diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..e43b0f98
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.DS_Store
diff --git a/INSTRUCTIONS-pandoc-ebooks.md b/INSTRUCTIONS-pandoc-ebooks.md
new file mode 100644
index 00000000..93be16b9
--- /dev/null
+++ b/INSTRUCTIONS-pandoc-ebooks.md
@@ -0,0 +1,13 @@
+Kindlegen requires title and author metadata. To generate a mobi file from
+a pandoc ebook, first generate an epub file using the metadata.xml file
+included:
+
+```
+pandoc -f markdown -t epub --epub-metadata=metadata.xml -o backbone-fundamentals.epub index.md
+```
+
+then use the kindlegen tool to make a mobi from that epub:
+
+```
+kindlegen backbone-fundamentals.epub
+```
diff --git a/Makefile b/Makefile
new file mode 100644
index 00000000..b8830a3d
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,53 @@
+include_dir=build
+source=chapters/*.md
+title='Developing Backbone.js Applications'
+filename='backbone-fundamentals'
+
+
+all: html epub rtf pdf mobi
+
+markdown:
+ awk 'FNR==1{print ""}{print}' $(source) > $(filename).md
+
+html: markdown
+ pandoc -s $(filename).md -t html5 -o index.html -c style.css \
+ --include-in-header $(include_dir)/head.html \
+ --include-before-body $(include_dir)/author.html \
+ --include-before-body $(include_dir)/share.html \
+ --include-after-body $(include_dir)/stats.html \
+ --title-prefix $(title) \
+ --normalize \
+ --smart \
+ --toc
+
+epub: markdown
+ pandoc -s $(filename).md --normalize --smart -t epub -o $(filename).epub \
+ --epub-metadata $(include_dir)/metadata.xml \
+ --epub-stylesheet epub.css \
+ --epub-cover-image img/cover.jpg \
+ --title-prefix $(title) \
+ --normalize \
+ --smart \
+ --toc
+
+rtf: markdown
+ pandoc -s $(filename).md -o $(filename).rtf \
+ --title-prefix $(title) \
+ --normalize \
+ --smart
+
+pdf: markdown
+ # You need `pdflatex`
+ # OS X: http://www.tug.org/mactex/
+ # Then find its path: find /usr/ -name "pdflatex"
+ # Then symlink it: ln -s /path/to/pdflatex /usr/local/bin
+ pandoc -s $(filename).md -o $(filename).pdf \
+ --title-prefix $(title) \
+ --normalize \
+ --smart \
+ --toc
+
+mobi: epub
+ # Download: http://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000765211
+ # Symlink bin: ln -s /path/to/kindlegen /usr/local/bin
+ kindlegen $(filename).epub
diff --git a/README.md b/README.md
index b1b0461c..7f66b7c9 100644
--- a/README.md
+++ b/README.md
@@ -1,3211 +1,30 @@
-#Backbone.js Fundamentals:
-How to write modular JavaScript apps for desktop and mobile
+# Developing Backbone.js Applications
-A work-in-progress book by [Addy Osmani](http://twitter.com/addyosmani) released for free under a [CC](http://creativecommons.org/licenses/by-nc-sa/3.0/)-license. My extended thanks to [these](https://github.com/addyosmani/backbone-fundamentals/contributors) members of the community for their assistance tweaking the project.
+## About
-##Index
+This is the home of [Developing Backbone.js Applications](http://shop.oreilly.com/product/0636920025344.do), an (in-progress) book about the
+Backbone.js library for structuring JavaScript applications. It is released under a
+Creative Commons Attribution-Noncommercial- No Derivative Works 3.0 United States License and is currently available for early purchase via O'Reilly if you would like to support the project.
-* [Introduction](#introduction)
+We appreciate any and all efforts to help improve the book. If you would like to submit pull requests, please feel free to apply them against `index.md`. These can be previewed by running the build script via `make`, which will also generate updated versions of the other formats we support.
-* ####[The Basics](#thebasics)
-* Models
-* Views
-* Collections
-* Routers
-* Namespacing
-* Additional tips
+## Reviews
-* ####[Advanced](#advanced)
-* [Building RESTful applications with Backbone](#restful)
-* Stack 1: Using Node.js, Express, Mongoose and MongoDB
-* [Modular JavaScript](#modularjs)
-* Organizing modules with RequireJS and AMD
-* Keeping your templates external with the RequireJS text plugin
-* Optimizing Backbone apps for production with the RequireJS Optimizer
-* Practical: Building a modular Backbone app with AMD & RequireJS
-* Decoupling Backbone with the Mediator and Facade patterns
-* Backbone & jQuery Mobile
-* Practical: Building a modular mobile app with Backbone & jQuery Mobile
+If you are interested in leaving a review to let others know what you thoughts of the book this can be done through [O'Reilly](http://shop.oreilly.com/product/0636920025344/ReviewSubmit.do?sortby=publicationDate?pageId=0636920025344.IP).
-* ####[Testing](#testing)
-* Unit Testing Backbone Applications With Jasmine
-* An Introduction to Jasmine
-* Testing Models
-* Testing Collections
-* Testing Views
+## Building
+You can build the book using `make` or `make -f Makefile`. This will output the HTML, ePub, PDF and RTF versions of the book.
-* ####[Resources](#resources)
+### Dependencies
+* Make
+* [Pandoc](https://github.com/jgm/pandoc)
+* pdflatex (and recommended latex fonts)
-##Introduction
-
-In this mini-book, I'll be covering a complete run-down of Backbone.js; including models, views, collections and routers. I'll also be taking you through advanced topics like modular development with Backbone.js and AMD (with RequireJS), how to solve the routing problems with Backbone and jQuery Mobile, tips about scaffolding tools that can save time setting up your initial application and more.
-
-If this is your first time looking at Backbone.js and you're still unsure whether or not to give it a try, why not take a look at how [a Todo application](http://github.com/addyosmani/todomvc) might be implemented in Backbone and most of the other alternatives before reading further?
-
-The goal of this mini-book is to create a free, centralized repository of information that can help those developing real-world apps with Backbone. If you come across a section or topic which you think could be improved or expanded on, please feel free to submit a pull-request. It won't take long and you'll be helping other developers avoid problems you've run into before.
-
-##The Basics
-
-###What is Backbone?
-
-Backbone.js is one of a number of JavaScript frameworks for creating MVC-like web applications. On the front-end, it's my architectural framework of choice as it's both mature, relatively lightweight and can be easily tested using third-party toolkits such as Jasmine or QUnit. Other MVC options you may be familiar with include Ember.js (SproutCore 2.0), Spine, YUILibrary and JavaScriptMVC.
-
-Backbone is maintained by a number of contributors, most notably: Jeremy Ashkenas, creator of CoffeeScript, Docco and Underscore.js. As Jeremy is a believer in detailed documentation, there's a level of comfort in knowing you're unlikely to run into issues which are either not explained in the official docs or which can't be nailed down with some assistance from the #documentcloud IRC channel. I strongly recommend using the latter if you find yourself getting stuck.
-
-###Why should you consider using it?
-
-Backbone's main benefits, regardless of your target platform or device, include helping:
-
-* Organize the structure to your application
-* Simplify server-side persistence
-* Decouple the DOM from your page's data
-* Model data, views and routers in a succinct manner
-* Provide DOM, model and collection synchronization
-
-In ways, the real question is why you should consider applying the MVC-pattern to your JavaScript projects and the one word answer is simply structure.
-
-If opting to use jQuery, Zepto or another querySelectorAll-based selection library to produce a non-trivial application it can become very easy to produce an unwieldy amount of code; that is - unless you have a plan for how you're going to structure and organize your application. Separating concerns into models, views and controllers (or routers) is one way of solving this.
-
-Remember that if you have experience with structuring applications using the MVVM (Model-View ViewModel) pattern, modules or otherwise, these are also equally as valid but do require you to know what you're doing. For most single-page applications, I find that the MVC pattern works well so Backbone is a perfect fit for our needs.
-
-##The Basics
-
-In this section, you'll learn the essentials about Backbone's models, views, collections and routers. Whilst this isn't meant as a replacement for the official documentation, it will help you understand many of the core concepts behind Backbone before we build mobile applications with it. I will also be covering some tips on effective namespacing.
-
-* Models
-* Collections
-* Routers
-* Views
-* Namespacing
-
-###Models
-
-Backbone models contain interactive data for an application as well as the logic around this data. For example, we can use a model to represent the concept of a photo object including its attributes like tags, titles and a location.
-
-Models are quite straight-forward to create and can be constructed by extending `Backbone.Model` as follows:
-
-```javascript
-var Photo = Backbone.Model.extend({
- defaults: {
- src: 'placeholder.jpg',
- title: 'an image placeholder',
- coordinates: [0,0]
- },
- initialize: function(){
- this.bind("change:src", function(){
- var src = this.get("src");
- console.log('Image source updated to ' + src);
- });
- },
- changeSrc: function( source ){
- this.set({ src: source });
- }
-});
-
-var somePhoto = new Photo({ src: "test.jpg", title:"testing"});
-somePhoto.changeSrc("magic.jpg"); // which triggers "change:src" and logs an update message to the console.
-
-```
-
-####Initialization
-
-The `initialize()` method is called when creating a new instance of a model. It's use is optional, however we'll be reviewing some reasons you may want to use it shortly.
-
-```javascript
-var Photo = Backbone.Model.extend({
- initialize: function(){
- console.log('this model has been initialized');
- }
-});
-
-/*We can then create our own instance of a photo as follows:*/
-var myPhoto = new Photo();
-```
-
-####Getters & Setters
-
-**Model.get()**
-
-`Model.get()` provides easy access to a model's attributes. Attributes which are passed through to the model on instantiation are instantly available for retrieval.
-
-```javascript
-var myPhoto = new Photo({ title: "My awesome photo",
- src:"boston.jpg",
- location: "Boston",
- tags:['the big game', 'vacation']}),
-
- title = myPhoto.get("title"), //my awesome photo
- location = myPhoto.get("location"), //Boston
- tags = myPhoto.get("tags"), // ['the big game','vacation']
- photoSrc = myPhoto.get("src"); //boston.jpg
-```
-
-Alternatively, if you wish to directly access all of the attributes in an model's instance directly, you can achieve this as follows:
-
-```javascript
-var myAttributes = myPhoto.attributes;
-console.log(myAttributes);
-```
-
-It is best practice to use `Model.set()` or direct instantiation to set the values of a model's attributes.
-
-Accessing `Model.attributes` directly is generally discouraged. Instead, should you need to read or clone data, `Model.toJSON()` is recommended for this purpose. If you would like to access or copy a model's attributes for purposes such as JSON stringification (e.g. for serialization prior to being passed to a view), this can be achieved using `Model.toJSON()`:
-
-```javascript
-var myAttributes = myPhoto.toJSON();
-console.log(myAttributes);
-/* this returns { title: "My awesome photo",
- src:"boston.jpg",
- location: "Boston",
- tags:['the big game', 'vacation']}*/
-```
-
-####Model.set()
-
-`Model.set()` allows us to pass attributes into an instance of our model. Attributes can either be set during initialization or later on.
-
-```javascript
-var Photo = Backbone.Model.extend({
- initialize: function(){
- console.log('this model has been initialized');
- }
-});
-
-/*Setting the value of attributes via instantiation*/
-var myPhoto = new Photo({ title: 'My awesome photo', location: 'Boston' });
-
-var myPhoto2 = new Photo();
-
-/*Setting the value of attributes through Model.set()*/
-myPhoto2.set({ title:'Vacation in Florida', location: 'Florida' });
-```
-
-**Default values**
-
-There are times when you want your model to have a set of default values (e.g. in a scenario where a complete set of data isn't provided by the user). This can be set using a property called `defaults` in your model.
-
-```javascript
-var Photo = Backbone.Model.extend({
- defaults:{
- title: 'Another photo!',
- tags: ['untagged'],
- location: 'home',
- src: 'placeholder.jpg'
- },
- initialize: function(){
- }
-});
-
-var myPhoto = new Photo({ location: "Boston",
- tags:['the big game', 'vacation']}),
- title = myPhoto.get("title"), //Another photo!
- location = myPhoto.get("location"), //Boston
- tags = myPhoto.get("tags"), // ['the big game','vacation']
- photoSrc = myPhoto.get("src"); //placeholder.jpg
-```
-
-**Listening for changes to your model**
-
-Any and all of the attributes in a Backbone model can have listeners bound to them which detect when their values change. This can be easily added to the `initialize()` function as follows:
-
-```javascript
-this.bind('change', function(){
- console.log('values for this model have changed');
-});
-```
-
-In the following example, we can also log a message whenever a specific attribute (the title of our Photo model) is altered.
-
-```javascript
-var Photo = Backbone.Model.extend({
- defaults:{
- title: 'Another photo!',
- tags: ['untagged'],
- location: 'home',
- src: 'placeholder.jpg'
- },
- initialize: function(){
- console.log('this model has been initialized');
- this.bind("change:title", function(){
- var title = this.get("title");
- console.log("My title has been changed to.." + title);
- });
- },
-
- setTitle: function(newTitle){
- this.set({ title: newTitle });
- }
-});
-
-var myPhoto = new Photo({ title:"Fishing at the lake", src:"fishing.jpg")});
-myPhoto.setTitle('Fishing at sea');
-//logs my title has been changed to.. Fishing at sea
-```
-
-**Validation**
-
-Backbone supports model validation through `Model.validate()`, which allows checking the attribute values for a model prior to them being set.
-
-It supports including as complex or terse validation rules against attributes and is quite straight-forward to use. If the attributes provided are valid, nothing should be returned from `.validate()`, however if they are invalid a custom error can be returned instead.
-
-A basic example for validation can be seen below:
-
-```javascript
-var Photo = Backbone.Model.extend({
- validate: function(attribs){
- if(attribs.src === undefined){
- return "Remember to set a source for your image!";
- }
- },
-
- initialize: function(){
- console.log('this model has been initialized');
- this.bind("error", function(model, error){
- console.log(error);
- });
- }
-});
-
-var myPhoto = new Photo();
-myPhoto.set({ title: "On the beach" });
-```
-
-
-
-###Views
-
-Views in Backbone don't contain the markup for your application, but rather they are there to support models by defining how they should be visually represented to the user. This is usually achieved using JavaScript templating (e.g. Mustache, jQuery tmpl etc). When a model updates, rather than the entire page needing to be refreshed, we can simply bind a view's `render()` function to a model's `change()` event, allowing the view to always be up to date.
-
-####Creating new views
-
-Similar to the previous sections, creating a new view is relatively straight-forward. We simply extend `Backbone.View`. Here's an example of a possible implementation of this, which I'll explain shortly:
-
-```javascript
-var PhotoSearch = Backbone.View.extend({
- el: $('#results'),
- render: function( event ){
- var compiled_template = _.template( $("#results-template").html() );
- this.el.html( compiled_template(this.model.toJSON()) );
- return this; //recommended as this enables calls to be chained.
- },
- events: {
- "submit #searchForm": "search",
- "click .reset": "reset",
- "click .advanced": "switchContext"
- },
- search: function( event ){
- //executed when a form '#searchForm' has been submitted
- },
- reset: function( event ){
- //executed when an element with class "reset" has been clicked.
- },
- //etc
-});
-```
-
-####What is `el`?
-
-`el` is basically a reference to a DOM element and all views must have one, however Backbone allows you to specify this in four different ways. You can either directly use an `id`, a `tagName`, `className` or if you don't state anything `el` will simply default to a plain div element without any id or class. Here are some quick examples of how these may be used:
-
-```javascript
-el: $('#results') //select based on an ID or other valid jQuery selector.
-tagName: 'li' //select based on a specific tag. Here el itself will be derived from the tagName
-className: 'items' //similar to the above, this will also result in el being derived from it
-el: '' //defaults to a div without an id, name or class.
-```
-
-**Note:** A combination of these methods can also be used to define `el`. For example:
-
-```javascript
-tagName: "li",
-className: "container"
-```
-will use specific tags with a particular `className`.
-
-
-**Understanding `render()`**
-
-`render()` is an optional function to define how you would like a template to be rendered. Backbone allows you to use any JavaScript templating solution of your choice for this but for the purposes of this book, we'll opt for Underscore's micro-templating.
-
-The `_.template` method in underscore compiles JavaScript templates into functions which can be evaluated for rendering. In the above view, I'm passing the markup from a template with id `results-template` to be compiled. Next, I set the html for `el` (our DOM element for this view) the output of processing a JSON version of the model associated with the view through the compiled template.
-
-Presto! This populates the template, giving you a data-complete set of markup in just a few short lines of code.
-
-**The `events` attribute**
-
-The Backbone `events` attribute allows us to attach event listeners to either custom selectors, or `el` if no selector is provided. An event takes the form `{"eventName selector": "callbackFunction"}` and a number of event-types are supported, including 'click', 'submit', 'mouseover', 'dblclick' and more.
-
-What isn't instantly obvious is that under the bonnet, Backbone uses jQuery's `.delegate()` to provide instant support for event delegation but goes a little further, extending it so that `this` always refers to the current view object. The only thing to really keep in mind is that any string callback supplied to the events attribute must have a corresponding function with the same name within the scope of your view otherwise you may incur exceptions.
-
-###Collections
-
-Collections are basically sets of models and can be easily created by extending `Backbone.Collection`.
-
-Normally, when creating a collection you'll also want to pass through a property specifying the model that your collection will contain as well as any instance properties required.
-
-In the following example, we're creating a PhotoCollection containing the Photo models we previously defined.
-
-```javascript
-var PhotoCollection = Backbone.Collection.extend({
- model: Photo
-});
-```
-
-**Getters and Setters**
-
-There are a few different options for retrieving a model from a collection. The most straight-forward is using `Collection.get()` which accepts a single id as follows:
-
-```javascript
-var skiingEpicness = PhotoCollection.get(2);
-```
-
-Sometimes you may also want to get a model based on something called the client id. This is an id that is internally assigned automatically when creating models that have not yet been saved, should you need to reference them. You can find out what a model's client id is by accessing its `.cid` property.
-
-```javascript
-var mySkiingCrash = PhotoCollection.getByCid(456);
-```
-
-Backbone Collections don't have setters as such, but do support adding new models via `.add()` and removing models via `.remove()`.
-
-```javascript
-var a = new Backbone.Model({ title: 'my vacation'}),
- b = new Backbone.Model({ title: 'my holiday'});
-
-var photoCollection = new PhotoCollection([a,b]);
-photoCollection.remove([a,b]);
-```
-
-**Listening for events**
-
-As collections represent a group of items, we're also able to listen for `add` and `remove` events for when new models are added or removed from the collection. Here's an example:
-
-```javascript
-var PhotoCollection = new Backbone.Collection();
-PhotoCollection.bind("add", function(photo) {
- console.log("I liked " + photo.get("title") + ' its this one, right? ' + photo.get("src"));
-});
-
-PhotoCollection.add([
- {title: "My trip to Bali", src: "bali-trip.jpg"},
- {title: "The flight home", src: "long-flight-oofta.jpg"},
- {title: "Uploading pix", src: "too-many-pics.jpg"}
-]);
-```
-
-In addition, we're able to bind a `change` event to listen for changes to models in the collection.
-
-```javascript
-PhotoCollection.bind("change:title", function(){
- console.log('there have been updates made to this collections titles');
-});
-```
-
-**Fetching models from the server**
-
-`Collections.fetch()` provides you with a simple way to fetch a default set of models from the server in the form of a JSON array. When this data returns, the current collection will refresh.
-
-```javascript
-var PhotoCollection = new Backbone.Collection;
-PhotoCollection.url = '/photos';
-PhotoCollection.fetch();
-```
-
-Under the covers, `Backbone.sync` is the function called every time Backbone tries to read (or save) models to the server. It uses jQuery or Zepto's ajax implementations to make these RESTful requests, however this can be overridden as per your needs.
-
-In the above fetch example if we wish to log an event when `.sync()` gets called, we can simply achieve this as follows:
-
-```javascript
-Backbone.sync = function(method, model) {
- console.log("I've been passed " + method + " with " + JSON.stringify(model));
-};
-```
-
-**Resetting/Refreshing Collections**
-
-Rather than adding or removing models individually, you occasionally wish to update an entire collection at once. `Collection.reset()` allows us to replace an entire collection with new models as follows:
-
-```javascript
-PhotoCollection.reset([
- {title: "My trip to Scotland", src: "scotland-trip.jpg"},
- {title: "The flight from Scotland", src: "long-flight.jpg"},
- {title: "Latest snap of lock-ness", src: "lockness.jpg"}]);
-```
-
-###Underscore utility functions
-
-As Backbone requires Underscore as a hard dependency, we're able to use many of the utilities it has to offer to aid with our application development. Here's an example of how Underscore's `sortBy()` method can be used to sort a collection of photos based on a particular attribute.
-
-```javascript
-var sortedByAlphabet = PhotoCollection.sortBy(function(photo)){
- return photo.get("title").toLowerCase();
-});
-```
-The complete list of what it can do is beyond the scope of this guide, but can be found in the official docs.
-
-###Routers
-
-In Backbone, routers are used to handle routing for your application. This is achieved using hash-tags with URL fragments which you can read more about if you wish. Some examples of valid routes may be seen below:
-
-```javascript
-http://unicorns.com/#/whatsup
-http://unicorns.com/#/search/seasonal-horns/page2
-```
-
-Note: A router will usually have at least one URL route defined as well as a function that maps what happens when you reach that particular route. This type of key/value pair may resemble:
-
-```javascript
-"/route" : "mappedFunction"
-```
-
-Let us now define our first controller by extending `Backbone.Router`. For the purposes of this guide, we're going to continue pretending we're creating a photo gallery application that requires a GalleryRouter.
-
-Note the inline comments in the code example below as they continue the rest of the lesson on routers.
-
-```javascript
-var GalleryRouter = Backbone.Router.extend({
- /* define the route and function maps for this router */
- routes:{
- "/about" : "showAbout",
- /*Sample usage: http://unicorns.com/#/about"*/
-
- "/photos/:id" : "getPhoto",
- /*This is an example of using a ":param" variable which allows us to match
- any of the components between two URL slashes*/
- /*Sample usage: http://unicorns.com/#/photos/5*/
-
- "/search/:query" : "searchPhotos"
- /*We can also define multiple routes that are bound to the same map function,
- in this case searchPhotos(). Note below how we're optionally passing in a
- reference to a page number if one is supplied*/
- /*Sample usage: http://unicorns.com/#/search/lolcats*/
-
- "/search/:query/p:page" : "searchPhotos",
- /*As we can see, URLs may contain as many ":param"s as we wish*/
- /*Sample usage: http://unicorns.com/#/search/lolcats/p1*/
-
- "/photos/:id/download/*imagePath" : "downloadPhoto",
- /*This is an example of using a *splat. splats are able to match any number of
- URL components and can be combined with ":param"s*/
- /*Sample usage: http://unicorns.com/#/photos/5/download/files/lolcat-car.jpg*/
-
- /*If you wish to use splats for anything beyond default routing, it's probably a good
- idea to leave them at the end of a URL otherwise you may need to apply regular
- expression parsing on your fragment*/
-
- "*other" : "defaultRoute"
- //This is a default route with that also uses a *splat. Consider the
- //default route a wildcard for URLs that are either not matched or where
- //the user has incorrectly typed in a route path manually
- /*Sample usage: http://unicorns.com/#/anything*/
-
- },
-
- showAbout: function(){
- },
-
- getPhoto: function(id){
- /*
- in this case, the id matched in the above route will be passed through
- to our function getPhoto and we can then use this as we please.
- */
- console.log("You are trying to reach photo " + id);
- },
-
- searchPhotos: function(query, page){
- console.log("Page number: " + page + " of the results for " + query);
- },
-
- downloadPhoto: function(id, path){
- },
-
- defaultRoute(other){
- console.log("Invalid. You attempted to reach:" + other);
- }
-});
-
-/* Now that we have a router setup, remember to instantiate it*/
-
-var myGalleryRouter = new GalleryRouter();
-```
-
-Note: In Backbone 0.5+, it's possible to opt-in for HTML5 pushState support via `window.history.pushState`. This effectively permits non-hashtag routes such as http://www.scriptjunkie.com/just/an/example to be supported with automatic degradation should your browser not support it. For the purposes of this tutorial, we won't be relying on this newer functionality as there have been reports about issues with it under iOS/Mobile Safari. Backbone's hash-based routes should however suffice for our needs.
-
-####Backbone.history
-
-Next, we need to initialize `Backbone.history` as it handles `hashchange` events in our application. This will automatically handle routes that have been defined and trigger callbacks when they've been accessed.
-
-The `Backbone.history.start()` method will simply tell Backbone that it's OK to begin monitoring all `hashchange` events as follows:
-
-```javascript
-Backbone.history.start();
-Router.navigate();
-```
-
-As an aside, if you would like to save application state to the URL at a particular point you can use the `.navigate()` method to achieve this. It simply updates your URL fragment without the need to trigger the `hashchange` event.
-
-```javascript
-/*Lets imagine we would like a specific fragment for when a user zooms into a photo*/
-zoomPhoto: function(factor){
- this.zoom(factor); //imagine this zooms into the image
- this.navigate("zoom/" + factor); //updates the fragment for us, but doesn't trigger the route
-}
-```
-
-It is also possible for `Router.navigate()` to trigger the route aswell as updating the URL fragment.
-
-```javascript
-zoomPhoto: function(factor){
- this.zoom(factor); //imagine this zooms into the image
- this.navigate("zoom/" + factor, true); //updates the fragment for us and triggers the route
-}
-```
-
-###Namespacing
-
-When learning how to use Backbone, an important and commonly overlooked area by tutorials is namespacing. If you already have experience with namespacing in JavaScript, the following section will provide some advice on how to specifically apply concepts you know to Backbone, however I will also be covering explanations for beginners to ensure everyone is on the same page.
-
-####What is namespacing?
-
-The basic idea around namespacing is to avoid collisions with other objects or variables in the global namespace. They're important as it's best to safeguard your code from breaking in the event of another script on the page using the same variable names as you are. As a good 'citizen' of the global namespace, it's also imperative that you do your best to similarly not prevent other developer's scripts executing due to the same issues.
-
-JavaScript doesn't really have built-in support for namespaces like other languages, however it does have closures which can be used to achieve a similar effect.
-
-In this section we'll be taking a look shortly at some examples of how you can namespace your models, views, routers and other components specifically. The patterns we'll be examining are:
-
-* Single global variables
-* Object Literals
-* Nested namespacing
-
-**Single global variables**
-
-One popular pattern for namespacing in JavaScript is opting for a single global variable as your primary object of reference. A skeleton implementation of this where we return an object with functions and properties can be found below:
-
-```javascript
-var myApplication = (function(){
- function(){
- // ...
- },
- return {
- // ...
- }
-})();
-```
-
-which you're likely to have seen before. A Backbone-specific example which may be more useful is:
-
-```javascript
-var myViews = (function(){
- return {
- PhotoView: Backbone.View.extend({ .. }),
- GalleryView: Backbone.View.extend({ .. }),
- AboutView: Backbone.View.extend({ .. });
- //etc.
- };
-})();
-```
-
-Here we can return a set of views or even an entire collection of models, views and routers depending on how you decide to structure your application. Although this works for certain situations, the biggest challenge with the single global variable pattern is ensuring that no one else has used the same global variable name as you have in the page.
-
-One solution to this problem, as mentioned by Peter Michaux, is to use prefix namespacing. It's a simple concept at heart, but the idea is you select a basic prefix namespace you wish to use (in this example, `myApplication_`) and then define any methods, variables or other objects after the prefix.
-
-```javascript
-var myApplication_photoView = Backbone.View.extend({}),
-myApplication_galleryView = Backbone.View.extend({});
-```
-
-This is effective from the perspective of trying to lower the chances of a particular variable existing in the global scope, but remember that a uniquely named object can have the same effect. This aside, the biggest issue with the pattern is that it can result in a large number of global objects once your application starts to grow.
-
-For more on Peter's views about the single global variable pattern, read his [excellent post on them](http://michaux.ca/articles/javascript-namespacing).
-
-Note: There are several other variations on the single global variable pattern out in the wild, however having reviewed quite a few, I felt these applied best to Backbone.
-
-**Object Literals**
-
-Object Literals have the advantage of not polluting the global namespace but assist in organizing code and parameters logically. They're beneficial if you wish to create easily-readable structures that can be expanded to support deep nesting. Unlike simple global variables, Object Literals often also take into account tests for the existence of a variable by the same name so the chances of collision occurring are significantly reduced.
-
-The code at the very top of the next sample demonstrates the different ways in which you can check to see if a namespace already exists before defining it. I commonly use Option 3.
-
-```javascript
-/*Doesn't check for existence of myApplication*/
-var myApplication = {};
-
-/*
-Does check for existence. If already defined, we use that instance.
-Option 1: if(!MyApplication) MyApplication = {};
-Option 2: var myApplication = myApplication = myApplication || {}
-Option 3: var myApplication = myApplication || {};
-We can then populate our object literal to support models, views and collections (or any data, really):
-*/
-
-var myApplication = {
- models : {},
- views : {
- pages : {}
- },
- collections : {}
-};
-```
-
-One can also opt for adding properties directly to the namespace (such as your views, in the following example):
-
-```javascript
-var myGalleryViews = myGalleryViews || {};
-myGalleryViews.photoView = Backbone.View.extend({});
-myGalleryViews.galleryView = Backbone.View.extend({});
-```
-
-The benefit of this pattern is that you're able to easily encapsulate all of your models, views, routers etc. in a way that clearly separates them and provides a solid foundation for extending your code.
-
-This pattern has a number of useful applications. It's often of benefit to decouple the default configuration for your application into a single area that can be easily modified without the need to search through your entire codebase just to alter them - Object Literals work great for this purpose. Here's an example of a hypothetical Object Literal for configuration:
-
-```javascript
-var myConfig = {
- language: 'english',
- defaults: {
- enableGeolocation: true,
- enableSharing: false,
- maxPhotos: 20
- },
- theme: {
- skin: 'a',
- toolbars: {
- index: 'ui-navigation-toolbar',
- pages: 'ui-custom-toolbar'
- }
- }
-}
-```
-
-Note that there are really only minor syntactical differences between the Object Literal pattern and a standard JSON data set. If for any reason you wish to use JSON for storing your configurations instead (e.g. for simpler storage when sending to the back-end), feel free to.
-
-For more on the Object Literal pattern, I recommend reading Rebecca Murphey's [excellent article on the topic](http://blog.rebeccamurphey.com/2009/10/15/using-objects-to-organize-your-code).
-
-**Nested namespacing**
-
-An extension of the Object Literal pattern is nested namespacing. It's another common pattern used that offers a lower risk of collision due to the fact that even if a namespace already exists, it's unlikely the same nested children do.
-
-Does this look familiar?
-
-```javascript
-YAHOO.util.Dom.getElementsByClassName('test');
-```
-
-Yahoo's YUI uses the nested object namespacing pattern regularly and even DocumentCloud (the creators of Backbone) use the nested namespacing pattern in their main applications. A sample implementation of nested namespacing with Backbone may look like this:
-
-```javascript
-var galleryApp = galleryApp || {};
-
-/*perform similar check for nested children*/
-galleryApp.routers = galleryApp.routers || {};
-galleryApp.model = galleryApp.model || {};
-galleryApp.model.special = galleryApp.model.special || {};
-
-/*routers*/
-galleryApp.routers.Workspace = Backbone.Router.extend({});
-galleryApp.routers.PhotoSearch = Backbone.Router.extend({});
-
-/*models*/
-galleryApp.model.Photo = Backbone.Model.extend({});
-galleryApp.model.Comment = Backbone.Model.extend({});
-
-/*special models*/
-galleryApp.model.special.Admin = Backbone.Model.extend({});
-```
-
-This is both readable, organized and is a relatively safe way of namespacing your Backbone application in a similar fashion to what you may be used to in other languages.
-
-The only real caveat however is that it requires your browser's JavaScript engine first locating the galleryApp object and then digging down until it gets to the function you actually wish to use.
-
-This can mean an increased amount of work to perform lookups, however developers such as Juriy Zaytsev (kangax) have previously tested and found the performance differences between single object namespacing vs the 'nested' approach to be quite negligible.
-
-**Recommendation**
-
-Reviewing the namespace patterns above, the option that I would personally use with Backbone is nested object namespacing with the object literal pattern.
-
-Single global variables may work fine for applications that are relatively trivial, however, larger codebases requiring both namespaces and deep sub-namespaces require a succinct solution that promotes readability and scales. I feel this pattern achieves all of these objectives well and is a perfect companion for Backbone development.
-
-###Additional Tips
-
-####Automated Backbone Scaffolding
-
-Scaffolding can assist in expediting how quickly you can begin a new application by creating the basic files required for a project automatically. If you enjoy the idea of automated MVC scaffolding using Backbone, I'm happy to recommend checking out a tool called Brunch.
-
-It works very well with Backbone, Underscore, jQuery and CoffeeScript and is even used by companies such as Red Bull and Jim Bean. You may have to update any third party dependencies (e.g. latest jQuery or Zepto) when using it, but other than that it should be fairly stable to use right out of the box.
-
-Brunch can easily be installed via the nodejs package manager and takes just little to no time to get started with. If you happen to use Vim or Textmate as your editor of choice, you may be happy to know that there are also Brunch bundles available for both.
-
-####Clarifications on Backbone's MVC
-
-As Thomas Davis has previously noted, Backbone.js's MVC is a loose interpretation of traditional MVC, something common to many client-side MVC solutions. Backbone's views are what could be considered a wrapper for templating solutions such as the Mustache.js and `Backbone.View` is the equivalent of a controller in traditional MVC. `Backbone.Model` is however the same as a classical 'model'.
-
-Whilst Backbone is not the only client-side MVC solution that could use some improvements in it's naming conventions, `Backbone.Controller` was probably the most central source of some confusion but has been renamed a router in more recent versions. This won't prevent you from using Backbone effectively, however this is being pointed out just to help avoid any confusion if for any reason you opt to use an older version of the framework.
-
-The official Backbone docs do attempt to clarify that their routers aren't really the C in MVC, but it's important to understand where these fit rather than considering client-side MVC a 1:1 equivalent to the pattern you've probably seen in server-side development.
-
-####Is there a limit to the number of routers I should be using?
-
-Andrew de Andrade has pointed out that DocumentCloud themselves usually only use a single controller in most of their applications. You're very likely to not require more than one or two routers in your own projects as the majority of your application routing can be kept organized in a single controller without it getting unwieldy.
-
-####Is Backbone too small for my application's needs?
-
-If you find yourself unsure of whether or not your application is too large to use Backbone, I recommend reading my post on building large-scale jQuery & JavaScript applications or reviewing my slides on client-side MVC architecture options. In both, I cover alternative solutions and my thoughts on the suitability of current MVC solutions for scaled application development.
-
-Backbone can be used for building both trivial and complex applications as demonstrated by the many examples Ashkenas has been referencing in the Backbone documentation. As with any MVC framework however, it's important to dedicate time towards planning out what models and views your application really needs. Diving straight into development without doing this can result in either spaghetti code or a large refactor later on and it's best to avoid this where possible.
-
-At the end of the day, the key to building large applications is not to build large applications in the first place. If you however find Backbone doesn't cut it for your requirements I strongly recommend checking out JavaScriptMVC or SproutCore as these both offer a little more than Backbone out of the box. Dojo and Dojo Mobile may also be of interest as these have also been used to build significantly complex apps by other developers.
-
-
-##Advanced
-
-##Building RESTful applications with Backbone
-
-In this section of the book, we're going to take a look at developing RESTful applications using Backbone.js and modern technology stacks. When the data for your back-end is exposed through a purely RESTful API, tasks such as retrieving (GET), creating (POST), updating (PUT) and deleting (DELETE) models are made easy through Backbone's Model API. This API is so intuitive in fact that switching from storing records in a local data-store (e.g localStorage) to a database/noSQL data-store is a lot simpler than you may think.
-
-
-##Stack 1: Using Node.js, Express, Mongoose and MongoDB
-
-The first stack we'll be looking at is:
-
-* [Node.js](nodejs.org)
-* [Express](http://expressjs.com/)
-* [Mongoose](http://mongoosejs.com/)
-* and [MongoDB](http://www.mongodb.org/)
-
-with [Jade](http://jade-lang.com/) used optionally as a view/templating engine.
-
-###Reviewing the stack
-
-As you may know, node.js is an event-driven platform (built on the [V8](http://code.google.com/apis/v8/design.html) runtime), designed for writing fast, scalable network applications. It's reasonably lightweight, efficient and great for real-time applications that are data-intensive.
-
-Express is a small web-development framework written with node.js, based on [Sinatra](http://www.sinatrarb.com/). It supports a number of useful features such as intuitive views, robust routing and a focus on high performance.
-
-Next on the list are MongoDB and Mongoose. MongoDB is an open-source, document-oriented database store designed with scalability and agility in mind. As a [noSQL](http://en.wikipedia.org/wiki/NoSQL) database, rather than storing data in tables and rows (something we're very used to doing with relational databases), with MongoDB we instead store JSON-like documents using dynamic schemas. One of the goals of Mongo is to try bridging the gap between key-value stores (speed, scalability) and [relational](http://en.wikipedia.org/wiki/Relational_database) databases (rich functionality).
-
-Mongoose is a JavaScript library that simplifies how we interact with Mongo. Like Express, it's designed to work within the node.js environment and tries to solve some of the complexities with asynchronous data storage by offering a more user-friendly API. It also adds chaining features into the mix, allowing for a slightly more expressive way of dealing with our data.
-
-Jade is a template engine influenced by Haml (which we'll be looking at later). It's implemented with JavaScript (and also runs under node). In addition to supporting Express out of the box, it boasts a number of useful features including support for mixins, includes, caching, template inheritance and much more. Whilst abstractions like Jade certainly aren't for everyone, our practical will cover working both with and without it.
-
-
-###Practical
-
-For this practical, we're going to once again look at extending the popular Backbone Todo application. Rather than relying on localStorage for data persistance, we're going to switch to storing Todos in a MongoDB document-store instead. The code for this practical can be found at: https://github.com/addyosmani/backbone-boilerplates/tree/master/option2
-
-
-**app.js**
-
-(See [here](https://github.com/addyosmani/backbone-boilerplates/blob/master/option2/app.js) for the source)
-
-We must first include the node dependencies required by our application. These are Express, Mongoose and Path (a module containing utilities for dealing with file paths.
-
-```javascript
-var application_root = __dirname,
- express = require("express"),
- path = require("path"),
- mongoose = require('mongoose');
-```
-
-Next, create a new Express server. `express.createServer()` is a simple way of creating an instance of express.HTTPServer, which we'll be using to pass in our routes.
-
-```javascript
-var app = express.createServer();
-```
-
-After this, connect Mongoose up to a database (in our case, localhost should suffice). Should you require the ability to pass in authentication information, here's a sample containing all of the supported URL parameters: `mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]`
-
-```javascript
-mongoose.connect('mongodb://localhost/my_database');
-```
-
-A Mongoose model for any Todo item can now be easily defined by passing a schema instance to `mongoose.model`. In our case the schema covers a Todo item's `text` content, its `done` state and `order` position in the overall Todo list.
-
-```javascript
-var Todo = mongoose.model('Todo', new mongoose.Schema({
- text: String,
- done: Boolean,
- order: Number
-}));
-```
-
-The `configure()` methods allows us to setup what we need for the current environment with our Express server. Note that lower down in the configuration are two view/view related lines. The last one explicitly sets the viewing/templating engine to be used as Jade `app.set('view engine', 'jade')`. We can avoid these if we wish to use plain HTML/JS for our templates instead.
-
-```javascript
-app.configure(function(){
- // the bodyParser middleware parses JSON request bodies
- app.use(express.bodyParser());
- app.use(express.methodOverride());
- app.use(app.router);
- app.use(express.static(path.join(application_root, "public")));
- app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
- app.set('views', path.join(application_root, "views"));
- app.set('view engine', 'jade')
-});
-
-```
-
-Should you prefer to switch out Jade for an alternative view engine, this can be done fairly trivially. See the section under 'Templating' here:
-https://github.com/joyent/node/wiki/modules. For example, to switch to EJS, you would simply write `app.set('view engine', 'ejs')`
-
-
-Express makes use of commong HTTP verbs (get, put, post etc.) to provide easy to use, expressive routing API based on CRUD (Create, Read, Update and Delete). Below for example, we can define what happens when the browser requests the root '/'. As a trivial route in this application, it doesn't do anything particularly exciting, however getters typically read or retrieve data.
-
-```javascript
-app.get('/', function(req, res){
- res.send('Hello World');
-});
-```
-
-Onto something a little more useful and in our next route, navigating to '/todo' will actually render our Jade view 'todo.jade', as seen in the callback. Additional configuration values can be passed as the second parameter, such as the custom title specified below.
-
-```javascript
-app.get('/todo', function(req, res){
- res.render('todo', {title: "Our sample application"});
-});
-```
-
-Next, we can see the first of our '/api/' routes.
-
-```javascript
-app.get('/api/todos', function(req, res){
- return Todo.find(function(err, todos) {
- return res.send(todos);
- });
-});
-```
-
-The calback to our next route supports querying for todos based on a specific ID. The route string itself (once compiled) will be converted from '/api/todos/:id' to a regular expression. As you might have guessed, this is a hint that routes can also be regular expression literals if we wished to do something more complex.
-
-```javascript
-app.get('/api/todos/:id', function(req, res){
- return Todo.findById(req.params.id, function(err, todo) {
- if (!err) {
- return res.send(todo);
- }
- });
-});
-```
-
-Simplarly, we want to support updating todos based on a specific ID as well. The following allows us to query a todo by ID and then update the values of it's three attributes (text, done, order) easily.
-
-```javascript
-app.put('/api/todos/:id', function(req, res){
- return Todo.findById(req.params.id, function(err, todo) {
- todo.text = req.body.text;
- todo.done = req.body.done;
- todo.order = req.body.order;
- return todo.save(function(err) {
- if (!err) {
- console.log("updated");
- }
- return res.send(todo);
- });
- });
-});
-```
-
-We've so far covered requesting todos and updating them, but a core part of the application requires us to insert (or add) new todos to our data-store. Below we can create new Todo models and simply save them.
-
-```javascript
-app.post('/api/todos', function(req, res){
- var todo;
- todo = new Todo({
- text: req.body.text,
- done: req.body.done,
- order: req.body.order
- });
- todo.save(function(err) {
- if (!err) {
- return console.log("created");
- }
- });
- return res.send(todo);
-});
-```
-
-We of course also want to support deleting todos (e.g if a todo has been 'cleared', it should be deleted). This also works based on a specific todo ID.
-
-```javascript
-app.delete('/api/todos/:id', function(req, res){
- return Todo.findById(req.params.id, function(err, todo) {
- return todo.remove(function(err) {
- if (!err) {
- console.log("removed");
- return res.send('')
- }
- });
- });
-});
-```
-
-Finally, this last line is to ensure we're only listening on the port app.js is running.
-
-```javascript
-app.listen(3000);
-```
-
-**script.js - updating our Backbone.js app**
-
-In the `/public/js` folder of options 1 (HTML templates) and 2 (Jade) for the practical, you'll find a version of the Backbone Todo app originally by Jerome Gravel-Niquet. Let's pay attention to [script.js](https://github.com/addyosmani/backbone-boilerplates/blob/master/option2/public/js/script.js). In order to change the application to work with our new back-end, we'll need to make some very minor changes to this.
-
-Reviewing `window.TodoList` (a Backbone Collection), you'll notice that it has a property called `localStorage`, which uses the Backbone [localStorage](https://github.com/jeromegn/Backbone.localStorage) adapter in order to facilitate storing data using the browser's localStorage features.
-
-```javascript
-window.TodoList = Backbone.Collection.extend({
-
- // Reference to this collection's model.
- model: Todo,
-
- // Save all of the todo items under the `"todos"` namespace.
- // Typically, this should be a unique name within your application
- localStorage: new Store("todos"),
-```
-
-In order to switch it over to our RESTful backend, we're going to make use of the `url` property or function on a collection to reference its location on the server. Models inside of a collection then use `url` to construct URLs of their own. As all of the CRUD for our RESTful API works on the base route '/api/todos', this is the value we set `url` to.
-
-```javascript
- // localStorage: new Store("todos"),
- url: '/api/todos',
-```
-
-This is the only change necessary to our existing Backbone application in order to get things working. Pretty easy, right?
-
-
-
-**todo.jade**
-
-The Jade templates for our application cover declarative markup for both the index (layout.jade) of the application and the main Todo container (todo.jade). It also covers the script-tag templates used for rendering each new Todo item that's added.
-
-
-
-
-**static.html**
-
-Alternatively, a static version of our index which doesn't rely on Jade can be put together as follows. See [here](https://github.com/addyosmani/backbone-boilerplates/blob/master/option1/public/static.html) for the complete file or below for a sample.
-
-
-
-
-### Practical Setup
-
-We've now gone through the major points of developing a RESTful backend using Node.js, Express and Mongoose. Next, let's make sure you can get your environment setup to run the updated Todo app.
-
-####MongoDB
-
-Once you've downloaded [MongoDB](http://www.mongodb.org/downloads), you'll need to complete two steps to get it up and running.
-
-**Data directories**
-
-MongoDB stores data in the bin/data/db folder but won't actually create this directory for you. Navigate to where you've downloaded and extracted MongoDB and run the following from terminal:
-
-
-
-**Running and connecting to your server**
-
-Once this is done, open up two terminal windows.
-
-In the first, `cd` to your MongoDB bin directory or type in the complete path to it. You'll need to start mongod`.
-
-
-$ ./bin/mongod
-
-
-Next, in the second terminal, start the `mongo
-$ ./bin/mongo
-
-
-That's it!.
-
-####Express and Mongoose
-
-Option 1 (HTML) and Option 2 (Jade) of the practical download both come with an install.sh bash script. This allows you to easily install Express, Mongoose, Jade (and optionally MongoDB if you prefer to) through npm (the node package manager).
-
-* Make sure you have Node.js installed. If not, you can grab it [here](http://nodejs.org/#download)
-* Next run `$ ./install.sh` at the terminal to install the rest of our dependencies. To see the exact contents of the install.sh file, see below:
-
-**install.sh**
-
-
-
-
-* After you've installed all of the dependencies for the stack, we can get to cloning the repo containing our practicals and running them. Start by running the below lines:
-
-
-
-For option1 (without Jade), simply cd into option1 and run `node app.js` from there.
-
-Finally, either of the example apps can now be accessed by navigating to:
-
-* Option 1: `http://localhost:3000/static.html`
-* Option 2: `http://localhost:3000/todo`
-
-That's it! Whilst there's a lot more than can be done to expand on the concepts covered so far, the base we're reviewed should be enough to get you up and running with this stack if you wish to use them with Backbone.
-
-In the next addition to this section (coming soon), we'll take a look at a stack consisting of Ruby, Sinatra, Haml and more.
-
-
-
-##Modular JavaScript
-
-When we say an application is modular, we generally mean it's composed of a set of highly decoupled, distinct pieces of functionality stored in modules. As you probably know, loose coupling facilitates easier maintainability of apps by removing dependencies where possible. When this is implemented efficiently, its quite easy to see how changes to one part of a system may affect another.
-
-Unlike some more traditional programming languages however, the current iteration of JavaScript (ECMA-262) doesn't provide developers with the means to import such modules of code in a clean, organized manner. It's one of the concerns with specifications that haven't required great thought until more recent years where the need for more organized JavaScript applications became apparent.
-
-Instead, developers at present are left to fall back on variations of the module or object literal patterns. With many of these, module scripts are strung together in the DOM with namespaces being described by a single global object where it's still possible to incur naming collisions in your architecture. There's also no clean way to handle dependency management without some manual effort or third party tools.
-
-Whilst native solutions to these problems will be arriving in ES Harmony, the good news is that writing modular JavaScript has never been easier and you can start doing it today.
-
-In this next part of the book, we're going to look at how to use AMD modules and RequireJS for cleanly wrapping units of code in your application into managable modules.
-
-
-##Organizing modules with RequireJS and AMD
-
-In case you haven't used it before, RequireJS is a popular script loader written by James Burke - a developer who has been quite instrumental in helping shape the AMD module format, which we'll discuss more shortly. Some of RequireJS's capabilities include helping to load multiple script files, helping define modules with or without dependencies and loading in non-script dependencies such as text files.
-
-So, why use RequireJS with Backbone? Although Backbone is excellent when it comes to providing a sanitary structure to your applications, there are a few key areas where some additional help could be used:
-
-1) Backbone doesn't endorse a particular approach to modular-development. Although this means it's quite open-ended for developers to opt for classical patterns like the module-pattern or Object Literals for structuring their apps (which both work fine), it also means developers aren't sure of what works best when other concerns come into play, such as dependency management.
-
-RequireJS is compatible with the AMD (Asynchronous Module Definition) format, a format which was born from a desire to write something better than the 'write lots of script tags with implicit dependencies and manage them manually' approach to development. In addition to allowing you to clearly declare dependencies, AMD works well in the browser, supports string IDs for dependencies, declaring multiple modules in the same file and gives you easy-to-use tools to avoid polluting the global namespace.
-
-2) Let's discuss dependency management a little more as it can actually be quite challenging to get right if you're doing it by hand. When we write modules in JavaScript, we ideally want to be able to handle the reuse of code units intelligently and sometimes this will mean pulling in other modules at run-time whilst at other times you may want to do this dynamically to avoid a large pay-load when the user first hits your application.
-
-Think about the GMail web-client for a moment. When users initially load up the page on their first visit, Google can simply hide widgets such as the chat module until a user has indicated (by clicking 'expand') that they wish to use it. Through dynamic dependency loading, Google could load up the chat module only then, rather than forcing all users to load it when the page first initializes. This can improve performance and load times and can definitely prove useful when building larger applications.
-
-I've previously written [a detailed article](http://addyosmani.com/writing-modular-js) covering both AMD and other module formats and script loaders in case you'd like to explore this topic further. The takeaway is that although it's perfectly fine to develop applications without a script loader or clean module format in place, it can be of significant benefit to consider using these tools in your application development.
-
-###Writing AMD modules with RequireJS
-
-As discussed above, the overall goal for the AMD format is to provide a solution for modular JavaScript that developers can use today. The two key concepts you need to be aware of when using it with a script-loader are a `define()` method for facilitating module definition and a `require()` method for handling dependency loading. `define()` is used to define named or unnamed modules based on the proposal using the following signature:
-
-```javascript
-define(
- module_id /*optional*/,
- [dependencies] /*optional*/,
- definition function /*function for instantiating the module or object*/
-);
-```
-
-As you can tell by the inline comments, the `module_id` is an optional argument which is typically only required when non-AMD concatenation tools are being used (there may be some other edge cases where it's useful too). When this argument is left out, we call the module 'anonymous'. When working with anonymous modules, the idea of a module's identity is DRY, making it trivial to avoid duplication of filenames and code.
-
-Back to the define signature, the dependencies argument represents an array of dependencies which are required by the module you are defining and the third argument ('definition function') is a function that's executed to instantiate your module. A barebone module (compatible with RequireJS) could be defined using `define()` as follows:
-
-```javascript
-// A module ID has been omitted here to make the module anonymous
-
-define(['foo', 'bar'],
- // module definition function
- // dependencies (foo and bar) are mapped to function parameters
- function ( foo, bar ) {
- // return a value that defines the module export
- // (i.e the functionality we want to expose for consumption)
-
- // create your module here
- var myModule = {
- doStuff:function(){
- console.log('Yay! Stuff');
- }
- }
-
- return myModule;
-});
-```
-####Alternate syntax
-There is also a [sugared version](http://requirejs.org/docs/whyamd.html#sugar) of `define()` available that allows you to declare your dependencies as local variables using `require()`. This will feel familiar to anyone who's used node, and can be easier to add or remove dependencies.
-Here is the previous snippet using the alternate syntax:
-
-```javascript
-// A module ID has been omitted here to make the module anonymous
-
-define(function(require){
- // module definition function
- // dependencies (foo and bar) are defined as local vars
- var foo = require('foo'),
- bar = require('bar');
-
- // return a value that defines the module export
- // (i.e the functionality we want to expose for consumption)
-
- // create your module here
- var myModule = {
- doStuff:function(){
- console.log('Yay! Stuff');
- }
- }
-
- return myModule;
-});
-```
-
-The `require()` method is typically used to load code in a top-level JavaScript file or within a module should you wish to dynamically fetch dependencies. An example of its usage is:
-
-```javascript
-// Consider 'foo' and 'bar' are two external modules
-// In this example, the 'exports' from the two modules loaded are passed as
-// function arguments to the callback (foo and bar)
-// so that they can similarly be accessed
-
-require(['foo', 'bar'], function ( foo, bar ) {
- // rest of your code here
- foo.doSomething();
-});
-```
-
-
-**Wrapping modules, views and other components with AMD**
-
-Now that we've taken a look at how to define AMD modules, let's review how to go about wrapping components like views and collections so that they can also be easily loaded as dependencies for any parts of your application that require them. At it's simplest, a Backbone model may just require Backbone and Underscore.js. These are considered it's dependencies and so, to write an AMD model module, we would simply do this:
-
-```javascript
-define(['underscore', 'backbone'], function(_, Backbone) {
- var myModel = Backbone.Model.extend({
-
- // Default attributes
- defaults: {
- content: "hello world",
- },
-
- // A dummy initialization method
- initialize: function() {
- if (!this.get("content")) {
- this.set({"content": this.defaults.content});
- }
- },
-
- clear: function() {
- this.destroy();
- this.view.remove();
- }
-
- });
- return myModel;
-});
-```
-
-Note how we alias Underscore.js's instance to `_` and Backbone to just `Backbone`, making it very trivial to convert non-AMD code over to using this module format. For a view which might require other dependencies such as jQuery, this can similarly be done as follows:
-
-```javascript
-define([
- 'jquery',
- 'underscore',
- 'backbone',
- 'collections/mycollection',
- 'views/myview'
- ], function($, _, Backbone, myCollection, myView){
-
- var AppView = Backbone.View.extend({
- ...
-```
-
-Aliasing to the dollar-sign (`$`), once again makes it very easy to encapsulate any part of an application you wish using AMD.
-
-
-##External [Underscore/Handlebars/Mustache] templates using RequireJS
-
-Moving your [Underscore/Mustache/Handlebars] templates to external files is actually quite straight-forward. As this application makes use of RequireJS, I'll discuss how to implement external templates using this specific script loader.
-
-RequireJS has a special plugin called text.js which is used to load in text file dependencies. To use the text plugin, simply follow these simple steps:
-
-1. Download the plugin from http://requirejs.org/docs/download.html#text and place it in either the same directory as your application's main JS file or a suitable sub-directory.
-
-2. Next, include the text.js plugin in your initial RequireJS configuration options. In the code snippet below, we assume that RequireJS is being included in our page prior to this code snippet being executed. Any of the other scripts being loaded are just there for the sake of example.
-
-```javascript
-require.config( {
- paths: {
- 'backbone': 'libs/AMDbackbone-0.5.3',
- 'underscore': 'libs/underscore-1.2.2',
- 'text': 'libs/require/text',
- 'jquery': 'libs/jQuery-1.7.1',
- 'json2': 'libs/json2',
- 'datepicker': 'libs/jQuery.ui.datepicker',
- 'datepickermobile': 'libs/jquery.ui.datepicker.mobile',
- 'jquerymobile': 'libs/jquery.mobile-1.0'
- },
- baseUrl: 'app'
-} );
-```
-
-3. When the `text!` prefix is used for a dependency, RequireJS will automatically load the text plugin and treat the dependency as a text resource. A typical example of this in action may look like..
-
-```javascript
-require(['js/app', 'text!templates/mainView.html'],
- function(app, mainView){
- // the contents of the mainView file will be
- // loaded into mainView for usage.
- }
-);
-```
-
-4. Finally we can use the text resource that's been loaded for templating purposes. You're probably used to storing your HTML templates inline using a script with a specific identifier.
-
-With Underscore.js's micro-templating (and jQuery) this would typically be:
-
-HTML:
-
-```html
-
-```
-
-JS:
-
-```javascript
-var compiled_template = _.template( $('#mainViewTemplate').html() );
-```
-
-With RequireJS and the text plugin however, it's as simple as saving your template into an external text file (say, `mainView.html`) and doing the following:
-
-```javascript
-require(['js/app', 'text!templates/mainView.html'],
- function(app, mainView){
-
- var compiled_template = _.template( mainView );
- }
-);
-```
-
-That's it!. You can then go applying your template to a view in Backbone doing something like:
-
-```javascript
-collection.someview.el.html( compiled_template( { results: collection.models } ) );
-```
-
-
-All templating solutions will have their own custom methods for handling template compilation, but if you understand the above, substituting Underscore's micro-templating for any other solution should be fairly trivial.
-
-**Note:** You may also be interested in looking at [Require.js tpl](https://github.com/ZeeAgency/requirejs-tpl). It's an AMD-compatible version of the Underscore templating system that also includes support for optimization (pre-compiled templates) which can lead to better performance and no evals. I have yet to use it myself, but it comes as a recommended resource.
-
-
-##Optimizing Backbone apps for production with the RequireJS Optimizer
-
-As experienced developers may know, an essential final step when writing both small and large JavaScript web applications is the build process. The majority of non-trivial apps are likely to consist of more than one or two scripts and so optimizing, minimizing and concatenating your scripts prior to pushing them to production will require your users to download a reduced number (if not just one) script file.
-
-Note: If you haven't looked at build processes before and this is your first time hearing about them, you might find [my post and screencast on this topic](http://addyosmani.com/blog/client-side-build-process/) useful.
-
-With some other structural JavaScript frameworks, my recommendation would normally be to implicitly use YUI Compressor or Google's closure compiler tools, but we have a slightly more elegant method available, when it comes to Backbone if you're using RequireJS. RequireJS has a command line optimization tool called r.js which has a number of capabilities, including:
-
-* Concatenating specific scripts and minifiying them using external tools such as UglifyJS (which is used by default) or Google's Closure Compiler for optimal browser delivery, whilst preserving the ability to dynamically load modules
-* Optimizing CSS and stylesheets by inlining CSS files imported using @import, stripping out comments etc.
-* The ability to run AMD projects in both Node and Rhino (more on this later)
-
-You'll notice that I mentioned the word 'specific' in the first bullet point. The RequireJS optimizer only concatenates module scripts that have been specified in arrays of string literals passed to top-level (i.e non-local) require and define calls. As clarified by the [optimizer docs](http://requirejs.org/docs/optimization.html) this means that Backbone modules defined like this:
-
-```javascript
-define(['jquery','backbone','underscore', 'collections/sample','views/test'],
- function($,Backbone, _, Sample, Test){
- //...
- });
-```
-
-will combine fine, however inline dependencies such as:
-
-```javascript
-var models = someCondition ? ['models/ab','models/ac'] : ['models/ba','models/bc'];
-```
-
-will be ignored. This is by design as it ensures that dynamic dependency/module loading can still take place even after optimization.
-
-Although the RequireJS optimizer works fine in both Node and Java environments, it's strongly recommended to run it under Node as it executes significantly faster there. In my experience, it's a piece of cake to get setup with either environment, so go for whichever you feel most comfortable with.
-
-To get started with r.js, grab it from the [RequireJS download page](http://requirejs.org/docs/download.html#rjs) or [through NPM](http://requirejs.org/docs/optimization.html#download). Now, the RequireJS optimizer works absolutely fine for single script and CSS files, but for most cases you'll want to actually optimize an entire Backbone project. You *could* do this completely from the command-line, but a cleaner option is using build profiles.
-
-Below is an example of a build file taken from the modular jQuery Mobile app referenced later in this book. A **build profile** (commonly named `app.build.js`) informs RequireJS to copy all of the content of `appDir` to a directory defined by `dir` (in this case `../release`). This will apply all of the necessary optimizations inside the release folder. The `baseUrl` is used to resolve the paths for your modules. It should ideally be relative to `appDir`.
-
-Near the bottom of this sample file, you'll see an array called `modules`. This is where you specify the module names you wish to have optimized. In this case we're optimizing the main application called 'app', which maps to `appDir/app.js`. If we had set the `baseUrl` to 'scripts', it would be mapped to `appDir/scripts/app.js`.
-
-```javascript
-({
- appDir: "./",
- baseUrl: "./",
- dir: "../release",
- paths: {
- 'backbone': 'libs/AMDbackbone-0.5.3',
- 'underscore': 'libs/underscore-1.2.2',
- 'jquery': 'libs/jQuery-1.7.1',
- 'json2': 'libs/json2',
- 'datepicker': 'libs/jQuery.ui.datepicker',
- 'datepickermobile': 'libs/jquery.ui.datepicker.mobile',
- 'jquerymobile': 'libs/jquery.mobile-1.0'
- },
- optimize: "uglify",
- modules: [
- {
- name: "app",
- exclude: [
- // If you prefer not to include certain libs exclude them here
- ]
- }
- ]
-})
-```
-
-The way the build system in r.js works is that it traverses app.js (whatever modules you've passed) and resolved dependencies, concatenating them into the final `release`(dir) folder. CSS is treated the same way.
-
-The build profile is usually placed inside the 'scripts' or 'js' directory of your project. As per the docs, this file can however exist anywhere you wish, but you'll need to edit the contents of your build profile accordingly.
-
-Finally, to run the build, execute the following command once insice your `appDir` or `appDir/scripts` directory:
-
-```javascript
-node ../../r.js -o app.build.js
-```
-
-That's it. As long as you have UglifyJS/Closure tools setup correctly, r.js should be able to easily optimize your entire Backbone project in just a few key-strokes. If you would like to learn more about build profiles, James Burke has a [heavily commented sample file](https://github.com/jrburke/r.js/blob/master/build/example.build.js) with all the possible options available.
-
-
-##[Practical: Building a modular Backbone Todo app with AMD & RequireJS](#practical_modularapp)
-
-In this chapter, we'll look at our first practical Backbone & RequireJS project - how to build a modular Todo application. The application will allow us to add new todos, edit new todos and clear todo items that have been marked as completed. For a more advanced practical, see the section on mobile Backbone development.
-
-The complete code for the application can can be found in the `practicals/modular-todo-app` folder of this repo (thanks to Thomas Davis and Jérôme Gravel-Niquet). Alternatively grab a copy of my side-project [TodoMVC](https://github.com/addyosmani/todomvc) which contains the sources to both AMD and non-AMD versions.
-
-**Note:** Thomas may be covering a practical on this exercise in more detail on [backbonetutorials.com](http://backbonetutorials.com) at some point soon, but for this section I'll be covering what I consider the core concepts.
-
-###Overview
-
-Writing a 'modular' Backbone application can be a straight-forward process. There are however, some key conceptual differences to be aware of if opting to use AMD as your module format of choice:
-
-* As AMD isn't a standard native to JavaScript or the browser, it's necessary to use a script loader (such as RequireJS or curl.js) in order to support defining components and modules using this module format. As we've already reviewed, there are a number of advantages to using the AMD as well as RequireJS to assist here.
-* Models, views, controllers and routers need to be encapsulated *using* the AMD-format. This allows each component of our Backbone application to cleanly manage dependencies (e.g collections required by a view) in the same way that AMD allows non-Backbone modules to.
-* Non-Backbone components/modules (such as utilities or application helpers) can also be encapsulated using AMD. I encourage you to try developing these modules in such a way that they can both be used and tested independent of your Backbone code as this will increase their ability to be re-used elsewhere.
-
-Now that we've reviewed the basics, let's take a look at developing our application. For reference, the structure of our app is as follows:
-
-
-
-###Markup
-
-The markup for the application is relatively simple and consists of three primary parts: an input section for entering new todo items (`create-todo`), a list section to display existing items (which can also be edited in-place) (`todo-list`) and finally a section summarizing how many items are left to be completed (`todo-stats`).
-
-
-<div id="todoapp">
-
- <div class="content">
-
- <div id="create-todo">
- <input id="new-todo" placeholder="What needs to be done?" type="text" />
- <span class="ui-tooltip-top">Press Enter to save this task</span>
- </div>
-
- <div id="todos">
- <ul id="todo-list"></ul>
- </div>
-
- <div id="todo-stats"></div>
-
- </div>
-
-</div>
-
-
-The the rest of the tutorial will now focus on the JavaScript side of the practical.
-
-###Configuration options
-
-If you've read the earlier chapter on AMD, you may have noticed that explicitly needing to define each dependency a Backbone module (view, collection or other module) may require with it can get a little tedious. This can however be improved.
-
-In order to simplify referencing common paths the modules in our application may use, we use a RequireJS [configuration object](http://requirejs.org/docs/api.html#config), which is typically defined as a top-level script file. Configuration objects have a number of useful capabilities, the most useful being mode name-mapping. Name-maps are basically a key:value pair, where the key defines the alias you wish to use for a path and key represents the true location of the path.
-
-In the code-sample below, you can see some typical examples of common name-maps which include: `backbone`, `underscore`, `jquery` and depending on your choice, the RequireJS `text` plugin, which assists with loading text assets like templates.
-
-**main.js**
-
-```javascript
-require.config({
- baseUrl:'../',
- paths: {
- jquery: 'libs/jquery/jquery-min',
- underscore: 'libs/underscore/underscore-min',
- backbone: 'libs/backbone/backbone-optamd3-min',
- text: 'libs/require/text'
- }
-});
-
-require(['views/app'], function(AppView){
- var app_view = new AppView;
-});
-```
-
-The `require()` at the end of our main.js file is simply there so we can load and instantiation the primary view for our application (`views/app.js`). You'll commonly see both this and the configuration object included the most top-level script file for a project.
-
-In addition to offering name-mapping, the configuration object can be used to define additional properties such as `waitSeconds` - the number of seconds to wait before script loading times out and `locale`, should you wish to load up i18n bundles for custom languages. The `baseUrl` is simply the path to use for module lookups.
-
-For more information on configuration objects, please feel free to check out the excellent guide to them in the [RequireJS docs](http://requirejs.org/docs/api.html#config).
-
-
-###Modularizing our models, views and collections
-
-Before we dive into AMD-wrapped versions of our Backbone components, let's review a sample of a non-AMD view. The following view listens for changes to it's model (a Todo item) and re-renders if a user edits the value of the item.
-
-```javascript
-var TodoView = Backbone.View.extend({
-
- //... is a list tag.
- tagName: "li",
-
- // Cache the template function for a single item.
- template: _.template($('#item-template').html()),
-
- // The DOM events specific to an item.
- events: {
- "click .check" : "toggleDone",
- "dblclick div.todo-content" : "edit",
- "click span.todo-destroy" : "clear",
- "keypress .todo-input" : "updateOnEnter"
- },
-
- // The TodoView listens for changes to its model, re-rendering. Since there's
- // a one-to-one correspondence between a **Todo** and a **TodoView** in this
- // app, we set a direct reference on the model for convenience.
- initialize: function() {
- _.bindAll(this, 'render', 'close');
- this.model.bind('change', this.render);
- this.model.view = this;
- },
- ...
-```
-
-Note how for templating the common practice of referencing a script by an ID (or other selector) and obtaining it's value is used. This of course requires that the template being accessed is implicitly defined in our markup. The following is the 'embedded' version of our template being referenced above:
-
-
-
-Whilst there is nothing wrong with the template itself, once we begin to develop larger applications requiring multiple templates, including them all in our markup on page-load can quickly become both unmanageable and come with performance costs. We'll look at solving this problem in a minute.
-
-Let's now take a look at the AMD-version of our view. As discussed earlier, the 'module' is wrapped using AMD's `define()` which allows us to specify the dependencies our view requires. Using the mapped paths to 'jquery' etc. simplifies referencing common dependencies and instances of dependencies are themselves mapped to local variables that we can access (e.g 'jquery' is mapped to `$`).
-
-**views/todos.js**
-
-```javascript
-define([
- 'jquery',
- 'underscore',
- 'backbone',
- 'text!templates/todos.html'
- ], function($, _, Backbone, todosTemplate){
- var TodoView = Backbone.View.extend({
-
- //... is a list tag.
- tagName: "li",
-
- // Cache the template function for a single item.
- template: _.template(todosTemplate),
-
- // The DOM events specific to an item.
- events: {
- "click .check" : "toggleDone",
- "dblclick div.todo-content" : "edit",
- "click span.todo-destroy" : "clear",
- "keypress .todo-input" : "updateOnEnter"
- },
-
- // The TodoView listens for changes to its model, re-rendering. Since there's
- // a one-to-one correspondence between a **Todo** and a **TodoView** in this
- // app, we set a direct reference on the model for convenience.
- initialize: function() {
- _.bindAll(this, 'render', 'close');
- this.model.bind('change', this.render);
- this.model.view = this;
- },
-
- // Re-render the contents of the todo item.
- render: function() {
- $(this.el).html(this.template(this.model.toJSON()));
- this.setContent();
- return this;
- },
-
- // Use `jQuery.text` to set the contents of the todo item.
- setContent: function() {
- var content = this.model.get('content');
- this.$('.todo-content').text(content);
- this.input = this.$('.todo-input');
- this.input.bind('blur', this.close);
- this.input.val(content);
- },
- ...
-```
-
- From a maintenance perspective, there's nothing logically different in this version of our view, except for how we approach templating.
-
-Using the RequireJS text plugin (the dependency marked `text`), we can actally store all of the contents for the template we looked at earlier in an external file (todos.html).
-
-**templates/todos.html**
-
-
-
-There's no longer a need to be concerned with IDs for the template as we can map it's contents to a local variable (in this case `todosTemplate`). We then simply pass this to the Underscore.js templating function `_.template()` the same way we normally would have the value of our template script.
-
-Next, let's look at how to define models as dependencies which can be pulled into collections. Here's an AMD-compatible model module, which has two default values: a `content` attribute for the content of a Todo item and a boolean `done` state, allowing us to trigger whether the item has been completed or not.
-
-**models/todo.js**
-
-```javascript
-define(['underscore', 'backbone'], function(_, Backbone) {
- var TodoModel = Backbone.Model.extend({
-
- // Default attributes for the todo.
- defaults: {
- content: "empty todo...",
- done: false
- },
-
- // Ensure that each todo created has `content`.
- initialize: function() {
- if (!this.get("content")) {
- this.set({"content": this.defaults.content});
- }
- },
-
- // Toggle the `done` state of this todo item.
- toggle: function() {
- this.save({done: !this.get("done")});
- },
-
- // Remove this Todo from *localStorage* and delete its view.
- clear: function() {
- this.destroy();
- this.view.remove();
- }
-
- });
- return TodoModel;
-});
-```
-
-As per other types of dependencies, we can easily map our model module to a local variable (in this case `Todo`) so it can be referenced as the model to use for our `TodosCollection`. This collection also supports a simple `done()` filter for narrowing down Todo items that have been completed and a `remaining()` filter for those that are still outstanding.
-
-**collections/todos.js**
-
-```javascript
-define([
- 'underscore',
- 'backbone',
- 'libs/backbone/localstorage',
- 'models/todo'
- ], function(_, Backbone, Store, Todo){
-
- var TodosCollection = Backbone.Collection.extend({
-
- // Reference to this collection's model.
- model: Todo,
-
- // Save all of the todo items under the `"todos"` namespace.
- localStorage: new Store("todos"),
-
- // Filter down the list of all todo items that are finished.
- done: function() {
- return this.filter(function(todo){ return todo.get('done'); });
- },
-
- // Filter down the list to only todo items that are still not finished.
- remaining: function() {
- return this.without.apply(this, this.done());
- },
- ...
-```
-
-In addition to allowing users to add new Todo items from views (which we then insert as models in a collection), we ideally also want to be able to display how many items have been completed and how many are remaining. We've already defined filters that can provide us this information in the above collection, so let's use them in our main application view.
-
-**views/app.js**
-
-```javascript
-define([
- 'jquery',
- 'underscore',
- 'backbone',
- 'collections/todos',
- 'views/todos',
- 'text!templates/stats.html'
- ], function($, _, Backbone, Todos, TodoView, statsTemplate){
-
- var AppView = Backbone.View.extend({
-
- // Instead of generating a new element, bind to the existing skeleton of
- // the App already present in the HTML.
- el: $("#todoapp"),
-
- // Our template for the line of statistics at the bottom of the app.
- statsTemplate: _.template(statsTemplate),
-
- // ...events, initialize() etc. can be seen in the complete file
-
- // Re-rendering the App just means refreshing the statistics -- the rest
- // of the app doesn't change.
- render: function() {
- var done = Todos.done().length;
- this.$('#todo-stats').html(this.statsTemplate({
- total: Todos.length,
- done: Todos.done().length,
- remaining: Todos.remaining().length
- }));
- },
- ...
-```
-
-Above, we map the second template for this project, `templates/stats.html` to `statsTemplate` which is used for rendering the overall `done` and `remaining` states. This works by simply passing our template the length of our overall Todos collection (`Todos.length` - the number of Todo items created so far) and similarly the length (counts) for items that have been completed (`Todos.done().length`) or are remaining (`Todos.remaining().length`).
-
-The contents of our `statsTemplate` can be seen below. It's nothing too complicated, but does use ternary conditions to evaluate whether we should state there's "1 item" or "2 items" in a particular state.
-
-
-
-
-
-The rest of the source for the Todo app mainly consists of code for handling user and application events, but that rounds up most of the core concepts for this practical.
-
-To see how everything ties together, feel free to grab the source by cloning this repo or browse it [online](https://github.com/addyosmani/backbone-fundamentals/tree/master/practicals/modular-todo-app) to learn more. I hope you find it helpful!.
-
-**Note:** While this first practical doesn't use a build profile at outlined in the chapter on using the RequireJS optimizer, we will be using one in the section on building mobile Backbone applications.
-
-
-##Decoupling Backbone with the Mediator and Facade patterns
-
-In this section we'll discuss applying some of the concepts I cover in my article on [Large-scale JavaScript Application development](http://addyosmani.com/largescalejavascript) to Backbone.
-
-### Summary
-
-At a high-level, one architecture that works for such applications is something which is:
-
-* **Highly decoupled**: encouraging modules to only publish and subscribe to events of interest rather than directly communicating with each other. This helps us to build applications which who's units of code aren't highly tied (coupled) together and can thus be reused more easily.
-* **Supports module-level security**: whereby modules are only able to execute behaviour they've been permitted to. Application security is an area which is often overlooked in JavaScript applications, but can be quite easily implemented in a flexible manner.
-* **Supports failover**: allowing an application continuing to function even if particular modules fail. The typical example I give of this is the GMail chat widget. Imagine being able to build applications in a way that if one widget on the page fails (e.g chat), the rest of your application (mail) can continue to function without being affected.
-
-This is an architecture which has been implemented by a number of different companies in the past, including Yahoo! (for their modularized homepage - which Nicholas Zakas has [spoken](http://www.youtube.com/watch?v=vXjVFPosQHw) about) and AOL for some of our upcoming projects.
-
-The three design patterns that make this architecture possible are the:
-
-* **Module pattern**: used for encapsulating unique blocks of code, where functions and variables can be kept either public or private. ('private' in the simulation of privacy sense, as of course don't have true privacy in JavaScript)
-* **Mediator pattern**: used when the communication between modules may be complex, but is still well defined. If it appears a system may have too many relationships between modules in your code, it may be time to have a central point of control, which is where the pattern fits in.
-* **Facade pattern**: used for providing a convenient higher-level interface to a larger body of code, hiding its true underlying complexity
-
-Their specific roles in this architecture can be found below.
-
-* **Modules**: There are almost two concepts of what defines a module. As AMD is being used as a module wrapper, technically each model, view and collection can be considered a module. We then have the concept of modules being distinct blocks of code outside of just MVC/MV*. For the latter, these types of 'modules' are primarily concerned with broadcasting and subscribing to events of interest rather than directly communicating with each other.They are made possible through the Mediator pattern.
-* **Mediator**: The mediator has a varying role depending on just how you wish to implement it. In my article, I mention using it as a module manager with the ability to start and stop modules at will, however when it comes to Backbone, I feel that simplifying it down to the role of a central 'controller' that provides pub/sub capabilities should suffice. One can of course go all out in terms of building a module system that supports module starting, stopping, pausing etc, however the scope of this is outside of this chapter.
-* **Facade**: This acts as a secure middle-layer that both abstracts an application core (Mediator) and relays messages from the modules back to the Mediator so they don't touch it directly. The Facade also performs the duty of application security guard; it checks event notifications from modules against a configuration (permissions.js, which we will look at later) to ensure requests from modules are only processed if they are permitted to execute the behaviour passed.
-
-For ease of reference, I sometimes refer to these three patterns grouped together as Aura (a word that means subtle, luminous light).
-
-### Practical
-
-For the practical section of this chapter, we'll be extending the well-known Backbone Todo application using the three patterns mentioned above. The complete code for this section can be found here: https://github.com/addyosmani/backbone-aura and should ideally be run on at minimum, a local HTTP server.
-
-The application is broken down into AMD modules that cover everything from Backbone models through to application-level modules. The views publish events of interest to the rest of the application and modules can then subscribe to these event notifications.
-
-All subscriptions from modules go through a facade (or sandbox). What this does is check against the subscriber name and the 'channel/notification' it's attempting to subscribe to. If a channel *doesn't* have permissions to be subscribed to (something established through permissions.js), the subscription isn't permitted.
-
-
-**Mediator**
-
-Found in `aura/mediator.js`
-
-Below is a very simple AMD-wrapped implementation of the mediator pattern, based on prior work by Ryan Florence. It accepts as it's input an object, to which it attaches `publish()` and `subscribe()` methods. In a larger application, the mediator can contain additional utilities, such as handlers for initialising, starting and stopping modules, but for demonstration purposes, these two methods should work fine for our needs.
-
-```javascript
-define([], function(obj){
-
- var channels = {};
- if (!obj) obj = {};
-
- obj.subscribe = function (channel, subscription) {
- if (!channels[channel]) channels[channel] = [];
- channels[channel].push(subscription);
- };
-
- obj.publish = function (channel) {
- if (!channels[channel]) return;
- var args = [].slice.call(arguments, 1);
- for (var i = 0, l = channels[channel].length; i < l; i++) {
- channels[channel][i].apply(this, args);
- }
- };
-
- return obj;
-
-});
-```
-
-
-**Facade**
-
-Found in `aura/facade.js`
-
-Next, we have an implementation of the facade pattern. Now the classical facade pattern applied to JavaScript would probably look a little like this:
-
-```javascript
-
-var module = (function() {
- var _private = {
- i:5,
- get : function() {
- console.log('current value:' + this.i);
- },
- set : function( val ) {
- this.i = val;
- },
- run : function() {
- console.log('running');
- },
- jump: function(){
- console.log('jumping');
- }
- };
- return {
- facade : function( args ) {
- _private.set(args.val);
- _private.get();
- if ( args.run ) {
- _private.run();
- }
- }
- }
-}());
-
-module.facade({run: true, val:10});
-//outputs current value: 10, running
-```
-
-It's effectively a variation of the module pattern, where instead of simply returning an interface of supported methods, your API can completely hide the true implementation powering it, returning something simpler. This allows the logic being performed in the background to be as complex as necessary, whilst all the end-user experiences is a simplified API they pass options to (note how in our case, a single method abstraction is exposed). This is a beautiful way of providing APIs that can be easily consumed.
-
-That said, to keep things simple, our implementation of an AMD-compatible facade will act a little more like a proxy. Modules will communicate directly through the facade to access the mediator's `publish()` and `subscribe()` methods, however, they won't as such touch the mediator directly.This enables the facade to provide application-level validation of any subscriptions and publications made.
-
-It also allows us to implement a simple, but flexible, permissions checker (as seen below) which will validate subscriptions made against a permissions configuration to see whether it's permitted or not.
-
-
-```javascript
-define([ "../aura/mediator" , "../aura/permissions" ], function (mediator, permissions) {
-
- var facade = facade || {};
-
- facade.subscribe = function(subscriber, channel, callback){
-
- // Note: Handling permissions/security is optional here
- // The permissions check can be removed
- // to just use the mediator directly.
-
- if(permissions.validate(subscriber, channel)){
- mediator.subscribe( channel, callback );
- }
- }
-
- facade.publish = function(channel){
- mediator.publish( channel );
- }
- return facade;
-
-});
-```
-
-**Permissions**
-
-Found in `aura/permissions.js`
-
-In our simple permissions configuration, we support checking against subscription requests to establish whether they are allowed to clear. This enforces a flexible security layer for the application.
-
-To visually see how this works, consider changing say, permissions -> renderDone -> todoCounter to be false. This will completely disable the application from from rendering or displaying the counts component for Todo items left (because they aren't allowed to subscribe to that event notification). The rest of the Todo app can still however be used without issue.
-
-It's a very dumbed down example of the potential for application security, but imagine how powerful this might be in a large app with a significant number of visual widgets.
-
-```javascript
-define([], function () {
-
- // Permissions
-
- // A permissions structure can support checking
- // against subscriptions prior to allowing them
- // to clear. This enforces a flexible security
- // layer for your application.
-
- var permissions = {
-
- newContentAvailable: {
- contentUpdater:true
- },
-
- endContentEditing:{
- todoSaver:true
- },
-
- beginContentEditing:{
- editFocus:true
- },
-
- addingNewTodo:{
- todoTooltip:true
- },
-
- clearContent:{
- garbageCollector:true
- },
-
- renderDone:{
- todoCounter:true //switch to false to see what happens :)
- },
-
- destroyContent:{
- todoRemover:true
- },
-
- createWhenEntered:{
- keyboardManager:true
- }
-
- };
-
- permissions.validate = function(subscriber, channel){
- var test = permissions[channel][subscriber];
- return test===undefined? false: test;
- };
-
- return permissions;
-
-});
-```
-
-
-
-**Subscribers**
-
-Found in `subscribers.js`
-
-Subscriber 'modules' communicate through the facade back to the mediator and perform actions when a notification event of a particular name is published.
-
-For example, when a user enters in a new piece of text for a Todo item and hits 'enter' the application publishes a notification saying two things: a) a new Todo item is available and b) the text content of the new item is X. It's then left up to the rest of the application to do with this information whatever it wishes.
-
-In order to update your Backbone application to primarily use pub/sub, a lot of the work you may end up doing will be moving logic coupled inside of specific views to modules outside of it which are reactionary.
-
-Take the `todoSaver` for example - it's responsibility is saving new Todo items to models once the a `notificationName` called 'newContentAvailable' has fired. If you take a look at the permissions structure in the last code sample, you'll notice that 'newContentAvailable' is present there. If I wanted to prevent subscribers from being able to subscribe to this notification, I simply set it to a boolean value of `false`.
-
-Again, this is a massive oversimplification of how advanced your permissions structures could get, but it's certainly one way of controlling what parts of your application can or can't be accessed by specific modules at any time.
-
-```javascript
-define(["jquery", "underscore", "aura/facade"],
-function ($, _, facade) {
-
- // Subscription 'modules' for our views. These take the
- // the form facade.subscribe( subscriberName, notificationName , callBack )
-
- // Update view with latest todo content
- // Subscribes to: newContentAvailable
-
- facade.subscribe('contentUpdater', 'newContentAvailable', function (context) {
- var content = context.model.get('content');
- context.$('.todo-content').text(content);
- context.input = context.$('.todo-input');
- context.input.bind('blur', context.close);
- context.input.val(content);
- });
-
-
- // Save models when a user has finishes editing
- // Subscribes to: endContentEditing
- facade.subscribe('todoSaver','endContentEditing', function (context) {
- try {
- context.model.save({
- content: context.input.val()
- });
- $(context.el).removeClass("editing");
- } catch (e) {
- //console.log(e);
- }
- });
-
-
- // Delete a todo when the user no longer needs it
- // Subscribes to: destroyContent
- facade.subscribe('todoRemover','destroyContent', function (context) {
- try {
- context.model.clear();
- } catch (e) {
- //console.log(e);
- }
- });
-
-
- // When a user is adding a new entry, display a tooltip
- // Subscribes to: addingNewTodo
- facade.subscribe('todoTooltip','addingNewTodo', function (context, todo) {
- var tooltip = context.$(".ui-tooltip-top");
- var val = context.input.val();
- tooltip.fadeOut();
- if (context.tooltipTimeout) clearTimeout(context.tooltipTimeout);
- if (val == '' || val == context.input.attr('placeholder')) return;
- var show = function () {
- tooltip.show().fadeIn();
- };
- context.tooltipTimeout = _.delay(show, 1000);
- });
-
-
- // Update editing UI on switching mode to editing content
- // Subscribes to: beginContentEditing
- facade.subscribe('editFocus','beginContentEditing', function (context) {
- $(context.el).addClass("editing");
- context.input.focus();
- });
-
-
- // Create a new todo entry
- // Subscribes to: createWhenEntered
- facade.subscribe('keyboardManager','createWhenEntered', function (context, e, todos) {
- if (e.keyCode != 13) return;
- todos.create(context.newAttributes());
- context.input.val('');
- });
-
-
-
- // A Todo and remaining entry counter
- // Subscribes to: renderDone
- facade.subscribe('todoCounter','renderDone', function (context, Todos) {
- var done = Todos.done().length;
- context.$('#todo-stats').html(context.statsTemplate({
- total: Todos.length,
- done: Todos.done().length,
- remaining: Todos.remaining().length
- }));
- });
-
-
- // Clear all completed todos when clearContent is dispatched
- // Subscribes to: clearContent
- facade.subscribe('garbageCollector','clearContent', function (Todos) {
- _.each(Todos.done(), function (todo) {
- todo.clear();
- });
- });
-
-
-});
-```
-
-That's it for this section. If you've been intrigued by some of the concepts covered, I encourage you to consider taking a look at my [slides](http://addyosmani.com/blog/large-scale-javascript-application-architecture/) on Large-scale JS from the jQuery Summit or my longer post on the topic [here](http://addyosmani.com/largescalejavascript) for more information.
-
-
-
-##Backbone & jQuery Mobile
-
-###Resolving the routing conflicts
-
-The first major hurdle developers typically run into when building Backbone applications with jQuery Mobile is that both frameworks have their own opinions about how to handle application navigation.
-
-Backbone's routers offer an explicit way to define custom navigation routes through `Backbone.Router`, whilst jQuery Mobile encourages the use of URL hash fragments to reference separate 'pages' or views in the same document. jQuery Mobile also supports automatically pulling in external content for links through XHR calls meaning that there can be quite a lot of inter-framework confusion about what a link pointing at '#/photo/id' should actually be doing.
-
-Some of the solutions that have been previously proposed to work-around this problem included manually patching Backbone or jQuery Mobile. I discourage opting for these techniques as it becomes necessary to manually patch your framework builds when new releases get made upstream.
-
-There's also [jQueryMobile router](https://github.com/azicchetti/jquerymobile-router), which tries to solve this problem differently, however I think my proposed solution is both simpler and allows both frameworks to cohabit quite peacefully without the need to extend either. What we're after is a way to prevent one framework from listening to hash changes so that we can fully rely on the other (e.g. `Backbone.Router`) to handle this for us exclusively.
-
-Using jQuery Mobile this can be done by setting:
-
-```javascript
-$.mobile.hashListeningEnabled = false;
-```
-
-prior to initializing any of your other code.
-
-I discovered this method looking through some jQuery Mobile commits that didn't make their way into the official docs, but am happy to see that they are now covered here http://jquerymobile.com/test/docs/api/globalconfig.html in more detail.
-
-The next question that arises is, if we're preventing jQuery Mobile from listening to URL hash changes, how can we still get the benefit of being able to navigate to other sections in a document using the built-in transitions and effects supported? Good question. This can now be solve by simply calling `$.mobile.changePage()` as follows:
-
-```javascript
-var url = '#about',
- effect = 'slideup',
- reverse = false,
- changeHash = false;
-
-$.mobile.changePage( url , { transition: effect}, reverse, changeHash );
-```
-
-In the above sample, `url` can refer to a URL or a hash identifier to navigate to, `effect` is simply the transition effect to animate the page in with and the final two parameters decide the direction for the transition (`reverse`) and whether or not the hash in the address bar should be updated (`changeHash`). With respect to the latter, I typically set this to false to avoid managing two sources for hash updates, but feel free to set this to true if you're comfortable doing so.
-
-**Note:** For some parallel work being done to explore how well the jQuery Mobile Router plugin works with Backbone, you may be interested in checking out https://github.com/Filirom1/jquery-mobile-backbone-requirejs.
-
-
-###Practical: A Backbone, RequireJS/AMD app with jQuery Mobile
-
-**Note:** The code for this practical can be found in `practicals/modular-mobile-app`.
-
-###Getting started
-
-Once you feel comfortable with the [Backbone fundamentals](http://msdn.microsoft.com/en-us/scriptjunkie/hh377172.aspx) and you've put together a rough wireframe of the app you may wish to build, start to think about your application architecture. Ideally, you'll want to logically separate concerns so that it's as easy as possible to maintain the app in the future.
-
-**Namespacing**
-
-For this application, I opted for the nested namespacing pattern. Implemented correctly, this enables you to clearly identify if items being referenced in your app are views, other modules and so on. This initial structure is a sane place to also include application defaults (unless you prefer maintaining those in a separate file).
-
-```javascript
-window.mobileSearch = window.mobileSearch || {
- views: {
- appview: new AppView
- },
- routers:{
- workspace:new Workspace()
- },
- utils: utils,
- defaults:{
- resultsPerPage: 16,
- safeSearch: 2,
- maxDate:'',
- minDate:'01/01/1970'
- }
-}
-```
-
-**Models**
-
-In the Flickly application, there are at least two unique types of data that need to be modelled - search results and individual photos, both of which contain additional meta-data like photo titles. If you simplify this down, search results are actually groups of photos in their own right, so the application only requires:
-
-* A single model (a photo or 'result' entry)
-* A result collection (containing a group of result entries) for search results
-* A photo collection (containing one or more result entries) for individual photos or photos with more than one image
-
-**Views**
-
-The views we'll need include an application view, a search results view and a photo view. Static views or pages of the single-page application which do not require a dynamic element to them (e.g an 'about' page) can be easily coded up in your document's markup, independant of Backbone.
-
-**Routers**
-
-A number of possible routes need to be taken into consideration:
-
-* Basic search queries `#search/kiwis`
-* Search queries with additional parameters (e.g sort, pagination) `#search/kiwis/srelevance/p7`
-* Queries for specific photos `#photo/93839`
-* A default route (no parameters passed)
-
-
-This tutorial will be expanded shortly to fully cover the demo application. In the mean time, please see the practicals folder for the completed application that demonstrates the router resolution discussed earlier between Backbone and jQuery Mobile.
-
-
-###jQuery Mobile: Going beyond mobile application development
-
-The majority of jQM apps I've seen in production have been developed for the purpose of providing an optimal experience to users on mobile devices. Given that the framework was developed for this purpose, there's nothing fundamentally wrong with this, but many developers forget that jQM is a UI framework not dissimilar to jQuery UI. It's using the widget factory and is capable of being used for a lot more than we give it credit for.
-
-If you open up Flickly in a desktop browser, you'll get an image search UI that's modelled on Google.com, however, review the components (buttons, text inputs, tabs) on the page for a moment. The desktop UI doesn't look anything like a mobile application yet I'm still using jQM for theming mobile components; the tabs, date-picker, sliders - everything in the desktop UI is re-using what jQM would be providing users on mobile devices. Thanks to some media queries, the desktop UI can make optimal use of whitespace, expanding component blocks out and providing alternative layouts whilst still making use of jQM as a component framework.
-
-The benefit of this is that I don't need to go pulling in jQuery UI separately to be able to take advantage of these features. Thanks to the recent ThemeRoller my components can look pretty much exactly how I would like them to and users of the app can get a jQM UI for lower-resolutions and a jQM-ish UI for everything else.
-
-The takeaway here is just to remember that if you're not (already) going through the hassle of conditional script/style loading based on screen-resolution (using matchMedia.js etc), there are simpler approaches that can be taken to cross-device component theming.
-
-
-##Testing
-
-#Unit Testing Backbone Applications With Jasmine
-
-##Introduction
-
-One definition of unit testing is the process of taking the smallest piece of testable code in an application, isolating it from the remainder of your codebase and determining if it behaves exactly as expected. In this section, we'll be taking a look at how to unit test Backbone applications using a popular JavaScript testing framework called [Jasmine](http://pivotal.github.com/jasmine/) from Pivotal Labs.
-
-For an application to be considered 'well'-tested, distinct functionality should ideally have its own separate unit tests where it's tested against the different conditions you expect it to work under. All tests must pass before functionality is considered 'complete'. This allows developers to both modify a unit of code and it's dependencies with a level of confidence about whether these changes have caused any breakage.
-
-As a basic example of unit testing is where a developer may wish to assert whether passing specific values through to a sum function results in the correct output being returned. For an example more relevant to this book, we may wish to assert whether a user adding a new Todo item to a list correctly adds a Model of a specific type to a Todos Collection.
-
-When building modern web-applications, it's typically considered best-practice to include automated unit testing as a part of your development process. Whilst we'll be focusing on Jasmine as a solution for this, there are a number of other alternatives worth considering, including QUnit.
-
-##Jasmine
-
-Jasmine describes itself as a behaviour-driven development (BDD) framework for testing JavaScript code. Before we jump into how the framework works, it's useful to understand exactly what [BDD](http://en.wikipedia.org/wiki/Behavior_Driven_Development) is.
-
-BDD is a second-generation testing approach first described by [Dan North](http://dannorth.net/introducing-bdd/) (the authority on BDD) which attempts to test the behaviour of software. It's considered second-generation as it came out of merging ideas from Domain driven design (DDD) and lean software development, helping teams to deliver high quality software by answering many of the more confusing questions early on in the agile process. Such questions commonly include those concerning documentation and testing.
-
-If you were to read a book on BDD, it's likely to also be described as being 'outside-in and pull-based'. The reason for this is that it borrows the idea of of pulling features from Lean manufacturing which effectively ensures that the right software solutions are being written by a) focusing on expected outputs of the system and b) ensuring these outputs are achieved.
-
-BDD recognizes that there are usually multiple stakeholders in a project and not a single amorphous user of the system. These different groups will be affected by the software being written in differing ways and will have a varying opinion of what quality in the system means to them. It's for this reason that it's important to understand who the software will be bringing value you and exactly what in it will be valuable to them.
-
-Finally, BDD relies on automation. Once you've defined the quality expected, your team will likely want to check on the functionality of the solution being built regularly and compare it to the results they expect. In order to facilitate this efficiently, the process has to be automated. BDD relies heavily on the automation of specification-testing and Jasmine is a tool which can assist with this.
-
-BDD helps both developers and non-technical stakeholders:
-
-
-* Better understand and represent the models of the problems being solved
-* Explain supported tests cases in a language that non-developers can read
-* Focus on minimizing translation of the technical code being written and the domain language spoken by the business
-
-What this means is that developers should be able to show Jasmine unit tests to a project stakeholder and (at a high level, thanks to a common vocabulary being used) they'll ideally be able to understand what the code supports.
-
-Developers often implement BDD in unison with another testing paradigm known as [TDD](http://en.wikipedia.org/wiki/Test-driven_development) (test-driven development). The main idea behind TDD is:
-
-* Write unit tests which describe the functionality you would like your code to support
-* Watch these tests fail (as the code to support them hasn't yet been written)
-* Write code to make the tests pass
-* Rinse, repeat and refactor
-
-In this chapter we're going to use both BDD (with TDD) to write unit tests for a Backbone application.
-
-***Note:*** I've seen a lot of developers also opt for writing tests to validate behaviour of their code after having written it. While this is fine, note that it can come with pitfalls such as only testing for behaviour your code currently supports, rather than behaviour the problem needs to be supported.
-
-
-##Suites, Specs & Spies
-
-When using Jasmine, you'll be writing suites and specifications (specs). Suites basically describe scenarios whilst specs describe what can be done in these scenarios.
-
-Each spec is a JavaScript function, described with a call to ```it()`` using a description string and a function. The description should describe the behaviour the particular unit of code should exhibit and keeping in mind BDD, it should ideally be meaningful. Here's an example of a basic spec:
-
-```javascript
-it('should be incrementing in value', function(){
- var counter = 0;
- counter++;
-});
-```
-
-On it's own, a spec isn't particularly useful until expectations are set about the behaviour of the code. Expectations in specs are defined using the ```expect()``` function and an [expectation matcher](https://github.com/pivotal/jasmine/wiki/Matchers) (e.g toEqual(), toBeTruthy(), toContain()). A revised example using an expectation matcher would look like:
-
-```javascript
-it('should be incrementing in value', function(){
- var counter = 0;
- counter++;
- expect(counter).toEqual(1);
-});
-```
-The above code passes our behavioural expectation as ```counter`` equals 1. Notice how easy this was to read the expectation on the last line (you probably grokked it without any explanation).
-
-Specs are grouped into suites which we describe using Jasmine's ```describe()``` function, again passing a string as a description and a function. The name/description for your suite is typically that of the component or module you're testing.
-
-Jasmine will use it as the group name when it reports the results of the specs you've asked it to run. A simple suite containing our sample spec could look like:
-
-```javascript
-describe('Stats', function(){
- it('can increment a number', function(){
- ...
- });
-
- it('can subtract a number', function(){
- ...
- });
-});
-```
-
-Suites also share a functional scope and so it's possible to declare variables and functions inside a describe block which are accessible within specs:
-
-```javascript
-describe('Stats', function(){
- var counter = 1;
-
- it('can increment a number', function(){
- // the counter was = 1
- counter = counter + 1;
- expect(counter).toEqual(2);
- });
-
- it('can subtract a number', function(){
- // the counter was = 2
- counter = counter + 3;
- expect(counter).toEqual(5);
- });
-});
-```
-
-***Note:*** Suites are executed in the order in which their are described, which can be useful to know if you would prefer to see test results for specific parts of your application reported first.
-
-Jasmine also supports **spies** - a way to mock, spy and fake behaviour in our unit tests. Spies replace the function they're spying on, allowing us to simulate behaviour we would like to mock (i.e test free of the actual implementation).
-
-In the below example, we're spying on the ```setComplete``` method of a dummy Todo function to test that arguments can be passed to it as expected.
-
-```javascript
-var Todo = function(){
-};
-
-Todo.prototype.setComplete = function (arg){
- return arg;
-}
-
-describe('a simple spy', function(){
- it('should spy on an instance method of a Todo', function(){
- var myTodo = new Todo();
- spyOn(myTodo, 'setComplete');
- myTodo.setComplete('foo bar');
-
- expect(myTodo.setComplete).toHaveBeenCalledWith('foo bar');
-
- var myTodo2 = new Todo();
- spyOn(myTodo2, 'setComplete');
-
- expect(myTodo2.setComplete).not.toHaveBeenCalled();
-
- });
-});
-```
-
-What you're more likely to use spies for is testing [asynchronous](http://en.wikipedia.org/wiki/Asynchronous_communication) behaviour in your application such as AJAX requests. Jasmine supports:
-
-* Writing tests which can mock AJAX requests using spies. This allows us to test code which runs before an AJAX request and right after. It's also possible to mock/fake responses the server can return and the benefit of this type of testing is that it's faster as no real calls are being made to a server
-* Asynchronous tests which don't rely on spies
-
-For the first kind of test, it's possible to both fake an AJAX request and verify that the request was both calling the correct URL and executed a callback where one was provided.
-
-```javascript
-it("the callback should be executed on success", function () {
- spyOn($, "ajax").andCallFake(function(options) {
- options.success();
- });
-
- var callback = jasmine.createSpy();
- getTodo(15, callback);
-
- expect($.ajax.mostRecentCall.args[0]["url"]).toEqual("/todos/15");
- expect(callback).toHaveBeenCalled();
-});
-
-function getTodo(id, callback) {
- $.ajax({
- type: "GET",
- url: "/todos/" + id,
- dataType: "json",
- success: callback
- });
-}
-```
-
-If you feel lost having seen matchers like ```andCallFake()``` and ```toHaveBeenCalled()```, don't worry. All of these are Spy-specific matchers and are documented on the Jasmine [wiki](https://github.com/pivotal/jasmine/wiki/Spies).
-
-For the second type of test (asynchronous tests), we can take the above further by taking advantage of three other methods Jasmine supports:
-
-* runs(function) - a block which runs as if it was directly called
-* waits(timeout) - a native timeout before the next block is run
-* waitsFor(function, optional message, optional timeout) - a way to pause specs until some other work has completed. Jasmine waits until the supplied function returns true here before it moves on to the next block.
-
-
-```javascript
-it("should make an actual AJAX request to a server", function () {
-
- var callback = jasmine.createSpy();
- getTodo(16, callback);
-
- waitsFor(function() {
- return callback.callCount > 0;
- });
-
- runs(function() {
- expect(callback).toHaveBeenCalled();
- });
-});
-
-function getTodo(id, callback) {
- $.ajax({
- type: "GET",
- url: "todos.json",
- dataType: "json",
- success: callback
- });
-}
-```
-
-***Note:*** It's useful to remember that when making real requests to a web server in your unit tests, this has the potential to massively slow down the speed at which tests run (due to many factors including server latency). As this also introduces an external dependency that can (and should) be minimised in your unit testing, it is strongly recommended that you opt for spies to remove the need for a web server to be used here.
-
-##beforeEach and afterEach()
-
-Jasmine also supports specifying code that can be run before each (```beforeEach()```) and after each (```afterEach```) test. This is useful for enforcing consistent conditions (such as resetting variables that may be required by specs). In the following example, ```beforeEach()``` is used to create a new sample Todo model specs can use for testing attributes.
-
-```javascript
-beforeEach(function(){
- this.todo = new Backbone.Model({
- text: "Buy some more groceries",
- done: false
- });
-});
-
-it("should contain a text value if not the default value", function(){
- expect(this.todo.get('text')).toEqual("Buy some more groceries");
-});
-```
-
-Each nested ```describe()``` in your tests can have their own ```beforeEach()``` and ```afterEach()``` methods which support including setup and teardown methods relevant to a particular suite. We'll be using ```beforeEach()``` in practice a little later.
-
-##Shared scope
-
-In the previous section you may have noticed that we initially declared a variable ```this.todo``` in our ```beforeEach()``` call and were then able to continue using this in ```afterEach()```. This is thanks to a powerful feature of Jasmine known as shared functional scope. Shared scope allows ```this``` properties to be common to all blocks (including ```runs()```), but not declared variables (i.e ```var```s).
-
-
-##Getting setup
-
-Now that we've reviewed some fundamentals, let's go through downloading Jasmine and getting everything setup to write tests.
-
-A standalone release of Jasmine can be [downloaded](http://pivotal.github.com/jasmine/download.html) from the official release page.
-
-You'll need a file called SpecRunner.html in addition to the release. It can be downloaded from https://github.com/pivotal/jasmine/tree/master/lib/jasmine-core/example or as part of a download of the complete Jasmine [repo](https://github.com/pivotal/jasmine/zipball/master).Alternatively, you can ```git clone``` the main Jasmine repository from https://github.com/pivotal/jasmine.git.
-
-Let's review [SpecRunner.html](https://github.com/pivotal/jasmine/blob/master/lib/jasmine-core/example/SpecRunner.html):
-
-It first includes both Jasmine and the necessary CSS required for reporting:
-
-```
-
-
-
-```
-
-Next, some sample tests are included:
-
-```
-
-
-```
-
-And finally the sources being tested:
-
-```
-
-
-```
-
-***Note:*** Below this section of SpecRunner is code responsible for running the actual tests. Given that we won't be covering modifying this code, I'm going to skip reviewing it. I do however encourage you to take a look through [PlayerSpec.js](https://github.com/pivotal/jasmine/blob/master/lib/jasmine-core/example/spec/PlayerSpec.js) and [SpecHelper.js](https://github.com/pivotal/jasmine/blob/master/lib/jasmine-core/example/spec/SpecHelper.js). They're a useful basic example to go through how a minimal set of tests might work.
-
-##TDD With Backbone
-
-When developing applications with Backbone, it can be necessary to test both individual modules of code as well as modules, views, collections and routers. Taking a TDD approach to testing, let's review some specs for testing these Backbone components using the popular Backbone [Todo](https://github.com/addyosmani/todomvc/tree/master/todo-example/backbone) application.
-
-I would like to extend my thanks to Larry Myers for his [Koans](https://github.com/addyosmani/backbone-koans) project which both greatly helped here and will be used in the exercise portion of this chapter.
-
-
-##Models
-
-The complexity of Backbone models can vary greatly depending on what your application is trying to achieve. In the following example, we're going to test default values, attributes, state changes and validation rules.
-
-First, we begin our suite for model testing using ```describe()```:
-
-```
-describe('Tests for Todo', function() {
-```
-
-Models should ideally have default values for attributes. This helps ensure that when creating instances without a value set for any specific attribute, a default one (e.g "") is used instead. The idea here is to allow your application to interact with models without any unexpected behaviour.
-
-In the following spec, we create a new Todo without any attributes passed then check to find out what the value of the ```text``` attribute is. As no value has been set, we expect a default value of ```""`` to be returned.
-
-```javascript
-it('Can be created with default values for its attributes.', function() {
- var todo = new Todo();
- expect(todo.get('text')).toBe("");
-});
-```
-
-If testing this spec before your models have been written, you'll incur a failing test, as expected. What's required for the spec to pass is a default value for the attribute ```text```. We can implement this default value with some other useful defaults (which we'll be using shortly) in our Todo model as follows:
-
-```javascript
-window.Todo = Backbone.Model.extend({
-
- defaults: function() {
- return {
- text: "",
- done: false,
- order: 0
- };
- }
- ```
-
-Next, we want to test that our model will pass attributes that are set such that retrieving the value of these attributes after initialization will be what we expect. Notice that here, in addition to testing for an expected value for ```text```, we're also testing the other default values are what we expect them to be.
-
-```javascript
-it('Will set passed attributes on the model instance when created.', function() {
- var todo = new Todo({ text: 'Get oil change for car.' });
-
- // what are the values expected here for each of the
- // attributes in our Todo?
-
- expect(todo.get('text')).toBe("Get oil change for car.");
- expect(todo.get('done')).toBe(false);
- expect(todo.get('order')).toBe(0);
-});
-```
-
-Backbone models support a model.change() event which is triggered when the state of a model changes. In the following example, by 'state' I'm referring to the value of a Todo model's attributes. The reason changes of state are important to test are that there may be state-dependant events in your application e.g you may wish to display a confirmation view once a Todo model has been updated.
-
-```javascript
-it('Fires a custom event when the state changes.', function() {
-
- var spy = jasmine.createSpy('-change event callback-');
-
- var todo = new Todo();
-
- // how do we monitor changes of state?
- todo.bind('change', spy);
-
- // what would you need to do to force a change of state?
- todo.set({ text: 'Get oil change for car.' });
-
- expect(spy).toHaveBeenCalled();
-});
-```
-
-It's common to include validation logic in your models to ensure both the input passed from users (and other modules) in the application are 'valid'. A Todo app may wish to validate the text input supplied in case it contains rude words. Similarly if we're storing the ```done``` state of a Todo item using booleans, we need to validate that truthy/falsy values are passed and not just any arbitrary string.
-
-In the following spec, we take advantage of the fact that validations which fail model.validate() trigger an "error" event. This allows us to test if validations are correctly failing when invalid input is supplied.
-
-We create an errorCallback spy using Jasmine's built in ```createSpy()``` method which allows us to spy on the error event as follows:
-
-```javascript
-it('Can contain custom validation rules, and will trigger an error event on failed validation.', function() {
-
- var errorCallback = jasmine.createSpy('-error event callback-');
-
- var todo = new Todo();
-
- todo.bind('error', errorCallback);
-
- // What would you need to set on the todo properties to
- // cause validation to fail?
-
- todo.set({done:'a non-integer value'});
-
- var errorArgs = errorCallback.mostRecentCall.args;
-
- expect(errorArgs).toBeDefined();
- expect(errorArgs[0]).toBe(todo);
- expect(errorArgs[1]).toBe('Todo.done must be a boolean value.');
-});
-
-````
-
-The code to make the above failing test support validation is relatively simple. In our model, we override the validate() method (as recommended in the Backbone docs), checking to make sure a model both has a 'done' property and is a valid boolean before allowing it to pass.
-
-```javascript
-validate: function(attrs) {
- if (attrs.hasOwnProperty('done') && !_.isBoolean(attrs.done)) {
- return 'Todo.done must be a boolean value.';
- }
-}
-```
-
-If you would like to review the final code for our Todo model, you can find it below:
-
-```javascript
-var NAUGHTY_WORDS = /crap|poop|hell|frogs/gi;
-
-function sanitize(str) {
- return str.replace(NAUGHTY_WORDS, 'rainbows');
-}
-
-window.Todo = Backbone.Model.extend({
-
- defaults: function() {
- return {
- text: '',
- done: false,
- order: 0
- };
- },
-
- initialize: function() {
- this.set({text: sanitize(this.get('text'))}, {silent: true});
- },
-
- validate: function(attrs) {
- if (attrs.hasOwnProperty('done') && !_.isBoolean(attrs.done)) {
- return 'Todo.done must be a boolean value.';
- }
- },
-
- toggle: function() {
- this.save({done: !this.get("done")});
- }
-
-});
-```
-
-
-##Collections
-
-We now need to define specs to tests a Backbone collection of Todo models (a TodoList). Collections are responsible for a number of list tasks including managing order and filtering.
-
-A few specific specs that come to mind when working with collections are:
-
-* Making sure we can add new Todo models as both objects and arrays
-* Attribute testing to make sure attributes such as the base URL of the collection are values we expect
-* Purposefully adding items with a status of ```done:true``` and checking against how many the collection thinks have been completed vs. those that are remaining
-
-In this section we're going to cover the first two of these with the third left as an extended exercise I recommend trying out.
-
-Testing Todo models can be added to a collection as objects or arrays is relatively trivial. First, we initialize a new TodoList collection and check to make sure it's length (i.e the number of Todo models it contains) is 0. Next, we add new Todos, both as objects and arrays, checking the length property of the collection at each stage to ensure the overall count is what we expect:
-
-```javascript
-describe('Tests for TodoList', function() {
-
- it('Can add Model instances as objects and arrays.', function() {
- var todos = new TodoList();
-
- expect(todos.length).toBe(0);
-
- todos.add({ text: 'Clean the kitchen' });
-
- // how many todos have been added so far?
- expect(todos.length).toBe(1);
-
- todos.add([
- { text: 'Do the laundry', done: true },
- { text: 'Go to the gym'}
- ]);
-
- // how many are there in total now?
- expect(todos.length).toBe(3);
- });
-...
-```
-
-Similar to model attributes, it's also quite straight-forward to test attributes in collections. Here we have a spec that ensures the collection.url (i.e the url reference to the collection's location on the server) is what we expect it to be:
-
-```javascript
-it('Can have a url property to define the basic url structure for all contained models.', function() {
- var todos = new TodoList();
-
- // what has been specified as the url base in our model?
- expect(todos.url).toBe('/todos/');
-});
-
-```
-
-For the third spec, it's useful to remember that the implementation for our collection will have methods for filtering how many Todo items are done and how many are remaining - we can call these ```done()``` and ```remaining()```. Consider writing a spec which creates a new collection and adds one new model that has a preset ```done``` state of ```true``` and two others that have the default ```done``` state of ```false```. Testing the length of what's returned using ```done()``` and ```remaining()``` should allow us to know whether the state management in our application is working or needs a little tweaking.
-
-The final implementation for our TodoList collection can be found below:
-
-
-```javascript
- window.TodoList = Backbone.Collection.extend({
-
- model: Todo,
-
- url: '/todos/',
-
- done: function() {
- return this.filter(function(todo) { return todo.get('done'); });
- },
-
- remaining: function() {
- return this.without.apply(this, this.done());
- },
-
- nextOrder: function() {
- if (!this.length) {
- return 1;
- }
-
- return this.last().get('order') + 1;
- },
-
- comparator: function(todo) {
- return todo.get('order');
- }
-
- });
-```
-
-
-##Views
-
-Before we take a look at testing Backbone views, let's briefly review a jQuery plugin that can assist with writing Jasmine specs for them.
-
-**The Jasmine jQuery Plugin**
-
-As we know our Todo application will be using jQuery for DOM manipulation, there's a useful jQuery plugin called [jasmine-jquery](https://github.com/velesin/jasmine-jquery) we can use to help simplify BDD testing rendered elements that our views may produce.
-
-The plugin provides a number of additional Jasmine [matchers](https://github.com/pivotal/jasmine/wiki/Matchers) to help test jQuery wrapped sets such as:
-
-* ```toBe(jQuerySelector)``` e.g ```expect($('')).toBe('div#some-id')```
-* ```toBeChecked()``` e.g ```expect($('')).toBeChecked()```
-* ```toBeSelected()``` e.g ```expect($('')).toBeSelected()```
-
-and [many others](https://github.com/velesin/jasmine-jquery). The complete list of matchers supported can be found on the project homepage. It's useful to know that similar to the standard Jasmine matchers, the custom matchers above can be inverted using the .not prefix (i.e ```expect(x).not.toBe(y)```):
-
-```expect($('
I am an example
')).not.toHaveText(/other/)```
-
-jasmine-jquery also includes a fixtures model, allowing us to load in arbitrary HTML content we may wish to use in our tests. Fixtures can be used as follows:
-
-Include some HTML in an external fixtures file:
-
-some.fixture.html:
-```
some HTML content
```
-
-Next, inside our actual test we would load it as follows:
-
-```javascript
-loadFixtures('some.fixture.html')
-$('some-fixture').myTestedPlugin();
-expect($('#some-fixture')).to
-```
-
-The jasmine-jquery plugin is by default setup to load fixtures from a specific directory: spec/javascripts/fixtures. If you wish to configure this path you can do so by initially setting ```jasmine.getFixtures().fixturesPath = 'your custom path'```.
-
-Finally, jasmine-jquery includes support for spying on jQuery events without the need for any extra plumbing work. This can be done using the ```spyOnEvent()``` and ```assert(eventName).toHaveBeenTriggered(selector)``` functions. An example of usage may look as follows:
-
-```javascript
-spyOnEvent($('#el'), 'click');
-$('#el').click();
-expect('click').toHaveBeenTriggeredOn($('#el'));
-```
-
-**View testing**
-
-In this section we will review three dimensions to writing specs for Backbone Views: initial setup, view rendering and finally templating. The latter two of these are the most commonly tested, however we'll review shortly why writing specs for the initialization of your views can also be of benefit.
-
-##Initial setup
-
-At their most basic, specs for Backbone views should validate that they are being correctly tied to specific DOM elements and are backed by valid data models. The reason to consider doing this is that failures to such specs can trip up more complex tests later on and they're fairly simple to write, given the overall value offered.
-
-To help ensure a consistant testing setup for our specs, we use ```beforeEach()``` to append both an empty ```UL``` (#todoList) to the DOM and initialize a new instance of a TodoView using an empty Todo model. ```afterEach()``` is used to remove the previous #todoList ```UL``` as well as the previous instance of the view.
-
-```javascript
-describe('Tests for TodoView', function() {
-
- beforeEach(function() {
- $('body').append('
');
- this.todoView = new TodoView({ model: new Todo() });
- });
-
-
- afterEach(function() {
- this.todoView.remove();
- $('#todoList').remove();
- });
-
-...
-```
-
-The first spec useful to write is a check that the TodoView we've created is using the correct ```tagName``` (element or className). The purpose of this test is to make sure it's been correctly tied to a DOM element when it was created.
-
-Backbone views typically create empty DOM elements once initialized, however these elements are not attached to the visible DOM in order to allow them to be constructed without an impact on the performance of rendering.
-
-```javascript
-it('Should be tied to a DOM element when created, based off the property provided.', function() {
- //what html element tag name represents this view?
- expect(todoView.el.tagName.toLowerCase()).toBe('li');
-});
-```
-
-Once again, if the TodoView has not already been written, we will experience failing specs. Thankfully, solving this is as simple as creating a new Backbone.View with a specific ```tagName```.
-
-```javascript
-var todoView = Backbone.View.extend({
- tagName: "li"
-});
-```
-
-If instead of testing against the ```tagName``` you would prefer to use a className instead, we can take advantage of jasmine-jquery's ```toHaveClass()``` matcher to cater for this.
-
-```javascript
-it('Should have a class of "todos"'), function(){
- expect($(this.view.el)).toHaveClass('todos');
-});
-````
-
-The ```toHaveClass()``` matcher operates on jQuery objects and if the plugin hadn't been used, an exception would have been incurred (it is of course also possible to test for the className by accessing el.className if not opting to use jasmine-jquery).
-
-You may have noticed that in ```beforeEach()```, we passed our view an initial (albeit unfilled) Todo model. Views should be backed by a model instance which provides data. As this is quite important to our view's ability to function, we can write a spec to ensure a model is both defined (using the ```toBeDefined()``` matcher) and then test attributes of the model to ensure defaults both exist and are the value we expect them to be.
-
-```javascript
-it('Is backed by a model instance, which provides the data.', function() {
-
- expect(todoView.model).toBeDefined();
-
- // what's the value for Todo.get('done') here?
- expect(todoView.model.get('done')).toBe(false); //or toBeFalsy()
-});
-```
-
-##View rendering
-
-
-Next we're going to take a look at writing specs for view rendering. Specifically, we want to test that our TodoView elements are actually rendering as expected.
-
-In smaller applications, those new to BDD might argue that visual confirmation of view rendering could replace unit testing of views. The reality is that when dealing with applications that might grow to multiple-views, it often makes sense to automate this process as much as possible from the get-go. There are also aspects of rendering that require verification beyond what is visually presented on-screen (which we'll see very shortly).
-
-We're going to begin testing views by writing two specs. The first spec will check that the view's ```render()``` method is correctly returning the view instance, which is necessary for chaining. Our second spec will check that the HTML produced is exactly what we expect based on the properties of the model instance that's been associated with our TodoView.
-
-Unlike some of the previous specs we've covered, this section will make greater use of ```beforeEach()``` to both demonstrate how to use nested suites and also ensure a consistant set of conditions for our specs. In our first view spec for TodoView, we're simply going to create a sample model (based on Todo) and instantiate a TodoView which associates it with the model.
-
-```javascript
-describe("TodoView", function() {
-
- beforeEach(function() {
- this.model = new Backbone.Model({
- text: "My Todo",
- order: 1,
- done: false
- });
- this.view = new TodoView({model:this.model});
- });
-
- describe("Rendering", function() {
-
- it("returns the view object", function() {
- expect(this.view.render()).toEqual(this.view);
- });
-
- it("produces the correct HTML", function() {
- this.view.render();
-
- //let's use jasmine-jquery's toContain() to avoid
- //testing for the complete content of a todo's markup
- expect(this.view.el.innerHTML)
- .toContain('');
- });
-
- });
-
-});
-```
-
-
-Once these specs are run, only the second one ('produces the correct HTML') fails. Our first spec ('returns the view object'), which is testing that the TodoView instance is returned from ```render()```, only passed as this is Backbone's default behaviour. We haven't yet overwritten the ```render()``` method with our own version.
-
-**Note:** For the purposes of maintaining readability, all template examples in this section will use a minimal version of the following Todo view template. As it's relatively trivial to expand this, please feel free to refer to this sample if needed:
-
-
-```
-
-
- />
-
<%= content %>
-
-
-
-
-
-
-```
-
-
-The second spec fails with the following message:
-
-Expected '' to contain ```''```.
-
-The reason for this is the default behaviour for render() doesn't create any markup. Let's write a replacement for render() which fixes this:
-
-```javascript
-render: function() {
- var template = '';
- var output = template
- .replace("<%= text %>", this.model.get('text'));
- $(this.el).html(output);
- return this;
-}
-```
-
-The above specifies an inline string template and replaces fields found in the template within the "<% %>" blocks with their corresponding values from the associated model. As we're now also returning the TodoView instance from the method, the first spec will also pass. It's worth noting that there are serious drawbacks to using HTML strings in your specs to test against like this. Even minor changes to your template (a simple tab or whitespace) would cause your spec to fail, despite the rendered output being the same. It's also more time consuming to maintain as most templates in real-world applications are significantly more complex. A better option for testing rendered output is using jQuery to both select and inspect values.
-
-With this in mind, let's re-write the specs, this time using some of the custom matchers offered by jasmine-jquery:
-
-
-```javascript
-describe("Template", function() {
-
- beforeEach(function() {
- this.view.render();
- });
-
- it("has the correct text content", function() {
- expect($(this.view.el).find('todo-content'))
- .toHaveText('My Todo');
- });
-
-});
-```
-
-
-It would be impossible to discuss unit testing without mentioning fixtures. Fixtures typically contain test data (e.g HTML) that is loaded in when needed (either locally or from an external file) for unit testing. So far we've been establishing jQuery expectations based on the view's el property. This works for a number of cases, however, there are instances where it may be necessary to render markup into the document. The most optimal way to handle this within specs is through using fixtures (another feature brought to us by the jasmine-jquery plugin).
-
-Re-writing the last spec to use fixtures would look as follows:
-
-
-```javascript
-describe("TodoView", function() {
-
- beforeEach(function() {
- ...
- setFixtures('
');
- });
-
- ...
-
- describe("Template", function() {
-
- beforeEach(function() {
- $('.todos').append(this.view.render().el);
- });
-
- it("has the correct text content", function() {
- expect($('.todos').find('.todo-content'))
- .toHaveText('My Todo');
- });
-
- });
-
-});
-```
-
-What we're now doing in the above spec is appending the rendered todo item into the fixture. We then set expectations against the fixture, which may be something desirable when a view is setup against an element which already exists in the DOM. It would be necessary to provide both the fixture and test the ```el``` property correctly picking up the element expected when the view is instantiated.
-
-
-##Rendering with a templating system
-
-
-JavaScript templating systems (such as Handlebars, Mustache and even Underscore's own Micro-templating) support conditional logic in template strings. What this effectively means is that we can add if/else/ternery expressions inline which can then be evaluated as needed, allowing us to build even more powerful templates.
-
-In our case, when a user sets a Todo item to be complete (done), we may wish to provide them with visual feedback (such as a striked line through the text) to differenciate the item from those that are remaining. This can be done by attaching a new class to the item. Let's begin by writing a test we would ideally like to work:
-
-
-```javascript
-describe("When a todo is done", function() {
-
- beforeEach(function() {
- this.model.set({done: true}, {silent: true});
- $('.todos').append(this.view.render().el);
- });
-
- it("has a done class", function() {
- expect($('.todos .todo-content:first-child'))
- .toHaveClass("done");
- });
-
-});
-```
-
-This will fail with the following message:
-
-Expected ''
-to have class 'done'.
-
-which can be fixed in the existing render() method as follows:
-
-
-```javascript
-render: function() {
- var template = '';
- var output = template
- .replace("<%= text %>", this.model.get('text'));
- $(this.el).html(output);
- if (this.model.get('done')) {
- this.$(".todo-content").addClass("done");
- }
- return this;
-}
-```
-
-
-This can however get unweildly fairly quickly. As the logic in our templates increases, so does the complexity involved. This is where templates libraries can help. As mentioned earlier, there are a number of popular options available, but for the purposes of this chapter we're going to stick to using Underscore's built-in Microtemplating. Whilst there are more advanced options you're free to explore, the benefit of this is that no additional files are required and we can easily change the existing Jasmine specs without too much adjustment.
-
-The TodoView object modified to use Underscore templating would look as follows:
-
-```javascript
-var TodoView = Backbone.View.extend({
-
- tagName: "li",
-
- initialize: function(options) {
- this.template = _.template(options.template || "");
- },
-
- render: function() {
- $(this.el).html(this.template(this.model.toJSON()));
- return this;
- },
-
- ...
-
-});
-```
-
-
-Above, the initialize() method compiles a supplied Underscore template (using the _.template() function) in the instantiation. A more common way of referencing templates is placing them in a script tag using a custom script type (e.g type="text/template"). As this isn't a script type any browser understands, it's simply ignored, however referencing the script by an id attribute allows the template to be kept separate to other parts of the page which wish to use it. In real world applications, it's preferable to either do this or load in templates stored in external files for testing.
-
-For testing purposes, we're going to continue using the string injection approach to keep things simple. There is however a useful trick that can be applied to automatically create or extend teamplates in the Jasmine scope for each test. By creating a new directory (say, 'templates') in the 'spec' folder and adding a new script file with the following contents, to jasmine.yml or SpecRunner.html, we can add a todo property which contains the Underscore template we wish to use:
-
-```javascript
-beforeEach(function() {
- this.templates = _.extend(this.templates || {}, {
- todo: ''
- });
-});
-```
-
-To finish this off, we simply update our existing spec to reference the template when instantiating the TodoView object:
-
-
-```javascript
-describe("TodoView", function() {
-
- beforeEach(function() {
- ...
- this.view = new TodoView({
- model: this.model,
- template: this.templates.todo
- });
- });
-
- ...
-
-});
-```
-
-
-The existing specs we've looked at would continue to pass using this approach, leaving us free to adjust the template with some additional conditional logic for Todos with a status of 'done':
-
-```javascript
-beforeEach(function() {
- this.templates = _.extend(this.templates || {}, {
- todo: ''
- });
-});
-```
-
-This will now also pass without any issues. Remember that jasmine-jquery also supports loading external fixtures into your specs easily using it's build in ```loadFixtures()``` and ```readFixtures()``` methods. For more information, consider reading the official jasmine-jquery [docs](https://github.com/velesin/jasmine-jquery).
-
-
-##Conclusions
-
-We have now covered how to write Jasmine tests for models, views and collections with Backbone.js. Whilst testing routing can at times be desirable, some developers feel it can be more optimal to leave this to third-party tools such as Selenium, so do keep this in mind.
-
-James Newbery was kind enough to help me with writing the Views section above and his articles on [Testing Backbone Apps With SinonJS](http://tinnedfruit.com/2011/04/26/testing-backbone-apps-with-jasmine-sinon-3.html) were of great inspiration (you'll actually find some Handlebars examples of the view specs in part 3 of his article). If you would like to learn more about writing spies and mocks for Backbone using [SinonJS](http://sinonjs.org) as well as how to test Backbone routers, do consider reading his series.
-
-##Exercise
-
-As an exercise, I recommend now downloading [Backbone Koans](http://github.com/addyosmani/backbone-koans) and trying to fix some of the purposefully failing tests it has to offer. This is an excellent way of not just learning how Jasmine specs and suites work, but working through the examples (without peaking back) will also put your Backbone skills to test too.
-
-**Note**: I've linked to this book's fork of Koans in case any project-specific changes are required, however, in case you would like to check out the original project on GitHub, please feel [free](https://github.com/larrymyers/backbone-koans) to.
-
-##Further reading
-* [Jasmine + Backbone Revisited](http://japhr.blogspot.com/2011/11/jasmine-backbonejs-revisited.html)
-* [Backbone, PhantomJS and Jasmine](http://japhr.blogspot.com/2011/12/phantomjs-and-backbonejs-and-requirejs.html)
-
-
-
-#Resources
-
-Whilst we get with Backbone out of the box can be terribly useful, there are some equally as beneficial add-ons that can help simplify our development process. These include:
-
-* [Backbone Layout Manager](https://github.com/tbranyen/backbone.layoutmanager)
-* [Backbone Model Binding](https://github.com/derickbailey/backbone.modelbinding)
-* [Backbone Relational - for model relationships](https://github.com/PaulUithol/Backbone-relational)
-* [View and model inheritance](https://gist.github.com/1271041)
-* [Backbone CouchDB](https://github.com/janmonschke/backbone-couchdb)
-* [Backbone Validations - HTML5 inspired validations](https://github.com/n-time/backbone.validations)
-
-In time, there will be tutorials in the book covering some of these resources but until then, please feel free to check them out.
+#### Linux Debian based distros:
+* apt-get install pandoc
+* apt-get install texlive-latex-base
+* apt-get install texlive-fonts-recommended
+* apt-get install cm-super
diff --git a/backbone-fundamentals.epub b/backbone-fundamentals.epub
new file mode 100644
index 00000000..92413b6e
Binary files /dev/null and b/backbone-fundamentals.epub differ
diff --git a/backbone-fundamentals.md b/backbone-fundamentals.md
new file mode 100644
index 00000000..0d64def3
--- /dev/null
+++ b/backbone-fundamentals.md
@@ -0,0 +1,16110 @@
+
+## Prelude
+
+![](img/logo.jpg)
+
+Not so long ago, "data-rich web application" was an oxymoron. Today, these applications are everywhere and you need to know how to build them.
+
+Traditionally, web applications left the heavy-lifting of data to servers that pushed HTML to the browser in complete page loads. The use of client-side JavaScript was limited to improving the user experience. Now this relationship has been inverted - client applications pull raw data from the server and render it into the browser when and where it is needed.
+
+Think of the Ajax shopping cart which doesn't require a refresh on the page when adding an item to your basket. Initially, jQuery became the go-to library for this paradigm. Its nature was to make Ajax requests then update text on the page and so on. However, this pattern with jQuery revealed that we have implicit model data on the client side. With the server no longer being the only place that knows about our item count, it was a hint that there was a natural tension and pull of this evolution.
+
+The rise of arbitrary code on the client-side which can talk to the server however it sees fit has meant an increase in client-side complexity. Good architecture on the client has gone from an afterthought to essential - you can't just hack together some jQuery code and expect it to scale as your application grows. Most likely, you would end up with a nightmarish tangle of UI callbacks entwined with business logic, destined to be discarded by the poor soul who inherits your code.
+
+Thankfully, there are a growing number of JavaScript libraries that can help improve the structure and maintainability of your code, making it easier to build ambitious interfaces without a great deal of effort. [Backbone.js](http://documentcloud.github.com/backbone/) has quickly become one of the most popular open-source solutions to these issues and in this book we will take you through an in-depth walkthrough of it.
+
+Begin with the fundamentals, work your way through the exercises, and learn how to build an application that is both cleanly organized and maintainable. If you are a developer looking to write code that can be more easily read, structured, and extended - this guide can help.
+
+Improving developer education is important to me, which is why this book is released under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported [license](http://creativecommons.org/licenses/by-nc-sa/3.0/). This means you can purchase or grab a copy of the book for [free](http://addyosmani.github.com/backbone-fundamentals/) or help to further [improve](https://github.com/addyosmani/backbone-fundamentals/) it. Corrections to existing material are always welcome and I hope that together we can provide the community with an up-to-date resource that is of help.
+
+My extended thanks go out to [Jeremy Ashkenas](https://github.com/jashkenas) and [DocumentCloud](documentcloud.org) for creating Backbone.js and [these](https://github.com/addyosmani/backbone-fundamentals/contributors) members of the community for their assistance making this project far better than I could have imagined.
+
+## Target Audience
+
+This book is targeted at novice to intermediate developers wishing to learn how to better structure their client-side code. An understanding of JavaScript fundamentals is required to get the most out of it, however we have tried to provide a basic description of these concepts where possible.
+
+## Acknowledgements
+
+I am indebted to the fantastic work done by the technical reviewers who helped review and improve this book. Their knowledge, energy, and passion have helped shape it into a better learning resource and they continue to serve as a source of inspiration. Thanks go out to:
+
+* [Marc Friedman](https://github.com/dcmaf)
+* [Derick Bailey](https://github.com/derickbailey)
+* [Jeremy Ashkenas](https://github.com/jashkenas)
+* [Samuel Clay](https://github.com/samuelclay)
+* [Mat Scales](http://github.com/wibblymat)
+* [Alex Graul](https://github.com/alexgraul)
+* [Dusan Gledovic](https://github.com/g6scheme)
+* [Sindre Sorhus](https://github.com/sindresorhus)
+
+I would also like to thank my loving family for their patience and support while I worked on this book, as well as my brilliant editor Mary Treseler.
+
+## Credits
+
+None of this work would have been possible without the time and effort invested by the other developers and authors in the community who helped contribute to it. I would like to extend my thanks to:
+
+* Derick and Marc (once again)
+* [Ryan Eastridge](https://github.com/eastridge)
+* [Jack Franklin](https://github.com/jackfranklin)
+* [David Amend](https://github.com/raDiesle)
+* [Mike Ball](https://github.com/mdb)
+* [Uģis Ozols](https://github.com/ugisozols)
+* [Björn Ekengren](https://github.com/Ekengren)
+
+as well as our other excellent [contributors](https://github.com/addyosmani/backbone-fundamentals/graphs/contributors) that made this project possible.
+
+## Reading
+
+I assume your level of knowledge about JavaScript goes beyond the basics and as such certain topics such as object literals are skipped. If you need to learn more about the language, I am happy to suggest:
+
+* [Eloquent JavaScript](http://eloquentjavascript.net/)
+* [JavaScript: The Definitive Guide](http://shop.oreilly.com/product/9780596805531.do) by David Flanagan (O’Reilly)
+* [Effective JavaScript](http://www.informit.com/store/effective-javascript-68-specific-ways-to-harness-the-9780321812186) by David Herman (Pearson)
+* [JavaScript: The Good Parts](http://shop.oreilly.com/product/9780596517748.do) by Douglas Crockford (O’Reilly)
+* [Object-Oriented JavaScript](http://www.amazon.com/Object-Oriented-Javascript-Stoyan-Stefanov/dp/1847194141) by Stoyan Stefanov (Packt Publishing)
+
+
+# Introduction
+
+Frank Lloyd Wright once said “You can’t make an architect. You can however open the doors and windows toward the light as you see it.” In this book, I hope to shed some light on how to improve the structure of your web applications, opening doors to what will hopefully be more maintainable, readable applications in your future.
+
+The goal of all architecture is to build something well; in our case, to craft code that is enduring and delights both ourselves and the developers who will maintain our code long after we are gone. We all want our architecture to be simple, yet beautiful.
+
+Modern JavaScript frameworks and libraries can bring structure and organization to your projects, establishing a maintainable foundation right from the start. They build on the trials and tribulations of developers who have had to work around callback chaos similar to that which you are facing now or may in the near future.
+
+When developing applications using just jQuery, the piece missing is a way to structure and organize your code. It's very easy to create a JavaScript app that ends up a tangled mess of jQuery selectors and callbacks, all desperately trying to keep data in sync between the HTML for your UI, the logic in your JavaScript, and calls to your API for data.
+
+Without something to help tame the mess, you're likely to string together a set of independant plugins and libraries to make up the functionality or build everything yourself from scratch and have to maintain it yourself. Backbone solves this problem for you, providing a way to cleanly organize code, separating responsibilities into recognizable pieces that are easy to maintain.
+
+In "Developing Backbone.js Applications," I and a number of other experienced authors will show you how to improve your web application structure using the popular JavaScript library, Backbone.js
+
+### What Is MVC?
+
+A number of modern JavaScript frameworks provide developers an easy path to organizing their code using variations of a pattern known as MVC (Model-View-Controller). MVC separates the concerns in an application into three parts:
+
+* Models represent the domain-specific knowledge and data in an application. Think of this as being a ‘type’ of data you can model — like a User, Photo, or Todo note. Models can notify observers when their state changes.
+* Views typically constitute the user interface in an application (e.g., markup and templates), but don’t have to be. They observe Models, but don’t directly communicate with them.
+* Controllers handle input (e.g., clicks, user actions) and update Models.
+
+Thus, in an MVC application, user input is acted upon by Controllers which update Models. Views observe Models and update the user interface when changes occur.
+
+JavaScript MVC frameworks don’t always strictly follow the above pattern. Some solutions (including Backbone.js) merge the responsibility of the Controller into the View, while other approaches add additional components into the mix.
+
+For this reason we refer to such frameworks as following the MV* pattern; that is, you’re likely to have a Model and a View, but a distinct Controller might not be present and other components may come into play.
+
+### What is Backbone.js?
+
+![](img/backbonejsorg.jpg)
+
+Backbone.js is a lightweight JavaScript library that adds structure to your client-side code. It makes it easy to manage and decouple concerns in your application, leaving you with code that is more maintainable in the long term.
+
+Developers commonly use libraries like Backbone.js to create single-page applications (SPAs). SPAs are web applications that load into the browser and then react to data changes on the client side without requiring complete page refreshes from the server.
+
+Backbone is mature, popular, and has both a vibrant developer community as well as a wealth of plugins and extensions available that build upon it. It has been used to create non-trivial applications by companies such as Disqus, Walmart, SoundCloud and LinkedIn.
+
+Backbone focuses on giving you helpful methods for querying and manipulating your data rather than re-inventing the JavaScript object model. It's a library, rather than a framework, that plays well with others and scales well, from embedded widgets to large-scale applications.
+
+As it's small, there is also less your users have to download on mobile or slower connections. The entire Backbone source can be read and understood in just a few hours.
+
+### When Do I Need A JavaScript MVC Framework?
+
+When building a single-page application using JavaScript, whether it involves a complex user interface or is simply trying to reduce the number of HTTP requests required for new Views, you will likely find yourself inventing many of the pieces that make up an MV* framework.
+
+At the outset, it isn’t terribly difficult to write your own application framework that offers some opinionated way to avoid spaghetti code; however, to say that it is equally as trivial to write something as robust as Backbone would be a grossly incorrect assumption.
+
+There’s a lot more that goes into structuring an application than tying together a DOM manipulation library, templating, and routing. Mature MV* frameworks typically include not only the pieces you would find yourself writing, but also include solutions to problems you’ll find yourself running into later on down the road. This is a time-saver that you shouldn’t underestimate the value of.
+
+So, where will you likely need an MV* framework and where won’t you?
+
+If you’re writing an application where much of the heavy lifting for view rendering and data manipulation will be occurring in the browser, you may find a JavaScript MV* framework useful. Examples of applications that fall into this category are GMail, NewsBlur and the LinkedIn mobile app.
+
+These types of applications typically download a single payload containing all the scripts, stylesheets, and markup users need for common tasks and then perform a lot of additional behavior in the background. For instance, it’s trivial to switch between reading an email or document to writing one without sending a new page request to the server.
+
+If, however, you’re building an application that still relies on the server for most of the heavy-lifting of page/view rendering and you’re just using a little JavaScript or jQuery to make things more interactive, an MV* framework may be overkill. There certainly are complex Web applications where the partial rendering of views can be coupled with a single-page application effectively, but for everything else, you may find yourself better sticking to a simpler setup.
+
+Maturity in software (framework) development isn't simply about how long a framework has been around. It's about how solid the framework is and more importantly how well it's evolved to fill its role. Has it become more effective at solving common problems? Does it continue to improve as developers build larger and more complex applications with it?
+
+
+### Why Consider Backbone.js?
+
+Backbone provides a minimal set of data-structuring (Models, Collections) and user interface (Views, URLs) primitives that are helpful when building dynamic applications using JavaScript. It's not opinionated, meaning you have the freedom and flexibility to build the best experience for your web application how you see fit. You can either use the prescribed architecture it offers out of the box or extend it to meet your requirements.
+
+The library doesn't focus on widgets or replacing the way you structure objects - it just supplies you with utilities for manipulating and querying data in your application. It also doesn't prescribe a specific template engine - while you are free to use the Micro-templating offered by Underscore.js (one of it's dependencies), views can bind to HTML constructed using your templating solution of choice.
+
+Looking at the [large](http://backbonejs.org/#examples) number of applications built with Backbone, it's clear that it scales well. Backbone also works quite well with other libraries, meaning you can embed Backbone widgets in an application written with AngularJS, use it with TypeScript, or just use an individual class (like Models) as a data backer for simpler apps.
+
+There are no performance drawbacks to using Backbone to structure your application. It avoids run loops, two-way binding, and constant polling of your data structures for updates and tries to keep things simple where possible. That said, should you wish to go against the grain, you can of course implement such things on top of it. Backbone won't stop you.
+
+With a vibrant community of plugin and extension authors, there's a liklihood that if you're looking to achieve some behavior Backbone is lacking, a complementary project exists that works well with it. This is made simpler by Backbone offering literate documentation of its source code, allowing anyone an opportunity to easily understand what is going on behind the scenes.
+
+Having been refined over two and a half years of development, Backbone is a mature library that will continue to offer a minimalist solution for building better web applications. I regularly use it and hope that you find it as useful an addition to your toolbelt as I have.
+
+
+### Setting Expectations
+
+The goal of this book is to create an authoritative and centralized repository of information that can help those developing real-world apps with Backbone. If you come across a section or topic which you think could be improved or expanded on, please feel free to submit an issue (or better yet, a pull-request) on the book's [GitHub site](https://github.com/addyosmani/backbone-fundamentals). It won't take long and you'll be helping other developers avoid the problems you ran into.
+
+Topics will include MVC theory and how to build applications using Backbone's Models, Views, Collections, and Routers. I'll also be taking you through advanced topics like modular development with Backbone.js and AMD (via RequireJS), solutions to common problems like nested views, how to solve routing problems with Backbone and jQuery Mobile, and much more.
+
+Here is a peek at what you will be learning in each chapter:
+
+Chapter 2, Fundamentals traces the history of the MVC design pattern and introduces how it is implemented by Backbone.js and other JavaScript frameworks.
+
+Chapter 3, Backbone Basics covers the major features of the Backbone.js core and the technologies and techniques you will need to know in order to apply it.
+
+Chapter 4, Exercise 1: Todos - Your First Backbone.js App takes you step-by-step through development of a simple client-side Todo List application.
+
+Chapter 5, Exercise 2: Book Library - Your First RESTful Backbone.js App walks you through development of a Book Library application which persists its model to a server using a REST API.
+
+Chapter 6, Backbone Extensions describes Backbone.Marionette and Thorax, two extension frameworks which add features to Backbone.js that are useful for developing large-scale applications.
+
+Chapter 7, Common Problems and Solutions reviews common issues you may encounter when using Backbone.js and ways of addressing them.
+
+Chapter 8, Modular Development looks at how AMD modules and RequireJS can be used to modularize your code.
+
+Chapter 9, Exercise 3: Todos - Your First Modular Backbone + RequireJS App takes you through rewriting the app created in Exercise 1 to be more modular with the help of RequireJS.
+
+Chapter 10, Paginating Backbone Requests & Collections walks through how to use the Backbone.Paginator plugin to paginate data for your Collections.
+
+Chapter 11, Backbone Boilerplate And Grunt BBB introduces powerful tools you can use to bootstrap a new Backbone.js application with boilerplate code.
+
+Chapter 12, Mobile Applications addresses the issues that arise when using Backbone with jQuery Mobile.
+
+Chapter 13, Jasmine covers how to unit test Backbone code using the Jasmine test framework.
+
+Chapter 14, QUnit discusses how to use the QUnit for unit testing.
+
+Chapter 15, SinonJS discusses how to use SinonJS for unit testing your Backbone apps.
+
+Chapter 16, Resources provides references to additional Backbone-related resources.
+
+Chapter 17, Conclusions wraps up the our tour through the world of Backbone.js development.
+
+Chapter 18, Appendix returns to our design pattern discussion by contrasting MVC with the Model-View-Presenter (MVP) pattern and examines how Backbone.js relates to both. A walkthrough of writing a Backbone-like library from scratch and other topics are also covered.
+
+# Fundamentals
+
+Design patterns are proven solutions to common development problems that can help us improve the organization and structure of our applications. By using patterns, we benefit from the collective experience of skilled developers who have repeatedly solved similar problems.
+
+Historically, developers creating desktop and server-class applications have had a wealth of design patterns available for them to lean on, but it's only been in the past few years that such patterns have been applied to client-side development.
+
+In this chapter, we're going to explore the evolution of the Model-View-Controller (MVC) design pattern and get our first look at how Backbone.js allows us to apply this pattern to client-side development.
+
+## MVC
+
+MVC is an architectural design pattern that encourages improved application organization through a separation of concerns. It enforces the isolation of business data (Models) from user interfaces (Views), with a third component (Controllers) traditionally managing logic, user-input, and coordination of Models and Views. The pattern was originally designed by [Trygve Reenskaug](http://en.wikipedia.org/wiki/Trygve_Reenskaug) while working on Smalltalk-80 (1979), where it was initially called Model-View-Controller-Editor. MVC was described in depth in [“Design Patterns: Elements of Reusable Object-Oriented Software”](http://www.amazon.co.uk/Design-patterns-elements-reusable-object-oriented/dp/0201633612) (The "GoF" or “Gang of Four” book) in 1994, which played a role in popularizing its use.
+
+
+### Smalltalk-80 MVC
+
+It's important to understand the issues that the original MVC pattern was aiming to solve as it has changed quite heavily since the days of its origin. Back in the 70's, graphical user-interfaces were few and far between. An approach known as [Separated Presentation](http://martinfowler.com/eaaDev/uiArchs.html) began to be used as a means to make a clear division between domain objects which modeled concepts in the real world (e.g., a photo, a person) and the presentation objects which were rendered to the user's screen.
+
+The Smalltalk-80 implementation of MVC took this concept further and had an objective of separating out the application logic from the user interface. The idea was that decoupling these parts of the application would also allow the reuse of Models for other interfaces in the application. There are some interesting points worth noting about Smalltalk-80's MVC architecture:
+
+* A Domain element was known as a Model and was ignorant of the user-interface (Views and Controllers)
+* Presentation was taken care of by the View and the Controller, but there wasn't just a single View and Controller. A View-Controller pair was required for each element being displayed on the screen and so there was no true separation between them
+* The Controller's role in this pair was handling user input (such as key-presses and click events) and doing something sensible with them
+* The Observer pattern was used to update the View whenever the Model changed
+
+Developers are sometimes surprised when they learn that the Observer pattern (nowadays commonly implemented as a Publish/Subscribe system) was included as a part of MVC's architecture decades ago. In Smalltalk-80's MVC, the View and Controller both observe the Model: anytime the Model changes, the Views react. A simple example of this is an application backed by stock market data - for the application to show real-time information, any change to the data in its Model should result in the View being refreshed instantly.
+
+Martin Fowler has done an excellent job of writing about the [origins](http://martinfowler.com/eaaDev/uiArchs.html) of MVC over the years and if you are interested in further historical information about Smalltalk-80's MVC, I recommend reading his work.
+
+### MVC Applied To The Web
+
+The web heavily relies on the HTTP protocol, which is stateless. This means that there is not a constantly open connection between the browser and server; each request instantiates a new communication channel between the two. Once the request initiator (e.g. a browser) gets a response the connection is closed. This fact creates a completely different context when compared to the one of the operating systems on which many of the original MVC ideas were developed. The MVC implementation has to conform to the web context.
+
+An example of a server-side web application framework which tries to apply MVC to the web context is [Ruby On Rails](http://guides.rubyonrails.org/).
+
+![](img/rails_mvc.png)
+
+At it's core are the three MVC components we would expect - the Model, View and Controller architecture. In Rails:
+
+* Models represent the data in an application and are typically used to manage rules for interacting with a specific database table. You generally have one table corresponding to one model with much of your application's business logic living within these models.
+* Views represent your user interface, often taking the form of HTML that will be sent down to the browser. They're used to present application data to anything making requests from your application.
+* Controllers offer the glue between models and views. Their responsibility is to process requests from the browser, ask your models for data and then supply this data to views so that they may be presented to the browser.
+
+Although there's a clear separation of concerns that is MVC-like in Rails, it is actually using a different pattern called [Model2](http://en.wikipedia.org/wiki/Model2). Justifications for this include that Rails does not notify views from the model and controllers just pass model data directly to the view.
+
+That said, even for the server-side workflow of receiving a request from a URL, baking out an HTML page as a response and separating your business logic from your interface has many benefits. In the same way that keeping your UI cleanly separate from your database records is useful in server-side frameworks, it's equally as useful to keep your UI cleanly separated from your data models in JavaScript (as we will read more about shortly).
+
+Other server-side implementations of MVC (such as the PHP [Zend](http://zend.com) framework) also implement the [Front Controller](http://en.wikipedia.org/wiki/Front_Controller_pattern) design pattern. This pattern layers an MVC stack behind a single point of entry. This single point of entry means that all HTTP requests (e.g., `http://www.example.com`, `http://www.example.com/whichever-page/`, etc.) are routed by the server's configuration to the same handler, independent of the URI.
+
+When the Front Controller receives an HTTP request it analyzes it and decides which class (Controller) and method (Action) to invoke. The selected Controller Action takes over and interacts with the appropriate Model to fulfill the request. The Controller receives data back from the Model, loads an appropriate View, injects the Model data into it, and returns the response to the browser.
+
+For example, let's say we have our blog on `www.example.com` and we want to edit an article (with `id=43`) and request `http://www.example.com/article/edit/43`:
+
+On the server side, the Front Controller would analyze the URL and invoke the Article Controller (corresponding to the `/article/` part of the URI) and its Edit Action (corresponding to the `/edit/` part of the URI). Within the Action there would be a call to, let's say, the Articles Model and its `Articles::getEntry(43)` method (43 corresponding to the `/43` at the end of the URI). This would return the blog article data from the database for edit. The Article Controller would then load the (`article/edit`) View which would include logic for injecting the article's data into a form suitable for editing its content, title, and other (meta) data. Finally, the resulting HTML response would be returned to the browser.
+
+As you can imagine, a similar flow is necessary with POST requests after we press a save button in a form. The POST action URI would look like `/article/save/43`. The request would go through the same Controller, but this time the Save Action would be invoked (due to the `/save/` URI chunk), the Articles Model would save the edited article to the database with `Articles::saveEntry(43)`, and the browser would be redirected to the `/article/edit/43` URI for further editing.
+
+Finally, if the user requested `http://www.example.com/` the Front Controller would invoke the default Controller and Action; e.g., the Index Controller and its Index action. Within Index Action there would be a call to the Articles model and its `Articles::getLastEntries(10)` method which would return the last 10 blog posts. The Controller would load the blog/index View which would have basic logic for listing the blog posts.
+
+The picture below shows this typical HTTP request/response lifecycle for server-side MVC:
+
+![](img/webmvcflow_bacic.png)
+
+The Server receives an HTTP request and routes it through a single entry point. At that entry point, the Front Controller analyzes the request and based on it invokes an Action of the appropriate Controller. This process is called routing. The Action Model is asked to return and/or save submitted data. The Model communicates with the data source (e.g., database or API). Once the Model completes its work it returns data to the Controller which then loads the appropriate View. The View executes presentation logic (loops through articles and prints titles, content, etc.) using the supplied data. In the end, an HTTP response is returned to the browser.
+
+### Client-Side MVC & Single Page Apps
+
+Several [studies](http://radar.oreilly.com/2009/07/velocity-making-your-site-fast.html) have confirmed that improvements to latency can have a positive impact on the usage and user engagement of sites and apps. This is at odds with the traditional approach to web app development which is very server-centric, requiring a complete page reload to move from one page to the next. Even with heavy caching in place, the browser still has to parse the CSS, JavaScript, and HTML and render the interface to the screen.
+
+In addition to resulting in a great deal of duplicated content being served back to the user, this approach affects both latency and the general responsiveness of the user experience. A trend to improve perceived latency in the past few years has been to move towards building Single Page Applications (SPAs) - apps which after an initial page load are able to handle subsequent navigations and requests for data without the need for a complete reload.
+
+When a user navigates to a new view, additional content required for the view is requested using an XHR (XMLHttpRequest), typically communicating with a server-side REST API or endpoint. [Ajax](https://en.wikipedia.org/wiki/Ajax_(programming))(Asynchronous JavaScript and XML) makes communication with the server asynchronous so that data is transferred and processed in the background, allowing the user to work on other parts of a page without interaction. This improves usability and responsiveness.
+
+SPAs can also take advantage of browser features like the [History API](http://diveintohtml5.info/history.html) to update the address seen in the location bar when moving from one view to another. These URLs also make it possible to bookmark and share a particular application state, without the need to navigate to completely new pages.
+
+The typical SPA consists of smaller pieces of interface representing logical entities, all of which have their own UI, business logic and data. A good example is a basket in a shopping web application which can have items added to it. This basket might be presented to the user in a box in the top right corner of the page (see the picture below):
+
+![](img/wireframe_e_commerce.png)
+
+The basket and its data are presented in HTML. The data and its associated View in HTML changes over time. There was a time when we used jQuery (or a similar DOM manipulation library) and a bunch of Ajax calls and callbacks to keep the two in sync. That often produced code that was not well-structured or easy to maintain. Bugs were frequent and perhaps even unavoidable.
+
+The need for fast, complex, and responsive Ajax-powered web applications demands replication of a lot of this logic on the client side, dramatically increasing the size and complexity of the code residing there. Eventually this has brought us to the point where we need MVC (or a similar architecture) implemented on the client side to better structure the code and make it easier to maintain and further extend during the application life-cycle.
+
+Through evolution and trial and error, JavaScript developers have harnessed the power of the traditional MVC pattern, leading to the development of several MVC-inspired JavaScript frameworks, such as Backbone.js.
+
+
+### Client-Side MVC - Backbone Style
+
+Let's take our first look at how Backbone.js brings the benefits of MVC to client-side development using a Todo application as our example. We will build on this example in the coming chapters when we explore Backbone's features but for now we will just focus on the core components' relationships to MVC.
+
+Our example will need a div element to which we can attach a list of Todo's. It will also need an HTML template containing a placeholder for a Todo item title and a completion checkbox which can be instantiated for Todo item instances. These are provided by the following HTML:
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+In our Todo application (demo.js), Backbone Model instances are used to hold the data for each Todo item:
+
+```javascript
+// Define a Todo Model
+var Todo = Backbone.Model.extend({
+ // Default todo attribute values
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+// Instantiate the Todo Model with a title, allowing completed attribute
+// to default to false
+var myTodo = new Todo({
+ title: 'Check attributes property of the logged models in the console.'
+});
+```
+
+Our Todo Model extends Backbone.Model and simply defines default values for two data attributes. As you will discover in the upcoming chapters, Backbone Models provide many more features but this simple Model illustrates that first and foremost a Model is a data container.
+
+Each Todo instance will be rendered on the page by a TodoView:
+
+```javascript
+var TodoView = Backbone.View.extend({
+
+ tagName: 'li',
+
+ // Cache the template function for a single item.
+ todoTpl: _.template( $('#item-template').html() ),
+
+ events: {
+ 'dblclick label': 'edit',
+ 'keypress .edit': 'updateOnEnter',
+ 'blur .edit': 'close'
+ },
+
+ // Called when the view is first created
+ initialize: function () {
+ this.$el = $('#todo');
+ // Later we'll look at:
+ // this.listenTo(someCollection, 'all', this.render);
+ // but you can actually run this example right now by
+ // calling TodoView.render();
+ },
+
+ // Re-render the titles of the todo item.
+ render: function() {
+ this.$el.html( this.todoTpl( this.model.toJSON() ) );
+ // $el here is a reference to the jQuery element
+ // associated with the view, todoTpl is a reference
+ // to an Underscore template and toJSON() returns an
+ // object containing the model's attributes
+ // Altogether, the statement is replacing the HTML of
+ // a DOM element with the result of instantiating a
+ // template with the model's attributes.
+ this.input = this.$('.edit');
+ return this;
+ },
+
+ edit: function() {
+ // executed when todo label is double clicked
+ },
+
+ close: function() {
+ // executed when todo loses focus
+ },
+
+ updateOnEnter: function( e ) {
+ // executed on each keypress when in todo edit mode,
+ // but we'll wait for enter to get in action
+ }
+});
+
+// create a view for a todo
+var todoView = new TodoView({model: myTodo});
+```
+
+TodoView is defined by extending Backbone.View and is instantiated with an associated Model. In our example, the ```render()``` method uses a template to construct the HTML for the Todo item which is placed inside a li element. Each call to ```render()``` will replace the content of the li element using the current Model data. Thus, a View instance renders the content of a DOM element using the attributes of an associated Model. Later we will see how a View can bind its ```render()``` method to Model change events, causing the View to re-render whenever the Model changes.
+
+So far, we have seen that Backbone.Model implements the Model aspect of MVC and Backbone.View implements the View. However, as we noted earlier, Backbone departs from traditional MVC when it comes to Controllers - there is no Backbone.Controller!
+
+Instead, the Controller responsibility is addressed within the View. Recall that Controllers respond to requests and perform appropriate actions which may result in changes to the Model and updates to the View. In a single-page application, rather than having requests in the traditional sense, we have events. Events can be traditional browser DOM events (e.g., clicks) or internal application events such as Model changes.
+
+In our TodoView, the ```events``` attribute fulfills the role of the Controller configuration, defining how events occurring within the View's DOM element are to be routed to event-handling methods defined in the View.
+
+While in this instance events help us relate Backbone to the MVC pattern, we will see them playing a much larger role in our SPA applications. Backbone.Event is a fundamental Backbone component which is mixed into both Backbone.Model and Backbone.View, providing them with rich event management capabilities. Note that the traditional controller role (Smalltalk-80 style) is performed by the template, not by the Backbone.View.
+
+This completes our first encounter with Backbone.js. The remainder of this book will explore the many features of the framework which build on these simple constructs. Before moving on, let's take a look at common features of JavaScript MV* frameworks.
+
+### Implementation Specifics
+
+An SPA is loaded into the browser using a normal HTTP request and response. The page may simply be an HTML file, as in our example above, or it could be a view constructed by a server-side MVC implementation.
+
+Once loaded, a client-side Router intercepts URLs and invokes client-side logic in place of sending a new request to the server. The picture below shows typical request handling for client-side MVC as implemented by Backbone:
+
+![](img/backbone_mvc.png)
+
+URL routing, DOM events (e.g., mouse clicks), and Model events (e.g., attribute changes) all trigger handling logic in the View. The handlers update the DOM and Models, which may trigger additional events. Models are synced with Data Sources which may involve communicating with back-end servers.
+
+#### Models
+
+* The built-in capabilities of Models vary across frameworks; however, it's common for them to support validation of attributes, where attributes represent the properties of the Model, such as a Model identifier.
+
+* When using Models in real-world applications we generally also need a way of persisting Models. Persistence allows us to edit and update Models with the knowledge that their most recent states will be saved somewhere, for example in a web browser's localStorage data-store or synchronized with a database.
+
+* A Model may have multiple Views observing it for changes. By *observing* we mean that a View has registered an interest in being informed whenever an update is made to the Model. This allows the View to ensure that what is displayed on screen is kept in sync with the data contained in the model. Depending on your requirements, you might create a single View displaying all Model attributes, or create separate Views displaying different attributes. The important point is that the Model doesn't care how these Views are organized, it simply announces updates to its data as necessary through the framework's event system.
+
+* It is not uncommon for modern MVC/MV* frameworks to provide a means of grouping Models together. In Backbone, these groups are called Collections. Managing Models in groups allows us to write application logic based on notifications from the group when a Model within the group changes. This avoids the need to manually observe individual Model instances. We'll see this in action later in the book. Collections are also useful for performing any aggregate computations across more than one model.
+
+
+#### Views
+
+* Users interact with Views, which usually means reading and editing Model data. For example, in our Todo application, Todo Model viewing happens in the user interface in the list of all Todo items. Within it, each Todo is rendered with its title and completed checkbox. Model editing is done through an "edit" View where a user who has selected a specific Todo edits its title in a form.
+
+* We define a ```render()``` utility within our View which is responsible for rendering the contents of the ```Model``` using a JavaScript templating engine (provided by Underscore.js) and updating the contents of our View, referenced by ```this.el```.
+
+* We then add our ```render()``` callback as a Model subscriber, so the View can be triggered to update when the Model changes.
+
+* You may wonder where user interaction comes into play here. When users click on a Todo element within the View, it's not the View's responsibility to know what to do next. A Controller makes this decision. In Backbone, this is achieved by adding an event listener to the Todo's element which delegates handling of the click to an event handler.
+
+**Templating**
+
+In the context of JavaScript frameworks that support MVC/MV*, it is worth looking more closely at JavaScript templating and its relationship to Views.
+
+It has long been considered bad practice (and computationally expensive) to manually create large blocks of HTML markup in-memory through string concatenation. Developers using this technique often find themselves iterating through their data, wrapping it in nested divs and using outdated techniques such as ```document.write``` to inject the 'template' into the DOM. This approach often means keeping scripted markup inline with standard markup, which can quickly become difficult to read and maintain, especially when building large applications.
+
+JavaScript templating libraries (such as Mustache or Handlebars.js) are often used to define templates for Views as HTML markup containing template variables. These template blocks can be either stored externally or within script tags with a custom type (e.g 'text/template'). Variables are delimited using a variable syntax (e.g `<%= title %>` for Underscore and `{{title}}` for Handlebars).
+
+JavaScript template libraries typically accept data in a number of formats, including JSON; a serialisation format that is always a string. The grunt work of populating templates with data is generally taken care of by the framework itself. This has several benefits, particularly when opting to store templates externally which enables applications to load templates dynamically on an as-needed basis.
+
+Let's compare two examples of HTML templates. One is implemented using the popular Handlebars.js library, and the other uses Underscore's 'microtemplates'.
+
+**Handlebars.js:**
+
+```html
+
+
+```
+
+You may also use double curly brackets (i.e ```{{}}```) (or any other tag you feel comfortable with) in Microtemplates. In the case of curly brackets, this can be done by setting the Underscore ```templateSettings``` attribute as follows:
+
+```javascript
+_.templateSettings = { interpolate : /\{\{(.+?)\}\}/g };
+```
+
+**A note on Navigation and State**
+
+It is also worth noting that in classical web development, navigating between independent views required the use of a page refresh. In single-page JavaScript applications, however, once data is fetched from a server via Ajax, it can be dynamically rendered in a new view within the same page. Since this doesn't automatically update the URL, the role of navigation thus falls to a "router", which assists in managing application state (e.g., allowing users to bookmark a particular view they have navigated to). As routers are neither a part of MVC nor present in every MVC-like framework, I will not be going into them in greater detail in this section.
+
+#### Controllers
+
+
+In our Todo application, a Controller would be responsible for handling changes the user made in the edit View for a particular Todo, updating a specific Todo Model when a user has finished editing.
+
+It's with Controllers that most JavaScript MVC frameworks depart from the traditional interpretation of the MVC pattern. The reasons for this vary, but in my opinion, Javascript framework authors likely initially looked at server-side interpretations of MVC (such as Ruby on Rails), realized that the approach didn't translate 1:1 on the client-side, and so re-interpreted the C in MVC to solve their state management problem. This was a clever approach, but it can make it hard for developers coming to MVC for the first time to understand both the classical MVC pattern and the "proper" role of Controllers in other JavaScript frameworks.
+
+So does Backbone.js have Controllers? Not really. Backbone's Views typically contain "Controller" logic, and Routers are used to help manage application state, but neither are true Controllers according to classical MVC.
+
+In this respect, contrary to what might be mentioned in the official documentation or in blog posts, Backbone isn't truly an MVC framework. It's in fact better to see it a member of the MV* family which approaches architecture in its own way. There is of course nothing wrong with this, but it is important to distinguish between classical MVC and MV* should you be relying on discussions of MVC to help with your Backbone projects.
+
+## What does MVC give us?
+
+To summarize, the MVC pattern helps you keep your application logic separate from your user interface, making it easier to change and maintain both. Thanks to this separation of logic, it is more clear where changes to your data, interface, or business logic need to be made and for what your unit tests should be written.
+
+### Delving Deeper into MVC
+
+Right now, you likely have a basic understanding of what the MVC pattern provides, but for the curious, we'll explore it a little further.
+
+The GoF (Gang of Four) do not refer to MVC as a design pattern, but rather consider it a "set of classes to build a user interface." In their view, it's actually a variation of three other classical design patterns: the Observer (Publish/Subscribe), Strategy, and Composite patterns. Depending on how MVC has been implemented in a framework, it may also use the Factory and Decorator patterns. I've covered some of these patterns in my other free book, "JavaScript Design Patterns For Beginners" if you would like to read about them further.
+
+As we've discussed, Models represent application data, while Views handle what the user is presented on screen. As such, MVC relies on Publish/Subscribe for some of its core communication (something that surprisingly isn't covered in many articles about the MVC pattern). When a Model is changed it "publishes" to the rest of the application that it has been updated. The "subscriber," generally a Controller, then updates the View accordingly. The observer-viewer nature of this relationship is what facilitates multiple Views being attached to the same Model.
+
+For developers interested in knowing more about the decoupled nature of MVC (once again, depending on the implementation), one of the goals of the pattern is to help define one-to-many relationships between a topic and its observers. When a topic changes, its observers are updated. Views and Controllers have a slightly different relationship. Controllers facilitate Views' responses to different user input and are an example of the Strategy pattern.
+
+### Summary
+
+Having reviewed the classical MVC pattern, you should now understand how it allows developers to cleanly separate concerns in an application. You should also now appreciate how JavaScript MVC frameworks may differ in their interpretation of MVC, and how they share some of the fundamental concepts of the original pattern.
+
+When reviewing a new JavaScript MVC/MV* framework, remember - it can be useful to step back and consider how it's opted to approach Models, Views, Controllers or other alternatives, as this can better help you understand how the framework is intended to be used.
+
+### Further reading
+
+If you are interested in learning more about the variation of MVC which Backbone.js uses, please see the MVP (Model-View-Presenter) section in the appendix.
+
+## Fast facts
+
+### Backbone.js
+
+* Core components: Model, View, Collection, Router. Enforces its own flavor of MV*
+* Event-driven communication between Views and Models. As we'll see, it's relatively straight-forward to add event listeners to any attribute in a Model, giving developers fine-grained control over what changes in the View
+* Supports data bindings through manual events or a separate Key-value observing (KVO) library
+* Support for RESTful interfaces out of the box, so Models can be easily tied to a backend
+* Extensive eventing system. It's [trivial](http://lostechies.com/derickbailey/2011/07/19/references-routing-and-the-event-aggregator-coordinating-views-in-backbone-js/) to add support for pub/sub in Backbone
+* Prototypes are instantiated with the ```new``` keyword, which some developers prefer
+* Agnostic about templating frameworks, however Underscore's micro-templating is available by default.
+* Clear and flexible conventions for structuring applications. Backbone doesn't force usage of all of its components and can work with only those needed.
+
+### Used by
+
+*Disqus*
+
+Disqus chose Backbone.js to power the latest version of their commenting widget. They felt it was the right choice for their distributed web app, given Backbone's small footprint and ease of extensibility.
+
+![](img/disqus.png)
+
+
+*Khan Academy*
+
+Offering a web app that aims to provide free world-class education to anyone anywhere, Khan use Backbone to keep their frontend code both modular and organized.
+
+![](img/khan-academy.png)
+
+
+*MetaLab*
+
+MetaLab created Flow, a task management app for teams using Backbone. Their workspace uses Backbone to create task views, activities, accounts, tags and more.
+
+![](img/flow.png)
+
+*Walmart Mobile*
+
+Walmart chose Backbone to power their mobile web applications, creating two new extension frameworks in the process - Thorax and Lumbar. We'll be discussing both of these later in the book.
+
+![](img/walmart-mobile.png)
+
+
+*AirBnb*
+
+Airbnb developed their mobile web app using Backbone and now use it across many of their products.
+
+![](img/airbnb.png)
+
+
+*Code School*
+
+Code School's course challenge app is built from the ground up using Backbone, taking advantage of all the pieces it has to offer: routers, collections, models and complex event handling.
+
+![](img/code-school.png)
+
+
+# Backbone Basics
+
+In this section, you'll learn the essentials of Backbone's models, views, collections, events, and routers. This isn't by any means a replacement for the official documentation, but it will help you understand many of the core concepts behind Backbone before you start building applications using it.
+
+### Getting set up
+
+Before we dive into more code examples, let's define some boilerplate markup you can use to specify the dependencies Backbone requires. This boilerplate can be reused in many ways with little to no alteration and will allow you to run code from examples with ease.
+
+You can paste the following into your text editor of choice, replacing the commented line between the script tags with the JavaScript from any given example:
+
+```html
+
+
+
+
+ Title
+
+
+
+
+
+
+
+
+
+```
+
+You can then save and run the file in your browser of choice, such as Chrome or Firefox. Alternatively, if you prefer working with an online code editor, [jsFiddle](http://jsfiddle.net/jnf8B/) and [jsBin](http://jsbin.com/iwiwox/1/edit) versions of this boilerplate are also available.
+
+Most examples can also be run directly from within the console in your browser's developer tools, assuming you've loaded the boilerplate HTML page so that Backbone and its dependencies are available for use.
+
+For Chrome, you can open up the DevTools via the Chrome menu in the top right hand corner: select "Tools > Developer Tools" or alternatively use the Control + Shift + I shortcut on Windows/Linux or Command + Option + I on Mac.
+
+![](img/devtools.png)
+
+Next, switch to the Console tab, from where you can enter in and run any piece of JavaScript code by hitting the return key. You can also use the Console as a multi-line editor using the Shift + Enter shortcut on Windows, or Ctrl + Enter shortcut on Mac to move from the end of one line to the start of another.
+
+
+## Models
+
+Backbone models contain data for an application as well as the logic around this data. For example, we can use a model to represent the concept of a todo item including its attributes like title (todo content) and completed (current state of the todo).
+
+Models can be created by extending `Backbone.Model` as follows:
+
+```javascript
+var Todo = Backbone.Model.extend({});
+
+// We can then create our own concrete instance of a (Todo) model
+// with no values at all:
+var todo1 = new Todo();
+// Following logs: {}
+console.log(JSON.stringify(todo1));
+
+// or with some arbitrary data:
+var todo2 = new Todo({
+ title: 'Check the attributes of both model instances in the console.',
+ completed: true
+});
+
+// Following logs: {"title":"Check the attributes of both model instances in the console.","completed":true}
+console.log(JSON.stringify(todo2));
+```
+
+#### Initialization
+
+The `initialize()` method is called when a new instance of a model is created. Its use is optional; however you'll see why it's good practice to use it below.
+
+```javascript
+var Todo = Backbone.Model.extend({
+ initialize: function(){
+ console.log('This model has been initialized.');
+ }
+});
+
+var myTodo = new Todo();
+// Logs: This model has been initialized.
+```
+
+**Default values**
+
+There are times when you want your model to have a set of default values (e.g., in a scenario where a complete set of data isn't provided by the user). This can be set using a property called `defaults` in your model.
+
+```javascript
+var Todo = Backbone.Model.extend({
+ // Default todo attribute values
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+// Now we can create our concrete instance of the model
+// with default values as follows:
+var todo1 = new Todo();
+
+// Following logs: {"title":"","completed":false}
+console.log(JSON.stringify(todo1));
+
+// Or we could instantiate it with some of the attributes (e.g., with custom title):
+var todo2 = new Todo({
+ title: 'Check attributes of the logged models in the console.'
+});
+
+// Following logs: {"title":"Check attributes of the logged models in the console.","completed":false}
+console.log(JSON.stringify(todo2));
+
+// Or override all of the default attributes:
+var todo3 = new Todo({
+ title: 'This todo is done, so take no action on this one.',
+ completed: true
+});
+
+// Following logs: {"title":"This todo is done, so take no action on this one.","completed":true}
+console.log(JSON.stringify(todo3));
+```
+
+#### Getters & Setters
+
+**Model.get()**
+
+`Model.get()` provides easy access to a model's attributes.
+
+```javascript
+var Todo = Backbone.Model.extend({
+ // Default todo attribute values
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+var todo1 = new Todo();
+console.log(todo1.get('title')); // empty string
+console.log(todo1.get('completed')); // false
+
+var todo2 = new Todo({
+ title: "Retrieved with model's get() method.",
+ completed: true
+});
+console.log(todo2.get('title')); // Retrieved with model's get() method.
+console.log(todo2.get('completed')); // true
+```
+
+If you need to read or clone all of a model's data attributes, use its `toJSON()` method. This method returns a copy of the attributes as an object (not a JSON string despite its name). (When `JSON.stringify()` is passed an object with a `toJSON()` method, it stringifies the return value of `toJSON()` instead of the original object. The examples in the previous section took advantage of this feature when they called `JSON.stringify()` to log model instances.)
+
+```javascript
+var Todo = Backbone.Model.extend({
+ // Default todo attribute values
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+var todo1 = new Todo();
+var todo1Attributes = todo1.toJSON();
+// Following logs: {"title":"","completed":false}
+console.log(todo1Attributes);
+
+var todo2 = new Todo({
+ title: "Try these examples and check results in console.",
+ completed: true
+});
+
+// logs: {"title":"Try these examples and check results in console.","completed":true}
+console.log(todo2.toJSON());
+```
+
+**Model.set()**
+
+`Model.set()` sets a hash containing one or more attributes on the model. When any of these attributes alter the state of the model, a "change" event is triggered on it. Change events for each attribute are also triggered and can be bound to (e.g. `change:name`, `change:age`).
+
+```javascript
+var Todo = Backbone.Model.extend({
+ // Default todo attribute values
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+// Setting the value of attributes via instantiation
+var myTodo = new Todo({
+ title: "Set through instantiation."
+});
+console.log('Todo title: ' + myTodo.get('title')); // Todo title: Set through instantiation.
+console.log('Completed: ' + myTodo.get('completed')); // Completed: false
+
+// Set single attribute value at a time through Model.set():
+myTodo.set("title", "Title attribute set through Model.set().");
+console.log('Todo title: ' + myTodo.get('title')); // Todo title: Title attribute set through Model.set().
+console.log('Completed: ' + myTodo.get('completed')); // Completed: false
+
+// Set map of attributes through Model.set():
+myTodo.set({
+ title: "Both attributes set through Model.set().",
+ completed: true
+});
+console.log('Todo title: ' + myTodo.get('title')); // Todo title: Both attributes set through Model.set().
+console.log('Completed: ' + myTodo.get('completed')); // Completed: true
+```
+
+**Direct access**
+
+Models expose an `.attributes` attribute which represents an internal hash containing the state of that model. This is generally in the form of a JSON object similar to the model data you might find on the server but can take other forms.
+
+Setting values through the `.attributes` attribute on a model bypasses triggers bound to the model.
+
+Passing `{silent:true}` on change doesn't delay individual `"change:attr"` events. Instead they are silenced entirely:
+
+```javascript
+var Person = new Backbone.Model();
+Person.set({name: 'Jeremy'}, {silent: true});
+
+console.log(!Person.hasChanged(0));
+// true
+console.log(!Person.hasChanged(''));
+// true
+```
+
+Remember where possible it is best practice to use `Model.set()`, or direct instantiation as explained earlier.
+
+#### Listening for changes to your model
+
+If you want to receive a notification when a Backbone model changes you can bind a listener to the model for its change event. A convenient place to add listeners is in the `initialize()` function as shown below:
+
+```javascript
+var Todo = Backbone.Model.extend({
+ // Default todo attribute values
+ defaults: {
+ title: '',
+ completed: false
+ },
+ initialize: function(){
+ console.log('This model has been initialized.');
+ this.on('change', function(){
+ console.log('- Values for this model have changed.');
+ });
+ }
+});
+
+var myTodo = new Todo();
+
+myTodo.set('title', 'The listener is triggered whenever an attribute value changes.');
+console.log('Title has changed: ' + myTodo.get('title'));
+
+
+myTodo.set('completed', true);
+console.log('Completed has changed: ' + myTodo.get('completed'));
+
+myTodo.set({
+ title: 'Changing more than one attribute at the same time only triggers the listener once.',
+ completed: true
+});
+
+// Above logs:
+// This model has been initialized.
+// - Values for this model have changed.
+// Title has changed: The listener is triggered whenever an attribute value changes.
+// - Values for this model have changed.
+// Completed has changed: true
+// - Values for this model have changed.
+```
+
+You can also listen for changes to individual attributes in a Backbone model. In the following example, we log a message whenever a specific attribute (the title of our Todo model) is altered.
+
+```javascript
+var Todo = Backbone.Model.extend({
+ // Default todo attribute values
+ defaults: {
+ title: '',
+ completed: false
+ },
+
+ initialize: function(){
+ console.log('This model has been initialized.');
+ this.on('change:title', function(){
+ console.log('Title value for this model has changed.');
+ });
+ },
+
+ setTitle: function(newTitle){
+ this.set({ title: newTitle });
+ }
+});
+
+var myTodo = new Todo();
+
+// Both of the following changes trigger the listener:
+myTodo.set('title', 'Check what\'s logged.');
+myTodo.setTitle('Go fishing on Sunday.');
+
+// But, this change type is not observed, so no listener is triggered:
+myTodo.set('completed', true);
+console.log('Todo set as completed: ' + myTodo.get('completed'));
+
+// Above logs:
+// This model has been initialized.
+// Title value for this model has changed.
+// Title value for this model has changed.
+// Todo set as completed: true
+```
+
+
+#### Validation
+
+Backbone supports model validation through `model.validate()`, which allows checking the attribute values for a model prior to setting them. By default, validation occurs when the model is persisted using the `save()` method or when `set()` is called if `{validate:true}` is passed as an argument.
+
+```javascript
+var Person = new Backbone.Model({name: 'Jeremy'});
+
+// Validate the model name
+Person.validate = function(attrs) {
+ if (!attrs.name) {
+ return 'I need your name';
+ }
+};
+
+// Change the name
+Person.set({name: 'Samuel'});
+console.log(Person.get('name'));
+// 'Samuel'
+
+// Remove the name attribute, force validation
+Person.unset('name', {validate: true});
+// false
+```
+
+Above, we also use the `unset()` method, which removes an attribute by deleting it from the internal model attributes hash.
+
+Validation functions can be as simple or complex as necessary. If the attributes provided are valid, nothing should be returned from `.validate()`. If they are invalid, an error value should be returned instead.
+
+Should an error be returned:
+
+* An `invalid` event will triggered, setting the `validationError` property on the model with the value which is returned by this method.
+* `.save()` will not continue and the attributes of the model will not be modified on the server.
+
+A more complete validation example can be seen below:
+
+```javascript
+var Todo = Backbone.Model.extend({
+ defaults: {
+ completed: false
+ },
+
+ validate: function(attribs){
+ if(attribs.title === undefined){
+ return "Remember to set a title for your todo.";
+ }
+ },
+
+ initialize: function(){
+ console.log('This model has been initialized.');
+ this.on("invalid", function(model, error){
+ console.log(error);
+ });
+ }
+});
+
+var myTodo = new Todo();
+myTodo.set('completed', true, {validate: true}); // logs: Remember to set a title for your todo.
+console.log('completed: ' + myTodo.get('completed')); // completed: false
+```
+
+**Note**: the `attributes` object passed to the `validate` function represents what the attributes would be after completing the current `set()` or `save()`. This object is distinct from the current attributes of the model and from the parameters passed to the operation. Since it is created by shallow copy, it is not possible to change any Number, String, or Boolean attribute of the input within the function, but it *is* possible to change attributes in nested objects.
+
+An example of this (by @fivetanley) is available [here](http://jsfiddle.net/2NdDY/7/).
+
+
+## Views
+
+Views in Backbone don't contain the HTML markup for your application; they contain the logic behind the presentation of the model's data to the user. This is usually achieved using JavaScript templating (e.g., Underscore Microtemplates, Mustache, jQuery-tmpl, etc.). A view's `render()` method can be bound to a model's `change()` event, enabling the view to instantly reflect model changes without requiring a full page refresh.
+
+
+#### Creating new views
+
+Creating a new view is relatively straightforward and similar to creating new models. To create a new View, simply extend `Backbone.View`. We introduced the sample TodoView below in the previous chapter; now let's take a closer look at how it works:
+
+```javascript
+var TodoView = Backbone.View.extend({
+
+ tagName: 'li',
+
+ // Cache the template function for a single item.
+ todoTpl: _.template( "An example template" ),
+
+ events: {
+ 'dblclick label': 'edit',
+ 'keypress .edit': 'updateOnEnter',
+ 'blur .edit': 'close'
+ },
+
+ // Re-render the titles of the todo item.
+ render: function() {
+ this.$el.html( this.todoTpl( this.model.toJSON() ) );
+ this.input = this.$('.edit');
+ return this;
+ },
+
+ edit: function() {
+ // executed when todo label is double clicked
+ },
+
+ close: function() {
+ // executed when todo loses focus
+ },
+
+ updateOnEnter: function( e ) {
+ // executed on each keypress when in todo edit mode,
+ // but we'll wait for enter to get in action
+ }
+});
+
+var todoView = new TodoView();
+
+// log reference to a DOM element that corresponds to the view instance
+console.log(todoView.el); // logs
+```
+
+#### What is `el`?
+
+The central property of a view is `el` (the value logged in the last statement of the example). What is `el` and how is it defined?
+
+`el` is basically a reference to a DOM element and all views must have one. Views can use `el` to compose their element's content and then insert it into the DOM all at once, which makes for faster rendering because the browser performs the minimum required number of reflows and repaints.
+
+There are two ways to associate a DOM element with a view: a new element can be created for the view and subsequently added to the DOM or a reference can be made to an element which already exists in the page.
+
+If you want to create a new element for your view, set any combination of the following properties on the view: `tagName`, `id`, and `className`. A new element will be created for you by the framework and a reference to it will be available at the `el` property. If nothing is specified `tagName` defaults to `div`.
+
+In the example above, `tagName` is set to 'li', resulting in creation of an li element. The following example creates a ul element with id and class attributes:
+
+```javascript
+var TodosView = Backbone.View.extend({
+ tagName: 'ul', // required, but defaults to 'div' if not set
+ className: 'container', // optional, you can assign multiple classes to this property like so: 'container homepage'
+ id: 'todos', // optional
+});
+
+var todosView = new TodosView();
+console.log(todosView.el); // logs
+```
+
+The above code creates the DOM element below but doesn't append it to the DOM.
+
+```html
+
+```
+
+If the element already exists in the page, you can set `el` as a CSS selector that matches the element.
+
+```javascript
+el: '#footer'
+```
+
+Alternatively, you can set `el` to an existing element when creating the view:
+
+```javascript
+var todosView = new TodosView({el: $('#footer')});
+```
+
+Note: When declaring a View, `options`, `el`, `tagName`, `id` and `className` may be defined as functions, if you want their values to be determined at runtime.
+
+**$el and $()**
+
+View logic often needs to invoke jQuery or Zepto functions on the `el` element and elements nested within it. Backbone makes it easy to do so by defining the `$el` property and `$()` function. The `view.$el` property is equivalent to `$(view.el)` and `view.$(selector)` is equivalent to `$(view.el).find(selector)`. In our TodosView example's render method, we see `this.$el` used to set the HTML of the element and `this.$()` used to find subelements of class 'edit'.
+
+**setElement**
+
+If you need to apply an existing Backbone view to a different DOM element `setElement` can be used for this purpose. Overriding this.el needs to both change the DOM reference and re-bind events to the new element (and unbind from the old).
+
+`setElement` will create a cached `$el` reference for you, moving the delegated events for a view from the old element to the new one.
+
+```javascript
+
+// We create two DOM elements representing buttons
+// which could easily be containers or something else
+var button1 = $('');
+var button2 = $('');
+
+// Define a new view
+var View = Backbone.View.extend({
+ events: {
+ click: function(e) {
+ console.log(view.el === e.target);
+ }
+ }
+ });
+
+// Create a new instance of the view, applying it
+// to button1
+var view = new View({el: button1});
+
+// Apply the view to button2 using setElement
+view.setElement(button2);
+
+button1.trigger('click');
+button2.trigger('click'); // returns true
+```
+
+The "el" property represents the markup portion of the view that will be rendered; to get the view to actually render to the page, you need to add it as a new element or append it to an existing element.
+
+```javascript
+
+// We can also provide raw markup to setElement
+// as follows (just to demonstrate it can be done):
+var view = new Backbone.View;
+view.setElement('
');
+view.$('a b').html(); // outputs "test"
+```
+
+**Understanding `render()`**
+
+`render()` is an optional function that defines the logic for rendering a template. We'll use Underscore's micro-templating in these examples, but remember you can use other templating frameworks if you prefer. Our example will reference the following HTML markup:
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+The `_.template` method in Underscore compiles JavaScript templates into functions which can be evaluated for rendering. In the TodoView, I'm passing the markup from the template with id `item-template` to `_.template()` to be compiled and stored in the todoTpl property when the view is created.
+
+The `render()` method uses this template by passing it the `toJSON()` encoding of the attributes of the model associated with the view. The template returns its markup after using the model's title and completed flag to evaluate the expressions containing them. I then set this markup as the HTML content of the `el` DOM element using the `$el` property.
+
+Presto! This populates the template, giving you a data-complete set of markup in just a few short lines of code.
+
+
+
+A common Backbone convention is to return `this` at the end of `render()`. This is useful for a number of reasons, including:
+
+* Making views easily reusable in other parent views.
+* Creating a list of elements without rendering and painting each of them individually, only to be drawn once the entire list is populated.
+
+Let's try to implement the latter of these. The `render`method of a simple ListView which doesn't use an ItemView for each item could be written:
+
+```javascript
+
+var ListView = Backbone.View.extend({
+ render: function(){
+ this.$el.html(this.model.toJSON());
+ }
+});
+```
+
+Simple enough. Let's now assume a decision is made to construct the items using an ItemView to provide enhanced behaviour to our list. The ItemView could be written:
+
+```javascript
+
+var ItemView = Backbone.View.extend({
+ events: {},
+ render: function(){
+ this.$el.html(this.model.toJSON());
+ return this;
+ }
+});
+
+```
+
+Note the usage of `return this;` at the end of `render`. This common pattern enables us to reuse the view as a sub-view. We can also use it to pre-render the view prior to rendering. Using this requires that we make a change to our ListView's `render` method as follows:
+
+```javascript
+
+var ListView = Backbone.View.extend({
+ render: function(){
+
+ // Assume our model exposes the items we will
+ // display in our list
+ var items = this.model.get('items');
+
+ // Loop through each our items using the Underscore
+ // _.each iterator
+ _.each(items, function(item){
+
+ // Create a new instance of the ItemView, passing
+ // it a specific model item
+ var itemView = new ItemView({ model: item });
+ // The itemView's DOM element is appended after it
+ // has been rendered. Here, the 'return this' is helpful
+ // as the itemView renders its model. Later, we ask for
+ // its output ("el")
+ this.$el.append( itemView.render().el );
+ }, this);
+ }
+});
+```
+
+**The `events` hash**
+
+
+The Backbone `events` hash allows us to attach event listeners to either `el`-relative custom selectors, or directly to `el` if no selector is provided. An event takes the form of a key-value pair `'eventName selector': 'callbackFunction'` and a number of DOM event-types are supported, including `click`, `submit`, `mouseover`, `dblclick` and more.
+
+```javascript
+
+// A sample view
+var TodoView = Backbone.View.extend({
+ tagName: 'li',
+
+ // with an events hash containing DOM events
+ // specific to an item:
+ events: {
+ 'click .toggle': 'toggleCompleted',
+ 'dblclick label': 'edit',
+ 'click .destroy': 'clear',
+ 'blur .edit': 'close'
+ },
+```
+
+What isn't instantly obvious is that while Backbone uses jQuery's `.delegate()` underneath, it goes further by extending it so that `this` always refers to the current view object within callback functions. The only thing to really keep in mind is that any string callback supplied to the events attribute must have a corresponding function with the same name within the scope of your view.
+
+The declarative, delegated jQuery events means that you don't have to worry about whether a particular element has been rendered to the DOM yet or not. Usually with jQuery you have to worry about "presence or absence in the DOM" all the time when binding events.
+
+In our TodoView example, the edit callback is invoked when the user double-clicks a label element within the `el` element, updateOnEnter is called for each keypress in an element with class 'edit', and close executes when an element with class 'edit' loses focus. Each of these callback functions can use `this` to refer to the TodoView object.
+
+Note that you can also bind methods yourself using `_.bind(this.viewEvent, this)`, which is effectively what the value in each event's key-value pair is doing. Below we use `_.bind` to re-render our view when a model changes.
+
+```javascript
+
+var TodoView = Backbone.View.extend({
+ initialize: function() {
+ this.model.bind('change', _.bind(this.render, this));
+ }
+});
+```
+
+`_.bind` only works on one method at a time, but supports currying and as it returns the bound function means that you can use `_.bind` on an anonymous function.
+
+
+## Collections
+
+Collections are sets of Models and are created by extending `Backbone.Collection`.
+
+Normally, when creating a collection you'll also want to define a property specifying the type of model that your collection will contain, along with any instance properties required.
+
+In the following example, we create a TodoCollection that will contain our Todo models:
+
+```javascript
+var Todo = Backbone.Model.extend({
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+var TodosCollection = Backbone.Collection.extend({
+ model: Todo
+});
+
+var myTodo = new Todo({title:'Read the whole book', id: 2});
+
+// pass array of models on collection instantiation
+var todos = new TodosCollection([myTodo]);
+console.log("Collection size: " + todos.length); // Collection size: 1
+```
+
+#### Adding and Removing Models
+
+The preceding example populated the collection using an array of models when it was instantiated. After a collection has been created, models can be added and removed using the `add()` and `remove()` methods:
+
+```javascript
+var Todo = Backbone.Model.extend({
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+var TodosCollection = Backbone.Collection.extend({
+ model: Todo,
+});
+
+var a = new Todo({ title: 'Go to Jamaica.'}),
+ b = new Todo({ title: 'Go to China.'}),
+ c = new Todo({ title: 'Go to Disneyland.'});
+
+var todos = new TodosCollection([a,b]);
+console.log("Collection size: " + todos.length);
+// Logs: Collection size: 2
+
+todos.add(c);
+console.log("Collection size: " + todos.length);
+// Logs: Collection size: 3
+
+todos.remove([a,b]);
+console.log("Collection size: " + todos.length);
+// Logs: Collection size: 1
+
+todos.remove(c);
+console.log("Collection size: " + todos.length);
+// Logs: Collection size: 0
+```
+
+Note that `add()` and `remove()` accept both individual models and lists of models.
+
+Also note that when using `add()` on a collection, passing `{merge: true}` causes duplicate models to have their attributes merged in to the existing models, instead of being ignored.
+
+```javascript
+var items = new Backbone.Collection;
+items.add([{ id : 1, name: "Dog" , age: 3}, { id : 2, name: "cat" , age: 2}]);
+items.add([{ id : 1, name: "Bear" }], {merge: true });
+items.add([{ id : 2, name: "lion" }]); // merge: false
+
+console.log(JSON.stringify(items.toJSON()));
+// [{"id":1,"name":"Bear","age":3},{"id":2,"name":"cat","age":2}]
+```
+
+#### Retrieving Models
+
+There are a few different ways to retrieve a model from a collection. The most straight-forward is to use `Collection.get()` which accepts a single id as follows:
+
+```javascript
+var myTodo = new Todo({title:'Read the whole book', id: 2});
+
+// pass array of models on collection instantiation
+var todos = new TodosCollection([myTodo]);
+
+var todo2 = todos.get(2);
+
+// Models, as objects, are passed by reference
+console.log(todo2 === myTodo); // true
+```
+
+In client-server applications, collections contain models obtained from the server. Anytime you're exchanging data between the client and a server, you will need a way to uniquely identify models. In Backbone, this is done using the `id`, `cid`, and `idAttribute` properties.
+
+Each model in Backbone has an `id`, which is a unique identifier that is either an integer or string (e.g., a UUID). Models also have a `cid` (client id) which is automatically generated by Backbone when the model is created. Either identifier can be used to retrieve a model from a collection.
+
+The main difference between them is that the `cid` is generated by Backbone; it is helpful when you don't have a true id - this may be the case if your model has yet to be saved to the server or you aren't saving it to a database.
+
+The `idAttribute` is the identifying attribute of the model returned from the server (i.e., the `id` in your database). This tells Backbone which data field from the server should be used to populate the `id` property (think of it as a mapper). By default, it assumes `id`, but this can be customized as needed. For instance, if your server sets a unique attribute on your model named "userId" then you would set `idAttribute` to "userId" in your model definition.
+
+The value of a model's idAttribute should be set by the server when the model is saved. After this point you shouldn't need to set it manually, unless further control is required.
+
+Internally, `Backbone.Collection` contains an array of models enumerated by their `id` property, if the model instances happen to have one. When `collection.get(id)` is called, this array is checked for existence of the model instance with the corresponding `id`.
+
+```javascript
+// extends the previous example
+
+var todoCid = todos.get(todo2.cid);
+
+// As mentioned in previous example,
+// models are passed by reference
+console.log(todoCid === myTodo); // true
+```
+
+#### Listening for events
+
+As collections represent a group of items, we can listen for `add` and `remove` events which occur when models are added to or removed from a collection. Here's an example:
+
+```javascript
+var TodosCollection = new Backbone.Collection();
+
+TodosCollection.on("add", function(todo) {
+ console.log("I should " + todo.get("title") + ". Have I done it before? " + (todo.get("completed") ? 'Yeah!': 'No.' ));
+});
+
+TodosCollection.add([
+ { title: 'go to Jamaica', completed: false },
+ { title: 'go to China', completed: false },
+ { title: 'go to Disneyland', completed: true }
+]);
+
+// The above logs:
+// I should go to Jamaica. Have I done it before? No.
+// I should go to China. Have I done it before? No.
+// I should go to Disneyland. Have I done it before? Yeah!
+```
+
+In addition, we're also able to bind to a `change` event to listen for changes to any of the models in the collection.
+
+```javascript
+var TodosCollection = new Backbone.Collection();
+
+// log a message if a model in the collection changes
+TodosCollection.on("change:title", function(model) {
+ console.log("Changed my mind! I should " + model.get('title'));
+});
+
+TodosCollection.add([
+ { title: 'go to Jamaica.', completed: false, id: 3 }
+]);
+
+var myTodo = TodosCollection.get(3);
+
+myTodo.set('title', 'go fishing');
+// Logs: Changed my mind! I should go fishing
+```
+
+jQuery-style event maps of the form `obj.on({click: action})` can also be used. These can be clearer than needing three separate calls to `.on` and should align better with the events hash used in Views:
+
+```javascript
+
+var Todo = Backbone.Model.extend({
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+var myTodo = new Todo();
+myTodo.set({title: 'Buy some cookies', completed: true});
+
+myTodo.on({
+ 'change:title' : titleChanged,
+ 'change:completed' : stateChanged
+});
+
+function titleChanged(){
+ console.log('The title was changed!');
+}
+
+function stateChanged(){
+ console.log('The state was changed!');
+}
+
+myTodo.set({title: 'Get the groceries'});
+// The title was changed!
+```
+
+Backbone events also support a [once()](http://backbonejs.org/#Events-once) method, which ensures that a callback only fires one time when a notification arrives. It is similar to Node's [once](http://nodejs.org/api/events.html#events_emitter_once_event_listener), or jQuery's [one](http://api.jquery.com/one/). This is particularly useful for when you want to say "the next time something happens, do this".
+
+```javascript
+// Define an object with two counters
+var TodoCounter = { counterA: 0, counterB: 0 };
+// Mix in Backbone Events
+_.extend(TodoCounter, Backbone.Events);
+
+// Increment counterA, triggering an event
+var incrA = function(){
+ TodoCounter.counterA += 1;
+ TodoCounter.trigger('event');
+};
+
+// Increment counterB
+var incrB = function(){
+ TodoCounter.counterB += 1;
+};
+
+// Use once rather than having to explicitly unbind
+// our event listener
+TodoCounter.once('event', incrA);
+TodoCounter.once('event', incrB);
+
+// Trigger the event once again
+TodoCounter.trigger('event');
+
+// Check out output
+console.log(TodoCounter.counterA === 1); // true
+console.log(TodoCounter.counterB === 1); // true
+```
+
+`counterA` and `counterB` should only have been incremented once.
+
+#### Resetting/Refreshing Collections
+
+Rather than adding or removing models individually, you might want to update an entire collection at once. `Collection.set()` takes an array of models and performs the necessary add, remove, and change operations required to update the collection.
+
+```javascript
+var TodosCollection = new Backbone.Collection();
+
+TodosCollection.add([
+ { id: 1, title: 'go to Jamaica.', completed: false },
+ { id: 2, title: 'go to China.', completed: false },
+ { id: 3, title: 'go to Disneyland.', completed: true }
+]);
+
+// we can listen for add/change/remove events
+TodosCollection.on("add", function(model) {
+ console.log("Added " + model.get('title'));
+});
+
+TodosCollection.on("remove", function(model) {
+ console.log("Removed " + model.get('title'));
+});
+
+TodosCollection.on("change:completed", function(model) {
+ console.log("Completed " + model.get('title'));
+});
+
+TodosCollection.set([
+ { id: 1, title: 'go to Jamaica.', completed: true },
+ { id: 2, title: 'go to China.', completed: false },
+ { id: 4, title: 'go to Disney World.', completed: false }
+]);
+
+// Above logs:
+// Removed go to Disneyland.
+// Completed go to Jamaica.
+// Added go to Disney World.
+```
+
+If you need to simply replace the entire content of the collection then `Collection.reset()` can be used:
+
+```javascript
+var TodosCollection = new Backbone.Collection();
+
+// we can listen for reset events
+TodosCollection.on("reset", function() {
+ console.log("Collection reset.");
+});
+
+TodosCollection.add([
+ { title: 'go to Jamaica.', completed: false },
+ { title: 'go to China.', completed: false },
+ { title: 'go to Disneyland.', completed: true }
+]);
+
+console.log('Collection size: ' + TodosCollection.length); // Collection size: 3
+
+TodosCollection.reset([
+ { title: 'go to Cuba.', completed: false }
+]);
+// Above logs 'Collection reset.'
+
+console.log('Collection size: ' + TodosCollection.length); // Collection size: 1
+```
+
+Another useful tip is to use `reset` with no arguments to clear out a collection completely. This is handy when dynamically loading a new page of results where you want to blank out the current page of results.
+
+```javascript
+myCollection.reset();
+```
+
+Note that using `Collection.reset()` doesn't fire any `add` or `remove` events. A `reset` event is fired instead as shown in the previous example. The reason you might want to use this is to perform super-optimized rendering in extreme cases where individual events are too expensive.
+
+Also note that listening to a [reset](http://backbonejs.org/#Collection-reset) event, the list of previous models is available in `options.previousModels`, for convenience.
+
+```javascript
+var Todo = new Backbone.Model();
+var Todos = new Backbone.Collection([Todo])
+.on('reset', function(Todos, options) {
+ console.log(options.previousModels);
+ console.log([Todo]);
+ console.log(options.previousModels[0] === Todo); // true
+});
+Todos.reset([]);
+```
+
+An `update()` method is available for Collections (which is also available as an option to fetch) for "smart" updating of sets of models. This method attempts to perform smart updating of a collection using a specified list of models. When a model in this list isn't present in the collection, it is added. If it is, its attributes will be merged. Models which are present in the collection but not in the list are removed.
+
+```javascript
+var theBeatles = new Collection(['john', 'paul', 'george', 'ringo']);
+
+theBeatles.update(['john', 'paul', 'george', 'pete']);
+
+// Fires a `remove` event for 'ringo', and an `add` event for 'pete'.
+// Updates any of john, paul and georges's attributes that may have
+// changed over the years.
+```
+
+#### Underscore utility functions
+
+Backbone takes full advantage of its hard dependency on Underscore by making many of its utilities directly available on collections:
+
+**`forEach`: iterate over collections**
+
+```javascript
+var Todos = new Backbone.Collection();
+
+Todos.add([
+ { title: 'go to Belgium.', completed: false },
+ { title: 'go to China.', completed: false },
+ { title: 'go to Austria.', completed: true }
+]);
+
+// iterate over models in the collection
+Todos.forEach(function(model){
+ console.log(model.get('title'));
+});
+// Above logs:
+// go to Belgium.
+// go to China.
+// go to Austria.
+```
+
+**`sortBy()`: sort a collection on a specific attribute**
+
+```javascript
+// sort collection
+var sortedByAlphabet = Todos.sortBy(function (todo) {
+ return todo.get("title").toLowerCase();
+});
+
+console.log("- Now sorted: ");
+
+sortedByAlphabet.forEach(function(model){
+ console.log(model.get('title'));
+});
+// Above logs:
+// go to Austria.
+// go to Belgium.
+// go to China.
+```
+
+**`map()`: iterate through a collection, mapping each value through a transformation function**
+
+```javascript
+var count = 1;
+console.log(Todos.map(function(model){
+ return count++ + ". " + model.get('title');
+}));
+// Above logs:
+//1. go to Belgium.
+//2. go to China.
+//3. go to Austria.
+```
+
+**`min()`/`max()`: retrieve item with the min or max value of an attribute**
+
+```javascript
+Todos.max(function(model){
+ return model.id;
+}).id;
+
+Todos.min(function(model){
+ return model.id;
+}).id;
+```
+
+**`pluck()`: extract a specific attribute**
+
+```javascript
+var captions = Todos.pluck('caption');
+// returns list of captions
+```
+
+**`filter()`: filter a collection**
+
+*Filter by an array of model IDs*
+
+```javascript
+var Todos = Backbone.Collection.extend({
+ model: Todo,
+ filterById: function(ids){
+ return this.models.filter(
+ function(c) {
+ return _.contains(ids, c.id);
+ })
+ }
+});
+```
+
+**`indexOf()`: return the item at a particular index within a collection**
+
+```javascript
+var People = new Backbone.Collection;
+
+People.comparator = function(a, b) {
+ return a.get('name') < b.get('name') ? -1 : 1;
+};
+
+var tom = new Backbone.Model({name: 'Tom'});
+var rob = new Backbone.Model({name: 'Rob'});
+var tim = new Backbone.Model({name: 'Tim'});
+
+People.add(tom);
+People.add(rob);
+People.add(tim);
+
+console.log(People.indexOf(rob) === 0); // true
+console.log(People.indexOf(tim) === 1); // true
+console.log(People.indexOf(tom) === 2); // true
+```
+
+**`any()`: Confirm if any of the values in a collection pass an iterator truth test**
+
+```javascript
+Todos.any(function(model){
+ return model.id === 100;
+});
+
+// or
+Todos.some(function(model){
+ return model.id === 100;
+});
+```
+
+**`size()`: return the size of a collection**
+
+```javascript
+Todos.size();
+
+// equivalent to
+Todos.length;
+```
+
+**`isEmpty()`: determine whether a collection is empty**
+
+```javascript
+var isEmpty = Todos.isEmpty();
+```
+
+**`groupBy()`: group a collection into groups of like items**
+
+```javascript
+var Todos = new Backbone.Collection();
+
+Todos.add([
+ { title: 'go to Belgium.', completed: false },
+ { title: 'go to China.', completed: false },
+ { title: 'go to Austria.', completed: true }
+]);
+
+// create groups of completed and incomplete models
+var byCompleted = Todos.groupBy('completed');
+var completed = new Backbone.Collection(byCompleted[true]);
+console.log(completed.pluck('title'));
+// logs: ["go to Austria."]
+```
+
+In addition, several of the Underscore operations on objects are available as methods on Models.
+
+**`pick()`: extract a set of attributes from a model**
+
+```javascript
+var Todo = Backbone.Model.extend({
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+var todo = new Todo({title: 'go to Austria.'});
+console.log(todo.pick('title'));
+// logs {title: "go to Austria"}
+```
+
+**`omit()`: extract all attributes from a model except those listed**
+
+```javascript
+var todo = new Todo({title: 'go to Austria.'});
+console.log(todo.omit('title'));
+// logs {completed: false}
+```
+
+**`keys()` and `values()`: get lists of attribute names and values**
+
+```javascript
+var todo = new Todo({title: 'go to Austria.'});
+console.log(todo.keys());
+// logs: ["title", "completed"]
+
+console.log(todo.values());
+//logs: ["go to Austria.", false]
+```
+
+**`pairs()`: get list of attributes as [key, value] pairs**
+
+```javascript
+var todo = new Todo({title: 'go to Austria.'});
+var pairs = todo.pairs();
+
+console.log(pairs[0]);
+// logs: ["title", "go to Austria."]
+console.log(pairs[1]);
+// logs: ["completed", false]
+```
+
+**`invert()`: create object in which the values are keys and the attributes are values**
+
+```javascript
+var todo = new Todo({title: 'go to Austria.'});
+console.log(todo.invert());
+
+// logs: {go to Austria.: "title", false: "completed"}
+```
+
+The complete list of what Underscore can do can be found in its official [docs](http://documentcloud.github.com/underscore/).
+
+#### Chainable API
+
+Speaking of utility methods, another bit of sugar in Backbone is its support for Underscore’s `chain()` method. Chaining is a common idiom in object-oriented languages; a chain is a sequence of method calls on the same object that are performed in a single statement. While Backbone makes Underscore's array manipulation operations available as methods of Collection objects, they cannot be directly chained since they return arrays rather than the original Collection.
+
+Fortunately, the inclusion of Underscore's `chain()` method enables you to chain calls to these methods on Collections.
+
+The `chain()` method returns an object that has all of the Underscore array operations attached as methods which return that object. The chain ends with a call to the `value()` method which simply returns the resulting array value. In case you haven’t seen it before, the chainable API looks like this:
+
+```javascript
+var collection = new Backbone.Collection([
+ { name: 'Tim', age: 5 },
+ { name: 'Ida', age: 26 },
+ { name: 'Rob', age: 55 }
+]);
+
+var filteredNames = collection.chain() // start chain, returns wrapper around collection's models
+ .filter(function(item) { return item.get('age') > 10; }) // returns wrapped array excluding Tim
+ .map(function(item) { return item.get('name'); }) // returns wrapped array containing remaining names
+ .value(); // terminates the chain and returns the resulting array
+
+console.log(filteredNames); // logs: ['Ida', 'Rob']
+```
+
+Some of the Backbone-specific methods do return `this`, which means they can be chained as well:
+
+```javascript
+var collection = new Backbone.Collection();
+
+collection
+ .add({ name: 'John', age: 23 })
+ .add({ name: 'Harry', age: 33 })
+ .add({ name: 'Steve', age: 41 });
+
+var names = collection.pluck('name');
+
+console.log(names); // logs: ['John', 'Harry', 'Steve']
+```
+
+## RESTful Persistence
+
+Thus far, all of our example data has been created in the browser. For most single page applications, the models are derived from a data set residing on a server. This is an area in which Backbone dramatically simplifies the code you need to write to perform RESTful synchronization with a server through a simple API on its models and collections.
+
+**Fetching models from the server**
+
+`Collections.fetch()` retrieves a set of models from the server in the form of a JSON array by sending an HTTP GET request to the URL specified by the collection's `url` property (which may be a function). When this data is received, a `set()` will be executed to update the collection.
+
+```javascript
+var Todo = Backbone.Model.extend({
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+var TodosCollection = Backbone.Collection.extend({
+ model: Todo,
+ url: '/todos'
+});
+
+var todos = new TodosCollection();
+todos.fetch(); // sends HTTP GET to /todos
+```
+
+**Saving models to the server**
+
+While Backbone can retrieve an entire collection of models from the server at once, updates to models are performed individually using the model's `save()` method. When `save()` is called on a model that was fetched from the server, it constructs a URL by appending the model's id to the collection's URL and sends an HTTP PUT to the server. If the model is a new instance that was created in the browser (i.e., it doesn't have an id) then an HTTP POST is sent to the collection's URL. `Collections.create()` can be used to create a new model, add it to the collection, and send it to the server in a single method call.
+
+```javascript
+var Todo = Backbone.Model.extend({
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+var TodosCollection = Backbone.Collection.extend({
+ model: Todo,
+ url: '/todos'
+});
+
+var todos = new TodosCollection();
+todos.fetch();
+
+var todo2 = todos.get(2);
+todo2.set('title', 'go fishing');
+todo2.save(); // sends HTTP PUT to /todos/2
+
+todos.create({title: 'Try out code samples'}); // sends HTTP POST to /todos and adds to collection
+```
+
+As mentioned earlier, a model's `validate()` method is called automatically by `save()` and will trigger an `invalid` event on the model if validation fails.
+
+**Deleting models from the server**
+
+A model can be removed from the containing collection and the server by calling its `destroy()` method. Unlike `Collection.remove()` which only removes a model from a collection, `Model.destroy()` will also send an HTTP DELETE to the collection's URL.
+
+```javascript
+var Todo = Backbone.Model.extend({
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+var TodosCollection = Backbone.Collection.extend({
+ model: Todo,
+ url: '/todos'
+});
+
+var todos = new TodosCollection();
+todos.fetch();
+
+var todo2 = todos.get(2);
+todo2.destroy(); // sends HTTP DELETE to /todos/2 and removes from collection
+```
+
+Calling `destroy` on a Model will return `false` if the model `isNew`:
+
+```javascript
+var Todo = new Backbone.Model();
+console.log(Todo.destroy());
+// false
+```
+
+**Options**
+
+Each RESTful API method accepts a variety of options. Most importantly, all methods accept success and error callbacks which can be used to customize the handling of server responses.
+
+Specifying the `{patch: true}` option to `Model.save()` will cause it to use HTTP PATCH to send only the changed attributes (i.e partial updates) to the server instead of the entire model i.e `model.save(attrs, {patch: true})`:
+
+```javascript
+// Save partial using PATCH
+model.clear().set({id: 1, a: 1, b: 2, c: 3, d: 4});
+model.save();
+model.save({b: 2, d: 4}, {patch: true});
+console.log(this.syncArgs.method);
+// 'patch'
+```
+
+Similarly, passing the `{reset: true}` option to `Collection.fetch()` will result in the collection being updated using `reset()` rather than `set()`.
+
+See the Backbone.js documentation for full descriptions of the supported options.
+
+## Events
+
+Events are a basic inversion of control. Instead of having one function call another by name, the second function is registered as a handler to be called when a specific event occurs.
+
+The part of your application that has to know how to call the other part of your app has been inverted. This is the core thing that makes it possible for your business logic to not have to know about how your user interface works and is the most powerful thing about the Backbone Events system.
+
+Mastering events is one of the quickest ways to become more productive with Backbone, so let's take a closer look at Backbone's event model.
+
+`Backbone.Events` is mixed into the other Backbone "classes", including:
+
+* Backbone
+* Backbone.Model
+* Backbone.Collection
+* Backbone.Router
+* Backbone.History
+* Backbone.View
+
+Note that `Backbone.Events` is mixed into the `Backbone` object. Since `Backbone` is globally visible, it can be used as a simple event bus:
+
+```javascript
+Backbone.on('event', function() {console.log('Handled Backbone event');});
+Backbone.trigger('event'); // logs: Handled Backbone event
+```
+
+#### on(), off(), and trigger()
+
+`Backbone.Events` can give any object the ability to bind and trigger custom events. We can mix this module into any object easily and there isn't a requirement for events to be declared before being bound to a callback handler.
+
+Example:
+
+```javascript
+var ourObject = {};
+
+// Mixin
+_.extend(ourObject, Backbone.Events);
+
+// Add a custom event
+ourObject.on('dance', function(msg){
+ console.log('We triggered ' + msg);
+});
+
+// Trigger the custom event
+ourObject.trigger('dance', 'our event');
+```
+
+If you're familiar with jQuery custom events or the concept of Publish/Subscribe, `Backbone.Events` provides a system that is very similar with `on` being analogous to `subscribe` and `trigger` being similar to `publish`.
+
+`on` binds a callback function to an object, as we've done with `dance` in the above example. The callback is invoked whenever the event is triggered.
+
+The official Backbone.js documentation recommends namespacing event names using colons if you end up using quite a few of these on your page. e.g.:
+
+```javascript
+var ourObject = {};
+
+// Mixin
+_.extend(ourObject, Backbone.Events);
+
+function dancing (msg) { console.log("We started " + msg); }
+
+// Add namespaced custom events
+ourObject.on("dance:tap", dancing);
+ourObject.on("dance:break", dancing);
+
+// Trigger the custom events
+ourObject.trigger("dance:tap", "tap dancing. Yeah!");
+ourObject.trigger("dance:break", "break dancing. Yeah!");
+
+// This one triggers nothing as no listener listens for it
+ourObject.trigger("dance", "break dancing. Yeah!");
+```
+
+A special `all` event is made available in case you would like notifications for every event that occurs on the object (e.g., if you would like to screen events in a single location). The `all` event can be used as follows:
+
+
+```javascript
+var ourObject = {};
+
+// Mixin
+_.extend(ourObject, Backbone.Events);
+
+function dancing (msg) { console.log("We started " + msg); }
+
+ourObject.on("all", function(eventName){
+ console.log("The name of the event passed was " + eventName);
+});
+
+// This time each event will be caught with a catch 'all' event listener
+ourObject.trigger("dance:tap", "tap dancing. Yeah!");
+ourObject.trigger("dance:break", "break dancing. Yeah!");
+ourObject.trigger("dance", "break dancing. Yeah!");
+```
+
+`off` removes callback functions that were previously bound to an object. Going back to our Publish/Subscribe comparison, think of it as an `unsubscribe` for custom events.
+
+To remove the `dance` event we previously bound to `ourObject`, we would simply do:
+
+```javascript
+var ourObject = {};
+
+// Mixin
+_.extend(ourObject, Backbone.Events);
+
+function dancing (msg) { console.log("We " + msg); }
+
+// Add namespaced custom events
+ourObject.on("dance:tap", dancing);
+ourObject.on("dance:break", dancing);
+
+// Trigger the custom events. Each will be caught and acted upon.
+ourObject.trigger("dance:tap", "started tap dancing. Yeah!");
+ourObject.trigger("dance:break", "started break dancing. Yeah!");
+
+// Removes event bound to the object
+ourObject.off("dance:tap");
+
+// Trigger the custom events again, but one is logged.
+ourObject.trigger("dance:tap", "stopped tap dancing."); // won't be logged as it's not listened for
+ourObject.trigger("dance:break", "break dancing. Yeah!");
+```
+
+To remove all callbacks for the event we pass an event name (e.g., `move`) to the `off()` method on the object the event is bound to. If we wish to remove a specific callback, we can pass that callback as the second parameter:
+
+```javascript
+var ourObject = {};
+
+// Mixin
+_.extend(ourObject, Backbone.Events);
+
+function dancing (msg) { console.log("We are dancing. " + msg); }
+function jumping (msg) { console.log("We are jumping. " + msg); }
+
+// Add two listeners to the same event
+ourObject.on("move", dancing);
+ourObject.on("move", jumping);
+
+// Trigger the events. Both listeners are called.
+ourObject.trigger("move", "Yeah!");
+
+// Removes specified listener
+ourObject.off("move", dancing);
+
+// Trigger the events again. One listener left.
+ourObject.trigger("move", "Yeah, jump, jump!");
+```
+
+Finally, as we have seen in our previous examples, `trigger` triggers a callback for a specified event (or a space-separated list of events). e.g.:
+
+```javascript
+var ourObject = {};
+
+// Mixin
+_.extend(ourObject, Backbone.Events);
+
+function doAction (msg) { console.log("We are " + msg); }
+
+// Add event listeners
+ourObject.on("dance", doAction);
+ourObject.on("jump", doAction);
+ourObject.on("skip", doAction);
+
+// Single event
+ourObject.trigger("dance", 'just dancing.');
+
+// Multiple events
+ourObject.trigger("dance jump skip", 'very tired from so much action.');
+```
+
+`trigger` can pass multiple arguments to the callback function:
+
+```javascript
+var ourObject = {};
+
+// Mixin
+_.extend(ourObject, Backbone.Events);
+
+function doAction (action, duration) {
+ console.log("We are " + action + ' for ' + duration );
+}
+
+// Add event listeners
+ourObject.on("dance", doAction);
+ourObject.on("jump", doAction);
+ourObject.on("skip", doAction);
+
+// Passing multiple arguments to single event
+ourObject.trigger("dance", 'dancing', "5 minutes");
+
+// Passing multiple arguments to multiple events
+ourObject.trigger("dance jump skip", 'on fire', "15 minutes");
+```
+
+#### listenTo() and stopListening()
+
+While `on()` and `off()` add callbacks directly to an observed object, `listenTo()` tells an object to listen for events on another object, allowing the listener to keep track of the events for which it is listening. `stopListening()` can subsequently be called on the listener to tell it to stop listening for events:
+
+```javascript
+var a = _.extend({}, Backbone.Events);
+var b = _.extend({}, Backbone.Events);
+var c = _.extend({}, Backbone.Events);
+
+// add listeners to A for events on B and C
+a.listenTo(b, 'anything', function(event){ console.log("anything happened"); });
+a.listenTo(c, 'everything', function(event){ console.log("everything happened"); });
+
+// trigger an event
+b.trigger('anything'); // logs: anything happened
+
+// stop listening
+a.stopListening();
+
+// A does not receive these events
+b.trigger('anything');
+c.trigger('everything');
+```
+
+`stopListening()` can also be used to selectively stop listening based on the event, model, or callback handler.
+
+If you use `on` and `off` and remove views and their corresponding models at the same time, there are generally no problems. But a problem arises when you remove a view that had registered to be notified about events on a model, but you don't remove the model or call `off` to remove the view's event handler. Since the model has a reference to the view's callback function, the JavaScript garbage collector cannot remove the view from memory. This is called a "ghost view" and is a form of memory leak which is common since the models generally tend to outlive the corresponding views during an application's lifecycle. For details on the topic and a solution, check this [excellent article](http://lostechies.com/derickbailey/2011/09/15/zombies-run-managing-page-transitions-in-backbone-apps/) by Derick Bailey.
+
+Practically, every `on` called on an object also requires an `off` to be called in order for the garbage collector to do its job. `listenTo()` changes that, allowing Views to bind to Model notifications and unbind from all of them with just one call - `stopListening()`.
+
+The default implementation of `View.remove()` makes a call to `stopListening()`, ensuring that any listeners bound using `listenTo()` are unbound before the view is destroyed.
+
+```javascript
+var view = new Backbone.View();
+var b = _.extend({}, Backbone.Events);
+
+view.listenTo(b, 'all', function(){ console.log(true); });
+b.trigger('anything'); // logs: true
+
+view.listenTo(b, 'all', function(){ console.log(false); });
+view.remove(); // stopListening() implicitly called
+b.trigger('anything'); // does not log anything
+```
+
+#### Events and Views
+
+Within a View, there are two types of events you can listen for: DOM events and events triggered using the Event API. It is important to understand the differences in how views bind to these events and the context in which their callbacks are invoked.
+
+DOM events can be bound to using the View's `events` property or using `jQuery.on()`. Within callbacks bound using the `events` property, `this` refers to the View object; whereas any callbacks bound directly using jQuery will have `this` set to the handling DOM element by jQuery. All DOM event callbacks are passed an `event` object by jQuery. See `delegateEvents()` in the Backbone documentation for additional details.
+
+Event API events are bound as described in this section. If the event is bound using `on()` on the observed object, a context parameter can be passed as the third argument. If the event is bound using `listenTo()` then within the callback `this` refers to the listener. The arguments passed to Event API callbacks depends on the type of event. See the Catalog of Events in the Backbone documentation for details.
+
+The following example illustrates these differences:
+
+```html
+
+
+
+```
+
+```javascript
+var View = Backbone.View.extend({
+
+ el: '#todo',
+
+ // bind to DOM event using events property
+ events: {
+ 'click [type="checkbox"]': 'clicked',
+ },
+
+ initialize: function () {
+ // bind to DOM event using jQuery
+ this.$el.click(this.jqueryClicked);
+
+ // bind to API event
+ this.on('apiEvent', this.callback);
+ },
+
+ // 'this' is view
+ clicked: function(event) {
+ console.log("events handler for " + this.el.outerHTML);
+ this.trigger('apiEvent', event.type);
+ },
+
+ // 'this' is handling DOM element
+ jqueryClicked: function(event) {
+ console.log("jQuery handler for " + this.outerHTML);
+ },
+
+ callback: function(eventType) {
+ console.log("event type was " + eventType);
+ }
+
+});
+
+var view = new View();
+```
+
+## Routers
+
+In Backbone, routers provide a way for you to connect URLs (either hash fragments, or
+real) to parts of your application. Any piece of your application that you want
+to be bookmarkable, shareable, and back-button-able, needs a URL.
+
+Some examples of routes using the hash mark may be seen below:
+
+```javascript
+http://example.com/#about
+http://example.com/#search/seasonal-horns/page2
+```
+
+An application will usually have at least one route mapping a URL route to a function that determines what happens when a user reaches that route. This relationship is defined as follows:
+
+```javascript
+'route' : 'mappedFunction'
+```
+
+Let's define our first router by extending `Backbone.Router`. For the purposes of this guide, we're going to continue pretending we're creating a complex todo application (something like a personal organizer/planner) that requires a complex TodoRouter.
+
+Note the inline comments in the code example below as they continue our lesson on routers.
+
+```javascript
+var TodoRouter = Backbone.Router.extend({
+ /* define the route and function maps for this router */
+ routes: {
+ "about" : "showAbout",
+ /* Sample usage: http://example.com/#about */
+
+ "todo/:id" : "getTodo",
+ /* This is an example of using a ":param" variable which allows us to match
+ any of the components between two URL slashes */
+ /* Sample usage: http://example.com/#todo/5 */
+
+ "search/:query" : "searchTodos",
+ /* We can also define multiple routes that are bound to the same map function,
+ in this case searchTodos(). Note below how we're optionally passing in a
+ reference to a page number if one is supplied */
+ /* Sample usage: http://example.com/#search/job */
+
+ "search/:query/p:page" : "searchTodos",
+ /* As we can see, URLs may contain as many ":param"s as we wish */
+ /* Sample usage: http://example.com/#search/job/p1 */
+
+ "todos/:id/download/*documentPath" : "downloadDocument",
+ /* This is an example of using a *splat. Splats are able to match any number of
+ URL components and can be combined with ":param"s*/
+ /* Sample usage: http://example.com/#todos/5/download/files/Meeting_schedule.doc */
+
+ /* If you wish to use splats for anything beyond default routing, it's probably a good
+ idea to leave them at the end of a URL otherwise you may need to apply regular
+ expression parsing on your fragment */
+
+ "optional(/:item)": "optionalItem",
+ "named/optional/(y:z)": "namedOptionalItem",
+ /* Router URLs also support optional parts via parentheses, without having
+ to use a regex. */
+
+ "*other" : "defaultRoute"
+ /* This is a default route that also uses a *splat. Consider the
+ default route a wildcard for URLs that are either not matched or where
+ the user has incorrectly typed in a route path manually */
+ /* Sample usage: http://example.com/# */
+
+ },
+
+ showAbout: function(){
+ },
+
+ getTodo: function(id){
+ /*
+ Note that the id matched in the above route will be passed to this function
+ */
+ console.log("You are trying to reach todo " + id);
+ },
+
+ searchTodos: function(query, page){
+ var page_number = page || 1;
+ console.log("Page number: " + page_number + " of the results for todos containing the word: " + query);
+ },
+
+ downloadDocument: function(id, path){
+ },
+
+ defaultRoute: function(other){
+ console.log('Invalid. You attempted to reach:' + other);
+ }
+});
+
+/* Now that we have a router setup, we need to instantiate it */
+
+var myTodoRouter = new TodoRouter();
+```
+
+
+Backbone offers an opt-in for HTML5 pushState support via `window.history.pushState`. This permits you to define routes such as http://backbonejs.org/just/an/example. This will be supported with automatic degradation when a user's browser doesn't support pushState. Note that it is vastly preferred if you're capable of also supporting pushState on the server side, although it is a little more difficult to implement.
+
+**Is there a limit to the number of routers I should be using?**
+
+Andrew de Andrade has pointed out that DocumentCloud, the creators of Backbone, usually only use a single router in most of their applications. You're very likely to not require more than one or two routers in your own projects; the majority of your application routing can be kept organized in a single router without it getting unwieldy.
+
+#### Backbone.history
+
+Next, we need to initialize `Backbone.history` as it handles `hashchange` events in our application. This will automatically handle routes that have been defined and trigger callbacks when they've been accessed.
+
+The `Backbone.history.start()` method will simply tell Backbone that it's okay to begin monitoring all `hashchange` events as follows:
+
+```javascript
+var TodoRouter = Backbone.Router.extend({
+ /* define the route and function maps for this router */
+ routes: {
+ "about" : "showAbout",
+ "search/:query" : "searchTodos",
+ "search/:query/p:page" : "searchTodos"
+ },
+
+ showAbout: function(){},
+
+ searchTodos: function(query, page){
+ var page_number = page || 1;
+ console.log("Page number: " + page_number + " of the results for todos containing the word: " + query);
+ }
+});
+
+var myTodoRouter = new TodoRouter();
+
+Backbone.history.start();
+
+// Go to and check console:
+// http://localhost/#search/job/p3 logs: Page number: 3 of the results for todos containing the word: job
+// http://localhost/#search/job logs: Page number: 1 of the results for todos containing the word: job
+// etc.
+```
+
+Note: To run the last example, you'll need to create a local development environment and test project, which we will cover later on in the book.
+
+If you would like to update the URL to reflect the application state at a particular point, you can use the router's `.navigate()` method. By default, it simply updates your URL fragment without triggering the `hashchange` event:
+
+```javascript
+// Let's imagine we would like a specific fragment (edit) once a user opens a single todo
+var TodoRouter = Backbone.Router.extend({
+ routes: {
+ "todo/:id": "viewTodo",
+ "todo/:id/edit": "editTodo"
+ // ... other routes
+ },
+
+ viewTodo: function(id){
+ console.log("View todo requested.");
+ this.navigate("todo/" + id + '/edit'); // updates the fragment for us, but doesn't trigger the route
+ },
+
+ editTodo: function(id) {
+ console.log("Edit todo opened.");
+ }
+});
+
+var myTodoRouter = new TodoRouter();
+
+Backbone.history.start();
+
+// Go to: http://localhost/#todo/4
+//
+// URL is updated to: http://localhost/#todo/4/edit
+// but editTodo() function is not invoked even though location we end up is mapped to it.
+//
+// logs: View todo requested.
+```
+
+It is also possible for `Router.navigate()` to trigger the route along with updating the URL fragment by passing the `trigger:true` option.
+
+Note: This usage is discouraged. The recommended usage is the one described above which creates a bookmarkable URL when your application transitions to a specific state.
+
+```javascript
+var TodoRouter = Backbone.Router.extend({
+ routes: {
+ "todo/:id": "viewTodo",
+ "todo/:id/edit": "editTodo"
+ // ... other routes
+ },
+
+ viewTodo: function(id){
+ console.log("View todo requested.");
+ this.navigate("todo/" + id + '/edit', {trigger: true}); // updates the fragment and triggers the route as well
+ },
+
+ editTodo: function(id) {
+ console.log("Edit todo opened.");
+ }
+});
+
+var myTodoRouter = new TodoRouter();
+
+Backbone.history.start();
+
+// Go to: http://localhost/#todo/4
+//
+// URL is updated to: http://localhost/#todo/4/edit
+// and this time editTodo() function is invoked.
+//
+// logs:
+// View todo requested.
+// Edit todo opened.
+```
+
+A "route" event is also triggered on the router in addition to being fired on Backbone.history.
+
+```javascript
+Backbone.history.on('route', onRoute);
+
+// Trigger 'route' event on router instance."
+router.on('route', function(name, args) {
+ console.log(name === 'routeEvent');
+});
+
+location.replace('http://example.com#route-event/x');
+Backbone.history.checkUrl();
+```
+
+## Backbone’s Sync API
+
+We previously discussed how Backbone supports RESTful persistence via its `fetch()` and `create()` methods on Collections and `save()`, and `destroy()` methods on Models. Now we are going to take a closer look at Backbone's sync method which underlies these operations.
+
+The Backbone.sync method is an integral part of Backbone.js. It assumes a jQuery-like `$.ajax()` method, so HTTP parameters are organized based on jQuery’s API. Since some legacy servers may not support JSON-formatted requests and HTTP PUT and DELETE operations, Backbone can be configured to emulate these capabilities using the two configuration variables shown below with their default values:
+
+```javascript
+Backbone.emulateHTTP = false; // set to true if server cannot handle HTTP PUT or HTTP DELETE
+Backbone.emulateJSON = false; // set to true if server cannot handle application/json requests
+```
+
+The inline Backbone.emulateHTTP option should be set to true if extended HTTP methods are not supported by the server. The Backbone.emulateJSON option should be set to true if the server does not understand the MIME type for JSON.
+
+```javascript
+// Create a new library collection
+var Library = Backbone.Collection.extend({
+ url : function() { return '/library'; }
+});
+
+// Define attributes for our model
+var attrs = {
+ title : "The Tempest",
+ author : "Bill Shakespeare",
+ length : 123
+};
+
+// Create a new Library instance
+var library = new Library;
+
+// Create a new instance of a model within our collection
+library.create(attrs, {wait: false});
+
+// Update with just emulateHTTP
+library.first().save({id: '2-the-tempest', author: 'Tim Shakespeare'}, {
+ emulateHTTP: true
+});
+
+// Check the ajaxSettings being used for our request
+console.log(this.ajaxSettings.url === '/library/2-the-tempest'); // true
+console.log(this.ajaxSettings.type === 'POST'); // true
+console.log(this.ajaxSettings.contentType === 'application/json'); // true
+
+// Parse the data for the request to confirm it is as expected
+var data = JSON.parse(this.ajaxSettings.data);
+console.log(data.id === '2-the-tempest'); // true
+console.log(data.author === 'Tim Shakespeare'); // true
+console.log(data.length === 123); // true
+```
+
+Similarly, we could just update using `emulateJSON`:
+
+```javascript
+library.first().save({id: '2-the-tempest', author: 'Tim Shakespeare'}, {
+ emulateJSON: true
+});
+
+console.log(this.ajaxSettings.url === '/library/2-the-tempest'); // true
+console.log(this.ajaxSettings.type === 'PUT'); // true
+console.log(this.ajaxSettings.contentType ==='application/x-www-form-urlencoded'); // true
+
+var data = JSON.parse(this.ajaxSettings.data.model);
+console.log(data.id === '2-the-tempest');
+console.log(data.author ==='Tim Shakespeare');
+console.log(data.length === 123);
+```
+
+`Backbone.sync` is called every time Backbone tries to read, save, or delete models. It uses jQuery or Zepto's `$.ajax()` implementations to make these RESTful requests, however this can be overridden as per your needs.
+
+**Overriding Backbone.sync**
+
+The `sync` function may be overridden globally as Backbone.sync, or at a finer-grained level, by adding a sync function to a Backbone collection or to an individual model.
+
+Since all persistence is handled by the Backbone.sync function, an alternative persistence layer can be used by simply overriding Backbone.sync with a function that has the same signature:
+
+```javascript
+Backbone.sync = function(method, model, options) {
+};
+```
+
+The methodMap below is used by the standard sync implementation to map the method parameter to an HTTP operation and illustrates the type of action required by each method argument:
+
+```javascript
+var methodMap = {
+ 'create': 'POST',
+ 'update': 'PUT',
+ 'patch': 'PATCH',
+ 'delete': 'DELETE',
+ 'read': 'GET'
+};
+```
+
+If we wanted to replace the standard `sync` implementation with one that simply logged the calls to sync, we could do this:
+
+```javascript
+var id_counter = 1;
+Backbone.sync = function(method, model) {
+ console.log("I've been passed " + method + " with " + JSON.stringify(model));
+ if(method === 'create'){ model.set('id', id_counter++); }
+};
+```
+
+Note that we assign a unique id to any created models.
+
+The Backbone.sync method is intended to be overridden to support other persistence backends. The built-in method is tailored to a certain breed of RESTful JSON APIs - Backbone was originally extracted from a Ruby on Rails application, which uses HTTP methods like PUT in the same way.
+
+The sync method is called with three parameters:
+
+* method: One of create, update, patch, delete, or read
+* model: The Backbone model object
+* options: May include success and error methods
+
+Implementing a new sync method can use the following pattern:
+
+```javascript
+Backbone.sync = function(method, model, options) {
+
+ function success(result) {
+ // Handle successful results from MyAPI
+ if (options.success) {
+ options.success(result);
+ }
+ }
+
+ function error(result) {
+ // Handle error results from MyAPI
+ if (options.error) {
+ options.error(result);
+ }
+ }
+
+ options || (options = {});
+
+ switch (method) {
+ case 'create':
+ return MyAPI.create(model, success, error);
+
+ case 'update':
+ return MyAPI.update(model, success, error);
+
+ case 'patch':
+ return MyAPI.patch(model, success, error);
+
+ case 'delete':
+ return MyAPI.destroy(model, success, error);
+
+ case 'read':
+ if (model.attributes[model.idAttribute]) {
+ return MyAPI.find(model, success, error);
+ } else {
+ return MyAPI.findAll(model, success, error);
+ }
+ }
+};
+```
+
+This pattern delegates API calls to a new object (MyAPI), which could be a Backbone-style class that supports events. This can be safely tested separately, and potentially used with libraries other than Backbone.
+
+There are quite a few sync implementations out there. The following examples are all available on GitHub:
+
+* Backbone localStorage: persists to the browser's local storage
+* Backbone offline: supports working offline
+* Backbone Redis: uses Redis key-value store
+* backbone-parse: integrates Backbone with Parse.com
+* backbone-websql: stores data to WebSQL
+* Backbone Caching Sync: uses local storage as cache for other sync implementations
+
+
+## Dependencies
+
+The official Backbone.js [documentation](http://backbonejs.org/) states:
+
+>Backbone's only hard dependency is either Underscore.js ( >= 1.4.3) or Lo-Dash. For RESTful persistence, history support via Backbone.Router and DOM manipulation with Backbone.View, include json2.js, and either jQuery ( >= 1.7.0) or Zepto.
+
+What this translates to is that if you require working with anything beyond models, you will need to include a DOM manipulation library such as jQuery or Zepto. Underscore is primarily used for its utility methods (which Backbone relies upon heavily) and json2.js for legacy browser JSON support if Backbone.sync is used.
+
+## Summary
+
+In this chapter we have introduced you to the components you will be using to build applications with Backbone: Models, Views, Collections, and Routers. We've also explored the Events mix-in that Backbone uses to enhance all components with publish-subscribe capabilities and seen how it can be used with arbitrary objects. Finally, we saw how Backbone leverages the Underscore.js and jQuery/Zepto APIs to add rich manipulation and persistence features to Backbone Collections and Models.
+
+Backbone has many operations and options beyond those we have covered here and is always evolving, so be sure to visit the official [documentation](http://backbonejs.org/) for more details and the latest features. In the next chapter you will start to get your hands dirty as we walk you through implementation of your first Backbone application.
+
+
+
+# Exercise 1: Todos - Your First Backbone.js App
+
+Now that we've covered fundamentals, let's write our first Backbone.js application. We'll build the Backbone Todo List application exhibited on [TodoMVC.com](http://todomvc.com). Building a Todo List is a great way to learn Backbone’s conventions. It's a relatively simple application, yet technical challenges surrounding binding, persisting model data, routing, and template rendering provide opportunities to illustrate some core Backbone features.
+
+![](img/todos_a.png)
+
+Let's consider the application's architecture at a high level. We'll need:
+
+* a `Todo` model to describe individual todo items
+* a `TodoList` collection to store and persist todos
+* a way of creating todos
+* a way to display a listing of todos
+* a way to edit existing todos
+* a way to mark a todo as completed
+* a way to delete todos
+* a way to filter the items that have been completed or are remaining
+
+Essentially, these features are classic [CRUD](http://en.wikipedia.org/wiki/Create,_read,_update_and_delete) methods. Let's get started!
+
+## Static HTML
+
+We'll place all of our HTML in a single file named index.html.
+
+#### Header and Scripts
+
+First, we'll set up the header and the basic application dependencies: [jQuery](http://jquery.com), [Underscore](http://underscorejs.org), Backbone.js and the [Backbone LocalStorage adapter](https://github.com/jeromegn/Backbone.localStorage).
+
+```html
+
+
+
+
+
+ Backbone.js • TodoMVC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+In addition to the aforementioned dependencies, note that a few other application-specific files are also loaded. These are organized into folders representing their application responsibilities: models, views, collections, and routers. An app.js file is present to house central initialization code.
+
+Note: If you want to follow along, create a directory structure as demonstrated in index.html:
+
+1. Place the index.html in a top-level directory.
+2. Download jQuery, Underscore, Backbone, and Backbone LocalStorage from their respective web sites and place them under js/lib
+3. Create the directories js/models, js/collections, js/views, and js/routers
+
+You will also need [base.css](https://raw.github.com/addyosmani/todomvc/gh-pages/assets/base.css) and [bg.png](https://raw.github.com/addyosmani/todomvc/gh-pages/assets/bg.png), which should live in an assets directory. And remember that you can see a demo of the final application at [TodoMVC.com](http://todomvc.com).
+
+We will be creating the application JavaScript files during the tutorial. Don't worry about the two 'text/template' script elements - we will replace those soon!
+
+#### Application HTML
+
+Now let's populate the body of index.html. We'll need an `` for creating new todos, a `
` for listing the actual todos, and a footer where we can later insert statistics and links for performing operations such as clearing completed todos. We'll add the following markup immediately inside our body tag before the script elements:
+
+```html
+
+
+
+```
+
+#### Templates
+
+To complete index.html, we need to add the templates which we will use to dynamically create HTML by injecting model data into their placeholders. One way of including templates in the page is by using custom script tags. These don't get evaluated by the browser, which just interprets them as plain text. Underscore micro-templating can then access the templates, rendering fragments of HTML.
+
+We'll start by filling in the #item-template which will be used to display individual todo items.
+
+```html
+
+
+
+```
+
+The template tags in the above markup, such as `<%=` and `<%-`, are specific to Underscore.js and are documented on the Underscore site. In your own applications, you have a choice of template libraries, such as Mustache or Handlebars. Use whichever you prefer, Backbone doesn't mind.
+
+We also need to define the #stats-template template which we will use to populate the footer.
+
+```html
+
+
+
+```
+
+The #stats-template displays the number of remaining incomplete items and contains a list of hyperlinks which will be used to perform actions when we implement our router. It also contains a button which can be used to clear all of the completed items.
+
+Now that we have all the HTML that we will need, we'll start implementing our application by returning to the fundamentals: a Todo model.
+
+## Todo model
+
+The `Todo` model is remarkably straightforward. First, a todo has two attributes: a `title` stores a todo item's title and a `completed` status indicates if it's complete. These attributes are passed as defaults, as shown below:
+
+```javascript
+
+ // js/models/todo.js
+
+ var app = app || {};
+
+ // Todo Model
+ // ----------
+ // Our basic **Todo** model has `title`, `order`, and `completed` attributes.
+
+ app.Todo = Backbone.Model.extend({
+
+ // Default attributes ensure that each todo created has `title` and `completed` keys.
+ defaults: {
+ title: '',
+ completed: false
+ },
+
+ // Toggle the `completed` state of this todo item.
+ toggle: function() {
+ this.save({
+ completed: !this.get('completed')
+ });
+ }
+
+ });
+
+```
+
+Second, the Todo model has a `toggle()` method through which a Todo item's completion status can be set and simultaneously persisted.
+
+## Todo collection
+
+Next, a `TodoList` collection is used to group our models. The collection uses the LocalStorage adapter to override Backbone's default `sync()` operation with one that will persist our Todo records to HTML5 Local Storage. Through local storage, they're saved between page requests.
+
+```javascript
+
+ // js/collections/todos.js
+
+ var app = app || {};
+
+ // Todo Collection
+ // ---------------
+
+ // The collection of todos is backed by *localStorage* instead of a remote
+ // server.
+ var TodoList = Backbone.Collection.extend({
+
+ // Reference to this collection's model.
+ model: app.Todo,
+
+ // Save all of the todo items under the `"todos-backbone"` namespace.
+ localStorage: new Backbone.LocalStorage('todos-backbone'),
+
+ // Filter down the list of all todo items that are finished.
+ completed: function() {
+ return this.filter(function( todo ) {
+ return todo.get('completed');
+ });
+ },
+
+ // Filter down the list to only todo items that are still not finished.
+ remaining: function() {
+ return this.without.apply( this, this.completed() );
+ },
+
+ // We keep the Todos in sequential order, despite being saved by unordered
+ // GUID in the database. This generates the next order number for new items.
+ nextOrder: function() {
+ if ( !this.length ) {
+ return 1;
+ }
+ return this.last().get('order') + 1;
+ },
+
+ // Todos are sorted by their original insertion order.
+ comparator: function( todo ) {
+ return todo.get('order');
+ }
+ });
+
+ // Create our global collection of **Todos**.
+ app.Todos = new TodoList();
+
+```
+
+The collection's `completed()` and `remaining()` methods return an array of finished and unfinished todos, respectively.
+
+A `nextOrder()` method implements a sequence generator while a `comparator()` sorts items by their insertion order.
+
+*Note*: `this.filter`, `this.without` and `this.last` are Underscore methods that are mixed in to Backbone.Collection so that the reader knows how to find out more about them.
+
+## Application View
+
+Let's examine the core application logic which resides in the views. Each view supports functionality such as edit-in-place, and therefore contains a fair amount of logic. To help organize this logic, we'll use the element controller pattern. The element controller pattern consists of two views: one controls a collection of items while the other deals with each individual item.
+
+In our case, an `AppView` will handle the creation of new todos and rendering of the initial todo list. Instances of `TodoView` will be associated with each individual Todo record. Todo instances can handle editing, updating, and destroying their associated todo.
+
+To keep things short and simple, we won't be implementing all of the application's features in this tutorial, we'll just cover enough to get you started. Even so, there is a lot for us to cover in `AppView`, so we'll split our discussion into two sections.
+
+```javascript
+
+ // js/views/app.js
+
+ var app = app || {};
+
+ // The Application
+ // ---------------
+
+ // Our overall **AppView** is the top-level piece of UI.
+ app.AppView = Backbone.View.extend({
+
+ // Instead of generating a new element, bind to the existing skeleton of
+ // the App already present in the HTML.
+ el: '#todoapp',
+
+ // Our template for the line of statistics at the bottom of the app.
+ statsTemplate: _.template( $('#stats-template').html() ),
+
+ // At initialization we bind to the relevant events on the `Todos`
+ // collection, when items are added or changed.
+ initialize: function() {
+ this.allCheckbox = this.$('#toggle-all')[0];
+ this.$input = this.$('#new-todo');
+ this.$footer = this.$('#footer');
+ this.$main = this.$('#main');
+
+ this.listenTo(app.Todos, 'add', this.addOne);
+ this.listenTo(app.Todos, 'reset', this.addAll);
+ },
+
+ // Add a single todo item to the list by creating a view for it, and
+ // appending its element to the `
`.
+ addOne: function( todo ) {
+ var view = new app.TodoView({ model: todo });
+ $('#todo-list').append( view.render().el );
+ },
+
+ // Add all items in the **Todos** collection at once.
+ addAll: function() {
+ this.$('#todo-list').html('');
+ app.Todos.each(this.addOne, this);
+ }
+
+ });
+
+```
+
+A few notable features are present in our initial version of AppView, including a `statsTemplate`, an `initialize` method that's implicitly called on instantiation, and several view-specific methods.
+
+An `el` (element) property stores a selector targeting the DOM element with an ID of `todoapp`. In the case of our application, `el` refers to the matching `` element in index.html.
+
+The call to _.template uses Underscore's micro-templating to construct a statsTemplate object from our #stats-template. We will use this template later when we render our view.
+
+Now let's take a look at the `initialize` function. First, it's using jQuery to cache the elements it will be using into local properties (recall that `this.$()` finds elements relative to `this.$el`). Then it's binding to two events on the Todos collection: `add` and `reset`. Since we're delegating handling of updates and deletes to the `TodoView` view, we don't need to worry about those here. The two pieces of logic are:
+
+* When an `add` event is fired the `addOne()` method is called and passed the new model. `addOne()` creates an instance of TodoView view, renders it, and appends the resulting element to our Todo list.
+
+* When a `reset` event occurs (i.e., we update the collection in bulk as happens when the Todos are loaded from Local Storage), `addAll()` is called, which iterates over all of the Todos currently in our collection and fires `addOne()` for each item.
+
+Note that we were able to use `this` within `addAll()` to refer to the view because `listenTo()` implicitly set the callback's context to the view when it created the binding.
+
+Now, let's add some more logic to complete our AppView!
+
+```javascript
+
+ // js/views/app.js
+
+ var app = app || {};
+
+ // The Application
+ // ---------------
+
+ // Our overall **AppView** is the top-level piece of UI.
+ app.AppView = Backbone.View.extend({
+
+ // Instead of generating a new element, bind to the existing skeleton of
+ // the App already present in the HTML.
+ el: '#todoapp',
+
+ // Our template for the line of statistics at the bottom of the app.
+ statsTemplate: _.template( $('#stats-template').html() ),
+
+ // New
+ // Delegated events for creating new items, and clearing completed ones.
+ events: {
+ 'keypress #new-todo': 'createOnEnter',
+ 'click #clear-completed': 'clearCompleted',
+ 'click #toggle-all': 'toggleAllComplete'
+ },
+
+ // At initialization we bind to the relevant events on the `Todos`
+ // collection, when items are added or changed. Kick things off by
+ // loading any preexisting todos that might be saved in *localStorage*.
+ initialize: function() {
+ this.allCheckbox = this.$('#toggle-all')[0];
+ this.$input = this.$('#new-todo');
+ this.$footer = this.$('#footer');
+ this.$main = this.$('#main');
+
+ this.listenTo(app.Todos, 'add', this.addOne);
+ this.listenTo(app.Todos, 'reset', this.addAll);
+
+ // New
+ this.listenTo(app.Todos, 'change:completed', this.filterOne);
+ this.listenTo(app.Todos,'filter', this.filterAll);
+ this.listenTo(app.Todos, 'all', this.render);
+
+ app.Todos.fetch();
+ },
+
+ // New
+ // Re-rendering the App just means refreshing the statistics -- the rest
+ // of the app doesn't change.
+ render: function() {
+ var completed = app.Todos.completed().length;
+ var remaining = app.Todos.remaining().length;
+
+ if ( app.Todos.length ) {
+ this.$main.show();
+ this.$footer.show();
+
+ this.$footer.html(this.statsTemplate({
+ completed: completed,
+ remaining: remaining
+ }));
+
+ this.$('#filters li a')
+ .removeClass('selected')
+ .filter('[href="#/' + ( app.TodoFilter || '' ) + '"]')
+ .addClass('selected');
+ } else {
+ this.$main.hide();
+ this.$footer.hide();
+ }
+
+ this.allCheckbox.checked = !remaining;
+ },
+
+ // Add a single todo item to the list by creating a view for it, and
+ // appending its element to the `
`.
+ addOne: function( todo ) {
+ var view = new app.TodoView({ model: todo });
+ $('#todo-list').append( view.render().el );
+ },
+
+ // Add all items in the **Todos** collection at once.
+ addAll: function() {
+ this.$('#todo-list').html('');
+ app.Todos.each(this.addOne, this);
+ },
+
+ // New
+ filterOne : function (todo) {
+ todo.trigger('visible');
+ },
+
+ // New
+ filterAll : function () {
+ app.Todos.each(this.filterOne, this);
+ },
+
+
+ // New
+ // Generate the attributes for a new Todo item.
+ newAttributes: function() {
+ return {
+ title: this.$input.val().trim(),
+ order: app.Todos.nextOrder(),
+ completed: false
+ };
+ },
+
+ // New
+ // If you hit return in the main input field, create new Todo model,
+ // persisting it to localStorage.
+ createOnEnter: function( event ) {
+ if ( event.which !== ENTER_KEY || !this.$input.val().trim() ) {
+ return;
+ }
+
+ app.Todos.create( this.newAttributes() );
+ this.$input.val('');
+ },
+
+ // New
+ // Clear all completed todo items, destroying their models.
+ clearCompleted: function() {
+ _.invoke(app.Todos.completed(), 'destroy');
+ return false;
+ },
+
+ // New
+ toggleAllComplete: function() {
+ var completed = this.allCheckbox.checked;
+
+ app.Todos.each(function( todo ) {
+ todo.save({
+ 'completed': completed
+ });
+ });
+ }
+ });
+
+```
+
+We have added the logic for creating new todos, editing them, and filtering them based on their completed status.
+
+* events: We've defined an `events` hash containing declarative callbacks for our DOM events. It binds those events to the following methods:
+ * `createOnEnter()`: Creates a new Todo model and persists it in localStorage when a user hits enter inside the `` field. Also resets the main `` field value to prepare it for the next entry. The model is populated by newAttributes(), which returns an object literal composed of the title, order, and completed state of the new item. Note that `this` is referring to the view and not the DOM element since the callback was bound using the `events` hash.
+ * `clearCompleted()`: Removes the items in the todo list that have been marked as completed when the user clicks the clear-completed checkbox (this checkbox will be in the footer populated by the #stats-template).
+ * `toggleAllComplete()`: Allows a user to mark all of the items in the todo list as completed by clicking the toggle-all checkbox.
+
+* `initialize()`: We've bound callbacks to several additional events:
+ * We've bound a `filterOne()` callback on the Todos collection for a `change:completed` event. This listens for changes to the completed flag for any model in the collection. The affected todo is passed to the callback which triggers a custom `visible` event on the model.
+ * We've bound a `filterAll()` callback for a `filter` event, which works a little similar to addOne() and addAll(). It’s responsibility is to toggle which todo items are visible based on the filter currently selected in the UI (all, completed or remaining) via calls to filterOne().
+ * We've used the special `all` event to bind any event triggered on the Todos collection to the view's render method (discussed below).
+
+The `initialize()` method completes by fetching the previously saved todos from localStorage.
+
+* `render()`: Several things are happening in our `render()` method:
+ * The #main and #footer sections are displayed or hidden depending on whether there are any todos in the collection.
+ * The footer is populated with the HTML produced by instantiating the statsTemplate with the number of completed and remaining todo items.
+ * The HTML produced by the preceding step contains a list of filter links. The value of `app.TodoFilter`, which will be set by our router, is being used to apply the class 'selected' to the link corresponding to the currently selected filter. This will result in conditional CSS styling being applied to that filter.
+ * The allCheckbox is updated based on whether there are remaining todos.
+
+## Individual Todo View
+
+Now let’s look at the `TodoView` view. This will be in charge of individual Todo records, making sure the view updates when the todo does. To enable this functionality, we will add event listeners to the view that listen for events on an individual todo's HTML representation.
+
+```javascript
+
+ // js/views/todos.js
+
+ var app = app || {};
+
+ // Todo Item View
+ // --------------
+
+ // The DOM element for a todo item...
+ app.TodoView = Backbone.View.extend({
+
+ //... is a list tag.
+ tagName: 'li',
+
+ // Cache the template function for a single item.
+ template: _.template( $('#item-template').html() ),
+
+ // The DOM events specific to an item.
+ events: {
+ 'dblclick label': 'edit',
+ 'keypress .edit': 'updateOnEnter',
+ 'blur .edit': 'close'
+ },
+
+ // The TodoView listens for changes to its model, re-rendering. Since there's
+ // a one-to-one correspondence between a **Todo** and a **TodoView** in this
+ // app, we set a direct reference on the model for convenience.
+ initialize: function() {
+ this.listenTo(this.model, 'change', this.render);
+ },
+
+ // Re-renders the titles of the todo item.
+ render: function() {
+ this.$el.html( this.template( this.model.toJSON() ) );
+ this.$input = this.$('.edit');
+ return this;
+ },
+
+ // Switch this view into `"editing"` mode, displaying the input field.
+ edit: function() {
+ this.$el.addClass('editing');
+ this.$input.focus();
+ },
+
+ // Close the `"editing"` mode, saving changes to the todo.
+ close: function() {
+ var value = this.$input.val().trim();
+
+ if ( value ) {
+ this.model.save({ title: value });
+ }
+
+ this.$el.removeClass('editing');
+ },
+
+ // If you hit `enter`, we're through editing the item.
+ updateOnEnter: function( e ) {
+ if ( e.which === ENTER_KEY ) {
+ this.close();
+ }
+ }
+ });
+
+```
+
+In the `initialize()` constructor, we set up a listener that monitors a todo model’s `change` event. As a result, when the todo gets updated, the application will re-render the view and visually reflect its changes. Note that the model passed in the arguments hash by our AppView is automatically available to us as `this.model`.
+
+In the `render()` method, we render our Underscore.js `#item-template`, which was previously compiled into this.template using Underscore’s `_.template()` method. This returns an HTML fragment that replaces the content of the view's element (an li element was implicitly created for us based on the `tagName` property). In other words, the rendered template is now present under `this.el` and can be appended to the todo list in the user interface. `render()` finishes by caching the input element within the instantiated template into `this.input`.
+
+Our events hash includes three callbacks:
+
+* `edit()`: changes the current view into editing mode when a user double-clicks on an existing item in the todo list. This allows them to change the existing value of the item’s title attribute.
+* `updateOnEnter()`: checks that the user has hit the return/enter key and executes the close() function.
+* `close()`: trims the value of the current text in our `` field, ensuring that we don’t process it further if it does not contain any text (e.g ‘’). If a valid value has been provided, we save the changes to the current todo model and close editing mode by removing the corresponding CSS class.
+
+## Startup
+
+So now we have two views: `AppView` and `TodoView`. The former needs to be instantiated on page load so its code gets executed. This can be accomplished through jQuery's `ready()` utility, which will execute a function when the DOM is loaded.
+
+```javascript
+
+ // js/app.js
+
+ var app = app || {};
+ var ENTER_KEY = 13;
+
+ $(function() {
+
+ // Kick things off by creating the **App**.
+ new app.AppView();
+
+ });
+
+```
+
+## In action
+
+Let's pause and ensure that the work we've done so far functions as intended.
+
+If you are following along, open `file://*path*/index.html` in your browser and monitor its console. If all is well, you shouldn't see any JavaScript errors other than regarding the router.js file that we haven't created yet. The todo list should be blank as we haven't yet created any todos. Plus, there is some additional work we'll need to do before the user interface fully functions.
+
+However, a few things can be tested through the JavaScript console.
+
+In the console, add a new todo item: `window.app.Todos.create({ title: 'My first Todo item'});` and hit return.
+
+![](img/todos_d.png)
+
+If all is functioning properly, this should log the new todo we've just added to the todos collection. The newly created todo is also saved to Local Storage and will be available on page refresh.
+
+`window.app.Todos.create()` executes a collection method (`Collection.create(attributes, [options])`) which instantiates a new model item of the type passed into the collection definition, in our case `app.Todo`:
+
+```javascript
+
+ // from our js/collections/todos.js
+
+ var TodoList = Backbone.Collection.extend({
+
+ model: app.Todo // the model type used by collection.create() to instantiate new model in the collection
+ ...
+ )};
+
+```
+
+Run the following in the console to check it out:
+
+```javascript
+var secondTodo = window.app.Todos.create({ title: 'My second Todo item'});
+secondTodo instanceof app.Todo // returns true
+```
+
+Now refresh the page and we should be able to see the fruits of our labour.
+
+The todos added through the console should still appear in the list since they are populated from the Local Storage. Also, we should be able to create a new todo by typing a title and pressing enter.
+
+![](img/todos_b.png)
+
+Excellent, we're making great progress, but what about completing and deleting todos?
+
+## Completing & deleting todos
+
+
+The next part of our tutorial is going to cover completing and deleting todos. These two actions are specific to each Todo item, so we need to add this functionality to the TodoView view. We will do so by adding `togglecompleted()` and `clear()` methods along with corresponding entries in the `events` hash.
+
+```javascript
+
+ // js/views/todos.js
+
+ var app = app || {};
+
+ // Todo Item View
+ // --------------
+
+ // The DOM element for a todo item...
+ app.TodoView = Backbone.View.extend({
+
+ //... is a list tag.
+ tagName: 'li',
+
+ // Cache the template function for a single item.
+ template: _.template( $('#item-template').html() ),
+
+ // The DOM events specific to an item.
+ events: {
+ 'click .toggle': 'togglecompleted', // NEW
+ 'dblclick label': 'edit',
+ 'click .destroy': 'clear', // NEW
+ 'keypress .edit': 'updateOnEnter',
+ 'blur .edit': 'close'
+ },
+
+ // The TodoView listens for changes to its model, re-rendering. Since there's
+ // a one-to-one correspondence between a **Todo** and a **TodoView** in this
+ // app, we set a direct reference on the model for convenience.
+ initialize: function() {
+ this.listenTo(this.model, 'change', this.render);
+ this.listenTo(this.model, 'destroy', this.remove); // NEW
+ this.listenTo(this.model, 'visible', this.toggleVisible); // NEW
+ },
+
+ // Re-render the titles of the todo item.
+ render: function() {
+ this.$el.html( this.template( this.model.toJSON() ) );
+
+ this.$el.toggleClass( 'completed', this.model.get('completed') ); // NEW
+ this.toggleVisible(); // NEW
+
+ this.$input = this.$('.edit');
+ return this;
+ },
+
+ // NEW - Toggles visibility of item
+ toggleVisible : function () {
+ this.$el.toggleClass( 'hidden', this.isHidden());
+ },
+
+ // NEW - Determines if item should be hidden
+ isHidden : function () {
+ var isCompleted = this.model.get('completed');
+ return ( // hidden cases only
+ (!isCompleted && app.TodoFilter === 'completed')
+ || (isCompleted && app.TodoFilter === 'active')
+ );
+ },
+
+ // NEW - Toggle the `"completed"` state of the model.
+ togglecompleted: function() {
+ this.model.toggle();
+ },
+
+ // Switch this view into `"editing"` mode, displaying the input field.
+ edit: function() {
+ this.$el.addClass('editing');
+ this.$input.focus();
+ },
+
+ // Close the `"editing"` mode, saving changes to the todo.
+ close: function() {
+ var value = this.$input.val().trim();
+
+ if ( value ) {
+ this.model.save({ title: value });
+ } else {
+ this.clear(); // NEW
+ }
+
+ this.$el.removeClass('editing');
+ },
+
+ // If you hit `enter`, we're through editing the item.
+ updateOnEnter: function( e ) {
+ if ( e.which === ENTER_KEY ) {
+ this.close();
+ }
+ },
+
+ // NEW - Remove the item, destroy the model from *localStorage* and delete its view.
+ clear: function() {
+ this.model.destroy();
+ }
+ });
+
+```
+
+The key part of this is the two event handlers we've added, a togglecompleted event on the todo's checkbox, and a click event on the todo's `` button.
+
+Let's look at the events that occur when we click the checkbox for a todo item:
+
+1. The `togglecompleted()` function is invoked which calls `toggle()` on the todo model.
+2. `toggle()` toggles the completed status of the todo and calls `save()` on the model.
+3. The save generates a `change` event on the model which is bound to our TodoView's `render()` method. We've added a statement in `render()` which toggles the completed class on the element depending
+on the model's completed state. The associated CSS changes the color of the title text and strikes a line through it when the todo is completed.
+4. The save also results in a `change:completed` event on the model which is handled by the AppView's `filterOne()` method. If we look back at the AppView, we see that filterOne() will trigger a `visible` event on the model. This is used in conjunction with the filtering in our routes and collections so that we only display an item if its completed state falls in line with the current filter. In our update to the TodoView, we bound the model's visible event to the `toggleVisible()` method. This method uses the new `isHidden()` method to determine if the todo should be visible and updates it accordingly.
+
+Now let's look at what happens when we click on a todo's destroy button:
+
+1. The `clear()` method is invoked which calls `destroy()` on the todo model.
+2. The todo is deleted from local storage and a `destroy` event is triggered.
+3. In our update to the TodoView, we bound the model's `destroy` event to the view's inherited `remove()` method. This method deletes the view and automatically removes the associated element from the DOM. Since we used `listenTo()` to bind the view's listeners to its model, `remove()` also unbinds the listening callbacks from the model ensuring that a memory leak does not occur.
+4. `destroy()` also removes the model from the Todos collection, which triggers a `remove` event on the collection.
+5. Since the AppView has its `render()` method bound to `all` events on the Todos collection, that view is rendered and the stats in the footer are updated.
+
+That's all there is to it!
+
+If you want to see an example of those, see the [complete source](https://github.com/addyosmani/todomvc/tree/gh-pages/architecture-examples/backbone).
+
+## Todo routing
+
+Finally, we move on to routing, which will allow us to easily filter the list of items that are active as well as those which have been completed. We’ll be supporting the following routes:
+
+```
+#/ (all - default)
+#/active
+#/completed
+```
+
+![](img/todos_e.png)
+
+When the route changes, the todo list will be filtered on a model level and the selected class on the filter links in the footer will be toggled as described above. When an item is updated while a filter is active it will be updated accordingly (e.g., if the filter is active and the item is checked, it will be hidden). The active filter is persisted on reload.
+
+```javascript
+
+ // js/routers/router.js
+
+ // Todo Router
+ // ----------
+
+ var Workspace = Backbone.Router.extend({
+ routes:{
+ '*filter': 'setFilter'
+ },
+
+ setFilter: function( param ) {
+ // Set the current filter to be used
+ if (param) {
+ param = param.trim();
+ }
+ app.TodoFilter = param || '';
+
+ // Trigger a collection filter event, causing hiding/unhiding
+ // of Todo view items
+ app.Todos.trigger('filter');
+ }
+ });
+
+ app.TodoRouter = new Workspace();
+ Backbone.history.start();
+
+```
+
+Our router uses a *splat to set up a default route which passes the string after '#/' in the URL to `setFilter()` which sets `window.app.TodoFilter` to that string.
+
+As we can see in the line `window.app.Todos.trigger('filter')`, once the filter has been set, we simply trigger 'filter' on our Todos collection to toggle which items are visible and which are hidden. Recall that our AppView's `filterAll()` method is bound to the collection's filter event and that any event on the collection will cause the AppView to re-render.
+
+Finally, we create an instance of our router and call `Backbone.history.start()` to route the initial URL during page load.
+
+## Summary
+
+We’ve now built our first complete Backbone.js application. The latest version of the full app can be viewed online at any time and the sources are readily available via [TodoMVC](http://www.todomvc.com).
+
+Later on in the book, we’ll learn how to further modularize this application using RequireJS, swap out our persistence layer to a database back-end, and finally unit test the application with a few different testing frameworks.
+
+# Exercise 2: Book Library - Your First RESTful Backbone.js App
+
+While our first application gave us a good taste of how Backbone.js applications are made, most real-world applications will want to communicate with a back-end of some sort. Let's reinforce what we have already learned with another example, but this time we will also create a RESTful API for our application to talk to.
+
+In this exercise we will build a library application for managing digital books using Backbone. For each book we will store the title, author, date of release, and some keywords. We'll also show a picture of the cover.
+
+
+##Setting up
+
+First we need to create a folder structure for our project. To keep the front-end and back-end separate, we will create a folder called *site* for our client in the project root. Within it we will create css, img, and js directories.
+
+As with the last example we will split our JavaScript files by their function, so under the js directory create folders named lib, models, collections, and views. Your directory hierarchy should look like this:
+
+```
+site/
+ css/
+ img/
+ js/
+ collections/
+ lib/
+ models/
+ views/
+```
+
+Download the Backbone, Underscore, and jQuery libraries and copy them to your js/lib folder. We need a placeholder image for the book covers. Save this image to your site/img folder:
+
+![](img/placeholder.png)
+
+Just like before we need to load all of our dependencies in the site/index.html file:
+
+```html
+
+
+
+
+ Backbone.js Library
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+We should also add in the HTML for the user interface. We'll want a form for adding a new book so add the following immediately inside the `body` element:
+
+```html
+
+
+
+```
+
+and we'll need a template for displaying each book which should be placed before the `script` tags:
+
+```html
+
+```
+
+To see what this will look like with some data in it, go ahead and add a manually filled-in book to the *books* div.
+
+```html
+
+
+
+
Title
+
Author
+
Release Date
+
Keywords
+
+
+
+
+```
+
+Open this file in a browser and it should look something like this:
+
+![](img/chapter5-1.png)
+
+Not so great. This is not a CSS tutorial, but we still need to do some formatting. Create a file named screen.css in your site/css folder:
+
+```css
+body {
+ background-color: #eee;
+}
+
+.bookContainer {
+ outline: 1px solid #aaa;
+ width: 350px;
+ height: 130px;
+ background-color: #fff;
+ float: left;
+ margin: 5px;
+}
+
+.bookContainer img {
+ float: left;
+ margin: 10px;
+}
+
+.bookContainer ul {
+ list-style-type: none;
+ margin-bottom: 0;
+}
+
+.bookContainer button {
+ float: right;
+ margin: 10px;
+}
+
+#addBook label {
+ width: 100px;
+ margin-right: 10px;
+ text-align: right;
+ line-height: 25px;
+}
+
+#addBook label, #addBook input {
+ display: block;
+ margin-bottom: 10px;
+ float: left;
+}
+
+#addBook label[for="title"], #addBook label[for="releaseDate"] {
+ clear: both;
+}
+
+#addBook button {
+ display: block;
+ margin: 5px 20px 10px 10px;
+ float: right;
+ clear: both;
+}
+
+#addBook div {
+ width: 550px;
+}
+
+#addBook div:after {
+ content: "";
+ display: block;
+ height: 0;
+ visibility: hidden;
+ clear: both;
+ font-size: 0;
+ line-height: 0;
+}
+```
+
+Now it looks a bit better:
+
+![](img/chapter5-2.png)
+
+So this is what we want the final result to look like, but with more books. Go ahead and copy the bookContainer div a few more times if you would like to see what it looks like. Now we are ready to start developing the actual application.
+
+#### Creating the Model, Collection, Views, and App
+
+First, we'll need a model of a book and a collection to hold the list. These are both very simple, with the model only declaring some defaults:
+
+```javascript
+// site/js/models/book.js
+
+var app = app || {};
+
+app.Book = Backbone.Model.extend({
+ defaults: {
+ coverImage: 'img/placeholder.png',
+ title: 'No title',
+ author: 'Unknown',
+ releaseDate: 'Unknown',
+ keywords: 'None'
+ }
+});
+```
+
+```javascript
+// site/js/collections/library.js
+
+var app = app || {};
+
+app.Library = Backbone.Collection.extend({
+ model: app.Book
+});
+```
+
+Next, in order to display books we'll need a view:
+
+```javascript
+// site/js/views/book.js
+
+var app = app || {};
+
+app.BookView = Backbone.View.extend({
+ tagName: 'div',
+ className: 'bookContainer',
+ template: _.template( $( '#bookTemplate' ).html() ),
+
+ render: function() {
+ //this.el is what we defined in tagName. use $el to get access to jQuery html() function
+ this.$el.html( this.template( this.model.toJSON() ) );
+
+ return this;
+ }
+});
+```
+
+We'll also need a view for the list itself:
+
+```javascript
+// site/js/views/library.js
+
+var app = app || {};
+
+app.LibraryView = Backbone.View.extend({
+ el: '#books',
+
+ initialize: function( initialBooks ) {
+ this.collection = new app.Library( initialBooks );
+ this.render();
+ },
+
+ // render library by rendering each book in its collection
+ render: function() {
+ this.collection.each(function( item ) {
+ this.renderBook( item );
+ }, this );
+ },
+
+ // render a book by creating a BookView and appending the
+ // element it renders to the library's element
+ renderBook: function( item ) {
+ var bookView = new app.BookView({
+ model: item
+ });
+ this.$el.append( bookView.render().el );
+ }
+});
+```
+
+Note that in the initialize function we accept an array of data that we pass to the app.Library constructor. We'll use this to populate our collection with some sample data so that we can see everything is working correctly. Finally, we have the entry point for our code, along with the sample data:
+
+```javascript
+// site/js/app.js
+
+var app = app || {};
+
+$(function() {
+ var books = [
+ { title: 'JavaScript: The Good Parts', author: 'Douglas Crockford', releaseDate: '2008', keywords: 'JavaScript Programming' },
+ { title: 'The Little Book on CoffeeScript', author: 'Alex MacCaw', releaseDate: '2012', keywords: 'CoffeeScript Programming' },
+ { title: 'Scala for the Impatient', author: 'Cay S. Horstmann', releaseDate: '2012', keywords: 'Scala Programming' },
+ { title: 'American Psycho', author: 'Bret Easton Ellis', releaseDate: '1991', keywords: 'Novel Splatter' },
+ { title: 'Eloquent JavaScript', author: 'Marijn Haverbeke', releaseDate: '2011', keywords: 'JavaScript Programming' }
+ ];
+
+ new app.LibraryView( books );
+});
+```
+
+Our app just passes the sample data to a new instance of app.LibraryView that it creates. Since the `initialize()` constructor in LibraryView invokes the view's `render()` method, all the books in the library will be displayed. Since we are passing our entry point as a callback to jQuery (in the form of its $ alias), the function will execute when the DOM is ready.
+
+If you view index.html in a browser you should see something like this:
+
+![](img/chapter5-3.png)
+
+This is a complete Backbone application, though it doesn't yet do anything interesting.
+
+##Wiring in the interface
+
+Now we'll add some functionality to the useless form at the top and the delete buttons on each book.
+
+###Adding models
+
+When the user clicks the add button we want to take the data in the form and use it to create a new model. In the LibraryView we need to add an event handler for the click event:
+
+```javascript
+events:{
+ 'click #add':'addBook'
+},
+
+addBook: function( e ) {
+ e.preventDefault();
+
+ var formData = {};
+
+ $( '#addBook div' ).children( 'input' ).each( function( i, el ) {
+ if( $( el ).val() != '' )
+ {
+ formData[ el.id ] = $( el ).val();
+ }
+ });
+
+ this.collection.add( new app.Book( formData ) );
+},
+```
+
+We select all the input elements of the form that have a value and iterate over them using jQuery's each. Since we used the same names for ids in our form as the keys on our Book model we can simply store them directly in the formData object. We then create a new Book from the data and add it to the collection. We skip fields without a value so that the defaults will be applied.
+
+Backbone passes an event object as a parameter to the event-handling function. This is useful for us in this case since we don't want the form to actually submit and reload the page. Adding a call to `preventDefault` on the event in the `addBook` function takes care of this for us.
+
+Now we just need to make the view render again when a new model is added. To do this, we put
+
+```javascript
+this.listenTo( this.collection, 'add', this.renderBook );
+```
+
+in the initialize function of LibraryView.
+
+Now you should be ready to take the application for a spin.
+
+![](img/chapter5-4.png)
+
+You may notice that the file input for the cover image isn’t working, but that is left as an exercise to the reader.
+
+###Removing models
+
+Next, we need to wire up the delete button. Set up the event handler in the BookView:
+
+```javascript
+ events: {
+ 'click .delete': 'deleteBook'
+ },
+
+ deleteBook: function() {
+ //Delete model
+ this.model.destroy();
+
+ //Delete view
+ this.remove();
+ },
+```
+
+You should now be able to add and remove books from the library.
+
+##Creating the back-end
+
+Now we need to make a small detour and set up a server with a REST api. Since this is a JavaScript book we will use JavaScript to create the server using node.js. If you are more comfortable in setting up a REST server in another language, this is the API you need to conform to:
+
+```
+url HTTP Method Operation
+/api/books GET Get an array of all books
+/api/books/:id GET Get the book with id of :id
+/api/books POST Add a new book and return the book with an id attribute added
+/api/books/:id PUT Update the book with id of :id
+/api/books/:id DELETE Delete the book with id of :id
+```
+
+The outline for this section looks like this:
+
+* Install node.js, npm, and MongoDB
+* Install node modules
+* Create a simple web server
+* Connect to the database
+* Create the REST API
+
+###Install node.js, npm, and MongoDB
+
+Download and install node.js from nodejs.org. The node package manager (npm) will be installed as well.
+
+Download and install MongoDB from mongodb.org. There are detailed installation guides [on the website](http://docs.mongodb.org/manual/installation/).
+
+###Install node modules
+
+Create a file called `package.json` in the root of your project. It should look like
+
+```javascript
+{
+ "name": "backbone-library",
+ "version": "0.0.1",
+ "description": "A simple library application using Backbone",
+ "dependencies": {
+ "express": "~3.1.0",
+ "path": "~0.4.9",
+ "mongoose": "~3.5.5"
+ }
+}
+
+```
+
+Amongst other things, this file tells npm what the dependencies are for our project. On the command line, from the root of your project, type:
+
+```sh
+npm install
+```
+
+You should see npm fetch the dependencies that we listed in our package.json and save them within a folder called node_modules.
+
+Your folder structure should look something like this:
+
+```
+node_modules/
+ .bin/
+ express/
+ mongoose/
+ path/
+site/
+ css/
+ img/
+ js/
+ index.html
+package.json
+```
+
+###Create a simple web server
+
+Create a file named server.js in the project root containing the following code:
+
+```javascript
+// Module dependencies.
+var application_root = __dirname,
+ express = require( 'express' ), //Web framework
+ path = require( 'path' ), //Utilities for dealing with file paths
+ mongoose = require( 'mongoose' ); //MongoDB integration
+
+//Create server
+var app = express();
+
+// Configure server
+app.configure( function() {
+ //parses request body and populates request.body
+ app.use( express.bodyParser() );
+
+ //checks request.body for HTTP method overrides
+ app.use( express.methodOverride() );
+
+ //perform route lookup based on url and HTTP method
+ app.use( app.router );
+
+ //Where to serve static content
+ app.use( express.static( path.join( application_root, 'site') ) );
+
+ //Show all errors in development
+ app.use( express.errorHandler({ dumpExceptions: true, showStack: true }));
+});
+
+//Start server
+var port = 4711;
+app.listen( port, function() {
+ console.log( 'Express server listening on port %d in %s mode', port, app.settings.env );
+});
+```
+
+We start off by loading the modules required for this project: Express for creating the HTTP server, Path for dealing with file paths, and mongoose for connecting with the database. We then create an Express server and configure it using an anonymous function. This is a pretty standard configuration and for our application we don’t actually need the methodOverride part. It is used for issuing PUT and DELETE HTTP requests directly from a form, since forms normally only support GET and POST. Finally, we start the server by running the listen function. The port number used, in this case 4711, could be any free port on your system. I simply used 4711 since it is unlikely to have been used by anything else. We are now ready to run our first server:
+
+```javascript
+node server.js
+```
+
+If you open a browser on http://localhost:4711 you should see something like this:
+
+![](img/chapter5-5.png)
+
+This is where we left off in Part 2, but we are now running on a server instead of directly from the files. Great job! We can now start defining routes (URLs) that the server should react to. This will be our REST API. Routes are defined by using app followed by one of the HTTP verbs get, put, post, and delete, which corresponds to Create, Read, Update and Delete. Let us go back to server.js and define a simple route:
+
+```javascript
+// Routes
+app.get( '/api', function( request, response ) {
+ response.send( 'Library API is running' );
+});
+```
+
+The get function takes a URL as the first parameter and a function as the second. The function will be called with request and response objects. Now you can restart node and go to our specified URL:
+
+![](img/chapter5-6.png)
+
+###Connect to the database
+
+Fantastic. Now, since we want to store our data in MongoDB, we need to define a schema. Add this to server.js:
+
+```javascript
+//Connect to database
+mongoose.connect( 'mongodb://localhost/library_database' );
+
+//Schemas
+var Book = new mongoose.Schema({
+ title: String,
+ author: String,
+ releaseDate: Date
+});
+
+//Models
+var BookModel = mongoose.model( 'Book', Book );
+```
+
+As you can see, schema definitions are quite straight forward. They can be more advanced, but this will do for us. I also extracted a model (BookModel) from Mongo. This is what we will be working with. Next up, we define a GET operation for the REST API that will return all books:
+
+```javascript
+//Get a list of all books
+app.get( '/api/books', function( request, response ) {
+ return BookModel.find( function( err, books ) {
+ if( !err ) {
+ return response.send( books );
+ } else {
+ return console.log( err );
+ }
+ });
+});
+```
+
+The find function of Model is defined like this: `function find (conditions, fields, options, callback)` – but since we want a function that returns all books we only need the callback parameter. The callback will be called with an error object and an array of found objects. If there was no error we return the array of objects to the client using the `send` function of the response object, otherwise we log the error to the console.
+
+To test our API we need to do a little typing in a JavaScript console. Restart node and go to localhost:4711 in your browser. Open up the JavaScript console. If you are using Google Chrome, go to View->Developer->JavaScript Console. If you are using Firefox, install Firebug and go to View->Firebug. Most other browsers will have a similar console. In the console type the following:
+
+```javascript
+jQuery.get( '/api/books/', function( data, textStatus, jqXHR ) {
+ console.log( 'Get response:' );
+ console.dir( data );
+ console.log( textStatus );
+ console.dir( jqXHR );
+});
+```
+
+…and press enter and you should get something like this:
+
+![](img/chapter5-7.png)
+
+Here I used jQuery to make the call to our REST API, since it was already loaded on the page. The returned array is obviously empty, since we have not put anything into the database yet. Let's go and create a POST route that enables adding new items in server.js:
+
+```javascript
+//Insert a new book
+app.post( '/api/books', function( request, response ) {
+ var book = new BookModel({
+ title: request.body.title,
+ author: request.body.author,
+ releaseDate: request.body.releaseDate
+ });
+ book.save( function( err ) {
+ if( !err ) {
+ return console.log( 'created' );
+ } else {
+ return console.log( err );
+ }
+ });
+ return response.send( book );
+});
+```
+
+We start by creating a new BookModel, passing an object with title, author, and releaseDate attributes. The data are collected from request.body. This means that anyone calling this operation in the API needs to supply a JSON object containing the title, author, and releaseDate attributes. Actually, the caller can omit any or all attributes since we have not made any of them mandatory.
+
+We then call the save function on the BookModel passing in a callback in the same way as with the previous get route. Finally, we return the saved BookModel. The reason we return the BookModel and not just “success” or similar string is that when the BookModel is saved it will get an _id attribute from MongoDB, which the client needs when updating or deleting a specific book. Let's try it out again. Restart node and go back to the console and type:
+
+```javascript
+jQuery.post( '/api/books', {
+ 'title': 'JavaScript the good parts',
+ 'author': 'Douglas Crockford',
+ 'releaseDate': new Date( 2008, 4, 1 ).getTime()
+}, function(data, textStatus, jqXHR) {
+ console.log( 'Post response:' );
+ console.dir( data );
+ console.log( textStatus );
+ console.dir( jqXHR );
+});
+```
+
+..and then
+
+```javascript
+jQuery.get( '/api/books/', function( data, textStatus, jqXHR ) {
+ console.log( 'Get response:' );
+ console.dir( data );
+ console.log( textStatus );
+ console.dir( jqXHR );
+});
+```
+
+You should now get a one-element array back from our server. You may wonder about this line:
+
+```javascript
+'releaseDate': new Date(2008, 4, 1).getTime()
+```
+
+MongoDB expects dates in UNIX time format (milliseconds from the start of Jan 1st 1970 UTC), so we have to convert dates before posting. The object we get back however, contains a JavaScript Date object. Also note the _id attribute of the returned object.
+
+![](img/chapter5-8.png)
+
+
+Let's move on to creating a GET request that retrieves a single book in server.js:
+
+```javascript
+//Get a single book by id
+app.get( '/api/books/:id', function( request, response ) {
+ return BookModel.findById( request.params.id, function( err, book ) {
+ if( !err ) {
+ return response.send( book );
+ } else {
+ return console.log( err );
+ }
+ });
+});
+```
+
+Here we use colon notation (:id) to tell Express that this part of the route is dynamic. We also use the `findById` function on BookModel to get a single result. If you restart node, you can get a single book by adding the id previously returned to the URL like this:
+
+```javascript
+jQuery.get( '/api/books/4f95a8cb1baa9b8a1b000006', function( data, textStatus, jqXHR ) {
+ console.log( 'Get response:' );
+ console.dir( data );
+ console.log( textStatus );
+ console.dir( jqXHR );
+});
+```
+
+Let's create the PUT (update) function next:
+
+```javascript
+//Update a book
+app.put( '/api/books/:id', function( request, response ) {
+ console.log( 'Updating book ' + request.body.title );
+ return BookModel.findById( request.params.id, function( err, book ) {
+ book.title = request.body.title;
+ book.author = request.body.author;
+ book.releaseDate = request.body.releaseDate;
+
+ return book.save( function( err ) {
+ if( !err ) {
+ console.log( 'book updated' );
+ } else {
+ console.log( err );
+ }
+ return response.send( book );
+ });
+ });
+});
+```
+
+This is a little larger than previous ones, but is also pretty straight forward – we find a book by id, update its properties, save it, and send it back to the client.
+
+To test this we need to use the more general jQuery ajax function. Again, in these examples you will need to replace the id property with one that matches an item in your own database:
+
+```javascript
+jQuery.ajax({
+ url: '/api/books/4f95a8cb1baa9b8a1b000006',
+ type: 'PUT',
+ data: {
+ 'title': 'JavaScript The good parts',
+ 'author': 'The Legendary Douglas Crockford',
+ 'releaseDate': new Date( 2008, 4, 1 ).getTime()
+ },
+ success: function( data, textStatus, jqXHR ) {
+ console.log( 'Post response:' );
+ console.dir( data );
+ console.log( textStatus );
+ console.dir( jqXHR );
+ }
+});
+```
+
+Finally we create the delete route:
+
+```javascript
+//Delete a book
+app.delete( '/api/books/:id', function( request, response ) {
+ console.log( 'Deleting book with id: ' + request.params.id );
+ return BookModel.findById( request.params.id, function( err, book ) {
+ return book.remove( function( err ) {
+ if( !err ) {
+ console.log( 'Book removed' );
+ return response.send( '' );
+ } else {
+ console.log( err );
+ }
+ });
+ });
+});
+```
+
+…and try it out:
+
+```javascript
+jQuery.ajax({
+ url: '/api/books/4f95a5251baa9b8a1b000001',
+ type: 'DELETE',
+ success: function( data, textStatus, jqXHR ) {
+ console.log( 'Post response:' );
+ console.dir( data );
+ console.log( textStatus );
+ console.dir( jqXHR );
+ }
+});
+```
+
+So now our REST API is complete – we have support for all four HTTP verbs. What's next? Well, until now I have left out the keywords part of our books. This is a bit more complicated since a book could have several keywords and we don’t want to represent them as a string, but rather an array of strings. To do that we need another schema. Add a Keywords schema right above our Book schema:
+
+```javascript
+//Schemas
+var Keywords = new mongoose.Schema({
+ keyword: String
+});
+```
+
+To add a sub schema to an existing schema we use brackets notation like so:
+
+```javascript
+var Book = new mongoose.Schema({
+ title: String,
+ author: String,
+ releaseDate: Date,
+ keywords: [ Keywords ] // NEW
+});
+```
+
+Also update POST and PUT:
+
+```javascript
+//Insert a new book
+app.post( '/api/books', function( request, response ) {
+ var book = new BookModel({
+ title: request.body.title,
+ author: request.body.author,
+ releaseDate: request.body.releaseDate,
+ keywords: request.body.keywords // NEW
+ });
+ book.save( function( err ) {
+ if( !err ) {
+ return console.log( 'created' );
+ } else {
+ return console.log( err );
+ }
+ });
+ return response.send( book );
+});
+
+//Update a book
+app.put( '/api/books/:id', function( request, response ) {
+ console.log( 'Updating book ' + request.body.title );
+ return BookModel.findById( request.params.id, function( err, book ) {
+ book.title = request.body.title;
+ book.author = request.body.author;
+ book.releaseDate = request.body.releaseDate;
+ book.keywords = request.body.keywords; // NEW
+
+ return book.save( function( err ) {
+ if( !err ) {
+ console.log( 'book updated' );
+ } else {
+ console.log( err );
+ }
+ return response.send( book );
+ });
+ });
+});
+```
+
+There we are, that should be all we need, now we can try it out in the console:
+
+```javascript
+jQuery.post( '/api/books', {
+ 'title': 'Secrets of the JavaScript Ninja',
+ 'author': 'John Resig',
+ 'releaseDate': new Date( 2008, 3, 12 ).getTime(),
+ 'keywords':[
+ { 'keyword': 'JavaScript' },
+ { 'keyword': 'Reference' }
+ ]
+}, function( data, textStatus, jqXHR ) {
+ console.log( 'Post response:' );
+ console.dir( data );
+ console.log( textStatus );
+ console.dir( jqXHR );
+});
+```
+
+You now have a fully functional REST server that we can hook into from our front-end.
+
+##Talking to the server
+
+In this part we will cover connecting our Backbone application to the server through the REST API.
+
+As we mentioned in chapter 3 *Backbone Basics*, we can retrieve models from a server using `collection.fetch()` by setting `collection.url` to be the URL of the API endpoint. Let's update the Library collection to do that now:
+
+```javascript
+var app = app || {};
+
+app.Library = Backbone.Collection.extend({
+ model: app.Book,
+ url: '/api/books' // NEW
+});
+```
+
+This results in the default implementation of Backbone.sync assuming that the API looks like this:
+
+```
+url HTTP Method Operation
+/api/books GET Get an array of all books
+/api/books/:id GET Get the book with id of :id
+/api/books POST Add a new book and return the book with an id attribute added
+/api/books/:id PUT Update the book with id of :id
+/api/books/:id DELETE Delete the book with id of :id
+```
+
+To have our application retrieve the Book models from the server on page load we need to update the LibraryView. The Backbone documentation recommends inserting all models when the page is generated on the server side, rather than fetching them from the client side once the page is loaded. Since this chapter is trying to give you a more complete picture of how to communicate with a server, we will go ahead and ignore that recommendation. Go to the LibraryView declaration and update the initialize function as follows:
+
+```javascript
+initialize: function() {
+ this.collection = new app.Library();
+ this.collection.fetch({reset: true}); // NEW
+ this.render();
+
+ this.listenTo( this.collection, 'add', this.renderBook );
+ this.listenTo( this.collection, 'reset', this.render ); // NEW
+},
+```
+
+Now that we are populating our Library from the database using `this.collection.fetch()`, the `initialize()` function no longer takes a set of sample data as an argument and doesn't pass anything to the app.Library constructor. You can now remove the sample data from site/js/app.js, which should reduce it to a single statement which creates the LibraryView:
+
+```javascript
+// site/js/app.js
+
+var app = app || {};
+
+$(function() {
+ new app.LibraryView();
+});
+```
+
+We have also added a listener on the reset event. We need to do this since the models are fetched asynchronously after the page is rendered. When the fetch completes, Backbone fires the reset event, as requested by the `reset: true` option, and our listener re-renders the view. If you reload the page now you should see all books that are stored on the server:
+
+![](img/chapter5-9.png)
+
+As you can see the date and keywords look a bit weird. The date delivered from the server is converted into a JavaScript Date object and when applied to the underscore template it will use the toString() function to display it. There isn’t very good support for formatting dates in JavaScript so we will use the dateFormat jQuery plugin to fix this. Go ahead and download it from [here](http://github.com/phstc/jquery-dateFormat) and put it in your site/js/lib folder. Update the book template so that the date is displayed with:
+
+```html
+
<%= $.format.date( new Date( releaseDate ), 'MMMM yyyy' ) %>
+```
+
+and add a script element for the plugin
+
+```html
+
+```
+
+Now the date on the page should look a bit better. How about the keywords? Since we are receiving the keywords in an array we need to execute some code that generates a string of separated keywords. To do that we can omit the equals character in the template tag which will let us execute code that doesn’t display anything:
+
+```html
+
+```
+
+Here I iterate over the keywords array using the Underscore `each` function and print out every single keyword. Note that I display the keyword using the <%= tag. This will display the keywords with spaces between them.
+
+Reloading the page again should look quite decent:
+
+![](img/chapter5-10.png)
+
+Now go ahead and delete a book and then reload the page: Tadaa! the deleted book is back! Not cool, why is this? This happens because when we get the BookModels from the server they have an _id attribute (notice the underscore), but Backbone expects an id attribute (no underscore). Since no id attribute is present, Backbone sees this model as new and deleting a new model doesn’t need any synchronization.
+
+To fix this we can use the parse function of Backbone.Model. The parse function let's you edit the server response before it is passed to the Model constructor. Add a parse method to the Book model:
+
+```javascript
+parse: function( response ) {
+ response.id = response._id;
+ return response;
+}
+```
+
+Simply copy the value of _id to the needed id attribute. If you reload the page you will see that models are actually deleted on the server when you press the delete button.
+
+Another, simpler way of making Backbone recognize _id as its unique identifier is to set the idAttribute of the model to _id.
+
+If you now try to add a new book using the form you’ll notice that it is a similar story to delete – models won't get persisted on the server. This is because Backbone.Collection.add doesn’t automatically sync, but it is easy to fix. In the LibraryView we find in `views/library.js` change the line reading:
+
+```javascript
+this.collection.add( new Book( formData ) );
+```
+
+…to:
+
+```javascript
+this.collection.create( formData );
+```
+
+Now newly created books will get persisted. Actually, they probably won't if you enter a date. The server expects a date in UNIX timestamp format (milliseconds since Jan 1, 1970). Also, any keywords you enter won't be stored since the server expects an array of objects with the attribute ‘keyword’.
+
+We'll start by fixing the date issue. We don’t really want the users to manually enter a date in a specific format, so we’ll use the standard datepicker from jQuery UI. Go ahead and create a custom jQuery UI download containing datepicker from [here](http://jqueryui.com/download/). Add the css theme to site/css/ and the JavaScript to site/js/lib. Link to them in index.html:
+
+```html
+
+```
+
+"cupertino" is the name of the style I chose when downloading jQuery UI.
+
+The JavaScript file must be loaded after jQuery.
+
+```html
+
+
+```
+
+Now in app.js, bind a datepicker to our releaseDate field:
+
+```javascript
+var app = app || {};
+
+$(function() {
+ $( '#releaseDate' ).datepicker();
+ new app.LibraryView();
+});
+```
+
+You should now be able to pick a date when clicking in the releaseDate field:
+
+![](img/chapter5-11.png)
+
+Finally, we have to make sure that the form input is properly transformed into our storage format. Change the addBook function in LibraryView to:
+
+```javascript
+addBook: function( e ) {
+ e.preventDefault();
+
+ var formData = {};
+
+ $( '#addBook div' ).children( 'input' ).each( function( i, el ) {
+ if( $( el ).val() != '' )
+ {
+ if( el.id === 'keywords' ) {
+ formData[ el.id ] = [];
+ _.each( $( el ).val().split( ' ' ), function( keyword ) {
+ formData[ el.id ].push({ 'keyword': keyword });
+ });
+ } else if( el.id === 'releaseDate' ) {
+ formData[ el.id ] = $( '#releaseDate' ).datepicker( 'getDate' ).getTime();
+ } else {
+ formData[ el.id ] = $( el ).val();
+ }
+ }
+ // Clear input field value
+ $( el ).val('');
+ });
+
+ this.collection.create( formData );
+},
+
+```
+
+Our change adds two checks to the form input fields. First, we're checking if the current element is the keywords input field, in which case we're splitting the string on each space and creating an array of keyword objects.
+
+Then we're checking if the current element is the releaseDate input field, in which case we're calling `datePicker(“getDate”)` which returns a Date object. We then use the `getTime` function on that to get the time in milliseconds.
+
+Now you should be able to add new books with both a release date and keywords!
+
+![](img/chapter5-12.png)
+
+### Summary
+
+In this chapter we made our application persistent by binding it to a server using a REST API. We also looked at some problems that might occur when serializing and deserializing data and their solutions. We looked at the dateFormat and the datepicker jQuery plugins and how to do some more advanced things in our Underscore templates. The code is available [here](https://github.com/addyosmani/backbone-fundamentals/tree/gh-pages/practicals/exercise-2).
+
+# Backbone Extensions
+
+Backbone is flexible, simple, and powerful. However, you may find that the complexity of the application you are working on requires more than what it provides out of the box. There are certain concerns which it just doesn't address directly as one of it's goals is to be minimalist.
+
+Take for example Views, which provide a default `render` method which does nothing and produces no real results when called, despite most implementations using it to generate the HTML that the view manages. Also, Models and Collections have no built-in way of handling nested hierarchies - if you require this functionality, you need to write it yourself or use a plugin.
+
+In these cases, there are many existing Backbone plugins which can provide advanced solutions for large-scale Backbone apps. A fairly complete list of plugins and frameworks available can be found on the Backbone [wiki](https://github.com/documentcloud/backbone/wiki/Extensions%2C-Plugins%2C-Resources). Using these add-ons, there is enough for applications of most sizes to be completed successfully.
+
+In this section of the book we will look at two popular Backbone add-ons: MarionetteJS and Thorax.
+
+## MarionetteJS (Backbone.Marionette)
+
+*By Derick Bailey & Addy Osmani*
+
+As we've seen, Backbone provides a great set of building blocks for our JavaScript applications. It gives us the core constructs that are needed to build small to mid-sized apps, organize jQuery DOM events, or create single page apps that support mobile devices and large scale enterprise needs. But Backbone is not a complete framework. It's a set of building blocks that leaves much of the application design, architecture, and scalability to the developer, including memory management, view management, and more.
+
+[MarionetteJS](http://marionettejs.com) (a.k.a Backbone.Marionette) provides many of the features that the non-trivial application developer needs, above what Backbone itself provides. It is a composite application library that aims to simplify the construction of large scale applications. It does this by providing a collection of common design and implementation patterns found in the applications that the creator, [Derick Bailey](http://lostechies.com/derickbailey/), and many other [contributors](https://github.com/marionettejs/backbone.marionette/graphs/contributors) have been using to build Backbone apps.
+
+
+Marionette's key benefits include:
+
+* Scaling applications out with modular, event driven architecture
+* Sensible defaults, such as using Underscore templates for view rendering
+* Easy to modify to make it work with your application's specific needs
+* Reducing boilerplate for views, with specialized view types
+* Build on a modular architecture with an Application and modules that attach to it
+* Compose your application's visuals at runtime, with Region and Layout
+* Nested views and layouts within visual regions
+* Built-in memory management and zombie killing in views, regions, and layouts
+* Built-in event clean up with the EventBinder
+* Event-driven architecture with the EventAggregator
+* Flexible, "as-needed" architecture allowing you to pick and choose what you need
+* And much, much more
+
+Marionette follows a similar philosophy to Backbone in that it provides a suite of components that can be used independently of each other, or used together to create significant advantages for us as developers. But it steps above the structural components of Backbone and provides an application layer, with more than a dozen components and building blocks.
+
+Marionette's components range greatly in the features they provide, but they all work together to create a composite application layer that can both reduce boilerplate code and provide a much needed application structure. Its core components include various and specialized view types that take the boilerplate out of rendering common Backbone.Model and Backbone.Collection scenarios; an Application object and Module architecture to scale applications across sub-applications, features and files; integration of a command pattern, event aggregator, and request/response mechanism; and many more object types that can be extended in a myriad of ways to create an architecture that facilitates an application's specific needs.
+
+In spite of the large number of constructs that Marionette provides, though, you're not required to use all of it just because you want to use some of it. Much like Backbone itself, you can pick and choose which features you want to use and when. This allows you to work with other Backbone frameworks and plugins very easily. It also means that you are not required to engage in an all-or-nothing migration to begin using Marionette.
+
+### Boilerplate Rendering Code
+
+Consider the code that it typically requires to render a view with Backbone and Underscore template. We need a template to render, which can be placed in the DOM directly, and we need the JavaScript that defines a view that uses the template and populates it with data from a model.
+
+```
+
+```
+
+```javascript
+var MyView = Backbone.View.extend({
+ template: $('#my-view-template').html(),
+
+ render: function(){
+
+ // compile the Underscore.js template
+ var compiledTemplate = _.template(this.template);
+
+ // render the template with the model data
+ var data = this.model.toJSON();
+ var html = compiledTemplate(data);
+
+ // populate the view with the rendered html
+ this.$el.html(html);
+ }
+});
+```
+
+Once this is in place, you need to create an instance of your view and pass your model into it. Then you can take the view's `el` and append it to the DOM in order to display the view.
+
+```javascript
+var Derick = new Person({
+ firstName: 'Derick',
+ lastName: 'Bailey',
+ email: 'derickbailey@example.com'
+});
+
+var myView = new MyView({
+ model: Derick
+})
+
+myView.render();
+
+$('#content').html(myView.el)
+```
+
+This is a standard set up for defining, building, rendering, and displaying a view with Backbone. This is also what we call "boilerplate code" - code that is repeated over and over and over again, across every project and every implementation with the same functionality. It gets to be tedious and repetitious very quickly.
+
+Enter Marionette's `ItemView` - a simple way to reduce the boilerplate of defining a view.
+
+### Reducing Boilerplate With Marionette.ItemView
+
+All of Marionette's view types - with the exception of `Marionette.View` - include a built-in `render` method that handles the core rendering logic for you. We can take advantage of this by changing the `MyView` instance to inherit from one of these rather than `Backbone.View`. Instead of having to provide our own `render` method for the view, we can let Marionette render it for us. We'll still use the same Underscore.js template and rendering mechanism, but the implementation of this is hidden behind the scenes. Thus, we can reduce the amount of code needed for this view.
+
+
+```javascript
+var MyView = Marionette.ItemView.extend({
+ template: '#my-view-template'
+});
+```
+
+And that's it - that's all you need to get the exact same behaviour as the previous view implementation. Just replace `Backbone.View.extend` with `Marionette.ItemView.extend`, then get rid of the `render` method. You can still create the view instance with a `model`, call the `render` method on the view instance, and display the view in the DOM the same way that we did before. But the view definition has been reduced to a single line of configuration for the template.
+
+### Memory Management
+
+In addition to the reduction of code needed to define a view, Marionette includes some advanced memory management in all of its views, making the job of cleaning up a view instance and it's event handlers easy.
+
+Consider the following view implementation:
+
+```javascript
+var ZombieView = Backbone.View.extend({
+ template: '#my-view-template',
+
+ initialize: function(){
+
+ // bind the model change to re-render this view
+ this.model.on('change', this.render, this);
+
+ },
+
+ render: function(){
+
+ // This alert is going to demonstrate a problem
+ alert('We`re rendering the view');
+
+ }
+});
+```
+
+If we create two instances of this view using the same variable name for both instances, and then change a value in the model, how many times will we see the alert box?
+
+
+```javascript
+
+var Person = Backbone.Model.extend({
+ defaults: {
+ "firstName": "Jeremy",
+ "lastName": "Ashkenas",
+ "email": "jeremy@example.com"
+ }
+});
+
+var Derick = new Person({
+ firstName: 'Derick',
+ lastName: 'Bailey',
+ email: 'derick@example.com'
+});
+
+
+// create the first view instance
+var zombieView = new ZombieView({
+ model: Derick
+});
+
+// create a second view instance, re-using
+// the same variable name to store it
+zombieView = new ZombieView({
+ model: Derick
+});
+
+Derick.set('email', 'derickbailey@example.com');
+```
+
+Since we're re-using the same `zombieView` variable for both instances, the first instance of the view will fall out of scope immediately after the second is created. This allows the JavaScript garbage collector to come along and clean it up, which should mean the first view instance is no longer active and no longer going to respond to the model's "change" event.
+
+But when we run this code, we end up with the alert box showing up twice!
+
+The problem is caused by the model event binding in the view's `initialize` method. Whenever we pass `this.render` as the callback method to the model's `on` event binding, the model itself is being given a direct reference to the view instance. Since the model is now holding a reference to the view instance, replacing the `zombieView` variable with a new view instance is not going to let the original view fall out of scope. The model still has a reference, therefore the view is still in scope.
+
+Since the original view is still in scope, and the second view instance is also in scope, changing data on the model will cause both view instances to respond.
+
+Fixing this is easy, though. You just need to call `stopListening` when the view is done with its work and ready to be closed. To do this, add a `close` method to the view.
+
+```javascript
+var ZombieView = Backbone.View.extend({
+ template: '#my-view-template',
+
+ initialize: function(){
+ // bind the model change to re-render this view
+ this.listenTo(this.model, 'change', this.render);
+ },
+
+ close: function(){
+ // unbind the events that this view is listening to
+ this.stopListening();
+ },
+
+ render: function(){
+
+ // This alert is going to demonstrate a problem
+ alert('We`re rendering the view');
+
+ }
+});
+```
+
+Then call `close` on the first instance when it is no longer needed, and only one view instance will remain alive. For more information about the `listenTo` and `stopListening` functions, see the earlier Backbone Basics chapter and Derick's post on [Managing Events As Relationships, Not Just Resources](http://lostechies.com/derickbailey/2013/02/06/managing-events-as-relationships-not-just-references/).
+
+```javascript
+var Jeremy = new Person({
+ firstName: 'Jeremy',
+ lastName: 'Ashkenas',
+ email: 'jeremy@example.com'
+});
+
+// create the first view instance
+var zombieView = new ZombieView({
+ model: Jeremy
+})
+zombieView.close(); // double-tap the zombie
+
+// create a second view instance, re-using
+// the same variable name to store it
+zombieView = new ZombieView({
+ model: Jeremy
+})
+
+Jeremy.set('email', 'jeremyashkenas@example.com');
+```
+
+Now we only see one alert box when this code runs.
+
+Rather than having to manually remove these event handlers, though, we can let Marionette do it for us.
+
+```javascript
+var ZombieView = Marionette.ItemView.extend({
+ template: '#my-view-template',
+
+ initialize: function(){
+
+ // bind the model change to re-render this view
+ this.listenTo(this.model, 'change', this.render);
+
+ },
+
+ render: function(){
+
+ // This alert is going to demonstrate a problem
+ alert('We`re rendering the view');
+
+ }
+});
+```
+
+Notice in this case we are using a method called `listenTo`. This method comes from Backbone.Events, and is available in all objects that mix in Backbone.Events - including most Marionette objects. The `listenTo` method signature is similar to that of the `on` method, with the exception of passing the object that triggers the event as the first parameter.
+
+Marionette's views also provide a `close` event, in which the event bindings that are set up with the `listenTo` are automatically removed. This means we no longer need to define a `close` method directly, and when we use the `listenTo` method, we know that our events will be removed and our views will not turn into zombies.
+
+But how do we automate the call to `close` on a view, in the real application? When and where do we call that? Enter the `Marionette.Region` - an object that manages the lifecycle of an individual view.
+
+### Region Management
+
+After a view is created, it typically needs to be placed in the DOM so that it becomes visible. This is usually done with a jQuery selector and setting the `html()` of the resulting object:
+
+```javascript
+var Joe = new Person({
+ firstName: 'Joe',
+ lastName: 'Bob',
+ email: 'joebob@example.com'
+});
+
+var myView = new MyView({
+ model: Joe
+})
+
+myView.render();
+
+// show the view in the DOM
+$('#content').html(myView.el)
+```
+
+This, again, is boilerplate code. We shouldn't have to manually call `render` and manually select the DOM elements to show the view. Furthermore, this code doesn't lend itself to closing any previous view instance that might be attached to the DOM element we want to populate. And we've seen the danger of zombie views already.
+
+To solve these problems, Marionette provides a `Region` object - an object that manages the lifecycle of individual views, displayed in a particular DOM element.
+
+```javascript
+// create a region instance, telling it which DOM element to manage
+var myRegion = new Marionette.Region({
+ el: '#content'
+});
+
+// show a view in the region
+var view1 = new MyView({ /* ... */ });
+myRegion.show(view1);
+
+// somewhere else in the code,
+// show a different view
+var view2 = new MyView({ /* ... */ });
+myRegion.show(view2);
+```
+
+There are several things to note, here. First, we're telling the region what DOM element to manage by specifying an `el` in the region instance. Second, we're no longer calling the `render` method on our views. And lastly, we're not calling `close` on our view, either, though this is getting called for us.
+
+When we use a region to manage the lifecycle of our views, and display the views in the DOM, the region itself handles these concerns. By passing a view instance into the `show` method of the region, it will call the render method on the view for us. It will then take the resulting `el` of the view and populate the DOM element.
+
+The next time we call the `show` method of the region, the region remembers that it is currently displaying a view. The region calls the `close` method on the view, removes it from the DOM, and then proceeds to run the render & display code for the new view that was passed in.
+
+Since the region handles calling `close` for us, and we're using the `listenTo` event binder in our view instance, we no longer have to worry about zombie views in our application.
+
+Regions are not limited to just Marionette views, though. Any valid Backbone.View can be managed by a Marionette.Region. If your view happens to have a `close` method, it will be called when the view is closed. If not, the Backbone.View built-in method, `remove`, will be called instead.
+
+### Marionette Todo app
+
+Having learned about Marionette's high-level concepts, let's explore refactoring the Todo application we created in our first exercise to use it. The complete code for this application can be found in Derick's TodoMVC [fork](https://github.com/derickbailey/todomvc/tree/marionette/labs/architecture-examples/backbone_marionette/js).
+
+Our final implementation will be visually and functionally equivalent to the original app, as seen below.
+
+![](img/marionette_todo0.png)
+
+First, we define an application object representing our base TodoMVC app. This will contain initialization code and define the default layout regions for our app.
+
+**TodoMVC.js:**
+
+```javascript
+var TodoMVC = new Marionette.Application();
+
+TodoMVC.addRegions({
+ header : '#header',
+ main : '#main',
+ footer : '#footer'
+});
+
+TodoMVC.on('initialize:after', function(){
+ Backbone.history.start();
+});
+```
+
+Regions are used to manage the content that's displayed within specific elements, and the `addRegions` method on the `TodoMVC` object is just a shortcut for creating `Region` objects. We supply a jQuery selector for each region to manage (e.g., `#header`, `#main`, and `#footer`) and then tell the region to show various Backbone views within that region.
+
+Once the application object has been initialized, we call `Backbone.history.start()` to route the initial URL.
+
+Next, we define our Layouts. A layout is a specialized type of view that directly extends `Marionette.ItemView`. This means it's intended to render a single template and may or may not have a model (or `item`) associated with the template.
+
+One of the main differences between a Layout and an `ItemView` is that the layout contains regions. When defining a Layout, we supply it with both a `template` and the regions that the template contains. After rendering the layout, we can display other views within the layout using the regions that were defined.
+
+In our TodoMVC Layout module below, we define Layouts for:
+
+* Header: where we can create new Todos
+* Footer: where we summarize how many Todos are remaining/have been completed
+
+
+This captures some of the view logic that was previously in our `AppView` and `TodoView`.
+
+Note that Marionette modules (such as the below) offer a simple module system which is used to create privacy and encapsulation in Marionette apps. These certainly don't have to be used however, and later on in this section we'll provide links to alternative implementations using RequireJS + AMD instead.
+
+
+**TodoMVC.Layout.js:**
+
+```javascript
+TodoMVC.module('Layout', function(Layout, App, Backbone, Marionette, $, _){
+
+ // Layout Header View
+ // ------------------
+
+ Layout.Header = Marionette.ItemView.extend({
+ template : '#template-header',
+
+ // UI bindings create cached attributes that
+ // point to jQuery selected objects
+ ui : {
+ input : '#new-todo'
+ },
+
+ events : {
+ 'keypress #new-todo': 'onInputKeypress'
+ },
+
+ onInputKeypress : function(evt) {
+ var ENTER_KEY = 13;
+ var todoText = this.ui.input.val().trim();
+
+ if ( evt.which === ENTER_KEY && todoText ) {
+ this.collection.create({
+ title : todoText
+ });
+ this.ui.input.val('');
+ }
+ }
+ });
+
+ // Layout Footer View
+ // ------------------
+
+
+ Layout.Footer = Marionette.Layout.extend({
+ template : '#template-footer',
+
+ // UI bindings create cached attributes that
+ // point to jQuery selected objects
+ ui : {
+ count : '#todo-count strong',
+ filters : '#filters a'
+ },
+
+ events : {
+ 'click #clear-completed' : 'onClearClick'
+ },
+
+ initialize : function() {
+ this.listenTo(App.vent, 'todoList:filter', this.updateFilterSelection);
+ this.listenTo(this.collection, 'all', this.updateCount);
+ },
+
+ onRender : function() {
+ this.updateCount();
+ },
+
+ updateCount : function() {
+ var count = this.collection.getActive().length;
+ this.ui.count.html(count);
+
+ if (count === 0) {
+ this.$el.parent().hide();
+ } else {
+ this.$el.parent().show();
+ }
+ },
+
+ updateFilterSelection : function(filter) {
+ this.ui.filters
+ .removeClass('selected')
+ .filter('[href="#' + filter + '"]')
+ .addClass('selected');
+ },
+
+ onClearClick : function() {
+ var completed = this.collection.getCompleted();
+ completed.forEach(function destroy(todo) {
+ todo.destroy();
+ });
+ }
+ });
+
+});
+
+```
+
+Next, we tackle application routing and workflow, such as controlling Layouts in the page which can be shown or hidden.
+
+Recall how Backbone routes trigger methods within the Router as shown below in our original Workspace router from our first exercise:
+
+```javascript
+ var Workspace = Backbone.Router.extend({
+ routes:{
+ '*filter': 'setFilter'
+ },
+
+ setFilter: function( param ) {
+ // Set the current filter to be used
+ window.app.TodoFilter = param.trim() || '';
+
+ // Trigger a collection filter event, causing hiding/unhiding
+ // of Todo view items
+ window.app.Todos.trigger('filter');
+ }
+ });
+
+```
+
+Marionette uses the concept of an AppRouter to simplify routing. This reduces the boilerplate for handling route events and allows routers to be configured to call methods on an object directly. We configure our AppRouter using `appRoutes` which replaces the `'*filter': 'setFilter'` route defined in our original router and invokes a method on our Controller.
+
+The TodoList Controller, also found in this next code block, handles some of the remaining visibility logic originally found in `AppView` and `TodoView`, albeit using very readable Layouts.
+
+**TodoMVC.TodoList.js:**
+
+```javascript
+TodoMVC.module('TodoList', function(TodoList, App, Backbone, Marionette, $, _){
+
+ // TodoList Router
+ // ---------------
+ //
+ // Handle routes to show the active vs complete todo items
+
+ TodoList.Router = Marionette.AppRouter.extend({
+ appRoutes : {
+ '*filter': 'filterItems'
+ }
+ });
+
+ // TodoList Controller (Mediator)
+ // ------------------------------
+ //
+ // Control the workflow and logic that exists at the application
+ // level, above the implementation detail of views and models
+
+ TodoList.Controller = function(){
+ this.todoList = new App.Todos.TodoList();
+ };
+
+ _.extend(TodoList.Controller.prototype, {
+
+ // Start the app by showing the appropriate views
+ // and fetching the list of todo items, if there are any
+ start: function(){
+ this.showHeader(this.todoList);
+ this.showFooter(this.todoList);
+ this.showTodoList(this.todoList);
+
+ this.todoList.fetch();
+ },
+
+ showHeader: function(todoList){
+ var header = new App.Layout.Header({
+ collection: todoList
+ });
+ App.header.show(header);
+ },
+
+ showFooter: function(todoList){
+ var footer = new App.Layout.Footer({
+ collection: todoList
+ });
+ App.footer.show(footer);
+ },
+
+ showTodoList: function(todoList){
+ App.main.show(new TodoList.Views.ListView({
+ collection : todoList
+ }));
+ },
+
+ // Set the filter to show complete or all items
+ filterItems: function(filter){
+ App.vent.trigger('todoList:filter', filter.trim() || '');
+ }
+ });
+
+ // TodoList Initializer
+ // --------------------
+ //
+ // Get the TodoList up and running by initializing the mediator
+ // when the the application is started, pulling in all of the
+ // existing Todo items and displaying them.
+
+ TodoList.addInitializer(function(){
+
+ var controller = new TodoList.Controller();
+ new TodoList.Router({
+ controller: controller
+ });
+
+ controller.start();
+
+ });
+
+});
+
+```
+
+####Controllers
+
+In this particular app, note that Controllers don't add a great deal to the overall workflow. In general, Marionette's philosophy on routers is that they should be an afterthought in the implementation of applications. Quite often, we've seen developers abuse Backbone's routing system by making it the sole controller of the entire application workflow and logic.
+
+This inevitably leads to mashing every possible combination of code into the router methods - view creation, model loading, coordinating different parts of the app, etc. Developers such as Derick view this as a violation of the [single-responsibility principle](http://en.wikipedia.org/wiki/Single_responsibility_principle) (SRP) and separation of concerns.
+
+
+Backbone's router and history exist to deal with a specific aspect of browsers - managing the forward and back buttons. Marionette's philosophy is that it should be limited to that, with the code that gets executed by the navigation being somewhere else. This allows the application to be used with or without a router. We can call a controller's "show" method from a button click, from an application event handler, or from a router, and we will end up with the same application state no matter how we called that method.
+
+Derick has written extensively about his thoughts on this topic, which you can read more about on his blog:
+
+* [http://lostechies.com/derickbailey/2011/12/27/the-responsibilities-of-the-various-pieces-of-backbone-js/](http://lostechies.com/derickbailey/2011/12/27/the-responsibilities-of-the-various-pieces-of-backbone-js/)
+* [http://lostechies.com/derickbailey/2012/01/02/reducing-backbone-routers-to-nothing-more-than-configuration/](http://lostechies.com/derickbailey/2012/01/02/reducing-backbone-routers-to-nothing-more-than-configuration/)
+* [http://lostechies.com/derickbailey/2012/02/06/3-stages-of-a-backbone-applications-startup/](http://lostechies.com/derickbailey/2012/02/06/3-stages-of-a-backbone-applications-startup/)
+
+#### CompositeView
+
+Our next task is defining the actual views for individual Todo items and lists of items in our TodoMVC application. For this, we make use of Marionette's `CompositeView`s. The idea behind a CompositeView is that it represents a visualization of a composite or hierarchical structure of leaves (or nodes) and branches.
+
+Think of these views as being a hierarchy of parent-child models, and recursive by default. The same CompositeView type will be used to render each item in a collection that is handled by the composite view. For non-recursive hierarchies, we are able to override the item view by defining an `itemView` attribute.
+
+For our Todo List Item View, we define it as an ItemView, then our Todo List View is a CompositeView where we override the `itemView` setting and tell it to use the Todo List item View for each item in the collection.
+
+
+TodoMVC.TodoList.Views.js
+
+```javascript
+TodoMVC.module('TodoList.Views', function(Views, App, Backbone, Marionette, $, _){
+
+ // Todo List Item View
+ // -------------------
+ //
+ // Display an individual todo item, and respond to changes
+ // that are made to the item, including marking completed.
+
+ Views.ItemView = Marionette.ItemView.extend({
+ tagName : 'li',
+ template : '#template-todoItemView',
+
+ ui : {
+ edit : '.edit'
+ },
+
+ events : {
+ 'click .destroy' : 'destroy',
+ 'dblclick label' : 'onEditClick',
+ 'keypress .edit' : 'onEditKeypress',
+ 'click .toggle' : 'toggle'
+ },
+
+ initialize : function() {
+ this.listenTo(this.model, 'change', this.render);
+ },
+
+ onRender : function() {
+ this.$el.removeClass('active completed');
+ if (this.model.get('completed')) this.$el.addClass('completed');
+ else this.$el.addClass('active');
+ },
+
+ destroy : function() {
+ this.model.destroy();
+ },
+
+ toggle : function() {
+ this.model.toggle().save();
+ },
+
+ onEditClick : function() {
+ this.$el.addClass('editing');
+ this.ui.edit.focus();
+ },
+
+ onEditKeypress : function(evt) {
+ var ENTER_KEY = 13;
+ var todoText = this.ui.edit.val().trim();
+
+ if ( evt.which === ENTER_KEY && todoText ) {
+ this.model.set('title', todoText).save();
+ this.$el.removeClass('editing');
+ }
+ }
+ });
+
+ // Item List View
+ // --------------
+ //
+ // Controls the rendering of the list of items, including the
+ // filtering of active vs completed items for display.
+
+ Views.ListView = Marionette.CompositeView.extend({
+ template : '#template-todoListCompositeView',
+ itemView : Views.ItemView,
+ itemViewContainer : '#todo-list',
+
+ ui : {
+ toggle : '#toggle-all'
+ },
+
+ events : {
+ 'click #toggle-all' : 'onToggleAllClick'
+ },
+
+ initialize : function() {
+ this.listenTo(this.collection, 'all', this.update);
+ },
+
+ onRender : function() {
+ this.update();
+ },
+
+ update : function() {
+ function reduceCompleted(left, right) { return left && right.get('completed'); }
+ var allCompleted = this.collection.reduce(reduceCompleted,true);
+ this.ui.toggle.prop('checked', allCompleted);
+
+ if (this.collection.length === 0) {
+ this.$el.parent().hide();
+ } else {
+ this.$el.parent().show();
+ }
+ },
+
+ onToggleAllClick : function(evt) {
+ var isChecked = evt.currentTarget.checked;
+ this.collection.each(function(todo){
+ todo.save({'completed': isChecked});
+ });
+ }
+ });
+
+ // Application Event Handlers
+ // --------------------------
+ //
+ // Handler for filtering the list of items by showing and
+ // hiding through the use of various CSS classes
+
+ App.vent.on('todoList:filter',function(filter) {
+ filter = filter || 'all';
+ $('#todoapp').attr('class', 'filter-' + filter);
+ });
+
+});
+
+```
+
+At the end of the last code block, you will also notice an event handler using `vent`. This is an event aggregator that allows us to handle `filterItem` triggers from our TodoList controller.
+
+Finally, we define the model and collection for representing our Todo items. These are semantically not very different from the original versions we used in our first exercise and have been re-written to better fit in with Derick's preferred style of coding.
+
+**Todos.js:**
+
+```javascript
+TodoMVC.module('Todos', function(Todos, App, Backbone, Marionette, $, _){
+
+ // Todo Model
+ // ----------
+
+ Todos.Todo = Backbone.Model.extend({
+ localStorage: new Backbone.LocalStorage('todos-backbone'),
+
+ defaults: {
+ title : '',
+ completed : false,
+ created : 0
+ },
+
+ initialize : function() {
+ if (this.isNew()) this.set('created', Date.now());
+ },
+
+ toggle : function() {
+ return this.set('completed', !this.isCompleted());
+ },
+
+ isCompleted: function() {
+ return this.get('completed');
+ }
+ });
+
+ // Todo Collection
+ // ---------------
+
+ Todos.TodoList = Backbone.Collection.extend({
+ model: Todos.Todo,
+
+ localStorage: new Backbone.LocalStorage('todos-backbone'),
+
+ getCompleted: function() {
+ return this.filter(this._isCompleted);
+ },
+
+ getActive: function() {
+ return this.reject(this._isCompleted);
+ },
+
+ comparator: function( todo ) {
+ return todo.get('created');
+ },
+
+ _isCompleted: function(todo){
+ return todo.isCompleted();
+ }
+ });
+
+});
+
+```
+
+We finally kick-start everything off in our application index file, by calling `start` on our main application object:
+
+Initialization:
+
+```javascript
+ $(function(){
+ // Start the TodoMVC app (defined in js/TodoMVC.js)
+ TodoMVC.start();
+ });
+```
+
+And that's it!
+
+### Is the Marionette implementation of the Todo app more maintainable?
+
+Derick feels that maintainability largely comes down to modularity, separating responsibilities (Single Responsibility Principle and Separation of Concerns) by using patterns to keep concerns from being mixed together. It can, however, be difficult to simply extract things into separate modules for the sake of extraction, abstraction, or dividing the concept down into its simplest parts.
+
+The Single Responsibility Principle (SRP) tells us quite the opposite - that we need to understand the context in which things change. What parts always change together, in _this_ system? What parts can change independently? Without knowing this, we won't know what pieces should be broken out into separate components and modules versus put together into the same module or object.
+
+The way Derick organizes his apps into modules is by creating a breakdown of concepts at each level. A higher level module is a higher level of concern - an aggregation of responsibilities. Each responsibility is broken down into an expressive API set that is implemented by lower level modules (Dependency Inversion Principle). These are coordinated through a mediator - which he typically refers to as the Controller in a module.
+
+
+The way Derick organizes his files also plays directly into maintainability and he has also written posts about the importance of keeping a sane application folder structure that I recommend reading:
+
+* [http://lostechies.com/derickbailey/2012/02/02/javascript-file-folder-structures-just-pick-one/](http://lostechies.com/derickbailey/2012/02/02/javascript-file-folder-structures-just-pick-one/)
+* [http://hilojs.codeplex.com/discussions/362875#post869640](http://hilojs.codeplex.com/discussions/362875#post869640)
+
+### Marionette And Flexibility
+
+Marionette is a flexible framework, much like Backbone itself. It offers a wide variety of tools to help create and organize an application architecture on top of Backbone, but like Backbone itself, it doesn't dictate that you have to use all of its pieces in order to use any of them.
+
+The flexibility and versatility in Marionette is easiest to understand by examining three variations of TodoMVC implemented with it that have been created for comparison purposes:
+
+* [Simple](https://github.com/jsoverson/todomvc/tree/master/labs/architecture-examples/backbone_marionette) - by Jarrod Overson
+* [RequireJS](https://github.com/jsoverson/todomvc/tree/master/labs/dependency-examples/backbone_marionette_require) - also by Jarrod
+* [Marionette modules](https://github.com/derickbailey/todomvc/tree/marionette/labs/architecture-examples/backbone_marionette/js) - by Derick Bailey
+
+**The simple version**: This version of TodoMVC shows some raw use of Marionette's various view types, an application object, and the event aggregator. The objects that are created are added directly to the global namespace and are fairly straightforward. This is a great example of how Marionette can be used to augment existing code without having to re-write everything around Marionette.
+
+**The RequireJS version**: Using Marionette with RequireJS helps to create a modularized application architecture - a tremendously important concept in scaling JavaScript applications. RequireJS provides a powerful set of tools that can be leveraged to great advantage, making Marionette even more flexible than it already is.
+
+**The Marionette module version**: RequireJS isn't the only way to create a modularized application architecture, though. For those that wish to build applications in modules and namespaces, Marionette provides a built-in module and namespacing structure. This example application takes the simple version of the application and re-writes it into a namespaced application architecture, with an application controller (mediator / workflow object) that brings all of the pieces together.
+
+Marionette certainly provides its share of opinions on how a Backbone application should be architected. The combination of modules, view types, event aggregator, application objects, and more, can be used to create a very powerful and flexible architecture based on these opinions.
+
+But as you can see, Marionette isn't a completely rigid, "my way or the highway" framework. It provides many elements of an application foundation that can be mixed and matched with other architectural styles, such as AMD or namespacing, or provide simple augmentation to existing projects by reducing boilerplate code for rendering views.
+
+
+This flexibility creates a much greater opportunity for Marionette to provide value to you and your projects, as it allows you to scale the use of Marionette with your application's needs.
+
+### And So Much More
+
+This is just the tip of the proverbial iceberg for Marionette, even for the `ItemView` and `Region` objects that we've explored. There is far more functionality, more features, and more flexibility and customizability that can be put to use in both of these objects. Then we have the other dozen or so components that Marionette provides, each with their own set of behaviors built in, customization and extension points, and more.
+
+To learn more about Marionette's components, the features they provide and how to use them, check out the Marionette documentation, links to the wiki, to the source code, the project core contributors, and much more at [http://marionettejs.com](http://marionettejs.com).
+
+
+
+
+
+
+
+## Thorax
+
+*By Ryan Eastridge & Addy Osmani*
+
+Part of Backbone's appeal is that it provides structure but is generally un-opinionated, in particular when it comes to views. Thorax makes an opinionated decision to use Handlebars as its templating solution. Some of the patterns found in Marionette are found in Thorax as well. Marionette exposes most of these patterns as JavaScript APIs while in Thorax they are often exposed as template helpers. This chapter assumes the reader has knowledge of Handlebars.
+
+
+Thorax was created by Ryan Eastridge and Kevin Decker to create Walmart's mobile web application. This chapter is limited to Thorax's templating features and patterns implemented in Thorax that you can utilize in your application regardless of whether you choose to adopt Thorax. To learn more about other features implemented in Thorax and to download boilerplate projects visit the [Thorax website](http://thoraxjs.org).
+
+### Hello World
+
+In Backbone, when creating a new view, options passed are merged into any default options already present on a view and are exposed via `this.options` for later reference.
+
+`Thorax.View` differs from `Backbone.View` in that there is no `options` object. All arguments passed to the constructor become properties of the view, which in turn become available to the `template`:
+
+```javascript
+ var view = new Thorax.View({
+ greeting: 'Hello',
+ template: Handlebars.compile('{{greeting}} World!')
+ });
+ view.appendTo('body');
+```
+
+In most examples in this chapter a `template` property will be specified. In larger projects including the boilerplate projects provided on the Thorax website a `name` property would instead be used and a `template` of the same file name in your project would automatically be assigned to the view.
+
+ If a `model` is set on a view, its attributes also become available to the template:
+
+ var view = new Thorax.View({
+ model: new Thorax.Model({key: 'value'}),
+ template: Handlebars.compile('{{key}}')
+ });
+
+### Embedding child views
+
+The view helper allows you to embed other views within a view. Child views can be specified as properties of the view:
+
+```javascript
+ var parent = new Thorax.View({
+ child: new Thorax.View(...),
+ template: Handlebars.compile('{{view child}}')
+ });
+```
+
+Or the name of a child view to initialize as well as any optional properties you wish to pass. In this case the child view must have previously been created with `extend` and given a `name` property:
+
+```javascript
+ var ChildView = Thorax.View.extend({
+ name: 'child',
+ template: ...
+ });
+
+ var parent = new Thorax.View({
+ template: Handlebars.compile('{{view "child" key="value"}}')
+ });
+```
+
+The view helper may also be used as a block helper, in which case the block will be assigned as the `template` property of the child view:
+
+```handlebars
+ {{#view child}}
+ child will have this block
+ set as its template property
+ {{/view}}
+```
+
+Handlebars is string based, while `Backbone.View` instances have a DOM `el`. Since we are mixing metaphors, the embedding of views works via a placeholder mechanism where the `view` helper in this case adds the view passed to the helper to a hash of `children`, then injects placeholder HTML into the template such as:
+
+```html
+
+```
+
+Then once the parent view is rendered, we walk the DOM in search of all the placeholders we created, replacing them with the child views' `el`s:
+
+```javascript
+ this.$el.find('[data-view-placeholder-cid]').forEach(function(el) {
+ var cid = el.getAttribute('data-view-placeholder-cid'),
+ view = this.children[cid];
+ view.render();
+ $(el).replaceWith(view.el);
+ }, this);
+```
+
+### View helpers
+
+One of the most useful constructs in Thorax is `Handlebars.registerViewHelper` (not to be confused with `Handlebars.registerHelper`). This method will register a new block helper that will create and embed a `HelperView` instance with its `template` set to the captured block. A `HelperView` instance is different from that of a regular child view in that its context will be that of the parent's in the template. Like other child views it will have a `parent` property set to that of the declaring view. Many of the built-in helpers in Thorax including the `collection` helper are created in this manner.
+
+A simple example would be an `on` helper that re-rendered the generated `HelperView` instance each time an event was triggered on the declaring / parent view:
+
+ Handlebars.registerViewHelper('on', function(eventName, helperView) {
+ helperView.parent.on(eventName, function() {
+ helperView.render();
+ });
+ });
+
+An example use of this would be to have a counter that would increment each time a button was clicked. This example makes use of the `button` helper in Thorax which simply makes a button that calls a method when clicked:
+
+```handlebars
+ {{#on "incremented"}}{{i}}{/on}}
+ {{#button trigger="incremented"}}Add{{/button}}
+```
+
+And the corresponding view class:
+
+```javascript
+ new Thorax.View({
+ events: {
+ incremented: function() {
+ ++this.i;
+ }
+ },
+ initialize: function() {
+ this.i = 0;
+ },
+ template: ...
+ });
+```
+
+### collection helper
+
+The `collection` helper creates and embeds a `CollectionView` instance, creating a view for each item in a collection, updating when items are added, removed, or changed in the collection. The simplest usage of the helper would look like:
+
+```handlebars
+ {{#collection kittens}}
+
{{name}}
+ {{/collection}}
+```
+
+And the corresponding view:
+
+```javascript
+ new Thorax.View({
+ kittens: new Thorax.Collection(...),
+ template: ...
+ });
+```
+
+The block in this case will be assigned as the `template` for each item view created, and the context will be the `attributes` of the given model. This helper accepts options that can be arbitrary HTML attributes, a `tag` option to specify the type of tag containing the collection, or any of the following:
+
+- `item-template` - A template to display for each model. If a block is specified it will become the item-template
+- `item-view` - A view class to use when each item view is created
+- `empty-template` - A template to display when the collection is empty. If an inverse / else block is specified it will become the empty-template
+- `empty-view` - A view to display when the collection is empty
+
+Options and blocks can be used in combination, in this case creating a `KittenView` class with a `template` set to the captured block for each kitten in the collection:
+
+```handlebars
+ {{#collection kittens item-view="KittenView" tag="ul"}}
+
{{name}}
+ {{else}}
+
No kittens!
+ {{/collection}}
+```
+
+Note that multiple collections can be used per view, and collections can be nested. This is useful when there are models that contain collections that contain models that contain...
+
+```handlebars
+ {{#collection kittens}}
+
{{name}}
+
Kills:
+ {{#collection miceKilled tag="ul"}}
+
{{name}}
+ {{/collection}}
+ {{/collection}}
+```
+
+### Custom HTML data attributes
+
+Thorax makes heavy use of custom HTML data attributes to operate. While some make sense only within the context of Thorax, several are quite useful to have in any Backbone project for writing other functions against, or for general debugging. In order to add some to your views in non-Thorax projects, override the `setElement` method in your base view class:
+
+```javascript
+ MyApplication.View = Backbone.View.extend({
+ setElement: function() {
+ var response = Backbone.View.prototype.setElement.apply(this, arguments);
+ this.name && this.$el.attr('data-view-name', this.name);
+ this.$el.attr('data-view-cid', this.cid);
+ this.collection && this.$el.attr('data-collection-cid', this.collection.cid);
+ this.model && this.$el.attr('data-model-cid', this.model.cid);
+ return response;
+ }
+ });
+```
+
+In addition to making your application more immediately comprehensible in the inspector, it's now possible to extend jQuery / Zepto with functions to lookup the closest view, model or collection to a given element. In order to make it work you have to save references to each view created in your base view class by overriding the `_configure` method:
+
+
+```javascript
+ MyApplication.View = Backbone.View.extend({
+ _configure: function() {
+ Backbone.View.prototype._configure.apply(this, arguments);
+ Thorax._viewsIndexedByCid[this.cid] = this;
+ },
+ dispose: function() {
+ Backbone.View.prototype.dispose.apply(this, arguments);
+ delete Thorax._viewsIndexedByCid[this.cid];
+ }
+ });
+```
+
+Then we can extend jQuery / Zepto:
+
+```javascript
+ $.fn.view = function() {
+ var el = $(this).closest('[data-view-cid]');
+ return el && Thorax._viewsIndexedByCid[el.attr('data-view-cid')];
+ };
+
+ $.fn.model = function(view) {
+ var $this = $(this),
+ modelElement = $this.closest('[data-model-cid]'),
+ modelCid = modelElement && modelElement.attr('[data-model-cid]');
+ if (modelCid) {
+ var view = $this.view();
+ return view && view.model;
+ }
+ return false;
+ };
+```
+
+Now instead of storing references to models randomly throughout your application to lookup when a given DOM event occurs you can use `$(element).model()`. In Thorax, this can particularly useful in conjunction with the `collection` helper which generates a view class (with a `model` property) for each `model` in the collection. An example template:
+
+```handlebars
+ {{#collection kittens tag="ul"}}
+
{{name}}
+ {{/collection}}
+```
+
+And the corresponding view class:
+
+```javascript
+ Thorax.View.extend({
+ events: {
+ 'click li': function(event) {
+ var kitten = $(event.target).model();
+ console.log('Clicked on ' + kitten.get('name'));
+ }
+ },
+ kittens: new Thorax.Collection(...),
+ template: ...
+ });
+```
+
+A common anti-pattern in Backbone applications is to assign a `className` to a single view class. Consider using the `data-view-name` attribute as a CSS selector instead, saving CSS classes for things that will be used multiple times:
+
+
+```css
+ [data-view-name="child"] {
+
+ }
+```
+
+### Thorax Resources
+
+No Backbone related tutorial would be complete without a todo application. A [Thorax implementation of TodoMVC](http://todomvc.com/labs/architecture-examples/thorax/) is available, in addition to this far simpler example composed of this single Handlebars template:
+
+
+```handlebars
+ {{#collection todos tag="ul"}}
+
+
+ {{item}}
+
+ {{/collection}}
+
+```
+
+and the corresponding JavaScript:
+
+```javascript
+ var todosView = Thorax.View({
+ todos: new Thorax.Collection(),
+ events: {
+ 'change input[type="checkbox"]': function(event) {
+ var target = $(event.target);
+ target.model().set({done: !!target.attr('checked')});
+ },
+ 'submit form': function(event) {
+ event.preventDefault();
+ var input = this.$('input[type="text"]');
+ this.todos.add({item: input.val()});
+ input.val('');
+ }
+ },
+ template: '...'
+ });
+ todosView.appendTo('body');
+```
+
+To see Thorax in action on a large scale website visit walmart.com on any Android or iOS device. For a complete list of resources visit the [Thorax website](http://thoraxjs.org).
+
+
+
+# Common Problems & Solutions
+
+In this section, we will review a number of common problems developers often experience once they've started to work on relatively non-trivial projects using Backbone.js, as well as present potential solutions.
+
+Perhaps the most frequent of these questions surround how to do more with Views. If you are interested in discovering how to work with nested Views, learn about view disposal and inheritance, this section will hopefully have you covered.
+
+
+#### Working With Nested Views
+
+**Problem**
+
+What is the best approach for rendering and appending nested Views (or Subviews) in Backbone.js?
+
+**Solution 1**
+
+Since pages are composed of nested elements and Backbone views correspond to elements within the page, nesting views is an intuitive approach to managing a hierarchy of elements.
+
+The best way to combine views is simply using:
+
+```
+this.$('.someContainer').append(innerView.el);
+```
+
+which just relies on jQuery. We could use this in a real example as follows:
+
+```javascript
+...
+initialize : function () {
+ //...
+},
+
+render : function () {
+
+ this.$el.empty();
+
+ this.innerView1 = new Subview({options});
+ this.innerView2 = new Subview({options});
+
+ this.$('.inner-view-container')
+ .append(this.innerView1.el)
+ .append(this.innerView2.el);
+}
+```
+
+**Solution 2**
+
+Beginners sometimes also try using `setElement` to solve this problem, however keep in mind that using this method is an easy way to shoot yourself in the foot. Avoid using this approach when the first solution is a viable option:
+
+
+```javascript
+
+// Where we have previously defined a View, SubView
+// in a parent View we could do:
+
+...
+initialize : function () {
+
+ this.innerView1 = new Subview({options});
+ this.innerView2 = new Subview({options});
+},
+
+render : function () {
+
+ this.$el.html(this.template());
+
+ this.innerView1.setElement('.some-element1').render();
+ this.innerView2.setElement('.some-element2').render();
+}
+```
+
+Here we are creating subviews in the parent view's `initialize()` method and rendering the subviews in the parent's `render()` method. The elements managed by the subviews exist in the parent's template and the `View.setElement()` method is used to re-assign the element associated with each subview.
+
+`setElement()` changes a view's element, including re-delegating event handlers by removing them from the old element and binding them to the new element. Note that `setElement()` returns the view, allowing us to chain the call to `render()`.
+
+This works and has some positive qualities: you don't need to worry about maintaining the order of your DOM elements when appending, views are initialized early, and the render() method doesn't need to take on too many responsibilities at once.
+
+Unfortunately, downsides are that you can't set the `tagName` property of subviews and events need to be re-delegated. The first solution doesn't suffer from this problem.
+
+
+**Solution 3**
+
+One more possible solution to this problem could be written:
+
+```javascript
+
+var OuterView = Backbone.View.extend({
+ initialize: function() {
+ this.inner = new InnerView();
+ },
+
+ render: function() {
+ this.$el.html(template); // or this.$el.empty() if you have no template
+ this.$el.append(this.inner.$el);
+ this.inner.render();
+ }
+});
+
+var InnerView = Backbone.View.extend({
+ render: function() {
+ this.$el.html(template);
+ this.delegateEvents();
+ }
+});
+
+```
+
+This tackles a few specific design decisions:
+
+* The order in which you append the sub-elements matters
+* The OuterView doesn't contain the HTML elements to be set in the InnerView(s), meaning that we can still specify tagName in the InnerView
+* render() is called after the InnerView element has been placed into the DOM. This is useful if your InnerView's render() method is sizing itself on the page based on the dimensions of another element. This is a common use case.
+
+Note that InnerView needs to call `View.delegateEvents()` to bind its event handlers to its new DOM since it is replacing the content of its element.
+
+**Solution 4**
+
+A better solution, which is more clean but has the potential to affect performance is:
+
+```javascript
+
+var OuterView = Backbone.View.extend({
+ initialize: function() {
+ this.render();
+ },
+
+ render: function() {
+ this.$el.html(template); // or this.$el.empty() if you have no template
+ this.inner = new InnerView();
+ this.$el.append(this.inner.$el);
+ }
+});
+
+var InnerView = Backbone.View.extend({
+ initialize: function() {
+ this.render();
+ },
+
+ render: function() {
+ this.$el.html(template);
+ }
+});
+```
+
+If multiple views need to be nested at particular locations in a template, a hash of child views indexed by child view cids' should be created. In the template, use a custom HTML attribute named `data-view-cid` to create placeholder elements for each view to embed. Once the template has been rendered and its output appended to the parent view's `$el`, each placeholder can be queried for and replaced with the child view's `el`.
+
+A sample implementation containing a single child view could be written:
+
+```javascript
+
+var OuterView = Backbone.View.extend({
+ initialize: function() {
+ this.children = {};
+ this.child = new Backbone.View();
+ this.children[this.child.cid] = this.child;
+ },
+
+ render: function() {
+ this.$el.html('');
+ _.each(this.children, function(view, cid) {
+ this.$('[data-view-cid="' + cid + '"]').replaceWith(view.el);
+ }, this);
+ }
+};
+
+```
+
+The use of `cid`s (client ids) here is useful because it illustrates separating a model and its views by having views referenced by their instances and not their attributes. It's quite common to ask for all views that satisfy an attribute on their models, but if you have recursive subviews or repeated views (a common occurrance), you can't simply ask for views by attributes. That is, unless you specify additional attributes that separate duplicates. Using `cid`s solves this problem as it allows for direct references to views.
+
+
+Generally speaking, more developers opt for Solution 1 or 5 as:
+
+* The majority of their views may already rely on being in the DOM in their render() method
+* When the OuterView is re-rendered, views don't have to be re-initialized where re-initialization has the potential to cause memory leaks and issues with existing bindings
+
+The Backbone extensions [Marionette](#marionette) and [Thorax](#thorax) provide logic for nesting views, and rendering collections where each item has an associated view. Marionette provides APIs in JavaScript while Thorax provides APIs via Handlebars template helpers. We will examine both of these in an upcoming chapter.
+
+(Thanks to [Lukas](http://stackoverflow.com/users/299189/lukas) and [Ian Taylor](http://stackoverflow.com/users/154765/ian-storm-taylor) for these tips).
+
+#### Managing Models In Nested Views
+
+**Problem**
+
+What is the best way to manage models in nested views?
+
+**Solution**
+
+In order to reach attributes on related models in a nested setup, models require some prior knowledge of each other, something which Backbone doesn't implicitly handle out of the box.
+
+One approach is to make sure each child model has a 'parent' attribute. This way you can traverse the nesting first up to the parent and then down to any siblings that you know of. So, assuming we have models modelA, modelB and modelC:
+
+```javascript
+
+// When initializing modelA, I would suggest setting a link to the parent
+// model when doing this, like this:
+
+ModelA = Backbone.Model.extend({
+
+ initialize: function(){
+ this.modelB = new modelB();
+ this.modelB.parent = this;
+ this.modelC = new modelC();
+ this.modelC.parent = this;
+ }
+}
+```
+
+This allows you to reach the parent model in any child model function through `this.parent`.
+
+Now, we have already discussed a few options for how to construct nested Views using Backbone. For the sake of simplicity, let us imagine that we are creating a new child view `ViewB` from within the `initialize()` method of `ViewA` below. `ViewB` can reach out over the `ViewA` model and listen out for changes on any of its nested models.
+
+See inline for comments on exactly what each step is enabling:
+
+```javascript
+
+// Define View A
+ViewA = Backbone.View.extend({
+
+ initialize: function(){
+ // Create an instance of View B
+ this.viewB = new ViewB();
+
+ // Create a reference back to this (parent) view
+ this.viewB.parentView = this;
+
+ // Append ViewB to ViewA
+ $(this.el).append(this.viewB.el);
+ }
+});
+
+// Define View B
+ViewB = Backbone.View.extend({
+
+ //...,
+
+ initialize: function(){
+ // Listen for changes to the nested models in our parent ViewA
+ this.listenTo(this.model.parent.modelB, "change", this.render);
+ this.listenTo(this.model.parent.modelC, "change", this.render);
+
+ // We can also call any method on our parent view if it is defined
+ // $(this.parentView.el).shake();
+ }
+
+});
+
+// Create an instance of ViewA with ModelA
+// viewA will create its own instance of ViewB
+// from inside the initialize() method
+var viewA = new ViewA({ model: ModelA });
+```
+
+
+#### Rendering A Parent View From A Child View
+
+**Problem**
+
+How would one render a Parent View from one of its Children?
+
+**Solution**
+
+In a scenario where you have a view containing another view, such as a photo gallery containing a larger view modal, you may find that you need to render or re-render the parent view from the child. The good news is that solving this problem is quite straight-forward.
+
+The simplest solution is to just use `this.parentView.render();`.
+
+If however inversion of control is desired, events may be used to provide an equally valid solution.
+
+Say we wish to begin rendering when a particular event has occurred. For the sake of example, let us call this event 'somethingHappened'. The parent view can bind notifications on the child view to know when the event has occurred. It can then render itself.
+
+In the parent view:
+
+```javascript
+// Parent initialize
+this.listenTo(this.childView, 'somethingHappened', this.render);
+
+// Parent removal
+this.stopListening(this.childView, 'somethingHappened');
+```
+
+In the child view:
+
+```javascript
+
+// After the event has occurred
+this.trigger('somethingHappened');
+
+```
+
+The child will trigger a "somethingHappened" event and the parent's render function will be called.
+
+(Thanks to Tal [Bereznitskey](http://stackoverflow.com/users/269666/tal-bereznitskey) for this tip)
+
+
+#### Disposing View Hierarchies
+
+**Problem**
+
+Where your application is setup with multiple Parent and Child Views, it is also common to desire removing any DOM elements associated with such views as well as unbinding any event handlers tied to child elements when you no longer require them.
+
+**Solution**
+
+The solution in the last question should be enough to handle this use case, but if you require a more explicit example that handles children, we can see one below:
+
+```javascript
+Backbone.View.prototype.close = function() {
+ if (this.onClose) {
+ this.onClose();
+ }
+ this.remove();
+};
+
+NewView = Backbone.View.extend({
+ initialize: function() {
+ this.childViews = [];
+ },
+ renderChildren: function(item) {
+ var itemView = new NewChildView({ model: item });
+ $(this.el).prepend(itemView.render());
+ this.childViews.push(itemView);
+ },
+ onClose: function() {
+ _(this.childViews).each(function(view) {
+ view.close();
+ });
+ }
+});
+
+NewChildView = Backbone.View.extend({
+ tagName: 'li',
+ render: function() {
+ }
+});
+```
+
+Here, a close() method for views is implemented which disposes of a view when it is no longer needed or needs to be reset.
+
+In most cases, the view removal should not affect any associated models. For example, if you are working on a blogging application and you remove a view with comments, perhaps another view in your app shows a selection of comments and resetting the collection would affect those views as well.
+
+(Thanks to [dira](http://stackoverflow.com/users/906136/dira) for this tip)
+
+Note: You may also be interested in reading the about Marionette Composite Views in the Extensions part of the book.
+
+#### Rendering View Hierarchies
+
+**Problem**
+
+Let us say you have a Collection, where each item in the Collection could itself be a Collection. You can render each item in the Collection, and indeed can render any items which themselves are Collections. The problem you might have is how to render HTML that reflects the hierarchical nature of the data structure.
+
+**Solution**
+
+The most straight-forward way to approach this problem is to use a framework like Derick Bailey's [Backbone.Marionette](https://github.com/marionettejs/backbone.marionette). In this framework is a type of view called a CompositeView.
+
+The basic idea of a CompositeView is that it can render a model and a collection within the same view.
+
+It can render a single model with a template. It can also take a collection from that model and for each model in that collection, render a view. By default it uses the same composite view type that you've defined to render each of the models in the collection. All you have to do is tell the view instance where the collection is, via the initialize method, and you'll get a recursive hierarchy rendered.
+
+
+There is a working demo of this in action available [online](http://jsfiddle.net/derickbailey/AdWjU/).
+
+And you can get the source code and documentation for [Marionette](https://github.com/marionettejs/backbone.marionette) too.
+
+
+#### Working With Nested Models Or Collections
+
+**Problem**
+
+Backbone doesn't include support for nested models or collections out of the box, favoring the use of good patterns for modeling your structured data on the client side. How do I work around this?
+
+**Solution**
+
+As we've seen, it's common to create collections representing groups of models using Backbone. It's also however common to wish to nest collections within models, depending on the type of application you are working on.
+
+Take for example a Building model that contains many Room models which could sit in a Rooms collection.
+
+You could expose a `this.rooms` collection for each building, allowing you to lazy-load rooms once a building has been opened.
+
+```javascript
+var Building = Backbone.Model.extend({
+
+ initialize: function(){
+ this.rooms = new Rooms;
+ this.rooms.url = '/building/' + this.id + '/rooms';
+ this.rooms.on("reset", this.updateCounts);
+ },
+
+ // ...
+
+});
+
+// Create a new building model
+var townHall = new Building;
+
+// once opened, lazy-load the rooms
+townHall.rooms.fetch({reset: true});
+```
+
+There are also a number of Backbone plugins which can help with nested data structures, such as [Backbone Relational](https://github.com/PaulUithol/Backbone-relational). This plugin handles one-to-one, one-to-many and many-to-one relations between models for Backbone and has some excellent [documentation](http://backbonerelational.org/).
+
+
+#### Better Model Property Validation
+
+**Problem**
+
+As we learned earlier in the book, the `validate` method on a Model is called by `set` (when the validate option is set) and `save`. It is passed the model attributes updated with the values passed to these methods.
+
+By default, when we define a custom `validate` method, Backbone passes all of a model's attributes through this validation each time, regardless of which model attributes are being set.
+
+This means that it can be a challenge to determine which specific fields are being set or validated without being concerned about the others that aren't being set at the same time.
+
+**Solution**
+
+To illustrate this problem better, let us look at a typical registration form use case that:
+
+* Validates form fields using the blur event
+* Validates each field regardless of whether other model attributes (i.e., other form data) are valid or not.
+
+Here is one example of a desired use case:
+
+We have a form where a user focuses and blurs first name, last name, and email HTML input boxes without entering any data. A "this field is required" message should be presented next to each form field.
+
+HTML:
+
+```
+
+
+
+
+ Form Validation - Model#validate
+
+
+
+
+
+
+
+
+```
+
+Basic validation that could be written using the current Backbone `validate` method to work with this form could be implemented using something like:
+
+
+```javascript
+validate: function(attrs) {
+
+ if(!attrs.firstname) return 'first name is empty';
+ if(!attrs.lastname) return 'last name is empty';
+ if(!attrs.email) return 'email is empty';
+
+}
+```
+
+Unfortunately, this method would trigger a `firstname` error each time any of the fields were blurred and only an error message next to the first name field would be presented.
+
+One potential solution to the problem is to validate all fields and return all of the errors:
+
+```javascript
+validate: function(attrs) {
+ var errors = {};
+
+ if (!attrs.firstname) errors.firstname = 'first name is empty';
+ if (!attrs.lastname) errors.lastname = 'last name is empty';
+ if (!attrs.email) errors.email = 'email is empty';
+
+ if (!_.isEmpty(errors)) return errors;
+}
+```
+
+This can be adapted into a solution that defines a Field model for each input in our form and works within the parameters of our use case as follows:
+
+```javascript
+
+$(function($) {
+
+ var User = Backbone.Model.extend({
+ validate: function(attrs) {
+ var errors = this.errors = {};
+
+ if (!attrs.firstname) errors.firstname = 'firstname is required';
+ if (!attrs.lastname) errors.lastname = 'lastname is required';
+ if (!attrs.email) errors.email = 'email is required';
+
+ if (!_.isEmpty(errors)) return errors;
+ }
+ });
+
+ var Field = Backbone.View.extend({
+ events: {blur: 'validate'},
+ initialize: function() {
+ this.name = this.$el.attr('name');
+ this.$msg = $('[data-msg=' + this.name + ']');
+ },
+ validate: function() {
+ this.model.set(this.name, this.$el.val(), {validate: true});
+ this.$msg.text(this.model.errors[this.name] || '');
+ }
+ });
+
+ var user = new User;
+
+ $('input').each(function() {
+ new Field({el: this, model: user});
+ });
+
+});
+
+```
+
+This works fine as the solution checks the validation for each attribute individually and sets the message for the correct blurred field. A [demo](http://jsbin.com/afetez/2/edit) of the above by [@braddunbar](http://github.com/braddunbar) is also available.
+
+Unfortunately, this solution does perform validation on all fields every time, even though we are only displaying errors for the field that has changed. If we have multiple client-side validation methods, we may not want to have to call each validation method on every attribute every time, so this solution might not be ideal for everyone.
+
+##### Backbone.validateAll
+
+A potentially better alternative to the above is to use [@gfranko](http://github.com/@franko)'s [Backbone.validateAll](https://github.com/gfranko/Backbone.validateAll) plugin, specifically created to validate specific Model properties (or form fields) without worrying about the validation of any other Model properties (or form fields).
+
+Here is how we would setup a partial User Model and validate method using this plugin for our use case:
+
+
+```javascript
+
+// Create a new User Model
+var User = Backbone.Model.extend({
+
+ // RegEx Patterns
+ patterns: {
+
+ specialCharacters: '[^a-zA-Z 0-9]+',
+
+ digits: '[0-9]',
+
+ email: '^[a-zA-Z0-9._-]+@[a-zA-Z0-9][a-zA-Z0-9.-]*[.]{1}[a-zA-Z]{2,6}$'
+ },
+
+ // Validators
+ validators: {
+
+ minLength: function(value, minLength) {
+ return value.length >= minLength;
+
+ },
+
+ maxLength: function(value, maxLength) {
+ return value.length <= maxLength;
+
+ },
+
+ isEmail: function(value) {
+ return User.prototype.validators.pattern(value, User.prototype.patterns.email);
+
+ },
+
+ hasSpecialCharacter: function(value) {
+ return User.prototype.validators.pattern(value, User.prototype.patterns.specialCharacters);
+
+ },
+ ...
+
+ // We can determine which properties are getting validated by
+ // checking to see if properties are equal to null
+
+ validate: function(attrs) {
+
+ var errors = this.errors = {};
+
+ if(attrs.firstname != null) {
+ if (!attrs.firstname) {
+ errors.firstname = 'firstname is required';
+ console.log('first name isEmpty validation called');
+ }
+
+ else if(!this.validators.minLength(attrs.firstname, 2))
+ errors.firstname = 'firstname is too short';
+ else if(!this.validators.maxLength(attrs.firstname, 15))
+ errors.firstname = 'firstname is too large';
+ else if(this.validators.hasSpecialCharacter(attrs.firstname)) errors.firstname = 'firstname cannot contain special characters';
+ }
+
+ if(attrs.lastname != null) {
+
+ if (!attrs.lastname) {
+ errors.lastname = 'lastname is required';
+ console.log('last name isEmpty validation called');
+ }
+
+ else if(!this.validators.minLength(attrs.lastname, 2))
+ errors.lastname = 'lastname is too short';
+ else if(!this.validators.maxLength(attrs.lastname, 15))
+ errors.lastname = 'lastname is too large';
+ else if(this.validators.hasSpecialCharacter(attrs.lastname)) errors.lastname = 'lastname cannot contain special characters';
+
+ }
+```
+
+
+This allows the logic inside of our validate methods to determine which form fields are currently being set/validated, and ignore the model properties that are not being set.
+
+It's fairly straight-forward to use as well. We can simply define a new Model instance and then set the data on our model using the `validateAll` option to use the behavior defined by the plugin:
+
+```javascript
+var user = new User();
+user.set({ 'firstname': 'Greg' }, {validate: true, validateAll: false});
+
+```
+
+That's it. The Backbone.validateAll logic doesn't override the default Backbone logic by default and so it's perfectly capable of being used for scenarios where you might care more about field-validation [performance](http://jsperf.com/backbone-validateall) as well as those where you don't. Both solutions presented in this section should work fine however.
+
+
+##### Backbone.Validation
+
+As we've seen, the `validate` method Backbone offers is `undefined` by default and you need to override it with your own custom validation logic to get model validation in place. Often developers run into the issue of implementing this validation as nested ifs and elses, which can become unmaintainable when things get complicated.
+
+Another helpful plugin for Backbone called [Backbone.Validation](https://github.com/thedersen/backbone.validation) attempts to solve this problem by offering an extensible way to declare validation rules on the model and overrides the `validate` method behind the scenes.
+
+One of the useful methods this plugin includes is (pseudo) live validation via a `preValidate` method. This can be used to check on key-press if the input for a model is valid without changing the model itself. You can run any validators for a model attribute by calling the `preValidate` method, passing it the name of the attribute along with the value you would like validated.
+
+```javascript
+// If the value of the attribute is invalid, a truthy error message is returned
+// if not, it returns a falsy value
+
+var errorMsg = user.preValidate('firstname', 'Greg');
+```
+
+##### Form-specific validation classes
+
+That said, the most optimal solution to this problem may not be to stick validation in your model attributes. Instead, you could have a function specifically designed for validating a specific form and there are many good JavaScript form validation libraries out there that can help with this.
+
+If you want to stick it on your model, you can also make it a class function:
+
+```javascript
+User.validate = function(formElement) {
+ //...
+};
+```
+
+For more information on validation plugins available for Backbone, see the [Backbone wiki](https://github.com/documentcloud/backbone/wiki/Extensions%2C-Plugins%2C-Resources#model).
+
+
+#### Avoiding Conflicts With Multiple Backbone Versions
+
+**Problem**
+
+In instances out of your control, you may have to work around having more than one version of Backbone in the same page. How do you work around this without causing conflicts?
+
+**Solution**
+
+Like most client-side projects, Backbone's code is wrapped in an immediately-invoked function expression:
+
+```javascript
+(function(){
+ // Backbone.js
+}).call(this);
+```
+
+Several things happen during this configuration stage. A Backbone `namespace` is created, and multiple versions of Backbone on the same page are supported through the noConflict mode:
+
+```javascript
+var root = this;
+var previousBackbone = root.Backbone;
+
+Backbone.noConflict = function() {
+ root.Backbone = previousBackbone;
+ return this;
+};
+```
+
+Multiple versions of Backbone can be used on the same page by calling `noConflict` like this:
+
+```javascript
+var Backbone19 = Backbone.noConflict();
+// Backbone19 refers to the most recently loaded version,
+// and `window.Backbone` will be restored to the previously
+// loaded version
+```
+
+
+#### Building Model And View Hierarchies
+
+**Problem**
+
+How does inheritence work with Backbone? How can I share code between similar models and views? How can I call methods that have been overridden?
+
+**Solution**
+
+For its inheritance, Backbone internally uses an `inherits` function inspired by `goog.inherits`, Google's implementation from the Closure Library. It's basically a function to correctly setup the prototype chain.
+
+```javascript
+ var inherits = function(parent, protoProps, staticProps) {
+ ...
+```
+
+The only major difference here is that Backbone's API accepts two objects containing `instance` and `static` methods.
+
+Following on from this, for inheritance purposes all of Backbone's objects contain an `extend` method as follows:
+
+```javascript
+Model.extend = Collection.extend = Router.extend = View.extend = extend;
+```
+
+Most development with Backbone is based around inheriting from these objects, and they're designed to mimic a classical object-oriented implementation.
+
+The above isn't quite the same as ECMAScript 5's `Object.create`, as it's actually copying properties (methods and values) from one object to another. As this isn't enough to support Backbone's inheritance and class model, the following steps are performed:
+
+* The instance methods are checked to see if there's a constructor property. If so, the class's constructor is used, otherwise the parent's constructor is used (i.e., Backbone.Model)
+* Underscore's extend method is called to add the parent class's methods to the new child class
+* The `prototype` property of a blank constructor function is assigned with the parent's prototype, and a new instance of this is set to the child's `prototype` property
+* Underscore's extend method is called twice to add the static and instance methods to the child class
+* The child's prototype's constructor and a `__super__` property are assigned
+* This pattern is also used for classes in CoffeeScript, so Backbone classes are compatible with CoffeeScript classes.
+
+`extend` can be used for a great deal more and developers who are fans of mixins will like that it can be used for this too. You can define functionality on any custom object, and then quite literally copy & paste all of the methods and attributes from that object to a Backbone one:
+
+For example:
+
+```javascript
+var MyMixin = {
+ foo: 'bar',
+ sayFoo: function(){alert(this.foo);}
+};
+
+var MyView = Backbone.View.extend({
+ // ...
+});
+
+_.extend(MyView.prototype, MyMixin);
+
+var myView = new MyView();
+myView.sayFoo(); //=> 'bar'
+```
+
+We can take this further and also apply it to View inheritance. The following is an example of how to extend one View using another:
+
+```javascript
+var Panel = Backbone.View.extend({
+});
+
+var PanelAdvanced = Panel.extend({
+});
+```
+
+**Calling Overridden Methods**
+
+However, if you have an `initialize()` method in Panel, then it won't be called if you also have an `initialize()` method in PanelAdvanced, so you would have to call Panel's initialize method explicitly:
+
+```javascript
+var Panel = Backbone.View.extend({
+ initialize: function(options){
+ console.log('Panel initialized');
+ this.foo = 'bar';
+ }
+});
+
+var PanelAdvanced = Panel.extend({
+ initialize: function(options){
+ Panel.prototype.initialize.call(this, [options]);
+ console.log('PanelAdvanced initialized');
+ console.log(this.foo); // Log: bar
+ }
+});
+
+// We can also inherit PanelAdvaned if needed
+var PanelAdvancedExtra = PanelAdvanced.extend({
+ initialize: function(options){
+ PanelAdvanced.prototype.initialize.call(this, [options]);
+ console.log('PanelAdvancedExtra initialized');
+ }
+});
+
+new Panel();
+new PanelAdvanced();
+new PanelAdvancedExtra();
+```
+
+This isn't the most elegant of solutions because if you have a lot of Views that inherit from Panel, then you'll have to remember to call Panel's initialize from all of them.
+
+It's worth noting that if Panel doesn't have an initialize method now but you choose to add it in the future, then you'll need to go to all of the inherited classes in the future and make sure they call Panel's initialize.
+
+So here's an alternative way to define Panel so that your inherited views don't need to call Panel's initialize method:
+
+```javascript
+var Panel = function (options) {
+ // put all of Panel's initialization code here
+ console.log('Panel initialized');
+ this.foo = 'bar';
+
+ Backbone.View.apply(this, [options]);
+};
+
+_.extend(Panel.prototype, Backbone.View.prototype, {
+ // put all of Panel's methods here. For example:
+ sayHi: function () {
+ console.log('hello from Panel');
+ }
+});
+
+Panel.extend = Backbone.View.extend;
+
+// other classes then inherit from Panel like this:
+var PanelAdvanced = Panel.extend({
+ initialize: function (options) {
+ console.log('PanelAdvanced initialized');
+ console.log(this.foo);
+ }
+});
+
+var panelAdvanced = new PanelAdvanced(); //Logs: Panel initialized, PanelAdvanced initialized, bar
+panelAdvanced.sayHi(); // Logs: hello from Panel
+```
+
+When used appropriately, Underscore's `extend` method can save a great deal of time and effort writing redundant code.
+
+(Thanks to [Alex Young](http://dailyjs.com), [Derick Bailey](http://stackoverflow.com/users/93448/derick-bailey) and [JohnnyO](http://stackoverflow.com/users/188740/johnnyo) for the heads up about these tips).
+
+**Backbone-Super**
+
+[Backbone-Super](https://github.com/lukasolson/Backbone-Super) by Lukas Olson adds a *_super* method to *Backbone.Model* using [John Resig's Inheritance script](http://ejohn.org/blog/simple-javascript-inheritance/).
+Rather than using Backbone.Model.prototype.set.call as per the Backbone.js documentation, _super can be called instead:
+
+```javascript
+// This is how we normally do it
+var OldFashionedNote = Backbone.Model.extend({
+ set: function(attributes, options) {
+ // Call parent's method
+ Backbone.Model.prototype.set.call(this, attributes, options);
+ // some custom code here
+ // ...
+ }
+});
+```
+
+After including this plugin, you can do the same thing with the following syntax:
+
+```javascript
+// This is how we can do it after using the Backbone-super plugin
+var Note = Backbone.Model.extend({
+ set: function(attributes, options) {
+ // Call parent's method
+ this._super(attributes, options);
+ // some custom code here
+ // ...
+ }
+});
+```
+
+#### Event Aggregators And Mediators
+
+**Problem**
+
+How do I channel multiple event sources through a single object?
+
+**Solution**
+
+Using an Event Aggregator. It's common for developers to think of Mediators when faced with this problem, so let's explore what an Event Aggregator is, what the Mediator pattern is and how they differ.
+
+Design patterns often differ only in semantics and intent. That is, the language used to describe the pattern is what sets it apart, more than an implementation of that specific pattern. It often comes down to squares vs rectangles vs polygons. You can create the same end result with all three, given the constraints of a square are still met – or you can use polygons to create an infinitely larger and more complex set of things.
+
+When it comes to the Mediator and Event Aggregator patterns, there are some times where it may look like the patterns are interchangeable due to implementation similarities. However, the semantics and intent of these patterns are very different. And even if the implementations both use some of the same core constructs, I believe there is a distinct difference between them. I also believe they should not be interchanged or confused in communication because of the differences.
+
+#####Event Aggregator
+
+The core idea of the Event Aggregator, according to Martin Fowler, is to channel multiple event sources through a single object so that other objects needing to subscribe to the events don’t need to know about every event source.
+
+######Backbone’s Event Aggregator
+
+The easiest event aggregator to show is that of Backbone.js – it’s built into the Backbone object directly.
+
+```javascript
+var View1 = Backbone.View.extend({
+ // ...
+
+ events: {
+ "click .foo": "doIt"
+ },
+
+ doIt: function(){
+ // trigger an event through the event aggregator
+ Backbone.trigger("some:event");
+ }
+});
+
+var View2 = Backbone.View.extend({
+ // ...
+
+ initialize: function(){
+ // subscribe to the event aggregator's event
+ Backbone.on("some:event", this.doStuff, this);
+ },
+
+ doStuff: function(){
+ // ...
+ }
+})
+```
+
+In this example, the first view is triggering an event when a DOM element is clicked. The event is triggered through Backbone’s built-in event aggregator – the Backbone object. Of course, it’s trivial to create your own event aggregator in Backbone, and there are some key things that we need to keep in mind when using an event aggregator, to keep our code simple.
+
+#######jQuery’s Event Aggregator
+
+Did you know that jQuery has a built-in event aggregator? They don’t call it this, but it’s in there and it’s scoped to DOM events. It also happens to look like Backbone’s event aggregator:
+
+```
+$("#mainArticle").on("click", function(e){
+
+ // handle click event on any element underneath our #mainArticle element
+
+});
+```
+
+This code sets up an event handler function that waits for an unknown number of event sources to trigger a “click” event, and it allows any number of listeners to attach to the events of those event publishers. jQuery just happens to scope this event aggregator to the DOM.
+
+#####Mediator
+
+A Mediator is an object that coordinates interactions (logic and behavior) between multiple objects. It makes decisions on when to call which objects, based on the actions (or inaction) of other objects and input.
+
+**A Mediator For Backbone**
+
+Backbone doesn’t have the idea of a mediator built into it like a lot of other MV* frameworks do. But that doesn’t mean you can’t write one using a single line of code:
+
+```javascript
+var mediator = {};
+```
+
+Yes, of course this is just an object literal in JavaScript. Once again, we’re talking about semantics here. The purpose of the mediator is to control the workflow between objects and we really don’t need anything more than an object literal to do this.
+
+```javascript
+var orgChart = {
+
+ addNewEmployee: function(){
+
+ // getEmployeeDetail provides a view that users interact with
+ var employeeDetail = this.getEmployeeDetail();
+
+ // when the employee detail is complete, the mediator (the 'orgchart' object)
+ // decides what should happen next
+ employeeDetail.on("complete", function(employee){
+
+ // set up additional objects that have additional events, which are used
+ // by the mediator to do additional things
+ var managerSelector = this.selectManager(employee);
+ managerSelector.on("save", function(employee){
+ employee.save();
+ });
+
+ });
+ },
+
+ // ...
+}
+```
+
+This example shows a very basic implementation of a mediator object with Backbone-based objects that can trigger and subscribe to events. I’ve often referred to this type of object as a “workflow” object in the past, but the truth is that it is a mediator. It is an object that handles the workflow between many other objects, aggregating the responsibility of that workflow knowledge into a single object. The result is workflow that is easier to understand and maintain.
+
+#####Similarities And Differences
+
+There are, without a doubt, similarities between the event aggregator and mediator examples that I’ve shown here. The similarities boil down to two primary items: events and third-party objects. These differences are superficial at best, though. When we dig into the intent of the pattern and see that the implementations can be dramatically different, the nature of the patterns become more apparent.
+
+######Events
+
+Both the event aggregator and mediator use events, in the above examples. An event aggregator obviously deals with events – it’s in the name after all. The mediator only uses events because it makes life easy when dealing with Backbone, though. There is nothing that says a mediator must be built with events. You can build a mediator with callback methods, by handing the mediator reference to the child object, or by any of a number of other means.
+
+The difference, then, is why these two patterns are both using events. The event aggregator, as a pattern, is designed to deal with events. The mediator, though, only uses them because it’s convenient.
+
+######Third-Party Objects
+
+Both the event aggregator and mediator, by design, use a third-party object to facilitate things. The event aggregator itself is a third-party to the event publisher and the event subscriber. It acts as a central hub for events to pass through. The mediator is also a third party to other objects, though. So where is the difference? Why don’t we call an event aggregator a mediator? The answer largely comes down to where the application logic and workflow is coded.
+
+In the case of an event aggregator, the third party object is there only to facilitate the pass-through of events from an unknown number of sources to an unknown number of handlers. All workflow and business logic that needs to be kicked off is put directly into the the object that triggers the events and the objects that handle the events.
+
+In the case of the mediator, though, the business logic and workflow is aggregated into the mediator itself. The mediator decides when an object should have it’s methods called and attributes updated based on factors that the mediator knows about. It encapsulates the workflow and process, coordinating multiple objects to produce the desired system behaviour. The individual objects involved in this workflow each know how to perform their own task. But it’s the mediator that tells the objects when to perform the tasks by making decisions at a higher level than the individual objects.
+
+An event aggregator facilitates a “fire and forget” model of communication. The object triggering the event doesn’t care if there are any subscribers. It just fires the event and moves on. A mediator, though, might use events to make decisions, but it is definitely not “fire and forget”. A mediator pays attention to a known set of input or activities so that it can facilitate and coordinate additional behavior with a known set of actors (objects).
+
+#####Relationships: When To Use Which
+
+Understanding the similarities and differences between an event aggregator and mediator is important for semantic reasons. It’s equally as important to understand when to use which pattern, though. The basic semantics and intent of the patterns does inform the question of when, but actual experience in using the patterns will help you understand the more subtle points and nuanced decisions that have to be made.
+
+######Event Aggregator Use
+
+In general, an event aggregator is used when you either have too many objects to listen to directly, or you have objects that are entirely unrelated.
+
+When two objects have a direct relationship already – say, a parent view and child view – then there might be little benefit in using an event aggregator. Have the child view trigger an event and the parent view can handle the event. This is most commonly seen in Backbone’s Collection and Model, where all Model events are bubbled up to and through it’s parent Collection. A Collection often uses model events to modify the state of itself or other models. Handling “selected” items in a collection is a good example of this.
+
+jQuery’s on method as an event aggregator is a great example of too many objects to listen to. If you have 10, 20 or 200 DOM elements that can trigger a “click” event, it might be a bad idea to set up a listener on all of them individually. This could quickly deteriorate performance of the application and user experience. Instead, using jQuery’s on method allows us to aggregate all of the events and reduce the overhead of 10, 20, or 200 event handlers down to 1.
+
+Indirect relationships are also a great time to use event aggregators. In Backbone applications, it is very common to have multiple view objects that need to communicate, but have no direct relationship. For example, a menu system might have a view that handles the menu item clicks. But we don’t want the menu to be directly tied to the content views that show all of the details and information when a menu item is clicked. Having the content and menu coupled together would make the code very difficult to maintain, in the long run. Instead, we can use an event aggregator to trigger “menu:click:foo” events, and have a “foo” object handle the click event to show it’s content on the screen.
+
+######Mediator Use
+
+A mediator is best applied when two or more objects have an indirect working relationship, and business logic or workflow needs to dictate the interactions and coordination of these objects.
+
+A wizard interface is a good example of this, as shown with the “orgChart” example, above. There are multiple views that facilitate the entire workflow of the wizard. Rather than tightly coupling the view together by having them reference each other directly, we can decouple them and more explicitly model the workflow between them by introducing a mediator.
+
+The mediator extracts the workflow from the implementation details and creates a more natural abstraction at a higher level, showing us at a much faster glance what that workflow is. We no longer have to dig into the details of each view in the workflow, to see what the workflow actually is.
+
+#####Event Aggregator And Mediator Together
+
+The crux of the difference between an event aggregator and a mediator, and why these pattern names should not be interchanged with each other, is illustrated best by showing how they can be used together. The menu example for an event aggregator is the perfect place to introduce a mediator as well.
+
+Clicking a menu item may trigger a series of changes throughout an application. Some of these changes will be independent of others, and using an event aggregator for this makes sense. Some of these changes may be internally related to each other, though, and may use a mediator to enact those changes. A mediator, then, could be set up to listen to the event aggregator. It could run it’s logic and process to facilitate and coordinate many objects that are related to each other, but unrelated to the original event source.
+
+```javascript
+var MenuItem = Backbone.View.extend({
+
+ events: {
+ "click .thatThing": "clickedIt"
+ },
+
+ clickedIt: function(e){
+ e.preventDefault();
+
+ // assume this triggers "menu:click:foo"
+ Backbone.trigger("menu:click:" + this.model.get("name"));
+ }
+
+});
+
+// ... somewhere else in the app
+
+var MyWorkflow = function(){
+ Backbone.on("menu:click:foo", this.doStuff, this);
+};
+
+MyWorkflow.prototype.doStuff = function(){
+ // instantiate multiple objects here.
+ // set up event handlers for those objects.
+ // coordinate all of the objects into a meaningful workflow.
+};
+```
+
+In this example, when the MenuItem with the right model is clicked, the `“menu:click:foo”` event will be triggered. An instance of the “MyWorkflow” object, assuming one is already instantiated, will handle this specific event and will coordinate all of the objects that it knows about, to create the desired user experience and workflow.
+
+An event aggregator and a mediator have been combined to create a much more meaningful experience in both the code and the application itself. We now have a clean separation between the menu and the workflow through an event aggregator and we are still keeping the workflow itself clean and maintainable through the use of a mediator.
+
+#####Pattern Language: Semantics
+
+There is one overriding point to make in all of this discussion: semantics. Communicating intent and semantics through the use of named patterns is only viable and only valid when all parties in a communication medium understand the language in the same way.
+
+If I say “apple”, what am I talking about? Am I talking about a fruit? Or am I talking about a technology and consumer products company? As Sharon Cichelli says: “semantics will continue to be important, until we learn how to communicate in something other than language”.
+
+
+# Modular Development
+
+## Introduction
+
+When we say an application is modular, we generally mean it's composed of a set of highly decoupled, distinct pieces of functionality stored in modules. As you probably know, loose coupling facilitates easier maintainability of apps by removing dependencies where possible. When this is implemented efficiently, it's quite easy to see how changes to one part of a system may affect another.
+
+Unlike some more traditional programming languages, the current iteration of JavaScript (ECMA-262) doesn't provide developers with the means to import such modules of code in a clean, organized manner.
+
+Instead, developers are left to fall back on variations of the module or object literal patterns combined with script tags or a script loader. With many of these, module scripts are strung together in the DOM with namespaces being described by a single global object where it's still possible to have name collisions. There's also no clean way to handle dependency management without some manual effort or third party tools.
+
+Whilst native solutions to these problems may be arriving via [ES6](http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts) (the next version of the official JavaScript specification) [modules proposal](http://wiki.ecmascript.org/doku.php?id=harmony:modules), the good news is that writing modular JavaScript has never been easier and you can start doing it today.
+
+In this next part of the book, we're going to look at how to use AMD modules and RequireJS to cleanly wrap units of code in your application into manageable modules. We'll also cover an alternate approach called Lumbar which uses routes to determine when modules are loaded.
+
+## Organizing modules with RequireJS and AMD
+
+*Partly Contributed by [Jack Franklin](https://github.com/jackfranklin)*
+
+[RequireJS](http://requirejs.org) is a popular script loader written by James Burke - a developer who has been quite instrumental in helping shape the AMD module format, which we'll discuss shortly. Amongst other things RequireJS helps you to load multiple script files, define modules with or without dependencies, and load in non-script dependencies such as text files.
+
+### Maintainability problems with multiple script files
+
+You might be thinking that there is little benefit to RequireJS. After all, you can simply load in your JavaScript files through multiple `
+```
+
+Now, RequireJS will automatically load `app.js` for you.
+
+#### RequireJS Configuration
+
+In the main JavaScript file that you load with the `data-main` attribute you can configure how RequireJS loads the rest of your application. This is done by calling `require.config`, and passing in an object:
+
+```javascript
+require.config({
+ // your configuration key/values here
+ baseUrl: "app", // generally the same directory as the script used in a data-main attribute for the top level script
+ paths: {}, // set up custom paths to libraries, or paths to RequireJS plugins
+ shim: {}, // used for setting up all Shims (see below for more detail)
+});
+```
+
+The main reason you'd want to configure RequireJS is to add shims, which we'll cover next. To see other configuration options available to you, I recommend checking out the [RequireJS documentation](http://requirejs.org/docs/api.html#config).
+
+
+##### RequireJS Shims
+
+Ideally, each library that we use with RequireJS will come with AMD support. That is, it uses the `define` method to define the library as a module. However, some libraries - including Backbone and one of its dependencies, Underscore - don't do this. Fortunately RequireJS comes with a way to work around this.
+
+To demonstrate this, first let's shim Underscore, and then we'll shim Backbone too. Shims are very simple to implement:
+
+```javascript
+require.config({
+ shim: {
+ 'lib/underscore': {
+ exports: '_'
+ }
+ }
+});
+```
+
+Note that when specifying paths for RequireJS you should omit the `.js` from the end of script names.
+
+The important line here is `exports: '_'`. This line tells RequireJS that the script in `'lib/underscore.js'` creates a global variable called `_` instead of defining a module. Now when we list Underscore as a dependency RequireJS will know to give us the `_` global variable as though it was the module defined by that script. We can set up a shim for Backbone too:
+
+```javascript
+require.config({
+ shim: {
+ 'lib/underscore': {
+ exports: '_'
+ },
+ 'lib/backbone': {
+ deps: ['lib/underscore', 'jquery'],
+ exports: 'Backbone'
+ }
+ }
+});
+```
+
+Again, that configuration tells RequireJS to return the global `Backbone` variable that Backbone exports, but this time you'll notice that Backbone's dependencies are defined. This means whenever this:
+
+```javascript
+require( 'lib/backbone', function( Backbone ) {...} );
+```
+
+Is run, it will first make sure the dependencies are met, and then pass the global `Backbone` object into the callback function. You don't need to do this with every library, only the ones that don't support AMD. For example, jQuery does support it, as of jQuery 1.7.
+
+If you'd like to read more about general RequireJS usage, the [RequireJS API docs](http://requirejs.org/docs/api.html) are incredibly thorough and easy to read.
+
+#### Custom Paths
+
+Typing long paths to file names like `lib/backbone` can get tedious. RequireJS lets us set up custom paths in our configuration object. Here, whenever I refer to "underscore", RequireJS will look for the file `lib/underscore.js`:
+
+```javascript
+require.config({
+ paths: {
+ 'underscore': 'lib/underscore'
+ }
+});
+```
+
+Of course, this can be combined with a shim:
+
+```javascript
+require.config({
+ paths: {
+ 'underscore': 'lib/underscore'
+ },
+ shim: {
+ 'underscore': {
+ exports: '_'
+ }
+ }
+});
+```
+
+Just make sure that you refer to the custom path in your shim settings, too. Now you can do
+
+```javascript
+require( ['underscore'], function(_) {
+// code here
+});
+```
+
+to shim Underscore but still use a custom path.
+
+
+### Require.js and Backbone Examples
+
+Now that we've taken a look at how to define AMD modules, let's review how to go about wrapping components like views and collections so that they can also be easily loaded as dependencies for any parts of your application that require them. At its simplest, a Backbone model may just require Backbone and Underscore.js. These are dependencies, so we can define those when defining the new modules. Note that the following examples presume you have configured RequireJS to shim Backbone and Underscore, as discussed previously.
+
+#### Wrapping models, views, and other components with AMD
+
+For example, here is how a model is defined.
+
+```javascript
+define(['underscore', 'backbone'], function(_, Backbone) {
+ var myModel = Backbone.Model.extend({
+
+ // Default attributes
+ defaults: {
+ content: 'hello world',
+ },
+
+ // A dummy initialization method
+ initialize: function() {
+ },
+
+ clear: function() {
+ this.destroy();
+ this.view.remove();
+ }
+
+ });
+ return myModel;
+});
+```
+
+Note how we alias Underscore.js's instance to `_` and Backbone to just `Backbone`, making it very trivial to convert non-AMD code over to using this module format. For a view which might require other dependencies such as jQuery, this can similarly be done as follows:
+
+```javascript
+define([
+ 'jquery',
+ 'underscore',
+ 'backbone',
+ 'collections/mycollection',
+ 'views/myview'
+ ], function($, _, Backbone, myCollection, myView){
+
+ var AppView = Backbone.View.extend({
+ ...
+```
+
+Aliasing to the dollar-sign (`$`) once again makes it very easy to encapsulate any part of an application you wish using AMD.
+
+Doing it this way makes it easy to organize your Backbone application as you like. It's recommended to separate modules into folders. For example, individual folders for models, collections, views and so on. RequireJS doesn't care about what folder structure you use; as long as you use the correct path when using `require`, it will happily pull in the file.
+
+As part of this chapter I've made a very simple [Backbone application with RequireJS that you can find on Github](https://github.com/javascript-playground/backbone-require-example). It is a stock application for a manager of a shop. They can add new items and filter down the items based on price, but nothing more. Because it's so simple it's easier to focus purely on the RequireJS part of the implementation, rather than deal with complex JavaScript and Backbone logic too.
+
+At the base of this application is the `Item` model, which describes a single item in the stock. Its implementation is very straight forward:
+
+```javascript
+define( ["lib/backbone"], function ( Backbone ) {
+ var Item = Backbone.Model.extend({
+ defaults: {
+ price: 35,
+ photo: "http://www.placedog.com/100/100"
+ }
+ });
+ return Item;
+});
+```
+
+Converting an individual model, collection, view or similar into an AMD, RequireJS compliant one is typically very straight forward. Usually all that's needed is the first line, calling `define`, and to make sure that once you've defined your object - in this case, the `Item` model, to return it.
+
+Let's now set up a view for that individual item:
+
+```javascript
+define( ["lib/backbone"], function ( Backbone ) {
+ var ItemView = Backbone.View.extend({
+ tagName: "div",
+ className: "item-wrap",
+ template: _.template($("#itemTemplate").html()),
+
+ render: function() {
+ this.$el.html(this.template(this.model.toJSON()));
+ return this;
+ }
+ });
+ return ItemView;
+});
+```
+
+This view doesn't actually depend on the model it will be used with, so again the only dependency is Backbone. Other than that it's just a regular Backbone view. There's nothing special going on here, other than returning the object and using `define` so RequireJS can pick it up. Now let's make a collection to view a list of items. This time we will need to reference the `Item` model, so we add it as a dependency:
+
+```javascript
+define(["lib/backbone", "models/item"], function(Backbone, Item) {
+ var Cart = Backbone.Collection.extend({
+ model: Item,
+ initialize: function() {
+ this.on("add", this.updateSet, this);
+ },
+ updateSet: function() {
+ items = this.models;
+ }
+ });
+ return Cart;
+});
+```
+
+I've called this collection `Cart`, as it's a group of items. As the `Item` model is the second dependency, I can bind the variable `Item` to it by declaring it as the second argument to the callback function. I can then refer to this within my collection implementation.
+
+Finally, let's have a look at the view for this collection. (This file is much bigger in the application, but I've taken some bits out so it's easier to examine).
+
+```javascript
+define(["lib/backbone", "models/item", "views/itemview"], function(Backbone, Item, ItemView) {
+ var ItemCollectionView = Backbone.View.extend({
+ el: '#yourcart',
+ initialize: function(collection) {
+ this.collection = collection;
+ this.render();
+ this.collection.on("reset", this.render, this);
+ },
+ render: function() {
+ this.$el.html("");
+ this.collection.each(function(item) {
+ this.renderItem(item);
+ }, this);
+ },
+ renderItem: function(item) {
+ var itemView = new ItemView({model: item});
+ this.$el.append(itemView.render().el);
+ },
+ // more methods here removed
+ });
+ return ItemCollectionView;
+});
+```
+
+There really is nothing to it once you've got the general pattern. Define each "object" (a model, view, collection, router or otherwise) through RequireJS, and then specify them as dependencies to other objects that need them. Again, you can find this entire application [on Github](https://github.com/javascript-playground/backbone-require-example).
+
+If you'd like to take a look at how others do it, [Pete Hawkins' Backbone Stack repository](https://github.com/phawk/Backbone-Stack) is a good example of structuring a Backbone application using RequireJS. Greg Franko has also written [an overview of how he uses Backbone and Require](http://gregfranko.com/blog/using-backbone-dot-js-with-require-dot-js/), and [Jeremy Kahn's post](http://jeremyckahn.github.com/blog/2012/08/18/keeping-it-sane-backbone-views-and-require-dot-js/) neatly describes his approach. For a look at a full sample application, the [Backbone and Require version](https://github.com/addyosmani/todomvc/tree/gh-pages/dependency-examples/backbone_require) of the TodoMVC application is a good starting point.
+
+### Keeping Your Templates External Using RequireJS And The Text Plugin
+
+Moving your templates to external files is actually quite straight-forward, whether they are Underscore, Mustache, Handlebars or any other text-based template format. Let's look at how we do that with RequireJS.
+
+RequireJS has a special plugin called text.js which is used to load in text file dependencies. To use the text plugin, follow these steps:
+
+1. Download the plugin from http://requirejs.org/docs/download.html#text and place it in either the same directory as your application's main JS file or a suitable sub-directory.
+
+2. Next, include the text.js plugin in your initial RequireJS configuration options. In the code snippet below, we assume that RequireJS is being included in our page prior to this code snippet being executed.
+
+```javascript
+require.config( {
+ paths: {
+ 'text': 'libs/require/text',
+ },
+ baseUrl: 'app'
+} );
+```
+
+3. When the `text!` prefix is used for a dependency, RequireJS will automatically load the text plugin and treat the dependency as a text resource. A typical example of this in action may look like:
+
+```javascript
+require(['js/app', 'text!templates/mainView.html'],
+ function( app, mainView ) {
+ // the contents of the mainView file will be
+ // loaded into mainView for usage.
+ }
+);
+```
+
+4. Finally we can use the text resource that's been loaded for templating purposes. You're probably used to storing your HTML templates inline using a script with a specific identifier.
+
+With Underscore.js's micro-templating (and jQuery) this would typically be:
+
+HTML:
+
+```html
+
+```
+
+
+JS:
+
+```javascript
+var compiled_template = _.template( $('#mainViewTemplate').html() );
+```
+
+With RequireJS and the text plugin however, it's as simple as saving the same template into an external text file (say, `mainView.html`) and doing the following:
+
+```javascript
+require(['js/app', 'text!templates/mainView.html'],
+ function(app, mainView){
+ var compiled_template = _.template( mainView );
+ }
+);
+```
+
+That's it! Now you can apply your template to a view in Backbone with something like:
+
+```javascript
+collection.someview.$el.html( compiled_template( { results: collection.models } ) );
+```
+
+All templating solutions will have their own custom methods for handling template compilation, but if you understand the above, substituting Underscore's micro-templating for any other solution should be fairly trivial.
+
+
+### Optimizing Backbone apps for production with the RequireJS Optimizer
+
+Once you're written your application, the next important step is to prepare it for deployment to production. The majority of non-trivial apps are likely to consist of several scripts and so optimizing, minimizing, and concatenating your scripts prior to pushing can reduce the number of scripts your users need to download.
+
+A command-line optimization tool for RequireJS projects called r.js is available to help with this workflow. It offers a number of capabilities, including:
+
+* Concatenating specific scripts and minifying them using external tools such as UglifyJS (which is used by default) or Google's Closure Compiler for optimal browser delivery, whilst preserving the ability to dynamically load modules
+* Optimizing CSS and stylesheets by inlining CSS files imported using @import, stripping out comments, etc.
+* The ability to run AMD projects in both Node and Rhino (more on this later)
+
+If you find yourself wanting to ship a single file with all dependencies included, r.js can help with this too. Whilst RequireJS does support lazy-loading, your application may be small enough that reducing HTTP requests to a single script file is feasible.
+
+You'll notice that I mentioned the word 'specific' in the first bullet point. The RequireJS optimizer only concatenates module scripts that have been specified as string literals in `require` and `define` calls (which you've probably used). As clarified by the [optimizer docs](http://requirejs.org/docs/optimization.html) this means that Backbone modules defined like this:
+
+```javascript
+define(['jquery', 'backbone', 'underscore', 'collections/sample', 'views/test'],
+ function($, Backbone, _, Sample, Test){
+ //...
+ });
+```
+
+will combine fine, however dynamic dependencies such as:
+
+```javascript
+var models = someCondition ? ['models/ab', 'models/ac'] : ['models/ba', 'models/bc'];
+define(['jquery', 'backbone', 'underscore'].concat(models),
+ function($, Backbone, _, firstModel, secondModel){
+ //...
+ });
+```
+
+will be ignored. This is by design as it ensures that dynamic dependency/module loading can still take place even after optimization.
+
+Although the RequireJS optimizer works fine in both Node and Java environments, it's strongly recommended to run it under Node as it executes significantly faster there.
+
+To get started with r.js, grab it from the [RequireJS download page](http://requirejs.org/docs/download.html#rjs) or [through NPM](http://requirejs.org/docs/optimization.html#download). To begin getting our project to build with r.js, we will need to create a new build profile.
+
+Assuming the code for our application and external dependencies are in `app/libs`, our build.js build profile could simply be:
+
+```
+({
+ baseUrl: 'app',
+ out: 'dist/main.js',
+```
+
+The paths above are relative to the `baseUrl` for our project and in our case it would make sense to make this the `app` folder. The `out` parameter informs r.js that we want to concatenate everything into a single file called `main.js` under the `dist/` directory. Note that here we do need to add the `.js` extension to the filename. Earlier, we saw that when referencing modules by filenames, you don't need to use the `.js` extension, however this is one case in which you do.
+
+Alternatively, we can specify `dir`, which will ensure the contents of our `app` directory are copied into this directory. e.g:
+
+```
+({
+ baseUrl: 'app',
+ dir: 'release',
+ out: 'dist/main.js'
+```
+
+Additional options that can be specified such as `modules` and `appDir` are not compatible with `out`, however let's briefly discuss them in case you do wish to use them.
+
+`modules` is an array where we can explicitly specify the module names we would like to have optimized.
+
+
+```
+ modules: [
+ {
+ name: 'app',
+ exclude: [
+ // If you prefer not to include certain
+ // libs exclude them here
+ ]
+ }
+```
+
+`appDir` - when specified, our`baseUrl` is relative to this parameter. If `appDir` is not defined, `baseUrl` is simply relative to the `build.js` file.
+
+```
+ appDir: './',
+```
+
+Back to our build profile, the `main` parameter is used to specify our main module - we are making use of `include` here as we're going to take advantage of [Almond](https://github.com/jrburke/almond) - a stripped down loader for RequireJS modules which is useful should you not need to load modules in dynamically.
+
+```
+ include: ['libs/almond', 'main'],
+ wrap: true,
+```
+
+`include` is another array which specifies the modules we want to include in the build. By specifying "main", r.js will trace over all modules main depends on and will include them. `wrap` wraps modules which RequireJS needs into a closure so that only what we export is included in the global environment.
+
+```
+ paths: {
+ backbone: 'libs/backbone',
+ underscore: 'libs/underscore',
+ jquery: 'libs/jquery',
+ text: 'libs/text'
+ }
+})
+```
+The remainder of the build.js file would be a regular paths configuration object. We can compile our project into a target file by running:
+
+```
+node r.js -o build.js
+```
+
+which should place our compiled project into dist/main.js.
+
+The build profile is usually placed inside the 'scripts' or 'js' directory of your project. As per the docs, this file can however exist anywhere you wish, but you'll need to edit the contents of your build profile accordingly.
+
+That's it. As long as you have UglifyJS/Closure tools setup correctly, r.js should be able to easily optimize your entire Backbone project in just a few key-strokes.
+
+If you would like to learn more about build profiles, James Burke has a [heavily commented sample file](https://github.com/jrburke/r.js/blob/master/build/example.build.js) with all the possible options available.
+
+
+
+
+
+
+
+# Backbone Boilerplate And Grunt-BBB
+
+Boilerplates provide us a starting point for working on projects. They're a base for building upon using the minimum required code to get something functional put together. When you're working on a new Backbone application, a new Model typically only takes a few lines of code to get working.
+
+That alone probably isn't enough however, as you'll need a Collection to group those models, a View to render them and perhaps a router if you're looking to making specific views of your Collection data bookmarkable. If you're starting on a completely fresh project, you may also need a build process in place to produce an optimized version of your app that can be pushed to production.
+
+This is where boilerplate solutions are useful.Rather than having to manually write out the initial code for each piece of your Backbone app, a boilerplate could do this for you, also ideally taking care of the build process.
+
+[Backbone Boilerplate](https://github.com/tbranyen/backbone-boilerplate/) (or just BB) provides just this. It is an excellent set of best practices and utilities for building Backbone.js applications, created by Backbone contributor [Tim Branyen](https://github.com/tbranyen). He took the the gotchas, pitfalls and common tasks he ran into while heavily using Backbone to build apps and crafted BB as a result of this experience.
+
+[Grunt-BBB or Boilerplate Build Buddy](https://github.com/backbone-boilerplate/grunt-bbb) is the companion tool to BB, which offers scaffolding, file watcher and build capabilities. Used together with BB it provides an excellent base for quickly starting new Backbone applications.
+
+![](img/bbb.png)
+
+Out of the box, BB and Grunt-BBB provide provide us with:
+
+* Backbone, [Lodash](https://github.com/bestiejs/lodash) (an [Underscore.js](http://underscorejs.org/) alternative) and [jQuery](http://jquery.com) with an [HTML5 Boilerplate](http://html5boilerplate.com) foundation
+* Boilerplate and scaffolding support, allowing us to spend minimal time writing boilerplate for modules, collections and so on.
+* A build tool for template pre-compilation and, concatenation & minification of all our libraries, application code and stylesheets
+* A Lightweight node.js webserver
+
+Notes on build tool steps:
+
+* Template pre-compilation: using a template library such as Underscore micro-templating or Handlebars.js generally involves three steps: (1) reading a raw template, (2) compiling it into a JavaScript function and (3) running the compiled template with your desired data. Precompiling eliminates the second step from runtime, by moving this process into a build step.
+* Concatenation is the process of combining a number of assets (in our case, script files) into a single (or fewer number) of files to reduce the number of HTTP requests required to obtain them.
+* Minification is the process of removing unnecessary characters (e.g white space, new lines, comments) from code and compressing it to reduce the overall size of the scripts being served.
+
+## Getting Started
+
+### Backbone Boilerplate and Grunt-BBB
+
+To get started we're going to install Grunt-BBB, which will include Backbone Boilerplate and any third-party dependencies it might need such as the Grunt build tool.
+
+We can install Grunt-bBB via NPM by running:
+
+```shell
+npm install -g bbb
+```
+
+That's it. We should now be good to go.
+
+A typical workflow for using grunt-bbb, which we will use later on is:
+
+* Initialize a new project (`bbb init`)
+* Add new modules and templates (`bbb init:module`)
+* Preview changes using the built in server (`bbb server`)
+* Run the build tool (`bbb build`)
+* Lint JavaScript, compile templates, build your application using r.js, minify CSS and JavaScript (using `bbb release`)
+
+## Creating a new project
+
+Let's create a new directory for our project and run `bbb init` to kick things off. A number of project sub-directories and files will be stubbed out for us, as shown below:
+
+```shell
+$ bbb init
+Running "init" task
+This task will create one or more files in the current directory, based on the
+environment and the answers to a few questions. Note that answering "?" to any
+question will show question-specific help and answering "none" to most questions
+will leave its value blank.
+
+"bbb" template notes:
+This tool will help you install, configure, build, and maintain your Backbone
+Boilerplate project.
+Writing app/app.js...OK
+Writing app/config.js...OK
+Writing app/main.js...OK
+Writing app/router.js...OK
+Writing app/styles/index.css...OK
+Writing favicon.ico...OK
+Writing grunt.js...OK
+Writing index.html...OK
+Writing package.json...OK
+Writing readme.md...OK
+Writing test/jasmine/index.html...OK
+Writing test/jasmine/spec/example.js...OK
+Writing test/jasmine/vendor/jasmine-html.js...OK
+Writing test/jasmine/vendor/jasmine.css...OK
+Writing test/jasmine/vendor/jasmine.js...OK
+Writing test/jasmine/vendor/jasmine_favicon.png...OK
+Writing test/jasmine/vendor/MIT.LICENSE...OK
+Writing test/qunit/index.html...OK
+Writing test/qunit/tests/example.js...OK
+Writing test/qunit/vendor/qunit.css...OK
+Writing test/qunit/vendor/qunit.js...OK
+Writing vendor/h5bp/css/main.css...OK
+Writing vendor/h5bp/css/normalize.css...OK
+Writing vendor/jam/backbone/backbone.js...OK
+Writing vendor/jam/backbone/package.json...OK
+Writing vendor/jam/backbone.layoutmanager/backbone.layoutmanager.js...OK
+Writing vendor/jam/backbone.layoutmanager/package.json...OK
+Writing vendor/jam/jquery/jquery.js...OK
+Writing vendor/jam/jquery/package.json...OK
+Writing vendor/jam/lodash/lodash.js...OK
+Writing vendor/jam/lodash/lodash.min.js...OK
+Writing vendor/jam/lodash/lodash.underscore.min.js...OK
+Writing vendor/jam/lodash/package.json...OK
+Writing vendor/jam/require.config.js...OK
+Writing vendor/jam/require.js...OK
+Writing vendor/js/libs/almond.js...OK
+Writing vendor/js/libs/require.js...OK
+
+Initialized from template "bbb".
+
+Done, without errors.
+```
+
+Let's review what has been generated.
+
+### index.html
+
+This is a fairly standard stripped-down HTML5 Boilerplate foundation with the notable exception of including [RequireJS](http://requirejs.org) at the bottom of the page.
+
+```html
+
+
+
+
+
+
+
+ Backbone Boilerplate
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+RequireJS - the [AMD](https://github.com/amdjs/amdjs-api/wiki/AMD) (Asynchronous Module Definition) module and script loader - will assist us with managing the modules in our application. We've already covered it in the last chapter, but let's recap what this particular block does in terms of the Boilerplate:
+
+```
+
+```
+
+The `data-main` attribute is used to inform RequireJS to load `app/config.js` (a configuration object) after it has finished loading itself. You'll notice that we've omitted the `.js` extension here as RequireJS can automatically add this for us, however it will respect your paths if we do choose to include it regardless. Let's now look at the config file being referenced.
+
+### config.js
+
+A RequireJS configuration object allows us to specify aliases and paths for dependencies we're likely to reference often (e.g., jQuery), bootstrap properties like our base application URL, and `shim` libraries that don't support AMD natively.
+
+This is what the config file in Backbone Boilerplate looks like:
+
+```javascript
+// Set the require.js configuration for your application.
+require.config({
+
+ // Initialize the application with the main application file and the JamJS
+ // generated configuration file.
+ deps: ["../vendor/jam/require.config", "main"],
+
+ paths: {
+ // Put paths here.
+ },
+
+ shim: {
+ // Put shims here.
+ }
+
+});
+```
+
+The first option defined in the above config is `deps: ["../vendor/jam/require.config", "main"]`. This informs RequireJS to load up additonal RequireJS configuration as well a a main.js file, which is considered the entry point for our application.
+
+ You may notice that we haven't specified any other path information for `main`. Require will infer the default `baseUrl` using the path from our `data-main` attribute in index.html. In other words, our `baseUrl` is `app/` and any scripts we require will be loaded relative to this location. We could use the `baseUrl` option to override this default if we wanted to use a different location.
+
+The next block is `paths`, which we can use to specify paths relative to the `baseUrl` as well as the paths/aliases to dependencies we're likely to regularly reference.
+
+After this comes `shim`, an important part of our RequireJS configuration which allows us to load libraries which are not AMD compliant. The basic idea here is that rather than requiring all libraries to implement support for AMD, the `shim` takes care of the hard work for us.
+
+Going back to `deps`, the contents of our `require.config` file can be seen below.
+
+```javascript
+var jam = {
+ "packages": [
+ {
+ "name": "backbone",
+ "location": "../vendor/jam/backbone",
+ "main": "backbone.js"
+ },
+ {
+ "name": "backbone.layoutmanager",
+ "location": "../vendor/jam/backbone.layoutmanager",
+ "main": "backbone.layoutmanager.js"
+ },
+ {
+ "name": "jquery",
+ "location": "../vendor/jam/jquery",
+ "main": "jquery.js"
+ },
+ {
+ "name": "lodash",
+ "location": "../vendor/jam/lodash",
+ "main": "./lodash.js"
+ }
+ ],
+ "version": "0.2.11",
+ "shim": {
+ "backbone": {
+ "deps": [
+ "jquery",
+ "lodash"
+ ],
+ "exports": "Backbone"
+ },
+ "backbone.layoutmanager": {
+ "deps": [
+ "jquery",
+ "backbone",
+ "lodash"
+ ],
+ "exports": "Backbone.LayoutManager"
+ }
+ }
+};
+
+```
+
+The `jam` object is to support configuration of [Jam](http://jamjs.org/) - a package manager for the front-end which helps instal, upgrade and configurate the dependencies used by your project. It is currently the package manager of choice for Backbone Boilerplate.
+
+Under the `packages` array, a number of dependencies are specified for inclusion, such as Backbone, the Backbone.LayoutManager plugin, jQuery and Lo-dash.
+
+For those curious about [Backbone.LayoutManager](https://github.com/tbranyen/backbone.layoutmanager), it's a Backbone plugin that provides a foundation for assembling layouts and views within Backbone.
+
+Additional packages you install using Jam will have a corresponding entry added to `packages`.
+
+### main.js
+
+Next, we have `main.js`, which defines the entry point for our application. We use a global `require()` method to load an array containing any other scripts needed, such as our application `app.js` and our main router `router.js`. Note that most of the time, we will only use `require()` for bootstrapping an application and a similar method called `define()` for all other purposes.
+
+The function defined after our array of dependencies is a callback which doesn't fire until these scripts have loaded. Notice how we're able to locally alias references to "app" and "router" as `app` and `Router` for convenience.
+
+```javascript
+require([
+ // Application.
+ "app",
+
+ // Main Router.
+ "router"
+],
+
+function(app, Router) {
+
+ // Define your master router on the application namespace and trigger all
+ // navigation from this instance.
+ app.router = new Router();
+
+ // Trigger the initial route and enable HTML5 History API support, set the
+ // root folder to '/' by default. Change in app.js.
+ Backbone.history.start({ pushState: true, root: app.root });
+
+ // All navigation that is relative should be passed through the navigate
+ // method, to be processed by the router. If the link has a `data-bypass`
+ // attribute, bypass the delegation completely.
+ $(document).on("click", "a[href]:not([data-bypass])", function(evt) {
+ // Get the absolute anchor href.
+ var href = { prop: $(this).prop("href"), attr: $(this).attr("href") };
+ // Get the absolute root.
+ var root = location.protocol + "//" + location.host + app.root;
+
+ // Ensure the root is part of the anchor href, meaning it's relative.
+ if (href.prop.slice(0, root.length) === root) {
+ // Stop the default event to ensure the link will not cause a page
+ // refresh.
+ evt.preventDefault();
+
+ // `Backbone.history.navigate` is sufficient for all Routers and will
+ // trigger the correct events. The Router's internal `navigate` method
+ // calls this anyways. The fragment is sliced from the root.
+ Backbone.history.navigate(href.attr, true);
+ }
+ });
+
+});
+
+```
+
+Inline, Backbone Boilerplate includes boilerplate code for initializing our router with HTML5 History API support and handling other navigation scenarios, so we don't have to.
+
+### app.js
+
+Let us now look at our `app.js` module. Typically, in non-Backbone Boilerplate applications, an `app.js` file may contain the core logic or module references needed to kick start an app.
+
+In this case however, this file is used to define templating and layout configuration options as well as utilities for consuming layouts. To a beginner, this might look like a lot of code to comprehend, but the good news is that for basic apps, you're unlikely to need to heavily modify this. Instead, you'll be more concerned with modules for your app, which we'll look at next.
+
+```javascript
+define([
+ "backbone.layoutmanager"
+], function() {
+
+ // Provide a global location to place configuration settings and module
+ // creation.
+ var app = {
+ // The root path to run the application.
+ root: "/"
+ };
+
+ // Localize or create a new JavaScript Template object.
+ var JST = window.JST = window.JST || {};
+
+ // Configure LayoutManager with Backbone Boilerplate defaults.
+ Backbone.LayoutManager.configure({
+ // Allow LayoutManager to augment Backbone.View.prototype.
+ manage: true,
+
+ prefix: "app/templates/",
+
+ fetch: function(path) {
+ // Concatenate the file extension.
+ path = path + ".html";
+
+ // If cached, use the compiled template.
+ if (JST[path]) {
+ return JST[path];
+ }
+
+ // Put fetch into `async-mode`.
+ var done = this.async();
+
+ // Seek out the template asynchronously.
+ $.get(app.root + path, function(contents) {
+ done(JST[path] = _.template(contents));
+ });
+ }
+ });
+
+ // Mix Backbone.Events, modules, and layout management into the app object.
+ return _.extend(app, {
+ // Create a custom object with a nested Views object.
+ module: function(additionalProps) {
+ return _.extend({ Views: {} }, additionalProps);
+ },
+
+ // Helper for using layouts.
+ useLayout: function(name, options) {
+ // Enable variable arity by allowing the first argument to be the options
+ // object and omitting the name argument.
+ if (_.isObject(name)) {
+ options = name;
+ }
+
+ // Ensure options is an object.
+ options = options || {};
+
+ // If a name property was specified use that as the template.
+ if (_.isString(name)) {
+ options.template = name;
+ }
+
+ // Create a new Layout with options.
+ var layout = new Backbone.Layout(_.extend({
+ el: "#main"
+ }, options));
+
+ // Cache the refererence.
+ return this.layout = layout;
+ }
+ }, Backbone.Events);
+
+});
+
+```
+
+Note: JST stands for JavaScript templates and generally refers to templates which have been (or will be) precompiled as part of a build step. When running `bbb release` or `bbb debug`, Underscore/Lo-dash templates will be precompiled to avoid the need to compile them at runtime within the browser.
+
+### Creating Backbone Boilerplate Modules
+
+Not to be confused with simply being just an AMD module, a Backbone Boilerplate `module` is a script composed of a:
+
+* Model
+* Collection
+* Views (optional)
+
+We can easily create a new Boilerplate module using `grunt-bbb` once again using `init`:
+
+```shell
+# Create a new module
+$ bbb init:module
+
+# Grunt prompt
+Please answer the following:
+[?] Module Name foo
+[?] Do you need to make any changes to the above before continuing? (y/N)
+
+Writing app/modules/foo.js...OK
+Writing app/styles/foo.styl...OK
+Writing app/templates/foo.html...OK
+
+Initialized from template "module".
+
+Done, without errors.
+```
+
+This will generate a module `foo.js` as follows:
+
+```javascript
+// Foo module
+define([
+ // Application.
+ "app"
+],
+
+// Map dependencies from above array.
+function(app) {
+
+ // Create a new module.
+ var Foo = app.module();
+
+ // Default Model.
+ Foo.Model = Backbone.Model.extend({
+
+ });
+
+ // Default Collection.
+ Foo.Collection = Backbone.Collection.extend({
+ model: Foo.Model
+ });
+
+ // Default View.
+ Foo.Views.Layout = Backbone.Layout.extend({
+ template: "foo"
+ });
+
+ // Return the module for AMD compliance.
+ return Foo;
+
+});
+```
+
+Notice how boilerplate code for a model, collection and view have been scaffolded out for us.
+
+Optionally, we may also wish to include references to plugins such as the Backbone LocalStorage or Offline adapters. One clean way of including a plugin in the above boilerplate could be:
+
+```javascript
+// Foo module
+define([
+ // Application.
+ "app",
+ // Plugins
+ 'plugins/backbone-localstorage'
+],
+
+// Map dependencies from above array.
+function(app) {
+
+ // Create a new module.
+ var Foo = app.module();
+
+ // Default Model.
+ Foo.Model = Backbone.Model.extend({
+ // Save all of the items under the `"foo"` namespace.
+ localStorage: new Store('foo-backbone'),
+ });
+
+ // Default Collection.
+ Foo.Collection = Backbone.Collection.extend({
+ model: Foo.Model
+ });
+
+ // Default View.
+ Foo.Views.Layout = Backbone.Layout.extend({
+ template: "foo"
+ });
+
+ // Return the module for AMD compliance.
+ return Foo;
+
+});
+```
+
+### router.js
+
+Finally, let's look at our application router which is used for handling navigation. The default router Backbone Boilerplate generates for us includes sane defaults out of the box and can be easily extended.
+
+```javascript
+define([
+ // Application.
+ "app"
+],
+
+function(app) {
+
+ // Defining the application router, you can attach sub routers here.
+ var Router = Backbone.Router.extend({
+ routes: {
+ "": "index"
+ },
+
+ index: function() {
+
+ }
+ });
+
+ return Router;
+
+});
+```
+
+If however we would like to execute some module-specific logic, when the page loads (i.e when a user hits the default route), we can pull in a module as a dependency and optionally use the Backbone LayoutManager to attach Views to our layout as follows:
+
+```javascript
+define([
+ // Application.
+ 'app',
+
+ // Modules
+ 'modules/foo'
+],
+
+function(app, Foo) {
+
+ // Defining the application router, you can attach sub routers here.
+ var Router = Backbone.Router.extend({
+ routes: {
+ '': 'index'
+ },
+
+ index: function() {
+ // Create a new Collection
+ var collection = new Foo.Collection();
+
+ // Use and configure a 'main' layout
+ app.useLayout('main').setViews({
+ // Attach the bar View into the content View
+ '.bar': new Foo.Views.Bar({
+ collection: collection
+ })
+ }).render();
+ }
+ });
+
+ // Fetch data (e.g., from localStorage)
+ collection.fetch();
+
+ return Router;
+
+});
+```
+
+## Other Useful Tools & Projects
+
+When working with Backbone, you usually need to write a number of different classes and files for your application. Scaffolding tools such as Grunt-BBB can help automate this process by generating basic boilerplates for the files you need for you.
+
+### Yeoman
+
+If you appreciated Grunt-BBB but would like to explore a tool for assisting with your broader development workflow, I'm happy to recommend a tool I've been helping with called [Yeoman](http://yeoman.io).
+
+![](img/yeoman.png)
+
+Yeoman is a workflow comprised of a collection of tools and best practices for helping you develop more efficiently. It's comprised of yo (a scaffolding tool), [Grunt](http://gruntjs.com)(a build tool) and [Bower](http://bower.io) (a client-side package manager).
+
+Where Grunt-BBB focuses on offering an opionated start for Backbone projects, Yeoman allows you to scaffold apps using Backbone (or other frameworks), get Backbone plugins directly from the command-line and compile your CoffeeScript, Sass or other abstractions without additional effort.
+
+![](img/bower.png)
+
+You may also be interested in [Brunch](http://brunch.io/), a similar project which uses skeleton boilerplates to generate new applications.
+
+### Backbone DevTools
+
+When building an application with Backbone, there's some additional tooling available for your day-to-day debugging workflow.
+
+Backbone DevTools was created to help with this and is a Chrome DevTools extension allowing you to inspect events, syncs, View-DOM bindings and what objects have been instantiated.
+
+A useful View hierarchy is displayed in the Elements panel. Also, when you inspect a DOM element the closest View will be exposed via $view in the console.
+
+![](img/bbdevtools.jpg)
+
+At the time of writing, the project is currently available on [GitHub](https://github.com/spect88/backbone-devtools).
+
+## Conclusions
+
+In this section we reviewed Backbone Boilerplate and learned how to use the `bbb` tool to help us scaffold out our application.
+
+If you would like to learn more about how this project helps structure your app, BBB includes some built-in boilerplate sample apps that can be easily generated for review.
+
+These include a boilerplate tutorial project (`bbb init:tutorial`) and an implementation of my [TodoMVC](http://todomvc) project (`bbb init:todomvc`). I recommend checking these out as they'll provide you with a more complete picture of how Backbone Boilerplate, its templates, and so on fit into the overall setup for a web app.
+
+For more about Grunt-BBB, remember to take a look at the official project [repository](https://github.com/backbone-boilerplate/grunt-bbb). There is also a related [slide-deck](https://dl.dropbox.com/u/79007/talks/Modern_Web_Applications/slides/index.html) available for those interested in reading more.
+
+
+
+
+
+# Exercise 3: Your First Modular Backbone + RequireJS App
+
+In this chapter, we'll look at our first practical Backbone & RequireJS project - how to build a modular Todo application. Similar to exercise 1, the application will allow us to add new todos, edit new todos and clear todo items that have been marked as completed. For a more advanced practical, see the section on mobile Backbone development.
+
+The complete code for the application can can be found in the `practicals/modular-todo-app` folder of this repo (thanks to Thomas Davis and Jérôme Gravel-Niquet). Alternatively grab a copy of my side-project [TodoMVC](https://github.com/addyosmani/todomvc) which contains the sources to both AMD and non-AMD versions.
+
+### Overview
+
+Writing a modular Backbone application can be a straight-forward process. There are however, some key conceptual differences to be aware of if opting to use AMD as your module format of choice:
+
+* As AMD isn't a standard native to JavaScript or the browser, it's necessary to use a script loader (such as RequireJS or curl.js) in order to support defining components and modules using this module format. As we've already reviewed, there are a number of advantages to using the AMD as well as RequireJS to assist here.
+* Models, views, controllers and routers need to be encapsulated *using* the AMD-format. This allows each component of our Backbone application to cleanly manage dependencies (e.g collections required by a view) in the same way that AMD allows non-Backbone modules to.
+* Non-Backbone components/modules (such as utilities or application helpers) can also be encapsulated using AMD. I encourage you to try developing these modules in such a way that they can both be used and tested independent of your Backbone code as this will increase their ability to be re-used elsewhere.
+
+Now that we've reviewed the basics, let's take a look at developing our application. For reference, the structure of our app is as follows:
+
+```
+index.html
+...js/
+ main.js
+ .../models
+ todo.js
+ .../views
+ app.js
+ todos.js
+ .../collections
+ todos.js
+ .../templates
+ stats.html
+ todos.html
+ ../libs
+ .../backbone
+ .../jquery
+ .../underscore
+ .../require
+ require.js
+ text.js
+...css/
+```
+
+### Markup
+
+The markup for the application is relatively simple and consists of three primary parts: an input section for entering new todo items (`create-todo`), a list section to display existing items (which can also be edited in-place) (`todo-list`) and finally a section summarizing how many items are left to be completed (`todo-stats`).
+
+```
+
+
+
+
+
+
+ Press Enter to save this task
+
+
+
+
+
+
+
+
+
+
+
+```
+
+The rest of the tutorial will now focus on the JavaScript side of the practical.
+
+### Configuration options
+
+If you've read the earlier chapter on AMD, you may have noticed that explicitly needing to define each dependency a Backbone module (view, collection or other module) may require with it can get a little tedious. This can however be improved.
+
+In order to simplify referencing common paths the modules in our application may use, we use a RequireJS [configuration object](http://requirejs.org/docs/api.html#config), which is typically defined as a top-level script file. Configuration objects have a number of useful capabilities, the most useful being mode name-mapping. Name-maps are basically a key:value pair, where the key defines the alias you wish to use for a path and the value represents the true location of the path.
+
+In the code-sample below, you can see some typical examples of common name-maps which include: `backbone`, `underscore`, `jquery` and depending on your choice, the RequireJS `text` plugin, which assists with loading text assets like templates.
+
+**main.js**
+
+```javascript
+require.config({
+ baseUrl:'../',
+ paths: {
+ jquery: 'libs/jquery/jquery-min',
+ underscore: 'libs/underscore/underscore-min',
+ backbone: 'libs/backbone/backbone-optamd3-min',
+ text: 'libs/require/text'
+ }
+});
+
+require(['views/app'], function(AppView){
+ var app_view = new AppView;
+});
+```
+
+The `require()` at the end of our main.js file is simply there so we can load and instantiate the primary view for our application (`views/app.js`). You'll commonly see both this and the configuration object included in most top-level script files for a project.
+
+In addition to offering name-mapping, the configuration object can be used to define additional properties such as `waitSeconds` - the number of seconds to wait before script loading times out and `locale`, should you wish to load up i18n bundles for custom languages. The `baseUrl` is simply the path to use for module lookups.
+
+For more information on configuration objects, please feel free to check out the excellent guide to them in the [RequireJS docs](http://requirejs.org/docs/api.html#config).
+
+
+### Modularizing our models, views and collections
+
+Before we dive into AMD-wrapped versions of our Backbone components, let's review a sample of a non-AMD view. The following view listens for changes to its model (a Todo item) and re-renders if a user edits the value of the item.
+
+```javascript
+var TodoView = Backbone.View.extend({
+
+ //... is a list tag.
+ tagName: 'li',
+
+ // Cache the template function for a single item.
+ template: _.template($('#item-template').html()),
+
+ // The DOM events specific to an item.
+ events: {
+ 'click .check' : 'toggleDone',
+ 'dblclick div.todo-content' : 'edit',
+ 'click span.todo-destroy' : 'clear',
+ 'keypress .todo-input' : 'updateOnEnter'
+ },
+
+ // The TodoView listens for changes to its model, re-rendering. Since there's
+ // a one-to-one correspondence between a **Todo** and a **TodoView** in this
+ // app, we set a direct reference on the model for convenience.
+ initialize: function() {
+ this.model.on('change', this.render, this);
+ this.model.view = this;
+ },
+ ...
+```
+
+Note how for templating the common practice of referencing a script by an ID (or other selector) and obtaining its value is used. This of course requires that the template being accessed is implicitly defined in our markup. The following is the 'embedded' version of our template being referenced above:
+
+```
+
+```
+
+Whilst there is nothing wrong with the template itself, once we begin to develop larger applications requiring multiple templates, including them all in our markup on page-load can quickly become both unmanageable and come with performance costs. We'll look at solving this problem in a minute.
+
+Let's now take a look at the AMD-version of our view. As discussed earlier, the 'module' is wrapped using AMD's `define()` which allows us to specify the dependencies our view requires. Using the mapped paths to 'jquery' etc. simplifies referencing common dependencies and instances of dependencies are themselves mapped to local variables that we can access (e.g 'jquery' is mapped to `$`).
+
+**views/todo.js**
+
+```javascript
+define([
+ 'jquery',
+ 'underscore',
+ 'backbone',
+ 'text!templates/todos.html'
+ ], function($, _, Backbone, todosTemplate){
+ var TodoView = Backbone.View.extend({
+
+ //... is a list tag.
+ tagName: 'li',
+
+ // Cache the template function for a single item.
+ template: _.template(todosTemplate),
+
+ // The DOM events specific to an item.
+ events: {
+ 'click .check' : 'toggleDone',
+ 'dblclick div.todo-content' : 'edit',
+ 'click span.todo-destroy' : 'clear',
+ 'keypress .todo-input' : 'updateOnEnter'
+ },
+
+ // The TodoView listens for changes to its model, re-rendering. Since there's
+ // a one-to-one correspondence between a **Todo** and a **TodoView** in this
+ // app, we set a direct reference on the model for convenience.
+ initialize: function() {
+ this.model.on('change', this.render, this);
+ this.model.view = this;
+ },
+
+ // Re-render the contents of the todo item.
+ render: function() {
+ this.$el.html(this.template(this.model.toJSON()));
+ this.setContent();
+ return this;
+ },
+
+ // Use `jQuery.text` to set the contents of the todo item.
+ setContent: function() {
+ var content = this.model.get('content');
+ this.$('.todo-content').text(content);
+ this.input = this.$('.todo-input');
+ this.input.on('blur', this.close);
+ this.input.val(content);
+ },
+ ...
+```
+
+ From a maintenance perspective, there's nothing logically different in this version of our view, except for how we approach templating.
+
+Using the RequireJS text plugin (the dependency marked `text`), we can actually store all of the contents for the template we looked at earlier in an external file (todos.html).
+
+**templates/todos.html**
+
+```html
+
+
+ />
+
+
+
+
+
+
+
+```
+
+There's no longer a need to be concerned with IDs for the template as we can map its contents to a local variable (in this case `todosTemplate`). We then simply pass this to the Underscore.js templating function `_.template()` the same way we normally would have the value of our template script.
+
+Next, let's look at how to define models as dependencies which can be pulled into collections. Here's an AMD-compatible model module, which has two default values: a `content` attribute for the content of a Todo item and a boolean `done` state, allowing us to trigger whether the item has been completed or not.
+
+**models/todo.js**
+
+```javascript
+define(['underscore', 'backbone'], function(_, Backbone) {
+ var TodoModel = Backbone.Model.extend({
+
+ // Default attributes for the todo.
+ defaults: {
+ // Ensure that each todo created has `content`.
+ content: 'empty todo...',
+ done: false
+ },
+
+ initialize: function() {
+ },
+
+ // Toggle the `done` state of this todo item.
+ toggle: function() {
+ this.save({done: !this.get('done')});
+ },
+
+ // Remove this Todo from *localStorage* and delete its view.
+ clear: function() {
+ this.destroy();
+ this.view.remove();
+ }
+
+ });
+ return TodoModel;
+});
+```
+
+As per other types of dependencies, we can easily map our model module to a local variable (in this case `Todo`) so it can be referenced as the model to use for our `TodosCollection`. This collection also supports a simple `done()` filter for narrowing down Todo items that have been completed and a `remaining()` filter for those that are still outstanding.
+
+**collections/todos.js**
+
+```javascript
+define([
+ 'underscore',
+ 'backbone',
+ 'libs/backbone/localstorage',
+ 'models/todo'
+ ], function(_, Backbone, Store, Todo){
+
+ var TodosCollection = Backbone.Collection.extend({
+
+ // Reference to this collection's model.
+ model: Todo,
+
+ // Save all of the todo items under the `todos` namespace.
+ localStorage: new Store('todos'),
+
+ // Filter down the list of all todo items that are finished.
+ done: function() {
+ return this.filter(function(todo){ return todo.get('done'); });
+ },
+
+ // Filter down the list to only todo items that are still not finished.
+ remaining: function() {
+ return this.without.apply(this, this.done());
+ },
+ ...
+```
+
+In addition to allowing users to add new Todo items from views (which we then insert as models in a collection), we ideally also want to be able to display how many items have been completed and how many are remaining. We've already defined filters that can provide us this information in the above collection, so let's use them in our main application view.
+
+**views/app.js**
+
+```javascript
+define([
+ 'jquery',
+ 'underscore',
+ 'backbone',
+ 'collections/todos',
+ 'views/todo',
+ 'text!templates/stats.html'
+ ], function($, _, Backbone, Todos, TodoView, statsTemplate){
+
+ var AppView = Backbone.View.extend({
+
+ // Instead of generating a new element, bind to the existing skeleton of
+ // the App already present in the HTML.
+ el: $('#todoapp'),
+
+ // Our template for the line of statistics at the bottom of the app.
+ statsTemplate: _.template(statsTemplate),
+
+ // ...events, initialize() etc. can be seen in the complete file
+
+ // Re-rendering the App just means refreshing the statistics -- the rest
+ // of the app doesn't change.
+ render: function() {
+ var done = Todos.done().length;
+ this.$('#todo-stats').html(this.statsTemplate({
+ total: Todos.length,
+ done: Todos.done().length,
+ remaining: Todos.remaining().length
+ }));
+ },
+ ...
+```
+
+Above, we map the second template for this project, `templates/stats.html` to `statsTemplate` which is used for rendering the overall `done` and `remaining` states. This works by simply passing our template the length of our overall Todos collection (`Todos.length` - the number of Todo items created so far) and similarly the length (counts) for items that have been completed (`Todos.done().length`) or are remaining (`Todos.remaining().length`).
+
+The contents of our `statsTemplate` can be seen below. It's nothing too complicated, but does use ternary conditions to evaluate whether we should state there's "1 item" or "2 items" in a particular state.
+
+```
+<% if (total) { %>
+
+ <%= remaining %>
+ <%= remaining == 1 ? 'item' : 'items' %> left.
+
+ <% } %>
+ <% if (done) { %>
+
+
+ Clear <%= done %>
+ completed <%= done == 1 ? 'item' : 'items' %>
+
+
+ <% } %>
+```
+
+
+
+The rest of the source for the Todo app mainly consists of code for handling user and application events, but that rounds up most of the core concepts for this practical.
+
+To see how everything ties together, feel free to grab the source by cloning this repo or browse it [online](https://github.com/addyosmani/backbone-fundamentals/tree/master/practicals/modular-todo-app) to learn more. I hope you find it helpful!
+
+**Note:** While this first practical doesn't use a build profile as outlined in the chapter on using the RequireJS optimizer, we will be using one in the section on building mobile Backbone applications.
+
+## Route-based module loading
+
+This section will discuss a route based approach to module loading as implemented in [Lumbar](http://walmartlabs.github.com/lumbar) by Kevin Decker. Like RequireJS, Lumbar is also a modular build system, but the pattern it implements for loading routes may be used with any build system.
+
+The specifics of the Lumbar build tool are not discussed in this book. To see a complete Lumbar based project with the loader and build system see [Thorax](http://thoraxjs.org) which provides boilerplate projects for various environments including Lumbar.
+
+### JSON-based module configuration
+
+RequireJS defines dependencies per file, while Lumbar defines a list of files for each module in a central JSON configuration file, outputting a single JavaScript file for each defined module. Lumbar requires that each module (except the base module) define a single router and a list of routes. An example file might look like:
+
+ {
+ "modules": {
+ "base": {
+ "scripts": [
+ "js/lib/underscore.js",
+ "js/lib/backbone.js",
+ "etc"
+ ]
+ },
+ "pages": {
+ "scripts": [
+ "js/routers/pages.js",
+ "js/views/pages/index.js",
+ "etc"
+ ],
+ "routes": {
+ "": "index",
+ "contact": "contact"
+ }
+ }
+ }
+ }
+
+Every JavaScript file defined in a module will have a `module` object in scope which contains the `name` and `routes` for the module. In `js/routers/pages.js` we could define a Backbone router for our `pages` module like so:
+
+ new (Backbone.Router.extend({
+ routes: module.routes,
+ index: function() {},
+ contact: function() {}
+ }));
+
+### Module loader Router
+
+A little used feature of `Backbone.Router` is its ability to create multiple routers that listen to the same set of routes. Lumbar uses this feature to create a router that listens to all routes in the application. When a route is matched, this master router checks to see if the needed module is loaded. If the module is already loaded, then the master router takes no action and the router defined by the module will handle the route. If the needed module has not yet been loaded, it will be loaded, then `Backbone.history.loadUrl` will be called. This reloads the route, causes the master router to take no further action and the router defined in the freshly loaded module to respond.
+
+A sample implementation is provided below. The `config` object would need to contain the data from our sample configuration JSON file above, and the `loader` object would need to implement `isLoaded` and `loadModule` methods. Note that Lumbar provides all of these implementations, the examples are provided to create your own implementation.
+
+ // Create an object that will be used as the prototype
+ // for our master router
+ var handlers = {
+ routes: {}
+ };
+
+ _.each(config.modules, function(module, moduleName) {
+ if (module.routes) {
+ // Generate a loading callback for the module
+ var callbackName = "loader_" moduleName;
+ handlers[callbackName] = function() {
+ if (loader.isLoaded(moduleName)) {
+ // Do nothing if the module is loaded
+ return;
+ } else {
+ //the module needs to be loaded
+ loader.loadModule(moduleName, function() {
+ // Module is loaded, reloading the route
+ // will trigger callback in the module's
+ // router
+ Backbone.history.loadUrl();
+ });
+ }
+ };
+ // Each route in the module should trigger the
+ // loading callback
+ _.each(module.routes, function(methodName, route) {
+ handlers.routes[route] = callbackName;
+ });
+ }
+ });
+
+ // Create the master router
+ new (Backbone.Router.extend(handlers));
+
+### Using NodeJS to handle pushState
+
+`window.history.pushState` support (serving Backbone routes without a hash mark) requires that the server be aware of what URLs your Backbone application will handle, since the user should be able to enter the app at any of those routes (or hit reload after navigating to a pushState URL).
+
+Another advantage to defining all routes in a single location is that the same JSON configuration file provided above could be loaded by the server, listening to each route. A sample implementation in NodeJS and Express:
+
+ var fs = require('fs'),
+ _ = require('underscore'),
+ express = require('express'),
+ server = express(),
+ config = JSON.parse(fs.readFileSync('path/to/config.json'));
+
+ _.each(config.modules, function(module, moduleName) {
+ if (module.routes) {
+ _.each(module.routes, function(methodName, route) {
+ server.get(route, function(req, res) {
+ res.sendFile('public/index.html');
+ });
+ });
+ }
+ });
+
+This assumes that index.html will be serving out your Backbone application. The `Backbone.History` object can handle the rest of the routing logic as long as a `root` option is specified. A sample configuration for a simple application that lives at the root might look like:
+
+ Backbone.history || (Backbone.history = new Backbone.History());
+ Backbone.history.start({
+ pushState: true,
+ root: '/'
+ });
+
+
+## An asset package alternative for dependency management
+
+For more than trivial views, DocumentCloud have a home-built asset packager called [Jammit](https://github.com/documentcloud/jammit), which has easy integration with Underscore.js templates and can also be used for dependency management.
+
+Jammit expects your JavaScript templates (JST) to live alongside any ERB templates you're using in the form of .jst files. It packages the templates into a global JST object which can be used to render templates into strings. Making Jammit aware of your templates is straight-forward - just add an entry for something like `views/**/*.jst` to your app package in assets.yml.
+
+To provide Jammit dependencies you simply write out an assets.yml file that either listed the dependencies in order or used a combination of free capture directories (for example: /**/*.js, templates/*.js, and specific files).
+
+A template using Jammit can derive it's data from the collection object that is passed to it:
+
+```
+this.$el.html(JST.myTemplate({ collection: this.collection }));
+```
+
+# Backbone & jQuery Mobile
+
+### Mobile app development with jQuery Mobile
+
+The mobile web is huge and it is continuing to grow at an impressive rate. Along with the massive growth of the mobile internet comes a striking diversity of devices and browsers. As a result, making your applications cross-platform and mobile-ready is both important and challenging.
+Creating native apps is expensive.
+It is very costly in terms of time and it usually requires varied experiences in programming languages like Objective C , C#, Java and JavaScript to support multiple runtime environments.
+
+HTML, CSS, and JavaScript enable you to build a single application targeting a common runtime environment: the browser. This approach supports a broad range of mobile devices such as tablets, smartphones, and notebooks along with traditional PCs.
+
+The challenging task is not only to adapt contents like text and pictures properly to various screen resolutions but also to have same user experience across native apps under different operating systems.
+Like jQueryUI, jQuery Mobile is a user interface framework based on jQuery that works across all popular phone, tablet, e-Reader, and desktop platforms. It is built with accessibility and universal access in mind.
+
+
+The main idea of the framework is to enable anyone to create a mobile app using only HTML. Knowledge of a programming language is not required and there is no need to write complex, device specific CSS. For this reason jQMobile follows two main principles we first need to understand in order to integrate the framework to Backbone: *progressive enhancement* and *responsive web design*.
+
+
+#### The Principle of progressive widget enhancement by jQMobile
+
+JQuery Mobile follows progressive enhancement and responsive web design principles using HTML-5 markup-driven definitions and configurations.
+
+A page in jQuery Mobile consists of an element with a `data-role="page"` attribute.
+Within the `page` container, any valid HTML markup can be used, but for typical pages in jQM, the immediate children are divs with `data-role="header"`, `data-role="content"`, and `data-role="footer"`.
+The baseline requirement for a page is only a page wrapper to support the navigation system, the rest is optional.
+
+An initial HTML page looks like this:
+
+```html
+
+
+
+ Page Title
+
+
+
+
+
+
+
+
+
+
+
+
Page Title
+
+
+
Page content goes here.
+
+
+
+
Page Footer
+
+
+
+
+```
+
+*Example HTML setup of a basic jQuery Mobile page*
+
+JQuery Mobile will transform the written HTML definition to the rendered HTML and CSS using its Progressive Widget Enhancement API. It also executes JavaScript which is conditioned by configurations, attribute properties, and runtime specific settings.
+
+This implies: Whenever HTML content is added or changed, it needs to be handled by the progressive widget enhancement of jQuery Mobile.
+
+![](img/chapter10-1-1-1.png)
+
+*Comparison of the user interface of the default HTML to the jQuery Mobile enhanced version*
+
+#### Understanding jQuery Mobile Navigation
+
+The jQuery Mobile navigation system controls its application's lifecycle by automatically "hijacking" standard links and form submissions and turning them into AJAX requests. Whenever a link is clicked or a form is submitted, that event is automatically intercepted and used to issue an AJAX request based on the href or form action instead of reloading the page.
+
+When the page document is requested, jQuery Mobile searches the document for all elements with the `data-role="page"` attribute, parses its contents, and inserts that code into the DOM of the original page.
+Once the new page is prepared, jQuery Mobile's JavaScript triggers a transition that shows the new page and hides the HTML of the previous page in the DOM.
+
+Next, any widgets in the incoming page are enhanced to apply all the styles and behavior. The rest of the incoming page is discarded so any scripts, stylesheets, or other information will not be included.
+
+Via the *multi-page templating feature*, you can add as many pages as you want to the same HTML file within the body tag by defining divs with `data-role="page"` or `data-role="dialog"` attributes along with an `id` which can be used in links (preceded by a hashbang):
+
+
+```html
+
+ ...
+
+ ...
+
+
+
+```
+
+*jQuery Mobile multi-page templating example*
+
+To, for example, navigate to *secondpage* and have it appear in a modal dialog using a fade-transition, you would just add the `data-rel="dialog"`, `data-transition="fade"`, and `href="index.html#secondpage"` attributes to an anchor tag.
+
+Roughly speaking, having its own event cycle, jQuery Mobile is a tiny MVC framework which includes features like
+progressive widget enhancement, pre-fetching, caching, and multi-page templating by HTML configurations innately. In general, a Backbone.js developer does not need to know about its internal event workflow, but will need to know how to apply HTML-based configurations which will take action within the event phase. The *Intercepting jQuery Mobile Events* section goes into detail regarding how to handle special scenarios when fine-grained JavaScript adaptions need to be applied.
+
+For further introduction and explanations about jQuery Mobile visit:
+
+* [http://view.jquerymobile.com/1.3.0/docs/intro/](http://view.jquerymobile.com/1.3.0/docs/intro/)
+* [http://view.jquerymobile.com/1.3.0/docs/widgets/pages/](http://view.jquerymobile.com/1.3.0/docs/widgets/pages/)
+* [http://view.jquerymobile.com/1.3.0/docs/intro/rwd.php](http://view.jquerymobile.com/1.3.0/docs/intro/rwd.php)
+
+### Basic Backbone app setup for jQuery Mobile
+
+The first major hurdle developers typically run into when building applications with jQuery Mobile and an MV* framework is that both frameworks want to handle application navigation.
+
+To combine Backbone and jQuery Mobile, we first need to disable jQuery Mobile's navigation system and progressive enhancement. The second step will then be to make use of jQM's custom API to apply configurations and enhance components during Backbone's application lifecycle instead.
+
+The mobile app example presented here is based on the existing codebase of the TodoMVC Backbone-Require.js example, which was discussed in an earlier chapter, and is enhanced to support jQuery Mobile.
+
+![](img/chapter10-1-1.png)
+
+*Screenshot of the TodoMVC app with jQuery Mobile*
+
+This implementation makes use of Grunt-BBB as well as Handlebars.js. Additional utilities useful for mobile applications will be provided, which can be easily combined and extended.
+(see the *Backbone Boilerplate & Grunt-BBB* and *Backbone Extensions* chapters)
+
+![](img/chapter10-1-2.png)
+
+*Workspace of the TodoMVC app with jQueryMobile and Backbone*
+
+The order of the files loaded by Require.js is as follows:
+
+1. jQuery
+2. Underscore/Lodash
+3. handlebars.compiled
+4. TodoRouter (instantiates specific views)
+5. jQueryMobile
+6. JqueryMobileCustomInitConfig
+7. Instantiation of the Backbone Router
+
+By opening the console in the project directory and then running the Grunt-Backbone command `grunt handlebars` or `grunt watch` in the console, it will combine and compile all template files to `dist/debug/handlebars_packaged`. To start the application, run `grunt server`.
+
+Files instantiated, when redirected from the Backbone-Router are:
+
+a) *BasicView.js* and *basic_page_simple.template*
+
+ The BasicView is responsible for the Handlebars multipage-template processing. Its implementation of `render` calls the jQuery Mobile API `$.mobile.changePage` to handle page navigation and progressive widget enhancement.
+
+b) Concrete view with its template partial
+
+ E.g., `EditTodoPage.js` and `editTodoView.template_partial`
+
+
+The head section of `index.html` needs to load the `jquerymobile.css` as well as the `base.css`,
+which is used by all Todo-MVC apps, and the `index.css` for some project-specific custom CSS.
+
+```html
+
+
+
+
+
+
+ TodoMVC Jquery Mobile
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+*index.html*
+
+### Workflow with Backbone and jQueryMobile
+
+By delegating the routing and navigation functions of the jQuery Mobile Framework to Backbone, we can profit from its clear separation of application structure to later on easily share application logic between a desktop webpage, tablets, and mobile apps.
+
+We now need to contend with the different ways in which Backbone and jQuery Mobile handle requests. `Backbone.Router` offers an explicit way to define custom navigation routes, while jQuery Mobile uses URL hash fragments to reference separate pages or views in the same document.
+
+Some of the ideas that have been previously proposed to work-around this problem included manually patching Backbone and jQuery Mobile. The solution demonstrated below will not only simplify the handling of the jQuery Mobile component initialization event-cycle, but also enables use of existing Backbone Router handlers.
+
+To adapt the navigation control from jQuery Mobile to Backbone, we first need to apply some specific settings to the `mobileinit` event which occurs after the framework has loaded in order to let the Backbone Router decide which page to load.
+
+A configuration which will get jQM to delegate navigation to Backbone and which will also enable manual widget creation triggering is given below:
+
+```javascript
+$(document).bind("mobileinit", function(){
+
+// Disable jQM routing and component creation events
+ // disable hash-routing
+ $.mobile.hashListeningEnabled = false;
+ // disable anchor-control
+ $.mobile.linkBindingEnabled = false;
+ // can cause calling object creation twice and back button issues are solved
+ $.mobile.ajaxEnabled = false;
+ // Otherwise after mobileinit, it tries to load a landing page
+ $.mobile.autoInitializePage = false;
+ // we want to handle caching and cleaning the DOM ourselves
+ $.mobile.page.prototype.options.domCache = false;
+
+// consider due to compatibility issues
+ // not supported by all browsers
+ $.mobile.pushStateEnabled = false;
+ // Solves phonegap issues with the back-button
+ $.mobile.phonegapNavigationEnabled = true;
+ //no native datepicker will conflict with the jQM component
+ $.mobile.page.prototype.options.degradeInputs.date = true;
+});
+```
+
+*jquerymobile.config.js*
+
+The behaviour and usage of the new workflow will be explained belowe, grouped by its functionalities:
+
+a) Routing to a concrete View-page
+
+b) Management of mobile page templates
+
+c) DOM management
+
+d) $.mobile.changePage
+
+
+In the following discussion, the steps 1-11 in the text refer to the new workflow diagram of the mobile application below.
+
+![](img/chapter10-2-1.png)
+
+*Workflow of TodoMVC, with Backbone and jQueryMobile*
+
+####Routing to a concrete View page, Inheriting from BasicView
+
+When the hash URL changes, e.g., a link is clicked, the configuration above prevents jQM from triggering its events. Instead, the Backbone Router listens to the hash changes and decides which view to request.
+
+Experience has shown that, for mobile pages, it is a good practice to create basic prototypes for jQM components such as basic pages, popups, and dialogs, as well as for using the jQuery Validation Plugin. This makes it much easier to exchange device-specific view logic at runtime and adopt general strategies. This will also help to add syntax and to support multi-chaining of prototype inheritance with JavaScript and Backbone.
+
+By creating a `BasicView` superclass, we enable all inheriting view-pages to share a common way of handling jQM along with common usage of a template engine and specific view handling.
+
+When building with Grunt/Yeoman, the semantic templates are compiled by Handlebar.js and the AMDs template files are combined into a single file. By merging all page definitions into a single-file-app, it becomes offline capable, which is important for mobile app.
+
+
+#### Management of Mobile Page Templates
+
+Within a concrete View page, you can override properties for static values and functions to return dynamic values of the super class `BasicView`. These values will be processed later by the BasicView to construct the HTML of a jQuery Mobile page with the help of Handlebars.
+
+Additional dynamic template parameters, e.g., Backbone model information, will be taken from the specific View and merged with the ones from the BasicView.
+
+A concrete View might look like:
+
+```javascript
+define([
+ "backbone", "modules/view/abstract/BasicView"],
+ function (Backbone, BasicView) {
+ return BasicView.extend({
+ id : "editTodoView",
+ getHeaderTitle : function () {
+ return "Edit Todo";
+ },
+ getSpecificTemplateValues : function () {
+ return this.model.toJSON();
+ },
+ events : function () {
+ // merged events of BasicView, to add an older fix for back button functionality
+ return _.extend({
+ 'click #saveDescription' : 'saveDescription'
+ }, this.constructor.__super__.events);
+ },
+ saveDescription : function (clickEvent) {
+ this.model.save({
+ title : $("#todoDescription", this.el).val()
+ });
+ return true;
+ }
+ });
+ });
+```
+
+*A concrete View (EditTodoPage.js)*
+
+
+By default, the BasicView uses `basic_page_simple.template` as the Handlebars template. If you need to use a custom template or want to introduce a new Super abstract View with an alternate template, override the `getTemplateID` function:
+
+```javascript
+getTemplateID : function(){
+ return "custom_page_template";
+}
+```
+
+By convention, the `id` attribute will be taken as the id of the jQM page as well as the filename of the corresponding template file to be inserted as a partial in the `basic_page_simple` template. In the case of the `EditTodoPage` view, the name of the file will be `editTodoPage.template_partial`.
+
+Every concrete page is meant to be a partial, which will be inserted in the `data-role="content"` element,
+where the parameter `templatePartialPageID` is located.
+
+Later on, the result of the `getHeaderTitle` function from `EditTodoPage` will replace the *headerTitle* in the abstract template.
+
+
+```javascript
+
+```
+
+*basic_page_simple.template*
+
+
+*Note: The `whatis` Handlebars View helper does simple logging of parameters.*
+
+
+All the additional parameters being returned by `getSpecificTemplateValues` will be inserted into the concrete template `editTodoPage.template_partial`.
+
+Because `footerContent` is expected to be used rarely, its content is returned by `getSpecificTemplateValues`.
+
+In the case of the EditTodoPage view, all the model information is being returned and `title` is used in the concrete partial page:
+
+
+```html
+
+
+
+
+ Save
+```
+
+*editTodoView.template_partial*
+
+
+When `render` is triggered, the `basic_page_simple.template` and `editTodoView.template_partial` templates will be loaded and the parameters from `EditTodoPage` and `BasicView` will be combined and generated by Handlebars to generate:
+
+```html
+
+```
+
+*Final HTML definition resulting from basic_page_simple_template and editTodoView.template_partial*
+
+The next section explains how the template parameters are collected by the `BasicView` and the HTML definition is loaded.
+
+
+#### DOM management and $.mobile.changePage
+
+When `render` is executed (line 29 is the source code listing below), `BasicView` first cleans up the DOM by removing the previous page (line 70). To delete the elements from the DOM, `$.remove` cannot be used, but `$previousEl.detach()` can be since `detach` does not remove the element's attached events and data.
+
+This is important, because jQuery Mobile still needs information (e.g., to trigger transition effects when switching to another page). Keep in mind that the DOM data and events should be cleared later on as well to avoid possible performance issues.
+
+Other strategies than the one used in the function `cleanupPossiblePageDuplicationInDOM` to cleanup the DOM are viable. To only remove the old page having the same id as the current from the DOM, when it was already requested before, would also be a working strategy of preventing DOM duplication. Depending on what fits best to your application needs, it is also possibly a one-banana problem to exchange it using a caching mechanism.
+
+Next, `BasicView` collects all template parameters from the concrete View implementation and inserts the HTML of the requested page into the body. This is done in steps 4, 5, 6, and 7 in the diagram above (between lines 23 and 51 in the source listing).
+
+Additionally, the `data-role` will be set on the jQuery Mobile page. Commonly used attribute values are
+page, dialog, or popup.
+
+As you can see, (starting at line 74), the `goBackInHistory` function contains a manual implementation to handle the back button's action. In certain scenarios, the back button navigation functionality of jQuery Mobile was not working with older versions and disabled jQMobile's navigation sytem.
+
+
+```javascript
+ 1 define([
+ 2 "lodash",
+ 3 "backbone",
+ 4 "handlebars",
+ 5 "handlebars_helpers"
+ 6 ],
+ 7
+ 8 function (_, Backbone, Handlebars) {
+ 9 var BasicView = Backbone.View.extend({
+10 initialize: function () {
+11 _.bindAll();
+12 this.render();
+13 },
+14 events: {
+15 "click #backButton": "goBackInHistory"
+16 },
+17 role: "page",
+18 attributes: function () {
+19 return {
+20 "data-role": this.role
+21 };
+22 },
+23 getHeaderTitle: function () {
+24 return this.getSpecificTemplateValues().headerTitle;
+25 },
+26 getTemplateID: function () {
+27 return "basic_page_simple";
+28 },
+29 render: function () {
+30 this.cleanupPossiblePageDuplicationInDOM();
+31 $(this.el).html(this.getBasicPageTemplateResult());
+32 this.addPageToDOMAndRenderJQM();
+33 this.enhanceJQMComponentsAPI();
+34 },
+35 // Generate HTML using the Handlebars templates
+36 getTemplateResult: function (templateDefinitionID, templateValues) {
+37 return window.JST[templateDefinitionID](templateValues);
+38 },
+39 // Collect all template paramters and merge them
+40 getBasicPageTemplateResult: function () {
+41 var templateValues = {
+42 templatePartialPageID: this.id,
+43 headerTitle: this.getHeaderTitle()
+44 };
+45 var specific = this.getSpecificTemplateValues();
+46 $.extend(templateValues, this.getSpecificTemplateValues());
+47 return this.getTemplateResult(this.getTemplateID(), templateValues);
+48 },
+49 getRequestedPageTemplateResult: function () {
+50 this.getBasicPageTemplateResult();
+51 },
+52 enhanceJQMComponentsAPI: function () {
+53 // changePage
+54 $.mobile.changePage("#" + this.id, {
+55 changeHash: false,
+56 role: this.role
+57 });
+58 },
+59 // Add page to DOM
+60 addPageToDOMAndRenderJQM: function () {
+61 $("body").append($(this.el));
+62 $("#" + this.id).page();
+63 },
+64 // Cleanup DOM strategy
+65 cleanupPossiblePageDuplicationInDOM: function () {
+66 // Can also be moved to the event "pagehide": or "onPageHide"
+67 var $previousEl = $("#" + this.id);
+68 var alreadyInDom = $previousEl.length >= 0;
+69 if (alreadyInDom) {
+70 $previousEl.detach();
+71 }
+72 },
+73 // Strategy to always support back button with disabled navigation
+74 goBackInHistory: function (clickEvent) {
+75 history.go(-1);
+76 return false;
+77 }
+78 });
+79
+80 return BasicView;
+81 });
+```
+
+*BasicView.js*
+
+After the dynamic HTML is added to the DOM, `$.mobile.changePage` has to be applied at step 8 (code line 54).
+
+This is the most important API call, because it triggers the jQuery Mobile component creation for the current page.
+
+Next, the page will be displayed to the user at step 9.
+
+
+```javascript
+
+
+ Save
+
+
+```
+
+![](img/chapter10-2-2.png)
+
+*Look and feel of the written HTML code and the jQuery Mobile enhanced Todo description page*
+
+UI enhancement is done in the `enhanceJQMComponentsAPI` function in line 52:
+
+```javascript
+$.mobile.changePage("#" + this.id, {
+ changeHash: false,
+ role: this.role
+ });
+```
+
+To retain control of hash routing, `changeHash` has to be set to false and the proper `role` parameter provided to guarantee proper page appearance. Finally, `changePage` will show the new page with its defined transition to the user.
+
+For the basic use cases, it is advised to have one View per page, and always render the complete page again by calling `$.mobile.changePage` when widget enhancement needs to be done.
+
+To progress component enrichment of a newly added HTML-fragment into the DOM, advanced techniques need to be applied to guarantee correct appearance of the mobile components. You need to be very careful when creating partial HTML code and updating values on UI elements. The next section will explain how to handle these situations.
+
+
+### Applying advanced jQM techniques to Backbone
+
+#### Dynamic DOM Scripting
+
+The solution described above solves the issues of handling routing with Backbone by calling `$.mobile.changePage('pageID')`. Additionally, it guarantees that the HTML page will be completely enhanced by the markup for jQuery Mobile.
+
+The second tricky part with jQuery Mobile is to dynamically manipulate specific DOM contents (e.g. after loading in content with Ajax). We suggest you use this technique only if there is evidence for an appreciable performance gain.
+
+With the current version (1.3), jQM provides three ways, documented and explained below in the official API, on forums, and blogs.
+
+* **$(“pageId”).trigger(“pagecreate”)**
+
+ *Creates markup of header, content as well as footer*
+
+* **$(“anyElement”).trigger(“create”)**
+
+ *Creates markup of the element as well as all children*
+
+* **$(“myListElement”).listview(“refresh”)**
+* **$('[type="radio"]').checkboxradio()**
+* **$('[type="text"]').textinput()**
+* **$('[type="button"]').button()**
+* **$('[data-role="navbar"]').navbar()**
+* **$('[type="range"]').slider()**
+* **$('select').selectmenu()**
+
+ *Every component of jQM offers plugins methods they can invoke to update the state of specific UI elements.*
+
+
+Sometimes, when creating a component from scratch, the following error can occur: 'cannot call methods on listview prior to initialization'. This can be avoided, with component initialization prior to markup enhancement, by calling it in the following way:
+
+```javascript
+ $('#mylist').listview().listview('refresh')
+```
+
+To see more details and enhancements for further scripting pages of JQM read their API and follow the release notes frequently.
+
+* [jQuery Mobile: Page Scripting](http://jquerymobile.com/test/docs/pages/page-scripting.html)
+* [jQuery Mobile: Document Ready vs. Page Events](http://stackoverflow.com/questions/14468659/jquery-mobile-document-ready-vs-page-events/ )
+* [StackOverflow: Markup Enhancement of Dynamically Added Content](http://stackoverflow.com/questions/14550396/jquery-mobile-markup-enhancement-of-dynamically-added-content)
+
+
+If you consider using a `Model-Binding Plugin`, you will need to come up with an automated mechanism to enrich single components.
+
+After having a look at the previous section about Dynamic DOM Scripting, it might not be acceptable to completely re-create a component (e.g a Listview) which takes a longer time to load and to reduce the complexity of event-delegation. Instead, the component-specific plugins, which will only update the needed parts of the HTML and CSS, should be used.
+
+In the case of a Listview, you would need to call the following function to update the list of added, edited, or removed entries:
+
+```javascript
+$('#mylist').listview()
+```
+
+You need to come up with a means of detecting the component type to in order to decide which plugin method needs to be called. The jQuery Mobile Angular.js Adapter provides such a strategy and solution as well.
+
+[Example of Model Binding with jQuery Mobile](https://github.com/tigbro/jquery-mobile-angular-adapter/blob/master/src/main/webapp/integration/jqmWidgetPatches.js)
+
+
+#### Intercepting jQuery Mobile Events
+
+In special situations you will need to take action on a triggered jQuery Mobile event, which can be done as follows:
+
+```javascript
+$('#myPage').live('pagebeforecreate', function(event){
+ console.log(page was inserted into the DOM');
+ //run your own enhancement scripting here...
+ // prevent the page plugin from making its manipulations
+ return false;
+});
+
+$('#myPage').live('pagecreate', function(event){
+ console.log(‘page was enhanced by jQM');
+});
+```
+
+In such scenarios, it is important to know when the jQuery Mobile events occur. The following diagram depicts the event cycle (page A is the outgoing page and page B is the incoming page).
+
+
+![](img/chapter10-3-1.png)
+
+*jQuery Mobile Event Cycle*
+
+An alternative is the jQuery Mobile Router project, which you might use to replace the Backbone Router. With the help of the jQM Router project, you could achieve a powerful way to intercept and route one of the various jQM events. It is an extension to jQuery Mobile, which can be used independently.
+
+Be aware that jQM-Router misses some features of Backbone.Router and is tightly coupled with the jQuery Mobile framework. For these reasons, we did not use it for the TodoMVC app. If you intend to use it, consider using a Backbone.js custom build to exclude the router code. This might save around 25% relative to the max compressed size of 17,1 KB.
+
+[Backbone's Custom Builder](http://gregfranko.com/backbone/customBuild/)
+
+
+#### Performance
+
+Performance is an important topic on mobile devices. jQuery Mobile provides various tools that create performance logs which can give you a good overview of the actual time spent in routing logic, component enhancement, and visual effects.
+
+Depending on the device, the time spent on transitions can take up to 90% of the load time. To disable all transitions, you can either pass the transition `none` to `$.mobile.changePage()`, in the configuration code block:
+
+```javascript
+$(document).bind("mobileinit", function(){
+…
+// Otherwise, depending on takes up to 90% of loadtime
+ $.mobile.defaultPageTransition = "none";
+ $.mobile.defaultDialogTransition = "none";
+ });
+ })
+```
+
+or consider adding device-specific settings, for example:
+
+```javascript
+$(document).bind("mobileinit", function(){
+
+ var iosDevice =((navigator.userAgent.match(/iPhone/i))
+ || (navigator.userAgent.match(/iPod/i))) ? true : false;
+
+ $.extend( $.mobile , {
+ slideText : (iosDevice) ? "slide" : "none",
+ slideUpText : (iosDevice) ? "slideup" : "none",
+ defaultPageTransition:(iosDevice) ? "slide" : "none",
+ defaultDialogTransition:(iosDevice) ? "slide" : "none"
+ });
+```
+
+Also, consider doing your own pre-caching of enhanced jQuery Mobile pages.
+
+The jQuery Mobile API is frequently enhanced with regards to this topic in each new release. We suggest you take a look at the latest updated API to determine an optimal caching strategy with dynamic scripting that best fits your needs.
+
+For further information on performance, see the following:
+
+* [jQuery Mobile Profiling Tools](https://github.com/jquery/jquery-mobile/tree/master/tools)
+* [Device specific jQuery Mobile configuations](http://backbonefu.com/2012/01/jquery-mobile-and-backbone-js-the-ugly/)
+* [jQuery Mobile Debugging tools](http://www.objectpartners.com/2012/11/02/use-jquery-mobile%E2%80%99s-tools-suite-to-help-you-debug-and-improve-your-jquery-mobile-application/)
+* [jQuery Mobile precaching functionalities](http://jquerymobile.com/demos/1.2.0/docs/pages/page-cache.html)
+
+
+#### Clever Multi-Platform Support Management
+
+Nowadays, a company typically has an existing webpage and management decides to provide an additional mobile app to customers. The code of the web page and the mobile app become independent of each other and the time required for content or feature changes becomes much higher than for the webpage alone.
+
+As the trend is towards an increasing number of mobile platforms and dimensions, the effort required to support them is only increasing as well. Ultimately, creating per-device experiences is not always viable. However, it is essential that content is available to all users, regardless of their browser and platform. This principle must be kept in mind during the design phase.
+
+*[Responsive Design](http://www.lukew.com/ff/entry.asp?933)* and *[Mobile First](http://www.abookapart.com/products/mobile-first)* approaches address these challenges.
+
+The mobile app architecture presented in this chapter takes care of a lot of the actual heavy lifting required, as it supports responsive layouts out of the box and even supports browsers which cannot handle media queries. It might not be obvious that jQM is a UI framework not dissimilar to jQuery UI. jQuery Mobile is using the widget factory and is capable of being used for more than just mobile environments.
+
+To support multi-platform browsers using jQuery Mobile and Backbone,
+you can, in order of increasing time and effort:
+
+1. Ideally, have one code project, where only CSS differs for different devices.
+2. Same code project, and at runtime different HTML templates
+ and super-classes are exchanged per device type.
+3. Same code project, and the Responsive Design API and most widgets of jQuery Mobile will be reused.
+ For the desktop browser, some components will be added by another widget framework
+ (e.g. *jQueryUI* or *Twitter Boostrap*), e.g. controlled by the HTML templating.
+4. Same code project, and at runtime, jQuery Mobile will be completely replaced
+ by another widget framework (e.g. *jQueryUI* or *Twitter Boostrap*).
+ Super-classes and configurations, as well as concrete Backbone.View code snippets need to be replaced.
+5. Different code projects, but common modules are reused.
+6. For the desktop app, there is a completely separate code project.
+ Reasons might be the usage of complete different programming languagages
+ and/or frameworks, lack of Responsive Design knowledge or legacy of pollution.
+
+The ideal solution, to build a nice-looking desktop application with only one mobile framework, sounds crazy, but is feasible.
+
+If you have a look at the jQuery Mobile API page in a desktop browser, it does not look anything like a mobile application.
+
+![](img/chapter10-3-3.png)
+
+*Desktop view of the jQuery Mobile API and Docs application (http://view.jquerymobile.com/1.3.0/)*
+
+The same goes for the jQuery Mobile design examples, where jQuery Mobile intends to add further user interface experiences.
+
+![](img/chapter10-3-4.png)
+
+*Design examples of jQuery Mobile for desktop environments, http://jquerymobile.com/designs/#desktop*
+
+The accordions, date-pickers, sliders - everything in the desktop UI is re-using what jQM would be providing users on mobile devices. By way of example, adding the attribute `data-mini="true"` on components will lose the clumsiness of the mobile widgets on a desktop browser.
+
+See http://jquerymobile.com/demos/1.2.0/docs/forms/forms-all-mini.html, Mini-widgets for desktop applications by jQuery Mobile.
+
+Thanks to some media queries, the desktop UI can make optimal use of whitespace, expanding component blocks out and providing alternative layouts while still making use of jQM as the component framework.
+
+The benefit of this is that you don’t need to pull in another widget framework (e.g., jQuery UI) separately to be able to take advantage of these features. Thanks to the ThemeRoller, the components can look pretty much exactly how you would like them to and users of the app can get a jQM UI for lower-resolutions and a jQM-ish UI for everything else.
+
+The take away here is just to remember that if you are not already going through the hassle of conditional script/style loading based on screen-resolution (using matchMedia.js, etc.), there are simpler approaches that can be taken to cross-device component theming. At least the Responsive Design API of jQuery Mobile, which was added since version 1.3.0, is always reasonable because it will work for mobile as well as for desktop. In summary, you can manage jQuery Mobile components to give users a typical desktop appearance and they will not realize a difference.
+
+[Responsive Design with jQuery Mobile](http://view.jquerymobile.com/1.3.0/docs/intro/rwd.php)
+
+Also, if you hit your limits of CSS-styling and configurations of your jQuery Mobile application for desktop browsers, the additional effort to use jQuery Mobile and Twitter Bootstrap together can be quite simple.
+In the case that a desktop browser requests the page and Twitter Bootstrap has been loaded, the mobile TodoMVC app would need conditional code to not trigger the jQM Widget processive enhancement plugins API (demonstrated in the *Dynamic DOM Scripting* section) in the Backbone.View implementation. Therefore, as explained in the previous sections, we recommend triggering widget enhancements by `$.mobile.changePage` only once to load the complete page.
+
+An example of such a widget hybrid usage can be seen here:
+
+![](img/chapter10-3-2.png)
+
+*[Appengine boilerplate, desktop and mobile appearance](http://appengine.beecoss.com)*
+
+Although it is using server-side technologies for templating using the programming language Python,
+the principle of triggering progressive enhancement at page load is the same as `$mobile.changePage`.
+
+As you can see, the JavaScript and even the CSS stays the same. The only device-specific conditions and differences in implementations are for selecting the appropriate framework imports, which are located in the HTML template:
+
+```html
+...
+ {% if is_mobile %}
+
+ {% else %}
+
+
+
+
+ {% endif %}
+
+
+ {% block mediaCSS %}{% endblock %}
+...
+ {% if is_mobile %}
+
+ {% else %}
+
+ {% endif %}
+...
+```
+
+
+# Paginating Backbone.js Requests & Collections
+
+## Introduction
+
+Pagination is a ubiquitous problem we often find ourselves needing to solve on the web - perhaps most predominantly when working with service APIs and JavaScript-heavy clients which consume them. It's also a problem that is often under-refined as most of us consider pagination relatively easy to get right. This isn't however always the case as pagination tends to get more tricky than it initially seems.
+
+Before we dive into solutions for paginating data for your Backbone applications, let's define exactly what we consider pagination to be:
+
+Pagination is a control system allowing users to browse through pages of search results (or any type of content) which is continued. Search results are the canonical example, but pagination today is found on news sites, blogs, and discussion boards, often in the form of Previous and Next links. More complete pagination systems offer granular control of the specific pages you can navigate to, giving the user more power to find what they are looking for.
+
+It isn't a problem limited to pages requiring some visual controls for pagination either - sites like Facebook, Pinterest, and Twitter have demonstrated that there are many contexts where infinite paging is also useful. Infinite paging is, of course, when we pre-fetch (or appear to pre-fetch) content from a subsequent page and add it directly to the user’s current page, making the experience feel "infinite".
+
+Pagination is very context-specific and depends on the content being displayed. In the Google search results, pagination is important as they want to offer you the most relevant set of results in the first 1-2 pages. After that, you might be a little more selective (or random) with the page you choose to navigate to. This differs from cases where you'll want to cycle through consecutive pages for (e.g., for a news article or blog post).
+
+Pagination is almost certainly content and context-specific, but as Faruk Ates has [previously](https://gist.github.com/mislav/622561) pointed out the principles of good pagination apply no matter what the content or context is. As with everything extensible when it comes to Backbone, you can write your own pagination to address many of these content-specific types of pagination problems. That said, you'll probably spend quite a bit of time on this and sometimes you just want to use a tried and tested solution that just works.
+
+On this topic, we're going to go through a set of pagination components I (and a group of [contributors](https://github.com/addyosmani/backbone.paginator/contributors)) wrote for Backbone.js, which should hopefully come in useful if you're working on applications which need to page Backbone Collections. They're part of an extension called [Backbone.Paginator](http://github.com/addyosmani/backbone.paginator).
+
+### Backbone.Paginator
+
+When working with data on the client-side, the three types of pagination we are most likely to run into are:
+
+**Requests to a service layer (API)** - For example, query for results containing the term 'Paul' - if 5,000 results are available only display 20 results per page (leaving us with 250 possible result pages that can be navigated to).
+
+This problem actually has quite a great deal more to it, such as maintaining persistence of other URL parameters (e.g sort, query, order) which can change based on a user's search configuration in a UI. One also has to think of a clean way of hooking views up to this pagination so you can easily navigate between pages (e.g., First, Last, Next, Previous, 1,2,3), manage the number of results displayed per page and so on.
+
+**Further client-side pagination of data returned -** e.g we've been returned a JSON response containing 100 results. Rather than displaying all 100 to the user, we only display 20 of these results within a navigable UI in the browser.
+
+Similar to the request problem, client-pagination has its own challenges like navigation once again (Next, Previous, 1,2,3), sorting, order, switching the number of results to display per page and so on.
+
+**Infinite results** - with services such as Facebook, the concept of numeric pagination is instead replaced with a 'Load More' or 'View More' button. Triggering this normally fetches the next 'page' of N results but rather than replacing the previous set of results loaded entirely, we simply append to them instead.
+
+A request pager which simply appends results in a view rather than replacing on each new fetch is effectively an 'infinite' pager.
+
+**Let's now take a look at exactly what we're getting out of the box:**
+
+Backbone.Paginator is a set of opinionated components for paginating collections of data using Backbone.js. It aims to provide both solutions for assisting with pagination of requests to a server (e.g an API) as well as pagination of single-loads of data, where we may wish to further paginate a collection of N results into M pages within a view.
+
+![](img/paginator-ui.png)
+
+Backbone.Paginator supports two main pagination components:
+
+* **Backbone.Paginator.requestPager**: For pagination of requests between a client and a server-side API
+* **Backbone.Paginator.clientPager**: For pagination of data returned from a server which you would like to further paginate within the UI (e.g 60 results are returned, paginate into 3 pages of 20)
+
+### Live Examples
+
+If you would like to look at examples built using the components included in the project, links to official demos are included below and use the Netflix API so that you can see them working with an actual data source.
+
+* [Backbone.Paginator.requestPager()](http://addyosmani.github.com/backbone.paginator/examples/netflix-request-paging/index.html)
+* [Backbone.Paginator.clientPager()](http://addyosmani.github.com/backbone.paginator/examples/netflix-client-paging/index.html)
+* [Infinite Pagination (Backbone.Paginator.requestPager())](http://addyosmani.github.com/backbone.paginator/examples/netflix-infinite-paging/index.html)
+* [Diacritic Plugin](http://addyosmani.github.com/backbone.paginator/examples/google-diacritic/index.html)
+
+##Paginator.requestPager
+
+In this section we're going to walk through using the requestPager. You would use this component when working with a service API which itself supports pagination. This component allows users to control the pagination settings for requests to this API (i.e navigate to the next, previous, N pages) via the client-side.
+
+The idea is that pagination, searching, and filtering of data can all be done from your Backbone application without the need for a page reload.
+
+![](img/paginator-request.png)
+
+####1. Create a new Paginated collection
+
+First, we define a new Paginated collection using `Backbone.Paginator.requestPager()` as follows:
+
+```javascript
+
+var PaginatedCollection = Backbone.Paginator.requestPager.extend({
+
+```
+
+####2. Set the model for the collection as normal
+
+Within our collection, we then (as normal) specify the model to be used with this collection followed by the URL (or base URL) for the service providing our data (e.g the Netflix API).
+
+```javascript
+
+ model: model,
+```
+
+####3. Configure the base URL and the type of the request
+
+We need to set a base URL. The `type` of the request is `GET` by default, and the `dataType` is `jsonp` in order to enable cross-domain requests.
+
+```javascript
+ paginator_core: {
+ // the type of the request (GET by default)
+ type: 'GET',
+
+ // the type of reply (jsonp by default)
+ dataType: 'jsonp',
+
+ // the URL (or base URL) for the service
+ // if you want to have a more dynamic URL, you can make this a function
+ // that returns a string
+ url: 'http://odata.netflix.com/Catalog/People(49446)/TitlesActedIn?'
+ },
+```
+
+## Gotchas!
+
+If you use `dataType` **NOT** jsonp, please remove the callback custom parameter inside the `server_api` configuration.
+
+####4. Configure how the library will show the results
+
+We need to tell the library how many items per page we would like to see, etc...
+
+```javascript
+ paginator_ui: {
+ // the lowest page index your API allows to be accessed
+ firstPage: 0,
+
+ // which page should the paginator start from
+ // (also, the actual page the paginator is on)
+ currentPage: 0,
+
+ // how many items per page should be shown
+ perPage: 3,
+
+ // a default number of total pages to query in case the API or
+ // service you are using does not support providing the total
+ // number of pages for us.
+ // 10 as a default in case your service doesn't return the total
+ totalPages: 10
+ },
+```
+
+####5. Configure the parameters we want to send to the server
+
+Only the base URL won't be enough for most cases, so you can pass more parameters to the server.
+Note how you can use functions instead of hardcoded values, and you can also refer to the values you specified in `paginator_ui`.
+
+```javascript
+ server_api: {
+ // the query field in the request
+ '$filter': '',
+
+ // number of items to return per request/page
+ '$top': function() { return this.perPage },
+
+ // how many results the request should skip ahead to
+ // customize as needed. For the Netflix API, skipping ahead based on
+ // page * number of results per page was necessary.
+ '$skip': function() { return this.currentPage * this.perPage },
+
+ // field to sort by
+ '$orderby': 'ReleaseYear',
+
+ // what format would you like to request results in?
+ '$format': 'json',
+
+ // custom parameters
+ '$inlinecount': 'allpages',
+ '$callback': 'callback'
+ },
+```
+
+## Gotchas!
+
+If you use `$callback`, please ensure that you did use the jsonp as a `dataType` inside your `paginator_core` configuration.
+
+####6. Finally, configure Collection.parse() and we're done
+
+The last thing we need to do is configure our collection's `parse()` method. We want to ensure we're returning the correct part of our JSON response containing the data our collection will be populated with, which below is `response.d.results` (for the Netflix API).
+
+You might also notice that we're setting `this.totalPages` to the total page count returned by the API. This allows us to define the maximum number of (result) pages available for the current/last request so that we can clearly display this in the UI. It also allows us to infuence whether clicking say, a 'next' button should proceed with a request or not.
+
+```javascript
+ parse: function (response) {
+ // Be sure to change this based on how your results
+ // are structured (e.g d.results is Netflix specific)
+ var tags = response.d.results;
+ //Normally this.totalPages would equal response.d.__count
+ //but as this particular NetFlix request only returns a
+ //total count of items for the search, we divide.
+ this.totalPages = Math.ceil(response.d.__count / this.perPage);
+ return tags;
+ }
+ });
+
+});
+```
+
+####Convenience methods:
+
+For your convenience, the following methods are made available for use in your views to interact with the `requestPager`:
+
+* **Collection.goTo( n, options )** - go to a specific page
+* **Collection.nextPage( options )** - go to the next page
+* **Collection.prevPage( options )** - go to the previous page
+* **Collection.howManyPer( n )** - set the number of items to display per page
+
+**requestPager** collection's methods `.goTo()`, `.nextPage()` and `.prevPage()` are all extensions of the original [Backbone Collection.fetch() methods](http://documentcloud.github.com/backbone/#Collection-fetch). As so, they all can take the same option object as a parameter.
+
+This option object can use `success` and `error` parameters to pass a function to be executed after server answer.
+
+```javascript
+Collection.goTo(n, {
+ success: function( collection, response ) {
+ // called is server request success
+ },
+ error: function( collection, response ) {
+ // called if server request fail
+ }
+});
+```
+
+To manage callback, you could also use the [jqXHR](http://api.jquery.com/jQuery.ajax/#jqXHR) returned by these methods to manage callback.
+
+```javascript
+Collection
+ .requestNextPage()
+ .done(function( data, textStatus, jqXHR ) {
+ // called is server request success
+ })
+ .fail(function( data, textStatus, jqXHR ) {
+ // called if server request fail
+ })
+ .always(function( data, textStatus, jqXHR ) {
+ // do something after server request is complete
+ });
+});
+```
+
+If you'd like to add the incoming models to the current collection, instead of replacing the collection's contents, pass `{update: true, remove: false}` as options to these methods.
+
+```javascript
+Collection.prevPage({ update: true, remove: false });
+```
+
+##Paginator.clientPager
+
+
+The clientPager is used to further paginate data that has already been returned by the service API. Say you've requested 100 results from the service and wish to split this into 5 pages of paginated results, each containing 20 results at a client level - the clientPager makes it trivial to do this.
+
+![](img/paginator-client.png)
+
+Use the clientPager when you prefer to get results in a single "load" and thus avoid making additional network requests each time your users want to fetch the next "page" of items. As the results have all already been requested, it's just a case of switching between the ranges of data actually presented to the user.
+
+####1. Create a new paginated collection with a model and URL
+
+As with `requestPager`, let's first create a new Paginated `Backbone.Paginator.clientPager` collection, with a model:
+
+```javascript
+ var PaginatedCollection = Backbone.Paginator.clientPager.extend({
+
+ model: model,
+```
+
+####2. Configure the base URL and the type of the request
+
+We need to set a base URL. The `type` of the request is `GET` by default, and the `dataType` is `jsonp` in order to enable cross-domain requests.
+
+```javascript
+ paginator_core: {
+ // the type of the request (GET by default)
+ type: 'GET',
+
+ // the type of reply (jsonp by default)
+ dataType: 'jsonp',
+
+ // the URL (or base URL) for the service
+ url: 'http://odata.netflix.com/v2/Catalog/Titles?&'
+ },
+```
+
+####3. Configure how the library will show the results
+
+We need to tell the library how many items per page we would like to see, etc...
+
+```javascript
+ paginator_ui: {
+ // the lowest page index your API allows to be accessed
+ firstPage: 1,
+
+ // which page should the paginator start from
+ // (also, the actual page the paginator is on)
+ currentPage: 1,
+
+ // how many items per page should be shown
+ perPage: 3,
+
+ // a default number of total pages to query in case the API or
+ // service you are using does not support providing the total
+ // number of pages for us.
+ // 10 as a default in case your service doesn't return the total
+ totalPages: 10,
+
+ // The total number of pages to be shown as a pagination
+ // list is calculated by (pagesInRange * 2) + 1.
+ pagesInRange: 4
+ },
+```
+
+####4. Configure the parameters we want to send to the server
+
+Only the base URL won't be enough for most cases, so you can pass more parameters to the server.
+Note how you can use functions instead of hardcoded values, and you can also refer to the values you specified in `paginator_ui`.
+
+```javascript
+ server_api: {
+ // the query field in the request
+ '$filter': 'substringof(\'america\',Name)',
+
+ // number of items to return per request/page
+ '$top': function() { return this.perPage },
+
+ // how many results the request should skip ahead to
+ // customize as needed. For the Netflix API, skipping ahead based on
+ // page * number of results per page was necessary.
+ '$skip': function() { return this.currentPage * this.perPage },
+
+ // field to sort by
+ '$orderby': 'ReleaseYear',
+
+ // what format would you like to request results in?
+ '$format': 'json',
+
+ // custom parameters
+ '$inlinecount': 'allpages',
+ '$callback': 'callback'
+ },
+```
+
+####5. Finally, configure Collection.parse() and we're done
+
+And finally we have our `parse()` method, which in this case isn't concerned with the total number of result pages available on the server as we have our own total count of pages for the paginated data in the UI.
+
+```javascript
+ parse: function (response) {
+ var tags = response.d.results;
+ return tags;
+ }
+
+ });
+```
+
+####Convenience methods:
+
+As mentioned, your views can hook into a number of convenience methods to navigate around UI-paginated data. For `clientPager` these include:
+
+* **Collection.goTo(n, options)** - go to a specific page
+* **Collection.prevPage(options)** - go to the previous page
+* **Collection.nextPage(options)** - go to the next page
+* **Collection.howManyPer(n)** - set how many items to display per page
+* **Collection.setSort(sortBy, sortDirection)** - update sort on the current view. Sorting will automatically detect if you're trying to sort numbers (even if they're strored as strings) and will do the right thing.
+* **Collection.setFilter(filterFields, filterWords)** - filter the current view. Filtering supports multiple words without any specific order, so you'll basically get a full-text search ability. Also, you can pass it only one field from the model, or you can pass an array with fields and all of them will get filtered. Last option is to pass it an object containing a comparison method and rules. Currently, only ```levenshtein``` method is available.
+
+The `goTo()`, `prevPage()`, and `nextPage()` functions do not require the `options` param since they will be executed synchronously. However, when specified, the success callback will be invoked before the function returns. For example:
+
+```javascript
+nextPage(); // this works just fine!
+nextPage({success: function() { }}); // this will call the success function
+```
+
+The options param exists to preserve (some) interface unification between the requestPaginator and clientPaginator so that they may be used interchangeably in your Backbone.Views.
+
+```javascript
+ this.collection.setFilter(
+ {'Name': {cmp_method: 'levenshtein', max_distance: 7}}
+ , "Amreican P" // Note the switched 'r' and 'e', and the 'P' from 'Pie'
+ );
+```
+
+Also note that the Levenshtein plugin should be loaded and enabled using the ```useLevenshteinPlugin``` variable.
+Last but not less important: performing Levenshtein comparison returns the ```distance``` between two strings. It won't let you *search* lengthy text.
+The distance between two strings means the number of characters that should be added, removed or moved to the left or to the right so the strings get equal.
+That means that comparing "Something" in "This is a test that could show something" will return 32, which is bigger than comparing "Something" and "ABCDEFG" (9).
+Use Levenshtein only for short texts (titles, names, etc).
+
+* **Collection.doFakeFilter(filterFields, filterWords)** - returns the models count after fake-applying a call to ```Collection.setFilter```.
+
+* **Collection.setFieldFilter(rules)** - filter each value of each model according to `rules` that you pass as argument. Example: You have a collection of books with 'release year' and 'author'. You can filter only the books that were released between 1999 and 2003. And then you can add another `rule` that will filter those books only to authors who's name start with 'A'. Possible rules: function, required, min, max, range, minLength, maxLength, rangeLength, oneOf, equalTo, containsAllOf, pattern. Passing this an empty rules set will remove any FieldFilter rules applied.
+
+
+```javascript
+
+ my_collection.setFieldFilter([
+ {field: 'release_year', type: 'range', value: {min: '1999', max: '2003'}},
+ {field: 'author', type: 'pattern', value: new RegExp('A*', 'igm')}
+ ]);
+
+ //Rules:
+ //
+ //var my_var = 'green';
+ //
+ //{field: 'color', type: 'equalTo', value: my_var}
+ //{field: 'color', type: 'function', value: function(field_value){ return field_value == my_var; } }
+ //{field: 'color', type: 'required'}
+ //{field: 'number_of_colors', type: 'min', value: '2'}
+ //{field: 'number_of_colors', type: 'max', value: '4'}
+ //{field: 'number_of_colors', type: 'range', value: {min: '2', max: '4'} }
+ //{field: 'color_name', type: 'minLength', value: '4'}
+ //{field: 'color_name', type: 'maxLength', value: '6'}
+ //{field: 'color_name', type: 'rangeLength', value: {min: '4', max: '6'}}
+ //{field: 'color_name', type: 'oneOf', value: ['green', 'yellow']}
+ //{field: 'color_name', type: 'pattern', value: new RegExp('gre*', 'ig')}
+ //{field: 'color_name', type: 'containsAllOf', value: ['green', 'yellow', 'blue']}
+```
+
+* **Collection.doFakeFieldFilter(rules)** - returns the models count after fake-applying a call to ```Collection.setFieldFilter```.
+
+####Implementation notes:
+
+You can use some variables in your ```View``` to represent the actual state of the paginator.
+
+* ```totalUnfilteredRecords``` - Contains the number of records, including all records filtered in any way. (Only available in ```clientPager```)
+* ```totalRecords``` - Contains the number of records
+* ```currentPage``` - The actual page were the paginator is at.
+* ```perPage``` - The number of records the paginator will show per page.
+* ```totalPages``` - The number of total pages.
+* ```startRecord``` - The position of the first record shown in the current page (eg 41 to 50 from 2000 records) (Only available in ```clientPager```)
+* ```endRecord``` - The position of the last record shown in the current page (eg 41 to 50 from 2000 records) (Only available in ```clientPager```)
+* ```pagesInRange``` - The number of pages to be drawn on each side of the current page. So if ```pagesInRange``` is 3 and ```currentPage``` is 13 you will get the numbers 10, 11, 12, 13(selected), 14, 15, 16.
+
+```html
+
+
+```
+
+### Plugins
+
+**Diacritic.js**
+
+A plugin for Backbone.Paginator that replaces diacritic characters (`´`, `˝`, `̏`, `˚`,`~` etc.) with characters that match them most closely. This is particularly useful for filtering.
+
+![](img/paginator-dia.png)
+
+To enable the plugin, set `this.useDiacriticsPlugin` to true, as can be seen in the example below:
+
+```javascript
+Paginator.clientPager = Backbone.Collection.extend({
+
+ // Default values used when sorting and/or filtering.
+ initialize: function(){
+ this.useDiacriticsPlugin = true; // use diacritics plugin if available
+ ...
+```
+
+### Bootstrapping
+
+By default, both the clientPager and requestPager will make an initial request to the server in order to populate their internal paging data. In order to avoid this additional request, it may be beneficial to bootstrap your Backbone.Paginator instance from data that already exists in the dom.
+
+**Backbone.Paginator.clientPager:**
+
+```javascript
+
+// Extend the Backbone.Paginator.clientPager with your own configuration options
+var MyClientPager = Backbone.Paginator.clientPager.extend({paginator_ui: {}});
+// Create an instance of your class and populate with the models of your entire collection
+var aClientPager = new MyClientPager([{id: 1, title: 'foo'}, {id: 2, title: 'bar'}]);
+// Invoke the bootstrap function
+aClientPager.bootstrap();
+```
+
+Note: If you intend to bootstrap a clientPager, there is no need to specify a 'paginator_core' object in your configuration (since you should have already populated the clientPager with the entirety of it's necessary data)
+
+**Backbone.Paginator.requestPager:**
+
+```javascript
+
+// Extend the Backbone.Paginator.requestPager with your own configuration options
+var MyRequestPager = Backbone.Paginator.requestPager.extend({paginator_ui: {}});
+// Create an instance of your class with the first page of data
+var aRequestPager = new MyRequestPager([{id: 1, title: 'foo'}, {id: 2, title: 'bar'}]);
+// Invoke the bootstrap function and configure requestPager with 'totalRecords'
+aRequestPager.bootstrap({totalRecords: 50});
+```
+
+Note: Both the clientPager and requestPager ```bootstrap``` function will accept an options param that will be extended by your Backbone.Paginator instance. However the 'totalRecords' property will be set implicitly by the clientPager.
+
+[More on Backbone bootstrapping](http://ricostacruz.com/backbone-patterns/#bootstrapping_data)
+
+### Styling
+
+You're of course free to customize the overall look and feel of the paginators as much as you wish. By default, all sample applications make use of the [Twitter Bootstrap](http://twitter.github.com/bootstrap) for styling links, buttons and drop-downs.
+
+CSS classes are available to style record counts, filters, sorting and more:
+
+![](img/paginator-styling2.png)
+
+Classes are also available for styling more granular elements like page counts within `breadcrumb > pages` e.g `.page`, `.page selected`:
+
+![](img/paginator-classes.png)
+
+There's a tremendous amount of flexibility available for styling and as you're in control of templating too, your paginators can be made to look as visually simple or complex as needed.
+
+### Conclusions
+
+Although it's certainly possible to write your own custom pagination classes to work with Backbone Collections, Backbone.Paginator tries to take care of much of this for you.
+
+It's highly configurable, avoiding the need to write your own paging when working with Collections of data sourced from your database or API. Use the plugin to help tame large lists of data into more manageable, easily navigatable, paginated lists.
+
+Additionally, if you have any questions about Backbone.Paginator (or would like to help improve it), feel free to post to the project [issues](https://github.com/addyosmani/backbone.paginator) list.
+
+# Backbone Boilerplate And Grunt-BBB
+
+Boilerplates provide us a starting point for working on projects. They're a base for building upon using the minimum required code to get something functional put together. When you're working on a new Backbone application, a new Model typically only takes a few lines of code to get working.
+
+That alone probably isn't enough however, as you'll need a Collection to group those models, a View to render them and perhaps a router if you're looking to making specific views of your Collection data bookmarkable. If you're starting on a completely fresh project, you may also need a build process in place to produce an optimized version of your app that can be pushed to production.
+
+This is where boilerplate solutions are useful. Rather than having to manually write out the initial code for each piece of your Backbone app, a boilerplate could do this for you, also ideally taking care of the build process.
+
+[Backbone Boilerplate](https://github.com/tbranyen/backbone-boilerplate/) (or just BB) provides just this. It is an excellent set of best practices and utilities for building Backbone.js applications, created by Backbone contributor [Tim Branyen](https://github.com/tbranyen). He took the the gotchas, pitfalls and common tasks he ran into while heavily using Backbone to build apps and crafted BB as a result of this experience.
+
+[Grunt-BBB or Boilerplate Build Buddy](https://github.com/backbone-boilerplate/grunt-bbb) is the companion tool to BB, which offers scaffolding, file watcher and build capabilities. Used together with BB it provides an excellent base for quickly starting new Backbone applications.
+
+![](img/bbb.png)
+
+Out of the box, BB and Grunt-BBB provide provide us with:
+
+* Backbone, [Lodash](https://github.com/bestiejs/lodash) (an [Underscore.js](http://underscorejs.org/) alternative) and [jQuery](http://jquery.com) with an [HTML5 Boilerplate](http://html5boilerplate.com) foundation
+* Boilerplate and scaffolding support, allowing us to spend minimal time writing boilerplate for modules, collections and so on.
+* A build tool for template pre-compilation and, concatenation & minification of all our libraries, application code and stylesheets
+* A Lightweight node.js webserver
+
+Notes on build tool steps:
+
+* Template pre-compilation: using a template library such as Underscore micro-templating or Handlebars.js generally involves three steps: (1) reading a raw template, (2) compiling it into a JavaScript function and (3) running the compiled template with your desired data. Precompiling eliminates the second step from runtime, by moving this process into a build step.
+* Concatenation is the process of combining a number of assets (in our case, script files) into a single (or fewer number) of files to reduce the number of HTTP requests required to obtain them.
+* Minification is the process of removing unnecessary characters (e.g white space, new lines, comments) from code and compressing it to reduce the overall size of the scripts being served.
+
+## Getting Started
+
+### Backbone Boilerplate and Grunt-BBB
+
+To get started we're going to install Grunt-BBB, which will include Backbone Boilerplate and any third-party dependencies it might need such as the Grunt build tool.
+
+We can install Grunt-bBB via NPM by running:
+
+```shell
+npm install -g bbb
+```
+
+That's it. We should now be good to go.
+
+A typical workflow for using grunt-bbb, which we will use later on is:
+
+* Initialize a new project (`bbb init`)
+* Add new modules and templates (`bbb init:module`)
+* Preview changes using the built in server (`bbb server`)
+* Run the build tool (`bbb build`)
+* Lint JavaScript, compile templates, build your application using r.js, minify CSS and JavaScript (using `bbb release`)
+
+## Creating a new project
+
+Let's create a new directory for our project and run `bbb init` to kick things off. A number of project sub-directories and files will be stubbed out for us, as shown below:
+
+```shell
+$ bbb init
+Running "init" task
+This task will create one or more files in the current directory, based on the
+environment and the answers to a few questions. Note that answering "?" to any
+question will show question-specific help and answering "none" to most questions
+will leave its value blank.
+
+"bbb" template notes:
+This tool will help you install, configure, build, and maintain your Backbone
+Boilerplate project.
+Writing app/app.js...OK
+Writing app/config.js...OK
+Writing app/main.js...OK
+Writing app/router.js...OK
+Writing app/styles/index.css...OK
+Writing favicon.ico...OK
+Writing grunt.js...OK
+Writing index.html...OK
+Writing package.json...OK
+Writing readme.md...OK
+Writing test/jasmine/index.html...OK
+Writing test/jasmine/spec/example.js...OK
+Writing test/jasmine/vendor/jasmine-html.js...OK
+Writing test/jasmine/vendor/jasmine.css...OK
+Writing test/jasmine/vendor/jasmine.js...OK
+Writing test/jasmine/vendor/jasmine_favicon.png...OK
+Writing test/jasmine/vendor/MIT.LICENSE...OK
+Writing test/qunit/index.html...OK
+Writing test/qunit/tests/example.js...OK
+Writing test/qunit/vendor/qunit.css...OK
+Writing test/qunit/vendor/qunit.js...OK
+Writing vendor/h5bp/css/main.css...OK
+Writing vendor/h5bp/css/normalize.css...OK
+Writing vendor/jam/backbone/backbone.js...OK
+Writing vendor/jam/backbone/package.json...OK
+Writing vendor/jam/backbone.layoutmanager/backbone.layoutmanager.js...OK
+Writing vendor/jam/backbone.layoutmanager/package.json...OK
+Writing vendor/jam/jquery/jquery.js...OK
+Writing vendor/jam/jquery/package.json...OK
+Writing vendor/jam/lodash/lodash.js...OK
+Writing vendor/jam/lodash/lodash.min.js...OK
+Writing vendor/jam/lodash/lodash.underscore.min.js...OK
+Writing vendor/jam/lodash/package.json...OK
+Writing vendor/jam/require.config.js...OK
+Writing vendor/jam/require.js...OK
+Writing vendor/js/libs/almond.js...OK
+Writing vendor/js/libs/require.js...OK
+
+Initialized from template "bbb".
+
+Done, without errors.
+```
+
+Let's review what has been generated.
+
+### index.html
+
+This is a fairly standard stripped-down HTML5 Boilerplate foundation with the notable exception of including [RequireJS](http://requirejs.org) at the bottom of the page.
+
+```html
+
+
+
+
+
+
+
+ Backbone Boilerplate
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+RequireJS - the [AMD](https://github.com/amdjs/amdjs-api/wiki/AMD) (Asynchronous Module Definition) module and script loader - will assist us with managing the modules in our application. We've already covered it in the last chapter, but let's recap what this particular block does in terms of the Boilerplate:
+
+```
+
+```
+
+The `data-main` attribute is used to inform RequireJS to load `app/config.js` (a configuration object) after it has finished loading itself. You'll notice that we've omitted the `.js` extension here as RequireJS can automatically add this for us, however it will respect your paths if we do choose to include it regardless. Let's now look at the config file being referenced.
+
+### config.js
+
+A RequireJS configuration object allows us to specify aliases and paths for dependencies we're likely to reference often (e.g., jQuery), bootstrap properties like our base application URL, and `shim` libraries that don't support AMD natively.
+
+This is what the config file in Backbone Boilerplate looks like:
+
+```javascript
+// Set the require.js configuration for your application.
+require.config({
+
+ // Initialize the application with the main application file and the JamJS
+ // generated configuration file.
+ deps: ["../vendor/jam/require.config", "main"],
+
+ paths: {
+ // Put paths here.
+ },
+
+ shim: {
+ // Put shims here.
+ }
+
+});
+```
+
+The first option defined in the above config is `deps: ["../vendor/jam/require.config", "main"]`. This informs RequireJS to load up additonal RequireJS configuration as well a a main.js file, which is considered the entry point for our application.
+
+ You may notice that we haven't specified any other path information for `main`. Require will infer the default `baseUrl` using the path from our `data-main` attribute in index.html. In other words, our `baseUrl` is `app/` and any scripts we require will be loaded relative to this location. We could use the `baseUrl` option to override this default if we wanted to use a different location.
+
+The next block is `paths`, which we can use to specify paths relative to the `baseUrl` as well as the paths/aliases to dependencies we're likely to regularly reference.
+
+After this comes `shim`, an important part of our RequireJS configuration which allows us to load libraries which are not AMD compliant. The basic idea here is that rather than requiring all libraries to implement support for AMD, the `shim` takes care of the hard work for us.
+
+Going back to `deps`, the contents of our `require.config` file can be seen below.
+
+```javascript
+var jam = {
+ "packages": [
+ {
+ "name": "backbone",
+ "location": "../vendor/jam/backbone",
+ "main": "backbone.js"
+ },
+ {
+ "name": "backbone.layoutmanager",
+ "location": "../vendor/jam/backbone.layoutmanager",
+ "main": "backbone.layoutmanager.js"
+ },
+ {
+ "name": "jquery",
+ "location": "../vendor/jam/jquery",
+ "main": "jquery.js"
+ },
+ {
+ "name": "lodash",
+ "location": "../vendor/jam/lodash",
+ "main": "./lodash.js"
+ }
+ ],
+ "version": "0.2.11",
+ "shim": {
+ "backbone": {
+ "deps": [
+ "jquery",
+ "lodash"
+ ],
+ "exports": "Backbone"
+ },
+ "backbone.layoutmanager": {
+ "deps": [
+ "jquery",
+ "backbone",
+ "lodash"
+ ],
+ "exports": "Backbone.LayoutManager"
+ }
+ }
+};
+
+```
+
+The `jam` object is to support configuration of [Jam](http://jamjs.org/) - a package manager for the front-end which helps instal, upgrade and configurate the dependencies used by your project. It is currently the package manager of choice for Backbone Boilerplate.
+
+Under the `packages` array, a number of dependencies are specified for inclusion, such as Backbone, the Backbone.LayoutManager plugin, jQuery and Lo-dash.
+
+For those curious about [Backbone.LayoutManager](https://github.com/tbranyen/backbone.layoutmanager), it's a Backbone plugin that provides a foundation for assembling layouts and views within Backbone.
+
+Additional packages you install using Jam will have a corresponding entry added to `packages`.
+
+### main.js
+
+Next, we have `main.js`, which defines the entry point for our application. We use a global `require()` method to load an array containing any other scripts needed, such as our application `app.js` and our main router `router.js`. Note that most of the time, we will only use `require()` for bootstrapping an application and a similar method called `define()` for all other purposes.
+
+The function defined after our array of dependencies is a callback which doesn't fire until these scripts have loaded. Notice how we're able to locally alias references to "app" and "router" as `app` and `Router` for convenience.
+
+```javascript
+require([
+ // Application.
+ "app",
+
+ // Main Router.
+ "router"
+],
+
+function(app, Router) {
+
+ // Define your master router on the application namespace and trigger all
+ // navigation from this instance.
+ app.router = new Router();
+
+ // Trigger the initial route and enable HTML5 History API support, set the
+ // root folder to '/' by default. Change in app.js.
+ Backbone.history.start({ pushState: true, root: app.root });
+
+ // All navigation that is relative should be passed through the navigate
+ // method, to be processed by the router. If the link has a `data-bypass`
+ // attribute, bypass the delegation completely.
+ $(document).on("click", "a[href]:not([data-bypass])", function(evt) {
+ // Get the absolute anchor href.
+ var href = { prop: $(this).prop("href"), attr: $(this).attr("href") };
+ // Get the absolute root.
+ var root = location.protocol + "//" + location.host + app.root;
+
+ // Ensure the root is part of the anchor href, meaning it's relative.
+ if (href.prop.slice(0, root.length) === root) {
+ // Stop the default event to ensure the link will not cause a page
+ // refresh.
+ evt.preventDefault();
+
+ // `Backbone.history.navigate` is sufficient for all Routers and will
+ // trigger the correct events. The Router's internal `navigate` method
+ // calls this anyways. The fragment is sliced from the root.
+ Backbone.history.navigate(href.attr, true);
+ }
+ });
+
+});
+
+```
+
+Inline, Backbone Boilerplate includes boilerplate code for initializing our router with HTML5 History API support and handling other navigation scenarios, so we don't have to.
+
+### app.js
+
+Let us now look at our `app.js` module. Typically, in non-Backbone Boilerplate applications, an `app.js` file may contain the core logic or module references needed to kick start an app.
+
+In this case however, this file is used to define templating and layout configuration options as well as utilities for consuming layouts. To a beginner, this might look like a lot of code to comprehend, but the good news is that for basic apps, you're unlikely to need to heavily modify this. Instead, you'll be more concerned with modules for your app, which we'll look at next.
+
+```javascript
+define([
+ "backbone.layoutmanager"
+], function() {
+
+ // Provide a global location to place configuration settings and module
+ // creation.
+ var app = {
+ // The root path to run the application.
+ root: "/"
+ };
+
+ // Localize or create a new JavaScript Template object.
+ var JST = window.JST = window.JST || {};
+
+ // Configure LayoutManager with Backbone Boilerplate defaults.
+ Backbone.LayoutManager.configure({
+ // Allow LayoutManager to augment Backbone.View.prototype.
+ manage: true,
+
+ prefix: "app/templates/",
+
+ fetch: function(path) {
+ // Concatenate the file extension.
+ path = path + ".html";
+
+ // If cached, use the compiled template.
+ if (JST[path]) {
+ return JST[path];
+ }
+
+ // Put fetch into `async-mode`.
+ var done = this.async();
+
+ // Seek out the template asynchronously.
+ $.get(app.root + path, function(contents) {
+ done(JST[path] = _.template(contents));
+ });
+ }
+ });
+
+ // Mix Backbone.Events, modules, and layout management into the app object.
+ return _.extend(app, {
+ // Create a custom object with a nested Views object.
+ module: function(additionalProps) {
+ return _.extend({ Views: {} }, additionalProps);
+ },
+
+ // Helper for using layouts.
+ useLayout: function(name, options) {
+ // Enable variable arity by allowing the first argument to be the options
+ // object and omitting the name argument.
+ if (_.isObject(name)) {
+ options = name;
+ }
+
+ // Ensure options is an object.
+ options = options || {};
+
+ // If a name property was specified use that as the template.
+ if (_.isString(name)) {
+ options.template = name;
+ }
+
+ // Create a new Layout with options.
+ var layout = new Backbone.Layout(_.extend({
+ el: "#main"
+ }, options));
+
+ // Cache the refererence.
+ return this.layout = layout;
+ }
+ }, Backbone.Events);
+
+});
+
+```
+
+Note: JST stands for JavaScript templates and generally refers to templates which have been (or will be) precompiled as part of a build step. When running `bbb release` or `bbb debug`, Underscore/Lo-dash templates will be precompiled to avoid the need to compile them at runtime within the browser.
+
+### Creating Backbone Boilerplate Modules
+
+Not to be confused with simply being just an AMD module, a Backbone Boilerplate `module` is a script composed of a:
+
+* Model
+* Collection
+* Views (optional)
+
+We can easily create a new Boilerplate module using `grunt-bbb` once again using `init`:
+
+```shell
+# Create a new module
+$ bbb init:module
+
+# Grunt prompt
+Please answer the following:
+[?] Module Name foo
+[?] Do you need to make any changes to the above before continuing? (y/N)
+
+Writing app/modules/foo.js...OK
+Writing app/styles/foo.styl...OK
+Writing app/templates/foo.html...OK
+
+Initialized from template "module".
+
+Done, without errors.
+```
+
+This will generate a module `foo.js` as follows:
+
+```javascript
+// Foo module
+define([
+ // Application.
+ "app"
+],
+
+// Map dependencies from above array.
+function(app) {
+
+ // Create a new module.
+ var Foo = app.module();
+
+ // Default Model.
+ Foo.Model = Backbone.Model.extend({
+
+ });
+
+ // Default Collection.
+ Foo.Collection = Backbone.Collection.extend({
+ model: Foo.Model
+ });
+
+ // Default View.
+ Foo.Views.Layout = Backbone.Layout.extend({
+ template: "foo"
+ });
+
+ // Return the module for AMD compliance.
+ return Foo;
+
+});
+```
+
+Notice how boilerplate code for a model, collection and view have been scaffolded out for us.
+
+Optionally, we may also wish to include references to plugins such as the Backbone LocalStorage or Offline adapters. One clean way of including a plugin in the above boilerplate could be:
+
+```javascript
+// Foo module
+define([
+ // Application.
+ "app",
+ // Plugins
+ 'plugins/backbone-localstorage'
+],
+
+// Map dependencies from above array.
+function(app) {
+
+ // Create a new module.
+ var Foo = app.module();
+
+ // Default Model.
+ Foo.Model = Backbone.Model.extend({
+ // Save all of the items under the `"foo"` namespace.
+ localStorage: new Store('foo-backbone'),
+ });
+
+ // Default Collection.
+ Foo.Collection = Backbone.Collection.extend({
+ model: Foo.Model
+ });
+
+ // Default View.
+ Foo.Views.Layout = Backbone.Layout.extend({
+ template: "foo"
+ });
+
+ // Return the module for AMD compliance.
+ return Foo;
+
+});
+```
+
+### router.js
+
+Finally, let's look at our application router which is used for handling navigation. The default router Backbone Boilerplate generates for us includes sane defaults out of the box and can be easily extended.
+
+```javascript
+define([
+ // Application.
+ "app"
+],
+
+function(app) {
+
+ // Defining the application router, you can attach sub routers here.
+ var Router = Backbone.Router.extend({
+ routes: {
+ "": "index"
+ },
+
+ index: function() {
+
+ }
+ });
+
+ return Router;
+
+});
+```
+
+If however we would like to execute some module-specific logic, when the page loads (i.e when a user hits the default route), we can pull in a module as a dependency and optionally use the Backbone LayoutManager to attach Views to our layout as follows:
+
+```javascript
+define([
+ // Application.
+ 'app',
+
+ // Modules
+ 'modules/foo'
+],
+
+function(app, Foo) {
+
+ // Defining the application router, you can attach sub routers here.
+ var Router = Backbone.Router.extend({
+ routes: {
+ '': 'index'
+ },
+
+ index: function() {
+ // Create a new Collection
+ var collection = new Foo.Collection();
+
+ // Use and configure a 'main' layout
+ app.useLayout('main').setViews({
+ // Attach the bar View into the content View
+ '.bar': new Foo.Views.Bar({
+ collection: collection
+ })
+ }).render();
+ }
+ });
+
+ // Fetch data (e.g., from localStorage)
+ collection.fetch();
+
+ return Router;
+
+});
+```
+
+## Other Useful Tools & Projects
+
+When working with Backbone, you usually need to write a number of different classes and files for your application. Scaffolding tools such as Grunt-BBB can help automate this process by generating basic boilerplates for the files you need for you.
+
+### Yeoman
+
+If you appreciated Grunt-BBB but would like to explore a tool for assisting with your broader development workflow, I'm happy to recommend a tool I've been helping with called [Yeoman](http://yeoman.io).
+
+![](img/yeoman.png)
+
+Yeoman is a workflow comprised of a collection of tools and best practices for helping you develop more efficiently. It's comprised of yo (a scaffolding tool), [Grunt](http://gruntjs.com)(a build tool) and [Bower](http://bower.io) (a client-side package manager).
+
+Where Grunt-BBB focuses on offering an opionated start for Backbone projects, Yeoman allows you to scaffold apps using Backbone (or other frameworks), get Backbone plugins directly from the command-line and compile your CoffeeScript, Sass or other abstractions without additional effort.
+
+![](img/bower.png)
+
+You may also be interested in [Brunch](http://brunch.io/), a similar project which uses skeleton boilerplates to generate new applications.
+
+### Backbone DevTools
+
+When building an application with Backbone, there's some additional tooling available for your day-to-day debugging workflow.
+
+Backbone DevTools was created to help with this and is a Chrome DevTools extension allowing you to inspect events, syncs, View-DOM bindings and what objects have been instantiated.
+
+A useful View hierarchy is displayed in the Elements panel. Also, when you inspect a DOM element the closest View will be exposed via $view in the console.
+
+![](img/bbdevtools.jpg)
+
+At the time of writing, the project is currently available on [GitHub](https://github.com/spect88/backbone-devtools).
+
+## Conclusions
+
+In this section we reviewed Backbone Boilerplate and learned how to use the `bbb` tool to help us scaffold out our application.
+
+If you would like to learn more about how this project helps structure your app, BBB includes some built-in boilerplate sample apps that can be easily generated for review.
+
+These include a boilerplate tutorial project (`bbb init:tutorial`) and an implementation of my [TodoMVC](http://todomvc) project (`bbb init:todomvc`). I recommend checking these out as they'll provide you with a more complete picture of how Backbone Boilerplate, its templates, and so on fit into the overall setup for a web app.
+
+For more about Grunt-BBB, remember to take a look at the official project [repository](https://github.com/backbone-boilerplate/grunt-bbb). There is also a related [slide-deck](https://dl.dropbox.com/u/79007/talks/Modern_Web_Applications/slides/index.html) available for those interested in reading more.
+
+
+
+
+
+# Unit Testing
+
+One definition of unit testing is the process of taking the smallest piece of testable code in an application, isolating it from the remainder of your codebase, and determining if it behaves exactly as expected.
+
+For an application to be considered 'well-tested', each function should ideally have its own separate unit tests where it's tested against the different conditions you expect it to handle. All tests must pass before functionality is considered 'complete'. This allows developers to both modify a unit of code and its dependencies with a level of confidence about whether these changes have caused any breakage.
+
+A basic example of unit testing is where a developer asserts that passing specific values to a sum function results in the correct value being returned. For an example more relevant to this book, we may wish to assert that adding a new Todo item to a list correctly adds a Model of a specific type to a Todos Collection.
+
+When building modern web-applications, it's typically considered best-practice to include automated unit testing as a part of your development process. In the following chapters we are going to look at three different solutions for unit testing your Backbone.js apps - Jasmine, QUnit and SinonJS.
+
+# Jasmine
+
+## Behavior-Driven Development
+
+In this section, we'll be taking a look at how to unit test Backbone applications using a popular JavaScript testing framework called [Jasmine](http://pivotal.github.com/jasmine/) from Pivotal Labs.
+
+Jasmine describes itself as a behavior-driven development (BDD) framework for testing JavaScript code. Before we jump into how the framework works, it's useful to understand exactly what [BDD](http://en.wikipedia.org/wiki/Behavior_Driven_Development) is.
+
+BDD is a second-generation testing approach first described by [Dan North](http://dannorth.net/introducing-bdd/) (the authority on BDD) which attempts to test the behavior of software. It's considered second-generation as it came out of merging ideas from Domain driven design (DDD) and lean software development. BDD helps teams deliver high-quality software by answering many of the more confusing questions early on in the agile process. Such questions commonly include those concerning documentation and testing.
+
+If you were to read a book on BDD, it's likely that it would be described as being 'outside-in and pull-based'. The reason for this is that it borrows the idea of 'pulling features' from Lean manufacturing which effectively ensures that the right software solutions are being written by a) focusing on the expected outputs of the system and b) ensuring these outputs are achieved.
+
+BDD recognizes that there are usually multiple stakeholders in a project and not a single amorphous user of the system. These different groups will be affected by the software being written in differing ways and will have varying opinions of what quality in the system means to them. It's for this reason that it's important to understand who the software will be bringing value to and exactly what in it will be valuable to them.
+
+Finally, BDD relies on automation. Once you've defined the quality expected, your team will want to check on the functionality of the solution being built regularly and compare it to the results they expect. In order to facilitate this efficiently, the process has to be automated. BDD relies heavily on the automation of specification-testing and Jasmine is a tool which can assist with this.
+
+BDD helps both developers and non-technical stakeholders:
+
+
+* Better understand and represent the models of the problems being solved
+* Explain supported test cases in a language that non-developers can read
+* Focus on minimizing translation of the technical code being written and the domain language spoken by the business
+
+What this means is that developers should be able to show Jasmine unit tests to a project stakeholder and (at a high level, thanks to a common vocabulary being used) they'll ideally be able to understand what the code supports.
+
+Developers often implement BDD in unison with another testing paradigm known as [TDD](http://en.wikipedia.org/wiki/Test-driven_development) (test-driven development). The main idea behind TDD is using the following development process:
+
+1. Write unit tests which describe the functionality you would like your code to support
+2. Watch these tests fail (as the code to support them hasn't yet been written)
+3. Write code to make the tests pass
+4. Rinse, repeat, and refactor
+
+In this chapter we're going to use BDD (with TDD) to write unit tests for a Backbone application.
+
+***Note:*** I've seen a lot of developers also opt for writing tests to validate behavior of their code after having written it. While this is fine, note that it can come with pitfalls such as only testing for behavior your code currently supports, rather than the behavior needed to fully solve the problem.
+
+
+## Suites, Specs, & Spies
+
+When using Jasmine, you'll be writing suites and specifications (specs). Suites basically describe scenarios while specs describe what can be done in these scenarios.
+
+Each spec is a JavaScript function, described with a call to ```it()``` using a description string and a function. The description should describe the behaviour the particular unit of code should exhibit and, keeping in mind BDD, it should ideally be meaningful. Here's an example of a basic spec:
+
+```javascript
+it('should be incrementing in value', function(){
+ var counter = 0;
+ counter++;
+});
+```
+
+On its own, a spec isn't particularly useful until expectations are set about the behavior of the code. Expectations in specs are defined using the ```expect()``` function and an [expectation matcher](https://github.com/pivotal/jasmine/wiki/Matchers) (e.g., ```toEqual()```, ```toBeTruthy()```, ```toContain()```). A revised example using an expectation matcher would look like:
+
+```javascript
+it('should be incrementing in value', function(){
+ var counter = 0;
+ counter++;
+ expect(counter).toEqual(1);
+});
+```
+
+The above code passes our behavioral expectation as ```counter``` equals 1. Notice how easy it was to read the expectation on the last line (you probably grokked it without any explanation).
+
+Specs are grouped into suites which we describe using Jasmine's ```describe()``` function, again passing a string as a description and a function as we did for ```it()```. The name/description for your suite is typically that of the component or module you're testing.
+
+Jasmine will use the description as the group name when it reports the results of the specs you've asked it to run. A simple suite containing our sample spec could look like:
+
+```javascript
+describe('Stats', function(){
+ it('can increment a number', function(){
+ ...
+ });
+
+ it('can subtract a number', function(){
+ ...
+ });
+});
+```
+
+Suites also share a functional scope, so it's possible to declare variables and functions inside a describe block which are accessible within specs:
+
+```javascript
+describe('Stats', function(){
+ var counter = 1;
+
+ it('can increment a number', function(){
+ // the counter was = 1
+ counter = counter + 1;
+ expect(counter).toEqual(2);
+ });
+
+ it('can subtract a number', function(){
+ // the counter was = 2
+ counter = counter - 1;
+ expect(counter).toEqual(1);
+ });
+});
+```
+
+***Note:*** Suites are executed in the order in which they are described, which can be useful to know if you would prefer to see test results for specific parts of your application reported first.
+
+Jasmine also supports **spies** - a way to mock, spy, and fake behavior in our unit tests. Spies replace the function they're spying on, allowing us to simulate behavior we would like to mock (i.e., test without using the actual implementation).
+
+In the example below, we're spying on the ```setComplete``` method of a dummy Todo function to test that arguments can be passed to it as expected.
+
+```javascript
+var Todo = function(){
+};
+
+Todo.prototype.setComplete = function (arg){
+ return arg;
+}
+
+describe('a simple spy', function(){
+ it('should spy on an instance method of a Todo', function(){
+ var myTodo = new Todo();
+ spyOn(myTodo, 'setComplete');
+ myTodo.setComplete('foo bar');
+
+ expect(myTodo.setComplete).toHaveBeenCalledWith('foo bar');
+
+ var myTodo2 = new Todo();
+ spyOn(myTodo2, 'setComplete');
+
+ expect(myTodo2.setComplete).not.toHaveBeenCalled();
+
+ });
+});
+```
+
+You are more likely to use spies for testing [asynchronous](http://en.wikipedia.org/wiki/Asynchronous_communication) behavior in your application such as AJAX requests. Jasmine supports:
+
+* Writing tests which can mock AJAX requests using spies. This allows us to test both the code that initiates the AJAX request and the code executed upon its completion. It's also possible to mock/fake the server responses. The benefit of this type of testing is that it's faster as no real calls are being made to a server. The ability to simulate any response from the server is also of great benefit.
+* Asynchronous tests which don't rely on spies
+
+This example of the first kind of test shows how to fake an AJAX request and verify that the request was both calling the correct URL and executed a callback where one was provided.
+
+```javascript
+it('the callback should be executed on success', function () {
+
+ // `andCallFake()` calls a passed function when a spy
+ // has been called
+ spyOn($, 'ajax').andCallFake(function(options) {
+ options.success();
+ });
+
+ // Create a new spy
+ var callback = jasmine.createSpy();
+
+ // Exexute the spy callback if the
+ // request for Todo 15 is successful
+ getTodo(15, callback);
+
+ // Verify that the URL of the most recent call
+ // matches our expected Todo item.
+ expect($.ajax.mostRecentCall.args[0]['url']).toEqual('/todos/15');
+
+ // `expect(x).toHaveBeenCalled()` will pass if `x` is a
+ // spy and was called.
+ expect(callback).toHaveBeenCalled();
+});
+
+function getTodo(id, callback) {
+ $.ajax({
+ type: 'GET',
+ url: '/todos/'' + id,
+ dataType: 'json',
+ success: callback
+ });
+}
+```
+
+All of these are Spy-specific matchers and are documented on the Jasmine [wiki](https://github.com/pivotal/jasmine/wiki/Spies).
+
+For the second type of test (asynchronous tests), we can take the above further by taking advantage of three other methods Jasmine supports:
+
+* [waits(timeout)](https://github.com/pivotal/jasmine/wiki/Asynchronous-specs) - a native timeout before the next block is run
+* [waitsFor(function, optional message, optional timeout)](https://github.com/pivotal/jasmine/wiki/Asynchronous-specs) - a way to pause specs until some other work has completed. Jasmine waits until the supplied function returns true here before it moves on to the next block.
+* [runs(function)](https://github.com/pivotal/jasmine/wiki/Asynchronous-specs) - a block which runs as if it was directly called. They exist so that we can test asynchronous processes.
+
+```javascript
+it('should make an actual AJAX request to a server', function () {
+
+ // Create a new spy
+ var callback = jasmine.createSpy();
+
+ // Exexute the spy callback if the
+ // request for Todo 16 is successful
+ getTodo(16, callback);
+
+ // Pause the spec until the callback count is
+ // greater than 0
+ waitsFor(function() {
+ return callback.callCount > 0;
+ });
+
+ // Once the wait is complete, our runs() block
+ // will check to ensure our spy callback has been
+ // called
+ runs(function() {
+ expect(callback).toHaveBeenCalled();
+ });
+});
+
+function getTodo(id, callback) {
+ $.ajax({
+ type: 'GET',
+ url: 'todos.json',
+ dataType: 'json',
+ success: callback
+ });
+}
+```
+
+***Note:*** It's useful to remember that when making real requests to a web server in your unit tests, this has the potential to massively slow down the speed at which tests run (due to many factors including server latency). As this also introduces an external dependency that can (and should) be minimized in your unit testing, it is strongly recommended that you opt for spies to remove the dependency on a web server.
+
+## beforeEach() and afterEach()
+
+Jasmine also supports specifying code that can be run before each (```beforeEach()```) and after each (```afterEach()```) test. This is useful for enforcing consistent conditions (such as resetting variables that may be required by specs). In the following example, ```beforeEach()``` is used to create a new sample Todo model which specs can use for testing attributes.
+
+```javascript
+beforeEach(function(){
+ this.todo = new Backbone.Model({
+ text: 'Buy some more groceries',
+ done: false
+ });
+});
+
+it('should contain a text value if not the default value', function(){
+ expect(this.todo.get('text')).toEqual('Buy some more groceries');
+});
+```
+
+Each nested ```describe()``` in your tests can have their own ```beforeEach()``` and ```afterEach()``` methods which support including setup and teardown methods relevant to a particular suite.
+
+
+
+
+`beforeEach()` and `afterEach()` can be used together to write tests verifying that our Backbone routes are being correctly triggered when we navigate to the URL. We can start with the `index` action:
+
+```javascript
+describe('Todo routes', function(){
+
+ beforeEach(function(){
+
+ // Create a new router
+ this.router = new App.TodoRouter();
+
+ // Create a new spy
+ this.routerSpy = sinon.spy();
+
+ // Begin monitoring hashchange events
+ try{
+ Backbone.history.start({
+ silent:true,
+ pushState: true
+ });
+ }catch(e){
+ // ...
+ }
+
+ // Navigate to a URL
+ this.router.navigate('/js/spec/SpecRunner.html');
+ });
+
+ afterEach(function(){
+
+ // Navigate back to the URL
+ this.router.navigate('/js/spec/SpecRunner.html');
+
+ // Disable Backbone.history temporarily.
+ // Note that this is not really useful in real apps but is
+ // good for testing routers
+ Backbone.history.stop();
+ });
+
+ it('should call the index route correctly', function(){
+ this.router.bind('route:index', this.routerSpy, this);
+ this.router.navigate('', {trigger: true});
+
+ // If everything in our beforeEach() and afterEach()
+ // calls have been correctly executed, the following
+ // should now pass.
+ expect(this.routerSpy).toHaveBeenCalledOnce();
+ expect(this.routerSpy).toHaveBeenCalledWith();
+ });
+
+});
+```
+
+The actual TodoRouter for that would make the above test pass looks like:
+
+```javascript
+var App = App || {};
+App.TodoRouter = Backbone.Router.extend({
+ routes:{
+ '': 'index'
+ },
+ index: function(){
+ //...
+ }
+});
+```
+
+## Shared scope
+
+Let's imagine we have a Suite where we wish to check for the existence of a new Todo item instance. This could be done by duplicating the spec as follows:
+
+```javascript
+describe("Todo tests", function(){
+
+ // Spec
+ it("Should be defined when we create it", function(){
+ // A Todo item we are testing
+ var todo = new Todo("Get the milk", "Tuesday");
+ expect(todo).toBeDefined();
+ });
+
+ it("Should have the correct title", function(){
+ // Where we introduce code duplication
+ var todo = new Todo("Get the milk", "Tuesday");
+ expect(todo.title).toBe("Get the milk");
+ });
+
+});
+```
+
+As you can see, we've introduced duplication that should ideally be refactored into something cleaner. We can do this using Jasmine's Suite (Shared) Functional Scope.
+
+All of the specs within the same Suite share the same functional scope, meaning that variables declared within the Suite itself are available to all of the Specs in that suite. This gives us a way to work around our duplication problem by moving the creation of our Todo objects into the common functional scope:
+
+```javascript
+describe("Todo tests", function(){
+
+ // The instance of Todo, the object we wish to test
+ // is now in the shared functional scope
+ var todo = new Todo("Get the milk", "Tuesday");
+
+ // Spec
+ it("should be correctly defined", function(){
+ expect(todo).toBeDefined();
+ });
+
+ it("should have the correct title", function(){
+ expect(todo.title).toBe("Get the milk");
+ });
+
+});
+```
+
+In the previous section you may have noticed that we initially declared ```this.todo``` within the scope of our ```beforeEach()``` call and were then able to continue using this reference in ```afterEach()```.
+
+This is again down to shared function scope, which allows such declaractions to be common to all blocks (including ```runs()```).
+
+Variables declared outside of the shared scope (i.e within the local scope `var todo=...`) will however not be shared.
+
+## Getting set up
+
+Now that we've reviewed some fundamentals, let's go through downloading Jasmine and getting everything set up to write tests.
+
+A standalone release of Jasmine can be [downloaded](https://github.com/pivotal/jasmine/downloads) from the official release page.
+
+You'll need a file called SpecRunner.html in addition to the release. It can be downloaded from https://github.com/pivotal/jasmine/tree/master/lib/jasmine-core/example or as part of a download of the complete Jasmine [repo](https://github.com/pivotal/jasmine/zipball/master). Alternatively, you can ```git clone``` the main Jasmine repository from https://github.com/pivotal/jasmine.git.
+
+Let's review [SpecRunner.html.jst](https://github.com/pivotal/jasmine/blob/master/lib/templates/SpecRunner.html.jst):
+
+It first includes both Jasmine and the necessary CSS required for reporting:
+
+
+
+
+
+
+Next come the sources being tested:
+
+
+
+
+
+Finally, some sample tests are included:
+
+
+
+
+
+
+***Note:*** Below this section of SpecRunner is code responsible for running the actual tests. Given that we won't be covering modifying this code, I'm going to skip reviewing it. I do however encourage you to take a look through [PlayerSpec.js](https://github.com/pivotal/jasmine/blob/master/lib/jasmine-core/example/spec/PlayerSpec.js) and [SpecHelper.js](https://github.com/pivotal/jasmine/blob/master/lib/jasmine-core/example/spec/SpecHelper.js). They're a useful basic example to go through how a minimal set of tests might work.
+
+Also note that for the purposes of introduction, some of the examples in this section will be testing aspects of Backbone.js itself, just to give you a feel for how Jasmine works. You generally will not need to write testing ensuring a framework is working as expected.
+
+
+## TDD With Backbone
+
+When developing applications with Backbone, it can be necessary to test both individual modules of code as well as models, views, collections, and routers. Taking a TDD approach to testing, let's review some specs for testing these Backbone components using the popular Backbone [Todo](https://github.com/addyosmani/todomvc/tree/master/todo-example/backbone) application.
+
+## Models
+
+The complexity of Backbone models can vary greatly depending on what your application is trying to achieve. In the following example, we're going to test default values, attributes, state changes, and validation rules.
+
+First, we begin our suite for model testing using ```describe()```:
+
+```javascript
+describe('Tests for Todo', function() {
+```
+
+Models should ideally have default values for attributes. This helps ensure that when creating instances without a value set for any specific attribute, a default one (e.g., an empty string) is used instead. The idea here is to allow your application to interact with models without any unexpected behavior.
+
+In the following spec, we create a new Todo without any attributes passed then check to find out what the value of the ```text``` attribute is. As no value has been set, we expect a default value of `''` to be returned.
+
+```javascript
+it('Can be created with default values for its attributes.', function() {
+ var todo = new Todo();
+ expect(todo.get('text')).toBe('');
+});
+```
+
+If testing this spec before your models have been written, you'll incur a failing test, as expected. What's required for the spec to pass is a default value for the attribute ```text```. We can set this and some other useful defaults (which we'll be using shortly) in our Todo model as follows:
+
+```javascript
+window.Todo = Backbone.Model.extend({
+
+ defaults: {
+ text: '',
+ done: false,
+ order: 0
+ }
+```
+
+Next, it is common to include validation logic in your models to ensure that input passed from users or other modules in the application are valid.
+
+A Todo app may wish to validate the text input supplied in case it contains rude words. Similarly if we're storing the ```done``` state of a Todo item using booleans, we need to validate that truthy/falsy values are passed and not just any arbitrary string.
+
+In the following spec, we take advantage of the fact that validations which fail model.validate() trigger an "invalid" event. This allows us to test if validations are correctly failing when invalid input is supplied.
+
+We create an errorCallback spy using Jasmine's built in ```createSpy()``` method which allows us to spy on the invalid event as follows:
+
+```javascript
+it('Can contain custom validation rules, and will trigger an invalid event on failed validation.', function() {
+
+ var errorCallback = jasmine.createSpy('-invalid event callback-');
+
+ var todo = new Todo();
+
+ todo.on('invalid', errorCallback);
+
+ // What would you need to set on the todo properties to
+ // cause validation to fail?
+
+ todo.set({done:'a non-boolean value'});
+
+ var errorArgs = errorCallback.mostRecentCall.args;
+
+ expect(errorArgs).toBeDefined();
+ expect(errorArgs[0]).toBe(todo);
+ expect(errorArgs[1]).toBe('Todo.done must be a boolean value.');
+});
+
+```
+
+The code to make the above failing test support validation is relatively simple. In our model, we override the validate() method (as recommended in the Backbone docs), checking to make sure a model both has a 'done' property and that its value is a valid boolean before allowing it to pass.
+
+```javascript
+validate: function(attrs) {
+ if (attrs.hasOwnProperty('done') && !_.isBoolean(attrs.done)) {
+ return 'Todo.done must be a boolean value.';
+ }
+}
+```
+
+If you would like to review the final code for our Todo model, you can find it below:
+
+```javascript
+
+window.Todo = Backbone.Model.extend({
+
+ defaults: {
+ text: '',
+ done: false,
+ order: 0
+ },
+
+ initialize: function() {
+ this.set({text: this.get('text')}, {silent: true});
+ },
+
+ validate: function(attrs) {
+ if (attrs.hasOwnProperty('done') && !_.isBoolean(attrs.done)) {
+ return 'Todo.done must be a boolean value.';
+ }
+ },
+
+ toggle: function() {
+ this.save({done: !this.get('done')});
+ }
+
+});
+```
+
+
+## Collections
+
+We now need to define specs to test a Backbone collection of Todo models (a TodoList). Collections are responsible for a number of list tasks including managing order and filtering.
+
+A few specific specs that come to mind when working with collections are:
+
+* Making sure we can add new Todo models as both objects and arrays
+* Attribute testing to make sure attributes such as the base URL of the collection are values we expect
+* Purposefully adding items with a status of ```done:true``` and checking against how many items the collection thinks have been completed vs. those that are remaining
+
+In this section we're going to cover the first two of these with the third left as an extended exercise you can try on your own.
+
+Testing that Todo models can be added to a collection as objects or arrays is relatively trivial. First, we initialize a new TodoList collection and check to make sure its length (i.e., the number of Todo models it contains) is 0. Next, we add new Todos, both as objects and arrays, checking the length property of the collection at each stage to ensure the overall count is what we expect:
+
+```javascript
+describe('Tests for TodoList', function() {
+
+ it('Can add Model instances as objects and arrays.', function() {
+ var todos = new TodoList();
+
+ expect(todos.length).toBe(0);
+
+ todos.add({ text: 'Clean the kitchen' });
+
+ // how many todos have been added so far?
+ expect(todos.length).toBe(1);
+
+ todos.add([
+ { text: 'Do the laundry', done: true },
+ { text: 'Go to the gym'}
+ ]);
+
+ // how many are there in total now?
+ expect(todos.length).toBe(3);
+ });
+...
+```
+
+Similar to model attributes, it's also quite straight-forward to test attributes in collections. Here we have a spec that ensures the collection url (i.e., the url reference to the collection's location on the server) is what we expect it to be:
+
+```javascript
+it('Can have a url property to define the basic url structure for all contained models.', function() {
+ var todos = new TodoList();
+
+ // what has been specified as the url base in our model?
+ expect(todos.url).toBe('/todos/');
+});
+
+```
+
+For the third spec (which you will write as an exercise), note that the implementation for our collection will have methods for filtering how many Todo items are done and how many are remaining - we'll call these ```done()``` and ```remaining()```. Consider writing a spec which creates a new collection and adds one new model that has a preset ```done``` state of ```true``` and two others that have the default ```done``` state of ```false```. Testing the length of what's returned using ```done()``` and ```remaining()``` will tell us whether the state management in our application is working or needs a little tweaking.
+
+The final implementation for our TodoList collection can be found below:
+
+
+```javascript
+ window.TodoList = Backbone.Collection.extend({
+
+ model: Todo,
+
+ url: '/todos/',
+
+ done: function() {
+ return this.filter(function(todo) { return todo.get('done'); });
+ },
+
+ remaining: function() {
+ return this.without.apply(this, this.done());
+ },
+
+ nextOrder: function() {
+ if (!this.length) {
+ return 1;
+ }
+
+ return this.last().get('order') + 1;
+ },
+
+ comparator: function(todo) {
+ return todo.get('order');
+ }
+
+ });
+```
+
+
+## Views
+
+Before we take a look at testing Backbone views, let's briefly review a jQuery plugin that can assist with writing Jasmine specs for them.
+
+**The Jasmine jQuery Plugin**
+
+As we know our Todo application will be using jQuery for DOM manipulation, there's a useful jQuery plugin called [jasmine-jquery](https://github.com/velesin/jasmine-jquery) we can use to help simplify BDD testing of the rendering performed by our views.
+
+The plugin provides a number of additional Jasmine [matchers](https://github.com/pivotal/jasmine/wiki/Matchers) to help test jQuery-wrapped sets such as:
+
+* ```toBe(jQuerySelector)``` e.g., ```expect($('')).toBe('div#some-id')```
+* ```toBeChecked()``` e.g., ```expect($('')).toBeChecked()```
+* ```toBeSelected()``` e.g., ```expect($('')).toBeSelected()```
+
+and [many others](https://github.com/velesin/jasmine-jquery). The complete list of matchers supported can be found on the project homepage. It's useful to know that similar to the standard Jasmine matchers, the custom matchers above can be inverted using the .not prefix (i.e ```expect(x).not.toBe(y)```):
+
+```javascript
+expect($('
I am an example
')).not.toHaveText(/other/)
+```
+
+jasmine-jquery also includes a fixtures module that can be used to load arbitrary HTML content we wish to use in our tests. Fixtures can be used as follows:
+
+Include some HTML in an external fixtures file:
+
+some.fixture.html:
+```
some HTML content
```
+
+Then inside our actual test we would load it as follows:
+
+```javascript
+loadFixtures('some.fixture.html')
+$('some-fixture').myTestedPlugin();
+expect($('#some-fixture')).to
+```
+
+The jasmine-jquery plugin loads fixtures from a directory named spec/javascripts/fixtures by default. If you wish to configure this path you can do so by initially setting ```jasmine.getFixtures().fixturesPath = 'your custom path'```.
+
+Finally, jasmine-jquery includes support for spying on jQuery events without the need for any extra plumbing work. This can be done using the ```spyOnEvent()``` and ```assert(eventName).toHaveBeenTriggered(selector)``` functions. For example:
+
+```javascript
+spyOnEvent($('#el'), 'click');
+$('#el').click();
+expect('click').toHaveBeenTriggeredOn($('#el'));
+```
+
+### View testing
+
+In this section we will review the three dimensions of specs writing for Backbone Views: initial setup, view rendering, and templating. The latter two of these are the most commonly tested, however we'll see shortly why writing specs for the initialization of your views can also be of benefit.
+
+#### Initial setup
+
+At their most basic, specs for Backbone views should validate that they are being correctly tied to specific DOM elements and are backed by valid data models. The reason to consider doing this is that these specs can identify issues which will trip up more complex tests later on. Also, they're fairly simple to write given the overall value offered.
+
+To help ensure a consistent testing setup for our specs, we use ```beforeEach()``` to append both an empty ```
``` (#todoList) to the DOM and initialize a new instance of a TodoView using an empty Todo model. ```afterEach()``` is used to remove the previous #todoList ```
``` as well as the previous instance of the view.
+
+```javascript
+describe('Tests for TodoView', function() {
+
+ beforeEach(function() {
+ $('body').append('
');
+ this.todoView = new TodoView({ model: new Todo() });
+ });
+
+
+ afterEach(function() {
+ this.todoView.remove();
+ $('#todoList').remove();
+ });
+
+...
+```
+
+The first spec useful to write is a check that the TodoView we've created is using the correct ```tagName``` (element or className). The purpose of this test is to make sure it's been correctly tied to a DOM element when it was created.
+
+Backbone views typically create empty DOM elements once initialized, however these elements are not attached to the visible DOM in order to allow them to be constructed without an impact on the performance of rendering.
+
+```javascript
+it('Should be tied to a DOM element when created, based off the property provided.', function() {
+ //what html element tag name represents this view?
+ expect(todoView.el.tagName.toLowerCase()).toBe('li');
+});
+```
+
+Once again, if the TodoView has not already been written, we will experience failing specs. Thankfully, solving this is as simple as creating a new Backbone.View with a specific ```tagName```.
+
+```javascript
+var todoView = Backbone.View.extend({
+ tagName: 'li'
+});
+```
+
+If instead of testing against the ```tagName``` you would prefer to use a className instead, we can take advantage of jasmine-jquery's ```toHaveClass()``` matcher:
+
+```
+it('Should have a class of "todos"'), function(){
+ expect(this.view.$el).toHaveClass('todos');
+});
+```
+
+The ```toHaveClass()``` matcher operates on jQuery objects and if the plugin hadn't been used, an exception would have been thrown. It is of course also possible to test for the className by accessing el.className if you don't use jasmine-jquery.
+
+You may have noticed that in ```beforeEach()```, we passed our view an initial (albeit unfilled) Todo model. Views should be backed by a model instance which provides data. As this is quite important to our view's ability to function, we can write a spec to ensure a model is defined (using the ```toBeDefined()``` matcher) and then test attributes of the model to ensure defaults both exist and are the values we expect them to be.
+
+```javascript
+it('Is backed by a model instance, which provides the data.', function() {
+
+ expect(todoView.model).toBeDefined();
+
+ // what's the value for Todo.get('done') here?
+ expect(todoView.model.get('done')).toBe(false); //or toBeFalsy()
+});
+```
+
+#### View rendering
+
+
+Next we're going to take a look at writing specs for view rendering. Specifically, we want to test that our TodoView elements are actually rendering as expected.
+
+In smaller applications, those new to BDD might argue that visual confirmation of view rendering could replace unit testing of views. The reality is that when dealing with applications that might grow to a large number of views, it makes sense to automate this process as much as possible from the get-go. There are also aspects of rendering that require verification beyond what is visually presented on-screen (which we'll see very shortly).
+
+We're going to begin testing views by writing two specs. The first spec will check that the view's ```render()``` method is correctly returning the view instance, which is necessary for chaining. Our second spec will check that the HTML produced is exactly what we expect based on the properties of the model instance that's been associated with our TodoView.
+
+Unlike some of the previous specs we've covered, this section will make greater use of ```beforeEach()``` to both demonstrate how to use nested suites and also ensure a consistent set of conditions for our specs. In our first example we're simply going to create a sample model (based on Todo) and instantiate a TodoView with it.
+
+```javascript
+describe('TodoView', function() {
+
+ beforeEach(function() {
+ this.model = new Backbone.Model({
+ text: 'My Todo',
+ order: 1,
+ done: false
+ });
+ this.view = new TodoView({model:this.model});
+ });
+
+ describe('Rendering', function() {
+
+ it('returns the view object', function() {
+ expect(this.view.render()).toEqual(this.view);
+ });
+
+ it('produces the correct HTML', function() {
+ this.view.render();
+
+ // let's use jasmine-jquery's toContain() to avoid
+ // testing for the complete content of a todo's markup
+ expect(this.view.el.innerHTML)
+ .toContain('');
+ });
+
+ });
+
+});
+```
+
+
+When these specs are run, only the second one ('produces the correct HTML') fails. Our first spec ('returns the view object'), which is testing that the TodoView instance is returned from ```render()```, passes since this is Backbone's default behavior and we haven't overwritten the ```render()``` method with our own version yet.
+
+**Note:** For the purposes of maintaining readability, all template examples in this section will use a minimal version of the following Todo view template. As it's relatively trivial to expand this, please feel free to refer to this sample if needed:
+
+
+
+
+
+ />
+
+
+
+
+
+
+
+
+
+
+The second spec fails with the following message:
+
+```Expected '' to contain ''.```
+
+The reason for this is the default behavior for render() doesn't create any markup. Let's write a replacement for render() which fixes this:
+
+```javascript
+render: function() {
+ var template = '';
+ var output = template
+ .replace('+++PLACEHOLDER+++', this.model.get('text'));
+ this.$el.html(output);
+ return this;
+}
+```
+
+The above specifies an inline string template and replaces fields found in the template within the "+++PLACEHOLDER+++" blocks with their corresponding values from the associated model. As we're also returning the TodoView instance from the method, the first spec will still pass.
+
+It would be impossible to discuss unit testing without mentioning fixtures. Fixtures typically contain test data (e.g., HTML) that is loaded in when needed (either locally or from an external file) for unit testing. So far we've been establishing jQuery expectations based on the view's el property. This works for a number of cases, however, there are instances where it may be necessary to render markup into the document. The most optimal way to handle this within specs is through using fixtures (another feature brought to us by the jasmine-jquery plugin).
+
+Re-writing the last spec to use fixtures would look as follows:
+
+
+```javascript
+describe('TodoView', function() {
+
+ beforeEach(function() {
+ ...
+ setFixtures('
');
+ });
+
+ ...
+
+ describe('Template', function() {
+
+ beforeEach(function() {
+ $('.todos').append(this.view.render().el);
+ });
+
+ it('has the correct text content', function() {
+ expect($('.todos').find('.todo-content'))
+ .toHaveText('My Todo');
+ });
+
+ });
+
+});
+```
+
+What we're now doing in the above spec is appending the rendered todo item into the fixture. We then set expectations against the fixture, which may be something desirable when a view is setup against an element which already exists in the DOM. It would be necessary to provide both the fixture and test the ```el``` property correctly picking up the element expected when the view is instantiated.
+
+
+#### Rendering with a templating system
+
+
+When a user marks a Todo item as complete (done), we may wish to provide them with visual feedback (such as a striked line through the text) to differentiate the item from those that are remaining. This can be done by attaching a new class to the item. Let's begin by writing a test:
+
+
+```javascript
+describe('When a todo is done', function() {
+
+ beforeEach(function() {
+ this.model.set({done: true}, {silent: true});
+ $('.todos').append(this.view.render().el);
+ });
+
+ it('has a done class', function() {
+ expect($('.todos .todo-content:first-child'))
+ .toHaveClass('done');
+ });
+
+});
+```
+
+This will fail with the following message:
+
+```Expected ''
+to have class 'done'.
+```
+
+which can be fixed in the existing render() method as follows:
+
+
+```javascript
+render: function() {
+ var template = '';
+ var output = template
+ .replace('<%= text %>', this.model.get('text'));
+ this.$el.html(output);
+ if (this.model.get('done')) {
+ this.$('.todo-content').addClass('done');
+ }
+ return this;
+}
+```
+
+
+However, this can get unwieldily fairly quickly. As the level of complexity and logic in our templates increase, so do the challenges associated with testing them. We can ease this process by taking advantage of modern templating libraries, many of which have already been demonstrated to work well with testing solutions such as Jasmine.
+
+JavaScript templating systems (such as [Handlebars](http://handlebarsjs.com/), [Mustache](http://mustache.github.com/), and Underscore's own [micro-templating](http://underscorejs.org/#template)) support conditional logic in template strings. What this effectively means is that we can add if/else/ternery expressions inline which can then be evaluated as needed, allowing us to build even more powerful templates.
+
+In our case, we are going to use the micro-templating found in Underscore.js as no additional files are required to use it and we can easily modify our existing specs to use it without a great deal of effort.
+
+Assuming our template is defined using a script tag of ID `myTemplate`:
+
+```
+
+```
+
+Our TodoView can be modified to use Underscore templating as follows:
+
+```javascript
+var TodoView = Backbone.View.extend({
+
+ tagName: 'li',
+ template: _.template($('#myTemplate').html()),
+
+ initialize: function(options) {
+ // ...
+ },
+
+ render: function() {
+ this.$el.html(this.template(this.model.toJSON()));
+ return this;
+ },
+
+ ...
+
+});
+```
+
+So, what's going on here? We're first defining our template in a script tag with a custom script type (e.g., type="text/template"). As this isn't a script type any browser understands, it's simply ignored, however referencing the script by an id attribute allows the template to be kept separate to other parts of the page.
+
+In our view, we're the using the Underscore `_.template()` method to compile our template into a function that we can easily pass model data to later on. In the line `this.model.toJSON()` we are simply returning a copy of the model's attributes for JSON stringification to the `template` method, creating a block of HTML that can now be appended to the DOM.
+
+Note: Ideally all of your template logic should exist outside of your specs, either in individual template files or embedded using script tags within your SpecRunner. This is generally more maintainable.
+
+If you are working with much smaller templates and are not doing this, there is however a useful trick that can be applied to automatically create or extend templates in the Jasmine shared functional scope for each test.
+
+By creating a new directory (say, 'templates') in the 'spec' folder and including a new script file with the following contents into SpecRunner.html, we can manually add custom attributes representing smaller templates we wish to use:
+
+```javascript
+beforeEach(function() {
+ this.templates = _.extend(this.templates || {}, {
+ todo: ''
+ });
+});
+```
+
+To finish this off, we simply update our existing spec to reference the template when instantiating the TodoView:
+
+```javascript
+describe('TodoView', function() {
+
+ beforeEach(function() {
+ ...
+ this.view = new TodoView({
+ model: this.model,
+ template: this.templates.todo
+ });
+ });
+
+ ...
+
+});
+```
+
+The existing specs we've looked at would continue to pass using this approach, leaving us free to adjust the template with some additional conditional logic for Todos with a status of 'done':
+
+```javascript
+beforeEach(function() {
+ this.templates = _.extend(this.templates || {}, {
+ todo: ''
+ });
+});
+```
+
+This will now also pass without any issues, however as mentioned, this last approach probably only makes sense if you're working with smaller, highly dynamic templates.
+
+
+## Conclusions
+
+We have now covered how to write Jasmine tests for Backbone.js models, collections, and views. While testing routing can at times be desirable, some developers feel it can be more optimal to leave this to third-party tools such as Selenium, so do keep this in mind.
+
+## Exercise
+
+As an exercise, I recommend now trying the Jasmine Koans in `practicals\jasmine-koans` and trying to fix some of the purposefully failing tests it has to offer. This is an excellent way of not just learning how Jasmine specs and suites work, but working through the examples (without peeking back) will also put your Backbone skills to the test too.
+
+
+## Further reading
+* [Testing Backbone Apps With SinonJS](http://tinnedfruit.com/2011/04/26/testing-backbone-apps-with-jasmine-sinon-3.html) by James Newbry
+* [Jasmine + Backbone Revisited](http://japhr.blogspot.com/2011/11/jasmine-backbonejs-revisited.html)
+* [Backbone, PhantomJS and Jasmine](http://japhr.blogspot.com/2011/12/phantomjs-and-backbonejs-and-requirejs.html)
+
+# Backbone & jQuery Mobile
+
+### Mobile app development with jQuery Mobile
+
+The mobile web is huge and it is continuing to grow at an impressive rate. Along with the massive growth of the mobile internet comes a striking diversity of devices and browsers. As a result, making your applications cross-platform and mobile-ready is both important and challenging.
+Creating native apps is expensive.
+It is very costly in terms of time and it usually requires varied experiences in programming languages like Objective C , C#, Java and JavaScript to support multiple runtime environments.
+
+HTML, CSS, and JavaScript enable you to build a single application targeting a common runtime environment: the browser. This approach supports a broad range of mobile devices such as tablets, smartphones, and notebooks along with traditional PCs.
+
+The challenging task is not only to adapt contents like text and pictures properly to various screen resolutions but also to have same user experience across native apps under different operating systems.
+Like jQueryUI, jQuery Mobile is a user interface framework based on jQuery that works across all popular phone, tablet, e-Reader, and desktop platforms. It is built with accessibility and universal access in mind.
+
+
+The main idea of the framework is to enable anyone to create a mobile app using only HTML. Knowledge of a programming language is not required and there is no need to write complex, device specific CSS. For this reason jQMobile follows two main principles we first need to understand in order to integrate the framework to Backbone: *progressive enhancement* and *responsive web design*.
+
+
+#### The Principle of progressive widget enhancement by jQMobile
+
+JQuery Mobile follows progressive enhancement and responsive web design principles using HTML-5 markup-driven definitions and configurations.
+
+A page in jQuery Mobile consists of an element with a `data-role="page"` attribute.
+Within the `page` container, any valid HTML markup can be used, but for typical pages in jQM, the immediate children are divs with `data-role="header"`, `data-role="content"`, and `data-role="footer"`.
+The baseline requirement for a page is only a page wrapper to support the navigation system, the rest is optional.
+
+An initial HTML page looks like this:
+
+```html
+
+
+
+ Page Title
+
+
+
+
+
+
+
+
+
+
+
+
Page Title
+
+
+
Page content goes here.
+
+
+
+
Page Footer
+
+
+
+
+```
+
+*Example HTML setup of a basic jQuery Mobile page*
+
+JQuery Mobile will transform the written HTML definition to the rendered HTML and CSS using its Progressive Widget Enhancement API. It also executes JavaScript which is conditioned by configurations, attribute properties, and runtime specific settings.
+
+This implies: Whenever HTML content is added or changed, it needs to be handled by the progressive widget enhancement of jQuery Mobile.
+
+![](img/chapter10-1-1-1.png)
+
+*Comparison of the user interface of the default HTML to the jQuery Mobile enhanced version*
+
+#### Understanding jQuery Mobile Navigation
+
+The jQuery Mobile navigation system controls its application's lifecycle by automatically "hijacking" standard links and form submissions and turning them into AJAX requests. Whenever a link is clicked or a form is submitted, that event is automatically intercepted and used to issue an AJAX request based on the href or form action instead of reloading the page.
+
+When the page document is requested, jQuery Mobile searches the document for all elements with the `data-role="page"` attribute, parses its contents, and inserts that code into the DOM of the original page.
+Once the new page is prepared, jQuery Mobile's JavaScript triggers a transition that shows the new page and hides the HTML of the previous page in the DOM.
+
+Next, any widgets in the incoming page are enhanced to apply all the styles and behavior. The rest of the incoming page is discarded so any scripts, stylesheets, or other information will not be included.
+
+Via the *multi-page templating feature*, you can add as many pages as you want to the same HTML file within the body tag by defining divs with `data-role="page"` or `data-role="dialog"` attributes along with an `id` which can be used in links (preceded by a hashbang):
+
+
+```html
+
+ ...
+
+ ...
+
+
+
+```
+
+*jQuery Mobile multi-page templating example*
+
+To, for example, navigate to *secondpage* and have it appear in a modal dialog using a fade-transition, you would just add the `data-rel="dialog"`, `data-transition="fade"`, and `href="index.html#secondpage"` attributes to an anchor tag.
+
+Roughly speaking, having its own event cycle, jQuery Mobile is a tiny MVC framework which includes features like
+progressive widget enhancement, pre-fetching, caching, and multi-page templating by HTML configurations innately. In general, a Backbone.js developer does not need to know about its internal event workflow, but will need to know how to apply HTML-based configurations which will take action within the event phase. The *Intercepting jQuery Mobile Events* section goes into detail regarding how to handle special scenarios when fine-grained JavaScript adaptions need to be applied.
+
+For further introduction and explanations about jQuery Mobile visit:
+
+* [http://view.jquerymobile.com/1.3.0/docs/intro/](http://view.jquerymobile.com/1.3.0/docs/intro/)
+* [http://view.jquerymobile.com/1.3.0/docs/widgets/pages/](http://view.jquerymobile.com/1.3.0/docs/widgets/pages/)
+* [http://view.jquerymobile.com/1.3.0/docs/intro/rwd.php](http://view.jquerymobile.com/1.3.0/docs/intro/rwd.php)
+
+### Basic Backbone app setup for jQuery Mobile
+
+The first major hurdle developers typically run into when building applications with jQuery Mobile and an MV* framework is that both frameworks want to handle application navigation.
+
+To combine Backbone and jQuery Mobile, we first need to disable jQuery Mobile's navigation system and progressive enhancement. The second step will then be to make use of jQM's custom API to apply configurations and enhance components during Backbone's application lifecycle instead.
+
+The mobile app example presented here is based on the existing codebase of the TodoMVC Backbone-Require.js example, which was discussed in an earlier chapter, and is enhanced to support jQuery Mobile.
+
+![](img/chapter10-1-1.png)
+
+*Screenshot of the TodoMVC app with jQuery Mobile*
+
+This implementation makes use of Grunt-BBB as well as Handlebars.js. Additional utilities useful for mobile applications will be provided, which can be easily combined and extended.
+(see the *Backbone Boilerplate & Grunt-BBB* and *Backbone Extensions* chapters)
+
+![](img/chapter10-1-2.png)
+
+*Workspace of the TodoMVC app with jQueryMobile and Backbone*
+
+The order of the files loaded by Require.js is as follows:
+
+1. jQuery
+2. Underscore/Lodash
+3. handlebars.compiled
+4. TodoRouter (instantiates specific views)
+5. jQueryMobile
+6. JqueryMobileCustomInitConfig
+7. Instantiation of the Backbone Router
+
+By opening the console in the project directory and then running the Grunt-Backbone command `grunt handlebars` or `grunt watch` in the console, it will combine and compile all template files to `dist/debug/handlebars_packaged`. To start the application, run `grunt server`.
+
+Files instantiated, when redirected from the Backbone-Router are:
+
+a) *BasicView.js* and *basic_page_simple.template*
+
+ The BasicView is responsible for the Handlebars multipage-template processing. Its implementation of `render` calls the jQuery Mobile API `$.mobile.changePage` to handle page navigation and progressive widget enhancement.
+
+b) Concrete view with its template partial
+
+ E.g., `EditTodoPage.js` and `editTodoView.template_partial`
+
+
+The head section of `index.html` needs to load the `jquerymobile.css` as well as the `base.css`,
+which is used by all Todo-MVC apps, and the `index.css` for some project-specific custom CSS.
+
+```html
+
+
+
+
+
+
+ TodoMVC Jquery Mobile
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+*index.html*
+
+### Workflow with Backbone and jQueryMobile
+
+By delegating the routing and navigation functions of the jQuery Mobile Framework to Backbone, we can profit from its clear separation of application structure to later on easily share application logic between a desktop webpage, tablets, and mobile apps.
+
+We now need to contend with the different ways in which Backbone and jQuery Mobile handle requests. `Backbone.Router` offers an explicit way to define custom navigation routes, while jQuery Mobile uses URL hash fragments to reference separate pages or views in the same document.
+
+Some of the ideas that have been previously proposed to work-around this problem included manually patching Backbone and jQuery Mobile. The solution demonstrated below will not only simplify the handling of the jQuery Mobile component initialization event-cycle, but also enables use of existing Backbone Router handlers.
+
+To adapt the navigation control from jQuery Mobile to Backbone, we first need to apply some specific settings to the `mobileinit` event which occurs after the framework has loaded in order to let the Backbone Router decide which page to load.
+
+A configuration which will get jQM to delegate navigation to Backbone and which will also enable manual widget creation triggering is given below:
+
+```javascript
+$(document).bind("mobileinit", function(){
+
+// Disable jQM routing and component creation events
+ // disable hash-routing
+ $.mobile.hashListeningEnabled = false;
+ // disable anchor-control
+ $.mobile.linkBindingEnabled = false;
+ // can cause calling object creation twice and back button issues are solved
+ $.mobile.ajaxEnabled = false;
+ // Otherwise after mobileinit, it tries to load a landing page
+ $.mobile.autoInitializePage = false;
+ // we want to handle caching and cleaning the DOM ourselves
+ $.mobile.page.prototype.options.domCache = false;
+
+// consider due to compatibility issues
+ // not supported by all browsers
+ $.mobile.pushStateEnabled = false;
+ // Solves phonegap issues with the back-button
+ $.mobile.phonegapNavigationEnabled = true;
+ //no native datepicker will conflict with the jQM component
+ $.mobile.page.prototype.options.degradeInputs.date = true;
+});
+```
+
+*jquerymobile.config.js*
+
+The behaviour and usage of the new workflow will be explained below, grouped by its functionalities:
+
+a) Routing to a concrete View-page
+
+b) Management of mobile page templates
+
+c) DOM management
+
+d) $.mobile.changePage
+
+
+In the following discussion, the steps 1-11 in the text refer to the new workflow diagram of the mobile application below.
+
+![](img/chapter10-2-1.png)
+
+*Workflow of TodoMVC, with Backbone and jQueryMobile*
+
+####Routing to a concrete View page, Inheriting from BasicView
+
+When the hash URL changes, e.g., a link is clicked, the configuration above prevents jQM from triggering its events. Instead, the Backbone Router listens to the hash changes and decides which view to request.
+
+Experience has shown that, for mobile pages, it is a good practice to create basic prototypes for jQM components such as basic pages, popups, and dialogs, as well as for using the jQuery Validation Plugin. This makes it much easier to exchange device-specific view logic at runtime and adopt general strategies. This will also help to add syntax and to support multi-chaining of prototype inheritance with JavaScript and Backbone.
+
+By creating a `BasicView` superclass, we enable all inheriting view-pages to share a common way of handling jQM along with common usage of a template engine and specific view handling.
+
+When building with Grunt/Yeoman, the semantic templates are compiled by Handlebar.js and the AMDs template files are combined into a single file. By merging all page definitions into a single-file-app, it becomes offline capable, which is important for mobile app.
+
+
+#### Management of Mobile Page Templates
+
+Within a concrete View page, you can override properties for static values and functions to return dynamic values of the super class `BasicView`. These values will be processed later by the BasicView to construct the HTML of a jQuery Mobile page with the help of Handlebars.
+
+Additional dynamic template parameters, e.g., Backbone model information, will be taken from the specific View and merged with the ones from the BasicView.
+
+A concrete View might look like:
+
+```javascript
+define([
+ "backbone", "modules/view/abstract/BasicView"],
+ function (Backbone, BasicView) {
+ return BasicView.extend({
+ id : "editTodoView",
+ getHeaderTitle : function () {
+ return "Edit Todo";
+ },
+ getSpecificTemplateValues : function () {
+ return this.model.toJSON();
+ },
+ events : function () {
+ // merged events of BasicView, to add an older fix for back button functionality
+ return _.extend({
+ 'click #saveDescription' : 'saveDescription'
+ }, this.constructor.__super__.events);
+ },
+ saveDescription : function (clickEvent) {
+ this.model.save({
+ title : $("#todoDescription", this.el).val()
+ });
+ return true;
+ }
+ });
+ });
+```
+
+*A concrete View (EditTodoPage.js)*
+
+
+By default, the BasicView uses `basic_page_simple.template` as the Handlebars template. If you need to use a custom template or want to introduce a new Super abstract View with an alternate template, override the `getTemplateID` function:
+
+```javascript
+getTemplateID : function(){
+ return "custom_page_template";
+}
+```
+
+By convention, the `id` attribute will be taken as the id of the jQM page as well as the filename of the corresponding template file to be inserted as a partial in the `basic_page_simple` template. In the case of the `EditTodoPage` view, the name of the file will be `editTodoPage.template_partial`.
+
+Every concrete page is meant to be a partial, which will be inserted in the `data-role="content"` element,
+where the parameter `templatePartialPageID` is located.
+
+Later on, the result of the `getHeaderTitle` function from `EditTodoPage` will replace the *headerTitle* in the abstract template.
+
+
+```javascript
+
+```
+
+*basic_page_simple.template*
+
+
+*Note: The `whatis` Handlebars View helper does simple logging of parameters.*
+
+
+All the additional parameters being returned by `getSpecificTemplateValues` will be inserted into the concrete template `editTodoPage.template_partial`.
+
+Because `footerContent` is expected to be used rarely, its content is returned by `getSpecificTemplateValues`.
+
+In the case of the EditTodoPage view, all the model information is being returned and `title` is used in the concrete partial page:
+
+
+```html
+
+
+
+
+ Save
+```
+
+*editTodoView.template_partial*
+
+
+When `render` is triggered, the `basic_page_simple.template` and `editTodoView.template_partial` templates will be loaded and the parameters from `EditTodoPage` and `BasicView` will be combined and generated by Handlebars to generate:
+
+```html
+
+```
+
+*Final HTML definition resulting from basic_page_simple_template and editTodoView.template_partial*
+
+The next section explains how the template parameters are collected by the `BasicView` and the HTML definition is loaded.
+
+
+#### DOM management and $.mobile.changePage
+
+When `render` is executed (line 29 is the source code listing below), `BasicView` first cleans up the DOM by removing the previous page (line 70). To delete the elements from the DOM, `$.remove` cannot be used, but `$previousEl.detach()` can be since `detach` does not remove the element's attached events and data.
+
+This is important, because jQuery Mobile still needs information (e.g., to trigger transition effects when switching to another page). Keep in mind that the DOM data and events should be cleared later on as well to avoid possible performance issues.
+
+Other strategies than the one used in the function `cleanupPossiblePageDuplicationInDOM` to cleanup the DOM are viable. To only remove the old page having the same id as the current from the DOM, when it was already requested before, would also be a working strategy of preventing DOM duplication. Depending on what fits best to your application needs, it is also possibly a one-banana problem to exchange it using a caching mechanism.
+
+Next, `BasicView` collects all template parameters from the concrete View implementation and inserts the HTML of the requested page into the body. This is done in steps 4, 5, 6, and 7 in the diagram above (between lines 23 and 51 in the source listing).
+
+Additionally, the `data-role` will be set on the jQuery Mobile page. Commonly used attribute values are
+page, dialog, or popup.
+
+As you can see, (starting at line 74), the `goBackInHistory` function contains a manual implementation to handle the back button's action. In certain scenarios, the back button navigation functionality of jQuery Mobile was not working with older versions and disabled jQMobile's navigation sytem.
+
+
+```javascript
+ 1 define([
+ 2 "lodash",
+ 3 "backbone",
+ 4 "handlebars",
+ 5 "handlebars_helpers"
+ 6 ],
+ 7
+ 8 function (_, Backbone, Handlebars) {
+ 9 var BasicView = Backbone.View.extend({
+10 initialize: function () {
+11 _.bindAll();
+12 this.render();
+13 },
+14 events: {
+15 "click #backButton": "goBackInHistory"
+16 },
+17 role: "page",
+18 attributes: function () {
+19 return {
+20 "data-role": this.role
+21 };
+22 },
+23 getHeaderTitle: function () {
+24 return this.getSpecificTemplateValues().headerTitle;
+25 },
+26 getTemplateID: function () {
+27 return "basic_page_simple";
+28 },
+29 render: function () {
+30 this.cleanupPossiblePageDuplicationInDOM();
+31 $(this.el).html(this.getBasicPageTemplateResult());
+32 this.addPageToDOMAndRenderJQM();
+33 this.enhanceJQMComponentsAPI();
+34 },
+35 // Generate HTML using the Handlebars templates
+36 getTemplateResult: function (templateDefinitionID, templateValues) {
+37 return window.JST[templateDefinitionID](templateValues);
+38 },
+39 // Collect all template paramters and merge them
+40 getBasicPageTemplateResult: function () {
+41 var templateValues = {
+42 templatePartialPageID: this.id,
+43 headerTitle: this.getHeaderTitle()
+44 };
+45 var specific = this.getSpecificTemplateValues();
+46 $.extend(templateValues, this.getSpecificTemplateValues());
+47 return this.getTemplateResult(this.getTemplateID(), templateValues);
+48 },
+49 getRequestedPageTemplateResult: function () {
+50 this.getBasicPageTemplateResult();
+51 },
+52 enhanceJQMComponentsAPI: function () {
+53 // changePage
+54 $.mobile.changePage("#" + this.id, {
+55 changeHash: false,
+56 role: this.role
+57 });
+58 },
+59 // Add page to DOM
+60 addPageToDOMAndRenderJQM: function () {
+61 $("body").append($(this.el));
+62 $("#" + this.id).page();
+63 },
+64 // Cleanup DOM strategy
+65 cleanupPossiblePageDuplicationInDOM: function () {
+66 // Can also be moved to the event "pagehide": or "onPageHide"
+67 var $previousEl = $("#" + this.id);
+68 var alreadyInDom = $previousEl.length >= 0;
+69 if (alreadyInDom) {
+70 $previousEl.detach();
+71 }
+72 },
+73 // Strategy to always support back button with disabled navigation
+74 goBackInHistory: function (clickEvent) {
+75 history.go(-1);
+76 return false;
+77 }
+78 });
+79
+80 return BasicView;
+81 });
+```
+
+*BasicView.js*
+
+After the dynamic HTML is added to the DOM, `$.mobile.changePage` has to be applied at step 8 (code line 54).
+
+This is the most important API call, because it triggers the jQuery Mobile component creation for the current page.
+
+Next, the page will be displayed to the user at step 9.
+
+
+```javascript
+
+
+ Save
+
+
+```
+
+![](img/chapter10-2-2.png)
+
+*Look and feel of the written HTML code and the jQuery Mobile enhanced Todo description page*
+
+UI enhancement is done in the `enhanceJQMComponentsAPI` function in line 52:
+
+```javascript
+$.mobile.changePage("#" + this.id, {
+ changeHash: false,
+ role: this.role
+ });
+```
+
+To retain control of hash routing, `changeHash` has to be set to false and the proper `role` parameter provided to guarantee proper page appearance. Finally, `changePage` will show the new page with its defined transition to the user.
+
+For the basic use cases, it is advised to have one View per page, and always render the complete page again by calling `$.mobile.changePage` when widget enhancement needs to be done.
+
+To progress component enrichment of a newly added HTML-fragment into the DOM, advanced techniques need to be applied to guarantee correct appearance of the mobile components. You need to be very careful when creating partial HTML code and updating values on UI elements. The next section will explain how to handle these situations.
+
+
+### Applying advanced jQM techniques to Backbone
+
+#### Dynamic DOM Scripting
+
+The solution described above solves the issues of handling routing with Backbone by calling `$.mobile.changePage('pageID')`. Additionally, it guarantees that the HTML page will be completely enhanced by the markup for jQuery Mobile.
+
+The second tricky part with jQuery Mobile is to dynamically manipulate specific DOM contents (e.g. after loading in content with Ajax). We suggest you use this technique only if there is evidence for an appreciable performance gain.
+
+With the current version (1.3), jQM provides three ways, documented and explained below in the official API, on forums, and blogs.
+
+* **$(“pageId”).trigger(“pagecreate”)**
+
+ *Creates markup of header, content as well as footer*
+
+* **$(“anyElement”).trigger(“create”)**
+
+ *Creates markup of the element as well as all children*
+
+* **$(“myListElement”).listview(“refresh”)**
+* **$('[type="radio"]').checkboxradio()**
+* **$('[type="text"]').textinput()**
+* **$('[type="button"]').button()**
+* **$('[data-role="navbar"]').navbar()**
+* **$('[type="range"]').slider()**
+* **$('select').selectmenu()**
+
+ *Every component of jQM offers plugins methods they can invoke to update the state of specific UI elements.*
+
+
+Sometimes, when creating a component from scratch, the following error can occur: 'cannot call methods on listview prior to initialization'. This can be avoided, with component initialization prior to markup enhancement, by calling it in the following way:
+
+```javascript
+ $('#mylist').listview().listview('refresh')
+```
+
+To see more details and enhancements for further scripting pages of JQM read their API and follow the release notes frequently.
+
+* [jQuery Mobile: Page Scripting](http://jquerymobile.com/test/docs/pages/page-scripting.html)
+* [jQuery Mobile: Document Ready vs. Page Events](http://stackoverflow.com/questions/14468659/jquery-mobile-document-ready-vs-page-events/ )
+* [StackOverflow: Markup Enhancement of Dynamically Added Content](http://stackoverflow.com/questions/14550396/jquery-mobile-markup-enhancement-of-dynamically-added-content)
+
+
+If you consider using a `Model-Binding Plugin`, you will need to come up with an automated mechanism to enrich single components.
+
+After having a look at the previous section about Dynamic DOM Scripting, it might not be acceptable to completely re-create a component (e.g a Listview) which takes a longer time to load and to reduce the complexity of event-delegation. Instead, the component-specific plugins, which will only update the needed parts of the HTML and CSS, should be used.
+
+In the case of a Listview, you would need to call the following function to update the list of added, edited, or removed entries:
+
+```javascript
+$('#mylist').listview()
+```
+
+You need to come up with a means of detecting the component type to in order to decide which plugin method needs to be called. The jQuery Mobile Angular.js Adapter provides such a strategy and solution as well.
+
+[Example of Model Binding with jQuery Mobile](https://github.com/tigbro/jquery-mobile-angular-adapter/blob/master/src/main/webapp/integration/jqmWidgetPatches.js)
+
+
+#### Intercepting jQuery Mobile Events
+
+In special situations you will need to take action on a triggered jQuery Mobile event, which can be done as follows:
+
+```javascript
+$('#myPage').live('pagebeforecreate', function(event){
+ console.log(page was inserted into the DOM');
+ //run your own enhancement scripting here...
+ // prevent the page plugin from making its manipulations
+ return false;
+});
+
+$('#myPage').live('pagecreate', function(event){
+ console.log(‘page was enhanced by jQM');
+});
+```
+
+In such scenarios, it is important to know when the jQuery Mobile events occur. The following diagram depicts the event cycle (page A is the outgoing page and page B is the incoming page).
+
+
+![](img/chapter10-3-1.png)
+
+*jQuery Mobile Event Cycle*
+
+An alternative is the jQuery Mobile Router project, which you might use to replace the Backbone Router. With the help of the jQM Router project, you could achieve a powerful way to intercept and route one of the various jQM events. It is an extension to jQuery Mobile, which can be used independently.
+
+Be aware that jQM-Router misses some features of Backbone.Router and is tightly coupled with the jQuery Mobile framework. For these reasons, we did not use it for the TodoMVC app. If you intend to use it, consider using a Backbone.js custom build to exclude the router code. This might save around 25% relative to the max compressed size of 17,1 KB.
+
+[Backbone's Custom Builder](http://gregfranko.com/backbone/customBuild/)
+
+
+#### Performance
+
+Performance is an important topic on mobile devices. jQuery Mobile provides various tools that create performance logs which can give you a good overview of the actual time spent in routing logic, component enhancement, and visual effects.
+
+Depending on the device, the time spent on transitions can take up to 90% of the load time. To disable all transitions, you can either pass the transition `none` to `$.mobile.changePage()`, in the configuration code block:
+
+```javascript
+$(document).bind("mobileinit", function(){
+…
+// Otherwise, depending on takes up to 90% of loadtime
+ $.mobile.defaultPageTransition = "none";
+ $.mobile.defaultDialogTransition = "none";
+ });
+ })
+```
+
+or consider adding device-specific settings, for example:
+
+```javascript
+$(document).bind("mobileinit", function(){
+
+ var iosDevice =((navigator.userAgent.match(/iPhone/i))
+ || (navigator.userAgent.match(/iPod/i))) ? true : false;
+
+ $.extend( $.mobile , {
+ slideText : (iosDevice) ? "slide" : "none",
+ slideUpText : (iosDevice) ? "slideup" : "none",
+ defaultPageTransition:(iosDevice) ? "slide" : "none",
+ defaultDialogTransition:(iosDevice) ? "slide" : "none"
+ });
+```
+
+Also, consider doing your own pre-caching of enhanced jQuery Mobile pages.
+
+The jQuery Mobile API is frequently enhanced with regards to this topic in each new release. We suggest you take a look at the latest updated API to determine an optimal caching strategy with dynamic scripting that best fits your needs.
+
+For further information on performance, see the following:
+
+* [jQuery Mobile Profiling Tools](https://github.com/jquery/jquery-mobile/tree/master/tools)
+* [Device specific jQuery Mobile configuations](http://backbonefu.com/2012/01/jquery-mobile-and-backbone-js-the-ugly/)
+* [jQuery Mobile Debugging tools](http://www.objectpartners.com/2012/11/02/use-jquery-mobile%E2%80%99s-tools-suite-to-help-you-debug-and-improve-your-jquery-mobile-application/)
+* [jQuery Mobile precaching functionalities](http://jquerymobile.com/demos/1.2.0/docs/pages/page-cache.html)
+
+
+#### Clever Multi-Platform Support Management
+
+Nowadays, a company typically has an existing webpage and management decides to provide an additional mobile app to customers. The code of the web page and the mobile app become independent of each other and the time required for content or feature changes becomes much higher than for the webpage alone.
+
+As the trend is towards an increasing number of mobile platforms and dimensions, the effort required to support them is only increasing as well. Ultimately, creating per-device experiences is not always viable. However, it is essential that content is available to all users, regardless of their browser and platform. This principle must be kept in mind during the design phase.
+
+*[Responsive Design](http://www.lukew.com/ff/entry.asp?933)* and *[Mobile First](http://www.abookapart.com/products/mobile-first)* approaches address these challenges.
+
+The mobile app architecture presented in this chapter takes care of a lot of the actual heavy lifting required, as it supports responsive layouts out of the box and even supports browsers which cannot handle media queries. It might not be obvious that jQM is a UI framework not dissimilar to jQuery UI. jQuery Mobile is using the widget factory and is capable of being used for more than just mobile environments.
+
+To support multi-platform browsers using jQuery Mobile and Backbone,
+you can, in order of increasing time and effort:
+
+1. Ideally, have one code project, where only CSS differs for different devices.
+2. Same code project, and at runtime different HTML templates
+ and super-classes are exchanged per device type.
+3. Same code project, and the Responsive Design API and most widgets of jQuery Mobile will be reused.
+ For the desktop browser, some components will be added by another widget framework
+ (e.g. *jQueryUI* or *Twitter Boostrap*), e.g. controlled by the HTML templating.
+4. Same code project, and at runtime, jQuery Mobile will be completely replaced
+ by another widget framework (e.g. *jQueryUI* or *Twitter Boostrap*).
+ Super-classes and configurations, as well as concrete Backbone.View code snippets need to be replaced.
+5. Different code projects, but common modules are reused.
+6. For the desktop app, there is a completely separate code project.
+ Reasons might be the usage of complete different programming languagages
+ and/or frameworks, lack of Responsive Design knowledge or legacy of pollution.
+
+The ideal solution, to build a nice-looking desktop application with only one mobile framework, sounds crazy, but is feasible.
+
+If you have a look at the jQuery Mobile API page in a desktop browser, it does not look anything like a mobile application.
+
+![](img/chapter10-3-3.png)
+
+*Desktop view of the jQuery Mobile API and Docs application (http://view.jquerymobile.com/1.3.0/)*
+
+The same goes for the jQuery Mobile design examples, where jQuery Mobile intends to add further user interface experiences.
+
+![](img/chapter10-3-4.png)
+
+*Design examples of jQuery Mobile for desktop environments, http://jquerymobile.com/designs/#desktop*
+
+The accordions, date-pickers, sliders - everything in the desktop UI is re-using what jQM would be providing users on mobile devices. By way of example, adding the attribute `data-mini="true"` on components will lose the clumsiness of the mobile widgets on a desktop browser.
+
+See http://jquerymobile.com/demos/1.2.0/docs/forms/forms-all-mini.html, Mini-widgets for desktop applications by jQuery Mobile.
+
+Thanks to some media queries, the desktop UI can make optimal use of whitespace, expanding component blocks out and providing alternative layouts while still making use of jQM as the component framework.
+
+The benefit of this is that you don’t need to pull in another widget framework (e.g., jQuery UI) separately to be able to take advantage of these features. Thanks to the ThemeRoller, the components can look pretty much exactly how you would like them to and users of the app can get a jQM UI for lower-resolutions and a jQM-ish UI for everything else.
+
+The take away here is just to remember that if you are not already going through the hassle of conditional script/style loading based on screen-resolution (using matchMedia.js, etc.), there are simpler approaches that can be taken to cross-device component theming. At least the Responsive Design API of jQuery Mobile, which was added since version 1.3.0, is always reasonable because it will work for mobile as well as for desktop. In summary, you can manage jQuery Mobile components to give users a typical desktop appearance and they will not realize a difference.
+
+[Responsive Design with jQuery Mobile](http://view.jquerymobile.com/1.3.0/docs/intro/rwd.php)
+
+Also, if you hit your limits of CSS-styling and configurations of your jQuery Mobile application for desktop browsers, the additional effort to use jQuery Mobile and Twitter Bootstrap together can be quite simple.
+In the case that a desktop browser requests the page and Twitter Bootstrap has been loaded, the mobile TodoMVC app would need conditional code to not trigger the jQM Widget processive enhancement plugins API (demonstrated in the *Dynamic DOM Scripting* section) in the Backbone.View implementation. Therefore, as explained in the previous sections, we recommend triggering widget enhancements by `$.mobile.changePage` only once to load the complete page.
+
+An example of such a widget hybrid usage can be seen here:
+
+![](img/chapter10-3-2.png)
+
+*[Appengine boilerplate, desktop and mobile appearance](http://appengine.beecoss.com)*
+
+Although it is using server-side technologies for templating using the programming language Python,
+the principle of triggering progressive enhancement at page load is the same as `$mobile.changePage`.
+
+As you can see, the JavaScript and even the CSS stays the same. The only device-specific conditions and differences in implementations are for selecting the appropriate framework imports, which are located in the HTML template:
+
+```html
+...
+ {% if is_mobile %}
+
+ {% else %}
+
+
+
+
+ {% endif %}
+
+
+ {% block mediaCSS %}{% endblock %}
+...
+ {% if is_mobile %}
+
+ {% else %}
+
+ {% endif %}
+...
+```
+
+# QUnit
+
+## Introduction
+
+QUnit is a powerful JavaScript test suite written by jQuery team member [Jörn Zaefferer](http://bassistance.de/) and used by many large open-source projects (such as jQuery and Backbone.js) to test their code. It's both capable of testing standard JavaScript code in the browser as well as code on the server-side (where environments supported include Rhino, V8 and SpiderMonkey). This makes it a robust solution for a large number of use-cases.
+
+Quite a few Backbone.js contributors feel that QUnit is a better introductory framework for testing if you don't wish to start off with Jasmine and BDD right away. As we'll see later on in this chapter, QUnit can also be combined with third-party solutions such as SinonJS to produce an even more powerful testing solution supporting spies and mocks, which some say is preferable over Jasmine.
+
+My personal recommendation is that it's worth comparing both frameworks and opting for the solution that you feel the most comfortable with.
+
+## Getting Setup
+
+Luckily, getting QUnit setup is a fairly straight-forward process that will take less than 5 minutes.
+
+We first setup a testing environment composed of three files:
+
+* An HTML **structure** for displaying test results
+* The **qunit.js** file composing the testing framework
+* The **qunit.css** file for styling test results
+
+The latter two of these can be downloaded from the [QUnit website](http://qunitjs.com).
+
+If you would prefer, you can use a hosted version of the QUnit source files for testing purposes. The hosted URLs can be found at .
+
+#### Sample HTML with QUnit-compatible markup:
+
+```html
+
+
+
+ QUnit Test Suite
+
+
+
+
+
+
+
+
+
+
+
+
QUnit Test Suite
+
+
+
+ test markup, hidden.
+
+
+```
+
+Let's go through the elements above with qunit mentioned in their ID. When QUnit is running:
+
+* **qunit-header** shows the name of the test suite
+* **qunit-banner** shows up as red if a test fails and green if all tests pass
+* **qunit-testrunner-toolbar** contains additional options for configuring the display of tests
+* **qunit-userAgent** displays the navigator.userAgent property
+* **qunit-tests** is a container for our test results
+
+When running correctly, the above test runner looks as follows:
+
+![screenshot 1](img/7d4de12.png)
+
+The numbers of the form (a, b, c) after each test name correspond to a) failed asserts, b) passed asserts and c) total asserts. Clicking on a test name expands it to display all of the assertions for that test case. Assertions in green have successfully passed.
+
+![screenshot 2](img/9df4.png)
+
+If however any tests fail, the test gets highlighted (and the qunit-banner at the top switches to red):
+
+![screenshot 3](img/3e5545.png)
+
+
+## Assertions
+
+QUnit supports a number of basic **assertions**, which are used in tests to verify that the result being returned by our code is what we expect. If an assertion fails, we know that a bug exists. Similar to Jasmine, QUnit can be used to easily test for regressions. Specifically, when a bug is found one can write an assertion to test the existence of the bug, write a patch, and then commit both. If subsequent changes to the code break the test you'll know what was responsible and be able to address it more easily.
+
+Some of the supported QUnit assertions we're going to look at first are:
+
+* `ok ( state, message )` - passes if the first argument is truthy
+* `equal ( actual, expected, message )` - a simple comparison assertion with type coercion
+* `notEqual ( actual, expected, message )` - the opposite of the above
+* `expect( amount )` - the number of assertions expected to run within each test
+* `strictEqual( actual, expected, message)` - offers a much stricter comparison than `equal()` and is considered the preferred method of checking equality as it avoids stumbling on subtle coercion bugs
+* `deepEqual( actual, expected, message )` - similar to `strictEqual`, comparing the contents (with `===`) of the given objects, arrays and primitives.
+
+#### Basic test case using test( name, callback )
+
+Creating new test cases with QUnit is relatively straight-forward and can be done using ```test()```, which constructs a test where the first argument is the ```name``` of the test to be displayed in our results and the second is a ```callback``` function containing all of our assertions. This is called as soon as QUnit is running.
+
+```javascript
+var myString = 'Hello Backbone.js';
+
+test( 'Our first QUnit test - asserting results', function(){
+
+ // ok( boolean, message )
+ ok( true, 'the test succeeds');
+ ok( false, 'the test fails');
+
+ // equal( actualValue, expectedValue, message )
+ equal( myString, 'Hello Backbone.js', 'The value expected is Hello Backbone.js!');
+});
+```
+
+What we're doing in the above is defining a variable with a specific value and then testing to ensure the value was what we expected it to be. This was done using the comparison assertion, ```equal()```, which expects its first argument to be a value being tested and the second argument to be the expected value. We also used ```ok()```, which allows us to easily test against functions or variables that evaluate to booleans.
+
+Note: Optionally in our test case, we could have passed an 'expected' value to ```test()``` defining the number of assertions we expect to run. This takes the form: `test( name, [expected], test );` or by manually settings the expectation at the top of the test function, like so: `expect( 1 )`. I recommend you make a habit of always defining how many assertions you expect. More on this later.
+
+#### Comparing the actual output of a function against the expected output
+
+As testing a simple static variable is fairly trivial, we can take this further to test actual functions. In the following example we test the output of a function that reverses a string to ensure that the output is correct using ```equal()``` and ```notEqual()```:
+
+```javascript
+function reverseString( str ){
+ return str.split('').reverse().join('');
+}
+
+test( 'reverseString()', function() {
+ expect( 5 );
+ equal( reverseString('hello'), 'olleh', 'The value expected was olleh' );
+ equal( reverseString('foobar'), 'raboof', 'The value expected was raboof' );
+ equal( reverseString('world'), 'dlrow', 'The value expected was dlrow' );
+ notEqual( reverseString('world'), 'dlroo', 'The value was expected to not be dlroo' );
+ equal( reverseString('bubble'), 'double', 'The value expected was elbbub' );
+})
+```
+
+Running these tests in the QUnit test runner (which you would see when your HTML test page was loaded) we would find that four of the assertions pass while the last one does not. The reason the test against `'double'` fails is because it was purposefully written incorrectly. In your own projects if a test fails to pass and your assertions are correct, you've probably just found a bug!
+
+
+## Adding structure to assertions
+
+Housing all of our assertions in one test case can quickly become difficult to maintain, but luckily QUnit supports structuring blocks of assertions more cleanly. This can be done using ```module()``` - a method that allows us to easily group tests together. A typical approach to grouping might be keeping multiple tests for a specific method as part of the same group (module).
+
+#### Basic QUnit Modules
+
+```javascript
+module( 'Module One' );
+test( 'first test', function() {} );
+test( 'another test', function() {} );
+
+module( 'Module Two' );
+test( 'second test', function() {} );
+test( 'another test', function() {} );
+
+module( 'Module Three' );
+test( 'third test', function() {} );
+test( 'another test', function() {} );
+```
+
+We can take this further by introducing ```setup()``` and ```teardown()``` callbacks to our modules, where ```setup()``` is run before each test and ```teardown()``` is run after each test.
+
+#### Using setup() and teardown()
+```javascript
+module( 'Module One', {
+ setup: function() {
+ // run before
+ },
+ teardown: function() {
+ // run after
+ }
+});
+
+test('first test', function() {
+ // run the first test
+});
+```
+
+These callbacks can be used to define (or clear) any components we wish to instantiate for use in one or more of our tests. As we'll see shortly, this is ideal for defining new instances of views, collections, models, or routers from a project that we can then reference across multiple tests.
+
+#### Using setup() and teardown() for instantiation and clean-up
+
+```javascript
+// Define a simple model and collection modeling a store and
+// list of stores
+
+var Store = Backbone.Model.extend({});
+
+var StoreList = Backbone.Collection.extend({
+ model: Store,
+ comparator: function( Store ) { return Store.get('name') }
+});
+
+// Define a group for our tests
+module( 'StoreList sanity check', {
+ setup: function() {
+ this.list = new StoreList;
+ this.list.add(new Store({ name: 'Costcutter' }));
+ this.list.add(new Store({ name: 'Target' }));
+ this.list.add(new Store({ name: 'Walmart' }));
+ this.list.add(new Store({ name: 'Barnes & Noble' }));
+ },
+ teardown: function() {
+ window.errors = null;
+ }
+});
+
+// Test the order of items added
+test( 'test ordering', function() {
+ expect( 1 );
+ var expected = ['Barnes & Noble', 'Costcutter', 'Target', 'Walmart'];
+ var actual = this.list.pluck('name');
+ deepEqual( actual, expected, 'is maintained by comparator' );
+});
+
+```
+
+Here, a list of stores is created and stored on ```setup()```. A ```teardown()``` callback is used to simply clear a list of errors we might be storing within the window scope, but is otherwise not needed.
+
+
+## Assertion examples
+
+Before we continue any further, let's review some more examples of how QUnit's various assertions can be correctly used when writing tests:
+
+### equal - a comparison assertion. It passes if actual == expected
+
+```javascript
+test( 'equal', 2, function() {
+ var actual = 6 - 5;
+ equal( actual, true, 'passes as 1 == true' );
+ equal( actual, 1, 'passes as 1 == 1' );
+});
+```
+
+
+### notEqual - a comparison assertion. It passes if actual != expected
+
+```javascript
+test( 'notEqual', 2, function() {
+ var actual = 6 - 5;
+ notEqual( actual, false, 'passes as 1 != false' );
+ notEqual( actual, 0, 'passes as 1 != 0' );
+});
+```
+
+### strictEqual - a comparison assertion. It passes if actual === expected
+
+```javascript
+test( 'strictEqual', 2, function() {
+ var actual = 6 - 5;
+ strictEqual( actual, true, 'fails as 1 !== true' );
+ strictEqual( actual, 1, 'passes as 1 === 1' );
+});
+```
+
+### notStrictEqual - a comparison assertion. It passes if actual !== expected
+
+```javascript
+test('notStrictEqual', 2, function() {
+ var actual = 6 - 5;
+ notStrictEqual( actual, true, 'passes as 1 !== true' );
+ notStrictEqual( actual, 1, 'fails as 1 === 1' );
+});
+```
+
+### deepEqual - a recursive comparison assertion. Unlike strictEqual(), it works on objects, arrays and primitives.
+
+```javascript
+test('deepEqual', 4, function() {
+ var actual = {q: 'foo', t: 'bar'};
+ var el = $('div');
+ var children = $('div').children();
+
+ equal( actual, {q: 'foo', t: 'bar'}, 'fails - objects are not equal using equal()' );
+ deepEqual( actual, {q: 'foo', t: 'bar'}, 'passes - objects are equal' );
+ equal( el, children, 'fails - jQuery objects are not the same' );
+ deepEqual(el, children, 'fails - objects not equivalent' );
+
+});
+```
+
+### notDeepEqual - a comparison assertion. This returns the opposite of deepEqual
+
+```javascript
+test('notDeepEqual', 2, function() {
+ var actual = {q: 'foo', t: 'bar'};
+ notEqual( actual, {q: 'foo', t: 'bar'}, 'passes - objects are not equal' );
+ notDeepEqual( actual, {q: 'foo', t: 'bar'}, 'fails - objects are equivalent' );
+});
+```
+
+### raises - an assertion which tests if a callback throws any exceptions
+
+```javascript
+test('raises', 1, function() {
+ raises(function() {
+ throw new Error( 'Oh no! It`s an error!' );
+ }, 'passes - an error was thrown inside our callback');
+});
+```
+
+## Fixtures
+
+
+From time to time we may need to write tests that modify the DOM. Managing the clean-up of such operations between tests can be a genuine pain, but thankfully QUnit has a solution to this problem in the form of the `#qunit-fixture` element, seen below.
+
+#### Fixture markup:
+```html
+
+
+
+ QUnit Test
+
+
+
+
+
+
+
QUnit Test
+
+
+
+
+
+
+
+```
+
+We can either opt to place static markup in the fixture or just insert/append any DOM elements we may need to it. QUnit will automatically reset the `innerHTML` of the fixture after each test to its original value. In case you're using jQuery, it's useful to know that QUnit checks for its availability and will opt to use ```$(el).html()``` instead, which will cleanup any jQuery event handlers too.
+
+
+### Fixtures example:
+
+Let us now go through a more complete example of using fixtures. One thing that most of us are used to doing in jQuery is working with lists - they're often used to define the markup for menus, grids, and a number of other components. You may have used jQuery plugins before that manipulated a given list in a particular way and it can be useful to test that the final (manipulated) output of the plugin is what was expected.
+
+For the purposes of our next example, we're going to use Ben Alman's `$.enumerate()` plugin, which can prepend each item in a list by its index, optionally allowing us to set what the first number in the list is. The code snippet for the plugin can be found below, followed by an example of the output it generates:
+
+```javascript
+$.fn.enumerate = function( start ) {
+ if ( typeof start !== 'undefined' ) {
+ // Since `start` value was provided, enumerate and return
+ // the initial jQuery object to allow chaining.
+
+ return this.each(function(i){
+ $(this).prepend( '' + ( i + start ) + ' ' );
+ });
+
+ } else {
+ // Since no `start` value was provided, function as a
+ // getter, returning the appropriate value from the first
+ // selected element.
+
+ var val = this.eq( 0 ).children( 'b' ).eq( 0 ).text();
+ return Number( val );
+ }
+ };
+
+/*
+
+
1. hello
+
2. world
+
3. i
+
4. am
+
5. foo
+
+*/
+```
+
+Let's now write some tests for the plugin. First, we define the markup for a list containing some sample items inside our ```qunit-fixture``` element:
+
+```html
+
+
+
hello
+
world
+
i
+
am
+
foo
+
+
+```
+
+Next, we need to think about what should be tested. `$.enumerate()` supports a few different use cases, including:
+
+* **No arguments passed** - i.e., ```$(el).enumerate()```
+* **0 passed as an argument** - i.e., ```$(el).enumerate(0)```
+* **1 passed as an argument** - i.e., ```$(el).enumerate(1)```
+
+As the text value for each list item is of the form "n. item-text" and we only require this to test against the expected output, we can simply access the content using ```$(el).eq(index).text()``` (for more information on .eq() see [here](http://api.jquery.com/eq/)).
+
+and finally, here are our test cases:
+
+```javascript
+module('jQuery#enumerate');
+
+test( 'No arguments passed', 5, function() {
+ var items = $('#qunit-fixture li').enumerate(); // 0
+ equal( items.eq(0).text(), '0. hello', 'first item should have index 0' );
+ equal( items.eq(1).text(), '1. world', 'second item should have index 1' );
+ equal( items.eq(2).text(), '2. i', 'third item should have index 2' );
+ equal( items.eq(3).text(), '3. am', 'fourth item should have index 3' );
+ equal( items.eq(4).text(), '4. foo', 'fifth item should have index 4' );
+});
+
+test( '0 passed as an argument', 5, function() {
+ var items = $('#qunit-fixture li').enumerate( 0 );
+ equal( items.eq(0).text(), '0. hello', 'first item should have index 0' );
+ equal( items.eq(1).text(), '1. world', 'second item should have index 1' );
+ equal( items.eq(2).text(), '2. i', 'third item should have index 2' );
+ equal( items.eq(3).text(), '3. am', 'fourth item should have index 3' );
+ equal( items.eq(4).text(), '4. foo', 'fifth item should have index 4' );
+});
+
+test( '1 passed as an argument', 3, function() {
+ var items = $('#qunit-fixture li').enumerate( 1 );
+ equal( items.eq(0).text(), '1. hello', 'first item should have index 1' );
+ equal( items.eq(1).text(), '2. world', 'second item should have index 2' );
+ equal( items.eq(2).text(), '3. i', 'third item should have index 3' );
+ equal( items.eq(3).text(), '4. am', 'fourth item should have index 4' );
+ equal( items.eq(4).text(), '5. foo', 'fifth item should have index 5' );
+});
+
+```
+
+## Asynchronous code
+
+As with Jasmine, the effort required to run synchronous tests with QUnit is fairly minimal. That said, what about tests that require asynchronous callbacks (such as expensive processes, Ajax requests, and so on)? When we're dealing with asynchronous code, rather than letting QUnit control when the next test runs, we can tell it that we need it to stop running and wait until it's okay to continue once again.
+
+Remember: running asynchronous code without any special considerations can cause incorrect assertions to appear in other tests, so we want to make sure we get it right.
+
+Writing QUnit tests for asynchronous code is made possible using the ```start()``` and ```stop()``` methods, which programmatically set the start and stop points during such tests. Here's a simple example:
+
+```javascript
+test('An async test', function(){
+ stop();
+ expect( 1 );
+ $.ajax({
+ url: '/test',
+ dataType: 'json',
+ success: function( data ){
+ deepEqual(data, {
+ topic: 'hello',
+ message: 'hi there!''
+ });
+ ok(true, 'Asynchronous test passed!');
+ start();
+ }
+ });
+});
+```
+
+A jQuery ```$.ajax()``` request is used to connect to a test resource and assert that the data returned is correct. ```deepEqual()``` is used here as it allows us to compare different data types (e.g., objects, arrays) and ensures that what is returned is exactly what we're expecting. We know that our Ajax request is asynchronous and so we first call ```stop()```, then run the code making the request, and finally, at the very end of our callback, inform QUnit that it is okay to continue running other tests.
+
+Note: rather than including ```stop()```, we can simply exclude it and substitute ```test()``` with ```asyncTest()``` if we prefer. This improves readability when dealing with a mixture of asynchronous and synchronous tests in your suite. While this setup should work fine for many use-cases, there is no guarantee that the callback in our ```$.ajax()``` request will actually get called. To factor this into our tests, we can use ```expect()``` once again to define how many assertions we expect to see within our test. This is a healthy safety blanket as it ensures that if a test completes with an insufficient number of assertions, we know something went wrong and can fix it.
+
+# SinonJS
+
+Similar to the section on testing Backbone.js apps using the Jasmine BDD framework, we're nearly ready to take what we've learned and write a number of QUnit tests for our Todo application.
+
+Before we start though, you may have noticed that QUnit doesn't support test spies. Test spies are functions which record arguments, exceptions, and return values for any of their calls. They're typically used to test callbacks and how functions may be used in the application being tested. In testing frameworks, spies usually are anonymous functions or wrappers around functions which already exist.
+
+
+## What is SinonJS?
+
+In order for us to substitute support for spies in QUnit, we will be taking advantage of a mocking framework called [SinonJS](http://sinonjs.org/) by Christian Johansen. We will also be using the [SinonJS-QUnit adapter](http://sinonjs.org/qunit/) which provides seamless integration with QUnit (meaning setup is minimal). Sinon.JS is completely test-framework agnostic and should be easy to use with any testing framework, so it's ideal for our needs.
+
+The framework supports three features we'll be taking advantage of for unit testing our application:
+
+* **Anonymous spies**
+* **Spying on existing methods**
+* **A rich inspection interface**
+
+#### Basic Spies
+
+Using ```this.spy()``` without any arguments creates an anonymous spy. This is comparable to ```jasmine.createSpy()```. We can observe basic usage of a SinonJS spy in the following example:
+
+```javascript
+test('should call all subscribers for a message exactly once', function () {
+ var message = getUniqueString();
+ var spy = this.spy();
+
+ PubSub.subscribe( message, spy );
+ PubSub.publishSync( message, 'Hello World' );
+
+ ok( spy.calledOnce, 'the subscriber was called once' );
+});
+```
+
+#### Spying On Existing Functions
+
+We can also use ```this.spy()``` to spy on existing functions (like jQuery's ```$.ajax```) in the example below. When spying on a function which already exists, the function behaves normally but we get access to data about its calls which can be very useful for testing purposes.
+
+```javascript
+test( 'should inspect the jQuery.getJSON usage of jQuery.ajax', function () {
+ this.spy( jQuery, 'ajax' );
+
+ jQuery.getJSON( '/todos/completed' );
+
+ ok( jQuery.ajax.calledOnce );
+ equals( jQuery.ajax.getCall(0).args[0].url, '/todos/completed' );
+ equals( jQuery.ajax.getCall(0).args[0].dataType, 'json' );
+});
+```
+
+#### Inspection Interface
+
+SinonJS comes with a rich spy interface which allows us to test whether a spy was called with a specific argument, if it was called a specific number of times, and test against the values of arguments. A complete list of features supported in the interface can be found on [SinonJS.org](http://sinonjs.org/docs/), but let's take a look at some examples demonstrating some of the most commonly used ones:
+
+
+**Matching arguments: test a spy was called with a specific set of arguments:**
+
+```javascript
+test( 'Should call a subscriber with standard matching': function () {
+ var spy = sinon.spy();
+
+ PubSub.subscribe( 'message', spy );
+ PubSub.publishSync( 'message', { id: 45 } );
+
+ assertTrue( spy.calledWith( { id: 45 } ) );
+});
+```
+
+**Stricter argument matching: test a spy was called at least once with specific arguments and no others:**
+
+```javascript
+test( 'Should call a subscriber with strict matching': function () {
+ var spy = sinon.spy();
+
+ PubSub.subscribe( 'message', spy );
+ PubSub.publishSync( 'message', 'many', 'arguments' );
+ PubSub.publishSync( 'message', 12, 34 );
+
+ // This passes
+ assertTrue( spy.calledWith('many') );
+
+ // This however, fails
+ assertTrue( spy.calledWithExactly( 'many' ) );
+});
+```
+
+**Testing call order: testing if a spy was called before or after another spy:**
+
+```javascript
+test( 'Should call a subscriber and maintain call order': function () {
+ var a = sinon.spy();
+ var b = sinon.spy();
+
+ PubSub.subscribe( 'message', a );
+ PubSub.subscribe( 'event', b );
+
+ PubSub.publishSync( 'message', { id: 45 } );
+ PubSub.publishSync( 'event', [1, 2, 3] );
+
+ assertTrue( a.calledBefore(b) );
+ assertTrue( b.calledAfter(a) );
+});
+```
+
+**Match execution counts: test a spy was called a specific number of times:**
+
+```javascript
+test( 'Should call a subscriber and check call counts', function () {
+ var message = getUniqueString();
+ var spy = this.spy();
+
+ PubSub.subscribe( message, spy );
+ PubSub.publishSync( message, 'some payload' );
+
+
+ // Passes if spy was called once and only once.
+ ok( spy.calledOnce ); // calledTwice and calledThrice are also supported
+
+ // The number of recorded calls.
+ equal( spy.callCount, 1 );
+
+ // Directly checking the arguments of the call
+ equals( spy.getCall(0).args[0], message );
+});
+```
+
+
+## Stubs and mocks
+
+SinonJS also supports two other powerful features: stubs and mocks. Both stubs and mocks implement all of the features of the spy API, but have some added functionality.
+
+### Stubs
+
+A stub allows us to replace any existing behaviour for a specific method with something else. They can be very useful for simulating exceptions and are most often used to write test cases when certain dependencies of your code-base may not yet be written.
+
+Let us briefly re-explore our Backbone Todo application, which contained a Todo model and a TodoList collection. For the purpose of this walkthrough, we want to isolate our TodoList collection and fake the Todo model to test how adding new models might behave.
+
+We can pretend that the models have yet to be written just to demonstrate how stubbing might be carried out. A shell collection just containing a reference to the model to be used might look like this:
+
+```javascript
+var TodoList = Backbone.Collection.extend({
+ model: Todo
+});
+
+// Let's assume our instance of this collection is
+this.todoList;
+```
+
+Assuming our collection is instantiating new models itself, it's necessary for us to stub the model's constructor function for the the test. This can be done by creating a simple stub as follows:
+
+```javascript
+this.todoStub = sinon.stub( window, 'Todo' );
+```
+
+The above creates a stub of the Todo method on the window object. When stubbing a persistent object, it's necessary to restore it to its original state. This can be done in a ```teardown()``` as follows:
+
+```javascript
+this.todoStub.restore();
+```
+
+After this, we need to alter what the constructor returns, which can be efficiently done using a plain ```Backbone.Model``` constructor. While this isn't a Todo model, it does still provide us an actual Backbone model.
+
+
+```javascript
+setup: function() {
+ this.model = new Backbone.Model({
+ id: 2,
+ title: 'Hello world'
+ });
+ this.todoStub.returns( this.model );
+});
+```
+
+The expectation here might be that this snippet would ensure our TodoList collection always instantiates a stubbed Todo model, but because a reference to the model in the collection is already present, we need to reset the model property of our collection as follows:
+
+```javascript
+this.todoList.model = Todo;
+```
+
+The result of this is that when our TodoList collection instantiates new Todo models, it will return our plain Backbone model instance as desired. This allows us to write a test for the addition of new model literals as follows:
+
+```javascript
+module( 'Should function when instantiated with model literals', {
+
+ setup:function() {
+
+ this.todoStub = sinon.stub(window, 'Todo');
+ this.model = new Backbone.Model({
+ id: 2,
+ title: 'Hello world'
+ });
+
+ this.todoStub.returns(this.model);
+ this.todos = new TodoList();
+
+ // Let's reset the relationship to use a stub
+ this.todos.model = Todo;
+
+ // add a model
+ this.todos.add({
+ id: 2,
+ title: 'Hello world'
+ });
+ },
+
+ teardown: function() {
+ this.todoStub.restore();
+ }
+
+});
+
+test('should add a model', function() {
+ equal( this.todos.length, 1 );
+});
+
+test('should find a model by id', function() {
+ equal( this.todos.get(5).get('id'), 5 );
+ });
+});
+```
+
+
+### Mocks
+
+Mocks are effectively the same as stubs, however they mock a complete API and have some built-in expectations for how they should be used. The difference between a mock and a spy is that as the expectations for their use are pre-defined and the test will fail if any of these are not met.
+
+Here's a snippet with sample usage of a mock based on PubSubJS. Here, we have a `clearTodo()` method as a callback and use mocks to verify its behavior.
+
+```javascript
+test('should call all subscribers when exceptions', function () {
+ var myAPI = { clearTodo: function () {} };
+
+ var spy = this.spy();
+ var mock = this.mock( myAPI );
+ mock.expects( 'clearTodo' ).once().throws();
+
+ PubSub.subscribe( 'message', myAPI.clearTodo );
+ PubSub.subscribe( 'message', spy );
+ PubSub.publishSync( 'message', undefined );
+
+ mock.verify();
+ ok( spy.calledOnce );
+});
+```
+
+
+
+## Exercise
+
+We can now begin writing tests for our Todo application, which are listed and separated by component (e.g., Models, Collections, etc.). It's useful to pay attention to the name of the test, the logic being tested, and most importantly the assertions being made as this will give you some insight into how what we've learned can be applied to a complete application.
+
+To get the most out of this section, I recommend looking at the QUnit Koans included in the `practicals/qunit-koans` folder - this is a port of the Backbone.js Jasmine Koans over to QUnit.
+
+*In case you haven't had a chance to try out one of the Koans kits as yet, they are a set of unit tests using a specific testing framework that both demonstrate how a set of tests for an application may be written, but also leave some tests unfilled so that you can complete them as an exercise.*
+
+### Models
+
+For our models we want to at minimum test that:
+
+* New instances can be created with the expected default values
+* Attributes can be set and retrieved correctly
+* Changes to state correctly fire off custom events where needed
+* Validation rules are correctly enforced
+
+```javascript
+module( 'About Backbone.Model');
+
+test('Can be created with default values for its attributes.', function() {
+ expect( 3 );
+
+ var todo = new Todo();
+ equal( todo.get('text'), '' );
+ equal( todo.get('done'), false );
+ equal( todo.get('order'), 0 );
+});
+
+test('Will set attributes on the model instance when created.', function() {
+ expect( 1 );
+
+ var todo = new Todo( { text: 'Get oil change for car.' } );
+ equal( todo.get('text'), 'Get oil change for car.' );
+
+});
+
+test('Will call a custom initialize function on the model instance when created.', function() {
+ expect( 1 );
+
+ var toot = new Todo({ text: 'Stop monkeys from throwing their own crap!' });
+ equal( toot.get('text'), 'Stop monkeys from throwing their own rainbows!' );
+});
+
+test('Fires a custom event when the state changes.', function() {
+ expect( 1 );
+
+ var spy = this.spy();
+ var todo = new Todo();
+
+ todo.on( 'change', spy );
+ // Change the model state
+ todo.set( { text: 'new text' } );
+
+ ok( spy.calledOnce, 'A change event callback was correctly triggered' );
+});
+
+
+test('Can contain custom validation rules, and will trigger an invalid event on failed validation.', function() {
+ expect( 3 );
+
+ var errorCallback = this.spy();
+ var todo = new Todo();
+
+ todo.on('invalid', errorCallback);
+ // Change the model state in such a way that validation will fail
+ todo.set( { done: 'not a boolean' } );
+
+ ok( errorCallback.called, 'A failed validation correctly triggered an error' );
+ notEqual( errorCallback.getCall(0), undefined );
+ equal( errorCallback.getCall(0).args[1], 'Todo.done must be a boolean value.' );
+
+});
+```
+
+
+### Collections
+
+For our collection we'll want to test that:
+
+* The Collection has a Todo Model
+* Uses localStorage for syncing
+* That done(), remaining() and clear() work as expected
+* The order for Todos is numerically correct
+
+```javascript
+ describe('Test Collection', function() {
+
+ beforeEach(function() {
+
+ // Define new todos
+ this.todoOne = new Todo;
+ this.todoTwo = new Todo({
+ title: "Buy some milk"
+ });
+
+ // Create a new collection of todos for testing
+ return this.todos = new TodoList([this.todoOne, this.todoTwo]);
+ });
+
+ it('Has the Todo model', function() {
+ return expect(this.todos.model).toBe(Todo);
+ });
+
+ it('Uses local storage', function() {
+ return expect(this.todos.localStorage).toEqual(new Store('todos-backbone'));
+ });
+
+ describe('done', function() {
+ return it('returns an array of the todos that are done', function() {
+ this.todoTwo.done = true;
+ return expect(this.todos.done()).toEqual([this.todoTwo]);
+ });
+ });
+
+ describe('remaining', function() {
+ return it('returns an array of the todos that are not done', function() {
+ this.todoTwo.done = true;
+ return expect(this.todos.remaining()).toEqual([this.todoOne]);
+ });
+ });
+
+ describe('clear', function() {
+ return it('destroys the current todo from local storage', function() {
+ expect(this.todos.models).toEqual([this.todoOne, this.todoTwo]);
+ this.todos.clear(this.todoOne);
+ return expect(this.todos.models).toEqual([this.todoTwo]);
+ });
+ });
+
+ return describe('Order sets the order on todos ascending numerically', function() {
+ it('defaults to one when there arent any items in the collection', function() {
+ this.emptyTodos = new TodoApp.Collections.TodoList;
+ return expect(this.emptyTodos.order()).toEqual(0);
+ });
+
+ return it('Increments the order by one each time', function() {
+ expect(this.todos.order(this.todoOne)).toEqual(1);
+ return expect(this.todos.order(this.todoTwo)).toEqual(2);
+ });
+ });
+
+ });
+```
+
+
+
+### Views
+
+For our views we want to ensure:
+
+* They are being correctly tied to a DOM element when created
+* They can render, after which the DOM representation of the view should be visible
+* They support wiring up view methods to DOM elements
+
+One could also take this further and test that user interactions with the view correctly result in any models that need to be changed being updated correctly.
+
+
+```javascript
+module( 'About Backbone.View', {
+ setup: function() {
+ $('body').append('
');
+ this.todoView = new TodoView({ model: new Todo() });
+ },
+ teardown: function() {
+ this.todoView.remove();
+ $('#todoList').remove();
+ }
+});
+
+test('Should be tied to a DOM element when created, based off the property provided.', function() {
+ expect( 1 );
+ equal( this.todoView.el.tagName.toLowerCase(), 'li' );
+});
+
+test('Is backed by a model instance, which provides the data.', function() {
+ expect( 2 );
+ notEqual( this.todoView.model, undefined );
+ equal( this.todoView.model.get('done'), false );
+});
+
+test('Can render, after which the DOM representation of the view will be visible.', function() {
+ this.todoView.render();
+
+ // Append the DOM representation of the view to ul#todoList
+ $('ul#todoList').append(this.todoView.el);
+
+ // Check the number of li items rendered to the list
+ equal($('#todoList').find('li').length, 1);
+});
+
+asyncTest('Can wire up view methods to DOM elements.', function() {
+ expect( 2 );
+ var viewElt;
+
+ $('#todoList').append( this.todoView.render().el );
+
+ setTimeout(function() {
+ viewElt = $('#todoList li input.check').filter(':first');
+
+ equal(viewElt.length > 0, true);
+
+ // Ensure QUnit knows we can continue
+ start();
+ }, 1000, 'Expected DOM Elt to exist');
+
+ // Trigget the view to toggle the 'done' status on an item or items
+ $('#todoList li input.check').click();
+
+ // Check the done status for the model is true
+ equal( this.todoView.model.get('done'), true );
+});
+```
+
+
+### App
+
+It can also be useful to write tests for any application bootstrap you may have in place. For the following module, our setup instantiates and appends to a TodoApp view and we can test anything from local instances of views being correctly defined to application interactions correctly resulting in changes to instances of local collections.
+
+```javascript
+module( 'About Backbone Applications' , {
+ setup: function() {
+ Backbone.localStorageDB = new Store('testTodos');
+ $('#qunit-fixture').append('');
+ this.App = new TodoApp({ appendTo: $('#app') });
+ },
+
+ teardown: function() {
+ this.App.todos.reset();
+ $('#app').remove();
+ }
+});
+
+test('Should bootstrap the application by initializing the Collection.', function() {
+ expect( 2 );
+
+ // The todos collection should not be undefined
+ notEqual( this.App.todos, undefined );
+
+ // The initial length of our todos should however be zero
+ equal( this.App.todos.length, 0 );
+});
+
+test( 'Should bind Collection events to View creation.' , function() {
+
+ // Set the value of a brand new todo within the input box
+ $('#new-todo').val( 'Buy some milk' );
+
+ // Trigger the enter (return) key to be pressed inside #new-todo
+ // causing the new item to be added to the todos collection
+ $('#new-todo').trigger(new $.Event( 'keypress', { keyCode: 13 } ));
+
+ // The length of our collection should now be 1
+ equal( this.App.todos.length, 1 );
+ });
+```
+
+## Further Reading & Resources
+
+That's it for this section on testing applications with QUnit and SinonJS. I encourage you to try out the [QUnit Backbone.js Koans](https://github.com/addyosmani/backbone-koans-qunit) and see if you can extend some of the examples. For further reading consider looking at some of the additional resources below:
+
+* **[Test-driven JavaScript Development (book)](http://tddjs.com/)**
+* **[SinonJS/QUnit Adapter](http://sinonjs.org/qunit/)**
+* **[SinonJS and QUnit](http://cjohansen.no/en/javascript/using_sinon_js_with_qunit)**
+* **[Automating JavaScript Testing With QUnit](http://msdn.microsoft.com/en-us/scriptjunkie/gg749824)**
+* **[Ben Alman's Unit Testing With QUnit](http://benalman.com/talks/unit-testing-qunit.html)**
+* **[Another QUnit/Backbone.js demo project](https://github.com/jc00ke/qunit-backbone)**
+* **[SinonJS helpers for Backbone](http://devblog.supportbee.com/2012/02/10/helpers-for-testing-backbone-js-apps-using-jasmine-and-sinon-js/)**
+
+# Unit Testing
+
+One definition of unit testing is the process of taking the smallest piece of testable code in an application, isolating it from the remainder of your codebase, and determining if it behaves exactly as expected.
+
+For an application to be considered 'well-tested', each function should ideally have its own separate unit tests where it's tested against the different conditions you expect it to handle. All tests must pass before functionality is considered 'complete'. This allows developers to both modify a unit of code and its dependencies with a level of confidence about whether these changes have caused any breakage.
+
+A basic example of unit testing is where a developer asserts that passing specific values to a sum function results in the correct value being returned. For an example more relevant to this book, we may wish to assert that adding a new Todo item to a list correctly adds a Model of a specific type to a Todos Collection.
+
+When building modern web-applications, it's typically considered best-practice to include automated unit testing as a part of your development process. In the following chapters we are going to look at three different solutions for unit testing your Backbone.js apps - Jasmine, QUnit and SinonJS.
+
+# Jasmine
+
+## Behavior-Driven Development
+
+In this section, we'll be taking a look at how to unit test Backbone applications using a popular JavaScript testing framework called [Jasmine](http://pivotal.github.com/jasmine/) from Pivotal Labs.
+
+Jasmine describes itself as a behavior-driven development (BDD) framework for testing JavaScript code. Before we jump into how the framework works, it's useful to understand exactly what [BDD](http://en.wikipedia.org/wiki/Behavior_Driven_Development) is.
+
+BDD is a second-generation testing approach first described by [Dan North](http://dannorth.net/introducing-bdd/) (the authority on BDD) which attempts to test the behavior of software. It's considered second-generation as it came out of merging ideas from Domain driven design (DDD) and lean software development. BDD helps teams deliver high-quality software by answering many of the more confusing questions early on in the agile process. Such questions commonly include those concerning documentation and testing.
+
+If you were to read a book on BDD, it's likely that it would be described as being 'outside-in and pull-based'. The reason for this is that it borrows the idea of 'pulling features' from Lean manufacturing which effectively ensures that the right software solutions are being written by a) focusing on the expected outputs of the system and b) ensuring these outputs are achieved.
+
+BDD recognizes that there are usually multiple stakeholders in a project and not a single amorphous user of the system. These different groups will be affected by the software being written in differing ways and will have varying opinions of what quality in the system means to them. It's for this reason that it's important to understand who the software will be bringing value to and exactly what in it will be valuable to them.
+
+Finally, BDD relies on automation. Once you've defined the quality expected, your team will want to check on the functionality of the solution being built regularly and compare it to the results they expect. In order to facilitate this efficiently, the process has to be automated. BDD relies heavily on the automation of specification-testing and Jasmine is a tool which can assist with this.
+
+BDD helps both developers and non-technical stakeholders:
+
+
+* Better understand and represent the models of the problems being solved
+* Explain supported test cases in a language that non-developers can read
+* Focus on minimizing translation of the technical code being written and the domain language spoken by the business
+
+What this means is that developers should be able to show Jasmine unit tests to a project stakeholder and (at a high level, thanks to a common vocabulary being used) they'll ideally be able to understand what the code supports.
+
+Developers often implement BDD in unison with another testing paradigm known as [TDD](http://en.wikipedia.org/wiki/Test-driven_development) (test-driven development). The main idea behind TDD is using the following development process:
+
+1. Write unit tests which describe the functionality you would like your code to support
+2. Watch these tests fail (as the code to support them hasn't yet been written)
+3. Write code to make the tests pass
+4. Rinse, repeat, and refactor
+
+In this chapter we're going to use BDD (with TDD) to write unit tests for a Backbone application.
+
+***Note:*** I've seen a lot of developers also opt for writing tests to validate behavior of their code after having written it. While this is fine, note that it can come with pitfalls such as only testing for behavior your code currently supports, rather than the behavior needed to fully solve the problem.
+
+
+## Suites, Specs, & Spies
+
+When using Jasmine, you'll be writing suites and specifications (specs). Suites basically describe scenarios while specs describe what can be done in these scenarios.
+
+Each spec is a JavaScript function, described with a call to ```it()``` using a description string and a function. The description should describe the behaviour the particular unit of code should exhibit and, keeping in mind BDD, it should ideally be meaningful. Here's an example of a basic spec:
+
+```javascript
+it('should be incrementing in value', function(){
+ var counter = 0;
+ counter++;
+});
+```
+
+On its own, a spec isn't particularly useful until expectations are set about the behavior of the code. Expectations in specs are defined using the ```expect()``` function and an [expectation matcher](https://github.com/pivotal/jasmine/wiki/Matchers) (e.g., ```toEqual()```, ```toBeTruthy()```, ```toContain()```). A revised example using an expectation matcher would look like:
+
+```javascript
+it('should be incrementing in value', function(){
+ var counter = 0;
+ counter++;
+ expect(counter).toEqual(1);
+});
+```
+
+The above code passes our behavioral expectation as ```counter``` equals 1. Notice how easy it was to read the expectation on the last line (you probably grokked it without any explanation).
+
+Specs are grouped into suites which we describe using Jasmine's ```describe()``` function, again passing a string as a description and a function as we did for ```it()```. The name/description for your suite is typically that of the component or module you're testing.
+
+Jasmine will use the description as the group name when it reports the results of the specs you've asked it to run. A simple suite containing our sample spec could look like:
+
+```javascript
+describe('Stats', function(){
+ it('can increment a number', function(){
+ ...
+ });
+
+ it('can subtract a number', function(){
+ ...
+ });
+});
+```
+
+Suites also share a functional scope, so it's possible to declare variables and functions inside a describe block which are accessible within specs:
+
+```javascript
+describe('Stats', function(){
+ var counter = 1;
+
+ it('can increment a number', function(){
+ // the counter was = 1
+ counter = counter + 1;
+ expect(counter).toEqual(2);
+ });
+
+ it('can subtract a number', function(){
+ // the counter was = 2
+ counter = counter - 1;
+ expect(counter).toEqual(1);
+ });
+});
+```
+
+***Note:*** Suites are executed in the order in which they are described, which can be useful to know if you would prefer to see test results for specific parts of your application reported first.
+
+Jasmine also supports **spies** - a way to mock, spy, and fake behavior in our unit tests. Spies replace the function they're spying on, allowing us to simulate behavior we would like to mock (i.e., test without using the actual implementation).
+
+In the example below, we're spying on the ```setComplete``` method of a dummy Todo function to test that arguments can be passed to it as expected.
+
+```javascript
+var Todo = function(){
+};
+
+Todo.prototype.setComplete = function (arg){
+ return arg;
+}
+
+describe('a simple spy', function(){
+ it('should spy on an instance method of a Todo', function(){
+ var myTodo = new Todo();
+ spyOn(myTodo, 'setComplete');
+ myTodo.setComplete('foo bar');
+
+ expect(myTodo.setComplete).toHaveBeenCalledWith('foo bar');
+
+ var myTodo2 = new Todo();
+ spyOn(myTodo2, 'setComplete');
+
+ expect(myTodo2.setComplete).not.toHaveBeenCalled();
+
+ });
+});
+```
+
+You are more likely to use spies for testing [asynchronous](http://en.wikipedia.org/wiki/Asynchronous_communication) behavior in your application such as AJAX requests. Jasmine supports:
+
+* Writing tests which can mock AJAX requests using spies. This allows us to test both the code that initiates the AJAX request and the code executed upon its completion. It's also possible to mock/fake the server responses. The benefit of this type of testing is that it's faster as no real calls are being made to a server. The ability to simulate any response from the server is also of great benefit.
+* Asynchronous tests which don't rely on spies
+
+This example of the first kind of test shows how to fake an AJAX request and verify that the request was both calling the correct URL and executed a callback where one was provided.
+
+```javascript
+it('the callback should be executed on success', function () {
+
+ // `andCallFake()` calls a passed function when a spy
+ // has been called
+ spyOn($, 'ajax').andCallFake(function(options) {
+ options.success();
+ });
+
+ // Create a new spy
+ var callback = jasmine.createSpy();
+
+ // Exexute the spy callback if the
+ // request for Todo 15 is successful
+ getTodo(15, callback);
+
+ // Verify that the URL of the most recent call
+ // matches our expected Todo item.
+ expect($.ajax.mostRecentCall.args[0]['url']).toEqual('/todos/15');
+
+ // `expect(x).toHaveBeenCalled()` will pass if `x` is a
+ // spy and was called.
+ expect(callback).toHaveBeenCalled();
+});
+
+function getTodo(id, callback) {
+ $.ajax({
+ type: 'GET',
+ url: '/todos/'' + id,
+ dataType: 'json',
+ success: callback
+ });
+}
+```
+
+All of these are Spy-specific matchers and are documented on the Jasmine [wiki](https://github.com/pivotal/jasmine/wiki/Spies).
+
+For the second type of test (asynchronous tests), we can take the above further by taking advantage of three other methods Jasmine supports:
+
+* [waits(timeout)](https://github.com/pivotal/jasmine/wiki/Asynchronous-specs) - a native timeout before the next block is run
+* [waitsFor(function, optional message, optional timeout)](https://github.com/pivotal/jasmine/wiki/Asynchronous-specs) - a way to pause specs until some other work has completed. Jasmine waits until the supplied function returns true here before it moves on to the next block.
+* [runs(function)](https://github.com/pivotal/jasmine/wiki/Asynchronous-specs) - a block which runs as if it was directly called. They exist so that we can test asynchronous processes.
+
+```javascript
+it('should make an actual AJAX request to a server', function () {
+
+ // Create a new spy
+ var callback = jasmine.createSpy();
+
+ // Exexute the spy callback if the
+ // request for Todo 16 is successful
+ getTodo(16, callback);
+
+ // Pause the spec until the callback count is
+ // greater than 0
+ waitsFor(function() {
+ return callback.callCount > 0;
+ });
+
+ // Once the wait is complete, our runs() block
+ // will check to ensure our spy callback has been
+ // called
+ runs(function() {
+ expect(callback).toHaveBeenCalled();
+ });
+});
+
+function getTodo(id, callback) {
+ $.ajax({
+ type: 'GET',
+ url: 'todos.json',
+ dataType: 'json',
+ success: callback
+ });
+}
+```
+
+***Note:*** It's useful to remember that when making real requests to a web server in your unit tests, this has the potential to massively slow down the speed at which tests run (due to many factors including server latency). As this also introduces an external dependency that can (and should) be minimized in your unit testing, it is strongly recommended that you opt for spies to remove the dependency on a web server.
+
+## beforeEach() and afterEach()
+
+Jasmine also supports specifying code that can be run before each (```beforeEach()```) and after each (```afterEach()```) test. This is useful for enforcing consistent conditions (such as resetting variables that may be required by specs). In the following example, ```beforeEach()``` is used to create a new sample Todo model which specs can use for testing attributes.
+
+```javascript
+beforeEach(function(){
+ this.todo = new Backbone.Model({
+ text: 'Buy some more groceries',
+ done: false
+ });
+});
+
+it('should contain a text value if not the default value', function(){
+ expect(this.todo.get('text')).toEqual('Buy some more groceries');
+});
+```
+
+Each nested ```describe()``` in your tests can have their own ```beforeEach()``` and ```afterEach()``` methods which support including setup and teardown methods relevant to a particular suite.
+
+
+
+
+`beforeEach()` and `afterEach()` can be used together to write tests verifying that our Backbone routes are being correctly triggered when we navigate to the URL. We can start with the `index` action:
+
+```javascript
+describe('Todo routes', function(){
+
+ beforeEach(function(){
+
+ // Create a new router
+ this.router = new App.TodoRouter();
+
+ // Create a new spy
+ this.routerSpy = jasmine.spy();
+
+ // Begin monitoring hashchange events
+ try{
+ Backbone.history.start({
+ silent:true,
+ pushState: true
+ });
+ }catch(e){
+ // ...
+ }
+
+ // Navigate to a URL
+ this.router.navigate('/js/spec/SpecRunner.html');
+ });
+
+ afterEach(function(){
+
+ // Navigate back to the URL
+ this.router.navigate('/js/spec/SpecRunner.html');
+
+ // Disable Backbone.history temporarily.
+ // Note that this is not really useful in real apps but is
+ // good for testing routers
+ Backbone.history.stop();
+ });
+
+ it('should call the index route correctly', function(){
+ this.router.bind('route:index', this.routerSpy, this);
+ this.router.navigate('', {trigger: true});
+
+ // If everything in our beforeEach() and afterEach()
+ // calls have been correctly executed, the following
+ // should now pass.
+ expect(this.routerSpy).toHaveBeenCalledOnce();
+ expect(this.routerSpy).toHaveBeenCalledWith();
+ });
+
+});
+```
+
+The actual TodoRouter for that would make the above test pass looks like:
+
+```javascript
+var App = App || {};
+App.TodoRouter = Backbone.Router.extend({
+ routes:{
+ '': 'index'
+ },
+ index: function(){
+ //...
+ }
+});
+```
+
+## Shared scope
+
+Let's imagine we have a Suite where we wish to check for the existence of a new Todo item instance. This could be done by duplicating the spec as follows:
+
+```javascript
+describe("Todo tests", function(){
+
+ // Spec
+ it("Should be defined when we create it", function(){
+ // A Todo item we are testing
+ var todo = new Todo("Get the milk", "Tuesday");
+ expect(todo).toBeDefined();
+ });
+
+ it("Should have the correct title", function(){
+ // Where we introduce code duplication
+ var todo = new Todo("Get the milk", "Tuesday");
+ expect(todo.title).toBe("Get the milk");
+ });
+
+});
+```
+
+As you can see, we've introduced duplication that should ideally be refactored into something cleaner. We can do this using Jasmine's Suite (Shared) Functional Scope.
+
+All of the specs within the same Suite share the same functional scope, meaning that variables declared within the Suite itself are available to all of the Specs in that suite. This gives us a way to work around our duplication problem by moving the creation of our Todo objects into the common functional scope:
+
+```javascript
+describe("Todo tests", function(){
+
+ // The instance of Todo, the object we wish to test
+ // is now in the shared functional scope
+ var todo = new Todo("Get the milk", "Tuesday");
+
+ // Spec
+ it("should be correctly defined", function(){
+ expect(todo).toBeDefined();
+ });
+
+ it("should have the correct title", function(){
+ expect(todo.title).toBe("Get the milk");
+ });
+
+});
+```
+
+In the previous section you may have noticed that we initially declared ```this.todo``` within the scope of our ```beforeEach()``` call and were then able to continue using this reference in ```afterEach()```.
+
+This is again down to shared function scope, which allows such declaractions to be common to all blocks (including ```runs()```).
+
+Variables declared outside of the shared scope (i.e within the local scope `var todo=...`) will however not be shared.
+
+## Getting set up
+
+Now that we've reviewed some fundamentals, let's go through downloading Jasmine and getting everything set up to write tests.
+
+A standalone release of Jasmine can be [downloaded](https://github.com/pivotal/jasmine/downloads) from the official release page.
+
+You'll need a file called SpecRunner.html in addition to the release. It can be downloaded from https://github.com/pivotal/jasmine/tree/master/lib/jasmine-core/example or as part of a download of the complete Jasmine [repo](https://github.com/pivotal/jasmine/zipball/master). Alternatively, you can ```git clone``` the main Jasmine repository from https://github.com/pivotal/jasmine.git.
+
+Let's review [SpecRunner.html.jst](https://github.com/pivotal/jasmine/blob/master/lib/templates/SpecRunner.html.jst):
+
+It first includes both Jasmine and the necessary CSS required for reporting:
+
+
+
+
+
+
+Next come the sources being tested:
+
+
+
+
+
+Finally, some sample tests are included:
+
+
+
+
+
+
+***Note:*** Below this section of SpecRunner is code responsible for running the actual tests. Given that we won't be covering modifying this code, I'm going to skip reviewing it. I do however encourage you to take a look through [PlayerSpec.js](https://github.com/pivotal/jasmine/blob/master/lib/jasmine-core/example/spec/PlayerSpec.js) and [SpecHelper.js](https://github.com/pivotal/jasmine/blob/master/lib/jasmine-core/example/spec/SpecHelper.js). They're a useful basic example to go through how a minimal set of tests might work.
+
+Also note that for the purposes of introduction, some of the examples in this section will be testing aspects of Backbone.js itself, just to give you a feel for how Jasmine works. You generally will not need to write testing ensuring a framework is working as expected.
+
+
+## TDD With Backbone
+
+When developing applications with Backbone, it can be necessary to test both individual modules of code as well as models, views, collections, and routers. Taking a TDD approach to testing, let's review some specs for testing these Backbone components using the popular Backbone [Todo](https://github.com/addyosmani/todomvc/tree/master/todo-example/backbone) application.
+
+## Models
+
+The complexity of Backbone models can vary greatly depending on what your application is trying to achieve. In the following example, we're going to test default values, attributes, state changes, and validation rules.
+
+First, we begin our suite for model testing using ```describe()```:
+
+```javascript
+describe('Tests for Todo', function() {
+```
+
+Models should ideally have default values for attributes. This helps ensure that when creating instances without a value set for any specific attribute, a default one (e.g., an empty string) is used instead. The idea here is to allow your application to interact with models without any unexpected behavior.
+
+In the following spec, we create a new Todo without any attributes passed then check to find out what the value of the ```text``` attribute is. As no value has been set, we expect a default value of `''` to be returned.
+
+```javascript
+it('Can be created with default values for its attributes.', function() {
+ var todo = new Todo();
+ expect(todo.get('text')).toBe('');
+});
+```
+
+If testing this spec before your models have been written, you'll incur a failing test, as expected. What's required for the spec to pass is a default value for the attribute ```text```. We can set this and some other useful defaults (which we'll be using shortly) in our Todo model as follows:
+
+```javascript
+window.Todo = Backbone.Model.extend({
+
+ defaults: {
+ text: '',
+ done: false,
+ order: 0
+ }
+```
+
+Next, it is common to include validation logic in your models to ensure that input passed from users or other modules in the application are valid.
+
+A Todo app may wish to validate the text input supplied in case it contains rude words. Similarly if we're storing the ```done``` state of a Todo item using booleans, we need to validate that truthy/falsy values are passed and not just any arbitrary string.
+
+In the following spec, we take advantage of the fact that validations which fail model.validate() trigger an "invalid" event. This allows us to test if validations are correctly failing when invalid input is supplied.
+
+We create an errorCallback spy using Jasmine's built in ```createSpy()``` method which allows us to spy on the invalid event as follows:
+
+```javascript
+it('Can contain custom validation rules, and will trigger an invalid event on failed validation.', function() {
+
+ var errorCallback = jasmine.createSpy('-invalid event callback-');
+
+ var todo = new Todo();
+
+ todo.on('invalid', errorCallback);
+
+ // What would you need to set on the todo properties to
+ // cause validation to fail?
+
+ todo.set({done:'a non-boolean value'});
+
+ var errorArgs = errorCallback.mostRecentCall.args;
+
+ expect(errorArgs).toBeDefined();
+ expect(errorArgs[0]).toBe(todo);
+ expect(errorArgs[1]).toBe('Todo.done must be a boolean value.');
+});
+
+```
+
+The code to make the above failing test support validation is relatively simple. In our model, we override the validate() method (as recommended in the Backbone docs), checking to make sure a model both has a 'done' property and that its value is a valid boolean before allowing it to pass.
+
+```javascript
+validate: function(attrs) {
+ if (attrs.hasOwnProperty('done') && !_.isBoolean(attrs.done)) {
+ return 'Todo.done must be a boolean value.';
+ }
+}
+```
+
+If you would like to review the final code for our Todo model, you can find it below:
+
+```javascript
+
+window.Todo = Backbone.Model.extend({
+
+ defaults: {
+ text: '',
+ done: false,
+ order: 0
+ },
+
+ initialize: function() {
+ this.set({text: this.get('text')}, {silent: true});
+ },
+
+ validate: function(attrs) {
+ if (attrs.hasOwnProperty('done') && !_.isBoolean(attrs.done)) {
+ return 'Todo.done must be a boolean value.';
+ }
+ },
+
+ toggle: function() {
+ this.save({done: !this.get('done')});
+ }
+
+});
+```
+
+
+## Collections
+
+We now need to define specs to test a Backbone collection of Todo models (a TodoList). Collections are responsible for a number of list tasks including managing order and filtering.
+
+A few specific specs that come to mind when working with collections are:
+
+* Making sure we can add new Todo models as both objects and arrays
+* Attribute testing to make sure attributes such as the base URL of the collection are values we expect
+* Purposefully adding items with a status of ```done:true``` and checking against how many items the collection thinks have been completed vs. those that are remaining
+
+In this section we're going to cover the first two of these with the third left as an extended exercise you can try on your own.
+
+Testing that Todo models can be added to a collection as objects or arrays is relatively trivial. First, we initialize a new TodoList collection and check to make sure its length (i.e., the number of Todo models it contains) is 0. Next, we add new Todos, both as objects and arrays, checking the length property of the collection at each stage to ensure the overall count is what we expect:
+
+```javascript
+describe('Tests for TodoList', function() {
+
+ it('Can add Model instances as objects and arrays.', function() {
+ var todos = new TodoList();
+
+ expect(todos.length).toBe(0);
+
+ todos.add({ text: 'Clean the kitchen' });
+
+ // how many todos have been added so far?
+ expect(todos.length).toBe(1);
+
+ todos.add([
+ { text: 'Do the laundry', done: true },
+ { text: 'Go to the gym'}
+ ]);
+
+ // how many are there in total now?
+ expect(todos.length).toBe(3);
+ });
+...
+```
+
+Similar to model attributes, it's also quite straight-forward to test attributes in collections. Here we have a spec that ensures the collection url (i.e., the url reference to the collection's location on the server) is what we expect it to be:
+
+```javascript
+it('Can have a url property to define the basic url structure for all contained models.', function() {
+ var todos = new TodoList();
+
+ // what has been specified as the url base in our model?
+ expect(todos.url).toBe('/todos/');
+});
+
+```
+
+For the third spec (which you will write as an exercise), note that the implementation for our collection will have methods for filtering how many Todo items are done and how many are remaining - we'll call these ```done()``` and ```remaining()```. Consider writing a spec which creates a new collection and adds one new model that has a preset ```done``` state of ```true``` and two others that have the default ```done``` state of ```false```. Testing the length of what's returned using ```done()``` and ```remaining()``` will tell us whether the state management in our application is working or needs a little tweaking.
+
+The final implementation for our TodoList collection can be found below:
+
+
+```javascript
+ window.TodoList = Backbone.Collection.extend({
+
+ model: Todo,
+
+ url: '/todos/',
+
+ done: function() {
+ return this.filter(function(todo) { return todo.get('done'); });
+ },
+
+ remaining: function() {
+ return this.without.apply(this, this.done());
+ },
+
+ nextOrder: function() {
+ if (!this.length) {
+ return 1;
+ }
+
+ return this.last().get('order') + 1;
+ },
+
+ comparator: function(todo) {
+ return todo.get('order');
+ }
+
+ });
+```
+
+
+## Views
+
+Before we take a look at testing Backbone views, let's briefly review a jQuery plugin that can assist with writing Jasmine specs for them.
+
+**The Jasmine jQuery Plugin**
+
+As we know our Todo application will be using jQuery for DOM manipulation, there's a useful jQuery plugin called [jasmine-jquery](https://github.com/velesin/jasmine-jquery) we can use to help simplify BDD testing of the rendering performed by our views.
+
+The plugin provides a number of additional Jasmine [matchers](https://github.com/pivotal/jasmine/wiki/Matchers) to help test jQuery-wrapped sets such as:
+
+* ```toBe(jQuerySelector)``` e.g., ```expect($('')).toBe('div#some-id')```
+* ```toBeChecked()``` e.g., ```expect($('')).toBeChecked()```
+* ```toBeSelected()``` e.g., ```expect($('')).toBeSelected()```
+
+and [many others](https://github.com/velesin/jasmine-jquery). The complete list of matchers supported can be found on the project homepage. It's useful to know that similar to the standard Jasmine matchers, the custom matchers above can be inverted using the .not prefix (i.e ```expect(x).not.toBe(y)```):
+
+```javascript
+expect($('
I am an example
')).not.toHaveText(/other/)
+```
+
+jasmine-jquery also includes a fixtures module that can be used to load arbitrary HTML content we wish to use in our tests. Fixtures can be used as follows:
+
+Include some HTML in an external fixtures file:
+
+some.fixture.html:
+```
some HTML content
```
+
+Then inside our actual test we would load it as follows:
+
+```javascript
+loadFixtures('some.fixture.html')
+$('some-fixture').myTestedPlugin();
+expect($('#some-fixture')).to
+```
+
+The jasmine-jquery plugin loads fixtures from a directory named spec/javascripts/fixtures by default. If you wish to configure this path you can do so by initially setting ```jasmine.getFixtures().fixturesPath = 'your custom path'```.
+
+Finally, jasmine-jquery includes support for spying on jQuery events without the need for any extra plumbing work. This can be done using the ```spyOnEvent()``` and ```assert(eventName).toHaveBeenTriggered(selector)``` functions. For example:
+
+```javascript
+spyOnEvent($('#el'), 'click');
+$('#el').click();
+expect('click').toHaveBeenTriggeredOn($('#el'));
+```
+
+### View testing
+
+In this section we will review the three dimensions of specs writing for Backbone Views: initial setup, view rendering, and templating. The latter two of these are the most commonly tested, however we'll see shortly why writing specs for the initialization of your views can also be of benefit.
+
+#### Initial setup
+
+At their most basic, specs for Backbone views should validate that they are being correctly tied to specific DOM elements and are backed by valid data models. The reason to consider doing this is that these specs can identify issues which will trip up more complex tests later on. Also, they're fairly simple to write given the overall value offered.
+
+To help ensure a consistent testing setup for our specs, we use ```beforeEach()``` to append both an empty ```
``` (#todoList) to the DOM and initialize a new instance of a TodoView using an empty Todo model. ```afterEach()``` is used to remove the previous #todoList ```
``` as well as the previous instance of the view.
+
+```javascript
+describe('Tests for TodoView', function() {
+
+ beforeEach(function() {
+ $('body').append('
');
+ this.todoView = new TodoView({ model: new Todo() });
+ });
+
+
+ afterEach(function() {
+ this.todoView.remove();
+ $('#todoList').remove();
+ });
+
+...
+```
+
+The first spec useful to write is a check that the TodoView we've created is using the correct ```tagName``` (element or className). The purpose of this test is to make sure it's been correctly tied to a DOM element when it was created.
+
+Backbone views typically create empty DOM elements once initialized, however these elements are not attached to the visible DOM in order to allow them to be constructed without an impact on the performance of rendering.
+
+```javascript
+it('Should be tied to a DOM element when created, based off the property provided.', function() {
+ //what html element tag name represents this view?
+ expect(todoView.el.tagName.toLowerCase()).toBe('li');
+});
+```
+
+Once again, if the TodoView has not already been written, we will experience failing specs. Thankfully, solving this is as simple as creating a new Backbone.View with a specific ```tagName```.
+
+```javascript
+var todoView = Backbone.View.extend({
+ tagName: 'li'
+});
+```
+
+If instead of testing against the ```tagName``` you would prefer to use a className instead, we can take advantage of jasmine-jquery's ```toHaveClass()``` matcher:
+
+```
+it('Should have a class of "todos"'), function(){
+ expect(this.view.$el).toHaveClass('todos');
+});
+```
+
+The ```toHaveClass()``` matcher operates on jQuery objects and if the plugin hadn't been used, an exception would have been thrown. It is of course also possible to test for the className by accessing el.className if you don't use jasmine-jquery.
+
+You may have noticed that in ```beforeEach()```, we passed our view an initial (albeit unfilled) Todo model. Views should be backed by a model instance which provides data. As this is quite important to our view's ability to function, we can write a spec to ensure a model is defined (using the ```toBeDefined()``` matcher) and then test attributes of the model to ensure defaults both exist and are the values we expect them to be.
+
+```javascript
+it('Is backed by a model instance, which provides the data.', function() {
+
+ expect(todoView.model).toBeDefined();
+
+ // what's the value for Todo.get('done') here?
+ expect(todoView.model.get('done')).toBe(false); //or toBeFalsy()
+});
+```
+
+#### View rendering
+
+
+Next we're going to take a look at writing specs for view rendering. Specifically, we want to test that our TodoView elements are actually rendering as expected.
+
+In smaller applications, those new to BDD might argue that visual confirmation of view rendering could replace unit testing of views. The reality is that when dealing with applications that might grow to a large number of views, it makes sense to automate this process as much as possible from the get-go. There are also aspects of rendering that require verification beyond what is visually presented on-screen (which we'll see very shortly).
+
+We're going to begin testing views by writing two specs. The first spec will check that the view's ```render()``` method is correctly returning the view instance, which is necessary for chaining. Our second spec will check that the HTML produced is exactly what we expect based on the properties of the model instance that's been associated with our TodoView.
+
+Unlike some of the previous specs we've covered, this section will make greater use of ```beforeEach()``` to both demonstrate how to use nested suites and also ensure a consistent set of conditions for our specs. In our first example we're simply going to create a sample model (based on Todo) and instantiate a TodoView with it.
+
+```javascript
+describe('TodoView', function() {
+
+ beforeEach(function() {
+ this.model = new Backbone.Model({
+ text: 'My Todo',
+ order: 1,
+ done: false
+ });
+ this.view = new TodoView({model:this.model});
+ });
+
+ describe('Rendering', function() {
+
+ it('returns the view object', function() {
+ expect(this.view.render()).toEqual(this.view);
+ });
+
+ it('produces the correct HTML', function() {
+ this.view.render();
+
+ // let's use jasmine-jquery's toContain() to avoid
+ // testing for the complete content of a todo's markup
+ expect(this.view.el.innerHTML)
+ .toContain('');
+ });
+
+ });
+
+});
+```
+
+
+When these specs are run, only the second one ('produces the correct HTML') fails. Our first spec ('returns the view object'), which is testing that the TodoView instance is returned from ```render()```, passes since this is Backbone's default behavior and we haven't overwritten the ```render()``` method with our own version yet.
+
+**Note:** For the purposes of maintaining readability, all template examples in this section will use a minimal version of the following Todo view template. As it's relatively trivial to expand this, please feel free to refer to this sample if needed:
+
+
+
+
+
+ />
+
+
+
+
+
+
+
+
+
+
+The second spec fails with the following message:
+
+```Expected '' to contain ''.```
+
+The reason for this is the default behavior for render() doesn't create any markup. Let's write a replacement for render() which fixes this:
+
+```javascript
+render: function() {
+ var template = '';
+ var output = template
+ .replace('+++PLACEHOLDER+++', this.model.get('text'));
+ this.$el.html(output);
+ return this;
+}
+```
+
+The above specifies an inline string template and replaces fields found in the template within the "+++PLACEHOLDER+++" blocks with their corresponding values from the associated model. As we're also returning the TodoView instance from the method, the first spec will still pass.
+
+It would be impossible to discuss unit testing without mentioning fixtures. Fixtures typically contain test data (e.g., HTML) that is loaded in when needed (either locally or from an external file) for unit testing. So far we've been establishing jQuery expectations based on the view's el property. This works for a number of cases, however, there are instances where it may be necessary to render markup into the document. The most optimal way to handle this within specs is through using fixtures (another feature brought to us by the jasmine-jquery plugin).
+
+Re-writing the last spec to use fixtures would look as follows:
+
+
+```javascript
+describe('TodoView', function() {
+
+ beforeEach(function() {
+ ...
+ setFixtures('
');
+ });
+
+ ...
+
+ describe('Template', function() {
+
+ beforeEach(function() {
+ $('.todos').append(this.view.render().el);
+ });
+
+ it('has the correct text content', function() {
+ expect($('.todos').find('.todo-content'))
+ .toHaveText('My Todo');
+ });
+
+ });
+
+});
+```
+
+What we're now doing in the above spec is appending the rendered todo item into the fixture. We then set expectations against the fixture, which may be something desirable when a view is setup against an element which already exists in the DOM. It would be necessary to provide both the fixture and test the ```el``` property correctly picking up the element expected when the view is instantiated.
+
+
+#### Rendering with a templating system
+
+
+When a user marks a Todo item as complete (done), we may wish to provide them with visual feedback (such as a striked line through the text) to differentiate the item from those that are remaining. This can be done by attaching a new class to the item. Let's begin by writing a test:
+
+
+```javascript
+describe('When a todo is done', function() {
+
+ beforeEach(function() {
+ this.model.set({done: true}, {silent: true});
+ $('.todos').append(this.view.render().el);
+ });
+
+ it('has a done class', function() {
+ expect($('.todos .todo-content:first-child'))
+ .toHaveClass('done');
+ });
+
+});
+```
+
+This will fail with the following message:
+
+```Expected ''
+to have class 'done'.
+```
+
+which can be fixed in the existing render() method as follows:
+
+
+```javascript
+render: function() {
+ var template = '';
+ var output = template
+ .replace('<%= text %>', this.model.get('text'));
+ this.$el.html(output);
+ if (this.model.get('done')) {
+ this.$('.todo-content').addClass('done');
+ }
+ return this;
+}
+```
+
+
+However, this can get unwieldily fairly quickly. As the level of complexity and logic in our templates increase, so do the challenges associated with testing them. We can ease this process by taking advantage of modern templating libraries, many of which have already been demonstrated to work well with testing solutions such as Jasmine.
+
+JavaScript templating systems (such as [Handlebars](http://handlebarsjs.com/), [Mustache](http://mustache.github.com/), and Underscore's own [micro-templating](http://underscorejs.org/#template)) support conditional logic in template strings. What this effectively means is that we can add if/else/ternery expressions inline which can then be evaluated as needed, allowing us to build even more powerful templates.
+
+In our case, we are going to use the micro-templating found in Underscore.js as no additional files are required to use it and we can easily modify our existing specs to use it without a great deal of effort.
+
+Assuming our template is defined using a script tag of ID `myTemplate`:
+
+```
+
+```
+
+Our TodoView can be modified to use Underscore templating as follows:
+
+```javascript
+var TodoView = Backbone.View.extend({
+
+ tagName: 'li',
+ template: _.template($('#myTemplate').html()),
+
+ initialize: function(options) {
+ // ...
+ },
+
+ render: function() {
+ this.$el.html(this.template(this.model.toJSON()));
+ return this;
+ },
+
+ ...
+
+});
+```
+
+So, what's going on here? We're first defining our template in a script tag with a custom script type (e.g., type="text/template"). As this isn't a script type any browser understands, it's simply ignored, however referencing the script by an id attribute allows the template to be kept separate to other parts of the page.
+
+In our view, we're the using the Underscore `_.template()` method to compile our template into a function that we can easily pass model data to later on. In the line `this.model.toJSON()` we are simply returning a copy of the model's attributes for JSON stringification to the `template` method, creating a block of HTML that can now be appended to the DOM.
+
+Note: Ideally all of your template logic should exist outside of your specs, either in individual template files or embedded using script tags within your SpecRunner. This is generally more maintainable.
+
+If you are working with much smaller templates and are not doing this, there is however a useful trick that can be applied to automatically create or extend templates in the Jasmine shared functional scope for each test.
+
+By creating a new directory (say, 'templates') in the 'spec' folder and including a new script file with the following contents into SpecRunner.html, we can manually add custom attributes representing smaller templates we wish to use:
+
+```javascript
+beforeEach(function() {
+ this.templates = _.extend(this.templates || {}, {
+ todo: ''
+ });
+});
+```
+
+To finish this off, we simply update our existing spec to reference the template when instantiating the TodoView:
+
+```javascript
+describe('TodoView', function() {
+
+ beforeEach(function() {
+ ...
+ this.view = new TodoView({
+ model: this.model,
+ template: this.templates.todo
+ });
+ });
+
+ ...
+
+});
+```
+
+The existing specs we've looked at would continue to pass using this approach, leaving us free to adjust the template with some additional conditional logic for Todos with a status of 'done':
+
+```javascript
+beforeEach(function() {
+ this.templates = _.extend(this.templates || {}, {
+ todo: ''
+ });
+});
+```
+
+This will now also pass without any issues, however as mentioned, this last approach probably only makes sense if you're working with smaller, highly dynamic templates.
+
+
+## Conclusions
+
+We have now covered how to write Jasmine tests for Backbone.js models, collections, and views. While testing routing can at times be desirable, some developers feel it can be more optimal to leave this to third-party tools such as Selenium, so do keep this in mind.
+
+## Exercise
+
+As an exercise, I recommend now trying the Jasmine Koans in `practicals\jasmine-koans` and trying to fix some of the purposefully failing tests it has to offer. This is an excellent way of not just learning how Jasmine specs and suites work, but working through the examples (without peeking back) will also put your Backbone skills to the test too.
+
+
+## Further reading
+* [Testing Backbone Apps With SinonJS](http://tinnedfruit.com/2011/04/26/testing-backbone-apps-with-jasmine-sinon-3.html) by James Newbry
+* [Jasmine + Backbone Revisited](http://japhr.blogspot.com/2011/11/jasmine-backbonejs-revisited.html)
+* [Backbone, PhantomJS and Jasmine](http://japhr.blogspot.com/2011/12/phantomjs-and-backbonejs-and-requirejs.html)
+
+# QUnit
+
+## Introduction
+
+QUnit is a powerful JavaScript test suite written by jQuery team member [Jörn Zaefferer](http://bassistance.de/) and used by many large open-source projects (such as jQuery and Backbone.js) to test their code. It's both capable of testing standard JavaScript code in the browser as well as code on the server-side (where environments supported include Rhino, V8 and SpiderMonkey). This makes it a robust solution for a large number of use-cases.
+
+Quite a few Backbone.js contributors feel that QUnit is a better introductory framework for testing if you don't wish to start off with Jasmine and BDD right away. As we'll see later on in this chapter, QUnit can also be combined with third-party solutions such as SinonJS to produce an even more powerful testing solution supporting spies and mocks, which some say is preferable over Jasmine.
+
+My personal recommendation is that it's worth comparing both frameworks and opting for the solution that you feel the most comfortable with.
+
+## Getting Setup
+
+Luckily, getting QUnit setup is a fairly straight-forward process that will take less than 5 minutes.
+
+We first setup a testing environment composed of three files:
+
+* An HTML **structure** for displaying test results
+* The **qunit.js** file composing the testing framework
+* The **qunit.css** file for styling test results
+
+The latter two of these can be downloaded from the [QUnit website](http://qunitjs.com).
+
+If you would prefer, you can use a hosted version of the QUnit source files for testing purposes. The hosted URLs can be found at .
+
+#### Sample HTML with QUnit-compatible markup:
+
+```html
+
+
+
+ QUnit Test Suite
+
+
+
+
+
+
+
+
+
+
+
+
QUnit Test Suite
+
+
+
+ test markup, hidden.
+
+
+```
+
+Let's go through the elements above with qunit mentioned in their ID. When QUnit is running:
+
+* **qunit-header** shows the name of the test suite
+* **qunit-banner** shows up as red if a test fails and green if all tests pass
+* **qunit-testrunner-toolbar** contains additional options for configuring the display of tests
+* **qunit-userAgent** displays the navigator.userAgent property
+* **qunit-tests** is a container for our test results
+
+When running correctly, the above test runner looks as follows:
+
+![screenshot 1](img/7d4de12.png)
+
+The numbers of the form (a, b, c) after each test name correspond to a) failed asserts, b) passed asserts and c) total asserts. Clicking on a test name expands it to display all of the assertions for that test case. Assertions in green have successfully passed.
+
+![screenshot 2](img/9df4.png)
+
+If however any tests fail, the test gets highlighted (and the qunit-banner at the top switches to red):
+
+![screenshot 3](img/3e5545.png)
+
+
+## Assertions
+
+QUnit supports a number of basic **assertions**, which are used in tests to verify that the result being returned by our code is what we expect. If an assertion fails, we know that a bug exists. Similar to Jasmine, QUnit can be used to easily test for regressions. Specifically, when a bug is found one can write an assertion to test the existence of the bug, write a patch, and then commit both. If subsequent changes to the code break the test you'll know what was responsible and be able to address it more easily.
+
+Some of the supported QUnit assertions we're going to look at first are:
+
+* `ok ( state, message )` - passes if the first argument is truthy
+* `equal ( actual, expected, message )` - a simple comparison assertion with type coercion
+* `notEqual ( actual, expected, message )` - the opposite of the above
+* `expect( amount )` - the number of assertions expected to run within each test
+* `strictEqual( actual, expected, message)` - offers a much stricter comparison than `equal()` and is considered the preferred method of checking equality as it avoids stumbling on subtle coercion bugs
+* `deepEqual( actual, expected, message )` - similar to `strictEqual`, comparing the contents (with `===`) of the given objects, arrays and primitives.
+
+#### Basic test case using test( name, callback )
+
+Creating new test cases with QUnit is relatively straight-forward and can be done using ```test()```, which constructs a test where the first argument is the ```name``` of the test to be displayed in our results and the second is a ```callback``` function containing all of our assertions. This is called as soon as QUnit is running.
+
+```javascript
+var myString = 'Hello Backbone.js';
+
+test( 'Our first QUnit test - asserting results', function(){
+
+ // ok( boolean, message )
+ ok( true, 'the test succeeds');
+ ok( false, 'the test fails');
+
+ // equal( actualValue, expectedValue, message )
+ equal( myString, 'Hello Backbone.js', 'The value expected is Hello Backbone.js!');
+});
+```
+
+What we're doing in the above is defining a variable with a specific value and then testing to ensure the value was what we expected it to be. This was done using the comparison assertion, ```equal()```, which expects its first argument to be a value being tested and the second argument to be the expected value. We also used ```ok()```, which allows us to easily test against functions or variables that evaluate to booleans.
+
+Note: Optionally in our test case, we could have passed an 'expected' value to ```test()``` defining the number of assertions we expect to run. This takes the form: `test( name, [expected], test );` or by manually settings the expectation at the top of the test function, like so: `expect( 1 )`. I recommend you make a habit of always defining how many assertions you expect. More on this later.
+
+#### Comparing the actual output of a function against the expected output
+
+As testing a simple static variable is fairly trivial, we can take this further to test actual functions. In the following example we test the output of a function that reverses a string to ensure that the output is correct using ```equal()``` and ```notEqual()```:
+
+```javascript
+function reverseString( str ){
+ return str.split('').reverse().join('');
+}
+
+test( 'reverseString()', function() {
+ expect( 5 );
+ equal( reverseString('hello'), 'olleh', 'The value expected was olleh' );
+ equal( reverseString('foobar'), 'raboof', 'The value expected was raboof' );
+ equal( reverseString('world'), 'dlrow', 'The value expected was dlrow' );
+ notEqual( reverseString('world'), 'dlroo', 'The value was expected to not be dlroo' );
+ equal( reverseString('bubble'), 'double', 'The value expected was elbbub' );
+})
+```
+
+Running these tests in the QUnit test runner (which you would see when your HTML test page was loaded) we would find that four of the assertions pass while the last one does not. The reason the test against `'double'` fails is because it was purposefully written incorrectly. In your own projects if a test fails to pass and your assertions are correct, you've probably just found a bug!
+
+
+## Adding structure to assertions
+
+Housing all of our assertions in one test case can quickly become difficult to maintain, but luckily QUnit supports structuring blocks of assertions more cleanly. This can be done using ```module()``` - a method that allows us to easily group tests together. A typical approach to grouping might be keeping multiple tests for a specific method as part of the same group (module).
+
+#### Basic QUnit Modules
+
+```javascript
+module( 'Module One' );
+test( 'first test', function() {} );
+test( 'another test', function() {} );
+
+module( 'Module Two' );
+test( 'second test', function() {} );
+test( 'another test', function() {} );
+
+module( 'Module Three' );
+test( 'third test', function() {} );
+test( 'another test', function() {} );
+```
+
+We can take this further by introducing ```setup()``` and ```teardown()``` callbacks to our modules, where ```setup()``` is run before each test and ```teardown()``` is run after each test.
+
+#### Using setup() and teardown()
+```javascript
+module( 'Module One', {
+ setup: function() {
+ // run before
+ },
+ teardown: function() {
+ // run after
+ }
+});
+
+test('first test', function() {
+ // run the first test
+});
+```
+
+These callbacks can be used to define (or clear) any components we wish to instantiate for use in one or more of our tests. As we'll see shortly, this is ideal for defining new instances of views, collections, models, or routers from a project that we can then reference across multiple tests.
+
+#### Using setup() and teardown() for instantiation and clean-up
+
+```javascript
+// Define a simple model and collection modeling a store and
+// list of stores
+
+var Store = Backbone.Model.extend({});
+
+var StoreList = Backbone.Collection.extend({
+ model: Store,
+ comparator: function( Store ) { return Store.get('name') }
+});
+
+// Define a group for our tests
+module( 'StoreList sanity check', {
+ setup: function() {
+ this.list = new StoreList;
+ this.list.add(new Store({ name: 'Costcutter' }));
+ this.list.add(new Store({ name: 'Target' }));
+ this.list.add(new Store({ name: 'Walmart' }));
+ this.list.add(new Store({ name: 'Barnes & Noble' }));
+ },
+ teardown: function() {
+ window.errors = null;
+ }
+});
+
+// Test the order of items added
+test( 'test ordering', function() {
+ expect( 1 );
+ var expected = ['Barnes & Noble', 'Costcutter', 'Target', 'Walmart'];
+ var actual = this.list.pluck('name');
+ deepEqual( actual, expected, 'is maintained by comparator' );
+});
+
+```
+
+Here, a list of stores is created and stored on ```setup()```. A ```teardown()``` callback is used to simply clear a list of errors we might be storing within the window scope, but is otherwise not needed.
+
+
+## Assertion examples
+
+Before we continue any further, let's review some more examples of how QUnit's various assertions can be correctly used when writing tests:
+
+### equal - a comparison assertion. It passes if actual == expected
+
+```javascript
+test( 'equal', 2, function() {
+ var actual = 6 - 5;
+ equal( actual, true, 'passes as 1 == true' );
+ equal( actual, 1, 'passes as 1 == 1' );
+});
+```
+
+
+### notEqual - a comparison assertion. It passes if actual != expected
+
+```javascript
+test( 'notEqual', 2, function() {
+ var actual = 6 - 5;
+ notEqual( actual, false, 'passes as 1 != false' );
+ notEqual( actual, 0, 'passes as 1 != 0' );
+});
+```
+
+### strictEqual - a comparison assertion. It passes if actual === expected
+
+```javascript
+test( 'strictEqual', 2, function() {
+ var actual = 6 - 5;
+ strictEqual( actual, true, 'fails as 1 !== true' );
+ strictEqual( actual, 1, 'passes as 1 === 1' );
+});
+```
+
+### notStrictEqual - a comparison assertion. It passes if actual !== expected
+
+```javascript
+test('notStrictEqual', 2, function() {
+ var actual = 6 - 5;
+ notStrictEqual( actual, true, 'passes as 1 !== true' );
+ notStrictEqual( actual, 1, 'fails as 1 === 1' );
+});
+```
+
+### deepEqual - a recursive comparison assertion. Unlike strictEqual(), it works on objects, arrays and primitives.
+
+```javascript
+test('deepEqual', 4, function() {
+ var actual = {q: 'foo', t: 'bar'};
+ var el = $('div');
+ var children = $('div').children();
+
+ equal( actual, {q: 'foo', t: 'bar'}, 'fails - objects are not equal using equal()' );
+ deepEqual( actual, {q: 'foo', t: 'bar'}, 'passes - objects are equal' );
+ equal( el, children, 'fails - jQuery objects are not the same' );
+ deepEqual(el, children, 'fails - objects not equivalent' );
+
+});
+```
+
+### notDeepEqual - a comparison assertion. This returns the opposite of deepEqual
+
+```javascript
+test('notDeepEqual', 2, function() {
+ var actual = {q: 'foo', t: 'bar'};
+ notEqual( actual, {q: 'foo', t: 'bar'}, 'passes - objects are not equal' );
+ notDeepEqual( actual, {q: 'foo', t: 'bar'}, 'fails - objects are equivalent' );
+});
+```
+
+### raises - an assertion which tests if a callback throws any exceptions
+
+```javascript
+test('raises', 1, function() {
+ raises(function() {
+ throw new Error( 'Oh no! It`s an error!' );
+ }, 'passes - an error was thrown inside our callback');
+});
+```
+
+## Fixtures
+
+
+From time to time we may need to write tests that modify the DOM. Managing the clean-up of such operations between tests can be a genuine pain, but thankfully QUnit has a solution to this problem in the form of the `#qunit-fixture` element, seen below.
+
+#### Fixture markup:
+```html
+
+
+
+ QUnit Test
+
+
+
+
+
+
+
QUnit Test
+
+
+
+
+
+
+
+```
+
+We can either opt to place static markup in the fixture or just insert/append any DOM elements we may need to it. QUnit will automatically reset the `innerHTML` of the fixture after each test to its original value. In case you're using jQuery, it's useful to know that QUnit checks for its availability and will opt to use ```$(el).html()``` instead, which will cleanup any jQuery event handlers too.
+
+
+### Fixtures example:
+
+Let us now go through a more complete example of using fixtures. One thing that most of us are used to doing in jQuery is working with lists - they're often used to define the markup for menus, grids, and a number of other components. You may have used jQuery plugins before that manipulated a given list in a particular way and it can be useful to test that the final (manipulated) output of the plugin is what was expected.
+
+For the purposes of our next example, we're going to use Ben Alman's `$.enumerate()` plugin, which can prepend each item in a list by its index, optionally allowing us to set what the first number in the list is. The code snippet for the plugin can be found below, followed by an example of the output it generates:
+
+```javascript
+$.fn.enumerate = function( start ) {
+ if ( typeof start !== 'undefined' ) {
+ // Since `start` value was provided, enumerate and return
+ // the initial jQuery object to allow chaining.
+
+ return this.each(function(i){
+ $(this).prepend( '' + ( i + start ) + ' ' );
+ });
+
+ } else {
+ // Since no `start` value was provided, function as a
+ // getter, returning the appropriate value from the first
+ // selected element.
+
+ var val = this.eq( 0 ).children( 'b' ).eq( 0 ).text();
+ return Number( val );
+ }
+ };
+
+/*
+
+
1. hello
+
2. world
+
3. i
+
4. am
+
5. foo
+
+*/
+```
+
+Let's now write some tests for the plugin. First, we define the markup for a list containing some sample items inside our ```qunit-fixture``` element:
+
+```html
+
+
+
hello
+
world
+
i
+
am
+
foo
+
+
+```
+
+Next, we need to think about what should be tested. `$.enumerate()` supports a few different use cases, including:
+
+* **No arguments passed** - i.e., ```$(el).enumerate()```
+* **0 passed as an argument** - i.e., ```$(el).enumerate(0)```
+* **1 passed as an argument** - i.e., ```$(el).enumerate(1)```
+
+As the text value for each list item is of the form "n. item-text" and we only require this to test against the expected output, we can simply access the content using ```$(el).eq(index).text()``` (for more information on .eq() see [here](http://api.jquery.com/eq/)).
+
+and finally, here are our test cases:
+
+```javascript
+module('jQuery#enumerate');
+
+test( 'No arguments passed', 5, function() {
+ var items = $('#qunit-fixture li').enumerate(); // 0
+ equal( items.eq(0).text(), '0. hello', 'first item should have index 0' );
+ equal( items.eq(1).text(), '1. world', 'second item should have index 1' );
+ equal( items.eq(2).text(), '2. i', 'third item should have index 2' );
+ equal( items.eq(3).text(), '3. am', 'fourth item should have index 3' );
+ equal( items.eq(4).text(), '4. foo', 'fifth item should have index 4' );
+});
+
+test( '0 passed as an argument', 5, function() {
+ var items = $('#qunit-fixture li').enumerate( 0 );
+ equal( items.eq(0).text(), '0. hello', 'first item should have index 0' );
+ equal( items.eq(1).text(), '1. world', 'second item should have index 1' );
+ equal( items.eq(2).text(), '2. i', 'third item should have index 2' );
+ equal( items.eq(3).text(), '3. am', 'fourth item should have index 3' );
+ equal( items.eq(4).text(), '4. foo', 'fifth item should have index 4' );
+});
+
+test( '1 passed as an argument', 3, function() {
+ var items = $('#qunit-fixture li').enumerate( 1 );
+ equal( items.eq(0).text(), '1. hello', 'first item should have index 1' );
+ equal( items.eq(1).text(), '2. world', 'second item should have index 2' );
+ equal( items.eq(2).text(), '3. i', 'third item should have index 3' );
+ equal( items.eq(3).text(), '4. am', 'fourth item should have index 4' );
+ equal( items.eq(4).text(), '5. foo', 'fifth item should have index 5' );
+});
+
+```
+
+## Asynchronous code
+
+As with Jasmine, the effort required to run synchronous tests with QUnit is fairly minimal. That said, what about tests that require asynchronous callbacks (such as expensive processes, Ajax requests, and so on)? When we're dealing with asynchronous code, rather than letting QUnit control when the next test runs, we can tell it that we need it to stop running and wait until it's okay to continue once again.
+
+Remember: running asynchronous code without any special considerations can cause incorrect assertions to appear in other tests, so we want to make sure we get it right.
+
+Writing QUnit tests for asynchronous code is made possible using the ```start()``` and ```stop()``` methods, which programmatically set the start and stop points during such tests. Here's a simple example:
+
+```javascript
+test('An async test', function(){
+ stop();
+ expect( 1 );
+ $.ajax({
+ url: '/test',
+ dataType: 'json',
+ success: function( data ){
+ deepEqual(data, {
+ topic: 'hello',
+ message: 'hi there!''
+ });
+ ok(true, 'Asynchronous test passed!');
+ start();
+ }
+ });
+});
+```
+
+A jQuery ```$.ajax()``` request is used to connect to a test resource and assert that the data returned is correct. ```deepEqual()``` is used here as it allows us to compare different data types (e.g., objects, arrays) and ensures that what is returned is exactly what we're expecting. We know that our Ajax request is asynchronous and so we first call ```stop()```, then run the code making the request, and finally, at the very end of our callback, inform QUnit that it is okay to continue running other tests.
+
+Note: rather than including ```stop()```, we can simply exclude it and substitute ```test()``` with ```asyncTest()``` if we prefer. This improves readability when dealing with a mixture of asynchronous and synchronous tests in your suite. While this setup should work fine for many use-cases, there is no guarantee that the callback in our ```$.ajax()``` request will actually get called. To factor this into our tests, we can use ```expect()``` once again to define how many assertions we expect to see within our test. This is a healthy safety blanket as it ensures that if a test completes with an insufficient number of assertions, we know something went wrong and can fix it.
+
+# Resources
+
+## Books & Courses
+
+* [PeepCode: Backbone.js Basics](https://peepcode.com/products/backbone-js)
+* [CodeSchool: Anatomy Of Backbone](http://www.codeschool.com/courses/anatomy-of-backbonejs)
+* [Recipes With Backbone](http://recipeswithbackbone.com/)
+* [Backbone Patterns](http://ricostacruz.com/backbone-patterns/)
+* [Backbone On Rails](https://learn.thoughtbot.com/products/1-backbone-js-on-rails)
+* [MVC In JavaScript With Backbone](https://github.com/Integralist/Blog-Posts/blob/master/2012-08-16-MVC-in-JavaScript-with-Backbone.md)
+* [Backbone Tutorials](http://backbonetutorials.com/)
+* [Derick Bailey's Resources For Learning Backbone](http://lostechies.com/derickbailey/2011/09/13/resources-for-and-how-i-learned-backbone-js/)
+
+## Extensions/Libraries
+
+* [MarionetteJS](http://marionettejs.com/)
+* [AuraJS](https://github.com/aurajs/aura)
+* [Thorax](http://thoraxjs.org)
+* [Lumbar](http://walmartlabs.github.com/lumbar)
+* [Backbone Layout Manager](https://github.com/tbranyen/backbone.layoutmanager)
+* [Backbone Boilerplate](https://github.com/backbone-boilerplate/backbone-boilerplate)
+* [Backbone.ModelBinder](https://github.com/theironcook/Backbone.ModelBinder)
+* [Backbone Relational - for model relationships](https://github.com/PaulUithol/Backbone-relational)
+* [Backbone CouchDB](https://github.com/janmonschke/backbone-couchdb)
+* [Backbone Validations - HTML5 inspired validations](https://github.com/n-time/backbone.validations)
+
+# Conclusions
+
+I hope that you've found this introduction to Backbone.js of value. What you've hopefully learned is that while building a JavaScript-heavy application using nothing more than a DOM manipulation library (such as jQuery) is certainly a possible feat, it is difficult to build anything non-trivial without any formal structure in place. Your nested pile of jQuery callbacks and DOM elements are unlikely to scale and they can be very difficult to maintain as your application grows.
+
+The beauty of Backbone.js is it's simplicity. It's very small given the functionality and flexibility it provides, which is evident if you begin to study the Backbone.js source. In the words of Jeremy Ashkenas, "The essential premise at the heart of Backbone has always been to try and discover the minimal set of data-structuring (Models and Collections) and user interface (Views and URLs) primitives that are useful when building web applications with JavaScript." It just helps you improve the structure of your applications, helping you better separate concerns. There isn't anything more to it than that.
+
+Backbone offers Models with key-value bindings and events, Collections with an API of rich enumerable methods, declarative Views with event handling and a simple way to connect an existing API to your client-side application over a RESTful JSON interface. Use it and you can abstract away data into sane models and your DOM manipulation into views, binding them together using nothing more than events.
+
+Almost any developer working on JavaScript applications for a while will ultimately create a similar solution on their own if they value architecture and maintainability. The alternative to using it or something similar is rolling your own - often a process that involves glueing together a diverse set of libraries that weren't built to work together. You might use jQuery BBQ for history management and Handlebars for templating, while writing abstracts for organizing and testing code by yourself.
+
+Contrast this with Backbone, which has [literate](http://en.wikipedia.org/wiki/Literate_programming) [documentation](http://backbonejs.org/docs/backbone.html) of the source code, a thriving community of both users and hackers, and a large number of questions about it asked and answered daily on sites like [Stack Overflow](http://stackoverflow.com/search?q=backbone). Rather than re-inventing the wheel there are many advantages to structuring your application using a solution based on the collective knowledge and experience of an entire community.
+
+In addition to helping provide sane structure to your applications, Backbone is highly extensible supporting more custom architecture should you require more than what is prescribed out of the box. This is evident by the number of extensions and plugins which have been released for it over the past year, including those which we have touched upon such as MarionetteJS and Thorax.
+
+These days Backbone.js powers many complex web applications, ranging from the LinkedIn [mobile app](http://touch.www.linkedin.com/mobile.html) to popular RSS readers such as [NewsBlur](http://newsblur.com) through to social commentary widgets such as [Disqus](http://disqus.com/). This small library of simple, but sane abstractions has helped to create a new generation of rich web applications, and I and my collaborators hope that in time it can help you too.
+
+If you're wondering whether it is worth using Backbone on a project, ask yourself whether what you are building is complex enough to merit using it. Are you hitting the limits of your ability to organize your code? Will your application have regular changes to what is displayed in the UI without a trip back to the server for new pages? Would you benefit from a separation of concerns? If so, a solution like Backbone may be able to help.
+
+Google's GMail is often cited as an example of a well built single-page app. If you've used it, you might have noticed that it requests a large initial chunk, representing most of the JavaScript, CSS and HTML most users will need and everything extra needed after that occurs in the background. GMail can easily switch between your inbox to your spam folder without needing the whole page to be re-rendered. Libraries like Backbone make it easier for web developers to create experiences like this.
+
+That said, Backbone won't be able to help if you're planning on building something which isn't worth the learning curve associated with a library. If your application or site will still be using the server to do the heavy lifting of constructing and serving complete pages to the browser, you may find just using plain JavaScript or jQuery for simple effects or interactions to be more appropriate. Spend time assessing how suitable Backbone might be for you and make the right choice on a per-project basis.
+
+Backbone is neither difficult to learn nor use, however the time and effort you spend learning how to structure applications using it will be well worth it. While reading this book will equip you with the fundamentals needed to understand the library, the best way to learn is to try building your own real-world applications. You will hopefully find that the end product is cleaner, better organized and more maintainable code.
+
+With that, I wish you the very best with your onward journey into the world of Backbone and will leave you with a quote from American writer [Henry Miller](http://en.wikipedia.org/wiki/Henry_Miller) - “One’s destination is never a place, but a new way of seeing things.”
+
+# SinonJS
+
+Similar to the section on testing Backbone.js apps using the Jasmine BDD framework, we're nearly ready to take what we've learned and write a number of QUnit tests for our Todo application.
+
+Before we start though, you may have noticed that QUnit doesn't support test spies. Test spies are functions which record arguments, exceptions, and return values for any of their calls. They're typically used to test callbacks and how functions may be used in the application being tested. In testing frameworks, spies usually are anonymous functions or wrappers around functions which already exist.
+
+
+## What is SinonJS?
+
+In order for us to substitute support for spies in QUnit, we will be taking advantage of a mocking framework called [SinonJS](http://sinonjs.org/) by Christian Johansen. We will also be using the [SinonJS-QUnit adapter](http://sinonjs.org/qunit/) which provides seamless integration with QUnit (meaning setup is minimal). Sinon.JS is completely test-framework agnostic and should be easy to use with any testing framework, so it's ideal for our needs.
+
+The framework supports three features we'll be taking advantage of for unit testing our application:
+
+* **Anonymous spies**
+* **Spying on existing methods**
+* **A rich inspection interface**
+
+#### Basic Spies
+
+Using ```this.spy()``` without any arguments creates an anonymous spy. This is comparable to ```jasmine.createSpy()```. We can observe basic usage of a SinonJS spy in the following example:
+
+```javascript
+test('should call all subscribers for a message exactly once', function () {
+ var message = getUniqueString();
+ var spy = this.spy();
+
+ PubSub.subscribe( message, spy );
+ PubSub.publishSync( message, 'Hello World' );
+
+ ok( spy.calledOnce, 'the subscriber was called once' );
+});
+```
+
+#### Spying On Existing Functions
+
+We can also use ```this.spy()``` to spy on existing functions (like jQuery's ```$.ajax```) in the example below. When spying on a function which already exists, the function behaves normally but we get access to data about its calls which can be very useful for testing purposes.
+
+```javascript
+test( 'should inspect the jQuery.getJSON usage of jQuery.ajax', function () {
+ this.spy( jQuery, 'ajax' );
+
+ jQuery.getJSON( '/todos/completed' );
+
+ ok( jQuery.ajax.calledOnce );
+ equals( jQuery.ajax.getCall(0).args[0].url, '/todos/completed' );
+ equals( jQuery.ajax.getCall(0).args[0].dataType, 'json' );
+});
+```
+
+#### Inspection Interface
+
+SinonJS comes with a rich spy interface which allows us to test whether a spy was called with a specific argument, if it was called a specific number of times, and test against the values of arguments. A complete list of features supported in the interface can be found on [SinonJS.org](http://sinonjs.org/docs/), but let's take a look at some examples demonstrating some of the most commonly used ones:
+
+
+**Matching arguments: test a spy was called with a specific set of arguments:**
+
+```javascript
+test( 'Should call a subscriber with standard matching': function () {
+ var spy = sinon.spy();
+
+ PubSub.subscribe( 'message', spy );
+ PubSub.publishSync( 'message', { id: 45 } );
+
+ assertTrue( spy.calledWith( { id: 45 } ) );
+});
+```
+
+**Stricter argument matching: test a spy was called at least once with specific arguments and no others:**
+
+```javascript
+test( 'Should call a subscriber with strict matching': function () {
+ var spy = sinon.spy();
+
+ PubSub.subscribe( 'message', spy );
+ PubSub.publishSync( 'message', 'many', 'arguments' );
+ PubSub.publishSync( 'message', 12, 34 );
+
+ // This passes
+ assertTrue( spy.calledWith('many') );
+
+ // This however, fails
+ assertTrue( spy.calledWithExactly( 'many' ) );
+});
+```
+
+**Testing call order: testing if a spy was called before or after another spy:**
+
+```javascript
+test( 'Should call a subscriber and maintain call order': function () {
+ var a = sinon.spy();
+ var b = sinon.spy();
+
+ PubSub.subscribe( 'message', a );
+ PubSub.subscribe( 'event', b );
+
+ PubSub.publishSync( 'message', { id: 45 } );
+ PubSub.publishSync( 'event', [1, 2, 3] );
+
+ assertTrue( a.calledBefore(b) );
+ assertTrue( b.calledAfter(a) );
+});
+```
+
+**Match execution counts: test a spy was called a specific number of times:**
+
+```javascript
+test( 'Should call a subscriber and check call counts', function () {
+ var message = getUniqueString();
+ var spy = this.spy();
+
+ PubSub.subscribe( message, spy );
+ PubSub.publishSync( message, 'some payload' );
+
+
+ // Passes if spy was called once and only once.
+ ok( spy.calledOnce ); // calledTwice and calledThrice are also supported
+
+ // The number of recorded calls.
+ equal( spy.callCount, 1 );
+
+ // Directly checking the arguments of the call
+ equals( spy.getCall(0).args[0], message );
+});
+```
+
+
+## Stubs and mocks
+
+SinonJS also supports two other powerful features: stubs and mocks. Both stubs and mocks implement all of the features of the spy API, but have some added functionality.
+
+### Stubs
+
+A stub allows us to replace any existing behaviour for a specific method with something else. They can be very useful for simulating exceptions and are most often used to write test cases when certain dependencies of your code-base may not yet be written.
+
+Let us briefly re-explore our Backbone Todo application, which contained a Todo model and a TodoList collection. For the purpose of this walkthrough, we want to isolate our TodoList collection and fake the Todo model to test how adding new models might behave.
+
+We can pretend that the models have yet to be written just to demonstrate how stubbing might be carried out. A shell collection just containing a reference to the model to be used might look like this:
+
+```javascript
+var TodoList = Backbone.Collection.extend({
+ model: Todo
+});
+
+// Let's assume our instance of this collection is
+this.todoList;
+```
+
+Assuming our collection is instantiating new models itself, it's necessary for us to stub the model's constructor function for the the test. This can be done by creating a simple stub as follows:
+
+```javascript
+this.todoStub = sinon.stub( window, 'Todo' );
+```
+
+The above creates a stub of the Todo method on the window object. When stubbing a persistent object, it's necessary to restore it to its original state. This can be done in a ```teardown()``` as follows:
+
+```javascript
+this.todoStub.restore();
+```
+
+After this, we need to alter what the constructor returns, which can be efficiently done using a plain ```Backbone.Model``` constructor. While this isn't a Todo model, it does still provide us an actual Backbone model.
+
+
+```javascript
+setup: function() {
+ this.model = new Backbone.Model({
+ id: 2,
+ title: 'Hello world'
+ });
+ this.todoStub.returns( this.model );
+});
+```
+
+The expectation here might be that this snippet would ensure our TodoList collection always instantiates a stubbed Todo model, but because a reference to the model in the collection is already present, we need to reset the model property of our collection as follows:
+
+```javascript
+this.todoList.model = Todo;
+```
+
+The result of this is that when our TodoList collection instantiates new Todo models, it will return our plain Backbone model instance as desired. This allows us to write a test for the addition of new model literals as follows:
+
+```javascript
+module( 'Should function when instantiated with model literals', {
+
+ setup:function() {
+
+ this.todoStub = sinon.stub(window, 'Todo');
+ this.model = new Backbone.Model({
+ id: 2,
+ title: 'Hello world'
+ });
+
+ this.todoStub.returns(this.model);
+ this.todos = new TodoList();
+
+ // Let's reset the relationship to use a stub
+ this.todos.model = Todo;
+
+ // add a model
+ this.todos.add({
+ id: 2,
+ title: 'Hello world'
+ });
+ },
+
+ teardown: function() {
+ this.todoStub.restore();
+ }
+
+});
+
+test('should add a model', function() {
+ equal( this.todos.length, 1 );
+});
+
+test('should find a model by id', function() {
+ equal( this.todos.get(5).get('id'), 5 );
+ });
+});
+```
+
+
+### Mocks
+
+Mocks are effectively the same as stubs, however they mock a complete API and have some built-in expectations for how they should be used. The difference between a mock and a spy is that as the expectations for their use are pre-defined and the test will fail if any of these are not met.
+
+Here's a snippet with sample usage of a mock based on PubSubJS. Here, we have a `clearTodo()` method as a callback and use mocks to verify its behavior.
+
+```javascript
+test('should call all subscribers when exceptions', function () {
+ var myAPI = { clearTodo: function () {} };
+
+ var spy = this.spy();
+ var mock = this.mock( myAPI );
+ mock.expects( 'clearTodo' ).once().throws();
+
+ PubSub.subscribe( 'message', myAPI.clearTodo );
+ PubSub.subscribe( 'message', spy );
+ PubSub.publishSync( 'message', undefined );
+
+ mock.verify();
+ ok( spy.calledOnce );
+});
+```
+
+
+
+## Exercise
+
+We can now begin writing tests for our Todo application, which are listed and separated by component (e.g., Models, Collections, etc.). It's useful to pay attention to the name of the test, the logic being tested, and most importantly the assertions being made as this will give you some insight into how what we've learned can be applied to a complete application.
+
+To get the most out of this section, I recommend looking at the QUnit Koans included in the `practicals/qunit-koans` folder - this is a port of the Backbone.js Jasmine Koans over to QUnit.
+
+*In case you haven't had a chance to try out one of the Koans kits as yet, they are a set of unit tests using a specific testing framework that both demonstrate how a set of tests for an application may be written, but also leave some tests unfilled so that you can complete them as an exercise.*
+
+### Models
+
+For our models we want to at minimum test that:
+
+* New instances can be created with the expected default values
+* Attributes can be set and retrieved correctly
+* Changes to state correctly fire off custom events where needed
+* Validation rules are correctly enforced
+
+```javascript
+module( 'About Backbone.Model');
+
+test('Can be created with default values for its attributes.', function() {
+ expect( 3 );
+
+ var todo = new Todo();
+ equal( todo.get('text'), '' );
+ equal( todo.get('done'), false );
+ equal( todo.get('order'), 0 );
+});
+
+test('Will set attributes on the model instance when created.', function() {
+ expect( 1 );
+
+ var todo = new Todo( { text: 'Get oil change for car.' } );
+ equal( todo.get('text'), 'Get oil change for car.' );
+
+});
+
+test('Will call a custom initialize function on the model instance when created.', function() {
+ expect( 1 );
+
+ var toot = new Todo({ text: 'Stop monkeys from throwing their own crap!' });
+ equal( toot.get('text'), 'Stop monkeys from throwing their own rainbows!' );
+});
+
+test('Fires a custom event when the state changes.', function() {
+ expect( 1 );
+
+ var spy = this.spy();
+ var todo = new Todo();
+
+ todo.on( 'change', spy );
+ // Change the model state
+ todo.set( { text: 'new text' } );
+
+ ok( spy.calledOnce, 'A change event callback was correctly triggered' );
+});
+
+
+test('Can contain custom validation rules, and will trigger an invalid event on failed validation.', function() {
+ expect( 3 );
+
+ var errorCallback = this.spy();
+ var todo = new Todo();
+
+ todo.on('invalid', errorCallback);
+ // Change the model state in such a way that validation will fail
+ todo.set( { done: 'not a boolean' } );
+
+ ok( errorCallback.called, 'A failed validation correctly triggered an error' );
+ notEqual( errorCallback.getCall(0), undefined );
+ equal( errorCallback.getCall(0).args[1], 'Todo.done must be a boolean value.' );
+
+});
+```
+
+
+### Collections
+
+For our collection we'll want to test that:
+
+* The Collection has a Todo Model
+* Uses localStorage for syncing
+* That done(), remaining() and clear() work as expected
+* The order for Todos is numerically correct
+
+```javascript
+ describe('Test Collection', function() {
+
+ beforeEach(function() {
+
+ // Define new todos
+ this.todoOne = new Todo;
+ this.todoTwo = new Todo({
+ title: "Buy some milk"
+ });
+
+ // Create a new collection of todos for testing
+ return this.todos = new TodoList([this.todoOne, this.todoTwo]);
+ });
+
+ it('Has the Todo model', function() {
+ return expect(this.todos.model).toBe(Todo);
+ });
+
+ it('Uses local storage', function() {
+ return expect(this.todos.localStorage).toEqual(new Store('todos-backbone'));
+ });
+
+ describe('done', function() {
+ return it('returns an array of the todos that are done', function() {
+ this.todoTwo.done = true;
+ return expect(this.todos.done()).toEqual([this.todoTwo]);
+ });
+ });
+
+ describe('remaining', function() {
+ return it('returns an array of the todos that are not done', function() {
+ this.todoTwo.done = true;
+ return expect(this.todos.remaining()).toEqual([this.todoOne]);
+ });
+ });
+
+ describe('clear', function() {
+ return it('destroys the current todo from local storage', function() {
+ expect(this.todos.models).toEqual([this.todoOne, this.todoTwo]);
+ this.todos.clear(this.todoOne);
+ return expect(this.todos.models).toEqual([this.todoTwo]);
+ });
+ });
+
+ return describe('Order sets the order on todos ascending numerically', function() {
+ it('defaults to one when there arent any items in the collection', function() {
+ this.emptyTodos = new TodoApp.Collections.TodoList;
+ return expect(this.emptyTodos.order()).toEqual(0);
+ });
+
+ return it('Increments the order by one each time', function() {
+ expect(this.todos.order(this.todoOne)).toEqual(1);
+ return expect(this.todos.order(this.todoTwo)).toEqual(2);
+ });
+ });
+
+ });
+```
+
+
+
+### Views
+
+For our views we want to ensure:
+
+* They are being correctly tied to a DOM element when created
+* They can render, after which the DOM representation of the view should be visible
+* They support wiring up view methods to DOM elements
+
+One could also take this further and test that user interactions with the view correctly result in any models that need to be changed being updated correctly.
+
+
+```javascript
+module( 'About Backbone.View', {
+ setup: function() {
+ $('body').append('
');
+ this.todoView = new TodoView({ model: new Todo() });
+ },
+ teardown: function() {
+ this.todoView.remove();
+ $('#todoList').remove();
+ }
+});
+
+test('Should be tied to a DOM element when created, based off the property provided.', function() {
+ expect( 1 );
+ equal( this.todoView.el.tagName.toLowerCase(), 'li' );
+});
+
+test('Is backed by a model instance, which provides the data.', function() {
+ expect( 2 );
+ notEqual( this.todoView.model, undefined );
+ equal( this.todoView.model.get('done'), false );
+});
+
+test('Can render, after which the DOM representation of the view will be visible.', function() {
+ this.todoView.render();
+
+ // Append the DOM representation of the view to ul#todoList
+ $('ul#todoList').append(this.todoView.el);
+
+ // Check the number of li items rendered to the list
+ equal($('#todoList').find('li').length, 1);
+});
+
+asyncTest('Can wire up view methods to DOM elements.', function() {
+ expect( 2 );
+ var viewElt;
+
+ $('#todoList').append( this.todoView.render().el );
+
+ setTimeout(function() {
+ viewElt = $('#todoList li input.check').filter(':first');
+
+ equal(viewElt.length > 0, true);
+
+ // Ensure QUnit knows we can continue
+ start();
+ }, 1000, 'Expected DOM Elt to exist');
+
+ // Trigget the view to toggle the 'done' status on an item or items
+ $('#todoList li input.check').click();
+
+ // Check the done status for the model is true
+ equal( this.todoView.model.get('done'), true );
+});
+```
+
+
+### App
+
+It can also be useful to write tests for any application bootstrap you may have in place. For the following module, our setup instantiates and appends to a TodoApp view and we can test anything from local instances of views being correctly defined to application interactions correctly resulting in changes to instances of local collections.
+
+```javascript
+module( 'About Backbone Applications' , {
+ setup: function() {
+ Backbone.localStorageDB = new Store('testTodos');
+ $('#qunit-fixture').append('');
+ this.App = new TodoApp({ appendTo: $('#app') });
+ },
+
+ teardown: function() {
+ this.App.todos.reset();
+ $('#app').remove();
+ }
+});
+
+test('Should bootstrap the application by initializing the Collection.', function() {
+ expect( 2 );
+
+ // The todos collection should not be undefined
+ notEqual( this.App.todos, undefined );
+
+ // The initial length of our todos should however be zero
+ equal( this.App.todos.length, 0 );
+});
+
+test( 'Should bind Collection events to View creation.' , function() {
+
+ // Set the value of a brand new todo within the input box
+ $('#new-todo').val( 'Buy some milk' );
+
+ // Trigger the enter (return) key to be pressed inside #new-todo
+ // causing the new item to be added to the todos collection
+ $('#new-todo').trigger(new $.Event( 'keypress', { keyCode: 13 } ));
+
+ // The length of our collection should now be 1
+ equal( this.App.todos.length, 1 );
+ });
+```
+
+## Further Reading & Resources
+
+That's it for this section on testing applications with QUnit and SinonJS. I encourage you to try out the [QUnit Backbone.js Koans](https://github.com/addyosmani/backbone-koans-qunit) and see if you can extend some of the examples. For further reading consider looking at some of the additional resources below:
+
+* **[Test-driven JavaScript Development (book)](http://tddjs.com/)**
+* **[SinonJS/QUnit Adapter](http://sinonjs.org/qunit/)**
+* **[SinonJS and QUnit](http://cjohansen.no/en/javascript/using_sinon_js_with_qunit)**
+* **[Automating JavaScript Testing With QUnit](http://msdn.microsoft.com/en-us/scriptjunkie/gg749824)**
+* **[Ben Alman's Unit Testing With QUnit](http://benalman.com/talks/unit-testing-qunit.html)**
+* **[Another QUnit/Backbone.js demo project](https://github.com/jc00ke/qunit-backbone)**
+* **[SinonJS helpers for Backbone](http://devblog.supportbee.com/2012/02/10/helpers-for-testing-backbone-js-apps-using-jasmine-and-sinon-js/)**
+
+# Appendix
+
+## A Simple JavaScript MVC Implementation
+
+A comprehensive discussion of Backbone's implementation is beyond the scope of this book. We can, however, present a simple MVC library - which we will call Cranium.js - that illustrates how frameworks such as Backbone implement the MVC pattern.
+
+Like Backbone, we will rely on [Underscore](http://underscorejs.org "Underscore.js") for inheritance and templating.
+
+### Event System
+
+At the heart of our JavaScript MVC implementation is an `Event` system (object) based on the Publisher-Subscriber Pattern which makes it possible for MVC components to communicate in an elegant, decoupled manner. Subscribers 'listen' for specific events of interest and react when Publishers broadcast these events.
+
+`Event` is mixed into both the View and Model components so that instances of either of these components can publish events of interest.
+
+```javascript
+// cranium.js - Cranium.Events
+
+var Cranium = Cranium || {};
+
+// Set DOM selection utility
+var $ = document.querySelector.bind(document) || this.jQuery || this.Zepto;
+
+// Mix in to any object in order to provide it with custom events.
+var Events = Cranium.Events = {
+ // Keeps list of events and associated listeners
+ channels: {},
+
+ // Counter
+ eventNumber: 0,
+
+ // Announce events and passes data to the listeners;
+ trigger: function (events, data) {
+ for (var topic in Cranium.Events.channels){
+ if (Cranium.Events.channels.hasOwnProperty(topic)) {
+ if (topic.split("-")[0] == events){
+ Cranium.Events.channels[topic](data) !== false || delete Cranium.Events.channels[topic];
+ }
+ }
+ }
+ },
+ // Registers an event type and its listener
+ on: function (events, callback) {
+ Cranium.Events.channels[events + --Cranium.Events.eventNumber] = callback;
+ },
+ // Unregisters an event type and its listener
+ off: function(topic) {
+ delete Cranium.Events.channels[topic];
+ }
+};
+```
+
+The Event system makes it possible for:
+
+* a View to notify its subscribers of user interaction (e.g., clicks or input in a form), to update/re-render its presentation, etc.
+* a Model whose data has changed to notify its Subscribers to update themselves (e.g., view to re-render to show accurate/updated data), etc.
+
+### Models
+
+Models manage the (domain-specific) data for an application. They are concerned with neither the user-interface nor presentation layers, but instead represent structured data that an application may require. When a model changes (e.g when it is updated), it will typically notify its observers (Subscribers) that a change has occurred so that they may react accordingly.
+
+Let's see a simple implementation of the Model:
+
+```javascript
+// cranium.js - Cranium.Model
+
+// Attributes represents data, model's properties.
+// These are to be passed at Model instantiation.
+// Also we are creating id for each Model instance
+// so that it can identify itself (e.g. on chage
+// announcements)
+var Model = Cranium.Model = function (attributes) {
+ this.id = _.uniqueId('model');
+ this.attributes = attributes || {};
+};
+
+// Getter (accessor) method;
+// returns named data item
+Cranium.Model.prototype.get = function(attrName) {
+ return this.attributes[attrName];
+};
+
+// Setter (mutator) method;
+// Set/mix in into model mapped data (e.g.{name: "John"})
+// and publishes the change event
+Cranium.Model.prototype.set = function(attrs){
+ if (_.isObject(attrs)) {
+ _.extend(this.attributes, attrs);
+ this.change(this.attributes);
+ }
+ return this;
+};
+
+// Returns clone of the Models data object
+// (used for view template rendering)
+Cranium.Model.prototype.toJSON = function(options) {
+ return _.clone(this.attributes);
+};
+
+// Helper function that announces changes to the Model
+// and passes the new data
+Cranium.Model.prototype.change = function(attrs){
+ this.trigger(this.id + 'update', attrs);
+};
+
+// Mix in Event system
+_.extend(Cranium.Model.prototype, Cranium.Events);
+```
+
+### Views
+
+Views are a visual representation of models that present a filtered view of their current state. A view typically observes a model and is notified when the model changes, allowing the view to update itself accordingly. Design pattern literature commonly refers to views as 'dumb', given that their knowledge of models and controllers in an application is limited.
+
+Let's explore Views a little further using a simple JavaScript example:
+
+```javascript
+// DOM View
+var View = Cranium.View = function (options) {
+ // Mix in options object (e.g extending functionallity)
+ _.extend(this, options);
+ this.id = _.uniqueId('view');
+};
+
+// Mix in Event system
+_.extend(Cranium.View.prototype, Cranium.Events);
+```
+
+### Controllers
+
+Controllers are an intermediary between models and views which are classically responsible for two tasks:
+
+* they update the view when the model changes
+* they update the model when the user manipulates the view
+
+```javascript
+// cranium.js - Cranium.Controller
+
+// Controller tying together a model and view
+var Controller = Cranium.Controller = function(options){
+ // Mix in options object (e.g extending functionallity)
+ _.extend(this, options);
+ this.id = _.uniqueId('controller');
+ var parts, selector, eventType;
+
+ // Parses Events object passed during the definition of the
+ // controller and maps it to the defined method to handle it;
+ if(this.events){
+ _.each(this.events, function(method, eventName){
+ parts = eventName.split('.');
+ selector = parts[0];
+ eventType = parts[1];
+ $(selector)['on' + eventType] = this[method];
+ }.bind(this));
+ }
+};
+```
+
+### Practical Usage
+
+HTML template for the primer that follows:
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+Cranium.js usage:
+
+```javascript
+
+// example.js - usage of Cranium MVC
+
+// And todo instance
+var todo1 = new Cranium.Model({
+ title: "",
+ completed: ""
+});
+
+console.log("First todo title - nothing set: " + todo1.get('title'));
+todo1.set({title: "Do something"});
+console.log("Its changed now: " + todo1.get('title'));
+''
+// View instance
+var todoView = new Cranium.View({
+ // DOM element selector
+ el: '#todo',
+
+ // Todo template; Underscore temlating used
+ template: _.template($('.todo-template').innerHTML),
+
+ init: function (model) {
+ this.render( model.toJSON() );
+
+ this.on(model.id + 'update', this.render.bind(this));
+ },
+ render: function (data) {
+ console.log("View about to render.");
+ $(this.el).innerHTML = this.template( data );
+ }
+});
+
+var todoController = new Cranium.Controller({
+ // Specify the model to update
+ model: todo1,
+
+ // and the view to observe this model
+ view: todoView,
+
+ events: {
+ "#todo.click" : "toggleComplete"
+ },
+
+ // Initialize everything
+ initialize: function () {
+ this.view.init(this.model);
+ return this;
+ },
+ // Toggles the value of the todo in the Model
+ toggleComplete: function () {
+ var completed = todoController.model.get('completed');
+ console.log("Todo old 'completed' value?", completed);
+ todoController.model.set({ completed: (!completed) ? 'checked': '' });
+ console.log("Todo new 'completed' value?", todoController.model.get('completed'));
+ return this;
+ }
+});
+
+
+// Let's kick start things off
+todoController.initialize();
+
+todo1.set({ title: "Due to this change Model will notify View and it will re-render"});
+
+```
+
+Samuel Clay, one of the authors of the first version of Backbone.js says of cranium.js: "Unsurprisingly, it looks a whole lot like the beginnings of Backbone. Views are dumb, so they get very little boilerplate and setup. Models are responsible for their attributes and announcing changes to those models."
+
+I hope you've found this implementation helpful in understanding how one would go about writing their own library like Backbone from scratch, but moreso that it encourages you to take advantage of mature existing solutions where possible but never be afraid to explore deeper down into what makes them tick.
+
+## MVP
+
+Model-View-Presenter (MVP) is a derivative of the MVC design pattern which focuses on improving presentation logic. It originated at a company named [Taligent](http://en.wikipedia.org/wiki/Taligent) in the early 1990s while they were working on a model for a C++ CommonPoint environment. Whilst both MVC and MVP target the separation of concerns across multiple components, there are some fundamental differences between them.
+
+For the purposes of this summary we will focus on the version of MVP most suitable for web-based architectures.
+
+### Models, Views & Presenters
+
+The P in MVP stands for presenter. It's a component which contains the user-interface business logic for the view. Unlike MVC, invocations from the view are delegated to the presenter, which are decoupled from the view and instead talk to it through an interface. This allows for all kinds of useful things such as being able to mock views in unit tests.
+
+The most common implementation of MVP is one which uses a Passive View (a view which is for all intents and purposes "dumb"), containing little to no logic. MVP models are almost identical to MVC models and handle application data. The presenter acts as a mediator which talks to both the view and model, however both of these are isolated from each other. They effectively bind models to views, a responsibility held by Controllers in MVC. Presenters are at the heart of the MVP pattern and as you can guess, incorporate the presentation logic behind views.
+
+Solicited by a view, presenters perform any work to do with user requests and pass data back to them. In this respect, they retrieve data, manipulate it and determine how the data should be displayed in the view. In some implementations, the presenter also interacts with a service layer to persist data (models). Models may trigger events but it's the presenter's role to subscribe to them so that it can update the view. In this passive architecture, we have no concept of direct data binding. Views expose setters which presenters can use to set data.
+
+The benefit of this change from MVC is that it increases the testability of your application and provides a more clean separation between the view and the model. This isn't however without its costs as the lack of data binding support in the pattern can often mean having to take care of this task separately.
+
+Although a common implementation of a [Passive View](http://martinfowler.com/eaaDev/PassiveScreen.html) is for the view to implement an interface, there are variations on it, including the use of events which can decouple the View from the Presenter a little more. As we don't have the interface construct in JavaScript, we're using it more and more as a protocol than an explicit interface here. It's technically still an API and it's probably fair for us to refer to it as an interface from that perspective.
+
+
+There is also a [Supervising Controller](http://martinfowler.com/eaaDev/SupervisingPresenter.html) variation of MVP, which is closer to the MVC and [MVVM - Model-View-ViewModel](http://en.wikipedia.org/wiki/Model_View_ViewModel) patterns as it provides data-binding from the Model directly from the View. Key-value observing (KVO) plugins (such as Derick Bailey's Backbone.ModelBinding plugin) introduce this idea of a Supervising Controller to Backbone.
+
+
+## MVP or MVC?
+
+MVP is generally used most often in enterprise-level applications where it's necessary to reuse as much presentation logic as possible. Applications with very complex views and a great deal of user interaction may find that MVC doesn't quite fit the bill here as solving this problem may mean heavily relying on multiple controllers. In MVP, all of this complex logic can be encapsulated in a presenter, which can simplify maintenance greatly.
+
+As MVP views are defined through an interface and the interface is technically the only point of contact between the system and the view (other than a presenter), this pattern also allows developers to write presentation logic without needing to wait for designers to produce layouts and graphics for the application.
+
+Depending on the implementation, MVP may be more easy to automatically unit test than MVC. The reason often cited for this is that the presenter can be used as a complete mock of the user-interface and so it can be unit tested independent of other components. In my experience this really depends on the languages you are implementing MVP in (there's quite a difference between opting for MVP for a JavaScript project over one for say, ASP.NET).
+
+At the end of the day, the underlying concerns you may have with MVC will likely hold true for MVP given that the differences between them are mainly semantic. As long as you are cleanly separating concerns into models, views and controllers (or presenters) you should be achieving most of the same benefits regardless of the pattern you opt for.
+
+## MVC, MVP and Backbone.js
+
+There are very few, if any architectural JavaScript frameworks that claim to implement the MVC or MVP patterns in their classical form as many JavaScript developers don't view MVC and MVP as being mutually exclusive (we are actually more likely to see MVP strictly implemented when looking at web frameworks such as ASP.NET or GWT). This is because it's possible to have additional presenter/view logic in your application and yet still consider it a flavor of MVC.
+
+Backbone contributor [Irene Ros](http://ireneros.com/) subscribes to this way of thinking as when she separates Backbone views out into their own distinct components, she needs something to actually assemble them for her. This could either be a controller route (such as a ```Backbone.Router```) or a callback in response to data being fetched.
+
+That said, some developers do however feel that Backbone.js better fits the description of MVP than it does MVC
+. Their view is that:
+
+* The presenter in MVP better describes the ```Backbone.View``` (the layer between View templates and the data bound to it) than a controller does
+* The model fits ```Backbone.Model``` (it isn't that different from the classical MVC "Model")
+* The views best represent templates (e.g Handlebars/Mustache markup templates)
+
+A response to this could be that the view can also just be a View (as per MVC) because Backbone is flexible enough to let it be used for multiple purposes. The V in MVC and the P in MVP can both be accomplished by ```Backbone.View``` because they're able to achieve two purposes: both rendering atomic components and assembling those components rendered by other views.
+
+We've also seen that in Backbone the responsibility of a controller is shared with both the Backbone.View and Backbone.Router and in the following example we can actually see that aspects of that are certainly true.
+
+Here, our Backbone ```TodoView``` uses the Observer pattern to 'subscribe' to changes to a View's model in the line ```this.model.on('change',...)```. It also handles templating in the ```render()``` method, but unlike some other implementations, user interaction is also handled in the View (see ```events```).
+
+
+```javascript
+// The DOM element for a todo item...
+app.TodoView = Backbone.View.extend({
+
+ //... is a list tag.
+ tagName: 'li',
+
+ // Pass the contents of the todo template through a templating
+ // function, cache it for a single todo
+ template: _.template( $('#item-template').html() ),
+
+ // The DOM events specific to an item.
+ events: {
+ 'click .toggle': 'togglecompleted'
+ },
+
+ // The TodoView listens for changes to its model, re-rendering. Since there's
+ // a one-to-one correspondence between a **Todo** and a **TodoView** in this
+ // app, we set a direct reference on the model for convenience.
+ initialize: function() {
+ this.model.on( 'change', this.render, this );
+ this.model.on( 'destroy', this.remove, this );
+ },
+
+ // Re-render the titles of the todo item.
+ render: function() {
+ this.$el.html( this.template( this.model.toJSON() ) );
+ return this;
+ },
+
+ // Toggle the `"completed"` state of the model.
+ togglecompleted: function() {
+ this.model.toggle();
+ },
+});
+```
+
+Another (quite different) opinion is that Backbone more closely resembles [Smalltalk-80 MVC](http://martinfowler.com/eaaDev/uiArchs.html#ModelViewController), which we went through earlier.
+
+As MarionetteJS author Derick Bailey has [written](http://lostechies.com/derickbailey/2011/12/23/backbone-js-is-not-an-mvc-framework/), it's ultimately best not to force Backbone to fit any specific design patterns. Design patterns should be considered flexible guides to how applications may be structured and in this respect, Backbone doesn't fit either MVC nor MVP perfectly. Instead, it borrows some of the best concepts from multiple architectural patterns and creates a flexible framework that just works well. Call it **the Backbone way**, MV* or whatever helps reference its flavor of application architecture.
+
+It *is* however worth understanding where and why these concepts originated, so I hope that my explanations of MVC and MVP have been of help. Most structural JavaScript frameworks will adopt their own take on classical patterns, either intentionally or by accident, but the important thing is that they help us develop applications which are organized, clean and can be easily maintained.
+
+## Namespacing
+
+When learning how to use Backbone, an important and commonly overlooked area by tutorials is namespacing. If you already have experience with namespacing in JavaScript, the following section will provide some advice on how to specifically apply concepts you know to Backbone, however I will also be covering explanations for beginners to ensure everyone is on the same page.
+
+#### What is namespacing?
+
+Namespacing is a way to avoid collisions with other objects or variables in the global namespace. Using namespacing reduces the potential of your code breaking because another script on the page is using the same variable names that you are. As a good 'citizen' of the global namespace, it's also imperative that you do your best to minimize the possibility of your code breaking other developer's scripts.
+
+JavaScript doesn't really have built-in support for namespaces like other languages, however it does have closures which can be used to achieve a similar effect.
+
+In this section we'll be taking a look shortly at some examples of how you can namespace your models, views, routers and other components. The patterns we'll be examining are:
+
+* Single global variables
+* Object Literals
+* Nested namespacing
+
+**Single global variables**
+
+One popular pattern for namespacing in JavaScript is opting for a single global variable as your primary object of reference. A skeleton implementation of this where we return an object with functions and properties can be found below:
+
+```javascript
+var myApplication = (function(){
+ function(){
+ // ...
+ },
+ return {
+ // ...
+ }
+})();
+```
+
+You've probably seen this technique before. A Backbone-specific example might look like this:
+
+```javascript
+var myViews = (function(){
+ return {
+ TodoView: Backbone.View.extend({ .. }),
+ TodosView: Backbone.View.extend({ .. }),
+ AboutView: Backbone.View.extend({ .. });
+ //etc.
+ };
+})();
+```
+
+Here we can return a set of views, but the same technique could return an entire collection of models, views and routers depending on how you decide to structure your application. Although this works for certain situations, the biggest challenge with the single global variable pattern is ensuring that no one else has used the same global variable name as you have in the page.
+
+One solution to this problem, as mentioned by Peter Michaux, is to use prefix namespacing. It's a simple concept at heart, but the idea is you select a common prefix name (in this example, `myApplication_`) and then define any methods, variables or other objects after the prefix.
+
+```javascript
+var myApplication_todoView = Backbone.View.extend({}),
+ myApplication_todosView = Backbone.View.extend({});
+```
+
+This is effective from the perspective of trying to lower the chances of a particular variable existing in the global scope, but remember that a uniquely named object can have the same effect. This aside, the biggest issue with the pattern is that it can result in a large number of global objects once your application starts to grow.
+
+For more on Peter's views about the single global variable pattern, read his [excellent post on them](http://michaux.ca/articles/javascript-namespacing).
+
+Note: There are several other variations on the single global variable pattern out in the wild, however having reviewed quite a few, I felt the prefixing approach applied best to Backbone.
+
+**Object Literals**
+
+Object Literals have the advantage of not polluting the global namespace but assist in organizing code and parameters logically. They're beneficial if you wish to create easily readable structures that can be expanded to support deep nesting. Unlike simple global variables, Object Literals often also take into account tests for the existence of a variable by the same name, which helps reduce the chances of collision.
+
+This example demonstrates two ways you can check to see if a namespace already exists before defining it. I commonly use Option 2.
+
+```javascript
+/* Doesn't check for existence of myApplication */
+var myApplication = {};
+
+/*
+Does check for existence. If already defined, we use that instance.
+Option 1: if(!myApplication) myApplication = {};
+Option 2: var myApplication = myApplication || {};
+We can then populate our object literal to support models, views and collections (or any data, really):
+*/
+
+var myApplication = {
+ models : {},
+ views : {
+ pages : {}
+ },
+ collections : {}
+};
+```
+
+One can also opt for adding properties directly to the namespace (such as your views, in the following example):
+
+```javascript
+var myTodosViews = myTodosViews || {};
+myTodosViews.todoView = Backbone.View.extend({});
+myTodosViews.todosView = Backbone.View.extend({});
+```
+
+The benefit of this pattern is that you're able to easily encapsulate all of your models, views, routers etc. in a way that clearly separates them and provides a solid foundation for extending your code.
+
+This pattern has a number of benefits. It's often a good idea to decouple the default configuration for your application into a single area that can be easily modified without the need to search through your entire codebase just to alter it. Here's an example of a hypothetical object literal that stores application configuration settings:
+
+
+```javascript
+var myConfig = {
+ language: 'english',
+ defaults: {
+ enableDelegation: true,
+ maxTodos: 40
+ },
+ theme: {
+ skin: 'a',
+ toolbars: {
+ index: 'ui-navigation-toolbar',
+ pages: 'ui-custom-toolbar'
+ }
+ }
+}
+```
+
+Note that there are really only minor syntactical differences between the Object Literal pattern and a standard JSON data set. If for any reason you wish to use JSON for storing your configurations instead (e.g. for simpler storage when sending to the back-end), feel free to.
+
+For more on the Object Literal pattern, I recommend reading Rebecca Murphey's [excellent article on the topic](http://rmurphey.com/blog/2009/10/15/using-objects-to-organize-your-code).
+
+**Nested namespacing**
+
+An extension of the Object Literal pattern is nested namespacing. It's another common pattern used that offers a lower risk of collision due to the fact that even if a top-level namespace already exists, it's unlikely the same nested children do. For example, Yahoo's YUI uses the nested object namespacing pattern extensively:
+
+```javascript
+YAHOO.util.Dom.getElementsByClassName('test');
+```
+
+Yahoo's YUI uses the nested object namespacing pattern regularly and even DocumentCloud (the creators of Backbone) use the nested namespacing pattern in their main applications. A sample implementation of nested namespacing with Backbone may look like this:
+
+```javascript
+var todoApp = todoApp || {};
+
+// perform similar check for nested children
+todoApp.routers = todoApp.routers || {};
+todoApp.model = todoApp.model || {};
+todoApp.model.special = todoApp.model.special || {};
+
+// routers
+todoApp.routers.Workspace = Backbone.Router.extend({});
+todoApp.routers.TodoSearch = Backbone.Router.extend({});
+
+// models
+todoApp.model.Todo = Backbone.Model.extend({});
+todoApp.model.Notes = Backbone.Model.extend({});
+
+// special models
+todoApp.model.special.Admin = Backbone.Model.extend({});
+```
+
+This is readable, clearly organized, and is a relatively safe way of namespacing your Backbone application. The only real caveat however is that it requires your browser's JavaScript engine to first locate the todoApp object, then dig down until it gets to the function you're calling. However, developers such as Juriy Zaytsev (kangax) have tested and found the performance differences between single object namespacing vs the 'nested' approach to be quite negligible.
+
+**What does DocumentCloud use?**
+
+In case you were wondering, here is the original DocumentCloud (remember those guys that created Backbone?) workspace that uses namespacing in a necessary way. This approach makes sense as their documents (and annotations and document lists) are embedded on third-party news sites.
+
+```javascript
+
+// Provide top-level namespaces for our javascript.
+(function() {
+ window.dc = {};
+ dc.controllers = {};
+ dc.model = {};
+ dc.app = {};
+ dc.ui = {};
+})();
+```
+
+As you can see, they opt for declaring a top-level namespace on the `window` called `dc`, a short-form name of their app, followed by nested namesapces for the controllers, models, UI and other pieces of their application.
+
+**Recommendation**
+
+Reviewing the namespace patterns above, the option that I prefer when writing Backbone applications is nested object namespacing with the object literal pattern.
+
+Single global variables may work fine for applications that are relatively trivial. However, larger codebases requiring both namespaces and deep sub-namespaces require a succinct solution that's both readable and scalable. I feel this pattern achieves both of these objectives and is a good choice for most Backbone development.
+
+
+## Backbone Dependency Details
+
+The following sections provide insight into how Backbone uses jQuery/Zepto and Underscore.js.
+
+### DOM Manipulation
+
+Although most developers won't need it, Backbone does support setting a custom DOM library to be used instead of these options. From the source:
+
+```
+// For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns
+// the `$` variable.
+ Backbone.$ = root.jQuery || root.Zepto || root.ender || root.$;
+```
+
+So, setting `Backbone.$ = myLibrary;` will allow you to use any custom DOM-manipulation library in place of the jQuery default.
+
+### Utilities
+
+Underscore.js is heavily used in Backbone behind the scenes for everything from object extension to event binding. As the entire library is generally included, we get free access to a number of useful utilities we can use on Collections such as filtering `_.filter()`, sorting `_.sortBy()`, mapping `_.map()` and so on.
+
+From the source:
+
+```
+// Underscore methods that we want to implement on the Collection.
+// 90% of the core usefulness of Backbone Collections is actually implemented
+// right here:
+var methods = ['forEach', 'each', 'map', 'collect', 'reduce', 'foldl', 'inject', 'reduceRight', 'foldr', 'find', 'detect', 'filter', 'select', 'reject', 'every', 'all', 'some', 'any', 'include', 'contains', 'invoke', 'max', 'min', 'toArray', 'size', 'first', 'head', 'take', 'initial', 'rest', 'tail', 'drop', 'last', 'without', 'indexOf', 'shuffle', 'lastIndexOf', 'isEmpty', 'chain'];
+
+// Mix in each Underscore method as a proxy to `Collection#models`.
+_.each(methods, function(method) {
+ Collection.prototype[method] = function() {
+ var args = slice.call(arguments);
+ args.unshift(this.models);
+ return _[method].apply(_, args);
+ };
+});
+```
+
+However, for a complete linked list of methods supported, see the [official documentation](http://backbonejs.org/#Collection-Underscore-Methods).
+
+### RESTful persistence
+
+Models and collections in Backbone can be "sync"ed with the server using the `fetch`, `save` and `destroy` methods. All of these methods delegate back to the `Backbone.sync` function, which actually wraps jQuery/Zepto's `$.ajax` function, calling GET, POST and DELETE for the respective persistence methods on Backbone models.
+
+From the the source for `Backbone.sync`:
+
+```
+var methodMap = {
+ 'create': 'POST',
+ 'update': 'PUT',
+ 'patch': 'PATCH',
+ 'delete': 'DELETE',
+ 'read': 'GET'
+};
+
+Backbone.sync = function(method, model, options) {
+ var type = methodMap[method];
+
+ // ... Followed by lots of Backbone.js configuration, then..
+
+ // Make the request, allowing the user to override any Ajax options.
+ var xhr = options.xhr = Backbone.ajax(_.extend(params, options));
+ model.trigger('request', model, xhr, options);
+ return xhr;
+```
+
+### Routing
+
+Calls to `Backbone.History.start` rely on jQuery/Zepto binding `popState` or `hashchange` event listeners back to the window object.
+
+From the source for `Backbone.history.start`:
+
+```
+ // Depending on whether we're using pushState or hashes, and whether
+ // 'onhashchange' is supported, determine how we check the URL state.
+ if (this._hasPushState) {
+ Backbone.$(window)
+ .on('popstate', this.checkUrl);
+ } else if (this._wantsHashChange && ('onhashchange' in window) && !oldIE) {
+ Backbone.$(window)
+ .on('hashchange', this.checkUrl);
+ } else if (this._wantsHashChange) {
+ this._checkUrlInterval = setInterval(this.checkUrl, this.interval);
+ }
+ ...
+```
+
+`Backbone.History.stop` similarly uses your DOM manipulation library to unbind these event listeners.
+
+
+## Backbone Vs. Other Libraries And Frameworks
+
+Backbone is just one of many different solutions available for structuring your application and we're by no means advocating it as the be all and end all. It's served the authors of this book well in building many simple and complex web applications and we hope that it can serve you equally as well. The answer to the question 'Is Backbone better than X?' generally has a lot more to do with what kind of application you're building.
+
+AngularJS and Ember.js are examples of powerful alternatives but differ from Backbone in that there are more opinionated. For some projects this can be useful and for others, perhaps not. The important thing to remember is that there is no library or framework that's going to be the best solution for every use-case and so it's important to learn about the tools at your disposal and decide which one is best on a project-by-project basis.
+
+Choose the right tool for the right job. This is why we recommend spending some time doing a little due diligence. Consider productivity, ease of use, testability, community and documentation. If you're looking for more concrete comparisons between frameworks, read:
+
+* [Journey Through The JavaScript MVC Jungle](http://coding.smashingmagazine.com/2012/07/27/journey-through-the-javascript-mvc-jungle/)
+* [Throne of JS - Seven JavaScript Frameworks](http://blog.stevensanderson.com/2012/08/01/rich-javascript-applications-the-seven-frameworks-throne-of-js-2012/)
+
+The authors behind Backbone.js, AngularJS and Ember have also discussed some of the strengths and weaknesses of their solutions on Quora, StackOverflow and so on:
+
+* [Jeremy Ashkenas on Why Backbone?](http://backbonejs.org/#FAQ-why-backbone)
+* [Tom Dale on Why Ember.js vs. AngularJS](http://www.quora.com/Ember-js/Which-one-of-angular-js-and-ember-js-is-the-better-choice/answer/Tom-Dale)
+* [Brian Ford & Jeremy Ashkenas on Backbone vs. Angular (discussion)](http://www.reddit.com/r/javascript/comments/17h22w/an_introduction_to_angular_for_backbone_developers/)
+
+The solution you opt for may need to support building non-trivial features and could end up being used to maintain the app for years to come so think about things like:
+
+**What is the library/framework really capable of?**
+
+Spend time reviewing both the source code of the framework and official list of features to see how well they fit with your requirements. There will be projects that may require modifying or extending the underlying source and thus make sure that if this might be the case, you’ve performed due diligence on the code.
+Has the framework been proven in production?
+
+i.e Have developers actually built and deployed large applications with it that are publicly accessible? Backbone has a strong portfolio of these (SoundCloud, LinkedIn, Walmart) but not all frameworks do. Ember is used in number of large apps, including the new version of ZenDesk. AngularJS has been used to build the YouTube app for PS3 amongst other places. It’s not only important to know that a framework works in production, but also being able to look at real world code and be inspired by what can be built with it.
+
+**Is the framework mature?**
+
+I generally recommend developers don’t simply “pick one and go with it”. New projects often come with a lot of buzz surrounding their releases but remember to take care when selecting them for use on a production-level app. You don’t want to risk the project being canned, going through major periods of refactoring or other breaking changes that tend to be more carefully planned out when a framework is mature. Mature projects also tend to have more detailed documentation available, either as a part of their official or community-driven docs.
+
+**Is the framework flexible or opinionated?**
+
+Know what flavor you’re after as there are plenty of frameworks available which provide one or the other. Opinionated frameworks lock (or suggest) you to do things in a specific way (theirs). By design they are limiting, but place less emphasis on the developer having to figure out how things should work on their own.
+Have you really played with the framework?
+
+Write a small application without using frameworks and then attempt to refactor your code with a framework to confirm whether it’s easy to work with or not. As much as researching and reading up on code will influence your decision, it’s equally as important to write actual code using the framework to make sure you’re comfortable with the concepts it enforces.
+
+**Does the framework have a comprehensive set of documentation?**
+
+Although demo applications can be useful for reference, you’ll almost always find yourself consulting the official framework docs to find out what its API supports, how common tasks or components can be created with it and what the gotchas worth noting are. Any framework worth it’s salt should have a detailed set of documentation which will help guide developers using it. Without this, you can find yourself heavily relying on IRC channels, groups and self-discovery, which can be fine, but are often overly time-consuming when compared to a great set of docs provided upfront.
+
+**What is the total size of the framework, factoring in minification, gzipping and any modular building that it supports?**
+
+What dependencies does the framework have? Frameworks tend to only list the total filesize of the base library itself, but don’t list the sizes of the library's dependencies. This can mean the difference between opting for a library that initially looks quite small, but could be relatively large if it say, depends on jQuery and other libraries.
+
+**Have you reviewed the community around the framework?**
+
+Is there an active community of project contributors and users who would be able to assist if you run into issues? Have enough developers been using the framework that there are existing reference applications, tutorials and maybe even screencasts that you can use to learn more about it?
+
+
+---
+Where relevant, copyright Addy Osmani, 2012-2013.
+
+# Resources
+
+## Books & Courses
+
+* [PeepCode: Backbone.js Basics](https://peepcode.com/products/backbone-js)
+* [CodeSchool: Anatomy Of Backbone](http://www.codeschool.com/courses/anatomy-of-backbonejs)
+* [Recipes With Backbone](http://recipeswithbackbone.com/)
+* [Backbone Patterns](http://ricostacruz.com/backbone-patterns/)
+* [Backbone On Rails](https://learn.thoughtbot.com/products/1-backbone-js-on-rails)
+* [MVC In JavaScript With Backbone](https://github.com/Integralist/Blog-Posts/blob/master/2012-08-16-MVC-in-JavaScript-with-Backbone.md)
+* [Backbone Tutorials](http://backbonetutorials.com/)
+* [Derick Bailey's Resources For Learning Backbone](http://lostechies.com/derickbailey/2011/09/13/resources-for-and-how-i-learned-backbone-js/)
+
+## Extensions/Libraries
+
+* [MarionetteJS](http://marionettejs.com/)
+* [AuraJS](https://github.com/aurajs/aura)
+* [Thorax](http://thoraxjs.org)
+* [Lumbar](http://walmartlabs.github.com/lumbar)
+* [Backbone Layout Manager](https://github.com/tbranyen/backbone.layoutmanager)
+* [Backbone Boilerplate](https://github.com/backbone-boilerplate/backbone-boilerplate)
+* [Backbone.ModelBinder](https://github.com/theironcook/Backbone.ModelBinder)
+* [Backbone Relational - for model relationships](https://github.com/PaulUithol/Backbone-relational)
+* [Backbone CouchDB](https://github.com/janmonschke/backbone-couchdb)
+* [Backbone Validations - HTML5 inspired validations](https://github.com/n-time/backbone.validations)
+
+# Conclusions
+
+I hope that you've found this introduction to Backbone.js of value. What you've hopefully learned is that while building a JavaScript-heavy application using nothing more than a DOM manipulation library (such as jQuery) is certainly a possible feat, it is difficult to build anything non-trivial without any formal structure in place. Your nested pile of jQuery callbacks and DOM elements are unlikely to scale and they can be very difficult to maintain as your application grows.
+
+The beauty of Backbone.js is it's simplicity. It's very small given the functionality and flexibility it provides, which is evident if you begin to study the Backbone.js source. In the words of Jeremy Ashkenas, "The essential premise at the heart of Backbone has always been to try and discover the minimal set of data-structuring (Models and Collections) and user interface (Views and URLs) primitives that are useful when building web applications with JavaScript." It just helps you improve the structure of your applications, helping you better separate concerns. There isn't anything more to it than that.
+
+Backbone offers Models with key-value bindings and events, Collections with an API of rich enumerable methods, declarative Views with event handling and a simple way to connect an existing API to your client-side application over a RESTful JSON interface. Use it and you can abstract away data into sane models and your DOM manipulation into views, binding them together using nothing more than events.
+
+Almost any developer working on JavaScript applications for a while will ultimately create a similar solution on their own if they value architecture and maintainability. The alternative to using it or something similar is rolling your own - often a process that involves glueing together a diverse set of libraries that weren't built to work together. You might use jQuery BBQ for history management and Handlebars for templating, while writing abstracts for organizing and testing code by yourself.
+
+Contrast this with Backbone, which has [literate](http://en.wikipedia.org/wiki/Literate_programming) [documentation](http://backbonejs.org/docs/backbone.html) of the source code, a thriving community of both users and hackers, and a large number of questions about it asked and answered daily on sites like [Stack Overflow](http://stackoverflow.com/search?q=backbone). Rather than re-inventing the wheel there are many advantages to structuring your application using a solution based on the collective knowledge and experience of an entire community.
+
+In addition to helping provide sane structure to your applications, Backbone is highly extensible supporting more custom architecture should you require more than what is prescribed out of the box. This is evident by the number of extensions and plugins which have been released for it over the past year, including those which we have touched upon such as MarionetteJS and Thorax.
+
+These days Backbone.js powers many complex web applications, ranging from the LinkedIn [mobile app](http://touch.www.linkedin.com/mobile.html) to popular RSS readers such as [NewsBlur](http://newsblur.com) through to social commentary widgets such as [Disqus](http://disqus.com/). This small library of simple, but sane abstractions has helped to create a new generation of rich web applications, and I and my collaborators hope that in time it can help you too.
+
+If you're wondering whether it is worth using Backbone on a project, ask yourself whether what you are building is complex enough to merit using it. Are you hitting the limits of your ability to organize your code? Will your application have regular changes to what is displayed in the UI without a trip back to the server for new pages? Would you benefit from a separation of concerns? If so, a solution like Backbone may be able to help.
+
+Google's GMail is often cited as an example of a well built single-page app. If you've used it, you might have noticed that it requests a large initial chunk, representing most of the JavaScript, CSS and HTML most users will need and everything extra needed after that occurs in the background. GMail can easily switch between your inbox to your spam folder without needing the whole page to be re-rendered. Libraries like Backbone make it easier for web developers to create experiences like this.
+
+That said, Backbone won't be able to help if you're planning on building something which isn't worth the learning curve associated with a library. If your application or site will still be using the server to do the heavy lifting of constructing and serving complete pages to the browser, you may find just using plain JavaScript or jQuery for simple effects or interactions to be more appropriate. Spend time assessing how suitable Backbone might be for you and make the right choice on a per-project basis.
+
+Backbone is neither difficult to learn nor use, however the time and effort you spend learning how to structure applications using it will be well worth it. While reading this book will equip you with the fundamentals needed to understand the library, the best way to learn is to try building your own real-world applications. You will hopefully find that the end product is cleaner, better organized and more maintainable code.
+
+With that, I wish you the very best with your onward journey into the world of Backbone and will leave you with a quote from American writer [Henry Miller](http://en.wikipedia.org/wiki/Henry_Miller) - “One’s destination is never a place, but a new way of seeing things.”
+
+# Appendix
+
+## A Simple JavaScript MVC Implementation
+
+A comprehensive discussion of Backbone's implementation is beyond the scope of this book. We can, however, present a simple MVC library - which we will call Cranium.js - that illustrates how frameworks such as Backbone implement the MVC pattern.
+
+Like Backbone, we will rely on [Underscore](http://underscorejs.org "Underscore.js") for inheritance and templating.
+
+### Event System
+
+At the heart of our JavaScript MVC implementation is an `Event` system (object) based on the Publisher-Subscriber Pattern which makes it possible for MVC components to communicate in an elegant, decoupled manner. Subscribers 'listen' for specific events of interest and react when Publishers broadcast these events.
+
+`Event` is mixed into both the View and Model components so that instances of either of these components can publish events of interest.
+
+```javascript
+// cranium.js - Cranium.Events
+
+var Cranium = Cranium || {};
+
+// Set DOM selection utility
+var $ = document.querySelector.bind(document) || this.jQuery || this.Zepto;
+
+// Mix in to any object in order to provide it with custom events.
+var Events = Cranium.Events = {
+ // Keeps list of events and associated listeners
+ channels: {},
+
+ // Counter
+ eventNumber: 0,
+
+ // Announce events and passes data to the listeners;
+ trigger: function (events, data) {
+ for (var topic in Cranium.Events.channels){
+ if (Cranium.Events.channels.hasOwnProperty(topic)) {
+ if (topic.split("-")[0] == events){
+ Cranium.Events.channels[topic](data) !== false || delete Cranium.Events.channels[topic];
+ }
+ }
+ }
+ },
+ // Registers an event type and its listener
+ on: function (events, callback) {
+ Cranium.Events.channels[events + --Cranium.Events.eventNumber] = callback;
+ },
+ // Unregisters an event type and its listener
+ off: function(topic) {
+ delete Cranium.Events.channels[topic];
+ }
+};
+```
+
+The Event system makes it possible for:
+
+* a View to notify its subscribers of user interaction (e.g., clicks or input in a form), to update/re-render its presentation, etc.
+* a Model whose data has changed to notify its Subscribers to update themselves (e.g., view to re-render to show accurate/updated data), etc.
+
+### Models
+
+Models manage the (domain-specific) data for an application. They are concerned with neither the user-interface nor presentation layers, but instead represent structured data that an application may require. When a model changes (e.g when it is updated), it will typically notify its observers (Subscribers) that a change has occurred so that they may react accordingly.
+
+Let's see a simple implementation of the Model:
+
+```javascript
+// cranium.js - Cranium.Model
+
+// Attributes represents data, model's properties.
+// These are to be passed at Model instantiation.
+// Also we are creating id for each Model instance
+// so that it can identify itself (e.g. on chage
+// announcements)
+var Model = Cranium.Model = function (attributes) {
+ this.id = _.uniqueId('model');
+ this.attributes = attributes || {};
+};
+
+// Getter (accessor) method;
+// returns named data item
+Cranium.Model.prototype.get = function(attrName) {
+ return this.attributes[attrName];
+};
+
+// Setter (mutator) method;
+// Set/mix in into model mapped data (e.g.{name: "John"})
+// and publishes the change event
+Cranium.Model.prototype.set = function(attrs){
+ if (_.isObject(attrs)) {
+ _.extend(this.attributes, attrs);
+ this.change(this.attributes);
+ }
+ return this;
+};
+
+// Returns clone of the Models data object
+// (used for view template rendering)
+Cranium.Model.prototype.toJSON = function(options) {
+ return _.clone(this.attributes);
+};
+
+// Helper function that announces changes to the Model
+// and passes the new data
+Cranium.Model.prototype.change = function(attrs){
+ this.trigger(this.id + 'update', attrs);
+};
+
+// Mix in Event system
+_.extend(Cranium.Model.prototype, Cranium.Events);
+```
+
+### Views
+
+Views are a visual representation of models that present a filtered view of their current state. A view typically observes a model and is notified when the model changes, allowing the view to update itself accordingly. Design pattern literature commonly refers to views as 'dumb', given that their knowledge of models and controllers in an application is limited.
+
+Let's explore Views a little further using a simple JavaScript example:
+
+```javascript
+// DOM View
+var View = Cranium.View = function (options) {
+ // Mix in options object (e.g extending functionallity)
+ _.extend(this, options);
+ this.id = _.uniqueId('view');
+};
+
+// Mix in Event system
+_.extend(Cranium.View.prototype, Cranium.Events);
+```
+
+### Controllers
+
+Controllers are an intermediary between models and views which are classically responsible for two tasks:
+
+* they update the view when the model changes
+* they update the model when the user manipulates the view
+
+```javascript
+// cranium.js - Cranium.Controller
+
+// Controller tying together a model and view
+var Controller = Cranium.Controller = function(options){
+ // Mix in options object (e.g extending functionallity)
+ _.extend(this, options);
+ this.id = _.uniqueId('controller');
+ var parts, selector, eventType;
+
+ // Parses Events object passed during the definition of the
+ // controller and maps it to the defined method to handle it;
+ if(this.events){
+ _.each(this.events, function(method, eventName){
+ parts = eventName.split('.');
+ selector = parts[0];
+ eventType = parts[1];
+ $(selector)['on' + eventType] = this[method];
+ }.bind(this));
+ }
+};
+```
+
+### Practical Usage
+
+HTML template for the primer that follows:
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+Cranium.js usage:
+
+```javascript
+
+// example.js - usage of Cranium MVC
+
+// And todo instance
+var todo1 = new Cranium.Model({
+ title: "",
+ completed: ""
+});
+
+console.log("First todo title - nothing set: " + todo1.get('title'));
+todo1.set({title: "Do something"});
+console.log("Its changed now: " + todo1.get('title'));
+''
+// View instance
+var todoView = new Cranium.View({
+ // DOM element selector
+ el: '#todo',
+
+ // Todo template; Underscore temlating used
+ template: _.template($('.todo-template').innerHTML),
+
+ init: function (model) {
+ this.render( model.toJSON() );
+
+ this.on(model.id + 'update', this.render.bind(this));
+ },
+ render: function (data) {
+ console.log("View about to render.");
+ $(this.el).innerHTML = this.template( data );
+ }
+});
+
+var todoController = new Cranium.Controller({
+ // Specify the model to update
+ model: todo1,
+
+ // and the view to observe this model
+ view: todoView,
+
+ events: {
+ "#todo.click" : "toggleComplete"
+ },
+
+ // Initialize everything
+ initialize: function () {
+ this.view.init(this.model);
+ return this;
+ },
+ // Toggles the value of the todo in the Model
+ toggleComplete: function () {
+ var completed = todoController.model.get('completed');
+ console.log("Todo old 'completed' value?", completed);
+ todoController.model.set({ completed: (!completed) ? 'checked': '' });
+ console.log("Todo new 'completed' value?", todoController.model.get('completed'));
+ return this;
+ }
+});
+
+
+// Let's kick start things off
+todoController.initialize();
+
+todo1.set({ title: "Due to this change Model will notify View and it will re-render"});
+
+```
+
+Samuel Clay, one of the authors of the first version of Backbone.js says of cranium.js: "Unsurprisingly, it looks a whole lot like the beginnings of Backbone. Views are dumb, so they get very little boilerplate and setup. Models are responsible for their attributes and announcing changes to those models."
+
+I hope you've found this implementation helpful in understanding how one would go about writing their own library like Backbone from scratch, but moreso that it encourages you to take advantage of mature existing solutions where possible but never be afraid to explore deeper down into what makes them tick.
+
+## MVP
+
+Model-View-Presenter (MVP) is a derivative of the MVC design pattern which focuses on improving presentation logic. It originated at a company named [Taligent](http://en.wikipedia.org/wiki/Taligent) in the early 1990s while they were working on a model for a C++ CommonPoint environment. Whilst both MVC and MVP target the separation of concerns across multiple components, there are some fundamental differences between them.
+
+For the purposes of this summary we will focus on the version of MVP most suitable for web-based architectures.
+
+### Models, Views & Presenters
+
+The P in MVP stands for presenter. It's a component which contains the user-interface business logic for the view. Unlike MVC, invocations from the view are delegated to the presenter, which are decoupled from the view and instead talk to it through an interface. This allows for all kinds of useful things such as being able to mock views in unit tests.
+
+The most common implementation of MVP is one which uses a Passive View (a view which is for all intents and purposes "dumb"), containing little to no logic. MVP models are almost identical to MVC models and handle application data. The presenter acts as a mediator which talks to both the view and model, however both of these are isolated from each other. They effectively bind models to views, a responsibility held by Controllers in MVC. Presenters are at the heart of the MVP pattern and as you can guess, incorporate the presentation logic behind views.
+
+Solicited by a view, presenters perform any work to do with user requests and pass data back to them. In this respect, they retrieve data, manipulate it and determine how the data should be displayed in the view. In some implementations, the presenter also interacts with a service layer to persist data (models). Models may trigger events but it's the presenter's role to subscribe to them so that it can update the view. In this passive architecture, we have no concept of direct data binding. Views expose setters which presenters can use to set data.
+
+The benefit of this change from MVC is that it increases the testability of your application and provides a more clean separation between the view and the model. This isn't however without its costs as the lack of data binding support in the pattern can often mean having to take care of this task separately.
+
+Although a common implementation of a [Passive View](http://martinfowler.com/eaaDev/PassiveScreen.html) is for the view to implement an interface, there are variations on it, including the use of events which can decouple the View from the Presenter a little more. As we don't have the interface construct in JavaScript, we're using it more and more as a protocol than an explicit interface here. It's technically still an API and it's probably fair for us to refer to it as an interface from that perspective.
+
+
+There is also a [Supervising Controller](http://martinfowler.com/eaaDev/SupervisingPresenter.html) variation of MVP, which is closer to the MVC and [MVVM - Model-View-ViewModel](http://en.wikipedia.org/wiki/Model_View_ViewModel) patterns as it provides data-binding from the Model directly from the View. Key-value observing (KVO) plugins (such as Derick Bailey's Backbone.ModelBinding plugin) introduce this idea of a Supervising Controller to Backbone.
+
+
+## MVP or MVC?
+
+MVP is generally used most often in enterprise-level applications where it's necessary to reuse as much presentation logic as possible. Applications with very complex views and a great deal of user interaction may find that MVC doesn't quite fit the bill here as solving this problem may mean heavily relying on multiple controllers. In MVP, all of this complex logic can be encapsulated in a presenter, which can simplify maintenance greatly.
+
+As MVP views are defined through an interface and the interface is technically the only point of contact between the system and the view (other than a presenter), this pattern also allows developers to write presentation logic without needing to wait for designers to produce layouts and graphics for the application.
+
+Depending on the implementation, MVP may be more easy to automatically unit test than MVC. The reason often cited for this is that the presenter can be used as a complete mock of the user-interface and so it can be unit tested independent of other components. In my experience this really depends on the languages you are implementing MVP in (there's quite a difference between opting for MVP for a JavaScript project over one for say, ASP.NET).
+
+At the end of the day, the underlying concerns you may have with MVC will likely hold true for MVP given that the differences between them are mainly semantic. As long as you are cleanly separating concerns into models, views and controllers (or presenters) you should be achieving most of the same benefits regardless of the pattern you opt for.
+
+## MVC, MVP and Backbone.js
+
+There are very few, if any architectural JavaScript frameworks that claim to implement the MVC or MVP patterns in their classical form as many JavaScript developers don't view MVC and MVP as being mutually exclusive (we are actually more likely to see MVP strictly implemented when looking at web frameworks such as ASP.NET or GWT). This is because it's possible to have additional presenter/view logic in your application and yet still consider it a flavor of MVC.
+
+Backbone contributor [Irene Ros](http://ireneros.com/) subscribes to this way of thinking as when she separates Backbone views out into their own distinct components, she needs something to actually assemble them for her. This could either be a controller route (such as a ```Backbone.Router```) or a callback in response to data being fetched.
+
+That said, some developers do however feel that Backbone.js better fits the description of MVP than it does MVC
+. Their view is that:
+
+* The presenter in MVP better describes the ```Backbone.View``` (the layer between View templates and the data bound to it) than a controller does
+* The model fits ```Backbone.Model``` (it isn't that different from the classical MVC "Model")
+* The views best represent templates (e.g Handlebars/Mustache markup templates)
+
+A response to this could be that the view can also just be a View (as per MVC) because Backbone is flexible enough to let it be used for multiple purposes. The V in MVC and the P in MVP can both be accomplished by ```Backbone.View``` because they're able to achieve two purposes: both rendering atomic components and assembling those components rendered by other views.
+
+We've also seen that in Backbone the responsibility of a controller is shared with both the Backbone.View and Backbone.Router and in the following example we can actually see that aspects of that are certainly true.
+
+Here, our Backbone ```TodoView``` uses the Observer pattern to 'subscribe' to changes to a View's model in the line ```this.model.on('change',...)```. It also handles templating in the ```render()``` method, but unlike some other implementations, user interaction is also handled in the View (see ```events```).
+
+
+```javascript
+// The DOM element for a todo item...
+app.TodoView = Backbone.View.extend({
+
+ //... is a list tag.
+ tagName: 'li',
+
+ // Pass the contents of the todo template through a templating
+ // function, cache it for a single todo
+ template: _.template( $('#item-template').html() ),
+
+ // The DOM events specific to an item.
+ events: {
+ 'click .toggle': 'togglecompleted'
+ },
+
+ // The TodoView listens for changes to its model, re-rendering. Since there's
+ // a one-to-one correspondence between a **Todo** and a **TodoView** in this
+ // app, we set a direct reference on the model for convenience.
+ initialize: function() {
+ this.model.on( 'change', this.render, this );
+ this.model.on( 'destroy', this.remove, this );
+ },
+
+ // Re-render the titles of the todo item.
+ render: function() {
+ this.$el.html( this.template( this.model.toJSON() ) );
+ return this;
+ },
+
+ // Toggle the `"completed"` state of the model.
+ togglecompleted: function() {
+ this.model.toggle();
+ },
+});
+```
+
+Another (quite different) opinion is that Backbone more closely resembles [Smalltalk-80 MVC](http://martinfowler.com/eaaDev/uiArchs.html#ModelViewController), which we went through earlier.
+
+As MarionetteJS author Derick Bailey has [written](http://lostechies.com/derickbailey/2011/12/23/backbone-js-is-not-an-mvc-framework/), it's ultimately best not to force Backbone to fit any specific design patterns. Design patterns should be considered flexible guides to how applications may be structured and in this respect, Backbone doesn't fit either MVC nor MVP perfectly. Instead, it borrows some of the best concepts from multiple architectural patterns and creates a flexible framework that just works well. Call it **the Backbone way**, MV* or whatever helps reference its flavor of application architecture.
+
+It *is* however worth understanding where and why these concepts originated, so I hope that my explanations of MVC and MVP have been of help. Most structural JavaScript frameworks will adopt their own take on classical patterns, either intentionally or by accident, but the important thing is that they help us develop applications which are organized, clean and can be easily maintained.
+
+## Namespacing
+
+When learning how to use Backbone, an important and commonly overlooked area by tutorials is namespacing. If you already have experience with namespacing in JavaScript, the following section will provide some advice on how to specifically apply concepts you know to Backbone, however I will also be covering explanations for beginners to ensure everyone is on the same page.
+
+#### What is namespacing?
+
+Namespacing is a way to avoid collisions with other objects or variables in the global namespace. Using namespacing reduces the potential of your code breaking because another script on the page is using the same variable names that you are. As a good 'citizen' of the global namespace, it's also imperative that you do your best to minimize the possibility of your code breaking other developer's scripts.
+
+JavaScript doesn't really have built-in support for namespaces like other languages, however it does have closures which can be used to achieve a similar effect.
+
+In this section we'll be taking a look shortly at some examples of how you can namespace your models, views, routers and other components. The patterns we'll be examining are:
+
+* Single global variables
+* Object Literals
+* Nested namespacing
+
+**Single global variables**
+
+One popular pattern for namespacing in JavaScript is opting for a single global variable as your primary object of reference. A skeleton implementation of this where we return an object with functions and properties can be found below:
+
+```javascript
+var myApplication = (function(){
+ function(){
+ // ...
+ },
+ return {
+ // ...
+ }
+})();
+```
+
+You've probably seen this technique before. A Backbone-specific example might look like this:
+
+```javascript
+var myViews = (function(){
+ return {
+ TodoView: Backbone.View.extend({ .. }),
+ TodosView: Backbone.View.extend({ .. }),
+ AboutView: Backbone.View.extend({ .. });
+ //etc.
+ };
+})();
+```
+
+Here we can return a set of views, but the same technique could return an entire collection of models, views and routers depending on how you decide to structure your application. Although this works for certain situations, the biggest challenge with the single global variable pattern is ensuring that no one else has used the same global variable name as you have in the page.
+
+One solution to this problem, as mentioned by Peter Michaux, is to use prefix namespacing. It's a simple concept at heart, but the idea is you select a common prefix name (in this example, `myApplication_`) and then define any methods, variables or other objects after the prefix.
+
+```javascript
+var myApplication_todoView = Backbone.View.extend({}),
+ myApplication_todosView = Backbone.View.extend({});
+```
+
+This is effective from the perspective of trying to lower the chances of a particular variable existing in the global scope, but remember that a uniquely named object can have the same effect. This aside, the biggest issue with the pattern is that it can result in a large number of global objects once your application starts to grow.
+
+For more on Peter's views about the single global variable pattern, read his [excellent post on them](http://michaux.ca/articles/javascript-namespacing).
+
+Note: There are several other variations on the single global variable pattern out in the wild, however having reviewed quite a few, I felt the prefixing approach applied best to Backbone.
+
+**Object Literals**
+
+Object Literals have the advantage of not polluting the global namespace but assist in organizing code and parameters logically. They're beneficial if you wish to create easily readable structures that can be expanded to support deep nesting. Unlike simple global variables, Object Literals often also take into account tests for the existence of a variable by the same name, which helps reduce the chances of collision.
+
+This example demonstrates two ways you can check to see if a namespace already exists before defining it. I commonly use Option 2.
+
+```javascript
+/* Doesn't check for existence of myApplication */
+var myApplication = {};
+
+/*
+Does check for existence. If already defined, we use that instance.
+Option 1: if(!myApplication) myApplication = {};
+Option 2: var myApplication = myApplication || {};
+We can then populate our object literal to support models, views and collections (or any data, really):
+*/
+
+var myApplication = {
+ models : {},
+ views : {
+ pages : {}
+ },
+ collections : {}
+};
+```
+
+One can also opt for adding properties directly to the namespace (such as your views, in the following example):
+
+```javascript
+var myTodosViews = myTodosViews || {};
+myTodosViews.todoView = Backbone.View.extend({});
+myTodosViews.todosView = Backbone.View.extend({});
+```
+
+The benefit of this pattern is that you're able to easily encapsulate all of your models, views, routers etc. in a way that clearly separates them and provides a solid foundation for extending your code.
+
+This pattern has a number of benefits. It's often a good idea to decouple the default configuration for your application into a single area that can be easily modified without the need to search through your entire codebase just to alter it. Here's an example of a hypothetical object literal that stores application configuration settings:
+
+
+```javascript
+var myConfig = {
+ language: 'english',
+ defaults: {
+ enableDelegation: true,
+ maxTodos: 40
+ },
+ theme: {
+ skin: 'a',
+ toolbars: {
+ index: 'ui-navigation-toolbar',
+ pages: 'ui-custom-toolbar'
+ }
+ }
+}
+```
+
+Note that there are really only minor syntactical differences between the Object Literal pattern and a standard JSON data set. If for any reason you wish to use JSON for storing your configurations instead (e.g. for simpler storage when sending to the back-end), feel free to.
+
+For more on the Object Literal pattern, I recommend reading Rebecca Murphey's [excellent article on the topic](http://rmurphey.com/blog/2009/10/15/using-objects-to-organize-your-code).
+
+**Nested namespacing**
+
+An extension of the Object Literal pattern is nested namespacing. It's another common pattern used that offers a lower risk of collision due to the fact that even if a top-level namespace already exists, it's unlikely the same nested children do. For example, Yahoo's YUI uses the nested object namespacing pattern extensively:
+
+```javascript
+YAHOO.util.Dom.getElementsByClassName('test');
+```
+
+Yahoo's YUI uses the nested object namespacing pattern regularly and even DocumentCloud (the creators of Backbone) use the nested namespacing pattern in their main applications. A sample implementation of nested namespacing with Backbone may look like this:
+
+```javascript
+var todoApp = todoApp || {};
+
+// perform similar check for nested children
+todoApp.routers = todoApp.routers || {};
+todoApp.model = todoApp.model || {};
+todoApp.model.special = todoApp.model.special || {};
+
+// routers
+todoApp.routers.Workspace = Backbone.Router.extend({});
+todoApp.routers.TodoSearch = Backbone.Router.extend({});
+
+// models
+todoApp.model.Todo = Backbone.Model.extend({});
+todoApp.model.Notes = Backbone.Model.extend({});
+
+// special models
+todoApp.model.special.Admin = Backbone.Model.extend({});
+```
+
+This is readable, clearly organized, and is a relatively safe way of namespacing your Backbone application. The only real caveat however is that it requires your browser's JavaScript engine to first locate the todoApp object, then dig down until it gets to the function you're calling. However, developers such as Juriy Zaytsev (kangax) have tested and found the performance differences between single object namespacing vs the 'nested' approach to be quite negligible.
+
+**What does DocumentCloud use?**
+
+In case you were wondering, here is the original DocumentCloud (remember those guys that created Backbone?) workspace that uses namespacing in a necessary way. This approach makes sense as their documents (and annotations and document lists) are embedded on third-party news sites.
+
+```javascript
+
+// Provide top-level namespaces for our javascript.
+(function() {
+ window.dc = {};
+ dc.controllers = {};
+ dc.model = {};
+ dc.app = {};
+ dc.ui = {};
+})();
+```
+
+As you can see, they opt for declaring a top-level namespace on the `window` called `dc`, a short-form name of their app, followed by nested namesapces for the controllers, models, UI and other pieces of their application.
+
+**Recommendation**
+
+Reviewing the namespace patterns above, the option that I prefer when writing Backbone applications is nested object namespacing with the object literal pattern.
+
+Single global variables may work fine for applications that are relatively trivial. However, larger codebases requiring both namespaces and deep sub-namespaces require a succinct solution that's both readable and scalable. I feel this pattern achieves both of these objectives and is a good choice for most Backbone development.
+
+
+## Backbone Dependency Details
+
+The following sections provide insight into how Backbone uses jQuery/Zepto and Underscore.js.
+
+### DOM Manipulation
+
+Although most developers won't need it, Backbone does support setting a custom DOM library to be used instead of these options. From the source:
+
+```
+// For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns
+// the `$` variable.
+ Backbone.$ = root.jQuery || root.Zepto || root.ender || root.$;
+```
+
+So, setting `Backbone.$ = myLibrary;` will allow you to use any custom DOM-manipulation library in place of the jQuery default.
+
+### Utilities
+
+Underscore.js is heavily used in Backbone behind the scenes for everything from object extension to event binding. As the entire library is generally included, we get free access to a number of useful utilities we can use on Collections such as filtering `_.filter()`, sorting `_.sortBy()`, mapping `_.map()` and so on.
+
+From the source:
+
+```
+// Underscore methods that we want to implement on the Collection.
+// 90% of the core usefulness of Backbone Collections is actually implemented
+// right here:
+var methods = ['forEach', 'each', 'map', 'collect', 'reduce', 'foldl', 'inject', 'reduceRight', 'foldr', 'find', 'detect', 'filter', 'select', 'reject', 'every', 'all', 'some', 'any', 'include', 'contains', 'invoke', 'max', 'min', 'toArray', 'size', 'first', 'head', 'take', 'initial', 'rest', 'tail', 'drop', 'last', 'without', 'indexOf', 'shuffle', 'lastIndexOf', 'isEmpty', 'chain'];
+
+// Mix in each Underscore method as a proxy to `Collection#models`.
+_.each(methods, function(method) {
+ Collection.prototype[method] = function() {
+ var args = slice.call(arguments);
+ args.unshift(this.models);
+ return _[method].apply(_, args);
+ };
+});
+```
+
+However, for a complete linked list of methods supported, see the [official documentation](http://backbonejs.org/#Collection-Underscore-Methods).
+
+### RESTful persistence
+
+Models and collections in Backbone can be "sync"ed with the server using the `fetch`, `save` and `destroy` methods. All of these methods delegate back to the `Backbone.sync` function, which actually wraps jQuery/Zepto's `$.ajax` function, calling GET, POST and DELETE for the respective persistence methods on Backbone models.
+
+From the the source for `Backbone.sync`:
+
+```
+var methodMap = {
+ 'create': 'POST',
+ 'update': 'PUT',
+ 'patch': 'PATCH',
+ 'delete': 'DELETE',
+ 'read': 'GET'
+};
+
+Backbone.sync = function(method, model, options) {
+ var type = methodMap[method];
+
+ // ... Followed by lots of Backbone.js configuration, then..
+
+ // Make the request, allowing the user to override any Ajax options.
+ var xhr = options.xhr = Backbone.ajax(_.extend(params, options));
+ model.trigger('request', model, xhr, options);
+ return xhr;
+```
+
+### Routing
+
+Calls to `Backbone.History.start` rely on jQuery/Zepto binding `popState` or `hashchange` event listeners back to the window object.
+
+From the source for `Backbone.history.start`:
+
+```
+ // Depending on whether we're using pushState or hashes, and whether
+ // 'onhashchange' is supported, determine how we check the URL state.
+ if (this._hasPushState) {
+ Backbone.$(window)
+ .on('popstate', this.checkUrl);
+ } else if (this._wantsHashChange && ('onhashchange' in window) && !oldIE) {
+ Backbone.$(window)
+ .on('hashchange', this.checkUrl);
+ } else if (this._wantsHashChange) {
+ this._checkUrlInterval = setInterval(this.checkUrl, this.interval);
+ }
+ ...
+```
+
+`Backbone.History.stop` similarly uses your DOM manipulation library to unbind these event listeners.
+
+
+## Backbone Vs. Other Libraries And Frameworks
+
+Backbone is just one of many different solutions available for structuring your application and we're by no means advocating it as the be all and end all. It's served the authors of this book well in building many simple and complex web applications and we hope that it can serve you equally as well. The answer to the question 'Is Backbone better than X?' generally has a lot more to do with what kind of application you're building.
+
+AngularJS and Ember.js are examples of powerful alternatives but differ from Backbone in that there are more opinionated. For some projects this can be useful and for others, perhaps not. The important thing to remember is that there is no library or framework that's going to be the best solution for every use-case and so it's important to learn about the tools at your disposal and decide which one is best on a project-by-project basis.
+
+Choose the right tool for the right job. This is why we recommend spending some time doing a little due diligence. Consider productivity, ease of use, testability, community and documentation. If you're looking for more concrete comparisons between frameworks, read:
+
+* [Journey Through The JavaScript MVC Jungle](http://coding.smashingmagazine.com/2012/07/27/journey-through-the-javascript-mvc-jungle/)
+* [Throne of JS - Seven JavaScript Frameworks](http://blog.stevensanderson.com/2012/08/01/rich-javascript-applications-the-seven-frameworks-throne-of-js-2012/)
+
+The authors behind Backbone.js, AngularJS and Ember have also discussed some of the strengths and weaknesses of their solutions on Quora, StackOverflow and so on:
+
+* [Jeremy Ashkenas on Why Backbone?](http://backbonejs.org/#FAQ-why-backbone)
+* [Tom Dale on Why Ember.js vs. AngularJS](http://www.quora.com/Ember-js/Which-one-of-angular-js-and-ember-js-is-the-better-choice/answer/Tom-Dale)
+* [Brian Ford & Jeremy Ashkenas on Backbone vs. Angular (discussion)](http://www.reddit.com/r/javascript/comments/17h22w/an_introduction_to_angular_for_backbone_developers/)
+
+The solution you opt for may need to support building non-trivial features and could end up being used to maintain the app for years to come so think about things like:
+
+**What is the library/framework really capable of?**
+
+Spend time reviewing both the source code of the framework and official list of features to see how well they fit with your requirements. There will be projects that may require modifying or extending the underlying source and thus make sure that if this might be the case, you’ve performed due diligence on the code.
+Has the framework been proven in production?
+
+i.e Have developers actually built and deployed large applications with it that are publicly accessible? Backbone has a strong portfolio of these (SoundCloud, LinkedIn, Walmart) but not all frameworks do. Ember is used in number of large apps, including the new version of ZenDesk. AngularJS has been used to build the YouTube app for PS3 amongst other places. It’s not only important to know that a framework works in production, but also being able to look at real world code and be inspired by what can be built with it.
+
+**Is the framework mature?**
+
+I generally recommend developers don’t simply “pick one and go with it”. New projects often come with a lot of buzz surrounding their releases but remember to take care when selecting them for use on a production-level app. You don’t want to risk the project being canned, going through major periods of refactoring or other breaking changes that tend to be more carefully planned out when a framework is mature. Mature projects also tend to have more detailed documentation available, either as a part of their official or community-driven docs.
+
+**Is the framework flexible or opinionated?**
+
+Know what flavor you’re after as there are plenty of frameworks available which provide one or the other. Opinionated frameworks lock (or suggest) you to do things in a specific way (theirs). By design they are limiting, but place less emphasis on the developer having to figure out how things should work on their own.
+Have you really played with the framework?
+
+Write a small application without using frameworks and then attempt to refactor your code with a framework to confirm whether it’s easy to work with or not. As much as researching and reading up on code will influence your decision, it’s equally as important to write actual code using the framework to make sure you’re comfortable with the concepts it enforces.
+
+**Does the framework have a comprehensive set of documentation?**
+
+Although demo applications can be useful for reference, you’ll almost always find yourself consulting the official framework docs to find out what its API supports, how common tasks or components can be created with it and what the gotchas worth noting are. Any framework worth it’s salt should have a detailed set of documentation which will help guide developers using it. Without this, you can find yourself heavily relying on IRC channels, groups and self-discovery, which can be fine, but are often overly time-consuming when compared to a great set of docs provided upfront.
+
+**What is the total size of the framework, factoring in minification, gzipping and any modular building that it supports?**
+
+What dependencies does the framework have? Frameworks tend to only list the total filesize of the base library itself, but don’t list the sizes of the library's dependencies. This can mean the difference between opting for a library that initially looks quite small, but could be relatively large if it say, depends on jQuery and other libraries.
+
+**Have you reviewed the community around the framework?**
+
+Is there an active community of project contributors and users who would be able to assist if you run into issues? Have enough developers been using the framework that there are existing reference applications, tutorials and maybe even screencasts that you can use to learn more about it?
+
+
+---
+Where relevant, copyright Addy Osmani, 2012-2013.
diff --git a/backbone-fundamentals.mobi b/backbone-fundamentals.mobi
new file mode 100644
index 00000000..2879cb36
Binary files /dev/null and b/backbone-fundamentals.mobi differ
diff --git a/backbone-fundamentals.pdf b/backbone-fundamentals.pdf
new file mode 100644
index 00000000..9a24f36d
Binary files /dev/null and b/backbone-fundamentals.pdf differ
diff --git a/backbone-fundamentals.rtf b/backbone-fundamentals.rtf
new file mode 100644
index 00000000..c728ebee
--- /dev/null
+++ b/backbone-fundamentals.rtf
@@ -0,0 +1,14085 @@
+{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
+{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
+\widowctrl\hyphauto
+
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Prelude\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\jpegblip ffd8ffe000104a46494600010100000100010000ffdb0084000906060e0d0f100e100f100f0f101014100f1010100e0f0f10141410151416101715171c261e1719231914141f2f202527292c2c2c151e3137302a35262b2c2901090a0a0e0c0e1a0f0f1a34241f252c352c2e302c2934302a2c2c2c3435292c2c2c2a2c2c2c2c2c2c2c2c2c292c2c2c2c2c2c2d2c2c2c2c2c2c292c2c2c2c2c2cffc000110800e100e103012200021101031101ffc4001c0001000203010101000000000000000000000607040508010302ffc4004110000103010405070907030501000000000100020304050611210712316171132232415173b223354262728191a1b11433345282b3c10843d1248384c2e115ffc4001a010100020301000000000000000000000000040501030602ffc4002e1100020201030106050501010000000000000102032104113112052232335171416181a1b1135291c1d14234ffda000c03010002110311003f00bc51110044440117c29eb6294bdac918f746ed491ad70258efcae1d457dd0044440111100444401111004444011110044440111100445f2a9aa8e26eb48f6b1b8818b8868c49c00cfac94e437b1f5444401111004444011110044440735df3b6aa686dcae9a9a67c3209cf398768d56e446c70dc7253db9da71865d586d16885fb054301e45dbdeddace2311c156ba4af3c57f7e7c0d519533a14a2b7207ea38c9ec761d3d432563648ded7b1c316bd8439ae1da08c8afa2e57bad7e2baca7e34f29e4c9c5f03f1742ff00d3d4778c0abbae7e96e82d2d58a52292a4e5c9c8e1c9bcfa926c3c0e078ad12adc4930b5489d2222d46e08888022220088880222200888802f1ce00124e006649c80dea3d78efcd1d9f8b5cee566ea86320b87b47637df9ee555de3bed576812d7bb9387aa18c90cfd476b8f1f8299468ecb73c220ea35d5d38e5fa13fbcba50a7a6c63a602a25d9ad8f9169e23a5eecb7aae64b76a6baae192795cf3cb3355bb18cf28326b464169965597f7f0f7d1f8c2b9af4d5d31eeacfa9456eaecbe4ba9e3d0e8c4445cd1d584444011110044440111101cbda4af3c57f7e7c0d519526d2579e2bfbf3e16a8ca9f1e115b3f133d5e2f578b27927373f4b55f66eac5213574c32e4e471e5183d49332381c4705775d6bf3416b371a794728062f81f836667e9eb1bc62172c2fa4150f89cd9237398f69c5af612d734f682330b5cab523742e713b0d151d73b4e3343ab0da0d33c7b054300e59bbdcdd8fe2303c55c7645b74d5d109a9a664d19eb61c703d8e1b5a77151a5071e49719a970672222f07b08888022f8d5d5c7030c92bdb1b1a312e710d68f7955dde5d2be18c542dc7a8cf20cb8b187ea7e0b75544ed7b451a2ed4574ade6ffd2736cdbf4d42cd79e50cc7a2ddaf7ee6b466556179749d53558c74f8d34272d607cb3c6f70e8f01f150fabac967799257ba47bb6b9e4b895f1575468615e6597f628751da165b88e17dcf49273399399276af1114f2b42cab2fefe1efa3f1858ab2acbfbf87be8fc61625c33d47c48e8c4445c89da84444011110044440111101cbda4af3c57f7e7c2d51a525d2579e2bfbf3e16a8ca9f1e115b3f133d5e22945d4b83536bc1532d339864a7730724fe6f281e1c79aed808d5d87b76acb69726126f088ba2c9b42ce9a9647433c4f8a46f498f696b87f91bd632180b61635bd5541289a9a67c2f1b4b4e4e1f95cdd8e1b8ad7a20df62f4b9da70827d586d068a797609db8981ded0db1fcc6f0ad08666c8d0f639af63862d7348735c3b411b42e3c52cb937b2d3b3dc3ecf2630138be2971740eedc06d077b705a9d0e4fb86f5a9505dfe0e99270cd432f2e9369a975a3a7c2a6619620f9161dee1d2e03e2156b6d6936a2d32e89cfe423c70e458486bb03d6edaee1f25a75334da18b5d537bfc97f641d5768c93e9ad6df37fd1b2b6af0d557bf5e790bb0e8b0651b3d96ec1c76ad6a22b78c5456c8a5949c9ef279088bf70c2e91c18c697b9c706b5a0b9c4f60036ac9e4fc22915a5722a69293ed73e1192f6b1b16d7f3b1cdc464366ccfdca3abc42719ade2f73dceb941ed25b059565fdfc3df47e30b1565597f7f0f7d1f8c2f52e19887891d18888b913b50888802222008888022220397b495e78afefcf81aa32a4da4af3c57f7e7c2d51953e3c22b67e2615d3fd3dfddd7f790f86454b2ba7fa7bfbbafef21f0c8bc5be13dd3e34591786eb51da71f25550b641e8bfa3230f6b5e331f454b5f1d0bd5d1eb4b464d5c033d403fd4306f68c9e37b73dcaff005f2a8a9644d3248f6b18d18b9ce21ad1ef2a342725c12e708c964e3e734824104107020e441ec5f48299f21c1a09fa0e255ada47b46cab41fe469b5a6079d56318b5c0ead51d31bddee5138a26b06ab4003b02b8a74d29ade78fc9477eaa307d30cfe0d7d1d88d666fe7bbb3d11fe56c8045e856308460b68a2ae764a6f7932233f4dded1faacca3b5df1e01dcf6f61da3815873f4dded1faaf9aa7537196e8bc708ce3b4912aa5ad64a39a73eb07270f72fba8835c41c41208d846454e747f7de8a8a606ba9b96cc6a540e798b798ce4788cd4c5acda3de59f9109e8779775e3e6486ed68eeaebb091e3ecf01cf5de0ebb87aacebe2701c55a7605d4a4b3db8431f3f0c1d2bb9d23bdfd4370c02ccb2ed7a7ac8c4d4f2b268ddb1cc388e07ac1dc73598aaafd5596e1e17a173a7d1d74e565fa90dd2b79bbfdf8ffeca9b572695bcddfefc7ff654dab4ecff0027ea53f69f9df40b2acbfbf87be8fc6162acab2fefe1efa3f1853e5c32ba3e247462222e44ed42222008888022220088880e5ed2579e2bfbf3e06a8ca93692bcf15fdf9f0b54654f8f08ad9f899eaba3fa7b3e4abfdb87c322a7e92cf925e88c07e6390ffd529b265969219208e57b5931699834ea87ea82003867866725ba3a69dab184687aa852f7797e85cb7974934b478c70e15330cb069f24c3eb3faf80f92ab6dcbcb555eed69e42403cd8dbcd8d9c1bfc9cd6ad15853a5ae9e39f52b351acb2ee5ecbd0222294440bd0bd8e373c86b417389c035a0924f60036a9e5dad164d36125593047b7921872cee3d4cf99e0b55b742a5bc99baaa2773da08a527e9bbda3f55f3570df2d06b86b4f673f5b6b8d34aee77e890ede0ef8aa96b6865a791d14d1be291a70731ed2d70f71548a6a5945fb84a1867c17abc5eaf47936361de2abb3a5e5a9667c4ff4b038b1e3b1cd3938715735ced36d354eac35c052cdb39518fd9de7b4f5c7efc46f543af5789414b93dc2c94783a4b4a52b5f6687348735d3465ae69041043b3046d54ead151de4aa86134c2571a72e0fe45c75a30e1d6d07a273ea5b1a3b523972e8bbf29fe0f5ab0d14a30874379dcacd7c6539f5a58d8cc59565fdfc3df47e30b1565597f7f0f7d1f8c2b0970cae8f891d18888b913b50888802222008888022220398b4874ef92d9af0d6927973eee6b76f62c2a3b11adce4e71fcbe88ff2a5f7d9a05a559800319893bf9a1691745a7d3c54549e7072fa9d549cdc638c8030c86411114d200445b5b0aecd5d7bb5608c968e948ee6c6de2efe066bcca4a2b76cf518b93da2b766a94a2ede8feaebf0791c8407fb92038b87a8ddaee390dea7f76b46f4b47ab24b854ce33c5e3c9b0faacfe4fc94bd555fda1f0abf92e74fd99ff56ff0692ef5d0a4b3c79266b49873a67e0e90fbfd11b82dda22a994a537bc9ee5d421182e98ad905a6bc77468ad48f93aa843c81cc9073658fd978cc70d9b96e51794f632d6fc9cf77c74355b43ad2d2e3594e333aa309e31eb307486f6fc02af48c32392ec650fbe1a30a0b57190b7ecf527fbf1000b8faedd8ffaef522377ee234e8f8c4e684528bdba3bafb24974b1f29063cda8881747bb5bad878fc4a8c2909a7c119a6b0cf17a88b260d851db2f8f2773dbbfa43dea4961563259e12d763e563c46c239e3a942d66d86e22aa9c8241e5e2d997f71aa4435128ad9e51167a584deeb0ceb944454c5f04444011110044440111101435f8f3955f7a7c216896f6fc79caafbd3e10b44baba7cb8fb238dbfcc97bb0bf32cad60d671007695fa5a6bc3b63e0efa84b67d117214d7fa93513cacb709ca3180fcc76fb8752dcdcfd27d7d944303bed14f8e260949c06271258edad3f11b9441153d9376788bbaa0aaf01d3f74b489416b00d8a4e4e7c31753cb83651dbabd4f1bc7c949d71d4721690e692d703882090411b082361565dced365552eac35c0d54232e5461f6860de4e527bf03bd43953fb49d0bd3c48be916b2c2bc74968c5cad2ccd95be90193d87b1cd39b4f15b35a0929ee1116357da30d330cb348d8d836b9c70f70ed3b82ca4de1186d25bb3256aaddbcf4b67b75a79007118b636f3a47f06ff002700a077974acf7e31513751bb0cef035cfb2dd8de273dc157d3d43e5717bdce7bdc71739c4b9c4ef2559d1d9f2966cc2fb953a8ed28c71565fafc094de7d22d4d70744c1c853bb1058337bc1ea7bbb370f9aafeb2c46bf36731dd9e89ff000b668ad569eb51e94b053bd4dae5d6de489cf4cf8ce0e041f91e057c9486dcfbafd43f951e559756ab96c8b4a2c7643a9859b62fe2a9fbf8bf75ab0966d8bf8aa7efe2fdd6ad2f837ae4eba44455e5a04444011110044440111101435f8f3955f7a7c216896f6fc79caafbd3e10b44baba7cb8fb238dbfcc97bb0b536fd3bcb5920638b1b8b5cfd53a809cc349d809c0fc16d9597a24a664b0d6c7231b231ce88398f68735c355f910722b4eb25d35366fd147aae4bdff000508bc577df1d06c52eb4d673842fda69e424c4edcc76d670388e0a9db5ac6a9a294c3510be1907a2f18623b41d8e1bc2a88cd4b82ea75b8f261a2f117b3c197665ad5147209a9e57c32376398703c0f511b8e4ae0b9ba72649ab05a2ce4de7002a6269319f6d8336f1188dc15414765c92e786ab7f31fe075ade51d9f1c5b062efcc76ffe2db0d23b79c234cf58a9c2cbf42e3bc5a54a7841652615126ce53fb2dfe5e7865bd5676b5b5515afe52795d23ba81c9addcd68c8050b6d6be291c5a7d238839839f62dbd1db0c9327731dbfa27815234aa986173f322eaddf665bdd7a233d11158958117da9696499e238d8e91eec9ad682e71f70561ddad1413ab2d73b01b79061cf83de36701f15a6dbe152de4cdf4e9ecb9ed05fe154db703cd39786b8b1af6873b03aa09c7004f5151c57ee99a862a7b1845146d8d8da98b06b400363b3e3bd502aa6777eb3eadb62e6147e82e8df73d59962fe2a9fbf8bf75ab0d6658bf8aa7efe2fdd6af0f83dae4eba44455e5a04444011110044440111101435f8f3955f7a7c216896f6fc79caafbd3e10b44baba7cb8fb238dbfcc97bb0acfd0df42afdb8bc2f5582b3f439d0abf6e2f0bd47d7790fe9f925767ff00e88fd7f058eb5d6dddfa5b42230d4c2c999d5ac39cd3f99ae19b4ef0b2ab6ba2a76196591b1b1bb5ce200e1bcee55c5e5d2b938c542dc06c33bc67fa1876713f05474d165afb88e82fd4574aefbfa10ad2068adb6691253d4b1f13dd9432b836a1b89da30e9b476e5ef51ca3b1991e6ee7bb7f447b96d6aaaa499e6491ee91eecdce792e71f795f257b4e954177b2ce76fd5bb1f77082f42f17a14b211119fa6ef68fd57e17ee7e9bbda3f55f3544f93a15c19b476ac9165d26f61eae054fae258715b1216fda638757374648fb4387aadeb1bfe4ab45fb8a6731c1ec716b9a716b9a4b5cd3da08cc15b15f6463b266b7a7ae52ea923ac6c4bb94b40cd48230d24739e79d23f8bbf8d8b66a8ab9da6fa8a7d586bda6a62d8276e02760ed70d927c8ef2ae5b16dfa5b42213534cc99876ea9e734fe5734e6d3b8aadb14b7de45ad6e1b6d1c10dd39f9a7fe4c5f47ae7a5d0ba72f34ffc98be8f5cf4b7d3e123dfe23d59962fe2a9fbf8bf75ab0966d8bf8aa7efe2fdd6adaf8342e4eba44455e5a04444011110044440111101435f8f3955f7a7c216896f6fc79caafbd3e10b44baba7cb8fb238dbfcc97bb0a5174af9fff002e1a86b62e52595cc2cd63846dd50ec49eb3b465f35174599c2362e997062bb255cbaa3c9b0b62dea9ae7f293cae79f45bb18ddcd68c82d7a22f4928ad91e252727bb088be9053be570631ae7bdc706b5a0b9c4ee0164c1f359d64d8b515b2727044e91dd7864d6ef738e4029bddad14bdf84b5aed46ede41846b9f69db1bc067bc2b2282ce86998228636c6c1b1ad187bcf69de5575faf84310cbfb16ba7ecd9cf36617dce5ebd3742b6cc948a984b1ae71d495bce89f9e393c658ee3815a25d83574714ec7452b1b246e18398f68735c3782aa8be3a0c63f5a6b35da8eda69a47730ee63ce6de0ec46f0aae376fe22da5435e1295459769d973d248e86a227c32376b1e303c4768de32588b711cf5665936d54d14a26a699f0c83d261c311d846c70dc561af1013ebcda537dab66fd8ea210da86cb1bc4b1e51bc371c7169cda73eac4705014458514b833293972166d8bf8aa7efe2fdd6ac259b62fe2a9fbf8bf75ab2f830b93ae911157968111100444401111004444050d7e3ce557de9f085a25bdbf1e72abef4f842d12eae9f2e3ec8e36ff00325eec2222d86a08b7577ee8d5da27c93308f1c1d33f16c63dfe91dc15a976f47d494183c8e5e71fdc900c1a7d46ec1c732a25fabaeac3cbf426e9f4565d9585ea57f76b4715559ab24b8d3c073d670f28f1eab3f93f3569d8576292cf6eac1180e230748ee748ee2efe064b6a8a96fd559773c7a17fa7d1d74652ddfa844451496111101acb7aed525a31725550b656fa248c1ec3dad70cda782a5ef8e852aa935a6a226ae11998f2fb430701949eecf72bed17b8cdc7835ceb8cb938e9ec2d25a41041c0820820f611d4bc5d3d7b7475416b02e963e4e7c39b51100d9376b753c71f88547defd18d7d95acf73797a61b2788121a3d76ed67d37a931b148893a9c4882f578bd5b4d478b36c5fc553f7f17eeb5612cdb17f154fdfc5fbad587c05c9d74888abcb40888802222008888022220286bf1e72abef4f842d12905f285d25a954c635cf73a6c1ad682e713aa32006d521bb5a2a924c24ac71899b442d23953ed1d8df99e0ba55742aaa2e4fe08e51d13bae9282f8b215665933d5c822823748f3d8326ef27601c559976f4570c38495844d26d1137110b789daff0090e2a6967597052c6228236c6c1d4d1b7793b49de5652abbf5f39e2185f72e34fd9d0af33cbfb1f98e36b006b406b40c035a00007600362fd222ae2cc22220088880222200888802f08c723b17a880aeef8e8668ebb5a5a5c28ea0e64347fa779dec1d1e2df8154a5e3ba75b6649c9d542e66279920e74526f6bc64786ddcbabd63d75043531ba19a364b1bc60e63da1cd3ee2b6c6d6b934ce952e0e4159962fe2a9fbf8bf75aad8be3a0c075a6b35f8759a595d9708e43f477c555f49674d4b5d0433c4f8a46d445acc91a5ae1e55b9e7d5bd49535258223838bc9d64888a0962111100444401111004444060d2d8b4f0cb24ec89a2695dad2487379eac313b06e0b391165b6f930925c044458321111004444011110044440111100444401111005adb62ee5257067da216c863707c6f3948c734e20b5c33198d9b0ad9220e4222200888802222008888022220088880222200888802222008888022220088880222200888802222008888022220088880ffd9}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Not so long ago, \u8220"data-rich web application\u8221" was an oxymoron. Today, these applications are everywhere and you need to know how to build them.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Traditionally, web applications left the heavy-lifting of data to servers that pushed HTML to the browser in complete page loads. The use of client-side JavaScript was limited to improving the user experience. Now this relationship has been inverted - client applications pull raw data from the server and render it into the browser when and where it is needed.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Think of the Ajax shopping cart which doesn\u8217't require a refresh on the page when adding an item to your basket. Initially, jQuery became the go-to library for this paradigm. Its nature was to make Ajax requests then update text on the page and so on. However, this pattern with jQuery revealed that we have implicit model data on the client side. With the server no longer being the only place that knows about our item count, it was a hint that there was a natural tension and pull of this evolution.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The rise of arbitrary code on the client-side which can talk to the server however it sees fit has meant an increase in client-side complexity. Good architecture on the client has gone from an afterthought to essential - you can\u8217't just hack together some jQuery code and expect it to scale as your application grows. Most likely, you would end up with a nightmarish tangle of UI callbacks entwined with business logic, destined to be discarded by the poor soul who inherits your code.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Thankfully, there are a growing number of JavaScript libraries that can help improve the structure and maintainability of your code, making it easier to build ambitious interfaces without a great deal of effort. {\field{\*\fldinst{HYPERLINK "http://documentcloud.github.com/backbone/"}}{\fldrslt{\ul
+Backbone.js
+}}}
+ has quickly become one of the most popular open-source solutions to these issues and in this book we will take you through an in-depth walkthrough of it.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Begin with the fundamentals, work your way through the exercises, and learn how to build an application that is both cleanly organized and maintainable. If you are a developer looking to write code that can be more easily read, structured, and extended - this guide can help.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Improving developer education is important to me, which is why this book is released under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported {\field{\*\fldinst{HYPERLINK "http://creativecommons.org/licenses/by-nc-sa/3.0/"}}{\fldrslt{\ul
+license
+}}}
+. This means you can purchase or grab a copy of the book for {\field{\*\fldinst{HYPERLINK "http://addyosmani.github.com/backbone-fundamentals/"}}{\fldrslt{\ul
+free
+}}}
+ or help to further {\field{\*\fldinst{HYPERLINK "https://github.com/addyosmani/backbone-fundamentals/"}}{\fldrslt{\ul
+improve
+}}}
+ it. Corrections to existing material are always welcome and I hope that together we can provide the community with an up-to-date resource that is of help.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 My extended thanks go out to {\field{\*\fldinst{HYPERLINK "https://github.com/jashkenas"}}{\fldrslt{\ul
+Jeremy Ashkenas
+}}}
+ and {\field{\*\fldinst{HYPERLINK "documentcloud.org"}}{\fldrslt{\ul
+DocumentCloud
+}}}
+ for creating Backbone.js and {\field{\*\fldinst{HYPERLINK "https://github.com/addyosmani/backbone-fundamentals/contributors"}}{\fldrslt{\ul
+these
+}}}
+ members of the community for their assistance making this project far better than I could have imagined.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Target Audience\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This book is targeted at novice to intermediate developers wishing to learn how to better structure their client-side code. An understanding of JavaScript fundamentals is required to get the most out of it, however we have tried to provide a basic description of these concepts where possible.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Acknowledgements\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 I am indebted to the fantastic work done by the technical reviewers who helped review and improve this book. Their knowledge, energy, and passion have helped shape it into a better learning resource and they continue to serve as a source of inspiration. Thanks go out to:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/dcmaf"}}{\fldrslt{\ul
+Marc Friedman
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/derickbailey"}}{\fldrslt{\ul
+Derick Bailey
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/jashkenas"}}{\fldrslt{\ul
+Jeremy Ashkenas
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/samuelclay"}}{\fldrslt{\ul
+Samuel Clay
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://github.com/wibblymat"}}{\fldrslt{\ul
+Mat Scales
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/alexgraul"}}{\fldrslt{\ul
+Alex Graul
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/g6scheme"}}{\fldrslt{\ul
+Dusan Gledovic
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/sindresorhus"}}{\fldrslt{\ul
+Sindre Sorhus
+}}}
+\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 I would also like to thank my loving family for their patience and support while I worked on this book, as well as my brilliant editor Mary Treseler.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Credits\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 None of this work would have been possible without the time and effort invested by the other developers and authors in the community who helped contribute to it. I would like to extend my thanks to:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Derick and Marc (once again)\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/eastridge"}}{\fldrslt{\ul
+Ryan Eastridge
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/jackfranklin"}}{\fldrslt{\ul
+Jack Franklin
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/raDiesle"}}{\fldrslt{\ul
+David Amend
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/mdb"}}{\fldrslt{\ul
+Mike Ball
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/ugisozols"}}{\fldrslt{\ul
+U\u291?is Ozols
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/Ekengren"}}{\fldrslt{\ul
+Bj\u246?rn Ekengren
+}}}
+\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 as well as our other excellent {\field{\*\fldinst{HYPERLINK "https://github.com/addyosmani/backbone-fundamentals/graphs/contributors"}}{\fldrslt{\ul
+contributors
+}}}
+ that made this project possible.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Reading\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 I assume your level of knowledge about JavaScript goes beyond the basics and as such certain topics such as object literals are skipped. If you need to learn more about the language, I am happy to suggest:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://eloquentjavascript.net/"}}{\fldrslt{\ul
+Eloquent JavaScript
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://shop.oreilly.com/product/9780596805531.do"}}{\fldrslt{\ul
+JavaScript: The Definitive Guide
+}}}
+ by David Flanagan (O\u8217'Reilly)\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://www.informit.com/store/effective-javascript-68-specific-ways-to-harness-the-9780321812186"}}{\fldrslt{\ul
+Effective JavaScript
+}}}
+ by David Herman (Pearson)\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://shop.oreilly.com/product/9780596517748.do"}}{\fldrslt{\ul
+JavaScript: The Good Parts
+}}}
+ by Douglas Crockford (O\u8217'Reilly)\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://www.amazon.com/Object-Oriented-Javascript-Stoyan-Stefanov/dp/1847194141"}}{\fldrslt{\ul
+Object-Oriented JavaScript
+}}}
+ by Stoyan Stefanov (Packt Publishing)\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Introduction\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Frank Lloyd Wright once said \u8220"You can\u8217't make an architect. You can however open the doors and windows toward the light as you see it.\u8221" In this book, I hope to shed some light on how to improve the structure of your web applications, opening doors to what will hopefully be more maintainable, readable applications in your future.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The goal of all architecture is to build something well; in our case, to craft code that is enduring and delights both ourselves and the developers who will maintain our code long after we are gone. We all want our architecture to be simple, yet beautiful.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Modern JavaScript frameworks and libraries can bring structure and organization to your projects, establishing a maintainable foundation right from the start. They build on the trials and tribulations of developers who have had to work around callback chaos similar to that which you are facing now or may in the near future.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When developing applications using just jQuery, the piece missing is a way to structure and organize your code. It\u8217's very easy to create a JavaScript app that ends up a tangled mess of jQuery selectors and callbacks, all desperately trying to keep data in sync between the HTML for your UI, the logic in your JavaScript, and calls to your API for data.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Without something to help tame the mess, you\u8217're likely to string together a set of independant plugins and libraries to make up the functionality or build everything yourself from scratch and have to maintain it yourself. Backbone solves this problem for you, providing a way to cleanly organize code, separating responsibilities into recognizable pieces that are easy to maintain.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In \u8220"Developing Backbone.js Applications,\u8221" I and a number of other experienced authors will show you how to improve your web application structure using the popular JavaScript library, Backbone.js\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 What Is MVC?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A number of modern JavaScript frameworks provide developers an easy path to organizing their code using variations of a pattern known as MVC (Model-View-Controller). MVC separates the concerns in an application into three parts:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Models represent the domain-specific knowledge and data in an application. Think of this as being a \u8216'type\u8217' of data you can model \u8212- like a User, Photo, or Todo note. Models can notify observers when their state changes.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Views typically constitute the user interface in an application (e.g., markup and templates), but don\u8217't have to be. They observe Models, but don\u8217't directly communicate with them.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Controllers handle input (e.g., clicks, user actions) and update Models.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Thus, in an MVC application, user input is acted upon by Controllers which update Models. Views observe Models and update the user interface when changes occur.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 JavaScript MVC frameworks don\u8217't always strictly follow the above pattern. Some solutions (including Backbone.js) merge the responsibility of the Controller into the View, while other approaches add additional components into the mix.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For this reason we refer to such frameworks as following the MV* pattern; that is, you\u8217're likely to have a Model and a View, but a distinct Controller might not be present and other components may come into play.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 What is Backbone.js?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\jpegblip ffd8ffe000104a46494600010101004800480000ffdb0043000302020203020303030303030303040504030304050605050505050608060606060606080708090a0908070b0b0c0c0b0b0f0f0f0f0f10101010101010101010ffdb0043010404040706070c08080c100d0b0d1012121212121212101010101010101010101010101010101010101010101010101010101010101010101010101010101010ffc00011080211038403011100021101031101ffc4001d000100010501010100000000000000000000010204050607030809ffc4006b100000040403040505080b0c060804010d010203040005061112213107134151081415226116325271812342549192b1d1d4243337566274a1b2c1d2f0091718263655759394b4e1f13443537282b3254663647384a2d3353844832728a4c219456676a3677795b5f2ffc4001c0101000301010101010000000000000000000102030405060708ffc400491100020101050504060a0103000905010100011102031221314122516171810491a1b113325262c1f005233342728292a2d1e1f106b2c214243443446393a3d2537383b3e2c316ffda000c03010002110311003f00fd528010020040080100200400801002004008010020040080100200400801002004008010020040080100200400801002004008010020040080100200400801002004008010020040080100200400801002004008010020040080100200400801002004008010020040080100200400801002004008010020040080100200400801002004008010020040080100200400801002004008010020040080100200400801002e100409a00a71c00de4011bc80237b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b0037b004ef2009de40138e009c5004c008010020040080100200400802913401e663c01e2658200f2339f1803cc5d87380281785e700475df1801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d801d760075d0e700540f039c01583a0e7007a95c0401ea55600f603401580c0130020040080100200401061803c0e7802d555ed00582ceedc600c5ad380c670226bad80709853280801b95c44200b734d5c7c11e7c927ebc01e433477f037bf249faf0053da8f3e04f7e493f5e0076a3df80bdf924fd7801da8f7e02f7e493f5e0076a3df813df924fd7801da8f7e02f7e493f5e0076a3df80bdf924fd7801da8f7e02f7e493f5e0076a3cf813df924fd7801da8f3e02f7e493f5e0076a3cf813df924fd7801da8f7e04f7e493f5e0076a3cf813df924fd7801da8f7e04f7e493f5e0076a3cf813df924fd7801da8f7e02f7e493f5e0076a3df80bdf924fd7801da8f7e02f7e493f5e0076a3df80bdf924fd7801da8f7e02f7e493f5e0076a3cf813df924fd7801da8f7e02f7e493f5e0076a3cf813df924fd7801da8f3e04f7e493f5e0076a3df813df924fd7801da8f3e04f7e493f5e0076a3df813df924fd7801da8f7e02f7e493f5e0076a3cf813df924fd7801da8f7e02f7e493f5e0076a3df80bdf924fd7801da8f7e02f7e493f5e0076a3cf813df924fd7801da8f7e04f7e493f5e0076a3df80bdf924fd7801da8f3e04f7e493f5e0076a3df80bdf924fd7801da8f3e04f7e493f5e0076a3df813df924fd7801da8f7e02f7e493f5e0076a3df80bdf924fd7801da8f7e04f7e493f5e0076a3df80bdf924fd7801da8f7e02f7e493f5e0076a3df80bdf924fd7801da8f7e04f7e493f5e0076a3df813df924fd7801da8f3e04f7e493f5e0076a3df813df924fd7801da8f7e04f7e493f5e0076a3df813df924fd7801da8f3e04f7e493f5e0076a3df80bdf924fd7801da8f7e04f7e493f5e0076a3df80bdf924fd7801da8f7e02f7e493f5e0076a3df80bdf924fd7801da8f3e04f7e493f5e0076a3df813df924fd7801da8f3e04f7e493f5e0076a3cf813df924fd7801da8f7e02f7e493f5e0076a3cf813df924fd7801da8f7e04f7e493f5e0076a3df80bdf924fd7801da8f7e02f7e493f5e0076a3df813df924fd7801da8f7e02f7e493f5e0076a3df80bdf924fd7801da8f3e04f7e493f5e0076a3cf813df924fd7801da8f3e04f7e493f5e0076a3cf813df924fd7801da8f7e02f7e493f5e0076a3cf813df924fd7801da8f3e04f7e493f5e0076a3df80bdf924fd7801da8f7e02f7e493f5e0076a3df80bdf924fd7801da8f7e02f7e493f5e0076a3df80bdf924fd7801da8f7e02f7e493f5e0076a3cf813df924fd7801da8f7e02f7e493f5e0076a3cf813df924fd7801da8f3e04f7e493f5e0076a3df813df924fd7801da8f7e04f7e493f5e0076a3cf813df924fd7801da6f7e02f7e493f5e0076a3df80bdf924fd7801da8f7e04f7e493f5e0076a3df80bdf924fd78027b4de7c09efc927ebc0159668ebe06f7e493f5e00f624d96e2d1e7c927ebc017ad66855315b114c4361390c163147c4200c922e6fc600be4d5802e086803d420040080100200400803c8e3005a2ca5a00c4bb756bc01827b3100be7006265d31c692d9dc01cae01fd60c0176474630d8a02611e01ac003ba31470980c51e43940023a31c6c50130f20ce00817820361b80f2180248e9439ac503187906700475c101b0ea1c2008ebbfe5005ab9a865cdd4ddaee524cf6be111b8800f300bc01e5e5649be189ffeafa200795925f8627f11be8801e5649be189ff00eafa200055926f8627f11be8801e56497e189fc46fa200795926f8627ffabe8801e5649be189ff00eafa2000d5925f85a7f11be8801e56c9fe189ffeafa200795926f8627f11be880035649be189ff00eafa200795926f8627ff00abe8801e5649be189ffeafa200795925f8627f11be8801e5649be189ff00eafa200795926f8627f11be8801e56496dfe989ffeafa200795925f86241e23700fca1005ff5ecb21ca0075d801d7a0075e1e7003aee5003aef8c00ebbe3004f5df1801d77c738023aefae009ebde300475d801d760075df1801d7a0075e1e7003aee7ac00ebbe3ec801d77c60075df18027ae8738023aef8c00ebbe3004f5d0e700475d801d77c60075d801d7879c00ebbe3003aef8c00ebbe3003aef8c00ebbe3003aef8c00ebbf1c013d7bc6008ebb003aef8c00ebb003af78c00ebc3ce0075d801d77c60075df1801d77c60075d0e7003aef31801d760075df1801d760075df1801d760075e1e7003aef8c00ebbe3003aef8c00ebbe3003aef8c00ebbe3003aec00ebde3003aec00ebbe3003aec00ebde3003aedf8c01af4fb6974cc99e834982cf5158c505082564ed54cc51cbbaa2491883e39e5c600d84ef80a022630061cc4600b661307131393abb964c9254441055c9bdd17b71492b808878f18f96ed5fea9ecf4da7a2b3aa99ca5bc2786f3d4a7e8daa9a6f5a2ab92597e27a722ee68da772d6a776a2ad5eb6442eb610dca850e65c42251f55e1fff00d17a157add2b9bd69d1e7de453d8e8b5776ce555a4e2bbd65dc78359ba0e5b91644f88870b9463e9aced29b4a5574b9a5e299e75743a2a74d583479b69a7fd26eca22390216f56118b9536264f8078c019b6cbdc200c8a47802e4900550020040080100074802dd536b0062ddab68035d993ab5e00d3e6b31b5f38031921986266b0df3eb6e7fe68c01c6ba42cc2b27b5ad1f2064d9c3ea7ddb774ea66c5270ab42bc72450089a4b288188a09085ef0900c17be7a479bf48dad74dd54ea7df7fa23e8cec3da69b7b4ed35ddaa84aeeb9e6ca7a3fbcaca5d5fd572076d5c30a7506483b97cb9572b3a2337665701c88a8b98ea148a13bd804c36c37088fa3ed6d2abcaad0b7fad7e8cec3d9ecec2d3b3577aaae6f69964f03a14ee46e2a6da1212b9801dd489a4b41ca727070b3649d39515314ca2c640c99d4048a50b16f6ef5c63e77fd51f48768b1b6b3a28f51a9dd2cf9cfa2acec5d957557eb4e1ae1d4f4a259bf91d4d51c94aaac3266dd55c4b5aaaba8e4591d6c60ab722ca898f83ba07029846d7e51d5fe95edd6fda28b4f4b952f0f8ae867f4bd958d2e87679b5898a9d495cd4db4b78c66681e6727974bdb1a5d25172e1b2075160132ce9406e748ca0808602dc6c5b738e9fa5bb5dad16aa9a7283e33b7db5aab554d2b082fb65a79a3056a394aebaeb4be58fd32c9c1754ee0edd3553c4a35df282273826600b62111001b5e3b7e88ed15dad94d7a33a7e8db5b4aecddfd19ba3a999d36e631031aa362209fa6a9c70a65f698423d53d1363aca76b501b1faaa752e4d07331a7a47319b98cb8184aede346c75eeb60b1c4a6316d60d03208b59d33524676b5dda1d5b91c6a55d3c65e7a7d9b79b532ac9eb77c980b593ad32663265cc2c81fe34e758f716dc8fda8d65b17730df38f5acbe887793b4aae50f26d3978c614e7d723c4b6fa769bb57a1a7d2574e6935756138d5964b49c703ab3ee9054ec8767149d51548be6e352b349606f2b62e5f0914ea0798b91dda2539ca922824a1cc6368058f37b659d3636d559fb2df752f367b1f475a57dabb3d9dac635534b85bead17537063b47a3de95c0b5a8a4cbf546894c1e90af10c6d9a2e982a93870989b124431040c0638005a31a95d99d307ccda977a235c571462d3db3512a9a71b89b20e919330693255db739156ee517a9b8550064a90c255ce62b353ba411d222a7753a9e4be0a5f817a28755492d7f98f32e25db5ba11e52fe5112a492a32720240e9f387cd9249aaab14a62a0e8e63e1495ef85c87101bc59af1f1e5bcaac4cb796522ed54657db12ced4704328de59d691eb4a10850398c44316f0c004301844034101d2201e64ae646b485cce99cc9b4d258d135d551dcb9523c20836bef8a41444c063144a218406f7ca00f497d63267ced668d266cd77cd524567b2f22e999d362382e3445c20530a89e20d31005e263c30ea0c876829e98c401da0a7a63003b414f4c600768a9e90c00ed053d21801da2a7a63003b414f4c60076829e98c0149e6862266398e20520098c3ae40171c8200c5cb6b7a766a6220c664d9f99c34078092638fec639b062385b2b8e584d9eb9401a2cddb272a9dacc520c2d16203b9793811330e15122f810fa780f84016ac41e39689afd7f0098071a6081440a601c262dc46f908401ec2d26005b91f14e6f7a43a250288f21128de00b742642a12e2024300895420fbd3146c60f8e00f4ebbe300475df18027af65ac00ebbe300403e0beb004f5ef18023aef8c0120fb2d60075d0e7003ae4011d77c6009ebbe3003ae78c00ebd9eb00403d18027af78c011d7bc6009ebde300475d0e70001f67ac013d7bc60075df18023aef8c013d77c60075d1e7003aef8c011d77c6009ebdcc60075df18000fbc7d5003aef8c011d77c6009ebde3003ae873801d77c6008ebbe3004f5d1801d77c60075df18000f46dac00ebb00475dcf58027af78c011d74200907a3ce0075e0e70005ef8c011d77c6009ebbe3003ae78c00ebde300475d1bc013d77c6008ebbe3004f5ecb5f5c0017a1ce008ebb9eb004f5ef1801d76008ebbe3004f5df18035dad2b65e42c5aba235078559cee554b79bb361149438090c370be2286bc2fc600d7a5f4fa756342cfe7675da3c7c86e5264d17c6d9122661ddae9e2b8dcc1e71078ebe006d555cd6d2e22627c2576e5141535eddd50e0031e1ff00a97b5d5d9be8eb6b4a7354f9e1f13d1fa26c95a76aa13e7dc9bf81a936536394d57f56cf66931958d5352306f2c709cdaa26e8a4c9935b99a15a31540a2df5038885ee6ef00e631f95fd1bfea2a29fa39f66abb1d56b7af4d4960db6e1fab9d382df81f515762afd2d36d4d75288c2eb7f8b5872e7c8a2ad9f6c7aa49b51efa7d58c826495193024e184b8952b66ad5698a4502a4aba4c863ef8a4cc4a41b67adc2e11c9f41fd35dabb054dda767aed93a621aab0e38d2ccadbb02b5f56f50e744f2c70d0d9a969ab6ebf3149aaad9566a6176d45b9f78894ab89840a99f8805a3f43ff4176d76fd92d145d54dad514fb29ed5dfcb2799fea2b38b5a2ad5d38ce6dd384be65e166769f3d2dfdeb6fcc18fb83e78db654faf6ce00da98af7008033ad8fa4017c98c01e9002004008010041b4802d1718030afcfac01a9ce17b00c01a04eded84d9c0189a7261f60ad9ff00f56ebfe71a00bd7c12e78995378d5178994d8c8552fdd373218a253147c40622aa53ccd2cadabb27343864322cb5990e9b36a8b421c71a854efde37a4739c4c630fac4614d29644dadb576ae6b72cf459666b61eb0826bee86e4c5880c411f44e4129c3d8318dbf66b2b7576d29552e2529add391282ed11209104936e411c5808036111d44446e223e22316b1b1a2ca9bb4249701554eac5942fd9ae45333a6c8b8327704ce6c45396fae1513310c17e5789b4b1a2d3d65267550aaccadb2cd5ba208b64926e896f8524cb628088e7fe6316a6954a844a519199a45317d52b7110c48ca43aeb8e5bd1b95b17e5089fd458b126c7b4e23d79b37aa9a3548ee1d3a92bf45bb721778651451b9ca4214bc4444748ebec152a7b459bab2552f3383e94a6aabb25ad34e6e8aa39c33e509ef47cdbffef36f69e6ad1a4ea92782abb71b2b984c10ed3de1dbdca2d66fd5b0170bcf77040dc3dcc1408f63b576fecfe99d74fd656e76ea582dd7699d1613d4f0bb17d19dabfe8f4d15af454286a8a5ed36b3bf546b5630b933a83dd874d6b6e8f9b2ca7a64b3495bfa764ed0266c670c157899945646acadc22aa28ba66721d3eb02601de6462e60211f3b6ea6d1d49efc75c755c541f53d91dcb154b58c53e1a16d32e8b3524c664f979957a59b15696925ed177f2929dce16ee65cf9b95e6edc26dd74c1c4b03784dd14542287289af6302f6d3ab5bd3c3d6bcbb961e26983a6ebca238fa8e970facebb9ca3659b6c166732ad4957af50b26d3a34ad3943866ce5c624ab702dddb772a3768a3939925841d80a4b01f1a7631444e450c58a554a74d54fb49aef4b2dd8ac7da583c9357a6d22e3f61cf8ce3f383c518394f46399b02b07e94ee9709dc9858252d40b4f6091a8d984b5ccacbd725c5798d55cc9bb39f780b140a60280170dc0677fbd33d525b3bb2eb8949f08f0aaf63bf3f8e65ca3d1429924b926833757194f2c29e6c9b54d39899acba9c569fdc15c01bba03be32c5b061279a051d62cdecba77d352fd5771e7b2b9934d6d43ddffcaaab05a6786e3d0bb21ad697d89cf292a6c9239ab99cb17cc1f366a8aac45e99dcb12953674a2f307ee4a91912a4075b0647286122651d6f55adead37ed4f2dbbefa6786f7994a12a7e7349477f136cd99ecba674ad5d3c9bf6b33ea33b68c88bc8d8b659248d306e99125662b28baebe258e44ca9fb91122094004498b38575cdee3536b826dbf19c71cf28964464f87f1e51e38e474beb2319961d6879c00eb43003ad0c00eb43003ac8c00eb43ce0075918020ce54c26c07c07b0e03d80708f01b0e59401ae52b4833903a74bb478ed534c4a0a4d815c020e9e62b8bc1b0061308088612f76dc200f3da12463c9d2989004c794282a2b6d7aaaa1817f93dd3fb0600d3194f48d155014c62d571de1542809c087b67702dc6c6d600be1ab64f6ff00483dff00f056fd48031aa4d9ba9305ccdce6324a908730890c4b29e68877c0073000802aed0f1f6c0033fe59c00198400ed0f1ca0075ff001d6007687c7003b43c60075fcb518023b407888c00ebfe3ec8024261e3000261e3c60076878c00ebd96b7801da1967003aff00c63003aff8de0076878c00ed1ff0801d7fc6008ed01f1b400ed0e37801da19daf004f680620cef003b43f0a0003fcf5801d7f38023affe4d6009ebff0085ac00ebfe368023b46009ed0f1b40017e3c046008ebff00b0c00ed1f1fd3004f6805bce8024261a6700476865ac0017f95f5801d7e0003ff1b5a0075ff1801da1e37801da3003afe5ac011da03c6fe1004f6878c00098e7afae0004c35ce0076867e740007fcc7d9003afc011da19faf48027aff8de0076878c00ed10801da1e30047681afc6009ed0f11fd3004768f8eb0048cc439c01e4e9464e4981ca0d9c90a6c4523849358a03cc0aa14c17b718021a9d9b64b76d906cd12c426149ba4444988c398e14c0a5b8f1802c2a76fda7265da00e150c18923f2397328fc71cddb3b2d1da6c6bb1afd5ad34fa9bf65ed35767b5a6d68ce9727c6bb7bd8b055f5c0d44ba4baf3716883399cb4a74915cc66c18137098aa1855012d8042e03947e55f473afe809ec7db154aca5ba2d1634b9f23f78ff004bf68fa2fb6d379b8f1bb8cba6a59acf0ab239acbfa2f3d7355a7bf6679553e55487133a32477aa1006e29269258b118d6d740bc7755f4f2b77e8bb0deb6b4796182e353c9247abf4c57f46f64b3bf7a888e383dd8e7e67e82510dddb4979d77452a2bbbb08372dac8a650b26987a823ecbfd37f42afa2fb1d3613357ad53df53cff0083f9ff00e98edebb5dbbae95142c29e4b7f179f8175da17a8df05c7cc6bf9868f78f2cdda44eae019c01bccad5b80401b2b336410064d2803da00400801002008340164e38c0180989b58034b9e29e7401cdaa172218a00cd6cd698a7dfd2c0e9d26e8cb28f9f01cc476e1201c2e4e01dc4ce05d200da3c85a53fd8befedeeff00f7200790b49ffb07d9ff00dfddff00ee4013e42d29fec5f7f6e77ffb9004790949ff00b07dfdbddffee400f21293ff0060fbfb7bbffdc801e42527fec1f7f6f77ffb90066658c6592d67d558364daa18c543816e6328a1b53a8738898c6f111802eb7f007995d98d714d078b1404431a282aa16e1a862214432802aeb0e3e0732fec8bfea4011d61c7c0a65fd917fd48027ac38f81ccbfb22ffa90037ee3e0732fec8bfea400dfb8f81ccbfb22ff00a900475871f02997f645ff00520075871f02997f645ff52009eb0e3e0732fec8bfea4011bf71f03997f645ff0052009eb0e3e0732fec8bfea4011bf71f02997f645ff52009eb0e3e0732fec8e3f520075871f03997f645ff0052008dfb8f81ccbfb22ffa9004f5871f02997f645ff52008eb0e3e0532fec8bfea4013d61c7c0e65fd917fd48000e5c80ffa14c7c4059ae2021c404049006bc6a1e981308924d396e51d1143b45248b7e052146c01e01004790d4e7f35d41f2e65f4c011e43539fcd9507cb997d3003c85a6ff009aea0f9732fa600790b4e7f35d41f2e65f4c00f2169cfe6ba83e5ccbe9801e43539fcd7507cb997d3000285a6ff9aea0f9732fa600790b4e7f35d41f2e65f4c013e43539fcd7507cb997d3004790d4e7f35d41f2e65f4c00f21a9cfe6ba83e5ccbe9801e43539fcd7507cb997d3003c85a73f9aea0f9732fa600790b4e7f35d43fd64cbe9801e42d37fcd7507cb997d3003c86a73f9aea0f9732fa600790b4dff35d41f2e65f4c00f2169cfe6ca83e5ccbe9801e42d37fcd7507cb997d3003c86a73f9aea0f9732fa6009f21a9cfe6ba83e5ccbe9801e43539fcd9507cb997d3004790b4e7f35d41f2e65f4c00f21a9cfe6ba83e5ccbe9801e43539fcd7507cb997d3003c85a73f9b2a0f9732fa600790b4e7f35d41f2e65f4c00f2169bfe6ba83e5ccbe9801e42d37fcd7507cb997d3003c85a73f9aea0f9732fa600790b4e7f35d41f2e65f4c00f2169cfe6ba83e5ccbe9800143539fcd7507cb997d3003c86a73f9aea0f9732fa600790d4e7f35d41f2e65f4c00f2169cfe6ba83e5ccbe9801e43539fcd7507cb997d3003c85a6ff009aea0f9732fa600790d4e7f35d41f2e65f4c00f2169bfe6ba83e5ccbe9801e42d39fcd7507cb997d3003c85a6ff9aea0f9732fa600790d4e7f35d43f2e65f4c00f2169cfe6ba83e5ccbe9801e42d377ffe17507cb997d3004f90d4e7f35d41f2e65f4c011e43539fcd7507cb997d3004f90d4e7f35d4197e1ccbe98023c86a73f9aea0f9732fa600790b4e7f35d41f2e65f4c00f2169cfe6ca87e5ccbe9801e42d37fcd7507cb997d3003c85a6edff00c2ea0f9732fa600790b4dff35d41f2e65f4c00f2169cfe6ca83e5ccbe9801e42d37fcd7507cb997d3003c86a73f9aea0f9732fa6009f21e9cfe6ba83e5ccbe98023c86a73f9aea0f9732fa600790d4e7f35d419fe1ccbe9801e42d37fcd7507cb997d3003c86a73f9aea0f9732fa600790b4e7f35d41f2e65f4c00f2169cfe6ba83e5ccbe9801e42d39fcd7507cb997d30041a89a588002a309d225b806359798264b8e9de398033802d5feca7674fadd7656a3ab69bd76e8d6fff009911524d43c5134d4e972b0679b3d906cc9a29bc6b261414f4c8edd62f8f7915a2ce9a30a525c94135da555e3536f9b9322142527fec1f7f6f77ff00b9172a732aa19319657afdb33054a8f5662a59454ea8e2310f7efa8261e1006d54f2f702c01d0a50a774200dad80e410065d1d200f70801002004008020d0058b9e3006bb331c8600d1e7a6f3a00e61521f318036dd92b8b51640bff00f5f30fef4780341dbe748d3526fdb5334eb893a752b9dd1df4d26d7196c9dba83dd51d814404c638660501c833e40206fd44eda3665553bece90559239f4d506c0bbb6cc0e7be12d8a750a550a038710c01b975a8030b31aadb95328b176d1550a6f7444d7b9cbc8a3ce00c9319ba0e9b1564c721c8c51d4a60d4a3006b5b55da3051d434c27a469da0ed2145bcb65f8b003878e9404504cc6e05c66b9879401c92aeabfa55520d994c17754f55efa685537f4acb644f70cbc7762207078889ee099c402c7b63e100778a6261305a9e93ad30b83f598b551f0093763d60c91455b93def7ef9708037b933d5db6ccbada26c2b37973859235af6310a7300d87c4200c44d26d564988c264d95994f5891928bcddb2a2cc3080152500c5359b88589bc1cb15ec016cef00677695563ba7b66753d4ac536ebb992c91f4d1a24e7102273b66e75880ae1b1b088973b6719db5a7a3a1d5b8d6c68bf5aa5ea6974e7499d9fcd69a7b31410a91d3c9424c149a4a1b48e6667dba98242aa0ed0686441651b28043895628097ba39dc236b7bb66eaf6536b9463b5bb0c4e7ecedd74d3bda4f0d74c37e3819563d20366b329c48e572476fa7aeea095b39d3534b183b748b6974c404593b7eaa69895aa6b611c1bd1288d8d964315ae974ba97b39ee9ce24bad38f7e70f0e0f039ca7d2d9806ca65350aa12f527482f4c0564d1aa2f1c3597a53f7e9b714923240731dcee4e272200227f344c5b182f34ed3a23d5abcfd13ae16f8709ee9261a55ce97a392b4b92fa63c61c1b9add28b6489c959bf0713b5d676e662d0d24425130566cdd494014665d6a5e4445c240d80e41504c500ef16d7c45bc3c31d226744a625eec70e69ee21633be63ac4c2df863c8ba53a4b6c782a596c9119bb878e26a1293b676d18bb70c4a9cf4b79528abd4d2320995d0f753131c2e3944dd77aeeb8aea94c7380decded1a9e93767bf031afba4f6cddc49ea65a4533417794f3533d29a6083d6cc9d3649e75059cb65ca8282ba29b8299231d129c00de020313674dfbb1ad54afd6f67f57ddd18ab6653d154ff004ac574d4dd293da952752d493f93498660ed4a69d28c26930ea6b91815e202055daa6f0c4048eaa426b1ca51b8455653f3aaf342a50e35fe93c7a34f918926df76646ae4f4a03f77da047ca4a7aef5273d9a69aa4875a3cb0930ddf5617408f7f7407c5a86a1682c54f06fa539b5be35ebb85587878e53ba7f8de6bdfc2e362e321633949d540e58cc9074f9899091cd1455596314d351d4d0112b7de7534b7c528ae25c38bba02230fe2792c94ee9d37e659d0e638c75ddd35dc759934dd84d650c668c55dfb2993649db35ac218d15c80a266b0d842e53045aba5d2da79a289ca92f22a4880100200400801002004008010020040080100200400801002004008010020040080100200400801002004008010020040080100200400801002004008010020040080100200400801002004008010020040080100200400801002004008031154d4cca432aebee535954c564902912c01df58e042e23aa622642dc7331cc001006aab27b425e7fdbe9b49820ddaacddba14d99db7fb2198a67eb2b18a454c86f37872892e7bd89c314017af6ab6b39a46a414dbb86aacb37ad1d24a8a47b2a54caa0e15103aa99ad8ec363643701b08401ae0b90de7b600f935e748ada391e382176cdd1f532915394a999bcc844a006100288810730f5c01f43ecbea7984ea82944d1f4e69f9fbb7699c569bc80142cb571050c5014015ef85802c6bf1bc01a3574b5f68f301ffba4bff30f006c94e1b22c01d224c3dd2c01b74bc720803328c01701002004008010041a00b073a0c01aeccf41803469f7be80397549a9a00d8365cb61a48a1ff7e7ff00de4f006bfb5ed8e33abd4673696ba6526aaa58620b29a386c572d562106fb97adc487054a1c2e51b69a401bd4a2492297e155aca646c9e19204dc3997cbdbb313e9882e890a6c2260be111180327d6600b098342ae99534b708009aea98122e212f2288065005da1b94112a490612174fa4600c16d02929655b48cc240f9559049e94a293b47edadd748e0a22b134b890e501b71803444a8fe90d301612c9fd7b26692362ba0b3a98d3e8396d389995b980c44d539ec9a406b7ba61d7c600ebc0eaea5fc600dea44d5779b2aeaadec75dccb1ca0916f6f74394e40011e19c01817cb56ee29f70c4b48ccc8baf2f51a144ced8e003a880a3711056f6011be9006e555526daa2a0e6d4cbc5976c84ee54e256e5c37c3bd488e50144e74f1818b88a06b85c042f14b5b3bf4ba4bd9d772a556e38e4cfa204b66cc5619e56d51cea6eba92b4d59b3d6b2b50aacbe50ddca0d58acc05af5354a02f555b11d2136fb0a816c0500bdaedb6f296dbfcca3a42cbaef2946c447dd492e10e7acc63265b67dd1912a29dc897a7ab5a8da767c9a594fced23a32f5093997c94542cb4ae0a66fee4aa28aa288a88601397ceef000c5aaaaf37393c638c437d614acb042ac6384f73aaf477b7decc74afa1f52d25a795935395454b2064b38944cd445b7523a7db527769bb4e6c44d66e721565f725238028605000044b8fbd195145cbb77eee5c361d0fa5532d6533112cb3aa667ef4cf5aaf2fd3927bb07308bd1e8bc925d5e652eae2a796d602bce169b55e9118a8e1f127bb807a91db2a81db2650ea686e7010377bb0b5ee6bdda576efdd6a1f1579d5df7aaabbcaa6e675995c212a7ba12ee32529e8cb43cada159cbdecddbb244f4a0b66a2a26a0269d20052b24f11d31318140206f44c2223c2d0af6abbfef5eefa6ef74133b173dd89d7d6bd3ce4e713ae880e6414dcfe45b3fec5332ab8e666e8d326ac5a2f2964e1f15f2c72be68cbaf3ec06012a692eb64186e61c317b0aae5c5a51550fff004da85194b4a27fb168ef5f7f7aa557ee50dcf8c743a413a3d269ed06adacdb5593996cf2a797292c49ccb9acb5af5448ea9152aa60236b3b59204c08928e8141212e5e23145852e9ded3ee9f3986f364d555e69ee4fc5259f494b24cf32f46b917967dac3504f06484a895abd0a4bec6ea69d40ba2644ef37dbaeb025b9ccaee779837838adc21a470a92e0ab99ff7389ca4abff00e33c6ec47fb54f234adacf46cab94a4e96946cfdf3c6cfe4b493aa2549f2b372b050d2c5d2413283a44ac1d9540c48028264774a1443097238e1a574baa78a5e1f2f9cc32f4d4963ade6fbf17e31a71cd43eff0046d3e122a4247230577e12696b49782f8706f3aaa2547161ced7c37b46f6d5dfadd5bdb663674dda5232f1997100200400801002004008010020040080100200400801002004008010020040080100200400801002004008010020040080100200400801002004008010020040080100200400801002004008010020040080100200400801002004008010078bd48aa335d33209ba29d33145b296c0adc3cc362cac3a670072d94b7da3a544272e2c97712d2b151a3a43ace09be258a3bc5598018512152318412218f71280665c8040d8974156bb2314576284b174e5405598a40529135449994a05c82e6e1006902e7bf7e17803e7d75b20dbba8e965093ad8a010ea1cc403d18dc4d8446e18845b18446dae6300763a1984f25749cba5f385e4ce264d8862ba5a4ccc25ec0c227110dc35281408161cec0171ced0068d581b16d06603ff7561f9878036ca6f42faa00e9126d0b006e12fe1006651802e0200400801002008340160e7418035d99e830068d3ef7d0072ea93534019bd98cb2a75a9403b3904d5f202f9fe07281998266fb24e036df394cf90e599600db3b16b6fbd59e7cb977d72008ec5adbef5679f2e5df5c801d8b5b7deacf3e5cbbeb9004f62d6df7ab3cf972efae4011d8b5b7deacf3e5cbbeb9003b16b6fbd59e7cb977d72009ec5adbef5679f2e5df5c801d8b5b7deacf3e5cbbeb900139356c4be1a567c5c4371c2b31285f9d8af40200afb2eb9fbd7a83fb433faf400ecbae7ef5aa0fed0cfebd003b2ab9fbd7a83fb433faf400ecbaebef5ea0fed0cfebd003b2abafbd7a83fb433faf400ecbae7ef5aa0fed0cfebd003b2ab9fbd7a83fb433faf400ecbaebef5ea0fed0cfebd003b2eb9fbd7a83fb433faf400ecbaebef5ea0fed0cfebd003b2eb9fbd6a83fb433faf401e4934acd40b9298a847ffbed3ebd00792c15624e936ea5375015654a63909be6b994a200237ebb6f7c1007a035ac874a66a0feb9a7d7a00aba8d6b97f15ea1cf30f7669f5e801d4ab5cff8af50e590fbbb4faf4013d46b5fbd8a83faf69f5e80201956bf7b150e617fb734faf4011d4eb4fbd8a87faf69f5e802aea35b5ede4bd43fd7b4faf40100cab41d298a878ffaf69c35ff00eba00751ad6dfc98a87faf69f5e801d46b5cff008b150e5afbbb4e3ff9e8000cab4fbd8a87faf69f5e801d4ab5cff8af5065afbbb4faf4000635afdec543cfeded34fedd003a8d6bf7b1507f5ed3ebd003a956b6bf93150eb6fb7b4faf4000655a8e94bd43c7fd7b4e1ff9e8002cab4c38bc98a86dff008ed3ebd004f50adbef62a1d6df6f69f5e8023a8d6bf7b15073fb7b4faf400ea55ad83f8b150e7a7bb34faf400ea55a5afe4c5416b5feded3ebd00058d6b70fe2bd439e81bf69f5e801d46b5fbd8a83faf69f5e8002cab5cff8b150e5ff006ed3ebd0005956a1ad3150ff005ed3ebd003a8d6bf7af50eb6fb734faf400ea35adede4c5437b5feded34fedd004f51ad7ef5ea0febda7d7a008ea55afdec54398dbedcd3ebd003a95697b79315072fb7b4faf400ea35ae5fc57a873d3dd9a7d7a00752ad6e21e4c5439643eeed3ebd004f50ad7ef62a0febda7d7a0080655adff0093150f3b6f9a7d7a008ea75a7dec541fd7b4faf4015750ad6f6f25ea1febda7d7a0080655a8e94c543c7fd7b4e1ff9e801d46b5b5fc98a87faf69f5e801d46b5cff8b15065afbbb4faf4000675a7dec541fd7b4e3ff9e801d46b5cff008b150e5afbbb4faf4000655adafe4c543a5fedcd34fedd00058d6a1ff562a1febda7d7a00752ad2d7f25ea1b5edf6f69c3ff003d0001956a3ff562a0febda7d7a00752ad30e2f262a1b7fe334faf4013d42b6fbd8a875b7dbda7d7a008ea35adff00931507f5ed3ebd003a956960fe2bd439e9eecd3ebd003a9569611f262a0b6bf6f69f5e8002c6b5cbf8af50e7a7bbb4faf400ea35afdec543fd7b4faf4001655a05ff008b15065ff6ed3ebd000ccab40d698a803ffbed3ebd003a8d6bf7af50eb6fb7b4faf400ea55adede4c5437b5feded34fedd004f50ad7ef62a0febda71ff00cf4011d4ab4fbd7a8731b7dbda7d7a00752ad2f6f262a0e5f6f69f5e801d46b5cbf8af50f7b4f7669f5e801d4ab5b88793150e590fbbb4faf4013d42b6fbd8a83faf69f5e80201956a36fe2c543987fb669f5e8023a9d69f7b150ff5ed3ebd004f51adb15bc97a86ff00f8ed3ebd0001956a3a53150ff5ed387fe7a00751ad6d7f262a0febda7d7a00751ad73fe2bd4196beeed3ebd003a9569f7b150ff5ed38ff00e7a00751ad73fe2bd4396beeed3ebd0001956b6bf93150e97fb7b4faf4014ab2cac8f603d2d3f358d70015591b30d3217a21004766563af92d3dc86de74bfeb70052697d5e528986979e58a02261c4c386bffd5c0159255591c2e5a5a7a21fef4bfeb70072eaa127e9d7d3123c64e65eb8376376ce37427b603d8dee2a2a5b0ffbd006e14de85f5401d224da1600dc25fc200cca3005c04008010020040106802c1ce83006bb33d0600d1a7defa00e5d526a6803b87474fb9735fe909a7f7e5a00e9900200400801002004008010020040080100200400801002004008038eed3664f913cadb22baa8a4a11654e09984b73154b05edca00cc4a9fba72de9d70b9c5559497ba050e6cc470ae994047d81006e0ccc062e636cad9f1802e46c398580479c0118446e036be56d6d0054613f0b71fc90041751f10d788400c45ccda677b71f5c00b67ddc37e219c0000b8f8808e700044f7e1a5e0000d807c0786a30048097210b7fbbcaf00536e586ded8024a1a1bc33bc00b9b1785ed00006c40cbc2c1c7d7003b81c8d70f66500458d6cadf9600a8a5cc6d6b1b9faa00a444c219f2b8401518780db3f883c60081c1986421ade008ef643908785e0090012946d6e61ec8023bdc6d9085b972802ab944d61e19df8078040119785c32018022c3a0f101d2f0055de0280777807c700406213008805f3b80c00c87d995c78c001101cc2c023ce008b0e6036f0d6d0054613e56b71fc900406a3a661a8f080188a37369c6dc72e300075eee1bf10ce00016e3e20300044d7cada00c000c807c0750d6009012e4216ff7795e008b7a386ded80050d0dc6d9de00089b15b2b5ed97ede300006c50cbc2c1cbc6f004f7402d90dc33e594014d86d95adedbc015143bd70b77be88029b98433e210049872b0db3f883c60091c1986a1ade008ef06790fabf6ca0090012946d6e2210053dee36c842dc8600aae18ac3971bf008023bbc82e1a0c01161d078df4bc0156604f7bc3f2c010023701100bf101e5003ba2361e195c78c001101d2c03e3004611cc07f4da00a8d8f2d38fe480202f71d34cc79400b946e6d079711b4001cc7bb86fc43380000223e203a8c00309bc34bda00008862f01d435800025d42dfeef2bc00b72c36f6c002f03720cef00044d8ad95af6cb87ed780003620659720e210078bbc20cd6d06e91832f0080391d7b3c9b23562a08ba5922b22222dca43080008a6071c83988c01a36d6ce63ed666271d4d2f9588fb533c0193a6f42faa00e9126d0b006e12fe1006651802e0200400801002008340160e7418035d99e830068d3ef7d0072ea9353401dc3a3a7dcb9aff00484d3fbf2d0074c8010020040080100200400801002004008010020040080100200401c4f6a9fe9d28fc5d7ff9b00662483ff46533f88bbb7f692401bd30f30341bf0e5005d8079da5a000e9e6fa87e880280cb5f8f20d2009e401af21e21005416d32f5c00b659e97fdb58020c03e8e7cf8c01487885afeaf9a00ab8dbc3bd7f9e009cb3f0caf000006c17f65bfc600a4c03e8db9f1f8e007ce1ea8027511e001f3f280246c2170b6b97ec1004d8717a43c2d007998a3e8dbd41f4c01505b17ce01000bcf800e5c6f004dbcdd3f6f5400b6b962f48384014080e2d3c7f6bc012186c3cbc3e98026f95c6d9869fa6009b77b2b78c00b65a5c398f08028b66370cbe2d7c6009bf77c72b72bfb200abc32b8f0e5000035d2d000432f36e1c07e880280b86b9788d83308027d100d6fa0f10802a0b6997ae005b2cf4bfedac010601f46c3cf8c014869a5afeaf9a00a875b785cd7f9e009cbe2e3000006c17f6007f8c0149efe8db9f1f8e0080cadc043d50055a88db20f98794001b080885bc3f60802ab0df98f0008028300fa36bf2ff180016c5f38040001e3c0072e2230055e8dadfe1ec8026c39e58878870803cc407169fb07ae0090b78dbc3e9802434b8db30ff218026ddecadfb708016cbcdb85f51e100516cf30cbe98026fddf9b95fd90055ebb5c787280001ae96f9e000e9e6dc380fd10050170d7e31b069004ded6b6b7cafcb965005416d321f18000036f0bfedac010601f46c3c078c01487aad7f57cd0055c403c2e6bfcf004e5f17180000362dfd96ff18020e03e8db9f1f8e00a74f587aaf0055a8880641f30c01e4f6c2cd71cbcc37cd00734ac284a86655199cb344aab77644ca657114012c24020e2be7c2f00733daea7836b73226b825f2b2dfd499e00c9d37a17d500748936858037097f0803328c01701002004008010041a00b073a0c01aeccf41803469f7be80397549a9a00ee1d1d3ee5cd7fa4269fdf96803a64008010020040080100200400801002004008010020040080100200e27b54ff004e947e2ebffcd803312300196d337f80bbfef2480378621ee6023710d46d005e71c41ede7e01005261caf9880e76e500576b8f2bf28028100e6395edc3e380270db5c4201907af9c013a67c043fcc46008b980c1a9b3cafe3004db2fcb6b4014e101e237c83d9004f88e2b8e836bda0090012e5a5c72f0e500400f7ac218b2b5c79401221966239784014e10beb9e62210054001a0dee3ae5f9200676b5ec3adc3e60802007310b72cedf94200910c806fc794014817908e9a7edea80270dc2c1a873cae3cef004dc7808861fcbeb8020a370d2d6be7c600180398e61fb670030f0011b7e8801601d02de021980400111d7d825802406e002016cb84010252dec223c2fc2005b20bdc4351b40136f7c1f40f80401071caf9880e76802ad47962e5fb5e00a2c1cc72bdb87c7004dadadc43480274cf5010cfc798884010222060d4d9fcf004dbd816bd8200a7080f1cf20f64013e237bf01b5ed00486596971cbc39401003deb0862cad710e100488643711cbc3fce008c39eb9ea3f1400b06837b8eb97e48024315b0dec3cc3f280401051b88808721bdbf28401221900df3bf280200b6d047d5002d95b3bf886a3cef004e7cc430fe5fdaf004146e1a5842fc3380062f88e61fb670030f0011b7e8801601d32b78681c6009111d73e202580003900dad94010250bd8446d95ffc2005b2cee21a8dbe68026dc43fc7c0200a4c395f3101cf0faa00af5f0bebfb6b0052201cc72bdb8400b005af8842009d33d40433cb5e6230040dc0c1a9b3cbdb00556f606b608028c21cf3d3f44013c6e37bf01b5ed00487772d00472f0e500400881ac217cad9f280244321d72f0ff38022d9def9f1f8a00f179fe88beb7dd9ae36f0d200b865e60401f32ed93eec335fc465bf98a40190a6f42faa00e9126d0b006e12fe1006651802e0200400801002008340160e7418035d99e830068d3ef7d0072ea9353401dc3a3a7dcb9aff00484d3fbf2d0074c801007c15d2136d1b6490f48aaa0b2ca9ea99352d4d4ef67ed9cbe4d362bd392b673c3095f76b37324a3d38b9102912325914c6ef18b19f63aef5b455eafa48e9e8d550b8de79bc09ed9b3652b3b93d7d2352e7454e8b7646fcf3a72b8966d4ea294ba944ae79484be51564ce5b3e918bfc42ad229ef9db432ef1b22d5c1cc41b1bab1cc091fba611f3a2f4bfaaaebf669552dcd3aee2f179e44570aba29f6aa87bd6cdef946bfb52e903b666fb0dd9d6d2ea941852d269d56b474d9ab2a3debf983f5a9e7c0a3b72c1f1011477aa191c00244b110e370d02e3baa5595a5daf16afcc62b0b3aa3f76b960aa933bd7e96e9cb6637faebe1d742faa2db9edb6a39dec0aa1a29a490ef6bb9555b314a9a527aaa52333523541662799386e92bbe55ba63de2113eeaa2200205013473d49d9da569e31652f74dea7d5f24f0c1ce45954aba696b0fac85bdecd79ffba3846663e5fd3f6b9a8e8e2cfe93a164e25a72851af2bb6b3899aadc7aba2f1cb3558ca4c920a6f0e22c953955500096c2021718bdb459cd5f755ce7f58954bb93eba16a136d53f79dfe5b0e3c5f76a66a79d366bf354ef8f4f50f2877464956a0949bcda613351b4c05ad729a22811bb3220a105544cb809b12805b07111cb7abb3ba2d559d5adabb3eaa31e4be386a61e9e6c9d6b35677fa63875d393e066b667d30ab1ac36eb35a69ad04e828496d413ca5dd554423d134bde48d20545dbf54edcacca8b837b99085577851b09b58e7b1dba156f055537977c43e383784ee3a2d95ca9d2b34d27d54ca89cb058c6f29acf6f159d3b5feddcf4c53b3daca6547caa8f732f9203f59cb23126845f7ce5b30451328404485de2c0889ceb006400311437e8e7ff35d339c6c50fbb1cb7e324b58afc12b8bbcf0dd8ef3a66ce76e6d67bd1fd4da2aee24b34164c1fba7c124eb656dbc622a624303f490729281830a84509721ae19daf0b69a69958cac38f262c287695dce30534b6d62b575b446b249b4b64c8cb9daaea54555a2ab1dc92692f62ddeba3081c00a281b7c74c995c300088fba612d69ad371bef35ca8afd1b9e6f15c30d0cd39a6773a53e75d1e91772c1f1cb03c767fb6e9e4eb6c537a36672e6cc80884ddd4b9b91276476d91934c11618de28b1410501e15ca6e10144722646b8e71a592bf66eadcd78dec39abbd670ca5dedb66b4962bfaa5fc5ae9bdc2b49ded9368484ce7b20652ea7cd3c256cde97903a5cce7a9037732524ecabbd293dd04c09624c4082018ac3a5e36f40dd92afddaea7ca8a9d38717878912a5eec3c7e59b36c6b6b87addb39515600c0e5632a9a374c04c3f62cd103094a7c6051c645dbac5d2c25029b8d816b60e858ef6bc29a978549734f433a2a6fe78b4f57ba7ac6699d22303410020040080389ed53fd3a51f8baff00f3600cc48c6d2da67f1177fde49006f0cf0e0b8e5969ce00bd0f4bf4f2e10041afa69cff00dd8039b527d21b64950ed1aa1a09a4f9042b0a69ea8c9fc89e7b82ea988529b7ad310d962d8fef06fcc02347655253a19ab5a5bbba9d204d6100b7aa33341dd0f5df20f1d200a80003dbe3ade00a46f7d6d6d6fce00f17aed9346cab878e116ad90209dc385cc09a4994b9889ce7102807ae269a5d4e162c8aaa54a9782357a036af44d6c79c7932f4666da4ce48d1c3e2144a828a1c98fdc4c36130073d39475f6bec36bd9aefa550ea531af538fb1fd2163daaf7a272a9713a7436eee8086798dfd91c67693a16c1af2bc01161136421c8a1ce009010bf3b7e5802315f2b69afed9400eef9a1adb3e1ec802a1fff00ea00a400731b87abc020005b86ba0e5f96008b8183410e19c01506111cb80f3d7c6000885bc3e38022c361b8fafc046005c30dc3f6f080190880e9c8600140a217e01e3a040122223a6bef6008d0b98dc03f440011b07110e7ce000e1cc472ca0090f4bf4f2e10041ae39697fcd8003c2e3af1fd30004f610cbd50047743d7a5bc600ac0003dbc6fade00a46fcc02d99afce00657b0c001377842d9c00eee59e63f9200a802c1600cf95e00a6c38b210b7bdf180016bf3b400c57be5a6bfb650032f378db3b7cd005597d30052003cc3d5e01000043dbeafcb0045c0c1a0870ce0090c261cb3b0df5d60091b5bc03db004000e771f11b73180170c370e3fb5a000080d8740e03ea8005028800f00f1d02009308f0d7defae008d0badc02001840039873e700070e623905b4f5c0121e97e9fc90041b3f0e7ea801cae3af1fd30004d6b65ea80207086bae5978c015800067cf8df5bc0148df9e1b79d7e79c00caf6180026ef085b580172808731b8faa00a802c1600cf95e00a6ddec87d5e300485afce00a40c0370b69afed9401e4eedd5562dffd51ae3ec1ca00b865e60401f32ed93eec335fc465bf98a40190a6f42faa00e9126d0b006e12fe1006651802e0200400801002008340160e7418035d99e830068d3ef7d0072ea9353401dc3a3a7dcb9aff00484d3fbf2d0074c801007cedb42e86349d5fb4c715ccca688293a3ae82cd555e4d2d7608f54b8342895748c4577203dc150a61088a2954b6d66f1eb11e489a9de50f25fe7ccc6b0e8374db2a97ca06950a68ceb7f3073d7c2412730ef26c432730f73320296170550d8c98700dc470de269d95756511d37720db6e7594e7595939dfe7a9ed20e8532991b16eca53552cc593399b49d32664934acc8b6983039d468e1ba6748c54b72754e25290008171eec5956d44693e2aebef581574ac78fc1cf9968ffa08d28f258de5ce2a0c4c59ba983e62d8926962446ae26d6ed03b6dd264dceff08632a762eb600b8df3baa12dcaeae53305af3cf7e3d77f3ff399ed3ee83b4dce9b49db4d27edddb7a7d89657276fe4ec9514d09794e550ac8488b74c15431900dba57112f9db31bde76af6bfc65dda6e2a942bab2f9f3d779997dd145778bce16775a28e15a815952f3b39a4125fb2d591894d2b32800dc03ec51206eed6d33bc4df7870aaf2fc5bf9e08afa350d68d474dde261e69d08643319f4da74f6a632f339f02ddb8b849654911f0b840ed5651c20924444ea1d154e4150498f31cef9c52ea88d3e7bb2d0d95a549ca78a2ca51d0926c9b8a89c4db694f5f1ea32c99bb86ece472e62d91694e00964c440037ab26a37030fba26a9717208b3a9d59e2dd4eb7f89a49bee4b0294ecc2a704a9babf0ee374a6fa36cfa4149294b49ebf792fa7154dca6aca1191493747eb788573a8266c639cc731c4c631c444c3a88c56d15fa6ebca23a134bbae5665937e8af3749e2af0768b385dfb8660c1d4c16954a45c2c8eed348c273150286f0e441329d52801ce042818c2050b5a5fcf39f3c616138c10b051a7caf0582d523206e8eb561a68f6647da6ced57f3133733b74a4b258738f5550ab2244f1243ba20284030a69e12187ce0188a7672f9f9971ba700f1f9f9ebbe118a79d135dbaedb1715fcdd53d46f52994e95197b0de2ef5026ed270450098d13953ee5d112773b9e6e50fbaa9d14c75cfbc9bce64e87b2cd954c28f753659cd4ceaa0ed42b421135a5f2e6456a9b3481045147a82087b99530002906e051b886661899c23af57fe12e491454a5f3f3bdbe6d9d0620b080100200401c4f6a9fe9d28fc5d7ff9b0066247ff00c3698fc45dff00792c01bc3331813b73802f2f6b14000398f1080204e60bf228e461e37803f0aba64b870dfa5d6d4174145105d0a9145105d23090e99ca924206218b61010e611eef665f568f9eed8e2d3e779dc3a38fee9ded229106924da2a2b56d4ea785324d4040b396a9e9f6c3588e403929637e1c636dd893c69c0dac3e906b0ab13f4bb651b6cd98ed329d09bd173f6b3b6a16eb4810703a6a710f31cb73d944c7fde0b72118f2ebb3aa870cf5eced69ad4d26f2199b0869e1ac50d0e17b68e97db34a0c16608aa5a92a22018bd92c54014d13069d69c778a4ff742e6f08f73e8efa02dfb56d3d8a37bf823e7be94ff0051f67ec934adbaf72f8bf967c1db5ee90db4eda2bb376e4c4529581b1379133ba4c93b69725eea087a471118fbcec1f45587645b0b6b7bcffae87e75f497d35da3b6bdb7b3ecacbe799f577ee745fc80ab2dfceedffbbc7caffabbed6cff000bf33ec3fd13f6369f89791f5adf1096f7b047c89f6c4e2bded95b400e30000e6e3601b01ade300043c03f6cef0045c44317af4e50000d735cdc20063361c41af02f0ce009b8dc74c86dea0801a080d802dfb5a008b9ac06e7f3f8c00c5e718433f18026e6b871c590e790400011128683cfc600813086616e403cf8c01222251cafe16e300400801785cc3afe9080026305c034b62c423c600ab5e56c87dbce00a71080db4036bead2000984328017b58a0161e3cc20009cc17e4510b08f1bc0157b03c200a4047cdc838da0081318430e70055882f60c838880c010063776f60bdcb61e3680273b69711fdbf240001137fc3a7e98023162b5ef60802715ef6cada007180200e61d6d710c56f18024407907ed9dff24011884404df37280006b9ae6e1f1400c66c38835e05ff0028024046e21964360f001801a7000b7ed6802311ac06f8fd7e30000c1de30867c2f004dcd70e37c873c80200144440341d6fe36e100418c25cc3d403cf8c01226128e57f0b401002005e02261caff3c00131b300cc2d7c423c42009d6da701f6f38022e2196988730f00ca00098432e7af28017b0014000078f3080026305c381442c61f1802a1f6787ede300520239174e36f5e90004c36c398f308026e17c2160000cc78c0100730885ec19e1cf8da009e17b5c47f6fc900004c39712e4100538b15833b0401562bded95b4b0eb00401cc3ad8044b8ade3ed8024407907aff004fe48023109804df372b70803c5e0e26cb08f048df30c0170cbcc0803e65db27dd866bf88cb7f314803214de85f5401d224da1600dc25fc200cca3005c04008010020040106802c1ce83006bb33d0600d1a7defa00e5d526a6803b87474fb9735fe909a7f7e5a00e9900200b74a652e55d28d9274dd4728fdb9b914299427fbc501b86b08c241cf9a6dca52edcce4eca9daa1d48646699a4eeaddd33425465a500a03b4923b9748ac6c2aa264814dd6e84e1e7dbbd0a7153ddc7973d2630e85ae6d5dd7e7e5ee786725697484d942d53124084e915a6659b0c91fa21dd2b17e0c8efc127273894a189248708971008e5109cc46b7bf667e655e0a7f0feec8ced33b4da3279256d336b3141141de1dc91ca89a6a0828eccc52361c4392ab930107df0e9114d57a9556f8f1c8b5a5372a74bcd4fedcdf245aecdf6bd4256ed0e791cc9b2af5ba64526327155217acc14318a5070910c6c2372087ac0435089a1dea556b271e2a49b5a1d9d6e879a6fc1c49ae51bd25b66f3f3cf71f68d3e8485b99f2cf272445ba0bb107ce65bd6913a6aabdc174cd521414c271b058b6108b46cdee5fb94af0feca3c1c73fdb17bba51b5976afb3234d6532d2d532034c27c44d5933307888aaec8b10ca24648b8ae603948612fa561b691375cb5aa125aa7b6cd91292b7b324eb0a795632e7a5973d7247891889bb38e12223611ef1874b6bc34884a638e5c7e563c886e2674ccf33edb366a854ede9e7f396b2c9c3d5a6693066e8e40eb05940105ea853a66390a098280220a18a6b7bd885af052f94c49674b51c705d5495176e3b1d192b59bf9694d04b5eacb3768f05f22045556f615885b9b31214c0630702f7872ce26eb21e4dee368974fe473070e10633066f1668441472920a9143245724de206381446c0a13bc5e619c4ba5acc17f15020040080100200401c4f6a9fe9d28fc5d7ff9b00666457ecea63f1179fde49006eec07b961bf22c0179713072e7608029b000d8475d07d5007e13f4d0ff00e6cb6abfff00112bff002938f7bb37d9a3e77b6fda7cef3a030fdcfeda7547b06a5b69542b84ea319c3051ccd29730022fd13a6b2a988b4111c0b808277c3dd372bc67ff004ba556e9a8baec4eaa15549c4a81fdf7e95adbad538b4f293a8a52aee9c3af7464a373079c93829c02e1cc8628df947a5d9fb157dab0a54adfa1e5768fa428ec78d6e1eed7b8fa5f685d3fb6d13460da90a866c84bd32b4482673993202d0efce701c42e308898816ff67601e211dbd9bb0f64ec36f76d55e7863a2e9f1c4e1ed5f48f6dedfd9ef593bab1577571c7e1818ed96eca6bada23f237a4e5a799a2610df4cc070b24407df2ae07b81ead79047d1f69fa4ac2c28bf5d4a34d6791f2dd93e8aed1da6bb9450e567a473364dbfec415d97cf24926713424d5ecc2561307aaa498a68a6a1963a7bb4b1778c0004d46dea8c7e8bfa4bfe9b4d55a509385dc747d31f44ff00d02aa68754b74cbdd9b3ea6fdce9fb9fd59c7fe9742c1ff978f97ff577dad9fe17e67d6ffa27ec6d3f12f23eb7c5ebc5c7db1f227db1e4e8c62365940c85348e7285b2ee9444200f89b615b52e9ebb54d9e36aca4135d90b0973a74edaa6ddfcbdf15703335851309b767397310b8671dd69458d0e1c9c165696d5d32a0df1773fba3d2828b9ea5b17ab93266696b633e97b852dc12514302771fc28cfea1ef469f5ebd9370e8f3d28d8ed166b3ba52794ecc286da2d2b619f51f30301c41230807596aa8017789dcc1c3880e60378a5ad8dcc5628d2c6defe0f06772b806417b71b87e88c0dce21d3076e537d96ec75c4da448a6f2ad9bbd6f28a525ea242bef5e2c388c3b92d8c70222430d83c0237ecf657eac7230ed36de8e99599b96c1f6a4c368bb21a5ab46fbb4c678c0877cdc9a20f53ba4ed2b67e6ac43005f8452d68b95345ec6d2fd2aa37aced9e797c5199a1c7fa42749ea4765a5964b0cc6615556f518eea98a225418dfbd309b081cd6beed2be588406f9e101b0db6b2b175f05bcc6d6d951cce72c5b7ee8b55a904c0f32d996cadb2f6337921da293a7c900e60570a1b1a78b9e18d1fa1a77b335e9aadcbe7a94beff00f58c52385f02bb30dab3320875896228a9247e62dffd59bb897c77f543ea6ade887e9a9dcfe7a1bff4b7dafd67b34e8e73aad64494b893f979a5a52b7764174d9333a729a4b12c02989ad8c6c39738a5859aaeb865fb45a3a28bcb33aec91daeea4d2f74a886f5cb56eb1c42c018944c0e6b7b463166eb2358db1ed8a88d9950afeabaa9df569733b15140963397ae8e1ee4d5b2770c6a1c740f68d802f16b3b375b8456d2d150a59abf472a8f6f353d3aeaa9da33095d3684ecfbfa5e8f6cdcfd765ec0c38933cc1c9cc22654e510ee810b6e398d82f6aa9585252c5d6f1a8e346dadf4bbabf6ff00b54a2f67cfb670c255b3e7ac9020cf99393aca26f91c64efa07ef08090d7c83846de8ece9a13aa7130f496b5575534c606c876bfba40d49bd24c361d351277baa1909937c7e00a01b2ca2bf51ef16ffac7ba5c6ccfa58d589ed4a5db32db0d126d9fd633929869c9936700f24b38128798ddc7bd38f00b8e790d8440222bb0576f50e51345bbbd76b50cfa58331b67c8b6ce398ea3e62da574b6ab661b447db35d88524957b584a4705473c74a0a320928df0e070b9443787288584a060cc2c18840423a68b0517ab708e5afb439bb4296581683fdd225c80e55da76caa5eb0862eca4a4a2b221f83be3222789bd63b99176db7af9e85a37e94db6fd97d452d93f484a5654ca41345c1a4bf6a34c194565445cc3dd2be40d73257e239730288044fa0a6bfb37d08f4f550feb1753eb46cba2ba045d0548aa0ba65512552314c450870c45390c1908086821c2390ec3e47dbf74cca9f65dd286474ccca5ed1cecdd5943175533e4d050cee5c2f9751b11d8ae06b6ec8a012e512e7c06f68ecb2eceabb39d4e2b5ed4e8b4bba1f5c22b20e104d741622c82e42a88ae9d8c9a84385ca728864202037018e33b4aadcc6d6cc078c01c43631b64abeaadbaedae9199830094d00fe56da42282229ac64ddb73a8af583898d8c6e5cb208ded2cd2a297bcc2ced1baea5b8c2f4bcdb1ed728a986cc64bb3e353e49bd7d521a458e7681d66e431932ee8c3ba310c5ef9b31ce26c2ce9aa6f6857b45a554c5dd4c37677ee946bdafb10bfe2cffe98b7d47bc57feb1ee9792595fee8904e65e3359b6c60d2b074876911b367c0b0b5de06fc11136407125f0f8c43f43c495e9f583e97eedf21b5be9e31cc751250ba8017b809a00e13d0d36d559ed3f644f6a4a94b2f098b6a926b2a4818a22823d5d99ca09dc8273f7b3cf38dfb459aa2a84616168eba65983da87495da03eda93dd94ec5a9c97d4b584a9122955d473850c948e420a79a45f77de5551bf9803e1deced6a2c55dbd5e456bb677aed199666d9f7ee86027d6036afb3251cf9dd966a78c56ffee02d6de5bc617ac77322edb6f5f3d0e83b0c9ef4985e6337966d5e9ba465e9b149134aea5a79d9d46f3139c4c5393aaa988e9e0296e226b6a1608a5a2a3eeb34b2769f7ceb79db3cf2f8a31362a309af6d6f908f1f6400bf000c874ca0081010cef7e237fd30032001001d6f60b40119df51d42c6cb9c01509bbd61bdb51801711cb3f01b67eb802910b6b980e5004fbdb62e5c2001715c33cf9e59e50000780dc0034fa6005c44397b2008c36c878e83ea8024dc2c61e3fe19c000be7cad986500316571d78070cbc60091b8f1b78db8c0100017b0e561b80f1802046f980f00bc0139801b5b5fcd8027171cf10ebed8016bf1100e560fc90052036e3612fe58026c38b5b85f4801710280ebcb4fd100793c1fb116b5fed66bdfd5007bb2f30200f9976c9f7619afe232dfcc5200c8537a17d500748936858037097f0803328c01701002004008010041a00b073a0c01aeccf41803469f7be80397549a9a00ee1d1d3ee5cd7fa4269fdf96803a640080344976c6a9169b547fb4129dfa93f7edc5a9b12a52b622462244b1524c84c5920199c4dc7c2d7a2d1d343a164dcbf9f9cb8b9ad54a755ed7e7f9f9851a54c3a35cc97ebf2a46bc9d35a31e1aa1552a5c8d9bfb92b51b6768b920bbc8ca2292af8eb2499ca384c05ef0814022b66eee78c52a95c1288e7095d5c0d95715dee32f9ff0079be2650bd1da4ea56259bbe9a1e652d467e4a91ac89cb36ea2447e329194ac22a18044c53170a85cae430643618aa49557b5dbfdee7c1c99d52e9bbf83ff6d42ef599608f4686ed0f4f212daa1fcbe5326ea40ee569346b85e165d3919d3526f30dd1282a6121809e7179084528b38519fabfb252f3ef82d6d55faeaaf2752ad74af3f9ff002667655b0df23a722fd7a8179d755971e532440ccdb34068c96742f152a86402eb1cea8877cd6d34b898466cacd514c6b14d33c284d5387564dbda3b4add4f7d4ff5b4df92834b6fd0d292672a98b3974f662cc66ab25337c3d5db9d35a74ca7279ccba64a2784b73a2754c91cb7b2a9e1bd8e503459a5b30bd588fd171feaa735bf15acd5bcf8ccf14dca5f95e5cda728ae59d175f92adbb99ccb9ad248b6a6014934aa5e8b433d734eace5d246b942ed13070b10f81331af9e65b8df5adaaaceebf7ff007d9d3679e794e192c38a2160e570f0a9d5fc10e3a259d590aec86b379da04672b93c8e7612e6c9ba954aa4dd605895a0a229607690ba3883b0b1b916d701a4cc4fb52f4d2ee1bb0cf3dd96042a52cb28849e3ace3bfe5e7899b9ef463934cc1fa4a541342349c8d4a8ce91dda22670cea749123944a7b770c9a8d93394f61d0404040622ac5cf08fdd7d3e8fc0bb7eafbb1d629b98f34fbcc852fb026ecea942a69fcf0f52cf05498ab3259562d9b36722fd8b3968015b900c09e06cc0a5c8444d88d7c840a10e9a5d3552d7ad33d627a60bba7314d4e9cb488e176f478d4dcfc0bee8f9b22fdef281094aeb0bb99bb76bbc983932e77420023ba66d81750a998e56acd345b9444a17025ed7118d1d6dd34a79a58f17f79f57e1053ef37a4e1c29d17cead9d2e28488010020040080100713daa7fa74a3f175ff00e6c0198927ff000ca67f1177fde49006f4c46c40cfd63005d000088e7ea0b401238adef40078401f859d30d83e7bd2ef6a4dda20a3858d512b64d30b8fda52cc7907ae3e87b0d955694aa6852cf99fa4ad68b2a9d55b85fd9f4950dd2d2baa47a3fd25b3ca6daa3287d2662742673f309575f1aaba8ae16a5b602580f6c4371e568f7fb2ff00a6a8bfe92df1f774ebbcf9bed9feacaee7a3ecf87bdaf4dc72a6cd6b0ab6a4dda29cd2a29eccd5c4201bc74e97507df187bc61f58c7d255559d8518c534ae891f2b4d16bda2d309aeb7d5b2cba44f42be90d4bb24aae754e1a632851aa6331ecb3f5c5e5a2401b83c4530c450b6788b88a1c4423e1fb7fd2563da2ddba1e187093f41fa3be8ab7ecdd9d2b458e2f7c1caf625d23f6bdb289b8bda367aab46eb280a3f92afeef2d796cbdddb1bbb7b658cb6307018e3b4b1a6bccedb1ed15d9bc0eddb63e97324db0cfe41337b2df26a70ca540c1f3532bbd68aae0b9d4c6dd51b081440fe69f30e631ef7fa7ad2cfb3d155954f1754aee3e77fd4f6769da6ba6d69a652a61f7bd0fb47f73a3f9035670ff00a550bf887578f3ff00d5df6b67f85f99e9ff00a27ec6d3f12f23eb8bea1ec008f913ed4f0781ff0047b8b0dfdc15fcc1803e5cfdccfbff0004d93784e6783ffe7a68eaed9f6872761fb347d516b5bfc7e78e53acf902740de65fba814e9e44503a94f502e4b5bac879a9ef85506a9b810f7c20a276bf8475afb0c77e071bfb7c377f3fd1f6018d728e761f9a390ec3e499b0fefa9d3de5b2d20efe96d824ac660f33f723d47330004883c2e912c3e024108eb5b165c6af238deddb70a7e7e791e7d139536cef6f5b5ad85b836ed824fbcb3a14871b00cb666202e514ff00f0ce25cbc0c30b7dba29afa31d9f62b747547d64fdfb562c9cbe746ddb7648a8e5c9c78269104e71f9211c8763707c81d04a447af67d5af488a912eb33eabe6cea5d4802bde096c9598ee808df179b8bccb87028fa437eced2eea566b438bb2d379bb479fcff0083ec7110b173f5fd19c719da5561ced6bfa43007cbff00ba4e1ffe47b588f37528b7b2609474f63fb447276efb27d3ccebd53ed4a89d9dec7d1ab6ac7e49749e5b2b6b88c39aabaa640bbb6edd3f7ea1cd914a1ebd338c950eaaa11bbad534cb387ec836575b6d6abb61b69daf4b8cc5931f74d95ecd17ef25296c6ef27317e98f9ee94000305c3bbaf02806f695aa15ca3ab30b3a1da3bf5f447d63701379dedf18e43acf937a31ff00f38dd28b40ff00a42417feccac75db7d9d1d4e3b0fb5afa7c4fac0006fc078db5c8738e43b0f8f7f7418a8bf9bec2a452c0056b277b4164ea4a927fe9246a85bad2c01a81007009874cbc23b3b27de7a41c5daf174ad64ebfd3136b6fb66fd1dab3a9e5ca0a73706c0c24ca06a57afce0dd3397c4806138788463d9e8bf5a46fda2bb943653d10b6312ad9bec2a9d94a6997b6268d519c54cf042eb3a98bd202aa0a871ef0e003602df807ae1da2d2fd64767b3b941d9c6f8780146313735cafe81a72b5a2e734a4fda91e4a278d4ec9e2460c56c41dc50b7d0c99ac6288682178b5353a5ca2b5d0aa50cf9dff0073d2b1a815d9ad4bb399f2e77139d92546e69bdfa9998cc4a630b4bdf9613903f06c11d1dae9c554b539bb254eedd7a188ad295a7aabe9fb3ba4e7cdc1e48ea4d8f1d8ccda8fbf48d300300975b18a200628f010018bd2e2c657b46752bdda21fb3f1323d12ab4a8a84ace6fd1ceba7475e6b4aa62f36713a5f2ed9a7444453214c3aa8dc32b700c41ef22b6f4aa97a4a7af334ecf53a5fa3aba7cfcf81f589c0da0897c02390eb3e53e8c03ff00e567d287fa6243cfe08a4755b7d9d07258fdad7d3e251d34c43f7dae8c81ff00f5190cff00e14e1d9fd5af90ed3eb51cfe28fabefc3e2f18e53ac1402c5f7df4c0149f1730b86796594015261df27b39fcf007c9bfb991ff00cbcccee360f2e27f7feb538eaed9ebf4397b27a9f3b9188e83d346328db0f483a3674a91bd6cad6ce6722dd7b038752d544c282a9e2cce5201ef9680708b769534d2d65053b2e15549e727d956cf2b0f2118e33b4a0d8afaf80f0d7d5004e78b3e7e210041478f88e10d2009110cb3e39fd19c0155842f86d7e6300519e2c8433d3d9e0100038e5c34cfe68024b9175b8dbf24013dd13077bdbe3004e601c0038c014586fc078db5c8600811ee8f8db3fd300577b71f58faa000584c39fa83f6e7002e386fdd02fed6bc014000fc59711d348027d100b00df21d7e7802a0100e236e700405ac3e03996009301b41b67a0401405ed7d6feb1f5e7004df30e162e7ea802abf0f6078c00280582c38be98020f8b985c33cb97cf004681ecf1f9e009d4c6cec195edce00f27a6bb35efae0365ec803d997981007ccbb64fbb0cd7f1196fe629006429bd0bea803a449b42c01b84bf8401994600b80801002004008020d005839d0600d7667a0c01a34fbdf401cbaa4d4d00770e8e9f72e6bfd2134fefcb401d3200401cfa55b66933ddae4cb67e5974c8b3196b73393cc4804559894a548f84c74cc614cd65c323807cd7d28b3bd66ebdce3fc6ff00f3ecb2b555155df9f9feb7a390a7d2d5d35da2d7c2e50ebb48cb6573a528f295a396bd6e614a246526691664b260d56eb5ee9b9dd9cd841ba8268ad8d155a288c6abad7e1aaab9e6e9a96fa6b45edb65a58e183e717bca69e68d8e73d23eb4974b9f155a265c69c4afb55c4c9a04f03aaa0ce56c1bcc8c6eb3d5311943a4e413c254f08281e760efc677d62f4a6f4fe5ad5187399531c4cecea75d6acf2aaa74a5ceaa2fe31bb279f030bb42e9693e9531aa8f26a7650ba92b24f51928bd991b7c7754f1d32bb34c192296341ba80a08a4a15435c308980a072c454daebdd17d52e5e956382ef37b3a5551d39cba1d6a37ad1beec1a2e7689d2a26d2452a4974a18529349ac9246e5f8281347266c9cc65e12e51eb37376890e1046665508a2463f742e702705556ef692e97d50f934d95543bb79fb2df5b95d6b9a8a1f86f92e5f74aa98b399d4edd6a4054674b11366f66e9cc0846bdaca11989404eb24989592877e50239b08d8a73993296d7bd3b49b5ed5d53f8ee63130fef4638718443a62a87a5379f2b8ebc3a28d31e18992a7ebedabcf36295c4d25eea9af2c65f399ecba4c62ba4d69622664f0504922ba3a6814e2528580552077f23f18ace14bc73c74717dac270cb2de5f0bed6110b595ea52f1d7378ad323599274a959a4a6529999be9e8354913d4cfe76a34954df1ba9f2f2206ed18324d56ce556ee11302bbb508412814486389ed1b2a53783c3058678a998ddbfaee3386b07eb62fb94e7bf1c3c60d99b749c4a60cd3249a46d9f4e1614132cacd33493dd2ae67aac8d3eb0704ce2997122656f86f60128009822b6b43a6a54ac66e72dbb3aed3f6aa3c4cebb554e7c7c2ba285deebf02c267d27a78da57317c4a625ab812a8351d2a6a59a9c5c0ccdbacb3770b4c5306a3d55b09db1f726b9cea00a772144f60ad4f04d637a5adf0a9aaa8fc7b31777e6f06cd16bc2279b74ac37a57937ac2781dba979c389b5372b9a2f2f732a5e62cd074b4b1c890cb3532c981c5150c9098826208d87088845ed29bb5349c95a5cac4c9c50b08010020040080100716daa267eb12956c3bb0497209f862de5edf14019894247230a648a104a6060e844a3af79c1043f20c01ba31000200e436cec23005edb3f1f4600a4d7d40331cc7e6803f26ba4bb36a8f488da29d24934cebced53ae728584e6dd93330f18fd53e83a29a7b259b4b3589f8ff00fa8ad2aabb6569b98787038d29b46a2e55533367394a6ae9926e13ed92cb7765709a0399f722bf7054b68039457b7fd2d4d84d3429afc173fe87d1bf43556f15d6eed1e2f97f67eab744d9f74659a51bbfd91acc55ee1426c9ae38676430ebd78aa7ba867a5bb9e8c7e7df48f6aed16f54db3e5bba1fa6fd19d8fb3767a22c173dfd5fca3bb682221c0330e41c63ce3d33f363a766ceba22ccdd3c56980ea3b461388b95a9e04fb28ca5fbfda24fb509fc51efdfce8faafa2be89ed56aa6ad9a38e7d17f27c7fd33f4d763b1714ed57eee5d5ff1d4fcf59f53f3194bdea8f4a4c625c699c8388a725ed883fc62fda7b2d76155dacc7b276ba3b4517e8ff07e9f7ee47ba74b6caab722caa8a2684f5a950038df0145a5c402fc23c4fa4abaaa74a6f247d07d13674d2aa6944bc4fbc83e3c5ad873ca3cd3d63c5f07d80eed9819056f6ff70600fcf0e845b3fe95336d80cb5e50bb56925274e9e65352b792ba9126fd54d523a302c715cc2022073661ca3d1ed35d9aaf6a996799d968b47461541d7aaad8874fd772f326db6ef2171986f5aa32a09428b138a6576926b9d3130640600ca31a6d2c7d936aacadbda2be89d5750548d7b37d93ce6867bb3eda83e21a6ef9dbe981e75e5410b7117894e15b28b080621c0600b676cc0d0b7a5d4af2734f9136152a5dd6a2af33e8cda7d7f28a1b67351d5d3210ea54ecb977ea05fed87217dcd2ff008ce2050f5c73514de7074da577696cf937a0ced3f62d4bec91f4fab0da2d16dab8da34e1dd4d5424ea6ad88e123aea0837415298e0251293bd61d315a3afb4d153aa12708e3ecd6b4534cba94b309d2bf6dbb2293ed7364db64a3ab5a5e7932a5e67d87554be593241c397121985f786dda6613082573fb4c1ca2d616553a6aa1a2bda2da855535d2d1f5deda5c6ff006195cb897280b0b8a5a68ab25921be229d91cc4394788080de38ecfd75ccedb5f51f23997ee7d9588743dd9c757c201d49e6f2dfed7b41c63bfb635ed5f68ccfb2fd9af9d4fa1f2b5bcdb77406f78e73a091d33cade6fb7c600f987f7492ff00c0f2b0c597d9728fff00d8231d5d8fed11c9dbbec9f4f338c57fb14e945b4ca2e5fb597dd5e5933a2418cd7665b1f59323b40ccd914a754f32030613bb724262296d907732bd836a6d28a1dddf9b31aeced2b57b7648fafb603b6ea576b1b3296d5b261dc9dc7d8f39959c7dda5f304803ac35538f747328f12880c71dad9ba2a83b2c6d55a532746c842e395f3b5f5b728ccd4f80a8ea4b6e93ce985d22836715e4b28851b4ce4fdac2f65659975b033536e70e210c182c6bf3bf847a155542b3a6f293cea69addad775c1d5e65b1de9f2b313910dbf5364544bdc3053492398fe1d94b7c98c7d258fb3e26cecadbdb39fecee608ec6b6d128576e54cbb7d5755e212892edc0f365674c1454fddea6092e9a232d03df4216d61f46e31a56bd253b192d0ca87e8eafaccf79b67eea101c3a3432b7da82b09275aff00771abcbc629d8bd7e86bdb7d4f9dccfad9aeebaab7dd5b06e89bb0f0c0187d91c875959efe70067a8fcd0057a885f9da00f8fba2105fa55f4a5dc87d89e51b4bdb4eb1eed8ff004c765bfd9d071f67fb4afe75664cf97ee99a76cfff00c2c1e3ff007d88ff00c3fe62bff89fcbf136fe979b0b9e56b49cbaa9a2cfd4769fb3b5fb628b7e9d81458c9779797a83ef8ab943201cb165a08c67616975c3c99b768b2bca5668dbba396dce49b56d974b6a9604066ff10b2a8e4e370525d3443270dcc41cc02fde2dfde8878c56dacae5505ec6d6fd32725e8c36fe169d28af6ffe2f211fff00345235b6fb3a0c6c3ed6be9f1307fba092fa85ed5dd1f19c82649c9278eabadcca670aa40e08d1c9932024b1921c8e0436768b7656a2a9dc57b5ccd31bff008362fde5fa7770e90521cfff00dda4787b62be96c7d8f127d15b7b7e06c1b3ed9674bf9756b287f54eda64f51538dd7c53792232049b1dda224317765583ccef586fe115aebb36b0a4bd1676a9e3549f418620365a587f24739d256400c61c46e1c600f92bf7332dfc1d669fff001b541ff3138eaed9ebf4397b27a9f3b91d1f6f1d13b673b4e98b39fa8e2694a56f292004a6b990add5e609017cd2aba02a40be57cc0320300467656ee8c3345ed7b3aaf1c9ef397a8ffa7d6ca51c4f5bc876f749b5cd459a80cb6a32224e229db0aa6b7205046358b1afdd7e06536d67ef2f9f9d4ed5b01e91db3adadd3ee9f536b3b6afe5870427f4e4c49b898cb971b8605d3cf21128d8e5b80dada85a31b5b1766f137b2b6a6d323a9583db7e1e1191a916207e0e5ecd600656b79b6ee80def000432cfdee65f6c002e2b080e59c00b1796a19fb7c200589a6971d2005c042e395f3d75b728024c03ff001690000444817f5c010205be9708023ba01c06d9d846d00556cfc75b7ae00a4de900676b8fcd0057adb17aa00a6c5e5feef1f8a000582d6b0f000bf3802741b86a01a710b6b0045840c1879fcf9e9004e5a8f2bfc5005384b6cc3dbe1ca009e3a5f1721cf280279db3030e76e50040620365a67f92009102d878fb79c01162ebc79f3cb2bc01e2effd0d7cbfd598d701f0802e197981007ccbb64fbb0cd7f1196fe629006429bd0bea803a449b42c01b84bf8401994600b80801002004008020d005839d0600d7667a0c01a34fbdf401cbaa4d4d00770e8e9f72e6bfd2134fefcb401d32004000294340008031ca5354e1d8a0c8f2a969d9b5c5d55a19ba429258c864cdbb261c25b9143146dc04438c096db99d73e256ac8646a0aa2a4b989c5703956132098e3054809a806b8678885028f300b4447cf8f990b39d4b6f23a91ed1983fec393f5e9b37069357bd511df3b6c05c008b8530e2509842d84c2216835386f0b08e0599366bb392ae65cb4ad36558edba91d609736038b60445b02026c17c1b9114f0e987bba45a73e39f10b4e0563b3bd9f8adbe1a669f15465dd91bdea0db1766e1c1d4af82fb8c396efcdb7088dfef67c79ef2672e1970e47ba54551a9d3aa53e9c864a9c8562988ac90acd0062729c71180cd80bbb1011cc728558e642c323cc941d0c4ec7c14ec88be4f5fb02cc9b876762b5fa9f73dc6f60f32d09c67511a1ecc68ea4192ee57672393b459eb8eb6f1641a2299d6718b79be50c528098f8bbd8873be70f87f7fcbef62ac5cbf9cbf85dc8f07b40508f169a2cee9c90ba5a789a694ed5598b750cf9346dbb23a318822a813086103ded1118475ea4c99864c99b36683468822d5ab54ca8b66c890134924c818484210b6028000580022cdb6e5954a0f68824400801002004008030ac11455440aaa69aa5c42384e50305ee3ce00c354f95452fb068d9c65ff001a30066195f778ad7f5401765b6a1a8f871e7000c023ae9afb39401f93dd27bff985afff00a654fcc247eadf437fd8ecbf09f8e7d3ff00f6db4e659547fb9ed5fd5db2d94ed2e837e94e5e4dd05179a528e70a0e00e8aa746ec5611c0a5c13f30f847908c7c97d2bdad53db2d29ab7fc11f67f43f6275761b3aa9dcfcd9f33d2921daed315c639604f28ea8e46e376b3b3ef583966a97521ef84deb2d86fc728d7b3761afb57aab677e863dabe91a3b1bda7b5bb5fe8fa13687d3a76d53366da8fa9e7a25668b54c1fcd254803351f98e1999e1521b887812c03c4b1dbd9fb2f64ec16f15d379e1b59c74f8e670769edbdb3e91ecf7aceabab1577298f7be19173b21d8e57bb4c70014930ebcc40c05733931b0306f7cfdd17d2f6f7a1737847bddabe95ecf6145faaa58e518b67cef63fa1bb5769aee5343c336f04ba9a474e8d87a5b2eafe96920cccd3578fa9d2be983904f74902c674aa78112e66c2004d4d98c7c8dbfd25ff004daefc42582fecfb5b0fa27fe8145cbd79bc5ff47d73fb9118bf7aeaf2dc67ed7fb9c789f487ac8f7fe8cf55f33ef61cac161ef6bfe11e79e99e4fbff87ba00b7fa3ab9f0f30600f973f7338007a27c975ce753b00feda68eaed9f6872761fb247d5006cf972bc729d67c7bd27cc93be9b1d1a584b0b7a81a3a99bd7e64fed8595610cd5b6784776b7e58ecb1fb2af71c56ff6b46ff9fecb9e9c8f1ed6d586cbf6092a5542295c4dd39bd58726a8c8a586150f8edc0e6218c1e2488ecdb29d7b89ed5b4d59eff9f9e47680e8a9d1a4000a5d97d1225200005e58808d832d442e318fa7b4decdbfe8d67eca35dda1f432e8f950509504925d4152926994d25ce1097cd5a3049259b38310770a90e50b86150007d516a7b4d69e6ca57d9686b0491abf416af16adfa381a91a8b18cfa893bba2aa76ca0dd5c0dca292226bf34470df889462dda69bb5cad7123b2d57a887a606a5fb9fd512d48a95b6c02a43f55a92819cbb73244551b0bd93ba3828555bdfce028881f2e0701e717ed4af45a2c994ec955d9b379a3ec9c84c3c2c395c238ced246f6d32fdb3803e60fdd252dba1ed6419ff00a54a2fff00f91463abb1fda2393b77d93e9e67d154a89fc9693e1f3bb3da0dbc77058e6ab33aa9c8f9136b12d7fd1cf6ddfbefc81aac7d9557ae9267b5590b52dcb2d7ea9ac94e114c320b98c226b711317df96dd943f4b4dc7eb2c8e2b4fa9aefaf55e67d8d2b994ba632e6d3162e1078c9ea2470d1da238d359154a074ce9983210314406389a83b9393e56e8c9887a6374a10e731a7f3ff00cbab1d76df6741c761f6b5f43eb1c80b70beb94721d87c9bfba78e659fc171664a015499cc6a094214f2219ac6760b0987741adf758f4e7e31d7d8bed0e3eddf666ffd2876413cda174549f528521d7a88b2768f180079c7994b8a45c081e27310c4f58c67636976d27434b6b3bd671a990e88bb6495ed236134d4e1254bdaf2e6894a2a6623f6e6d326240455054a39863c2072f80c45bd9dca89ecf697e847641011d6f6d72f9a31373015f5774dd17464e2ab9f392b49448da28f1e2e61b5ca40eea6501d4e7358a50e22316a697538456ba952a59f3afee7bd1f50a1b35a9768b3d6ea379c6d72a175526e94f388c4c260677be7dec47307e0880c7476bab6952b439bb252eede7a9e6ae5fba644ff00fb583fdf627ff0ff0098a7fe27f2fc4fab8b969eb0f08e43b8f8d36b0d9c7478dbfa5b5796a4a1765bb4a728cb76a32e40045396cd4e220de72520680630889adc7107be2c7651f5b45dfbcb238abfaaaef7dd799b0f4603263d2bfa4e284395445799538e115883888722ac0ca267298b90818a6b85a2b6df674752d63f6b5f4f89e5d34f17efb7d1972d768e8d87d89c3b3fab5f21da7d6a39fc51f569b2b0080f7b58e53acab8582dcafc200a70f7b3b85f200e5eb802a487dd4386797b600f92ff00732c47f83b4d72ff00aed507fcd4e3abb67afd0e5ec9ea7cee47d6436be11e0195e394ea2bcf87d17b401f19a6d98cb3f7520a9d3c0547b6a8155d570ddb64432e19a0a2e52e58cd8121b8e6390f18eccec31de71656f86ef9f81f6481b95e38ced018c7210b70b400bdce3c2c395c200a87d597ed9c014e10001d46dafb78c0137110cb5e21000b71b0d87d4100412c39e57e21fa200a8d8be3cbd500539005c2e39e5ec8002236b942e01c2009ced8ad7cb2b4002db5cb3f0e300042fae4039ff84011905b51bfcd0004c6c84330e7ca001ae017b785f8401516dc3e6802910f4afddd6df3c00c806d9fae00089f17af8c003656b80f7b5802ab6560b7af84011873b8dc3800728020042fcb95e00009ef6b78fafe7803c5edbaaaa5b0fdacdf30c0170cbcc0803e65db27dd866bf88cb7f314803214de85f5401d224da1600dc25fc200cca3005c04008010020040106802c1ce83006bb33d0600d1a7defa00e5d526a6803b87474fb9735fe909a7f7e5a00e990020040080100200400801002004008010020040080100200400803112af33da3f38c0184a9bf9492efc59c5fe5a3006559e2c016e3c600bdb8e45e16b9b218029111cf3b05c30800401f941d27bff00985aff00fa654ff9648fd5be86ff00b1d97e13f1cfa7ff00edb69ccda5974baafe4bb2591d0d4b109242cb9b2a8bd9d80ef1e2a2aac75477170c29058f6be66e4211cd57d036369da2ab7b5da9796996bbceaa7fd476d65d969ecf63b30b17ae6f2dde672492c8ab3abea20692e6b33a8274f4e2612931b85ce23a9d439af9733186d1ebda5ad9d85135354d2ba23c4b2b1b5ed36914a7554fab2ae90fd04ba43d392f4eaeec44e772f16a9f6a3594282eddcb85301befd1296e72db532588038c7c2f6efa4ec7b45bb7465867a9fa1fd1ff00445bf66ecea9af3c72d24e1fb1ddbd6d5f65d3eed4a2e7eea56631805e4bc477ac5ddbdeb96a6ee1b95f23070108e5b4b2a6bcceab2b7aecde06d9d2a7a4b3bdb654d4d544fa4a949267299204aa648a0a8aadd654ae545b7c8620c6528829e69846dcc62b6163e8f034ed3da3d2e27dbffb9101ff00e16d7bfd3ed7fb9c70fd21eb23d0fa33d57ccfbd4006e170d38479e7a679ba29956ae0bef944942277cb312d8200f89f60db37e9e9b29d9db6a2e4320d93cc25ed5d3b769b97d3377bf133c5855300ee8a52e42360ca3b6d6bb1adce27058d16d674c606feabafdd1d99145b15a6c529a050309a660b3f7c64bf0888e110137af28a7d47134fafe06d1b05e8ba4a32aa9a57d5854af2bfda754096e261543b481149b36cbec697b60bee899000f8640001701a5adb5e575608d2cac2ebbcf16596cab6215ca3d27b68db5bad7b3f1cc1b2123a09a365bac19aca12f3cea774a043a980b700be62689aed15c54aea45164efbad9f41089b0dfdff0001e51ce741202238ac23e7401f3cd0db0cae68be96b5ad6d26ece1d9fed125a8af3c67bf12b96f3b43fd726861b18a7ef088dfdf8f28e8aad1556693cd1cd4d93a6d1b593f9f9e664ba457454926d29eca6a794ce5f511b48a6c006415a4bafbe2016e2545d1004a2aa5711e370b8ea022111656f730cd136d60abc560cd1a5f50fee91d364ea2ee92d98ed1c12ee1278de63d94b2c5e0651250522e21e362045dab17ab4513b659c3f9e8666493ff00dd019d4ea5e49852fb2aa1a520e9234d5c1df2f357666c070154889121313198a020023a443562b56cb4db37a236ce989b25aaf69bd1f2a0a3a9a167daf325d89daf5e5450470b778458f894c26f7a5cb2d629d9ed1515cb27b4d9bae88475a933470d24b2f68a5b7cdda2081c0a370c49a4529b3f586b19337591e553d3723a829f9948e72c9198ca66ed95673164b05c8a22a9709c86e5e03a80e704e1ca15529a86714e8adb27dae6cb509fd073878d279b3f60ecebecf2722e04d316ed143e233076809432262ee881b5c5c042db5bd74d78acf530b0a2aa30796873a1d9574b9a376ffb56acf67f2ad9e4ce53b4278c96276e3f7092c99192180b622250b0889cd7b88f08d6fd9d542554e065e8ed69aeaaa98c4d9cd3cfdd1c58b80b4e6c4d998e1607277f305009e3800338a458f12d36fee95517d14ebb9e6d2a51b41db7d6485713da74fbea629795b71694fca96b80ef8a91bbcb1c0400404c0198008dec10aadd2576851e64d360dd57ab727d32226c57e7ef838c731d47cc9b45e8a1594af68aff00693b0eaa9bd0d564e3bf53d3cf9132f4f4ecd98e35d12808a67308dc4c051cc6e18444447a69b74d5dad4af1396bb069dea1c32cc3685fba368101a9f653b2f7ca864135467c292023e96e4eae3f644ddb1dec5eb6dcbe7a96adfa2fedbb6a350cba6dd20eaa94baa7e56e0af186cb6992a89ca8eb907b867ee0f63ad6e219f81802f13e9a9a3ecd752be82bafed1f43eae6e8a48a49a28908920810089a49940a9a65280014a5286405000b5b84721d870f3ec6eb21e99a5da77d81e4c8511e4ffdbbecaeb9d637bf6ac3e65bdf5e3a3d22f45775939bd13f4d7f4883ba08dc6c3e68656b4739d260ab4a3a9eab6929ad3150352be93cf1aaaca60d44354940c84a39d8c51b18a3c042f16a6a74b9456aa554a19f3a7428e8bdb44d8f4fb68e5a8a68d2712f9ca92d6f4dcc8ab99570ab29702c9a5d6533143762089c800171b5ac190474769b7568941cbd97b3d566ea9339d2ef63fb5cace61b309d6cfd2912f35a06a319e0a53a7076edce244cbba28e02984d73173b5b28ad85a534cded4bf68b3aaa8bba189edcfdd21bdbc99d8afabaf3d8b458712b3da3dd2f24d3cfdd0c3ce1804d69dd8e9658674804c4e83d7a2b15b6f0a0b0a403962025f0df8c43563c494ede718339d31e91e91d51ece658cb6353a525150273745699a88bc2cbd5519010e160706cac5504a6396fde0e7a457b3d5427b65bb4d35b5b076e91a733464b2d24d1c24b4c106881666e4b92677044837ca174b009c0463066eb2c4f967f7330a23d1be627f7ab567501d31f48bbd205c3da11d5db3d7e873764f53e7722fd498fee8bd3af5c2294a3657b4560554e2c9e8b95652f051130e0058a3bb4f1006436087d4bde87d72dcfe7a1e0f6affdd1e9da4664ca80d98d0ea2dddede7937ed21400753a682427b886a1728faa176c56ad8755b3c9246f3d1afa31b5d9aa93ea86753f7759ed12af50aad53573a2e0c601df06ed8837122403e39d83400000a5b5b5fc160916b1b0b98bc5b3b88888677c833ff0028c0e822c360e61a8710f18000260013711d200660216b00dfbe3e1000be6867a5f5f5c00362f1b8e401ebe70049ae0370ff002f0180018802c170c43fb5e00a4475b0d8b6cfd700579d8073d0200a7bd88035cf300e410006e1a677e21004dcd602e81a8f28029111cf3b16e184003c600af3b8e7ac01485efe001711e00230040df4b65f9200a8473b0f9a195ad0052531ae5b8f1b580384015f7adae7c7fc60080b8df9064023004001ae016cb94001111b88ff00c3708005318475b984b9fae0091d35cb48023bc25b8f11b800f1803c5d5faaae23c133fcd005c32f30200f9976c9f7619afe232dfcc5200c8537a17d500748936858037097f0803328c01701002004008010041a00b073a0c01aeccf41803469f7be80397549a9a00ee1d1d3ee5cd7fa4269fdf96803a6400803e6dac3a599e8bda3ed6dad4b2d59e52db3f468decf4e4ed8cbcd575ea8545b080a66500aa61544b840a0036bea315b1aafca8c7d25c5ff00a6ab26db65d3bbd1ba9feb7498e9df4df5929553abcb3665572f32996d0cbb3e9dd3cfd564d1fcb9d99a75c29c30acb22a89d21298a1bc00f3ae60100bda8daaa85a557b1dce970d7ce88ad6e15719d177aaab27e59ead19ea8ba6ad0525795e83ca66b41966cf1f8c9e6f3c49a20a34753750ed93692d6165f7ab2eb8bb2d830001402e712dc2ea53aaec6753bb4af69cb50bba67e24ead6e52de8944cbf2e7c0b773d36a916b2e76d1e51d5936aed9d4d2ea494d9c09191e68699cd9b0bd65857239332dd1da9055de6fac0019d86d7b534de8bb8cdefd98d7dde3a113137b088eb7b04b9b658ec0fa544ca780d1855eca629ce6a8aeab691485b036411330694d0a8b95bbe022821bc2224c0225c573f1b6715b5ae9b3a2cf7d564eb7c62a87e6851353af72b454fea52be264243d35e91a95b5184a3a8faceac9bd63241a9c244c926493896c901e1d875d7aa3a728a0175d3314a421cc6358728d1d9b55ddfc32f45794aeb01bd99e786b87973660e5bd2ea7f504aeac5469e98d13e49ed4e5d4026f9649bcdcb32df3f41b289ee8ab37144e6058318f78130314c51506e50a50a7d14ffde3cba55afe5cf7acb522d9dd569eea99eab4ea6d720e98f424d6be67224e4353a1239bd42fa91a7eb955143b22633d9681c5c33470ac67201ee4a011532404389440062b43bf4aa97dea5d74f1a56bc393c4b5a2b8dadce1f06f4fe4a3629d3268ada5d532493cb697ad24a8d4b267b39a766f3968820d66094b5c11b3d2a1bb5d53fb99d52f784a0537bd118d29a1d4aa7ecaa5f4ab27f3cf216bf5755d7bdd3d69f9f86677f8a010020040080100200400803112af33da3f38c0184a9bf9472efc59c7e7a30065d862c3985f87aa00bad43bdc331ce0061d721128ebfe7007e51749745657a45d7892499d55559d9ca9a4401318c61212c052866231fab7d0cffea767f84fc77e9e53dbad12f68ea3b15e82b5b5460de695928ad2f2752c7230c3799b827fb83dd4407f0fbdf831e5fd23fea6b2b1d9b1dbab7fdd5fcf4ef3d5fa2ffd276b6d15dbec53bbef3fe3af71f71ecef65f4350d25ecea5e4ede5a9087bb382f7dc2e60f7cbac6ef9fe3b728f87ed7db6d7b4d57ad6a9f25c91fa0f63ec163d969bb654c79be6cdabc73cb201be71ca761f33748de809b16da97599a20d828fab54b9827f2b48a08b838fc35a06122be260c27fc218e9b1ed5551c51c96fd8e8b4e0cfcbbdbef44bdb46c89e9c6a6940b8918a981a5532fc4bcb96cf2c47b6244df82a000f2bc7ab65da29b4c8f1adbb2d7667dcdfb911f72caf6daf6fb5fee71c3f487ac8f47e8cf55f33ef7ef5b4f59bd71e79e991840473d47c7e78016b5ae0370d2008cb15fc788f01d2009cc0b96bc7f6180247107010f6f280230069c7d797ae009b85ee206bfbe8029b7c6202021e3fb0c0136cc003301fcbe1004dcdcac03c3d700461f46f70e1afc50032ced8b3f9f8401160b78643ec802aef62d2e019dbf4c00ef79a3f140116b661a71e3fb0400eedad635b5f8b58020a16b5c741802a0c571cafc0039401198877b86639c00c3ae42251fdb580020036d72fd3a4000fd1978c000c786f6b8eb8bd5e10006c3afc77ce005adaf9ba85a008305f980873e61ac013e95b5d43e98027bd6d3d66f5c00b008dc751f1f9e00c5552b5468531355a40d1abf9fa0c973c9593b50516cbbb2904504955033290c6c847844d31389154c607cb353553fba0d5a499d532c366d48ecec66c9999cc2af753b2beeacdd60c0a28d524ee38f088e11c2610f5e71d4958d38cc9c8eab6ab0883be6c2763f24d976c9e41444a563b94a4c89bad3f50b84ee9d2c6155c2e62e76c6730db5b058230b5b4bf549d16567729837fef07010b65f1466684602fb47c72f5c01370bdc40d7f7dea8029b7c79dc3c7f618026da00660397afc20091137fba0300460f46f72f0d7e28019676035c7e7e1004610f67cd00559e2d2e1adbf4c00ef69f92008b710f6f1fd82007770dac6e7af2d600005ad71d07580018ae395c34b7280198877b8670030db4b89475ff0038006c23cedf4e9000a19fb2c1e300031e1d2e3c0deaf0800361f3af978c00b006be6dee1ca0081f680807e50d6009b79da5f87d3ca009ef5b4f59b9de008b008dc78f8fcf002d900080dc322c011962bf8f11e1004e605cb5e3e1f1c01e4f710345b2c21bb307c41007bb2f30200f9976c9f7619afe232dfcc5200c8537a17d500748936858037097f0803328c01701002004008010041a00b073a0c01aeccf41803469f7be80397549a9a00ee1d1d3ee5cd7fa4269fdf96803a6400803e5dda67465afea4ad6b99b20952c2dab3794d385ccb4cdf22b14949bb0772ec244d9285209ce5005bbc6b879a25d6161f555dfa73bf7faddb9dd045b2f48a1fb173a3aaf77c989aa3a2ded82728cc4c0ad272a98bdad91da0369c309b4c0ae58ced06a4645337de4bd44f75b9208091421bce1cf4b2cf62efbaeafdcdb6bc4978def7952bf4c4471c0b99df464da84de92af69e9830a19565b43a83ca89aae49c4d9272d26a52b6045760aa6cca296e8ecd3396f8b3bdee51b44cb8a2307436e97aa6dbaa7c5f41ab9c6f286b7a8835a997430dab4c183c55dcca48a55cf6a363552bb442cedf273d0994b5b8b268243125a0d4a9a6d4c28826085b08e7deb0c155111845efdfeb77ff821d29cce397edcbace32521d0b76ae9486492e613797cb1cc86a19c546daa06b51cd0b3555c4f8a624c9259d1a5e61311629ec236de723def115d34d7753585343a12f75b92d4d4d5ef7aa55754a0f7a7ba1c6d6e9c6f478d2b3291d3134a3646a534da7b2f9cbdeb6fa4ca3933cea6f8abcb1540e522ea18e43153298a23ac5dda375dee09468eee0ba91184716fbf3e9cccb13a2ced708faa65133524463545632faf1dc9fb5a602d5bcf583845c9976d7978aa52b83b726f4863885bccc114a5c5cf71b6badec396d3645a2beaa5ed287d231e781e123e897b5295d6ece7c8f928acbe573f7f55c928e5a753334965f3d990181c3e6e883005afee8a091332a29904e6129432b450aed2a95f76974ae14bd1135ed36f7b4df16b5f9ccd9762fd1a6b9a32a3d9dacba74d0cb367d249ad3f2f511993d5dd1994d964dcac6390ec9121d4055028146e500288e42368d7d2bdaf7a9a69e9465fd8b477dcbf69d5d6accfa6e330200400801002004008010062255e67b47e7180307540ff1865fe2d9c7e7a30065d898b843f611802f42d88434bdad9e50007fdecf412f2bc01a3c83633b3c9356b3aab909526b5493b74772ea6aeacaaa9898003036c59245eefbd0bf318edb5fa46dad2ca9b26f629592f8ef382cbe8db0b3b5aad953b753cdfc371bb09bcd0be423ac711de48182fa65ada0092f1b5f15c60081b0e86bdfe2ca00b67f2f60f582cc9f366ef593a20a6e99b94c8a22a90d9095448f72980790c0352691b2ad876ccf66eacfcb46cb3b199d44ed3983c95a4a08b54d7227bafb1d335f765307bd01b5f4b4695dabaf333b3b2a6898d4e818b310f605b846668496d6cb8077af00522170c844dc6fce000e595f2f67cd00310098d7cc74b401226b9479f110fd16802ab86b8b080fbed73802812dfc6d96978000238833cf868300410c510bea3afaa00ab1058a39e5c600ab8077b080f9be3e10051873be79df3b7e98018ed71e2003004018b872e5988f8f0802a112df3bdad6ff003802447f0ac3adb984014e1101bfb6fa401026b107d81fb0c015620f6711e23680242d88785ed6e500047f0b3e25e5005386d7f8ada401026f342f908eb0054060be996b860092db3b5f15c7f60800361cb162be5f140146801f3641f92000983105f816e01ce00ab16621f15b840125b61caff857802910c5a089b8df5bc001cbf60f9a00620c66be76cad002f728fe510fd1005770d6f84389b5ce00a04b7f1b65a5e005fbc1cfd8300410c0217d44478f0802ac40201ae437b8401397a58407cdf1f08029c371be79df3f578c00c56c43c804600018b872f8c7c6009b96e17bdb4ff380247c4de36e61005384406fedbe900409ac41e5907ec3004dc034f68f11802a0c38b885f4e500047f0b3e25e578029c386ff172bc01026f342fe71b50802a0317965a8160090e3ae2bfed6d600580720362be5f14014e6001fe01f92008138620011d0b70802a0305c432f0b708024b6c3c72f3af004085f41c5c7d70040e5c7e6f9a005c05435f3b656803c9d9aecd7e780d9ffc3007bb2f30200f9976c9f7619afe232dfcc5200c8537a17d500748936858037097f0803328c01701002004008010041a00b073a0c01aeccf41803469f7be80397549a9a00ee1d1d3ee5cd7fa4269fdf96803a64008010020040080100200400801002004008010020040080100200c44abccf68fce300612a5fe51cbff001671ff003118032ccb2205bce0d32be7005e6423c2e1cb4cff004c0149c070f001b401505aff003fabe78019e7905cd00471cbd5a7080016e1eaf0cb80400307782d967fb67004dfe6e5c60070b5839da008f8adefae1cbc6009c8730d046e37f18029cf1ea01ae50055c0400007965f1e9003869a5fe680231007fba19e61c600900f8b4cf9c01497211e59650055a85adebf57080204788f2d433e3004e5a0f1ee8582c36f0801c06f61be9f440105d3bc20398c0123ead03f2c001b5f30b5c6008bf3d7ced3973080244b970bdf5f9860082f9a1c47840157bebd83904014e9a6421e17ce009cafe3e1a5c600a4e1ddbe40201005595f9f3f5400cf3cb337b200801e59681a7080242c3a7abc32e01004183bc16cb3fdb38027f6f6c00e16b073108023e2b0f9d70e5e30048679868398dfc600a7dff00d600abd401e197c7003d9a7d100462b67961d730e3004dbe2cc33e700525c8473cb2ca00a874b5aff00470802044351e5aebc600780ff00ba160b0fb2009b65c0797d100525e37101cc4200a873b65a6a3e30032be616b8c0117e7aeba72e610048946d6cafcfe68020be6873e1004f1bd82dc2008fc821e178027211f10e5a5c7f4c0149c3bbc004035802acaf9e7cfd5eb8019e7979dec802007965a70e1004e43a7abc32e500418330b6598401500fed6e30045b2b5839884011f1586f8ae1fa60090b0e61a0e6300536b1f806b9401570100f665f1c00e1a69f4401e0f3fd0d6d2dbb3085c388840170cbcc0803e65db27dd866bf88cb7f314803214de85f5401d224da1600dc25fc200cca3005c04008010020040106802c1ce83006bb33d0600d1a7defa00e5d526a6803b87474fb9735fe909a7f7e5a00e9900200b5526d2a4c5d828f5a105810147c065481d5c860c40656e3dc0100bdc6020b94d44ce994e4314e4380188728dc04074101802600401e4f1e3468d1674e9649b366c999670e15301134d3206239ce6358000002e22310da4a592936e166632515952135708212c9e4a262bba97a3366c835768aca2b2f7022545e10a43088a2a08081540ee8f018b4781593311048801002004008010020040080100200c44abccf68fce300612a7bf9452fb7c19c7fcc4600cbb1c5bab85844200bc2f9b7cff47ae008b5edc4350f5f28016d2c5f587e8802071d804072e3ce001b22dc33cf31f00802b11b05f4f5e5f14014e0e618ac197aa000e43a5c038c010206bebdd18006110c3a58600a8da584443d7ac01187bd98677b0f84000bdf4b679080401163008dc42c1a7d10048dc0f878681680273c401a0f00180200b6e1e38bc79400001d2d6be9f44010006bd8c21cbd700496e2610cfd9ca0091b8df4b8079b004610028e5fa6f002c610f4475bfe98005b8eb6beb6d200278adc6e1002d701cf2d0de10004a201916c3cbf4c001035ae5cadc20077ac22161108024be6df3e5fe300461bdb8808dfdbca005b4b17d61fa2008103d8043da1000d7c370b0e798f1b04015e817d2f9dc7f44014e0f0c560eef8c0010cf4b8071802040d7d721800370c3a587c600a87908885f9eb003077b30cf8f8401017be96e4300458e0220239069f440123703e1f605a0091d6da0f0080200be1e37f1e5004000e986d7d3e8800007bd8c2039dbd700496e2710f9b380273111e601e6c0118400072fd37801635ada0fed9c002df8dafada001315b8dc3580021701cfc07c200080db22d8797e980038ad72d82dc20067611c84420092f9b7cf97f8c0116b873011bfb79400b0e562fac3f44010207b0087a842000dc0b7c873b5e00aafddbe97cf3802049a658ac1978c001d720b804010206bebdd1fdaf000c2218472b0f8c0151b20b0888788eb003077b30cfc3878c0119df4cb80da008b1c07310b069f40c01e2f6e0dd50e1bb35be21802e197981007ccbb64fbb0cd7f1196fe629006429bd0bea803a449b42c01b84bf8401994600b80801002004008020d005839d0600d7667a0c01a34fbdf401cbaa4d4d00770e8e9f72e6bfd2134fefcb401d3200401f0cedee769d3d5cf49c944ce533eebbb50a1e4ece82ea92b76f093a789cb5d4b8ed1b28d9350a2a95770401218404007179b9c722b1aaba6d2959bb4a6395da14f294e4eba6d5516b655bf569a1cf08aaa71ce1a834dda8d7db6a92555525374fd6d5b4b6a9a3251b3e2ecff67b289795d3099cd1d3504df377ea8355877220536320aa9805b1e768f42f2aaddeabd3470b9143a9cf56e74dd89e6d2aed9d34bc3eaa78de9a92c3a2e7d0cd25b64db0a1d20594b67d51d7d2aa8a61b5e4244b521d9e6252c5a43ab2a762741d9daeecca390263c445f198407114002f195863552b85a5e9de955763a43ddabd0d7b4cd379e9f571d5d37a7ab6bb92d4f73561b69966c41c55151d49b549a4d6b3af1f530cd9b4c32b6b4ecb5a4ddfa4d9d2a76b2d78f4123952281d4290c735d32170805cd599a2ce9fbd55332f7aa5e1cde696ad62e0dadb66d2d5aca9709709a71cfa37a52dc29c4d0cfb60dbdd41b33d9fcbab79eed2e52d5cd1758a333792191383cc66f56cbdf2cca5f2b98a20c553014cc2ca58c9a60a1b33080e91db12ad557561558a6968db51578cceed342f651675518e56b0dea960e9f9d7279333ead43b67a736623e4e369d4a9f4a3a3851cb4a1d37946276de6e67e64954caa0a0654c72a417140444035c21ac696d535615b59fa5b15d1e0f0d79e872764f5d52f2b96afaa98fe8c9d71557493a413da653aa563b449dc82575cd109ceab724b48b4de5d4ecea5bd66a0732b2b36b870a4e3090a54523ee4a3a09ae619aeedda345e92b5d124e9971bde7ae5c0d92772f7de7669f2779a787253e3a1defa1557750d5345572e2673ba867e84aabd9dca646fa7edc1acc825ad01006e9b844126e2530621b819329b3ef000e514a1b7426e271ff0073f867c4ad785a34b2d9ff006a6ffae07d0d12040080100200400801002004018895799ed1f9c600c254dfca4977e2ee3f3d28032acc070072b4017a6b8085f40f566300503a98731ef0657d200c2ccebda0a5d362cae615353cc268a897772d75306c8b91153ccb227394f71e1967058e40ce007786fc033bebeb803c9d396cd92159cae83640a25032cb18a9903108149713583330d803c6009176dcaf41b9964c1c99315536a272ef45328e132804be2c2063005fc600acba94731cc73e1005436d2feafd3005065114d251554e44924c3128a18400a4293313184740b679e90052d574974925d05535d158a0aa2b2460390e4305c0c530642060cc04201393d2e3def487d436803c18bc64ed02aed1c22ed05004a4728a855533090c25358c51101b1804079401ee6b697f587e880050eef0b8dc438fc7005207294c5013140c7c9325c004dc6c5bf20e50048fdaed8adcc60090f38dc33be7ea802905133900e99caa1442e5310404a3e37802ac3dde19067c84200a4e704d231ce7290a1e71cc20500f11135a00aaf7120008e43c38c00279bcadf4c010361d0433f883f61802849cb65f782dd7456dd2a6456dd980f8154f231070dfbc51d438401e99e00f478c0106cc788f77cd803c9dbf973448aabb74d9a266ee81dc2a54ca2252194305cc217ee90c6f5008e803005482c82e9a4b22aa6ba2a94144972180c450860b944a60c8404a37010804e4a9531085c6639134c3df1c708067c44600f36ef5a38030b7708b82a0a1d054c91c8702ac98e13a66c37c2628e462ea1007a1b3c4398e61972803d06dcfced200f068e9a3948abb65d172818070ac91ca729ac384c25316e19182d9401e8251bfedec802ab881f3f605c200a432c2399b31cf8401e6bbb648aadd159ca28acece29b44ce7294eb1ca4150c548a23de1c0513080700803c159bc9d07656abbf6283954532a2d545932ac6de09813c2988e21c780d6f50f2806e3e7e77aef2f000f8b380171ef5f211f565004178067996d886009361d3f27e8802dcf3097a6edbb451db54debb050ed1a194202cb152b6f0489df11b05c310869001ccc18b3dc8bb74d9af58548ddb6f942a5bd594fb5a2989ed739b800663007b8f9825bd8788c0121e718330cef9c016a69a4ab78e49d799ef19ffa5a5be4c0c89b760a86f4046e51ddf7f3f7b9e9007ba0aa0b364d54144974954ca74d54c40c9a84305ca62982e02021ca00a5b3941c22751b2e9382633a62a24729ca074cc2450b70e25300808701803d75c20023af0e30009e6f2b5e00835b80867f105e00a1272d97de7575d15b72a9915b76603eed5279c4361d0c1c438401e99e00e5c60083663c7cdf3600ab2c37f0b7f9c014dbbc1980e7a8fcd000c1cb4802a35c30df40f56b00526cc4c398e61972802a1c3c46d78029000bfa833e63004881aff37e880244440f9fb3380292e584731ef0e7c200a86c195f3e1fe100414033d2da073800006c7002fe75f51f10ca0082700e64f386009361d2fecf080050cbf0846e1c7d830078b901ea8bff00e11be6802e197981007ccbb64fbb0cd7f1196fe629006429bd0bea803a449b42c01b84bf8401994600b80801002004008020d005839d0600d7667a0c01a34fbdf401cbaa4d4d00770e8e9f72e6bfd2134fefcb401d3200401a14db609b1a99cd1e4c66147c8ddbe982a65deba510013aca1fce39c7888c018669d153a3a3578f5d37d9fd3892f3104c1e9810c9404804a4b96f87201e0100598f43ee8ce69b84c95d9fc8dc3825c50497df2cd9130eaa20d1450cdd23e5e790806f182c03c4cc0746bd8281f1850b4e81ed871f560bdb95e009fe0dbb06b88f90d4f5c400047ab86601a40101d1b360b7bf90b4edf109efd583ce1d4deb802d661d163a3dbd662d95a1a4a9a7ef4ed8146aa933bdd359b9d35083e25304201b1ecdb639b2fd9fb170d28ca6e594f22f44a77c2d0820a3a5097b28e153099454fde1b9ce2261e23006e3002004008010020040080100200c44abccf68fce300612a6fe51cbff001671f9e8c01979780e1d4390dff4401740196761fd3004e0e360b696ff000803e04e9232207db48dbacb8eeccc9ed44ca4c948654343b89f2d3a57b15248a9339a26908202654375729bdcc7bf701853928c5fa498cbd8d7a7434aa2696f05e8e273fbd69a75eb81b939da16d493e90d244d41aca5404a825d2b9853ab1e66ea5e9cbdcc80a218106ed025c0d7b494020ba5d63ae2a5fbc990b862d5573557771fb5cf5a95eb9ba2613a6ee69e3ac73c2a68a6657d9e5baf2bfc5c26e6728c0c02731ac27bb1f9b376f34da95435c2b249438ace475430743236753a750b11dd97122551014ce554374c805216c5de0f7b018f76946c657a886f3e3f075694bc16a6ebd6aaf6776d305baeb8df9fddd5e259bb984ec2b095b9da5cef6b323a9a5b25abe5d51ce69c6f31c079c75e60e19252e55920a1018a8801546690774e3dc5b11c0e0383ab65bb3ceea89cef2754ce8f1cb4baf02754aacbd263baeddc38c466f3bc66a96abf6eaa4f64de554c7692cf6aa69dd389b4a4d066a929b5e9c5993634cdc3b4d24ccc03317465d41577a92c5290960c2536d6975377715b57b82c62ef4bb775754a78197dc5c95ddedcfdef8cc42c732dd65fa414936492a9b4a6a1da44d67b53ecec936a93b4fac3c518bd6f379591caad1bee0c66cb965eedd7b9a49e330131810ea96e35ab28d26ce5f3555fcb4ca7d92d64dbc73ab6e16987ab8796f3a2ecab6813f69b2baa99ce26b3c9c926aea7c850733598ce1c815b3493f5b508b4c668815751222a554135dc800187dc8a27c217a5b4fa2e376a7d13853c7c5a87bcbd851f589e74cd0babf8618ee669fb1cabb68ffbf0d1483a9ad59386334692e29a56915fb266c25ca53a929bc5da19ba92a72d3ac944c5748ac938054d8040c50b46894d757e6feb9697633d4c2ac295d30eb8e5d66728c349bfdbb56f564af6a550759a8abf92bc653ea29bd00c6520e0921732a983c6894d4cf4c8a666e631945162282e0e07206ef776c5decec5e2b7df86bddc2239e3318ce1917b7c286d7b0f9dec7fa8d3a95d20fb6e083ea569e4bca44e5fb4074a0ab30dc9d0253e14f4f9e39990184a42f570994bb749134c47ef06b7859395c525563aec45dfd7730f65d65fb45293ab8b74e1a4bc2ae94dfc71c55068746d5bd21de48eab3beaaeb0974ec69d7ea55c892553b98a9289aa73444a999b20a228a0decdf7c404e5e63e24bdd8b7310a6323eaf1786c63c5fadef25ed7b1840b4f5de8f6b05947dd6964f4897b530cecdb32a8abe987464ae9549fd5ace72c4f396f4f4fd42bb9f39314a814c93a9503f419bf76826a18c0995728ab7288633d8a22b6c284ff00cc5ed6386b9c63994b3f5dacfca638f1d329c260e2857f573d964827eea65b475c6979ecf9ac8272cde4f1f3176eded35bc6809f5d688cc3742f09ba10758c08a18c982a241008434e56b4d6b7c63447c62717779164d3a6ebf6a86f4d2d13ebeacc60af6989ba4f2abda4ecf2955d2994fb695513ca87648bba92bd3b5773076ad64b18e7548891a20256ca240a27808205c240e220618d6d3ed2aa1695531caf5579cf9f088c0cec938a6a7accf38a63e31c67532d4f4d2a99a6d31fcaaa09fed65b55ae676ee5ada412d49c164034b9a5376ee9450e42b42104c6c42e8871720e2c40cae58a554cd152cdc573a439776ef4bb7633973c2f4d575d0dfb91c7299eb7a672d349e774857f56d17b1c7b2062ef696a3c7744d38ca8a417633576ed29da1307cda78521c5bfb9757f73c78ec1ba0012e22c6b6357a4ae998f5acff4c529cf0994ccaeba67ff00c9faaf38ef4d35dfbcdb76804db24b64233c56acae0655506d1ea0615181d59837464b2097bc9a252745b764a077add05952218dc260263009004e09473e942df44bfc50a170c270d6a58e2cd299db79e292fc3abe2e75d299836aabe5b59549d0707ca798552ee720c9abd7afe58dde4be6ce1ab3999552abd5b075ac42d130318a29e33db161011c31a5aecda50de9559b7df4deeecf83e4285b36896334da25fa6abaa78e5c57330b44d4b5bb8dae4a52467bb4d755129593e6f3090bc6ee869cf210a8282c1e899644ad83121d5d42afbceb06706310f7ef14b365c73877fddab1854f5888ce96dbc725ae587bb778ac2f4f4bd339348c87484a976f94fed35e9696f292612349a32af8c93544cb207694e94e84da9d4c43fd63f151054a9fbeb1ed14b2ae9537e7671c3555c531f95cd5d0b554cc25f7944fb2e9da98f796c63bf81a06d067fd23e5ef29b497a82ab964c1ed2ec2752102379ab92ab514c668bb97b2f59bcb105517266a8aaddb03776a15304bbc5f7c62dacecdab4bb83874ae0d25b7572755e739d2a08aaa55d17b2a6abcf754bd85dd1846355e467e8c753a976d9e62da4332da227533bdaccd0d36a6146cecb4d9e9872631debdb2a911a60b7ba11729c55dff00702e511088b18c376dcfef74feebbce5f49ed1abd62ce239517bc2f4ce51bf3bfdb8d79b4097f48a648b17d5b33652b9b526046687691e5aea54f1c609aaa83360d4ed972001f0aea3c54c29d8013293ce18b0aa6a8f7a1fe9c33c12979ac67329da145937add95cd3f385965068139da6d74590d4b36a66b0da63caa58bada296ac68e08e0d2396c925a59903172c8cb2456c43a0b24d8ad8e898c750d88a7c400386943fab5395ceb7a5477e386e3a217a78ff00cca617bb1b5d37b78a7919472fea29abe4069998ed22aea5180359826fea868f1572d6a435393e2b949bf5b448ae112191dea787749aa629096c4248bdb2855f3aaef2b8e7c622759463d95deb93aaa6f7fead9c70ca72d14be3b2ecd6a7abfcb396a53e9aed61bd5ade612d464f4a4b98a83215a9b091a2a8aae51553231021d6deef56c7d608b00265b07706f53855b58b8ae7a4ddbbd2eddf69b7386558f553c3d58f8fc67725871e5ed6735f559b3faea59379a6d39c31714a482a07096f276bcc1099329c14f364b7ca326a91174d1310556ac530480000085309710c274e0f456966d7e19c5e38b4b3c727b88aa66aa757676c9fe28d85b94e2b8accdc6a1a92b36ef26e49b4ef6a320a66f5538a19fd30d1ef59994f4933109726f3ab20751613b5dd9912380dd2d7389f1086549aa1c7da7dd5f75ed573e377f2e28de28953ea38bcf58b947ffd719c381b253bfbfa19f2554ce6715d213e436812a90b9a712de0c9cb29752569d7c4b2e028a0a141d2ca1c15b8810e1629c0b701d70da8dd69e17aec726946fc9e67350dbf5b4b9c33bb7be33b8d8ba1d5495cbc9b540c67d32aa2a02b6612c5d79f4c86644686981ceb11ca40ce6cdd25993ab140cb3745655b9430eef0e6035a52bb3c547769ac6f9d5966f6bbfa62a274df119a58e8722d9c30da29e9f95d3fb3ea8b6992fab30d56a54d2798a0e90924b01a3a70f2520975b4d2451059d1524482808ef51514152f6eee745576955694d14bfcc9d1b3d69bf8705cce8b649da54a61bb46bf2b5563d1dd739ce4770a4abdade7bd19b689b4f59dcd258bd51299dcfe91972c6b292560d25a649802201dd031ce80b9bf338728bf69572ce16713c71c52e94c61ed494ecb15db29ca69a7861854fad538eaa19c8e48febea96674bc9e8daef6c6ad253f529c255d524c53749cc19cc9641ea8fdbb55de205323bd4132efc084dca27dd8a784c368dae27555eca7871575cadf9dce3eb2c0e7bcee52fef463df4c3dd95ee8937c73cd9c6d2e65b435e9f46a9daab0ad5e54d504a26ac0e9b8190cba9306ae492b99a2a1d20680240ea8aa6e08aefd55c4e43e20c452e14cd547174b754fddaf34970bd09259d9b6de27457143e0aec7bd4e179be3179b6f2a922c55aafa4acea9942ab2cbaa2615202d3293c8e9e51981c117d23a4e649b87e54d420943adcdc477263580e044c2e206b0abaa97b54ca55cd5c69a5ba55d8f692bce3793674ac9c3b97570a9dec5f2c94ee935e6efa6a7ae5c4de8b986d3aa36412ba69319d54cc5f28e88ec129daeed045776dc8b0605372750a1924a1b093080e188b577557777e1c52a2d239e2f3cde5b8ad14cba6f6775cf06ed2c67ac2cb724d6a675671b63a7a979463a9b69ef25d52d2146ce2ba98ac670ee652f51ccd134a78795fb909db2bd5543634502e229431908070bc6d52a661fab7ffe35e1f85d4a99dc9b8c0cecdb74a7f7aebff8e994a4ea8dfacb36fa0ab3aa1d746ddbcbea7e7758cf1d53cfea96d41cc26a0e579d269b59422b312260b93ac984153dd2c65c6601011b98639ed1d571379fff00dc69c0b51f68f761fed9f33e7fa8cbd28e4528a9e6ecebddb4cc9e5374fecf2a4943358a659177369e3945bcf1aaadc8d312a8a4962116c51b263de305f38ecb254aed3550f1a69b65473a1d32df7eba68635b7559d0d617ac9d4f7aaaf611bb0d35d4e812facfa401ba4b03524cf69aa547fbe5bc60fe90712f3968c4f672444e283f4d5dc836de0fb9882a0b6f44e2251273e5b05b1bddcaef4e95e3712e1eaf3d59b5ae0f1f76ec6a9c5e9fdd3bb0395d16ff006ecfeb590d44dd7dad4ff6af28a2768ddb2cea695aa496c9aa65104cac9a4a31b72b602abba2e14c8a193361268263045e9d9b3b5b9ad9d9e3acfa4a5da71c3185e62ac6d68be9616957e18bb55ce8f5725f6ce5d6dcaa46744293f9956156ca996d37678fc493797cd8ebcb66400e4d3612b998b2646144a22027294bba43ba503f7b3e8b2baad30cbeb6ebe0ecaa8e2f18898c5c185a4ba773d995c7d253d1619c4ef3acf441abb6d6e76ed5049eaa99d795230197ccdc3c994d107cc98b3724996141bb8973f68545aaf8044a983174a2674c31982fa73d834ec71cf671f3e33bd442d1efdedbd7c37bf9dd1b9e7bcc86d6ab4e9274aed22a119137aa27f25a45f1e768b34d132a94e195569272d97cbd03fbeecb7a0bac60f7a5120e8115b3a6f5313156342dd354d54d6ff0609f06cb5552a6a96b0c2be3146155096faf35cb8985da951d53b7a990edf98d6d330a75f964e94cd911e6ea66e9cd069a20abc2b548dbe2b97c5326639bba02614c44006d14b789a9d0b06ad129c74a23ae7ce0b53ead37b39b36e39dacf761c91d47a3053d56d3335a7644bcceaf7f247bb32a7266bb69ea8aac8b29ba66eaeaa2df7842837f71c20640b600c2038406e23d75c457f8b0df8a73cce5b2f568e4fe11f138ccce6dd2329e955609b44ea197b276e2a75b676591367229a601562eacf979aa4091d53bd34bd432cc44a53137607148a65ad1c765ea529bf667f04e31b9cc5e79c3c30551db69f68eea4f3eb57a3513a5df657b4b6b433ad2bcdb653bb39f2c257369ed552d6553bca724d2e582603d6d19fb441acb140713a222ede0349d18a0558e5be03a84013148031add6eed3ad69d3cb19a6a71960aac7557598d2e9a66a7ead376a7ace11553a7071a394759ae187485a6286eb08cd194f58d0cda533305190bc56a29ff0066ee0d3741e104372a03a481ce1293bd8b776ce26bb4a6f5e8c2f64bd9734f7a955734528a2a74dd9c5ad7dacfbb4e470dda7d77b709735933b59fed0994e5dca5ad58d99b7ed3dc10d329e2ae5696a6ca5cd1505d5632c04d159376aee8850b952318e2609a229b4543c6e3a154f47edb5a5d9bd8fad096584ad1aaa875532954abbbbe63613d53c9c652dc9b1bbae2aea1eaada0bb512ab1b49a749ed04d4fa12e973d720eaa117ad4f2f3249b748e20b1d1136e8e6b0085f3c86315375ad74fd75cfc3ccdeac6d297f7709fd1447c7ae1996f4b557b7a536d74fb6994f2a36cebb469e49293acde6eab4794ead256e77eb1d14d00975cce457155cacaef9250a05b006129ba553f59565eb5a7449bbbe1762336e396154dca74d9a638bfbd3e3ba143e7f6a600d4a16b70d2312c4780142fadbd5000a01ec0fd3004800e21cc07d7cbc200800f50fe980270720cad6b69f92008b80f00cbff00d280050fd5ff00380000380730cf88eb78026c1c4007c2d002d6ced701cff608029b5f8072b87840155b21f1cc0600587080656fcb0000032c807d9a401021842d9780c00caf8ad6e210004b62db301e300793ebf545b4c93369ea803dd97981007ccbb64fbb0cd7f1196fe629006429bd0bea803a449b42c01b84bf8401994600b80801002004008020d005839d0600d7667a0c01a34fbdf401cbaa4d4d00770e8e9f72e6bfd2134fefcb401d3200400801002004008010020040080100200400801002004008010062255e67b47e7180307547f28a5fc7ec671f9e8c0197626ee16dcec01005e808621c83bdc7c420081c1e38b8ff0084013df2640610e4171d3f240118ce160b9edef83e98024aa2a6305b108dae019e500495435b0dc438840118807ba026b08e603005373731bdf3cc473802c2a192ca279247f279bb524c255346c768fd92d714d74550c2a267b08088080880844349e64a6d645e354116ad126add22376ad9322482042e04d3488184842103200000b05a25b92a941aa4db645b329ad5cdaa898d3ac1ccf591d0508f4e07ef28d6fd555592010456510c5ee4650a6327ef0422696e9cbe7e72e44bc543370be2bd84d98711fc8310018c70cae6b07ae00a77838c446e23a14de1e100540a296d46f7b5efaf84013bccb15cd61d70eb78022f728e6384074be56e70000ea5fce37c63f9600a4a73073030ea3c6d004e31ee8f1f3bfc600a8c70b7784d63676cf2e39c00c26b62ef0175d600a719c007335c6fed18018cdbbb77ac5b5c33802ade2841b6616d4bcb9401841a36920a61e537d96d7b0df95d95dcab08f5754afd43a8e8a72dff00d69d5309bc4622342d79ccea66730c3630e8005cefec892894608831ce2510ef0df867024af1aa3610c6217cb5e7ce000286c43711b9b211f10fa200a44fe26c56c23cade10049b108dae261d40046f94018ca969e94545217d229c3617f2a9a2276b3166275080aa270b188632624385c390844349e64d35358a0ad3d225a9e3c80f2f6bd8aab134b8f2904c08dba9192dc8b704cb60026ec70d83845aa77b3d48a3622ee10649ba609a09a091702642011000bdb0142c001ec83724251822bb1c7bb652c23c6fc220928b9b98df4366230037aa077ae610b643e30062aa9a5e9da9248ea4f3e6084d258e44865dab801c389338289a8512d8c5390e50310e510314400406f005147d1f4bd2f234e512097232b608a8a2c64521318c7556363556555504ca2aa9cd998e73098c3a8c4ba9be84250667108e826cb32e79de2092310e1b008e1e59c00df1ee202261cfbb004e2504a3a8f0b8fcd00498f72809b161d2c17fc900416e3e688e439586d004018c51b5c42d97108020a735ad98088dcd005653282016b8e83006167f4852d3a99c9263379724fddd3ae8cfa46a2d8841a3a32664f7e04be113014470898070ea16182c1cacf2efcc3c5469fc64662c1e769edf8a006f0e17b0980731caf98c00054c05d4c16b5e00a855371d3897e68020d8035b88ea1ca00a7087c7a67c6008111c3f165ae5004e2d2da5ec0100480862cc033cafe30040897c7171e5ec8002500bfed940103c32110bf7a00a80c2221e21700800510cc32b8e603003dcc4d95f3d6f0045adebe3c60081366036b80065eb802ac599b9711e500496d6b5b0e1d6d0053dd379b7d3f2f280206dc20090306211b6be69bc3f4c01e4f0c3d497ff70c171e76803dd97981007ccbb64fbb0cd7f1196fe629006429bd0bea803a449b42c01b84bf8401994600b80801002004008020d005839d0600d7667a0c01a34fbdf401cbaa4d4d00770e8e9f72e6bfd2134fefcb401d3200401c1675d266789ede675b33935252b7ebc81393acf26530a89b4aceb166e4139019b35105545cc98106e051e5ce22c5fa47568a970f5fbaaa6e38264da2bb777d54cfee74e7d0dd58f489d89bca7e4f3c42ae958ca67c59a9e58f8e2a2499c9232287999cfbc294522b6044dbc15308069a885e5bc2748bdd252f369732163df1d777c7962621bf4b3e8f2a51ef2a93d64d19c8e5cfdacb1fbb7cd9e323b772f8a0a340550728a4b148b10c064d412603173035a26ebc38f9ad39f0cfbc52e663453d1e13cb89837bd373a3da4d28a78d271329b31aee7ce69b943b632d766dc4c5a61df24f505134d747089cb90a77cf15b05cc134d0eaaa9a7daa5d4b92f98e79c1575254d557b2d27d7fac78e926fd4bedbf66351d6b35a5247373cca712555d37996e59bc1669386264c8edbf680a20d0caa2654a074caa89cb7cc358ad38a95f3fc96ab0c3e779bd4008010020040080100200400801002004018895799ed1f9c600c254bfca397fe2ce3f3d18032ccbcc00e36c8406d005e6b95879628020fe6eb987cf007c8d596d46a4a676e1b505a55b429636752c9fd18467b2f72dd170bce093364c9b2a9a026117241540c3bbeae00043944ea62288c4d8e2d2df691c9354e3d33dd0993da1453397d537cdaaabf38bbbf151c75ea5b6c7b5a2529379aca6a695cb24941cbe977a690165a82e9ccbb6e68e50769aee9631964c829a7dcdd980c07cee21dd89ecbb772f6ae95df451e2a70f1922dd5caaba161179f75557f18fc0c26d436cf544d1c3178fabc93b97a137da1b773b2f4dba482b284e9e93cd926fd60e9285747012249996eb1729c552992c00017a59e49efb37575718470c56f9a67234ae897774f4942e2f1994f8e7ba30cce80df6c9b6964ab9a9529d349cca92ad2a3a3a5f41a72c4080aa72a94bd7ac8e0f13fb28ce37ccc0b6be1120db0e2efc4d756153cdddadf274d71d70cfc0cac61c53924e85d2a54ce7cf0f19d362e8dfb5eaaaa6da3849deed064f5e4bddd0f2daa1c75064d1af65cc5fbb324ab1116b71c042058a456ea97fd6088da34a924eaa56375a87ed4ce3e09e1bcade7b3a4ce1ba230f339abae969b434a775a2ad2aa95bb6e5a5ebf98c858b96d2b401a3da5d5c0cc12649aaa4c30814861545e1bdd6c631134ca19e3456aab3bcb1d9a2afd55529e5a6397acb5d4bdaabb5a5ef3a6395153f359e46db50ed5f6bb4d4f7c939d6d1256925329ad240e2bd712864dc64cda7ed268a2a9151ff00440c6e658445ba8e00d877d63ef0402fbd5429bb94555a9df769a5a5c1e2fa2de450e68bf19d29f29aa1bdf11e3c09a1f6b152c97a2bed22b4974fe5f51cc25b57d4246f556e4cacbcc884dcaccd34eac450c1b9451115c4843e0ee8dac58cde34d9298bdaeebd6957f85396124d2beb6d356b4fc3654e1e18c66e5acccc4936e4f64d55d36c261b52a6ab2a58f54cc2513bac05a356092650a78d33419b9788e060654170b819bdbbb64ce18c06ea9f08d9abadda965d26747a15c74c71a7a4cf9e11cf8a39fc8ba51ed266132a0664bd59294a473e464e276f2e6d2c5ddae69b4e5d312a8ea5eecc83b324748a96e5562636ecc0615933162d71baee2cdddf1a155d1cb9c76630de4da557697568af3fd2df7a8510b69b786861a9cdb8ed124b46765bbdb44a25cbc829f9ecfcb3b9d3062e159c4d994e1cb53c8950318326e0927bc491b39bae4b09400a03959d73654d6965459ece3355ea7173cf679e351d15597d6d54e53695a9f652ab0f0dae591bc493699d206aaa9198b6acdad2ad66f5bbca40d23092b37279737424859a1d622ae03199d155ba65de00a605f3933182f17c2fdddead3f654d2ef8c7c233396fbf477e32742fd694f74e1e32b03669d6dd3688cba20c9eba4dccbd4a8deaec259319d8a28a4d1b1179c04b1ccc8c92a706e9604ee7f743ee8a6ccddc0b42d96dd14afbd1e34ded77bc17335a3efbceedef071a6ecdf2d0d41bf494daf49a8746773073299f37566f3fa2654b35ea6f0eee7c7491569a3b956581d540e65f7ad57047dcef807ba3880175bbb4e4eb5b3ba5550dfe89aa3dc719a09462fd5a5cbfc2e9e139550bf329c8f063d21b6d8df6b8fa4efe71243124f3b774cbda75534b1b2ab26ce4fd73b5506f9cc8565552ef43ba0d852c80007bd15756cd5570adfe1badc79299dea08b8e695f83f35e89f3711bb9c61ea4da5edb1cecd25e69c6d3d263e52d1b49576a4f1a4ad8b3ec8eb13a64dde2098f9a66c649d018c654444300f7b0184a1d0a9a6fae16b4755536a1f2895dce4c6fbaacaa6b376769df4d32a359ff002a0de3677d2367486d6678cab8ae240a5369253e55070dfb2c656ddac9de268a6bace513a4f98a8092850588f12326a1cd74140285870b1dba78c2ef75442eae127b528dab5b50b7c71c297562b82a66f2d98e86d9d2c36b355d208d052e94d5127a065f59cf55974eb689376a93e69276e8b351d23dc7062370339508099455361f6c57fef2eb70a2a7cda8d9f37d3027ee3a929c5773d7e779f3b56fd3236b8cd895cb5da4d0ec3b128a6d5348ce6a7dca69ed1df2af9c36eab2f4660649744a208265b20026139f196e9da2dbdc6b42bbac5493756fc3249ac2368ae91a6ded69b2f0a77716d742f55ac6a536dd05733899a67536e92503c9faca9dd2a9b3f51d19861b8061dffbdb5b1662178de88a299a769aa7b5471bb11f3dc6753bd9e13e83a4cc9a651bd3bfa49b9a06aca95cbba426872d3413534b4106a656947679ba52f3197672f5d7762d9141431cc0ec0aae30d3080c6575614ce6e8dadd7bd69d30d319de68dcd4eed2e55fd9d7672cf19df92dc6e338dae576fab0d94adfc2169ca82412fda4ad207b56ca2480c183e32f243b94db3e577a0c573e31dc97ab98c40150a26f7520046747da532b3568a3f0c4719739e5ecce22b73655c68ecdf7ccf4513bfda8c0d5a57d2a368b26d94d18dd8d634a6cc99a54454b58357933978cc539fcdd84fddb64e42d8ef16c84c52818dbb30ad737702d1adbca7be28b185ed5ea13796ec175c48b3da89c13aeb4ead29bb561e18f4e46f53ce931d22979bcf27a8ce24d4c4a2902ecbdc4de8771282aebaea56c923da2c9578a988b23b83aa383bb8ef90db8ded2cae5a249cd2edaab3e8927387333f493454d69677fc5ff0006c7d16fa4aed3aacdbc4e290aaaa193cdd25d9cddecb99c99b3255922497cc0102095ca0a95f373108604d44a60dc0c6385c836d71eced57652fd68a5f7f839d326b535b6d9ae1652d776fddcf266436b1d28b69741ed2276c1e26de6123a3a6079c549ba643bf35353b411674f150310a3750268758a710cf0a617f3a1452eba5c3dac698df6954bb2e4a365f392d55d5543c16154e8a8a70b5e32b35d4d6ebba9b68cdab36c8ceeb5469a78c5fb161551da2482084da60e28633a32073ac6b278dc018889496d404004e00314b7857d2c545a474a68c70d4b52b669aa21b766df5aed1772c39ea74ae8af516d1125290a66a1a9c954319b6cba43534bce7689365d8a82246aa2255531132e99c862984ca898f88047158d60eaad2dbdeaa5e33fc6072d93d9a78a7e11fce261b661d21eaa9ef4886d4eb8a99a3d91ced6ab9ab694a88cb1a2882b4fbb2a2dc8d9ba4aab3201c053e33ba10ded84c9a499402f858355d13ee2abc52eec727b4a31d51adbec5497bf763f2b7e6b3586265368958ed216ab76922ace65a6a368f9fd192796d300c880bace66ce24ee165d77b880fee7d6477442805cc3de110002c4d3825566dd50ba3f3d3fb21abd2b4b8df855e0a13396561b6cacaa3d8855cf1ced3a4abcde7b4cce5eb9a119b0eaef69870c26a8344ece9b082c982227ddac5786c6a9f3484a0062c153b34eb8d93bda6d3587c12cf0725ed707568b6d472a5ff99cb1e47d1db32ac2a86150ed364959d4cde76da875a5ef42a151ab7971d362f65dd7562384dbd92c28890f84d6be1c8c22218866d1d34d95f7a3aa79287df891674baaa54ad52ef6daf81f24bfda6ed119533b43a96a49655f4e4b76df45d4cf64b319abf6dd48b3164d1c3da7d09595b3a55669bc935f181c899854200f9d1474b567e8aac2a50e35bd7beb178d3caeb37b3876cab58d37aecacaefdc7deaa7f98dc277b29ad2959334aa858caa8591cc1cd112b3d3b249ecc66413078bd4b2f54cf5c99c951227813c490014044e071c636b047653b36ea8ff00cccb745ef3f81e72dbecceadd65539d5ca51dd133c4edfd21f6973b91d694dc812af651b2f954ce513e9aaf56ccda3674455dcafabee65e98be3037280916517503ed8622620412e660e14f1abdd49c7b52df942c163b48ef544d2b8d513bbfce93860cd73a302f5554fb4daa6bea8a68773309952b4915091836eae84b48fd8f5e5936c0736f0a4516b9eca063ef06211c2117f569b4858dfebea5155dfcb7a39a9d5983535533ecfff00e9694defcca94f938d0e472ce967b735696a9e7669bd3c4727904de6294995ecd3a9207ec26c8b0453064dcc2ef7605544ab83e103e300c0219941673754ff00e5e3f8dc35bb96b8392f6db3554f28bf87e1529cf4c708c7bfac34db1d75496d5d0a4eafac657309232aad26134a9e60d194afec49852ee66a8b75cc9e045312bb42c9982c262d8a388731b610bf3fedbb1d61b9e5252a6f4f77a4ba93f14a24d01bf483db854b4ab8a8a9fad24ac1096d3d249d3548d276ce9098a939aaa67284ccb98c243951068d531b2784d8f3c5a9466eed24fdab25ff00a94d12f9a6e5770aea8bdc29b4abff004e5a5c9c4497b5f6dd36db4e4d4f479ab164751b5493e97ad5c3a6d2596aa72cba4b2c9ab468a75e3272e2888cc15137740e7492eed8711e32756beeb7ce2b74f3c9631a9baa786b4ae534cf8bca5f7976b6dfb6caad335755cf6a790c86574ed3d4960953094a53228cdaa768d8eaba070e166dee29997ba207310b9dd53eeca203b5a52a87b52a6bbab87ababc273a71c38370614a6fa532f8facb2dd827863a49adcbf6c955d46fa862cd76a2c697752bafeaaa70f561cd275f1364e4a0e1ba2e010b4aceb1b79dd3eef0e59144d98e6b187be8afbd5696bc14bf08934782a9671559f7554cbcb8cae1ae46359748ada88b934cd19bb36ee6a85e99923caa112b66acfaa25e506e264c129c1ba9361990b24b00ad88bdfb140c38221298d255e7c1fa3a5ddf1e70996ad253f7aeca4f87a48bce33ddba5ee3abd5f55d7959741c994e1dcf9ac9e7f33622dde4f64829394166e499f5250e818a3bb0eb280778523580447766c384616f4e3672a13aace57e274f58c67960f52b42695a63953690f952daeba73c4c47f0859a5332825228cfe4849fc8eb79fd36d64c2920575d8124913c78d4e66d998a1ee089f7821980e42378576934babdcadf5a6a8456cece1ddd269fdd77f9662d5dbaeda249229496735bca16f2ce9ba32787a9dc4a5a3742972d4132062f962a64104d44084394531722384f99cc62f7637aacd4ddcb6e2785da9c736e984fdec4a515cd2abf75e1fa71df9397cb44596d17687549dbcbdf7efbb2fa9254ce4bb4a97819bcbd166c6a15a54c5355141737b99155d30c6531d98e036030a78471db2784b8cece7bad2952b5c579618334bb3757fe6a4f93a2a70faf9a9c517ef7a46ed0d9cd1ebb4ab09115eb5a826d4e1764c6608f5c6f2f974b55728cd856b8bbc585223931cc1d5c523816c03630c5a5714bab36d56ff03a6f60fb927bdd58619a8a305a2573f35ebbfcb6b852e4a1cedaf6ed28a65b75aae240fdf54d49d2554367ef1a4be4e12f19c3e16cf99315942a8d2ea12dd5ccf40c5053cf308080069694a52b7571cd5da9c6e995dd2b3866745a5ea555be9e99d38efd7bf1cb03b9f47adafcbab1a1e529bca81bccea8dc3e55e3555268d1eaadd94c55978ba16acd6728890144f762b20714943664b0080056eb84f82f198cf2987125b57cdaee86d4ac1c5e531bf1c4eb0239e79e7ac549203169988eb9f01f5c0122160b5f2fd100524f36dc46df1c0155c446e1ec80233d33bdb21010802751d07962f9e00a54be1d74cbdb00540201ea0cff6080161e7afe980233f101cb8840136bf0f6f3b690041ed70cf8ff9fcd004e2f9adf1c00cc3f6e500467e216bdf4f9a00900be76c3c6df3de00a46d8c33e797cd00557e1cfc797ae00676fdb8c01e0f3fd0d61cc03746b06bc200b865e60401f32ed93eec335fc465bf98a40190a6f42faa00e9126d0b006e12fe1006651802e0200400801002008340160e7418035d99e830068d3ef7d0072ea9353401dc3a3a7dcb9aff00484d3fbf2d0074c801007c6f5deca36eedba4e54bb46a4e8f964c5b4dcb276a0a4e6512598ae8924e024dfcb1d293f64aa02b01847bc90080d8443288ecebd1baa72aaa9dcfd554b53d3c49b577eeefa698e1eb3aa63a9ad8f45da81c4db6bc57d44ed18d4e6d25accdbd3d236ee6972793679f9d2733b59031a7625505cbb6c8a96b00014b834118aab3faab9ca38534d4eaa69e52fc8bbb4fadbfc31e2dd375b9df77c5b2c297e8e3b5f654db2964c367981c33a968d9eb89a4a1ac9915e669d24e0eae09819e54eeb19d64c4a4261b113ef6438ac1d4eda6aa6add555570daa630e338cf25a18d14ddb3aacf34e8bb8e71338f45f1334e3623b6842688ce6514a54ede72cb6af35da531eb45a75566284d9b7535a5ab9093f21c4e0908d9529802fef6325545564fd8a2ba79aaea6dbe78874cd15d3ed554d5c9d09474c0d9f63fb21dab4a7a4cccabb734ccd692914f8d3219aca651d9ad984c1576a8a8ddece9b273e7e999c204ee8aad5b14ca1c44e7d4622c9dca5d3bd2e4b196d73ca3244daedd54d5bbbde110f82cf79f5d441220040080100200400801002004008010062255e67b47e718030753ff28a5f9dbec671ff003118032ec7ed5adb2ff3802f42f8395f2f1f8a008b065f900781a00b156432452688cc4f2e971e6287da9f99ba42b9044300e0584b8c2e5cb21d2019584a65404314acd914aa014aaa408a6053953cca070b660511cafa401e4a53f4f99daef7b325a678e400ae9d19b242bac502890a0a298711bba2219f0ca00f6712896aad8e81daa0522a2750e091701f78a9448754a6261314e20610c61def1830691b35d87519444d6613396b89bcc66732413662fe6eebad2c93244c2a11aa6205264073898c73e254e39a8735822d7b08f9f9e0b00f1726dfe4cd380e9c392ca255be76639dcadd551de2c6390487139b0e2308946c37d4328a83dde4a250e915d174cd93a41da654dda0b229a84553288890aa14c02070288e403a4022b4983245b15b376cd926c202516a9a452276364601217bba6b941858645a8d2d4bf651255d8d29ecb48e0724ac1a222d487c58f102387000e21bdedac01e86a7a9f174d1c1a592c3389762ea2e05b25bc6e07f3b707c3725f3f3600f3529ba74e629d594ca95123aebe413b64444ae8dab90b972507d3d7c600bb2b2645504c0837c5bd15b1953280ef8430994cbdf086426d6000b0642dcccfab363b255332676bbb2ee4c99ef88a64ed8440d7cf283c42286d2994b7668336ec993766d44a2d1b228264411310d88a2990000a5101cc2d01052325928cc8d31330606980a22d8d30141317229ff00b3156d8c49e17b40151e512b3a1d5d564c8e8991eaa291d14cc4dc5bed22510b60fc1d200c5cd285a2e64ca68d1ec9a58b213c6fd526e20811333b6c016dcaea2605318960b58474ca1fccf558c84e3c8cabb95cb5e345193d66cdeb230140cd5ca455111020f76e43818bddb41e38b0b028712492b833332f2f60b1e5c206969d56e91bab08580370260ee79a1e6c359d4702becb958abbe066cc561541c156dca7bcdf01377bc135bcfc3962d6d0079b792c91033c322c25e81e63734c1449ba451737b808ad600de79c3e75f58691a09d4a51a769f4d8a2c4b2c96919b73ef506656c90209ab7b81c89817001ae239805e12083d3d2059b37497954ad545929bd649a8d921222a0e78d22896c51bf10803dd595cad432c7559b4399732677263a24115451cd331ee1dec1ef6fa7080286d2593b576e9db560c1abc7a389f3b4104d3557e375542940c6f68c01eabb162b18e65906c750e0421cc74c87131486c642889807203661c8600f37529953a4cc570c9938c4a116302c8115c4aa5e61c7100dc4bc078401ec8b3689810c9b76e9188902099884294c548ba245b0077438069005b254fd3e93f3bf4e592d49eaca6f557856c915732b8449bc32805c6236110b88e9005c99934309ee8371de9c875ee99471a84b6031ae1988610b72b401685a7e42555dac4974b48b4c440664706e9627424d37e6c3752d7cb15e00b9559b33917ba281bac86174064ca3be2db08029e905b2cf84012ee5d2f70815172d1b3848bde2a0aa4550a03870dc0860100c8443d500b02a55b3650809a8922a94309934d42818a0241c45c86f994402d0078cce532b98a2083f64ce60dca7054883b448b1014279a702a80398701803d81140163aa50201d500df18a000635bcdc460cc6dc200b30904888b3a59396cb41599097b49406c901dc897415cd6ba96bfbebc03c4f49848e46f525507d2d60f5158c432e8aedd35ca7327e618e07010112f0be900564954a88062159b1028814a72822980090a613942c01c0e61100e79c01e2fe45247c8288bf974b9f375552aeaa0e5ba4a90ca9430955314e51013000580473803d9796cb962394d66cd5749d9703b4ce910c55830e1c2a16d6385b2ef41e2160592947d24a35ea4691c91564201f621992028f74b803b9804be680174d328045d3a91c8dd3455a39974bd76ab2644566ea3749444e9a3f6b21ca60c2204f7a03a70804e0f7066cc1a836dc37eac4202656dbb2eeca050b10a04b61b05832b41e21282d46412333f51ea92d9699eae00459e99ba22b980a5c2529d4c3886c51b6be1007a1a53295113a2a3366aa0a23d58e99d14cc416dfec4c510b60fc1d20c2c0a094fc8fab20d3b325c2cd97fa1b6eac9ee50c84bee44c3849dd30865ce0c2c0a86492519828fbb3d875e550eaca3d16e96f8e87fb1154431093f06f687c405e4d2670d8e82cc182e82a8036144e826621900cf726298a25c01c0ba7840168d692a65b4dd199a12e66d9f36970ca9ab944804dd30de82a2dd2216c42944e528e41c039044cbc78c784c774bef1f09f189f2465cb95bbd9f3880097c23a65c600080586f973be5708002036d4be36e50041b3bdcd84d9400f7a200361b7afd700541e65c42dc3f608022c160f9879c00ef5c2c2016d7d70052217b77ac39e5f3c0126f3321f671b4015676f11ceda8fc50045832b0869dd01f9a0077af9699da008100b80e2cad984001bf76c37f0f1802a3070b65c83380160bea51e7ea8023bc17111c87e680230d847bc23cbd7e10078bdbf575ac370dd1be61802e197981007ccbb64fbb0cd7f1196fe629006429bd0bea803a449b42c01b84bf8401994600b80801002004008020d005839d0600d7667a0c01a34fbdf401cbaa4d4d00770e8e9f72e6bfd2134fefcb401d3200400801002004008010020040080100200400801002004008010062255e67b47e7180309537f2925df8b38fcf4a00cab30b903d57b6b005e1ac03a80db2e23f1c014e5de365c04447978401f2bed4fa5ad6520dad541b2d469f971aa33bb66e29b5f7cba7d66965a54e9fcca697003615599d91d20f7a2712f8c657af5156734dfbd1a254a7463bea94b817a95d74fbd7637b6ea8aba289df073e9674e5da5b363453092d1aa54cdd9519494feb272f547ce664e4b5094316e1da2895aa66448027151cdb783dd2800c76d742f4f5d192a6b5477d29cf8e599954eed9a7f79aaaae94b6a3ac67923d6a8fdd1c9b539379c4a67349354dfd2a6a865b549d3eb628b69d22671e4bb5208018d866856d7bfbdbeb1c7455792ded24bffb979aaa95beea538666b5530f8278f0a213556ec5b8e06f3b37e95fb56986dde5f43d674bd374cb4993a712b66a90efd533a78d1895c2a2ce6242acc143ef414299a98c9ac4286235f41decd5355eeb1c61c75518cacb232a9c24f94f5d383cb0799b3ed8ba4f4d767d5ead20752560e1b91d49a624722b18aa96975cab84f6687208daec14400bcbdd09788b257f54a1e33a530aebfd4e196af0cb16d60b7b4f15fa26ae86ab3edb96d826cf299754c9e4f25567e6a55d9137a770e192d269cd453168d4c4493b6155c334513a87be86c216b00c5526aaa557eede5aa6eceba9d38ee6a1f145aa54ddaaaa718bd1bb66bb3a678cde71c199ae8e7b5bdae3c5a8d9755a7934da555916ab194cd1232e136494914c8e09f5cc5640e53a06c200994049842e27be56b257a8c73b94bef899e38cf799b78bfc6d79ff0011dc5aed576dfb52ed09c2f2634865549d31b43a7e8f98a855d6f281ca8aaec5774aa3ab7dd9c8e812dc09711c988fbc2e451ad0fd5a9e4dd5dd45e94f9dd7c9432f6d4ecd6a9ceeac773aa21ae53d5e062243d31b694ea9a71387745304119fcae5d31a356581eb06492d369ab695b76af5d3803759297aea6b1976c4297ba6261011208cd343714fde6e95c36937e1187b5a07765bfb8af73d9f0c79ecf13375eedab69f49be96ab3f7b4583b901aa94a6484a9fac94a261d5252d5e4bfb408723a74c8e53b90ba3ee87d0c5c40a1420a1b51aae78dfa69c233e5bddde24ddd973bd775da9fc33dd89122e913b6e9a91bc8995394ca956ad5b9a94eb1314267266446bd82a4f05f9992e2b3b2894a4c20989bdd033f7311b05a94aa8ddb53afaae9f3bd11a3d5a32adba675c288fcf7b7eebbd4c54cba4e6d5e606ac58ca10a65ba634cd6133a4a7a8b69919aa0e69a58adae77abeed17826c426302098152358b895b18631b47f55554b4a555d1c65d1e1564f741bd14fd6d14bc9d773ac37e6b159c6b25da1d252aba3baebeac88c5f304ca9b49acc115d60449391a519ce9920cd152f813786df2761b8ef6c3efed1d16f4c575d34ad6abbc5a74e1dce572673f65dba2cea6f354bab8277b1dd9a53cd1774e7499daabdda232923ea2db9254da792ea52a616a8bc3a8da66ee5e83b70e4afd43034049055c825b81032a7001381b42c56949d4f74d497e4953c9c3e4a196a9e1c6296ff36ee49acf595b8cc6dc7a46d7548ed0de4829ca54b3d6f4fc8d8d453ff7076b2ae507ae966e0d9bac88950682523539f7ce311046c5c2017306766ef54e72552a7bf772c30d4d2aa7051eb34df0c3c71f03135c74ba9e5386a9d99e9a64f6754576fbca858117513c1296656e691b82e46128beebe86a036c2ad8044b053753d727f8dd7712e59d5beec6f092e99f1bb72f3ea9ecee992251d2136e6f9dcb6971a6e9f63554c2a64e468cda66da64c25a668ac99d4dbad165eaaa6798d2168296032800a79c531434bc4feefdb77cd3cb4e266eabb8bf77c6578475e065b62fb56dae561b519784ccd4db1a714a4155e6b256a0e0eb9670ca74ee52e176cb1ec0291ced7bb882f82c03deb8c4d3776f959b5c2faa9e3dde0b896b54e9b9ced13e375d11e0fcf81afd39b70dac4926f3d7f3e529c9a51635f5692162abb5d76f3166594b67b306a2a2f845b91b10189d110c02602881f10e658cecdfd5cd5ecb7dd5c63dfa6e5bc2c6b6bdea577d2b2f9dfd6da9ee951b597b2b983652454c1a7869bd1ec64aa9dbcd65f2f323571ce4050e477f64aa56fbb112aa0526f43fd5a7176b1bbade74f7537b2d393ef2aeabb8bcaedefdf773f8995476fbb689a39734acbe5f42b4ab64a9d52e2a39a3c59f272b590a71c376c5ecf4ca22b2465fad90c63286382361c95b8452d3d4752c9509bdf2dd6b0e1b0dcf148dacd6da59b7542dd9278f7c77b39b53bd25b68927a05a548e9d3ca8de2727198b766f9deedbaaa169191bf14d7dc903181dc3d39f1701113006768d6b576bbbc63c6cd7c5f918538d17faf8db77a8a525c933aba9b6edb425570ecf17614212b775503697b09c019ff629192f265e72639db09c1c9d620363a4042aa5035c0fddb0962aa9988f7a7f2dccb9df5be21bc4bcebca3ace7caef5c323a5ec2368735ae76672aa8a6ade54ce6ced5993676d25ab197680697cc17638db9d4b1ce43ee2e02219de2a9a6935aa4fbd1138b5b9b5dc7247fd2a2b16db409db124ae42f69e669d5e94b9cb54a62225754a3432f856982809b558ea8a662a88a24f72d37a6301802154ae3abdcbcbbd2eb9fad91774bbc97bca97d697574cb2dd89e28f491db23524b6593492d12150d60d69479482ed967c12e661542ee10dd4cf783bc545b8b611014849bd1102d89ac6aecf1bbaaa9ae10a97561c706a35cf819d35a74dfd2ecf594bbb693f0c7332f496d96b591ecaf6d5565582ce7534a06a19b20497b3702597d98b26a64d141454a63a291d4531180f8c53b982e6b466fd4a233a9b58e19da5d52f72dfb8bd2a6daa4f04953963f725f57bb797734dadedb652fe5f49bf47662e2b19eced84aa50fda3d7832e6c93b96bb992aa3f9798c2ec0e42b039100de8038b81804963162d12d534e7b533ba9bb97bcef2d9d14d59114e4ea79428e6dc63c38acf234f71d27f6d2ba13f197486830734353d339e5622aba7ae1bbc524736792e72de54a25830957232150875407766ee18a7d414ba2a69e375ba79ed36b960d36bda5190783b8fd6c7960a97ff00249eec7743cf2bd253688d67efe6aee4b4d9a846757cd69014103b9edc3a8c65ab4c537988c3d580a2286ecc9dafefc0c1e6c51d4952ea7ecd4fad0daf18e829da70b7d3fbaef94f5e1aebf4c74b4dabbd91a677b47cada4c6a64a9b528a76e537cc25a99aa67c4649a0f8ce04cb38eac0a029be400a557cc2810738d3d1b9bbf7a61eef56aa9c71d9692d702154bd6fbb0df1cd253a632a77639e065aa8dadf4859754b252a7fbdecc4652deb10a8a492c7aa6ee6ce24ad5b386454d754e3d9ea1b7e00649730eec46e263144a314953f927f37a4a6878eb9e1d69ce096a129f6d2e8ecebabe1e4f29374d91ed82a8a9a8bad15a81060c6a0a60a7070c1ab5984a9d372a8c7ad240e994c00ea227bdf09d351422850039473c2116b859bab9f8793c72d37b26cd4d693c263c5b5c9ac33d4c6f464aeb69950bba91c548fe54e29f6ac29b7121449be3bf6e0fe46d9f2dd71752c4504dbd1318d6ccd71c8328bd6d5367554f35555ca1534bf8f994877d52bd95df7eba7fe3dd1c4e705e945b489fd3b5026294b2584564d24a869e9d49917e900377750232f3a29b99810a0f0a291bfd21349328dc7094c5c271954f7aaa8e1854f766b2ebc0b6bc1d369df425fccf03749ad7db582f457795148270c42ac2544e9a27329c10ea2456a15528c0a410470e885930f0f1ce33a317653aba13fccd2ff003c09b485e97dda6b6ba513fe38f02f69bdbb6d21d55d2859fcba8ff23e7559cce834136ae9cf6da5309583a4ccf4c552e899251662a5db8001d34c4a7139f308b5945493f6e97553c12c62ae30b1dd56c916bb33eedd4f9d4d2c3ad5d54bc0bcaf7a424f69ada2bfa2cd2760bcddd3c9539a60378a075c902c8acbcdde18be9b2062b85832b8a57f3a29792a5d4feede6ff0aa6f26b9bd9e65fd1b796a947e2755d6ba2dae469ccba50ed399b1a61ecee4b45a8d6be9549a7b4ba72a78e5555932994ea5b2e55bbfde5b7a72a33429caba58082a144824b58476f4715fa3abd64d4c650e561d72f6962656b54537d7abb51bf654e3f1dcf0936b7fb72da34c36b49d154aca296705254b37964c26afdc3802b697c9a5f277ae1504d0b8a8b98f343a404b940040a22391af1669549379436fa56e885ddd31e04dacd382cf0f1a6f625a6ddfa45d754857cbd3d4c52e13e248e9e46a89de241dacab86ee1d2adc1a20a202449a0e16c736fdc08a77b061d4c1959d53539c934bf56ee5bb5c8bd54e0a3d673cb0f1c5f71ad579d27eb142aeda250c12e95b4734a53935a90674d5ea89acbcb419a4ab36adca188e9cc123b801720372a69e1396fbd000b2c554fd86a97cdd5835eec7adef6c9094ba57b7972872bf16ee1898fda27491db5a2d2bf9634694e52cf19b09d2b463a7e83f39dc964ce084176ddf27bd62f3788898e74ca29a8dcd60390f9da953713c5773ad2f8ada5ca3526c94f287df72aabbf65ecbdd326653db46dbfcae9bd2b256d49399da2a540f660fa72b3f3b14bb0984994dcb241212a854d65262600031fdcfcfeff9a377528a9aca997c62fb50674674279d777a4d3247f0a5da24c5b255049e4f47b7a659cca8a934da5f3074e4d363af57212f72755a8a581202b724cca5214c5115709cd72805874aa94ad2ee8ebaa85bf65c4be7bb743d45554513aaa2f3dd8eefe7a17dd30b6bb5753eb53f4c518fea0675099b3ea9dd1e4b2977375946d2a2598cb9ca4d5070649298bc30242a08058a4305e30556dce94e31a3c62ebfcb7df348daeabb0fef613aad5d4badd5d59ceaa4da16d476875655cf767cbed39d759a4e989a506953d3397b0944bde4e58acb00cd08f44b8801502995b94ddd012daf946ee8b8eae15c6393514bf8cf19467793544eb44bdf37aa4fae11d0ed9b2fda1d40da90dad4eaa576bce8f45d4d3d02a25b0015bcb5820b8b66f9061263c582fce33b7ad5166ab5ef7fbea4a7a40b2a2a76971e7167deece975475934f6fd25f6a12724adc55b27a28f2e9aca64d561dcc95d39376753d327e8b277d641611de28d7ad26a82e5b26a14140c05b5e34745dadd9d4f1a5c37f771bc943fc54f73921b9a6f52b34da5aecdd6ff006bc38e06227fd2ff006940e77922a31b4c99a3293554a11345eb855ec8dc4d1d32976e96484a8b43aed598b9dfad74fbe5261f38c19d19ed28f553e75a9efa5352b5aa517ad66a978ed46e8a70d37d5396110f193b3ec96bdafeaca82b45a6b2e914b29791cf5fc864276eaae7993b3cb9614d672e8a7b22916ddd0285c44c0239058225c5345e7fd4295e313c178672dd50be5b49fc4d2b60fd216afadabf5a4f3497c909287d2156a191cc25894c0a9ee5298753dd15d3c0211e944040c2aa29a64be450396c7894b07bd5dfdd3a67a60f5e04d7835b9ba97e98fe715a1dff002135c2c236100e51524a8043080faadfe100030dcb6c82fae7aeb000c17f0e38758006b05b30b07ac7e38029c871182d9d846fcbc200ac449c78de0080b5fd45c833ce000973d47fcfc60008801b15c3c0738029280058403df67cf3802ab934f540125b77b5d43bb00400677bfb7d500464190dae6e57fc9000a0018780096c10048896f6e37ca0016d875e79e96803c5d07d86b888ea91be6802e197981007ccbb64fbb0cd7f1196fe629006429bd0bea803a449b42c01b84bf8401994600b80801002004008020d005839d0600d7667a0c01a34fbdf401cbaa4d4d00770e8e9f72e6bfd2134fefcb401d3200401896f279b273f5df9e7d315d92a5c29c90e93306c90d8bde2a8440ae0741f3941d7d5620cf9f18ec336c4acde725733359820f56304e26eda7af4569f9549d37788b82a5843a80b560928db0a63de053000e1280c56c94534aab18744fe5555f7f9db4e3bca768bcef5ccdde8e12d5d5f954a9ebab3b56ca293995334537923c5054164ee61d4eee15762464a3d5946696f97ba8381b9885cc46d6b5c6d0a1d4e957f3f9f81ad6a9bf55cf5670ee53e326df162a2004008010020040080100200400801002004018895799ed1f9c600c254c3fc62978f26ce3f3d18032f2f0ee6422171f8e00ba0cb2be9a40150eb7c418be3803599aecde809ad4e4a8e654fca9e4f93962d2624dd644a2e425ae8445769bcd7766c4370f11e7117563ef287c51379e1c1cae0cd7661d1c360af5ed34f5ed054cb97348b66cc69a5956a530b16ec8c066a8a7c0489182e429af84748bde77af6a47ddbba7f264265b0ed904c9fcd5f3fa3e44edecfa60c26d3972ab6299476fa541660e1637be3200238395c6213888d1cae0de6f98ab6b3d5474dc18ec43640d3682b572d29090a157aea2aaa93f22000e37cb10125960f7a0a1d30c2638062306a31146c7ab84ff915639997a8b67d434f1e1ddce2472b9a3a3cadec91459ca20a2832d9961eb8cc4c3aa6b602e22f8445d58f1f862bc4997870c570658cf364db339ccbd46333a6a50f1a28c98cb0503a3600672c585c3044b844309505444e9d86e51d22cea6dded667aeff17de42c29bab25874c3f85dc5e4af67b42cafb27b3e472e65d840f7b13729dbaa7689b78f412e5be3667e704e305ba3a2c888fe4c4ce7619b209b564955b33a464af6a44556ae4937551badd618ff00a2ae6b0d8554432228202600ee80da216197cfcebbc9ab6943c8b661d1f361cd1bcf9bb6a1e9c237aa1ba8d67c80b6299372d9654cba88603e444cca9c54c04c218fbd6be7133b3774fe32eed376859d4ef5ed7e67bf5dfa9e8df60db176f4f96469d1d2134a83af5da1d0dee219990137a750ea098ca1d62140a6398446c019e41115ede1572f19f3c79e245353a72f9d3cb0e47b527b13d93532f137921a56552d7847457e0e922985717656ca33eb0650e6308a9d5d73a78c44444a22112aa6be794f7c29e452eaf9ebe52e0b463d1f7624c6a05e72d68b9125365faeef5d95111112ccca62bd214a2384a45f786de10000a611b885f38a2a12a6eaca23a6ee45db9aaf6b9f5dfccbf69b16d93b3a7cb2442949296509b860ecac0e86f12eb12a048ac15b1f10e240a826041e0050e1169c53d5395cf29e6446177488e9331ca4f573b20d9739aed3ad1c5332756a848533967664837dbd49332292c3a105422661215410c605c806d134bbb97cce7dfaef1539cf428acf643b2eab26d2f99d4b4c49e7afe544c0c9d3b440e604f7a55b747cc0144f7a403e03e22e20bdaf0a5ba5cacfe63bb4dc4b72aee9f3f2f799277b3fa1ddcc676f5cc8652e9e54ac1395540e566e99cd3062882809b675883be9802a70c23ce2b75435bf17c5e52154d34f55970d4c4529b15d9353856459152f29968cb9f9a64d15488265527a66a6642e37a7309c4dd5541482e23620e10ca2cea7dd3e39f7ea56eaf9e197717d2dd97ecf25d3996cdd853f2d673294a2f5b4b5ea29eed4451992e2e9e265300f9aaac22a1807df0df584f925d165dc4bc7cfabcfbcf453669b3e55b19bab4fca546c7993c9c191511299334c2629aa8bc72620e42759372a94fcc0c315baa2ee90d7478b4160e7af5591afd3dd1ef6232154aa4a28c9232548a31581c11331cf8e5aa8aec4e2750c6308b738fb95fcdd032ca27e7c1a9e70e0874a7f3cbf845c54db07d8dd468eee774748e645ebcee6622b2598bb7c5023d3898a2061eb052802a51ee9c03bc0307fd7499f3c4b2a9acbe6323d0db0fd8eab2fea26a3e44665d5c5bf56dc06ef722d506429dafa75768927fee90a1c21acfce9fc2ee234bba7f9ff00e5577b311b5ed82d395acb9c1131974ae64f1f33983e7ce25a8cc537aa3048e83607292829a9ee445070191592387a5844c51638709f1cfe72de9929c7cf5ee2ad92f47aa0f67c9ca1494efd5984a64234f11f280927bc6aa4c1599abee28108996ee96318a500c298774a019df47699a593bbfb534bcdcef2a960a74bdfba27fda8bb5ba3f6c4d6a85dcf15a2e4479bbe51dace5f1921c4651f2276eecc1dec25eb09aa705708063bf7afac62a8495d5963e39f42cdcb979ff191939cec8b65f3695aac6674c49deb2565ace5074164ae1d9ec14df3340bc4a08282274ed994d980de2eea6fbe7aef2295772dd1d19ef4c6cb76734fd30fa9d92d3b2a61219a19634d2544440cdde19d1376e0ce08a62de0aa5c8e26ccdc621e2a1e429c1caccc134e8edb0d6d4a3aa651a2a44492bb7483f5d96e84445db5294ad9c6f8c22a81d12940a998a7ee0645b044d553aa274f8e7dfaef14e131af96ee46565fb1cd94cbe56a4b58d2b2266c56920d36b3245b94a99e5027514332314b96ecc75d431838898c2398c2f399e5e197768447cf3cfbcbc4767941a78777219626049b9ea0294120b76aaa999151ef1f7414cc25bf21884fe3e39f788f87865dd08d7a5fd1db614c24b3994b6a1a9d4259519134272cf71722c922a0aa8a6002238089a86c699496021bbc5b0e7132e238cf5de5a719f9c73efd4ba4f60fb1a2c925528f23a44696c95c3b752c6676e072a6bbe29c8ed51130889c572a86057188e3bf7af1156d67ba3a6ef9d712161df3d7e7c3032346ecb76774a49deca69d903095b199187b450480c6eb3ee7b9b2c7504c730026180004d600c832855b4a1e5fc8a765cacff8c8b8906cea8490ccd698c96472d96bd5e5cce52e166c9e01518cbca2468dcf9e112a451c25be819690d1adf9f97909c67e77f99ad49fa39ec2a56b2eb4be87903551ca22d5612a237337eb09bb2a199840132ae81142903ba510c8020b050b87865dda0d6f6b8f8e7dfa9b33dd9e50ae68f7b4a39914b56a6a66573d764864eed96eb6a99c38c44e6754e6388fa59c44787c32ee26f399dffe0c5ca3623b2495d60155cbe939335a9008252ce088fbb97124540e701111b287493290ea00633142c630c5936a7890f18e1f2bbb42afdedd271b5b4eba7eff00af2b2e932b27a725a2d924cb2f23d5135660b6ff0035153ae2dd20cec0428080077846229c2f7bd1dcb4efc7b8558ddf767bdebdd818d63d1db612c194f59b2a1a9b6ed2a64bab4edba6d800aba1bd17008867dc215630a852a78400fde00be70d234fe32eed3712db6e75fe73efd77994a3f641b2fa5946ead3b4c4a650b3651d2c92cd93b2a0abf2a0478a09c44444cb15aa20a184444d802f1775bcbe739f37244135b6c8365d574ca5efaa8a62513d7d290123170ed2c662a4650aa8a47cc31a7bc4ca6dd9ee5b85ed15a5dd77967fc65dda6e25b6d5dd0f298ec47644f5a9907949491ca2330984d5403a17133d9a90c93f706307784ce13504aa5f50cb400b46ee0a172998efc799379ccef87d560bc303c83611b1aed79d4cfc8e910bca89bbb6b3a54c8dcae127e502bc014c47006fc0a1bd129404fefaf11185dd1ff33e78f32baa7bbf88f2c3917720d936cce44748f28a6e54c9441b386892a927dfdc3a4dba2e131318446ca26c9029ae39eecbca25e333ae7e7e63770cb81cdaa5e88b44ce3687249f6fd9b39548d4921d9c950953305912d3d8465edd09806154880188188a629d400b913513218c51b5354557de2f17d5efe5d38ca4456af53774f870dd3fe20eccde9d90a5523c9f22c5b273b9837418bf9a10bf642ad9a98e7411329ae02196388073118aac30dffe096e63818ea4b671415286766a6e432c918cc449d77a925b9057767514200dae16032c710e58860b051a7f49792489a9de72f3fe5cf9b6cc8caa99a7a5a59975060d19166ef16984cf76400072edc140ab2eb17df18e05001e70d234fe710de33ae1e182f0354a7b611b1990cb67b2d93d1b4fb06153373329fb549b1776eda1c0e516c7035ec880286004cb628621b041a9a6ee8276af6a7ad43b0dd8fcfcd2434e28f90cc3c9c6c467252aa80606ed11310e46b84b603a253244104ce024b85ed16bf55fbf3b5bf8efe7c484a28b8bd5dde1e46d12690c96569ba24b19a0c48f9db8983c2a25b02aedd1f78e163f33286ccc31578a860d5a92d866c7e959ff006d53d49ca24f3614dc2257ed9331552a0e4e551644971102a627281b761ddbe6010a76542ca23a2cbbb4156d39799bd0806a22003c38c014e23697f6fab48001600bf00fd300494351011cc433e7004065972d200a8402f7b801be38029c57d7d76f5eb003cd0b8e5c3d50000bdcb5c4033eec0120237cb501b400d33010bf1080235d47c2df3400100b587dff00ed6802708d8331e1940028fe5d7f6ca0081c8321b8699400d731d75800600f37887e5803cdf00f545c6e2364cfafaa00f665e60401f32ed93eec335fc465bf98a40190a6f42faa00e9126d0b006e12fe1006651802e0200400801002008340160e7418035d99e830068d3ef7d0072ea9353401dc3a3a7dcb9aff00484d3fbf2d0074c801006351a969c5a72aca129acb559aa05c6bcb08e1233a4cb90dcc881b180778350e210588781c96bfe94f46c9a98a81ec91a4ce7d339489092f64566ed34a6223314654b2cc96dd1bac24d9d3829153238ac360f7c518b5850ed9d2a8fbd1dd526d3e4d2704b50dce93fb735cd7ce4cda364bb4f9ad60feaf4dc4a1495b7a62703244555135c82ed76e9945cac5de9085c18cd62814446de7679444613c5f72702a50e3827dea7c0e8910408010020040080100200400801002004008010062255e67b47e718030753dfca297dbe0ce3f3d18032ec4444a5fc9ea802f40c206b73fd1c60081370c3ede61007c77b79e919b4ca66b9daa212c9fcd25cd2866b2d5a48c1ad1aacea5eba8ee584778667342094adca75c708898e4c04ef5e14e53ef46e5f775ebe45dd3b54ad1d33bdfad5acbf2f5c4d8dbed676bd32db05452634d6a295b091cd24acfb3a454776eb0283c94b17ce4abcdc046deece540bd8309309a34544b7195ea929c304f0feccdb70b8d09efc5defe303c50dadedac369c94ba7d500d269ceea17f249334774e039a797667df272c5a5950b63ae43bd128267dd3a14c0c7c68e00b00c65629d59e6d759cf677aff008e24da3bb8e89acbfe5bb7738463a6db47e93526a4f6a1326b544baac7d48d4c852329979a52c6584017c12fc133555150e073a22f8dee5914d60bf1859edab3d2fd777945a3a3c63a4f016db17e31bb45ee7b17bb97c2353a24e7a43ba6bb3451fa52d5493beb756d3e9385c523a6499d292e99383bb5534f094c4554960f70b6f3b942a7345ea7d8752e8d2f897ecf4dead52fda54beb89d2dad48e0db3c67335166c59aba9004c8898e1202ab03305ce244af71281873b690ed5b17eee93e053b3ed5d9d60f9794e905b76095492a69acdc299902d21a5e62d66e9d37dab4e3b5e60c5bb89984edf333acee5965d6310b74ca44d3c0a098e0236ba5f591ef463bb0c9fb59e7ac2294375513c1e59a78e6b76596926e936da2edc5e5055ced524f52c8d848e8f7d3f19750cbcb935517f2ea6dd2cddc03d9909f7e9aeebab28620a7dd4ee4ee9f3be335514d35558de8c372a9c47e24b3f7b036855d4e95846b9cb899e5f0c4c0cd7a56ed0e5af36b6498a12c692d649cc49b299b9921ca692c9121355a5531208800a872adbd433f74022a5c84a17dae7ddfbd7bbe956971c2deb5e0e74652714f474d3d1d54ba9747973c353ad6dcf6d64d9e232899b86cede3334b67730792b6a4471baecd6845c122aaa98376388dddb6423e75822bf7a3e7d6a57c425345ef9f55bf81a94dba47ed2d2a86572426cf13974d11aae5f29aa19399bb658884aa652d5e6083c6eba698018f85b9c0e4b77448201880c5344e14c3a9ecedcf3a29bddd18cf4cc878d2eee7b11f9ebb98f1fe67430b24e9db4e4ca45379a34a3e72f0a8b0633790b162edbb972fd9bf99212b4925b2224d1d09dd267dc19435ca23dfb81aca696e16b297eae3c32ab77115b54f1a71c7f0e7867cb79e8a748cdb04a6b0abd6a9a916329944a4f2293ca242acea5a9a4498ccda99f2ae5f4d0404e0054c37604492504c6b0108711b8428badcfde6bba9a5f56ef7f886439bc947dd4fbeaaa9e895df3cf036194f4a99a5432890bba4767739a9ddbfa70b54cea5a94c1a20766c0ced56454da994eebb70a28d9514d3f730314b998a22058d2e63eeece3f8d4ac382c6addc499c38cd4a3f0b878f3c8f497f4b4a69f6d9bc864a48ebab76d294df6c6fc867249b228758395596948272360fb5f58153cfcb061b1a33b2dbf18e375c3f271bc56eef84f0bd973cd4ff4777b08701b7cd0248013dac21e239f8f3802444c0501d2c17f5401508f32df9f8401190e7908e770b40148dc3da190c01238ad610cc32b78c015089c07f27afd500409bc2fc8d002c5e1eaf50fae00a440fa5b3cbc2009b984432e397aa00903081bfdefd1a8c001370b7fc5cc200610e1c7410fd8600a73b865e6dee1e1fa600a83188f8db31f6400030e65d035f55e00620be650285f380230e801f45e008ef6a01c2dea1f5401505fbc3c3e3bc01206cb3cf0fe5b708029c8721002e5a721800203c03d900004c023c8472f640000361f9be91802ac770bdb178730e7004774dffe885a008b71b65f3401018802c3eb1cf98f3802aef014074b67ea80244dccb7bea1ca008c873d473b85a00a4407e3d06009ef5ac219865ed802ab98043e2f5f200800260e017e468022c1afb07c07d70052253696cc6d6e178026e6110cbd5ea80240c206f5fe8e30004785bfe2e70040807bde3a087cdc6006770cbcdb89820006311e436cc6009011ccba06beabc00c418bcdc21c6008c3a007d178023be03700e16f6faa00a82f730db2f8ef9c01206cac39e11f8fc2008b80ea005cbe2180204078069a8400013008880642397b200f2777ea4b72c06fcdd600f765e60401f32ed93eec335fc465bf98a40190a6f42faa00e9126d0b006e12fe1006651802e0200400801002008340160e7418035d99e830068d3ef7d0072ea9353401dc3a3a7dcb9aff00484d3fbf2d0074c8010078158b22b93392b740ae0e163ae04282821e26d78401ccc9d1b766bbe7c2a04e1c37743f613055f2a66f2d4cf30466aba32f265b922cedb2673867e68142c50b45fb3da3b1874691dd4a6a95c926d2f122b579cef9f1cdf37fcef66f54d525269176af679552f6cccdc4d9f6f14329774eb0ef04b8bcd0ee858022adc966e4ccc4102004008010020040080100200400801002004018895799ed1f9c600c254dfca397fe2ce3f3d18032ccc2e9db210b6b005e071d30c0149ed86daf00f5c01a9bad9651ee86b8159bb93fef88811b5505df9ecb269b1ece29520ff57ee197778e71152bd45c794cf7c7f08955454aad528ee6dffc99ab37e8e149b3a9179c4aea6da049957469728fd94be7aba2cdc9e58d1162819642c202228362154b79d6ce34768db6deadd5d5e652ea84b7254f4531e654cba356cddad4884cd256a3ecf673a3d46ca9334d1c9a40de6ca1ccb0bb49808d8a3bf3995025f760a0e202de33b3572234cb872e98722f53bd3c73e3cfe7136257643442d2fa999a883adc55b3a4a7d3a00727c467e80b614ce99bde07d849f7432c8798c295755297ddaaf2e77aff009915ed5e9fbd4dd7caeddf235398745bd963ca99d4e5c1ea5505d2f3a769ca7b55c04b5aaf5134599cd966ed407014ce08e0e6111be138e22db3bcaf56ef06ba377a17545e9add355e5bd3ea9423395e6c2a89ab2552064f159ecb14a61055a49669277eab27c8b572dba9b94057279c45510003dc35003058c01115abf536f54d3e29e2d3ea915a1dd50b487c9ac9f8b30132e8a5b24727709361a964f277ed184be794d4ae6ee9acae6ada58811ab64deb6298717d8e911138944a2a1000a7c5139b97be784eff002ee2138492d144eb05c4f3a306cba6b38993971dbe8cae78f8932a828f6b3370848268f53c3eeeea5e51c06c780a2a94040aa09405429a2d4d4e96b8395c1ccf9e3cf121a4d4708e8b08eec39605fd5fd1cf64d53d2157d393d95a8fa555bcd493c9d262e140502609a68a6459aa819a22506c4b60f1e63154dabb1f75cae733f3c0b4e2def4a9e894232bb4bd9050f5db641ad46dde2e9b668fd927d5dc1db88253248a8b801126a2252058784359f9cd3f3488fbb774fe9af2678547b11a1a753c7538721366f33773194ccd476d1eaa8188e24a9aa8b5c1872021925d44d42d840e53080c4cf9bfdcaebe8d60348e09773bcbb9e260e4dd18f6652e64a32496a9dccb8019252a963b9c3b5db4adab09825346ed1824635934cae104f5c4380a04c5802d16a6d1af9c704d2f37e6c558cf19e58e7dff00e0ca569b08a16a598ad347669c309ba934653b4a6b2d7ca3570d9eb166797a4aa06ef149f632a62182c37bdf5ce3254c39e2ff0072a696b9354aeaa496e7b92eea9d4bc6a66b6a7444d910ca65f2d496ab5ab566c5d49dc7579e3c4d5984a5ebc33e565afd5c58d6437aa1f0dc7114a63140d630c5e9711c2ef2d9f57bbcb3237ef6db9d66af5bbf3e78a36069b04a0db56eb548cd5a8199977c69aa9226f3370949c66866dd54cffa894409bd14ff00e1c5dfc38f3885826b9ae57b38f9c25c133974eb194fce8a4dda98a7dac8a9c96c99bb9993b6f2b6e46e8bb98b955ebc54099625dcac22a287e6630dc62d555255283243a73f0f6c5492741cadae7e17f08016f8f97ab8c01496d6c8b96620100543e39700f1801c79f38020a1c02d6fdb48024d86c3c4bc43d7c200a4be6865fe10055c7908f08022d7cb210b6a378024396587580293db0db5f7a1eb802af100fdb9400b0697f5c011ebb6561be7004805f5b65f9200a4f86e51d78840157b387ec30032cec3a40116f0cf300d42f0055c2e221ec80281b63f100ce00abc2d6e7003dbea8023c72c56f578e700556cfc472f8e00a02d886c1adafe230055c38806bfe10040df867f978c013a1b2b6b9c00b5bd7c7d9c600a496cec5e222010055ebe19078c00cefcf3ce00828700b69fb5a009361b0f2d47db00417cd00b696f64013c7908f08022d7cb210b6a3004872cb0fae00a4e01879f00802a0f00fdb9400cb9fae008d75b70cf380242e3af0f1d20083dae51d7887aa009cf8070fd86007b748022d9e9ced6bdc6009e17110f67840148db1e99d86e3eb802ab70b65c6007b7d500783c0fb116c82e291bc3840170cbcc0803e65db27dd866bf88cb7f314803214de85f5401d224da1600dc25fc200cca3005c04008010020040106802c1ce83006bb33d0600d1a7defa00e5d526a6803b87474fb9735fe909a7f7e5a00e9900200c2b699d4c7a8dc335a489a3284c976f39eb843995358bddeac040317311cf170f1820ce0b476d3f6d4fc0254ee63267ee5198d766a81d764ba68e1ab5904c12425ac112a4be12ace1072550aa987ed761029c404c6cadaaffabd55eeb3d3da8c57087331a9aaa57a46bdf4b952d37d722dd6dbfed3e5d3a68c529622f14ecf2965b4aab2f980cc66b869e34d08f539a98fb8f7474416fbbdd98d729bbd8fba17b6a9dfad2597a4fdaf67059decf0d0e5ecee69b29c155e8d4bf796d7e9cb1cdf430cf7a4f6d55bcb12ea8b5233628cf4cc15aa1c307f26962601276532459ae9ba5945523b959caa911511b0013ed6637762d9d7769c936a7da8bb96ec1ceb31860e4dbee5e79dd4dfbb37f3dea694b8378e381f40ecf67d594de61532f370973797b19b2d2e92b36e82c55b74dad75d75d53e13ef04d90108000017b8dec0a7d597ababa255554f7bbb3d4ca8aef36b7478d34d5870c60dd206820040080100200400801002004008010062255e67b47e718030753800d452f0ff00bb38fcf4600cbb2c3bae2170e1005e5ec50b8e7cbfc600622df5b0e8201c3c6000877b51eeebf4c01162880730f8a001ad86da0df4e100543c0006e3cb4fcb004018a3e68ebcb8087080206d7c57b400b1446f6bf30fd10007312db50e10054221cc06daf008020a62f011b6beb0f6c0116b677bdf8400b16e2200237e7e1c6009ff005990e5c6fc200098b61111eef1372f6400b858731cb2b7e980202c160bfedcc200140a1c06daf885e0092f9c61be5e39c00b871cafe68df8c0011012ea39e97e1004772d61b885bdbea8024a005cb9657d200826441b8fab9c01388bc75d402f7b840035842d88478dfc2008b1442c39ded6b400eee11d42e1ac012036285c73e5fe3003114079183500e1e3000433cc47bbafd3004081440398677e1000d6c36f346f9070802a11d02f71e5a7e580200c5f7a3af2e030040daf7bda0058b701b70cc3d7c2000fbdb5c043840150885f2b1adaf0080200c5e0236d7d610046419def7e1003096e22017bf3f0e39c00d54c872e3780244c5d447ba1a8f2f6400b858731cb2b7af8c01016010cff006e61000a050e036d7d500493ce30df2e639c00b9788dafe68df8c00b8086a39f3e16d6008ee8643710b7b7d50049400bcf2caf00099106e3ea800262f1d7500bdee10006c2001711be77f0e500458a60b0e77b5ad003bb84750b86a100486450cf3e5fe300311438d8c1af878c001b5f51eeebf4c014881440398677e10049ad86de68df4e10055c82f71e5a7e580200c51f346d7cb2e030040daf7bda0058a220361bf10f5f080039e1b6a1c200a8443858d6d78040105317808db5f58401190677bdf8400c25b88805efcfc38c01e2f7fd1d6b08fda8d7bfa8600b865e60401f32ed93eec335fc465bf98a40190a6f42faa00e9126d0b006e12fe1006651802e0200400801002008340160e7418035d99e830068d3ef7d0072ea9353401dc3a3a7dcb9aff484d3fbf2d0074c80100200401adb8d9ad04bd52ad48bc865ab4f966e66aa4d54480cbee4e9ee8c4030e9720611b70ca1a35bc7c0baa4a8aa4a97969e5f4f4a594a19a8a9975506a98100ea9800a2a1c7531ac500b8f0000d02264854a466a20910020040080100200400801002004008010062255e67b47e7180309537f28e5df8b38fcf4600cb310b972d435b73802f075012dc78069f9200a6c39f01c86dc4600a8c6b701e3fe300417cebdae3872b5ad0030947bdef79f080037b888621bfaa008001cadc046e5f5c012635b86560ff000800160c57ff0088474b7f840120500b0e761d3f44014e7980008f31cbf2c0121c3510b587c20008f7ad6e390fedeb800187067a0ebebf080240b6d6e023a73cf5d600a47cdb587087c5005417b8ea37cc07c6d005226b8696cbf240150805802dfee071800250b0973bf1f57b6008b8dc044042c3a8f080017028dee36bfc500408df501d7bc19670054200635ad9fe8f18020402dc6e1c398fb6008cc473c8442d71802acf0e837c83e880290b0880db2e416d758026d71b86a1e75b9c001b5c04b71e00016fc9004679ea0390db88c01509843de8f1bfe98020be75ed9dbbba400c251ef079bcf878fb2000def70c437f55e00000e56e02372878c0031adc32b04000cb108ffc423a5a00902942c361b70fd100467985846fa8e5f960080e1e8dac21ca0091377ad6e3c7f6f18001870661908e77e7e1680240b6d6e03c39fe580291be1b587087c5005417c5c46e3701f1b4014e2bf0b0dbf27ec10048dac01610f4038c013842c25cc3e8f6c01171b808808587211e100485c0b9e76bdbd50052237bdc3fde0caf005420061b5b3fd1e300408078dc0730e63eb180233bf2110b5c600ab3c3a0df20fa200a42c2251b657d02daeb78026d8872d43ceb5f21fa6000db212df2c8032fc9004679ea06c86dc4600a84c21c078ff8c0105f3b20b8dbbba7aa006128f783cde7c3c60091bdee1886feabc01017cadc0732840031bc32b04000b778443d623a5bfc2009029433cec3a7e880233d00046fa8e5f960082f01f7b86c21ca009130e2b5b8ea3cff00618001840b9e97cc46dafb200f2765c2d16be43ba37cd007bb2f30200f9976c9f7619afe232dfcc5200c8537a17d500748936858037097f0803328c01701002004008010041a00b073a0c01aeccf41803469f7be80397549a9a00ee1d1d3ee5cd7fa4269fdf96803a64008030ada9a3a351b89b76c4e962ae4c212951628b14f228624d2c00601eefa5c460b041e27056bd18aac52673407cf64a93378a9c262f59aef48f6a322d3c42680b4e2c526055b3744cdd2c073dc14305d34ec9856ce98a694f18b9d6e2a937ceb6d36a34c5d453b42755ebb8377b1d55e6b0e54a50ba44399bf97f471a865d379419a8d3ae65ac18cde5b2d49632e43535d7664e5e37984913dd2a96fca8ae444c03bbc2091408a016e034a1570d54f174a57b5517bc1de5bb2d708e8b6aa96f669c2f4c68e6e67c9d2dae353c8dc3a396c9e6fb3fa1d5934cbab19e1dc24a2ebb57cb3c45c9d2688363bb04d66ed7ab9d73222a289863ef898e2a1cc6118ddbc377c381824e71f9f9ebe07558a9610020040080100200400801002004008010062255e67b47e7180309530ff0018a5ff008b38fcf4600cbb102e00bfb200bb028e616d32bff94001c3e37f0803409b6dff006212aa855914d2bda5184edbadd5d694b898a247245ae174c523180c03710e1090cdd25136954d256de632c76da62c1d87d8ef1a9c1549500112dc872dc07301d2024bcdd86821dee50048267bf9a60cf5b40102510b8801b2d72ca00b395cca5f329637984bdca4f58bc4c156af1136f1255230774c4386a1683442727bba5d06cd9470e0e9a0dd2219559c282044d32942e631ce6b0000006a306e093c5d4ca56d966493872dd15a62aee182673800b85b7675b02403e70eed331ac1c00461ac117944970a9c88a46556104534c82750e7c800a50b9847d41ac43718b25293c58be64f58b678c5623a66f5322cd1ca46c49aa928188874cc1a808080844b5042739170043df41bfbe0b0eb024f245c365d45d24154973b55374e0a9894c2929840d814c37c26c2601b0f010802899bd97cbe5ce9fbd5d268c9926759dba58c044d24c8188e7398d600000d7c20122e12129ca5397bc43140c512f7804a3a086b12d4109c8129c02e007b731bc412606adae68ca5d8a4f2a39ccbe4cd575372dd476a010543daf8532e627100cc6c03e3112a60982b6b5b51ae98347e84ea52b307c82ce9a3e2384f70b37404a0b2a452f86c41380186f90c5a3e79e456f2f9e199ee7a9e9a23599b9199b106f2450c8ce56154b819a899014395c0dfb8205381840798443c14e9fdc79e04ace3e7799170bb76ed5570e142a2dd14ccb2aa9b204d3205cc7130e80001ac1e016250ddd3772d907282a559b3a4caab75c86b9544ce1880c510c840406f12d4109c9ee5209b4e1e1f1651049004b862c22016802d1ccd654da66ca5eb3a6e93e991573cb999d429557056e0515852288818d800c0236d2f080f0ef8eb0dc7726fa33c94a8a9e24c9b4b8f336213176b2addab2de937ca2c8220bac91497be22242073175c39c139f9e9e61e1f3d4bf003088f9d60d751b72b84012501101100cc385af00482795f08db80fd30037470cb098390c01e4e5cb540e8917593454727dd3729cc041554b09f012f6c46c2511b0700802976edbb46e670f154db224c389658e04206230066635802e61000803db0894a0361cc6c394016a3319584d4256672804cccdc5d831c61be16e06ddef706b871657e701f3f3de5d810fe8885c75b7d1000c0217b62010d72b05e008c07e46e5c47c3580244a6be1c2222217b5b418000986801dee5eaf08024a43fa221cc2d00594d6692c96b051f3e72932649090aaba5cc09245150e042009874b9cc001e2304a417625305ae03e37bdafeb802d594c65cf55788b3708bb3cbdc0b57a54840db85c08538a4a5b43014e535879840892ef000df0808db8078c092708f10cb9584600b39accd84b5919e3e729b26841214ce5c1f764032872a4980987d231c0a1e221021b8c4894cce5934645792e7483e6463aa995cb738289e244e64952e22dc2e43904a3e3708127892a090292f7d30098323309528e9399bd050bb96e664262ba2aa7f34a29090c07be9618693a04a5c6a5eb659bb86883a6c72aed9c108a20ba638c8721c3114c03c40406f12d404e4f5b73be7c0358804613e2b58d96a19dfc60014a23ece36f8a0001047528f2e437f08031533aa697974cd297be9acbd9be5c11322cd75c89aa7072b83542c511037ba2c2099799b2d61f3f3dcc3de6586dc6f7e168028be76bfedc328026e198f10e10048143510b5f4e70000b9885b4800387c6fc6dfa600a406e3e3f1fae009c8039f01008027006821dece00007b33d7fca000db85ee1f15e00a42c21fe6394013e1ae2e5c06009c25f6f1f64002e81c3d7004089785edf17c500400f1f8f95e00aad7ee8676d07e9803c5e94bd4d710f40df94200f765e60401f32ed93eec335fc465bf98a40190a6f42faa00e9126d0b006e12fe1006651802e0200400801002008340160e7418035d99e830068d3ef7d0072ea9353401dc3a3a7dcb9aff00484d3fbf2d0074c8010061db5634b38a89790a33368a4e5a931b89694f758850028dcc5f51c3e382c710f0392a3d27a54c64f3899cfd98a68ca05d6f1b300151610254afa40dce275c5240853f53031cca285292e226102d8634b5b3b977de567df5d0aa834f479f0bdfb60f79d74aba3a4ceaa94e6923a8504a9c994b252cdca7d49624ddd4d25e499a69b2315ce1b9103098c2a094b60ee98444022956ca97bdafd39be466b3e89f7e9df86ee306493e90b209bcdd392536ca66b4c662093793cda62cd66d2734c1d49c27ad5aacb7db80c6646c66c290e0b6136130940d6f455398d25f44e94ffdcbe5389c2137aff7f1461697dbcd64849c5e55b4fb374e9ecd66f2c9249a90338983b54240edcb598ba57ae91990a997ab01cbdec43880800638800d1ba52e317b953863bf3a9074b4e392e6da98ee9ee3b24827b2a9dc8a5d3995b82bb96cd9a20fa5ee8a0200ab772982a928006001ef10c039845aba1d2dd2f34569aa5497f152440080100200400801002004008010062255e67b47e71803075385ea297f0fb19c7e7a30065d8df0144440bc4479401797101f0f8c200839c4033b007bdfdbc600e6354c8a70bf491d9d4dd160e9595cba9eaa1bbe98826228b759d292f145350fa145404cd8438d8616783b5e36692e2efc8b4f568fc6ff00dacf98a53b20db4d2bb1992a94437ae25754ce288a88952b5170f0e293b4a6acd7669a2d5650136ee01b2ae8adc13dd9843ba037b082362ee9f553bfdf8d72c1a5c059cde9d6f571bb1bd767489878ea770e8cb26aa24f46d688bb7150a72407a752976f3b63329719b262c482e0ad939c387531dc8af735d610efe2c0182d0b7fb2e3b5dda7f5ac662c97d62e9dff003131849f3cd094ded0aa4a26861a4076d52a46a091d3dfbe7cfe60ea62451cb95e752d12bb962ce84f7395af5a31966bee656c218f3b006b4534baa2af570ef8aaf6b38ac1f1882b6b538777d69afba70e183f5546f9c0e8aee8eac64fb543366cc76a3db92aaba46951b3e4de3e5a9946866ed9b83d49f3955533430604dcefc17bb83ac243144723067457abc3d6bf395dc6eddfcb76232aa5bc0bdad3b314fb2aefe2d67acccfdd848d0e86966dba735050b3ded2acd5494634539a366ac9a4cdfb11979d2276d15cb945da32d4c151053acf5c4cc71209452c438001629ce78f85db8a3c672dabc5bb4439ddb5119def48f77088fbb770de678bb3aaa67f44569289bd39b5e735c4de9caa92adde3978ed2914c1d91c6294a6d37a704571314a5069d444a054ee55bcec314afec629dd4679dffbde333f762122f4d5f5d2f7bcb2bad61e6bde99e2761afa55552bb2cd9cb5a350ad65a9a48ae45526c45493a6680d31314d115c8fcc5105937464b082e60f75c2023c62fdb2abd6953d1decbc3e73ea73f63576c9279ece7cd4fceee061ba32cb6ae966cfebe97cd58d408cbd1215493cca7649b310786525c22e84b2e9ea8b396a25387bb59532275044c98daf14ed34cd8d497bd0b8469ac4e49e25ac9fd62e92f2c65e7a37112d606832d96ab4d5152665299d4ec19cc291909ab560da782a3d151bbf43b411640a2fee2e7a91d42e0444a2240b17bc0117b4ab6dafbb34f9553c626ec94b14d50bda8abe11c37c7131d563a72b4a572c9e7354234d33994c96a3250f1f3c596313ab37c255946aecb316c63392aa2ccee0144ca023bc2800962376f87feec31caf46ff00bbc4be1d30f2c7a72fbdc0f1a8193a42693ddc3d984b18cf2a54667555a60ee6245d15e4c416d6ecc7882cb024fb7a557ab98309b778cb800b69afd94f057fbe765fe99e139e22972a756a8f2da5df1d260aab077347db3f78cea89a55350cecf45b26d459a5cfac44df98eb15d92668b67474c17314c96f3ac09ae98094044f8821f7f8dea7946ccf0cef4f48192c328ab9ce31c72889ea760db1d454aba7b48273499cd26148b7963d2cd18d2b3312bb2cd81247a89972b15d35c48052aa52587082825c5c0622d5b7695bfd3ce7f8889c3316585952b94f28efcf38c4d0a9c4aa25515e7d3fa96606ab24eea8dec9b4f8011c1f63926c264515c1baa228898ae444042e023e31698a97e3c7f0dd53d2f4c19e8f75dc39deaa3ac41d2f6955848e59b5595d5294c9a3d97294e3f91b59acaccda66e245305d72ae577d440e639c8b10980c6280d84a006c8d19294eae29474995d65771b38777837e318f4f89c4e6a8cd27fb2f9a4b5f58a0af95ee7aa22667265df194565ce582ee1ab25c13059c09553012f98dc073b846f82bbc12e916bff00c71f229f7b9cff00fadaeebd0bccd9825065e84dadf65d64fa52c668f1652474b1cf2e39e64dc252cd326333d22af04c7120a66f7401b80fbe8a5a7a94ebb5ff00fa4f962459facf4c3fe3fce0655fd74f8ef9d5360e9eb850d5654efd69899c9465bd94ea52f7a827d6455c0721d559329530be1305840328c2a553a17e1ad3e2ef61cf02d460f1f6a88e514cfc4c66c5aba90d1c1257acd2ae3b0bc9d934aaac973f5947caf942f9f3662d9645b2eb18c0548143f58511f730260c8442d1d9ebda3a57de6aef754dcf875c8a251673ad29b7cb088e3bb86665fa694a368d325a5ec69f9655ce524a9e9d3997bd9204d9ca449e94c803020b594a8decbdb10a4b3a5ca89031770e6b0472df69b8cd251dee6345a4e0db596a9ee9530af6538f761c7ca1e6d665ba5436d0e61563eadce5afd39cb6ad6890a7d25dc3f45ba524712d95253bc52ec4547742655c75ac44c8e411c84b1d2dc5555d8ced79445573a4c471392c6f3a12afd9a3f54abdd77f0313b05a56ae4f6b5b397f31916d3d19f3192d485da7ceaa3ebaa4a959daa64124946caae73b636f3029b9335f73dce028e61608a6ee3195c5139ccd0eaeb863a38c0dfb44cadf7e70ca2ed71e692d5633a16ca6c09acc7a44b868ee9dad9192bbaea773b9e4dc8e2688305994c29bc0d8507e9aa05290ce77899c8918a20384a6cb084735927721e8ad3c6ba5af0c513da5cd72bdcf0a1a7e26aae295e920bb9a48d3071b4641fcb647214292769319a3e5117a84cdc253117a745d35669aaa370437c79894c53a3994446e51eba71b59958ba7f0c5c57b87ad7a52c662342b5d3b11a6d7399d9e3945dd339d4ed3d2f5e4d4c32896b555f20434b66ce5055aba7652f6801532332f5564b365054b898535555411277ae0635adcb2ef3e5877f9f3e8694c429df8f28f9c8d69828b3f9a2f54bba8a669ce59bea1cf252293b1453040c8324e7989982c091ae02a838c651d074b0c6b6956d3bbada57fa1ac3a6ee273d9cdd8abd85faa5c985450a965546b398c96a49b854f3a91d44954c5567dbc57baf913b2220472b8a482fd5b7856c25c3ebe319a9849fab7689df385ee331326d4bc5bd6f551cb6aef08982d5ca34c2d3d95cc65c354a945c86a895bb91cb663375fb49270797b823d5d349c3933906e2e3ab01854ee80ef0403762611d6f5d53f7b6e395dc3f74c4f522270d366677dfc7f6ff589ae249ba9c52f58cba6ab4edcb698c8251335a5c77efb7879b339982cf532aeedd145773b830dc5122499f44c838422f66e8513a5743e9af1e73cf890e65f1a6b5d636674f98c4d925cf76804afe70f2595628d66663cf529699c385fa90cb0cc4fd8c451d3a7c2c03098510294a8ef8aa81b79a1c479d5ff0046e7d6873ce74f8461069b3797b29a8e518cfc6781b86c1e6b4734daa1662ddccf25b2ef229bb59a3aaa6606309e72678555c1123bb5d41130daea60ee08e658e8c12ae329a6392bdd7559ea638cd339ed4ee9d9e9dda1a22335aa5abfaa136f37a8deb799e352a077da6a34988b524dd33b86cdc1474ab25dc1d98a856eab0313dcc2c25c425b6166b614e5b33bde73c6662f68d646b53db719ed46e5bb847b338ad4daa99ae52a76ac693466eaa55a826b309ca12293b9787793102389736c1bc6eb2c770081de24aee456f32f71c253042b9baf7ba6a8fd4aef589e8563694652a7baa9ff008f53112f46a15a8c9cce5cd473c24f1a53d4cb4632924f81354123374fb7fab242e00877a29634b10f780c1ddb186f13cf2bf8fe18a72e13bb1cc2ff008b8fc53544f8135b4c193890cbd953134a9a5b4304f9e8bc65357ef5e3b127504fab2a9356aed09b15a75903d8a7506caf7f0eec4221aaa54ee71be670f0989cb52ca230ce54f2d7c6263f93a0cf2a8981ba3cd30cded4aacc26a0693856493298374678e25655805f10a083831f7db9b6304d4c621880044d17b4c6ba774e3bb27bb4bd197915b3c29ab7e9dfc7dddfe669f349c51e76b2a41cb8da09f67c88cfc65d2b4272a1e6c47d8d11972aa1507047c46c242add58ab98448610de5804b6a3bdd6ee1ce5e7a4c5de93a9651fbb1e51a6b9ccc791abcf9c4e9f491542ad7d3f9bd727352e12172ce660bca136498b633e23c06ebf55c4555354ce7785c461c2625c338de9fb44d7b7d2308e93f30655fa8f75d7cf5f188377e8dee2b2fdf4ce79a544e5d3a76ce68152b55147076ee1e15d00b43a4aaef166ea88260614c592452825e7db208cacb0a31dcbf56bc77ce991a5ae354adeff004e9c3771ccd636e74bed79c4f6a376dd0da03a49bd453c754e4a99379b9d93c375095f52326ee4eb11cb354144d62b65d44946a022a6f00233a67ae3c3efbd72ca33fbb91a57139e1871d31959f7632744e952c2b89c531454b9aca2a95507c47ca4f02546993a2b379d9ff6191e379219070b8f5811dd9b7e92053862507cd8bdb38aea54ee775f19511a27195ed24cfb3fa89d7be995ac6bc5f18c59add3528dbd3a79b3b64aa35904aeb291d36feb67cf4eb22bc9e61499054983471bc314c91a6e2082239f7ac73679df4aea4aaadac636d716e98b996955daa1a4bd632b35b093cdec7257a6ff00e9bcb0973771342d9d4b76e6519f9c24fb4662ee752291ba7e8b94a747024e9bd4881df14ef2606022cbf5354711db208a262018130314b928a9470bd66d72c6f6f7baf4be9a9a55ebf18b55c3257386fbb196532e0b4a8a99db2b034a41b539b4068b485ca2fe4c32f6f397207ded5efdcccb70dd89dbb340c2c4482a19d8aa6548242a495ae234ecb5255512b2744fe1853d339494eb9434ed78aae31955c47b51b3fd398e793cb4e684ab3b56b646454ced4d0aae635856aa4c5d2a47e5a75ed2efdbbc3011129c459280b98e96e4840dff0058eff99711a46c47bb5cf3dabbe2d4709379fad4f8d9474b97a77617af4eb0b3cb21b3ca4b6ded36d92679333568d17633568890a94be64acac693249d3fb0d47267449526982c06c44dc75a05f4b877a364e2f37efb7deeec748bb1c67539dd3292fc31ff0029f19bda444e0768daa56b33acba3692a1a3a5353b82d486951c5823d698cd1260acc1223c159262559e588881f7a9b7f75392e041288e20a5ad372aa53c538e2a1d32a63a7c7092d4e37b7abcbaa71878c7f27ce734a636b6b6cae5ad7ab6d43fe819f559d9129095d448a0ed150c8b89366d1e2b3568254c4c566aaa2b2299b1156001000854fd5f6953e37deb94dd8ce53a75cc8a22f55a52ea5c70b8a70cdabd7b28738c2947d03b76976d6d6d9ed1d39a5d09f2752244095ce24cd5c0acb249d42c3b39574e053eeaa32e72aa6e44d87fd59842c0316ae84ed6e4ec5534b6b084dcde5bb2f122cab74d9debb35531543d633a7ac9c6a6146f48e5366fb99c8d5c64a4f5449e909c26904c1e389a52f4fa2e9219cf55972a83d548fdd3948cb8b736f0c9a60399404062b8aaa5564aa96d6e775534afd4aaaff329c8bd3b2aaa69c6ea897acd57aa89d6eb54efd9aa332f243b3fdab28bd04e260c2ac9bf514e44434ca64c5741c91a36ae7ada49ba22cab9549b8600537bb282aeec0055b1f141faf2f38a27f4d7396138a98d454beadaa7df8eaa9df8ef8e07da6a1873b5b08dff00ce20a94dc043d619fd3004090de6dc3867cbd70033c844403888f208026e203e1f92dfe300418e2019d80bc39fec30048e7ed8022c6c86e1ddb8878c000f1100cb318026e37cf41f9fc20009c71062b6b95be68016bfb3411118029b1f5be76c3004f11cc3c0ba5e0090be9afa3780231dcd636a219dbe7802440473b87aef00458d7bf31b8872b401e2effd0d7cc3cc3f76fa05b5802e197981007ccbb64fbb0cd7f1196fe629006429bd0bea803a449b42c01b84bf8401994600b80801002004008020d005839d0600d7667a0c01a34fbdf401cbaa4d4d00770e8e9f72e6bfd2134fefcb401d32004008034771b14d9c28d5fa09cbddb209a22ab77cb30983f66b1d25df2f32553df375d35000ee5d2a73000e7884a3ddca26baafa8ab1509744aea5dd81655b5e2fabcfc8b23f47bd91f553374648a314b0cac102b17cf99f563c950068c16682dd74c5baa9372823bd4b09c530c06112e512ea6db739b9eaf07dfaac994bab0e0a3e3d4cfb5d9b51883e41e95818ef1b4c49374ddace1c2caf5f24b424e0e0e7514309cdd4837638af7f387bd9c4aadacb551d1b553f14992f1e9fdff002cc7cef633b399aca1096ba96ae9b76af9fcc9b28cdf3d64e53713451555f891d355925c0ab99c298c807c22036b58000336a7ba3a6e7bd60b07b89bcfe78609f07c51b74b65cc25f2e6ac18b745a32628a6d99b544a044d2452281134c850c800a5000008b5553a9cbcd95a6954a845c44122004008010020040080100200400803112af33da3f38c0184a9ade51cbaff000671ff003118032ec7ccd470f1802ecbf935b5a00810e001f821f1c013decbf2078c011dcfdb8e500418a5310c07efa67c8c51001035c2c20210079b060cd9b1419354126ccdaa6541ab44080449248800522699032029402c0010043d66d5e3359a3941274d5da4649d3654b89355250a253a6728ea0628d84221a9cc2704346cc18326ed1b26d58b36a89516ad5202229248a45b1534c8162940a50c803408990941ef727e90f8f580273cbc6f86fa4014ac8a4ab73a6b90ab26a144aa24a17114c510b0818a3a8080e9ca00c3790f45df2a724360ff00b836fd48027c88a2af9d3d21cb5fb05b7ea4011e44d0ff007bd2101bfc01b6597fb900405154489470c824022191ecc1b0d84350c89ac015f90f44e5fc5d90fafa837e3ff040148511458ffd5d90806803d41b7ea4012144d15f7bd211f0062db5f910053e44d103e6d3d21bf8306dfa90055e445157fe4f48b21cfec06df1799000687a27ef76437e7d41b7ea401eec699a759abbe672794b356df6d41aa291ac03700c45280ea003006484c4d044315ae50caf84351b4012199bbbed8005cf8e5a69f3c003086760f1b7ae00a014200e013900da093105f2cf4802ca6520a7dfa8452632c96be5130c2455d37497121446f84a63944402f00598d134380098641212103df0b16a0003ed4e00a8287a2aff00c9e90db5b767b7fd48020688a2f40a7243adbfd01b7ea4013e44517f7bd210bffdc5b7ea401429475044b6f2414f1006f99d9350bd833d490054143d17af93f22f0fb01b7fedc015050d4571a7a43fd81b5bf3200f2351d436f489f6053c0a280262a42c9a81840bad8305c6d9401e9e44517f7bd210e3fe82dbf520081a2687cff8bb22e61f6036e7af99000689a2402e34fc80033cc58b6b5b98f720090a2688dde2f27e4260b5c07a836cfc7cc80290a2a8a3665a7a40625ae06062d8406fc407040172ca96a619b92b8692794345d2be15d06a826a140c161b188401cc3580324025f50fcd9401170be1c418f0808865700e760803d3971f1f5c01e6435c46d61b0e11cf410e7f1c0157e5f0f18022e021dd1cff00c600a71a42a0900e4135fbc4c847c42ded0bc01515321085210a04210a052814309400a1dd0000c8200063cc6d6bdc4200a48b2070360508aeec4486c2206c225d406da08710802b0d7ba3ca00a6e500b8980a40d4c397b44600a8d60be5e36e6300400080679738006b079d6f11f9a0073b08db3bc0125d7c35b5a0083065600f0080273f00f0f18023b9fb71ca0070bdc70e5ca00a8035be7e16cb3e50052371b582fc7e280273f565f938c010224f572f8f58027971bdf0df4801ef6e371f6728022c38b20b806a3eb8027d621e30045c9ea10fc99401e4f2fd516bea291b5f5401eecbcc0803e65db27dd866bf88cb7f314803214de85f5401d224da1600dc25fc200cca3005c04008010020040106802c1ce83006bb33d0600d1a7defa00e5d526a6803b87474fb9735fe909a7f7e5a00e9900200c4b75eac19fae9aeca52492017ec6789bc58ef0c6b1723b616c54ca17c5982c3c39e4419f394c2bfdb9bc7ae924e6350b1464fb4a97377b3497d3c73b35a9c72a384baa2293a680e4dbbb23d656029ca530e222bbbbe1bf668775d5baacf5aae4d3c95ec14c3df3122d7ef470ff743e6e3185a1606db8eda9acb0eacd9c3d95f5b792a6d3772b532e6f227ef1d2a93c964b5000c533049026322a4de05c00e22729c132e0ead9a7de6bfd95bab0d2ed4a958ef6a5c49aaa36abd552aaf0ae8a687f9a975378e9a17d24da46d1935270ad48daa956653da1534e9b492934d88d5e3f45cccca9ac745b10e462bae8f573a8439d3306200cac0016b2c554aa5153bae376cbbc93e7b8a7fde518cd09d6a77abd4dd6fa4e9bcb7abebcdbe8cbab3954a559fb272c69b92cc648fa5b255170959d2160698a0bf5f6c633a74a11658c42a27583010c51022a163daad7856bf4cfccf487996a5295f82afd50e31ee496f2fd86d2fa45399dd6a821ba295a0a08d2ecddc89f89ccdcef5922da6b8888208a8559b2eb2aba3d631a662800113c2788b44d73bc96fbaafc3e7b38ce2b8c19d9b4ff4b7ba5aa2575bd869ca4bd46a4dbf11eb940a8aeb4d1b95795b6a81cca9cee14216ae2304dd28cd13a4808f6688ad72dae018c07044da284a336e85df32fe723584a97ac2a9afd0aa4bbf0fecd76acdb3edca9d79226b3276e10c0f88c1b2e692970cf943556b4a141783a342965a441c10c9e1050551126228608e8ecd459da5a534d4e2630fc92dcefbd8469d70c6df6297e7dd0bc7c0faca39c9100200400801002004008010062255e67b47e718030753ff0028e5c1cdb38fcf4600cb3310ddd8400794017b961286637cc394011882e216b8877472e7007c93b41db6d5f2fe942d2508552fd8ca98d57229138a71c19a24dd697cc9801d659364541774e0a2e552875b3ac890a6b26403080de2c2b557ef5d552dd386118c462efce0b72dd5da738f55f39ad2ab9e133ecc4b7bf2dd14769b5c4fb68150496a2aadc55ea04b7b49470df70697345caf8cdcc96e7aab37b2c5addd164e4a7c882729c7389b35344f2c79a793d79674e445a38abf561ca335a6e9fbc73077d23769a5a9aba519d62fcca9e9bda12d2f933c0642b4ba654f98dd95bb9520dce2d04a9267314abb93a8e0a02a193285a296768aab3bcbd9a6aeb7a955783c69c6eefdf36db35a5ef351c2e54d78ac2ac26709d3e90d8b2b5bb2ae2afa7277544deae6ed2514e4ed8bd9aa2d9359275362bd2bc41333649126eb1b329884101126210bdad1b5b6cd155d58d3554971854b53d5bc4ad0ef5d6fef529bef3e6971b7cdaf128f72fe53b429d4cab17d2198b9aea9a5a54df7546ccdbcc9b356a08a5b82190c22a288ee9731f7e01bd0c83144531825b54bb9b5acd55529af1ab0ce9ba5eddddbce21a756cf054d4d3efbb8eb78d8b6a8f2b6954cea1913f9ecdaad251ef2a13c8e67386edd671ba7db3e78f4c82e08a2922b10ae0c387127a0e01bc55faa9eb15aee74c17b3da71bdd9ffb9a7d381996d5bedbdab9715431a96733657cb9a9a9196d0aa346bd98664ca52f9d4bc0a44d122e2b03a6a4b29bdcca3bbb6830aea776a6b1776b7d69ae13eecf7c9958b4e13c127470c1aa667bfa19be871b48da2551339a967b5636aad91e4b2a9a391df15d3896ce1e18fd6da09d060c136e4102e4d0f8d5484bde1b18235746cbe0e13df878ef95be0ae338e19cadce7bd6ab1dc688feacda7d36d6612996d6738688273fab9c3e99cd1741a9d298357453b2662a9e5ee8a2555038b8dc014056bf70d60c318aa9c531a51df55ea934f7c61de6d552af3e35772baa1ee52e57e5e73b6ccabadac3caf90963ca8a6adc672c5bb03c864e9111599aaf24a2aa8734b9db505cc5eb17501da6a9809f6b3277018574cdf5f8fc34e1c1fde92b67545c6fddf1713c797dd83616b3aa8e5dd1268c7326aadda2f4e8cadb3b9f3eee2a528a981cb451d03658ad309805005d544c04b77f3ef45fb4b9b45193f1c37fcce452c5452f7af0c777cef35a6db79ab985133873339dcdd272b51ca0530aba6c89dc3c9c3699bb6a75db99aa5ba7038011ef9000a62594c050118ab9eb367dcfd695a71269f5bdddbef5118ea636b49c6d064f5f4e6a1934c66cd662d93ae12914a526a4164e9cb770d8fde48a81855501131d7e2636e83500300a6287c63a2f4ad36b92c49a54bc747e3e89353cde0745d856d5dea2d5e36ac2a96f3469329fb292d1d32516ebea3b7af1919d9d8f5e4193241437b98982c4ee798635f28d152de118ed7753af4c71d4ae2b1d21746dc78e1fe0d23a58edaab2a5768a93494d4efe9f4e4b2a934d136263346ed1ff005a9b1d17bee6741dba98091aa638d32024440bdf3297305b3b0a93b487ed529f2ab5e5ef4e0d4739b64d59b7eed6d7e24b05ff00f318cf766a90aa36a27da4319dbaac274f65532da9549459a9451bb5096272568d5f2ed142614416de915685105454cca382da45ac7158eb454f93a6a85e19ef922aae6783a7c529f3e857b5ada26d7586db7b3e553324b18335245d852739ca54a709bf5b03e1eadd4dc2cec7527b9ac9ee6d88d96715b097563ed47e58cfcf1cb082f6ab670dd33ef4e5e5867898298ed7f690d1d55c556a2a80242dc1c23b3c9e232f6e5526c9a9344dbcc175dc2e008004b80dba4953140a298efc4aa61ceb4bd9539b85f974af83ab27bb0c36b09ad6d38d27be3d5e318c6fc54e04d2b5b6d5aa197cb6509d653c6e54e6b5720e26f2f06ce9cacda58cdbba97905e28cd322818951b28544b8cb905f589adc533ba86ff0032ae3cb42b4636977475d2ba3a27cc97f5c6d5a4f47b47937af67c816a094d17369ace9462d7fe8a566d3316b302b2488dec520a560c2703897ce8d2a4bd2dcd2f77cd353f35d0cefbb9796e7e0d4783ea62a795d6d35b389acca4735995468489acea5d4dd6ae5b9414565477b25eb6ec544d0322af551516202c54442c5c4253611be69b8dd7a13e57ea53c27fb34a92bf86312ff35ccb8eff0003afec82b3adcdb27ac66537981e7c6902f312c9268d8026abac8a0d4aa814144d06293c326a898a0299400de6e2b808c2daabb677b5c7cf3f9e64d9d3369774c3e7e779c6e45b63affc94a8c8fabd9a376e47b46285a82ed260e19379bbb1426584e8b44d0d002e9941404447ce1d2348582f7dae976563cf532aab6b15ec4f5bd8e1a61a49943ed2ea33542949a63b55a824f49247a8fc9fad48d1a8389c95826c0e881d63b6324a020b2eb2607210016c38731d739d86fef5dcbf3349c715a753570aa49629b53c3665a9f8e9918e356bb596ec15a9425cbb5aa1da2bbc98084b4553b65bc999482ae136e6298c531082657761a8861101d22f52baeee4b19e135d9cf763e6634e354e79471856b1df81b3d45b4499b4a6819487691535412e733f2354ead7083360548812c33b55a8cf0edce898a2a014d74da98f7f700cf30a56de0a3daeb11ce73c3dae98ed4ac27978cf77c3a9aab5a86ae9bab4ed45319e4d5f4ce7744c82f275504fa93b76dea4490783b93201ee898081cda0944d8ac016b74e0aa7775766fbd3cbaf9985a4fa3c74f48bba23c3869ccba98ed6b6b0948ddbb965613b7f543c96ce95aae9b525a96ea9670d1702343204dc14c9e138eeb0aa73ef80718659c735192e3731e2eaa535e3561a41bdae179eebd0b82a6a69f8538f13b3d1b57ad4b55f3ba5eadaa9fcd41d4ee592da49fcd91215c397931969de28c8aa354534c6db850c4c40160eedf48bd1b78258a757e94939e92532c5ee5dedba7f8392f4abdb65634b6d313692aaa1fc810914be43312b139da3768f81e4d8e83f104cedddba98606a98e3213749a01df32988c16ad8549da43f6a94f938fe7d69cd4739b7576cdbf76a6bf12c97ff00cc633d5741e93c2f8a692b864899732127a94e9d9205c99a0d70e22894c51bf8844d1857ddff00eca0a5ae34fcfb159c96baab76913565b44933aab27ce48a4be6aec859491300609cadfa2254d764a344ddb012a2224ccca9570b98a60e3167a36f274bfdf1f34e9126b938deaa51f91bf9a96f8e5dab6b3533f632fa01a96b39b53d4acdc8af6d57cdd344ee0e645995564532ea22aa28f5a35ce27dd800db085b142afb47a60fbe561dd2e35228f537b95ddbfc975356d8032aae7db571abea6733576ffc8b609b3eb6cd36a91d15dfbb48ae5348522a8899c24dc8b188060cce370b6100d612a6a7abbb3c3665ae8cad79d2b457e3a384faa30346d6f30a26a19da737aba78bcafb5eb82be4e64994e294c1255b2f2c4d3dda0536359139d44cbefee3879461557f55866acf0df7afd53f09e65dafaee0ea53f86e2f8e1d3798496d4b5b349eb8983fad6a6947952ce895aa59819048dd992f7b2c38aef9b94cdc4a9627842b7154404a9ef07105ec21a3f67dfaa7f4d37575c57481a27adc5fefaa7b963d4cfc8aa3daad47da691aac9c38a6e454e540f193a34bdb90d52a2ddca8de5cb39c6879a64c040dbb2977b62982c039d2bf52a6f3babbddff00824e02f5d2594fff000c3bdb525852fb55ae8fb4fa5a5c79dcc5196b8768c8df53ae08ddba456fd880a94c9b04db996294ce2d85ca8b13108e12a768bda455e9395a77a98f2cb5ccca9d9a28fc9dce27cf8465ce8d975735f4baadd9e4ad49e4c4d283b2914bcb4c374c8451249796018e772c5c372acb27bcb9c5e20e0413b6131358b2daadeb9f852bbb9fde9823d5a169fdd6fbf9691255d21b6db5853bb736ac18552fa48ca4aea94df49d53346acddb59b3e3253254a819074e9f8151c8e7c4826dede78986d14ecf55355a25ef5d7d52eec5fad39e11bf4ed0aed93793b8dae2d3fe17aab9f1566ff681b7b964a96aae5f54cea79309cbeda64a98526bb06cab16e5a78264ac945ba28a255cea9058142e271df01b0db488b37f552f37452dbddb7426e3f0b6e356694e3691a2ae39a86f1eb189b2f468a865538dbad50e6595fccf6972e4e86a78e1503c41121d372e1dbd5d76a555ba0dc86b5ca7dddb12226dd8e960d1ecd169c2a5c6525577f359f430a93bf6739c57d1b744f2cb27944ea61ba2fedbeb0a936c6bb19ad56fa712f9dd3d30990c9df8b305d9cc194cc11dcf546880030315b9c2ed8ee563dac63e11d6b66d5543e54b4f9cce384e9825b39497b6d9ad73a935ca2efc61ced6e32951547389657b56b279564e367f4dba9ece9f0d44c9a91433898b697cbbab33de2e8ae402eec54500805baa25c2039464aad9e29385bddfabfac3896bbb4f8ba53e0aefce3c0b8a62a9db74c47ca29a4ea772f732b9ad1ec96a44acd0498ac59c20ccb312ae43a465804c2e31858e1ba37c517addd7863b552fdb2bb9ea674d533c294f9ed35e5a1efb1eda255b32da652acdfd63369abe9ccb27aeab1a41c334906f277acd54888b74ac89144f7788480531cd883dd38842cb19d76139e2da9f8e1a16b6c1ad369ae8938f839311594d6ae94d555c38943d1922c699540624e5566758adca24a7c827de9515cc914487386f3018a5f3cc5102c452f6129f9f48f0e051afac7f3ff76fbf96a7b6ca27952cdf6a340bf9cd4d531ca9b7aa25091163355d94c566cab7548995eb640893b2ee8e61054a0989b75a058d7da8509bdf4f954d7f7e24d792e15f9d33fd70c8cbd555cd77fbe6cc99a3554ea5f3b46a99749a49403762999bbc90ba4d2dfccb119031cc6294cb2dbf05302629e130701cac55ec1eaea9f752987e4f8cc1a5b6ca95a24d717aaf870cc5152baae97e89481a9e9a3f6f514c5f22a9672e5aa2ab8238984e48dd455448122029dc3088e301110d474b4d7ff774acb63b9d32cad585568f3735f8370629fd61b6693eda5b53c6a8ddba6b299a49a5ad58cc0e882d3b973a44a678f4ecd060265ce636f7dd5255322382c628587156cea6e5b5ed61c12c1f3d78e45ad29c30dc9cf16f15cb4c399a623b4bae6a095d672f7f3c9a4d98cd6975e629cb5c8202ab67884dd04813eacd502f5431513e6dc5654f60b984075b59434bf159bef78fc396452df09e568bb961f1e79c1f5e481fd6cb3d99927b2496cadb22affd0cbb47e6786729009ae75c86410dc8d80a360136a39e59c69c494672c5b5ade3f1fcd0248b868217b88005e000885ac2003c039c01202184ba8df4e5004620cc2d710c872e7004880721cb20f6401190d82d71cc4078da0083094433b5f5c50057c8ba8db8e900520629bde8e7908e998710801979c37f6400e37b0622ea3eb80207088868021c600ac4da885fbbc4d9c0100628e76b05b1070802072e77fd3ca00659880007bdff003803c5e6116eb0865ee67b87fc23005c32f30200f9976c9f7619afe232dfcc5200c8537a17d500748936858037097f0803328c01701002004008010041a00b073a0c01aeccf41803469f7be80397549a9a00ee1d1d3ee5cd7fa4269fdf96803a640080100689fbf6ececf5d3aa45bbc983f9ccbdc22d269d46593076cd839709ef9241ebf4103b440e29f7b0a8a0080085ed7088a5cfceecfe7a12d1927f5d6cc1434841e4fa9a57b6661d5e9a155db6383b9822531b76cc44c38d5294072277822ca96dc2ce27a6ac4b49eec9ff001e04ccf69b43b2ec7c5356ee8b3d9d129f979d9981d1466274945b707323880820444d7c5a429a6f385aa6fb94fc0ad4e137ba3c5a4bc5a32de53537d49d3ced596f5462b19bbe75d612dd20b1440a64953e2c24300880080e7104972acd2589cbcefd476d53629a62aa8f4ca14112a65cc4e2a08e1000e778306a8f36bf42a1b4391d12478779504fe5ea4d99b768415932304f2eb2aaa5ee94871c899e7ea0bc4a52dadd99153849ef35a5b6a1d1de6fb5c4a9f7a69438aea447788cbdd4c652a90e8aac104ddbc498ccdcb72a263a28b8228a1515844a535c78c4d9d2ea4eaa74cfbeef9e1cdf126adcf2f04da9e8da53d381ba55db44a569b64bbb99b858106cd5f3b72a374557009252e6c2edc6f0522980a20905ca06b09b40b8c67554967a7f8f896a69bcd25ab8ef3d298da1d11513972d24d3a96bf7ec5168e2632d49720bb689be40ae5b0b96f7de25bc49429831006431b5765552dce8daeab34674d49a4f7a9e8cbd3d4d2724e5c4b1554e8b86add074a9d54ce9a181c1d4226055cc00998d748d7280dc388661195ecf87f92f0632b4da5d134a516b5593b990234fa3d5805fb54967d8c5e2c46edc124d9916514de2aa94a180a3ac4c62a9d5e08aba924dbc917b20ac64138949662d9570dd110c4a21316cbcb5d2218cc986fda3d222ba588c41c38c817d432898125d79454fee5c2dda72fdd3458ed9dabd613c28ae905d44941bd8a62866203984413c0b12d7f428cdd795054524199b597273772c3ae21bf4e5cae204de193c57044d806c7f37c61bf867c398d52d5e5c7919864f993c6893a68e1174d5c101441ca272a89a84368621cb70101e6106a01ed00200c44abccf68fce300612a6fe51cbbf1673f9e8c01966363173b5c02d9f1802ec731b85b3e6230045846e03ae5c72f68c01598ea8065c6e16f5401188c37cef70be7cffca009c770135c721b8871cb8c01038874e7a5c758000650443bc3701e636800275034d2c03680188c17cc72e3c6dca009c7a0dfd41caf0068c3b14d9918447b1af71bff00a6bef5ff00b78005d896cc72b49074cfecd7dcf87bbc0103b14d98e31bc9351b08f5d7df97dde0090d8b6cc00a03d8a3ec78f7ff007e007ef29b2e00b0497ceb5ecf5e8065ff00df802fa51b30a0e56b15765276e551259370919555771816471826a10ab9d40298bbd358c1cef05862387cef36c4f1e21c37ef70bf8401418ca587172fd8200d5677b2fa0a6b3259fcc655bf78e6c2b2bd65d2602252813cd4d52943ba5e0100598ec4f65de6f628dbf1d7d9f00ff5f00523b13d98e57925fd4f5f7fef401e0f7607b2674910ae243bc2a0b11d23f673e0b2a89c0c437dbf98401eff00bca6ccbf9933b85becd7d6e5fede009fde4f65c2602f6269a7d98f6c1eaf77802ddf6c0f648e888a6e2438babac9ae8875d7c185544d8c86c97e030041b607b2634c527a790fd92922a374d407cfb24d4314c60fb7f32040175fbc96ccf087fd0bcadf66beff00df80290d8a6cc6e1ff00425b9875c7d971ff006fce009fde5365c611ff00a17e378f731febe000ec53660237092ebcdebee1ff00df802fa4fb2ea0e58b1566726408b22b26e513aaaaee0135d229ca450bbf39c00c5054d6307382c07036b13aa16b78c01afd4742d2b502e82d3763d6d46a431103efdc23840c3710f7139007cde300618362bb2d1ef7628dc3fef8f7165ffdf80207623b31b8da4998ea02f5f7fef400fde476603ffec4f7c3ff00d63eb0f3ff005f0049b629b33010ff00a134001ff4d7dffbf0003629b31ef7fd082219e40f1f0faffd7c00fde5365b91bb1731ff00bebdbf87faf80207625b31e125cb8fd9afbff7f3802e25db21d9db37ad9eb5940a4e5a28559138bb786c272180c5102996128e7c04200dc71a97b5f2bdbd50000e205fc9971e5780244d9584715fc72f1802930ab6d7bbed1fc9006a0f763fb3b78fdc3b7128155776a9965cfd71e06250e22730e12ac050cf904016bfbca6cc6d7ec4e039f5c7df17dbe00c530e8dbb1a653055e124aed6595012a04733498ae8b329bcf2334d470256e43d831153b00d82fa403331fbc9ecb802c1251b17883d7d6f0d178023f791d99582f23b8783c7dc3ffbd004fef1fb33028ffd0636001b7d98fb4febe00a3f793d98f19267cfae3ecef97fb7802afde5365b7028c93dbd71edadfd7c00fde5365fc24b9869f66bed7faf803354cd0f4c53c2e7b218f52eb80507165975b16eef83edc73dad88748033dde0270e01f1c010023701100bf21f8e00774c361b5c32b8f1f540011be61af88c011611b80eb971cbda300546c616d38fe48020351d34d478400b946e6e5f2b2e300040447bb6b8ea1718000023eb29bd41004984f7d385edc600801b5fc075e300004a16305bd5eb8016f46d6f58fec3000b7c87c33ff080038f108656bdbf6f8e0001800a1965e1c600f2778419ada0dd2369ea803dd97981007ccbb64fbb0cd7f1196fe629006429bd0bea803a449b42c01b84bf8401994600b80801002004008020d005839d0600d7667a0c01a34fbdf401cbaa4d4d00770e8e9f72e6bfd2134fefcb401d3200401882530d0b509e71d72702b9cb845a19fb91641dd0264d04fb90d3d1d73d60b00f13944af631b4fa7aa1add2a5eaa9136a5abb9a3e9e3b23f9628e26b2c984c5b022e0cd1605cadd526f08450855921b6651c45b5b3baee5ce71f99bab1eadf435f49b6ab7c30fc292f2473ba3ba17d57287d2299baa8e9879319356a855e04ec738353287909646f40890af62282242bb48c4002955f798402db5e8f570fb45c95a34f0e4fbd193c70abdcefa27c1a7a645543f430ac258f9c3a9c5692d72e1ece24f387cea5b2d332515712c95cc254aae52156145255723d4d4ba640294c4b00085ad13f5773f174bf66a871d54f817beef4fe1fdb6aad3cb67c4d4265d096b6a769d60fa56e657524da40bd308cbe9c97cadb3796cd50a79278875e9db67efd049cbb58af45439f7a5b289a62006b455d4f44a5b6fdda668bbb0beef0cc60d35a4757b77f69ebbbbce9d20e8d954bae8a7b3ed9fccddcb6575052aac9e6ae999d3ebb2a70e65cebae8cb9ea24325bd6e71ee1c0a36e21700cf5ed2d555d2d6375258eb145c6f9eb4bdf0d99d8b8a6b4d7ad3d26abcbf86b74a329b12e8b48d0955c9ea07330954cde4ba433495fb8cb81bee569ace959b981918ca28649ba055ccdd24ee2204e3c228b65429f56858e6ee279f3c3b90af6eabcf7d4e3457a32eef1669d56f42ea9275b46afa7e4ab656c18d64caa26c54892f5d57769fca9acbc1070651d0a1ba4546855ae924450fe689f0def953442c1e3e1f69e914f2781a5fc784aff6dd7c31e3919357a25d65302cd5d4e6b0952d359dbaa91e3c519cad441b2669fd34853e44d248ce4e6c280a1bcb98c2260cb21ce26aa268bbc2b5faebbf3d322b436aaa5ee747eca6ef8e66d14374664a4955566f9dcdccb31ac59d3a55d5951de49a6c8b9914bd2970804c58b84d514152a00a60b858c26011304755bdb7a47561135d55fead1ef8f89959d17553c2854f7378add9c74478d7bd1699d4951038526dbe93e0a3d15a59342b899aaba34c4ddd4cd52b874e57328af5807204b9ef6b5c7100da30a3078fb53fb2e7f668fd574fbad77d4aaf841e13ee8beedd745e5764ac2712d6aa166057ac9f199aa5669a49cffb6526dd5905d250a42a600877152db50b690a269766f3b977add5056ba154ab5ed4f49679b8e8c53c9a56f4654b359f4b588cad9965f5b48e52d570673d6d2c762fe405c6ed75d64c59b9ef984c63e3ccb9146275a9ef5fba1d37ba2a9c7154bd09a94a4b73fdae1ba7938ee6f79a850fd055b4a646ca4b369848e74cd9d43259a3e74bb576aab3b6925178299266dd774a36df981d8625132062c3df036405b2af0a7dd9e52ecfd1cfc632f30944f1d75f5efc72d1109f41e51bd3c69475ea626ed5d50b2da35ea6f58bc6c7ff00a266ab4c5b2cddcb2749ac990417020a7887ed69ea501241d6e1ef7e8dceb7a8a1513d6279e7256e2bd7bf1e1a45754f84b5e507d15b2ba527b4cecee41209ccdd39f4ce54cc8dde4dd368931238396fde2b640013200065972b8e7115b97f3f3fc0a134b136a8a9710062255e67b47e7180309538ff0018a5ff008b38b7f588c0197616c0019088f0e5005ddbced2dce0091ff76fc87e8803e7ada57489a8a8cda03c933e6f2f34ba54f5b4e26eec52394c8d20ba04445c80808dd424c4c2411e250d22b4bce7495d5fd9f7b70c9a96ed623a7da7725262e61b76dadb6963c983973484a94a524f249acee9c76829d6e6e79cdd4eaed4e0b1773808208a62043e358040794694d3b50fda54758a65f7bc16e4f121e52b73aba26e1772c5f145bd43b5ddaa33934b2b599292a3b1426f53849640c48b21bc6d286533213b494de1814b99121cc529000986fae99d35609eae8e98ba17c5b23d67192bdd757fd1bb6c9a7b5abadb3cfa5b3faa24952111a4e4cf503c90866ed082f1d3935c5b8acb940e20191ef7327846374b62be1525fb5fcc14bcdba38d2df8af95d4e74f7a45ed825f49cb6782fa889cb8aa539b272993a0d9544f2d712c73ba485d1c1750544cc1ee6af74980e60b5e325f756f54bfd4e94ffdd872668f2aaaf65b51ab84dfc3b99b3cef6b9b5891cda7247b37a2d40a25d49194ea4dd49541d4f549c0a6263b1bb830a00505b7680615319c86c5e1367153e0eabbc74c7c66376a2d36571baeaf3c3c2277bc8d413e90fb53667234944bda2cc6425eb937eb6505bae11e4e9db4b19dbb7a89db108446c53148adcfddb0058222cb69d33ee2fd54a73e3d608ab2719edbfd2f2f9cb037375b51da44ce5d3f7cdaa7a2e4e83b3d532a93481441519cb35e468af8170382a3bd5bec7de289894804218040c220006caaabeae7574dee58fce3ed1bd95336a97bc9739f9cb76a61286db5ed5109ed12ca753690cca44ed2914bdfce1bb5eb02e5dcd5a02c5074ba2e8eab472273941329d0326a000984e17b075d54cdad4b8d497e553fe56e39662cd3e09f7b8c7e0f7e863ba4754fb6563b519c3190d64c25b2fead41a92890aadd40311d3faad364bacaaa8ae539d338009552817be41025c38e1638d51efd1dce9b4fe3cb716ed3b3426bd8afbd5567fcf9ef2cebce911b6b90cb66f234e634ebaaa29b7f5475998b692a8a75f632160c2628aa2d96788356841ed22a6e1451cea01ba2984ddd575d2a8bdba996bf3d54f44eee89b9c39ed459deaeeef6977d33e1c6146674ad87d675e54bb59ab1c4cea196b8a79c5394a4d24f4ca08d8ec4f34642b2a74d715444c43180d9e0cfbb9f773d1d2a9f494eb4da353c2ed3f3ce4c157795955ed59a7d6f54be1dd0690e3a535767a0a967b2ff00234f534f24b594c1c4bdf2e566dd35a42f48d19ef1451528224139b09f7860013e588b14a76971bb43fd4e95d7370b797c9b9d2aa9772abf853b91afb9e93bb7431585312f23252ad49d4ffb61d3b9111ab940b2768c9da0d1797af3449a81d52bec4a2c83b5080886328666c356de2f44a7838aa237af7b0c196a568e65b5d2537386731b3bf1377dbc56753ce7a3eecda72dd234ae6356cfe91ed096319e2b2c44e598980cbb309cb211391235ec0a277b85ad7bc6d5d9c5aaa78bff00654f1e5e68ad0feaab6f34bfe74af1f89a0d31b53da2d2ce6b3a55a3dea539755a4965d20962f31775e1583298491474a26c1e3951b28758c760aaa74dda88a489471e210100356f4d0b7cd7fb552f934af2979e91806a2a7ca9f1a9acb397a2d6119890f499daa5474dc99e213fd9c522bcbe853567503f9ea4a1d94c144a64e65ca3628a2e4dd5902755bacaa62b090ca100a060f3a52537beefd5e1afd6533861d29c317988fbbf7af5a29fc0e3fb78e06b958edef68cd669b60a51376ac8d8a6956b3492d54f4ea1c5eaf2e92375c928922a5397ab8b5def5850c7001c203ba264731728faba9fb33cfed1a9e54e09ae3b91d142a7d25187ad7277634cc6f6eac634c1eb06d4bede76c92eabe49b3f5aa8d9d4ce65569642bb0aedbb354184a929b20f5533659af5a3157515163f6108ac5dee2ef17ba18b6745eaea4b086fae17a171ff008e272d938b3553c669ee7294be18f0dac0c68f48cdbd4c995406954cb67e06a0e979d5413798a6c1c3c673d56413778c048cc7ac97aba2e9267731aea0a6a5c0a2608ad2e96d38c3630fc4da78f4bd4e18a6a4b3576ab8f3c71e4a9797e687c99b0d2fd23f6a937db4754ecb96a1457954e29055a2856e938485163d702600f8ef416516137ff4c0d2dbaef81f2bc459af6bde7cae36be18ee942bf77ddeb792fe70df0cdd7a54548e47a3fb899d3d3303f684d69a499bd974d4d2f23941e4ed9a4729668d444c926b267120a84e030547d6514b59d4b8132ae56f7515718697c0e3929da66d0287a936854f22e492e983c7348214aca1c4ea655f376633851d357066cab8149c8ba58c8898ad9632497740e27c2231343bd4c6b7dae3ea5e8dcf26deeee22a50e7ddf1bd12f5d52c33ef3394e748cdadd4720a799253da12939b925156ce67b504f1b028cdc792d332cb8adf70dde99243114dbd7474d757765f32e037884d357f4bb4d51bef3a960e325773ded1375cba35bee95d12796fdadf927d31936dbe57a5af6ac9091406327a85117ad2b0de2ce580b82d14ca62591c80e3bb3a6baa2651c95454a40c003848650c3862d298568bd9bf13eb69dd7737e184b34b249d566f3bd727729aabefbd10bc749b795748bdb14824b4253eeea6a0ea17f5f4869c732baac882e08480d325d162a29312758383b2a98ee81cca242a2a0629b28d1d37ad2aa32879ef9a6baa171d8c3f1231a70a156f1f5b0e4e95ddb5b5cbbb3686ddf6f7359ccd29594ce6812cca956355ba99d50596b874d2687a6d562540106c574504454eba29b90de1f76628e0cf28cefa74df8d2637ed554bc773894cb35168acdeaf3dd34aab2dea60aa41d2876b73bda14b059c9a549528334a5e4d3260606e538f9452a69303ba2bf5dea4a82891de0150408d4fbd290ddeb8f735b9f58e9d2f574adfb138f84bdd4e251bd84d677554f8cbd3773f6b036cdbced3b6834f6d194965249305a62ea4327eac0e970329f664ddca2b8b160e9d3368e1d6ed2f724c4e431c72c43602c62b38e5cf2adfc31e18e3069524a9556bb5cbee7f3df8179fbfb4fbf831a35c11e4a4d522ce9192efc656fca8f699e6e12931025402673be0388fb8ef308aa16de027df8979d1efe51c9bc2637612557dff00727e5e7bf1834667d2b768722a1893fa95b4a9f36653caa6907a64d023770b4f1827be9024745ab978926676243a072114377c49610bda1eb2a6ee75d3b3bafaadd3d656d7e5ab164d2b69aab2a6a57b48a1d0aa9e10dc7552b32ee4bd2076b23b6391d3b345e9e7129733952919da6ce5e74124668de47da4e4527ee1d1145172b80126e916e748a4b5d5c631355c77aee576b6bf24af863311a71ac54a94de7344fe7ff2a33e3c347946df369ad24c44a49364d39c4fe5f227ad5aba41c4ed44106f473499ba0689bb74dd1294cb1eeb2ce5d16c0226ef9c62955a24aa7ba5f48a33dcb1d259b2b2c52dee3ff72d3bdc2e4655d6df36aa233baf25f52d212e6ac366147d6532a4e680b2c8bd55c8be17284bcc55c3ab115b6eb780550dbcdd808086ba3576ba96317e95fa92fe70de6544d74d1beed7df4bfeb1c70d0c73be92bb6894f6832a7da37764932750d5531ed904543396fe544c19272d51cba7cc819a0dd14300ac505701b086000c8d5a139878aa6ed3f8af378f3f677bc0b357b2c1d58ef4a28a1c47372f81d83a4b4d6b34e63b31732a99aec2549cc661399fc852eb055e69d93295a64834dfb559130144c8894c5ef14c220225100c2395a57e8ed1b78dda6b7c25462c5347a4b35a4d542e9549cf03a48edd526d226ad26bb34a96735dcb69b9cc8956ad9ca6d24ddbb376d2e3b57a54dcaa75d2023911456c499cc64ce025e5d4ecb6dd9eb4fded1a8adca5f9652d514aaad955c67386b83a737c661ee6779aa6b7a8e9aa9365525983a95b8f2a1fbc96d4b34147ab2663b492b97d8db10ca1812c6bb7c8a263776e1711ce32752bef7437dd1f06462a8dee52ef93854bfa536d41f38a4a798e9b4e8f7bd48f387ecd9f690285994f9dcad2eb408bc074c887451485b2e541549454c603894022631fd387e2a155d1cbc13d0b5784f0bddd4b7e10b16b1362e8edd2036b35a56ac027f2c9636a7aa996cd6632a4524dba0bcb4f2b7856c0814c0f5c2cf0a729bdd8e6411dda8186d9d8166a68c73bb4d5fab4fe1eb0c9b5c2bc32bce9c73c359f35c51999af4869fb498cc5818f244dda1b542514c5a1c077ca4b3b3137e738104f8855b18c6c5a61e114556cceb76d1fe8bd1e4a446d35bae7eebbfcb8e4682dba48edc65f47c96673b7d411dc5754a53d50499d03370cd8c8569cce184a96eb8633838b841224c4ab5ee98e228944708808747a34ddd59dea574a956f2dfb314ef7529294572afc611561f8635eb2f0306e76e7b7993ed1eaba425b3a935493d527ef5134fdb342b8669a52490cb9cf56465ae662d5141550eebeca02b8ee613980ba897055ec4e8af55dce9a627766e746cd1d3b78eaa84a349f4954b5ad4d446f51c8ec9b12daa6d62baad5da8f91a62514acaa452076ee58d4a67afd6994f2569be31127c45babf57404ddd31486150075000b8ed550a99cf36974bb9f1cd47532dac170c7f72c3ba7c0e5e33fdbfbedbab791b0da24b12515ae2af60c12565ea2cdd94bdac91bb841170d08e880b8945420a7884a00388d9e20b72d955b13addafac5a25d3f8c0dbb4615c693478d9cbf9f6b13c1bf4bbdb54c9793be61259111a4aa514c3fa9d9988902330527ee0ed9c8a6f5dbe6c7689a4290ee2c8ac273f70dca3a5533691f76f2a56fc69557578e5ac3e99d537617ad153e1b2daf862e7094754e91153d494f6d2b67536974c9db596c91bcee6f524ad331b74fa58d45924eb7a9972114115ceb146d9611e719d9c2aaa6fd5494f0bd544f471d057eaa4b36f0e94b71d72e673f9656b58cdeb45672acf264127ac2b0a3dc48e5a9aea22923227679ab4453294a25b03a49a1573f3c41ca2dd9e9c6ed59ed4f5b2bd1f97cc8b5a93534e5847fea24df5c4e97b27a465edf6bdb43481f544e91a5deca9192b67939993c4514de4a88aae5326bae72a988e7135d401101d2d0a7d49f7aa5dd77f934b458afc29f59abf83b685b5cfd61f4c54a93c2e6b661a7cc3004d8716401fb70801c34b85f51e100516cf301b7edc6009bd8a3adf840121e36b8dbbbca009b0e7a5a000dade688eb61fa200a02fcbdba69004e8016bdc474d2e10054001a643e3002d9785ff6d6008307e0e7c078c0148005b4b5fd41f9200ab90785cd7f9e0090b0fb35180000362dfe20ff0018029387e0db3cf8fc700032f587abe6802751100c80388f0803c9ed8592e21e81be6803d997981007ccbb64fbb0cd7f1196fe629006429bd0bea803a449b42c01b84bf8401994600b80801002004008020d005839d0600d7667a0c01a34fbdf401cbaa4d4d00770e8e9f72e6bfd2134fefcb401d3200400801002004008010020040080100200400801002004008010062255e67b47e718030753800d472fbfc19c7e7a30065d907b996f710d46d005e06b883f6e4100418c36bdee1ad838401a2d43b1e924ea6cf9fbc9c5440798a62d97408bb7147ab5f17562828dce6dd62ef601110be7111f3cb2ee13f3cf3ef31b31d8152f309ab29a3f9dd4efa652bce5d3072bb555c37101c61ba54ed44c4b0e6184721ce246905c86c4e5252a25f292b1c0dd45556e00edbd9355c62df1c81d5bba27de1b10879d886fa8c447cf0125a53fd1f293900aa691cdea5936fc0a0b0cbd66ad7780511b01f74d4b70011ca2d3a08d4c5d3dd1728191b6320c6655190ce0a2476e41466551c8194dff00bb9c1adcfee9deef5f3ce23faf0c847c7c4cc3fd81534fa6ed66eee7954b99b3025984d965da2cedb58444372aa8d4c62d84c2210e40c631e8c944a2da564567353bf5e4e63292f7ae9768a2c92caac2baab246336114c4cb0e3b16c003a5ad05865869d10f9ef32286c0a974276e27294eaa9466ef0824753522ed41d2a4100012a8b835c66b8140331e01ca1a468c712893f475a16573a964cdab99b91dca0c50971eecc37442184c091448d4a6290711ae52886a3ce0b00f13779a51f484ce6cda653390c9a653264404d9cc5db341670890ab15702a4b28431cb655329ec03e7140750bc38878e0cb59e6cd7675393639c52d4dcd0e47667e077b2d6ae07ad9c844cce3dd133fba09132944da881402f60087cf7e7de381732ba2a8d963f41f4b6472697bd6cc092a6ee9a3341155297a238d3649a89900c540a6ef153be101d0226441628ecaf65e9cc662f8947d2e9bf9c02e59bbd09534059e15de4e08ba809e25014f7f8847171bc469774138cea5ba9b1cd912b4e214fab43d1e792367067ade4e6943233349c9804a75934052dd81c404404d6b886509cb80584f1cf89979ed1f48cfa4bd8b3c9149a75280148425730668ba68028fda841bac5327dcb7772cb841e2e5858608c606c8b6505a6829e2d17491641d6bae76184a59830eb41febfab025bbc7f856bc3770cb80dfc73e242fb23d94aede5a82b46d26ba3255947526454953331592ebaa0aaaa3628a564cc650a063096d736639c4a6d395a1118468cc94ca86a2a62d956cfa9e91bf4557477cb20e98b7548a3c512140ee4c0721805432461209f5128d8728add5f3c732d79fcf0cbb8c6b7d91eca1090be91b7a2e926f26992a45e65284e52c88d1d2a4b6ed45db824099c4b60b0982e16ca25e242c32320ce87a21bb1ea8da9c913769d9dd8fd59260dc89f66e63d47760402ee2e711ddf9b98e512db6e7e70cbbb42123cc767940794be5085354ff6f990eac33cecf6c0fb71bbdd6efad6ef798776186d8ad872d2237f1cf8f32672e1970e47a3aa0a88714a16965e9f91b8a6134d26e9d3aa316e7971514040c9260ccc41440a410012861b0582d0a9dec5e216197cce7de63db6c8764c8538ee40da8aa49bc85fac470fa4a9ca59a6cd65496c2aaad81204ce70c216110b841a9cf40b0c8a5d6c7f648e25484b97a228f5a5ad1c9de3696a9286476e93a38615174d21484a550c00002600b8c4ce33bbfcf9e244611a7caf2c0cc3fa46927e9ac57b2393bc23a708bc7445d9a0a82ae502153457500e51ba89908052986e2000001156a499f9f1f3314c3647b28612a99ca1951b49b295ce80859ccb9bca59a2dde149e603844a9011500be40601b44f01acea5fcb286a265ad1b3697d3f2462d59b45d8356ed18b7493499b93ef176c99484002a6a9ca06390323085c4060f1f9dc11e25d9b6cecb3e97cf094b5381389537234964dc25ad41db56e8904892082dbbc699084309400a2000170089bce5bdf9f10f1496ecb817350d19474ed27049d48a4d3949e209b7749bf6483a0510494dea691f7a535ca453be051c80d9eb156899649e89a314a5fc9934824834dee81bf93e2c901976e8a38813eab837584042f6c3ac4d5b59e3fd644538645acbb673b3c97cbbb3d85334eb2600ed17fd45bcb9aa2875c6d8050702911302ef13dd1301ed88b842c39427c08ba8a17d98ecd56a8c6a07149d36bcf8ca24b1a76796b53be1591000495172298ab8880190dee11094644bc7329986cb7662f9a22d9f5214b3d68dce82addbb895b4552228d9206e89ca43a620514d2004c96d0bdd0cb284633f3f38225b6f07aff009f36fbcf03ec8364a2f258e0f44d22a3893824493ae6943213b32a2715522b73eeae994873898a05b5846e19c4ac3121a950f2fe732ee6db32d9bcd5464799d274d4c4f2d70b3c971dd4b1aae2d9c38577ebac88a899b09d457dd0c60b098dde1ce14ecb95812dca87f3a796066dc4b983870d5c2e83759c32389d92ea26531d139ca2998e918c172184a225110d4328463247030727d99ecde51d67b2a94a6a57d75da53075d4e58d50055db73ef5172a6ed32e250871c4430e651cc06f04e305f3a7961c83c5c97f52d254ad452decca864d299ecbf7a558ac666d5178802a4f314ddae5317105c6c36ca1c418c0d966cc01e4a5c0d1d4a8b990970c8dcf65b403b00c62a59a9813ba5df113772d9e7ac4cb99d486a54685e4a282a1a5139994e6554f48a55379b089a6d3564c1bb774ec4c6c622e164880752e71c4388473ce2160a3425e2e5e678bad9becf1cd4de5139a629c71500e1119e2b2f6c77dee45b12ce453157ba19077b2082c256f0f13dd6a1a885d80305e9e91aacc25c327066a306e6402586c3760098930ee3b85f73b61c832ca0fe7a644d2eee581893ec63640790848d4a168e349c1c03c0950c9d88b5072526ec1604775831eefbb8ad7b65a40858753659749e4ec955cece5ec9a28e011072a2081123280dc9ba4710900316ed300296fa064112ea6f3220b34e8ba3d2a855a8139149529f38301979d9592057aa18a96e004ee409bd1f72ee79de6f7748824b15765db3455eca1da949d32b3ba7ca0591393cb5a19597801f1815a1c53ba4007cc305b3cf589bce6750f151a1e557ecde5751be41d39994e9a2addaacd0a466aa4990e9b8b6f80dbc455fb600001b3b08005c223e20c186c2e41744427f56019af57eae3d65b5d3069881b60fb1bbbbade1b05bcdb8db5871f9dc0cbd35b3669289da9354679533b70b8dde26f5ca4a26e4c09ee886700545331c485b60113659708037012873f383f6ce0061d40046da7edf1c00b00e995bc2c201c6009308eb7b6a025f9e0000dc006d6cbf24010240f344795e008b659dc4351b67ec802ae370fdb904010611b5ee221e8c013af85f58022c17d74bdb87c7002c195ee21fa6009d33d40433f1e7004098c060b889b3cbdb004d83d41ae4100538407df67a7e880278dc6f7e036bda0090eee5a67ddf0e430045fbd61ef656b8f280244b90f0b787f9c0116cef7cc731f9f2803c5e07d88beb7c06e1c2da40170cbcc0803e65db27dd866bf88cb7f314803214de85f5401d224da1600dc25fc200cca3005c04008010020040106802c1ce83006bb33d0600d1a7defa00e5d526a6803b87474fb9735fe909a7f7e5a00e9900200d69b6d2e81715ccc68c467d2d3d552964498cca440a875a41a2b6c0b9c83ef471067e3113837a539f0c271e81a8697b5971d0f5a17683455694f273ea5272c67d265955514a64c8fbc44ea20714d5294dc70980422d1827bc89c5ad5667b56958d3b49d2735a967eeba8c9648d547b3379bb515dd20905ce7dda4539cd60f4404629554a9cf82ef70bc4b253f3bb132cd5ca2e1b22e11362497215448d610b94e1701b0e7a45eaa5d2e1e8529a954a564cc1d095f5295953849ed38f46612b55c3b68472292a8dd662e0ed5c1702c521fbaaa462e99db2ca2b454aaa554b26a5722f52bb53a5e74b87ccd822481002004008010020040080100200400803112af33da3f38c0183a9c402a397fe2ce3fe6230065d961c171cb2d39c017a1e97e5bfe480293679641cefca00e2d58f4877b4d6d29dc92692149ac819a67304d9770aa4e5e6ed919d995625323d5150010dd6eb7e0b5f3c168a5fc1b7a4f3c3f9f0d4b5c9692d63c7f8f1d0d46bddbb6d9c29a4a5c853d26a6a7d513794cc69f7a84d3ad8252d98bf4592a550546a252394c5c261910e9d8c2202225b0ecac5baee6aaa49f59cbb9a297d2a5d5a436ba467d1cf8132fe91bb48a7a9e9b2b5748259317c5753e694c165ef4c2a3f7d287e93324b8d74122e3302c2629c333010c6c2115792858b49fee69fe9504a5b4d4e09c7ec4d7eaf33373fe93ce8922ed49049a58f9bbb7cab595387af96203a2369722f5d19341a20e5c2a62acaee00124c40a25318e25e315ecfeeea9389eb9e3a46f146d47e5e8de31d38633c887fd2727894adf4ed2a393524329a724f3d7ee8cfece05d4f521ea72f4512227c620a8801cfc0998009bbb136bb0ea5baabab8bd9f0dac48b377927eede7c129fe0dc3653b569ad5f4ed42a3f94849e692154e81c510742d1c019befd355b99f3768b5b3c2603261de0cae114b5c2cdd4b8f81347ad0f81a0d11b73da14c02532397cbdb54355ce584b9e14d3476560c1244b2366f9e2d89bb73a8063ace80008006cc6f72942d1a579b8594f85df8b33b272a5f05d66bf8525e4f7a50cd65d55b194851ea981ba32a354e911cacedc365a6e2174999d93770d1506e0388e65164c0c1e6c5686aaaa16531e09f7628d2b9a69e313d136bbf065e34e9035b88a8e8f44375e56efca46f4f26c6642acc1e3ca74caf71440c894842b8044d86c71300e42198452feca7aba55497549f9c850ea8d1551e0dfc0d7d4e9673b09433492a7a50bd46edf3b6dd552733233549068dd370a1d748ac06608aa265413021db005fbd8b0daf66f1c31c1bee6961ce75cb50b2c70c977ce7ca34993bbd0b5412a5a364d509593a9704dda24e8583a2882c818e1de48fa6641cb48bd4a195a5ca3340601fd23152c4e5e686636cec3f9200a84403d5c7c200a40075b87ab8d82009010b5e00a6e060e21e300541630e59d87e38002216b70e7afaa008b0d844443c7d630004400b7e1fb65000040440740e03000b610bf00f1d2009308f0d7dec011a1731b87cf680063017c7c79c01038751c82da5e00ac35c5fa7f240148e79659f3f46009e571d7f6bc0102700100b7aa008ee87af95f8c01580007b78f3bc0148dc790711bf3801c6c239fed940013e6216ce005c32cf31bdb3d200ab40b71b6978029b0e2c843f07c79c01216bf3b67eb8029c4037cb4d6009cbcd0d6d9d87f24015641fa7c200a4006fa8078780400010cc72fdb8c011703071f5f8c01391846d9d86faeb00488869c34e7ea8022c6b0dc7c47d63002e005b87ede1000040440740e03000a002003c03c748024c23c35f7beb802342ea0201cbc20018c050cf30e7ce00777311c82da5e00900f7dfa7f240106cf2cbdbca0072b8ebc7f4c0013805b2f54011906bae595f8c0158000663c78df5bc0148dc6da07135f9c00b67611f67e880026ef5ad9c00b940433cc6f6f08026d84b6b67caf00458447210f0f180242d7e76ce00a40e037cb4d600f2796ea8b05f3dd1ae3ecd200b865e60401f32ed93eec335fc465bf98a40190a6f42faa00e9126d0b006e12fe1006651802e0200400801002008340160e7418035d99e830068d3ef7d0072ea9353401dc3a3a7dcb9aff00484d3fbf2d0074c801007e737483a566abf4a5aceaea62aaa4e413b7079451ef9e4ca7d2d66535353394acd676a15259c90fbe60e4a92805c38f15ac0219456c685b4aaf56d2a6aadf76ed9435dd5d26d6b5ecd3553ebd14cd3f8af5783e8d334a42594a5394d52b4ebb5949d6cce44b6d0116d4753754314dfa531713454f4e4cdc11198a075533340b247138eece6039ad8af1575575d0b4afd124bddaef36f96118e3818d14d34d5bd7a597ef517694bc670c0c26d2d4ad66f499a5d5b4d3f7c5a854d94cb64d4c3d92d672b0652ca80aa2869bf6a0f69a05556509ba01361537d87085ef78d2d21d55ddf6acdadd09537e3f34b8eb8114614d1395db495ade6ddc7d29859f0c59d1579dbefe1705a8a6db443a5226539a6d7a466b2299cb5f4b8b2549991b4ce50f9419ba29b44778639dc5db18c7b6f08223608d2ceadaa9bc5baad393a6af53f4ad334e194bbf574add453cd54bd6cb7bdeda8c3083ea9e84854d0d8524c85c3055cb5a82a43b849abb6cf3765753a76e9be23b5515206f10548a005ef84c031c9d913a7b3d952f35424f99d16f8dbdad4b275b6b91dee37331002004008010020040080100200400803112af33da3f38c0184a9bf9472ef16ce3f3d18032cccc209db9c01781958002c3c478840102735c79146d8878de00e4b51ec0cd34ad1ed4259db6405d3b23decd565a2e1a758491eae9acb3733a2b75552a62200a1d2c56852a3c7c73efd43c7c3c32ee30b24e8c259524aa2cea068055419006fe54670649296ae0e99b740cb3d38a4924a8622a64b139844aa9af3f9de1a9f1f1ccbefe0fcfc5d91c1ea362a2c8cf8d53b7c72529ca8ce144cc928e92219d89486314e6b94a005111130862ce21611c27c730f199d63c32f22d14e8c806934b6509542d193093f5cecf4d8caccd0c996646133d4f7883d21cc45c47dd0861128fb022b75772bbf977781379e3c5deebbfc4bc63d1f5f36a79e4893a8a5e32999306f2a7ac96921552aacd910c9b648454766306eca61c220370cb3c822cf1cf9f5c31f04453865f39ff002cc8d31b1cab640c5eb696d685c333577d3159d4abaeb972a0a6546eab874ed554d8532814004d906410ab6943cbf91c4c0bbe8ca674cd06de51b640190a22cdc34959db394770ccb2e2824e517a458a1d588099800d630077ae39c1e3f3be27c9109465f39ff2ca87a3562712d513a819362ca9bb168d9ab5947576a76f2c3ef1926e1b24f0a8ae081f326f4a6b45af399d7e24e905fbad81cc5d4b092f7151cb966281e64a26d4d23209714db79d787fd2ae3bddf1bd57eedac119dd511b9474c3f84160e78cf5f96634dd19173b7c06aacfd67ac03ced5ea6e3b5379d5faa7ff11ebfd6b0ee3dcf06f30e1e11678f8f8e7de161970f0c8e8942ecca494c59ca252ad3534b59ca1cbd4b7add0332969953334c8cb7ca229eecab0862206237be11cad6bef1e2e7ac4078c70f8b9f3370c423def5dedca2a0801031ae3c358018cc05c4019f02fae009b8dc74c86dea0801e6880805adfb5a008c46b01bf2f8f8c00010ef1ad78026e60b71c59085f208000370e037f3adc6d004098c5b885b900f3e300488e11f5e9e300400801740111180244c6b88072c58b95a006bc02dafb79c01188432b61030e7f3400130865cf5802406c000019f111d42008139b30e05100b8f1bc0155bc032d200a4047cdf58dbe6080204c36c39fe9802bbe784320e22100520711b5c00006e5cf8da0091d34b88c00c423eb2dadfa6008c58ac1c02009c5a88656d0038c0003187500cc31006b9c00101e417e7f96f00315ee6fdad00400818d71e1f1400c6387107b0a1004e7710cae0360f00801a080805adfb5a008c436037c63e3e30000c1de3087a82009c460b71c59087008001710e03cedc6d0040984a2221f1f380244d8472f678c01002005e02261cbfc2009131b40cf2c571e16801c340b6be17e70045c432d00c3a7e48002610cb9c0120360280058788f1080204e6cc38144331e37802ab78065a4014808e45f58dbe6080204c36c398f871802bb85f08641c4600a40e61b5c00007bb9f1b4013c2e2171801711cb89748023162b067608026fadb2b69878c0100730e6201986200d738024407967cff004fe48023109ae6fdad0078bc3626cb08f04cff009a3005c32f30200f9976c9f7619afe232dfcc5200c8537a17d500748936858037097f0803328c01701002004008010041a00b073a0c01aeccf41803469f7be80397549a9a00ee1d1d3ee5cd7fa4269fdf96803a6400802c5690c8d554ca2b2e62a2871b9d43a0998c23cc444200a3c9ba77f9ae5dfd9d3fd5801e4dd3bfcd72efece9feac00f26e9dfe6b977f674ff005600bb68c59352091b3741b90c3731522148023cec5b401ed0020040080100200400801002004008010062255e67b47e7180309535fca4977e2ce3f3d18032cc0c182c370e01005df9de1ecfc90045b80fb06df3040122223a1b3cfe7ca00178f00b670031e571d7807abc600085fc3fe1c86000067c8406f7e300418475035f2fd1004e6003caf9069004e2d3d2e3ed80230dfc3c2df34000b6b70010d7e38023df6b70bc01373014bc790401388386796770fd1004094dcc7d56802430eb70001fa200a33b679e5005661300e7c4331ff0801701c802e1c3280291010cef7b6b95be38027202880183c3e3d2008ef5f5cee161ca00ab177b3bdb5118017bfb341b5c7d700536b6b980e50048e8018b94002e2b8679e771ca0001b9dc2d9146005c473f37d9f92008b701f60dbe60802444781b30bfcf000bc7805b38018c2d71d7807abc600910bf87fc390c0100017b08d843411d6d0040888e86e017080273028f2be41a40138be5710f5c0116f6072b7cd00405b5b80086b004e626d6e178017301038f20d3e680271069af3b87e880204a6f1bf2b40125c37bdc02ff0046b00539db31be500546130087111d47fc2005c07200b870caf0040808677bf3cadf1c00c8007bc1c6c100458d7d6e370b0e500558bbd9deda88fe8801711f66836b8fae00a4439e6039720ce009f7b6c5cb84002e2b873e3002fc06e01c06005ee1cbd900461e03ec1b72e410049bc0d985e0016f9f00b67003185ae3af00f578c0122023e1cfbbc6008000bd872101c878da0081111cc0c1a05e009cc00dadafa699fae009c5f2b97ae008b5f8d8395be6802039dc004a19c01237c7adc2f002e602071e4100793c3075458033f723defea803dd97981007ccbb64fbb0cd7f1196fe629006429bd0bea803a449b42c01b84bf8401994600b80801002004008020d005839d0600d7667a0c01a34fbdf401cbaa4d4d00770e8e9f72e6bfd2134fefcb401d3200401856d33a98f51b866b49134650992ede73d708732a6b17bbd5808062e6239e2e1e30419f3ca5d2376c2697566ecb23a7d59a48668ddacaa88275834e1639a66e1a165ab001b090eedaa245d1746004ca271c4514cb8c62cdcd14550db712b74d33575a1e739a5a32f552957529c14e3cb2e77bc24c7cc7a426d79a28fe684752874d1cd274eccda4a7b21ca2497aef66ee594f1f1d55162aca12549149bf48c051f3444520c4233534aabab1da58eea5d12aae55d4a16aa7198289ca4e1ac2ac33729e5ce958bdf181b231db6ed997772371d9f4c3996837a4c670496a4ede75f5ea27ae59ac2c1e6f134889204488adcc43e62243582c78d1d1eb7055b4b5776c9da475a92a56f9df81754aba9ceb9fe654e5c9cff002647a37ed2ea6ad2a7a9661339c37982612a929c65acd83d60da50f17eb47752f3f5c39f7aba3dd2a872e11c83110a3946566b0a9e7b4a1ef57565b94f330aaf7a45386ce5b9df79f1f9c8ef7126820040080100200400801002004008010062255e67b47e7180307547f28a5ff8b38b7cb4600ccb11b103f28c01760002239fb2000e2c3c0007480280bfc5973d2009bf9a0191af90eb0054021cc70f318020002c3a0d8730ff0028024c06d06de01005217b73f1cfdb9c00e3cbbbde1e700558b87b0039c0028641c7d50041f171c372e797080234b7b39fcf004e4263700e41ce0018d701cec3f340155b3cac23c2f00506bdf5f01cedac01203decf9e7c200174bdf41ee96000880e1cc3c600aac3ef6c221a9a00a33c595b3d33e5e1002e161cb869fe100485ed7d46df92009c84c1de0f5c0139db2b006830079800dc74d34d721f08026fdd1e23967fa600aaf61d73e23c200000088e7ece70006f6e0051d200a02f9f865cf4d2009f46d6bdf21d600aae0195c70f38020002c239643a7f940127036836f080290bdafcf8e63ebce005f3e5ddef0f30802ab869f107380050c8ba1bf267ec8020f8bc2e19e5ca008d2dfe3f3c013a88f00e201ce0009ae51e03f3401561cf2b08f080283df98721cedac013efb3fa200828f1f1ee9420091101b67eb802ab0e786d7e700519e2e1e1ecf080016cf2e0397f8401217c37bdf2fc9004e4260ef7b7c6009ced95803418028cefcfc35d7c200811ee8f1d33fd30057710e39f11e10002c2239ff008c0139dbdee11d3f4401e60039f865ced6d2009f46d6bdf21d600a8040388db9c01016b0e990e9004980da0db3d0200a4046d7fa47d79c00be61c3bb98f840155f80fb3c60014322e603eacb3f640107c5c6d70cf2802340f678fcf004ea63700e20100793d35d9afcf01b2f6401eccbcc0803e65db27dd866bf88cb7f314803214de85f5401d224da1600dc25fc200cca3005c04008010020040106802c1ce83006bb33d0600d1a7defa00e5d526a6803b87474fb9735fe909a7f7e5a00e9900200400801007828fd8a6ed06aa38408e9c9543366c63941454a95b7824208dcc05c417b6970803de00f059fb149d376cab841270ef1f556e7394aa2dbb0c47dd9446e6c2198db48403de00b27d3a94b3792f68e9da08399b2c76d2d40e6b1dc2c9a277072261c441248c61f00180d24adaccd8b974f1ba2a635a5ea151784c260c073a6558a1710001ee1c072898c241687aae9d22ce913bf408b3332c55d035c14bb7448e15c041ef1f026a90c380075887829f9c1c7996a686dc2f992b9854924634fa93c76e8a84a926e0e947660358a88862c6216c5a0f288a9ddcf7a5d5b85e2cabc9bdc9be894bf02e65f3264f923aad54de91355440e6b18b651236038778034108958a921549f42e604880100200400803112af33da3f38c0184a9803ca397dfe0ce3f3d18032ac4001301d6d9daf6802f6d9dc2f7e500526b86617b8e63c3c200d55fed6766acdb558e5ed472d6a8d08250ac4553e019663441c262b90c17b28998048217c7a16e309c2746e3ae0a39cb5de8b5d731c27a6ff00066ced9549cb549c2407324ba6555130944070a8188a3636798701089a9438651393d00b61bdafef4338824ab09c06e006e1971802301ca60c203afc5e36802708df301bdaf68029dd7329bd7e01005580c1ef4ddee21000133660002206e5cb840181735cd24d69a7b51ab37645904b4ae4cfa6c07c68220d14149c6212dfed672894790c44e09eff008e44c396b5467849ddb881bc3dbf144909c91bacfcd35f3be5c6d0048146d980e1d44d7cb3fd100460361b080886b7f108005056e2161e1ed8031cc6a0923c9b4d258d1da6b4c64874139b352df1b63394817400f7b077d3301a1184f4eb87f2bbc3c1c709e92d4f7d2fb8b29b56d48cb27ad64af6629b79b3c49355ab0c0a9d43a6ab92b421fb85358bbe394b711b05f3ca0b1cbe667f862ad949bc9cf844f75e5de67f766b5ac25b6403a8400314dc40c186d87db000a5544b61288787e48020c50e56012dc4474b78c1b806168fabe97aae449ce69d7a13394aeaaa920f4845134d4140e2438a62a148262e201b1c3236a02219c344f7913e0655eba6cd992cf1da846ad5b2665dc2ea0d934d24ca263984dc000a171188aaa494b2d4d2ea70b321ab96eeda20edb2855d07491556cb263722a91cb8c8628f103146f166a1c32a9a6a51ef6504a1701f5441240a79f9a2250d7d9004148360100c56cede3005580dad879d87c74cf9401afce2bba3656fc8c9f4e19367caba60c81a1cfee9d66687326c531285ec2b19330139da2139c3e729f2c43c33f9c63cf0361c0711cc06fa7ec1120c3553555354e49569b4f1f232e97a262937eadcd75153614d34ca5c4650c736452940444740886e094a4c4537b56d9f4f1999d4ae6bbf045e212e72d9441c20e9bba756dca6bb655322a9e301b8098a01c6f168f9e599575232926ad6939acc08ce5535693072a4b929aa49a06c5898aca9d02380379a2532899803d508713a2f8a95e188bca635c7c1c3ee65dc92752b9bcada4ce52e48f65ef431b5749df01c2e217001cf5018824aa5339954d5aa8e983823b4115dc3551525ec55da2a64174f300cc8a104a3e210d277913e054d660c1cbd78d12398ee65c6488f0980c1bb15480a1031086135ca37eeded0e22742ef09bd1377b8878409240a39db3036436e1004141403580074fd820061b80e4236b683cfe2801bbcf41be771f64012051f446da8983c6008c036c26bdb5bf3108004de088800088659f380244836bd8daebfa600e7d58eddf6474ad466904ee7a2d67293545e2b2e418be7a74dbb831ca928a7544160201c5235b10f01852af385cba86a0dfd30c69944a060298b721b980e60361ce0d402a121ad981830e9fe7000a0ae1b09443f6e7000531f44d9867cbe28031b279f48e6ca4c9396bb4dd9a52f9496ccc84bfb83b48a539d035c03302a803ed8693f3838f30f0775e7878a95de9c990d731cbc3d5ca009300f8e2d200008890046008102ded9887180200000038db3b69005561bf1bf2f5fe88029365de0d47310d200af510c5eafd8200a6c51e03c70f18000001a05ed96bce009cc330be9a71f1bc011981830f3f9f3d200ab2d4795fe28028c25e203cafe1004fb2f8b90f280279db3036b68020b70365a67e3a7080246d61e3ede7f1401184bedd6fcf2803c5dff00a1ae16ff005661b80f840170cbcc0803e65db27dd866bf88cb7f314803214de85f5401d224da1600dc25fc200cca3005c04008010020040106802c1ce83006bb33d0600d1a7defa00e5d526a6803b87474fb9735fe909a7f7e5a00e9900200c2b6a68e8d46e26ddb13a58ab93084a5458a2c53c8a18934b001807bbe971182c10789c254e8e9581652f9a1e5f444ed4f294f3b7ab4c56745f2b9b2aa3b311b54366aa897aa75a20a2002ba622917b842d80294d31450b3baa1f1d98bff0089bc5f83c9ab389afdec53d56d4ddfc31b3cb34f13d645d18ea264fe4134773665309cc95c4a40264659e1152b0672c72cdd346e71139930514700006f38c4297782631422d754d6f3bca38bd8a69c79d54ba9c6ac9bcaea5bbc1fa4aabf0a5dc5c16491ae4b7a2656e948e98457351dd76996956caa4c6f745179632a819a4935549312336ea39728ac918ca2a649239c14111309c04ca6b4d54a8c3487a6554a85f8707c71d60cf1fdc9c7487e38a99dda1b59f6015e309d48d9d3ef29f97d2edd4a6dd4cfdd5d95ea4b4937dbf2b54c0864cfd64caef0ca2a7b89af88a613620a578da5a5592aaf4709a6eaeeccd68aeed9d34c64a39ed4ff005f306025bd14aa124b28429d95112e9dd1a69b365ea465be51ebd199ca8180d402aa8d88a04c37c42aa6218e6bff00b7b8044dabbd31b334b587dd988bbc3e7128aa7ae3b49f389cf3df867d0ca513d19272d959484f11a5dac9d94f25f327548ca9476b4ad409749de311758562258d774e9ca4b2a53944bee45131943dcc3bab6a71718ed47bb79d9c25c12a6add8d58259987a3794ce4a75aa2717c5cf72c5c6075e75219bbddab309a3940812690c9d72cb55c6511526531580ab9853d4372ddb814a6ff00b538473d185e7be174cdf086eef157789b5493bbc1cf842e393aa77cadc737da274759ad5b52cd9ccc9ecbdec95f4c9ecc1b4a5d19c19320ad4e3794b603a61dc36edda465ec3ddcc0c018c32bdea6e52a314aaf1aef782c38685e8ae27a784cf998471d196b25a75229c3c98c8e7334940be49178fcce0cb352cc29a96ca1474d56326a98162bb979d5b776e0a08e3035ef3db6ba6d5d4e857669b45faed2aae9e895575eed09ecf5dcbb794c5743e94a87fd724798f477daaab584c9f397d48999bba71c53c9be437e83d55151a302a1d70a56feee283964a58ea2c61c0af74098440f846bef52ff004da53577dd4d7f5967698d9ba56775aefa2ba5ae53552fa65a992a9f6095bcc6b0a39e28da909cca2413f98cf5e19e3872d667bc59f83a609a2e88d1c9851403dd0e862215450a4031b00080acd45d9fbab4df3563c613c38f2451a7157bcdf742c3862b1e06c3d1d762b3dd9f2550926ced399ba9ab929d49c91f2eb1a6224517303c72d144122a0e0e5540141055613d82e7b14a116a70a52f9c92f1ccb39754fce7f03b2409100200400803112af33da3f38c0184a9c6d51cbff1671ff3118032ccbed78adf9200bc2e1d72b8fcf0004074cc035f6401c3b6adb1269516de766f51f663c7129481d056e741604da3c24a801e53e5992170df8377c631d2c86c6d728596cd6df0fdd927ceebab1fe111698d29718fcb9b5caf2a7e5b38f4ef631b4c98d453e6ed28c9fb4ae1ecd6b25667b4e566a52cb265209a317a94a58947ac0a862fbbb5488dc51006e644ca0086426a529ab28583b9157bd5ef5d76a745b06f5b4ed2675a63dda709f095c5bbc75ed839abf795dbf9b4f691a8a969636a2a98913419c9db89dcbf60abe3bf39526eb2f8706f88188de78661947456e5571ad72b942f89cb4530a84f4a71e781c8a4db2fda232a62a9490d9854eaed18f23aa1bd4f591e7e664d6a35debabb122076ce416762a23de484c280b600dd94c5c5192aaed9e0b0d8959b9957de9c5fbc9dde5bd58da67ab87b946cae1a28d2274c7cf673b0baa9f3b65239dd153a674386d1539e2d2c72ddbca581a50a52ee9b18065cd1eb9c2976894a0a2273184f88a6500d730c5a9795ed3d278dd74fc6168ce7aa65dc95373c1d4aad77463a9d25decaeb35ba260d05d4e74de6259c919a2d107a247a84952aaf1a5ba760ae228272a00128e3c404000d728b377ebb3757bb3d29c679bc1ef34ab0bf770f5a3ae51f034675b08af257d23199e5326a811914b67b4da9464e25a46aa3397538c5b2493f97a8f9d3b05dba663117df20540c2bef00710986e4a58cccd4f1da9e51b2b8e892fbaf68b5ad2aec2ca30e155e96fae738cac0e6f47ecd7683516cd656fb67f46d55229dab2d9ef96b532d350664aad92efb120c1a38070739d45c0a2289ce09f560b900400d15a212a5d4a69bb44d3bf1a1bfdb7b9cc72dad5fd6551eb5fae1e8b0ad79dd85c2f698f49a5fa3fb89e579274fc83a9291d927946a3f2516f9ef570485091a891d75da3572a6e9bb87a24f70038828726f0e50030df5a37d4e626ef7d11e2aaa97b273578e0b0ca78bdb9f074d2f79b1c9f63d3596744ddaad0b27a29eca270f57aa9bb29510e91426e2f165146abb35f7c7002aa81c84298e2412880dc02d78c36bd159a79a54f83c4e8a2a4bb457568ea6d7546af4f50f5ac836872aac296d99d6b4ed09269a4b167f42f5841598ba7fd913364f664dd919d992c20676d88a1b7b7544a2a5844b736f4d58be2ea8e09d2bb93a974392e6cd2960d2a678c55e2d2d7a1c9f6acda6d2aa0e709ed0a9498ab5139a1a64ea93948cf5a95e533347951cd1533932657641bac472d8a459bef04fbbdc658b09a8d37853eb7d5295f8294e9fd57bf14fba74555a899c36dc793e9cf0ea778d966cdabd93749a7b3752999df507cace549cd4737dd06ed070421d991acc1aba017a818c052a6d9cb5c4d400709c3df4d11b5a67cdbbd873c25dec30c0c718a7f2f24aee3c568aee29bc4c6cfa82da81fa53215327464eb70daae28a93f6854974d6a7d69375321cd3070fb7a448ae4e189920dca42d8ca1b19840d1959b775acb0b45d5aaae3e3a62fd57873bdb46118e343e5152bdcb5fc46bc8f472da0497665214a494bcf0b3599ecfd8a7b496084d4c8bb9c3f653995ba74c15746739b955883e4533e2b611dde32970c743a96b8d33436b92aaf78ba5d5ed440b2bdbe2adb53cfd5feb71d2f639b3caa5948f6dc4a6a959aecdd0aa54286cf184c954c876e72c948d8174d345571d5480f2e62a603ddd40a1a463692ec6eaf5a6aee8a631e4a38741670ad955f7629ef4ea6f0ebd73d4e55496c6ebd4eada79ed3bb33ab28a6cce5b4bb5aa05e3f400cf26ad6749389a3929c8e9713fb9144ca38d56d440c2117ada9aaee4e2eadcaeda61c335d7109444fad154bd1b6e8f3878eec0b1a5f631b50612770c56a06a698d2884d29d73594b1d757653aa8116877647add64db3f3b29a0a62a22baae70a067450c0729ec0115a2ee0dac377e570e31887182cded698ce38ef69e3f9a9713acabd1392c271c37399527b4c91498cea9bd995648cba7541d594e486924a6addeb9953b7d32eb12ceb8a2ee0846c99d01b94a43280dc3dc8046c10add4f0cdb54784ce3ab539ea298bc9e8aa7ff1c63a3ef9306a6c676ac96d09da8da98ab1cb998c9d767309e28e1b3470d50569a2b2b4a27a9bb2897ec92814acddb65089ab758a72ea2b586ed39d5cded4ae0e5444c5d5b256894a9dfb3cb8f15acc4de674fe8c5b3da8a5f41575229c528e253259a18a9cb5bbe6c596389815697ee5defe58dde3c6c80e2b10ca202995635d4c00398c5bd2aab26971c3ba39633b3a752d6355db4a5e3a4beafbe146d66f8c1c50dd1cb6a92d3d16c5953b51b34a5f4dd2eda975650566bf93d356aed456722672ede13a9194de10ea2844d5df26024e0051d6c5cda4d556b4e3a5d54295df7a69d6574cdd3f57774dbc359753bafbaec39c23bf383b1cda54df6a7538bfa0a64933a99a57d299f3b12a7d45d926788f243af3159face9d2672a4184a091136d88a99085b088f2ed556152886ecf05efa69f579c54f3f037a5aa6de879a5689b7ee5d69fc3657332147d1fb53934a0b4e4af66d564bd854332d9c3e681be689b692b29228c139ca6ebeca3094e53b350f813c5bc21c0c02398476d75deb49d2f54fa3a30f1c234396cacdd3443cee25d5373fcc9859f7470ad98ece68331e9ba866a574f27ef36952721529d3e5e62e804b285d466edeb744e9b64c04896056c8898a602dee60e7ad6309e0a8c3f1eccb6f7e117b4cb23a69d5efab1e3427542e4a6635e66625bb23daecbf6a9b3b9abaa7ea8a826ac1ad2e84c66f395dab941aa2cd014a60a126acddb759aaa9944dbf4052591747b0db3b97551e92ae6f1dfb3a6f4dfdd6b07898d5ea61a2c17e6d7734bef4bc30726d3d25766d564f2bd9dba0a1ea3acbb469666c366936954c88cd2a6aa04dd3833876b099c202d8c6deb757ac90a71122464ff0004d9594a6da715de5156976161d1cb6befca5a1d153a6ea9f57195c747f05ece7a971406c42a49557525ac1c495e96a95769353293f9ef59131d5a69e3498036c451544bd5545fab9c8900774c206c20388635b3aa38274d5fefd9ea965c0e6da6b6b169d31fa55e8eb33fe0c4eda7602acfb6f0f1f1283793167524c6867b35a95ba89950165277ca04c9bb837584d521809b93d8a4ef1035be51859269b4fd5bd3ff00b6d7fbbccd3b46d2519dd8ff00dc9ff69a3ed13603b4e4d22ca9ad37523ba2a5cfab26f4a48a5646afcd2e55f3b6ebc9de3741dbd6c540a0982c56ebe2116e23e694a31a62da738dd49706aaab37caee38e0a0b618fb37a5adfb2be37b0c317277ddab387f4fd19b319b4ddcb3994d29198317b33964c660cdbb99a1d29728d5d1dbaab992455749196df142e503080e617089adaf4d7965b4b0f7b58f86e6674d3f57775c3c1e47256d582139a827aa4c27e45e45329c52e76aa5413090a0fd566dde39199915ea074ce0826928502915318d86e21ac569a704aadefbae429ea4dad538d3bbfe49c2e85b6c4a5543b299cb135ea90d9fb296d248cadc1a5d3e9621d666494d5daab08882ae7194e99caa1072c8dc0720d2aaa687f970e5443f12ad6df09af1e7528f0f231ad2a73492897d224dc3799399f53f4eb045c213a95eed9ad2f98b833d33b399d9709f72a9540c0038ef68ca8d165b543e49534a7e2896b69bf76b5d5b71e6676939cd0cd36aaddfb3ecf914d93aea7f349e568b4f580317f4fbb51c99340a047471382d8d2c290a61844b8f21d6f63825c2869f17a7f33a0ab59c7151c3053f15c4b7dbb4ca9f9dd573e749cde5f3695ad304169724de632c7ecd5109326dc4569728f5a9cc1bd0314aaa6a90e91fbc17d6328efdaff8c72c9c3e7bcbacf861ff002efcd61cb718251d26e2aaeb42f24e94d6692c3b47cf1dcf18b86cc88b4845a181ace08f8ab98855ac416aba270c7ee807e316b5a67d225ef75ddcd3d3d92b4617274bbd37f28d7392e6aaacddd4d26b24e1bca1930935252d99cbddcd252aaf354e5ee1c9e669a4d41f148a9482a10c243a85de9438e8335e368eafbaeb98e175c61ce08b2576854fde54c4f19a7cd26616749b3f23e9e2166494d179784dfb0e54e66129320d0167c5559a0aa08cc52565a6c25ba4ba4ba9ba2770407482f5972a71eaf5de944fb596859c43dd2fc969aa6e6373c753aeede3689b209ad55b372cdcf2cace56884e4d39934ae68cd5022866690267540ee502285052e000636bde0d225c5eaa31d971fa9777c0aa6d534e98a9ee7f3c4e40c263326f51522ee62e65ee261217d4f9d299a53961315539520e0c65d03bf5a604dd190454049549246eb584c639c34b59b8ae5f57bf622795ed34cc9b5874bbb968b76d4c70c35e9a1e4fa7d267132419c9264c18574ab2abd39f56ddbed3abcd577006ea625501d0989bc20d9215489eefcc2e51cf4a7763dc53c5dea2f77e3c5c9a56f6e7dfc382bb55deec3861dfd77a3ad64c69ceb6dd937984ce5f5254527963393b1ecd4c656770d55dfcc1560d1ebb1490c6881543e21139804f870809a3a929d99f69f44a63ac385bf9995d89ab7253c5baa3c2717b8f5e933b38aa67b5ccc9d0d0f51d6ed9f51e496ecfdcca6625685a7aa62ba58c77aae370dfab18c0a20707440318a548c4e384d8d9ca6e30ae55dab44a315df8fbc9c686f7a98a6f7aaa656fdde187baf13ca86d86d5f2eade5557bc93be355e1b4f9a2936a83acdcead2ce25ce53b806f70f5451c6ecc09017cf1c7840d718dacea49ee4e9aff00df34f8446eef39b6aec558fabe0a9bd1fba77f71bd29b24a966bd242a9a9559b55f4e494d22a65bb05a4ef516eda62e19aefcee52709891539b760a103dee46b05f8654609fe2f0ba8d6d5cdc8d297fee38c55bd1deb04e8f953f0a7e7732526b5bd4533da4497b93870f1828ee6412210973b78820ab66fbe4d42a25500098b1e01300c5622ead151fbe29c5f1493a53d3027db69e2eafdb2f05d76a35c791819e6c336f4a1e912bf655bcc1cb5a6246ce9799a632d76fa43316b315d677d65da8f134d92bb8510c6ba645b1a6414c44c250037452beba5d5ad38e90a957b9e37a546d4f752a4ae47dddac3596f65f9463b31dfbcbcd806d012ed09fd3f2c7d2aafe6d556d0c87a8ccf8e43925334673609298e7de9c08dbacf543a64287b99ec7c2038863053e8e17b18adeefd2e277dd4d27a22f66f6e6ad2b51ae118f49cd6a6aa96c7ab13b005a49b2dac29fa252f2583681b3e7332445dd4ae19aab8cd156e803b5135f01544f7c73aa4eb986c206b05f46e9bdff973b2bd9d9aa1be13776784f3ac3889da872f7e34e13be1558fbc9606a937d80ed69723d39287ac18d24edf54ead254b200c660fe50f5daad4654f448bbf4936c6dca662a2b828716d6c36008a529e18ed796dd6de3c9d32f54bbe70c7d9952b7fd5d2b2dd2aa51a4f55f7e532da6085392a4262b1dc4c5bb16c94c1754c53a8a2e444a0a98c620014444c02222019c5ed1a7538ca4a50a2949993362f8f208a1629c802e171b69000446ddd0b80400e02610be5c020092db5cb3f9e00180479871f64011905b5101f9a00098d90805c39c001ee85edf932802a2db858797f8c014880f1b861d6d003201b7b6f00071e2b5b5e3c2000e56c87bdae5f3401506960b7af8401021debe61c002008010bfcded801735ec21e39f1f9e00f17b606aa96dfea8df30c0170cbcc0803e65db27dd866bf88cb7f314803214de85f5401d224da1600dc25fc200cca3005c04008010020040106802c1ce83006bb33d0600d1a7defa00e5d526a6803b87474fb9735fe909a7f7e5a00e9900200c3b6ac69671512f214666d149cb5263712d29eeb10a0051b98bea387c7058e21e07397fd27f67cc98cde60f19542da572e48eab09a28d480de6d81f1259865e3bdc422676a1532ef41301be3beefbf14a2d15511add8e37e6ef7aa5b25a871baf7ec8bddcdc73321b37dbc49eb5aad6944ae4350a0d5290b19ef6cbc4d049bfd9ae5db4ea86202c6541422ac540b814486c22253097098daddcf878ca5561d1956f2e33d21c7cc1d3a2a488010020040080100200400801002004008010062255e67b47e7180309537f2925df8bb8fcf4600cb33c5803c78c017971c8ba05ae6d600a44c21c400b70c368031b35ab29695a2e9699cee4f2d4999d323b55e3b4502a07543124554ca18a05c65cc00750803c5ad69473890ad3c42a091af236c071733a49eb73b14b0db16370530a616be7736506e330b1c8f7925494f4ee5659949a6b2c9bcb0e2602cc183949cb611279e1be48c62e5c7941e01625f367ad5db749cb75d172d16215441c22603a6a10c188a721cb701010cc04060133cdccc59344c5478edb354d30113996508994a4b81404c2610cae2017f1802e6c6b78f1bf8f3803ccea89403baa28273026402dae236111d6c1c200f34113229912465ea228a7e6229952210a1ae4529c00200f513b91b88b471f83f6bfd780200eef3bb673710e1bb0cfe5c0122673f0571fff002bf5e00c7cc2472b7ee593a7f2141f3a962c2bcb5c3941b2ca355442dbc40e71114cde25b416723819003b9c5716ae07c7dcff005e008c4eed7eaae31f3f73cbff005c01389d661d55cebff67faf0004eeae1f6238cbff000b5f970079aabac9a60751b382142d88c3bb1b0ded7c8d007b5cc5011e2397b79401e4dde345f10b67082fba54e83832670381144c6c74cd611b18a39086a1007a94444819e41cfd7000c26e1a8e41cf9c0126c58b20bfeda401e2d1e3670d5359aae8b9417ef24e1130284397994c5b80fb200f411d6c2005b67eb802bcf21bf00f9b8401402802a8a607289c2c63a6510c405d004435080247107b78c01371c8ba05ae6d600a44442f98005c305bd7007984c188bb2b6074d8ce95228a26d81428aa64d13148a1c097b894a63001ada0880401ec431ef908dad7110d2e30004ca6971f8e0075828aa298a817285c53bf7adcedadbc6008df1c2d88f600bfb00038c01e684c5b2ca2a922ed0596400865d322a5399305431131800888622e65bea1007b01d41bf78dc80600c3ce2b3a5650f59b39bcf6532a74fc7ec06af5e24dd45f3b7b9954314c6ce0b1701e526605438dee23f82198401055551f7e22612e76e77803c1c9d91176c75cedcab898c8b3515c20a098e026311111cf10813300d6d005c63504b7b9b3cf51cc200d6db4e3672cab170c52794cb3aa9f94a776d08a354a68e42d720a842882ca65ce14f00f89b189d4c37bf7c74800022388006f9c001110cf967fe500458d8435b86bcc079c00c7840c7d06dac0169daf29ea09bf07ec7a8ab8041fef89d5cc550c0520955be11c461000b0e62313044fcf2cfbb52f0b712867a5f5f5c4124184ded1c839fb600936201b87ede100004402c19098600a4475b08016d9fae00aee3601bf00f9a00a7bd8adcc7300e410006e1cf3e21004dc6c05d389b5802913085f3002dc30fc7005637bfcd005217bf85ae3c82f0040e2d2df4401509b3b7bd2e5c6008298d72dc78d800395b2802aef5b85f8ff008c010171bf20c8060080b88805b20e10004d8ae23ff0c00298e23af784b9db9de0091bdbc39c011de12df9e601cc200f177716ab88f04cff00340170cbcc0803e65db27dd866bf88cb7f314803214de85f5401d224da1600dc25fc200cca3005c04008010020040106802c1ce83006bb33d0600d1a7defa00e5d526a6803b87474fb9735fe909a7f7e5a00e9900200401c5a45d17e9542a7aae633874136975469aadda48d244ec9097a0abeed11dc9c8b1ce5501c59429d214f09ee7000398462284a8a6170fdb311ba25f4c32156d5579f1eb7a267bbf93a148b6714b4a2749cdda1666699925a9ca147aea64fdda8bb445651748ae45caca6f8c99d65301d4c472818c0020036899cf8fc3e3bde6f50d4c70f89b3c008010020040080100200400801002004008010062255e67b47e7180309537f28e5df8b38fcf4600cbb001c1994478078401757b877af96b9c00b5afe7587f6d600f8df6cb425533ada9d5284b586e4d30da7d02b35993e939e66c412469f3a6ab85101dd9164d31ee98718014da880c6b65953f8ed3ffd4bcf4e24da6557ff006a8eff004efcb36b718526cf26d4a5573e5eb292f94f2293ed1e4b3dabcd20901dacadcca4f4daad65af8926437c0a7517e2533a020aa6112954b7700033a62a545e8c2ab4e95354455c9d334add54b9cc8b49731ecd1c252aaabd4f17af15873fa0764d33a3a666da24de8da397914a1e1d1dcd45d5d6628d40f11642455c3696ac9a4252a3dd477b83dd4438e1bc52ba2ed93e3387458f09ddc27514d5368ba63d5e1d37f18d0e2db3c436b8acad8d44ea77b4168ee4537d9a4b9853c5df3795998cca5b284e780b4bc122914288ba5c541307b898b72eec40f7decded2e2ea5d2e4af1c9f4295cedadca573befe1a1edd3628c70f6ab72ba67ac4cbcea83752a94b69603c712f3bb4a72cd7394c8a29a8882c5444550de5ae24010b89639ace7d23e2ecbc2b731cb0ef35b77f54b87a4f1a698efc516bb5471b5ca667336a71b5475c8d08d6ad6fd7ea278ea6ca3c45b3ba7c1d11109a4b5159f95b0ccb51482c537b9898a41c31a3ca9d3d7eae69bbdc9d5139c2cc85ac63eaf9b97fed9dd9e07d21b0b7b57bbd93512e6a972e1e4fd66c99a60edcb5518aeb7754049555aaa053a67327844c06001be6200390696aa2aeeef8c4a53df9f7687ceb317db7967b44da7d70cda55ea21214e63d8293beaee5961eb012a416097376e9aebee126ee5d100a6b890e4b88e21be14b8a7171962d4b57ea4db51a5ca68cfd5aaf17b4a71518e6e34776984b86d5556513b3b8c749eb9da44a15ab9c31a83682d6493699cea654dd50ea9d05dfcfa76dd84ad395b23b6ea6042b471eea298152485500fb6904b9da99f470bd6530b7cd554ce58fab934b6a7462b8f4b2f28a65ee8a74f1df946a6fb50ed4b6b89a15eace6695149abe943170b53bb3e67292ba952ac926892c0f12722d1533a504c2a68e0330ddeeee19de9742a9e334aab1e14df89fd18eb9f0c2aa6299cdd2bad4e896ba552ba6789454bb51db6559529468a9b5454e538b548de5ecdf2b4d81c5ccbdc1a56819d260f52c409075872721c402e20023dc2d870a2f3bd3a271dd578e0a39a9dc695c5ea553ba5f351e0e61e4f071bcd3e41b68e94ae979c2ef5c8caa64d29774e58538ea5ce0caba2169b2bc6afdb354e5780cb8ccaf8f13e02d8051eae070018ecb5a12b4ae9a6215552df1b714eb95de73bd0a129a13cb671de9fad3b9f746b99b857532db6ca45645f5773f41852d564a167d55169d2390519cce537543ab342a6066a83d3886871201cb8cc3bbc51cafd65b95552e972537d5dd5a4c6a451ea3dee8a2aebe921a5ba29a6f3d627466df27ab1f4f76acfa43555433c6f2f749364298a6892602ca6a3943b9595472f5db851aac6c6758eb10c982c96eb01404a38bbd7a299bc9adf86e5a46fe78eed0ad6e1530f0858f19c57979ceee7d22ace7521d93523226133a8a8da7a5d50d5329aae752e93aaedf4abab3976bca1aa48ba6ce40a92b74c00e089ca25c242897180c74f6aa936aa5ff00d2a23dead534269fee9ca5acc9c136bdeee58e3e5ca4ca4836f3b752b3465d36904e15ad567ad1df61a327588d4b2d1a541e7bb38c029a40bcd4864edbd1508a08a5a05e396dea8f53357a7f4b69718c22338ce48b1c56d7bb1fad26dfe5cf74e45e746b9b5453baa2b79fccdf54f3734ca434b6fa6537959a52dbaf97ad9deb596a26450f724143e01c588c06c84e6d62d4c25524e76b07ab57563fc415b46eaaa86fd873b93bef0fe64a36f7514eda6d65d35984ef6a7236014f4b96d9da145b551723f9ea8fd623e22e52a666ebaa52f562822f0e08ee8c73733967b37afc6f2c1e57631f19bcf34a2312f6bea6e5154bd6745fc618bccd3e5321afe977d3daaa48e76802ee63b4caf50734cb4c6a325181d84c9cb759bcbd54f71bc33b6c89d25cfe71cd871090d8632a6ab965f92ae69aaf08e93ce75c08a14d6ff153fed533f38473352d9f55fb599bb27b2642a2da38359c4ee8112ccb793870ed06d3070aa13e04dfcc59b7c060c200b822995248732149ac6af38d2f3fd371b58e6d5e59bc64a5755dc56777f75f5a65375e591b83791ed5a653e9952cbd59b526723a6d9d7e6954cdbbb748bc74760f25dd8bd666024151c6ecae15dd5cc3bd00b1b7800688aaa694eaa85df7ab59724a56b997fbea9d1d58f2bb4bcf4c67c8c55395cedfdf6d9a9734ce71514bddba754828da4c66536ea8ee4af250d949c9ccd106e12ecdc99cef5670a02a818800000184a6daefd65797ad5f254e377e10d66f0643fb3a67d950f5754e33fc61862770e8b151cac9b39a6e885537ccea1a7e9d97bf9acb1d345db6e9b4c167056e2065084298445030180a372fbeb5e314a685568aeaeb7132f6d85a55c5d6fa5f6be7bcf9ccdb42daeba653277b3ca8f69d50ed04b36ae1acfa48e1059cc95aca192af88c55624729159ef11508dcad452318ca9c4487c450102d6cfd5a6f7ab7716bd69bd4e53ac5ec322f547a46b555a85a45dc53e139b6d35a1909dd4f568c9e6be49571b53528049fc88c69d54e84f935947ca347bda0c3b4daa059bb5404dd54ea28448e9a6bfb95808631426bdcf29711aa8df8e4fd49f5b1998465cb38c7839ddc57ad192868e8bd199298abb59773b9f1f682d67152d034e3a232a85570a20a0363acddc9ce623741a82e51dd9ad8487b2826c0188d16a53a556bdea5f7d0be329c6181168e5d0d64954bbabaa38c3a71539ae271eaaebcdaf91545a4baa5da99769d3356b942a6a68e9bb4e568198b07cb49892d21912b628e14d1337eac7115b331f11832ad0f657e09739de9a2f776d61ecc75bdb538eedb496510d5513e18efccdbb697b63afaa2994e9f52d30ac99d0a9cda9267359b0b39ccb132335184ccef946ca20dbafa6919ef5549c2c81311442c2252dc62f694e5a2bd5ffb68bbd26f44e6f995b26ee6faaed33fab6bac784ea8c34c6b1db7346bb387afea3aea68b28c11ea92a60d2712a73331edc5534dc11516ab20e96331dc955426492774bdd8a2439c44a4a6d21e7b1c94adae1c6ac668782e31542a5c65b5c7929ce74a708ab53c9b235cd2f2d9dcbe9c77b4b034bdf5581543beaee9eccd83371564a8ee1695a8e1036338ca555564f738f1778e5013972c6c9ecd0abc29849c67eb579f5bb2fd96da366b6eba9436ea6d4f1b3c3c6638a499b552adab6ab2bb94d3d2fabf6bc5d98ba99d483299faabbe613274ddb4b65c6226798aa926ecc826fd45faba8a881cf631711d30cef5baaeb9c1aa5c77abadf1c6ac35493665376a518a6d4f7552bfdbc9b69188a4ebadb40ed13664e27335aee64ea66c29523ba7c884c25b80176b8662e954bab2b2c7a898f894742b0a2ba260b2621901b5693b5ab9be495d9ee9c9a7338329538a3977b77a33df19aab08c4db3a4534a8a51b649cd4127986d0dabb9951d286a2ac881cba49396369f804f94628026aa3d6d197aa2a903ed9989d32898231b378d54bf55ba27945a785eb9318a55366cd4ba1a894ad239fd5c77ed44e0dd29336ed982539a87661b5595359ad7538a55caefd95033a9d99ca13955b2b2c4fac15b3a7254dda8911e8a8545554310e60063140a314ed69becef0da8ab2d57dd9e2f15c544e65bb2b54f68a71d9d9e8e5cf728e4e4e13b2da5aa565259cd5b4dcd7692d5d499a6cc5097a0bf5f4826064f76d26c93f6ae1229dd024451444c070b265280970d80d1d69cdacefadf2874538ff7bd7338d28a63759f8a757cc713a0747ea936d2f36e2aa350ce278754e7a8cb5853ced09a9d9b5237782594190eb08a72e6a1bac3ba16a73efca2226b8809831b05f578e3b2bf56bf1c32853cfa2dbd7dd8e1c698c3e0e77cae597da526de5d3eda6b59c4a53527f52b86ce29f993fa75d542d66926062440254d41b09776a9170380944e4b09b796101b8631f56d66e6a71bfd9c7947282ff7d55a425cbdac38f898652a3da46e65a2a39aee4b53925149fef7d4b4b917832775bd412ed04dfe22aa43e0577845fad2b8932014406f98f53fb57aedf4b9863e78e72630959a8c15deb7b1c3fdb86599e0eeabdb1a293c5a4d33af1cd720dea2f2de4cf5053b22588a227ea4a4b0ae132b52a81ee7d5772636f42e26c59c634fa9c2299df7a699f0bde06b57afd70dd10e27f6f89e659c548faa19aa345cceb5aa492198ca9e537e5291d2cbb77cb4827188c507a44ce0432d802ea00063eee960886ea8a9acd5f4b95c5fdc19617e95565b2df3bff391d13a2bce2bf78ea77db1359acd25c5632c56f322cd0e76f335014176982d3441b9c0d840a2a229944898db0eb68d5ad971bf0e51e3d788c654eec79fc35f0399d4277128a2c24634e957aee5d53387b50b1794e3f7eee6eb1a660e5bcd594d9a1d204932a1dfde6f070806ec402d846bd956d592dd767487f79be78fe29e65ad52db9d663595a2e98728e46eb3a6d5bb54dc4e27554ed0d2904e2b99ab19f1981dc0292a92b45de165c0d136e999649159704f78b902f804a170246564f668bdecb6ff00169e13cde64e77b7ca8e584f5f81810da56d1e4d4b4f0f31715eb8099d24fd1a0153b076a4c1caa9cc9da6c9c2e4452f7275d50e898c2a014c24003085ef17aa63defabf8dee1ba484b6fdddbf847c60bd6d585401b4c9a999d455ebe9f4bebe333714fe074bc8c94da6810ef4706efabfb9a62730180dbc056c4286761b2692553cb6ef74bd11fb637e2452af61aec4737773f199c9626f7b6ada484cb6032caaa9373518caaa373253966729eb0c9da52b7ae49bd59750ad9cbb6a90263658c9222b1007bb84dde08b55e8eb54d5fd7aada98e9d625c16a36a96d7ce30e24e1123aeeb473485328d67516d56594e371ad5a9a6d236d3907cbcddb3d48d2041cacb363bf55233050e66fbf012ac6b155138f7622bc689fbd7142df55ea9552bdaf530dcdbccb5945e70f66fe7ba974d2d43dd2ea97c16869d2ef2c0db2f91c827eaed39a546dff7bd25254735973b0933893de5eacc5576d9240cdf191c83917065441444c4201308580dd0aefa5a38574cf0a69bb7238658e7329e073d69fa1af8d169ceaaaa75de9e2e715ece2a4eedd26ab0233dae37943eab768b4eb1350d319949dad1e0ecea389d91f1536a658ad135711ed9249ab64941b94f700b4723bd15ddf59251cf6bcf0e876254c517bd57539e514f5c274d4e734b6d276f26db0480d3656b0693d33d565b50c81e84c0658531e9ede3530336ed82528343cc8030ae658eb0984405429430c6b6b5adbf47945a47e24dddce345b318359cb39d2d9a2fe7367fa5c5ecb9e3393c91ae17691b5406866f4d557b547f395a84974d3682da7293f1525f3134f98213c5a588f561390c8b551701064431534f09910c598cd517a297f5734c3d636b3d718a67763bb0b4d5396d45786938446986318ee9e396a92addb123b3595bb1ac2b15a58de6f5216480d13a8da2f3141249a9d82049d0b559ea8aa4af5806dd75b99173994f702008d6a4d3a77ddff00938e1311838d98ab06d8a529cf0959e4b0c78a5ae130f03ee2a71cbb734f4a9d3a41db674e18b651db67605eb29a8a24531c8b82762018a61b1b0e57d22f68a2a6b899d9b9a53e06406d87df5b5fa6285c142d6b8f1d60005ee372dc340b400cc433be598c00c36bea251fdb58006b0db5ff003d20007e8d2fac000c5874b8f01e19784012361d4472caf7802002d90ded7b85a0081ff8804038f30d6009e06e7c02009ef58321bf137ae006a371be7e3afae008f01bdc3208022d73df3d78f28027bd872d7da36f8e00f27b7ea8b6425f73307c41007bb2f30200f9976c9f7619afe232dfcc5200c8537a17d500748936858037097f0803328c01701002004008010041a00b073a0c01aeccf41803469f7be80397549a9a00ee1d1d3ee5cd7fa4269fdf96803a640080312dd7ab067eba6bb294924805fb19e26f163bc31ac5c8ed85b153285f1660b0f0e791067ce13ddacedf539655893249f09d955c0cc6a62c91df5297c9152b93222c9a8b23bb72a26749149c1b72b10378274cc25f368aad9a5f3cf577652c31543ab0989d3de2d52c5f4eebd157e64a6ad565c8e89b0f9d6d29ed615e12ad9a3d74982b26752297f65a8ce5eddb3b94b7557160e9541251620bbdf170aa61513c3df294473e9ad52a9859aaaae7179ddcb0f5631464a70e34aefd78ae4cec31897100200400801002004008010020040080100200c44abccf68fce30060ea81b5432ff16ce3f3d180330c443005bda3c4600bc0b6210cf858384001ff007bc3087011e700477ca5b5cd6cc0034ca006235c8501b6636b401509c6e0237cc2e5e7000a61cf330885ff002eb002e6f7a71cf96997aa00a40542943330070e1f9200f35c80a18988ea1049ee84310709af610f1e030040247b88759743cbbe1f44012089842e0e9d873ef87eac011b856d93b76395ef8833ff00d30040a4a00ffa53af965fa20090454c56172ef91431867ffa6006e8f61fb25ddc35ef07d10048a06f85bb2873c61fab003abadc1d3bd4007bc03fa2008dcab7b75977f2cbf440148b7de27df5dc9ca61f344e187ba21c8200b8de64199833ced940155c6e2007b092c1e217cc0079401488aa39e2361180237a6b0e7a0400054777e708df5b8f3803c88d9991e28e8a8a6472e0a42aee4a40051404fcc039b51c371b5f48093c24d2594c9e5e0c658d9160cc8aaee01a22184bbc72b19758ff00f1aaa18c3e2300dcb92f437b8ef7308db218029138e01cc7310bc016730944a1ebc96ba76d9272e250b99c4b1750311dbac64cc898e9e96114ce62fb61acebfc8d234fe322fc0e227f38c03c33800263eb8c73d4bebe7005375003ce377720e1f140032861b009c7bc3afaa009de8f8d873b4012530e76135ef7b40106b9bdfe2be5f17080231a990898d7802054d0a261b016e01006b8f3669b3778f5cba7749d34e9d3b38aae9cab2e6aa28aa86d4ea1cc4c4611e63007813649b28c036a3294b0fdb2f2b67f18fb9c01e6bec7b64eaa0648f46528a26251b97b29a584072cac985a0d02c249b04d8a49da0b56544d360918c2730b86693b5044d98dd575bd52dc83158384019136c9b65075071d1949984b9000cad9ff00edc0121b27d956ec4be46528001c0b2b6960f559380243647b2701c45a32932e5e7f6533b870b7daa008fde93658023868ea542e3dfb4a9a67e3f6b802995ec8f6572e5f78c68fa65aabd605d0289cbdb6205c46f8c8386e5cc385adc20359369669366edd345b269a08a2502208240044d3217ba5290a500000b700803db7a390dcfe220300558cda01c42fa78c018e0914a7b7bb6c1aa4135169d9fda161df7550537db9c5e8ef3bd0125e98d893390dde209440e435840407501f083520d4a87d946cda8f70edd53121632870f93224bac909cc62a09898c9b6477863ee51218c225453c2980888816e31379c41118c9b86f07100889c2f97288240dfd2b7110e221ce00a30880dfdb7b5be780204d620fb03840156200d3da3c46d00485b1710d2c1c20008fe17acbc8479c014e1c37f8b97cf00409bcd0bdae3a8650054062e5965c820090b67ae2e500042f962bdf2f0f56500536100f5f0c83f2400130620011c80b7802a03676e5a4002db0f1fc2c5004182fc717bed3580291cb2fa3e68026e02735c7905a00f2786bb35f9eecda7fbb007bb2f30200f9976c9f7619afe232dfcc5200c8537a17d500748936858037097f0803328c01701002004008010041a00b073a0c01aeccf41803469f7be80397549a9a00ee1d1d3ee5cd7fa4269fdf96803a6400801006397a8e9e4117caad34972294acc0599a8770994ad4c6003002e226b2770300f7adac2410eea6a6daaca24e66b2d6eaa2d45f2c92ae122188d006c2e0c063008277f7fa401e9dbb23bb20ed0637995bb3837c9fd938882a06e73efdc8026eef0ce1ac6a3493d59cce5cec5c03474d9d0b458cddd022a154dd2c4f39253088e1305f301ce00b9801002004008010020040080100200400803112af33da3f38c0184a9bf9472ff00c59c7e7a3006599580816d43c2f9c017995f2b5c3e2b8c0149c06d7b000f1e3007c935f6d1ab8a6b6dd59cb8369c84958cfaa2a56598a62d19aa9d332d7d2b5d6eba882bddfb21cb706a4517014b78a7780c6b04458ed2bb96dd58f2a286a9dca65fe9718b2f698398ff00bb5ffecad37c6337cd4e08cdce2bfadea3e871b409ca557a2599c9cd3b692dda149da9114a60c652f4532cc914444c9177a8904a73a46c17031d3b05ad16ef668aa225d32bf3c744d6d72704d8d3b75d19c27dfe8e7bd3d9e68d4685aeb695229bcdea196d6c955922986d454a78d243346caa53123a90a0b03a6ef12b9d33196214e9911f72b088611b8085f2a6ac34b5696e74badaf287c391859ed3cfff00a7e2a94fcfbf99b5f448db96d2ab89f9d2a866d249c349852ecea1322d559775895bc5d7dda8c888cbc4e74d0b089401d9b7e0721ae239e1bdc8a5eb0d63be5777151a67a16aa6672cf0dd0fbf83c0b4ab7a42ed4e4954cda484041d2b2078f69e78b8b4281969c4f4e7569350b80b8706e40a0af0b8f7a32b24eb4b1c5ecfe74f69f2b92cbda452e5e4b6bf2350973bf816159ed12bba7ab39aba9514ae9ccbddd46d673344c98c92f669a521179373cbc0c1d64edcaa18c54cbcfd101bde869f0a5f87d635fd4e8611b5bea5186f7e8fe79e46fabed2e7723d84ed52ac920b39c3e904d270b4b1e0a62ba0b152dd6178b26d8431940a6158c09d804032b456bca897765c4fb2bd234df4589a7678aab7afc7613f134097ed6f6bf35ad995074aed529aaa1b3e9ecb9b8ed25293b3718117322994d1db02a6d4c562a2e4ea492a90879a450015036a3a514ce6a2ecfe68b9f1776a7c70c515b46d4446d47e596d7f693eb81b774addb0573444c646326a8e5d269604a665349b861972b3558ccce8010e9b49a19ba4e9b94a63ef516cb11c8889777c871bdb6fa71cdebaf051ae66aa9c16feed37e5c5ce873d274a0dae29b43a884930923697337d534b51a55c9a5e8386ed6532959fb27e46c226998ac7dd1143ef8370291f2001c2266d53454dac62a7caed51fd39c65cac024aa74c65b1f9954a67867846e87bcb873b71db348a4d2d42735c4a152d5d21a2a76ad56bca5a3742984ea27e764f95226510494448005dd19c88e038dce631728e8766af5dcb6e27f2b69736e984f899d15dea557be998eb4e3bf04e5f2d119aa0e7951cd761bd225c4beba34de66c2775037965732f492362165256d855450209900380944861480098ee7201748e5ed0e3b3defc6ff73f07de8dac14f6a878fa8bf6eedea71dfa9ab3ee9515f51412768ea72d2af9248984aab4a86a249a262a3ca25eb2425fbc445a80a4658b363a82224cf764cf58eab78f4968f2baea51beaabeca384ecbef39bb352eab3b3f7a9a5cee54fdacef6943e6e0f69c7483e9032aade532599cca42c5fca98522bcc64eefb358a73a5aa1530be0c0e3ecd36e447728f522e4a17dd315ec15a28facbb9ed5de3eaa6de1c6784234adec4ac253aa74cdc2ee89d71316bedfb6db521ab8968544c24a57d2aaedb965680cb06654f9a9edf11a2ad9aa6277fbc12a61be17760ba8532587ba03cae5f67753f61558698e5cbeefb49a3a6ce9faf4b4bf77bd7adf1dd0e0d9f67bb75ae49b55a3e42f2bd9554b4e4c0f2a9431525a9ca9d1df0ba9295e6f5fa291d27edd632d88c57086f5a8a60053001c44d1d95ed5b5696faf96cf9719c1cece879f655458d0fdda39cd50b5cf3d3150ef6a5e6d8b6915b525b6eab88df684de4cc66ad28c6683498b56ab359031993e5dabd9d10a712e204ce50209d4f7203aa5dedc0a508e6b1c5ba5e1b79fff008db54fe66aef33b2d145dabdc7df7e31df09cf25b8de685da157b3dd8aed0d6673b6f564d29b7f3793d3557ca9a91119b22d1221bac229220281d74cc73a422886ecca13ba01a44da39a1551139f2bd12b74d38aff0005685f58e9cff974cc3e4f06701a22b57adaa991ce297ede73353cb66131eceeaf81abc147ac2ee592eb014ce1c015ba240c4b98c632c703104b6100b4ba6971a53f07bb754e98d613ce71aaa6f358e757fc97fc6f4e991b3adb60aa10ada4ae90da749279db54ccacb32a9536ad819d389cda66902ab2ad923ee32b604857cc97f74130469761d54e97929fcb68f9630bbc896d26f754e3ad0b9e1f0365476e159b978e24eeb6912090cae5059faacb694acb9a9dbd4032a16f8512267fb1c773be3efbabe67c1dcc39c67a5ee196fda6b9e8bf5722d18c678f76ca7cb5d771b61b6f0fd29b38953c9e4a093575565252e943004411517613668c9774649b2deee0438a8b094c70c44f36f7088ae573bd68ba529b5f0e6513cff0d2fab70cd265fb4cdbb3ca7426de5e324816a15fd6a289648c4c05525ce3729b4288ff00aa50bf6d30f7afe609432896eed37b77a3fdff00381658c7175afd0fcf1e45d97a406d495da83e682bcb1b304668fa545a7953cbcaa1106f2c33c49e113130cc4ca089414b98bb914c6de319d5535455570afa5d6e3cb19df8164a5afcbd6f44f9e11b8c65515ced695d9eb619b6d0936bdaf4ed2d568cddbcb9a34ecceb3376ed9d24510b00a18560388a8223dc1011c06108e9a52f4d777574fee9cfaaf818d35baacaf4674d787e15f1fed19d77b53a826b24aa8cf36832715dd31ac989e844d8108f1a27286ab9507257287bb267c2991639d61dd9814004ec386fcea5d9cb59d33f8715874cb1c64dda8ae164aa8fc5867d786059b2db5d7e92edccd6a79629304e7214e37d990b24957fd508c3784998ab9ba31ec00e715b7424eedaf9c5ed5bda7aedfe5bb7a3c967ed60676495da772547e6bd767cdfe9c4b979d24a70ea55252caea99110ee296a6ddd4d392a4839464cee73314da397eb943b85dd9317b99c40a41b0982d1352fac74acaf25e153f184ba95b36ee26fd68ab0e4d2e784bee36ad815752952aaaee54feb695d49357f542c848dd8288a4799125b2a662ebab3748dbb11400e1bedd061bf7ac178d129b2a7f33e97a27965de1faee72d95d61b8e713d1703bd71cf3e7eaf5c645c8cf3cb5be5a401170e16e01a70801970b72f0cb80400307782d967ed80272fdb9c00b05b32fae008f939df15fc3c60090cc6e1c731e700536b1b2b0058600ab2b08583c3f4c011eb0d3e8801700e58433e437802403da1fa7c600a4ba88656cb2802a10cad6be7fe50040db51cb2d7db0032d06de896d90c0136b868021c2df340105d040440731080247865c33180232be96b8c00b871b5c73cb8db98401262e5c2fcfe68020be6873e1004fbebd82dfb73802320f5873b8e7004e57e17fc971e3005270eedf201b6bac015657cf3e7eaf5c00b0e796bec8022e1c2dc034e70032e16cb2b70cb9400307782d9670048087edce005b2b5bd7f1c011f10def8ae1cbc60090b0e619df31e700536103e5600cfc200ab85ac1e1fa6008e1a69f4401e2f3fd0d6f36dbb30f2cc4200b865e60401f32ed93eec335fc465bf98a40190a6f42faa00e9126d0b006e12fe1006651802e0200400801002008340160e7418035d99e830068d3ef7d0072ea9353401dc3a3a7dcb9aff00484d3fbf2d0074c80100625bd34c519f2f372b89b19c2e5c076ea4c1da8cc02c50ee3332a2dca3ddd4a40e3cc6083c4f9f56e88ef53a76b196a0e640f5d4f1f24f2553d9804cccec0c49a399aa677c423b041551b2cec774252014c0000a94c5eec5526ace9a67d58e39537671d5eba32f55535bab7fc5cc61e1aa3389f47daf591eae331a829878f2a923272bd413392956991dd3723349cb35440fbaea2ba6d0d64ca5014b78383cd018b3d52c15f6d2e0eabd0f7b5927c1146e6274a2ef554c26bcdf5352a63a2b566ce772862f15a50f2a913392249d41d4143bf296593a79362a32ac6e4e66a365134d431b10080dcba5a29453154e3f739bba9e7c1ebc2517ed4fd2530a14df95bafddf2c60e9db00d87adb396f386eab965301786453466a98bc076ed140ca8a6a3f22ebaa86facad8c74484c5c785af4e142a7e70497c0a5aed5abafcf3c5ba9f3c5e1ac1d6e00400801002004008010020040080100200c44abccf68fce300612a7bf9452fb7c19c7fcc4600cbb2c5bbbea21f9200bc28f76f9fedc6f004096fe21afafc200b17b2292bb157adcb183b172875673d61ba6a8a8df162dca988071131678472bc01ee566d88ccad5341023304b700d40850481202e1dd8276c384032b690788479212894b66c9a4d98b141148e53a49a28a64210c40c25314850b00814000043308482a612894b03b95593166c8ef55dfbc5104534456547dfa82400c63e230e0389ac2bb26a51459454eb54e65153ef4e25a8672173dee5364efdefbdf4785a00a4764949028736faa8b9b16353ca29d62362f3ae3d733bd82fced9c019da72979648989994bfad75651415441d3a72f0d88c0051b1dd1d43016c01ddbdbf2c0170c6492497a0820c65b2f64824a1964926c824910aa281631ca52000008808dc435802b99c9a4f302a05983064f81b280b36eb6826b6ed50d0e9828536130730871040c8e4a6992cfcd2d60698394bab387db848573a3fecceae1c6627808da00952572b5113a2ab166745547aa9d33224310c869b912885849f83a402c09632c97b16fd59a3466cdb14000addba44492b00016d848052e81ca00a09259326983624b98268023d5c889104b00237c5bb02e1b61be7874be70056ea512972fdabd70c592ef98e2ea2ed64533ac8e2f3b74a18a2625fc06087021192c9d27ee5f272f649be78402bc7c44532acb94b90116500a063065ef8461c01e2d69ca7907683a6f2895b676d90eaad5d24d524d54dbebb94d4297114998f7432803d9cca258e94319e3262e545103b450cb229a8276ea0dce88898044486100b9741803c9690cb15939a509a4acbd881013491962aa30322429ae008a8d0c91d3ff008042020d59b6c5e866cedc3a6be503576e7374e509fce13595e3751423a031b3e63040a49b11a01249c11346784239c40e4859e4d8a55c0f99b78057418efc4060093ec528551a22d4e59f19bb6103b66a79ecdc5144c5be1326417425288780040158ec6e8b51d95daa6a89578528015d1e7f3815ca0037002aa2ec4e00039867ac01527b22a4305b7b540014829600a867387766d53b75bf37c348029fde6a891762ef1d45d6c53dc19e79413815b75fecf7bd6b161f0bda00a94d8fd1c6445331ea5390c9ee0513d413931452ff0067845ddb07e0e9007986c668a2acab84fca122eb2608b85827d3805144c344ce6eb57316dc046d00545d8ed18575d70a7a8c1e827ba0781504e0ae013e04de83bc787c2f680284362b412692c54893f488e40c0e4849e4d885540fe7ef2ceac6c5c6f0066e98a0e989023bb96b654098c544cce5caef0e988940862a2774754c98094a00204100184833e21a58becfd10040e3b0087b79fec10006e05beb9d84c030057a05f4e3c8200a707b6c195b8f8c001c8c395c038c010207beb90f18006110c3c875cf5802a1d2c236f11cbf2401183bd98677b65c20080bdf4b721801df01cc6c01a7f88e5004e78f0f0e1c600a86f700f88078da00a40be037d6ff00a20080bf2b5fe6e500000fa184397ae0092dc4e2161f6670048dc47c4034802308000e5fe3002c610b686e3f4c0025c6d7b73c3a4004c4473cee1ac0010bf10e43e10004040322d86f90401038ad72d82dc2009ef584751008024be6df3fdb8c0116bf880e797cd002c216b17d9fa20081c76010f54001b816e19f0135e00aef60bf0d7904014e1e618ac195b8f8c001c86d6bdb8c010207c5ae43c7f4c00308861e43ae7ac0150e96b88788e5af8401183bd9867a65c2008e3a5b90c00ef80e620001a7f8e900793db83654b6cb766b7c43007bb2f30200f9976c9f7619afe232dfcc5200c8537a17d500748936858037097f0803328c01701002004008010041a00b073a0c01aeccf41803469f7be80397549a9a00ee1d1d3ee5cd7fa4269fdf96803a64008030edaad922f512f244ccf3b41b131aa533374446c0051eeb9324081bcf0c80e3f9060b10f0392d2bd22e60b4be79db34f2cddc4b9c4e8252f0ee59b2653424ba7cac9d34923b87174ce23b9280ab8414308e0e51356919ddb371ff00dca67cd550b3bb1bc37b51f8bf647ff25e3b8ced13d20a4b52d414dcad1934d65be51ca1499a0ea6228b74f7c8acb20bb04711fec85d133730aa54af8082538f74c0317aace1b5c13e2d54954b0dd1567be51555a8ead7738ff1de7558ccb08010020040080100200400801002004008010062255e67b47e7180309537f2925df8bb8fcf4600cab301c01ca00bd362cafa07ab380291bdcc398e61972802a1f5eb0041433f000f9f884010206bdb2f0ff2802a111c59dfc03280292dee5cc4731cf8401508582d7b7ed9c01050c86f90641000a06c5fa2005c7bd7bdc79f08020bcb31b94331e300543ebf67cd004000e1f1111108004c5aeb964010040df05af61f4a00a83313067adf3f5401023c6f7fa79c0012f7434b8067ea80018f08f3801c4b611d78718004f34385be98020c17d38e41c80200a8d7be5fe500477b0072be63e10040ea3adb0f9b0055c2fe161ff180200071071f5fedca001afc34f8a0093620b5f4f605c600a4d7ef0dc750c83840158db9eb00521af80067004080df87eda65005571c79df2d03280292e5844444d98e7c200aad60b5edcbf4da008286bcb20080050362ced002e3debdefe3c20082df41b8dcbe70c01518034bff00940100038785c6f6ff0018004c5aeb6e010040df0085ec23a9a00900ccc19eb7cfd500079def6e1e3002ddde1700cfd5004863c26b6be1004712d84433e1c60013cd0e186f004182fa71d3904015180787f9400b18081c84731cb480291d78db08f7600abdedfc2c3fe30045bbc1c73e3a401060e5a7c500546c4186fa7b331802935ee61ef6a19070802a1b73d600800cfc0033802040d7e1e1fe500542238f3bf806500525c84b988e639f0802ae16be7c3fc2008286bcb40800006c5c3d5002e39def71f56500416f95ee372ea3005436d2fecf08020006de22370fa0600f1738baa2ff00f846f9a00b865e60401f32ed93eec335fc465bf98a40190a6f42faa00e9126d0b006e12fe1006651802e0200400801002008340160e7418035d99e830068d3ef7d0072ea9353401dc3a3a7dcb9aff484d3fbf2d0074c80100200d426fb21d994d252b4b1f5392c70c57dfef1014f0e6e5ef68aa62896c25319dfbb6201be3cf586b3f8574a1453dc9c21fdfee89ef85dc7848762bb2c92cd659329653ac9a3c92a4b232950a2a095a95c1ce758514cc61214c7154f73005fbc217b44cf9474dde08479cf53768802004008010020040080100200400801002004018895799ed1f9c600c254dfca397fe2ce3f3d18032f2fbe1e03c06ffa200ba00cb3001fd3004e1e450b728029c8dc02c1c7fde8024a1cf9583280018b06a19fbee378026c1c4004395a005ad9885c358029b0085ec1cafae9004db21e023980fd1004d8d84032b7e518018438807c5a401021843300f0118022c170358033bfc70048858b6cc39c0126037e0e5c020060011b5b3f4ad00408dbce00bf1cf580230db2b676b401221996d9072fa6009ef5ee36cfdb68023000e80003e1c7db0006d712d82e3fa78c011843978885b940139e2c8434b8070f5c01361be768018789434e1a4011968050cb3b7aa001403d605fd3004940d71d0780df807840116cb3cff4c0138390061b5b0e90053dd3700cbffd28024a1f40650003160c8433e23ade00610e20021cad004dad9885cbac014880085ec1ebd748026d90f011cc07e88026c6b00656f9e005832b805fd5a401021842c21ea180232b80d8033b87b600910b17d1e7c20091035fdee5c0200600be99fa568020440ba805fd7a872fcb00461e195f48024433280641c872f8e009ef5f867cb380182fa005f9871f6c0103cac171cbda3c6008c398e5e2216e5004e78b2b69900fcf004e11e36801838805adc3480232d00a19676f5784002807b03dbac0125c571d0785b90784011879e7fa6009c1c83bb6b61d2008ee9b80583f4c002871f60650003161d406fef875bc00c21c4a03e168026d6cc42e5d7f608029b5f8072b8679840136c87808e603f4401363610d2dcf8f8c00b065700f8b480204308661fee88c01160be2b005c6e100042c5f479fb600f37c06ea8b699266c83d59401eecbcc0803e65db27dd866bf88cb7f314803214de85f5401d224da1600dc25fc200cca3005c04008010020040106802c1ce83006bb33d0600d1a7defa00e5d526a6803b87474fb9735fe909a7f7e5a00e9900200c2b62d67e51b8170a49464183ec54d34d707d8ec5b6f0e27dd5af8b42f282cb10f81c2ded65d231eb49f4b584b27f2f994b947cdd29cab2c682dce2ad4e4499a8d0aa1acbeea4c6c623e68f11c60201b767a68aeba6f38a62ce77cddabd2f475251ce56056d9ba5c53eff00fc6e7c70e8c95a67d2125553d352e6ea549512645aa064a0ba66d9ba2a908a2dd97329a3f45b020628108526e53dc18d880e0236128f353554d64a5d1d1553577b7b3ae19eb829f7b2bfd5d3b3dd1b5cf846388a15c6df5eabb3598d4d34ae8371512c8556c5b4a88cb00b895243b87c98a2255d912605540ae12000290c50c6221bc8bd2beb37d376acf7cd312b7c5eeb87396f678dea7ba2b9e93730c77f2fa92048801002004008010020040080100200400803112af33da3f38c0183aa3f9432ff00c59c7e7a30065d89bba5f5d80200bc010c439077b8f88400112731bfeda401c8b693d20d1a4e7b52306f484faa5468d93369ed553162ee56dd260d5df593265c0fdd365145303439f090072b06a315bea1bd138eb09ffc97796b8f05abff0006c8cf6dbb287550cb69f0a9e5694fa66c9198b791aeaeede1515dbf5b4c1521adbb50510de6ecc206c20236b671a5745d752f6667a67ddaee33554aa5fb511c67231c6e919b2771227b34a7e7ac6acea1339649d66327593557eb53674468d6c53096e4309c4e0701b18a5309446d1558ddf79c2ee9f2c4b3c13f754fc3cf0e6584c3a546c2d855f2d90b8aa6528966ecd778c2762e12097aa28bf0970a455af988ae2218fccee8dcd0a76bc3f74c79790ad3a73e2baa89f3e9a9b48ed8b64c359baa4fcad91f948c9155779281744dfa646e9ef56b85ed74d3b1ce401c452f78400222f287568b3e1bfb8b5d7296af2eb977e9bcc5b0e90db0b79259cce19d754dba9653dd5c672fd27653a6875bbf56ef079fbe12882782f884040b710b44bc3c8aac72dd3d0d813da1d1ee68656b197cd18cce9e4e5eacc1299a0ba7d5ce92251137bb1c4a42584a251c621847ceb670af657cf4ef146db8459d2bb5cd9f5413c7321613c962b51b26c471349015c26a396a038778436ec4c99c5131c08a6ecc6028e436b844c67c0aaaa52e252eb6cfb256956b9a59cd59226d50b06aa3c7d293b8282c8a28a42bab8fde8188886f0497c404ef5ad9c468ead167f3c352f18a5abcb8eeefd0b9a176a3b37ad8b313521524aaa22ca94224fccc17057747589bc4b10f23973298321cec3137595931a86ddb630b3fa819255ad386714aa0a3ba889d6c9f61b744d817554379a2448fdd50c511021bba6b0c55549d37b4dfcf22ee977aeea5a8748bd85f92ce6a6f2e29e192357a596ad3005ee00e8c5c654013b6f0c631071970946e5ef07773897867f3fe352b4ed65f33977e9bcb99fede762d253ca519b56d4cb33cfd36cbc9c147898f5b41e1f74dd74b0e20dd287ee829e6df2bc4dd77aeebfce5dfa6f22766f69fc67dda99fadebea2a8e9376ad5338652297194040abb930971aa60b8113285cc61b0088e101b00088e403156d22d0621f6d9f644d27b239338ac69f4a6752a682d2069d713117893aff463a662dcb65f44ae21bc1f36f1294d4e9d511f76f685f2db4cd9e20c9078ad4927499b823f55bba3382952513955faf9c0c3959bd87783a07188bca2784f4f965950db8d663aee3048f485d861d692a49d754c995a9153a524c2eca20ecc45c5b00a66f37099628a6430f74e6c8a223164a6abba949c27433327daaecda6f574c69596549279854525c433293a0b94eba3804015b8711484c00a014444822006b4453b4a51356cb879b136dac6cc2595930a4a63544999549341204be48ab8295c28656e29130fbd3298477653584f61c37b428da6d538c7f9f2c79621a8f9f9e463db6dcb630e5fcf99a15ad387714ba0a39a85307a9803341136ed5594379a244cfdc398044086ee9ac315bcaedffbbbf9e5de4ba5aaaeea59d3fd22f6153c9bb394c9ebca6a633398aabb764c1bba29955166e5131c98074112944c5bf9e00224b8045bf89227e79e5de7a497a426c366cc270ee595d530e9a53cd8af674e88f09ba6ed8e225058c73580498fbb88b70c5ddf3b2886e14e9fce5dfa6fd025355dd7f8cfbb5dda94b8e917b0842976b52af5cd349c95ea8e5bb47a6721ee8b34b0b94013b6f37895ee7261c45d44226ad9cf74f4dfcb7ee0b1f2eba77e9bcc91f6cfb240a8e4d20f2be4269cd40822ea492f2bb218ce91724de363904044beee50ba571b9fdede263174ea8370954f2797cf3c39e061df748fd84341a80a6ae240b2d4bb077339db645c95551bb7627ddba112975324a0814c501b80885c02e114756cdecd7f3977e5ccb2a76aee4fcbe73e464836cfb3526cce575e3d9e3495d31396ed5c327cf84521383b0ba48826202715074c050118b57b0e195a3694a311fc23366cef68146d1f4fbf42a6995672f5a74c8f2d7081904250865d7d450c70c4539ee42149730881b2ee8c4aa5de6a32cfe0baf910dc24f7b8fe7ba08a876eed250f6a458d4bcf5ed3f49bc4d8d4753b43b3320d141451595375732c47272a055cbbc12906d9daf68ad0ef47171d663cc9ab0e8a7a67e46d08ed4f66ae2a8714e235349d59f3348eb3a968382ef13224505151cec5ba64362385ee50d6d13bf80ddc4f090ed6f65f3a44eaca2a8934c4847c8cb6e8ae07fb29cdfaba400017f75b0e0b646b0d8611971ff3e41e1d3fc799e7506d9365124ddf6cd592597e370e1b14ae17c26159a2a08b82dad7f7250400fc038c139f9e9e64b5f3d27c8f3fdfcf63fd8cf670158480f2d973b2b078e8ae00c423a385c8885ae27130778b8406e1986410d2483d26bb68d91cafb37afd5d2069db28a4ee5463b927d92ddc1f769ae9e1bf70c7cb1697d626eb9bbaff00244ecded3f835d7fd23681354330a72409cc2a9aa194d3b1c922978260a2ae8886fd71deae72269a28172554388014d96636bc53b4a571f0d7e0b7b25e0e1f0f1f99e47bcbf6e72b2bc418545259ad2533074f1bcc919a1d006ed1264c81fa8f01e90e28aa86ecc52e3208d8e38440061c7486f9434bc5b51bc9baf76abc65fc1c9b2d39b50d9dd408b25a4b504b26847ee1564c770adcca3a413df2a8e1c8c062a5df101f7b9c23f92b262ea9dbcec92412b23e9855328291db470f25e882e5de3a49b898a6dd1472cce514ca2360136419c45eebfde5dfa17bbe71fcf76a6e5249883f93307dd59665d6db22e05aab6dea40b100fbb3e1b97116f61b45eba6eb68ce8aaf292eac5379b7e619e7ea18a962320d20001bbe3f100f840137b944042f9dbd63ca00ab116dc834100d600a6c0398681e3c20000e7ae5c0600821b2d040475802715c0b900f10fa600a84496cee051d2dfa600a6c16be81c738022f6beb7b690000c004f479c01508862b8974c87c2ff4c0126c3c446fc394014e1f1d74cf8c014888e11f665ae500558b400d2f6b4012021886e019e57f1e500044bcc717eda401025b08fe401e5ec802046f601b885fbd005407cc38dc320800510cc02c023980f3801dc13582f98d86ff00e30045adebe3c60081305c06d7002dc3d700558f337e51e500496d86d6c387508029ee9bcdbe97d73bf8c001b0690000c18c72bf001f0803c9e1bec25ffdc305c79da00f765e60401f32ed93eec335fc465bf98a40190a6f42faa00e9126d0b006e12fe1006651802e0200400801002008340160e7418035d99e830068d3ef7d0072ea9353401dc3a3a7dcb9aff484d3fbf2d0074c80100200d4dd6d4a854e72494b79b32994cbb4d1943d64c1749c2cc5d384d45132bc4c87c48dc12379c10a71696f9e5b29d4fc114b4ad519f0fdce1799ec3b51d9a0346ee86ada681b3b7fd96d5c768b5ddaafc06dd5087de58cadfde077bc22529692d72e3c8befe06565b51d3d3178f9a4be672f7cea58704a64d9b384d651aa82260022e42088906e41c8d6d06238832300200400801002004008010020040080100200c44abccf68fce300612a5bf9472ffc59c7e7a30065995f00005c06d90840178198fe4c50041fcdd6d6f9e00f94b6a9d156b6aceaeda1b87928d93bc6b5b3b6c12cab66893d733d91cb9b316ed0a5688950227bd4cc91d54ece4a5c66b8df41ad92bb9e0ef5e959e7878248bd756ec76621e5acf8b2debae88bb55aaaaa999a65544acf2778fe7aed39819e3feb429cc250acb2585525a824833c4d4aa14a7504e7515285c0e9f9a2a94ae38f29754fe989a616f7994a1ba616695de7b2bfdd7b6e5e129608d9eabe8dd5aed069c6323ae4f46c9a564792f23e6548f5b41c765ca65ee5366dc9313a682c6fb39c6f7762529534ee5013098c2336d35b6f7de7d5a85ce33e3944226c9dca525a5d5d1553572985cb33165e8e3b6e51a4d582b30d9c8b6a968fa7a8a99cc4ad1c83896cbe5292857c697b5dc9513f5a3b954c448c299131c0238ed862f5355d555fcaaaefb8cf2a76794a70f349be91ea534dcf5a9a5ac78b78fe9895ab59c144d3a2eed3dc52a349a137a458c9650eaa57f219b90ae8f34983ba85176cb7b331325648516b30580c648e7154e041ee1404231bada57b451c1ed2bcfaa596fa9b9c8b5314bc3299e2a16cae8e31f6546a5f6d2ba29cf2753e6b3393bd94a0de9d794c853320172f25480cb642cde220d9674c1332a81c1c4c145923245300610010cf2d5d4ef3ab57554f95ea5538728c9e18b2b4a4acee6514a5dd5de7df82e86e086c12609f47b75b3d23a97377b3f722e2a776899d9d053b426257737dca8e4cb2e631d1150a4328399871180a036099c68dd43a7ba973971f963da7ab55746d42eec0b5d8f6c56bda6b6a339a8e6ee69a4250f4b323f654a0cf174dccc9fbd05cf344dbbe2884b545522d9c24d94391650718db084450e28879e1d3375639c378a5953d4578d52be5654e194a585ed4e69587447db0d45533f74fea1a7d662f5dd4aaaced479302a8aa3501059263d98920466928d65ea1d1bdce739ac615002e58ad9a88bda7ff0035555fa9274c6113a8aea6e637cae114b54fe9aa1ceb1a1dfe96d9aa929abab99a6fdb356f51a12a96489bb12eec65f2c953014514b0e12940c0e5c383970e5612842d26bb3aa96f1a9d4e79a54f953ded936714554c2c29494726df8ca5d0f9c2b9e8e1b63fdefe93a6412a3dd27216cd68d91b5963774ab676c9f4c5a3a9acca79bd210c8a676f2d294e9242a77d43184e6ee844d9cbb4a6a71a61f77615e8fccd254eeea45d8a6a53ed63acd5b3e0aa73bf819eabba2bed567b5fa5b465a614b2754efdc13c9b67309b4b654d1af671583251198b448aed5592c2613dd2214e5504818708186233d6f4cb7a377725aa8a719cf7a2cebbd4a4f2a622372bf83eb5cadd09626c2c3a28acce969e495173262a1366349d3c81889af74a4127720f26cd8a2a6f94299d2ee1d09031983bc4c46b80c6b4da4549eead55d2954aa57474f8b3374ca7bee54b95553aa5f735d69323b61e8e3389ae073463929660bcc5d4d17753ca827c4712e989d151368fe4ae923ba06bba15d4228dca9024b247120d80023154c28586183cda9df3eb28d1e05e54cb53312b82c70f65cc45494a3109f46dda21569949466f488d3f524c6999b5453f499a884e014a75bb50066cd9149d50891dc3121d336f0372539c01311b1a2d567860afd552df8faa9bf777ea925815e2f16e954be9eb3fcdfee72605af455dac4ca9f6f4ed4532a29191cae99529997125c77cbaaba7369b37733e7ae7ac224029dd3240c99485c4053186e6128e56a2134dff00e5cad22cf16bab4be739aa61a4ff00fa8d3e35a6a9e94c9d1dc6c6eb269b4c9fbd94a542ab47d5cee44e27449a3455798356b2444122cb9a34c02d4c988a453a4731cbb9318e6c071b4568aaa59bfbcea9d5ca4b3e119f4815a5a7b3763458b73d67235cd82745e9e51154cb1e4f1d4b66a853294dc9219826fe68e5dba713974751c3c5db3912b5682648d650896f319c71622805a165b3447baa9c32c23578e30b0d37b26d5deadbd1d4eaef985d2627546c6db63d5fb7af6a63116a3d4a4eaca8cb534c266e905dc4fc8b24c126ed9b224397ab905b2c826a20e37988801604f177e33547d5dc98f5f2cf6e7caf471492c0bfa4dbbf1ec61a6cc4ae3313c1b6f1c0d013e8a7b4199d354cd393d7f45b5925212a429b6ade5293930cce58b4cd93b9ab8782ba65dda8e119710a089719319d431d43651ad2f6d56e3eee1a6ce3fee8e4971328d974a7ed63acd52a5f46e6337c8bbda9ec2eb96b4d5553d95f67cca72bd5137ab936ac5050ef1c2a492ab29a6d9903097175631d331f3000001c2319dc9a550b5bc9ee555a5517f9534bcf334a5abd2fddfd366a61716d605a17a2d6d31c35a41cbe5367ed9e6cd9849a5948d3cc4af3b21f252d748ba707992a748aaa7be33620a64226a02472e2115386d5da4da7a459b79689454b0d655e95baea5c4c927e8fd13c977de6e999e0d530f7de6cd864dd1e36849d453faaa6133a60d544d65b52b996f56456ea92ca827e93568455231d30399241a4b904c54b0287115070801b0c62e8fabaa89f5944f3aaa75477d31f8789aaab6e9adaf56a98e492a7afad2fde8591af483a1d4f24b5b1d545eca1ed3667f219a91474fe6a57289e9c97376b2f6812e470b350a938649a845ce6c452dc37623618d2ba9b7535839adae75cc72898c334b42896093f669a5f4f5bf567c1b2f665d14eac36ce65f4fcbe6d2049db0a127323058e45c89af3fa85d20e268f153113c7ba58a89898b33f7af6854f765166a3850e5f29269718eb7abaa78d49aa7ba4e99b4bd9f567319950350532952c69b510abc51191cdd47249688bd61d4f788aed9151421d0f782288dc863077446e115babd23ad632aa58e78ba5cf843e0de2569a57a3543d1a7dc9a8f19e6918ed87ec2a6543cecefa633161345bb0909622bb6445b883971357f389b2854bcd4d255c3e20265011102261886f1346cd3757bab9aa29853c6f3adee8692154d4e5fbcfad4d4f48a69cf5939d760ed697635052d3491bf4a9c9fd49319a54530964b165a60fdab97bbd1689efd54914caa229952329deee685bc459e0a8bd8ddf1737bcf126d21baaefdef050a9f2ee31130d9c56f30a48b4a38914fd9c9e57dbae255306928133f78f26fbe21547f8dc0010a449c98aa026730a9ccb6b4463837129251a3c54cf38cb7b6cb4abd86533c560e1749cf7248d92626dae3c5e4b3635160de69249b3576d254da50a24c859b397b86a824abb29f7ea0a6b3932a42eec0a50ee87a5133b57b5daf1c3aff6552d9bbf87c1cbe53f0e2605aeceaae3533336b3191d4ce66f36a6d5932ef4b28f732399bccd6984f9620997138117050a44c35eef7a0a9a52bba6c7e9a3871724de77af6bb7df565fa5244d6fb3aa9669578d432da66ad4156f31de4ba58082f2b49260494a72e6a4eb4c17de94e89caa1ac50c2629c42e1118f577b1e2daf85293444288d15dfdb3f1ab0e45dcbf672fdb52f39931299ab0a13194c9242d9d16521bc465ecdd19dcd4a02a3939c3ad28bac250c43ef710c5f04d6ebc9c70a55375787895dacf5bb52eb54cbf2ee2f1b4b368f2baac2a89552b395a6c94fa7eeccd5d4b94220f6593d144776aa8554c645743ab26501294e512878c5289513ecb4ff53aa7bde25aa73de9ae94dd8eec8c7d534bed5aa7211e5432fa8a63326e532ec987636196a4b1a68d5f0b1b6ff782d772c489098d739844c610b58b134ecb4d62f0eb0ea6fcd5dfc2a43c656533d2524be37bf1601fc9f6cde5738ac9853cf4b533fed215192d2c58b2d62770c9bb064aa074d4deae7452407189ca4c58c6d840022b7765d3bd3c774b4f05d3e3c095129ee6bb92abe357c0c729b3aae9a53d31a72574d4e1492d432ea7e593f7efe54751fa6d25242a6f50684058c99c1c58c720984b80e735c07218d6f6d6ea5557b0cf04a174baba1469b5beabad756db6ff00765c11f5652be530c8d019f92569ccf1ae2aa72ddf7552a1be3f56286ffdd31837c1bcbe58f15b2b45374e70a79eb1c272e05a12cb2d396864c7cfd7869f340155f971d3d9ac00cfe8f684010023af7adc0bac01561b780696f9ad005016c4398f0fd8200aaf70b7b79e5000c3e17ca0067a0dcc0236b7840139fc7ce00a0960be62398e7e1005598fb3210f18017cf3e23a8401018b2bdc475f50fae00910e17f6f1b40105f3433cc6df1c0155c6f70f67ec100539e99ded95ad004ea3c72cb17af58020f7c3adadcb9c01202016e419c00cfe3fd300467c3100e5ca009d79878f3b690041ed70cf8e9f3fcd004e2f9adf4400cfd7c47d900467e21adf41fc9004873b5b8887cf005236c7af3cbe6802abf001d74f6400cedfb710803c5e0fd86b0e601ba35b8f0803dd97981007ccbb64fbb0cd7f1196fe629006429bd0bea803a449b42c01b84bf8401994600b80801002004008020d005839d0600d7667a0c01a34fbdf401cbaa4d4d00770e8ebf72e6bfd2134fefcb401d3200401856d46d38dea4713e49a98b35744c0bb9df2c206288143ed42714c3cc0d0b058601e273c92ec0d7652aec35aa1eb14eb49d3a9bca1a26c8107a883e3bb51d22bbd2ac3be113bc1c2a026430583163377a32f434bb3543d29747e5743a3bd2733abd039bd797b6abdf8aad57dcde9a23473f43b982741a74acbeb44258c701dacc3ab4a0c01326c9cbdbcbd81df905f0ef5c354da9301c04a97fd886421d6addfa4568f169dee17956ab95bb150f3c1ef2ae84e974f4e310d478cf33b76cfa856b4acb264d5158ae0f359d4d276e97044a889969a3b51d9c040b7be0de600308dec0115b4b4bca95ecd29776bd7314d313c4d9e332c200400801002004008010020040080100200c44abccf68fce300612a60bd44c33b7d8ce3fe6230065d987b96439db8fe5802ec3ccbe97cbf6080160cbd7900fa5002c6b85ac1cfd7005221a0e2b0e772fcf9c0126f3321e39871802b1d33e39db5fc9005360f011b776fca000def70d2c3608020402fe76439887cd0006fdcb67f4c01508701f8833fcb002c171be11f487c2008b982f7d075e10045ac23deb85f2b7380273c76f38042c16ca009f7dafa843e9802003d5ebe38a00001b41e23f97c60082807a57e43e100494044e6be7c7940136bfaedecf54011c32b7e0da0070b09ad979d000a19e639f8c0025f088f2e3780160b0df4f7d000c036f7a03c6da5b9c0106011e384c021003de8d873f1fcb00541e600e97cbf608022c197cc3e9400ef5c2d60b6beb802042f61bd8797cf000de6643ece36802b1b807af3e7f9200a70865a0e5ddbc00cef96961b40102017f3b210b887cd0006fddb080f878c015080683a72d7f2c00b7786f8447df0f84011de0bdf41d6008c3611ef5c3f4faa009cf1d83bc021c2009e3afa843480200003978f3c500031683c47c358020a01e95c380f84012501c66be7c794013afaedec80232b656fc1b40116cac2600cb58024819e639f8c0025f088fa3c60008058797be8002036f7a1eae50041ae37cf0982d00380d873b71fcb00497cc01d387ec1002c197af41e7000715c2d6cb5f5c01021a0e2b0e770f9e001bccc87d9c600ab3b72be7cff24011874d072eedfe68019dfbba708020402f7c595b308006bf76c37f0f1802a300683a720ce005b31be11e63e10045cc1711d200a70d847bd700d2dc0600f27b7eaeadac21ba35adea1802e197981007ccdb64fbb04d7f1296fe629005fd37a17d500748936858037097f0803328c01701002004008010041a00b1701006bd322e43006913d20f7a00e6351a5ac019bd9a6dd25948538a49a6727993a222e9c2ed1d30140d888e5432c62a855d546c25318432bdc200d817e98d41a5e753d560fa9361f5c802c8fd36b6765d69cac3faa977d7600f3fe1c3b39fbdbacbfaa977d7600d16a7e9bf3d094b36b20a6660abe5df9cd309bbe3b244ad1883d0390a935228b02e716974f33a76367718d2cdd3795e5b384f763e22ac9c67a1bd7f0e1d9c7dedd65fd54bbebb1981fc387671f7b7597f552efaec00fe1c3b38fbdbacbfaa977d76007f0e1d9c7dedd65fd54bbebb003f870ece3ef6eb2feaa5df5d801fc387671f7b7597f552efaec00fe1c3b38fbdbacbfaa977d76007f0e1d9c7dedd65fd54bbebb003f870ece3ef6eb2feaa5df5d801fc387671f7b7597f552efaec00fe1c3b38fbdbacbfaa977d76007f0e1d9c7dedd65fd54bbebb003f870ece3ef6eb2feaa5df5d801fc387671f7b7597f552efaec00fe1c3b38fbdbacbfaa977d76007f0e1d9c7dedd65fd54bbebb0058b2e9a7b3e44b63539580e63a272fe7f8ec016332e98b40b99bb6745a76ae04d14554cc029cbef7399310ffeb3f00600bc4fa68ecf0a16f276b0f56ea5ff005d803d7f86becf2e1fc5bac2c01fece5ff0097ecd80207a6b6cf2e23e4dd5f730808dd397f0ffcec0157f0d7d9de7fc5cac73ffb2977d760080e9adb3cbff272b0b5adf6b97fd76007f0d6d9e5ff0093b58ff572ff00aec000e9b1b3dc423e4dd61e1ee72ffaec0105e9abb3b010fe2dd61a8888eee5fc7ff3b0055fc35f677f7b758f0ff572ff00aec002f4d7d9de77a72b0cf9272ffaec0101d35b6797fe4ed63fd54bfebb0003a6becf6c3fc5bac33d7dce5ff5d8020bd3576761ff0056eb000c36fb5cbfebb00543d35f677f7b7587f572ff00aec0101d35b67987f93958dfff000e5fc7ff003b0003a6becf42e3e4e56023ff00872ffaec011fc35767824c3e4dd616e3ee72ff00aec0121d35f67971bd375805c6ff006b97fd76000f4d7d9e70a6eb0d3fd9cbbeb9004ff0d6d9e610fe2ed6370ffb297fd7600a7f86b6cf70d829cac3fab97fd760091e9afb3c1b7f16eb0b146e1ee72ffaec000e9afb3cc361a6eb0f6272fe7f8ec00374d6d9e0ff00d5cac331cc7772ff00aec0126e9afb3c1ffabb58873f7397fd760081e9adb3ccbf8b9586b71f7397fd760081e9adb3c11bf937585ed60f7397fd7600a83a6becef2fe2dd6170ff00b397fd76008fe1adb3bc416a72b1000ffb397fd76001ba6b6ceef953b58db96ea5ff005d8003d35f67970fe2e563600ff672ff00aec0103d357679711f26eb0b984354e5fc3ff3b0057fc3636759ff0016eb1cff00ece5df5d80290e9adb3cc5fc9cac2d6b7dae5ff5d8003d35b6797fe4ed63fd5cbfebb003f86c6cf7108f93757f87b9cbfebb004074d5d9e0085a9bac35111114e5fc7ff3b0055fc35f6756fe4dd63c3fd5cbfebb000bd35f6779de9cac33e1bb97fd760080e9adb3cbdfc9dac7fab97fd7600074d7d9ed87f8b75867ff00672ffaec0105e9adb3c0cbc9bac2d86d7ddcbeff00df600a87a6becebef6eb1feae5df5d8001d35f67987f93958dff00f0e5fc7ff3b004074d7d9e85ff008b95808ffe1cbfebb0040f4d6d9e09308d395867afb9cbfebb00541d35f67971fe2dd60017bfdae5ff005d80207a6b6cef8537586960f7397fd72009fe1adb3cc36f276b1b87fd94bff2fd9b0047f0d6d9ee1100a72b01bffd9cbfebb0007a6b6cec6dfc5bac3ba37fb5cbfebb000bd35f6776ce9bac38e89cbfebb000dd35b6783ff572b0cf51ddcbff0027d9b0049ba6b6cf07feaed63e3ee52ffaec011fc35b67b907939586b9fb9cbff27d9b0040f4d6d9e08dfc9bac2f6b07b9cbfeb900541d36367960fe2dd6170b7faa9770ff00cec011fc35b679882d4e56216cfed72fe7f8ec00374d5d9df0a76b0f56ea5ff5d801fc35f67970fe2e561600ff00672ffaec0103d35b679711f26eb0b9adaa72fe1ff9d802bfe1afb3afbdbac7faa977d7600a43a6b6cf2ffc9cac2d6b7dae5f9fff009ec001e9abb3cbff00276b1b7fe1cbfebb003f86c6cf7108f93758787b9cbfebb004074d6d9e0085a9bac35b888a72ff00aec0157f0d7d9ddbf93958ff00572ffaec002f4d7d9ddc6f4e5619f0ddcbfebb004074d6d9e5efe4ed63fd5cbfebb0003a6becf6c3fc5bac33ff00b397fd760017a6b6cf032f26eb0b61b5f772fbff007d80247a6becebef6eb0feae5df5d8004e9a9b3d12ff00276b0bff00e1cbf2ff00f3d802b374c5a0d64542169fab6ea104a174d85b30fc7200cb4bba58d146000ec0aa3e431fadc01ce2a2a9c6a7ad1fcf41a198a4e8a820d9b1cc0750126e51294ca096e5c46130e402368036fa713c8b007469397ba1006dd2f0c8200cc23005c04008010020040106802cdc06b00606605d600d3674979d007399fb5be2ca00e7b3764371cb9c01a7cc65e39e500605c4b07169005a8cb4de8c011d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f46007669bd1801d9a6f4600ac92d37a3006459cb46e19401b34ad80dc328037891b3ccb9401d1a40df20803a04a53ee8401b5312e41006551d200f7801002004008003a40168b8401877c9eb006ad366f7bc01a24e98df1650069534958888e5006aafa4e371ca00c32f251be900787629b94011d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b9400ec5372801d8a6e5003b14dca007629b94015164a3e8c017cd64c3965006c12e940dc328036f944b4404328037a92b31002e5006e92d46c01006c6d0b90401924a00f580100200400800300782a100639d25780302fdadef006ab3396e2be5006b0fa4d711ca00c13a90dc7cd80318ad3b9f9b0078f939f83003c9bfc1801e4dfe0c00f26ff06007937f83003c9bfc1801e4dfe0c00f26ff0006007937f83003c9bfc1801e4dfe0c00f26ff06007937f83003c9bfc1801e4dfe0c00f26ff0006007937f83003c9bfc1801e4dfe0c00f26ff06007937f83003c9bfc1801e4dfe0c00f26ff0006007937f83003c9bfc1801e4dfe0c00f26ff06007937f83003c9bfc1801e4dfe0c00f26ff0006007937f83003c9bfc1801e4dfe0c00f26ff06007937f83003c9bfc1801e4dfe0c00f26ff0006007937f83003c9bfc1801e4dfe0c00f26ff06007937f83003c9bfc1801e4dfe0c00f26ff0006007937f83003c9bfc1801e4dfe0c00f26ff06007937f83003c9bfc1801e4dfe0c00f26ff0006007937f83003c9bfc1801e4dfe0c00f26ff06007937f83003c9bfc1801e4dfe0c00f26ff0006007937f83003c9bfc1801e4dfe0c00f26ff06007937f83003c9bfc1801e4dfe0c00f26ff0006007937f83003c9bfc1801e4dfe0c00f26ff06007937f83003c9bfc1801e4dfe0c00f26ff0006007937f83003c9bfc1801e4dfe0c00f26ff06007937f83003c9bfc1801e4dfe0c00f26ff0006007937f83003c9bfc1801e4dfe0c00f26ff0600a8b4e7e0c0174853da77600cbb391dbdec01b0cbe51610ca00dae58c2c019401b2b26f6008033281200bd4c200ae0040080100200401e670802d954e00c7396d7e100619db001be500625c4a40784018e5a4a1e8c016879107a30079f6087a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f460076107a3003b083d1801d841e8c00ec20f4600909087a3007ba7230f4600bd424c01ef600c9b695807080332d19db8401966e85a00bd4c9005c1420098010020040080100408401e462c01e0a250059aad40600b5518872802d8f2e0e500791a5a5e50053d985e5003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b003b30b00484b0394015965a1ca00f62300e5005d26cc200bb49b804017444e00f729600ae004008010020040080100408401409200a052803cc500802816f0053d582007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007552c00eaa5801d54b003aa96007562c0120da00a81b840159510803d013803d00b00550020040080100200400801002000c014c010300530020040080100200400801002004008010020040080100200400801002004008010020040080100200400801002004008010020040080100200400801002004008010020040080100200400801002004008010020040080100200400801002004008010020040080100200400801002004008010020040080100200400801002004008010057004840130020040080100200fffd9}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone.js is a lightweight JavaScript library that adds structure to your client-side code. It makes it easy to manage and decouple concerns in your application, leaving you with code that is more maintainable in the long term.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Developers commonly use libraries like Backbone.js to create single-page applications (SPAs). SPAs are web applications that load into the browser and then react to data changes on the client side without requiring complete page refreshes from the server.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone is mature, popular, and has both a vibrant developer community as well as a wealth of plugins and extensions available that build upon it. It has been used to create non-trivial applications by companies such as Disqus, Walmart, SoundCloud and LinkedIn.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone focuses on giving you helpful methods for querying and manipulating your data rather than re-inventing the JavaScript object model. It\u8217's a library, rather than a framework, that plays well with others and scales well, from embedded widgets to large-scale applications.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As it\u8217's small, there is also less your users have to download on mobile or slower connections. The entire Backbone source can be read and understood in just a few hours.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 When Do I Need A JavaScript MVC Framework?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When building a single-page application using JavaScript, whether it involves a complex user interface or is simply trying to reduce the number of HTTP requests required for new Views, you will likely find yourself inventing many of the pieces that make up an MV* framework.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 At the outset, it isn\u8217't terribly difficult to write your own application framework that offers some opinionated way to avoid spaghetti code; however, to say that it is equally as trivial to write something as robust as Backbone would be a grossly incorrect assumption.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 There\u8217's a lot more that goes into structuring an application than tying together a DOM manipulation library, templating, and routing. Mature MV* frameworks typically include not only the pieces you would find yourself writing, but also include solutions to problems you\u8217'll find yourself running into later on down the road. This is a time-saver that you shouldn\u8217't underestimate the value of.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 So, where will you likely need an MV* framework and where won\u8217't you?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you\u8217're writing an application where much of the heavy lifting for view rendering and data manipulation will be occurring in the browser, you may find a JavaScript MV* framework useful. Examples of applications that fall into this category are GMail, NewsBlur and the LinkedIn mobile app.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 These types of applications typically download a single payload containing all the scripts, stylesheets, and markup users need for common tasks and then perform a lot of additional behavior in the background. For instance, it\u8217's trivial to switch between reading an email or document to writing one without sending a new page request to the server.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If, however, you\u8217're building an application that still relies on the server for most of the heavy-lifting of page/view rendering and you\u8217're just using a little JavaScript or jQuery to make things more interactive, an MV* framework may be overkill. There certainly are complex Web applications where the partial rendering of views can be coupled with a single-page application effectively, but for everything else, you may find yourself better sticking to a simpler setup.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Maturity in software (framework) development isn\u8217't simply about how long a framework has been around. It\u8217's about how solid the framework is and more importantly how well it\u8217's evolved to fill its role. Has it become more effective at solving common problems? Does it continue to improve as developers build larger and more complex applications with it?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Why Consider Backbone.js?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone provides a minimal set of data-structuring (Models, Collections) and user interface (Views, URLs) primitives that are helpful when building dynamic applications using JavaScript. It\u8217's not opinionated, meaning you have the freedom and flexibility to build the best experience for your web application how you see fit. You can either use the prescribed architecture it offers out of the box or extend it to meet your requirements.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The library doesn\u8217't focus on widgets or replacing the way you structure objects - it just supplies you with utilities for manipulating and querying data in your application. It also doesn\u8217't prescribe a specific template engine - while you are free to use the Micro-templating offered by Underscore.js (one of it\u8217's dependencies), views can bind to HTML constructed using your templating solution of choice.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Looking at the {\field{\*\fldinst{HYPERLINK "http://backbonejs.org/#examples"}}{\fldrslt{\ul
+large
+}}}
+ number of applications built with Backbone, it\u8217's clear that it scales well. Backbone also works quite well with other libraries, meaning you can embed Backbone widgets in an application written with AngularJS, use it with TypeScript, or just use an individual class (like Models) as a data backer for simpler apps.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 There are no performance drawbacks to using Backbone to structure your application. It avoids run loops, two-way binding, and constant polling of your data structures for updates and tries to keep things simple where possible. That said, should you wish to go against the grain, you can of course implement such things on top of it. Backbone won\u8217't stop you.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 With a vibrant community of plugin and extension authors, there\u8217's a liklihood that if you\u8217're looking to achieve some behavior Backbone is lacking, a complementary project exists that works well with it. This is made simpler by Backbone offering literate documentation of it\u8217's source code, allowing anyone an opportunity to easily understand what is going on behind the scenes.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Having been refined over two and a half years of development, Backbone is a mature library that will continue to offer a minimalist solution for building better web applications. I regularly use it and hope that you find it as useful an addition to your toolbelt as I have.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Setting Expectations\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The goal of this book is to create an authoritative and centralized repository of information that can help those developing real-world apps with Backbone. If you come across a section or topic which you think could be improved or expanded on, please feel free to submit an issue (or better yet, a pull-request) on the book\u8217's {\field{\*\fldinst{HYPERLINK "https://github.com/addyosmani/backbone-fundamentals"}}{\fldrslt{\ul
+GitHub site
+}}}
+. It won\u8217't take long and you\u8217'll be helping other developers avoid the problems you ran into.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Topics will include MVC theory and how to build applications using Backbone\u8217's Models, Views, Collections, and Routers. I\u8217'll also be taking you through advanced topics like modular development with Backbone.js and AMD (via RequireJS), solutions to common problems like nested views, how to solve routing problems with Backbone and jQuery Mobile, and much more.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Here is a peek at what you will be learning in each chapter:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Chapter 2, Fundamentals traces the history of the MVC design pattern and introduces how it is implemented by Backbone.js and other JavaScript frameworks.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Chapter 3, Backbone Basics covers the major features of the Backbone.js core and the technologies and techniques you will need to know in order to apply it.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Chapter 4, Exercise 1: Todos - Your First Backbone.js App takes you step-by-step through development of a simple client-side Todo List application.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Chapter 5, Exercise 2: Book Library - Your First RESTful Backbone.js App walks you through development of a Book Library application which persists its model to a server using a REST API.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Chapter 6, Backbone Extensions describes Backbone.Marionette and Thorax, two extension frameworks which add features to Backbone.js that are useful for developing large-scale applications.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Chapter 7, Common Problems and Solutions reviews common issues you may encounter when using Backbone.js and ways of addressing them.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Chapter 8, Modular Development looks at how AMD modules and RequireJS can be used to modularize your code.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Chapter 9, Exercise 3: Todos - Your First Modular Backbone + RequireJS App takes you through rewriting the app created in Exercise 1 to be more modular with the help of RequireJS.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Chapter 10, Paginating Backbone Requests & Collections walks through how to use the Backbone.Paginator plugin to paginate data for your Collections.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Chapter 11, Backbone Boilerplate And Grunt BBB introduces powerful tools you can use to bootstrap a new Backbone.js application with boilerplate code.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Chapter 12, Mobile Applications addresses the issues that arise when using Backbone with jQuery Mobile.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Chapter 13, Jasmine covers how to unit test Backbone code using the Jasmine test framework.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Chapter 14, QUnit discusses how to use the QUnit for unit testing.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Chapter 15, SinonJS discusses how to use SinonJS for unit testing your Backbone apps.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Chapter 16, Resources provides references to additional Backbone-related resources.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Chapter 17, Conclusions wraps up the our tour through the world of Backbone.js development.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Chapter 18, Appendix returns to our design pattern discussion by contrasting MVC with the Model-View-Presenter (MVP) pattern and examines how Backbone.js relates to both. A walkthrough of writing a Backbone-like library from scratch and other topics are also covered.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Fundamentals\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Design patterns are proven solutions to common development problems that can help us improve the organization and structure of our applications. By using patterns, we benefit from the collective experience of skilled developers who have repeatedly solved similar problems.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Historically, developers creating desktop and server-class applications have had a wealth of design patterns available for them to lean on, but it\u8217's only been in the past few years that such patterns have been applied to client-side development.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this chapter, we\u8217're going to explore the evolution of the Model-View-Controller (MVC) design pattern and get our first look at how Backbone.js allows us to apply this pattern to client-side development.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 MVC\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 MVC is an architectural design pattern that encourages improved application organization through a separation of concerns. It enforces the isolation of business data (Models) from user interfaces (Views), with a third component (Controllers) traditionally managing logic, user-input, and coordination of Models and Views. The pattern was originally designed by {\field{\*\fldinst{HYPERLINK "http://en.wikipedia.org/wiki/Trygve_Reenskaug"}}{\fldrslt{\ul
+Trygve Reenskaug
+}}}
+ while working on Smalltalk-80 (1979), where it was initially called Model-View-Controller-Editor. MVC was described in depth in {\field{\*\fldinst{HYPERLINK "http://www.amazon.co.uk/Design-patterns-elements-reusable-object-oriented/dp/0201633612"}}{\fldrslt{\ul
+\u8220"Design Patterns: Elements of Reusable Object-Oriented Software\u8221"
+}}}
+ (The \u8220"GoF\u8221" or \u8220"Gang of Four\u8221" book) in 1994, which played a role in popularizing its use.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Smalltalk-80 MVC\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 It\u8217's important to understand the issues that the original MVC pattern was aiming to solve as it has changed quite heavily since the days of its origin. Back in the 70\u8217's, graphical user-interfaces were few and far between. An approach known as {\field{\*\fldinst{HYPERLINK "http://martinfowler.com/eaaDev/uiArchs.html"}}{\fldrslt{\ul
+Separated Presentation
+}}}
+ began to be used as a means to make a clear division between domain objects which modeled concepts in the real world (e.g., a photo, a person) and the presentation objects which were rendered to the user\u8217's screen.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The Smalltalk-80 implementation of MVC took this concept further and had an objective of separating out the application logic from the user interface. The idea was that decoupling these parts of the application would also allow the reuse of Models for other interfaces in the application. There are some interesting points worth noting about Smalltalk-80\u8217's MVC architecture:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab A Domain element was known as a Model and was ignorant of the user-interface (Views and Controllers)\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Presentation was taken care of by the View and the Controller, but there wasn\u8217't just a single View and Controller. A View-Controller pair was required for each element being displayed on the screen and so there was no true separation between them\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The Controller\u8217's role in this pair was handling user input (such as key-presses and click events) and doing something sensible with them\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The Observer pattern was used to update the View whenever the Model changed\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Developers are sometimes surprised when they learn that the Observer pattern (nowadays commonly implemented as a Publish/Subscribe system) was included as a part of MVC\u8217's architecture decades ago. In Smalltalk-80\u8217's MVC, the View and Controller both observe the Model: anytime the Model changes, the Views react. A simple example of this is an application backed by stock market data - for the application to show real-time information, any change to the data in its Model should result in the View being refreshed instantly.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Martin Fowler has done an excellent job of writing about the {\field{\*\fldinst{HYPERLINK "http://martinfowler.com/eaaDev/uiArchs.html"}}{\fldrslt{\ul
+origins
+}}}
+ of MVC over the years and if you are interested in further historical information about Smalltalk-80\u8217's MVC, I recommend reading his work.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 MVC Applied To The Web\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The web heavily relies on the HTTP protocol, which is stateless. This means that there is not a constantly open connection between the browser and server; each request instantiates a new communication channel between the two. Once the request initiator (e.g.\u160?a browser) gets a response the connection is closed. This fact creates a completely different context when compared to the one of the operating systems on which many of the original MVC ideas were developed. The MVC implementation has to conform to the web context.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 An example of a server-side web application framework which tries to apply MVC to the web context is {\field{\*\fldinst{HYPERLINK "http://guides.rubyonrails.org/"}}{\fldrslt{\ul
+Ruby On Rails
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000003e7000001f108060000000feecd130000000473424954080808087c086488000000097048597300000b1200000b1201d2dd7efc0000001c74455874536f6674776172650041646f62652046697265776f726b7320435336e8bcb28c00000015744558744372656174696f6e2054696d650033312f332f3133614c947a0000200049444154789cecdd79785b679dfffd4f3696822db59452928094b4d326308c94944966a03fa4386e87811f91edc2502089ecd0161a706c07dab44d8997366d4221b69312b6124b49a02cad2d0518963ab6c430cf904cdbc830f324ed431bb9d304660a8de4302ccda2e70fe79c48b6bcc88b8e97f7ebba7cc596ceb9efef517ccbfa9e7b9b914aa552020000000000969969750000000000004c7724e70000000000588ce41c00000000008b919c03000000006031927300000000002c46720e0000000080c548ce0100000000b018c93900000000001623390700000000c06224e70000000000588ce41c00000000008b919c03000000006031927300000000002c46720e0000000080c548ce0100000000b018c93900000000001623390700000000c06224e70000000000588ce41c00000000008b919c03000000006031927300000000002c46720e0000000080c548ce0100000000b018c93900000000001623390700000000c06224e70000000000588ce41c00000000008b919c03000000006031927300000000002c46720e0000000080c548ce0100000000b018c93900000000001623390700000000c06224e70000000000588ce41c00000000008b919c03000000006031927300000000002c46720e0000000080c548ce0100000000b018c93900000000001623390700000000c06224e70000000000588ce41c00000000008b919c03000000006031927300000000002c46723e01050201050201abc30000000000e409c9f904934824545151a1783c6e752800000000803c21399f6022918824a9a4a4c4da4000000000007943723ec1844221d96c36b9dd6eab430100000000e409c9f904130a85327acd239188eaeaeab20e73afababeb37373d1289a8bcbc5c5eaf575eaf574d4d4d4a241259eb4a3fb6a4a424ebb146fd8944c23cb6a9a96944f50100000000b29b914aa5525607815eb1584c4b962c515b5b9b99a0d7d5d5a9bebe5e9d9d9df27abd19c7cf9831431e8fc71c0a1f0a85545a5adaaf5c9bcda6582c26a7d3693e565e5eae6030d8ef5897cba5482422bbdd9e51bfcfe753381c9624b3ce5cea03000000000c8c9ef30924140a4952bf247cb8aaabab65b3d9d4d9d9a9542aa553a74ec9eff72b994c66f476d7d5d529180ccae7f3e9c89123e6b1b5b5b5eaeaeaca3adf3d1289e8c891233a75ea9459d670eb1b4f2fbdf492bef9cd6fe6a52e00000000182fb3ad0e0017854221793c1eb3d73a57dddddd72381ce67c75bbddae402020a7d3999170070201793c1ef36680716c5d5d9d24a9bebe5eb1582c63de7b7575b5f9b3f1ef70eb1b4fbff9cd6fb463e72efdfc17bfd07db5b5bafcf2cbf3522f000000008c2592f309221e8fababab4b8d8d8d232ec3e3f1281a8d9ac9b13197dc48baa5dea1f3dddddd723a9d198fa7c721f5f694a727e7d97af387535f3ebcf92df3f5caab5eadca8d1bb5e7ab5fd56b5ffbdabcd60f00000000a3c5b0f609c298373ed221edd2c51ef16432a96030a88a8a0a5d7ae9a52a292931936e63b1b66834aafafafa7e5fc63cf4e12cea369cfaf261ceab5ea5bb1e7a4897bdd5a177793c3a76ec58deea0600000080b140cff904110a853286888f84d3e9542412512c1653201050241251575797c2e1b062b15846c2ecf7fb555e5e3e685963595f3e54d6d6eaed4b97e88e7befd51dd5d57acff5d7e7b57e00000000182992f309c2d8926cb8fa26be894442a150484ea73363bb33630bb470389c31543d168b65eda54f24124a24124326e7c3ad6f34230172356bd62cdd5052aacb2e7fa3ca3ffe71d57dee735abb7a75deea07000000809122399f0042a19092c964d644d6581c2e140a653c9f6d5e774545851c0e8762b198799edd6eeff7bd31573c1008f4bb21505252a268349a75ebb691d46785ebaebf5e5fffc10fb5b5a65abf3f754a35959596c43155cd9831433366ccb03a0c20ef52a994d87d1400008c1792f309c0986f9e6d85f3929212d5d4d4a8b9b9d9ecd18e4422fde684dbed76f9fd7e058341b9dd6e33e98e44228a46a3f2783c66af79535393bc5eaf2a2a2a140804e4f57acd9ef0eeee6e793c9e2113f35ceab3c25bafba4ab50f7f493beeb95b5d5d5ddaf1f9cfebb2cb2eb32c9ea964c68c197ae6ec39abc300f2eedad9b3ac0e0100004c6124e71340281492cfe7cbfa9cd3e9544b4b8baaababcdc5da5c2e97028180962c599271ac31b43c180caabebede7cbcefb6696eb75b914844d5d5d58a46a38a46a3e673555555c35e6d7db8f55965ee5bdfaa2fecffa6beb879b3d65454e8bbdffa965ef7bad7591d1600000000f43323c518bd49231289c86eb70fd9239d4824148bc524f526e2830d2f8fc7e3e6fcf591ce0fcfa5beb1f6cb5ffe52b5dbb6e9f3fbbf39e03167cf9cd1971fd8aa5ffedbbfa971fbf67e3735909b993367d2738e69e9dad9b374fefc79abc30000005314c93926b5e124e786f67048df7af861d56edeace2a2a23c443735919c63ba2239070000e3897dce316d14fb4af4b987bfa4b57ebfbefbd863568703000000002692734c2b0baebd567b0f7668df638fa9f6befbf4873ffcc1ea900000000080e41cd38fe3eaab75f78e46751d3ba675b7dd6675380000000040728ee9e98d575ea987f6edd7ebae7893569595e9c48913568704000000601a2339c7b4f699071ed0d2952bb5be66a37ef5ab5f591d0e00000080698ae41cd3daab5ff31a7decf6f57adfea8fe9861b6fd4f77ff003ab4302000000300dcdb63a00602228fabf1fd0bc1f39f4a5fb1a943c7d5aab3ff211ab4302000000308dd0730e5c70eddffc8d36d437e85b8f3fae3befbe5b7ffce31fad0e09000000c03441720ea4b9fa6d6fd3b64050cfbef0822a6ebd8d041d000000405e909c037dbcf6924bd4f0d5afe9d2b7bc45fff4b1d5faf5af7f6d754800000000a6389273208bd75e72893ef3c0037ad7fbdfa7759ff8849e7df659ab43020000003085919c0383f8d0ba8febe377dd25cf8a150a7ffffb568703000000608a22390786f0ae95c57ae49f7fa447f6ed53f3c30feb95575eb13a2400000000530c5ba9490a06838afcfce756878111f8e3fffeafce9d3b37eef55cf38e7768d31777e84ebf5fc78f1f57d317bf38ee7502000000983e66a452a994d54158ed81071ed073bf7f5937f87c56878211b872fe7ccd733af352d75ffefc67d57ffad39a75e615353df490aebcf2cabcd43b91cc9c3953cf9c1dff1b22c04473edec593a7ffebcd561000080298a9e734973e6ccd11bae78a3aebbfe7aab43c104f7ead7bc469fdbb953dffaf26eadafa9d1e7efbb4f575f7db5d5610100000098e498730ee4e8b5975ca28f7fe6b35a5156a6eb3d1ec56231ab430200000030c9919c0323f4de9b3ea8fbbff635ddf1b9cfa93514b23a1c000000009318c3da8151f0fce3fb74c59be7aae973f7eae9584cb59b376bce9c395687050000006092a1e71c18a5c56eb79abefd1d1d8ec5746f6dadd5e100000000988448ce8131f0dad7bd4e0f3cf20d1dffefff91ef831fd40b2fbc6075480000000026119273608cd82ebb4c5bbffe75b9def31e7d78f56afde637bfb13a24000000009304c93930c6d67cba521fdbb041ef59b1423ffbf9cfad0e07000000c024c08270c038f887b29b74f9156fd2b6a626c5e3717df4e69b357b36cd0d0000004076640bc038b9eefaeb75e9e597ebb36bd7e8d7cf3da706168b03000000300086b503e368e1a2450afcf4091d7be1bfb4f1ce3bd5d3d36375480000000026209273609c15daedba73fb7625cf9dd7272b2bf5dbdffed6ea90000000004c3024e7401ed82ebb4c773df49016b8ddfa3f1e8ffee33ffec3ea90000000004c2024e7401eadaddca0aaad5b754f7dbd3aa351abc3010000003041b020dc14712812d1e16844cb3c5e2df77a073c6e577d9d24a9b2b62ee3bc8114d8ed5aeef16ab1db3da2fa9069e6cc99fa87b29b74e91b2e57dd830feafffdcfffd4a7d6afb73aac296138bfcb8b5dee51fdbea6d751e62fd73ca773d0c7c7423eae0b000000d623399f220e4723dad5d0a0ca2d1a3c396f689074313937ce1bca328f47bb5bdb5468b7e7541fb25be6f168c1b5d7ea93ab3ea0c4e9d3dabc6993d5214d7ac3fd5d5ee472697f47a7f9bb3cd23a9679bc66123ed0e363211fd735523d8984b6d6d4a8ccefe77d000000609418d60e4952e95abff61dece8f775cf8e1d2ab0d974381a55b0b9c9ea30a794375e79a5be72e0fb7af257bfd2da8a75faddef7e677548d3c2b1ae2ead2f2bb53a8c3197efeb6a0f87b462e102b5ed0de6ad4e000080a98ce41c92a4f94e87967bbdfdbecaabaab5bbb54d9214686eb638caa9e78d575ea9cfefdda78279f374d3873f6c753853c6be831d7af6dcf98caf7d073b34d7e190241d8e4675221ecfb9dccada3ab33c2b7a8ac7ebba46e2682ca6d3c9645eea020000980e18d68e211949081fc4c74f7543835a9a1a75cda245dabf77af962d5b66754853ce72af5737f9fde610f117e37173f8f989785cadc1800ea52dd2b7dce3e9377f7c2473cb5b83011d8a4475a23b2e492ab4d9b5ccdb5bf6580c411fecbaa4de6b0b3437eb68574c9234cfe1cc3a0c7db06b33d6aa98e774aacc5fdeefb56a0d0675381ac9fa7ab506833ad11d57a1cdaee2129fcafce583d66b94bddce331a7df0000004c0724e718d2a1484492ccde398c8f8aea1afdd5dbdfaeba6ddb54f9894fe8bd37dea8193366581dd6947234d6657e6f24c6476331ad2e5ad1efe6d3e1685481e666edefe8341744cc756ef9a68a8aacc3bedb0f84b5abbe5e079e3e3226f3d3b35d97d47b63e0ae75ebfa1c1d55dbdea04ad7fab5bda5c57c74b06bbbf8b8e742021dd4e1b4e4dcb8c6f4f3b25d7bfb81b0f99af65dbf42920e45a366b93d8904c9390000985648ce21497a31de6d26e1e9dac361b5060392a47b1b1bf31bd43474fd0d37ea8a37cfd5baf7fda3ea6b6b75dbadb75a1dd2a464f4e4a67b221cd6b1aede2476aec36126dc5b37d6e87432a9029b4d9b1b1b35cfe1547b38ace0ce669d4e2615686ece4862871f43c04c4e8b57f9e4afaa927431193d9d4c6ad3ba0aedefe81c97eb6a0f87ccc47c91cba50db5b52ab0d9156c6e56fb81b0daf6065568b76bf308da7599df7fe15a7a13e9d2b57ecd773a34ff4262beabbeaedfb51bd76dcc8dcf76dde909ff6297bbdff30000005319c93924f5f67c0db4b0d35c8743db5b5a54ec2bc97354d3d3357ffdd7fadebffd429fbff30ebd78f2a4eefccc67f4fad7bfdeeab02695c116292bb0d9f4e50beb284852e5965a1ded8a69bed369fe8e2ff77a15dcd9bbc682311c3d57e973bf17bb5de630f2e55eaf0a2ef41ae79a80e6725df7d7d4988fa7f7542ff77ab5ba6845ef228f3b9b555e559573ef7d99bf5c27e2713399ee3b4cfef1606f9c8b5c2eed6e6b33eb957a7be18db9f17deb9deb70e89b1d9d2ab0dbf336771e000060a2203987a4dee1aacb3d1ef3e7c783419decee56f12a9ff9e11af9f3a679f3547ddffdbae7965bf4376f7fbb3ef8c10f5a1dd2a45760b3a9b2b6b6df5c6f63f1c39e4442ede1900e45a23a34c8bee2c365f4604bbd09e9ae8606b39d15fb4a329e1f8d6cd775221ed7c9ee6e4952b1afa4dfdcf632bfdf4cac0f45232a73968f492c52ef3401a3eec52e77c6889c82b438b2d57b93df6f26ec8563f4fa0000004c16acd60e4932175f32be22cf1fd7328f47ed07c2da5451617578d3cec9175ed03db7dca2772ffb5b12f311305635ef7cee792dbb70d3e97432a9d660ff9e6763cef93bdf7099d6979529b8b3d91c263e1ac5be1295aef5673c76381ad5ae8606f9ae5b2aefc2053a1a8be554e670afebc5b45ee7f9cefe6b45cc7338cdefc7ba87ba279130bf6fdb1bd49a9545e6d7031b370e5aef328f774c63010000984ce8399f228c1ea99ec4c02baa1b1f9a0b6cb66195b9bbb5cddcc7f886121fc3daf3e497870feb91873eafd51ffa2073ce47699ed3a9ddad6d5a5db442c7baba74acab4b775554648c06b9bdacd4ece92d5debd772af47cb3d5eadb86ae1a8ebdfded2a2f2aa2ab506833a148d6424fd27bbbbb5ba68853a9f3f9ef3aaedc3b9ae89a0ef889ccce7bcf90d060000608223399f228cb9ab830dc73516921aee70da42bb5ddb5b5ab4beac4c9b2a2ad4f9bc774cb67ec2c0dac321051b1b5577efbd7aef8d375a1dce945068b76b7f47a7562c5ca0d3c9a4da0f84d51e0ea9d857a24391889998fb37548d6871b4c19c88c7d5934864947b2812d1d68d353ad6d5a5d3c9a48ec66223da337db0eb4a2fef8970b8dfaae7ede1b0f9fd504972ae3debe9ef2ff31cce8cba4fc4e37a311eb7648f78000080898e61ed53c472af5705369b8e757599ababa7eb4924b4b3be5e9254ecf30dbbdc625f8996793c3a9d4c6ad785f3313e1e6bd9a32fdf779ff63ef20889f918336e3419eeafa9c9187e2d6526a181e6a651d7b9a9a2422bae5aa8352b8b32ca5beef56a7edab0f2f9392ec6966eb0eb3286d4f77d4f381a8b993f2f725d5ca82e7d3e787af2be7318edfe74f2e26b5968b79b43eedbf606cda1fb3d89843e56b4426b5616e99a5933fbbdfe000000d31dc9f914627c48bf6bdd3aad5aba44bbeaebb4abbeae374958b840c7babab4c8e5527955756ee5eee92d37b8b3b9df1cd9c78341ad2e5a91f52bdb4d02f4773a99d4031b37ead08f7facb6ef7d4fd75c738dd5214d49c5be1215afeabd3175b2bb5bc1e626f3a696d4bb07f7aaa54bb46ae9123db071a3f9f88b239c93bdb9b1d12ce3818d1bb56ae912ad2e5a21efc2056a3fd09bfc16aff28d7a9ff36cd7d5b77ee33d6175d10af9ae5b6a6e1d67b46d49ba216dda4a7067b3562d5dd21b6b3894b5def4b83755546875d10aedaaafebad7bc7c59102beeb966a75d10aad5abac41ca550b9650ba370000000fa20399f428a7d25da77b0438b5c2e1debea32578836b65ff26fa8ca694f65c33ca753955bb648eadd133addc9ee6e1d8e46b37eb115d2f0dc57f969bdeacc2b7a74ef5e5d75d555568733a56d6b693113d65d0d0d3a1a8b697f47a7e63a7a174d33e66ffb3754a9b2b65652efef78fa8ae3c35568b7ebc0d347ccc4f95857970e47a33ad9ddad029b4dfe0d556336473cdb7515daedea7cfe78460fbab142fb328f47fb3b3a3387a03b9ddab6678f59ceb1ae2e73e87c36c6a81aa9f70653c61ee56eb7f61dec305fd7f4ebaedcb2a5df307b000000483352a954caea20acf6d0430fe9a5f3e775eb1d775a1dca98e94924cc5eee42bb7dccb66dc2d879fed831d5ae5faf959ef7a876f366bdea55afb23aa461993973a69e397bceea30c69c91802f76bbc7bc5737bd3d4ab264ceb5717df39dce417beb8d5887fbbe713416534f2231e0f1c63c73c99aeb1e4bd7ce9ea5f3e7cf5b1d06000098a248ce353593734c6c47feeddfd4b2e38bfaa70f7c406b56afd6ecd993676dc6a99a9c03432139070000e369f26404c014f1b39ffc583537dfac1ffcf0877acff5d75b1d0e000000800980e41cc893b367cee8f1408bfefde0411d3e74488b162db23a24000000001304c9399007affce52f7af0339f51f23727b5abb151ce51aed00d000000606a213907c659f2e59775cf2d1fd75bdef4267d7f8c56e70600000030b5b0951a308e9e3f764c75ebd7ebfa65cbf4705393d5e10000000098a0e83907c6c9a14844bbea6a55b57ebd3e7af3cd5687030000006002233907c6c10fbefda8bef5f0c3dafec0032a9ae47b3b03000000187f24e7c018facb9fffac96c61dfa752ca6e0238fe86d6f7b9bd52101000000980448ce8131f4e0673ea3532fbea8bd2d7b74f9e5975b1d0e00000080498205e18031f0c273cfe913ab3ea0f997daf5dd47bf45620e0000002027f49c03a374f28517b4f3739f53e9fbdfaf4fde728be6cc996375480000000026197ace8151f8456787deff37efd0877dab5479fbed24e60000000046849e736004ce9d3dab1f7ce7dbfad98103fa5924a2a54b975a1d1200000080498ce41c1881e6ba3a1dfdf7c37ae4cb5fd6d5575f6d7538000000002639927349e7cf9fd77f3d7f5c87a351ab43418ecea7ce6be135d7ea8ab973f3525f4f22a11d9b372b71f284224f3c91973a010000004c7d3352a954caea20acf6dc73cfe9e3b7deaa57bffad55687821cfdf18f7fd4f959b314683f38ee759d88c7d578ef665d356f9eb66cde2cbbdd3eee754e443367ced43367cf591d069077d7ce9ea5f3e7cf5b1d06000098a2e8399774d5555729d2d16175181881aeae2e7d6ae3c671af27feecb3faecead5daf0e94fe9e3e5e5e35e1f00000080e985e41c18c2bffcf427daddd0a0da7b37abaca4c4ea70000000004c4124e7c000ce9d3dabbdbb76ead0c1837a78c70efddddffd9dd5210100000098a248ce81017cedf3dbf56447871efbf6b775c51557581d0e00000080296ca6d5010013cd4bbffdad36df728bfef4d24b7afc3bdf21310700000030ee48ce8134a77ef73bdd57f969fdd5fc797a68eb56bdf18d6fb43a2400000000d300c93970c17f3efdb4562d71ebfdc5c5dadad0a0d7bffef5568704000000609a60ce3920e9179d1dface97bfacfdfbf6a9b8a8c8ea70000000004c3324e798f6bebaed417d7fdf7e3dfacdfd5aba74a9d5e100000000988648ce316dbdf297bf68577dbd4e3efb8c8e3cf5a42eb9e412ab4302000000304d919c635a7af9a597f4d0a64d7afd9cd9daf3b5af919803000000b0140bc261da79e9b7bfd527567d40effcebb72bf0f5afebf2cb2fb73a2400000000d31cc939a695c3d1a8ee58fd31ddeaf7ebaecf7ed6ea70000000004012c3da318d7cffd16fe9478f3eaafbb66c5191d76b753800000000602239c7b4f0cddd5fd2b71e7e58fffc831fe8eaabafb63a1c00000000c840728e29ed7432a9871b1a34f3cf7f52477bbbe6cf9f6f754800000000d00fc939a6ac3fffe94faaffd47abdc96ed717b66f576161a1d5210100000040562c088729e9d95ffd4a1ff5bc476fbfea2a7d6df76e127300000000131a3de798729efaf9cfd5ba678feebdf34e7df0a69bac0e07000000008644728e2925fccdfdfacafdf76bcf37bea1f75c7fbdd5e100000000c0b0909c634a38f3ca2bdaf7f02e3d1589e827fffccfbaeaaaabac0e69ca4aa552ba76f62cabc300f22e954a591d02000098c248ce31e99d3b774e0d1b36e895c4293db27bb7defad6b75a1dd2944682020000008c3d1684c3a43667ce1c1d7fe6192db8e20ab57ef7bb24e60000000026a51929bac130c9fdf0873fd48d37dea83973e6581d0a000000008c08c93900000000001663583b00000000001623390700000000c06224e70000000000588ce41c00000000008b919c030000000060b1d956070000c8eeb9e79ed3638f3da6993307be8f7ae6cc19cd9b374f7ebf3f8f9101000060acb1951a004c50dea222bdf9afaed15b162e18f098dfffcf4b3adf9354cbd7bf9ec7c800000030d6e839078009ead5af7eb5feefcd376b99c733e0314ffdfce7fac9bebd798c0a000000e38139e70000000000588ce41c00000000008b919c03000000006031927300000000002c46720e0000000080c548ce0100000000b018c939004c5067cf9dd3f9f3e7ac0e030000007940720e0013d4eb5ef73acd9a35dbea30000000900724e70000000000588ce41c00000000008b919c03000000006031927300000000002c46720e0013d4ecd9b3356bd62cabc3000000401e909c03c004f5bf7ff883ce9e3d6b7518000000c803927300000000002c46720e0000000080c548ce0100000000b018c93900000000001623390700000000c062b3ad0e00982a42a19062b198229188f998dbed96dbed56494989ec76bb75c10100000098d048ce81516a6a6a525d5d9d92c964bfe7a2d1a824a9baba5ad5d5d5aaababcb737400000000260386b503a3505e5eae9a9a1a49525555953a3b3b954aa5ccafcece4e5555554992eaebeb555e5e6e61b400000000262a7ace81112a2f2f57301894cfe7532010c83a6cddebf5caebf5aaaeaece3cde6eb7aba9a9c98288010000004c54f49c0323100a85140c06e5f7fb150a8564b7db95482454575727afd7abf2f272c5623149525d5d9d42a19042a1907c3e9f9a9b9bcde724291289a8aeae4ef178bc5f3d7575750a0402198f4522119597979b897f535393128944d638d38f2d2929c97aac517f2291308f4dbf79904b7dc05462b48df47524b2a9abab9bf45356fabe0f0df6be040000c6490a40ce1c0e47cae572993f1f39722465b3d95292cc2f9bcd966a6c6c4c494ad5d6d6a652a954eaf8f1e3294929bfdf6f9e5b5b5b9b9294eaececec578fa494c7e3317f6e6b6bcba823bdaee3c78f679cebf7fbb31eeb72b952a74e9dea57bfcfe7338f31eacca53e8cbd1bdffbded4fe8eced4b3e7ce0ff8f568f467a9f25b6eb13ad429c9681b46fb1d88d12e26b3beef4383bd2f010080f141cf3990a35028a4eeee6eb3a72c9148a8a4a444c964528d8d8d4aa5523a7efcb89c4ea7391fdded764b929c4ea77c3edf903d7103a9aeae96cd6633e7b69f3a754a7ebf5fc96432a3b7bbaeaece1c727fe4c811f3d8dada5a757575a9a4a4a45fd9914844478e1cd1a953a7ccb2865b1f00000080d161ce3990a350282487c36126b84d4d4deaeeee566363a3aaabab25f526e18140404b962c91d43bf7dce076bb150e874754777777b71c0e8799ecdbed76050201399dce8c843b1008c8e3f128140a998fd9ed76f386427d7dbd62b198598ed49b881b3f1bff0eb73e00000000a343720ee4a86f52dbd4d4249bcd6626e606e31887c331667b9c7b3c1e45a351333936e692a7cf778dc562eaeeee96d3e9cc3a0f367d4e69fa75a4df40c8a53e00fd452211050201b3bd959494a8bcbc3ceb7b41fab176bbdd5cb722fdd84824a24824626ecb188fc7555252d2ef7da7af442261ae7961ac15e176bbcdf60c0000260e92732047e9c3c263b19892c9a4fc7e7fbfe38c0fc27d3f00c76231b95cae11d51d0804545e5eae6834aa6030a86030a88a8a0af97c3e353535c9e9749af546a351739ff56c86b3a8db70eac3d83979f2a4ce9c3963fefcca99333a9f3a3fe4797ff9f39fd5dddd9df1d81bdef006bdfef5af1ff31831b45028a4d2d2d28cc7a2d1a8eaeaea148bc532da8db18b43ba7038ac4020a048246226e89148c41cf1923ef266b0e43c1e8fcbebf5f6fbdd8846a36a6e6e564b4b0bdb3b0200308130e71c180523c1cd96a41a43cad37ba7e3f1b8c2e1f0887bac9c4ea73937bcaaaaca4cf2b395e9f7fbd5d9d939e0d7703e94e7521f46e7a73ffda9deb96cb93ebc7a8d3ebc76ad3ebc76adfe74e68c2ebfe24d839e77e5fcf93af9bbdfe9b6ca0de6d7fb4b4bf5e31fff384f91a3af7caf0d31581cddddddaaaaaad2a953a7ccf21b1b1bcdfa0100c0c441cf39300246526ef46a65db6ec8f8e0dc7785e5e1fc00002000494441545e77b621f0d9f42dd3189eea743a33b63b33b6400b87c31943d563b158d6043a91482891480cd9eb3ddcfa48d2c7c6f5d75fafbfbaf61afdc3cd37eb431fbf65d8e7cd733af5f51ffeb3f9f30fbefda87ef2ad47f5c10f7e703cc2c430e47b6d8881180b50a627f176bb5dd5d5d50a8542838eac010000f947720ee4c8e3f198abadbbdd6e391c0e854221f343742291507575b5bababa24f50e6b371e0b87c36a6969c9488c8d043f140a6524bad97ab52a2a2ae47038148bc5ccf3ec767bbfef8db9e2c6b0f4742525258a46a3eaecec1c32b11e4e7d181b975c7289bef1d5afeab60d1bb4e4efdfa5abdff6b69ccbe8fef5aff5fdfdfbf5f017be300e1162b8f2bd36c440faf6ac472211251209452211c562b15c2e090000e401c9399023b7dbade6e666c5e371f38375454585962c59228fc7637ee875381ceaeeee96dbed563c1e57329954555555d664b9a6a646cdcdcd668fb6f1213a9ddd6e97dfef57301894dbed36cb8944228a46a3f2783ce687f8a6a62679bd5e5554542810089837088c6de03c1ecf901ff273a90f63e3eaabafd6c7fee99fb4abae56cddffd5e4ee7fee98f7fd4964f7e52fe8f7e446f1b41628fb193efb521063bb7a9a9498140a0dfbc73000030f1909c0339aaaeae567373b3cacbcb158944545e5e6e7e088e46a3e607f0582ca6f2f272757575c9e572a9aeae4e2525254a2412e6a250c6574b4b8baaababcd85a15c2e57c6566c06a3272c180caabebede7cbcefd058b7db6daeecdcf7c37f5555d5b0e79a0eb73e8c9d351ffda87ef62fffa247bffa157de4139f1cf6797b7736cb396f9e3ece025f63c618193258826c3c67b3d9ccc78c1b6cb158cc5cd8adabab4be17058b1582c63ca8adfef1f74fd87d12cba688c9271381cf2f97c72bbdd723a9d72bbdde67b0300009840520072565555959294f2fbfd399d77fcf8f194cbe54ad96cb6d4f1e3c7fb3ddfd9d9993a72e4c890e59c3a752ad5d9d999eaecec4c9d3a756ac83a8d63472a97fa307abff9cd6f52058585a9034f1f493d7beefc905fdffdd7ff27b5f27def4bfdf77fffb7d5a14f299d9d9d29492997cb35e0316d6d6d2949298fc7934aa57adb4a4b4b4bbff676ead4a994cfe74b4932dbd160659f3a752ae33da2b6b6d63c77388e1c39929294f2f97c599f77381ca9f48f007dcbcfb53e0000307aacd60e8c405353937c3e9f39e47ba85ee44422a1baba3a73887b2412c9da23e6f57a873554dcd80bd9ebf50e39efdb58d06d340bb7e5521f46efca2baf545b28a42f3534e8a5dffe76c8e3bf70d75dda5859a92baeb8220fd14d1f5eaf57369b4d5d5d5d0a0402fd9e37dab5a48c85de2a2a2acc11358681d68618a8ec9292122d58b0c05cdf22577d17ad4c575757c730770000262086b50323140a85cc21eea5a5a5b2d96c72bbdd1949b03184dd183e6a0c5767ae3686b272c50afda4bd5d2d8d8dba73fbf6acc79c3f7f5ecdb5b55aeafa1bbdefbdefcd7384d3432010506969a92a2a2ad4d4d46426e1f1785ca15048c964522e97cbdc8121df6b4348bd8bcb555757abbcbcdcaccfb8b1100c06954824ccc52a8db26d369b92c9a412890437dc00009828aceeba0726bbe3c78fa7aaaaaacc61a2d9be3c1e4faaa5a5c5ea5031c9fccffffc4f6acd2db7a6be120e671dcefecdce48ea9ac58b53c964d2ea50a7b4cecece94cbe5ead7ae6d365baaaaaaaadf548f53a74ea5fc7e7fd6f781bec71e397224e5f178fa1ddbb7dcc186991bc3ef6b6b6bfb95ddf77dc9e170a4dadadaccf2dadadab296cfb0760000f26f462a954ae5eb4600301da40f43b5dbedf49263547ef5ab5fe9c67ffc47fdf49967f59ad7bed67cfce40b2fa8fe53ebf5f9fa7abdf39defb430c2e9c31809230daf6da71fef76bb07eda18ec7e3e64271a39982924d2c16337bc8793f020060e22239078009aefefefb157bf6ffd37d5ff98a5efd9ad74892ea3ef529bdcde9d0e64d9b2c8e0e000000638105e1006082abbdf75efde9e597f5a3ef7d5792f4e3c71fd399d33daabcfd768b23030000c0586141380098041e7af001dd5d5faf37bef9cd7ab0ba5a3f8b465558586875580000001823f49c03c024f08e77bc431f78ef7b55bf7ebdb63ef8a0aebefa6aab43020000c01862ce39004c127ffad39ff4c20b2fe8da6bafb53a140000008c31927300000000002cc6b07600000000002c46720e0000000080c548ce0100000000b018c93900000000001623390700000000c06224e70000000000588ce41c00000000008b919c030000000060b1d96351c88c19333463c68cb1280a985452a99452a994d561e415ed1dd3d57469efb4714c5753a18dd37e016b8cd5fbc79825e7cf9c3d3716450193cab5b367591d42ded1de315d4d97f64e1bc7743515da38ed17b0c658bd7f30ac1d00000000008b919c03000000006031927300000000002c46720e0000000080c548ce0100000000b018c93900000000001623390700000000c06224e70000000000588ce41c00000000008b919c03000000006031927300000000002c46720e0000000080c548ce0100000000b018c93900000000001623390700000000c06224e70000000000588ce41c00000000008b919c03000000006031927300000000002c46720e0000000080c548ce0100000000b018c93900000000001623390700000000c062b3ad0e0000000000a69ba3b1987a120949d272afd7da603021d0730e00000060525a5db442d7cc9a99f56b75d10ab50603a3ae63577ddda8cb4817686ed275975d2adf754bb5666591d6ac2cd235b3666a53458599ac637a22390700000030e51c8e4675d7ba75da545131a2f38fc662f22e5ca05d0d0d631653a0b9490f6cdca8d3c964bfe7daf606b5ba68c598d585c987e41c000000c0a4b6c8e5d2be831de6d73d3b7668aec321a937e96d0f87722eb33d1cd2c9eeee318d33d0dc6cc6dbf9dcf37af6dc793df9fb9755bad62f493ad6d535a258313530e71c000000c0a45668b767ccdb5eeef5aacc5fae554b97e86477b776d6d7abd857623edf1e0ea93510544fb27718f962975be555559ae7744a925a83011d8a46cde377d5d7699ed3a9327ff9b0ce1f8891ec2ff778cd630bed766d6e6cd489eeb824651ddade1a0ca83d14564f32a1429b5dc5253e3396f4634ec4e319710ef478fa638b5d6e6ddd58a3790ea7363736aad06e574f22d15b67383ce8f59d88c715686ed6d1ae9824a9d8d71b57a1dd3ee8eb80ec66a452a9d4680b993973a69e397b6e2ce20126956b67cfd2f9f3e7ad0e23af68ef98aea64b7ba78d63ba9a0a6d7c3ab6dfd5452b74381ad5328f47fb3b3afb3d6f0c2397a4277fffb20aed76edaaafcb3a54bdc066d381a78f689ed369969bcea86338e70f64d5d2253ad6d5659657e6f76724ea7df524125a5f56da2f16492a5ee5d3eeb6b6215f8b6c8f1b8fcd7538743a913087d93ff9fb97753a91d0aaa54bfa0dbdef7b7d476331ad2e5ad1efb8452e97f677744eab047dacde3f18d60e000000604a5aec729bdf1baba31b43cb4bd7fab5ef6087fc1baa2449a793493d7161487999dfaf651e8f796ee5962d2af3fb877dfe4036ef6834bf37e6c4afb86a61efdcf6faba7ebde6bbeaebcdc4bc72cb16ed3bd8a1ca2d5b2449ed07c2da5a5393fb8b92c6e8c95fe6f16891cba542bb5d5b6b6a743a995481cda66d7bf668776bab0a6c369d4e26b5b3bede3cf7f6b2529d4e26b5c8e5d2eed6566ddbb34705369b8e75758d3aaee98ae41c9800ce9c3ba73beebe5b89315ea1f3378984eebafb6e9d3b37bdeea2031311ed1c985a68d393d7f69616556ed9a2cd8d8d5aeef56a73e3c584f9f485ffcf327fb996a727e7b575e690f0e19c3f90e55eafc24f3d9d91f84bbd49f2ae8606ad5aba4427e271f37163b5f9d2b57e55d6d669b9d7abcada3a738efa58ac46bfbfa3d3fcea4924d47ea077287b656dadcafce52af695a8b2b656c5ab7c9aefec9dc77f28123113fbed7b5a54ec2b5199bfdc7c2ddaf606471dd77444720e4c00b75555e90bdbb6c93ec6c37f5e63b76bfbb66daaaaaa1ad37201e48e760e4c2db4e9c9a9d06e3713c9f670485b6b6ab46ae992bc9d2f498bdd6eedefe8d493bf7f59dbf6ec51e95abf0a6c3649bd49bad1eb7c281231878c97f9fd1965183f9f4e26752812c9a9fe74731d0e2d76bbcd6b3b1a8b5d8c336dd4417955b576b7b5a9b2b64e9274387ab1cef670a877a87f7d9d0e452e0ebf1f4d5cd3150bc2e549a0b9c9bc9366fc5267632cce2049feaa6a1d8dc5cc5ffe327ff9908b4c60f2f9d9e1c3fafe638f8d6b1ddf7bec31f9fd7efdeddffeedb8d633199d88c7f54438a4c391a8b9a8cb728f67cab7b7439148d6f796811ec7e8d0ce27bff4bfcf86be7fcf4fc4e3fd7ab19679bc198b548d1563dfe5be0b3f0d176d7d7468d39387b15099243309dd5a53a3e0cee6119739d2f34fc4e33ada15d3d1584c95b5752ab4db55e62fbfd0865bcc79e046cf753ecc1f83b63f965bcd4d7724e7797234d6650eef18e80f754f2261cef198eb70a8b2b64e87a311f3177ed9208b4560723a73f6ac6ebbf556ddd9d8a84d1ffde8b8d573f78e1dbae5d65bf5f4534f69d6ac59e356cf6433d0822e87a351ed6a6850e5962d83de4c1b0fc6fb4099df3f2e1fe80d03bdb7f09e33f668e753436b30d86f41a6be49eda1b4f663a8dca2f149cecd76ea1951724e5b1f39daf4e492be7559a1ddaef670c84cac8b57f95456eed762975b2bae5a38acf24673fea1684477ad5b27a9f74641faeaf1526f4f75fafb4c7ae26cace49eede7a112ec6cabbf0f247d11b7f43a8c9b8fcb3c5e2d76bb5590769cb1d01e468f61ed79724389cffcbe35987d0e467b38640e5db9a14f63c5d4b4b5a94997bde94d7adf473e32aef5147ff4a3b2bff18d6a6e1ef95de2a966534545c687e8452e9796793ce69ea852ef875fa3772a1fdac321ad58b880795a530ced7cea3a9436ac5352c6704e4c5db4e989a92791d0a148c4fc6a0d06b4ba6885392f7a436dad24650cdbded6d23b573a97e47534e7a727e39b2a2a32f6336f0d06cc9137c67cf4794ea7f9b964677dbd594f4f22612eccb6cce3e97773cd58f8cef8de581d7e3816bbdd669de939cbcefa7aed6a68d09a954592327395f41143ab8b56e8bacb2ed5a68a8a61d7898be839cf93625f89b9ca616f436ce9774c7be8e21096f20bf38c2a6bebf2de7387fc78a6bb5b8d0f3ea86ffffbbf9b8ffd7e8cebf863daf7777de52bfad8b265fad0873ea4b7bce52d635cd3e47228123113e0452e9736ef68cce8d94adf7665574383fc55d579b9237c3416ebb71d092637daf9d434d7e1d0c9ee6e1d8a44337aad8d64dd781e530f6d7ae23ad6d565268e7d95aef59b89b131b45deaddd66cbed399d15bfd62fc62db4def1d5eb574897a1209dd9bb6f8db50e7f75568b7ab72cb16ed6a68d0e96452ebcbcab21e57b9a5d6fc7efb9e16ad5959a493dddd5ab1708116bbdde6e785029b2d63f5f7629f4f87a3519d4e263362337290e1da505babbbd6add3e16854de850b5468b79b09be7f43950aedf6deb9f7ab7c6a3f10d6031b37aa3518544f2261bef72d76bb865d1f2e2239cfa3625f89daf606cd043dfdee59faca888b5cae61cfffecbd3318d489eeb80a6d761597f8323e280c34272dbddc625f49c61bd568e7b161682949b7dd7ebb2aeeb8436f59786118d48c19ba7cc68cb1afec42996fb9ea2a95d7d4e8539ffeb40e84f3379769220aa6f5426cdfd392f1fb2ff52e7a723a91d0ae860615d86c3a1c8d64b4d713f1b802cdcde63cb6790e67d661e87ddbafb1fdca89eeb8e6399cda505b6bb6e9d6604087d2feb8f70ea18d98edbe6f59c6f1cb3d9e8c1b78c38d6da4867acfc976dd03c53ad5d1cea7aeb7b9dcbdc9795acff98978dcfc506a3c3f905cda694f22a1d66040ed17fe3f8b7d3e9557550f1adf70da2972479b9e7c8c7dc4d37fff8b7d25f26fa8527067b34e7677eb6477b74ad7fab5d8edd2031b37aa3d1c524fa2d19c0f1e68ee3dce484e73393f9bcada3a15d8ed66b9e9b275182cf77ab5ef608736adabd0c9ee6ef346c05c87435f6e6dcbf80cd3bb485d5887a3519deceed6e94442dbf6ecc93a2d6730c667965df5f5e6354abd8979facaf4db5a5ab4b5a6466d7b83e6eb5360b3a9bcaa6ac8f729643723954aa5465bc8cc9933f5cc59b67b184a7b3864de212b5debd7f6968bbde7adc1803907e59e1d3bcc5fe8f439b1fb0e766434d64d15155987bf2e72b9b4bfa3538576bbd69796aafd405805369b9e7af994798cb1e08494d9d08ec662f25db7b45f1cc8eedad9b374fefcf99ccffbc6f7bea707eaeaf478579766cfcedf3db233afbca20fbbdddabe75ab4a4b4b4754c65468efd7ccea9dd1b3cce3d1fe8eceacc7f424123a9d48f4bb2196de56fbeadbaed3db6fe95a7fbff65a60b3e9c0d34734cfe9cc6893e98c769f5ed6328fc73c7691cba5034f1f19556ce9ef2da37dcfe95bc640b14e46b9b6f7c9dacea7421b1f0fe96df49e1d3bccd1359dcf3daf794e67bfbfe3c6f37dd7aec8a59df624125a5db4a2df90d4452e97f958dff7b191b4d3be6d7dba1aaa8d4f86364dfb1dbe13f1b85e8cc735dfe91c72cd0563d5f1c56eb7d98672397f20e9c3cf87538e717ca1dddeaf6321db71e9f18e54b66befab27913087fb8f459d93d1487382be98739e47c6d0764919734ca4cc21edc3b9bbbdabbecefce35bbccaa77d073b54b9658ba4de613debcb7adfbc8b2fcc754fdf66a12791c84802d2effca7c7c5bcf7f1f1524f8f366dd8a0fa471ec9eb1f77499af3aa57e9735ffdaa3e5d59a93ffce10f79ad7ba248dfd663799f3d46d315daedfdfe48b68743e687ea452e9776b7b66adfc10e15afea6d676d7b83e6f6277db5ed0daa72cb16ed3bd861ce253b9d4c9a0bd594f9fd197b9e96aef5ab72cb96ac8bbca4b75f639b93d1c4361cc37dcf194eacd301ed7c6a5beef19adf1b7f438df9e60536db80bfebb9b6d3ad3535177beb2eb4bb6d7bf6f45b35de30d2768aa1d1a6a79e794ea7967b87b718e2726fef62cee949672ee70f64b1db6d963d9c728ce3074bccd38f1b8b2439dbb5f75568b70feb380c8de43ccf8cc4fbe2dcf3cc21edc5ab7cc3faa57e3c7871beeceeb6362df77a7be7a75ff8237c381ad589783c6328ae3124ee709f056c8e75759977ed9e08f71f5a8fb193925473f7dd5ab16a95dc7ffff796c4b0e4fffc1fbdfb1ffe41f7de7baf25f54f66f75ff8d05c60b3697f47a78a7d255aeef56a775b9b995807773667fde0ecdf50a5cada3a2df77ab57dcfc59e3163586b99bf3ce3664199dfafcadabaaced70aec3a1cee79ed793bf7fd95c9f6234b10dc770df738613eb54473b9ffa16bbdde6cd7623293792f4f4c4bdaf5cdba9f13961aec361b6bb327f79c6b0d274236da7181c6d1a40be909ce75999df6f7edf1ae8fd239abec26171daaaee03391a8b5d5c6cc1e5ce5899327de18a43d1880aed76f30f7edfbbfb8b5c17176ae89d1f9330efd0dfe01b3a0ee4ee894387f4e3d656d56cdf6e691c550f3da46f3efaa89e7efa694be3984cd2e79316fb4afadd444b6fdb7d5770ee3de7629b1aed8daf9bfc7ecd733acd616da38d6d28b9bce70c15eb74403b9f1e8c24fc503492d1069779b38fc8c9b59da62f10d977245bdfed97a4d1b5530c8e360d205f58102ecf8ced094e7677abfd40f8c2422fbd497a81cd36ac21ede9db35b4ed0d0eb8ed927177dc58b9f15857974ec4e37ae2c29d78e383c5b1aeae7edbbf64fbc38fd1abbef556ddd5d464f9901fdb6597a9fea18774db6db7e9c9279fb434967c4b1f267e3436f0d62227e2711ded8a6999a77788d68b69bd4df39d8e7ec7cf733833ce1d4fcbfaf4cc8d776cb9bee7a4eb1beb74403b9f1e96793d6a3f10d6c9eeee8c9beccb3ddeacdb2ae5da4ed37f2eb4db328ecdf6bb359a768ac1d1a601e40bc9b9056ef09528b8b3779e69b0b92963f5c75c2df378069c376b7c28bec157622e4cd31a0ca4ddb9f7a9d06eeb4dced3eea4cf7538a64d0f57be7de36b5f93afac4cef7eef7bcd21915638f3f2cbaabfe30efde8473fb22c06ab187b861a2b2d1b0babf4b5b3bedefc70bbbbb5550536e65049c37bcf99ee68e7d343fabcf2c7d3f6025eec7667ac6d6105dae9d8a24d03c81792730b94f9fd66721e48dbd269b8f331d313e7790e67bf6d945e8cc733565d9de7749a2bbba67f8030166dd8d5d090b1250c0bc18d9fbfffbbbf5389cfa7e6bbefd6bdbb775b12c30c493befbc5337df7cb3962e5d6a490c56bbc9ef37f718dd5a53a3cd8d995b9eb4874319bd4e46efb9e18970b8df9660ed695bdce4fbc36f7a7b1f8fd8727dcf99ee68e7d343faefbc39a47d904526736da7e9edaeef281f6355e474b4d3f1439b06902fcc39b78031b45d92399f2c97deeaf479e46d7b83e61fe99e44421f2b5aa1352b8b74cdac991943dc8cb96c66aff9859561d317b549ef51c7f87968db3675b6b5e997870e59527ff7bffeab7efaa31fe9fefbefb7a4fe89a0b2b6ce5c73a16d6f50ab962ed1d69a1aedaaafd3fad25273cb43a9771b2423312f5ddbdb8e8e7575650c633d1a8b993f2f72b9c6e403f0e964ff61b18319cfd846f29e33ddd1cea787bec9f8603b4048b9b5d3f476d77e209c91906fddd87fe705dae9f8a24d03c80792738bdc94b6f04bb69f87b279c7c5955a7dd72dd5eaa2155ab574899960a7271452ffd563d317ac491f4e5f60b371677d9cd96c36353536aae1b6db74f6ecd9bcd63de7cc197df6b6dbb473e74e151414e4b5ee89667f47a799a09fecee567067b3763534983b274817b6334beb7ddadcd868deccba6bdd3aad5aba44ab8b56c877dd529d4e265560b365acc49eabf485e23655546875d10aedaaaf1bf0f874e31d5baeef39d31ded7c7ae89b8c0f353225d7765ab9a5d6fcde6877de850bb2f69c4bb4d3f1449b06900f24e716e9bbf0db7016824bb7d8edd6be831d660ffce1685427bbbb5560b3a972cb967ec3e5d27beba5cc647df900893ac6cf476ebe596f79f39bb52f6d3b9c77cc9ca977cc9831f65f337b9bf90c49dffbe217b5c0e9d44d37dd64d1954f1c8576bb0e3c7d44dbf6ecc9e8fd2ab0d954bccaa76d7bf6687b4b4bbf733a9f3f9ed1fb65ece3bdcce3d1fe8ece51add750ec2bc9d8033d7d8ff0e15ccf78c696eb7b0e68e7d341df647ca89bdbb9b6d3e55eafb6edd96326f487a35115daeddadfd199b57cdae9f8a24d0fccea7516faea4924742812c9cb48914391c8a45f68f1443cae4391c88037fe8ec662193b40185fd98e37cab26a944e4f2231e0754c063352a9546ab485cc9c3953cf9c3d3716f160048cb964d2d01f0c30b6ae9d3d4be7cf9f1fd1b9c78f1fd7d277be53df79fa69cd7538f48e19333406cd31c3294997cd98a15fa552fa4b3cae1bafbb4e4f3df5949ca3d8ca8bf67e91f16164bed339eaedd1d21d8dc5cc85ea469a508f576cd2f47dcf19497b9f8ced9c369e3fb9b4d34391484eef09d3b59d8ec670daf8446fd356b4dfad35bdd32c36a7ddb4b0daa148446b561669dfc18e61fffe1f8dc5b47563cd8037bf0672cdac9993fee6d7fad252b51f08abc066d3532f9feaf7fceaa215037618cc7538746f63a3d9c1b7abbe4ebb1a1a727aed0732d2ff93554b9768436d6d5e3b1d479313a46341b82960de387cf8c6f85bb060813efbd9cfeac14f7d4abb7ef08371adebb592ee58bf5e77de79e7a81273641aaf0fbc63b15bc2787e18e73d67f868e7184c2eed34d7364d3b1d1fb4e94cc67a099dcf1fb73a94516b0f87721ab136559c88c7d57e206c2e1edd1a0c0c38a277dfc18ecc73bbe3da5a53a34d15153af0b47bccdf7346fa7fb27947a336adabe8b7a0ef64c0b076c042777ef6b3faedf1e37ae2f1c7c7b59e5f7cef7b7af1bffe4b1b2f6ca907207f68e7c0d4429bbe68ebc61a95f9cbb32640430d951e8831843ad761d1c679833162cab5fce19e671c33d2728ce1f8c3bd8eb118be6d2c46f9e5d636cd7538d49ab6b3535fcbbdde8caf327fb9363736ea7432a927c2a111d53fd26b315eab6ce7198b6a069b9b4614939548ce010bcd993347dff8fad7b57dc38671ade7ceea6a7de52b5fd19c3973c6b51e00fdd1ce81a98536ddeb682ca6c3d168bfad807b1209ad2f2dd58aab166acdca22f9ae5b3ae84286e9e7ad5aba44beeb966acdca22ad58b8405b6b6a74cdac998326ab3d8984b9b0e29a9545baeeb24b75b42b96f51823a6352b8bf4ce375ca6c085e4cd188a2df50e533716631deabc8be527b56ae912f398bed73b9c725a8301ad58b8c07cfebacb2ecdd8d56134afed601e0f06b5cce3d13ca75337f9fd3a1c8de634877e9ec329493a9de3cd94a1ae65a0ff13a9772ac53bdf70d9a0af41795555c696d59305c93960b177bdeb5dfac0fbdf3f2e65bfe6c2bfef7bdffbf4ee77bf7b5cea003034da3930b5d0a6a5d66050731d8e7e4399d79795ea5034a2ca2d5bb4ef6087b6edd9a342bb5dab8b560cdaebbcbeac5427e271ddb36387f61dec50b1af44c19d432757ebcb4a753416d3b63d7b7ae7397bbc7aa0cf6883ad35353a1c8d9a31ed6e6dd522974b0f6cdca813f1b89679bce682ac955bb6988b3d0e759ec18873776bab76b7b64a52c6f50e55ce89785c77ad5ba7e51eaff9fc3ca75377ad5b97f19a8df4b51d487b38a493dddde696cbc670f65c92dac3d188a4dca7e40d752d03fd9fecaaaf537067b34ad7facdf34e2712babdac34a3fce51eaf4e27936a1f618fbe5598730e4c00bbbff4259d3f774e894442f6319c1bf3974442ebd6add3eeddbbc7ac4c0023433b07a696e9dea68f76c5f43657664266f4a6f75d0cacd857a2150b17a8351850795575ffb22e9cb76dcf1e33415ceef5ea742291b1c5e970cf3316383314daedfd166d2bb0d9b56665915e8cc7b5dcebd5e168a437814e3b66a8f38c1b13731d0eedefe83487f72f76b9b5e2aa85e6f50e558ea1acdc6fbe6e8b5d6e1dba90f88ee6b51d4c6b20d8bb4bcd8585d3e6399d5ae6f1a83518c8bac05fdfed5d0f45a33a1c8d6a91cb95d3e26bc3bd966cff2781e6dec43c7d479d42bb5d4f84c23a91f67f32cfe95481cda6a3b1d8a4da8d8ae41c9800e6cc99a36f7ce31b635eaedd6e1f977201e48e760e4c2dd3bd4d1b3dc1e98c64b237a98a643c5760b7eb70249a3581347a37fb265165e5fe419373a3bea1ce33124d631783a35d31b587072e37d7f36ef09564ccbb9fe7746a91cba5f67058e555d54396b3d8ed5681cda6f565655ae6f1a8d8e7d30dbe928c85d946fada0ec458086e99c79331247cb1cbadc3d168d685e18c61e686b90e874ad7fa735ea97fa4d7722812d1e964523794f8321e2ff695644dc017bbdd3a148daa32a7e8ac45720e00000060d48c79c77d9338c3fc2156f3eebbb05c816df01109467d439d773416d3ed65a53ad9dd6d3e36d7e118b4ec5cce2bb4dbb23c7631864e45815b0000160249444154a1ca29b4dbb5bfa3535b37f60e7f3f1c8dea818d1bb5cce3d1eed63615daeda37e6dfb32e6b31f8e46b566655196e783fd92f367cf8d7eab3069f4bf2743fd5e4c6624e700000000c6cc93bf7f39a72dac0a2e1c9b3e2c59eaddaa6b38e7f5241219f59d4e5e9c7f6d2cc636cfe9d486da5acd7338b5d8edd6d1582c6b523a92f37a12c9ace7cf7738875dce62b75bfb3b3a7b572f8f46d41e0aabfd40585b6b6a328670e7fada0e24d0dcacb90e87b6ef69e9f75cb0b959ed07c23a1a8b8dc9f6ae0319e9b5a4ffff1ac63bd67c614138000000003959e472e9c57877c663c6d0e28156191f6871ae1b06386fb06dbda4de45bfb29df744e8e290f1a3b1984e2793dabca35165fe72739badbec3a9fbcae5bcbedb881d8dc574acab4bcbbc9e6195d31e0ee9bacb2e356f4e94f9cbb5bbad4dcb3c1ef306c5485fdb6c5a83019d4e26555e55d56f7bb4e55eaf2a6b6b25e5b6305c2e467a2dcbbd5e15d86c19ffbf52ef7077df754bfb95f7623caec5aec995b0d3730e00000020278b5dee7e5b962d76bbb5cce3b9b00a79b78a7d3e9d4e26b4b3be5ec7babae4bfb0eddaa148ef5c6363a1af794ea7fc1baab4aba1412fc6bb35dfe930171b1b3486b4fa4e5f58e1bb3d1cce48ee8c21d25b37d668f38edeb9d1adc1a0daf6664ffcdbc3212d76b9733aeff485a4d25f55a513dd716dada95181cda6327fb939847bb07216bbdc3a9d4ceaf6b2526da8ad5581cd7e7131b40bf3fa47fada6663dcf4e83b6c3dfd75ed9d331f524f22b7f9e4c331dc6b3118ff27f39c4e95575599c3e1cbfc7e9de88e6b677d7dc6c276526fa27fb2bb5b8bddae318f7f3cd1730e00000020273794f874acababdf9ed8bb5bdb54bccaa7e0ce66ad5959a4f565653a118f6bdb9e3de6cadc87a3917ef38d373736cabfa14aede190763534a82791d03d3b760c19c7eed6de1ee65d0d0d5ab3b248adc180d9f32bf526fedbf6ecd1b1ae2e730ff143d18876b7b6aac0663317662bf695988bb2edacaf1ff679526f92fb62775c6b5616e9ae75eb5470610e79a1dd3eac728c634ec4e35a5f56a6352b8bb4aba141fe0d551949f6485fdb7427e2711d8e4655bcca37e890f232bf7f5cb7221bceb5f4fd3f91a4cada3af93754a96d6fd07cbd2565ac962f0dbcc8e0443723954aa5465bc8cc9933f5ccd97363110f30a95c3b7b96ce9f1f9bc531260bda3ba6abe9d2de69e398aea6421bcf77fbf52e5ca0f2aaaaac2b6b1b2b934bcad82e2b9b9e4442a713897e7ba6b787435a5f56a6f0534f0f399ff8682ca69e44428bddeeac49674f22a1a3b1980aedf601cbca76cc70ce331c8a442465bfdee196639431d0754843bfb6ab8b56687f47e7a0b14e14435dcb40afdb50afe7fad25215d8ed19f3f5c7d358bd7f909c03a33015fe90e78af68ee96abab477da38a6aba9d0c6f3dd7e5b8301edacaf57e4f9e3a32ae7682c26df754b75cf8e1d66a2df9348687d59a98ec6627aeae5536311eeb460bc6e9325391f0f27e271adb86aa13a9f7bbedf0d9ff142720e4c0053e10f79ae68ef98aea64b7ba78d63ba9a0a6ddc8af6bbba6885cafcfe01e72fe752cee168548b5c2e15daede6426adbf6ec1975d9d389b167f95458b97ca436555468bed331e8bcfbb13656ef1fcc39070000003022bb5bdbd493e8bfb5d548cab967c70e732877b1af44fb0e769098e768b1db3dad13f3dea90daebc26e663899e736014a6c25df65cd1de315d4d97f64e1bc7743515da38ed17b0063de700000000004c1124e70000000000588ce41c00000000008b919c03000000006031927300000000002c46720e0000000080c548ce0100000000b018c93900000000001623390700000000c06224e70000000000fcffeddd6f6cdc777dc0f1cfa5119580f82cd8bad0047c6d19247b6237a0e441357c29a9a649a3be06e82aa0b5930e34a686a69d445123a589591b65434d8d2ba0c0563b299b9868e2ebfe20c04deea43e2091a0be3d2061036a431321ad6c76db8542dadc1e3877f5c5899b84b3bfb6f37a4951e3f3ef77f7b9074ef5f6f7fbfb5d62e21c0000001213e700000090983807000080c4c4390000002426ce0100002031710e000000898973000000484c9c0300004062e21c0000001213e700000090983807000080c432d56ab5fa3b3f492613994ca619f3c08252ad56a3093f420b8a9f772e5797cbcfbb9f712e578be167dccf2fa4d1ac7f3f9a12e7000000c0a5b3ad1d0000001213e700000090983807000080c4c4390000002426ce0100002031710e000000898973000000484c9c0300004062e21c0000001213e700000090983807000080c496a61e00169b52a914a55229f2f97ce4f3f9f31eb763c78efa7f6be75ca8b3cf696d6d8dad5bb7bee16b4544f4f4f4442e97bba85949e3a73ffd697ceb5bdf8a254bceff7bd453a74ec58a152ba2bbbb7b0e270300a0d9c4393459a9548a9d3b774644cc18bcb5636aa15dfbfa429ceb9c9e9e9e686d6d9d76ecd0d050c371f97cbe21ce2f6456d2b8f3939f8c77fce17be29dd75e73de637ef5abff89ff7aee39710e00b0c0897398077a7a7aa6c5f1d6ad5ba352a9c49e3d7ba2a3a3e3bce766b3d998989888a1a1a1e8e9e999f6fddaea7aed38168e2bafbc32feecb6db626d67e7798ff9c133cfc477f6ed9dc3a90000980de21ce6815c2e575fcdaea9ad82777474ccb8aa5d2814627070304aa5d239e37c686828dadada2297cb45b95c6ee2d4000040b3b8211c2c70b95c2edadada62686868daf7464646626c6ccc9675000098e7c4392c02854221262626a6dd54aef675a15098fba10000800b665b3bcc9252a9d47097f4d994cfe7a3afaf2f8686861a56c9070606226232ce1f79e4913999050000b878e21c6649b95c9eb36bbc0b854264b3d9181a1aaa47f8f8f878542a95e8eaea9a93190000804b27ce61967477779ff3066d35ebd7af6feaebe5f3f928168b313a3a1ab95cae7e0dbaebcd010060fe13e7304b72b9dc9c8671a1508862b118434343b175ebd67a9cbbde7ce17af5b5d7e2f4e9d7528f0100c01c70433858246abf08a8dd04ae542a457b7bfbb48f6863e178cb5bde12575ce177a800009703710e8b442e978bf6f6f628168b31303010131313b6b40300c00221ce6111a9c578eda670b6b40300c0c260bf242c22854221fafafaa252a944369bbde095f3818181699f915ed3d3d333e38ded000080df9d388745249fcf47369bbde82ded63636331363676dee70400006657a65aad56530f01c0741b3ffad1f8f3cfdc1d6b6eb8e1bcc7fce09967e23bfbf6c6e35ffbda1c4e060040b3b9e61c609efabf975f8e575f7d35f5180000cc01710e000000898973000000484c9c0300004062e21c0000001213e700000090983807000080c4c4390000002426ce0100002031710e000000898973000000484c9c0300004062e21c0000001213e700000090983807000080c496a61e008049274e9c8853a74ed5bffeeda95371ba7afa0dcffbcd2bafc4d8d858c3636f7ffbdbe3ad6f7d6bd3670400607688738079e0bbdffd6ef46cbe33de75cd35114b32f5c77fefaa3f98f1bce52b57c689175e884f6df94cfdb1e3cfff2276dc7f7f7ce4231f99b579010068ae4cb55aada61e02e07277f2e4c9f8d30f7d28fee4b6dbe2a377fec5253fcf7071289efcea5763f8dbdf6ee2740000cc36d79c03cc036f7ef39be3ef1f7b2c860f1c889ffce84797f41cfffdcb5fc6371e7d34feeea1879a3c1d0000b34d9c03cc13ef7ef7bbe3e3b7de1afd3b1eb8e8737f7df2647cb6fb8ef8d8adb7c6f5d75f3f0bd30100309bc439c03c72fbc73e16bf9fcdc63f3df6958b3a6fef17fbe25dcbdf119fbaf3ce599a0c0080d9e4867000f3c89bdef4a6d8fde083f1c7ebd747fbda75f14717b00afea3679f8dfff8fef7e389af7f3d962ef5cf3a00c04264e51c609e59be7c79ecdeb52bfa77ee88ff7de185198ffdf5c993f1a5cf7f3efe72f3e6b8eaaaabe6684200009a4d9c03cc431b0b85587ded75b1efd147673cee2bbb76c5eaebae8b8d85c21c4d0600c06c10e700f3d4b6cfdd17bff8f1b1f8fea183e7fcfec17ffd97187ef2c9d8beedfe399e0c00806613e700f3d4f2e5cbe3afefba2b76de7557fce695571abe77e2e73f8f6f3ef658fce313fbe26d6f7b5ba20901006816710e308fdd70c30db1b1508887b76d8b53bffd6dfdf1afeede1d1ffcc007e2fdef7f7fc2e900006816710e308f2d59b224fe76d7aef8496524869f2a4644c4bffff337e3caeae9d8f2e94f279e0e008066f1993b000bc0235ff8423cb06b57bc63e53be38b0f3c10ff562c464b4b4beab1000068122be7000bc09a356b624367677cf68edb63cb5d77c5aa55ab528f0400401365aad56a35f51000bcb1975f7e398e1d3be63a73008045489c0300004062b6b50300004062e21c0000001213e700000090983807000080c4c4390000002426ce0100002031710e000000898973000000484c9c0300004062e21c0000001213e700000090d8d2d403000b472693894c26937a0c9873d56a35aad56aea310080454c9c03172c93c9c48f5f7d2df51830e7debbf48ad42300008b9c6ded00000090983807000080c4c4390000002426ce0100002031710e000000898973000000484c9c0300004062e21c0000001213e700000090983807000080c4c4390000002426ce0100002031710e000000898973000000484c9c0300004062e21c0000001213e700000090983807000080c4c4390000002426ce0100002031710e000000898973000000484c9c0300004062e21c0000001213e700000090983807000080c4c4390000002426ce0100002031710e000000898973000000484c9c0300004062e21c000000125b9a7a0080f9e670a91447caa5198f59db998f75f9fc9ccc0300c0e227ce01ce72a45c8afedede3738aa3756b5b7c797f71f8815b9dc5c8c0500c022665b3bc0253a56a9c4a737de927a0c00001601710e30837d4f1f8cff7ced74c39fe20f7e1857b7b545c464a01f1d19493c2500000b9d6ded0017697547477cb8bbbbbef5fdc5f1f18868bc567d63774fec1f1c88c3e572acebec8c2d0feca89f7f7c743406fafae2686532ea57b4e562637777c335ecfd3b278f5f91cbc5c6ee9efae3535f63435721567774cc78cefec181385c2ac7f1b1d1888868c9b6c6da7c676cecee8996d6d669efed70a914fb0707e3f8d868b4645b6343a1abe1f52fe67d020070e1c439c0457a717c3cbe572c4644c4b26cb61ed553af553f5c2ec79172b97e7c2d5af70f0ec4e7366f3eeb19cb7160ef60dc724777ec7efcf18888383a5289e1a78ab12c9b6d88e3fede9d539e7722b69d89f3a32323f5d7beffe1872322e2be4d9be2c0dec169f30f3f558cfe9d3be3a91f3edb70bdfcb98e1f7eaa18037d7df1c4c143f598bf90f70900c0c5b1ad1d60060fde7b4f7ce2c6f50d7fd65f7b4d1cab54222262db9e3de73caf16ac1111abdb27037ab838540ff355ededf1a5fdfb63dfd30763c3cd5d11117160ef603c78cf3d1111b1a130f9d84b131371b8548a88c9f89dfabc87a7dc517eb83854fffb4d5d85d83f38500fed0d3777c5bea70fc6bea70fc696eddbebcf7bdfe64df573fa77ee98767cedd863954afcd579aead3fd7fb0400e0e259390798412dc2cf65557b7bacebcc9ff37b57b7b5c5370e1e8a65adad717c74342222fee64c782fcb661b56a2d7e5f3f1891bd7c791723906bfd8173d77df1d1bba0a113119f2c3c562accbe7a77dbcdbb14a255e1c1f8f96d6d6fa4afeaaf6f65891cbc5f1c1d1fa71ab3bdaebabfbebf2f95876e675a7c6f4938383f5f3bf74e040fdd88888fedede38522ec7f1d1d16977a63fd7fb0400e0e289738019ac6a6f9f766df6d19191786962228e552a71f39aebe3d0cf9e9b76cc87bbbbeb21dbd2d111c74747e3c4d858444c5e2b7ef6f11bbbbbebabd087cba5d8d8dd136b3b3be348b95c5f213f5c2ad767aafdd260b838141bba0af5af6fea9a5c716fb816bdb737fa7b7b636d6767acebec9c76adfad19191fa6cabdb3bea2bf511510ff9fa5cb99e19df27000097469c03cc60dbc37b1a6ed456d3bf7347f4f7f6c64b1313d1bf73e7b4eded6bcf5a517f7ecaaaf2ca5cdbb4e75bd196abffbdb602bda1ab2b8e94cb71ac5289e3a3a3f1bd335bd76babf5c72a957ab0d74caeb84ffef7963bba1bae213f72e6faf0fededeb8baad2dbebcff40aceee8a8dfd02e62726bfdb9ae539f3ad74cef1300804b23ce012ec1960776d46f8a56bbeb7ab3ddd4558887eebd3722266f24f7faca7b57b4b46627e37cca56f7abdbda1a56c4773ffe78f4dc7d77ec1f1c8cc3e552c316fd136363f1891bd7c7a19f3dd7f09ab5d5f57311e20000b3479c035c82a95bbf5bb2d33f92ec6c5357dfbf572c4ebbabf9f0996bc6235e8fe015b95c7d0b7bed9af0da73b5b4b6467f6f6f9c181bab07fa4d6756cd6b8e8f8ec68be3e30dabfa874ba578f0de7be258a5122f4d4cc4d1919186a05fd1969bf6b16fcf8f8e9e73f7000000cde36eed0033d83f3838b9857dca9ffb366d6ab87b79edceea6fe4963bba2362723bfafec181fae3474746ea5faf6a6f6f08e18ddd93e7d457cd6f7efd9af265d96ce3f7ba5e9fe3be4d9b62fd75d7c6ed1fbc3106fa1ea93fbe2e9f8f9553b6d0afcce5a2a5b535d69e592d3fb077308e8e4cee0478717c3c3e7ee3fab8fd8337c67bae58d2b0fd1d0080e6b2720e3083f35d7f5db3aabdbde173c867b26dcf9e182e0ec54b1313f1b9cd9b63a0af2f5a5a5beb37825b96cdc6ee7f78bce19cb3ef06bf36fffa96f30d5d85fa7c533f6ffdecd77ae8de7b63ffe060b4b4b6c6f3536f4c777357fd666edb1ede135def5b1311115def5b136b3b3b1b8eddb27dfbb49bd80100d03c56ce012ec1aaf6f6d8b27d7b3c71f0d0059fd3d2da1a877ef65cc30a7a2dccd77676c613070f356c318f985c21bfbaedf51bc84d8df5756785fad9aff5d40f9fadafb4d75eebc4d8582ccb66a3fb3377d73f32adf63afb9e3e587fada9c76ed9be7dda367c00009a2b53ad56aba987001686254b96c48f5f7d2df5188b46edbaf595b9dcb4cf0f6fa617c7c7eb5bd523e20daf1faf5d677e21c75e2edebbf48a387dfa74ea310080454c9c03174c9c73b912e700c06cb3ad1d0000001213e700000090983807000080c4c4390000002426ce0100002031710e000000898973000000484c9c0300004062e21c0000001213e700000090983807000080c4c4390000002426ce0100002031710e000000898973000000484c9c0300004062e21c0000001213e700000090983807000080c4c4390000002426ce0100002031710e000000898973000000484c9c0300004062e21c0000001213e700000090983807000080c4c4390000002426ce0100002031710e000000898973000000484c9c0300004062e21c0000001213e700000090983807000080c4c4390000002496a956abd5d443000b432693894c26937a0c9873d56a35fcef1200984d4b530f002c1ce204000066876ded00000090983807000080c4c4390000002426ce0100002031710e000000898973000000484c9c0300004062e21c0000001213e700000090983807000080c4c4390000002426ce0100002031710e000000898973000000484c9c0300004062e21c0000001213e700000090983807000080c4c4390000002426ce0100002031710e000000898973000000484c9c0300004062e21c0000001213e700000090983807000080c4c4390000002426ce0100002031710e000000898973000000484c9c0300004062e21c0000001213e700000090983807000080c4c4390000002426ce0100002031710e00000089897300000048ecff01150f47d77ee1a4d90000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 At it\u8217's core are the three MVC components we would expect - the Model, View and Controller architecture. In Rails:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Models represent the data in an application and are typically used to manage rules for interacting with a specific database table. You generally have one table corresponding to one model with much of your application\u8217's business logic living within these models.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Views represent your user interface, often taking the form of HTML that will be sent down to the browser. They\u8217're used to present application data to anything making requests from your application.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Controllers offer the glue between models and views. Their responsibility is to process requests from the browser, ask your models for data and then supply this data to views so that they may be presented to the browser.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Although there\u8217's a clear separation of concerns that is MVC-like in Rails, it is actually using a different pattern called {\field{\*\fldinst{HYPERLINK "http://en.wikipedia.org/wiki/Model2"}}{\fldrslt{\ul
+Model2
+}}}
+. Justifications for this include that Rails does not notify views from the model and controllers just pass model data directly to the view.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 That said, even for the server-side workflow of receiving a request from a URL, baking out an HTML page as a response and separating your business logic from your interface has many benefits. In the same way that keeping your UI cleanly separate from your database records is useful in server-side frameworks, it\u8217's equally as useful to keep your UI cleanly separated from your data models in JavaScript (as we will read more about shortly).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Other server-side implementations of MVC (such as the PHP {\field{\*\fldinst{HYPERLINK "http://zend.com"}}{\fldrslt{\ul
+Zend
+}}}
+ framework) also implement the {\field{\*\fldinst{HYPERLINK "http://en.wikipedia.org/wiki/Front_Controller_pattern"}}{\fldrslt{\ul
+Front Controller
+}}}
+ design pattern. This pattern layers an MVC stack behind a single point of entry. This single point of entry means that all HTTP requests (e.g., {\f1 http://www.example.com}, {\f1 http://www.example.com/whichever-page/}, etc.) are routed by the server\u8217's configuration to the same handler, independent of the URI.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When the Front Controller receives an HTTP request it analyzes it and decides which class (Controller) and method (Action) to invoke. The selected Controller Action takes over and interacts with the appropriate Model to fulfill the request. The Controller receives data back from the Model, loads an appropriate View, injects the Model data into it, and returns the response to the browser.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For example, let\u8217's say we have our blog on {\f1 www.example.com} and we want to edit an article (with {\f1 id=43}) and request {\f1 http://www.example.com/article/edit/43}:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 On the server side, the Front Controller would analyze the URL and invoke the Article Controller (corresponding to the {\f1 /article/} part of the URI) and its Edit Action (corresponding to the {\f1 /edit/} part of the URI). Within the Action there would be a call to, let\u8217's say, the Articles Model and its {\f1 Articles::getEntry(43)} method (43 corresponding to the {\f1 /43} at the end of the URI). This would return the blog article data from the database for edit. The Article Controller would then load the ({\f1 article/edit}) View which would include logic for injecting the article\u8217's data into a form suitable for editing its content, title, and other (meta) data. Finally, the resulting HTML response would be returned to the browser.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As you can imagine, a similar flow is necessary with POST requests after we press a save button in a form. The POST action URI would look like {\f1 /article/save/43}. The request would go through the same Controller, but this time the Save Action would be invoked (due to the {\f1 /save/} URI chunk), the Articles Model would save the edited article to the database with {\f1 Articles::saveEntry(43)}, and the browser would be redirected to the {\f1 /article/edit/43} URI for further editing.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Finally, if the user requested {\f1 http://www.example.com/} the Front Controller would invoke the default Controller and Action; e.g., the Index Controller and its Index action. Within Index Action there would be a call to the Articles model and its {\f1 Articles::getLastEntries(10)} method which would return the last 10 blog posts. The Controller would load the blog/index View which would have basic logic for listing the blog posts.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The picture below shows this typical HTTP request/response lifecycle for server-side MVC:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000003590000017d080200000079c1356d0000181e694343504943432050726f66696c6500005809ad59793c55ddd7dfe7ce2ed774cdf33ccf32679e336626e29ac71bd725a4c1900a0d848852c85834084909a122190a85d22044a59032bee77aea799edf3bfcf79ecfe79cf3bd6bafbdf6da6badb3f75afb02c0534f8a8c0c4730031041a6521ccc8d84dcdc3d84b0e3000f708005600196e4171d69686f6f0dfecfebc73080688d43f23459ff27dbffdec0e21f10ed0700640f37fbfa47fb45c0b81e0064935f24850a009a264f6c3f359286cfc0988d022b08e3321a0efa0b37d1b0ef5fb8779bc7c9c118e6990400c7402251820020ccc374a158bf20580e2303001856b27f0819ee2604633dbf60923f003c3e308f5c44c43e1ace84b194efbfe404fd0b9348be7fcb249182fec67fcd05ee090f6c12121d194e8adffef1fff988088f81edb57d09c04f86e830472bf8cd01db2dce8f64ea08632e189f0a0eb0b4fe4d2f8fa41a39fca6b784502d9d60cc06f33c0f8eb170fe8d6762c29c0d61cc07d3d7c3f659d1f8613b21b8c8beb676306685b1985fb4316c7bda5808f5846027d7df3cd6fe0126a63086a308e146d9e7f0873f383ad6f10f3d2121d8d8f60f7f286917cddf8c307f3a8902a36d7d10f901e1e6b4714560fad548aa3d4d4fda587de470dbdf73417c08a498d17868f4d580e8edf9d2740ba6063b59c0745867243395e244e381e788e40b0c31b38431ac1b52299862f1876e1019be1dd3705fa41325c681660731180706909d6936a4d1d3fd492634dbc2364116013340021410007c01196c0021600d8c81c9efa7104c27c3343fb00f84c3374588e94f0bfa237a00fd0efd023d897ef98706f7fccd0742803f8cff92f5affe30dd112480cfb0d40010fd6734140f4a0fa583b2869f06f0ad82d24469fd69eb9b6f9cff837feb1a04f795ff2ddbe8b7f6b1ffd6de3b2499f2dffaf8fedde37fea64063ec01608fac3a154a334abb4fea7ff3f33c698624c301618338c34f238f216b21bd9867c8c6c41360221642bb209d98bbc47c3bff5fa330a09a6d0ac42b37034b082ad180062b67f91ff8cf71f568af99be3b70446194635e000f7228330b82de4ef115cb6b50ef91f5262600e5f78c45098d7ea6f7ffcd60b25015b570d6584d285ed0cdb18c581e201f2a81db0c50d51fab00fd460ea3f5efccfd9c883c06d6bc76ecf250c7c84e711410d88a3c2b1048cf745c653428282a94286f06a1920276449f65390135251525601b4b597c603c0a2c3f69a0a713cfb8716910280560e1ceb7bfea1f94d02d0f80d00ba8fffd0c4a3e14f2b1180ae39bf184aecb63880a2bdd0f0aace047f15dc4000880229d8222a401de80003600a76013be004dcc15e3886834104acf17e900892401ac80067402e380f8a4129a804d7c04dd0085a401be8023da01fbc006360124c8139b0007e80350882b010012242dc9020240ec9422a9026a4079942d69003e40ef9404110198a8112a1142803ca86ce4397a12ae80674076a831e4303d04be82d340b7d875611480403820dc18f90402822341186082b8413c20b1184884224205211a710f98812c4554403a20dd18378819844cc21969100498fe4400a23e5919a4863a41dd2031988a4200f21d39179c812642db2198ec521e424721ef90b85411151422879d893162867941f2a0a750895893a8faa4435a01ea286506f510ba84d3401cd8796456ba32dd16ee820f47e741a3a0f5d8ebe8dee84bfe729f40f0c06c38191c468c0d1ee8e09c51cc064622e60ea300f300398f798652c16cb8d95c5ea62edb0242c159b862dc05ec5b66207b153d89f387a9c204e056786f3c09171c9b83c5c35ee3e6e10378d5ba363a613a7d3a6b3a3f3a78ba73b4d5746d74cf78c6e8a6e0dcf8297c4ebe29df0a1f8247c3ebe16df891fc72fd2d3d38bd06bd1efa60fa13f429f4f7f9dfe11fd5bfa5f0cac0c320cc60c9e0c310ca7182a181e30bc64582410081204038207814a3845a82274105e137e32121915182d19fd190f33163236300e327e61a26312673264dacb94c094c7748be919d33c331db304b3313389f9107321f31de611e66516228b328b1d4b044b264b35cb639619562cab04ab29ab3f6b2a6b296b07eb7b2292284a3426fa11538865c44ee2141b864d92cd922d942d83ed1a5b1fdb023b2bfb0e7617f638f642f67bec931c480e090e4b8e708ed31c373986395639f9390d3903384f70d6720e72ae70f17219700570a573d571bde05ae516e236e50ee3cee26ee49ee041f1c8f0ece6d9cf7391a793679e978d5787d78f379df726ef2b3e049f0c9f03df01be52be5ebe657e017e73fe48fe02fe0efe79010e01038150811c81fb02b38244413dc110c11cc156c14f42ec428642e142f9420f851684f9842d8463842f0bf709af89488a388b248bd4894c88e245354503457344db4517c404c56cc412c56ac45e89d3896b8a078b9f13ef165f91909470953826d1283123c925692999205923392e4590d2978a922a917a2e8d91d6940e93be20dd2f839051930996299479268b9055970d91bd203b208796d39223cb95c88dc833c81bcac7cad7c8bf55e050b05648566854f8a228a6e8a198a5d8adb8a9a4a614ae54a634a6ccaabc4b3959b959f9bb8a8c8a9f4aa1ca735582aa99ea61d526d56f3b647704ecb8b863548da866a3764cad5d6d435d439da25eab3eab21a6e1a351a431a2c9a669af99a9f9480bad65a47558ab45eb97b6ba3655fba6f6571d799d309d6a9d999d923b037696ed7caf2ba24bd2bdac3ba927a4e7a377496f525f589fa45fa2ffce40d4c0dfa0dc60da50da30d4f0aae1172325238ad16da315636de383c60f4c9026e626e9267da6aca6cea6e74d5f9b89980599d5982d98ab991f307f6081b6b0b2c8b218b1e4b7f4b3acb25cd8a5b1ebe0ae87560c568e56e7adde59cb5853ac9b6d1036bb6cceda8cdb8adb926d1bed809da5dd59bb097b49fb28fbbbbb31bbed7717eefee8a0ec90e8d0ed4874f476ac76fce164e474da69cc59ca39c6b9dd85c9c5d3a5ca65c5d5c435db75d24dd1eda05b8f3b8f7b887b9307d6c3c5a3dc63798fe99edc3d539e6a9e699ec35e925e715e8ff7f2ec0ddf7bcf9bc99be47dcb07ede3ea53edb34eb2239590967d2d7d8b7c17fc8cfdcef9cdf91bf8e7f8cf06e80664074c07ea066607ce04e9069d0d9a0dd60fce0b9e0f310e391ff22dd422b4387425cc2eac226c2bdc35bc2e0217e1137187cc4a0e233fdc27b02f6edf40a46c645ae4649476546ed402c58a521e0d457b453751d9e024b737462ae668ccdb58bdd8c2d89ffb5df6df8a638923c7f5c6cbc49f889f4e304bb8720075c0ef407ba2706252e2db8386072f1f820ef91e6a3f2c7a38f5f0d411f3239549f8a4b0a4a7c94ac9d9c94b29ae29cda9fca94752df1f353f5a93c69846491b39a673acf838ea78c8f1be13aa270a4e6ca6fba73fc950cac8cb58cff4cb7c7252f964fec9ad5381a7fa4eab9fbe780673867c66384b3fab329b253b21fbfd599bb30d394239e9394bb9deb98ff376e4159fc39f8b3937996f9ddf54205670a660fd7cf0f91785468575457c45278a562ef85f18bc6870b1b698bf38a378f552c8a5d1cbe6971b4a244af24a31a5b1a51fcb5ccabaaf685ea92ae729cf28dfa820574c563a543eacd2a8aaaae6ab3e5d83a889a999bdea79b5ff9ac9b5a65af9dacb751c7519d7c1f598eb9f6ef8dc18be6975b3fd96e6adda7af1faa2dbc4dbe90d50437cc3426370e364937bd3c09d5d77da9b759a6fdf55b85bd122dc52788ffddee9fbf8fba9f7b75a135a971f443e986f0b6a7bdfeedd3ed6e1d6f1fce1ee877d9d569d8fbaccba3aba0dbb5b1fe93e6a79acfdf8ce13cd278d3dea3d0dbd6abdb79faa3dbddda7ded7f04ce35953bf567ff3c0ce81fb83fa836d4326435dcf2d9ff7bcb07d3130ec3c3c3ae2393239ea3f3af332fce5b757b1afd6c68e8ca3c7d3279827f25ef3bd2e7923fda66e527df2de5b93b7bdef1cdf8dbdf77b3ff721fac3fa54ea47c2c7bc69c1e9aa1995999659b3d9fe4f7b3e4dcd45ceadcda77d66f95cf445ea4bfd5783afbd0b6e0b53df28dfb6be672e722f562ced586a5fb65f7efd23e2c7da4afa4fee9f95bf347f75afbaae4eafed5fc7aee76f486f346f5a6d8e6f456c6d459228a4ed5c00093f118181007caf80eb22770088fd00e019ffaa8db639e074178279608c81735f13380b188204202fa80a01e7f788bb4849e4791427aa082d87eec690b182d8215c2e9d0f5e811e45ff9ae11b23814995790f4b32eb0de2343b1f873be739ae711e71de48befb024c824142f745b84529622de2ab92ea5291d21532afe4b0f2f20ab68a814a71ca492a475593771c54a3aa0769ecd694d14269bdd6bea393b73346d7594f439fd70061306f3862d4697cdba4c2b4c82cdb3cdd22d9f2c02eaa15d93ac426c0d6dfcedfde7f77b003d991ea74d039cde594eb39b762f70a8fba3d0d9e2d5eed7bbbbc7b7c9e91867c47fcc6fcdf057c09dc0c2686c8855a8405861f8fb84aeedfb714c549d18c76a7c6c564c616eebf1a773f7e306136117150e090ee61ef232949d5c943299b4705d2948f191f773d11917e2ca32cb3fbe4d7d3fc671cb232b37b7298729df30ace8d17f09df7283c57d47f11576c7029ee725dc94c99c815cf724ac591ca335525d54d358357176a89753ad7436e14de7c568fbbadd1e0d2486d3a73a7a6b9fdee8b96a97bdfeeafb66eb521db511d9887749df82e6cd746f7fca3fec7154f283dca3dd3bd594f359e4ef6d53c8be9d71fc00d0c0e160ef93f5778feeb45e770f6086954f325cfcb8d576fc71e8e5f99487b1df0c670926f72e9ed9377c5ef633fd84fc9c351f66dfad5cce3d9964ff57337e6af7fbef5a5f66be5c2b56f1ddf179634978b56047ede5b8d5ed7dbe4deda82fd8f8673c59d200a344178c8043a0e8d20641129882938b76a8733e356b4357a0a7302ab8efd88bb40e78917c6cfd3cfc111009808cc622c9aac0e442a5b2e7b33c714172bb721cf7ede6b7c3302e2827e429785fb457e88f188eb48ec918c963a215d2053225b2a7751feac42b262b89283f20e15a2cab4ea2d3812ccd599d55f6a9468866ba96b03edc73ad93b3d752574bfea35eb1f37f032d4346233fa6adc034743aa99afb98105bfc5bae5d8ae66ab02eb381b0f5b7d3b097b82fdf2ee370e4f1c1b9d4a9db35c925c296e2477470f933d6a9ee25e1c7be9f66e782ffacc913ef84efa4df88f058c058e074d04bf0979133a113616fe2ae215796cdf04bc524f51e6a217a9ebb198fdac71bcf1c20992071412d50fea1fb23cec7cc42f899a9c9652987af3684fdaec71c613aae9ee1907334b4e769dfa7486394b3ddbeb6c5a4e5dee48ded77c50c07a5ea250b7c8f502f5625ef1bd4bd325eca5e66589f0faf7a862ba0a532d51637ad5ff5a4a6d595dd7f5d99b845b2af50eb7431a0e36663595dd6968eebe3bda3273ef572bfe015f9b42bb6a87f8436227e89cef1ae96e7b54f338e749624f40afed53cd3ea967c2fd7c03dc83dc433ccf055e880e4b8d288eaabdd47e653066366e3be1f13aec4dca64091c0f1b1fb4a60e7eec9ee19a0dfbd4362ff9f9f257e58577df6f2d55fc68f9f9654d632367dbff28b85a50021ee02c1887f82117a800fa80d8814847cc226d91cd2825542d5a0ddd8e71c32c6173703ab819ba2bf8387a1f066b8226a3381327338105cb0a11916c68760c0713272f9704b71a8f29af0b5f087fb880afa09b9095f04e1129512638a3ea11bf244196d494fc25755b9a2c232e33227b584e48ee813c4901522853b4509c57ca56d6527eab92a1aaa1fa6ec769353db539f5731a461a9f350bb44cb516b40b75cc75167716eb5aebfed42bd377d0df326830a418a9182d1ad79bc498aa9bae98359ac75be858ac59dedb75c8cac01a58b7dba4da5ad811ec9edb17ed0e72507544380ec03112e362e9caeffac5add5fd8c871f1c2538cf71af1b7b8f7b7bfb689288a4afbebd7e57fdcf04c404ba07e9060b87a04366439f86dd08cf8d88277bed338a948de2a66029cbd1efa8cf629a634bf767c445c53b27681ee04e8412570f4187e98eb026f1248ba6c8a6aa1ed54e33386676dcea847dba570625f3f8c9e253b74e779d19c99acafe7a7625673d77336f331f5fa074debd30b5a8f6c24831b82479d9a684529a57d674e565f956a572957ff5b99ade6ba076475dc8f58b37866e61eb77de8e6ab8d2387287ae59fb6e58cbf97b8fee2f3d106cb3688feac87fd8daf9ae1bfd48fab1dd93f89ecade893e9e677bfbab06d6861c9e770c7b8f72bd5c1d9779ddfa76608a3adbf8e5ece2d2af4734ffff754646db1330ea00949600e00a9f9138d80050260780b80abc7fb402604f00c0490b20b80b00d47e1a40e6b57fef1f8c4006ae2cc3c169b86a7c0156e15dc4040a83ce42b7a017d00a8207a18ff087a3e93a6214aedda4918ec883c84ae473144029a03c51e9a866d427342fda069d846e462f6194301198ab98cf58256c2cb61587c7b9e36ae810749e7477f1fcf81478e5d9433fc2e0cc304c70238c33fa32ce324531ad32a7b230b114b24ab136104d892fd882d9d6d9b33964381e727a73ae71e5736b700ff3c4f272f136f3ede547f35f137013440bd60b050af3080f8864889a8ba1c5bac44f48d84972488e49154bfbca88c97c94ad940b959793ffa2705371bf92be329df2b0ca15d5fd3b1cd5d4d5b9d53735dec359f535ed6c9dfdf03a65a027ae4fa7ffd5e0b961b3513d1c87b74d1bcdee98dfb1b863d9b0eb8655b575b1cd59db543baabddf6e7b0703471527096701172e570e370e771e0fa13d529eaa5efa7b6dbcf7f88492127c4ffaf50710035d82f2835f8672863986674674907f444a46b9508e46dfa4be8e95da1f13d795c07b809a387448f37059126772562aebd18263e2c71bd24d32464f52e15d6a24bb3aa738ef6e016361ee45ad4bbe2559655de55b557a3587afb55d47dd34af3fd150dc74bbf969cba756429b4647586755f7f727a6bd97fa16078c87325ef48c225e298cef7e1d3e99f42efbc3a58f5d339f3ffd987ffbe5da82d7b7a545ead29b1f3a2b993f9fafb2ac59ae1fdca8de1cde5e3f9881227c8e15079f1d748239f854602714086541f5709dbf89104758236210c588c78825b866b74526226b9063287a785fd9872a410da3e9d186e87874037a19a38e89c7dcc3a2e13aba083b8f33c49dc7add0b9d33dc0cbe20be999e84f32b0315c24c8125a18ed19a79992980599db58025809ac8d442f3688ad82dd9e7d9da39ad3838bc0d5c17d80478d6791f7161f955f8d7f45e0ae6092908530b3f09848852855cc589c5d7c46e2be649e54b4b4bd8c822c41f6b35c9f7c9d42962255c95d594f455c9551f5d78e4f6aafd587341e6bb669356bdfd6b9bef3aa6e955e857eb941b96185519df15d9347a62366d3e63f2df1bbf8ac14ad0d6d1c6d03ede2ec33765f70a874ac77ea701e72f9e8baeacee221bdc7d8d3cb2b7e6f1e5c6f0c92bef909f9fb045c0a9c0c160af10e2d0a1b8d60215bec3b147923ea7d343bd5342629f6691c4f7c68424b22f3c1c043f78f70264525f7a64a1e4d499b3cae7ba23a4324b3e814cfe9c22cc1ecf21ca5dc7be7acf327ceef2b425ec82ff6b9ac55ca51f6ab7cb2f26975ebd5fadadaebd5372bebcb1b329b229b1d5a54efb3b62eb4f5755ceb3cd9bdefb1738fde53e9676cfdeb836f9e370f678e3abd621deb9c887c439cbcfecef2fdf854c4347ae6ec278eb9ccf9e52f0e5f2f2c8c7d675ad45872580ef911bd92f033e157cc6ac49acfbac386fea6dc16fbb6ffd980167cc6761234810f100b6400454217a16ee81b7cae63059fe35423c6908c4843642cf21af2038a0fe582ca423d85fd6e89ce440f63443051980ef804251a3b88d3c095d271d065e1d9f1c5f4caf4a30ca90435c20c6331931b331bf3204b0eab1b5198f89dad9bfd32c7614e3fae5ddcea3c12bcbc7c44be0dfe8f0203826d42f5c23522e5a2656215e2d7241a25bba446a5e764b6e4d8e4a515f4159d95c2958faa14abdedd31a98ed350d1f4d63aa57d5f67415754cf553fd3a0ddf0a7b18cc95ed33cb37e0b82a5edae6cab9736a2b6fbec5a77b3387839963b2dba98b8e6bb7df3b0df53ef25b8f7b40f9a94e4fbc55f332025b03f5830242ab4339c3722863c18a912954b59a706c474ece7898b8eef3b209f78e6e0cfc381475e253ba50c1fdd9b3677fcf089a90ca3cccba7a0d3fe671e672b9d2dcca5cb4b38f7b520e8fcfb22df0bef8b1d2e3d28512abd7c85587eac62a38a5afdf96ad0b5f775a4eb6f6ffade9aba1ddeb0d294d2cc72b7f49ec6fdbe0721edb88e9acedd5d6b8f2a9fb8f5e29f763e4b1ad01f5c7fde384c1e1579f96c2c7682e3f58d49b3b723effd3f7cf9e83c5d3633f74964ce7a3ee473e817ffaf260b820befbe5df96efffdd7e28525a5a587cbcecba33f3c7e4cacb8acf4fe34fad9f84bfc57d6af8dd5e0d5fe35b5b582b58d75dff5b60dc18d431b139b3a9bb99b0b5bbbb6ca68fe8f0e5485f708f882188ce064f2f5d6d6a20400d86c0036b2b6b6d64ab6b6364ae162631c8007e17ffdef4263c6c067f5456534d4659c7a84f6fef7f55f7912ca378552f09000004000494441547801ec9d0f3cd4f7ffc03f96ffe50a692143d2b09ca6c412cba91695f3abace6cfca2aac56ca77236d7c376d93f69d3ffdfba2f6555fb42dd53a155b85528afed89c36a60c136df946b9e238f27b7f3e9fbb73c71d87c3dd797d1ef7b87b7fde7f5eefd7fbf9fe70af7bbdff297575756170010120000480001000024000088c49022f8dc95643a3810010000240000800012000047002600bc273000480001000024000080081b14b006cc1b1dbf7d0722000048000100002400008802d08cf001000024000080001200004c62e01b005c76edf43cb810010000240000800012000b6203c03400008000120000480001018bb04c0161cbb7d0f2d070240000800012000048000d88232fa0cc0ae8f32da31a0161000024000080001c52200b6a08cf6e7df4d4d4a4a4ae7cf9f9751fd402d200004800010000240402108802d28a3dda8adad8d34db1010f0dd77dfc9a88aa01610000240000800012020ff0494e5bf098adc82c40b1736d168140ac5dddd5df6dbc9c6b0c3fbf7cbbe9ea0a15c10d8ba75ab5ce8094a0201200004e49d00d88232dd83335e7b6ddfd9b3beeeee9967ce2c58b040a675e529e7025fe13c14f0393802ea18960d3f2a06c70e4a0101200004064e00c68807ce6c644b58cf9bb7f7fbef3d57aefcf9e79f47b666a80d080001200004800010507c02600bca411f3bb8ba462627bfe5e65651512107ea828a40000800012000048080fc10803162f9e82b9aa7e7b3a74f698b16dd2828303232920fa5414b20000480001000024040e609802d28f35dc453d063dd3ad693272eaeaec81cd4d3d3e345c3271000024000080001200004064f006cc1c1b31bf9923ec1c1cd8d8d8b962cb97ae50a5a5c3cf20a408d40000800012000048080821180f98272d6a1ef7ff699f58205eecb97b7b6b6ca99eaa02e100002400008000120207b04c01694bd3ee94fa3b07dfb745e796595971787c3e92f2fa40301200004800010000240a02f02600bf6454736d3d0d97451478fb6bdf492dfba752f5ebc904d25412b200004800010000240402e08802d2817ddd453496565e5af3232aaeaeb376fd9d2330dee8100100002400008000120203101b005254625631955d5d4f69f3b5770eb56f8ae5d32a61aa803048000100002400008c80d01b005e5a6ab7a2baa3961c2bf7ffa29e3871fbefad7bf7aa7420c1000024000080001200004fa25007bcaf48b48a6334cd2d54dcec97977fe7ced4993366edc28d3ba827240000800012000048080ec11005b50f6fa64801a4d3130389c93b36ec182499326ad5ebd7a80a5213b10000240000800012030a609802da808dd6f64669678e1c2261a0d6d40bd64c912456812b401080001200004800010181102600b8e08e6e1af64a6b5754266e63b1e1e67198cf9f3e70f7f85725403ebe20e7a6209364994ca4f30877f657d69aa2e2a4d441c8bf9e32dfd45343dd9fabb211bf818330f4b4df2d614a1b6c828d96c8b485521120800012000048691806c7da70d6343c780e8d96fbc117dfcf80a3a3d2f27874aa58e81164bdac42755791579e232535868c76e096cc1c6d2cc03bef40ca64b7a334d4f4b9cb4d189e73590d52159fdb2dc16c95a00b9800010000240406a04c016941a4a5910347ff1e24f121317bff556c1d5ab3366cc900595644107159e1233e9be3385cc38d623d61c2d7e322f9ba84f564e303204518aa1b244f945c918b6b849a62e335d1e4f32d792ecef59a6db326c904030100002400008882620d97707af6c3b86a9bdf412d6d5c58b80cfe124a0a43408e98b57ad7af6f4a98bab6be1f5eb8686868390a0b845e8bbbf4bb512ed02ec68acbcffb885a3ae6b6e64c0f92d37affaaf672a13a65a38391b69e37f23cd35bf54713d8bcc8a92522da369061aad7f3e78dca14279c544f3d70b57fe7aa63acdde4e9ff3f4198675601aaf5818ab7139b26bcbefe1ee3a95a9af98e98d1301b7a3a1f2fe1354f5544b23ed26e6a51b0f1a9fa9e858d82fb2a508ff75b6d49797debefbf8593ba6aa636e676f6eaccd13a63567fbe17fb57230155da2d201b7c5c8802f8a27123e81001000024060cc1010feb6e9afd99d2843575729d882fd811addf4ff7bef3dd693270b6934640eeaeaea8eae3272527b6bf64acb3db8db0f9be982090e28efbed3e869ab7cd6c33995db1266840315a326fc67c399f78285079ea99fae617efa3d916d7f3567a131fec7d556fe9dbba53f1ee79258941b286a325feb05b26a2a9d863172091d0819bec7ea526c0dc8bfd0a68bbb5685440b55372f3ce3ab2f57ebe05959d91e3370e5a9090525db28d880db429422ea8437200004800010187b0460af69c5ecf377434268ab57a3c162168ba5982d1c4cab1811ee9ee19e9ec1fc178d9670b29c9434de942b11370405665b4644315a304cb58745adaba6a6d6d3e7ba7cc7ca3529bea4949ff2cac8c0ef17ce90818d9fac106508e289dcaa998286208a4e5be716db88a77714efed6908a2d89bd15e6feec8c47f9ef12598aa9196e340db32b05f84448df0060480001000020a43006c4185e9ca9e0dd9fac517afdad92df7f060b3d93dd3c6ea7d451ee31c8391cb7fe5e531eb91a52774f9a5df292d29f9a53a7b1e37ba0dc3b4bcb2aa43b8ab715c12ab1b6f676dd0e82ee49b58567d3a3bc36f99a5f932ff9944fcb9b86cc28cabbffe0d8388f0759f6fd05d424c687942feedaeaedb7539cbc90cccb0fc5216d670e98b30ae477067ce7de495cfbd9342d682c5d37faa14e8dce69e72256c8b3823b5a738b807024000080001452400b6a022f62aaf4dbb0e1d9a3075eaeab7dfeee890708129afa4827ece74a12fa7d369fc978b0bd5a08721445fbed216b57e9cf1c215748202a3b80e995bea3ada5cc721455b475b4dbddb95e695f1a9a385b1f9d2d55668a719bdf91b48cf20338c598f6195970fa2a15b34ee1cee632e7a9e225105f72d7cdb362734e14fcd80b639633b19f75703aba5b6a282b8991995e3433343413ddbf57b780ec87bbffecd2d2de263c06d112103a280001000024040d109747fa5297a4bc762fb949494be484d0df6f058e7ef9ff6dfffa2dbb148a1bbcdf4dd5967c4ac1de165a2ced1e31a6d68a719f2fa1badcae863d319cb57a7f072a24f7507ff282c2d1285f22f971ab66793496bdf7114c82326e83b4b87973265960d19acb9f7d7b8372964d8ded298978ebde2e08a0691d12db3fc2fcc835f8e9f4e0406de16e1f27007048000100002638200f80515bc9b959595634f9faea8aedeba6d9b82375592e6f10d3c71994da78cef95d4f70fa6768e90cf5567bea7172121c3c777a73f6eae6158f8026ba19d6c88c85e6f69778961653cfe797d2d993c555fb7b3050d52e3d7eff54fc9007a6fbc5b42865f9d3e991fd93330f0b6f49400f7400008000120300608802da8f89daca6aebefffcf9bc82828848dc5f3586afe6a6c6a696a6a666e117b9fc828ba5b97f3cb8e9d7c798bbbaf5f22817420a931cdba525acd6ef5f2aca119d7abc94c858c3f89cdb5306a63ae32672d7addc0c8e2aa8c167077636141df68a2745ce9c65480644bc0fbd2d22844214100002400008281a01b00515ad4745b6670285820e2c4efbeebbb878ae0d21329ba247e60599e8d8ebe8380abfbe2b6e92a4e13c9722c387a264bde41bb48fa0b8eb35af8d0249d4ffa353056efb0aa6fa5037f80506db98c472d78a6c5f60a9a566f666243973116304996804fb79ce9ee290418aa1a72cb1e87f1e62ef2a7bb44502a3b1b70c8801024000080001052100b6a0827464bfcdd09e3cf9706eee57b1b1478f1eed37b3826578dea7b1d34e58461c32cfe336fe882faf543311a335d7d3b71b0bcad65647de92c5bb93d0e20f8bc53b49cf208a75d9604b6c342898a18ff0cdb464fe1683bb9991faf8f8b49e572a7323cf9ecc4d23172623c95199a9ebc9952f5c5579ca0fb42d7de80349400008000120a0f004fa9e0aa5f0cd1f5b0d9c3a6ddae19c1c7f67670a85b272e5ca31d3788d799f64c46cc6441e1dc76957b5248ea59b1d8af2b4ab4cb0e09d17429642877c98cd2026fb99ae3f943e61415e41799b8686a9838bc56bafc74cde8c189a4fef3d1750cfd2c505cbc39d7b5e9b97512404ed9b921b3ba720e5db8a87ad6afa36eefebee66861327969590797b47a145db87ea1b0aeb115d3d099b5c8d39566ddadaa90f21a036d4bef299212aa0cd980001000024040010828750de41091560cd35452827347e4bae37f2f29d9e4ea9af1fdf7aeae682daa342f3497edf0fefd2e5bb74a53a87cc9ea60353c623f2bffd6c3359850dce55863aead76df6d609df1a44420679fd88349fa2eae80a968d83b7bfffead63f94152c05e852601012020bb04608c5876fb6698347bd5c62681c1f05ab3a6a8a86898aa18b3625b982934c3293c4310c3b687daf463080aa092d47f285004824000080001200004864c006cc12123944301af3b3a7e9996b66cc58abb77efcaa1fa72a2b24b4c56f4d2711228cb9dded7e7a44609c4401620000480001000028321c09b903498b250468e092c58ba74e781038b962cb97eeddaf4e9d3e5b825b2a4ba26d53fb77ad9b3566c82ae8e8e9eb62486203ae06e6556ab076a85b2326ffe9f2c35097401024000080001452720755b907d79d7daadd1cd31650c770ba139f56de527375b7a61e18c435f2eb9b16bedfec2e649a2e13e7e61ecd675347b9c0b775bb51eb99ee4611bca18ae2a3f6d9eb11b13ca439960f8b2a5dde2b7fc3c4db5c5b6abad3273f38c08e182a806ca14732bdbc5f465abed7b1c49d6a3f651bf7d5894cb9ee9dc470325d770e9db6f3f7bf2c4c5d5b5f0fa757d7dc9b6c0935cfad8cca9aca567aca537c0b68f535797cc6a1ca05cc80e04800010000240400202626d2609ca8accc269f80ddff3a2a985bf3507375b27e7f14d142c7cd886711a0a1915dc1dd444099939039dad8589cff0774b47a70a9226224f6e5af2c16097638f726dc57c21773e7d28b22096c738971cfddd76c6f1380f9975cf541d0ff4f0490e296c34b5977c1a9a28c2bcb8d501012cc21c44de411d1d1d5e347c0e9540279bddc6e18c53d1103cb978a842a13c1000024000080081612020fdf9822277ee10d45c191f146b2c68c45f45ad8d4788431ae6456517b436939105b7d3b981c6e682eaec79786197c4fb8d45441194e4cd5f99498dca6ae6956a7c947587b11ccf9cb7eecb4ca1c324f048de45eae79270a5abeb170e877cdd6eae3b92b81de5a888a7e757e2473bc8e6d5c16a418a4dd094a605ef1f1abac0c363c9d2a5cf9ef5b17db2ccf1a83abec3da86b681d6f3b54a899655ce1a0e759147b6aaa9e72f9c5e15b17ecb4c8aa2d9ccd6d0b0a750e66aa8acf2dc71b1a8a657b6c146b02a8bae968b7db6fb945a7b7297b592cd99521c8e60b8cf4290080480001000028a4f409a5685e4b4c6a96b5378c725e84cc10fd19a30650a455d0be34562fc90c69429b85c8af6146d4d813167dc264297e9145d2d2dfea82e45db23a230e19c433056f2f0392a43e611f94e5143558d53e6367f9c96817d6054e4f7f15179d8a3a768e71cae1e9d4d95b7affefcf819da646eaaf59bf38df4baf543521b2b8b993f97b7b463bad68bed2d95abca1e4c30b1d4d352ee6caaf9e341f324224c56ded654f3e783d6492633502a19d3afe4b25fff78faac5d53c7c86c8e1d596f737d65750dbebf71d99d5f1eeaced237908e6b1009dcbe67cf679b3679787a669f3fafa626b35e51921cf7bd83558531f3704f73af0bb98d7bc50d3542228f6c474dca12fe9121d47974dd9b8cbc0a467c08239e965098b0cd7ea84ab0cba3289619d48482128bbe9e6d31d5b01fff86dcedcf89d39305c362b243341000024000088c1502c3650baaaa68f440a8a6d2a791d1d623bb64b7cd588faffd7113fbaca52fa96cae5b8c773e5755e66e0fbad001be5b1865411e16840c76c12ef7a0e8ee61ec99c8a7886168f4d6df5efbf754ff35c1796498acb05238a61fc9bbdd8322bb2523095bb2ef072dd539653823961097e1ef9c81451574450cc22020f5e9fd1e919414b676eddb6bd79e3e7972dc38b998bd86ff324064fc1d75ba8f0a211aa6a625352b990f4a028f6cc7e58f3c88b3e3e831f95fbb3a99e10f624743d1a14f360627e7063b642d6b753713fa2dc1172e7180837ea660a694c13ee202bfa530c1b0c4f54346200004800010504402c3650bfef89f7d2a3684478f47ed79c9195e507a9f14612f56477d76dc215c3a45ad9f86553dfabba9696207d7926c7bfcc7b5b870e28b9c6a62847f4db614279186a05f62f63b4bcdebf3bed9e81f7d906e3995d9ec69adf5f0c728c210a4eecc4e5b62c9b9f0c99c3d6978b5aac400b48a1aeee924c3782c8609c6f42db9adfc3bdc10a406c41cf8e0f557547eff3e6e6b58f241b74fdf6a4d595e563821293c2a3e8f169311e8315f8a8620d2f0a5975efa323d7ddb8a15fe1b361c4b49515252221497f537dd2953d4b4b47adb46846bb6c3d05ca7fa724e75a3aa89a39395316e20b63594ff72e3ae28476f474379d9338a89e9147671d6c53f9f61e3758c2cecdf3022162149e291edac3cb3359e89aad85df69d3bff8c60653dfb6d0931b792c3d2b0b0bd17de4af220ad6c716a7436d5fff1a0d5d0daaca3fceab5c24a4c75c2548bd76d6ccdf052eca6da92df1fa100e3c6afe54e334cccc6b722f7f380da880a8bbdc43baa71326c8a892ee75e4141b9ca540b5b675b4a3f7f5d626b8104200004800010904102c3f54ffd667c98c8f13b292360f87fbaa384eb056af95f51721a72cea16b67249d3f702cba4666a4878e90cf8fccb625fbb4a30162c22e480a42311bb3eb82971aa080d1fa2fafbca2f1a66b64c4deb36ea92baeed8d46915b72b27d6878aa4f6a1d8b697810b704fabdfa96ec8d6c485c84e91b0b9dac5113f44313629fb4dcc0162863ca7a16f6736d702b7381db722bbeb5d16f85126750515189fbe1870057d71d2121f1717112971bd58c2aa2a7a792ae5901cd120aba36df4fdab22e28592012db98ce0cf6b6c663d8cc9d9673f027968a2f5be25fbb998d9ed698241ed93faf32f052db192b7a768dbaebe7f9315e1ccbb9af13866047b178357e4ff5451e657eeddc40407a4192b772c9017707f2894d5e6799bca5b0d1b908773f0b64eeaf8d02597b04fb7254b378647865041ddebc38f8040240000800013926305cb6e0f2840cafd77538bcf1564c45a5f5e7b4adc142dfc452c1762e3e5e480e95befb4082277f7189509ad00dcd3740136b6961a6e572bffbb76736c7997287ce1a1f14e29999b72e5c6c54251aa1dafea0028faa63b5753caac7bf82e9ce7606780c7e19bcb5c3f7a07f1a79d3e77b9f92316cbcc604bc38c3df5e296e79b80f6dd1a23991a98b79438b1dc4487a3b3e54c88beab3b28126aa6b68246564ac7df34d1b2ad5dfdf7fa0c5473e7fd59debf7b049dd8f1907d3b6a2ea6b29938e58a4cf3cdf703bcdc2476fb8b4e5469386a05f4af63b2ee67ffe78202828fe880f9562f4c8df095f73ce756233a9211907164c7f9e15e5768481454430969cf195c023cbbe7f03ef7d2fc7d77a8fafab193bb91b73d934f4a9065fed990131a1816e1dcc6f83fca3b1649f9f3e58b1d26a437af69404b7a09b986f6cfe8ed956da4f7ec17f18a04bf23692f97bbcf7eda846a738f3dcfb2e1b635cfe486f5c6025fd21f81e2ac12d1000024000088c2481e1b2056d5d96db5a0bd92b9d7a951826755b707b7af5766d62a8b783c351d6d03530d6ebfd652c02283d716f6a2031b69872eff8472b7d9041199f99f741b087199e9955fb0b6120de8cf4efe9dd7cdc86b53efd03cfa425e893327070c530096cc1be25a3e52cc61e59d931dbddc22a30e6b968f4c26ba245317647784877501897dbeb62d5d6ae59b0607754d4ba75eb7a25ca6244aabf6baab05ec86116c4df70879e18971a4870636578e24e353fc6fd50a28b8d02e332b55ad0063db15f9ff7765acf1f658ebc73cdcb16ff41109c92cfd471bed98ce6224ae291e53c6fc1f5b07c956738e177bd2fd6e57d7da9c12de09b929ab41e776cdb5a1f7b54b82e2caf9dd38196375117cdc7a5d35d9d9d6c91c24fc8dc12b7912bbce7473f8e6a0132a7bcd04facd09ee5e11e080001200004e49dc070d982bd7d576d9cc12d0fe99330dd6286b131fead39d0ab1943da10df73cae6de71472a4b3646e61da1afb4a9beb3d05819d39848ba5c76dfa976d4e52d4f515151460e284d1d8a4a35b10b368beff4449537d7d7f6504155a59b6df781127d4b2644182d0d3dd5b5ed6169c9ddeb5772bf0f3b9787e546d2e72d6bf491c0d9d9438701ddb6fdef7fefbabafe2324445e0c41d4ba7901e10bcc26f19bd9f6a4cd7a72f7a2251acd8e6b40b3ef5dc387707d972f216c7da280e98a401a969ccb2879d481197145d05f33e77a86318df1b8e145c1c85eeccf23ab3269323ebafcacef25ccfda9416a41b3a3f21f692dee9348a474904f5c9be09e3292b791dbc49e1ffd38aa79b6202203eec09eece01e08000120a01804baed15b96c4ff3e0b5166cb97df8e18d91338e60ccadfe870a72b751940d67d2d1402dd6f49ca2c7b3c0daca8f6fb6f4c102d2f727ada0d2b10c06a3e856831531bc88a69bfdf23d39970bd787d3866fe15656fa08b3260d0b76d90dde1cb47e247b3fcedce54e8f26e629daeb5bdb2f0e0cf5dca5b4311abb7beb01c6d3a4f71aedc153e095e434376f5cb2c4fb9d77828383797172f0b9f483482f61f7b3a0d2b35fe7d978980a6ebe53ada709baaa5530c2e42a696ac58cb8d30eadf478a6a0a01c09c2ea8616b82df8cb2f0f30be57925faca38199ff87b6c54c039d7ed420cd5801b5f922c40604324b24bca7a0fe1cd5dcfc2eb4a98324d3b342b807024000080001592320fdbda6fb6921d751d34f2e4993072dad474165b34d7712f14af382e34fa2b16c2dfbf7b6a3bb58e75519b9e52d1decc6f21f3fb5f4b989f6417ccd4213d3720c0a2752d76415d777b29b8a9282430446bff5665aa1d40c9f4f2f97d63737d55cdebb292c99670bf623191baf8d7bb98eb885a1b26da8decaab570a510436cb6e1afe415cc5d9e7ee5536f0eea4f1c9666f5db6cc69c182cf3efb4c1ae2464e06e17e165b9dea789ee9c7e13c46b998a57ff7de479cead26dffd18dc78b15d64fc204fdc928476e765e63af8c0d97e27c5c1ddc0da3ead912a9d1ad762f51bd23ba334bd8c61e22041cd5b9d5d517c8575d1d0ae75ef2effe2b21f6e3ec51146e81001000024040310848df167c5e859369171c4025519163c4553d3683435e347cffe407ecde0588621cce23fcb3b9c73e82a8181edd4b1a1ed9f725a6a0a6ed86c4702a2a9ae1b5b2a0be43df232a36dc05d98651ae96f62a1a6f5aba9d4369d4a80f37dba24fbda5e1fb89d4b03986b33574360aaf4ed55bf4ae1fae43da56aaa1a38ec956b4a10871914cfa96ace3e41b82aa25cace45f5ce704e45eb547c53dc08a7a032e19b3917e6b5724648554f226425037e57eae8f868d52a531393848484011796f5023c465a46b3f1be4dbb59d2c457b9f1d625bc4f75274ee447f517e8c323abefb496868a33820f1c2d1512d3517e3c2c1ac5d012df339a24a11a3cb58504f16fd4c6f18378809779706d241dd5e8d048e4023736d6275e3acd97779a98ecfce46c8b504570030480001000028a494070a4542a2dd4723ec0185fdbfedaf49e434a6aa64b62d353548c9cba9d0d448526cb3e8ba16cd47540bb358bbab4666e61a4af6a9f3aad7b1a189e0d49db9f9ec299ea3050478ea6d882ca8e91a7f7cf2a42df7f5af8f7abd6e22f732facfef1c7933f35601a6a9886b9b3e7c2a5f83e2fc4a5b5f0cbdc2cb793e7b38b310d0d5d9b2506d5078282b9361fa66c11da5ae7f8ddc9db25556d98c6cc151bdcec38f9a78a0da7936de85bb2817f6eeb82dcd339976e35b7626a3afa568e6ece346b72da96a9f7a17455d73b7f3c529d6841ac37e66a33e88f715d5dfff4f35355564e919f3d0507d558bd8561beb13e697b1c566917a6b8ce79f9d18def3e750e43a296bfebc2ebd3fe05238fec6ccd37cdcd449d75ad6dff61c6f65caff80c7f6a4d4942c07bcba6eb2a37307f4c720bcac505d30389cd6b86a40607c38d33464efed53973ecac7ba93bb836122e70463c72814fc839b4ccd9847dfff257840b9c86bbc0e102024000080001c52720755b103372f2e0cfd212e4374edb62b1b785600c19d6347372ef9ed0df3b5ddbd6c3bb772c92b65094b4de397bc6f45150dd6ca1b7902afab64bfd6d97f694c0bb37725a1de4b49abcbb977480174d7caa1b38aedfe62810b578bd50dbfb94ac6e4ef3462f81d2fca01675f57adcc3258d0bf984e3b66c69f8ebafecec6c65de717cd2103c12324877b208f7335179ef5453efd8dd579811c979610e26ddfa05a447ac278c2ad2fd2ce866168ee17b64cf85f96672524d45fddd18ad8e3e92f0bf8dc16937e383d1abbb168c1ecb4cb1227e1cf5ad466fb58562543409e32c2dc4398d965e164838d40509482e5c502ce1a82e0989c65de0517ca5792e704c98033f1d02400008000120a03004447da7294ce3a021e2092861d8b14f3e29be79332f2f4f5d9d37af4e7c7e594b99ba207477cae6deee67524fd2d96c6224e84cd6f34cba33e7bdacf38c426c9206d636d17a19ddc1d6983bde4aba9f310bdeb259e417261cd2bc18c93cb2eaf6db526fbff3f18df3174a7097308669e8cc725eb66091e0411d7da9d15b6da118758b88fb85f6e7af34b1d54dcd2826f6b8435df2364e5bf2594c0a37bf60b81f1738e29091be4a55808cac3d0aa00f1000024000080c8d8052575797e412d01ec79a4a4aa5032922b970b9ce792fc973651063e79d61dff9452a94902178362eee6852d2b56bd7264f9e2c159948085a987178ff7e97ad5ba52510e48c4d02e8a749f6fefd5be1411a9bdd0fad06024060c409805f503ac8cd034f167977a869c987832dffe8d17fc7c717141448d110940e4790020480001000024000088c2c01b005a5c55b59534b3e60169f3ebd7bd7ae2b57ae4c9b364d5a8d0739400008000120000480809c12900ff3454ee1caa0da153939ff080cbc74e992b9b9b90caa072a01012000048000100002234c40fafb0b8e7003a03ac909fc595414b876ed9933676c6c6c242f053981001000024000080001052600b6a00277ae50d31aeedef5f7f0484d4d757414dceb46280fdc00012000048000100002638d00d88263a2c79babaa7cde7a6bdfbe7d4b972e1d0b0d6e63b13ac7423ba5ddc64e368b38cf47da72411e100002400008c83001b00565b873a4a45aebc387be8b16fd333272cd9a35521229d3621a7277cfa5500ee4d6f7d6b2f6e42e6b259b33a5acde497216c3aa2cba5a4edabbb599bba5d3a88eca2f34287369fb1ae58c05a80b048000100002432200b6e090f0c97ee18ea6a6f58b17076cda14181828fbda4a41437669ac6b24468df1a619f496c67efc1b86319f737867f8f6ce211731ecf228ca8c8d1f5c784e68cb2a474756339b5a86dc2865b34d8c702c2ff8c0f14ab9c0004a020120000480805408802d28158c322aa4ebf9f380a54b972f5bb673e74e195551da6afd762ce21c86851cf017756630aa8c38094eda958eb83c0edaf51d33a590a7a498f9262466e72cec7502f820b4d2f708dc42c5327cf6de43fb86c305048000100002638300ec29a3b0fdacd4de1e4ca7db50a93131310adbc81e0d6397a60631306ad472a76e53b0b1b298f973794bfb041347271535e2445fa152ecaaa2ebf72bffe26098ae99fd6c7bb3ee63e8f06c1db5c5f9a5e57fa150ef5424b9ecd73f9e3e6bd7d431329b6367a42776a7f1cea69a3f1e74189aeb545fcea96e54459a58196b23996d0de5bfdcb8fbf8593ba63ad5facdf97c0944fee64926967abc4d2bdb9a6afe7cd03ac964869e0aabb6e4f747a830e3c6afe54e334cccc66b4d7dc544733c61e57636d5fff1a0d5d0daaca3fceab5c24a4c75c2548bd76d6ccdb847eda15218c60382e95a2c9c4bd5aa2fab569e66a9af4dfe2b30a6efde7e901effedb9d0c8d54267731345e10d080001200004149000d8820ad8a9a849e33a3bc3d7aed5d5d1494a4a52cc168a6a55ede903c82948dbecc9b304d99777b96f8d4643a8a2afcefaab5fb839673005525dc2bf3ff5a5156ea76118ab3c916e7950b0b44b542623c214b7bad805bbdd832205d3b02dd9f783968ab69f7e4ff55f132c9839a1a06bf3fda42deb8292899ab86f1bd399c1ded6e886cc1f52d8e86f4faa8255121250cc1aec80bb43245120799d65f296c246e7a235483899f9f7545fe18a888c01e90549de143c281ac8bc983bdf84da1259317da795f3b0f80caf03fe9c3823f8f7404281772000048080421318d81831f9d580be68e135dc047486f0d8a16e8adeb891ddd2929696f6d24b03ebe221543bea4559774ee0a6d55b8bb8db683ffc318a3004a9218c3b5965f95be83d34ac3f6c4818822ee189ccfb5977b2fda8189617bd6621b978a229c38f30045db627de29cb62e66c7441a9911e7e475b903faffc3bdc10a406c4e4332f5497ed8f0940a20fba7d5a2566685545cd90ac7b9e6ff8960017af1497b6dc68d210f44bc9ceaabe9f98b81d6538e2434db9da8002647e5515b210fece8f51b3da909e9d380f8ff38dcdbfb3ca4a9b9fc4cf86023303628edc6126a684e319937d7e2296cb3ccce40329cc2a2b0cf1450dc6af09820e4ded594b7150f1e535621a4314813720000480001050180203fbe18fbe9b949494a62a29294cfb65ba214a4aa52f5e0c5443341a782824a4b2a2e2e2c58baaaaaa032d2ecff93bd0382f86d14d0c49d386756d6f34badf9293ed4fac23093a538dd9981ce479015b4acf1e44c9d4f0ac0b5f120e30b3d022265b839ac10cce2ff77753c98e62a0d4a8dcdc0864f7639845706e9d9a8de14186ff85f2b56e1801d6f48d854ed668d4593f3421f649cb0d6c413f7f4ef4c4b8d440c23fc7caf0c47d7b7e8cfba11eb82bd128302e53abc5c32739f6ebf3de4eeb518cb86b9c960175d1fc292899eeeaec648b46b49ff4ceea9b929ab41e1f0eb7b53ef6a8705d585e3bbe5c86752d1e0712927fc99f1843f74fbda45a37658fa0bf1217a53ddbcd1763a43d7a8a700a1a89781a5c400008000120a07804faf9f2eadde01703b74e7a0b81987e09a06dded4076e73231fe0f75f7c71f9d2a5fcfc7c4dcdde73e3faad569e33b0aaae21eb0dd3e27ad3d87565b8954377b6e32f283676dd4c3f8826141257ddf56be893b67975f748a8baf5ea047a4630a3e2ee23471d622d2df34ec1c993aaeded28a78a6a7b0d61473e6f6955d69d80cb60f8db2bc52d0ff7a12d5a34273275717f86138d6647188268a8f61ea1aaeff225dd63caa62b026958722ea3e451bf0b8249a3176b13b78722cd8ecaef7bad895c9724aab41807b27de11b84718b3740cfed93a83d79e488337e2f78b19ea09d771463a98d60b3200c0480001000023d090cd816ec2900ee658600f2d6fe74e850fad1a357af5e9d346992cce835528aa8a8e8a2aae8ae5cb720d7a965a52760cf18dab9210b8e5448590bb797e6d9990aeaa7a286e7fefd8fff3d795641c43322bcb8f9f9d9da39d838638facec98ed6e611518f35c347ae189b428c6ee080faeb5c7cf2d1098fdba11ef8e50956a3d4dd07c54c10803aea4a915d3e0e51bdca7404582023471b1be7606027ff4e30df82a09e6c4c3b7eefe15246a5f9e9ef9e01e080001200004e49cc0d8994c26e71d2581fa85df7efbf5975fa2a1e1a953a74a905df1b2103bad3072aab9f3dc38c4e76f0d02d3de1eff51ce6f76070b4dfcc3ee32ffe6c7f00354aa91fa84c9f8ad6ffa85477517aaabc9576e1d0ad7adb2d14629464b434f75b55e6016c626c62c475309312c37927eb6b8090f89b954c7f34c3f0ee731cac32cfd5b40376e21aa0bdf785555e9b6da94d160b0c45777458245382d78a56957ea05fc8ecf1b6a05b30886270ca446c1821006024000080001f92200b6a07cf597586d7fcbcadab57dfb850b174c4c4cc46652f00415c29dc63b5344ddc41237d1183f97f0ed337629239ecf40d7ca1a85cf9db9d2cc8fc21aae1d4a437793a7684c79d5028fae7b305ecf40dfd89878bdfccb57be4b4c7cafdd63d566a2f34b94127e6cd4b7b65f1c181a9ddb758458a471f7d6836e6122423c2b4ccb6836be6c23ed66b76e58e3ad4b681134a63b71228671daf05694953ee2c96097dde0cd73e44561981a9a1b2ae6e2552498ac65340f07927cf906be3c85b89a72be163140ccc1f0da7b784cb925e003080001200004148e00d8828ad0a555f9f91fac5f7feedc392b2b2b4568cfe0daa06e3ed71795ac7af437690969cddd882fefdde3e07fb1b4be93dd54b42f380cb7f4b8978e9ddb72146404edd875fc218bddd6547966c79a58dce20a9867aead66b9c80f05f3c2fc0393aa1a586dac86827d9b42e2d1843bca3413adf1daf810fc11b7b0cba5f56d1decc6caab570a510436cb6e1afed1ffa5b7300cd7758fc3aaaca21a24a1f6ead18f9cc350ccf2775dd048b1de4cbc1f337c3e45f29b9b6a2eefdd14962c600b7230dca5c9c8c9bf5adad8dbb38892445f7a4b42718b35d6794acac9a2daf2a2f4c085f8fa989e17ab221b8f9d32718823d53de5c23d100002400008c82681ee4128d9d40fb4ea97c0df3ffffcdeaa55274e9cb0b3b3eb37b3426750b7760bc0d2926f96d42c34c6d764987aef89b9921c96cc08a10a993c68c21f7ea95b87df49a998e37f33da670931e18f88a5c630ff658e4f1a34fba02ca3c8d2ab2239c823398848c2df3632bea6a25427df1097b0d8bcb4ad5401ebd237c5cd161f3eee7d71daea5024b75e22d9d43b76f7156644725e98834977fe80f488f5b8b7526fd1bb7e58742a262c9f2f41855c169416e29c464b2f0b1410debb22c118bda551c7126ad705a7c57a39c476d72a1c625733715ae1b3cc7823dac2e970070480001000020a46006c41f9eed0a715153e6e6e478e1c717121e6acc9776b86aabdd1e235f3b0e4d488531b3d42757061daee49ad966b4eff74e96ef3e356bd37d7d2176bde395f6a389debf1a2d8ae3fd5e874f9c4f1921a8ca281a99ad9d1562cd2e71df5a169b1fa547375c1a9ef0b4a1eaa6968a84d9de5ba7a85b9016e276298817f6eeb82dcd339976e35b7626a3afa568e6ece346b7153ec4c967d1643d9686224e869d3f34cba33e7bdacf38c426c9206d636d17a19ddc1d6983becab6c11da5ae7f8ddc9db25556d98c6cc151bdcec38f9a78ab99aab5b44dc2fb43f7fa589ad6e6a4631b1ef16debb22c1983656eb6b9b53ae2cfbe04e51254755759a9dab46dece95fec9f31698128dc2df1a2e7f9b81d6c124acd6e7474100080001200004149a80525757974237505e1bd746ec2953da67efb4d6d6ae7274fcfcf3cfdf7df75d5968271aae3cbc7fbfcbd6ada3a74c47c1ae3941d1ccddcc664f6bd2681b3d5d64ae66563a8d8276138cb9cf7137237f04d6a7d00c63f3b09d779a7d6c495c4de9349d3d792ec71a73c5b83847a255c82199bd7fffd6d17c9046a299500710000240404608c07c4119e98801abc16968f07675fdf0c30f65c4101c700386a580b2e38e98991816b1f72c32a6e11226a0356f0d3e49316cc692c4a4e3974f26451186208645d1b88620d6527a02198bf362a247d11014d619ee80001000024060d809802d38ec8887a382aee666ff254b7cbcbdb76ddb361cf2e558a6ded23d29be589acff122fef261396e8d745537df1013b39d8e56c41c0cf2d9ea15948156c2b86c4faf0be70d07d7ff978a66466eff649bbd74eb056940000800012020cb0460bea02cf78e68dd5e6a6d0d58b6ec4d67e74f3ffd54748eb11d6bbefe70d69c8fd54d608cb8d773a06ce01e77c635b2fed1dfcd1d681282aea13e7f33433caf0ebdecfedb86c63ab068a41739880002400008283001b005e5ac73953b3a76ac5a35ddd4343ebe7bab3c396bc3b0abab6e646d31ec95c86d056ada0646dafc73f9049ba1ae6f81afbf860b080001200004c61401182396a7ee567ef1e2d377df555551f9cf7ffea334f0d38ae5a9a9a02b100002400008000120302204c02f382298a551890a867dbd65cba3bffecacaca5256868e93065390010480001000024060cc130093423e1e01b4ed5cca279f14dfba959797a7ae0ef3b9e4a3d7404b2000048000100002b24f006c41d9ef230c0de467c6c69e3979b2a0a0404b0b9644c84197818a4000080001200004e48500d882b2de534a18969f92722821e1faf5ebbababab2ae2ee807048000100002400008c81501b00565bdbb7e3e756af7279f5cbe7cd9d0d050d67505fd80001000024000080001792300b6a04cf758e5a54b21efbf7ff1e2457373739956149403024000080001200004e49300d88232dd6f1bdf79e7cc993336363632ad252807048000100002400008c82d01b00565b4eb1a1f3e449ae5e7e75b5a5acaa88aa01610000240000800012020ff04c01694d13ed4d7d7efeaea9251e5402d200004800010000240405108802da8283d2903ed40bb61a32b6fff7e19d00554000240000800012000042422a004ce27893841262000048000100002400008282201388f58117b15da040480001000024000080001c908c018b1649c2017101802010e86b58829ae8a611a6292201a08000120000480c00810005b7004204315639d00320427bdf412266631909292d28b172fc63a23683f1000024000088c1201b00547093c543bd6087475958ab205d1a982064ae8a041b880001000024000088c0e01982f383adca1562000048000100002400008c80201b00565a117400720000480001000024000088c0e01b00547873bd40a0480001000024000080001592000b6a02cf402e8000480001000024000080081d12100b6e0e870875a8100100002400008000120200b04c01694855e001d8000100002400008000120303a04c0161c1dee502b1000024000080001200004648100d882b2d00ba0031000024000080001200004468700d882a3c31d6a0502400008000120000480802c10005b50167a01740002400008000120000480c0e810005b7074b843ad4000080001200004800010900502600bca422f800e4000080001200004800010181d02600b8e0e77a8150800012000048000100002b240006c4159e805d0010800012000048000100002a343006cc1d1e10eb50201200004800010000240401608802d280bbd003a0001200004800010000240607408802d383adca1562000048000100002400008c80201b00565a117400720000480001000024000088c0e01b00547873bd40a0480001000024000080001592000b6a02cf402e8000480001000024000080081d12100b6e0e870875a8100100002400008000120200b04c01694855e001d8000100002400008000120303a04c0161c1dee502b1000024000080001200004648100d882b2d00ba0031000024000080001200004468700d882a3c31d6a0502400008000120000480802c10005b50167a01740002400008000120000480c0e810005b7074b843ad4000080001200004800010900502600bca422f800e4000080001200004800010181d02600b8e0e77a8150800012000048000100002b240006c4159e805d0010800012000048000100002a343006cc1d1e10eb52a3c8155efbca3c4bb26292961e825ea6a4491bc6ce8534d4dede1c387a232421c1000024000080081612100b6e0b06005a14060efe79feb4e999272e54a695717fe7af14224932e0c434928c3cdfffdcfd8c4e4d8b163fafafa227342241000024000080081e120a0d4d585be8ce002024040fa042e5ebae4edeb7bfce64dfd575ee9477a47c796c58be73b38444747f79313928100100002400008489500d88252c509c280803081d8f8f8e4a34753af5fd7d0d4144ee9be4383c7fbb76eadfde38fb367cfbef412b8eabbc94008080001200004468000d882230019aa18d304fcd6af6f6869f9d78913e228e47ef3cdc1bd7b6fddba45a150c4e581782000048000100002c344006cc161020b62810097407b7bfb7c27a7f91e1e011f7fdc1b4a6541c1a6fffbbf8282027373f3dea910030480001000024060b809280f7705201f088c7102aaaaaae7188cd7e7ce35b7b676f1f010a4c17af02060d5aab4b434300405b14018080001200004469200f805479236d4357609dcbe7d7bf1d2a547f3f3cdacac480a2f5a5bd7393afafaf8fce31fff18bb5ca0e540000800012030da04c0161ced1e80fac70c81d4f4f48f2323bfbd756ba28e0e5a21f2cfb56b355455fffbdfff8e1900d050200004800010904502600bca62af804e8a4a20e4a38f6efcfc73e24f3f9df9eaabf3a74fe7e7e7ababab2b6a63a15d400008000120201704c016948b6e02251584c08b172fde7277d7d6d3bb969383468d0d0c0c14a461d00c200004800010905b02b09999dc761d282e8704d0f681dfa6a575b1d9a74f9f0643500e3b10540602400008282001f00b2a60a742938000100002400008000120202101d85346425090ad7f02e834c3cefe73410e20d00f017410cbb87eb28c68323a495af461d223aa05542696001ade92a9112e7860c47615248c088141fc0b055b70447a666c54d2866187f7ef1f1b6d85560e3b81ad5bb70e7b1d9255f00cc38ec1832d19abd1ca253b4f0b22000fcc683d0650af208101fd51802d28880ec25220e022335fe152680c88180d02686575b6ecd95ef0608fc6b320519d79b2f7b420bde18191a8f320d3301018c4bf5099f2ac0f03121009048000100002400008000120209e00d882e2d9400a1000024000080001200004149d00d8828adec3d03e2000048000100002400008882700b6a0783690020480001000024000080001452700b6a0a2f730b40f0800012000048000100002e209802d289e0da4000120000480001000024040d109802da8e83d0ced0302400008000120000480807802600b8a6703294000080001200004800010507402600b2a7a0f43fb8000100002400008000120209e00d882e2d9400a1000024000080001200004149d00d8828adec3d03e2000048000100002400008882700b6a0783690020480001000024000080001452700b6a0a2f730b40f0800012000048000100002e209802d289e0da4000120000480001000024040d109802da8e83d0ced0302400008000120000480807802600b8a6703294000080001200004800010507402600b2a7a0f43fb8000100002400008000120209e00d882e2d9400a1000024000080001200004149d00d8828adec3d03e2000048000100002400008882700b6a0783690020480001000024000080001452700b6a0a2f730b40f0800012000048000100002e209802d289e0da4000120000480001000024040d109802da8e83d0ced0302400008000120000480807802cae293200508000120000480001000022341a08dcdeee47030150d4d75b04c4602b8601d405c9006848100100002400008283c01d6c51df4c4126c92404327500c0de7d8bde9f58ebd859e4074bf4116f3c75bfa8b687a83b6263a1a2e1f8a4bfd26fa26935bd74c9700bf4f76aca0598cebb772c820250283ee3d29d50f62800010000240000800819125f0a42aaf22af57958cb4d4c860af943b91eb6d7ba58988682ccd3ce04bcf60baa437d3f4b444649020aa3e7db5e11e8650c68abce488bce4b331f9df843a0925c0cdb01180f982c386160403012000048000109049022a3cad66d27d97fbfad25c5c78115886ff9cf4e226feadf8002b2718198228dd50992f4e7c6e9129cd45697c43d02b2a212625d18fa7c8cd30e78b956c91a52052ea04c02f2875a4201008000120000480805c10a0effe2ed54a9d50955d93b1c9242a0d0feff930d52d779b0e11ddc9aaffb5e0f683c667e84e73aa9999b58d911e5ea0b9e6972aae6791595152aa6534cdc8401bc58bcb4f08ebf9f6e097eb64945ff6a3d0a5f8d8b4fbfab70d693a7b08c995ff6b5d6c462a87611dac2ae6adfbe57f71306ca291b5f51bd6149efd826afcb3bab903c3744d66e868e1b1640c0a4c3099a1a7a5dcd954ffe783c71d2a94574c347fbd70e5af67aad3ecdfa09a1143e1acfae282eb7f35b66398ea540b3b1b5b63c181e9b6faf2dbd78b9fa2c409535f7772d6d7e655492aad40ef0adb3005ea23680a10000240000800816121d0816c2bd2dc5237f6da57782dcd2117d59397fb80b54d470b7b98bb77896b588f8ab764df0f5a3ae5ac87732a378119e140c5a8090525db9e8bcd6fd6430879aba2c61d5a4e75db6498f18f25aeb3f5b4b557a79559d73e555651d133e7a636979edc41f5ba2924821ecb4c596c8d5b9f6df74e7acc09468190c2467f7b1131bfa7faae09161e11e76abbef03d7e00a41b1d4eddf5f8eb3c26574fc76f4a335fef1828921d9f7fd978a6e886036790cc318b13cf61ae80c04800010000240400a04841c42da562e745266732bbb036397eee31b82549799bcda0e869d6a446e345dde3df9a9aba6dc677ee1dcdcbbe94bbc78f18c3d5ece341d8ab5122de164b1c6542b2b5b5be4d2c3531b727b198228961142d5b95c83bc8118a6a286bf2395f843d5c2312a6a866406fefbf21d2ee32b4f2ee93604a9dc2466fc9aa8cc4e0c6bcc8de61b82335db8a9b16e33ce942be6b035d882fc67030240000800012000048000229077bf96d5f6779db62f1d99806835496949eea9ae4721e4643ee6f5072c2dafacea10ae8de49258dd783b6bc3b8bef28ba63acec0232b3b46382d2f35d867a50965c3ee1fdb8884a2b81d5c8fa06f4256735729a72e663bb7e2ad5f9e4176db402edfc4b2ead3d9197ecb4c73f772cd505a42ceedae92d24785cb4941f1197fb09b723e8f24eea831cce653b92545cc74d2148e48ba30c01a07a2dde8e5055b70f4d843cd4000080c8100a7b3f3a3f0f0274f9e0c5ac6c3274f76868777762ae4fff6415351d8821d2f5e7c1517f7f4e9d341b7f0efa74f63e3e25ebc78316809f25550cd786968ea99138d75ef583ec94ada1be5b9269637d08afbebd475b44dc90651b475b4d5d495fbc92fa6f1464b434b9babf727462de7b9dfc88c3723dd624e566258d39f85e466332e4762b719a141636503f7e834aedd965cfc88f00c8a91dd33da2be353470b63f3a5abadf4ba9efc4da6d237f8d370bfa29e7d481933b3fa51516b8a39a7ea1ab7a55495865f8a7ecc2daf43730689abe42169a1726f15e543c83dac288d8276000120a0f8040282838f1e3cf85574f4a09baa3e6952cc9e3dcf58ac03070e0c5a08149417025b3efc30392eeea31d3b06adb0eac489ff0809a97bf0e0ebafbf1eb410192f88660f1217ddd2144d9a6317edddb4312c4d629d079a1f6baeaf79fcf87153cbc4858111e8f539abe1cfdf6e6484d3530953aca4e0d7ced52e2a14b27e1b62690a11563777f2c5cee17afdd6d08a4deca55f0747b4c166f9ea147e5efe7832df0cd2b3b0269693a02c2abc01f0b41057e1e6e7d5a01f139a7c298a12e043509406413b80c0800874b05b5ad17f3f3483595d70f9d8806440e69127907ff3e6d99327a5526fc6c993ebd6adb3b3b3938a3410229b040a8a8b4fa6a74b45b7d4b4343f3fbfd9b3674b459a4c09e9acfc298ac1d5089dfdd1529ccc3304e95b52de737598966539e788788d079a1feba84c349c412e4039d2d885567d8cd3d233b5f7083d9c923ac31fd5535152fd1cc378e66955532b86fb05f1abee2ed74233d5d22063f0775515ae49f3f7ad5bddb102a1764eb717912716e347351465de6ad236377fc55097d3ca2b159292ae8db563aaaaaae87b425595d3ae8aa11983bcc5cdbc5c72ff0963c472df85d080c11168ab2f4a09f4b456d1b0a750ec291ab3956cf6eecb6ce0ff57189cd05ea55a2a8b0a8aeb7b450f20a2adfcf806259b554a36674a59a8588fdb010852a0ac9c8e8e804d9b42e3e2a4d2a6f0d8d88d9b36c9fc48312b2b90b68a46db805e363629b9dd0f5543eede553636783ccd6643e0f196414169ab3c891e332479efc9f27e05c8dd4388a6136cdab8f1c37ffdabdfa64992e1c33d7b36050428ca4871735363534b53537343436d71e61733b853e866466db3d2c2aaafe14b8ad1b5253f3568bd87b9852ec69da7474677bfe3ff383b3a24cfcf2da96c38cb971bdcb86d5f5513be2ca3935593f5cd7fc9d8990e33c7632a935e26ef18dfc49333083b98497b490b12a3db180878b4aee5dd23b236fd7a8d6b2a922545beab70cd4ac6b7c78bf10c1d95c71de8616ece2b6798143c1e3f955b866e43f7f65cbfde7385d9dd13276e141737a9be3c45e10c41d456b005b91d0e1f638a40ed8f7be71a3ac426f37e02e38d67a606d3692a7ec5d2b207d1c14a7b03ed6738c45eaa1d0adb4e0eeb26c6acc098cf895fb43d6e8722597ecb7e111faff3f2cbeeefbc2395262cf2f69ea4a7979090201569c327e4f9dfe8a088bc9be8c564c69ebdcd9be4d8f1ebd9f40a26138fcf63debcc71adccf99ce96c7e8314392ebeafb3726e5ee21fc322181a2a3b3c2cf4f2abde3eeefafacaefeef7fff5b2ad2465b485e90898ebd8e8ee39429ee73e8195c6d5c3efe8086825a93b956d841e7cde94793a2682647c8997b3ca579ae35860f45c97ac9374afde5e795e37faa2fd8c1fbbb4b0bf6d0d1b0b6519a4d31098be64ed67376a68ec3d4eddfe3e6c98d749b6be3194c53f1094a26454446aec2a7faf146847383e784efd81545d389e8df14d4a2f1aa3e17346795a7e70695194748a1f41447b357dd53482b95b14ec72661efeef0050ea90c464674f4e93fda157204096c60eacba900003fe34944415441fe430981b142007935dcddc278ada56f8989d918c0dbea1e4b5b177246f44c135e01093fdbcabedd1a86ffc39a3651f1e69648c86058b2fd5e5313171d1d9198484a7f8c61837ee19be712d7cec4c4cfbff8a2b67648563b4fd8707df2a737e115c4e7d593465f47cdcd78a1ef67012fc97069225f722bfefc33f68b2ffe999444aadd8416230cf6c537933f4e4e8efce73f1f3e7c285f2804b57dde2c782710a60624de67d86ae331462b02b94b34b0b43dfe4119bc8523683f978bb790675a6bae27693011c51fb719f6935fa0165e9062bbedfb94edbc3bf493bc3bb83c21ff83a506e89e62bf2d33239c9bc064e4f2d4d8c228f3b2c59d7b9ab6abb90b9c31ec5c7cb4809e583b61ae72daeac8e2e42d19a6d86e3e96c0d5bf82c1e06d5ee8b2ffebb5e85fb6f9fad89800d20bca3c1216798e548c1a151fe2c4d544b13ee0ff8662f527b4a67f02acec2f7cc85c3303520e27add7c16f42bd7df7d19c83f1609ad78d18ce42dec0434b7d79e9edbb8f9fa1f9223ae676f6e6c6c4ff48948dd55055fd5707a6f98ab559674d7141413907edb765f1fa5c5b33fc5723bbe9f73b55b8340c7b505e5a55a9a96b6c361e6d8e2f6eef7bf15bea9342fa7e17b7397e5fbbedf72d515653bb302ce0fdf7fd3ffac868fa745c4725a5c94a4a435296286e6466b67ec78e2d1f7c90c9600c49dac8158e2fad89363253efacfb39555ca5fd3d542d35c5370bca5bd0736bfda6256f3f364161e29e2bc13c321e261f98f51f7e88ba1857554949471a0f8c898585f7fbef0707079f387142c60988514f635e6846cc664cf00786ca049d292616661606b8a78dbcb46ca39befd3528efff6540d459a2d59e338bdb9e062294aa418e0d3f44cd71f4a9fb020afa0bc4d43c3d4c165bc9675dff9b962853facd6c7dd5e1678e37ce6cd1b956c4d4d754cc3d0c6f67527572b33de3f5b54d1ea2f6f3f7af7c6f90b2515556dad18c5d4cef59d95e6c4f127843003ff0b8fac4e7c5b78abaa4d4367d6222f573b8ddb670b9e62aa2646b89e26cb3e8b99bc1905cca77307868952cab6db520b96049ccdc8fe1f36096b7d3279d6a2252b693ca97aee4977ac7dcf9c3f7db15943570dd3305fe4b990668dcc4485bcc01654c86e85468927c0be97c71d3ea07fbc873404f1cc7a4efe31e1bfde9bfaa6d302db193ae4df45d3c55dab4278a315a4c479e1195f7db91a998f2df7be2577bac7f01934023f667d530a52d72bff96eac3dbb0be22dec7231edf10dfbe48f4def7589f5bea93f58a7fef6b737c71bbed53c48b93f194ff64643ca8a949f8f04352cf52e9edeee1171aba66f6ec1f7ef8e1fffeefff641c02a9deeda26a77338bfa5b17456adbf7390d686e1433690b7fa04d9484be9e2b51f96534ee9b1327eafefc336e181e98f51f7fec656d9d9595e5eeee2ea38def4b2d65b4af8a795f1978695a668bb7452ce6dda1cfc5ded602775ad4d581d4d582117de717c8291054d3b358b81ebd04a27a05b9797ac5732394f5ecbdb7d97b77273b7a1bf36f34cd9cdc89df02fc187e8062e1e41321ced5a76ce4b43ac849b079fc728a1680316245eb51684fdf04daaacbb9d3a1e96e16dd3f3b51212df72f9382b779dbda5a50f0a9c11dc57b7b1a8228f666b4d79b3bf05de9f93bdd9386e04c723001c5a7f9ff442cf24041c10b2d7013b9f73da5df2df505a5f40af7bd39bee81a7b0991978886e6e6b06ddb3e3b72445959fa3f62d10ac188a4a40fb66e7df68c3f742c93605c7c69c4c396915d8c9ec3f28bc4c429aaafd0de6cfd3d54cdc587ba0d4181f324f80deefbb9e26793f1c0a3a74fc3b76fff6772b28a8aa0ff4b3a5aaba9ab7f9298f8fee6cd2d2dfca163e94806294060e409802d38f2cca1c6d12480a6bd73ab6fee538d864b5f84e5913976e6dc2fedeacabd933293bc8fa7ff5489af77e35ee8fccac6ae5325ad8951bc49871c347f65db859c2832c3bca89ca2d6d6b5c4bc165e19fedef79643db525ff2cdf1bb6be4e920679f68b06f4778b88b87c7ec37de1826d55f7772727cebad4f3ef96498e44b47aca1dd5babe9b8a8b42b7f3695ff4c9882f356bbda0a3879fa7ba8d8d7e288e91018468bc9b98dce93682edbc8ff31838b96fcb9c273cbe6851e98ed6161344fcfe17b60e6b9babebe60c1679f7d269b04402b20203901b005256705391582006fe51bd6e740694b6d4505d1dc9951393e347c7441cf76fd1eeeca32ecdeafdc1deb51fcbc0d7ec441e6ea73bdde25011533ab5140476f0a793b61ca244d75a1cd0b05f6be670d694b7d96a49be30bd4287d8f1ad9cce17ebf5854f4e3e9d33b626286b5a2e0afbe4afff6dbe2e2e261ad6568c2279b3bce272414fe7422a38808d939ce19df3d51a1df731a38cfb93f88e81bde274e5cd0b2f08be3fe74c1e549fc5c1195cbe85bf6f5eb17333377ecd933acfaed888dfd2625a5b4149f42071710905f02f2fac520bfc441f3d125a0a6ab8fdc7bb89d57f51439f7042702df3b99f40b66b5c075b6beb6d6384daea9686fd93de9e4150757e48d414599e57f61a6dc76d8cde26e44d5c9dbd7a0a519b737f17164f2eab52c5960ef7be5416ca9cf938bc6a9fbd91c9f9f53a0467e9c9c05b66fdab4333e9e3269d2b0ea3d5147e7b3afbe0a0808b87dfbf6b0563478e12cec65ebb9c433cc3c18444e54a5be6e3ded710a5f64ff0f156fc4b48a5f66bc9e113fdcef7335b13babec86b6fafb7f9a9c3c81d2e76fbe21abaf3b654ad4d75fbff7de7bb7c46c6e3ce41a400010180902600b8e0465a84376088c7bd9946b0b32c3f24bdff7b4e62d2b63171ff00a22a712ee2e6b5dd2c2b5e07eaf7fca57bef16e09197e75fa647ea4ee249e047e547f01517bdff7bfa5be28a9fd6d8ecf2b2358232f4ece3ebf494ea6af5ce9b874a9d6c4613445388d8d9f7df4517676b60cd36957d3b35e4cc52aba172cad36d7d378c89bfb8034e7f9bec53e54bc0c540d9e55d8d6f248a0c9923e570245642e7870dfbe4defbf6fefeaaaae81af241da6abb3b9392a34f4cc0f3f0c937c100b044686008c118f0c67a8456608a85b7bf126f64550fd2e16d723075e5b4379fa267fee9a126a94a385fab889baa4c63783a30a6af0d9819d0d4587bde2c9c899b30cf9ed69ef3ec1881f271478467c3577bb09851207b0a5be5039f2467922d7278976df57f4cdf1df7070f0a4d313c279db8c89c031d428b439cdbed0d0b56bd7dadada0e55d6f0956f46bf52f45e5f46e5d73033dc51877f8307fa7fa8781660da0fa7c9c1cdfab3d1fc1d37314c219eaba56fbde5606f9f182530f62d44490a37e881f97778387a2c1d1c1c8622ae8dc512f3ff612852a1ace210e864b37a0d2f49b975600b4a192888937d02b6dbffc5db40951132c770b692d2dc29967bd2b86e968d311bf4304ccdeccd483ad91446908946b09fe7ec290edc4df9e9294b2c067008d1cd60076b25a5ef8a9b449191604b7d51c5b871ca66636a73fcaff6ecc9fbe10766113947ae0f2e834caa2928b8909dfdf9e79f0fb2fc48154376c374e765fcda9c9d2d902b90e7ea43d1fd3e545aceffe04ebb4cf5a16ef00b0cb631dcc3e0cb43b6a0823c5707e2e37f3872e4deddbb026d9366b0eed6ad33a74eed19da94c486dcdd7329940302870a4a53458965d59edc65cd3be85292420f8b72ab9ac8edcefbcc8e4e1ca629ad1aecd1887d8a96426273d13e74bce72a9bc0df04dcea845cf6e51d9edc231fc9831fd1bba767d48edd5957cbf9867b6de66ef4bf7deff1f241ab2211c68eca2f34287369fb1a075d8d0405c116940012645130025ab69f3f2a145e38c96da1176fa77be47af14a65f2f3e4a6f1be2a5da23253d7e3b30c79b303bb37b2e7c53c60e3dfcb9ae6f37916272e1c6513bdf77d7f5beaf7ac88570b596fdf9be38bac11d7463eaf891327c6c7c5450504747448f02534c036aa70381f0604ecdbb74f4b6bc083fe03ac6a90d939cd44c1c76da8f17a5467be94b95403146e1748edf79c061da76d89e12ea4849b69c9b9dcdf417804f9f4f6fd5cf57c264941b2f7fef2cb2f7ff1c5179f6ddad4d58556154bf952edecfc68d3a6d8d8d8494399c3ca2e8d758dc4a831de34bc1347f1623ffe0d4d84260fbaec578daae3814b1c5c2f57f434a044146c7d5a9687550cf668441102a519c5be7620181def59c14c3e79b6525830a7a18ac13df2913cf811bda333e8e223c39c2d03f65e2533b31fde4181baff0d72532149312a9b6d62846379c1078ef7505258e5a1ddc17cc1a1f183d2f249609c9e7d7049abc7d57397b30b1a5af136e859382e5cb1dcd440c0e1a7658de729ba70fd42615d632b866f67efe94ab32637e5573372894d4f47678d90fbda2309640c0ae8da5be112d5ad23aaf367fd371b9555d3b1b09fae653259e4def7fd6ca9dfa3a21eb748f13e36c717b3db3eae9d9c5eefac5dfb9fa34753e3e2d0d123a809d62fbd840df16b5e49096d588d06fb32befedad4c464d5aa55b24a4663367e5044bbca04ebf1484503fb2319e9cd982a07ad24c1ad08f218095e6affe734a83b7e999be576fcfce9bbe8c40803db256f2d9f79ff5cf65fed98ae2db975525fcf55af875056996158e0a64d478f1d3b9194b42628086929c507e6ccbe7d7a93277b7b7b0fa5f1bf1d8b3887612107fcd158c4685f03f809d4c1c2ad9f099a12d80f2adcf57912641d71000dd74fa5712bcd8839febe7784602f90f3283666df0f72d4c17f7ea12d673b1a99299f6e0d4bbb19e67c790d67a1316ad300a0f56e9ee418f53d02b750a30ffaec7d676592b9c077546f99838e91c50e1a7463a020101808017553a7d5e8d5671175537b0ff4ea9d671c9abf2fb4ff3ed63b46d35878477b3db17bdff7b1a57e0fb13d6e09c5c46e8edfc76efbbd5b242f31c9fffeb7eddcb96fbdfdb681b131320487e2f241c3f6e48964eceaeab8afbeba7307ff952fab578f8322b4ed570b5a213d52f146f4f150916d3472f20e72ea6eaead9040142ff6b912f51076cb91a9909292d27f0e1f5ee0ececeae93979ea54693d309c070f623effbc6888d315d8a5a9410c8c1ab5dca9db08e96caabc7df567e2d0cba9d66fce37e21d88269a2abbe1b7eb37aaff7a864d98faba8bf344564d5db3c6740b8371a273f78c6dac2c66fe5cded23ec1c4d149454d704f053c67634de9bd92df094d264c7bd5e6556b63f26770737d65754d1dca5076e79787bab3f40db4f1dcec867b25a5d5b57f71da31cda966afbe3e475f5bc0ba3054eb6037149dbbf8b85d75a2d1abd66f58530412fb2e8b942cfbf58fa7cfda35758ccce6d80903e9a82dce2f45bb3aa05fe066f6b3edcdba4fcfc375eae7aa3a9f7213c3bc52b2cd72dcf6a4455e2ede4e9e6e2c58cc60ca14352d2d9e58ed85a1fb76fe98b6270fab7bccc2f8e7910a16e81516d7a1a23162ecdae25be5e5b5c489a676736d8d795d694cdfbdfd203dfedb73a191abcd7a55228508c10e918238100104800010185602a6a6a61f7ef861f4962dfbcf21978a142eb4caf4a3cd9b4343434d4c4ca4200e44c818012b2baba0a0a0986ddbbe92d2d9c1c82ff3e1d6ade830e21933660ca5adb5a70fa02798b6d9936f095665eef6a0470acadcc2280bf2b0108ce187db2a3337cfa0236b46f872496fcea5f6efae625fdee5be55f8804d01390d59818bc29205a60ea0347ae29533813a58d329c319b144d60c7fe70c2caaa02b022b3eea3fc7bf42a03c0aee2c7ce463cf6b599abf639a60b2efb14729b67ab8f9d1dc575976c16ef7a0c83cc1925b90a36e29610cb1ca13e996070513d1041e468469ff6d27e5d5ff1487ebf4c69245b32604ec494b8e4aca5b99e4c1b3bdb875f65a1aa8319e22a84e3f61f11d2a0223a5a1288a3f2b9d14ec1295951561443802f59d56cec3e233bc0ef873e28c707252be60bea094818238200004869b40e8871ffe555575f1d429a9545488ce38aead0d0909918a3410228304223ff9a4fcce9dab52da2ae897b3677ffbf5d79d3b770eada5ac3b27929184b7169993725a8a934843d02f313babfafe91147cc9fc41bae51951675a62684d066908fac6a497dd4f67c49043fb1826e47113a7e1c31fa30843901ac2b8935596bf85bb4e8e9bfde1c92f0943d07777ce9d0b4893f4285c382328bb184d10d45a5e5618b91d9f6c4a8bc9f8be6c030569421882b4a8f4efef57673173b6f85251ea9ef0d3c2d3e8a83bb3f1ba36e245d3d6adf9069fe0da67d9b6f2ef7043901a1093cfbc505db63f26009538e8f669151b7d3665f81186a0cbf6c43b65a8525c6c5ea487df51e14a514ed1574be9d983c8d6a5c6cc3150d677f59d877225c7df6ee8995955456843a286a2ef5289a9e3e84cd19e597bddf7d9a1bd30a2166d229627a21631ef67de6178218a799187be2be50ad69eb514efa6f872625f8b5eb50d35a2fff60cb506280f04800010902a0174bcec37870faff4f2928ad4d0eddb4f9c38311c47d64a453d10327402eaeaea479293df7defbda18b421242b66c3976ec98aaaaead0a475104bbfe9268684db076317240521811bb3eb82971aa080d1fa2fafbca2f1a66b64c4deb36ea9debc614a6e9d2dccf34750d025e64a6aa80e0a5884a6e4ab3b3a077393fbf9605ddb1b8db26cc9c9f627d6ac049da9c66c4c70db08bfd8770bf0fdb576161ef2b4c79d6cfac6117b587756a2e16c7cff2c653d0bfbb936f8a65a0bdc965b59a8b7559ec417f6bb2444477813c3ccc6412969656954ee165d2889b876165ef6b1c74793832f943d55b1ccc80bca2df77653f9b9cfb20461d337163a5923c9faa109b14f5a6e600b90d5d256991d85d4a146e5e69293fc2c8273ebd46c0c0f32fc2f94aff5ec7f9f878e9fbf3d8494f18a5885d3d37ec32f807a3339efccf952fbf5d684bedcb7a8e04d553693c99ba692dc7379042397c4b7f81bd30ae6160af7d3a13d31961fc55b84059cce8a2366049a7d7c3a3d6386cfb9ff5e8f588f371f6939dbcd1763a43d7a8a1e1cf29911aa6f8837600b0e112014070240601408cc9f3f7fc5b265470e1f1e4adde43f547777774747c7a1c881b2b24fc0d5d575a1b3f3f1b4b4a1a84a1a640b172e7471c1bd5b43bad0417ff877bf166fafc7c60785b83ce6ad0b171bd1922074a9b63f20c65debf0bde57ad882683b1b94c36b3361cae099318ad3ea2dd4609e3d4744897b63d7a1b5bd68d0d7d90e373a89cbd87533fd206eeda14b7d715c49695c4773c3a3aae2df1e3daabd7fabe0e649328948472621b1d95d3bbe25b9ba9ad9ea535d5d6803bcc6caf2fbf5f57f57defd3927b78721886c5637c210c4cb2b5b7826d0338219cf5b3ad46cfb2aabac3101cfcff0b7578a5b1eee435bb4684e64ea62e28fb6a1865851cbbc5370f2a46a7b3bcaa5a2da5e43d869cf5b70adf0827d5c2ce689683cb7910ee761656587b206e53553c4fe9cffb7dbd65beb0b16cc4b4b151c8646ded0f0f49d91de120c14f7dfa18218c963abe6c5bcc75f1a32ceeceda2c6156ae8102c417dd009914f70efac709c14eec01694024410010480c0c8133874f0e08bcece274f9e0c7a538fb6274fd0e961870ee11e02b8149ec07f8e1c697ef2a4a9a9495b5b7b708d6d7ff264c58a158787f60b845b35798024dd95eb1664d5fe4298323723fd7b4e017c4c585ea234369b3e45205a6b2a6ecf0844880f12b692959e80456168e786cc2e6e89a6d2447fea41de9d7831dc947b2777aff4129ae68827089a4b79424dd050ebaeb88fb2e38c3db2b263b6bb85a16d5fce45a3172e9516c5d81de1f1e44fc24ac618115e3db5ecdee40bcf2efa7a98974a5aabb1ae96b14259a27f2cdae1cf9fe688617ee9857e8e93893dac381d1c958986c63a5a92594d03ecd0c7bfe39b143e1152465953bb1b143fe5d6ddbf8286610722c95ac5d702024000080001d920808f147ff3cd50744146e410250ca576283bc204d4d4d4ce9e3d3b944ad10393999939140902658983fe1839d5ecf556c834d3986848a4edbe53eda8cb3bcb484545196d22aea92368569112386dc839845596d761b6163c99eca62a5eb09f4f0e3ee30efbad818df197293ffe03b745888b9db58d3004a9f4901dbe5696d35f9969de90eae713dcd3ea2273b7951f270d41daf698e56fcd3534b130d1ad0d9fe220e41a749928686a70305c7974f55bd66869e8a9ae6d0f4b4bee5ebf92fb7dd8b93c2c37923e6f59a3f30462dcd637fd42ec42ac85f0a22287a38a0a1a771fffb236295cfc7bd3b578fc0429a4f0028b89ed6db89daaaaa6569f7de80883197be0a2b77df788bca9b595beb108834cbc705eca003b54773ade8fd3d4796e625c4c474329f389e6d457cc0c04bdc213046f78b50dfd53b083862e0d2400012000048000100002fd1220572570ad224cd970265a19c0c09a9e53f46cb9d60c3295365bfa6001e9fb93c8a978dd32a7d9d350ee8c23991f785be810d1cd45dfc64ae614c4d44d2cf195168c9f4b9aacb843b7ec5206f7804d8cfddb4f6948a2cbb16b676cb95610fbeeafb899a98a09190ce4ba8a3f0bb351d2bc98c284507b4211acb3f2b290218862f3ce94356ce3b9db6a2e1283d168f945df656b3377b9d3a3890994f6fad6f68b03433d77296d8cc6eede7ab07a3e6101d73d18af67c03394d91777b887c463314c867b9f93f93a6b72a2f0615fdf0fa243f903b2b8e64b758f30bcb0b498db316f3bf206cf077f92bbc41dca5d9e421881b9df5c6adc664b7628d6944fa3baa21984999c2453023c6943cfb343ee5fe95fb08e58fa4c41221000024000080081be08a89bcff545e9558ffe263632c6b4ecdfdb8eee639d5765e496b774b01bcb7ffcd4d2078d174f78cd82583a803dfc716f30cd33f124eec0a3d8d337a28fbcb037fdf632cb2b9999fbfc1d84168e08664619852fadb91bf135b97b1cfc2f96d677b29b8af60587e1f61f71296beae29f7937f34a91c7ac8d557379efa610627f996266359183fb569c7dee5e65833ae1a2bbf9e3857bc8cd8876112ccefc64860f9e8371ad8e703f12b9f3362edac1ac6775b26aceecf0c057bd50635cadb5fa2e3b5e7b12ca78c42dec72697d1b025279f54a212e6c96dd3435cb457e289417e61f9854d5c06a633514ecdb14128f4c3cca3413dc80adcd24586512d30af142ddd7afdfe34d9db9dd67ba7a77241e3276dd894c648c79e2a48436b570f19e77fd77285982c4a869bd14ef5066d847bb4e3e64b1db1acad3b7ed4011f3627c4943104d14acc8c65db353260a2d6d26850cfd1d6cc1a13304094000080001200004064440ddda0d1964cc9b253564317d8fa858fc60c0bc28574b7b158d372dddf0fd33a9511f6eb6253334317fcccd635cfce329716bfc415d0e7eca655a988fe50c1f3a3a4b8d7b91a6a570665e1aefd3d47b0fb1430b23846a385b436763703299824fb6fbfff6ee05aee6fb7fe0f837ba9a42568cb54c18dbcae45213a644172abf648c6cfaadd1cf65cc2ed868bf316b7649612333b1cae697990ce55686fcc2f2a3b6b161f8676cda6ab2a514fd3fdf732a473739eaf4edf4fa3e7a74bee7fbfd7e6ecfcfa1f7f97cbe17c3ee012be528f5233f873ee259ed169dc49336d47bb7ee91a343b118aac60bb7ce1eeddf6556b1fb04b91a29a1fed666f646666ebdfde46acb4beca97305e241d997d5ef3222c677b478c2a2d3fc081169f9addcf2a218fdb2f1a829ade5c0c0597270163bdda1631f01d265907c194760b497183735b49b7622be9b24fdb42ac4d7daa28f8575c80cb992c1091faaefad78f5a46c75e49cda4a5d03d5efe2939fcf96232aff094e15aec91017eabacd94c3f1e4194bc46d6bfe964742e56787d6b0a81ff2a97e6c63e5c3eed8a19a8c678b6d5f50b5e870d8e86116667dac7bbc1b2ba026cd78616069ce05e732e48acf7ddcae420c5bb9646db6186a93883408208000020820700f023643c7f49356c5ccff32d857755f18c97ce83bc93b03929236eec896cc4c24b3ae83460ef654df4f442ee641dfb7165b07b7eddd597e535c5068deffed6b979fd9fbcd859ceb469676bd9d8c965bf68e77f5528d8bdd7eb09ca0c2d2c63bea5a8f319b76ecfe2eef8f6b564f8df51bda227d5b66c7cef298d3a393a3b73feab76d53aa783ea1496bdb5e5efe4e5df35337a55e69a99a99154f381cf7719cf190f49f2f1bb7eadeb2a56358ce69b798f5ff3b7bcd447e9ea1cb90916e37d293524fe47412d3b7e6dda6c6c74d68e7f498d5f92fa3764b22006ce5e81714f0807af6d9bcc6b45287a0e46b039237edd97d24ef9a6462f9c0a32e5e83ca9e02daa27bc09779e752bfdc907afc9228d7a4fde343027cba76289dd5ee346a66bfd9f24c70a5c562445cdc40c9b2af439b4abba40786cd5c16d7375fb26c2999f55f9eb0304bead9ad34c3ca078b2df2433e2d82db3aab7aa48a23eed0a1b7318a47d8cb2d3abd77fd9787cf175a48d7cc1dbd7c460e2cbf5d64f6decfe3c5398e91010f5451501d6c32b8972738d541f964a147026242e09365cb5ca74fd7a336d1940610105f7b13972d9bae980f529e24ade383dd001f84da1699a2a44f8ba874ad3f30c5a9aff70e09cb58989137b2c653dc2a43e41f5dead47b8614187f2c26403dbe9593bc50dc8c50725d792879b27a4eb972aaa6b3e5c6c5fdb33a0e6a1b7fba9e9ed8a673c9dc3837cb77535cd7e524979d4d5a5315b4f82f9439e29a40d987000208208040fd0818babc243f2f44dc4d5a3df75afb525a3ceaea268e8e1d3d69f2c2ed5bb6c42f9c2c07826292f4354f0241e1f0f3d71f263b2c7e61a45ded49957c647ee67fc44390fb2d0eab4d20a85d439823d6ce8d54082080000208dc9b8095e7bbd181fe41e3d74ff30a2abf1b736db234b57f332dee2fe7f18757851e2e3dd94f9a109d36cdd3b636a9f5fe98ae9337674ed69b565efccc21449266ce7bb1f44aedfa6818b1607da892270208208000027716e83af193edbddf30559fe577e7c36f1d61e934eed312ffecf3bffc75ad4832326b676bdb82bfe7b778f469cdd2efc4e9a7c56daec5d46fbd2d7c76ea8d968c114000010410b88380a98d7df73b1c52ed6e532b5b3bab6af7b2433f044c1fe85eef93dd9c2fa81f9f155a8100020820800002086823402ca88d1a69104000010410400001fd102016d48f7ea4150820800002082080803602c482daa891060104104000010410d00f016241fde8475a8100020820800002086823402ca88d1a69104000010410400001fd102016d48f7ea4150820800002082080803602c482daa891060104104000010410d00f016241fde8475a8100020820800002086823402ca88d1a69104000010410400001fd102016d48f7ea4150820800002082080803602c482daa891060104104000010410d00f016241fde8475a8100020820800002086823402ca88d1a69104000010410400001fd102016d48f7ea4150820800002082080803602c482daa891060104104000010410d00f016241fde8475a8100020820800002086823402ca88d1a69104000010410400001fd102016d48f7ea4150820800002082080803602c482daa891060104104000010410d00f0143fd6806ad508280b1aa1229cb9629a132d40181ba12b84f95111fecbaf2d4fb7cf8c0e87d17eb5f030d4a4a4af4af55b408010410400001041040a03602cc11d7468963104000010410400001fd14608e583ffb9556294ae0ba24e555532153496a59cd2e36238000020820a0030162411d2053445317289424ab66cda46acec7303030b879f3665337a2fd08208000020d24402cd840f014dbd4044a4a32ab8a05db48d28306064d0d83f62280000208284780f30595d317d4040104104000010410d0b500b1a0aec5290f0104104000010410508e00b1a072fa829a208000020820800002ba162016d4b538e5218000020820800002ca112016544e5f5013041040000104104040d702c482ba16a73c0410400001041040403902c482cae90b6a820002082080000208e85a805850d7e2948700020820800002082847805850397d414d1040000104104000015d0b100bea5a9cf2104000010410400001e508100b2aa72fa8090208208000020820a06b0162415d8b531e0208208000020820a01c016241e5f40535410001041040000104742d402ca86b71ca4300010410400001049423402ca89cbea026082080000208208080ae058805752d4e790820800002082080807204880595d317d4040104104000010410d0b500b1a0aec5290f0104104000010410508e00b1a072fa829a208000020820800002ba162016d4b538e5218000020820800002ca112016544e5f5013041040000104104040d702c482ba16a73c0410400001041040403902c482cae90b6a820002082080000208e85a805850d7e2948700020820800002082847805850397d414d1040000104104000015d0b100bea5a9cf2104000010410400001e508100b2aa72fa8090208208000020820a06b0162415d8b531e0208208000020820a01c016241e5f40535410001041040000104742d60a8eb02290f81a6217053924aca5a5abe52b6e1d6ab7ad78db20dcdcb56784500010410404037028c0beac699529a9cc00b2121860606ea9f56060692f8a96af9536c2c3b4c1c2c96acacacaa0e641b020820800002f522402c582fac648ac05bf3e659b76fbf223131b3a444feb929060aab5ec42e71c0b13fffb4ebd265cd9a35363636551fc756041040000104ea41c0a0a4a486f9ab7a28902c11683202696969de3e3e6bf7efefdcbd7bcd8d6e76e3c60c6fefc71f7d74c99225351fc95e041040000104ea568071c1baf52437046e09383b3b7ff8c1072ffaf85cc9cdbdb5b5d29a983c5ef1ca2be29fe2071f7c5069271b104000010410a85f01c605ebd797dc1178e9e5970f6564ac484a6adebcea2b43f6ad5dbb64d1a223478eb46edd1a2e041040000104742c402ca863708a6b7202376fdef4f0f66ef7c8237322232b37fedcc183417e7ea9a9a9ddba75abbc972d082080000208d4b70073c4f52d4cfe4d5da059b3661b376c484b4adaf4e9a7152cae66653defef1f17174720584186b708208000023a13e0fe823aa3a6a0a62bd0aa55abc4ad5b9f7471e9f4c8238e0306a8216ee6e787f8f8cc993d7bd8b0614d978696238000020834b40073c40ddd0394df640476eeda15f8ecb3b169691d6c6d9b9594cc1b3dbab58585b8894c9301a0a108208000024a1420165462af50277d1558121919b566cd67070f6efee083bd3b76ecddbbd7d8d8585f1b4bbb10400001041a8500b160a3e8262aa93f0241c1c1277ffcf1c2b973e9e9e9d6d6d6fad3305a8200020820d038051a472ca87eb46bd537e4689ceed4bac90ae4e5e5ad58b1429c23d8ab57af268b40c311400001049423d0086241110806bff452744444616121136acaf9e8501304104000010410d00301a55f472c1e90376deedcc3070e086b0241857fe044d45ea8f02a52bdc62020ee7465d218ea491d11400001fd1050742c2802c179efbf9fb479734c6aea80b66df5435c8f5b715d92562f5ba6c70da469ba14983e7dba2e8ba32c041040a0c90a283a16fc70f5eae88f3e8a3d78b095a56593eda146d77057fe8437ba3e5358854d2529912f150aeb14aa8300027a2ca0dc5870757cfce2d0d0cff6efb7eed0418f3b80a62180000208208000020d28a0d058307ec78ed7a64e5dbd678f8d9d5d03ea50340208208000020820a0df024a8c051353532705062efffaeb6ef6f6faad4feb10400001041040008186151057ec296b493d7e7cdcc891ef7dfe794f676765d58cda2080000208208000027a27a0ac58f0d8a9537e9e9e6f46453de9eeae77d434080104104000010410509c808262c153172e78b9bbcf78e71d777f7fc53951210410400001041040401f0594120b5ef8fdf7a143864c9839f31f4141fae84c9b104000010410400001250a282216fcfdea55f178568fa79f7ef6a5979488449d1040000104104000013d1568f858f06a4181e7f0e13dfbf79fbe70a19e22d32c041040000104104040a1020d1c0b161417fb8c1ad5fea1875ee731030afd84502d04104000010410d06781868c058b4b4a02264c909a377f7bed5a0303037d66a66d08208000020820808022051aec5ed33725e9b929537efbf5d795898986860d560d45760a954200010410400001047424d03041588924bd386fdeff0e1f8edebbd7c4543c899e05010410400001041040a001041a20161481606878f8b68d1b3f3b70e03e73f30668344522800002082080000208a8041a20160c5fb366756464ecc1836deebf9f5e400001041040000104106840015dc7829f6eda14f6faeb6244b05dc78e0dd86c8a4600010410400001041010023a8d05e377ed7a3524e4935dbb1eead2057d041040000104104000810617d05d2cb8232ded85679e59be65cb233d7b6ad36c71d719ee3ba30ddcdda7313028b929aef3664100010410400001fd17d0512c989a9939d6c7e7bdf5eb9fe8df5f3bd44ca213ede0ee3e953d31f7dda39102010410400081462aa08b7b4d1f3f73c66fd8b0f92b56f41f36ac9132516d0410400001041040402f05ea3d163c7df1a2d79021e259c3c30202f45290462180000208208000028d57a07e63c10b7ffc316cc89071d3a68d0a0e6ebc46d41c0104104000010410d057817a8c05b3af5ef5f0f018e2ef3ff19557f4958f762180000208208000028d5aa0be62c1ab8585de23463cdeafdf8c458b1a351095470001041040000104f458a05e62c16bc5c57ea3475b75ecf8c6f2e57a6c47d3104000010410400081c62e50f7b1607149c99889136fdcbcb968ddba66cdea3effc62e4efd114000010410400001e508d4f1fd05c51d8a83a64fbf9895b53229c9c8c84839eda426082080000208208000029505ea32161481e0cc37df3c929abaf69b6f4ccdcc2a17c616041040000104104000014509d4592c5822496f4546267cfe794c6a6a4b0b0b453592ca2080000208208000020854295037b1a0080423d6ad8bfaf0c3d8d4544b2bab2a4b622302082080000208208080d204ea26165cf3d5578be6cc1153c3ed6d6c94d642ea83000208208000020820509d401dc4821bf7ec7965d2a44f76edead4ad5b75c5b01d010410400001041040408102f71a0bee3c7c3878cc98a59b37777fe289bb695ec1ded7c74e0fcb5b7c22c1bbbbb966c2c2931ba7f4182dcd4df8f89d61ff7d7decb2b4bcd69abb6fadff71d3d6ab646d6273d7b6b7b669acfd99223d7f226188d18e295d164ab71d63d1b263bb1e7d877a4c18f9709b6a9b5f7866cb942ef36f4f2872b7b0eefaa8e350bfe1014e2d34ca6215010410400001041068a402d50643b5694fea77df3de3e3131613e33860406d8ed738a628fb8704f13637bf5863a3bc7aa3e88fc3e225ed52a154949d96f0534a85fd1a6fbb7591a40ca9fa037ecb2fbe612472abe298e4d8551fcd705d7739d9b19a931b6f5cb9546542292561ebaab02f6626ac5fe26ba2511756114000010410400081c628a0fdbda08ffffcf33f3c3ce62e5d3ad0cb4b8b96dff1de838692b9fff69cd41cf9e7d0b59cd50b5c4529fd1624a65ecb536f4cfd36ae7425272ff55c623fb912ae2b4fe71c522511bbc639b629ad98c382ed7965a9722e6f4f4f1821ef4879ee9d2d374a8fa8f4a2ae9f6be4372525c78a8ad43fdfe6fdb27ae54c71e84f117efbce14544ac386a62150707441cf9ecfbbb98dea393923f7f6261764be57b6eb58fafae70d7a8e32e8b939f3eaed07f10e010410400001050968392e78fad225ef2143fef5e69b9e63c6d45f6b9a9bb6b1302dcdded2baa3586b696d6d616a2e956d94cad7ccacade5032dda58b769a131e79caf4efdb0755b73f3f2595d8b36bef3d322b73acf908e5ffa5ba4511f53e56f0b13515473c352a5e6e61d9c262f08dd10b12045ba7ce55a79e93772cf7cbbff7f7ffc755d326e6fff547f1bab5bf5930ab27f3892fe4b564e9171cbf68f3cf698bd9d7a34f146eec59f2f5cebd8c3f6ef13ff3d969955646cd9b5af5357dbb2e0555599c2ec93c7fefb5de56c4bd3dadb159fdc7f20ed8c2472eedeaba7a35df3f2265453a87a7f4db52dcf81951a044c6d6cda66c4cb03d22949fb5f77f0b52d3f36e748624c4686fcd675e4fdc657e5a16549fabba8e2e077f9f1ac208000020820d0e002dac4821772723cdcdd9f0e09193d69d23d36c0d8a8e22da94d8c6a9c7a2dd4aac03ca9c25fe3e6ad6a2ca5a6420afe52ef2d2a3de8ec9685be7ea19a29a6269c08f1ed2eb6dc389f34a993973ce55dbeb82ed8be7dbe8da9f4634ce0981915a7b7dd22f785bf385015d2151f8d9afa5cc8aaf2746225382e63c6387bb152655a69525c6ad43811d7d650a8485b436d35cb62bd46012bf7e049e12972efc4ac4999e63bb1ec6b4671c6a63875c2d1c1c3ad8c0ef5739007b3ef33d2e65f598d156027020820800002752670d773c4bffff59797a7e7601f9fe767cfbef75a24ad59ba79ed5acd9f2fa236df7bb61573b030b92df42bbe98b8e463f9180b933bfc953e7bf9b7dcdc9cec6cf5cfa59387e2278f09974338874e36f2f063fed1287520386165e2f673a75747cf151b3ff2eba19a16bcfaf50c39101cb1387ed3e9735bd2e2473b8881a4d08fbf38298e3132918739c5d26dd2ca4dbffcb22161b1584f9e31e88ba3f2a4637672983a109c102d67bb523531bd7abc43f4fe6cb15723ede2d5e9192b55854aabc6ef90e7226b2ab4c6da8a8c596a2b6033748cea9c04494af82c53ee13d55290b12342352828b97a0cb533e934f4df1b3e9eb7e163974eb7bef0145e3c99ba71fdf6f5ebb76f49be945bfa0da530f7fca9cc93e227afec2b4bce9993a74e669e3d79b1f41c86e2ab599999673333b32e32dd5ca6cd2b02082080401d09dc2116aa504a7e61e1705fdfeebd7abdf4eebb157669f7f670c4ecdb86cdb4cbe58ea91282fefdd2f1d2f9d7fcdf0fad8afd4995644ea85fd9884e35596484fa5ade36e6a73e6e6ae226970e82ae20352a446c094efc65866707b16233f19d6f1e327b6a48e8fcf7bef68af191e470d161a0af47573b73c9cef68d0d71d7e67ce3f8d0adc840728d8c8e9a2c4f52fbbeb63dfe92f7e888771724fc63f3a8bd4be54227249c7ecdd74ece76f2922de6f9bee357857fb86ddcc089628bbc0446c744a946a41cedd75d4e7b6e76ca75792e529c6629f6555968cdb51d775bb8ac2a815fd50a58f5f509940ec78afd293bbe39e314207753de91dd5bd50902839fb012df133ef7ee3d436c98959613e4243e7dc53fac7d754c5084fa10f5ef5989a7833ced2e26cef31f2fe73575cfe510372ba920f3ad2e0ec9f2110eeb728e8bb35ef3d257783bcb5fbdfa45a67ffaa2a3bc87050104104000813a12b8bb58705f4acae5acac9716cb835875b28c888c1fddcbb2a86cbe553232baf6bfd8e9336e9b1bad9382b646dcf6375872f05bb83c7264f9c525d597e11638a985949f9f119bac1ef191666ec95bf2b01c6f8925e7429afc927164e7ae1c6355238caf5f50c599bf5c2d94cc5adf2fef9cddc3e253d7c01163fc9cdc87866d1e2727285ba6ce7ba6fc6c451b8f096e5244b25428159c3a90208e081c314c8e30d4cbc33e93dda455c909c72f970d1db9f575280f64cd5b958e324a35157ab1c6da4ac48265d8b5793577193f578a0d1387c6c7ee9e19606721151f2d9b200e1e3f5860e6979ded60acba0e292739ac3c10ece6eaf0538afc790af7ead2e6c4b59143c77793e4ef27bb766786b8b9e59f3aa80a04c5fe8ce33fe53a3ab539bd33495da751c31f55aff01b010410400081ba12b8bb58d0d3d333263adacfdb7bf9b66df6fd4a67c9eea52a8eae231ced4d3573b861754692ea3c169c19776e669b62398c2a2e2a32346bdbc1d64a755a9e66c955adfbad7c2f66b22a488a3eb5fe55fff122a08cd892326d866ab84eba9a754c15201e0e0daa38baf98738b1d17070d88959bf8f098fcdf82925363c451ef89124bf6527a207772f1da36cdf41a3edc57fca1140c2d15f0afacbb74c74b07f5063a76424a922bfe3b9d724f5b8e213bdaa7cc44bf58576acb9b672e5586a2f60e512e02685a9baece3ccecc92e6d4e944d10070e75e950299fdc3d6f87aa363a2cce38e06d6f9e9fb97e82c37811ffcd8fdae9b364a0bfabf46e8af453d8eeec77dcfe3c78a03cf9816fce0639151fdea83eb574415f3bcdcf44f951ac208000020820a0bdc0ddc582a29c010306c4ac5bf79cafef277bf67479ec31ed4b56a5bc5e74eb6a5c75568545da5d1e526345fcba77b1b52d1f45abf1d0db77e689613af5809961d7714b569f391e1c9ab2dacfbfe7b9f4c1b6869259e970dcc2f4732e6dcb2e4f31323214e39c2d2ce5013fd3ee4131c7c72d3dffe3a123e9fb12c2c3443898307d4ccca1e32faa8bf9bbf43a67d53bb3d6e24e375b5d1d3b362ffa436cc8c8fcad402abf8c5a7dbce4e06a652ea92f5e31beaf9ab0a0ba42d387a9070fabad6d6919bcd44ec0dce11f331d92e5130433f67c73be57e794d209e299a31f291d36d6c8e7ead903a5570a3918651f3b945464245d2fdd7d5cdc4ab34dff670325f9db42d8f7e7a7e51f102ba5cbe1a423d9819777a9be72f45b3cac9abb61961dcd2b020820800002772f70d7d78e8822bcbdbd9746448478785c387bf6ee4b6c881479da17aa192c3bcdfd2458ce29637ad0c77296861dbbf9c9ef73ffb6b0b2b57d40f56399b7774ea74e73e67d9d5f7032d2cdc0dee0f5bc36b60e9e0141efc464e6ec938752338e9c2bbb35e1a68da9727ad5927d709b1c4c589848e6364f3888b5d8c3c76fddbc2e477d2e5adb56add447cbbfcb668b6f6d116730565f68718db5d5cc84f55a09183a8e7d5e7d607cc2675fc5945ef33467acfa4af0dbb3303292c77ae52576d69041c15e439ef30a128382f29272fe8a243de43a5afd6ec767b1fb55a1a0984756ed4ddcfae957ea237d7c99205623f11b01041040a02e05b4890545f9cf8c1d1b3a6fde2477f7df7ffdb52eab539e973caa56778bd6b955486868f742fa4ab95a293322368ab96c73a77fce14efc2078d8a4f3e995f5c907332e9df3dc68bf9e2968f756f61dad6421edf0b0b7f6f4bf6d582c282eca3099bc42ec9b56ff9e4ef4f615eefad3d24125e3ab476ce10790e71eacbc35b48568367078af5779d476d3f74beb0b8206bffda5707c9970e8c78d6f50ea39b35155a636d45ee2c772960d17b586904171bfa6e847adc6fe6a0dea52700dc9e993c00ae5e6645c72d8c8e5e1817b7382e2e3c3e7e719cb3542035b7ed335515fb6d0d9dad1a5ff49b15b9447547f484f0d055aa84739d6e7f5a63597ebc228000020820704f025ac682a2cc292121938383270f1d7a25f7d6f055edebf2b76a48f17af95523e529d573c4670b2b8c7a1515fe220eb9505039812a6551d165f9b5fca61caa8de25735b995edaefeb59a842d1c9f5f3957fea31d3fda3ff562f103be0bc2e78a7bc8a52c18d2c3c9c8eca91e5ef21f728705af4c7194242bbfe5f245365b67fbb95998f531b37e4e750d6968d8adeb45c4de982067917098b37cc661b7b9894103e569c087c7852f9c244a4999eddca98f9199f720d5f98893e2e64fb4177bd5149a741a5b6a2ab4c6da8a8c59ee52c0b0fb08d5e370ca93f55be06fa339925cbec3b055fbd275bf9e7ee3464e9c38d2c7eebbfffce7bf478fe61ab7b39667fb3b0c7a5e35c8ac3ecca1bfbd7d5f47f9ee84a54bbf055e0f94adf38a0002082080401d0a54f987abb6f9bf31776e4e4ece346fefa8ddbb5bdc775f6d93c9c7990f5a9e705fd6f5c73a573cb5cae4e161e171d14636032b0cc9751afed6628be0b6ceddaa2ec5bcdbd484b851d7db3fa871c31671a4c86d595c74517be7bbaa9c48d8a2da84862ea19b963d7e489ce9672ecfd29a0f7d2779674052d2c61dd992998964d675d0c8c19ef6ead13bcb81af7dfb8bd79e8d9bbf3b9b23999959d93a0ef019d155e37a9139fb4ed8ffb63325f5ac64f640cf8031831d6dcb5a6735322abdf73fb76f4b48935a9b4985adec87fb393bdaaaaf77515374b2b9d554cd2d35165a536dcb8ae6f52e041e1bfdac14aa1e119453f98cee5b7562433befe8c0d54162f637e139cb9ec18b037e8d0bdd2ace024c48e8b6d86bbc2a8dddb0a7c57b75f27e014f5a48e68f8df413cfbf566ff11cfe44d539b3150104104000817b1330282929b9b71ca47f06079f3c7ffea36ddb8c8c8def31aba693fc54d404ff90d839e979e31d2b46c30d8e606fa0e5a7429c06f9c9b265aed3a73778137458818b91061d579796b720b964be3caeab5af28f2e75baedfe82d9db27bbcf5e2502408d453c293b7d7ed950e2f9f70c3ac5a8764edd773964a0557e66949343886ac3a42d45510fdfd317378d4215bf2ac64913972d9bdeb43e488aef152a880002fa2b50077f5e56af5a15f0f4d373c68d7b6fc386e6cd6b75ab16fdf5bcdb96559809bfdbe41cdfe0021dc6a525763df397b82ed8c86e70792028aa6562e31a1e17572419978de05a7947a5db076edeb669579e595b7908d97de460b7d2216455336c9fd997f0f86fd7a5eb2d7bf595736ad1c367659c79bef88665e9d87402c106ef512a800002083435813a88059b356bf6c5faf5c37d7c164c9af4efd5ab0d0c0c9a1aa236ede5cecedaa829318d9593a7b75315156b6e653f54f5fc688d7d86360303420606686cb96dd566a0ef6d378d34ece0326edc6d47f006010410400081ba16d0feda11cd9a181b1b277cf5d5851f7e087ff555cdedac5727d07562f4a1bcbcb10e555e735a5d22b6238000020820800002752c5037b1a0a8548b162d7624261ed9b973d5a245755c47fdccceb085b979f33a1896d54f1d5a8500020820800002ba11a8cb60a475ebd67b76ed7ad2c5c5a24d9bb153a6e8a6019482000208208000020820a0b5405dc682a212eddab54bdebddb65e040f3d6ad8773aa93d6dd42420410400001041040402702751c0b8a3a77ead469f7ce9d83060f6ed9aad553c387eba4151482000208208000020820a08d409d9d2fa859788f1e3d12b76d0b9d38f1db7dfb34b7b38e000208208000020820a028817a8905450bfbf4e9f3657cfc2b0101dfa7a72baac15406010410400001041040a05ca0be624151c0e0c183d7ac5e3d6df8f0b33ffe585e1e2b08208000020820800002ca11a8c7585034d2d7d7f7c3f7df9f3c74e8a5fffb3fe5b4999a20800002082080000208a805eafeda910ab2cf4e9870e5ca9517860c59979adad6dabac25ede2280000208208000020834a040fd8e0baa1b367ddab4e70203ffe5e171f5ca95066c2a45238000020820800002085410a8f7714175796fbdf9664e4ecef4112356eedc696a6656a112b5796bdfac995452529b2339e65e0578a2f4bd0a921e0104104000814623a08b714135c6d288881e9d3bbf3c6a54515191363c252cba12b879539b0e220d02082080000208344201ddc5820606066bd7ac69656cfcc684093789361ae167852a2380000208208080fe09e82e161476cd9b378fdfb021fff2e5453cad58ff3e4ab408010410400001041aa1804e6341e1636262b275cb9633478f46ce9ddb08b9a8320208208000020820a05702ba8e05055ecb962d772625ed4f48887eff7dbdb2a4310820800002082080406313d0d175c415582c2d2d9377efee3f608045ebd6a35e78a1c25ede22800002082080000208e846a0616241d1b60e1d3aa8c3c196ad5b7b8c1ead9bd6520a02082080000208208080a64083c582a2129d3b77deb563879bbb7b4b0b0b170f0fcd6ab18e000208208000020820a0038106385f50b355f6f6f65f2724bc1e1878ece041cdedac23800002082080000208e840a0816341d1426767e70d9f7f3e73e4c81f8f1fd741832902010410400001041040a05ca0e1634151157777f7552b574ef1f23a7fea5479cd5841000104104000010410a86f81863c5f50b36dfefefe7f5eb932c9ddfdb38307db75eca8b98b75041040000104104000817a12504a2c289af7cfa0a0dcdcdcc9eeeed1fbf7b7b9fffe7a6a30d922800002082080000208940b28628eb8bc362fcf9a3566d4a8299e9e7f5fbd5abe9115041040000104104000817a1250562c281ab9e8edb75dfaf59be1eb5b5850504f6d265b04104000010410400001b580e2624151ad151f7d64dbbefd6b63c6141717d34f08208000020820800002f527a0c458d0c0c0202e26c6b8b8f8cda0a0929292fa6b3c392380000208208000024d5c4089b1a0e8124343c3afbefcf28ff3e717bff86213ef219a8f0002082080000208d49f80426341d1605353d3ed5bb77e7ff0e047a1a1f5d77e724600010410400001049ab28082ee2953b91b2c2c2cc4038b9f747169656959792f5b10400001041040000104ee5140d1b1a068dbfdf7df9fb2678f73fffef7d84e9223800002082080000208541650ee1c71795d1f7cf0c113df7fefebeb9b959555be9115041040000104104000817b1750fab8a0ba85e6e6e6090909f7de5a7240000104104000010410d014681cb1a0668d5957ac8089aa6629cb9629b686540c010410400001042a08187003bf0a22bc4500010410400001049a8e4023385fb0e974062d450001041040000104742c402ca863708a4300010410400001041424402ca8a0cea02a0820800002082080808e058805750c4e710820800002082080808204880515d41954050104104000010410d0b100b1a08ec1290e0104104000010410509000b1a0823a83aa2080000208208000023a162016d43138c52180000208208000020a1220165450675015041040000104104040c702c4823a06a7380410400001041040404102ff0f595c46e2053a7a490000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The Server receives an HTTP request and routes it through a single entry point. At that entry point, the Front Controller analyzes the request and based on it invokes an Action of the appropriate Controller. This process is called routing. The Action Model is asked to return and/or save submitted data. The Model communicates with the data source (e.g., database or API). Once the Model completes its work it returns data to the Controller which then loads the appropriate View. The View executes presentation logic (loops through articles and prints titles, content, etc.) using the supplied data. In the end, an HTTP response is returned to the browser.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Client-Side MVC & Single Page Apps\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Several {\field{\*\fldinst{HYPERLINK "http://radar.oreilly.com/2009/07/velocity-making-your-site-fast.html"}}{\fldrslt{\ul
+studies
+}}}
+ have confirmed that improvements to latency can have a positive impact on the usage and user engagement of sites and apps. This is at odds with the traditional approach to web app development which is very server-centric, requiring a complete page reload to move from one page to the next. Even with heavy caching in place, the browser still has to parse the CSS, JavaScript, and HTML and render the interface to the screen.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In addition to resulting in a great deal of duplicated content being served back to the user, this approach affects both latency and the general responsiveness of the user experience. A trend to improve perceived latency in the past few years has been to move towards building Single Page Applications (SPAs) - apps which after an initial page load are able to handle subsequent navigations and requests for data without the need for a complete reload.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When a user navigates to a new view, additional content required for the view is requested using an XHR (XMLHttpRequest), typically communicating with a server-side REST API or endpoint. {\field{\*\fldinst{HYPERLINK "https://en.wikipedia.org/wiki/Ajax_(programming)"}}{\fldrslt{\ul
+Ajax
+}}}
+(Asynchronous JavaScript and XML) makes communication with the server asynchronous so that data is transferred and processed in the background, allowing the user to work on other parts of a page without interaction. This improves usability and responsiveness.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 SPAs can also take advantage of browser features like the {\field{\*\fldinst{HYPERLINK "http://diveintohtml5.info/history.html"}}{\fldrslt{\ul
+History API
+}}}
+ to update the address seen in the location bar when moving from one view to another. These URLs also make it possible to bookmark and share a particular application state, without the need to navigate to completely new pages.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The typical SPA consists of smaller pieces of interface representing logical entities, all of which have their own UI, business logic and data. A good example is a basket in a shopping web application which can have items added to it. This basket might be presented to the user in a box in the top right corner of the page (see the picture below):\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000001cd0000016708020000004ba085c20000181e694343504943432050726f66696c6500005809ad59793c55ddd7dfe7ce2ed774cdf33ccf32679e336626e29ac71bd725a4c1900a0d848852c85834084909a122190a85d22044a59032bee77aea799edf3bfcf79ecfe79cf3bd6bafbdf6da6badb3f75afb02c0534f8a8c0c4730031041a6521ccc8d84dcdc3d84b0e3000f708005600196e4171d69686f6f0dfecfebc73080688d43f23459ff27dbffdec0e21f10ed0700640f37fbfa47fb45c0b81e0064935f24850a009a264f6c3f359286cfc0988d022b08e3321a0efa0b37d1b0ef5fb8779bc7c9c118e6990400c7402251820020ccc374a158bf20580e2303001856b27f0819ee2604633dbf60923f003c3e308f5c44c43e1ace84b194efbfe404fd0b9348be7fcb249182fec67fcd05ee090f6c12121d194e8adffef1fff988088f81edb57d09c04f86e830472bf8cd01db2dce8f64ea08632e189f0a0eb0b4fe4d2f8fa41a39fca6b784502d9d60cc06f33c0f8eb170fe8d6762c29c0d61cc07d3d7c3f659d1f8613b21b8c8beb676306685b1985fb4316c7bda5808f5846027d7df3cd6fe0126a63086a308e146d9e7f0873f383ad6f10f3d2121d8d8f60f7f286917cddf8c307f3a8902a36d7d10f901e1e6b4714560fad548aa3d4d4fda587de470dbdf73417c08a498d17868f4d580e8edf9d2740ba6063b59c0745867243395e244e381e788e40b0c31b38431ac1b52299862f1876e1019be1dd3705fa41325c681660731180706909d6936a4d1d3fd492634dbc2364116013340021410007c01196c0021600d8c81c9efa7104c27c3343fb00f84c3374588e94f0bfa237a00fd0efd023d897ef98706f7fccd0742803f8cff92f5affe30dd112480cfb0d40010fd6734140f4a0fa583b2869f06f0ad82d24469fd69eb9b6f9cff837feb1a04f795ff2ddbe8b7f6b1ffd6de3b2499f2dffaf8fedde37fea64063ec01608fac3a154a334abb4fea7ff3f33c698624c301618338c34f238f216b21bd9867c8c6c41360221642bb209d98bbc47c3bff5fa330a09a6d0ac42b37034b082ad180062b67f91ff8cf71f568af99be3b70446194635e000f7228330b82de4ef115cb6b50ef91f5262600e5f78c45098d7ea6f7ffcd60b25015b570d6584d285ed0cdb18c581e201f2a81db0c50d51fab00fd460ea3f5efccfd9c883c06d6bc76ecf250c7c84e711410d88a3c2b1048cf745c653428282a94286f06a1920276449f65390135251525601b4b597c603c0a2c3f69a0a713cfb8716910280560e1ceb7bfea1f94d02d0f80d00ba8fffd0c4a3e14f2b1180ae39bf184aecb63880a2bdd0f0aace047f15dc4000880229d8222a401de80003600a76013be004dcc15e3886834104acf17e900892401ac80067402e380f8a4129a804d7c04dd0085a401be8023da01fbc006360124c8139b0007e80350882b010012242dc9020240ec9422a9026a4079942d69003e40ef9404110198a8112a1142803ca86ce4397a12ae80674076a831e4303d04be82d340b7d875611480403820dc18f90402822341186082b8413c20b1184884224205211a710f98812c4554403a20dd18378819844cc21969100498fe4400a23e5919a4863a41dd2031988a4200f21d39179c812642db2198ec521e424721ef90b85411151422879d893162867941f2a0a750895893a8faa4435a01ea286506f510ba84d3401cd8796456ba32dd16ee820f47e741a3a0f5d8ebe8dee84bfe729f40f0c06c38191c468c0d1ee8e09c51cc064622e60ea300f300398f798652c16cb8d95c5ea62edb0242c159b862dc05ec5b66207b153d89f387a9c204e056786f3c09171c9b83c5c35ee3e6e10378d5ba363a613a7d3a6b3a3f3a78ba73b4d5746d74cf78c6e8a6e0dcf8297c4ebe29df0a1f8247c3ebe16df891fc72fd2d3d38bd06bd1efa60fa13f429f4f7f9dfe11fd5bfa5f0cac0c320cc60c9e0c310ca7182a181e30bc64582410081204038207814a3845a82274105e137e32121915182d19fd190f33163236300e327e61a26312673264dacb94c094c7748be919d33c331db304b3313389f9107321f31de611e66516228b328b1d4b044b264b35cb639619562cab04ab29ab3f6b2a6b296b07eb7b2292284a3426fa11538865c44ee2141b864d92cd922d942d83ed1a5b1fdb023b2bfb0e7617f638f642f67bec931c480e090e4b8e708ed31c373986395639f9390d3903384f70d6720e72ae70f17219700570a573d571bde05ae516e236e50ee3cee26ee49ee041f1c8f0ece6d9cf7391a793679e978d5787d78f379df726ef2b3e049f0c9f03df01be52be5ebe657e017e73fe48fe02fe0efe79010e01038150811c81fb02b38244413dc110c11cc156c14f42ec428642e142f9420f851684f9842d8463842f0bf709af89488a388b248bd4894c88e245354503457344db4517c404c56cc412c56ac45e89d3896b8a078b9f13ef165f91909470953826d1283123c925692999205923392e4590d2978a922a917a2e8d91d6940e93be20dd2f839051930996299479268b9055970d91bd203b208796d39223cb95c88dc833c81bcac7cad7c8bf55e050b05648566854f8a228a6e8a198a5d8adb8a9a4a614ae54a634a6ccaabc4b3959b959f9bb8a8c8a9f4aa1ca735582aa99ea61d526d56f3b647704ecb8b863548da866a3764cad5d6d435d439da25eab3eab21a6e1a351a431a2c9a669af99a9f9480bad65a47558ab45eb97b6ba3655fba6f6571d799d309d6a9d999d923b037696ed7caf2ba24bd2bdac3ba927a4e7a377496f525f589fa45fa2ffce40d4c0dfa0dc60da50da30d4f0aae1172325238ad16da315636de383c60f4c9026e626e9267da6aca6cea6e74d5f9b89980599d5982d98ab991f307f6081b6b0b2c8b218b1e4b7f4b3acb25cd8a5b1ebe0ae87560c568e56e7adde59cb5853ac9b6d1036bb6cceda8cdb8adb926d1bed809da5dd59bb097b49fb28fbbbbb31bbed7717eefee8a0ec90e8d0ed4874f476ac76fce164e474da69cc59ca39c6b9dd85c9c5d3a5ca65c5d5c435db75d24dd1eda05b8f3b8f7b887b9307d6c3c5a3dc63798fe99edc3d539e6a9e699ec35e925e715e8ff7f2ec0ddf7bcf9bc99be47dcb07ede3ea53edb34eb2239590967d2d7d8b7c17fc8cfdcef9cdf91bf8e7f8cf06e80664074c07ea066607ce04e9069d0d9a0dd60fce0b9e0f310e391ff22dd422b4387425cc2eac226c2bdc35bc2e0217e1137187cc4a0e233fdc27b02f6edf40a46c645ae4649476546ed402c58a521e0d457b453751d9e024b737462ae668ccdb58bdd8c2d89ffb5df6df8a638923c7f5c6cbc49f889f4e304bb8720075c0ef407ba2706252e2db8386072f1f820ef91e6a3f2c7a38f5f0d411f3239549f8a4b0a4a7c94ac9d9c94b29ae29cda9fca94752df1f353f5a93c69846491b39a673acf838ea78c8f1be13aa270a4e6ca6fba73fc950cac8cb58cff4cb7c7252f964fec9ad5381a7fa4eab9fbe780673867c66384b3fab329b253b21fbfd599bb30d394239e9394bb9deb98ff376e4159fc39f8b3937996f9ddf54205670a660fd7cf0f91785468575457c45278a562ef85f18bc6870b1b698bf38a378f552c8a5d1cbe6971b4a244af24a31a5b1a51fcb5ccabaaf685ea92ae729cf28dfa820574c563a543eacd2a8aaaae6ab3e5d83a889a999bdea79b5ff9ac9b5a65af9dacb751c7519d7c1f598eb9f6ef8dc18be6975b3fd96e6adda7af1faa2dbc4dbe90d50437cc3426370e364937bd3c09d5d77da9b759a6fdf55b85bd122dc52788ffddee9fbf8fba9f7b75a135a971f443e986f0b6a7bdfeedd3ed6e1d6f1fce1ee877d9d569d8fbaccba3aba0dbb5b1fe93e6a79acfdf8ce13cd278d3dea3d0dbd6abdb79faa3dbddda7ded7f04ce35953bf567ff3c0ce81fb83fa836d4326435dcf2d9ff7bcb07d3130ec3c3c3ae2393239ea3f3af332fce5b757b1afd6c68e8ca3c7d3279827f25ef3bd2e7923fda66e527df2de5b93b7bdef1cdf8dbdf77b3ff721fac3fa54ea47c2c7bc69c1e9aa1995999659b3d9fe4f7b3e4dcd45ceadcda77d66f95cf445ea4bfd5783afbd0b6e0b53df28dfb6be672e722f562ced586a5fb65f7efd23e2c7da4afa4fee9f95bf347f75afbaae4eafed5fc7aee76f486f346f5a6d8e6f456c6d459228a4ed5c00093f118181007caf80eb22770088fd00e019ffaa8db639e074178279608c81735f13380b188204202fa80a01e7f788bb4849e4791427aa082d87eec690b182d8215c2e9d0f5e811e45ff9ae11b23814995790f4b32eb0de2343b1f873be739ae711e71de48befb024c824142f745b84529622de2ab92ea5291d21532afe4b0f2f20ab68a814a71ca492a475593771c54a3aa0769ecd694d14269bdd6bea393b73346d7594f439fd70061306f3862d4697cdba4c2b4c82cdb3cdd22d9f2c02eaa15d93ac426c0d6dfcedfde7f77b003d991ea74d039cde594eb39b762f70a8fba3d0d9e2d5eed7bbbbc7b7c9e91867c47fcc6fcdf057c09dc0c2686c8855a8405861f8fb84aeedfb714c549d18c76a7c6c564c616eebf1a773f7e306136117150e090ee61ef232949d5c943299b4705d2948f191f773d11917e2ca32cb3fbe4d7d3fc671cb232b37b7298729df30ace8d17f09df7283c57d47f11576c7029ee725dc94c99c815cf724ac591ca335525d54d358357176a89753ad7436e14de7c568fbbadd1e0d2486d3a73a7a6b9fdee8b96a97bdfeeafb66eb521db511d9887749df82e6cd746f7fca3fec7154f283dca3dd3bd594f359e4ef6d53c8be9d71fc00d0c0e160ef93f5778feeb45e770f6086954f325cfcb8d576fc71e8e5f99487b1df0c670926f72e9ed9377c5ef633fd84fc9c351f66dfad5cce3d9964ff57337e6af7fbef5a5f66be5c2b56f1ddf179634978b56047ede5b8d5ed7dbe4deda82fd8f8673c59d200a344178c8043a0e8d20641129882938b76a8733e356b4357a0a7302ab8efd88bb40e78917c6cfd3cfc111009808cc622c9aac0e442a5b2e7b33c714172bb721cf7ede6b7c3302e2827e429785fb457e88f188eb48ec918c963a215d2053225b2a7751feac42b262b89283f20e15a2cab4ea2d3812ccd599d55f6a9468866ba96b03edc73ad93b3d752574bfea35eb1f37f032d4346233fa6adc034743aa99afb98105bfc5bae5d8ae66ab02eb381b0f5b7d3b097b82fdf2ee370e4f1c1b9d4a9db35c925c296e2477470f933d6a9ee25e1c7be9f66e782ffacc913ef84efa4df88f058c058e074d04bf0979133a113616fe2ae215796cdf04bc524f51e6a217a9ebb198fdac71bcf1c20992071412d50fea1fb23cec7cc42f899a9c9652987af3684fdaec71c613aae9ee1907334b4e769dfa7486394b3ddbeb6c5a4e5dee48ded77c50c07a5ea250b7c8f502f5625ef1bd4bd325eca5e66589f0faf7a862ba0a532d51637ad5ff5a4a6d595dd7f5d99b845b2af50eb7431a0e36663595dd6968eebe3bda3273ef572bfe015f9b42bb6a87f8436227e89cef1ae96e7b54f338e749624f40afed53cd3ea967c2fd7c03dc83dc433ccf055e880e4b8d288eaabdd47e653066366e3be1f13aec4dca64091c0f1b1fb4a60e7eec9ee19a0dfbd4362ff9f9f257e58577df6f2d55fc68f9f9654d632367dbff28b85a50021ee02c1887f82117a800fa80d8814847cc226d91cd2825542d5a0ddd8e71c32c6173703ab819ba2bf8387a1f066b8226a3381327338105cb0a11916c68760c0713272f9704b71a8f29af0b5f087fb880afa09b9095f04e1129512638a3ea11bf244196d494fc25755b9a2c232e33227b584e48ee813c4901522853b4509c57ca56d6527eab92a1aaa1fa6ec769353db539f5731a461a9f350bb44cb516b40b75cc75167716eb5aebfed42bd377d0df326830a418a9182d1ad79bc498aa9bae98359ac75be858ac59dedb75c8cac01a58b7dba4da5ad811ec9edb17ed0e72507544380ec03112e362e9caeffac5add5fd8c871f1c2538cf71af1b7b8f7b7bfb689288a4afbebd7e57fdcf04c404ba07e9060b87a04366439f86dd08cf8d88277bed338a948de2a66029cbd1efa8cf629a634bf767c445c53b27681ee04e8412570f4187e98eb026f1248ba6c8a6aa1ed54e33386676dcea847dba570625f3f8c9e253b74e779d19c99acafe7a7625673d77336f331f5fa074debd30b5a8f6c24831b82479d9a684529a57d674e565f956a572957ff5b99ade6ba076475dc8f58b37866e61eb77de8e6ab8d2387287ae59fb6e58cbf97b8fee2f3d106cb3688feac87fd8daf9ae1bfd48fab1dd93f89ecade893e9e677bfbab06d6861c9e770c7b8f72bd5c1d9779ddfa76608a3adbf8e5ece2d2af4734ffff754646db1330ea00949600e00a9f9138d80050260780b80abc7fb402604f00c0490b20b80b00d47e1a40e6b57fef1f8c4006ae2cc3c169b86a7c0156e15dc4040a83ce42b7a017d00a8207a18ff087a3e93a6214aedda4918ec883c84ae473144029a03c51e9a866d427342fda069d846e462f6194301198ab98cf58256c2cb61587c7b9e36ae810749e7477f1fcf81478e5d9433fc2e0cc304c70238c33fa32ce324531ad32a7b230b114b24ab136104d892fd882d9d6d9b33964381e727a73ae71e5736b700ff3c4f272f136f3ede547f35f137013440bd60b050af3080f8864889a8ba1c5bac44f48d84972488e49154bfbca88c97c94ad940b959793ffa2705371bf92be329df2b0ca15d5fd3b1cd5d4d5b9d53735dec359f535ed6c9dfdf03a65a027ae4fa7ffd5e0b961b3513d1c87b74d1bcdee98dfb1b863d9b0eb8655b575b1cd59db543baabddf6e7b0703471527096701172e570e370e771e0fa13d529eaa5efa7b6dbcf7f88492127c4ffaf50710035d82f2835f8672863986674674907f444a46b9508e46dfa4be8e95da1f13d795c07b809a387448f37059126772562aebd18263e2c71bd24d32464f52e15d6a24bb3aa738ef6e016361ee45ad4bbe2559655de55b557a3587afb55d47dd34af3fd150dc74bbf969cba756429b4647586755f7f727a6bd97fa16078c87325ef48c225e298cef7e1d3e99f42efbc3a58f5d339f3ffd987ffbe5da82d7b7a545ead29b1f3a2b993f9fafb2ac59ae1fdca8de1cde5e3f9881227c8e15079f1d748239f854602714086541f5709dbf89104758236210c588c78825b866b74526226b9063287a785fd9872a410da3e9d186e87874037a19a38e89c7dcc3a2e13aba083b8f33c49dc7add0b9d33dc0cbe20be999e84f32b0315c24c8125a18ed19a79992980599db58025809ac8d442f3688ad82dd9e7d9da39ad3838bc0d5c17d80478d6791f7161f955f8d7f45e0ae6092908530b3f09848852855cc589c5d7c46e2be649e54b4b4bd8c822c41f6b35c9f7c9d42962255c95d594f455c9551f5d78e4f6aafd587341e6bb669356bdfd6b9bef3aa6e955e857eb941b96185519df15d9347a62366d3e63f2df1bbf8ac14ad0d6d1c6d03ede2ec33765f70a874ac77ea701e72f9e8baeacee221bdc7d8d3cb2b7e6f1e5c6f0c92bef909f9fb045c0a9c0c160af10e2d0a1b8d60215bec3b147923ea7d343bd5342629f6691c4f7c68424b22f3c1c043f78f70264525f7a64a1e4d499b3cae7ba23a4324b3e814cfe9c22cc1ecf21ca5dc7be7acf327ceef2b425ec82ff6b9ac55ca51f6ab7cb2f26975ebd5fadadaebd5372bebcb1b329b229b1d5a54efb3b62eb4f5755ceb3cd9bdefb1738fde53e9676cfdeb836f9e370f678e3abd621deb9c887c439cbcfecef2fdf854c4347ae6ec278eb9ccf9e52f0e5f2f2c8c7d675ad45872580ef911bd92f033e157cc6ac49acfbac386fea6dc16fbb6ffd980167cc6761234810f100b6400454217a16ee81b7cae63059fe35423c6908c4843642cf21af2038a0fe582ca423d85fd6e89ce440f63443051980ef804251a3b88d3c095d271d065e1d9f1c5f4caf4a30ca90435c20c6331931b331bf3204b0eab1b5198f89dad9bfd32c7614e3fae5ddcea3c12bcbc7c44be0dfe8f0203826d42f5c23522e5a2656215e2d7241a25bba446a5e764b6e4d8e4a515f4159d95c2958faa14abdedd31a98ed350d1f4d63aa57d5f67415754cf553fd3a0ddf0a7b18cc95ed33cb37e0b82a5edae6cab9736a2b6fbec5a77b3387839963b2dba98b8e6bb7df3b0df53ef25b8f7b40f9a94e4fbc55f332025b03f5830242ab4339c3722863c18a912954b59a706c474ece7898b8eef3b209f78e6e0cfc381475e253ba50c1fdd9b3677fcf089a90ca3cccba7a0d3fe671e672b9d2dcca5cb4b38f7b520e8fcfb22df0bef8b1d2e3d28512abd7c85587eac62a38a5afdf96ad0b5f775a4eb6f6ffade9aba1ddeb0d294d2cc72b7f49ec6fdbe0721edb88e9acedd5d6b8f2a9fb8f5e29f763e4b1ad01f5c7fde384c1e1579f96c2c7682e3f58d49b3b723effd3f7cf9e83c5d3633f74964ce7a3ee473e817ffaf260b820befbe5df96efffdd7e28525a5a587cbcecba33f3c7e4cacb8acf4fe34fad9f84bfc57d6af8dd5e0d5fe35b5b582b58d75dff5b60dc18d431b139b3a9bb99b0b5bbbb6ca68fe8f0e5485f708f882188ce064f2f5d6d6a20400d86c0036b2b6b6d64ab6b6364ae162631c8007e17ffdef4263c6c067f5456534d4659c7a84f6fef7f55f7912ca378552f09000004000494441547801ec9d0d5c5347baf00725f25141810515a440110b54621b5aa345d484d60a45c25a52f70a6c65a5c85b3f40ee5e117f85bd8df716615d2b75ed8b5cf7d25d3e5a17f4252c8ad535582d2d58a135a850310245d092152a51484828efccc907e1430c1f09449ef9f1e3cc998f67e6fce7e43973e6cc3c63d2d7d787c001012000048080de08ccd09b64100c0480001000028400e859b80f8000100002fa25007a56bf7c413a1000024000f42cdc034000080001fd12003dab5fbe201d08000120007a16ee0120000480807e09809ed52f5f900e04800010003d0bf7001000024040bf0440cfea972f480702400008809e857b0008000120a05f02a067f5cb17a4030120000440cfc23d0004800010d02f01d0b3fae50bd28100100002a067e11e0002400008e89700e859fdf205e94000080001531d116023b5bd3a2685644000080081a79a80ae7a530d41d7f458c9fedfc387d5b9e0080480001098d60476ecd8a1fbf5ebaa67951259a311ad7b25202510000240c05808cc44e89fa3ec74c2f8acb1342ed4130800016325007ad6585b0eea0d048080b110003d6b2c2d05f5040240c05809809e35d696837a030120602c0440cf1a4b4b413d810010305602a0678db5e5a0de400008180b01d0b3c6d252504f2000048c9500e859636d39a837100002c64200f4acb1b414d4130800016325007ad6585b0eea0d048080b110003d6b2c2d05f5040240c05809809e35d696837a030120602c0440cf1a4b4b413d810010305602a0678db5e5a0de400008180b01d0b3c6d25246574fe985bda13e26ecd37592415597d5156e3131d9b2b758362862fca7d2ba0cb6c95b5bf3bbc62f0a2400818923303afbb313572e487aea09c8c537f8f8223bba14832eb5577eff320eaab88bf5acd9a0b8719ecabb6e97a19b4832b8c8718a85ec40607c04a03f3b3e7e90fbf104688f8f52c64cfc435e59a4359a78c94fba168807022310801b720438106530028ae6ea8b3575f7707976eecc1799ee03fab95271fdd59ac6e67bf21e6439dffdf9977c17d868ddb752f18dafbf69bcf7d072be27e325648745746a57fb719215e2ba5aa9b5ab9dbcbebcbc8e86f3ae62586b49d516017e20304e0270678d1320647f028159348b4129cc6803b42892d46572bc8e9469a562f18af9c96e5624a4b3fad328dfa89b5a91d8bba7a22d9c698f3d3251f17b8b38641442db59ab4f46902c11eef1f2d5ce9850d11ec5b451e7842310984802a067279226c81a4ae0ccff7e4c5beaa01dfee86a91d669474124a56459f19907b63e4b6b3d191770ac2c2524d2b9b268b3a54294492959362f6feb263fab2ed1a9f45d477285fb934efe5ab0d552d1944929d9c511197ff8cf37d177f9e1dc145d25d390ba4eace834d6edbcf695dea064b5e081774209809e9d509c206c0881cb8712b5bb8d83e265a2521efe5a46e70904c9a4838a3ce3042d664b9d8ef0a3ced6fd2690f65d250e6365a4266fb224b12eb1d9b9b5b97401f1a3aeda33c7f081cecbccd949f2ba270b4abbd981a9ca7183912587bae20cc4a5549de0326cd06ee519fc07027a21007a562f5841a88640704601f7255bb95c1d40a3757f97bb232e4b79ded924221e61557961e1ac9e1eeca5cdea691292b0475ddd668cb0137d7dbd5249bba8ee566beb4fa26bdf9d1728952c4e70bfa61aff676f799352d0248bfd9a30364a1550e306234b26a989e3bce001dd58250af8af4702a067f508174463020c5630c3c75c1b45af3dd6ad2a3dfbf38fcaa1577e3217776b07b81e4a35d717eedb306034804a4369522951cbe8c5979cfbb399bbad642101f51dec8992492e167b3e350adc2f017c40400f0440cfea012a88d422d023ef4668809e95c9fb172898cffe15491b9177f6e01ad4a5eaf49ad2680a397a669e8dac2e5fa964d9f169c16fbcece4eae96ad79ce4b05cd9a555debbdfdfb887fcd53d5ac54f0df87b1a8b881c5932420d2491b5d9809a9120704060e209809e9d78a6205177020ecf7b92c42d779eb177544f13909edb15947008a509f91e55a53872595a45c66ea65266afe88266dc609e2f03070a4abfeedceaa3cc2bbb559d8383a8939125077928e5c17f20600802b04ec11094a18c610850dad0ccebb5481c579618b5f5688358229388cb3f7e37e110ee945a2f74b552f6492f9f395b2f962285545c5dfcfea270228aff558b14597abcca25fed85dfb0ac55269a74890e645c552e306234b2642c001014311003d6b28d2d3af9c47d4abb9729875c0d52bc70d1a646475aca9fbf6da82c508ddcc8a0d71b07ed9da21362e170747f3ff44b742ce6f4406e393b2940d0e163e340bb62fa7442528b7be518acc7d7e2fccc6019753b86c0b0bbf450105cad8fb4f968ce4f2369c585907954c3800017d118071037d919df672ad56fd99ff4c73cf0bcf0dfed264e6b6f6605e36cdd95ff9b26fe91976a2b3b1fcc4f1f2ab77cd2c2ccce62f09085befe148e5b262a4b6df62e7e47fd7d08da31c197e01a1ecdeaa33e5b5edae54664b9fcddfb72dffe2b3826b0ded082d782d3eca46f4656dcff3cf50f44794bc785b41de5bb33c072e9998f68d0600f443c0a4afaf4f17c9b8ebf17f0f1f66edd8a14b62480304800010785a09cc44e89f870fef188d32847183a7f56680eb02024060aa10003d3b555a02ea010480c0d34a00f4ecd3dab2705d4000084c1502a067a74a4b403d800010785a09809e7d5a5b16ae0b080081a94200f4ec546909a8071000024f2b01d0b34f6bcbc275010120305508809e9d2a2d01f5000240e06925007af6696d59b82e200004a60a01d0b353a525a01e4000083cad0440cf3ead2d0bd7050480c05421007a76aab404d403080081a79500e8d9a7b565e1ba800010982a04466717111baa01070480001098ce0446a7342952ba6651a6c3d6c0a6335fb87620000480c01808e86a7f760ca2210b1000024000086002303e0bb7011000024040bf0440cfea972f480702400008809e857b0008000120a05f02a067f5cb17a4030120000440cfc23d0004800010d02f01d0b3fae50bd28100100002a067e11e0002400008e89700e859fdf205e94000080001d0b3700f0001200004f44b40d775b7bf203473c60cd4d7a7dfea80742060d4044c4cfa7ec1bf9551b85e844ce197350a60939cd4c4c4e497513631aeb1ae7a96e8d7bebe1ad0b393dcca50fc9426e0636232dafac12f6bb4c426313d36a4e53dfa26c615867183496c35281a080081694100f4ecb46866b848200004269100e8d949840f45030120302d08809e9d16cd0c17090480c02412003d3b89f0a168200004a60501d0b3d3a299e122810010984402a06727113e140d0480c0b420007a765a34335c24100002934800f4ec24c287a281001098160440cf4e8b66868b040240601209809e9d44f85034100002d38200e8d969d1cc70914000084c22015dedc84c6215a1682000048610909cdbc5c9bc8ae66a45cc76f27831e0d7c1bf59676fae153a06af4294b976d1398fbc9ca39b2c479ffd6ea540ba78959b0de8967e76c0a29f05f880801111f8b9a1ec66d9a0fa960972b30e7ec43b5d95ec3c9e5f76f783da327413491483c4eb70da90bf35243c2ba1a2dd8d69a343f2e99204c60d0cd1d2cdc5fbb0c5bcf4fc3a4d61f899dfd03186db582340578fb8ba383d92fdd6d2a56f2d65a7effb7450a1ed355ab1e9f9cd1dba8a8574934e80466ac039d6d85ed9de5e8effda5a8a2fe6b1719830e5b3d34de3aa1e0d916eacb5ce5653b50a5348baf0d96ccbf1a8792d714f8b177018a225a577ab70312dff22b72076067be63717ef0ae21c2245d2e948587653589693723eaf3d874e7535ee16ef5dcb4925b188be1895e5e0d8c4bfffb5ad88614f85c13f632060656b6369a5aca88db5fda6ed197f17c4f17f68bc87908baafa5271fdd59ac6e67bf21e6439dffdf9977c1768bdd1b78baa6bafdf7ef0b0c7d2d6d9ddf715e7c78c38b48beaee77c94dad17bab9287ba98ae6ea8b3575b81464e7ce7c91e96e4615d6d92a6a6c6ac1dedaaaefefda2d59e0085d5a5523809e5581d0f341f553509662a8677ed3494ac96ee3d7c686782285f8f47f6c4c3c949b91b3eb2f3b19a8a3723fa5648333ce27ef645b2249797a646c22ff9d84fc2b399b943f1b3d3301f113408066314088e441273e7730530dab76567f1ae51b75734012b4a7a22d9c899fa5d2f27d41b12903861eb695de8a5de7ae49ae7ce16a2ede1b44dd2ad1fc5b7158cf4aea32395e47b4f3b178c5fc6437ab8e134e8b0e52990ba25615205e795fb2b546d6f4f6c0b881a1db7fc033bf55f3a28e3b0882d3f9f9f8afb25224ebaf94425c57d3dc2ac15a5278a618c75e10547752b77f7bdda573247da150a411d29f0dfb6475e5c74840da26ac64b133b50ff85d283e5efe5688fbd55d0d95027cc2c94c224a163b2bbfdd9f44d311ca3d767d78792411b82946a0e1f26941a580fc951717e6ed0d7d87e84d4ee8062f524ffc398b52b26c5edef15b8da785e7b745e00646fb934ee21b4056f73951b2f498b48bc2b38db587d36270d491c0ff6c9092acc47522fcb8bd5bbc4fa96413ce37c6856015dc5110492959567c66552d9619cd42a82c2524f2d32e64155c5b91128fcf113bade078ed1650b21447f20ffab31a1486f10cf7cc7f6c0701f739847bbc7c2f0faa1a2b296d6377622c35204045918e06f90d0c70669e9bbeef5effa89ba6b9dd7facba8e532c5eec8e156b178df459d981af6a62713768299b0c2fd43674306ce08d6f00cca97a22dccf09185c37d6db2fda93dfb5ace9bb4a7c6065a4262ba70db8c466e7d6e6d2c9f395b859e49fdb8a35fe3ef87e58b03be3e0cf5ddfa095fd1ac10989041f6fe4a4e0547b2eb684fb3b628f4c54cae3e371269e40904c0d2f79c6095acc963a1de1479dadfb4da827f3e5a54e38d9cac0606fcf714e7ac0629e1ed74ff5e9b9a6297d25e4993ffb6812ef50197ee66f0dc16a4eab837060ebb3b4d6937101c74807c1b9b26833fe0138a82e8795c24f7d6176edd1802841596a62195a169f19f7bb576e7fc64b4ee51f4b3e1515b2534b63aaf2cc34b7b2c677bba2a3fa74e9e553c78e64e1ce0e2b96fb228996937f779ac4e4a0729296ab42b51f8e4641801e9db9cbc30cf590cacaee5dfdeac8a15c5416fef2d6599547c32cddc34ef4f5f54a257874f5566beb4fa26bdf9d17a8952c32b5984d32f1a398261f052785b35f7bcd3725e775a56e547669736337e6922428a942a964b1b7b34944428455e58585b37a48b1b4593d4dd45df3a8ab1b217305f52ed623277e92121c4500f4ac816f0453fb81cf7c99287fa40e82abaa7a29557c2e030ff232b767160962f988937df823a285e95efb2a53f9254241a364277dc02070ff75c96afffe0e27567deee4348fa4339b6387ffdf4c0dc80b6c0cf777c1fe86c23feed71e74536780e31426e016b465b347ff8f78eba6df05f8d1a35056eead0361f87ea82fdcb7814b3aa4031cf5409ee91272ba342d3e30f1261296a4e23f9284cde3ef4b0e19fcc04efdb3f03f98ca6fa73fffa81cece5277371b77680eba19edc0382e0444d00c667d5240c78d47ae60fe82028c767cf159ed5ea2028abc579c143a544edbc5fc541ec405fac648933756572a8237536ec3f33afb74fd7de3a5d7b711b4999bbd1766b8302cd740fcd4ca2e3f3fdab5cdf0addca0b5d1ac2a57e6ac38a80c0a94a80741cb59cb5cfda6da455f9b71b25b2ba7ca59265c7a71d2c3d7fbcb6a5b2ad824cfc523be775bb4ff4759f15561ccc4c0b26c3aa4890c2f947b566789e9556554b0ddbe686efc9577e33309ffd2b922e22ef6c5bcbd9c646e59fa005fb5bde5a0a634d84cdb0aeff51386c3404ea9b804e1d04bab78dfab3b2f9dc39a44ab2d1741e4c6d9c3df16fc03db6b0b693e69583b2aed41e70f3b1f2fbf0abccf9bf8f8dcbbac9cfc2bd94e0b40236e22724e62a871474b9709f1933f06ef3baa47cfad39898d4fcf28be12f73d07c0359dd8523e42d9ef39cabd58f274ab16f595a45c66ea6b262bda20b9a7103e52c82e8d296b875cc053eccd7b7ee0edd6b129d8aae7d7b077953c939bf0d60789afdd7f913590197b3c2337fed17b7cec5e1794f12d772e7197b4775b7577a6e5750c2219426e407f9a87a03b306554b59fc34fe0f7a76921bbfbf8370700dea52694f531a4d2147cfccc3cab181d4cfcd65cee81baab7437489ffcf2ef77541d4b0009163ba68590c3d274bd8232753167a1516cb771ead8939d0d9ad30b5b0b13497168572f100eea2e71e330041440c747d7d35a0672924781dca403486396bf8eaefc52dd440abbca7e7e7dbe59f27525f4759ec8556e811d5f7bc7ce66c7dd4520f1b24169e3de81b4eaac5ffaa45bad5ce662ef61e0b4c5c2a4c5be165fba8e9db2f2b48e4925716aaee3a24c37d58337bf67f16c407710f1d0b8cf36f2f6278bd1689504e5962d4d63907fe6b93a3b9f44a7642c2213cdec459e8da7fdb549796bc68b9dac39dfa5446a44e7737fa9fef74273661d7af7ce63fa183e031f6e2640d27764425227adacaabbbd55d8f96ab59ca2f5da648529d60ed2ba0a795e358ea8b45afa824998cb939d95ac15d3176ec06cbf9883c828507c3a96123ed52e93179c7dfb345c8f68dc86074a8a42c6583c3a021dadcfac6fff1f08f4860251e2ccbdd41cfedcf1d911dc8c033646fb6e1a006d5f442e7b0943dac43fbcbf8ef441d2d2fdababdb6a0d28b7b332b36244b33e88fa2f97f527e1e30a5946d4922b72431a2589ee306b712051730f4df6306f6a99ef9ba7510c650374befc0609458224c4c4ef77cffffac7d46daf8ff123652336a93d8e493da7c2f3a12081333f3576f7f7ba9f4d6853f7be1ce2ce2e6fda707a576c75022643120018b573f2a486b47d4ea5b55b1b4d9b60eae9eee9e8e64ca1e76568cd4f65bec9cfcef1abacd2c2c1c197e01a1ecdeaa33e5b5edaee4c1eb1825e85e293879fe9fdf76762333db05de7e81abd83e24af95771c3fef0ef254c94136bfc9adb2b9508766cd572890b567d889cec6f213c7cbafdec562cde62f09085befe1a8eaccba6dfa246f5640d5edb659733ca97e36a90838933edddefb7af14b271e81d22d31601d44e0c6c7ec8d71658bd32a4e5023650df99121e1ca4e0479e6cfbb5518893b0803f3a8a6c44a2ab7582fbf4ccf28bfaa9ab6d555fd31d3374e230a214901db9a57c6caeb140c9d6fd05e7974f5f2fe4e075502ebf0add36bdc892abd7b66efdac081dfbe22b2cb7336ab3bbf032b34dc197e591ef1969054e767ff68bb36749de7d0dcb2d64bc56751c8667ff58f9924115fcaff16f9f50f749030457b53c71c17fb99c4ff58d7db7ae9e410698f4d3d20427ce1e849dbf5efd01d9ff0789175887badec1fb7705f8902ffd7f107a5a9021ec1a13d01a3262d78269900be09bd47dfc4b8d2bade16a067c7d3c25da24b172e35db2d7f9de9a91cb192080b4f289ff96bb7849049e592a6c774103aaa8b4bef21cf801086521ff58aabbf385537df3f90e1aefcbcaba83f5354ff70deca30ff61f563afb8e68bcf8aae35b4e3fa3bbdb27eed06b6f612f62e51e5a97c7e437b37b258f052e05b6c7ff791d5d9200823ebd9dea6c2175d711f9973b2bb68681fb9ab3a9de98bcafb34631a44f68df4a51b655935c9aaef36384456f3f1cb746965df6ed5fc8a4135509f2aa53d31993ab9d65152f996f5f2e0aaf628fcbe3c8253d46ca145c4755e1dfa305366023d3b02bca7266acc7a16c60d0c710f58bafb07b96b1764450fdb4c1f10e0e2b779b79f7688ca6fc308d9a41d3cd39e11b499a11562eab12e6c8451dc99f63e413b7d82b432687b2ddd995c2da5a61d357efff5e39f204e4c303febb3b34d29212e6a81d2bb75f50f91dd5c3c8f9dae5e8f2869adafbf67eeec81e6d82d7ea0fd2aac686b798050f74f1d52371bdcdf548845b5e207721b67ef05da8f0b221a4b33934ac42df5cde6f33d9cd5afb148226e68bcd72d47366e1e0b8804eca462512311a20ca1d1f0f7206a69147eda75dc6def9ee3e4883bad327193a8f93e6dce7c0f77479ca7aba5e56784da5bc4bd9e4fe8595345c03f20308000e8d90138e064c2082844458965d1177343427f0ae11cdfdeb71b7f99418aa66c5fd783ca4f71f8949589ff75d51532a9a16165d1ec0ce591fc97d5e50605926f38216fb9940bd6ff23d4693f5f151b5950bb3b4c6b38022f2316c6aeb68e554673f384299b7cb015153fdf28550684f609db437d1405a10e646108e5b69d6f897d95f2d1ac50c7a538db55026ae404dbb10ca2d69b92b898bcf2a3ebbf880bc4033b3bbcdecdeb2c7a5c97961204ff80c03004609dc230502068fc043abfc92f401121fe8e6e9c9d08255eac9360990d7f7fffa030e664279e0dd67d985a25817b9767f7705112ff0a9e22d629c473861e6a956de6b9f98a10ebdd8c4ac1d607851fece747e4b5c9f188f0e9525e0e7763a598cc4ed37629556d38f66c29af203cb95e2afd8a17b538ed220ea9e9eb4c61a19cd29bbda22fb1923ddc42a6a31dcf8ea92d17e26feaf8738de487229eedaa3b4905957878bae3523c2725e17c0bc9d829e4e2a9a3c5eddccfab96213c080e4a569b37f87525007a565752906e3404a495b9a41f7ab5b0f842e915ec49fe5b391ee2effe570b4ada482d6d335ff16f5b50990c49eb2bf928218c45469fad7c5627a19f35f6a2a8f27ad50b32f0d0028a8fa25316529c5f0b6523e18d66a2bbd50e2bcca43594e9dc056b702cff7aa33ca8a8fbc0ea474547d3d32323796568a1396da6cb4b5895ef7032d912b9b7f1d9ada9c9eb70b978e4f708975b80387f480ac3feae861bb8eb5a92fdc78c5dbb3252d30b10aaa40cadaa0b822310183501d0b3a34606199e4c40fc7566165a1663293c57f0c597222e878e5233afabb4a2f6f02b91448c9f53eb26f0d16aee80516b12ad9ddc427d32b8234b12e2996acf288fd4ff8e2e69f95e66c8f2c0ca26b4243c764f04d5533675dfddd992c7cfa65b562406f83243b1353f5281605e46249d1f9e528c1f064ab72a80b594e5e7bd9c7b985fb03bf03975301c81c05808c0f8ec58a8419e9109349ccabe89e2cf1efd6881329db4fabe85ef67ffa88bb1b64671a5cd3c7fbc7b95e86b01a2072273d7952cf4f997d7a298fe08b55ecc13cedd3254b614eb550b92f7a4326fe70d9c19bd3dbf7f01125eb884506cb928e67577f3f6ab6502c4dae2dcfc975461f4f9b638369ee3d1941188adf5d1ba6a8e32e9d5c57d47e34236476edcbb3ae09b9f14743c52b192fb1e976b9de3c5f9db86b6dfba935a3bd2596bc82ce3d66cb693f8bd5aa6070ebb8f678f8203026320007a760cd020cbc8049a0aa272515a854ac9e2b4e68cb7e3516cf8d19df23f45472d0aa29d0ae6a0123efe1cc65620ab3733b279f4553e6738cbcaf897b1795ca97aa440550856a0717e4b91a0727f749457104d101c6157925bc6ceb8b8dc51ebee95e3710394b0c8821dc112e496056757d1edbddf884089010e0fe263ae1e22061c5069cdcc775647a2d810938ae008b7925cfe62de79b73e399e4870ff81043137ff95f7d13bab362e6d17e4654484fb5a7f1e118172736fa288e37cfcc1ad663612be636b9252d549194e53550e0e40401702307f56174a90667802c3cf9f55743408efccf6f0b1d7ea6ef67634fdd0d0bd90ee89ededdeb858d9f2f099252b9e95dea73debe988e724cac475df7f734d316f8997337a809cdc34b3b248b1d2e6eaabad8f685e2b18d6a61d3704382f9ab7d897ae9a89acae98a4b5a105cda6355fffee27eb252b18ca5885b22ce4f402f37987eedb8df2e77c5c664ac537beae6a7b886cddbc5ec0a7587e4dbdb9ab973d5e6dace8a81736cc76a3e31db4daeb2a85d79a69b6cf79bdcab0a5e6837535d5d4887e7ef695150b865b970cf367d52df1341fc73c7f16f4ecd37c5be8fbda86d7b3fa2e754aca073d3b259b65822b35663d0bdfc126b825401c10000240601001d0b38380c02910000240608209809e9d60a0200e08000120308880d617db4131700a049e48c0c4048f4b3e31955e1398cc98d137191b190cbea8c9e630b83e703e9508809e9d4aad616c7599949d5a8c0d12d41708201837809b0008000120a05f02baf667893e9e022f89fa856174d2f1bb2a585e9f52ad06a30753aa39a64c6574d5b378106e4a8c824d1970501120000480808e0460dc404750900c08000120304602a067c7080eb201012000047424007a564750900c08000120304602a067c7080eb201012000047424007a564750900c08000120304602a067c7080eb201012000047424007a564750900c08000120304602bace9f1da378c8060480807e0828373f8fccabddbd49b5bffadd4a8174f12a371b83fda8a5e7763113feb50b6f128cf7af1c9b135717677f74a852781f213b66d86fb9db23b4ea2f3eb7efa31bdd1666166ad9ddddb2f9afc5ee64935d3b8738596b65fe1f534b040d58d4e23737fe6ed7160f6ad74e65c2916387089be0008335c904d71bc40181694e407ab70a1368f917d9c712bb86fcad21e1590915ed6e4c1b6588beff0b8fc6251c1222966cccbba63517ef0ae21c22f5a4d391b0eca6b02c27e57c5e7b0e5d790592db9fa7a4e2ad8c06bab951c3e9d9ded6339b9c02c9ee4488be18959508cb4a52bfd2881a3976a07cbd9ce9aa677f41a85d2f1500a140e0e921608757a71bee6ab4f605424821210a77b6a5aebfe8715553da549414957ca84c2964ac45369da494ec367e6d6c882752884fffc7c6c443b91939bbfeb2938125cb1abf27fbc5c5e71dd8ce4472e5ae7172449b6f3d4cd5a5820f88925dc62b3d9cbcce52d15ab42d30392bf7833f469df8908db73e1a31761871131ea42ba23e84ec67cc80d5f413de0020f0a92260623229cbd33b5b458d4d2d98646dd5f777ed962c7054760815cdd5176beaeee1703b77e68b4c77f5ebb6425c572bb5767576900afff9cd9df68796f33d19abf0f66ba8bdee525575b31ccd5ac80ca0bb0fdf2f96898a372de2503d47aae986537bbab4a9acaefc184997b6092b59ec4ced037e178a0e955dfe56d885187820a2ada61a0733fdfcdcdc5d4882115cc7b79f67e1e898f793d691110c53c7d003596559cb05a9c71b786c37c988b1baaac0118a7f72d4680ae9ebab01ab254f460a29a62f8149b2c6db71c269d1418a7a41d4aa02c42bef4bb696d46572bc8ea87a9c541c8b57cc4f76c39d60a9708f97efe0f7715652dac6eec458ea2d9e4a1ecdbf1517e23eb42d7b1f346225cb4ecafbfd76f76ca7e5059d4393e81462e6b9e9fbeef58fba691a45fd63d5759c73f16277a22b91a255548f0ff6b3ef0bcf7c7ba7bd47f3302091035d57c30d7c398be3df7c56a3cfacbc577290805f71ab453aeffe48b16e2ed42e9b03054ef819cc379870a420100818988055706d454a3c0b97ca4e2b385ebb056f2a5c10492959567c6655ed69e1f9681c59961212f9a97234d7415541560abfe2f8f96cfc6a8dca52b1925d169f9927acda97c4c101c7924f0dab422de9518296ce8c0f3739dbd2f0d72ba451932a99a338cc34b7b2b631c7db0c5717e7676e656f88c29d52562cf7454a84e45615794a1c0cf40d0fe4268687ef08f0f5a34556364987298046c2167abae17d12d58e36771ef60adbee77a39163d519f47a043dab57bc201c08188080a9bd27f3e5a54eb8a49581c1de9e8e3251298f8f3f08f104828ffc189ece3eec3841cb363a42fca8b375fd7a2aa58acf0d617ab3376fcf248a1571b20f7fb495eec308e5ed0bc6a74241a384040f76a656f6ea8ddfa98ee7e0f8d19ecb6afffe0e27fc4896b2efede4348f1a7796dc14e04bc0bd544ed2e18b5579a5d4c300e546bbf2ee3ee6bbdb9db69fb58a36775d11a1758a468ed54ea90fbfa69fad0fe12013080001031150c848413df26e84cc3b9b44e44458555e5838aba7077b69b37a9a8424ec51174ea0749c173c545fd2ecbc5fc53a981de8abd29ba6ae4c0e2ae123c3680733afb74fd7be8650eba93dab8ef07337da5a16cb8fba593c175390cdbe3f7ffdd675548f9991d1494fb2f62d41a902615238435573f5b590e35cb359daa78802a209193956934c4f1ec390d453e5412c100002c310f8f9473c828a1d3f994bf509b592f428bfdbe310bab78d7a5eaaf9dc3924894c13a795c1005e531b674ffccdcd3db6b0b693e69583b2aed41e70f3b167866d666a976ec588cce094c4f15beeb4a1e1f4ecec39dadd6bc9f5af7271ee59ea87c5c8b1dae5e8c30f7a561f54412610984c02e6b37f458a8fc83b7b700dea52694f531a4d2147cfccc31aad81c4bab9cc99d45f7f6f87e812ff9f5deeeb82fc5d487db0335db42c869e9325ec912b70ec95caeb0a8797fd188eca48fc9f6646bab1d6b3d5cf074d04758982ea1f64c84733a7e211997fc1791ef7d9eb49bac7c66a84e8d303e3b3faa40bb281806109cca2111de4f03c3553aae5ce33f68e0b5c5ca8bf79dfff3162ad6bc457f5c38eb91ab6965469b286133ba26213b71fd7fadad672358b1add40a6b29b27a20339b1be7f69efaf5ad3e958d245b5b31f3c6860e9f10a1950cecafd417371ad9527c978af95290d8d1cdb2f5e9f3ed0b3faa40bb281806109549796d48bc4665eaf45e272cb12a3b61e6d104b641271f9c7ef26906505d60b5d072b29c356b0bf344bef40ea6b5b62727ab15822ed12d7e5458650336a93d80c2b4befd7c82c0894f2c13e122bd3c4d2d3027cc825dc3d931ec70ecd2cac23a9ac18c149e4335f78647a4387142fb1cd0824cb16d899bbbcf1acad9163497ebd3bd0b37a470c0500017d1090cbc88bf11da97a5880d29f2589dc0d8b121a90fbf6da82c508ddcc8a0d71b07ed9da21368ef404a3f97fa2e36472791b3e69d05a2f2b27df8c34a2b05f4e3a999d8ff9b08fa32837548e3a46a7a3b9cf7f5464e29482440edbda82e9e0b53f17776659876fa52cc0a1568cf7cf6790d81412fbb22a36e2afa509b694f40ee1194119ffdced07d419f24bca268f167e6288adc5cb4ecb8f6149f4a4df6f61e812ab4ca3d7ff267dba2d3de8c583272626b04e41af8d01c28d9d005ea7a0e30f4a73a55897d1c6f4cbea125dba70a9d96ef9eb4c4f7b4a9a445878a2ea76dbac399e6bb784100b2a92a6f213c7cbafde35b3b0309bbf24206cbd876a3e169eaf5a7a0f7906843094a399bde2ea2f4ed5cdf70f64a8d68029eacf14d53f9cb732cc9ffad6afa9ec204f477561e9bdd93e6facf3d19ab83a28cd134e7bc5355f7c5674ad810c0f38bdb27eed06b6bdd6ba01596bcdf9422ab60bd9af7823f837eb34b19d7597beaa68b6f37d9de9a3bc7cb2b2a13c37b7fc9bbbc8d2c2c92f707da83f5ee1d6ef468eed4f37920f5fa6f7e89b184bd4f5b6003d3b127e880302140143ea59406e780263d6b3306e60f8c68212810010985e0440cf4eaff686ab050240c0f00440cf1a9e3994080480c0f422007ad610ed8d4ddfe391bbf47c6a0e0a5520367ddfd0f184cfb9135bb3aeea4fb70cac03968f67c064ef0a7d6be9d2b796b293f61ead171bb44a137b81200d084c5902a0670dd134434ddfaf5d1e70e1a66652b5feeb20ad39e01b7559cbfc3e2e923232bffce021fe4d3c0986d89f8fdde01025ecd07f65a0042030cd08684f7c9866976ed0cb1d3039dca0a6efc9654acf2545140cbedec937323fb846703e1a0293b83f18ded42bffa3ffbd2824eb77e7d2df8cdcb57d8dd6ead8d15c8426edf05b8d8db87b9826afd2f384cdc4607fb041bc9ef253439abe57dd806778641fa7416e6413f4f0fc1d846bea9d0e7d4932ccfe60cd85bb82b84a73e078272ee165a1f0726e6a6441edee306ab1ef98400dbbd5d813760f1b54d0889b8919cdfe60832e0a4ec74ac0a0a6ef4925c5823d81a908c5679ef78c0d88d5547b6413f4863132afa90c78c64460325e92a4359f504a36ba40b83d0c2f4f50d417a66ee0a6e470fffbd7dd391e5a4b0c74bda2c76e35f684ddc306c91f7133b1c97f7583f1d941eda5ef53839abe47d8aefebb01785836a182b7dc456dc948798953c0c8bcbe594f1ff9035e925a3543ec787f30c1e9fc7cfc575929d232c78af707ab696e95e0ad0f85678a71ec0541b5728d2dde1fec1c495f281469840ca0d875a3ac0407b032df254a163b538fb0f83d64270761e34ffd16c4498c0e0e6f35f69685ab663f47edad1986df3d0c216af7b061446b6d26e6eee6e949fdf9b8b9534bc5867b7563e345c978f730437df785f7c361da4c9f41834cdf9bcb44f96ad3f7c9d44de1894ddf9b2d753a424cdfff26d455551762fa9ed8dc646ecf2c12c4f229d3f79bb1b94dbad7beca547e09317dbf932c5d1fe8ea3fdd89852f4e2a8d625a75d568fdd0d4c98631329f95ab8e84a3b11030dc4b92a547d8f18b4ba4737df0bda77612c97decb5b3a48d5a998cb0d5d893760f5317ae3a8eb499d85478751b359a41d707a763206018d3f7b2bafc0d51b978f3923f7fb80e57d28c46f567cda87eacbad2936b645e5d0b388e930079499a7d348977a80cef0fb635e4d501fb831dd8fa2cadf5645cc031b23f98736511793c6bed0f96fac2ecdaa3015102bc3f5819c2fb83c5fdee95db9ff19253f9787fb0a8909d83ed1b58397afbf71b84c5f56e2efef31132f8efe1e8306a65426d35164576c19156135d3db030b27b181e88c0bb879d2ebd7cea18b5b18d66f7b041c4fa3713d38a8838d6f83f4cbccde2c8af6e06d98771d468b42e03bc1340406fa6ef25a57bc249fddccc6e9f29bed6831e5d3d8fcf04a545a7ed1a3c02829ca8ba8fd3c8bc0f6c354f6124ffb02d985f7ed19c19d663d09724ed4b130bd2833878f41f4597ee751b832e215b8da9e4697590b54b40d4ee619aef0aeaddc30624c11673fa3713dbf1ef61b68f847f098c1290cdc49ccfca3fa4f68a186e7f3003beba8d81cda04b84d37111d09fe9fb4764d60db114878719fa1d3f25918fb655b4ff967ac88fd7c83c6c35af263b493b8aab8bc7dd3e6a58c890fb83359f490f0a4cc43560675cdcbecea5bf2a13ea1b7ef7b0417a6bc4cdc47e4dddea93fbea36a8be134a08848d4860a8e97bf56b139e4b18947008a509f9411e238a1829d26255d6c5453dca77269c6e56e78dffdd119b8522328ec5309ff5b6b244c4047d0936417f204c35b0ab65827e24c11037e509e8ed254973e5d2ca8fdf8da66cda066756a46e1db08f9726d1c47886df3d6ce0b708d311371373231519e7abdb38af05f4ec38018e3d3b367dffa2e56a0fcaf47d0e317d3fe7c07f6d7234975ec94ea04cdf73c667faded499e9efac55bb5efb5abcb3077b258be9ef43051313f425a9c4047d71f64ec7eeab99da26e8b53282d7e808e8ef25894221b9b077e58e543228bb8d5f1b1be2a90f3e23ef1e36a8c4276c264659421fefabdba02247790af3ba46096c4cc927dff43d3665d0d589eb7ee74197e60a463641af49061e232230f42569c2f707ab4ee7504a9673b0b6534f4a16031f79f7b0412d32f2666253617f30e8cf0e6a32bd9cbabef9419a75b4ddf2e794d2dd367d92372b4069fa7e3642969e61273a1b87377d6fb5781b3fef2de4a999fb6ae6bc322d3b6fbe3fde9444e92c5edc5d90f6debc276efb64e6cc3a989d67edabaa03c96cc5d82d6ff11bc104bdaa88311f24d5f9d93fdaae0d5d374c9747d67aa9f82c0ad9ecafb9345c8cf852feb7c8af7f035452b2a2bda9638e8b3d355bf3b135e96dbd747288b4c7a61e1021be70f4a4edfa77e88ef8dbf6484ed621eeb5b2b79cdabf183dbf242199a8f01d3c2f013bd6abd6ade517f007d659e44cde833cdf08711ef8364f22c6eaa8ddc3124b8478f730cff7ffcfda67a48dff2f61e331228dec1e860f787fb0fde95f7bbdb73f36cc53b99998806c26b6f4fdf8b5d6d2c6426562d5666293ffea06fb298cf546807c08e18f3f236c65d4db54f8a22b17efed7cb2bb68e84aa1aeea74a62f2aefdbad1e9526406fa42fdd28cbaa49ee1fef93d57cfc325d5ad9b7fb71dfa395eda094f6c464c3349aa4f22debe5c155ed510c9b616235418a9a2db488b8ceab4327292b932851e0ff06dbb7e6c6c7ec8d71658bd32a4eec26b81af22343c273a9ca4414cb73e6dd2a8cf4e2e2bd08b55d34ff565c883b92546eb15e7e999e517e55356dababfa63a66f9c4614fe7e5fc0b6e695b1f23a0583ae5759a8b64c8d1f7f5c8d658ec8509374a86748957092f6caa3ab976b661a28f3e0ddc34eaf71274fc41be9ec8d89fd972f167ccc0e881b2838e2af2dd90c47eac128a94eb7f6cdd18ea6279daefad079944f4dfcb01fdbbe35a32c47bba2e007022312b87efc13c48909e6677d76b6292544f33d5a7ab7aefe21b29b8bcc111da9ee3f496b7dfd3d73670f34c76ef103eaf3b04ab2a2ade50142dd3f7548dd6cf0af4b2116d58a1fc86d9cbd1768368a52a5c4d2cca412714b7db3f97c0f67d546585863881b1aef75cb918d9bc70222013ba958d44884284368b4b9f82ba15288a4e36e7bf71c2747dc6995899b44cdf76973e67bb89399475d2d2d3fe35f7e8bb8d7f3093d6ba52403fc9f9497a4f92b77a7e5bd4753f1eabf4a79cf2cafc5e3e8cde2f7b682bcb766fb3cd32f12d932b77edff6eae3760f5b18f2419a43b49dfafdcc9ebdf34a0beb719b89e9ffd54dabdec379757dfcc2fe60c3d19bee6123f56715221e6dd19c8b2d21a2f742a25efdb26fb72da6a568caf6753d48bea0508e955929d88aea0a995eb8dbab72ec8caa8c9d0ce589aceed397bda2889f95592e58ff8f50a7fdea396a830c9774d51c65d2fbfb3edc3c61ca269fceea4ffd7ca9ec94b87dc2f6501f4541a803598047b96de75b625fbdb7c5c2972d94872ffc26ce76952022bb3c67f383e27d419c1455a298bcf2a3ebbf08b5a67271f23a8b0675f194c90cdf9f55550f0e062430e6fe2c7c0733602b4da7a23abfc92f401121fe8e6e9c9d08255eac23c6761bfefefe4161ccc9cebe9abeeec349748a87f4ec1e2e4ae25fc153713b8591083dd4a264e6b9f98a3003a10cac8e1f147eb09f1f91d726c72315a74b7939dc8d9543ac92a754b5e1d8b3a5bc82f0e47aa9f42b5ed4e2b48b38a4a6af338585724a6ff68abec4eaf2700b0ee93b9e1d535b2ec4b34ef110b9e487229eedaa3b490595399bad3b2ec5735212ceb7908c9d426e567866713bf7f3aa6508bf470faf64b5aa0c5e20300c01d0b3c34081a071139056e692fee0d5c2e20ba557b027f96fe5f895a8fb5f2d2869a30779bf345ff16f5b50990c49eb2bf928218c45be8659f9ac4e423f0fb446d24b4dcac191786801c547d1c97ed9c8f9b5503612de68d636948e1566d21a063111b1600d8ee55f6f940715751f58fda8e8687a7a6424af0c2d34a7cd747909abf21d4e265b22f7363ebb3535791d2e178ffc1ee1720b10e70f4961d88f97c3e361cd92ec3f66ecda95919a8eedf656d6ddc362c101813113003d3b667490f1f104c45f6766a1653196c273055f7c29e272e82835f3ba4a2b6a0fbf120964a2995c6537c96aaeb293ab25593bb985fa6478334bf3b547f73abaa4e57b9921cb032b9bd092f0d83d11544fd9d47d77674b1e3f9b6e599118e0cb0cfd14978eff82791991747e784a317e1828ddaa00d652969ff772ee617ec1ee40ad491aea04700402ba1380ef60bab38294ba126838957d13c59f3dfad102650e6c25c4c2f7b37fd4c5585ba3b8d2669e3ffece2bfa5a80e881c8dc75250b7dfee5b528a63f42ad17f38473b70c2d458af5aa05c97b5299b7f306ce8cde9eaffde105774c63cb4531afbb9bb75f2d1320d616e7e6bfa40aa3cfb7c5b17127b7292310a195346a18b7bab8ef685cc8e6c88d7b57077cf393828e472a5672dfe372ad73bc387fdbd0f65b77526b473a6b0d993fd49acd7612bf57cbf4c061f715c3ebf7a115861020308000e8d90138e06422083415603b6169152a258b259a33de8e47b1e14777caff141db52888762a98834af8f873185b81acdeccc8e6d157f99ce12c2be35f4668b1543d52a0aa0a56a0717e4b91a0727f749457104d101c6157925b86d7d42f574ed9512693e3710394b0c8821dc112e496056757d1edbddf884089010e0fe263ae1eca22339c4a6b66beb33a12c58698540447b895e4f217f3cebbf5c9f14482fb0f2488b9f9afbc8fde59b57169bb202f2322dcd7faf38808949b7b13451ce77b2254331b09dfb13549a9eaa40c54aa2a070720a00b01986fa00b2548333c81e1e71b283a1a8477667bf8d86b75377b3b9a7e68e85e48f7c426fb6e5cac6c79f8cc9215cf4aefd39ef574c4df7065e2baefbfb9a698b7c4cb193d404e6e9a5959a4586973f5d5d64734af150c6bd38e1b029c17cd5bec4bf72443b1fd4ed2dad08266d39aaf7ff793f592150c65ac425916727a81f9bc43f7ed46f9733e2e33a5e21b5f57b53d44b66e5e2fe0532cbfa6dedcd5cbdeca149be0ab1736cc76a32fb0316dafab145e6ba6d93ee7f52ac3969a0fd6d5545323faf9d957562cc0298738986f3004c9531830e6f906a0679fc2bbc1609734bc9e3558f153a920d0b353a935f4559731eb59f80ea6af2601b940000800012501d0b370270001200004f44b60989126fd1608d29f26022626f87d79722fc864c68cbe49dbc840ebd2279b835655c03be508809e9d724d6244159abc9d5a8c0812541508201837809b0008000120a05f02baf667952f87c4140838200004269b40a7a8baa6fe6753a5ddac9e1e0b8fe74d9b1a34cb9015e8199f558bef5cfc0e4270433d8606d35a57e537118d8dcd65eae84c60046a22804fa00c689109843921a2708be8f86bd22493f7f5e1a2296337c4ba8d8e7fc7d3062e507eff2f8b075c00fdafad1510a246321c0d62cc68d47f37a8c6d2b49dee9e51a8f45fa6c2d7063539380281e94cc07e45e236de1d33627d072ff390d9f87bceb2e2fd8494e74886162eb09abf250d42283cc3d2509bcaa008eafd9faeeb14f45e112800084c4b02d864026dc46d29a62595297ad1b04e618a360c540b0800012000f30de01e0002400008e89700e859fdf205e94000080001d0b3700f0001200004f44b00f4ac7ef982742000048000e859b8078000100002fa25007a56bf7c413a1000024040d7750a78cd0aec8d04b70b101899806127bf8f5c17889d420474d5b3bf20346bc60c442d3b9b42d587aa0081294500afbb85659353aa45a6466574d5b3a4b6d472e0a9516da80510988a040c658d577a61ef6f0e5774ce1d9ec17db434f9f0476196c3c792d0bb9502e9e2556e364ffaf94beb3282bc2e7ae4e51cdd3482b4c797a3534c57f5a73b7ca39ecfabddbd09ef77a9725d22c1dfd23f3e57d180cf17b2c3b7c4efa4bb50dbb4a913681dc5e7f67d74a3dbc2cc421dd6dd2d9bff5aec4eb66a59726b65fe1f534b045894dde23737fe6ed7160ffb275db85ad2441d0d5dde44d51be40081694c402eaee0df2c7b3c80fbad238cf235e46f0d09cf4aa8687763da3c5e041523efba5d866e22c908d29e20e189d1d29a03be51789fe3d9ffead2a4edaaf994498fa24ee98b915020140a0e251ebcd58d378dd7a4e9f7486e7f9e928a250c7473a3283ddbdb7a66935320d9ed1861516525c2b292d4aff2da73e84fbaf481d2c67b06dfc1c64b10f203018313b0da70babdbc9dfc5576b71fe3b1700596f14acbbb3b9581e55fbd67fdf83a292444a3cdb6d4a18f4543a41b6b8d7448faf8f2468a919e4b8a28189c4072369928d9e08cf357faae9ee86b3fcce3e0d3847f3f49f68e1fe2648ddf6325bb383eaff8d6ade2da5aea4f587c2b8a2220157c40942c86538945c95bf6c5603b67b91ffc5130448c7e03f40650bfd506e940605a1398696e63adeedbd93a386116b31d1caccdad903a10efc7de50f9f52dd13d397e5b7667bec87457be4477b68a1a9b5a70fadaaaefefda2d59e048f5eba4e2faab358dcdf7e43dc872befbf32ff9e29dd50dc0577c86977048f89882e8dc28e58bbfcd9a2d1128858f3a2558cfaa2c9269e569aba9c6674c3f3f377717ad60cadbf1ede759d813f37ed23af2c030750c3d905596b55c907abc81c77633c425aa6a64c0a25425c2010800013d10d0eaecf5b65efaefc05505da1a8c9574fcc487de361d279c161da40a2f885a558078e57dc9a8fad328df28eacdbabf567b2adac299f6fde7faf089057b0253118acf3cef191b10ab5d82bc139f09af7e2f66f8933a88eb6a95b1c3692b45aba81ec7dacfbe2f3cf3ed9df61ecbf99e8c550ca50defae861b5457f7cd673539adbc577290805f71ab45eaf6d8015f656913f91fc60d269226c80202538040ebff38514a96959429bc75baaa3412bf2b97a56e5cf3713bb20aaead488927e30cecb482e3b55bac15a24c4ac9b27979c76f359e169edf168153a3fd4927fb874bf572491d05ef0660259850c15bee32a8936ab5f2fd345ce6c1550ebc7d1fe7ed8b6407a4e0d33d1fac277dd2c14e72ab8a0c541f0cf40d0fe4268687ef08f0f5a34556364949426a9edd424f376ccf50ed6873e761afb0ed7eb73ac41047d0b386a00c6500018311e8aaf9c7115c183de9f4d90ffd7cdc9d19eb76570ab938441877b1aedbde93f9f25232ceb03230d8dbd351d6f45d253e6165a4266ff2767771f661c766e7b271889e5dfda73b797cb438a9348a6925ebd2ea8a53e52e78e535e56610052971fb5372a9b0885757380e5329c94d019f042fe6241dbe5895579a4d553e37da957757fdf1ee4edbcf5a19cd5d5744689d1ac8abe94f1ba83c2806080001bd1268f9fa2b2c9ffd5e98b3e6c76dee1396c12988e3dfbcd6863cad14945aeb91e30e9db9997bd889bebe5ea9a45d5477abb5f527d1b5efce0bf4fd91485697bf212a17d1797ffe701daeaa198deacf9aa91779486b92ac7df138c6e2988c7d7bc3ec15a213ffbefd083f3784e67c5afe61ff4529215a3c175390cdbe3f7ffdd675d6248491d149c7d94b50aa4098f46b4ae45c33e5366aca0c78fb09b5c780474d5318b04c280a080001bd1130b522afd7cb5e71d32e816666854f7fb8fd2f84dcb5c3b1bfbe70df062e79311fe028a5352064c24e24a57bc2893037b3db678aaff5a04757cfe3334169d169bb068f8020a786af4bf0392b2df3e84e6a84d831b6a8182d753d224cada84d72f62117d2ef4ced99619b99fde70859312233382571fc963b6d8862307b8ef67883e4fa57b938f92cfdcda1d0ae8cda0f7a564d028e40e0a920a09cb6754df813620c9e234aa73b0fba44d2b5a4942c3b3e2df88d979d5c3d5ded9a931c96ebb54bfb08af18c08e9f184bbdf2abaac44f49e4a36d15edbf556ac5e52b2825ab8c74796357c491a8dc1eb97a2c409507f57688ae545e5738bcecc7e81f55503e54ac675b203cd9026bf0ea1f64c8473d06ac7844665b709ef718a8afd502f574043dab27b02016084c0e013b6f1f5c7049d197499b3dd5bd52f1579f904edcaf1c344ba6d02c1af1ff58518aff2f4babc8d8adea14f68a2ee855c92264b12aebe2a21ee5372a5cf8acce1bffbb23360b45641c8b613eeb6d85eaa917fb665117f2577744c517fe46eaafd49bc4a376b29b27a2031311e27dd9976cab0a6c3a1d4b12dbd95b59babe128c5164e5fe70208caed4abad9527c967332b53f528855a927e8ff01d4cbf7c413a10303001db5702b17241fcd85d7bf3ef4aa4b20e51d1ae8d07c91caf98651efd3ddcead2927a91d87cf6af70c4e53367ebc552a4908aab8bdf5f44bdd4f3bf6aa1bed8eba1f2a6ce4c7fa6bf3f43f5c7f45fbd0297c25ec9c2c10bac4c2ddd98e45b566e54527af1dd0ea94cd27a6edfbb0789728c78c99bd4ffee99f438766866611df65b7abf467df84af9605fb1185facb82e2f32e4188ea0a705e011062b4670129e3ec10f8f4c6fc0a25a2b3302c9b20576e62eeffe89c638b5de1de859bd23860280805e09c865e44df88e947a49c63e739fa4aa6cfcbdfe726af85a6b8b976d17251fc25a8a9e263ca07c5736a57a762589dc0d8b1214af4512a55c96b2c1c1c28766c1f6e590b151e272eb1ba5482e6fc3de06d9e0d7752ac544fd937591e9b2771ea82792d930ff703113870812396b6d2d5eb6764ac08b14104aa938883bbbd87508cf08caf8e76e3f2027568cf7cf67e0a32085c3c617ebe0b53f173f5222fe5a9aa0ecdefa256547e2687e620816e5b4fc188ea427fd7e0b83e435a0d3755ff15ebc9802763f3660c34051c64800db91e91ba54d3bacc2c6b9af7897e8d2854bcd76cb03999ea4bba7721da20b7fcfbfda84ac2dd02cf757d8eb5fc35d45759c445878a2ea76dbac399e6bb784d84b44e772f2bf6be836b3b07064f80584b27babce94d7b62f5ebbc1dbb1bbbab0f4de6ccf80750cf5f8a65ac6c41d7bc535825335d6beaf337dfa87647bc57582cf0abe6b68c7e5d87bfaad793b5463f5a6b3eed25715cd765ae965ad35e70b8baee1c45dc87ec51bc1bf5967afdd5d55b496e7e6967f7317595a38f905ae0ff557ae6218c3158c795f715d6f0bd0b3636815c832dd084c8a9e9d6e9027f17ac7ac6761dcc010add65cbc0fff02d3f3c98892d261c3740d1d7a7d1b5397a43e62eb735b06d6411d838fd273bb96fa447eaa7e73d38a012f100002e326007a76dc08751020bd5b8553b5a82dbf61c3746b97075cb829d121eb0425515b9fd3d4415baef0681c31e7d1a2df6138ed12c10f04a61501d0b386696ee5a4125559a3304c3731b51bd6fa1c255ada54b48b1d8e67d5504e33803731c582142000042802f0cb32f48d30bc613aa468aebe5853770fd746db8a1dde950d1b2b925abb3a3b4885fffce64efb438d39a2f6ba4b55d5cd72346b213380eeaef50164c8053dcefa9c4c54bc6911074f735139f5644bf5391c810010981802a0672786a3ce52189885b00000224c4944415486314c672da9cbe4781d213304d58ec52be627bbe14eb054b8c7cbf7b23a58756425a56dec4e8c3da4098ee6df8a0b19bc9e5215fb78eb73bd0f1ac95cc2a4bcdf6f77cf765a5ed0a991071e2000042692008c1b4c244d1d640d314c873a0a222925cb8acfacaac586e9a2b1d5bab29410f55729079550560abfe2f879ca1c51592a56b2cbe233f38455fb9288a9f963c9a71ea32447b03e872ce9518296ce8c0f3739dbd2ee6329d09fd5a1fd200910180301d0b36380369e2ca6830dd3894ab181386cbb4820f8c88fe1890dd3c5095ab691352c5167ebfa57e4a454f1b9214c6ff6e6ed9944b1224ef6e18fb6d27d18a1bc7d649eb950d038dc47b591adcf21532b7b47d5c0b17a81e3782e0df2020120303c011837189e8b5e43b50dd37536894859c2aaf2c2c2593d3dd84b9bd5d38457ad20f4a8ab9b1c88e3bca0367b61e7fd2ad6c1ec405f95663475657250097f18eb434fb03ea7140cff810010d03f01d0b3fa673c62093fffa8fc10c54fe6e26eed00d7a35e4889e8de366a0320e673e79044324ddc802c5a274fb03ee731111b40f9cc9881779bd72a741a7bf16ac95f7e99c6d70f973e1201d0b323d131409cd290078ac83b7b700dea52694f531a4d2147cfccc3b3081a481ddc5ce68cbea146b63ee7f1c43da575b9f8bebe1ad0b31428bc0e45176090667a1218fdcf777a72d2c3552b0dd3393cef4964b7dc79c6de51fd210aafce0a4a3884d284fc208f3117fc24eb7363160c19810010182501d0b3a3043671c9b161ba172d577b78bd86ed09e59425466d9d73e0bf36399a4baf64272410034b9c85ae0356378cb264627dce592b4faf7d2d425994f5391fad60f04e3201e59768629d10dc942730e66903a0670dd1b6832cd7690cd395244614cb73b6d716547a716f66c58664c56a6a13cdff13b14c2c1962984e4eac20f71bc1c3b68fc994aece27da4a186c7d4e5312f6e8cbfc9da43a3ffb47dbb5a1eba83ebb76897884b9f552f15914b2d95fdb1094f852feb7c82fc8df452bada2bda9638e8b3d36e13182c33b699f1c226d84f45a51e20b474fdaae7f87ee68ae15388c57d621eeb5b2b79ce85f0cfee99a98982c78ea861d66cc98f1cbd338608d1b6b989be3494160afeb498426225e6db9ee75a6a7d2f2db40c374f8a72b692a3f71bcfcea5d6c9bce6cfe9280b0f51eaa19571dd5c5a5f790674088ca305dafb8fa8b5375f3fd0319aa35608afa3345f50fe7ad0cf3570f3b0c5fe361adcfa9937650e6ef7cde58e733b23a53a7571df1a0e408e3b3bd4d852fba7271c7fc647791c71025d6559dcef445e57dbbb5ab7d237de94659564db2cab63f2e4656f3f1cb746965dfee91679e29a53d31d9a0fa935349e55bd6cb83abdaa386ecf23220b1a2660b2d22aef3aaca2cff803872a24481ff8fd62ee2104910f0141298e8a7f3538868022ec9d2dd3f68c0722d2b7ad8663c47b6df59b9f86ddeedd77faef1d9304236694eb067a63d236833432bc4d4635d982ea3b833ed7d5edffcb811031b46d88052b4e48fdd7bfdf827881313cccffaec6c534a88a68b2abd5b57ff10d9cd45e688ae9e8e2669adafbf67eeec81e6d82d7ea0bda388a2ade50142dd3f7548dd6cb0aa568845b5e207721b67ef05032c8ce24a6269665289b8a5bed97cbe87b37a5e3092881b1aef75cb918d9bc70222013ba958d44884284368b4b964573eca493aeeb677cf7172c49d5699b849d47c9f3667be87bb238eeb6a69c19b53b7b7887b3d9fd0b3564a82ff40409b00e8596d1ae09f38020a51516259f4c5dc90d09f4238c7b7f7edb6c5b2154dd9beaed41e2a54412c6236bfabae90e985bbbd2ac7ce50fb7067b62e3728906cc51af2964bb960fd3f429df6ab27bf4516d4ee0ef3ec4f8af7a616c6aeb68e558670f384299b7c3aab3ff5f38dd2a4d9276c0ff55114843a90852194db76be25f655ca47b3421d97e26c570922b2cb7336633b96411c522e713179e547d77f1147f63bd9e1f56e5e67d1e3bab4cae4f01f080c2530e681dda1a2200408f413e8fc26bf004584f83bba7176229478b18eac576bf8fbfb078531273bf16cb0eec364e326eca467f7705112ff0a9e22d629c49f041f52a1ca7f669e9baf08b1decda8146c7d50f8c17e7e445e9b1c8f549c2ee5e57037568a070f4aa754b5e1d8b3a5bc82f0e47aa9f42b5ed4e2b48b38a4a6af338585724a6ff68abec44af6700b998e763c3ba6b65c8847bb67e3c1831f8a78b6abee241554e66cb6eeb814cf494938df4232760ab959e199c5eddccfab9621162859adc601ef2808809e1d052c48aa330169652ee90f5e2d2cbe507a057b92ff56de8bdfffffd5829236524bdbcc57fcdb16542643d2fa4a3e4a086391af61563eab93d0cffd8b8d4969bdea0519786801c547d1edc91b98f36ba16c24bcd1acbdd6182bcca4350c32fcbd600d8ee55f6f940715751f58fda8e8687a7a6424af0c2d34a7cd747909abf21d4e265b22f7363ebb3535791d2e178ffc1ee1720b10e70f4961d8dfd57003775d4bb2ff98b16b57466a7a014295941d35521b7040604c0440cf8e091b641a9980f8ebcc2cb42cc65278aee08b2f455c0e1da5665e576945ede15722856ce22057f54cade60e18b526d1dac92dd427833bb2242142f39f511ea9ff1d5dd2f2bdcc90e581954d684978ec9e08aaa76ceabebbb3258f9f4db7ac480cf06586922d24f05f302f2392ce0f4f29c60f03a55b15c05acaf2f35ece3dcc2fd81df89c3a188e40602c04607c762cd420cfc8041a4e65df44f1678f7eb440994e5a7ddfc2f7b37fd4c5585ba3b8d2669ebfb329127d2d40f44064eeba92853efff25a14d31fa1d68b79c2b95b86ca9662bd6a41f29e54e6edbc8133a3b7e76bcf2fc61dd3d87251ccebeee6ed57cb0488b5c5b9f92fa9c2e8f36d716cdcc96dca08446825adabe628935e5ddc77342e6473e4c6bdab03bef94941c723152bb9ef71b9d6395e9cbf6d68fbad3ba9b5239db58681e5b766b39dc4efd5323d70d87dc5f0fa7d68852104080c20007a76000e389908024d0551b928ad42a564b14473c6dbf12836fce84ef99fa2a31605d14e0513db37d8580e5b81acdeccc8e6d157f99ce12c2be35f4668b1667f6c5555b0028df35b8a0495fba3a3bc826882e008bb92dc3276c6c5e58e5a772f35ad386191053b8225c82d0bceaea2db7bbf118112031c1ec4c75c3d948587025069cdcc775647a2d810938ae008b7925cfe62de79b73e399e4870ff81043137ff95f7d13bab362e6d17e4654484fb5a7f1e118172736fa288e37cfcc1ad663612be636b9252d5c925fa171c101805015da7fbe1f729d8577c145ca747d2e1e7cf2a3a1a8477667bf8d86ba9a3de8ea61f1aba17d23dad51c78d8b952d0f9f59b2e259e97ddab39e8e78c6ae4c5cf7fd37d714f3967839a307c8c94d332b8b609436575f6d7d44f35ac1b036edb821c079d1bcc5be74d54c643568496b430b9a4d6bbefedd4fd64b563094b10a6559c8e905e6f30eddb71be5cff9b8cc948a6f7c5dd5f610d9ba79bd804fb1fc9a7a73572f7bbcedb6a2a35ed830db8dbec0c6b4bdae5278ad9966fb9cd7ab0c5b6a3e5857534d8de8e7675f59a1b541b7ba74983fdb4f027cc310003d3b0c1408d291c0f07a56c7cc4f573258a7f074b5e7045f0d7c079b60a0200e08000120308800e8d94140e0140800012030c10440cf4e3050100704800010184440eb8beda0183805024f24606282c7259f984aaf094c66cce89b0a76a1269b835e2183f07112003d3b4e80d33a3becd432ad9b1f2e5e6702a3d3b3a34bad7325202110000240e02926a0ebbc2e8c001bee05db9a53ea56c02687a145a65a8b3c95c6ada7146463ac0cfc508db1d5a0ce400008181301986f604cad0575050240c01809809e35c656833a030120604c0440cf1a536b415d810010304602a0678db1d5a0ce400008181301d0b3c6d45a50572000048c9100e859636c35a833100002c64400f4ac31b516d4150800016324007ad6185b0dea0c0480803111003d6b4cad0575050240c01809e86ab1e0178466ce9881fafa8cf122a1ce40c04004f04ae8a9603ccc40570bc5e84a40573d4bf46b5f5f0de8595dc142bae94860d2ad444e47e8c670cd306e600cad0475040240c09809809e35e6d683ba030120600c0440cf1a432b411d810010306602a0678db9f5a0ee400008180301d0b3c6d04a50472000048c9900e859636e3da83b100002c64000f4ac31b412d4110800016326007ad6985b0fea0e0480803110003d6b0cad0475040240c09809809e35e6d683ba030120600c0440cf1a432b411d810010306602a0678db9f5a0ee400008180301d0b3c6d04a50472000048c9900e859636e3da83b100002c64000f4ac215aa9b9781fb698979e5fa729ec6ea5a0a143a1393580a7abfad32d03eb800b155717674486beb57429fedb12b9f74275ab016a02450081e94600f4ac215a5c7ab70a17d3f2af2e65610df95bd72e0fb870536288b29565486b0ef8465dd6aa030e6e2edcc5f6e51ccbe5df142224145ece4ddde1eb945ed8ff30305cf5a02420f05413003d6b98e6b5d22e4621210a77b6a5ae46d6b5f38ec92f3d9714513028a7b4e613ee211c165d20fcbeefea893ef9c9021e3ecde1fe77bd74505238050240605c040cf6531f572d9fa6cc9dada2c6a6167c45b555dfdfb55bb2c0d186ba3a4573f5c59aba7bd86fe7ce7c91e96ea6ba6685b8ae566aedeaec2015fef39b3bed0f2de77b325631ac4d517bdda5aaea66399ab590194077570a51e51974109fe1251cc25dd601aeeb4659090e6065be1be63393c4987a84c5ef61a5ec2f1336fe24f570311f901a4e800010180701d0b3e3803796ac1d279c161da4321644ad2a40bcf2be646b495d26c7eb4899963816af989fec863bc152e11e2f5ffcbe3fc0b192d2367627c692dea8d245f36fc585b8abcf061ec5823d81a908c5679ef78c0d88d5c4597a841dbfb8443ad7c75213842492fbf8c4ce920677453f14f00181f113807183f1331c9504abe0da8a947816cec34e2b385ebbc51a751444524a96159f59557b5a783e1a4796a584447eaa1ccd75508967a5f02b8e9fcf66e3d3b254ac6497c567e609abf6257170c0b1e4539daa64830e1d05ef0660359d50c15beea2ee222b9358397afbb3193ef69a0ccdc57f3e427abd1e8e0ea0673554c00304268000e8d90980381a11a6f69ecc97973ae12c2b0383bd3d1d65a2521e1f213a4f20f8c88fe1e9ecc38e13b46ca323c48f3a5bd73f509a52c5e78630bdd99bb76712c58a38d9873fda4af76184f2f605e353a1a071b88f6af59feec4c21727954631ad645d3292f1314e2c480fe2e06e2f8a2eddeb066af631942018088c8d00fca4c6c66d5cb91494c6eb91772364ded92422b28455e58585b37a7ab09736aba7891a4d7dd48513281de7050fd597343bef57b10e6607faaadef74d5d991c54c247431b525697bf212a176bf03f7fb80e4b31a351fd59339a5a66ffb1f94c7a5060223e67675cdcbecea53f027c4000084c0481a13fcf89900a327426f0f38f37a9b4fc642eeed60e703d72f529dddbc642e5379f3b87f8649a38759ac14749e99e7012e66676fb4cf1b51ef4e8ea797c26282d3a6dd7e01110e461a36c7a69e5c7ef46c7e5e2a8e0cc8ad4ad4c924567e7336306de6d5ee7e44f754213939a5f7e79aaaf102e6eec0440cf8e9ddd84e4349ffd2b222722efecc135a84ba53d4d6934851c3d330fcf226820b16e2e7346df508fa8ac889f18abadc0f929897cb4ada2dd8389854b2eec5db92395749eb7f16b63433c4959a3727d7d35a0672962781dcaa8c841e2694560f43fdf6985479f173b8b46faa80ecf53daade5ce33f68ed6aae2a4e77605251c4269427e90c7986b60b12aebe2a21ea41e2698d579e37f77c466a1888c6331cc67bdc92844753a8752b29c83b539af7baac625c65c1e64040240e0710440cf3e8e8cdec3ab4b4b5eb45cede1f55a245e1d509618b575ce81ffdae4682ebd929d9070a80c7fea5ae83a1edd67eaccf477d6ba885efb5a84b2d82b594c7f1f1c2c1315be93884bc153685fb56e2dbf804716669133790ff27c23c4793c251331e0800010e827007ab69f85fe7c721959987047aa1e16a0b4584922b72431a2589eb3bdb6a0d28b7b332b3624ab7f7e6b34ff4f749c4c226fc3391b64fda610e4e4239a4614f6cbc994aecefe04f86c3827eb22e9ee3c50adfd159dfa4495aa2c319ad2b79a4c785421968c2a8cdf49aaf3b37fb45d1bba6e98110959eba5e2b32864b3bff67433f1a5fc6f915f90bf8b56d98af6a68e392ef6d4620aade081deded64b2787481b98e47167e20b474fdaae7f87ee68feb814ca705987b8d7cade708bf846ae0dc41a1501933eddc6d77af182213cd2af5b62a3226088ca76892e5db8d46cb7fc75a6a772beaa445878a2ea76dbac399e6bb784d8e3879da4a9fcc4f1f2ab77cd2c2ccce62f09085befe1a8ec5276541797de439e01210ca53eea15577f71aa6ebe7f2043b5064c517fa6a8fee1bc9561feea6187e1afa8575c23385563edfb3a939a33db5e7da6a2ee218deac36a6790f7ccf20a0c72537d25d38e19c68f072547b8257a9b0a5f74e5e28ef9c9ee228f214aacab3a9de98bcafb766b57fb46fad28db2ac9ae4fecf71b29a8f5fa64b2bfb766bada718a6264a694f4c364c4e49e55bd6cb83abdaa318233e5a14355b6811719d57c9c36f38a74481ffebf8831a4e06843db504a03f6b88a6b574f70f1ab05ccb8a1eb619cf91ed77562e7e9b77fbf59f6b7c368c904d9a13ec9969cf08daccd00a31f55817a6cb28ee4c7b9fd737fb6832da32d605698bd1444c9ce7faf14f102726989ff5d9d9a694104d17557ab7aefe21b29b8bcc115d3d1d4dd25a5f7fcfdcd903cdb15bfc403da44c6aa2686b798050f74f1d52371bacaa156251adf881dcc6d97b81fd20cd8da5994925e296fa66f3f91eceaaa7147e80891b1aef75cb918d9bc70222013ba958d44884284368b4b9483964821377dc6def9ee3e4883bad327193a8f93e6dce7c0f77479ca7aba5e56784da5bc4bd9e4fe8595345c03f20308000e8d90138e064c2082844458965d1177343427f0ae11cdfdeb7db168b563465fbba1e14aa0b6165625f575d21d30b777b558e9da1f6e141e4badca0c0147c1ef2964bb960fd3f429df6f355b19105b5bbc33cfb93e2d9c1c2d8d5d6b1ca106e9e3065934f67f5a77ebe519a34fb84eda13e8a825007b2308472dbceb7c4e2e9c8d8d1ac50c7a538db558288ecf29ccdd88e651087944b5c4c5ef9d1f55fc405e2f9773bbcdecdeb2c7a5c9756991cfe0381a104603dd85026103201043abfc92f401121fe8e6e9c9d08255eac23ebd51afefefe4161ccc94e3c1bacfb7092b2432f3dbb878b92f857f014b14e21fe24f850ab7033cfcd578458ef66540ab63e28fc603f3f22af4d8e472a4e97f272b81b2bc58307a553aada70ecd9525e417872bd54fa152f6a71da451c52d3d799c24239a5377b455f62257bb8854c473b9e1d535b2ec4a3ddb37147f687229eedaa3b490595399bad3b2ec5735212ceb7908c9d426e567866713bf7f3aa6588054a56ab71c03b0a02a06747010b92ea4c405a994bfa83570b8b2f945ec19ee4bf95e321feee7fb5a0a48dd4d236f315ffb60595c990b4be928f12c25864f4d9ca677512fab97fb13129ad57f5ed10e1a105141f452783d9c8f9b5503612de68d65e6b8c1566d21a0619fe5eb006c7f2af37ca838aba0fac7e5474343d3d32925786169ad366babc8455f90e27136cd4bcf1d9ada9c9eb70b978e4f708975b80387f480ac3feae861bb8eb5a92fdc78c5dbb3252d3b13dc94aca8e1aa90d3820302602a067c7840d328d4c40fc7566165a1663293c57f0c597222e878e5233afabb4a2f6f02b91422640c8553d53abb90346ad49b476720bf5c9e08e2c4988d0fc679447ea7f4797b47c2f3364796065135a121ebb2782ea299bbaefee6cc9e367d32d2b12037c99a1c4580ffe0be66544d2f9e129c5f861a074ab02584b597edecbb987f905bb039f5307c311088c85008ccf8e851ae4199940c3a9ec9b28feecd18f1628d349abef5bf87ef68fba186b6b1457daccf3773645a2af05881e88cc5d57b2d0e75f5e8b62fa23d47a314f3877cb50d952ac572d48de93cabc9d377066f4f67ced6fffb8631a5b2e8a79ddddbcfd6a9900b1b63837ff2555187dbe2d8e8d3bb94d1981d8720fadabe628935e5ddc77342e6473e4c6bdab03bef94941c723152bb9ef71b9d6395e9cbf6d68fbad3ba9b5239db58681e5b766b39dc4efd5323d70d87dc5f0fa7d68852104080c20007a76000e389908024d05d87e4d5a854ac96289e68cb7e3516cf8d19df23f45472d0aa29d0a26b66ff0e730b60259bd9991cda3aff239c35956f6ffdbbbff9826ef3c0ee05fd4f243691d2028224a65b2566d5df014dd1cb3b878e70ed164122f5a4eb9714ae6886872725e027fb0dc9cb91bdb241ae42e7117c19cc748568f6162ce765371e2a59c144f183fac1c13a63d41a9c396d6e3be4f2b5818246dc6d33ecf97f71343fb7c9f6fbf3f5e9fc74fcab70f4f75d709491abeca7878243481ee7f7505d1d77f9093ad7c53a24fd746d55418e82d6fd6ccf7387b5d97151f7c312c4dabd15718d24f19d5d14b7faa25051b621ee5ef69fcb89c2e0590f34dd377bd9e45723382aea56be53515baa4e28bf22107bd90e0c1232b49d9fd97e28f76a56e5fd1abaffc44bb73a5ecaf5a2da9a86825dab33afa815b533831ed8a0c2a32f66772f9171b047c10f0f6723ffafb14ae9ff5c1756a541dfffa59679fd9f46df81255b4473a7adad7f98df9c902b582de6ff7d6a5fabb8f672d5fbbd0f640b250319ffe0182ddd272e3eb9bceb9cb95f1e41189938f5c95c531daba1a1abbbf9728d7d26f91e8bba5a7af25739356aa9f5d893c0c6ded36df25e192ae7fffeb9e6cf9da64f751a7bb2f12b72ce5a59827b7ef3816ab164db7596e5d35de7f4c22e5ca657497b6dfd4169aa08c96ce20cebe3693395cae8e8d98d1db526fbad925895cac7c2539d2753dd840675353c7c385abd6c6d29a3fd870fdec0f4850f05c0079f6b9059ef92a307e9ef5b51526ea23cf321146be2681cfc1f89245bb10800004dc02c8b3381320000108f02b803ccbaf2f5a8700042030ce8a3e5020e0ad4050105d97f4b6323ff582a64d1b12c2171904da811f5db43a3902c8b393e338355bc137b54ccdb863d6be0a60ddc05731d487000420e09b80b7d7750d11320d5fbae79b2dffb5e9efaab82330ffcc3ef440ef3f2b84450c1f468caafe10f036cffa632ce803021080008b0258376031aa98130420202401e459214503638100045814409e6531aa98130420202401e459214503638100045814409e6531aa98130420202401e459214503638100045814409e6531aa98130420202401e459214503638100045814409e6531aa981304202024016fef23f33ffaddcba5a5421a39c602010840206002797979def7ed6d9ea5f737a09bc697a6bd1f046a42000210108b005d04b8e8e39b4eac1b8825b818270420205601e459b1460ee3860004c422803c2b9648619c10808058059067c51a398c1b0210108b00f2ac582285714200026215409e156be4306e0840402c02c8b3628914c60901088855007956ac91c3b8210001b10820cf8a255218270420205601e459b1460ee3860004c422803c2b9648619c10808058059067c51a398c1b0210108b00f2ac582285714200026215409e156be4306e0840402c02dede17512cf3c1388529603e7320e368e3eaa8b1a37b68206f37ebde5448c71ef071bfa75e6f4b4a9547e07cf6110ed5fd2280f3d22fcc53be13a7d54c4c86ebe339dc1b708e57ec4399f9ccde8c9de507aff5ca53227c7819aa42c05f02c8b3fe929eeafd70ef58f79d6fcf7e35d23e3aaf86487f6c72745a0768e3e13371324ff5934cb0f3c7a929d8d03038b0a8989810a934648299d92d2d37bebef9e0f120099ea77afd95f8e8d0d1156de6faabed1ddf3908894a4c793925d1dd4e7f77c79dcebbb466b3f1464fd4f2d8f9eeacedec6ab8d4d4f21d2df7ac4c88d3d2d26c93254439daeaea5a24f314c9a9c932fc27180d8dbd4917c02936e9a46870620189648263ce8693fb76e5967b1ecda934eddfa172973cedbefcfb4da955268fe39ac367abdf5f1ad1571df76289abb82a3bb58a14d70d15caac2d655b94c70d9e958bcfe90ae5f42db5d5f45be54acfe50bbada908dd5060f2a3ce54300d71bf0a18a36c717301bafb63535dc6a18fe57dfd063e516112cfa23ee249b75ea7ced9df6b2b27c5af8e79dea53972dae86baff14e74ab29ac365a6f65ae3f92c35218623dbd71feb25d2f4e66b45f91a5a2ded68d5d9e6b765a4af2acb956435f965c6e65ad3c51c7ad0509491f529b7b8202131ae16e977dde51c2d4e53e7af5bfa63572d9eb58707084c2c80f7b313dbe0c8640b9ccede707a749bfbaef5e6a6ccf8f258112dced2b51fca48a44fe2f77e744e3a403fda2af9f08b1dafed7edaf4f7e3b4547db8f6c2fbf1dc099b78a8de640b535799f65f6ac9deaa48f9c98a385aba6e53fa5245a8bde34cb18e562ed6eb0ba3692951ecd7df0d5911775c977da1e5175b13b822ba1519ab339323c821f71e7e42805f01e4597e7dd1baa7c0ea3d87d725be3052627f6857cd0923b65b57686624daf48d5c92756ff2cd7bd348b95ed778df496c57afd0c2b477b6b992aceb78a86adb275baaf6eb5a6fde270aa9d3ce150e3a9e1012dadfd9c1ed988c759f7d163c38489f4a82073b5d0b0edf0fd00aee6dcbb225781b3b8c8147fe059067f937460fc3023f7bb7285335e6d32d426c12eeb25ab56a81e7110999c9bdaab1ef09914ab9a7ab57c9b982e14d12c25dc0f0cdedffd2b7b7c365dce3c3ffb4ba767585995cf2f6dc06e92768ee4d93368f7b353608f8490079d64fd0e8860ab8df728ea570381ed02253d33d1b9179a65a5aa8d6444bc963d7655b374df708fd4d7ff4a656c78f2e20a1e173b8126de58592f564e059669d2191381d64d65cfa723377541632a61fae101b047813c0e760bcd1a2612f05a4f12fd3cfb548c5f5c6be9157f4fef31f3574276af66cfa63a98a3eadf9fcabfe91c3c472e54405dd9b13133652162ce19ec7bca4e04aee7e3b2b7a7eeca245ae7f736ffc41bb31417ba5cd3a52194f20e04f01e4597f6aa3af7105a2d71768e9810fd6bc555bdf6977daba2e7ffa9bd4025a92fe4b0d5d32885cb5299deee8720ffcee4c8fd566efebf8fcc0f6126ec975cf6a8f65d686f3356d1d9610e51b59f488a1207bef49b3c56ab75aea8efdfae0c7f4222fd982042c16501a6c0110c0ba4100d0a760970e3bf7a704cf57484713c87794bcf795a9b0dc50b026e1f9913d9585bbb977b2245475d878aa7565f6f5233b371e1939ae3e6afae31257e69ce1fa5953905953a03de738fd6e7355bd32b3b53c37a33c77a4768eee4335ad6675dca745e6317f9236520b4f20c08b00f22c2fac68748cc0bc7587de3bf5ceb2c5ae8c38e618b71bbdf5a471e5af6abfd05d232f8411fb6cd5cfb7ac495e347db8a62c797775ef6b5ffeed4c6327918591e0c455699bdf88953e3b7be53b4e54066f30debe1f3c5b114ec84cc5b6eafe3b75d567eb1a7b42c2c242e62ddfb06df392f9aeaea549fbaa2adf0a564cf43769c31de21102932910343434e44d7b4f0939515aaac9cbf3a632ea400002106055802eb65e2c2dcdf32519627d96d59301f38200048422803c2b9448601c108000ab02c8b3ac4616f38200048422803c2b9448601c108000ab02c8b3ac4616f38200048422803c2b9448601c108000ab02c8b3ac4616f38200048422803c2b9448601c108000ab02c8b3ac4616f38200048422803c2b9448601c108000ab02c8b3ac4616f38200048422803c2b9448601c108000ab02c8b3ac4616f38200048422803c2b9448601c108000ab02dede7f36c80560282d651502f382000420c09380b7f79fe5a97b340b010840807901ac1b301f624c10021008b000f26c800380ee210001e6059067990f31260801080458007936c00140f7108000f302c8b3cc871813840004022c803c1be000a07b0840807901e459e6438c094200020116409e0d7000d03d0420c0bc00f22cf321c604210081000b20cf063800e81e0210605e007996f910638210804080059067031c00740f0108302f803ccb7c883141084020c002c8b3010e00ba8700049817f83f72c5dbca23262afb0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The basket and its data are presented in HTML. The data and its associated View in HTML changes over time. There was a time when we used jQuery (or a similar DOM manipulation library) and a bunch of Ajax calls and callbacks to keep the two in sync. That often produced code that was not well-structured or easy to maintain. Bugs were frequent and perhaps even unavoidable.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The need for fast, complex, and responsive Ajax-powered web applications demands replication of a lot of this logic on the client side, dramatically increasing the size and complexity of the code residing there. Eventually this has brought us to the point where we need MVC (or a similar architecture) implemented on the client side to better structure the code and make it easier to maintain and further extend during the application life-cycle.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Through evolution and trial and error, JavaScript developers have harnessed the power of the traditional MVC pattern, leading to the development of several MVC-inspired JavaScript frameworks, such as Backbone.js.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Client-Side MVC - Backbone Style\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's take our first look at how Backbone.js brings the benefits of MVC to client-side development using a Todo application as our example. We will build on this example in the coming chapters when we explore Backbone\u8217's features but for now we will just focus on the core components\u8217' relationships to MVC.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Our example will need a div element to which we can attach a list of Todo\u8217's. It will also need an HTML template containing a placeholder for a Todo item title and a completion checkbox which can be instantiated for Todo item instances. These are provided by the following HTML:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+\line
+ \line
+ \line
+ \line
+\line
+\line
+
\line
+
\line
+ \line
+ \line
+ \line
+ \line
+ \line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In our Todo application (demo.js), Backbone Model instances are used to hold the data for each Todo item:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // Define a Todo Model\line
+var Todo = Backbone.Model.extend(\{\line
+ // Default todo attribute values\line
+ defaults: \{\line
+ title: '',\line
+ completed: false\line
+ \}\line
+\});\line
+\line
+// Instantiate the Todo Model with a title, allowing completed attribute\line
+// to default to false\line
+var myTodo = new Todo(\{\line
+ title: 'Check attributes property of the logged models in the console.'\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Our Todo Model extends Backbone.Model and simply defines default values for two data attributes. As you will discover in the upcoming chapters, Backbone Models provide many more features but this simple Model illustrates that first and foremost a Model is a data container.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Each Todo instance will be rendered on the page by a TodoView:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var TodoView = Backbone.View.extend(\{\line
+\line
+ tagName: 'li',\line
+\line
+ // Cache the template function for a single item.\line
+ todoTpl: _.template( $('#item-template').html() ),\line
+\line
+ events: \{\line
+ 'dblclick label': 'edit',\line
+ 'keypress .edit': 'updateOnEnter',\line
+ 'blur .edit': 'close'\line
+ \},\line
+\line
+ // Called when the view is first created\line
+ initialize: function () \{\line
+ this.$el = $('#todo');\line
+ // Later we'll look at:\line
+ // this.listenTo(someCollection, 'all', this.render);\line
+ // but you can actually run this example right now by\line
+ // calling TodoView.render();\line
+ \},\line
+\line
+ // Re-render the titles of the todo item.\line
+ render: function() \{\line
+ this.$el.html( this.todoTpl( this.model.toJSON() ) );\line
+ // $el here is a reference to the jQuery element \line
+ // associated with the view, todoTpl is a reference\line
+ // to an Underscore template and toJSON() returns an \line
+ // object containing the model's attributes\line
+ // Altogether, the statement is replacing the HTML of\line
+ // a DOM element with the result of instantiating a \line
+ // template with the model's attributes.\line
+ this.input = this.$('.edit');\line
+ return this;\line
+ \},\line
+\line
+ edit: function() \{\line
+ // executed when todo label is double clicked\line
+ \},\line
+\line
+ close: function() \{\line
+ // executed when todo loses focus\line
+ \},\line
+\line
+ updateOnEnter: function( e ) \{\line
+ // executed on each keypress when in todo edit mode, \line
+ // but we'll wait for enter to get in action\line
+ \}\line
+\});\line
+\line
+// create a view for a todo\line
+var todoView = new TodoView(\{model: myTodo\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 TodoView is defined by extending Backbone.View and is instantiated with an associated Model. In our example, the {\f1 render()} method uses a template to construct the HTML for the Todo item which is placed inside a li element. Each call to {\f1 render()} will replace the content of the li element using the current Model data. Thus, a View instance renders the content of a DOM element using the attributes of an associated Model. Later we will see how a View can bind its {\f1 render()} method to Model change events, causing the View to re-render whenever the Model changes.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 So far, we have seen that Backbone.Model implements the Model aspect of MVC and Backbone.View implements the View. However, as we noted earlier, Backbone departs from traditional MVC when it comes to Controllers - there is no Backbone.Controller!\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Instead, the Controller responsibility is addressed within the View. Recall that Controllers respond to requests and perform appropriate actions which may result in changes to the Model and updates to the View. In a single-page application, rather than having requests in the traditional sense, we have events. Events can be traditional browser DOM events (e.g., clicks) or internal application events such as Model changes.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In our TodoView, the {\f1 events} attribute fulfills the role of the Controller configuration, defining how events occurring within the View\u8217's DOM element are to be routed to event-handling methods defined in the View.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 While in this instance events help us relate Backbone to the MVC pattern, we will see them playing a much larger role in our SPA applications. Backbone.Event is a fundamental Backbone component which is mixed into both Backbone.Model and Backbone.View, providing them with rich event management capabilities. Note that the traditional controller role (Smalltalk-80 style) is performed by the template, not by the Backbone.View.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This completes our first encounter with Backbone.js. The remainder of this book will explore the many features of the framework which build on these simple constructs. Before moving on, let\u8217's take a look at common features of JavaScript MV* frameworks.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Implementation Specifics\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 An SPA is loaded into the browser using a normal HTTP request and response. The page may simply be an HTML file, as in our example above, or it could be a view constructed by a server-side MVC implementation.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Once loaded, a client-side Router intercepts URLs and invokes client-side logic in place of sending a new request to the server. The picture below shows typical request handling for client-side MVC as implemented by Backbone:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000003e7000001620806000000941ca9fe0000000473424954080808087c086488000000097048597300000b1200000b1201d2dd7efc0000001c74455874536f6674776172650041646f62652046697265776f726b7320435336e8bcb28c00000015744558744372656174696f6e2054696d650033312f332f3133614c947a0000200049444154789cecdd7d7c9b777defff77eeb85b6389524a1717a4a45d1b7707aca4ccded97a90ecba1d834364bb9cad405ad9a1edd680633bb44dda94f8065212bac5760c8171135b49b8d9686d2bc0d8a8634b8cf3d8ec431bf9c7394bda1f6de4d2047e0768647b034a9be8f7877c5d9164c9967c77f9e6f57c3cfc68235d371fc9d7f7f2f5f9deae88c56231010000000000cbacb43a000000000000963b927300000000002c46720e0000000080c548ce0100000000b018c93900000000001623390700000000c06224e70000000000588ce41c00000000008b919c03000000006031927300000000002c46720e0000000080c548ce0100000000b018c93900000000001623390700000000c06224e70000000000588ce41c00000000008b919c03000000006031927300000000002c46720e0000000080c548ce0100000000b018c93900000000001623390700000000c06224e70000000000588ce41c8bda2f7ef10b7ded6b5fb33a0c00000000981192732c6a3ffbd9cf74f050bbeeafa9d12f7ff94babc30100000080692139c7a2f7fb6fbf56bf7bddeb55b373a77ef39bdf581d0e00000000e48ce41c8bde9ad7bd4ebb1f7f5c57bec3a13f71bb75e6cc19ab4302000000809c909c63c9a86968d0bdbb77ebc1471fd50f7ef843abc30100000080ac919c63c958b56a956e2bafd04776d4aaeaa31fd5d1e3c7ad0e0900000000b2b2daea0080d976f32db7e8cbdff9aef6d5d7e957172ea8bea6c6ea909694152b5668c58a15568701ccbb582ca6582c667518000060892239c792f48eebae53c3e73eaf838f3caca1a1211dfcec6775e595575a1dd692b062c50a3dfbda45abc300e6dd8dab57591d02000058c2e8d68e256bdd3bdea1bf39fe35bde1ad57ebaeea6afde77ffea7d52101000000405a24e758f26a1b1b759dcba5f75754e8d4a9535687030000000013909c63c95bbd668d6a1a1af597f7dfaf1d0f3ca0debe3eab4302000000802424e75836cabce5fae4e73eafbb7d3efdc3134f581d0e000000009848ceb1acacbff1461d3dd9a7634f3ca1864f7d4afff11fff6175480000000040728ee5c771fdf57af8608b86ce9cd1b6fbeeb33a1c000000002039c7f2f4d66baed1e3c78eebf7ae7e9bb65456eadcb97356870400000060192339c7b2f689c71ed3e65b6fd5f6fa9dfaf18f7f6c753800000000962992732c6baf7fc31bf491fbb7eb7d5b3fa2db6ebf5ddffece77ac0e09000000c032b4daea008085a0f4bf7f40f9df73e8f39f6ad6c8d898b67ee8435687040000006019a1e51c1877e3bbdea51d4dcdfafa934feaa1871fd6af7ffd6bab4302000000b04c909c0309aebfe926edeff4ebb9175f54f5bdf791a003000000981724e7408a37bee94d6afebb2fe9cd6f7fbbfee2235bf5939ffcc4ea90000000002c7124e7401a6f7cd39bf489c71ed39fbcff7ddaf6577fa5e79e7bceea90000000002c6124e7c024fec7b68feaa3bb77cb5d52a2c0b7bf6d75380000000096289273600a7f726b99bef28fdfd3578e1d53dbe73ea7dffdee775687040000006089612935497ebf5fc11ffed0ea30300dbffecfffd4c58b17e7fc3c37bcf39ddaf5b707f590cfa7b367cfaaf56fff76cecf0900000060f958118bc562560761b5c71e7b4ccfffea65dde6f55a1d0aa6e19a6baf55bed3392fe77ae5b7bf55d3c73fae55affe4ead8f3fae6baeb9665ecebb90ac5cb952cfbe36f71522c04273e3ea55ba74e992d561000080258a9673496bd6acd15bae7eab6ebee516ab43c102f7fa37bc419f3c74485fffc2616dafafd7673ff5295d7ffdf5568705000000609163cc3990a337bee94dfae8271e504965a56e71bb150e87ad0e09000000c02247720e4cd37beff8a03efda52fe9c14f7e525d3d3d5687030000006011a35b3b3003ee3f7f9faefefd756afde4a37a261c56c39e3d5ab3668dd56101000000586468390766a8c0e552eb37ff5e83e1b01e6d68b03a1c000000008b10c939300bdef87bbfa7c7bef2559dfdfffeafbc1ffca05e7cf145ab4302000000b088909c03b3c476e595daf7e52fabf03defd15f6eddaa9ffdec67568704000000609120390766d95d1fafd14776ecd07b4a4af4831ffed0ea70000000002c024c0807cc813fabbc43575dfd36ed6f6d552412d187efbc53ab5753dc00000000a447b600cc919b6fb9456fbeea2a3d70f75dfac9f3cfab99c9e2000000006440b776600e6dd8b8519ddf7f4a675efca9763ef490464747ad0e09000000c00244720eccb13cbb5d0f1d38a0918b97f4d73535faf9cf7f6e75480000000016189273601ed8aebc52bb1f7f5ceb5d2efd37b75bfffb7fff6fab4302000000b080909c03f3e8ee9a1daaddb74f8f3435a93f14b23a1c000000000b0413c24dc34030a8c15050456e8f8a3d9e8cdbb537354a926a1a1acd7db255e4f6e4b4fd54e7586bb7abd8ed5181cb95d5f1a68a37d7e3216ee5ca95fab3ca3bf4e6b75ca5c6cf7c46fffe7ffe8f3eb67dbbd5612147d9948f8242d7a4f7070000002011c9f9340c86826a6f6e56cd5e4d9e9c37374b8a27cec63ed9aad9abdcb6cff21c1b0b0b75bcaf5f7976fba4db651b6f91dbadc35ddd531e6fb13b1789685f7dbd7cb5b5b3927015b9dd5a7fe38dfaeb2d1f50746c4c7b76ed9a79909837d9968f6ccbdb6c1a8d46b5afbe5e953e1f95030000008b08c9f93ca9f455a9c8ed497a6ddfce7a9d191ad223070faaa030b905fa5aa733a7ed1355dced53a5cf97f4dad84854879a9a74666848db2b2b74bcaf3fabb8d31d4b924e0f85d5ded4a4c15048feb656d534346675bcc5aacbdfa9de1301f96a6b67ed986fbde61a7df1c4b7f5f8430feaeeea6d3af8f86775d55557cddaf161bd5ccbdb4cf5067ab4abba5a63232369cb2d000000162e92f37992ef742adfe94c7acd684dcbd4fd35d7ed0dd73a1d69df2f727bf4eeb75ca9c15048a3d16856ad79998e55ecf1a8a0d0a5bb6e2d55675bdb924fcee7ca5bafb9469f3d7a4cad7bf7ea8ebffc4b854e9eb43a24e4e8d8c9be0965642018d4ae6dd53a3f3cacc15048e7229109e5792e9c0e8735363232e7e7010000c0ec23395f46f2ec7615b9dd1a0c85743a1c9e71975763ff74c9c04030a82ebf5fe78623cab3d955e471abd25735a14260341a8db74a070292a44a9f4f95be2ab537352adfe954a5afca3cde6028a84a5fd584242775db5c6348dc4e92cabcdea4edbafc9d1a189fbcadcbefd7602838eb951175cdcdea686dd10d1b37eaf8d1a32a2a2a9ad5e3637e157b3cbac3e733bbbebf94929c9f8b44d4d9d6a6d343614952bec399b61b7ae2d8f6d46bdf98d3c2b8f613af53e9f2b59aba5f6ab9282bf7a62d3b89e7358e5dec765311070000304748ce9799d16874d68e35100c4a92d6391c49afefaaae56f7517fd26bbd2702eaf2fb93c6df8e46a3da5a5aa2334343e676462b637b73b38adc6e336930c6f816b93d1393f3946d7389a137d0a3ed959549db0d86426a6f6ad289674e29dfe91c4f72e2498f71ccb94850aaebeaf5077ff8876adcbf5f357ff5577aefedb76bc58a15b37e1ecc8fd3e1cbd77562855097bf53bbb76d4bd93aa4eea37e55dcedd3818e0ef3d5c4b1eda9d7fee5d7dde309f4e5eb54ba7cad26ee97a95c74b6b525958bc4f30e8442e67147a35192730000803942723e0303a19034de7ab5180c04833a3334a4b5365bd6ade62f4586cd243c516f20a02e7fa724e9d19616f3f5f6a646751ff5ab6c8b57350d0d2a70b9341a8dcadfd6aaf6e6e6a4f1b7ede363e0cbb678b5a7a545f94ea73adb5af5d8ce9d33fa9cb9c4f0e9fa7aadb5d974b8ab5bc51e8f399956f751bf3adbdab4a7a5457b0eb6a8b3ad4ddd47fd538ef79fa95b6ebb5d57fffe3a6d7bdf9faba9a141f7dd7bef9c9d0bb3c368a14ef4542060563aad7338cc550d7a033d6662beb1b0503b1a1ab4d66697bfad4dbd2702ea3eea579eddae3d09652a5bc618732391aeb8dba76b9d0e5d3b9e981be54292cab678e5abad3593f0c9c6c62726fc7379ed0300002c7724e7333098d0a2b490a4ab34381d1e52ef8978d7f1aa1c2635eb3eea9fd0d26658e770e8404787cabce5e66b4ffafdf119dcbbbbcdd7f2ec76b3b5adbdb959a7c36115b85ceaf2776a9dc391b46d556d9dc6a2d19c66aa4f954b0ce787879392a73cbb5d073a3a74add3617eae02974bd73ae3bd03e66379ac1bfecb7fd1b7fef5dff4d9871ed44be7cfeba14f7c42575c71c59c9e13d397a97c48d25a9b4d5fe8ba7c1d7ebabede7c3db1a5bad8e3d1d6d292f8048b87da54555b9bf318f54a5f95ce4522e63d29b59bfc93fe789c1b0b0bcdb261bcdfdedc9c716cfc3a87435febebd75abb5de722919c6202000040f648ce6720d34ce686bb6e2d9dc7682ecb5469b0d66653556d6d4edd528bdc6e15bbdde6bf9ff4fb757e7858655bbc49c9af149f8ceafcf0b0ae753acdf1b0895e8a0c4b9206c65b19e3334a574dd8aed25735ede43c97180a5c2e730c7ec986f52af396abd8e35699b7dcf2aebb6fcbcf57dda73ead47eeb947effac33fd4073ff8414be3416ed6da6caa6968489abbe05c24a2f3c3f1ebafcc5b3e61ee834a9fcf2cb703a1a02a9d55b3168f512ea4780553626f98b50971a43bef1d3e9f99b0e7b96839070000982b24e73390692673aba5ab34c8b3dbcdd6e15ca44e0055d3d0a8ada525ea3d11d0aeeaeaa4f1b1c678f6a97a148c45a3e6b67976db84f76732ab752e3148d281231ddab5ad5a83a150422f816d495dedad70fec517f5c83df7e84f8bfe88c47c8133666b3f178998d7d2d8c888bafcfea4caa797125a9d8d9e1889f21d4ef3ff67bb853a71ae89c97ac3a43b6fea928e000000981b24e74bd05c571a1ceeea56c986f5ea3eead76de5dea46eedd2d43d0aae753a931295b9904d0c52bc22e0785fbf4e87c3eaf2fb35108a8fcbef3d11d0bf0f85157ce1ec9cc699ceff3338a8af3cfe596dfd1f1f64ccf92292ef74ea7057b739c9e199a121edaeae9ed0c3c46aa9bd6192dff3cc6f3000000030919c2367c6b8eced9595da555dadfe173c492df3a787c22af6744cd86f341ad55834aa7ca7d3ec4afb542030a10bf9e97038eb58525bfa728961341a556fa047f90ea78a3d1eed19df77341ad5eeea6af59e086820189cd7de11bd811ef95b5ad4f8e8a37aefedb7cfdb79313bf2ec761defeb57c986f51a1b1951ef89807a033de343263ce676e9ae7b63394169ea2439d796f5c45e33f90e67d2b9cf45227a29125990bd80000000969395560780c5a9cc5bae22b75b6323236a6f6a9274791df5334343e64cee89b65756a8e4ba0d1a08069567b7ab6c8b37edb6c6f112ad35973e0b24bd7e2865db5c6290a4dddbb669d7b6eaa46ebf7976bb79bed471c173e9898e23fac2a73ea5a35ff90a89f92266545e193e5d5f6f5e5f1577c77b73a45e9ff19e1bf17f6f2c2c3413e5c4f1e089d77eea759fced848f2355d34de5ade7dd46f56808d46a3fa486989eebab55437ac5a39ab4b2d020000203724e798b60347e20988ff509bf9b0bfe7608bd6da6cdabd6d9bb69696a8bda951fbeaebe5d9b05e83a150bc4bed78e251d3d0606ebbabba5aed4d8df26c586f4e1897e8b6f1aef3fe436de6b65b4b4b747a68622b7bb631e4d9edaab8dba7f3c3c3dab27993da9b1acde3761f8dcff89e3a4e7fdfcefab413cdcdc4d8c8881edbb95303fff44feafed6b774c30d37cceaf131ffcabce52adbe295249d1f1e96bfad5592b4a7257e6d4af18aa12d9b37696b6989bc376fd6d8c888d6da6c66b9922e5ff752fcdadfb279933c1bd6ab37d093f6bc897324ecaaae36af7f295e2e0cde9b376b6b6989b66cde644e1457b377efbc56460100002019c939a62ddfe954cddebd92e249ab14ef3e7bbcafdf9c05bdbdb959fe436d3a3f3c2cdf8e5a1d4e5856cad8769dc3a1eea37eb537376b2c1a4d6a754c3cd7fe2347b4d66633b71d8d46931299d4e36613c39e961633416f6f6e3697942a72bb93b6abf45569adcda6334343e6526cb3e553351fd7eb5efd9dbe71f4a8aebbeeba593b2eacb5bfa3c34cc48d6b26cf6e57ff0b67935ad08d890b8bdc6e1defeb4fee829e70dd1bdb1b5de7d3317ab448f14a9fa435ca5d2e1d3bd9a7758ef8647483a190ce0f0fc76796dfbbd7f2150a00000096bb15b1582c667510567bfcf1c7f58b4b9774ef830f591dca92628c659534e578d6d3e1b046a35173bb1b56ad3493955446b7f86c669fcf3686d168d44cb80b5cae8c2d884677f8d9189ffbc299336ad8be5db7badfa3863d7bf4bad7bd6ec6c79c0f2b57aed4b3af5db43a8c25c1b89eae753a275d19c0b83eb3bdee8df29469fb5cca262ebb71f52a5dba74c9ea300000c01245722e92f38568b2e47c2938f5afffaa8e837fabbff8c00774d7d6ad5abd7af1cccd48728ee58ae41c0000cca5c59311004bc40ffef99f547fe79dface77bfabf7dc728bd5e100000000580048ce8179f2daabafeac9ce0efdaf9327353830a08d1b375a1d12000000800582e41c0bd273179756d7d1dfbdf28a3ef3894f68e467e7d5ded222e724e38b010000002c3f24e7c01c1b79f9653d72cf47f5f6b7bd4ddfeeee9e7a0700000000cb0e4ba90173e8853367d4b87dbb6e292ad2e75a5bad0e07000000c00245cb393047068241b53736a876fb767df8ce3bad0e07000000c00246720ecc81ef7cf31bfafae73ea7038f3da652d69106000000300592736016bdf2dbdfaaa3e5a07e120ecbff95afe8a69b6eb23a24000000008b00c939308b3ef3894fe8c24b2fe968c7115d75d55556870300000060916042386016bcf8fcf3faab2d1fd0b56fb6eb1fbef17512730000000039a1e51c98a1f32fbea8439ffca42adeff7efdf53df768cd9a355687040000006091a1e51c98817febefd3fbdff54efda5778b6aeebf9fc41c000000c0b4d0720e4cc3c5d75ed377fefe9bfac18913fa4130a8cd9b375b1d1200000080458ce41c9886b6c6469dfe5f83faca17bea0ebafbfdeea70000000002c7224e7922e5dbaa49fbe705683a190d5a12047976297b4e1861b75f5ba75f372bed1685407f7ec51f4fc39059f7a6a5ece0900000060e95b118bc562560761b5e79f7f5e1fbdf75ebdfef5afb73a14e4e8d7bffeb52ead5aa5cede93737eae7391885a1edda3ebf2f3b577cf1ed9edf6393fe742b472e54a3dfbda45abc300e6dd8dab57e9d2a54b568701000096285ace255d77dd750af6f5591d06a6616868481fdbb973cecf1379ee393db075ab767cfc63fa6855d59c9f0f000000c0f242720e4ce15fbeffcf3adcdcac8647f7a8b2bcdcea70000000002c4124e74006175f7b4d47db0f69e0e4497deee041fdf11fffb1d5210100000058a248ce810cbef4d903fa515f9f9ef8e63775f5d5575b1d0e00000080256ca5d501000bcd2f7efe73edb9e71efde617bfd0937ffff724e600000000e61cc93990e0c22f7fa94fd57c5c7f706dbe1edfb74f6f7deb5bad0e09000000c03240720e8cfb3fcf3ca32d9b5c7a7f5999f63537eb8a2baeb03a2400000000cb0463ce0149ffd6dfa7bfffc21774fcd8319595965a1d0e000000806586e41ccbdedfedff8cbe7decb8bef1b5e3dabc79b3d5e100000000588648ceb16cfdee9557d4ded4a4f3cf3dab534fff486f7ad39bac0e09000000c03245728e65e9e55ffc428fefdaa52bd6acd6912f7d89c41c00000080a598100ecbce2f7efe73fdd5960fe8ddffe50fd5f9e52febaaabaeb23a2400000000cb1cc9399695c150480f6efd88eef5f9b4fb8107ac0e070000000024d1ad1dcbc8b7bff1757def1bdfd0a7f6ee55a9c763753800000000602239c7b2f0b5c39fd7d73ff739fde377bea3ebafbfdeea70000000002009c93996b4b191117daeb9592b7ffb1bf5f5f6eada6bafb53a24000000009880e41c4bd66f7ff31b357d6cbbde66b7eb6f0e1c505e5e9ed52101000000405a4c088725e9b91fff581f76bf477f78dd75fad2e1c324e60000000016345aceb1e43cfdc31faaebc8113dfad043fae01d77581d0e000000004c89e41c4b4ae06bc7f5c54f7f5a47befa55bde7965bac0e0700000000b242728e25e1d5dffd4ec73ed7aea78341fdf33ffea3aebbee3aab435ab262b1986e5cbdcaea308079178bc5ac0e0100002c6124e758f42e5ebca8e61d3bf4bbe8057de5f061bde31defb03aa4258d0405000000987d4c0887456dcd9a353afbecb35a7ff5d5eafa877f203107000000b028ad88d10c8645eebbdffdae6ebffd76ad59b3c6ea5000000000605a48ce0100000000b018ddda0100000000b018c93900000000001623390700000000c06224e70000000000588ce41c00000000008badb63a0000407acf3fffbc9e78e209ad5c99b91ef5d5575f557e7ebe7c3edf3c4606000080d9c6526a00b040794a4bf5fb7f7083debe617dc66d7ef57f7fa14ba323eaf8f297e73132000000cc365ace0160817afdeb5fafff7ee79d2a72bb336ef3f40f7fa87f3e76741ea3020000c05c60cc3900000000001623390700000000c06224e70000000000588ce41c00000000008b919c03000000006031927300000000002c46720e000bd46b172fead2a58b5687010000807940720e000bd4effddeef69d5aad55687010000807940720e0000000080c548ce0100000000b018c93900000000001623390700000000c06224e700b040ad5ebd5aab56adb23a0c000000cc0392730058a0fef33ffe43afbdf69ad561000000601e909c03000000006031927300000000002c46720e0000000080c548ce0100000000b018c9390000000000165b6d7500403682c1a082c160daf7ec76bb3c1e8f5c2ed7a4c78846a3eae9e9514f4f8fa2d1a824c9e3f1a8bcbc3ce3be89e7b5dbedaaababcb78fcc6c646f3ffabaaaae4743a278dc70a8d8d8d723a9daaaaaab23a1460419a491931ee170bb1fc53f60100580462c022d0d0d0109334e98fdbed8e5db87021edfedddddd319bcd96715fafd79b76dfd4f34e76fcc4edfafbfb67f3e3cf1ae37b9a8eb367cfc6bc5eef82fd6c4bd1edef7d6fec785f7fecb98b9732fe7c23f48358d53df7581dea9231933262dc2f166219a1ec0300b0f0d1ad1d8b8acfe7537f7f7fd24f4b4b8b0a0b0b150a85e4f178cc5671434f4f8f2a2a2a343232229fcfa753a74e29168be9c2850beae8e890c3e150201090c7e3c9785e9bcd661e2b1da375ddd86e29eaecec542010b03a0c00f38cb20f00c0fc2039c7a2e2743ae5f178927eeaeaea140e87e5f57a35343494d4f53c1a8d9add383b3a3ad4d9d9697661b7dbedaaaaaa52381c566161a186868692baa6272a2f2f97a48c5deb7b7a7ae47038a6ec5a0f00000000e9909c63c9e8ecec9424f9fd7eb3f5bcb3b3d36c31cf34d6d26eb79bfbb6b6b6a6ddc6e974cae170a46d390f87c31a1e1e9eb4e53d9d6030a8c6c64645229109ef3536369a31199fc3a838e8ecec342b265a5b5b27f41430b4b6b6266d9749341a556767a7cacbcb932a3c122b223a3b3bcd7f27c692fa79aaaaaacc71fc99624bdc6eaacf80e521f19aeae9e931afc5c4eb36180c9aafd7d5d5a52d37c6fed95c8752f665c4387fb6c79d0a659fb28f856baaebb4a7a72763f90d87c36a6c6c34cb4c62594fbc8755555565bc872596c9aaaaaab48d0294256009b3ba5f3d900d632c674343c3a4dbb9ddeea4319fc6bfbbbbbba73c476161e184f1a289e7adadad4d3b9eb4a5a5c53c47eaf9b3f94ce9b655caf850e3b8460c893f8585854963e12f5cb8607e96c41f9fcf37e1b867cf9e8d391c8e8c63f13b3a3a92ce9ff893c838f654b1a58ecd377e6c365bececd9b3537e67cbcd7219733ed9f55d5b5b1bebe8e8487bcda4ce0191ed75984b19c9e5b8d98e39a7ec53f6b13065739d1af7a396969609fb1be5e1d4a953b158ec72594f574e52affd4ce5d728ffb9c40860f1a2e51c4b8ad17a6dd43487c3e1a4d7b3d9d7d827d3fba9ade7462b97d1f57d2eb5b5b5a9a5a545b1584c67cf9e35bbf227b68eb5b6b66a6868483e9f4f67cf9e552c1653474747da56ffbaba3a0d0f0fabb6b656172e5c30c7e2b7b4b448ba3c037d6b6bab7c3e9f24a9a5a545fdfdfde6311a1b1be5f7fbe5f57a93c6f337343468686828e97ba9abab93cd66537f7fbfb99dcfe7d3c8c8c8942d9758fa3a3b3bcd6be3d4a953b2d96c6a6b6b535d5d9d3a3a3accebbeb0b05023232349d7b4711d1616169ad7e1d9b367e5f3f9265c87b994915caeefb944d907e65e36d7a9715d27f67031641ae2e6f7fbcdf29be9da37caafd7eb35cb6f7f7fbf791f349e4d284bc01237cf9501c0b464db729eba9dd2b4f4e4728ed4d76c365bcce17098ef5fb8702126c5677b8fc526b6dc6773be5c5acf523fff850b17620e872366b3d9ccd752634c3d5fe2716b6b6bcdd85319e79c2a5e87c391711668631fa3154152cce1704c68f16c686830b7c165cbade53cb5878bd15a9c7add1b2d4789afdb6cb6b4ade989c737aeb15cca482ed7f75cb69c53f681b997ed75eaf57a6392925aaa8dfb52622bb7510e125f8bc5e23d5752cba4517e53cfdddddd9db45a02650958da58e71cc881c7e351201050241291d3e9345ba4721d6f3e5da9e3e68d35defd7ebf59ab3e323292767c7d5555959a9a9a925e4bad650f06838a46a30a0683197b102432c6db3b9dceb463518d3175c160502e974b6eb75ba150484ea7d31c53575e5e9e71223e2c2fa9add076bb5dd2c4f265bc6e0887c3e6dc12a9ef49f16b3f140a993d6ab22d23b95edf7389b20fccbd6cafd3aaaa2a050201f5f4f49893d01a2de98993d21a52ef6d4ea733e9dfc63dacbcbc7cc23dacbcbc3c697fca12b0b4919c6349311e2a8d3f7c0e8743c3c3c366329dcbbee994979727fd413692f3f9eada9a2e36e3b5c4c960d22528e9f68d46a36a6d6d556767a7868787738ec7386728145228149a72bbcece4e3351f2fbfdf2fbfdaaaeae96d7eb556b6beb94bfa3a5eefcf9f37af5d557cd7fffeed55775297669cafd5ef9ed6f27fcfedef296b7e88a2bae98f5181722e3faca74fd24961163db6cca48aed7f75ca2ec03732fdbebb4bcbc5c369b4d9d9d9daaabab53341a552010506161e1b4aee5a9ee61d38911c0e244728e2525758cb9d1b29458bb9d89d1aa36592b78e298766356e3e9fe315e08cacbcb150a85e47038e4f57ae572b9e4743ae572b954575737e94377a2c966c3972e3f70389d4eb365ce98057a686848814040e17038e3ecb5cbc1f7bfff7d556dfba8deb17ebdb47285f9fa5557bf6dd2fdaeb9f65a9dffe52f755fcd0ef3b5732ffd548d8f3ca20f7ef0837316ef7292edf5bd9850f6818972b94ecbcbcbe5f7fbcd99d8a5893d5cac8e11c0e243728e25c3680172bbdde60361555595fc7ebf5a5b5b55555595b655498a77f11c191949da371da7d3a9c2c2420502017399b6d9eed23ed91fd670383ca1fb6c62d77aa3f6dd58ea2575dfd47f87422179bdbcf2003f0000200049444154deb4134665f307de88251c0ea7fd1e8c964aa7d3a96834aa9e9e1e73ad7aa35badb1167d20105030189cb721020bcd2db7dca23fb8f106fdd99d77ea7f7cf49eacf7cb773af5e5effea3f9efef7cf31bfae7af7f635925e6c67598eeba375e37b69b6cdbd43292cbf53d1b28fb138f03cc975caf53e3f9a2a7a767c6bde812cb53bab8cacbcb555555a5f2f272ca12b0c4315b3b9604a36b99a4a407538fc723afd76bae439eeea1b3b5b555f5f5f5e6ff4fc5f8a3973a736bae8c8a82d487e3c9c68da5be67d4987bbd5ef3986eb75b4343431366924ddd77b2eebd8d8d8d5975759dec7c52fcbb59bf7ebdd9aa505d5dadaaaaaa09dd708d1832559e2c076f7ad39bf4d5bffb3bf57677eb27fffeefd33ac6f04f7ea26f1f3fae839f3d30cbd12d6c935d8746eb92cd6693c7e3c9a98ce47a7de712af44d9a7ec63a1c9e53af5783c72381ceaecec342bbba65b51679427a3f53b516b6bab42a1901913650958da6839c7a26274e14a644ca422491d1d1d136a8c3b3b3bcd2e9c2e974be5e5e5e61fd09e9e1e0d0d0d99fb6633a9537979b9dadada343434643ef04f477979b9eaebebd5d6d666b63019933265120c06e5743a555555a5482422bfdf2f9bcd96f4f0dddadaaa4d9b36a9babadadc3eddc3b3c7e391cd6693dfef57341a95cbe5325b0e86878765b3d9343232a268349af4c7beaeae2e69f299d6d656793c1e555757abb3b3d36cc5338ee376bbcdefc8e7f3c9eff7cbe57299ddff82c1a042a190dc6ef79c4faab5d05d7ffdf5fac85ffc85da1b1bd4f60fdfca69dfdffcfad7dafbd77f2ddf873fa49b6eba698e225cb812afc39e9e1eb95c2e452211f5f4f4686464441d1d1de6759c6d19493dee54d777b628fb55e667a2ec63a1b0dbed395fa7c6f380f1ff33d1d8d8a89292126ddab4493e9fcfbc2f844221d96c36b3f71f650958e2ac9e2e1ec886b11c49ba1f87c311f3f97c592d5fe4703826eceff57a332e3f926909379bcd96b4849a2197a5d462b158aca3a3c33c96a458616161ecd4a953199753eaeeee4edadee170a48dbdbfbf3fe9b3da6cb6b4c73d75ead484efc4e170c4babbbbcdcf6e2c6f75f6ecd9a473279ef7d4a953668c893fb5b5b549cbbd5cb87021e6f3f9266ce776bbd32e81b51cbdf2ca2bb1bbb76d8b351d3e3ce9126aa93f9fd8b72ff6a1ad77c55e7df555ab3f42ce5297ee32645ac2abbfbf3f6db99cec7a4e956d19318e9bcdf59ded526ab118659fb28f8528d7ebd4285b92d2be9fcbb289b1d8c4f26b6c9358e6284bc0d2b622168bc5b24fe581c52f128998dddb17cab8ac603028bbdd9eb1c6dbe3f128140a29168b291a8d2a1c0e4fbabd211c0e2b1a8d4ef9398dedb239e66413e765fbdd1a9f418a8fb5a31b5eb29ffffce7bae1c61bf5b560481b0b0ba7dc3efc6fffa6bfdbf7697dbda343575f7df53c44b8b019d7e16c9691c4e34ab377efa0ec53f6b1f0647b9d86c361b3a53b53ef9be930caa5d3e9ccd8559eb2042c4d24e7c02290f8808ee5e1647fbf1e3fd4aebd9fffbcde7acd35936ebbd5e351c3230feb7def7def3c4587f942d90716aebaba3ab5b5b5a9bbbb7bde965405b0b431211c002c40b79694e85d3715a8a3a525e336972e5d52cb273fa9cd85ef2231078079d2d8d86826e60e8783c41cc0ac2139078005eac1ba3abd128daaef3bdf4efbfed33ffca14e7677e9c0be7df31c19002c5f3d3d3d6a6b6b93cd664bbb1c21004c17ddda016001fbf18f7facdbfffccff5fd679fd31bdef846f3f5f32fbea8a68f6dd7679b9af4ee77bfdbc20801607931e65860ac3780d946720e000b5cd3a73fadf073ffaf3ef5c52feaf56f788324a9f1631fd34d4e87f6ecda657174000000980d746b078005aee1d147f59b975fd6f7bef50f92a47f7af209bd3a36aa9afbefb73832000000cc96d55607000098dae39f794c0f3735e9adbffffbfa4c5d9d7e100a292f2fcfeab0000000304b6839078045e09def7ca73ef0def7aa69fb76edfbcc6774fdf5d75b1d12000000661163ce016091f8cd6f7ea3175f7c5137de78a3d5a10000006096919c03000000006031bab503000000006031927300000000002c46720e0000000080c548ce0100000000b018c93900000000001623390700000000c06224e70000000000588ce41c00000000008bad9e8d83ac58b1422b56ac988d43018b4a2c16532c16b33a8c794579c772b55cca3b651ccbd55228e3945fc01ab375ff98b5e4fcd9d72ecec6a18045e5c6d5abac0e61de51deb15c2d97f24e19c772b514ca38e517b0c66cdd3fe8d60e0000000080c548ce0100000000b018c93900000000001623390700000000c06224e70000000000588ce41c00000000008b919c03000000006031927300000000002c46720e0000000080c548ce0100000000b018c93900000000001623390700000000c06224e70000000000588ce41c00000000008b919c03000000006031927300000000002c46720e0000000080c548ce0100000000b018c93900000000001623390700000000c06224e70000000000588ce41c00000000008b919c030000000060b1d5560700000030957391889e0af4683018d2e848549254ec76abd257a57ca77346c71e080635180a4a52d2f132bd6e8585144baa74bf9b8242978a3d6e9579cb33ee371a8daabda949a787c2e63e55b5b50beab30173e97438acd1e8f8fdcce3b136182c082b62b1586ca60759b972a59e7dede26cc4032c2a37ae5ea54b972e591dc6bca2bc63b95a2ee57d2196f1f6a646b53737677cbf66ef5ed53434cecaf18f9dec331f9233bd3e9746a351edabaf57a5cf97743e2b62c9c654bf9b8d85853a70a443052ed784f7b66cdea433434349affde8572f2bcf6e9ff538b3b114caf8422cbf736d6b69890643a1b4ef15b9ddaaf4f954e9ab9ad139da9b1a67748f49d5d9d6aaf6a6268d8d8c24bd5e71b74f7b5a5a2c2b0398bed9ba7fd0ad1d00002c58bbaaab9392bf8d85852a72bbb5cee1305f6b6f6e567b53a305d1cdaede408f4a36ac57f751bfd5a164655f7d7dd2ef669dc3a122b75b456eb7f9da99a1216d2d2dd1b9482469dfd3e1b099986f2c2cd4b1937d3adcd54552825935180a69f7b66dda555d3dadfd4f87c3f26c583f690554ae3adb5af5d8ce9d13127349ea3eead7d6d292593b17161f92730000b0200d048366a26a2470279e39a5e37dfd0abe70568f1c3c686edbdedc6c760f5dac4e87c3691fd825a9a6a151cf5dbca4e72e5e5a10ade603c1a0fc87da24496b6d36ed3f7244c117ceea785fbf8ef7f5eb47bf7a59655bbc92a4b19111edda969c1c25feae6ef37a55ecf14cda051e988a718f307e1e3978d0acc4eb3eea576fa027e763f6067a747e787856e3ec6c6b33e3ed7ffe053d77f1927ef4ab975571b74f52bc426b3ab1626960cc3900005890fce30fb192d2768daeaaadd35834aaf6e666adb5d934180a262578e7221175b6b599639af31dce09ddc5676220185497dfaf73c311e5d9ec2a2bf766ec3edb1be8d1533d019d1b8e489a385ebecbdfa98184aeb95d7ebf064341739ba9c69c67fb59538f331a8daab3ad4de78623ca7738b5a3a121ab31df89bf9bc35ddd13ce9367b7eb7077b7d9e5783014d2e97058052e57fcb3062f7fd68150486a6a5491dbb3202a1eb038e5d9ed49d74fb1c7a34a5f95b66cdea4f3c3c33ad4d494747fe80df4a8abd39f344f42e29c07a965b2bda951f94ea759c6a7da3f1323d92f767bcc6df3ec76ed696931ef0fe92a1abbfc9deaed096874249af17ed3e5efd4b9482429ce4caf27be5650e8d2be9df5ca7738cd6ef5a3d168fc9c81c0a49f2ff5de53e68dc7452f98e961cc3930034b617c5aae28ef58ae964b795f4865fc8655f10e7e456eb78ef7f5a7dd66341ad558343ae181b1cbdfa9dddbb6a5dda7e26e9f0e747498ff9ece98f35dd5d569bb9f6f2c2cd4f1befea407d34cdbaeb5d974bcaf5f052e57c671b3c679278b65ba9fb5e26edf84b8d6da6c3af1cca929130ce377b3b1b050279e399571bbde408fb657564aba3c3740a6cf3ad3b903666a2994f185547ee78b713d65ba4f18ddc8a5cb731a649a2b21f1fa4f779d1ae7c866ff4c12e75a30c6c42726eaa946a3516dafac485b66cab67875b8bb7bcaef22ddebc66beb1c0e8d45a366af9d1ffdea658d45a3dab279d3849e3ca99fef7438acada52513b64b771f5cea18730e000096ac8160d0fcffe28431cca9f2ecf6090fb5bd811e3359dd5858a8c35d5d3a76b2cfec66dd7dd4af7df5f5d38eadbda9d14c6acbb67875ec649f6af6ee9514ef92babdb262d26df71f39a2b5369bc6464674fff8b6953e5fd258ed8abb7daad9bb57d74e9124cfe4b3761ff5ab66ef5e1d3bd9679e7b6c64c4ec769b49f2efc633e9b64509ef1bad90953e9fd98537be8d5b357bf7266d0bcc9682c2cb3d6e8cd9d18d6bbce26e9f8e9dec936f47ada4f8f5ffd47897f2d43259b377af2a7dbeacf7cf64cfc116f3ff8d31f125d76d888f6d6f6a9cd06adeded46426e6467935ee37bd270233ba9749975bf28bdc6e6d2c2c549eddae7df5f51a1b193187ac1ceeea32ef59879a9acc7defafacd0d8c88879ef31ee6d678686661cd77245720e2c00af5ebca8071f7e58d1591e2ff9b36854bb1f7e58172f2eaf5a746021a29ccf9f4f8f3f141a2dd365de72157b3c3adcdd6d3e6cfb0fb54d98a42c5b4ffa2f8f833fdc1defd25dd3d0683e300f8642e6b18d87f8750e87b96da5af4a350d0d2a72bb7587cfa77391882a7d55499510953e9f6a1a1aa76cc19ec967f5eda8554d43a38a3d1e1d3872b975dde89e9a8d3cbb6d8af727b69c55faaa54e9bb9c9c17bbdd661c8b09657af13ad0d1a19abd7bb5a7a545c51e8ff6b45c4e98c7c67f9fa965b2a6a1d1ec129ecdfe99147b3c0a3cfd4c52e22fc593e4f6e6666dd9bc29a9bc76f93b258d57d88d97939a8646b382cb787f268cb9228ef7f56b341a55ef897857f69a860655faaa54e62d574d4383cab67875ad333e8e7f20183413fb03473a54e62d57a5afcafc2e16cbc4960b0dc939b000dc575babbfd9bf5ff659eefef306bb5d07f6ef576d6dedac1e1740ee28e7f3e35c24623e309679cb2724878949e1c0f8d8eb5c9c0e87cde31714ba34100c9a3f6b13ce35100a264df0765bca646755b5753aded79f55029ec94c3f6b99d76bfe3f6b8be78e32bd38e5d9ed6622d91be8d1befa7a6dd9bc69def697a40297cb9c3871ff9123aab8dba7b5b67845d7f9e161b3d579201834ef2189e539f1df63232349bd5972b5cee130e7f3c8b3db753a7cb9722eb1d741556d9d0e77779b434f0613ee29bd819e7857ffa6c6e4f9246610d772c58470f32871129674b29908e55c24a2a7023d1a0c869226a028f6b833ce726a4cf89028754cd7b9486442cd1b13b3cc8f1f0c0eeadb4f3c31a7e7f8d6134fc8e7f3e98ffee88fe6f43c88eb6c6b356bce271b3f9958367db5753a1d0e4f3ae113162fca79ee12bb739f0e0f65dcee5c24a2d3436115b93dcab3dbf552c2df3ba3852751bec399b46fae12bb9c761ff5676c1d3a1789249d6baa16e6e998ebcf9a49b6bf9bf8fb971ff413e359ec28d38b47624f102309dd575f6fae36301dd3dddfb85f9d0e8755d3d0a83cbb7dbc274995a40e731cb8d1723d1fa61a3a938dd95c6a6eb923399f4783a1e014176fb3d6391c3a70a4236d529c69f289c15048fe436dda5858987636dbf88cafc99348a43ef80fa489ad66af48cee7d8abafbda6fbeebd570fb5b468d7873f3c67e779f8e041dd73efbd7ae6e9a7b56ad5aa393b0fe24e8787cc07f64c955ca3d1a839a66b9dc3a19a86c6a47b44d12493c36071a19c4f4fbed3a9750e87ce0f0f6b2014d468349ab68bf4a1a626b3bcc5c745cedf0444456e77c6f1f04b79fc74e2efa6f74420e3ef4652d29250c59ecc73072c2694e9c52571e9b23cbb5dbd811e33b12edbe25565954f05852e955cb721abe3cd64ff8150d09c23a2c0e59ad0b05650e84a7a664f4c9c8d99dcd3fd7baa043b97652613cb72e2398c86bc22b747052e57524f2163a23dcc1cddda1798f3c3c3baebd6d2a49a66295e4397983caf733854e476278d57393334a4ada52559d58ea7766f4bec8282f9b3afb55557beed6d7adf873e34a7e729fbf087657feb5bd536c5243f981db7955fee2adae54fdfaad61be8c9d8dd154b0be57cfaee48e8b6b9afbe7ec203666fa027a9e53ab532eca9c0c4d6a7de84d7a69340275680e73b9cf1b1e6e33f95be2a15b93de6b8d0c46d535b980782416d2d2dd1befafa6977fd9cebcf3a993b12bad8eeaeae4efbf07f3a1c369f5dd6da6c4b661d73caf4c2341a8d260d33e9f2776a6b698939f463474383a4e4de1cfb3be263a573495e67b27f6219d8555d9d5479d5e5ef347bb11acff746459814af8834ce331a8d9a13b315b9dd132af38d89ef8cff376687cf4681cb659e33f119e6505393da9b9b75d7ada592929f5d127bdf6e2d2dd1cd57be59bbaaabb33e272e2339b7c8b1937d7aeee225f327f0f433e6ccaa92ccd95ba5f81f70a386ce983531f8c25973e2861ffdea6573dfb19111edda96b93018852d3519379275e37dccbd678787d5f299cfe8935ffca2f9daaf66f9e73f12ceb7fb8b5fd4a7f7edd34f7ffad3b9fd605099b7dc1c3bd69b61d6d6de9ecb0fcd55e3e30a6b1a1acd7b02bd569606caf9ccd434346a6361a1a47817f22d9b37c52bab9b1ab5bda2c25ca24b8acf626cb4dc1813259d191a4a7a683c1d0e9bffde585838ad729667b79b0fcedd47fde683fa6834aa8f9496e8ae5b4b75c3aa95666bb2b16def8940d243bdbfadcdecf996aec5696c24bb87fdb9fcac93f1d5d65dbecf9d0868cbe64dea6c6bd54030a8de408f765557cb7bf36673fbaadada25d1b246995eb8ce0c0de9ae5b4bcd9fdddbb699add01577fbccc438b1d26ccbe64dda5a5a9274adbe141936ff3fb17578cbe64df26c589fd3fea9f2ec7673e2c8b191116dafacd40dab56ea86552bb57bdb36b3d2be666f83b98f3159e3f9e161956c58afada5252ad9b05ee78787b5d6664b9afddd9847626c64242936a3ac66cba8c8180c85e4d9b05e5b366f322b427d3b6acd55328cfce3b19d3bcdef673014d2d8c8880a5c85399d137124e70b4481cba5c3dddde6457e7e78d87ca8f727d4981eeeea36678a34e4d9ed49b3b20e8642135ade0d378d4fec90d8729e38a1cc4d09133f60eec424dd77fffdaa7ef041bd7dc37837a8152b74d52cffbc63c50a69c50a49d2dbafbb4e55f5f5fad8c73f6edd075f468c8780b1919109097ae24ca81b0b0bcd1aef8160d09c50255d0f98816050bbaaabb5b5b444db2b2a26cc1361ec9bfa7ae27153ef0d99f6c1cc51ce67c7f1be7e33413f3f3c2cffa136b53737278dc934663136ec6969311f46776fdb96f4906a2c0f94383b79ae121f86bd376fd6d6d2126dd9bcc9fc5b9a5851b0e7e0e5588c6d3d1bd69bf157dced331ff6135bbf8cb2dede74f973a58d658e3f6b267976bb8ef7f5274d62f5d8ce9dbaebd6526dafac4cead190fafb59ac28d38b4f91dbadfd478ee840c7e53250e62d37973e3b3f3cacc150481577fbf4c8c18392e295eaa30933b61b0d57678686747e7838a7fdd3a96968d423070fa66d10db5858a86327fb922ad38a3d1e1d3bd9175f8f7c64c44c7ed7391c3aded79f545910efbde336633b1d0e6bff91231386bc4ea5d257a5470e1ed45a9b4de78787cd9677df8edaa499e9f777742455101a1506357bf7aaaab62ea773228e31e70b8cafb6d6fc837d3a1c5699b73ce9217eb29aefaada5ab386b037d093b6201679dcea3d11d0f9e1e1f864354e6752a26ebc8fb975e45bdfd24bc3c36a7be001f3b51f5fba34e7e7bdeba187f4972e97babbbb55515131f50e98b6dbcabde6c3e9533d81a4ae6c89c97ae2ecab938d39df555d3d61e2a9de130175b6b5e9785ffff80cab43ea3d11d05a9b2da912afbdf9f21aa9a3d111ed19bf37247639351e2a307b28e7b323cf6ed789674e8d77f9bc3c87ca5a9b4dc56e8fcacabd692badfb5f38ab7df5f5ea3eea4fead259e4766bcfc1969c1f561315b85c3a76b24fbbb6559b0fe7464c55b5b54989a8312bf3be9df51a0c8592c693a63ee89679cb55e4f69b0fdf83a1d0a46bbccfc7679d4c81cb659e3b71a88e616361a17634342c99eeec94e985e9785f7fcefbec696951556dad5e8a4474add369febd4d4d28f3ec76055f386b0e3d31ca52b6fb6752555ba7aaf189608d443ef138a98a3d1e055f386b6e9f67b7a72dd746a599b15d81cb654e3a976aaaefcd8831f1b3a7f67ec9b3db75a0a3437b5a5acccaff74db217b2b62b1586ca60759b972a59e7d8db518a79238a15b6aad58a21b56c53b3414b9ddaad9db608eed48fd239e6a341ad5bbdf72a5b9af51e88c991f2529f0f43366d79bfd478ea8d257653ef4afb5d974b8abdb3c5fcddebd4ba2a67b2eddb87a952ee5f887f917a3a32ab8f146b57675c9f55fffeb1c4596d9a97ff917edfed087f4ec9933bae28a2b72de9ff29ebd9baf7cb3d972f5f4cb17ccd7b757549895608993a864ba4724be5eb6c52b5f6d6d4a221f2fef5dfe4e73a21963ffc4fb82147f583ef1cca909c7ed7ffe0526a09b422ee57d3197f3a558c68d87cbc91e7ea7eb5c2462ce9a9ecd8a2bd96c3bd503f864e6f2b34e2531d1588c0fe89395f1c552a69762f9051683e9e404e9d0ad7d11996a19966cfe0816b85c66173463dcb9d1725ebc8467965d286292ea1f7e58255bb658f2c75d9236fdb7ffa63ffdb33fd3a38f3e6ac9f99713a3a63ab16b7b6297f6b22ddeaccaed93e313b26c2c2cd4e1ee6e157be2134e19e3d60643219d8b44525ae703e3ef05938e756668c87c783626904aec5a8f99a39c2f3cc59ef8447173719de73b9de6f1676bdb02976bc28472d99acbcf3a1523ee628f67d125e693a14c03982f24e7cb9091840f848249e3cd8b96c812270bd9530303faa7ae2ed51f3860691cb58f3faeaf7de31b7ae699672c8d63a94becb2ded5194fb013c7769725ccea9ec9e970d82ca30585aea499681327aa19080593269f322add8c4a3863ccae74793c9cd1fdf536efd471207b94736069a14c03982f24e70b4ce2245079367bd2ba85a9cbb0a44a9ce829dfe1ccb89d91849f1f1e4e4a1468399f7b75f7deabddadad96b728d8aebc524d8f3faefbeebbcfd23896bac4e5488cb5808d654952c785679238a94cf7517fd24cb48feddc69be67dc3b8c995acf0c0de95c24a2a7c65bec8bdd1e33411f088692c6bd2f95f1a00b05e51c585a28d300e60b13c22d30a993b319eb1b9e1f1e361fee33fd71487cd82e9ea415bc206146f62713d62f2c70b9a6bdd62ab2f3d52f7d49deca4afde97bdf9bf3b216b3e9d5975f56d3830fea7bdffb9e65312c17b779cbcda510fd6dad666bf57412e222b73be3e450c61ac6b779cbcda4bdcbdf69b6ba9779bdcab3db74666828e93eb3cee198b3c9a2962bca39b0b450a601cc175ace1790d16854879a9acc7fdf36fef07e4742d7d8ddd5d5699767489c7579adcd36e9837fe25837b34bfb14b3c16276fcd73ffe63957bbd6a7bf861cb625821e9d0430fe9ce3befd4e6cd9ba7dc1e3393d8b5bd33615944636df3a92426cef90e677cacf9f84f7cc994f8f873a35ce73b9d660b7962e55bb1c763de17ce0f0f9b09fa6db49acf3aca39b0b450a601cc175ace2d125f0e2668fefba5c870d23224be1db5e6642ebeda3a75b6b5c527953a11d096cd9b54555bab824297c646a27aaa2790b4c452556ded945daf8adceea4e55ca65aaa05b3e7f1fdfb75c3c68ddae2f3e95dc5c5f37efee1fff93ff5fdef7d4f67ce9c99f7732f4746d7f6f3c3c366f9cea5b5da18473e180aa9fba83f5ef65d2e8d46a3fa48698959c19638eb7ba5cfa7c776eebcdc6abec56bc6b2d666d3d8c848528b3a661fe51c585a28d300e603c9b94552d72b4e54e476272d9966ac59b8b5b4c47ca84e1c6b9aa8e26e5f56cb9f15a724e7458c379f37369b4dad2d2d6abaef3e7df3e9a7b57af5fc15c335afbeaa07eebb4f870e1dd2dab56be7edbccbdd1d3e9fd9b3c5f8772ef61c6c319740f4debc59456eb75e4a98ccb166efdea40ab9d4f92312277b2cf3969bf79fb5365b56334c237794736069a14c03980f24e70b48d916afcacabd6927892a70b9d4ffc259edabaf4f6a61376c2c2cd48e8686acc7b1c693f1cbc9020fe8f3eb4377dea9239d9d3ad6d2a2ea071f9424bd73e54a29169bfd93ad58a11f5fbaa41592bef5b77fabf54ea7eeb8e38ed93f0f32aaf4552525e7d94c0497a8c0e5d2b1937ddab5ad5ae78787cd8ab5b5369baa6a6b2754c825b6d64bc9c97ab1c76d26e74c0437b728e7c0d24299ce6c20185c50cf92a3d1a84e87c32a70b9e67c22bf816050d73a9d8b7a49d27391885e8a449467b7a7edd9773a1c4e3bac36ddf6c6b1e6e3bb4f67341ad5b9f1f32f462b62b199df5156ae5ca9675fbb381bf1204b8985c4aa8b1fd28dab57e9d2a54bd3daf7ecd9b3dafcee77ebef9f7946eb1c0ebd73c50acd42714c7241d2952b56e8c7b1985e894474fbcd37ebe9a79f9673067f4028efd632fee84954aacdb7e994f7c558ce9773193f178924ad6222c52bb353cb5a97bf336975154959f55acbd54030680e81abf4554debe1bfbda951527c3e8a5c2b06979b6ccaf8422fd35694df7df5f59294d4ebd36a03c1a0eebab554c74ef665fdb7f27438ac7d3beb75bcaf3fa773ddb06aa56af6ee9d937bc07cd95e51a1de1301adb5d9f4f4cb1726bcbfb5b424a9c76da2750e871e6d69312bfcdb9b1ad5dedc9cd3779fc9747f275b366fcaa9d17236cc24274844cbf922b5586b8370d9faf5ebf5c0030fe8331ffb98dabff39d393dd71b253db87dbb1e7ae8a11925e6b05efe22af9d5f6e28e78bcb4b9148522f1749aab87b78c203e6a1a626b3678a612e1ecc074341339e22b7677ac9b9b9bf9be47c1650a6939d0e87d5e5ef54ff0b67ad0e65c67a033d1913d0a5ec5c24a2de13016d2c2cd499a12175f93b33de2b8e9dec4bde7738a27df5f5da555dad13cfb866fdf964babf933d075bb46b5bb58adc9e45d780c96ced80851e7ae001fdfcec593df5e493737a9e7ffbd6b7f4d24f7faa9d19e62a00307728e78b5be2d28352fc41363531c7f24299be6cdfce7a55faaad22640e722110d04833a1d0ee774ccd3e1b00682c1b4dda8b3d96f32464cb91e3fdbfd8c6da67b9cd16874ca63241e27d7ef361da3b7d017babab5cee15057c24a2fa98a3d9ea49f4a5f95f6b4b4686c64444f252ce99c8be97e16e3bb4ab75fb1279e94fbdb5aa715939548ce010bad59b3465ffdf2977560c78e393dcf437575fae217bfa8356bd6cce979004c44395f9cd6391c92e24b0f2676614f4cd68d6db0bc50a6e34e87c31a0c85262c0d3a1a8d6a7b45854aaedba0bb6e2d95f7e6cdf26c583f65f2351a8d6acbe64df2debc5977dd5aaa920debb5afa468c6580000171549444154be5e37ac5a3969b23a1a8d6a6b6989b9dfcd57be59a787c269b73162baebd652bdfb2d57aa733c7933ba624bf16eeac67090a9f6bb7cfc116dd9bcc9dc26f5f366739c2e7fa74a36ac37dfbff9ca374f186633ddef76324ffafd2a72bb95ef74ea0e9f4f83a1d084613b93c977382549633956a64cf55932fd4ea4f8508a77bfe5ca49bf83aadadaa4256c170b9273c0627ff2277fa20fbcfffd7372ec378cfff77def7b9ffef44fff744ece01606a94f3c5e7a6c2cbc3c71213f281e0e50919af9da20b6797bf53db2b2ab4b5b4445b4b4bd4d9d69ab1d56d2018d4aeea6a6d2d2dd1aeeaeaac1299ceb656f3d8fbeaeb737aa03e1789a8bda9d1dcdf38c6542d7688a34cc797055ee7704ce8cabcbdb24203a1a06af6eed5b1937dda7fe488f2ec766d2d2d99b4d5797b6585ce45227ae4e0411d3bd9a7326fb9fc87a64eaeb65756e87438acfd478ec4c739bb3d135635da575fafc150c88ce9705797361616eab19d3b752e125191dba3a2f165856bf6ee3557319a6a3f8311e7e1ae2e1deeea92a4a4cf3bd571ce4522dabd6d9b8add1ef3fd7ca753bbb76d4bfacea6fbdd66d21be8d1f9e161558eaf22637467cf25a935e6c5c875c8ed549f25d3efa4bda951fe436daab8db67ee37168deafeca8aa4e317bb3df165a8a7d9a26f15c69c030bc0e1cf7f5e972e5e54341a957d16c7c6bc128d6adbb66d3a7cf8f0ac1d13c0f450ce17970257a10642418d8d8c682018321f5a8d44bdd8edd1e848fa8761a395ecccd050d2eb83a190da9b9a74bcaf3fe941b6cbdfa9dddbb6256c1952f751bf361616a63dfee970d85c5e35f1d8fe436dda7fe4c89463cbd3ed9f780cdf8eda0535b9d742b5dccbf4e9a17052259674b9353d7532b0326fb94a36ac5797bf5355b575138f35be5fe2f55becf1682c1a55ef8940e61832ec674c7066c8b3db274cdab6d666d75db796eaa54844c51e8f0643c178029db0cd54fb191513eb1c0e1defeb37bbf71714ba5472dd06f3f34e751c436595cffcde0a0a5d491583d3fd6e27d3d5e9d75a9bcd9c382ddfe95491dbad2e7f67da7b4062ebb5240d84421a0c85b4b1b030a7c9d7b2fd2ce97e279d6df1c4fc404787f95a9eddaea77a023a97f03bc9773ab5d666d3e9707851ad4e43720e2c006bd6acd157bffad5593faedd6e9f93e302c81de57cf129767bd47b22603e20278e372ff2b8d51b489f342426e6468b8f3171d2d8c888b69696e8c433a794ef749a2d6652bc357e4f4b8bf21d4ef9dbdad2262546e23f3632626e9f67b7eb505393ce0c0d69f7b66dca7738279d25f9feca8aa4fdf31d4e8d8d44cd63f80fb5a9cceb654588292cf7326db4042732ca4a3ca90a26bdb7d66ed76030943681345a375393a8ca2adfa4c9b971bea9f633124d63c593d343e18ce53751b6fbdde62d4f1a779fef746a6361a17a030155d5d64d799c02974b6b6d366dafac5491dbad32af57b779cb932adaa6fbdd66624c0457e47627f5d42928746930144a3b315cea8499eb1c0e55dcedcbb9326fba9f652018af30bdaddc9bf47a99b73c6d025ee072692014524d4ed1598be41c0000208d228f5bbd2702e6b8f3c456ac62b727ed437a97bf3329314f6cf1c9773875d7ada51a1b19d1a1a6261de8e8489a44694f4b4b52eb9f67c3fa0993cff5067acc16ef031d1de6036991dba3920deb353632a22ebf7fd2c4da38e65abb5dc509b3c0e73b9cea0df4a8c0e59ab2cb3e908e31ee383589334c755da54e2cb7d636798f04e37c53ed773a1cd6fd951549e5299b3923b2dd2fcf6e4bf3dae518a63a4e9eddaee37dfddab733defd7d3014d2633b77aac8edd6e1ae6ee5d9ed33fe6e5319e3d9074321dd756b699af7fd1392f3e72ece7ca93069e6d7c954d7c56246720e00009046f1f8184729ded29338de3cd3f84a631b49131e6c8b3d1ead7338747e78f872cb51c2f6a92d3fb7a51973dbdb73b94260adcd9e34463cdfe9d499a1a10933cca732964c3a3f3cac92eb36689dc3a162b747c51eb77ce35d708199f8d1af5ecee93a5a3bbe6d62b76429be545736fb8d46a349e71b4b187262f436c9773ab5a3a141f90ea70a5c2e9d0e87d326a5d3d96f343a9276ff6b1dceac8f53e072e9785fbf5911d8db1350ef8980f6d5d72775e1cef5bbcda4b3ad4deb1c0e1d38d231e13da3e7cee970784e976f9eee67194b33a468ae639d2f4c080700009086d1d5548a27dd89e3cd33494c26d2adf96bb408192d6889e3d6531f52d3b5c6256e6fccea6cfc182df6532df576e04887f9b98cedbb8ffab57bdb36bdfb2d576a5f7dfda4fb0352bc92e7a548f2b5665430659a653cd3e45cb765d86fb265bda4cb653175bfa7122ab14e87c31a1b19d19e83f19e29c6325ba9dda953e5b25fea3262a7c3619d191a5291c79dd5717a033dbaf9ca379b951395be2a1deeee5691db6dde53a6fbdda6d3e5efd4d8c888aa6a6b272c8f56ecf1a8a6a141526e13c3e562ba9fa5d8e3d15a9b2de9f72bc5bbbb7b6fde3ce1782f45222a285c5c093b2de70000001914b8e2e32f07424133e92d70a59fa86dbea58ef7cd5681cba5fe17ceaa37d0a3de9e8039f19dc17fa84d79765b52977c205541a16bc29265052e978adceef159c88755e6f526cd67e01b5f766d20181f6b6c5c63f94ea77c3b6ad5dedcac9722c3bad6e930271b9b348684f38d8dcff0dd1b082425774685d8be9df5da73303e36bacbef57f7d1f4897f6fa0470585ae9cf61b1b4f2a7db5b5e6fc126b6d3655faaacc2edc931da7a0d0a5b19111dd5f59a11d0d0d5a6bb35f9e0c6dbc9c4ff7bb4dc7a8f4c834796481cb353e66be47a3d1d99f1c32dbcf62307e27f94ea7aa6a6bcdeef0953e9fce0d4774a8a92969623b299ee89f1f1e5e30f7eb6cd1720e00009041f1f8523e89add14593b49c1bdb4b9ad0fa331a8d9ac986b1445062ab4eeaf269a7c3c9b3bda76e5fe9ab524d43a3f953e4f698af4de57438ac62b74787bbbbf5f4cb17d4fffc0b7ae4e041f3fd81299222e0b672afce0c0d4d58c2ef7057b7cab678e53fd4a6bb6e2dd5f6ca4a9d8b44b4ffc811732e84c15070c278e33d2d2df2eda8556fa047edcdcd1a8d4693aec94c0e77c55b98db9b9b75d7ada5eaf2779a2dbf523cf1df7fe488ce0c0d99bd4c0642411deeead25a9bcd9c3ba2cc5b6e4eca76a8a929ebfda478597c6938a2bb6e2dd5ee6ddbb4767c0c799edd9ed5718c6dce4522da5e59a9bb6e2d557b73b37c3b6a93caf374bfdb44e722110d86422adbe29db44b79a5cf37a74b9165f359527f279254d3d028df8e5a751ff59bdfb7a4a4d9f2fffff6ee1fb6912bbf03f84fbe6b1db2760c907680fca9285f806b491fae3e725d1b20d51a70c4ad025c6169bb5416f70ab72481d4bb54ea2022cb18b8135919296249402e6544f9dae426c562c614ff48a2a4f5acc8cf07206c49338f23617eb3f3e57bf35ec4ea4906df753b4992240f6de4bdf7de8bfff8dfff7b8ce38127e56f7efeb3f8f39f1f67728ca742bdb3adb6a5deb7b9c6ff7d38cc9e014d27739bfd5e2a9d14e9f35f7d9a85edf47b7f3c3f8f4fffeae3887833ec77f686f11ff7f6b2deb26f5ebd8a5fd71bd7dafff56feaf1cdebd70bc71211d99243abb6efbdec646b3bcf2e85f6d73f7bd30ff3cb6a357b9e353dbe0f4aa5f8973f9c66c7f7dd781cf5bfff4544c4c25245db60136afca7aedfdac71f456b7f7fe9ccdae9cce41171ebccff3f4ca7f1a7e974e151907f3d1ec4179f7d16c7bfffc3adcf137f371ec70fd369fcddeeeed2d0f9c3741adf8dc7f117c5e2cab6966d7397fd52e91c10cb7edfbbb693b6b1eaf788b8fd6ffbf9af3e8d7ffeb7931b8ff55d71dbefb2eaef76dbdff38b67cfe2fd62f127bb8e3dd6f543388707d8847fc8d7a5ded956db52efdb5ce3cbc279c48f0137e2c7901bb13c9c47bc590b38edb94a278ffbaf9965d8e683ef6c3b1f944af161b91cdf8e46f17ea1900d379f5d0f78760de7d9edd3f73bf9fe2cbba99f0fe7ab8e2f22ae0d21be4b18da349b50e33f75fdbeeaf7e2772f5ec4f0fbb307b5937e30f4dbafbfce82fe0fd3697cf1d9b3f86e3c8edfffcfe5631cee5648ff6e4f259cbf0de9879027fff9fdd2b93fde86c7ba7e18d60e0070835fce0c559f1db6beca970787f1cdab57f141a9147fbaba8a6f47a3f8ef8b8b78bf50882fbffa6aa127271d961bf166f87cfa9c696beeb9cbd43f75bbd1fc87fd6bdba7c7393fb473d5f1fdf6ebafaf1d5fdac6df562a5b19ccb99fcf9aadf8b05c5e98886b5db3cf20ffe6179fc4e7bffa343efdf8a3f876345a7b0ded6df7c7f3f3ecd9f66df5bb172fe2cbafbefac982f963d2730e0fb0099fb2af4bbdb3adb6a5ded5f8e35a67686fbaed4dc359e7a543603f2c97ef75239a0e057e481b9b62136a3c8ffafd613a8d57fdded2a1edf769277d96fb2f4be5f8acd9bcb56e60d6639d8feb32ac1dde019bf00ff9bad43bdb6a5bea5d8db3ad36a1c6d52fe4c3b076000000d810c239000000e44c38070000809c09e70000009033e11c00000072269c03000040ce8473000000c899700e0000003913ce0100002067c239000000e44c38070000809c09e70000009033e11c00000072269c03000040ce8473000000c899700e0000003913ce0100002067c239000000e44c38070000809c09e70000009033e11c00000072b6932449f2e0467676626767e7318e079e942449e2114ae84951ef6cab6da97735ceb6da841a57bf908fc7ba7e3c4a3807000000eecfb076000000c899700e0000003913ce0100002067c239000000e44c38070000809c09e70000009033e11c00000072269c03000040ce8473000000c899700e0000003913ce0100002067c239000000e44c38070000809c09e700000090b39fe77d00b08ee17018c3e170e9cf8ac562d46ab5d8ddddbdb18de9741a83c1200683414ca7d38888a8d56ad1683456ee3bfbbec56231daedf6caf60f0f0fb3ff6fb55a512e976f3c1ee0e93a3c3c8c72b91cad566bed7dd3eb8aeb04001011b193244992f741c05d1d1e1ec68b172f6edca65aadc660308862b1b8f0b3c16010ad562baeaeae96ee5bafd7a3d7eb2dec3bffbe9797972bdb7ff6ec59f6f5c9c949d46ab51b8ff729393f3f8f76bb1ded767ba37e2fb8af9d9d9da856ab2b3f34bc497a5dd9a4eb846b0400dc9f61ed3c49cd66334e4e4eaebd8e8e8ea252a9c468348a5aad96f58aa7d2e07c757515cd66334e4f4f234992b8bcbc8c6eb71ba552298e8f8f6fbca12c140a595bcba437e8e9769ba6d7ebc5f1f171de8701bca35c2300e0fe84739ea472b91cb55aeddaabdd6ec7783c8e7abd1e93c9e4dad0f3e9749a0d3bed76bbd1ebf5b221ecc562315aad568cc7e3a8542a31994cae0d4d9fd56834222256f6920d068328954ab70ead07000098259cb3717abd5e4444f4fbfdacf7bcd7eb653de6ab9e0d2d168bd9be9d4e67e936e572394aa5d2d29ef3f1781c171717f71eca993e7b9a3effdee974aef5fe0f0683383c3c8cf3f3f3a5fb1f1e1e2e1cf76d6da6dba4ed0e87c368341a51abd5a2d56a5d7baf5eaf977d28d1ebf5163ec0987daf5aadb6f4bde031cc9e7f83c1203b6767cfffd973b9dd6eafac9bf451979b6a24d5e974ae9ddf37b94bedadcb350200365c024fc8c1c1411211c9c1c1c18ddb55abd52422929393936b5fbf7efdfad6f7a8542ad7f69d7fdffdfdfd859f2749921c1d1d65ef31fffeb769369b49442cbc2a954a7279799924499274bbdd242292a3a3a385fd4f4f4f9388489acde65a6dcefe6ecbb62f140ac9d9d9d9b5bfe1ec2bf5faf5eba5ef35bb3f3c96f45c4c6b71f6b5bfbf9fd5cafcb9387bde27c9dd6be4f2f232bb2eccbed2fdabd5eabdda4d6bef2ed709d70800d87c7aced94869ef75da8b331e8faf7dff2efba6fbacfaf97cef79daeb9e0e7dbfabc3c3c3e8f7fb51afd7af3d077f70701093c9246b2ffdefb21ebbf47be936776d7356bfdf8fa3a3a36cdb66b31957575759db9d4e279acd6644441c1d1dc5c9c949b66fbbdd8e42a1102727272bf787c7d6ebf5b273eef4f4340a8542bc7cf932daed7674bbdd489224cececea252a9c4d5d5d5b59a4d6ba452a9643572767616cd6673a1463a9d4e4c269368369b71767616499244b7db5d3a82e63eb5771bd70800d812b97c2400f774d79ef3f9ed62ae1767ddf798ff5ea150484aa552f6f3cbcbcb2422927abd9e24c962cffd4d4aa5d242cfdbfcfb9e9e9e2649f2634f57fa756afe78d66933fd7a7f7fffda766767670bbd82ab7afa222229954a0b3d930707070bc70a0fb56a244cda933e7f7d487b6d67bf5f281496f6a6cfb69f9ebbf3f5954aeb61b646ee537bb75d275c2300603b58e71ceea156abc5f1f1719c9f9f47b95cce7ad0d67dde3c7d4ebd5c2e2f9d842e7d9e73381cc6eeee6e341a8de8f7fbd1e974b29efac16010575757d9b3f4ebb6999aef295b67dde56ab51aa3d128cae572f63c6aa3d15839b11e3c86f973365dde70be0ee7973d1c8fc7d91c14cb96446cb55a311a8db29137b3f535bfddec128bf7adbd9bb84600c0f610ced948e990f4f4e6b1542ac5c5c54516a6d7d9779946a311c7c7c731180ca2dd6e67e17cdd21abe96448a3d12846a3d1addb351a8d8509e9d21bf0f4c67bdd361f43afd7cb024dbfdf8f7ebf1f7b7b7b51afd7a3d3e9ac75130f6f5b7aeeaf3a2fd3ef4fa7d36cdb65217e7effb7517bae1100b03d847336d2fc33e6b55a2dfafd7e16a66f92f696ddd40b3efb4c7bbbdd8ee17018954ae5de379837cd221f713d04341a8d78f9f265f47abdec43824aa5b2d013b74e9b0f552e9763381cc6783cce666c9e4c26717c7c1ce3f178e5ecd1b089de46edb94600c0e613ced938bd5e2f2e2e2ea25aad663797ad562b1bead96ab596f68245bc99d0e8eaeaeadabecb94cbe5a8542a717c7c9c2dd3769f25d4d29be5f178bc74ffb4e76ef6585aad56bc7cf932068341d6b3357b837d9f361f623a9dc66030c8d69e4f27774ad7963f3e3e8ee17078ef25e6e0b1a535922e3d362fed75deddddbd71dbf94923df46edb94600c0f6305b3b1ba5d7eb653de3b337d2b55a2deaf57ab60ef9b25e9a4ea713cf9f3fcffeff36e98de4fc2cc8eb28168b51ad5663329964434f67351a8df8e8a38fb2defc883737d6e90703cb86d3dfa7cd87dadbdb8b56ab756d186cb158cc3e0459f56108e4e1a61a497b760b8542d46ab51bb79d0feb6fa3f65c2300607be839e7494a8745ce4a27798a88e876bb0bbd30e910cfd168944d9c94f60c0d0683984c26d9be7799ac291d3a3a994cb21bf9fbe8743a51abd5626f6f2f7abd5ed46ab5aca7291d0130df76abd58ae7cf9fc768348a7abdbed0c3759f36d7d16eb7b3c99c8ac562349bcde8f7fbb1bbbb9bf5d00d87c3188d4651ad56ef3cf915fc54666b643018c4eeee6e9c9f9f6793a775bbdd2c30763a9df8e4934f626f6f2f86c36194cbe5a5a176beddc7aa3dd70800d812794f170feb4897e959f62a954a49b3d9bc7559a2838383a4542a2dec5fafd7572ee9b36a09b742a1706d09b5d43a4ba92549929c9e9e66fbccbef6f7f7972ef5942edd161149b7db7d509b372de71473cb249d9d9d65bf73cc2cb5747979992de134fbaa56ab4b8f1f1e223dafe7ad3a974f4e4e96d6efe9e9e9c2b5a0542a2d2cd196b631bb6da150484e4f4f176a246df7a1b537cf35020036df4e9224c923647c7872cecfcfb3e1edefcab38e6fe398de469bab26cd9b4ea7d973b8bbbbbb86aaf224a435522c166fedc11d8fc7319d4eef544b4fa59e5d2300e0dd209c03000040ce4c08070000003913ce0100002067c239000000e44c38070000809c09e70000009033e11c00000072269c03000040ce8473000000c899700e0000003913ce0100002067c239000000e44c38070000809c09e70000009033e11c00000072269c03000040ce8473000000c899700e0000003913ce0100002067c239000000e44c38070000809c09e70000009033e11c00000072269c03000040ce8473000000c899700e0000003913ce0100002067c239000000e44c38070000809c09e70000009033e11c00000072269c03000040ce8473000000c899700e0000003913ce0100002067c239000000e44c38070000809c09e70000009033e11c00000072269c03000040ce8473000000c899700e0000003913ce0100002067c239000000e44c38070000809c09e70000009033e11c00000072269c03000040ce8473000000c899700e0000003913ce0100002067c239000000e4ecff01b800f9a34b9b965b0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 URL routing, DOM events (e.g., mouse clicks), and Model events (e.g., attribute changes) all trigger handling logic in the View. The handlers update the DOM and Models, which may trigger additional events. Models are synced with Data Sources which may involve communicating with back-end servers.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Models\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab The built-in capabilities of Models vary across frameworks; however, it\u8217's common for them to support validation of attributes, where attributes represent the properties of the Model, such as a Model identifier.\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab When using Models in real-world applications we generally also need a way of persisting Models. Persistence allows us to edit and update Models with the knowledge that their most recent states will be saved somewhere, for example in a web browser\u8217's localStorage data-store or synchronized with a database.\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab A Model may have multiple Views observing it for changes. By {\i observing} we mean that a View has registered an interest in being informed whenever an update is made to the Model. This allows the View to ensure that what is displayed on screen is kept in sync with the data contained in the model. Depending on your requirements, you might create a single View displaying all Model attributes, or create separate Views displaying different attributes. The important point is that the Model doesn\u8217't care how these Views are organized, it simply announces updates to its data as necessary through the framework\u8217's event system.\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab It is not uncommon for modern MVC/MV* frameworks to provide a means of grouping Models together. In Backbone, these groups are called Collections. Managing Models in groups allows us to write application logic based on notifications from the group when a Model within the group changes. This avoids the need to manually observe individual Model instances. We\u8217'll see this in action later in the book. Collections are also useful for performing any aggregate computations across more than one model.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Views\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab Users interact with Views, which usually means reading and editing Model data. For example, in our Todo application, Todo Model viewing happens in the user interface in the list of all Todo items. Within it, each Todo is rendered with its title and completed checkbox. Model editing is done through an \u8220"edit\u8221" View where a user who has selected a specific Todo edits its title in a form.\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab We define a {\f1 render()} utility within our View which is responsible for rendering the contents of the {\f1 Model} using a JavaScript templating engine (provided by Underscore.js) and updating the contents of our View, referenced by {\f1 this.el}.\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab We then add our {\f1 render()} callback as a Model subscriber, so the View can be triggered to update when the Model changes.\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab You may wonder where user interaction comes into play here. When users click on a Todo element within the View, it\u8217's not the View\u8217's responsibility to know what to do next. A Controller makes this decision. In Backbone, this is achieved by adding an event listener to the Todo\u8217's element which delegates handling of the click to an event handler.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Templating}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the context of JavaScript frameworks that support MVC/MV*, it is worth looking more closely at JavaScript templating and its relationship to Views.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 It has long been considered bad practice (and computationally expensive) to manually create large blocks of HTML markup in-memory through string concatenation. Developers using this technique often find themselves iterating through their data, wrapping it in nested divs and using outdated techniques such as {\f1 document.write} to inject the \u8216'template\u8217' into the DOM. This approach often means keeping scripted markup inline with standard markup, which can quickly become difficult to read and maintain, especially when building large applications.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 JavaScript templating libraries (such as Mustache or Handlebars.js) are often used to define templates for Views as HTML markup containing template variables. These template blocks can be either stored externally or within script tags with a custom type (e.g \u8216'text/template\u8217'). Variables are delimited using a variable syntax (e.g {\f1 <%= title %>} for Underscore and {\f1 \{\{title\}\}} for Handlebars).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 JavaScript template libraries typically accept data in a number of formats, including JSON; a serialisation format that is always a string. The grunt work of populating templates with data is generally taken care of by the framework itself. This has several benefits, particularly when opting to store templates externally which enables applications to load templates dynamically on an as-needed basis.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's compare two examples of HTML templates. One is implemented using the popular Handlebars.js library, and the other uses Underscore\u8217's \u8216'microtemplates\u8217'.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Handlebars.js:}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1
\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You may also use double curly brackets (i.e {\f1 \{\{\}\}}) (or any other tag you feel comfortable with) in Microtemplates. In the case of curly brackets, this can be done by setting the Underscore {\f1 templateSettings} attribute as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 _.templateSettings = \{ interpolate : /\\\{\\\{(.+?)\\\}\\\}/g \};\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b A note on Navigation and State}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 It is also worth noting that in classical web development, navigating between independent views required the use of a page refresh. In single-page JavaScript applications, however, once data is fetched from a server via Ajax, it can be dynamically rendered in a new view within the same page. Since this doesn\u8217't automatically update the URL, the role of navigation thus falls to a \u8220"router\u8221", which assists in managing application state (e.g., allowing users to bookmark a particular view they have navigated to). As routers are neither a part of MVC nor present in every MVC-like framework, I will not be going into them in greater detail in this section.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Controllers\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In our Todo application, a Controller would be responsible for handling changes the user made in the edit View for a particular Todo, updating a specific Todo Model when a user has finished editing.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 It\u8217's with Controllers that most JavaScript MVC frameworks depart from the traditional interpretation of the MVC pattern. The reasons for this vary, but in my opinion, Javascript framework authors likely initially looked at server-side interpretations of MVC (such as Ruby on Rails), realized that the approach didn\u8217't translate 1:1 on the client-side, and so re-interpreted the C in MVC to solve their state management problem. This was a clever approach, but it can make it hard for developers coming to MVC for the first time to understand both the classical MVC pattern and the \u8220"proper\u8221" role of Controllers in other JavaScript frameworks.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 So does Backbone.js have Controllers? Not really. Backbone\u8217's Views typically contain \u8220"Controller\u8221" logic, and Routers are used to help manage application state, but neither are true Controllers according to classical MVC.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this respect, contrary to what might be mentioned in the official documentation or in blog posts, Backbone isn\u8217't truly an MVC framework. It\u8217's in fact better to see it a member of the MV* family which approaches architecture in its own way. There is of course nothing wrong with this, but it is important to distinguish between classical MVC and MV* should you be relying on discussions of MVC to help with your Backbone projects.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 What does MVC give us?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To summarize, the MVC pattern helps you keep your application logic separate from your user interface, making it easier to change and maintain both. Thanks to this separation of logic, it is more clear where changes to your data, interface, or business logic need to be made and for what your unit tests should be written.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Delving Deeper into MVC\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Right now, you likely have a basic understanding of what the MVC pattern provides, but for the curious, we\u8217'll explore it a little further.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The GoF (Gang of Four) do not refer to MVC as a design pattern, but rather consider it a \u8220"set of classes to build a user interface.\u8221" In their view, it\u8217's actually a variation of three other classical design patterns: the Observer (Publish/Subscribe), Strategy, and Composite patterns. Depending on how MVC has been implemented in a framework, it may also use the Factory and Decorator patterns. I\u8217've covered some of these patterns in my other free book, \u8220"JavaScript Design Patterns For Beginners\u8221" if you would like to read about them further.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As we\u8217've discussed, Models represent application data, while Views handle what the user is presented on screen. As such, MVC relies on Publish/Subscribe for some of its core communication (something that surprisingly isn\u8217't covered in many articles about the MVC pattern). When a Model is changed it \u8220"publishes\u8221" to the rest of the application that it has been updated. The \u8220"subscriber,\u8221" generally a Controller, then updates the View accordingly. The observer-viewer nature of this relationship is what facilitates multiple Views being attached to the same Model.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For developers interested in knowing more about the decoupled nature of MVC (once again, depending on the implementation), one of the goals of the pattern is to help define one-to-many relationships between a topic and its observers. When a topic changes, its observers are updated. Views and Controllers have a slightly different relationship. Controllers facilitate Views\u8217' responses to different user input and are an example of the Strategy pattern.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Summary\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Having reviewed the classical MVC pattern, you should now understand how it allows developers to cleanly separate concerns in an application. You should also now appreciate how JavaScript MVC frameworks may differ in their interpretation of MVC, and how they share some of the fundamental concepts of the original pattern.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When reviewing a new JavaScript MVC/MV* framework, remember - it can be useful to step back and consider how it\u8217's opted to approach Models, Views, Controllers or other alternatives, as this can better help you understand how the framework is intended to be used.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Further reading\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you are interested in learning more about the variation of MVC which Backbone.js uses, please see the MVP (Model-View-Presenter) section in the appendix.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Fast facts\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Backbone.js\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Core components: Model, View, Collection, Router. Enforces its own flavor of MV*\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Event-driven communication between Views and Models. As we\u8217'll see, it\u8217's relatively straight-forward to add event listeners to any attribute in a Model, giving developers fine-grained control over what changes in the View\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Supports data bindings through manual events or a separate Key-value observing (KVO) library\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Support for RESTful interfaces out of the box, so Models can be easily tied to a backend\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Extensive eventing system. It\u8217's {\field{\*\fldinst{HYPERLINK "http://lostechies.com/derickbailey/2011/07/19/references-routing-and-the-event-aggregator-coordinating-views-in-backbone-js/"}}{\fldrslt{\ul
+trivial
+}}}
+ to add support for pub/sub in Backbone\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Prototypes are instantiated with the {\f1 new} keyword, which some developers prefer\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Agnostic about templating frameworks, however Underscore\u8217's micro-templating is available by default.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Clear and flexible conventions for structuring applications. Backbone doesn\u8217't force usage of all of its components and can work with only those needed.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Used by\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Disqus}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Disqus chose Backbone.js to power the latest version of their commenting widget. They felt it was the right choice for their distributed web app, given Backbone\u8217's small footprint and ease of extensibility.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d4948445200000226000001a6080600000048964f030000001974455874536f6674776172650041646f626520496d616765526561647971c9653c00014e814944415478daec7d079c55d5b5fe776ebfd3876186de11011144b18120d87bd7687a57538ce625ff97f2a249f4252fedbd344d313189c6d88dbd4544515454940e8280f436bd977beff9efefac73e69e39736e190474cc5e3f2e73cb39fbecb2f65adf2a7b6fc3344d68d2a44993264d9a347d1028a0bb4093264d9a3469d2a48189264d9a3469d2a449938742ee0f86617c50ea65e8a1d1a44993264d9a0e387d20f239dc6925a10f20f0d0492f9a3469d2a449d3bfa94e0ebd8f8dcd443abca44993264d9a341d3c5062ee831e3f60802574801ab93f808a0ee768d2a44993264d078ecc3ee85b338b8edeaf20657f0213a30fe0c2d8c7f23469d2a44993264def3f78317df4f57e0128ef1598e40346fa02583420d1a44993264d9a0e0eed2ba030e1ef31d92f5e94d07e6890df67e33d5cab018a264d9a3469d274e0291f6f483ea0c40fe0e4ca5dd9efc02413d03072808fbe80170d503469d2a44993a6830f488c1ca023132831f60738e92b30c9c7f3e1fd2e5fd0b2afc04593264d9a3469d2943f20f1fbec07420c9ff7cedf4ca0c4c802720e0830c917941859de67ba2e1bc0d1a44993264d9a341d18a0e207584c9f6bfc808ae9035abca0a64fd41760924f98c6c8014e8c3cc08906269a3469d2a449d3fb034c32811213d93d29c8014ef2062af902937c43365ee0e16c9616c8015ef2c941d1604593264d9a34697a6f2024d377994088f773caf3d7af4c230fa0f29e8049ae908d1f30315cc0c4fb5d977ab57bee7383976ccfd2dbd56bd2a44993264d7d27af67c30faca43c60841453af307a876dbcd76502287d0627fb6383353f6f48c00798046d5092080683a3028140d834cd7cc23f26fc7351fc7bc2343f4887117e3861f707ac8f0f567d346f418fb96eb7a6fe3de65e7061a61fa314b23cc7fa5ebd3753a954573299dc6eebef900d5cbcde94940f004abd974ae602267d4d707500881ba038e024198bc52237dd74d3772fbae8a24fb5b6b616aa4677a32776887dba60f733dd83c16bf9d96f80dca7127aefcb67909dfb5d75e87e163f3bf7b87ff33ed7fd9df3de7d8f5f3dfdaef12bcf7d9dbbee997ecbd446efefdeefba916620d0dd6e6ff999faca5b9f5c132d53dbbd63eed425d398e5fbbc4c6df0ab77b636e6bade7d8fdfb8e633e6f9f27abeedde5fbc9e6dfcfdda948d7ffacaeb99f8365fa19e69ee1c085ef79b571f765ecf25dfbcd7faf17aa6317a2fbcee2dcfcbeb99f830d3f8bb79c6af9cbef03a5fd9c6fc20f3bae95c1389440c7e0e85420806832df7dd77dfdfaebffefa9fb5b5b575d998c1f478562cfdeee329d967af899163f0b32dfdcd14baf1be9cef6b8e3cf2c833972c59f228995135d2ea9448348a4838dcfd90ce64129dadad305407b99937162f442898ae4e7b7b0792c92e754dc0d51b260a0b0a7b34400120dfc99a4da0380c934db938fde54cacace82e03936612e299c04fbe132e5fe6f62aa36cf5753fc33db132b53d9f32fd848f5ff999ea99a9ec5c20ccaf7fbc13371bd0ccb71ed9852614ef47100e05914c24d0d1d18940288ca061a23391547c5c6071749be25fa5b2d4e7b8f07d6b0bcc4048cd85003a3b3a1056f3c74c2614b20f22a6ca4ba939d1a6e606a79db7ddcee7a07a4e241c82994a22a9ea115275686f6dcb7e8a572fe00284236adeaa32ba547db38171af022e28547354d5b3a5bd1341d73cf7e539d5d6825844f54f078c601089ce4e5a3108f800a96c8aa9bbfeeaf9a14844f58eeae7ce2e0ade8c63beafbc9e6b8e7b79dd36d0f699d7fd14623ebcee06067de5f5be5af77ef22ddfb9b2af0ad9afaff295ebf9cac5be18027e80ecbdc8f59cbceee169f23a9f9b89d7d937d4cb0d0d0d882ab99254ba78e0c081d6fb1933669cab74f793ea960a97d724e5f33233bcfcc23e66a6f911eaa3b70459c04900bd734a7a784ce2f1f8c8a6a626d4d4d4287996444c09a8ce9616bcfccf8750bd72390a468cc409975d86b2e262b4aace21384929c157585c8e4d5b7762c95377a2b3613b2ac61f8719279f8f60b24309ac76abc349a545e5786bc94b78f6f547d195eac49ca9a7e3f81927a0b6b1ba7bf2fb8130b785eb306e366bc20f21fb01bb5cd6482e8f8fd79af043e55ed4ee37f133594f7e0020939594c992c96621e52a2b9bc592cb52f5a27fe7732e8bdddb6eb790cee585cad6e65c166eafbe577f131dada8aeae45d99091185e598a3d5b7728601ec0c0ca62ac59ba1835ed218c1f3f0e95a531bcfac222349ac5387afa24b4d4ef41ab0203418e9962eb60348e58b0138b56ac4161e5700c1d588a84023bd9f8aea1ae06b47f8a6221747625503eb0d20219eefa06acf997ea81a68c700445f108da9a9bd1d2d6aec0545401a2901262a9ec63160ca1b82086ae8e36ac59b95aa1b21806ab362713299156be63aec634d186dd75cd18505e0e24ba108ac51130e59e6cbc9e4dd077b42b6305411428b047e19b89777379027229dffdc9eb8e3c7014ccc1e2f54c9e8e7c79dd6f5cdc322b1b50f0b6db5df77ce49bf7f75c32295fb9964d2f649393b964c9bec8f56cbce81df34c3ac421f2150d80458b1661efdebd0ab877e2c4134fc4ac59b3108bc546da5e91802b54637a743d7c4238fbb44aa72fc9afde44d54c0024608773dc7fad108f129626115957571702aa135a94c5f2e42f7e8ee8da95983c771e762e5e8487de7a0b67fde0072856288d16613456806ddbb661d1dfbe857123e3283f741ad62fb915cf6d5f8b39975f87941252c9ce248a0b4bf1e2ab0b70dfc25b3073d64c840365b87dfe4fb1bb7a07ce987b2eea9a6ab30e8af3d911545e86f31308f930492e77a11feacfd75a72b7c3ebfe77becbf46c3fb75eb676fbb91fb3b98f3309b46cfd94c942c8f5d96fe2660bb3b9fbc63be6de31f07a51decb98770bdc5004f14413eefcf39fb1a32b88c6eddb30fbd2ab7174550316acda81b1e56558f0ec7308570dc39051a3f0e69dbfc3a36f6e4301dab1e49db370ced4017872c12a7ce2aacfe0f9fbef4447ac14e69eed7869e91a8c9f3603977ce422041400e84af51676a5a5a598ffc0ad78eaf5759878f85c8c296bc38677eaf0912f7f19659124925d0aec7725110905d1d0d48ce29222cb23138e15a9be48a176eb66acde9cc4c449a3b078e14b880e9d8079c74e84c249eade76d4d5372943a214e16000e1700075b535e848281cd2de82359b7762cad153b0e8d6db608e3d0ed77d6a32366ddc04331045897a4e4219198d8d0d4ab219561f950f1888aeead578e2c96730f7e49351bde91d4c997d2a869645d0dad468795c4aca2b14283351dfd8229e9fb65644e385aa2e9daace85888552eab766abfe45f130120a7cad7feb0decee88e28cd367c33059f1141aeaeb60a8fbca8b8b94684da0b1be1eadaae22c3397b59a37187d0fbceee64b875fbd1e974cbcee7e9e9f7c7364c781e0f57ce55bae30b41f30f1936fb9147b3ec6623ede1c6fffb9957f36b9eebe2e170f6492eb99c25099e47a26f9e6d4c5dd8670388caaaa2acb7342e386b2bf5919214a679bb63e0f7a4235860b90f8819380fd39dbeeb0fb044cb27952902184e305267c8555e3030425eca8507131563dff3c22ff7c00577ee41260b400b23b7f7b0b963d7214667ff6b348b4b420122ec29ae77f872981e538f98aef020523306b4c2dfefec77bb061ed5c8c5340a5a3b5096d4d6d78fc8dbb30fcf8429c72de2c6555855057fc0e9e78ea1f386af2f1082ba1d495e8f09d5499ac6d2f133ac8dd6b51fa4de24cae36af52cc866af3b554725d930d88e5e39e740b42af0b325b2c35dbe4f36b7736c094c9259d4f9c3fd798e71a2f3fcf4cbe42db1760123034ed457332864baefc1a0ad73c8c5fdc792712a71e8e94d181e716ae46d790a3f0eb9baec2ca05f7e2ae2796e29a9fdd8cc383abf1e59bfe8158cb14982d6dd6f46a686b42c3ae9d786bd9269cfba5efe0b223caf1f6d6dd6ad61b0885a30ab0172ae112405b4b335a5adb505c5a84dddbb663ecc419f8fc672fc39a85f763ed460562eaf7e2b1e71f457bc1508caa2c40ad9a2aa7cd9a8e050b5e468769a07efbdba83af47854b56fc54dbfbe139ffce63751513600f1b889979e780cafac5889a2219370c9f9a760f1f38fe3b515eb503a6834e6ce9e8de1432bb0fbad1770e37fff1117fec77f61d090722c58fc087eb46d05e69c7e1eca929bf0cfbb1662f0215371d4b4290a17241057fd30ff91bf62c95b2bd1122a53165b04b1826234ec588f85f7bf88d0d0493865f63178fda9fb31ffcd4d9877f21c04149f0e1e3106bbe97d1d3804ed7bd661c5960ecc9d330b1deb57e0e5651b307df63cc48b0a515c50809d9bd6e0e1fb1f04068fc785e79f83ea375fc5df5f7f0389e22138fdb4d3505568a043598df9f27aae708b9f52ca95a3e457b6dbcb938f8c783f79dd5178de799d2b5f2517e8c965fdfb195099daeaed1f6fde473ef28dedf486c59c3e74cb7c2f48c806e0f2956f994233f9849d58af783c6e0190a2a222ecd9b3070b172ec4c489132d60d2d8d868d5595d6fe9705702ac5fce692a43c8a6cf2b6afbb28f895f08c71bbef18213374009319f86ee21be54d721b1770f8e2f8c015bb7a0aba61ae1ce0ecc5496d3ebcaca6a4d9a9667a5a9a51d05914665dd0d87b9631d92c60684025d9838a50a3b1a77a13331cdeab8bac67a0c181ec79071657873dd22ab3265438b316cc200ecadde8daac1831530e9ea85403329da6c09aed926a817a864120a5ea6f15a2bfb9298e86d8f1b09e7129c4efc3157d82a53dbfdda9d293eef176b77d73b9fe44f7798c12b38337974fc2cb64cee58bfefbc9665a624b65cf9344135bdcdce8425105a95a57fd2a96761e692b7b179f30e940e1e862f7ef9b3b8ed57ff8beb7f15c5d85823461d311b63cbd9e871387aec386cdfbc1d13468db61478d008a068d8645c3d7d326ebef907a83bef529c72cc613053266a776ec4f3abde46873276468c9b8809e346a2bdad0385a5a5787df96b78fc99f1181c09617065315e78ee512c5cbc14466029f64e3c149d6d06a28966bcfefa4a9c72e1c5a8593b1f0fdf7d27ce3d6d2ea64d3b1c878c1c8c050fdc8b61538fc0c6575f46a072246adfdd8ac71f795829fccd38f1b459b8e377f762c8a8c33172700992aa7fc61f7a28c68c1c8addefbc80e2b221e8acdd86375e7a06ad2d7bb062e506a4545d4b068fc68cb11578e55f0fe185a53b70da09c7e3d595efa2a9762796addb88431ab7e099c79fc447bf7f3676ac7c01f7feeb659c71c96730bab20b773db000675f361aeb57ae41e1e80e6c5afc141a4b8fc3d0aa12dc75c703786d5711cefed827b0f2d197b0b92581b79beb5138fe3860fb123cfbccbfd0b5eb1d34180ac86ddb8257d5787ce4e4c94afeb41d105ef702fd5ca1a14ce1113fb99149be650b3d78efcfc6ebeef2b285d1f2956f7ecad25b76b63c24af8198af5ccfe6e5f53e7f5fe4ba739d9f7c737b7ff2e113efef7e392a7ef2cddd377ec027168b61d5aa55282e2e467575b5e52939fdf4d351ced0a99da3c99c13ea6e1b2f84ec908edf29c26696b04eae3377f202264616ef08f24c7c758049c8e531093286c557a2ae16f161c3d078c80460da1108cf381ad8b0c1720547c78c417b7d1dba98dc176c41a87c1cea23eb14c8188f506c18b073b11238431057964d5b4b8315ab0f0562a8080f45acad1ec74e3e0621238ce7d73e853254211e2b447b471b92a944f7c065f320780550a649cddfa9d033adc4f08b757a8598131ef2325a2ec6f73279b63ab8193613a8213ace6685b9276626619aa96cefa4f64ed85c31da4c00cc898bfab936fdf250b285c832596899c63c93507103a64c4a22acc044aa2b81e6a66605149a31fff157b0ae268429875761ad02e9c9f8507ceb3bdfc0d7bff333340d1dab264e23de58b315130b6ab1b35581f24395f25db71ebb942069a8de83e6ce624c3aef725c9368c47ffdea0e0c1f71030e1b1281c22656c8d4b02c9e24ba3abbd0c970494313464e9882a3a64dc496254f2be1d38ece643d52a1729c7fe6093864d224ac59f0107efc939bf1adebbf8bea0d2fa13a51829268ad32023a515a568ea29252049329b4a936140c198639f34ec3b2e75fc09ebdd56ab207118faaf9585a86702089a6e66604034194a87b4a8a8bb0ae358969c79f86aaea457873fb1e65543462f0d8e998357d2c8a8d36b42a0365f7ce1a04a3151835623816bdb15ecddf2e35d76b3178ca25f8f847dbb0f0bebf62fc2155281c381893271f8ac29675e854f272eba6b7b163c72e8c993003975ff139fce9ce7b70e7539538eb33d7a2fdf65bf1c09d77637c6521420d7bd0a88c9ee9130e43b2e36dacd8b655955581390a04d62f7e16dbdb9bd4333b2d59952937e340f3ba3764e12d27533ec6c1e475af3cf5f2ba63f0e45a75942d94ec966f7e06150d53b737bbaf723d53682b5358da4fae78e5b5d36f9611ee0148f9004f6f2839975ccf34e699daedfcc6c456e693bcf6da6bd6ef0424cc292120a14e282c2c444b4b0b7f0bba3c2664b6848f77c4f4e49de473b89faf37655f365873e79904b20012ef7bee5b12e440d113d2515b8be291a3d07cde85786def1e54d6d4a35159737b4e3b13e553a7a155095c435537d1b817e5238fc7b6ddf5c09bcb5150ba057bb757a3b3f25ccbea6a6994dc9154c8c094a173f0eed6455889d58a3142687c378ce9436623a8acc216a50068456643e29932dbb365453b0addcf6de85ce30e85b81517dff37eefc4cc95c3e187ccbd13cdebfaf5139699da9dcdbd9a4f16ba17f1fbe5b738edced79ac9167fcdf40c77067a264095a90e7e96a0f39d7b3c335de37e96f7d989642b22a13886561660e90b8f22a584c0bc73ce47656837929102ac78f1693cb26923264e3f06b3e7cc42f5dac578f3b927b060c75aec4d0dc079179f82d6f646dcf3973fa0acac02330f1f87fb6efb3d6ad4fcb9e0d2f351114f60d7ae3a848a2a71d2a913105013a9b9a10e0d8d6a0e99c5183c7a2c76addf89a79f780a83cbc328ad1a8471c30e436178299a9995dfd48ed1e3c662e69cd918a98c8465cfbda5e65a39228822a0004761ac13afbebc18c3c68e45a8a418f164059aeb6b11298c61faf4e968dcba06cf3ef6189aa221440aa26855c023543e08038a81d716be80c1a3c6c24c34a03d588c4a053c8e2e8b60e5da4de862dfa592d8bba70ed394a1d2f0c20bb8f3bec75156351c85f1028c1d3d1ab5db37a3a1338021432a71f891f310ef7c0e7fbdf99738e9947938e2b07178ebd545080e1884aa4260cbee1a540d1b8bcaa208b6bebb15051543515c518a82c2282a474d56403089858fdf06b37020e69c720a6ad62d4157630d42650330a8a8088dcdadddf33b1f5ef74b9edfdfbcee779f1faf6753d2f984121c7292a8fdae719e9b8dd729eb73c9b76cf5f30bb7b8fb85f5cb0406df8b7ccb14e67797ed966f99e47a26dd902969379bf7db2bd7bd3ce7f5c4640a41b9fb894b82f9e27b7a702729a3a4aeae0eedededdd634c6f8a0b9804d1730f94a0c72be27d6812d90f06f4071d194215f92c0b0e660bdb785efcaefa88238ef8d4adb7defa23aeccb1069188ada404c93a052eeaeb612ae1131a340889b6762b112ea83a8c4b294391b87a1f43b2751302a60218a1214a405622d1d564adee7106a52056c416a1ae75bbd5d125b14188860bd0dc5aaf3a38e83ba1fd96ccf9293aefa4f7cbf2ce47d0f8b905bd75f1f3026472d36642eceecfcea4f17ee7a76073b9adfdf2611cf09349786472dfbaddc57ea19c6c89ab7ec2dacfddea1d5bb7b593299fc53be9b3e508e4b30f843ba4d69d23a0f8b1b4b800ad4dcd88149721164ca2beb15d29e0b8120acd686debc4808a01561227f93fd5d9829ada7abcb36eb5529ca330fb9829d8bb730762eadea09944734b335246081565c568696a446752e480f7d914984525656a1e25aca4b6704ccdb980ea33559f48c8444d4d0382ea73a8a018e5a545a8dd5b8398aa93994a58cb6cdb55bda2f1309aea1b50a094772aa1c65d19015d6abe46d4fc3593ed7867fd0605043623585c89a3661c816057ab9202311415c5d154a7ca2b2a55c0a403492382b0eaaa50348caeb616653c742921a9f85295192d2a463468a03391b25601d1931a8f71554f2b3a54db0a8b25293712092bd0d5a8a45f08250a04b1d9b178d4ead71605d4e2f142c415406a50c0cc08c75168ad0ceab0644f2814b6ca0b52bea83b3b136afc929d4ab6c46539736bbb25b4fbc2ebde844daf47d41b82ccc5eb7e1e093fb7be5f7db2f1ba3764e055e66e05972dc49b8bd7bd2b8932c9c54cdea64c9ec84cedf5f3ecee6fb99ecf6a1d2f50c8770b03af7cf30bc3fb85b0bc2179efaaba4c29070ce56cdebcd9f29a90d7e94119376e5c8f6b094c3efff9cf7f67d9b2657f531f07da6023e17925edd04dd2f53ee57a9f6b1971cf76f6119874afb071fdf5866d821e40e2b87faaa74e9dfac9dffdee7737129838567c4a3d3f565ca22cab38ba144ae332610a4af73e0cb29f415009c472d5795174286bb1aba3c9b7b343c1088a0a4b95951850164f9d95f0eab8141dbf917bc0f3de90880c96235ce337f9bb99d7f56c0a45c35e326af800805c095cdd0ccc3a7beb43667425c7053cfbc164ca58b7debbea932bb69b6bf2cb98057a94e76e8ff3d71d92b1cae2f73e131296352ddf77b7db5ec20aa74d1e77ae55a63366ae7be19743d387b6f7ca6f71ea91218cd4cba365c0f2de71892d1353bbfb8ad7fa78d6bae3c185c5282b29426b631dea9b5a110a8795724edacb6dd987041e49b1803cbcde43c1d83cd8a39d2e1b26e35e0b761fb10fb9ff4892e5b8f8c6118c6dcd4d68e904860d1d84544733da94d8e29496b2a8d813761b0dfb76a3bb4c370ff8f315acfb9c76a59566ca921101c75367f7a9d3d73d02dceef1b09f956ea26c51e0e6876cbcdefdbdcdeb0e2ff4c83bb26587c37b0eaffb190c5e5eef36367c5cd8eefa644a22e733033994732f65ed768b7b949fdf325cf735e489800fd0f2829d5cf22d9367c1916f3d8c4b872fb300917c36c8ebd53f9e71c8b5419e3761d82fe4ec0738ba97be67483476f3a9bbde56192ed9e3e7a5ceb5411e0d958282020ba090e829e1abfb1a7a4c940172f5d5577f6ff9f2e5b7dbc08440a4cb035092aebf6e9062bafea6f20526f9ee630264def93580cc9bab85dca02568260245c946656535f460b694b2becc7a8560d4e7229bb1bb3bd9800532d824b3b1c612bc1135c8311f34c8a5c3ec82ae8e3d56b951f57d3c68df9b7459dc1462494f42a9d3304b46f74e940c986e412cd758e5c0656527ccee8d9f7a20654a65d335716c09e68e9f5a7152c7b2a07bd416280ef3992ecb23e546faee0165d949b33b6465dd9bf0584cd683fdf715e83149ad751daed084ddd6ee7eb17ff72a2dcbb767292d253ccc4077fdbaaf779e9d34ba8102054d20652bcfaeb465e9702c7fefb63c13260cbbff335992565ba98c12b652b0fbaf7bec0da397a437d0735cfcc2518e92eb0152bb85514af8d419735394aef55c7a244c79364c740b53e63c9137990792ea4aba7e83d53f5eeb0f0df568ac9784f862b6b7c3b49e69f5aeaa97d38766676fef922faf5b02cfb0ebda33aedd8bd7bdca89ed76f17a771dd5bfb2d2382221032d4d5badcde14a3c4a8cbc61790609a05c2188ee314fa6f31b7c79dd760e1b29571f718e25d00308b01c372fbb9dc8dd6d49fa84e13cbcee2b1ced7e74c014cc74fdbacb33d3328c3936fc3ea140593015ece675e737876ff86ce7dabc79ddb479dd9bef620378efce113979dd7003824037f8341df0e8e6f594f0ba5bbef5f2041b0246393e16afa75cbc9e928ab01c3fd0df2bdc9ab4cb35d2bc928dd7d363e5f0504ff9e5f413dc60c225d7ad399f4037d882bdb95fca9ed756bbed796df19d47fef23aca768eb9778e758fb9cb4b9ef2f0baa33fbcf2c0ba37e1e2757bae3acff6ced31ef2cbeb8d6b6a407b63aa7b5e14da32c819a3221a504a77bbf4b91b5838bade742d0d0ec07fc75723dfd53af9e698643bb40f1956e6f40af5ec6d45f01fab5ad1d16633a2e10a3d740b7567d238683fd05d77e9cc60b78594ae912d7053467a52a560ef1e6ba3568b71ec6b5dcd30e11a4cc7f2125f927d85612bf3643773c365a9a7071a3d0501d2cc6dd5d5702658cf09c1f83f9f65f33655403793194e62730f4756ca35940ee8713c1ee9496104a42de9b6a53ced71e766c0f62c98dd422b7d9dd90ba4485b5cfddea3ddd206e9db54f7ec306d3e16452a7d120838bfd9c2c91140d6a7a4abaff96c97c5e2f48dbd03695a78d982d0f1c458439a6eb733fadd02d5162c4eddba05198ceef2bac7bc7b5a39d6b95b09a40fdbecee23bb9f6c5bc0c3ebce5839754aba04a9a314bb59ccc3ebee44e7b45077789def2dc51170cd1b77bb4d678cf78dd71d4321d57daf97d75956ab8b875d4ad21e0f698ec8b0b4d2e92bafc3aebfc3eb66665e477a9cd37d97e6f53493faf37ab7020fb80081e1949d4ccb23330dea7bf2ba69ed0123e504baf92a8d10932eb09085d7536979d7adf45d5e476713ec34afa327af778fbf7baefaf07ada8c4f036bdb53968bd74d7842a75978dd70cd3bd37e1eaccdf39c7ab87e737ad66e4b5f78bda76cf6f2bae9022de8f61ca7c7d9cbeb6606b96ecb3dc3910936af5bfd13e829df7c78dd80db23e38c577accfbc4eb6eafa0332659793de0d2bb3d793d1030112b68c3de5633e87232a45c7a3de5d9abc4fdde8b1df25e99d397b37290c3639269c9707778a73a3428705fc945488691797fb8fd4dd9ca357d163d19fb504e3ecfce74bf99a5a7f767bbb3d525dfb6bd5fd7edaf7ef8a03cef608df9078dd70fd418f485d7f7475feec3b50ec83c68f4efc6ebef977cfbb0f3bad2e2c138501dfa8d7ab7c6eb314921f38eefa60f28413ede927c3d26c8039cf8edfeda6bb54ec830836511667ae33d9e3da84993264d9a34693aa0a4347748e9ec3d86e95ee092e93c3cafb7649f2169a08f60c4f071d12087c7c4bb6a4793264d9a3469d2d4af204aafd5b75e70920d17187d0129f90205234fa012c8f272dc409a3469d2a44993a6fe43eecd5233bdf201227981934006b0910d9c78dd34992ae4e73d31f4f86ad2a44993264dfd8adcdb8304f2d0fb99f042a6b28d6cc00439104ea687644a82f5f3a268d2a44993264d9afa0f65ca2bc9044890019c6403287d02260e9939408bfbb3b7f2410d4c3469d2a44993a67e0d4c82e8ed74c886057261883e01935cb1a14ca70d1b9e8a7a1ba043399a3469d2a44953ff22bf95b77efb98f961837c71454e60827d002cb9e24dda63a24993264d9a34f53fca16c2f103247901904c946b4bfa7c9355f2d974cdc07ef498a44c799164db5dd518a3b7af88d770676afe1e74ed4a9d48019d29f93e124cef08e36e10efeb94dd93110dcafdee6b92761d828694e3d42569efd112940d369d3d2cd19190dff93cbfba6ad2a44993264d1f508f493ebadde8038600dec396f4f954d6c8f27da6c4987d876eaa94962ea035611feaa53ef3c4d176f5b9240254c455c3ecedfe9b3a055c10200c8ccbf5db9ae51e7ee67dbb5a8002d5139505f23d7b6a6fab2a5f3da3aa4000c6ce1679f6b022f94c40d2d021e511689446e5773eabb65d9ec7ba148581ea36b996f50aab7aed6e91fb59762c9406589a3469d2a449d3071498e4b324b8cf7b96bc1760d297253fd9423bfb85ea94e2bff010e0acb1e2b520082150d9a100c7f35b80f9ea551e15afc8a70f07660f07363500bf780dd8a340c239eabe4b0e05260c001a156058550d3cb20158572be5b19c6306039f9a024caa90f2dfa9031e5cafae7b47019a9802320a70dc301318530abcb80db87d95000c96f98b79025eee5c0ddcbf0e983250ae3d6210100fc9739e79177879877851423ac0a54993264dfb8d9ca3a47452e301f19a64d3f5d9bc23ce35394df1d03e542c1358c96739d07ee1131ea94e257feae8debf5d7d04f0e715c0b75f8075dcfaec11c04923c48b71dd73c0451380bf9ed9f39e19360839e91e60d176e0e393819b4f116f86430417172830f4f3d781eb5f0246940838a21784f4fb65024c0888ce1823df3db5493c26779f0b8c2e4d9735518197f3c60337be02fc9f2a6f78899e409a34693a70641dbe9c124f303dbcf4e8c682626065f2d8d2b86a52065f9b7a0d2d0276b74a19c38a815dcdf2fb80b87ce73c837296c657dce309964300a53cca44ca66cad750faa0eefda235497bdb24f4de9e040aed7af039d9dafa4121f65f7144ea9fabae4ea4807d498fbd7960db968f4edf174cb05f8049364f4ab68aee578f4930209e0ed8cc4ecf44bdfa7cc52409cf7cee7060738352fc0bd540b7c9755b9b64425e354d3ebf5d0b7c65be9a6485eaef91c0867ae08d5dc0714314b03943ae61a8e8b76f4ad95f53d70c52d77ee3686089baeef18d129221302133056d74dee53a036873a3002107945cab80d1b23dc017551d8e526068fe66a02ca64189264d9a0e2c5179315c7dfd4c206c1fc3f6ba9263cf6e4ee7e10d88c97b7a9f9d70f509c381c14aeeddf296c8d712a500ffa864e2a7a789b2bf7b8d801c021186a92f5006d78a6a60e91e0133fc8ef2b12b299fcf18062cdea9c0498184d9a94c9bbb240c5fae9e1f0948d8bb2d29465e24983f98a0e8a55ea00179ec10b9f7efab944e50cfdaa1e4ff1bbb8121aa2dd19018b70449a51151f06c3f815a4b42c00c418d93975843b0151459cd3a37774a3fb0cdf4de139811a0518ef333ef2350c8cb35e0f2f0f0be2b268a1e62ea00ebc97c45ea1fd6c3d115ec4f07848c2f070e29039edf26d73295807dcefa1d001096ed489a5cb8a06f40fa7d7005ed5762e7ff6a0970cd53c059f70b18207de230c5fc71617867e0f9f0b0bd293e51e98c41c04605603eff94bcc89c9f9e22bff3fdd5cf00ffb900f8f1f36a42dd2f0c4222f021a2edcc63e0dd611a7a666825fcdf1bc09c7f4808c9f1b868d2a449d381222a2c1a568757020faf07fea100c5ea1a5900305dc9c1534689d2258d558a6e6245dac83a7b9c5c77ae021d9f9faaae5372f0ecb122cb68b1d3734ce38bb97a47aab2e68d146f361525f3eb2867cf182b06258dbd210aa0dc74023073a8c8ebf165022628a3590695edc587888c66f9f912eb3f45b5efcbd381bfac009edb2c759c5605cc55753a71b80d34da44c95f3a41c085e5f989491b0986084acaa236404908d89a5a25a063ac6ae785130478d03065d9e78c13dd424075d24891f304487dc105ceb5278d12804620d7697b434e1b2d6354df2ea0847d7cca68a933811c8161d8909c457e3fa64cfa623f9f667d50ede7d08761d20d568c3e5431f39b0aa53fb80eb86e86b81b0715a5199b4082ef89fce911217afff11cf96d7d1d708742d6bf5b0a8cb4bd1b1bd4770b150a1da4ca19a7067aab9a40ff54657f468192e1c53d5d980447a6cb5de910bd370f292170cd9132d91822e28b16c9631b805fbe21c8989340e7bf6ad2a4e94011ad712a592a3ae6c1f13de52501c9e9a3058410086c6b02be7d2c70db4a319c18da662edf658702cbf78af2bd70b2000e2a7e86ce0938189aa632e5f7e3940c1d53a29e532e9eea93478a97840b07ca6c4b9e9e0b1a894729257be65851ba678e0136350ad059b157e42c3dcce13ccd67ae74a4877c67b3e416fe6335f0cc460149557151d8cb76038f6e907ab3cd94ed5b541d8bc3c03d6f03bf3e19f8e2d302c6b6344a1dac6b1aa5dc71aa4dd3ab24b790b982b314d859ba5b00cdcc614a7f148baea1ec7f72a300a0be104113eb457dc0c5170482234b0440590b33d40f574e0396a8679eadfaebf14d62fc1218b24d6b559dce1a23c63af32963fdf474ba0f45da2563a03576c8665489fc6552298148c085489917f277c5acb3ee540cf8a662ac3af9ed10c56c3f3c4190ef36dbe3521411c4cfc976cfb9c02b1f070e1b28bfd1f548e68904d2c0840899df93991c2282e5449f7337f0f505aa8c1d024a0ad524f8c844e0a7274a391d292d383569d2746089f28c8a8a46d9501a6e05a2b42913bffe9c7853e60c1739f5c03a9181f41230f1ffa393e52f17177cfe7051800cf110541074d07a9f33422cf5fbd4bd5f7b4e72e9186648daa122fe3679a084d9190a7f7a9378b62bd4bdcb15083a7a880096767b4100c14aa00f1a8ac08a40e8aa67149050cfb861966ad73102a6b808e1f74b05287c6cb2781ebe78bf78472657485887208df2987d42994e70c1c50f572aa0f2eb2502c046a87e5b53236dafb05779d2d352a480c9c513807795fea02dcc1018d0b7708a13faa1ce69547d354d8dc7110a047df559e04fcb05705c3e09b85701a8efbe20c06368a1e8198ed59e56f5fd4bf29763e9d6451a98bc0f440621b2e5ca97f30e91ef5edb056c57cc190fa72d06267e91f9e86a24a34dfa3370c9c3021648870e102f098993f77b330544305e4ab47fcc10f9ed4935a1b6d6a79f4f9724734638992e3824fd3d57f77009f297a6cb449eab00ca843f891542e22425537525b5d0d4a449d381232ad0b2b884a37ff586328a16032f6f9770054337947d54a25466d64a4743940343214bf78a3783a1855535e241d9de240a901e90d12522d39edb22de055aeff4ca3024c19587cc013c55c9ddcb264a6e07c106c34a54fc342a87d85b303cfbaee4efddbd56bc2d9f3d5c404abeca9d729c408260e9c7aa7d0fbc2df2ded9378a6d25b8601f54aa6757540a3823d8a297831e871fbe22cfa5be78699b002e86b5585796450f0f811b3f6fac97d5980473e78d93bea361bc56f5d1131b25d9b62fe114f63b411abdfdd467edf636173488e9a12178aa6e1543fad0819233c47b9c3db6ac3c19bb8dce98f757eab7a11c67c009066e395518cf719bd173f1a3576502446d57566ba7b8ebfe7486a0f2af1f2d489f6ec2421bbcd05577d71a011264c02f4c95b824d1b59b98559e4a4a9866aa62ee518a691ebd488008ad04123d250fbfa3c0cdf1c03547c977af2a86dede2c4c46a22b9071cabebafb3469d2a4a94f823e20499bb4f6692c3139928af44f2b247472fc500983130850b953c151af3197820b0328cb0844280bf99eb28e1e94bfac94158b3b5a248cc2c4d7c32a24afe49febc5034150b3527dff4ebd18910cf7d0b3c170099fffa9c3c43b4003904a95a125e69abc5d27f2396fe56e8887877926bf3c49ea7ecb520985308445454fcf3ab77c20a0fac95c790e0d4df601c1d56b3b0478507ebfa5eaf32f0596ae55f2fbdd06315a59ff93ecd0143d34cc3161ffbcb45dbc51ccbd2190e2161296573d9877d5adfad1e342c3f9d8a192587cfb4ad1472cf3cfcba51d4c42bef450f1dab04e35f63e591c0fea38d6872b9322c1fecbaf86e982558661643bffc67d804fd00635ee57d87e455cafa8eb6f63d1c4b9974cb871c1558956480af53e1201c44db365758b173193217eb944329b59f1bf9e25ccc23c92731e90d8e34727a5433e0e3119ec872fab01568c5da506fcc613246eea2666b113b0d032f8e863027a7e3c5b5c83eec9c3675db74031cd56e0f28982c08f1bdab32cc66fb94a8782c2daf84dcb4e4d9a341d28416f5be4041e96256f1b77f41e70650a95189559dc5e09424fb3b560c048af0ce18691217b958df3be4e7d3fa248c219549aad76a89aa1052a7dca482bb1d4de78d2f25e04243f8fe080cf0cdb1e14029b0e3bf1941e00862aa868f3958d4e1e0df500bd360caf37740a600806d2ab269dbf54ecd42571dbf3e02cbba592e78a18dec7760fb373150900d82eb687f7b19c8a02698bb33a872b80a281745bfb4a6df6f884ed3e629f308792dfef6991245c7aee5927d6ef7f16abeb4c5935c436f15e8e01fb98393cefd96ba2ca09a936adfbdebcdf37af7dfe7ef50d3527978174bafe3aaf2efb95f0bc92b6c677fef2657a5eaaaee9daf64b60c2d007f345186e7113513c33cd892e691574262459c972192624798b93858959470e4e87513634883783138a138e211f12139b88b6394988f0097ae6d89bb5d17a30ed75f95c624c1726ad0c7e4f34cd32c8f8cee4642635c1101987bfd14d48a627084aea1c134d9a341d047292f4dde424ef078dccd73820c5fb9e94b08ff6708ee5708e0b7156245af2cd481fe9e15e24e08420aca33d02a25c12b6aa0a06f6bd8d7ca6e179a6bb6da6fdcc40c0b5acd76e97777336a77d2ccba99b735fd2d58eeeb6e23dd4dd4c0331a73f9366fa59f4d6cf1a263a65c156014b8ec7bfbb6dd88f4b68de2760d22f43390400740bd2d5e626225f076d9b76bc8dd9dd5ca246044ab04270c0c422ba230d979b932898ccd465af49e7df055bd213884cc2982933d1694d58e11c082a261071f2467839eb506523e94a1bfc309efbe2b6f435cce2e66f1a9468d2a4e9607a4efc3c0db9ae7103116f68c5bb73b51ba47895b4e179a6e9b9be1b2019efad8da1807f7b0c571b8286e77b237bfbfcea16f45c1b7c8f599b86cf6eb54157da020d6ce6e0589b79c6c49076c051aeadd9fb13f54b60e220c7a27066c4ec5c47d79c738e8d8346e9b52808fba35507f107ed75e15e1a104f97ed4cb0813e7b91741f30685b0e950599afd1a44993264d9ab251cade84cdad97921f521da24f69d1a44993264d9a346960a24993264d9a3469d2a48189264d9a3469d2a44903134d9a3469d2a44993260d4c3469d2a44993264d1a9868d2a44993264d9a346960a24993264d9a3469d2c04493264d9a3469d2a44903134d9a3469d2a4499306269a3469d2a44993264d1a9868d2a44993264d9a3430d1a44993264d9a3469d2c04493264d9a3469d2a48189264d9a3469d2a4499306269a3469d2a44993260d4c3469d2a44993264d9a3430798f64e678910cf5ea48024953de7fd0ea9f323f58756a4f4a9dde8fbe32d4433bd5f3bb52f21e76ff98fd99474d7969ca9307207395735693264dff7e14eaaf828b727e4fab1260b602337dae09aaff2a0b946253ef8bc222ecde0f1060d8ca3ea46060c85557d6afb94b147159340d540e86f2efb2815a2cd8f3997c5facfa2af13e29538e6761589edd6583a3c64ea967a13d86fd0af9ab0634744a3b4aa21f3c10fa413536385738e69da90f9e31a14993260d4c7a2b2f25b9124a605d3109387ca028f894e79ab0126c5b1a81bfac1465f083b9c0631b806737a741c0c122d68d4a95f5707b6d762b60f551d58629aa0d3f7c198887a52d07bc3eaa0e91a0284d0214c733d19e10e5f9c31380df2d0556ed55802e7210fb49d5abae5d9ebfad09f8cd9b40790cf8f11ce0e5edc043ef0015b1fec5abd56dc0b547c9b8b33d03625ae8e4a2fa0ee0e491c0b9e381ef2c149012d0e84493a67f1bea97a11c5a51054a897fe3686074a9781dfcbc14fc8f963785dab832a57423e29d38984400c5677e7f2670449512baed3dad69fed69a4883838341354a59ce5382ffdbc78912305d002a68f7553c28de8b834d0427238a81ca4209e7b08f5abb0440f5476665fddb1202fab472cd8f38d69cab634bd31e144d9a34698fc9079ee2aae63b5b80ff592c5e10af254a6116519aac34aa1482fadbd49956741666310434f0fbe64ef120f0da58481420c10e956471a4a7fbdd897fb774893781d7324c43e549e5130c48d888c089cfe2b5b50a8c0c2f1690b4a345caa36762681170ff3aa9c321e5f23bdfb30cd6bd46ddd7a6ca8d86a46e6cb3bb2e2c9fcf64a880d7b1ee65761b9cf04738d83324638516dac5a334ac48bc36ec17dec33e20b10e29bb5d2dcdd206b6897560dd9cf29c901afbaab143bea34261bf1839140afb3f69f73f5fac17ef758008db1555cf2a50f5baf639f19c0c2a903163dd1ad4f35a3ac59ae6f3acfe763dd3b0cb21f0a2a2a3378a7d130da6c3437c96e3c972d78bf5e175513bcc95484a390418ec27f605ff1a2e5e637d9a3bd3e35f68f346651cf8e512b96e7489f4b5f31cf210816a970db4cba332064e7e0ffb9d6d60594e5b4c9b27c93f813e2aed8e0c7cea8c15ff3675a5c37b04b0ecbb027bec1dfee058b3df0b7cfa8e409be5b3afd93e86044b5c73c8016abc8e6d305ddfb37e1d0901c7ec13f6a7f33cf298c32325919e80c5cb4be1407abe98ae7a75d8808765d333c7e754c4a58ca43df79cb6b16e85210d8af6850cd5698d6abed6c7d27ca5e9201875aaa3a38ac72b944c8f26e4b30626ef8365cd7e670e09957ea6f00c059237578202896081bf9d361a387a88840e1e7d47811da588072a6135aa44042815b793f3e008430ab6f1650208f6b68ab09b335cbeab5382ed85adc0ba5aa0aa5014d8d9634579f2392685ab2a6ff95e05529ae53914f82c87345c7dae6995fa5d7628307920b0a10e7858d56db70235430aed70902175a660bd7ca2baae02d8d420d76d55df4fab14e5ebb5d4d9a6a955eaf72aa913c361ac3f9fc77049d2f630b16e2cfbd3534411bea47e7be65d11f854684edfee52753a721070fa18b9efe94dc0eb3b553d8bd24ad64becff7a5b919f340a386198526209e9ff45dbecb1b57371a84c8e1e2cf56eb1c1e25ea530e78e903ea7f27c9efd5d27f50dd85e3286f1c6298bfb5387495d56ec955010afe7b80c2b169043901674b962a8e04616cbb3ba15b9fa7bde78e03035161beb81055b64bc580eafe1b8cc1e2e5e28b66ba1aacfaa6aa90f15fba40a611cf63181624a3d63b3aadfa401c0e70e57e5281e5eb647c68ef52360a542a7821d552a65f1d95f19274a93ede58bbc1f0be6ce5b09d8608b7ccc7a1e5226f57c41f5f5db35f23cc306d163d4f336d48b52fff274e9bb25bbd4d86c90fa50614f1820f382bc1576f51ddb15b23d6e341a9c3e268f1484d27387fc44d0c7b63a6087d7118c0f57007d75b5cc6d5e4b3e9cabfaf58c31f2bc2736026fec12af1a0d8e800d0a09a818fe212f913f1eb1e701c177ca7ee6d088cc4b96cbf2d846ce558e2f01229f336f84cc6bf2e2fa3a912db940b62617af91cf155f0edbb51d176c7e44f14312498d4c0e0a180ca9d79ed8702c3cf40224d53c2de8e8bfe024d4df07c4b1d03a5c2d316dc5160dfa0b695a4b14d2b79d29c2e9dd0611c85412df5a083cb006b8fa0860865288673f20610d96c731dea384de894ab8df3053fdf6a028f81fcc02aa5b050850717cf548e0d76f02b7bc2580814290cae7d8a14ae9958800a6e7e435a5c03fae14e7514ab17fe95f6215323c4505c17246948802e4fd9f5400e12bcf8a601d542820e42425486f3c4194008533853581c6ffbeaeee5160e82925c4e76fe909daa8e00976a6570900bb6882008d3535a25029c477296570ee38299f8a81ca97ede5b5d73da7fadb90fa317fe23f8f052e51df2fd92d7dfba73380fbdf066e7a552982c2dee18b800d4aa8d0fe7a9600b377eae5f3a5aa9c9fbd268a856348e5ccfa32e444afd8edaba48c6fa9675e7088284c8edb670e1745f28b37a42ddb559d3f3e59fa726dadf4cdc5aaeccf4d057eacea75bf1adf7f9c2fc9d3df7d51facde11b02925f9da4408252c477ad0606a83efaed3c51dee493094a717e4929ecdfaaf1bd6baddcf3f519c04727cb788eb6c1d0bf1488fbf16279f675470978b87e91e283b8d4ef2ac55f5f51e5acac96fefdc46152bfaf3d2740a45429d171e5c2870455e78c93e7933758bfc7d5d8deb048c63057888800e078c57bdf394ec011eb4430f6952385476f5d26a1337a2b582f8226025bce2b029a2ba7492ed4179f1120f3eb93a52e5f9d2f20c4b48d849dad026409a867fe03f888fa7b8a02fe173f2473918094f7fdf76ce1d363ee9079c5f940a0f385a96228705e395ec96faab13e7f9c004ff2dc5de74aae0e5fe41d82088286dbce1010c2f1e6bc214ffcf0150550d6cb1cb700b09ab7df56f3fb1ec57787aabebd47f1e97d6f0befdd72aae47aaddc2b808a63f873358fee5825e56964921f35287e3c64eb0afcf19579181badd11b521c2c725c536a1efda1fa93f8e9097f45979a70c154ff6c4ebf0726143a7cc5823d955fa6552556ce87fa7be7b9621d5ff1a80845de4f05f887d345b8ddbe5a84e7c9a3c48aa775cae268597d4609dfcd4de25d99a8acc7ff7b43bc0d04087cf6c54a69fe5209efcd4a083fa780c17f3c2fcaefd6e5c03fd78b32a1a548eb93cf2d8ea4ad750aeacf2ba17a9312aaffef79013b14ea7f53c2f437270b50e273092c6e3f5b9efdab25e27da007e41c0548be37533c1b0408290f63322472ff5a49223d4d019e4f3f2161300bc885247f87ca9720eaf34f8907844ae250d5ce672f534a5829fb1fbd2256e735478ad2baf861e095eda27c67298bf5f14b44015279d3e2778f43c276d1df7dae28fdcb1e1145484b7bce4801400434bf792badf0e8d189d916f6151395c253af4b1e1230c4f6d07b42c04750422075a952883f9b2b40ee8175a2e0d8e74ca2e598deb34680a9b5522bd57b7e97da211f82422a7386604eb94fcdf94e29e7ac715237826282372ae38f3d0ebca8805d594cbc12f42af01904014eb8886dd9d62ce34b40c9be27c02030e178fcf844e0b18b14f0bd4b80e7e04ee1bf290a245cf9b4f018cb394e8dcd2317ca357f5d29a037d71c611f30a4f4ca0ee9238ef705e3d5189da2c082eafff99ba5cda38a056872ecef592b7523ef3f7fb9f4e9f9f70b5f719c7ef986945b104af32fcb5c697b3ce8d5f9bc021bc70c01dedc6d8747c2e241629d670e93e772bcc917a78f1600c2101dc3986c3b79fa53aa9f56d748db397eb7728eaacf2f6e971026c10a41caf9ff04b6368a578a00eb570a50ee6812c04da2b7f1770a80d42a3e3a7dbe8c2fdb77b3ea83e3555dcebc4f403201148126bfe79c7e699b8cbba6dcd4a4faee636b7e82b12574c5295492d0ee9283e736a13b3a892bd7de8e27defd12964c3a16152d1a981c54a2354781fbdde344f8855cc89c1610bd0ffff5a228bde2484feb91962295ddb17788e538d876c9ffe733a29429742fbb57290225c43f7bb8ace6a145d9d421610b7a1cae7c46eea30783ca9b0277b02d606f538afb70a54c2e560af2a94de99838eb15b173179cf001153cdb62209df3400b99d61a8537ad372ab76fbe003c79b1587d772bc57aef790a2828abfcbfd4f713078ab5c8675351399e8bcea44f52adbd222768bbc1f9de5ac61cb057e8a8ef06aae7defca680a8a99552dedbaa9dfffdaa58b53f5d2c2e7e2a89cf2905365ff5cfa80152fcfc779465ad94e8f7678902b37245823dfb9f429f8a7b8e52c06d4909811110cc57ed69566d7deef29e21027a4dd84f547c0c8f10a4104cb25eac3fc34c811d0228f83b3d255ce5f4a7e5f6aaad80d483408fbf1745a5af38e65e6f83613f8fbfb35295765e0b3d62e536807b78bdb4897c455047c5cc7005c3740cddd173c2179519fbb5c3de17861e0986eaae394a01bce794425d237cc23a10ac7df231656d7e5cfaeec287e41e2ac9ff7b5d942bbd6f7c3e15e51f9689d7886dcc4554ee1c3ff26281cda7049bb7bf2afd434fd8e31ba44d040facd79f970b20e23810b8105cff5601e3e90a64dca67efb8202a45f54afff5c285e130276f226bd79df785ec261048e6b6aa59ef478b19d041bf49811a49f374e9edbd8257c46be238fd15bc4e7b2df7fa43e6f6c1030c3feb87d85ea1b55de270f537340190f9f9c26de0f7a68088687daf3e0670b652ed35bc5f9c9f12168fefb2a05749e94100dc7f7d45102f44eb947423704d27cce9f16a7efb73c89a64e5ece4b3772651fd480d14bdba693740e3a4529141328eedc8364b0ff36a3df02135a4554bc8ccb2fddd37359ab9338e8242bbaa92b21961a5dcaccf9709252ad9c8d328955d3e20dc745e8d3a2a4d0a442a532fceef122285fdc26608061a1eb8e96f08e052e02122238a2523c2f2c37682f77a49209077a82282ff11a02225eef24bbd2b2afef94e73341920a8f80e5360542061589427104273d1b545cb4ae2be2fe1e3fa72e865d9fb05d3f7a929824ca3c8a257bc40b4162d9541a14ee6db63267f8c9c96db87c8a7cc7f633fcc5efa920a87469a1bb8109953443538bb64b9f3214e3c82e862e56548ba55deeb3ac96df3db45edcfdb4e039f60c55b1ad613bc199b92eace383ebc59bc536b23eac034146b20ffbb394a8e7ddfc9658e84b3f25408d39096fed917ee27e2f54f6678e156f12f31aa88009941ca0e97e14bd5fa78c92763367636245ba7f99e0ca3efe9352bcdf3e56788b1eac35d512daa147c0b4c34d1c7f2789dac97fcab4aa8bdfd3abc0677fed28c98371eac6901979fb9d3ae1d1b01d9e7b75a7008ca09d77426f0ef39e0828e875607d383718c2a2b78ef3d0c989a267831e93f1761e0b4101c3951c3bce0ba7fd04567f52fd3ab64c00013d6ff40412cc702e33fcc83c2c1a16c38bd21e278e0973ab0e65dfa9b93c5bcde52d4d0222187271fa62cf00e107e653116cd123c7d56f7f5b2549d49c47bc8f606ab79d0fc35c26c7235e3b50c022c788408ec03612d47a2f1fabbd33a006c95afd18c81d7e7004763ebf7767dd1bd9efcff8bddf6e57199eff7e3ebb573966cf4cefac7d6a58132311885879271a981cec8adbab6aded82dc988e5d1de02d9b2bc7cc691d385d6e775336c6f8ad913f050c10c53426ec16601308c577ff559c91f2068611e04151d3d198c97337efdb795e2468e8545081f56b16f16969520e8f174d078279871423d295bb130369f7024a999bed6f124eccb665e165bdb1bd1053d7de62424a66cef0f153d2dd762aeae48f59c6f54e07495fb09732a1e26a75a2b7c7c8019430dbec64048fae1b34f49ce03010ead71e6c47ce745e1038605a828e9dd72afd4720099332601a377ff3880d6d96b860a8d09940c55d13bc0e448e62111983057a1cdf6dad17bc60464e681fc62ac28f7eb5f12c0ece6816452941cefa347af34da536e1164b02dec6bf2a593679344cf7282f67893ff9d3eccc46ae4995ad51737ce1640473e65dfd3eb443e9d34209d3f65f14fca2ed705aa4c577894d7129c30ccc39014c7ff478bc56bc27cab9f2c160f61d206504c56e535f456f0fd21ea797f592e09aeec070295a5bb80e3142858b0353d0eddbcc66706d2f520dff1bbae647a1cc72b5072ed0cbb3f5d029d6d60a88cf79047e9dd2408e17526d2ed240067be0ffbc374ddcfb259e794797097f37f28d009e5412a9063699e4bc0e5f37baecfc8f37b2ff93ddf30d3ed38d8cfeecbf37a9567ca35fd9c5ffb2d3071960196d8eef44cab727a096ddb725aae04e3e58fda61047bf250c8136c50b13154c1f839ddda5fb337c862ee02430db4daa970b90280ab3598f741ebce89f56fad917b19337784acb3ea21af4109f4e62ba70cd6716f8bc4d8992c49cb934a8c2f860a287cbf759c782e6ada33f789a378bc5bcfbb3d2aa6cff7bc964a8d9e222a51268fb2adf1505a51b0ff6815d3ea2e89f406007b5ac4539248f55cf1e05cc724447a1efcea4d70c23e60222c952cade49b664bf2e2e9f729d0b05b1249e909db63af98325df57256f65059058d74b8cb0101a1407a97602a752a2be6dddcf8b278df68993369fa7fe7094072f8ef6ea5a8ef5c2d9e0ee6f8fcfe34e09287659cba416f48bc684cc41d5c602f390fa7eb47af0301333d3ef48ed1b2cf36166e432c1338213fcf1a0a5ca400dc790f8a4762908b4fe9d5e046666e401ff2d127ced8a7cc3448fefb6a011d37bc2ca08c4b6d396e9576f99c23cc83611889c08449bf2c78e136e97f8e153d36932bc503f5d4bb02669a3bd33c9aaded44ceccfba1c7e7e38f8b57a9fb27db83d66a2fb7277f5a4bcc13e99c18f231afa157866339b830bdc121fff25a025c6b8559404725fa4e797a4cf2fdddcce48530f2fcbe8f0ae6fd7a763ecffff7e69c0f3426b7c68a8285c2b5c1f362ccbba9b3378b30c64e60315309ebe995b2ca80e1052e19dc542f00874b33a9e40934e8be6779f49a30f4f3c80651a8e43f2a5e2a97f5f522ec8b6d4bb1a84894a39358e978183a5369619948ed9b15c601a3db9f1e02ee7d72fff9f25c7a27288c6fb2573c50011686b3f373c0ee3f0a605aaff91243180c37b15d5c2db4c906625df6d250be3f72b0789fbc608c8a98608fc9865c29f2769dbd2c37212182f30f4987cefc8c012a156bbf10439267e9d1fad863f21b1351a918d9267ac3389e5cb5c1be66ffb05e0c411160306fc21a67dbbbc26b98784977fe5183e5f9017b65177f2fb2c1dfc22de22161fe05c79ce3caf1e4503274c664c98f3e2675248fb5b836ff2388a1178ebc43b0bba136bdbf0e95369fc7153fcf6d16fe0d07f39f0704896d89de3b07b35d550e9fd6a5f9d4ea4bf5fe5353fa2ef7782f9535c791e57305d4d48192c8dae9cadb31ecf166b88be1984f4c96dd84091839779c9c178e15eb469e8df6215c128e48c88e40f6a41112f66ab7f72b61e239c1087929914c8778dc40989e13ce677a42cf57e0ecedbde93d5618e6615f1e31c80eff6994d177c56a0672bf882e03c134371b419f6b5c7fddefcda06d5bdb9f0de79ea0bc0ceff5cecbb05f3ee59aee327c7e83ebd96630f3f708f47ce5f36cbf7b7ceb96ab4f353079ff781eb279153d03c70e1185e27ecd1c2e897da6ed9e2f8ba63751a3f27a701df0d8c54aa94d160146854777fd43178a554c3012b23730a365c8783843434c2ea56545373f9784f2f7bf9e294a92cf9aa22cde5f9ea41473950d60d477756d1217e7d24faecea195cf7a74d8a10067a3a9a4bd7996df9930fce8b481d7b03c5ac0ac0bebc63afce134c99ff9e6f3e239b1368bf3013f2cffd51d9283c1e45eb68bee6cc763412f4128d0332cea7819b8ea241894bc851f284bf92ad5673f3959ac643e8b63f1b8ead7cf4e11e5eef596b0ec7f6d166fc7031788b2a245cb50dcffcc1125c784c9d29800bbee5532ea9abdcde26d78e652b1f259163d233f9f2b40e0f55d02dad8fe33c7c87264e6bab02f993c79cf7932c66c1b570c31fc70eb19d24fac27fb822e7dc703c4bc0caed4bafd2c6917fbfd28f5f787b324b975b5b2f82f54f579fa524920a5e7846096de14d69d9e0167f50f5f048e547c4c0e25a0bbf974c92be1109167175e91de3490fdc9ebd9466fae8a9333437ee8b0f70ef9f52992985dd7d1b3bfc95b040c6c13fb63a0bdba8c9e995f9d2ccfb5ce4d4aa5792cea09033abb27b32e41dbbbe400b2db56c8ea17821f6e16c8f6bbbd38bc87c9e3cce160dfdfbf5e78887dc93e2431799dcbb3a38174fb2276fbbc80206987bcd82e82458ef91f970177abb1bd7abafcc6fa5f3e49f890c6043d872caf3cda1381f15a7a737ef1bacc9d6b8f9532c91f4ccc7dea52c9c9e1fcd5c0a4af66237a2b5aef2b10b2e29b0d3b1ab0bbb60dbb6b9ad1b8ab41f8c7080968316c451f0823d1dc8c5447a7dc67cafd89e646cb426a6d6a45532d976485e59e60042d758d686f52132a184e97051b0cc1fdde5d2f1bd0585663b027007100422ae0aa5b205daee9fa3ee55c677f6fd82fdf6707adf636abfa26945248b6b5b9dae9bade0ce4eed30fc9faec7e19caa120a64549573033f44f1ddd7b38686d52797ffb05a5b412b25cb1daded089c2f2869724f9ef9bc7c8124e96492b8efb8f30aeec000d2a7eae1ca00266c2264318656532f558de179e96b35db8b4908a8c82f94975ff750b140029128b906e60ae2ef8e95c0111f40e306990c08575e42a9c80bdcb299307d936f7f267c36637b681d6a6b54b6b40c00597db7255017305e83de0f258ae1aa23780b930311f0b944a81a1272ef7a4e5ce7094b31288d6263748a3a20fb9ee65bfd133c5bd439887408b9909c09f785cf63299612b38021c2a1c3e9bedf13bfb87e10eae9a2170f98fa325a7848a8e4a874a9b7907940bce6eaeccd5d8dd2c4a9509af1c9b2f1d210a87c55311d183c45008811fdb72de3f0540708935c789e3c8bebde965013acc35e0ea0ceb9a53a4dd1cbb9fbf26ca9a75213861b2e4a70f9365c32c877d47afd0f714ff0c2a16ab9f5e882f4e95e73bbbfa7efb45b98e5e127a03dc7939e4232e6de5eaafa34f11af093d0a4c14e6de24ec6b8e2fc3141c0b5af021573f72fc19ea213f84ec7d61987ccddc1182e512572238dbc07efec253369f9e2c5e24b6951be671575d2e118edb3b15bfb9a7776e1015353d111c5702ab900d5c0836b8cfc7f5b3a4ad4c9a666834e5094bf21e260493df9918cb708d9380cbf611a893af9c646d8250f635eb62783d9e21d9008ee3c57e202f916f392fb9da8e3947bc9e75fbcb0a59c1c69c983d767f05023df317c9afdcc78563c025c6678d497fcf3d4e98e46badc6d268a30f96a38da4cd606644c70eedec40ad427deda75f8bf2b1875b0abd6de39b48be760742a11492adad686fe944e180624be8d4168c42a4ab19256d2d08c40b906c694275e15814d76f42609ab2cc22c5689b7f37426506c2d10802d32f80d1a11873fd02b49109d5d8c7cb060840a010a385d5d98e96fa2644d44409979421d5de0e33d1a5beee507550e594dacbc114e3245a1a1150f704e285303bda91ecea44a8a8045d8db5e86c4ba2b05cd5331cb5ae0b460bd463784f8b7a1f87d9d58184ba3ea87e0faafb2df4954aa0adbe5ee669510182c75d81d4d6a568acad41c84ca1ac53ac8c96da2644158a0e1595f5deff2153dff773286d982eb3d830ba830b86e715e80df12c50e37e85ed57c4f58abafe36164d9c7bc9841b175c956845ee249e1c78dc39163d6e6fa5ee4d7a7656a9385b98536906edd37d5900ddbbdc2c8d4292ee5ec356fcf494d0fa0ba0e776d65679e8e95ea7d2a57224af30f18f8a737dadec85e0ec6e190ea63775631db95285de865dad727f2295b61059075ac0015b8979598bed752c556745111583b3ad79d0ae342d78decb90425581ff9258f60915100530f31db6db1ba939ed8d047a869a9ca458d6d7d9d69dbfefb597edd29d3eb848722aac5d5863bdb72c77e731b01c2a0bf63f3d5b941b04208e956f59e5c1f47e21417ba935f7b8a8b6c78d89941c4fde477ea007cd495474bc351c5b7a4d582702137a359c9d6ba9dcd99fdc13869e168e3f953c3d487c1edbc93d2f18eaa202e4d92d5cb54550c73268f937dbbbff122cd1d3c63a7217d74e1be8b00e9d36af4702e9f63bfdc68dccb814dde937d6cf5969c336715cad0317d133313f914c7bd5d8cfdc17854ad86f4593c3a7499b4f098e989741c0e4e653d34cf398f7e801a72e0406ec237a60a8ccb9470981ddb5f3259fa438c3a18fce726f6b555a30bd470dfbc6da50d048d7c1e18f64aa77f2b4c39fbc2e6a1f0bc0eb3896e41bae86e3f7e4893d769e8eb3143e69fa97c7b20854c9031c0fb661991ae3ed4d3286e1e0fb73d2767fa49d6a0c7e35ff725c91b84775646516fd98424229e0c60b6fc280c315b2bdebdb4a98ab8970d83c60f1dd685db7126d230f4378fc9148bdf904a22d7530bff98452dc2b117bf0fb8a874c74c44bd175d5dd30e6df8268c560740c1887b645f72abcd382aaad0ae0ccf918822d35687dfd29248e3c47818a00e21b5f413490b4bc284955662d8a601e71962a770d4ab72d4160e008d49a5144c74c41fbcead18b8773922256a62a7ba501f1f06a3b906a581763426c3304aab10dab1120d438e4260f82404963d8e01684543e96814271a103493a80b94a22cd58ceaae10cc01c331c06c46b87e8b058aea9a3a604e3a49bd0da060dd029853cf44d79e77619cf39f30776f40e8efff0fad251508ce381b5d1b97a160e70ac4cb07665fd510510cbd750f2e9ffc24164e3d03954def3da612527360ddf7e6fdbe79edf3f7533c53154116713a7f9d5797fd4a785e495be5387f53aec087f352732c3dcbfaa5c7c44980a390a3c0eb4a650630217bbf8e80d173e51705ef107bdf11c7a54c9043af891b6ff2da88bd174520d033464d4147f730ff323e9ea8162b8ed679ca4c0357fe4e6547c5ce1d568346faac958067d558b6d3859ddf1c00416f07931a191aa110a682614881cf62325f41b877f2a0d3361645a14b5043251e0ba6931e83867fee969388d91d4e33c5ca655ba9e456d5483954e24ea2a4eff8d9fb7338fd4f773ccb76cee24938671ab9ce51b1cab3cff42120a332627e102fb1dcefaee462964f05cfcfeb7ceae55c4720c3316122b493bfc29d59133638e45f2a3baee8609f2fdd2bf5ae8aa74f66669f5bf531257c66da40c1c937728fb1bbdf08acf8fb6a876f7cfaad7b59b7c7fe719437eb4880c0f01d79985e89329f65d66e3e65e86255063eedc17fa6ffd8139470dbf6c1f652797acb98f8cb954aa34a320051fb150cf40e11065ca121d3357e01dbf8f39bfc41975198b2c185b5374b4ac025eb400fd090c29e468a9981174983ecbd5d0848580e650101adfb1a4d7d301dbb734c325cd2d986c088c9289e7a12f087cbd1b66b0b1a8a8621b9f425548412484e9987e061a722b8773b3a8fff34c26b9f456149999a24e315825483555783e8904188548d80316202baaab7213ce510144e3f19ede38e47e22f5f412014573c1446f8bcaf23553818d1c69d887635021b5e530c97445bb40a91f3bf8752c52b5dc75d8296877f81c2b2320c38fd5a44d72d42c7c95f42e2feeb11d9b154594eed28f9c837d0c450cb1f6f003e7e1d0ae3113486cb30f0dc6b116aad41c38499687de807283cf56a045fbe0346c32e149c792dcce76e41f115df57d6790281a7ff5709934e4b98452ffc21ba14934754bdc24d3bd1162a44b46a344203b86ebd0d2d83c72031e32388b4352375cce5e8583900f1cd8b54fbcb33f7ab697c28e28efd3a20150aa4f7e1f07b855ccb0c9da3d34d9f329c552d99f61731ed50462625ef6c8ce6ec18ea562aee259741fb3a676f15e75e0710645a89e0ae2baf27a0e06eb4dca992bb5f72693277eb6408e4f51dc0a58f886bbd3c9a9b475997c270cfa5bb7eab82dc40af1713d96117e700c1be38129dfe2f0ca79554d0e839567e6317b40f912b0ce71e974cf572fa9bde8f92880b98f9788bc2f66a1d2a2cc3f05fe6ecae8ff71999569714e5e8b74c3ce9f00def2528f9cb4abb0f7380f95c7c9a699e38bf3907229e3d4e76bc658ec9af97c832ed8c40d43557fdfa3fe2e3f1775607656a87ef5273fb404782c97020bff2bc6358e439b050d37bb01eb325682a8b2050341089f656b46ede82f88cb331f88a1b50f68d07601c72028a8e3e1f91826218ef2c47e9d167a260dc51e85a703bb05819edd50a7d9655c07c7725126f3da984de833094423676ac037ef97d8476bd8dd061b361c415522e54ca5c95131f3c1a8defbc85c60d6aa24414e26c68407cce27108fa801ffe995083fff4714cdfb1852551310dab11af8d5f5086d5f89f0d4332c5082680102cb9f4274d454d40dae4064cc91086c598af8c99f45e8853f03ff73258a1403c54efa2252aa4d869d7762449405122d52bc1740e0f19f011b97a90934c042c10525e588b15eebdf42d3fa65888c3f5a01ae5d48bca104f8d337a360f21c141d3e0fc6baa528282d47c9d9d7a8ba748adfe1439efc1ad233a8ff51d2f65430fcf18bd7c4d54c45d365ef664a6f8163916bfaf0cb7fc3f6361d8cc3e61806620e163788336cef5d45bcb72744d3bfb9c72497dd1b568ca48045385e84ea53bf8a96877e03e399c711bd51bd26cd442a5a88642a84404100edcfdc86822daf2378fa57d0b86a11e23c6b8bd904a198053e9a1ada10ee4c22d8d6a494be927bed6d0812413371bca01c4db7ff00a96927a3f8cc6b60bcab50f4133fb3947b30568896440a4dd58a77f7d4a23c1046484da644430d827639a695e7412b488189d52f223aed1c345ef50784f62a10b4f445044eff3a6a1a5a60ee55756a6a42692c86542086daea3a041b1b100984d4fc0c2359bf07a1b63618d112010f451568bce3bb30471e81e2b3ae4160ed5424eb762b701cb2c05453432b0a4714c1282c4752d5a563e9b30af97720525a09c9a4303e8cbe060d4cfa3b392b339884ea84079cbc0f60df3657d3d4bfd5c0c102c5c5aebd694a3dfba968d2e4f24165d13cdcc8673742f7dd80cacb7f84e68123814407e2745bbdf6280283c6233ce342b41971c4a33104f76e031af72238f7533036bda1acb27a18eded1618099c710dc2cdea372ba91588440b64093241812a3376c22568318330eab7231e2f9023778b14d078f93e145ef05d345dfd1d440f3f0ec185b7c12cae44a46284055cc2511e0fcee42c7b796f208ad41b8fa3ecbf9e45e8968f03b5ad082f790c05677d151d87cc41d1e051c09faf43e4dcaf227cd17711acdd8698021246970214f14218c1583ad4d29940fc848fa2a566178cbaed88a97aa52231eb7466d4ef42e0826f01ffba19e151cbd15e5889504915c29b5e13eb3396456d6b8f89a60f9262d23b536a3a98a4cf8dd1945939c24e710cbab684f6915aa54381952f20f8db4fa274c6d9f2f51ddf04aab702bb3723d6a940c584a9c0f675ca0a2b055ebc07850d7b818232a0bdcd8a9d1afffa230a0f3906d8b24a7dd7020c1f0ce3c53b818e56596edbd98eb0020565879d08bcf32ab07cbe24e506b9bcee5d04effb01ca8e3a5395fd37e0cda7610c9f04bcbb1c18314495738fb5720625832c40913062a80b14a37ccd0bc0dbaf59cfc282bf215eb3c30a15e1be1b81d666e0b9bfa0f888d381a65a60c9c30a80d523f0cc1fb9a65969dcb8edd50821bcf10d944d9ca9eab51858f68c02636381e63a60cf561476f20c927781477e81b263ce93b29a7876444c8055468bd5d9adb67f5b0a1a98ec2310e0d8730f935830734cbe3fb4834b97ad9c1cbdf24093264dfb4db200e9832c322951f52a1f0134d42805fc6bf98ea0a37890009a350412cf03ccd3281928c063fedf0458440a45f056ef00b6dea10471a12c032e2a01766c94bd4b52f68a85e606e0b19bc58b525c61ed896265d21755cab31ffdadd2843ca069b82a6fa780112ecdddb549ca8c17036d8d08548dc58033be80e0fcdb80fa6a75bd0226c102e0ad672d6f8f55f70af55dabaae7d3b74a9961262ca96bb6ae55752c1640642d2953ef77aaf2df79537d179236f17338266dff977a4699ea87a67ae91bd69d7d406063665bd21ac8eea9d2c0e4c3436d89f429bca6995ed5c25c0ee7e4d8fe48297bf58ab5b229a9bd2e9a3469da4fc0a43b19338770646c305ca4947051cfef58466145fa3beb60a3b8800707d458fb2c14cbcba12e2afd92decf291bd6131051813389d4fd6cab2e85bdcbb1d6b31720c0e55a777f5f81976d40e9105bf00704e0743fdf534f87e2e5ae671be9679515a6af71d7dba92fcfb1705fe3d43da3b72a9861395bffa2809e44d989f38afb425887e2d94095fb8850a1f3003f2709b5bf51c24e94bd61966cd35edba1c75a93264dfb53b57c885e818884691a6aade45451fe1fe43a6b8fc98796ac1d37030240b82c924b74cbec13bd19fee0fe15ce69a7fd958615ca12d2444a8fb7264d9af6974597a7c7a45f3982c2b2e5bdf901eff70fc13ec5fd1a985827f6a664a3a766fb2035ae18288bf5dc1383bb759299b8cf04770de5a6540414a5f6791b7e73276097ed6c33cf736db6b788a7ced9fd95bb90f25eeefee9ececcadd23cba2bd77cea4dee7e9abdc2dd3aa6754f6cec8b4c433606f66454f4d41a8e7a65bfcdedaffc375a60edbc95d6bf9bb7bd504fb85cfe54662ce1e0d4117a0e6ef4e19dc68add9ee9b92487a174f9d7aa24993a6bc7d2556bcfb43084cfa052094508e61f66f4bb3df0293a07d4c3c93377932e8ece162f5f3ac902737c9ae9e54ac0c578c2c1670f26ebd9cbccb6db4793e0bcf95e1f6f13c5fc5ebf5e07d042ddc488a4afaa451b2db2541c2735b247cc35bb8953b4ff9e5618004113cb88dfb3c7073b3027beb73867e782ecfc923e55c1f821b1e6cc6b36eb8bb6424d8fbf96c0bcfbbe119316ca3b3e919cb627b5806014ad8de0c8cede3f6f25c49c663dc793dcfe1e176ef3c038460e985ad723e0afb251e4af723cbe1ceb19f3f1c98335cdef3d4559e45c4734cfabb574893264d07492faa5724d9619b633c842e097dd2d041ec7d835b4e27104c25b22eded1c0e44020721b94d00370db19b21d35b784a7278027a65ea2c0c1d7e6cb7ca027838a99fb7df07c129ee9c2333d2656000f5e007c6ba11cc4c6edc0ddca978a9fcafc84e19263c2935b0960f8ec37768967810a9cbb5f9e3c4ab63ee7f9253f982527dbfec7f3e259a1d785a08127ce123cf1a0368281dbce04ee5c2d87fbf10037c3b35b28bd17bf3d45ce5de129be04082c8b07b03d7739f0f276f5ec27e4bc18e6bef004d45b4f03565403df5f24e5f034571e76c76712e8f0203a9ececb83db0876b8d53e4109cf16b9e32c39fc8f67a88c2f97bef9fd52398c6f78b15e1eaa4993a63c0c46254b96941f870b573d001436c929c1da6b7270882b886a376157b20c1baaa6a2b0530393834a5c41c2d0c45fce92f73ca9959e0b128f73e771e5bf574afa638f498e12432ddcb2fd376f2ac5fc9028776aff1b672bc53b57ce0ee135ee7d6b087a0864784af07de7c9d1e84fbf2b87d311c010e81c391898a494f96714407865a7cc3f6e0fffcc65c0d50a10fc66899ccafae3390aac8c054ebb570014e9c411c01317cbe161cc5f19ee4a2c376c60c4adc64f1f0dfcc49edb0411c70e161035a6540019434cf4ee4cad52df95c949ab041d1f9f045c3f53c00b4f4766b86674a91cf077936af7d5cfc8f92074f8fd5281a67bd60217a9bed9699ff4cbfadecbe5f3ea997f582ea04c93264d9ab2d100252fee9d7e2d2adb77e1ac5dff4428105296bb06260783c2a9007619e3f1f3e37e8eed83c660405bff0dc3f74b6052dd0e5c39cdf668fc4300c5840102367824fa99f703f33f029c3b0ef8c76a09a96c55e0fdc7af4aa2278f446762eb7fbf2ade0e5e77cb5205365cbd41f0c17048242439ce7c06c10a5f6d49010f8521f178f0187b02227a3d7882ed6fdf94327fba58c0cb690a5c9cff20b09ca1915229ff5f0a085c331fb876868494ba523dcff7e0aa1f1ebb7ede7860d670e0d5ed922bc2cf37bf255e9c73d433ee7d5bc23b3cd08f219c17b74918ebcb472a60f2a22a63996a6fa5b48107b85da840dc0317c8e9c43c259727e2b2cfae7c46c0c724fb946f3efb3f1428fbafe38147370af889eaf3433469d29485a24a16a594d0fcc9bc9fe38f353720904a7e1856aff60b0a281dd25258864e25c707b4f4efb6f43b60e21c7677a252d64f6d944dce86bac230ccb358532ba18e739512bf73a9009325bbc47b31d03e8a9e61169e48cbe3d24ba399cf95b14e77b50f3a0bd9c7c173590e010ec3373c2d986116f769bb0cf174d9279fce189caee367a64a599ca72dc324b78427b23274c2104ad875643c7340d6db47d39fa180cd931bc4534200f69d17255c347724f0a71502968e1d221e1d8294e3864a622c8f94ffe87429cb691e43606c2feb458f0c4f17be738de49df07ba71f9937c3f2be7aa484a01e7947099db89efc9a3469ca4ccc6b88752a59a96464675971f79e4f9a0e826e34e83551faa025ad2b353039884490c0552d751dfe899904085ca142af03ccf411f6dda8c675d43af336f8535f577e5bf82425cf0e7abe87fd3ce7f4d4aa42498e752b7e07a0f030b4c68ede279ff2327a2898ccfb89c3e47ae6bbb0aeabab25a4c444daaab88015828f47df114f0a41575154c23121d7aeb48e802020a16787608440867d150ff5ec47d69b5ea57abb1ff572624d9a34e5ab20834a5ec43b755f68fa37012656fe455256d530ecc0d5314ccc7494aab5196040c2126fec86851afc8eb2ef061246f6dc2cc3f69824cd9ec8bffbf8f50cc7d95b5e0ff5ecfa36a92bc336041f4e3884f7b1ee0405cc2fa107c60bb00628d0f1ec660126dc04edb04a604db5000626e01254d0f3c1a4d5771bc5bb32a84012676bdb24a7862b7f18da712c17b6835e1386c1783c7c45818473ee5a23f73aeda4776970812c9566b96eaf8bb6803469d2a449d381a27eb9451cf33d9803c170c6ac619250ca7009933ee94df8c824597573d76a9e34f9de9e95b2733f9ce5b9dc0385de837cb66fa747e2d92d928b72d534604b9d802ad2ae16012973ec9d8b933e1e09022c26f5aed80b7c6eaa78470854182ee2aa2082132e953e7400307fb3f44b5c019cf5b50254ae395256eb34d9960bf764219899395440495b978021e6a70c2954f7d54b2e09af7bb74e5633312cc51c1a7a7b086858565023134d9a3469d2a481499aa898b957c8df56298072be24c2527132bcf19de3819f9c08fcf065c935a1a2e67e24253e7924fc5c6aef37e29763420f077350b63701d7cd90bc8b8903ecb25212e2087a3c2e54f4041c5648c55e8e7bc322b9ff7fe649ae09bd0f4c5c7dfc12e0ac71a2f0fd9c36a60d6eee5f077c7cb23cefe5ede9b6deafc0d915eafb23aa807fae93ef881958bfefbd281ea5072f9425d2f4c870c9f35de72ac07294ac42b2965db78947e4efe7a8b226caf398a7f3c733541dc74b022c8975fcc55c0158ec134d9a3469d2a4e94050ffdc60cd140bff078b64b50d97e65e34417e6222e8979e91bd499858ca8dcde845a1b22620707b3ae861a0d78165c47d7a828a9be5711f112ef9fdf5c9e231e14a9c9a765901636d7e16ec59e6ce16e095ed723f1356b9a9d9279f544a5e8193a3060b78e1caa087d703b7bc254023d33e21dca86d65b594f1aabd1f89b52248d56b63832400f32ff74aa9b043360cd3b00e973eac00ca4c5936dc62ffce15383f7d4dc014dbcc5c13aeece1aa2226ba728934735418cae1fd5c4a4d30450f0fc116c344499d6fa24993264d9a0e1019a6cbdc378c6eb56d785ecec94041d7df90e715b65f11d72beafadb583471ee25136e5c70558216f77b546ece76f40c355061d22bc030c4cabdf297b911ce75d62ead66cf3c09a791fc8df9270c9bf8792d9c9d51e95139b45c147c83bdad3cc347ff9fbdf78092e4aaeec66fa58e93366a5761a55d49bb8a2b0905945116081b249011028311c9587c060ed8c6e698bf317cd8c7c738703e1f3e636c933e240b8412421220940328a1b892565ae5d5e6ddd9099dabeaff7ef7bdd753d3d3ddd3ddd3d3dd33f3ee9edeeea9aeae7af5ead5bdbf9b714c3b1a606a49770d5c3f2977621b00127682156369520202c49e609cd52abf46c788736755f5d78433395e04634067efa43379fc7adc004e6b0625487b6d44ba6b005cfabc89dfe3fa6139c13c225e059f915a0c80b258d56db1ac092b4bca3565ea0d19326468de93cd8d9569e397cffef7b1e7eeba566c410b6494f62d44def5aba85ea58a97af24be7e8fa6a2e89790d1136064ce96a4c7254048a2c818ac088f6d53160ea4bd468082cebea961786150a03f5723086f94a4c73be23620f0f56f5031952a835fc38940dbe818e066c13b6a8dc06a01cbcabeaadb76bd72ef3ab307ee21db9aba1d63a916ef82f1c22d83f940f55b583cb0efcaf4c4f74413bfc73c024c3dbe4d0220a4555b91b16960576fae0c193264c890a199d2bce82ecc0ded629385f624d067d516a88d945ad7993695ee9e5a41a0568def2cabbacba891f3eb74e2b081ed956301f888d5288e169d1b1cab2f56073c9ba05743860c193234fb861a43860c193264c89021034c0c193264c8902143860c303164c8902143860c196062c8902143860c19326480892143860c193264686e906ba6c0902143860c1992598ca883857e643a8bb2b21f9aa1d92763313164c89021430b1e90a01c02ea3da198251aa8a27402fe46914ad31facb3642c26860c19326468610313013cde18253a655fa23f3f49f61543c3d21f3d4bf42f0f4f14da0c8ce9c4001343860c19326468b669dbb8ec6376fdc5b2723708fdc8d0dfec803ea2ff75bb6cc5618a4c76868c2bc7902143860c2d58d28d51fffa14094a6039f9b400223fda20bf7fdf6144e7af960d4e0d196062c8902143860ccd2aa147d89214d1fa65f2effff318d1b77e4ef4c95fa8e6ab828e5d263bb81b32c0c4902143860c199a5d21880ef40274ec5220e4ec5544071e46f4fec389fa3db90d002566a4a50126860c193264c8d06c131a9ceec913fdf753f2efb7af267aeee344fff576d905fecd31a29b37112d4b99b932c0c4902143860c19ea801004e8f8af2789feefe3325d38a1bab16fd849f4915b8876676530aca1ce90c9ca3164c89021430b9690010c2012c689aebc4dc69c7ce62d443901503e2c40c98b7b88d60cc99461439d038b860c193264c8d08225d427013889c588f6e6e5b682aa00bb246940890126860c193264c8508709d8c3131231aedc38088a4d189f820126860c193264c890a1854d060f1a6a8d5463abc0cc8421438626b386098dd7b8400c19606268b609e6cd8260363b464a6417b394b44b86fb183264a84cbe8025e3419cfafb92b428219417a3bd1832c0c4d06c91e30840322e18cfd82eba68bf0c9d7d00d1ea450e798e45a1c126860c2d6cb22c129c80f6647cfaddb651baf915879edfb988f65d922464da9a0678860c3031d47650b27534a065c5adf4776797e89d47a6893c0fea912143860c45000ad145c784f4c99d59fafa3d5be9ffbdba84962f1da018dcbf069c1832c0c4503b08ee1b946b5e54d84a3ffabd808e3a64318d8df894cf04a6dba6214386a61000c8b2a134fdeb7be294fad92efabf2f3ab46a79da787d0d352673cc14189a8e1045921919a6af9c5c14a0649076ef2e51d10f0d283164c85055b2a0cc8cfb542ab8f4bfcf4dd3698b77d3f6b180b71b32648089a1197218a23d99904e593246971c9ea2ec5868988b214386a6172e824f8c647db2fb93f4d1a384829319a1d0f00e430698186a0730c9e5f274c67e21b9298f724513626fc890a106d987e01f7e96e8f87d5d3aa42f4763053327860c3031d406c612f845da7f402c15c72c1743860c354759a1cc2c4b7bb42c29949ca2990f43d393097e35342d8521e2496083ad6e87b56d8b1ca4ed88ef7ddfa72052b8003f731c977f8fed257f721a0f7e67db3647cbe1bbd084ed1b3234cff887d4692c559491d98879cc0df50a30290979b5274fe48b9735cb1e81500945fd6058d5b6557cdfaa45a1eab9d57bbd635b91f439ab0ba9746546a1c71b46b6e92f04de18ce5b54f0adaa17025011f801ed191ea6200c68a02f4db198472571b301580048464647d91d944a26299d4a92af800b40493697a3f1f10cb9ae4b03fd7d12c0187062c8d0bc21cd5bc60a96e0254431672a30d1bcd9aae09fd1dfd7e29deda4f1ac0cf60725d0d0af206456ae779af84d9aa770eab640c99b99cc4ff478f0a908bd924a1dbefe8e0293a438dba14344452fec482df350ad70abc6b62828688520447d711008522e2da40ee80af5400b5fbbcec1b18874664bf473471637e982470866853523145a8db81ef10e40a11983ed58e4650371ef020a834ae6603118d9b663a7001f63bc6d6c6c9cf65db19cc109ceb27bcf30edd8b95b1c2b14e06584562c5f4a0303fdbc6f2693a52ddb7750a958e473150a055ab67489297660c8d03c23b08e95e9800e7543eed65bcd62c22d2e227c48bf838556f2d16abcbd2d02519c334945c1cff294f31d5add9fa0a1984569af777892561ca35312dd56edfb668eade7ba24144e0bfc3f65d12e012673f315981cbe38a01bdf2934f091925880b35b990bc2752c5b108bdba664cc65f08009c736d7b52915f768547c86084e255c7e201abd73165b0288b2f912154af23a804318a9aaef70be74c2e37386552c15d87f3c57e07df0cbf17c91d2718f7f3bdb8f800425218d660a948cbbe40b75205f2a893989b1bb255ff069201d63e0e17a1e6dd996212f28522e87189389fb068b07ac2163e3e31417bf05c1320290b2629f65fc79efc8a8d8cfe67d4be21cc3e2efbebe34ffbd57fcb6542c091013e3f1e077fdfd7d944c24d82564c890a1b94fd0b6fd92457f7962918696e4982757ba6cc127c18fc07350493a23f8614228378e039e5da43ec1a3639ee4e3f829be07ef027869a71e333890a0871ede407ff7afbfa2952b56d077de730925043f2a167b233806f3942f42ee04d497f4f8dae5369f65517f2a4645f15dae5052b2a57144c20050dc9b92384e56fc5e82439bfa07fbe8dd833efd76be02136e232dde53eeecf74f40d882ef84e43af27cbef273960a217902b5a73df919421a9febc9c149c8349442bd201607097095140f8ea5e227b0a36d85bc6812003f9e5536ab457f8fb1617721eb796c0c54c4d39b74e4183b034cc435bb68eb2d1e6c170b410034cc89b82cc793d62d8cd375d5fc156bdd53e93c06a3b1d4855a0ab6e3dd8a7cc7b12ab6dc66e9dfaaabd5fbd82617d990a1794971c58b1dbb8a6bc60ec9f7884bdac73c30484b2894323b2370c18f2c12fa25ff8e5fe097e05b767b0dac691be714ca59be20047c897932ce53ec11830964a80dc0a0e416e408e6d3867c0ba55ce3c42721f0520d48f728bb8572ee07003845f2841c836cb0d53d23abb313d0516002619817efd9d2ec0313dcacac40e996000981a5dd2d62e22d8742dfa2915c2090bcc3fb8e8acf614d216eb15b2657f005c88175c5a3f16c81afc515a8c70f2d693e13521cefd00e6cf16015c4f5e5c74ad427a47d368782643ec5c593e5425b10ff781188e5952922f6c6e76875d793b1379d580240c245f10866c68b9416c8dbf1623496f7852652a281745c8c1fb12321f7b8c0fd72ab0c0a568d542a41438303b467782f0fbcaf3f2db48e7ef15017d92ab278d1106ddfb1533ce879f23c8f160f0d3100c19c0e0df6534e6cc70b8064f1e2456c3d31d6124386e61f0916cabca41a30e1d832c19b611d498536b9820fe405ff81551b16efd07605af0ccaca5dce076faf7eac99508ca30c6c76457b422bcb811589f3144bbd034cf28237670b45b29c50c928000ae2f9832c836cc2e7f17a684a5948606981cb06d61558486029897b0ecf29c20a43a13c06169595ce79094c3a49d0c0136241c3dd02f74d542097c280b70368e0d6e5ebdc40dc9022bb6b2cb6aae098d89614e0439b16ab99dbf01bdc740090bcf81c8a77001a4f8019364706d222a15d4178f83a19f889c51bc358b0180570622d8430678e348f3638c7988ba50250a492093e16825be1ba41f0ab65f91cd08a7982060293285c3e1a78c405f3413c4a369be3e0d7a43886c9ca316468e1119e7bf09d980ba1eb938597d8ee09e50616942034f59324df0e996f034c8c0b10a78dceb6b24e178ac5b2e5b950c7fda4c309004630f7905531014862827743f9d6a10db6ed482b970126ed13bc001efd293dc9d2b201ff1b6ea6275041a1244b242358b5963ce402418140cef9220b5c9d699217e8dd73a96a6c0ae24c70a3b1400084804071de2484be3a57659052a7b351b0180192b0c8018e303e094aa4ffb751801004129cf4f7a5d9ba84945fdf9f283d0d10024092128005d93b516b08ac2600244343030cdc4ac65262c8d0c2042624e302fb9231e60b0027e09b9e232dcc465f99ccbb112319a8805c29a3427e71cc207f063f8fd53e880a1cce154bac44029480f767fd1215d83b602b791472e072a7a7df9ddf3770c2eac1d612f13e2e84b0e7c25468b3db02dfc53c99952251e70432d5bfc74dea4bc5cb82382e100902573339048f7a93d26ef1212b400c16473ae1aa05e272ea19a9074c9fc32aff475d49910dd560c01000e2a0b1b4320e1ca754aa0d2a7c062bb5804d30a9ee8921438616aac095565bf023cf512e72034a6af25c2d4720d78a828742c14cc61d963905a13843e9d4c045c7eee918492d7a923121bf62729ef137ac53082c4e0b810599c0c91cd4feeca7050d4caaa172ab02b44c58462cb61ac0d201170be2417468e614eb813808102bfc71882427ab22ef9ebf77cb019fbdee9ed01a4a425d73946c9dc36c98832143863a44e047a9b8c556dd306a95b6a472d849452eeac5a856fbaadbacb15abd97a8f28b6dc8fac4bcc132c2730ab9a42e242c1f2764b987bf33087ab464e6a523b69582791cfcdaabc4fe38a1d2e3e60131964a62e1e791a216ab0a2a18ad0a098e742df8f9b2c552d91503f3637f32a62c2e73409ac3a523165fdef269ef787e0288e80522e6229bf769d0b30c363164c8500780808c35c9e4655aec64d16fb1ab18d6dd6a69c7ed0622e0eb70758ca98487fea40c0d18176383020b0575b6c6d1aeb91ccf15d92a0d3e0fc0914e5a2a7c61ea98716d494ed20838f018d9ac085aeef4f51960a208d6128e491160040f03dfcc3a3783a396c57fc9844b89b83b6951fbc1dc11e1a15abcf0edc25a5459b4080c00d69f983d156819178c2143866a09c456333902152be1384139862dca775d47c6c635eae391554cad86f7d5fc9b7f275e994289f9a007219f9501a588c703bf44b6667fd2ee99cab053e6329419a008684d08a5d91f0f58d6c9d89deac4f54b842c1c4ac78502eed0505286331860d2950769e2a644fd770d181ca656969d63c4d74b323368ca02f15ccab039b538e53748ff754c633f43860c55f04014248bd6366ae51871800f6b8ac184ff0e222e88e9f83af427d424990e9b60ac6319a282001c0ed75a9245df62f104a70fa3664a1096f89810f28e25e331a0c422d6b077ad26925f470157a372ad768734034ce684d5613e5c432dd35e50c552128fc7b982ab2143860c5512aa3c8f8e8e4d0af66f45db9fc25c9b60b6dafac169b596356dcb0fec5f284500903859d10f2861cbc299d888c4094b3534958d092db14f48296bfe75d208232f034c0ccd01b22891889b693064c85075c1e2bae4a9fa45dc0974562c01b2ab395b03aaa4fde1fb3cdc308e4503a9f8b46d473869214de55459ec8d12ef28018f4b80fb43d60eb168301d67170f1207f0d9d45f32c0c450b76189a91a6fc890a16e69f2a8e3914c72b9f44c26cf15b851e0312340032c3551f7918e2f09c3e9337950c3cd73887bf404aa2e08c08827fe1e19cb52864a5c251bdfed1dcb711956243a20f8d537f1760698183264c890a185094ad2e9240defd94b0f3ffa28edd8be831b8dae3df4105abf7e3d6715160ac5a6635b0059607dc1aff60c0fabcae131816a64913714c744241e07812a031017dbb42d034a0c3099afd607ab6c0ab4ca85708c69d090214386a2944cc469cf9e61baf1a69be98d37369713155e7cf145ee56fece734f233fed720f7484e5bb71e972ee8f47fba24f255bbd9e79fe357af6d9e7d8cab272e5bed4d717a7cc789e8b6a82029528c0999861770a631a60d27581dd2aaa9e1b93cf39f2aaf2694c45a023221cdb5dd79ed6276ac89021430b478943b75b9b1e79f431dabc79331d78e02a5a7ff491b473d71e7ae69967e8c9279e24c772289d4e7113d1893e67aa2f581dc1e03a2e8d67c669c3866769f7eeddb46ce9523aeed8f55c33c55760a42c5ff09a016f5e08b26d5e02135dacac5534ead856cfdf44980073f912f72ab02d9b721c0e2e43bb75a136a4a019446ec89021432a98355fa41d3b76325f3cfae8a3e8cc138fa68c6091dbb76fe7d7ddf7dc4325014a6c5bf62443e02bc8f7eb9780d06c16e50f962d5f4e175d78012d593a482323b9b6c5d4454b52348f4854b0af6d2d0899d073c0447645f4b9fbafc5bebc265785ba695c910fdd83c3890028db9eec26c11baaf761bb2c1fdf01c4affaeaa09a208af320982ae6ba5c5910e3ea4bc7f92142d53dc7f119e95bd6e41e07860c1932b41009712089789ce504e24b468442b779cb2eca6433cc3f614541977299a533e122c7fef52a9f6037d4655aba7429ad178067c992011a1d6d232851e002593d3e355fdfc522d93a042e25d49b0a22d725e5d754453c5ac57bae898e9eb498c08a809afe5cb7bfc976d740ca288a8314afb41b2b03917ca9240bfff8e2e6c63c5ea4002ea8dee708149ecf97182d979bf8a98a83769bf2d3654bea926ab4e4316ae69e3c9e6c619d4e78e53e1028c7ec7050953cf19858cc08ba4af07c840d3c0164dc40860c199a57c465d53d9bd6ae5b4b2f6eda444f3ff30c6dddb69d72b92cedd8b183f6db6f3fbae4e277512291a442a140b6e0ef59f47c114c110d554bd3946705e849265d2a8a9f8c8c645b2e0e578bffa3b71a868014e466630891a28c8aad68100b99a1956db452094bc4d677c8338c1885df82a0c4e5e72d2553b810a69265654b5203cddc19f89069e227bb1caa180b08ee306c6e4af01bcfb5549012de659f035d7a1da0003d036095c00dc602817506821f6590f13bdc34a0cd914c9e53c1da814cd84a2200883c548917a76c0258a43ef119be4cec0440823e0cf81ba968e81701f00440c30d06a7990ec03897afd335bd6d0c19ea22213b64d34b2fb34085c2d43b3c7642d0e4f37921c01d76274f574a0b1a3b6231d6ad3d98eb947483b282971f79c4e1343e36460f3dfc08bdfaeaab9c2e7cc00107d079e79e4b838329ca644ab2f91c2b9ab2d78ee3801fd65772210bc6c6f233aa583b1d4136a1f58932e834016c647d15c8078c0f7209b2012100d8ce8a2be417146a5bf2ff1c5a8c885b8acf6c310a64ac0daad506e3414395d36c5bac0dd3c46fb2694dbf5af99dbe994099f87bb02f265742854b043d04f4931a0661b9142f2c180003f2eff62d523cdc3a066640008fe1f13c59b982b49808109613cc0ce6be81744cb69cb6a55f5107c45a0d2c607683a90653beb19c1832d4157a7ee38b1cefb072c5720629bd52000882cd560ad7d6addb69cd9a03b9606200e5a8d618550b8acd6f6ea14d2fbf4aeb0e3db82b63878b06e5ee4f3ef9445ab56a156ddbb69d62b1181d78d081d4974ed0debd39d5e30616eaa28cdd8320b764fc48b7b31dcb728da8e992aad1b1e313e413783c5bd2f12f98e8180c00c209155a615505e3d0a4d6b63d56921b916b903fa8edd2e9a53b6fd3852dd58cce5231247241542fb94e158b446b1409af8dd3230e1853457b80988baa43e6505f9cf60a946e9104201294c4d99d03ab495c2c24572c249d333fdd6286f932e0be08bda43916e8d1471fa5534e39c5482b430b864a42302edf6729a5d3698ac78b651559f7990241c85a5d002c0026b0e40c0cf6d3a2454342db5656db3a14f3a0e8f8b46bf77017f9bae09d459f05eb8a15fb0870b20ff7c2c9e57c1a1b9b70bfc8988c50361a0da5b51a8add7c08d3d3cd051d75add53ad9d78a47d44d10e135686c9d389474a54bc7009376308552a8dc27aa291fd50f7e9a7203a9cdb544942546b79bb6d4e2b1557963b88df077bf0625c144802efb075597c86929a0a6fb53d81ac585d5bfe3e02abfb5cbfeed6f7f4b7ffee77fce0c78f5ead5f4f5af7f9ddf7b95fefaafff9ace3df75c3afbecb38d6435346309522ac22d5b12fc68e201821b64dbb66dfc79c992255cad34aa15e3fb818101216c73343e3e4e7d7d7d6c15181919e17d012afafbfb276d03d0815ba6519023b35642b692f8626c25c7af5ad6bd921714398bd09ae56993c19c35d9b53a7d3e9717af89cd4e85bb0c8df648590a12aa41a9e675b514d59e5e4e241b12fa1cff2895dc580bb7220c9b9084e1740e30034c1a9bc720e4c8e5925fa4e1b11c4196a762bd7199dacc5669b181e097015112b854ba5f66fb01ca97fcc98ee708f9847e13be78e8c3961c5a3ffff9cfe92d6f790bfdebbffe2b1d7becb1f4d39ffe94feeccffeacfcfda64d9be8effeeeef981903c01c72c821f4f0c30ff3fecb972f6720934aa5e8873ffc215b5e7ef39bdfd0073ef001dab973275d7ffdf5f4377ff3371cf4f6e31fff981933ea197ce4231fa1fbeebb8f9e7bee39fe7ee5ca9574fbedb7d377bef31d3aedb4d3e8339ff90c1fe7a9a79ee2a03908897ffee77fa67befbd97feeddffe8deebfff7ea18dada0d75f7f9daebefa6ada7ffffde9b39ffd2c47ec1b32d4f8f31eb2eb3654b58a2070012692c9243df6d8630c0e101b91cd66796d631f3c07001a77dd7517af6b3c0fcf3efb2ceddab58b9f1fc44e00843cf9e493f4ca2bafd0f1c71fcfeb126b1fc74e24127c9c4c2653fe8c17c00db601e8e8781716506120018ada4f03836abc07f17ab896d9e44638754900244e0ee04c9a9991062bc8f4d42c0e0aa02bb6f7826ba7097cc0f70d4921e3b95259c9f55c7b5e16e3b4e71f3390ae9bfea4f4bd41e0e366f672aaadb69c38aa7954e7143a8b7db0d99c0ca2426c4ab5d778bec8c14fad284a5ffdea5719645c79e5956cd2fed0873e54fe0e80007f0f0d0db145e56ffff66fd9e5837d0f3ffc70ae4bf0b18f7d8c1937c0cbdd77dfcd4cf8f2cb2fa7e79f7f9e354a008f975f7e99feeaaffe8ade7cf34dd620dffffef797ad35dffef6b75908e0d8b0825c7bedb5f4831ffc80b77de10b5f60267ff3cd37f3f101460e3ef8603af5d453e9e9a79fa62baeb882ce39e71c66e80032860c35cd8c94a553ba208af4da6baf31a0181d1de5b58acfd886ef004a005a6ebdf5565e9f00ca77de7927837b00eb5b6eb985d73fd6f5fffccffff03100aef15c7ceb5bdfa2bd7bf7d2830f3e481b366c60eb078e8de764787898810e940074050f95e97fa26cc2c4dff81d0b400172301e0d5af8fb209c5521284b450850959301ffc82aa9c5931a7d8d8963e095517fe39850b410000ad79535871a7fc932f92ef5253c8e8dc46bbe56909897ae1cfdf078ae532e5836171071a71b4c332342d5598e63b1391ea772aac09c506bc5b50ad44a1c2d9825ccd2279c70026ddcb8916ebbed36faa33ffa23fe0ecc169ae23ffdd33ff1df0022dffce63799f9c2a5022df0a4934e620b0a40032c1d380ec0c5e73fff797ae38d37781b7e77d04107d1d7bef635063660cc9ffbdce7584b7ce081071878e058b85e1c07da26ac30001db0d2600c0f3df4107df9cb5fe680ba33cf3c93ce3bef3cbaeebaebe817bff8051d73cc31fc3264a8598b095b229470e75206024cc0aa27eb26850c40b0e6962d5b56060520543685750460fec31ffe30dd78e38d6cc1c36fb02fbe8315e5b8e38ea3279e78824139cab2636de37938f1c41319b0c05a09ab20ac87ef78c73bf85c38b7b68e684b891e1fc03e800fac36781d7ae8a1ec7ac5f3e36babca6cf153652d8192a65362db7d2aed210248998b7127a1ca1aadb466198bc91c03282627a541842a409c57e315e3e656ad6916b088c04df2d18f7e94c1c035d75c53fe6e7070901935084c169a21ac27d0f0405a9304c00023c667ec8fe3c08a82d2d1b078e86042000c6c83d6091a1b1b637336983b18ebc9279f4c175f7c3103123058470580e1b3fecd9e3d7b68cb962dcccc6131f9933ff913760101b41832d49ad1242cc79100480044636de205a000f0a0f915d63740c9e9a79fceeb126bf7f1c71fe7f5fef18f7f9cad2cd8feae77bd8b010a5ca3781e10580e0560df7df7e5b50c2b2240f825975c42471c71041d76d8610c5e704e0d8ae46b029ce0f9c2b1e04205c8c17e38867633699015cee26459aa101aac27283ce9d5e14badbc629e2b010f8573ca5a52a9c4cef75a9b5db198d82aacd85432ed31105765c187e1ccccb71ffce007e92b5ff90a5b1e001a10c3a1e9c20b2fa49b6eba8935398011582abef4a52fb1d5e3bdef7d2f8303306330738005304eed3f877689170007b6817183f9631b3e83f00ea001d78e8e1f810507d616040f6a50a4830c41b08cfce33ffe23fff657bffa155b6ca03142033564a859411b7d7eb04e01c0b76eddca96085828e0cec40bae13d6e8b92c800c8e05c080b510801deb109611001600175802117f02ebe2e2c58bf93bb86e00c475602b400d9e090070800b80958b2ebaa80c4cb455478f11e3c3f384b1e19850083016fcb60c6666d362524141d87ed7d16c067242ace9762a46b4cd702ea337de9a809056c54b375f7422ef6ec5cb53af58e4158fbc8f9c7afa9997de7defdd9fdaba470813bfc4955d2beb8a6004a8748a00d6f91ad833aba0cfb6d88f8a59832f72ba3a26e3b902078861beed1aae9c5dbb76532cccd33e4b1771f55adc938181fe868b2cc18c8c188d0b2eb88035ba4abae1861b980903a880c008e14681e606eb0608266a0004687470d540030413851608ad0e6e1d6cd31a27b44480190011bd1d20e8e8a38fe6f6e8d807dae3ba75ebf83380c9dab56b19f4c01f7fc61967f0f12114702c034c0c354b8f3ef638f5f7a56970708041350003d614d622025b01186015c49a068800a886e50f60e291471ee178275841b0b6b156614d848505e0036e51b87610fc8a7d5e78e10506373836be8735124003593f0814477c89061c5c1555b98c5e79f5755a7dd081e2bceea4ac1cc4a268778e160b38fe4ec10b0a85121d79c4ba69af1f63cee70b7c9dbe38ced6e1711a5ab28cf94d35be0ea19ee178b68052316f568253712d70178d0b1e9914e788c79c1957c9b614df4506281209900dc43d6d8209eb92ad2abf625b5f72eed49742baf0d08047e79cf1b67f7fe0be7bae159b06c42b0f361d79d7afa27a952a5ebec284fa3dd0c6c4c80bf73aec0a3079eba9675cfaf33beef9d4aedd63e206f97cf3e230af454aad1b6032ff808921430b13983c2100423f0df6f7515109780002000758e4f01c019400ac68000030015000b001908cedb05ce077f80d847d345d1840044003fb0358e8805500217ebe05e0c6f9f0bdfebde4131298bcf4f2ab74d041abf858c134e9c2004dbb76ef61b071e41187f50430d112ab5131d16e6022b37c885ba0a0982792041c2e4a8616224eb986960126cd01938e4a169481c7fd40c64c1038bc3832056539b1641443b30b6d4e98a5acc94d96ac399a476fc890a1c6098001b15b8b162da27c215faea584e7be5f8015dd32239d4ea9ef34015814d88a212d19252e618e63c16a12dd07155b013c64d975bbdc5bcc53c521e5fea1184b9ebf872505ccc75642df733d4a2593dcf82e98a6c05a5c9c6bcf9e61712dc59e9963cd42756a71a7792af7b051193fa8de9d16ca34000a641b000a57df56313351179aa1fad4516002909e8c13ed1e0b18dd23dd29c3a95c454ee9058a444a1a008c1bb7e6c5046331222d0d11e08592048a28150c26e1cd527a70f9619da6b18ea9566fc8d0ecd1b2654bd822b17bcfded9cd666949a0da6c21d9ba7d3ba13209aabaea4c9ddafcdb666072c821ad95a3877076548b8d6a53d14c803d781b6a93a0612bf898e7c85a50b6dd592b3b5ba7046f473f1aee5f932b89cf0e5babb941ac028045716979d5d7c650cf0113b9f08a41c0c23aa652c2e09bb3eda0dc9b062630f6d14db3c0b8226954d0068d478c570bc86e7b6a9a328d8c660b52e3f064760b6a86e054a8f86ab73b083894fd1050da7eef78a1660545ee9b80de3b96659e02438666810e39784db93a2b9adf518f3d6ae0c1871ebc5a568ab6a71f1caad71e7ae81a3a60fffd5a3a1f3ae0a269a95bc54583bfb53c6894c037e13a19148004ee7f8094a1fe840c3aee1832919558018c904e5d1473a4bbc3431e95e0de5145ecb02d1973a7e5f7baab7d542e352a23acf27fb32bdbe61530010029966425565fdc3c040a61db505f8c05b416dc7ad1d5bb71ba595d5181192cf6544276519cce67a87db9ac2058130b0c3d6ca84db9f3181f1e7c80125846d041583f2db014e141428f1c6cc779dbb5700236cf3a944e4a8da2d642b5a8677a8a1932346f69d501fb9b4988f044fdaa29545b507661adc8172528e8742d288b6baed8942df8ecca81d506d7070006053b9970cb65f127d2b46b1f0fe0855d412a1e85b853bc6cc8e707d3c7dbe0d8f03844011f2c398d28fa0bd86282a655248380e0daf07d6e9487ed1a4c4c67f3b09409607834cf3710285ba371582206fb12e4d6b909f83d4c6a68092dcb1587656b0b16391657bd360de5be32d32257719e40fa62fb53713e22404ac09d8ee3029078b47bc46744edb96e5bcd8f01370a94e58aeb827d714aeebe69108a214386669990e480628db5825fc1338bb94233b040c89190b60f679999a1f92935d9136dc60613d514cfb6020e4b70b8a548a0eab038934a304cc7e3011e50a1762c53e0c26fac640b39393ca6e257ea2433808543d1466c0b45944eec8d0cd8541cf14ab58bc995fb1355017e3675ded8d751608205399822ca64a485602899e08b0e9a482ec7e4ed1d2bb05f6fd14082b37a485927760bb0b2772c478b0712758f01df1fd02ccafb069152eb23624100ecc07253f5c14109f762695a8b8c7493a020983a16c93e33a12a51ad1134be03ca4f844e5d30d4da036372e90d1932d43b14eaf2fc14d6c8ca69161058028cc4a41b48f05b08f320e87cf56c3d0ec80e58f111f0aa95c246154e000028cb90417d09972de9b625011cc0c6def1bcb40ec1db1054974d052ee227005a2a5e2e2eca1debc5ef21b7625ebc2a68b339534986524c1d97509c136ec7b3883a0a4c74de315c1b589cda0fd7382891ee094ce0505f9c2b9242e3877504993dd8b67b3427b6f935536551769d51a02cff575ee4dc45b78ee540a7e1e2fc9ee7d415fa6195db8fa1c462ba44bef6051a4b852143860cb502081cc13fbdb8ab5b12751c944441120b53218fe25e580e706d5631847c410d14b88310e290456616dcf20006beec21841467a74a59078eb7b426de83886c43097b3fb46aca548092b16c81c76d55364e6430491dafa0de95421408582a964271139a0436626e814a31816c91f07dda3396e79bb67820c9e62a041e01b5da5695ac136cf365d68f93989c111336f020e0dce9444ce6bed78b8151ff7345524e238b719b6ab86d026ec42477424d10ae1f82cc1d63de3064c890a1c60101514fd503818c40e6252c374e134aa7a5ae83133fe20e6f0150400c627f3a468bfb13ac78e78a791ae3ba53536312713a843360bfb00670aa756ec47ab2374328f6950924a8633220e4956b775689ee0a309949e0a50c2092936d71fa995dbe3164e9ef65a19b6a66346c4aab20d966e23a707ca0574eff6da0cb268088abc68668f181b4a7dc3a728c587828390033602f3c5bd2c71856bd6eabdd7e2643860c199a86df5ab3c0782ccb9ad5788996e55a144428cb87abb27ba2484c5a85c22aad4388e32d21639a0a72b524e808f142a98e29c228a4ce8714cfb1eec2d29768d3782ee04a7bc9b8478bfae23c69b88968998d96d6082c45e64b35d39e8ef56838fd4aa5b5e85a24c01a32f5af3eb09126349b5382e11f44a02b625a40bb54fa3010aab4ec745feafb2ad0a7722898c366d2b00d19326468a68aabcfb17f417d05b0859a0f38a676a5f70a4fe3581055e30516766419a13aac2e9b814bd281b59027f59ad3b2cc6bb80aae9685c4b2ade4866585bddb7333c78009715011028050a303a4853dfa37eccd14d89f866da5d2ccdb35e91b97c915a4894e1c1b81b38861e12867d799069cc80e96a8740b0b0ee253649d16978f6575b991a1bc3e09ba6a2d46574c63a65014c02f6c591bc09c55121eb24af320b2dc8ac589de1c0c38a1394c539408bfd9b97b37078b99b01d4386664979f185d2d797a6febebed943244ab8827fc3c560d5b17c4c34489cd8cbb6eacb650d02d8e2de43ea168adca59331da339aa561b870523156c211763092cdb3cc19ea97a0a41dee2b0010c4672243565b658685020d8b4b32d67d5830e79a9d2016a34fdc40acc5d16c91c605c204e4c3bd723d9b0692b1b665a3e07621fb078215696e70cde0d070c30064c4a60982d5e004bd22d05626ae529b27dc51dd7f30923187177d584383286f6f51e0ef1c855fb4540e2c46db7180b191b10c8581cfc72d72ff1da2a58b86c81680ad20809085887495cdb47c20c1da4335cae5f2f4dcc61799c9b86d4ebb3664c850040888f7d75e7f83d6ac3e88962d5dd27ec55330719d111948e4509527e92c125f809772197eecab82345157a49e5a0ac10ede8d320d418fc4a8e82c237800a0602389236abd18ec8b71606c3b636a90058473208b482b90906b092e746777d5a634f7bab085125d029c24bc896ab1b0a468a0d00ee1a4239bb9d913ca0d8b1b35cacd051db69620df1c8bc46ea0205b65ea6eaf084f7e185c87faea587ed0b82b13f3c4439f6f7a9da219d778de5785f38819c1f0c8286ddfb99b73f29f7ae1557ae0e127b81cf678264bc7af3f8c3e70c9db29673bdc1f04739bc9073426e6ba1630d9333cccd77054034dc50c193234337a63f39bb46dfb8ed9012644aa9654acae2519fb8c08ed1eae7c14309b28f920b7233b06fca29e10b7adde2b38c6f5a7042f43b02b42127c555b0bfc13efed02253a8518c919a8fd5210e79265f5bd72eb94541cf558ba371773b6703f6e22d032041cfc71c8d2091a084a6dea29510b580315084a2712643b1f022f26cca1b535a50257e80d5a2a5fafbd3560162363e3b463f75e5ab972191db1761565b379dab94b3705b318a43c23c04a7fbf1b09700ea7ad6f9088c78dc45840b46bd72eee9a6ba8f384cec75024665359aa0b4a54c90830642431584ad08237c1e20025b25a3d8e29f2a3472dab41393b47c699e07a2c6a7f2ab40c0296324c97c0b7b56ceb817998d31d85b4bfcd0fc2b62f349d3d03e0035f1c163b578505dacc96c8b3adb69692ef45e220343f50e9d7ad5654942625b8b34605104127d583960dd0de6c48af6dde4a03fd6976efa453097ef87ef7e4064279bc81c104a7aa4d0f34adb6aca366006db5fd9b3d46f477ed186b747ba3c76cc77557dbdec871f53ed3c568553be6cf7ffe73dab06143cbe7ae770fabcd5f3bafbb99f9a9374fb379ee7aeb330c82ae3325f023f00ab82232aab32f5265d11fcc57b17c79e5a698cb8ab73f4b8907382edc370074a8468ec491a49273a1727375dbc3e592a1ba0fa534a5b9d2ffc6c1583218d3eb819bd71164423236c6b1fd162d44a1c4bf5c951141c3d2bab179f376dab1738fd00c62e5b9ee172065d3ab6fd0edbfddc0e5ab572e5b4a690eb46beec4689af6c0030f50b158a475ebd6d1dab56bcbe7a866f569d612546b7f6cc73971eee1e1615abc78319d76da69dcf1b4deb15e7ffd754a2693b474e952ca66b3b47bf76eda6fbffd9a3e77f4f31b6fbc418b162d124030ddf475b472ddcd1eb7d97da29f114b34dd582a056abd31d6da576f6f749e5a3977adf35891acbf66e6aa1de76ee5da3bc69395e04450a8b68c58e530d6903f835f5b3d15dada9bb20d4918d9624980bb62b92ab96ef1d2ed7003d383b90182a504695aa89902d3da603ac6312df33dd052ba5288e379d83ad4aaedc942df1e127317a33bee7f98fee5bfafa3abaebf45e6e93b13b12389588cc6c6b374c3ad77d09ee111eaeb4f3574cecafb70cf3df7d0adb7de4afbecb30f6bd7b7dc720bedddbb97992c40cbef7ef73bfaec673f4b9b366d2affe6a1871ee2fd34dd78e38df4cc33cff06700875ffffad7f4f2cb2fd36f7ffb5b7af8e18779fbce9d3be9faebaf67b78266e0d0e4afbdf65a3af0c003e9d1471fa5abaeba8ab703acdc76db6d9cd900facd6f7ec36304e1bc38078e77f3cd37f36ff0dd2bafbcc2dfbff8e28b74dd75d751894b4e133df9e493f4cb5ffe9232990cff8df1dc7befbd93e6e0b9e79ea3175e78815e7df5553ed6962d5bca73f5da6baf513e9fe7b1ecd9b38772b91c1f5fcfc7e6cd9b79bf1d3b763048c2fe4f3df55479ec208c1373c61a98d87ec30d3794ad18d1f9c2753efef8e3bcfda5975ee2ed38fe9d77dec96304e13a7ff6b39ff1675c23ce85ebc3b86ebae926fafad7bfcef7ed8e3beee063c19d0070d2884540d6e7b19ab228b4ca9867f3dc8d5aa06672ee46ac33dde678383fb2465012a22f11a37ec59b10c4df9f8c4bd7bef84e5ab30d34a9699141b357cfa62121d7d0d605f385cae9c9b8d713e3331693ea4682293791e34b5429fb20a405d58746fb3d5b9e51b1e8fb040446d0eba6975fa37587aca6406ccf0ac1a39b274a1363200466812eb9f802baf0d4f5b43b4fb477344349d7a9a3294e66a0ec6b16426bdf7df7a5c1c141b65c400042885f7ae9a52c5061c180a0d6821dc21282f5a4934e62e1fcd8638ff1f7f81d04f77df7dd47cb962d63b0b27efd7afe0e8163cf3fff3cc73bfcc77ffc077df2939f64eb04dadc2360184068dbb66d74f2c927d3d6ad5b596843c0e37b58327ef5ab5ff17e38ee61871dc68007827bc58a150cac603dd9b871237f07800400071004cbcafdf7dfcfa00be33fe8a083f8ef42a1c0d7fafbbffffb7c4d10ea004638e7fefbefcf60e6f39fff3c9f1342ffa8a38ee273df7df7dd9448241884e0fc471c710403a40f7ff8c3f48b5ffc82fafafa1838bdfbddefe6ef403ffce10fe9cd37dfe463e27b8c0f7382f900900148c2b131a7c71c730ccf11e603c062f5ead57c1d9847ccf3e8e8283df2c8236c6902884ca5520ca40e38e000067cb82ebc03ace19c175c7001cfa71e4ba396827a02bef2189596b5b04e43d0999ebbf238d17357028b4ae0d1ee73d7b39c4cd2567a40a86a84c4954bd1459deb808493be3334bde2a92bd543e9e6f2153de206b0bb71c2f2c3d64356424b8d0bf745f7d289be4028496f407893f32aa60ec5ee1e78f2457ae6b94d74fe59a7d0d0403fedd93b2abb704e8a6c95658f32d93c15fc90db07d47383d4e29310feb016402b0730b8e4924b5830f23d1402f0e0830fa60f7de84374f4d147f336087708500868085708d9cf7ce63374e18517b2c68eef3ff6b18fb15be8e31fff389d75d6592c3c011c8e3df6d8b2e08d327bac251c1f021f82f590430e6180b07dfb76060c10fc7ff9977fc9db0160bef6b5af31d838e18413e8c8238fa42baeb88285f7dffffddfd3d9679fcd161e5839eebaeb2e06099ffbdce7686c6c8cff06485abe7c395b2a346997108ef1894f7c82018d1ee3e9a79fce5618bc304e001c1cffad6f7d2b8303003a102c13003bc71d771cbdf39def947142024800c07cf18b5fa42f7de94bfc5b583c305f000d982f800fcc134015dedff296b7b0a50373f5918f7c84d6ac59c3400ee002a007f38d7d310fb0a69c7ffef9f4a77ffaa77c6cb8e12ebae8227adbdbde464b962c618b0ad706eaef6f58206b61df69b7c4bc3c770fc66dccf4fa348fb7aca97cbf999756e27a55b994091c15e3e66c1f593cb497a8a3161304dd0ce7a9dcc1b7d7902dfc6bd97c918a4169024aaa67113e4db69ab89dad19a8834e5b014433f96dbbecae08604550d5d61d7be8a463d6d1732f6fa66b7f763bad58be84e2b15885164834d0df47bfb8eb41dab0f165fae487df4b49011608a9ca0d3026fd0e010761faa94f7d8aff46bc058427347b68f910d64f3ffd340b4a68e6d0ca212461798020467cc7134f3cc1c2545b26e0ae80b0073880f08490845502dfc1fa303434c4e782cb0160ea94534e616b04cea3810b043ec004f6858504e3c2361c17c0e4d9679f65b0035005e18f7700158c195620ec87f1001c609c180b00092c08180f0094269c07d61e5c9b1e57a002170102e05682350540e13bdff90ebb4f303f00450038b0f0e0fa313f006c9a6071c1f5c135856bc2790158305f78c1e28371729f28355fb87ecc155e20ed92c27d82650563c33600395c37801cae51cf2fdc410067279e7822834dfc0df003ab12c015ee17ee2fc025c6d6aa093f1ad7512b1ea9112b443b4045a5d5a493e7ae14f6b53eb782697a2d66053c1255c4b5d565268a2d8a687252846df74cd60ff83f9add22201805d4a6f4d9b164ef38b8707a491cbb9d5d04e82c4c9ca76e5bedcda4b1ac995919b943b1e7b2490b0832da510187c5b811576275d09aa9abf3f143d36c13a55096174e96fb02756781715c8298d3f3ce38919b41f50d2ca63bef7fa426c3d58265e34bafd09b5bb7d33107afa4f162aca97342b8462d18b05400a8c095000b0a80040000043004efc0c000bb1f205461498130449cc8aa55abe8a31ffd28bb74305eb87a303e585cce39e71cfe3dc00c8e098b04e8d0430f6541f9bdef7d8f8ff3c10f7e9085f3edb7dfce16089c0301b1575f7d350beccb2fbf9ce7089601000558530046001c10a7024b0dac10b0645c7cf1c57c0c1c17ef005810e63ffde94fd93a82df69c2771807800b08e7849b4413dc4918335c5eb086e0f8b0dec0ba8473c3bd05200000a0c10d0820e5b2cb2ee398148cefbcf3ce63a005b70de60b961e1d3ba2e70ba00fe7c13ce3dec23203c235e35e214606200cd7826361be60f5c27d0288c2bcc0bd04408879c7bd80fb07e00fdfe1370034b8e65a02b6d1ec9f2818982e28b651e1dee8fe8d9cbbd16b69e5dcb30d7cd01d3755f2b9436e2fc47f70b03ab20e0baaa898dd7a0908fc2cc6c0bdbdb18733956bec9810d78538419dbc51095c1262cc9e63f794b5c7aa7828ac08008cbe6cf57222ef6ec5cb53af58e4158fbc8f9c7afa9997de75efdd9fda335ae2025aedbc7950066d7be6a0a15e93a74ef610d0569ab1ac2cf056796d9632c391cafbaf7c18f05d262bfb2ba06aad36e5e1ea9a0184d0d477edda4db1304ffb2c5dc41d9171ae8181fe9a01889a50606dcb9e1cb9318f4bcbe33af6eecdd1bffff0c7b465db4eeaef4bd778880520cbe768f1d020ad3f722d9d75d27a5ab1b87a19ec2d02bcc03a70e8216ba6689b8d641634a21937a341775b23ac76cd95e3421c0de23c602d81d56126c76e752e66325788130200846b6d368569ad75d409a15a6f0d77e3fc7adbb66ddbb948e2ba430f9ef618782e1133068b5a20f8fd2bdbf6526a70092dea4f96ad7733b5ea629863aaf025d7b26ae2403877b650a492e0b308026d4701b3f62adb91ccac19dae9ad3acf6d58674dc1e23d34e0d13967bceddf1fb8ef9e6bc5a601f18209bb1079d7afa27a952a5e889a0f22ef014d14152f17170f2383e878f06b300b0f169038dc4368190dabc74c8edf0b0d8cf452f2c340f5fe999c9a2c414bc0b9fb586cb2d9933d691ff48328c542f1d0f9aa888eea4121fe8ea960d28e5da76a1495cd9668e9e2045d7ec945f4adef5ec385d550c3a4da0f52429bdfb97b98bef3a31b282986fbeef34fadc998a6d3f6a2ccbd9659bc9a20a8759c5acca39ed0d0fb45dfa7dbbf91b1d71222f5c60e0b032c1b70c3d43a7ebdf3cd64bea6b31434c2a86135d1a078368574b3d7335fce5df77c2d76e7658b82d0cc2d5baf7fb91dd6606484ccc405377300363bb5b066662d27ee15841a2d989f9450ee6612931912cda92ca58e07bf5a2ddf28ab9c1553792c0e4a252978ed79d4c4cd8aa0f049a97c682c881e411631d080bb276a02d6bd26268486b4bea00c7136efd338f2d6a799270e008e0401cf685ad124107505d0df68dca7230e5c4ae7bfed641a191dad194b078d2a9d4ad2e2a181b6318ce94ce08d008c668e596dbfcac259ed184fb345b30048a2a0a41541d8ea7ccd641ef53e7049c52ae2930cf53e4db2f892c505d110d337962b4af7b9559fff574b4a9041abed9145dd101d1c905a21d778bbd806b9c65ddf55f6cc426a50da718b49d8e2cd2b0af4982b96d822226b884c5467c5dff81e0563fc60fe332b69fa0c495a43651c8aa772d1abf16acc11d0371e00d460d93b9e678b0bcac4d7b202c01a039fa4e705dcdd72d00b66f0e08640461438b6b87f16bdb96b448cb9404b162de2067ef56a52701aa063caed74441b36e337d421615c2cca5e30e80b33922d706f18b89c6bf123f0a23c14b0ca3810960d880f6cce4a52cd351276611e64f7fa22ffadcbcf631c1c90eac9a055d47bb2ad855597a5e35939a3791208395ff631366ad6c99742d533004238564e7d1acd14cae640b48b4610535f2ac64873bedd476d76d49fb9db3197682e32308b79319e577dddd18686bac9155954b75433c00be613edb0530997c10b5c3f9615d04c4a9970ebcf4068069e4d4fbff8a6f8dba7b56b0ea0a79edd44ee0c5661afdce36e56ca9ccd7357733ff5da75cfc779efd973cfd0d55dbe67ca52a0f951580319c866aa215b88635c90d19e024c10afd8281fc07c412983d5d8514a0fdea1f496814f870872ade84f0cdc517178b828640a2176c65225f8a128a2c8a7d583cd07e73c30e116cb02d91662312e4fde0cb2749c80bb20727c4428e32f202a61252115fcda9774d84408131897276ee1a1ad1eb3d02dcbc804580843195722835ee576047c21c0140d9fb0a0f17d18cae686b274bec5c14b93d2fd68b21934ac024c023f60cb142a2ba26a2bfc9b4ed05ab072106a0d256470921d2bd171471d4caf6f4ed1a6571eaccb083016585472f942d799f874c798aeb0d55c3df774168a4e9dbb5e2b817a3145b3b96eea01b5f9bcde66c2ffc1bf27bb8627dc1876d57b0c85d627cf919925726c569943328f501de61bd591320280008ca412c85429095922e488e39213b73beacfc1a962e2dc500421d360f9f7b99865a0ba2c7b0c98903103053188d6a669e15c537ed4c3b5e83a0a4cb0c85cb44d416a92d5dc94b8319b05b17e58c6324546d003a938df30dc5c80147cbd7b242bde6d765b34e3dad1a6b56a192eb8ab9d35a585fcf060fcb9bccfd708218d2031142cd39a04e26a6430ab25107681f3d2e1d671220f3b5c3d9ae0d2011840419d5295b9b14ad2bf89db83981407f533603d69c19b823120cd1abd1834d3812b0745cebeff93dbe8e9e75ea4e54b16d59c57cd700eda6f9f36589aa82bc730e79efdf3b7d2ab67b6aea19be7eef63d9f4ecb420d2f593744ba71701a7cd650034238ac61a541707fb6509a226c992f22f101490f0d0d43c62142f1821cc221f13b2419581d0f500c850096a9baa1b298c03204cbcd505f82628ee4d7002c503c33b9027b08f09d655b4d81310e7e8df0fb50c906ab475d445d893169a5136b58060e613913057e495db14ea3c831ee304902b034979dc32e0cb120d0b15217a191683d649709dc1a9dbc89388dcec801aa474a1bb6d9144cd5100945ab02b69868d3a6e75a65886c455057014fa2023cd53354647962fc08162a2fc4c351120f7ed83c4a17e7593e90a031640f451e93582c45577ef09df4c69bdbebb6502f0800b37cc9101dbd6ef52cccaf710398732fac7377ebfc9a10a80f6503565e9b74ec60a96c5505bfa9363c5d91d52ffa53442e80097ae7b0b23b834ed9d514d2cec8c38973faaa891ec7530a3e9d4cb8e5908592d886ec53aeb5d544cd1166fb62dff17c690a5ac1e5a2c790a7620d176c81b576086bbda8d88523fe0682c4dfb8a9a86c87823968e2a4cd62cd3d3801a357a0535df7032e22b4862e8dcb6ab5f19853b64404e16ca72b126b02b8568c47a78e69e0c4d1dc81b47ec4e236257c4736b98acba26a0501568230e0aa7eb0a6005af4253d5ee0b1c882ac0468f067623efb1271b2c53ef9648c9c20dfd2c205c3184a4d2d90b6eea0fdf8d56d6a955137daa3a4d963365a2364d635dc1e3c77b785ec5c9ff76ed7d801ff745d875d14a8879413406440f0869c0224f85c29703166001928a170e54cb506a852f0f321ee22945666cc0facd590399067e34191f9312ce17de2bb66afd567d011b26b5eaf23f0799c03f233ce32c6616bbc76f974bbd8da9c6de28789436c85ebc89be72aa68e9b2aebff872d3db8e5be073a3dcb0e190cc00788f3c4c9e17323780a204516f599de94469646e94d5ea74a3fc231fa386a5da26c0d54b4491494848b87a495872d1e02652318165d37a5d9533ec888f81e2dc215e657617830af0612f8953589de5e0bd17e3bcdb6a8ef34a0a9f7fbb930f65e9c3773eece0192542a4923a3632d0c42f2255802fa051fabac468dd4611d1b583976285850c62c21ae8229d6e219a6a9536f657971c3580110fa054803186325545c79c295f139618b80a132a650ff0dc51196f6922fce213ec3ed8ee948a9342796890698340f4ee0ee40ba69d48f3653b417461e0f6eea07379163a93a2916839282b899c52c526ea70fe20dd531d81d44ad051c851a70a8450584bb6b342710b64d4b06137c8ee8438b5d1183332ec6b8672c47c562202d41629f74d2151a4bc09fa732ad90c11dd0b97463f5fe3ac8e60a82e1153968371af53f0918d6f84b6fb2aa59e7acaaf162e582756164a3669053ee6f4853809fde6c551b4418f9d66a2c166f7abe1a56bd865a73509ec22a117395cba5d63cd53d57c59842aab8f41ab76b6a05a370f2df56e3b18b61e5cf23a66cabdaac85d16b97d91c687b3032323a6d05e42646444d5e01b5275a73ba63692ddba66ddb764c6a6dd09435c0911af9c87881adbcae8aad8025c556e5e1ab81a8845600dbe46c08227cd48395c0ab9fa9a81767d031377ea8aedb2daf390cb99d724d874648b7900cb6456ab2b45e210e28cfe10088d574ba5086634e0393098d7ef626cd52f118962e8c854913d2baa4624f3c2db9a7290e84945ee4ab2395399ce14dc603026b517f29c6881aeea7ca858339c1830f30a403830154f4e2e6268a560d4110ce1dd36834607992df38ac60ab569ddb54273a3dac2ac5a68201bd3aa69bb6b0deb8c2092dd09a34ae7a28a996249d3cae69797ae52eba4747a40b38e756d5582ff5c058f5d34dbe4f610df1a8b330acbaf731ac790dd4c8b8c2c99a775871ac6a806d7c3c431b5fd8448b860627f512eadcc26f7caedb752e94962f964a33e2a5507a90220bbea95dd4a4782afaccd4e547613bf885c5ee24f062c472f0da12e740ada65a4c1c6b10c008f11f9db4aeb4eb9a6bde5295e9890fb80d32fb07cfb8cc10b21dc82e8790c16c77d80d38e78149bb418eccab9fa8b467a92aaab6d82017a6f2950a50e2a8eaa8d856aa5397a5566aee4c08ee18f81bb589b4d6f5e0818aab714fb6a8d458f4e1dcbb67a9648c92f19859c0863a467ea94043430374e41187717ae7422068cfc3cb8669dbce5d2d5b026440bf5bce288c7e1776801fe19c08f874741c8512b84e5dc16bb1db1cbb34db8fa7277864c4421255e870f948aa807cd055d5b50b070910d22a6c936d77be2aae01261101070bc378aec0b119dabccc81a508d8e2c0ab098ddc515556010ad02ccfa7b026aad4418da9b8db56c41d36f0e0ce26eaee15aa6470860ccdae8056ca080a1166b3542a9516c4757bae4ba363e314faad0331cd33bbf99c4ae5522608e455c6635a08e45aae228016b83bb42c986b04253a179468782c172966272b87239645a62b2b055cc5eb611faefe2de6c61573e387c695d3a5c51a7293293448d6c1a33c418ead024127237a1d3782f462801274a7ac0714744c824e433602b45d42c2cc81a1eee9a2ad943e98cb3c72be94d3d6560ff07ac4b604619d267ed6dce5355adec01202853b2a870048bc8a34eb0977a5ac0d06857c282e6bac1860d265245d69b70a82dab1033a75375728357c0ef8535ddb5e10a5850d199a9f889854bfaaa0667b0dd9e7c95165d0fdba6d387477dd46400e8e8726863826ac35d375aa6e9b3057d73aff5a7d4c9ddf48f78f092bc21cbd705d132be57a93b056502796902b84dbb24751d6effcb51b60520d49878defebb145c56174d94880104c66e883809808d98cd080134386e6aa05a11698e0e073d7e52ac7636363b46cd9b232900008d1ef7841d8279349cae7f31c488b6df82db6e3373aeb478310ecfbfaebafd3c0c000f5f7f797818ffe2d7ee7a81a4532e3c22eefa3c755f99d1e8fa5dc16d5ae69a263f9fce5593a3b08c5e02852fa1da9cca9663a05f620386946d6404e218bb35014f2aa44d4e9b2260698b401c8a08059a38b161616f8fa90de1af3e26470c9cc1f384386bab5f66a594cfafafae8f9e79fa7abaeba8a41493a9da6cb2ebb8ce2f1380395c58b17f33b6254b0edda6bafa5638e398656ad5ac5e000a9c889448281073e0354e033e8baebaea36ddbb6b1a039efbcf3e8d5575fa57df6d9878e3ffe781a1e1e66508263e3b878617c0048b0b2e0bbf1f1710627383ececf052bc5670d840070b05f758b49386f6189a540090a8fb9dc60302cdf67b8f33dcf5930566eb6ec0ba09a4cbb34182759cbcb0093b985b051ca1e3d0dec468a94f0e29791e1860c199ad3ecbba6c504827de7ce9d94c964e8a28b2ea26f7ce31bb4fffefb33a078e38d37e8ed6f7f3b3df7dc73fcfdf2e5cbe99a6bae61c17ff8e187d3030f3cc0af254b96d051471d45f7dd771f5b49ce3df75c3ae8a083e8a1871ee2e3e36f000efc16fb3df6d86394cbe5e8e8a38fe663631f7c7ef8e18719bce09c0037b7de7a2bbf9f74d249b465cb167af3cd37e9acb3cea2471e7984366fde4c1ff8c00768bffdf663d05229ad429a9bc1f476951889a8855bd7aa428131288f837d71ce7c943c5b03b385a305592a6b89d3a8bd1407081b6032674089ccdae196dc9e3da59ae15436261f6e64e770da5960d47d4386e624e3a6fa3126708d40f88f8c8cd00f7ef003060570bfc09272fef9e7d34f7ef213b68eecd8b18301cbc9279f4c471c71041f0b160d0091a79f7e9adf015ef082e504c7fde8473f4af7df7f3ffdfad7bfa677bdeb5dfc5b584c1e7cf041baf4d24b555aae432fbcf002830b8095534e39857f0320f3077ff007f4e8a38fd27ffff77fd3c1071f4c9ee731f80128c17e2b57aee4f355022e5fc798cc2164a2eb1c657368101894510637cd53192a3a3ba7908365c9a7445c264004556a222d246492415777b815edce07feda86c5cc8c3de91a22c99847710136106f52f9429e38c0483ae1b2cba75772e1f140ea5a2cd3bd4cf68b2143939ffd50594c343889bee016d8bd7b377fff894f7c82c100c0032c142fbef8222d5ab4880e3bec30dab56b173df1c413ec7a79e9a5971850c0c201cb0a40045c2eb08600a4c03584bf6fbae926fe2d8ebd71e346de0fc758ba7429bb83003a5e7bed351e25c0ccd0d010ad59b386c7b562c50afe0dce074bcde8e8280d0e0e3238823be7c8238f94bdc754b06ef4a5af75364144a3fc884bd437d4799ab80609978008ad72f64d18c9c251857fd94202974dc2334aa3a5d2bae3e86c6c0aaccd2d0a548a31fa0c8c8ce7b9104d4d6b89ea3fa0eb9f741f10cb88ebbceea65c6b81b8218de50ad4ef84d48bd8c4e025435d7bfe395baf7aa028043f2c0fb060c025039072fae9a7b3f5025694f7bdef7d0c5060a180bb05ee1404bf0228c0c5b27dfb760e6e457c0a5c3f975c72090314584c4e3bed34b67e1c7becb174c10517d0860d1b18d4c00283df039c208605712db0da20b604a0032e251c17bfc5182ebffc7206205bb76ea575ebd695036931c65a01bd5cfc621618980ebacd70f7f346ac55b2d0254aaad70bea947553024a25bc29955bd1ce035681bc0024fd42fa72214a2263c956462204bfa21cc6485ecea1012673e9068a3b984ec4eade38a0cdb15c91917b7f3ad6139938184356b5c2ae6bbdb1646121322131860c550527d5ac0870c7204e0331230003d80700e1bdef7d2f67bf00b8c07a81e054b85b60010148405c0ac00adc2bd80fdfad5fbf9e2d25f80d8e8520d7534f3d95cf03c073c2092730e841d02afe063001b8d1d936382e400f5c45885d59bb762d031e8c0d961b8c0dc746fc0a800d8e53cd1ac196139a9d8073b8c5c7052841f60b024f83698089b67c54eb385c0df484aad26c18b192a02c261a04fae29515e7965992664d6bf9e071197e8fd01cdeb13beb5c31c0a44d9613bb4e011a6e16e53aaa37436f58194aaa2b31fae778ae4bb51ca96090e331577c5be8cd078826774fb58ccfc950279e2155a9aa56775ab864002a10ab21eb6258ec72414c4935022060862c9e4564d668e150b99ef13ceaef3555fe0d6b48b5df230016e0044007db714e586a6c257430d649d6916a1693f253d77e41a8ab6f2723cdebaaf35b625eda6a05594ba50103b0c17d13aae375ba17ce5c0027106b4e1758aa01266db49cd4139ecc2466e1bcecfb8b34f4d23d10a67bc0ca1500899439b4ba8e226b2d088dc3efdd87c78011435d41f7a4ca953b73c39c08b004f0112de606a0d330af29d75729ce12d8d34a1e12096a87d802561466a0e4f9aa8b714c5c4b322e1318100b6840490dd9d585f3ba86bf88976d4d6ad639577c8c1c4d5e2cf1833551fd515b411a0fb0add9406b9aef7a620ed8dc9d331cc450c79f3dee7f954eab5e39f35fa8251309dabe6317652ad38867c37a42f59a418733e01716d729418907743a861b9e5476e57cc325b63539692108e74ef5da050d4c2c557718b11625d5980abeb464dc61c8d2d6867bd1f2c6617dcb4aa38b0ee6c76cc1e7e2373a1300a02a5b08c436871a29ab32d769c992453432324acf6c789e6231cff8880d75000c5b94c96469cff05e7af2a90d331495734989b3c4350fd351471e31772d002826e7b91ccb82d74826cf0045a715cfa7358aeb437283b4d65b9410720daeb2b9a0782f5860a203a2f68ee7a9500c7861222a5b078b21a8aa5d8b15870078c81443cea7af8618c0da008a2a9b2ad5235ff5f08149527b740a62ec5890a836e0aa8d81b27a68041dcea3a873c4c7ac3d740d8da1eb29992c1d431d93d2b4fffe2b79ddd90bc49508be88670d193fadf15c950e8cf2f8ca056b5bbadc7967781237aff36c4af8d2a20c1eba3753a0457d71e699f3019c607e216746b3451974edc9de6c23e3906b323ba9d7c1c902062644a3624166c40d44533ddc30a447e1a602ac208b6620156b4bbb67ee5c0cd74a5cf6c9a91a13c1f9f63e5784452e7dd050332f796c8165ca161299af2f17273e23dd0bd705c0c396a140f67c986facb4af2f6d84a5a1ce523a4d8b172d32f3d020bfe54aa2992207b7c663b650087de649495570b2935613d4951a156329147c8eb1836501ee6f74d59dcbe0841bef21c5379b273801709d906d9ebac6f16c41c88b848c1bece10b75e7ef8320cd1d4115351a281d6e1094d94daac2674955ed4fde5c9b72e281f11361dbac26813221e2556b416504180298003069560b082a826b391db850e26b2c96f262613ad28f8a735189127113f76cc890a1cef1e39c000156c96780922f4a57b4ec995a6260d229652954328105b66753b11808815d149f03dea6f9674fcea342796cf1b0aa832eae4d65d9944a38d49f8a95132260ad2a055239465d975e0660f3523a696b012c10d5d2af6d558a18ae1b5d54070f89ab8af5c015c22589c58bb7b5c9cc58d70a124c04d4856d6104c41a40184a4d00d76115892d40bc9d4c30862143863a0706a0b5433822381fee0564341584b2a4ad256187c703427cc968502c57b5054049f6b0d2866167b28572898aa848014fc71c5b0a74d98ec5ca288a7ac295335e08b84f1bcaeef4bac57c5e02935005b4a2604e1c35382afc691ab8a0932480c9ce911c9bbf06d2314e1beb4f89c59a09cbc7eae4a26be5375174af3fe30d6e213cf4b6ca3a72550121308452872bf91932646821039390ad1388dd83f064e1e308c550d5cae89685020a28804846688685024aeffb426638b21a768fe96ee0e3d95c91c7dc9752853a2bc6880c53b6fec46cde6fc74896520997fa123254a1af3437f8febc0326ba5c31170f53a83cb4a7ee84c5971f2f710964dc3898191173928825d96202500341decb414201b7a6b67831c27cc7c570c4435f0a02d26b563ff4fa2a6c2293af6fc890a1ae584d7452a2e64176845f775c56c0bd241458f078c4dd25bcb05c7cad575964c00aa625b36bfca9a60fc802245a2025ba3f1567c51bb13470e53b2aae241e77a9d7f31fecf9fe20e87cf849af50a6bea512318e5ec60df6c4cd44c3228ef340c028a79e861d7e50265e8d584a1cae362bcd7585a26c548598123883a205d4666a953164c890a1b6f0e41ee147e08f682302850e2f748877bbe0526a55f18ed67a89be02b600790cb0c6b205565c21d7f0edf0589e818a2cbddfdb9260c176170e38d6c266b70d7751540da170eb1130d469539e8c73093810ab540aa60527a11a3f5c4fd81f63b7141a930bd3304143860c19d2027d8af0535d8af1e55ca9efd1a834e94f7a32ae500882645c667922e0151951a68e49af8393400610c15fa7fb5ee814dca083a844a3f7a2ca9ac9154bd4e74edfec4f77d8845baa727b3388b85e4977aba27aa02143860ccd363f6c579b0958c675c33f2b523f8a63ed50fa5e086f5bc8012878fe3c0126da5300104271ed2190e49bcaaf73e8264e0a1eedce181ceedde0304041ba70a3e308aa044035c300f073b8812601118a64105936bb8adc5a6a872143860cb5099050282b96229b52c79ee88ad69582b7217ea40a67228690d393271755e00c15944e988f617751d930d72ecf9d6b0b1719354138b78be04865606af95704e1467d885a69d0a8bfbd68481c573001a9294c8c8babc6c2b5c54dade48e089cf2c837e5de0d1932347b82147cc7755453d190c109d73c29f85c90cd22ab1cd0cf3db2f2a5868e89da51b55c35d29d6377d4425e8d7477fa20304c76ce00138d9ad115125934109abae6c85c1396dcfedcf72997f7651ccb64705f46b7939b0a069c6687fddb616ee487db916007956f656c8d8c482faa0248726c52654130b0e784c66062c890a15963f2b665b365231ea3727f1776712386ce9e608adc5d98b310ad726b91e92c078e0220d5b861370341a3fddaf0495a6fc205af04babdbf5e214003ca668b9c71827f58a84889429067add2ba3d5bb90f9d2cb9805bc06dc8299c0c18408e25d3c21849a3e688b8eeb15c81d2e5eb6dc3384816e10123286b0b624c4891c6773e57e1b138ad6cc2ad63f8a721438666c75a82204d64c894bba587f21dcde782488a61184a3e255dde8d76508f72d8de916da8c20a25554b00b41081151b569ea0aa5c5b18e51ee600301142b214722a2ca28ab5d500456450a0279970d82f1946042e3ec7c48de5e026206a2bf25d485d37db61414203408a32c0895e681683100114fcb01ce781fd62629f2cd2811d9fc158d896fe3dd21c9a4ed64fcc725d9772c918b941ceb87214e0453333cccb7c225c138362c79957d785a69cf3ed5ecd26150a058ac5625d3b7f335557e78365215f28b1b29952712e485b86eb0aa0cbd63555224aaa4cf59572ad32a7763eb9817a1f98e0e6091409a081cf63998200231e6bfbec63b44276f15413fed2073939680a9d15b9a15e975734bb539479111a801cb3fccc5d830319b8a4e397b8905a9bd3631a79b003559a7fb6a72b93c9d0ce9d3b69d5aa55fcf79e3d7b68d10c1aa48d8e8eb2904da5526d1d675100c4f1f18c18db6093bf2bd2e6cd9be9a0830e6afbdce15a719d330115b8266428f4a59b6b8608c1cf405b9dbb96601b1b1be371ae5cb9b23ce6fefefe590791a3a3e33438d8cf20dc50751a1919e1fbf6f8e38fd3830f3e489ffce42779fb3efbecd315cbc942205d7d1c979b16a0047dcd20ed50227f4c28dd50bca194a2b78d5521d7f8f9c9e42b944c8bc18c45f3a35655cf039390267adbb09f902bd8d90c4664a9f5da027b22c874c29492c917f9783ac06ab64155e5d826fd1d46f79c5864965cb9324095f70fca569ff9aaa57df39bdfa46c364bcb972fa7f3ce3b8f810a80c9f6eddb69c992257cdfb76cd9c22dd7e3f138c7dd706765b11d20c6f30458edeba35dbb76513299a4e79f7f9e8fb5fffefbf33156ac58c1e7c2f7030303bc7fa5c500e784800788c0dfe92a42da526ba71902e0baf9e69b85f01f67c1fc9ef7bc8776efdecd8219e3c0792de52fc775610c10e4f80e7f43a8ea6bd6eb478f17d7f2c61b6ff098f17efcf1c797054a2e97a34422d118a344da640bc2fbe9a79fa6abafbe9afee11ffe816ebdf5567ae28927e80b5ff8028f1da045df9fef7ffffb7c0dfbeebb2f1d73cc317ccfd7ad5bc773b374e9d2f23ce1feea790e94bb13fb62ee5a01aa8eaae560a836edddbb97bef18d6ff03c630dfcc55ffc059d7df6d9f4918f7cc44cce6cca078eab91320c324daf533686a8fa2a9655dd831e5dd3d8375f9081c0a9b8372f5c3dbd6fe354b53ad0c6d916c3c5c4cb067d452e8416f7dc49fd6c346244495e20481d244baabbe2def13cd70b91cdf9661794e0f808d2d208842d1f11a1c639e5be3fc9951304a1025b0c47cae06a3eb3562d98bffad5afd28d37de48dffbdef7e8b2cb2ee3cff7de7b2f7dfad39f66e1f6cb5ffe928e38e2081678471f7d34bdf4d24b0c1eb0dffbdef73e16ce3ffde94fe90ffff00f5990bdfaeaabf4d4534fd1860d1be8fcf3cfa7ad5bb7d27df7ddc760e5631ffbd82470022108a18adf40189e78e28974f0c107b7e5faeebaeb2e0649175d74118f019ae9ef7ef73b16d2ab57afe6cf00119803000d6c7ff1c517197ce085df42a863dc982b0038002c8cf5e4934fe63978edb5d7f837003c10fc0036d8be7efdfad9d5fc04431d1e1ea6dffce6370c8c70cedb6ebb8d2d43b0105d70c1057c2f001a3ff1894fd04f7ef213fad9cf7ec6e0f3965b6ea14d9b36d1a5975eca637fe185171840e25a6139c3713127b87fb857bff77bbf37eb569685467896366edc48f97c9edefffef7d3a1871e4adffdee77e995575ee1fbb7df7efbb175ebd9679fe57b8b7575c82187b0b26068069621c1f3634216e4844c42fc607f32c6f2612453e0f8496468b221dd9a6c65811700bf8565455bfd59d1b611385c9a3795bd7bdebe19aa2e8af03d229b65ef788e3347106f2253c082b2bb21fa2a717649e43bc4060461c49232fb047004135da114f02b8fc681dc4429e4b6d4180fbed76591f1b9e887e5d2c2613811b4359fe33b381b48800a085d08627c06b3042304637ce8a187581b07f880207fe69967e8cd37df646106c236083568dc60ac2fbffc3283160002084558286ebffd76de7eeeb9e7f236ec1b25083e801168ec871d7658db4009a37fd7e56bc20b569fbbefbe9bce3aeb2cdefeeb5fff9a2d1c001f60f6b01edc73cf3d74e08107d2d0d0105b5860f5006882668beb86c000780200c13501a04098af5dbb96af0fe0ebc9279fe4b9986d82403be9a493e88e3bee602177d45147f1f55c73cd357c7d002ed88e6bd71a398015c68cebc535623e00ac2ebcf0423e1ee608f707d7097072c00107f0da008831d47e6bc975d75dc7f7016b12cf1bac258f3df618bb7540585bb82f7806a120c022b9d0c9568527b5a5b3257042b2e238dcf4e8d38612f268749850d559b9305c54ae89bf11188c57e577d1f212f381e6842b874d54318fe2aecb51cc7115d88acc91b08eb0ebaaa05569b783e9d824d80b90857e3c21e98651a1cca35761e7968ad00d225d82e7bbc504ae0b8010b8030008aeb8e20a165cd09e2160011a60f1b8e1861be8f4d34f67817ce79d77b220861501020b820b9a1c2c06f80c460b5701fce737dd7413335b5819608dc07ba52b4733e077bce31dd30265bfc9cecc38375c39dffad6b7d8e2f3ce77be93eebfff7ebebe534e3985c1d8e0e0201f1bf11910c4da65a5dd39279c7002832fec0bc081ef603d905d5b3db6b43cf7dc73d23c2cd6138447330224082ad4b3262c26b826002bdc478028dc0700110d8c702f30cefffccfff64d0f7ae77bd8bdd6bb846588a70bdb86e58c4f00e6b18ac48fad8d0d8016a5a0962f595cbcfb873aa13eec195575ec9cf1edc6d78667ef4a31fd119679c41175f7c31ef837b82bf61c502605ee8a4e3174baa89de24cb7c534a3771306bcc8bb32b06c745298c7a317db55c3bf38de64cb8baaf828074564ab3c2a12ba8daaea8a24a91e269a4c248143881f90e01be0034b0aea0d010163b3e97c212cde7baf010ac9ffbdce7587bd37104d0bc314fcb962d2bc74cac59b3a61c8f70e69967b2c00301d480c1c28a0017027ea305118e01a1ae7f0702f36d9510b3906c306e431340c7073ff8410644da048e77000b08db4ac1896baf6a811b1fe7b98a069746ad22871f7e385b54705cb8509aa1782cce9d499b25c4b45402b7871f7e98ef8f1662b8a77ffcc77f5c8e89d163057879ef7bdf5b8e2b817508d630b89f705db856bce03ec03d833ba859c2bd32a0a4be90c5bc1e79e4916c950338c433847b570904173228e17841958090cb17d97a0f40c2566ff1773a112b57ab6d169c70c75f4fceb5ef9bd4c739054cb4f524d4ee983a0ba85ad132fd10763a6a39acb93d8c9802a5598fabaeaaf2f49c9943fe24863f9f09da71657023e6269a191005171a94800044344173af3c46f47733250ebe6e31fb25ea978f5e6ba382333d4dc60ce610c2fdf2cb2f6f5a18c7e3ed4911c57961d182456712a311424e83922820d5a00404971c5eda8aa6a91540a2c79248c40d979f86e0bef9e217bfc881cc0095087a0d4d6d8029320599321c12e00734908a71f60c6a8e784289e48ef409b7e5798b2aaff5645bb5bf2da27907bee76482bf8ed80febdc3cbd98fc302c5b2802f8e7d08ba6cba135102058c885a2b4fa04aa7a6129f4cb65f7d9048d7a262a5a1b31b38655186a0438759b2a4189a11e1702ca32024b9db6d6192b5344a628f73b0009621be1c6414ca0acb96251a958a4786ce6fd7674bb959a8df6a2c53823fb719205f70122932edc4df48a945ff8f7ec2a0f8fac5522531f61752888453351d834e4a26ca865d2ad3a2681ee64e94b6082b14e64e54c46cfbadc32b2898a62dfd0f4513064c890a1ce52282df5e8d703de8dcadc6339a4e7ca9a5370efc26a32132b938e4b448135bb8a4b556674aa746242c5d880955bcb524004957305680ae789fa3aa780892e4a8374df8164ac2670018d160becb74b78b1490b46a3d26e2f7480a350a5056b94ab23bda714190aa1d538335efcad3d30a612bd2143867a4431b52614d04e9f57567708d98282029f70bd2334c475dac397919509b9908c552f471f4d9c48c65028d49e046cb425c500932e594cac90a60d7e45b433174ff5657aae3673598edd757317169dab50b6061edc4307e9cd62e12712d56f4b274b306b7712faf4b40ae49019fdf39788324594d59f1f8c11d724f8069dbb5f815276898a417dd8568d51346a266fd69cde0c53aadcb799732db471cde41ecea77181901d057761bac90ac1330706caddadda75e82287dd10c4fa940011ed1c83ee225f52996495e40716831348b0822a3ba1c70379a20b911a60d215810e574c284d5e751e2cb83f60ea0a23bd7a75d75cf809bb4dd1664cdc0fc897754f80c8e3e285023bdd2acfcc6d00047a870f13458e7345f41b69bebb3002cc6fde44b46d9c28edcd8f072627ee1332c04fdb47aca318193264a803d60a5827d047acac54967cb688d76ae2da191edecef386dc5918f12b99a058b5408476ebcb8eefc549c0129941c858ed85762b0bd26222cd5870d138127258536f21b673bd93982c5faf6124f6dd3b9663c092a8612eebe695c91ac4ddcd0cc6838e8703550407d271f1f07b32952df49b3e565c2814dfb970beb24b8f5fa63d9ca18544892653e5db612941d0299436286b7165a54041b271ae981a2f83172d09e6a260d6560f5433d7e503ac2a002d5f9441aea8fcaae51a783617f3147c3be6ce0fd3f49ce4ab416537de202c4b7318b374d60b5b2254b11a4b26e8f26f6ddbeac945099f614e83a62e584bd89da44c8418033e27623275d9996795050d193234372436620ae39e5d2e3c06a0e239d2550f0514d9314886405204f82814d26a3e0d6d3b8fc6196a1791b43e285961459dfd56072f55979897328edd35d6c4e8a164c3721486b2ee15f36ad56fa7a47ac7cd179ab30a1f6e06b47a0872dca409901c0a01afbbf612473a876a45cac86ab727cd5db243a42daea59be312202494712570e1029d3b6e91e739e699746543860c75982f12b1d065d7bce0e5c43118caadac622aa42c90ed3ef082526ad728afc0599b82b925e21e1f03bc0d41a7003a70f1db2a0400ae110014f466f33a6885c098e0ce1fcf97b4015dcd4328c638a11ceaebb4d41c60732aee9ae0d7d9448c8d10e21fb0a8b098125cc677e2c6a2c2892e5d9f8cc52b8edb99aab1a1aa9fd268c0aaec8f1394bbe6766b8159b028a95a2aae6b731b0004128761c9704943860c755e09b565d0a71bda1c706afbb210a5aeaa8dcfb036975473d638bbf9c3aa421ffb0274a0270dc248a17c21c3866b93409ea8cf901db29759b11ce4da11fe6ba3b2ac2c4fbfa83f3ea9122cc016177923e9ca49c6bc09e9a16b7bcd13edb1278049a5106e44286be498cd15d99d53b90e1de58f93dd7d35e624b69660917317df59f44db4024c60d109837046c064a61947d00e603a851631988e4b70221e4cc7b78cc9c49021439d5594048ff61c8732b9022ba19e074529a4b16c9e8aa590d2c9182b9a28a7300033ef343cdd4320ad2fade801a906b142c09714d841475f8003001364c7e40a61c76b83005c81ff0284549e5bf758434c49d40a8446805c4ec2d431995d813e1d40e172d39e6cf59c2f04533c814097d23012c9ca11c7032aee43e090357bd1dce5cab4650b48433f12e3c3be135693c6e64bf5e4b1a8dc65d2b6a486c1dd94272ebfee78f5b150145722f1a26aa32db50a5ddcc7902143865a559a5a910728421984123c64551d0ff076b8e5e1e209a28adc347c3388eca2c713843a0e31b25f97acd6e0e1f27a1de6bb95388b3351ad90cb4a44e715323019973d774c564ed3029b084631879bdb4d80059d7f2d3b9c8602f98905e7baeaefda002516b3289d9ada1b077f735c842b17ae0c7b95c27b782c4f21fc89aa01d36c0113cb11a8dcf2c518bd868009cf81ed8bc9f1b9495ba30f850ee402828606a11135401b8af09045753a55aa8061b4a62f16b93d3ddcb8f05fa2a1e0443096658aac193264a875853322039a258011c4dfe902931a9470adaa1ea886ad0b6336a0032a39174eab6c22a037199fcaaf0bac2c8aeb4f4ef067f456cb7099fc52b919a001264d10fc65630594f32d4c011d6c5d40f4753221beb3686cc77605589a2b2aa681c958a6c04d9526aaf20100d96c1e735d8bb25c967ef600980e4e2a241b0526c46586b9bb7083bfd1d78a14e820b4389d0e96a29200283bc542455a752ae9ca92ca35c6a9bf58ba6cb998178fb2d90c031d5418647f6e1896358a5609aded71bf3510d29f715f2a0b35a193acb478d9bc5fab0ddc0c1932d44bc804ee9702f523b0de6bdc5acdbdc36c58c68bec86b794854467e8f4022829a88ef0761d6fb78e87716d5bf5d509a7b59c4c39972d7be2046c457226f6b126808b29b0d6226a2e86a4527c2780897e7942308e8f8fd1d5dfff2f7afab14728994ab65ed4a356b657a7b2c05a394f93bf29077f05b2926c34664676c1d40579eaf18b90f202381cb9fe18bae21357525f7f3f05d91c15420992fcd02a07c2864df3a290aebefa6afaf6b7bfcd8dc2d0f916c0e3ce3bef2c038f356bd670cbf5e38e3b8e4e3df554bae69a6b68c58a15b467cf1e7aedb5d7b8bbf0e73fff795ab56a9561ee860ccd5192bdcba094166949ac39b1033732f85b1155a84b325598d38767d89ba692f5eaa0ff668e81381404cbb2e26d857581992514e32c4cd2e21489165d2ed602b15e77169884288e26de5371a1d5fb938009e22b962deda7ebafbd837e7edd35b46c9f1594cfe76664b508c33a66864e502be76ae137e5464e618535841aeb2981b9bfe9a73fa603571f4c1ffaf0e5542c1498118091b8e2012a649195d37c8135584aaebffe7a7ae5955768d9b265dcca7ee3c68d34323252dee7f1c71fe7d755575d45175f7c3177375dbc7831edd8b183962c59c2add86fbef966baf2ca2bab9ee3f551a2dfbe4974e93aa2ff798ee8f70f267a623bd1a661a2b7af265a96aa3eb6d7462423dabf7ffaebb8fe05a2db5f253aff40a29356123db3537c3ea8f179b8e70da24571a2a39711cfe993e2f7a379c1a48b4430689d75c0f4f87bfbf6ed6c3dc21c56a34c2653f33b43867a8160d145ed0dbc1aadd8aa63e850d554d7f04039fa565938977d17cf6051a5da06e144456bb8c20b8ecff11b8de213ce9a01d088396c0da9c7a3f1eca3d64aa0538a5ab80859315c864394419fba8272c1d13622175902bff3fdd23aee9092a814dd7fc308300900377930a3a323148b27a8bf7f60dee464f73a71be7e324da3237ba5150605d55c5bf6f311c0640c81af7ed8c2a2b619640c0e0e523c1ea7071f7c9076edda5513b4de70c30df4f0c30fd3d1471f4d4b972ea575ebd6d1d6ad5b0540cdd73c0702f1afdd2801c8677f4db4382180c0eb445bc689962611ad4e74ff66a2f7ac255a9e92fb1e3244f4dd27c56fd244ffdfa944df7c94e80201348e11c0e127e2fbdd020f5f7194daff79a2ab9e25bae45001a2b6cb92f43f1600e84101862e3e54a61f62bf5d59a26131cc17f6101d20c0ce31cb89fee921a27708a0b44100919b5f22fabd354467af22dab89be8b16d446f8e112d494a60528f5e7ae925dab469937826fad9ba847780bb6251fade71ff3047e863323e3ece804e57e8c4f6fbeebb8f8e39e618be07b05c2593499e571c47bbd276efdecd1daf012071ecd1d151da6fbffd687878980126ac58860ccd402d2d1700d3ad411ae5285a0c70d5576b723b8fe64741ece2064000219603a52760c140297884002454506dd16f84774ee677f5786c18f891026e2d8c9deb70391c8e805849e90e57319b967c477207dc3dedca38b56d9f1c14dbec702c8fdbf9e53935f3060b955d0f6cb673b9499401259db564d962ce3dcf23ddf29051bd3db3f8123ca878412042406a5002a1b976ed5a16a0107e8b162de26d871f7e387dfdeb5fa73beeb8832ebbec32dab973270b5f0403d7a27d855c5d2f00c5779f227af721443f7b9168dd62a2957dd2ca315a90fb5dfdac2c910f60f295d3c4effa2588f99ef8dd609ce88e57e531102f9c2d11fdbf0d449f3f81e8ee37040011c7fdd091f238bf1180a43f2641057e0b46f947474aa072b70044db33e2f802ecfccb23e27ce2e9da93938dff560f103d2500caab2344abc4e74155d97b203ed532826bc6bc681a1a1aa2934f3e99811dee15ac238f3cf208ef878065cca3061bf81efb030cc20db665cb16dab66d1b5b9eb03fe619f71960e794534ea1d5ab5733a0c1df78c16285bf31f7b06e0d0c0c3068c16f0f38e000f3b0186a9950b1153a8eed582da5b5b2eb239c39af835bbadf89294559662fdaaa6330d89e63592df1bce964d64c251a7e0fab0cc68998168d3dca956c03094ea45bbf5d161328a89d6f9362f716a636d43db309d50c926d19f50aed1c5a38e24520008f3ffe78b6a09c73ce39f4e94f7f9ace3bef3cb6005c7ae9a5f4d6b7be954e3ffd74faf297bf4c679e79266bf2f82d1e0c00d57af4ffb3f71e707255e7f9ff3b7dbb24d40b9250473415044242028bde0dc618888d8db16327718b9dd88963c78e7fff384e5c62fbe396e0820d18628a4def4d42427424d1842802a1de57dba6defff9bee79ed9d168ab76b53bbb7b5f18cdeccc2de79e7bee799ff396e745d1dfbe4ee4ca23ad75042030aad28287a943ac5584a0eba386895c3a4d64adc1471470ae3173d34e031cfe66b6b57a3cb745e42333443e798cdd17993658e4b10d1650fccb320b3e38ce374eb2a987009f77f65a8b49326b5d4a8b0eb7df7dfa580b9a70379d3bc91e9be3b05dbdd9af3665db55285828706315f723ee2efa0aa0b077ef5e193162844c9c3851a64e9daad68c575f7d551a1b1b65d1a245da671b376ed4bf0184f4bb0b2a06c00032b0460158107ec30d3466cc1879fae9a7f5781c87cfe3c68d933973e6c8ebafbf1e3c238174c52c2b8dc9ac2a4d5ebdb9eef47cf78d8bd10b4973e57647075faae24aaad87a71cd2f5799183e97e2dfbafa2a8f742ef6a64f5a4c5a4599ce8212c0935e04867eef1758b3bc2ecd457630b3aae758283b56ddc44ab072bffaeaabe5dd77df55f7011614b64701a330b1921010bb69d32655a66dc99c11d65ab260acc8920922734759170b00626cb575bfcc182a120b5b8b088064e220eb7639c580882f3f22326fb4c83fcf1749e76c25e4e943ecb101299b571af0f2a0c8896344ce3ac2ba611a3222b346d8631283c2f14e32bf0ff62d211f3600e56b4f887c68ba3d364008b7124085b816ac2e43cb6ca5e242016814afbcd6ad5ba77d027040006db8571c68a3dff88d7e02cc6129e1b7175e78410121400440c876f43ddb620df10aea85bcfffefbdae7801fac25ec8b9586fe0758e25e0b24908356a804e81b850a636929e87daf557dd407e669af753dd9edace178347ae11a83e2a8811c524151a23c713f10bbc0675c0fb80d1e7ef861559028dabffaabbf528589b580f806972a8cdb0160d396cc3400e4faf3ece71f9cdafcfd29059e8729b3ed3b2061ac9f818ce502f70e80624851d1d445e3ec3bc0e1bb8b457634da98150440a2d6141fbc106b5219db7fff0f4d13397d82751315cac963db0773c5fe612c163367ced4be44b09af02a9442d70fbf4d9830412d2185e9d6b8689449d3f429dfbb63e04a3be594536c669cf90d50024839e18413f46f804d10581b4857a5b23ce6d7352b2dedef325d0a93225bb310b06d58245fa327e0770a8049207d5000220459b2826725be76ed5a5d81ffc33ffc83021082350124c4471083424c044a108b0aae08c04c774e64630b685112be876848072ab90f6bc368530c4a9c148392ae4c9ced598d5a92620e98c2589d6260431c9013627d701fb9005ac049208174690c8b8b2f1429156dde9c8d93dd8f1ccd810eafc0cd2305db66bde6228285593d810c40608262c35fceeab9aaaad2acfed2fa77e14a8e6dea8ca283399689365750accf652e2883602c66033e21ee2920ff62e2664246593a65906ba3e09fe6b19bf6b092e57c5d51a0ae2df6faaaf4587c66d5eb56d028935028d4670283e9178230e12fa16fe957dc36a40f93027ccd35d7a8eb803806b6bbebaebbe4c5175fcc0760025288b9709682407a460252bb4006065a0a497d634a835f2391e62c21074c08d475a53e9c10749ac9ed1f781a0a05d064c0021394f69831a3cda459ad817ef8cca74f9b266fbdfd763e75b2acac5ce6cc99ad59046c03d5fa90c1831588004aa2acfc2014339ff7eead5516c1a366ce54a589f22323025702a45f080ad4810e14274187b483bf01442e5513308322a50db82cc88ae098801a56fd2ee05011b8d91e650bc8a05decc7efb479ead4293278c8107979cdcb6a6960ff33cf3c43c68c1e231bdedf20cf3fff821e0f4b4365659502b45c2e57c2cf7d48fb09d70db1250f3cf080821382361f7ffc71bd0e624b4e3df5540dd0fcfdef7fafd614774df437f7a33d574e2081041248273149defa5153113fc08a03e0684a67950c14de14279589a816ff73f31becde8dd9607eea7643445f69289603cdec98334b366dde2271030e162c98af408055f719679cae4a6ff2a42364985184138cf23be7acb35431f23d00e3b37ffd6939edb4256aa2bef0c2f365dc98313276ec18053347ce98a1552ac71b053a79f2e47c2aeb79e79e23d3a64ed520c02953a6c8c5177f50664c9fae6064d7aedd72e28927c817bff079051d13274c900f5d72891e9f76b1cd84f113cce04d2b1001b0f07ee59557a8e500058c358177800fc73f71de3cbd56f63ffffcf3b42dcb972f570043ba5db559cd5e71f9e5e65ce35571874b18add3e704b392aa4a0af0aa55ab34a6043032cf5c27ee1b5ea4befee4273f510e13f84be86b8262894301c4b517dfc0b600c64201086ed8b0a1dd36b20d00a935011401587143b9f676a710745acae012a17db0f0160a6e37c0747f11b298b8c708f79bbf0319000a30142ae046d9ffd5923877545bdb0432808009d609ac1c53a64c95ab3f71955c74e10546192565faf4690a0e2618457dc5151f915b6ebd4dea8d52bfe693574bc2f791bb4865a7e0b0b64c993c4515ff6003086a8d8287d86df1a24572e4cc993a58c78c1e25e79e73b654d7546b76027ef7b3cf3a5395ed85e6dc008ba6a646cbfd6126ee99e6f7050b4ed2739c65b6b3eddd2ba79e7a8a0c37ca76c68ce972ea298b65c14927695da045279fac9fe7cc9e25e9545a967ce0036a25d9b57bb79e03c00248fac31f6e90683ca6df0d1932588f0d525f62001640adce5c6b295bb91e79e4110524cf3cf34c5e01bff6da6b72de79e7292f07bfffe217bf506b09800c6e0d2c5664a700ca3cdfc2d596dc7befbdf2fcf3cfcbcf7ffe7379f0c107f3d6963befbc533ff31b81b64e962d5ba6a463c87df7dda7db025050b6b4156b8e731f016a1f7ae821cd8c01403df1c413fa3db132c8ca952b751f2758b4704139d081b8bf49b95dba74e97e6de75cbffad5aff2df038468d39a356b145c01d29cb2e4ef77de794729fdf79b2c4d1f711c006ca100ea685fe1f7f40320837b01c8e23a9d12e6ddb9091da8e3fa018cb483fb79cf3df728600438af5ebd5aef1df790fd68f79b6fbea9fbb13dd7407fb8eba21f1907eefed02e2c9bec43fbddb5701c00ac3b0ed7cb9841b0a0710dee3cf4297f73bc9ffdec6772f3cd37e7afd5a5433b3e1cae177761713a36c2f7ee1c8069779f39367d51782f382ee773d7c5365c07fdf78d6f7c43fb856db8578c69ae0770eedac2bd26c0d8f52ffdf7ca2bafe8dff42b7decd2bb3906ed2a75f0da2fc5a74f702caba50c441ce99ce2ac7ee05aea53c1af710302986cd7be6e531d71659c644003ae95871f79548e39fa689d2836988977d9b2271580a0e059d931a9be6414c82bafbc6a56ec5395a361d2e4493272d4289d04271b654866c2dffedde7340302a0b3d52883fffbbf3fc9872ffbb09c7bee39b2c328ae7ffdd76fcbaf7ef973cd2401946cddb2551e3413ee280364b0a0fcd70f7f28fffbcb5fc8b8b163658d996c5e5ffbba9c77eeb9ea8aa9af6f30e71b29575df509f9c98f7f24279c70bc3cfbdcf3eabea828af9037df7ecb4c68dbf47a98d039fe68735c26d24b2fb94473d4d7beb14efef1ab5f931ffde80772fcdcb9e6f86bcdbee52579bf0067b8a9987cb11431d932c132e97fe8431fd26c13143e1939287aee0396238261b1586109e37e36b403beb8179c0b2000bf0702c8e33828351424d62b5ef429712c4e01c3e78152c452c3b95018dc7f942fe088879cb6738fb827c45f40b34ffb5032280d2c2eb8134987e618b8acb008fdf6b7bf95cf7dee73aa7400b20e6c30862fbcf0c2bc3582f109e8c1d246a030408636723e141e64738e5c8d3ea43fd9873e440046588d78717c5c63c8f5d75fafc0036047bb6927dbd0e758adb0c2915a8c32ffec673fab80edaaabaed27d61e1bde28a2bf49ed016eed58d37dea8e7a5afe85ffa84bfe9873beeb843dfe937de51c69c833e74e090fbb362c50ab51c0250e8338e415fa2e86923639ded60bae5d85c37bf735fb817fc8d9b1450c3bd73f789ebe2786e52a61fb886cf7ce6330acee867b665acd0a73ceb8542bf13f7c45803689c71c619da46401c6d0124036cb81700de0b2eb840c72a7dcc361f300b0bee2bf78c31c1f7975f7eb98219400af7977303a2693fd7c6734e5b68ab3b27f7168043db67cd9aa5a095520d5c6b203d89493ccd204aa63dd9bd2fa9712650ea972236d14c3bb808242299ac65528f84c37dbaff7bbcf521694e893ce025ad33cc3129c713717d689f5cbec24c542f6a51a4556675c22479c41113e5f9179e5705859b877a2f13274e9071e3c6e6cdfc4c08f3e79f6840c338196500822d236d633cb61840f0873f5c2f4b967c40414683bfd22395b2b2a25c27426ef637bff92f0a2e3826e7df57b74fc1d19e3d7b15447cf7fffb7f3a19bd6fda89a564e9d265327ec2e16a99b9cd283494e3cf7ef653b5e6dc76db9f35dee293d75c2d55d5556652acf78370133a61af786aa55cf6e14bd545b469d366b9f3aebbb5c6d08f0da819649425e0aab2a2b2640717d782127301c74ce48eb6f9da6baf55c5cd6af4fbdfffbe2a049407933b16132c4f2ed8d999d85b1394018affecb3cf568b8b3b37f796d5fec73ef631adb5c36740c317bef005f9e217bfa88a0a85c64a1bebd399679ea969b6b4a370854a9b39168a0505896282048e95356082efddea1c0587b24711731d2852941af14a284edc8385ee20c63560009239141ce77259310022dc7b287df6035830b628688805c5097dcb762870c64de1f770c5008258c5d376028d19bb8c79b607783006b120710ca7d8018558380036d0d9733e8292d9c75963b8d68b2eba4881067f7fea539f52923c56fc1c0bc0e9327b50c22857c6009629ee2f6d23b6e8b4d34e932bafbc52412400e5d39ffeb4822bee15b149f40f3c2af43be389e33a6a7eb86e5c10fcc2850b1520384b067da8ab2ff3ce790157b4a3a51525f7816d3826e7e07a192ff41763937980b10128e55e388a7efa8436726ff91db0c87de7fab936c7724c7fbbfa4f5c1ffd44ff72bfb9762c888036402cc7e4788016002e4484e13eae68fa1c30f1ec735f5116b3b17289a84f0ce7b539dfb5fd3a34fab4299dd1eacb04f13636a5a5a12993cf280a2c261db38c69fd8174d6061585fc1140873201a672b628524b130793f4abafbe66567b6f9a07dfd268af58f19402152c11009064326526211be8ca315801b20f930ac75f6100cd61666260b58285e4b5d75fd77dd996df5180878f3f5c69f15d360c6066d9b2e53a61320133114622513d066e9e8d1b37298040c1d2165c4b2b573ead6de698acda77eed8292fbcf89264cd6479fbed7fd69896d5abd7a899366226cd5146913df6dae37adcb41964d4a7292f2f53932f93d914a3d89e309f99b4de7b6f8399f0e61885b752de33e76432ed0e33afa3a5efcec1ccf5a320509080472c5808ca13eb01c0040a7a00163128ce9d80d583fe6772c734cebd6e4bb8376cc34a9bd527ca8473a35050044cf858ce383f2fc605bfa32c50d25ffbdad7d49c8e424111b072a6df51a4ce4ae1624db0a6a0e07ef39bdfe4b3573876215d3b2009d700ab755c1d001eb601bc704e145521a80270d01eda823509c5c7f918638cb79ffef4a7f21ffff11f0a5868178ab6f0182838fa8cf15a084ce813fa0020844246e1f2370a14e5e7c00a2b7bdc60acd89dc0610280fbf0873fac0a96aacf002cee09ee32ae83b6b9181ddacbf84499d2e7c56cbd5850e84f073e794651bef42df78c678ffdf81db707e3836b726e3cfa9efbcabdc67dc3b30338a14d804bfa004048ffccf403dae90b8e0580e4bb193366689f02783817db388b0edfc33e4c856bdac53864acb8fee2bab93f37dc70837ce52b5fd90fb4726cee37d7c23169237d8d002a01215c07ed7181dcdc13ae8fbfb1b060f50270321e78d15657fb080144d3e78ca3407a0a9c78ba18ad2e0f2b61636ba0448b019a0dd27ee560f10b0f5a8ba82dd8678b07e6ba3555da650c51f727118df8c91839a367fa3e4d698f02132d0a17b668d4e5b53725336a32db8faca6855e45b9b9099cd5110f2d13012b1cfb60af369fabcceab5421ff6e5461931901c870613e54e33f96c31ca816331f1c4cc2412f1336b9c4b60cbe62d3a805cc60d133a931def0df58d3a21620a6722637bcec1e4cea4c184fbd65b6f1b10559d77c730a90154984c01294c5a77df7dafb6935517dfaf59f3b2b9a6723de7f6eddbf4fa680340887331b9b2f2625262a2bae79efb14b8741728714b04faa2bc1b7da9f40d960217e343ff0012b977b41bab094080d5ba7be851045c238a89ef3efff9cfb77b1eac24f40d8ac3c54bd05facf4513c280794172b53faf6baebaed37bcbdfdc4f94348a81cfb8945042800fb7d247f1b80c2bda8f82c5f4cebd45b9a3585d2617c239cf3aeb2c7dc75a01a8a68d2ecb086b8b13ce8312e35a51f41c0b2b06c7669c32c6701fa02439070a1a8083b273825b82670065eb142242dfb23fa009ab086dc745405f315e691f1606de2fbef8e2fd0af501baf88edf78866833fd4b6c070086efe863142eed39fef8e3e5fefbefd77663b97231204e284340ff3a371def9c0305ec6afdb8b4f2db6fbf5d41085604176b0210e3fa19177cc7b3cfb572dd3c07f407e30a4b9573e5d166c616fbd2b7dc5be6908f7ffce33ace00430e9800c41cb70bfd80050da0e3fa8b71c0fda02f0b4128e701f8e0c6e31ee3f6a29f187beeba390fc7e33a3916f71a40c57900765c0fa0faa31ffda8824e1624c4b5015c1c98c71d45fbce3ffffc0031f4303869ab7ea9d36509b398cc6473d6ea1fb6d93afc46d13dcf8f948d19f04031bc5c3717c4437366f5b859cb08db0fb29743852830d46caa0815bdc2fe2b52f01e2d7ac5fc57bce0952878af9dbf70d1a50f3cbef4b37bf636e6156a43534a62118bf4860e1b227fbae146b9fe37bf9491a3c694944b827e22a836631487230d6b8f4f04a0813263c264fb529694a65347e5cbfff44d5978c22cd9b8b341eb46c47c7f783c979491e6fea4d2d64c08f872a6f2d6c4592f0add0ec582427201924e506c98fb51424ce698cf51b2810c6c61c181b5c65911004eed8dc1ee14ac2558b39cbba83b0480bbdb0f7807f0395759b10068016d80b0be228047acd8cc97588bb7eca997c14387eb02a8b7b9986cba704e9206405014ef609a632d2539a96b4c6b8c075612576fa7498189a7756b1c0e51b74b2a2b6589885630ee2a40711693baa6b4d6b40104d1b77beb9b246efe8e75a28273eb3a2c22836b62b264d129bf5af1e4d25b715e981766cc54c1bb7ba5fd57a6e8452641aee03de79b1f0a5ff497d72b16134e6f40a5b2e5e5bc9c223d028a4883cd9841e2cc65a546f4ebfaabb2206db5230f168396955621ab66a94ab9b9b61d66f2fbf63f7f55befb831fc989b38f96f7773576e998ac30319b33a103d258f1014298a8e8135696b83d98703155d35fac8259493a5e19ac46acaa030904108275086b8cb348f4a4100bd3ddae14ac3a584d71d3b5c5b0cb731248e95953c27efd9fa459b001123c9df7b1a0441438604529b4ae941b500268e80eab491e08115769ce872ba92e6d09e3c27ddc6ad2a3c084b4abaab8b95989b801215909994e6d4ca6f546954523fa5b2c16ee7075474776d6d1f428c71e8b026c8fd5b51015bbf2f2cec5d2d1733512202bd6ad50cc42cbf17847499702932b40609899fc766cdf265fffc7bf97effdf02732efb899b2b52e235da9394c6601af4002e90ec135d51ba0043914f11d80f2638f3d36b8b17d169c8812b05546e3e278ed59580312d0635565f1666b8c1fbfd0d5eac52e0ca2b129a32e235c47c46c62b9215c42e334fb78bff668a8b797b7e3d81b83098ac01d6881d5f7266dc737a0c85971bb1cff3166a2c054c877000194ab0ba643e1e3427105e110d2790124f88e5d4133f6611bc7cc0a98c054ec585a5de1395867d9c6810ace59481befe2289afcfdf97d8451f45809f0673b80e3b6e3b3fb9bdfd9beb7f3cf2d3819a1fdf54f5ffe923cbffa35195915d5811e482081041248cb96132c20399ddba1adcf4a83eab68cd49b17282157b04d5745330e3339d59d80123c0ec4681212816a2d8b456cad9f00981c6407871d02e4bff6bb11457ec4111335f30540b068d1c94a5086f99fc04ae4f8e3e7fa14efbb1580b01ae1c641ce36eef0719a7ac7363b77eed263946976c1ac7c86c6e851a334b891dfd887203dccc70b172cd0e0455763c7557365c543960c6d03ec0c1f3e4c832909783bfaa8a3e4e493172af0e0d8584e30d7d6d5d5cb25177f504dc3040e4e9d32450e27e3c080a0de4e0b049c0c1f3e42cd909ffbcc35b2ece91764c48861c1ec1348208104d221e0e0ff83ae38440b7c124608a6451f11af12f1539bf95c5ed6f76bf3f6ce1578366887c0a0a6a68cfac7c291b6777169a7138f38428e3be65859befc49b5641c37eb3839e698a3e5b6db6f37efc72a3b2aa0e1f1c79f30c064842c5eb458060daa5196d813e6cd53be10089320a1c1ad43a43f11f910a2d5eedb27471d3553d2a98c241271b5629c77deb9e299b6d6d6da944848d63ef9898f6becc31d77de25471d7d94190865666044d49cb670c1496a7519366ca8ecdeb35b66cd3e4e3e70eaa9f2d4ca9572e105e7cbddf7dc63404c4a669af3bcf3ce7a3df78293e66b90d193cb97cbcb2fbfa2d945bd2d4478537b48996dbdbec73a4926938b57694900990412427c6501edf1fd66622433856c9fd62c70c46858ee9f235afc1d0b220019b7496f08994e64f714067ad266c711d39e907dc3b82dcc94ea88f0bc93aecdfe2c1a586004124867ad27582e221aff1192f24454633ebafb1c001182767106702e57e5381a0df79922afa5074cf21d4c4786241c6e3f45156b04fc25b94c56de59ff8e52c713cd7edf9f6ed1fa37a79b890426d75b6fbd5d4e59bc58e6ce9d2da9645a333b48f76452fbe10f7fa4d4f0c43cb854e009e30fd79443c0cce83163e4a5975629609837ef787515dd79c75dca00fbe14b3f64ab129b4156555925f73ff0804c36e73bc16cf7c73fdeac561706cbebafaf95dffcf677f2ad6f7d5381ccea556ba4b2aa5269ecb986ad5bb72b327b6ae5d3b2de9c67f1e24572dd75bf57faf973ce3927cf4ada5b6e1d14d6d62d9ba5a2d2f4d74f7f2633a74c9057ded922e525eab4246388544bd23e0119f0509096ca6752ad49cbbcecb2cbd43d75cb2db7a862c36af6e31fff58533109ac252d13b00ac117a9c258c8e87f983f21f6721c14286b5259494d25ce0105c6efbc630d631c9102eb527901080024dc79109191920ca70a6d247d152548dbb1ca11e8cb183df7dc73751fb85df8ece21a700f928ecbfb25975ca24a945458da05332840190657d2a5b1de014c7847c933de2108249d95f454ae0bbe11528819730ab2efb843c73729bab096d277fff55fffa5df41fc060f0919566ccff5f25c910a0be11bd705132ac741683b408f7b83b5102b1c69b7287bac91f4351c24a4d992caeb4a45707db48f3e8131970c1c0009e9bd5c37df937e0e5f0af795fb441a2d7fd336fee63e700c784db8979c1380024f0e995ef41d7dcdbde63e717d7090d0d7aed826fbfce94f7fd2b6b615901a481fb76c88e4e7daee54e636eec49626f60e99eeb44004dde9dc439e3b793f905eb7f9d8f00f0b4ec2d23af32b13dce44993d59503a91913867bb1b2239d0ea573f2c205f2a299f088e007b0ac311373d680996d5bb799c9f37c75d560d140d9e0864141c023c271503ce150d8b2559afb0b81d9e25316eba4c8390016d682e02919dae6cd5b24168da9c586cabfc4a1b0cafaf8c73fa6ed65f0e032821df6cb7fff25f9f6bf7dc7af74dc243555d5ba2dedbee8a20bb52d2854d8647b13946cdbba452a4cdbbeffdf3f515042f0ab56d72c51a309fd098f0c16909b6eba4981010a112589520714a0e050ce7c06180cd3da4533d4fd0748a1bfbffef5afeb3eca5b601429e30785c798e0330cae8c0b8008e7033ca0c8f81b10c4fd43f9c130eb04650c69173c15ec83d24309c3600a2886af028653c00efc14800128cbd99eb6c2f30299971bdfdc1f800714fa5c37994c2868008e0bb0469902465c6035e088b14edf007c50cef41169a92873da0c0707fbb31f560a8ec9f8752469800ffa86f3b87dd88e760242381e64795ffef297757b800a6de6188e6a9f7e0244d01eb60798701ddc23fa84cf003b0015161b400af702c00928a23f6807fd80951160c4f592d1c2b16ebbed36bd76c0167deb985a3927c00ac0cf3d0284d01fdc5b8e73ebadb7eab5fdeffffeafb61f8005732dededc954e4407ade6a4f9c06855b9b52194db7cd75a352cff909b15a67a73bb1424100ad974723fd4f7a35a081001d000934ba10ad35a445d3865b52cc4c1eb83a0011bb8d4279e289a566b27949b7854595cf77de799752c9f31d93e352b30d2e2314002e1426c8cd5bb698d5e38a3c0be65d77df23a9744af7c7fdf3ae99c408666545c9df282f800db578981c9954516e8095d75e7b5dfe62569a4c60b5b5b6d22f6e98f2f20ab39a5daef57ade7ee76d0d8265d20578f03b0ae2393341efdab553cf91338a9095ef238f3ea6fc20bd074ab64a456595fce70f7f2c474d9b241b7636947c74377d89b5cbd53fc132c02a1cc50bdf042b7c17a08cd2c23ac13840f9c28de202a0213163654d6c900bae06b4a0ac5186b884506c7ce708d99c5bc1adb439170acd4e4c3975950038b0ae705c14266d23f513e5cbf78002ac0bce7580024571f29bab3c8d34a97b7098b61b50425bd8070b07dba37ca96d03a19bab1704a80280011e484b055cc12e4a7f714ef8626813a08e7e4191f3370462002a17ef44ff705e4009e09cdf3ff9c94fea35b9eade8e240ec192c233429b690bc0038e0eae1d2b09e7425c8d23049003a53cf790d459e8e0e96bf6e39c10e421f42fdb600d81c11730c2b5b1c0703595382f046530ee323e00915c17ede4f9e59effcddffc8df62160877d69932b63c0755122a03f14430ba4555ca2a9bc0cd974ba7b19595d0c083c2964ca58caf8ee7991c54a706d7f1f9abdeecaa948c4a4c14b9b9b98918c729cb43c469844305f3ff4f0c3d68fe75b3898f498d4987836198572fdf5372a2b2a931e40864995da391400bcfefa1b74d0c04702c860d247c1001262065c683124b31d4003a0c0396fbae9664b9463948ff379bf6a4006e73becb0216645f8bcd2c373dc091326ca830f3ca420068a7ce8e58955a12ecf9fff72473eb59936a348de78639d1622fca33907d702f8a2505f7733037644ea4ddf8d30caf7abdff896cc9c315936eca8cf57d52c75e1bee05e40d9fce8473fd277ee2b7dcdca99fb87fbc259155046dc7f941f0000e042e13c8e837585efb81728600028ee0358397ff9cb5faa1584fd012180219421e30f10e26a32e5fbd4eceba8f1b154b03d4a90cfb8139c227541d51c17e50918c632029072711e585cf80e850c9d396d65ac722cc60e4aff77bffb9d6e0f0076c231e09101b0e0bea2960b8a97f10d9842e81bc7a8cc39e833943ee085718f5b0440c0f6b853e82fae8d63f337c72a8c57a18d583070a9408206dd3dfd46bb0152802fae19374db95f80927ee19c5c0ff7059002078eab5f439bb08e38a2428e0520a1bddc33ee0140cdb97d5da61c00900078c607000ed00350d3a0f3a95315a8f12c02ca18131c977e08404989bb6142d6745068e40839eaf70e583ed8bfb22caae001ba8aee75e55896d7f284f8e9bcdd693009493295d620d7b244b4577445ff072662cb345712c493094b4d820ac22df398a050000cce8f5d286ef2e6f7f2824abbc52c898574ddae66456b8cacee3885fb307923ae460a6d72e74039a078189453a64cb645070db0511ff6ddf7e8a4c8b9d8c7d56969e91cbd35d0b0de5c74e96572fcd1d365fdd65a0548ce7268ef54e90a96060aa3a11c29ce87f507970040042583bb84fb83c500658ac500ab05f782fb0460e47bc0cc35d75c93af438322e61eba226c5824884dc0128382c31ac04a9ed53563a298ab066b09e7750a1e25ea408d1687f4c72df10d6ccf2a1f45898b069707fb398b02c0829812f621668a6b63ecf18e12e79a682fe088627a4eb072d0275c1f711b5c37c7c402423f39370e160e8ec7ef2869e22fdcf5506c8fbe2146052b11dbb32f0a9f6d006e002aa7cc5dc143ce41ff538b07ab25c00130c0b5030439ae8b2f71d62b800e7120dc530013fdcbb503e20ae351b09a38cb1360c6155374c7726de73ae853ee23dbb92c3b572491d81fdc3d80515556e6188ea63e90ee0613d64ade11d0d71650e01830b66241703569342537eba9fe288bc7dadddf350800e1dae57513cf886b3f246bb0b176e7e4c9f56235e1facbe291fe3b567a92927ec1c98b2f7d74d9139fdd539bd6ac0fa7dc350f9c34d5113572e31ffe28bffb9f5fc8a8d163fa5c67babe2c7ef05ced9d52962d9b37c915575d2dd77ce61ad9beadd616f4d300e1b86cdeb64362b9a44c18354cab58769492beaf0bee376219001e4175d78e0bee1aac21f4db21b5f2d5d7abeb0ed082db0bf75320a523c594f4ef6edb2b43868f90581ba4929e0f601c27476b3a7d5f434ab3396305592860d1c66446aa2a627e564c4b1607d12c19dc2b584bf8866ddd71b49e9b7e2ecd3eb5a02ca3f131074ba5df3920341028e9bb68ba6345a801aae6e5d2879d39ba3d25d913992ead1dbfaf2835cf6bc532e249bf4841ebacb042c7321248e704b74f4fb0fd62dd208ec471040552dad612804063322bb958dbf309c0018080aba5a509c9f3abf7024c14bf787e80a9592e2733762dddda5cccd70d8d69b50153919777b2295350c7437c4921be504c8151ce0b88257b4bfa0c306120bbaac2ce020138c1448b291e578973cf847c73a133e782d899bcd8876d9d4b26ec1793720f49b02a0ea4505c564a20a5dd6f0128297dc969a5dda80caa8c2be868cd65edf392496d7dca0019623542ad5a05ecdcddfc7bd8072dc95406934b8bc002eb0881a921b59484953995e3549a85ad56bb4f656ddb8247bf772d437da5a17bf6ec95d3962cd12c037ce19ffef4a73448101e90334e3f5db945f8db05383a8a777cff9814e7cf3f51f725f00f30c36f4d0569c3ce221304bd051248208174b3c544442d1c21699b6ac3594388cdb0e1231d9f8f61f6a830fb51dea43165e3300a5fc4a468513d8aebe56c01beb8261bd8b461c9bbe283fb15584c3a285ad3a66e9f52b7c3433265f2640dae2b2f2b57103276ec18e513193b6eac46dc3ffdf4334a59bf73c74eb5a49c79c619f2c6ba759a4170d65967ea3ef7de7b9f1c3f77ae8c9f305e1aea1be4defbee578e9181ca5fa041607d7135662615527a09aac4bde7c8d05a0a946e7d42f4f2e506ba43187300ddc260ecee14823e5b0bdc0e24905294565dc545160d5c39d6f52e0a4edaaba156787c82f60745237926d496e6b87d8d697d4ff960059e260d8030a0a52f67b9d8fa385ebec04b5f76bff7193d04ff07818883870c5670f2c8a38fcab9e79c2d9b366fd2d443ac21d4a9b9e79e7bd5a242ca22355f2a2a2b34488e94605206972cf980dc7df73db2f1fd8d72d699672a6d3d9c288ce269d3a6a8656620c6533001245339a94b162c71fa8890cefaeb5fff5a41050085b45832a43a238d8d4d5267c6497b135f47848c13525f496125c5d581a742d08200a018d39d053c64c84010c6b179713e27b83a8bdbeb5c97810452ea52df94967d0d4975a9c001c20ba0d2d1e94813290a98505b7a6129018064fd6d393e5c26c4c010b382aba9afe9008056a30159b50d29f34aaa65a8ab969f502faa823e631a2036e4adb7de91512347ca8409e3e5dffffd7bf2fbeb7ea3846b4dc92629af28574b093c047096c0cb8172b8fcf28fc88e1d3b25954cea8a9aec1f522ba999a3abda4c5a3925f84c301de98419f31d93f94073eb70b94d499b2e1795be539d92f459b82870cd61258174ab25650c3045a193c68bfbeec00771fffb4d1a2c6363eedcb99a6a8c85ce51c43b015c208cad426b06408498284003e46c002548df1853a40cf3196b0a6e4628da6937e397605b37ee703302ba492777961c264cdc918c550038d7cdfe5c33e9af908991ee4b5f90ad424a2dd701274b21a32bcf53208194d26a1fe230b26aa82f53158b4ada3cc3f50d699f732466dd2d5db6dac09d156dd502e3625cfa122cb115efb3666199958af2a8822c2a1bd754c40efa782e7b299ab758f56c8ff4198b8923555bbe6285ac58b1526a6b6be52f7fb953995ab76fdfa113329334933d85f052e9b45122a3940bc1d6dfd8a82e9aa54b97c99c39b355693cfcc823fa1b933ee98d1c67dab4a9ba5d2e971b501303164c7cc065719b7247e1bebe82cbe0d60068602de01d25efb2b59c6059c08281928790abbed83a126af9b86c77e38d37eac30a982816e8ef79ed87f6cdf8015438fa77ceeb6298004670ac00224847762ca8d0bdbb49c109e002b0523816f90ccf06d7c878a77df0890086e0fca08d001ff6a3fd8012da00c042e052a13d8104526a82c502ee8f78342cf54d29052b9546b9a6343d36d36d0bc5f6625cfadc82524184adcfa3c46be6150e1ddcb58443d69a84e58a571d169826ab1f028b492b02d32a14ee8014d854ff70fd0d5a399815247546580902389e7ff145899acf3060bab46294c76bafaf5563deb5d7fe5a6f1a1c1d30b7026656ad5aadfbbbda2803352383853929730cc4701ff1e700485c1ab903b1c57142c463408c869286c4ab780550989de58471c13e5824b036b4242d7d0f0081d40b923088d208c8668c62bdc07a02cd3ded81fc8c6d3906d63df629142c228ee2de0996208087231ac3f281f5c431d4d26647e007e8c1e2c2f6ae9d90c20501de8194a27665856e634c2c4889456da55ebee7158bf69b1a75dd06483cffdd5a7abcbc2baba3160e4b78e7d7def1ec3d6848a6d515140959165d2f273d9e3adda78009132e2b4df779d8b0e615ac33cd6bea973f693b2b8b9b880b2b49baefdc7e6ea21fb0835c27869c34a644cda69170dff1b3a29821f372ee096aac1407b1e2be73022038e04188445b55d8ad8192d684ed5ddf012c18630013c00296144004ee16ac1e802a800f5610c728dc96304ea16fc75a425c15c7067c732c8e896b88ef7801ce383f56144091033b81045272c24231169686a68c129c5557c4fd40d594f9de5a01fa2bfdfac1087de1c8e894c225129284446c56532894cf806a6fd227f8978528733e60843895a8e9ff4438a2880782b578ac802d370026dda16c432dfe1dac185bee2b17fcc5c4d0d7da5e98fd7230bc1658cfbaeda12ab0d638e0ebca0e40da06582efc9ddf0a6bcdb4dfd6c47eb4e9ee7c85650e0ac5b98b0209a4647109d42191b006a6e24270961266ea443ce0976ac66fb60e0fccaf7beb536ae116af99ea3f599fd477fa1150d796b525e75b48584439f65bfa1d46d96cd6717b45a42a263d5e372da8eb1d481e81e3dbada910d959df334cb903510a418993cea4350712487f55b828bf9acab82e90c8caa1485d1c977ac80bac2505008e5919f06029f5c577c5d8399bc40feb7e3100261e6dcb58a2802699c92a08a14c00c47304d0a6d396e3c5f3dd3bbd116dd9ebc0c4b9565ca465480265d85b120e85f30448217196a5e07e041248203da774e3bec516f704a024882b290671f69f985f68d5d5cfc125539e00b064a4299d934adf5aeb6250422e66c46bb69a686ab4345766a6cf1b9ad2ea4a039cc08c1bee052d10584c0269068961bf4aa36f52e5c52ac6a1eb400209249043ae748d90ee4adc43ac856af35eae6783609d52b7ee0f2f0f06941725d77b95d7bd42be16cfbdbc7cbab3578040e0a82286d0d6170aef4776d79c22ed49793c260d5e5add4051d5039ec4cba2eaf21970c0c4ddf4b0def8dc8024382b85e54a2a9591fab448a341cca17044d1722acbdf19a98e055d14482081f48c3e88fa2b77dc1585aa1f3d91c95aaab448e8d004e817aec3684b568342d3aabc014b9c735f32adf11d2872e7f6284501409165434c4a94f89dc6b45496ef9fdc50d8744d1e31d7884b675f635242b878526503139838d816f61168535363f074f6f0440015bf069b39bb5fc1408d2bb7801754db0c2490407a628d24158998668c78cebf53f01b565cb274a41396dc8e86cbb144cef974f8ee5cf58d993c3882e3c996ae10cd628114aed2b43553a27363ceaf984ca5e672d367bbeb92924ae74cff865bec3abed3d4ec58580647cacce2342c832a4433750624304139ee6bcccaf127cc97a9d366c8fab7df924459b9a2d1ee3e8f68aeb7f8c726b0aad95ce7e50b39850684e5866b4c3635c9e1138e90458b174bd8744665b92d6a08da8ec60c7a6e8cc2851ecc98810412488fcc49cccc1566e51e6a43e176647eb66e686bf5e8c8b66903349ad2194944231aaf4186108abdcacc89b148486aebd3eaf2ae326d238ea329955632b3782c5ad25613f10187d5731d0387961b2aa2206140c69838105057d72813274d96afffdb77e5b557d6483812c90389ee3a0fd1dea0e0b841844d49cb2648254b687cb9717cc6178709b143b9e07ddb54a27d9b35a063da913365e2119365cfdefa7c7c09b52442b9838f8887a514f652c729d2d92c9fce3ce82d6ddbd1f305edeadcb9065abbba720ffb53bb1078771c91e521052762ade7dd30bd497d634a7008b5b7c6a53f28ec871ac6f5519610b5da508138ca1c16022c457dcd6ef446346cb60f4ba3d1298978b4df05e93ac2b6deb8ac92b29884429e12448d3b7c824c9f3e315f55b2bb6e381c1db5f5a46c8a54c645f636dae275d56566f0a6603c15a9290735137c454a56ff5e9938f40c6c68307d5157b7cfbf0fa16e1bd880934282bbae1eafbb26e95091bb6aa0b7aba36deaafed3a54f7b03fb5cbc65bf49d1a62b4b3319956374c4d45a25d5734f32096120523314beb4ebc0581a0caf161b6a86bb42cd3a435e3d661115b5d1e0fe222fb3330712bebc6c6066968f0bafd6663d2aa6b4a29894c5322a6834c51b2197c8d3e0d6fba2caeef98f3520d0323e2d38111fabf189884dcf2e56080a059597584cd34904002e91b7230e485bd2dccf72c4abd6cfb569aa80126d5b1489e9e9d5816826d61446d849d16065af3636d7d52c3013473281ae996028381941030298eeb68e9fbee0426cad5e1d7550999cf61a7907939bf9ad2aaf8df0d1060d2dee74002092490be282e9db643db7afbf3a60038282ce8566709052d9e3451ee84ba6aca501b80927e693129062185d4f1dd094e9c35a0f0252d7c97b720f480622e76737497dbe360404947be0f249040021930a0c6b3854d5d202e5614e2ef088665860e1869fb3130e92905e9ac2385af50e177051693c26ab5874ac279263e4fab216b85cdac8dc920cf3c48cf0d24904002e97d7052b85054374f30370f0c60d29615e160143e014fa53c7640dd4480136805228928ef6f48327efd037c9b980d03701248208104d23fc42d460f4e2f36f3ac04c0a4176e1cc1a70d9acaab2cfe9d43b79a161652829efd19fcfc0a8c05df7962b372aceba66700974b61a37012d75806799979d56925484faa2a62f9df002fb188753715a3f6400209249040fa8e30ffc3669b215311c5d3c9e91c4002491ae9cb0e9c84a43944c16b65812fd2f72a8a94a4c584342cb84612b168a7d161d8a7dd85a3a4a23ce6473d85344029e365246dde2b42aef89128735f3a9b551e130760f446fa046ca16e1c9490f7c08f92d048ef9c05505a8740a4ba22e183264fe2f1886d175c2a519b314449701778d53e382b1ddf677d7d9d3cfbdc73a6516181acb16ecf2ef3d15c472e2bc95452661c354b09ee366fdd2cb94ca38c1e3546d6bffb9eac7f6b9d545755cacca38e96e34f5c18cc6a810412489fb69424d359e54781125ed9413a3145ab85dde80474235946ce7a92f5729ac24d113f57729573110b93ca64ec3639bb5897024a308af585721d3b6f4482227ef6868544410934b89db5120068d2b16c33b73f043b4d2983522deb1d68d3a577e12ec919a5bfaf2125e4df94974535058c9bc6deb5e67b8875ba8562c6b314c639cf52bb9366460d8386a6ac9e97d812cf1f084d690b4a0655da6d20850b87b2eafa09b503b4e92ea2c5e3f170afbbb272067cfcc777bf230f3cf6b8f200ac5ff382d4ef494b794d449acc75d3be5973e748241693a1a3c7cbe09a4172ee1967991b9093179f5d2ed7df70bb60477af0fe7be48cb3ceed963635a4cda00f9b71100926cb4002e9df168a62eb41ef4e888eea1d2b7926e775fa5a14706453aa3f884104e8b06825d314a9f0f517b1919c03bdc12597c56de13e3e9345c4f71d0d750887731249440770ad9c16cc569ed7792e939c4fc8e66e64a34193000208716cb1c0d07e66b0aab2b85f1bc1b757f87512aacc4d06201c2ade3b8dec36e0a4b6018a639b2f4fb38831a96d482a706110257d30e22c21ed2157ac400d149c0a45cde08cf6aa3f1246d955cf3f25e93d3b24233919366aac1c79ec083971fec9b266f52a89c7e2f2c6ebabf441baf892cbe5b8d9f364de71c74af9e06ab9f84397c9f77eb0517ef05fff29dbb66c6bf33c57df27521d17f9e969227ffb9088c13cf2dbb30db04c9a8735668188b6c774c5b35b445edf29526700ca57e615b517505ad0c11fba43e4d8e122df5a20f2913b45465789fc788948d21c3f1e6e9ef830b6c5c207de234050854f85d390319f3bf0b4b1fa59b3668d545656cad4a9535bdca6b6b6567f8727a6a5fd5d507720810c64c1250e0709733af36a28d4bbd044cf9feb389d7e4b3ab1502c2b6d542a12d1fcdce38eeb62143d698e6bc9fa20857664b2b90ece11bdd363d1813040235abe39a42e8342a0e16e64480e8cba667bc041b70d4ab18381ba0b586d1ce5fda0ca90ecad4f2a6002d542dcc379cb13d6ddc340026cf01b5687f68649c422137d2043f1de5d2450a1f8b0a123e49535ab64f689a7cbdc854b64f58b2ba57ad02839f6b8b8d4eddb27f7de759f9c7dce6972c9072f92b1e3c72bfde27bebd6ca6df7dc2f271c7fbc7cef873f9554b2a1cdf3ec4b893c6f00c7db7b44966f143971b4c83b7b0d38596301c4994788dcf08ac8841a911195223b9bccef66db1f3d2bf2b1a344ae7bd9287b738c75bbed36df5d6c01caae4691a51bec7179ffe4b122efd68a7c7da9c8f4c3444e9f2072e75b226f99fd3e6a8eb3db1cf7e1f5225f9c2bf2e87b22ab0c9efac64922db4cf3af37e73fc3b4e3b2e9d22635f6bbefbeab1306efb1584c264e9c286fbffdb6ecddbb57a2d1a8bea003dfb46993ec33fd3762c40839ecb0c3f47be8ffefbbef3e39f2c82365e4c891924ea7f5f737de7843060f1e2ce3e95f23ebd7af975dbb76c9ac59b364dbb66d7afca38e3a4a8ff7fefbefcbf1a6df39772081f4554119439299b593be2ef0b04c7bfd20bd3754708d540cf6e4c0f8c34210932bd26d2c5825ded1057444aa62be5e098049d744a9d07dab0437426f8cd7ba29afc52a8b8720d8544d6c0624b9f80f35ed45a1374ea83b89935240af2c1151b4efda815bcb557d3c183366c7b66d3d5d3bd485a5c6b1731749f5d04932e8b0911289964b26dd207ff8ed8f65f49889b26dfb665970f25cb9e5cefb345dba6ec736895756cbc6ad3b65e7ee5df2fcb32f48e3be4639fd9cd3db3cc7dc91d61af1ed15f6f3ec1116240c29b38085e60346be76a2c89fd68a6caa13993f46644bbdc83f3d21327988d9de80900b271b00f2be051ad30cf038e570bbed779e1239cd8090298345ae5d6581c7fbfb443eff88c82553cd6b9ac8e30688ec30c7f8c891226bb6db9207ff6e00ce55f7888cad16196f5e0f1ad072fe24912a7f52d8b0618302833973e6e4572f93264d5210525f5f2f43860c312bbd8cbcf3ce3b4aedcf781c3a74a88207ac2663c78e95cd9b372bb00064ecd8b143f7d9ba75ab02172c2aecbb7dfb7639e28823f2c084b20fafbffebaecdcb953c68d1ba7a0e5ce3bef949933672ae879f6d96765c1820581760ba4d72c0bdd11d5a0598d39ebb228f37db7a18220c2be065168b9e2ac905ddce40ef21aac3eecb036b5a5617a1a58f64750a241b346b1efded7248da9b4d63f2819c054042e1c38a92a8f2928d12282d903d1efa1cac809f981525867b2adbcf8ed604e9f6c6c90a58fdc2b5bdf7f4f9e59f68054459be4ff7dfbfb72cc71271aa5fca64c9c3445bef2b56f9ad57e4c9e5bb14ad66fdc210f3cf4986cdfb15bbef10f5f912f7cee1a397aa651d4bb76b7799ef70c48983154e4650308a61a40b1b541e4917745566fb3ae3dfe3e6290c838030ef61a80b2c96cdf9411b96c86c803062c2c1e27529d10396e847de0f726ed71011ae36b0cd030c7396a98b5c2708c27378aac379f87958b0c2eb3ee1e800f29df2719c0336190b5b23c6ada30d3ec576e40d30ef3fb82d1cdae1d0410002828b698dc76db6d6a0519346890164d038c4c983041c1c598316314cc70df8e39e618dd0e9082550440c3b6584e909a9a1a3d3e000630830585e3eddebd5b4b056035c1d2c2369eefce2c2f2fd7ed0209a4774049489fd9b6e6a38ebcd2fa6e5de4589fe11dc14a9d9fcfa46f91483a2b3eeefd7d0d69d95397d4b8c8d841c461f605e9771613cfb3ae1b98f952e98c1998718d622ee5dcef9c8293888f88bd1e9d0492a98cc6d2b4664f8a463d2d62154db45f9db358e28932a98ce4e48e3fff4970c68c185e25b38e9923471d73bcec69d82b23c74c9454b652fef2e7bb65ce3147497945b9ecdab347468d1e2965d50611e432e6be99b645da0e1fbf749a050c674e34cad8008c9d8dd68232b4dc5a4d46543423f0f3261b8030d6808a0a6bd9c00a32679499083d0b34002b8018e4e2a922879be39e7d84a8397377d2ba89fef3699149584fceb25617f6fbc4d1b603e943ac2b9bebadbbe8e7a71b10532bf2e77522c78fdedf8d0388e0557c4fa64d9ba616120002400160e1e24970b19c78e2897902c0d1a347eb36b867b0880034002b6ccf8405b80194e0de718481fc0e30e1dc58539e7aea2939eeb8e314a060c5c195134820bd6129c9646de689ad2e2c872c1d04d70494121a13da47f43aed24c03595b6d6534201422191fec822d16f5d390cb8f2b258b32ba70fb4d9eb8573928206574a241c6e31388ca256e509a2ba33d259cc1433a0f0cc73ce97edbbea65cc842972e145e798e3a565cdaaa7e49cb32f96f9c7cf915db54979f6a5d5326ef4506968c8c9ddf7dc2e1ffbe84765ef8eedf2c48a959a8974f28293a46650ebe70108ec2743ec1b169062396174f3e797b65a770b20e6d4c3ed77232bdb38ae2fff3cbff9331695e2fd908fce6cfe0cf8f9c7791deb33c08573b938193e7cf87e7f5757571ff0f7e1871fdeea318bc1cfd1471fbddf1838e1841334960580c37b2081f496b524e9d33694f9819b87e43c229a99024d445924daa72c0ed6b51f69d619fd94daaadf06bf0684641d5fa5302110901b8e1c88be0126044b8573d983b004e564dbce5a1937718a7cf8f2abe4dcb3cf905fffeeb76675ff9a7c62fc47e5a4850be4be0756483ae5c937fef59f65dbf62db275e326193e6a847ce8a20fcbedb7dc228306d7c8fc79730ec9b55f736c70ff03201248e94cda7eec841fec1f3d046e0ac727c53230d4474bb406ccaf8710191f8aeac18174694ef0c15c4b00efe08e89eba0a2a24a76ecdc26cf3eb752060f1a21a3c61e2e93a71e6d1eae98ac7df54df9f3edd799b1909174b2566a776f93bff9dc57e482f32f9649d326c997feee6fe5bd8def9afdaa821b144820036d4ef2fa9e9ba22b94f38114f4634fafce3142290b6b36a77ebe70c0b7d08f27164f868e1c2db3e7cd9761c347c9a6ad9b64e4d06132f18823a5ac62a8bcf9e69bf2f6da55f2cc938fc9c68d9be5af3ef905f9c6bf7e4b766fdf21bfbef657326bdef172e105979ae34483ce0c2490404a56223e4b38aef190f47c7a6d7f931e9df1e1d680d8aa0e9e8d5c56b365e2d1b0ba0b02eb49ff13525d6b0e1b2df3e68f96744393f296a41a7372cac225b263f70ed953572fb57b1ae5a557d61bc052217b77ef9635ab5f9737d6ad95352fbf2c4b9f785c62e11a1973c458a91e5cd3e23948977de59557e4f4d34f97871f7e58ad344b962cd194d72d5bb668a0285c1e2d0929b56565651a0c8a406c3663c68c36393cde7befbd7c302a193464c8cc9b37af47fb956b263598fe7de2892734b0f5d4534f954422a1d78d359200d61b6fbc51162d5aa4f127f40d3124279d74528bc46cfd5dc840baebaebb24994cca19679ca1194e8104d25d02d91941a949034ce2be5e8bc7027ae93e014cc83849c2805916339fc3524f41a36c560691ceeba785f447c64a9797efaecc672891fe8ec5a04a7eef9d754689ee92a1870dd5fcfb37de7943e61c3b57363fb75c5e5ab552868d1e2a6337568819060628ac97570d2879fef9a765b7012eab56af91534e3d5312e5adb301a16c9f7efa6955b82b57ae54604230e76bafbd268d8d8df2939ffc4415f3e5975fae8afc965b6ed194dbd34e3b4d7ef18b5fa832ffe637bfa9c70264386e0f14d7abafbeaaa065e9d2a51a604a50eaf7bef73df9f4a73f2d1ff8c007f4f837dd74933cf3cc33327bf66ce512b9fffefbf538175e78a1a603df71c71daa0c4f39e514e518812f847600a4264f9e2cb7df7ebbb6f9820b2e506e11ae05f6d64f7ce2139a95c3efaebd6fbdf5963cf4d043b271e3466d1fa468575c71855e072cb170a0903a8c258af6fcf9cf7f962953a668ac0f593b807f800cd771e595576a3b21643bf6d86315c8dc7befbdda16c0dc8a152bb4dd679f7db65e07427f3cf6d8639aba7ce69967ca8b2fbea86da26d70a9f099ed870d1ba6db3ff9e4937a5c8e457b0054f4272061d9b265f93e404875a62df0b77cf0831fd4b4e6c71f7f5c3957e86b529c3916fbd2a7e79d779ef63fe0928c22ae0f9049ffc3c7c275d34ff3e7cfd7769299c467dac9fe5ffad29782d9bfafcfabbc0a2c13bd110c4a0a6f329595bac6b4a6250f2e4be8dfe836da56e673a928e7786044294d6082542644f6345a3e0f28d9eb931965e88bfb56935cc6535e8dfe7213b90e25c5f172ca3ec87353e6a7793902b8ee963c257f38d44e5d9d43fb148723611935fc3089c5ccc39a6e9237d719453f6cb44c9f7194cc3fe12479e8915b65f8f011b270d107e4ae3bef91954f2e93058bcf92d32fba5ccaa5c9009859b27e03c5fd32ad9e831457941b1601c0094a18e54950278a15ebc7a851a3e4d1471f5505c667943fef73e7cecd737e20309f62054129b2ffdab56bf5339694b3ce3a4b410c0a16a0a00f4f34aa600332329430c704c09072fbc8238f285858b76e9d7ce4231f3160eb790502b40f450ed879f0c1071508a094f98c1584eba1ddb497ef013128719430ca19e54a7a2f800c00c16f0005c014c2ef10ac01060047b471d5aa55da6e8005bfa3c4393ed69f783c2e77df7db7021a8e4b5b1f78e0016d0ba080ef0149c81e52b9cd3572ad803d400ee0e8e5975f56e50f6fca1ffef007f9f297bfacdb0390e83fc0140b0eae857363e1e238bffbddefe4ab5ffdaaeec77900400008fa8674665299014d2fbdf4928e5580076de2fa3836fdc9b1b887fc0edb2d2fcec7bd82db857ea1ef01a61c9fdfe8ff407a632e0ce99cd4dabcd79960d4905f85bebe21a9f32b160a18b37b3a7d9673696156aac41b1d062849f8646e5031443545df539a32b6ebab01b73dbea8edc993511c8ffbd2686e18b9ea8c22002f3713df5cbd16b54b4bdc2834b847da539c6ea0976aac8a2b494d1141b840727e34179f41d821fffabbf74941618634cd9673b8be6ee9a5b4f587b8db520dfbcc43ebc98c997365d6710b8de2ae91d514f333e75fbce84c193662b48c387c824c9f3a462a8d925cfad803f2defa75124b54cbdbef6e31e0e02dd9b4e1bd36cf81f500c53e7dfa74b51aa0580105285d40030a1c2b048a1d858a524449f18e1bc40920063787a37847092e5ebc5857f628719427a9b66e950f90c1f583d24721a254a961c3ef28564008fb438406e0e0f7f3cf3f5f01126dc3c203c841f9a29c79712e9860b10ca080b16eb03de762bc6095c1fae22c8b5821b0b6703c05fee6fc7cc66d815581df71efd047286b943260c2b1c7c29942bf61a9c022c1f501ac680bed72a9c63c8b8023001bdc29000eae93730020680fc7c5cde5847e07ec703d58b0e8038e07e0e23cdc2b27801e3857682700c4dd3be77a5ab870a18229fae5effffeef154036343468fb0145f431d62ef6e7fe6131e1bcd75f7fbdde23ee072086dfd936909e1778a51a9b5a998fccf7e880ce2cf8885524ed17d2318eb1cf9f537b54206ecbd28690560e467fa5d59d133640dcd3aabf0da66d75460740870f036d7bc1b121df1213f141dc4084323d0a4c60e23320d720dba8967e6660611d01e982362b13312546837fa4bd9bc70dc30dc4404001638dd09b18eac8a00ef9f5710a5d2bddeb460af994c1b575493d414d4542aacdb55557c4655065427fdf6b7ecb74b375887312bb53e6d7da5126c45c0baf6cce077e876ed8d39f43478e919ddb77ca332b1e9337d6bd240fdc7da3fce5b6dfc8bd0fdd21c3464f91b28a2aa33c37c8b051a32551592565a68feebdf746f9d9ff7c5f9e5afdb2ec33f71705d496b02a4629a1f850beacf6519e285e143afbd31656f6acb4010cb8007867d5cfbbf69d79e7580006141ac004a54b3f717c56e8c4ad60a570ca9ae3dbf11856eb088a9836b01f600877c43df7dca34a1d45fdc73ffe51dd3980a08f7ef4a3da468e8392661bfe76d78262e55a50d2001c1434acb0b7de7a6b1eb46baa773c7e40bfd35640008adc31c2f2ce399cbb0a700040210607c0017043382f6da73f50f0ae6f962f5faeee112c3aaeffb082e03a0154b07f61ec06a0016004f8a31ddc07b6e5dc584eb0f400a410ac1b0028fa85b6bbb6720fd81700475ff33dc085efe82b8026dfe13ec292c3be5850383ec08a763a6b12e02ba801d47b8262cee45a9e8ff8de3b88b91032cd21550949c4a3d622edd73eeb492b10d61240096084f91db24cc0089613e6618aeca1dbf84d2bd7b7a1da5860f37313608685655346ed2de10eac6043053acc2bb29ef7b510891e75e5d0374d494c5f9e4e6aa05ce8e3c957573f9cebd40e8012026841cb6a85319b73aca654c8dcfc449ba9c82e8f1d4b822d176d1f064013569a32039adaf27f74f406ab2588cac6e6ba86549529e11b7e4748ca18a0bc76ef4b2aaa8e26ba375f3fe7176a2a6bab885fc8f63388fe50994d7206fcbcffde0679e3cd75b2b3769b39654636bdbb5eb66ddd2aefbcb54e4e5e7c8e84cd43bc6bd3bbb271f356d95dd720c7c4e25253395415de9edddb65c4b0913261f29436cf83e5e3fbdfffbe5a4100057c46586da3c45046043c22800e56d0583850fefc8ea00071dd5c7df5d56a3140d9619d40e9034458b113bb42ed19142682a5c15908b062a09c9f7bee390510c45ae0024261d22e82507129b072e7856584ef51f63c0b285eda882b086b054087cfb81e2058e33c975c7289ba39ce3df75c3d3782f22d0626584570d9205868dcb56359a17ff88d36700e8e0f280118392237f6c7150438a1afac0288686c0dd774ce39e7a8558263b936f03b20a090bc8def70d5706dec8bfb896bc2ca827b064b900bc4bde8a28bb42f002acea2c4b6dc1fb60788f01bf704c135c3f8651b000ed772d55557e93de458802dac34b4df0113b62b74dd05d2b39270ca39d4c27c17b2ae1caccb9d5dec6eaf6dd4eac194f508f570ba2e6782161e50c4fc4ec0abcef366124e94456cfa704175f8b6740b7a4d2ddd46b701af94d3c51ca7dee84c16b5585bdaaa97c62f0d8d69bdfeb04f96e9f9e8a43c1153ab4e6b5d13720aba95457c8f7b1b0a0748a859eb868a5e61ff1529788f16bd62fe2b5ef04a14bcd79eb470d1a50f2d5dfad9ad3beb259bb19573234aaddd71bfa08212d3f90ce0c19509ad85400bf1dfed318a1ea00210c8b5014cf635241569a3bcf5fafdc0dbba261bc084c5a1a5fd1964d46050daf8503bee14dfbc488f621d6273aa08b3381f529db083c89c8f07abca3cacbd9595443f720f00882ddd075c1a3b77ee92b8979491c386a83996b6d6d454eb6f6d5b393df9f52f7f2977dc79a701698dd258bbdb288e37a47e6f52ce3a7ba17ceab35f9277dedb22bfb9f6bf6dd5cf484c661e3757f6eed9a1552d274f9f2bf3e6cc9573cf3855861c36e490f603ae1a2c1edd197fc0f1e8032c0708b11ec4a41433bb06d2be604dc10a0528eba810fc4bdfe3620aa4e705b09f4ca6147c66cd4263cb9e7a193c74b8ce375e2bf36b4332add6938a784ce7e8b61698587dc98661ea88c7ec7c9eeb80fb1f4b3be0a1dc9c03ab4657cb80847c00812b8ac5323184b158445d311d9dd6ddf5ecae4b1afd1396aacab8f6930293c694b6f7b0ea32b5c6b4a89bccb9b0b20090f03a145a54a917c79f809b96f6750b797468334a91bc2578704d999c79cae25f3db57cd9ade62bd223a926962a7877afb4ffca14bdf0d1e50ade5d5dc0c2176df07ac562c2c04b18e587e2cf846cd5dc9c97ebd4cd031870030025a04065f1f3446fd860a3f029dc47302d033bdbe2e0f7cddf66d0db816fcb6287f83b9c6915d1ba1bcf83601909db46d116b9e724e6d727b10f4f5435bfc335b6805e56bf0b89487f4bd2e1fa3ef999bf9625679e6926a8264935354ad88019b24db4a26e382a19f3209d7fc1b966859c9046b39a2d2f2b97fa863a732fccc31d2f33abf86152e6afcc0fa5b44405df5521cea550b004047270723029d9175f7c71d071fd54d061287e1675790b6dceeba5b658059e888555abe3dae92cd11ae0868531e5410655252c5048675547551b9082a5a44ec14954c22de80a1763c9c23caab5e172f9efb1e8a432b9562d25586cebcd625f633e8b16a7e1b0cda4ede9aeed5160e2a011ee0ddc3965b1cea577d1f7f66685d4a7a856128330b13a004ab09e30289a923620aaa581ca6061fb5022b47f7a593b0d51b78701418021fc86ed3d0436382ba2a6b94a062971d9585bcc7b59c8fe0ec2e63a482bebad87ea504b241295c9535a77c544cdfd9a38715230d3061248209dd72725326f3a5d824e020874c63bcea6000f740045fa58d0d535a4a5b621a5d6f6c106a810a7c2df583f5ab2c464a83394b17acf2ba0a2f0da516db63e515615d2a0aab8f8ebf4026012d1caeb3d4d18d73b94f4d2c5b006877042f68666fd41e1827c30d561d938e0866072cb7a79175267dd27a47e39f35abb194312529f5e63d253345a5d11b360498f63dd515903ce22f1207d2c90400209a43f4897c3f59c5ef33c5dc017ba64f898f2933c0e2c1de2a975241f9ed009c102a360ca9303bc0cbd515cb6d78049576e1acabd3e6753b2b03610914dc7e11622000af6bd8af2a866fab46c85b0c13c9d31b3e940f00789ba674251b57cb475088e4f5b6b2ae28a7449292b37ed255677576d93fa51ab2b136abaeb6d6b497ba8bad4858046b23f1c232b4198045a3aa2af8e08e64c350f77132b2a1928a4d412607b2884780bae2f14b03605d21fad215edf3cf6c1cebf11bf7e1cd60bac232c64710d45fdf98885367a88ec4ecb8bd2b2f5c3eaa98e82a8905aeb5df247ced775a560bdef53c004651ff7896cf6d69b499f98157313417ac49ee0d6e19601002ca959cbc3a0a3ddeea67c8254533e391a8082c183db28da0ed78aa79c22618d16c7c7074f8bf8dfc1d9118b867b75105832223b98d3998ca4b27280f3329ab3bc339168e992dec16f01fbeabffccbbf682aeccf7ffe73cde42013a6a3427c4bc680dd4135d5f9efc84a29042ac57fb726a4e0c2e24a6608193ef06690624ba689f2dad4d76b460be9ae64f940f4e65627ed010de273e0ed004871ad642f91ade2d27449a92553050118714eb288006a810452dae6067fced6b4e2aca493d9762d130724f784dac97e817852ec46255506852409b398de53d7a47c2ce88c0a7f714d6c092f473391cdb5a66f3ab1d80e59eb0bf1989eaf5bd37576b17f305697816d31f107624d655c6a0d30218219e52ebed98b9b8605059b4877a48ca95bc84f6b0688b874ad7d0d29bdb1f1685cb25e7b2b714f8114373ce38f280534be4fb1579f0502904dff35f9a0ab45c866da9cce654b7a4c400c06bf089613f83a50f42d3d58ab57af562e13185149972dbed7c55c0164ea0032381efc247070c08f526cb9405caaad821c0304088623d51592340004e7756465ec43ba2d6001b0438a2ba9c67c4fbaad03278e7384733a40c46f5c2780837d003e8ead96bf49e785db836d00439c13f0c377a4ce9229c1311c7f48208194d2dc4e8c60a3f2e3e47405df124e77f33bdb14027905f6e619864fa4b5f95f3d259e0d108d95508d364d2f8e850df8b01676681c346c4009dc729a51832525db4d3a43e7917446751229dc612502cd688207faaab7d7a0e1be3778ad138ec865cc5de190657dad48c4349dcaddccee50da1c87342d1754cb8de3d0a0d94cb6e3d4f936e036a76026ac66b35c4994c6c6aa046022b2bddc27013ae05516d777696b15d2cb02ef87b326a0c0b146f0b95060fd4489932983850505dd9ec07fc1037cf3cd37eb395a2a06c8718a8f05280114c085025709e461b48963f119a2355c3c50c4c3a7c26f10bd398b4aa1758463144e9e5848e0e300704016c7ef00275c470010400c6008de0fb28cb866b675e469b8bca869134820a538b793d8e048362959523c1f552809a7a55f604e26301477398b552c0a1a2f61e680aab2b86e5bbc7f15c7f0093e3b4353d113925566d8a8eab1b84fc5105502b932bde6ee02252cc0586ce3be81f78bf78664567540d8e7f9ea6d26f5685f1dc00c286ea2abefe622b473ddaa3d6d064fdc66f92aba24a015caf75c41c06d675604a5268e8ca7b50be1c1a00fd2b95cc9c6336075c002e0ac0a28fa62d705160d584c1d336c381c3e704c153df810b39d7cf2c9ba1f246e2d494b556a71b3f03d160a88c4b064c0484a1b201ba3560f60019004d0605b1862b16a1403ae620e0edae9aa2273cd5c0f80c6d596c9f87585f88df341f58ed5c731b8025c8aaf3d90404ac96a82b4960582b5847998cd00304c496e5bcb061e550b034a9605606b4bff528da9037c28b96245b8608e966e0325b60fedf134cd5989403d9d439d9d22e716dcbdd847d1be3c880fa52bc4820e33400c52a5b64d6559483f8b5ffb26a6bc27a192b07c74d764d0f200ce29bdf2e07867a2737a5650c2975e7a695ee1c2aa5a0ca20aad1d2d05c5c6cc0a05ee9496a43550d29a00029c9583f812001381b9ce9203a880691530c18480050300e2aaf8b625ae781f60038b4e58b3c472ea1a02e060bd01a800aa20c0830e1e80c2ef48b10b2b9040fad29cc4230e099b2a712cd105fc1c9a95097baaf93d998af87c535e1fbc76afdd1081ae821fe2590078c4ae6049327048ffd69226ca2fd6bb7d100d1e81b6ec25b61603a6415c3a8e75cf11ba79fdbd037c77962d92182e6906b8c2a0d483c9ac29a675ef52b7f911f6ae2d4c34584d1098481d9870bf63452926636b4bd8bf900cce013280484b59409dc94e0a2490525f8c867dca069212dcf3e61558b0a175f0faffecdc6581a19662aa003d57aa45e34b42bd6f510a80493bb09d9b84c910cb0159355a202f1ed15a069ee7f5f7cbd7343652d4a2b9a6e051ef025029061185ee9420103590403abe58a4086c3e85c72f4762abf13a4e5407548219ab55804786abd163bcc8ba2466526374c21dab5777a825703677403933d8892d21da3ba6abf1d0801af4c1031e48208194d29cec88bf50a3d4a7514b4ac16f8174ac1f5934b1f874bacdf65fefb7ad67ab0b8badfed7acf04b4f01e783a9bcfddb8d80cc2361cfe6c1071248208104d2bb73b614709a1cac5e0a85a468ca3f28dd962b5150e4c046b8858b44d7297b3ac1b0f1d2697b8f02138295f6a62cb14b3c129252aa5cc7e08613859460585af76b975f3dd232cff66ca3356deb604f19927e5b8327904002e95b120e854a8ea4d1568ccf2a6966579ba6f4118205a274826eb12b91a8c1f551dd3e5c5c0150ebcfe534c3b5943445afc49894c5a91be39594d2ccf939e4063f2a802a7e80409b94c87681563df5d050e8cf1659924e3d381a1f62da4cc1c1203824904002e96d2196a1324bd6476958cc6d75f79c3498c528b4085de535e11870ab28157989ccb9aa074cbbc8c24197847c30d20c5c440bd3c663e192d2c73d0a4cf06555c74532e6e665b2996e1d60797ce875ed26a2c84307824a0b5e7ad05467a98773d2681e9a582c7c40e1a650a8b9d475cef35aa0660e49d24c0400adf2b2e66ac82564a40a2490400688847ceb2dc45ea4a3ba59a837e723ce9df203672169cb75a1609dbb0ecff3ba0d7469765fc1710f5eafd9ba6dc491782db5db9392a3bde85160c2a567a57b3bc1063f65244dfd1a032aba4a335c3aa8d1d2e187232145bbc5a0847626959259b4b641718a97f5275a3a637144707ef5c883a9ac5caa020f082cabed918675e67a5bdab6a3e4729d25a1eb8fedeaccb90e55bbbad25741bb5a3f972ab968b4d3e9f51cbd2c1ece1f23e44f642cbe22bebbba37a6247789b8614a4939d32e78451a9369051558f3bb663939b4dc287d1a9874f546612128b45a68c0910f4c10825331a565fb8949a0d952b33f0a27f8165e153a053e0c400a243959afa0ba53ae3930cc568f141de4a48561b6c37cd7d6a4e5625b0038bc42590924904002e982726c9ed4003df067106f88ab01faf8b60250ed3c166ae5fbbedd2f2e28b5101831ff36a5d2aad31cb028b69af767e9716012ce2bbdceac122c7a6c30370a3320f5143cdf8d17d1a24d11b50c5003213700ee1c0647253e73a5b20d30237037d2cac0b5e5b4d3da5f146caa6b4c492c96956838d2ea4a097f24af58ccd3edab635e49e6224150d611c6d4400209a484ac0146e132bfe04281e48ba27554d3f5722dcf47585692a9f4017a83bf32191bb7d299f36b264ec18c167255877b7ae5e989bab7108d4fc92f46452ae2965e9fef016f032991a167b3724cc7d6a6c428ba649ef9b2a303095fa0ba82726955ae0e55d6375ad40d31291587f1a331c0b3fdfd2612842b968239d99495b8e9030a53658bcc455ec14300e28efa00a6b5a58906dc66b3ba9a01f0857df0132448071248205d5f54352fae702947cd1c13f1ab9bb73627b1782240351cf27c12b516147c27b080c6ba189013124b7468ad13194d32e8c9e27576c1dd4c04c7b96df0accd5c05b0d09a46bf6dae36d040b09af42c8f89e954dc8c0cc64ee0129b0943cc85f288103a1df287b6253ecb64addb21a691d561e96f9824142a80d7050f58855fa82ae3573f6e2e2a18caef17294ed12b18d52d156a02e0a59b285618919aca84d60ba2ca6724970d8266030924902e180842adce47ae8e68a8a5f9c877675009f7808554d826097474ce4797e0d2069ce0ceb605013dad93158f760ee474477f84c39e52c18b5897b9e79b4b0029c496603189e6596d078ef478560e6cc2046be6729d83b958424097bada37ffd735a434d0d5a2c8b49a05abfc52c37beb9a74946359e98cf9ab20b9a7088df70ed3abab02e950350f1403b4a2ccdeb69c4f8c83650353df3ed3270894f9d4b6d19a113cd8d9661498d5e0353bc833d903d1612ee369f564c05f32959548d4a77c0e4c2681041248574c2521ebae20decd4dcb19f301d73cf38dab1abc9ff8b16dc4c5a50f98afccbc9cf16c6c6134dac166d8783d625a1206895090d5d53ed379b187a779744eda9f8f5958533035ad2eae84eabcbd8d29d597b4152b0f1e02dc5f9d8d3709b5646af157a6a56881e9f1ac9c9cd8209f4ec582f89b82201d4060309389e39515060c61f6caaadbc781944e0d10b39f12ed142861943f8316eb444fa60b17a6783536a5cd4369cf9bcd6525918becbfeaf04972b028f1795f635607793e582c655d3ee2d9c25721dffa94f36b4d14f7b5037ff87da3e6a1a84fa6241af702774e20810472d0c2dc4a3c5c2a94d5b91a23008b2d17139b4cb73c1f296dbad9a121933ec0e280b504b083e5bca33a25e417272d5cb47a5e2f65e5b8f9d6d78b960c2d63c1563c926faf2e4cd59d25ba38ed6c5b1b7c2b51314b6e85728a85f4b7014fb0d61565edde2b1371a997b4d4d62715f1915abbb721a5be42622db01a643b652db1d515436a7188e66f222e276e2a8a3c6e1e0090bbf8f4be871aa838f21bcf7f88f0350256a23e5a76f11f5e2ea7ed8a676c9e7ab9693fed4b67ac999280e1069d0042a6dfa25a5b826bb169c3fb9f33acf13c59edbb8a4444c211b3bd0179512f15b872020924908316051066a1556e9461da278eac3273b58beda88a450e70c9e4a91188a123c2b57045a64498213f5bb3efce4e854d677ee73a99af61a445ef347a194d40008ad5549675aa72b24b1ce155519089897ee01cb50d49d57709ac36a170de32dedbfd19edbb37d3537e0fdc0d19730363d000e76c854450e7c104bf86d4af67b37cb23e30f1f4a1b0035fa9f46356f9435d9f309fb1a6b477135d28c7c14455375b88c26ac2b3d94816a83800e12c1f95be95c88116063641c6d5e511350302b20023998c0d18d6b814399083c292204514c96b80581fb295ecdbb74f5e79e515696a6a92534f3d35d0068104520ae2affa9bccbc535d0e99995950a5fd0c4d4f94fe20d7424560cd104ce7745263c1e515133a7551897a525ac1a46a352144c1ccd32cb2d165342f6e1697e589e84117d973d9abaeaff81bfde1191d914a5b0b163c339cd32d6eb58b896f11e9710dd077818958d0800255aaf8fc8d952e65e438163cf7005842321b9864c18a419a64027143330019ac2c5e3b834d34dea32c11d1867b07d5ae66829cb05f0d72775d523f0fa94e081426850f684e6c5d9f06f350137b924a598b8f023ab34a6932e0033368f188f37c6a7e2c4ec4b644fb18a3fd5ffff55fcbf2e52b65c7ce1d3263c64cb9f6daff91b9736675787f83736573bd08197ca32a0dd88b131b55007c6c188f3218170aeeeff5b52215665137bab263e76a34e728efb34f602081744e887b6362aa6b4ceb0ade2dd81c7918d68150f8c0c9534b6bc4637eba43f75828d4d2429622d6e748a8b926591bfbf4941b3fa79c25a2f374a8502f7531aba350afe57caf598c989f5c2e6f616f54b6f0905aa894a63f949588b93f3d9de5dae7a7c59c7768eb12b8da3839df526151a4685096465517171f68a993c3f646b37f6bb9fa9d05291c474da0d467c06d559c26ec790a5e72665035a52df22e8b355b822acadb4efcefab39f3b367cf959b6fbe593fbff8c23372fcdcd9f29ffff91ff2d5affe5387f6ffca63069c98c973e6509123cd6bc546914f1e2332bec63eccf7be2d72f4309149834576348a1c5e6df7fbf60a91b7f7888c337fcf1929f29119a2a9f13506c0d4a74541259f013e5b1a2c28b97695c80f4e15d966fe1e51d10cb895cdd8fc5ed6c6d309e3eddab56ba5bebe5e66cd9a65269803ef275623b6abac3c10296532b025a7a5bcbcbc24ef236de7d94b24128146ef0fe2d9d53781fba98ca77c56d602e0e54b81b437e775072e08f9eeef86a6940db6f50f5ad7946a73118cb5813934d76331868716081592773aa01209bb20d9e6828baef2724f9b4c82f55a31920efb4c7cfebdc01aa2d96a596771b0662e5c22909ad96ac3a13601928d47f1f2696fdd612de278a4f35a25e5b57a3d3cfce589e87e60c32bd1f2dcdd219ffed43552def413a98abe2f55e346ca5f6edd2aff73ed2df2777ff745a3a0db57c23b9b2c096085e9b261e5d612f2bda7453e3b4b64f576fbc29a72ddcb76807ce658912943ac9565c978f39b011e37bf26f2a60129efee15b9e2480b6e7699e35e3059e4c1f5f6fe4d36fb1c5626f2f80691ff33dbcf1c668f7bf4f066ebcbdfcd2e048ab9fd68f777efdeadef0d0d0df2e28b2fca09279c201b366c90f7df7f5fc1068064d0a0414ad78f9287427ce4c891fa1ba474f7df7fbf545555c971c71d27dbb66d93f1e3c7ebfe4c44d3a74f57daf14d9b36c91b6fbc2173e6ccd1733df7dc733265ca14050b6bd6acd17d870f1fbe5f1bddc4efe4bdf7de5300c57e63c68c51371b8478a3468d92b7de7a4b264e9c28bb76edd263565757ebefb4f3edb7dfd66b38f7dc738389a9dfccaf3683b03c61abe515325af7d442481775c4d92545a91642bebb3a57484bdbc28c8bab89d081c2048cbea4d790881f17e974121f0985d0ac4e3f3db9c2af328c27c23ecb61a98cd98cda0098f49270e3ea35e8c82269cb5068a9802bcb139632d9bfcb2e3e030b84cd9ac935e7a1b730323445ad2cd66d83da2ba87fe3f543cbc7c14a5d7d937cfc6f7f2f35835f317f3d263ffcfe5d3272d478a3903bb6f2c6150320195d65dd35c32b44aaccfbbf3f25b2789cb57a6cacb3a0e25d031eb6d45b6032ccfcfd3fab44168e15f9b785223f7a5ee4f3469f3ff19ec81bbbadc5e5e51dd63db4619f012a8dd68df3f3170c48192cb2c91c738c39e793ef8b6c6f10f9c431cd6ddab3678fbcfaeaab0a049cf563d8b061aae089a9993469927ef7e69b6fe6c1cad0a143e5f5d75f575072c41147286858ba74a92c59b244bf03786065e1b8585d76ecd8a11614c00f200590505757279b376f96e5cb972ba8005c3cfbecb30a688e3aea2859bd7ab59c7cf2c979abc64b2fbda46068f2e4c9f9b6d306dac7f1f7eeddab931d8004e0c1b60029dacdf5709d0016da914aa514b404d2bf040010ca79bda6dc5d22a275935832495c1955b1b8e45a9949d10b7beb921ab0eb623efa945e336dce9855cf9ebaa6fd2a28a3dbe8074db50ed9b84538c69c05259d86d8cdac92a2559ad6dd93120e1e956605aef12ad1681e3d93c5a2bc218998a5c12f7ec0c40666014a484f067810515dfce2fb9acab85a58ba73547b5e5029b858d28dcfcafb6f3d203bf79d23af3c355c9e7e3923577fe223ed16f97302d0a84d5a37cc9b0650bcbd57e47ca3671f330063b0011f232b6c9c0960e499cd22cbdeb7fb6121f9f07491ff5e2272ec0891c6b4c8f4c3ec76800e40c8ec9122e30c40796397c85d6f5ab70e2ea1b5e63cc3cb2d90d99bb4d69293c634b709c53f76ecd8fddc35584c6ebdf5569de0870c19624195012a6c0788005c0038b03a004cb042b02d8060fdfaf5525353a3ee1c000b5694c30e3b4c4101d613c08ef6c5962d6a6901c8388b0d7f6b807463a3fe5d681d617fd716276565650a32b0d2d4d6d6ea8b63017a8e3cf2480527b403b003e8a2ad83070fb6418fa95430a003e97e7022cd45fb98bb7189bbf4e1965e58a4fb6a4d1e970851917795f97e00cfc6f668906ba8d972e5f97128683b0261b1a654279a539a038b492f0dd8aa16622f726d041e850ad9dd5b590538a234f1cb6a037242bd44dad69fa52999921d6b9f94b2c63b2599795136ad5f2be386194051d3f13885af9d20f2dc16911d0dd692417cc951e618375d2072cc7091ba94052d584dbe6ab63dc35fd47fe97891317e28079eb52fccb503eac229f66f6eb5eebfd1ba7770dd405330b64ae4b637ec3bee9e7506a49c3369ff36011c264c9850b40a8ac831c71ca340010002d0c0520178615c01084e3ae9a43c60e16fb29470cff037560c2c2b6c8fa502300328993b77ae5a2f10ce0948c0fa82bbe591471e9169d3a6c9d4a953d53d436c4b6195598e512c808e75ebd6a9ab09d082b50490c47eb4034084bb0960429b680fa08476007e0209e4508a659c0d1d30a717ba75b48869a8ef2e029d0bcd5af99bafcc01b4d67ac66bc6313d7f5fbcfd28caf3772854f40afbaf48c17bb4e815f35ff18257a2e0bd76c1c98b2f7d74d9139fdd534bea6aff2857ebaa641251de9145b9e7e7a75594c5d5c456eae00493ffce9dbb24ee2565e4b021924a67b4cd3535d5fa5b2909abf0358fff56f6edda27f5e92a1956fe7fd2181d29e367ff4c664c1d5bf26369fd5eebcaf9ab99a5b73adbba75ab19073b65dcb8710a823ab31f40249081273c8fc9a4b596650d40ddb2a75e060f1deef327f5febca735722033cbe6a4ba2c6eb3617c4e1465c50e352b40328908d055d6f201b0a0b4bc5e39252b1d34b852ce5fb2f8574faf5876abf989873f294adb997f77afb4ffca14bd50f6b982f79c8f8b0a5f8c092fb09874231aadd2d8918e216a4c6290c2919655edf39204d23dc2aafbe8d33e270ffce947926e784922e5ebe4a4859f90eab163fb44fb270eb2af5214c0c5c1008c009404d2979431449dd041889f91223e971516877874608092662b4b58093e6b02574e1f4596065dbb424ced6f6fcd67ca201b48b7cbfb1b764a45f4691937bd4e864df9b9bcfcee10191fde2e63470f0f3a27904006f03c1d6ac16252f8bba5c8cfea244d4c60a1fbbeafb3cb1e2c385192b74ccf03b200987469b0db144952c9f043b60b2afd345dd28e21301b6819338752e08adbb5a7499aea37cb89a7ffab541f364dde7d5f64c8d08d924eee93baba72b5a804d2f726478260033e9340bab478cc64fd8485fd8189cbd2813d3c93b6940ecccf07cc2f030c9490464db629f171955ecfb3e306c0a42b374f2ced3b378d6a906ddd3d47d496cfdb2f81810eb0d287b38d6dc23eeb6d2857daf7a27edf3679ebd50765ca8c3364e8b09182012b11592fe3a74f52c54660674780c9bdf7de2b3366ccc8a7e0c2e3818f9cb4595263f55cf5f59a064b8066a1dc77df7d327bf66ccd4e211b86fdfa9a2c5bb64cb949e883de1652891f7cf0414d1f5eb46891cc9c39339874fab9843be132f03a50784ead204d19a55d2fccacd424049f7327ecbb709a92d93c11e5405f3486481736932834193531f1f9ba0260d23756e97eb4333770afe688875a59f559544eda704bd5a77b0b9428070becb16d7895227e11c3ca48695717b6992653a4bac60fd2f0323276ece1fa910c9011234674e838afbdf69a2a66c7bdf1ddef7e57162e5ca8992b108cc1adc1df64b4f0f7f3cf3faf8af3ca2baf549e0eb71da065f4e8d1f2f0c30fe7b367de79e71dcd3a01c0c003327ffe7ccd6e59b060813cfef8e3aa78692720e8a1871e526b1c606afbf6ed9a090330828b8434de8b2eba4801d75ffef2173df6c5175fac0469000bbee7efc30f3fbcd5ebdcb871a3bcfbeebb7adc279e7842ce3bef3c6d0be9c477dd7597ee7bd96597690a2f7f93d503d919d7b66ad52a4d15befcf2cb356b07c04dfb215de3bae81ff6219b68debc79f2f4d34f6bcaf119679ca199397c861b85ebbfe79e7bf4dcec4b9f43b00629db59679da569cba79d769af29c00500260d2ff853a5dc086501bd1df6efe64ee0db7932dc3b67095949745b5de4c61d02dc0a411ce9c8ca73c261c2f2403cf65d362bf8968f1576221f7a66c21c01e05a8c1a3d055051f92cab2b8e684db00a9035f5aadd80cf606f3d0854a24dd8267af41571219f523b6f5a2d853a9e7ca456255327ccc7ca3a4cb2ce28e46f7b35814a6b5b625108bb96de1d8407992228b924581627979e1851754f9a3a4e10b4189432e86a5e43bdff98e9e9bcf089909285b40c033cf3ca3fb5c7ae9a5ca4372c30d37a8550081e80c6083b02de083745fce459a2f7fdf71c71d7a1e52706fbae9260547f096700c0012c7005401361e7becb176af93f3c01afbd4534f69bb0002000d527b8f3df658050f8028dac5353cfae8a36a29e237f65fb162c57ed640d28501466c433b0112000ace0328bbedb6db747bdc32b499fd3907db722d2b57ae5410c3b1aebbee3ae5392178162074fef9e707934d3fb794b8f906774a9bf391594c25cdbbd675e9c07cea62491c47877b65bd9c9e8b8ccaff9fbd33f991e5e8aa7844d6d4c3f3203ef89040fc0716b2c092579665765eb140fc5b5eb3f1caf2ce2c90bc4742163b1048de8104fa568ce6b3dfd0ddd59599e42f86eea8e8c8aca1ab6be83ee7bd5255d7905365459c3cf7de73212ff16253f0c76ad6cd5b17b3a9b335a8f63c6f8998ece00b047484ecbbcd2028b0f52391079d0573705f8434bdea8855df8d4ea0e7c1a6f825a076a1b9f09d4e264ec160b246fd60c2c7d3832b7e8007078a00a66090a0482cdaf6fe8a8f2b7e5408bc3c9868593eca009f411961828f9f89448af77cf4d147ce1a1e12c0e7501a5012502e08b3e031c284cff36c1b9f653b3ff9e413e767b2ca508e925f3e8b4ac236a29a402450485827eb46b18188e16b82eb2c448dcf7cfae9a7ae6c98d701a66984b72068bc8eff0836f6ec27fbc8baf87cf43989b6f7101154941f7ef8c11d0f080bfbc16b69280dc509d759e1590fa44ec125944225088695c531c919598e5d1e48136cedb79af8ac570120253440bd9e1fcf45e331cd6dd8d4d37bd68a989cee97d8778b5d1d9fe2bb8d5d327df2adbd33035a8b9d58df9810f2c40958ba4dba89c259edbfa02b89745f211b4c9c297189048289992bfdd88f8649fdabafbe72240405222a13101c26e8cf3fffdc3df7f5d75f3b3b774225845fbefdf65bf77ab49be73b6579dc58360a09eb2194033122c40439c123049584ed8140c4f773cffb505b503a2000a818519d888068609c0621613ff90c0a0fc4827b4810eb64dd6c13e481e5f3378a51243fbc1fe585cff01adb1511f3720877a5e4829018aa113939ac1b5242180812c4beb0aeb86c1911be0cb86202d3fa3e6455793ca24b3be7fb50679bb5c66a6383e9d8d839729fb9308fbe83d2b13a447aa10cd6cc7d27c540dc772ee7b17c64479a46bdba98ee2cb1aab23ef9f6d6b5108f8d73ac2b45ae064c8c9c136deb1b5351abee5a8af7bc9749f53ffeebbfcda4b9317ff4fbbf3237476cb0b60b9023c284cc0d307133d112b2813810eef064b072842136cce306518188a01e3049138660d2fde69b6f5c78841b9f89ea044a074eac282a511561b94cc6d1a61d3502c581ede2754222e487c4091fd284aa837ac3f7c136462583cff0fd410aa2b53c7f4767579e673b515ae2f2d95ef63d5ac2b30df4c78138a0a4f03afb1809434c28263403c94249615dd1621ec4f0136a4e0a0cdb2043ac9bf7b3fdd8e5b31cc258dedcef7f1d192ab9ca0ac78d4d0cd65030de74e31163efe56c3a983bc2f3281c8ca334d65b45763047c3f5940b30fff7dcb512c1e51bc5b80d76f4cf8d97c4e28678ccda2df6b1aa46e6c3f727e6cf3efbfcaffefe87bfdb9bc1da8b2626b1ad3331cb45ed8f0facdc7511dee1895a397758df97e4bdcbd9ddc4d1a368aead94407462a9b2ef2b6edd0f8c2fe8d5f9ccf4ed8188c9fe80053be1882fbffc5207431031390262723dafcddb8e9c4415866530563e27c5843981d018735b0c2d730c5ca7fb0d2e8c0f454c5eeccc62436bded76fe74ecde09820e9b5aded26eada25b4b666775df270ce23fbfb362492b63def59d7c8c7d7de37ae8fcfc5647ca76b3a0565d1b8658c425827b6178fca90fc53f607f23dd26ebb82f092e1c7247b67ff5e59df8b6c5fd9f58c7d78482deab1eb06c318fa4b47523eb898ba8bb5e7424ae61df97a7d75ebe603c8171548d7c16d9cbf8f7d0e78c1c4c433e95fdecd5dcf1a6ce52f02fb7efdf6c697c8767fefe2647565c593aa63b055c7d46f7debe9e28fc6b82e90a818eb9c379174703f76a56ebef6dc9190eee4e4470763a6c70349651030eaf55d474971134110f638de82b7570b371ecdbaf190b1e95d37814214f6e993c14528e3eceb6eec67bc7456f4dd58393a81097b2529615fba0bd39fbb396c5efbb19e9015f934cc696fba7dfee0f2f8cd0ac7cff787103a423ab7bf87dd2317a1ddf5acfb5170925e867e374ce8e3c9c8855edc04beb31f03a463629a69dbcb7229dfbdbea1d5f46ced2b089bfcd8f21f1ffbe0c8c9c2b366a7b0848b93b3a9c2308220ec6f3c666c33337f71743df74de262d9ee0717b3bdf92445f59809fb6a6edd05212485103e17a7c74e4eaa10e72a2500fb50d5c23dbeece69bf72e26dd456be52a8f98cf981378fdfcc8f773fc5c7f047577b6e1f8173b44e6afb7dd93b3f1d84c263e03dc4dec2e4703c2d298ba6e9d5a4216f8ae9261734be4a56d6a8d230f6cf74ed666bd6cca8f8e2b015c0f9bd69fd0a34ac5587da0ca05bf0e0ccafe7083e67f247792b85aede0d8b22c4cd548321d72abe57ddbe4f9906c4a222c5e2b6969b3203c291908a16ac625c6d5b6fba92cbac97164f73f1eb95052b70da807bfbc9dbb103e632ffe28b911dbb1294f58c5dfd6ad37c64c3693874e79eafe73a13deee63697cfd3f863ffb69b0f99db080c1cfb2ffe59ce501cf477d7be43a42f075bf61521545219afa89c4f47e6e7abb9f99f5faebd9158f7fcab333e63cd0e534c964e9ededb163f86f8912a582ba7c7202a41aef6bf63cf3cbe3c1bbb242819093d042666df7df79dab00c1c08c6a9075f1faf51b57e592138788d41f65153062a3fa86525f2a7000d539713954aa005c6aa9e889c8d75f02152f1896519e8cdb2a1533d17f856aa2b81eaa6e581e374a8005e171c4a475e30ee30fe391f32ab998babf19a77c09effeb709d5e0bc5b3f13f7eda275933704e518b93ae3fbcdbc764a3fe1afd2bcc6c52dc3cc6ceacb9ffff3b7efccdb9b5b5728c16738dea730f23f3bc5c49afb725f4ef8f1e8e124cc49371ab51d53bee94ec691eb8df0537742fef6f58df9bd0fcfdd7bf8a247a3eaa83d14d8b4d8ffe1fa76e15970a834724a89f5fbd138b9345cb1984abe103da04c96d25c26620801c424368fe3b9efbfffde95b77ef1c5170f94112a0f6cf61ccea6940c53d984191a3e26a93a01718128a05c50769c120cca7f2955a6b2211ab4a1e0f84a871bf718b584cfb38d7c86f25e5c6a232845663ba30badfbc18ffd2440492f36fe7c1e7242992fa487ed8498415c788efd86087dfcf1c7ce55162587f262f6491036bd288b953175a84c9c86f1e9103c80df22937c1baa7b082dc50284a31c22431b11e7bbd2cd6d75dd3e98fb68bec73e5dcd6f5d0107cffd5f37afd957c68575880291ef78eca934cf5ad36f1273b325c3334a6abb6f08d64ef22b07e1acfbb2619cc44129a3251e670ff043b1d6aecdd6fd24e733dc6f9c9573ed7c4c7caf89509795fcc2dad688940c800917c7553c392029912c30e963b58ea919240045a3c88833b02c540fccd6789c9319be0b48465d2f97cef3378a45543120181011fc54788d5e3498ac4112705be5754a92f3d01344255751d8068cce58ef8f3ffee83c4df05021840559e118f098e5e2430229e13d98a101fad644554510b61993d321e850ca6dec0c7f1daced5122504eb8183dea0bef50461d9dbb73234ff6893c19480bc9aee7535f4cc17cf7d3eb6b17da41b93af679e0c56640f2c592f8ca17cda4eef230a864e99ec786dd9554edf9cba3f5f66dc7769bee07b2aad95facf489a4c4b9b3ba49ad712e86c7d22cf094c0a4cfa4cb3d7d71a22a0001c4869d491bc4497af9b3cd831f3baa07cb61b048159108965feae2cb7aa2232a0a06466c8499704bc5961e275754101417eed91eb6391a9a45f0fe07e758f71996815ac272b9876cb14e5412f6014758f25bd87e1415c84d243dd8c3e7eb11849384f51de25d10e9ce56e1b4074d9f2a695d5930c4847d22228009e7743c76e4eb142a8f5e7469065f506cb4d78418e728c815fb2425ae4aa8f10da5001d362fcf272b7f24bc0c238ed5436996f626db1f3d5dfa559c97713e108e21e91557d5b41b31e18f484a000ea939cecfce5cd830470c056d02facc448212d70b0141ed8038e18b42c80944ebfaf899558060b0fda829e93e7df6d96777ea0d242a869ce805c47b2319194ac615845d8d87c363ce6603520c15b98bb7c4db72da5d7ccec78d59dc342eec5f3f137fa7d8fe845c1ec2544d38629b9aab89981c929c84093c5adc1e425a8ce56b5e466c82d1db66db7fb7ac4dd7dd78a52626fa56362e37c62c1be78a3bde7c3c38d141d12e9192757176f6b4de009118a0a42cfd803bd204292929327d4025e1b60e8942d5513e89b0cfb1d0798a3089b681a484e7dbbb31ba595bd9e0f78c871365b2cee3297b9db1edfcecf9f5c949c3f6b178e7943c5a4e8a98c4e49ef609fa1ab407d88f74a58ee1066be4987c759728f9146ead810c4da7a3bb65b33adc695d982898bc118670e57db65268e8187fc01d31516b00e1594ca690e3c928d83d84f04add3af2c0c55a3a4ea37293e4b9f2c2cd55dd4cba31ac7684a64aaeae186bcf46a3bb90f821513da1527f8ac3f6c98c6851867275e654cc845e00a778454e46faf5d5e24e9dc8698bef7d999c54adaf30b26bdad5af73a2c6e3494e4b8552d3faeb1167c216da8fa7c9c26dd51ab95d0882f054e32289fb8c47a399bd33c67463d4a2be6baf11dfeb7bc0044faa95216f5faa6cec6879960e11ec439292182a677f78ec2f08db177f117832c404b3347c46c8c5b8e9d82f2e7dee64eb3d198ff507e84f427e6ce5908d574c9ad054cabafafada3d0ff3df5552abf370e9c80ed9e8a6ad3de9687d28a71ad9e0e9c258d1b8f5371363c44c0441780a34c126feca3993d64b39268c938ba4f1691cff78ffba7a40d3164ca90e3c473882d58dadf4b589fb47d1456c3858225cad7919dd448e9e983049d38888ba6c6cd42fc66397248a811aaf9dcd464b13754ce31c8712a92ab8bca6ecb93d821312ff11affc54775d80b9425834b5cbfb68cdbd4f49d58eccd5edc2291be7d3ddb812b2884948fc6d1f6836f7273f61829bf3999934d70ae50882f024f0ceb0c6bcba983c18674aa9f9b1ddc8298f49ecd78deb926c9c3d3efb422fb5a8f0b4996d3973d9b8f20ede2ef4532d3396e7649a393e856f8f582293286c12e50473998b337fb56f83e9cc43428332d198b96996be3cd8f73118a7b5adb7141e27dbe264c9eedfbcf60a09bb550592c209699f601b4a47a1cdded31cc09551108497474efa5482d27b4f19d65d70fb2ef0f88eccbb8b6dc677080aeeb3f44d43b96e9a5853931c8dd63aafadf46050b147aecc73e126e3d33861efe38b7598245db8a36d1c29a913992f65976d7bdf77c667737764e5ba76655455b59f937ba91237ebdbe37f88e98f31c44b6dd44fe2029a25d547100441386db5a40d797d3197261a6cfa8b522781b8c45f6bdb2542c3e56b5a0ce19417e759e2ad239e837272fcc4844eb81d137cdd3144540348052cf2cdd5adf3fa70a18d02adc6cd8f7e017ce6ae9f4cf7f8e737be278effdcd37e8131d175a9d1d2285723ee4bdf5c6649a8b9b721cfc4a624451004413879f8cac791cba7214d815e66e08debf166dddc76571f1de60f6737dfcd6bcc119733ef5112e73572736e6e17cfa66bfcd1ef055f82cbc7e8c8496ce7cc340de998843e38a51c9379f725d169b1b1491251b33fc330d6f3ce7581f4e5b6b1499feb15e1125c2ba7f6dcd6b70fb87415aa6fa2a2628cb2b40541108e0595bd97bfb7cf752197a47217d16faee7413b318e5cdc29e9c972abee31f9955cccce5265a4b99f739e0bf64d4cdaed3e40c7dfa9594c1ad7cbe6cc35e7ab064f88437e49cec9b523249092f7ce272177e4fe84866059d3865237df6caf0ede2c51b6f3bd10a2e199141341108463212537a1b292311c22e15c65376427081e54974e275423ddba659dc74ecb6ddb3bb71c6836d8eba571b5838d1d2ac26ab3dbd660a2a682851e00a3e0c171bc2a823f49d94ed49e78a02b13ad96a336179eeb6ef8865cce26ee3e5ae593e01bd59317e30b2f0882708c8404a3c96e7c86905ccf6f83fa6dccdbebf9d6c5145119210136f6b139e686f63df379bb062f7852c5a4ed59f9aa0d75dce2fce2c2995ea30ed8adbec4d6d48fd8dd434cedf1244b9370e373a320078626c177f925556821190d845051d415581004e140979ad6f730ab83e11b17c8fccd05a409de54678f6890f75867efa7ba6e657f99b3bbb9fbcc18d3ec98133c9a98e42b5cc5a64aec6af26ffffa2fbff9e9edb5f9830fcf9efe4cea59c7af3f981dfe2c7f7fb6d470efd8f13baf7e6d62ceaefaca0a82b00e68f898f67c7cef777f65a627bc3f473166bfbffff98b39bb9bbbff9d39bc4735591515693755526c7a256eef13336ce146d46114eec7c9e349f89bfb69729fde66e13df51f7ffc275ffce55ffcf99ffefc6e4192488c7054c93a6278a9cab665692f874aa278735db7ae0edc9ab4f993cffdf0fd18ccd345cdacaf3fa7d48ba4ddd27aa85b8fa642a16aec3e013bfd3b790fdb4cc2ef3ed513eae3df5d5d99515b9b571d69a6ca88d5cf6653f79a2008420974a5a65bb5a5cf169594d77373767119ece74f47018ed530a412904f42f50b49a838cf2eba4905b564361ded643e19f28c4249af6b6f814148296d40cb7c42eac074bcd6fc90128426b96fe2f4ea6ed6361f5c8c9beffefa6ffee19fffe91fff36ccf954a0dcb0caec769bdc2fc23dcba9c3dff1715320377eda4b367c889898842ce4c46494dc26e13e9292789b15080ae4e42a2c3b7def28bc166f3659574e900441100441d85cf4496f912cb4813cc45b1d8845bc81f3f05a4e486eb2f7ce93cfd7c92d27264da6a42c1193c7e498f4c934a59d6fc346b1becb8c884c12b21395189bdc8b9408822008c2eec9499ddc2f12f2709b119594c43403f3fd2a9eb016aa2d088831c3b9244df27c5320276da6c8a4f76df6b720088220084f83beb937bd6f0ba424553c1a339c7bb22eafb8c3788b1d185a68baa1cbf1aae5c775585e7c9c63941018292682200882f078f48573eac2e3267bdc379f0f71819c43aca59c8cd7dc115b604039136a4c398493ee6095fc9d92929c7434e63ed744c44410044110764f4c1619412991932192529af37372b271e9f0b887e5d8018292939326108ebefc92a6a094e464235dee285b7f256222088220083b232651e948734c9a8c98e4b77c3e5f95573a24660caa2b9bf898d815ccab4444724252159e4b09480ce154c93a6b111341100441d81931318539bb2e1093f4f5450f4119222a2b49c83a8ac93a3bd46749dbf6ec6895dc2f0a1b982a25f1be292825222682200882f03862624cb96a3627258be47e51202f7da4641dceb0336232b4737d493143611c53384079d26bafc99a20088220085b2b2629a1a87bc8c9aa704e2929769df0cda388495f08272714d580626213d5a4ef00c5f04dfc9c350fcdd50441100441d80d3929292679d826554c6ad31fd2292d736b5f9375ab72a26a9127c0a6ccab32fd55388b150727babc56222682200882b05762920b0aa5904e6a2f5faad2c97dcc4ae464ad90ce7803b5242525b9626233b523655d7d7922f941c9fbe628942308822008bb2725a6402872c5242f1dee2328a5b04e1f29594b35d9d6923ecd07c9ed6d4da674e4219c5146469a4c3129f5c7494989088a200882206c3e771bb3baa2b664b296ab272565a594e8da980d135f372126b9bf4969a76ca2a8e4c9aea50392866eea1eb524fd7cb58a650982200882f00036210ac694f34186ec3e8692614b053043553a3b2126b9f36bdcc9a6b0e3b9b251676425ddf8e85b6257a825a5650b82200882b0b97232d4e72e251779697029bf64a85aa7e921245be798a4f924ebe499a4aa494a4ae27b4666d93c2d12933a21232939314689af82200882f0940425ef6fd7970c5b0af3aceb065b222383e5c4db8472d20535d9f3e9dfa50da8326262036131194129292682200882203c9e9494848592557d5f6867c8646dc8d364e7ceafb96a92fe5d926cf28da94c3964539be18457a92682200882b05bb5c498e144d875724fd2fb52233f63b6c80bdd24c724cf2fa90aca49651eb641ee2b07ee5348f264d75248491004411084ed8485369bbbdb0105a5947fd2d76db864b6d6275a6c454cf2a457dbb363257292ef5cfe9c1d50494a4a89488920088220ec869caca39c94aa765a53ce2519aac8e94b7cdda98f891d58606ab0d69a879d82d33e38cd0a6262444c04411004e1c9888959414c86484ad3f3da3ac9af5b2b26434a491eda49579ae68c988c8cb489aa922b23258544c66a82200882b05b525222287d84a2498487a1704f5fa2eb2ae5646362b20e9a0269687a8847a90cd916de637a488accd5044110046173d801b2600788c93a0a4a9fa9da56d8c660ada49a0c7d06f479930c9505db9e032b08822008c26658d5e5b744464a7fe70a8a31c36eaf7deb791431192227ab948c26fb4c5fb8467925822008827018b2d2671dbf2acc334466cc36a4641362d2474e4a4465d5fb8648898889200882201c8e980c911363b6cf25593bc4337ee40e0d857856a92c6683c7222a82200882b01b22b28a38ac7abc9390cdae8849a9cbb031c3d53aa584d776601946844410044110f6465036212eed06af6f4550c68fd8a9a1e67e7d24a3f4baedd978fb58d62508822008c2a308ca2aa2b1c97b9f9498f4919312295955e62b422208822008c74750fa5e6bb778cf5e8889291010b32129195aa6423882200882701842b2ea3d3b2523bb2426ab0885d41041100441385d62b2ce7b773aa78f9f7847ed161b2ff22208822008c749509e848c3c35315967c387c2348d51184710044110f6454aec2108c8a188c9d1eca82008822008c73f272f1193b66d7590044110044138182a1d024110044110444c04411004411032fcbf0003007f2e7ff3c3541c150000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Khan Academy}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Offering a web app that aims to provide free world-class education to anyone anywhere, Khan use Backbone to keep their frontend code both modular and organized.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d4948445200000226000001c60806000000406240590000001974455874536f6674776172650041646f626520496d616765526561647971c9653c0000032269545874584d4c3a636f6d2e61646f62652e786d7000000000003c3f787061636b657420626567696e3d22efbbbf222069643d2257354d304d7043656869487a7265537a4e54637a6b633964223f3e203c783a786d706d65746120786d6c6e733a783d2261646f62653a6e733a6d6574612f2220783a786d70746b3d2241646f626520584d5020436f726520352e302d633036302036312e3133343737372c20323031302f30322f31322d31373a33323a30302020202020202020223e203c7264663a52444620786d6c6e733a7264663d22687474703a2f2f7777772e77332e6f72672f313939392f30322f32322d7264662d73796e7461782d6e7323223e203c7264663a4465736372697074696f6e207264663a61626f75743d222220786d6c6e733a786d703d22687474703a2f2f6e732e61646f62652e636f6d2f7861702f312e302f2220786d6c6e733a786d704d4d3d22687474703a2f2f6e732e61646f62652e636f6d2f7861702f312e302f6d6d2f2220786d6c6e733a73745265663d22687474703a2f2f6e732e61646f62652e636f6d2f7861702f312e302f73547970652f5265736f75726365526566232220786d703a43726561746f72546f6f6c3d2241646f62652050686f746f73686f7020435335204d6163696e746f73682220786d704d4d3a496e7374616e636549443d22786d702e6969643a31393338464345354434323131314531424130384137383245344443464539412220786d704d4d3a446f63756d656e7449443d22786d702e6469643a3139333846434536443432313131453142413038413738324534444346453941223e203c786d704d4d3a4465726976656446726f6d2073745265663a696e7374616e636549443d22786d702e6969643a3139333846434533443432313131453142413038413738324534444346453941222073745265663a646f63756d656e7449443d22786d702e6469643a3139333846434534443432313131453142413038413738324534444346453941222f3e203c2f7264663a4465736372697074696f6e3e203c2f7264663a5244463e203c2f783a786d706d6574613e203c3f787061636b657420656e643d2272223f3ebb844403000229054944415478daec7d07605cd595f6f7a68f46bdf76ab948eebd516c0336bd4348b2d90d493664097f920d1092ec926c969006d9248416120810629a31988e31b8827bb76cd9eabd7769fabcff9efbe68d46a3a9b2641bfb1d33cc68e6957beebdef9eef9e2a88a208851452482185145248a1738104059828a490420a29a490420a3051482185145248218514fa220213b3d9ac8c94420a29a490420a9d2669b55a68341a0598d03d868686d0dcdc8ccece4eb4b7b7e3d4a9539edfcbcaca04face1f353636a2a5a545994d0a29a490420a29749a141d1d8d2953a6f8fdcd603060c18205a24aa5e27fa7a5a5a1a8a80846a391bf13a8d1e9745f4c60d2d7d7879d3b7762efdebdd8b3678f505b5b8bd6d656747575c162b128334321851452482185be2024080232323260329938a899316386386bd62c5c72c925484f4f3f7781495b5b1b3ef9e413bcf5d65bc2d6ad5bd1d4d414f09eca302ba490420a29a4d01786fc0285f8f878cc9b370f37df7cb378c5155770adca39014c0e1c3880175e78012fbdf4923f734c3010a2001485145248218514fa8201127fbf91b967cd9a35f88ffff80f71d5aa555ccb72c68149757535feebbffe4b58bb762d7cae2144004222fd5e21851452482185149a78f011c9f723be5bb264091e79e41171e9d2a5670e983cfef8e3c24f7ffa53f4f6f6060313c1fe1e0ff0a290420a29a490420a4d2c2011230025237ebffbeebbf1f0c30f8bb1b1b113074cec763beeb8e30e61ddba7591029050df29404421851452482185ce2da0e20f7488618012cfe7d2d252bcf3ce3b627e7efef803138ab4b9e5965b848d1b37860221bee04308f3d8707e534821851452482185c61f88440238c448400b39c5ae5fbf5e9c3163c6f80113a7d3492a19e1e9a79f4600f0110e2011821c13e87a0a3851482185145248a133034a82810d7f604444989a148adef9f8e38f458ae4191760f2c73ffe51f8fef7bf1f0c9408218049a8bf438113851452482185145268e2404a28cd8818e06f040028a3ae77d34d3761ddba75214147486072f2e4492c5fbedc3b14385230e2efe57b3c8280157f804821851452482185148a1c80840b4c02811231c4ef08f44e19655f79e515720b114f0b98dc7befbdc2a38f3e1a2e2891ff5685014c54610213058c28a490420a29a4d0c40095704c35f2f72eaff770c0caa8770a21deba75aba856abc7064c28adfcca952b057711bd6020c2df4b15e0b393bd6c5edf0703380a3051482185145248a1890526c13e1382d0fa000f5780cfbe00c62f38f9d39ffe24de73cf3d63032677dd75179e7efae970b424fe0089ca0f2871e5e4e464dc77df7ddf36180c852e976b04e8606de17ffb648ce36d0c378b9cf7b1326f633937d0df9e468571cd50d7f3fe2ed2b68e17efdef71f4fde43f585ef6f679a77dfe3c3e17dbce6d1d91ef789e43d9c710f34e7c693f740d7fe22f31eee33f445e0fd74e7fce9f01ecef37a01f02efaf94df4699fa8d168ba9e7beeb9bfefd8b1e300fb5b130090b8c20027233431b367cf26c587a8d7eb230326151515546550e8e9e9891494f80326b266c4f9da6baf3d75cb2db7dc4ad586432da8be6df33dd67740823d78c1168650f7f137c9421d1ba85f7ddb178c9733cd7b380f6738bc07e2df5ffbfc3d585fe4710f97f77369dccf95391fa85d63e1ddf7980be9795778bf70798fe4b90a8777aa245c5d5d7d72d9b2655777747474bb65b93f40e20f9c0435edbcf2ca2be26db7dde6b7ff348190d8faf5ebe10625a3fa3c4c50e2fba2c618929393e7ca55862341b18116aaf1da6d85fbfb78ddff4cf13e961d4428de4f77a71be9ee85fe3e9f780fb463ba1078ff228dbbf7e27d36c67d3cfbf86cf31ee9b82bbc9f1bbc931f88d1682c8e8a8aca645f77bbcd3a829736c4fb33bc408a3f0d8de0fdfefcf3cf0b0c98886103139bcd865dbb76f90324813e0702256a1f8d8986aeed72b9786e14ea04fa1c6ce04221c5500839d82e3d101a0d65b60866fe08a456f3d796b1f21eacdd81907aa87646cabb6fdbcf35dec7b20b395dde03699e02cd557fe47dedf1e63dd8b9c1765be3c97bb0710fc67b24cfbbbf5dedd9e43d12534ca41ac52f0aefa19ef7b1f21eae76f28bc87b38633b1ebc07e383da6eb7db45f6ae71cb73b58f42c21784b830da2fd41b9478a8b2b2124d4d4dc8cccc0c0f985063366dda14284246f00124feb4266a3f9ff9fd6450220b9f6013319c4ef7de59c96027522d833c00def7a0b0a6508bbdefbbbfdffd0103ba7630959aef39327f8188aee73bf903b5cd5f5bbcfb3098300fc4bbf7189e0eeff42e8f432860116adcc321df71f71d83484d0fe1aa68c73ae7432d60fee67cb0eb8e95f7704d2cfe16d260202a1cdec743a37936780f256cc683f770fae142e0fd421ef7b1f0ce05b346e39105de8a03371e10dd58417e39313a484506202a2f80227a6185519fcbcbcb515f5f1f3e30216d89c3e108a42d410030a20aa02d915116bf1f635890191fd579ac63d45a1d6fb7cb6e87e8474871f512eb4441ad25071938ec36f69dcbef80ab556a68545aba1aec0e7bd0054b3e9f5457e4ff4229f8036903c2d540843b6182a1df5036f770d17238f70e86ca23e13d12a1e37dacc160006505f4074e7cdb10ccbe1a8990f23519d04b7e40cf253a13bc8fb7a9742268bc799f2833b1c2fbf8f11929ef919ac915de45949595a1bfbf9f7f97989888e2e2628f8c762b12d46ebc206b4c9c0140890bc3ae1b4228adc9b66ddbb068d1a2f080c9962d5b303030802060c4f7ef402045e30550e8772d45de10a3247cbc1743b5568ba1c141b41dd9493d88941933618a8e86d3661bc1894667406f77073aeacad8397aa415ce845ea783cb691fd158bdd680a6b646d4b75522362a019372a7f216b8448604e11ff9122821ff170a8fcecbcb43208f6185c69f683e7474747810b4fc908dd702124cc3e1af2d6359f0031d1b6847150c308e37efa773bdb3cdfb7801ba89e03d921df5b93cee63b977b89ab90b9df7701c65279af760c7d2468c36845555551e6d09d5b6f106267e3426bea044f431e7a87cbe53f9987d3848f9e0830f847befbd570c0b987895280ea629090448d4015e82db94c38189cc3475a0960180562690aafef2048a33d35867a970e49d0dc8fbe6b7919a9bcbb527bcb10c88d49d38808e232fa060da545807fb7078c3bb98bcea1e44c7c4b24e95aea9d3e8b1e3c0a728ebde8192492538de75187b3fd98a1b97fd2bbb869a8113ff82873425e4f0bb64c912ee8d4c1aac6180c90690fe108687c225cae04af0fedadde5227ff7fc22d27ff49dc0353d9e0b09f26fc3e70990ef436708709f261de7fe5ee09710bce1303f56f0c2a4f221a297124df0fc20bae3c546b65d3adea7edf24315acedee2b085ebf89ee8b8e6c3ba46b8c68bb747c4a4a0a8e1f3f8ed6d656a4a6a68e324f05d3a40433774ce4831de94e285ca7ce60bf4f74e8f578aa9083f13e1627efb3c1fbe9cc9748791feb189c4dde03f9509ccbbc8f47a8fa788efb999cf3b256d8fbda8d8d8dd06ab5dca443efb2f2c0cb04e40d4c043fda105fcd888091113cf0774e4c4c8cdf368e0226e49cba79f3e64080c4f7ef609138dea044e30d4cbc7d09e8b395018a53cf3c85e5bd1dc89f398d6c3a482d2fc3e6a79f40fc2f7e098177908a6b71dab63c8695cb92103f399109b8182476be83a39bff8ed2ebfe13a2cb06b54a83e6b6466cac5a8b55d72e41667c12925c46bcb36903b61efc10572cba1e169b79d484a001a11d3ba9b0542a358f1af2204a81408a1583d65698ad1dfc78832e1e51fa34769e1e5a9d864b7f9bcdcec08a18564638c96ca482c3e10c7614747a1d97e14ea7831f2bfa418b2ab51a1a762dabd5cafb49cfcea1cf113d648c67ad86f8b64903a5d570539ad3c9fa5ec5daca26b2d325f236d33d0804fa33c745b48321cd95b7864f90aa50922991b4563426440418fdd947bd1f340292640af2fecdd76f28525f91400f7c28e7c3508b88af93a7efb57c17a340e6b4504eb491f01eca4e2e1f77aef01e4afb168cf76002443ed69f396f22780fa6b61f4b5ea2f1e0fd4ccdf948790fc5fff9ce7b30fec3e55dbe36c937d9af444edd11171787ecec6c2e07656042e4703848666bbc2c2032b050fbbc0b3e661c6feb8a5fd475f4e851ae25cfc9c9090e4c48a091ddc70784f8fb3b9013ac3728f17584e5ceafde3e260213aae6de3ea4d4d520532bc2b963070726e9e641a4777463a0bb1bd10c55115703dd2dc830b5c12418616fda43a381b40435aa7b2a61b530412630c1c984686b4f3d4c59023acd2de8b1b473cd465c6614da6b6be1743847ecbce541a3c121534e7272326c769ba4b960eda06d7e7dd7565434af47f7401903359dec2727f4da045c54fa3bc41ba6e2d0c1fd70b8044c9f39037a359bacec3c91096e35f9c1b036d9ed0e8f90a57b93101de8ed4647cf20b2b2d239a82040485da4d369d9672bd772882e078e1d29436fdf10f28a2621332549d29109344e367e1d153bb7b5a1164d5d66cc9f5d8aa1815eecfa7c3fe62c5c0495cb0e3b0316045444a78bb783800ef9e4d06742c6043e089498fbbb70b8a20e3367cde470a1b2f2144c71c948498885cd3284be411b92e2a350d7d48ea1de1ec4a7e5202b3d894d702bbf8e3ca6045c681a48764978a007fd4d7d20bad528fca196dfdd1a2c91800f6b0b9972c85b9bb4267258795a5ada081f0b5fbb6a379b27838383a3c04928d34e202d8ceff5c7622e0a27cf40a4c02e94d9209276fa3e07feae77bef21e2a424376d09f08de43a9f5fdad4f13cdbb6f7bcf55de83cdd948798f743d182befe13c4b6772dc098cb4b5b579b42435353558b16205121212f8710450ec76bb2f1fb28241e563be914189caeb3b15463bbbfa032742454585585757171a9850c303f85684aa85a30aa2359119e2ceafe4582b7bfd0aee1dbf2e23131a8316aac249e4b50aa1a61adade01a8983093408c0b6aad01cea454683352a14a2a655f9961177643dd93c859763201c72e8e287d0ce27431c88e4b47a6b1007d8e6e980706618c4a62bb7ed7a8c9470345ceae2929a99257b2d3e936a788286b781e476afe0c9ba39335cbc08e35b0f34933128be8e8741cddbe197f79f57ddc7ccb7594880685858518e86a85d61487ae964a585c7a141764a1ba8a7d7688c84a4d40d9890ac4451b51d7da87e4c458ec3f5686fc495311a571e0e0c14a4c2d9d0e030328fd6d75f8cdaf1fc525972cc3fffdee31fcf457bf82d1d903b3538b92a9935079f238e3df085b771d5ef9602f742a11b999c9d8b0f6450c385c9836690ad252a2b177e74ec42467a028270dfbf6ec86293e1979d969acbd55acaff5488a3162fba60f70f06423e62c980f3503447bf7ed42ded445c84a4b42434515d66d3a8428473b5226cf81a3fa102cf1d958b174015252d3b87775525212b7537676f6326067476a4a8ad4870c45f5f70fb007a115f9f9f9bcafe9d5d9d9c91f8c2953a6f0f3b3b2b2d935123940237058cb40243d1c742cbdd39c099600891cb65a5a5a38b894d594913cbc91e60118cffc1a9108e770ef3b11bc8fc5b9fb8bcafbe9b6e18bc07bb8ed1d0fde7d05eff9c27b382698d301e291f21eeef10448483342efb42ed32697d6595fb0ea1a96978180898891b9ca5c3e784108014ee0af668e2614bf21be0b054ed4beda13727ef50e1526ad8756a787b0fa2a941d3a808292e95c8b52d3d50b2cba88fb9f3898b0a24e324427a233ed32d4f41e464676365cd64e54f4335093bf86efcc0950d8d82b2d211b993d25707688482f2884385401756b14a6a72f86dd611bf580707392d5ea168c76be8357abf468e9d98bc30c94381818488a913c87fbcce5ec7707321296c364c886c3fe39dba99b618a4b40d3a9c378e6a9bf20312905ab2e5988e75ff83bfacd6adc73cfb7f1bb5f3f8c9beff81a9efa74238a662ec2f4827434775bf1ecd37fc2e1da3e3cfcb31fe1d1dffe16272aaa31e7e2d578e0fffd3bda599b52d30af1ef77fd078cd66e7cf0eec7985d1c8de75f7a1fdfbaeb4efce10f8fe09bf7fc185353f438b4771b3a1b8ee19a1b6f477f6f2f3bf64dbc69d763f18c6c1c38d9044b7727befacd6fe1e4e17df868fb01dcfdedafe17f1efa2dbefe8daf63e7b6ad883519615145f1f190341f6ac9f59a342e06035e7fe1cf58b2f276dcf3c3d578faa12df8e4f3e3f86cf3c7f8d18f7e8423478ea0a9b9196b56afc6279f7cc2351e73e6cce16a41f2d3e9e9e9e69a0cd24a45994c70319041b6452d035f7bf6ece1a02626269a830fee73c41e16133b8e4c77f44edfd1b9f2677f0f1e8191e8e8680e30e5e3c6b22805fa3e92689d406ad940217ba1ecc6dec7865adcc72a04c3e13d9c7bfbdba19d29de4f471885b2c79f4dde239d73e3219423797ec2e53d926b44aab13b5d0072aef11e693b22057cb4d6728dbb4ac53fd3bbb769debbedee40156f592e03105f79eff2d19c08012c2e6230f34e2860e27d8140da936045fb54fecc3abeceaf5c6d6a1e42dc9cb9e8633be5633dbdfc0a8e4b56203e370f0e8b65b8939c16243010d2d29d8daee32d5ce839e3fe0d31b1f9b08ff01b516161ee3568ed3d89e3c7aa59c70b5890760be24c64a6b18eb2bbd12e5dc70010094f394c5acdaed1d2b59b839069d9f7c0a84b4265cb6bec9e36e8b5292848bd9e9b25e8dccc9c5c4c2e2a405c493e1ef8c13d58fded5fc1d5db8cd66e276ebe690d9c5633662cbe02575d320f1b36bc8d2719e838be6f2b761c3b8adbd6acc6fe47ffcccd67078e1cc3a56bae43417e362c561bd7eec8ed69ece882c36064c0a59f09603dd4fa585c73f925d8f4e1bb88bff2225c76dd57b024478d63f57548cf29c4f77e721f7e7afffdf8e893067cffc15fe3d007cfe2fd77df4142949a811015d76c5c72e5ad983f2513db76c5e33bdfb81d4f3cf72aec044adc28994c60f44ea6a59cc2c9686f2ec7a9da56a81990bceb7bdfc3feed1bb177ef5e0cb1f123c7600212252525c8c8c8e06615a2c1c101ee504c8ead04fef4063dd7a4103ab7331048e61dfe99bdb8698942c019cf045648c568341a394822c0419f033de8f43d69fa685e796b574e37d99a6f0e8e60ea54dff3c38946082650c61a7eee6bf2ba90780f0436c2b5bd9f0bbc8f555d1fe9b8fb6b8bbf24775f04dec732eebecea8170aeff4376ddec89f4f4e8f41ebb5f7c6cfbb0d6e59edeb9ee1f202224290177cb42608054afc0213ef045801fc4ac209170ea83d9141891c2eece93c0640b839870979ee8c4a028a1c38bd2238f8f12e270cf133f857b4a75793532803252307c8c9f9c84c2861ef527888831d278312ef0942034302957c1824b595943bc6012b03329331b7f067b0da3b98c07f829ddfc1ced16172d6bf2121ba940953334cb1f1686ea8c24bff7c096060e2070ffd09270f1f0212afc1b4fc44b475f462c6944948888b466c522666e7a7e19eefdf8f15172d425646123adbdb60d46b6013f4b8f586abb0ef543da64e9bc6fb486f8c424f570d1eb8ff3eb8b4f1b87de57cfcfeb1a7606002f8e8d18350b9184fc4bb468f84f868086a27929353517ffc087ef2c04f913b792e6e989a8e277ffd73981212b07cd10c6c78f703d6b7021a9ada90c4be4bcd2a027a1bf1df0ffd1a395366738d892865fbe3ceb62e2ee85d5879d5cd9891aec2e38f3f81f993d2a1d708dc7c4260a3a1be81b5c9c0c183ec65cdfd4e449183120219742c3d000eb7bf0df5398dc1cc993371ead429feb79cc38400277d76b2b120e0273b6891432ca1fc400b2c1d47bf935f0a81147f5ef0be3b1a5ffb70b8790022a9db11ec78df052e925d6cb89946fd45047c91790fb7a6d3178df770327c46526cce5fe2c8400026501f28bc87ef207eb679f767360bc43badc1b481947fa7cd9cbc09f6bdbe972947eda31951fbd19cb8103c29ab180ee61855c48f92ac4c993245686e6ef6f5299101871afec38265af5dadd73bbd745eb629d3f3cf3fff141346d9de512fe120be508318285a23d462432fb2b591e941deb1cb7da856e950d3fe2e8ed6fd81094933d79414a6de8249e9b772b0243b6d0e32a16a6502d4608862023801d6a10138050d0351367474f572c14ccd205f1af20d6d6d6d432c03345aad0616f320cc56275252927807b5b434431f1583e82803bfb6997e37db3870a231efebe966bdada55865fe5b747c220c1a1577729539753110d6dbd78fa49414062034686f6d81ce148bd8e828eedba1d568f948ea747a4963616588d96c476c8c89cf1abd4e8bdd7b762231bd108559c9b0b3094b6081344a83037d10541456a6e6008692dd11daa6bee348d7ede02a77bba40aa7be1a8ec191c78b12ea813bdfaa46e4b591808d0e656547b9932f996808a01058a287290078e6d724a044e1c6748ebf5d873f01152c419ebfacba91ee8022511b7b2f06be217de12cc8e1088a739df770ca4a7c11790f663e8a64adbb90c6fd744381cf27de234d9e170eefbe00c19777fa8ec96ad76db7ddf69d969696e36e394e9eb184626cee77bbd777f4727abdbbbcdefd16fafbecb3cf444ad1115463f2a31ffd48686f6f0fe573228461d6f1d59e7040e39d60cd9f0d2e5042a270ea4e849b0adcdb5f8076e2b4cb27a1cb2363dc0eb94ceac2215a90117f11124dd3190eb043ab8e8651972c659a75393cd297a286a2212977cce6211ee52290232e031069a9a97ce72f79fa93805771275b17578f31616f34212a4a809d47e5806b3cb809857e67e718d9eff4b25a25206734c5787834461925d307811239e296b4400c7824333044be1c66bb03b189893ce285c020d768c8367b77e65c95568f58f622a041bf982d56cc9db3906b8f6cdc3b5be0e0c2c284be566718d1ff349651bc1d23175c1e55e40628524663d1cbf02872a00279ecddf7f5ceb1e270d8919e9e8e63c7cab809472e1140a165beced9fe7642de79727cc7ddd7de1f6cc71e2c0c2f94ead5df5cf63d36d83cf70dc71e8f391f8eafc3d9e27d229e77df45f774780f3732c29f709828defd9583f01540a17c5cbc7ff7e53dd2a890b3c9bbbfa8bd89e03d1c5f9170790f552938505f8e17efdee77902527c8e25f70b8ccc47e62bdf8520261d7f786144437ef0831f089b376f164906070426140d11221d3d8298755408e10ceb9bc724d4200753bd052af616c881cd37c705fd4de687b973e74a3cbb4359c5e113790e13933ed393a9cc4980c493c14c0c28403c131df2a497345cf4ee907977dfcfbb27c8e4e47521e9da5e2a8880b943dc0a34de27189962cfe9952bc5dff9a29fef2885bff7c54577763497f743e6b9669045dee5934ccd739e9f456d1897f036c7c52730d01385dede5e0ea8e4b87bd94936d0b89339470ef7f41e77f9e10bb5c8855a444309c140ce7be1ec764265871ceb9c979fb950f95ace34efbec78ef7f32e1f1b68dccf07de7defe5cd7ba82cc6c1da1b6e58ad3fa1793ef31ea86657305ec2799643f11eac98e078f01e0880bbafa5c2c874f4aa08c04850a26856dff68e0226b24a3e80a6c4df0dfd352860ed1cd25090b988b413a14c2fa1d064a0893172102580e65ba88e16aac1a141144f2ae66a7f4fdcb6385a5c3ac5f18a06380d2feb709ca1c471b9d3d969bb9f3b39d9984c9d3a953bd8d27ca1b9194ee55dabcdea851d2353bdca597787e7d868ffef40bbd4408e69e1d4681aeb9c97e779a8391f8e33dea8bc0cde997cfddc3b98f09948de6513972fefbe40ec5ce03d9270cfd0bc43f2993b1bbcbbbf8b94f7507320989f94afd01e3dee9236765c790f127de72fd74ba8f93b11bc7bb72fd274f62179a71c5c18a96525f3b88b54fd232d204298e0c49f03ec08ad096d247d4913c26413ae49275894ce0880424e9029a9a9b0f12ca5615402f5cd0e8ac88bd5f99b10044426c54d42a23b778642e71e39297458a3c182f90bd0d4dcc4a3ad0495e049f72f9bae02ee4c4678b58cd4228efe6df8776154aa7d9fd92e22224113eea211ec169117680c8607fde63ae23d22f94ef96d81a4ca0a97774f0906c0f3e6ffb6a17df5dde6d511bc536b03b427f89c08c00267cf674e780e8e9077df710f74ba5fde7d5b280c97aa90a77e44733ed46fc373deef253d652c46afc36183d1103118c3737ee4819eebb941d1e839ef7b7ce4739e06c6b776da886385d0cfbbe0b9f9087d7bd0391ab27b3c2e05c39af0a0633b9639ef674e08decb2b0598306062365b28484415262009840d22625f13819c0827036c205b9387a1b4b434213727c793f2fdac11a16da7cb0f28711775f19e1534e84e27ce7cfd4931128dd8f9094eb8dd133c278a420a29a4d00543823b62e52c163e263c3234c4cb8304d298c8ef8130c19848134422aa0280934021c34018b94d28c283b41552da770fdce485dd442f3604afc276d28641562ecab8ddcfeec6cfb93237120274ef0e7c8bdcb9770402865d34e5dd13fd4eda1dd9f9f2cc93a83ca01ca0285aad7369c11c55e0512185141adf95dfed17c65324b837ccc3326a58060e177dc5f07154a4d547be4a8555fdc840cfbbb7864a3a9680893b23acca078084d290040a190e4b99a309211155116a50fc356e8406c5e384e7f2ea19b9abfdf94888c3ce92234b188a01e5b718e83b71b4dba528fabfa2fc170d0ad597c9ccc83c4bc0442185145248a10b91284296723c69c8f753748d965164e2a13414eeb4ee4e4aedc0abde23807c1d968154674d10871d9945f8063648d193ee8d4730df11150267790d163c33a6ccafe182132144a346345cf48acaf1d57aa8d51a5e708ecc3cbcb3dc68cf13aa210a231191172a24a71d22c9314a0634c3066e01236d8084426930e9787ab7f1b4f72a383cc58b445ee785224028d9973728216720d90444df93f3ac420a29a490420a454a8d8d4d0c7cf463f2e4c9a336bf245b282a916494b7d644965194478a024a5e78f105c444c7e0f6db6fe7c77213b897e4f7f6fb921da67bfbfab8bca5f38603068411f2952285bd226602b96bf8c30263022432a9c2ec3b2182e382bd54c3618b2e37b293fea6880baaa9f2f2dab5e8eee9e12081b42aa2fb58fe591c3e4f4a97ee0ea762ef5d5d5d1c594a9d2ef2b056d17d7dfa5d4eb14edf1128397ee2041e7df4513cf8e08378e18517f8f9dbb66fe5e9d569f05c5ee7f9aaaa29a49aee4589c528991755c29d0875b6d36ee5356864320ff6a3a5ad73c21e9021f6707474769ff10773bcfa8e7c86c22cdd86eeae6e385d818fb659cd6c1ef60d8351362f7afafac7ce239b475dec9e8ad143218514f2acf10c407474b4733943c92ffdad8d928c143d32d0e5253b2937d6ba75eb50535d03b3c58cd75f7f4d4a4d21c02d03458f8c95cfa10aee24b71ef9ddeff0931fff98d737d3a835ee6347ca57b92c8928e58b10c2544a9c2e8e081b98846a8c10eeb932a32e192c7840490f1e7bec316cddb64d52e568d49ea448815ede71dea465a1ce1ee81ff0684efcbd28a328158e7bf4914778e2aec58b17f39a2c3ffbf9cff1e9279f4aa9d47deee14b9408863290520230aa844b938bae31dee0a4abf1041efcaf1f79fedeb7f3633cf4e77f4cd8437262f7c778fa2fff3ca30fe6ce6d9b51d3d8312ed7fa7cc736f40d59c3813078fbdd7730600d1c065e5f751cef6fdce6f9bbe2c47e7cbc79f7d81b6737e3830d1be0509089420a5df044f28a645e5d5d1de2e2e2909393c336b8cdfc3b4aa73162b59237f23eb28cb425274f9ec2ae5dbbb8dc5abc683117b36fbffd8eb4491345bf32d062b5f08ac2f7df7f3f935f2958bf7e3ddf5cfb93b7a24bf435e584a311396dd28cc33542a97246fc4d604e746b34c80e436a2752553df9e4937c50eebcf34ede11a495a0ce4e888f97a262646713773c935c21d1e99252b1c7c6c6f28e6c6b6f438a9802439451ca2c3aecdd4a2ecebcdecadb6fbf8d9b6eba09b7de7a2b9f20a40a6b6868e08043468dbc9d827f8d89773218d2be503b29519b6c16223a79680f2adb6d989e1783f7b79ec4bf7de9323cfc8b5fe38adbff15894227f694f7e3a62b66e3e15fff015ffae6ddb0b694a1be2f1a0ba7c6a3acae0f97af5cca77d97a830ee547f6636f7913a6e5c4e2c08e8ff1c3ef57e3d2ab6fc192d21c3cfddc0b700a7adc7fdf7fe2bd97ff8afde5751872eaf0330668b6beb70e9fef3f8ae557de8a358ba7e2b7bff9357aad6afccbbf7e0d9f7ffc2e4e5637e2dfeff90162554378f48f4fa1a5fa248ae75f87fe9e6606129f803e3e03777ffb5b78f5d93fe1445d1bb451718856b9d0eb8cc2aa85d360d6c5e1aa150bf0dc736bf1e5affd0bf46a0135e547f1d433cf31f4168bfbeefd4f1cddf11ededdbc13d7ddf655349ed88d7dc7d98398908eef7fffffc1a471a0aab601d3172e43735d25b67db61b39934a505a90ceda5d8615172fc1679fedc2d2e54b398069ee1cc0e5ab2f47ddf14328abacc5924b56a2bbfe140e9da8c29265cba49039a71ddb3edd8af69e215cbe660d86ba5ab065dbe7c8c82fc6f24573b0ed938fd0d8d681f6ee7e8692edd8ba69131adabb71e9aad570f6b560c79e83983e7709128c06d4d79cc44b2f76a164de12c4194da828df8b175f6cc4d4590b30b7a4081fbdff1e3a7a06b1f4e295488dd5e013765f97c688abaf5a8d837bb6e3544d0b962d5d8eaaf2c3686e6d43ef80056ac54d4921852e6822e041f28d0a9b464599909a9ac2d7ae9c9c6ceed3481b6cca6e4de0c15be32fcb40393498be2350439be4a1c141bcf6da6b58c6d6c14d6c4da31a6404761c0e2973b72c03a9523c158cadaaacc294a953f835e4e27d9ec46cee586161b4290708cf7c138916655c342663052d9ebf65e427ba053e694608b1353737735f8ebffef5af4cc8de879ffffce7dcccd2c8901cb7af79cc36c348b0a5a5050df5f51c5410e2a341252fe28ece0eb71390c891a3a49a923c4ec864438066debc79e8eaeee6b5696800efbdf75e6e9fa3263bdde74813c27fda659948eb429a130246dedf471904ac5ff73ade7ae3553cfeccb3788350695707de7d6b3dde78752dfef2f77fe08d37df422b6beb9b6facc32bff7c01cfbef4325e7fe30d0c3825bca8d31b507de2201ef8dfdf63d6dcb9508976082a23ae5bb30a6bd7fe13a6b804cc993903db3fdc80e355f578ffcd97905b3a1f62730d76ec2ec794921988d703ebd6be85375f7e0187ab8670cf77ff03f9596928993e033d4da7f0fea6adf8db93bf47c9b2ab70fd9597c06850e199c77e8f530d03f8e4ad57d875f6b036bf82252baec0ae2d1b9132653e06eb8e3141db81b52ffe035b3f7c177b8f54715042f4c8af7e81856b6ec7ec5c13feefe97fe2b3cdefc2905a841867175e7e7f0feebeeb2e86f0b761c022a2bba51efa986444ebb57873fd9b10553a6cd9f83e5cc638d8fb9af1abdf3ec2c0510a1a4e1ec6ce03c731d4db86addbf7e2c4d14348cc9e04a3a30f1f6fdb87abaebe06f93999385176143dbdddd8c97610c999b9303150f7e6ba7570a9b4f89c3d8c7bf7ec46795d3b2ebbec0a18751ad6971a6466e7c0dadf8943878fa1ece861740f3a909395ca008e83d7249a37bb14fbf6ec81cd29f2828d975ebc1cbbb66fc316f6f0f73af40c402ec1bb0ce832d486bcbc5c9c3c76084dac6f0e1f3a80acc2120cb657a3ae9381a4cb5642c3fac8a5684c1452e88226da00dbed0ebe994d4b4bf5f8952424247019421bf4f8f884e18db038527be172d717235fc7eddbb7f3cdb581c921927f1f7df411162e5a84a4a444fe37b74c78c9402a7d52545888e3278ee3e9a79fe62089aeb765cb167ebca435719b74dcf2cf35daf975dc3423670b988c56a27bec57d2cb66b363e9d2a50c35a6f2cfb7dc720bbef7bdefe13bdff90eeeb9e71e2ef4dd99e746bd6820e93c7a51d236c9e9474291d46fb25d4d3e9e4c2e468391090835cacbcba1d7e9d8b1f158c40652d6d070db9c7c0fb74f4a306022939c025da6ec2973e0ea28c7d6838db86165097ef9a717f0dffff3106af66d4445870a8ba7c6e2b117dfc72f1e7a083bdf7d0956632e724c7d7863f3715c7ef13cf4f6f671e7dd1e065c3abada1063d4f38276d3172fc7a2853379c1bd575ffd27761e3c8ed4b4645e013821258d09e92b91939c8adea60a3cfee493d04727c1c8c01af947e4161421333d15a78eedc1df5e5e8fb4cc4cb7ef43074a664c456a423c5c0c617777f6213a3611fff9e39f61d6943cc4a56460c52517232da7082b2fbd1829b15acc5d7619b24c83f8fe4f7f8b3bbf75270607fa795d9d415b1fa6cf2845f1d449e8eaebe20509575d7e0503552e68f47188354541c704be4eab422543edd96c574034c41eae38d6ee6b6fb81e3151062425c4a2bdad8df196069b6510a4179bbb700916cf9bce0143496909544e1bb44613d25292d8c36e64bc3819bf89b8e34b5fc2beed9bb0ffe0313e86b149a9b8eeba6bd8f166d69e38a42427732ff796ba0aecd8b517d131b1dc99f9d2d55723330678e3adf719100172728b505490cb9f403b9b9ba9a999c8c92b809eb5bdafbf0f896cc7939e95cdc035b06bc7565437b62226dac4ab5b1b8cb1983e6d1aac83fd888d4f44725202d7f429b84421852e6c22393367ce6cbee6503a766f4d4a757515df34c7c7c7f9987286cd32e0d6023b36bcb581bb2590bc5bb16205a810de9d777e1dd75e7b2d5b93b4906bd28d90b76c8d4e62ebdf0f7ff843dcc53689d75f7f3ddf549316e599679ee13258ed65d291ac07ae33de47671c98781c51ddef3438050585b8f5965b7927ecf8ec33143244b760c17c9494947a39a0ba46684de4f86ed25810022555162147ea64524d51e13c6fcd0cdd8f1c854c4c7010a27cf9e597f1de7befe1d4c95378e28927b076ed5a5e21186e84e80d80c6466a2c5c3c1f453316e1dacb9661f29452e464a663c6ace928997f31ae583e8f09d719c8ccc840e98c12cc597e052e9e5fc2856fb47a10fff3bfbf42f79088ab6ffb37fcf681ff875ffefc37b0aa4c48498c01c320c8484f43945e87baba5a1ed275e4d811a466e6c165b721964dbcd8b858d8870650dbdc82c6966a2cbfec3a341fdb847befbf1f65158d30f77733643e88aa9a4aacb8ec7a3c7cdfddf8c34beb119d9c823bbff12d0cb65561f7eedde81fb42123339b472ba5a6a530f46d475c520a7451b1b8e2a225509b52306f5a2e9e7bea0fd8baef18eefcfa37f1eb9f7c0ffff7d737f1b53b6e610f58225c36334a19cf7332b5f8c52f7f8986b64e082e2bea1adb51989fcb7b6bd5a597a0a5a1064dcd6da8ab3c89fa6e271eb8f7fbd8f2e17bc82c9e8582f4389c3a55896e06d8e2192075d9ad48c99f82ac782d9ef9db73d877e81852d333611be8c5b12365bcce4e6c4222563020d5c6ae5b535787fc4925b075d7e3d9e79ee3d59f0d7a3d2c8303b0da9de8ebe9c4c1030761710a6cb79100bddec08b135219a078d69754a8b1a9ae1cff78f105e4169762c5aa4bd1587e107ffffb4b289d3d1fc971267476b4f39d4c4343130323096c076245f18c3968ae388ce75e580b9531ca6dca51e089420a5de84475c0929292b92b0155b8a7081c235b23a82698ef46589681449457eb9db7dfc1a1c387b88fe395575ec9fd4bd6ac59c3646711ac4c0e3a648b81cb3bc844929f2473a3991c5cb060012ebae8220e4ec81c74e2c4093cfef89fd1dbd3eb31eb04f3b59c50538bef0d6fb8e106e1adb7def256dd78677c53fb7951711d8dfb5d7e51f27bbdfb5d7ed131d1ebd6adfbcdecd9b3d347667e15f98eb7b2b2121b376ec48d37de084a5defe405edc2d118893ce281400a0d6ec0427790ec73a4aedab16307b7c59987ccc8cacec257bef21526ec3330303830a29600696bb2b373d80448f25c8306302f2f6f440a667262224015a0d6904f221bffbf797f63365b599fe8392f34512de621a8343a6eaa52f3306617378375777571a149957fa3a80a2f8540b349498e51368b1916769c965ddcc0c01a18a8686defe45aa8c1be5ea898f075d22465e7777776c2c8de75ee427916066aba7b07181849f5f8025181410ae976b177954a83277ffb2074794bf1cd2fade10f838a9d4b29e449cba3d2452136268a3f203c7ba1d38657fef932ea1b6b71b2d98e3ffee6016cdfbe1b575cb1d2c33b450539d9543330c0451a0dfa9e00919a7f16d1ddddc3dbaa514bd351ee7f527d4699a2a1554b29eb07293a4bad65fd61f05cd7c1c05b6c0c9b1b6ca761b6da6162a0838fafd9cc8ed5706d0bddd062b1b11d482c1f03b90e875c9b83dac2353bb1b1fcba549979908d535c6c0cff9beeab67f3987633049ae59a1d769b157687c8e6a75ec985a390420af135e5e0c1835c66c98ea764be21f0919797cf4d317c4d611bee8a8a0a8f5ca177fafba5975ee26bf3a2858b3177ee1c29095ac4f61529dd0681a113e5c7f1fa6baf737fcfbbefbedbedef426bb79aad8966f1eaabaffe316b67b9fb449bfb65f5fa4c2fbbfbe570bfe8b3d3ebe5f27ac9355bc5ecec6cb1bcbc5c24a076d680c9ebafbff69b59b31830b15ae506b86b01b003b4b48b35703b9885bd54ee3c26721a134f4e3aeffa03ee63546e21208112c1a7dc81389c0ec5fd0d6959a8822d095baa5c4b289290ab6f81248aefcecbcd6313651898d044b2ba6bfdc8c0840437f9aa5c4882a7a1ae06c919393068d5e1a8ca7070ff5e74f79bb160d152441bb5caeaa490420a5d904432a3acac8ca79d20d38d8647d89c649bac5ecc9e3dcb53d88e80c9a953a72460e296331d6c1379e8d021a424a760defc799ef22ea24fbeafe11a4b721121a9768f9c495d12aad26fe46c4b8a01ba2f39dd922ce4c29fddcfcc80c9b5d75c7b468189e6cc0f083ce618595b200308b2e3d34bee54e910df6cad3e4591dc1770faea2046657df5faccfecf3b9e831915df71072c17ed92f26378536666a6f26431cacecd8f4037a7c2ec790b954e534821852e782259535a5a3ae23b4ab0e64b0e87974b02892387835b13c86c439bf0a1c1a191b130ae51c26e64a574af4ceade8291c04d414101073e0486e45f047754d099a6330e4ce4c465216d5667a02fa436b8bcfe768d5086714d88468de69666fe4e5a1685145268f4222b42545c671452681c89b4f814714a09d15c5ef2d2c1ebcd393c89d121862f3383997bacdc8a31f208d93fe5bc0726f04a8a769a1742708b9a7795e048af3bf2fa2e77023552778d4f7b27ba6a70187d13d1fd7ddb8e096cff78b77dbccf3f5fc7f534da1f5692e90b6b5c233b63a2d63265ce9ff36b59907195cb9e78bb178c3cdbcb6c33060917b8bda2e773584a84f3029870ff0fcac7af0a7b5a0d1f13e124f4f895043e2ff415459eef825aebb03b037bb086bbeefb3c0701d7f4489f47d1475044faec047a3f536b9b6f87045bf702b52558dbc3e99b70790ef7fa91f459b07b45d237a17889b4edc1bcb6c77b5cc7abed18e37c99e8713d97e67cb8e31aeafae1b433d49a325e6bd9788d6b6442697cc6d54f1bd52acd38c1a7e00c05fb955c1d84331fbc7be681494f5f3b3aba1add6aa3330082c2d5719d05924c7cae206df53f632507dbb3e3643b123d8f9ed24ad489420a29a4d0f9413c42d362e5e937ce6b60929809a4e70b8cd970d4067e708618e278c14b808a52982764612986b84ea87604c30ec1da1b805ca2134ea7d5bb9ea39756c9e556d38dbe08a158b55a17a6ea25447b842058c8a7bf9c4e1b6bb3c37f7ba55cc9ac5dfae1dfc3ed9b70db1e683784d31cd770fb26d2f93ad679039c99719de8391fc1f31ad6f5276a5cc369e7d9ea9b708f9fa8711d8fbe19efb69f4f73fe4cac65c1f6e721aea7560b309b55d068ceec86f38c03138d4acb439f9cceb16b31d4828eb24c702139ba9f25c30d097c27a570879ac94b2a08a8e502fd5cd29ef0ea902a310052a562820ebfeda56fc8218a8e39335ec280c365a19e8446d0fbbfa7bba436e55851a975ca564321851452e80b4e3c6796e682f0312121a60aedb44389d004b5043ebc8af711750c9e805e138f68433a13de768fb0a6e3ddba08ee4d4cf7e16e3ca2836b275482c60d508431c973298b8a308e1622810f01a53017dcd0550ee512b98dd1c001c1703e161f74228efa76023009034f2e2b0f57239027c7c307e287fa5d10e147aba290420a29a4d01789c4b3e05f72568089e0767e45105f04fac529da3068ed458c2183c10c4933a2511bb816616ffd6fd167398925f9bf434ee25226386d5c1363b675635fdd13284abe1a29d153d8f7763718d171e1ef64429e6c656a959e6b51221d229753f29216485b415d2708116b387df954abb55e996a054f0238025320ed925acfc0897504909312c68941fb70bcc8e5b4f2306aa9bf823b510d432b72125612a829a490420a7d91490821abcf236012ba26b29a0189f6de13d851fd5dcccafc09b2e397605ffd93c88c9bcf40c71a64c65c8286ce9368eb3b8abc848b98ccd6c0c140c3aeeadfa3a2e35326b35548364d6560458f7e4b335afb8e3050a34756fc42beeb27330f811315f77a0ecfd0cf6bf58852565991aa35424ab5ae126413d118218a20999a4477f5e3611844c9de18e0521b795125a7d3e2812dd25dd413ac931038b023be551ed42c8431ba524d079570a667d570cf29a49042e7b4b83b6d5977364258cf8ec6026755f72ce0ec68bf35678b557fdd2d4574507892863baef60d3970a8f15788333c8586ee0d38d5be0103d65694667e1951ba3464c4cf6762d0c97d4eaa3a3e426dd7a79ca1017b1dbf5e7b7f1976d63e88aec16ea4c752c1b7454c604a31e1dc3c81e190acf01e04c12b748a6aa938f9fd651f166e4a8a109f708e191023e02165fe173dba1312f0040e08a841ad773bcaaaa4def380a109d2943010e6126d6e7ec5b01f23b9dde2444de851663411be357b153392420a9d937884addb2a9e2ccc799ad94469b3464fb9d9767e02143947894aad3a2bd57dfd6fface678d89bba6cda8b052ca1ec906c0e11a844be5405adc2c94667c99fb90e8b531d0a86221887d38dcf43832e2e66246d697b1b7f60968d5260e54ba2d15d0698921816b424898f75b9a60b676b3f38192f4af42af898643b44abe12dc0fc50695a8e2858a424e14c1e58ee91e7697961d6de95a1ce8085a765f6dc421b36a81fc4cc8dc64f701026afe1d71c5c109ddc9258113025813159a2b72d025b525d27b88a380e6f8b74d2ec54d8508c461671b1f8caf92a297541a28a490423e8f88387ee77a821e43447de8b502d6ede9c0ebbb5ad163758e5de6b1eb251ad5b8636906ae9e95088b3d0833828a6f1869cd70715fbe2f0830a14da953e0b56beca2e5ac6db68665f5791e95e34f634202c46aefc5eeeac7d06d3e019d2a8e01933928c9bc0db1864cee639110351356e776fe1098ed1da8ecf8187bebff8c187d0cf29357212d66161aba3f86ddd98e8284abf875f39357f067c2c0804d4ee272aee1e079ff856160418042108c6e0d44d099e257d32378fd5f743918f071700d885a15998f05010fa7bbb4b5e07555d1dd46c9a4a3f30a839e388d096969a4fc2a1a4829fb8508d72da98d88d88f27181871f2fee5ef72fa732150e6280eadf890a9b8a94c058514bad048ce182a9b3de8a9d069753ca539154ca577ca666db35a3c29cff93990cea1c83fa7d35d6f8d3d433aad16369bd51d88205dd1c09639b3956d9cd8a3aed3d8617148ab17f9e1915683ae4b665dade0c4c6633df8dedf4e903a967663608b3ef8891af67c5a6cec5d237d269f3bab43fa4dcfbea3c496a435a01da6dd212d491a35b694f5e0d5efcdc49249710c9cb846ac01f4ccb316b35387d806b50e5ab62935ea93dc654744762b1d97071a8d1676bb15a12ba450dfe9f9ba66a78aef6a15efbf50d9e9e83e4ea76354b993b05652c19fbc94c642a3d6b075dac1c7d36eb7b96bbc85be3ef1eb74da11be25ecece4cc3a2bdb495f56796c8a3a0a438e46b4f557f3b9d9dc7f1075ddef61e5e4c790682ac2d2a29f605fdd5fa08616b1fa3c6caf7a106cbcd1e7ea4743d70e14a75ec3e6702203316664c52d80cdd1cfe6763ffb7e3537f534f6ee6660e603986d1dc8885d806919b748757be070fb7218826a018470945bee7064ba1e39804a4eb6e14500092a42a6066eae917c59e0d9f983a3673b6ba38ef58d6e383a68028876157039dc9a1b57c477f14ae47f7a2d74efb4b8498901256e327347210d6b6264e8e6db06398f8a948c4e31ec2874c1294598e0b40e9961341a69d7c38bc111b0d8bbe3231c2aaf44fea469b868e13cac7ded392c5d7923b25212f8b33b383084ae3633372398e234484c8e65cf1f7b8ed89af6fe3bafa1d7a6c225175f86b484046818d878f7b01ebb2aa5a0802b671ab1b8d002bb4b03eb6027de7f7f03fa6c76ac58712d664ccac64747bb68d703446938f0983d6712067b7b71aab603f3174c464747176a9a7ba04a8ec75d174dc5d1ca466c3d540b53762ae6a54663ebc16ac4e7a5a3345e8f1de58d0ccc38b1a9ac0b974e8de7186778a32b453ad6777c88e6ee6de83757203ff50e4ccabc014ed1c2d3556cfbf44df69b0551262356aeb81a2683ce5d9ddec1f754bc9a2feb111b13fa149c4055ef776cde009872306b7216f69cacc5258b97b0639dbcdf08b069b5d2350828a81970d0b2577d43396213b2d8676973a4d3eb18f8935624ca24eea9791360091c252fa96e8eb51f1b3e5c0fa7da0417db785db1f21ac4990cdcec4388830013b58547543aec5c2e51713e91f1d1d4548584941c18743a0e42a9dc0af12884086a38ff8189004f548ebceb2734a9679d3c33f35b68efbf8703e6e4a829303bcb51d1fe2ee618be8de6defd989f7717a2f5e9a8eddc828e8193d0b2d31da2143e3c59b81659f1f3f96eff64eb06d4766dc2808d4d9e49bfe342f6b3ea071872b6f02ac45909cbb84f8848a1b814ae0b270f730d68d291b525c2480d89ffc1e3b136ee28202b9b1086b04d1a749c4623451e3929919928fb4f0812801235dc4c254ca08327ed22a468a3b1e97b65a8208ade887f6c7a121a4b9768775f5735524122047e6ca43690d9cde5d6aa28d044a10b87481b527da2121fbcbc017a53342ebd66250aa7157121959c59842fcd988b67fff122f2b332515f558f81051668323418181cc2e60ff76372e10cfee4effa7c1f2e593d0b39b939f87cf39b385edd88abaeba118971f10ceb3871b45187b7f7b7e25b33df40d750145edb752df21860494f7462903d7acb565c8fc68a3dd8b16b3fe69514b1cda2fb79b4d89053948fcf7e7e07eefdf32b185099f0d9cfbe847bfef82a9eae68c3e33f5c8d4cc1816f2c9f8a9b1f7d0b4ffce036a40eb560fea13abcffc0ed7034d7e0a2ffad66d76200c8218e88f2942ac43b70bcee6f68e9de0c95a0e75a7215dbf479e40e3baeadbd1673175d8f8f3f7a139d3d4368eb3b8efd474fa064f622c4e81cd877683f06876c58b9f26aa4c4c7c2691fc291b2c340741f0ab3e351dbd28613c7f762ffa1a3888a8ec7e5ab2ec781cf36a1b1b30bcb965f8ea6bae368ede8c0e17d9f62cef29bb172c952d8ac36ecda7198bf3b1840cbcc4ac5a4c9396ead94ef1a267889cbe1358c5b172c7db0d8cdb8f1baafe3f34fd7e3e32d9f60d59259d8f8e92644276660eef4e93878680f3abb7ab070f10a3806db5076aa1ab367cdc586d79ec6d235ff8a34a3807d878fa2b8742ea61717b9b53ffe65d2d988ca39e33a6e0182a7d31d0e86ae1d43920d9081839c84255890fb43267cc19079394cda69483295a2adff08b656fc17b655fe8c9fe3700df10727c138996bf76822d235ac8e5e76dc83d85ef54b064c7662c0d2cc7fe389bf8404b0e715a56937a238e52a777236c94b84841edd5f08f8cf7bb2847e49d7d4484eb60e9ba47d0bfb9f8a9b6cb4dc746380c6ebc5fd4a10c9b58488eecbd58d9e9c2a088b57fffc13e814c7dc523e379c361e322d485e4361f7bdf718c8004bf9a7fcbb50fed12ed8c976e2afaf7d1b1f3121b8febdad686bede4aa7fda8415e51760e3876f21b7a0143366cdc7b2458b292700db6dabd1df378823874ea0afaf1b05f959e86eef414b433b5b6335a86b6a407c4a260eeef98409ed32441b0d38d8a04686a909d7cf7e0e5f9ff3381398eda86c634f2c7b6ee393b2a0b27563e7c1e358ba7021ec36bb24e4c8e4c080cd5fbf79192a1b3b51989b8da7bfb102154d3d488836826ddf616782ba63d00c8d311aebeebb19a95a171a87443cf29d6b10cf004bbf83ad0764e2e1a6da91fcaba14773e74e34b38da9468867bf9359dd88785311cfa62df5911a0e9b0d9f7dbe15fd434370b176bffefa3f992cb260f3a7efe0d0917de836ab91971e8f6327cb11151583da530c94e8e2007b076a9ada9010138dbd0776232dbf1446e7105efde7dfb06dd72ef4763462c7e79bf1f9aeed3098d250949787acf42c6ebed233616519b2e28fbf7b11eb5fd98828a3bca607913aa2bf155f05bdc10483de84654b2f867db011efbef33666cf5f019360c3dad7fe8113b52d985b3a0d878f1d844ad4a2a3b5169feede8bc2c2494c6eaaf1da2b2f327eadd8f8d13ad89cc2a87e1c6e8370e144e59089a36be0083eabfa05dfa1a7c52ec49cdc6f224a978c59395f4782a918d51d9b106fcc435ed245d85bf31408d0d576ecc2fea8bfa038f53a44ebd8e0b089c2803bb21216710dc8d1c69771b2ed43eeda4a882b5a9f05a32e11066d029615fd820bba94d8e9eeece96a08ee880e292cd6e13691a802d8fb54112b10787411a4fc296ab531a2c46edc04a156f9b7954ca4b6448a131a87ab8963b24f4ae361f3f27111c7dc1ed90156892056e88231e1f02487225f2fab6b1ab164e16c4c9956c277e57aad1a2f3ef707a8e30b71ddca15181ae845476707548903fcf7f8843824a7c4a3ec58195292931197108df48c5426c0d86f7189888ec94586ba1f95ad4d70090b50926ec5dbfbb3f1d2ce3b31e430a0d39e81c254f6046b8c68ab3f8e67fff1126ebced4ee46424730d0127f69e186b82c36a81313906b72e99c6d6ed6e98a29270cddc29d8db3880eae62e5c53928514831a27bad8c655178595b30a6138d9844e8b131795e4a130c1c4804dbfdb5762789da13fbb078ec1a0c9629bb9340cdaf721d1b402f1d145dcec226be8757a032e5e7503f66e5d879a867a180c31c82b2cc1ac18136a1baa30bb680e12359d38d566e1ae05078e1c424ede346818303974683752b3d967ad017131b1181a34c0da6085c9148f99731620213e1edb19b09a3b6b01b634ede6be83b49e93396de5ea258861fca7a625317098c9c09c2dc01a299ba305af4d193c1a1ff3501ffa7a7bf0f9960f60884986d5dc816876ff18c697cd2662cefcc5282accc1915315d8b1633bd252d3d16111a1356ae1b0dba1d119d9fda7a27872295b255d7e0ce22337e3671a9a9c15538e4b70222e2a0f065d020320fbd1d25fc726cf5414a4ac445de73bec7331964dfa11d71ad89d660c581b3d4355d1fe3ca665dc8aa5857f404de76664252e4661da4a98ed5da8efd98428320db26760883d98794957c1a44fe37e27d1860c6e5ea1dc263de65a34747dc6351a267d3ad2e366b0ef8da10d6a42a4acd2804bda20c981d570fa568530ce97547f52f6588d46edd64e39835e54722a75b9fd64022f7aa24f0107ba9756ab82ddeef238d969d482c7e154ad56f95555066c87dbc1951c67c9f78d768076b7639b309c17d70d56829b9b24d39ce076765648a1f39f0894681800f9eefd7761d1458b91999d8e84d418060c9c5c63608a8f459fa50f9bb67c8819930bd9dadb879eeaa328299982d8283d6eba63358e1daa44637b1d165f32036999c918329bb174d91578e7dd57d1ec50e1ca35b76060c8823979c0775725e2c96ddf601b4501ff7d8d8aadc72e384535033336a4666660ffdead309be7e0d205f32493006b5b576b1bae7ef01fb866d50238bb5bf1fece6adc78f56238fb07f0f0d756e1c9f77733391083373f3f84c736ec43727101be3a3d0d7f78e373649716e3864909a8ec18e4be3392a96184dc864e950193c1815ef31e183525989c7307f7bfe0fe73fc58355252b3f1eedbeb9096968ca58b2f4582518f23156598326536f2730ba08fd6c3a08a43562a018f5ea4644fc29225aba1b2f762eb8ecd602ca2ba7d10db36bf8decac2c7cf96b7761e78e8f505e518e85f32fc294e2c95c104d2b598263952730b5b088b5cdc90be2cd5f3c83fbad58adb6600e8bf078cb0923dd0af40c8018343abcf1d64b484a4ec735975f8d6636861b3f5c8b98b814dc78dd4d303b096ea831b9b8045d71b5686def42c9e41948d25b51dfd9832baeb80a074f9421bfa084fb9fb8c86133203e3af31a13c13751cd0d37dc20bcf5d65bde3054e52505d47e5e5a37c0d17abd28b655ef7e975f744cf43b1f3dff9bb9f367a4dbac2e0cd93a70a4e9251e913327f7dfd137548b8f4edccd6f961ebb18f3f2ee4146ec6c6c3af1639c6cdbc00603b0b1b9b566fa93c84bbc0816472f43e06a0cf60d4217a3c2b68a07d1673ec980472b32e316e2d2c90f7367d783f57f630fe04676cecd989ef9156cad7a005dfd27617348727859c103989c7ead341184d149d7a4627b968876ee64ca203f8b61ff1227ef024af446dfc9fdeeed7fe2fd1dff2cb83fbb443fc0433a5e183171443ec9fafb86d88e400bad4e8d66b61b21ff99acec6436f9020304eecfc19d7683f328e56a9192bf513bac5627eaea3a9097970c9d4ecbf96e6de9e3790ad2521331d06f65bb30c9812e1c6d89c329a5e027735e7b7b3f0607adc8cf4f8614caef062882bb1cb8e80adaff5c4ba5f897287401120962bd4ec705a0cd36ec19aad349b5ae288a8376f2148e4aa1f7369be4c0aa661b193bdb5193cf41545414db5d4bbe07027b20b51a29d2901cf14903424f964e23c0699534020203277687141547be70e46c4b99b649136b60c7fd6d4b037ef26c19185a90962c6a173de80cacf0a81c93096b66e4e0833d2729f5b7d460b2d513a872b8863fd36f5ac981f64f77cdc4ed8bd23168757ad646abd582eae68ddcb0939b7e09032971bc6e9ab72e57a761ebb04a8ade21c7558d563b9c2f44c4702e26d274389dee682649bb418ea57ab619fb68f387983c6521b252e2182b761ef1c2233f792492c0fb50add1f2359afa343280e9e41bb22883896f6a47166c15f838527b69e347fcf2fb40f241e19a6fd29ab1dfc98427fb890814324d475154a74aca8f2239eb066e1b5ddf6cb688972dffd28f1b1a9acbdd5fdbdc2fabd7677ad9dd2f87fb65770b3ef9e5f27ac9791ec4ecec6cb1bcbc5ca4f976563526143f469953630c99989d7d279b5f7d88639f07adcd5c2c523fd576ee44e7d04e5c3eed454c49bf1eb53d1b60d21540b055c3a84be029ebb55a3d5a9a5a7062ef09ccbd743e1614dc83638daf604a460e0a93aee43940287aa7b9e7240720a931d36175f6432dc6b26ba53390d382ccf859c84e58c27d4e78513c3f0851904d3921c49cc778a192d47634a836ab5d9aa86aaad0e860605dc7a389542ac1a3deb3db68024b9ed33af6c0d9694213c267c27c8809e6e818a347eb401a10b3d9caefa337e8f8f956760faa0269607f1f2babe385970a0a33f8c2d0d0d8894176fca4e22c58cc36de364ff8a057567b177fb0a83691e0c9da4ac7f2aac22ed10d865c3c32881e38fa4da3a1903501fb0fd420272799fdcd162f9d068dcd5dacdd36aeae6c6bef4516fbcd6ab14bda13f7c320d71ca20758ca9b021e7d23b9f6aab816a6afcf82e3271a513c398d032081e789917c4e1c048cfc9879649d8aa0d22961c20a5db89a13f6cc9a2dd66135822c51ecb611c759ad238fa17586224ae8c5b5ac5e9b20ef73e5cd116d14555a9524699cf0389bd366c862b37a8e37db45dcbe3803471a07f1c6de56b60eb32755e7156ca0337281f9c1814a204aef2b1e477d8e626bcd1d97e5e2bab9a9ecdaaee176f275d18869f9374b51274c365258ad771fd0273b9517f152220714cea2b4f6d929bac5bdfa533f10a65ab6780517ee1637a8f3ee1fa7bb4f1d4ec7a831088b44695d9440c5e875cce6ee5b09370a019d573df71fb513758e003a81e5f5c426f23c674c39b2f30e55a9ad6cdb887d758fb0493c8079b93f414ed272c44515a2bdb78acfd921d6f7bbaa7f83aba73f8be585bf4579cb7a4c4dbf15434d060c09b5c89b96072b3bc8e9707227d7e4e8622cccba0f162614a3f5d168eade8beec1931c941726ad445ed20a8e4493a367a2a9b70ba519b76166d6bf703f14d2180c27501bb5ff08e07be2ab4d9084fda79f1c436a6a2c323213b17dfb7106eed9ee41afc15557cec6d66dc7d864d6e0b295b330c476099b361de6bbfb9e9e415c73f542f4740ff063565c3a13a74e35c26094c0c782f993f9fc3875b2891d3b80d6b61e2c5a3805d5352da86fe840415e1a17fa0d0d9decd862aebda0130659ff1416a4a1917d5f5fdfce76417a0e605a5b7b505898ce84ff20dadbfb18f24f4577f720babafa9194188da1211b06062db0304031656a266f035d23392989819e64f620ab517ebc197dfd6644471b79d8dba143ad6cd3636040cb89b4b4781c3d528722768fad5bca30756a16aaab5b30657236034b1dfcda46d68e81010b5b406d282dc9653c75b2fb9a51c0dadbdcdc8dcaca56e4e624114c618048eb4994e4705add4b903a80e6519012dd29da1285148a9c44af0d593887fb2b32eae7180a99fdfd1d5371efea0258ecced36aa2910988cc443dac76174f8be25be054e48024323e22ee2671c2f25bf3b58eacf052f1d4b3b78e79a282ce7013ce8ef3aba043d3c07e6ca9fc21086cc6e875a8e9fc0445a96b3035ed0e740cfc9277444af45486864fa0cfd280c96957233b71310c9a181cd8ba8fab0873a7e4babdbddd9da712517dbc02fd3dfd98b3622e52624b303fef873ce4b438f5065ed7866841fe5decf37779813fabb38f3ba792f736d5d8f1ef8f2078f957047ff8f40c80d8d8436732e999e0d53230321795152d484d8b434d4d079a9aba316d4a0e57993ad943b57ce93426fc6de8ee911cd04e9437c2683460d79e93983c291369a9f158bf6127962c9ec67f27ad465a6a023a3afb194019c22013ecf3e7e633209484b5af6cc39a2be6e1e34d07b1e29299c8cb4f6582df2cc5ed6f3f86acac240e240e1cace20041abd560fb8ee3983ba7106d6dbd1c082c5c38099b371f436e6e32cc668ae117d1db3dc400503be76f72710cd77c1c3850c740841de98c2f02343b7755202539967d1e406f9f05b36717e1d34fcb18b04845734b17bb5f2603200e6c65ed888f37c16675706d497b473fa697e6b27694213d2396b777ebb6e358ba64326aeb3a909e9accc656c71db448a3c21d63832c8334469aa063a990420a9d0d22cd2b5919d2e2f5e3502b07b058c59045eacf04809b1829a9629b7315cfdfc4993c6b6b9930e1bc9e33c084b8d46b623139e536740d5441a7894249e62d5c2f312dfd26b6231ec4b1d63ff02caeb9095fe529e9ed4e0b1b2813db248b30c618d1ded006cba095097707d77450ecfe40cf205aea5a905990c9ce8982c5d687ec84a54cb8da6073f441ad4de4b6cfeea12ad4767c8a84e849c88e5fcc018b5aad1be9fd3c429b25729385106a2ab1a7cd6cb6a3bb6b10c9c971484c88460503251426d650dfc9010b097af2c9aca969457a7a2207541555cd484b89c7debd151c78d07714ba9794148bf2938d9854948996e66eae8d983a35073b771ee7e69bf4f418c68f1d7bf65632d0d183e86803fb2e816b308c461d7a1860b0d91c5cdbd1cbaeb77c6909bf7f0cfb7ddffe4aa4b27bce9f578c23c76a90939dc0aeaf436fef10bb6f34073d53266760df811a144fd2b1573abb4f15d7aea46798d0d2d2c7ce49445d7d0737bbb435f561f6cc7c6ea2aaadede099112dac8d46b7b98916926c068cb6d5b420232301b3661462e7ee721415a6719e367d72109327a7735f958f3e3ac4801b1ba72e6a4b3c5fcc085cca5aad603b184aef2fa7ef57f29728a4d03946029917c6eb5ac2f9ab1515bcb43d67c901156e6d89b4c93bcf53d24b9e0a4ec41ab2b0ace8277c07ac75a75ba7f4c1e47b5292f92514a75d8f416b1b628d9930e8635177aa0603ddfd983abf0451312658cd560cf50f71359ee84ed1de54dd080713c469d99968ed3b881d150fa3d77c5cca8ece6e3c3de32ecccab913654deb70b8e13568780d9debb1b4e801ae3d09e84c294a51262e4f8e0fd12f7c566bf4686cea416a5a2cbf611b13e2ed1d7d98376f12ea9900ef65c0a9b7c7cccd29bbf794e3cad50b71e4680dd75e90373d9956b66e3f8a1226a86731215f5bdbca414669691e3ef8681f0312715ccb515a92cfc1c4e1a355dcc4537eb205898926aeb13874a88a818d49ac0d09e867fd939e96888484184c65f7e8ecea67f7366068c88a8b9697f29821d2d62c5a301909890606a29ab9b3e9c285935155d5ca9d56b332e379b86067d700e6cc2e42664622075fb366e573704560298601c5b83813e7957c4d32b3e2b94f486e760aef87fcfc546e6e9a35b3104b17bbd0dcd2c9414b5666223233933878228d50774f2fd2d2e3307776311aeb7b505090c13dd7750609980c831271f413ccfd4ac84f47af84072ba490420a8d8b564806466776513d3b45fc44293c956a3188821a2dfd8798f01b4052f414986dddd851f973441bb291137f31628c197c174c02f5d4fe72246524232a3a8a4798f475f5711b1c8585da99a06bad6b454c7c0ca262f5f8e4d45f3040a084a1f3411b101705a4c7cfe529dd27a55e8e7e6b2d8f2c498e2e71fb9620282a94aa123b7da26046aaf528b3627e5e060a0b52b8cfc5a953cd983a359beb1d0b9870ee7303a9140630962e89466fdf00030e090c384473ff1032db9049a7745a2e13f651c8ce4ee6f526cc0c48cc9c9e0f130334c7caea5176a206ab569472e073f8700d0334a9282acc7067a65533a0a7e7008d0010f9aa50eae38b96cf60ed73715fa682fc348fa36e7e6e2a7754b3dbc9fc5208c9635f646028877bf413482113128126ca3f43299be9d88c8c78062a123c5143a455e2cee0ec0a172d9fc68b125e7c51123bd6c9c04809075e2e76ffe2e22cfea2a800ea07fa8eda3a83f147dfb99c22d29253dc11472e98ad667e4f81d7dd11fd684204f7b18214f144be408aa24421851452685c1409022e94227e82c023607a2df5d859f57bd4f77cc293d864c4aec292a2fb6076b4a2aee9304eb6bec7c04a3696173d84acacf9884fab47d5914a4c9a3d191a9d16cdb54d92d7b45a407d453d0f1b2e282d82de6844525409dafab771c05798bc1c8b0a7f80e498a93c1c352b711132e3e77331a7e1c5f36c520e8f60f502a84aad18a46893c0eb154bc2d5a5e2a15a938a333d829ecc38e43b326b763e17be5151028f3221c758394f07f9742c9837855fc36693f49d04c028942d233d899b43162d2a86cd6965ed56233d23d1ed7742b5305c524e32d878540b771475c1731df91d819442542cd0395cdf86ae474cf1fc2470273b73497912c06b4af854f5f552cfba5c0237e5c8f7b47b0a6c090c240d37c013be2ca8461c431a140aef73890e77923419948cac9123b5db1b94a8276ed62a6067e237678aa64b2185ce3164727652d29fb5227e643ae91aa84073df2752383b6bc990ad85edf64dc84fbc0e1d7dcfc040a9e9071bb0e5d40f70fd9c75c82ec8c581ed7b515d56c5808906bd9dbd9eb0b5a6aa061e6e9b989ac8b51b730bbf8ebcd4654cfaa9901a370d51fa189e7298a2a4288997ec13a2d18a4cc86b2132414b5a0e299a053cf69f84b02c02f51a1da8ae134500d91d4eef5a8fd069d53ca533691e281db45ad0f3a8109e2a5fa58241af750b7b2717f8dc9c45d907b50203265498cfc585b12cac79102c8f55d74ae7b046139871f1eac556a92a323f5fcd810db553af5773b51bc5d39393286991bcdb480eab74ac2f5f741fad8ef1260a3cac4e76f2a576d07d45512e25c8ee45f90604917bbb7b97aaa1636d7607ef77ca9de2720a92f96bb45249ea5f4ad5cfc0976f7b3c18876bd3c02371ec36b974c07038a0f7150980517faba09a3875230f17b4f23153f0c90481125a8c284c55a555108a420a9d633a93f31f980852ce36aaf2989fbc02f1a60da8e9f81443d60e14a5ae86511387d28c5b50d7fd3eba1928c98c5d8aeea1cfd0d27d181989cba037ead1d1d4cef3828c484e46e021ca80d88458ae71e86ce8c340772cd2b253d1d763c581ea0ac4c69a505490e5a9ce4bc71d3a5c09abcdc6cd4a0505e9a83e56c5c1c494e25cee88caa33cd8dfb5f56d686a6a414a6a2cb2b3533c6ba74625705f8bf68e5e064074289e9c053513f454b381a284fa0786505dd9c2fd57f2f333909018cd4d2ae424dad3d5cfae5bc3814bf1a46ca90224a4e43c04540e1f21a7d6542427c74b498d2025f8a1881e3aa6bcbc017bf79f42737327e2e2a231bd240f73e6167390e2a45c28dc0954e4e6a0dede01d4d4b660dad43c0e084477993b0206c78ed76068c8c2409094c8476fd072b352665612ef583bcfc9a2412d3bbfa9a595833319451328494d8b47417e3af71b21bf97c2bc5c2425c6f3c8a911938d8dd9a98a06de76cac1d2d6d68d99338aa45c267287b237833e0a4dcded8caf364c2bc975df4af47a5424a8444ecb230b2f4ecc0344098cf4da58ee38ad08cd895b176cf6219e5f82cacb8b8aa390420a9d03b0e482a99543dc3ab9332309eb587d2666667fd51d2fad81c5d1c784403c2e2dfe3d3eab7a085de6cf90197735e28c0c28185d88898f8679c0ecf7b2e41341661332eb1cdb7598811803d27393b07d6719fee77f9f434a4a021efdcd7730a3b4806b38b6ef38841ffdf419f431f070fdd54bf0952f5d8efb7efc340686ac78e8675fc79acb17721f09f205f99f5f3e8f7d0c04dc7ce352fcf4813bb8b0267041cea3bf7ee4351c3a528d28069a1efedf7fc5f2a533e1b0a9184088c2fefd27f193ff7e810bfed557ccc3833ffd32d75ea8b52aac7df57d3cfbe2464c9e9485bf3c7e2f071724f40d7a3d76ee3a86bb7ff018befed5d5f8e1f76fc38063884f108a3e2287d0a7fef22edeff601f0310b10cb8c4a2a2b219ebd6efe0fe1bf7ffe72dc8c94de55a20f29f212dc53ffeb9117f7be103fce991ef62d5ca79b098adfc5a4d0cd4fc7ff6ae033caa326bbf7766d27bef098184d07bef4d69822828d8b1ae755debae7dd52d627757575d51d7b2b6b5214a2fd23b8184167a1202e9bd4da6dcff9c73ef4c262140e8fe3a1fcc9329f77ef7ebe73dfdf1a766c383ae0908f09631acaaae97a453ecf27bcb4d97a00d8139032d950f3e5a80d56b33082c853b03beb194896d619e7be646e4e797e0913f7e80cb270dc6a30f5d03bbd9eec4130ca63866cae34fcf465262146ebe711cfef8e47bb86de6045c77cd25d21e4da262427e4129ee7fe85f1832b033faf6e922e0c9d53059b323b900db85a3485aeae0e31586b888f67af459d5e9d72f18c50d54ced1506b29e70fe76f1595a801eee078eee22ebf0c81c96f0098b0cb276708e6bfda31aff96933e1c92d5d87aca2af896baa44f7d83b31bef3bb28aadc013fef280479c7c36eb0c037c0b789a4c4f5606b2090b063fd7651f1048505a3ebc01e888c89806adf2180a5acac928867297a756f4fe0a30e9f7db914a5f45d684820ae9d3e468b644a04b7b6a68eae2bd3b2551288282dad14a904ab1c58aae1c0911ca5357deb7eecd9930b233dbfa2b256e2710c1ad059da6410958e492433dce4254bd3317c68578cbda48f10dbf28a1a890c2b1926f5047f92b69bc662c9b2ad08f0f3c686cdbb093c142024d48fc688d52436cc7af12bac5cb39300c8540c1dd2450c831950b004e56fb3bec0537ffe186fbc7627820203454d555c548ef59b762124c80fcb7ede8a91c37bead1571d7362c71f7e37458c54abeb2a515559877dfb8fe1430222f73ffc2e5e1530972a6deed7370d8fff718678f638d4412c1861b7e09aaa7a012a0b176fc28cab46213e2e523e8b7b38019f356b33b163d7617157eedc3119d3a78ec03befcdc5c0fe9dc56898d5502cad7aeffd1f05a0dd7cd378cdb0d6918cef22700b1cded9c3e42debc7a6abe6b84f1c29d2cbab697a017739bbc27b855f121adcd01a7b210d78739c1e8e8479a2f71c425c93fc59e0ededddc801b2eb2acd254bf6642e59826869106923ab37b530edaa480b798f5aac0d672f95a3b5c2757b714871de7bf4ac7a739d8418e7b0e7929681bee388acbcae38643c8782afadab85c3ce8aef65bb332e0d66b3ac41092defb20c79dd4af4d5fa7a61a0bcbc7c6062892c5d546fae97df7d7cfc9ce78099c689fbabb49a086963cf6d61268f13c369914f55514f731fc5568e9fa533152c09e3f756ab459f6f233c1de34ecfe6fdc573e53aee5a746c4babc79dc7c16269d00de21d6ba041fe72dd7c7e9a1bea65ac3c5de6d8f11baf05b9cfe421cfe5ef796cf806a60f1cc6c0e0721639234deb6ebd16fd0ce3be393ef37b831ec99bd7a3c6649dde3ae2f5699131b2cb7b91aedbb568bc3c97dc264e4cc873cdb1bdf87beeb384a6b769ea705e5f5af04997f6ebeba1a90d5f7389097efdc0448899a2342134267822af720b561d7c0435f55a2c9908dfcd480a1b86f8d0817420d4a2ca5c007fdf70048404cae0ab2d8c230f72d1d14278797ba173bfae08e618188ec8791242dd2893c5d1547f5ab01e1b36ee96453469e220f420b0b26dfb3ea99b550eec96eb08afcc1b841725ffe658948aae925ab36eb74470f5a4bad90875d3e62c14149421520283b1fbaa87dcc70b8909da871f2d1677d87071fdf590e76be1e93529001f38393905d892be0f7fb8ef2a7cf5f5320227bb30f9b2c1b278e6fcb00e4b976fc70b7fbd196346f59470f35a9877037af64cc5cbb36ec7bd7f781b8b176fc38ce923e0416d5fbf698f487e7e7ff7547cf0f17ce4e416222121d20984b82b7e7e3e080b0b81578d07c2422d68df3e017d7ba7e2be07ff85d7fff91dfef5c603d2569349414870001d6a5ece19e58dc6e3636e5011cc521fdae0f3166cc03d775e213632ecc65b4313fbe3fcf588890a1180c36ec9d75f7329162dd984f7ff330f7ff9f36d92069c2545f309d83cfbe4cd88080fa103b9fe225a9eeab98e5c7218959797a3b8b8580e341f1f1f444747cb5fbbddde0c281bb4048a74afe504e1a28f23ccac62b3db9ae415329934426db3db4f9fd0b3dd935d4bae2875b344f10c40946b6ea6960aaf0b4507b86745b35dbdae5a31e7bc176b6b6b70303b0f29c91d8808d7e270ee01b44d4a1562b2ffd01eb44fe98c9cbcc3d287a88818fcbc7a9176b81341adaeae41bbb629888d4ac0f2558b846874edd493f66e0c0eeedf853689edc4cea9b8a41075e65a24c4b6394e3d79ba8509dd9e7d3bb075db1689afd4b95337f4eb3504e9191b90b1238347113dbaf546e70e3de4fa83d97b71e0d05e8c1a3a5ef69917119fcc5de974eefc2c67d4a811e3a57ddb33d309f0fbea86f3664446442338384ceae6beaf5ab70cdb32b6203c2c1c23878e85bf5f00162cfd4cd633e7b7e9d5bd177a74ed23cc416bc015e766e1f5b06afd32141517a17dbb34a4b4eb480c8a2f0e1cde4bedd94ae7440806f419466b588b2bb4ff7016fc7cfca96d31b2362b2bcbb164e5420100dd3bf7a2f32782fabb0bc98929726e1615e7537bcc888b493ae5b8f36a6102bc73cf76590b0c9618f4ed3bb85bc6326bff4eecda9389289adbfebd87c833f7ecdb29cfe21c378772f623d03f98da1ca6e5daa1cfd191b1c8a3359496d245fa5a58ccaaec23282b2f9179907c4336f67ef4431d01473edfdb26a712303023ef589efc9e9a9246ebac0af90547111818841e5dfa88faf974f621d3af8c9d5b914cebda97c06416adcddc233992cb88e7cc8fbee3f0ffcb572d2466b75cd60f8fc1415a374cbba2a262a4bf3cfe55559528292d967b19b432c8e9dd7d805cd7b2faf4e2d8985c703694d53506a7e64afb6757ac880cec8491a9ff40efc499e893741b3ac64e9183a7a47a2f9666fd09f377de889d795fc1d7cf574b4074421db4824822ba7ea1deb4c0ea9a1cac7cd8f9fa7010b11a7cfed512021466e2ea2330e3ea51427b5cd70a4b009850fa10c8f1f3f5964cb782c20d463d978401c54515d84840846d50da24452224d00fd9b945d89e719016bbaac757313ae098a829f664e5e2cbaf57caa1e28a451d6e599e444056aede2ea876dca5fdc40d78f1926d6288caeaa0efe7aec5e891dd3162783709ebce46b19ac409f27b1cf5e7a5bfdf8a4e1d138420f2265bbc6423d2da2762ec25fdc49e63e5ea0cc9a3e3949aa88a1043bb78e5b0d44821e05087c8a850dc7bd76464ee3828a0cdcbcbc349ac1de1fbd963873719c7a2a9ae6e10f7e79bae1f87058b37886a878933dbdeacdfb80b7979c5b8ede6cb24b9614d6d1d42438370df5dd3b0f4e7ad04487608a079e35fdf60f080ceb864746f5159b926fdbee02fa531e0b423d9557e7ebe705a898989c2d91e3d7a549788294d08b9a5a10edbd3b760d7de833ab7e6a119077b689e587c38f17b3ea01dbf671fd8878aea7af95d032546ecd9b91ddb76ec76b9cfa0035ac5095c3cf4b9747cd6323e9b50406d6db0dae5f743fbb350a64701361a0ccee7f23a76b4d9d94efd199a7410ce24608e671905a09a9cd7575756a0b4bcd2d9c673a1d669cdfc88f48a0edc773f7845b8c6bd44841e7be64ed90b070e65e1b3af6613010ec4dbefbd847766bf249c6b51d13102fdebf0f6ec17515452842c0209cffcfd0f44b43284e87cf1ed0744808ee1fd8fff21809089ced68c75f8e1a72f0880faca7359f2e0e7eb23609e2581a7b3a65862b372f542fcf7cb77914dc4efa9e7eec79af54bb17ce5027cfdfdc7d87760371e7dea76021f5b84907dfac5bb78f4f1475148ed0e0c08c24f0bbfc6838fdd426dcdc58edddbf1ea3f9fc1d16339c46c1cc27f3efd07be9bfb2911c13c2c5d311ffffbf62301206ffefb05fcfd952788289561c9f27978ff937f08887bf39dbf4abf73720e10412b751acc9f72dc8d9ae4f685571fa7bd3b1f9554ef97dffe87c6331f2bd62cc24baf3f49676c29d6aeff19cfcd7a484b3247f7bcf8da93f894fa1d1010486dcec5537fbd0f7bf7d1b970349beeff40faf8018d3bcfbf9f9f1f366e5985790bbfa173d8b7157b55a173c6079f7cfe0ef6ecdf216395b93b9dc6e333fcb4e86b1a83bfd3f95489854b7ec0cbff789ace9f6abcffd11bb27eb87e1efb9d7bb6c9fbcaea0afce7bf6fa1b8b408bf7fe43a6c4e5f43802e9208ff7ccca3baaaaacaf1c5d7b3b160c977282d2b92b595b163338e11f8e067ccfee835eccecaa4cf79a820f0f5ee072fe150f67eeacb77f4dbeb221d734d8a7cb2174b39f28bf2f0c813b760ebf6f5080a0cc6c79fbd4dcfdb4ab4670dde7a6f16eaeaebf0dc0b0fd119bb92e6b1042fbefa0431a32b088c2ec6eaf54b04ccf0d9ca6b3a9b80fbb1fc3cbcf5eedf05e0f25a179b4b8372c271557e0baa1c3156748892944649075be327850da1d750e70f657587b064ef9d28aa28840fd1c40385f3d12675027cfdfd504507614b121336aa8c6b1ba7a928540bac76b333ce051f349fff6f291d584bb173d721f812e8b8e6ead168db264e5339280e4ed380d5eb3225ee0873576c1bc149e94cfae489d78da701e944ac0f1ece172270db2de3f1d5d7abe890d985556b7662cc985eb4a86c2efd76485f0cf8f6fbd5023afc88c371e512f9a0adad3363e9f22de8dba703716e011831a23b66bdf4150ed373fce9306415d3d429837515427330ab19cdb64b89d5331bd398edcfa5457c088fd1068b89e114df5db09040c3f4a92365ac9a70a6fa6e3119bc2435248b933b10a0090f0b12c35926942cf6e3582b0c8258b4c5aa22de2c0cd8ca2baac5f666d4c85e7428aec0a2a59b31f386f1d2a6afbf5b417d4a23c0d446546855442459723272444f8c1cd603fff964010ee71488caecb9a76e91834c5c962fa69faeabab9c8b9836222202fefefec2719494940840f1d045eb0e7090be7e232aac9ee89e908c6379b974b8942125a52d8ee61c26b6d9175162177418d1b17128a6832230241cfbf6ee8121371f5dbb74466458280a89d35fbf6507ad81e1d8ba792382c26310114c1cd3befd48484e416468308e641f42515915da77e8002fa38a5c1ac388c850fa7b0ce534c62c42de9d49842b2f1f0306861258da8f98c46418ac35d87f28176ddaa5222294a3eb5ab0336307ac8a27715b09d4962c04854513e08ec786954b61f30a416a5214adf72348699f86faaa521c39568838aacb5a530183971f8a884036a81e34c7ed35287ec62aaed6494c786fb2642028308438c86c22f407c4703af7c861ec25aeb24ba79e44b00f20c03f50da9247edbbf5c6fb69df6ea4fd5c85076e7f1c4fcdba0fdd898bbdebb6478480d6d5d511475924d2449e57265c763d56929659d6035b366562d58a8db207e3136331e9f2d1b22e5a63b0abaa5abb478fb814b39efa120f3e7d25961128e1364e1a7f391efbfd1b98786d37010c69295d69bcf7ca9e59494426263a1eefbcff121ebaef194c9b7203310f9c33eb1822c2a370e38c3b71f783d7d259964a75bc8eb73f7a0e5bb6ad23609c81b9f33ec7dbafff0fdda89f959565a8a2bed7d5d620282814b7cdfc3de2a85e56034842bf568cbbb7b72fbefde113517bcf7af65fc298f0d895961513907a078f3ff4223a75e826d7323099bbe02bf4ea3640387e3e3f8a8b0bf109019461832ec5cdd7df2baa151ef782c2a3328232eeec5d488c9d41579d9faa5d920e8408fe807ec3b17aed128c1c3c0e1b36ad447c6c129d433fe0b9c7df405c4ca2485e1efbf35d58b8740e814e7f27e8e6f93538b2f0ea74ca4e6759bbe48ef8e29b0fa5fd7c6d5a6a67dc71fd93d2d7f8b836b8eeca3b04944c9e38031d523a8923c5e7fff3c4d5575c8f04fabdaaba8a406c00eeb9ed21e4d35c3df9fcbd9aca8cd873f55461e6552d1bf4da75cb3066e4e5d84af3396ef4145983132f9d026f629c19b87efecdfb22097afce1593210c3068ec69b045852daa6c9f70e98c1eb78e4d0f1888b4da4fd91891953678a54b0aaaa42cb60dfe2185f9cf3d770e11f288ea77038a12a6844640c24386bb04dd5ec170a2b32e8602844b0af37fc7da2d025f60642c2a188880f3f51f05524a4262038225802ab492c0fe6e9a95e9d2fc4e2a55b08356f120941545428c68ee9a7491d5c24384c80971051fddb4b9f62d62b9fe1ddf7e7a2baa64e0e1f27b8b2b3cdc46e21d0eddac508311ed0af837053e9db0ee0685ea953cac22f5e4c53260f22221f489c4139fefbf93259445a9dbacd0a715f0c98728e14e18ac98345cd3e6c48373a9042b06ad50e2778619b12d5ae38b3f436f9a768b142d84683d5383fafca90dc3ac387f690b64d993c941073191d7cd9ce447fae121bad0ee2888dde22dd62511f077b63d0c1d2a6b504bceeb8fb75dcf7c05bb8fbbeb7f0f8d3ff91fc3b1c57856d71b8ceb8d8088c1fdb1f3ffcb85a3221efa23eb1b7ce94c9c3e0479b89c5c55595b5ba3a4fc1dd774ca14d5b8a975efd5ca42dec11c560a6c5fe5dd07f86a6071f8d058f3f4b491890f0cb2135687e4826b56d87f2e20294d021bc76ed5aecdbb70f470b8b5052948f7dfbf7236bf76ec9b89ab5633b551c80006f132c76da19b4feb3738f0a90ada82817c9cce1fd5904c609c864ed44666626aaeaac0822706eb759515e5642e3bb1b35750d120be8c0beddd8b66d1b11e423a8282dc1eedd7be40063f566c6d64dd8bd772f766edf86cc3d07889bf6c4f61dbb0404eecadc863a9b01a5c78ed0fadd8623f9a5080d0d61230854d6d423c0d744d766d13e3451fd5ba99e03da7acdc8c0b1c2421c3c9085d2ea063a8c636400ce06949cce3f56b5a4b4eb806d3b360a619b386e1ad2333750ff0fa24fcf4158b96631528960b46bdb81988665424c1950f2215d5957269286017d4610a75b4d84be46a42a4ce00a8b8ee2e5379fc7df5f798cb8ee6f444ac6848bcf8d8e9d52c40e6debe61de8debd83fc763a2d67ce7ef5ba5578e0a96958b57619118b7152c79c797330f5e6213053fbc68e9a82156b168a7476dc2593b17cc57ce41dcd15296cdf9e830960540a9060b50813716e3b73c52cb2b7a24a24ac6c27914bfd8b8c8c43fb769d505e5e26ad8c20c0c967635d5d0dfef4f43db8ef91eb699d16c9f5ad693f8f11ab97faf41a24e3c1ea0196061616e6d3f91c4204b1833c8b09f0807e2371242f9b38f7a5e84dede667afa67960354ebfde438570cbb8533fbd3cbde96ccac54bff78167f7be571fc40e3e1e5e1d5ba73800dd51bcc18dc7fb4cc29ab93580213139d80f0d048c4d2dff20aadff7d7b0dc6818359e29eeef43a61baac4b8cb82f063d636fdb3669c4384dc0db1fbc2c2081d70f8f2f4ba35965566fa9a3f564c61bff9a85bfd25ae16770bf5f7ae379eac7d3a2e2a9aea9c4f32f3d81e75f7c18978dbd5afad99af5228c2a01c8f48c4d9834613af20b8ec95872fbfef3d9bff1fa5b2fd0d91e4bccdc110cea3f52d60d8f7b6abb8e222963c919ab0ea52edd8e91d74cadbe56ea090c3220744ac14ff2efd71f608dd1a9627401672d77d84a077472e418c404f79100689e267f3d0b700312d312509a5f42077f8588a08418d00689498e4172d7b64e8324e8d0871f66d719e0cb2f1b2c6082252247a98eb93fadc15dbfbb423698482118201150694f002726264cde37981be820ce16d582704d045c0e65170a00f1f230c9247ffadf25b4d88f49e23ecefccb1e3c696989749068f605ecbd3374701751e77cf0f122b1ade030eede7adc146e268bc87f5e992e00e23071bc87728e8a870ebb39af2080316a440fe90467fe35180d271d3fa3511157e595741f7bfbac59b783b895061927261acb566c15e9893373a4a234a94f3bf4bd51af6a314a3823b1b9c1828eed9370238107060e3c665e5e9ea2eae283b0848089bfbfafe86c278e1f886fe7ac149b9bb5eb33d181c046ef1e69c4a51f91a929252e9f892f07956bdb361ea386f722ce660b265f364482d1fd52c2b72aaad2a857a779898d8d455e5e1e1d06c7e4331faaa5a54cc443b5ebd99ea6ba02f5560322420271e8f021281edee8d6a913f2f6ef4571593942898ba9a9b7a0df803ef879d17cd1cb57d2811219130fa3ad86807584d4c586d9f1f1f138b42f4b38521f1f7fd4d6d7a1efa0fea262dcb72b1dbbf71f82a7b7b718142bb42ecdb5e5a855bd9012178ac212e28e6beba8ee72119f97151c45bbf61d10407434fb58316aabebe8608b926795945620289ceaa0f5585f578f2edd7a2028c00ff5d417b355818f878700ae3ab385d6ac272aaa6ac5ead99f40ab950d83696d98023d45f7cef3ea6a27732682aad6ce3fdb1574ebdc071f7cf20671e4ed31e6b2cbf0c63b7fd1a419b16df0ef0f5f25401d2c0c4a7575a9102fc73ef7204213111e892ddbd712d11c20dc7c3d8d2f5f134104ffbe3bfe447b2718f3167e2d0441332ab58b3af981476f4775550da263229ce7426b3bc7fbcfdfcf1f0909c97866e42b1845c064ed86e5b4b73a8af463cfde6a02784998f5fae3b24fd66d5841eb682f4aca8a8438a6676ec49593ae435d7dad801596b634bad4eb2c86a27929c6c7b7a1f3e888a8123a77ec212a0c06702c8d6089c1ace7de455c4c82d46bb1b4ae1fdc7ee6b4b76ddf801957de4c6b2b8898a1068485458a5a27f7c82101824661d2d689446bc7ee6d44280bc406a28ad614db72b05d4dd7cebd0428725f58721213158ffbef7c0c7efe01f8fec72f50565ed46ace9d41034b03589231fbe3d791407d6770faed9c4f505c522463cb739f9eb191d64a0a9d45597476f913d80e94fef3fc07f05ad10da5d95391c7ebea29378ae467e192399870e9958d6b54d1e351d17eb8ebd6fb8966749231e7ba1eb8e7299198b061338383312326e0cb6f66cb7c180c8656f589ebc9dcb595e8540e962cfb91fa50828d5bd7c8bcdd74dd8de894d61d7ff8d34c396fb94fa3874f2406c41b597b778a4a29ad7d17b16f09a0fef1989bc5c8dad3254ea572ea763869c3af3c24bd26713049944eb64f389984cea8781027190d47861dc9b448071e87a48f498e454549a51e008c0d070d886d1323dcab96d8af51042f984fd439c0944943d0b37b1a6eb8f5799af443b4f85763e284c1486e13e314bb30529e3e6d34ae993e46543cb9470a71e77d2fd32151ad0d1a3d63e3a63d92f385ed2ed82b675bc6410116ec32cc2157d7acdd8969538739b342f2415d534bf55e350a8b97a4d3e150aa7bac380c1f8d42d8d71060e2c069dfce5925bf33486110c006abfc7b4a7234d6addf85c99306ea61f2d5e3d695a28b9cb71170cace29426202f0f17f17881893b9224ef0b776dd4e5ae8954e3b02c742555ca2b2711d7c3016525b63a32368c11f416c5c04268c1d245c82aa1f526c05ceb15938370fdbe6b0ad4abbe4788c1ed90b6fbefb0dcaa88e07ee9d2e1cb6176d529648695e3d7ad666aa8301186764f6f4f0d0556fbf0050a234e514b85d6c34d6b66d5ba7570edb9c1c397244ae6570e2085a575c5880283abcdb24c4e2f0c1fd42b053d3d210555d43fdf4176f04b6bde9dda7370a4aca89f30d476a8cafe8fe838242c4a82e293905c161e1f0f5a4faca6bd0ab570f5411a7eceba981e130e2963ad93d0498281cdccfa6a07baf01f00d0a85d55c8328226e45f979a8355b919c9c8caab2189456d521be4da2d83ea9266f2220c952578f1e3d080ce71120e94920a31efe4181b20f8cc4dda5b56f87d088486dfdf806c1525584aa1aba26381ceda322504340c6cbc4761db9027e19c49ed141a6ba1a1db7ee16f606496ddb919882dde8d9adbf18601617e713d16f2bfa7413adb7bf3cf59a0093479fba8388e94639f099dbe57baf9f7e2771b20fa182c63598c67defbe1db8e2b2eba46e7f228e6cabe0415c3b1b613af4ede2d24fc0d0d7d74792699e8e0e9eafadaead426a4a2afe70c7e3a8a82e1303f1ea9a2adaa74978e4bee770d9f47e7876d623045032f18f173f4587f65d71efc3d7e2e755f371fbcc87f1c22b4f615be666e17677ed4ec72b7f7b1fa121e1c20db33706f3fb0c322aabcad1b5632f228a97e3de47aec7b8315370f0d00149c5f1f0ef9f13a9c537733ea57e04d333d2307ad804ddf3e8e4c54ce06de2a5d3b069cb1a3cf997dfd3bdddb19dc0d254024b575f79ab4806468f9c4267d67e3a630a30a0ef70517d3cfdc797a59f8f3d7b372e9f30039f7f3d9b7e2f96fd70e0d01e5c3e7e862c017f025a32ee26a3f443515ab91e546d8f0e19381af73f7a13de7ef50b24d13a1841c0ef89e7efc5c86113b16b4fbaaceb8963afc2434fdc82cfbff980c04920da24b5c382c5df0903b971d37202aa03e1e5e923c082cfeedb673e881933478b34441b5f8bac03961eb154633e8196749a93c4f824aaa3063f2dfc96c0573801a57891ea75ebdc9300fd3d98fdc96b0440bb695e35eac98dc559a2b360d1b7b8f6aa3b70158123b631f9e8b37f893dd58f0bbec39af53f4b7fefbef58f78e5cda7f19797fe48603c194b7efe1ed3a6cca4e774c5df5ffd13add5005ad719742677105b19f1fa6a68347138f9d82aad0686e7d443efcf7ffe73932fbef8e20b252b2b0b27b27b6ae16574f9ebfa3235fbccd778de3873fa2571f131fe927196e518aac1257b62f39766a9af4aba39b591781200e03c3945478b1a878db8b4a8c468f807faeb6264457791321170c811890313c421833ba367cf0ec4155a883867a2bcb206a1c101183cb09bd837fc387fad78d90c1dd40d3dbaa50ac7cc6ec6fc3d1bcd76ebd60e830774c5bbb3bfc7de8347e8300bc0a48983d1af7747f4e9dd41166e5151b9d8a78c18da5d16fa82459be5f01939ac377dd75bec30381e88a783c08406d1861e894d5bb344caf0d7676fc66db74cc4a5a3fbe0b289033066546ffcbc629be4d9193cb00b667fb4009d3b24212d2d4112ecc1dea8826294af392129f8cfc70bc53ee69fafdd8769578cc2c4718371e5e5c3d1a94332bef87a29ba744a46746428bef97e05860fed450b37568b4ccbee8704101814bdf5ceb73856508a7bef9a8a95abb7c9d8b274830f64abcdae85b1d73d8a58fac4d2995123fbc87c8404fbe39dd973256ec9fdf75ca5c505a1fbe62d582701e5d8138ac7856d74d838f6c0a13c5c7ed95001309a26e06c4c570dcdacca4fffc5fdb2d8cc22adf3f50e928344d5d56f0ef50d1be93117c280453c68d8ad9088615c7c3c1d02c19a31765434ad133a6c89fb8e8c8ca4310a228ed94fb8ef80e010c44447493d5e540fdbae685e672a020283d8990cc121a1720d1f66fe0101ce76f810e7144ddf87112052f4ef028283c543ccdbd74f0c33c3095044474589c758203d2b2a3242dacf6d0a0f0b154f1da98b88435c5cac48f0fca80d46bd0d3c67dc666e1bdf131a1c2429045252db13771b213600dc174f2f5fb9dfcbd374c6d2121eef8a9a02696ba3d1f8c95faa6e20d83eb52b7a751f20d2a7366d52d1a7c7207aef876e9d7a2324444be79094902244303c3c9a40405b5a9fa1d49f700cec3b52f4ff4c682e193599989454c4c62422323c46ecd2fcfc020860a610e71faab9beeaf65d0e29ebe9ad2bcd162231be1d2222a205204950416f1f6a533b24c5b725e0db513c27460d9f200492fbc8d215963433414f4de9807d07f68a4ae8961bef457262aa005936ce652f24ae97236bc7535d09f1c922e66709c5fe037ba89e36b8f9fafb846832001037785a03d19131449c5375efb2568c39f561d8a04be8acac45797905060d1826363d1dd3ba2291007976ce6191c4dc7ae3ef654ed8be85d50bacb2898b4d12e9d62802426c70cce7fbb85153e89c6827128fc8b0683957b87d6d1252453d64574fdd2e2d55069da72191e8deb58fb4870144afeefd4585947d2487c6a703665e7b8f8c374b786c12511bb40686a16ba75e7406b10a7000265c3a55ead3d6493802fc83e87c1f4cf3d38e808c1fede730992f368ee6f1163a06664ec2e8d9fdf5384f06448447a0578f8108a1eb63693cf899c18121a2ce514f713eb1149aed537a76eb277b3198180e56ddb54fed223699bc96af9e7213edbb240cec370265e565a8aaaec69593afa5fe8c10495647028d87b30f12604f23707393eee4a14a5b78ac19349dec9ce4b3825dea3f98fdd9d2cacaaa128770ea042f7b0b2ff5042f67090c0cc47df7ddd7d44eef227860ea1d36898e5c857a06068e1ad7d2d83db5d1b5b3796c7f3944143d458c22b973ea889bbc744c3f7cfddd72ecd87d083ffcb806575d39ca191b40241c9c748e0f1f3d538c4ca8c4e3f0c4a1ec7ce210f6cb26eedfb7239e79e256dd28cc13df11917ff4a9b7896bab2062bb5788bfdc29f5a99213e60a0207cb576c911825ecd12362577ad882c5eb89fb8b418f9ea902327cfdbcf589f31723d19fe66dc08cab4662f4881e78ece90fe8b9370ad0f2f4d6da5d5e56856fbe5b455cd131dc7af3786cdcbc97c04d6fc4c48581183e51bb30d1ebd62d05a9ede2b068c9465ab00932271e9e9a9785550f9c565854868f3e998fafbefb19cf3c369316b29698d0c7d75b4493363d74bec35db4aede4c60ac064949d1f2990d5bd3dab7c1cb7fbb5b321cb37481ef6130c69165d966459bfa66c1d214a5d5c68f27e79eeca2f633183ccf3c068a4b5b94669213571b8af0f0706d7e7577599122b9b85d5a4ee282c92e8db6138aa635899af504eec612aba2991ba5add9b5ae6ecc76bbf5846db24bda83965be2b8d65157a89e64d1f1bd4dbfcf7e96aeb44d88fc69cc3f1b933257cef6159cf4b15be7de4e37696d2d9ae53a16b56bb9acece8d1b5afa8c7587d101a1a8eebaeba558f3edb2092943e444cf8375615f121eeace72cd7254b007a1368e235295e8392eea081989d51f27b654d8510d27ebd87483b5982c6ed642ebb4bc79e12cf6450ff51183ef852d97f5c1f4b4a589a357ac46532073575d5e8d4b13bba76e92df773db2f9f381d574eba56ce30be9ed7d4f5d37fe794f6f05cf2735adb3fbe9f5508974f982e7db18acd8566c4daa5632f915ea97a1c15067a8ebe736100c0d7f3a3ae9f7e9b6eb4afb5a977f781a89771b7884ae674c79db725c75061a989d812b1612eddcfa06260ffe1b25678dcf97b06460eef361e13362eeed2b9a7487c5952c2408afbe15827ac3ae139a96ba8a3b5d459de73dd6cb332a0afd1392e3ca603fb0dd3fbacf5538bd362a3ef47ca38d9ed6a2b0c7a55f4ee3548d607ef31aeb7178d0fdf66d463d270bd6c2bc4a074eae5d7ebde830dced8246d9252f475af6afdd6f73083780b118553b743b930c12c2fbe2ac761ac6414550ddb922876a5f52a5a1daf551111e6c9d2f475aaa812ccac1e509546bb00c0197a9e09a5513c7314c9b6cbd152afb9ea123cfbc287c8da9f832ffeb7540c61596dc25cbde63aab1324bb963b87bf17d7d70d3b917bb44844b9a347f4d13200d799c588b657cf34e2606290b1633f962ddf8ab6c909e2b2c96d60dd3c4b088202fc71d7ed5762d7eed7505caae5fbc9ce29c0baf53b711b010a5f6f6fb1bd70202f96628c2260f2f997cbb16acd0e3cffcc2df8fb8b9fe1f9bf7d22998213e2234532c38089ed4feeb87522d2d3f78b8487dd6e6d6c0ccb516025c920c40075ec980178ffa31f71e5e52384b3fef7ecefc5ad98513a87af3f74385f80c4f34fdd26520cee3b4b32b88d7f7af22d898be2547dd1755c0ff78d638f682a266decc75f3a500e03ce79c38700ab6cd80dfbe8d16227c7c9a251ae430c5e9b185c9d2926b18b37160f9fc31beaccec4b8833347911b1aba0756ad501cef1d200bb9e3c48f98d64fa731c6ee7b2bfbc0aea1baa25cf93d1e07ddacc8e1055dd70510b9a0527687200535730a605133338afd10298b9a82b1acc4e66877f77ade76c6dec1ced70d6a728ce36b35484df37f64171baaaf34b33602442693e1ed0358e815108a44624b5bda81939362db5b5b5c749ac4e67cc993036ad57530b30617480105760eda8df757e9ab7416c805ca41fa73deeba39048312d735da2001e4cc4de802db133565046c2e6b44d109bfd939beae73e4b8ce2000d3dceac639e6a8557b4781b3cd8d63676e51d2c867699dcb1a76b4d9b10e9a7eef5aafd22a53f40b5d2e42803517972c0e3ea6daf4dc35a7b32100ffa00024a4246846a0e28962d5241e2a9a0c2413bc364951b8ea8a619ac70867e415425983c993868a61e7f6cc7d425c58a5c044988d465992c08499279cbd52268e1d88d2f22a74689f24761757d0bd5d3ab5c38861bd24478cb6086c888c0cc59f1ebe013fcd5f43f7f9c18bda3469dc4042e3e118d0af8b20685ef07d7a75c403f7cdc0d66d59f4ac78094076d9f881f41a8006b3d5c5570642d4d3da27e00ff74e4575759d481dfefcd44d98326910e62fdc88fd07f2a48d575d395c004c6c6c38de7bff27dc7bd7e5a232b134d89a18b59aa9fe2b260f13e34a56d7fceed62958b9669b18f1f17845468460d28421d4c60e88880895efd98687d5419a74a44173add3c7d7dfcf47d436acaa1a33b28f16540d0e4ec4e2dc00aa88acbd70d3751324c6894d37c46543b3b4f6f1725018149be405628fa03302252229a977068f831e6fe54c8ba70781445b0d72f2b75d94e8b3bfa5a2aa3611b10bb075e7ca711777b9f845b93801d694e66e7d53a64c51e6cc998316ec4a9416ec48f8e5a1031c0f97175bbf79e97f1d2fbec67fc98aef66f5eddb33ba4e47b4acce61ee567164876dd518b0678c978614558b264226f6965d848f330655b5b824260f4dd4c66e5e76ab66b9e269f211a34491b8d8357b092df0999609d8910f86ed25d8104b5c716d9a0a49a27aeaa23a4d1ce64acc4cce50e55c8f49afd379ad3edf5a602c4d6da425f663d160dd71f539b45d1e5e265dfaa17111fc1c9e01870f3a0b071828580988702e1eeeb7854088aaa93b0984f83843df1b24dbb0168dd6a4f7adb958dd91d9d8d106ce2e6c30184e20dab569619775bb9313cd2303070f02392cd6149006bb6e97c16ee4c47d70ac10cecc437373dafb81634fd8ea1ad52c8a4b9fcf124c73bbddd985cf232801f4005f8a1b94b88bbbfc420a1bf7d6d5d5a983fb8d7f2c37372fcb2170d45f6697f7fcb2e82fabfee2f727b24171da9bc4c7c7ab5959592adbe95d5c89898b78c860d0a5267a8e02a8a70627a25bb59a257bae516c0854c9bde370cd654312c521d3533423359642b88a8d796c5887cf2a1ad7c2d289e6622fc9b3d1c4855515b5c371d739eab0d84e5da70e549a8a311b34f5c6f16e36daf5669b5374c7c3646eb0a225cf4ac9b743e08b0304e96e493a0a4563023a7b631f9ab7f7f8f9d2aa91806738b125b9c3c6a049d66715bab1a64dbcaa54c995a1074ed3556e2cd390f6b29716071e7291ee9cceca62802b419918ad29ea3915454a7a01b7c4e4029e11eee22eeef24bd88df86d6417569ab8612ac2d57a12b4aac3891209b5345490088a0d5a9e1623bba07a0bb86180c27a6a554f3275a20a9cc00568f5c0db1940a936cdddd951f73962ee54fd1f5a49fc1445d375729b5a73adea94461970de7dd2b5b09fd23636b81460a24592d15579062728690954b9f0d0a737823c3770f5f2ba78a248777117777197fff7b0c4e900f02b07268ad2f4aff6de04a3eaa57951a095c15cf401632909ab2f5872c280414209db3d049cd854ab0bc7ac3623630a1cde320ecbec93923dc927631142cb0497ddf18c4e8072b6845e0b972fb1565a458221c6c3ec7162b7d5b51a5a693136ce271ad1a423e2e1a15a753f7d47a03ba36beb4fd2e04651bed2eac03e5a16600718555ceeb94859bbddc55d2e0027eb5679b9cb85a3d9bf7289c9f181ab2051463dc5c553d3e32badde9a9a91852a993a1d39773480422f06110c2674a982e2222d505ca9f529a5081a006242cb80440bb96d8155b5399f777607c5e905b161c2ab85183634aabf5af104e5349e71daed1709895557a9d95d42baab27e8eba947a3f56dd5ec791a95364ab35e5f002991bbb8cb053837cd75ec65a1c0d74f973cbad7b5bb5c085aadfeca43d23ba2271e6f906810758cc378b1f5c3d0b831ed6a83a87334e98951526773401f2198368b1669d6651fabfade6e4d086cae5b519ae60356c5689623a0d2338d5e67a11be786d85b2d3153a1259d72c5774a6b46e93cb9b4da4585d6e08c646868a28e39fda29e708d9c6c08edce8c9d8d5225f5acdc85dddca9bbfc92b8d6ba5a0bfcbc22e11de48be2d223f0f6d3e2b49c795e22777197d6d1eb5fbd2ac7d2a0a0a15e81c5dc524fd91fdbd3a98239b3a282780a21480667f4480ffad6a8db3b34cdc3a2ca75a70a74c384d778c2df59896055aca2da39d3bc88363b1f30ad9f0ed5a6b9c19eac5dcdc745b5d2f89e635d8ec38e44cfae73cec8776be6c51574d9ed4651b739d2173882f8596cadcb4b71f2dda95e708ec15ddcc5b5b0d79b9f77044242b49c4ce1a1f1282acd83c9c3de24d9a4bbb8cbb92c36a32234fb4283df0b2f31b179c39f3698a7d1e29e7577f9451706b7559555a8a8a84054549448dfdcc55d2e4ae17c523edece60591c93292234ce1911d45ddce5bc00049309d6fa620967f1ab0626123f83369562706f2677f9a5031303ea3ceab4647646a384f4771777b958c535bd0073b01c73895feee22ee713985c8c3576d156b55b2fea2ebf84727266b331df54f3fc38eee22e17bbb8d7a3bb5c88357631d6d92f066e7b783882cb6a89eedcc55dce2f20d1bc751aacba97966e44e848fc267fed8a8b8d8abbb88bbbb88bbbfc268089c4b9372a587eb0161b722c18d4c613c312d93be7f8c0d41cc29d75aa2cd274a4483e59e6d6d31a0893c9992cebd420ca43c4fb6782245925c084cff539aefd72970bc4091028a9ace128b4f48ee6a4beae4652b91b4d46d4d6d6c0dbcb5be6a9b6ce3d27eee22eee727ea89f96bac4de2418a8c3bbf144d76a8c95418f006e3b251dd2aeb39f8039fb654ade2e3a3b683219b032a70ed3bedf8ed5b99f63da77dbb0f648bd7cdfa4a1442476eedc89caca4a0111d9d9d9c8caca3a61ee96d31a04aae3e8d1a33870e0c049eb734ce48e1d3b24abe6e93e9baf2f2d2d456666a60014872bd6b66ddb505555754efae22ead99074e6fcfa056938ed4d35c66edda827d7b33e97d35b2766ec6beac0c6d43bbdd84ddc55ddce53c14479e37472049abb51e166b9da469f1307938e088eea1cac949adfaf96592601555b5c55a70528349cfbba6a031b23aa40e93d143ead4824f36a681d198614eda6a69728fe399bf7960c263b0355f41ef883df8f1867bd1217c2bb61e6bea37cd83c684fca38f3ec291234744baf0eaabaf0a31e7ef79901d2ffeec9042b8beb80e8794c5718f4352c29f376cd880b973e7ca7bcde0a7f15e477d8eef3ffcf0431416161ef76cd76b1d2f57b0c1d7efdab50b0f3ef8208a8a8a9c00eb81071e90bfcdeb73dcdbd233dce52c2526aaea3430292ac841746408fcfcfc515c7054defbfa05b823d9bb8bbbb8cb7962c83d70ac6011def8613c540216f3d7dc8e6fd63f87455bfe8e1d87bfc1926db3357a46bf7112d88ab20cbcbfe06ad80888d4d7e560f64f63f016ddfbcf1fa7a1b0621f7e58f3242c76a318aa721050be77e5b697b0336705166e781cc535654efa555cba018bb6fe0bbb0e7c86d57b3e6fbcc7a40122063ef2f722e606bba8aa1c4d7c65c4a4f67ef87a574f4cfcf82322185d30be939f3320185c44503cb0010101f8e1871f909c9c8c3e7dfa60cb962da8adad15e909ab4766cc98819090101c3c7810f3e6cd93fb264c9880b0b030ac5ab50a13274e445e5e1e323232e47bbe8ea5255e5e5e523f97e2e262012966b359ae4f4c4cc4a14387c05997c3c3c30518f104373434e0cb2fbf44757535626262909292822e5dba08f858be7c3902030371c51557c0c7c7c7a9a6e1b67a7a7a62d9b265b8e69a6bb074e95222887ea8a9a991df57ac5881f4f47479ced4a9530550715dfcfbfefdfb316ad428f4eeddfb9ca9b07ecb8533671e3b7a081eecba6ef28789b18abd8678135fc4c7b7934cc9eee22eeee22ee75c5a42474b64487714972cc38eec45483ff80586f7fd107947bfc7b2f41f71b8780fd1be0ae416ac87cde08f9e496350529105c5a8a0b86c1bb61e5c81c9835f44756d1eb6667d801fd6cd82dde80773cd0194d595a243d2382cddfc287c83862326301e078e7c8779ab17c0db270ad5557bb0236f25fab4bd06f1b1a3b16efbcb58b96b2ed2922720313802ebb2e62230201193073c8f20dfc0df96c484d198c5568f5dd92be169d98cff4ded8adff79f81ff5dd9036d8bd6c1bceb678e22d624a91d13e937de784380c94d37dd24df6ddebc19efbefb2edab76f8f828202011425252578f9e597e5bb8e1d3b8a74253f3f1f0b172e949814ebd7afc79b6fbe29c063c9922522856160c2f533e878fdf5d71119198976eddae19ffffca70015ae833f33d860e90683894f3ffd54404ebf7efdf0edb7df8aaa89dbf0ef7fff1bfdfbf71730317bf66ca714c7017ac68e1d2b408aebe1fb196cb004860bb763f8f0e102421808318879fffdf74505c4cf79e79d77e43e07887297331197b0f4ca80caca0a98ebcae0eded0f55f180b5a10a469337824363f530ff6e358ebbb88bbb9c0f606285af7f1b744f1c8b6f96df0ed5ab073a44f74076e15624440e42fbb819f03379c06cb5606ff67f9053b41fde9e01449f548487f6c6e47e0f63cfe1ef904500233438156da27b22393c0d15758528294dc7befc3d681b33165d12271110d98d43f9ab70b0601d4a2af31016dc0129b15311e11b8a1d073ec4c28cf73079c8df11e0a9604fee021c29da4e20e800ea1a6a2fdaf85c3460c2e1e1d7ecf81c070eeec3c6ccd5c83bf603c6a6792268cdab287c7a102a9e1f89da2f1f6a92858dc5efe3c68d130906db6538bebbe4924b306cd83079b10dcac68d1b919696864b2fbd14a3478f46a74e9d0408f4e8d1036bd7ae1535cae0c183b16edd3a01060c0458fac1521006002c4561b0c2f7f8fafa8a4d08039249932661f2e4c9484d4d1529c9debd7b4542c3128c3163c608586069497979b9b48f41104b36585ae2d0e1959595497b3a74e880bffce52f22f561e90f5fcb85c10cb791252b0c72f8ded8d8584c9f3e5ddac9408bdbe30eaa7436a23a3e1854019726931fcd7d1d61600b0c265fd8ac6654941789978ebbb88bbbb8cb79e38ea8f44cb91a3b0ee620296e22827cfc89596f80bf4f28ca2a32b131eb3d54996b60a4f3ca62ad86d95205137dc8cb5f8a4d07e76340a799282b4f47250108bbad08e9fb3e4276f16eba464bf2ea45f4e868e94ed49a2be87d080195e12828fe0905d5f9a8ae3b8c929a63c4a0f9c044b424b770138e95ee85bf6f2292a27ae060de4f385679f4a28dce4563bbeb2dd5a8adb22039640c0d7a2df2ca7e46031187fab5ff86b55e6b59ed8a37e173f9b350fcb430cc2ccd60a9054b425e78e1050c1c3850a4114c60b8384000ab55162f5e2c6083ed3458c2c0e0a16ddbb622716180c2849edfb3ca84af671b1306030c44fcfdfd05d0242424881d0b831d96c2b0c12bbf58fae2eded8dd0d0500137111111d8b3678f800cfe2e282808575f7db5b489afe736392c9fb92e9682b0948401c8c891234555c3cfcec9c9c1175f7c81975e7a099f7df6997cc7ede77bf8370634c78e1d937ebbcb591e0b9c8f89c6363226090547f7c3cbb30e1678c36a5760b057a1a8f0282223e3dc03e52eeee22ee7a558ad7624c54ec06d139e4097d4ebe8acf7c5f0ee8f22356e28d1321b7cbca351cde0216e08da44f6456c780762a06c484e9886919d8f614fce1a5c36e4430c4a9b0a0f6b05ccf041586067ce0887b8c8a108f51e83ed393f2325e60f880fef84dd87e721aadbdfd033f932641efc12aae2873eb1c361b21563cdeeb9e89c3a0d91bede449be762c280d7901291f6db03265e1ebe503cccc82dd9807a220481617ef0e0a47b69e3a164ee836a05bc074d82e2edafdb9918446ac160830974f7eedd057c0407078bfa43ead4ed4418786cddba154f3ffdb4107606337dfbf6957b1924f067b607e1f75c1797ce9d3b4b7d2c09b9f6da6b453dc4008381cb1d77dc216a94c71f7f5c4293f33399b0cd9c39136fbdf59648571844b00b31b78bed4c1838715b18acb094c5114a9aa5320c7c5855f4da6baf09b0e2fa1878b06d4c7474b4a87f58b2c2008c9fc3f5306061e0c5d213aed3519fbb9c0538a1f9f7f222801991889c4399c4667822b14d2a720eee80bdbc16915171bf080b7577711777f935324736787a45e2b2417f21c0a1125364c7f01e77c36e03260d7ae178018ba231df8ac11bc37bfd09c39d00c78691bd9f3cee7ae685db268c757e4e4b18a59f7b407c6457ed7b2dad18dab799ecbca74dec084d1070862131ce45519a3f78ca94290adb36a069ce7847f433630b2f0f1de078b8bc3876b797fed7f1e26bfc972e5d3a6bd4a851d16c5858515b848c830be1e9e1831e6dc7cb5fbbc58cfab51f4335d7c17bc84d507c83213345856d421c9e37dc6e567bb0f481d51a12d39f06d22ec44603286cd4cad7c5c5c53909797d7dbddcc38085ebe3ebf83dff65e908ff65a909ab745852c1d21487a74e6e6eae4867f877be87810eab6df8196fbffd36c68f1f8fa14387ca735845c4ed6220e31a9fc4b50f0ece9d7fe705c7f572fbd8de849fcbbff1f50cb01e7ef861b93e3e3e5eae77c73c398b454ff362b51b505165938dc869124a8a8b05307a7bfba0b8b810010181025a2a2b4bd140eb94a5670e00ec2eeee22eeef25b284cf7881ea93d7bf67cecd8b16359fad70dfacbecf29e5f16fd65d55ffcdee6f2b2bbbc1c467c2ad134352b2b4b65fa77d1252636021b81be1118defd4627ea1362ebe1059f51776a9edb8422616f940cb0778b233a271317f6d07110772d7784e616ec20f44cdcb9b87ab070e71daa1556c738ee65e0c284c9712f4b315882c1ea23c7ef0c0a5ca383b2a4e4bffffdaf5ccf92924183063903afb16443fa69b335e9b76b1f1cc5017cf85a267e4949494ebb14ae8fed51b83ddc5feb4544b1bf1e4e85d68a5145a0bf11e6066d2ce3e3a2f47561a7f7d1da5aa445e8e54900b4d63d66eee22eeee22e170c105dcc87737019bbddd6fc4b11b1ab2d5edf3489557302ddfcbb96d41dae40a1b9d4c1f5b7e680c2014e5cef6dd3a68da877f85a96c2b8828613a95a5a9274b8b6bbb9348481ca9d77de29cf70bb089fcbb5672770a2c0d309d25de7cb11c8c8003bf10155eee1721777711777f9f503935f83578943aac1120f079039d7fd724880dc5e38e7a79c4cf8a4ea3a5747845ef71cb88bbbb8cb6fa95cac73ef8203133ee81bac36d4d79b9bfd00119d2b264fb43ae4a6c2a14eac6ca573aa34b1eee22e67b42979adb2d1b5c3f3cb5d7ecbc58a5f50de5377392302d4401bdb03eeb0cead2f6c2271a1cd072ef82eb3d757c192bf17e69a1a97ce2a12cbdfeee1076bd62aa8e5b980d1d414b508eb6a68fa9dcd0e53bbc1308427c260a98666a3ebb6bf709773b43968431ecdcdc3dfdefcd099dbc815b49cf566e5445ce00cc6368e38080fce81a15a114cf5d6d2f766de150623d4f8ae508a0e02759517855b6a8da1b55c4b7d3865b45c4f1fa8b11da1e466d2feb59c71bb12e21350585428c6e2d077bedda0e7f9505d939d69f3e4e3e329766cec86a95f7d5acf3404244249180dfb9e2fa9fe5ab8cdbc4e50fc42a086b781929dae8f3fef1bcdce51513d2568a60dd673ba46793254a76f86b529e74a2f03cd35bbd01a82884eb41f07fbb12d50ca3361ab319f3372714ece835f2873c65eae179a31bbe0c0c468b7c0cf5e0d4f434313318add2f140d198b60ddfe0d24a28cab04843189a72f81dddaa640970e74a528035e63ee87d13f048ab9e6372e3951dc5d3a979c829701072a0bf1cd37df9cd7e73cec0f6410ae5ea47ffe2bbdbea057267f88ea4267ed16a024ebd733a11dc701bbe79f552d894989282b2d134f3a2e3d8d1ed84f40e7fcd9030503fe3f01d5bbdce0e354258de6376b1934478d5f12a7110d74231a92bd96f6d356f73cb5b270088d0bed9178c181898db8c43aab11b5569750f31ede30e5641228990378f93603258475bd82608c4a85e54806313a96c6dfa9f5aab902f56b3e8671d47db050bd5a9ec63344aeea893e305052cf01ba56cfebe5a7cb059efb6ea817e0c1cab9799e7af21af829dec4829badea79e78a7223810866480a0c30d0333ef054506821ce2fa90f81740f60ffbaff37dc95637c4472a1071c5075e643def80400be3e84fabc014b7deb2516ccf71aec30a8f4d7a8c2dc6016176e8eb4cc27491967233718855931da351e593dcd393bf9b5e57442974367d07f7b2c8f23fa3627439573dc0ea38da6d060a0f1d6c65a75482feaf2099c0c2470b2e297d5095b217100b3b554273aa5f825151fa31191c40c15d4d96056b4384bbf84e2f05efd5503130fbf607827f78497b5018e5d5e57948386ed7339abdaf1120ffadd18140dc597c04940246c65ace631ba544883567200f6fdabe13fe806e272bd1a27b4c5c1549bd4dd1295525b2459eaf1c0453dbe4ef5b8df5b7a5ef38bd5968145f3df4fd19fe3174fcb60ea78f076622addb44ef53480c989fbada8adbcef6460511f5bb555c8a375e3e2da4e5536a4173c7d034e32bead2f0181811836742812baf687c527081575aa2cf5701f232a0b8f206bcb4a2885eb6127207e80cdaf12ba510302813d3fffbf01238ebf5a566c45a08191fa93e8e18532ab15e5aaed8c9fc3753128e15a61555056528ef8d87867fca2c3660b8c0a8bed15219a8d5be6dc1ea8ffdf41c9e9826b072091bffcdfae0110bb89139386d0c414119856655c9c4a949ced40d789e83560087af4e80e534c0a6a2d065435a808f555e063abc7aab95f6057c676d82e24f165f59eb5fe173b37e29169516056d5dfbcaad074b136079d5e5ad23c5a2bf6ec74cdaec4cba7d1154288871d8a67000cfe61a28f361040b155121ab7e9a0c6f1a2834f3db81eb66e13e0e1192d072383130e39aeb0088a43d58bd70c1d6e9e5ea2cfd75602efa6068d54b34d8b4167efe85a9b4513434a20340f13ecf56627193472023daa9f3d718c9e1ed25e1b3d839fabd0f556be57650e4e23809cc556a13a6c66b333068ac1c3933ed7eb87840293a749eab1b24bb0be284d5e1e0eb710f63f86959e27c9fbb84d8a7e4ad2777c8f89dba1e8ba73fada626ea0cb4cf41c93d64f835687855e1e742d8f87b49fdac6ed115764a585d3d7011455176985722260a1b810fd468ee4b8e8a94a0b1229d73ad416504cb33ab53a94960189ebb5f247694102d602f07382e2c6cfe7423338f5ea191871fdbdd8696883d57966ec28b1e399d165f87ab70fb2cbbdd1ad8f07c64eba07d7e46fc4676ffe155b76d11a0f8c2150b2b44976ed5f2e27ad3abd979abaecab02b52b681f9895b33b69c57e85d731f3eb8a150d0d66093e18141c2cc1f164cf3b0e74e5ccb8e1df427ca0d3ede371a0d36480dd6a43cc80e9987de7eff1ef8f5fc00f0bbed2f7b8764dfbd414cc7ce8565813fb62699e05dbf2ade81153875eb166bcb63e141d036b610b5e87361d6ca8292940be85ce28ef207dadebf5141fe243eca28c51708407bc7d8dce6390fb5e72b44112e89dcf62a6ea732d36b1b83c5149a561f27539d2eb89acedadf8f549f14c1771870821b5d455c29abbd349ac1493b7bc5884ad98bc0894848801a0447ff5f4812932156a7d155446be362b540b11773613ac2981f9c82e9802c288f07a390fc9b9dfcdc1e081fd111a1e268479f1a22528292975d2a721f45b4383051b366d71ee89e8a8488c183a480e38ce06bc76c3264c1c7ba9be314dd89abe1dd19111884988c3ca956be8fa08b4ef9086e2fc021ccec945ef9edd259caf487b0844e41ec9c3b6cc5d9878e9283940abaaaab164c56a8c1d350cbe3e5e52e7eab51be1e7eb8b9edd3b1356b248f6dbf46d3b90b93b0b1e042e46537b22e8391b366dc581c3394efa9996928c5e3dbb62e59a8dc83d7a0c267a9e0f71fae3460ec1b18242fcbc769316788e2e1fd0bb1b62e3a2b174e57a74ed908270ea43617e21b20e1cc6e07e3d75c345b5952ce2c9ae534f2019399954a5b970443df9f34e719daa9e480474b23a9b4964d413f5a175c59340f163cffe0dd6fed7e3818d25b0961e1590e41baae091fed9083584e0fe6f42b1b6d48ab57b147449ee89dfbff11d967cf339be7ae529a09991a086c50c3a1c53e570ba68e26845935e68318794e38998d2084a4bebcf3efe0e3fa7c7e8b1481a74137e78e571a8b587253273a80398a85668ac8722ffd48b29a657700ac9626b2a70806a66984c50ecf57a95a70fba1a41db391813ab26d7f50c0a45ff093db17459b4f0601c529d9b75c9b8f198f6d86bf8e08027362c3ea6b5b5c18499638a31a5430501134fecce24d071201b265a4321c97d81517f24a634b01184d3398f551f00f35f445058143a7548a56bed48dfb209d5752dafa576a969f0a2a12a2d2d437e41a1f3fb36c96d7134e7301a4e60942db18a5ca4365189deb8e6b118a221dc1c6d223dbc14fcfc5529d6fd58467362c4d0e123e041f3f1339dfde7826d68540f3695d5fb0604c1cfd380a29232f93c361ef8ef180d94d8757e957ec61d2b80ff1d046293daa25d52bc444fdfb27933ea2db616f76d729b24641f3a845f32cb737153a8f2c812b8b097676bba741a6dc5cb0fc6f82e30c5758621b21de013d4b860598212180143540afdde0dc6a8f69a5e59888819f6ea624dfccdd21222c6870e6713a8d888addbb6cb67beac7bf7ae48488847deb163183264304282821141a065e89081c82150d13ea52dba74ee2056fd7c4ffaf61d5843c084eb323281271091b9730f0ae930543c3db12d63073ef9e21b58084c5412e0c8d8b14bcf4cab6d54c564a46b4bf1dd8ff371ec58210c043e3276eec6bcc5cb504f1c1f6f8cda9a3aacdb948eb51bb7d070d805cc1ccd2f2200b116574c1a8b76b490f83d6f137edfab6b671c2470d2af57372425c4d2a165c776aab313712aa386f697ef3dbc3c7138f7a83c63c4888148494ec4577317d2901be0417df87ee172183c3d3077f10a78533f5872e244070ea9d509554727ba8e2def55a149fc6a8c3facbabcb4cf0eeed6f97256ad3653b1a94e958ddae412bd0ee777ae75bab6b1e94b6de99fda527b3489dd991ee63caf4ffef5251cee723dfeba3007d6ca1a5a9b7c821bf1f8c02af89954dcd0b31251315639ece0a960c7a112dcb1b802fdaeb811d3aebeb285cd6a84073475e745cfe14313cc6df160f58951111b909696895d759d80b3a3f601743624d2fe548d5adf4b4b4b2475804448561b0f77d545ca74316ce14d3e04243c1c2a1083bc4eef503668423d1e5722d8a6c8e1ec16a4f3918616a5564d542e2d483d9cb63f673920a252e36cb4ebbe42ef6163f0dea71f3aa776d4c851b8fcc977f0bbb5566cd85b44145df394494eb4e2aa2ed508f6b6e14ffdabe9cc3789dade4a677f5183977666b39a8fe7cd317761899ab4f1a67bf1d8fd7760fce4e998fdf63fe047e75a584404bc88594b6cd31641fe3e088c6883f73e780f23860fc1803e3d34a0d22e057e3ebe183d762cbc0c2a4222a2111f13a9554def13e36208ef79e0ef2fbe844e29b1cefef9061163e76b90a8e3aaaa4582e6210b8af490df1f7e66166e9c3a1e536fbc134f3e701bbca83d3c1e9cbe42a42da1116843f4c5c3a4a933392f5b5080e6d11216198bb8a870799f98944cdffb63d484abf0a707ef90ef62e293101ea2a98ee3121231ed869b70edd489ceb6c5fb6bd212ab7eb63216f4a6a32351d7363ff6cc8bb8eeca09b87cc64d78fbd5e7e5bbb6f47c1f2f0f616eb904854761c2c4f1727f746c0222c34234293c03304f4ff9cbd1c97fbb1213476197c1ba6aed0461f44ae04229d82fe0c3e926dc6467d8b4bd69a987353f0b6a438ddc2710b2a654b3536146d3a0203d2303b7dd7c2356af5987faaa2a78d2428c8c8e2220508bb09010c42725c25e5bab85b70f0d41484830e2e363111115097b4303ea8823630072cbf5d76233819b94b454690f4fb2e8d169d1464484213c2c0c8b162d46af1edd443ad14869b52eb0c8ad6ba78ed8919585f83609c8397214dd3a7784850d1c3dbc90b9258336544f94555460df8183e890d61efeb4e14cf49ca53faf455a4a1b91b658a94d612141226509090a44523c6d2e76278596e8ef28710a166b03fcfdfc101d1da1e714a2e1a5fed6d4d62182faa8d233870dea8b6c022defcdfe2f820203d0bf4f7734485c9993118f93482254f5043288e6b6257a745bfd17456d8524e5b8af4ed48e93d9bf9cbe8dc9292535a728d7df721b2a7accc0478b0f1337a81313ab02ef503b7ed7af5cb65e88b71577f6aac6b3f342e8a34dbb8ee6f8e165c578ff811790b5670f32690d3bb70afde365ae2a17c759c9d53ec1c46a47514b324432c1ce6a4bbbed7c3d99386613562df816abe62da0fd5407d5cf849a863ab1c909f0f727a6a0ea04023547ca2f7b8bfd387b35d6f1ea11ab59132b28ad549d34976868ceadbac1afad16f6faddf4b91e7631f0504f7a7f4bcf3b57a0c4c9cbf2515d9487eca2235a66346a565c5c3cae79f275fc6e0d9dc755b5b4967586d162c043034a09886b31606eeb5d8a17e6aa5ae614453f0478ddb832240c4e6c9ab4d08b18bbf40dab306f631e9e7dec2e3cfbc26be8de210edb761e426c74b85cbb297d8f10ec8a1a3302834370f7034f6260f7b644b8ed389a7718dd068cc29d77de4a1363419db912b151f1a8b758b060ee3c8c19330687b7aec0aefd3fe88f564565a8ad9bc663c1aeab71f89cf5f63661d9f2f9c8d9b70b4fffe5cf78f7e55771dd3d7fc0ceb5eb70f5cc1be1e9e98323591b9157ed85aeed629194148b7fbefd012ebffc721888896ca0ae858778e3e0a14330f9c5a053bc27f666d7e0ca29e360b75a890630831c8ff8d42e98f3e1ab8debcaae8111d729e6cf567d691bec566c5ab70a659ef1983aa2371e7bf259a424c521243c12a54776e29997ff83a79f7e1807f66412609b8cdb6e9a0e9bdd80b0204fbcf4ca9bf8c3c30fe09fff7807230776c5e3cfcefa0d4b4c78d2995b3479341200da64b68a3cd80af64171c8ab9a89a2888ac2727417d4ba720d9438a49f6ce9cfb71041ae2a2dc3f6cc9d42e8f7d36befdefd222110fb119b96ec0f7a0879c77b5e901ceb80a0bcd880ecddb75fee3f70e8b04842aacaca74fb94c69561363760e4b041282dab40e68edd129abe3901640092d2b60d6a0820646ccb202ecf8fc04ca8331fcba6f4ed38949d4b60210f1bd333045c79513d37cd982a6aa20d5bb6e3bb9f160af7c921fc2559a11e225f42faeb52024e2a584fede1bf9a6d8b010585c5c8d8bd1f1bb766209c8009dbc7f0e21f3b6210f61fcec12543fb8b7dcc71528926120ad5e5dc509b8b2e9a33c92e9288a6d20dbb4383e794f437e5a65da52a4da4170e4947738908d054e4a2b652ba739c4046d56321346dff4935592729d1d131e839f52ebcb2a6804566b45e69dd59e855abe0775d0a11622a4183a5465eb7f6cc817738cd573dad9b3ae21e6df4b7d28a97771a71ed9d0fead237ad78f806c310379865ddcecc9a17b230d035e8ede1ad698c1e07836f179d089f5fd509936a49d689067a67d4629558eca8a9264e9c988c96d529ba14a199d0fa5cd9929cb01e1baf6f058dfa4cf594f534373217f3313a875865cdf67726dae78ada725d6c2be650479c0c7c9c1b758e5dc0a055bc734c305ab4e7dd70e77df8e8189d6945044cecb4866b69bd57b374c38a19dd4a1d2804ed826a70776f3ab7cdec4165d0edbf4eac0f63154c9f41233169dc10fcf5d9a761f4f5c5acbfcd42744212eebcfe06ccdfb417f14126fc346f0ef6641f41c79efd31bc5f27dc30f316bcfaaf8f10111b8749575e83701fa0b0c28c2ba75d86cf67bf8e0fbe5f82000f1be6fcf423be5bb0a8d50079c5fceff09f2fe720ad733fdc78c3f5880a0f425d5d2d3c7d7c71f9b4abb166cefbb8fd81a7d1b6fb200ce89c8099b7dc8acd7b8ee2ba9b6f4390c98272e2ffba7448c6b182521809686e58bb021f7efe397a8f98085b6d19ac5ea104c07e8f87eeba057f7dfddf44d27c8ed3109e4873c85a877e838661fce891b01a4d98307e2cf2f28ec0d39be621ae1d9e78f401eccb4c87674018a64dbf81ce9c4ad4b185846f206efbdd1d080d0ec33df7dc899ddb37ff7655390e82c72042098a7122646d808978561c23e051d12ca89a269b65a98a5a5fded43bc7e00925309aeea962e53ed66fdc8cce1dd2d02eb53d460d1f86751b3635eac0e954b5e8b96c5417cd1e030887470fffddb4753b818e2148e9d01e69a9edb06e134d9851cb89a3d96328445c2c72ed84b163c46ea4baba46b3df74b1acb650df3c0914c5c7c5e0f36f7f408f2e9dc4708fd52747081c3018eadfb727460e198063f985a8282b45f6916398337f3106f4eb856993c6e1687e01eaebeaf5005204422cd6269c3e1f4cddbba46150dfee2261617516ab713ab66f874993c7e1a6e953b0f7e061581ad888cb4ea8df93388748114572ba6d7b731589e3a5273cd45efa7bfd9f6baa48fb71f7b5a4227155e9d88f7b9603b0082075dea48b77ed8d9f9bdc779c2aa751042b6db0376d83803bc7cbf14fffdca4bdf6c6be9f6e193f790a369ad960bb161de3ca31baed6e4c8cdd89477ae7e09a0433f6ed8ba05728f6ef8f80a5d80b6ff6de89999db6e2caae5b30a2d32144c4d562774e01940ec3d0a553a7468e29a903ec337f47d8d857fa7ca175c4ae045044c9366220eca5b422adba0be6f93b2d045cd88df4246626e879759a91784969a924b86ce9b09603db2b18aa771c0c74a68850f61ccb9a5a5e1f0a4e47a6d5521d0ef58fb04146163c282795949d487a733ee6c2a86af361556cb297e3636310d66f3c561f2c4478a415c3db17e186fe87f1c825d99873cd7e847973f04b667ed84ec68cbbfa672339a61a310135f0f721506e20e26bf411e9314c5e9004567a804d56dd7cf7d90778f289c7b16a433a9d990a8a0b8e21eb503e9e78ee495c36b417d27764c1dfcf5fa419b5e54538565a8727fff830eebfe776789b1464a66f1623d186fa2aecde99457ca70a9351f3e60a8d8cc7a574c6bbaafe3cbd0cf4521a5fdeacaed4c675ea75b7e2d2a13de93c2e9433bda442c51f1e7a0423fbf5c4ba552bd06be4143cf1d0dda82dcec1e1826ac90a3fa0472a36ad5d03b35d81b9b602b97905d4877c74e93910897191183e7414f20fed113381ca92a398bb68151e7efc29dc7ec3749182b8b6cd9ff09e9fe365d2fe3a7c390c3633fe31eb39fceefe07111c1a89bc9cc33426061cd8b1051f7db508d3a65c826fbeff1101febed8b665933ccf4a63f2f69befa25b8f5ef8ecd3cf84862c5db6e637aeca21e261f0f68331a6236c47363715a973687a7e3922beb26445d5268983ad35012c620fe2078fa814e2a588cb20b0c084ff9231a310161d8dd4c43839c0aacb2be01f18005f1f1f2426c437f113e70ddd26494b6dcf4bb0aaa252a41ac3070fa2956a4280a727366cd94a759b6923c6223020809a6345627c9ca853c288c88fbf64242ae83ed5ee2245204e27242848d448a9ed920934b42580128b98a828f8787b63dfa14318d2bf37d23aa6c9a6e7057fe4483ed2080ced272031fba3cf058c5c327c306d3e5f024456e15a9313e3e5d8724813e2a2a3b068f91a7171f526603665fc288486046ba2c9aa6a91c024d001622660c2eff9204b8c8bc6c5b49ffcb596d04e2370d4b017eb6ffa273c6b6210ec3b0c5161bde0eb174b876f4033624fdc664c29a6d51c4459e572d84c1f23302203abf246e2cb8ce73178e20c64ee7852c3eb7bb74279ed6122d05570f15f384e4571bee2ad34afd35e94796154483a41647b16d5af1b6cecad61d602ceb1012c1324deb7bce79d77a80622e406788f9e06df31d7a3f4fd57815df3099858ce20eeebe9136ff594aef54d78ad265e4dda58db1b6f677b07d84e5add85f428b2391ba23db3638fbed853ef8fcfaef82726b63f8840c98cc9a4251012980e0122e5d3d934fa3d0fc9a125747b3d2ca64dd899f7152abc6308c7333031b0181ad8f2b55cfdf5276fd3e70ae7b3df78f16f283c72142ffcf9515c79c564cc9b3f0f2bd76fc786ad8928282947deee4c54d4aa9834f112fcf8e30f28ab6d10e62f27ef30c27d15fcfbed7fa086d68ccdb40f9bec0df059978910cf46505d90dd80cdcbaae01768d00c7a75c7cf5d6b6ba5bf8f13e8987cf914f879da71ff83afc0e8178971a38760fefcf928ac3463f0a8e14825fab07bdd5ce4d4faa00f31161e042e3e7aeb65aceb3302c15e56ccda9481e1238661e1821fb069fb5ef427e6337df356ec1f7d296cd58558b67a33264e9a8c55eb3661f3a64dceb6fd7c14f88896bd8fc32b87479396c9fc5cedf7575e7c0e85e516d8cdc578ec4f8fa0b4bc0623860d42e69675d875b8000777ae15c9fc7b6fbf8383fb0f23277b320c960acc5bb41cbbf6ee466e760e56ac5a86fcca8bef52ad345fd053a64c51e6cc99e30afb1d526347ccdfe62f0f7d157ab8bc78157ae97f1d2fbec67ff9b2a5b3468c1c156db73638376e5d4e26cc739f130e53336665ef1c1f98927a8a84824371dbeb2a60f40f97006c2a7db6e46e83535169ae85923a123e63ee2374eb238043ec2b1c997a154d0c6dd5b3f33a12ef6919801b0f1093494bc6e70016cecf4e5dba22065b8cb6599cc95213d77bb49c02762dcbb0cb21651003384d0a632280d26069a0fd47f7e93a79e602b85ead0d26e7331991b33d0cbb4a32e010158d03510ae2b738819cdce7c2e1737bc47d59d1385dc531062e598fa50e5b6346e413c6fc38eee3e979eea82dc47b69d1bea459dd6a2b6c4d4eae6b3959bfd0422c94a6d7f87813184ddf8141975ddbea0de5e361c04d6fcec53b7b3df0d584225cd66f187cfce39b5c535b5b8b3dffc7de7700c6555d697fefbda91af52e59966cb9e28231c58021b400a6264080903f6c4208494842cda6c26637c9ee86900049480809900d351042e8a6180c183006638c7baf2a56efd2d457fe7bee7b6f8a349266a4d1ccc89e6b86194d79f5de7bbefb9d73beb363078e3df6d82197b1ad6523ea9a7f872b972f45abf31cfc76ea567cebca8bf8918986ce9f2a19964c9d8498d2c98cd5bcb3814dafc425b046fdd722e4e3ea873fc5caf776a0eec1f3839fcd63937f4747075a5a5a8244b0c0a71b1539577e1bb36ebb0b9ffcf87f21bd762714c1c75d41da84323cf1c6a788413749f8e766c648bca023d9f2e8577cf53a6c3ae5bfe0e9d989b7be7e376614ec60ef52f06ab6014ab20c1340e7e7c7be030df8da356b89038424f82131c3bdbba31c07bb4a31a35042fbde2de8f14cbe4aeace9c7c7cf1ca2f32d0023cf9f727503b7f094e397e21b6ae5f8337df5f3b69175a975f7eb9b675ebd69f6cdfbedd949ff61b0f5fd86bbf418b05a04779cac66b25ec114eb207c9eeaaaa2a6de7ce9d5a565656ea181373408a921414f2b455ce853cff3cc8eb9e80e0c836f44b74b539ad6d3fd49e4668b20f6a7723a4822a08ae4208a45d4212f534c1d87261230d13bb530f0413445df7910081a4af2b099f8861ae1f8e382531c240a97cb529727206867bc2ccb03143118812363425395312fe1dd9001a822805577941e3c77f22722d1291ed802759722648d58f45b4e8590c2a8229a1e45ab2710647e5ee1e519482c7ab709d16f31aaaec6f3d2ad2ccd610c41028100cae8fbe139e21a0ff2d843408827e796da807530b471442a4b11784e841af117e762042a344080729d1f7af8511d7c2e0df6961166b584062a48d0a51ce234c3765c8d1073f12e30e18941958ed3fb41f7ffffc19f8c229e7401ce489a4da2e2471bf6bd72e747777e3acb3ce8a30bea5e58be0c8f93f5c3ae57ddcb36b0f7c35124f6ef01b5d4965c764e38084d6fe438d2b814f55550f3b4d0e91026cd90a7bd55f7e8beee6f688cfbababa50585818064c74864164e3a27fc53358bf7d2fc4d6bd0c8ef8a0506eab90fa6b13797f247de182b0743620a61a45d1e6579a03cd6ae7c9687eb6ab26d6af7b5b4b71c6433fc61b5ffd39e696bec54e600e77b1eb6b54c1b0555eb6c86a61c7e8e3ec2f44053bbba6a1bea79407807b052b24d2b39a84c0c4d3d78d87fffa97e0df9d1fbc85751fbc151f3718cc1d8ede476991cbddd48739eb9c746022fb3c7077b6400e846857de41679f0e4bcb2e28f51f030e1703227ef67a23345fbf1ee0ca0081267b20b7ee62e025cf88e4264d640596cf5c0b9fa3087267cb30035f1d26c84a8d3466a3299a0ece0c896ae830ca3647cf241936e36438e66244c5da917e3fdce75ad4b95b1de5f3915996686f840398d1869a16855189e5fb4349f6511920f323d62ffddef868cdecbc02dc78e1895872c2fc219f51cd89e79f7f1e4d4d4da8aeaec6871f7ec8df3ffdf4d375213fa3e5ba04dc7dcda9a878612d5a0f6e8ab83c04b90323a8f21f8ea0c43c5185adaef7adbe77c827044c2a2a2af835541453cd448f81424f13d0dda4037dcea448c6422e856c4998d68a254ba2a46bd6cf0211d351b88a6e3cf793be9b4c50622ee0089cc0e143434711ce79f8a778ed6a05f38b57b103ca6727ec61f3b72f480c9597034b9702af2f075abda5a8efce659f0df035b58f0112553d527dcbe1ecd93073d211004a52024c0203bd901bb6c0edf545180b8b3d0bce93aee6ab54a5ee2366141403908405b80a7aaa9ae6eb258443c126b02ebd066ae53cf85b7603833b74dad4b4cb94d84edce549deb55448b48b01e99857f5acbfde79e79d0c941c1ff5f30f3ef8003b77eec499679e89458b1661c58a1578e79d773848993973e690f3fcfee797e02f0f6ee27e6413b08e161374b8aa972a9a32ec79130b45c638373797831483ff8cf87e286437f5fe2f2dac2b2bdcddec0d2ba3311468a67bb34b22a6e548d8414496c3c3c04939ae79ee7b58fbd55510d4ee90bd350203442b70fb6dc041e10c7cf2c6d140a92798d1bd78463676aefc27ba7bfbd2e0cc445e9b98287451b2439107004c20e8cba960d7620e50ff1144bf17d120c89102d9920e4c2856c3eeb0431d4c91ab0a02be0148a75c03a9781ad45daba00db4e98e757259d0f7097890ee09ebd962d90288475f08b5a00a6a770b17093bb22b0b675aa21b652e59ad52ccdfbff4d24b71dd75d70dfbf992254b7806c9f1c71fcf41ccf9e79fcf01494d4dcdb020ece20b2fc49db5b5d8bf6f5fe6868cd07a7a7a505050100426fcea19c2636967dca9b68ce9b2f102e35d038fd77d33de98144f6f0716e40ad841bb27d7b9a487180866b44178c50a83b0caca05cefe42159e50fe9dfdd1a77fc762c525270670c73b2fa6c97db2b05ba53273e384dd598381de4d0945062181609d122d5f723ae65e730b56fde032a0b9e9881ecf29c9cae16998d1268b800f727733a4194b214d3f015ad32ea82dbba0f535037e0f045701905f03a962365054c356b36ea0ab8903176d58a5d24ccbb471f4d318fb547676367efce31f8f189342a084c049f8df279c70c288dbadacacc4cd37dd845b6eb9257343466814fc3a98754a980c7ba217679aa427cd8bcc24a97a8e8136ce3c2113848d255076bca9c63b367e826bbfe3c53316c960a4449c5cbc5707257e83a8920cd624107a3dd5ba8dbde8d76be2f8152c39aa0c2deb5e41c381bd69024cf4640325d08f01791bd79199c8de3475da149c7f5c2d3e6417c737a6e203196032be097f580c610469f675e879ecc5b5d0aa16eab513287b846a46506d1dcae8e96933f286a461ef1e098c99fa14a251048c6b1990bb88191dd128daa78e302025c3c7abc6a4e0a81fff91eb233dcc80491c4aea14c44a4cc844b4cb2fbf1c77dd75171a1a1ac6bc264bf89c9d34dd8cd89a7b60801f4b6179213a3b3b758318cf75e2f1ebcc486bfa927e22cfca947d33757d46ba3fb1800dcd105b8ceb7479a1532d26f0365aad9dbdfb0f42defa364e9a7d013edcd6caebfb1c55b053f77ae882af38c8a6f42edf0c1c536e800e0f50635f0fb8d8bdf2e6f082a7974f13f0cc9ffe913e13806ad65ca288a0c4bb70065fcd2d3b9bd1f0e0eb503b3bf81ed52358c721e9026b11caa0c3fda3c1a82a7ad64d2f03201d753c800d9d75d0dcddfc7d4d187e5b7a868d8aaefe0178037efe5eaf5b97af0ec80a7f9fe48afbdc5eb829675e18fe58ba07dc70539aae30f231d3e77d1e2fdf0fd75cb04a902461f473cdfc4bf37fb1b573cf3d3792fc0b04e2331661cd3b28e076ca942938e9a493c660014385f484311bd0e18d613ab111b4d0f0783cc871e58c210c802d5c283d9f990291c6f904cf8a7a690115b188080913e09ee6720916a39a7a02364f1a32ab5f7b01df2129a62c3b77cb4fcb3ec8ad4b1f9b5eeffae47acc7ff15d2c7ee15fb866e56fb0a343ffdd4c76ab6664750103c0a5c757c2f7c98b58fbd187e9b43431ac496082834ef52d7beab7a069c53f11f07b8f7869a9e42bbf0ed11a1fe11181660665598cf03b622e7afb3db8efd955d8b0bb9e53f27f7fe363f4bb7da86fe9c0fdcfbf8b9e3e379e5ab90eef6cd8051bb133e1bf875ea38156148fbefa213edaba0f56494f01b6b0d58385d7c9893c068b20e1cd8f7760f9ea2dfcbbafacd984cd7b1a60b348f19d73e6913e0f3536f7a0cbe5c289279e18fc9b84be1e7ffc713cf6d863718313aa667defbdf7e28d37de8878ffb4d34e8b7ba849a6681769488cc100996566844912bb4555c3f39c791094314c829a9e926d11e4b40a559f88f818ae7ccd165b9aa2c6045947caf4a26ca8a38e3a0a1fae598317effe317e79c614380a7a30c57e008f6dba1cc73dff2a7ef0c1f730e0cde3b2068fecb81847fdeb63fce89d1fa389e1ef0a7b0316cd9f82cf5b77e077fffbb323db18771c84b0ef131e7f24a6be4c674a5b9ab972120740c9f5e2f6fa119055be2f7acd294f450bbef6fa03f01ba5a1cde321d78dc7e7c781e64ee4673be16386c5272bfc7daf12407d6b177f5d5994c7676dd3c543fa24c7ce9eca077d6b771fd6eda84367a507b59525b0dbacba22276d5f12b924bcc4ab6baac8b4f46db1f6d39c9c1c4c9d3a35c8763cf3cc333874e8108e3efae8f8c10403b5252525f8e8a38ff86b53e7a4b6b6366eb6836367ab9dad8ecba178ea0d5e3dc6df4b46069caa4bfb4f067f776f5f2f6a6aaab9f64f480536b6f56ae149cb3075d985d8f63f3f64f6d307ed305eb3061582117b4cca609792c3e1c0f4e9d3f9ebeddbb7f3ebfdccd34fc1eaccc1ffddf403fcd7f6fbf1fcba4ac0c6fa9cbd27949860eb030216fc7acd57f1d0bef370eb29b928ebd884dbbf732d0396ed47f67cd3dfcb40498f0e48c8322bc2111b3799226032b13470785c8959e1d32a4961da00ba94bb68888b99c7430aacddfd6e3cf1c65af47b7c28c9cf6148dfc7590f72d13cf6fa5af4f47b386d5c5d5688cb4e5b64c4a080977eff68fb010418d0292dcc869f819903cd1dd8b0b7014be7d77210e2f1cbe8ee73a3383f1b8deddd985a5a90012769dc542d36670ef9e0497997fad073cf3d87baba3acea050e5d2781b65965c75d55578f6d967797a31350227bc6a759ce4b02e672e43157ae3831582c9b420a8ad91eed323d93d3f338e642073f372d1d6da16dfb5f27a207474c3af89c12ad8697cb64110abb319f1cd214175e818ee2a27cd043122c6aebcbc9c3f9a9b9bf923bc3df9c883a8dbb71b177fe7bf30eb8202bc7ac08d2d2decb754ac8618489b84fc022b4e5d948d338bb3d0b8f269fce6b7ffcd4b0b1cf10b21f3ffbc9ab17a44e772585271f1e3f3de8f651fa1ad932fd76eb3e0ca338f455eb603cd9d3d1183323c9a8006fa87dbf6a167c0831b2f3b9d81133f1e78e97d58d8ea71f5e6bd68efe9e7ef536ccafd2fbc874d7b8bb1e4a81af80cd6c5cf8087c7efc7998b8fc596bd87306b6a190325d3194891f5ac67f658b16e3be64d2bc7ceba56cc9f5e81e3e654f3b8974c4bc78922fe7e4a99360452c82543ec09ad2ce36d94fa4a626c94e993979737be935002d0948e78ec1dac760b64d6a73565f2cc8ce6244e81af8505857101133aefce0deff287219594e6404c083be72411fea2c65d96d555d5112c49049b625cb8d5efbd838f3f5a8d73969d8fcb3e7b116e3cf9440c884ef4337052ea1421f7b463fbaa47f0e06bcbb163fbb6cc44135a0a45d3914c2e8b9602e5e0f4604ca2c5904cd43e8c97345e8af35cbc9a6fa82e8c36e4fb445977f6ba5156908bc25c17b29d0ee4676771374d6b573f77df14b0bf5d0e1b7fbfb5ab2f22d64430569ae654616148442209619556ad80d36e65dbce4153472f2a4bf2b0ef50074e60c02493e69cc6d62e867b438398ea18d1bd3fefbcf338bb416cc7934f3e89abafbe3a2eb68364d5293685268765cb9661c18205fcfd785c13e35cb241f12b93d6954132ffb49a37ebccc476de7ae9014d50206843ebd6a4ebda5ae595678524ec4943554d152aca2b50bfbf7e084ba283120aa895a0c87acd2fbf3f80e52fbdc81f1565a5702d3c1d82a7134add36b474bb31d0d793995fd26aaad382cfe9a0fb9312578e1a63faed98d19fe19aa1b45dbac8b4af0015b233d287f9fb11a5ee4dda1e282fcac57b1bf7a2aea5131e5f006d3dfddce55359acbf4f2e18624cba7a07f877152db42dc5d836df1e7beeeaf770171015faa3f9a39bfddde7f6e184b9d5f878671d4e3b7a0677f9a81960929eeb17a36f8cd68886debf7f1f0f042403f7d9cf7e96f73bcacc11c5f8e2cb896121ed92850b1706410935528c4dca3a5c4030ad7e32f64acacc21a048713fc43cc575fe941e2a58d82390d627af9753d1c25e4fa081b058505a5a0aa7c5894d9f6e82cfeb8bbedaa64c4825ba3a6f534b2b206ee7c558797665a64d5cdf302430c6132a910ed976290126c9604c689275396db052760d4fcde38e3b9e5143efd3e74e9b15368ba8571a25f0c2d03e3118079b3bf1f06b1fa1243f1b053959fcbb271d358d07be3ef2da877c53c73370317f5a392fb4679e8f8356c694a1c33ac7ecea12acdb51cfb6e1c2598b67730042993e9f3f65218f71a960a0c666b1703626d326376342c670cd9a0fb174e929c1897a70fa70ac8d5c375ffef29787bcbf6ad5aae4acc3872dda2c840a5306cb1ea67202334a2d9b72e76a6852edebebe345fd62062642782a682039e72592d0a9150a9b3f3455af9c2372f33eba7e45b8e1080194c45714267047ee1b02de14cc1dcb6a7bd8e6eb6697d63d56b86cdc6b43c02d46dd1731d84f0558d83d0ea4bacb26149c46de6fc1c8fc261d1e858f0d8517c34dc4b68f0860920c4f0e65bd643bedf8f6e74ee541af3ebfccf747e0a0bab410dfbae814d8ad165c71fa311c617a8dcfe977042ebe74d671e8e81d406e9623184c4e53c795a71fcbdfa7205972f5d0f74db683b67dde09738d6c1f19e71c77140333d33930a2cc1f3318d7145622174f26b624dd81c9d0f24bd46ae72cc2674f5e80071f7e02279e7616fa9bf7e3e997dfc02d37dfc2e9ec44b7bd7bf7e2dd240093512f060d068bc075428414969c314aaec02a4a28cfcf47635717333aa149985460a74d9b162722c370882ce1cdeab0b1054940777b40cf8e21fd14c54ac57635dda68c61954b7a22c4d28d978a27d68eae1f013c722d8e9af2ceeec3555ff9064aec6efce12f8f46fd4a6e690d6ebae2343cffc2eb70497e7cf4e996d0f570e6e1c2b33f83975e5ecee763332120e8541374e026086a4cecb26958b9b26eb1135a5f00b257e582b387cb8c3b1838707c2e58d9f5119007196e5a684f62c624e93a26b268836c44494dd43fd588f7c8621380641183d915aa010ee87dfa9c826229e3c6fc9cfec954b598cacf1764c3669538b020570cbd4fd93885b959c8cb76727645e1a23ba16dd3f7699b14704b3737d7e580c3fc1ba6cb4735dc3e6a46bc2ceda5d514f845fb903e5c3a75161ef8dbe338f3d85938e6e4cfe0c4d397a1b7af1f6b564f0c7878e2c9a73073ee02dc78d32d38f7b4e37931cb2f5ffb4d7cf192f393a675c0472c339eb63c07449b145c8ba60822811438483ab1c7ed86a1ea1e6c14384c2eb4acacacb4342a04483849ab1a8c8fa0f7366b650e842cdb9856b8893228656565983b772e679b1a1b1b47002542c46bd19a8df3ce3f27ea37cfbff44adc7ecbf5583cbb06858505c8638bbab2a933f1fd1ffc105ff97f57a2bc280f45a5c5b8f2da9bf0d2b34f63eef44a1d20b1b97a5991883caeca6b8dd9a86a61f185287241cc2d84e0a8644769c361db783619a9fdcbf85bb98a6f158b93fa7492ce9848ce6cf8b38aa1b90fc4ed7f8fb7a906f21686bc1fb93812a2cc7c83b3788541bf8df6bbc1db33bf9b292d381907ba0a1fb220e4964741f33296af58817fff8fffc1fa83cdd855b70f5fbef232fce1b777e1d8254b91e58c9e89535f5f8fb56bd7e2c20b2fe4ab524a2b5eb76e1d0f981dce88b61c6ac0134f3c813beff92db67ebc0667dd7033a62f5c8f2b3f7f0e0a4a2ad152bf0fef7cb233091784e4da0504babc5c794da3f4152d7541721a05b2b3fbd0e3f1e8c712964b4331269411456e31b7db9d765d4b9f9784500606c13c62df5bd8b904c6ae304a6cc958b109b12da44b4273f28e9d3be1f5784681a926ff40b4a28c975f7c19e79cac6bedcc59b008532b8ae11be807b2cbf1edab2fc14b1fed45f5dc3c54d5d4a2d0a1e08aeb9661ed9b2fe19aeb6f46775b07162e5a888f37d4811c11031ebd9e808f01b74ffa54b8899d13e4b02ca4184f92fae9f676888e42a8ae6228beb649edca19c9c522087a9607c1c887bb2d68d1263737947460e2b4db90573507cd7e05527f1b045546a6655a9acd0050acb9c8a998837c6fdd1024eaca71e1c3952fe3803a057fbde37bf8b74b2f45315b09befbfe5a2c7f7d25aeb8e4c2a89bddb3670fd6af5fcf0dc8e2c58bb182811b4a6f3de69863a20aa8f5f50fe05fcf3f0f49f5a3b5611f7e73f73df8e3fdf763e1c2a3d1dfde88a79e790e079abaa283083e89250e38680658d3dd0c9a51622ca937c57832e20734dd3d6a71583893a904f423a232f52afb47ee1c0ada6c6a6ad27f29920b652e64b98359f03624b39cd588060521e173cd238febba0e0e888d954921968402b75b5b5b43b12466de7454b790ce59855b7912b5b31a6eccaa9ae9387ace74787a59dfcc9982bd9b3ec4332f6fc499475dc5818f2b371765f94ebcf0dc7338f5fccbd8ae8899b6a0bdb5197b776d457db32eb446a6b5d51fbeda8b2f919bf707aa91260c40ebda03518daf0692be3701c1328bf1461a2738ef7cc4fbc8d978858f8f173d887fc73c644be0e560789493965ac79725f973be00579613a5d38f82bbbf0a7e9fd7287a97c94cc9b4f45895582c566467b95054908f43cdad83ac3330d0dd85806d1a1ebfe777f87fe72dc5406f2bba0664fce69e7bf0e9da7721f777e04b577f65c8b649569efcffc492105b4269c454a06f3855d7fff8c98fd046b14ed92e6668bbf8aab6b3a30d4f3ef91c6ebaf9bba8aa9cc23576a21a8e840f2723453584dd929ae56e06de9a06d7ac5da20e712ae97f912ba2aaaa8a5f639901419a74459162c6ac48b652c9108060441953c60b35d948b15581311d57b8c122c34f75ba7cbe80a14b210ebbcd709684b2be28881b42d8e519f106870116d1826baef932aa6b66e1f2f3cec233cb9fc7cae5fa4715b5f3f17f7fbe170f2fbd048736bd8bde9e5ea83d0d78a22380dffce17e2c59340b8ff6f5a1a3bd0307f7efc19c5bbe8e1317cec4479bf74443c671f6583a7f4977e7fb3c712780eb040d2534040ce55a317e634d7185aa36a101a566ff0ad55f1acb625fd4838509e00852ca4b085a52b5e31c57169bfc9d695b9a3cd38e5cb6848b0c45a90f63e808e3c34fd7e3a3ddbb0077332e38fb741eb8b8e2a32d28cccb461b9b609d0e07dabb7a70e38d3746fcde94982757c3962d5bb832ecfcf9f387ec87b4387ef0831fe0a1871e62bfb17023fcc9a66dfc77dffff71f72c665d3d6cd5c99b8f150eba023d40c2f813661b6571084a447ee9b1c8d68184d95a65176dd655f20e2de501c0cad9249f785ae532e5b9d137b4253ad776083e18448de6a30188839287b869e27422f82b6e9f7ab43f61b134b426025cb0e4555207b94d8e11bfbfe83f7fe127fbe87746022af6bd3beadb8e2f22fc051518bae9646a0af9d336fe77fe1ffa1bbb71fdb377f8a8d5b36e2dd8fd7f1fb75f9555f86e21d48dcf5606346edf78ce9b7414827d8206a54a640896b48d17817d943f60792d6cfc6da24764f140310680c8c5135e5549a650b52d8cc092ed3326d32346eecb30aa1513c48f781200d4f841fadc85a5af50970c0edc64d37ddc4ebdddc76db6d98376f5e449f3ffbb39fe51a25a45732b8917be7a73ffd298f45a1a62872d0e050a3c99b9abbb70b077bbb068d273df5ddc58d8b0aaf676226c4542c2624872e8ea8fa5484a2b60c9a9d3098a0af66791069960581be00bababa505454c88189cc99162bbf63ca38c4d3cc392b5650a167e38951afdb440959197a6786b18a8417c49250c60d19cd204b12d608fcf2ac4183898a4d684f430f03d3c3b5fede6ef48bad7ae09e218fb0fea3d5e86cdc8f1d0c9490a8a5d93adbdb127b318c345a4d1b0b51c67e903b1d82ab144adb2636f8e2d3c5a16ba94bcb4fec5849c47854b3f290b7ec9bf0ad7d0e4ae35edd6d9542ce647287ee665aa625b3397380ec42a0b58ea18fd1e9520a5a3de38c3370c30d37e0adb7dee2a9977cd031a3608212a2f1f7eddb87a79f7e1a975d76192ebae8a22028897f82d2277d8fc70fbf2f3e3a576712043e2188ba558b0f3888026c0c1c08a295bfd68323c7b766128371050297c70f2dc60d93690a29f2d7a1d56ca03f10649e5cae6c03186846f97a25fe495c20997e89bbcd24418c7bbe8e569d3779c62a047e28e6862a0153d6d2b66ddb868012de1fbd32149fc2afa91a0780fb0cebe7b9ce113267e866064240f950dd01ae8edcd96bb02382c400530d129e6c1f1e25a0c5ff636dfe79506fbc0742ee9c2100355af286607c6682a044dd671207b564b1be2c58f8384d74889726e56066ed62380ba6a485eab325d5074052de81400099966949c1164ee7d8b2c1ecd96cf5540e74d4119a88799e6b6b6bc37df7ddc71fb367cfc6cc993351565ec10c9c80dad973b163c35aac78e73d3437254e11531d4364274f8e363c1c42987659cc1327a929f372ed3c7a026312e388d8a0c2dd35564b3e64a51f6ac03fe868473811a30d0ce8468f44c2489363ac4548049b84c0d7a742fa4733c48e00bb77e92d583fa4eb1a2c09c5b4ecdab52ba64ca5e18cd38c59b3d1dbd18cee7e1f8f4310440b5445c657bf713d9e11fcf864c316f82cb9f8e657aec0e37ffb1bbadc5e5e2dbbd79a878ada6a346d5f8fde010fb2f38b306d4a29dcb2844b2e38134ffef3055c7cd185b8ef8f7f426169058a72ecd8bdf7003ff65cf65dbba8a0a1a965ccd864ccbfdbb71a58de07c17370c87606335e26c7201a4c5ec2a334b43059c304131a52df217cfadb6fb0cd06b854913c96789ac3059850801a0d120a50cbc499645ab2fa5c7171316cb618350d28e79b4049cd09c0c1b56cc48ebd660d19057ae833811377fcfa0e7cf4fe4a064a3ad2e2da48544ec190a4a7abe38f836d11679c0db96337b4ee3a5869713cde7597ee9fe1e064cc86c55081a58acd1c988cb50514581f6b84e25638f89a4ca08458128a25a1a292a44b329ef6d51b7f82abce3e0efff3f3ff44ed928b1168fc18d6294be039b80e6ebf881bbff7439e65f9e4732b70c377bf8b3d5b36e273d7de0497bb010fbdb406179c771eca844efcfcf70fe3f7bfbd0b5bd7adc6ae861edc7cd3f5d8bf7f3f0a0bf2b1f884a5b8ed273f44808dbb179f780005734ec565672de184cb0ddffc0ab6ee6f49dab5e31939cd9f406a5d0f45243691994b8b36ac7b8663052e40a852cdc384f6138d8120d9e30e1d99262498d96047ab0e84404f8a7b79ca8009a14d022584a669059b01269936d18dfa19d1d824b14de024a6667500d34f049ab701bec404e54976177efdbb7bb165d573d859df9136d78767e2da2458f2b3a0b4f5c52e1741e3b9671f445f0f54aa4c4ab3b232ce259d2a72795945ee1cd77628bea4baba9a67418ddd285821f48167788c47ea3b552cc9eeddbb13a2e7527f805d43eba9c8cbcf678f22741d6200d691056b5e0efcee2e7ced8bdfc135b7dd8bb9538af0c68a57f0fceb6fe14bd7df825bafbb15a5275c8cceae5ecc9d538e8b2efe02f6ae7d05ff7efbdd289979024e5b3213cfbdb402e79d7f3e3e7ff917f0fe0b7fc59f5edb8b47effa017637f7e0ae5ffc044b2ffb36e6cfaa492a308111502a335b25aa82ae40ab0c1fcf41ef4a85d950bb07a0fad584b31a898622341f92db89626114418c0ca03dd224e9c35733665332f562322d497d2eaeaab37c8677012dbb135a7cec6b37de8ecbcf3d193bd6bd8f292585686ceb4cd0cc25f295949e9d32ba66bc9ef26b64d81008a0b994d48bf3b3e1eee8670333f6c9496edf17daa89c88494df72599698b946923b163a3cac73ceb28dc5d4518c6c1dea46c578ddd5f51092ef88829a1404f12b423d135fd1849cd398b82510cd558c9a8d43b5c53e0e7d7530cd6e14a7796846298882569686848d876db0eedc1ba1d0db8feba6bf0ecbbbb71d117ae46cd8225f8d32f3e802bb710d77ef35b386e41159e78e815dcf8d97371c2c205f079fad1e7d3f09fdffa0672945ee49754a0bd79252ebcfa0bf8cad54dd8bab70953a6cfc589271cc36393b66eda82cbceff3cecb55d38b07b2b025995e8ed1f80cd6e4dcab533b184599890d0ba604002fa276a660579e3bdf0ba4584a7bbddbcff6bd1f2e9e9779aa18932642cc697559388857c44d0ac16365fa441428a259d0614a546520a20a7ca86b9f88271c335f3468f709328c85053478e8a363b84cedaa8130a1475a3a86070e4523463199eb13461c765a4c5d2bef5602e21623fe6fbc30d04f3b869e21f0a2ef5ed99e745dfd15f6b9854e498bb1be8aa4be8263f5cf9027ed1b5177ebfccb36712d2b7d8c3c516f46e45e545bcc4589408b85e01cdbd2aff05bb4350dc7eb8f734c1a6865c39e12bab1866bb44c1c8b0ffeb4346303305b4a1fdd0526887bfc567d4e00b2d5529b8d854810d0213064ae4336e82b0e105666db77019ef91ef8239698f556924398ddc93c492906b9c581233c666b4b96f789c2b440040eaab07b6acc1a3bf7b1d0d9d5e58942bd0faccb358bb662db636f5e0f8c547e3ffeefd0d5e7deb7d0c6856e415e4e0ae5ffd0ade808c3beebe07a71f330b7ded2d58f7d17bd853d78005332a51b7733d7ef9eb3fc0c940e7bdbfbf0f9bb66ce540a4bac4897b1f7d1c55338e42c7a143e8b8ffb7e8693e38c6692e76c9fe509cac666af9e94058d3c3b9d530e622dad634bf32a6b111cfb14d043910b17d2d13fc1ab17a6bac3f808eae3e4cafad85d361e334a4999a4751c9d4bdfc3e1f071c8261b0653670ec6c40d2a4694ea0e6c56d6b6b852baf002e873d18196f063ef2025a7cb295616180e8e0fe7d28a99ccabeab0b30d166f4d439dda806459db49041368fc9dc9f1a04389a31890bc66ff5dedd72a80e8d2d1d983d670ed770e1539d12e045daaaa7d5c22ae9299fb45def402f1a9a5a7990644171190af2b2f936831a12743e06b03091af795ce6b149c6b1f0f43f020fec9c55e3356d23e0f360cfc106cc98350b327bdddb3700f7401fbfbe0a5b4ad65457057f63b5d982d79c8a17d236ea0fece5a97e2525a59832a5820d648d574be6d785ad4077efde87eae9ecbcd8256f6d69651355be9edb8f235b4e6fcba71f61ffae2da31a8e78275f175b557a3c3e836988656632536c352eaf14304aa6d384ac844d5526404d65d551caca09a881a8e7a6caac4f3678601104234327f218495db7a8a82898150599ad6a1bb7b26ffaf8b85478a64de259dbb800dd381bb9c4a74c9912334b32924c83ce16180b3f2164c0b67dfa317f98eda1071f08be6e6e5f834fd7ae09fefdc6f2e723b67970fb663cbaee7d76b3f44ca0fac657b07aa5fed98a979f8df8eeab2f3c1d7cbd6bbb5eecafa36763c20cf0887449505c2e2436ab42afbdc6b3d5721c10fabc7a31c13803c4cd22d89ab128d05d82e93513a64365e1b40126a22861a0a7033b99215b7cec716869d887966e37e6ce9a81a6a643286780c1cd3eef737bd1cec0c6d4da399839ad0a7b766c41434b376a6aa6a2acb4182d4d4df0fafdf078fdecbd6a74f7f4c01f08600f1bacce9c7c54941460fffe03102d76d4ce98c10ca68c8f3ffc102553aad1dad880b6ee3ecc9c51cbf6d5899e012f66cc9cc9ab103735d6a1a58d4d6e0c20e467dbb1bfae115553abd1d7dd8e9e7e376cec3b14a437ad7a2aea0f1e802d2b97bdaee2a989a466d8d3efc5d4aa0a6cd9ba0d5367cc63a0c4818ed666d41f6a41715101036475e867e736a3763a3adb9ae15344e46559d0cf560e1a034e59d9d9d87c702f4a2baa10f0f4a1b5bd1325e595605f415d631372f2f251949f8383f58da8acaa46717e2ebc9e01ecddb70f36672e2acb0ad9ebfdec3755a8282de4e7d333e047719e8b81913e3436d4337026c0edf1a3bfb787172db4bbf2f5ba193b36a3c727a0b6ba0287d8be4a2aa6b0ed95a09fdd8f6dbbf6a0b676365b897ad879eee53ee4caaaa950fd6e2edae4d724cc64ab376f7f0fbababb7060ff6eb80a2b316ff634765e93298430f12bdb9a9a1abeaa1d57465a980f9b26cae60106daf984c780b1a0c630612bb0d8056497d8d96a548618663f95416939a99cac82b4fa28804b31be30383090d286290094163ac4a0900898b0ed79c3f0ea066222a04332ae59bc2c49381b3b6cac8499fda18e5fa4cf7479a0b40682d203b161079434ae4222dad95cee5382ac3c2dfe242a7be00940b14bb0cd2886bcb589cac90f513f1e4d0dd9ac8b243a5decda5aa0f9fb2604108f9720e0ce2b62cb523847a70530a11559765e01ca8bf398d1af8753d2505939053e665c69b563b53ad0ddd589a9ccd8f7312050ce40084d266eb63aac6600a4bdf510fb5e07bfc9a2c509a755c03e0640884919e86b6193af035dedade861df292f2fc381030721cc9a0d9919508bc385dc2c3bba9dd9fc777b77533add0024ab8d811c050e8b80baba06e4e4e6a18d011cab908f2e764ce4b3a60c0fbb5584970c41c08feddbb6a27fc00d578e1fd3a757a3a5ee007adc01386d6cc570b09ea7bd4d9d520e9fbb1f3b76efc5bc858be0ee6ae1a9736ac08b8eae6eb807fad1d5e78356900387dd069f57c5febdbbe163ab42483678fa7a385039c4c08cc426a3d2a27c341c6a46f3a1065e2edce9ca4369613e76eddc89c2b24a3437d6c3ebee6513af054585797ce4d4b3df663380e0f1f4a3b19101bf295331d0dd0abfca06a1c5ca5924ca64e085ec020a4a8b4b70e06003aa2a4ad979d4614a4519bb371e94944d81043f7c3e0dedbdbdc8766561ffbe3decf872909f970b8fa26b5a7475b6738028b1fb585559760483129d2b22568cfacfb8c505b5a12fd5f0c04c76ed05838ad70c69ecc12e0a551120fbac6c460a840c529aadd8085070b12a6d78e75484c4c9a06f910b87e6989c9c1c2eba66d2f002373eb159494bce4c766c76047ab7b21fb269531bfd778912a213c2ac46f8f6e26549e23eae0474842040b43163cce66b5519cba811b8b18c2c8a9088ce663cb10d3b2591b3ef7e02256ad838a06b65c44ca91e19de8df53cfe39eab9f2005295c76d89469146927797345967f27298dd9a416529fa20ecdd48550ac731930846556a81c7bd644dcf81bfcb077f77007a51c8a1e9faa22470365b919521f797cf4ce44d50a9af8bb016b9e03dd093b2b9202d04d648d29b8a6d39b2b29981f671f640937d0c5cec677d844d9c8a1f79c5a5c87658786d0c3b33d814ab410a9bd9b9f9b0b01b1fd02cc8cf76b115283394ac23396c161ee3c0ac210af373e1cc72f194b3e6a64638b2d9df3689810037ef4c04068a4a4ab94bc76163c6d46a672bda691cb0f4f576c3ce8c7d6e0efd5ec19e7d07789021ed27bfb08881261b8a8b0ad9cac5c1b79fc30016ad60443e217a200788c10930906145564e1eb21c36fe5b5ab9f9d8e7dd3dfd282b2b65bfb7a2b3ed106766e875202073b78985812b5a0d979456a020c7c98e3d8fbb9b7272b2b91ba8b1b109b979797c30913e4625030d14c8e7f307d8b1f7f0a879aa1552c38ec9ce800c81ae6c061cfaba3bd1dbe766002287810c370361324fcc14d900255f724e76967eec6ca560211711330c9d6c522f66d789c6734f6f1f0a0b0b1928f17300935f58c280a08583411fbb2f6ded9d2864d785af587bfbd9793bd922436606d99e16c1552982e00817079b20a707821cb3aa07ee09c6043b784ee693111b2bfd6dfd1c2ca6aa629509d0225cb1618d58a5980296473878624dc89d13e54a8d7ace9ce1271c42ee625e65594aeaf5d184c863249684347128c89558924406b84edc49a83c8d367e6d3b510f32955488cec40f95a086b0a96d3418bc13b8f0cba11ba08cd06fd81b16d5a2035ebe40503928e19c91b30045dffe6fd4fee62f40fe3406d27ac635dab40864c54015b317149b29188b106118403adc3832e70862102dfd2abc753d61b1b0c99fafd324c64460a0408220d9b160c13478067ab96bc4c556e0843e6d0c88389961b3b0be33bd46e3710f644067ce9ec3265666fc052be6cf9d853d3b36330051805232f454b849d5f13a2936ba5c3938d4588f43cddd98bb60068fd1209666da544aad73f015acdf9fc70d675b6b2bec0e07bffd567b1677b1880c09e71795a0bfb79777628ab9a09a280430e8d8f3f30b79f0606b4727032176fefe94eae9909a5bd87e0ae1b04a1c54d1fb4e062ee6cd9dcd0cb582290c009131cfe340436660cbc3b66de7e084d806c96283df53cadd58b979b9c863008082157d3e0f7c0707d0e7f5633edb4f656931fa3d7e5ee1932206e6ce9d83ce9e3e067aca11f07919e8b3eb7138ac13e7e41662eaf422aed131639605030ca051755c512fc7c93baf858f53093367d6c2e6747160155005949596f07320970e1da73f2f9b034091813a450ea092819f4eb682b3581d282cc8e1dfadaad6cf319b0147023854f42bd39231aa42fef1c18269a1894dd357a46aeaf41e834ccdb025ddc7eff726e675c68c1963db16e9b278f7f26b25f1ff07527233e9b84d9684d2a0839a38877927e6717d6c0eb7b9ec7cb197b88eaa07fb1370f0d0423001484766000a59a740c89e06b56315e06f64d3289befa62c8267ea4970ecdd04ec7c0fa22a431d473eb10e8c8cda586c047b1addc6225fe029edd10412753275f854673a1a4af5575589afa1ccf0f954b871d3c39543038e19d0522350cc5e58cc5127c2025955e3e25496971bb4ae86a2e2126e7467cd398aadc8ad983e633633bab93afd6614ca329bd56a4101db6e596535f2f272789026b92dc8709bd426e5fed333c58f107021e6808304bb10bc71d9d9d9c1edd383008db92ffaceb4ec1cbd70140599325051cd80871e780b3de3c840e4c5a5e511b42aed9b5a7e416104d5caf7612f427ea110cc6a2157008188b2f24acc989d0797d30621ab180574fd28589540576e3e721958e2d7d39613cc4eb2318047ee2f1339d36e08980db927c6e7c5a565fc77b90c38f10583a24b7f13ebc28fdb142aa30d19d7825f3f8ece75f96fa2d0e9b98cdd3b55558f78cd9a40804d600c94fa27bab817eb231636992b0cbc6a51527879ecab118f21a4f0964892c8fb348fff081bb33a8818616214f495aec8c6369de3488df46b687b59595971071deb09c216be2050793da204bb1446bc361257e4b532e3337dda741e4bb267cf1e7e3ee9037f31615c9b660267bf066f877784dd8ccdc8ebf5a5d4042984483ae34241da72273b225db04c946c5059df763f7807dc073f81d8b3df48278e8f550c1f07661d244af3e7b6865d25d51446d310940d88d906f3440a11920198b4d496ca493d30312f7878e4ba364214bb1cf6191961021739565bd0871c9e1e1c590edc82f28a0add601adb18b25f2d946218fe5e84ef7d101536785f72d8e75c9c27625ba1df0d8ed4377f1f8d6aa320c5c8b715d89c59a8706507b370a2018b10f8d0863da6282c7f441b2ea320dab611e5fa857f37d57a35a92b1a49cc97031515955045179c769117972377a12cfb79255c8a139888fd6a3e8567b40cb32218c4a0c46187a2fc28583937a6ed89419a5e1535fe4a4068f2a52c21fd75f4ea6b9481433e7325cb02a92617cae62e3e2e04a3fcdce03a2fb42d32e6e47e8c3b1b8a1f4740072849cea4a0315356528e0a06ea3bda3bb0ab21bd5812ca1a940c1bab31a4ab24ccc887ae7df04e6a425403ad07aa6a66c27b445f15799c157bb874174b602010097b12197ccae38ed8f10dac650f3df1c656e282ec5321b66d8550f72177b3ab710c38f37c4d498690bd318a596a66594a5d86c10cb152e2bd077cf1af18c3fb08ceca315356699230598771332fa3f8a10f2b2137554546962edeb1a71b2787c391ec3de386ef7e1bb7ddf663dd97cd27733d559dc60029d17ee52b5fc1ead5ab137ebe4a404ef4a960b87cefe0181e0d99d0a42a141181cefee86436df28c417f62355508de279563eaea9b05c44f7879e422cf432c0b0a593c7a312f322fb340c97bb43ee1c121eabafaf1fc7c927af113b327d7a3ab22491984d61804413b589264f104d0389766b2dc982f5d2f9f03eba11aa37d44f04833920b0e4fcfc5150c9cdf2e8e6091ee961609f0122b92fa08bf7c9de28c1e7b18de1688bbdc80b9d3828982e5c764a19139205a7c922917a0e99966923352ae2974beebe243125e6503fe5d4a5282d2d8900c904cecd71307ffefc840393895b54e865cae48012f594639adc0472bd0c1001adfbb631343897009c6a680945236d381d4eae1c4584cdaec1956d4357ab7bd85a7d0400294d9b8247a978683a378a25211045f3633ac792a8d32d10ac3648bbdc3c89c19f64d3465d80ca20f8ecd1039225ee42b7c0fbd22e066292bb942350a47ab9e29f1e95208c5dbb2c5df4458e086042698014599e69997678b6103009378494b2faecb3cfe2eb5fff7af0bde82ba2f46c8a3c4a7c8545d2537c3dfe286b391e1842daddec958fd32f4a9003899cd4795d31452f2c3878552708a63cbc025954a0ba45f8dd037cfb8308fd60a3ec1e729be5e7e7a3b5b5352daf2db12394d547316724bc38912c49348263f07ba3915f929581d42c1bbbe26e08498e4be0e275d41f5bfaa1fde143eefe132278045d8f8763827e3f0435c91c33ed5bd38c38166d5cbcc691169797498fc8b44c4b463326964d9b3661e7ce9d1ca8bcf8e28b38fef8e3f9ca78729dcb68304c83a22966d8222fc6a7691287205c4741d7973713a7a3afc483826a439799ba1ab4ee0f5782d9074a68df231c3a81428a3349476042cc1965dc104b42ae9b893046dc485bca2058b3a1790ef0fba3848142c1642110523e1da966a1b28b64febdfc8baaaa2575951fb96d61485c113f3e9e322ff3f390933ee443f120429460d7238d05c900934ccbb4f4224c822f48ab8356c5e6c32c9130999a79cc8363ba822e1459e55940a2692cd87bb61b7e0bff8e4d10df7e4aff92165b4082095ccc5a4b4382d1e36ca467525656364c7da7144dc2160b8f2549064b42f91b82940fc16187e2d39d68217b2e1880c494348b4777444bf12a5f1bf99314d8fff01a3dd1ae4530d03bac7448a6658049a665da04cf954357700b162cc0d4a953f1eaabafe2fcf3cf9f5c38cb58e18d2a76162e5c055d2925b0e913d8db0f4295349e9aa88be6c4dec2f7399e95a6dbede6bfa5b47f526e4e7523d1b7aaaa2acee44c144b1289951568be7d90fd0224caf60bc63ed00b4a236146520de8f1c9e350dc8ba770de613bfca1ebaf04b34cb5e1fbb670c48a4e668049a6655aca9acd660fbea64ab7575e79e5905573da4fb4a3189988746192cbd6f49460d2efc1bb8fe8b264d9859c2d11d5f895404613628b87352140904a60924c9624d25892732c60e8d608466d215d4e9de27d66397390e7e9c5a7a48764566f8796d0be9262898ce40179c0a8b03e7ad4ebe840ee48b96a69024cc8d74e0169a44192ec4648753252e999969a6946d7dd181bfdbf6ad53b38f1c42511f2eb260bd0d7d787cd9b374ffa2b14e162e1ff5382af75155a7059775ea3274e5892c89537b11314609a2a1f7fb25992c1d024a4aeae81326849884450c99d10c0d5259db8205bc3e91b24b88306511ee7c83132a878782af41a4eec200a243b7a651f5788392c1913d28cf2c776eda2b190bcb68d45821250265ccf8f333b5c00454b8bbb91526042751efefef7bf735fef15575c81850b17266cdb34d1d7d6d6c2e57245fd9cf6f9e0830fe2faebafcfd8dc4c8b71421f7b4cc2bffef52fd4d5d505d582291badb1b191ffedf178b071e3c6c3fcea0d7d95143819057c1010a41813ba0f74ed93d5689f3427114bb26fdf3e7e1ca96eaaf13f4953214b1a1e69045eb058e1217530d1c7c5c912839b78f126a362af061b8328f32d85d8acb4a34bf31f36fddc14718ca9b6d3a837872d5e022ad73fb131e01050354c14862560a2072f2b4050f935751025a5c084741b280afdbaebaee3ccc9faf5eb515e5eced3f90858cc993307fffce73fb9f60481165a65d0044f60e398638ee1befae5cb97736a7cd9b26558b76e1d366cd880a54b97e281071ec0d1471f8daf7ded6b78fbedb779143e7d87b6fdf4d34f734d8383070f66ec6da6c536e190bc2565a806b4b8272a62476ebbed36decfc93851d0ab3979510a2ba50a5f7bedb5bc6f1f56228013082ee2b9f683af295d77d24ea2ec1c0287873f4b32325cd0ebaaa8dcc5b6cfa32315894b9d0be35fa81b92efbc3c824de2664f5404b0fff0a1af09f261168392d02056b3b40a815a51af7e3c517c0615011488c9326a32a59a36492930b9e4924bf0d0430fe1aebbeee2cc05010b0213b4a278f7dd77f9dff3e6cd434b4b0bde7cf34d3ea12f59b2045bb76ec5aa55abf86a8752ec0878d06f56ae5c89c58b17a3a2a2820b141198a1df1100aaaeaec6238f3cc20b791108a2cf286d33d3322da6f995f41ab8d4737cc0818030f55102d104b0a94f936122912f72619e76da691c9c93f017192e935549e2992590c99818e9cfc169a1b1ee6370c989d0ef35747676f1aade130d4c0888522c09ddfb74614986de358d030581d74d92784c9022289068c53ecebb191e19c1c13dccf82352f7d5525e9325ad418ea17e4c17c91b5030d14e9674002469014ca8a0d6f7bfff7dce60d0839810021fb4aaa0499b563694c540133b311eb4ca31dd3d9f7efa297f6feedcb93cbb81d89559b366e1a9a79ee234390113f223bffefaeb3c029f000e3dbff3ce3b38ebacb3b8d2e62bafbc92e9fd9916530b97ba8ea7515fa6073123d48811e403cf62e14c89a9424b0199a3317809cf7420124833527fc759e080b62205c5d2f8ba38ee3892d10d9c11ac89d11994088318565d59306aa6f6f47433b058c5e71bf3de24ba11234380b49bdd7f02253cfb421c591764f8ab6bd49315f49a34837ae7b82eac5ebb450ae9c118064a89b65d5d8226e673d0cc2fb2a7805b0ec394864e8d2040cb2093e10813e33225e1fa04f795012658bb762d67396882bef4d24bf9ea8680454141017f9c79e69978f8e187e1f57a3938b9e0820b70fffdf7f368fa993367e2e28b2fe6dba0ef1228f9e4934ff87749a08898176248aebaea2a0e7ab66ddbc6df2377cee38f3fcea9d5c990099169874723d724b17db482266365ba18089010c08ed5ad986836453367a471ae5c29b851a5026e6502449b0d6a7d62e30648cf95627cac4e0b24bb05de2e6f9c73ae4d2f192850468ac859530224e4064e7401c5e15812d12a71a3aef895b8efd2e8c0658c402558de48476fa3f62f5382662cfd2593119b699301989c7aeaa93c188c562dc47050235a9b327428308d52e8c835436a99c47e10dd4de082d812a2bde9f70448683099b129a4a449133fb5a38e3a8aaf5a6eb8e1063ef9938b8728f45b6fbd951b050234999669c96877dc7107fef0873ff0be4aa0fab2cb2ec31ffff847ee8ea4f762a1f813eee23144ce04ab0067b603eeaef10582eaf10a224455af159cc8959e66561f56b5d125f1079b6dca802a9807d5990fa97935b4809e2d64aac026129804591206384d96c4a0397455555118eb95e59c9416552d4c1827501111cc9b1a05705818b85248e84e4dccbdcd888a0d83e18e7055d894530683e5b8c3ff26268506f8b1c71e8b33ce3803cdcdcdfcef534e398583126aa4e268360234e169c7344950a3950b811ab3115b92699936b6957becebd870c348130d317df44cf150279d74127ef5ab5f8d39e62071ae798d47e37bddbef15d149a4405096a2b99372f44caea88a3685ad05533d8201b27aa199aa4b2973d7b633f73c17057a9153381a94701ed9b814007ff8ce6125a1085a76e8ff58a134b428b27724fefdfbf9f07d707efbfa6030bcab08837787af031088688fc88c0840a581bc04113308ccaae10043c54e48e67cc98d2e923404aea2bbc8e51d09f133f0015c2a09696a4319b813f196092b04693c6e5975f1efc9b5891c1c2549996694985252251f2cc90d1aa5d890d9e506c13f55d8a9b227690c037b17b145f120f30d18d12f4e2604844369f66ca8d4055d438af8485720c7991324dd003f3b43020a2c659c955371e12cf06310b9ed13a5ea1cc1a6365ad4594671b9d6380718d6432a0f56b1912d9cac0812ff899296a46b16d23df07caee91f8f9f1f31d7404c4bc52703d011d0acc1f0c72d4b8606cf4d573f0acccc00308c1873018890555d35463b7d220e6440beb51760e5cc8c515c282663f33f719765d593fb108360434bf7e5f84f84be65a8cfb4aa132c204eb664428104f228472a4334999208b4ccbb49827393d8b40cab343ebf55285b098e6395a3d87afa089bd23d04df2e8f1ae97cd3048554871a49a6441765e35067aea99b16200659c05ef55ca0681cccbd4cbce3268b632a8bd7bd8cadf33eed3e449afdd75ec0158d9df81305b4a2c1631a82302138abd60c72618ff4c4037124b9278f32a84311f6204301942321971204e47164406a0fb657fd8efb4e083831206328001fe1b3355540d9260438349447eaffc709c3615f2ee2ec84d03f1dc6488a512e43eb66f0fb9fc9409d10d0b778368a271b33562ae265ca72cbde6ab704d953100c823129850c7a100b44c8d804c4bb746f14714184decc61060a000fe76379b54059e85228f61aa33278bb8fb7e81048bcc0c479fcc633994144eb39aeac7406f233b0f9f6e33a18e0b2809060b40f046c8a902665c017cfa102cde3d0884dbd331f142a1b57300a2e132d2334428cec48c491bae8916115945d9e8efe823fa856fb0a0201fd5d535c3b22431018d419c0a22ccffa0ef8765e208438049e485510d374b76562e148f8f0193c02017a4a0335ef4d002dc35a4b3520e6892d3a884cbeeabe20306b98d54620c59df178bf361adeb455c49ac44e4f8749684437a71c8e613c73698713daa91922ce2c842250863190560b239b352ca9810b59d012699966eab0cea97147c3d1898a854be80161faa02a3987a529b58e962864681c256f7baf14821374d93bfe2e60089eb2d8cf3580472e190c925bbdfb50bc2ee67996d6d634082c13f2e2ca58eeb4c75bba4abf74a9a10b487c49850003edd6fcae88b1674a83243eae91e60a846d3336e882571b9866149c6525f4632aca616dd9a07035e85410f71286342fba75811b6cd760feb274e3b048f647c4f311ec44ee5b12d121be5e320851821cd920769eee5506a17029f3c0db16935ebeb720476e0cc0abb06be6737c78f152923a947e14687dc7f822a44856ce331a321f97ba02c8b812cbf8266d91f4c133f929ad56e8548f399d73fe932a252064c680230351c322dd3d2a9514c48d43e6b6146cb2f1bd35bf2975feab6ee3063a08c69cc055794e3472650cd0095046c4e358c2f7f0af401ed6b87e513069f532ce7136e9494b0d7c474904b8de2449a9a9aa26f8b3281bc0a8f0baaa9ae460f03235bb66c09b224a29e881ccc1c1a6a5a0733245ac459097072513355f31996550d020f8183162508af84a03e8c60000c5167ab049355a1406b85bf270a1670ccc8a6790af0d55549697b4ee36865e338acbad9167c502c6c4e9eb118d8f21adb66c088f409bb03160662a87e8b57e641b063c9bd92a3dc93a1fd540be2df58fb6d883f927815651bdb939790ae2872964715953168c84c6ec644d5b44999a69d8931c9b44c8b75a007e494ee3f3c43732cd8c22c587938c9de9b1935e3015be4ce318149543e4392785c1001d603070f0ea94aac1a811da46caac963a8c42b78759d15299f9d900c35d08f908b46e5861686fb450bba792442caecb706700966cae89a2d0434543703d1ee00f43463124e23069040b79d7da74b870882ced6889a0d9ae201b63f056dff6b9006ea7940b4064b04305165623a1263ddb9d8dce0ae68213727f473510db01ae3bd0d860573636c41bd218a28b1731022e0e891d164bf5ef7865fe8f1f84233c024d3322d9d9149cacd709469380e60a31e7ecbc544d42621605259398501102b036d72c4cde62c0903250446c25992c12b75aad06b735ae01f90117fb80da1090622a8989d4a46340ba66b47335c2fa107edcd160426042c74f139848263393891b931e67c8a40db96395342a08447011beabc3018176eb655f69eef00441ffd4607073c92498bb8e00c4c9855a4c750bf28acd7eaa03274ff782abdcb01df00036aaa6048e4c799dd65c4d7e83566041e4ccd3932418580234d6556af7d33d6854c0698645aa64d8a611e8fc199e8f88fe8db375991680674ec067ca87b422cce82ea0b40e893618a7345d52199e0eb3132d88a6d9f145324cb0a7273733848a1dfd07524f556ce921c38308425893c4b3dddc3ef098ce90c054d8f02d5d4010e1c44ce68d007aae19e31555955182225465ab08a900e89814b14e86042d082ec81a0855816817fd6cd25e875d79071853878d1f3be440e544c01192d6a4fe001dc63e84f5ad80b2e94a745f64f6f9f27428d568ba3dfe8ae1cf3e8351eafa488069944ff9461a37812d033d32f1799dc8363538c49fdb9648049a665da04102621c1302d812a8ea3331e13c38a48c6d92bc173b33845bea20d085623b55446482fc314441b6cd492bd5e158dbb307ad8634f4f17cfb4e9eaeae4b16f94064cb127544a20a66baa8e543f6614768b7b618c2abc2070e3e7d78a580b8212aa16a5dcbd1a799a56aa45238445a4f01f58d8d7e4a0ac09d06e7a4760467a98db0d578891c33ed086190309e9cfda485d5c8bbb7e13bfca866f28d85bd51078d4a2b12bc6b98a63045a61dc8419159336aaada1638877e6d2dd7b3c203d45a791012699966913312908a1197ff02445068f8c9d29f0353978222dc200a8f5037ae0a58584e6249ea22a845b4b6da8314e6acd64c12820c78dc4e82bc08e8e0e5e2a8000090193fafa7a833d19cbbee3334c3a5361ba567410251ad75e8d12872168e1c08b64fa45c886788922503c495810ad60d6c121f24583e4b04219086406284269c58224864486c768897966da30e37db22ec152791a19609269999630131e2aebce430044cae2d14737b905ce3bef3cfe9a8c1f8192ef7ef7bb5ccb87524e9f7ffef931cbd34f1c2011229912c3e0f24274861b4022d5585185551174e338024b10820782ce104c2c32342c3897ea650739b2e43eb96e66cf9ecd3549e8319e00e1780d9320e8808418a8c29a5c38a616a071cd41088a081b97338bc65c083cbe44942866c40a95f447e083a8f4b3633757bc0e9e0e4c711a8229bc1650330335bc3fb27b65cd720232bbce1e6f9cbf170d9d108d5b52ce9a04b4497c35861befc94febc900934ccbb404ae33843088121e6cf7a31ffd08dffad6b722be7fcf3df7045f5315ec7ffce31f69b9721a6c70f50c444557d554f5c94b3175488c338eac873228468519625e5d39493744b25aa1f8fc5159139a74494e9e62494897842a9327246bc9b8004ebb1db2a222200746384cb3e4a10a779f1fde3d1dc1441bbf30d445a4996c89c8a6efec3c383ef745d8a72f45d7932f4338f00a04b9570f1a3575d88dcb4f8b7ad59fa28c2c0f03865e6fc2ae6ba2be4af79f0312551b436445d0591b31dec3ddb8939129193ade937f1e196092699996c8816d089f69b21ae1d5cecbcb1bf197e1c527d371928afaa9ca65b9f4f80a4107253a1210a9188a51bc4e31eaa998591c22b7b4a1ec97893a7ad395a63050d23fec3527f68a2a3cefd8b18367e0504da3e1d286e3329e6653b4d139714d0ed6d3f17486196f9ee23bdc5a9d6342a81609ce6367206fe1c9e87af103a8a2498dd00fddc19b95aa64d16935d5282daf8056b318fe813eb8ba8ad1ef76a36eef1e74f7c5e7ca24106171d8200758af9395a862ae42c4eb91a39a341365cb5a0c3d3ecaef050392d0780fa811105c306a166993463825bd4054da00133f1bc08a591a9cd2c6a48c226ca64db646939485f55f1922ebbf0ebb0dee01bd689cb90aa7e7f0604ad2c888adbaed243877fa4fb5f0895e4ff4349c5b866098be865423b8a5941c299b5f48869eb44b1a1a1a787c093572a9115021c5df40601c71186159255ed99ff0295f274254dd2c0f0ca0e38edfa1c3fa18ac6dadcc40f642d76a55638aad99a876ceb2f370f6555f476fc16c6c1fc8d2ebebd81434f43ab1345fc5d562075ad6afc4537ffb0b1ad93d88e9b29260984cbec3e1cb226ad1c0e984f57891674d91a09d641161b359e119f0a58c65389c5aca8109ddbead6d5e6c6bf3604e91035636a16f6ef1606eb1030b4b9d1033f824d32615672207b32c83155ac3e6a8b7df7e9b677a389d4e1e047bf1c51763d6ac5949c30e2105d0c41601a4087eae3b913d076ad614083ddbd86ae35050aa5e10f4cc12910d683585b53b8825215d12929fa75812590e313704462875989893b6b6b671839f106b3301fd8caff4fd10947ec0dbc76eed7e0482a0cf8ce43425eb93077af3f372f1fd9fdf09f9e8cfe18fdbdca8dfdb07f4f7e2bb67f7e28b0b7a71da7d55789fc4455c39b868c135f8efc72fc173bffd295e7ae1f998b6af848b1c0e2a4cc78bd651ff529273be3a1ba285d7451c0c1f53ba4ea026b2858f660a104e22ac947260b2b67100dbdabd6185b801b7ac627db31b7d7e05a75465233cf6a6aebd179dfd5e4e0f1f5559008775eca7d0d1efe1cf45d9ce719d83970d163aaed91585237462a0bdcf8d42b6afc6ae3e5415e6f014b5581b893bcd9b378f0fbef5ebd7f360cac2427d7fe4176f6c6cc4c2850bd1dedecedd06b4eaa3c04a327e34d1466bb4422443654ab0d3644c069356f5a6e1a467bbdd1efccdc18307f97ba5a5a51914120596e873a5c0b5aa882d197c874f3cf1442c5ab428c89224bf2c8310ac229bc8266a7abaabedd833e17de2f7d0aebd1ec21b0f18bc8160f8e1cdcc85d4ac36289664304b32b851513eface7881891694029f0803154a03d5b4c020ab2884082c419bf8cc0abe3bdd3d57c0e6995fdcff38deb02cc68b2b0ee9e57c4957275fc4cd27f76356a107e72ef461c556369ff87d78797d139617b870f78fee474e7e21fefec8ffc57f8d8722c288cb30d1c658bfc60203b86c4922fbc2ee768a95560d52723246ba183d2a75adbed78fed0c94d82401e19e1b6249e8bd3d9d3eecebf607dff7c90aaef9cb6bf8fbeaadf8d7da9de871fbc6b4dfbf7fb0033d1e1f763777635b63e7b8cfe3a6c7dec25bdbea46fc0e1dfbad4fbc8d7e9f1fabb6372020c78eea376edc887ffdeb5fdc98dd7efbedf8dbdffe861b6fbc117575fa3e972f5f8e5dbb76e1b5d75ec305175cc0c5a008a05c72c92578f8e18787ddee534f3d85975f7e39f8f7a64d9bd0dada8a3ffde94fd8be7d3beebbef3e6cd8b021e237b4dd071e782083414600a0e1939216b69a3357ec252525282a2ae2cf26e84b4ae4bb861095a325fabcb9a415ac8d1b51f0d76781bddb1096b7100423aa9afc699280f782050bf8b5deb66ddbb0a0c404f9f47d53a82e21d77b826089de4c85d8419f06d35693814c04582c0edc7ee7efb05c3c062fae6d6013387bdfcaaea14fc437161328a1d81909df3bb93b6431edac77f4baf1bdd75b70f2f5bfc0d9e79c3b6e30a8292a778f260b170c37ded3020e501f50b5c9a6469f7ac6647f979f035c7118c4449fedeff66146818dbf47c6bc20db815f5e753a2c92feabddcd5df8fdabeb90c7de9f5b5184e3a697625753372e397e269e5cb303a7cd9982f5075bf1c1e603983fa302171e538bff796e0db61d6ac7d9f36b38e34251f377bff2319a5a7b70cac269b8e4b89978e0ad8de81cf0a2a9b31fff79d95294e7bb7456810da47bd8fedc0c145d75ea02d8ac1256aedb8bcf2d9e193cf697d6efc59aad0730bdaa045f3f63619019f10674a543fadbcf80caa3ef6d45c78007fbd839dc7ee952cedcfc79e506bedfaf9e3a1f732a7546e4fdf7dfc769a79dc659117a3cf2c823f8cb5ffe82175f7c1137dc70039f6c6fbef9664e4d935b809812a2a869651e41832a6c9f8f3eca41c757bffad5205bb276ed5a4e611313420692286dfa2e3d13f3b27af56a9eceba64c9125c71c51578e2892738f8192da033d34659dd859b9724c49870b54e633f891681e2d1616c36e93fb816d2cfbec445d2152018d48908b1a6e4cd92144b42cc228d1b02d5a335536386c6c5d0cac19936a44f19b2f19ffbc217d1307d195e7bb31e7058f41b2f0bbcf6cdf54b3a83b3fa59337a70fcf47cacdbe504b2542ee50f7f003f5ed38f7b6efe4facfde8c3715ff74cc5fa891fef873530995fe2c09c627bd00b9acd8c3cb125054e0966d9a1707787cd22a2910185ebee5f8e13e654e13b672fc6cf9e5d8dab97cee70cc8136bb6a3900194f776367060f2f6d68398519a8f99ecd1575b817b576c6040a50a8b6a8a71fed1b5d8c8000b018b75fb9ae16540e1a68b4ec07f3efb0187c10fbebd197ffadad9786dd37efcfd83edf8de05c7f363b8ed9fefb16d4cc592da32fcf8e9f771e3b9c762fef4321c3b2de4daa82dcd439fa702bf7ffd537c8601a3b99545fac56627a73004fbecbadd3877610dfef8e606fcea8b9f81cb66e5fba0d6d8d987a98539f8e153efe285ef5dc2dfa3155e6565255a5a5a822e14f293934b87a8670218944d400f022b94653063c60c9c75d659118c077df7b1c71ec30f7ef003fe7b0224afbcf20a5f61fcfce73fc7830f3e88e38e3b8eaf2ca923d3762d160b1e7ffc715e1a7ee9d2a57c3bf439ad2c33c024f6462c14c535d035a56b6bbadae8350979ad58b122a9e028e19314974f9720283e1eda40c260821cb99217a8ae8be84c4ac4832bdb85e9d3a673c0bd6dfb3604fcb107b392612430930126b10052152e570e4ebdf21bf8de1a2f7bc3a12bc25915b6d0d270dde22e1c5b4e72fe7afd1fabe0c31de7d6e356ff546ce9b532504269cf760cec97f15eed5c7ceeb22fe0f187ff36ae3e1e1e3734198df2a418ef87333021374ddb40001233d832bb70b30b1db0b2d75bdb3d0c680b3c4ba780a1ef922cfd30fdb28a2945d978e0db17c26630263dee00962d9a86ce7e0fde644084608cc3a67fbfd3ed47bfd78f27566fc309b5e5b048baec706e961db3cbf3b1a7a58bdfb0ddecf9aa938f426d5901165695606b63074e9c518ea5b32a51dfd1875dcdba0224fdb6b9cb8d8b16d7a2c0e540310341e44e2ac9cf4265811ea7e1f60570df9b9fe2a499959c8de9f5862644556303931db7c32a42664876de94029cbf683ade66df7b677b1d9a7b06509eebe24cc9a26965c1df391c0e2ebe45a0c45cf5d10a9080c89a356b384d1d649a98e1cbcaca0a0ec8f0f810721fdc7df7ddf8eb5fff1a041804762a2a2af8444c008580080d6c329cf44cd787400bb96fc82df4939ffc84bf4fc79469b1b70f3ef8803fcc565656c6af7dba35eab35467c53f8ade0597a5871ec8aaf2ba241aefdfe4cee182a33c8bd8a86e6a040852df8264c1447b738825292a2c424363434c2cc9e0464091b631612b59a3709e1e7ba3d7c931739626a3f95cb06031da72aa70cb892f6161b10f734bdda82ef022db92857c87cd0025a6dbdd8bb3a737e0e31bd8a2cadd83368f8a9ded3938d829606deb599877ca25b03ef50f04bcee843207a930cea9da6f3ccdc96ca5cc066c20cd84f7521a63e2b08838c48049ab5b460b7b1ef0ab70b30bd462bcd7d4170802106a64d4db7adcf8f93fdfc77f3df33e030dbd38674135ae7fe875fc077baf9b8184795545f86877136e677fef6be9e65900759d7de8f5f81120ff2333dcc7d494e1e7cf7dc0beefe59de72ba72ee0ae9cff65dbdcdad88e2b96cce6ae166ae4e6b11aa941c4de7cf1e439b8f9d195f8e9d3ef710074eaec4a1efc6a36021c07dbfbd0cff647712516c3574d6c0f058bbfbbb30159362b7f4f323e0b280a3f8e7f3b753e3bd65ed4b57663c0170234a448b96edd3a1ebc4700e2d65b6fc59b6fbe8973cf3d17efbdf71e4e39e514fe3d72f1100bf2e73fff192b57aee42e97575f7d35b81a27f70b7d9ff6b577ef5e4ef37df39bdfc4e2c58b392b62021a023cf47bf379d5aa551cf0ecdebd9b07051230c904bf8ebdd96c361e5f42e02fada85ff6cfc5407b16079da3d3e124304a932ec538f2a271aac2697d8d57a455826b6a73eb141c28cb03c00451ed2e978b83747249124bd2d9d3094112828abcb1361a27746fc2417da2d92551d0ab0597974938fbdf3e0b677159b066ce646b5366d6e2fd26273b2d15d71ef7272c9dfa1aaab2373150422cf0fe418f7decb11b0e612bca5d6b1990790a97cfbd1b67cf7c071fec76c256b30847cd9d93d0e353cdac94143216e9d8685ce4643b991db32195e9fb69c798cc29b2a3aec7873606422441cf16a0876414542aceb2607e496872b05b25fcf51bcbd0d1e7e1d35d1e9b446f3eef38d6a10f71e6e29177b7625a711efe78cd590c880470cbb26339b341ecc8bed65e3c7fcbe75194e3c4b73fbb085b1ada50cc6f8a15f96c3bf77cf90cec39d4855b2eae84cb6ec5ff5cf919becf8b8fade580c66c579f320fc7d694a2951dc36973ab3858f9f5974e0f7e9eebb4e3a1eb96614f73379ebd6516772d99a0e6cf5f3b9b6febf8e965fc387e7d95febb53664f6160a914a5b95928cfcb427d5b1f8e9e5612dce619679cc14107c57ddc79e79d9c2521b042abee65cb9671c042ed84134ee020830604651650dc09357acd8f2d3797831972d7905b8626606249c89f4e990af44c4693800e3132c4a4343737f3899e0c2905dc52202e1d0f0f30cbb431afa4c8f025df173e72f55f328a5d7d6ebde43c5fd50fcf9a502c2b657d5a0ab261617d79a06ef42c96a0a0d51879817089ecc1937e5555158a8b8b79bf35336a2c4e0b145981a6c6b74b32640303039c613c74e8107741e9bb538c7d03e38993d18ccabe6669b9ac22072c760b8fd780284e22512ee3be4816ececf7e1bd0de7c217b0e1becffd84bd4bf357bec196380d53a370c6042006fa107be8f7e9bdfa9371c6c3bf85da9d050f5b0456166461d36132d6530b4e461aef22b7b5ed5dfd46ad2621adf8ba940213cabc39bd2607ab1bfa51dfe3e7ae1b852a962a1aa6e4d87072958bb32ae16d5679017f843772b9f479fd38d4a52b099a311d66ab2cc8e18f08fab1aa24e2efeaa25cfe08ae020cd70c018dc16d5e5531e685af18066dbb22dfc51f835b496ed6a0e3d2f74140881ed4669615f04778a3745f0219e6a4fc99cf7c26f8d9e9a7874011a513479c930158c227f6b973e7466cd76c83a96b129aa246b128d44c86e4e4934fce809254509be1fa231330510966e8be68e8698ee66fa1d000364e1d4b66a2e69c53b1f1fb7f8c0596c010811dd7244f2e2153008d583e8a7fa2781d0a02a7677335287b65ae6b31964997dc39c44e123091441b481f4f8327ec3a8ee73ed0c593f9765a5a04bcf8bbe57c2aa6c958d6269fd09e57d6d0ed63c7ed72e34fef9ec5face2ff0c78b6f86a016b25374514731ce97e6e74817cd7bf5273050f23ba81e36375a3d6819c8e629b899f19e08d1456118500223755f34549ad5d456ec4b3760422ddb26e2dcda5c34f4fab9cb84e24dcea9cdc1d45c7b5ce26a390e1bcf8039dc57daa96e195092ba95d7f8575fa3c873434fb734f5b946a615405272e87b7b33b6bcbf3da23e082fa1a3257e0569322526289932650a67f2c25992c127a529bab64cf8441f4b306477772f03ebd50c04d9d9360209ae931c0811474655602ecd270c2f5f3f9e7885f0696322ec0fa974173844b4d009b9faf1a7f7cf6386e56efc7ed9bf33a36764e4982491f99a599ef7eb182879e40f3a28b179019f8042a7843a2d93559318a62581e3fd48032626ae9b9a6b4bb7c3cab44c3b6226aac1fbd062d81437f31424eb0f552325239b936387d7472aaaf2845c036249486090000aa5be53e6cdd0c3d3a21af658c03d312c01bf077ebf0f0579d911ba27e631d07608a4f302866329fa67ba838287a94c5816b5c56a81c56681c7edd567db44a31306dce6e53260526f800f9b1f2fed5d80dffbf5d30a5620108ccf0998302cb26af7c950bb8bd8aab25b07675601e5563f1a3a0732e33dddc67bb219a3cc949f6999966909637540e55b7c0c344c4c155b624928be8a181212158c064aa21d5738781875d217449e3333e00ea07ce977a18ac5d1edf1a0ba47137e6dc768ac645981cfe3d7635826a035eed98663f2b590a22f7b3ea1f8804ea91138a15be40d7b365ecf2fd9c85093514659d150589203fffe0dd8b1636766301de12d034c322dd326a01d99224ffad258664626d10aaf14803d7ffe7c1ea04d2c0929148fe57ec462dc054d4fe56d6f6d82a36f1724cd33c12bdb5126e96154684dada151ef0abb17543f46771f25be5f6edabc0535befd904a5c7a356548585cb84b07263e833521fc16309ee93d76496becbbd98dedd76bfa04347c69760e36bcb31cb2cf9319ef196092699996691332b848f8d26583689326e74033e9f7b8c149621b890bce9933876b92ecdcb9332696643c0042e58e20013dfdbd503a3723cb252494c148e4b1c77f0c893f6612745cf5e49ff11fc717f2cad20434a6e5ee33143281ba1ee05beffc1217bdfc57acdcaf0b55125899ee3c8472570797ad2f9c92874581dd78f1d96726f778cfb641b088fa78178e84f19e012699966993873bd0f4026a944a2bda2ca17a6e877d8b33377714968432cd28cd9d5892a40ad2910e8baa72fda3c2a2a2716d8a6251c6b3a21e0e7cc40f8e125c3425ec945e78f6593837bf800b8eaf62bbe8c5a2fc4de81a00fe7bedad98f1dc1a3cb0f50b585eb714672fff1bae7afd77d8d05884fc3c063a1dec9edab270d7c92e3c7ef7cfd0dfdf3f69c73b5d5a6bae0b92559a7c433d49450f636d9928d34ccbb4096cde961ebd1c7b304f767c23dfa4ee273ab64192d8aacf4241a0a1c0d6646a3290860ee9f4343535a55421b7abb393333689603c268312685c7dd122e999e53cd646c1bdbffc197e76df6ccc3eab0c4feeb904f7ef3807ed7dd3791a306c7dc6c510f18fdde7e31ffb3f83afcdf917e6965af16fc715e1b5dfdd8277df796b6c36354d24e7e9083c4d5d61e37dfcc794b4f16e9178f696ec57d2a36f654c47a665dac44d54e4c41134537a3c412bb324344551210794a4ef974a1d104b42759876ecd8c141492afdf7545f8a44076d36db98b711ae3c7a38d56ca15453cd3098c46a6567bb70fb372e47d196d7e0cbfd09b2f3e7017637593b1e43c21f54c746e865373a0b2db61fe1ac927958f1bfff86a7fffe58da8f8998c6bbc0c6bb9ab8f19eac464284f44817aa27c398645aa64de464c5ebc7b0894a181b8d6e16b3d44ca5d091e87b43f7cbeed45d47ff9fbdef808fab38feffbe6bba53efc5aaeebd575cc006830d06625a8010122010d208092d81845012c88f3f24815002a106530ca11902c6d8c60de3de645bb2acde7b2fa76beffd67f6dd9d4eb2ba4ecd68fd799674f7caeebe9d99ef949d6936f76dbb6e47b9befa4bf37759494a4b4a504cc750103cbcf386632838d95a89479f86950095e0ce33a35138b596dca36bc50f11d7acde48710636bb7eb2cb8d133272990bce98fbe03dbfc5792b3ec3af6eb815d645d350a04420b3ce867a8b8c84601f8c37da11d69c8fdc7defe081d75e4159697167e61011bbe1728d0e797a979df40ea557d69dd6f42e776e2971d2bbc94f4fa04281b52fdbf395a195636d04988cb491d68f4d76537d2fe489d687189d5d8d77e8ce0d7877034910e17ee9a1e6c3ae1b3e6c367b870ccac554d9bccc872bd19937ac249cbd95efcd5612aec23cb84d4db8a15ae31dc26ac25992fb0a4c066f241ae8152d9a39fbaa46067a6cadd712b0e61a043244291f6bcb02e17a425cc93c373757801257dbb1ed6b718c9f321d4b172fc28a317130375b50575b8b0339a5d8fdf5265198b4cbfe73b6eb9810e87c0cb06797421ee6f4de31289188de0d44ef3674af86829a3388e99d01494f41854ea71575e4ac567b2798b0a504c47716981437d850dee4101311eeabc5a800034636608db4ef4a6bcf0aa131f8c2616954d3477797f3b046ec7065fbecc14e14a7bba1b3c7b8fac656845e25156bfd40f1830b45f2c142df25f875be3e908961caf6c1f177eb747a026906582c6a42b2aaaa6a61cdf14e9af0ee6bcf1d6ad53dcc62cbdf369300d3ca0a1c92c62d3ebbd54745726fd690792bb043f100b35a51b282e380b8ee567b2d3de5b83862e81d3370a9eb06183963a9703d172ec97096d1bbe77b135bbf7d88decdf56a4afe2ed785e206270ef68ef5308dbf4ac35d3c6110dd8f83ee086bb4c9d89c5d872d59f530ea2404f868b12da7019b32eb50677160a48db4ef426bcf45e330d79260b039999406ed9941dc81764e7d4d72ee8ae92933119b0abab8c66b9a1371441f93515491e502936c256150a2713ec3141e02bdd167d0de85c361234d926bbaa896aae666b3b00e71dc8bb7df796f855a77dd69ec1290e9d44783ecd8bd341197197b56d15ad128b4a248887152120f6f243f9edf1d8312cfccb81d352bcd9fb9979630c96c83d268392b804947ef8d5dbe8e26a277910158e9503473a1cdf6e9fdece287830a4c6c84e077e4d623a7c68a2991264c08f5c19860036645fb22bfce8aedb90db0d85ba7cdfdefbe343cffe521bcbee3049a6df62e99ad7500b4ae26ab0d3b4e15f4ea5a1ec3b6947c95789d7ddd975982acb29a33ce2daf6fc2eed345ddbe37570cfee28b2fdc7f7391b39d3b77baffdeba752b4e9c38214caa5f7df595fbf36ddbb6896b3b6afbf7ef272db2cafdf78e1d3b50575727aa1eb33f7ef7eedd67e49ad8b87123f2f3f3471048cf74c516cd89355e49654cc2cdc075e0e83fad81352d5720805368b5b32db43d502139258c4b236ecbdc34a4116bb8c897d43741daaad9ed3005f863dcb87142cbe66dc02ed78debeef50525b03434f58c9131c3d61a4425e0bee2271524b636a7338db8aa747bdd42e3ecb006e856df59dbedeebb909ccb888bb42f3c2f1297044475eb1ad78657937f0056ac5a893933263b6b21ab2d28305858403a73c72c3b6f0582fd7c9c6b498ff32f5c85c50be6746809d79b82b064e939080c0a454478887b4d08fb8e4687f8f8b80e057d7793cd0d0505a45bf44e805027494e7a97d47a4f4cef349d921e3da677cf142582e2db31caf02e2b49a3191201b083fa2633aa2c2869b0c357af414e7533ca1b6da8363b70bab2597c56d164c3a9ca16946db6daf1cf4d471015ec8f51a1fec4a825d499e91e35ad6b2b1455d5c3e69091515a8dfbd7ef84c5b9bba0aac18cea46f57e0e67e056a345f59397d535a1d6dc5a9836d1777c2f4fa659db6411cf74b54aba67464935feb5e568cbf272bef1f23a95b9725f2aebcdcee7caee67dbe977bedfd39b0e89cfef797b3b8a9d159215e7c2e16b4b6ad4cf324a6bf1f2b663adc6098f7eb99ee76a1f7ffcb1dbe4cb42e08e3beec0db6fbfedfe9ec108d71db9fffefbf1e4934f8acf366fde8c5b6fbd5568b1ade6a2a9c99d6df3cd37df740317cf7880975e7a493c877fba3ee7eaaccc4899503efcf0c311acd15346e65a7b9c56ddedf32590a2e80443b25b65687c4db8f486b5224053563c54da2e18a2e2e2581aa90389e8a189798159f12d129212313e3e0a057979282a2e3973ac8ae2e16960f1a8ebc6c389d52ac4b4652b5de210019ede6e6c15e09d27fd62a1a1eefa4406431be4a7c6974adeb452d1fad068f1bb523d163e760077551676fd92a496e0cdd163a6e0dc858bf1f0ff3d8db5172e129f0504042030241431312ac8e16acf0104266263a29df7d0d2759370ff030f203e4cadb2ee4fdf4f9c380ebfbcef61dc7afd9a331e6bf20bc4c22517e217bffa39264c9d83a50b6688cf93468f464870200cbe21b8ecd235983e7b016ebbe546f89b8cadd6756bcbe1d941ef7617bd73715b38e9dd22c3141986cb7fb056f0eeeed2bbbb6624291a4a470858f1729e9bbe80f5c17c78419d0d0652039727faa3a659c6b6dc064117e3428d88f1d7617b6e3d0ae99c195126b746171a60c0b4f87002277eb0d81d7866d3611457d461d1a4787c7fe104dcfbee0ec8cd5624c58621ccdf844ff79cc225b3c7122869c6e787d3c5b45fb368328c7a2d9e2330b17a7a1242fd8df8747f3aa62745e2ae4be6414f2f8fad172f6c3d8aa2d21a248d0ac30d4b26e367af6e462c01a2b4e21abc74cb4a1c2fa8c05b3b4f42a6976cf370d8edcf2cc1ff7dba1fd1c126d4535fe24303713cb70c7fbef65c016278315d77ce243cf0fe2edcb8640af5d388ecb25a7c76201d638841f9fae8303b291adbb627e3cbe33908a2be4e4b8ac2055313e06fd40b2bcb5f3ed90b0d3dd3cfcf88f32627e0a92f0e602c5d7b37f53f32d057f423272707d75d779df8fdd5575fc535d75ce3ce09c1d60bbd5e8f84840401445e7ef965016266ce9c891b6fbc9114db166b1447db3ff6d863229fc32f7ff94b1108c8d73ef2c823f8c10f7e8023478e080dd8cfcf4f3007fec9d7df77df7de2fa356bd660d9b26502080d5630d5b034fba22583b88e748815010a8a087ba638d83c2f8b75c45b1325bd0f02820320795807bb9b4641abd7090dca6eb19ec9a75c69e5bdc0ab3895fce8c40498354624a7e71152aeeb1a6c40e3f4c577150c4862d448e3f08f80a6aa0eb2aea9a5789c971a27fee2beb0306090def11bd378eaf9ddd60edd35eee49614752e61db174b9546403b07eae821fb09cc427274ea66505a7477d19f94a3fbf0081dff7aeb1384131fd3e90db4eeb49877ce725c7dc565f8f67feb906b0dc33db75f2f6af23c70ef9db8e09a5b31212e0c093161303bd755456921f61c48c6b2e52b515252eab470a8630b8e4cc4b3cf3c2506ad93eae0171842e0c78c5b7ef5075c78ce4444c5c6e1bedf3f285c698b2fb818f7fee46a9c3c7400df1e6b519e98770d77bee249ef264983f3fd15a4d052cb211a97352df4ae351ae11fe007c54def52b7e95d43f4cea5bf1d56db190ff726bd0f5b8b8928f66573606e8c2f62096c4c8d3022d24f8f201f2d66479b10edafc782587f34f1fe6ae784e9682157d659f0ecc683f8df912c02173acc48881082f8cb6359787f5f1a827d7df0fc4f2fc66f56cfc38231d1b860de382c1c1b8dd7779dc0bf6f5b8d7ffde422bcbdfb240ee7948a72ddb7ad98a15a33e8f72be85c0625c2aca8d3627a7c0462c303b1e15086b04614d734e289ebcfc3ca69f1f8dfd12cacdf9b8a677e7c01fe74c5a25644c156190636ffbaf922e494d7e3aa0513f093f367625b4a1eea08a8b075831b5b47ac7619760218e3a243b0784a1c7e79d16c14d634a086ee9157558f35b3c6e0d59fafc1de8c12a495d420c8d7881da905d87e320f710444361fcfc389fc726159f9dedc716e50e22a5c161e1e8e77df7d17274f9e14a668fec96e1776c770ed11d6761854b82c2b9191914288783243b67ef0352b57ae14418056ab550014bedff8f1e34531353ea7adef9bb5cc49932661c182052250ce339fc348eba619dec3dc7fd37805e707a8825aa330f16a85f663adacc2bbcfaf43a54700a20b00f2bc77767f99402e33a92e6d127d60fa0c7e798d15161523232d4dc498a04bb33bebec76e2a1f66e09790e8d1473c202aa1fd618af5d06246c95ea1c06e805a0ea1113a6ee3697d5c056db08482d7281df615f836d85d2c4fb7268cdd06a81d62e75ee66509c0e1be7695a8d1677ffe151549fda89373fd882c0c050a2758e37b1a1bab6016389fec3c3c2f0ee2b4fe3ddcf77e2f2cbafc0bcf151b8e9c73fc6e1d41c187d0cce7babb4df68b62286149cd56bafc5d3cf3c8dbf3efa20ae58fb7d54671dc00d37fe0ad50d16527c421137760ad65cb0083fbae14738905a28b2ef2624c42135f904367df1b11b9478aecbe1ce5b3cdf8c9f5ec2ed93142c30325854e95d72d27b5d7601de79e96d027d160fcba6ba5bae237a77073013ad3b88e6a576cda743a76906f32504130861b74d934d16bb72a2fc74629f3bc7973493c03e556146209dc380849b95846f78a009cfdfba0a372e9d82f7f6a6e153020dd31223612690a3a317c3ae1907bd2416ec5abaae9c400717156396c1d68b86662253a75f7de9c43871cef58b27e3fb8b26e1967f6f22f0a1ba4d76a4e6e3c5adc7307374b410fa16eae3f8e860f81060d13bcb9df35d38bea4d16247b347c63c3e7f6662b840b18911019840a083098811af8e800ff7a39498504a61150c3afedb2eeed744f7a8ac6f82cb6ba8a5f1345bedc242c2dff3f8eacccda2ffa10440e68f8dc1e3d72d13c0e781cb17e281f776617b6a819b60392914576165b03177ee5c1c3b764c0419721cc8f1e3c7b178f162715ff613f3671c17c2960ef61df3df2ea6c842e5a1871ec28b2fbe28ac1ebcbd73f5ead5c222c320c50548f81afe9b19385ffbe8a38f223b3b1b8f3ffeb8b8375b5986831f78305993e4f42b6b85a86d915256d9811b0e4a78b64af5433358176b824e3038d4c44ebc5e248e0b1171165d678c145420d37314a94b6f496f983e5bcea64f9f2eb694722c535575356fe540f78340ba6f7970345b08a015139431776d2d11fe12037cc5a075ddee0fc755b1b5b033b70997d3557ab81fd7e631b7f66ec8889e8044166a0cee14b1a1868358e5336d3c1a9dba7e844490dc767ffeb1f28a5bf0bb5fdc889ca24a4c9f310535d5e5f0098cc4efeebb1b26021d71f10908f4f74165550df4061f34d6d13b3685e09edfde8d053326bab7944744c52384846c09296a53268dc3d6cf3fc6ef7f773f1efdeb53387a3215d3e72fc7837fba17d16181a2bab3a3b916e979c578ec2f8fe0fc45d3c45663e61f36ab19d366cd47424cf8590046246730ab4aefb207bd57591cb87cbf84f71a64d5c221aba051cf075b4d5ad1bb4edca32b20eba2777483debfd3ae9cb121467c955d8b8d1975f4bb0f66459bc4e727ca9a71b0a80e95663b9627b5f87519444c2070c031233eecde880bc797c959d89f5d2284ffd524a08fe595e1172f6e4458588010d6632282f0c9a174dcb97a0eee5aa7a63cbefd825902505437aa8873cb895c6c3b9645602202fe4615e18f8e0844a0498fad297998459ffbf9e8303a528dca8f0cf245a0d14758547ef7ce0e0209264c8b6fa9a711e267445c68803ac6c860b120f8b3880013564e4dc0cf5fdb82dcca3acc1d1d29ce4ba0be26e755e00602484f7d7190fa1c8c107f2381200d01af4c1ccc2cc2ea99a3b16a7a223e3b9c8ec9b1a1583c2e066f6c398ad8a860619d59bf3b0509e101743f3f773f18507020ebb5d75e8b0b2eb800797979888f8f17c08201046ff5e31c0dfff8c73f8475e3b9e79e13ee1a062de9e9e942d39d376f9e70fbac5bb74e3065fe8cad26575d75153ef9e4137cf3cd37c22ac2fef7193366e0e8d1a3983f7fbe0888e53814be2f5b5a382096f31d8cb4ae5526d68c64de1ec9390d9c12426ea3d62862bf0531220140742474ecea165c8d0f1d1601c4b9c2afd28e4013da159c5b0cfdd42da1683c5320f685e9f33a0b232d97d74e77766d78c302ebfad965afb51256d3dc3e75a9825d1976dc99aa2338d175722aa6155eff4240b69bc345e930b156b7c7d09d74353d792f5d58e785bb8c051af1568d43af6e29f6988bb4e37b70effd0f21383414f5b5b522f57c537536fef0e0c38809f12325a61ed93979282b2c8031ab12b6ba326cd87904179ebb00f7de7d170a2ad5d83a1b293cf3162d4141ca2ebcf9e63ae23f1671703bb4eb7ff8db8bc4bbc2fdf0d7cfde425e712d52f456f847a5e3baab2e85c66e414d613afef5e2cb483e7112ff5e178db0e0203aaf627893bbe4cc9006bdc00b906dee97d52ebd4bfc6eb4823f38389e4a6cdef181a2257aa71b3894f6036055259af19e93def9f59abd4bef5e9f9bb69d59bb76adb461c3064feb8f062d6e506d3b87de0970f41e074b771fe74fd7c1e7f893a07c62f9f2e5d1ae69df5bd088e3044438a6e482d101027c7c9d5d8ffc3a1b2685f96069823f349da03b16ca6c41d0695b34f1ba260b027d7d5a9d63d06905a0e177c5bfb76d0dcd563728716b6144a476872c4050478d0372f97b4d0fb418b6a8085dcda3cf1cfcca08989fe7fa9ce365964d8c13b1257e3e676ef3ab375b106052c7d9c4fda071693d268b83559393930530f06c2e8b08bb79f8fd33936566cbd6125774bbcb67eb320db2c5833fe7f33c1b5fc3ee204f93379fe75a576c3d61cd79cb962d427be6cc9ec3a9b19569d6ac595ebd275b1038ed3abbd518207a6af25a858d0a26c8a600280d65c488944ee4abe4ac84abc10f7db458e56bc0b3d5cdd82fa94c4c96db4ff424de0f7f478c4a134defce4ef729b3b9e31afac2a0f85d73b2345e2f6c2d3b43809b48d19842eb31f90b2284414aa4a693b0ca017cf99482ddc9c0f96f06c2aad475eb52767fb215d215083e9842cd1b82c4c52dd8ca268b3f1c6764fc6545a6af49ef42438251555dd3a36b565cf43d9cb7640ed28eedc7fa8f3ec759e70416f4ae40ab275a371821379677686b5363d4c56662a1e8fedaa8c30ca2f9276b9b714a5859890f38da9f2195de652181b531c4bf3904abb2fbf47ef5d5572bc4abee4f4d4d4d738954e761f1f89d0f9bf3b03b0f1b54fba5eb903d0e970ea1c4c5c5296969690ac76f0d098b094ff6c2583ff819343855de8c2d044858ae36581d983fca1733a28c9d82126eed810c4f50e2794e6700a32d28715968d8c7da5933197a3e857aada69d67a99f7982955bce9d86b00053bba0849b0b9470f36da71fecc2690b4a5cc2830f4f978fe89707e868eb726161da2e8fd7e9ce20024fb4ee7a4e7bfd18696d188853df96fde3619fb89454c97544ced64ece87d8a9c3647e69683cae5d391fd30fbe874b8b3428ace15807eb1916931646c409b724d88b541ea1e941cdb18e98193118444444082b4945c510d66689656e920c5878b70579ba5058a54667d461d713c0bbced8723898c0c49b45eb74f3b5187df152643cbe175a528a1c528bfb8c6999ad5eddc9d0ca42c5d26c76c7039ed167e2a3bc9ba7be0709d6b67db5411c673bbd3b4227c2113b0938fc76a76bd045ef7a9ae3ab132663e99c44241cfe14d7146850dba875e280f6e95d58194801b1e7dbddf7527ab0de065c7718f49743639e1169c2a430232a9bece255859974c28df15d6f9363c330d286a609b63fcc9eb233e650aecb008ee4750a4a84e54db87954817a67712e36af2b40b2bf842a1bf7d18ab632a26d2647878681b50116abd5bdedb0bd71b51d6fdb735828b19584ad3f1c4be28d54f52d55d8dd617b5e7c473c6f16ec1720a54a0db4234624c91ad535a6383a74c9b05b8aad7eeddd7fa0aadc7af51995129a324bc4fcaa7855bd375b4a1994b075b53bd69247fefa049e7bec01e496d58b9c23a3134609178f7baddaacc24a7ba604322031360ab94515b8f987d7e0edd7df84f53b46ef283f4aefe144a7504171d1bbac9a266e3a9d82e5741c0890448ca6d48e6dd593de994df02e2893de8066a677b9f7f4fe9d00266eab8656424c801e236da47d979b2a1b1cc485ccdd3bd9c98e4ae99a5735745dbda6fb716d1c5ba03893757523157d7b2d36365658e6bc6d257126dc766e83ec3963ec893011cff20981d4dc48d7d8e1ae8ed64e6321cdee4b8ea96a9b867d380662dab31c28c84a13793264a763901b03cdeaeaea56f56fa6cd5b8c9bafbf125f7cb00e0dba2828f5f9d0058f86a53207c6c0703cfef7e79171e230361dc8c47ffef524eebbe367f027cd7ec6d851d8bdef28ce3def5c9c3ef22d5e7fef33dc79ef03880dd222f97421eebbeb67b8efde7b61f231c11410847beeb91f0911be78e2f1c790306d01d65cb812065b1d1efaf39f51db683dfbe89deb61c9f61ed17ba662432623ea3a8dd82a21758fb1087aefb03ae7105ac72366899136d2065363f526312b5a918c49d1b61f74ef9925d3894b60b1f4cebac1156539de82b796b395c4dbae1b9d51078d41e714943d9fef9e6cb355fc0cd0c4df06bb144a93e8e8d43ac3ef9e739a9c9105564dcd896157e04b52ddc8b2d64e5ab53aeed1a3470bf0d5f69d9e7fe9353867d644e4169460e1791763c6c4d1983e6f19664f9b04d9e1c0e71fbe8751d396e1fc399370e2f851ec3e908c1b7e78230eefdc82d359b9a86eb0e1fa1b7e88eb7f741bce9d1e8ba79f7d01474f1520333d15878e9fc2ac3933f1a39ffe1cb1c6067cbcf528eebfef1eac5a7d191c55b9084d9a8e73e74e1ea1778f17e7a6774dfbb4ee49efc2e32b2b4e7a1ffa8b7404988cb491e66d4e3f68da17e73b7040e27c3192a65d06ebe92fee6db64cdeb9c53bb138ce222d2dcd6b55865b8f4511e3614ca2e9e72965178e62ce8246aea7f9d3a8db2a3b692cb05bd5cd71667ff4311886dd76787596d98da51573cd71425a9d56042eb76deb5f7e06bb522bf1e73ffd1e8ab511c16191983675bc0025ec4a3876e4102a6aea49f899e93319b535b5a828c9c7c75fecc08f6efd15122283c56681003f7f9117a9a2aa0ed5754d74ae1dd5742e57b7f623a05b55598a9cfc62f8d2790e6b033efaf863149455c1cfd73404695d1ad43727e85d78743567d0ba8bde5dc539875376dc116032d2469ab78849c3795a7c3a212b4dbf32359154cf5503a30373ad67923b17f3eaae46e8b292b01b837714f1ee94fe6a8e660764ab3a06b99f1556c56c8123ff0362f40dea7c74713e5b4c380683e7c3292344b3596d2dd933bbb55e3467048f0f827c1313cc267e8e9de160f5acccac764f9d357f014c68c4f61dbbf0f5968d58bcf27244fada712a3d13a74f67e2f78ffe1ffc9a0bf0da5befa2a0aa19d75f7d39f6eede0d8d4e838c8c74e8f55a9455d5e3e8fe2d28b404e0e97ffe0bfef672649536e3ca4bcec7a10387f0e62b2f2378ec39f8d3af7f80179efd278e1f3f89a6667ac6f1c3436e7bb04aef862ee85d6ae7776fd3bbd229bdb7052bc3c1e5a8c3481b6923cd2b8d733c74e6769024d963e74bffd6a5f0f69d39774d7474b4c84dd39f8064f0a473ebff3b054d0e87d806cfee1ccf80ce9e6669e5f3fb9ad9d53ba39745465b0e76e5fc451df5e9ab4fdec7d64f3f10a90db85d79e56ef777df1e3981e745922ff5bb3b7f760b7404deecce521deb5f7d06efd2778d8d6a3aff5dbbf741a7f785ddd6845fdf7eb3b096381ceab577dc7e8bb092098c7734557c7632ebb9214aef1dc723494ed7986aad90fbb502f0d9b6957ac46232d2469a57d943c7310a6ee6e1183e6cc4652561d7457f5b498653e3c0d0ceb3c00e9fc6db783988392b2bab4bb79c43ee2cfea6f577768ffa61fc0cbdde959241b516322869017badaf95870589c8e82ccdb0c726278c14e2180126236da40d2230513aff5a6f82263c0e3dcb2430388dad241c4bc26084ab4db74a063784da60f8cd199830681b74578c17802707bb72a1cebe2651ebacb1fb8f03a55db844a3beb8b39ede256320b441a35aaaf38db4116032d2465aff4bc5d6bf762624c537e367c17cdbe390647dbf149b6bfd408d07f3ef3e63e44c9f9c99962d02292929839ee5b48b6987d630f0359818a4f1d12a08769040526f1b274de43211b9b9b99d544cf69208f78c6d70150aecf75807672d2491a0dcfb311e5d05930a27cf820be0f8c11fbab7a57790e87d28b69118939136d2fa241d5bfb983d77be780699a96711834c3f82a017ee853621a2dd9d335eed9ea2b243676fba55c785e348d85252545484d2d2d2213ffdac88daadd641313e711e138e33f1ac05345c729970f02ee72ae1a29e6df3b10c94ad6160d6089b2d1477b6e33e2211b8ab1bba0116daa777b11b86e87bff66980eed8295d3c92bfd377241e5bda0f71160d2496bb63620bbf410eacd65a2a85448402c4647cd85563392706da40d6de62e363538eb35c91e59335d953e5de5c8f9e0a049c5de0c5b43311c88e877a1ad911c6ad4be074fedcc4ac2267d6e6c25b1b84baa0f5554e24cb72dcbada0e140655fe5c68064c28409ea335d02ab7b99ed0779ea246129e1a28443ba7480570090d26542b16ed3bb4eabd2b44376d3bbab9e982b6098d71effcd9f33bd83649b556e7016db94fb75a43da1f71160d2453b5db81b1f7dfb008acaf7c1ae0409f3b65ed780b1b1ab71f592bf222674e288041c6943b2c91e017bb267e97a7beb2c8e625b9fc3e1aeea0bad8fd3e2da7fe65635f08e84b7291452701450910bc5d6d8a995a4b8b85868d0bdb45d0cacc071ceb7d4e6e90369b160f7073fcf3fc01ff575f5d0195440eab0c9437addb2a5847713f1fbee2bf80586b2fc53bc4cef0eb7f7c9b384435b7af704293aa6782d2926f499a39fe944667a0f8882e4170ca53c87f7dc0f5bde3aa8312605e527f0fa5737a2b8aa0009e39ec3d5abbec5c5e7ef4054dcc33895b7056f6cb91df5e6334ba61fce29c3edaf7d057b27a1db6fee3a8994820abcbd3b15558d67bea05d6905d89e5a2012fee45576bfb0545e451d5edc72b4d5678555f5a833f72c30b0bed98a7cba8eb3f1bdbafd7887c5af7ad24e1555e29343198268b2cad44a9effd8781066db99e98eff77240bdb52f2fbf5fd1ec82ac5a6e49cb3571beb664e00cff38485c561f78e69b9abe7729061f462c8d73c068d5fc4193088630c38b895dd116c25e92928d1e9554b9034486cc49573441ec4f7cf29db8383d4dd39b29d848f7d688392848404f1934b08f40e8c70765b3d27f12070adf5be08710176b6889d91eba737cff21e8d891c353da47787426b82e8dda1c8e8f7f40012bd93319740bee24fd0ea4d18ce6d502d26dfa4bc8106021e33666d4064c4724c1b0534da00b37632fc4d51483b751376a7fc07abe7ded54aa03ff1d95e6496d5c166779096d27a0869c555482baac2e613b948080fc498c820f819f468b4d8f0d5b16c8c0a0bc4e8f0008c0af61766be8f0f6660c3fe343c7dd305880956a3c68fe797239deeb17246126a9b2c08f2f511d587b3cb6ae93e766c3f45402a2208d1417e98931489473efe16896141b875c57434db1ca86c68c6c498107c9b5e44685ac645741fae549c5e528de3d9a598332e06bbe9bb4ff79fc69337aec0849850f13d83a44dd4c708baef9209a3505cdd8006ea77726e19164f8c75f72fbbbc16c1d4a7409341fc3e2e2a04b915b5b093063f3e2a18dfa415e1ff3eda8de76f5b8583d925f8f674111a681cab678f818fb3d272466935f5d38cbaa6662c1a1f8ba8205f31479b93b31149cf593c7e148af8f934dfcc1b024d3ea86db4884250e3a34308d4e5d3b516aca17be613b00b0ff0854e2b893e8f8e0c16c0c8409a4202cd750d01430687c7f32a30615408268f0a43595d13768b790c46229d131e30bc09a947968cfe8624ccd4d93aa3f38552920aed6bbf84622e6ff54c4ea6c556128e23e9ade61c146c82b9c986a646ebb07061f4476357080b7b16f4b23cf47759b1cb8e7395f45a93951468151bec22a094a183ecd5d7ce9977a19155ed5f1742bfda48696b74c24fb98f64d1ba2443db7c2dfde1061c9015e1a2773dc9b4f45dd0657e01d95637ace96ad02c26bc00328bf62136e65a5c347d3916c7da61d0d811ec63c78a781917ceba8e34910b71e0d4fb24705bfcddcf7d75183f593e13f346479120d408615e596f164235a5b00277bdbd1d3924acf765960830f1e63727515edf84bbdfd98e4c02067ffd742f5ed97e1c87734ab123b500f5660b4aab1a50edb4aab0a0bfed95cd28af6d4415018c67361da673cb6125c0c100c4a09308b854208300d0c31f7d8b3de9c5022c95d435e2686e39d63cf9117d5628047a3609e78f0f9ec6cbdb92919c5786fbd6ef24615f2f004b0509e6b29a4694d636e18d9dc75147fdf8f9eb9ba98f55e2ef75dfa4e0b51d2770c77fbe465a6125ee5cf7b5dbaab29540175b848e92a05ff5ff3e1260e82f9fecc5aeb4427c7e348b9e6d4105dd97ef5dd364c52787d2b1f168269efcfc408bb64c0065dbc97c6495d6e0176f6c4141553d7e41cfcfa6bf5fdd9e8c77bf3d45f3948c5bfebd89fadc88bfd1b53f7b7d8b0014cf7c79181fec4b1316291ed3bb7b4ee1b32399c20273e5339f527fecf8f3277bb0e354bee8131fd7fcf333a4d39cfdf6aded625e7e43e329a8ac133f3f208036d2bca46d4a4e76c83fed6628d60c288d45501cf65656124ea6c55b80fb62ceafa96e82a599e36bb4f8ae6e86acafaf1731052cf087720b0f0f17bbac3857495f842fbb23a45173a0f5092180c2556b7dbc2f1b9cc6056f6f70f2cc7cea76057a3c64d815616c45ef1c055e0fc5920eb9a16458e54a1a621613f6bb37d1c28e447e9d8229a1aed8314924eac923c0a768c260b1e4ab1511a93190f8704f9a283ab59384f3d729792208e96d12a0abe68c277061c69a5963f08b95b390450083410b7f9f53514fdf5970cfcd0b318baedb9b590cd999ca776662244ae68cc594d870f18cc8405f2c9f1c8b220225217e469150c868d04227029f149809042c1a178d5faf9e8bb8b040ec3e5d80856347e19c09b1d053bfa6c685e29717ce16e088dd3bbe049e4e13d8282040f2d3153370f14c35c0700bf5a36e9615f3c744e3f9cd0af6641413e8d1e2eecb160a90f5d357372126c49f40d8745cb3700209fc0d341e9b005bab6624e1b10d7bc57c2d1c1389d709c884f81b31695418b6a5e661664204164d8ba77ec6084bcc23572e414583194f7cb6cf3dfb16bb03379f374ddc3fffed6d7871eb3184fa9bf0db4b17082bd1affeb305610126dc7efe4c9a8f78bcbd3b05bf5e351b4b689c0c8236de7795b8cfcdffde88e971e102e845d0f9d3e3c3846b2a29220889e18128ac6e40333d8bdfcb3d972d4046452dbdb77c6185bae3e27930fa18da75358db4de312a5ea7769bc39dea4da310894b0ee1de8b8c8cc2a8d818949596895d377dd569848540987f344ccdc36aa254034feb3d0cbdb90fc71770fe0fde36dc9f7940fad21890b0858c2d256de3217a3c6216ea4d95901d362772f0aeeb4ad6c8aa0f925e87c356d58e1eddf7e7790210d7367387c331fcc89d036f751a27bd737a7a76aaea2069d97d34bc8189663027d5680844b33913f9355634d91518b49238aa2d128a6a6b61b316c0df379ac0858a9fa691d07bf9a7abb1604c0cfc7c8d1815ec870ba725e28d5f5d86eb174f42526430769e2ac0211292aca5332861cbc5a8605f020dc0fa6f4fe1c303a7c5a06d0e5908c4605f03f69c2e1416036eec0e59336b1cb24bab85c580dd35bb52f3851521a3b41626bd0e7b334ad4f889e3d998141b065f830e1b0ea6a3b4b65180096effde962cac307151c142d0cf4e8814cf3e9a5d2adc4cfe461feca3fbb04bc56c75604274304aea9aa82f457863e7098c8d0c818f4e075f1f75eccd4e61c32d9e0051add922eef3d0958bf1a70ff760c9f858e16661f06232e87132bf4ab8b58c7a2df43a89fa601563736b3e04b83e3b9a85835925c82aada3794c426e451df6a6178be7b37bc848cf8f0cf275590b0978f83a9fef8fd7761cc72e9aeb2a027c97ce1e8313f915482dacc46f2f9e8ffb3fdc8d8be87e5602240c80f8b9014635eb235ba8c64587a0acce8c4f68cebe48ce1696af91861e14d8d3b44fbaf47a9949b97c45ccb464d92e326eb295243c3c0c69a7d2bc004ad487b1cf5d51785ddafa7f6e5ceaa13bf6a08f8aa6737e25f6cb4b3d679aa290305f4bbf5757558b94ee43b171ed1b7635b1a5c41b09f27869596b720934d49220e458292f27dd13d6928e9c9dde8fdf61403258a0a42dbd77b1e2dab12c2967d03b9717505d8ac31b98681f7ef8e1561fac5fbf5ee28aa11e8622cf43d3cea1f5f8e979e8dafccde7186ebae9a60b939292fcf97665b5d9389ef902a242e6624afc54a41340aeb36a10e2abc18193ff4649c9cb58bde0418c899e27fae64b0297053f6be36ccd388f3479cf17cab10f1ccfb02fb318e74d522d061c1b312b31529c7b24b70c65f54d221e826338c203fc303b29525828d84d3296808d855e34bb5f7cf57adc7cde74cc498ac297c7b211ec67c2ea9949223e22c0a8171682b124bc6f583c59c488b0608e0b0d20801126e25ac6d3774708840413805a36310e97cf1d27624f7690200e0df4c545d31385cb839f3d2d3e1ce78c1b252c1e1fec3b25ea46dcb366be10d8a3230285e58241d6743a4feb44f821d49fc9b1a174ef7861a9594bf737d0c20ca679e1f34c04964a6a1a45ff2752fff85e81be3ef40c958132e861e6ba3fbd08d72f99821553e2a9df21f868ff29f810f8bafb92f9a21f3c16b6a4f03c8f27f0c4e3594ae3d97a320f2934e6bbe8bcc4f020013c66274563e9845818e8c66be78d170c3f8a805d4258002202d59f4c2f8b69ee39862539af5cc4a44c2670c7ef6828368ec178f1c517bd6ba6a4b98f88881019557bc714bbb71f8235c3c8a8488c193d065555554238f55563ee73d3fb10c21d43139bced1a23db30699b4de49cc2514728dd02e89b593822ef58c8fabc8061aee87510b8756414c5814cacacb86943b80dd4be3c68d434e4e8e08d21dccc6ae434e77cfaeaf91d63ff4ce8a697fac3f4eb648bc6a6b4545856b278aa383436ee7503a38dc8db302df71c71da440e93d2d73ad07b276ed5a69c3860d68078c48ed800f3ef44e10a2f738583df671fe741d7c8effb66ddb9e58be7c79343fa0a22e0fcfffef6ad4d4652129e937d0fb2fa12e3b60aef902d9794f6342fc5afc74f53a180d7e7d9e5cde857224bd1099d5f5b89784fed4b88891f53e88edaddd29c82aa8405e5d13fe7ccd527760ef506bc78e1dc3ac59b3bc2e30264f9e2c6acf786ab1ed256aeadcd0d9b106693018445e1206410c483c8bcd0d6a330512a75b09247f01d8baeffae0a9d191422080955de93b36f12838c70670a507dab89a4e5d23c23ea5481d69aa064c091e83fca20291aa7e2858ddf8bd8f1f3f5eecb462503ad88df3bd30382a2c2cfc4e5a42dba3696fd27b2b0ce3656c72f5d5572bc4abee4f4d4d4d737e64751e168fdff9b0390fbbf3b075025cdc20252e2e4e494b4b537c7d7d5b94b7c17c61e18109b86dd53a7cb2f721a4653f2112adf1bcfa9ac2b160f22ff1bd850f7a0594703b6f721cc64504222e3c50c4698cb4c16d1c73529a48da7c748888ad193eba8be4a6fdde66566c6bb6f5fc9b0329fb6ad5606b0c1765638bcc50130462eed8ffdd43ab3c67b1b599ed6e20d117b3be9a315641fcfc4bd058168eaa9cf54ebeda138b8b1a9fa229e51d2a36d4e9eb1112122a8089e4a9e54a4aab64a1fd37a9aa5b89c116af214ea0c609e0860228e9ff05d59955a16f92daf35df686de5d2ec3b65961bd49ef671856ce8236e809d646854dc42fd6acc7f1dccd28abce109a4c42e40c8c8b39c7abcf6157c3a4b8f0114430441abbe2f8185e3c90fe697590d805a17092b4e65e55416dafac3c332bfebc7b4caa7da1cca6504e9ec5daf2e9d3a7fbbdfe494f99a60e5ac81a0d9451f4def3098c56f660ce3cd3fe7b43ccd38b5b78f7af517a280ebbfedf073d0226b23bb5784bc86f657515268c192f1c448a4e81d6e114661a386371fa6f4d6a45122f350118375e03ec3219a892025ae2d90ec533ededc0b9b3346ed0a0c61f298ae30ccb985831bdc8feaad23b4f2c5fab1706829ebec78e721d7983decf7cd80830f15ae375c43b19a7c75f08245e0857c624bb75006a3c8db45e35876c23e66c3b2bc7c60c832baeb6cfa8787ba4038a210c1a7b03ad5d269fbe6b3bdd4dd4365cad24aa049144f64b31cc009a37e3e0053cb310e350ad8f7f762f60e3dc9c963e8555b2686caa6f10393d4c7ec1686cac254022ab5615078131a99f832b090829367ade654b31da9a08dbc9ed03ba06187c49329cc27f60d576510f4ac37429b78f899c9f77df6de2c90b14716fe8c3a0b5d612df1b3af47eb6b74105269595153898f93acc8e6275758fb4212eb4552e14ebb70afe3e09445c67d7365f57ea7857d55536b3b6d55b343ea3a0ccba17d2a12748432d1ef43eb39584634938a664c859493cd70e0968070b68de0e9ad60c4d893268195bd9bd22f1b6caeae3ea7b67adba4f724212bbdcea1bcd22a1e0444d150e346a51a8e8a0d5589dc5147bf600d736d6f6ac6b6728c90e756dc6d65ba16dcc4756c10002530d3f5b7603b48156dc1dfc6c35e8879696d4d217a7fb2420c08466335782b6ab9ded41efd832a6f19f0c79e2cdc08187e993861121f05d002647333f445add1f20718133c5f29dcc1c399c9a2bea5be35b8d4b27bc4c4cd331ac2b58b6672de19d0399999922a327e77e684f3b46ee7f016b99885318cce173d2acb8b838d1570625033c5b1ebab122524f78cec5199e7dc92efe16993df55cd89044c820a58e60a02093262d64bf62103b73bc0011514aefe19cb1b1f873522e9edc23e34d1bd41d3f72e7e2baa568ad041784e9ae46cde773698e98e8510828a8417ae6c0af03bd51077bb35d24f5f2363f70457489fff574d85ba6929d2b8b824391d6d88072a25bc523f688950a5632eaebcd4ed37bef2c3992834074ee7b34b68641a7f711603250824e32a1aed62692d439e411d7cd9016da7c68540621071844021fae0171b60113f6f9b296ead258cfd0d01a0b003a0673d46c25494a4a12961d4e9a35905b41dd26714912ccc3c129ca0960d8240d810e5528c862fbadd2c61ae5f4d2b205807deb83672f51d7acec8a0ff1426e0f0e6f506c686caa458d9c881fedf747babd115a1aa5c4744274c386221157d00ee8e060de005f2dfc69fe8a9a555f767781099f15121a8290b010a41338b50ff4c2a479b435dafa91efa8ae1a61516703a643768303fe5162694213bd493e472b0ae539e9d45934b385503b8e7de92c15bda32e03a8c319c0fb3bc5fba5818faa1d5460327fd25570d81da869ccc577b6d8c67082261cc0a8f14182cf721288a7c1e2453a8b42c19939b1e00c080810d688ae04c26034ce07111f1f2f765c646464f4da57ddd3ba209e754604ee905570226b75901d8124a06a451d15282d7b0107a25f438634a8cb368b0d75760b8afd8d68686e1081998aa82da3ce158f4bd2486ea0d622db158426e831d362c586ec9ed59fe1b51a171b27002a5bfbceb6c633a1113b8ee8b7666d2b39c1dc27dd6c15399e3402247b80166fd7bc19e6a2a9b7f42e2ce49a810fb3185460e21fe08795e7dc3c22f3871bb3609fb67276a69117699eb5436ffb32efb419cd5612a35100928686bef9bb7bcab8158f32efdc345a0d14d24a83675c8ee76ebf0b1f7dfc123efef22d12224ec1d14b3d635806052a2de3ad2daf42745804aacb2b45d0ab00726c11d649308685c2565d0787b5358060be9f9b694681acba75ba3b051ca4cdf145ec7a1cec74f8fd052819c8a971366a71bfd6dbe05868ea687ed9c224b5d48df92eacb901a27761351a84ccb83a8cb491d6c3a6d14264cd1c695d6bd2de30af8492404b884f4265550d32324f380557cf253f6b3e5ed911c08f76a819934cc151b8e486a5c84bdf8a8f36a9ae1db5de9597630dfa24f83c5f84e4ce2de2357a505a526954d5d422323a1a929666c121ab5613a8ee23dec4c55b87358a5604693aa19eb03e494e7a92358ed605d8d4a42bee77ed8a42e16067de169c9797275c79ae7c1b831507d15fc25d215032eba2350899b006db5e7e1492a5049e11231a51e918ee520583ea5aee33bd3bd7a6b887ce5935d8e6bc65cfe8dd337f4a5fdfcd77ce9533d246dad9dcb4261d14124eb24556938249e8513e059dce80d1498930fa199199538c7afd24ba472531ab06278b72b4cb4084cba01d41deb6aa6aaf1996a20a5a36a1971cfb1f169d5f8caad4dd2d7c73086aa01a67697845e2ac1f0ed8bd28c0648f79319b9b848619e01f80dada5ae1a6118de48bb5404ddca2e184823ed49f6675b712bb4415de82df8ef069a911e47c7f803b815a6969096a6aeba0094a82525f0c2ddf8333d22a7dd3705d6b63a8b8d562c24761dca273b0ed550dda6272bb470c890b9448ce68e281eebace570707d734b32acefc293da377ce81c3513202d4ea42a0099e0147e91eba8915ed3948078ade07630d8c00939136d2bca0cdb747c00e8bddedd5e88eb6e3c93c42424290989884eaaa4a64e56491b023dd3b2497ceb138b562a5538b487bcca4bd52efbdd664d916c06eaff2429c2e2f50b748c85e311075ca1c7b63f5613d5a0ad2418a0a8274babe5f0319b95f9cdc8cdf1f0393769b9d268ac089c6e0806c76b90d1d2d9d727bc3688e15555841e1f3ec22b70683929a9a1a70e9124927415e720770701f1ce5ef4327cef7ce5c0f3e2891a02320b9f1fd578177de237049efce8fc0be9584bf4de970f3afdaef33d3b87b0b687544ef626792ec9127b68b47f15af6dc0eae38a1a900288e4638acd974339b5a2ea187f4de51a6d9e1d24680c9481b695e60e4ed12bfa345ca2892d2adfbb036cc71031c3f909999e151f48c6e5695054e0766eb40f478fa823b63c2de1138b270f77350a79e842627f81acc9d365d18780033f5add4acba01fa59de721a78de35d5617f34ea7c691c0436749c03c587a6b3d9432b564dfa0a47cdea4858712605455d5f63c6ce80c5d280e2e262b7c94073f055681b08e4287ac85a5bdfa28fbd2cc4fb0a4c84334c71d0ba6fa4dfb5c2ade5cae3d66ef75ab9be947ed1fc3ba377d7f6e6eeb894ce0013ceda05828e9526683ce85d19747a1f0126236da40d4b70d21e977457d6e9066f080e0e466262a2d08639a0d1cd009d29d015ad041b3366c5e996e88136d71fe29ee5a64c02d4262922cec21b21355d09c4ae128e7528e02c744f4bb35a555872c66a78c4e9baa69993ada9c194bd1f0583491e0717256b2fe19d4656c1879d24993eea3c68eb2a61ad3f0af70c3a3b26d1044b8c59b8541a89a784c4783ac384dcdc94d692b82c057631081d07a9a85ba63a9e0a758ebba8a5e0ca0332b8424d16d04496b5e048120128cd70672be90897081b993e5088378da3d23956efc69f281da2a2ee9be3da4f55af1697146919b4044a64c90da6954ee8e56c0be01d0126236da4f5a3f0ee0e336421c01ab69f9f9fa804ec591abe15c31109ac1c9d0aff8164500e7747fa9ec5d51390785f5bf77c0f6ce991dca5d259cc11efa7ffb5f45c0724d9e12e85dad3e6da56c9029dab39070505b50b4c845075a6a9b715efa53f2c6d209d3a9b22e7a445fd2c262606461f13d2d3f7b53f32f19fbd3b53a10edc6950e868aebd5658ae4ff612154e180849da7593388910647b7e67a9ea548b8a460fbf55d701f32f45e37ffe0664ef2210edf08621a9fbeb4ce9ce9a776ee8f27807ae981435a36f8ba56428d0fb770e989c2ad88963999fa1b22e4f20c6e8d009983bee4a2444ce1c916d23edacb5b0b00063e1c5ae1bae4a7be2c489332c02ccb45cbee8b3795be3c0c635283099f408314928abb21108d1c22e12744970cc8d205c100a1c49ebd313d89dc3f58bdc2e97564f7738b3b2f1ef8d5d0a31cea9c3d634ce55e28de9d1b135447688c0dca1bca6788a1826eab451f8f16b5bf0c586ed287dff875d40192eb2a9c018138ea42bd7e0d0d73ba0c9fac6b95b4cab16671b4cb0e561d15414578141e53b47ef431a98303afcfcc093d87cf8017a3d8908099e4bccda8293792f6077cabf70e5d267b078d2f51ee703354dcd08f6339e4d159ebbdd6c24c89a2c7604f9fab83f2bad6d14f3e1a36b9d7bc36cb58bfa1dfe46439f9fdbd06c8396b4169361c4c0e68dc64c87ad24e3c78f17595cd96da35a49e81d4a7a55f395d44c65bd35d3ba18dc60e420f006d3ee6f5ddc6275a0ca0eb84228d935a663c8c07d90ecbd7eafaec681af5c2e80df6ffb89cf5475b9ab2dae0c5ca3a3a345c9016f5931ecf6c170d1f4a2ea30d7aa9174b0db1ab1f7ad57d144c0accb0b2487d8db52fdc95ba82170a9cd4f063b82aca2d2e0e00bfad6f3ae75f7d9d3dddb5b7a77552c3e1bdaa056ce3b92f53f6c3cf07bf8077e1f53e76cc4f72ffc2f2e5bf10126cdfc9c7a36091feefa35f2ca93dde737596db873ddd7c4547a47a01f1fcc40797dd3b07d59c7f22af1c8c7df8adfdffef694f8b9f5641e2ab91e449bf6c9a10cbcbc2dd92bcf7debdb149abb74afdc2bb3ac061b9373ba3c6f6f46310e6495e26c6cacfd322861d070f2c449014a74262d7c0870aa3125522b1ececcc6c5787ac200872c935254b787d401731d1070e85060b62b429366bd5c646ee5ace7072ba03b9cd96b60e572e7582c16012438336bfb9abdacee16525cd94ccf6cecdae39d590c5cad562b9c01227d9f7e79e0729db8b63b4b1a7faeaad3c36bd5c562979a90baf121d467bcd5f5c2624b2447a654e4c071f0bf504ad36015d964b4c02007674b629f95ba3ef47e3a188c7a5127ce8ddb3ce8b6a77470b6c5990caa0abcefd47a04f8cec2e2b97f47905f34627c1db0fa90b69fb00031fe4f63f7decbf0f5d117f1e395cf39838280fa665b2b9afa9498c8e1f4429c333901cb26c6e2d9af8ea0a6b119b79d3f435816feb1f1207c0d7adcb8740a1efd780f564c89c363d72c13dabfdd21e3c5ad479153548915b3c6e2a2e9497876d3611495d760e5ec71387f4a3cdedc75525825b4b480a6c68563d3e10cdcb27236464704e2bffbd2905f558fa8403f4406fa62e7c95cfc7acd3c4c880ec55bbb53904cfd9a383a1a3f396f3adef9361515048a4e1754e28e4be661624ca85b001fcd2dc3a9c20a9c37250159a535a8a4fe3f7ce5627c792c07d3e3c3101b1a2080417c58a030bf1eca2ec39fdeda86105f03024c06f8e8b5f888be3f555889d29a06dc75c97c41d416d68ce8e7eb3b8e2397ee7bd9fc0998375a2d4c9751524d633b411a9d0e775d3c0f47f3ca719c8ed4fc322c999480ef2f9a28c67720a30829c535b861c964f79c9fa2f97a69eb3161a9999d1885d94991f832399b084ac14f564cc7bb049a32693c972d98487d0ec00b9b8f887efc66f55c71cf0f77a560f46f2e47a3c58ecf0e9cc6b8d8305c396f3c5ed99e8cc28a3afc74e52cbcb2ed180acaeaf0f2cf568b719f155a00ad210e6e65137f414101b232b3c4fb149a0e2f6ed94242c3d18a51b5a78df74e3b1b6ad84469d7e23030c0a4252ec3d50fd995310e6a565b5193a517f3ed39e7ec9e63370cbb75ceb41eb86c08ed2b595c0769cce8d1c8c9c982c54c8a87560f9dc1170e2bad1187057d421603b82c58147340b1d6104aefb6bec7dd74b0eb45e9c935726b50effcbfede78384c7dd0056ad19e541ef38bbe97dd8584cd88d535e9d8190d095981d1783d991aa066124a8b4205a21813c0b7e01e720b3e81bd81c9616e397a68571ed3e5d84a7bf3848822d1c0f7eb01b85d5f52424a34454fa3f09606c399187fd99a5583d730c42fd4d181b158473c68d82c1e9f67861cb51e456d6e1272408e343fdf1e4e7fb51d76cc52de7cfc41b3b4f60e3b16c3cb5f1109691a0de93598c2f8e65e1220230ffda7204550d66fcf5b303b88c00ccdb043ad24aaa30674c34fe434277d3f11c6c3d912b00cce19c52016e5ed9761cfe461f71ceb35f1d768f61575a3e3e3e908eeb174fc12fffb315331323515ed724c6b63d358ffa572faa876e38d462b18809f6c5580249331222f0e1fed3a22f6f7e9322c6c863fdcb86bd42d0059a7cc4f75f1ecd464244107ebb6e1b2c3695101854cc21d07432af0c1f1238d873ba50f4fbc7e7ce10f7da955688b7685c3f3a779a1ad2e55cf47cdf473eda8bcbe68c1360ecbffb4fa1a8ba018f7fba4fdcef837da7f1211d4904ce7e43cfe3ebe6d1e70504385edb710293478561f6f818180910ddf3f6768c2580f6e6ce9378e9eb63786f4f1a56cd1c8bc8203f022341983b2e468ce96c686c929f3e7dba988fe4e4646125d1ea5553ae1068cd24a22c7d4f8cd59774fa0396ef4052b57665883257d9e11dcd9a81095b3d7a5a6b84cb0f70ae92c2a222d4d5d543aff3854ee38076ec1c5a33e1184e35c5d4c2ca365adb45d4eb81a9e5e369b91a5ad296d306a8b123b2592190f91da1f7e1044cd489916191b5385424a3ceca155d55536e59a31d474acd620f7bdb6025c625ae5887dc8a5ae849bb31f9e871e7aad93892534e602407617e2614d734e18a79e370d582f104040e09375064a00933e2c3dde0e6787e39018bf1981c1741423e1227f22b70d5fcf198121f8169741e5b32964f8ac5b9744c8b0ba37b4dc462fa9dfbd860b5e3a269095830369ac04404ae593801f3499032d360cbc3f229099844e061d5f4d13842f7191f1d2cac0e7c8ecd2e7b002d0d81924958489f2f9b300a2ba7250ae15d67b61043d22080c085c56e47b35d4dd8c34764902f42692c71a1013068d55718eee7834b678fc1c5b3c6c06cb3a3b6c922847f7a4935827c0d082220f2ab8b668b39e6f6010196d4a22a84d25c5535348b18951b164f26e01485a82013520a2ba81fa1340f113877621cac76f53d3848a03458ad387f6a02964f8e17e0c74a8cfcf23963319fae4d2daa44a0af1efe2603eea077c216ad43b9a5f44e8ca86e6c464420810e02490c0e1904fafaa8d6acb5f3c6e3a1ab16e3b59dc771baa406a342fc302e3a047e3e7a0ce7c60c92835b79d74d76763669c039eeeac51a45e361b3560dbd7d651cbd7587b8aeeb7766656e04b8ae8bad19677be354f1fcae757a7d8fd60b83122ed2e8b6b4d8cd901c12ac297b014bc9308baf53f98699f859a37960dce843d5ada1e1addcce2cbe22799e17de646fe975c0e8bd976dd05c39ec9a09f28f477ed56e345aaaa1d38689c2705a8102f5a86fcc4453c3114c885d40dfa9019c3a12c245d58d78f8bfdfc087c0c925b3c66254983f2aaa49ab2001564b8bbfacae113e24907df41a2413d068325b91555a8b8a7a33662544096bc20b375f8800a3013f583c057fdb780007d2f249b331e247cba6e2b10dfb308f40491a09eddf5e3c0fffdc74c8695a535181c5663f735108bfa082669b0c33a1e0db964fc05defec4045553df6e596e377972d10561216eecd76b9954bd9b5386d5c574372fdae12f3d4d870fcedb3bd0809f04553b34d08eb94c22a022d5601d05edf7942cc8986e692835d1ffa703702691ee6244609a0f5fce6c3b867cd02fce3cb0a54d736c24063d63b810cbb6342083cd45aac021c0923a833b701df8b41c797c93978f2b37df8f04006eeba64aef88eaf5f33730c7ef2f297426f73ddcfa85791fbd50b26e0af744d754d2302024c28a039305b6ca821601846ef6c5c5410fef87e3edd3f81005f1cf2ca095cd2e76575661a5ba5b0e81ccf2bc3823131b8ebed6d3867fc284c1a153a2c05536060a000256c1d397efcb8db3cebaed48b96fa1eedd90fda46eb77c56cf9fb9e06484a1a356f427798795f6aed44858762f4c429f00f8b425dd44c18e3f5d0c916549616e3f4a914b1463c2d2afd691438b3ae4cff3c90e7a9a1b109cbce3d97c66a13daad22db21117f6b6aa2f59e9183b2e2c256d730286140535ada125f651126268da89be2d0c8432ce3bf2bee4516b96c2052e2abeb5ca73760c2a40948888a445c5c229acdb5a8aaae130025253d07e525455e7997fc589f0052908897713af8ee5bde245535572451bf882d3a4abfce544bfa35b98bcdcbfd42ef524b9e94eed2fb60c5a9496d3bb776ed5a69c3860dae772e39ad2a4ea8272288da1e7a27c0d17b1c8c247c9c3f5d079fe3bf6ddbb627962f5f1ecd0ff826e53f58b7e5264c19f77b5c30ff0fc8adf38581ee18e953810dbb7e838aca0ff08bcbb76252ec3277ff4ee497a39c841813c362125acdf46276a71620313248c4806c4fcd175a7c2c09713f1f03769f2e407490bfb06a70db975922e23638ee845b4669354ee55762e6e828110f91565c85cce26a2c23c1ccf11b3924389348c3677705ffcd56881212bae1247419ecf035f995f5880834093747657db3f88ce3520e65146306dd972d1b7c9f84f040022f76f739dcd86dc3169c107f13729dcfe26bd982c1ee96af081cc486fa8bdf6343fc45fff85ab6ba6495d72122c048cff6c56daf6cc2a5b3c7229ceec3d60cd75cb1c523afa20e2708204d490817f7e7c6fdd891928fc488404405f989781b0619fc9c6ceac768673f0e6797617c4c303dc7d7bd1ba89e80d1de8c22ec4e2fa4eb14fc9e801783a551d43f6e0c4692b34be97911223ee4eb93b9a2efe1d44f76ff64d29c3318e2ef361fcf11639f497de367715cccf2c9718230d9a2c5cf8d0ef61b34b67becd831cc9a35abc75692848404e1be610b49dbd4e41c3f3065ca149c3c79d219d4d8bd7b7a9d4970d656a203666e5c2c0ddd48a1dd5360929098841fdcfa7384ce5a89544b108e576b303fa60e874a4d0826103dd5df86787b210e7df616fefbee5b623e7a5261b7f742c259bb487078666f76af3fe1ea2bbf879f5fb11c53342530951e85549d4984d740883506f6b0c9a808998a6df9163cfbc6fb3899924a6b2691c08b4658d6bcbd1eba23e85cae819e083b2d079a3aabfab2d8651e28acc0575f819f5cba1413e402f8559d8052711ab03642131c4f639f8af2e0c9d89adb84675f7f0fa7d24ef7e93d32c0d419b570d8d554f53dba9ad014a7f1e72de30ec986a192bcb83fe89d2b35b3f5ae27f4ce7db8faeaab15e255f7a7a6a6baf6d05b9d87c5e3773e6ccec3ee3c6c4e9399eb903d0ed7362d252e2e4e494b4b533821e19000261c3bf2eef67bb02ff539f8f99f87a090a5443c7654556c82cd7a14abe7ff3fac997f2f465ad78d8351af5e381161fec67e7fd61e025c1fec3e0983d10777ae9a33a8c061a80113b692b0dba6a1a1c1edb669db7a034cfad97cd02f15812ffbde5aacf9cd63f8a838005f9dae069a6c823ba4dd958bc7b687e1cd5d04ce7d1568827c71c7ac104cae3b8c27fff01b649e4eef57a389a4d143a70d826cab23a1ea70a60297bb3959eda73bf76ce1e11178e6d17bb136bc12d65d4fa0b9584dc8eae6a28aba235947a4ea376911aae6de8ca7bf3a89f5ef7f88c2c2c26e818cfed80ade9b2da7ccd41dbc9b49964461c4b89828fce3e1fb70495031acdf3c054b99d399d3ded8a72ca1b1df823fbef535feb3eeed5ef65aeb0445eac66f470f568d67351d834695ac907176b75ed0fb60009341dd95a3d7fae086e57fc7e8e879d879fc1594153e4584a14742d4b95831eb51cc1e73d908e2e866bbfd82814b4677ceb818718cb4d64c9dad24bc1538373757a4951f0e7d762736eb2643ef6e56d66b6ff811e6ffec09fc6c5725504b92d9472b44c12df31a3121d486bb97d4e3cd63018235c9f58d78666b03e64d9e8afb9f7b078fffec3a646565f6dbb8b5a60048fe4b20576d82c621a9357f60e92657d739f96afb56853002251f3cfb2816167e80aaf55b55f5cc337e5b5625a242aa1a2bf7d5c7f6c2277d2f1ebbeacfa4b9afc5134f3fdf652fbada0adef61df50470f4544b7708b0a115e9f5474547e3d3671ec1a4ecb751bd69276074aaa7ed8d9d7eaf3eb41bc6f4ddf8d7358f2334f0a7f8c7f3ffeec51a76a02547acd2c31d3c0422975e8af0b9f391f9cca3d04a728f80cd70e4513da5f741b3180d7607389e64d9d41fe3ceef6dc0033f388907ae3f865f5cfadeb00025c5350dc285c15b6f1b2d67469c7300a96b17cc40368e1161f74d6f1bbbad3878d6d59a686c7db9dfd9ded84a326dda34b19b82b3b70e1c285119b256ab739759ef49eb59855e88703d4571e95b1d07cd2d3bf73c2cf9f95f70cfd652a0c1ac8212164a2605f72cad11c27d465423ae984cdf59346a44bb518383a9a5783a370c7f7cfadf34a741fd366bf6c62a58cb3e85c6c6db356d3dd82da2c0957fa45d454bafc70b8fdf8f85f9eb51b99b40895f1bd58f86a90d6d6d7091487873feb5ea771ec41f2f88c7b5d75ce5f577e7124a5d7dd71b8b99e2bc8ead80cffff5014cca7c03557b77aa63d77632768e772005d9da0cd4bdfb001e593311577ceff25ebd4fe15e14511b4a8ffbce717dbe1a03ac9256ddb23fe4cd1d0348ef8318183b64f654f99b4211153c1691c1636034f80f0b81f4c68e93f83a254fec2269683ed3247f22bf52c44c0c74e3188ec73edddbebeb9fdb7c44e457718fa3b0127fd9b0670481b4251e675e120e70e5bc249c086b6033ad3a354505bd6254bd50b9a0d1714e0a6d4739c1e0e7eb8bab7ffd201e3c68e640264e0aa2dafa1b74b89280c8e4f006b8bcc3bf5d5ca1064e5a9de718f43871ba02dba4c9b8f1d6dbfb772c221197330851e9ae9540119612a5834a3ad75eb51697f965a16acf0e486d59185da20920f092b40a9201ad5d068cdb781a3efb3dfe74e345888c88ece3d09456961257f9036f819c33a68406f3c36bafc26a6d0aaaf7ef6977ecda401efb456a6263cfc7e9541bbffdb3bbf1d0cd97222c34b4a7afd10321f59c7c4a777d8643ffb89fe6c93a0c763b496d8efea777012875da011fe9b0cb31fe9f5d27b1272517916141b8fff285787b770a0e9f2e4440901ffeb87611d6ef39855cd2eef32aebc4ce92bde9452287c71fbeb7087fffe280d81acb968e6593e24542b479e346e19717cec6e747b3b0e1c069e8f45adc7fd9429c28a8c4b7e985282cafc55ce73982048912fef6f941e4945523b9a00a73c7448badbd1965b5e2d977ae9e8bf7f69e1201b71c602a3b73aa64e496e2f22553b06c429c10f295d4bf4949d1c205f3ccc643a8a67bfce4bc69181715826d29f92219db95f3c7e377eb77e2a91f2cc7ba6f524470efc9820a7c4bfd0e08f415e3fdf84006528a2ac40e250ecc7d69f361343b38157dcb16450619ef7e9b0a8bd58649b161b863d55c752e1a9bf18b95b3703cbf021bf6d3d80d3a314fbc63e9dfdb92f1e19e545c326f3cf52958657074af57b727239380ca8c313158342e06afd079bc1b8af38d84fa19b1ff74111eba6689201b7e4604bd179e4fdf61beedb76de38c9e1c4bc245dad84a3238a9df9db965e4fe7fb69a8c96b7beea04a3ea28fbf2aa356b70543f1db599654010bd73a31591061953121d787845215adccd762c4ba8c50317eaf1c1c960e4346a60b5d1f90e13d67ddb887faefa2122d7bd8eb2f2f261b11e4cbe7ef8f9e54bd0bceb37ad5d3768b110e8226743f2f18736221eb6bc7cb4c292c489cd84d3c6146dc10ddfbf02ff78fea53ec893814aedef542afd0370fb9a0568da4a63f76d7fecdac87934f6001afb28d8f38b5a4b1e1e7b2930b17ca700772fbcfcda00918f460db4966448f4bbd22b7433f0f4ee70d8fa1d98087a67c0cef143a4880cf4f66b0d8651db935e8ccf8f64e1d1eb96e3e673a762f3895cec4c2bc09f4970c78706e01991542d0789e181b87cce38020447f0e015e7607f66094a088cb0105f32310ed3e32309d0a4e2d16b96e12bba47725e055efa3a190f5fb50457cd9f289285ed26b05356db84bf5c7b2e3e3d94897aa745e46b020d9c25f5e1ab978a7c22dc38119a891836ef54e11d2d9cfa3e313c80fa97237610f173174d4dc4a2b131d4c74330ea74f8cb0d2bc40e9b77a81fef13285848df71bfb945d17d372667635f6629dea4ef0fe59489446c47734ab19540098f77746410fef1e561ea7f36f45a2de62446e2b10d7b713f010b4eb266f6101cfc9c92da06fcf9fbcbb097e662e7a902acdf9b8673c6c70a8bce8b34f647bebf146b668fa5b1ef157950e62645e261fa8c8120033dde91c320efcd1d273199b7227f7544ec80faea782e7e4fc063e3d16c841138b964ce5891d48dd3c917d79a456e14d359044a5cb12463c68c19242b496b85c6a52af6b7d59577d6f223eccd76581aac1df2c531f32f26adf824deb8e97d7c7dd3c728f8cd7a64fef6436cbb6d0ba647e6d119ec12e4fc1cd5e278ec82dd48bee32d14fdf6791cfbc50bf8e8a6e7f1d0852f234331e19cf32f1e36eb62daf4e99860cb4573b953dd538d2b50ec2dd6124d600cfd6d81367c0234c6d6df8ba0500234cdc7ff8b4be68e47b0bf6f9f2c267c885c390390686ce6ac59186bce84a50a2d958b3dc71ec8e38f728e7da2705f296dc6cef12896e36fe1d2859311e0eb33a0b25e921994e8867c74490bbd63c0e89ddf8fd56c1bf07c27c30a9894d6351218300940303a3258d4886140121660121953d912c209bc2e99355aec14b96846a2d8921aeae723b6b88e890ac245d312453e908b6726219e8040301101df37c0a8c328bad71c12c82e10c2829a3f0bf0359036a7da5ed9921117ea2fb6e8725a7ace39a223e20f1509cec6e19e777688ef795b2e2723e3227aaffef422ec22a0c31955ab1b2d22799bc8444b63e0ccb333e2c3f03d02527a6716bf29b161222fc84b5f1fc5130426fefec57ec404fb8b6b18b4f05665cec9c2db7943fc8cb871c964180d3a51b46f7c4ca8b85ee39121977d85134785893ec7d0bcf078a7c68589a468d58d56041af5345ffe028c70cc0c5b7a268e0aa5790a809f8f4ec49bf03dd8c2e2cf5bb1694e1eba72b178f67953e2c476684e4077e1f444c4d17cd7d0f9d72e9a88ebce9984dfafff067915b5678d958463490c0683d851c3993dbd62b6a47727695c511c6a550f4d37ccb59e5acc8068348a471d1fe5ccbef19ab587c7e3f3942024861562c5d8d710eb7718fe3ade0ecac1acd9ce9f59ce9f19749c868f741261c6dd9811fe1aae98f0220aeb42b1254b8f25175e326cd6c6c4846818cb92d59dc79caac88fde6b6c040c4963a01f3f0dfad1e7a9ef537640d2196118bf843e9f0a7d422274d1a1907cd4afcd24dc6784c998346d7a9ffbc481ac0391876212f12243e931f7d835fe1e639f40634f5ae1ec108d5def4b635f0cc3381e7b3c8d3d481d3b5ddb5401cc8ed460c2a4a95dba17bc22bd380b2b1fe29f6d608afc519f75a4a8a982be2dbd63e8d13b06c78834ac8009830a0e26bdfb3f5b45f2ada5136385b0fcddbaaff1fce623f8d9f93345fe0f87439d491f67d22fce14cbe0817397d86535c3ac0b04e8e877de61c22e945fbfb11977d0bd7f70ce14916fc3d5fce87a97e27121f521b3ac16bf7f7787b0e0706656be3f5b1e58d0efcb2cc6ea196354416632a091400ebb7640df73de93db564cc73b7b52703ff5f94441057ebc6c8a4892666f638e9f21f28fd4e3c7e74e457a49adc84772f1ccd1227bea7d74edd39b0ee1f61533e9d97af0703907c9d209b1b8f5a58d787ae341ea738b958241cb864319a2cfb54dcd58393551645ee53ecf4e8a203011803bdfd822e6f4474ba72226c80fafee38213e4b0a0fc20553137032bf1213a343309618c99e943cea7bb9c8ca6ad4b5ccb12b415ba8bf51b88f4ee6940a90e399e976b8351703888d8d55d3841716222323c32b955ef5ec6ed3490250baa85f43ccd1c11ab756e930c8b2abc6c0c9db9ab26a9771eff06b975b19751a54342b28ad3262c5ab77e07fa917b13d914e6510c23b0d53e8384ec7113a0e3b0f4e60b85380169ed11b3ffc275ed9710552cc6684040e9f2ae23a166a15c92dd612fe2c660e09e8d9d0868d86c47173ae5816fa29f986d0e7634938cf873674a2bb4e0f5b110ce632f884460f1b1ad171d9bc8ac3adc73e6a9e3af6501ebb6f9bb1874217ce635f044dc844d572c28df4419fe60a1842a3dac7112a59c0a4d3212124841e27796351c355fcafbf05b09ee4012b200e875a3d5c72d1bbde45efbd6b1c78dc7ff43e38c86450f398f476c29273ca10e64cc9ce311fc773cb111f1128621c58bb672b05337b16bc1c2fa17ea64743b30d81be3e227b2b5b3358b0b2761fec341d724232fe3e81b47e0e66d51178612d90cf09a445e58a52e61d381c60ca56118eeb60b024c00f8103060ec1be4601ec6b9dd795d635a1bcb611d31222c524b2f526aba45a2420634051d3a45ee3d938132ca7d10f22e0c3f7e1bef2fd45ad151a6f5c7880709d787ee71a437880af0045ae74eeaf13c8e0aabed72d9a880931a10294f098f8de2e0b1d5fc7c9d5784ef9b98d34576c81e20cb2dcd83ac573c3997939e57e4ca8bf986f76fbb4ccb13aefdc777e061726e4ba379cc06db836b68c5c75d555a2747d5e5e9e5700892b8f496a5a2a9acdcd6ea62b824b695d4a0924c4ea6c70d4587ac5121898b07ba9ff5d4c2ef6a002ab105f3d963df6193ead8a5605ad46c167d7ff0d974e798b844e0c27bb504bbc6bd847deda8ac69fdcf2e13378ebdb8b4913a8239463c2df13d370ef0faf846318ac931f5fb11acf257e89ba72e794f03069d9ebc75f4082d924ac0567342d81f9da6258330e3ae78b8e2612bcab6ec2da0dd5d8f9f9866141233ffdfe1afc3dfa73d4567a8cdd9fc7be1292ded8f1d86b0a68ec47dcdb88251abbcf25b761cdfa02ecddbcb18315a711f1d4213e26543737093e3e5c9a8678a2b060298a3bfb3003134d4220e47233e4c69e659e75b95798de993ff59775ec3b97c7a4b7ac706652642b3785e7dfaeeca45a5abdae627daecf5c3f194cb85ab0873f93ad12aec642b6bd7384058504be4b608b85e111b5ccee8db67d8926c11ced219c1934cc1c1de571ff3393a2316061e0e0791fd7626c6fbced8dc1d566254511200969f55d7027d7b165898f080fab11bbcb5ccdf3f901ce7201edcdfbf484480cf7c65b80393d787f6c0196ed2dd91715a7e994f342682b0890d8e59e6f3270eec050b3a74a03428d12e91c8ae0490e910f24d8a855b7ff72164dbb0e97bd7b0fb6dd508fe5491b9c19ac9cea8c0bd310297216f19f6e788a40c9254478b5826df9f86ae0afd70c9b7c574200fbc652df0bd571f14e9b461a5bfa5618c69fef04271ea3213a916b4b5a8312a70d5b13140549ae1c3e3c594fb4ef1b0e9457b48cbd9ea452fa161598713635a5cdd86b8a5a8112b1fc795d04f2d8f33a564c39b11cfdab6c6a8430634bcab0a969283b9c3957dc5d56c70202258aa57719545cf4feffd9bb0ef8288ab6ffdfdd2bb95c7a2f84929000a143408a7401115104acaf0a58b117141bbe1654ecfd535fcb6b7945b17745945ea497d0214002a4919ecb5daeedee3733bb77b940427a2e811b7ecbe5eef6766766e799e7fff4b3a9b230d0ce4c39bed6b8d6bf532486a7c4fb26a211cd6ab5361b28390d2c7035036fd94224277bd35832dda85cb753eedb30a0c279687120d4161eacdae655f850e91011e747ded37062564889fc5d69c4defc3885f95ad5a3523dac8acce52092f25f477a513dbe725951c6806081f0b9927693eeca4ad3a147f44635f58e0a4e644bf1e9e1dc34e199e5a42253f29e523560f68b41456e56fba111a70c29a25ff5b1d330e00a32f6ca1280af61ece67c45a6e6dd4b09bc968c5d1f0573deb1d357a2fa42dd5439b23e747a0d38c1536fc79fb6c6d94fa8d9de904cae1d02be95ed8267cc1da30e9ad1bb998278b949b4ee22d526d33b7d5682006fdb507dc0c4d77ccd5b1b95ba17d1fa245a5681562d898ec66566f4949aa8cd59a7fa192920a5613b8decd2683087cddaecdf6af885da57bb53029fb71fdda28cb40cb59287dd6046afc0230a0871297f5d870a528ca49b3dc2b2559119ec7e8363fcb0e6b76fdbcdb34d3f940573cc80ea1b2a8d6cd0d2246a81cab31134cac10b0a33354454f7212653e91feb874d794eecddbbafdd8c7de7a1e3b0c6f63f7dec3a7a0429fe1bd5c6ce81f70faf3e76026a8c71e1d870dc82031eb5735c395da14689c892a2599028033df586a7d18c920850d08411806268966abe4da6773217540b2b68342abdbb6c1b4da3775a6349ab75d13b1a49ef9c6a64f1be38e055530ed5ee65e766c26c2d6e9d0451bed61c4f0d1a2e4051e1cbe25939c288880896cdb5d967ae1682af2bc578631abd9eddde782f7e5a895ae264382d4eb717497dda86654b30eda12bb0f030c79890d6508e94c08d8a864454761c0701245a57923187f2596ac8312cc330064a1066440f391bff5db3baddac9943fbf761876d1686750c44c50993e269471984868601872809dd0a0e412cdd0f4d541a84d00e04b0042809c75c59d5e9bc0cb8093f2dd98e4abba3dd8c7ddfee5d4817af455a1c0773beec768255c61ec4367af1e441886507a0891e0421249e8c3d987dcfd600a7005561c04cfcf0c3966a492965b89c4415ee29a99a01871a39e9aed74b9d49c949b2e469dae158c5636bc546d55152005ac963a9a6b2002e01a1257c41445162c107aefb34145be88d7ae63f275a89702179bf64905781c9ee836bb031fb51489a42d529fa6cafa0d4ce257ea6481511a4eb89919d5f834e08aa350b667b6dd45e7be4c81174edda1501010167da79987f537354786d29a7354f4d892c37ac2c9e929e5b66d563e1ca9f508f9faf5ab10c975dbf1e03bb0fc6d6dd25e8106246949f620aa3d519bed87f39dedc4d9858f46e3cdcef3174895034057d42f728621b0153f3064562d5c72fc26432b59b75439d0f5f5ff43bcebfff09f09f3c00c923e5bc643a0967f6464865ca34da4bb74008db0a216a30d32ac804b4c9843107260563bb5f1f7cf3c37ded42fbe75acb36bb0daf7ff52716dfb610dc270fbb155f6cece57964ec9bc8ab6bec9b21846f8310395019bb55197b504a0c367129f8f19777abdd87f71358255cc9a1666a736b0454f7124e2ddd47de6bfd3510cd224b6ae902354e9963f5d764b653494d1a6f4340852b8f8cbb368d07ddb73cbd7b169bacbf20434f17d46acd80777d77bc0a4c8e156d40897d2d381b332b433e7beb279d1dc084532417a7d386d070038cfa88b36e8c34928566732d2b2b3b1d98d0cd8f6d368da3d9d6c82951bb96a6613d765a1d6e8954aee209f59abfb79f7b020fbdff1d6ec80945efc035cc6cfddbe131786afb6dd89cd7872c2211db0abbe393a3a3f150ea77b86fd0abe81bb58ea5b09f3ab203e28f2cc1ab8bbf685109b625da9f7fff8df7460fc3dd9366a3f0978f59165489800efb818d8aa02e543d0a67216194a51b95a27644f8f70b240c7ef29b7878fe7f60369bcf201ca8cf8446733033809f5a80d0bb9be76fbffd818f460ec59c0baf45e16f9fb35a3992858cfde0a6d3c75e20422cd9a4f88192b153859279e24b78f8a137515959a958145c35995c1503e4ea6bb88ae14beeeb3acc0e02563c17aaab609d43b55534708e385a759867bc89ce79436be9d444ef2dbd061b4bef0ecb29f47e2e6b4c92a2c7e260ee48981d19ca43977d1a93b60d4c14735b70f04014e455a04470566d0c6749a3922fdd1c1312124e1f3fd9311d377584f0733ef85c3b13d9c4b3fc99cbd5c286ead70eecdf87ff3e7e3bfeefc9cf906d89c2a49fdec692ac310a73d255b8377dbbdd88059be7e09dfd17607ad246dc3dd988e4c26d983ff76e381dcd6bca68ada885479f7e1e112f3f8d6ba6df81d25fff0f8e324573706a413be6b8e9503406019d0c705cf20eee7cf33bac59b7be8ee701576007e4881ee0a54088c59b9ad467eae3d45073e2a9f349dfcd7be23944bcfa0c665c6644c9efff01915f94e46967187b606218ac935fc56daf7c818d9b362b8eb1e4248d269880dc0a88d54c5aa7dfb35a589b5c936f967c1aa8a9f77e67d4c27e7d3c84cf73c1991a66d26cf7f47e2e0393ee5d072222e47b982de5ad9ef2d6d71abf7435829f6ac794cebae7467302a4a4a4c033a6be4a0492a1fd2617a2c9c1245609be355b5b5bbb6a252cf74fc1ccc75e4778fc0484390a515c602268c4736bb7b36c47d1517d1147cd1adbfe87479f7a1ca68a8a66d58634540ddf24606bb7e3e6fbe723f3c1fb70dbd52f2374f7b7b01cdc00fb294a10565039821c836ec2deb0a178f0e94fb07ce5aafa522034b21392a801676b7a2d21570afba668a368b359ad987defa338f2d05cdc7acd4b084dff1a96439b61b7d430f628f2e8d36ec5eee0c198fbef0fb166ed5af562ace62f19a3d6fb2cb2d201ed5784decd76d617d147d6e70630a12d22221c1108f73d095f6b07988c3082620ac63404989c7ddaa2e66c94596ddbbe137bafbb08d3afbc068f8f9f0a538f6ec813fd91556667890b53423408b7e5c39ef9077efdf72758bf6e6d8b68431a1395d494469d089f5af8127eead70fb7fceb320cbf70063a730510ca8e433697810beb00933e169b2b74f87d4b263e5d3417250d0849e7385a1359004af69157271a61a4a88eb79b08d83c8b06521fadc7172cc48f0307e0e6abc9d8275d814e5c21e4e24cc2e84d10223aa2c2d8095b4d7afcb4612f3efbe25e94957bf812d1482e4e84e82c6c9d14f1679c182db82249f151a179797cbe06e70e30f1355f6b3fba220976eafd2f2bc9e2b973659f6a04e77381056b6525167df211be24c7c0e1a330a07b670ce9108fecec133862b2e1cb1de9c83ca086c6529e24b9aac049cd2a317bc3bf67c78e1db89d1c9de3639136642834c1e1645e68d8aa13955c2e362d2f436ee6e2462c44eac6e92aca8356762f71e515a9720aac696eb76eddc68ec484780c386f083aa4a4c266ad44497a098a8efe8a95eb36c1e174d448654a68b0124acb091c7841804423754e8d36a1eb45c72961e754cbc28b67b6b5700234bc8e4c5f25739a6587e43cc31a96e0a0998a6911a0730993b4fa9af201135ff3b5a6b0b72a3bb67cf6ec55759942587481d434753fe5179bd7ad62476262128e1c395c8d61288ed5124b63cfa267a5e61fa3a7f6a43533656666e722f3bbefab7d9630ef25cc7ce032bc78e73f646e1a964c4de97a95d367ebf22c257c577285c6d4318f478e6793e33b4447af83c562ae47a4955c7d58745dd0fa32f2e9b974688a774da40ef65c2b38673de6421f02e7f09b816d5f832b3902419670e6021362f5b93e57e89dfa1c899257b3c9fa8089aff95a0b37cad8e966d0f2b56b1acfb06bddc05caf1c9a45954d934b592acdcce192ce074b81451884815cdb4a7d27786aa490ddd9eb9babd14db6314e9e2dc3dc39e47ff60adee53f26233dd1aed672b5e26e0d580f4e67e39c9965a7ecd6ac9c7a37c92e423c51c98af949aa86e58ccd610257744c5580107aa4e16292d822f45e9b26a9edd3bb12e6cc6a10791198f8b29af99aafb5f466de44e7c296dca4ceb451b13ed3c4600440c8ea26dbb173228c86ea7596264d9e8208b5ae926008c6e44913101e198d8e7155f5a022623a203e2692e598b03b6c4402aeca3541035e67450ae8af25e0410bf8f3f2a9a231525292dd6f0343a33171fc9806c3013a8ea6308bc8e83844468456fb6ce09091e8d323d1632e26233a3a125d133bbb3f33048420a94b270fe64e986d5e1eca72f6362a0f508fbee76140ffd4565f2ffe8121983a6d3a860d1d70da77a3c74f4054b0a176dd03997b9bcd76c6eb774d49815e2734182949ae046b7538a3f32281bb3bbe045f92098113c09f633e23f5a377b08838d9cba0ca074c7ccdd71ad084808ed006f55429bd7e0ac7e692d2dda9939ac991d3d5af3a41932b75be21046b36edc07d374c57deeb0ce8d72f0d731fb81f91815a04864561ec848b30e7965948ecd6138306f4c6acdbeec19409e723b56f1a06f44c2402aa8c810307232a24905d2324341c3d7af6c6012100c7c914d9242d84c06036d2e0e020f61a9bd009e3c68cc2e8719370cf9c1bd0b1532266ce9a89d4d49eee0ada753e37326702949a2a7c23b34cbfffe56ff8ecad67dcefbb937edf48c63774603756a8ae5fda30dc73cf3de89a9c8c91c38660fc259763ce0dff424262378c1d3144f94daf3e48ec18c7a634282804c9dd7a2036b20aec68b47af4edd71f7151e1eafc849171f66295bd694bee9e8aeb6e988351a387b4ba9ee7a5b7ff8311693dd12d2909fec60004180dd01bfc61f4f7c3b4abafc5c43123d1b9430c34fea1f8f7534fa27b52028c014148ea9a42005d3806a60d425cb4322e637018060d4a43528f7ef8f7e38f229e80bef1e3274247406968642c015e7dd979f4fab1f109e8dead6bcd80c7238b7a5da1ae2e23114bd8268bf5725ed704264313a0de9bab1f68a234d59cf40e2fd1bb375b9b31e59c2c3d8c4a5b397b14018670840725f8b8a0afb52d89831ea296ec13343f22b5d352a383b3f5342faa539ab78294275c3c1dbb36afc1a03193e0f7e1f778f6b57710c0db1019648031aa0bde79683e6c964a02001c08208c272ec688d1975d89f2839158b239073a930df73ebe10437bc44333fb3a3cbdf045bcf6ce07282fc84576c676fcfdc053f00f8ac58b2fcec717df2fc5530fcec6fc85ef61f2f8f3515c5484a123bae18a0b0761c7dea7d035b53f9e7b6621b2f6fd837b1e5b58b7f415c8417fed4238bffb19f693ff3478ec5d7a122050910d7d5457c406fb63c41573307d541fc42777c19a5f642c78e93544fa71880cf5872cf8212e36165d06a4626cbf181ccafd1861c1c1b8e4ea1b31f3b231e0b546bcbef029cc7c700122b54ef09205575f7d3dca6d226212bae2aa6baec3801e1d71fb5d0fe3a32f17a134370f47f7ac27737802375f7b114262bae29bdd4b5a5bef87d2720b7a748ac7330b9ec7884b491fc36cd85e24a047901d656607ae993507d7cef1c3471f7e82ebaebd9e3c9badb8f7e25988164af09fcfbec198f117a34f5234e63efa0c16befc1a32766fc4f62305b8f1861bb163e366c4444721a5f77978e8e1792837597068db5f38521186fb664d46a528e085c7eec6d2f5e98d66a2a7664191eb43ef3432072203b492dc7a29ed4fa5f7732d1ec8eb1a93fc920cbcbfe47abcf4ed08bcf8cd08bcf4cdf978f9bb91f862d5fd305516fab8a1afb5a9e6b41e81bd225d292cc679a19e09cf79cd2c346bd6f5283999836efd8662ea25172229d61fb7ce99837f76eec3c80b26a3fcd836dc74c31d282600249448fa7e828cad9bb7e0bdf7de81d9c1a34b726f8c1dd21b37cfba0efbf2ec04708cc6913d9b70e77d0f2021319569342c25d92871fa61ee9d3741e3178e87ee9b830d1bfe414c5c0c0eec49c7afdf7f810de91938b8731dee7ee03174eadaa35e885220fcc45e540ade56096d23a66fc6bf66c2c8d9a00b8ac155574cc584d1c330f78ed9f8efe29f91d26708bac71a71eb6d73907ef0380283821019168c5de9e9f87ad187d87d388f48fd9d3075ca24ccbfe766bcbbf86f4c9f7e091ca693b8fb8e5b60e60309a051cc20a161a1309597c3184284b388089cc8d8853bee7a00e1093d70cd8c2978eee17bf0fa075fc3afa63c3b2ddc1ebb6b367edb780cdf7dbb084971e14ce320733a04050642b257e08e5997e3dbe5dbd12ba52356ae5a814f17ff021d99f807efba1379a536582d26e80d01187dc12458b27761ee838fe2dbaf7ec1c67fd6e2e7a57f213c3a1a63265e8cac6dcb71d3ac59183e7632923b44e083379ec7a25fd7a067af6ead2e89382af7c16e39a03afd3acf297a3f67814951f9317cb0e43aec3cfc3d822366e382f37fc3f0f37e802e6022d6a4bf86cf96dd099ba37a761eb3cd8157ffd882b99ffe8dd7c86b99c5e695be5758edb03a9ab65057ed3f816d59277ddcbe9d3425dbb5061c919c249adb406e3d852375dcd4f8e955118a6b75ad498fb40b102816e00522e9bef5c157b862fa65640e0c447a7e1ae70fe88d4307f62065e018bcf0daf3880d0f8028712c15bd9d0082a953a721342800e6d293389c5d8c798fce47dfae51d87df008443bcda0cbb3c80b9724bb61fb0174ef148a773ffd017d523a60c5da8d08301a5169b160c8880bd03fb52bcc660bf999c0b2f1d6475296ac229c5fbd007bd90e38f9866d7bc6d0788c49eb8a279f780a4f3cfd22264ebd1c1653191e5bf012665f7d09f24f1c05fc23f1f4826791d62b1176b22fd0e76526fd1d43005b72a758c84e2bb6efd88bdbee7b04d75c3a16db76ec6245d71c4e091a8de07e9ed3aebe0143faa742a30f4072524754d06473f4d9f3220e1ecec2bd8f3c85bb6ebe12a2c3deba0b803ca3ab67ce46795e169c9c1e95a45f23274ec3dcdb6e22cfb0127a63106eb9771e260ced85f51b3621322e11174f1c0907018216b2574ebde27aa4a526c2101c064b710ea212fbe08e39b7a23b79be11f15d3064601a33b7edddb5152969a33097ac919cc37b9926c65e59099d4e5f9d41d35a5542cbb22f160724bbe85dc32a47b51abdd30ac47a9d5b6572aea572e44e456353a74ee57efae927b7264b052fbcfab750c3a1856212d27a1c7446f5eaabeba0e704ac58b1e285d1a347c7d01bfcb8e1692cddf204baf5588c98f82b312a013011217463b688eca32fe358e6c3b86acc2718d17326eb9b439470c3fb4bd0b763044675ef88ed59f998d8bb333a4506e36841194c9536f4e918c5ceb33b4564159621c4df0f71a14acd931d99271115ec8f50a31f33db39c97915560702fcb410c86665d069506cb622cce8c76c963b32f39114138a20838e9d77b2dccc8823293a144ffff80f420d7adc32ae2ff46463a1e17387f34b1958e99d1049009548366709470a4a1119e88fe86023bbe64e72cde85023c2030c78fe974da46f46dc34ba0fb24b4c283255b2fed3b693f4353cc8800e61813e44e0c5b673e74ef4ebd7af26252f1a1b46a8d7eb919a9a8a3d7bf6b08454f52254ea2341362bd1e9f48a041543984780ce818ca32720e88ccce1d36493317c707f1cce38888d1b37e1bc5113d0253a08e9e9bb90536882bfc68972bb16e3460ec2b6edbb603515c124ea30fbbaabb071cd326cdc7910a9c99d7124eb0461c29db17bf75e0622028223d0392e0c478e9f4452c768ecda97819e3d9271e8d0514c9a72318eeedb8d4a326fc7730a909c98805d7bf6d55f04764395fa37ffa07074ed148df45d7bd9fbfe03062027270fe3278c4741ce716cdab401a1f1291839b8170eeedf8fbd078f223a3c98f43f1f53a65c843de9040cd9ad387c2c0f975f79252a8bb3f1eb9f2bd023b5278e92b9ebdaad3b0e1fd84bc624222cba0399afa1282d2d4351612e4c260b8e9dc823e3ec804347b2316dc665282bcc23c0663bf2f2eaab51e6d5bc234a4e55a91e6b8dcdd229a1d5232fb808bd923b61f5b23fb03b231bd367cc80a5ec24d277a6c310168b41fdfba2303b037fadfc07fd068f4054208f2cd2f7acc307119b988a114306202fff248eecdf0d3e300643d37ae28fdf7f43976e640f759890575c8e8c83073060d868f44c4ac0f7df7e0563781c50590ade180ede518e9cdc02a54f7a02e642fd20e62a65ab39566e526ae6ec374d5b374dc3813cc1a33c9c0ea7d7f7c0193366c864af7a64dfbe7d07d48fecea61f3f89b1e0ef570aa87038aedcb75481e87ec3a3a74e8201f387040f6ccb6ed456022e3f9afc6411262317ddc22f80b4e04ea1427a60a8780628b195f2f9d8440bd160fcc58028da0c3ba8339786fd976fcefb6c9d5fabc68fd3efcb1e308228c7a4484046042ef2e98fbf9720c498ec3ae6385f8ef2d13f1eeb29db058ac38905f8ef1bd3ba21bd9f89ef971030105bd5146004d7c6820660c4ec14d1ffe8985578c605a99200254324b2a70ebd87e7860d14aa4254513b0528005979f8fd7976c4185c58ef76f9e88d810230a09a8f8efaa5d389c5782e1dd13d03d368cf46105ce4b8ec5de9c627c4ccea3d7940860d9955342ee95cc005404012d5da282f131f96d809f0ec9040895107074f0d8490c26d7b9794c1f1f3a6873c0a469ad31c0e4ac9184c82e623406289a005f6bf9f96635c17988bc08414b5ee972abc3e9d305469a33957f487010cbf0aaf01badcab31ab77e5c890da9b64ce239f699e454b488b2ec4b1c7f360013af997258fa624719646d17d0c286c17a4ea928495659a04e42b9430f4ed301264b2ef9dce9d6986885eaea34aaa9f87ced3ebc7bc378bc3ef30264e49760f5be6384d907e1a5ab47a177c7082c493f8aa3274bf1caf5e370ebb83e28b7da9909a85b6c28668dec45feb6b3043eb4512dca86c3b9f8333d0bc104349c2caf447ad649180d5abc78d5285c96d615fb738a308a80861bc7f661a084361d41b79141fe0822406a25b9bf89dca333e9c3cbd78c46727408fed879143904e4bc74dd58cc1ad5938121c6a4b4023e5db31b4ea78810024c36917b87faeb2169040c23c0cad77cad5d34221d234ceb965e6a55510b1a024c8cee5c0f67530b0d0b835623b4b97eb912026ac8de746a40524d115e55957b9b2fe78ba0d192e75ec578c2c85ce96a33c5d0a46a0257ab994e66e88426fde3e167d02038cca08ed25722e26c695edc1d3842c406d86d793850e840994d865ec393c5ca21cf2ce10861e24e6711fc74c12c0a82b6c189d1385956892fffd9cf98fccfdb0ee3406e31a282fdb0f1701e8e1796c36a13114c187b4c48800a66e87b3f3809ead998918b8d47721931d2f7bd3a442ae0806c26590565d872241f3bb20a101d644464b001e725c5e2d14bce43cf84088418746e70444d343af29b2d47f398c988b60f56a4632701303d3b45c16273b2f33a8407bafb101a6040a54362f7d872248f852c52c2cf2dad60e0268a1c530626e1ee09fd31a96f175cdc3f0933df5b82522ff9d0f8dab92659d7efb3da2f203101a9ae6267b48e0cade0ec6278c6f018dc3cfbda3634eac6b7f90b9e63ce9acaceaa459fdebdeab709ebfcd1ab572a38ad01b7dc7213fc9ab15b8c5d534b8e100c1b555279008ddaf25ad495efa2316dcab4abd039211e3d7bf664ebe4df4f3f8f84d8a09a9f88ace43d9325b9e667a66663957919d60a11a5056666a212e0ab6553df55cfd5f199b77d5abc162e4c177ec7984158b7e7637435cf46a06138b2ca44c6f0c38c3cca8b7e4779f95f1879de4bd00a4a0cbf3f41fcefdd78015ef87523966ecb4068b0918087183c3d7d38f96c334402126e1bdf8f85f3e955c9a55fc728f48c0f43efe9c3f0c5fa7dc82936a17b5c383a45042344cd0d70e5906e98ffcd1ae65f327d7032d208009a33b61f3e5abe039104e05c35a43b8626c7b373536242993f0a3de791af562323bf14a9f1e198d42f116fffb915874f96627caf4ea40f46f45181cf804ed1e8dd211c4f4d1b8aef361e20e0cacc7c47c6f7eeccfa74efa481ccdfe4fda5db319e009243f96558b6fd30ae1ada0d01f5ccd3e06bbed6e0cd490823cc3004b2f518b3cf8b1e12a7cb762b719e9274edd70bd675c0d34f3d01de518c37defb14d7ce9c8960de86050b5fc6ed0f3e816098b06ddf118c193d12c181063cf7d883b00676c1852307c0525a849efdd270dbcd37139af6c3c2c71f4640621a6ebd761a1cd60abcf4ec933874a2a85947cf5127666aa6905d5ae5fa9900fa0f1b835bafbb1c3f2dfe2fca8518e8adb9701813c0951d832c18f1dc6befe0d8a13df8f6af2df8df076fe0e1bbe62028b10f06748bc3f7bffc85f11326a0386b3fdef8e80bcc9bff346202646cde7504f31fba07f31eb81f7a9d0e01611178eca1c7d1293a08af3cbf00915d0760c62517412f59f0f0c30f23bfa4a24ea6e3cad82b5190411d29532e877c681d60dfe71e696d89ff1ae4c3e4615a71fdead63beec25f3fff88ab66df88c51f7f8061e3262232c80fdd070ec54b0b9ec4e373ef85461f8817df781f9907f6e0b12716c0ea90aa5da3367f0e77df6454e52191eb13fceba3774e1b0d8ef7836c3bcede9f4aefb2eb7972aef93d0781096d237bde809d47bec79e5db742763c0a877620ab9cc99997e1f08167101f310ce7ab8eafae4619fa5bd75f70dab5de9955fdb394d830f64a4d35b4add87b1cd1463f061c86768dc3f929556692ce91c1f8fcf68babfd9e9a6ce8e16a3de295c44017f6ede2feecbd1b26b8ffa6e0e41d8ff7b4f5eda400939b543f91bf76672192f4e12079e014e8507f9227a60d63df51bf9653efef6bbed6528d451c08e1e08d8110ed2768eeef6a054a24c6d878961d93aac8e53a44a85977cd83bf2d07f316bc4a008f01c78e1ec3edb7df88de3ffc8811c3d3f0c0cd3331f596475078681b36d94271d7dd77a3440ac2b18c1de8d92b15054e3da20c36acde958deb66ce42a73ee7612161d60fbff21f24778c6d666022b3fc33cac65bf3eecbea03d5c0b8fb0d19837ea94978f3443e464c9b0121ef1f9883fac268d242161df8e4dd37c8e7b7605c9a191b37acc3efcbd7e0b3bb1ec1272f3c84bd996548ed578a69975c8a3c9b01fd3bfae3863be621ac631fec4adf8665eb3661e1828b5822bb10672e5effe86fccbd7f2e324b65e4eedb84a85ea3307a706f7cf5e799f3b0d067257302041a194533f73a9c108fff0d8db3a8f98d1d2a3061203698e6f0d5202c2a893cdf3b31fd9a990827fb9ddd66833e3812fb3332b07dfb4efcb67439c65e7e037efaea334cbef6267422c2e381c379b50ab03582271f093770c51320ae8900e727107a3f0e57dd2fd743548b43a8d97025afcfaf570dbd0991bd317bfc6708f00fc4866db3b17df3186cdb34065b77cf45a79834ccbae00304f94736cbbd926342d0253a044f122030a27b07af8c3745edc333979fcf343dbee66bde93a0c8d663cf82b3782f61600e35a3ac4bb6e2690a52c8820491af4af474c68dcfe96421bf3a9d1f665c771b2e1e3b14665325cbe9917bec28761dca24fb9d0d3b76eec4a24f3f46afb15762506703befb7d250b05d66878fcb376150e65e540efa767e6d28e5d53101a6484cdd112f962e4330e8a0213971f8ca759e3b7c51fe28fcd47f1c2b34f80735858b4d2d021032089220bfb2d2e2a805374a2acbc8c8cc3004e925156928f65ab3761ce3d0fa3679738d80906d4f10263063abd81d591d1e9f5ec1a3412c3a5c9a1960caa9d951c562c5fb112052515f0d3ebea1c95c260c8ef0308f349d52bfd2fcb24c0c9d4ecc08459f038a5002f6f2503abb4e1a75fffc09c3befc2c7ff790737dd790f56fdf9139c9c0e0e9b1d5a9d9e0119d166c6f235ab61b69179d3fab4c22d4fef22e4ca0c384b0fb2e28555a61bd52b4cab51e95d7667d2f566f37ae6d71e09a370ff654bb061ff57c82edacdc2bebac60d415af25468047db3dd876a5abc1d7a4bcd47f4f0355ff3be0445b724bbaa86e7aa2ad9734a105e074300426d26ec238043e4ea0e97fce49d17f1cc33cfe2e107eec6af2b37233f390227f2b6233c320aab96af60e76cdff40f4a0bca602d2bc0ee3dfb71e8ef5f5058588c75eb36e0e8916c987576e4d90bb1b2e41072976cc5acab2e47a7289a70ac252278b833cae0d417c6fd8dc72edda36f7f0409167cf3eddf589d9e8d05ff9e874a4b1eb6efde0fb3311e336fbf1f453987f0e1678b1094d00dd32e9d84e54bfe64f3ba6eed6a4c1ed91ffb338e227dcb72844447e3df8fcfc7db6fbe8e0d3b8f62caf85158bd72357efb6d29ee79f831dc3d2b19afbef21ca25306a1a8cc4ce66f0d4e66e6d43932893d41c26c9c049c981c6afff5041cd031899eea882673203766a55a139b93bd3fb867235e79e5357cf0d147e0743aacdf928e98d41dc83c7200ab366dc7e5d32fc6aa654b59be9735cbfe444989b9f6752afb7423cd47f1360f7a973d74133c120d81d059ca708015356cfdf0e8d3d69537f398d46b2e7dcdd71ad168f2aac678e953e9d23362e45c09171618a553499d484e9213733b7198152e61e43601256a0e8ce62aff1e199f8807eebb0b6f2d9c8f13453533a54baf9e8df1e70f86ad2c0f8f3ff90c2c34531b0b7c05cb56518d2942313b519f03ea27aff1d7c259e13c27985aed25ec39452be69e238fd952d563824660669ebaf6594e356b3505c4040418194d5a2c16dfe6d446e85da6cf55a215b79d78bdbb8c7e84b8c6ef15e0a07e49cc84ab80586f840b7b55635261b220fde82f64d3c965ce68f0857bf95a3308c23c0c88d0a741e0fd1a846e5de191c1c1c148484868f6c884360de414d33253f33a05193f16c8d86cd2a08c162ae46c70639326361d91a003f51c1e9937f78ca1a8bf7cfd1996fdf2352a2a14e0c213c4412bc8f21254c73d4f13b99a7743e5c2a2cd79ce48dab58f533ead36cc293f84e4ac9fc36f73549ad5ebfd5a1584d70ed87cad8ade69249342ef1f9d00fc052d01253c01a20e66a23b679d5fb71dfa01e925f791ddb0826c52569f8ac4d79a8c4a388e66e913312ee55b24474d8153ac7fb835ddcc68286b666626287a8f88883867668e9976544757ea54729808b6872d64e3e214f5bcdc54b53f351111d043a5f488a8301c3f9e75466042fd2d5ca044f9b9444009b946100769c448e8371e82ad305b553a13c98f22165516931ced6f1fb9e5aefbb1e4fbcf702cbbb0751e361a672611f401b863ce2cbcf9c6db0d13422b2a6addddfb0c1c8a8ac24c1cc9ca6d96e1518d27a56551f4255b3b33bd43d52a73d8c5aca5843ec98714b4785b45e0556062b595a3cc54c0f63b51f2c1125f6b2a2c21123591ee59f0a7441dedc806e5acbf639d2b7f03ad73e2e96370eecc1f2d232f930d8b63592158464d0a4ca867631335269e66176a29e3f98669a364d227912609a3fd3355c0697354c535aa1a004eb53ecbcd68766a7813d0af5f6fecddbb17a9bd7a61efeedd48ecd205c5e5164c993c119bd62ec3ae43273072d42896ed7aebae0c4c9a7801aebeea0aacf9f39b56eb25cba304b9e1e084d362f4848b6025cf60f78e2d58bf6d37868c1c8f1e9da3f0e5e2c50889ea80b481fd7132e738789d1161fe3c36ecd88f7f5d731536affe1b272b1c28ca3986d8cec9c8cd3c84b0b88ee8dfb70ff66e2b85d618899e3d535178ec20566fdc86e1a327a0535c0876eed8893d7b0fd45f1b5023e0e5d06c6abfb368bf14e9b4882e7a9719bdf392c0e272bc39555e0526039267a0dc9c8752cb6166f4f2a9de7cad4984a69a5efcb4217094c6e380e52041ff0d939a2820a1e686c8c8c816d8083cfad9282b912bdb80ab16faa9417552933ac77e2df34a2831f5e29765159048b577a79eb774e59ca049b3ac16271a6a1d90545b935846aeb17acb29c2bfa88efecc91369e63e5f5649c4e991dcd5b565ec69c7b1fc4ea3f7ec5c2575ec443f7cfc5a8316311181c8af42d1bb0e0f997f1d6db1fe0cdb75fc573ff9e8f975f7b1dfbb7fe038db675c1b024376ead484e07194b183a2726e1f22b66e093cfbfc58c4b2fc4d67dc7f0ccfc041cb706e3d2618978f6edaff0c6abcfe0f9271fc7ab6fbe8513fbb6e3a1c79f4669690536ae5d8a99f7fc1bdfbcb31031297d4011676ed67eccbb6f01ca4eec4174ec74e83ff80af7dc743536edcec2a55327e1ca2b669f026feb06c09c1b8b28a1b0522b03130526736af87663d4102d4cefecd2829b865cf44e331a799b137b159844444462c6d8a7e0a2c773ad82a2af356ff32426876823ccccd9203f114a98540d6c30185ab47f34d576532ba3d6bc453761e392abaec129b274fd7ed308aede38d71df9b467dca407417d55e47a8fb421ac1b4b576ec4b34f3c8acd1bb6e0d1f98fe283f7dfc305178cc38bafbe86d753cfc380dea9f8eb976fb1e8eb25b8e1e65b30f3e557d079e048e8db41324541abc7c91319645c8fe3cd0f3ec725975c882dab7ec6b3ef2cc5f75fbd8dd2bd47f0fa2b2f60f341091b56fe82cfbffe03b36ebd15375efd1cdefae46be41fda8b59773c80dc8c745c7bfb5c7cfbe1ab30e93bc36834a020e710e63ff4089e7aed2da40d391fe9ebffc487dfedc4f34fddacdc9b8049d1263670c56895f54c357f12dfaa69eb19dfa7e982340a5d8a92d806e99d3b8ddedb827ac0ebe1c22c6582cec7547dadb917360d0ad3b7ad4eb9fc343835d2a1c15b809a3482fa54d4985c846be2c6a54896a7a5f2ac8941b18ada1264b1fd6939593230bb74ca9c35df38d6af5d0bf1fe5978f5d5d7f19fffbc81afbf588c98e401f8bfb7de44b8be025f6fda8619978e23b7b6e350ae098bbff802c93de261aab0b6f9b9131d360485c5e2ffde7e13219a72bcf8ca223cf2d05cbc3f7012d62dfb8d808c38b2b605e83534a5099138392b36ed3a8a8f3e7a1f6141129efbf8538c9b7a253e7ae70ddcffcc1b58bb6a25ba8db91676bb03151526e8fcf4909d76fcf9ebd7b8ffeebbf1ce88e9b0998e36ea1171820039a42764ad1f8482cdd57308b622bd3347dc46817117bd0bb524036c2abdf32abdb73d3f0a0d7ccdd77cad75f629577134a70cd1ee547d221a89e6ddb12967d8a898a9c5d354511313762730271ba886fd4d2bb4521f1096f9f40cda25aa7150365fa9cd485af512163955494e35266a6824a766bb55664446530c3c7919db316cf828949b4c183e7c04cacb4d78ecfe3b31a06f6f1c3eb81b65150eecd9b58d65dbbdfbd6d9e8919288ec1327505252daf6e7ce69c60dd7fd0bf171b1c8ca3880129305b7dd710cf151c1d8b173370cfe01e41c1b6874f7634f1c626be3d1fbeec0e8d12390b17f0f4ee49dc4e4f1a350515e8e959b46c14ce668cbe1d7201230b27add6698cd1578fcc1b970428bdd7bf76360da60ecd9bc590145f6fa6b04e8b2146401ce845e4054024dfd4d3e2d6f5d995b56e84a74884d7453e0eaa677f5144ef2a4d9da84170f7aa7c20559f99c0aa2da0a0dfb8089aff95a43361b5e50fc25e4869b1664f76be3c89ff34c7426bbd4af1c6a2ccbc51c7979260d71b29a525e166a90a45cb942758abd99ab543e95b8aa6dcd1587ebd16d5994a0e17470ca0e85c9ab7944da4ba3808457fd0e78b8900ac71cff64c1ce7840e3434e65064a68a3a044e5aad8b66dabfb8cb2728549da2b2bb073677a1b51e8d5355e81ad9d82fc3c76b85a41ee7176d05669a94a86575eee70a1196cddb28565f3a5cda48ebd429d238b5979b5d99408bab2b25268f4466cd9b4115bd7afc08a15abeaadd572d398ac548ac7f10de08a77b228af863f494ea577b151f4ee86eb325a9edec1a9cefbb202366aa477b9ea5caa4d66c0dcaea6763e33bdb7fa3eeb6335bee66bf5175ce82645699f6f82bea3c9242b9f9afb503938cf839cc3894aa7b53a3f18ab6551e63d242759c921c4e9ddf94a94801989399372eea817eeb48d438603ba81d1e0e28cedca719dcd0d8d0424a08d023051d6b08d9f2713267384991266e417a6571c166bd24435e8661a96a04fa35e22302412bd7a76abb7d4ef0d705237db6f788b8989414870708d6087de917ad770866820a01b639a4e9b197f2ffd037f2d5f45c06f63c9d509ae3003c8da05ad686ef87c72324b3ea6d0bb175974bde99d6afd78f8e9fde0cfeb6ad6ac309ad6b3e82a85dec9af39d94def6e40227bd7e3d3074c7ccdd7eabb4f118eed1f150459cbb11a325293c9a7a6e4caa792275ffd7b994795bfbf50ed38f57c89262523e7070584c04824d0aacd8c73c32ace95b4591659a647064464c294f920723a3dfc99e4756acf24e6d54f98799728e8820d5500a67de84b20c80a40a119dbf404608912993f49ab1871a83a5c72454fd56ed2a1df1802021160f053d7078fe0d010f677485804fcfde8bcea30ef914791d42506d4dfb943f240dc7fcfcdea396150fd22995f464888c2b843d56b50ac171d1d03bdb66515dbae30798d46530730911a0d4e5cf7387d0e152d00d3ad842681a3455b75510ca8d448120dd4502ad09a5e5f6021b10d0163825620f41e08894cbfc873aa79afa9ecd6f3a8eb7bbec1f44ecf0b090c839fd6a0fea60abc28efb58ae68bd23bab9943c1971fb90d597b421059878636010b7ca61c5ff3b5fa6e748461d9ca2dcc8cc14b0ac36a5ee3057fe6cdbf9a14c39d026cb81ab7665a33a5d06c026fd483337bfaa648aab41a4ccea2b95f2c84516b94aabb821142e22510bbf683bceb577039ebc8789dd52cdc4c8a1434b07f9b5e2560b5176ce24736712d0fde4467c289d91dc26129afc067153668642534d9566a533149ed839afbc4428c4aeb091d01370fcf7b04f73dfd122a4fecc4d22d0771d5a597008e4a3c3eff49680322f0caebefa2bce004feefd33f50545482f3464ec2bcbb6e405ed601fcdf27dfe1a5575f80c36a83b3d28c80d008bcf1cc23e836e232f4ef1c8a179f7b167b8e9e68d9b54dc649c395ebabf9a2d16b52336484e5d4845e4c0357b41f7052936019792a0259735293a2a65cf05b52c3b0281815cf009c4e1dbb44e8dc5a5ec9c2997995f6a4d3a0695316bdd0087ae751b3294701791c1122f22de5346702386b952947492fefa2770ba3798e81350250b4a1d0749f0e676c67c83bbe075fb0855c478437d3d3b50960925f9a81bd59cb515a91cdece2912189e8d56902828dd13e6ee86b6d49d0268cc3e926f5d337065e3d4daaf677f5cdc553149451bdcaad81a95525d9a62660a88ac25124244f4021a83563aabe67f7624e6c8a273fc7b42012b393f33413264ba2a41861147f10837a77a77a5d2d730195790242f411409f3140e666724dc769cea0b286dc4f2740ac544c5b684f39881c32f3396092279148ff315ba0677e43d4a4e350b2dcd279a86348b46cc1c247ef41af0b6fc6b5575e0e8db302f7cf7b02ef2ffe19cfde7b0dba4fbe1333afbf1a85394731efee5bf0e2fb8b3178701f949b9db87ef6cdb05614213e3119dd5353917b281dfffb652bae1cdf159fff5a8621c307a188f421c05febe64f2d9566dd75cd53afcd0b4ab24187fdf4fc2acd014ad875d47bb2abd98a81936b3db41d67d6c0d435179ea0a6aaf24bede33fed730248c433d03bafea7b1457e9dae89d3b45e3e4f9ad3fcd6ec640822af9c01585e382542e0043af5f37bd3b595f785ed17c3170c77c646caabf89419d13a5982333e9a8a1d44e632ca1f7d1c081e50abd7b59d2f03a3059bfef0bfcbce111982c25d0eb53984dcf6edf43c0492f5c39f275567df8d485ccabaa37fab7c32941af155aadbf9ef7f76c368708ad86aff1bb5af7475159785a35a70525109b532460d7a7c86a9fb8458d7da1c9021b1346cb59c91574e4f7412c05bbe4a8a842442ce991a06e681aa60b51c89767f662a52ab0a86c52ea6625733a063424b2b98a9576b7842653060c6adaf123d7a191204e25653c0531b28ef49d6c6419df43fe602d04f331c2c49de41b8d729e7bd326d7a5d957db612a4d599580655e79623b4b2d6c2e683a6ed99dc8aa6ec6eb24b43a68e87074efd505e92bff4078e744986d4ee4e61761e2e4a9881fd81d7bd72d4562ef2198386132a2837458935b88b83e1d90753c13c151123e78ff2b588550949717c36e1371b2201f0e490f7f7f03befbf1170c1ff22ceeb9f95fb8f591175ab7fe8b1ad9de5c00a459bba616daf476ca790656682662be71f4ae389aeb0900a4a63b0724a745051e4a7d6885de3995deb91ae85d0df33d95de69014b661c531cf56559cbd637bd978c62e5776ae65f817c2713408d9d9f423ef83304d361b500aa4b103a0781c9fe136bf0f5aa5ba0d50f44f7de9f6048d74130db1dd87e780532331ec1e7cb6fc5bd53ff4064701776be8520f747bf5e8d17ae1cc5c0c889221356ed3f81ebce4f6d95fe1ece2fc5276bf660c18ce1a77df7e53ffb31a17727c4850654fbbccc62c3eeec620c4f8e3ded37abf61d879f4e83949850e49799d13d2e1c9faddd8b5bc6f4f171f976d8385519a2f3d7c04ea46234383d8022cd504d07336cc3e5bb21a99298aba0b7cbae4c1dd804e660c90e976dd82562333f362a19894cbf22b2ec8e0e28f95da82dd9a46e3e8afba1ace67ce424f2bf3593e0a423cc978445f8b0df561333dd9bb1dc0e1f944c84083acd1c35cb5126c04a199019e0d59498f51894a0d1a1ffa06158b7ec277cb6f8471c3c96cd9ec0d3f31fc29c5b6ec0fef57fe0c34fbf445eb9885ebdfbe2e3b75fc4cacd19387634019bb6efc79cdb6e4352974ef875e96a7c957f08993965f8a5c48002c227f276f388edd81d9b56fc86efbff9f2342d4563408acbcfa3be60835e5f74b6bda7cbc2d89b05a0d56cfe6cc8afa910a23168e0a87028e0a0a12a586a3aa589d708fd728c2625751ff0a477c14da38c65337a176aa17727d3ad3080c23999a0afd03a75862d47556e148df27c590a58d277eb217095b24aef5034a7e76a11bff5fbfe47d0621406f67f0f61c13d90182aa192cc91459c8650ff406cdf310d2bd33fc4e5239e61b34591dcd18252b7facf40987ac7f020c6fcb71ccd47467e09f41a0d668decc93efb62fd3e841afd70c5906e6e4d063de7c74d07111b16844189d1d069041ccc2b65a0b3677c38bedd780021e437d712b0b33fbb087bc8919957826943bbb3688543e4ef8f57ef869d484b378eee0d0daf2c8e0e6181f0d76bb1f1701e4e965bb037331f33c7f6c1ba833978f1bbf5f8bf5b2f8485489823bb77c0f1a2729454d8104f408c46e0f13f0246966e3b8c57678d435254880a82483f371e44747820ae1d9e8aed59050cbcec389c8bc9695dd13b2112bed6363526f64a67e32ce332af02800a4573023fb7b6a42a51815c956c89933df65659a9c0ebda5aa9b73dd9a4e846a3585a38b74d597180a3125689aa1de0d5fc8ff463f21b590935663a124ecdbf724a8e03cff4fa520d3b98a0d3c21060444571695b7c504a417659740760f2aa0326cf221bea2729ae5afa33362dff0dd9854af8ebb265cbd86b7921a1f9e79e719ff7e3b78bf0a3c7efd6aecf67af6fbefa92fbb323ea6b7e8ef27a8cfeb77337feac0560345acaafaf0644469b4ec5dd7c9a1c97536ec3c10e338b48d495c8a96ada1a081459f9070a1e4c4c58504c2b9287b68e533557b2fb6fd56ecabead4eef740d8b84de39d56787537dc62425150033d9942ae64a17bdb3b03d45e0a08ee00463b1dd41891696cecd5a3974b2b34fa62326ea628c4aee01a386c873e4b3003287231288c4103616878f8ec1eea3bf63ead0c7a1d5289eef5aa1aacb5945262cdeb00f31c1feb8e9c3a578e9ea914ce3d03526045f1250d2353a04bfef388c62b315b75fd00f15563b1efc72356613d0f1d5a603385e5c8e04025016febc11efde309e3d90a8207f7cb3e120c2020c040ce463f7f1025c39b81be691df2d98310cbbc8fba90418fcb1f308b9af11970eeccafaf2e99adde8121984e77ede80ae51c1e84c80ca733f6dc0c5fdbb2238c00f4602a216fcf80f03263b8e156067e649c4126022106013e2af27f7f367c0e7e3d5bbd02d3614f72f5a859b46f6c2da8c1cbcb5743b8e9c2c456ea91997f64bc4fc6fd7e1c77ba77a259cd0d7ead4ef3227d9da777ba0768737cfcdc04efeb69f59a073ef4a3539e6b96adf28ff496e3821574517786ca4f269c95e0944a252b924a9dae2ead585650f3aaea9f15a01862023ac25656e68d596fc50648f1a4ad450e5daef1bb21dfff0f597756a2858223a45b456c11dc7005153f7ce56f9dd595eba8c73e7eb50128c354a9850e99d832b93b3eca1cd3ab3a74c757f145b95af49b3d37ba107913b6ba477f68dfb33d564cc794f6be2c5b8209911a84d0ec4ae020956a7e4ae0e5a6695b0b7c04e26d71fa264abb660a83b06d594d0a623104faf116017458cef958019835398c9645f7611011445d00b02fa264432ad0a6d05a64a06042e494bc6d5435399b68326fd9939221523bac5e39f8c5c1c26d24f805e4076b10906ad06b347f5c1b4f3ba21d8a0c39eec620ce91a8bab8674c7e81e1d91575a55969d9a96683f230808b967e2405c33a21701420e72ef00a4768e428ff87056d1936d84547d4c5008d59650ff922e9121484b8925e74430ff92ed04b4244605610a01400f4f390f9b0ee7308dcf6d045c5d4d4015fd8dc357d2dbd74edbb16a3b4e831375721dbab17a4aa50d656a0e220c146666b31d50521344b5f5196c5eaee731679ca0d66b51a45a5f8e86b6024e55cec2ab19809b20e9c95c95b0d1f27e40cd4fef3551837c2e2658a3aa62a3210266d30e14592c34988b810e2d396c9206451585b0551e40785012f95cab82120e278a2af0e1f27466a6c929b5c049364fcfda48659576841170707ef73838c8779d09d34f8a52f20350734b88bf0e2ffcbc919963e8f5448276fdf54a329aef361d40a89f160eaad222bfa560e0fd15e9f8dfea3db011e044cd2c2e8755aa7df154615b1d4e762d7690cf4d561bfb2c22d01f3bb30a988947afe1f1de5fdbf1dedf3bd93914a05492733a8419b124fd28d61ecc86d5eec4e0a4181c23e3fc62ed1e3cf9fd3a8cec9ec0fa4aef47c76bb5fb4089afb5068d7235fe5dafdf92f54aedefcc67e35c53eda9436673c02b29ef356a6900adac03efcbd2d0561e13e3be5aa3015ac2031aecb3e38aae53fd52392dd7ce67c3050794e83f17cd735ea05faf82f79e5d26a2a4e47794e57d4ac0088f2d793c761652359203278fbf8e4aeb0e8cec7b1361ca0a215347d1472e19c26c611420244505e1d6b17dd199be8eebcfcef9d7b01e18961c8727a70d672692b24a2bc203956ab154d3f0fc9523d1352614d1c1fe30e8b418db330117f6e9ccbe7ff1ea514ca3327b446f4c1990c41c71bbc786c2425e5fbe662452e3c370e7f801ec5c6ace99a8fe8eb67b26a6319f913b270c60e6207adc7de140024c0c78feaa910ce82cbc6204ec04e03c7ed950d6cf713d3b626c6a025262c398668402a1fb26a591be19f1d6f563999fccd8d48eb8794c1f5c3bbc077ac58793b17378f4d2f398b6c5d77cada525cac66a4c6892324165c6f516d66a4ecfd04ee78e08528446351a81990a68c075404a6f5cf2f69fd00526b511ae7c0e008f7a806f3be1110e9bad11cc5076a729ac9eb4b0ddaeda3af781d66a5e85eee7a7cec2fee3abb07bef9dc82fdc8480d091ccf65b56f80b8a8b7fc5909e77a35f97c9d516dac5fd136bbcd6c0ce510ad8e910e1fe6ce6c85ea79db772df71fcb3278b39bd4e4b4b46140128ae161f16885b2fe8e77e4fb51dfd3a4661a847440dd566d096121356edbad49196b6b42e55b957862429bf3b4ffd0d6d774f1a5863ff2948f16c34bae7b60903dceffb748c72ff4d8197aff95a5b6ecc85af41f94d3cf326b4a76c6db5efef4e87e8665bf4c3cab222fcbc79291c8e0aafb26bc59f42526a0fa8fed3eda2a400cd4eeba783e870421645f0f2e97e16d553929dd96f44762148a7dc606307fb29a7147f64d1380ec903a840cd178476543f4a6e1380a44d0013a35f086e9cf011966eef8d4dfbbf406eee678a036a585f5c3afc0d8ce97dab5b5bd25c8dfaa1500d49809faece736f1bd7d7c7617ccdd75aa5f14ab141b641d69101b7c5f95ff3e60b612eafd4f935371bb64f177abd7f553f551d3555676d5e8d306c8bb94bdc3da6a674359c5bae83bdb674ad5c4e4d19cf7122040d0fad5603abc5ee75a67e3634af1b3b030c619836ec690c4fbd0ea5e65cf6b8a382bb2034a043cbddb31ea0c4d77cad298ca32d95106f2f121b8d6bf0d30ab0491c9c5e74a36a6ea6c2a96e0822a78596a3a9fd253485f73757ffe83ad5e9b4b0db1ca7393bb7cd252243b43baa4facc75c34344f4bf3ac93aa6445d5936b7a59eba77685170425b24e96db9512d2ebc0c46a1161b35911a84d44484832fb4c949c282fb5c0b7b5b701264b6b744af66ae195673ba8080e0e66a9b89b24d1b2048e728bf5b17ecc89ab418ef4e246e9ca5259635302750302fc2155da218a34ac51384322f166de08478543386a83ed5845b3e7bce4d44477b460201dbf541b98ad27e8502d30701777935d75617977a102f90c2049c9d9a1dccb6e77b4afcad0a823549d25c86bada52fb35a3f344790d32193c3e6d13f2fcfa947ea13b91d9a46bd0a4c8e671fc1c6232fc38afc765605ecdc802494c28d9a04f408bf095ac148f8ecd90f4e6821b39c9c1ca4a4a4106952074fab757d56a88247548bf52912dd697b28cf37882179fe4e7249417589ea681b921265ce347d9492bb926355791ca7411320bfc454d575fa2349cbea89a0056df5cc4f2081f4ae98e680b5a81b79f3ad7577cf259939c1361970d2ecc232cb19caaa471314cdb205f3f46f1ab62ad553db22b73f93835c970643949850d15ae9eaddc90e4feb9fdc26268b99e9da99b6c4ebc064cfb15f70c2fa2e21481d594ff6b6f2387d90447d15781d0a6c76f44c1a8fa4e88bcf7abb292b7c4580494646060a0b0b111717577daba90399709c87b424d7bd9a5da9b55d2ae8face6ffd55d54d4b61de9c8d879a4c5f564c36674ede4dbfa510c609ad36928cc20ad151d262bb8340ee257d9e478b01b0a837a6dd68e5a96a489a758a3d44d26791772a7a12895740334f4b19f0cd5ef3ba3dd2b1af55d1bc6b8f694ffbb757814988a10bccc7c360978a29d085cf5fa82d2d6aaa15b523c02f1e9c3d1c15263333b19dedcde170c066b3c16030549f0fad9a97c35afba6cf6b3544289698873e8fbad31ad556d5b53e4cacbecfd09de1d1cb1a4991dcde426eefc781e5b375d421ea2969f005064a64b4ecba73720eb2d635d0d0eaace439f3ce9ad3ecb719ad81ccb3d4e1c345193dc9ec7cab91514a0089e2b8c2b5e17eb70ec0a3c2454d0cfa5c6b4d09f73fa781c980d4c9f0d37ecf9c5e7d28b74d2e6d1875514065144e988f9f33c41c131383d0d0d0ea9f8b4a6c22b330e8342c719668adce5e45eab129b78dc2761a9d007d880073819d651c6e69465b958284ab39adbb5c55c3a77ed773b0ff45a9b855d6b952f48c2648e294c266ad5959d5ed7f0377de17f90ca7d24c9482e8c0735df518d9311e9ae5c7f08e00568c10725b131eaa00b156cbb38cd792d4bad4d11873697bbe6f431acd58ce927d3adb9696cdabc0444736cf7e3d47f9f8bfafb5fd2629060645652ed7ecc42979c7c25cd3064813fa592b6556284ce17852cb77ca5332ad454123d7d335506acd59a4ae095ef49fa2ae342e875bae5eee001444f15854ca63bf548a9f38913d674ee2da9c295c01c50a60a7114034e19cdddebae0a9cd471b790d3272080934c262b7c35461435b72a4f0e546f6355f6be8466755aa72b61577ed9a243299268d32714c8a6e0d9f03776d312211f344a2971c127c1e630d5853ae2ad075449330c50a2d97c1ebf17eb11528aca43644f0b28300661aa12334b94860b38ecbd517025a2d666bab8392b64697ad0d3d6aa052176464b255418949ad3cceb5a928585f5e735ff3b5fa2b4d14a9162e426e23924f2d05c8e8462311699a0113b9854da5aebc09bc3a3b3ecb6c83409dc4a9a844e6eac4731ccf4323d9d9e64d4b5370d46d97fc4c90abb47a6d5242e704dfc3ae2f63e6f96622ca9aeb3cb883d6695a044ecdc7d2869a4f63e26bbed6405aafb724c42905dc943ca65c13f21bb83617a95660529384465366bbd43a2daedd51434f25160520b5cbe75af5806b7f4e2de1374079904400c974a3065ac989c5957500641a76cc9c83d5aab8ccab87838367d547eb1826e706ad7461f21a1e925d6a3dbae1b8aa14f8be0c112dac6da9232a90fea3f982e4b6e732ed0326bee66bcd47ebd5898b32e98058c8a189e00bf70395456774a9e4eae1a35133a3926aefab5cb509b5ce86da3ed12607419d27f18c73df12c044e295d4e6269d040dadb152796633982c7b78eab8cd36cc51a65ecb97410315b432f0da6a74a3e4d49055931f5befa2cfffc31bc0443e8558db1ad9fa8089aff95a0b35e685e217013ea107c4b27c7095c575321cb7142d43cdf6a164977465eb6ccbad3eb556e877aea32da14d4e66594c58648e5c83a3b00b34b644bf79a7cc56cbd212654b569ebadc6263955d613f7498b6d603aceef5ab1677f465f6f6b576014c5c79329abb709faff99a77e470b2f116ef83b8f120011aceba376235536b55d55445be95eb91acadad4879674a16c7091ae80343a10b0a873e381cf64a0b9c9515deefb8e00799f7071c25ccf426cba727a56f494746a6b5e0092c9295306556dba435d6a7ec61d66939b80a41e0982b8372706c7ea5b32c27d2b99a2be5ac05264ed18e75fbfe871d193fa1b8fc182b171d1d9682c1ddaec2c0ae537d4fc8d7da6d630e8d9212c1239d3133058d9e5152ccb36a279c88eb3581e81a3212ff31ef43b6258bf02db1ceccd28ccdf0ca06c99c735b79a3ac2d7be9a0b401b874e238a4c56810e22884aeb21cb6f1232187c4e2b81882d5fb73f0ed0fbf22ff647e2b80c5d39931cf6b216883e1709493fdc7d9eaf6280a106491074710290baa91eab2e3b9aa2f9ffaf7e90b82a7e083963e90550024c9eeb5d892a3f40f0c40eff323d0b1870ec1113c341a3b01235a227c7684e808445ea60587b65a71383d1fad9a33a6252118b59019b490ec2238a7d4fef2efb6219f1faf0213bba3128b56dd8fcdfbde833170143a445f0a87e8c0a1dcdfb127f332e4142fc494c10f57fbcdc6c379282c332322c81fe7758d659fed3a5e808ee14108f6d7b74abf4f149ba0d70888247d70ddbf734430020d6da76a716ea91915563b9263426b0684442a4b3f56887e9d224fa98ae96bcdc7a9ebdafea9646e6701bdb2e0cfa267242a318b22ee1e7019062ef80f42eeb815771f3a424331548629d7baa908817a7016270b151639ef6f8ba16161787ade9db8a29b01817b7f80357d13442b198143190ea7057a060197f4bd1c775cf4145efc6e0d3ef96c51ab4bb292a382f4c9a2822bb44ece976a0056f115a139ae5892b47a3088fad6a863208482630abea80b36195b55ba9d9619649f119d70fe65c1088db64174d24352352454a3a62138a91c71495af41b15828c1d61f87bd131941694b76f52979568287d6800ecc5643d39259f736f53409e376fbee1c0626c24a024a6c34348edff3da60c7f0ae3cf7b0eddfbfd82e0d0abf1d7d6c7b0efc42af7f95687880716adc0beec427cb97e2f6e787f09cc3607b20a4decf554723b53b6cb577fdf82e3c5d589a1a6f3c553b214d2f75faedf8725bb32dd9f1d254465f128c72dd6b1113a6b71f83af5fe8e7a3a86d5d4efe28a4a6497549cb6fda41f3b890f56a433307238bfd42d1c8a52dd63f7b5666749eaf321cc337e183061a1f24adabbe54efcf37b3a7e28cd64545ae5f0581bc621bb60ef50887a816903bc1d98d9a55347fcfcde42dce2bf15d2e24750bc73132a2bd574f40490d849076d845f561401457f7f83a85fe7e0dde9c978e189479b152853bf1777e8a5eaec5993c3a7ecf13c5a9d9978dcaf3ec5199989903e6fa18ea075f295315a8f2957f54648a8527dd8c9b5a42cca63f495dd31e5d600048494c262b2c0525108879d661f8e22cfa10364c9006b6531cce5e5b0dbcde836c8826b1ee94c804a6493c0675b91432cb925106d4e162dd51ceba8dafa6dc126680568b46d279cdbab1a936d193f222a740cc6a6cd4780ce80509d1381828c810909480c5e88a5abb763f9f6f7d02dfe7cb2b005c6d0e3428d7860ca79ecf7f77dbe023f6c39c436324acc94e1ee3e5188a903931164d0e1ab0dfbd9a27d70f220eccb29c67f57ec84d14f872b8674c7fb2b7621aba81c2f5d3d0a3a8dc018f667abf7c04aeef1f8d421f82723176b0f9c400161ee7dbbc4e0de0b07e2855f37e1d8c952a4671763ee4569ee71e49073280f7ffbafed384eae793caf04d78de98bcc82328cebd91161017ef868e52edc7e417fbcfee75694575831a97f120481c7f79b0fa26fc728748a08c2e235bb90d2211273497f17addb873d59f9880809c0dd1307b03e7ebe762fa2828d98d0bb139ef9e11fdc30a637de5f9e8e93a515f8d7885e8824f7796ff94e74080bc47949b128abb423bfcc8cd708082bb7da71dfa434fcb13313ff23e7244587a0b0c20281e7c83c1dc0df3b8954aee1f1d82543b035331fff1cca4141b1090393e3c8fd07fa30440b73245ee307a9635fe0c466b21109f8286b153e7f77079cb6e3d0f2b49e8b7ce6aca034a1dac693e07432242d61418ed3fd245abab9b413e1e1e1f8e4a5f918b8f74d14ecdc0d2ee0947044975240549446f47b9b998095cf9ec47d33ee41c54373b1e0f9979b07faa9ceaad45846c3985d7cb97ae6760a0d45f53cae4ad3d086d78de0a7558407b3a376950a5d2fe1fed0cd1a0e7ecd510872255b432db32a380c9bd219e74fd5a0d26482d35949f6b700c4c6df8e90f03108084841b02180ec552760aed88193b9dfc254be8e809760044754e0b23be3f0c5421b4a4e365c73d2567c3b682f04995783e138b4271395e414abb212b481e9f49ac6846e12e51539f00f3a0ff1c101480e539cfc34440ae81126233aa403f4fe7d905bb493f9a1546923804a357b2035e550b3cae6237928274cf8efdd99880a326028f9fc812f56228130e8bc12139efb7903de5bb613ff9e360c4f90a36fc748a47589c2bf86a532864f5b87f0200c4d89c74902327edb7104fbb38b50e970e2d5ebc761cdc16cfc4a3edb9b5d8817fe359a30f560d89d558b8e327153a50dcbf71e478fb8083c4ceef1cdc6fd08f2d7e3d7ed47f0e7ae2c18f53a7cb6760ff610009414138a57fed882cd8773719020ec698392c96fb3c8a6a9c135c37b90fb14e18d25dbd08300966f361ec4868c3c769f8e11c1f871eb21f23e17c7c8b863084819d2350ee1e43e1fad4c4781c94ae6e018ae19da0339a5666c25f3126af463e3121d22feb76e2f8612a0318e80a261e475f5bee3d89e55802f09807bf1da31e477a90c7c6d24fda26bf39599e3c85c64c2720e656b6c5d4ecebb035539f321703fcf037f68253849006fcd81cdb6171257c1d67c7d2a9753664bf361b8a279a8a4d56ad224a7a6be27edf1fb6fc790dc1f504c4149e0a9008ad0785c2284f060b8d39dc80a4091fd80a21fdfc083236371c1d83167648220820a4dd8457d727865066b655a9e8c8bd3f1d004686b642ab20a485a1c9470b5fcdd80e6ac74b0a3ae66d95f82efa6be87e2ec0a387989f92fb5444b4889c2c8e94658cd14949860f0ef8e1e7d162131e53904858e25c2590c3a85862238b83ba2e36621b5df2274e8348f00c74a582d0e84449563fcf59dc832d29c8a761587eaf6226aa8eb4dae230fce991832e7c19acf18c1a65ecacf5f0b9d5e6862bfa1d0631bc1e35e35e5d03a0a36871ddb724494543a1928d11009fe84c989f47c2b4449a9fa590dd99119f4d369c8ef44fcb82503698931eac62213266cc08cc1dda02560c3ea90101f1a80d9a3fae09201c930596de81215c2fc428c44daa0eb23405f75ed170943a6cc3c3ac4880aab8315379ad0ab33c2030d4cfb5268aa4444a03ff95b8f18728ed363b1d0ec8bf45d44801fc6a426209a0006bb2891fb2611269f43c0c5015c39b41bf2cacc4ce3d1a343041e9f3a94f5e1b2b4ae0821c0e2e129e76150521c1efa7235035b81062d3a1120f2ec15e723353e8cdde7fc6e7104103999b6e4e6317d19e8f9757b063a9171590978b011b074619fceac7f744668bf3f5db3073b0818a2c0cb4cc6e5afd7b2b5e7a7d5404bfa4d015500994f0a6092a34398494a43181a1d3b1d2f9d2ba72fd7400bed628a78427d0ca4b2e390f3b6422280448483ac73ba46b52c5db4245749f267947a284ba539301c8ab74a6dcea82d42cb6a62b5f3070ec0353dfc50bcfe0fa609a9b6d1d17110f0a1894c8610d90b2c1168f52cd94a6af6658fe1c19953a1d7e96a954d75e4d040655af5f0a771310a5a1dda69f22ed076650e86fbb5117a364939e4ba9471f43cabfa91d83221e7bca0c5b04b2309a820a0c46e85deaf2bbaf77a1f41c183c9de514e18ab09617e32f48284101dd9a71cc504346bd029f11174e8fc0024d184ca0a11497d9c48ee17537daea843784c30b49da3db459a72c91d8e2d3550bb43ab979355cdf1a769536b4525b40e1659ff0e224037748fa6358b743a4d9d1ad0fa80a9b30a98d0e89bc8d0649414ff09bb3d9b99582c7699305720903043b369172acad722a9c348c24015a756aaddb0589db8f3a3a5b8e98325184816eb053d3b31602010661a62d4b3074fcd13b75fd0174b7765e2cff42384c1fae192fe49b8fe9ddf70fb7f9762d7f1424c26ef9ff969030321b40590fb1fcd2b46b1c5ca983465e01ad5b6471d5d27f5ed8c12b315f7ff6f19361fce6320c8d5a8d32d0554f4556106caf502c9111f16487eaf412461f2b346f482c9e6c0f21d877128af840019030c3a457afb696b060e1f2f80431431b04b340121f158b2ed1056ee3bee01e4380ced1a8f7c93058312a3d97c1413c07420bf94012efa3e5875c0a5c0c348c640fb9053588e13a515ac7f3de2c29809eb8bf5fb881463601a14ea207b0799d3798b57e14602e4a2c8b5686a71da42fd753ee7d8166350922b9d0404ab853077eafac8b24f11fa8884a031b837a8c6008cd654714bea4e72d1c4710838f05355ae2fd983891252132262c9aea807e71f063e44f9ccf53d3b97908339cb8a34bf93e8d77f40ad7bb29da7d94f45e6e4cb31cd53fdbc4579ea602a7a572ce4e4aa0e7172fbd106d4d6c2a2fd9090e284fdffd9fb0ec038aa6bed6f66b6ab37cb72932df7868d0db6b129a6f71202a45002a106d213788424fc8f160269a4120860caa32410c0149be6066e18775beeb624ab5b5ddabe53fe7beeccac56d24a96e49556b2f7daa3dd9d9d9db9f59cef9c7b8a5fe52ab191a3ef85dd358109878d5c804bb5494c0894b8716f3693ee1d92c404ac2013de5a3074e4f79092760603271e368e7e4c9ee7e2a0a5cd3c6ef6426634eb78b2786bcfece9b3684fe2764066d8806ec0532edc2821a1c7e9911406646459e916fd88c75699d0fea1575d7595b078f16273e508067831354c52948338abc578350fe28e76e3d53ce89ae4152b563cb170e1420e8bb71efa00cf2ebd1ca372bf8df9b31e4275200f5662f0c25e7cb6fec7f007f7e2c7577d8691d9d3c2f5237040527e9acb11f6c221299f983f6daf1073960ca64a9a074292f93969bcf2258c41537b47b3cf54c8fe228b31670236540e30b0401a1362ea14f69998336915c8b096983c19a3161d69c4c8ac54fe1babf13b7abe833ddfcf9eef300c8868bbc9fc0dddcb1e71fe704d13f287a4411274724a75266d4709bbf788ec54b80cb0b2bfb29e812d47d8fbc7d4189111b0cb40bb64d342f5a5be200041cf73b2efe89532ccd277871870213b1727ab8f9d6b93640ec8a87e4ee33ed4f63406ec0840511dcdf651db09a49da8d064dbb66d983973664cef69b7db3165ca1414161632501e6c959a0533b684c643d87302a5e99c7da0c749e09b524c727effaff763deb687c1c3931814829a21d8485be28025ef340876176face6ad47a8722db7882580c29b47ca8c00e09a75365e09cdc50f7ffddb4e9f79255b736e76f3156cae6baad21d19936f39695d7937f50b2065fdc51835375a975568835c2139f3ac91b8e85627fc9e26389c933167ee3b0c8830c18e81461ba3212e2bd1127dab9ee6823fa4c1c7e81dd1284d4cc1fe92d7b17be79db0dad2a1ca7978edb787515d526d306c3dd8206790a4511be47dd5e53aa6ed498ee035689db881478f3cdc5d1fadc8fb98e0e3e8d75e73cd351aa355bfd8bd7bf75ee354d0380211efb95dbb71c8c641ef9588436d2786f063c48811dadebd7b3597ab95cfc5d5f87566c165b87ceeeff1d1c607f0e6275f2235e5641e12baa9690d638622ae3be32f6d400997e019a3a623b2988cdcd94e354546a091850c4c230b6db944967191aeb5115b76c4c0a910a39e9097d9a11de6f35d11cf8ffc4de4bda88e1387677564560c304c18d6f6fcf828cf22f011f91c02496d54740658b24600a782dcf436d71058a1a3b3b63ba3b42351faae447a6f6a11e6978890ac630d4a0cbd0c0f872e68aaeeb2aa1ecbfd1829658023cd5f0dc587b0119d357f06a4f49111ea6725cc5d0467066c632f871e7955835cbd13a1b2127dbdd46ec1e859df6e5b6123a787439470127b56400ba09e090f6a48ee7e3ff701b8eb69987a8d83531b03a521c8dd40257d6f8fd85516da6e6c0bd87dac0f485bec434afa1c48920b435c0aec92856f43aa11518be9d5c9808acb2672c722774885cb350516eb70a88a1b3667136c0e4f9b9aa9917cb75d67988cde0ceca70e70e4d2e51cd122329633344601f7143dc9108ffecc7385dbf55c495a50ef0bd18857a41d0500b5ef4244b1591325c9d0f8ab71b735897b80b58b4ff9190a86cdc58aadcfa0bc660bf7be993bf13a9c33e34e8c68074a1225518e7368c2050bed1898444f98916a610cc220429e1ed0f368529f0223d44a63352846190717ec9e72d936888e0c88ce544677db196bf267b3c36283d27018724549ab50d0dcc80087d7f8a0b46554ecd907241975de100f18d6b34ccfb1efcf1e8346d6086f8b2f824bf4003f10088ab91bbfd62309ba63fb43bab9b51a4452d278b883220ed47b3036c3c185a3f6f7a4f123dd40a35f4671931fa2350f365b2e02be467e0f2d222aecd19a6af67d6719b6075b515b1b06858f35ad2b8a0a2c71a15d0968703021f2f47973b0fae3cfe1f3fa0c4d60dba9dd21a16758e03634575ab4c18eaf26714001132a13879dce0f13f70948d834244aa2f439145254ccb4a72253b4e17d5f4db769521b49ac0d4811b86759ab08c6ae65d822b86f256ce34e87e04ceb6814288a50eb8a103cb45da7caa6069bb6dac508eb58ad957007d93deadc4146bc44bee9a5881a065598cd1e0212ad0de3e91bc61113451243a6aaea07296a3d2195818e00c6a43bb866a48d8d339b332d4119458d01c66a698c65f67cb9757fa1370c5d55073d30e1436c7adab0be9cebd270d0a7a15c63fd4a1e55a4395105d853523062d470f63e62dd7533ebb964b572b4a704431d1eaea95adfca428305985040c2c315fbe0f1d519f971cc70d16a22ef403f534a4970c126a6714fa813bd646767233d3dbdef09515c09a9c6351c85aa0f0ed9d7758c946e82142d1480963e5cb7289311b64ad37c40e8f06ad8265dd6f62164ef2107112addae2b45a408f54bd638461f0474401c06931345950700e43c5e13065f4238c3d3aa3b744eb448ac2ff46df9de8ed3519f41204f2055be829ea23c5174f1907e82e0404bf356be25418e03eea002bfac22d92675d85670075504c9f6cec67ed3b203c140a9eefe2da5f1c8b06157a21e68ef063bcf88c49ec93601bf98a6e2e59d225ef3aa90f8b8b37e64f3bef1d0612cfaf30b6d261335dd0c0fa0284aa7f7578372384aad760c60f9b80626dbf7adc086cafba14975ba219896704bedffd5a04f66ab9081f9a37e87dcb499273438098542282e2e46414101525353fb9637f531219524292292a8e19a4a6e299aa19660ff9b94101a054ddfab368c6d25927c355d40d0095af7d8be12f4a15449c3f4342050130134043dfc7c2b2793c2920919cc7273f940e420b0eb736762f5862d1d086b786f5c894cd97e8cfd2818ac59d37316a98c2caae8873510c57824aa71a416f56d2700830104c9c84aad88503ac9fd137eb4250552f6c9102804af672f0fe4d7d3ee6caea5a1246701275a9a3620102883d59ec7f0a91f36c9484c69c422316fedb488867785158d8d6ba0c875b0bbb2515f25a0a96ee0aca13e9f0086c1bb185e6dba21557d40c1651b043d8a386debe817323aad47c853053d4a2165c31655761dcfa5d5797800d3395d330d76fa0ae11e0fc0a4bc7e231afd1bf468841a905092c46912885cab0f1f0e20336be109dd17246db4b4b4f0a3af81499f0be5ed089599ee5e301083664654d2f4ef7299647eb2c386955e3f828a184ef5a6a19b0698ec599f1796e2aa53ae8556fa2684a408ed8073040721047ed4e66afe5e48ca62b8980cfa2c50ccd822146ddd0eb48c39136ffde9a9cef8f331efdc440200c18807c1d5e57c0f49ed97a09dd19848b473aad2fdcaf0d4719a6ef42e31662572a8a5b40361615402d1351c5ae604289e754c2a977b2536971d6882cf9d0dbb3380a0bf0415879fc3e8098f32264ade92ba1754832f8426c66c735c56a4da25765e80cd9602af7b2faa2b5e65203a1d36bb0d07b6bad1545b7f62c884a65bb060e1eb82ec6b22b72c55b5edda15058d6f7d911da6426e6cdcfec446b10620a90c84b613ec238db275f324763f177b557485943680415e5c81c984bc8b70b0fa33b88307fb351854a2444e5e0d4136d9539da360f54f45e9e172262d9fb8915e4963e2f7fb316ad4a841df96b61e0abaaf2681122d4ad003225da31813b92e49c5e73ed58023c67a944c2dc5d19ff9f67b1fe2fb573c8aa1396fc2df62fc961435493950d909b9fc73c835411e5ccd32240796bc591092f381da83fa368d07485d70369e2f6c4049d1a18e12be70ecc25ea4a164ab47834ebcb942896783ee04c40cf8f4f61a66392df08534ec916558da9bdfb4a93a6372be2a68bb5f61d705b89d82c20d837a86ca3c4d7eec5a17c4dc4b6c9043e9a8ae5c0447d2044c197b0bbcac0e154d6e340775cd5da35fe1b14c72525220ca15d8bff77f100a96c3ca408acfedc48ecfcb4f185ac3735a1110b758a15a6c10fc814e97180716dc4b47e5b99e6eb34998cad6eb9f3d4114f3b8479d835cdae2d14873cad69c94c5fe781954f5ab037a3ec715988c2f988e9c8c37e1f5b5f020498912bf25221aba76dac69170e2ba08db6c368c1831020e87e33891c8223c17a027f84b4eb7c2db12e4365e91846f6340c6ad55147d5932ce291c5408167d1b48ed4674c9ea2347f0e47f56e09fd73d8cc0cb0f42b3ebdb3872ed16a804548246f47a0a505b5e03a5fe63082e03c030298e09f0289b7e2bfe70db2f3a1066901bbbc86a620445ec2d39ed200451903636e7250affed4882681dc1eaba2baa24a9f591bb712cefabdb1b107567631654a2b13843260f429683e1b9a1f7686f54452ad67f588109b30b909a1942c06f41f1815f400d956348de4d90ecb93c8e896ed82ca0968d5f69d5670c783e0177f346582c690cc8d8b1eaad006acaeb4f185a231af05fc99a0c65c42460d3ab5dce6aee9f46dbee2a0326a3a761eeec7c4cd9b818d7955bd0eca1310d4505e0618d8922403e1c32dc8cbbbf7ee2610b1777af9cf48c547e244aa21c5faa28c47d0fb783cb209784c9225f4254330655f7230ca968b5bba06f823dd366bef47faf6352c1fdf8d9b53f41dddb7fe20048ad476b8846b38b18f5a1780c0448382819c600cc558b70d7a32fa0f870693bd6478495b65884d83be018c6b3326de4a8e49a19841cc7713ad6b2c56b800d897757142bc7d6bf3c7b2d194c52a0b763a886bbb105ef3d5d8e6fde370a36471d827e1125879e4055e5bb484b9f8be4d49361b1a6c1e73980e6a68d6869fa923d2fc8cf25a538b173ad156bdeddc5b53616ab956b2e8f097d0e60e0189ed3465c1ed4ee001af774d9588dc30e5d5548a37beb815d38efe01eac4f117860cfcec84d38778fa07b433998e0456960d42e0c86dbb7371e1a9501e12e9c288972dce011416843fa079a668c8acf1becf43bb47a202289b52520b49a5cf4843efdead127e1fb9f9fe36737fe0e58f6183ca58dbae983192fda14ce294cbd83b66fce47f9f49bf0bddfbc88e52b9647af7d9fe56cd278be1d9e9728d884003b06f71c04079892c5029982cf699d8c354c8f267d5b211c68b897a56c7f2ddefc8388cbefca435a4e0b02de2cc8c14ad454bf869aaaff8ba8a00d121b74abcd098bcd85cdcb357cfaf27e6e4bc3bd4ad413c70982f7bd12606b21d02d4d983976854a1085b49e1acc740cd1b772c2da0ecdb03111d4a33a990c84ad9d043049944489b5f42b186a54b17bdb1f03b2b06a9fe448c66139802a04b8c74a4fb2ee127379f8f127b1e1fc73f1b39b1ec6ac05f510f7af8056b3096a931b3c3a40f638884366c03de64c2cdad38cdfddfe4b14971c8ed3b8b5eeb90f14e2dc7b66a7bb825bac12cf2ade95d79212b19fa7878c3f36ed40c99e2378f9113f165c391c93e75a60777ad8fd1c4c425775bf30c3e053102ca8ab4ac386252dd8f6f9018e5275f769ca92ada03761d6078b462b46f093e7d622b0cf0d63db056b8ddc7e31fb9cdceb157fb0d5e876009704304994448939c9d009b04421b995e0a06c03c9615b826e634b43e8951b29958f3e5d86652b56e19453e7e0fa4bcec498b937c12169f091a19f2a60f5975bf0f6dffe8683fbf7c7485bd073c61a19f5f47830c0e70c4bd6e07707e2129ba2a5ae054b5fd8832f3f4cc594d38663f4541bacd6260ed2438a86a07728b6ad6ec6e1c356048ed471506246178b0c311fef9c46031f7eaa3cabb7ca5dfdc5369a903686af4662d9c114802e014c122551fa8064508af9c10a4a748509636c46d8ea6325672159c6ba756bf921d99d983afd246cdfb68d7de18f7ddff72a0bf3c0ea7b8a23a319ffb889640fe33ba93d097cd217da0141efd4faea26ac7e970e60fcb889f078dca8a824af9bc3806d18ace3cf83d058aee77de15b4aa6566560684a8e0a00c955978cc2553345764778df1ae63df27dece6ba2274bd46233df30613e84e0093444994d82393e3a41db1b796119410ea2bcbfa049474641c5d47c21cb0dd2eaab0aa02825c085607dd048cc6009b5b1ae1f5fa5a4f04ab20ef7f8dcd032f222dc5dbd8450cf085a4aa915b4e51e6baa08697916ec3d477b4463bce344b091fdd44499444e957a6657338e172f6b13bb619e07210e64f217e17102508aa85db091f0f99c3c8d42a353539b295d082f56c3ef83b0090c113d38a8047e721fc23f3e42536a412c024511265109681c37e8e9599cfbfe06afcf9f15f4567508a825beffe09ae3c7701aebff13b48b5b72541679d7f19ce9a7b32c68c1d0f97ed1814ba64acabaa90e5c1172cf046a713d759ed7ac456511c1cc04472e21fcf3e8f93270c8ffa756efe243cfcc0cf306ffe59b8e0cc796dbeb32767e1b65bbe838cf44c8ccd1f319860f6512187604b82e4cad6a30c2672d3268049a224caa001231470c29aa207f6e8d767ebf23825891325b18dc4dae3bb192022357b041efcf5af307e5447063365f67c3cfbdc73b8f4c2b3b96b684a5a326c4919f8d5234fe2e97ffe13b77deb6a5844151979f978f18dc578eab10760977a079e446eada0879a1f6c0cc19d6243bad3c2bdba7884f941d0805bbeff735c75d1b90c4cb60dce28da9cb8ff7f1fc3c30ffe0f3292ed70b81c6cae0998bbf0623cc7e6c25ffef004c60dcb66d759f1addb7f82f7df7d1ba74e2b88f11c178d23b6fd18194138eaf7644c3def7c28df7988bbf40a7dad366933d707370a4ad898244aa2c45df0a2402172bfea7b39a1a400d794d135230b2aedff7b5a7a2f30a727416e91f1f77ffc1347f66c82c4c04ec1d8029c77d12548b15bb073cb667ce3f61fe2dd7ffd0eaa2d85c7af98386932aef9f62d28480fe1997f2fc58faf3f179f6d3a04d15d855d85dbf1f192257ab0b7685d7634f064371843483372c90f1e65fa3b479a75866ad313f10d74fb81b32ebb01775cbd101f7eb40ae3264d84346c2a4e993e1ede867ad4cb4e4c196ac7dffef12fdc7ecd5918995f80dc540be69c791e1ebbff67f8e5937fc1c4b1633073e60c7cbc6c23367f95845d072b6238cf75661dce0b150339227c1b239d41672ee63ce3f2a695706cdb8020d93a69e8b379c8dba989114982b5416d7792d098244aa2c41f9930c998022ca9fdf94423ef8c06b5ae1982f7d8b2e92a354d101560ed17cb5052e7c6acd9b391eab461f7ce426cdbbe13659555484966e02528232d351d568ba81ba7b27f36bb03a3468d80120af0a47e8a12e209cce460106a2f69abd561838d1dd4507190a5bb186d13f1489e829c90158aa847e31dc825d0528bffbef721a6cc9c8982d1a3505d7e18dbb7edc4ee7d0720599d105405767b12929c2e5d8f45f633ec5f6ede3024bbecdc6b4b9244f8fd01582409fe402086f35c8d0d2821a868b1f0f9c919a71148510f0b20b5d19ed0670b5d4be3e66d44a8a982fb1bf52d38a6b42264efa2f05c4f10067790ba84c624511225ce458f77a4a2efe4a9e8450f89adf278f0c7bc5d408a89a0074ffff54fb0a5e6a262df566cdd4961b6f7842f79fad945b8fb27bf80eaafc7aefd459032b7e08377dfc39061f7e2866f7e0d4d455f61ff9eddd05a2a51ab2dc785577c1d9faddf0ebfd2d3fe14106a0e19d14c590bb5c1e59543694f362459e0934210296bec00afeffa551ff1a3b8b211bbd6be8fbdc535d85bb8837fe7dab91fa7cffb1d6ebba1006b562cc1a103a5a8509bb16e6729aefff64dc81f9685faba1a7cb56123b66d5a07ff759760de8c0958b3656face077cc5615cff2ac859525612d497b3ba6b08b2efb8ebb7e33d025aa2a943e06272ac5817165417026416bacea5634d90430e9a42cd95684fa662f2e9f3d0e8dde001c5609b96949bdbedf9e8a3ad82d12c60c494779839b4f1c0b43b94136a946652572f224ca00d394a06da8e978d42016cf8ffc75b0b91a4fbff052876b967ff01f7ea4a6a4a0b9a5051bb61722257328ac8c0a35d556e3bfefbc8f55cbd6ea176fd88af75eef655d343df8542c99527f969a8082f70fe8704432da21f0ac4566f23d2eb3f3948c8aa00e9826bef5da0b1dce791b6b70cfed372325259907d5938d1c38d7dc308d1b427ffcfe3bd8bc6307d66cdec6cfdf7cd34dfab6445426de1bc61ec3b82111eabbaeb64922b77414be4dabf6cb3ae63160c65f0e75fe05b02cba07720298f4aebcf44521361cacc0f4e1d9a86020e2e31dc51899958233260cc710039c7802217e0c497521c406d82ab555cbd2390b8f57a07ffec57f56232bd981e76ebb10cb0a4bd8e0a84876d850dbe2c3dde7cd4cf0c24489935664f0873a8f452135b72b29096e8f874b962df55578fce187a0ca01c6b86219906e10f7b30083cd80275b93049ee799b72993096e14edb35656740919c2a0b025b0daecbc4d2d063079f7dfff87cfdeff2f1a9b9aa28c9c99d6c1c135899a16422c8293996bd07c55dbc588e98b647d5aff1017be252bda52a01d580fcbe1155043cd839a4ec475f39540863fa4e06b732660f2f02c2eba2d5ab913bf7c6315feb96c2b36171fc10f5e5e8687de5a8d37d6efc1c7db8bf1d6867dd870a80a772dfa14de60080ffce78bf064da5b598fe923b391c3404c933700bbc502898116491438784994444994d896cc61e371fb1db7843f9f7df1d771c6197370ca9cd39091ec0c9f3fe3ac85487258b894ece1a0a495647bdc2d5d8292fcf153317d62aba7c639975c8bb34e9972dcf629d9de586d5623ef92d096cd0926641958e5d63bef4276b2add3ef4953e276bb233e07db8212c182b3ce3a03b60803533d45402866ec3d9c69b7933829834e6830154b30e689ec86eadf0db5a1b85fb434c7adc6e4dbf32763687a32071f3fb86036efdc73a68dc21de7ccc00f5efa0c5f1eacc2afae9c87b1b9e9b8fe1f4b70e73927e1f33da57c8ba6aad18337d6ed4186cbce16b23e9b3fdc7208d5752d68f605b17cd7611e072164447d9412c02451e25888e8914bae204883b60d1939c371c13967607fe1166cdeb91773162cc4b9e75f8a29e3d2f0af675fc115575f856bbffd5d7cbaf805784336646464e1bbdff9269e7cecb79832790a36afff1c334e3d1da79f32158b5e781e8eb45c4c9f3a091929767cf0e152c88a86fc31e3e06d3a025b4a0e822d35101d6938f9e493a13496e1a61f3e80dd6b16c33e6c06a69e350de9795f62c9928fb8d6b41f753e4616debeb3fce029e9896e09ba3644d1ccad1c11f501252c531245530cdb24faa4f6b189a52b251d175e701ef6eff80a475ad8b3640f447b2a145f0be69e713652adc0e68d1b50d4a0e2f70fdd87271e7908cd8a84f163f35157d78049932661eb97abb16df701cc9a7726a6140c45598d0777def20dfceef74fb1393219ab577d81f90b2fc0a89c24bcf9d63bc81d958f4913a7c0093f967cba22266d8b0420a4c1a3cfea20cc684ceee464342c1b891a15a2318ca50b928a4116ec78600113d28864273970c6c41158c50047bad386fcec74ddfb9c01894cf6dd574555f007433cfcefacd143f0af15db50dbe2c51d67cfc0f75f5a86c53fb98adfcb1792b1f640256e3d632adc81203ede5e84855346a194011502362575833b9579a20cfe22586d90c8a0420e61c03b8ab0fa490e098a5f81a0ea0c323d7b08269f341b77dc7c0d1efec322fcf4eeefa0f0e011b434b7e0b61fde8f53c7a5f288ae3e9f1f13a6cf44e9a112c65426c1e97261c2c4f1987fee65f8f1f76ee5eea0bff97ff762678d03375e329b312f07acc146bcf9d15a9c7af6e53869888282055f47c5578be1b60e819d11dfb2bd1a46174c40c3fe2c5431423c7dd66c8c983e1f2eb8f1fafb9ff7fdd809941c8f81064b26448b9549a6959c3170af0fb56be681a32407ec103a5fd58c70e791ba92f60fe1be1710920508131921df2241264d00015ffedbd8c393bbee7b0857cec9c7ddf77c896b6ebc078192cf6119b900fee2f5f087444c9a3c09175c7615967cb094bb8adb9d4efcf1c97fa078fd0778f3d30d9832630eaeffdac5f8cd3f5ec5a3bffc095e5af43c7286a462caa489484e49c2f8f16371c9d7be81ef7eeb4aecaf6cc2d891b91072a7e3b4f1d9b0a70d41d391c358bded604cdb14cf7405915b475d6f2399c4a2ed1ca07c5c94c5db1c6ac92aead9ccd5c19ffc30aee491f64e5f58b51d871978b8fbdc9998367208c6e4a4f26d97f3a78dc62fae988b7d950d78f98b423c70e53c6e2bf28d799371f9ac71583879046e5b380d534764f17bd1d6cdd5a78cc3c52717e0da7993703a033b3346e67070338721f321292e5d12499444895351fd41045b3c5cba1df05351d3091f22920a9f72eaa970da4478432a669e721abe5abe188ffff119840427e69e3a037f7cec7ff1ce475fc0e1702029391955e595d8b9630bd67eb5010ea70b3366cdc59e0dcbf0e0238f63dcd45918926cc55f9e78186f7fb20ec346e6f167acf86409cebff656646a0d987fd1b730cce1c38efde5acc742d8bf6f0ffefbf6db0832e2fbec538fe3cda5abd9ef86f593c6cbb072509ba0841af87b92b2a3819248d7511374744984d935e45edaab226b10ead90bfba7091ab73f11fa8829bdffef5771b851c525179ecb68b786001300ed763b444942d053879fdef3637cfae53e0c497562dbe68d58bb712b1a6bca70df03bfc1f08249b00a2a03302a4e99350f9b572ec6bf16fd1f56acdf865d3b37e3f3556bb9edd1dcf973b1fcbd9771ff437f62f3651e6c9a0f0ffffa7e7cb1792f860fcd3eeeb4a8d1def7f61e30b2311f0f5c2eae1a9319f93978eaa673c39f096c98e51bf326f2d707bf765a9bdf5c7672eb5e338115b30c4d4be25b4366b96181be07cd6d5758f9fe0527273863a2c4590a30821e69da400f4da18756099ad2985ed9d9f34ec7d86c2bd23372e1aefe04177feb3b9875be82d2a2cd58b5ad187f78e615640e2fc06f1f5e8da03f004f530dfb3c0e975f7801fc3e2f56aff808f7ddfb73fce3a9f9d8b0ea5354f83248a5c03721bc3e3da95f5dd95ed434fbf0f15b2fe1b46b7e88ad1bd7a1511d8d34c98fda060feeb8e34eec3da2a091812627ab97d7ebefbf2ee1d6a84737d08d4c44a744b8987625b593cb696f8c2f29d58c562472153e39a4aaa2d667a077f8885cd4d4d661c2b87158bc761f7e74d74f913974241ebdf73d88d664fcf99f7f45d6905c3cf6c8223cfce41ff13506601aebeb60b15970cadc0518956e41666e2e8af6fd17e7dc75379e783c1bff5dbc1419c327e1aa2b2f82cfe3c1471f7c869ffef82e9c7c41002b3f7d07ae9127b12962632039087f607066ebee6a5c636970abc80a30b8620976de67ed3be5aaabae12162f5eccbf338ec878be5294c36a001c6bc441565076e3d53ce89ae4152b563cb170e1c2a10936952883a16cdbb60d3367c6d69b8b340a6473b1b3b010c1e04075e98bf4f8d06984c3958af1e3f2e1717b505f5385b42123906217505a568ea666374e9e3d1b8db5d5a8a83ac2dae882bbb90943478d864bd270a4ae014d4d4dc81b390633a78ec7d28f3e812b39059a1c8068717086ef3140464a5a1a7cee1638929211f0ba799458510b21c448cbe40905282e2e4130e083c07e27a821f63b5fbff589fe570b079315284e85d65175cefb4ee82c839bc8e3c798b163883989faa6508f41050f58c6eaa00a4614d23e4c809735240f05a3f250b87d1bbc410d3366ce401d9b07b50cacb852d23066f468d45494e070c5118cc82f60e3aea29a8d7b0b1bf7a1234763d4b05c54d7d4a2b6ba8cdb108d1d3914dbb66e41cef031b00b21d4d5377283d85105133024cd818d5bb62325351d019f9bcdbd6406763d0c9c843a0e89d63a36b1e6ca42c4dfdee8224ced59340f202a64e372f47c4ed1b7723aa96ccc81c935d75ca3151616fe62f7eedd667099a0710422ded311320ed938e8bd1271a81187b968b4112346687bf7eed55c2ed7c0d098244aa29c88458fb3a1e9a92dfac04531562a93f684d8ef6dc68eed3bc29f1b5bf6b5f97ecba64de1f70143ba2d2f296a734d656911fcee46de6eafbb2582ceb59616c35bc3ddacbb3c8664d39b23c080e2f6882bfb51821628f2a79e508f8c0d5b036da99df65e670c4210ad0c68050d50a3f31d5195a089219dcf2adde72dbad1a31a8ef8d59733a9ee48253fc2a09d818af0dc08d4a0beb626fcb9ace4509bdf7a9aeab0a9aa02a19031669e32d45595e9d7161f6873ede143fb70d89c0bcd8dfa48373576c2b2cd8d2b4137166e6794ac1b9b6b9d8ed351419f24719b0d8db3ca408f8163340fa048b0d2bd24936a7727c3715312ae2a899228f10428c7bddd9380c88462ba3d85b535a68464417a7ada20182ce8b95162305e821630c44651d7aaa80af7a8d1546282422f2b17bfe115c4a3d7393d3307c9498ef0e7c953a6c165b7c4a02f05dd4b4a62fd27443364553828395ac2bde8da0e8d6f8d29d6143dbcbc6689d9ba1f8c5e40fd59e2a631e1c1955a5a8e39c57aa2244a4ce92c9b8f7ebf1f4ea713c9c9c9c7741f93089d2845b4d890959ec2ed1052d3d311f47ab8471d312f3286f57bdcb0d89d484b4d464dcd11fe9bec61a370ddc567e1efcf2ee272524ab2132d6e0fff2e2d3d039e96261e24712014458e4d3d0463579c7bde900b396cb0a87e58b989afbec913ef3520f29c454ab7da22086d83bcd16fdb305ef6fd45975e894deb5762d4e831f878c947f8d1cfefc7737f7e10db0a4b10927bef1943908e1b149076831c52daf55d4aaa0b7e5f10c1a06cc8e1ddef5b726e119326429b7833848d8fb033ee04813cde81094d5eda534a0093441968c566b3f1bddf63958a62c1c034c31261a0c39bd1934fc19f7ff7300e1fd88ebf3ff72aaebfe9664c1999839ffefc5efcbf3f3f0b7f6921769736e3e2731640b25bf1fb5ffd1c9eb489b868c1641ca928c7dcb3cec343f7ff9c27ac7bf2c1fb903df56c5c73c13c064e5271ff0fefc096fd1531acad19f45ce35a0b830df51fc061cfb4b3e7fd205bc07ab782350195d3c3279d229ef703db94f8bb7b7657a2e75a3fa56d5d7ff9d06fb0f4ad57f1c3fff915fef2db4770f62557c22109183f7d367ef7e8437840b887b5de8ec77ff70f341c29c76d777e0fcd9ee0d11433943cb7cd309131e3a96919d8c700705d28c4b3f9eaa60de05e4e04acdc6e9f114abe977c465320557cc006cda36bb7128e9dc73730e113cb6a4d8c40a20cbc45611918a65736c6acc6245b51ea0ec1c7253865c012c6eb6ffd1e0a3f5f8c079e7c06394347a1b2ac0ce79f7326c6e48f40ba43c2777ff910eefef51fb0f48d7f618f371377fde43e347a157cf2f107983f6736ca9930ba77d3327c7ed08dcbafbe16f95366e0e6af5f892716bd89bc9cac180313f02cb102a9f88dd0658ad6b50621969a2f7aa6ccd8aab3c08fa95512561fd643cebfa28a28d1c5feb88ef3b1b6b5bac1879fdd771f66cc3e193fb9f73eecdebe052943c6a261f366ac5ab50a2fbff52ecebcea463cfcab0770cbcfff1f860fcb41f3fef2cec139070482a1f0680507f4d214f223487a12768da4a9e18487044a74d0146e55a79ddad5f8aa4d7bd943f61a89364f4c7a180fe541c2c624511265a06a6e183db8c4668545d49de306b28bf1e1a24338e9d4d371c6e90bf09dbbefc515172c802c6bc8cb1d0a3793861b9df9b0d82da86b6ac68aa5ef226be2028c7479f1d95ac6b4925cdcb0b4b4a484c7b950433e54d5b6e0ce1ffc08b3268f83cf1f5b9760d294489aa26b4b34f1a8b274acb7e3044de6a2ff231bac78a64c8328ea1e3a5f051434aa18f8aee44761601f7df409aebef63a2cfad31ff1b56bbf89e50c7c8ab664a8aa8ccc21799832b6009aec4769652544c9ca232277daf7bc6704bd53e4b6e04066e70bbd01b8155defa546a853629ef3669083929edbd7b48dc57342694c12255112a5f3e26152e25f6a7d8c4a28dcfb401ec0757dedd93f20d9f2439c7eda5c2cfeef8b90bce7c1ebfe1c2dfe205e7ae14508434663e97b8be12b2d82a0067168ff2eacfecf9b68aaabc5abafbf85e2aa3a145914d4cb36d4ee5411746ec00dd75d01a7a4a1a131b609c988d58578f86ea55534d3fa564bd2460a27a22fc98c21b3fb07353d82ac45862528f1b19607c19641f4fed13f97eedf8a1b6fbc115f7cfa194a1b1ab071e701a47db418bb0bb7e3d9452f63c68ca9f8bf179f4343530b5e79f6efa8ac6ae81e30ecd02f04ea2c5cf3a56982e1c2ddf38e3b11ecc07a1c1f273243721ca2e3268049a2244a1f9648bed763f2c7a57a1ba7b582a4f4a98a9f6c6a8e850029213f9efef393e1cfbbb66d6a7b41721ebedaadbb9a0e1d390edbd72ec7db1fad81ec0d61d9aad56d2e2507e38baf9e095591f1ccdffe881dc5d5b126d3709dfb5d28a366405df4e37e57554bec9fc6da06cdc64089aa6f5384423c168904a10373e5fc5610798c121ee32d1a921a008cce3ca5857cf8cfbfffc3dfbff1ef7ff3d72f567cccb321bff3daa236bf59f6f187477dd690fc02d832c6a26cc71a36d1bc6dfa85e2db70c04efdc37561714c1273ccdb3d913790748f27632faaa79666a6c623169e7ff1d8ca4900934449941e14bbc3c60d0343212352a7aa75b9a02d14af40849e604bd17a6462a9a750089818a54f4beca52241f73891345893ac901b2b79db9de495c33e3ff5d49fba94be97befd1a3ffa8a7ff8ab0e4093436002370445e857295ad16413cdb563366a94f921f01406f44f11cd94bb71f452626365a5bc3e9a11204eeb5ee031bbc38960b077716732323291396102ca0ad7a33dee90b5d6bed3da3052addfb75f2c2e0b94a0c28099c663d4e8f3a8fb63c5632093cb33c324a29401216d3ad49af584f4104d2a89f4fc8bb6862241c9b16800e3a1514ad898244aa2f4a00483211e60eb68a04467291adf3248199e0b8bd3a1ab9a8fe3d241b232091ad1d42406d2c6d961499290ec4a091bbe9baea9fd2aedd39fc2cf21ad7a854bd92ae235305ab7ae510495018110aba76c24f38b9fb6c46a4fc363bffd8dbeaba269dd8e86ea76bbe1f5458fd07be67997e2a4c9633afdeddead1bb1fead4510426e0856f1a85c4b67c86207f6162bc9bfb3982872808112596b8d137b1486de7ede6bc64c9404ca78ec67025039dfdad323086b517fdf595882f6a064b09584c6245112a527ac4435e34c1e7db11b413dd15255a3bb5f1ee75bd991c4913c5d04ca92cb84e45030c0a43f76c6c524ed3a95f54528ae12197715b6d0760a935115d27c0d5c6f27aaabc5960cd9319c4da4fddc2ea6bfa109314093d1d1fc9f38731e9e7cf277d8b1710d5e7af303dc70eb5d985a30147ffbcb1f9196370e575c723eb66fde84dc5105b0051bf0c5e6fdb8f3b6ef60ed674b50de1442f19ead9836e72c146e588511134fc2e47163b0b1a608175e7a35e69c3a13e5fbb6e2c53716e3a6dbef41c1b04c7cf9e51758b264999ee2d9d0d2740aebdaec78687d32cf227321b557dfb44685d77ab45ec2bfd18c9c379a1b62ed3ec6a029b64df4c836915aceae342283d18626014c122551fa8c5133a24e394c82b14843dfbffe8abd0a10175145d5fc6c7ed5ccce6df74370267135b71845b2eb4756cb182c41cb108f2942761d4a1c6c13baa35ea76f95697380f3be03e189ef41133dfd0ea222639ad0168edd2a62eb96cdf8e6cd7762e8b869983e360fff5dbe1d0ffdfa57d857ab617a1eb0f433158ffde6bbf8fef77fc45e1fc55b2f3e836b6ebe1b01773376eddc846fdcf6137cf0f2dfe1c8cc05c5e02b2bde8d5beff931cf587de975d7c3671f8a4be64fc5dbcb0b71cbadb7e0430226d45721e5a853908faf2589c2c142541b0dc59d10d3bcbbd1c7ad673171a2dd434f53a06b4e5489811255d0fd92b4e8b58f951dc9402b89ad9c4449949811a68e25445e8e1482ba178e166d83b90bddb9a84fc0490f7ed0b6a65aeb41ea6891313495bbc6aa88672c57fe7c55e6b14b54c604426a7c4049a42abeab3920167e09cbf30fc10a3f44adf371ea0f95bd64b1a1a5a10aafbefe3aca6a9a306efc1814efdf8e259fac407a562eab6300afbff62a0e57d561e3ba6558bd760b929d567cfcf1c7703380befe8b95b8e9ce9f3000f21eaebded8728ddb916e5b51ed8ed765497edc73ffff53c8e34079137321f351545282929438027bab4b306261d7dc5688cb18b5638cfbd0ece9f3f0b35ff7436f72c7a16da3eef1ed548c5d83d19c2ac4fe4b8993629fce78aaae7fed13a8754c7ab47510298244aa20c8212d512c208efd017712f4c29ac47cc4e25d75723426794fbf190ee6a2274a6d91fa489e88ec6440db8a1d51e444852a2a6d231efd11f4c4a0e78d1ecd3f0e2cb2fc25bb1130ffebfc73064d21978e1af8fe0dfaffc0bfb0e16c31790d9857e1c2e3fc22ae5c59bef2dc3d3cf2d825c5784175f7d0debd6afc7bf9efe07567db11acb967f8e9a23d5a8af6f405151112c560b2a4b8bf1ee1bcf23943a1abffc9fbb61d3248c3de79b489a745e37d89985af07d798919872cbb5c0e8f90ccc8950f82291e2bf8e23ec53743b98b65a33fa8e3ce44ef488e889ad9c44499481cabc88cb4b76d2a54350031da52676c229d978ce157f1fb9ed74d79a3fbcb74e01c2ac22440b630641b92d87ed4af373828293ee6978189f1745d87850588a67d371ac89997507e81cbb52c0875b6ff826d2d2d2d0d4a867fcbdfdbb37232dd989a666ca16bd327ce9c38f15f2d7679efa0d3e79af00d59515f0fafcb8f9dbd7f2f3eb6fb88ebf6e2ffa2b7f5df9c53afd77bffc0592d3f3d0dcd804b7c78de5efbd8bda0375507c9ea36a2c089588ac0f1adf7d155b7716413ab491c19120fb270ec031d7331f4330b67ab5b642416f00cff1921c30014c1225517a44000c4987114041d3fa70bb9f111ad1022d6d28047703100844976055b9cf9851570452b01900830284d974e348be6f25e89a13daba896615132d05fc8994e830b2dddd07270263b62a642102d869dd1fab3e98186150a2e301d900259d9796e666586d0c64fbba17c5d7d35c83175f780e5ac88fa2c3a5ddad188f09a350df56ef07aaf6733812e25193292e4828be631e91a1c9eab23061c38a5050d6b76bda8d638744883102b983a524b6721225517a804a2813ac2838214a2e9e8a2db684cb643b064b4fca01265f01cd99c423bf6a51b40d41b29188874b89a033029e6bc62a70e1cfdc5ba7a46eaaacc4d5d165a0abc27b022434c34689f894da89b1d24097943333337b94ad5b6360e7d0c1fd3d002526345175b55d8411b66ef7118a7b58f9c8382b6465a56a0156d5609bfc3fc7329ec713384900934449946eaf7c8bae79654cd8953c098ad8b746934923c760f60dd7c29a958a01c776020c94041981152c503cac76fe8117bca923381191d84a3afe815f3c62e3748fdb922651df6e53bc1a8f7b12cf760ee4314c00934449946eafe4103b82509500dc2dbb8c646c7d577247e6e1e64b4f468ad3013dcee6409388685febd8faa0af1848748d04ed5c4b89791ca3fe4dd4af87735d15c3cb4684d82116526f12ed916d516f41496781e212c02451126550516323b8137ba54474428c43b9b68fef587ec48d7fbcbc06def20add4c4e18485da1aba3f5e810bdb7b5e94a657d2c34b33dc1a56825faa133042e6d0ac271aa3fe93b1ff281c6cccc9ad8926d61bba7ee6f9309fa24e379762c7d3e17043ef77496ab7251a3f30070dde9633d3546cfec662861a49e8e493b6a3fc553eb9400268992283d800efa9e75881baca97da6c1d0efebaf3c88ddefbe82407383ee2c3c908440d345b55fd94f6f25669d1d68520090b829a47196499c560b44eb71a645118e0d9e74f5bb8117cc4be4e042557b9791990220daf8ab10d5cd3d9645a1940261fb17ad47c03a26d38281128bcdca5ec53038e9ef3a248049a224ca4087398c3050ce98214386202525a5e3e26ca982b0672d37046c95b54ea4fe31d9e4b1da8668902d1658140640540b54038710b0b4a738e14c4d3aaefa4d8291d48d586e2fba8d2b0685c19163454f242840f1b235d243a71b022524699001b914678f9d68da9098f715036fa10013aa28fc40372646ec137b76bf24dc85132551ba5908449c7df6d91c44501c0722dc14d1b2acacacd7c487bc15de7fff7dfceffffe2f962e5dda969078dcecaf0702495916119a2200279c6badc603c61f4babb98f1323b2dfb16b287139f069a357d70ab03fdea696e3aa4b055d148666754094b2a106ca811e84db1724ae5bd21d5b0641c7f03c476137dc9e694da87999732f40e6f49371f8b9df3370a242398e135a45bae6f764f3351ef834a131499444e946494a4ac2934f3ec9c1c4679f7d860f3ef800f9f9f9b8f0c20b7b7caf4020009fcfc725929a9a1afeea8b927955f72254c22046c389034ab82588331d987e2d84e1a731e9d67214e2298553cd8b51a00dddef138b809d0841d20cc2ac6a664cae7e671022d935509dc5484dd8b1db6f68c67623471608f418c1e93608830d006b469a03ad87bf22db941464e60e4380cd2f7590b45914251cfbf666f700bd4e7b121a9344499401597ef0831fa0bebe9e8312b33cf8e083e1f753a64cc1f8f1e3395821cdc7fefdfb919595853973e6202f2f0f478e1ce16086caa9a79e8a0b2eb8809f5bb2640982c120645986c3e1c0e9a79f8e3163c660dbb66dd8b061436b40c87e260ea67465ba249a6addfe0a88a612f1cd9d068c3b17eaa6371998502348a5165dfc351086da21b29bc6808082c31e76d223737b02684697c681178914ec4b52593dd8a15a21b3ba09314c22c89b24fba1cafe6e0eb6c10cec162841259c417b5040926354a5552efb2f3f089009da404f006e5aff88e8682adf074f32d6ba64e97ffd450298244aa27443ca2020f1c4134f44bde6cc33cfc4c5175f8cdffef6b7983b772ede79e71d5c7bedb5b8ebaebbf0d7bffe159b376fc6e2c58b7980a9f4f474949797f3ed9f071e7800efbdf75e783ff9de7befc5bbefbe8b8c8c0c3cfef8e3b8f4d24be1f7fbe3da6e33a74b6fa5aede1602226ae997108a5773322c878971a75086ffb52659b9e4ac78daba31531b48ce5418038a37df5579d8742b6b6388cc21d967894711d6e3f98b9d83afbe5338e8f50a292794568eac5d3946154c83d4de67f026f06e213b2676d0962fb9f1d2ab792ef2bbc8d7f6e7bbba872088d107aeaf9009740c74d2f493b0f1ab8d09609228893260641443b54e448234196671b95c183162043c1e0fbef7bdef61cd9a35686a6ac2279f7cc281076dfb9096e1c08103fcfae79f7f1e77df7d37bf1f0112bafe8e3bee40767636dfda214dcbc2850bb16cd932bebd43c0261008c4acfec70228e2616b40aed8e4c1400e043c05c051eba087c557436a876b39bb993509d6922a68758de8d6edfab26da26ec9a0527ae3b9f361575404377e01da453112dec7619e1bf539a18a6acc2d0e69d9a7e031afb5488062b3d938b0a0c37c1f79aeb3f3f49e0ef31ef44ad99725498c1016b45e6dfbd1bc1745219cb1988fbbaa87c08fb6ce6546c3925dc9fd4e0312c0245112a51be5adb7dee21a8d175f7c916b3188505c71c5151c4c1c3c78906b4afef6b7bff16babaaaa505757874b2eb9846fcfd0f50d0d7af6d4952b57e2e69b6fc6d6ad5bf1ca2baf60cf9e3d703a9d7c5b273737975fbf7cf9f298083c3c440393b2149e274436ec0e7a4770fb9b30c91c9c28ba7b367fb61e7f416414cb9a6c43a0211055765483fa968835d502d9a3f0f0f8dc30726c1e8294cfa5be1182da3b59d37432ee8e5661e8d0a161fba10eec50d1efc36d22767c0555b4f23bea55d538081e376e1c07bf34b79a9b9b3bdc83e6496a6a2a9f5b14cb22d246890caa478d1a85dada5aced4c8509bea42c7d8b163f9fd4b4b4b316cd830fe7edfbe7de1781804940970bbdd6e949494b076e4b1735928292e41724a32b2b2b271e8d0410ec2690d4c983081cf8fbd7bf77609a44963d5be2f229937ddaf3b85da55df500f2524c3e6b0b3be54b986913490d436ea335a53a49da43e222181be1f3972247f3ead43aa0b6daf969797f1753ab66002f6eddf079bdd863cd65eb227a3ad553ae8b7d4ff749d2988d09850a1f6d31850bfb607f2ed0f7aa67908920eba091028acfe1606545556378581030208f45c338608bd52fffabc5e04823a70b2586dac9d4e729be1da3f0e343a081282013ad4f01a36d7b1d7c3e68a28c1c6fa3dc4fad16ab5f0f1b7909686000ad5d178becccec7c33b27014c122551ba519e7efa69cc9b370f6fbffd369e7aea296e4342448eec43688be7b5d75ec3e5975f8eeaea6a4eb87efffbdf73c2f5f0c30fe3e5975fc6e4c993f1873ffc01dbb76fc7faf5ebf1e5975fe2c61b6fe48b9e08216df1d06f9e79e619ae6d211b932d5bb6f438805298387143460b234c02930519d1d3b45ecbe1f1f1ce5022b41a5a181950bbe4a01255fa6d0350426af813fd15df5ca15f61dca3a7c84462008f9868201840779c3f888152213b23ea3f62c2c5c5c57cac89f997959532e6388c31d8100e971ec668363f683e11a81d3f7e126728151515dc959c98a8973126fa2d3141021ac468e97aba37015a62c6f41d818369d3a6f179488c99c0c7ce9d3b317af468fe1b624efa33c6735042f720606cce337a16315f7afec9279f0c97d3856206507287e7226f481e6b430967fa0424e8399595951c581018a27a1153a567d3f3a8ce5427d20652dde97b6acfa14387909393c3359004aca83ed43f54775a33d467744faa2bd58fc08559c6e48fc69409e351575e89c65090f15789d7999e4b6d258042eda1fea77a52fd0850d035bb77efe6cfa3769190e0646d1b9263c17876bfb2f25256bf744c9c3891d787eed7d8d8c8db41c08d6cc8a85fa8cfa8bfe97eb4f6a9deed814967a0d662b7f2ad11ea5b51320db5d9ba14b52e6d59a91f14398423d595f00555368e2300b7c2c185dd66414b8b2fbc4e098c48162bdff80cb23650bf934d55c0ef637397d11aa78d6b7187e78f85955d54594963350a55956548cfcae51e802e5712427e0fa319021c765b5ce86d0298244aa2744782678bfcfaebafc782050b3841a5cf041c08a810f1245072ca29a77062f5e8a38f72e273cf3df7704d0ab917fffdef7fe7c6b3044688c0d1350454481abbe9a69b385121e642f72c2828e0c4b1b7a0c444262203253263c74f6428a8b14a78bc5a19f0fd4c849f7b20b507433c9b3393fa428c940775b7d8ce3417dc65d627b5021641076561cd4f2f70166937826c3cbaebb941634700849e4752358d3d314b9a1f2485d31c22804ae766e79ecadb4dcc9ac69d182a69205a5a5a38a32640614ad2c42077eddac5b519c41ce939a46d23e648efa98d049a0928d07309f8d2b30914d07d69eed1730858503f531d1b233205d3f5a41d208d49eed0a13878e820b2b2b36049b5a1e870113219f3f6f8acfc5a0200049ea89c74d249fcde54cf993367f23ad1f3e8333d9bc006d56fddba7598316306ef170211044048bb44eda475446d32c79eb44004362281493dbb868c31c7158c8197818b1c06740830d21aa33ea1e750bda88fa94f0968503fd2bda83e0496a86f4dc048d7115899366d3aefa74d9b36f1fea1fe235043eb937e6b82293a4fe3f1d5575ff1d76e2762e49a3295471fe65a3c1e174e0724966c176baca9328b2e183893921988ca464b408543d270a0e810eb073b32d252d1c8c692b41c9245e2605e120536cf421019402160651555d68715fcfba666da66b233c0e9d0130842d7b890a6a4aaa20c32ab4366461a9f138aaa61d8f0517189009b00268992283d28641b4247fb42c46fc58a151dce9366c42c575f7d35befef5afe3aaabaee2849454ed6438fbd0430f85af214d091dc75c4c037e2601adf35b20049541d1bf9d46160d678b550d1345ad0b264006a572b81bc2b7d3ccc0631d7fdb659a7943c3a290e74c178e41edb72e8811d3bc30a56f93b199eee1f49eb61e681e985b065488d9130021264adf136326064e2082b66088f112e8a0fbd235a419a1efe83ec160806b2508241020208999341bf41b62fc743f62c4c3870fe78c97de1338a27b991a18da9ea1ba13d8c9cecee120651403276aaaccde7b9092aa070324f0316bd6ac709bcd2081d456ba1769010988515ba91e748e8006b593b423f499001ab5c1340ca7fea2cfd47ff44adb0c045cbcac3dcdec3b62b67bf6efe600299ffd762f03f304b2e6cc9d83b2d2325ed7a953a762e3c68dbc0d24187cb4f403062286f3361200228d073d9bfa98b43ba441983f7f3eef0fea57b350bf9a2099c6ce1414e83ed467742faa63b7c1adac6b395ae7bac067b3da12627045d2f7298f32a768fb27c0c68cfac16eb7eadb4d0c64c9ac9f6dacaf34767f7f4b134d6804591ffb433203246cde4b56a4a5263160e24112eb6b7e2dab4f88cd971636a681a0cc35487e36564d045405094e872e24c423cc5e0298244aa2f480d7c348a527a2e75b2324a91133baedb6db380126664376267d5257cee0555ee937bd42afdbab5104109e1195fbb474ef3782b967d273d54467e04088f098e8ce568c66f87e0a68d5ae68e83ad47a578db26658116a91a1850c2dcc510a6935ccf61083a75792c8899991fa9f981e31656276a429231061da891030216041f383b41724f99bf61174d06f494b404c98ea4def758d8ac299ddce9d858c9166738d04013162fa0416e85934ffe8dc8e1d3bb8d6c064bca6544c4cdaac0bd5c1455b3029a958f9e97238925c1c7cec3fb09f5f4b5b1ce63da85ef43baaa7a939a1f69aa09d00109d275042e7a96dc454e93c3d8bfa85ce519b22c7a4bebe417f86716ecfee5d0cecf8b16ec33a58ed0e3437ea606e39d5cfe5e440e6c30f3f0cdbbb2c5bfe1942188ead3b0ec16597591d7c7c3ca81fc8968b9e4ff5a7f704a2a8fe04ec08a410e0a183ced1181138a1b121304275eaae5d4c3b02d2ee149b973e06a26d629751c5c8d683d6a25552617538e1b4b5f0ad5ab23521450bf7da31ec51ec0c84aa7ed67ed63f64a7a50956d8d8f23d52db8021ac0d046cfc7e1f243e379c28292e465a7a06283343201044466616025e3742ecc6b455148ff82e96fe27ee89b4e38932f8e048ab902c7206ad468ad2dd2c858585b8e28a2b9974761adfc77dedb5d719d16eee1bcd030c099f57af97762a8687884e97ba06253626f129fa13bbcc0542449e0cfe7a6a50d746cbd19d2e57232fd58e0a40ba0426ec5ea1c6608f6c8723b7e122db4acc980a313562701e8f37ccd8234b24d3337f431a112ac4e0e968ff7debf364be25649648c358132c5021d013addee673a890a6c26b3cabfd73dbdf23b2ce916da667923684ea613edfec1f022dd1da10d11a5457b7b62510d0dde7fdec7a9fbf75edf81958a1a38326b3d90d5bd234f67a082d6aab2d4864ffb4ef23d204992568189cd2189176c52c917d647e4f6d3663fe083c7f8fcae7ba28ea8724b3cf82c20118377e56692d88fc3b85ec4e54dddbc63c34e3e0e3c0e64a8bdbcbb75dea18e8b2d99dfa799f5f5fa96487a2e8cfa4f7562b1915b3f63340da4c9046b22239c9cac6cfcd7970ad6117a36fb5a573cd6a4806a74ba47d912c0cec3210e4e71aa1fee7d9fd0e4c6435045909c535928dd6c7c1698e27a62c7406f57bc64a8ee13ef11d2f9589c8ae2467189268828dab4925d5afab617b204d90c15b50f663f98acf3069d264ae8930ef1dd35133f29ca8c710b0434f422a72df1195495c822677a92748b3d899e4a6c2ad86c29a8a684f27c9382999b62292192194db808258e7668995d1aea82bda214b8cd9dad93bbf1a35085977ebafd74b63cc39c0845a8a4f61ebf4b7dd6d836074b8ae2912a2c3eb63ecdf63713d4f494962f35f80dbd312d9b8a3ae6afd919a116a5f30c28d1870d36e9e47c4d665aba28e3249d33c96854db0b9e85332644de92105441b4d5b67f525064fda1adde5975c7c25c3d5d71a3e4fef6d366b586b26499636bfd1df9baec612bf87c5cae69e4540ba2b0d59d9999d57a04d05dbd6b8733aacb5ea45adfab64d1bf9433000a3a01effeec2f59e3d28aa12b9ca285e45648456142d09687254024a483e686c5ef414d250b86d8987ddd65de37a1b9383d4cc763666525cc6cb922263e9ca97db2c6a8d5cef34b5dbc27b1b986746d994245df53e4067617b82ac3060a21bcb099d4d1693fb1d95b949bcedad12b224390d293b8058c6f0a079d33128d531f408375614d059843645a1fe918fd2079a512fa9dd6fa3b75d921c3191582911a4aa05e322fdeaed90da05eb23299fe8b0b5477a4bad8773b815d6186ee37d1a2d5530bcdacdd75630d8febb48a0d7fefa8ebfd3381dee8dbbbf9eaa41e2291db8ed1513a8a2810c9e8a40333c7b22fa9984a95050610295eff8062656ab089b55307cf9e353c82ad922d94fac2887bd9438c9ba5b27983d25688a4184354e7c14952d0c92a67b7c1f8127eab25993e2924d8a88475646669ff4ed60c8de6a12f360a89933b7d8b65de38cd76a494248a6dc41be580e1cecd6340300c4709d773054d1fb27247b194df377eb06566b2a24d116be99c6a478debf51188fc0d68ecd9ad2c6c6a63763a8b2b517949be3a628d64cad47c4194972b1b177e178d25e6b5da2a7761b8b5ae7d7b4bf17cd0f0296bdcb312ee8e084e2e5682e36173a0254cdd8b86d7f9e8089cfebef77386b8907a1d395e2f1cb1fc8a578f5e8d2dd895e889090342b2b9e5e2e0842e8323ff4be967ac9c8145687002ca2332e8426a8c827f43c5034cae5e38ffd7a11745a100c3670c619cbfb93a644e43636ed98bdd09d6d4121ea76887e5fad03410fc96e064a8206d832f58b42d4e6f2e8ae22d54b0e03135a1f6417624ab291f6bfecee0885183067e0adb33a75b7c88ad8b5d6abbfa10a1b1b4d092151ba438bed7c8ef50ec4a986a018ec86ee498b42c3e3a03c8807b333f7c0e383678dcc9e0950d2bd0922d98d6d98de684d62d5c7a25e075617a197e026517a5f54621e5cc52cc49c1ac8b2978387d86db9e88458146d3a9816da6a6ac85e4414bb9e430ab5573728ea70df108fa2db9ab727a4f898244b1e15ceb0fe4462404e14da6e809a51389b3c6c4d7163c856776685011359518df50624b9c876c9945f250e2664458255721df35a0e69a10143fb04411c245ac3f81749b04111ed3ab014fa8f0e9b1163fb1bccf6bfc64400e287d8059da80862c2f6b5db3d4646582e2e150a71ac050d98a292d6240989c1ebbf7e5729cd5c9f31332d427312db7a8b3c2644c4f687a0c12a3a909d5100abc5c185130e3534355266e1c5eb6b445d73719b7946eed78d521a7c8e6108c846787122a0d6d63d79823d368b008baf0ca9c1b230d8a2e611f0d856684159a59d81310a84d64e53a0d9b8e98acb65c5e4715e8c1dcd238e8719b8a2fab9a6d7223a7a3dff3973235b03ed687630fd24a2f26d3621b19ebbd95f168bf3d8822e0e2681381e2c46d798c44761c255bc5abc2a30482789c090ba44ea667f1c251c41df1b6584b9bde160a2f4619f2b86f1f360592f1c608890446b9b3d73455560b5a5c16e4d82222bf085fcdc93823c24cccb4c1757973d0395be22d81c9a1e1b829d0b8464348a29ac3f04f8833232ed16d84501557e996b470c7f1528e40922e5009e6264a6dab9d7964512507d248403252ec821a503230eb2738aacc79cf105acd87d5043de90005c148fc2f45802b9837a59bb2cdc78bfb7d97e2c9243173284380202638c74cd753c05d5782d2b3d8ab1dd69ebc24d3a5aa1447e29ec37ee3eed334ae6a8456c480a9142c471ab310937b5eb8e252b6ebed01535b61382490ce8446dac274c82117428f62d271f74d3bf3deafd85b6912a63953c8ddccec803a4ebba45b41ded2266b262959274ab7a6e8075f445c1558086a5b7e95bcfa7b7715333536677c6974229533867d5f012b248d1b52664a8c5236ff4d1f8b5ef5362649d3d47cf34daaace57dbb5d3ecefeeb49ffa5134dc7fdbbad66abd6e67677dd58a3f04dedfdcf6a387aa5c9e07c4c880dad5fca0eb34239a654cd6177faeca0978e4961f5f731a45cc0c706040364b14fa9f026d51c8728a8a4a312572b273d85cd3352d1488cbcaceeb5bcf021fa7268f1741d9822c7649a62d1332632ec31d8dd8d3e436a083a87b9fc8014218c84a73c04ce14a794a6a1bdc1d1c6f426c5de60f4bc7790b0a909264c77f96ee4555753382010b929244425411edd0f8d6918d8269f59231718f203168d8b8c40910703a2c1a766bc251d9455b9a18fd7dfbf9db615df41487f5016e33e939b55b5665bcb9e81da4a666f2ad457213a6b548f154cc354e6ec314a997e62dcd6d0aaca7cfc5d87aafb5c78cd3668e42728a5d5f97612dc2f1be95d30e87751c3c9d69d5543530295d4266467207422c18db413c399655e212907e5e6843b8f99eb241804d06406e539d59b87b5adc9c806464a6428c708f8fccd6a899b3de9092b4d60ae9cc8ad725a20e11d7fbdc3e78d9244bcf4863cc55d4a5a108ef0c625e32fb6cb558b861984ce184258933a6a8f508cfa6ce9ddbc993a2e8600586e70f47570eb79e66d67699da9ec63a4b060970d49e704f11c2b7a430c2e8e15b2a5d679dd2dbe26ef4f1a884a9692ec3bd5667d6d4f69aea06265d5242acb42e193c5d5f565c85f421594c9295b821a645731a6af2562b770ab15c5753c7935c65e7a4f3dc0f6dc095f1a1fd9844f66bd88d0f5dc76aa0fe2f3e548adce179b0496287b924f0a4590178bcfe30284c4d4b61ef4523edb8082f9b6bcd6e3fab6b06071d9d51417e2fc6e4dc6e2f92d93d9c762b271814f889344756abd4a6fe1de64924ca8ca0e46ec64c83210a679dcea3d89ac51c0b62e0924de39b3904e4db8397ceba87afddca5a087627b2335c3cdf4667cca6baa21eae9424a4a53af9ba5123bc7522abdb29b369f7dcdaaa3a68360786e5a475080f4b12aa6c64e1a5781a16bb1d251515a86e68809722a8b27a5efbf5ab9192acd31b022a6da99480e6001b53c58b828c24acaa13b0a9017874722a922d0e7efd9735b5844720b1f591a14544012260c4d643632305ab8a98b7ec854281ffe0a6799854908d1d7babd1d8ec83dfe7675d9e123171233a8e010adad6b18abdf3661178f4505d6b124f4d854e87c54edba099c22963d641363728991c316ef212a42cc05c8b1508f2b82044e3293b2fcd56ca3a2c5a24ddc898e8bf6123a16a1189f23aa1df665c155a9f2207004ac475e67c8cf86d7b1adc5eab68f201518fa7e2f707e1a01c3594e1b7d9cbf88d8a850b4f87d7e7c1ee5dbb51515a8d5ffdf2573cd81a851358b77e3ddefaef9bb8f1e61bb16ecd3abcfeca1b7ab2432342addd66d3818e9111d862d55daf8936f0c8baac2fa8ed213904a7c3d9a6fd5eb60ea87f792a06ba97dd11fefebefceb91969e17e1b470020458d311183a550dd3007efec95768f2aa3c9664fec402cc9c3112cd4d1e58d824b45a443d5f4040e6fbb13b361fc088710ce139c9ba5f65036fe39285d7e387d3e540454915fc8a8482821c4efc288c6ffb67d3e0f85b5ab0e4bdcf9196990255b4e1e24b164060034a84c3e1b4ebaeb36c21d0e05b181354f8770a92d83368d22ba120b66cdc8bb193c721c9a1776b804d44bbc3ce15342afbfee30fbe40527a327c7e05175d7e168fd5c46607428c8959d8c468aa2ec3de43f59873da54386c167cb16c3d662d98831497c49fe570d8f86aa07c1856465865561f918722ee4cb3a2c7dbd8b7a70843478de446775a07c62fc1dbd488a51fac457a56129312d31991cc4049b91b679d33134d754dfc5936bb8511cc00bba3cb4893ededd45ec8cac669dfe6bdd8be8701a29143307bee247cf1e1e750537270c945d3b072c997a8a3fc104c7275a46760e1d953a175a239208653b2bf0cd6d47436c6560e30c9ee4112ece16b4882dcbc6e23f617d721c96941da90a1387dc154c670bcb0334220422732948934487d6db385351e7a8e087d7c8979d0d40810f1b3d93a259a129b5f07f716232d77281ce4fadeee32228c8df50dd8ba650f2aab9b30665c3ee6ce9f0191e69fd5066f431d967ebc81d76dcacca9183f26371c6c2c9a66e6d34fd640b6d8b9dbdec20b4fc7b0ec14941595c29a9c86e17999bc4fa8fea416a6aa381c760e6c690df0f967ac374e4c09143166bce483350c94d05c77e2d2cb1770a0e4644cb974d72ed4ba5564a43890373a5b9fc76c5dd929a6757b84106509d37c3c52760448cb426e4e0a5b171d3575b486577fba11f5cd41640ec94046aa03b9a3f29093e582bbc5cbeb2c49ba66919ea9ca14dc8dc20c50544dadebe7a6e660f4703b5b230a5a23cf081cc8fa19c1a6c8971abbb7938dfd54ca2fd3508fece42434297a6e1b1e4e9d98926a18e41a8c8d9adee0f5a199758327c9c23f6f6b066ed92232b0e2c02df9c0d4143796941e819381875126a3124c1b110d350d8c8649d6b0df0e9d73302290ceda5f52de8007ffbc8cf5b580a159a1f0b3a3b59524669affba1d4dcfc109fd561683bafb7e3cb6e878d758bb7cb64474a9b9096bbfd88cfa261f26cf988a242984ed3b8a3076ca38642511e32ec4c87163912c05d1e49770f2f41158b96c03244712ce38fb1424d945ec282c414e66120e301a92c9e67bfeb8d16ccd5af48487a2c4810dd17522d22430d1b9eac3c5d85c58854b2e9b0f85cd19a21136260004432aa715c4c88b0e1c823d2d1bc3d91ca744d6244c2a7cfd71b5330449e4f4860303bf0f6b56b376343341243717f34e9bc6e758724a32dcde66545495e1f5d75ec36f1ef90d567dbe9227dea3e8b32ec65b286fcd7fde7a83d1b333b0b370070f894fc903293712256b24a042d173291d80195597122152487d0a9b4fa1f92993f48a2d5bdaf42fe538a248bd14cd96f234510e26b3dcf1c3cb506019c9b579ad5eb4c73930a14521741251546213a6e240099a7c22aebaee74286cc21081d8f1d56eecd957051b2358e3c70fc1b62d455c222e98380adbbedc058f6a458a25847d7b2b3079e64478eb6a5074b89e4dc291f0d71dc181aa00468cca66d2adc49e6f89f26c814f2a674a0ace387316967cb8168d0d4dd8b466135a7c32669e3a0da57bf7a2b2c68ba494549c76da64acfb7c231836c2b84963505d5202bf2ab1c97a188a350973668f41457109be5cbf1316672acebd703603261eb6602c5878c1a958fae667f8f483654cbad730ae60280e175741b05831760c939ab616a2b2bc82dd772c073c145278fd4ad646bf8cd9f34ec2811d856c8287384226024f8bf0e24b17b089ae76a451860a8e809460a8e48428d7a80a933218231e9e978d3d076aa0e4a77266b7f3abedd8b6b3183667124e9a3e1adb36efe62aee71274dc7dcd9a319ea6ee69151db4788e569b6032164e5e560da8c02287e0fdc7e925e3c38b4b70cb5cd2aaebcf64c06cc342c7e63058a8a1b1973ce600b418d06adf8e2130daf105dfa09b189ebd0bf6763dac298cb9e8335b8fa5b1783e1124e482a4a4af1d5865d48cfc945aa5dc16ef6fd84f1c351c99897c8a4ea050ba663e3da2d68f604307df6341c293e88ca7a26d130e6a709124e65406268766aa75b2d669da22559207b813c463c3218415cf9c56e363e6760cfe66dd8b4f520240640478fc802f1eb73cf9987cc5427d7a8085d042e5318d13ce3bcf9d8bce20bac59be9e495e010c1d9683245b238ed43461d41027f6141d818d01b6a2e21a56f79928d9b31747ea7d183d76380768f3cf9885352b36e09433e672509dca08dbb9e79d8cb7de5886f55f6c42d9e12ad82983692693e8443b4fd6567f44c5fad53bd8dc64736344061313ac983c211b9b3697e2f485d3f4a46451c68b4bbaa26842828eda12ca8152d78ce193c663f68c6178e9e90f50c004912aab8c0387aa61674061ccc80c6cde7c0893a68e415d1569c214cc39e324e46627e9e0248a0e961881c5ea24f4a56b7a22e638cd1b6240cd161fd423d5c85bb11c632b2b602f3e04396f182cc929a8658ca26ec64c58b914a96b6fcc3947ff3c0c98d72821f8d31c68665560bc11378f6282027bd48424193bcaebd1c0fa2d28b07e7199bf6bf56c68668c898937b04afabc0930e6f8dbfb2e64f32c99cfb3671fbd1277fd7a091a9b033ca060743f283de0166da94ab0f6563a64757022a4c9403c6c3cb856bcebed28ab4dc4ee6dfb50df18c0c4c9a351c9d6f3d4d9d371ea6c113bf756a199c925675fcc98f586ad40722a6446a71d0c589f75ee5c7cba642dbc7e36c7931ca82e2fc7d64dcd987fe674ec58b7890195fd98c0808dc068d7a13237f287a7a3a8a80aaeb4749c73de3c066624943261b6baaa1647d8bcdbb57527829a15c387a661cfae124c983616b515d528ada8c1344637766ddcc268bf0d33a68ec4964dbb79123d0255a4cd18327218866539b0f1abfd4c481679fa01674b234a4a6bd9983bf8dab6d9ec282b2dc7e851a3d9da2de2493f29570fe521bafdf6db71d14517e1ad77dec4b7bf7d3dce3bff7cbcfcd24bf8e94f7fcac1c78b2fbe88112346f0fc45ab57afc679e79d87b56bd7e2e1871fc6ca952bc3b99808e410e0cecfcf0fa715b8f9e69bb164c912fce8473fe28915efbbef3e9e4139bccd8c88b92ff4bf2d52bf43217259137970a1ced4d62124a725332958e4fbbda435d9b9ab1c977de35c4c9b30046b566d47c6d0a16c10a6a3a18e4dac8211183f612893cc18a366add9b68131f6fa00aebde13ccc9e5dc0507206a633e698e490380e6bddd76c3d4ce6d75c5b8f375ffb0843f3c7a0bef4300e953620998189b2b22a866c83b8ec9a8b3034d38277de598efca9d3d864390ffbb7ef44e991669c76fa0c069a866374412a631c0df0789b98e4ca7e5b74182dee166e85df545b8b0fdf5d869cfc5c560b2f0a58bd4b8a8a70e625a763deac7c7cb96e07c64d9d846baf3b0745fb0eb0eada70b0702fcaab5be0620bb5bcac1a4d2d3e9c73e17cc614fc38edecd3e01018b1f504c34cb2a30d8fd08669746cbb2ed191d6c6eb0bf2de098518e10b7851c840c435377e0dd3c766e1b5573ec0b4b97370d6fca968a86fe2ea60bb2595bd261bc678a602d6b02121c3c0c3d528679260e981720ef0dc0cd1efdf5f85b4cc54b81c5634367adaa81c3bdff66b1b9a88e79030dc97e99fcc4090dde942b2cbcea7b48b4935414698489b555654c6a48c5a4c9d31198776ed83607520e8f362f3c61d282aad438acbc6ea7804f50d2d9835e724243329cbe674f27be88a0121ea7c89ecd168df1370fcffec5d696c1ce7797e66efe57d1f224591144551b765538a259fb2e35a361c45721cd74d9ac42e52a0409ae64791a00192022dd01f6982220ddc20400fc0296234ade3d82d1247aaedda497446b20e4b1625eba0ae909448513c77c9dd9de9fb7e33bb1c2e677697e492529cf72106bbdc6bbef9e63b9ef78eb3d44e3f129b8ce0c8d1b3786ce7e3b87743137a0622d8fef826bcf9df6fe354d76f9506cae93ca6e98bee4d244244f61d6885e5441c82a85fd64c1223cd0d7f9016ec6e1c3e7246550ce505914e8afdeffc0693be227ceef91dd8b46935ddcb087ef5ee618c4e18ca6cc29b42efa5abd8fd8b4334061b7199eed3d37ffc49ac5c568e63c73ea47b13a07b7c13c78f9c45f39a76ec7ae63eacea6844df951e1cda7f963680429a6bdadc8cb55ca5d7d0b07dd7fd88f6dfc09e5f9c40634b235a9aca71f6c2753cfdb9ed68ae2d2209f37d2c5bd982f19b03b8394ac4598fa397e699e97be67c46cd8ac649bf274972108b4d12418e207ef50a8a7e7b15dad2264c6e2501e8ee4d881251f39d3bafb44963d4dfba55efc4fe3baca9e4cd659cabbbd24419224ebea604b8bf12a8f3c77071e0965291b3943a3576ec97ae29ed53642241471c517abee75717303c3a41f33a8a7fffe931f4de182581c39b853068ca9caa1b09d77193f9302374bc9ed0ed31e42bff12af83cfa1edd0a134e3fc595e9bfd012fae5fbd86e3a7aee28187ef51da4e9fd78cea695ebe94d6f720ad8931bcf3d63eb4ac6b4169719cfaf816fd0cad695eeaebc828c265c544d03b70a5fb32064768831eba81f3e7bbb176f30a1af3092241b71019b94942ed00ca8a8278e7ed83f01655e1134fdd87d1913125fc1dda7f8cd6ef566ce96cc7a50fcfe3260d8292a2006ef40da069452b96d596623509c741af8e819e6bd877b00b1555a56671bd50d0aa626dbfb753da47d35435992a2cc88f29b7009ba6925fe379c0451ab958248fb713274ea46af45c2241997fa7b5b555fd069f93bf639a690da529b1579536ab4857cd58736f277cb7635072b63f0da33354792c8135b6d6e3e8b1bdd8b7370c1f4d3e2d1046290d9293ef9dc3505f3f49a165a8a001e60fd0600d0690188de2cc89f3b4c1f7a0b29c6b21f861c4e8461d3daf3e13a045f6c373bd58bf7629911dbf3aff8c8caf9aa636c78a25757870eb2aecf9dff7d0b8a10525c505a869a8436d5d150e10513971b40b83fda3686d69c0950b97e1890caac40355c4cc8b4b68d1191fc1a5ee3e746e68c4a963442cc245a94820b6d7159597e1b14f6c45296d2a7b5ebb89eaea320c5ef5e3e4d193488c8da0bcb210d72ed3e43bea47b0a018b189287c5ce29cda51bfb401d535e518bacee60a3a5f69b12a631d08d83635cdd974364daed71cfc50d8164b93bfbaa602dd976f2a15f33011b12091c3e3474ea2ffca0d74ac5a8e0ba7cfc2e0c259c5d5d6293d2ab7028730aa24518829f5b0223a34093aee6a47e7c6a5f88f97bab099889b161d42d7b97e6834c9f7eeedc24d9a407b0f5fc69f3fdc692d423333276a29cbb84f658af4b224c99b8fe5c0cc04a0bcb61a41e328f6ec3e88baca304689045d23c2172ead5026222e78554b7d3740fd1d2709a565591d420103bdbd43a8a67bce7e1ea7876fa1ac94a4f1650d38f0eb233859564e24ac03d189981b57b2fa5c733759b2af465c5719174b8b433426ced0781d804ec4afa76f18352429f7f50ee2aef52dea734e352d782df28542b8ffd107b1acbe0c7bdffc2542551598bc791545b4984c0cf5e2f0d99b58bbae156f1dbd8212227c415f08a3b4c11e7def03a5a1d97cef3a7cef1f7f8c675ef843e54fc209bb6a683cedd8f5083c8909f45e7903c70e9fc2c0b57eea8b0adca00d568f1b34d78a689c5f832f1e4115cd83b6a60afcfc9db3f8b3bfe8546a5e273299ca7b90d42639f50f5dd4e9139751595789bef72f1181f4a3e7b7b76831d77082c8506fcf2d5492405155510a3d10c3c0f8302da275a8af2b53da12b7f39ad9543d8e617f6a4cc6e22ab22541f32a46a4c8b36a0d485c04c6682d6a5887d8a14318a7e74cb3b94ca3b9564cdd67ae6dc3294e8ef7dcc0339d09eceef3e293878009da68bed61ec6830d55f8b7e36754fd9b697d6139c626ebb82423947df4da4ff77c80179ed9a822737ef0f26184e87ef9967853dfcd544347694d3c0573f6d1f4d17cd2b9d4809158b4683b33ebaf3f6b641dbb77ac5abf0203434771fae405ac58d38691ebbd6025ddb56b37b0acb9016ffeec57a86f6a2001e832ce5dea81c73f4e4461142544aa8746cb5052e04559552556af69c107ef77a39ac65b01add565a505b8353082a29262da908be9ff30c6ca0ae1f3c74988e943cbea65584744fcc05edaf48706f1c6cf7f8de1e1717a3f8455abebd1d77d917e3f820e12227bbbaf225440fb04fd8e160a2316d2682f28c4786d0dad8b317c7061185bef5b8737f7ec435949113412cc5b9b6b303a3ca4d64f26108d4b1bf1c6ffbca14c349ffef4a7d1d1d1a14c2b858585f8e10f7f88b6f6e5e8eeeea67d698fea9bef7ce73ba8adadc5c9932715e9e04ad14c4e7ef2939fa8f7bffffdef2bb2b167cf1e4540dadada94d9870f069b7d5e7bed351c397224551ec21e1d64062bfc9e1193145bf7b2631c3b83796d83963611ba194fecd88293b460c549b26b6fafc38ae55538fede0554372d41e7d20ada2c74f88894ac5cd588802781debe31d456956070288a8dad4be8a26238fdc1152215b568595e8b495d43241aa78dca0f47ad144d9650513136deb582a4f92a6cdedc81aafa5a6ca19b738d36af7098d3660710256989351a2b57d6e2fd23277063e8161e22c9373a1655390cee7d603dfa87263111d3d5467c9e0851f3c34b681324098108d3dd9bdb95036a2432499bf60a14d284d8b26d23de7fef3cc2b4d9dcbd75352e9ebd8a41da24b73cb001d1e151784345587af33a49522368a2beb97bd33a650bbdbb733d0d7c0dab37ac565a1d67cea1a5061a922a3963e6b5179494611d4dc6beeb4378e891cda82c0ba964667535653879e20cea5b5bb0adbd0187495ae8ea1ec4f2baa669616466fd13ae2f4b1b83d75c7d97af5c8504b56f743481bb366f40034d46c4ab50505a89f2f2304e1d3f8ff28625f8ecea15f06b6656d8a4a7bee9eceb518b57d01f501a19bfbf9836ae42c4533770ea42d81b69fb8e4788d011d9191cc7f28e56b42eabc1b9f3d7685276a2b830a00ac73df0e87dea3331222bab56ae5012d7d59e4134d0b8dad0b996085f0003f4bb2b37aca5c5ac496d649a8b362049a4b4541d8e99fd1a2c2cc63df7742822f0d0c7e9dcef75215c5d8bcd1dcbf0c1892e65a35e7f571b8d8711248c84e57c674cf38b30349fbae7c5613fc6c727b0acbd8d16e0108c4a92be88b4375475a2b163024b1a2ab171fd08a2310d2bda9b313e3440d7df83656d2db4ef8ea3991e9b975661928856212d4c9dd42ef68b6223d2c71fa7b61d3b8bfa9616dcdf5283cb977a110c6ba8ae2dc4d99317313c32813a2f9b1e1258bb61398a8948b0ff9493c2d5d41619162177b64f33a7ac2452d6dd7d039b1fdc88f2620fae5c1bc1ca4737e2d4898b685ad982fa1ab6dd6ba8585105c3730163511da190df45d1ababd4f6aa1e8861cc3081243778d68244897844e8be9ca57ef0bdf133181ce9c0f792ee75843684086b23c6234406f529bd98e563124bc4c16e195d241cbc73f220fe7ee56af4738a6fbad60acf24769fef559559e35e03a9c273b09239d24573148f925a3dc90d80cbcafbd5e6e2f51844d00244f80c33615b16a53617804c2893a631e7081de53c4dc426a68f2c9a029dcb4b7855f2bbcc612fbc6695545661fb53db949336fb5bc4e36d29a76ff6b7ab5e520d7f884d7411b4ae6e50fdb8626db322f92cb0c5131ad6ac59a6b45bf76d2bb5ae4fc7a67b575bf940384713937f8d08c732f5584044b5a6d10cfcdef2f05a7ae2a579e24398cea7fcd10a82ca4f8d4707b7a17d79a33241f373a5dda8af56cea8a54480feefcd03d8b27523097d013cfa070f2867f8a222d36999af3c1a8910292aa73110c40b2ffc09f6fe7a2ffeeaeb5f5763844d35fbf71f403dad917ff4dc67b07fef016ceadcac7c59d8f99589c4ae5d4f9bf9749459df975a155933e827219cfdd678ecf267972f6f4b8d12fe3f4a44e6f1c7b7a73432e618348978657915fd26479805cd42831e6f9e1320e6304ed29d2677eedca9bdfefaeb761d5b327f7c32a778fae1b7088edf76b0e812b41e93077fa668f7dbfff9adce4d77d5b177fc447cc44cde64a3673c38d8cb9aa30d941a9c6b31b32779c0aba4e3a4cd9ff75a151da842f490f2a6361d903ccaff826f703c6ea8fa3cead15be222c1258b8b7994bddf746e8d2b47573649b04dbeebd40534b737d139a23430a2d49ea03a7fcc3243b05f013b3db2f998a51f0e71555118ba9eba06ae126946ed68ea3d3334d7a32a49f262ce13cae737c3486334097c24f97a3592a07c01d58e499a4c1cfb1f6735a61501c476753d19d5a239ce70dcbc39847292401d59b0f53df674f7588396a55215ed447d6d9a19806192c08ffce614cdd3206d946b50489b846b655dc316eecddee21c99426d372c67565de594b026920eb3989d61338e6853a612b618dcec1f24f2544224c5e35a5e82c90c9b8554322bee6f4d53e7d5ad70545d37d5deecec96ac01c4d7c69331667d9efb91ef394702c5e87d335cce31d6090303b7505a56a69c34dd1dfc92632a9e72b463f2cda5db3d3e438dfdc989a44ade1d7e7f50d59662cd8bdf17b69674cdec3ca529d09406831d76d5d8e171c22188b458b1e3dddb6fee43537b3bda5a6ad518e3bee2eb36a5a4e47cf399e6271ec75c407772486540654766eec7fe9eeb3878e09cf2f3282ef4650893f662646844f94c1515061c9db2d5f8e72aaa5e4ddd7bee667ecee38d5f57a1e1fad43ce7b9afc19c6b26c736d224701f42fe529242693da1b9c2be05f6b1a95925e62f9ce9c3c4b85562803b94a371620933ac9dcd2745456a0166ff8040618c24d5a5ea77bcf41a57c5fd97e37db812a5fea2ef47a9ef4a837e94b3433a7d7d78228ea1a8e91c5f46ed7db6298ee6c62a95588dc7c8d5ab6378fb502991d00492a19e865534ed6b7fba45cdb96fffeb7e2595d7948de0912d7115c9a567c807cedff57b8bd50632d7d856eed7c9f89895c06de1c564bef7015fb155bccfc8a97d4885d99a6b03174b8ceb11357facf81d87f05e5d9dcbbc26dd46ba74071296a18fd9e8a4b1df4858095ff61a57536d9a19c5679a4e4c82944898e9123c5674904733c7fddffdcd77556569afaa4cec57f77a7c7c3c455cd884555850a8b41ebc9e7244cf42df213eef673ef714ea97d4aa7d86cdc39148d47870cb8eaf5fbd72ed8cf5b149eb98b03de723661d71eb88c1cc859f3c74db91b4fb1b8d8d8dc69933670c0e8dbe7da69ca461816e76c057449362c46af3549644dea42727ec8e59f6ff6dea3edd1c545373574f3d4ed89c16b93aa259a1d693c98d213580129637326f707198a183adab96d06636a29aca6d4fbe67db85cc051553e1819389e9932011374c094ae5af301caf2d369948352a168b20664cc0170babc4482a0994e2ea261132136059be166e239606564d6d752a7994dbb5c7d24c16712b9a62d27a3d4c52e6c38fdd6f3270dab413460649cdb29726ef37b75555b9b4880851087685b04f7dd7f6f37cafaaa952f7c0305cac9fd6a2149b8c4d9b6293d31c57b569d7a37c53e81ae3a93adf46ea9edb256db70baca9c9d0a733c69499d72312313700158617d76d633eb35adb2410bab2a1f3a2ecf304adcdc8eca0b86ede0bfbf5734231731c7bf0f127b7a508b266999852ed4272bec5a6c61d8723aa72e76665513e8aca2a942693498f9e408622c3064aca4acc3c262e6c598dff38b76feab59815dae434cfed7342d3d2fda66085ce7ae8bc65306b7bcc1c9b8ab4fa62b835346cd6ca6232c2c9d582b681161957fa8dd1d141ac6a6c326df309d3c4160afab0d418446fc4afc63e9f31323681b15123754d7ed6f81199ab3522a8ad68a67698721dff7479990f8d15d7311aad56f96192ede3cbee3adbadeec1922a125eb40934548fa2b8b8925ecb1c11a1ca071a715547653e7e01668e2233bfcb42ebf03daad2ad7f7689d5acd06b9542211135f37868faf4be3166ba4f4e5d4a360d9427e334667397cef5908c9055af4bb369c4a6da37c3b4e83705cee4be63a4aec314dcfefa6fff9284cdc9e9a66b2ded926e430e3c9e2b6a7d48fd7df44d3986dd2b8e2364d84721a68ac42ddce5734a033313a436c7124831da4823ea594e4981f267f4a2b6d3c6638cd102995036e1b9a8d412097dde6d360c538b8334b7cf7c50d5c5687fbe917b9b34b579b084a74a97a7161fefacc78292ccd893471f35f3b9d07860f3453624ef5b2e6347b34caa2a09d6b4853f49a0b5ac7b97a11b791e236e8b096b0e0b696e0753a611b731c5efb52c5f4afd7611c3b746a74ad04ffb3dd304b5aca116d5359529e1416936a8fb1f5d5b8f251f5ec37874321571337d5f3468e3f260655b0342054133b24799b6a04c89ebd74470e552b7e9f8991408e2e3e8bed4a506c592720de17000ed2b1b951f95a16736d318ca473491f33c7237af90a84042624c0989c682cd359517d71b9ab36686358b6a0e698bbf0ef37c48e811d5860011b95cb24f3b3940a713f46020843b0dd3b43fa9d41ebf7b995f8db4e746da73fb610b43b21a400395232ce289c8c2a8122de7532626a623e8ec3bd8af9c2e03b4b944ade4628b57b25eb32c68bc11b1f4a6a2603c5e487d893b1de6f8e0aac8717d5c6df6f918339c28cc5052b86e268cf3e47bd1d0d406925e00ef4e5c3cd9f153694b72096754e6221fd6ace970cdd466602a31a319e130b5c1a874028545d8744f47e62abf6a03b332fddaee376b99aaab2bd0d8d0acd612c3228013f1617a9298e650cd84c8d08d1c92a29ae63cfe9db9e634496dbd1c59471bee64627461ca9919e606cfd73ed774f81cd1c929f9d53a4cf3ca58c475d80a845709ee26132334ee0a956967fe73efce5bc7a777692ad230dbdeeec603168d98185908895b6fabd742a190dfe7f34d5bf854496fe58f30997f298bfa5399713cbe794916cab9d3cb2aae10e2464465545dcc95db1c2c3a62b47004b4a29c6db482db454a8c54965c2d55b02c2f2c5b2dd0ac529eca7eabe5bdf9e66fdfa9ccc450a62c3605e73ca735bba62bfbf2365dbb6428bf16f6593053b718390943e9e767eb269bafa69c5f13ce9a3743cb7dc3b5f60b7b26e4396f06beb0daec59bbb720ebb0e6331d5fe7c17c38a227406b9fee09595ac8d8e2d6db31e376e9dc635696f2103ecaeb309b33c3e1906663935a963d3e2f9de19bf58a903bcd4b67537c41d1ef7df79f7ffee20fbef5d95041d8a327a6d490ecb8c7fe26aa36479ec16a4a3394300f7dc619478d4265eb64e69e8afd5bb42599d7ad0945924c15b690933b4f9ad71529f1a8689140deee3b2fec6cbee17b9fca69806459034fde4698a1a25bee5c75090b1aa630b3182a6633a19fa1e5471008f882965061667e45dc37cf4dd550cec97e4f60661a84b9b42f504663d7af0a76e67be5e21a573e6f9ed62c2da0d6e184d248464cff9845a7c73178687efbbcc18fa678c526be801ffff0ed7ffae5f5be1b3d30edcf892cda92bca8877cb3f8412d47029249cd63fcd78f5f7fe3835367ae95941417eabaae227b0c95895ef3d2824e47c21e05a4d99ecf99166b1edf02706a4dd91b550e8045962c950a93ab987aa4caee9d4a4cf4051817ca81384d3236ac10634f9e8889192912bfa3fb97a370cc9a47c6a2cc3cd5c779daf8cc7ba8a5c6896124e64d4ca6c6451e851f3dbe00f7cdbb00a617cdd68f8b4f4d8c6949fdeefca5296dcfd66d8fc9c31641a325688f8effe6d07b27e9ff719b246038282972252a3991135f36a555065292c9ae94dec8e4452be7885327bb8e59e74e1e5edb738ff5bf275fc4442010080482df7799c98198a41392b8ed317924f7e1b8edf36ea404195ecb99a0f8b29012cc9390d85999fd737e0762e215622210080402c1a213137b4d80748b45cc611fd7d31eddf801321014632e1a13274d492e0eaf4606829264661e974e49381024438889402010080479232680ab0927eb91cd650398a723ac6f96a444cb8184e82e8c2cd3917e9e643cac274d63221008040281607e04c5702125e9042591819ce442528c1cda929d981886918da8b8a969dc088ad345a597c54cfffd2439d121a61c8140201008f2a931315cf6e584cb737d9604c5e97c8e64c4a9ecc20c62e25e56dc957501ee661b7bc313360d483a41019cc390c4c7442010080482852126461af9c8f638175292593be29b69b89951c4efdcb973d8ba75ab76e3c60d5bf2f81985fc920eaaf62359c82fbda09fdfe1bd74a757fbe1b11d1062221008040241de894926ad893d4ac75e942f96f63cfdb5b8c36f24329199575f7dd5d8b973e7b450f2195465e9d2a5aa888fed02b41c2e2e179f92a4c6c42d703ff91b9e3422a40b31110804028160418889e1a22189672018b3718a75d3a028343535cdc86f33839870f5d00c7e267021256e2ccc6ebe49c0d991d54e48d21d5e3588f3ab4020100804f92428999409e91a936cc4645e0eb0cc39d2912d5cd8e3a039712228ba4dbbe1a42149928b78860e4afa9ee43df3ab402010080442485c3526ba83c624dd9ce3a449c985a4209bd66436c4249d903891896cec2b9141eb91fe3d6f1a29b1931321240281402010e457633217ad49ae9a13c03d03ecec33bf3aa956e01cd29bd49418366d875383e32ebfa7a77dcfe34048ec452084a0080402814030778d09903dad8753e870bae6c48994a43f07b244e6e41c2edcdcdc8cfefe7e37420207466437e568700e07d61c1894278d98682ee44408894020100804f923289992a126e01ea993abd60469e46486d6a4a2a202656565d98949381cc673cf3d671c3e7c5873b810cd8171a56b4f344c4fa09670d092d88949928c24329012f131110804028160fe84c470d88f67ab39712328e97bbca3962489fbeebb0fab57afce4e4c189148c4495b62ff3f9d0d01d34d3a7642924e6092e9e613702ed6978998080402814020981f41994db6f6840b41c9464ab2561c8e46a38e0d742426cb972f472010c0e4e4a4db05399d289da4b87dd7ee4b62d792a447e2c081940841110804028160ee1a133782a26721276e513b6efe266e04258555ab5639365473ca59323e3e8ec6c6466d7070d04e069cb418e9a4c283e999619d1eed196473d19408311108040281207fc4c42972269b59271349c9e46fa2bb9c0ffbf6ed33b66cd9929bc684b3b075747460fffefdc91f7132e7204d53924c909670b8f864413ebbe946cf424c44632210080402c1e21093d912143d476d89631b6a6a6a505e5eeed8504762c20eb04f3ef9a441c4c429f788e672323b41d11d1a95fc9e1311f1b868669cc889402010080482f911945cc84936134f2e3e268ea69c75ebd6290548cec484f1d0430fa99a39b69c266ea404985ecf06989e3536f9be07d39d6333996edca27084a00804028140303f8d0990b9ee5d3692a2bb90162772e2743e6cdfbedd355a4773a98ba3b06bd72ebcf6da6be92421bdea70ba96c3297bab937624131911138e40201008040b4b508c391014dd85b0d81f930a891984841f5b5a5a70f8f06195c764561a13c6e73fff7926266e17a6a5694290d6183bd1306c64c39e13c5e3427884940804028140b0f004c5ad0a7036ed891b3941b6c79d3b77c28d9464d598f07bcf3efbacf6ca2bafc0816c208be6245b4e128f0301114d894020100804b7577392899c64222a807b7561f5d8dede8e03070e186e8eaf8c8c1a138ecef9ca57be62bcfefaeb9ae56b62a46940ec9a13271f131deea61ac3858488b3ab4020100804b74f73822c84c3cdb9d5cd7c93c217bff8456422258a0464d29824f1e52f7f597bf1c5179db4186efe276ee6996ca1c04e8444488a40201008040b4348e042268c1c088adbff702039d8b871230e1e3c687060cdbc89c9c0c0003ef5a94f69efbefb6e2672928da000b9fb93386954040281402010e48f9868c8103983ec7e28d9de4b3dafababc3eeddbb8df5ebd7676d584ec48471eedc396cdbb64dbb7af52a722025b93c66fbbe402010080482c52129999ee7e28fe2fafd603088975f7ed978fae9a7736a4ccec48471e1c2053cf1c413dad9b367b39113fbffb9920fc9592210080402c1ed21246eafe5a251717d5e505080575e79c520ee9073a366454c183d3d3df8ea57bfaafde8473f9a0db1d072fc9c10128140201008ee2c8262e4485ca6fdffb18f7d0c2fbef8a2d1d9d939abc6cc9a9824f1eaabafe21bdff88676faf4e9d91094d9be261008040281e0ce202839bd565656866f7ef39bf8d297be64b01967b6983331610c0f0fb3dd082fbdf49276e0c001cc826ccc86840861110804028160e149c8bc084b7373339e7ffe79e30b5ff8827a3e57cc8b98a45a47bff1d65b6fa92cb1bb77efd6d85136cf2443c88940201008048b4b48b27eafbaba1a8f3df61876ecd8616cdfbe1da5a5a5f36e605e88891d914804478f1ec59e3d7b385e593b75ea14fafbfbd5eb42460402814020f8dd242a1e8f4785fdb6b5b5717560e3a9a79ec23df7dca3c8493e917762928ef1f171e530cbe4e4e2c58bea795f5f1fbababa52c483a37d0607071dbfcfaf8f8d8dc9d01108040281609ef07abda8afaf777c8ffd41d6ac59a3b2be33f873ededed46616121366cd8a0226c5a5b5bc1ff2f24169c98e4025dd7313131e1f81e93184ef0261008040281607e0887c3e0eabe4e608dc85c9c553f92c4442010080402814088894020100804022126028140201008044ef87f0106003ca65b2b610cfdc80000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i MetaLab}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 MetaLab created Flow, a task management app for teams using Backbone. Their workspace uses Backbone to create task views, activities, accounts, tags and more.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d4948445200000226000001a008060000009ecfac1e00000a38694343504943432050726f66696c6500007801d596575854d716c7d739d31b6d86a1c3d03bd2abf4de04a982a80c030c7584a12336448c404411110125a0511105a311905810516c415001153520414589c1820d75ee01f2253edcbcdd97bbbe6f9ffd3b6bafbdce3e6baf873f005d969b9696824a00a40a3285419e2e9c6511911cd20820800709200393cbcb48730e0cf4837fb57743583466b70de772fd6bd87f5f908c8dcbe0012081d8725a6c062f15e32e8c3d7869c24c00948c717f4e66da1cdfc59825c40e88f1d41cf3e7198721b0621698351f1312e40a80d30120d3b95c211f80668ef939d93c3e96871682b1b1203651807111c60ebc046e2cc63d181ba4a6ae9ee3698c7562bec9c3ff86b9dc98bf7372b9fcbf79e15fb09d00ece03c01cf9f9b911927e4b87253126384dccc382cf1ffd45253b2b0dacddbdc0dd0e304a1c1d8ac870d4508863c10000ffc810b1990097120040eb8626f29900831d81b77de8b1d2a332e17ab0b80ebeab43c61223f2193e38cdd649c01c75bc03332e0981a9b98cc2dffdfd85c0f2f1cf64de07c6f22ec73fff832b15eb67f89f547ff3fbe4821c051ac0632e6fff8746400a4f70174e8f2b284d90bf9f0731301a8200e2c90036550071d300453b0043b700277f081000881085889553e0152b12ae740016c84622885edb00b6aa01ef6c361380627a01dcec005b80cd7a11f0661044661025ec034bc83590441480803612272880aa289e823a68835e280b8237e4810128144237c4480642105c826a414a9406a9006a409f909398d5c40ae2203c83d640c99445e239f501c4a4759a812aa852e42ad5167d4170d4157a07c341dcd478bd06d6835da881e45dbd00be87574101d455fa03338c0d1706c9c2ace10678d73c505e02271f138216e1dae0457856bc4b5e03a71bdb8dbb851dc14ee239e8867e2397843bc1dde0b1f8ae7e1d3f1ebf065f81afc617c1bbe077f1b3f869fc67f2530088a047d822dc19bb08cc027e4108a095584838453844b8441c204e11d91486413b58956442f62043189b8865846dc4b6c2576110788e3c41912892447d227d99302485c5226a998b4877494749e748b3441fa40a69155c8a6640f722459402e2457918f90cf916f919f92672912144d8a2d2580124bc9a394530e503a293729139459aa24559b6a4f0da126513752aba92dd44bd407d437341a4d8d66435b4a4ba46da055d38ed3aed0c6681fe952743dba2b3d8a9e45df463f44efa2dfa3bf6130185a0c2746242393b18dd1c4b8c878c4f820c6143312f3168b155b2f562bd626764beca538455c53dc597ca578be7895f849f19be2531214092d095709aec43a895a89d312c31233924c4913c900c954c932c9239257259f4991a4b4a4dca562a58aa4f64b5d941a67e298ea4c57268fb9897980798939c122b2b459deac245629eb18ab8f352d2d256d2e1d269d2b5d2b7d567a948d636bb1bdd929ec72f609f610fb938c928cb34c9ccc569916995b32ef6515649d64e3644b645b6507653fc971e4dce592e576c8b5cb3d94c7cbebc92f95cf91df277f497e4a81a560a7c053285138a1705f1155d4530c525ca3b85ff186e28c92b292a7529ad21ea58b4a53ca6c6527e524e54ae573ca932a4c15079544954a95f32acf39d21c674e0aa79ad3c399565554f552cd526d50ed539d55d3560b552b546b557ba84e55b7568f57af54ef569fd650d1f0d728d068d6b8af49d1b4d64cd0dcadd9abf95e4b5b2b5c6b8b56bbd6336d596d6fed7ced66ed073a0c1d479d749d469d3bba445d6bdd64ddbdbafd7aa89e855e825eadde4d7d54df523f517faffe8001c1c0c64060d068306c48377436cc366c361c33621bf919151ab51bbd5ca4b12872d18e45bd8bbe1a5b18a7181f301e319132f1312934e934796daa67ca33ad35bd63c630f3305b6fd661f6ca5cdf3cce7c9ff95d0ba685bfc5168b6e8b2f96569642cb16cb492b0dab68ab3aab616b9675a07599f5151b828d8bcd7a9b33361f6d2d6d336d4fd8fe696768976c77c4eed962edc5718b0f2c1eb757b3e7da37d88f3a701ca21d7e7018755475e43a363a3e7652778a753ae8f4d459d739c9f9a8f34b176317a1cb2997f7aeb6ae6b5dbbdc706e9e6e256e7dee52eea1ee35ee8f3cd43cf81ecd1ed39e169e6b3cbbbc085ebe5e3bbc86bd95bc79de4dded33e563e6b7d7a7ce9bec1be35be8ffdf4fc847e9dfea8bf8fff4eff074b34970896b407408077c0ce808781da81e981bf2c252e0d5c5abbf44990495041506f30337855f091e077212e21e52123a13aa159a1dd61e26151614d61efc3ddc22bc247972d5ab676d9f508f988c4888e48526458e4c1c899e5eecb772d9f88b2882a8e1a5aa1bd2277c5d595f22b53569e5d25be8abbea6434213a3cfa48f4676e00b7913b13e31d531733cd73e5ede6bd88758aad8c9d8cb38fab887b1a6f1f5f11ff8c6fcfdfc99f4c704ca84a984a744dac497c95e495549ff43e3920f950b228253ca535959c1a9d7a5a20254816f4ac565e9dbb7a204d3fad386d34dd367d57fab4d057783003c95891d191c9c2c4c28d2c9daccd5963d90ed9b5d91f72c2724ee64ae60a726fe4e9e56dcd7b9aef91ffe31afc1ade9aee02d5828d05636b9dd736ac43d6c5aceb5eafbebe68fdc406cf0d87375237266ffcb5d0b8b0a2f0eda6f04d9d454a451b8ac6377b6e6e2e162b16160f6fb1db52ff1dfebbc4effab69a6dddb3f56b496cc9b552e3d2aad2cf65bcb26bdf9b7c5ffdbd685bfcb6be72cbf27ddb89db05db877638ee385c2159915f31bed37f675b25a7b2a4f2edae55bbae569957d5efa6eeceda3d5aed57ddb14763cff63d9f6b126a066b5d6a5beb14ebb6d6bddf1bbbf7d63ea77d2df54af5a5f59f7e48fce16e8367435ba35663d57ee2feecfd4f0e841de8fdd1fac7a683f2074b0f7e392438347a38e8704f935553d311c523e5cd687356f3e4d1a8a3fdc7dc8e75b418b634b4b25b4b8fc3f1ace3cf7f8afe69e884ef89ee93d6275b7ed6fcb9ee14f354491bd296d736dd9ed03eda11d13170dae77477a75de7a95f8c7e397446f54ced59e9b3e5e7a8e78ace89cee79f9fe94aeb9abac0bf30debdaa7be4e2b28b777a96f6f45df2bd74e5b2c7e58bbdcebde7afd85f3973d5f6eae96bd6d7daaf5b5e6fbb6171e3d4af16bf9eeab3ec6bbb6975b3a3dfa6bf7360f1c0b95b8eb72edc76bb7df98ef79deb834b0607864287ee0e470d8fde8dbdfbec5ecabd57f7b3efcf8e6c78407850f250e261d523c5478dbfe9fed63a6a397a76cc6decc6e3e0c723e3bcf117bf67fcfe79a2e809e349d55395a74dcf4c9f9d99f498ec7fbefcf9c48bb417b353c57f48fe51f752e7e5cf7f3afd79637ad9f4c42be12bd1ebb237726f0ebd357fdb3d1338f3e85deabbd9f7251fe43e1cfe68fdb1f753f8a7a7b3399f499fabbfe87ee9fceafbf5812855244ae30ab9f35a604e76a2f1f100af0f0130220098fd00d4ae058d391f81006235f41761b2f62f0651e6375cb1a043e7a32c011abc00c2a900be9b016ac600b45bb0bc6d0073f238c40990bee57f8ff92d0019f166a60bdfa03b63d2e4a148f406d3bda40a802fdb45a2d94691e8cb7e4ceb8c0074e52e68dbb9683f43006258849ba959efefca1be6f77ff3f80f2c13cabcac1cf5d2000000097048597300000b1300000b1301009a9c1800002000494441547801ecbd09805c577526fcd5d2555dbdef7bb7d4daf7d59225cbabe4dd16c6368b0301c761c284199281244cc24c423264c29090999f6c10088410430801830dd8c6bbbccb962d5bbbd4dad56af5be5657d75ef57fdf7df5ba4badd666ba65c97a57aa7edb7d7739efde73bf7beeb9e7b8d2e9349ce050c0a180430187020e051c0a3814b81828e0be180ae194c1a180430187020e051c0a38147028200a38c0c469070e051c0a38147028e050c0a1c045430107985c349fc22988430187020e051c0a38147028e09d6a12b818a63a0f277d87020e051c0a38147028e050e0c25080baa953aa9cea9accf4cf0184648314552cfbfac250d4c9c5a180430187020e051c0a3814381b05c68fd16704239309567e6560721630723ae071bafb672394f3dca180430187020e051c0a3814b87014381d2039dd7dfcaa20e51d2fe59c06908c071ce3af6d529eeebefddc393a147028e050c0a18043018702970e0546818a8d0fde29407947c0c4ce348b5e36d0b08ff6a3ecebd39ddb719da3430187020e051c0a38147028707151601470b058d9e7a72be5681c618577024ece6b29e71c01890d40c61f5509fb9e5da1f1d7f67de7e850c0a180430187020e051c0abc7b141805189922645fdbe7e38f8a3ad1bdf35ade396760720ea0c406193a669faba0e3afb3ef8d3fd7b5131c0a38147028e050c0a18043810b4f011b5828e789ceed7bd9c7ecf3ecf7ecfba616e72a3d39a7a59cd38092f160c30624e6fe073ff841f7ead5abdda954cad84a0987c3aedcdc5cfb1d44229109cf4de99d3f0e051c0a38147028e050c0a1c005a700c7e95130917dce313b1d0804cc33b7db9d7afdf5d7533ffad18f522ca0c672dd1f7d6f5ca147ef0b4b9c0b3839abc4641c28b1c144f651e7275d1394b858e0240b101b57c0932e3369dbefdacf74ad8a8cbf6f3f778e0e051c0a38147028e050c0a1c0af4e017bac1d050f9924851fc6df3b29378edf3e8ef51e8ef58a67ff14c73eb7df1f7f3cebb2ce3b01263660d0f194dfc68d1b5d3ffff9cf5d9ffbdce766df7df7dd37161414942793c22869fb3d508a62ceb3410f11982a34fa2c73ae1be63ef8dc8a32b1b15aa669c5838e561c3bcdcc03e7e050c0a180430187020e051c0a8ca300c74a031ec6c6510eee146e285af633ddf3783cae6030d8c371fed92f7ff9cb2d1cf3d33c57dcd3fd948cfd4ce7670526675ccac9060e4ccb06214ad73e3fe978fdf5d77b58c0c4fdf7df3ff3de7beffd7a7575f51aa6a10aea1d133c5eaf2aaa8221954c9a1f23d88fc78e7ceef278e0e64fcfd3041ea944423532d763114d254d9a2418dc2e37528c934c2604724eca3bfb1de7dca1c0e54881892741eaa393478d09f36006a7cd82fd555c2b9b4f4c5e699c941c0a3814f8552860f767bb7feabab0b010143c6c6e6f6fff4fdffdee770f72ecf76edab429799a7c4cf7ce3cd3b9fafa199774ce084cb232c9e6293a1fff9388c2bd6cd932152ec402af66c1d7f4f4f4101b185186550e461aeaed456868080228456565ae404181011d597959a7042fd1e161847b7a095e12f0171523505e36a1d741112c9188a377a007e168187e9f1fe5c595f0f97c06009d92b673c3a1c0654a0117fb95873ff599544a7c44a09f1304c32e2687289a4c280f8ba1895570a2c049c569b36059bc1e37fbf0e9f8dae494cb49c5a180438173a780b083626bc2afc0950ff569d3a1295c70733564cd5d77dd752581c96e8efdb91cfb154d4b16f6f285aeed60777f8b21d8774f733c5760a2d7c78311fbda80123e77c7e371d54048a8584c299148a45939af9820955fb1e38517d0f7f4d39879fdf5186eefc0ebc78f63d17d1f46d39c39a3b329252af6d4b57b17867efa7d54cd988edc8a6a74bdfa2c526b6e43dd35d722d79f3b0a385c9490f4f5f7e2c9377e865ecf412c98b612bb5bb6202f5c87db56dd8bea8a5ac69d884eccc4090e052e230aa81fc6c2210409f8e38934f2f303181c184061451d4a020406498b77289efaaf8e3c618f56afcc0e96844552ccf1cf8847101ce8c3f0489413831c029238d2ee1c949496c04b3e672567a567f2707b908c8470f8443f1aa7d5c3e3525fd5f393e366e7ee9c3b14702830f51450ffd4eac600798440497171b1e10bca9963bbf433c4238a78e9ca8cfdd9036df67976616d80927def94f3d30213666873231ded7325605feb380a4a747f646444d79e582ce662c14d65786d96635ade7c13b13ff9136cbce37d98bd662d42870f63eb37bf81d73abb90f727ff1315d5d5aaac91a40c74b423f2fdff83c5cdfbd0b4f19bf0574f4387772bf6fef44fd099ffff507fe55aa41957b3bf64328667b63c86d7525fc787d7fc01d6ccba1e81ea041ed9f215a45f4de3c31b1e809f40c612dca8344e702870f951404cc497ebc7e11d6fe0c7bfdc8259f39b3177fe3c1c3eb41b0b56dd82d24001fb2925290404925c882149cae1f6e670fec3655176753e36cf4c1c8a58a8b1cf4771021a6bc954a02327c78513475bb075c77e1cdfb31ba5cd7350d33813d75eb70eb93ea6c948926eba5c94aa283ffe42c13e3cf6d816dcffc9bb51c438b198f2d5922fb326434c1aa1ebe5f7cd9c1a3b1478372920498940c98103074c311a1a1a5055550582100112335e6bace7434f66ecb731815dec6c70620312c55190d0e2b4cb39a70526d6bb27fd558276a2f6793630710f0f0f4b62e265613d2a7c421520778946a348bef40a6e9e31078d5d9dc05ffc05f2f86cd5da7570bdfa32ba5a5a505259c9f831a4183f4166396fe13e345cb1119ee1e739a3f2a174ba0f8bee598e9dfb3721ba78a9013b1e16a7afbf07c73dafe2e67577231a388157ba7e8058208a1bd67e003b5fdf8a8eee5bd154377d949827d5c8b97028709950204d20e1f1ba313212c7da5befc1edd7cc4734d48383077619c031d87d1cafbfb913e9fc522c9e3b1d9d1ddd68983103bd2d3be0299986626f182706929835bd96528d38766e7d156dc11cac5dbd1ce585f9463292641ec432983e7f15162e5d89a7beff6f987dd33d9851578423fb7662cba136e4e49560f19285480eb763f7de83c82b6b4273a50f6595c5488cf4e195d75b3097cffb4f1cc4e1b621cc9c3b0f757a46b0343657ba4c3e9a534d8702ef1205349151e8efef475d5d1df2f2f2407d129495951940a2bea8315e633da3793363bfce2702234accc60e3640e1add387098189904ce6151b80d829d8d73a0a94d8d706a070b94605f3c49349b7a41f71cdb808345878348d84515f578dfcf252b8f22dbd925c2eefcc6c684688cf628c2b2948c29d40a13782ca45ab9137ad0639f99cb1b95d04273970fb3da88a44d11f8bc39dc3faf17f341143c3ac2ad453e2e2e7eccbeff122c6595694b3acd0ec1045d75143c8386769528c75824381cb91025a7671c5ddd4e54863eb0b8f21dcd78a154b9b8d6422111ec20b9b7e82b2d51b91d77b10cfbff406522321f63b1f9effa74fa1e27d7f8fd9de760c16ccc3ac74927a5c29cc5db00205470ee2a5271e85bfa201cb162f40719edf4826d5ef63a13822f104860687d09fa7a4f2d1505785a71eff310a6a1a903af03436b596e1938b2a918ef42146a0f2c4e30443f3ae803f358487fefd1b58b9f1b3282bf0234afe216035c6962ec72fe8d4d9a1c085a5805619fafafa8c1a86fa9ec67202107829cd1470c9ac8a6850f564c67e7b80b58188ae05548413146c50327a2dacc1b4ecfb562cfe9d10988c3e1d3bb101c8f8a332b67f94fc1019b090095b624206a50a29df742d4146b4049e9933902488205a8197d2130f81868b0ab092aea4392b4a733696f405e02eaf46a0aa0cc95cafd99de389529a4242c5f263485059cfcd35f23445c85e8a9b0a5ce5144517a224271f0539018412610cf297e72a418ed7c7ac9826c10af7f568e57aac56ce994381cb8502ec83ee84079168027397aec5756be722191d422c9e4274248881ee14564f9b065fde08dedeb715cb57cec0a33ff93116ddf245048f6cc1f3f152dc774f15629108e2d445c9a1fe487543133a5a0f62cb9ebd983973260a7cd417611fa598949300f6379e9b25d454944b460791f615a07afa0c029b04165df13edce87903cfbebc19ab97cc41fcd8663c139d852fde500117253b1ffef5cf60dbd62dd8925c8a95739bac1d7997cbb772eae950e05da680c66d0581909a9a1aa300ab651db38cc3fbdaf99a2531191dfbcd4b6300c406283610b18f671d84cf1598283f3b511db37fa3c0844b364662c2a314610da21228d17a71facad568a342eb1c32300fd7a9f81011828a76ae27e7344f370c8f5c8c35e6ccae6a363a820750ee8e23a7a0d8303aca8fd13d18c270e5d58417dc124cb0a17fb9042355e10518e93b846994b0043c011233079d6d9d288ace4671a014e1c88833dbd21774c2654b012371e0bc41d2cb38a526094a33a44312090dc3935b88998bebf0e8a3bf806fa4135573d6a0b63c173b9f7811777ef437d0d6f1323a8be722e0039782a204256eec7e6333f61d1fc28a2bafc4a7d65713e444087a38c9d04444ec81138c582c4ae0a349410e5a76ed404edd3cc47b3ad176fc184a53949a52bad9c525a460b00ef973eec01f2daec40fffe5bbb8f3fdb7204e255d2e02a3b5bb17cb663598655e29ba3bc1a18043810b47018de39292d82b1f9292d841cf34d6f3da638ffd3c17e8b07fd938c106296705254a5f62141d4f0a642e4a50c1e6043aea9e8ef64f2044e702373af7ae5fbfdeffecb3cf0e7df5ab5ffdd4fcf9f3ff171562b4c1c6a33cbc393928a058a89e15d33a952ad54104d65d5a8a116eeb25f7620ecc42e521c3ca4b0451ebdf859a86087c5cc2e9ed4ca1b5672606731a18d592c4306d43022f9f0f72478ebfb413855cfa191e8921d447294a720ea81b4b2a11ec98e29b379c3f0e052e7b0aa84faa9bab53a739e0fb73bc5c76e943d21d40695100b1689cdd905b8ad91d0534b471306d9460f58eec04a551405b062eded352ace2b8b9e49a1d0c4831fc854b48ee14868647e0cbf131cd1467602e8c0c475058528a1c37975e2901cd0de4221109232e5d156efb4fa473505a9c4f5e4169a9ca909db873ee50c0a1c09452403c2287e3b6a4260a5a75d0b89d0949ea9d78f6ecd9f3a79ff9cc67beceb1bf88637f94cf845c34eeeba8651c9deb68ff043874ae608ecc47f74e0aa7484cb24089cd07b28f3acffed920c51c89a67494e2aba563128f8f26a775e73401c911329d1ebf0f71567824104098f7939999965db234f54186290939965a8bbe13313233370647a84f42f1716c02e94722944069de5ca4faa7233de2823f964620e947980c33c5357131482738147028c09904a59416b0b0788387938014f5b486c970f20a4a883e92080d53bf846085f0c12ca1b8b8a59710854ba8461662c8283b44c1c101f62f6b4ba16e4ae0991d1427ad25d4541c299ecb28534a484753051e4bcb034612128e73e2c2e59bd05090d2189f5906cacd2fa290344d692741cf296c2b3b17e7dca1804381a9a2803083a4ac76304bb3bce07db3f356633d2f3d99b1dfc603eab13ad7311b2fe8dcbe377a1448180f4e4e01267c71a2903db28fcf48d7a6404454a6902cbc5b15d2cf0e8a140e5119958024680c3b114a097d69e9864a35d9715597442c82249963c4eba7721c5fd66c2d313c415cd5344ddb0c43f0316e82c04469c5297151102839396d73dbf9e350e0b2a48074b9d4bf6cac2e698405dcd35ca62120e13323f9a054231eb340bd260af63b768f8e9359e9bd33f52f3b8e08ad7ce35c7eb5f3d53d2df5d869c43279e99ef2620766bfe519a530e21d4e7028e050e0c253c0327a68f77af6c74c07d698aa9fc67a96ca9319fb0d0ee0b5a628eab6d93f5e9aa07b6309666e8e3f9c2b30d17bd999d8e72a88ce4d816c60420d5d6e1d0e92d1854f624426ea08451f86e3e84d3b9989caa967bc9f1ee25181d7668d79a2b8d6f391b418ab9e8b61aa480aa78b6f3d75fe3a147028f06e5120d3c7dfadec9d7c1d0a3814784714d0102ec3a51aeb99c07860a28eadfb130194731a90cf059828133bd8e73ada3f034a78ed1e1a1a3285eceeee71171797806e922d3c61bf6d8e7612ba3897329e4ffcf3897b52a19c0b87020e051c0a38147028e050e02c1430a336ffc8c0a2c67a46f764c6fe512cc07bd9a04429660fce3a3fe3e07f3a60929d8812cd0e7a36d1cf9d0ad4b160bbdde9a2d5ae54f9154853b35ee18c2530319c3f970c05cedaa42e999a38057528e05060b228e0f085c9a2e425934e2a908f745799befce8d8cff389b081ee9d2e4cd8724e074c94487662d999d9cfb2ef99f3603062105347efa03ba7bd9f9afd2126929dcce9cae6dcbf542860fc0e49b7c0f9ae97ca2773cae95060ca2960ebf1d93a08539ea193c1bb4a01e975fafc3168ac67415c99b1ff144ca0679982663fb36515ba679f67a25987330113c5b013cd7ec9be979d9139cf49a7cc91765ae909837e6fcc8e213b7a7612a73fcf6ed8aafcc4c53efdfbce93a9a380c048324d6bbefcba4e7028e050c0a18028209e9de2e604e9001add3e292038e13d4e01bab8e0f8aeb19e15a521766bece7b9c1005947d1612210a07ba76d28670326e313b533b033b79f9b6ba2661ddd34dce44e709b60929659cf1a325abe2aa2f45593b4679088f13da69443fb248263da9268cdd04f5b8fb36673714710d95437d6923b94ce2d58f1273b6e3ab363ca6a4b63f436b9f15bc95b2c778f9ef17bc800f0389316a714d378b2cd54fbbdff7d4fa9be73e33d48010dd0a6c7fcca03333bc6184b3833a5ac0ccf1ce79c9faafc4cd074f633f7713b491355c084b6a5c8facd7674b3b9c18e307ab4d2161fb79c458e3e704e2e420ae8bb6a6bb02461a71b7bcd186f9908d12e5cb5d8ec9f6a655fdbe73a2ad8addbba9ae0efe98049a6698ebe71a60cec67ee58da6c1d72cb80928cb1c8109a5586d1744e3ad156c0244d62a768acc993e3412c184741be0735cd45bc9f40c7d1a071ea974353d71abcc6071969f2d8c0860f15239e48218703a3bc98caa9980a7729856868c4683b9fa9cc62806ea2038bbe678a693d33b62af83d0cd3394374d9abf0fbe9d8c450f2d488ca578e163d6c833a1f1f447f7d8f8e013a7c1b8c4d084ef41973f8dd9a2b03c6b4b997e77edaa931e62dc627e85c3b14b84428a02dd632efef391b223fcffa18bb2fa77635938a19e4398f9980359e672e4a83bc92f948e221dea2414936a0acfba729402617f1024d5868d1c658da9cb0404c5f4636b5fd743018e451ee419c703152405f5b7685f2e9b82fc74bb9884c0c9cc2eff9b565a388633dc3e8d8cf73bd6efff44cc16e40f6fdec4f9f7d6ec5e6dfd301133ba1d188e34eece77646f6b5a2b952f1844b0dd5325f9bfde8e45462c1180a2bfcb4d8eac3507b108d0babb1fcc6e5c82d2e6022742074a21b5b7eb1957e3c229075578b06561aa253677f0cbd741616a764469d534c61760d0db30d445198eb4131adc012f35c12419dbbbdb5c5b88dcfcb2f667d68302fbbec998621c611a355cce0600f2aaae94344225406d5df4b40a660bba157026232eded47515251c3c6e6633c2b517d153153cba5bc808e1bc1a17ebe91839afa994c5706fb4efe768a9fa0312e31a0b1edd8cad10a7ade47abbb1baf69c6a2397526edec1494b39bf510737afc85bdf0d3605e3014c5b1ce119a3b77c0894d47e778f15240dd507cc648fc32c5d404a98f40bcbcd88f509812453e1740cfeebee75a23a52f8013892791ebf3b2bf703a91e9b3d9690894c8e09df20870e2364194ece8673c17ef517f563ed1481083fd9dc82f2ca3c1bd62c301ac99b3bdc9627c520434e41d363011cf38b5bcf26c9d83d6d6a318e9de8559f51e94969698b4adbcb3b9c4f8f49deb0b4901b52739fcecef1fc0fe0349042a17a0b696d6d633b68cc6cac251c043c3891ceb792ffb03dad7f63dfb38f6eac9677a7e4a57391d3039f9d589afb233d4395b64cc1ce964cf5885932f0e0978b223da57299abc5e78e702342d9dcd46ebc5c860102e22b43e571ea2bd9c95d374755e6d3de6dee1c2e67fd944e34c16a2b7eae0a2c7d1046e5d5d8ba63a3aea231257879699ec4737edc12db74cc789ae205edbdd83a27c9abb5750d5337114d70c900434623206f1f363e868df579c0b11c45024d118e8eb303e482aeb9a5956d5d59531052c1624b04103732a2381463a41476af1300a4a2b4d83d1fb42b60334f1ad7257e4e71acfce925af96849331cea475e51399595724da353da8a18a551ab42bf97695b2024afa88c3e860e62808ca9b0a882f41c33886595d36d24269cfb182093dd9e3c644e277ac2f8e82db371db0d73b88d8c0e1a792fbbc58961f90846da4ef460e7be03f8bb3ffb08068646f03b5f7e12d32a0b3320e94250ddc9c3a1c0f951c06aff948a7099b99f93a1ea925c2391cde1ccf2c089617cf886e9f8d807ae42cba176fcf1df6d4255499ee9afe79a8bfa8997fda5a33f82dbd7d6e3de3b56e1f997b7e3ee3bae32fd3fbb1f65a7f9bd875ec243cf1d46756980fdf51c96ceb35e569d0cef236f09878690cffe1f1a1e4028d867c085cf4f87a8bccef1e592770432bc232b019e2a0d4d7ecc8425cd8991008ee1a5563c3dd784e860cb36ac681ac4b5efbb1155d535c8cbcb37bc404c794cf22b4e6707be68fd373c4df1ce2ff065132ed47be757ba8b36363f9826abe1f0083a3bdbf1d24b2f634b4b0f9a672ce237b6c60351562e2a129e841cea8ac0a363bf391fabdcf9127ff4cdf3052667cac8958e5beb4c9a11ab12fa990665bfc5cab838ab8f0d47d17cf37c14ad588a362edfa4d8a1727c2548d2b54e3a19a674c487ae7dbb905b528192ea2ae44f2f45dfee2ee4e471c62f30c141f8587b27d65fb50e73664d43fb8936367e760e3e7be4d1e3b8eb963bf0fad6bdf8f1732d98565d8a633d21b6f134f23903a92bcfc3306735c391046acbf2d03b184590e7753c8f10ec0c8462a8612737c17c81515a4dc98935bb7021420fafbe5c1f8687060d2010ddb61e3886f6e0304afc7eac9a3d9d12068212def7bac848468609207ad8795318a429efadedc3b86701cd8b5398faa3b763585957c86531757e2fedc9b0fe037d3ca7155d899ddcf48bd2d78e6257075ad3cda82e2f31df2a27c76f804f8469e7e597661aa2f5f1c46040c66318902bc73023c395f498cf3c2cdbdb2706f157f36b70bcad034b16ff31caae9d8bbe61b5012b4e698117fd2f76e3737fb6165ff9a37bf1d22b5b70ec780f0a73e4a9d2025ee7cd7facd49dbf0e05a68602191e2000323044405216c0caf91578fcd563a8272f69a123c35fbbb119f77f681d72fd3948c78711a263c45421ad50930f9e737b563e94bcc811406f773b8ed36b7377c71174b437b27f9dba08abb985262add9dc73948d05d00c5ed9a989d577ecc52d28ebeee36f29d5ee6db461ee143617105252723387a7007d90b2737b979a8ac69b60042861e36b1c5173c740aa919758afcc145de2260a27288b7e5708279f0e06e6c5894c0c68d1f45251db8e6932fd11deda873b8027a9757b079a16128bcd6844bfa2829b92d519ae711e47a8104324bfad6d44e2fabf0670ea207e7aaa701796276efd5607f584b42a7d58efafa4634364e47d12f1ec193db76a1b979aef15b6526b6fcb62e4a4c4c1be7d7b6c7fe3350e7bc8877bec044f96667a0f3d1ebcc10c4861477a9a38c0213bbb48a49c94f223884744d2ddafbb82ec9786e3a104b0639db57a36083daf7f823f4383a8c65b7dcc5a5010ec234651deb1a80abbed46af4ec883d94b048e1eac4897612b081092fe06f36966d68e2ac266e06eed73a0670e3f25a7cfe93eb505e5a84cd6feec3ff7bf0357cea832b505b5d823ff8ff9ec6673ebc1ccdd3aaf0d7df7a1e572f6fc05557ccc2377ef02a627411af7536abb3d8159882a37a36f19ca41bf20be2f149c7c385d6e347f1a5079660cdda35d8b57317befebde7112d6ae6ac8a71f58f625c01ba30a51e57ce2bc6b5f392f8c8af7d58de1e51ffc3871075e5637b6b929d9b6256c6d34f92112fe9bb79d77e7ce913cb71fbad9fc297bef2356c3e4c904670224fb0b4e4471d103a53a32e8911df890332a898aeb4d61bb594e363ba96629479c83f1e3a690b46f90ebf8997ae01e6dd751dae995f65a4328a237f476d3d23b8febe6bf07bfff9367ec718fee61b07f0b3ad415c35afce9827b7d3728e0e052e2a0ab0edb775472925f16166ad17bffb89f59833ed6ddcf18567f04f9f5e898f7df01ab32cb96bd71efce15f7c0f6515b34c7bb6fc029d7b4d38165082e9c6cbdb7bf1857ffb1ed6cdacc0a7fff84bc02039ab8ffd50638782baa4c6e95c3736dc361fd515e5ecf763fe4c14e55c8396700a0a4b0888b8e980e042834e84ae09d4ed732961153fcee7928e00ca84e0808c219d22ff265f4850c5d0e52230d1e4874112d3debe7e34e5b7e1b6db1f404363a3f197245072e4c811c36bc45fe58ba591cfec60780df31f090ed0fbf4304a09660a38293d9fd0dbd9055f71b959d2571e66303d4d0222ab48aa100b0d70729a465565a975e332fc2b7ae947277dd439f4e3d6dbeec0fec3df414f6f258a0bf3d84ef47d495337c128c77a91c81efb33e4d23d9ba4ba957d9e8972e6c3f90093ecc427ca98e21cab90425b9a595b3a269902e80dd5873a1115ef5f8970a0900d935e43e35144bb0691575943d092c68e1f7f177df4427cfd277e1723244e92d295d21b57c3df5886ee2776c0c5651f2544f52ce3e9b0b2b2029bb7ec4041412176b71cc79ffcedcfcd3283660f5714c7f1d94fde8ceeae1378e9c5a771ef3d7763840d2f19edc5866bae41ce57fe1dab963662d182d9f8e7077f81abaf9886d9332af1d6be235834ab99833097a232c59fb2831a01bf9b06749e1a06b09db3b02f7fe27a0287ebf0c3475ec186ab57e0cbcd7370cbefff07ae682ce6cc2461ea4e82e3d1dd27b061f97c7cf6bffc9601015adffed32ffc0f7cf1afbe8dd78f7460c3bc1a7e07fa3c21e3d072cfdef6417cee030bf0d18f7c985572e10b9fff5d7cfecfbf85bd9df4f41ab094d32817e13b9c81f167381463aa6c2e17014e224a1c255d1531a031ea78ddf45744e668dd4b636f7f102b42f966c94d00ef605b18b7aea937df234a09ced7fee93f3012cbc18ae64ac39826526e9e329a3b093b1438070a8865a9854b52790b978d7feba337e0c0c183f8cebffc073ef1c07d78ad3c1ff3e7345aa064f75e7ceaf3ff84bcd266027bf9017a674021ce3e55565288cfdeb51a039cacddf2f9f913f220954d3a26fb8ff523c2c98866f963bdf11c2a978992e264251e0bb3bcb2d2ed2618f113881422c209ca08253f9a8884e8f69e2b390429130c172cafe4b85af64d50aaeff6506a2460c2fb6e4a685b8f1fc26def5b60268f928c68a0ebecec3413a8850b17984aee3000002000494441549a31821e6a515c5c8ca2a222c33fccf2d2481f766cdf83aac669d4a9232d73733034348c82a242563c46ddb430cb944f3d1c0fa53bf244ed465ec047dd3bfa4c0b5012ded505372797bef2022e43f9addaa6e33878e020f2cb1b5041e9ed70384ac970217dacd181647010eedc422486fbd1d3e722302941389a809fd2a0e048c4d04493c2cb2188fefa19e9596101eaea1ab076d5427cfda787503497df8c6d42e38280c9e8186f8dfd2250369126ba3e27124ed0d2cee9bd8923597a982e3552b94736dabc764ccddcfb4328b9672ddc4bafa082958caf71808dc4f0e23ffc25e65c7b13cf23d8f6da66bcef8fbf82414a02e4e44f04f270f6ef5fba1a013a321cfad9ab40591107b5b18e9f8805118fb2834506d0cd06a677247db8e7da6928a60bf78ffce6dfe2c947be8e975ede8c1baf5b898ffff69fe16eae75fece7d575082c05d241d9db8727913664cafc5e6d7dfc69ece2816cf4c21aafcedf24fd151b084fc851d5bcb5f4963c6df072af50e25f04f0f3e81fff6c9dfc7fefd8f2196f4e2383bc89268aea19bbcbd1ee91ac2ef5c538d7b6e5fcbfa46f1e9fff92d2ae005f0a5ff713f3eb4712d0e1fff258ef691ce54a455e7d60c465291b56b56b2362e7ea30475494a70e72d57e39b5f7a1cb7cd2835cfa55bafef67744c4401fed7eccfc5251c33ab223e36b341321f3b24084cf851ac4bdd27e854a395126f7b6f1837afaac31f7efafd94f2c4f1a9dffb323ef7bb1fc3acc35db8e72b2fe0430bcb991fc1939d98737428701150404aad03c3315cbdb412fffdd31bcd60bd68c11cd34fbff9edefe3939ff8a81948b7beb50dfffd8bdf85bf881201ceecd517c982ce1b29e450aab88ffa2affe5eef9b8ffbe9bf0c433afe0ee3baf3f23251efce1d3f8abefbf8579f545e4b7d2153b8fc042f6761de3381f368aae6ef661af2f9f4bda0421394422ae10d34c7069aa0b899e7654d5cd185bc25536aca32622d67c933c9fd270a31069965dc8030874dca92866ce988100c182740115c45b64ce5c0af71afcf4d3b2547670532fc543201149e7a0b9381f8776bd85b6de419452076f565325da0eedc3203dc82f9cd788375fde828685cbe813a513dd5c3a6e9e351b39ee048e1fd987ee5617662d5a8eca02ead771127c78ff5e94a5f391ef09e0300191aba40e4de55e6cdd7104cbafbc0ab9ccd7950a6237a55f1594d4b41cdd8d647e0316cf2bca2ede6571ae7154df2c2f2f8019fc865eb498f1212ec99a3e3eed59698c60d0503ea961728149a668290eb0634b39bac94a5079355de0c148e534043ba9e8aa5d1fbced610758f2c9cf63f3d7fe0f7a7ffe146efcf7871076fb902022d6d28e423ac2251fea7e786ba72199f73a92ecf8addccd215d939e9e5e5cbdee2ac6ba0355aba6617a49c03472cd04b4e8a1413f9d4377eef8303b0e1721b86cf4eccf5f3452999b36acc3e1c347b177ef1edc79ebb5ec6429ecd87510b3ab0a388bd05286a8cd424e6560c7d616702d4b85a88046d2a1823a17fff96f9f00de1cc09ebdbfe06cc08f07fee81f71453eb7da515724c74bed792a27f507bb31525fcb3641dd10029c912e4a8ed2652c2d2bedcd37e51fe8a7e22b4640de43f49387bd8f6e01fed74653a31cd24241ca6ef1e776225ab394e7031481569aef676c13180e9b61409c31a4c854d2641822acfe59f4a11858c084df48799bfb3aa774ac6f3082f94d85f89f9ffda0f118fd277ffe0f78f09bc7f1f75fa9c39e7dc7c0ed07a69c1784d6aaac131c0a9c1305b4b4e1420197569e7a7127e634fd04b7de7c83e12dab562ea6b43782af7ff3417cea931fc3a1a3ed7866b31bf76ef47309d9f20f76fe7c434bb32e54e479b06bcf013cfecb34b6ed3c88ca52cef6c997d4d3b283b8929656b6bebdcbbc13a3d444cbbbe796af9d1aeb4789419c838f26118235928ee4d0644092528928f9ac9670fcbe0025d2040f644e294a4d0d7fc9f04523216572f2402d01abc7233d36a644bee626301158129fd6f28d063a85f2f272b4b4b490f71e3613b261e599012d2602df75f90a70c5d55763cfdb6fe2154abce303fda86caa4741803a7334a9905b58485e15419860a3a4691666379463d3332d5875fd35041dc09e63dca14940921a3884116eb40081898b129cf2fa26343735203ddc863cfa731b8a470828a7a3bab81b7dbdfd682cf1603f4150d9ac555840697c32548be3bd218446984f7e46f2620a7979fc3182017e3b7d3f99f030ba4c1c030cf22630519b988a30a9c08498d99431c1a506cdacf533410d92eb52098acca2fcc06ecebcd98b4c1f4a534ae2cd2bc5a2077e1fbd57ae87abbc1e83c3f4406c42a6d2ea471cb853545ae5c84814ce3df614c3f9d9d0f2291eccbde2d3b875c90ca2b9345a4fb419345e545480effcf879328efbf0952f3c802d77eec19ad52bf0dcf32f31b16a6c7973073efc818d0425fbf1dd1f3c86f7dfb5115d5dddf8eb1fbd89ab16cca7182fc2be657760ab3453f2571d986c47bb6eb4742286404d67aca9f1a1e88335d8b5fb001ea4e67d475f10cde5012e8d907e640a6132a246ea857cfb6fdec0c259e5f8eca7efc7bf7efb6f0d98f372b9eb5fffed6778f007bb71e3cd0d18a42e0fbc09b4b4f7e16b5fbf1bd5d55caedab687ebbdf914e1c6b1fa8a85f89dcf2ec253db87086228a96259f4ed24ddb0a67ee23314d9b2c32792d231d17725fcc8a24f92224f102c8edea3f4445b998fb3dc9ffcc0121c3fde8abffddaf7f1f3d707307343a3a98711f992f959cb7e53d3c0a7e49b39895e3614d09e8342ee56f99dfffb34fe4f70041f22cf18e072c175d77079993bccbef68defe2bffce7fbf1685e19fef06fb8bbac22c0f6fccef886ba533e81d0abbb07f00f5ff931eaafadc19f7fe17f93d6ea1bd6a03e4678e59183c5b72e4763151da652229a19f7c7a29ce54cf9c96e510e2516fd54a497d2ea2095e2730844e21cf0b52c2ca9461e9776b42b27a2017e5c30fd5d5b34c82b546f8ff883a41f865fb8d11d4ee2d8b1e358bd7a4c272d100860ce9c39e4b75d66694783dffefdfb3177ee5c4a56ac8d07b1d0207756f6c2c37cf3f30a08a028bd8aa650575384ded67ddc1440aba39cd085b8ab4f922632383456e662d7dbdbd03ca3d9ecf494c42bce257d1b10298e9fb46c3d7c884eeb8f63c4cd7a72c21ce26e467e4a741e6f47456e39e608d0c483d877f028ca0a38adeb3bca25a23a8cf41c81abb01ee1ce1328abad444f57072a1ae7a224200e7eea171a47aa4bf2d2da2ace71b5f5383a42093471fc35e3ba1a1b8189c67a057bec9fac4a4e2a30c9e0120eae960e8496624603b794c54f7421d2de01ef8c79dc59ac29bc022b181b862bc035c615d76398eb7a56b03ba23e3963b18126b89535b7b307def24a54e679b18fa8bbabab08c5043c23042d9a31b02d62c7ce9ddc19d28e96d762f8f3bff82a7ee3e3f7720967099e78f249fcc197fe0373d7afc2a617b762d58a0566807ef8b176ecd8b1032dfb0f633025b1a2b5ac6295636affaa761ad393449e128b498743d28f3e3682f2c22282a965d8befb281ed9b915d388e6651937c96531cd64829c39ccbaba081d542afdd32f7f1b0f7ce43622fb087efa8b17288e4da379819f74099347306d029e01ca68575db98e33b116ecdebd1bd39beaf0c6b616fcfaafdd8375ebd6e2ef7ef4035c3197d2aaccf713b0b0bf827440b4ec25294a828dd3302471b64c488837b46724265a6326ba56dce6321f9e79fe0d7cf16f7ec8b5df722c6eaec14fb673278152d6fb14955bed652c2f3b4de7e850e0dda6805ab84c08ac9ed38cdffedb173911cac36d949c0c0c0c62e58ac5665bfebffdfb4358bd8a0af505690c1390cb80e028403f8f0a68001de4403eafa9141ffd87a53878b40b6bffeb4da7a6c54229ae76213efbca3e1ce66e38e95abc933c43ecebd1087549381133c8867d323c427d0b9925a0de86f8cdc0e000018306f8532b63e5490023be2003739c00897f2aaa261e4ddc1afce22b6f61c3860d4699d2983c60420220d3a64d1b4d50c044ba27d3a74f37f772a83f52521845aca004b32bcb28614fa0b7b78f1b0ab9b4337f19cab939c2cd1d4092facadc84c2ccc5cb51da3bc0e5281f66cc9d4dc6cafb8d73cc2e441381a59a336f317764c69137834083935bedfc213b85a7a119d3a804eca7e4b7807ee9a43337425e9a24af5bb27a0d4a695b2b12a6d4c59b8b94bf81e02d07bec6261e2da24c401a2bcb4bf8af0d4a24757ff1d5b7d0585d4b558330c72949cd3435d5789419afb386fac9a8f2e402934c89a42b61cd82b37434dc44fd12193ef34b84a920e5a96e6047d068c640e49516b235cdf9d422a981a78e1d42ceb3bf24e8cd21728f60415d31eef84fff4475f918ae7dff622a53b163f1fdc2fc0099c41751b6ac021b3eb808ffb6a91dfff7af3e65b2014ab16ee32263cf63f3ae3ecc9c793fea562fc2b5eb1760c9923f009aca70c315738d9e47e6850b70a0e481804aa044cb4ffad0aa6f0e45a67d9c0d3cf4b34dd87da01dcddcac23853ab5891445a39a95485fa4d0efc2f71edb82135bfa71f4681b46083e7ef42fdcdab5b61c45147bc6a9a824fd9538975f66157bb1ea81bfc66fdd30174be735a18bba1f8585e5f8c3fffd1d3cb5a79ddb20291ee572922747d21b493cc6a418d2294912004a8a92a00e8cc0533623a40a0cc188eca8e82bb29bb61dc04fdee4cd4136dc2394804d63050ae2d8ce59080e759899989a36fa28823692221b905e00923b593814380f0aa81724293ab97141133ef67b3fc537fe7718f77df02e048783b8feda35d8f4c266cc9ef519dcf881659cc54b87827fde419092ed4b47faf177b7cec16ffdc6ed78ec979ba80bb7e18c29d11a117ee3af37e196b9a5c628db19234ff490fd95f0834fd29434e7197ea1beaedd38da95a381c8cd898d2629d9fddd4e4af78c44c248c9b96cc3beac499382e8a0e58fe776a7b0ece187f1ebbffe319494968a3b303d6b70533c496566ce9451c7cc80a7090b41474945951e9b7cd3dced535e695deb5e49c9c9bb66acb279b923aa428fada074b85d5975b3cbee659d4af8539014c80e79f9992dcbbc41e109e3537a95d9c6ac387a3f9760c9841ced9cd45064628ea66d6ebe07fea8ee6c16260c0d0de191471ea6343d86f9cd5caae40a87be37a3701384cc478c8d1193597597fdc1ec4499a98a94fd137ad08f82fcd19f8621fba7afa3afcf0971736eb8f77064f1bafb1f28ab9af5994482b237f3ae92630366034c86b85e4731597cde3cb50cde1e6ba08c746a50713820fbf6ee455e4e013c6c404654c8983e0ed02a6e94b373abc822174d9cb3830bd5c93cbd8f2af24a428d5eeb647199c0679eea0c7e3e8b0b44111469c621a940cc2890a9bc172a882ed42c0f076964ad1539b9f9a64e2ab3c490fb5eee44ed8a3254d02e82b586cc0e430df5e1a1016abd9316fc276df1000da56d691b4229c59ab3a8233342c993b67505027c2f1a4444db9fd991f8c1b1b32b04ec0b5a15e4da71fd9c7c9415728bb096dbe811baac621afb731e3b9cbe8d0517b59e9d9f47c36de16e44a8ab22fb04f6737d5b7d8badad43f8c2c796e0fe5f7f3f199aa5b8ac4c4c43566b67507bb3b63027f0c5bffc676cda36883aaea3cb7aaff50d4d34e78f43818b8c021cacd9cfa440fe72cb11fcc3efdd887beeba1d6565a5f8fb7f7c107ff4adadb892f69662a3bce8fc8baf3e1f257faa2b4d62c5822a4a4cba71d5aab999817e8c27a9cfab4f69c2f1cc4b0770bcdfcb4d2bb29c6cf1bff3cb99b6468c0e887a31f921ad4a0f0e7473502e468016a8a5389fe29289c5174f4ddf4ca2c80b72a8283b48c5537f803b6b0c30b1caabe779948e1c387604bff5be19b46572072d89d6191b4b1a0f5467155bf5d11b663c32272acf587ed6adb16b3dcde6174a47b74e7dc7a286796ed2b7ae4ffd6ba59749c62a4b5624fbbe7d2bfbda4edb7e76291ff52df4cd421ca7db4f9cc02f1e7d0cfff8f001cc6e6a36d277cbe2b768c5f9b1d7efeeeb3af0d51d2f7ff73bf6d8cffb129beb27198a0666fb270463ffc4ecf55342e6c7ef6e12e5b509930b4c8a084c860e47e65ff9b107caaa671860c20f98118b647264634cb343a5281e62cf528be48393ca9489a8039fa9bcec386e226497941cb2907656c4d39e2a65357a139896b91e177ba27be3a24cfd25d1672a4965ae501f45a2fc962cb28a9d47c011d10e25ce62ec20d3f3d26c9731239b76229331c0c61399b4260f357535d65739db49caf92313d47d6ddf959549a5af74f5134013d808149491018f038c8c28a057408bb289700f46120113371b54aa743242f5d29e36fce9c797e0ca950b992e2dd5da85b68f4c4b6df017bf7c15df7ca113576bbbb0b323c7a68e73bc8829a036ae651db5f3171e79133f7de47750515e866baefe4b5cf7fe45666bbce29cd2e6cfb14e267d765099b5df7e6c10b3e85ee3000d12da7dfcd464dc58bcbe9a0aa15c7e669ffa55f2354087fd55cb50fe1cea66900509246912618f1913a5af7cb5abc6efa632fe50cc00137b29c72eafded7ce8ea39dbd08244ee0d6abe7a0a9a9d14c0ec583145477fdb1af75e9840b4f017e2ab6a5145aa917f4c44b2d18f6d4607a750597b5a87ac18f63b7014533c0a4f3d057f7bcf6e0770299b19f25be7881c9ec55bff6405965f367a82899a268f36460225aabf50964d8b53c1bfdd56a056244b5f770d0faa9e5b3c2224d766d452a5d671fc793c28e9f1d27fb5e76fc09eff3bb68b66329bd6632d44b4c50c0a4a8807a3e911eaa85d044b59198d8a95829eb4a36015eddd9099a74e595fde9ed7863252b59de8cf9742720106598911dc54acaf9eb50e0e2a3009baf589001f71cb05f3d749ccba3f4c9555cc57b6303f83b2e78267db9c990a457124cf9cb99a86bd83d294c85544d2c7ea53e6427a6233bbb26331a9c0c20b133b7e364578ef7b4ece32730c9f586d13bc01d2e4662a2c97056603c2d570768d95acbf76d341571985674dfebfc3c8b0297d6291bd3f4c21cd4d31aba9626cdf677357abb2db036da48eaf5f8dc7ddd87bfba7fcb0f261d9868ca3d89c1d2809144c46c3fb3156326ca215b3176a2e797e33d9b266202ef46b01b9ee17263055071a46827055d0117b36dec348c38cc99d6da0595f02dad194b60dc99b291f97f19d853da76b6e3a239970e052e4a0a481e2dd6b6aa49c60b3980b36fc4b54576928252d26e3905edb6b9d02121f4358e074c5406f55d494c929282538750fa71494a3fe595787c50dc61edb6e4491575df6a69e0cc09172f0564a03434cc257fd31438613df593f299b5fa61d5c26aaf9355a329691ddabdc51508b3a0345905bd3cd251f7d5efdd0ca7c20409f0a4b9eef372498766a7e91284e26cb6cb53a39a824b512e32babb6ae2baa8966a234e702870a9528093462a8a5b4b93976a1d262ef7b9f320f100f105494ab5044401cf69f9c2186f23889968a09bb830cedd7789027e7ed733056d7a323bb5cf14e91d3e9bd4a1214c6ba50d2cc89e37faf8579acf9c5638f361d2e0520f6aa0e424b38b50eaeb43ff2ed547c6864e834cf4d8090e051c0a5c0614e0b20d6db7b8aba248d1fe0a0d51912d38a8e332f8f0aca2f6bdf49931ff38c7fec90c930a4ce6cc29a245bf0efce67f9a49afbf738d3f84c92cac93d6bb4401e212ad37cb705bdf00dda37f20407de4937de5bc4b2573b27528e050e05da68014673d949818a5fd775de2fb2e13e33d90fda95b4434011d537cb5ab28bf47fb0fe4e39fbff5349a39f61fe6d83f59617281c98205c6d4f0fdbf713faea5c12eee1835d2bb330b8426ab2a4e3a5345015b2ec2a564da4a398ea6ba0a03526c6dfda9cad749d7a18043814b8902e2f436b7b894caed94758c02042013ea1711ae8c5bbbf772b3c6cb2fbf4860f2752ca50fa9c334783a59615281493ca3ec1a0cc511a2346f3864193d1b2bac5d393660569eabb363eb91e6da9a998fc5b7ce0ca1481483dbccec3debfef8c8cef5945140760764c04dbe2d3cf222aa2f9269acd98dd97c2796420dd96ecb765bb71bb7e2dbe7a6c0fafe596d20fb999d76765ae67dbe2856a89d01569c9399a2ee59db282d8699fdbec933f3c72eafb99ca00c262f46e223938f49877fecdc745ff74e578693d21f97a745233b253dcccc4cecbc583755728c1e7c4e0d79de32f746efb310daca6aa7a7dd5d56b9ac6fa0f3ec60bda74ccc7f537e3d571dcc7b3acf7ec139772870160a4cd4cecff28af3f822a180f881f18793d9b8a2de6ff30c3d93dd2ff9339209088bf1a5699cb388f64e2c0bee67dae7f24eaa38a9c0e4a402a8fc1a30540bd6d0548ee27fdbe0999c01d1da0695a564b74ddb5169c69ebb3ebcdc862a83616ae4328a264629cba0b204e8e5de252a0b1b8340a28e448766e03114d41b4e982a0a9881578993ccfa9632c2633758f38d32da6cd6e06c69ebcb709c2fa30d27a3781a63bd99ef6dac4b6a0b9a09fcdedced23af9532e62473cfda3269f26414b515591954c7d14de3c7c7b40de6c31626b3d46a23da6ecd8498a2b6292b3dcb69a3dd7e7cd2e06530be1ed89e8cf128c6958e97761dc93e8c76932905bbec1aecd536d5518d655e754ce5c9325aa5a70d18b6435306c6936d19db2895b2539b164dd44e156cfae8dcb45dd2c82f1ad981f14427d123c1bc0c3360ba328e67b6718a4eea3b8c23f0211b12926419b3feca4b3497e1405afc4dd1768d97b4318085df27c57288022a934fc60d4d2f133d5977bea3fa182bbceab78c6b95d82e9873742870760a386de6ec34bad862d87c7c7070d03856d4c433218be1860f903f72093f37d78fc6c646fa59ab26ef110f142bb68e53519f2c8e3809c967760ca9e0e4f306588889cb31b6986a70a00b27dabb69b82789da69cdc877c5b0bfe520127441dd3c7316ca8b03e8ef3c8ec334ad9ef6fa51df50474ba4515a22ad4672a41d43499913060e1f3a408f98259833731a777690e98b4b3b618a296049083498caa6898b26f3051c0f1c38809a9a1a141515f13e073f0ddc8ce322088d8ff46317fd0f852209543634a134d785f68e2e820c0fd1b61f417a0795ae4a8afe813cf96598d6500b1fdbc49103078dbbf95cbf877be8e3a8a11f8bdcd4105a68cede13e0779f3d935680092298959bf67c0ed3c154454d2dc2ed87d92e681d3835c24df625a8a19f9ea3c7e870abaa96dea93b8c2fa4a4370f73e82c2c3e781c69e699971e415fc485aaa25cb40f0651ceb626001c1b19c081d6763a4b8ca1b8bc82cec912089494a384b65c043c5a0f1e406b472f0acbea307746353b74ab69a7b1e10e9aeecf479e970ed14652a8a18335811d010b6eae332046ad5503bf804534d48f3d878f674015cd7e7bf25044476e6e5adeac2acaa303b46328a297d3013a0c1ba013397f5e219aa6351ab5b324eb7994b63482f4cf525655c7bcca100df6e260d710eae941359738eec4d123686deb4255f31c14d17c7928e5457d5531f6efde85ae8111141457d0db6a15da0e1fa29f961466d22273312d0b9b99d114b728277987020e05de5d0a089468c22730b26bd72ef26f0907fca86d9c4ecfda5ef2ae18fafb7a31180c63dfbe7d86bf0b9cd8bc5e47054d9626334c2e30c9944c4c4dc044333e05d6ddccc84e1cdb8d175f6fc76db7aea1dbe91e3cfaf4539876c5d5281a3e8c479f3d810d57cec7a6471fc1fc75eb514b6b8689482f9e7965376ebded4e3affdb83dd4334853e7014217f1d6d6504cc2c31c919a2997966f2760e5343010da6f46b6550b2911c706055d0c029075c0b172e34685a223fc1054f2a88671ef9291255f3e883a781ceaf4077e26f60d7e1386eb861b9314895e719c173cf3d86d2195762d5e22a7e4f4a09dc9212d0f47de8181efbd92edc7acf1d88f41cc5e3cfbd8465d7dd8c68db5b78f84837eeb9752dcb4300940ae1d537b661d1bc3007e9165c79fd7ab4bcf4533c71b0049ffbc44dd8b16727e65272f0f6530fa366cd2dc8ef6fc163cfd0595851040381d9989e388c270f7b70f7aa7aba4a0fe2065ad2d444607880e6987fba09b7de7b1b020441af3cf6281a6fd8882b4a0a7074fb66fcfcd5a3b8e39675d8fecad374b87815c20777a276e94a74ef780ec18ae5985b1246376a0d3011306f274088b973d1505f4da78d92e648922270471703797ebcbde525f4444b71cb4d57e1c86b8f63a0610dee5cd684b75f7a060b6fba192f3ef60466b0af3496cafd3ca53a642689483f9edbbc1dd32a0be98c71173ef491fbd0b67b33fee25f36e17ffce917303da7073ffaf1cf71ddad1b8ddfa4c3afbd8c0e7739063be278697b2f6e5bbf9aeeea93d8f9f2b3d8d903dc7ccd2a6ea8a02fa4e424180b33adc3f9e350c0a1c0a5408113343faf4965203780187952212dad579795d0f79c0f3bde781543218f71bca878c5c5c506cc18e972668c9fec3a4e2a30b131538a5359cdaa5342270c426509fa6af178b44c934230cae598501b8602f558b97031fca95aecfbd113d8fada8bc89bb506572c5a6cc4cb8875d39d8e9f8318d7b8bc3e78e88e7bf6ec3978eec5ede89cd6849925f4b049c6ea840b4301aeb2b0f1ca843d692e7ff00c5a6ae8ededc5abafbe8ae5cb9763ba3c8672d01c6a6f45074dd77fe0daab51901a469cd1bbb97ce0226019a60ba5e6e94d28c929a756f71e54cf9e8fe6fa6223118831ddaafa46768814dede358cc58be6e0e096a7e0ab9a8fe54be723521bc09e071f464f6805aa281248a4297d710fe3873f7d14f77dec37505be4c391c25a54798ee28557de46416119fadaf761b0600eee5a381f39f172ecf9f727e1ae998d141d0d1e728591178e60cfd1346a662d11f4e72677d5cd8b42fa111aa413ab8ab2624a78f2b9679f7a1b94d0ecda7d104bae5887f94c2f37da8717b61dc2b245d3b07b7f0b5cac5b7f671b8e0dfbb070551993e3364a02a35c02edf6c387719c3e43ea9ba6a1aabcc4c8125d9e5ccc9a3797ef1c437eb216b3673460707f2901d536bc307c0cbd31fa2121f8ce2fc8c770905e5ffd4df46822170272aa4697f4044dfd4341349186ee911e1cee4ee2e3775f831d6f6dc3f4f5cbb0646e1d76efd98fc6866a8a63e94a2016c1be9dadd870ebfbd15c53cca551178a68b573ff332fd1b7623f9697f09ed2365fd7f9e350c0a1c07b9d021a9f25f190e444937c498c776fdd82f8b2d5a8a095de1394c07a390e4bc220f062dca170626a4b4da6823e930a4cec029aa51c82125b1cccfa9875a9389df1b9381bae2e2b40d8958748ff6174f40ec11fe9426f248505b4a4b8eb602b5abbe7228f626839941be9e9458876faa31435c522b9a85db61c77d363e5b7bffd3de0e39fa0c3ba62128a03a5354eda45708e5340010949d488d53835dbd7724484de26e5c2dc969824a4674189494e200f29fafd39d1de8582e1bd78b3c78d1afae10870f9a4baa8b743140000200049444154ac904b184104bd512a487339815e5a432394049835cd142223231c848731121a263008b1c3e462b8b7153d7dfd0811f084682387ab1d06fcbae835399aa647e94533b1f59517515d7c2d1d0202b7be6f23763dfd236c4e3462237d73c47ab7d39b723f7c2327d03918c7d5b55568ddf6384235d761de8c1378fc8d367c76f5551cf02d1f44f2f61ca5e4a0aabad218825399c2f4b41ae6b254019d1976b69f407f7f03da8e1f43ca5748cfa775d8fbad1f61ed87ef836bfb26029e45b8929eae130426d2b4f27369a6b6ba142fd113ada7a01495e5c594cc484f27c9bab2fe749a359c1836f408b3de95d308c41637a0eff8a388b14ce1701233e8763ce0952fa484f1feaa3286135e2c9f5b8dbd470ee3add820fa828cd754886dafbe8dd6650b70edcdefc3db2f3f8aef3df42cae6a92e3450f8a0a3d048487519b3f8bbe9942f09634e1de7bde8f87bef70d0c46eec62dab9ab9d57fcc09e3143425274987020e052e220a488fc40a54bd205fc92babe7c4a504fbde6ea1655fea77f2a1408bd1f3d33979977e1a0fa622d8a599a4b42d998935abb6a426d660268543ad5de5d27913754b8aca8cc8e8c6957d78ebf517e08987b06cd54a2c9a558fdcf833789d034c719e8f33e719b87ac534ec7af3054a4d3c9c31d760dfb6cde81f8e62e9ea2b504911b898b435a04d52159c644e4f0102135bc784b0c0344ae997d4d6d652a2506890b41a6a3a1186afb0061be812fe4d7edfbc801be50d3350c0e6ed717560dfde3d28ad6dc68caa3c94d2b5793e4d540b7d0bc80a5f6ae9c345e95a436315bd9dc650377321960d86f0f2f3cfd356f70897266e42a1278da8da146317b03d2d59b11cc7de7a0edb771f4249a09076150a71f5fa3b117e6d17ca6a67e39a2bfaf0daab2fc21b0fe3aa1bd6a0aaa61c358d8be19d568ff2b81f6b5646a9ef22a5d128a573ec9c5c7b6a983e035574a39e930aa384f56c3fb89700a9177397ae4562d7db78ee99e738807b70d59a9528f044b0e4ea35a8afac4131b7cd9778a40742704394e4a5e7ead6fd7b31401da9db3ffc5104b826362ca758aa2bfbb51c2ce617961250e5997e925bc4b29514c1979bcb725673c9ca834a96b7aba31561eabe4ca73e5621dd8ea4d25e54126474f60c50aa5304627b5c7de3063493ae14a4e0f09e5de83d0c04e3f958b58cfd8e12c8483a1f0b97cfc1b34f3d8f97433d94e4f869b193de9d63619437afc4f48632630e5d4cc7090e051c0abcf729209e2d1dc181810172536d6c48931f1590d50ed3a16424b3d944637802a5a5a566878ecea7526232a9de85d7afbf25f7d9679f88fcfb438f3db0eeda1b3e333c1c147793fc9be001042339f073401918a6e484e2e9024a3e5c89084dee73e700ff05351bd5bdf80845cc1258f35579164e463950e590c9f38e8b6bf352d0f107385b8f2346c98cc00f233b618a292065cdfede2e5416738748c6c09a10b41ab21a69f68e130db881bc7cf3bd24c1907830c5a5071f07692df3499210e16266019728921c14e53bc77e5fe979b874974f701aa2e42449505a90c7419b9ae22e393a4cc5e9829b6d821f5e6d44128c08a519520c05db0a55ad296d1ba122692ef273bd46b1cb9f5740c014336d8d30c86c65cfe37637b5bf04e3fb399207e51b828dd5cadf4f40c5778786b99b8579b0a36aff98ccedc7b854e9e3129640530eb5d595976cf614324e34324233e5b970b38ca19108dbb9959e8fcb287eee7c918422cefa5bba38d60713ad722961f2b06d0f73fb5da0a0906d3e46a5e138e943061156ddf2d8c62de5e228a55446639efda680521995575d409d40749037eac222a6c16be37385e597d7582ddbd03d1bcb4f6faf74a82669979472592b2375cce10e1fd1488ee1ec6f619275fe38147028f09ea680f8787f7f3fbababa0c2f5765c5032ce9b814f55d46b7441351f11bfe529c8cba5f7cf1c5afde7befbddf59bf7e3dc7fe67651f6452bc0b4fb2c4c4fa7642239a59ab0226f020c629a76d74e3c4c18ad3396a180e0d8d189134b9a121809b4c7c90336337894492f09e66e53173ad232f9810218c145ea925ac54054aec6c4c5ece9f29a480c1d3e6bbda336a5b1bdb8084711f22343cc4cfc5efc56f14e5328dc2c80807517d34061d834383e638fe7d0197017a2b350338c1c010e3a95d7034356d4bf7adf6c5675c0ad1fbb1c1fe4cdaca8b6d2c11423fbb8a9ec5f53edb0d1360bb229ce1fbc34332a1cd36c4bb6196cb020b563913f1080663d63dc19f20b7d2d9710d00e04c422ee1238304d64c43751c1cc8e41fe1f28db9678112268f68984b41210b908cafab9e874782cc45e9b8100e0e8dbe6fd3273a3890a99b551fbd9326f8191c245863de36e995b6b65a0f5337460f5427ce3e284db196def49eca3f405d13953fcae55505c5d352ab3e93fae168df354f9d3f0e051c0abc9729200948595999990869c232beffcb2c8196ec6d85579b87d9e3c064d366528189adfc1aa3224d94b349fd0cd73f53a9b97e7e4a18bda721839c72fcf5292f38372e0805080ab52417e19a8135885f905c9d4ca68a02c260ea624e7028e050e0b2a740989259cb6649eee8244844114891443cc809a0ce054a142465b127a6e6c624fe995460c22d0da668498a8393b44da13dd00a0eef3364b8f4ffb041caf0179ba4a9cb78547de957f032ac812520ba0c2bee54d9a1804381f11410d08865a4a8d9cf04466c4092cdf72f0989499ed6c119aa2babb83db18a08ab28bb6ecef9254e01e9987475b830735ad5a88ec9255e25a7f80e051c0a3814702890a1403600194f94f120444efc8e1e3d6aa2d963fff877dee9f5e44a4c32ab3232871d8d4af1ce92988c2f9c96018c99ecf10f78adca6723b209a238b7de250aa8d16a8d71843b4a6ca5d7898a928dacb3457f8a6b7f5b49036dbd08934606914b9f4371b29fd9e999787a9085deb5d467edcaca96cb596b146379e899f463f86ae67d5ddbb2bcb133ddb2744eac32e8896e650a6be76bcac767bc1e4bceba362f64fd39a9ec59f7edd3ec7cac7b9a998cd55fef2b7bbb8ebab6dc01587a2136ad14c70e27d5c7be99a9af795f7dccdcb7d2cea6856e9fadcca3493a270e051c0abc2728203e229e2efe9e3d6e5bfcc67a2620923d3e2bbef451a6224c2e30c994d028dc51816e2206a77bb24b128f599aff1a2eac61830c91efe7e7e7399e6ba7e24b4f429a9298e823650fa663fbdfad0cb2b79049d934873b51145f23b8142bc77ce59caca7627ce568eb3733c8a1bf24a380c924d5268c6f1beecc91ef19dd19f595c32bb51e1979d33d8f7ce568fb97ca3981af1ced4cd1fb96ef1ceeeed12e172ac96ac750824e9826f295a33764e956e8e0645f39dcafcb3a0910c8578e76b7c8a7cee97ce5189a99dcf9272b6877dac9be72b8cd9e74920b0705cb67058c4f1c95dbf69f23655bedb871737794ea25daa6594ef914b27dff48b955804634e76355c4589cd5ee1b0fe3698791f14f45ba296ded7cd3ae1ddd738243018702970f053466f7f5f5e1d0a143b41f15221fe30613f233e3438cfeb67268e7a4a9a9c9988630fc9ca4b18f5341a5290126da95333ea8123e3a3e6b6bebc0a1fdfb50575391d99624d62fbecf5d155cdf0a8e24b0f28a1527bdae774f053962b5d6bb2745762ea69402fc14660056431ea1d1316d2fd3b982d07405ed7ee4e7e79b813c3cd48ddd7b0f20ccedab55b45f53969b466b6b87d9f25b44df344383dc95a50e405da49ce24acca47f17bf3b8603fbf6a28fbb5dfcc6574e028dcdb3e18bf763ef812370e71663c1827928941f073634b72b8296960ed4d4372278ec30927cee4e0cd15f4d391aab727180fe75aaea9a901c6ac5ee7d7cce2dc4f3172e4262e010520555284887d035e2427d592e8ed1d85f4d6dbd012ad1e15eec3a748c5b67a9ad4edf10ee5814f9f4a35351c4ba71403f481b21ad1d7d28a0af9c45731a70e8e02154d4d6213ad08da4af08053949f40da7d058576e6621024d5e924980dc8004d24b75573edbf71f2112615764bac8294419ad0bf673174e9c764a1aa7cfa2cf1c37766ddf8552daf5a9a23fa91387f7a337ecc2fcb9cd18ec6e4307b71e05e89bc75fc2fad0fc5c27773dd79505d03310424961002dbbf7209470a379ce7cd457e4e3e02e1a9b1b1c4651791d97e52a71ecf00194d635d308dd410ca5f268cb847d93e0e4d43ea7afec0487020e05de2b14d0d82ac9c71077f1eddebddbf4f90055323451c92dad41556900ed6dedc64cbd5c8f28beec5669026aff448bc956829d126072fa8fc66d8cb4f2d940ab9bcfbf4a6355b4fae92173f670c6d747267ac3ba8528e680a5dd3c011a7eb2d6b45c06d0186fc41a154de0964832fa34119db6251b06caa3f5744c14aefb13839ad397d07972360a48435b5b4f69fd830dbab5b515f29f205a979797a3ba8a3e6f38e577258378f2e187e16f5e8e95f39aa5c28d433b5ea33f9a34366c58612402b49a81a79ffa25ca66adc3958db414cbef19e736f2021a1b1b1e6ac1a33fdb8ef7ddf77ec4fb8ed2afd22b587beb9d881d7f133ff9652f3e74e7b5f439c37cd261fa89d98df9b41972bcf528aebafe06ec79fe61fc6c4f3e3effdbb763dfc116da21f1e08d271ec1cc1bee42f1c03e3cfef426cc284fa0df1733be729e38e4c63dab1bb1af2d84baba3a0942101aeac4538fbf863b3f74074ae82fe2c55ffe0c8debefa2d5da221cdcfa122dc576e0ee8dd761db0bf46b135e85d4310efe044a3d3b9ec550e54ae32ba7df538fc6da3212344d304180063f4df637505a61997556dba55f5f54569663ebe64de88e96e3f65baec2e1cd8fa30575b86ee96c4a533c18e83c8a7ffdc7af61f5bdbf8df76f5886e33b36e35bcfb5e22ffefcf771e8f527f06c67016e985784eef60866b85af1d8de243eb86e16f61f69c3c8603bf29b966056651abf78e8616cfcc01dd8f1ca5b68583a134f3f4b53ffb7dc4c1f433b50c89d56bdfb0f60f1b5d71b5f3ce61b3ab8ff6c9dc179ee50e03d4181f6f676c3c3fdfe5cf261b9e5a04b8da5cb51ec0ea1e3582b8d4ee6427a248a575252625635b2a5e3934d840b0c4c343eb98d79ed6321dade77d3532b6b4447f168a799f1ae611aa92ae21dc3100533083268bfa4ed44274acb6b90c719b4eeb9796fefb62d286d5e8cbaf27c63c84a226d3f454e127d130372266d89e7e58e5eeb664e981c0a68d0d69286282a60b268d12283b645e3254b96584b1a7c36422fd17d9e227c60ed9508c40768758766d969642c15eba4d9f408663637a338a70875f5f5a86e9e693cde0e0e73898fbe72caab6a10f04551553b80b9b3a7e1c0eb2d28a85f88c5f367225ce1c5f6077f82de91d5f495c36f2b13ebee207ef09347f1f1dffc2d54e57b70b0a81eb34adab0e9c53750525c8afe8efd08972dc08a3933e14d1461fbbe27e16d980d9a63c521771c258911ec3e0234ce5f4e933a712e0259adb29069757475a2a8a01945c5b4c4cafaca9bf1de7dc768a9781d66ce9c014f70059e7feb08ad1237637bcb3ea6ef2590388ea3c15c2cbb52be72b8438d342ba425d7fe2347f1d29143a8577dabcb990b974fdc3e34354f47572bbd01276be861b91addb4c2186b1fc410a5870db5c0ebbbf7e3a60f7c10470fcb23f01ce495d763616310bbdeda4ae75a693a06aca054a8191dafbc8143f96ed667107bdb0a58ee1c74f4e562ddd2a5a8cf8ba265df4e1c3ad6cfbe948fceae7e7a109d89723a256c4b45f01ffff163fcdac73f8906ce90868625c9b2a460fc944e7028e050e03d4c014ddec5bfd5e7a5bf9648b9318ffeeafce90886e90ac3c7659c18a5e11e4e3e3599b2e3bea78089881065c5674eaf3520c53276e5424d75027974f31ea5612bad9f6b00e4a23767de03f8e12f7e8abbeeba1f159e20ba87e268e28e9fae835b39c3a4f54d9a14afacac44223cc025a20e54d44f2741c318897b505e4cb043065c5a5e468033d102d37bb8b54d59d52831612395e134294969d9a69920231a8d1acb80bae7a6ae828fd64b53c16e1c397a1c45e116facaf1a08e7e5ef20a2b505b41f3e9f495e3c989d1da6a10f9f483341296844cd22ffacae17efa10adb006e99c6e303842d3ecf91cec0fa2bdab07a16307117415d0acbb9c48b11c04a9235c7eb861f562bcf6dc5328bb7303970493587ffbedd8fbcc8ff1d2d12adcbb7e31a26f6c411bdff70d1fc189a118ae210038faf62f10aadf8039cd6df8f96bedf8dc55d750bfc2d213d15677f9a1993e9deebf73ddb4401b442ecb1a0c15a298cb23adf416dc33af06470e1d403a504169111d513ef37d5cfdd18fc3bded691c712fc155f9b904ca19636bb4065bc4f6bd9f5289c2ea06d4b181ab2fa4e9eb27349ce46f1843719a80a6fe5598b429289986daaa32741d3f84436d3483bf981617436fa1e5e03102183f56ac5a88375e7d01cbd6b1cc5cf6c9a785d8789026e80b6fc482d9293cfc7a2bfee0fe6bb07fcf1eb4b69d80b7308aa3ed41ac9aef4757348940114dd99fe092172dcc86535e5c4773fa6f6d7a92e6fc6f450dfb8d7459ccfc60cada9193b043018702170b05467505394e7a7db934b4461e4055b3227a192ea363cfa1ee014a4db4ba61998ad06a46b622ec64d7e3824b4c5481203db006c3b4cfcfd99d4f4e3d88c4a2c3090cd2fa66be470c718c25a66946bbbcac1c3dc7dec28f9f7a1995657998bffc5ae472adfd956d5bb16febb3587aed6d18d8f71a8638431f7e7d27ae5e370f9b5fdb86d202fa01a99c83ebaab9bc401d01e5e3845f8102221f01a390b2bd4c2640d2d0d060121528d1609b4cd2bf427e156ed9701ddedcf13a25251ed4d3574e31adae76f5ca57ce5e947186df5c99876aea7f14e74b79556b96fcf6cc438eed5c141dce9ed348b3ef51d4342fc41aba31d8f2cacb04aa71dc74c7cd74f2689956978de072fadb59b87409aa77bd82bd2d4751565cc1a5a27cac5dbf1189adccab7a06365c3d84b7e9bedbc3f7d7df740d75614ae99177352527f5288d05f89ccab3043b92b8d1d23b31b11fb3e7cda18e064dd1a729bd99de8c9eb643788d1660e72ebb0ad8b7032f6c7a813388225cb37605cb33822be9c3a781d29eb2a52b51e1ae37be7222ac971480db8f1c0021186ebbe743bc9f300084b9b0aea227194059354f8acc5a6d515523f23a8338d0d2429d9541828f0d58327f1aa5197eec3a3a40df40b9a828adc29d77d5908178b1ef50925e8703689ebf0ea9ea7a54a40ab0feca1002a5f5b8e1dab5d8b6772bdad9cd16ac5e8fd975c5183c54417f392b51ece5d2dafe56fa2b6a40e3ec251828d942fa1d42e90a7a2aa6a2ac03e57f85bee2bcea50e012a18078767131bdbbd3578e94e8dd9c2c6d7fed154ea09a30933a72bde4796e4a4d3459aba429104956a4533295129349f59573cb2d77e63ef1c42f223f7dec9907aebb7efd67e83555bccdc88455796d37da2545bca4170be8de7de7fe4e6c3b32803c9f1b372caba33f905cbcbd6d07ae5eb5d42c096849c6156fc7833fdf84990de588e74ec3b2b208761ee8a333b60e34afb917393dafe0c7af1c402a5a89dffb6ff7e1d1bfff03346dfc1c62dbfe1537fdd7add8b3fb5f50ec8a198fb30e2ef9d57a8aa4241d27da5092c79d1f6ca8faa6d941d7022c0a69b6f05c4a53843b8d922ac106874fb6811c2e0551c7224ac9007de5c8bf4c92be6646e82b475bc8cdbb4cc7e3f5d3078ecf78ded57b92cc48a7c8251f3d34de3712c99862671b29a4bf98304dbecb578e2ba5a513f9ca092145705118f0198b85be4001534970d70a170e69ca5d3e690a8a8aa9b5255f395ee4e6b868da9e5aa32c83eaa1fcf3f3728cd4463b770ae8a4d04be0223d9828cbeaf3fb90d46e1c2a74c7c2c38824e84ba288be72c274a99043bf3794e40c87c67ce5f8e90bc7475d2a69bcc7491b7bd78dea2b49515e3e0110f576825cce0ae4171abf3ad62e1fd685e6e387b9bc925b50845c6eb99134c3d082084a80cecfb2c813736ebee5fb27cefa04d8a7060783a44901f3d5377051a93765ca944f05de302552b9ccd345855bd52f1e09d12334eb486a0499974188e66b387f1c0a3814782f5340fc4efc5c0ab01d1d1d66a9c63649a07a8ba74b5222077e55d421cc484a2e3d5f3967fc88244292b3e134156866ce0d60ce4cfae760c5dd817cb244325dce1eb555d44ccd4d42d44da09e889cba797ddcb9c38141a2263f1d9e3df2d00fe9c535861b37dc82ce6d9bf0cffffc6d8aacd7a0993b2ef64767e2a1af4fc7b34fbe80f7df7e2d67da9498644962ce5846e7e11928a0e5074b8c6747b2018a2d4531f7f90947e82b876b3e66694e83af4268d8022f8acbffdc99d39f8963010213897fe4aba6af3fcc6521f97a49321e458912236a50e6736b3d54b129696387527ab1813ef522dde441886884bb57081484f083f235233124cbce04040c82ca9b83b28b921c0aebccd2a21161f0aef2efb7f3678e41fac161c94df2ca41cef2946e8a1e38ed3af673bb9d295744e95a7e6a6cda44081c94879e1b1b3eec07765091e5574841cf45b7109fab4e5690b237d77999975ab1097a46498ee244a30240f2fd33561f56dbd447cb4261c6d1ec20c934d5b786fae99f8847abfe561e261df3be556e9b0e99dc9c8343018702ef610a480222a98926809282dbc1e65f32c920c182f44bac4d29926ccb86d4d4c8552fe8528e58719aa2f4a79f7c14478e2fe56c3a8532ee7890b7d6012ad908b1f9863b59d925c63e839cfba5bd65b8ebe63b0c43255be5ac9262a75a0d114bd130af0faedc02545287645ae5dd98ded58b922aeaae501455ddb0909e655d18a05340e3957694c9db24778ee74b010d61928484e9c0ceab5d515983ebf9a6e5c47728e050c0a18043818b8702f29523c988a427639322ab7c5ab61994235306fb99e26683182be6e4fcbd60c04495d196dffac6467ce44e29055a56618dfb763e9b51c661afa1884a7c0bcccc74ac7a6ee4e652c2921904056e2cf51b17f5131a3552d23604678e149f374c2b34fbafd30870b3930c45812890f7b874e08449a4003f82fd3d263155272987020e051c0abc272820fe680fe0974a85545e01104945c6073dcbaecf54f3ff0b064c545155a6b0b088fba04b05bb4cddadbf7c96a184f40f5254bccbaef878719115374d051caefb30188211a0c468c8cb229e25ee57160e28c91076120eda2a26dd8af9336798651561c5cc679c84d49d241c0a38147028706951207bb0d620266b5af6d875d2b34bab5a672dadea28c94a5b5b9b895b4413079319a6069868dd49e86182914ba043a8ec4ce15c3fe8f878e3afcf9487f3ec1d5280df35c1ef27a9951aa743f3774847e73587020e052e790a64f33f1b90a852ef65de68d753c0c41ecb2792b2fc2a1f774a808914f8cc4cda9e4edb4753522ad7d96292d3945c98c6091717058cf33b6af698ff3a9cf44d2faeb23aa57128e050c0a1c0545140bc6f22e061df57beef65fe7821ea39a9c0244e4b960af279239b16fa9d058398f8ce9f4b8402ec905a6a33e8e41c8a6c236b457d2f77d473208513c5a180430187020e05ce9102930a4cb4a54841db8a02b441914ce69d63319c68970205b4057738c86dad5aa23b4bb0a46663b0542045623ffbfe78bda1b324e73c7628e050c0a1804381cb8402930a4c320213ee8ca1bb640a4fb40bc75ad31947cd330c6c1af29cd9f5387a5d349714614a7fe82ccb38fa7ec334b1aead64b6d84fa0550a525a8beceeee36c67ab4dbca012817cdc7750ae250c0a1c03952c019a3ce9150ef30dae40213bb10d431316b38130c6032044575ded39abb96c7d894008d132e3e0a4800628420a79798a8c36abfbba423929c4952a29fcfe74388564f8f1d3b6640899e8d8112cb7099b5f423035f5c321a67b8c762044aeb2c6451044a76d4f4acf4ce123ff3d80650e6f53141cfe8cbf6f3d11be771a272a8dd2b59bb4c567d78cd7bd9d9d9cfcf9c7c36bdce1cf394a7a7ab6026e2f8f2e8b65dd6ecb4cead9cd96f8c9d4f767a63293b670e052e0005ced687d4df2718fb2e40c94ec9627c39ced66fb3e39f2dee29994de28da901261315901f4bf6f6ff7ff6de033a8eeb4c13fdba1b1d816e341a3907922041823907911483242ad2b692c378acf538ac3db3e3b763cfeece39efbdf3de79fb76ced99d9dd949676ccfc89eb1ece7ac684994289114a3981348104c00011019dd40e780eef7fd555d400302294a064189ac4b16baead68d5f55ddfbddffdefbff21af17d75ffe0deca25d4e484ada092071d1a6b970092aeedb40456c37dfb9a3c5d37f3f390828cf90a4522425a2ba58a66dc489bf28cfbb78f1a2e25f5a5a3aba9a5ba68712b1207c81280de1152019f1a39f4af1f28b8aa9025e2522062ad51b1a18a0323d27ed2b8de9b411f2a2e5215dbc68973551329308fbe10dc6e1f1b81509cf5818511cabeab4917ca578628bc940457e834cdf919b0f3b2d588b9af7b1fb8c43a580a25ede41c384d4089fde70c62de90a49528994fa145806fa29d355e9f24818b1701df67b695892967fdd4e26308281be6e502b3e6df6e4523d7f4cb1a7138da790e7c955ca2c4446d510ab6aaad5488d68bf4d883aff78922af31d24356c0499b96ce5967c253f2176d2a8284611a58e2c94687a95824b7cf59ed825120cd4b06a23440db3722d959044e9a47d158db27d03c3b4b0ec81c548cd8f461bd5ef3b9474248c86a99cdf8a93774124675a2328798bc6498dc8de4a1a7a181d813b86003f0a7967b5f77762396ee43f31dcedbe96724422d46a1d0a29e51509b5836dc68d9c8417256bf23dcbb9dd6ebf693d6f94ce54f84f1b319107296ab587fbfb90f5dd3f45294b2f729174fba7d445ba8ca68d5b91bf72351c2255611c710292d270f257c22be7ca9d8ff367f211f9c749498ff3410434b2d0d3d3a3bce4555555ca6f0b0dd2b96986a0acac6c54818f3c577129da6b09f103ca67c79ae41c60883db62b1240cfc0201229230a8b0a15db3aa62c076dbc78d1d337444bd47928706763901d7c284acbd44e37dc34dad8739d1d3ea7914c36373cf9f2bea4a882bd1fc3241662a5d89397abd8bc09319d411fd5c91bcd244b1ec5de8d8f3662ac34865754548018eff77987914db292634ea0bda35b510e18a56afb68d2c43215c04a6b9b296e7ff7f60f20188993b8b8699bc7c8727b699b2989dcbc42b048b8decdfb2c93c35da4a8890f52757e37b5143b9c792468b4bdc3c680f4858d887c01b97cdfa9a27e6810033e9afd63fe6e87098150024e2636ec0f100b3f7a7d511a399c4155fb43888c98686cd0427215a064ca04efa00f5696c5e3b2223014e3149a9d18d0d68e2d4b994633d1264e71610122ace380d74f0cb2140bddf1900ffdbe10dc2474d1e0304d9d139bc25cf4f67423c2f31c12aa58848d1ced034549fe7afbbcb0d23e8f278f367ae45b4d7f9ff24c952f9be16b25053b0000200049444154d9c48d53c12fdfae347e4242849c4863290da7a8c4ce54a4a8a6a1ffd511d011f8380868246380032eadbf94ef4cda6727ed7e697e13d31649b76c5a91b022e536f35bcfa3deb11b859f187faaaea78d9848a32595338848ff47cf63a0aa46d5fe2aad304771329a33b0538ab75e438ac07008290c84f54c29bb7cb2682b27c5fb6270cccc0e4169bd159b2dc25c39f2a34d1591b2f04a19052645e2220da5a42fa93029658a80a3df5038464561765583ac8c32f9b0a46c329a948e4cb3eba244d4ff7c240434bcc5ee8290934b972e29d211515f5c49adbf7ebf5f51cc23cc5d74da288ecf48316a270f89e766aabb8f919884a98030df65563a530715bba5e261f40efa91ebc9c3d0e0000669d2400c048a6465889db1319e85e888112e1a060c51fa204e484f9806ff2c962c4a5dfa69b8cf498bd62401c121248c7638cd23940678f90ad22613890b6fd0468e970488f9d068d5b0b70f291afb73d1409f9f04c764c9a125e10889c520aa2b4a94324528bd3033be6fd00b8b87648044c943b3e1014e69c54d7c67694c3087860695b7997f44aae3223e16bec72394ce883971c1cdc8f758242509dac4e9ebf7c153980f1ff34cc61d0c67849304c53f1c641dac1cf9a8e18db41935443f93c9a148a5e46d77119f00ed000d24198f9f9293a42548a37d461a300c46e328a1856e1657c1206eb022d792421ff1342582fc3e69e0cfc7c6cc960bbb31446bd043b0e7e4c2c672cb14ab8946144143893dddb40b44731043fd5d305aac28607de3d4e62c9a9c15c7faa4121192ab100962016c342aa87ccebc29ef82382122d208664a4f941bfa1f1d814f38025a3bf7492da6944fa425424444df88383997418110931b3989a7d54d24df99d2e61bc5b91dfe637329b723f50969caa82ac146a96aed3a94cc6f445163238a79945754a0a4ba0a952b57a068d1220299b6c3c28614f141bcfef61b88d1f05f6ff33e1c39d1c291af9523dcb0da29b19137d06a6a901dc90847d746dab00d85c230300d192f8b35d8b888e6e91fa5355b132d0d5f683987f08810186e6d26f84266cc7c7822228fb0e196ce51771f1f01f900727272306bd62c655a47d696c8f48d7444f2b2cb7d715a47256887d3b8cb795cb94f82912b520fb74260c4b86352c4ffece40b3cf970d8393d4282297e6494ca54489c3608b2298528f0b8d8094b0e4286a9fd97845679c6f2ae88b75004be5b6e128fbc3ca7427c5329333c1c19e4d0765394d67c0d261b0af239b5c37c44fa61b55918375d268f5319e127390d24a47644d644f165ca12090a43e5badc1c65a8d33e7132a75c773e3cb939a31596cedd4ca225e195026a4048b9185fde59c93f9ff5b453ca21d68c4d24de42be65aa453a760bb134728acbea70d1a0658c44c94bbc586f4a80a4dc6299394a822471a47151a76c0c945a510243ebc22cf8380c84549069509292cf3c4c2462c49ed88832bd2cb38c9c683f43a0e3b721a43f99481173b1c06c57eb40ff182d3c0fd290a1984ff792a489b5e6c1be5e78fdfc1e49ba342783002124d2484aa329ef8a2c8e9eee5199561efd5747e06e4340be25998ad1be2b4d119a4c99decc493c89a34e0babeb036f16fe76dd9b3e8949ba06d23cf9b82b63880d588c0d9c8c9decc78e21c11d1b5924250936562a6393ce432251f57c821d10015354d55384fcdecbff8aa6368ef0b2abb0fdd1f538f9f62fd1962ac596d50b70a9e97d5ce4bd456b36a1c23e8c975e3f4871b815369a9df70ec6f0f0671ea46d1d9a76f776e3f5977f011f47a273566c4663a9196fbcb31f415a5e5df7f05358d850852847da1a7b9492e8eed61110f2215291baba3a45722226b3c5653270e17ff22164996db0257bd1c185b123514e39b88b298188a0aba71711bf895bcfd9c973946eb2389095f0e26a6b2ba5309cf4c831c2eb8bc14132116627ec2c70516ad185614a490c66a7f2ec52ece4c3e128a754ac0ae1888d703d035f2c59b7d2db7d1dc37c0185008d84826992912069c8468a6b5d249f04a52145a50e0cd01c788a1df640df750c50eae6ccf1505243a9034989905933d7a644d9d9c639e5210b4d648a46e8700ed7c4f477b7537211853db7500550de65929d94f0127e01424784a0c8af8207a579598641b4b6b59200317f4ea7f4f39bb916e6a2e2a48516b5b96d9b528d10253939244cb94ebedbddb206249753303e255e82efb84c37793975dadec1e99fb889eb38287562fde5d908691762d3430cfc5c38e3241149d224f108efcb56ffbe9e0e1ac324a62432a0e44313840811337290e060bd62ac132fe1246991346d94acd89db96a1df97053f12825550e3849ca34322a37e55cbbd6e6bc456c2c75d79d8ec0a7010179573fc97d83944f88890c00643382907fb9feb0755c426024ac0c226567a57c9777c24d3331e1688b23b5111e36930546569c4821b678b122ce35119484a2c04b8382cd27c34628e990b92e333b86916890f3e2063cf9e56fa275e7cff0f6ebbf86375587ef7ceb095cddfd4b74474af0c7df7e043ffcb75fc0cf85858beedb8abcf035748c1463eecc3e74f4f722c04e279fa3bb8865269e787c0e8e9d6dc6be33ad58fdd09760ed3a846b9c77573a506927d521b65620fdf72608c8c7206c5b3e589192c8cb2d1d4f7575b582a7cc5b8ad85eb60dab9d90804b9039ca2fe35a149174c1c8751ace6c040682948a704d081783cac744b107e700b2e0e4944890e12c249a36b3898493062185a4e4993945638195a378211f36c691f52a268b1d155515240d2370d6b829199329051909903438b215c9867c7c498efc652a2f2baf48c9c798ca611d988f8df9b0e3351597c81c0ca733a28a644e24052289b164e7a2bcdc42a90aad5ebbcdea94145f1a72072e6c95110bd334b3c3a7b445ca241fbe487d0a39bd21c44c79c1d28d9c5d842a8ab4c48292b272e2c17531524fe69fc5773f4adb5016a661619ae5a5f4637c5998eb6738979b4489d817955470516d98df8b9dd2160b2cac53842445e265c97495222c51170d8bc427c791a32cc8b552829324b606863711039385653690cc28f5a45464f4439006d9c4daf019f1199b2c79b07371affa3c157e2595524f88973b2f73f7155361a5e59d101cb4f745a4265a7c35b2fe57474047e0f74540c8bf48570b0a0a145222e97dd87726edb738f926653029e13f2c8e12618aff4c2f31d13a79364eb22dd87aee1c623535c8e2a8ba8c9d958028f3fd5a832d0b0bcddc89611ceac5e1830731d4dc868af9eb10ee6ac1b9a6d3e81a04e62d5d86a3bbf7e0e0e199706779900ab5e1c03e76421c753b2d231cd939611db1c29995c386bc8f233555f2221d640e175566db29f2e66e8959f3e6e2d4a19d0876b662f67df577e4614cf1b3bd23c949c7238b5c85a5cbee8b4c27644fd69e4cec88e4c537b01373ba54762ea3720b1768e6731a45240eca2e197e30ca07c2293a979bdb9065d4cd787676ac8ae3b95c5b49366cf4d03e28e19616ab835331124a9ebd7a3838ba7798ed7058b98b879da44c57481cf9e509a523e3f3b1922088bf8104599c36e297f46dcc53ba6e259efcd2495a66b34c25a594dd3caa9fba96495e70ad015002a7ff88f4502bb7896baa5c6eee4052a40bdc6e4d824441cae87d0745b24c9ae4881246657a8bbb79145223eb5748e4947824f48c6461dd957499be9687821d17aeda45fa4102938981a42b3b90c4493d656a759c630022c57c2805e3c041d2ba91d370cabc3f718e5bcaa63b1d011d81a947409bbab9956f4cc2c8a041692be41bbf83dfe5f41213b63fb2c6a0f35a1baa2bab909a518711763816ae0ff1b3a98b70bb7057571766cd4d37545cd54fc1123efbe4d33873f61caa976dc6dc9a7c34bd3d04532086259b1fc48cda72947077464b473f6a1a97e2014f112eb6f7e3fe0d6b604d0c236a70c05c341f6e03e7f4e146b181a3def26a8ec26dc87315b2d3b2e0be15ab29c119e1ae867db8daed432347974aab3ff5efc95d9fa2bcccd2e90a4b9fd82969d33893bef08c97d9c199d9114b7728eb4684ec8cc6917024129a9b988774e413bbb9143bcfcc6f4cd2b20aa1e1afb2fe8884594b5ffb957b99f948bae246ef6b0510bf49f2cc0c3bb18c99f7329219772af9646e999f58072d4d598b5254cc85b55206a5e213ca3db1eee95c24fd1b612041b4f4e57cb23ad39761c69e8384bb5537797ab71a5b0fa72370e7119036e9d3e03eeab7f651c3df2e0ca68d98c8834c50f49dc7057d2323b3119556d42372e51477508cc04fd1bd80327bde62d655ed04248e2c0474e49561dd261219de8f8786b1faf1a7515d3f1b36ea540847a228ac9e8bd23aea41e19cb7217736caea1ad445ad866238a4613638496ff82b5b31f95759144b7f9753ca944459b1856b08da38227563d3535fc09cba32a61557753fdc2ee4efe274b5977be2c7abf9df4ad5b5b013d3b895b8b712662cfd5b09fd490e2304612215bbb5f2de3d18dc5a7df5503a02538280f45d372126f25dddae766b4acaff294864da888960210fcc43625258582c5719f0907daaff95919a4cb3688da6bc0032972f87381921ce9c3d93c4218410238912aa387751c494978113fb23519212793144d3a6ba1b4376e4a8b98d8df0e4bd9281b7bc40616eab72159463eda64ae5851be10e858fd9d667d4493fd511d011d011d011b8eb10609f7133f2a19392dfff89df1e6222626f610293304b211da24ce9464e1eeac4073bfe5add6aa8e82e4927323e4e667c918d88d37ed311d23f424ec409b911fb3e0a6d9132732d44fa961a40ffab22a03c531d0c1d011d011d817b1781d141f3bd0bc16daff96d2126b29640d4162876712654613cc99870f3162fa7228d8959dd8e3427e6f1a9bf162697268e3a5e9ffaa7a95740474047e06320a0b77d1f03b48f18654a8909f5b62ad9c728118951b783e839106985eeee16042859e29a1f91788d881e0efde9de2d0f56af878e808ec0c74440884aa614453bbf9b098cd451d42c688adb3e2674378c36a5c4849a46948c44e5b7d546b5e271eb0d26516e581efdc62719017e8059d42522db7d457ba9f6017e928bac974d47404740474047e0f620a0999798ead4a794988c2b5c7a3d0275388d9399a89d99dca44bffc8f48072c8fa0ebabb99692a15fcb4fee1f39167235badf567f4697d887ab9750474047404a606014d33ac0c56a7d24d6d6ae992890e0459ff2abfd28169fc434889911a2c65b42d13014665d4cdb09c1a10656a462ad9127d0d8a764c212bbabbad08c8f34873c171f9a83c7172fcd538f25c455597ee7404740474047404ee3504a41f90be3d53dfd15462705b8889ec6a1131c9c451b5109200cdb40fd292692e0d98f9daa93bc49d0b776d3d35bc3ae0ebe98495964aed79f9aa71b649c88906c8ef0bc254a5f3fb96e34ec517422246e434a56742433402297a31269f3b94872a2556fedca9a2ebf9ea08e808e808e808dcc508dc1e623209604204a423f40df97060c72bd8d4fb066607f761e022d0bdf41b30579660f895bf82e7ffd985ecc212c562ab466cc648845856a5ad134a62b44e7492ac3edc8b84c744f274bbd8de8717e0ce87c8a2cd18df5080aae369af884ea31a826b366da6e4d3468de02e87ee74047404740474047404a60b816923265221e9e4c4a4baa7a80485b46a9a9f5b0af3655a414d7e1fd9dcd0737d1730a0d8e5c8ec0cc5ae48963a82e7344f302086d5ec4c674cc94d66e7a94c1d6574a62274d12e957376c1295a2b0ed11aad6ad93433afe982fdcee6632476cd17db71aaa9932ad969268006eea234632fa4cf6635c24281d7ec19055830af5691a864e27b3b4baee5a311d2db99d7b8b4e50599443a372e4cfa42ca38ede59bbc20b75ce6c9a27f1cbf3bf67c3e4e61f5383a023a021f1d81cccef2a3c79eb218d34a4ca4d41c832b7a5853a6025e5c44d2e6a261b432eee77170ddc9a50915e37a140c63c74baf6128918399b565186cbd82850f6c47b18b564bb9b25654d61b3845249dad0cfb13ec69c5e898dacfa4146bc55932b544274ad42c34e12a460077ed69c2b6cf3c0c5332c61269f28209d9df6597d2b1c822a58eeb7d387afa3acd5b3b6161dde7cf2cc59a7985e86cedc2bed3bdb42a6bc0d98b03b4486945437d25d5f64b677ceb6088123dafd7cb78643d194ea68dc4c09f622d38c35fde0a79781fecf0557f093a9e10882447c28f4b644298f43dd6599eaf16767c3ae99cb59ba35126928fb1726496715c5a920fd3d18a34ee5e463127f39fcc4f8b32f1dee875baccd28e4c28be1275349c96107f27fa7dd8b544cd0c9359f78c64d3a763187df05e1ae78c1b99e9669e4b9089d793f97d308cbc138285f6043232d34f750474046e0d818cef47f9c6245686dfad25f2fb879a7662227d90341ec3fd87d1ed058297bcc8a3d554c32c1207d627c9ce4c6dded32d6e228233d73ab0e5e1afa0a138899dcd4d0c13c48983fbd0d61bc6dafb3721dc7d01fb8f9c85cd598a071e58872bc7f7e2d4856b28ab6dc4ca45b5387e600fa28e4aac5eda80a67dafe1e4c953f09be7c0c47248737aaf38c15d1617b7750cc266b783b33908538235b322076d973a317b4e197a7abc38d11143ae8b7e1d3ecca82951c88cbca4b7e224dcc0c000494fcea8a54a892779c7623185b0141616523aa32d9e9574a53349a2b7bb0b71838db68bf2d31dfc5827a37638639d0f93531da32bd4831e6a98099da0f8a783ca8f1626dd8b29f722e190628537530a978cd3b441d2400992583c5653482513343419a74d253bb505a7d3627d154272a37c2453aed9493182a4a2e4aff6a0bc52eb3e5a26099b7629c631489c7445b58e58bd4e221c8a8c4a0eb538b79a8f86f8a469dfa46c61bf0f41aa262a28702b596ae9a8f9a731627c2dddd172f144bd3b463a9430e9bc2686cfbc9e88c3e8734be322d72af114ac3273d4cf7504740404016dbde0589b7b035cd83784034348c569b53d2f6fd2eff80631a7dc5b15254c79b2374a506d394cb41a7c6dfdf771fdcf0fa2e7c557d0bcf59b38917c045ddff9269c796e02c991b6d2cab0e93366d1005f04fbf7ec43ef5010369a7b9726de95eb4247cb519c3d7f1c07f61dc7faad9b611a6c456bd3619cba3888ad9bd7c077f53c8ebefb26de3f721aad2dfbb177dfbbb8d00d3cb8ed6178c4323c93bf17dbb29111a935a54d3cac9cd67afdad9318841543fd5e5c1f88c29ca5a23292e27a1ee97d3e8213e56bb27647cc6dcb07211daa1c722e9212f938c2e1b092a2f8ab4f2086b77efd23bcf2ee41bcfbeacff0b357f7b16c4024184084d34c4996d1ebe307c3f24aa7150e0c63d0e757d2b8707a0f0e5fec50ce7d8383e037a53c53add8c1611f86836a7e626f2914f4731a8ff3864c473abd88af0befbcfc32bc61c5208192bed84a6a7eff6d1c6bbaa6a43b34d88f086f1ba25ebcf5f21b9428f1dd890695353a928ea015665983240b234ac6290c7907d8894b9a61bcfdceefd01b668de26178654d8ff66e33668aefba97e58ed090a5e6da5a0e63ef192ebea2f391e48563aa85e57854e28728160c62cf2baf20484956827eb443c91e3f849d924f881724f343fee0b87c84040d0f0d21cedb52de38ad7c0768d53bce020ba6896868b43e1a6152e3f8c06cd8baf9f08f7ff39778ff5c272f40922903089142124bba30710d92b42969c92e3be55e427917e2d108b109b19c6a5ec938cb37ace190e43aa72168b2b518c3fafdeab3ed6b3f8bb70f9f52d21fe682f96024a6d689edc710df0771270eef44d3f5013e4be2e81b56f2556ee87f7404ee7104a47df5f97ce8eded550e19306a24651c344a3bcc6f986de5d9ffb51097fef7afa2ebdf5e80b7a505fecb97c7059dae8b69979848c365620755b16a23ca2aab10a575e0d8ea0d6c2093f070086fa22e7b456aa234dee44d9c6a1936baf0d4f62750e3f4e1a43f8cfecba771f8e449388b8a11e29a1373560a7d5cb3124ad9156d74480438f2ef46cacaa90a334dfd39cbb169eb3604dbcea2a797a35e766cdddea0da3f4c17d29f907c04ff9c6c0bba07c35ca70304e2463cf0d01acc2bb1e0ecc916244904b30cdcb2cd4e2437c7a22e364ebfb8b75a058d8868dbc5259ef8c9f5f805c7d27d193078f1182e069df8e61f3e0953cc8fd6eb3ef45c3e8affe3fffe273cfc852791150fa1afab1f350bd662718d156fbe7d906b8d0258b8762bfa9a4ee072aa1ff1ee73b874b9030e4f351e7b6c0becac5bfbf94378efc415f87d016c79e451f49edb89b74f76c3995d8aaf7cf9099cddfb2a0e37b771979803eb3ec308749de70fe3c5b7f7a38d12b767fefd3cb45f388837f79e853587d2b80df39485c181814ebcf3d6dbf0051258b4ee0154d97df8f94b6f234432b0f2d1a750823e1c3bdb8a70dc8ccdf72fc3819d3bb8a2d883706f07fafa863067f946ac5d44116132827d6fff0eed7c16c18805cf7cf129b8ac065c3e7d0cfb7bac4879afa2abb307fe780eb63fbc127bdf7c0583a95c2c5ccc7290c05f3d7508275bfaf0ec179f408a8dca0e9295a4cd0defb50bb8d6e9c3ca2d8f62fd92d9043f8e036fbd84fd67db5058391fdb37cfc5cf7ff20286e359a89dbb1e8f6fa8c1cbafbc8e00c953fd92fbb06e71fd689cbd67aea1aa6e3e96cecd25e1efc3b6afd72119e8c12f7fb9174f3ff719ec7df51558f3dd387ffe1cfcb11c3cf5e403683b75068b36de8f4b87de83a7a60ebb5ffe675c34ccc39ffff197e00cf5e1e73fff055afbe358b572036cb156ec3b790995f52bb16d6d157efcfc4f6990d38a05ab1f4489f12a76be7705b678bf8243ff601ccf7ce1b36879ff0dec3a790d35d57358d763b094f5a2392b89e1700273d76cc1aad995cafb26efbaee7404ee5504026c2385e46b9292100784f24d783c9e7190a8adb0485692b0663950c88d0ff92ffc12dd5ff932a27ff33770fee99f4a039e1ee88c8b7adb2ed4d6f8b6253f2161b613a2a6bebbab13fd240e43fd03080d0fb3812620145b1b59777514adc5634766b063e3aab5703b48588cb42cbc603e8a2aea50573503059e5214bacbb170c532341d3dc4c59cad70d72cc0c2b9d538b4670fda7a0258b0f151ac6e28444bcb6594352ec59c92180e9dbc8ce5abe6c3c091973c947bc529fc8215aead2a80852430c486dc663321e4ed4273f355984958b26d464a29925c1f92c4acda426527d547e425ca3314662e24447e338f4cb2a2811f0a0451515ec1f5447416276a6a2a11f6f562dbd7be8555d5f9387efc0a66cfaec19123fbd0359c444565353c0eeef0a28467f6ea0d985be1c1e903c750337b0eae35edc1c56e75a751ca6046697925728c310c0d88d463045ff8a3af61eb827c5c3879027dd142fcd99ffd47ac9f97c745c0ea9b70ead0493cf2ecd7f19d6f6c47ccdb87433bdf41610d3bf7a10b38d2dc8a6c970b978fbd8f56af01f535f93870682f7ef7c6497cf64bdfc61f3ebe9c128d01185987aaea2a24fa289ea36e9ead4f3d0de34007ae7647505f9b8f770f1ea2656c714998ed6e54569423d4d58148941201ba9ac685d8b07e05f25d6e96bf0cb1815e04fd014a7b02c871e7c39d9b0b7fdf092c7ae8fbd8f2f836caba00738e0bdb9e7d1a23033d28afdf84ef7df70fb0effd031866b5467cdd38db1cc3f7feecbba8f50c61cfd12614ce5a886f7ce30fe18ef5e1ecfbefa36d104a7ddedd7f80321e0a5dbc12278afff4dd3f4369761faefacdf8c2bf7b0615059cc6cac923698d33fdc3087061fad5f31d78e4a9afe34b8f35e08dfd4729911ae160c1c4ef2b4ea9971f8ef2067cfbabcfc2c9d6e6ca9913b0152fc55ffcf9ff86a2542fceb79af0e7dffb73b84d9dd877fc3caa17aec637bff145a0bf83a466161e7a603d8a29562e292983351945c7852674f499f1bdef7d17dbd6cf47e39a35584ea21627ee399e62b81c82862a15524ef43f3a02f728025a5faa1174a1e99adf6490281250ce4ff87bdb913ada820a06b2528bfb9d70d32a31914e493ab9a4d18eaeae2ef64b1cbd7301a62cc83453efbec3ee507e552009931007a3132b97af644749db3b9488342c5cc2299824d63f5049bc64dbef089a4e1c633a05d8fa9975c8e1ae92582c85c2d219583c7739d752e462d596c7d8494ac763c0f24d4f600559a34c64c4644b0acfee152703c8113e833c7736d62dadc299961e8aef23d8f1ee45c4c896396fc64e2f9b1d2217bdce284479894cab8932b58f8690bcfc1a19d13e0af19373f91dfd38d2091756d7e2d41bbfc2e2a54b9133740ebf7def0216cdcc47053b66877d98e60d7250505c8a450d59e8bd7006ede12c94b20e614eb9c463710c7a7d94c265c3935f88790d8d70926c89bb42b23a58349712120b42b1083b4a270ab815ba9d12211945c4391d23a30aaf776c0ac0684c2a531c5924ccf184953bc26cc8757bd89137c09c6b43a03b48a99c91ef9b0bc56595989315447cb097eb6a7a91352cd32c76341d380057e3128e3e92940426482a7c08042370b23e45a5a5688c0f433ebc243bed13efedc7c2471e82919d6e8ccf465c2a1947575b1bda5a2fa366e50a64a5c208274d58b062233aae5dc2cbbfd983c69a0abcf03f8b388d79144f6e5b436c596edf206d54c590c57a4548e08c943e92ef2bc63453294e35118348380213a52a0e8b8b3871b71b9f872c1c97fa149556627e349b6f01e3c8b6fc549071a25ccf1285bdd800af4ca528ce82e50b67e04fffe42ff15ffee16f31187893d2a3006c244f0e6a058e8607d14322d8d5d9876a6efdcf36e7213f5b6d6a44654084d34691f010aeb75f4534e541341e4494e5b6f2b96567b9916d35a996be89436fd775f474b4a268d152ee16a39d26e69f4c50c24492d645ff7e1fc5d35979685cb11ed728497df9772730f79b0fa6cba9ffe808dcbb08c83a3f995a97a973697b652addc581d50d1dc324fdc780cd3fc0c01a3b625ff9030eacd4b6f486716ed38d692326028cec8aa9acaac6b35f7a4e194d8b9fa6e04bea27d71f742965d1a4dc63b746a0630a951849078cd37fe6dc85a8ae9f4f1262239719c1bca5abd0b0d4c8074123436c8c8592080191f8bc3dea26cf6ff4f65d7b9220d9282c70613d3bf708d75b18d88169c80be9b370146cb1662952938f0a4226a69a08514b43ee0929d19eb97a4d56ee99812f6c5b8b5d2ffd7fecc847b07cf363a8ccea4347200bb9d573b166d1351c3f7116350d4b509d5d84fe539cfbe422cc9c1276ae949ca4920398b77c312e71346e7197a22497aba9e94a67cf83b7cb8fa88984976b5e5ca64a98d90967e7e6a3a06c0e49ec71fce2572f22cb5d836c8b8ac08a2d9b397df026bafbe2d8b67d15e6d46663f7a133c8cac9c77d8dd5b83ed285997316639012b9e35c073277d97d28aecec3eea3fbd17eea3849c61750dcd88036cee79a3cf9303a5cc8e32eb168612d6a92019c38730933e6afe06e281210b31d33e737603fc7a7d40000200049444154a86f00ceaa4a852448b9f33c65881fd90f4b6915225eaefea1b4c0643651d2d88eb0c1858d1bab61e614e786863aec7ae36df4f8e328719274b1e119b4952039d4829ffed68787366de5f8878edbf2d7ad99c1e99b9fa0b8663ed62daac0a5ab5c794e89527e4911662da8c76068b7529fbac6e58a046634ce0b3f4161450336cca9c5097e7be6f48b525c5d87798b16a09204a9d6b116afbefb329226171e7efc11aeed3a8ab738c593321660113108cbba97b4ab64dd4b7b76e05f7ff25b2ce7b44b59b81dfff6e31750ddb002cb67e7e16a0709a4d182e2f26292e462187dc73152508e11ff3092f66ce456cdc222731cbf78e167a85fb01c0b66e4e0d0d10bf0bb9c3090d46c5edba065a5ffea08dcd308483b2b64440689b994b28afaf8ccf67922380686f75f63bbf9cc5c9471da7c68f306d89d6922c3b67b3a9d6174f49ace95059712641e32809243a8937608a1d10e91f5483b6b79f0c1476d3b76bc1679f1f5b79fdbb071cb77027e0edbd8ccf0de389709cec4fcc705fc081792a6285e23f2ca211518376df011d2ba17826a044176a24c74b2be6472ec386a1eec43637df528b9981857ae7b7a2889e1a22bd113a33d5f793ec2dceddcd152515171830f443154304a9232d316c98de8591127e60b0cdc4d34d1c907a89121553ec677807ec69bb07e299ff63e6a719803931ec345c8ae61923464e1a8d9c4352127dec3beb31d307291eeeaaddbb9cbc94d029d50f4ef7ca08cc456c19cf92aef2a038cabdbb89cc7df93b432c3cab5eac69757fc840a286865e423cf5423856abcf17fe5b9abefc3587a93c789e3bd977f869e9cf9786af312351112da719ffa6801c6e7a15d65e23e791e5a48f57724c1674b698be6e45b978634d34d8e4d6608fd5c47e0de424024263223a1b57137abbd2cc4f775b5c2e12ee49abadc9b0595763dc9348d070f1efc9b356bd6fc68fbf6edb6975e7a29c24822569543849b3225a11d2212d00e691de490864639989efc8ebadb2231a10039ddac534aa1f09cd1fc9493cc324c767f7ce85bbb9234c71a2a992e60c33ca1e1bab594ee8d5082bb6024d293c9dce4d88d75d693c5d1fc643bb07436c39c0ed1d2916b212a252525377c2734c98df22c47df1b753ba8424a5860797b355222e5d78289bf424ad29e525239bd3129917724fd7e8e8b334654a43e4a59d2a464b45ce9f0424a24df198bd7c151700d264e2716e5e528714429a05200ad806ac9958e7f341dc9804ed166cc34e5994c4458abb71290f733c3ca37cd58ca3fe5bef2474a444924ff66e623e7cab3e06fa6be15350ae348da24a9378fa3a62d9467deea87b0d253948e2e654f93c63436eaa5165e0996fe932e33f393bc94b2ca773a59b932a229a4249db6f233499cf1d86444d64f7504ee5104cc1f618d88e803cbab98a92225df23cf94f688dfea74bb292526eac64176769cb2497084232358dddd4d08689dc9cdeb241d6029d752c871ab2e93a0669ecba731fa59f003193d67c299dfcba87f8667c6e924c5605a5aa4d1134953f354a3645e8f9e67845143b3be95354a84cc8e7d2c03b93596ee683a4a0cf5cf647ea3b733f213bfb1b0e3f148a794116d923c99d6986f3a6846fa636967e4331a478b69423e77c489531aaf1bc4cfac733a27fe8ce59f999760a5a53e1676c2593a9fd1ec2689332ecd09d1f54b1d011d819b23207aae942f71926febe631a7f6ee9412136dfdae744c99caa1a6b6c87a6a770c81d11ee1c34ba08e863f18ee6eed38b4fadeadf59bf8243502f6a164626244fd5a474047e0138b8026f9bcd3059c5262a255c6c4392d8bd9c8397652955bedcc443eabb95b8da385d77fa7050161d2ead44cc6b3ba41cef74a07ad555fafaf8684feab23a023a023f0fb21705b8889ecbe11bd10136da5dca8a832fa920e4fd608c85a043974f70944808451b4a54e2ea2ff0496572f928e808e808e808ec0a70e81db424cc8329479f00f1b456a84448cee8542416ae014c3718e71bb393e7588decd05164996faff6eaea55e371d011d011d011d819b20a0f5edaa04fd26013fe6addb434c3ea430dafcb4ecab8ed2664773f3790487065194ef42675b088d8b56288aa1b40903d91aa89ddf2e203ea4c8fa6d2220eb09449a25764f44ba25cf51773a023a023a023a02f71e02b2cb52b37b76abb323b78ad21d2126a2e535c1fdd5176924e8eae50b98df308b1686f395eda5ce9c6c650ac862e1fa14a5e3a3c63a1bd5602bfa36a86c8d4446f42d68e446616ee9d905e934e55a0e595d2cd1d56be950d3db3165d44fa775aaf2abad9b9818e65641bc57c2099ea24dd44e4576c649f488dc2b38e8f5d411d011d011b89711d0fa4f51e0264e74a54ca59bdad46ea1644214daaf5d43cbf9b3a82c2bc4e79e7858210f7ff7f77f8fcf3cf10406687d55abb48cd18d88e2ccb123e8f7d2181155692f58bc4851a56de29e6b23f548745fb980a6ce08ee5bbd008af24eaab18fd2f2a9c5ea4016ef27a8ad52acaf3a6c162adb52b731cb8e21e139543745408d8aa555aaefa2763c07ceec7d1bc98239d4f859c874546ba9b750ad7b27884ce5909cc873d49d8e808e808e808ec0bd87c0ed6effc7ab4ebc8df80ad91032d17e8dd65cbb5af1f8c35b68a8ec3e25c75ffffad798dfd888daba3a1a2aa335e0b47484ea366148faf1ea5b6f21bbb80e91ce7df8f91b0749362238453b285dfdc354391f401b2db61a5234557ff27d5cbcd6cbdd4026b49d3f8af776efc6b51e1fc2437d387ce03d5ca5ed8eeeabc7f1d7fff5bfa3addf0f5f4f2b8e1d3d89d0080d04468770ece01ebcf3ee41da6011298aaaa3e13642a227ad23a023a023a023a023f0a943604c78707b8a3e6d121319604b6564716b1f451897af5ca155d50a9c3d7b5699a75ab06081324da34cc728ab19d40acbf4415e5915aa673660cd9c42fcf3fffbd778397206d7070611a769f98796cd45499e0527f6efc4ce1dfbe0a07d8d956b1a697363189505c01b07cee28b9b1b6931b105afedbb88edf7d522114990ac5cc79bbf7d09c3435ef46ffe2c72e26df0d3ce88273f97d200e62dd343bad311d011d011d011d011d011985604a64d6222d33249da3829a4c6c8d98d8bd1d133845ffefab7e8eeeec692254b14ab87b2a8528cc865f0129ea6100cd0822b8df1b55f398f404e1186aeb7a2a076391ebb6f058d99d1ea70228aeb1dedb05636e2e1ed0f211ae8013c2433553528cc31e2f2a50bf0c56c28755a38dde3c05c4a670a73b370ba7900eb3ef379cca6f9fae6b33d58307f39aa8b736834901a6bf5a98a697d11f5cc7404740474047404740404816993986870cb3a0f31c7bc6af55a4a2546900879f1fee1238a9d9b9aea2a75ed8226ad107189c9862a6716f6edf80d627e3f1efbf297601ebe84b7df3b0d7fa80e05340ae7cab1605efd2644ded9856bdd7e2c58701fa287f6e0d7bf3a8ec2a59f4392533f7d346d2ff362b16c07d79a74e1ea4023fef00bf7e16a6b3b4a8b56e0befbe7e2f59fff1083912c3cb1c8aeec3ed15751684feda3ff8af1a8584c6c398d395920a52d961af31d3b53a465b2d57ccc4b91b265ce678ad42df33a23e8b49cde4afe370a23fef26a1b3f06e995b8aa93c5ddd352d5493351cb71e33268e5fc48cf288d8b1667f23c64c1bb8c17ee60e5274544f7d411d011986a04a69d9848ab2a367462b1282aab6ad07a398686852bd0dad18fd6d636e4d024bd18ec52db61dadb81139ff9fc572931a195448b0d595c7f92f22cc253c533114f9a38356445450dd78470fdca634f1623c6f5229654102e8f1beee259a8a459f7a58b66610ecdad1bc4ca223bbe869975dcd9c3dd3ef5359833340c33a797ac959b505abf0a662b779c18b8fb274e8bb27a23f8b1deb740200039261a90922d65424cdc6ef707d2553a6c59d8a339be0034de9bb6764b0e2b5bc6b9e836b353970e4c0e794e7268dbca659795764fc46f22756328656797e6af2ee04d67c6349219e908419278b2134c0b2fefadf24f7927c4fab294583a4a5908ac6ea3966bc95b29cbb85d616a3a4a3919464d53e2aae75af9d57cc55f0bafa62de98a9fe646583e938255ba1cbc97898b8493d28dc5907cc676a949fe5a9e37c24cabfb5859d4d4b4726865954a64e6addd6786c454f018c350cb53a9471a73395730e3af86b5ba4b6eec5acb432050c86b1a73adecca33608d339fa19287fe47474047e05389c0f41313c2240d943430f905855cd351c01d3456c53cbd4cebd86c420cd4c64c45541d2999655b12a78244a3ac38b32d1b16698c64eb30af65fb7196c50e331bc264dc80da590b513d67150ab8664474a508e1509a6b3688296316c3a99675b37373950e2d412262a3f4456bc0250fdd7d74048474fa29d92a2a2a52749d4c4c419eb13c8f89921303775f1d3f7c1a758d8be076a8a60cb8a90a5dad97e028aa42aec3c28e3649227b15e5753360e6bd711d1d3312d2a9769f13ef09a5a0cbe890954b89236fcf84ce55eb1825ccc43c86877c5cc7e45608b2dcd7dc681c2ec2f60ec790979b23c92a4e2302be9eabeaf4e186657cc7d57b92bee646d3a087e62fef36a93c025c141ef00ec29e5786dc6cb14aa5de51b7d14b0aeab5d451489824abe52b773502a59eab7932e84d301b2b835616893b70fd2a46acb4a29cef94cbb44b97321e45281281b77f1015b5b54a1db532686968d752408dd0f8fb3a3094b0a1a2b440a9b7985e8fd9544bcd5abca8bf0f5dde046aaa54c3904a8e19cf5b50d2d2d3f2907751d3b32005157f91dad9f99deb4e47e05e4040be8108bf4979f7a5cd9d38589c888148baa56f163d5553bd0578625e37bbbe23c424b340d2f0886e126948c51aad8022c74427a323715a43a58d96b470e2af900a31686c3423bfa48c3b75a8169f0f469cdc1b75f44f37e30a21127fc97fb27c47e3e827b78480a6684779ae9cca197d5ec45c3e0ae97ce5e5d788893c17e934fdddadf8afdffe137cfd9f7e8a0797ce80afb70b572e9dc7c1bd27f1f4b7fe18deee76349d398a731703f8f2bf2731616942fe019c6b6a81b3b806b36b4bd072e618fa2256ac5c361fa1fe0e5cb8d209bb3b1fe6911042491b1637d6a3affd225a3a7c98b770310990bcfe7cff0283387ee20c722bb94dbc3a1f4dc78f2064cec7f205f518bcde86abed9db072cdd2ac321b9effe13f60f3d3df8433d4834e5f0c731a17203fdb8033478f20e92a833dde8997f65fc4979fd98eee96f3b0e65762ce8c0a60c48f9ffee8af31e85a4bd262026c2e94e4db71e1dc25d4342e4185db84e6a666f849aa0b0a5ce8ebea47ddbc4614381d18ec6cc60bafbc83aa0292e8ac42d4ccaac39c3973604f0570fcf829d88bead050cb0e5bde716289980fa7db06b060d60cf599a512e8b87a199dbd3e784a8a11ecef414e492d665614e12231f32573b074e16c0cf5b4e3cab54e18b38bd038ab0203bd03282c2b86b7ab0bf6fc62645bb330d4db8d98d38cacc4102e5ea184b3b05aa99f90c8b34776e2d0c56ee4f163f25c6d474945351aebab1118e824216b436dc342947ab2953245433e3ecff370b21cd9b17ef4c5f35056908db3a74ee0e87b7bb1e6a9afa3c0e1c3c1f74fa1ba71150a933ebcfd9bb7307fdd6a54cf98cd74ac683e759253af4665cd98253688d34d97503c6b2e6a8b3d6a1e6c57425cb726ef9d34ccd2d80a6996c18ff65eaa00e97f7504ee3e04a49d1d181818350d236d6f5e5ede4d89b90c1a259e901951a026df8c2cbd986e77c7898954586b241289b85c4d01069c06e0b481eea618815b7834f22c3572299d81e6e45cf3d7fcd893f29f2ae5387df22cfef4effe0a5d6d5ce0dc5082775efa252c957588211be1de2bd8fdee7bc82fce4398cb565469c30876fdfc1f71c5508579949d05bb9a70ea8a1705b630dee247e5f49fc6a1ee6cb87a77c056390bd14898c7209a4e9e427e9e132f34b7e26bcf3d056b2a821dbffd392279d5e8ee3a8cd6433e0cdb3c3005ce21120fc37ff15db4a7aa613b7216960737c2ed29404feb59748493f05f6f41ff5002b33d7e1ce242ea52e72062113f0a9d26bcf5b37f42c856c669c6048f0a4e4826e1c89f89da6a0b7efad28b58bd6c050eeeee44ddac6abcfeca6bd8b8ba0ebf7afd5d2ec4aec0db6ff6a1bece890bc329fcc1032b15829d621dadb6242efa86113dbc8b538d24d2bd47d1e27722b4770fc29ffb232ca92d42d8771d7bdedd8177ce76e2b1c79fc24a120e2b49d1abbf791e8eba35e87ae555cc5c320f8317af63a0321ba72ef7c111f7c247931059bdefe3ec70015cfe33b01bd6a295a46fe3e30fe1d49eb7306beb330a31890403309887f0ce7baf20e46a4474ff71e47df58f50964729049f7196d9ce69524a37b8dbadf5dc7938cc5b7078f7ebb090a01dfaf18ff1a56f7d0b4536030ebefc3c8e7b5d58b0c8084f568c53b126ecdfb11fdd234e04a2243ed141967907a28e321c7de1c778e49135081b83e8eb6dc7854b1dd8b866265ada7a101968c5e0501c335cd7f00faf5cc6fff5678d63af17cfa461d54689d2e8ea4e47e05e414048b9900c4df221d2139962bf99c450c88bb4e1325d3c3c3cac84bd7b88894837d84865764cb7fe328c7566b71e470f79bb1118e524b7f078e4b9cb472087463ac54fceb55f292fbd5492111dc091bdfb51b870399ace5d455969310ceeb9786cdb569cb1bfc1dd586d1c09afc5831b1bf0d62f7f0dcebac1c20e67e6d20d085ce84498d31cfd97dab171fb17395a1ec2fffac9bba877e7e28b9fdb86be237be19ebf16b19e0bd8bde73846b22ca8a8aa42cfb93604d8b95b1301f4f567e1df7df91120d28f1ffe8f1fe3c9effd01dc2397f0b72f9e44bdab069fdff638ba0fbda5ac7d9ab568214a3c25b874a619f65c0f6c8604da2f7761db23cfa2c263414bd37e74249ca8b32fc0e12367b8a32c8a44941575b830676123ad6e5bb06ddb762c9d5184575fb760cbe607f0eece5fe2647337363df0081654e6e180a71b1b5655e3c5dde795c7eacc73a371d942b8e33ed42d5b8dd2c445bcc5adf291e6eb285aba5e210203c341256c96350765e52528ec89a3a480044b1e1c9f43d98ca5d8fae836bcc73aaf7fec61bc4f1d3fa70e9e827366232a5d4ef4067c701a0bf1ec938f2378fe0086c261581c76d8b8ae2b87521b6dea29c505eb23f104f24b1bf0e8438fa1f9cd5f716a4e061476149497a1c1558ed8f56c2cddf238da0fbf84f3172f63b02782250b2ae0a7a4c63b1c263171a0aa710d7acf5e41c01f813b27894478183d83163cf5e5c7d05eb50b5d5d3de8691b44c316ae0d8b06d14909d2dcc51bb065fd4afce6c59fa2ad8794d5cab568396ed839bc4a32ffef7efbaba82b762b0478b48165dd85900841113fad9156c0d2ffe808dcc50888c91779e7a5cd95439c26a9be51b5259cf2ed30c02d34f5374ae6f7f69f528989344fe2125c0b22227d39463b34f596fef7538c404aa42199536237a98b4847261293891f8946529a0eed8573d1367ce1a9adb87c720f7ebbe320ca8b5dd87f600f0ebd77014f3cbd05ad078f609fa11d275bbcd8c09910be65ecf07ca8a82ec57bef9ec59c3a174e1edb8536e330aacb4a6027c9484662088483b05113707088928c9a7204b8d8591665167a3c50966a98b2e17147b0733f15ebb55ea6223f0bf6efdfcb9d5fadd4fe3b1386ae76259de1801f6ebecdfeae56ec7d65270ae72c42b52386abfd43585a958f430776c19d0c22c6c52f9d7dcd18b017a06666155efcd5012c59cee91b87157eae4fb166e72216e4a2ed1cda99186ec2e1a32e5cbb1ec5fcb92518f6534b313be1e128e785490c422216a1936fe8ead9a3942dd9b0a12a85c0b017491abe2cad2d47940d8999528a328fbae6c36ca71462c92ac03d0bf515854a7c99e219095162150dc3178e527214a5bda328ca39cd12e43315458665056e04dbfa94bafafd4330e617b20c9dd8f9de2e1cdbd38c3fb86fbb92d60817ad27122c272546a96804824bae9a0b1f490cc70f1d81cb5a8415947e7a07288d29a9e0b46a9eb230d5e974c3e352d777787b075156558e23fb9b102dcc45fd7c4e5be546f0d6ee3db8cc677ddf638fa1b0a2402119365b0eca8b5cf8cd4befc066a2ea80940b86fe4bb8d43782babc24152cf6703acfc067aeed021b6b7534822c0db28c1485986864592bb6feab2370372220efbbd3e954241fdafb9f9dad4ea5dea8bed26e4b1809af4d7bde28ecedf4e7328cf1bc881fad7cd599876c959043ba03ed1042a31d32dd6f91e3c1471fb5ed78edb5c82b3bf63c77ffa6f5dff10fb3f59205049339c977acfd5043485194ec278ba0fbdd69046409693fd718cce5fa831bd9ca9117bbb3b353f920642e5f7bbfe4b512b1a2d7eb4549490984cd2baf00df81eeebed30390a51e866f858189ddd7db0dacdb8dc7209b6dc522c689c897eae0d696eed4549790d66d5952baf8eafe71ad79c74a0b87a26ea2af371e1d451f447ad58b6783e22de1e585c342b303400b32b1ff18017a61c4e05f55cc1f96bfd98d9d0880a7688e2225cab72826b4cdc5573309b128bb3278e229ce5c1d2f9f55cebd20d576109425e6a14767910eceba4748184810b3d65e7566e7139aad9f1369f388230d7a52c985b83f64b1711375910181c445e690deaaa4bf80125d1dfdf470e60a2c4015c1c5c8041aeab3973a10db57316a23cd78801ff08f272cc18188e23df6d45af3784b2122e082509bbda7201c32359acfb4c182961f28dd8b806c38093474f50ba548af97366518a245228f9aed4c5bedafa1d8c44d1dd338802e6d9dfd38ffca2420c5241612e77ae5d3b7f123d510b162f68408c58393cdcd936cc723af23012e84353732b5cf9a5985d5f0b0bcd370c0ff42065b2725d58047985d429c4b540367711b26d66421240cb858bc87216a29e2470906b56cc5cac8be16e9c3a7719c57573505f59ac60ee1fb8aea45d5051876237e39274b9ac237c0ea791b2d0f4c4c2b95c96d38313a72f5025d16ccca9702bfa887a07c298c505d2058e04ce9cb98011ae27f31417c3494228a4cc95230bd855e95c9424ca3fec57f293e91c69704572a236718ab7fe4747e0ae4640a66ee47b1082722b2e180c2a045e069137734c33c9efc878f0e0c1bf59b366cd8fb66fdf6e7be9a597228c23a30339645425eb29b443167b6a872cf894437a7ce5607af23beaa696983c4862b2e3b5c88bafbdfddcfafb377f27e0f74be61fa8a1700f693aa5245a2321e5129e225bfe74f74945c000df603f1a67572be2be1b9552e6265b5b5b95d16e661879c69595955cdc4995bc69278f5be3a2426a3eec83188dc79389bc56bbf7d17e95b7f0a345f918a127e6a2bcef5ac56f9adec498370d3c7af3e3c51a8d3ee949e6b39a18e0d6eb23e469ec994f4ce7f7bdbe9d69ffbe65d3e3eb084c37021fe5bbfc286563bab795984ce9548e5631658e4a466d9334bcb2bd51748824a41322818a466314af9a389231934271d4c373f6680a69d1d2d37f3f2108c8f3fc1036201f82cbe5427d7dbd32b79f597219b5ca4aefcc8f4592946b712a2991f9503556a6bf9cabd7dc16ca77488aa1f9c97b2687b6534bb60d4b228a9f24a666c2184a2c259e1647fcc6a7c3a8ca1674351fb937311db51c6a19256dd9a62aa44ad252e483125fcb337d5f2b6f3ad6689a5afa19c1a5e8a3f7256f7122fd107f05239e0844724725f26a59259ce6d458da958a95560fed57bdabe2fd01cc32b09270ea37ada6a3a53a9a0ecba89653ddbeaf61a2e094aed8583d25ac9a8ee6379a1e4fb48189e427f7b53012674c770cd3c808abe62da9a869cb99ee74047404d476e4d388c36d2126d2444f74d2c064715e7cc8db87632fff37447c57e0cf5e8e65eb1e44d7f50eb49f7e13f98616142ffb0f58b06e3b95c28a24486d5e25aeb46672a59cdfa00152ef8de53cd6608df9c99984bbd1bdf121efce2b81d3c4559146f6a2996b4654b409b5740aec5c13233213978181f4861fe2345c651a478ec99c1646bb37fe7aac73c9f497f3cc6b893bd12f538f8956f0d138a315b99574d4774dcb23f357d21d4d536ea49d4aaab48b74fcd13c55ff89f13e50fe34d65ab4ccf0997a4894328c6695f980d29e93fc68694dfc956f4ccb4f3bd1c2a8f7c6a73f766fb23a8d2748a36127c14cee8ddecf28afa68b44bc268619d3d9a246c80c9b91847eaa23a023f02947e0b610934931518849167a7a7a516e6c42e1b6ff88de88930b0fdde8ebe9c1ec158f61ae6b007bdf7d0389354f70318b3ad5238da3d942690a17d28eb0b3cce2a85b14ada99de658a3290db7c5ca7b691293629898b67830ddf26aa4460892b2bb40e978d511b39479b28672d2ba7c8a3d55526244980b205b2e71bd449f8fb686b860884286589c4484bf1e770e1a1b2a91ebcae642c709e4e4535c77bde83a023a023a023a029f7c04a68f98a43904c7e2889857a266f163c8ea685754d3d737cc87bbb01496602f09c321e1222418029e8c3c13e8edea43766e1e17d865c13bd80ba3c545ed97166a81150d75aac837110fe2dad56eea56b390c4c4b8102e171515253050c41e27a991d1a04c2518b9ddf16af319ea55a8e6ce0f3755dd538702898a6cab945d44b72014f8e43fd51b9450ea2692122125ef1d6cc6f51eee58a1e6db325716754724515ccc6916da32f207427877ef396c5c3b87cac09c8a92ba7b81b4dd0036dd5b47404740474047601a11f8c0c2d4db96b7d6e3932004b86d32c4ad7deefc22eeb2a846514925a51d0e0c714ba74842346622cab7b28c21fcd577b760e7e9765a068ee2efbef705ec7cff9232a72f3b1d82dcae286b53929cfaf1fbfab0f3a51fe2adc36711a145e2819eebec7cb90552d6df92ac7491080598efe593c7a94f21ca305e84a9e23e34d4cf9d20bd48a4d222f8db06c21d4e98cf4008c66512b83e6f8c1a34abf0c5ed4bb06d5939d581bbb06e4525b66d6ac4e736d7231e31e0ec85eb0ace1349495a0075872ba367af23a023a023a023702710d0fa847153d8535890e9939848a1299590a904211ca2b049b68f0a0d91291693910b60b9b6814210f1913f129c1da30135f58d686e3e87b6e2008653f5885d3d84d78d01ac9e5d841def35e1c9671fe7744f2e56afdf48fed10d53cd262ca8cac1a17dbbf1e6ab7bf0f057be8691eebd78e5640cdf7aee19e4e4e5a3bbf5042eb698b06a712d5ef8c1df61e9a3dfc06adaee51773749ce779f134221587b8722b40b6423f908509f4508761a40ecbc780dc7a84efc2b8f2f42dfc576c42979f2735b6c3c3142495396124f7d7e5c7b423feeba54fdee3e98f41ae908e808e808e808dc0401e9474427906682e426413fd6ade925262ca2ec276057a79013212932c5223f7224a9e84976ec8c3ade4b506b63f5f2c7a9f3e10a7ef0f32bd8f2b98768f8af1483ad67f0af27f7e3be879f819d029110d7944444ed38c39ba9bf6098eabc9fee63860000200049444154630923aa6bf2a85d32403d0ccb517a66177abb0760350c62fbd3ff13af1dd945655c762c5ebc0abdb46c1c995d0327f5672469d6563af1bbd5994844b28cd429d2efc7d98e20eeafb4527264c67deb1ae1a492b0df340dc1916de74e0c951c66e2202f648cd35fa20f42ce75a723a023a023a02370ef2120c444840be2a69aa04c3b3131d0b26f32c869195a9335d9683158d1244a890917b886a3d468c9a91cd92da23821075c13123339b1707139aced4954b947306ca791b18672fc1b6d8d7cfd4f2a695958351627e225d95669e29a91c8501f7e475b1b55b30ad0d6d681ea422a888af5d270d805aae02ec2cf7ef95738fddecb70a6eea395630f76fd742796af5945f5d8566a2c159d30771f33111e213b198a0b72d0de1350ac3abba8cfdb40cc0cdca65d526043577b2f92547e16e78ad8ea12b7222dd1b6700a7b14d19d6cf9d54479ea83d2ffea08e808e808e808dc6b08687677a6dad4c3f41113210d5c882a9dfefb6fbec245aa7f440d8f54b4958c2bd2922c4e1df435ff23faf3becee99808f599b06849aab4b7e4e3fe55eb617364a361be01511a1bb3f0fcc2811378e6d947a92dd24815dbd261f25e2c89852b1ee516131bece61a7cfb3ffd092501b40f407b1f26ae4f59fbc49768c1b81c291a6733d35ec7d2d030edae2461cbaac3b7fecfff4c35e54e32c031fb2e77db4b265220d9d954535980015f18573a8670eef8055c32f0b95053e9bb3b8f1272c1dd402cec9833935a3a1947084d264d13f267a0744b773a023a023a023a02f71e02222d97c1a9aabf69eaeb3f6dc4442a21db772b2a2af1851fb770da452c7d8e9f0a28ddfa6dacc976a83da1565743169c394e85d40818b6ec1c928c144a662da1e4a398244695964870e940ed349626521819e517d04e8774c68ae22d9e14d29e468206c860c951fcb25d794a879bcf45b8b27d58d64edced4e30347227d3b28595282da2f1b6fe00d7f570be907e22ad3290e07972eda82af7706b36a7d6269dd6caa429773b627afd7404740474047404a613816923266aa552c826c97071ebef446549725f8845926b45c4f0d6d8fa05b1542b2374b53314fd2471ee9ec92fa956b6b68e4e33a4514b52caa28defe39ce2d19cc456eea84c450923ba5154a7fe6a79a43defda1f95ed1a15c9495d156db10879138e983e214f51309f9c94dc3a2c63cf508d73afe07beb08e92175047404740474042622707b8889a8e7664f37b16392cc85747cd84299c93ab0f1697167088da869046462a598f907bc349fb174349fb1a063f7c6fceed633a96b54794e93d730cd0355c2a2051176f741d8b4bb1ff89dec397e2090eea123a023a023a023a0239081c06d212626ae0f316519141b3837260f19a5d04f3f250850cf8becf3fe107622a467686848d92125a14512237ea2e02e970add6447cf4427f7352293793e31dc07af852929b97cf0d627d667faca3c7d394d15d89fbe124f55cdf574740474045404a6949884d25b870669eebd87db7245f999323df009435b93067cc28aa516e713da2e4bd72f533cb23059d4ffdfcc0d0c0c28e4232f2f6f546a26a4231289a0bfbf1f454545a324444b47ee8b144cb6925bcd92be6c2c5715de69900861113719811925331226fd8047fd24b5316f85562954269d9e18dc93ebccf0e32248a6992e3331fa6b975af9b4a099e5143fb91e9787786a9195d3317226b7e49e52f7747d143fc55b5542a8a5aff967fecabaaa51db4137cb43492f0357c9338d87a49759dec9cf45324afc08a0567fa55c1979de2c9dcc3a8e4f5f7d8c997e928eee74047404ee7e04a69498e43a68ab86aeb2d8835955f90804ed9f98b1acb493a228acaba79f1dac0105f979ea94d28446ff4e3d72a56364e6ed1d5da8282f51b6f5aaddc59d2ad107f3950ea78b1a726525f664520f89213a4e646f7b414181124eeb3ca58311abc3424e4254ea969d9dcdd0639dda99833b70e05c270c8928662cde88cd2b1a46df1d854430b49696e4a375d8ddedcd08988b31b3244f7ac631523221bcf298d3f7b5f43402a35d67a6afdd93bcd2b9a9a7f277c23ba35d4a7c5fc779b40e59b1685edd68bccc74e5bcbbfd0242e622d44999b5c84ab25a4924133aded37c9a0ebe83ecdaa5a8e116eedeab4d1818c9c3dc59156ab88cbf0a2ebc3e7ffc088a66cca21daa2ed4ce9907cd9ca2e43fb1b3cf2c5f669e926ce6bd89e75a3a5a1532ef67d64b4b27e2ef4173a71f8be6cc24a42457427033ea28f1bbae9d47c45e8eda4257fa716a08482abad311d011f8280804834184c361e59bb75aad703a9de3bee989694958596a21dfa2b4d1376beb27c69dcaeb292526da5ee66c2ae71297233b6c3e612edb61c770841d22b71473a5ca68c37fb3624e2408d2546a7e5ab3a95d4f4c47bb3fd17fe2b5c497c39865a1411b964da64ca4234dfb2b2793fc995896c9ca3131cc87a5a96533b1ec29e948a8a1f7664e3a2b39642d911c5a67257ef27e68f79532d04fee073a4ee3ade3ad78ee6bdf806df81a8eb7f4a1b7b3053f79fee79877ff56e499a2b8d0720d8bd63e80faa21476ecd88d212e315ab3e17e34ef7a19576df3b1757e098e1d3e8df239cbb07e65a31821407ffb79ec397012d19405eb366d4555910b097f375e7e6d077abd21cc59b619f72f29c3bb6fbd89ce2113d6ac5982eb9dbd6898558733278f62eeca356839761a4bd7af8563c48b977ff3223abc71cc5bb601abe638f1c37f781e95cbee43913d81a347cf61e596c73133978bb3b9f32be06dc71b6fec82c1598e87b76d426ff321bcb4f37dcc9abf027d4d6f62b8e43efc87a7b72234700defec3e086f68042befdb8cec481b5edd750c26ab079f79723ba2d7cf60c79e436869eac237ff6299027d9ce46e241546f3f1ddd8b9ff0c3c9573b1764135daaf07b06eed7c1cdaf1064226ee5eebba827ff9e79fe0f3dff836865bcfa1d39bc286cd5b5059c85d6ef100f6ef7e1757bafd58bc6e330ad18f177fb7139e9a257862f322ece596fe0bdd6194951763e87a2bebb905abebf3f1ce8e9d086779b069cb26143aa9872819c381775fc7c1b39db86fd3c328c8eac36b6fed47ddc20dd8bab2063b5e7d0dd7fa0258b8e60114a5a824f1b747f1b5671e426b33c919b2f1c8a30fc177e5185e7cfb7dcc5eb002dd4def205a340f0bca7371f56a171a566dc4d2fa0ae5bdd1dea59bbd7ffa3d1d011d01150119007abdded136580685d2feca74fa8d9c101169b703818072089911c9f7743b69bfa7cc699b5c6262ae962e469d2072885a73e5975b4f653a20c93f62808f97cab5765fd4d14bc72af672247c8201e45c76f12af17853fce9a584d3fc467f79a2dd13abb85ade5afa7c264a594658d038b72e2b073b11e9486e76c8365a7960daaf841d61a1249d18a503315ecbbd94e44f7fd976ac9e4bbacce743d2d7eecb566679299438523e255e5cd9e22c98499a12464b3fc9b092bfc4117fad5c9965957269fe230c23e1e55a4b4f099bae9b567eb52e6a3cb50c1a3e3421c0b0e4123774d279c8cb3f9aaea49d71c8bdd10e461e369d57ac4b372c84879ccc515085756b9622d2d302ebdc1598919dc01bbb8ea3aac283575f7b09577b7cc82d2c474ec28b0bcdad98b17c3d66b88d788764a3b8b616fb5efb3734f786947487b9ce25afb41ac9de4bb8d27a5df18bf97b712d98c2b68737c17fa51967de7f0f47aef851ea8ce0d577f6c2dfdb8d73678ee395dfeec4e91347d11da6fa7e72b191a0171dbe283ef7ec766a093e826367cec23eb311f5544ad7d43c8ce79e7b1acd2777e3e4a51e18c37eec7bfdb788e49490581c6747fd0e0e1dbe486dc39fc79c1217caebe763c9fc594a7942812158dda5c835f871a9f9323513b7a062f15aac9c91830b278ee3e89173d8f2d893b87f590d9fb34ce1f01b080df108a2bded1c166f791895a93ef88321f4f75ec699e626b40d87301209c1eac8c5e647b7a1e7cc7e9ceb4920dfd4875fecd8a3a491f0f7e3fd3dbbe1c8a7ae9ac80076be7e008f3efd65949aafe39d43c7d01b8a62e3a6f5e83fd78ab59bb7a2ef4a0b5efbf5afe135ba91e56bc2abfb8e2be9f45d3c8973ed23f8ca1f3e0b437733de7eeb2cbef8dc5790f29ec1dea327d11f37907c6cc1c0b953b01556e0814d2b60a2eea2fcd20a04db2fe272d3191c3ed28ccf3cfb7992ce1c54cd5b8c86ca3c34bdbf0f16b7879239259b5b1a40a821f5bf3a023a028280f423d2de8a524c39a4dd15bf9bb9d1b699814472226df79d70532a31d12a90ee6f4826d809d193fda90a4a340cbf3f482daf36e438ac087a8729b330c14911bf958b6583435e78fd611af72b8093968443e1106de99868119806fa82610ed6adc8a712b461df0086021138ec7602cf8e922ad6c52aaed16a879923381fd3f0702ac1267a3898b99441ca24e560f7ae944bed2ca593d44aab953ef357293dfcc3c38c25f67d483c380d9493938d91b86875332bfa3f0c545036ecf3214242e6c871c1cceb01aac1b7e5e4c2611529c1ad3f5c29a39006e9fc954e5cf4c2b321f7790758176295eb8291751c180eb0e3712a3886894d16b5b51aa88b452c298bbe185907221a5d93d403934309565cd6865023ae99e9b116f0116b723c58a8f155f2cccaa29d22122a1bb5ba26c24144470ccad48bd479cca9a463ec7af23329f78d5eea712fbac04be7292dc6990387b061e32a38fced787ddf1994e6d9b076de6c1459076033da68ecb10a8b47acf07674d00061182eb2f82c8b8936926446c004abc98e82c2622c59ba94f8ab651ebcd6069fb100aefc7cda61523393bebdbe6a366aaa4a70e56c2b42c431cfe546795519e2ae14898305ffe3af9fc7966df7e3d73ffa09bef617ff4d91bec498646171194a3cc5c43c0bbe40020b69c3a9b230454db8413e9712fa1b69a579047976ee780a2650c0e9cc82fcc5f0468ce84b9a5151560c5a7bc2858e11b86deae4ca104959cf400025ec8453663e77931bf367d4c24e89ce70074929ec282f2b41bf87cf254d4c5863be23bce32843e38c6a74f49c813dbf128df15e7cef3fff007ff9b7ff054317481c58678b955a90699a21cf958baaaa62447dfc2688b9d1968b4d8f3f85eb5d1dd8f34e371c9cec292bf220448bdb6d6d215ade9e819995a5b85c379bf1ea70e9dc155c6f0fa3a4c683f2d205e831c8541c1b2f6a3774e5e6239ff6a7ae6745a9a5d9817caa0328c8cf46fb70047595f5a8ad663a272ff25b61792c56f83a3b10b07b9057984f857e7c578d761a912c863f3984969e189c9e7a6c7ce871b45c68c2de03cd583843d547a464a8ffd111d011b82504642a464cb4686444a6df652ae7664eda6e9192481c91b0dc2937c5c444959424d31db1420ad81f48c767b39a70e9fc49ec39d1c126300bb3e69629a3d8c0e0301a96ada7e8d6805fbdb20fb53545b8d215c2d3cf3c8eab670ea12755067bef7974c42c58387f1e867bafe0f53da7b170e11c8c84d939675b70e67013ccb49f33bbce8da6cb7da8afae409224a52c3f571965aa9d3c1b63822e0470847f123c46a81345610037445fe6f813087194dddd710dbe840533aa6b48884c38baeb0d58aa976259632dae9d3b8e8ec1206aca8b100979d9d80f203fdf8d5caadfb79865ae5cba82742f7cc3bcd41b4262a45c8ae481718c2361349d3802033b92fc1c3b62513fae5f6b2579cbc360f35954342ec3f0c5e388baeb505790c2e5eb8328c973a1e3ea4584a9ca7f664d1d179326b06fc79b28a178bdb1ae182d278fc11b33a0b2c88da16084842f8e8bad7da8adade19309a37b2881dad242cef5db9585a8842ded3462f2e175d198b7f6ab902c7910194ed095a4b3cb1660c38c26bcf0fcbfc210ea43cdca475096e7c7b54014b9336b31abfa0cce9d6b86aba48ed33a01b4b08e86a40f238e386ad8e1b7511a5232b3066d179bb905da86a25cb5d31409432c164670d807435aa78dd1c4c5b5fc4093646529fece58bc146dbb0ee0fc854bf0cc5c8eea0aaedd98df88f98b56a3ef421b2a2ac5b023891b3bd4ce0b47f1fd7fee47694d0396cfccc1c58e109c0beb9183ddf8977fb98cc29af9585e63476b8f018bd6afc3be535731948a62d5c60739c571003ff8fef791e72ee333f1e0c881235852fb18dfc9a4d278f813c38819f3e1b1d96112091849a2b3a80cf9d921fcf8f91fa0e3920f5f5d49164667325b61a6a6de94c5ce99147e73324546025a5d37130b16ce423509c599f3a28cd089d0f536846c24e9a920ce539a53deb08a545fd60245d076e91292ccaf6a563d2a7306f0fcf33fe4bbe0c4d6cd2b70b5b99d52c01185fc893ea02c7b0e566cd9c029b5565c1a8962f6caf94a598a66ce83e5dc2bf8fe0f2e5279e24c2c6e48e29f998e25bb189bd7cc404b8b97249e53a6343961b33b71fdd4ef48d42c98b790cafd68fdbb6ac57ad4d50ee007fff44f14199763d60c0ff6736aad807577d9ad28cce59cb89293fe47474047e0a3202053e7623e6498036b59df27eae36fb436504b57a4ef124e0e990ad2966768f7a7ebd7201d46a6634722ed40e621d33d72487ba61d4268b44356bc4a8b6979f4d1476dafbdf65ae49d5d7b9edbb471fd77fca1a8880a840f909864d14ecd2174061d085eb9023b45da29ab0b59fe21d8d82059fc4de8cb5d8ccfae9e85dffeec27c89fb70ece443bda8305c8ee6fc6b0a3141b57cfc6ee1dbf43de9c4db87f413902e138498219bb5ea4cd1b1ae95b546dc07ffffb5f60e3a39fc5a259ff3f7b6f1a1de7719e893e68a01b40636becfb0e0220b8535c4459bb64c991bcc8966525b69c4c6626397332f7e6ccfcccc9fd951ff7fec9b92773cf64927b67e6c44926891d3bb16239b6244ba2cc45dc497127c1050bb110fbde581a68dce7a9ea023e4020094aa0444a5d64e3fbbefa6a7dabbeaab7deb5940bab4594d41df553c2afbdbdfd18a39dfa5028c413a8644c6ebfeca9ed1944087ae98db8633a0b3b9ad6a1bbed0adadb5b30cdd3ed86861a9c3f731cb51b1e46691e4dda4f8de1c8fefd482b6b406375b9611d1106ab0ebdbdbdc8cfcf37f8928f9bcf647f0b2eb4dec48e5d5f421acdef6b73bc369284c7f7ec44c7c523b83ee84761f2282e748ca1b1be1433737e6cd9b8016d170e622450614e9b6d572f12596ac75c4a31d6d714e0d4e933d8fad0a3c84e4b2205881494c8100e1ebb825d0fefc61491c0c367bbb063f76e3a34a4cf1c6e900eb9101c8787fab1a9a1d290066fd5a9cece2e6eac11839d0beefa8994a889ae895f5e5ebe627e51cc22be648432289b44e44cac3e7d4851221703644f6493f241c21aa953439c7dc9fce8e86a808d10a54a9a3cc3834348cdce43aa12991065dc30fca9699c7f7ee3bd5a4297223c24f2f42eb69b54db23e1310c4fcd212f27a49962286a440999947e9b984efd8e0cb5e08d374fe289177f03d96c9fe84e426e93d8bef9d9190c8e854935c8c2811ffd05460a1ec58b4f6dc6e8401f37fe0c84d2441d615b068610246521c0af294cd64b32170d15bfd89f6452b9f8c1884ac676ced3ecbf083d23ecaf3f250da929a48ab1241919347440c255d4223d33931598669ba48d23d70f72d618e189699ec8d83ce7e518292779219e9834a9f99947a6c318199ba6a0b2e5218b2a17480b21484a94c9cfb285c4cbebb7b9b2afe191414c25a420273366a199e5cc539b4a94ce1cc24ffd1ce23804b372880012c61cef445a151692a8b19ce6292c81f113a49c26d3b5844e67b2e43c3c3088b49c5c43ed9a9aa2356796334eaa686eac6d2c381ee2108843e02e2120aa87be3b996a584d10852520eabb41036e9d836b7a94697c870e1dfab3471e79e4af5e7ae9a594d75f7f5d24165935d54f3c236dc0eea7d3b9fb092fd08f0b91fdb13cdd2f8435a698d872b996995a2dc5446467b140b819b0b32dcd97b07bd70e50e81e6f92df3d3416c56ffdf69770e3c071040aec89308927c2396e36f35cd00c7cb81acf9045313bcb4d8e2bb5fcea481e45f54c4dcf18f68aa489915e8bdffffe4bf8a79fbe8ec1f117f0ccb66a2353a132d46fb543d41bd31e2e9892a5b0152cc0e3a337cc3746aac2c40cd92464918c7343b9d9d58568521a26b9f10c8e904dc0cd4d2ca91e222cdd133eec7ae2095c38761047488edfc613acb1307b8781361b0e6bb7ed64bb744f9690361d214f933c7522ea23898d2c2bb290c2d3b364b77053a227655f763e36376412413a8ba2861d180f4f22ccf6cef0dff8c438babbbb91909c4e6a533737cd3462c1749848bf428144c29403136519a2720d0e8f931d528747b624e1f0a17da8ddbcc7b05466092b4d54338b96ce1fd3cee57ff2f3f388b8b59325d0b630c1d5af14b22f2a2b57466a546c1a590026e8819ba2900e6da23e5206f2f3ac40b5da90195a2a8ca50d5b2187089d82d2089e2c04a19c1c73b7f0872c2e7ea72668dc54be9f2cb17c23a72d461f5192d8582570fed9d28807515ee4b1679f44ae366413380f5510f327506039379b6d989b42cefa47d048f68742666eac3d4ac37a4344ac5c087a04c397f7c7a4215262fb00642debaf9011f74e69135c87742fa486414889829f1bbf09642bda3b42c77c107a17441e7feaa3fa1d22d2a420f8b9fcee8465aeec87100e0b01570e73f27bcdc961e97ccf06209b08c6623916d8ae9ce4180b2ba0f40b81752fc02681f3c4be4b2635271ee2108843e0e343406beedd041d14ee87704f1013edf7428d8438e80828a14add4f127babd9b207bb3656e1fa95d3c8addf813dc131bcfd1ee50b366fc3d90347b0979e87dbc94af87a5d396e9c6d2105801e6ea7897cf966d0dd3b4421c84a1cd8fb166687d7b3ec00b66d6f2212c3532117f2b1811e5cef19434121d91044228484387692565bb5cb2026e6d44c64890fb79731716badfaa0cdd987a989614cce2761cbe64d186c3f8fd6be5194f2a4d872e114d2c93299a21c486b27653952331120c1c82041ecfc9d305037192497a3d3a9d2cf51f53659320de4c95f3c7b06591969a4dee4216988cfe7ce6062b88f64f88d08dfec466e2d65024abb3140a4848061bd73446012313e3240ca5406b66d6a44fba553e8199a464928855a1e1f9242904939981cca04c84f8e4ed80918e8e9a497676eaa9994df217a2918393869f35a86d8ba662fb90ae3aeabab5b1277a707830bb0efaa6309ac624882ea55bcd990cd06e8dd9a6de94bd2c42a7471b7ac7fa5f29724b6f524f8891ce573a35c5eb7373fb5a99a366ff5e4e6a4f3f4e7966d595ea6a704ddde32dfb274777ab4d5c4e016bbb8b2f5e8bd5fb12cd3d7d818d99160f76c412eaff2b9fb58152b16e5d2b897cb9fbde5b834f16b1c0271087c3120b0a6888993f79580a3414e848dc416ae4952362aebb652832011bdf46c9b9e5b852f65cd23952c9eece231a4d3a1deb75ec845ffd0045e79790b46a89d70ee7a3f1e7a742b2a37156364748cc7b8002aca77a2b8b4929496290a1cd216c954045b9f7a92475aa9d846114a0f20b4fd51f2a8899cb04e6d0d6633e1aa9cc0f6b88d5f246623cbe116d8db8cf73411849ce27ad02c18a64861d8bca1891407b2784ad6630b055379f4445ee1188549ad70df2c590fd1f42a54902faf7edb605a729b5a62a9d8ce45df4014a28c24a161cb6e6a618c114d2015219086020a074f85c7e127ab88c775b2642a0d05a96ce31e9413c198180fa3a47a1379683e2276516c6ccca28a345050b31905ecb72f508e82120a1e137bf4116e11a67b78c7260a4912f9a2f06e4af2240af3b7119e94382182e72808ea81d940eed88b8f998073e5569bd94ac8caf25a96a489bd5c296e793e3daf26dd4a9ba72bcbe5571acd79db8fa5bd71695c9e856bec1b59785e7673cb7ccbd2dde971a56abc657bef6f5d96ebdbd214debcdefba5a9169f96a759feac942bc52d9610bf8b43200e81cf2b04d61431714012a1443889a813310509c3da49f4a71b8d15691724f07449c51b4498283394675814818c425484286ecacd35836aa32f7dadda48f14b13268fda02120c956a6e30bb84ef2dff5aac0d7f90bc6d52086438ad900278424424556cea8f354a9baa9eb56f580a0e9114614f2badd6ae23eeca3c33dcbca97cc5fce48f8b123247b55bb11bf89387633ffb9648ad8a7084720949e966339fa00c8ceabbe56eebca77574fdbb4282b2b19f8189df319215a3e184ad0242937c929d998267b2b42f986446ad6482b2942568f8fef442d998988846e4fb76aef1cdb3b4792bfdecf4eccb0bc0c714b0c8b4c6c9cc988f2091e49c4b3421422a500269112c1678e9dd0166b607737fd51fb3f4761351be56ad27c8e4012ef4a1c027108c421b0e610585bc42446321102a0d3b8bcd32e60266cba2801665fd32ea78d9417dd86895c68418f9047ef12f864648cffc262e3f03a1ddb10956e96b6254ce03dff5365719ae5a824abbbadabd9206c941e6308822839b60d2aceb00d74b38aa0cd5ead559106e1112f9f3bb541b2181b217222da88ea1535c6f633d6aad5d4116bab6b976992c9c717ac47d41f05d32f6af94c5258537db7f511d153cbd8302316a93678dbab7c6caf91b131bd2642c2f67adb68e448588690bf29aabc9ab25566acedc4c7dcad81a5de1bea806955fc4f1c027108c4211087401c026b0381b5454c626d923683366fb14d1676334f7b15ed82bb5db2c93181b402eccee952f2aae296641605c3be1712e30d269d274acf515214b845536b601013140a15e5447bef5a04578caaf4dedf6dd9b3a4f40869301bbf27f3f232973f7b92aeea76797e3d3b702d7fa7021527c452ac37a335a23835321ee2108843200e813804be9010b857eac4f704313123c45dce2007dcbcbcdbd712c4623543e976cbd5a4bd431a19fd92d1999aea4a35ceeeb66b58fe1daa5fd56b6dfac60ecc67d52e33584bc76ca1e11ccba1c17ee3884f5a16773d960b05c56fe2108843200e8138041e6408c8589b1cf62a686f5dcb704f10136355951bbfd9b874f5b4581b9a3b717ba23fd5dbd5e8697faa0df25426987d969408e16b625b1979130d9c07ab54bb8421ebe7d43f3d4d8fdfc6211087401c0271083ca01058cd41d3ed4d4a2bdb28f76a1fb8278889c6451b9ceda8763619d8e2099b772323a364a34c2c9eb63d1b9ff27d2a410d89871521a089271b1b19e9d60ba5e4652cfd8440a3e0ac439c94ce3b91edb3d83b316294b9de2da05993d4cb5791cdd4c71e4844f856e95d5b2c76b58a420511663233f61685aa5e55b8cad20c92a9a2946d79b0f1b76ebfd22f87b38bd3d50b7f3daf362c9419ebeb6af3c5d3c5211087c0e70b026e3dd755048305a281676d70eb8caee6c04a10987590d785f46b0c9635454c62b2af6cbc5d34d511fd135615a67a6bcfcd2e0453fc480df0c44d2098f77675f6ee664bbb6856f4d56c0376c3b099792f752065537ed5e10d0b652edb2d5cba5bbdf796f179bb67df35d924203b3536808138813abc0000200049444154be9b282ca23b005ae734c8490c261a33c9c1b8b1d3c4d464d5b39bac16341a796b84cc964bb15c0e839bc8bab745c66e1821c1640521b17ae7ca940d19695c2549fb483668882c31b7496bd3db3618ff4006b1d13bca39b138591db582cb34acc6fc34756cb4be64a44c09e65991248f240f25b5682317654a663cfbe6daa128d5ad76ab5d3ece693387d93619a9b3f5387b354236945f5530c31d82daed938957962b18b8fe5bca9585ab0c9e096993b55a231a65ba9f60ea55f16a976babdaa76061ad3c6c171be360b19a369902e27fe2108843e0730f01b39e717d103ba68bc64365c25e71761dd161d11a3d2c2d2d35a21076fdb5ec9bb566e13860af2962e20ae5966016642d805ac0c314341decedc4c6fa1a5a888c59e2742ba9cb14bfde471098a7bbec615c6cbe46476ba534fd1e434e3879356c42448c4d185efbfafacc980af9f42230dc16b9d1cfd1e36d2f2dd146e8742f8708690211d44923441b20721aa16ab5d842f3b40513f50548a549a3a596286dd60c530d9ae661681a7d86da48a9b45a9a9238871b5d7d48a489f7fc1cbaed66dd4263884a707ed18c726a9056702730c33927877d092c8f56e869d63c8c80fccfcccfd0626f2fe6925251909f83c838ede2d0fe8c5cda19678634692fed30399933880a9de44d52fb4bf5fb993f8965269274e9673f85384c4d8ca06f6084d66ae9df26231963e313cc4b4d32aa6fcb6f4da2cf7ad04e4ea64f1bc24c4881150a5f8ec051936c264cb8d067919c5bd20dc0f828bd07139908926a954c370af2b5d447ebbd537349c82fc8a323462130ec3be38787d80f1a179491da0811a464b6d127561b9118b90098a795e010fdcdcc8447d1db37440779b9c8a05347c1cf6032f7d1ac8b37250e8138043e5d0838a4440a17972e5de2ba3f44cbeaf427c635cf6f0e75740acb3570986e31fafbfbd1d4d464fcee68add7cf222f8bdab06bd5fa7b82988852e16df018ad8f6edbbcc138061286d5dada4a2fc3e35cc8fdf45c5a499f2ae90be9859d85c7468dd12f79f1755e61559e3b91bbb2b5b0ea04acf3a1dec996c7f0e804eda2649985591b820bb3b40ecb7d906d48317994777999a204c8537192567906578fabd795b53c9f8bffbc5cd5df6c7aefddbe6523ce5dba665c0008f150bff5331833d3289c3d4bcfb674f8b461c3067a5d4ee73bba1220b5c0ef9fc3a97defe05c4f84fe798a304295eeb9a1769c38db8baddb1b8c23c4e1be019cbf701ea93915d8b0713dea6baa89c8468cc3c496d6ebb87ca50bf55bb6d11b7031ae9c3e8cf950196607db9056b5038f6d5bc7bae691344fcbc17b8f61c7f6ad683e751075bb9e44eff9b77161bc12df7f61330e1cfe001b69a0aee5c82fd09f5c8294f14e24156d40ce2c3ddc8636a072ae1dfb3b13f1fca6429cb9da8b471fdf4dc4846e0806dbf1a37f78174d3bb6a1a4240fcd870fa16ccfd3d85253460fc797f1c6db1fa0b6a10ead7bdfc78e279f42db89e3a8d9b11b83cd47100e35a22a738a4e08d3f1e8d61a3ab18bd091201d62a5048d6f2739e8b3b0049203f3387c782f3afae95326618654aa328cf45cc36c201d53910c7cf3eb4fe0dcafff1557278328f04fe0035a42feca338f22d5203eace3fa357e4f57e96198ee0f1e7e187eb67b302d1745c1799cbdd089f44004e9853598eeb98ef4926a14120b4badaa4082a84eb131fcbcccdb783fe2108843e0ee20a07548c1514a3229d01ae1faddb0793b8ab2823c380217e9f4f5469fb458eddeddd8d868f65bed030f14c5441d15ba90c053e618654a8a0b72cde6a5f8cece4e73e2de4847733a6db7b6b6984dcd91f887bb5be8217718e944564aab6b914e1c41a7432128daf444d2f793246f0249eb247cf3642ebb295cec2393b8d6d249b3e05908d2919b35374f1b2393fd387ce2b26121a5d138dbfa75e53490460ba8da6cc52660192a7fa0a71bc1bc527a3525598b953a0445e6dad91b8c0c0ed0cb6f069db8d1ab2be364f86da12db6459f9bbf6269c8cf4271612e6e0e8d2287140f51c00c62429881566e1544f1b871e3067a7a7ab079f36688dc47c062bca715279a7bf1b5df7c0da521f9b299c3b1fd570d6ba8a0b80479b905c86a9ce489bf1b451b1fc5ce75f4744c4770d32c77ddc66d282d09a1ad238a2fd3a36dd7196edc9359f8dd579fc354f705fccd0ff7627d43257248e598e518244527f0e6dbef62e7979e446d5108bd17e830f2e8fb38559bcd7994895eba0eb8d8e7c76bbff30c92276fe0ef7eb217c1fa2a8cdd68474bb407fded7368c99e473ac73e911f9fca8c0ae9f1a7a1bca20285b9194c47b7078c4ba0b59ad3c78e22b76e3b9ef9f2c3b894f1160e9fbc8ca6b210da3bda30de750343937447401f50650d650629d1a73f3ad88d4b2d3da8ae6f607959666e694d107e108926a18248d974f749f4920212cac8417e59192e9deda17fa3161cbad88f577ff77751129cc4dffce087b8d6de804d35b9fc2efc7868cf23c8cef461f26c184f3cba13570ff4e0e684d84b3e1457d62163ea12ae0e8e20400a4f2a9d66565794f13b9931d4268d5f3cc4211087401c0292fb9430abd67d49835e3a751463b51b50914dc7b703c3a412d34c040fed72f2e71cfd09317132276b0dc135a698582913b3819154ac13edf424bdc256152eb45b00282e2e3640282a2a32c889b02e69ca2844a6268c65d5a6adeb908a495c3e7b91a76d605dd37acc4f0ce2dad53614d6c8d5fc04ce5dee425d530326ba5b3134978cba8a12244e0de2f4f123480be5d2147b9d25cbd3d36d2217fbb2901f6d5d9d384744653a2188725a93bd79a38db50450dfd068f8f791a949b431ae7b208c9ac60d4899edc7d96bbd282b2aa0ebf973980bd1b57c55062e5ebe81ea86f528caa397640ee672aa8ae9cc03fcc799a1cf26f5a9bd6b007399649f30a8af76324a9e2266a88d711a4ba98f69b22690b530479606cdfc1a3987be96b3b8384c6a55221d447183979c448466fbc7e8dd5686f866a6c29808a718f90aa13b9364414c90b521c4321c9ec02859356251cccd4e93c54164284ac78dac873e0cd920b19568706e74d0788e9eaac9a10ba52cbcf6dd17717adf5b405113b65491cde3239b851bb22c0d4f4dce2337948ffe2b6fa233bd014d157d3870ba05bff99d8dc662b0102b7da073736174d10f516a322be287291915f913129b2985886f845e75a344008410e7966fc0fb7ff3cf68d8b51dc1eb57d03c5d89465290e465597d2cae694456561afee9efff1ec53b9ec5a3db1a0c3bc520dd44dadadbdab179cb13d8943a8b03070fe0da95566c7efc457a94a6ff2590ca474478860525d0a5c31c1ba06f4c88babe2779e3153b6c9cec24b180044311fdbadb5b91bb7133bef6a55a96b01bfb7ff953fc5d6b075e7efe310e0dcb604a8b5e32433cc4211087c0170e025ce64c7084013d88753ccb15a384fb63e715fa64e3529e926c390c4ae7f600275b684b58dbbf6b8c982c364ee47cd301f6dc78618dbd128ba0a3a3c36ce403030366e3722e9905a4fcea8ddc58aee2e4f11308a526514f3a4c0fb1a96683caa04c406a4a22372a9295122751545b8f8c8471348fa7e0c93d4dc46a2670d5978e263a096c25bb688a94962017689fbce9f677a2036568dc588fab57aea17e632d6e9c3f819cba1dc899be814bcd2da4842461a2af0b9d1d433cd1676172b81fed9d6d68a4e3c1dc0c3fc6fafae92caf1a19fe5192c1a3f44fc31d87e1f38694c486ca5c34761a4737817595a1355140144455d9be7d3bca78c2573a210cf2b29b92578e0d25cd78f7cd37519816c6587a198ae9cb688a967c47076ed29c3e50959fcc4d9e888aca97cc08cb15b293403685285933c44226a7665159db84e6abbfc2fbfb0e62a6ef1acab6ed4128401701dca813693f78623e0d5f7ff9159cfcd58f7190b88f7f9a88425e251edfb30dff6bef253cfde8775073f50dec3df00192c73b905d4d3f463525b87c94ee104acb50c4ee9ceb994090f225b36c8f2f8994182231f38102ec78e82104e6c67062721ce73e3c8ef1fe0a54346cc0f10f4f639f6f1c6d972ea27ef75790cb7919989f2282568dd4617a994ecd224243a42b3c8724cad3b49c3f85b6fe309ef9ceef203f448485ec1d51ff64e46f92fdac6e7a185b9bca70e3c24924a515e09baf3e85d77ff80672bef90a1e6b08e2d7fb0f209fac9c686e312acb72313d450a8ee01683b9acf5ea3e2a4448881a015c58bb11bb1e6a40771bd9621d83c82c2882efa6047c172d209b418cff8943200e812f2c04b4e60683416acc8e98bd4c079fccc262ee9d518a468c199913a5110b5aec7aed772226dc4b8a0945346228536c5858a90e51de9f042ef4d3f9d4fd84d0b81f450c4972e0efe9e79f4f79efadb7a67ef8d35ffceea38f3dfd9f26c213d191e1415f5d793e74f2564d2af8e6cd9bc6308b363549004b20b6bcbcdc747874a01fb33c29b793c59340afb891b111e495d7209f3c9db3a7cfc017a41f1a3ab20ba5913f9f538d92d4191c3e720e9514cac9a2af9ae6d67e6cdc58818b172e11f9d8661093e9f12e1c3cdf8b27776f6547c23871fa32365176a1aff91c06a341a470e349cc2c817f66989b51107d1dadc8243fbe342f84ae6be730919483daca12628f17309d5a8086ca7c74b65c20897c1ebbb76e34f4f820bd4b8f4ed2892091a991713afd9380e6031c342f341586c98abbd2de8bac108596193738d08bfccc0029070e619937d42ef92652501e33a7483549a506d6e8f0209d03262093f2427c632808119eeafd942f325a2dcac3df0af350c5319eae0b899026f17c3f383884c4e420b2b3d2b931d351222794ab4fc86712119ac9f0343f24098c52cf9e884694548df9443f28476be6dc3c5d1de48638af64925ff939b35985e4472dab4a8532d87215270a90b46638ccfc30a535939a96c1af74128364bb043343c848f513e1a25b0469fab849ce3275f210f3c768d3907a989a467f4a3c8b4c8ac221f8aa7fe6bdea2162c6388308b20d49eccf3c294333b4569c1e4c26cb6b800e1913919b4b9f51449ae49c91dc4796a3f24d93f5c0869bd6ab07a67e7986169ce5f471869eaff3382f45c511c5c5d61fcb1bbfc4211087c01712025aebf4939c89414e08057f6a9a11c41fa5d0eb1cfdc47185e23a9f6cf669c3f2e182450ab96fdfbe7d7ff6f2cb2fffd5d34f3f9df2de7befc9578c7ca7e8a70d81c7cf859f4eb2eea793ad7e5a2dcd8feba1ae0b616d2926766fe2a2c75ab9daeb149c4281bf1e0a390a3171eba7c8fefa298c8f8fe3e2c58b0663cbcbcbe3829c80bede41e497d6a294f20d63437d18180953b6a3084d9b361bb2bedf1fa0cc4a004954bbd046b565533d7a46c691505080fa5a6a5a24f85153550b529f4cf0a7e4605b63ba7d980f605d750d3def02a5eb1ae0ebe8a433be621464a7e0fce93e546edc89cdb969b8d13d448826a26ee35692d96f400ef96a1a1ad047efc7da84fca979d8b5a500a9496437909cafcd41fb926e8ceaa7aded81fc6b364d7588a1a7b79f63986ac6d2cc1cce1f6da20e21d0756a4a6c1737bacaa5fb198c4fcc52a32684743e46b8998a7510484ea5c4b73679b138484d301bb0654d28a70b42069244b9e0d49e2112324bfe6636e7872829139c3382b36a519952239ea3707394ec1669c16833a64008919729b20c93f86e0a61621ea1ec3cc6d3612159454a621018b621cabaa8f463a93da6546edab1faf5b9587824b1ed7ebe9d677b26485509504326dff4637c82f353e989504b76c920286c999018db4662f494c5999a18651ce789300a4fd03bc54986c5f078c98799214295c479eee72c1c9fa037ee8c6cd6c1bac91ab565b0bdfab419a42524d64d44c80ae124e15dfd33eacfba631f32b272f8ccfc8493818fcd1aff1b87401c027108700df151c8bf84149134c312d63a3645aa6c2abdcd6bb5121141dc0eadf34ee0f55e524cd61631f10cb01643353cc08d628aa7d81b1d5d282f2bf1a4b0b7220d49685242940a41aa5fd6f2e74246763eb826db909c4cb553f766f19a9e5380f49816b28bcdcccc74b7dc4408d42cee860a54e5cc8cc94b102f44717995891e250ba780c84c0e59363e8450534b8fc5b150515deb6e49a1e16999212b6bf13d114913b2453b6208856275d9c707eeaf43326e74524595d48e9434ca7f1043d0866b366a6eb8514e5087e42abd5812fa277481dbab99c0420e262923a2e0ca14a5c23d331b05a92c5263ca50e10cba8f4a0875560882c5e685c84c10b9b1ef8908aa162697baf034d916420c400a432462f39874fc334556906c7890c741798c45aa8eca8d10c16446a6124f35d646222e4beb17d249afd6acc3b6cea613b2c33d5eb92c524184c9b683e551f643f1a61cf6c9d465faad38362586b018681159f0c2244a38b3dba64c2164caa0164ad6464165e9671c64c69e450161b74d1eb1a0bcc1b4817d0f53655bc1e537c89629d99b3a7e1f87401c025f240898359beb89900dad0dda1bb3a9e8a0f5948f0b6bbcd62ca9147b0fa5bad7ef5e847b8298a8b15af8b490cf523d31859bf9104fb91357aea3202f0769c154b3882a81d258b6803a2e4a0f83362841c50496631ef5ecbdb76f1df016d3d878f7d7be5f4cebead49acc3d61a19d69e4dd67324e277b6d0cf6946cdbe0bd571b9873c97b5797f7bad07c6fe4fd7c6fbbc589366f044ffbfa078d864c4a30630143163220afc5c323647df1642eb8ac2668c2af36ed6dcbf30ee66d13deeaa59d43b77a7bb7f16bd6af55552c04c57e53ab4abe42a2b5edfd0a15c4a3e2108843e08186c0edd669ad77de2064461c0f05c7caf7beff24f7f7043151832c36a5332149f1943f08a45a0d85d6ae41222be6a8b9d0ee2578c842eca77ba301d136ebb4513edddaefafda9228d321a364b23333434128371d67897006c85e68aca9246269a5b3974fd6fbab27f1d6c4211087401c027108ac06020e2959694df7be73f7d2c2eca6e14785acacb595a9bc2788c9227967f184373313315412090e2624881de2b63bd3aff89ffb0602962a25369cc6cc102996b48de89b90b818b16471ac6d22efa47613586f5cfc9de26c8531768c4116354f6c65a68c1802a9fbc5b25c1acb2a598cb76db27f97bf8be561396e267af3d9f6da7ebabadcd5956ad3b8a7f8350e813804e210787021a0f5cc1d3897f7c2ad756ebd776ba57b5e9efe933eaf296212937d356d92109f6dbc5bf64545913aa937d5276d7e3cffbd82809b880e01513d1c51239c69f8915425531a97ceb54313559a34423c259469053da58d43190d1626a37656f384ead6948d50f9c6ef0ce365c557ac22e5958d0ec9b448868429f8b36528ad9e44bd49d47b4e2f09c41ada9cf4ef995ce6dff542d42fd5a9362a0d956a8ca0ac9e85782948405b694cdb589ef1c7c3386305d894cf3691b7e76399ea9be4550c558d794cfbd9c2c5196e8a8cff8943200e8138041e1808d8b58fe617c8d990290f69e6180485eb9d597db95e2653be5326219cad2a754e6bfa038198b0676630a4f5207f1f13b43762c3e2d2bd78177b15bfdc971088114416daa67133c826114b695cf9a8a6eaac003ae444135c86f2a45646a73118a3cf9b494a7627c85f4b7608016acf4c8d8fe0666f1f0269211452de480a2a8a93f6cf7c5232d559b3a9d9426d1eaad646a8c512a5360d2d8ad1d06c127de90431497705d3d1045af14da476ce18a6680344be7402f4cb93e04f410aadc18e51064608709802ab016ae54820d41fcc4456d0cf0faf9b3e7168608d1a3ef2cbe323db2a85764684044d8747d0dad3c7b42163ad7866620cd3ec671a75c1c786c78c8ab38cc14dd177842f904a81ea2c2249542126b00c0c96036d017af19b3804e2108843e03e8300d75e8794682dbf70e1025dc58c99355c07b3246abca648eb94e60d244b22bb63f295130a85ccc14e873be557b8af654c64a445a1203f1715e5a5a6932622fee7730101510bfa68095593d04fabaec2988f1ea5e9624e6661d8c2aaf7ecd963d45c7dd130defae71f2350580d8c75632eb709cf6e2bc12f7ef64b94aedf82c1d67dc86e7c023b6b82f8f18f7e8ab20d3b904dbb2733b4e0da7cb9194fbcf46db49e3c82d100ad040f1ec7de9b21fce77ff3359c78e71f717e7e3d5eda98867fa68f9ccd5b1fe25c0ba0f3f8af706eba10bffdf547f0e1de779059db88a9e12e1c3a711e95f59bb1717d0d4ebf7f087dbe3cd497e492b212c1950f4fa1b8690f766caac4584f3b7efef3b751dab819436c5beec6a7513e7703e7870378fe896d38f08b7751bb753dce1c790fc1ca4d186bbd80bc0d8fe2f1ed8d460b475e8a85bcc5431c027108c421f0a040c02116b261222bd2a288c88c43269541366c588f7057334e5fed40906bbb9097b6b636e35e46ebbd1013ed01f722ac292bc735508dd609d29da45d7cfcfa6043c08da7b5fc1a3188881c3a1d3b76cc4cd206da79494b4ba3fa2b1117b27aa2b4c2bb6dc723a8cc8ae087fff00ff897417ab62d6ec2934f3d8181ab1978e3fd93b47a9686ac9aed78fab1470c2b6782cee6ae5c269cc87a91697b1fa93381b42cccd05a6cdb753aaba387dc60397d1511534fa67657065d0f14e4a4a39769da8f1fc6a9fa427a204e436179032a9a4a70ada31f3b1f7912793397f0c64d1f7effdf3e8b74225509f361349f64fd2c47548f2b173ec47cf63ad3b6c1eb9978fd57c790b1a1084152606458cd4f7b2b327d1fa03d909d8f3c85ec2dc5f87ffe661f36aea3cf9e206da5c8147c1c3379b02778bcf571087c4121204fe431c36964cfd05a2a3d9dcbbb301748431511cb46263da432ac9f28e3424c1e0c564e6c50c599b2141e9179e2abf5e766ae73388d9c89642db80b0b83cecfcf37be8f64644d46f364c04b6ea0645c4c41f193c9a2b0d0411427b67cbe4cd364fce424593c94394ae444998bd0001a6d76f8f8ac32c769448c4c16ce2199b09f461a0de47d695b127efecb77694c6f1bc65974841f85681472b4281b27d3c8c0b75f7909178fbe8dfe6819aa774cd229e084c1fec364f94cc8bf0ef34d862769225e3969908d6c1a9ff4f565dc8cd60d13c87e5a689bda45f3f463d3946321a22dcdb259f26c12d8a669b27364f25d6c20a99cdb0f3426b0fbb919ec7847e2108843e0f30e0147311131c1053fb9e75d6d579019ca4388f1762fb76f954e791c52e2f2bbbc6b75bd27141323ac68f091d52125ae73f6442e0ced16ddf390cb5d1e97d2e4654697d59deedd7b95a913adf2e99dbbeabd7b67b1439b63691a95ba725f5c3b96a6b765b877aa58b95d9dee6a533d407f6320d0a474fd1529afaeaece60cec29e6531509d8dd2b46e42740ae73f3c86f3d37dc8a87e045f69ccc12fdffc15f6be9f80d1ce6ba8d9fc38b655a5e0f5d77f8ef7f6ce232b791e39c5a5c8a1bbed037bdf437878145b763662f8ea799414ada3f5d42c1496e4e0dcf551c23280591a391ba289fc8448d82014b9f41cfdc4637bf0973f3c6de681e04cdc83084504e90535d8557e09bf7cfb1dd414e720104ce309206ada3731da8df2aaf548eb3dc476ecc378f735d46d7b1c5579b338f7de31ecdb4b1b3c993974339089f0603f4e1d398870772bf63cf938d253acd098995c0fd050c69b1a87401c027108380888d22da15713b85f251959411e24a7b977710dd57a2f16be0c973a368e434e5c196b795d535f39cf3fffd594b7defaf9d44f7ff1eeef3ef1e4d3ff697c8cbedf89a52c6cd0b196ab932ec8c29cb42814e334322cf6661114b7019a2b373e7b12b766c81d22212d8959697190f42fefafd2b49875f6ba4d4509265e2c086975185a15f3e8442e5f23893c31ab6e094026c53042f1d994765e1b2de3a431623ac3864abb48c1b55df7aad36cc8acc32147321c27ad146dd66a8eda66da60ea50fa58b9c28c1e8020cac14d7a67cea66744995177e3eab0eda564bd98a9788e8baceda6d0436f84da2d32db3e42ff3b7edab5494b21699071f26333324c07522c3385724a491c1bf9500ad05f430ad92ef2ada3ba9365578582a782967e1a930811238d4312d17c39014c226586236bd84992fb900690e03fcf342929014cf0e39b9ea3f06c6a0adfc9c22cc746f928b0eb273235426428896d4b67db22a290501665747c0a1999746960e68bb84cac9382bac934993f454a8f9841b6450fc020c69b1887401c0271082c8380d670f9b01b1a1a32488858e5a934ae99486ff013147e5590597af9b4134b876b7d9456db7dfbf7ef7f007ce52cebac7b94bf126d1edcc9b89bd8cd409e0ab5f14749c6efb93944a76409c8cecd2620687a9c2eef850cf8b9f0cf44e8f08dda1c52cdf45376202b4d7e5b22e8a3ac01b70de323449b9bb43ee6a747d03b48c76a1959c8a30757bb510a518960785cd85e901bd328352afc24d3cfd2678b36c1089deecd52e383b2119363e8ec1fa14c4306f2b23330ce4d2c40ed90f9c909ccf9a86de29b4398fb6c3085247cb3f94d62887e4cb47106d328f84be4243935951b1c110e767798a7ebe1f169f62b0f992909181a21c3819a25f2f5e2a7c3987979d62532954a1f2c6e937730bb7faf44d0d8cf04fe5c9b2d9c97b7584898865166ece5df462c1eb26038e6e9c4bab5b9cbc78cc22ce3827221c0f9314b56109924f40d9361d28427e94198e36f1cd7491b86889e41f60ca2c739221611db223910e517ebc820234222a8bdc358f37e9e6c9a718e732035687c2889d233cb39a70fd2f8e4217b69966361db36b7d0b644ca9664122991668f7188c78f52fe68e6498519273bc722d9aa251ee2108843200e810713025acb8b8b8b8df76009c1ea598736ee76c8e601518a0dd2c6517002af5a77575efb4db24ff4e71eb172d826ed420c6af8890f2f52e237bc203c5356528cda9a2acc4e8f9264ff011272f251984ee77b741ddf71e902466653b0ae328f1b400246fafa70beb517a5a525f45f538d2c2210da6446067bd1d1d985ae81194a0fafc3ecc4083ebc780d9595c5b874fe1c353fb6636355be9123989918c4c1d3bdd8dd908fd397dab07be7061cd9ff1e522a76e0e175411cbfd48987d695e3c807879057518191cb179053598f99be56846ab723d27202831975a84b19476f341d5b1a2bcc69bdbbbb05074e7652eea19a64ae30ce9dba8c6d14ec2ccdf4a3edf2591cbf3a8086f24c9c397f15dbb737e0fcc966ecfad2669cd87f0855db772032d8057f6e35ea8b0344c0c462b230bb5fff9ae6715c0d75895e6f1d6272abf6ca16890b8e4a263534f986d1f3f23862ad44e8580b1119b9067069227455e0d2ca470c710aa6d407e24a77574b769c2146b4985e89196f92cc628ace189778e45dc8aa7ad9364fbd7a1521a23433adb1b1ed9da3cc8b0b8abb130c5cdaf8350e813804e210b85f21a0754cac19b1749c1557b786ba7762e5683f37eb1e37f8071331d13acfceea449b4e7efedbef1f31762c440edae0888a6f0000200049444154d8d4684ec1bdd75a3144b9816fecde013f37230a0be0c6253a8d23593d9dcefb0a686bc24f9982cee1696cdabc15459949b44d415b2909c9d8b0691332d3484abf3a8d8777acc7a15fbd83ac921aec7e7813da331271f012e504aa0a9142064c024fb898e8c5fbc707f018b53fb2538907d295fca58be75190d1809cb4006eb45ca15ddd323cb2f3210c7504f1cef14e54b3eea18e764c8c521279ea26bab292515849074722054862991b532a4db78748114967157eb229244c8939222917dbb161e71e6caf2b4034bc17eddd23282f0de2fa8d6e4cce4ca2b3ab17a41ba03c27cdb01258d40311c44a132b46e4bc3b6dca6e62ab632eed9de298d0c0d50143f94c1e465b09228b7c2c4b669333525434c1d2d667ef55a6c59363cfae70ef755981b76aef4aedf71613bf8f43200e8138041e3408685dd39ae7d6bd95daaf342e9dde8b75fec0f9ca51c3b541080b6ba8afc5e30343d877f824bef1c223c6919f58393a1dcf4a5e839b79fb95b3180984c8b6a1eaa5d83846db827ad234a0251980195e2373dcf4cdd997da1b7c9ea18340bdd3bd2c814ad644f21fe6444d201b277d6a0883009a48b6d1cdbe111406d3911acac7535599387cf0284ad66f461e110b696628bf640ba6220928c9cbc6fb078ea1b0aa9642109d681fcac7a6ad41b200a83e6ae462241034c5c11943325934eab09cdb2552a8527d575b65897496ec281f554a73c86e7af3fd73f4a65c871b179b81864d48a371af28d902b65fca73ff06f11d53c8c66a6cdaca7e8a4563b7fbfbb7c5f196c5211087401c027108dc0b0888e8d0478e8682a3b2ac553df78e95635ae8b0b0289ad6af33c2a39534bc26d54b6dc4b9655528bd7e18fb0f1ea31c473fb26be843879b9d54496fd2e0cb6c590af2296762cec14462bc440583bde90d6509e6a289686cacc3af8f35e3832353e8a359dd86a66d9425200f8cc2adf374fb9e90968f6776175323e41882891b890cccd3d6451d1eaabb81b3a393d8b1a31ebd078fe0e0d1048cf77432ff06e4156621911846414539c6afd032696a08c9dc90c52a10e6215645464e318d77d563bcffa651233d7bfa14bab373d1d85089f3642985fb32d03e3a8b87b754206ba6c7d8c3a8242b6ba0ad05f9d92c5f0416cb6d58ab31bd77e5088764bfa5c3ae6b3cc4211087401c0271087c7121a0bd404114f4b50c9f8a568e1a6c37322209fc27e4c3c6d1ef0866303c344cf5523f0543338844cc20422147e20d34a095613425c4f74f4c4a112eb018f8109d9d31148e247abc9566cfecd4388647279042e1d50c0aa32e68e61899050a3e92ed129d993082b6d2c8f0b14c8ad51a6a8c8422a391090c532bc39f928eac8c74438d998d4c2291a6ce25a83acf364af0d1b4dfd44f5b186c6822ed5990b08539aaaf4a48379a40f6156561a629f732169ea13e7836d953546f657b2538949424e33412e40c18414e0b8dc5aeddbf7714e01decc3c6fa0ab69baa34f11087401c027108c42170470888ba7cb787b9bba148bbb2d73a8f2b571df4f681f751bef31d3a74e8cf1e79e491bf7ae9a597525e7ffd756aad7043b73f511f2405e87e3ccd1b5d045dc947303f6d7de6c7f2966c836b8be6b0965b055bef92ba2db5839b78765e11b349f886ed4d0a22909c66a82312b2147b25409bfdc6d99ab770f623911bbc544b2584334b9e892f391d058594dce0b3513175880cd5559369ee5c3c315f208d72c6161a467887ef027a478421213188bc026ae1900ae3901a3fdba2ba130241ab32ece067eaa7caa99f10e67bea9fd0364606a4afc31699fcc9e9d9d410126585c29c2a5f75510347e9fdf4b562d595bd9d7a50ee1d601f94f6c6db1987c0170b024b57dad5f7fd4e5ff6c72d77a5167c1a75dda98e95da752fe2dc06ef7ccec8ef8c0ea92ede5ba7f687546a77ca3cfcb2fdda9b6cc9bdf2c838a5dcc2ac368fd2498bf176794411515b241b2ac1d84f2b7c6a88c92d3b44e02c380012498400d636af6007cd222c2b0da0002bb9074d3e65950759c3661172b06446aa0c61ac360da55b4cf9e60ff34b0d54e50b5188506e45c1d5670d86313ddbb5fca3547a23226372882523e450c1d6af67531acb5eec8b6d8755c5f2b4c3668cff8d43200e8138043e3604b4466955f9242b0b9744b3567a1be1e23e49b9def2dcbd2b77e19937ae0e7775ef3eee75791d1fb79c4f924f87d3e6e666b4b6b61ac4c1ed2f2ad38b48c87c819097fafa7a5457579b43ad37ed4a6dd07b2125f20cbcd6791cf222fb26f28926ebde9f46f8ec1113f65280b53f7579e974d4a4ba5d589a5ae5ac9c7a31fea30916dfd9b62c29c1fb72c90bfbe02d6df9045afeac1c8bc57973ae50f0031e65a844469668b123129895c0d44ac1529dec1b0bb75b8fe54af9ef14a70f6ca5f158299f979225fb3b8b63b652eab58973edd3553f552a616e17bf9a5a4cbe58c295fa7a37fd72659972d42696bb5299ab6997d22c296fb599e2e9560d01333e4cad55254cf57699f5f93881b2f8643b7f746dd237304d9306528a5c8ba0f2d268dbc95807b0d39d7364717d1c9f923aea27af8926b4e889fca3fdb953c99aaffa69ce7be7bd8bbb537eef7be53973e60ce4284f42a2a24258e39b52e658fa6da82ed9111195c2bd537e17b44e2e6f939e5dbcd2ba9fcbe3f27bfba17bc5bbabcbe3d22aaf4bafb688aa2241d7cece4e9aee287545dfb3eb7d8198a877117e49d2d4f1062d87499465f0cb78bf2778d93a029e03a027c9476eddc6270ba2b79aa66e505653de472af81c45d809ab0f667172de4df7e4104a965bbd9a3b82a990154d7099355e1e9cf5586fbcfb58bce3a1b1d367ba7065b92ed8767ff48333631e4bb7300f6208879b4baac3d5b31c1931cb42ec8377efdc26bf982756afdaa7b46a23cb346d32734e0bede242e7cdefea76ed7765aa5feede94a985446599f2d55e2d42368dfab51c866eb17265b8b6ab5c0595a902d4569bd7b651d095113b0557ae9e6c79165173ed573ed7b6c57c4bfbaa0a5c1b5c3e3dbb385351fccf278280c6479cf0a3d767716388da73541a509c19e3bb28798a94e575f9097415b1746b38df31870bdd74a849d93c3b33eea2504f523be6d27c24d73e711e7b6a13919fa939a43942ab0e44aa3eb83287114a2b24b32e85bbed83a73aa83f75b1feacbaddb1f9ba383f63f359df9e1ac9c61ae6bdeed53e6150b17b5dedf7b938e75b5a5acca65e5050b0a038e0ca56df168c44b29c44d6e10e6f5a2ff55370e985d4e83b7446ce945fdfa0e274efcda37c7ae7ca531e579ecba37cde3c5ab35597ca72ac2697278fe63bbabbbb31383848f71c392afe9e85a5b3ef9e5573fb828f9dbd461b273e5497e6f1e32246c8e45a2c3548fd63930442168559530d002574991ca4206cacc8a8e4412202b8d82876b1135015dc604a1d3935964706b38cfc88d2b07c0e416ce253d5970223d201923c88269f99649a87e2d798b4a6d82fc49f18080d6c16e0b88a9e6b12cbe7829cfb2d97d4d6b8f4f4f4187ea595e6d6387104e62671e1cc798cd0e26f42622a8af24308e517213b93b246ee83f7d4edc6de5ddd2b97d67bb5f7b3e86ceb444179a5b1caebd29bda3f32ae7368b97c095db42ceca36c53d3a62dc8a2e13f3b176c8deac7f24d5e652ea93756898b533fdd666fd3da0dde24a3c1c0095ab84da36d9d8eabe7d07ca30fb9a5b5d8525f8eee1bed081596f1d467170c935e8b9fbd51b34cd04233333680e149aad68727905f518564c629582847d171ed125abb0691e04f45d3c64dc84ea744fd42594ab9d8c6b1be2e4cd23b74416e26e62687d13b1a4571a15d8ceca7b1d87ef571b19fb636d7570bab048c0dd07ecf7c90a602b216daac1a5dd02228afa52e289f16543b4f5c6cfc7a3b081cbc3c8b416ee88d25b44e1c435aad90ba5de3dc18b9f9cb858d734363c752396c1a39993768ee960b8d59eca8b1dbc3b91b7338db1545637112b50a354b1862f34eb726a3aeb17274357344710c427d5ddd5a1fe4fa434987c3f3f8d58539bcb00908d126d5342d78bf7d969a8e7479d150acb5d9b64f73db94c306baf96e236cd5cbe34c5a93c0226bcd37b5c1cf62672d6d2f31dedbf458b2858b9ddba0d5ef5e5cbbd681147a13afabade25ea44e4da39be6268a8860a845d75a2e734d694006f7ae2541df432c42f35a9bb90e63a23c3838e8b5c641f35b6ba22cab2a8de25c7f052b210e0aba2aef850b170cd5a5a4a4c4200e42245c3aa5713fe5d1fa2bb690a81c4a53585888dcdc5c934ff528ce5d75af7a45159168850e90d9d9d926ad6b83be4f517cc4d6f95c232602b40022a42494c1452b3fc73c6bea9841e35730374f2121221e9a7cda0ce622633873ee1a355fac81afd4a479daf28f62e38e5d143c8d608a364d92a8259348bf2766a1639ee8ec042e5e3c8349aa1557d5d6b3ae54432697b68f11aea5897a7d0483035c8ce75350486c308966d0a3d4b0d1879a9c9cc436440cd2a4018f875b43401fa2823e18c1df7d881a4f6d34660365bc3e484699718d84bbf18337f6e2a517bf829ca01f1d670ea07fdd53d8b931800f8f7f88bcca75c84d4ba03b8000d27df4dd8000820934734f23acb939543157a0db81fe8111e4e4e5609482656939b918ededc08dbe49aca305e00ef2768354e39e1aee45df4818a555f5c8cd08a0f5ca054ccc255168ba88eadb328b3f81f7f6ff12a58d8f21b1eb227e70fa1afec3bf7f0533039d686eeb476d6313426c631717a5deb08f46fc4a68197616d9a1203596e80e81c6fa6e92d71b8e2611b14ac5005d1cd436352179760ce72f3423b7a20125b9a9e86a6f47fff0184a6a1a11e9398d9f1d6dc3234d8578fbc0157ce599dd38fce6ebd4047b0efde74f62eb0baf223ade858bad7d68dcb009297363189f0b2033394a970851e466a5a2edfa559c3dfa01b2cbd6a3fbd259ecfcc6b730d3df8d4076112a4bf2099f49ec7feb6f91b1fd3bc81e3887d7dfeac36b2f3f8ff6f367104e4cc3ba7575344648a78be7b8f0155763f8d249447237805dc0b533c771fa622f36efd98192b22ae410a1e9b87e09fd9389d844abcb332303b8d17513b34969a85fc7459cda6d172e5c4646510d2a0aad19ebd1de760c249622379484f3679b91535285b2c26cadce66124c4e4e1a413ccd0fcd19fd2498a785341e6e0d01f70df50c47d135368ff525d433a42b86f0582f068766505c5666402cad4509c4c92bb75c84c885835c82680335727a84b74efec201ea0a7db844e4a4b1841b271191b3a494d415d16e11ff4d46a849c94cee3b1792a14d5b1bbebe71634b4a57c52992416329c5037fc0876ba70e235ab809eb4a78d84c99e737e8c3e9f6289e58efc365223ff3cc579045fb5034f33078b31dd1c41ce41764b13e9e0d59afea30c894fe2a8241944867c3ca21c4369efd6112d79f7545745dc27544ed6293560c2a5fedbdd17a0ebdb37978b8a880da969364c374d3bed62c26e752904bedcace2b6770f4f20d3c575c83ee8e3644694a229dfd4b4a23ab8606362708a7100f56c3c3c3a63c6df48e1ae1da2681d276ae037ff4477f846f7ffbdba0668b81abd2a91dda1b0567ad9b924df9e52f7f69e4542484ba75eb56bcf0c20bc684bc1007a57557ddab0c213c3ff9c94f88605d33e5e9b0f89def7c07d5d55676c521312e9ffaddd6d666f25dbc78110f3ffcb04150366ea4790dd6a1a0ef5365eb7b75ec26f3628dff5894788d0bbdbbe234514836e2e4eaee1d4498364c34d1f5b104f801c9574e465a0a67a42d55e6c48374c076e4d7ff84a9a247f1f4ba2c9c397d0cc994600e71e3292ec8c540771bc6661251525c680cb685fb5bf0e3bd075091968ce6ce693cbfbb1c5dbdc328e1093a35711657881967f1543a3bda8ffe682ef233c2387f460b6b3917614e8a2b5d081595219bc8931ba0bbebe31727b55984621f8a7aadb17557c1ce3d9bc8d89f045f12a9123e0cf0430a5696239370f7cd8de3d76ffc236e4c71ec2f5e420e9156f88b9133711627e7e929b8601a2329ebf00c11137d32bec828f6fdf25dbcf05bdfc0990ff6a3a0ba0aefbff93364d66ca3be1afd1991373e7ef302fec78fdf42437919aeb40c61074f506f1e6a46e66c3786f2b6e33f7efb391eb1e69053ba0e5f7a743732b013911ffd37ba14388bab478e2025948173d73af1d89612bcfdce07c82d2846fb874711c8adc4b34f36e130e758d3c63cfcbf3f799f1b440eba07a7919fe543c7581889bd17d11b49c1f0071fe2375ed8839ffee38f5050b68e487607766dcdc578ef0d9c18b981af7fe7f7484a4f47d3ba462e8874d9702d1d13dd57f08bf77f4d9b3959686eefc1e6529e84122bb1b1780a274e0fa334348ec3cdfd98e8b8895d4d8fe39bdfff0e5effabff8afed40a1495139128ca4706179464aac40f74dfc4604717526aebd07bed437c78a50323ed97a9d6fe3504c72ee168eb18b2ce5d470e378ce9be13a46405d8be4274f41f43e2e928ce7231de5d9f89b7f79f231219450f91abd0e479fcead20c8ae84d1af32f62e8da7e5c1b4fc3d8bbefe3cbdffbf7a8a7a6dcf42455e931845ffde827689dce41d9e81435e0f68062060b41273c2dc29a43424ae2e1ce10d0d725108e92fa601c5e927521e2ffccf404851523486afd10e7aff7637d6323ce1d3d808d4fbe08df681bce9e3f8d92ba3dc84c18c0e993a751bcfe516cdab4de1c02fd749c2922c024d92af237254395423da6e788c8cc0ce0c03b6fa064cb8b284e9bc2d1c30750bdf5594cdd388aeb3d13c6dbb63f93df293d84fb0399980d0f232d371f6de7de4772f143c8e021739e9b2d9b69dc709048889151bb46a80fe9fcdc2767886870679aa28fb209fab0ba71792f86a385d8da508c93470ea1a86603faae7f88acda3dc89a1bc6655202938359ac2f99bed4d29056548b045afaf6e754a3388f54082a45f8d99ff1498b98dc0eaa0e611105a3afa51d63b534ae39d5817f79f7240f0c5bc8c6e8c5c4cd1b98e67e95269f693cf84e8ef5e1c4f1b3282fa0af375a0f4f9de94642c17a83988862610edf3c88695e2b680dd4a62e24e04ffee44f0c02f0fcf3cf9b786dfc0e39573afdb46e0a41af655bb66ddb66045dd53e2128425c94deadab2ebdbe23c9b5e827c77baa5bd49003070ea0aaaacaa4f7e6d1bd7efa06f51395e5affffaaff1e4934fd220e866d307b5dd7d9b3a74de4bc484c3f5d905014218ee08bdb74e53aa2a8d6abbe9fc05f9d3bd7e0e1bd7d727feb48fa7b20d5bb7a169cb166ce6b5b1a99e7650da709caee87ff1cb03e8e649f617fff803fce86fff0b4eb57470a123b99af64792e6a6d1d73d8a8aca7c4ea4617cf0e6dfe1ed531770eef8fbf8bfffe62d93662a3c4236442f4f963fc6a1cb9dc6b3ecd17ffd9ff8e9fb2759afc5e1dc607e7650bbff6b168c1cb6afabf7a78fcc7da00b3d617a3fdd1614d11f521e377fb1f0c2c383e81948c56bafbc8c5d5bf231329f81a4f18b38d6368cd9b60f71f24237b634949922dc240e2407b838a720484fc6291939a85fbf9e542fd6c745648ea79c08a9698f7061fe2e9197bca430ce9c6ac5735ffb2ebefbead790e1a70f9d5883b47cd87bce37b296ba5b5a9153b11bdffcd6abc8481ec6cf7e76145f7ae625bcf2ed6f926250c28d805ea98d3a5d8008d02cbef2d56fe1ebcf3f8d87763e8d575f79053dcdd771f95c3b4acb2b48ddf0a1adb3174d0f3d8dd7bef732ca8264e190bab3fbf14751519287a99874e1ccd428fa0647e8853988eeeb2d28ac798cf5ff267cd15e5ced24f2408794298459b26f062dd787f0f2abdfc3efbcf204172aaad1f3f4d6b07527d2299ba58dc5aa86f124989882aa750d78fcd9273130d883c17120932cce8cec3c526486d0d6328cdffade6b78f5bb5f457e680effc7b75fe1e2bf1935c57958bfed29bcfaea6b08ccf7e2176f9dc7975f7c15df79ed9b686e69c6403805dfffdeabf8daf33b304401bfebe75b50545286fc1c2e70fd6316aa445a64b9b96afd56a45176609e0e14f9393308da76c11309590b9ed3d2d3e21a0fab8780bc774b4095d39c9bfa0cfae82d76343c46ca613baf92eff263a0b315e74e9f41e343cfa2eff2095c6cef435dd3761a82ecc4d80465fd88d57008c8ce8ed5cbe1519ca6a5e267a27e3a1d9583d20e3a4c1dc6dc743fbadbc8a68ba672f32c42c45f88346235d79b2fa2bf7f14bd5ded3ce41dc5b5de3124d276d334fd5e499490a6aacc6141577e9e26701920b2627f3a484c4d4de3fa85c33823960acb1c641bd3f31b903076056d8364b5ced29866ef288a6baa49ad4b407a48480870fde8cf71fa4a2759a3e92c839a9a2c6ba13f7700a75b03b4e1e7979691c29746242f82cdbb77a2aeb21463a4b8b6f6ce62d3f6eda4b0f2a041aaec001d9426723ed736adc7d0d55fe35cbf0ff5f4f5a6a0b54e1406f7131221a4e2faf5ebf8e33ffe63b3e9ffc11ffcc1826ab0de0b31d0372096b864f5a40d23ca8bbe07adadbaaa7d62a9e8bdd2298d90799747575169449956bc4b2bf68cdeb974de3cae2e7d83faa92d7aefea70f92443f89135fc0e70bddbd76e4dbfdb7cf724bd26a828259aa0fae999ff17030759c8c93481353d15e6223e8d494a30878a36e09bdffc264ad37db871f50a6e0c24e1c967bf8a023a06942ab0c8fc49194578687b1d3a4fef434b5f3f7983eb303e1c46f58687f17c4d029aaf34639ae4ce114efe169e4abff1ed975057518aa6dd5f4171327ddf5cea3003b5d898f8dded202004c48b90e8de514c96237773345e3713ccc5b62d4df427548224b23de669e72523750047297b72ead805ba02d882c0783b8633eb519f3b8bcb617a90262ffaf295ab5c14d9127eac63633770e8c4111c3dd182297e3cc9e9054c338bb7fff528115fba34e0c79c40b65f646a82f22cb368d85c89b3277f4d6bc047303dcf138d3a444479a0bb95a7c8f378ff5ffe1e97468bb07bf33a74b41cc785f3c73034e6c3237beac8f2388e53470fe2c33357c89269c5d1438770f16a3f0b2002304d390fcecf308f859a9f89a4f0e511e99021c09c6c92a6c9f6999b203c48221e0d4fd3f7d20c598dd79056508a7ffda77fc6f5966bf8c17ffd2f68ee1a3046fbb2f2b3d1d3710a17ce1e21db3280eaf2104e9d3d81fdbf3e887eb2930a0bfc3872f810f6fefa18486034618cd686d7355460ff1bfbd037cc95995cf171520425603e45c37fd3343478fec0410c71234b2673ac97ce0db3721271e4e831ecfbc5bf924ad485ffefe8218c9e7f1ffb8f9fc3d5e6333875ea2049f941ec7aa808274e1cc4c90f8e10f9c821d59190237c27c6472897c3be96161879adac50014ab3e998b3a31d43d33c89d149228705ebea4bf1f64ff76378cced7eb6cd9a1f527be4676e16552dacf1707b089839cb24e9a9092011ca6cc0422422f3a4364f0df2e4dbcecd899a3a4408d29313d04ff64e455d3dce7df00e290b35282b2ea5e9a81c22a7212220a25c935ac5e932c9a191760ecd2e1976b6347de6b8288b6a924e8391234476babaafb31e1ab68c8c2390598474ca6364933a92949c894a9eee07da8f92dd19405dfd165416e6222d338f948d745ad34e3475686d1f9a98e741c2f6427d18e0b3966c3697149b5984487968ac2e439036a192d3f8cbc8a54fb4cda820653c3d93ede6fc4b0ee6f1bb2ae6f71544a8620352e7679053504b0440722b514cb12f61f6298de5df29b81449b4775559514d015c7e39893cf0706f9029899cdc126cac4ec7bb6ffc8cdf15bf1db277067a8688fb73fe93cd53c4034321b5561c4a2daa8658360adacc857468a33f7ffe3c76efde8d3ffcc33f34888a1011bd1332202446df8290027d0feeead89deeaa77def74256f42ca442888a282ccf3df79ca1cc48f056eca2871e7a88df6078219df2b8f29557c8474d4d0d0f21afa2aaaaca506a549f2b577985ece8772fc367cacad14069a12ccacd20764b777b1c0c6d5afa5904c5f20e9700803347f964a02c41f4463ea7d1b0d93c859be6f851d56cda8ecd442e06462228ab961c83a82cc9489a2066df4f521e99e62d174e905c48ebabfeeb245113b3a5f061efc020f289c8e4d2116019c9d8ffebbffd059e7ae671a4d290dd5c98983f4f079c354b9a127ff82804f45169fcf4a1e964e045421ca2e24ec26e11f0070bf1ca133bc98766795c080a6bb7203f251729eb4b70f0d009d4ecfa2ad91659187d961f8b2f179991cdd8e0e3a6151dc53bfb8ee03b742d909a928927bffc3c9d27b662db735f46754d05c76d1833be4afcbbdf7f86273bf24429c49a51485f465c281edab31dbee90144c23729c44601d30d4db633be343cfef0131472eb872faf1ebffdcc43869df7cce394bfb8de83679e7e1e55c521a41d3f88f6c1393cf9f26f63b4e3322ef2dd979e7b9402a244a82294ff4889623bf9d9e944961f7fe25164254de138e565b2ab36522e258f148f7143fddbf6c84eb234f2b1bd760c658d9bf05b59d9463e63db8bdfc7ae8d35e86cb96e0459e574f2dcf55e7cf9d9e751919f42e4ea1017f134eca0106b795e00470e1d4642cd4e6c58576cfa51d35083f3d7baf16ffff7efa3325fcb64021e7beebb147eed4227e5537eeb1b5f47c8378e53e7aed2bbf77614508ea72cb4194788aca4966dc4f3db7623253317f544cebbfb87f0348d20f6dc1cc7534f3d8b52d6e73f7c103da494bcf0d42e4486bae1e7829c90d484cca46ca43595e2f09193c8a8dc82ea826cdce8a4cccdd02049f9255c2ccb71f24c2bfee37ffe1e8a286f628f1e12bab50bb2e68bc8e35aa43597e2e1f610e052684271b60fe5a4725de94b4039e7d68d8b479153b507ebebabe86f8c16aa89b0ce5716611d375c2918145734523a52c624ed5a5b505a41a486882137f096fe28b69626f060600bdf5aeac38196286af3a2d4a40990edf30c2a02e92c901f2c0f7df31c2fea9318c45e39a4bea07655d66de6b8928a389f88c212b922e1e72d5553621eb237354495602122cfacb7e3bc9ef59cef9c43e76822b2e6bbd1dd7a19550fbd4459a49d084f50309e88476681585589d8f91865bb66394f0a8b4925e13e51a27a299f44a46490f3377f5d15291d548ca017f4ab7d516c2e4e4036bf47050733f3b0ec8fa304d4d4ef30b02178905db80ebb0a6dc25d5b2917c5505dbfc1b08e44f12f2ca83075077c111c4d2927e2c23ec682844555a6e0ac39ae0dfddcb97386bda2c3b4900205b726ea5ee9f4734179f52d886a22d690d656513e94466baa6bb3d22bad7e8a13d2a134dffad6b7b06bd72e5387100cf7de95efbdaa7d5ab76547a5aaaacabc521d2ea84c7d9b0ed972f16b7dfdd44cd2afd470c28e1fcc3c0e9cb8844c3ac1dbd2506e004da80ac206001d3707914e19931c92f865dd55af148c160e316f22b206b9d1c0c9a0999f66e76727c73048d3f299397924ed4b48961fdc24b144923a3343216a198c530b629a93845658f97185793cc86dc73f96000020004944415426e69dc8131dc14e2c799e82b0fd3c49641a16d0c44c9427811c92d12525fef90f9ab8deb038f19d49faca251f8e37adeef50149a86b319f4da1095e5c5c6ca4c397e771cfaada8db18b33d7155e4445ca25b9389f026a94753648ea923c777818ee6ac65bef1f878f2e081e7ef429f2886569f1a3f52f8ffb1855dda1256bfb7aa585e7336d33056f7ffad77f8bc6675fc1fa72bbb0afd463efbc5b3e77564a1f8fb31070632b8ac7e12b73b8d64ff71b540488fa520de5837b27d753fef86149de82db96f97e8d9aab8a88ada9faee6499617d61021eaa91668f5eda70ba6d969a39a498182297641a2c694e48a41d3755e009a63e6daec288f8c0b55a9a425aef559fcace2221e191ba4408a972dfd808e54ca42edc3336436a04119868b2a19e24922aa783ab094aec6379ec892bcfd5ac76a5120f9f234212615d7ee633fda13c99087bf73648a39342be549cf086ebd7af1bdb2421ee3dea83f62a6deefbf6edc3db6fbf8dd75e7b0debc976166542888463a5780f76fa1ef473df88ee1d3c742f6445541269cbb834baea9d900dbdd7faeb457884642ccfa3f78e40a0bcdea0762b7d595999ead1603cf826e9bd1d74f7763226a0a1aad020174314a4d37cf686644a2da59114ae09e88553926cc1b300a55fe0bd7100e6a949934433f2c525148ae44088f2a22f21352d939a1c4268f83e85aa50a934351f7b979929ed200a65cdfb498223399302b639146cb41f6e10d46433ed5bde366f3be3f7160282a93e408d893e346fd0072233cb1f0d967da70f4163ec3e2ca5731f97de79e3f54ebe8e0a8b2c99548b9ddebb34fac0b4484958da3b6f944f65693e854aeaf1ca2b95984d2069923c6a4d075bbff229a59ea525b258b66da3d22e2ddbd4cb844c6a82ae66e699bc364e6916fb68dbe1e2b418e89d822bcb6b604d712eadd2d9fa6d19a67dec8fad6f7101f3a637ed316db66d595217a34cbb78d5f7e2de3156ad31bf4578b8f22d8c041f93c634220634c5a81cfde30e44eb17f8da6fff3b9eb6454d633ebe37ef62fde5a3098bf5ba98f85510102cef14944248c5638d89d83e4dcd9c59faf722ac978198a9bc44f2a51ba8ea0850f035d550e9ed37a938cd822d9589682055629a82a93678f3da791b7bb1ecb2723ab54b06d674b074fde314066566f11b5bb8014e4ad18045b10fa601aa96c8cdd2b052bd9a638ab7fb85be6bc9c4e87915605c5afcc7781252e2faa3ec9ad3151515387dfaf4829aadd6c60f3ef800fbf7ef47757535e863c65029c47a1145430880f239c4436d172c967f1fea8fe0a8fabc3f974fe915af7558f7eed9db2d97cfe5d19ee74658ef14b4962a6f7f3fcd18e4926d16437e1477af827796deab3aee586e79094fbceca3452296274f2009d0ea5b7bdf38a029cedd9bab190c6b5ade0b386b025ea9395804bece0dba57b0e6ea751f5bdc7927f560977ff1bd527ffe83ebf7c7e9a9cb2bdeaa7eab0bfa681653ba321473ab7b975a63eed2e8eaee6d5e8b54b8b4deab5567247995aae55a879796f3d17c772adb5bafabc775c9f5cd9b66799cf724b3349d2de58ef5f30372f5a9fee5e96ddccafd72edd555c8d0d2a0e7a5e3a3f70e61b36963793c79bd7d902d0da12f0a269fbd8dffbd0d04dc9ae64db252dcd2f75ac1b8e16b234e76db8b37c52aeef93d8972ef194a53a6f08314ee16d44758b32016ccf2baa4ada3d99491fa31db6f5ae7c9bb427fd6ac032b14b47c8cb4e18b3a228ac8a54b978c713269e38852a20d5ec6caa4dd22b5deef7ef7bb86a22c390e51381cb2b0b41af64d8857ec93d33b7d6ba27e384a8bf279bfbfa5f9edd36af3289dca1572233995aaaaaa958a5bf3b8fb0231999618f90a8b9febedf2c176f1b7bbde6960bc23bb525a6f9cf7fe7675c6df7dfa10f82463e3cdebbdfff47b11af310e814508b8f5ce7bf5de2fa65cf94eb25a9ead79e544b788f5ec771f49c1fdee6397fb91c21871bbbaa4b9b316e17675ac45f9ab29432c14518bb75393e79d77dec58f7ef423c8409a044d158484888af2831ffcc008abcac2aa644f4439596dd0fc503dfdfd12c05f5d584d1e09a0ab3d42484409571e37175757cbc74b755f2026d2969010ac6448bcb39530e0e0f868b784fae29efe79c94dda50e29b8a07386b70eb9d782bc3f6e32e7b6bd0b8781171087c8e21e05df875f2d5b3aeda74bcefbcdfe8e7181c9f8bae69ac441591d1b29ffdec5f8ce0aae4f014b4beeabd281efa9d3c7912521f961558512a565e7f57068b2b6be5b72bc7de2a8fe2ddcf09a20b81726c1d95a6f7f72adc1788c991d3578dcd920d7534b32b870f0adcfb92285fd24b5b0ed1288da7d18a9e9017591a4ca6cc896022b0884563258d2d2f8ca3bcc027571a910bb58dba0170c0545e131fbbf2622688f345b294d7aeb7f776206c0df7df5f7d340e66b6759ab08e307fffb537dea238041e6408b8754adf9d10126d560ade78bdd32f1e1e0c0868639767e13ffdd33f35636ae5df968e9ff63051552e5fbe8c3ffff33fc7effddeef19e44408e9d2f577e53ebbf9b09ab4ae84dbe55139fa896a2384444892fa61ca67fc4759beaed4b5b97ea688893a29642387aa86f28513a48efbac06827d133ae1272082d498d107aa20a4646e7a18873e384d7d7aab9913caabc0d66d54dda2c4f70cd5e290e8271fd46f0c6ac99aac8c6e19f91596a109613f7492bda85aeca7d4b78834d23aa6ae23eba344f4f41485f51229701bc4d4500bf61ebf8cc71e7f1641aa82c9f8951918d39a2fe01f217a5c106729609c98685d027c01a110ef721c02f7000216d99050b6a390684350e8a3eafac58b17cce6a0efcf68a29863d53d6846bcc8358780f69d77de79c7b067c4b2d126bf52d0784b13e7d4a953f8cbbffc4b63765e719fc59ee32823aabbaeaece08f0ca858b944e24c4ae03bcda1aa54fa57b113e53c444e88784102768a550fe1b0686863141476e0ea39449fa695a8c92bab0093a25f89251bb6e1d0eedfd474ce6efc6f6aa520c765d437bf730d6ad6fc2ec583b4dcc77a2a8b20e79997e5ca515caf1d904e31f6764344c2d8e62222a49f4991045e7442272a9ab2f75e0b9893e34770c63d3b6ed489e19a2b5c25eaaab0d618488921c3ab5d3884ecdba6aaaeeaf11f3f35e8ce63d2e5358f224d5acf71dfed060cf764c2c1249fc7ad95269e95142325d10b2b998ce9d182c1a6ae35d9c72b89cde381bcf668830c60f96cf7a1d4baa3845a82c7b675fc65e7bdab798c9bd5b2c639142644f140b294c99ae426facfab5d088855a94c2c5ebea0deeddd23817bb5076ece6a3fdb2f95cbac5d25d7d4bdfab6fea8b814bec5eed55fee5795d992ac1f5cba65b4cb9b4746ffcd2125d3a6f9926ce4530ab9b138ab72579c7cfc5da72ed1c5984b4eb97e90b93d8f1b23df3b6ca96ec6685a71e4e2097c7b4cb40c4deb9548bf14b4b74adb02de3d3c20d73c4fa655be24a527e6f1becb3de6af1573b44dd95535269138abd2dad9a9b9d745540437e9df4d512e18676377207ae2777735d0a8fbbc9194f7b3b08483e4341b223b74334266890519a8b57af5e356c1db717ae5476020fe1f78a7aad7910a506abb4a20a0b0bb065db4ed4d63799b62711b9929f25b5f3c373574cd37a7a06566ae2c78efb4c11132db81aa4f0d48cf1ac9a2233830484fd50a5ba46b5375ac574411faa8f66b5cbaaaa5151538b68291daaa5cce07ffec57f076d59a27dfc653cb9953e409a8fe0644b279ede518e7f7af338b655a7e2604f0495c539b4f07a95d4990ce42674e067cd017c7b4f352e37b722400d92cae20cecfdd5fba8ca18c5bb17c278ed5b341e75611f7efed30eec7ef259a3071fd1026f5621d7aa2fd6d54775b8bcc252b3401a4da7d8a2ead6655fccae81d444dd326c26392956c6e916e1272d0db7006a2136295d392a88c17a99e61b91bbcc3ce125365f5c1e6634c1d53347b69eccd91b361c5feaa3b6da58b1844aade2dc18b23c6d8c4a67eb50bad8893496ce54c03f0bfd623bddf82baf4eb776bed20892a75f9aab662352bf54b89e786f48b3ea31efd5165363ac5fcaa394464d58e96d2693c7b551ed13fc040303105b820a5f7cd62d37399fd1c5b4af549aa13c9a0a55ca629b4c357caf22f46761bc6265eb746402b3d871d337202b128a60168e919cb4e9c12c942a4741ef62e529adeb975e295e790c1c4c52370eda9c17376bf39ee5c40ab3fd527b62759872621455d567c756e999c09346e9f44e703165f1a5295b69944ffff8de92a89556f375a94d07935e457b82ad2f5611e3bded71756aeea82ddeb962caf2f44bef6cfba851488aa49cec0dd128ddf1634769769d3ea428a340410543f155ba7b11d426213ef7aafc7bd1e607a54c69daac36884aa271484f97698595c75a6b4064bc971c040ad01a35ea95d3adb6cee5e9f41d07e8f72781ee5cc213611a703c88c2f21a94965598b689f293450bc099d97410ca90440ec35a86cf1431711dd162a07fe6c4c08543dfb1bdd7e2e7095a5cf801cf92a434151ec73c077062640c57aff4e3c5fff07ba82cca45332d72ce6516208dac9a09a67bf8f9e7b02d7314e99d3e54e426e0f220c7b1631f7e7625119b733bf08bd3c073f505689bccc3ae1d55b8f6773f422fbda07ef9cb5f4165991f970fff84ce02bf86dfa06746d56d56184f93be68b71a27795e16392f4ab5359195bd58bd5da8addebb165bb31971104502d43b13c78d4c1f9e255bc77606966b174542541b446c33b4573b0bdce9c0f15d559edbec546e801f8b4282ea657efda29c0776a15599ac93a7d1042dbe4c93c08ddbb6d76e2caece857672beb1596a8e0dbc719b95d958189be4b3aed46d5f895490fda8a036baa07a5594e674a2e6305fb8ba181bdb9c63488bdeab1e6560f0f64bf782818193fac57f82a1d86af69ddaaabcec17d994ae0c57973c692f4198621d531e0bab18a2c0ba85e0a90506018a8d8d6d8f843079a73cac577528ff3cd3ab6cf5d50625b2bc68070b0746d5a538bf0c6f308df9aed42f95c11895a7fe241296babaa0f6b00b26a85ef7b375dbd26d7bec77eafaa56b2c1301cf1a99d795abb6b8f6987e30ade9bbc6d5f58b6d30489e8188ca12d2abf1b2c8048b635a3ba6ea97be0dcd4b21582a43e3a5a076aa5e9d36cdb332c58249cfbc9a35eaa7f0f111222697cf7f8810cdbccbe2a70426c5e7f71ade72f93fe95530d186a813bdd4582d1c17dbf749cb8fe7bf3b085891038a267c2468de736ef4b521b5e12b48cf2de69ca2ab0d336b3e92f8634470ccf92dce1139ee3cf72e7d88cd2185ee00866f76a2aba31de51595a67ef9b0d377c259fd31eab87396cf1431d1e4978c4961cc24bd60ab0f5e278c281756bb68e8335d0cf683a19e3bddb9d32231320b2bf1cdef7e85fe6d3a505a988f3922232363d3c66e42244c8bad219a9ea759e4b474f1c566f9d1d17b705a2326a8aeb5353888c07032b67fa909236ffc04fffd6fcf60dbee1768f2fc265dc1d35703d94a4f7fffff4251ca1cf6fdea3dbcf8f5df402081267dd76c122cf6eb41b9d366a8054c41e3a389a9c558e3a29f82597c630bbedb00cccacd77caa3c55a8bfac23b93cbc699db5819eede8eb93e00bbd9bb32f4de7d16b62d2e87bdaa1e17cc66cd67c59856b2addef7ba77fc5cb79118aa4dac4f6a8339c96b6389f5c1141f9b9e2e4eb0f096abfabdfdd43bf773795c2fdcb3de3b582a6e7930f919a9fabdef4d7bd83bd5e760a6ab1b2f6d6a4a63a8019e7ea93c974775b9fa0dac84e4f0bdfae5de991bfe59b95fd6baa4f2a85f064588d52504c4f57149bb0543a6570e05e5f5be579c817fac5f7a567082a16ebcbc7d50952ac7c579f32bdec147eff5b3edb5e56a9cd961f3a078f38b51776c3ee5b16d523b955fc1956bd29898a57ff45ee95d5bf4d6ddeb9d41640885197ab69b89d00f0a9104b9aecfa09b02d9bb505e594ed675495d6aefc708ae0c65d5bd427777b7f1422b6fb6ae5fe6c567f4477db5b20c764eeb6031135b7f34612443e8e6a660a939a1f9e0e2d46c9deedd1cd1b3d2b8b9a3e75b05d5ab6fc7500363dff9add27e5af1bea400463b4f20f8f4ff89f5cf7e9f0a221f6d988bf978b3823d61467ef6e8daf0555cfeebff0d25c9d3b8d9d36b64633427c5cab16b09bf838f5dc9ed21f6992226fa18a40edc4db3e2e9c11914e685f8d1d9d384a093c41359dff0049d49c51c06096084ba3c54366c7a8a49e4a0c9871d4f7d1d4d1363143f09a2b2fc656c256b48e50abac2ecb46c64975a4094b2dc043a56a8e0f5ff67ef3c00fcaaaafc7f26d37b3299c94c1ae9055220040221a10a221d041b2a2bbbaeeeae5bd4bfbbb64504c475772d6bc52deaa2a26043574050e9bd470221904248992493499dcc646632e57f3ef7fdbebfdf9d97095226898439c9fbdd7b4ff99e73efbbefbe3bf7351a759ce37997b753ce7bb7e37659a93fb7ddd37d48d83bbc41f0b823eac35f8613a7753abfd3df6da3ddfed20d7bb04aa93d03001bfb8f4dab16e4e133984094958acf60471e428fbc78ca27327c240330380c2ce891d780299cd85eb8a48a47f9b4bf981f636017db4a4f839be4a410b8697d7831a662461f1c61c896b274e041e972cc575e31a8ed48d9e0abcdc08afda8dde04b4f79e191c63ec8138f62475f7e6423596c8b8de4315eac135fea4047b8f2a176105f389293c693ada49c9b04e04b18b15fe5e37a8947ca864f6d9421b545ac239fd2910d29f871bdd0a11c9f3ce1715490f2166a4e86dc64ce8b1e391173ef019392cd9b37674fbee836fab78f78cf04df2e010f7ff03d934cc03398c4979565f2f0e2c93831f1582b93209e123990441de84fbcebe341ff40a6886fc4f03e10261b057e0fe2c30f3f1cda851325ab3dbc1f8495251eb7557b3cfae8a3a1dd84317dfaf4703327f8ac84edf68ff8a0cb5331f0b839957d76ebadb7866fccd0be9accd086078ae87d057e32dbb97d9d8d3af4cdb679579e756cf5f194e5b50c3172ecf4fb51f9e062b54f5a38f7857e258554daaf0c475ecf52ff386ec1f8936cd79a1f5a4f5e3249a39de2fecfd8bf2fe8804e4c54a1a366f86bc17de5a4adadef2bccfd1b9336acb2d4df20ca41c7094d16c940144afead1b5e21cf2be77b3d8f5e61b8570529938f6430497e13fbf806d6f077513890f3fde02ef015175f0dc83a6270e22db0fe3c3903a6e30d523278d244a1d9c8640aeab01cd41cc06cf0c240e90d47a786627960f88f6c2927b6b9bf44192cb0d560452a0c1d28f2874cfed0c1566552e991aa1ca78a477a2aa3832faaca8429ae17322891e72606f0c08949f160c360fa4aeba5b855ff189b9824578a5c79c929c7440c90e492a95eb9ba276d46195d483a71bd9407973a42f2217dd92383a718552ff1902bae98471ebe78c96bc8fbb63758b1bd7c60039172c2118eb0a4275b52e2571cd85047f4f0213cf2f021c984853d3274e44f78d8b3112d7ad8f0dd2fc62eee376172821d93134ec8d8f1cd12d273cf3dd73ffab8c4bfe0bc365c8281cf4d89e075f8b8c51f778a097bdec68c1d97865811e02373f844860d2765ca6c940f141133ab37279e78a27df9cb5f0ef15077eaf9f5af7f3d7c9d77c3860d76dd75d7d9ca952b43984c5afee55ffec5ce3bef3cbbebaebbc2848d89174fb8f07d17f61b938fc71e7bccfef55fff357ccf0bc33973e684778bdc7ffffde1cbbf53fce10a262337df7cb3dd77df7d01f3b01933fc637d230206fbe740107b835dc2e5cc6d3bf92ab38fa5fe6087e221aacdfeb5f07975fe55687f15ff431bfd15ffde1df9ca79b17f2808391b384a797215997f462ef05c14887ddfdee9131fffc3bfacbbc5fb453206b362d59be9e3e8f0adb97d417f121393a1d5557eb030e8e51a27d7781c9c1c247bab7ed2e0c94d8e894e7283dbdef4fbe1878ec6c98e00d8657d29ecf8bd07d057f92028a9a3efad2a0c1a6a0e3a27fa6cfd0d640ca89269e04eec733b9481924103d27d06e80a9bbc8801137d36f8a4c24ffb878f0e291b245df1e1290f963094ca0ebd84122c6c20e48a29ae17f68a5179f4b1a38c9d30e083014f31847a114f461f1d487129557ca4f05417749517a66c4865a7bc52c5843c6d2fff2f552fe9082f5d2fe48a87bc087d48293a312916c5852cae43ac2b0ce4ca93b2c5f6711c9281c3c98c7d295d612023affa23970ff8d84847364ae15387b85eb16d924ffa0636fc6372c271c1463b9262cfa4a2ceef79fbd4a73e1526179cb039f9f251b859b366d9e2c58b435cf5f5f56102437db8f992d7a23fbbe459dbd9bad3e6cf9f1f5e83ce5b48998cbcf7bdefb5534f3d35ac94c8571c7ba8d87efca12df90aefa5975e6ac71e7bac7de52b5f09fb8589d7b265cbec939ffc64582542c664e399679e096d74d96597f9f7afde66dffffef7ed3bdff98e7fdb657878ba8509d8c2850b439d7957086dc1248649dc4d37dd64b7dc728b5d71c515c66a0aedf8b5af7dcd4e38e18430e9fbe8473f1a707ef8c31f86090bed73208823c4bb86afa699f9c796cdbf8de9131367fad0c6159d67bdfc8f87e7d9bcda261f503a6dba5f26b8e4a13c7baf4f545edce9571adc565f14c0acc80fb14a9fc02cddd1eb976bfc788f2be57fec734f6da77f1ba9bb7b875f5ef46fcb79ffa5eee19223e352d0ef7b9cc610af25ff273131e1a56a797e33dfde889d31487f5a2da0418b01150a83a9ef28ca1af0753291ae6aa0726c1bdb094b83b8f4d3f64c66392ab1c517445eb894659b8e89b26c180495978d70640f5f181c9cb10f643149265bece051665339f6297bd904ffcea4ebc30b65c7805426af9884c5d274f2844cee92117a508cad3c7c61ab5e94f72462480621f9971d65f18847b1c418f2a7bac736e8c1977f649421e951260f761c1f79f1c8a323bbb42f610685d44f8ca94989b09061ab7a892f3fa4695fc283bfb77ac1c7575c2fecc22aaf57037fbbfc267f26164c4a4839093ff2c823f6bdef7d2fd81d75d451f6e94f7f3ac849f95c3d1f8ce35206df3601ff231ff94838916bd2b26edd3a3bf9e493c36a0b78c40191c6bee27a0685fdf8a37dc5e519629a397366a8fbe38f3f1ede8cface77be335ce2e1315c564e8e38e2087f8aa522bc5d953a41ac0231816302425bd2364c32786dfbfffaebdf691f26751ffef087c3bb3ac0bcfdf6db6dc18205fe86d6ff0b978466f84ac929a79c623ffad18fc2f7626823f6c581207a367f3cfbdfe93e31f1558eccc484a3b5d42711ab7d823172885fc62acbb73b9f6cb7a736acb2af1c36ce168ed9644d1dc38c274a1f79a1d8668deab66736f6da912377dba8a1bbed96e7aaecbf969a4df41518564e446162e21710badcd1ce9dedd9b1887e11fa86a707f5a59c9d7e0967b77fa84f07be1a8631867b45aa2acbfa34407cc0680090cd9e298d98e38621d70ffe41da7b0bfcb1f645ae76d73ea30c5f030ae8e491934a46ca060983327936f4e37c3c70931725367d4f56f0e40b3df9c74e83af7490cbbf628ceb92ce83257de12a4eca906cc823c317845cfe654b8a0efc3deb95f4cf180f7de1a18f4c58f0d9028ebb549cd2919d62129f149e70844bccf08593e0c34df693f0a44f59f1e95e8fbdd50b4cf9c52ef8f0eac2131e58103c610786ffa09fb5f3b2e4a4e82b0ef4542ff1a41b7c666c632c7c8091dcd897b4a9fc095bab16c2c04618e8884fca263bf42483179795f72ad0c461ac0b4f43b97df3d69d36da5748f4fe0b7c41dc0ba2d79a7379834b0f9ca069775603f0c5a588d34f3fdd5743de135652ce39e79cb09af0810f7c20ac0af0d55b2eede8fb2aacc4b022812ff2f2151ceee71f1d2fc4c0f6c20b2f84fec16bdd2fbcf0c2706fc9f9e79f1f2661dc5f03b1df7efef39ffb1395a7d995575e195643a807c4448dfec5fd297c408f5525262ed3a64d0b6dc9e520da93f203fee5df952b5686fe73c61967d86db7dd665ffad297c284857b7cd43f03f07efcf1a3c55794fd5e1a9f2cac5de52b1efe591c564f583129a2e374e7d9f57777dbc9e357db71731b6cccd87a7b76e91abb6f4b9b9d38a7c8d6adf774629d75f8fd9893fd7687d1555db664d9269b5f37c4aefc5985150df3fb53bc6bd2c3fc7da5d6e3c36dd1965eabf0db8db66f6f0c7d39794a2fd7e73387ea80b7c29fc48ac9a38b57dad08a123be2d043fcc0ca2c2879c3f0586a63d356ef087936acba22c868b48242bf4929fcb5ccb22bd744730342a659b383008f3486c7ff32838496a13438d0a21cc43a0835780c784bbf4e016997be6dc249333971aa4ac8d938f0210dd0b255db2213562cf3a187758f60271dd9482f3d18e8a483befc294f1a930639c54959272b6c75228a6dc84b1f5df2e998d0118fbc62228524535f135f3230631e7c614887141206f9342ebcd80e5ceaa87a495fb6e97a812d1d64d20b19ff81875c76d2554caa039312eef500423c6150c64ebe4885cb48289978f2a1c90a65309818c0434ffee583543192972ff210b298e44b32c5245ce4f854ff2106f571e1085336e8c26300cff3b6503de42b5d565f947d62cb28e7f1669c5067f4b82155edca9b44f94bfffaebaf0ff748dc7befbde1a4cb7d19c1d66358b16245b06bf5f750701329974356af5e1d6e98e53e8abbefbedb8e3efae8ec57c05999c007bef0a9f6c884b1df12da48ab1eb437756622413cbcda9d4b4f63c78e0df1e8e921e971c986cb33dc67c2aa082b26228e07ea085d72c925b666cd9a30e161258509d94f7ffad370f32cdfaae13e14f4efbcf34e3becb0c3ecb39ffd6cd866cf9e1d564eb4df85bd3f526f963059e014d9b2c33d322961731ae1f78998af829c7976a155554cb5a5abdb6de29826ab9b3bcc6ffc2db6e2a27cbbf59122bbe2831d7687df4b7ce7a36d76e4d402af63a9ddfee856bf11a5c29a1dc21f64cd910fe7c3fc92914ec90818a7a97bf20a048ec1a4afe68c06267740272654909b5e4786c7854bfd1a97bf50cd2b0a9fcee9771258a12fcbb143202615c5fefd9ce54b1eb0479e78deaa478cf7d7c52fb49acaf2f056c45e5f6a0eefd7f037d675fa0a4c81dfc2bcf4a947fda56a6b7c32d9ebb3e67a1b55576eb5874cb391236a9241c331e9ac853ed9e1291f0ec87dd3d4491d5effbfec9f6490671f3120306090d7c14a99c1041ec4010e0fd2402c39fc647f83913ba185fd9fc1401e0664f7cbfd43f2a354315066cb61e6f6247cc5039662c4368e9d18290b533252d5413e58064e96dd93bfeab04dd70b9ee2515e3a94c90b8f54bcd8aff2314e50f41fd54bf5518c8a1f7c1138aaafb0542fc9d83fec2f089e36e120579cc2c8c59fdbe7f0b0513ce0c98e54b839dba4eef0a54b5efd853c588a1f3be1215359318111dba85eb11e72d52b8e5379b52136e88af6562fe4c8026ee689b23846e4c2121e656293af64929e69aba449b2f5646c62058013e9fffccfff84f6e0e6d76bafbdd63efff9cf8755de0c3300002000494441549b44593d60c2a11b4579b2841b3839b173b2e629961ffff8c7f6b18f7d2c4c566ebcf1c6a04b6c6087f12f5357c58e6c7f92da089f5bb76e0d1381cb2fbf3cdc4fc31b513ff7b9cf858d950dee9d61d2c5651ceafcab5ffdcaaebefa6abbf8e28bc3c44475408fa78d686b88fb4c264d9a14305931c2fecc33cf0cab454cf2eeb8e38e70232cf7e070d9ebacb3ce0a1313fa86f67100da8f3fd4857ffc67b6e06fbf08e32121b432bc56e5d9376fd8691f3ea7c9efbf29b40f7db1d04e9eb6d5a68deff04b5c66b72d996813af7fc19e5d33d2aebd67a81d5af38c8daacfb3df3d35ce2f4d38965fc761a504c205efa9caa32f64fa212f90244f1b247f84e48e896034803feeb72fb8579e30e28d918d8d3f87b5317269e37e1a2eea159d7efad925b7dd7653fb8db7dc7ee989279df2e19d2d2d34576e64f4424c3861607f68d1f356e32b22a3eaaafdf5f49957d2fb098857d2b7fb04a3bcac24ac98ecf6d7d397fb2be46fbaf1bfac67c471d6fdc84f6cc8e1675aed90362b1a39cd460c69b1c7173d63e3661d6b33271fe2cb5c9d3e61e9b64dab1eb55f3ed168ef7bebf9d6f8f4c3563676baf5ecd860cf2d5f65454347d9fca367da0a9fc06cebadb2d97ef35879a10f88b9fd1187fc86c8f7d32742bd3920793cb1b4bca2cf094203394a741fecd9c200ee93bdf03868240bfabef3e14b0f5b0d1a491784d3973420c43eb08f273ef21d5bea64864c241fe2518e79e4d3f5c2165ea85726151ea97cc7710a4776b1bef2d2575938c40d25317262cec50f4f1388fee294dd2bad17b86a0730143f7cc5294c78ec331e570c0326064ec8a54f99bc52f1c10ab6a976464ebde55776e88bd0410ec99752f9925ced9ee62347067faff58a7ca47dc95f8c439ed8f7562ffc480e5eec9b3c2b013c81d3d6d66aedbb76d98ae5cbec6f3f7089719f032768e9835fe1c7e0f215cb8109c44996159298b8dcb3cb7138616ba500b9f8b1eec4891383aef60b2b0fb44fbc5f63fd7d9d0f13346f4f264aac66545755fbce4efec859bad46f88703ae9a493ec2e7ffa866fb970f989b6e5d1dff51bd61bf7dee85217fb45933a2ee95047565e988870f96bd1a245a1aea3478f0e37c83219e1257365feea089ef46152c7aa0976f8213d107fbd72140df14b396d3b96d89aa3d65b5e49837f22c55780e8a72e2cf1b0da77fbcfd3ad3c8a637674955f8371f9467f7b7a999faec7f9a9fa459fcdd40eb1513585d6f8825fa3d9ece519a57eaef5fec7d93a39ace89cded88536ecd9ab6c6cd767ec299fd87ce6aa7fb3a38f996fc525c5fe5eb0ca9edadaba21fe46d8ffb8e41de77deff8534e2fb9f78edb7c7dc51fa54d3696a61c3cbb3123d4862736aa1436efdba4594afe34ca16f76f8648e834ac6e74331129e22febe4fdffc4c99b213bf9ca5e967c70f6595c75c550bbf7e17b7d26b8c06af337d97d4bdaeca2f1e3ec17bf7cd8ce3eef14bbe3e7bfb0a1ef79bf8dab2db582f232abf19b9c46d6f7da707f4fcab2e6461b327c942d7eec2eab9f718a352f7dd89eac28b03fdcf16b9b78d2a5fe01404e9603f926bd6cf0074526d38bc220a9132207aa0668780c101af419d8e201155de4ea87a4ca8baf72dc60c22785623f0cd48a4179e9a00f0f221ffa9ce7f111ca99143998f0482161a22b7ff0642b1ef8d849168cfd47f540a6ba49a654fe48d914bff860b225b12575202f9ef2c2536ca46cd2131e7af02823973df1a91ef028930a83f1c3d503c113a5eb253fb15f7871bdb067932d72c5032e32e953968c14420ebe748813420e1f525d54af381ec9e1b18107a92dc8c7935dca710ce82b06f9567b51de5bbdc0e104a97a08133e14e2f03a701928f808bd35e183b963c78ef0173ebadbb66fb3f1e3c787cb164c3e5835e0fe08eac304076ceea1e0bd1e9a9c7089839335d89c7075ff0578d8536774b9ef24f8a79e9918d03910447d58cd68f78fab121365266ad49109054fd130e962a588b62fadf2d74b549487c78ab1c306c28efad383e0711f0eab22dc9bc3a48eba33e96052023efd87cb5ab40765da87c7abc1d13e0fc0fbf58763965b13dce9b695d65bdbe09dd6271bc96161ed3eccf1a4cdc8b995e1f329cc47caeb8aadb4be38fca1bdc1a70a23271558abeb35fa8db3a30f29b1c2f166eb7c7ee2f3b92c4ed8e560eef4370db72db1de920a0aa15fe28b9be0e95fb443f4b792eb0c1c1dd0890975a762dc4bc22d233dbe4cc1133abeef934ed8ed8346aaaedc05dcdabac5864f9a67e79f7f9c2d5b74b3cd3c76968d1a5e6a3b3a0b6c4443bd95ee6ef7864e0600be9fb2bbd30f5c96291dbbabb33d74bacada913669e204eb59f7a875e6d7d8056fbbc4befd1fd7fa6bed3f66878ef71b84dee85f124eb57b5ca44372804274500db0f0194021e41adc28c7b298af0e4e2a125e9c621f93067ff1fac8c1f2c1077be1e25331cbbfe494e54b78b2a3ac1320f9984f19bfe0ca1e2c88b262920d7ad227954e1c9bea251c610853a93049b561c32699cac2922d29246ce9ab7d248b71e1091b3bf2d24fd78bb27c6307bd9c7aa1279f7d634a568be0a92e8a4565e983a17ac5f1095b76713ce291622b2cd54b7e95caa7ec629ff0e82ff21732fe83adece12936f91356b879d8477fdd64882e3afcf54ecac4021c6857fbaef09656f2f0b8093626784c66a4cf250be5c36a4280f1b832469c9839797342571d62bcfd9d573bb3e2c306c1d3aa054fd5102775a20eec53defb42dbc69312e1c00f79c76032c3cdbf92516672c2e42ebc5cce752823a7cc2a1379e98760f6fb8ff7ad9e0e2b2e1f6163d75d666b777dcc7a0b477814f4b7642fb25cf122674d862167f9da49364f760d3f81f26c5da427fbacb24f8e6bb6feda86e55def2f573bd22d9e48449ea3fb854f7b78a6807b5bf6011dd0890935a482b5d565e1720d139492225f31f1590a1d205ccaf14b31d9d989ebb3b2d2307696350c9f6285ae575ad16075fef297a28a5176defc06bbd11feb1a75e2593ec118ea9313efa4057e9f4a498d4f36fcaf74ff6b65f8b8e956515d6e4bb7acb65f5e7f834d9872a81d3bbad4962c7ada66f9fd2a43fd09a0e471cb7dd3e0fb601f1e104806030e740606064cf26c10e598d085273d646130c9f065073f3ef03510089bb2fc4a864d4cc81d24cb928d62c80a3299184f32063862952dfed18b7d9287afba06bf0e40ca16d715dcb4adece3ba934febc5b88a4f78a4699b58877a406080db5fbd90a77d0a933a08033df8fdd52bc6004b6d10c74e5e6d251dec62529cc815431c9b7415936494c9834f2aff9263273ef9575a2fc5451ac7253faa17d87b50261ec512dbc38b09992e7b8acffb293829729c3139e164bcaf486d84af746cfbcae720eeab6881bc9156366483d5769ce92f277915f62fc7c4bb665e69a5afb41ce9577492713dcc7dbccfd26de9abf47f3fe4f6091dd089099d9fc781376ed96925ad1d563bcc97dab8c1c6c9ebec7f35f8eac8ae0e2b294e9e4b6755a5c3df6c77d8e127f848d3ed2f0a6ab3864366db48bf63a7d35f273f63c1e9367d9edfb5ef131c5e4ec4ebe37bfcf5cea5d5636dc19c43acabbdc326ce59e0aff56db13ab75b38e714ab2f2ff495946e9b77fce9e1d5f379e10658fe6ada27edfdba078d9b251ea819cce8ac0cd2eab4ec5f3678e8421ac4555683a0078f4d3ae0c89e3c244ce98b275d959143b11fd9a08b0ff9916e30c8d8c84ef58a6da58fbdf4e0494738a4d2452fadd39fbd6c85ab5458319e74c5531bc4f5925f74c94b27ae1732f1d1515cb2153e653628cb631f793b88277bf0940fc2cc8fec95ca0e3c36ec622216f114b352c5803e78e8a56387875e88c58f6dfeb6262f7fb2152f4e1547d63e138b74e45f72a5c9009e58eb2940d54198e97ac1e7259160045c067f8fd3873b7bf2c9276536980eb6c07e6c8116f7e52b2519a2df731927bccc34730c859bffa53080e9019d98a81e0be64c0e7f11241f4d4b4e283ed484d594517555fea126bf469679668961916f48780b25838dbfface879d3016ecce5c5b65598e4614b13cbadb8f70783dfe71ac4e7feffffc63dee4763ea1f1c78d65dfc38d4420e54c05f1864de3764c1a811340f2172a27088881542700fdf51a06d7c420fc4a0e3f1e9429e343729429a737f4841963a017cbb0979eb094a22bc29f4e624a899d3af5572fc513630b97746f31c4f5923e5869be30d436aa17fcfe4872c5858ef2aa8f6252bd747f03fcb47dba5ec21306e5389f8ddfb1a49be5054e4e1f5fc424bd8c385b966fc51f97a51bcb8447bdc0657fc1c32ed64bc7938c12b9951ff921d5868d28c6934f644137336aa4eb156c188f5275a62c228f1e441e9f491d923e49397cc3c52f47bfe3ed6fb771e3c7874b0f3186b006d3c116d8972d403fe5a37dcd1b37843e9b8c2d7e8c84638d15be5cbf1ec8380ec8c44407a52a5254549cb9b33fc3c9d49581045d1e29d674058dbe07a8869b1cbfaf3cc1ccf2320dc9a4242389e621fba691338e5e3749b6adfa8d98419c934cb2b225156cd8d85fb2a713c72707c9e3c11f5e5a2fda21592cf921953e79f92315ae7cc28b89ef1d31dbe724808ef434994a0ebabe75203ec50d563a5eca90e20805ff011b3cc59096a327ffb2917fcad2572a3f92894f2a5f3a410b9714122eba22f064272cf4e0c92ef619dba11763a6f5b0972f64fde585478a0e9b7063ffd8ca578c4b1e7e4c8a4332d52bf62f7de9c6e5d8976c91a31b97032f3336c18fe3922e3cf22a13abf448d9542fe991b2da2b5f3b5a76da659fb9cc6fbe9ca93007d3c11638202dc053615ff9c67ffb5933f787a48f521e4b6e4c19c8c0727f1e0c24ea4b6071f015fa63c0857e639136d47914928d95112ecbb075f8adc2dcc4ba6faafe1241ee45c480f172e995e8be5ccc3f153d06551179f6a988c1964df5270f71d2d4402c5d520dcaca9386e7e53d8d71e08be41f1ff2030efac187c7247e1f5d97830d8f78a4438abd74f1a3b264a4b10d7988940dfd34c53ce1c0d33b00e0414af19fc8fbd60b1dea15c797d6c54e2b08e842695c78e8c538f0b2ede632d50b5be5d189090c6de8c579caf21fdbe013195b4ce9b6a30ee049977c3c718c6dd506f014432c57bde091976f568efa23e181258a6391bd64a48a2d9661a3d529749081cda6323cd9e6dac0dbc6ff870f861283ffd723e2fdb569001bfc196c817dd802ead7e172adf7c7a40f730cfb31eabff14dda0319c67e5d31e18065a2b16513d7ae44540f4a0623ee27e12daf6a9044e652b74d06f4242ffe40a7895f065e06510d8ac940cffd30baa4f4927e3dd68297abfb92400746d85fdbc7912067508d077be41a3c3598c3230f9f541b7c30d8629ef83a717010c47ac863422e6cf8c2f34c50933ccbcfe850d61df7e493832db20fd6491919270ee99142c2569e7a40c8d9d2f5a2ac13bd64c42edfc138f3236ce9c94ebee1c77ee40f3cea05091b5df2107928d6979ef0f01de715037af0a1348ee24316c71ee390972cad471939b8b2519e14dff437883c3cf1e1918784810e5b5c17e9c4588a073b483a2aa32bc23ff58c75c8a31bfbd171213dd993c6f6941523e1efe60f300f2354858cff7ff9cbe4f4b95cfc600fd22b6b01f51dacc2fef71d91f4aa978fa37e9358d0475fbeed4b6beeb97f5f6d8c2fed67ef528f2008d54ef45d262b43f8a0ce3ea0dc9fbefb003c86a442bc1abecd6f667df8a915e60fcbd821236b6c646db5bf586d6878b9dae811436dbb2f5ff67dc57c6672e08d905f50145659b21d80a3d11b2c5ba614787d5378b9adaf8c18834d4687eb69f9e111287fd2c7dfabb2cbbfc4b9dbdfa5d2edf7a66cdfc1c357c960e446fc4f6c13109082bca7cb75b7fbe46be07a261efea44883b2da5b83ae0664066b914e2a691be4f1e00f1676e8094736e889275cd2b45cfb59fec30194d9b7e8721f93ec744241477a311e7a3ae90a4f7541465e31c92f7c083c1132f4e20d1965f484217dc9b08be5cacb4e3e55969df0d0277ef9470e4f297cb581ea259eea2bdd60e43fc845c2c59f3664e978a42f19a9e2505ef6606a138e7c528628c7f5929eb0c08eeb253b78e2c736c2941fa5e86883872dd8e4633ef6903025571de5133e9b487a6e196c2933f6851b0abdaae0ed8d8495e025f67bd31d487ee2ef9523c6f126f9578e315016711d144bd2d6c9981ef6edab7016ecb27d66ef00e9b6d8bba6247beedf571ba3105f79ea7d31d377e9a3de52c9f110f5e7578eb9778bfdba624265a0c9636bc31330dbfd8b85bbfdfe111a999dc5e3c1f9fe6d9b440fdd7cffb7c36efad98db6aba7c427096d76dc5b2eb0696ecf5337e10e611f7887f875599fbe85934ebeffc5c823c80cb460524e5e63ee2a8ed8cb9def0c0404e23f2c95724989d91fe3c0b64d1bfd8d7ad536b4b4c77e7fe32fadd1dff55b55596363eb87daea96223bf7f4e32ccf271e2827cb5bc9c9856ff270ff42617199eddab0d21eb86f999d7afe5996df95dc5c8bbb8381684306dc7822425907a5f8d455fb55f5667f68b046a6013bf0bcedd92be8c476611ffabe8c7d90d749427e48858f0c22555eb87cb2407ae8c4f8e4153f312856fa9256711407ba314957f5420616a4fa28952d6591ea030f2c74e091ca4eba94d3f5527f571ca49a6c9057bd84091672f8f2074fbee45732f8f21bf3a4872d7948bae4f127dfc8b155ecc865435e76a4e2ab5e94637b74c0521bab5ee868354c710a5b18b2a54c1ec20ffa6ce2c57641c97fe4476d073f171758493b8123024f1bba907054963eaf4a70c06c2cc248a7718c7ce2bea56db755f8a739bce53077c267125ba2cba8ea3c97c4f54ee3aa1ceb2846d5019d2027f52d178b7cc73cb4f72cc30bb6a421e024dec0cfb491e2a62e091f9c60106ce1a1f3d2f6c2cfc5a078431d026072acb24f29b6fa87680afca5627cfe24c1ced9c6368489be78edfe71bc9e8262ebf5f768e51795f9ab2f92f7a0b8561237013bc97f52e2b7ff76136eb7e3eddcd5e56fbf4dae2460dfbab3c50a8a4b3d467c247104a43e6d97ab3b32f94dd709d9cb22f72b5b2e89274f9ce9b2280f8e0c1cedd78989c25ebd619bd5d50cb50e7fa1cfee30c1f00afb04c17af82e0e878f53e8b59ef34f2e3fb771bbbdfde27759cfdabbece737de66179f7f8c3d78cf5d965f3dce4e3b7581ad5974a7ddffcc663b69e13cdbe95f7f1c3b758aad5db9c2aaea46d88a27efb366ff4474edd06abfb3b8d1662e3cdb4696ecb0fbee7ec81a0e3bd60e1b5d62f7dd73bf6d69ebb2c38f3ec696fee61bb6a274a19d7668b93dbfb5d0def7676ff36f12b4dbba658b6db97f56ba6d6ba3dd73ebafada5b8de4e3a7181adf76f378c9936d5d6af78d6ea274cb5171fbadd163ff198e50f9de96fdf63477a5d428554fbd777cad0c6a04a27675fb16990d5a0ae038054036e5c6b0dea615fbb0e940c99b156ee80979efc910a573cc5400aa94c5e3aa4c4848c890669ac37c407a630d9ccd848a693dfcba91771c98ff489214d6999eca4871cbfb495f0901113843e3ac8c8ab2e8a557ac8550fec622c74254716e329be9c3cd9d7e22bc50e422f26f9d95bbd149f70548eeb051e7264aa17ed01e5e2caed5fe9ca2765e163236cf290e471ec318f7c2c4bac123bf98879fc25a97ac8aff0e45b78f0d185cfa63c72ee31099f6b1078260d32b7dbb965bdfde4073f323f355959ed783b6dde18bbef0f2fd845175d64251c4999f1865da2383ce7ff12caf1520ea262ac93cd776db61b7ef9a09d7afa1936bc32d90fc2546cf22d280d7f0fdc7aa33db8e445cbeff109d4d899f6f6f3df6c55c5198c8c51dc36b2276e5116db33396e5447af30af8850bcb998626d7f6dbbbf98aea8a4345c2adbdab8c26ef8c9cf2cafbcda363477da9f5df26e5bf7f80d5632e79d36776c4d168b18425db241e037d3ef33bc276fbfce368f39deda1fbfc346ce3bdb161c3ea1af3dfbd675973e7a8fddf4bb7b6c7751b59d7de1db6dd684fa80a57aa6e3deba7eb17df127abecea8fbd2d9c5388e4e7dffa4f3be26d7f66b327d4795b24131bb05fbaeee8e574e42f4ec3cbe59cc15b6ef7208f9f7e890f5e5cea60de573585485e80b787cdab6424a3dcab347eb566c9a51af3958afcdce6af9fe71e8e3479d5ad6ae8502b29afb469b38eb7114d4fd8f5dff95f9b73cab93661d876bbe117bfb07bef7fdecef5efe08cabafb2679e5ce28d55681bd636fa5b119b6c857f7171d6f491b664c3669b3c69a2bdf0cc93f6bb9b7e63ab1a9becd9471eb3e6a6176ccd8e2e9b3565ac2d7faed1ea47cdb1938e9d6dedbe9a33edb03936acacc8ca2b87f9b729caadbca8dbeebfebb75679d86976d49812bbf3b777dbf217fd53e3de41b7ed68b4671ebbc7d66e2fb2f32e7aab55f9ab57986b1d7c949c08d30701f5f46e9fad2ef2fe061a9d6851d4a08c2e03b30675f8106561c4072bfa22d992822d19fae0c81e7df29ce0e04baf4f3c2e139ef4e54765e4c2140632c52abf711d1457cc1306b6e068a30c21c7ce057dda06994ed2e445600b1f9eeaa578e0a97d63dff029ab5ee4d1535936ac2cc658c8f756af343eba100932d9812d7ce49a289117a95e8a47588a85348e57764ad18f6de33c76d80b0b1be9230b7f1166f09149973c245d52487190b289a803b622f9cbedc7a4fdf98a7af091d18f31644bba6bfb267bf0b76bedccf32fb0b79c3cdf2afd9cb0b3bd35f928999ff89b9b9aac6517afa5f7bffedbfcdde34ebc26a1c3ef6381dafd8376dd513c81e93f9dfedaf70e7fe8c06b6abb5c87a3b0d7576336f9a3a2dbfd3d53be946c13c68df6bfd2fdef457fcd02385bb76ef3f74025f177fb5bb59bfd0f43de2fc54a78a050ed1e5be463e5982947da85179e6dab6fbed2aef8ef9b12b1af3e6ff278db326fdaa62d3b77b53a6f93b5b6778698b894ce7babdafc3b6adc67c81fb46dbeaab1791bf72af6da96e64dd6d69e7985849737376db46d3e7e07ac4eafb7bfb975dbd62db68b3fea776fb31f7dfbdfeddee79abdc36db72ffcc37bac6bccfcf0d1bfb79e75b20d2d2ff2ef14edd0477bad75fb56dbb4d9bf53e4a64c00f81860f81bda57c277f97bb1f0d1d5de663b5d6f7bcb16ebf257c677fb277a7bfd1c04d1765b76ec0cf6c98fd98a271eb7aab173ed58ff76cd37bfff5323ac9d5b36d9c64dfe9141070ffdc93f8bb2d9cf5f3b7d3feef67cf30e5f8571bd365f29f1f7d6da6eaf5fc78eedfe598196f08d9b60c3be779b64dffbe4c1f711afce68f1cf17b4b4f1191b8e05ff3062f346dbbc3dbc13d67909d1175f7cf1c5f05da0a79f7e3abc4538eeb36885bea97e430ad83e224d77f611fc9eb054a5c24ff6d48b179bf19a781a95159321f9b9e54f59d21936af5f674deb5fb4179ebbddf2669d645376adf2cf3ef3a1ab0e7f857295b56ddee2af5e6ef16f3cf4f8db60db6cd9b34fd8b275ebede831a36c84af628c1e5365a3b6e45bc38861d6d8bcc64afdcb8b35c327d989c71e6dbdcd4fd984f1d36dcca8725bb1a1c965f9d6dcd26e474e1b6b5ffbc1af6cf2c46156e42b269b9a9aada3dbff42292cb5dded3bc3b71b4a4acb19256cc5334fd9d2e7d7d86153275bd7b61dbe32d36bcd5b7ca0a05eaac84193fa8dbd5cfaf21dc8c6e0c9c0cb3e0cff7c70d5801bf6abeb20971ea93a7cb0c1ce3708be6c94c2c7263e69c92eeb9776cec4232ce9c89e543ad8a94c8a2e3c9dcce37885a7f825c32e5c32f4b620b6d85f6c239fe843c8e0294f0aa6ec255739d807edc45676f0894931530607222f7be953264ee90745ff49d72bd6434758e49141d8c4fec48717cb652b39322028cb9ebcca8a85b2e2444fed2b1bf464475eab5f310ebe627df4547f64da8fe86007a143190a7c329958a587ae6c11c724fb787f22976f6ce37a81996cf863f292b40d7ad80446ec2093e7259463674fb006ffe85ca5ff71d7d6e81f74cbf7b512c7b8f13fbf60f73776f91855641ff8e03bec9e1fffd4defad17fb465fff72dbba7f348fbe43b0fb32f7df3ffecefffe12facd2ff780ab5e564e8c7edc337ffcc9aca67d885a74fb17fffca77ed837ff53e5be4ab00bf7faad9169e768e9dbd60bc3df4f01f6ccaf449f6dbebbe61b73cb1d576aefe83bdfde35fb6b7ce9f60fff52f97d9bac27a5bfbf8627bff673f670b678dcfd4c9df5e3bb4de66cc3cccc64ea8b54f7df1bfeca20f7cdf36be7dbedd7ec335f654738f9ff08bede39ffe9855b42eb3cb3f73a5e5351c6a17bcf55db6e30f775bcdd167da71d37aed33fffe3bbbf29f2eb26bbf7cb92d5eeb634a7eb74d9a3cdd562dfaade5cd7e8f7de9236fb7a7eff9a5dd72ffb3b6ab7798fdcddf5e6acd4fdf6c577df30e1b5edc64138e7f8fbdcfebf6938f5c6e933a2659cd4923ad6beaf9f6be8b4e30be06336bf62cfff557d0fbdbc6eb7dc5a069e90376d5353fb56aff00ded8b9e7da072f9a67d75cf6057bcf959fb19ec607edfbf776d93fbdf728fbfa55975b6b79bd3dfafbebec2fbff80e3bfead175ad5b01abbefe66bed67f7aeb2638f3fdece79cb29569e99ab16f97963d4e87aab2bd86dc7f8259fb62d1bec866bafb34d2d1b6cc2c277dbc5a7ccb01f7cf52abbfbf9ad76d4c2d36cfee1c3fdf6873a5bfddca3f6c5efdc6157ffcb3f5a75f56efbc637bf6425ed9b6cc229efb78f5f72a2ddf0edafd8e2c64ebf14d5611ffae7cbac7ed733f64f9ffb4fabf61dbdbc6dac7de73f3e6e9b9efe9dfde8e647acb66684bdff2fffdc57469209d4faf5ebc32486d7f4d3fff81273934f18ebebebb33d30f44997a97f72cfe8cbbf413b0bf3b232b969fdcb527fed4a7e28dab0cab2f081be8ab2529fa494245b79897f3938593e0a070b6305076b7ea5bd79e17c6b5cfa84b5954cb00bce3fd34e3af35c5bfbcc43d6923fdece3de34c3bf94df3ec51bfb4b3b9b5d78e3961ae35aedd6887cf3dcac68e1a69d3c7713f4b951d367694955656dbd4430fb3379d759e8d2aeeb4c6f5feb9eb11936cfc983acbf7fb4aa64f1b6793e61d675d2debadb06196bde79c63ece13b7f6f8b96bc6015b5a36dc6c4f1dec94eb4211b16db8a96323bf9b4136deeac71b6c9bf5039c52f0bcd3c7aa17f38b0c016afdc6c472e98eba39faebfbdf676fbd341484e14b941353941d259e16950564a67460649079ef8b251fd284b5f3ec08248d9e0a7091bd9494f3af2216cf43841900a5b79f924ed2f46f810fa2cb90b533cd9082f28fb4fac078f72bca95ef0620a7e32758beb051f5dd9498f7a1103276191f4280b3fb68ff5e0639f26b51772b5193ac2933e656df0149fe4d843f2832fe993c24f97d1612306b581f4544f6ca0341e3c6ce48f3244190213a2ac7a092b08323fe24907bfe2c95ea9e245ce26ff2a93e24f3129e6a017fe2e779b3051e9db17140f31bff8f02df6ed6f7ccd6e797899ff459d6f95e5c5f6c2b227edf7cb4aeddfaebac2feeaf40976eb7d4f58c3a4e1f6c4338b424cd65600002000494441546dd9f30fd98ac6e7ec0f8f3f620d130e099312c6d7a41512e49eb00ac2d756f26c6b7b97dfbab2cb562f7fdc8aea67d829c71ce1971176d9a2154de15ebe26ffeecef997fe837deb8b9fb0e75e586a8f3c74bfad2d9c699ffbd4c7edcfcff7cb192d6d0a37a4bdfed7fcae5d09af70e8183b6dd6087be8fe5b6d59d714fbc21557d8bb8eaab05befbddbeef8ddffd98433fec1be72f567ed84b953ad75cbd6f0c49215e4d986ed7ebf9e8fa9ebb674d9073f7195fdcd19b36d63c128fbb76baeb16deb7d55a7699dddf8b3ebad61ea1c6b7be23e7b6ac90affb05d9b8d5f78817dfdab5ff549d4a3b6bb6cacfdf9b73e69efbbe46d56eb7f84d634d4fae52fefc7fe8670567ebcb72493bcaeadf6d3eb7f65effcd027ec73577edad6def9037b7abd7f44d1572058f167f9a2bd6788ad7ce40edb31e904bbec539fb4bf7fdf85b6cd6f091835768c7faba7c0562e7dd45a4bc7d99b161e6be5aecf4a0b54e47e7ffbab1ffb04f11b7ebbc148abae69b033ce39c3a68c196aabb6b55ae3338fd9ddab87f8e4f0ebf657179f6b23ab4bed899bbfe793a45becef3efa21abf42b0b5b9b5aec5defff985d73cdb7ac67c9dd76cfdd77d8b32d1576c5e73e6b1fb8609a7dffd70ffb84dd3fc93276b65dfe852fdb71451dd6bc76b9dd7ad38d563e66a60dcff3d519ee95cc101f7ce483857cf2802f2b53664b13870dfd36f46befc73afed27aafb5bcdf574c3808d7366db7ca0a9f9c7803272b265423cf76f952228fcd85ebab6127fa89c8bbcdd10b4ef5c648aadae9cb72366cb49dfdd6773ac317b5fc5d2763a6cfb3771d362f69a4bc7a1b37fd987078f36236ffa69ff37b6d7a15038f9bfaa726e857a79c75be7772f0f3fc4345dec0ce9b363ce93c679f31d171bb6ce8dc136cea1c17e0dc77021b4ba0279dfb4effeb8417bfedb6ca438fb24366cc731562e9b279279d6dc7047ddec7e207b9024fc23f287eb9e998fd981e70a91c1d168a077a9583c07fd091bd0669f1f8eb571d9f54a4bc64e2cb9f0677e190b2c90e7dd9a2ab3279f81c60a46caa173ae421f9118678c28acbc9658fc40e3e6ff1ece6258151db8003c5a9e44a6339bcb88ec138f3a398622c4e5ee8a7eb25cc74bd84871f36b0e44f36a4b2238f9c329b7cc3f3d60ae53866f4298ba41fdbc6d8d2532ce89357bda49b8e517cec637fe48515dba0a77aa4e5716cb2511c8a5f36e8a2039f2db6956f7cc98e3c441939b610630a3d03be784110fd70e3ff847967d9df7ff8ef8c3fe576ae7d32f4b18e8e362b2b1d1e2ee90cf7a71d5bd7eeb2438f98679f7afb87ecc22b3e61a7ed7ed1fee6eadfd835dfb832a0b9d7e04bd09c98f9f89d5fefb01d9b365977f170fbcb8f7dd17efac36fd9ffbbea5afbea3fbfd9eafc24c9846648d5189bd830c2ca6d755841e5e9c53cbf6702dad5ea378ffaaa4e5f2af0d568b775dae05f747fdabf6f36b5a0d0ca4aaa02afb661b8b5ae6fb1a28e1eabf73f2613f257f2fb659c8ab272eb6edd6abb7c25c35bcb8a6ac659c3b02adbea3ee6ce9e6cc5257eb9bdc45bc2ef7b68eb1ae20f5194da7bfff9e33679fa447bec9ec76ce6e409965f51ec5f9aaff40988df30edff8afcb514f5be82fec0edf7d8a6f7ff858d2c2df03b7620efbb7edf446f4fa7edd839c46a7d45de9f68f0af100f099755fcc36b565a54649bfd85630505c3fc92ff2eabf7afd54305f9c9a753c87b94f69ebffd828dfecd75f6371ffb8a5df3e57f74ac44deee2b1ae7beebafedd429edf68e8f5e6bb56d0bedb1a55b6c865f261bcaca57f72e1b5e5be7f7e080e4ee7d358b95a9cdc50dde2f125e4f5ea54df05597217ee9a9ca673dad1e075f8ca60ec3dcb6f369bf8ce36dbcf09839becaef5f11f6a74d877039cc2f7955fbb7978e3cee3c2b2e2d4bc0fc97ef30716c6df64b71f43dca6c7d29f4ccec1810fa7ed26dfbaa0d4069bf4d4ca82c33cdaaf2523be7a4c3c3651cca259986565d86f907f672c3175cbeeec875d244111c1fe5fdb24ab21a4199eb9db9b509bf3c243052ffc311139fe886943f2441f23e1e883cd9a09391753800b8611294a8657fd1ebec488cd1e98d7c53eef66b9a22caaf77dab30e0ca49c8c92bad139a1d016519eb24e127478f27d07e0e4e653d92267d3e00e9f932a65f9505ebec2819169632de74b171de98b479ae6a5fd28065230e44b71524606512f30a50bb6e2903ef22e26db2e6383648f8c0d9c98e0e107521b90175f75104f7cca6053562c691c6490f82a0b137f8a47931a61918ab0d32452faaa97da087df921952f30d466e4c5577bc63cec84879e62115fed230cf89062411f99ea1563e14ff6d8c8365d2fecc1034b29baf085a7721c87f28a011fe2910a4fb1f2541f1f1065e2cfa56df1b18b09bd6d997b0e02dfcb9bb6b6da84934fb251edd7da8f7f5d6fcfdef62b5bf017ff6cd32717dbb2671eb031472cb43a5fc97df045bfe76e428d2dbeffd7f6e4862abbe4c21309ca61fc01017ff2f0ba1bfed7363c5d60dffd43bb5dd5bec51e7aca574caac7f8eca7c5babc0d5a5a937b56da776eb376efd7dd433a6d5573abfde5e96fb1c5775f69577f79952dbeed61fbaba32f08a125f5f57171f77abbee47d7dbdc2995f6f39fdd6d1fb9fa0b3667c46e7be0d357d92f6e31bbe767f7dafb2ebfdaea5aebec439fb8dc3a375c6087cd3adac64eacb5fffdee3536a17495ddb5f508ffa3b5d72fdb6ff3f1dbff10f4f3c2b61e8fc7f34d7ecf607ef5283bf34d27d883ab5eb091e5bd56b3bd214c305a387ff454da8eed5b7cf650e41fc0ebb2eb7efc73bbeaafcfb5bf3e7baafded3f7cc2fef6dda7dbd38b9ef1fb76de6605bdfe25fa825a7f027396fdeff7bfebf71316d8aa82a3edaf2734d8e29226fbf6b7bf656beffba6d5bce59b36e6d05976e787afb6e2ad2fda4fbe74995dfadffcc1ecade92b350fde77b77516d55945fb8bbeaa951c77c80a6acaecfa5ffcd8961ee27f0c2f38c657a25a6da9af308d6eebb5efde77879df3e98b6d78cf2fedf3dffcae1d3df7701b3db4c38efcfbafd9a5470db53ffbc86576fd7f7edeca86b5db577f70bd9d3c21df1afd1e99f79f7a8c3df9d56fd98f6fbecd9e7ff84e3be3924ff813a9cb6c8bdfff02b5fa7d335633d64e3df31cfbd9c36badf588d1de267e1ecb1cd323478eb4356bd6d8ca952b43bfacababdbe383918cfbde59b2c749d26f02fc80fff81ffeb90603dd0f308eec7863346263f4d4c684461b17a9980a169d7efad925b7dd7653fb8db7dc7ee989279df2e19d2d2dd424379a7901e2262ffe052f092bfb1b0ec8544c59e160e680b60003696363a395f85f30dc67a281b3bf819740d5b790a70959d2d5123db054266583a79395b0c0115ecc932e271a083b78e89242c20f05ff8963108f54b82f552f74f091a618933cbee537ae97ea10fb935cfe91a95ea46c6a77c516fb532c312fce0b4fbe252315c99fca4aa5a3baa0278ae3961c596c035f6564d82b0e4d1ae043e8c6138684db777f8115fb8af124ebcf5f6cd31feedeea856edce694c10a5f42d71abdf3e4135d2638711fd95bbdf0891d75e6c64e2e7974f8eaf1638f3d66e7bef9049b356b569ff6daed279bcd5b77da889123c2e0daddd96a9b7da232a27678b831f6b965abacbc768c4d193fd223eab20d8dcd36cc9f50ccef6ab18d3bba6d747d8d2dbae37abb7379a57de40367f9c9dbfba8c7dbbbbbcd9e7f7e9915540cf39597f2f051d54d8dfe70c086569b7cd88cf024cefa0d5bacaeaec6b66dd96c655575be9ebd33608eacadb4e57ec968abdfb8facb1fdd606f79df3fdaf1871fe2713301f37b169a1aadd96f5665f57a78c3181b318c9519b396cdebedf9956bad66d4785f01a80bbc0dab97db1a5f551f3b71bad59577db92a5fe84656dbd151795fad39c15d6dcbcc55705eafd927bb3edf21b72875797f865f9cd36c297c70bf276db72bf797373fb109b367daa7fb0d5dbb2b7cc865715d8868d9b6d787d8375facdc3cb5e68b429b30eb7f2826e5bb1e419dbb0a5c52a878fb0a9932658e7cecd36a4a2d62a8af26cd5734b6cb3cf6ba64e9f6e952505d6b2a5d156aedd6cb57ec9839599bae155b661d573d6b86db79fc86bacb2bac6aafdb604efe1b671ed0bb66aed161b3765ba350caf0c75f3650cdbfe83ef5ad398f1d6f1c4121b77f65956b17bab2d7de0112b38648af5ae5862c3def256ab7ef67e5b6ca556e6b7118cbdf87cdb71fb8336eafc336cfd2f7f6279338ef189d03adbb866adb51555d924bf74547de42cdb79eb2f6c69b13fa8b162834dffcbf758c75db7f865a6c3adaebdc59a76b6fae3e4c37dbff6d8f2679fb596c797d8e19fbf2a390639fe33c7279773e8a77cd11ad2b1c44aca57aff91f9b77ec022bf195af72bfa1d35775863c70dfbdff71e9c5177ceff8534e2fb9f78edbb8c3966b816cdcd3cb1a813606666d0c1e6c0c3c61733fb941c899fb6dc5c47d65893b8f9378b2ac24e36c6f9341fa136f81b807d189195849d5b748d974e2918e784a7512401eeb0a2b4e95a769627ff0d365f114879a13be288e21c6d6c94718b10c5b7ca1232cf95019d9cba91758b2515e27633091c5f54247932df984275d6151560cfdf1543f6c21f421d50bb948fe29c758e4554696c68c65e4f90bdfb5b2b12a666c21f98cfd2592be7e633f096eb22f5467d5055be58589ade2120f3d786c8a493ac81497644a65074e185e6138c9a7f0642f7f31b6f2d8a0c7be177ec0a50f24b07bfc16969459c3c8dc327b7e51b94f4afc467cb729adaeb3238e4a4ef0cef07f05d630aa21c128acb6d1c9f9c6c6ce3ac12e9e935c7a615202e51596d9b4198727ba99df51e3a6d9a87139d648bf7c03d5d6d567985536d2ddf5b66db0c71ebecf5637b7db8c375d6447cf3a24c8c37b593c573362946f19134fd45695c347da5cdf0279fc3ceedb70c864df72bab30e9f932b784e3764160dad35b5c2a891c4435f2eb4c933e7d8e4ac85dfc79891343424ed5038d4db688eda28df261d36db2665f5cd4a6a92ba81367eda4c1b9f91117365cd283bdc37113a0de3a759a685c5f67488d58f9914b6c0745bef68d6eb4ff2543dbddcaa4f38d56ced3a33bff1b57b7d931d3ac123f6576858936f9dfe54903ffe3df7cfffcc6cf1d37e8af74b6c1b5eb0eed56b6c64af5fdff1d518ebf47b35c78c339f259a3dfca075d75459f9f28d76d4fb4e377be63bd6bbbed10a162db7ba29b3adebde076cc4fcf9d6bbea799f2cf7da649f2899df87493c8132297d72cfcb37890abf7ea464c636fa55b20fd577725a03933b201393bd1d707b3d1207a6ae832803d5020c20be31a06a30d540a30157292ea5231e760cbee2932a8f8e4ed06150f323209629af147df04875024006e9441e0afe23be6ce163c72619187bab576c274cd90b0b1de9c5f9383ef290f4e43ff60befa5ea15630b2b80667eb08ffda86d10cb5f9c976ec63c24f88f75c010297674c4170632d92569ae9fa023bdd80e1bf91336b6c28a7931b6f8c2a4cc06565a263cf9f14070908d5f72c518c7870c122679f4284360c665e9914a069ee20a46fe23bd10bf87a31339a8ac36f44fd431f19fc87365f0624c7a9aca1825887936bc2e39b9524e7a2348b4456e254af591bdca4a693f6f812496b2067be75ffc5db067852441cb612b2ef8d8b3059dbdc49bf5e94a3cb62d7df9560a86f2894e52ffdcfb3a921ae24e988a25e90749fc2116ff094f52ba3f070ded927b5a2ab77f33624cb2be4321e1601a487e882b89cdf52bfd3e972f7f3199cf4e9e1c7cb0ee9aec17cf1c3b3fd8e6cf3e3ce8e47de6f250b67ffe4cb85cd17b64df495a10ce9b97911d99e07ce68a04f78acf8472c1cc9921cdb3f9612522f83a6a6ed049c073bfc40c29de9c24c9c10f2aaeb6379db4cdab291f9089c9ab0974d0e64fa705e890e94e299e0673a2851797938120a9070780cae160f08359e52cb6777e1d28c2238d3155ceda38031b95c1a42c9c38557ce8481fbc98e0b3c94e31c63148073bf4544edb48267cc9d197ad7894f12199e42a2b95be52f4905166232f5df1a51397552fd9c53ae4d358b11c99ec635de5634cf148216288eba958b181e43714323fe8e34f3ee37a90d7a6b884253fe2077c7ee87b7e5f474c603341563cc8d2b15016b6f2d2896312aeb0fa93057caf57b00f97ba9393a47b9579d69718f29d2ecb4f2c8ff3de448ee5bebce2d913710644b61465239eca4a5d211b1d3cf49277b13081653f80910186032343598c88df2f2f92632a1da5fdf312dfae8dd889fd94c96532c412632025ba2ccff512931c9630a26ae4f4137810b2be60a9ce59dc84191e9e5003294a44599e3be1010b95490306ce154830486cfac852baac426193f6d327266165d23d65d48b1e93b40737f48798e225c314c66b290e4e4c5e4bebbd016de9dc6c1c70ba4990bc06fd6c9364c620ad5ad0a9d12165d0175f2717407530c48346fac00e07870e3c62e160e1c0cb52eef00b3997a313632b5ed94a06844e48caef512f17a04ffca4c821526cd9c4535cc247a63c32369549fb2b832d99f2b18df2319e6246a64ded4d5971c8165c2896a90ed289eb956827bfaab7f4421cd433d32ef0d3f58aed958ff5c86bc32f0486ea253c74e2fda07a0993141d28c495696f78aa1f36fc938ef4e50bbe78e9360053241df154561ac78c4d5c2f5dc6f128b3f526cf7f7d695bfaf2f75a536eb055f48af9b562ca1e6c51d444620da6b4801a4669dc2ae2fdb174a06c629cbde4c37196917148717cd3b7e37dbd17d357c51e9c98bcaa667be31a8541cc3b248329a4418d81b3cfe04be7cdccd1e14b267d067e0ddaa4d8271d3db7ca223b9d44d4ead2957fc9631f219f3939a2a7811d1fdac48fff3256bda4af145dec942aaf58542f618baf3418667e542f61c432f94347f5128664b15dcc93ef189f7d804eba5e8a37f6237be2914ff21a1f918b1ffb4007ea8f97487278d8ab5ee8c798e85286d0138917eb2aff52f542473e94a70c894f9e78f656afd88ebc28cd97bdf84ad1c797ea9cae177ad265b5013d067b7d4e7e87bfe194b777f2c6d1d856710ca6832db02f5b80bec9a3c6dbb66d0fab6bf80a8790ff84a96d785267e023189c980c7c9b1edc8899c15e03715cd96450cd0dfcf1604c078f893218d241a69386b0913153171f1d649c8c648b1c920eb8f0b0158ee48a41baf0d15399940dbd388d75622ce14b17bbd85679e422f2c49f8e5bf54aebca9feaa314bef049a51732fe830fb0f807a5634506564ce2115b8c0d3c4bffc8e14b862d3ca5da2fe2c14fd74b6d290c95b1d1d69f2fe967eb95f1ab7a8520fc070cd54b718887ae083c48bae4e5837c6cbbb77a612b1bf28a055be10b4732b021c9c92b3e78e1925226853fc4dfd581ad36f40769b005f6570b843ee9fd8fcfc5680457ffa63c246fcf27130722b6c189c940b4e21b0a83c13259dd8807573541cc430f8a0776c9b39ddb07619d0891c1f761db07ee601a7e625d18894e9262a389485aa6938ef4e55b297c744889556570642b5da5b10fd50b1e243fe475a2521e99d78aaa6529f03c7e61abbd5080a77a911736a962434f18b249f390832b1ba5f2a95476e8a64ffeb10fd52b8e837c7f04365bba5ee80b33b6556c0956d250d84b47a930c1950f52289dca466d898e78493efc86f681cfa638623df98cfd491eb7af620215129ee2924d8c97e361904ce6b80996fde08f65867e50e9374d0ed2600b1ca816a8acf0fe97399ed59795ee8b98062726fba2550f6acce4fa3c037d4c1a80e39310bcd07933e7ad6cd90d3580c36300862427e50c2e9d208c7e12798e818ff82021cfc94578fdc6e4e669b94e4839e4dc89055dc5233ba5e263a7bc64711c81d74fbde0c7a4baa4eb854e8cf752f5121ed8e97a81ab38d1535e312b1ea5fde9280ef90153fa8a5f78b18ef2fdc5844cb1612b1f693c9a4b72e1c5b6e8b3d147491557acabd8c2bd168e271f9a94c94e69ec4fb6e0292f7b52e591530795d195be5261389267935885814ef2a8756ea22b2cecf646d8c5848d78edfee869873f6afa7a226a53529c6745fe5a7ac8abe3f509d9c19f7ddc02ea3b7c4d985ee3bddb7fbdf1d9099ef7bf0df6090d4e4cf649b31ecca0c988a0818e8ecb894d2711f8f0b4d1123e1c87323a9c2cd0d70920c8dd26c6100facb41eb8e0e864aabf841587e4d84a879b74c98b5e2a76f956aca490b0e27a0581ff10237262210fc987ec0233c34726dc585738c878911a843ff4d9d416e4c1edaf5ec8d416e0b0c53c3074c2969eea441a93fce9a56ec8c082542fd9c0971ff9440f9eea257ff0c9cb46fa94c1955fd92b950d8fb4ca4698f20106b2383e7462926ddc0ed8094b18f22b99ece02b4ee1a293b643df994157b2384ee127f126edca0b2619f03d980c74c28ffd28ff725260f0ed2f94b53fbcd86d2bfd8379f95e2ec81d0e2f0766c074a8153552fa728077fb4bd9b83ff9d0862176e8682eedbe1cab419d57d3023a56e8337d29d96b5c5a14710cec2b1a9c98ecab963d9871539d96ceac8eac8e4df5c5232f1d06619d78625df2eae8e8a80c0f1ccab13e3c3661698222bef4292383c8839d9c089289047a9425970f74c9c778412983a3bc7448b949117d487cf982471ebeeaa954fed181e08ba77a898fbd28ae17fcb82d627dc5044ff58ae3104f725211322640d2d78955f592adcad2830f8fb248baf0b2f5f23cf58df52413bfbf7ac95f8c4d3ee6cb1f7cf2227c5106973c7e542fc9e41b3cd9c213267c4832e1c94eb8a42264b283a73c7c2819f47969a6c71ac51b84991ffad8f6eddbfbb497e4f8e28d9dbaec83676038b1ffee697f7d7c6f9e4daacff73796f21c92f7fb4c3bc87ee0538ed9a48d427bf87d0aec05e65e54b98709c71f25dac2bfbfe3dfd059b2dedfa6baa3cb4e3a74f0b4f5479bed552aa83ff767ee53ec30610efdca7720fb347318f4a7fe9a78837bf83535df1bd1d83ba30fe83d3ee2e9044207d580adc1974157725a4903367a695de4e291aa0c46cc1706a9f841d97f627fc824576cc8c9b31117724e46f245aa722c0ff5f11b3f796c135b70e041941553ec33d864fcc5726cd08beba578842b7d958989150bf4644f4a595894d157dcc824970e65b0d1d14a8b74623c78692cd5072ce5c1917d9c2a2f0cd5035b364d0048c1906f7095474f79d923075bf8d822539936e2a42dbd18032cf9c62ead831c9e6216267c91788a073cf2a4715e3cc5072e247b74d36564b447b8e937534f70d844e840bc327cc9922576e8a187868fb6610729864dfef13d3ec417fc843388d983cb1cdbfd4eacf37defdfb86ae76360fea1ba827c9f74fa8747fdad6e8ee0ca890bc092550d7c86783340a19ca806051c071175ca18abecba430abcad5dc2875a0b7d32b4737babbf933cdf5f2d9f7c74aed4e3e4db3781821db908cbf379bd5dfe955bff38a1df63c36ac992755db6c8577e8e1847ffcb8497200cfebec616a02fe98bc2f421f5dd2cacef9ad08f9d113e63e07d433a7c9766206970623290adf906c162d0e3444047a66326836a72a2a40990b3693026d51606cc4c3b49ce004c9e746f270ee92a05827c4cc281af034672d9814f9e98d331a21b4f02c0009354be64231e7c61cb173689decbab1776c257aa762255bdd0935ff222e4d40b8aeb253998922baf7d279db85ecaa31bf21925d54b31c9166c641032085bb69884072f8d21bd58074cea1bebc698e4833c73a32871ecad5ef219dbc7b1924ffb519bc99614fb18433c521172e28829b649d7ab0fa63719659ecea12ff6477c60ada4a424f8609249dcd8f05867917ff956c4aed8b2b3d71a77f86bc8eb0bfcc377ddf6c4bdbfb2f59bfdd266e7766b98759a1d3163827f71d77d62e4fac9def3c9842f6be4abdf337171059fcbb81ff65d92c2f345981cc53a6ed2b66d8bedda9def6f4dafb6a71ff88d2d6fdce21f71adb0fa86b1b6ba71abcd3ff54d56e9983455c645c601febceff9c4c93ab6dba2bb7f6b334f7d5b886d6c4dbe2d6beab169237d75c8bf65e32eb331e70219ccbdd216e8ecec0c1ff1dbb2654b38a66a6a6a6cecd8b17dfa202fe3d331c2bd59f405ff9328b8e2c3380349fdf7fc81f4308875d0b58006422ac620cba0084f7c9591c18b89019b019f130a72883c24fb5048fd081f36f8505a3ff6276c9d34e54f7cd9c7f1a103b6f0f90b567ae2a30f468c838e4e88f2833e076f6c1f0aa91ff9146e1c8f54f1253eb89475d2143f8e079e36f8f88072f5cab51f7cd90a1b1e0446b0f77cdf7a25fb147dd9902a166ce55318f062b9f8310f5fe97ac9072998e8cb56e5e4ac9aab877ca95e94d93f695f60ca1f79d9298f3df9d82eae17b258ae3c76b18df8f094970e65085cf2fc0baf74f726962c28443fdbb66d0bdf8be1af5bad7e81a70fafa10aacbbb3e61dbe5ae17356ee31b1bc2e6bdcd468638f7c8f4d1dda6c37fcf0d736b4fc025bbfec21dbd15668734e38dd7ab73e670f3dfa944d9fbdc0f23bb75959c314ebdcfc82f554d4db8e171eb70ddb765a59f950eb6edd6815871c67d3c7fba4e3a13bacb76ab2cd9c31d19e7bfc1e6bdeea939e29479b6d78c07efbc866bbe0bc936dd1d3abec8cf77ed02af27b6c47f31a5bb6aac976b7b7fa44e937b6debff53ae398d3ac7bf38b565837d17ab62db7bceaf1d6d9fcbc7f70ee49dbbc29df66f9e4b3a3cbfb8777e56eafdc369f7095d6d048d48b1a0fd26b69013ece4a1f9a3a756a8059bf7ebd356d6cb251a373df05e2d29ffaa43e9dd0c5ac721f503262ed03e041c883bb05d2037dbab67472fee263c0d50984b4bf13816c3598630b650f82cc80ae722cd3808eadb0c96b8b6dc4cbea327a67487ad40b422719dc73a31e3c62c30f5bba5e894d82495ea47c5c2ffcc5fa71993cd8a2b85ef024930d3cb0d8a40b0fb9d2bef5caf185411ad74b7583a7384963924fea259d188fbcca8a238e5db10a379689271fd2158e527cb3c956f1c9afd2745f040f1be4a2b44fc9c274c1f524976fd9c90772f26a33c9633be5f14d3e89236a570f472700ed33e128557b53a778034b314b377467c76462d2d5ed4fb69456f9ca478955d64fb1c97585f6fb6bbf68d513e6db9cc31beccedfde6877dd7aa7cd39fe1c9b3675a2ad5ffeacb577fb6597cdcdc65fd2ab5735db54ffee4a73f32a1b3579b6ed58bbd41eb9e7f7b672f506dbb2ec096bdeb8c6d637f9976d671d619b5ef04946c9183bfef813acd49fa629ad9d6995657ec3765e81151657f8c7e28a6dd9e2fb6c73e1145b306f8e3d79fb6fecc555ebacc30fbf765f2559f3fc63b6ecf9465bf0e68b6c745d9975fad344dd7e198a8dc988eff2411ac016e8e8e8b076ffb27575757578449d4b86edfe85eb3471b48461201c379472e3545af7b594f70dea6b8968d0f675d1020caa0c900c841ae0b5ac4c05182463421f5d6c44f084232c64d2d5c926b609721fd435b053963c9d0a0768559c300000200049444154bff2452ae2b04226397cd98095ae177a3ae990973ea97c8b070e3c36e10b5bb10b031b0839323648984ad11796f2e861c726924ca9e494c192fff8c417eb088754bec5c35638c8623be1c67eb14307191b24799c0a2be6092f18657e62392cb021d5853279f4141b389463c25fcc4397327c3628f0fc2ce8ad9be45d1edba0a37ac91eb97090ab5ec8e5335d2f420b76c4247f6eab153770622a2e2e0efad4134c52e5633df245857e4f49176dc249ddac754b9335f99767ff70ffef6c437ebdcd9e7fac35afdf6a4d4d3bad7ae8501b5a556cebd76fb12ddbdbada0b0c7562f7bca9e7b7e894f96865851f568ab1c3ecaca868eb28aea06c7ecb5f2d232cb2fabb519279f6be5c505565c7a880dab19ed37dcfa1f261ee7fa0d5bacbc76b4b5acfc9d2d7aa6d19ad6adb7c6b5ebfd66d66e8faddc3a5a5aaca979bb1596575991af8aac5db6c4962c7acaf20b8bada7bdc5d6ae6eb4b56b367b3da9834faefc96984eaf8b5fb51aa4016c012624acb8ad5bb7cefb4253f8ca705555551f0ff451df4581babaf803ce2fe967c6f981de1d839772fa34fd60e18fb58086773a29c4200b696066a08c4f04d2538a2ef2f8e4a1bff4d0212f9970497d240e49163b732281894d7c0280277f8a0b1e045f5bc24962e715e09c8044f2a358894971a2237ca5f0e44bb1481f1d64c28a75c943f217e3c113163ac2179e7463be78d227953e588a49d8e2a107c95e293cf021da00c256f6c8c064522a3ffda5693ccad213becab1aef4629ef44330fe834cf5424659ed16eb0a0b3bf8daf6562fead8eb9f89973ea9e210aeca691d61cb262e8b474a9c590c8f897b4b92326daea30dcd1c710261a5847b4af4c700364c58b80198bcbef03b72989fd057f6fae4a4db0a7bf36de691a7d8f6ad2b6cd790223bfed4b3adaca0d3562ebec75a3b4aede8f96ff199cb6a7beea9c76c5345914d9cbbc0563db7c426cc9e6775f57536bcacd0ef4729b0c913a7fba4a5d8264e9f61b50df556fdfc03b66dc33a2b3d64b44d3eb4d8baacd0a61d36d5868da8b109dd0fd9cede6a3bed6deff6cb320fdada921aab1f33d1a64fabb29a86915636e45edbb8a9d58e3cfe542b6cdf602b97ffc12aa6ccb53153e7d888ea126b5cb7c2669d7472b84996495b8bff115f5ad06bc32b933ee94d364803d002f5f5f5a12f6ddcb8311cdb0d0d0d565b5b1bfa92fa3af798f84113fa2859deb1a3f7ec0cde6332003b6110e235b4800f7a1027020674065688cecb404e2a5e76c00d1ac90f729d08e084c13f8319cb627eb0cce0a2235c52ca6ce8430c5eb2959c5431a1833e249c50f66ac856270bd983878e30641740323fb11c9662201fcb7402850f49462a7f4ae165eb15b591e4d8d396e841a46c8a93bc62553c94635eac2f7e00cbfcc472586a0b746399ea250cc9e437c684c79650eec42f4cf8d4010c885478b10e79fc42e4d92074852f9ed2a090f949db60074f296dabf8652f1910e209533e552685a7fd41395d2fc9e5975e08c575088ccc0f7cee31e12f5cfd452b5b96e2b9895171d01c65fe62b2c3470fb1fb5fe8b6a923f2ad61d25cf362a0f6f66e6bef2db349479d1916e47779d92ac6db9c93c7879509bfa5c3662f9ce4f5f4550a7f295bd5d0e1d6b5bbc7468c99e2f25eabaf1ce697587a6cececd3827d879f9dcaaaeb6db71bd68fabf2b4d7a63b76a7af8ef4564cb3234f9a16b0c08576bbedc899a7da58dfcd1dfe38704fc9789b357fbc57de2fe7b4f758d9f8636ce464dad9fd3b4687e3adf0f7b09c35d32fa5fa9feef0bd390669005a807e3566cc186342425ec7550c4d3f0b9b33f3fa1cc3b1d6c0e407574c06a61ddf3828de69e99c0ca07460b6dc600b3f37188b8f8e06e0c42e19acc5530aae06d57830979f001efdc4bec907f210c2ea47c6a73073ba3980ac8db3d279ca493d73b2384e50d0911df14a0e4f75474f79f1e189545f9515af261cc247ae78b0218f4c79c9c457593ee318621979c51df3e5375d2fe9104f8c491ec24e98aa5bcca35eb20b067e1612a6ea82bef292912a26a5f0e457be9522937f7454c6962d9e7488871e3671db63c7864e8c91e6ed59af647f492fb62746f8711afbe5c4ac8ff80525ffc11ee215f5471d75548851f10641e687c73c4519133bdc1faddde5f7683cbea6c78696fa25141ff5f9eb975515af95eddce51307374a5659ba6c7b6be6d8761e379942c854975e9fc064ebe3382dd87b7860a243dae28ffaa0b3a3cdb1dcd67afdfd2b40856a247581dde2583445f0edab96db33ed9294bdafb88cadc32f47edd8d563274fc9b7893ec10a50094c886ff067605a8095b8bd517c69919e0365e6987b3379d5fcbd47f1aa21070d0fe616a03b3288f2f64d0d54d49741928148293a2a23972ee30efc0423e9d6c820cdd2c1903eba9207a5cc8fb0c18949fad8b0c98ff2c2522a7d52e5639906ffb85ef8e34404a12b5bca597f3e74e6673e70052fc6963eb6f2852d24bdfeea851cfd3826cab1ae23ba520e07f91f5bcd88eb465e7e1427657cc4be91a5eb851e7c085d88b2f0e1c5984121a3236cd9d3beea0fb21326295b5c2fe162a7f6501e3d6290bde2520a9f576eeb324aba5ec815973028bfdc7ac536aa57da5e3a1c57c411e4ee374dc4c6259b574ac74e2eb009b53df6dc861edbe6138ff0c019f8fe9fa77203652e5b316108b3014f421e6146160c286318887eee99d06d225e4616ce5f59dbc422679bf18d19b30fa73efe1c7788b379d9e8d85ab3a90d055653911cef0a39180dfeeca716f0e3c0ff85a7157d07709376dfd177e0c2189c980c5c5bbe2190183e1844192035d853d6c01d3782f434e822438fc159fa4a91a1c7961ef0e1a1c7261d6188a7143944194ae3c95e272fd94957762a9342319ff8b097af20a73da27a717281d0910fc50c4fed176c3375537bc2d34957b6f21597e1c5f8c2e56420bd380517121679c9d3f5911e7ce21651c646041671c7247ce951160f7b1172d92a0e646a0752e9d01ee4d94460c66561891fa7d84837e62bcf802b39baf0854759042fae8374621e38e293070b82479ef6d46449f5c25e2fad429778c235fdec04006edf7d9770f6fc8d7dd25c19f7563f7448d8f6b478fd70d49671bd5e3fd1bf9e234d8e61dadf8fba50117e33f3c901afd8e0c464c09bf4e006a43386ce190db66150a5c36a048c9a20d6151b7d0de47a0f437c52d0602d5b0db494c9cb9ff0e2938570e0c94ebeba39a9b8bdf84a637be53979c82e8e433ee18942decbe883c9a6933975916e5c2fc50786e4b13ff88a853c9890ec48216cc4537d94c6b8c28aed904b07ac384f19921d986cd40bbdb85eaab7f4e59f32ba71bd902906e4505a1f1ef8e8c93e8e4d79d55d2976e4914b075e9ae48f147dc5843f96b2652b19f6e2294f193b61894f0a2f498925b70205beeaa5fe157043bc898fd0366ecea51c677b7cc93d34c4926026d8a1f0123f8a21b17909c5d799e860add79ffa6ee0cdd7fa84812ed9d13f7dfabe4f421f9c98ec93663db841194cc300ead5d4c00c4f8327796de2c52d225b78c8d185949207173dc9631cf490c73ab17d2c8ff518e9b9690bb974940a8b327e29c77a7119fe10261cae27927d1cafb04845693dca6c90fc81410c3af9cb5ea96c8495c6161e7cc513b7397c6121d764039ef4d181e4433e25179e70a49758257ee338d0c796547cd90a0b39241fe4e537d865d7f973fd4eb6e84260c6f540ae722c57bcc227557cd2231581810ea438c983af7825574c7a6221b97763cf1b0ad197ae471efe25d8eafb79b675eb566b6b6b0b5bec17df8334d802fbba05e8f73cfdd5ecefb20913127aa9f320faf5cb9b26bff228072726afbccdded016744afa2583a4560534a8d3301aa4e3015b833a320dc49263ab8eae864d7c247f95a3d79f0ebab11d3a22f9934e3a3eadd220971d36f8d25fb492e964a018140f8d203fe97aa1ab2d8e31eda33f1df9c1bfda887c4ce8280ee2653f2855bce80b4b7f9dc30bf17853e952133aac12a0433eabe3194d8c621e3ac28deba658b33c87cae61d4036c28ae38407a1030e841c7bd52bf8d51272264ef9445fbeb04317c2567894d1618b75c443378e117d087b64a2b48ecaf24f99ad2fe5caaab7eca48bbd86f97049d04b0cff65656561c34eb67db1074b832db0ef5a807ec9c4a4cddf329c1c2bc9714a5fa5efea3d26031dc1e0c464a05bf420c7a33332538e4f0ae4e9b40c9c9cf439d1e98422be06629a4779ec12bcdc844532ec942785c4135f31c0970c3de4c8744241265da5c42a3bd9c2931c1cf2c8e0ebe40e267c9dc8158bfcca1765f98865f2094f24ffaaa77c094b7cd50b3bf98d75e1c9a7fcc053ccc854172e15281feb50374838e491436a0fb52b3c64b2914ff84c7cf47494ece358b1115f186a07ecd185c4936e1f1f997d889eea086ed23f93bfeae07339251dbb70b145863fd54b3252284ed52ef0c843d8c6f1c1a3ac7a298f0dbaa4f2258c105fe6af5156f582adeb1667be7dc3b7710669b0050e540b70c375f2544e66b5dc8704faf26edff605e5ee44db17e8839807650b3068420ca6220dd81a68e16b4026afc15d3ca5c8f49228f26022439f4d7964694a4e3a7df56483ae7c0a53f1c2d7323bf88a5d31490f0cf92715494f32e9c57cf21cb8922906ca8a4b699aa7931672f98875159fe494c9b3c53ed3fb427a8a53b151565ea9fcc987f8aa97eaa35814676651238b17e3c4f50a0afe23b9ec952247a698633fd40b3d88543ae23937f0557f3de648593860e7e4b94904f234a66224553e38f71fe1802519f6e93ce598a738e2d8f5348ea38618dc245cd7c797f4c9c758c2149f7490065b60a05a40fd2bfc91112eddf8b1c22555ef9bf4731f3d07ca551f9c7d83dac7c560e1606b01064906620deca4a193664e16eaccd45b3a1aac4921a5715e272e78b28b0761d96890961f74c94b2e4cc9c527654b30d14a4878a4c8e59b541b9ac223958ef084ad141df29074c5930de598a738b0818f9de4f02061be543e28fa0f78d80b57ed0b06d8c242078a7d2946d278434fe518437c062cf9941ee5d887da039b34c5312093aeecc1149eea17bf7b218e493631a6ec4921c5180a991f78f22b1df914967054261661c658ca4b8f723a0f2fe079e37102f09f900ee18b75fd10baf2a514b538df8fd92b6611e7de282d7b09d5647f454069db4834983dc02dc0bee97ffff871e7fd924949e87f4c4e9c32c980473d782967c09bf4e007d4094e350db3e9ccf7cfe9b40cd2e8c4833b9d1d993abd52307432e1af7dd9c47ff9c776f219db2387621f699ee4b28b31f1095f6900cbe0c5fa3ac12b4661f697c2c3075b522ff2c925219dc4e218d087f017fb140f5d11fed318b28b31551fa5c2258dedc9c38beb054fb4376ce9b0afa9638c89ade4c2519918d954965cf5a2acfa2a6695e33e229e74e23891a5cbe08a17e7a50befffb3f7e631765fd79de7a92a168b64715f458aa2246a5f2d5bf22e5b8ee3b49db8db499cb8d3190c7a7a1a0806dde97fe68f011a98c134d00106980533c074d03d83463a6e343a03678f936e67759cb665d972ec44b6ac9da2244adc976291c5daabe67ceeef7deaddfae95196cd2ad922df217fefde7b96ef39e7befbeebdf57bbff7fbd57d455ec4e858b47fda71d306d7cf455b6e5ee8b463c627d4d874368cf9fe965fe3a47e2f3a75ea548989bb7472b7d7b5f9750f777ce576e27bf7ee2ded5e76df0f0fcfdd58a92fb75626b72d974fb9a44b3ea968bbd3ac55fbf51f720ff8def40e23e72636cde578e38d786ffb37cfedbd257ff3f67dcd6bb2079ac9c549de0b29e90a275f4a276ceaca9ce4eb8d0b7a1c4ce07e302869a347dd36bc1a0f3eb6e2d67e9141e2ab6ba92e72319151e7d0ded895a95fdbe8bf9d17fc26af6edce0b4f3a22d5e09ba1337f6c6c3d74fea188bf8c4240f1d73569f18cc83b26e6307159bcef518b4e19b2bfab58df9c2c307ba1cb4ad539217641cd6cd0b1d7d88838ef8f03cd4b3d49f9894758cb421f4b5d1873cf48d595d4a78e842e641e9d1ce0b3efae6855dedd3b8e049e263c34f318b7e4efacda6a05ad0d340dd0bf9d0bbe79f7fbe6c489e7beeb978e69967e2c9279fcc27fe364f007ef1c517855f2a17e6e7f2eb52af0558cc5bc1e793f02e47e69cf233c75e8bf189d9ccb9eb1fb389f1b1387aec58f87c9499c94be5d7435333afc79d9f9d8ee3afbd9a776dcd87dc14a0b97c88e0b17c8a3063266f4b3f331d9369dff474de7a7eaaf7536d2f176e9fbf723dc013858f1f3f5e0e9e36dca6f21ee59b56ce926483a192c37555a8bf3159956ebd7a411987f339d131893ad93a69323943ed363c7529b1e5a827716c38cae4dc991cd513531d1775f8107ee59518b24d591ffa57bfe8756ce5110f87baf8ab31f4afad7694f837de3a0764b6b18728e159b78d5fb069eb175cf999e912bf18e78b79d3d6c6ba2539791d8ff8c820db4b3e3b1789c0afe5e6869e447de9c8a5c53a72ebd881459cf02478f6b3bc6e9ecd78a18d0dba1cd49b9fde3671834d5e84ac5c2cdb6d7bf810258779511a1fa507bad4914bb6b127af9ae0990775a82e95cbb70fcafd753abae0f39e953391282689c1d99183070f9633243c2be7d65b6f8d9b6fbe3917f7c9d8b16347f0303689bf6ca117bff3a7f14fffc5bf29779c38f1dd2fc63ffd95cfe643fdf236ef79b6255d2dd11c1b968c797e7626939e8fbff9abbf8cc347cf15b9fe232ec537fffa6bf1a5bff842fcd61f7c39e6662ec667ffd5bf8e3ffdabafc4cba72e14dda6ef1ad8232f3e195ffdda63f1ebfff63fc6a9f313f19dc7be10bff13b9f8fcffdee9f97cdc8a1c7fe73fc4fbffa6b71b1a8cfc7973ef7afe357ffe08b9d1bc976fbbc41ebbfae560ff093f423478ec4d1a347cbc6843a9b93eefb9e43239d7b5f1e8636477dcb84958cadbf3159c9debc46b09a8967f9e44deaf019c8f562094f9913b69379adeb045d943b2ff2c0d086ba8b847217157d31c943f0f1c181ccbaf6e8c007470c7962515a27067dd67c702165d4ed0364f0c5a8f5e06953e3b579dad6f15bd70e9b5e7929c72f75fb444c4af302b3d63776b039dabaea83cd2a53c75ddb88094f1b7998eac7f869ab476ce8aac7628b0c62f12e946274b48147db18d4d7276d63a16cebaa2f0e6d0ef4206d6a3c6de4a1074f5dda103cf2948ffe1276a695e294675eb822af62d5bca0cbaf23f8da860d0a5fe57006855fecdc78e38d71fefcf9a89f95a329f768fbb7ffcb67e3c8d88578ea9b8fc6d8643e03e7c4b1f88bcfffc7f8779fff8bc4381fbff17fffcbf8833f7b2c5e7cfaf1f83fffaf7f135f7be2d958930f00fca3dffaf7f16ffedd6fc42b63b959499a9f5f1b1ffee827e2d33ff1be78e13bcfc74c9e8939757a226ebaf39d71c7f5dbe8f8a2471e447fc31d0fc6a77fee33b16dfe7cbc9c67789efcf6e9f8e55ffea5d871e16bf1e4f189b8f3e147e29e035b63aafc813e14eff9c44fc696b58bf98462a8799f4bb5ffb2aa3d702ccf624177dd7557dc7efbed658c9d3c7972994fded9fc2494b7d871c9e77335a8bf31598d5ebd8a31992a9c704d934916728265e2e5602255a62e257fe522832cd1c35e7261a74d9d45483cf45cc4e0d3e670b217471d7d58ea4b1b7c88a1ad3c4b6cdb79a10b5fdcf2576ee60dc96be74f5b1ea5b8d4c133664a64f0d42fc0f9a2cc3625ba62b46de4ab8fbc3ecc8b525bf03ce0bb099007668d6b1b1fe5aafd2cb1910f06d4b62fccce8b71d0549fb28e559fe0f49a14d18528d1a931b185e043c8cc8b367cf3a70d61a31fe3c0463d6c3ccc1719a41f4af3b084279e39710d52b23bfd4a0ecba76771d98cf07461888d0ad796b05121ce89bcdf04a4ef525fb3313717ff6dfcceafff5a1c5d7b6b7ce6ddfbf28cc97cecdc735dbcfadaf13873763c9f32bc2f7ef2a3ef8ec77effb3f1897ffc4bf1be07ee8ef90b13f1899ffd85b8fffacd71e4d478c11d1a5a13b3e75f8ddffae2dfc63ffc27ff55de63654bfcf7ffe32fc7cb8ffe5e7ce1af0f1374c98b4432c3c84f6e3cfa679f8bbd1ffd4c3c70fbbe183fbf10c399d7fa75f331c163868736c6968da3f9b3e8021f1b376d8acd1bd647d36cdea746d27f5dcd1e60eccecece96f1c47d4bd8fc96b3911da765443b6693c758e4dde12bc8d5a0e5237f353cf431afca1e5836f17506ac892a63c2752246e686c405427d06391f0c75cba04f4c7810781ee840ea505a57a62e7a602097f46d8cb54ead2766cdd3a6ce0b397e91c1579fb6326350567fe0c5347674e419abf8c4aa4c7df3125bb97951d698751d19fa1efad3061f1cbdf2c2c63cf44d9ef0f31d2976e0c803a3eda7575ee8e8dfb21d1798ca4aa5f5623cb0c1d3bec4d679bfc0e89517368e5371d025d6baef8c5d9db61ff3a0f410031f503bae72bf95bcc6876bb69a5ea02f5f4fdc748db323d0f6eddbcbe3eaf92a87b8bddf8971a17371e262dc7eff83b16ef662dc70f33db1636022fecb1fff7ff1d5675f8dc189737126b146b65e171bf2cccb813bef8d6f7ce5b1bc66e5448c2fae8feddbb6e583f4ba7f48444cc5bffadffe659c8e6d313c7d21a667f2aeb4796dc9ba756bf341888b317eecd9f8da932f351b94f4fde4577e2f7ee5b7bf1bd76dc87e1d188e7d37ccc6171ffd6abc30b62f6edfb9292e1d3f14df78fc6b71e8c5e6aff3579f7f3a1efbc637e3d53c0b933bdcec3b32e8d36af7005f03b2b9e51aa5575e79a5dcd48fb1b59cd88ce41bc2a05ce5f7a5ffab9ce53ddf6fbd891ee02f33275e2740db98cb6342a7de4b064f99fa941c4efafea5ea848e4d8d852f171774a47ac287878d318b818e36c8a8cbd387f1d5b8c8da79c1ab7d9a8f76e6851e7eeabcd4d1bf6df0b0c39754e3c0c3c667bb806d1cf021f3a28e2df2769d36be90f1845d36158d4e298a5d53ebbeafb4d1afe3c1276dfb501bf494c15387bcea78eaf8d0b78fb4374664d425fdd5b12883076163bc97f3a92efad46b7fb4db7d09268776b54ded031cdf43f4fd69b379695fb0b2eff53b9476f07acdff7c85f3f4d34f17dd5dbb76956b015e7ae9a5d8969b083726e64179f0d677c7fe351be2e1dc9c0c24e6d84d7be35d6b3e1cafbd7a2c06d60cc7f6c4d8ff89ebca751d0fffdd7f14a3dffc569c1a9f8a877ff213b161d3486c7be883b1b8be3943138b83f1e97ffc3fc4f90b17f3b8147b768fc6a1679f8e9d777e283ef0e0c178fe9b7f14cf9cdd1befbbf7a6f4bc18d7dff181f83ffed91d313d7e36666fd8179ff8e9cfe435274fc4c77ffe17627bde33eee4cc70fcc2cffc626c589cc9f728dff70dfbe31ffee4ee989be2cccf68673466b54fabda036c4c18937c7dc398648c71560e1eed320ecbc789798450f2252b7e6dbed2c1f537262bdda357391e63b23dc13a78e133b19681ec80ee94748b93aefaf06add7a1257d7126c172becc05056e3c943c7c5041ef6501b07ff2c1ceaa2634ce2d679d572f4207da22f898106cfd501a38e193987beb5d3276df58d597cfdf5cacb98288d9b128207863ee0c313874d8932f80303dd3e2b001d0cebf61936c6a43d79c1e380e437717537ac602083d42d8d7c816f0e8d5df7ac056d485ceaeac2e3303e64123eec0fcada1e1dedc440bfae9317bec196908b6b5cb4a92b5397523ceae889492f20c3aebe9606bd9ab059bf7e7db9e0955fe670ea9daf74286ba28b122e366ddd55b363d79edda5bd6d47f742d94621958737c4bbdef7f032fd58dfd837b1ad8d9b6eb96d99fcbd0fffd8527bdf6d1f8c9f4f0c08dfdb76ed2bc79242ec88477efca31df962ec3e706b1e5de90db7dd1d37d8048024faf496f4c0ce9d3b83e3b2946f076f6a199fbc3765237d59ed2b12f4372657d47dd79e31d384932fd933b93349c3ab276364b51e6d481e76f55ffbf099f820709cbc9da8b5abdbf502a35c5e01eabc88858e0b81b11abfb894107c752c95e90b3deadab6ede0379fe5eed98cc2ebf8c0b6c6c21e5fe6a03f7129216dd483e7228c0c0c373cc62696253a6f9417989031ba78d2d62f58e2d77c6d1a84e6d5bcb4e1af63f4c4858f0ea544ddbcd0436e89adba6ddfd88b25ae9896d840bd30cc0f15fdc003533b6de141da988ffa96fad14edc5a1f59e1974a69f43c63c029f73beeb8a3c4233e26c6405d2287dab77e91cb37a7a66433d82c3e05a301c86a77acf24b8cf22ea5ac3cd82ddf4bde36ae8919dd9c17c02635ede63d5af243ffa5c0a7d41a4b91bf0eabebaf00f65f7ea83dc0a765e97dcc06e3be79f4c3ea84d5df98ac4ebf5ed5a8dda5a3591049d6414bc904c9a4e344c906c43a25839a05a7d6a5cee12409a61317a59b1fb1914be069ab5f6dd1d1061d087d79ead576e8e02fb3ea9997b1b6f302a3b15b7e6d8bbec0858c977aafbc6ab931d7f1996b8d6bddb2575ed8810d894b890da40fbf6e80279e79a9ab8c525f75dc755ee840b5bce12c7f2feabc94ebdf38f5d52e7be5858d071b80765ec644891ffd53d6327c49fab14da95c7b78e6da8e536c4b74f18dbe8f4960dc41653128b5e52f60eab38ea7aed716eacab36d29bf29d9d876f32dbc2a7fdae5593e8d7247cc86ad613479115fd3c6c7323fd9ae4fffb7e56c6eb4ad5cf4ab3fe41e6044963b11e7fbdaf97874e69066acae7478cd2cb5d2a87dbcabba0798589c6c28998c3ce4d376a26c26ab66b246ce44cc01d1f6404f9936e850f7a00dd946df4550bea53ac88d0519449b03dfead946def0bb7eea18c5c20e128bf6e5f2626134b762d47981278e71a8272ebea55aa79d173273e895973980250e756c682b57465b9979a1af1e7563ade5f2c1a9495dec89bd267dd24ff8ace5756cc82078d48d8552be7ee159370f74f44f494cb50e3cf9c8884739b6ed3ce5c9af373fd8798003d579d1d61f65b6529fd7a6df5388cadb8a9a7cde5621f7837d933dd08c513e7bf999e11e39ab383efb1b9337f9a6f4d59a1e60a971b2a5644266c0ba60300133f9c243ced875d246a6aefae840f2296d974af5a22e2cfda24f1d3c277db13445eec200467d8823a632f9e082873d750e65625ae21f3964acc6021f1e6d65ed3632b1ebfa9bcdabf6ab0f71687380af5f65d8e143df9462a15be7251f5b0e64e251d672dbb51ffb013d167171ec37dad8f98b1ff1c4a2e410d3769d1758e6800febea60431d3d0eb0f463bde4954cdbb55c9fc680ccf891b5f3424f1c7ff1231efad64b4c9dfc99f8f9caa413da927d51eebff47be02dea01c72de3d09ba995336679566d21e7c466a658f960fa5fe5ac7c9f5ed5884ce14ecc4eaa4ccad49dece900799d79b7f48993370d6d9ddc9dbcfd2020a75e97d6b1174b9db6ccb6726ca877e36af0e119373690253208b9754bf8ea198b6d4a78d841d4b1e3a865b6f9ceddd3db622dc93abeb18307512ab78d1d3ab51efee5a1471d321e3754e2ea5b3df9b629e1818b2d750e7d37faf868f2d44e7fc579e7c53e15137663df94b5ae23d43e00002000494441542d32fb923a845c1d4be369ebfea079f9cb18e36afb7d3379614b7cc666dd988cb591679ee57a8dfc2c65c9e6e8ecd97371f1e2c5e0ce9cda940ee8bff47be02de801c62b17559f3e7da6b936a89ccfebfe019533dbaa44d1df98ac4ab75ebda02c3bf5e4cac46abb9e7ce149f0d17322571f39f57ac26dcb94cbd707b64eead42174ead23a36123a62c143a67feac85810de4c5ed8a12786fee58b8b9fda27750ee59c63018303ba5c5e45982fc6a9be7e2dd5230f487dfca1033e32f8ca6a5bf5e0a1a70c3eb6c60d3632e3a0cd859343ada7e2eac78d107a90b84dab1b276d31d151cf58f12f2632e3b1dfb405471e75f4c47ba3bcb0afedc4d12f6dc818d03546f8ed3a7afaad63504f390fee1b18982bd77080339fb85bb76e2d7773e55738e8f5a9df036f750f3066e7e6786652338e738437db936ca76855a8bf3159956ebd364019a84e962c3a4cf64cd2f018cc4eeef29c8829b5edc5d34e6cda4ee8f6ac76e88857cb6a397cf4c4adb1d4a3d48fb161f766f2420f7b0e638607896f9cfa4066ddd86a5bf56b9e3eb0ade5f0c5b28e0e75f49051fa9e50272fdaead927bd7cc083b0e3806a1e75fd236bfb531719f6b4c581076103d57271d515577bdbcaebfcc469e7a52d25873ec590af3d3ec0b04da91fed296b7901edbc88a71f6575ecd4d12b3cce36d117191a3ded85a8c6a07dbfecf7c05bd90365fcb11dc9f13f3fcf6722c7690630970f635c0d5aa5fdce6a84dac7fc51e88166b26cfef2647173e265c03ad912a793b53123978fac5d67e04be872d493b17e6a5bf5b0eb852f5f1bdbdac1a74edc907f457fbf798151c7671dcc3a07dbf0ccb7d6456e1f9a0f3c095da92da7ed810e75b1bd20b39d9772756bbbbaae5ff529cd0b5bc8b679c1539fba7ddc8eb1d16bfa1f7df1e04b608a8b0e442e5ecb01368732fdf6ca4bffead42518e6611ced76ad4f1cb42171ad53d6bae2d4f2da065dba72aeb361e4b6fe7cc5d7815ff283bda46fdbfdb2df032bdd038eb1661c76fff82a3f294f677e05bdd27ebbabc14a23f7f1aeda1e70b09a206d265e0ec80957be6de5e820e340e6a2224f0c4b27757421162588768d41bbadab5c196dfc694fc986442cdae8588267dce8a8a71ff4e0d5a4cf5e79d57ae2caeb9597b1e84f5ffac0561ced6923d786388c1b7d6d9523534e29df521bed283920fb923ab6107692b8dacaa7c4b6f1d19c91a05eebe99fbce0db2e3176cece81632c96b59efed1836f099f03aa7d9a8f2572f5b4b1c40e3de5e842ddbc1a1ff86de3c903a38e97afc1cca341bbfc6bdbefe534c1f3b89c4e9fdfef8137d3038c23c65df9e97039a7d7cc036fc6f6fbd1e97f95f3fdf4565fb7f480132283d449d53a13b083176527e9f6c48c0c5b742570697be6827a2db78e1d242676daa2835c993e6a5bea2c76f891cc8936f21a533cf9e8d479892d863ed1838c0d3e84be36b629f569ecb691116f1d87b18ba5ae7919037c487fead156476c64f8d6865f90a0635b7ddb94e2e8433fb629216d91d7f6fa46c7d891db07daaa274ec9aa95db92ac139736c649c99908f302bbf03a38d4e5192798c4621b793b3664b51c1c7c8b6d9f82051f42bf17b6361969d1bbdc0bf6a74f9fce8b63cf9633477bf7ee2dcf37e9a56f5ecb64c49c8c5a56e79011668c5d79577639fe32f47ee36aec811cd7cd86243fc3f98f11c445daab41fd8dc96af4ea558ee9e4699a4eb24cba4e60949293311331b64eec4ed8edc9511cf421f16b4c6df4879e78b58d75f4d5a55e2fecb46b3936b4c1ab170fea750ce685ae32e4c6015f926f0cf0a96b471b7d6d90c9034fd286b67e6a4cf352065e2da78d4cbfeae94f5cca763ceab6632cfd90a93259896f1cfa6edbd0ae7dd67ad62d8945bc5e318025beb8eab57df0335c75e903f4d4916f5b196d7529f551f711bab6b5aff5b497a72ff850f333e252a5e34be58d4e93f3f4579e8f832f6cb91b2c0ff7a32d7683b61017c7c7e3d2e4740caf1b8d6d5b36366cfa2c6b9317cec7b9c9c5d8b77beb929d189d308a7e1793be6e2078edf2bbbc7eedeaed01c746f9f518f348de106f356875505723d23ee68f440fb05c323899502939a07a9166b272c2b54ec9e1c0a60eb980501797ba72fd88af9e3875bbaed776c608a68b0d7263440ebefe295d68e4d7f1e087368b25a5bee4536a4f5d5cea358e7ee14bf6877ae848c88cd9b890a18b4cb93ac8d493475b3e756c399453272fdad42162b08e0f49be32f8d439f4ab2e76cae4999b327c52e710db36b6c6888cbba46a874c1b64e6859f3a0feab6b1d1077ad425f9b50ef5da0fbab6ad8b61494c103ecd436c4ae334a68ca25cf85a2e7ecdae07ff72843d76fc9493f74b9f5dfd4e3e0b17e3cb8f3e1a474f9d8d27befea5f8f68b278acaf9b1b1524e5d381b2f1e3d53ea13e3e7636ab61913d39317636cec7ccccee54fc367a7e35cfe6c79362f74bc3476229efcf6533195f5f9d9a918bfc0c3f6fa744df440e733c2c5afe51e3b39fe568bfa674c56ab67af525ca64a27d97ab2a6ce04d9fce5d75dc8ea6e60f274b2d616b9133475749039d1a2cf044cdb521db16abb9aa7be72da1cb6c1419fb8e5190b31207bb37981655ce6a6bdd8e625b6f11913faf2c4b214cb3618107c3712fa912f2e36e405c1c306c28e3ab25a17997e9073e00f1d6347873a7a107f395157d7f8d457b7c6ad7960d0f610079fd8e847fbd44edef2fba980819cbc28cd193e5463d0aedfebda8f71a1d3e62bc387f6e8199771d3d69f39692bae76ea96b2e4d5f4a3f6e8b5890b7ff90931f7372116ce96f4a47cef86376d8b3beebd2b460eee8c2ffd9727e3b9d913f968fb5763c3ee837170d7c6d8b47e214e1d3d1c4f3cf174eaee8ebb6fdb172fbe70282fc49d8da11db7c63b6fda924f107e22c617b6c52dbb07e389bf7d3a36efde11a75f7c2e4e9dbb1837dff360dc7ed3eea53ee819479ff9f6ef81eaf3ce98cb373c3f03739dbc665734bfd5dbf2ac68987db01fa51e70b23626265ca85e089c5499a8adab8f3d849d756575899dd8f0c5a104579e8b813cf8ed18d5850f26b18263bb8e259714d497306adc3a8676be752ee216a0d60b18edbce071e0abaea357fb6fe322471f3e07ba1cea2dcb2bf52064907ec428cc7ca9fda1c324a44d8dab7e6d4fbd267d8059d7b58147dd435be5f8c33f7a60d47ac8389041c8a05a57197c63a8b1b1872c4ba3f3a29ee341997cda607258a7c4a77ed1e5a80919bc32b9a7407b9f13c39d35d9e8bdd1f7f76c4c76edda15d3d3d3e5c9c23e15b6edabf69b59c6e2ec64bcf8dcf3b171e7bed8be7943fe21911bdb81d978f1d04b3130ba330e5cb7355e7de550acdb774f3cf48e7b6370613a26a66663e3a62d31b0301723c39be2fefbee8f9da30bf1dc91f371c34d0762ede0f2fe5feeb3dfba9a7a8071c9706e7e3196e3b8f3f9c9c752af689afd33262bda9dd7061813291323132c751787f6645cb7adbb00d0f62f4e2653f9e071c8b34ecfc26bb7eb1e2726e4faaa75a9e3039f9460353e9adfe583831db2b228b462406e4ce889a72fe3a7eda10d76da8851c706afddc656aafb1a9efd46dd38cc0b1ec4a207cff8f0010f7d8878addba6144fbb379397f9d6ba6282876fc8b234f2457d63371ef4f4af4c9e39d4b8f2b079a3bcc0108712c246bfb4b157e7727929479fba6deb9490b894c6460991977ab4cd61214f93a772a33fd0bd381b1d6962622238383bc9e6646464244e9c3851ca8d1b3796cfa6ba9950cc5d1c8b67bffb4c5c3c71246e7ee8bd3174e195387472266e3ab029e2527e5db3b0266e3c707d3c7df8440caedf12376e5a1fcf1d7a36be7ef87c6cd877471ccd8dcaab67f22b9b0c6d2a76c4b933afc5997d5be3e6eb4623af5c89fddb36c6ab879e8cb98dfb63fef4d1d8b47b778ca7cee8debb62ef96b5659bdff4c85254fdcadbb0071ccf65bc77e691d54aa3bf3159ad9ebd8a719944212659eaf5e2017fd900ee4cb20c66f84cfc4ece4ecc96f2c12883bf33895b47eec2230f5d316bbff025171bdae8102f04de404efe60195b5d87471b7bf5e5a9e782425bb2ae9d7c4a65d689c1bc2821cbcbe505063af816cfbc681b23f6d6e5cbd3a7fe7ae91987fef4655c25d84ebcc8f4a11e986d5d6ce4894f5b322e79b4598069d731ea433e25bada8347bdb6a1ad9d75f5d3b2e7857ce873a84fddbc8c595ff5e7029eb6d48d031db038fcdc502ff28e4d46de8cb9ee902afae0707bfa279f7c32b8f8954d09778605e7c5175f2cfdc4af736ebdf5569050cfcede141f7af8e198cc8b5fd7de78636cdeb83e22cf8a6cdc7a2a1687d6c496bdfb636b5e2fb26e6438d68d6e8de9c5e1d8b2653476ef3c172f1d198fc1352371ef3b1e8abdf9eb9f8135c3b1617434766cdf9c7f206f8cbdef7f6f9c3c35563642bbf6dd14f3832311a307624d5e88bb71c3480c8d34cb4b95461353fff56dd903e533966333876b199fdca978f0329be72b4db0bf31b9d21ebc06ed9d489d607b4dc8c818c84cce9213bc8b097ce562d94606af2e99bc2174d4b3944fe9845fcbe083278f12bc5ad7182c8913e2947a7a2c7564f2d543205f7c7996f0956947a9dc854b6c75915b27d61aa718e70b38eac0b37fe5d5fed445a64f71c4c68f843e781cd4a1ba144f7edd86d78ed9fc9041c6d1b643a61f6d288d193be4b42de1d5718221c1aff392cfd82d982ee429008f431fe2d7d897cb0b5d487fe2d4b6b50ebaf601b7a0270c10fcd50372081d4b36239c452306626793b263c78e1233bfce594e0331ba71731e1d2ef1e562b263f7754b6ac39d5560ebcedd85b79817b5ae5fbf296ebdf381d87b5df2f227d63b76ee5ad25f37bcbd535f1bfbaef7da96dc9440b9c1815e1f4761f75fdec63dc0085cfe19cbcfdf6277ae58c9d4fa1b9395eccd6b088b89d645c28996d23a5d41ddc9dd89b5f0f3c505410cf038f8eb58d2b6c6d12fbcb62d3c0e74acf7c280571fe8bbd02cf34d23f15829eaeffbf52b8636f8342feae881cd22e245c1e86a870e75f5288d9b125b0e481debd8a95b14f2051efae842c4e2625cf3b545475deae041c82dd5c51e39fac62226edda06bdba5dc0f2457bec38a0daa738946db25fe1d775fcd4bec013b32ea9ab672e60c1b35de7857e3d26d0ab31c492a72d7c75c5aff3d14e1d7341a7bc5f739dbecf1d8a7d048e349a672ceebcf34e9b6faa244649ff0d8f589554efc5f0bad87bc38d4b82b6bd39a745f689e3051f09d630b2de692fa1f42b6fff1e68060b179d43f5b858e9dcfa1b9395eed16b008f01e9a0b4acd366f2e370426682b55e26c6b4e7af4327c9b62e6d7da8439b899bd209bb9681af1db150d7af31526ae3a2439b4d83fc5ab7cec97a8d491d7d71c100571de5e2db561f4ceae4052107031e4459e7a5ccc54c3d748dbfde885847d6c6c1a62663530f99f8c8ec2ff8b52feabe2feac3a34e59d7e581219e3c4af3422e89612ec682fc72d8f0c903ea95572d6bc7818d3cdf1762836a7f75dd3e43cf7c6a7d6280945b3717f8d4676767cbe7826b9ce0196731be8217626dd3f7e2e11f42afaddb6dd71b9b8e8f255faff7d98ea1df7e7bf5408eeea580a9394696982b58693e312b08d887bafa7ba09eac189cdd89aabb68d583b6d6b77794d70b073c0e2764752ce5d7fe6a3cf9f542c1e2b23457aa9c25bafa5b165fcea7cac4536e1b186cdb6df128cd8bba57b01b3f3c3128e1cb2b82ea453ebe5830c5a5d4bf2566d4b1d1ae822a552717f4ea433dec2ec757862e31d787f696c670d9383a7d802f3702d8921707840cd2af9885d9e3453d44e6a09a71d47c79da21ab73f27d510f2cea1e625bb6e3252f48fee5f242075fa4eb725e52cf97525618e8be1554f7d35be1afefe347b3071cbbcd38ec6c567394324ef91559e7e4c98a07df3f63b2e25d7a6d0076076cf7af5333772257a7d744ee5fc74e809660308137137577f1840fcfd249de76ed4b6cf53b6be0d2825740f2a5f663cc354f7bf56b5ff8abf3b28d6ff9f2bc83678d0d9639e8073bf3a0846f1b19fa942c78f881e49746a76d0cfa57a7e0e594a23f6d28f555c754db8909cf982c8d0b1c781c5e0301af6da32f65fae4cc12757e82a86f741221dbcd57386251aa4359b43abcd2e8bce84b1fe8c233666e51cf1f82f08d1dd3ba5eb7c90b7b48bfe8b6db359e1b14fb10fd25ff559d389015dc0e9f9b594160984361f45ffa3df016f400639171db8cc31c9b79e764fe35949f99553ab5d1df98bc056feed5e682c1ea84bf34917692ec3549236aeb615f26e056e730f98a8d481dec9d98dbfee563475d1b17025dc06fc781ace6e9bbe6b575c46bf3b501a34dc8c456663cc67fb9bcd4c38e3a7959d7a7651174f4e0e957dfea81c33fbf36d0ce123d499b3a2f635286ae36053bf1cd0b59ed5fbe18c8a92fe595fd071636457791589c0cd16e36752cd6e2a2a75f71ebd8b0313efd97766753828d045fddda4efc5aa6af5a8f3a7c63d29fb16a030e756d4badf3354eb9757e0ace9f3f5f7e89333939b92ca662d47fe9f7c05bd0036bf2eec2e7ce9d6bcee6b18f2f9f99fc3c15ceeaec4cfa1b93b7e08dbd1a5d38393bd992633dd1b62763e4f2a86bd7cba69eb8d5c3065dda903a6579cd4f8af11461e7a5174f7b548c6709ab83634cdadbae6dda38ea18afedb68d98f05d9488433b71b5efa58f6dcda7ad1d75f3a20e0de659012613fdc0c3befceb2c8eda109371a103bfe6d57acabd86c698d02ff8adf74bbfe2d386eab6188d64795ecac43736f862e897923ea9e3b58f91698b1d877aead0f64c07fac669ddf8daf6751cd6d1bd9cdd72195b13fe0a4d7ff99f58b66fdf1edc9b848b5edb18d8f6a9df036f450f2ce41f0165e39ccef83830a7304ef34fd45571dfdf98ac4ab75ebda00c4e26488e7a416212859c8c2deb091f1e07b6f2b1a9275ce4c86addbafe3a1f1910f29a7ab5e1193725f172b475eb05897a931771371ed4377e71908a6f2ce6a56f6d6c23a7def858be08f78aadf69d1115db1aabce8b18c0c027b153b2d0a2cf99097d8a89be58d669bb38636ffcc8ebdce46bdfceabf6615edaebab8da98dd88d1eef57132772b03c2b66ae351ef5d42e36f8abe3aaf16b1fc685bc5dd7bec15d3eeec453563c136c528da31e3ee5db27c89aa33b96d4a754bf807e9f2f84925db022f446586f245b09e76f84ff46b22bf5bd9ad8571adb6ada3bee9a71c9186ce613da5c3b9733f9aab8ef6f4c56a55baf5e50feca6650ba60b527eb5e6d26de9a6fbd5e5898a8c1852cd1e3a879c85c5895832321efc59727b6a53fe5d50f9b2da88e27a7f4c46ce2424f1fe5fe269df8f48f9cbe71c114577fda8aa35ddd17f090f7ca0b59cd474f1ff2f1817f3722d8f47abfb4d50e3d099931cb43cf455c9fea9897ba96d8d817f0c4adedec6b78f28d0d1b79945ee3612c755eb5ae7e78ef12015121e3b64d2996b24c7d994f75bb98ddb140ecdad7f153bf5c5ee2a123262537ac5a5c986922ce7e0377a5889cc6f329c2cf1d9b8f4b534daf7c3fd8dc47eb861d0371e3cee662f20c3d637f3dc295fa793d62f3ee6d191d883bf60dc6ba61c6e5eb7dcbe39d7ee1f87c1c3f97351a574098afcddbb2dc72dd60ecdab43a0bf01584f7969b3673bf63921603c0f6ca86d3df98ac6c7f5e0368dd859f649d589d84e55132b172b89180e7e4dd9eccc1e180c474e29667c962d45e106843da50b6638257eb5007abf6ab6f4bfdd0560f1cecca82db99fde0719097b6e65e9c562fe88965e946425bf3c18cba3963db2b2ff890d8e84b60d6b862101f640cd4db318b6b5ee8e8a3b6a38e8eb129abf3c21612135d63804f1b129f525d79e625befedaa5fa05305fda79e9a7f64f1d5cfe2acc288aa9799546bed47ed1d7c612bff578579fd29828392079d897fb437416fbe6b9393d56fe62b5fcc53ea10ff4a7065e406143f2ad571662eb86817c685f3e9538371a9d101a55949a901a03b8d9ceb0f32fe388c999886fbcb410cf1f9f8b47ee1a4afbcc27558cd0fa929fd1c1d8bc8e9f9277707be1e303d2b82ee1776cf281c7f1eaf9c578f6c45c7ce096a1d8bfa3f9ab9dd820f2a03e31bd185f7a7a3ea6537fc7c681b28911a32876f497f94320bf28e54b078feb8e2f26e6179f5e885b762ec44307afede5923ece4f47e7739a73587655ffceaf0e9a7ef943ef817a027442a6ac091d0ec85f5b3819c373a286c7440e89451d7ead2f0f3b275ff1b1af75c56ec7a48e724a7d526ff3f54909a15be7d5c6c75e5257bb5ad68ea36e1b07762e70c86bbe316b67a90f4a756a3bf4da311b1f79a9ab4e8da70f64eaca0303a2cd819d75f8e8d77cf342266163cce84ad4b1876a1dea1c90beb4a34466a96e9d97bad823d7b775f892bae6015f7deab52fc7327ca8c613073e75f3a20d9136fa1edd5e68e4be628b0e74e8d0a1181f1f2f6d9e9973db6db795b34ac81abc88174fcec7375e5e88bbf70dc5fa75b9c99dcbdbfc978dab7dc8fbd6f86eecf82c776429208ed1bca1ec9e2d43f1f2a9f9f8e25373f1f1fb86cbc2d4e8631b71183fb979b9673f1b177c18a7e3a2bbf1c44e6a72c14bf73d23a0c2c94de2685ecbb07de3426e3c86e22f9f9b8fbf7337b1743727f866f3f2a74fcec596dc781ddc961b0878c9242f82a3b7ec7ff497e78b52978a3c2db0d9b4aef1f5ccd1fc0326e6e2c1dc9c349176f5af955ab9ed4166cf069a3e68dea1e57db7527dd18c949542ebe35c133dc007dc83849d282d9968acd71d524fc44eac944cf2fcd5272625e442a0ae58b439d4875fd7d593074e8d512f50e88a57db51c7bef663fc6229976f5b3cdafe354bbd8d49bb8da53f62ac6d8a71bec843dececb3b328ad9c66f63d0e6eb2817d33a6e6d8d4799edfafd4297b890498d7e37deba8fea1c8a7ee7bda44e5ed8a22f26a5f51a9fba58ea28b77f6837b1b4636bdaca2ccd0b7b48bfc8ad1741e7053ea47f4a6de553cab31fc483df6080d3e9c3ac36933e96cba98e814dc9a953a70a36778325769ea503357a1133b939f8566e4a6ed9c513a207e2c8cbc7e2e4f9fcba287ff6cce90c16f4b9c5fc7a66cd50cc2d0ca47e7e5690e5d74a33f9ade63ccf924a599e1fcca70c2fe6d98aa1383f3550be2e69fc94753f713a7ef6f047423eec6fae8b3997b660823fbb904b0e7f88f0c744fa182831e4d79fa9333b9f7341fad36f10d3f48578e2f1af05cf10e46b9c03db07e3af0f37ef0d5d8f2fe8c9239c451d88dd5bd7e42f48c6e3f02ba76266a1f1b3b09837afcbbc8adff4399b7cf36dc783ce7cf60736d37917ded9ac13cfad99d7b32717e3ecc57c8fd25fc76df17db5bc9c3c79b23c87e9a9a79e8a3367cef44c8b5f8be53b5e3a8031469faf065ddbe7a656a347af014c76ceec689bc99505b2f3bc919c299c70e90606ae13695d6721641275926672ae1722bb102c64d842cd04de5dbce07bcd01f52e5eceb6f9e1b15dfb02431c712df1415dbfc4a94c1b75d4a3b48ebef1e2bbce0b3b48ffc8386c23b30d9e9b0579c6840c6cdaedbcc819bef1507240f2c0b35fe051af75d4c3065dc87e28faf449276e64da9a076de2b29de12ccbab8e5d1df00a76272ffcd6b8f8314ef3534e294f6c73ac75ac8355e765bbc6074faaebe6850c7ddbc6208fb678b58cba3660808d1ef1e032c5cd4b568a1d4a2d321e37253c9306dd975f7e39a6a7a797c60d58601e3d935859c9353e371df9f3e3d3afc5f0c0ba98197b2dc6a723f6eebf3116a6cee4d3894fc7f6bd37e719828578f63bcfc69a4d7b63df75f924e1e3c7f28cccf918d9b23b76eed81e53b993e16b92174f2dc6adddc7edc4d1b3995bc7cf746e30a62f9ece4dd3e9d896983171324e8f5d8a5dd7df14c38bd371eef4c97ce0dfdadc68f0f54bc6b0774f4c4e5c8c0d1b37c5c5d3e763f38e5d3176fc95b83093b7c6cf8dd06b2f3c19d7ddf59e989c5d8c0d230371ecfc429c1e5f8c9d9b19efb979ca61faf2d985d891d7814ce6266266723c4e9d9e881dbb76c46bcf3d17eb76ec8fcdeb87f229c9476371edd6d8b669284e9e3895f11c8cc1f989387bfa549e0b5913ebd70ee457568bb165f3a6dc200dc7d63c5d72f2f8d918ddbe2bd23c46f3aba9c3a7f297521bb3c17b95beaf166283cb4fd3376cd850c6251b133ef73c97698972500d0e792e233f773976578bfa1b93d5ead9ab163727d39c0d9c50f9743af992724e832573794ea4cde4db7c92bdc0b4ad534fe675f7b5f9b55dbdc8747d74371ff8370663468f3a477b33815f263b6cf0c3819e542e78ed6c00e0a983be7951efc6d25d54d16d66b406af5ef0c5c256dff0eaf8681b4bad471d62d1332f78c4c00106a40df53a2f75d551ae0e18d48b5e67d351eb5247c7d8286b4c6de141c4d9ce4b1925f6daa00f36c4a4c87d576873d479a10fd571d43188af8e32fd60a78ea5babdf2425f9fea8b415b5c3068aba30d98f48372da4379cc76fe222dfa9dfe2a4a9d177c1c3e7cb89c29715382eed8d858f1c146bda6c9bc46626830bf560137af0b397be2783e45f88658b3783efefacf7f3f6e7ae4bf89c9ef7e218e0f1d8c9fbef196f8f6977f272eaedd190b2f3c11176f7f671cfafa7f8af53b6e8cf3e706e3a33ffbf7cb573aac4d13b980d754fc0c2c9633304383b3f1b53ff97fe2c2c607e36337dc9e8bfd8538f4cd3f8c678e7c2cee183d16df7cfe586c1d998989a1adb1617a2266dff5be389139ddf7be0fc5138f7d350ede75473cf5d8efc6f8cc42dcfefe4fc486adbbb2af16f2ab213eb38ddfe9e2dff1b41833b3f43379e6d99ac9893c6b72269efcd691f8ee37bf1e031b6f8b07eebd391efdf3ff1c8f7cea1fc4f35ffeb33875fe686cbfe7a762ffe6d9f8fa379e8fbd1b2fc585d8161bf29e1da35bb6647ef954e53bf7c7b7fee6f9f8894ffdbdcc6bae5c973399678dae463a9b4f8f66febafbeebbcbb8e409d6dcbba4de98943199e933c7974d497ee67238ae0a7567dc5581ef835e7d3dd09caaf6ba1106ab936d998c3b1b15794ee04cbcb52e75dbead257f2a8635b9762505aaf75e451d6441b1f1eead1c6de36f566b158be38a2475c853af392b6f0c5d7a7bae840da53c23266e5faa7f450c7f8e4eb035b176678ead97fb48d8d3a7969a34cffd85ba7548e4ff9e848f228f5874c5bea600ce686c8182cc52ef22a5f7c416058a7ad7ee13129767cd246e6e146a78e473c4a085d487cb024edea52d9ebf26ac55de389493ce60c0e7cf4e041752cf096dab9eaeb8f7b4748e24e4c4ce4d98d13e5e9bdf0b4059baf73d6af5f5fec53504c931db3f995c47c9ec5c8b5b52cee93e78fc5aba7c662ebce1be2e2f87cdcfff0df8dad1387e3f943cfc6b1c347e2ae77fe441c38785d1c7af1706cd9fb40bcefc37f2f360d2f049b8145be8e499cfca41a5ae3279b737c15c3c660764ddcf781cfc4da73afc6f3cf3c15475e3b13ebb7ec8f3533537129af13b9ff833f1b77e6a6e7e07d1f89dbef38189329a644f20000200049444154172762716838a6a766f2eb9781387fe2d5387e6630ee7bff2763cfa6d198b838956745327e0ef2c8a35c9fdc89803ec89ec8851519d796647de6521c39fc9dd870fdfdf1def73d98a75166e3b60ffd62dc74fd9e78f61bdf8a030f7c32ee3c70434c4d4fc53b3ffa33b920df1fb7dffb481cbce1a618dd7b77ec8ed7e2373ff7b9b8f3c10fc450e6441f72f8fe2d4bfe2a680ce7868c8d2e37f2e3cc1bf5f626973155c65c678e670c30be56835609763542ed63fe28f480533983d68991b89c38a9d71fde3269741600265f26500ef56b5dff8274c17522af31da3ed1a9091f6d1de4f09081ad7f759179b43f8ce8f4a23a2674681b8bfe2921fde8dbbc94894509696f9d120cfdc8aff1c586571fea22d70ffec16a937eb5d75f1d977d272ebaf0cc8952590652ead8ebbbc6aafd14c57c91471bff62d346068fd2b67278e4d8ce4bbfc5a083a1bd31d3362e71cd5d1dca9ac4509fb2c6c0de588cc1b6d8c40ba9cb57a49c70349ea1a1eed90fb1376dda14b7df7e7b79e09fb8e8c3dbbc79f392addb86adf9b5cb547e05c235209c3119ca0dc0ccd485387de4995cc4f3172c632fc4f1b3e763cde0c5fcaa676ddcf7a18fc4a37ff8d978faf9f37996e1de181e5c938bd56cac4bbf25bc84399f3f3bde3a5a4227dc42fae13a92f9dc808c8d9dcbaf8f66626ef2627e1df4625c989a889999d3313398dfdfe44f4c67f31a8efc5230a6f3aebeebb7ec8a91a1f1f8ca9ffc668ce5998febef7a67dc75e775897129779123b13e37273c93653ecffa4c672ef4d3a6bcc81522a6e1eca68d7991ea85c954cab76928e7a6e9f975f18e873e1ea3f935d5546e5686d7ad8fe1988dd9e1adf1c19ffe648c9f3e935fdf0cc7f070deb82ecf14e4525cb0e616e663dd861db1e7c0c1fcca6b6becdeb32326a7d8890dc4789e2dd9bea9b8bdea5ef6eedd5b727afae9a7e3b9fcfa8b0ba9f7ecd9b32ccff2688decf6e6ac31e31d71f3b9e05d5d49ea8efc9544ed635db53dc0586442e470823559266f26492756ceaa38f9c283e4a1eb440d5f1bf59c889149f2b073c1d00e1d265a74e089634c351f1918c626be98755cc8c4d01772f0c44407dfe87168af9c1232a6d2e8bc28a3c40efb9a689b177c74c0a963d756b93263a1d44f1d833cfde287ba7cf0f40d2632756b9cba8e0d2406a57dd3489a5763530f0cb16b7bb1c5405fdb37ca0b3d7301437b634006dfbeaa75d5d1b76de3822f3e3ce28057f3cd0b5cede0a94309d9bfc80a4e2ed6e5ae9ad9ceff3d69e7ce9d05e785175e287fd5b229d9925f3f888d91b6fc7a65e7e87c9cca8b47d7bcf6b7f1c2f3cfc4433ff34bf1c0fd0fe649043e2f79bdd7dc6cecf9c43f893523b9f9c87f1fd97d4b2ae70a9cd759dcf3befde52ccb3b1ff978c1bf941b83d31717e2c7ee68960e43dc9d7e766d9c8f636373b177eb48ecbee1ced875c33db921489cb977649e3cc19b0b5ed32e3725b1675b2ef5d91f790623b712b167eff571e7bbf34a8fe17531bd301cf77ef817f25a910b11235be3be870fa43d7d1ef14a5e4b72ebcefcc9735eefd1e9c2d247f7ee1b883f7e3a7f223c782ebefbf89fc7d0ae77c7f60377c77bb6edc9331d6b6278fd8db127739b9c5a88030ffe4c5c7fe974cc0f6d8a2ddb3e10f90d505e53b22b76643c0b8bfb6224cf163cf78db178f0631f0fbe39e2890863979af172cb757e2d5adc5e352f9c693b70e040b9ce84b1c857389c45a9c7543366b333b24f9ab1cc59b2e6ac5eee275794fa1b9315edce6b07ccaf7218ac0ede7ae265c2f5ec037cc8927a33c8a935133ba53cf12cb5535efb5186bd8b67cd830fd53cea9ef169a4cd2bf8e6858e8b953af05ce0da78ea18236d161a481e25769662d0964709d5b2765ecad4d396b679e9071e7272211e0e72846a1ce5da51d6727d185f59443bb1ca2ba0f9d2ce5bccda27366d3ddab5cf5adfbce0e98fd23a7dd4ce0b2c3706c8d1159f768d551af9f2fde6855d3d4ef051e7a53ff12de59b977914bc4e5ee6a3cd5299f25dbb769526f6ed4d897aa996f9467cf8ce35f1bbdfcaaff26267fcd8a77f31af3119895c9ff39729f465962379c1634ae772f3903d1483c33b52900b71d954a552aedcd3797d071786b231f8b1db87ca85a6e25b7e38372bbff3cdd978392fb8ddbd796b9e85c93335fca465705dfa6ac63d1b9f04cfff7c36a877ca8191d4c94d096776f25cc66c8cc4d0687e2d9531ccf2f3e68c970b5c37af5d8cf7dcd22c5be426dd98bf3aba7f6c21bef5d260dcf29e8fc7d61dd7e7c626375e6b77c470fed499f7882de2a0d7c16cd8935fd170f6a5d938120f3d949fa098caab846fbcf7c331946753a6f3a628e727237f8db3103ff3c09a58cbfd5b52adf66d0c6ff792b324bb77efbe6c1af40ebffc2bb92f7540a7ff2e6bf58309fa1b931facdfae792b26562653277b4a2652267c166f4a275f3bcb458236328ffaaf4664626a5ffba96dd573b320be7cecb575b190a71f4a083d7568bbd8c0272f160078e8a8a71f7d60674e94c455f3d44706d106d345525bf5ec971a1f3bfccb33166ce14196d6d5a1bd849975df2ff8d8d77ae289451b428798ed1fdbc8d5c1c6bed21e3deae82093c441a68e7a628a818df55a1f3df34287bcc0321efb17993c63b0ad6f716cd736f8e4c0c638d493675ce2d806c75cd1551f3e3af591d2fcd78d159d6594f6909b136cc16b13ac1495b30b3ff7aea178fcf0fe389abf68993c31db53bfb1670c316e97e37161e996fc45cc27ef1d8a5bf2a7b3902ef5b331cf62fcfc43c3f1b5e7e7e2d5b1bc5e24619a4c9a8d70317ad32fc4d07c859259c4486e6ceed8355036256bd9e4e0bf85f5fedb06f33e269be3a9e35be2f0e9d9ce570eddb1b65cfdf539d6f281c1fc654e7eadc3e66af7c6888f3eb826766d660c77f3aef5af963a6309ea359e485efe7ce78f9b35f9d5e06ad0ea6c4c98784a7ebd86cf6aa4d1c77c6b7aa019b4f8ea35809978e1bb105057cff868bbc83b5133b98b890c4256e3f881b02c4af9021e3cf421178ad268bda0674cda59a24add523f942c32e0d7d8faab6d88973632eccc8b3632b17ae55563a3675c94d64b703d5ed4af756b1bea9039506752676a363678106d481b4ae375b1c51f87babc676c06e4636f9d522cebc94adb6e5ef2b5431f1e44dda3303a2fda50d679a9830d7dea7b200625a45c7b317c1f9093d7ec6cb388d7f1581787b6b8f0ea7eb28fe04bb5bef20633635ec26a2fbb5a774b7dd6f174a54d8d6e2465360d1fbd6b316f4b1f794b7aae0f6b6bbe717b38ef21b23daf57e1b615d8825b937e4673f3f2e3f70ee7f51e8be5be27dfaf9f1ad33ad3c3a6f503e5a7c2f07af9271d42bafbfa81b86dcf628c4de4193406f81551de902ef3d99ab7c3877af9bd22f81f41e3371a4bf4307275387bc2e66d3568553626653228ef658ea8d6005e8d24fa986f410f9489acf9ab176fbcc74eaab419acf5a4eee04556137cec9c54b5511f197517796dd1e740a6aded3a1678b6eb7a3b5670f5455d5de383278107d518ca2cdb7161238f3af8503b2f7458c86a1d74e1cbd3d63671d4f53a06eaea83618ee81b7f8d8fbe7ceac64c1daa31b003471dea107cf3aa7d5f2e2f6eb7cecf3ed505433f62bab82ba3449f039dba8ead72ea62d4791585eac51c6a3b79e263ffbdf2c2463fd869ab2bec91a3a72e2554f3d469464957e6fdabca858782764a715aecd7353bee923f90f7f3e0789dcaf7c5e8e22d37abf96c243856836a3fe2d79e86f38ccaae2d3547ad2b2b7bf9bd32c41f7d6bc758330ef9fc318a18cb9d39d101bbc2a9ace8c684bf2ea0890be371e1fcb92cf3e2a56bf1dd5ce137e947058eb77281df1c66c54995d858246c3b905958e43359c37702775181471d42a67ecd4746bb3de1cb2f137a7e6ad081c070921787d27a51eabc8009d572ebf0eb78e04360bb686a8f1e074459f3e1b5e381271ea5faf0b5d7471d8f38e8eb4f1cdb62db46173bf9a5d279d196b2575ea8e993d238c556260e7cea94e8aa2f0e8b74afbcb4435f6c6d6d83a11f4b65b55d5b0f1de2a4444f5b63b7346eec8911aa63500ecfcd0a3ceccdabc6c2be577c35263a1038f0b9c093fbb440e58ebcc9e37a076832afd55056183fe0cb95ae236f76b9bf523fbdd2fb61f97eb37e7bc5fc76e7e5cc9617c1e62fb3721c324e7350375fa3659d7fab452bba31d9b0a1f9be69cfee1d71e0ba6d716133bf295bcdf057ab5bfab8750f7496dc3201cfccbe9217a42d9fecd1651266e0baf0387933593b41d713393c0ee44ccac83c94c1b75ec753eb957af501a1ddc6d5563ce3a544df05853675085d082c74cc8b3ab999176d0ef4c4affd83015f1df16a6cea9218e2caa784677fd9ae4beae04bd439c4d437bffae0ab14f1f4c55717e459fb00abb647a63e652dd36fafd2f1a0adb1a00baf8d6bdc62d196a82bb76e2ce258c2afdf2f30e059123fba1c106db1c4a6d486ba441d7d083947ad6b5b1e6dfc68831d328fac2c93735dc7e9f1d9389177399dbc94b791f7f409867deaf7c05bd0030cf7e1e1c5383596b7e8652dcf31c87865ca9d2f5fe3349f9b950e65453726fe64683affa8ceaf18f316c27c60977f909725c08739c5f9d1ecf1c1efeec6a88192ea4be4871d46e9a8a5c5a968c25dd26d2aa2d062126989fbcd37ec01c62257b1f3602eee1bc0e4ca2246dfbb0800c0e45b137ae8f87eb1486027a9afdc45a29ec4c587875ebd49105f1972a8e6eb8f8557b97e29b5b58e3ff43ce4d3ae71f1235e3b2f641072f18dbbe6e10b4c08798d671d9975fd53aa8f6f082ceae21766bee0bfa65ed77788abaefec0b33fc4301f4be41036752cc83990fb1e982b7c6d286bffe873a843dd38b42fc6f9a20e6df4cc1dbd1a03b9bac6899c43aa6340a796a9030f3db0a8a307c9a3aeccba3ae88b893e7d420951b2e13746ce8e00bd399f9eb76dd340dee7636449b718f45ffa3df016f4006377381f453d7b695d59a719a3653c33ecf333e08f9a563a9415dd98181c131f9ba9c57cc98f5a873d504e09311ff181a39ccbaf7ef2639e0b5d265ebe06cabf6e72f118ca5dd91c572ea1543006f3663ddc79cfabb4f9b9270bdc5c7ed0f322b5fcbd357a3995259f7a4e1869da7cb89b0f7b9918f3c3ce6d9fe7f277fb0b3c6061293623ef9797ef817c4f53c8a0f470022e936ac577b22d03b86353eb5077027672b68d7f1737ea52ed13b9d8c899ecb5114739f8f038ac2b53d7186a3e98751ec8d457afe6a9af4ebd00998331da76f8a18b9d7989dfc6c44e193143c4a83ded761d9e840fe450fd7e2817db76ad4f6cb4f18b1e6d7dc1e7a8492c4afb517dcbda467d641cbdf2121f39640ee0b479ea2213bbe6d5fafa82c7e695123be3d6ce12bc765ec8c4c49603d237257263565779a39bb97766fa522646994b335dca44436d896adb74e8705a92f72bfd1eb8d21e68c66d33fefc5c349fa95c63733c2f2cb026439e96685a57fabab21b934e6c7ca8d898f07c83b2f8f3215d9c89a3afbe92cf82c80d4a5e9c3495cf41d8b5676fac1f9c89e363f9c0a51d3bf3a759f371e2356e473c11fbf7ef8fa1c5a988b59b63ddc074fecc6d3af6ecdede7cd017a6e3e4c9f1d8b4755b3e786928cee4f31ff2c7f989351fafbcfc4ade1b687b6cc83f44a66666f237ec7917c0a9d9d8ba6d5bde85301fee746e22f6dd7863feac6ca44c1457da81d792bd4faf75925d3601972d683319d713b093bb936833a89b0996ba13b5fd889eb86e186ca3a3bd3cf4c170a2af71e0a307a127b6fabdb08c5d3bf1d4150b0c48bea53cedf10959eabbe8e552a29ef694e8a06fa9ad38f0b543c6a19d938736ead197f5c6a896d77d87be78f605ed5a9f38b4b1c4ce3af23a46dad8bbf1d28798cab1818c53bff0c1d60e1dea9063a4343a2fd8a92b8672f996f0d5d70f3c738127863ee589d1ce4bdb1a1bdd5e79895dca3440afe096bf4cc91994de441c43e516f64d3ff4d6ea73fb3db0023d90e3907129b9455e1aeb2bbb2fc9bbc9ac02cde724c20d71280b714157eeace6f311d62f1d7a2abe73e8427cf8430fe5c6644f1c79f6f1f8df7ffd4bf1cfffc53f8fcdd347e2b77fefd1f8b18f7d30f73113f1ccb35f8fc1eb1e88b997be13a337bf23f664bf7081d8e2ec58fce1effd71fc9d9ffb74dc745dfe6efdd1bf8c85eb6f8bb9d3cfc7ec86fd71cfc60d3195b7113e73ec507ce5f1efc6077ee2e3713e6fc1fcc4d1b178f8dd0fe4ad91a7626e7dde8298dd53ffef8c373502b2d7cb2da4794f873a13ffd2a02cbdd84ca84eeec81cc8ed89dfc918dd3209271e041fc2161907848e7aeac0a75eeb8a4b59fbd60f36d459cc94c313db456e595e9d0f63ada36df147bf749eaeac7fe4f8a10dd52575ed91895bebc06fe7254f5bf4db7961a31c7debedbce073d418e840c6ad7f78e8716083bce69546bee85b3d7594cb574f3fc8e581afdf3abe5a8e3e32a87e1fc187907180cff166f2c28e4d833e694bfab6ad6fdaf8342ffdb7f3424f5ce3d2468c2539baf98fcf189f375a97237ea5c319e4b3e72e9633ce1b37e6cd36fad4ef8155ee01c73923935fe67086b1d00adfce644537266e9a167257c25725cd19133e5e9ca25c1307ef7e20d6ad9d8b539363f1ae071f8aa973c7e2f089a9f8cc271f88279f7c2e3efc8e7d71ddfad97cacf54c1cbc696beaae893ff9c2efc57b1ffe78bcffb60371f1e2c57c30181b8ac8c733e7dd047362c0075fe50ce6b169cfcef8dab327e39e3bee888337ef89bdf96083970f9f8d7bdff1ce183cbe219e79e9cfe3d4a581b87eff683ecf61f67b7cf457f91d7e9bc197699f97ec73265fc849b89e685908fc0b12be8b87932f76d6eb45887a4dd882efc2405b3f6dfbb64c1cf4a05a4e1b5cb1691b073cc8d298c0210fedc053e6d785d8199772f4a92f97b1e9ea7e0d820c1d6c3df4055f197ae019ab76b51c7b7dd6b6f0b4a73476f4f5c57b069f76ad4b1d3d483bf1e021abf9fa350e756a5fe860232eba62c0538e2d044f5df1e55b2207033975f2a0342f65edd8b147c6a14c0c7dd57ceaf2c1a7ad2fb1e043c8c0b58e9d6d7468131f049fcd083cccc528c2d60b172f4f4d4dc797bffe449e01be506cdff38edbe38e5b6f5eba9f4ccba4dfecf7c08af4806394415a2ea5e8dc686d85bfc9e93c81674542ee82e4c7bcecfaf9b071f0f025be8bba706122c627a6f2433515172e4dc76baf1ccadb175fcc0dc8da78f6db7f13171636c7cffed7ff20e65ffc6a7cfe4b8fc774dea6f8867d7956e5b967e3951363e583cebdf9c19c9d6512cd850f1f79adc9c5dc15ddf5ee1f8f9f7a684f7cf6df7f2e0e1d3d9737129aca5b0acfc4d933e76371cb0df199cf7c3ace3ef927f1f9af3e559e7c8a2db1f58fefd507be8f4cfcdd099749d4899a77bf99549b49d98995d249b8971c9e8b618d019ff7f98d48dfe86aab0fca9aaf1c4cf894c6e8e2609cb54c1c75eb5f46a80f36750fda90beac37fadd05def8905ba724af364f799b6f5b5f949238f885da79c153864a135fb3b0d7feba3a5d1ce4f06bccfa7d041b1d71288d479e3a9490b1d77278b46b1e38f8362efd1a0f58caa8ebd7121e78ea50d2d6578d832ef8750cc6a29df1a02bb575b497af2fcb0ca65c13d7c4446edd4d8d9894196639ab329bd7e08de7d3e936e5addf376dd99ad7e60de799bb5ab35feff7c00af6408e3baecf6c6680c4652026cd956b9f4a75455f56f48c8917c02cb061e08c49992449a59958f80a80bf16d7af1bc94ffb641c3d7e361e79e42371e7be8db176ee8fe3f16f7c35f66edb146bb6ec8e83f990a785c963f1ce0f7c34068f7e2bfeead1c7e3a77efc83b1267fc6b390d7a98cae9d896f7febb13871fdde981e5a1f1b16a7e36f1e7f3c9fa4391b77df71636cc86b4f16f32e87ebd78fe475264371e2f073f1dad9f158b77d7fecdabdb93c7c88189b896045fbf42a05cb893cc722132b93290f787252656177927602b65feb12196d75eb8e82c704ef9d369dec5d146c6383df1ac73a32277e7d60270f39ed7a21430f3c083df5b99e469ff0f59943b9107612f23a06f8e252d23fdc19553d70edbbe53e1bf0da562cf4eaba71c243860f30397c3fa82b371778d691d1c65f07bec88a51f5825c3236daf8c13707fc37cacb18e9fb1aafc64da4b2e8cad386d2b86b1fea1907b875eefa313ef5299129b78d1e073e38889552bd3a0e7529f1695fd73eda7570b40317d28eaf66f8a900f2642ec5d1c6a0cd48008b1f09accdb96ddf8e4d31357121ce8e5d88cdf924dee642d95e967d5ebf077ef01ee0a9ce037c36d80133fe72dc8f8e6e6800f901ca0ad20a6f4c9ac8b85ab79c8dc885bfbbc5ca9f0fe7e9c79dd7df199fba914754cfc53bdff7707e8806f28994f371ef073f1ef72fe663b8a7f251d7b7df9a9b092e4ebd29cf86e407ffde8fc44d77cfc4c5e9d998cb39726060637ceaef7f263fc079dd4a9e791eb8e3b6f2419e9f9bc9856d2edef5c0c67271edfce88ef8e4cf7d2acf9cccc4baeb6f886dbb276370cddd6551bd98bcecdbe653be821d7a3543d15f4c8a4caacc9f4dd94ca64ca84c961c4cb60c5a275f2763fbc6c9d8367ad8b1106007a12326ed326153a9481ce340044e5da2234fcc5a5ed7d513cfb8e1c3c3fe7279a1a33e98d4cdcb18d0a14e9ec8db36c6820e641cf20b335fc4a184f4ab4f79daab67a93e6df3325678c8db18f2880d5dc838e91372fa5e7929475fbc02d479f16bb1769ce8c2e3c0a7f2da165e8d695eb5ad727994f2c43537f8fe42079936f8346ffdd3e670ec8aa9dcd8288dbdd6c167b9a53fdbb2d4c9973c7bc27bdbbc0fe250c2e60faa8df980bbfdd7ed88d1756be3ecf9f178f28563f1c17c6ec9fd77de1af38bcde3016abb7ebddf0357d4036538369f172ed360cc8e9d3b17dff9f6df16d8f1f1335704df365ed98d89bfca492fcdcfdc985096bbe42b98e606b18bb961f0031f717192092727e3a1bc882bff5a9dcaaf7a389d99d34d2ccc4e3793211797e46735bb27bf0aca4a91673b1fdf0d6f301fd33d941b9a0b97f2fa11c489771ebd940de4066828b1d93071b3223ef8e8f4e9cdf5005d3538e05f722c68fca4bbfb7c14265a27db321103dbea60f82c4e4ee0a838e9638bbcd876eca8bb50a00b89d1b49ab618f0d0a7ad2db8b495e9471ddafac0a6c6a7aebd3270e0d5a40d38621993fee0d776751f802586faf0c4a08e7d3b8ff293d20cc53829db79359f8beec60f2c495deca03a3ee3e0fdea9517fad8695bfe00c9587ae5859fda17d8b4a13a2ff194d146d7b8e01b97ba94f039a843d66d6b8fccba3af8978f4cb9b645962f97cbabd6a70e2e84bd78d4396a996d4afa18597386b9bca1e546566955b0ea17f49b5fe22ce42ddfd7c6f98b93319a8facdfb96d4b6cdbbca9cc83e9bd36e9d7fb3db0223dd0cc7acdd8e273f3c20bcfc6fffa2bff739e35198dc3870faf880f41567463e2c5af2c58dc87840f5ccfcf0819f6faec243f6fe15562cbcf5f52f3212fb53656d34b45b7bca4fe7c9e71c96b5a1b68f12b5fcd7d50529eb22e7217a25f7be31ec8a9bf4cb6fcc5462f335933a132013361424b9371679287df7c2dd2e83a11d7b6c5305f1addeee2209fb2f6e162826f6c38a0dabee8245b5951c81770905142da50ba7020aff352c7dc8ca55d62636ce2d73ed4d70f3279d4b5458e4f0ec8d2fa92ac33b6b17303510c3a3662531a1b75f9e2d5f180dd4b6e6cc86a42bfc49be3818d92b696fa58d2ab728257133ecc1d7bf3aaf5ea3a3ae6a5ad71ea4f7cdae84362d4f6751fa8b3c44b3b746b3bea1ecdcfe8bbef55ad2716651da379c207db5c4b84d9469e5e112f11b833790b84ef3cfd7c9c3e375e9edefbc05d37e599e8bc2d429e681ccdafadf9832bfff7a9df03abd4038cd5e68fd2fb1f7857fceafffbd9f867ffdd3f8af7bfebbdf1d897bfb8623e577463d239159267242ec585f1b19898b8b86281f6817e347a8089918994a326db4ed696cde4de2c0a4cbee821535f9e58f2db6df5ea097db98fee228f6ea10c111da9d6978f3f3649fed5aa1f6d8c475bcb26af464b9b1a535e1b073cf4cc433ddbe8eb43dfc5262703f9b5aef8e0d47c6cc426376d6bccda163984bcf8cbb63c6dc107533df8355eddd6b68e499c02d0f1258fb2ad0bb6ef8d78c60646fb8c1d3a753cc62a1f193cdaf2287be5d58e515cf4c1c006a29daf4b7d05cf181b59b78d0c5be3a8df9726f794e759e0321673f3cf5d36256cd6ac198ce379ffa66f3ef35aac5bb72eeebf756fbc7c247fd978ec7c8c8c8cc4e7ffe2eb71ef6d37c4bbeebf6b293eedfb65bf0756a4077248e6502c6393b1bc71d396025b6e72ba220e1a9015dd986cd8d05c08b37bd78ebc41dabeb8c843fcfa74d5f40003f1d8b1bc995d523de93ad9c27352a66c4fc076840b9018f0c180b081682377d1a8f1ea4581491c42171bb1e121636113131e84aebe2de1a32b193b253a3546cdb38e5ded5b9b37ca4bdf60a047c9590716a73ac7765ec88c151bc838c484670ceaaa674cb4a15e18359e0b28ba609aa771a14bbd96d575ecb041075db16d2387e04beae80b3c49bffa944f899eb6966268677fc8d7ceb67af0f501561b0f393c4becd597673cb4eb3e11cbbc28f9ea1a3e1805274b09f95cde8661fbd6cdf1e98f3d085a6e4686f38fbf2df933e11b0b3667329bafa8bbfda87dbfecf7c015f7408ecd7abc3256e7fdb9f00aff5e7845372626ce6de547d60ec6ccdaef7da56e77bad17a79d9ff882def8f1f668bc972281f0dc0042cd503555e3dc13bd122ab1738daf5e44c9d031293bf889de8dd8068a33ea50b4d2d2b40f9622cc820f0ac1746be800d5f5dfc1b8325bad871e08f529979d95697b636f06873980b38d497e9e482431b2226485ff2e1193375486c75f44309c1b72fc52b828e0c5e9d97f6e850d7c63e826f1ec86b7daedaf7418ffa14431cda35167c0ff3d6b7b6b49161679d18bcc913f610fa502f3c72c41e99b8ed589483a10c1e7eb0a36e5ee840e2195f3b06e4755ed8d0860f35b1e4b532b931e5970fe5171045d27d417764646decddb0ab30b9cdc1f6bcb6c46f7c481bb899bce6ae4ffd1e58f91ee073c5e7268bf2112b2f2bef261157746372a9b9aa354e9d1e8f23af9dcfddbc674cbe5702fca5d8c9b593261f573a20a7bc5549bc0ffafdf6407947e2c2c5b9d8b3272fb2eb4ca8b99c94f7c836a84eca4ce06d7232569f121e0b0c76d45d1858442065e85247075df4d0a10e5fd2076d17117960701823752e26e4626d172dfda3835cd206794de8800fa94fa93d75b029cd05591d739d177ae658eb602326becc1f7ddbc821312cd1352ffba228e68b36755e621a472d131f9d5e7935cfa16a70b1035f9fd4b1212fec39e071e8131b71f125465d5717bd3a36f9e88209d53cea1cc888a9b62dcaf902cfbcedffda8f7662b4f1f4019e795307abde44d57961931197b3651960c91f796163dc21ce8a70e60422bdce69d47d72000020004944415494db91363cf35e62f62bfd1eb8d21ee80cc4fce43463b2b473cc764fea5da98765f62bba3119cf477443af1cbb105b0f9f8bc989093e6b6f48d3b9bbe7217e23dc77a4bb06743e747c3099243a9dd141eacc3745dfba4ec4c06d2d035a99ba75597453a90aa1165ff375fa87bfd0366e188edd9d8e2c13207d966deaf5845e4fce4e94f09ac9b6bb18d1b1da39e1c3d386522c277979f5e2a57eada35ecd6371c00ec22f3a6c4a7af9aef3424f1cf8903ef5030f197ad691b9a889874c5b63a02d8e32b1d0a973350ef528c90b3e0775b168632f694bdb787af1941b9fb18843e9cf69c581674cdad13696b6ac60f25e54fda98e58e6d2ce4b3d30d4b54e9b7add67b4b5514e8cf295d1aecf8cc8d787793986d087ec43ce762c76de8b22c8173038d4a52c47ce363cce801c9764e52fd2d4edbc67e0e6ff3cf8f9fdf7984c75d82ffb3db0423dc0f076fc356b7933de39a307313e5783567463129d6f6ef870f2c1e5946e7e1e7b1279adc987f9fde4c3b7e45f00b371eacc783e41383fd41d6d3ea86bf38eb04f1d1ecbbbc5cee49d0d132885e0cdf1bc9c94b3a1e12f08ceb6d03f7c96790a3144c7f1a040f8f8e233bd362f5daf27083a1a6de46072c3a20ca1b46b5901ecbf349d95fd50f72113b593747b0266d03a91f37e29a72b6b3b6594d6d5b9dcc0074b6c2676490cdae840f228eb9890ebaf2eb1011b5d63aee3f0ab0af4948b058e7ceaf5810e04b6b12307bb6d872e3a525d17a760e5c69dcf8518e851aff18dadc6e43d53571f352e758f3a07b1b1a9634697f7a1ed574c4af429d19158806b993afabc5c5eda538a898d9b0a78127575c0839463635b9f96f0cd97981de7c5a0f3028efaa5ece466df5a228328e565544b9bc80e5c723a7167c166646a7222262ecec4e4e4a5128b7afdb2df036f450f305eb999e6a54b179acd72b619f35ccbc4b570abf5f3d695dd98747e2f3c9ba71aa767e6f2a76db96074e787a57ecc9c7233b2185b36aecd63385e7eed427ce1ab2fc5c6f57937d1fcfc0ea5c2d8c4747ce2fd3797a7071f3b3d9bb7adf7b43e762339490cc4c9b39762cff60d319a7fc55f9a9c8d0debd6c4cb79b686bf2cd6af1b8e5bf76f8ee93cd7c906663a3729afe615edfc754c9b18b8a5fd5c6e6c86f36af783d76f8993e72ec5d88599dcc0f05767232b9b998cbc99569652b8e62af6d79a41864cb7377a4df44ebcfeb56b6795893b0736364cf22e164eeee89541df5a58f5210e3a92133e6df9f0c4a4241e4a79e86a47093ea53ce4f522a49d388b9d8d313ada98739d17389076fa014ff2d43eed9a2fae7c64e220abdbe8a8dfd6510f1dc818d02ff57c2ffdf5073c8e765e60d81f9cc144475c4a0ec892ba79a10ba9a76dcdb7aecc1cb0ab65d46d133b7aead479e12b358b1c7d7529d5878f5ecdd3afa5326c0a66dad80fe2d479c193b0d5475d8a0d4f328f3458f2832c7b3a368c0ce4fd4af2f3b2d8bd478e76fdb2df03abdd038cd3e15c0f2fad63fc3167379fa1ac349fb155da99ace8c664ae7365ee1c3751cb8d003753ebb931c9de9c65e1cfcdc9c4a5a9c83d4cbcefbe1b62eba6b56543c0998b8b7993b4c1c1e1dcdc4c264e4e08793f74a6bf4bd3f3f1c8bbb6e7d5e91be2d77effe9b8f3c691d8b9754d9c383d137b776dc83b209ecdaf1b4662766a322e9e3e1e0f3d785f9c38793a9e3e7a223fe07bca83014fe50684cd135f4becd9be318e9eba10fb77ad8db1f1c9589bcf9c98cd9ba170ab676427ce4c94cd4b67ee5ded71f0238b4fdff355cedc30936773268c41cb04ccc4ea44eb640e4f593da9c3e79047c2a59ec3dc8d0c586253aa8f9ea40e6d160b7420f8edd2c5441d7db763151f0ceae88ba7aef7645187d23c8db304902fe28983aefa94c6a99e76ea1137f51ab7b6c3af71622b0ea531c1efc6dee4054f1fc85cc4f587bcc632fea29b618b079fc3fe6fe44d5ef0d5030f3217f875dce6a40e728efa4c18fae8e98bbaf8d48d97baedda4709a0f3025f993896c6806f7d898dccbcd097a873a057c7ddd641ce86ad575ec52ee5e5a2d70e0e1bc64d1bf3111d69b379f366ddf5cb7e0fbce53dc0f8e33961ce15fe31b35a81ace8c6c45f0ccde7a2cf95e1337993b5ee5252a5901f3cbe82999c9a2dcf76389b4f139ece5345f323ebca2660313b60366f3fbf9067403873c19917be62a1dcb76b63bcfadad1bc33ec68dc72fde698989c89ada3c8725b94feb866657d4e2a637957d96fbf3017b7dc3613cfbe7c319e787931ee39702e0e5cbf2d766ddf1a878e5c88471ebc2ebe9b372b9a9e5e930f169cc90dceba18191a8f53e383f19187f6c533cfbd1053d34cdcb953ccd76b9a3aefd9ec5cf7af4efac3c99789b5bd503959bbe140cee4dc6ba24f6e0c54bff8014f6cfdf4b20313621181f4455d7b4a7dcb034b7edb576dab5ebd506107df5f0d895dc7a70e3cf1e159af7d5097cc47bfe873d43ed4c1c63ad8e2d77c71c457cf58c90b7cfa0f197c79b6eb98c581872efe8d0d7da82ef5639cb491e3cfbcb0e9d69b3c8841320efdd1565f3c756b7fe8d4799538736ef1a38cbca682cbd7cf8bcdac655efa400e190fa5877c7d16c57cf1fa38b1c8abb6079b03b93a62e26e7ea1e90765e2f6cb7e0fbc553dc0f874dce293315d3e139db97735e258d98d492742ce86cce4e6e48dce98f015ca6c9e2282f800a67a7e089b23ff5e2b6dbe76e169c26c7286f31a93897c9ae6f5bbd7c7963c23b23e9f1171f0fac178f9e8782230d935f3cd4c9ea5697e2e37107b766ecbbf3686f3ab9ed1bc5df340de946828cfc4ccc5deebd6c557ffe6d538fada6cecd8b92b5e3a9d4f1f4e8c5b6f188dbf78ec74bc7a622a5e7b753eb66ddb116b4f5fc86b5c66cbf527cdb45442bee65e98aab90e87f78deb02e80b274b277f275c3a8709da09963603b94deabb0839a983ab8c52424f1c4b6c8ca3e66907afaeab030f5be594e2589217445b7ab379b5e3d20e2cea9071e94f1f758ce4acad7c4becb125ce9a479d03993aa5cd4f51f31f78cadb3eebb8d091a883a59db11bdbe5f2c2de7cc5c3d6bc5e2fef6e0a8cb3f66d1d0c63a0d43f36d4a5ba8d1ef9f3bfa6c2eff497bf28c20e3e07a45feae2a303b5f3b24dd9dc9ba479cfe94ee6b486dfbc47353e58fa6cf8f8ee062b2e7a2b46e498602b8d4dfc97c36c7223ff1f2c8bc67ee563fec1a2b9baad96fa3ac721e39ecf0fffca57ba997afed9b42a1db0a21b93a55bd267027c55c2d16bf0c16303c1ceebfcf8446e16a662fd48f3cb9ca17c4a1fd78f8ccce40493839b3326b3b9184ee519918debd7c4dac199f8cad79f2b67501ef9e003b123cf72cccdf3e4d69c8c521f5c7e4e87ed443e2830a782f2972d0ff2bbff8e03716e2c3721f957c8ce3ccd72f6fc54dc73fb8e7c123113db7c3cfdece178f7fd0762f6891371666c32eebb737b6c1c598c1367e7f32b2026aa55790fde1ea0f99ef1d51b67baec86f6868441dc9ed0498e09ca8588fad260efd4e1398995c19fed9aeac5455d4a170874c114d7121dea628b59f39451aa6f5ee0bbf8f4ca0b9e9b256c8c471c31f12b163cdb6d1bf5c5298a1d5beb9435bef1c1376f78b53ff5f905887af27af9345774db31da77d8416d3ff447db06556f1e668cdad236873aa69a677f285746890c3ef51a1b7cf8c423698f1e5f8fb4719143e28a0997e7d8d086b057b7c62cc28edcbcd4a5cc88d2aed1d28e96751e2b4fb4e5973d45bfd15d89d7c67fe32b33c04b039b0135353e3fdd584a7ec9c84c53afc9b709a99b87b90154d769177b2a851a9c82d4f101bb6d238f4eea4457ace58b6959e72456e1d1c9192c7a78e67f63438e9df7a0e4267fc94dbf72991e28efbafd49f7a65ee9d3d5d997acec7d4c3a8fb9291b81997cca2f5fad745258962ee3a69cd9c8af66366d5c9f8bfe647ce7f933b163cbdaf25739bfac393b3e1defcda704633f3d3d176bf27a9385b9c9f8d32f1f89e9a1bcc150fee5f1f93ffd66fe5a677df137bf38144fbf7034b1b6e4d72ff910bfb4e4573e7f983ad30b23d9da10bfff856f945fe6b0611a5cbb290672b3f39b7ff45a5c98df16674e1d8ff39343b1e5a9a331309cb2a9b9f8edfff45a9c9fdb9a675a36948b79f3ad5896c7b5d4e03da3dfe6f2ab1c3efc6c2a99a89df899e49dec19b065526866b2a24f5f39913889a85397d4db0b46e3eff50b4fddff3546db0f7acab5a9755c80f04bddbc8c8585167d8e1a470c30b155ae8e2572b16a1beaf8826a3e6d6deb523dfdd42532c9fea38d0e6d70f0a58c52dfca8d81d23a32ead87348cae1a1c3215117bbd16becc4514ebbd6535e976d5c63a074ecd518e82383671dbc362193afbd3ada51722458111997e3013f1cea8bc734517eb19056f22cd1a75e7053ae3d0eca649f9f2b7f2a8cac174d4f4f5ff6a16937dd7453b95d7d6d873fb1b8532737c09466f2573f67f382ffeb766f4b9d86ab2e8c86d5792d45472955d19bcf1f170ce5af36a8d3cd0303b3f1f9dffc0fb1f79d9f8a77dfba3efeeab1a7e2831f78f7d242838fb3674fc5d0fa6db125ffd0844ade962824cd72963c7f453976ecb9f8eb23d3f1b1f7dca7464c8c9d8cd9b59b63eb867545971763b64c4691950c9642e6fdca3fb0726d5a33bca6e456f7cd12d8355a3973e64c9c3a75aa7c7676efde1d5bb76e5dd61376a34f17a6af1dc7cb1457a0d11da12b0026047fa4cce505abe58c4961b62686cc90417ceec274bc7af44c9e2d198877dd7d5d764827f594dd9cd53503f371f4e4c5f2d3a4f250c07c42f0e2e0aee427686e5ececd6e8ffc1c94c1563a698a5fdce4c30397dccdc7e9b9cde50ccc9ac185189bdf994f226e3ea4837932e5d8d8506e54fe7ff6de34d8aeebbaf35bc003de031e668098889900e77926258ea2284a94284bb2dc1edab193d8a954577727e954bb52a9fe1057a52b950f4957aaa7aab83b69773bb1dd29bb65755b162d4aa2488993388ae22cce2308820440cc0f53d66f9ffb7b6fe1e801a4644010292ee0dcbdf75afff55f6bed33dcf3ce3df7dcd118c98f94dede333d6f78cd766f1ed8c6225edf32943b469e34e5cec14ed2c938f160fc8bd3b043b33eb982c57a62fdf50fc8fd8d9475c28ecfc2c1dfbe0783b4341d3816c5be2d78c416bdb1e973b5ac62c5e1d3d9274e2818fba6258e3738f5e8e4d66e5dc6a8fefdbafa31f5418f3056072ffe08b1d0f76389476f3eb4c66dce037fdf30e5a5c5df2b18951b0ef9cc474efdd0f771fa34ec809f1c181f295773a4050316a125969cb48d375b055dad0b3d3a79aa7fcd570c7839adcb3136053ca20d2ec7f459f057c4db8ac74e1f7d5de0ad186c55c7155e7407b82f0f6cfe633cb1574cd4cdef55edcadf235bbc78716b790301fbda6bafe5bd7663edc4a4f9b63cba7c0e8eed88efdd7e5bbc3b7a5a7cfc9499f1b56fdc1557de7873ec7be5ceb8f91fde167ff947bf172f3c7067ec3be9bcb874f5f43ca1b837a62d3a2b6ebeeadc78e8bb7f1dcfbfb92d969e7145dc78e9faf8eed7ff229e7d736b9c7af967e2820563f1b5efdc975c9f8953962d6ad3f3d68bdf8ddffff6d6b8f57ff9adfc43665fbcfcf20bb163ef70ac5ab03f9e7f7d6b7cf7cfff796c5ffbcbf19f5db534ee7df8d9b8f8ea4fc6a9cbf3c428bddf79fdd9f8c6ed77c759d77c3ece5b353f7ef4c34763eeda8fc5e6979f88af7ce7c9b8f933d7c6bd7ff28fe3dbfb2f8b7ff46bd7642e5f8b25977e32564ddd1677dd737f2c3df7aaf8d8992be28edbbe1e6f6edd13e75f75639cb57428fee35f7d3bafceef8f9bbffccb31f5ede7e33b0fbc10377eeea6589a5fa2f84838597c273831619b64d9b469536b0fbbe93ab7a7dc9a825bb0d8be588e971cd313937d834b26dc80ba2baf5aeccdab0e87ed59bd2a76ef3d14fff3bfba2fdffcf94adc74dea6c6114cc1aefc66cff0f0ccfc4b3c1f6f9f1f2340867e6f43e58ecd8ed7faf9d299f3cd5345d772aec389d2de048047984f4e5ef8c3818f7076669ed87667db1d543a1b7fb9705fcb518b688c1ffe17a6ae5de5dadffd7554df10a8de370f0fbe6eb88e69593cb8b78d3ad7813adf3c9d49f1754c1f3f39c0743b47c7eb815e7bf5058b5d7ffb60e4b1c59f3e2d5781f061ac68770c578da99dd679e9f2ec3ce4b295073c387c14b9d0798500bf9a933c60c9c5da68c725d3978b16be3e8f76f42cf81b9378d811fa2c091ad7a197cfb88ec5abaf1c47ab0b3c31cd0b2cfdca430ceddab013139bb168d5575ef4f821e6296753e68b7518d7b178f5e2e1335774e6a1dd3cf047da380f525e85cc4cd2897c5a4fb7f1163eb64b6ebe9e3d7b766ccfdf2483a39f8773f0cc03df8efffd0fbe12bff65ffffdf8dcc5a7c51b8fdf9337fdbf1057ffd28c98b16855fc83dff952ac5d3433fef4f11df1f7fffbf5f1d57ffe2fe2a6bff3dfc4e6fbff43dc7ed78e78fb85b7e3b21bae89479e7c39eeb9efd57873c6e9f1c5cf8cc61f7de7e9b8ee373f15bff4e991f8e37ff5bfc65b8b3e1ebff75fdc10a75cfec5f89fcedc157ff86ffe7d5c79c327e2ddfc76e4c603cb62c59cedf1c68e1db1fe926b63f15997c5b43d0fc5c3cf6e8eab3e9957b40fec883ffd97ff241ed9b332fedeeffcad5899df888c433be3e5b7f7c50d9f3c39defcfe23f1cc4b9be3cbb3e6c4aa534e8f2fadbf2646a7be134fed5b149f5e3b27fee9bff866fcbdfff677e2ae7fff8771f7b6f5e93712d75f7b7a3cfee2a3f1ea7dafc4b9d7e509c9f3b7e795a68d71ed6517c427f3d1fe7ff08fff612cbfea57e3b77fe9dac8b720df42c6e7f917a9b379f3e6b63d9d71c6196d9f7fe28927da894a3d3169db3bfb5f7e2bd3e79864efb84cd3313d31f19771668ee4af0ececc2b0ef96d96a39d9850d1dc590bf954a6dd13d21d46ba3ad9654767b7bf1b3ac547af27740638c6efcbbd77da54de947efc60ed41d037899aac0762751ea8d18bd79fd6032c7d857e1dc3e11b8a7c62e4c5ee8945f5a5cf1b2e387de5a3c54ecb9b0b7d70be419b1b79d1c7decf433d18ec8abee8588cddc7f4f9f0375fb0f4c9cd5ce5a7e5cd0a9bb1d0c1d7ed491375a1d71f3b78f3317fe2a803af9e7ecddf58e8aade3aaaaf76796b0c6bc4d672ce56d1660e5c5538d8f223970ee5fac29f387d0ef330a639d862373ffae8e5aafaa3d5a59f18fced93bb39c18768eb72c878edaa71577729bf617d01cbc739d481309e39933fe0a61db6de3bce88e5ebce8cdff8e55db1e9a527e3b1f97362fdba73e3739f7832fe8f3ffe6afc9d1b2fcc7382e7f3a726f29950679c198be7cd8d39a343f1ce962db16de7a198396f7a8c2e591feb56ad88077ff06cfe9aecf2d8f5c2cbf1f8a1fdf9e58055b167e7b678f0c10763fee91f8f4bcebe24ff909c12afbcf156dcfca5df8e9df7ff4a7cf3b153e2b72e5d198f3cf274dcf3fcb37130af7eccca0767be9e8f6fb8e4924be3aae54fc4bffebfbe1abfff7bbf1e977fe2b331f2e473f1c8f7ef8fd1ebae8f99efbe1963d317c7fc7cef9b76c6a571fd0f1fc98fde6f8b4bf2eacad62ddb62cfacfd71fad9a7c6bcb9792f60fe51bc253f22caa750c58c7c4ed5920da7c69a950be207cfbe114b979c142ffde8b1d8fbf2e65873e568ecdef6663cf4f01371f63537c7d9179cde5d81671edb6cfe62beb0ef20fbf2a339b649b62575ce08c790f1fd2f4f4ef85d27b75fbf912bf66fda1ed31393952b17c5338f47dc944f73bde6faf3dffbd785734b98c60d7947da2272dfe5a63377e2bf69b11ff9ffcd66808df28d8d1bdbc6d8ae3ee50191831f1ba71b6c7f5d3176e305ebc1994caa9f99817741471f1f7ce923f45910748ee1abfdba63e90b17624ee6809fb9550e74f81aa7fa8153afafdc72b460f9024edfaa331f79f043182395175b7d83864f5c3f1e3674f8b3549c3674f6691174f8553c63ec62192b7238a64557eb42a74fe5b50fd693859aeb64f1c675c939819d38c9ebc731063920f823e058fae3661cbc609b88d1f9b24df5fd801b071b7d7cc1aaafdb2236e36367a9c739f62decef47f8e866e5ca95ede99cf8700505d11fee398b96c7b5377d2eb6bdf952bc940fa5dcf6f69ed8757069fcf6a7cf8f0d6b17c595e7be1a6fed3c18375cb6a15d35b8e5b77e2dbef3dd7b62d6ca4be39af3d6e65586d7626a7ebbf1e20bcf49fcb238b0f5cdb8e3aeefc59c0bd7e4631e76c7fc5567c7d5679f36f8db792c2ebfe8ca18cd7b387ef9bffb67f14c3e5f6ad5eaa5b1fee59762dbc133e2fcf51b624e7e04fff013afc48bafe4f3a2569c19bf7e1df78f44ac3bfbe25c2e8c671efd418ce573a8363dff642c3ee5cc66dbbce98d88932f8a4f5d74592c1ddd1befdcff5c8c0dad8e4bd7f216361cbff51b37c69d77dd15abafbc21ce593d2f5e7ce3dd9cff5971f17917c6f27933e2ce6f7d33eebdefc9587bf517dbc75f6bcebb3ccedeb0aa71e7dacbf6fdcdf7c0e143d72c5bb6ac7d14c89512b6f9d1d1d1e03e93c324a728b7d6b66dd1ba6d1f86394683637a62e215133e7ae1c653966e7df7577ab72150d8db5bdf6d5f41ed10ddc198dae8b1332f9c377b70e636d878d2276786ff39312269ebd91c079cf7f311cc8013f71671c091070e261e4ef26afd16700247af13701cfcfb312bb7d80f72dbbdd9f0071deb6deae052b207765af41c103d983b761be0803baecba9a08f5fc5d397933e7c8c69f5a545d4b5c1e0a5cf59b9b0f906e89b865ce0e813138c7eea89e5820e9c421f5fec087d30350618ee234863c319c77ce492dbbcd4d3561b574610f3c086f0970e022f82debacccb79d3e74875a9effb1bb3eae983efd725c6dc5b5283176c08367cedebc3983e76e612cc6475a1971f7c9d1b6d70198396c538c62077f162e145884fdff5a5af71c1a0d34f7ef472ea23165f78896b9c960bdf304c719edba0bc80e12f5b5b72dabd7b772c5fbebca0baae79a44bcc5bba26ce5bdae997ad5a378ebdfcfa1bc7fb491aa38b56c7cd5f583dae3bfdcc0dad7fd6e9ebe2c0ae77f2dac4b4587bce27e2a20b37c4bcc5f3e3fcc5cbd2ce7a62ff198ed34f3bab8d63e1ca3877614773f58d9feb3aed756edcb07c6deb6d384d751e65b9749e73715a9e4c2087969f15cb17ad68fdb5a79d172cca8d9f9ca8957958b4e68cf8622eca19ebbb07d29db67a41bc9327644343a371fd977f354e59b934e6e7d5fc76374cfab105bacef4fd456c67cd9ad54e70b7e49532e663e1c28587ddabd4e6a4edae8313efdce6c08d6fa3bef91fa3c93ba62726e6c44ec68ec081d8b7766db4d4c71b1ccf2879e0b117624d5e9a3b37bfcacb0daecab4bc1cf7d26b6fe5577ea7c7dcd9a3794048af7cfa6b3bd8a71fcfd4c879194876f2d2e2ce1d7bf352e2b4bc17221fb2363a3375dd0e2e6af2b6cd769ac8747f7e5ebb3b4666cd6e97f7b854859e9807f22bc948b7a3d737ca7c533a3096f7a2ec8d19f9bc94a999233b4a876dcd87e2a52ba9db91a98fc51dda7e374f13bf9762e17c26d9b6895454df6e2ebb371eb172556e367ef46ddd97d8622ba70778f8e0300618df00d481a978c672daa7252e3816fa8a3cc6c74e0cf448e56ebca9e323086dd6656b8e3507386a1c7c19ab332763e25bf9e9a3535fc7cea71cda6a3ee878e3438718b70df2455e73824b7f74f4d5e1031e3d3ab9ec3356aa4fd55b4bdf576eecc4c4eec75a72ca63ce9e64a037676db6d8583816e82fdebc8ddd7083bafa7d73b02eb98c43db9e0dd1da1f5f67f8ebc36f887912420dbca9ac5e3d7122612c5bfcf23fa4edd8dbe9d94edc8ebae31c7ab0e654c74d9f270e43a30be38a6b3e0510f33816bb5f5ec09fb1f1e41cd737cfc14b62e102d37d8c25e79458be66dd38b2e52436b51319d79cada9856e2972aeb3304fc86eba65d5f8be677d2de678848f3a5c256139b2e464b20de532358f83cc1f373737f159214776fe892cc7e5c424b7d0dc5aba0d66b26cd8a45938c35ebd6c7e7bfaebf67c04fd58fe15c05fd59cd08cf015349ecd3fc0c2333ced503c78f7adf1dcab3b62f9ea53f28cfda29895dfe83994bfdf7260fbc6b8ebf607e2fcf357c5533f7a33aefdf4a762da81fcbc2cf9babd9193a56ee7e1b229cf74685fcb4b3bcf3599326d38a61ddc16b77dffdb71d1c76f8915b387e285e79e88c71f7d22b6eeda19b3e72e8f4baeb832962f999f9f6df32695cf42c86f061d9a923fb4b5edf5b8fddb8fc667befc85bcaf664f3e8b80afa2757f9d93f787419846364485032c52756cb0eef41e80d5896b1b756e1fb5f50d426eb0f2e8870d1d63b88daf4e7d1dcb630b477d33668cadbe29c98b0e310ff46079b313af4e9cdc7282a5afd097afeacd193ee3ab03878e317119cb23073663eb8fcd3ccd4f0ec7b4e2cd153fd7077decce859cd8cd0f0ef48c27d36143d8e7e8893337f8c1b8540efcac0bbdb93a0f8e6b8ee0106b1003bf3afae0e4014f7fb2bab0557e7d69b5a993d35cc568778cbdd6455c8467bd98933ecdd07be1c464ddba753dedfb1832cfe3b0d2cbb855cc539d634f1c32d134b1bebb752fce563c38a3a01bd70ba46d5c5531c1c93ce9d3da823d3c637d8c3641cb1fc0c8f8b3618e944707fb857f65ce11e77d6242581779fcc909d5d6f62d277802784c7ac7e7c4e47da446f93c50e8f5cdefe6e7a3c379c3d5de7c2cfc9eb663f2a67f28af50b4c273c3ca51fe037f285ecfcb7273d75c13975fb83e76e4d7beeef8fef7e3d09c53e2e3f9592893da0e3ef98357fb766ece9385dbf273c88571c6a94b63c7c159910f8dcda7bae65de16be6e5d794b7c6d8eeb763f3cea1b8eae357c69b4fde178f3ff1837829bf5276f9b5d3f2db3dfb63d9eab3f2e9b173e2cf6ebb2baeb9e9a698face8b71fb5fdd11316b455c71e919f1e0bddf8afd0b4e8dd396cc8ae13cd37cf38547e2cd5dd3f26b7153e3a1479e8cd32ffa78ac5d9a37f71ee46acbc44ef33ea6e7e71662151c40996f0fdaf6d96859b023d5ae8d16fdc40179626387870501a7e8dbd6ef40af1d3cfd7ab067dcb69f01817df4e64ecba20d683f6ff0c6d4171c3ef230c6c682bee2ab7eb2baf4d5c731edfbadcb1accdd3c6b5df0313fe8b41313714c5f3b7dc4fcc9059b35100b1b6317e3e387cebce8cba34d3b186b97076ccd83b1e23ad6073d1cf8dac757312773405ffb8ce1d29f58f2a16391435fc6ce857599b37831e8e5b16fcccadbe1f36a63fed1935b52b74e727db57bb970e8099ccc0a55c3fbb317723cbe518f755dc79aeff8567f62d88f34479c94b0b5b56fe40cb6ffe3b9019cb01313a7bd9d8464c17c7433bddd55deedc8fc0270ee72dd9e370073c563d6c848dc97dfb15fb7705a3c71cf1d71ce0d5f88432fdf1d773fb82d66b61fba9a12a3f9e09ec7befbf598bdfad23865ee3bf9fdf77b63e9bce5f1f2d8ebf1f073bbe2bacbcf88971fff7eec5d70524c3d34231e7d6246bc92779adff8e95f8aa13b6eebee79c987a5b42b36d367e40d6573f3d2557ec76864341f6d3f1c77dcb0b0da240000200049444154714f9c7bf6c9f1dc338fc5c9979e19b366ce88779efe46fce14b67c73ff8affe76bcf5c4adf1ccab5be2c28f0db795d9eab0e00f415b375e0fc0b4e83d08d732db417460135fedf8c9a9bf7cbc01549ffae60a16f1cdcab15cfae28fa0af6f28f4f155af1f58f4bef9e16f5ed810b0e80e6f0fbf8a844d4e5af3b1af0d9e7e5dea6adc8a270773a70f378bdcd8eabca187abea9c97c96288af31eddbface883f3a1673b05fe7ce38e4863046fa793006235e4e5b63e14b1fc1073b4b9faf01f2053e6cc6452f5e1b3a388d6dac3aae3e72a9d3571ec7d85d27fab87d39e6a0ef5fa46067e4b16e673eaf04010347956ef626e6b1da3eea7f3403c76206d8eed816b96830943740b3ffb04df3890327cdee6bf951c13195fe15b1634afe5e64143d7324dff0b35876521e77ce6fb1b8e42e9747095938f01d8c6db9a35e73f3e7e382b336c408f795ecde9bf7771c8c99f990b4dd3b77b52711eedeb537a6e7f7d4f764fbeed6edb16ac3d971d29497e3b14dd3e2bab367c4ad0fbd15575c7755de4f3214575f73639cba744ef2ec8e2d5b36e71599cd1c993268b7db1f3ab82fb6e5730238963e7afb37e2f1e7dfca8f9e0eb607067df2539f8ffbffec4fe2a9e75e8b91d98b63d1d058dec1fe722cdf70659cbf685ffcd9fff78d383494e77e59e78749d83039487aa064c34587b8e1b26e6b1f9b07d7f18d3975fa69635c75f8297d0cb83e173a702cfdbcd0699793ed0e41af8dbac0c22d3fadf6dac7172c3eed5267f254d1864e7f748ed539978c59c8bd8a38f3622c073ac7fa5057e5446f5d60ad4b3f39189b9f3ee8c4c9df6cb9afeac758bf8a35a673665d154b1f5c8d53fb1e03d08163a9a20ebbfcfa1bc77af593433d78051b7edae8b3c8094e8c3ab735e3c9078ebef58b8783bebcb460393919ca2f0d303ef9e493e37b77df975f8dddd2ea82e3a3e5a339f8596e036cd71c4b6efbe637e3e4152bf30ff4a9e3df00238fe32527ec8a098701ee25993f67668c0c4f6f3fcac7094afb764bea47f2eb66bbf2d787b39bc725fe71c23235ce3defaa185938127b0e4c8b6b6ef95c3c74fffdf93094b571f979a7c6ebafbe1ef3f2c13c6b8717c68afceaf2c3f7dc192f6e9f19d75c7d69ecddb428969e331227cd3b18f34f9b1a1b4e5b1637ec991aafe55309e75f70697ce2821df144de4f72cef957c6ec3cfbe35edb7ccd3f4b67e7efe79c1f53f33e9475175c14fb5eda188756ad89fd3bb7c4c6ad6fc7559fff6cacceeff82f58f82bf9fb3b53e3891fbd1e6f4dcb1399bcb3fda68bf2ee74be1d3471cc3b5eebf167c6cbb470009d9ef70079d0f560ecc1d5032ee37a20664316cbb747f077eccec6bd0e48e50087c8c7187cbb21b1dd3734710251b1e2f1d5079db1ea4909fa8aaff1d1e3afce3e63c4bac0b12363d7079b3b77e5d78ebf7adaba98a7185ac4f8623b6d97073ed859eccb6fbed6a13f2d428b4fc589a506f1725babf9c8c1d8befeea68f1238e185a70f218a701b0e5bf1a0b5f30e2f175418f60b36f0b06a9d8c9ea929fed431f396a8bcd31f1f0b32ee2989f3c8ec5e26bfca6635eda3ae0443f9f0535674ecc5fbc3cfee0fffeb7f9d1f1457963fff0783cf83f928f66e078cf007bccc38f3e16fb0e4d8b53d62f6bfb43b79d77db3edb6d930fc4cdafef63b6387cf097c1a62d3bdaa3cee7ce9ed176640e437988cc939043b123af86cc9d332b47bcc1e5c35f0ee42f009f7e61deac9a4f95cd070ccdcc07fc5c77f31a8ea8f964d803b1e18cd3f226bb43b17071dea4987fcd5d79c32ddd9c8ded8b59ab4ecfab263c2f2062517e3d7b6ffe4ecf79975f9fbe79c293be279d73599c72de15199ddfe6192362b34d993e37ce3a7d41de983b168bd79d13cbd69fdb326c37f34d39b5e5c5951e385947575eb9aa5df959b3e1dc7610d9d71e454b4d1f0ea1120fd6b5220fd0e83ce0bad1d637020fe6e269d9d0c162ab0776fd8cc318196fdb9ae8e2553eecf2d2b2a8d3d7370bc6354f63e9a30d3dbafa4622975830d6414b2dd8d4890737599df2d022b4b58f3f6379b575d3d2cd8d275be6094f8dcb18d1d7564ee7a54375aff85b0378f9d021b596da07c7a28f1c9e50e2ab8dd61ce823d5b75f97f83e4e5f5b73d5dfb1fee6c458db7bd5454c73a5af2fadbe55d7c73ab63eb0acaf964bf271d2ce7d77fbf298b370e1a21c4f8fdbef793876e7d562749ebc334ded067e6e481cec0ba919cc1b9975027f1793f5d5ad1370f823e601459e96b63f18c7756907d66d5da00f1fb1edf1713cadd2f926b2c5ed0cf42b0bc1f9d8aacba1cb651ccf36d3b62d73857962fde0635ce7120471912e5637aefd66c4cebfcc19928c949a92fc000497eb43b36838b1777576732a77ab8b3cf27f177b62dfe91e29413cfcbdda907dc00d4f4a1d9e2b67e4897474dd7ac11745be95352b78c49cdaf687bdb336db00d930ccd7445df876f17dcc7cf7f14c77059c3f3e39195eb96a55acca9f3fe09b38c3c323b92da53d79481abe26c7f8a39c1376c58489e40ac90d579cd59ee0c889445fd6af3c292780bfac072b280163633c90bedb280ee6579578ea3dc20a1ae32f9cec73719ef19efc0a2f42ff50eed00adffc45c7c94d93ec1fc80715216cf47eedad531c6c2731e0f7735000934bb73934c4612f7ead58257e1f2ec9b9cc49ea76baee8d988d933adb4e91c58e6fac83c23de8baf3a006ab9f7c55071f6f2660fabcd88c3f08d130be1983a78fd4bcc4da1a0f2e7336475be3c3a36063311e7af1729a23faaa435fdffcb113837632a9bef46b5df8740b754e78ab076fdef2604377a498d88d818f63b9ac4b1b3ce858d029f81d2906874db0fad63e3c88fc8ed1c159638883477b3f26fef859877932d61f5dc5118371cd0f3c636dcd395ff4635cfb605dcfe85910eba2dfe1eb959da6cccff287da3d772323335adef3d2f7dc73ce692725edc99c79accc8adac18abc7893f34a73cb33f1b4ed3845dc562a7340d48cdb4e643a75e7dfe1c9102e3cfd766447d2dc1a276f98edc43255dd5ce3435d490e010df1e98c071cf00344c863d06df3d2a0789437e9011fef11e4d81e3d31f03767b918238d2b79a16e274bedc4a7b3514f17166b46ea061d3607ed44205bb8ba8fd2e01bd40579ca78fae94baece518b0b60c009797be3060767fe639be77fcb35f52d062e6d9f61fb98c8192ab8f06b5c39e7cd3d41e3dbdfc04eec741d4837cf0cd0b39eac9b1331eb6a0eadd6ce8dd848aa5a4ce69c843c41e678309cdb22db23272b2cac7b96f6bdedcefd98be9eb01393892af25277ee88796fe98f0913c58aa832be11a03c6ca5742ba3a9070e155bfb03735b79f6e1425c49e3faa6d33668abf117aecf81b03b68fb15d3b6f3b1b252b039b6efc1b86dc883f962631fdfc952874fb56b83a3be51ca49abe0ebd83e2d6f0c3e700c2cfcda19eb53f5f4dde66cc12ae6c518aeca878e5cab8efe64754da6c31f312f79181b171d7dfd191b535ffdf90ba73bf07579594fc7d51d885ac07c91df58ea8953639813ad3980951b7f17df98f5312fc7f8d157c4d79862e46cd85cf5ed2fde1cd4dae5929fb6d6a51d8e1a03bd3eed4d775003387dc09343ff23c89a9758745d9fedb23b4181cb5ce5ea62728077dfa1e584fa50be118c8cff553a94f7a971a5845f059e3e9cdf20caf5ef7ce3d1f6848c99415b8ee3bab4f80397c4eae281eede08bb1c27fe90109380c6438b747a749d9ed8ce1f36ea6aebaecd110ecdedb097a61ae407515b2f2048a7e02b2ee119c7b9247807e775f2bad2323ef7b52e6a18bc8fa47d3c649b137c7261bf2f1fdd7122e449514b33ed4942f7c78439703bf06bf10d341e6850e20007def903876f87ef6ad58df5acadd6c536a58bdb37273154468ad8bc8ad5d5054f0bd4e6bdd59543f338acae043668d6cbc91abfc2cc5592764292574fa679529236d60d751c0f39e12726ed4c9839a3babade53c1247f243f7f33c006edc1891d867e15ec2cd83c08637727722703a3a043dc611d8b910b0c07c1fe0e81dd9c8cef1b013e883955ceea53f393aff39c7895e36875c183c0c162bfb635076bf18d593f639917feea6a7f325df34990751883165b997aa8c6798dad4e6e5a176c47aa4b3f5a63e2576bd0576ec6b52f96168e6a0747f2e8b4a30347dbec199b564c970beba15b178cb5eba35f3b2c270c5fc5be18f4cea3b9a213471fe192b771cc85b6eaecd3b2c07b203fb26ecf59caa3f3e8e8d4fce8667a7edc3d92bf3cbcbf9d94243231f9669331b8fa415dbc722c45bad4bb3859299aa66f3646edcd7e5c959dee4dad6906f9756ffcf54da7ecabc937112bb9c97d40477dd688cabcbaf96ad7b29b928cb50d5c5bde9c70c2d55db5ee306d6ec8b12bacc1d1d5ba50762731cd9c2fe319b538bce0e209cd84af3834bdba926330a52df66175652eddf6473be0c818d4c48903b63648133a10c4661e1062a99ba88b75e6b114af4ebcead18df0ea6ced7500abdbe144c401c120036a710a27ea42d79d7431f3f4c98163273ce4cb4789edea49de0bca98edba930c3ebe894c7265c1f03f457be24f4c72a5eecfcf56da535f9d350ac999e32bc4c379c656a56d908963b576133d583315f453f4dbc6efda4a7f3696890de6a720fc90bb3837ee10cc1f1b6d77c0e020d16db1da998e6e63ef26a6edb8d985c7b9d78e0d7f6d9d4787d5666b1e626aabbf2db61a97b1feb6eac8493f6de86a8eead18995dfb9c0c75a3cf1d0462c045feba195d7b643b14b7050eae6b6e687ceb8f4f1abbef4cda3fa89c3d7bab0b320e6ad4e5f6cf49b3ddfe40ee43d5a726143b45b8ff9f56b07a7f439e41183bd93ae3ec6c6a165a93a621e5e4337b7606a1ee688de3e76d617825ede1a6f325d97dfc4baeafbe383986fb51bc7ab32c3790fdec18379436c6e5fd3a6739564f051b51f7b4395d337fe66dbaf8b931730f9423c84131eae0a7102d03ed219d83a58e212d3b0f0e63ffe6ae67d4d7f5aeb36dfa6c38f0048df77100b1c0b6fb4f8faf14fd379ec20cfb4359af17d61b0be92180b572510f3a0cffa4af26efdf58e1d2dcfc4f847705bc7050367b38dcf45e6d74edeba78d40586d45a7189235e7be60c3eade02eefa61fe487bae558ec8d81f9e84acc38799cebd85beeadfc416c02b69380c4fac758adb9d59544ad9e247eafbaa862e20a1499f4eac2deb6b9dc6f92b7e3cffc32c7e9ed7d981366b687ce06f643f7510e4533d9773df44c2c9c3b33d69ebca8ddb09aeab601f079d8c677b6c6929316e473494672d2dbeacf091ace0d229fe89a973c87f32bc2637963ab72f84a83a7dba43a3d9fcbe6c46780b683a4133b69eea1b951663fcf0a87f3321551d866b89f642c6f5ced56cec0a76d289c3172c0e0a14c830d8f0d71b0b2cce5c3dab6191dd4ea1badf3dee6b5cd7937f7ce1d2d3b8d76c608f368dff902831e116f5fbd71b5d3569e3a36b61ce2c4b49db9acbb6edd76073efae0f4ad2d3c728311a7de38cd79f062fec6d44f2c7aa4dab5a137067df4e2d18b93d3d698d6825e5d9fb3cf631ee010fc88036e5cb22b9ffedacd8fb6eac4c151ebb006f4e2c530ae8b3169d5dbaf39daef739b137a1763d122fa988bad7531a60f4e3efdd439b695c331ad3a38accb9313a67a78386bcc83548b9bbb8e31f1230e18f628de5cbb3920a7ee8d3a3b8420483bb679628247e78f8dff6e438363dda0ae46dcdc3b7b17af5b17f4bbab4283f59b3cc42b21b39f73c315ce3c9e9b6fd3c10f79dacda3b5e4452ead6de656af7126eaca58f883ceb9e9f8d1a53821d6052edfec39d03b8713b1bbf507176c7e94d7c5a3cedc275b5de402027ae6a27b0f683af489e14dbb3b69ca7cb0379ce90c48f0cf0517ded3bccad3a8c721c419d4959c0873d2da6cba2ce4e9b0ad2e6c10e5327eb29a4ece379ebcaf42456e1d035a7c72345e177332b15fb32d36787af071a2db5f4ba94b8fd48ea91c7e39e298521f9d2ceb6e27227346876341fe50dfa2850bdad356994426882b25bbf39b33fbf7771b30baa1a143f1c6eb2fc6e8829363f4d0bbf9f3dabbe2e4552bf3776dbacd986fce4c9b3e12f9a4f8c6c5c906dfe0d9bf3fbf7e3c6366dec99cdfb8c99b6787f2a16933a6ee8e87eebd2f569e73712c189d1eef6c7e359e7ffeb5fc6c77386f8add172bd79d1eab562c6e27287cb3665a9e10b182f6ed783b1e7ce08771c62557c6fcfc79704e5e86678ee6936af7b5986d0d1fbdf40fb495f5c6ba60e3a455e8b3ee5c7fb61c28dd90c1b078f045ef5feae20fe3cb4177a0edfcf4f7a08d0f527dcd033dfc4a8dabcef8b4d811fb9513bd63db23d5859d13a75a17fef2db564efa351738fa76fcd48355d03b9fd5a7fde5c34d9247a84bbd9cf231d686ce3ef5704f11b1aa8f765b7c9c1bfad6859d05df1a431d5831f6c532a65fb9e8ab135ffdb1a9a7ad63700ab9b2bed0d579748efbd8aa87937901439f45bc3ae2d0efebcd07bb75c1655de29def43f9358cf6d7758981af3cc63007b9d0db1fb74de18dc637a6eeaf68de24933af5b0b20ebbf96e270239361f5a795a6c1cf26739b493af186a69739a7ff0d5baf09b3a95f53778d34d0efd325246ebd61d3afce4a375bed1777df6856edecd4bbce3040c6a230e73cc15be89d8d8f5b14d4573628c981f9cd6c20f16767f2475f386adbb0a95fb48fa781506ff71de01d7785dd8063ae69fab8fadaed46119a4d15a3988d3ac79d2d49d201dcc9357b71d2c936d8713f30a82afa5232de746a70f73c41fff3ce6a28b031f5de336c7e63cde3be69d137662d2a629abdd972b821fdd7b63d3dbb17bcf584e0a2b3e4f24f2f3acb1b1fd79b524ef4c6fffa6c4f4a103f18307bf15eb3ffe9bb1eac01bf1c03dcfc6f57952b365e3ebb16f6866ac5ab93c7f49f2f9d8b26b4aac587e52bcbdf199189ebf2216cf9d16cf3ef9541c9c363bd6ac59153bf367bb9f7efef1f8415ead5971ce258d7ddaf0682c9e3f2d6efdf637e2e26b7e39460eee8ca71ecb9ffb9eb1204f5096c6d64d2fc7a6edfb63f982d178f5e53763c3393be39577b6c5fc058be2d5179e8e29b397c48a250bf34468f039ea315f553f4784b9dedc49dc613d6090251b30761676403156a0bee2c02872b776a074a7a0e5602027636300d597befcf4c5636741b4ebe39856bcad785af09e7cc8851ef1a0451f1bfe7d319e2d767093d5652ef2ca49ab1f7d1774ad8edc87d0d16fe31edebab029e0ad0b7d8d891ea9faea8bcd78b6e8acab62b16bab31cc491b381774701c69ecf657398c898f738bbdfd553c3878131f3bfee65239888bddd6e9329766282f7d2e4de22b37f194da17231718fdcd051d7d16f02c72a003cf425d0876e7a829f245ae0edbd5989152dfe5c54db772c1ddf787c7bc6811f0e6d1c5eeded4b09103d2c5ed726e8a719da36e3f62c44d97f2990b2d7f9c7452eb22876e4eb0995b87eb5ebb3ababac8c7ed02abfcf4f5ad756167c10f3d4bed63cb2a9b8efe50da69e582d75accbff3c1d2c5e78a049ce03889aa029610131fc774f329def5d3c6ed63bccc71fc04b35b3f3517fb1dafdb4c571b1f1f22706997bffd6198c783646f27cb35c763d5fff1a3e6b1627e1f3c7cacb275fb9ebc72722046670ce7a3dda7673b7dbc6505b43531e062a5cc1c9d9d27286c3843b170fe9c78e28eafc677ef7d301ebeefee78f6d537e3d63ffad7f1ead677e3e9bb6e8ddbbff91fe3ab5ffdd3783b4f70f6efd814dff8caff1b3f7ae9d9b8fbcedb62cb5ece9ad908f2004cfc3927c5fa33ce8c35eb4f6fed82793363dba697e22b7ff827b1f9ed8df1d75ff9837876e3bbed6b53a3d377c71ddfb935366e3f109b5fb837fef0cfbf1e53f38a4a5bf5eedfefa3fe0f2a84f5c606cb86ed8e46eb4e468bbd8fd14eddf8225e3aa5ef0ed07698c101469cf63a46c7b83b00329a38b8c8a5ae8ec1cb43def4fb8b75553ffae0acad625af0f2c201cf189503887ec2e5056f1f9b79e6e1685c2f06bbbcb48878fafdbaccb9fad43e3e15638e60ac8356bd79c8a1ade2e144aa3f63b70bfa8afe8ce5b44f5dfa18df71cd593f5a7d69e10687b479696fbe13981adbbe5c8c6b3fd91a0f2fda6a6b1c41dae43037f230f7ea635f5bdf9fb1b19917d779ababd8c0c9051e5c1579d08163dc2d13db913aecbc1939d687b6eae823e6d5f13655d331ae8b73415b79c0c041ab0d1631e895c3eb9ae0c10f9c3eb48cd5d952977d3135568d0f0e3c31c122e689cdbefe0d505efa980ed7016a9e3577ddb5e7ded162f77376dcb59957de9fe93d44d665ceb595d7baf0b7e6caa99e7cd8d6b81ac4bfe325136bf87845780fdec1fa6d93d1ee23c95af38fbdc1c1a03a772b64fbb66db13d1f417f307f8978c78e3ca9993237aefdd42d71f6da9363fbbbdb62de69d7c6d5975f186f3dfb688c2c39276eb8faaad8bbf1c57c4a6b7eecb36e75bcf5fa8bb17bf7ccf8d8951f8b9366e71deff9203756cec1bc01776ffe1ec0ae7c88d1fee47ee3c59762dbee43b17ce9488c1d1c894fdcf4abf1d6e30fc7ab6fbc13fb363f16ffee5bcfc7cae5cb63c52917c47567ad8aefdff560eccfa7d4b8d26be61fae7eb743b2f1b2206ec88e990375da69d9b81d3b4f39634dd736f6c1c90d7db6f9c978e07587c1b1611bc3441e8361b7030dde008c87cdbffecd071d7631d6213763ebd1868f7d79c454ae7e5d60c08bcda050756f98d9d7666c6ced46c501ae8d93037b8d83fe687511af2ee01179ba51370fc626176298abf3430b463e799c07c6fae9ab4d6e7d68ab988ffeb4d4d5d7e3830d310f5b74e2e923f27583095ff4f260c36f321e31b6e010ebd207bb36ece81175fad36243af4eac63fcd4d12716635a31c6c78e4e5bbf8f9f0b36fa62e456efb8cf8d1ea931ac4b2c1c489f1fbd4b03e48b587cfb786354bdfedaf407c382d87ac222563d6316b17230969f96baf0f124449cf5ca8fbe7236e2f6d2cdaf63631a03eece77e224078c765a30e66ddbc7c08fade6d07d2cd7cd37b6c938ad0b7fecd655f92b2738c43c58cbedde9ec14762cd780c5f4ed889098571a3d0ca25f3f20a49dedc9a13d849b6837ebb62d29439c9f94e752086e3ecd3ce8a47bffde7f1f53b1e8ab5e79d13f3e6cdc949cdbf4ef34c76d68c1931377f646fefd8c1b8384f56a6efdb1abbf6e5e79f633be3e5175f8e3d3b76e70a9c13272d1c8bffe7dffe9b7865d7f4989137d07693cd8a1cca27cdcecd1f139c1a7b77bc132fbdf85a1cca4b891b5f7b2db6bcbb3df20e93d8bb7b4f2c39eff3f1bffddd1be38edb6e8dd7ded89479e52fcaeed99daf6d750deaf8b03613976add796a5bab665edd3168d9f8c1ba53b8e1bb5360436859b063d3ce18918bbe3a31f8d10783ad8ec1cb4b0b46a1cf1b202d36446efaeae823e2688d6d5dd8f1c586e86b2b6f8b3798136c72e5acb539c2576eecf459e88baf31ac571dfee39ca52e7cb5994b530cf0da8985ff91ead287d69ce84f76222197393246acc3317662d61ad09143d5e18b0f8bf9d2ea5ff3015b7d39a03206cb82d09a8b7ce8e5a1b52ef170b86087837cd031a6ad75e1e7983e18eba2afe8a78e166e79d5834787a0a3cf029605b1dff705eff26375e5f607deb98583be636dc622ce6475a1afa21f3af3ad2d7d052c8b76fbe482ceba8cab2fad8b39c3091ea939a0735c7dd019070ec60818f5ea6859dabe9c2d18c6dec3a25f2318bc74f689ed031ff7316380a9bee811e293538d674c73850b618c60a7cf62fe62b5ab372e7afae26afc160f5e3ed1384ee20775c789fec8b44c3b1f09bcba695bfe2ecd9458b6787efb560cf3cf3ae1abc26fe5558e7c227d7bbb6732f6e54732ebcef9582c5d7346ec3b38bd9d941c58b33477a3dc18175fde05dbb036fdc762d6864be273cb36c49e835362ce9c53e36fad3db75d89999a9f9b0e0d5d1c17e609c68cd1bc6995c9e74a479e5e1c98322baebbe6a6e63ff7e26be3d7ceba2c83e725c58cbd7fff9e5875ea85f951d348bb099007cfacd9704ef6f7c582454b6374f6bc4c3c9f33d0b23d72dd1f784bce051bb13b08eba56da8398fb55f3770f46ce0887decf491fe4ea16fb5eb0f9e3e3ee0c4d6313a39e1602746e4c39f3e1816b9e92bc6105bf5f2d09a03bef4c5d3c72e967115c6c6d366ccdc888e5a173cf81ead2e0e4e1ebc3c50910b31189b275ceae95731475af1f4ad89d6dc2bd6baacc756df3ad61f2e177462c9c7d8d8e166ccd2af0b9b7e6011f9db60f02286217304561c1cfa62176b8b1d1ff3104b6b9efad1a277612c461e6db6d8b1b120c6353f70ea5b67f0825e6e54f4f5610c9fbe8ce5a58f1e3b3e48f5abbcf4abad721a5b8cfc951b3c8b31b029b55f63a0372ffb72e36b0efa549b76fdb1b1e0635f0c63454ee21d6d1f0327377d041efccc9556718e18a33707fbda2b8779d9ca55e3a1c3b7af636c0c5ac6c462395a5d1e3be095131f6398678b3b316d0c8f999cb813939c28beba74c1e92bdbe46ddbb683f3f4c30a9b3b6bb8fdb81f1381e4dce413100fc48c590b6366dea5ceb7659830e4704fbeeebb2fa68dce8bb96969773a8fcccc2b1edd86c33638735677a5a5399797dcacda888f788667e4890bccf97f5a3efd2e577fbb1f86445aecbc39a93d196f64b4dda7d2cfa1d07e78ba3979ac0f0fce14e686cac63fbe3eb2ef8e01c60ddc1dace2b023ea5cdfc440e74e05c6187283951b6c9f83313b9a71e51607a75c60b08347471f9cbe60ab988b988ab34f0b17180f06d62597f1c1b030aef3ab1ebcbcf4f95c582eb9d123c6a565719ea8cdba3a648705431cc598faab675cc55c8d814d1ee75d2eb0c416a39e71e5ad398ad7079c7ec6645c7d184f26e0c941aeca5de3633757f5fae2635d7255acb99943dfbf05cf1763cb4bab2f18edc4721d6317270f3ab0fa3ac62e5e6cd59917bee64fab1eac6331ea6811b0e603569183f88a76b8b0b3edda374fdb64cedc27f63f7dfbbc8e89612c38117306a3bf36c6e8c58017a32f2d9caeebbe9e3122977ce011b827ea69aac35ec06317c358b14f6b5ee6eeb620d6f8723106a39f7af0f0b1a0234f73fc698e1de6681ec7ba3d61272614c204ad58be787ce54c6cc65d99ac2abe8e5bd6596259e9fc62cdc49b50873efc156ebe21d3fe564e1f1eef3bb1eae1e8fe8a3edc6b62442e6e0c680f1d3a1c0f3f89f12fb7835f18610eeb0ed3e679b0c1d749a81b2e1bbe3b42dd71dda9f08387f946d7d763d75663d36feb6160af6fd4c613e34e08b739a393afc6279e18ecfd718d691c79e1e4dc36b7ce96b3767cec37c2c18bf1adcfb8fd18e6411cf396c70391beda19b330b64f8bc8a75e2ec6ae2f308c89e9c1cbbeb598375839e1420f06716eb4c3a95d3fb0f42b9f7dfc11c660cc99b1f9a9ab31f0710c87feeaad018c75f9187fe714bd31f1ab624c758ccd195dedc3612ee6edfcd4bcd011bb72d3d7175ec648cdcb58e8ccd9bef1f0112746aeca5779e5a045c0cb615e7d0401ca0000200049444154da8c635de8eb76c39885d872a9eb14ed35f9f9a3d5fec48993bcc6c717a9394d569778b0c6360f39d03befc4c1079bdcb460acb9d6056f8d2146ee3a363ff0c6a9758145cc0f1c3ab1cd3878a9989a9b1cf8d663221874d6050d7554df6a8787b1f6ca9b19b6631c9f261c0f39a1272614b47bcfbe76c270a4f226ee33a9e51f095d311ff58fc70c30f36ca82c3cb1b73d197210089d3b23fdfe460facead8e8d9d8f1a15fc59d009d9ceaeab8f6eb6ff7f40f1cfac247acbac319c3bacc0b1f71c601a30ebbfaeae3cdaafac3afd43cd4d18a85bf0a7a6ad18f38c4745cb1e8ebfc8241675df4cd5d1cfe55878f7ee05daa8e3e3e7d41afd8a7adb1b493d3d1eac28fd808ad1ce8b5c1e1987ce85b8b7e60d0553d36c6f062774cdfdf16824ba97d74f8a1337f9e2fa2188fb1f9d817637be4baa871e22a9b9cf0c9495bfde9b3d4bafa58e3da62ef8b3ab8fa7db8ad99bed2e62df18a793086431ec660595c9fe81030ee37d56e5db4fa80257ef319d4dcb174af351e7e88ba3aa62fc74f73ece8a275afd6655e68e1e784c298b52ee382734ed1557fe7d8dc6de5a645f483bf0afa5a177cd65c71f4b1b1c0811f0b58eba28fbdc6ca2dae7bde499fec188c4ff889090f526b05f2559c9e7493c364f60c3f83e19156e07b85fe69fdde8bf7e7cdeec3b6dc60dda019236ee4f4ddd0e92b6ef8e0dda1f0e1190a757d83c30e4e6e38e8f779c5a1af187728fdb1fb574a0396170f12a8ecc30b070287f9f6e33b0603de185d5d87e72f564e5a7447aaabe2c4d6563f636253b0590b31e823f415e7481d2d8bbceac1513fe3c9ea82cff9a1afbfad3c8cc5d157b433a6afdf91ead2173bdba47eb4d8b4cb6b6b6cc7d68f5e3f7d1b69be60332774fad61f5b532fce16bda21fe3c9ebc232b10db1be3846f247003938efa06a1df0d6b1f9d3a2b72efcabe8a75d9b73e258dc64fa1a03bc79e85b5bd61375e303175816fa55870f318d2b076373350ebe3c7a20a7695cf413ab81b1bceae0518fcebeb53246f09b6c9d61633dd57ce89b2b7638b4f7e33b065371adaef7b1be8c230ff110e375a3eeb562d1100fddd1ea92b71e4772cd8c9fc857fe63d13fa127264cc8d32fe443ccf2f8c8734cb88497b536a1e12721969e34bf3da71f2ce2a402ccb96c93da0c831727b9ea7ed23e91f8e1a2f65150c6ed0e08130749de3c5bae3f46ecaf8f1efef1d38fc13e040ad703f3cdc64feb01879d09dd643b05a5d775090f78843ec2fccad98d27de608cd780f9824f3d206097070eb9c1a3d7c6b8daaa9f3673a82761f8bf9fba6a6c633a2ff03b07eafaf1f1c1d6f705675ef068a795a35f57c58bc1b7ce1b630f4c626a8b1d0103bf36e2561ef42cb52efcfa79aaf340874fcd53bb75399fc66d6d7bce11c86e5d1a43ceeaabbf98ce6bc20fbb3cb48cfb3cc4acf1c1c9672cea668ef4052f37fdea637f32de06cc17d7657bc4f960dead8596455e7d68f12327f3331f7dc198b3785aa4e6cc181cfeae7b31f29ba3586332368f9aa3718d430bbfb9d112abfac085a833b6754dc6295e1f5ab8157cac0b1b0b3ac45c2a561bba5a57f593077ffaf598887f8d2f372d58040c8b736a4cc6728aad3a7172981fe38a93439c6d56df3e9a01ab10a7f23aa665def0196abfa1a3c7b16b4fd8890905f3c37d2fbfbe39d6e4efe4ac5fbdb43d05163d85f3a341cfe71356f7ec1d6b4f813d3058717c0b66cad47c284ede3db22f6f509d961b703779ddd48ee423e5b9f195731c3eff62a2e1e3297a53f286594e28d804fc49ebee2987ece0b902798477ae9ee9d3a6c4a68dafc4f0dcc5316f268fa8df1d3b77edcdc7fe4e6fdcd3f3f1f6b3f289b4edf772dac9141b5cee4807f6c6c6575f8b798b97c78cfc7d8b6ee3c8b8c93af175e863b7f24e34931b2a79d077617db81ec5d08af3a023be19f285f9e23351843e38440e38ddb1bb753eb1438347b0d317870e7fc735a63982a97de3a1473c68ca818e1835077c7e92ba8c472b0fbcf6cd931621b6fda6c817c6fa573c3ab1b55ff170785087dbdaacabf26183075be5654ccd2c1ee08d47eb625c62565e63a9a745c0984fa799c8553bdc6d4716906dd3650b2f625de8c94f3107ede2b183650c866d91371674e683de38e2fbbcd62557b5a3d31fae8a65dc971aafe6493ef28ba1b58fbde28d898ef5455d48bf2e70eaf491f700f7e5658a728b33661fcf98053b226eb23e79c1c7820f63f1d5bfbf8f1913bcf753803737f4e6a14e1f79dd36b09b474b7890b37ee059e4d39fb17dedfad73ac4550c7d967e5dd5ffbd8e89626b5df262b32eede8cca1e694991cb6beb4f5f18cdb9cb15a7f7c93c5fc379689d3c7bf31d54f46c079296fd6cb16cdcd138fe178fdad6df1eac62df1ea9bddf2fa9b5bbb879fe55f454c185fe91d9e7620eebbfb6bf1facefcacf3dd97e3ce6fdf95cf2c1ec913827cb22bc79dfc4aef638f3c16efee1acb6feeee8b5df995603eabe59b3307f6ef6dbf81d3c6f9633a7bf3b923fbdb637bf93af0c1661bca6796f04da183fb77c5830fdf1e6feed89b274843b1f3ddb7e2f107ee883ffe77ff326effdebdf1f6e6ad89dfd34e8cf8fa319348ac8363bbe39e6fdd197bf67396933b7e3e59f6c0be7c685b9e5c65223fd904fd9ca2d9a0917e396cfc936dc860f5e9fcba7940e741035f17318cab9f78f9ea989d9ad8c67727971f1f0f10f8815347ab9f1ccd387841472ed55f3b5c2c881cf48d6b4db4885cfa3465be88978f31d2af0b1e38c483a1af1f3675b48ee99b037da4e6a2bffafeb839e48b799947e5a48f9f02bf077cf9aa7fdf97b175e16b5dfac02bcffba9abe2e9eb638e8cedcb4b0ee89d77f4354fc6d827ab8b3cc1e25bc5baccc158fdba18c36d5eb4fad89a8bbee6839dbeb8d619e8d0e35717ec8c8d250fad3c6088635ebc396676cd071b7562935f5f73935bff7e3d7028e6a22f5ce26b3e5527efd1ea82bfe6d1c5eb6ad4df752d8e3131b5e3e3d8bc1c63d38f96a58abaf611531af407439f059183be71fb758141a70f5844bc7c8c91c9ea422fdebe7ee6ae7fcd89b855cca571e437558f879cb02b26ac12ae5af01c9375792562613e02fec0e0879d7295a56d70901b3416bf7fdfde76427328dff8f921a2a7efbb2d1e7cf4e91859b02a2e387b55fc9fffe87f8c2ffdfe3f89d3161d8a7beffa5ecc39e5aab868f5707cefce3b636b5ef538fb9a5b62cef6e7e391c79f8bbd87a6c74d5ffc7cbcfaf0f7e2d1a737c6a5377c2a4676bc1a8f3cfa786cdcfc669c79255748f6c7bc93d6c6273fb334767d6d6f5c72c367e3a4036fc5dd77dd162fbcba373ef3851be3897bfe536c9db121aebef0f498b76851bcf9c2c3f1e88e88d3578ec637bf75575cfa895b62c3caa5b93576df26b2960f6acb2ae96eceeb364a366e37563768741cc0d9a8d121e8100fec6ef0ee1cb67d3c3efd9d122c3876a41a036cddf98c695ed8d3b15d4dabf1b49b13b0ca6d7c7cc81fbc5863c8d7d7c3830d1f443cfdcaab0d5c8d8d1eb12e73edb447e613673ce3576ee3c375a4f582adfac857f301a39e16decaadbf2df89a0ffd7ebef281ad5cd5afdac463078fa0a32e5a0ed68ab9d79af5a765a91c72a1abb9580f7839cd0f1d7d16398d6f5bb9d0555f6dfaca251ff1b081d3cf1c8e56973ce6278739d1be575d608c897f5fb4a9776c2c5afdb05903bac9ea125beb825b1edb1ac7d8ce2363ae9867b896bb73557de0a963396cb1b1984fc5124771fef8f206c74af3237f7cc4caa3bdaf772e6a1c635857e500676c7dc05b2b7df1d8eda3af7cd8aa5daecacd63efeb971fe03856323193c78af1a7e4e926a2dbc19c943e1587759e633265da485e3d991e53f2e4e49d8d6fc545577f264e5d3c33de3d3012577de977e2a2b34fcb1f509a160be6cf8d2d6fbc12f7df776facf9d817e2c6abae884d2ffc30ee7feee5f8ec6ffced58b772666c7cf989f8e6fd0fc7a2654be3ade71e8f079e7a263ef31bff795c7ec1a9b197e7a4e486c5cad83bc6b787a666fc7df9f1d2c158b07051ec7dfb95d8b17b6fcccea7c5eedebe3bff9ec86faa6cba2ffe873ff8eb38f7824bf2d787f33e950353622c31b90564f6dd1b53bfae0fd2b8ad9b4c983961a3aeeb8ab1070ef4fd0d9d3ac17836cf181e441e774cf4e8ea8ed38003ac38309349f593db967561fef882d546df718dd1af0bbf9a3b3ee0f5d1060eeebede38d8958a53575bec7d5e7d6891c9ea22b6f1c45be3d1ead28fb6e6af2f5c2ee88e24c6a4552a1efd4f5a173ce6a7af636cd4659ee88da10e4ccd0b3d3ce6a80f7a16c4b60df2a5faabab18ecfd313a177ceafa620c9ed848adab29f2057bd55b337a7815f731f1dac0cb8f4da97d7460f4615cede819f775e8f5e9db191bd79a6b0cecef551718eb2227f0c683abf29b23b82a15871e4e459fbe0ebd8b79d2ba588763b0e6925bc98f1d1389e747fbc6ac79390fe02a97f51a07bb5271ea6a8bbdcf8bdddce963871ba195d37875dcf8b809f438bda79dd0131356cec2b933f39e0e3ef33cd0160e28fca81f4b93b6afe50b1bc2d4e931273f9679e8fbf7e4472d8fc5d47927e5cd3733f207f8e6b78f6e8686a6e7672a9be295579e8d6ffcf5d7e3d57776e4efe76c89854b56c60b0f7f37eebae7de98b56845ac9c3f33be73db5fc7d3cf6dceab21cb63f59cd9313fef0b39ebdc3363341f3bfffdbbbf170f3df278bb7f85b8cc7daed7fc8d9d9df9b1d0f478f5f107e2b6ef3c1cd3460ec6c6fcf869e5dab36373feeaf1238ffe28a69f7456fceef5a7c65d77de117ba7cc8bb3d62c88fff4c75f8ddd7982c2bd7a1f0661a36441d868dda0d5a3738317e74e35958fca720740d4d1d747be6aaffcead54d1c003a0efc15fac407cb76451f9d7a70e649dffce98bc31791478cad380e98e6844e3116ad5c7d9d5ce42847ad0b2e7caa9ff9e0a3e0abdf7bd50517228f39d862878f4bf8e674241f72c0a61d5e7c10f9e5332ff4887e8ce9dbca09e6fdd455b9e813a7e600af0b7ad697b16b6ed82a0e9bdce82b277d176cd626befa36927cb12eb968115afb755c73a40f461df12a965ccc81fb41c0a1c38756ac393396b3daf55327a778ec55e0a72ef0fd588c59943a368e39d0b2184f3f79d19b933af00858fa7d3b63f4954b9d71f0072397637ca88b457eb918e3af34fe419972990b36fab4e34b8979b4630731e0934b1e63b4b8c9e5fca3af79915fc5d2371f7cfa76c6755eccb7e2e4e08f76a720df798fa99cb08f725887148850fc9cd9a3ed29afb9eada3d25dcfcba73f7b6c4a4bd610ee5c3d6222ebbe6b3f1a3a71f8bdd07d7c615e79c1d7bb7ae88a1d1915878de45d9ce8d75bf74636cdd371c9fbee58bb165ebd698323c2b16cc198969531e8d7b5fd81c278f2e8cb3969e1f0f3e7057defbb12b66cd5d115ff8952fc753cfbdda7e10f0939ffc6c3cfbc28b71c32dbf19cb67e78db479e98fcdefc0a191b8faaa9b62f694fc68e7822be3b327adcedb6fa7c5ec7c82eceebd5be3fabccab27ae58ad8bd736dcccf5f3d7ee3f5d7632c6f9a9db5ec94f82fffee75313a941b57572e257fa0859da37de69cebcd8d9482e8b3b833b97eab2e576e13d6b96f0e28eace5477860e3dc1ad0d4efa88fcf6d16b77e7c3e6ce8d0dd1bfeeec955f0c78f9d0e9af0e1fb9e9538b63e7425edabec8e71c3096a3eaf0156b5dd8e9cb6b2dc4b0af4ff5af7df33167c760d4d13727f3abbcd895aaaf58fbe6650eb6f863633196bcfa883116ad58fa956bb2313980814f3bfee8cd8f56c1966b3c976eeef5af587572763e1d835cb493d5a5ddbce5b285a5df47576b662cf7385fe6cb1f018cb1d57d0d3cf158107de883adfa3a37be818243f06371fb339636daea6f8d95bff6c18b31275a39b0238cc159b31cd8e8d7313a3858b4d9d7069f7d30daad0b1bb1c4d01a43ac2d6f56f4c5d01fb7a5521bad71e586139d63ed7219b391172ec662e5756eb019dfd8f5d8612c6dc6404fbfea7fac9f65faedd47c6b3ea672c24e4c7275755724b2f8edf9e37aef6cdd317e798b0a9994b1b1b1fcc86676d3b709cba7af4e199e13e75c7c0d87897ce3df1b33f24a07f79b4c99b5246729ed2b4f8b93d2c6b9e0d2156bf3a398a9f1eea697f2e39fd971c5f55f88334f591adb5e7b36e62e591d9f39ff8658303d37e41927c72597e789c6feb13c019917175db632d7e6c18ccffd2c64d3b28dc54b56242657c1ccf971da598b9bbefd80e094d579358413a7fd319abfbfc3d59ed5eb4e4ddf8371f2aaf5b9e3ee6f8fb087e9832d3919b95e103768fa7503d6c6414c1b6ddda827d3a343c0c1c7d2626438c7d8e9dbd297b7e683aef28803c30eecceafbe110e5ed869ddc9fb7663195f3f63d9e2578531b169edcb51b1f6896fac5a173ee8b18b652cf6487581ad75195b3f5bf40a25a0c7d796be71c169ab7db1f268a3b52efd6a5cfdb08143b4ebe7b819f305bd5fe55687bf730dbeef03aeaf331f392aa6b34dcc45c56043cc4f1ee36a07431f9c1872ac270bfac8e7b781e4d00f7bc53246aa5d1ff5756cede48238576d902f60c5db6a038b3f7a7380c7bab04f5697fef8550ef472d197d3b8b6e6ec58bfea6b9f968538f669f5a9adbcc6c566bffaa283cf5ae5d61f2cfdba8fa98313114bdf7cd489a5d5064e01a78dd8886331fa91a3bc62c5a0c78e80677cb4bac44d5e17ef058deab8bc9cb81393ac8b1b833e7ed1696d82f828e7b042d3beeca479f9cd97ba527332f32464f7aeeefcacad847d836fbc1c481d1b607e65d7b3b7b19c786464fef2b8e8f2156d65708fc8927567c4f2f56765dc83ed84e16006d9952741ddcacd3e9c29aec436c893937da96f1872d8dd45e97cf2fe13369e5ce9ac44747c6b072107c61dae63fae0be4e6cccd4db6a1e6ce0d4448dcc191bbbf3800e9c76fd18836deb70c025ceb6f9b453d06e0e19571b7d624d768077be696b9f78e6269f18df0ce044672cfab52efccc9bbe58f0726b47278f6df5c157118bce0346b599173ab0c430f6647fcd62632127a4ef8f0e0e448c3c49df7cb111ebb0ba06ba5a4fed1313b1c5c6c2d8ba9c1f70e6851d9c39f539aa9e3eeb0bbcfee08d83dd78e8196353b4a16311ef585ce546871f0b2296317dc438f2aba3d597161c821f63053d73addef8957f32ee6a775d1acf9c8c472baf71c58a31be6339268bad6f1f835e7ffa7012179cf1cd1bbb1f1bbaad35df3ceee68c371feb420f87f118c387c8d70683979a47ad0b1f8f1de657ede8f435de61b90dd61d3eea27abcb7ac5188bf4eccb611cc62ee0e82bfa989b7630e8c8011e05bd79a903278ff9699307fb918e8999795e589896ebacfb03f443f3518e93b06b6f5eede05f4e4299fbd4f0437c4cb4485b36d209257e4dfa6d2ab51dca0358de7e9a9b786ed0c4c99393ee5bfc871f2c1a4ff1736c2b1f2ba5e6807ddc36c8c3b1ad1c1f86969adc98eb464c6dee14b4880713f0f889a76541d4b741be883146df5e7115831eacd2f733075be3b43c3217f0d8ccabf251870731ecd6858f716cb1b338361f79e1f120854dbdf19c4339d4d322f022fa590f7af33776c5e8830e1ce2014b3ce31a178c36f4da260e935d1ee8b94b9f6f0fd2370ffc11c6b5ae4edbbd561b1afc156dcc19a2ade65df3038f68678c0f8bf1c123b6d5a6de38b472dad706d6fce82347b37588ee553f5af3c7428e887afa708261d1ce7cd0c756ede0adabd65b7de53486b8a3e50e465efcc4a2b34f8b0d911b5dc5a837076cf29a072d62cbbd0c883838e5addc60d413c79cd12995a362b06bb3af1f2d58c4fc8d23065f6c8ee5a0fd498e1dcec16475c1f5b33e76f4ebaa73d19e6b4352c741bad93e0ec4ef97727aee60d3a7e5b34668cbc2785aea8f890c367e7f7088c9763926fcbf40241c22d8017d63f500e941c41db3eea4cc35e281a20df2056c5dd4d3829553bd63f9d4570ee3abab5ce83ca1402f4f6b07071663907f3f07fcf53952df9cf0ad3918afe6401f112777530e5e2a06bb58fd8c435d62e5a165a9b5d0472a1e3ff460e1d3bf017b2fc6331666f1ed0185839ad09bab76748afeb6e8edd31207314f74f2d0ba80016bfee2d1eb03b65f97365ab1f45d9a72f052392bd67cd0d9af7c03f7c3eaf2a6d4caa92fad0bbed6e5faeb73a35767ac5a275cd8d1b1f4851cd0578eeadfc783eb63c118c3d658d605c6ba68894b6b5de62077ad4b8e7e5ec6a2d58f380858393b4da7a32f1f7d7d6b5bf5f4e591131d220f2d8bb560b38f8f420c7d6a1f8cfa8a352775b4e8983ba562fa1c891e9f17e3553c7d6bab9cf2d0b2580b31e923e0f147f6ef9fa8b1298ed1cb09fb2887fca96dfbceddf9c4d7fdf9f8f95c71a5280ae732d19c59330f5f71a9674a9834304e64717dcf6ee7c38a7b4fe838c0789de270df23e7c0caed36a871a20f418779f784848d953e73d0dfc9eabcd475553776306ce87270e9d01d409cbeea1923f8b853c1a3deb88cf1d11f9fca495f3f7dabdd9cb4e1af80eb0b3ab0c62337742c5e12251e630f0a62e1d2d7ba18cb692cf355ef181f38eb5cca87af7830f4f143cc112c82ad2ffa82c10f0e844befd485a097d3daf4c38ece1ce541afe08b5e9f3a06634cf5e65b63d2779d5997fcdd15ce7a84e972aef1ccdb8f141863af316a8ee6f59e750d3e8e683c39cd1cc12a273c8ce1b62e75d651ebd2570c2d7eea6959c89f161b7deaa22fa738c6d64abd8863fad8c5e2cf82c86ddb94f902073ee0dafc5271b9f3dff9c2665de62a079c0a3cc6a705ab10478efeb1a3e650eb8283b13c8c6b4d708fe73e888d4e1f6dfae95bede6840d5c157341a70d1d58f1e48e8ee548c70e7cf53707e2767593ef445dc602672c7c19e3c35cb0d4bce5148f9dbe7eb95a8fddc5833a41d93f61272614c704def5d033b162c9dc3873fd8a5c01ec006c149958de51fedaa62ded4acaec3c39691b11939a9f6b0de584ef4b2cdfdce91e3f3fb1e17693c98ec3c6d0b55d8f95de6d5cfbb987241f6b9f0f801dbfb1b63d523eef39a9feae00ee4539908fbf271e3215df5c995daefc1ec2beb4770781ce871d87a807d3d6ad6cfc5a1e24d17e3914cd0757a8933960bedc809d2fd6ab1bb83a2a05c786ddd6e5a0747462b5e303a6dbc1faebb67304831d310f748a71e1b10fbf0b795411834e3eb08a799b6bc59bb7dcf8d007abb843f7ebaa31c0c26bdde681ae2fd685deb8b447aa4b5bc5c25beb828b3118a4ef838eb8c6c00e070b7d6cea68115a75d859acab01ca0b3cd86991ca619c021fc7984f7b36c420ae7569ebf6ef899cfa31882bd618e6690de86b4eefb72e1e4225b68b3b3127709a0bad385af3a1cf82a0a36fbe93f982c36e0ba66e8bb52e70721ba78e6b1cf4c6b36fab9e98fa9b7f6e21ddc1afd86a0ef8e08f5f8d871e416f1cebea2cddbeaa6fe5741faafefad0caa34fcd5f3e30f62b0f3e552a463ee7401c5cd8c0563c38d7a93eb43506767ce0b02ec67d41d7ecf9be671e93e18e5497eb4b5e7cc9a59f23636cdd33be441fdbf6c49d98641d0772a2392959306f4e1699a930d76dc27365e5d9fdf0f4fc613f2621d56d7252b767db9b71cf9ddf8d5d878662e1c9ebe2d24b2f8999b99df00b9fdcd83a7d64a4bb8f24fd3801389437c572b5895f314686f2e9abf7ddf98d98b3e18a386bfd927682c3b779c6f266d529f978fbf6db3bfcae4e9e54eccbef270fcf9c1d914f83bde37b3f884baebf2166e563f15f7aeeb178fae917e3603eca7ecad4d971e1e557c4c98be7b79b633911999e3c43f900b81d1b9f8d3bbfff6cdc70f34d311c632d0fae021d685788ba03474bea03f6e20ee6993ce977bf39d4ed7496e386cd989d810d9f1dc79dce8d9e56a93b29fe62b13346e052d0396edb48c670c7838bbefce6636b7c77485bf9885131c6d71f3b58fcac4b8c71c5d26ac3afd6c518693e79504964c31a9bd65ae0b08f1ea931fa3ed8c18321c72ae65efdb5cb8d0ffe2cc891ea526f2c79e4c64edfb17982af7d638895473d58638899ac2e6df8d157acab1fd3b138fdd1d779aa766d152b0fbada67ec1c6446e3f3a01eac3cc460fb003fe1d3cd3d18c49218e3ab18d3f5e5580cad732e77dd16e5c786d4b11cfa63a3cffc9b47b5c9517988058f3ed8cc430ef1c633677ccc159d0b7831f4e5138baed6c11841678efaeb4b1df4d12bf427f3c10e1e918f3e78791923b546b0ce1fb9d61c8d65ab0d8e5a1763a4c6e5f8616ce36387a35f97f9d8ea673db4d8ea3e2686b883b2e91e5339612726ac6e2e35bdbd6d57ccc893896def6ecf6fbaec6d3a4e4646f231f5fbda069f2bb85df9c8fb50f2cdfd9b7ff52711eb3e15375db83adedd31167bb6bc16f73f787f4c5bbc21ce3ff39478ee91fb62e3961d316ffec2d8bdf5cd98bfe6bc3879f6c13c91783ab6ed8eb8e0d2cb62efae5d319a2b6ae38b8fc593cf6f8bf32e3a33eefeb37f1aafccb93c7ef5864be3a51f3d1a8766af8a734e5f13cf3f717f3cfdc30763f3f63971455ec5e1cd78c98a0d317b24e22bdfb93f6ef9fc8d317de7c6fcdd9eefe7c3dbd6c499a7ae88a71ebe3776cf5c1e2b67e7d5948343b16de373b171fb8158b170249e7af299587eeaf9b12a4f640ee6b77b72533da62bf46741e60ec50ee2066f1d6cb408ad385b6dfd038c78f8dce8d919aaa07767d186aef6b1f7fdb1abc36e6cf3d65e6381c38e6017234fadc79860e516878e3e18c498e8946a37963830daab0ffa9a13f3466c75f2e8c3d89c69f56f9d7c0127a67260c7a6af36f4e8885bfdd033aee29c3ba7dae1755ecc533fe3bc575de0e5314f7cc8ade665cd955f9dfecc5fe5335f74e6dc0083976a47058f79d31a1f9bfefad082effb30166f0dd5a7da9235fd27d665e5a28fbf73c198052e63cb656e8cc5d0aab76f8b9e3e8b628ed566df162c7de7dd758baf36ffb8811b9cbc3567d6931f4999032d7cb42cc4a982aec6c15671da69abde7c696bbf62ecd322e66c0eb4d85c8e5657ad012e7ccc1b3fb9b021d56e3c74b5efdc55bd3ce888e9476062b413837ecd199d9cbc2db76fd3a23cc6d26d15c798f4fdd27166b7776c7fbb2a32234f4466ce989e2729d9e6c2b8ddac3ad8fea7e4048e6ddf1a5bde1e8a8f5f717ecc98392f569cbc30be77ebd762d6aab362dfab8fc6030ffe301eb8f7a1bcca3114f7dd7747fef6ced478ea074fc56b4fff307eb471579ea0ec8b7bf3b76b86e72f8eed6f3e177ff9955be399fbbf150fddff44fe22f0e2d870ca8a782e7f7be7befbee8bfbeffeab78f2c907e3e1c75f88332fb83066cf60c3cfca72199e313be62e3a29162f3d394f80e6c7ccd159317dffb6b8fd2fbf994f9add14b7ddfa1f62df94e198356b34b6bf727ffcf937ef8ba5cb96c56b4fde11773df15a3e4c6e66f2e4d9f807f0a4848d970d998d953e62df0dbb29f3c51dcd1d85968dda0d5b3c7a16c672dab7c54e1c77127d8c052742dbb731566f6c7408fcf6fb75195b8c38ea6a1b4263e8765e78e5ae787dd0211beb2c380000200049444154723a67d8d131164b6b5f4e5a3617f5b64d9fbcb6e88d459f852b891cd0d59b434b285ffa5ce2b0c32bb7398247070e1d22a7753565be78c2c4d87cecd32293e9e53736989a1763d657ad0b2ef39197160ef9f0ab3afae688cd78f258976d731ef8d0176f0b478d615fbf3eaedae963271fb745fdac9d560e5a167295470e5a781075f4adc3b6ae2f708e8d810ea19dacdf8cf9021ebbad3ed50eb775111f3c3aa41b7b9272f46347fb55f781bf79598f5c8e6b1c62995faba52bade9f093abd950a454bc7a5becf48951eb42ef3c1a5f9f9ff49808171c889cb6c6664cbf2ee0c93d9d0fab01bdb8661737d06347c020473d7624848f488f87745bc2f1607e1f9cf936d4ee25c9296d1feb709f064f92e346583ee669eb63b0f11cca8f5b86f329aba3b376c6833f78a67d6cf2d6c65763d3f683b1281f7cb6209ffebaededb763ceaab3e39cf3ce8d15eb37c469679e132387f2a03c6524d6e6734b4e5eb13c0ee6affdf2e0b43d7b76c5bb3bf7c779377c3e2e38efb4fcf82562f6dcb971686c674c99b72e3efde92fc6acbddbf2039d915830774eecd9b18b73925c63b9ae3337ee537977fb8ed41d8cc7eebe2b5edfba2f16ce49fdd0fcf8f2977f23eefdea5fc4cbafbd1d7bf344e5adb777b58f85365cf0a93877eeaeb8f5ebdfcb9b68f2b77e061bdcfb98aa9f1b081b2c3b971b2e3b8d1b383a774412768771c712e718bc3a5a39f165cc5f4608fabaf4774cf8e4c426a7f1e1a818c6889ce0b1d71c1c77c8cedffce0654390531ec68a39544e6c60a94b1f39692b1ffd5a67ab2b3f9a44baf81d973eb6d88d2d276375e08c09d631ba3e2f3a39c022f2a0a74f8bd05257b5ab3737b9acab390e7cf1ebc7d78e3f22372d3a5a75f8c26f3eb52efada6dcdc518f0e86f1f1b3ab677e388a145e4b36fae8ccd118cf9d08ab15fb9c5b98f89359e2d3ed8e0a64f8ba8af7ed5c73e2d318eb68fc107cefc192370d73860d0d5059cb1c02ace25c77e79c43a4eaaf1794587c8d18dbbf5ac8ed658628f56171c2de77c9fa16f0c5a39a9f9c87575b56117e3fa227ee5710c0ee9f3aa370730e670a4ba8cab2f2dfe2cf6c7d759dae8cb495fd187b1f1e5048f8e565fc7faf3865856edb8fa587426b69863c1f61370b09a380959b6284f36660eb77b3b8687a7b51b4c87a70fb57b42b8c995e273f5679b37fe0c8dc6b59ffdd5d8f6e477e3eb5ffb8b78eaa56df1e99bae8e47bff1a7f1caa1c5f1b1ab2e8d934fca27c5e6efd2ac58bc341f253f2556ae5b19d3a7e6efdf7cebab71e7432fc605d77e3c969cb4284e39fdfcf8dc4d97c59bafbc1cdbf71c8835675c19af3ff974acb8e81371fa92a178f1e5d762d16917c78a393be3d6dbee8c251b36e463ed59f914992b7ada689cba764ddeb37228e62f599437e40ec5fce5cbf347055f8b3736bf13a79f7766ccc9dfe0b9ec96df8ddffdd2a5f1f80f1ec9dfd5792d0e8d2e88d337ac6af5fc04d3f57305ad1bb71b32ad7d770a9ff5e286cd5f156cdcd8c5b84350a07d78f0f12f3efbf818472c3aecc6a6c5c6629c3a79fa573c71cc11ac98da47279f58e3aa37267ee6d7efe3031ebbfd5a277afe81e9e7d16ca536b815b0e683ce7cd975e8e32b5f0e4bbfab8b1cb0ebabbfb9d222f2d8678c580b380ed2e86b5d7d3c1805ac71f4d1463b695da93747ebd2c7319cf2a983abe6a6ddfae4a875a1c38e2fe2760c2702567cad0b9b75d9a2d3af5f173678d09b8f79ebc7988f3cc8411d6dcd8db1fee6654cf58ea9df18b52eedd6d6af4b3dfefd1893d545dcc3eae2a8dedbdec8bbe6c0b8d6451c788c6d5c70f6e1c4c7f56a1f3febecb01d17f69a87dce059aa4c6027f61330e86bfcca671f1c18b0885ceab1194f2e70f6e1c1c7f9a60f9e051b8bd8aa83439b318c830d919bd63171cc153f6cd5defa09ef73358263f07242ef3119cac97d65d3b6fc15df83b170feec3ca0f9fcb83c68e55f873bf78cb5dfd0e1d0c7441cc84bd27397ae8f2ffcfadaf66bbfd3f3e6d8fcbc273ebbea34d674ae988371c9a50bdb23e12f3cefe2d62e3b79653cfbc0b6b8eee62fc5a5e7adcb9b5cf389adcb16e51acf15bafc9a5873ce581cca5853a72e8e5f5a995f9b8ba158ba3c1f3d9f2b26f247033ff6c92f716e94271e535bcc4c245d73a58d2c8a2b2e5e9c576ef6c6fa4bae8df517b181b0b1b0a36e68df1e62fdacc8950affa756e7e5be7c34fdaa53cece3aa7b54b64707d10c5bf46d860dd68ed538f1b709ac77716ebc4e61b173afcdce118636363af3b17eb023fb01cb8c0bb63826fdb06eb6b20d8cc0b1ef1e814edb5adb1ab5e9f89ba26de88b011c33c8c416b8ef4b1d3b6ed2a7d6acef6cd939f32b02f9e38e0d86428c338e0ec83a9021e9b7990678795a79b0f708a5ce89c3b73c7c6222f76b60574e689cd3e71e9b71ffbca7d405ff3618ce0232763e7533bbac9041fd759b5eb5739ab0e7e6ce4513172b08db93ec1e20b8e3e52f3a78f9dc55c8c25d631fee08f24e2b03be7f4d19b6787e9d69f36da7e7ee2b129fd7d475eecac276bb18f1e8cebd8fad1d73ac0936f5fe4ef729ee092a7dac5c8ebb87262ab758141d7b6b1c1fa849b051c8b36b0fdfacdd97c88051f587cd13356672eda6bebbac7a7eaf5810fc1c6a280c717bb7a5aeb02871d9db558971cfdbacc19bc627cda23d595d925bccbd37cfa75c9476b9e5577acfa27eec424277a286f26bdee92d3ba8f71067f0158d8fe7c4cfc8a25f362246f8c652211268b8f50f667cbd786f94d9a43fb073b6d9e10e41940a2ba37b1b13c8901bf6be7ae5875cea5b12ae371736d5bf96d8589cd1d2a6d7ce5371df2e3153efac9364f50226f4e1dcbab2f398c7df96d1ef8c625df3cc6c6ba587c7ba75b91ec101de260c69fd8fcf22f815477fe6c603efe7e9ced03d3a126d6877351775a37d46e2ebabf00e88bc5dee67f50adfabaa3d475adaf7e8e698de5c4c935595b75ecace4cc0ed776e8c10a03636c38c128c4c26eadd65079d5d5bcf473e7860f1f17e28951d7fcf34d5c415f393b0ead5d0bc6bac8d103929c93d505a7f25e7599679d137c3d41a54f2ca4cfc5d81ac480535739d1a91763eecc61ad0b3b621d723ba6c587569d18635817636d60adabfad5bad09bb718ed726b2747f9c1d638c42756cd033c02d63872aaaf7589c126aef2d57847ab4bee8a4757eb628c5dcc6476f2213e398273bb048b981b5753f9430e3c621df888a9b1e46de07c3107b0e4c8421fd18f163f96becef5a35ebf7e8b5d1db54c56179896731ef1b3aaf139c3cfd8ce237f7480a9bc60c49a173afa2c5d5d3f5e83dcd6a04f23cb17f47d1d36f1f65d47dc2f52f73170ce29d89a1bbc55d706c7f0e5849d9858c3ccfcd13b9fc8aacef6ff6fef6c9ff5baae83beafee95255bb6eab7da8edfe3d86e93362d71d3c66906f80a2dccf0990f0c03fc03cc3030c30cff0bf0a57c6798c2d009146813da645248a0cd9b635b8e6349b61c5b2f5757d2d565fdd63ebfe759f7e879a4abe64a15f15ed279d6daeb7dadb3f739fb3eaf14cff79554a059808d71ccc9e6fff4b0efc4fb0b88299deca1bb6e6fb07ec2b0bb99768faa2fe4ddb05b4f4265ea4ec2c94f319848f56f94dcfb1c5a4cfed6e0a4762ca6122e84c8e171bec01c4e76759581a5b147af2e0668e47398c7d0478d3b8fb9ca377eb59dd7651ee87071420e5893b1e0e9c35cc1f2d03376a5d5852798b363307ae4a28fea1b397c7da8ab9df1185343d5ad3c68743dcc0d0ccf317ad0f2f1a74f3079a20f68074626680bb62e75e101da2087a78d3ed4c72f75cde5d50e5a9ffad70f581e583f60ceb7e71d1fc414aa4de5a1673fe4839dafebe4d6831cdfd6557d402307904b6b0bdffca5c1807cb075e1035857979f00c2665dded58731cc4bdff223528f4d0d2be688bdb61e30478d814ffd81a5e1d79ec0270ff01c3c17da8a6bdc1a53b97531d677649839e2131e3e0075a1f97d19e48035192b99d3037e01b0317177d0ba78e69e1e5730577c10b3d6859e7c6875a5ab7ed643ddb1b19ca60d6a870a7778634273f737679efdd5f845de9b010d19706f7580492bb800394f9e2b27b80b505db0131eec6407eb131a9ffa501f3e07208dcc437e2ac443f5e7c5477b65e812870d54f503ff2075e14f5f60fd63ab3f75c0f22b8f0bb076c455a6bd3cb0b1eccdbabaf081cc9bb476d51734f900f813a36b9ef2d4334f74cc139db91c9e7519bbdac2330ebaea589718598dc3d8bae09b377c803ce0cf632143d7bae6f1b5b19fe6a3bfcaa72e001bf4b435979abb3cf5b0d397f6c888a39d34bada9907bc6ac7183be400fad5465adf8c017ccce33857f40fe6b006feb89bf3f48fcf795de6a5bdfed11532ef290ebe017dea4f5d73c7469d9bd5a53ff4cd1b5fd2f8f0906f0cfda36b1efaab36d0ebea328e76e68abf75f12a3fb2639bb3a8b5d66d7ec4d63fb6eaf41ce1f47396d474ee6b1ee658e5d0e8acba261a2bed987379ca967f64607b58704736262c93e916d2711facccd962a7be45a357aaad656277bb366b9d0dc1da0e787e5070b1b300a099c82e16e44e7ecead7c313200997432e281453bf7875ddaaab402fbcc8c2263696bbec633367c6ce14303e65cf3a87c7c2223572e0c023e56c585675c748d055f3026b8c291f0cf27c0aa5f75e1910763fd2bc3c7cdeaaa3969038f7acc0fbe00cfb1b92033aebd022317f4ed588c1e602cfd63ab7f7d3a56665dd8e3df18c63627f98cf3e691cf80f6b9ab8e71cd051b69e2d90f7da5301ee6637401f8d8d4792cdf58fad4c6bc33c7527f8d016dced00063fb882f6864735dedb0418fb139c2d31f3269f8fb2042bac6d041577dfcc1abf9634b3ec6aafada571d7dc1c3c6baa0898b5c7fe8e00359057b0e066a1ce875605dcacd45ffe6021f3036fc398dbce65a6da09579ed60ac0fe985def4321779acd2215605742ad47986ec06ff257fecaa8e6bccda95790eec0d4b6a761a6a0a3f137d473626d7225b3ef25b5f42b95596f90b9259689f00b7d2574eb3f898f1803bdb01ce4a2cad9ce03512131e70f282bd484103f562c1f972f169e3024077ee4f1e51ea4b7e2e0ef58909c8cfc1f4401cf9ea1b93dccc0375e5da2b836feec8a057d5a59dd8cd05f139f487dc586278354f6edf693f5dd4900bda88e143e31fd04f0ee261ae071f55f8d625ddf344d6cf6bcdb9db2dffe246b7ebf78b1f7263553e3c0ffc1173ee575bf3610ce0071ea08fb94e0aa707fd1a071bbf163e7f11754d5d981b87736bfefac68f600cf3810fcd3c4426543d6965e8c3934f3cd78e3aca184b83d5235fecd6cd456dac0b3fd6a50c9e004f400fe0776e36b67acc1c4f79afa22bcf73841fe9eadf7e9a07d8bad45b55977d03d7bae4ebcf5ce67a8bbaa63a8809c8cfc1f4802ff9f8018c59eb9ad413a9671ec6978ffdaabaaa0f6cb5270eb68ed1d3173ce16679aa23c66eaeafaf39df58da8ae14fcb52d6a1e143dd98f0652cc0f6858fdb859f7ed02e5cbc70a044b9e16cef5cc91bcf7df1c56aeb1ab1df192764af5d8a37b49eb8ff78acda1cee5719a343ed006be06abcf998e5c9e4e56032bbb0791d9acda8e31a9cc5a8be0bc0f3ec4280cf019f431a3fd02c66fc6827ad5fc680988d54785c5c04e4eb9731b4a05fb172c61c8ecd171eb53ad697f669376d7cd6e95917587be95a97f1c9551a8c0ebea1b113aba70eb9a3cb187d753967d0caa1d1abbf1d054f7de5f801ac8b313e0068f5c0d5b77eac0d7d781cd2d8f71c96e7539fa9343da803363eb1a039801a3bf579637184d29ff980917300f694372b32e1ab9efef58dbeb473141e36f2a101e58cf5091f3d73ce3ccbf942a65c1df2f3e686bdfe6b5df00178d655fda8ab4ff5d4c1161a5bf38607c80703e6e2589f8ed181271f9fe44c1d0063648ee13146c758d0d6891cb02e65c6606c2cf4cc5f9e3ee1a36b9e626c80795dfa55cf1cf52bb60ec61ce8636bbef0d0718c0cd0bef2d7e96163fe99574c5436e0c6011b175affca89619ef088bd4a0f1fe89af3c29eb57187e0503726274fc6379a063cffeca7da0bcf3c1e6f5c7d340ba5201b5eeba060f847b7e207fb7e7236be736cab3df9f82361d727ed52978b4c6fec9207b5d7bef7c6a9f6ec334fe7a6a65f8af66b8cd1e175808f4c5f79e3cdfcad9f4dbe9937c600e7b04fd6bed8569d6b16908b40b98b81b1bef0e7e280065c087dd41f5d2cf2f0e145441e8b14a8f6da4deb3465e623363e636dcd4f9e98058b0e47b58756871cd05bc6f6e6df173c72007d74b495675de6a58e71d19307ad1e34c0789ee73a9e39a30fcc2f8ac8057dd4bac8b5e682eebabaac137d007fc68706aaaf2a57cfbaaa1eb26aab2fed91cdeb8257f53c5f1bf1493f7c1bc79cf5655cfb851f68f494a90b8607c88396a73ed878f2d003f06beef800e6beac3f85455efd6aab2ee35a03e339cfbae0635731b1e4cde9aa670c72a97ad85297f920c30e5875ed48413ca0af2f78da28676c4c79f6c1313e5c63f2f4a33db8d2e8e1c77cc5da31569fba007962f2d26fb587e6b02e69eb60bcc11c89b526c0e3bbb4d4319e759997391b173d79d0ea41038ce779c2e32566b03976edc37b3cd48d899ff8e55b5b816bf18bbcb14cf34bd38ef679987c1ed0d8898fdbc619e84d0e55cce253c2611744142dc494488be52531c493109b8bf10569fd279eb5f824e0de8d9c24b531fc7997608718432ff59d6c37ea4d6a8bde6b8b260b253e621be7748b9f650e9f7cdc7b37be9b25a5a1eaebc12c9255e00457d6735f2ec0ee67b989550eae17adba90f42546573f95a78db991a2652a43df582ee85cf0e5af3a7d8af5e7186cdef3454bfde88ba16b6c697d76393781ee13dfcaa4e736f005e3130ff086868feebb2f4ae5e8c0af3dacb283d4850fc0d8fac3165f15cff5d2301ecc0d5ce33306f0a11fc6f600da78f0e6b6d8a85365f0b54b85e9011d7330f6cf5a97b16a7c6323c3bf738f31877990d67c8d698b0cda3c191b4b3f9db7d44b79ac6baeafd0ae31f56b8ed802ca6a9c9a43b5918f4dad0b9a838feb23436f5e578fb67cc42fba8276f811f0c30128075b177cf46b8ef0046d1c83e1cd6dac0b39b21a93589c3f798c815531d54985e9c11c56d5a53e986f0d9fd7a51c57d0de13f1292f89857cff1f41cac0d6a54feb4296bea3aefea99c7e6d817f9870a81b9345627d6ee4c9381a7f59ffe0073f6c7ff667dfcaef24a1287ef8e789279e685f7afdf5fc9d1cae9bfc701f07f2fa8bc23606dfb980f836d88029449f00f194d2def5e5a44d859ff307eae725b0eb2ceeb238299b79c88e1622e9e8694ecec0bbf17d2dfeda722e02be100e5f938fcdf8f5e3ebb1d9885764d2c68f0946a33901cc4a4224706efc2e025f1280872f1718e3d49bbec5d7b1f1429ae7357532dfe9fca6ef7ed16251bb5008ac0f621847acac67b85c60cac1f8c2a7170b307cc15c182b8357ebaa3268e35a17bc0ac684672c7cab8fbdf9a0037f99c7f2826b9c7a518207c0c307174662983bb476e8551963a0c69bdb758d65dee605d64e1ebad8d7bae0210788adcc3ce023d71f63019eb5ea779e1f3af80294c1038cc55819bacad1d1563fe05a977eb0d747b5d787b1d6d5651cf48d018d4f6cc173bfc8cd055ab9b1187b1ca42e7468d5c24f3cabb8ae2e746acefa379e7273416e2dd0cc436b329e35309ed7256f1e27af6fa54ee3195f8c9d507d18b362e4ea88f1c32118473bf4e0d92ff8d0f00573a93278d8cde36867dc1a0f7b7d19139e36f6593d7d30465fdbf0b2a8491dd793b660af1df805acabe65c6343a333a9a7cd613e2cb79b87e2b5fff56c71fd02d9f2977d7f7ceaad762d7ea3e6cacee5b67df17cfb933ff97a7c41597c0959cc83febb38d1c0b81bfaa659ded0ca5fe80fc6d7d5ffdb7ff3afdb993367e3bd24477353733dfe6ae7bd0cd99870c0332cf8007f120ebedb850dc45bf123837ff0dfbfd5aec744e4cbe6b20f812ff3c38871bba727d0f474fbf2e5f862bacd76f5d247d1cb0f98e1ed72bcaf07bd4ef3fb413bedd4dba7dab98bbc5768af5dbcb4ddae442cce056f68c63fcbd685522f3c4c6c00ec6466ec64f6b54f782e909c27e190b18b121a608c2d585a5f7d412c2f08d8c0535fbd8a95e1bbc683af9e0b96bad0011b7b5e177eb445473017c6e6040d1fd0065ced52180f731bc680ba5c02cd575fe6685d8ed5d376555de6617ec49adb21e3301768632b73acbfea07bad6c5583be74db58706e4198f3aa0ad4739be3de481d5c3467fe0ca47862d9843fb3a465f7fcad3613cd0d30afa73beccf5d1e58dfef08d877f68f3329635999fbed4c326fd4dfdea79262bfd69a75eb5d397b11c77eb7ebeaa6f7ce04fbd8ab591673ccfad719143ebcbfc94db33edd107f8034c1a99f6c8a0b5af76c6027ba06fcceacfbaf0235f8c0d748d210d5f3d7227fe7c8d61bfaeaeea17bd83d635b7c3961aac63eecb7ce14b9b3b6368fb281f5cf557d615f720fda5f2213edc91674cfaed2b1a1d895e8b3fcf1f79f4d1f6b77ff7efb6fff687ffa59d3d7bb6fdceeffc9df6e9b8e9edececb407e20bd6684afc9f706f304fedbdfffed9f6cea977da37bef1a7ed91471e6d97b7ff5a7bf6b9e7422f2ed67ccb6bfe760d9b192e2cbd9187d89b7bd2554ea0f8929ef3e7ceb4b7de7d3b7e65f9a578d6a4d7bf73e96cfbdad7bfd53636ef6b9ffea5cfb7ed537fdece6d9d68cf3cf6603bf3eebbedd8c3cfb5e79fb83fde68bcdbde7deb8d787fce1bed89173ed77e61f37cfbfedb67db2b2f3c13bfaafc47edc52f7ca51dbb7cba5d3ef2507bf59557f242da9fcd6201f40b0313d2c90c06e0b93898d8d0f05cb436d4c9ac7e3fffddaf7ee469331f636b5c1716baf05c54c427b6fc24e2013e605ee663eefa900f6661e2b7d69571c34fcd03bfe6067fee13b9fad08063b0bf2f049dfe03abc33898f9da7295ab675d356f6c6b0e8cab1c99bed4c39f3e33264601955657dbaeb1ff111da0ea4003fad20f3c648c3d2fe6a01ff286e7211f5b409fe821e3b056e5fa54573e18c066958e79ab03b62ef5e1e9577d658ccd8b4d7acc76d4179b5f64e850fb7cb3a34cdff3baf063cf2283182d3758c8006dccb9737b0d737a9e3b72eb50b7e6c2b5dabea9e77a3177718d2f0f9fd0731ff85ad6d523a357f5f1e721bf8ee1cdc7e688acd2e83106c885d873304773371ff9fa900f56866f6878d6853e605c64f0d053963ea97baab5e6a40e3c63a67ec49a6362705eacabda120f302f7d99bbbeccef68fceaed4efc217b3dbe1dfd4ec0f24fbd43f01e5f154f97f776e346b913755e89378c5c8daf8cbf10bfcc7bff8993f117fab5f6ef7eeff7dae34f3eddce078ff72ba0c3c15fe357e3b812bf9bc338c8d8c47cd0fef37ffa0ff12ccb95f6a7fff38fdbff8a9783d226fcf3973cba79a38ca6d2c04fc4c1e2b97ea57dfb1b7fdcae1c79b05dfce8fdf6d38b976352c6332097ceb7134f3fdffee6eb9f6deffde0bbedfcf5e3ed732f3fdfcebef34e7bed2b5f690f5e39d37efcce99f855e473ed2fbef783b679fffdedda85d3edcfe3d79a5ffb8d2fb5cfc40f1e3efbec2beda5179e6ec736a39f9ccc7c162be869b1304d786f09c044774125231e98c01c4e74160234d8c95d75f5214607d08fe31a475a1df4e111079e8b07ec025397715d98f2b15717da18607400f0bc2ede80064f7df5c0d58f3e94d7b8c6e8fafdc2a4be32c6e447ac790dc6af7519077bf4c140a5d5c19e030013cbf396cc78305fc63dcfe5e6451d6dd155471971ab0ff9d82883576b40861f7860ec01fdd75a8c0716d033a78aa90dd0a77ee73e8ca3ade31a831c007de4201e8851f5ac0bb975993fb6f580afdfea035abd9a133cc6b75b97bec0408d657c7594d718c4f4dc606b4ee6af6df58fac8e33f0f4a0be7e88655dc86a7e8ee179e8573f8eab9db43ad6451c6964d4650fcc67555de8e2535d73d1573a651b1a7ac6b02ec6f915f5612fa007982774f2263eb447d531ae327dd4dca1ad41bfe8f30c9ef3d31c935fead21ffcfbeebb2f9f3478eb8defc77b83e2f7ea22c5f819979e38a34380db79c6a40686be613c7d5ab85ddcbed2ce5fda6d17025f8df77e7c7c315e12d83dd2fed6effebdf61bbff97a7be0e463edc38f2f847c277e8326166134603b7e5c6f336e86e72fede402bbb07db53d1937d97ffa2ffe55fb97fffc9fb5bfff0ffe717bf5973fd7deffe0c3682e2792637a19279e41e1ddf39f14d8895ddbe7bff437dae5f77fd4bef97fde6fc7e22cb2518b2fbd6897ce7dd8be7375bbdd1fcf52ed9effb85d3d72ac9d78e0bef6ed6f7f2f9ea13ada9effc513edecf6b5f6d8430fb49da30fb6cfbcf47cdbd8feb0fdeffffb17ede5e79e6cd7772eb41fbdf3417be9d917db77bffab576df434fb45f7afa646e16f7e2a2c2426233b8154fe3b1c098a8009849ed0291c742405617441a4c36d0ea4063efc50f3ea05ffcd4c5885c197aca2baffa82cf01d437dbe1d3fcf1b9aa2e6cccc77a8c576b460f3e803eb47ac646df3895870dbac8e4ab870c9ef59b638d81dcbaa09549630b0d40571ff08c6dbee878c0f38007e8b7fa345f79fa549731a01ebe90559fdaa0078ddc1b2039a32b1f3f8ef5b1ae2efde98bb13dc29ff6e6030f5f0036f0390064d83206cb53cf9ce043a3a78dbadaeac7f8e801e626dfba1873a8078daf5575ad8a81ddaabaf4a93fb0bc792ed602f64daceae21b7d9f49c962e2c17cadd731983c8d873e3c63d6ba56f9d20ff6d6852da05f74900be6204f1fea81f5850e637c01ae3175e143e3131b68a0dad46742ad0bbfe69906930db43a35867c3031332ecf8ee5bd70d933f8f8e6c81aa26c79d89aa373953f3ef9675de81a5f1a8c1d9b923367ceb477defc7efbe2977e3beec7e770d9a68d0485f7e2939bf47cdc25b778bc9d8d89aee6811c07eedf6312a72f9e35e1bd09f14c48e007e27b46bef63fbeda1e7ffcf16ce27ffd83df6f3bdb17a271f1298ff84a7afe02a770361be8f32548347b3b9e2aba14c73ffc47ffa41d8f675ccebc7f2eb84c1827584c16260c4faf84e493045b474fb4134fbddabefcc88bf10c4af4847fd1bb2b972fb4a75efd747bf8171e6e57b72fb6bd7859e795cf7ebe7df8fe99f640bc5473e6adefb69f5e3ed9fefa6bafb573a77f1c9f68da6b2fffea17db471fbcdbb662617deeb55f89be5f8fe35afbaddffe72bb3f36303cd3c57c63bd4d6b6ed16a168e87131da18b199a49decf6f5f202e3664d0ca18032eaa3eea63e8ba88f52fd627beaa3d7c003ef6cc49e482f1b587af4f68eda0d171c132a65efc01fad1b7e3144e0fcaf42fb6ae790e98992fb22a97263ff3d09f18997ae6e1d8bad0d507328e5a2363e4e809f0046865c6c5befaaf3adaadaa4b7bb0f6ea575cf3d1373cc0b13d01cb9ff7d91c5261b29dd3e4b22f2ffe088a7ff6089900ed7c80b686aa234f9b709e24799b3bb8e68a8232ebaa72fcc3b72f35cc677e960000125c494441540764fad60f18be32b050ebaaf2ead31aaa1df6e608aec0181b30feb563acaef963675c68f4ad4b1fd51e5e0564cae14b675dd33d131e71c5d2c6d1c6dcc0d8d303b0007f9e53f589dcbaf401063c8f8e8d8d0cde41ead2a736e6660efa448f7fb52e68ea310f6dc4f3baf0c1cb37a74f9f6ea77ffc667be933afb653f1368bf854661634bda0e389074b677a3cdc0edceec6a406ab71927f64f74826b4b7bbb7976f628d119b8b5ffbf5d722cd784366dc40c997e237378fb6cbf1524cfe42702cf494c5b341bc5f64375ee2a9cf0c3df6e433b92bcf0d48aea10c97f1f3a586997e4dece795ded9be14ab7633be03e6587ce959ff64ced1e38fb42fffe66fb5130f9d6cdbf11e9ecdfb1f6afccaf1e58d63edb1675e6e572f7fdc4e3cfc58fbc2c95f6c17775a7bf8c91753be13fd7bf4a997a3c757da6e3c83f5607c5f5d9c81f85c7c8b37c4f62f54a38f1b1bfde2c2246552731e9dc860a02e86bc18b028e200c0c85d40e27ad1432f7d72c1997c2e63a474115bbfc839ea6242261f2b755988d0c6844e5ec463932b9fdcf09711c3377f1502d607adee9cbfaa2ee2c00773d4dcb0377fe8b94ead4b5df405f4fdebd49ce1114fbfe63acf013ebaf5af5e7d686b1cc6d8ef462f38a38c8d03e6800718c70b9f7275b4adfd84a77d3a8907cf1776e872c043cfdc8d07560ec6e620756157f33437f3c117f500f9fe90f09b7d88de21533fe5d3392637f960404c5efa83eeef91ebbd838f4f0e6db03307f4d3263e391764faa9ba95c69ebae071185fbff088873f6462e4eac303d4830fafea6a8b1eb4e76c7e7eb0e550afdae1afc6349ef195c3076a5dfa13ebc7b1b9c6ecca39939f669cea2207001bf592110fcacca1d6850e7cf380a65ec0dc73100fd65cf352179dcab73ee5e6507b45c6f2b187c60787b9c2930f4f7df9d801c8565d3bac159fac219e29397bf64c7bef9d1fb5175f7aa5bdf9a31fb65ffdb55f6fa7df7b8f09b2179f9cea1325e8747ce3c33afe8d9ac1b9dd8d894e32190713de9bde63428bf6d870c4a739a2236d6f9b379ce404c896867a30e38699acf0c40d8f9b4274361729cd0895055c8a9b6c36165e2d2fe8582261dbff8a59187c12089a17cf2c5d8e37b2f23421ef753872f4783cebb1d13efaf87c7e95f9b5d854c495349e51b91abc9de06db5c73ef562bc67273e1d151f1bfe38bec535276af4eba3f39c0f26f35edbc997c5e86c5f64fd54702aa78b735c1c5c404cec9cc49c3b72c0c774f1e034702eeb4285e64077f991e6be88d0077271652ecb4990e73f32e057337b9edd065d0e78f39c721e4dfee67a99eb948b7ada9b838b13dd1a1379af8b8b3923e6708f0f3f6553fef0952731e9561a1d6c3246574ef1caba22e75c2b93037400b07dc58f4fcbca9fd417bdf2820a1f3bf3d49ffaf091c337c750cef38c4e900bd0870cf3c11699077e00e62dcf9ad61c9d13e6a1ad63ebca1e475e827a5e6419dfaa2ef3c597fecd51997e8d03c6af36555f9e71cd011b64e8a6bf185719b4734d3de3631bca8b9b8776559e3ef344ecef33f3167f8079e6201e96365d069fb50bbfe6801d630e73d436af3be97fba4284ad32edb4a93e6b0ece43e47d3e2ccf69e7f5b997f945df9d53c8807575c117a45dc761b4a8957c3d5fe83bd63f630ffca0cb8d9abca1d58316d0b76e63d63ce775e9173e87bae039549e7a739b79bef83027740578f80093bfb9f635c69ae8731dd99933a7dbbb6fffb07d3a9e296153f2d4534fed9d3bf7d3c8379f31b9beb19178ba1a1a216f2173de427833e2a01b9375cee12f8ef84e8ba4e3198f2d9e11893b547c59683f61b478bf93e944d29cf8cb7f336e9ae81ed988948ec4ceb39e94e539efb5e0281d32018ea66d9eb0fd01baeecff9e3e27de3d10f2658bc9a13bbdb63bdd9a56fd15e14e223c0b119893ef31e91047b96f259b3ca49639bc277966c6d1dcda7f472f2a21e3eb951c62d26cf494ef6603be171cf054f808f3e0b37cf199698866f5cb070b8393117e0f58d0817a7cec34f7f762d88f00338c7a061912b315d68f8c94f72058f67d8b800121f00f3172b868b5c498871fa27b9ee58397c6984c683ef4502dfd4e7013f65ccf138d84822cb7e516be8e78603c701f07d93718ee14db9535718a79f7a23e71c6cc62724d0e3e3e460ea5ee49a75e17bba38e5181d7a482e218b7f99f354173460bed0d604e65cf49ac347f492673527b789d1c97e9144b8ca1ae2a9b8ee156ffd7c12dff3e0ef0ba54166df5fd7278ee70d3a5d86ffcc91dc29006e26d0c7f91b5c7043467f182fe848227f672b30f9a49fa07a2ffa3319c1ce6fd4cc3e6640387d4e5b17e1e80376398f7b66d91778c8b0cfaff9479679461ef1cf2fa98a2b65e6d77faebec77083dfe3c4e6a4d6051dff7b2de4ce6227c15e47efd556b68207fe5957f62e54995f583087fa792af3807e51d7d437e66cce8df0b3fc43b0f7886f8406c885a4c0e86f6e45cdc40ebabfdc6e7e7dadd307fc675d937d849c7251174e0772a497375c3ba6f8c4b0cf997bd6b5bc76f45ae31197992bf5721d4042decb75c11af32b0e921f0e5d7fcec11baf1dfbeba2e7c622821b3fe98c19b1e5735efa1c0c097d9bae899c9f94459dcb6b47af8bde524e5e3b02530ae7c97332b116b92fae8961b7b876444ff30db05c3b381face38859cfe7cee5edf6852fbedede7df7bdf6cb9ffd95f8b999edcd871e3cd18e1f3f9e778e8d8d6394353f083f07746e09385d05182f6744d7d0a1c1e14a27feee77bec37359c7ffe3effffbaf9ffec97bef5d8bbfc8a3bcad68c65614b9192ff16cc649e6f31e31535bec62ae1f898ff9464f3636b62f5f8a1e1fe129a30d9a726b6031c47b21b6e38d9ef1e99238ed39beb5ddcfb3464cdcecc2bafe75391d887370db8dc07a3bdeb7f2e0c99361cb45a5bbd88d8f8ce5c632a60cb78b781d6fe19bb5c57acf45bc1737e3f09117c2e0e745397c84a7e477a378e6253e7575347e9e20bde4c52276f33546f801327c28b138f1c1bc391a1b5516298bfd7ae8118bdc6aaed4814dfa3c121be298e9c8b101b00b05de281508f9aaba7a1df9fea829c75ce851d766d8f67854c01901fab3819b93bfdd452f4a8cc8db5ef41e755b6bc70b9721ea33777800fafcc3bfb2de83de0b743266d6959dcd7392e78bfc3babf7327c6df03ade747eb3aeb0efb5e2090883e9e4f6bae34614cf7e2ceb2a316e5697fd0f8f547b357a4e0d5166c6cff31af3a16fb8c2672811272fc4a193377e366a2158e6197292e77fd402e41ca1ae38ef02beb38c5a6b30f286103dc9d31acaccdd9c13c4986c3a6ffff922b73ebfe365bf8893798605e76c7737de7f973ce7469c0ffef28e9fe3d81787a4037a5dd3098831e794b94d51ccad1beb0ad1743eecc5bcd6455da15ad74a0c138ce19c70ad22b47fd0d6cefcca4d72e121a7ae235117d0e3b89623b3f8d668be874ae831b90df5796d5df432214e11f36e379a643e5957991fbdaeec4c7e7502ef85e8376ace7dbd76b006f0836e4088b3ae3ca75c2796d70ee671241fbcbfc4b5c398d35acf7eeebb267aed98ad97a879edb5635a035cab96bd5875ed606ef4ba2890cd3e3500fbae1df0a6d340cff7e2ab643376342efe30d8db3c929fb289afc83ac2a2b97eff032776bff5cd6fee1e3dba191fc0d9bc163eaf1d8ff78efed11f7ef5cd707d7cbaf7e371dd112223422e60ca62314e22d2d9cf8f3d02e7ad1e4c11c660b6971e54ebc18ac9e353cf3f7fdf4fde7e3b869cede4a183acda41e3cfa3c60bf680d181d181d181d181d181d181bbd881baa9e0feedc1ce9f37d98139f8940b63f091175e7861efadb7de82ae07720fedc0f8248e3863c63e64df46e4561b93b05f6c1edc9888dd9488179b93a79e7beee8934f3c7d2c76cb9b1bbbd7b67637ae6f5dbfbeb1193bb3cdf804493e6b121f3d8d674be29d96b9578b8d4f7cd426c61bf99735510f08f9de8af88b66c0dde900fd3e4abf6939d36c428b5330f1baa43c16fdc25d92458e8b7dfe42c61fc5fb784bcb7db92cf29afc2d7c4d79e578b25dc818cf059555729b4c9768956cceabb960a95c5c794bcffb297485c875913bc40496b090c19759696d6afcc9c702ad92cd79d37811622ec7d92a5ee5232f90e79971b1d3bfb8ca1674d14f1e3eac13fa76a0fac26e3e5ec79bf3b19be06675a9b32fce2c66d6aebf7575cd6c167e258a7ce1aff85af0d02ffc342fb68b3c57f12653440b70900126eee4ffa6317550e3c8abb8c857f95bc55b9817dbdba9eb069fb5c6709e728254ff8ba013b14a5679c5e70dfe42b66a4ecd43e4589f135ee40e310164bca4c6f3447b5bbcca185fc0116f1c89ff711c898fb5c46b8c71cbde8dd73876e365a26b9b6deb1ae33367dedd3975ea54dd9040bb2111e39e8d88d80d4fb0fa332cb7b331c1c8674ac49476b38d89cf8e548c0d63703df0a35f6801de80d181d181d181d181d181d181bbd381fa8c851b07786e28d85478b0e18006bb1199633725eaea07ac5f63b22f910e71df3024317b40e9561b049dd740d0f343d73530349b110ef4dd98dc2a66a80e181d181d181d181d181d181d38e40e788f5e754f7723e2e6647e9f773cdf17dc2a4563eed3e3998c5b01866c18c0eb0e93aa980280790c7cb829c12f34d823c801a303a303a303a303a303a30377b103f5fecebd9cb1f77437246078f5991075c4d5cf9c0ed3f40b5e0bf34dc35ac549300fe2d884c024ee260339c04b38006374dc98cc3725d80d181d181d181d181d181d181db8bb1df07e2eaef7756937286c4cbcdfbb595147fb393e703507dd9810804d03180093041b0b303293224901ff1460827543b26a53323626766ee0d181d181d181d181d181bbd701efd3157b5f17bb3161ccbd7ddd3327ee11c0c01c77ee9ac71b3626bc0965fac8308edc8ccc31320e9243c6015d3725314ce0d91275d98c305eb52941193f03460746074607460746074607ee6e07b84f03dedfc5dedbc11edcebdd94d4cd8a72b0f6d56fb093bfc0f337be22b8616302b3000ed76d4a9011dc8d899b123717601247c7cd081b126deae6047ac0e8c0e8c0e8c0e8c0e8c0e8c05f6d07eaa6421aecc1bd7e4eafda9cd48dc9bacdc9ca4a6fb531d1c8008ca5c524e8e6c4cd88ef2961c3e166441a8c9e185aa8b4bc81470746074607460746074607ee6c07dc3c10a5dedfa1dd88ccf1aa0d093adaafc2f8bf291c7463821302b0713049788e7db6041e7200bc6a33523724d8bb1911633b607460746074607460746074e0ee76a0debfa13ddc90309616fb0c8a9b9455365401ff40b07263327b9f098edc8054c726889ccd06490226b56a53829fba31411f5edd94541af980d181d181d181d181d181d1813bd781f9bdddb1f773eeefd015bb31a9581df5b41753c1825ef5fe1214566e4c10cc00476c18c00281e760c08ad173f301ae1b93ba09a9f4dcef188f0e8c0e8c0e8c0e8c0e8c0edcd90ed47bfcfc3e5ec7d07543e24664154f3b3287be25acdd98cc9e3571d330774a120232361d26816cbe0961ac0d3ef51be43e9af180d181d181d181d181d181d181bbd7817a8ff75e4e7468eeddf2ea587ec5d2551f3f00bcb6eed912646b3726086780333612e9b4d02400b8c950a762680e74c1c01c575e2a8c87d181d181d181d181d181d181bbd201efed0493ae18ba1ef3cd8763b17eaa0f78b784836e4c70cc46428c6369f07cc3816ed5af9b1065f8903fa7190f181d181d181d181d181d181db87b1de07e2e48833d9049cfb11b12f880b8d295974aab1e36e2e99455fc056ffab235c76e24e69b0bc7738c5de539ae784e331e303a303a303a303a303a303a70f73b503705d21543af1acb1793f99cce6a6ef6320e0ab7dc98a452ec4ed25b7f90aed8cd47aac7c35cb68adfbdf547f52b6fd0a303a303a303a303a303a30377b7036e3a8cea78bec9b819bfcaf0e3f8a6ef2d31e081362628dfe49993144f0ee71b94b96c525b6c5cea98c4c706c58e0c3c3a303a303a303a303a70f73ae03d78b1899842d7b1f42abc8a870bf907da946070e08d492aaf7ee624453c04b8b198e32a4bc5a2eb78e0d181d181d181d181d181d1817ba7038b4dc594521d4bafc398283bf0a604a3dbda98a4c1fecd49b278087033d247fbc755566975071e1d181d181d181d181d181db8373bb0d860447aeb68325726ce6a6ef59e92542a0fb7bd31c176f6b28eeee61b8ef9789d9efc81470746074607460746074607eebd0eecdb6894f4e6fcf9f8b69e29d1ef5f6a63b230bef1d91345e0551b9355bc6a33e8d181d181d181d181d181d1817baf03376c3a22c555bcccfc769f25a9e5fe4c1b937d8e6ebe4941b56e4a28a68eabab418f0e8c0e8c0e8c0e8c0e8c0efcd577607eaf5ebb1121d59f6533524b3db48d49750abde6e59eb9da188f0e8c0e8c0e8c0e8c0e8c0efc7fd881c3da88cc4bbf631b9379a0311e1d181d181d181d181d181d181db85507f851bd01a303a303a303a303a303a303a303f74407c6c6e49e380d2389d181d181d181d181d181d1013a303626631e8c0e8c0e8c0e8c0e8c0e8c0edc331df87f1e7c50280cd3002e0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Walmart Mobile}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Walmart chose Backbone to power their mobile web applications, creating two new extension frameworks in the process - Thorax and Lumbar. We\u8217'll be discussing both of these later in the book.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d4948445200000100000001f40806000000d271f3690000001974455874536f6674776172650041646f626520496d616765526561647971c9653c0000032469545874584d4c3a636f6d2e61646f62652e786d7000000000003c3f787061636b657420626567696e3d22efbbbf222069643d2257354d304d7043656869487a7265537a4e54637a6b633964223f3e203c783a786d706d65746120786d6c6e733a783d2261646f62653a6e733a6d6574612f2220783a786d70746b3d2241646f626520584d5020436f726520352e302d633036312036342e3134303934392c20323031302f31322f30372d31303a35373a30312020202020202020223e203c7264663a52444620786d6c6e733a7264663d22687474703a2f2f7777772e77332e6f72672f313939392f30322f32322d7264662d73796e7461782d6e7323223e203c7264663a4465736372697074696f6e207264663a61626f75743d222220786d6c6e733a786d703d22687474703a2f2f6e732e61646f62652e636f6d2f7861702f312e302f2220786d6c6e733a786d704d4d3d22687474703a2f2f6e732e61646f62652e636f6d2f7861702f312e302f6d6d2f2220786d6c6e733a73745265663d22687474703a2f2f6e732e61646f62652e636f6d2f7861702f312e302f73547970652f5265736f75726365526566232220786d703a43726561746f72546f6f6c3d2241646f62652050686f746f73686f70204353352e31204d6163696e746f73682220786d704d4d3a496e7374616e636549443d22786d702e6969643a45424637333136463839384631314531423038443939423235424344363338412220786d704d4d3a446f63756d656e7449443d22786d702e6469643a4542463733313730383938463131453142303844393942323542434436333841223e203c786d704d4d3a4465726976656446726f6d2073745265663a696e7374616e636549443d22786d702e6969643a4542463733313644383938463131453142303844393942323542434436333841222073745265663a646f63756d656e7449443d22786d702e6469643a4542463733313645383938463131453142303844393942323542434436333841222f3e203c2f7264663a4465736372697074696f6e3e203c2f7264663a5244463e203c2f783a786d706d6574613e203c3f787061636b657420656e643d2272223f3e481d51e900021c634944415478daecbd07986547752ebad63ea773eee9e9e9c93949a3999166245042484239912401c60103c6c670dfc3171b83e3f5353cfb39628c7d0d02db7015c8028304028d245042394feec9b1677a3ae75375ab6aefaa5a553b9e4118fc1eadaf35dda7cfd9a176adf4afb5fe859c73f8c5d72fbe7ef1f5ffcf2ffcc512fce2ebbfc01ec552a9c46a6b6b4b8cb140182d145fa0bfe9973468e45bbe4ffca0fe22de0ce1cf28df07e1dfc2cfc8a3c8579ce3a03e3f861f067b3ef53956a9a863954ae599898909f1111e447ffb2f6355cbbfd85fbff8fa79177e296baf7bddc5af3f6ff3a677b5b5b535b4b777b08e8e8ecae4e4043fd5df1f4831af29d7406d4d0d178a02a66766b052a948c99722ce1857721f88b73129f24cbe1e4ab4d412a055827849fd26940c064160aea1540a58b95c16c72ecb83f0a014f039737a2a7d7d7d35bb7b77d79e3c7972f777eeb9f7aff7ecd97be2bfda02977f0e1fb8a3d0b3dedc505f0fa572d96a6cfcd93b34f23ae426149b445dbdd8887243fd97d91045d6f13f316ce4333333bca1a1016e79eb5bde28d6f257562c5f0e2b56ad86b9737be0c8a1c3f0dc73cfaa373636368aef26686c6a82baba5a28d7d480105a609ca9e78091d997d72e14000441093813ff8a9703f1bc1813cf49d9eef0dee41a4825203f1fae49a0de3f393501354211ac39731d8c8f8dc2c33f7c085e79e5157eeea64db70b05d057a5b7cd7fde04ee6771fed822c8c5170f38686f6f6f6e6ca8ef1c1a1aae6f6969ed169ba1517c973863a599ca4c70c92597cce99edd5d5f111a5be9f35093cb8785c0421f4e797c5c3a80a1ef87186def8c4dce1316469891f0d8b1f7d95be0e1b563bfb04a030303655661d039ab93cdeaeca8c8cb916fe0d10561cad2ab3d28eec70821462690a73c2c756fe13b03d4d76a6f4f1ec7082c1a63175dbbfcbfd8e618de43f4aec86f66d135a2b35395afac8e27ceca031eae37c69e2a72fd34a2cf44b74d8fa33fe7289de8734174dd535353c1e4e4a4b0b8dd570bc57a51737333b47774407353338c8e8ec089bee3f2d908212e436d6d28f42521dc5278f582443ebc593f1efd4f0979b426e61aa2fb0ba2a71d3e37ae8ea794070f6f62565797bc36387ae4300c9c3a35333236fe4f070e1d7ae5c5175e382adc8729619ca6c5751f119f1969686c9c3c72f8c8c9a1e1e1e963c78e55250bff5f5400c6ad930fabaeae0ea7a7a75a376edc386fdd1967ac11db70ad88f5962d5cb86861d7ac599d5d5d5db3ca35a59a59b3ba5aea6bebeaca35e5a0a6a636109f0da27830b4b8e2e1b17037459b2b201b8b87f19bb95da9084289925a5d3e63b959d4bfa102519a3f541c181e2ffaac122825366814803a45e85342634323dc79e79df0f5af7d551c338077bce31df0e637bf1546c746d4b5a9cd2add4bf2b8f531f50b5271a8f7c8f3479e281aa145e5514442185e73741f157def1cc3ebc7f0bde16ad3950fef9d71ab458248d3c8f7cbeb96d76937bed628a8e2de20d08221ae2608955a60350e44fe75a46242458241608e07d19af24812b5a291de923a9e7c8d4742190440d5536586414558ebf0582804be26bc46f5e8c37355e4fa30e6acb356302c5a231e0976b84f98fa7c49597c6ed75fbe4ffc2cff2a5f0bf749e8d555662aea9ea5a7a7f08650cdc8fb9811de84b80456191f9f189812718af879eaf091a387860607c6f71f38b07fa652e915ca61dbc30f3fbc63e7aedd7d622f0f8e8d8d496f475ee27f2a8e50fe19587b2e2c3b5fb060fee2850b169c7feeb9e75e30b7a767734f4fcfdaf9f3e7b5cf9edd0dad6dada16bcf43a0657a7a1ac62726402c9afa596ade91d131f1f39478183330231e8612648de3488162ae87a5851c8c92b03f737369f273955070882b186e6034ee6410841b565a95400b64b4051aea1b406af9f18971751d47c5cfaf6cdb0ae3e3e3e65a82d0cc861b1ea825b42ea8def0a10567464cf435882d16597924a0178b36a395f55051a0121af5172df552c945f7aa1d03290cf49a2aeabd0c385154fae05a0929575a9c3788045faf9bbe26aa20e577490a1c847f03ea9d88e349a5a32c756469b5d5d5ee9d89cbb562d0ca3872d78d1832a67d1b7bdd1e48a83d2379fdd45bd28a4a1a15ed1184f710caa5f42ee47b4aa5f07ea502aa117b55871cb5b5e2ffe586725d6dad346e8de25bede5da9a9a353aa4181c188453a74ec1ad37dfdcdf7faa7f675fdf89a71efae1433fdebdbbf791ed3b76ee111e24ffcff20af03fcbdacb38aea3bdbdeb75175ffcba850be7bff99cb3cfbe68c5ca950b7a7ae6969a44dc362184fbf8f1e320142488580a0e1c3c28dcbb3ee15e0dc0e8f8044c8c8fc2b41074a9892bca4ad9988e6b8b16593bba09b4106080409d40b9d9b400e9908093cd8b34d6d5ef8b2cad7e2c9c2817ce1909171850d7984716487b23d46a8339776429b537c0b542436b29a39f7964b1a9d710498e581f6eacb2bd063416cf5c3b868a8819ebc8edbd442b179835e1e6a37a9dac809370ca176af32774701063d1757c00fa78de8ed7b706f6b9e8b535cf525bf1487144114e74ff511843420dabe899d41ca1a7e1185c042742e4a162d476591b04204a43851b2a6c09d4cf5211d4080520312a894dc8fd3d6bd62c983d7b362c5ebc08962c5922fe5d0c73e6cc8186867a989a9c82c1c10176f0c0c1434f3dfdf4a35bb76dfbdabddffdee4342311c9f1086efa7e915fc341580da5fc25d878d1bd62fdeb8f1acb76ddeb4f9ed679eb96efdea35ab51b8f9b077ef3e78eae967e0b9679f85dededd70f2c4499810d65d6ae59270ad6a845655ee7da4ede92608ad8d319b91d56746bbebf76b4d8f9105e251801c2a0ea61eae366c51801e6d39b9b983c84a84c792d7a2e3406df1a892304e607440d496525b23627da8b2a0d76804cb842409b80452e1b4d76e9405823d57e4422b3032ba6e6da5a5328d301347816937de9e03899504b3eea132d44a8b3b1b4a5b78f537a96c813b5e95e3e56865c6991b8f9b8885dbf5d571b87e5e012ac1d3b1baf608089e62c2338a3730132aa2396e12c8a9312440bb97984d11aaf50d952b73bc3115ae887387e1c28cf25c95072bdd7cf1f746611085170c6bd79e01af79cdb9e2fbb5b07cf972288b3db6774f2fefeded7df9075b1ef8f71f3dfcc8d79e7aeaa93d243c603fef0a40e74fd8f265cb7a2ebef082775e76f9651f3cfb9cb3172d59b25458f593b065cb16b8ff810760b710fa99e919904aa25c2ea98d28dd7ae92e8b9848fc3b26166d4a2dda8c584085d4b2c8d515968ea1558db11b221b887bef40dfb9a260a101ba5c984f1d456e16eec889718f01dd631b77de03bb9ceb40eba29b0d1a6df480081a5041d49a05fcebe0898f53bbf83a5b6237b645e4b8732d909905400b765a302de19a0a6fc0d3f81cf5a4923c8f786d8075278cb7c35d334f1f0de7dc09af6cf0aa7c47e3c1d990028ca13021a3f406841153eebf0c07c29000ea65e64a651d980a6bc74647957268109ec2ba33cf80ebafbb0eaebaea2a98376f1ef41d3fce77ecd87ee4812d5bfee56b777ff35fb76edb7e4084c401c58b7f9e148071f7bbbaba6acedeb0fea61b6eb8ee8f5efffacbd6af5dbb1676ecdc095ffad297e0c1877e28dc9d41e516c9851819198121f1fbf0f0b088eb47607a6a1a6684d6fc4585e2abfb75f96597c31557bc014685624d123a74a5db1136ea9df882e5c4cf543938eff5949331ab1079605ed8e0e65552cf4943b6b8f58e805eadbebd348a7957e435f8e19f8f65188c85851e008b8046f9b3b4f2d2424b033535155a7a69c0a4fbae8dd9c8c8a8f81e56fb7c4a79b9810a0f5a5b5bd5bff2f7a1a121850fcce99903d70945f0cbef7c07ac3f6b3d1cef3b2ebce4e7b67ffb3bf77ce28e3beffc4a7f7ffff8ab1516e0ab28fc8170d92bcb962e5974c3f5d77ffcda6baf7dfb79e79e5bea136efde73eff7910318dd27452f0e5021c13f1fec0a9536291c615a2ca0be446d07f780909d524d4041392ae59c74ada7abcda5c66ca3978c17b4bb5bc19ff42cabdcbd7ce5a77167cec0f3ea636ab09832820aaada83e16c93a68d04ec5c2c86327e179cfc6c30ad0445b36fed7801b785e0f2655e7f90accd10ab6be877a26dccb0e19cf499705d27b2121840169b9ebfab9d78c24db0031c0512a0609544bc52015c0c99327e1f0a143d0bb670fecdbbf4fe15c729d3b3a3bc577873082537042c84d5d6d0dbce94d6f840f7ce083b06cd952d8d3db0bf7df7fffdd77dffdcd8f7efffefbb7092554222101ff592900e3f25f73f555575e75e5157f7de38d379d356ffe3cb8e3f63be15f3ef31918109aadb3a343021d70f8f011b108430ac5868242cf535efb892b894e43502147d8e8eb692abaa8e22aa234929440d2fd4b2bf3d18f7e14162d5ea436a21376185492c76a07922cbff50a92428f504198d8985e2b5a61e399e185054e81a4f7383dbfce8b4460a913da4516dfa657b32a3cc0c341d05e895e174482b17002c872279c3391052de090802d06069b90d88ef47c6555a13ce6880801f6efdf0f2fbdf8223cfbdc7370e4c851f1ac1aa0a7a7476160525edada5ae103bffd7ef8cdf7bd4f2993a79e7c62cf676ffbfcefde71d797be46e5ef7484b7f46ab8fd32beb9fcb2d7bfef5dbff6abb7bde5ad372f1c1b1b85fffee1df83db6fbf43c4360d6ab176edda05070f1e526e91d6e4f4fb742b23f034341b665857ff3de8c53759b10f2f505054ed7563cab98a7a4bfa4b7a5fdd73ba61ed9ab50a4fd19286245b902c1a11e049404674d60563887f0ca348789888e821ed606a0d62f7abcf1b1061740e6741574e52b70cf43e43a7f008889763cea9816304c7234ac72b8214758e26b4714314ae301d09bc4a6f606a4a0282d32a6330a7bb1bce5cb70e5efbda1008940672dbb6edca5b9040a1fcfa8f6f7f1b1e7dec31d87cae020c3b56ae5c71530983a943870f3f21de5781381cf65357006a05babbbb8337bfe98d7ff2ee5ffff58f5f7dcdb50d8f3ffe6378ff6f7f00f6eedd031dc2ea1f3c7840a5f5681ebc88bb0b05363e155c2c20585840c0f2bc836adc2a5f20b180a0a67dfe74dcb9d89a88839d77de79518a545b4846fece013c173b3099055bda03e8df01a3760f105c6cc02056c485e7ba90082d1e60c037b405429ccab8aac2e351e523baae3a72276b629513a9f770321a36b3009e22a1a187f184fc882340c7e33117ce6d52114dca17ddb0caa412c3f4680872cfa81a83050b1708017f0dac59b35a8501afbcf28a021317cc5f08bb77ef86af7ce52b307ffe7cb8ec0d5794d7ae5d739950105dbb76f73e74e2c489a9d35102a7ab00d4ddce9b37aff6a61baefbf35b6fb9f563975e76794956c07d44b89965e1dec8f5d8b1633bf4f79fca05f48a08709a55ceb3c269563ecbc257e33d40cab55423ccf8534665f57907070660d3e6cdd0dede1e16fc684b6adec49d2c066a579a28054e2d3a398b0d0948ee85bb52e31c9ba402d1cfd8909a039be6f5bc0ee444a020060222fd1f779394a9380a82e7de5b65112aa3c8fb08801c93844449cf5da7762d1ce98658e4fa5958faacbc849eb973952290d98057b6be02870e1d123fcf579fbbf3cebb542870d34d37053ddddde7767775cd1346f681e37d7d93d52a81d269eca920fa5ce5c61baeffe3b7bdfd6d1fbbf4d24be1b6db6e833ffff8c7a1b3739642337b7b7b85bb3f99280858d0cdc7022058112b5fc4a29f8e80628110224ff9a4e10baf4698e3df8fcc4bcbd872f59a350a68722d60c21d709e8061d8063a5a28e4586ba01d04dc22fadc5a6e5baf410baed0b8ec3c457d9b9a8d9882f1ddf4e4008c132b9c045b52e7c6a690bd178965f7c325737f49998f80d48ee80c0577af41dfbb5404d2535bb66c199c2bdcfefefe7e78eeb9e7a0a5a5053a67cd522181c4d4def4e6b7c0bcb97337767674cc1661c3f7c4fb18894f7e3a0aa05c53c3df70d9a5effde577fed25f5e75f535c16db77d0e3ef1fffc85aa6ceaebeb53a0868c73d2ac11168c71b1804b5d54991415e6a28a043240caa29e0be600844594016658fd24a52b4bab65d109705b98c3499f83d3c1a3fb209c9098d43a10410b2d6052c7926eb28dfa2ac06f2fa2e0193a69485b069c007546fd07d6fb464701a07f1c52cd19108fc3593904bfb0c35ead57ffe178285e76c3073f1d75645c2bb4a5ebb41a93785f323c989a9e5600ae0cdd64b3d3134f3ca1ae5f083ddc77df7d2a85fe96b7bc056675769e2314c2e4934f3df5705475c95f6d0580daf25f79c51557bcfdedb7feaf37bef14d8ddffcd6b7e00fffe88fa1bb7b8e2ae53d74e86058669be39a5763554f071d4f52265968799632c19c10017300bf6a01bb2caf82a728aba4cd9694619020ecc68d1ba04d850133895d894e768058465a7813d6c603d83263bf7e80f8fbe054fd46993adfaa5a1bc8913b2e34805f5e8c8ea08465e0dcd4f1732fa58751b7bfd31b929871d0ca8c3a0721ee80a41ad551045119771a5868fb0980d43d7a7bd72eb85b4f19fd4155138aef75ebd6c1ecee6e78e4914754164d62015209c802a4ebafbf01162e5870c9c8c870ef73cf3fff1c847d3efcd55200daf5e71bd6af5f72d38d37fcfbcdb7dcba480214bffd810f42b3704b647c79f0e0c1d4783f4b88aa45ecf35ee7555ada3cb73c2da6c60c41ceb3de79d756cd31794eba927e4eba967385f558b56a95ca0cc4e3668cef4c6215a9eb4e0d9a83345a3fdd4d2d3a8269f356e8bc95278400f93c05c9adc549663b5d5b1328846c560cd39704daf33496db2c054921024d17a2d35a1dcf2090ee550fdb989a9e82952b56aae7f7e8a38f2ac533bb6b36dc73cfbdb074e912b8f4b24b8359b33a5f7baabfffa16ddb771c2a120a145500f24041476767cdd5575df1ffde72cb2d57363537c17bdefb1b303c12b6b9eedbb7cf0142b00a01c60282880537f8e95a65acc243292af8988113209cbee78039d8421e4e20fb2cce3d77b3b022b66e1d9c7a77e658c6a478dc36dcd8ddec56e9b9b217eb2804ddbce395f062dcdabb00a3abb07892e5f5e3f8a8641c3dd0913640d10be534f588408aa55c4567014feaf1a45543daf422077f2db801622d06414057fd19f13f59c3b174e9525557f3d00f7f088d4d8dd0d0d008dffffef7e10d975f0eab57ad69a9abad5df6e8638f7d7b646464222f322eaa00e4fb66aebfeedab7de78c30d7f76fe0517e09ffec9ff80071f7a48a5faf6ece985a8592155388aa6db7e12c128e20d408e1b9fa790a0803791774dd522fe98012c4201e5e3afe5c0c0206cde7c2eb4b6b6a8e766202bd3221b84312ab7952dbab1887ba42874456ce7a2ed4fa02930c711d6e97740cf058754338d48040d6886cf3680a1c3fb402bf9748b57de577a5da5c151488640f702f8eb403f4543298d6b24c1ab2eb642941dba019e2c375eb972150425841f3ffe63d565784a78e02fbef822bcfd6d6f9340fcb2caccd4f1471f7dec511ecaee692b00edfae3f2e5cbbbde70e925ff78cbad6f9bffc8238fc29ffdcf3f57aec891c307559d3364586c4c769e0ab9cbd5a4ebb04a97baa810f38256b848ae1fab382ea4f87098815d14594329f40b162c504527aa2808e37df389a83a77adb2957437864e74d92d72e67a064ce7f513527989849f34ed868600c669798e09952d6776bd0a743a1235d8c8696725f85e8ecb319114f71be627201d874eb395ec0e8518b691424a1aabccd4cf50f6d81c3e7204b66ddb060b172e84e79f7f4184e3cd70ed3557cb8edab376efe9ddb27fff812359a140110550aaa9a961175f74e1fb6fbee5e65f5d307f017cf083ff0d86868780b11955ba58ad1b9d67fd8b6e660ec50a7bf034ad6c51ef040b2a8d22f78a053d97d30985b82b4d70ee79e785ec39a440870266b4688736ed60ea2675850e019cf65857b9d8c21d3776c698503116372b5680f57bbdf4b7a76c92c30ab7bb33d6e3408b01295a8f791e84eb49a057b864c30b8c290fcee34d566e78832643203db5152b57c2534f3ea99abc3ada3be0c73ffe315c75f555b074c9929699990a7ff89147be1f613d3c2db6cf8bfd251fdbd24b2ebef8dd1b379c0d777ef9cbf0dcf3cf435b5b1b1cf5849f676c6e9e00a360cedfb3ac71b50d3f79853e59c7e539efe3deeb3c234d99f499acfdc412403e9e11926001c7567eedddb74f3117c97a73733dc69de5265f1e32ff84af85821852aff9fc057e0f3d37b465f176684dce12f6d6bbd6dd9a4f4e381b92760998de7c9770447f0e2c618cd7d947391898db071c4b1d1aaf22ba50751ee79ab91f0845bf58ab1db6b0131e8b686dcc7774edb661c9f77a2c610a90734a3c605667a74a034a105eb6d4cb4edb4ffdc33f8af0ae0d5e73deb9b75e78c1f91ba26d1454ab000cf27fc5e597bf79fd86f5ab64eae173b7dda6507f4969341eb295240a44912f9e0164f1148129923ecbea4c0b3280b33cda569e933acc52463c41e83107f4cc4b51f2946bc51cdb24bfe446d9be7d7b4872029a1bd1dd9066b319f795c5e3568c67f663cac013322dacd4357658863438e6b5ea1a8170627c8cc838b8292f868496613f1140ffe60818b9361ae6988a09442284dc71f9913249617216c00879a424e3e90057c139e7011e53b8b2c4fe3c553abc164e9e3c21c2f27970f7dd77c34b2fbf0c2b57afea7cc3156ff8b58686c612581cb42a05802b57aeec5a307ffedb366c3c1bfee33bdf86975f7e055a9a9b8502e8cf75dbb3049fa7e4ac39e477b8a51d0772acaddec2455a698b84163c23e5c853bc8fa46be219f01366ac55d18ac7b4c62b091ac9fcb22d4ee14eabb06632e2115f9fd9c0310b68e9c1ac258e8849638838b7f4dcca12b2d03212015154dc0e60e7290847703d6b0adce12c742d3fa559e3967a8df42070cfea021154f979a63800f4fda33d67c478c448668393fe03b34e914745ab1542af823b21806692a26b158b13648d40c43074fd75d79acadb71e119fcfb17be006dadedf09a73cfbde99cb337ac215e001651007aaf4cf774cfbe64d3e64d674936933beeb843a51c4647469c32df3c0b8819801de6b8edd5b4f326790b45dc615e2006e705e2f73476069ea15cb080b24cfa370b582c7a1dd2033871e28422b4a4564b6d36e296d22350e24f8dab5b41d19b9819d0501367d00deef22f5aaa2fd435001c5db61f4023e8144c7328d148ad814f60127e8691a222665c7b4e5298dc73bbad35b7021c381c86099e8b17fe50a17542066ecfebec41fa39c648876452a811d2144b599458802c143a72e4b00a0beeb9e71ec5afb974e9b2f99b366dba5a28725ead072079f99b366fde7ce3ea356b6a9e91dc7dcf89d8bfbd4db98f9012f3266db422ef4913e42205353cc50dcecb91e7c5fb451b85f23a102127bca926b50905ee23cd0bf25f1b1d1d5508b264b535960ac0abb7b7fc7b2a4c605608958e887ed7ccc871243f2c01e60457b0a5b93aad165a3b46aca95624be906b41b582c41d77df7a07cc7a1bc47ba1c26d9e870642957567d4ef880e1129306ee704603cea77e273ed4d99f8debb767b0fe87a3960db8739b8f1bff67822bf81781015e5a95d78e185aad04b2aa2bee37d70dff7ee834ea10c2ebbecd21b3b3a3aba936c579005feb5b5b52d5cb468e12532aeb8f7de7b607c6c5c69c0b1f1b15ccb5a64f3670925e66c64a8a25e0033e2e53c2090a7b8eb90a3e09242045ed0c3e1905ff6cb33d6020b009bfaeb85175e506140e094b4a21787f3a81aceb57eb490c66516b6d4bc9a30339421eebae39ee5b47c7d9ce4ee232e7f88a7c8d0992f10be5e61da5d462334cc29200a330d8c00884639806545369e0930eb1da0bd363a138239210d6d36b21e470412907e81683d58251e7298a6a2204663ae19a879440dafdab951028213b066cd1ad99e0fc3c323502f3cf5efdc7baf5268f3e6cebde07597bc6e8d8eeae816c80c015e73deb99b162d5ebc70627c021e78f021557524ad86dfe89315cbe781693c03344b03f378c6062fb2f9b18adff3107cc8b1fe45eaf3b3144256088055781069d7be67cf1ed5c0158601109f2f106064f9995fb34b403a665e0e858f59854972e2f1fc3e4fcc38c89f1536a181bb04eebf706457188f53b71a4d18c3639e8c8520985b7f1f8507baea0e245b15671173301ab73fc410c078012c1244042f956f940b275e04274d4fb6714a3327e9fe19aeb30cc4da3b6109015d51371589cf4a996c6a6c848d1b362842912621abcf3ef3ac62deeee9e909d6ac5a7951510fc014ff9483e0fc152b5628f6de6d225e947c7eb4e807523679b5087b56210d87f4b2e0ac5838cbdaf39c38be1a373b4d71f00c2588391e4891acc64f729df44b667376eddaa9b201341d17baaf76d35b049e3bf173b8afd101ddfcba16dbef8f663a125d241e6a0eab319c783e14230d82693213c78a9a6b631e30e9e10584d25b3b30ce04258d079054a0558a60b321d17c41a3506c1db5f56c7440a43d041f0b001ead2f73495388c230602009a7f45c047a9ffaf3b273f08c33cf544542322490d581b24660d6ac2e5917f0ba9e9e3975453c00b5e7962c5edcba70d1c2cdb2daefc9a8d0a0542e0957633cd37267a5d0788ea5cd42c4d380bbac1c3da6008e45483c4fa7ef80417a0974356dcf6938016684081cf24951d2d6fea5975e26a939202ebf6b75a82058ca3be60057b425568f17d3a3b738126e007405cacce8f551f8580ad02a092d1c48e264a770d161fa258a8b6925e42a8758d152a481b4b06bfa34168d463430a817ef53416715d78a33eee839b7a6210a5d6839b02d86620e706ad38af63ea5e04b0211d9962fd38312b87ff4f1c785775786552b57ae5cb674e962a0f44d090a405b7f366bd6ac658b162d5e5457570f4f3df5b41a58303d25071ccca45ae8ac383f29df5d249d0505840321bf0c9867b8d3d57028152933c602854b50208fcf73c20d4c10fc220cc1fe970402a52710989980e0f005e834158ddf15bf9d27710e92ee805da4a046ffc3ac4beca3eff64d9a823b9eff065234438145fd5e401f73b0f97c8e40d277242548044dff9d69f093d3c1267eae3ed40e8e77c4fd09533ad4209f63d6db42c7ebe0093500e0a551ed751a0c42844d923b4096054b3e41f9f32baf6c5561fbeceeeeb9c2cb5b99a700f457656a6a72d5dc9e9ed992d37cfbf66d20477b4d4d4e64baff59f97d2860cdb3528679317a11d6debc5465b5c54c98836df00c209417503258f0daf380bebc7b920c4e3b77ee94f3ebbc1a7e4efaf93dd2592fcfee0284e021e5340568c1343be68ba619b975fb89002021eba06e39f73000ba039d125b70bd09443bd2cd9d1a04a9454d66341b8f140d4b5e75a7abdfe98ef4b80dd04b5d02b96f4eb21ecc030f539eb02ceb960cc4b2cf43928e4ac2d123478e289e0e11bed76d3ae79c9541e0ccc84b5400416d4d6d69d992258bda3ada4b7de2c3478e1d53eec4a4a491ca40c5f1342c2366584a9ea15c780e000955007b5840d1a4a1fc9052688305ea0faa6d71e629ca85a7783c45bc2ffdf5fcf3cf873c81513c6cdc7e6395d0112abd09fd989447968e62048ca4f23418c63ce61d6bd17c4a72b03df7b4a4d8b398a0d3881c1d256151486e0a93384127a96537a95066779cab7838c12878347f807b1d819611987b697d132a182f076225cc92280509b268b08d989704b13029acd1904421f394f0cbdfa57297a4bcf5c2809f75d6ba350dd29293ad9ae801d437d4d72f5bb67c657b5bbbea361a191a56079c9999cecdd7638e2017c9a7f3824058917c394f09377841ab8ca7e905649539a7854198e3d59c2e7928cf4957ea6c40bf0803cad10831ed0a3bd800b7e10098e19beea644d25b4f5fa3eeb001169d9af758dd8cfd99715213e05614a283e4879d0adc49cb515e3f5bd29b58c569f8fad0492d3ac287aef7e1d43de8b0415736729e90e2033bd7120936414156703f83a4d391565e821f6e71ae70003988548e2393d7217fdfbb57280011ca0b2f6081786b03bded240c405e60734b4bf322494028d94827843b211765268aff7941b7163372e0454b7f31236cc08cbf675972281063f3824a81a7dc1364a43479c1f422e6007ba74b6c9aa4446545a024722d93198296f0338e03182a6f5ae512b9af3a0d67812f0ab2456930d37750f18a5d58428d3e6d33a645339ce010487b762c8086d4857005957b9e89c934e8b420776b0cb89fdbf4c0438dec9bb4263900155c4e32114c8f7d67a41cdbf33698570c95d4e5a8df2fbdb8e6e666a8abad37454192a94b02810d8d8d8bc45b9b682620310b303d35558f01ce92dec2e1c387d5c8e95210a819f345812c80f4869e6a40365e4008f2bc89ac7af86aeb01a00a0f244f69618a77940750a629cbacf2e5221d842fbffcb2b3c13901f60c4d1792189493021a07fd67f10dea75f9d16b762d26c4dc6ddfca86a14734c29c4c2062b429c84ef38ce5d26926c1160b3137d667d4ade66e1932a6ecd58401a34e7c6fee8d398d573eff007ae5c1216f022358800563fd9cab5ccbbaba06908c5db20d58ae8f1cc327bf4418df5157575b975507a0f648537373636343e39ca05482a3478f2a0a298db04201c1c873f3b1608c0d19316b91e2a3b44c00cf0031d340bc3c641e7384be087370918227cc013ef39446d6d7b6ad5b616060c008154615818c96c8122167a6a69e6e7aafb495e4e469b50e078dd81320ccbb1edaaaeb96d4322775669b84481e3e02e938f54280c6fee8843134dda6be09a28f1ce2f505c0635d8efeee3119090f67f0998399a79ca85765de1f955731f0814c7768a9fcbd5c0ed4d051e9fecbfa0e59162c0b85844cd7ad3b735d0bc9f6252a00de33674e4b7d7d5dabdc0872b047b82190d42167c7dc9063c5d384a8485f7b9ed0e4c5ef79fd0849005d5a1f3e16f082d20410ab502250c08bca9b0d985589a8ff958523bb7b77415d7d7d681d28cd16f996fb21885872f5bfe1cf04a4f32bf41236bfdf0e0c09409711742fa68e652922cb1c60526bb2e50c20390923cccc89af491e3f52069c542c822e92e2a42d98a61d813ba5119440c450a78357d9e729517d2fcc73ef9128e058bd0210ce01f19f5600f2f9c8f901b26b5084f4ed679e71c67cba8592eb0038178e425d49e6156559a18c0b039ff105b219788ba4aa20276f5ea4f8a688f2e055a4e0f28438c9aa279153caba899a72c970d7f32a3c9aac8c41b6924ba0f826826b79feed2c3ce7ef2a1bf082721da5b327475655d4d86ba61a4e248db8b4249aa65a7ecb3d526133aa2e3d084a2a5b24f70b8b5c56a79ec06b6af1158245b5e36e3fd22c02b8a5b9c6ca46e3ba69218ef63454275f10b82db69cbb053a7e9390912d2ffb61c9fc63e18fc92070204d53a41e81fbfc06cc491d02a94770c843e84c442fd4726430bae77aa1c4436fa00c63e3e3303139a9f6e4c4c4442d75c2cb49fbb0a3b3b3a1a6a6a62c0f34261b80c483d5f11554e9cee615f314a1f0ce6aa2497abd08116851259095a24cba56099c4aa254a140554e56e2265289f69fec571a99170819b252aa72134b84573e585dbe0b3e8a1d1bd8e90363ee24602a6c1208fcf4a73f6d5259e8cdbcf62765ebcd2bdfdfdcd4040b172e80f5eb3728a24a598dc64c8b6fbc4e93bec6b9bb1a962c349e8f8f53cf7b7cfa949adcd4e0f35867614cc14464233caa9531c2a6394720019380d0f3a1054aaaf11e4d47752494e8dc8b2aba92ffa2abd4fce39b366d6e9996c290c99b4780ee11a402d04a6474740c262726a2fdc29d52e072929159b66ce9ec9a9ada92d4fee351e79f6562e1b9f1681668554de14d114f22af1ea0e8b8f0a22e7ada6b72a1bbbaba141553d8a9352367282961ede999a7f8da643a261ccd9d0c0866791af24b1e4b2a18b97974b34cdadd20b150e8a5b8c24e33329cd3db7412f88d1d0f9379f5a846901beee5975f821ffff809b8f2ca2be19c73ce51f71bebdb8fbc0177461e772602f8d984340a704dd1150e0561aa3fdea99337ae776029c1238580a6ec169d421ca38c10c928309ee85941e461a033de8b3bbc04941fd1008b5189300fc0a142d3cd410e898ad908e135316e6b1468aa9591aaa3daba5af53729f47a1271202711f7f42ca14b594ec902d4490b232b8b26552a012c734c86b54aca7b1711dcac8296b478bf680a8c1740e93914ebd2cb8af5db8580373537abb64cb5d9a455103e140a9799b14945a422f9dc77ecd891e8bae52946c9dd277918b5f057221a764e3698d9d8849cdf6c78a494dce8b5b5ba1b5bd18419238a76e49737d102b55170a8b6c2e21339c5567a3c72a4951a09ef6329de06e7e1ac2f2d968ec0b86b43197690d096ebfa848a5324c4c8b1c2c1412c1acb05dec8b128e65613863c6663ee3e19bf500909308824ed68a9d1bdf285680e804effd9a22b9af970c31ea75b515f87296f0e159c2e37967f95037ad5bdcaf4bd9c3e2cbe652d80d83fadd4fe9493b0afc9a9c9b28800d42653bcf1b45baa20d0540db73fcb40fd798650a621e55978421ed0c80ba633e997144e997691ca523ed01916c0b47857a982503729ebb3c503125ab8a9a9457809b3e1f8f163853d10cdb02b15887c0652f8556c5753ab5ccf0069670e9da7e71d916cd61849279dfc4be70098fe7c67568565f0f1e600e86b93eb213da0fbb7dcaf865bca69c4721f31a2943460165ae6a8d8482b46b4c3470c481696f8b8537f684311a2bbf72241b623ba6d392ea7a5c94c7fd64ddbb9e93c7462f5c03446d9b27aaad47c4545ab28b9998d065ef684de96e52a4040b70e03dde1aafa7933d46428a1ac4a25aecb95997c36b285bf0e149643b75b9207c0a6a7a6cb32ee97371816ffb80a208fdc220bcccbea642b5a1cc30b7810bc205058a4c5366f66808cb754cc2c8132e5b2d6c182e6cbe1249e8209b6036ad918d4f1b09ebeb5add5510079033ee4df6ac4c394a958852188872cc380b9737bc4bfadaa3ec32f8b954a8179e0953b4a5b9354b80241f9f5f5cf72c3a0e3e072e366bba183f01627a7545391fc96e71d383508bb76ed5263ae25b048e9b50c0720b0985b6ee272e2a980532d47066d829d0f40ad257a537efcda8480b8da76bfa4c7e1e8b839de0c045f6900e9708c9e3ba51537d9043d1fcda13963cef4e2b07cd9a504f77b30b8ae1370ee0f23e033bcf78a0115b9535f461540d0d0d08075757525f1c640228612d99da9ccc4c61c1565d3810c2550244390c5849b3726bc68871fe68419458e25d74a3776d4489ca56d15f435d4c3c891ad505eb8006ac68f43501957d65536dc4861966b8b904ef94dcfa9c13ef920658797647e919655826e41a4001cfa2ac004b0caa7e78eb8f180c70684f2989546a724181c5e3f7b0752c865e3c98eed3be0785f587c72aaff54984e8b149371f78d807277d417fa612f273df709cf4933f62674f44134254871e8d3e352445dab408f79c7608911c087810d3b744f01ed1c72ad32385e0a42bc6f01432084cc224442508a718512292896a0783109ed05ca73183e27b58fbccf97493ab072edd5575fb271e3faf79f38716289bcc930cdc36226302f6e2e9256cb6b59c52afe8605429222adb779146559ef51d363c5b714d546619df78f1c8709f1e69ea11921f4c265afad931356a0323ee6567041fef83446083aa57b2ddb3d25f5934cb951649e3b0a40a3c791a03b1b31da569a01d858fcc001bc106cefa801db309ade1bb9b5b26406b8dd9c52214925704c783992a75ee22254c5a80d1b20897dadc291ea28f05a8a01dd990169c49f8e47c91da63d43db156060eb0e48811187f8ec02974188762ea2e385702fcb1156eb45c78a261f0508cef5ebf7c5f6177741ca38dee2e23c4923c8927819016c35a3af29ca14fd5fbe7cf935175d78d15b9e78e2c74acbe99813819446162ce029e26e573b1b2fadaa8ee7a4108bd60f54032cd22f39abada6548e105fe1ae1f7b1ae6d72d00befa75d03ab51770a20435b56565fd27c6c7e344973999939928e72e811d99d33d79f2242c983fdf1262782180165ca0b13173c762f1084572324998c070cb297db59d0cac706fc61cae5a798d324c914d6432ee1f191981c58b1785191100afd18627a6f658c2060e89ec30233e27fcfdfe2c3dda2b009ad4141d16648794840a1dadb927f139384064e4b5709a21e3645c1a388ad639be3737402b517768b07b6f98d00569b80b8932e21edd305986440f40f998a363a3cd975c76399c387942c4fe15bbc88137e7bd40eebc8825cde3f2cbea00ccc20d10f26bebb3308022945bf43d6363a3302d41bed6369896448dc8a0bd74024ae327558c5edbda22ac618d108e493811d56557e3f1f0a8ab4b5677c9e7f1ecb3cf2ae197f4cf25d5f6e9f6c55754d81644401033f9605dcead0776ce44a9448df7d0cd663f1395024b43204bc2c1dd88da32aa5a11f11e798de76c3a076677cf56a0a8f454c2d1543c4672a9d35e7ece5bbbde66e006260ff5f4078938293cc37f697b0d7cea6f2a709c009f7660073886cf91228359809311a06fd1f13b4dc53a5e4b25ca06a02d71464f0999542ba38cc9eea4625da6ad1390cc674202d7eb49f200d44a9d3c79a2b677f72e353db6adad959c81152a8229aa143043a8f362f3bc745dd12c04cf08672003cc4c1352d970b1b4b9155a9b9ba20a102114e55a051036d4d5ab07f1dcb69715b55a91ba02fff590e2a9169a9b5bd4efbb76ef0ec93c65f71e61d3951835506a6ca72f3d5e42ea6f0bd328e370e633a799250957904226c1c9d5c2e59761c0d2a5cba0aebed6eb5f67b181a1d48b41928fa70f8419cb1b5f31aa900c8f01b7e931f0b21ebac02896cecbdbc349a3cc3d8542e68c3ba41f3ca1a949290f47c9d1781fa3829fc0f4f883013a092f8363d65d4622ff869054272679006a08e8ccf44c49b2fe48e02f6a67285c3a5bb4fa0f7262f1a2efe519a05d9e923a1de0306ff28facb4dabb7b272c5cb4083abb6643bd88cf6b6a6b55dc3938780a76eed8a1e2e2bc90288d47406a75a99865b821b9de1b1b1a40d2b5c9381b09ef3efab45c51910ab301642cae8e794bc4db93a9e0a9a98a6345304a47719aba8b7ad165e18f062b297e113b36ad72238877927b6f858d996a4833dfcff3047c76228b03e87a082f8490f748048345ecc70818eb1c748837c8f9adc07127e3e058fb18b3b13f6199390d53da7a33d26740d783112e043f2401af600ff470d70439732a01c585a374e54ad19b4be2674c48a3e459662828e83cc765c70225b945dce8b458bf28675fd1a9bbb2de7ae7ae5dd078e8b0b086cdca2d9633144686879dcabdac7bcd6c09160f52f2bb496f40a6da64dfb7040531a9bcd50f23316e15e8e6266542c6b595bd00cb972d83f3cf3f3f72e33da24d8282cb74538b70ff6519b4bca6c4ba9108949482ae9b883869b27162728d5ba005da8c8b4b867bd2a7908c5dd03a07eea0f63ad5a99979e8fd708746c455938e37c05db34a4327ff1950966466da85d1027c4e41962d5fa65904072f7168c26dbd0227c5500e4a9c1202d83c605455a63566c59b5a9a579597349c222b7390d6b4c30b541a72c81ff2594d7972b51c81a9a181582b8909c8ef226111877cb65fff33729349804d7effb4bfa4a721a7cf96233c81c7844a33fe44d37d64e6887996d771bfb9716b5d90cd43d3b9471dee05887654985b63ef08b2ec0e8420612457740c0686a433f65c281ec21338fe1849e3729b71f11581adc874ad3e3763bf786c4da987e0781969a109647817b410ccd417a628004e4b4a89f68de595737ee639b17e569c5e8d05cff3068a14f59c2ebf7ed170a8689f7fd135e419958300c518843914eb7d905ffbf6ed83dededdb07cc54ae5de23a1ad46a7f2106216d84fd3010d431ca0de127a4857151272e1499e8d63edb9531069260533640695376eb902d42ada6ea65c6b64e519998eec2d920e37748d00039e303485db166522fc98b041e9b9523d998482279e3038c5f7d402e395b86b18c43d003013564d2b14f0540d94552d5764da6dd1783baf35362b9f9f36b003738429eb5eabe934cc7a7fb58342f3d2ac69f30cf3261fa78d2d975fdbb7ef708a48684bad53a8e28069b645d7527bc527dd380345484b6dd2745fea4f3bac3ae4269c261cc23bee085242055f8cba0cdc41289ca4f8281db74e978353d013cd432485419c79855694fcdf21544dc00cc8e424e671143233508562f609c34965a627a1e8cb5500aab63c7088176cff783a425f4d01505e5e1d0b160c15fdbdc8504d5e85375074c868128310af2283825558e922a3d6aaf15c7ce057ce0d181f1b53694016651610302610dc9068b804987493538560661024e4bd79cc9211941c090aeff0f2b11809278304a50384dd88ee156ed979fcd017a3115ce06510f4a2316ed9902b7a480882a3282cf08966106a450b7502d3afc3824415a287af9861ea596182c45d12766fe0c709aa8658d549835383cc7372fd79dcfe59605a5aed3fcfc1148a8c05abc67217b9973ce24fcc3946d63463c839064fb1d079e3d1d30851f268c9f5cf32dd28c9616bca3546e0291d18e5a9e304dc62fee86cf4ef9b30e9780339e2a3b7c1f112e84d198f812a11422ee2937f1a8a2f42616e0b783ca04d539f014f48f781ed1120af05482f831380cebd4eee15fdf8ecc11c92d99180283fdd24e47a5a6e4a9212c210dee6b802d08d980ead12823390b01af43cc99a9dce98ed22453959ae322f20d845076d16513459c350f2ea0d00b2598bb29aa3f2d621eff9a5fd2c33005bb76d75ad2e783c76096e3a528b9e42f849053fe68d10c1340c4334042073f8d02b9ce188316f00fdf904f697e45e17c3f6858e87c11c066157a855071eed4fe0c9538d38f97c0ce3e0562982cf2c4c0693d25423825b0ce6746eeb412d09c0839b05882893f464d5f081474509de0215e9e1cf13e2a263acb3e2dd6aeb14aa01c0b2ee0fab00fb8ad63cf00269d62cb010207b3c7911a035adbe4276f5c92951baba308dc34f55d7551889c9797c3dd0efb7a72dbb3c1144340187d3e1cc9d300048e5a201cdd0c30048b394a1dd4ab0c418046670a8699e72d2726e09b1ed31a063d593014c2d5f40e61332d0042d1843ee912a3393c6f48f1952b2f9330568268125808f310c00cd0cb3c08c45ceb2779862e17981989617385e529c9e577b90e42ea759de6afb1130274597d6ae5c941e3d8f6f318dbebcc831b314429e277060ff7e387aec98aa3c74e6fc692ba51169da538f6eaaca840a0956df71fb1d0660174c74625f96401eeab5fdf2d85c4174dd646f8e20cd1420a92f60d1fc023469726eba1a9daa40e229004f02f5ec6c414e589b2cb1277329cac11653d9909c808fb45700e29c8aba014a333c676200e1e4978ac9a798fe72850b60a64b9ad79d97b5c98a30f5620e489865e57915d79534e22b6dc0681a4370d109405963c28a0c39c502bf67856979d90aeeed0d59cda8fbe843b08cd9fc3263c4b5a7b3ff200e6e815b51c73c7798d3221bb043480d129ee08130e2cec7e2692f3ee634540020a10571bf414ff971ab0ced9872ee30f4723d952461ae9f0645b505662c3ef03469e4178df1e9ec021d9620b8a3d30d0e00f10c0d4f310f8e029899994139fd570f00d19b24a9aa2bcfca6141212e42110e1982c70ba4ccaa495f26a1f5d5c6edbcca6b2b82da67c5f859e3ced2f097ac01af699ed1d6ad5bc35a002fbe76ebe1c1e94f77a7fe90fe770e8e7099f746574229b09372ff06550730b5034e2dbce7ce5b85c31d3a34773dbdb15c3ea69140391e532c40917f776ddcb98b5ee10f77b109d332ee2929e7ba22cf43632d98580f4032288ca57603aaafc9a9c940569731c937e78d2d06c60ba5fbaa49bb65e5a2b3ea088ab8ff49020005ac639156e5bcc6a3a23c82bca0b22a3ac63c6f4478d6c466846cc6659d0d9084a1e1f4d929b71c965c440cecf34a63e3e181fbb3e5e58538ffbd7f81ba78867142e009a429083c0e460ece5801da03e0a71e496a5f37e8280660c6623476e0d374613c3b409580157a6e3e8fa401cb8ff19d6226a27c68372555ccf49c2ab48f6639647b00d3d320a7018f4f4c989b4680d820c72c173c2fb59514cf16e9d14fb3741c8a95ec02e457101689d3b3e611e6611a59e4a9453c14cc01ee8ae03479a9cface948d2faefd8b9d3301471da86ca5d0b6add5192ce7226e58019de29e58196dbf284e21dbf3847b7ed322f668e0dda34d7c09db9037eba51af90af08b42762d36d2eb73f27c26fdd703743a2272031e2d29b50c853367ecd04a3218b57bbc0a311694e0a90c5198338b7d804662980a9a9e992e61057206029201789852c3fcf89cb21a540a6a85b9ee516174d33a68196597131e68068699e465adc8e19e9c92c21cd2a10e239b848118c252f13d2bb7b374c4c8c470248ac98661c62e0e4a0ddbe767a218c94a632a79807622eb61d26c2a88bec7816ba362088b9e93a2e471e071cedec0066fb19bc2a478af653568cc421a6a4c3d2009a84b5d8c11e9c812949a3d43096c2e3dec83544709a98c291e549354168d6265501c823ac5cb50a3a3b6711e4119c7c6e9e90561b1aa4e5d7790aae506d271de6b8b8d5006159f75494d3b048b85314f3c0825e41d69af22a3d12d91b70ecd8f128654c0b82b49563515a0d4d0f3aad62d37f37165ea3d706744b88ad8915d354667ed51f9df0cbbddcbeace24327080007d137f1bab6900464b3f64f97f432eb947b157b8c70003a033e3dde0107e0f4acbe9e1e04868f91c7404cbaa60e6019519ed35668d9d16bae0421a6049cdfbabbe74cad5ebd1a3a3a3b4d7a8747e591ce7418283ed73e2faf5e8d20e5d5f943813c3a2ff0799ea108f226ece6a509a18052c8ab8528ca5b005500ac7924a8fabe645bf3ee5dbb141311b58015c69c4f6a41375d7b14d8a2e835e3a68b8eb3a4ce36523a40d26d8e9b4d5cfa00b833b38f47bc858905545ebc4ca9c2ecf5d391e571ca2d334dc8e9296050f1c69c3b283db7e5bf08eed422cb801c827a3404e0a4cb3232fda6408a9666db7a07973f1091f23bc715006f6d6be5bb448c27718092249a0842ad17f8204e95961f33e251c811165e20e6e519e72c42378e05052d4fa1e4851190932accba5fc849e56181bf65d516f09ce7468fb77dfb768517e9221adaac42a167db0d1700a356880cf2d265b69c30e456f4104f6fe22e239616e9b04ec71bd0c78c2c728594f44635fa9aa5389ea6f4a700734362aad37c1a73a0ef97a9739a93a73500fabd061b60d4bdb7fcff86c60becbd54a8e7c4e2e5c8baab505f039dc8cc130a9090a5a7011581dac103079ffed6b7beb977ff817dc7645591a2ae0e30e16114b3c090117f66d50e14b5a000f9157d7916b668b55c92a5c48299035e05a28f397506d58078508592c58c7a0cff6f92feecd8d163aa37c0f11ca86524d372a910845e007a25c4cc7601eada7ca6875c44c2506164922f335e80495947730efcd1da0c79e228ee587d02805737000e31896ef7b534e510e351c484d42038dc9c3a84f1d28624d7cf19bae9432f87cf98df2c45746e9ac1d01e18f2440510a13050baff8107bffea94ffff38d5bb76ebb4d32d872c64c9a0233d0f02cab8e199f49cabbe7e5cfb342094841b08be4c1b32c77568aaf48ab6d11d71b32321c79a42b79854c794557584071d0f5918c44bb76ef52dd81b6a0ce5aaa4a34918622e8b4ec973916d89b776f6265b7bbcf040e8c118b49535f6027017be9305d3547ab0c8d47009050cb10596c1d0a30af04d90c56e1363b6e7004eeb2fe46f50e4e611412afa5c2dc0a455631c7c248c9b00a771a8b80d41ad8cc4a946d4828940af1bf809621c63c00796533a3a3a31342bb1f1f1f9f9854957f680b283021879847d5952430bc808060815460351e48566851a430280d54cc0b57b272ef79f50c59e7cb4aff15cdaa40ce5ae7610b1207904327d304959162182af8bed5621c125d6f6638f234789530089d436ccc7758695721d695bb13901c7aed7084af560c15673419180ccca63781107f20a92be02e1e413af48c62e3603c18879c0849ba8e744e681e484be4694b891da053631ec849bf8e7d1641d4d9eb6334491e80246f97c46fd3e2432c2c03b0e002a6b002f102687a162b701eef5e563c7c3a7def79f9fb6a079066a53cb1008098076c6246ec7e3a214191b46d96a2e2241b70f2c4c968086502c24e50751b2fbb79fa2040935b37476796cd470bbf92a78a5b324c059fc6dea6c456517679dd83158ba89bbc3eb731393aee3821f12075fa3644b0d7e0b325335328a4c3065d33c1ed70cf841e07ce21decc43eb08a2ec07290d020d73c8972b4c7b059050cbc0637460be0750d14a4068c78a8afd59d64cf6f40d53249e3f5d2b0e904f96c133f2f490037a6115cae474069b54534b9156e894a704f27812f268d911f23918246168efeedea839281c30c248631037eebf75f5f5841ec7cd362eb1b5b69a2cc3b40073e60c0265d45b8815003162fd5df71ed1eb48449a93e05e0d0065d08b2b305371c85d2f805276d38226930244ea09449e0469ff75537e24f5196bbd063b0a8e33e7963826ec1944e25ba464018c224093d204004e38d64f0ffc838cb4529e9066e5b9f3d2865954de59160e0b140e25c5c669f13ba4c4ef988159e4b9f95999079ef32cb27805d380da248f61fb8eede1dcf9a826c09ddc1b9f37681b5b1868a67f20dd81c60a321edbf87ad22d90aa368dea03b1c2ee3054da4b6f73ee4c3317794c467edbaf0a612a6e9313ad72a4ccbd467191ca43c31204dce000641860743e16eb6204925d005204153ae5a4608a53a6621286918c84665f4652d1935108043a588afe171e5cd384e559362c581493e756f32aac56118f8143761b6d52c1505eff3d1404fb784eca304db96555fd614e0a302f9b0105c303cc09038e1e3d0a27e4709252c9152462c992f2fa8cbb4c3caea260e12070dac462a522ca12b8a3be4dc69b57acf2e02eea1f7a29cc0807f75295dcf8fc44539856619add245e31a30548dc4c01a21586362c614e46c1908b00e9aad4eb45e617724277aed3ae2e7312f3485a984d33d2278bdec8b40c05606625e983316f3210666c545e0004cb2aa3e529c7cfe31a48eaffcf73a5f3c28722425fb48e3f2b7392e7ede4652b8a087b1185554d2f84fc920421bdbd7b004d6f806de76566e38303d219e089c6eb3e90e633f51a2ebff00a18502b0844b14084dc73737e079dd7e93aeaa980df39c7dd062292dd407047a7196fc5dc93f548dce7e2e6f28d07014491e9ec042934d2854080a48fc06baa32a0a483b5b8f503a12ca32da8caf300748186747f3495585a211014b04645fbd1f32c539158b748734c9e1751c48329dac790e7be43410f21ef98452a148b5e635ec6c5e90de8dd0dd353535ebb2f27c03d73ca5c2909a689c9b95b7f4f0b7f9c89b7840acc41bb75d620aa33d000b6761590ce32e436fdc7cccc014866d131a9c50a01e42ce1a7aef7e5cef835229cc05d0665af9ad6544a12841f48cad4b0a8337019931d26228c57357ab3d5249e879633cc79a6e5e4fd8fb1ee23c062e87835edb67948781a29665a610e2f00086246214c518032ab2600a0185d5a16d558d181255885f52fa2148b6024fe6b7bf7ee55538adadadbc3e9473c597d862c53dec45d03d0b90d43ccb18e3405165addb0ad15494e3d692a90aeb073e9b330f2123478c7989e7c812436779b7d15df0071c5558d43802655e95b559a66e47ea642f72023ed13702e2a46bbee0ef58b141e46e911875e2d700baa40673ae914e17c0fc0800b8cd93c2ef2621b0d0b5a57846c328b3c6b0790ddc35e4438780e089747a50555783745f90eb340b9a269cdbc14675e9891f75ce9fb252fc09ebd7ba046660328d517ad740346d25c8468c6e000dc491782c30308646250c85a4d636353a4e31385e8d003dd81991c7c0a71201e433cdc054207469b1ccdef48f800691baf2e0f663ecb91f56eccd83d328a2c26fcf2ba8264eb0d3a45c86c06c3e9248cfe1fa00dffb1000680b429db5021d18aad04212ed2569b171660955e4216429e553a9c553997464b0e39ca02207b5c19407a4d7edee4e3b47be6395914cc0119790165929569d0bfefdcb1530d11f5c92b4ddd3d73d3753c89d28b32e6522e7d600ef79fada777fbdc757561cc1df680444a52e2be464075eec6d8161f6084ca8b5863c663138719b39908cbee4b8b7b6c9933e88a3e4f81eaa11fba7f8013613715801ae073ceeff202508a76288001700b16d039e3e9769d15f4003003602b3226bce83c025e206b70baf17211a02d2fa429d2d59845649a17a264b12863817be53900a1ffbbcc069cecef27d383128837b9678949338dace7775a6a81b4dd3237cf6e5070e65e496072ef3c16d773a2184c76a0125a675a7d48d374167404a79fdf56d9f1e4b1df69c33958ca7421e68e11e7ba9459330f9be22816e5f7f5753007f8336dd20674b4f76c48412188118306e99bd86e87c09b2e9a8594f302887a1e816856714ad6608bbc73e7b104f39c58bf88624bb3a659d75c0d009895224cf25e78410fa588e790b65692466efffefdaaf73cb436c42460e0016574ec9ca5d9367c7910a7c2d242a1c12f44a21420de81c749cf30732aff88a091189c9176629a1ad40a42d50240346b4053896b61636e55214de7394d41f49e490800c0bd7266169525570cd599b947ed1170922675daa2491523b8d81d03d26895a700b41641f2f0f29072ac123dce2a50292a1445e2632870ceacebe005ce5f6daebdda915dd5b0fa424e6895160670c82f2aca02127b7b7b434b0ecc2996a12cbaaa1437c6f2c34d4c6cdd5d9f568caba9c3718a6d669b5f18a90054c771bd0ad3cda78fa98ec76231b70a3b2accc1098c2a324d4c444179b309e244a134b4216e3cf91b4b02314911529c31d8672e66b1598276582a5a6f00780cb02ca76e3ad3638c5ed964b66b1cb3ee8885e2dfbcd4dcabf585ff458f5d24b55a8d127835ef53ee15d91b303030002d2d2d303353b1168fcce874361f19d011ee2f4ad61987d6ad70b8456afaf39c13a00cd1a98b455db69b3a8a1b48ae1fd304823009eb388299f35041f7534486c7306acc016fec3792f36bd2115b7d1b853691178e1ef968a0d78f7a1f9e17a4ed7cb8126e376039fd21db340602243612645932d94e5c5b5beb8c92762643a3977470ef23f6baffdea4a20667ddbdcf9ae37267447cec9ad2aec5bd1e4c66ac71f77ca1fbf12fde1114fbfc13afc76c0e20adb4f43c90f7f984b54b78468ec2e6ee3ae9d1789230545285cd9eddad3803f52268410b9c5975e24fa4bb14818ca657e708cc49ece82b34f7a21b89746edd34bbe8493a44d829953792dc3915aed8dea7cfd7db1401a5f722a8a123984068f4e8e82e79ac12c428c25c8172cda365290aff95602b4d2d32e77c5e2d06adfe5523c2e3fabb9cbe1b58fa66cf117e9912aa6fa8270ac40e6f4755f618389248c796231940e2b62e23791e3c41106c2a07e946d71b29d0bbd55365cec6931b0b4c9ed69edf3e0cc7b5c2b873ac0b2e509f0bd1a46674f79b2b8dae46432ac5813eaf159c98ff2427bf182e3a4f81a32bc88890986fd034daa60394db0934340da7efc52f0cd356abb77717ac5dbbc6b30edca9b0a3945aea59d3893a546818f78acf228e0104cbd0433fe7ec6cc3a667f619276036f7fc554be38d8916dcba083cda1a749c580285191d0bc6c9a4035fd9908e3fa49e8b8f1be8d05a29909250029598b744d7d4962c5bd40b3db03e5301189e73d28b4d4712f31c04ba54ae31a0858cb5a6a627d5dcb2788cc05589229ac9e52e6ce6cc6035f763f9d6394f2e8f314a842547ca6a91b462e0541018c99e72e76a1810a2487dbd3170831695240399216f9d7d18e8253e3911a86c5c80c7babbb889f5a81797fc396be503878fdfbffee4a2a45039a92726d678465a2261998e1d390ae363a30a0c0c81b3488991ec936f5d43aefdc0198fe5baf6dcfdacd6f72c44e903bd5ae8311381ed7507b46100f51ae8fb4de10e10b79a34edc4ae9bc70d0924bccf713fa9c02786c068baa0e55ed45398b430976aca213d9f2c42127285841710493b33e72c16e2e80c83d728981d02d0262044cc4c79f1047758ba2bad9d9df0fb1ffd43b8f0751743a532e3bcd11bb29cea5a20a6a4b8103322644c8f79c9c930e95a300df0b2e398300f14a1578201247763a75d73b6af8e092ac26f794d5c196fb28d1b69b84acf39064f1a2ce5d2714b8b582e9714061078abca33dd47aaf8c032096780a189ef49db3be032f326edbdea686c794c4fe5865209ebe0842f095e01fd2a95ca70ff0fbe0fafbcf83cd4d4d6582666c78b208349c11fca02d6732a0002a271da89db5734df4dff22b5547b4727bcf35def8206111254588236e73cb52c374b029032b166a4f4524131717eb15fd502e83b5484080c4879e8e91d3bd9f2e7573de6dd7f92e0d6948465102f4c56c21d5716bfd445f4fc934ce6d8e3e795efa9112f4e44545325b131ea82289667720d5c65551f9d431f634afc6f5a7cb6be8c6afde4ef53e2f772741c792993332c174074f0919c8cd14f0330fdcf036b79141a07621d31359dee3f77e959cd8875941ed57537dd04bd3bb7831cddc739012dc904641def9b798bdad361a111c2048593d80b80b49c80bbc20650a47a8d684a7152e9098c8e8c9963d43734880b9c519a4dce9e97df459174b56185e4caa213d984723a5fb56599af9e86debe713879b202a3630075426a3ada11e677d743636d2d4c4cb3ea155315a9bc9ff458d24d6d686a827dfb0ec2b1634761f5ea350a743d7eea14bc242c4553530bacdfb0c11d4515adfdd1be13b06f4f2fac129fa99140ad58d41f3dfd9402f2366cd808ad6d6de699c875fee1e38fc1e1c387d473ec9ed3238ebb11bababae0c1471e870307f6c3c68d67c3f2152ba1f7c00178ecb14760edead570e659eb13674afea45fafe633f9699c3fedef12ff3974f024f41d19144aa094f85e2723c12b30677e3bcc9e3d0b66144f8fedfb8758a5631492704bb0a2212024837e93bc8b7296f6623ed49be1f6275bd9f0df29b1994a113181745fbe7ad737e0c5e79f83c6e626b8ea9aeb60cd19672a6f416e60794cb9f9642c2337a72efbd4ee6b4d5d0d3cf3c493b07deb2b70ed8d3741a310827254872e37b0dcb0f25bd54a8963aa061507a0447861d709f8ecf7fae0e1fd1598aaab85a192107ab1c8b5e363b0ba0de0dd97b5c3a567772b349a7975e9e9094c5eb57dc80e0bd2ed898c0d472726e03bdffe167cfa1f3e2984bd11eefcead7a1af6f007efd57de0987f6ed8540acc19b6ebe157ee7777f0f6a6b6a95472039fcb6dc7f1f7cfe339f81c3870ec237be7d2f74cdee868fff8f3f852fdff145e1ad75c0a2a5cbe0ef3ef56968134a40a6f36a85cbf9471ffd3dd8b57d3b9c7df6d970e0e04198bf70117cfa339f857ffed427e11b5ffb2afce66f7f00fef11f3f05dff8fa57e08f7eff23f0969b6f86cf7ff176f1f9e9d4cab86a05f8f404ff6767ff7d8fa65caa836f7ff7bb70a4f549982e8d99545fd2e54974a33cdd084b5eb918def3aeb70b0335ae68d859623d0e296d76ac32ba4d7c248d5a2c0b205c063d030eb0486494b4c143cd24059a894d5b2336e29d5ffc223cf483efc1f537dc00478e1c81bfffabbf84fffefb7f2036d54278feb96795abb274d97275c4e3c78e415d7d9ddaf05298e5a69e169b727c740478654615760c0e0ec0ce6ddb8522688415abd6c0c9bee3c2db185137dc2494436b6b9bd9840d7525f8ee937df0b1bb4f41db9a39f09bbfd105972ea881a51d25e81fe3f0f0e169f8d23343f05b5f3f04efdb370e1fba71a1587896b0e1d08b5cb35cffb4242a3a40677ec9b3ede592cf656868087eb8e507b05f58f233d7af579f78e5a517a156589a1f3cf020dc7bef3df0877ff007f06bef7e0fdcf7dd7be1e8d123f07f7de8c3f0c8430f8af5da0a4d225697c7d92104fb2e21fcfffdc3bf0b6fbdf916583c7f2ebcf1cd6f819bc4f7f4f4b8f82e2bd4f9daebaf873befb803b63cf443b8f1da6be0b1471e11615d03747676aab1e1c74f0dc2d6975e8296e666989a9c52cf4b2a1096308f2e0964755f3b9db0133dd8b858088505150f8f01b6592161c2f50bbfbaa1a10e6ebdf57c982a0f53869e0491e65033d90a3fba6d027a77ef174aba2354a6cce53670d28ecc928a38854131ec07f331008b8abb0d1ac575ad8bbe5744dc82e51ae81f3a013f7ce07eb8fadaebe157defd3eb189076197b0e46dadadf0d53b6e87dd22c6919f9a33771e5c78f125f04f9ffc3b6581aebff18db077ef1e78ee99a761f19225b06ad56a5579363c3808fffbdf3e0fa3421846c7c6e0b22bae5224955f121bbab1b1097efdbdef83d633db95f6948b5a460e0bbb3be1ca6bdbe183173442fff6e3f085db4ec1eea3005d2d1cae794d13fcd315f3e0b645cb6199d8c4010b955716225f749270fe678a5b2b1907b634b7c0e73ff73978f77bdeab06758c8d8cc259c2edfec2ed7701d6d6c1d7bf7137ac5bb70e5a5b5a61efae5d7060ff3e9589f9874f7e12ba6675c15d77dd296741aa98b44628829d3b77c10342b8e5151c12aefcb4b8ff19711e792ef90c5e7ae965f88bbffe3bd8f283fb5408364f3c23490872cea64dea393ef7f43330383020c28ad5aa34588d99a7396b4806feb0aaf5e489e0671156e69f2464f03320783a476101d4c9d072a61fa6f8585897efac014917a2cc9ed542b378764f3df5025c70c126920e26454364cb3042fe0909ff7287eb3007030088d71603e749f86f0660636f6b4a6e04619986868794bbde24acf2e1e37d4a3017ae5cad5cf745c203e89ad5a136f3cb2fbc001bced90423c3c3f03b1ffe30acdf742e7cf26ffe0ae6cd9b07bff37b1f119bf007c2ca0fab30e0f9679e815b6ebd15b66ddd0adff8ea57e00d575ead16e7f7842bda3ebb0746c747ed7588f3ad5dd0047fb35c7cdfb50bfee6815198b366362cbbb01d9e3f3c065ffe721f5cf5e3adf0a9df5a056d4df570e4c46032ea7d1a6eece96dbe74a5302d5ede73e484527cf26d93335342e935c3f1fe93f0a10fbc1ff6f7ee86dbfeeddf618655e0c31ffda8a2ed3a35d02f47c0c3c0d0b03af298589bb90b17c07ffbd087e01f4528f1c88f1e525e41ab50c8d3327d2bac4e49866fe29949cce0eeafdc25c28476f8abbffe5bd8b869338cfdfddfaa3992f2997ef31b5f131bb60596342c17b1ee41156ecc482f8df157794daa17daa4b0153330a658d629f742690b61f27bcb32042e337860d703706ae6040458723f4d2e50f84ed05dbb00ca4317c1c1811370de6bce162f576263d7398f45e7f1d9834216e433b5a3c1aac500229451cf05284c48413ab0a4e0cd880b696d6b57d3649e7bf65938efc28be1f0c103f09d6f7e035e7ff995b0e5c12db062e952357b5e5a7779e10d8d0d3067d112181a1d53bf2f59b602c476141bb3a2ae47c7f772735f78d185f0fa4b2f83de7dfbd56cc31621fc432363b16cdae1e30342b8ebe0f59b16001791c6dbd796a14508d1cc85cdf0ed8bdaa06168064a6c0af61e3e657a217e928d976b5172aaf3b2e2e05265c668f6998a08878427f481f7bd1746064ec1ed5ffe0a74cd9d2f94ee080c0b452a53b05258a7a39a7a85b554189cec3f25e2fe15f0c94ffd9312e01bafbd1a6675778b6736239485588bf234c889d1975f7105fcc33ffd2fa86f688409e1390c0a2b2f8f53aaa981356bd6c2bf7efe73f04bbffa6b42698f886b11619a788fa2f24e0c01f2053559f1c67b3df34862d2de03903d8be1b4154f5ad565299cb6bd7bcf613836da176262749e1f290c934a7ba819e0bcd626b8e0bcf3a15c5b125ed58469e6e164de02a76c4384ef800e4ec18c0d96de0ba0abdd3cd721ff81c51fddcc94648e15c22a36cbdbdef14bf02ffffc69f8e38ffc2e0c0d9e828d1b36c092258b61e8d400f4b5f48b0b17566d7454c5f16363a36a43d5d6d4a991e5d2b59c9a9814eee9a4d8d423b064f13258b66c293cffe24b30313e0e1b366e54e7931b7e4c087f45b9fef1eb3b39300a2bbb035837bf163efad997e08b8f4fc2a6f91c3efb7faf829e45f5b0ffc860f4a9ca4f059d2ea424bc1459d2fb2b423827c4bac8185d5a98fbefbb0f1e7bf847d0dede01ef7cdbdbd4e7be70d757e12ffefc4f619788d3bff5bdfba132a53f23dc7bb196edad1df09d6f7d131ed872bf02542f7eddeb44e8b01e468432914a7766aa0ce342414ecf30181e9d80be9303ea7509d84acf4dee91556bcf8441118ead158ae007c23b93f1ffe4b808a1303f74ccf7775e6d202f8b7fa9e8b94fe39a84ec36d636c1dcb10dd0323de41817bfb6453655b58eb4c1dcee39b068c11c1813cf4bca1078834ce9cfa6c351f30d38cc4bbaae07536534240e412c8b03b02b2ebff4031ffce007ff76ce9c1e78ebcdb7c2e4f4943acaf1e3c70b2dabccf9d7086197c2ba70f90a1197de190279c21d6c6e6e82c99121d8bb7b3734b6348b987e198c4f57a032390e7d470e43c7ec2e75aea05c0b4c5610d637859f9d9c08f39a22be15b18310ee29a86f6e853aa155776edf0af5f5f5b05078082322cca84c4d41a9a139864ad0db97dc74b3da1ae1e8683bbceff613f0c1d7b7c38deb67e0e0f1feb000ea55dd70a79bd9cede68f2c10f9f3a093342983bbb45b8333c0883274f98ec874cb3ce5dbc5428d793302d5cf2d9f317a9c38d0e9d820921d4f233d293aaab29c10bcf3cad94eca6d7bc56846b65c5f4a3ad47ffb1c3c213a885b6595da62a4deea5c193c785252b8be7d82a9edd41e89eb7008607071460d5d93d4fc4bc35117dd7cff6eb67590b40d57e207b1ca64b86a69b675c95b2e0351535d958aee1b0307e5fbbe37f0bc53dad8070d9ed682a07a9221032565757072fbcf8026cd9b205168ad05a1668fd8750f2adc2c3fbec676ffbf89ffdf9c73f0151a988e3012c5bbab4e5acb3d6fd6a435ddd4d611e989bdaf9acb9003c4573d321124a88c54d9d1296a24108ebea0d674345fc3e28acbddcc04a8057ae56ef959b724a589786a66605344997b2beb149b9409342a948eb5357df2062d8719812f1e7b233ce521b73606454dc6cad70539bd4e7f2be8e9e1c86f9dd6578f043b385db35097b8f9c8c4a3c59418b1f47b3e3c836548168fbc7cbdebaf25adb85104b77527a3d0d422176cd99ebfc5d660b6428a03307f2abb96396127eb9a9b858ef0a2bc3d9afbd4059a511b186531363ceb0cb1ee16949a5e2af69d7dc05ca1b90ca62e99a33d53574c8eb11e7923fcb3b914aa01a2fa01ad1cd8de71d1b9f9f76cde289c4d3b946ee862a32a916d415cba12923154d430a5441d00c192b9e343d393c0e23a42961056000a6881d31066096c9a72bebd79f75d9a205f3ff5a5a0f568918563188319ee66b54ed926094b60a2d4110351849847852a1ebe1a595cb352a65343d33ee5cdec484ed21909f51172cde2baf6b5222d8c2c2498c69643404faa4e556e39126a7d4dff2368d3cf4b1fe6138ca4397bf14940ab9e9d58441a7170614498385ef9129374ed645c6fcf42872fd26c97b544826d6527eabfb8dee796878d47c46bf4f7f8d8d8d47eb5576ae4e8e90d4d7129e17556641165985fd20187a003c0d2b4a71fa315e2be197d7fe3c7f653d5bc38fe02478533e27164201784198927769d408d6a6e2ff681c19d20c1e9a96868a9e8780c95900a526eaebeadaafbbee5a78e9e55714021c5e70a5d0aac7523151c798d45c2f3efb848a3f18e75501643f49aaadbadc6e3630546d1230b19ebe003a8db1f458f6f14f37d5558483218b0108ab786e32c55b43bc80bcfc7c520d4592aac81dc9ce210ba27632de98f9d9bcf02d8fff3a253b4686a6f21c3648a9440706062d410ae78e3763d98cbccf4735014139301c84497500182900be66eddaf9975c7a39f49f1a12aef65824c8812517c8786049c931e1f4c3c824c047be1500690a76315cee941e004022cf32243d2967e9e9586688777db9d9097b2c9ed49b4dae832eb2465a9d022eef75273daa155e5e337e02f100ed95703e9f70bd4e1a89ae0ff1c2e89aa409114f431ea3e3a07f5db6e93f5182e47e9bdbc9a0a7b364e8bcdc13dbfb72821fda6d8381b706908af37346af293f4e40626943dab102293d4af491f67eb37f8244cd190a319a366f97c82188e910e9011ce90be0ca7606f59173c60d2538eda54fe22524a3ca1162d56b65229341636363476d5dbd70378230ed870e9f404ce8d26b99232d27a991c58d0e95164693498ada950c7b1ca396c9b22539111de7b667148b0c2a2f627f8a24a6c0dbcc00f9c3c5917004d0b5a06ff5fe161459f322912fb70d0889e8790aed8fb8defd9325a8c746f0a75521ba4a9d138515eb2c45c76027de892f3bfeb68a7b59c445967f0b121431263c1174ff4d85d4c96b710c44b74973976d0be3db5c77930e078da10c193e40ee844b8653c0a902b47c08aa718827d70118c33c363616e88349973d084af699f2ec6d9a0450d9d76742e20ada1b452da9cfb28218679ff1666ab9e491f1b147949585f6ee3be240169e2758636a191d6619cf62faefe35e0bb5f3ba212841ea3ca42a394744bd9ef7b0271fccc376ae11539e957f6de0f7c427e7b40d3908ad2947cf63a1c21629b8e9a90a4c4e96a1a9be94e25a133a2faac09c34578283e1535c23c6957b46fe9b7a3b48053189068a3ebb98bd493a0f1dfe091994caa4eb94ec794d7ea19f49a088652a8603d0ceff8b8ec1ac5c70227b483498c38244c30be201e0a9fefe1a954292963b8aff536fa2003e8b89c31f8130bb5aa61324b4350ec585a135d6850dee3a1a961aea993833d13de21d4ab2c85d7719485ce6e219e82808e7a364debb1520749420a589425fd0f4182d20139d68cb282250ea2a2402ecf80e88495bd0bd5e1ebf1f24ccbcbe92883d69b4c32f9505f7429c18e150345c6668bc6273d0da90284c0a13cb53631c6afe6ef338ff1d73cc49e8e0b5de3aa4a7fe1a67f0b571ff272a13483902e2c4a094163d760f88763e0183d48a5b7a7a67ceaf2639451e1b4ee210f81016650f03749da6c3470ed76ddff60a0cf49f5295ca8a3b9d5215a538ba89c419849891d21f1b86218fedd44536c94cf3942e26fde038896fb81f3f479fe749663fd288744320626a40623d0ef4f828b54b82d6eb41f00650128254dab5057440859f3e954df7129e97303c2a9e1aaeefd99b41877e7a8b53908b3c034c50dc685d2a4e63624abb46efc5ac2f26b0e458cb2c43482cd50294ea606412619a979550f288cdc72189e4984c8e01f4b468066400c6afddb9dfa01c51784f87138365d96d502e800ef398a248e4c3f69ead1950026ec30d25c505332a8c66ca7c7c2b4e766a31036e18975d4665520844078bb8450511c785e410e4e99c80478f1ead79ecd147e1d0a10370e619eb0c92af0b0c2003fcf33960347163b8b12c2f990194d0b392b1309c102a7aef4f62a5a4a48f3137dd06634621a0cf25a7afcb110074f9da1285dff314b84fb985717c08dd2e2d4d57a5d95bc224700dbcb6fb45f8e5153f827da35df0991d57c2c054ab9021168b2bb933ff0e7da3ed78abcedafa2eb637ab2f16d7531032295650fb259c0d80538300c30701a64660142a30c67aa0a9b51b784397b8871af1990ab8ee19c62c2df72e1e732c35c873b349e003fb804ff48b359c08afb4b605509eb7714e04ccb13816e2809b09de883e7750f20843597e4582d3aa4b95187a61043a6974dbd4af952d2a9e00a6078aeac713118050854ca700d9c1a0904d09363838547af2a9a714d1c6faf51ba23a8078cf72dec86e6dfc2b660c921fc872676131314e4e70d5688890147b2312770b1dade27f96badf3e726f3c984417d0653272b8e04866d75f364c811539a16d022fab71cbdae7e1fdaf7f0c66869be1f1fef5f0c303b3c4069cf4588c9110a5ba0a8b279e1795fb9e8653c4310feee11018c76d0c08272cedf418c0b1a7808f1e12c23f1c8256621f8dc25e68ecee015edb01d0b15208638fea7a4ba24de69894ee21de1ee5eaa742337a0478ff56715ee136b1196dfe0046c5df86f600d4cf06ec3a532884b65001d1846b8aa76bf5a0103029fcfd3bc263c9afa67980b3ce00c23ee83d444c99958a9e86a61383c07acf31b562a9beb943114e9406194c62156ce46185b853ba072073f67d7d7d5023c90755e92e23eca4e9f1bf8f99739e887890cd4e38d123a031247a648e36b79b9c39aea7b50c8cb2e8c5a0621e95f486f13d73ac1ef736bf9f32e484411d5340209fb536c99535ebcd99c7b08c66f80a8f385bb983037028cb6b1eaf87fea156e89fa80f49540968a47e0ad0dc5b520ccd29012626a3ffeec681780a92e21ac660d1d04c3e47e1764f0c003ff49008598e02d43403749d2584ae4b5ddf50791a66d7cf08213d0630791278c76a083ad79ae0977b2e2f629c411909d8e9f82162afb011a1708e3f2d748a049cc5b66e9a0b282cbf5aa7e951a104c479470f03133fe3dcd78aeb6b8a78fd21ee65f8201e21dce0a34743c52685beb21fa07d8538564388be27a9789abee449588dcbfd9e885bfae132daa22295dfaf30cf2b8628eb463d61e678f1890aa05c2e3359a6eb8f37020fb84a1aa4e92a05ebf223757bfc4d25cf333ca46afb65a31036b558177a54b890b2e6b95416af3759e1959cf3f2bb46c4978d8d6e1ac53fc748748cb23c467322bccd7d90cf1487a033cec9cfbb270a1c0943d46b42a1c2d868f80979fe92174648e19faea8de5e5e27ee27a074cf25d83d24aca470f907276b6160b28e9465470a645a3c784958d2588e935d13608fa699695cef3c519e1caeb8297b17edb7cb25ee834d011c793414fe96c542c8ce13c23f4b098afcfc84b8f6c9ae1aa86b3e00ecc42b80fddbc47311cfaf7509a8a62b226c98925633f3387d4af819b1c6275e921450628dc5feed5c254e5b037ce46818fb4b6fa341781f033b949282132f03f66cb2f4f45e8ede865394b73e52e2f2be24387ee431e09343c00f3f0258d342b25edc4172a80f6564a1dc00d8bdc14da5246618c009a175eccf989b6df13d6806dec834887bb5890aa0adb575fa8c33ce8013274f84853c41c9526c739e99bde7c97e930bd6f8487185c37bafe986f96d01f4f64dc3171e1e558a407a026fbfa40356cca983bec119b8f3c971181c93d68ec3f59b1a61f3d22e38d83f05773d3509231366fc9cb35ba5517ceb451d70d6827ad8716c066e7f54288d32128b0eae12f016d114d050cb4882003a92da8db7234b25ee6dd99c1ab8f5dc79aa3cf96b4f8fc2eee3a16363bc0921bc2bebb7c20deb76c2377ad7c39ea1954268e4e785a564011c196b15efabc0e054230c4e37852eb31af82e0e32310cd72c7b0956b7ec83bf7ff91ae15a37879c7066b600c6d3ad042b415f01729b92434a2345953f622c5da87e924276629b50b8c20a37cd0758704928dc92053aba0049143a3c5e82c6ce152286155e5fdfb300a77688d8bc5b3c977aebccd330cef332682eda5c83a4ceeedf0b3833023c104ab46b9df09afa43a550df2922814971e2c3424885d0498fe4d8d3c0a59212efc1a6ee50693820206697372a60b3a43c0c3e210c8c5402e21bd30aaa349753746ce5cd0a85811c9cf5778170a2e5e47a97acc567ce28b5f05930f0d88f2bcc9971a870515d77904109863d3d3d93175d74113cf3ccb32a1ca090415afb42f2ebde8042ee6952fd6671a1bf74c51970c9ba59d07b7404ee7de551e8eb67d0d4c8e02fde733e2cea6e54b1daae3f7a1c7ef0c400d4b5d7c09ffdead970f68a2ef8f69347e1b6879f0d294c3992bc79a41e6718fcfa3567c0359be7c2c35b4fc1ed0f3e22eeb69614816806787f4844448fcb998b36abfb09ec9220f34a56c18d96c5039adfd50c9ff88d0b5467de8bc79e84dd870715314a881d95a0b56e10feedda7be082157be183c79e815fbbf70678f4f899301db428cb395411425f9a81f14a2d8c4d475396a6cad05c390c1fb9e07ef8e8054f42a96e149888abffe1d9eb446c3b61d33e09557f468c2816c2737a0ee8482e8cd745845ecc881266251cdd9b42f7ba321d2d5bb46042090e8f4f43e7740d046d4b808d1d13de9f70a1854b8dedcb4c9a9756087267f80626e4f8519d878f1d0fd5ae083724551c4c9c049cb339b4d85383809d6b428b5d2b146af30271addb01c7fb846730db0348bdf1634eca8f4ef811ff938a0bb7a9e76462706dab75ceddc9c6902e0e8995a0f5929d94744266832781a00954ed3c25c56d662e42ce78f059b3664d48c247c90a1bce7bb7960053e88c31d10b404b77945090c20924fdedc7f7a97fe775d4c1598b5a2457359cb3ac0de6b4d79af86edde266b5800d351cd62cea502fbfd02be2b09323e2019f82f2e451a811df382e36d5d4a439be43082add0419bb092b8553c21b981c579f294d8ad870624c6c62f1a18929f17b1fd44c1c019c1c564a4479025362538d0f4369e270f819f177181f51165cdda0747f658c39223e27ce81624382782faf4c9873071519ba1c12ff0e87d884d845edf553b07256bf52724bbafae1be9bbf047fbaf96e08a6fad4220d4e0a7776b44979009519a10c2726e182394fc0776ff957f8c34b1e11f2268e19ccc092b661453995549886b1e29078ca2a06b67af977eed71b38588a100009ba4d8afb68980d28844ac6e1b10849843f63930ca6a62be1199be6850a6df224c4312eee0cdb8c5750a2c5a6c4daa342c6c5efc20b02a158b06d85c21af88c587fe16ef3e1036118201403971901111e3061bdc301a151cd721250a7312793b2d393b92bcabb400902f20a785307a3b2670b8ec644953397bf5f2772534aaaa9cc480fa262f0063d9d9813c2d0b040cce47388fc25b5b93b21c0a953fd078f1d39025393138a07ce9f6e9a5504144b031ad7c7af42b3632de46f0fbc3cacfe565f5703abe636c196f1a3b06e6133d4d5da4b3b7341839aa9b66e611334d44a4620068f6f3b02b75ed102375db814562f68530aea70ff04dcb9659770f7e531ebdc7a114913f696c570d6d276f8c153fba1b5a916de75c56b615c08f11d5b76c3bf7e7f37bcf99245f09eabcf819686323cf8fc11f8c45777c3c9b166583e3780f75cba14ce59351be6b4d5c184d8c45b9e3b0afffc9d1d7060a8153a5a4af03fdfbd59cd19f8fa96e7e06d976f80a573dbe0f6878fc1f81413d71cc0a77eeb1cf8b377ac86bffce641f8f24362d3d705b07f78165c75f76fc01f9cbb05deb0608708c186e16342b02f58d007ef7ae09df0d8e115b0fcdffe044e4d8480d52fad7a00feedfa7ba0dc342e1456002f1c5c049f7ae142f8e2ced788051c8fcfa47373944e4d074d4922a725abb676c2bae5297302f50f1278ab4caa9cbffce6e2674c988a2343a151a1e0e5b3c6ba96f0e842d1720dd24232aee2a4fe4869a8f2fc242b9276e36528223f268e8dd365c56ba0ae291853a9403e3968954cac76827bd38052d2a05a804b35002df315e611b21eb9f526b6e6858e7be14a61701df2700bf82226549e3861843bf78f7b05619cd424987a0952932369ddac068b2b003565e9c489fea1ef7df75e18170a60d3a6cd5125a06b05b2aa01fdca4c8ef17e77e316862a098e0e5660dfb161583ca70596cc11825e330117af0e3b1eb6ee1f805542b8372e0fc1a44bceec54af1f3a39012fec9f80effcf16be1ccc5ed20713479dcb38582bbfadc8530f68947e01b3f1a04bf0cecc6f317c1856776c35b2f5e02f544c16c5e3317de71e912386fed3c459e20bfce59dd03f54d2df0db7ffb325cbd7939fcfe3bd6294321c3ab1af196d79c310fae3f6f2e9cfffb4f41777b0bbcebaa958a58e392f57361cdc2761817dec43dcff6ab9e6e79ed5221c8efffc3de7580c9515ce9bf7ad2e6a4957695b340029105064cce381b6c7367030e38e09ccee9ecbb73ced9609f71b67124d80663924dce51805046595a49abcdb33bb1ebde5fdd3dd3ddd3b33bc2389cbdfd7db33ba1437575bdf7fe9767debdcf10b317bcf458ef12bcea86253870ea26bce3e03b70c192277178f73674d60d63f3e0743c232f83d312459cb168bb683159dcb1ee40fc78cd91b86add0a0ce7dae437129c5db64bf84399fde1c3a1c4a040ab2ddf677fabac88d0f65078b3eb6d51b132d3a948542a9f7b68ac8029ade536d7a29c975bb4a92ab9089e0aa675f086581483de061ad588ee44e26b513ff4c0464122d31c0703f573d1fff5c0338efb4f98159119e3020cc3d0c510faf15d5623a263ac3b8f643a0d5dc26404a515c6dcd896a087a84494ae274be902ecba29b0a61de1dd4005a3d3e3c5d9fa3a0b97c1845dd112adb277a6d782bc325621eecfebd9be63e73deb376efa5d22611d138f27ba955bcb5f47b6fd18bfc8a207adc20130010817b3d0d33f2670bedf308083e734a16b561b16cf9c6208e7ea7bb6e31d2f69c4f2051d686b1ac3a173ebccb9576eecc3965d595c7ee30e6cd8f6186e7eb807b3a7c470fb97cec682e92d78d3b98b70ed9d0f5740c79cdbad262984fad9dfacc3e63da3f8ec45cbd0d19cc471cb67e367b76dc1750feec17fbe72090e99df8ab30e9f8aa9b31af187477b615db11a57deb21a7d7da378ddd973f1dd771f87e58ba6e3acc33af0e8d66ca9c3cee2192db8f5b11eacdc3a66985b32e1d8197e79d74e3cbd3d8d7bd709634a5865261fcb9b84a9557b16e02db7cfc5a7e45ab3ebf7e0e1bd73a1e239dff063f8ef075f846b361c8a1bb61f8642569865bc60f4fe4007787fb0938a88410818d7ca0b3bca421ce8ca5b1192ea8b8a8889448b0b4ac9a59d3800da02228baa68a3066444dd4ae65cc99f68f059cc5515f77120b326644bb21c83dc98a85da3bb604d590e7b74a340fd9cc3938a3927822ebdcb3963fb12a0698ea084f6003ed651c82344fc65e4e0de3dab7bd08e30b43518eaebc17ee5730f93d1300e815e04ce957157aa487d3e322f2314ab52eea6a97c5e8bca9c0fef191a766e55faf33d06609ed6da756b7bfafafbdf79cc8a23deac94fe88f25c077ae24a6d3a020128538db4cc394b52a824a944a28a1afbe48e1c5e245fcde9acc3c2ae262c9ddb8ef5bbd2f8c16d3d78f3b94bd0daa0f0e2a33b31b3c3b10b18222a287cf7da9578e9f15df8caeb0fc01291ba2d0dceef333a9b827a990a2ea83b9feac54784a02130fac4833bf1ea93666160348ff77e7f1df66e1945f794467cfd92562c9cd18a599d0d78ecd11efc4054a3d79f2908626927e674b7965c0f472ceec4439bb797ce7dfd237bf0d28f3d40bf178e3fba03c9b8650a717eef864df8d3fda227370bfc1595a014fbed75214e16cc78b6f7b561bb6a33cc31c0742d1b5b06a7614b1f5150522074c1094e41654ab3ae9a85160c86f2c3c9802b3414dca4aa85c39a855834566dd40b4a1bd9e6d8583a16cb7acf55b4fd8663f735c6c0a9235b60f3de29a943cd61c72d2014d570930c801e85dc186c91f4ba753ed4582f7461d4391fe30244faeb91ed4655511dcb9cf1120d4cd0e0aec2cd1b6610726dc835159147aacd8dbd40b087a4910e49e7ba1ef1875c74d5e24b8221c176d980ed0957b7c16ed953a54ae8cab1dd39ebc8780150dd0d4806909703137bf6ec1e1b1a1a4a3b1d5bc76fd418555ed16f1af4573e55556d060a8faceb33eac681b35b71c2c16d68ac4f62cb9e7e6cda3882a7b7f40baceec289cb6760fad43673cc9f9e1844b22e83eb3f762cce5831df7c37349a371218555412ff877486f9910c11b5b06d4fda0d82d2c2046c36c283bfad5d4156ec19c775e0caf7afc0d4f6466370d9d937e61a5d94309d582031ede94d03725332ad2d16bc867a9c85788aae2321feb85596106e2906bafc68805cd8b605971c7c1f1a12057cf8fe17615477c22bcb86a2c2bf2dbe1b2f9fbf1297ad3c0af7ed588a2c1aa0eb181f5028b573870ef5aad7e550501d5514d29fc3e0f73d2b7fb8be0e320d842432257efb6227f477cfa3d024aeba761952a11404632216cd9a8a6164e753e8b076c34ab4b8814265179caa4cc088cccef3be33fab7a801aa4daedffb2474a6d709016e9a690c92067ad315c8f1d03e91de616c1484e10c4bd6461dab3d8b306cccd3997e27888b8cacfb18799b2f35470d12b297325d0cc1f4ca2ebe7efb895d4a00d325379e6d9765a86d6b5f00932a5505f6a70beb40fa50b417c0eb8dc9f493fcb4aeeeba72baba2e15319c88f855854bc28eceecf01f2c44f8c8a661f40ee54df3c48b4e9965be7e787dbf19de036b9c42a42f3b7636e60b3a7878ed5eacded28b4f5e78a021fefea1315cf4954731e74d77e2fa077654f7dffabf32390a56d007a25429d7deffe0ba5a93f8f86b0e36c4ffc0da3e9cf0d18770f8bbefc4eefe8ceb9b0d9104cf61955cd4a50b5b4ec1f752b7242389e9724c0f6361ea497ce2f8ab71db2b7e880f9d7227de78d443386aba2ce45c4250bea80139cb3c87d3e7aec6f92b1ec21fcffb356e39ff729c39eb5e34e7363b1d3d2d55e153862f8047fb02b302996ac16400f83337cab4a610d10bbd9c2b228b5a31a0a77d91e30dd876ab48c50d8eadc3b8bc5cfb406e04e87900e9ad0f215be04ace8ac45ee74834b7f49c1d7858956db5fd50bc34127a1d9ae7381298bb502767a0d1ee4761cb4bef7d42aeb3c131da358bc0c80e42ef7a003a3be096bb8f68a5adcbf31625fe1c631b558b9d8eb1b17e9a51374c24a23001be8882b4301ff35f988e794fdb81dba8333a7a5895ca7adb25239f2ad3bf5713d0b64b91b36526ae2b1a8094be378cae32e028eebbb6ed3201d61fb39d7d2d9f6a139d0c54bd2e8013a2a8c33dd17d8136e6589192d4e7576f1bc6b4b63a2c9bdb6ef6fec3833bcc4177ac49e303f24d478ba3ff3fb57d0c63c31a4b5d77e0da1d43b8f686a731227ae594d665e3c42aeb710b972adfa2f343e7696d29ac5832c5bcffe3839b70efb50fe379a72d42476b6a1c9f88b3f58d38e9d44442c72d69c6ed0fad1546d084345a4d058abad8083e72dceff11fc73c8c54bd107a3c8f9dfbdaf1f1fb5f807b7a16a3a57e373ebbe22adcb6e3005cb5f1747ce6e117614e731aa72f5a851316a771d3fcedd8dcdb82d7dc7c01eed975a4a08b82710bfab3134bc95cbab2a74d45408f2f38283a594e977cdc413dd589a950ddc73a99778cc7df76bb6324a364e47784e384e0f96159dc16c63279d32907031b8d719531fafef66715e1c7e199f67b2e788ff13ac7dfbffb41372f21e1f6b590354c5594d71fdc0235e3586377a08b50c5eacb84628712724ae1c7ba94531b8c168d19e2a76bd91c31b0169a2f1d6af8e62ffc62bc0729412b0b4dc0940ae79784d5b452bf80ca301a8403d77c11816184e79dcd840e8fe7062cdb1af4a87362db4ded544eee4415dd3f2a10c84f483a1c961a2e9421efef78720f4e5aee04660ca5f358bfdb663b15ec1e2c203d9615b5c021b807d60d189ff7ba5d638e057fc9347cef2347a3b32585d30e732ae2c608e962c50a2b98e5ff68956d48c1bb0f1ac406467258bb6d1007cd6bc3ebce5880f99d499c7cc45c3426fd1d5ecbee8e92d46737d8de1cfa86739822637befcb97e28547b5e3ed57acc53d6bf2660175358fe21dc73e82545dc6f0deeb561d860fddfb223cbd778119e0718bd6e0ada7dd89656b0771d5d6e3b0b17f365ef0fbb7e2f5cbeec5678ffb03da9a46306f760f5eb1fc29acea69413c9e426f717a20c9a6dcd94695d5802a052f940ae632687fe92b9f9b4985722a1ca0587402ad661c677ce4263088688049419e9a106798ee32433483437d686b6974087470a3b3cea61cec0ba8290793a988926a7e81e22cee8293ed2784a587b6b9a8c39775a1e28212661b46a1a72c73c6cb1c82a21d4038fe7908644786dc844eb65bce3039c30cb41d4eb90ae414944c5f94deae9bd42beca15435d5c39f8fa08235014384eee505049a85f8c2d3952ff0683c06602e55c81794073754a85a4b6d61c0c11dc27cbdf2bdc29577eec6bb5fb2082d8d29fcf1911ef4a6459289defcf4b6347e73cf2ebcf6f479a2bbe771dd83bbd9df1b97dfb00dc71dd08a63974ec5ab4e5d82bd83197cf7c6cdb8f8d459421809b44fa913e2cb9b0b0ca61d8bebe0a8637c71fe3b0f887e6906a7f40aa17ad51133b9220a363b1ad9d8bc378bfff9d5067cf7d28331b7bb1d179fd38ebb56edc3a3cfec10b564a60c2561c013afc5a21723994289010c8ce4f1895faec5975f7f101aeae258367f3a9a9b48104218711b5b47da71f923c7e1e2a58fe2876b8ec1671e3c0ba3f966a824e1620a1dc92191987111ea715315c68ee591d3297ce7b1b3f040cf5c5c7ef25598dd3c8007b6ccc1cad77f17576f3e14efbde5b55075e992b13520d42216c0b8f55e3d69a67de1d3fecfe135e0fac32184acdb0e7018c058af630167149ee8e1204ccf0e23d37337b2d9312453f58e2a2448c0ac3732012f92ce2f81437e72a5543860dea990c45060fafb19c8e5b5e12624171541b5ce77dc77e646624044915a156199571135f63cb5032df3dd7d0af0a79cfbd55dcf5a6fb9f535950904b22b5d8c5121c9e1c2a13e06a022d2e5fd4cc2cfc86db79e006a6000aaafbf4f2bcb5fd44395f58d70de8d3f0b10e1249150c653850bd17d7009850d7bf238f4bdf7a3bb3d65dc7366d4f2fd5856e3eddf5d87afdfb013c5a2c6ce7e99f8fa189ed9398a177fea71cc9be924f9ec1dc862877cf7b53f6c13a28c61380b7ce8ca67f0a96bb661342b0fbd3e8e4baf588ff7ff741386c7e461d53b7ae96537edc2cfefe945bee8b4d742431c57dddb833b56f599516eebcde0e94d437868c3fde86aaf33fbacdb39628c83cbafd9829e81bca0148d133ffa9091fefd42f4e6dc70dc9c97cbb86f7c6200ad0d0973ec865d6927274115e561c5f1f1875e826f3d750a760e7619b79e4a78e9be365a923913f7df991ac2b4fa21f4a4a7ca9a2e88ae3b86c7f62ec2d9d7bd0d6d75a3d833dc8a7dd916ecceb419b7a03fc5385c1d5787ab02457879caf03eb8383d8352d8c71f5427788d82630b11f8af1bbb7d05618a024ef2266fa1d07d3cd2f92790d26957ff779900f5e3ce435c22a9568d4a95c35dfdf9024c5f670e029948cf438e878204916c359987c17c7f1db2b0eb6ac1d055f693cf993e273538d522cc65415965f172f3fd69c1a3bb64df2d0e4a69991b44303e822f17920da904a1c238e1fc94607d081f0e374cd9c9eeb53c957e0206e0daad5d638b97748071ed6b91dab5ed5b28b61f8e946eca2769e4fbcd42c09bb73904426bb9998c98423a6be3f13503cebe820a580041090ae8151dbbf7a9be72318a440cab370d3b831488deb32f670c4de682090b3b459a1bbf235d6c6e62d0bec13cf6f5e59c41242c73bdc1910206075d1f3c4b2acb79b788cab16547dab956cc618a0fad1a70ce23e7dbb43dedfa865debbf0beb8af27fdda691328ae2355c5d440b13c8da09ec1c11c24ee682d19222f13b5383861126aca279f9e1246239274928db64b2086fde7ab881fe864120584f4f07745a04d25cc3998dba8a2f5a4775cd54a82842a1dc6424537fdeefebf6c5f91826906844baf128b4155699f05d4d6321037b7cb1ece1d8f7d242f2c5dea324017d06c1a66ed8ad0ba1f7ad92f948188662c28443893f0115dd4f7ca1c8497fb199d28d33fd79783374ff5a5903a2d737cd76541c57b2dbda574b83374e0fc9c00693b7605c90749d6abb3229cd17f4a42a2a0f950d7d81346e3b9ccf12dd88212a2c39520528d7df53a1f24bd1894095aec0ea3dc82a5409ff8d7234f1607d4057a97732b07c9e21b8cc81e9c2f057414dc4ca81113187804bc52be2dcdf0ac2d79863b5f76a0798c9b4fccabcfb3092965b7cc32701fdcd1a12aad44405bec83bf37b2a16281f1ef4db170d1aa8f07f0b31cf6cec97451bc7ace661cc6a1ac4b6c199ce58dde00f6512925cdf702c1788deab98fb50949f0e41cf70c9f6c0da0b14fb8cf6cd07028c4ae63c1d4215289512e3b8d3c5140a530e97a97b5c0863b781e88a3502bc58f952f938f7eab6ae5c65a16aaf0e310823ec38003a270c3ad9e64605162b551f1d64b8156eb9c8a230659f3c586548541a7a1f8cf1d3ad0ea4c3a9d5ccaaa54b32dd03dd3443d64d9d4fc528db14fc5193aaa2a8a80e0602799980a14a4041fb1acad5bdabc41c442200ad02b52e7d8906d5db2a068d83212385e78f0e459f4549171561a05281a20951a64804206b65f7dd4a4eaaa222be94aa28da81000f54419527c2e78e5095671dbeaf5228bb0a24ba04ebbbc17809768cb61bc21e2d3461c46403ea806fbe6cb053a18acba1545a552e48aac725dca0612d587d2dc405fcd5687474b3ca5222928f01f9ed5d6cde3a663722d5bd0218db67088ac53cb46b71d6b6aecc2940397e1e8167e543f5eebe1633135d635be09955acb7ca84231d810082ea6fd1d8158cc193118156cc9777ef9f62ede42b340bec6f107588b9099e0da04a1256a58b56f992a442c952a1f56cbbe5c1b42ea714eb400f831a5400a55161645195d5e2aa460546fa2cfcd9646195225ca9273249c39fc61aaa15e1ab10a34284075f5454b8624ba08c56b568afd00487af5b3e633012cb9ffb50b1b01051544487221763457cedc9d371d5a615a22b27b023dd6adc843a54bca3220ea3c29aec33fd55a80095d57f74a80a4fb8f4b9f2114729ad4ba1829907aa3e8563137ca93843a339b435d69bec40e3230fa90d5171241a9eb7669c402153bf2fe12c665ff65c79de7520684d870ad54421a8307235fa48bcb152bafa2a0895c3026da748aab6833616ada3d5ae5021d672f0982ec59ed8a1326ee1b4e07229f72a5989551980fbf0bc7e7c8cb0f32e5a5b5b438dca98311d915bad7c75ec82d22be02e4485f04164f32c7fb518bf3b2732fa0d013789f6d588d711156afd85372b74e3409bd090912d0481a38a8e96826ae0cf39d722f5ebb0a6b7d1991cd1f34bb5fc42e84121c8c82a9189ae94d0e14517da1f882ad3ee0bebaee89de033f3fa5c8795bd1e82490a6339c70b13776d1ce12e48e5aacfaa2c19bd52dca55c93609722ed37f4d951c14e9e015a8fdf172c9c90a87484802b473a062324238c89b65d614c0c08972854ecabae5d76f7a15caf334cf47edf9a1b7064d422edcc97aa120958c1f06cbb18acbc5b25174061fc7e6f657792aac825872ad72af76abd851756b550f0ca840784aa2b5772c6804da3220c4b572cf840ca65a8926f7951a8e820a350604698e9a0cacc968a9b7a331c2b88e428fae85105607a39e95f070a7522c4687cc964d5e3ce4ba1c3aa828147259b04acea0a1505275454a65b28af989e9174b6181a4744dcbf3f07c1f75d605e7594372a2c04aaac58bfe42d25c039e72e457b6a5449b8a93e4f613b82d71cb4e2594521e570748edf18187e4197927dfc28c5b683ea8eae250ec05f7851059216aaebff953e804a181a601801d752b01d6638114555d2686861077db741f859094f2b8a5fba7def8256f82079fafbfcf92bb45430188d40f598c00209bb86aa74440aab157e68e9576d94af5aae672b09a4ce871359505984326c002c17540d197dfdcf43f925683872ce17f68ea03a50e93674a41363315aebe395919bfe8757929ee13a7d3a90865ccd95a72b5ab155ee1f702dea502092df66e28f76b583054c951aafc10a2a217eb8bc5c1435aa601d002f1cb81ca95bae71a594570fa06c64f48c81764539f4aa6ec060f6915793bc5af0489411d09f45a463f5a5de80e3059e683fbc43440baa2ade072f03cba76c84be8f76626abff5b84a8f3b1d393e44e883aadc7ad9d5fbb4aaad83bd46a53150575c4757b0e030a0d3e1d0d2087b409961064350aba972d1d708436344cf890a32751dd50340be620c5606492463aa5c4a2ee00f2ff794f0c76d57d4f15713f51e0ec410471b4303b92a2ad072ad6246fc28d342e0bcbab21e7ed0785a424d9562345ca2dd326ddc7326212c180b5146454eec81552ee6eb5710b5ae1206569501b8de37c650bbced76a50458d134566ea09d859a436fdca5719d8b3947a12d7ad53ef8b3dad28391d0acb540a954119e1de78013aae0ce92c4bcb5067da7097620ddf585d3d5d05efdcafc2e80aa8521e43700d2b3faff0490355b61efbd04da003b0aef4c7f8ebef39a1af95aa5040bf0f746c2a4b751508dd0a334b5d1eb0f28aa396e75e57416b08ed17667e2ca0aa07db906c6a083456517e2f8eaaec501d856d82f1a5d59bacfbdb69873a4c86d89e328e561540392ac4bc8160a3c7eacd6575b8218d52211ea123c29d2da4fa06a0a7e79d0e512659c86df61938ce2e1907b51b8fe0d99650eedda2278c042cb913fc3a4e84d5393cb981db558e7e37a5b5114ffcee434e9f818844858ae48509028c2a2af84ea0534749ad5aaef19c8db38ab1f4ffeb38ab77bcffcbc66922d57caeb4daba1a571b85c678c836a89656c7a4a5715644028f3763fbb945f71309b82a3937e991117cecbf3f815c3e5f1a93ae3686724188a0dbbd461b40c0d814b0aed4f880cbc613db1826da3ba7999ba8d4892216acc23fe0f60f36ceaad06b9c71d61ac2f9f79a4f78156b54244cd7153e7b1d69b81fcf58bddfd35a85bec7b37f694cdc3cbed6716a1f738c27eb9c7a0abe50e0304d05ea05fa6d536e176927484aa9098d809e8b05bec206b6bfdbe884f100be9801799bcbe5ab308067b1f6abb8b6a2f4a75a8ff9abd0e8b31c67b558847f947146a59b3e579b6559358f53851a6746bad1426ed15ae7e21f653ebddf382fa4218706cb86de72a9efa017a84295d0f0854beb095580324452953e4655c5b482909fc0df5bce298c890013a9ea0289f061878f29b544b2ed7183766a3d2722fce7b58c735ce8fd2cc739d1392bf5f9bfed38750d6adcb39d4f5d25b065a2718ec7009ecb71d672cebfd67c065381ed409d7f7f7a5665c76d5ff9148d8af6e0f1eadc38e6d611ab6e53d5356a4226a600fa39410093dbdf77fb6ba2282e720f0584af1126aa286112fe6e22043011c1fbe3ecc3445b8dc0ab8defb9989b705290f237d1f5198ea1fdc6c672dc851d11f8141f4f77320505ab548c05c68f04f4879b16ddc9f87ba900131df7d750116a1d67b5c5f58f3ccea87cf4e7729c5152b0967156239c89a4f178c830109f5fe3f751c939cf66fdfacfed19e54bcc47508005abb2e1aceb2170847830b1cea9f3590303f0bc3dfed0d28afce3099940f91c76b118b448563c6c27f92e1e53a66a0f832bf2c5ea0fb51638ef9fd098e5b81abd4641510f85d776120eb5cbb4601a59d4aaae548e01a64088adcb062dbb4a149e7f31c5e371d3d128bc403cc9e849966a12667fc64937af5fef2e2591a0fa38ab3d139ecb4f6481ae4cfb314e3f0af84b9ffb44d7ac45204dc4a4273aa61a2a196f3ea35045d1a5a1521567d7dd68979a9922147c16f4cf692f070198d00828c410531ed186738cf5042a81df06a0b4d702d0aeca5d3d6f03a7e9a10d19ecdc57c0929949f3cadbcf5e6a9508879580c69c621f6d8d56641728329d5dfb8aa61129ab03279316e64e4da0b15e215fd0132e9ea8429cf9bcc640da467bb355f2c747d574f36fa9540a77de7927162f5e8ca953a7968888c70e0f0f1b22e33e1349975ac6c9f7030303181a1a32d7a9afaf476767a7f99e9ff7c7f0c7cfbdbdbd686868281dcb714e6493891aa7fa07720355d3d7271ae3fea29589ce675ce8b6139467bba1c9b6f6f521b4fd61d695fa7f89429d589c718d80fc31dbd5dd9d28ba6985403833b0ba0a10f002780517e0564f756f228a5326e20a97ff61106b775a98d75d872b6e1ec4c5a7d6e1e5c735212704c84e3c3c0ffb95daaeb48e5bce9d90407d057d5d02e731caab0b82dfdc3d8cad7b8af8c485ed1819b35d74511e4743bd854ffea20fbde93896cd69c0f0680ea3638378ef4b5b30bf3be13229db4505ceb5126e7fc77cd179206c285470855e5d02d83150c4e77f33882f5fd28e5b576630ad3586e71d90329587387ede07c71e0c4853d8b3670f66cd9a5592861e63b8e9a69b306fde3ccc983103dbb76fc7f39ef73c64b359d77f6e95a4b76721f7c35eef77fffcd7d5d5e1861b6e407f7f3fe6cc9983c1c141739db3cf3ebb44bcde711eb358b56a15d83c96446e82c4dce7c7fd1e79e4111c76d86178e28927d0d4d464c6c7fdf81bfffbaf3d9ef4f45bbeff5215607f994935835eadea462d2a42ad0832fa7c65fcad2202874c231eb70b9137fe98150bda0daaa800a636726b4b4bcb29a79cfce2e6e6a6e715dc80032f275bf9aa67469500d351dcc1e53a9e248b864340df908d5b1fcbe2c71f988905b362f8e5ad715c77df005e7e6cd148d22736e5908ab3eb4ec2104faf48ea8dbb72686b8a61a110e868cee9993e3c564443ca42639d85951be59884c2a10b52a6001011c0a31bc60cd12d9c9e08105e5ea0465cceffb617b4e2a5c7d6b3443f2ebd6c2f6e7e6c0cef79491cabb664b16fb828d74fa2a5c132fdfed66dcf196673c0ac942c562d63d2e868b24c1becc111320b4ac198291176d7aa2cbada1496cf8d1906b47e670e1dcd312ce84e06c6e1118c76e7cc9b378fe0f87fd3a64dd8b06103962e5d6aa4360998af2953a6401e1f4646464c67677e4714c1f77d7d7de63d25b4f70cf83daf75d2492761c58a15181d1dc52f7ef10bdc73cf3d8609ecdbb70f7bf7ee45474707dadadab073e74ec300785d7edebd7bb7410ffcbdb5b5d59ca3b1b1b144bc79593f64541c73575797a0aa64cd86b1f1548d5ad58a5a8f9f48adf86b6cfe71d63a270137bc9be4a3021599caf7e057e53c816f795dbec63102160f3ffcf0d7cd9cdefd79cb9f9ee8410c5dbd6b593557a0f7cf1ec708687a390aa1767524f1855ff6e0d4e5091c32bf1ec72c998a91d134be7fcb186cab4108278f05d3d278de81497ce3ba51cc9fd182f5db47f1c2230ae868b1f0e56b8771f8a2469c7470027f7a7c182ade288ca58003d60ca2bb23817b9ece982ab48f6c18c55987e6045d34209bf74a423b5065d7be11acdb3226d712352066e3c039f5c298d2f8d3931a9d6d22311f1ec6a56737e0a7b78f62ccae1714a2708b5ceb8213eaf095df8de02b97b4617058e38b570fe3a2539b4c31a29e0160d31eaa0316d66ccbe327b7a5b1784eab8c7d0ca72fcfe3ccc3eb0dcaf108dd7b807e89edfdcfe572863049dc94d87cfff8e38f1be2a7e43df6d86371df7df799e746297cf7dd771b58cf87ffe0830fe2c52f7eb1b131f81709099fe7e331c71c730c6ebffd76ecd8b1c3eccff33ef5d45338f8e083cdb5a8869029f0f7d5ab571ba472fffdf7e3dc73cfc51d77dc619880095a916bdc75d75d668c643a1cdbe9a79f8e442251d3829f086a8fe7cedb1ffffadf4a8df84b50895f38d8eefaa83072c26b126297ab42e93012712b1047b8014df909ee23d27509b9ff33cf3ce3861c56a423071040443fd3080854b601549b0c4ae82fbea113373d26d2726d1a3fb96308a71e3c82f95d315342fbdd2fd5228163f8de8d2322711378e131ed98d351446f3ff08848fad30e4b99b2cfef7b591b6e7e6408e95c025fb9b01ebdc30a1b7b8a58f5cc100e9ad7800f9f5f8feb1f52f8edbd83065db0c8a833464b24a22daa420e2b3725b05be07b2a61e1c8050a6ffff6284e3dac0587ce07be759d963166319c89091228e08483ea60c5da84808521646cf701890e5520e2280a83b171c074859397d7095289637a87c6de610ba7b4e571d8bc264c6dd6c8e67225bb849fe0c308802f4a584a5312d2dcb973f1b39ffdcc485fbe27613ef0c003664e972d5b6688f63bdff98e91d8b429fce8473f32844e86e03fb78736fc44f7f0c30f9bef785e42ff952b571aa440f5e4c0030f3492fd88238e30d77ef2c9278dfe4f89ef9d87afb1b131c30c162e5c58623a441d7f4d08ff5c48dabfb6cbf4d98ec33c2f55eeff1836f895da98db4e139092fcb5fc81fa76a417c02d868db82c94c2e9679c85dffdeeb7488f8e38ba84aeee2644550f403007bbc8071f61d9752cf4c0c6dd6cf7dd83b7bda815a9535bb1b557e192afeec0e987d58bae1d13424e222304fad2e3dbb17dcf281edb9cc7d10736a12e1547ca2aa02084b6b04ba13535829e7e81d7a21a6433c3a66c7b7d8cbdf96c4c6db131343c64124f38270e1138a367f96f0eefd217b40b73a917c205def9ed3db87d655a7ed372ed18b6f4c670ecc12d983fbd88530f4f60cd4e0b77afc962ebae7e9c7f5cd21c9f8cdbe69cd4f34db2060bc78a9e9ec9c839b245b4d4c5f091577660dd2e1bd7de3b82e92d39bce9ecba9277c2d395c30c8084e3fd2761f17f269329111425edf4e9d30d83d8b871a32138123b3f7301f23d99865fb5f088d5b321f03d550b12b5df4848d5813681743a6dae4714620484fc5fb06081b125f8d516fee7d88e3bee38c394b66cd96218c629a79c82f6f6f6003c9d08768f1719f85ca804e3154da91549ecaf6bb156ef4518cd786bc35f12ccf6b7527125bc87deb51b3568fa1eb04b7acc4294193fee13def199b36615eb04b2c562f152a5d1522db22a96ffa822a1aee3a1f4ed782a00bfea6c8de3810d45ecbb721f8e586861dd0e8d395d299cbba241e0f328926ad8e8d44961063bfb6cec1dd098d13286db86f3c2a8f238708685cc680ec3a3491cbfac1e5ffaed287e7567411809d0d49042734a8b6e5c30c449a9ccfc730f1279e34a8b04dfd73f8c5dbb868cdbb05b74f6ad7b0b78c1f35a4dfbb1e9cd96c076a06d81851fde24307e460c47ce4b60e53371b906ed1039fce44fc318cbc7b0a9272ff79f32e7a4ae968c6bdcf55406539b12f8cdbda3f8f793ea30771ae4fc89402ff7b00ae09f2f1afc28659b9b9bb16ddb36238d0f3ae820435c24c29e9e1e23dd49987c795298c7f05c3cdeaf5a7884faf4d34f9bfd48ec84f9679d7596d1ed29d909dfa9ebd3b64026405b02190c558069d3a69973786a01afc9f1f37ab44d50fde071345ad26ec16b95dc5935e8e3614fc4b3b5d84fe45e7bb68ca59a9b6fbc60a5bfc45de98f042cd54bf03570f44e63bb6dc5fc7527bc7b8d5b5645124bcc93fedcf3f4d34f3be384134e3cfae955ab90cb660cc7bef6b7bf338b980f840b05e3e8ffde4669438e4335a2634a275ef98a57047ad2953898ed10484af4ed930f6fc39e7413d6ef4ea1a3bd09af3d35857691e8cbe6b7e091cda23baa244e3e08583e2f8ea26a16d41013e8df80a9edf598332d8603e636a0313e86f646c831ad58ddd380b9dd8d38e7088596c638e675d7a3299111624962c18c26b4d5658c9fdf81a645cce86ac7024111f5f182f97e6a8740f4b6384e5e66a177b401ebe47ac72fabc3a26959cc9bd1289febb06b2086573ebf1e4bba7258cc8ec6bbebb1686623ce3aaa09d39af3983fa319531a32328e7a64541b96ceb0b168760bee5b67a1b52985d79c989027933173e049e3f5ebd71b42a60eef31044a5eeae37cf199504af37b4a601ad768a09b3973a64101fc8d84c7454422e579785eefbd37ef3cb76718e4ef3c37a536d103990ccf43e6d2dddd6d8898df737f9e77f9f2e50675f03c7ccfdf38161ec7f1f1357ffe7cb30f19cb51471d65ce4f26e127bcf05a08fff7c7a0d4f2f2c732f8bfabf6db44aff038c3630cbf1f6fbff1ae1135def08b0c9c4c95cf8debc1c44b2855d1ddd86b45d72ff34e86ddd2d26ca27afffddfffcd78041e5fb9f2ce3befbceb6e973d14036ec0d1d1d16667a20abee41da7d490a52668a18c2ac9402e1cb1c731be648d15be1fff7e6c9dec17936be531389cc1505a0b1318c025a7d41922e1776cc072fe0a27cb309349e3b0d971d1a30b86e10cb33dfd581eb35b06f196d35246af1f18c96246ab85f814f97d54ce579fc3f4d6a239b7173a494d60c5bc0c32729e6ccef96e61e7a86196c32379bce0d03ac4e5fce9b13446d27974d615f0ba9352067e8d6672a68fc092ce211c76764a1867de70e0d14c0147cdd118e235eb4671d17145f40fe7d0dd52c011731306fa0ccad81c3766f9c1f3e1fa5501ef7beafefc8d12967a3d17042dfe247c121b898b309dfb79d2980c8192d7b3c47b28c0532748dc742d7a1093c77b129ac44e231fafc7efb90ff7e5f1fceee8a38f0e4874feceeb7a9e067e4fb7208998d7a5f008f71098c8cdc731c662b19aa30bf727926fbf42706b88540cef3f91fb6f7f7ef368313016371d58fbc27bfdb518cadebb72dd68a3fb8e930ba07b7bf74ddfb87e1d06fa07902c059ca8720963544f060a170df3ca826a1fb41defc6291cf6ec1bf1d5ec70ce3c2a307a34331c28b5b5b77fc45d08042fb90a0838326a0b33c8951e1625bcf7fb98c0ffb14c25ccea1b1c0dc0afa19142e9f3debe74a010e958b62063ca0716c4905c6f289d0db8f558ecd2212e65f677ae4fc2cf44423d122b8d6c94d49eb4f436426def1842f5d23805aefbc741a6e0dd2b7ff3f6e3f1e1ebf13bef78150af9e66ffe6b72a334f716bf1f0dfa09d3533ff89e12e82f0909f6c7363cdbf0e2bf7526e84421d2cfc62351b2af04da8395cb9c95a202e12baca7ca65c44b0c40eb481b404995dfb66dabc08cbb44c7db8e458b17956b8bf97a93851b48e8085b00104c4db4dd660de38545862145e4c494a09ca77f15f72bdc733c37d1443ee86ac150e39d6b3c5d304a8a703fc2ed70e04c35893651d8eefedc73add2ae56295beb3827da3cff7558b79e88a06bc9b2dbdf2cd1fd615cd5ec03cf068d94548550ad3f8fb01d24e05e53fb8bcfea5250905d2a2a5e1d01a8bd7bf6aafbeebbd7e41e1f283093ae2cedf72da2b23578745e80f2b90e3debb09acc06acd5dd33b90517693cbedf50bad67df78751febd36ed0ba6f398800905b67ca5f274d9c9578efb77a240a1dc6657cab4fcab1e0a3c261094d6e5642a593e8957ebcd8aa8d18ff18a23f96bcfdbc6d75e4b58a5bfc5712dd159b5e45bd75268232ae3ed1f699cfe30df5ab2d7fe91e6f32f1d67943b707ff3ec6bb1e8d732ce5ad6ca78bf3fdb4230e1baffe6bded43a66e656b0fabfbfb082aa85287248c830078799bdc96d6c2605b281d5976ac7a2e40c843e08b4f9fc8d71b6e94504b5186f116c7444534c2fb55837c51e3f48ff1af3dce70f3886a0be5af35cea84a3cb5ce67ade31cefb94f04c1f777ff5ac76a857a448ef7ec267ab6d508bbda35c2ccd125fd726d8052b6294a2a4085adc12562cbe4058c9f0eac92c9c4e0c2050b319c1e71a0bff956071b5a5621725d6562095d36acdf506ed859c343aa35e5b3565daf165d6e7fae3939cebfed38e9eae46b7f61f3fe3284bf35f4aff57a641034c87a19819ebfdff2555076beb3cb9590bdf812cf4b506a90a2aba7034fed9c32f6fc134ec0eaa75723cf2833f802815cf8a0235040f4cd390322a238e490e5cf594dc0c9ed5f6fe3daf1dc81ffaaf74f06c0021f0c66f307b07934e8f509b4e116045165e361a9c7811ddd1bb064cc9f3e7d7a76f1e225d8b3672fec42de810e7260b16aff9f6877a0c3719d8132aa70e9b26555e30826b7c96d729b7873722b4435b773be6a5b41cbbe27ac3dc45e561d94af035710ac071431158bf5f6f7f7219fcb3a4d3d980f1eea8ca210dd67a75aa190c96d729bdc9e9bcdf67539d65e04a1172de97e57aabce5eb9405055fe87bc8b6e543007ac7f61dbb6fbae9466cdebc19b1b813226021d4efac9a2105950d4127b7c96d727baeec050e5139353a5c75dcc9012e05c805e275ec726b70c73e5045bdf0980bf7ddb5abe791871f7ee4fe1d3b77f4537737e9ad2163851581042219c224e49fdc26b7e76c2bb58677a5beed16eb29ebf9a526979525f8b4dbf65edb159d902c3f9a7fe2c927d7de7ceb6dffd6df3ff8ed04110073754b965e5de2143af4aa14f87a12024c6e93db738e00e0f7cd97fdfa5e9d40dbf6f5df2c2306e57a01740432f75400861931f8bd98cd66c646d223a3aa042f3c895fbd34b81a6fc093dbe436b93d474cc0b1f06b5fca6fb91c18ca4c41ab4acaf47903fd5bdc27b2c9009881a2e3b1b8cd441b5388a2d4e77d029d3ff4dda40630b94d6ecf35030806f2fa53ec9565056c04e5a83f8f333017c7aa5001e221dc5e748e5045afadb353d9c68a94e8cf416fd4c96d729bdc6ae600e5e6208136e35ea29427797dc2d7a9e5ab4d452e4b45c70120a4d2dbaec5a074722f23cb4ff4e1c8803033087728adb6fdf6b7bf35556778034c8365d969e6b7ffe637bfc101071c80430e39a4a6b9e1f1b7de7aab2966c99c7456b661c51ca6d8eedab5cbe4beb3524d14acdaba75ab2980c1d7af7ffd6b53dc82052e9fedf6e8a38f9a32d94b962c31b5f4c21b0b3bb0120ff3e59957cfedb1c71e33b5f85843efe4934f3673fed0430f99a29f871e7a68693fdee78d37de680a6db2e4170b72f21896f362614eaf9e00efd72bc3e56dcce3fff9cf7f8e238f3cd2d40ce4b97ef7bbdf996221c71f7f7ccdf7c7829fccf167a1cffdd9787d5613627110160f996863c151561b7ad18b5e14f89ecf94fd13989ecc42a8b367cf0efcce12eaac53c8fb63711aae03162e79b61b8bb4ac5bb7ce3c973ffff9cf66eeb846ff1e2a404915f0ead3bb3900cacdf52fb9074375bbbc4e5f2ac20d1825d94d8b9e783c51eadc8388c620d5a2021554a9add8441b1724172127f99a6baec1273ef10953de8a0c808454ebf6c73ffe115ffef2974d792c96ad7ad7bbde552a9df5e94f7fda94a58ada482c3c8ed57079afac621355f9a8d68d44fcb18f7dcc54e7fdc217be80abafbeba62717ee6339f31053c3ff9c94f9a454e66f0d18f7ed410308ff9c31ffe60089fe32643fbf8c73f6efe73fbe637bf69f66115202ec60f7de84366b173fe580494c7f17cdc8f8540fd1b73f5bffbddef9a229f1e33f9e52f7f69aebb3f1bafcbf9dedfc84ed626fcdce73e57bafe441b1925d74478fbc94f7e62c6cd39fefce73f6f044858a8709ee9cee6bd7df5ab5f35f3f36cb7356bd6e0da6baf35b516f83cb9befe2e00c0fde38b03728aedf83c02da4509c1787d7f78707515c07721b75aaf69fe6055d8f4a38a8254f7088cbf91e85ef29297e0cd6f7e33d6ae5d8bb7bffdeda61e1debcd5362536af081929059fd86528d0f9e128e129465abc930780ca5ddfbdfff7e2319b8d0593883df53ea70415052904049209440ac804cc6c017171b2bed505ab01a0e374a595e8b9296fbb254d7cd37df6c3eb35c16a52da5134b70791b8f61092c122d190191c079e79d17f8fdcc33cfc4bbdffd6ebce94d6f32e323d3e17549d89ffad4a74a4d40581c8404f35ffff55f6621f3fafcedb5af7dad7991097ce94b5f32f743c6c7df794dd614f8e0073f68e6c5eb29e0cd35efdb8babe767de0bbf234a22e2e0bc9340295959f997f37fcb2db79845cff19c71c619e6183249326e16fde0fdb07a10ef85f3c545460445e44249cdb171be18ceca67c1f3f137ce1f9b93104d9c76da69a60a3189ecf7bfffbda941c8f7feb9f598080b8dbefef5af37d7e03cf03e59f1c8db78bf3cdfc5175f6c889773c8c2279c27a207de17df739d1065720df17abc47a23fde3bc7464449a64906cb711095f1debdc629fc9df3c675f897208cfd4301ae7eefab05a802c53fca5e02bf61b01ab38e4713a5b3b39387ad2744f2b57408aeb611a21182b3e904a522afe995aee602bdedb6dbccc362cdfaef7ffffba63c15253b899b93febffffbbf8678b83029fd5ef18a5798cf84a75cb03c96d7e022278cbbeebaeb0c6c2627e7e797bdec658620b848793d5ee3d4534f35134609cdc5cd454409fc95af7cc520132e7e2e122e5ed6d57fe31bdf58ba9f57bffad5e6ff0f7ef00373edb7bef5ad81fb2532e182a754e20224b4e7b5b9c0786f246a1230ef6fd1a245e618aa4144281c071724990e0993e3e7f858fa8bd2ce93f0bc0f5efb1def78c78431f45e1b2faa1064402f7de94bcd1848b8975f7eb961be84fc9c931ffff8c7e618afe7009914d10009874c8a5299cf844c8173f7f5af7fdd341be1bd9058394ece358fe7bd9379b12b1137323e229e2baeb8c2dc0b9f9f571fd1bf514d237325d17ff18b5f344c9de3f06fbc06d123e79973c66b704d7cfbdbdf36cf950c80cc8ef34786c7fb642723fe46e64446c4754766c675c5fbf3a7b29311702ec8d458729d6b90cce62f511bf76b53be3a00ae08f697e1f73a01978af5b83602cba8f3ca9a5005f0ccfe4e4b2c0505547801c60ffdadbdb30b1f1639f065975d669a4dbce73defc1e1871f6e3835cf41fd96dc9d4c824c813ae12b5ff94ab33848145cac4405d4cbb880def296b79873fecffffc8ff99d852e3ddb02cfc5854089cf73711152ea5327e535a9b3f39e793c899b9f49dc3c276126f5741214cff9b6b7bdcd3c70128e5f47a3a4e16453cfe6c22402f07746a2b4e739c840b8b8b9102985b8a0dff7bef79905f5def7beb75445374cac9edac2171926d517c2539e93cc930ce5852f7ca1b93e2534191442c6222ffd94e32523f1363221de2fef8d734342fcd39ffe6498da45175d641804a51d25332525e785b6168e9d1293f3e1352cf1ee95d7a01d84aa0af7a5043de18413cc3c9148bdaac59c5f3e2f22a457bdea55e645a2f44aa2fbd5189e9763a55020911339fa371ec335c3e7c466285c239c673e570a036f2ebc4223fc9efb9188b95658f69c633bf1c4130d3af5daa179c791c171eefd7514f9f96fa103d8a182a57edb805379cb4ddc731b887aa8c07321e632b9013f355be34986524d1fb7f84035e2aff43a4e142758deb840b940c885b9c028d1bc6bf2417eeb5bdf3210ec9c73ce31529c0b868b8f5c9a1286128792f2b39ffd2c7ef8c31f9a87c6054b758050d12b7fcd73509fa464f320abbf110717a0bf7025a515e11d171bcfc3874c46e135d2f4244138479cf7f1b5af7dcd486dee4f64c345ea2d4c322936f4e0e2f5242fa124213bef850b9fe3a18a4348cdc5463b01ef99aa05ef8b52925098f7ea65ca79f7428948a646144114e067001c37bfe76225142773229153427a9d8249a0de7d1199f07a9480bc07a2278e97fb7a6dc0483cbc0f9eeba73ffda961b01ca757168bfb52ca7af3ccf3509de3312446326eaa57175e78a1618adc9f088f1be73f2c48f89ca83e716e781d32120a87b04198844c064c26ce6bf21972acbc369f29efdb2b2dc6fbe46f5e8f040f317ab6058ec3bf5638761e432643e14386bbbf06d1670bffcb621ea56ad2a532e0ca57c25f05ab751a433e8587d6850955009e29a6ac40e48046951ae71146c0fdb104900bfb7552bf6ac0eff9004900bffad5af4a0527b971d150dfbdf4d24bcda279f9cb5f6ea421b9386f960b9df09e0b953a3d611a990819c895575e69a416afcd6b52aad1a845a6c2fd49e444199402b429908150429008fd051cbcc5e2dfa8efd330f59ad7bcc69c87e3a357c22316aa2834d051a7e7b82919c9b8b8913009a9494494c4d45d2fb9e41243405cf4bc0f320a323e4a5f9e970444c2f6baef107a7b63239a0a4368aa0564b4b4b5507a710173f1728ebde6219e1e4db84d3b05551fa21f12155504aa43fe39e0cb2b497efdf5d71be2e0d8386f3ca7b72fc7c239260323937cc31bde80abaebacaec4b26ceb9a16e4f6326910051083d14fe8dc7531de11c92c1d21acfcffe8de3a4c4273220f19321f2d993515075e1fd7ba5d63d2450ea5225f7cdd705175c806f7ce31bc638cbe74886e03134be2722a21a40c6c2f9ff5bc07fed12bf87027c4181a56ec1a5e02037472000f7e5737d7daad34f9c2aa40e901263679e7eda5b2f7dcb5bbed026dcffa28b5f6b6a0392702845bd1d6d542f07c609e18327543ce0a083f1d4cac7aba603731f3e002e1affc6c5c973f0374a044f4fe6674e3a2dc19446dffbdef74a04c60547bd8cc7910178c449c94e49c107ce7be0a2f00c7d1c2bb93a25ad57239f0f99c4ca4542f8c86b7b0b91e3e21828053c6f41d8bd48a94be9e135ec0c6f1c0b6132cf4986c339f04a69f3e1f1fc3c8ee7a7c4f2eaf77b1bc74f06c67d4874648c1cb35702dc936a516e4f6f3e785f3c27c7c063f97c793c1737c7c2fbf4d0008d772446a212cea9a79ef1fcbc368fe5be94ac9c5f8e97f7c07df99bd7d6dc1b3bcf4564e14964ce33198847847c16bc06199f779df0e63523a1140ed70cf4ba2779ea8ec7203d2322c7c406a7de5c734c9e0d88c7725cfc9ef7cd67c3b1725fde03c7e5ff9df7cc79a956b7f0b9dab8a6ce3fff7c33568e81f7e055aa2e0503b9453fe232df44783d3dbb645e67c8b893b8eef7bf3745fa7efc939f7eead39f11b8ec9070365ed5c8c0428231cb0d26b022fdfdba8a37607f3672eba8cd83981ed70ffb65f9603ffce10f0708830fd1339c21c490bc45c48715deb8403d861046279e912a6a5cd5088c631acf4f4cc2f533866a73c0f387ef9d1b17a2ff7b8f7986d148b58de7a53d246c8cf58ee7dcfafdf47cefffec67d6fe6a3d5e2c45f8bce1b1fb2df66109cfcd5319c6dba29ed744cf859b3f2ec2ffbca2de87efbb96dfffca3a805b1dd8ae5eb392cc2066958cf75e0f411613b18ba609cea85ff0c7ab820db7c65849c2eb4a62ff4b89ffd96e84737c4d6e93dbbfd21614b84e6b30ed3aed2b8b9baa604d4e26f62bda6032c3137b0178b015337600c772ac4b357e554d1abe2e25294c6e93dbe4f6dc21002ff7dfb6fd4d42426dc5bc801f378ad7e9d05df410ec34944dfaaa5ac175a3b31be8ef1a1b223ba756775406bc0893dbffd7f5f6dcb7ec9edcfe82e7a1502a06e27901bcd27bf0a10044b460f30af40e0e0e6e76057fb12a0228417f379cd7fb5c0b3c092280dab7e1d1227e72f31e0ca68bffd404e54fe4d06383d0fbb6f80aaf567bc9eff92cecddeb6bd8d77df5acad6d5f2ea49e75d0857c4dcd37fd86c6f06f93db5f79fdd8e139d7e5a2bff07576d24165a154121ec6009df1f80777a81a07e02400b9ad877c65c1abc500542280da6f6c476f0e3fbe792f3effcb1df8c59f7bb17b205fb1cfd63d59dcf3d410d66e1b33dd7bfd5baea0f1d886341e5d9fc668b6d25d59286aacd93a86fb570fa37fb83606b3b9278b7b570da1a73f1ff93b5b8c3fb866048f6f1c31cd4d9fd5b6ed09e887ae0e5955220115d0bf1db8f7a7259daefabef29ba879face1fcac48c4dbc2fb77b7e0c0cf64cb8af2ae6b16fe7568c8e656a4302c59cbcf2b541db7c6692c29fa530312dc151d6ffcbade5958f51389f0b85bce527e3783569ce0aa45e25a08a1aeb88f600040c15ba360e70cd5dfbf0decb3763ab105c2269e16d5fde80af5ddd80cbde391fa71dd1864ccec6a77eb65dd0c15eeceacba1b32581738f69c3e7de3417535b1358b77d0cefbe6c33ee7e72c8d43d5b34a30e9f7cfd6cbce858c792bc5798c987bfb705bfbdbb0f2342b473a6d5e16d2fedc6bb5e3e3d723c64261ffdc156fcec96bdd8375440774702af39bd13fff3da3948c49c7bfad56dbdf8d495db0d9388cb749e2ae3fcc6dbe76366e704b5ebc344b3f13e60cba3c0d81050df529e452fc03bb0ef03b2ef2340ef26a073be3fd0bbf2dc5b1f13e6c2d74a60e1f3c6df57a4bf19c3a6078129b383bf95f2ccdd8f033b517ce6410c37bf00cd4d8de33381421678f81ae0a03380e64ee0c15f030b8e96b1cf73ceb5f911a85537cb6f5381c35f0a3cfe7be008f9dfd83149ddb52048af3128fc957e8261fb655b81db19884c224497f16a789e15c6d9723ba2f367a43a10ea52eef4079e404aec11e9fa81ef6e41bfc0fe8f0bd1defff430ba3a92f8e1b5bb0c5378e83b87e27fafefc1a7bfb7158b1635e2cd2fecc2ad8f0ce207d7ec42537d0c9f1726f0862f6ec4dd8f0de215a77562e6d4147ef4c7dd78ede737e0e62f2cc3914b9af09f42ccdfbfa607271cdd86930e6dc1cfffd48b777f7313badae3b8e0944a57d2e77eb1035ffcf1361cbaac196f38771afef8c0003ef3836d6894eb7de4df67e1b6c70771b19cbfbb3d81cfbc610eee7c621857fd7697610ebffcd892f19fe0bead40df3699f594bc84596c16c2dbfb0cb0ee6ea07da6709f51a0ae199875b0e844bdc06e21ce58024835429359ec9363d7de29125ef6cb0ecb6f728ed9cb457a0ab1ed58e5106faa099ae7ebdfe1ec5b278c253be25c7fa69c37268f7cfb138c2796df9a800d72de3e41171bee05a62f957dd3020e0b40f70140432b721b1f36e352a906c476ae424298c0902000faa5bd16e674ed797efed20ad8b5166a648f3997beee5342ecb73863e56f723d75efcf80d3de0ac8f7fafe2ba13a6699f738fa5593943e814dc653ed94eb0508d0a5bf25b867bb736d7a1a6adcce400111cff202b6ede91841483fb10b50050c11d5b6a7368f62775f1ecbe737e055a77462c7de1cde79de74cceb4e199bc0f6bd197cfbf7bb6135c4f0930f2dc2b14294373d3c80977d6c0dee1289ff0b91c4641aa7ac68c5cf3fba047121c2f972ecbbbebc11570bb2e86a4fe2ea3bf761e1c20673fcbcee3a9c72582bcefdd06a5c71fd1ebce2a44ec4acf28d0da60bb27fafd04c1cdf79ef023c6f6933feedd44e3cff9dabf0534104ef3d7f062eff5d0fb282247ef4c1a53859cef5efc2780e5dc800226064ac681853d52d5107dcff7391d02ba185a094108722c1def275216281eb0d6d502ffc88b3af103d9ebad92110bea715b7690af47d570277ffc8547a5067be1b987784c0b5b891e22424c4eb9d08314a561e4b292b0c423dff62470273ebdd02fde7cb5ca81733125acb98f0f37739c47ee8b972de23cd6f7a7400b8e1f388c9f89496f11e7a8109c0613016899f7111ccd2ac58426bfe2cd73bc68c5b4d5b24cc6b4b394b6dfd3dc20c0e0192f582104e97fb6e179daa1f78e837c2980a0e939adcaae882654360a912902f1048fb02ca02ea9b2798550d0ca05c03b45c02b4dc67bc12053c9b34606eb3a725d15c6fe1a1b523060910aea73336feeb42a7c0c3c04801b305562f9bdb8023163b01385d6d0934a41cd7c61681e0d47f164caf33c4cf6dc9ac7a11a2713cb22e8d8d3bc7d0270ce6a0790d86f8b991583b5a627878dd08f60de631adbd0cdb770b22e91b2e60bac0fe19539cefa7cbfff9dd496c926b5d7b4f1f1edf90c6a18b9b90cb6bbc439004c7f192e3db71c6916d13df70cb34e0c51f83bef96b463aeb44ca99514a6881dfea8c7739909d2725719cfd3ee86483c0e3eb8c5b56d3284b942004a34e798bdccc0bcaeac2496f841254a185c1d0a0a7848834f56a613a4a7ec371af298fe3a8f39cf3dd7185a81f830e1aa1ae4ebebde27c39d79b9cef643125979f8e0253c26ffb16ac7dcf94facc739131e8c78b0eac90564415bc0e91cd311738aa86d7e1767837148d9445614c7b364391092c3e4e38a8a09e91bd40ebf4495aaf02cdc3414041af40d1088672ad4055b6e3c1e40154d0e8384640fa10dd1869a306f8e007fcc53fa2cc57b5c5002c9e598f8f5c380b9da2cbffeecfbd7868f508cefbef3578f5a7d7e3f18d69b435c571d5c70f34d23b95b03024a8e02bbfd9897dbbb338f3a8369c7a78ab8135f73e3d6208345fd4b8f1a17e6444129390eb8551cce84a62f5d651dcf2c880b9e6af6fdf27bf15cda4ec1908669a758bfa314d18cca61d19dcfda4132f71dfaa613cbd75cc2085279f19357686bdc238def8958db8eefe3efce886dd78e10757e34bbfde599bb1abb51bea9c0f388441a2a3ae2c305f9df46621fe6383d51e441d50e7bc1f4a54024dc958c839ead98a579689dfdb9792fcc437401d708291a2daec2bf7b9ec54e0f88b50ca13f75ea26fab235ee6e8f954218846661f069cf91e077d9482cc6d240e3e15faf8d719bb0e17197f22e467f8ae3f7fa0b4095351440c75add5e761ea42a89385899d7c89209d1b9d79e03d70dc935be4e63506f11bfb02b601f38ced60a52e9f1dcf51076a6400caf23a8b8e5fd9cbcf10fcd980bac61880b7bf643a1ebc7c393efdd6f998dd9542af10e5cf458f3fefbfd762edf631b436c60caca605ffcc0f0814ffdd6ebcecac69f8c8ab67e2f9cb5b70fe491d58bd7e0427beeb491cf5969506fab70911d3327fc0ec7a512966a0775f1e177c621d565cfa043e2b3a7e8ba8148ea13324a0e5fbb7bcb85be851e10d5fda8063def6042e1175a2b3356e742df665e35dedeccde13f2e9881cd571e892b45ef577125aa4a0fb6edc9d6f624fbb641efdde440feae4550c3a22bef5a13ed0d18da0bddb35e24b248d999cb84b8042aef7abad298c7f742c846f7b685b1cc726d033c2f9947785fa3a7af063243d0b4391011ec5e2b12b8af020e9abc0f91d83456d6d7a54a790754052237615c5a517de80f7a04b49b523bfd40c74361e662bb83723846fe4f364c527a551bb2aa74e17a25c0bc6420a23397319488df4deab354a5b26e55a5ea526511af2280aaaa0254670de36f5b4492fff1817e24e29631f01d736013fef8f9a538e3b80e3c2350fb86071ca9fd9deb7b70cefb9fc66a91c09f7bcf7cfce23f970863889b9268577e78317e209f0f5bd428fa7d1b3e77c95c6399a7aa40d4f0c10b66e20f5f5886d38e68c5a29975b8e27d0b3045747c1aeda677545aeddf786e17eefafa72639398d999c2572f9d87834585e0e4517de00474084338eff953ccfe271dda6ad4939e7d396cdb5b9bf4d2b478cf3f12ead5df042efe2ef4896f845e7fb7437c61beb9f27a410d5d50177c15eaa2ff853af743c6c78f5d6b2bcfbbe676e3aac3799f83baf0db502fff1434233fd7df15e982a40152bdf03fe5bcdf817ad597817a51639eb8a18201e8be9d28aebb1bf953df81b6d3de800533a799987826d654911e50dd0708bc2fd74ac094b90eb2e076f0593289b380df7c1058739b208137399e10aa3d935e80898d8021822fbb036d67ee035e80908740d7640350a58ea35e49f0922729c21d58c957caf1c9e3e180db570ee2b51f5b83b34eeec477deb3007191a4471dd08c431634e0965b7b0d8e605cc0a55f7d46f4fc147e22c47efc41e5249a9d4274dffa6d8fe8fd75b8eed34bcd7797c9e75e51074e3e7fbab10b7c4954869448f4effdc72223e16f7d7400ebb667446fef407b731c1b7666b06fb0608c87d3da13f8ce75bb8d2de0736f9c6b2cfd1be5f74bbeb4114be7d6e3bc13a798eb6d16c6459724ed03fd237983085a04a990b1d4b42d3e016aeee1c6ca6eb6b304760bf146f9e1f5f4a550cbcf76bc04dc8ebb50b8db128758c29ba81710a207252cb743ce819a32271ac2d53519e2c7fca39ccf0b5640bdf20bc6d5171e8525e82376e6bb602d3dc54893fa8493a0c58cc1aa8b55540ff5e86f81a5a7395f9cf4c6e00ec75fec781b4cb099bceefba96334b46293943eae1bd0efe347b93a906108caa909e8cb0b287904bcd26121d75cd53880981b07600eb2834506ab55060e9f4447181dfcdb3947b7e3e0835b8c65ffaddf7806a3198d0ffcef66e3aa9b36bf0e4be7d4e3bddfde6caed1da14c78f6edc6b089c8140ad42cc97be743aae1506c1e0a01dc20cda1ae2f8af1f6dc5424103ff76ca54c3006e7f6c107fb879afd1df4f3bbc151fffc936831cdef932c7d0f41fdfd96c6204bef5cef9789b9cef890d23f8f68fb661e5c6345e7dda147cf39a1e8ca48b78cb8bba0da278ddd95371df53c378dd1736e212410b7f7cb01f5b368fe2f5e74d372a472d7600b5f4e4805fdecce1812797f573ffbe348ef97df8dc7fe131d1fbce39b4625fcc3c28725f134b307541f07b6116150c8322a4690ae2cb4e710d50cea263a6248d80d53c3d8a4c8a064d1af69a3aab189ae2ae21ab60e201d481274f52f9840cc07b6f97988055b2f13b2dc0108ace546e58bf5dd015f1ddf1f100bc29e4e031812a4e896aaec05ae2806870fbb648fe775fb6c9f8db938200ee145440abfdd7df3e0f75490bdb45ba36d4c7b0766bc610312fc2c83e3284f7bf72267efef10370d1e7d6e3a3dfd90288a4a7efffeb6f9b8f05331cab3fdf73ff2b44b25ff1fbdd982f6ac0cf3eb208271fe62009133938524036ef8cfe336f9c87fed122aebe631faebdad175d5d297ce51df385f09db4d5d79fd3650284be7ad52ebcf36b1b114f5978f58bbbf1d94be6d6a4c355ba5bc6f9fcf7d8d7f75d78bccab226bea712718b243ff094da745b328283cf9ea4f01a558032b53b046f2baff79f23702dbf6056be1262b6ae310e0065a811ee25a0224c557f492af0f30501dcf7cd4370fbe383f8e0155bf0a5b7cc35303f25c43f96b3b1f64747545db784dc94f2f788ce4e8361539d65dc7db4fe7bdb4221f8df7ef240acdf91414138e042610c84ebdef68b8f2e41e6038b8c4d815b5b530c3ff9e062fcf785b34d2c02ed065415bc8dde800f5e300b6f7a41179ed995459bfc36579884172538b94d6e7f1d07a0af71875b0adc2a87dd960bf478a1c02e8d981aa01ae54ac2a150c0681b80a75f84da0b4499f6a25040a990688d6c212192ffd8839af19faf9e851507361be2e7562fffeb3bac098f2741af38a0a9eaef44120c368ada3a9ae391e339704efdb842b3a325615e93dbe4f63784008e4ae652a60ed5fed73ef8afddde0026145839a1fd052600d66204f45c06da2e9b0da3184135c9aff7c31be0c19a4691de34b2fdffc92ef36ab295b325f9502c1dd533297a8e94aa9c25a583bf99e7a87445471715b0c278475b26764b87c3b02386609782bc94ef99469576d5a5a213e53b2bbb79c7b50305c6e9b30d951257422a840eb6b50a54a309482015ba2fbb7cff55ccd4ce3dd00d19c3fea5a94f74873a72924bfa78e92715a063a89011dd35e255bd942f8fa344e851bf87e82ae890b72b4e5fc508a84ddb216303d0c139f7dfb21e470dd011b582a38d1a41e3d4ff9fc4524f4da20926e6e86126845a0716b3332f4594dbad9443a46db76e02db3c59962a910b8040d9679ebf687b7519dcb81f94838094e50987a219070bb9d8badc3482c46e295f5627cf637bebc9cf5cec805eafa8335a28c5907b8cc841920ee8541eb73287e411ac111d112ee65be315e683c8cfa1e296de77116b4b334e436e8ca5af3829f97cc1c46ed8c5983b3f63d0f938b2605975c625c4651f1b79cd12eccaec57c83b25d7f385bccc790c59f99ccb1550c8ca6fb92c92a93c5a5b63686b6d424b4b83a0d5385a5b1a114b588131a9c00d3a1df79cf5aedcc2b2ce5d504253add4b6cb102d3706a70a0f0844011a4bbf1589d4cbac5795427b15d4b8cd41032a80f231036345d413ab00cf859ef3ff67e364c60c0159b2e8482c4aa8a56005d7a5d36425169415ae5433b5da74b9ff82d1d3aca229dfa495279d63ae4d2de48609857070f758dc46acd4e3d52a49c4986716f2d34c2cdaa8ebd736758c86230b96bc4cba292c67d1caab603908d13625e88b86d08a3a56ee53ef32315d7032d26cf632b0b5a94c5334b5e96ca6a6baff5974b6884cd6299d9ecbe64bfd020af9247242a43912a68c205be0fb1c8aac8fc09877219c42462127fbe6840165337913724c8f0d6d3e6319215c3b03f284829d94736460e5b4107d16a30cae2c881aa7c66017928601d8da6100b66102f25c659e72c22c8ab93c9a53714c694f2226d74e259368ac8fa3a9218ee6a604a67434c8e704dadb9a306d4a0b3ae555df1443b22ee9765f6a30c975615ee63c57375807baaac1d61fd16707c281ed328a726d0196dfe15f32e02bff87095400178e780b13daaecaa87555f2f8e7df0ca1ea9c716729b7034fdca32c35018c741f9acd45a6ca92992d9ccd11b617ee290421d39fc9660c7158c64faee5b34334965bb485fbd945b9baaa33c7a5d3a3b24f16f95cd1e42de46401e77339b779a8483d916ef05417574814ad94487cb997781c962c762b21ac8371fe4414ac0f210b989e241256a11033e7220153d292608b634564b339a75270ae68c6acc74422e79daad2dcdfec47a29731158a0543fc457e2fe7ccd94ed59a62c16112a63784106f41c6cbc84239a513cf2e8c4613ed3097c08845f94deebf285c305f60497b8506618671e54416c763727eb9565ea74c6219b9417e9444348afa64429894659e9c5239998f8293054ba62763191bce4035b40a6328604a33e724895d7bfa0cfbaf8b5b48c659f5b88084953401687125efe339d42515ea13ec389510a4502f8c4310436b83308c3a7476b462dab4a9c2141acd8bee54fea64b10bd7a70bdbff8a772fb37946b0106295279fbf96a05d6e40550cad3fcaa43727ff86f74e4ff3f77951887c98ac48d27b176dd66ac5ebd0d99b1982cfc8c2188ac10412e23afbc27e5b4a935c0856edcb1227932b2080b821ea6cd9cc155ea10ad88a5ac48c0cc584e082827122d87e13ca57b1c1d1ded26026f687818c38343a63a6f137bd5c9ffba9410be48bd61914efdfbfa3130e03439a514336cc9ed1ce4a4ee26d1202f735ca3c0d8fa7ad4c9cb6ad126613125922d9972ca64939fd9aae8249a88042f081516e41e35ef4dc649c6e211bd160650c83b446d1883406791e3a6ac3c89c9b15e3b9f9917e454b8516e5a31093867722d9ccab75efc49dca848ec67414641c21f191e34102655d76a549d5c318d14855546e6571125e4b0f4a0b99837b34368bd0f428642982de81dde89871fdd2bcc2289b99d165e70ca0a6485410d0aa37cecd1b55871f4322168aa3eb689519a31732ad6acdf866b6e780ab164130a31195f46182dab56a92cfaf269c33d792f3191e4341ed3804d596099a91b1111214c5b70474c905d4cd9062d2684c130e191c7907ff3ff7f7ee0ad38eef8a3abf6dff0c77278bd3f5584ce5feee3ab4b790325b52442b5a86603d0a695b01b0c146e363c71f69fc63f7b9528e362716d4ebffad5edf8f297afc6d0601248da149130d8d14c85abec2991a456d29941529930064bf4c8d94b9620f94cd6e4d88f65466167a9730af10894d51479f104daba93983d7b16864684b8b7ef3652b2adad4124523d922dcd50c914fa8747d0b3631ffa8646843073e6b925e43af52dc22464513608a1d7d5b36147a3f3be2581fa4639bebe0189145b66c529be8cfd804fdb2611133564f8121422f8dc26d1cb38f342f8068a1351083c2f0ab5f07fdece1ab84f8461eaf21bb5c083fd4587e0e149f682fbd9496135d66adb31726bdbb167f07753ff9e688868219746577b33de78f1d9d8b07e33eeb86b1346737548244984ec039040ce60e9227af6ec4573b280a43ca4d1b111743417f1e1f79f8677bcfd1a3cba6637feeb7d2f437d6e14975df610f24dc0c850014f3cb255c05cc63ca3f45011af78791d5e72ce01f8cd5577cb800429d45bc8a5fbf1fca59d983abd1e03f25e594dd8b1a3570043de30fdbdbd03181bcd3b0575e2ccb02c1a779da50b468172426b8aa6de0614914f06d9d134f6eedb57bb3b50974b7eeb7277d08041d133b07a1581bce62ca8a53bb0d130855bc42cabecd653fb63035050ffec4a802eebd4b649a6636aafe04dd12fe3492e6ae1fbb268b8a2dbdb5b44920359e568d2c8a5d079e06ccc3878312c21ac5de941911cb6487f394ea4a6ce3b2a58b22589e933a6a27bfa14919a390c0cf68a4e99c0cc597331756abbb12f0c0f8d61fbe66d181e18310fb75e607b47533beaeb45f714b4d0d090121d54fe0bb3a96bae138217042030d426c467e567de42c13652d61e750c5e442ed9d1ac3092ac217c47d293c88519508528d886c8bd1e857c158a4200da768d6ddac078a71a8d6d6a0250ffa75a633b4603a3a7dbae5033e880f0bea81c68efc00007199058b216b202a7d3b90466cb3dbff6058b31d23715e79fbb0caf7be7b58200485c82be6c619a2a25f7318a594bbbb0e290d9e81b1c43226fa1b925833fddbed1246cf1fc2cdbb0655b164f6cdd870661a4d33b53582c84ad0ac3f27c048db516d0d55987a1813193c3a458d7405485426e4c54a5061c756417eebdb71ffd7d0378d9a973b07ad30ee1eb5db8e9d6dd2200e43e9319c48aa6aa8640f084487c512d2c99b3bca8068dca414176de5137b897579d4f5b55f567ed4701bebaff9ee94041958dd340201498cfda5408468d0cc03b98a8a158e1829ac813a05d23d63fbd11c0b1ae8af267191b4001871fbd08679e71043222ad1fbce719cc5fd281aed933d1984ae0be5b57e3d56f3e070f3db907b3e7b761e5d6bd38fbd823b0e6c127a09b9af0839faec4988b2eda3a041dcce9468b48faa1f430d2222566cf9e8305f3e79a4966e72176171a1d1933d07e6a479b48f8045b3fa1495001a57ba3e897f54d0d4053ca34ef6096a3871f95107591044d982e444e75239f71d416d379269377f5f6a251690c8cb7cb06bdbcdb79a7687471e77fd195e80e8477fe2b17f66bb7b80c518103f98bce42b561188a6d9082bb80bda2a3b489daa2a25802a5b570d0518d6cdac2de74166b56f7e29c971c86366174db0704f1245a847664f68a2249b3f578dbeb9e87db6e58831befdf845482e794791c5c83f68e185aba1ad0ddd686d5999da23a1550a7f2181bb1b06143af5c2f8d98a81da3a2826ddf3588850be7a3a14908568fc0ce3598b9ee1b1ac0ba8d834836b4a2d1ce60cbae21f4f509f32cf6c95c3965b9613bf760c94d1445cab74d65abb5066cdfd28b26a3ba380ccf30deb1b8b1794cb439c6555d2afd6d9772747c1e1fb75270c06e677692630d43aaa524986b2df4a07fc8b6508376ff2f5012dcb3da9a48ec38bc00cc6507ccc3312b16a32844d414ebc48967cec3792ff918defaae57e0dc571d8b81618557bcea50644706f1e51f3f88e498c6fb2e3c0a6ffd8f9b6501dbc640d539ad1db3e6768b1e0ef40fee4553fb141c79f451a8130575c7d6ede8ddcd6ebc16eaeaead13abd5516a8c0fc1681f62d0d02f91b8c5e1f4f91e045cacb8235eb9106bbb1ac03e1657117465d1b05095fa02bf57803e305f6e70a8ea18e844ee99a2f144b129d92df3616f56239c4d4d3db8bc5323475f57b03ef5dfd9fd2ade812bf895770fd5e5e7c4ba97c1dbcbe83402639847c3a818c201c16723962f962a4e21a83fbd278ecbe35e86a48a27720854c91350862c638c769bcf3816770cfc39bb17baf30c8066164b961cce868c46927cd17a2cce3c69befc4f5376f14da880b3a9373d78f61e1f4f922a55b0cc1d208b066d576fceca777a22125cc4318b065d5197d7ee3e63dc22c7609ba1266d29c407a3863ec0064d68edf545400dea3cca1b1f2b3a60255027b4cc66e1b3451c8339d3a8b38ed0196aac962e6e5f37b097a65dd5ff9d46eedfbaeecd22d37f6a905012807e13221c88117bad2881d21fd2b6d96fff4a159ce2ba68c311048a16f5f06f73fb0169d53a661f3ae7de8bf690017bdf942b4cc9d874777a6d13d6b147ff8ec0d38e5c4c384d06258bfad17d7ddb311f5b3e2982292a1cd4e61e6ec69c8e647b87e4ce3d2d68e4eecdcb1037b84f009915b5a45f2b4b6a0b189966591f6c200ea1beba052f2bc1296817b24d62c5d6942f42a2d124e607156883f472640e322f5fbac63ada7359e6e360fe21bdddbd5e38bba2ce5cb9e89b22bcad6e5aeb9cad6be9a23eefb823692a71caaaa9c65a75d86015dea726b6adbda8ea4320cc43508d88345bcffcd27e30567cec2ae753bd12a70baad15e8ebedc365df7c11beffd3b5b8e28a5b116b1466ac9372be217cf3ab7f8292e7d2d45e8784cc6942d4afdc481a375cf500d26981c329e27a51c59a45ba67eb3096b5f1fb1b1e30e1dfcaa2b18e5c8e51a44d82f0d89456d48b54de1823c7389fd998a85fa3d82dcf14f13ac445d1efeddf23488bf51292c6864266e194edd29839638e3c970c7a760c636fef3ec31898041513358dcf637f658f991b427ad385d92ac771285f476f5511dd539b115069a79368c2ed9aaae04b2b1cc706a0ff9510807f0ee82263424b3c85bbeedc80b56bf61adff5f66d7bd0dcdd85a3ce7a1eeebb7323f6f40f237b8f10e25002773c75135222a99f5c358687563f8a8eae3174771f2852ae5e986f0eb36674a36bda0cecd93b809e2756199bccf4ae2e34b709e1373789a44f09e1d7cb255960d41238e8a00725703d3796467e54747281cad9511a17e5bf0bf373d982ebb6cb19c2cfe63d579ca3ab93180b243aadcc7f6da4b55daa2e6b6c188499ae5fdf5b58245ac763ac4aaa82913a44129e51cf450a4557bf2f941083323601abe894b886ed670039585925d0790f6eb96518fbfab298bf74016275cdd8333c80dbbf771b563ed16316ad5d1c33e5d0a86f1b26c85309cab1740cc56c16871ebf084b0f6a33682815af472163a3ae218bddbd6993f1b961e35eac5ab31bc9fab89c47082b25f7a2465d3b06dd8279d7b096314c1f02e193893ae4e47ad4e19d22ba32873206f6d5d4a25a14192322f7b771f31691f674c9c23cabe6c67a33770323c3c24c723595d1f7fbffcd3fbb1ced675cc1da9714e4c699f819826d176bf502380c40f90eaed617a05a3d807f76378059a7b2b08cbb878b825c5824013d44cf6cde2b12268919c71c8eb679b3b16d7018b9b4c0ebac40c5ac63fda5259ea1a9f5531a049ab660eab446b4b434899e28ff45ba67445a6fddb44974ce04a6cff3113e89be2e099d50eea2173993d5b2bfc0dc745aae9316484a7762c6749235babc404d136843786f0c6eb4c2671d4354c1d1c3b97a8a70db4cbba19f84ee28113e17ae2e072809a1d37888a26340ccc329f85334b10105d7ce57748acb161cd84f42a064f40c5566b1165dc665d456cb91b4da895c64b4a1263c1609fa8b5fdce5042fc563b8fea6a745fd890b83ed4166a480c60e4ae9a2615a88159c8a38718768f3a216d87545838e1e796213d63e1317d89ec488a814da1075ce4401e6647ca3d9bce9954586e815cf611054d1187c69601c91f1b7c012f52b5ecc1ba64c0f8841f9327b0ed3e14139673d189ee8208abd820ce3b1b831ac13518f8e8d99fb5345f65b3050a9a6f8197f29b0b2cb1e2e1250be78008f49d83ea3b55310a0864840673f1ab64a27d4fb0752fed93b48399956cefba43c6c6a87829b8d2fbe794617e62d3d00f51dade81f1d92459a378636129e558c2149b248c4448a37a2736a07babadb317d66175a9b9a3136388a41599c896412b3e72c407b473bac8e181209a71417171961b9ca8e89a41f33c49e1e4e637444887e2427503f67a47dce04dce49d283ac279e3527320bde37b37146d168672039274dc09f7758c58aae49a238320b3a08a602cfeb613d360d12e4004e10988a21b7168bbfe3c5ea398f3c497c34c4ca0a25db601b8bf95d6aa819f9ac2d5f509ba4b34d9e87c96eb6fdfd2e79c9bce744140e91107065b052f322e66e889123bc7f8c0843259a32359c610003bb67910d976eb5e68334eee9334ea931b124d96c8f067235a8b86d0b53051db22aa283ac49f8819669862f7dd4cc10c49d37321fb26a8419b429d45244da563ba2b33724b9c37379557189ead3215c17655bd009e7c35acd572f8b32e3be9a992b13d78294ec76df053d41e33b76bf3023813e3e40290d3f99336aa85ff06d4817f0113806dcb42a06fdfaac718a3c9e20d9826f074dafc39020b35fa078784506944a383d032a1000212505f5f8796b666744d9f8ab9f366619a308142212bba612f0a821c3aba68fd6f45a23e650c7994800cb019498f213b4c0631886caf40fae12c4646478c34a14f3ec3002421cca281f745e31b3770dbe406148db4f5720872a5be8fda6164b270121961f679dba806c686c5ff640c85a203c779bced88fa44d109592671a4e8de1462b08a76b950a52b918ce389454a4dfcbbe38a82e8d48e5bcc9198b4ac53e2c70c4475565196f740c6101f758b5fd8a5a847528f336ecb8c3126c445624d09c51186f33baed96492df67cc7ca75209834e482045512be274730ba1d4099aca9bd0e20c9271a7196ec10d7ad22ca2210c92c1549ccf86440275f559147b656eb59bf7c0e845c3d894f1b4181fbf3164160c9f23333221ba2cd06a74f59863e42cda4ec8364f61d9b51b013d17a0ed86738772034a0540514e1df682aa8a6ed5e09a8c80cacb0854ae3e374e8c9f8e3402fe2b38019cfb1cca6510eb68c08243e60ba46f1266306c88953efda4e6424b98c8bb4621e86681f05dd3a660c68259e89a33ddd411186010882c9059b3ba51d7248bb53e69a2b6f28531511bb288f717459f1f03868784768a68cb326a4e206c9b105c3bed0ff5421e0d26e02449a29437b1b8e5a2148d8488461208a5564c3bff5345c7f86720b8a3cf1855c6ab2861b15231cf65a2d58aceb2158288c982a6a45431c2fb84c965181aecc5dedd5b31d8bf0b03fdfd4e1c3f837d0cc131843967220d4970e9d131594f7924e2ff47de9b475b765fe581dfef9c3b4fefbe79acb94a435559b3acd260616363b0030410c4d0acd02401569a04bac98204d264d1b0b242d64a4377874e82cd6c20c178c010dbc8039e25db922ca94a25a9e6f1cdd37d771ecf39bdf7fe9df1befb5e3df51f2981651e55f5de7df79e69cfdffe3e46f2a5a569ce5879ae99b92bcecf75a3d522e7b985366322e83378f2a049593930c5c4c84c538943e132479c0eb314f1e4c374e1c464a03c9d31ec04e2c918b299b49c2f3bc5a4dc0fcad9f8bc0cdd0f69cb4296066f75bd6628745664d0df4d72ac49167471e8ba380549db0d4e39ec264577ba57ac6e46c6c5ce379932e5b374b39efb2ae45ce2fcbd36bd96a2006511a9b8258b4b0c7f061de35e226634fdd77f570824c2bdc65f74614867559e4888e3ec751948361594d46d034963faeaff6f357948397741f6d978e4be8388518ada8e733dd8039b8e8c7d04f5470f5bac4b11c7921a3099a07f53444aa5a89ec46be851ba1e2b30a63c26d8f518dd20b3c9e4464abac86cc0c9717aa8e6f8774de4324964e861663e4123958199cc09932e1f8b4240e3e6aeec0447cb39273914511562bd805a533000eda6850ea5c63d722a0d4ae13bdea84fd249c705ebd8eedfbd66134568fa1d4ba59048a5b0b1d2a063a6879cb302ee33503622b800329c269521b17c0ac3c32cf3d641a35382ddb6c18defaed5100c8543d785976d62e40dbaf4de95468bce3b8bf1b19cec11482f830cae46658e219b917aa59737f92c2b26590e5f5ba7c3ef654823126e05c20f7fa7d961578004950b097212314ac3e2740f3805e7b286a7053c9168f76c1795c8e3ca98ee8f700f4156f7b8ab4f4ec3494819d2eb5470ead193c8e72d3ab71416e69771e8d061542a555cba74851c5c5e4a84a9e9312ad14a323d68b59af46553c9d2c4f4b82125e1d5f9ba2018f7ba07eb2d0505fb23ee4e4918ef1f6ac129b7fe37dd12644f4d407fc0e5010f105dec746ed90404be1554a4f57aac83b9d9210ace55f4a8964b51345664408998a9bd3139d1183d401c75795bd014a74a518b6a784ee11835a8e4675d9d9ef72cc9180c4a0bd3b25c4286672624654d928748d0031e534c536e48448ef1e730a5371b3f4f22bc59b0ad7344499f1921c75df8b6fbd5d170e35e9b1b938cfc238364a3b41c698659b6de57b0dda8cb1d6ed93354bacbcda96b9df1f8460d6b6b0d89e85ce2b478fa40bfdf612834d5df5d81419b28a40a542327e95ce318cd8fa2d42d0944b8c7d192ca26bbdd95145bd1cf39e3e1543997cb512644f512454a838156e4acaaf51a1da3257d0c59eff33a755cbba7e254bf6b6790a0b2491929497b7bd29824e71b4bcbbe04a7e91dd5952523d375910d32d4966d4b9f4618d465438fca143e662af3d81976dd7bdde3e56a43f754b25993b23a0bd393590ca56775f32f43be39ee60662646e55b5e1a8059fa4c871c4779a383e15c06cd21ca2eda35725a54fec4c901b50c7f94e7ecbc10188c5e6d2724db60f9a581ed8e049d70d3ce0865f4a6b1475660370bb09ded3bc083108083a0c0ceb7c01850b4d9e8c276b8d94435bcd458a62e9dd808d8d80d6ebe197aed97a33957a531a56fb88bcff21da6e3aeee7a7bdcdc3e63b79074b88915971bdca587354e0f93e20eb66d4a875ab9b0645f25c60989b3325f0137fdf8580dc32d1c630280914e99c6b9ca684a29ef41b4839563e52eb1700ca57fb61b156c6e2c616d69819c43175b5b25186470f178426a782e11248ab226412c2b59249f17c37479decdf578956a7336c6b81117a752aed7297d4f49c4e5ac442f38252859695066e0c8265fa3add583393be187d934f493cd3b0509ceaa524959b2492653d204938d4472168d46532e886553fa9dc889006daf1b47ac4dd75775b0d9ac5139d4c3dd93198c8cc6e9f506aedeec60bd964293ce23474eb7cb0b9f4943ee8cc5ced7e19e460c5b9b2514281b6b36ea54e26471f6d57994b63670f2e431b46a1b744de332abbf7cf50a398a8c00b7165716654db8bad1432ac36547b2bf2cbf651910de000cf705a2ba0181717ae9bf318071798731a0fb46b61d9050ec00fa0967073b0383fe4e17025ed114d1613754b04eada481e57d2ff0c84a8519796c31067628319e7d83575ca94e4e9a48b536a82e36511c1fd1187a59594d079fe18e8206d578ba9433f5263f3911c76c4bf40db63554a4fc546e7ae9d1482b696b1b7a8baf53c7d6fa752c5d3b8fe5d5253156de77b7eb3daaa993d271aeb75a12cdf99daab58a381ec320c7d78a4bc6d2a23a9f0d2149e50ba30c9bcdb6c621502dcd188526193a23192bb51a2ae5b2201305a6cc90640ee7d2dc8bcb383043ef339a1b422e9fa78ca4aa1b785472349b0d7775da905e083ff7dc1cecf63ab2186426c9f89d2439982e0e8f75f07d4fe4f1ee93493af3cba83613b859aae1d2fa34fee0e3756c36f2428b1eb36ac28f20e42a8c832087c6db98070eeec3daea7514f78f62dfe1618c36d2b872f51aeeba630e753ab7d256959c4e5640592d6b999c3a39b54696ae8383e189243a1b5de128d82b0b96e38d6843043108056ca54245b95f0b289fdc177b220491e7c8c5707b4f91dabd09886f492420fc7a2c004c19d1518bdad65d89b0b62897b5d57094bf9f6f08168661bc26d2f4c02c5df906860f30e5f7b8dc3007490d41563b8c89fa3b3a5222d8526af09662300bf046bc2ef4134134815261d7845aab8eeb575e4365f1129a14dd460f1d43a95223e32b503adbc4f54b1731343482534f3c892f7ce1f3c2acf3d0a36fc3fe4307b1b6b284af3efb2c0e1f3e8213274ee0337ffdb464330f3f7a0a8a8ceb43fff543d837338753dff536942b657cf14b5f926cea7bbfefefe3fefbefc7d8d8a844af0be72fd2cfbe8c77bdf35db2d65c2a6d62fffefd224f56238731323282021dcfcdf9795cbd7a559c41b13884a3478f89b172b3f19b2f3c8f3ffee09f60a9a2f0c891367ef25deb28c65b94692854c891659339dc3f3e8c7bf6f1c83686dffa08391f9590caa7c74d5476e4a69e66d4e9f513d307f0ca2baf53f6b282899929facc7534ea5d2c2f6ee0eaf56bb2189a4e17a5ac2a8e0c235718c5eaca969e10304108978786da73f4f7c843948adef32003f0c603da6e95cbeaa5106599ba650f40a7a89a09a89f1d78100c789b3af0b74c57302a8aae1d82e147fbc039b8e3d4c85aa60a78e0943b9293998d49f57302cc57baf2ea3328adce63ff03ef41b3674a4391474c61bcb7b35bede8dbb6ce0e2cc79bb9bbeacf9eb454d8f843bfcbebc1d54a0577de7382128116fef8b37f8199a909fce00ffc283ef7f9af62687414278e1cc47ff8d5ff1d93fbc6f0a3ffe8a7f0f14f7d1a3ff2433f82a77ef4c771fde64dcccd4e6174f60036c960dffedebf870ffdf9873144d17f7c6a12b3fb0fe043ffed43387cf030def7bef7214e19c5cb674ee3223994f7bef73dd8b77f0e9ff8ef9f1027f0034f7d3f1e7bec517cf4c31fc1d4f4341e79f8619c3d7b16df78ee1b38f99693f475828cfb83225d5ea955b138bf885ff8859f979ec5073ff887f8a17ff08378df8ffc906c69fefbdff8753c726716f751d49edf4ae2f7bf58c2990b591c9aeae11f7f7711f14a13f7ef4be1aee9169ebb5943366648569130286253f6104be5f0fa8579fcd67ffe23b4ea6d0c252fd3fd4d934535a88431b0707d0329aaf1cd1467371b02a2dadaa4af724bee05f3de36b65a48c66d54abd69e5366b93f96cbd8ad10790e386087cb80fe4774d07e9eb19bb731dc8834e8e952b7cc00be958cdf5bbc082d69442834fbc93695abbd18ac5b79b901f7697abcc49348c32e2fe3d5e7bf40997b81d26f1db77b82a069d067f5b4b7f7d4628473ce8e1e97a3bc099f7e282cdde57651402e9d97e1f60b9c80a64c458f5cc04154b7772823a9b5f53a2d2f10f1c1366b2d8ab26338f5f67761851cc5258abc8f3ef94e3cf5633f8e5ff9955fc10ffcfdbf877ff76f7f0d69aa954fde7b1faedd5ca47a3a834271946ae6d7f1fc0b2f48d47fe7bbdf8956b72523b8777dc7bb288d6f49dfe3d2a5cbf8b9ffed5fe067fef9cfe2d5b3af62657919bf46eff7d79ff9140edf7110df3cfd3c3ef8277f84fd07f6a3383484c5c5455cbd760deb6bebd21fd87fe000befacc33f8ed0fbc1ffffc67fe579c3ef30a4e3d790a0f1c8be39e935dac9283fbe2d536fef013319cde18c69f3da3f0675f69c19c1ac7e84c01f96c5dd08b3c19b0cd8ecf81c84dd89e9dc6faa6a2743e4fe757a4e8cea42b402e3706155754ce58949980cec596e14bb9c46514957574dd868792b0bbdc9c6d53996206421abb6cd17a19bd8d7ee18f70e21df494fab5046d3d46b4f7840310756041027a0a3fce36f3de8d0fd051df1a0ec091849a23be46e8b98c9df26f0da4b25d449647b7ae64f66d780e801dad5678d0c0164e0d9331649c1ace7fedaf98be5276edcb374f63ffb17bd0b50ca49cb88cadec6e87ca8484d0783193186ff7732961195181089e68cb3e3b37d004e4d3d5787d710e9e7bd2b374536fb0bbd99fce004d15c7ea4689eae716e7c19485c43146913f9b49622c57c4d7bffa0cb21313d87ae5251429053ff5b62750a5dafd992f7c1a8f9f3c8af97367f0e94ffc257ef6e77f11dff1deefc1bff8857f851c45facf7fe54b3876ec0eec3f78100f3ef230fee37ffa4f64c4c3f8deeffd5efcf66fbf1f15720c0f3ef8203efad18f4ac3319349e1d77ffd3fd0eb0f514a9f9595e8742643a9ff98f015e40b59fcf22fff32eab53a2ad50a3ef2d18fc8b5e36b313d3d2bfd86575f3b87a7beff386553e3f857bff9aa3437199f3f3e318324655e853bd278e8893b901fee62a3a6706d631131d955b00590c5b804aeff7586c763e00cd5f61da4878785f76173630d751e77764705f1c7bc0c0d3a1e465025d3b6ac2fb79b9b748d1b645fcc6fa80449197ea27666927642fc915191502302c273dcdd0d4426043c3118191dcdddba07e020d4d01acc04a26e5102a86f913660986935dc0b08f707fc7115f4844079fbdbf03aee4aff9d0a4dcb8ca14066b8f4d25fe2c2a5333848a96edaeca1b4f03a46330ad9c903b0f2fbc8f819e063c1e9f6c8b9d00319533272b455cfadfb354baebe9f7a2f5fb6ef6cef73ad40bfd1ad157502a3643e6eb8a8dd984c210c2c5fba8a754aa95bcd1eb66a1dac57da48a6f21825c3ff83df7d3f9e78fb63989b39c87c28c22790202791ca16b0bc5ec62132d89ffa8977cb7bd5cb15fcd1ef7d808c7b033ff94f7f1aa36393387ef7bdb26a7bfce43dd2ac3b72f430beed1ddf2ed98443cee7ccd9d7851169646c021353fb31726d1537afdcc0efbdfff7a4feefd231ad2daf0b1bcffb7ee44771f9f26571beb3b3d3f8b11ffb87b870fe1c4a9b9b548acce1cea3c7502aade2f51beba83527c9616511b7323875e71a7eec299322f328f6cd76b0ba5cc5ef7e701117af99488fd2b56df0025481ddb16e9988d3b634718ea950aa54516fd564b598352eabf5b24c2334bf21632d9a120c74e3b385b8ea4a83b2e31280ecb10be0c2795d56693b28039c10634f300d72227800beb7434343b308d12ac776fb2c8528a7d86e138081bd816f013080825fe8bb91dc3d6f6f44e3848452bdd6880a845374a6e076712965e588519bbf8273cf7d5a1683d8b7d72a25e446b258bd7a1a33143933637302d5e58980c3ac97b29c43461e232367041f37fd5c3248f97c8e82dd9e380059e271f47171c621e33453730f4b84e1b93f837dc437d19f5cfbd2cfd3c934def99eefc499332fe0f87df7e10045ed4f526dcec49896dd427d6d05bff08bbf22609acf7dfa693cfad607f0cbffe6dfe0a37ff161fce0fb7e188f9c3a858fffd52728aa6ee1d2958b68954b54136f606edf213cfec4db04ce5cc81530410ee5cffeeccfc990ea3873fa25fcd11ffc2e5e3e7d1a939313f8f8c7ff02dff9eeb7e3339ffd0c862903d977f420ae5fbf41e58942a690c6c50b676547ff977ee9e764d2b0bebe8ed75f7f0d8f3cf20839833964d2593cf8d07d78fffb7f07e5f50d4ccdcc90d36ce8736cc4319c4a52848e63639132884d60fffe22868b0ba8348b489063e5155e257067156ce3b94dc1f9e52e5dd79e6e120a2a22250425b6dd702740969477b556555e6f1b5402b418e39012a9f43d15cd8e4bcfe7aa76e9e6a1e34f05bcc2d3d3f5d4cfa2e30bfdba9940c46c77dc069407da30761c4f38bb9600ee4289dba8f8d66903ba259c8aa220c22ac9cacd00e04d0c94eeb568871b87d969e0fc4b9f45971c43264ee925d7040d0b8d94210fd1c2b5d7e1a47228cedc81ae9d143499625c7d220923c1b5baa5094a429b768cc8e37634a3ea6c46cff5b486bced71fb7b234a073e7c58700bec63e875dc71af563730942fe277ffe443b871e31a3ef7898fe3d9cf7f06dff59dff16fb0fedc34b5fff3ae6af5ec39df7dd83d74ebf88dff8d55fc5cfffeb7f8d871e7d1cd7ae5fc33ff989ff050f503affc8a34fd0d1c53144753277cb990895198c3ef2b18fe037ffcfdf20c34d925398a1883f8b530f3d8895f92dcc0f6d6238378a4be716c888f3e8b6e8b9ec1a3876f82e7cf3f9d342b375fdca3c268627f073ffec5f62766e4668ccbef1dcd7a557f1f0830f5154df2744a9fff1fffe2d7ce0f77f1f23c55172324db91fc94407af5d31f0b3bfb88af4d03c7ef0fb8a78eb9104befb549ece7b02ffe5430d38c5b826f064ba2f612e6200565c9704fc9cc774d9c72cd18ef000f4840a4c7b77cd87c084a066dc74e1d6094d00ca0b45cada2b082082f40b33047b1060afc96c3b76c002ec65a53a138d70f9ee0804f23b872a0af67576c9009cc8e869807cd1df390c407fb6e302a01c15d2dcf1841b9ce82286f2c680ca1f9af08e7ae9fa792cde388d547e8abe9d4487a26b961c41a9dc10845a5b6de0e6b9e7a9ce4fa130b14f8f764c0b714a0962e27053025b9566b1c0e0dcae3fe3f3c9186c2102e9ca769830f5389ae1c7f6674541cb528845294565ecff7836873f7dff07b05259c7cd85792c5c398fa9f119fcee7ffe7f71e3da05ec9f1ac6effcd6ff8526a5b6689770f6c567f053ffe88791cc0cd1f92ca249a9b15d5dc12bcf3e8db4aa2193cfe36f9efe30fef2e37f243b029d461d8f1c2b221667ccc106cc5a135ff8c407e0343770ffdd5daa5ddbf8fc27ff3d650a0d9cba071819b6f1e13ffc97425cfa3f7ddf1db87ee11338fddc7f43a150904d489e5c30a7eaf286a5e1c3741d184adca4f2c44c17f0d43b8a78e204439533f8f3aface285733632c9119457e8727e6a1d27ff21a5fbcdcbc851944e27b250f11452995106fccb2855498f2c25d156989c62ccff48d7b7d791c8ec20413feb084dbc29da02a62c37c5ddc53acb72fc7d1bd8d61e9fb8edd6677b7bff6e522f931e7747408fa4437a10fdbce1d8451a4cb90ff3204ab07e1290417c00cedf213890e7698d100fbb165db4343cd6d014c18ea5e1b9300c7714e88ed87939c70daf7a21531b9909db95fee2628cc13a6daab55f418b1eaa2caf749a3941e1b5aca6ccb45b9b3d8c154dc4ec0ae65f7f0633f683189e3a8e2e6f2252e491f69dcdebaaa67c061f9b64084cc24186c254deb2d9c78cc3bc772f6c5e86107f0071774eecf52ae8f8b8dbef3092918c239b87515bc3c6ab9f2567a270686648e0cc5b17ce613addc668de4179f50af2091bdff1d63198948297ca4d34e9356377b1f4db08a5f84d32862d9cba3f4f9fc92a3c94f65344afad97d1ad76d1a12c8377251caaa1ed641d1bcd1a46c792f240a7d2b66c0d66d10272593aae0da4b26480c359343a5b927132c47a8beafb0c95128cef675aae912ce543f184e02a9814249f1d45d5ce502abf85c7ee4aa0596be3f4ab359c7372cc058a185dbb03c35df4aa4bc827a9b65fa3b22c3387a1d1612ac9a6b065d5108fafd3676f22a9b248d1f98e8e65502687333791c5017284f3376fe2e6ea1672545a0c25d372ec2f2e1828f7e288331b748c9d06656486e52a38c5119177bb45c8f11a7cbefc17976cde10da5d8c0aff4c6ff41a6e2cda83386810fdc36305f506a6007f7b9b806a576516f88ec0cbbc0c18fe984f47734bb6d53cf12e9df2331027a6bbf2caf5fca12ebd74dbb9dea6f7ede5269048f3b619abd99429b5a7a8df52b29dc7421fa57255340632ed1656ec97e4d3f3138728d267a527a050a7343321efdd13fe01fa3673659203e1dd7d2e07f8014c3a294dc82964145d71042cac61b90f9890564a4640c76ec5c8281398983c88dcb54924edb800759c24902ea6c5f9ac6e363034761f194a01af9c7b15fb0fef83494ee312652bf96c01abbd981cf7e123c7707e710b154abfef3e71124f7fee394c8ece90332027317e08dff8fad7a46976e4ce6398d9bf0f9ffde297f0c4e34f60a156c7ebe7cfe3212a23ae5ebd2e8b3d5cd7bff2dc59bced6d4fe2d2fcab989a9ea4122283af3cf32cc6278f62657909ef7cf261a1e8e23ec2dbdefd242e5ebe84b9cc30561697f085af5dc678a28eef394619423d81bf7ead82478f5670dfc416d64ed3fddb17c3e56a1eb387efc6f8d418468b3358b49671e5d56b18325729eba2d2aadb41c61ea78ca087c98c81d9a13c4693c328667ab8b63c0f23539411a8ac6c749923a0a729c6945e23e651a7da2b16d867040a78ff940a3afe7d9220a1d2d3ede8eab1b0ba350ec0195cbff6d7bcbbc9263a7f4bb10091f14adf57701ff4debbe136db34838dc7c66aba1e3d26353d7f71ca284580a1eb7d894e1e0a8c5165f4257cfc54171e7df8498c527ddfec38a852ba5a6b6b661ba60ae77492c93e9825d8a25abe5e2ee1e6e5b3d85a9f17159ecdf5866ce62d5c59c5ea8d4df46a94fe52ad9c8a27914e6644d5068904964a9b78f9ca353cfbca5932c625b428b2b6440c47499adab5f5b28b2d3b04f4c0aa363af4673293a17a3d277a782956c2615c428795f6926875f3488c4ec120073675841cc1f45db8ebfe6f438b22ef63ef7827beedbbde8b2a1dff77beefc7516b99c89923989d3c42a97a0fe52a39b4dc08e666731481dbd2213f34358a43e3051cbfe72e8c5054adb62a78e8d4fda834b770e6b59770ecce83c8e7632890dfbbebf0385de5066e5c3d47994e19e354afdf73d77ebc8b8c7f7e7e5e66f353d32338786812ef7ad729d88d793c77bd813ffd4c1e0b1b5dacacd780da0d7cd7f406de77bc87719b32ae6c071f7db186a5d6114cedbb9b4a8e198c8d8f49e9526366773ace58d6467a2843ef51c77abd8e972f5ec6975e7a0597d63661144690a7dfa9372d349b1dcaa6e294b9f590cb30cbf21665662d4dbbef7842ad7b8a4e219cbf7e263d36e1e8731ac08035d00b3e89adb3b712a00f66e80c6e00629726e0dfa5de5f10f143020b21100637c944f72dc6ed2dedd17573dd1db1b1d7571e4e501700c2bb27da791e6bae2518fd782a8ea9a30fa2cd6833434b61b58c8c8ced6a565b9c051fc7baa228df89a3bba0d05dba4081faa6de83ef34b0b6be267878de8167928e0c7d36e3ebeb4d2d17c60b3c7596c7a2b03b393681871f7800fb29daee2f4e4894e8c9b168b00b37ae6c4aad99f0d464011151bf89a1cefbbcca94a8ce429bddb68546b546697291d2e64d329871945616303b7d10ab2b64fac9a6301f3dfbcce745eb606d65158d7615896c02976f5ca2acc4c2b1f8112a358665c989e1ce71938cebc64dcc4d4fa340cee7e2b97394013c84e36f790b1656d77060ff7ed8e4d4befc8de7f0dc9933b8ebf85bb049994283d2ec357272ebcbab78e48147b0b9b181b5c50d3cfba56fe0c89123e82986599770a59cc46f7e32252a41aa57c73befaba36e9253e80ee1f98bc3a8671fc65df73d44f7b54055470cb1544ce0bbb27548469d24a7caf4804687b2272affda94109cbfb804ebf59b741d4691a44c8e9de42479a9b88a2397ac2213a7cc4df611e2c289a0f726ec37149c3c55ea0054eaf8cddc4836e08ea095dbd0779b047b8102ab1030d41988ecdd4904dbf95b90e22bf5ffaf3f21b516192d1b57b3d1428ba2718f6aeef99b8b286d6d09cf9e81ae26dce4869bdd936691a6c8d6f2571e12afebd26d7b6c37616d7793092b9393421821f5bbabfd67212d379e1f36c6da1b9d9894008e086268e61c5e67e5d15222a1502e55b05edac0f3a79fa3ec6043fa16e363633871fc84d4c9cc3358ad37f1dbbff37b182e0ee1e77ff2a73137392dcb3712fd65318981c74a568dc7c70fd0fb16d1a857104b5319d072e9bfc8e012a6858d85052c527a9e22635dba7c1ee7a9a66f5261fddcd76f0a490937416f5e2263a7f76227b3b4bc2c8c43a3c92c9a1b65fcd5c73e81f19923b8e7c153b879fd1a3ef2f14fa2d1a8e2cb5ffe9a185ebdd1c0d39ffe1b69b4addcb881f32f9de67e3bae5ebc820265100bd717b070ed0652e4a82ebcfaba64654f7fee93b288c37d841bcb0b78e1e51791cd72bd9f60c65064cc6328e7a691a7ebf1d7e4a8622be47ad20730fad09d78cbc418b61a5b62f07169daa4e814b2420ac2cd40a61d1c61ce82cd124a55d035cda341c7c6eccbeb657a1eb636281b49a1383203e33a5fa30e2a5bebe4f429e3635e475b234219c3f146b35399e0d8ca8798788a41e185b02843b3e36301f6e000c2915fed68e83b6702b78f15d83352c33076c521f00561d829f3e1330127474606b0d4c9201af4c5f0d4b5d55554ab55d1d8f3842d1967ceaf634d3c6ecce91dec984bc56d09cfbba4f7bed7857f2cde8e00dcb19bc7b918754cccb7d77221bcb6ab31af6f2ca3f4186d6842cf94e168361c0d2eb2c5c02cc396fdfd0419211f0b3b00e6ff2f1687e9c16c637464946ae759b93b9d8e85543a27bbff371617c8201704c9576976a53ed5fdcc38952626d2f5129ae575ca74a89488d590a6ef1bcc7a4b99045d0e742c7e90294f9073eca1d5a853ba9ba352a5892c936fd083ced259bc355817f69d84909318944dd8e4ac1a1ded3ca7c68670ece47da897cae42462a289c8bc010c7ce28c8ab316fe8f335fd62f90eb9888cbfbc71493b4c60460134fa6641d9bef1d3b2fabc3abcf49391f260a650a36261141c21266a2fd874ec8c422954ccbf28e63b06e428b8e3deb9397c65889981c9d2823276cacd43ab02883a9b5217c0139ee09b170482a89468b399a6ce4280b585aaba3dc2167934e93a31d41a555957b1c4ba4f5e8d07222e0b15bd98eafaee44bbeeb3e74543cb4df96351478cfca40f021c01808030e3701d51ec664ffa3fef34813781f7c85d24c9efd0a34b45241891eaa95d51594c863333b0b33b3546b5531726dd49d10e1827e1f469ab17133f10677a1f98bbfc70c2b3ceee18788219d8ca9e79f713f8769a7783fdebb42de1eb6c0ab5dedbd087fbb2b0dee8d1239f20b50c7bdf611f8b6bf07ee813b1cf735ee7ab1906a1a6210cc27c869bf904f52b6315c2c62627c4276f1a5f2b43af2e0898322675423a3dd2c95506e76c499c4045948f57a8e22fad58bb8fcfacb94b2b6fc4531d61a844cc062a8500ddc2243e5ad3b1634655a2f3d35895104b6e47cb9bfc0a54fdad63c0a4d1ead9191b79804a5388a5c6116d756c9b93cfb1cce5d79859c42052911265512c1d96166c8a930dd56d7bd577cbd788cc814f690b45889e456b9ba25f786cb2b162a657a311ed633cbb225d757692a74ba37cccad4a896290b18429299857a4dadd065bacc428e8bd474b4143a8f458563900c9f69db99067c286d2211a3e72e911492589eb228c9f0145dd30a657c5c3ea4b06f763f36eb57b056eb2145cf5447909c66c8887677003e45bf0a2f8239ee1440f970e17e74a1138cf1f7c20a1c2c011970b6a50d6a4fe9caedc900f861e0d5d05ffaa55fc637bff94d9d6e767bae88a55e98d14c3a3a6a8b00ae19f389290d9345354d6df81ccd958ede9ebaae17d9b9e6f7b4d61c47b94c2c10e65d7ec8385bd0af3742e335c34f8ebc4cc5eb2b78ff5621af1e9eb7780e29fc104479de9c802c43883112d29b88c7744f421c97ab0eac39fbe841a6738cc5122eb71c3dcceb6bc8a672a85366c0e421cc64c462a29dd616ce5d78913e826a5732a2782a4b06d874c53c6da1ece279789ad2da381900f70558ae40e4c82ddd84628311141db36b7029c4f98c1947db366469274791f5507c15b5f5799cffdcf398cb907320835a460243e4b84c3ad69e8c5f63e45cc879db5a9b509fbb3bfa12f6db9e0c58f91cd9a14b979c9d26675b7cbf18e464c404b167c693989898c6e8c48c682770c6c5c72f1c84ccd2e4e33a02a837df2b0e100ce76536a30a398e9142120fbde5182e5d9e87414e314dc7ea3855d8865eddadd61bf4de45c9cc2ad59ac0a4d349fdee22400267cf2580ed99b2570e288f13508f0211120e353c9c81abd434e873768502eb371f9cce0f4aff55042e74fbba01eb1b257ced6b5f17c34fa7d37231384aa562b16dc01dcfa0a390675d1e1896361c367edb7de0c20d41cf219c3b774e1c065f78ee0fdc7df7dda2f9ee3d9cda41b806af9c6da5891399cd28b75f606f071985685ec2bd1c9fc65a08317afeeefb0daa93793b8e25c5ebf5baace3724aecfd0e2fcf306baded46d7a5257a2da5c01d477306b023ecb46b5859bc42e5438d1e7888217269c1c01766dc61a3e26bcc0cc84c0766bb629f723c4c4422ecdb61f61a2a05443c55f04b68aa26f2a936ee4b98b853ade3aab38ab54a15571b716c386974c9410d8f14243a375a5d810cdbb613c0adddb125138a9a6e83d410265ecd0ac4af61a38ec54d6d26d293516e3691a7d2689cca9e31ca606a424ca24763da5178083b4f7dd73b077e96389d6fd53b2e6109b0b8b24ee58181d2fa2646a8ccca8c1651a39f8f8e0d234de750ba69d1eb2cca8eba4826c851f6b4e292e13227df6a141841fd79cccbaeb2327cf62e7783d743010a3e20d84571ec37e000f84229dfd3d8db99666e3db1b87da33ccb116a28c76ef96e49cf4b7b7ea3441b6f5f374369be7ca5b4e087df4fe03a4d396e06e1f89906ff9d37d2f84b53422be1b25b5e5e963fbdfa3f6ca09ec3b143420eda3178a20e56dfaaa78a28c278873a08a2ed2d8624e981678774e5ca157102c5e19c1c2f3fac172e5c10e734373783e1e1612a912adaa0783f9d222bb3f1f6a84e6626a0b49dc2d6e63c36976f22c750634bb3e87578ff8047e096d60c4cd0b5e6e364fa2d250c3fb2b48c42610869aaf5ebd22cd53d147f3fd970042fb19f42f1895417f78e3838b3d8c0422b8ee52e6521f4ccb5630a9df206ae5f67724d26ef4c4a3aef9dbae10628b9aff23723502ba663280e8fc854a146c62daf8f691971cf7917868af29548653096ce9093c9fad46cca25ded0c42ba1356b37334b92932d6f56a587c293926b4b5501261dde3f8b89c23096aa15d42873ea08049bb390a46460f138dd5fee4b408f81133c4931627bea6d85b7ffbcb45eb21a3b18fdd9ee7509a671a12c7240333f762b8cbb0ad14eedbdbabfbdd2605a8dd6f699563c59a420d23b2e99a2e15f5c0fe5e75f68975c51477cc7dbf28d18327ff1437dfcf8719fb299975938ea0e547009bd7f38f308145d1c7fc32becf92dcb8a66034ef4e7060c1fd28bf04212c38f388a77ba7e69c0bd10fedc4c212f27c4c7c8ce810d83e7ff4d9eeb33412973edb3628e4883b750a6f32c50d44b243252e6f07b4a0945bfdb6837e458b2b9ac1c1b77ddb9bce0cc43b8f5e973aa353d1161033679b449efd9a42ce2bd39720ea50d7c7501f8c67c19cba5362af1040af47e1926f84c6691a273d8da5847263f8116af328b1e81728dd3d1a3515892052895a67f27655df9f1c79e40938cffb5d75f158115c6e4734fa44125e2d8d814f61db8039353fb91cae43430cbd0780d86f92bd98530640ceb782a30ee73c1bb162cc7cee228c5945ee7e676429652a487ee3d817aad8173f3374579a8d9aca3556514e6045446618bcf9b32937422072a90e87a30d371f30ddb8be7b423515d9e593bc207188e138eedbc315250a8c1801eb50304d81994b2dc96b9bd0a61215cca2e18a1d548e5d7d83ea9a25cd0b0149a26cc6063b13cb24bf70d2c57d3ce33628eb69e9105ccad76e4f5e1a94038750f6704413960044dd81001e4e0b190c61638be44b4e1f628627e96e2f709e8ffbc92c67b606433cd6596e5877db3ac61b5dcc7a89b551995c16d5c76ecae447247c4327a1af1483f636af0318af620c3e3eb20bd08ba96ad5657c67d5a580692be73579f918569272ed4e7c5b883454b91d35cc154be8899c943b8b0b88095ad0d98b951645359ca4cca22aa62b02a8fa02cf58ebfa55134629c0ca7cfe5c671ead1b7636c7c96d26d1be94c0a1b6beb94098ccbf9647269cced1b92f1ede8c8148af495486585bc4374852d07c1ff94bb2ce504e5a16e0248efa05de12942529c134b8a19469ba27916e7cfbd2e3d925c2e8fda46958e3f8e437347f1eac5962818f7c8c9306f6232a57517784ae2383ddcaa0518a6faf69e4f6699ee07df292364954a454a8b41cfd0e06d40b7bef2e7883bf4f777e12eb9ad2580d7050d74e81ddf29f81d510b91086cb8a954d8183de3f57a00fd9950afa7fc949367ffdeef06840c8e9b8d387e0d6f186ef3d0555d1e5422c8f82f44fa10c9be9c28f26b3b5c5947f438d5a9de33eb13ba78b52c136b723aea72db790f4bab5d47adbc299904d7f53cc98853aace692a8fd66cd9f5d7aa3a6ce4dcc166e32fa474e467e3f758899aedb66015f8e73c2589536acfa507971d1be596c894779c36fe66c3c04ffdd37f869f983070fef4055889395c5eaee2773ef617a85229c23a0522fec1f88874474671ac44c8994a3c9e126e3d69f4f6e23875ea6db8ffbec751a956515e98c712952e7c5e870f1fa5cca78ed189698c8d8ceb25a7444aef4a40abf4da4a4f70103232154aa51d8feb81cebddeaa43b111a7f33e0f1fe32fda94ea6f549a74aeb64c2b4699199a7734984db95797de81dd6b4ba99448e55c1050d05cdeddaab6df6f07d1919f371130422712ce0894b777beb726a01d5104de816e6ec75d8037c3229013599f74766eac6cbbe1bb3762c290cbf0f7f4969715820a8753b4edbb93fd8d1f679bccd3ee60909d3202ed00e2518715ea0c27c8b05331326e9e7e4896a07d83475ec19310d6af67451f8b310d2cb1c5994ecc94c8af35034c8c8e0ed3439d945d0736786e02ca661f6701f477dec967c002cb90b3a4b92520aa16fd3d8d4e928ca6d5c3d5461e99fb1ec1dc2132f66a1bd7368113278fe1c9a507f1b167be4e4e26813c43a513bc1949c7901a92c5a49373fbb155aed271c5313bbb9fde7314070f1d21434e509adf9586de7071546ae0a161ca240ae3c8658724ddd7fc8b71adb1e8d2a287199e837e8aab446623524b8bf680a19d0703baa4964fa6a9d4a1ec2a9116a7c734e1b57a5530224c7b6e33c4997b13e43898f7b027d914649dd8b18dbe56face16e5056476888615242670f93ba370e1a037e47153d8160f2f6f590238aea86040390da576dc05d89d1be0f619beedaabc44d1514e44f5785047bedfd08271539046196e8f2018dd39918ebcc7ceea388e3f560dbf577fedefa1b90651370f54690e1dbb0a0d7dbd2c432bc184cec9fb1cde7f67851c4a8959bd28e69e87729787b8aed6bfeb485f80a5ab64b790cb077a11f3fbe7e8e11e25836bb91a848cb390be0045373e6dc607c4e9330cb70bcd5309fe3983aed8605222809240a251c34c711a6b2fbe804b972cfccd3367f1cc85794c8d4fe12d870fa06db5f0c9afbf8883c3639898a4cca09dc4dc9d0fe0de7b1ec22445f3adca1636363645227d66665a98799c9e81742e8b2973469c58b5daa0689fa69a3b2e9955932231ab032978cf86e336d5bd673eeaa8252b5461d6279dbdf142952552e75a1a9c9b8e9c1d71ff61bdb48a54720b6dba56c3c35c1a7153993281169504f90caa947db00348a6b8399ba38ca5e1f77976deadf1d6eb4374df860afa01db1288e873a2dc32aed56aadb83b40f62dc780d14e82b3ad4e513b6602ce6ded01f41b8a3f830f37d1541822b99d4f3f6cdcdeec57a0b9aed1ca08c731229fe545fef0bfa50e87e79006341bfb3e375c0ef4bbd7c0510c48053dc248b7d9295af5913431e0868a2734c641a4dfbc9ad1089a4bedb616df64f0138ff418e566682d5a4d6041b53affae470caa847f9f77fabbd214651d402e11bae410849dc8d63d0319bd71dadeb150e1fe003d948dea0636aa4d6cd27bdcb8b285a1541177ec3b80221de3582a86e962166399848ccede72d7c3983d41c63f3945a54a4d34046e2ede20e39fa433182143d498867c368774324587da2303d4e7cc259a2dfbfa74edd37afd56cec7f1cabfe072ab10afbee38dd5bc16007459c9e712376282684cc758d2cc92062353a2b55b0d946b5bf4998e8080cc5812d964463818da427cda93512a038acc98da3143bd5529e0bbaaf0b314124d099ef7207865b3d959592c717f3db6fbc8215c13ed8cf35383a044b7b109c0a3340de6f02eae1df0f579dedc09832b6c31e66db3f96dd901e089327a862c4d424b7f5ec0a0a47c8f1e06faf45fdfedb3fefe072184fab3dd8cc4d6f57c989b209cfedb92861b2e5ad1f04523b580a6eb0ab90918d7bc051cc964acc930629b5377ddcb10fa398b77016cc1ebf7dc15e694201c0db4a906e7f763b14f0f7fc06977269b15d362600da7d8ed063dec3cf7665661e91b50d6d0e8a0c15a7c749f32e9240e3ef46eccc6d7b0eff04d34a9664ed2f379f5da32caf4dec7e7a86ea788d99cda8f936ffd0ed1f5eb761c591f4e2773b8fbe8490c15f288ab0c6517b6d4db9c9ac7c979588ce590fbd3d3684e2be16a30c443199e1d9ea1eaa52d176bef3122dbee26a78cc64550b52b90eba4d345abc3d2e05ebfc816f523069df1efb0ac5b9332ee9e55c3c16353586ad451a3dfe586413e332e72709d4e2d22efb5d712b4df281d3f0b8836a0a38e43844fabb8152558f00bb6bfd767ec86ab1f8822ba9d19c0a08cc0de4671364849279a0184a3be1301e078d13e00073921c3b676c924ecd0b4627b03b07f54b86d2dd9fd1cef260f5afed0d0e558c41987df53508d52ffc7b49370ef2d77ca1d57429bdf83771d38f737455c92f588c8608b4569a872eadf68eb99bfc9138346c38d448a8cbf8934390226e2e8765829b9817c2c23d05a960cdb6ad76016a6f0e463df8e83b347319cc9e3d5173f8557ae9c456aa488c58d5571123c26e38ca3d2ec607ce220468667a178d497b0904db193ada3909f46b3ce201be6ecd7e33a561f6229b1782c4146989251a487fe94869d3b4bf76ae730c02a4cdd1650bbdb41964bbf9fa4ba3d695049c1e26d74fbda1dbebeae22b2a5b728191ade312d91851b191ac61065320b0b749c5dbd3f9222c7272a4a2e81c71b79b6837bae4210df90cec4ee0e642f4d40e56bd7291f66b8f3c47fe032d0ed9c026c3b6935b0ee0f6e7c00c3f54764a1b3ea8fd41a1c14180e1b8117e9c3d9815f7f41f96580376d10445a5f3ddfff7be1c662f4fb3b3b30cb6dc4993133720ee1d77aa340d96750e14c82fb036932d8baa0e818b8226832c311486f820c8aeb598eb4cd46537e279148eaacc288499acca83bd120a4f7e55497ffe47e40365fd0337811e0ece2c8dc2ceebdf711ca5486b15469e0c4c90771e6b3cfe332a5cc4ca4d5699211f3fa339dcfc1e931dc71e701ba0eeb686c5ec7f5ebe771e9e279fa9da3e41486f1e52f3c8be9d939dc71d75d544fb731343a8d949966f172810f4744545c745f5816cd77041ea856b281106b32ccc0d0e4fb358c8e8f314120a5f8657a4d120d27a3273f2c5f1e8b0b64391ecb2243a9ff482121b8829ed59167a590a78c85b222b4dda6b1f506b601dd68efa14cbd14df7b76bca9951322a30dab7b3901465fedec00dca51227c427a676ad4a6e6586b7d70978d30f9fcecb1fc579c6117a406c5d0ff7a7ecdbbaf02e5c98c75a6c043c36d3b5b789f1b171bffef7e0bfa6bbf9b753fddf9fd20f6a0206cb4e9086d7b66b2c69bb2d51dd0c6d1a4640436e24942f5964327c65204e5f7934984ea565eb310096e80298d77cf9b339c272e38fffcdf53f6f53b67904e862093885e6ef355b1daad3bb3255286d555026436f53483c71fcad78dbdbbf9bae5b562f08315fc1505e76e72dca3c16362a68307f5faf8943139394b736f1d13ffe2f228fb670f5755cbf7a0d0fdc7f0a679ebf808be75f93997a797305abcb57e9fd9278dbb77f2f72c55132feb8165be1051f6f76aed476f07abff8253cfa36e52a40ab48d3abd34ba0d1991466dfbab58114af691b39e1fe576e59253b20943db67b8aca9194380dce80ba2d1e8d26a5e4e2fe0a9744c2e3b8e7a73ad0eb0e6359bc6dbf004b12ed14793b016b6b6bcb7b28018cd0857271c6ead691ffcd3209e85f7ad417c78aca9cabc0fb870d8f1b3506b62304fbeb73bfc1276bc51de9accbf7d900a5791628f5f2bfbd526027a6652fb318d48b893606e1f704c237399ce97829be116a0645d23e3703d00b51a1d56541367690cde574ad2e9b6ac22b2ad455ccd8aba0d181665c8f063737b78468931d20a7fdbc1eccfbf8f57a4536021952cc3fafb082d0e82c4eddf3301eb8ef0918d911a9851bad4d3c707c0ad9de0a6ef63a38bdb088b52a1905a5fdf96cca45e059cca78d58cbc1f4e831986450d75717a4ee7fe4dbde419f59c19933afa0d430f06def7c0ff2633368db31410c9a3d1731d787a9f00282879df0545b6d9976a8600dc0d17d00d88eff7cf7ec2c96d678612a4b3f4bc9bd30555b37524d088b921085a6f40c31914853ba5fa5eb50176a37be370e6cbffcda6bb5ec2024e5e6d8a1df7582d57d15acfefad13ff4ecc618d0115ad6d9991518ae68a19b4aecd404dc7d0c78bbdc81e122f9f4a094cfc346b040622bb89b58410d18e610083f2cc1c69ee9660a01828fff5b5d5d15800bef0278efc13d56af060faff3864789fd9060ef355e09d28f09d8f600871481b7457965f8ce291c21f821e6c22ec5cb3166c245e8b9a9a41393ae3f8ff26ad5b234f378718869c4399a65b269797da351a7e8de16396f3e6466e06541926486f7e8b3c2abd06c68755eb6db643c8d91b1514cec3f828327df86033387659c88ce1a9efed47fc5375f7919fb7ee99f2099ebe1e5f33770bdcc74df87d12baf50bd1ca348eb60c9a67a3b91a2e34ea1d9a962797193b2892d4aa5b3f8f25797d0a8b771f71dc7f0d8638fa3307a80ce3f47e93fe331ba52b278ced10360c51c9de1dafe34c814ed3ebf9a36dc4523061fd91e218ed27cfba2cbd82607c3bc8b3559fde56667cbd4d0e104f70712545ea52100a88453a5e36ea155b3f57a71af23bb26dcdb50fce54bb7ed8e048c66b54ec4ee82c01229e283913e027970c62684278bbb3601a5a6f1e7c73b8380d49bad0c7010597f74d03f73d74b132a0cfd02766cbc0588aae83c3e8cd10f832f3c87c28db298bbebeddda4f046617819a81f1edcef3022c7e8f62c1cf4f733b462b0700c9ac6b6da5f4833c831b1b30a4382bddad26b6cf2cfb8bce1bd062611a113412e9f95ebc6b37c260bb128aab7e98bf32a297fe85ad69b65bdff5ea9a0d66889c18c0ccfe191534f62f6e0098afa636298e52b2fe3e9bff800aebcfe0dcc7693f8ab5ffb7ff033ffc74fe387dffd56fcfe175ea3f74b6264e430dda338198e851bcbebb274b3b078899cc21632461dc71f7e2bee3bf52eac6d54512a2da15d2fe3d5730b78e29df70a7b10c36ba50f62196e3444844f4f975d01504c6753c1e6a6dbfb73370ef5a4c874c55d19b8cb74e9869d838ab7a99e6f820b98a1bc42b1d046b57243588bdab58e342de323871067b0909392b2869d688ce5d185d320aaf2acf63005f08e56854a186fda15940981408d1d82a61b7d34a03b65008e0a5154853d0a6ee1a19c37010e204a61a6fad853bc8720581652a1465818d8a3e1bcb65f27fbc6e944c146bee186fa0c82c5773bc961686fd8e04dc38c2c0079e3b4e8a2901141347a054ed0d80a8f012df7b3cd087cb91f1bc12342afefe039237e2d1bbd72b31086df96cb9409f0a61f856ceee4270c06bf28695a398672c54578b464a36a3765098825be868afb70d7890392150c8d0c63b554c7c83e13c33c426cad60e1cc677070f51aee98388c174b157cfaea253cfeca053c71ff5df8f0574ee3ea95cb688c1661b73aa0e20213934591ff7228a3bbf3e8619c7be5450c25e3387ee77d70120532c81a3a8d2a3924d6db488953e268eb35f744e6cc766b7adfa1bb1bf4367c7d46c7367d7a6d6dff9a5c454f013cfe872452560a0787d790343a9419b5c8199093ec9470ef8963989e9dc4a73fbd8a7295ae718ffb2216650054129113add1bfb981cae433bc22ccd808a663f7266e7b1d03864702fe48db08ca59af7cf770235eb6a8a77a7b61040ad30b796fb80d87bc7b03f0b6e20022735027b2cf109153f65276d891943c789d66fa91aeab1102fc88d69ef277fb83f7093e836b69c178430d9c3c78987f58f09d906794d1c98335707c392861f41c923401dd281e9d80043d00cd7464f8519f8f934b802e137c0a91864ef739b227c898eaf58ee815a067688a2d5b539f0bbaaed51667daecd8387efc5efc831ffec7229fcd6343eebd48a6c02bc6aa81e3078771f27f7e0a7f95b1f1a9cfbc8485f8108cf1349efeca3731fdfddf81fdfb665037369166f4207d36a7f9652a07987fe4adf73f8ab1b1022ebf72061bf357505b3887ecd441d80215ce201d37058eccc12b6ebb8d3fd3757e46d8f92b3f63b2bdf1aeed5dcd8078931badb6cb2f60b3962267000e0b7c9670a0780e269dd7d8d0085aeb2d6cf038947e7fa850446e6c0425ab0dab610af2b143f540abdb70b104b6447edb97657f23fcd92a1478f47e8be3ea39faf81099def591f8f87c137b5c06f2229cc80c196a5710d0e0efdf5e4210075146632734d10d30fc4664fe1a1dc9a12f9d0fa0966152464ea7d8c89881880d8a81306c7ccc05d00f3f0eb205e533cb843bf3e10945384dedf7fa61f6a07ec7a28140ba6637dd39bed62180cf0ecbd19d4b000d140af002b64b42924a26a5a3dfa3f362e55d29130c2d300a77a352cedd34859acb71414f5a84a88db903d3c80de5512687d1633d3cae8ae329fa9d26eebae310a6cd2d7ce3c545c4868e51743f8da19412e6e0c5cd32fefc8b2fa249d944af45d15c84356d946edca4f43f81ef79cff7e1d8911390e445c5d16d6ca1b1fa0a1d4f05281e467a781a9d6e4b4f47b8cee799021d532f66b951de88007fa213206f59ca2b855ce3e2b373b456a2641231775ac33946d742a755c08d0d5664a29f52ddbfb15e4261610da3d911acdaf39497b4d13335d3b35dee080908db943880fe15ef8818c71e5c818ffc73838965fbc23381788d0ae117823dc73d6400c11aa1fa5b48ef6fbbd4497608c6ac79579c10f9661065fb9b7f7a0d586d034571873b8c13e0dfe7fa97b9e7f98b3f8e61b64c3dcde3c1f006e1b68c248410ec7714fd5b87e16ca5dff0c30f915699b25dc55ad32737f1a1cf1c814c8de90f8f033ded0796d2e2793f9f27cfb17b9d1eec84c63c702dcde7c6fa008e271cc2a350bb274498bc3968f4b2743d46657f004229c6cdc5a6681816f343383211c7d5175e1501d1422e8b7c3e8df5720d37d796914e6651a14cba383109878c7e75791923a3939864baad871fc5c1d92924938e489d73636fb3d210cdc12946de959bd83f34ac3516b834216fa4e21cfd1d8df0349dd03aade93787832990abe0e4ab23bb5c8e1c4d79355af6fd1dca84e222a4ca1a0ddd4612e5948989a48d385d9bb215c3859b25bafe37914c28d1716404e2d050411a89ccc8a4bbce31c90edb0c4b76e8efbc826c7406ee780c9e0378e85517bded44537bc7762272733ee0c90d1af942610f0ec0f586fe0ed4802edfa0c65ff0bddbbf0d18a449837ea6b645f4689aec6c1bfd79a58367d45e037064644446809e33e1f939d7cf412fc0f4d36c33b47eaba37800e6086313c2fcee4a613bb4d309b4e223bd8950a34ffa008619de30f28952e22e3fa0e7ccf85c2413e06dbd7653ea61ee5f64d205577bd010549f6c049213e05d812e790b4e8bd9f87982d0edd1eb33458c4d4e694625d3923d00c6fdf3efcd4c93436c6e606bb3846ebb8726d5ecd2a4a3e35d5fdf905a9a1586d6d615ee3979024b0bcb2897cab8f32d274494349bce0b99292f2065e921beb9348ff55209c3c52cfd59c5d8813b911b3f40c6df9155684f33cff4815e5e0a6d4b0913f471ec480615def4f4b837b5e496565296a84a6948c9ea925f8961363724757e69a38e3a65826beb060e1e98d51c8656531489392b64b2126e0ab3b80ad3aeb3900b175e9c6939e6de814070063f9b6160d9b62520571a8c8f3dce3bc97b42027a5584571b3bce8e4d403520e97f33240e81914701132ae4ed234e40f229274424d2df400bf6faa585c4d1d2603cbb4e95b959c89b6fcc32ac533244eab570c63168b32f68286edf3fe89f16b0a70f467dfa5cac10c9a8ac04bb3465c1520842acc6a6ff3aff1cb97eb66c59e6e1555e7e1d3fa8fc11025e892544a7a06777dc7d84b8acb4762d256bb647ef3c8ed903072803e8e82523c988b2e284c7461368563650d9aa932118585b5b1242ccd1e1226abc5b9f8ca35cada155af60944aa8773cfa286e5cb92c1b7373fb0eca7e3df366641229611e6243aab79a286fad6163a382a59b97707ce6981eaf89b6a11366c275f33f57b9c95fa0d2b05d01503956a4b91b8c68dd3e187463951d6383beb549ceea70621843993caa361b7303e3a3c3e4241c2cac95d060f212ca00983b90b32abe8e7c0bb8fc62c7dc68b6c4a972d96838d61b7fb6fde7c3de86e654514e108405410a85fc0c82edb81d968184aa540f3f0c27346e1880017833ee024423bbb7f91805fe847b05de6be442dace40004e98e0d309c93177bd8513321e5605e27f471a7d112211e58f0ffdb5e2504d1f05fb441b77a669ecc817a029ccbc32a5e79f53823901b86cb08263e229032ff2306517972f7e1390e7d9ddb6d4d84c03ce519c1d19afceca4315d3e0225e6e11c741356fbbdb438b22fc93ef78371e7fe21da23dc03a5cb6681818125f982823998c21978e61f5da3ace9e7d959cc9286502ec0c4a28b7b59aaeecced3318e8d4de0de7b1fa4e7ce16f0d1d163775239352a293433f964b2290c6533948e9b12e5d757d751ad94050928d788d576dc5e8caddcdc1e9efc961305cea860553ad8ec0c762a04cde7379238b33224ab699271e7e3ba397b7e750da5460775e999d07952a9b35c6d51a6a221b9ac61284a4c74fcb2a3415f49bac8b5564d4a195d66bf4128b00bf4f1aa54694a6bb4931fc0fc7991e311d3f8566bee21031810c943e4203b45fa3713278097c60f6aee6dafb19cc86c75101e7f900f36fae0c2e175605b043cc23462b62bb4616cc31c840d5aea6db51dd8a37c8aaae0fb9e23f1969202a663c3ed629bf07409948b1c1b1b1bc3fada1aa5fa3d1ca754db7b0dff8fd753b3f4c03290c791e459099e9f330986f6328b0fa3fd72f90245eab67005f27cfead8f3c8e23478fd3435e43a3dbd2eab79cf5d84cc5dd95e81da34c60737313a5ad0d320a50e4de7471f59a8577289f2107d42163ae637cf2802c2b5ebbb9881ef71ce8752972228c2e6438f16471081dca16cae52c9c8425dcfe7c7d1242fd6d8ac4b85c4e334408e3c29ae1d6f3fdbc0b9e638f94012e63afe046045fc16cc2bacf329ca00ca46de16c651546278199e12c8672491429a3b9bcbe800e77451544cb91372659c63c96d272e219caaed801f4dcd56d63af1333274c30630b804945d3dc4868567d13a33ea8b903eca245ac225b46ce4075a06d8b376f9631606401c8898cc8a2f24a8ecf94aa4935b78379fa813ee13552ee82477805dc6eacb7bce32d09f58fe9a29c01514091ed513adb4ec4997086e1af0487cfc1eeaf61354760269324438bb9fc7ea6d49adce17ffcf1c7313e3d25d2611c819941986b62be54292a65bacc794f0f2df7027809a82b2bae5d8af66d49b97986cdac3e5bd52d1486c6f1d4533f8e99d983a8514ddf2343e5b55f6975195a6381a700857c5cc699ed5a8cb2846972424569228e4f4f239f8da390d5990a550668920339fbfa592a2992387cf43039028566b58c1843b49d2eea95129d6307a93c79915e0b75a63977e2288e4e0a00889f688323b5e9fd698a43d25f31f99ee97e196e19e47d69fc840a7e6e6887ac7f6e0a51aaa37483d836583fa18789b119d97768f4da22a852639622cab06c71cce4945487fc1065332cce6a6a987132a5cb00561b5272bfbb70dc75bb5d55b5434158972fd8b6250a2790f251a14ddeb0d647a849b70b12501921235203d581762e059cdb9e0bf4d7ff3b65370ae1b54fc78f12831c988fb3b60371114eed161616e8c12e62dfbe7dc286934c25b7399141a4a04e8870c1b1a368cb6da41fa11a6f273e40dbd24e274d9f7fd7dd774a079adf937b03dca798181f433e9f97b49e453eadae86eb7a51c5a67bdeeeda4265ade20c647204ffcfcf6687118cf466e56a4b68c04edeff089e7cf23d3876d77db0795598b9efdcf1a39f9d185a74a5904bf38c8152ff214ccd1ec06669591ccb959bf3f49e1d64b30532a62e2a8db6408b9ff9fa573139964336ce39548cd2fc0554a95e66ee7e66052e572b889373eb90934ae71202379e999d13fd41213a91eccc8d7e2e9cdd0363694ec4f0d445450855644ae02dd3382a18ddf2b9b05388c949517954c7589e8ebede135ab58e4de590c5abc1361d0f6f33d6c9c972b9c244a94a58891ca74e0e979c9d6d4843b35aa37f731f803902f62410ea0619781b8d4e04876f8796dec219019f8fe5623d6e8503709fc890525968543208abac069afb9b870f301002dd9dffcf71424caa3b8ce4fa6b7bfe6f6b6b4bfecef5728dd2d25c3ee7d285f7dcc81185f7864b80b0dab0e53682c28c415e4910ce5e061387784d3cfd3326c52c954a6e2d1c935937476e9641f3d58ae8f5057210654ab9bde363d6de36457926f0608d3cd3d0601a8bd14a74ba798af823c3d378f0e1c7f0d0a38f215f18d132e2fce031f8c836fc4989c6172801ba65c9489d4e1d6dc625d07bf34a70959186941a73f467221246eaf478879e8ef9fafc0d9c7ef925bcf3b14774936f7d43ca13912ba32c666363039b5b150c93110dd11797244c416eb82cc7fafe697a2f656b433610565cf29c7d98ca2de8b118a18ebba18b00f97bdc4dd76dfa33494e6fff781157d6cb9435e97d0276606cdc4c76c29f98a548cfcdc546ab837c7104c9580e36650d7172c02cdcc24d4f912ab3ba7bb21d9f39a89f41c809227f4432cc1b0fc3d350b0f7aa0b1060c7bd7962bf2e80c2605620e74de20482eba37685553a7db593a3769a0020b2cde7c176f9ef870f1f964c80852b3d510a4d3ea1c535c30e60f7ceeef69e83e32abad8d8c37b281dcd798beffaf5eb6ee3c9901a9a8f6173b3242a462c0e3a3c94975dfa9b37977c8726e4d4520ec485bf9fbfcf3bfcf18429a497f73ffc281e39f576cccc1c12755bd1b533f5d298cddd75afa7212bb1317182857c826a5e03ad953216e697742dce7262f4b3ae74e4c99828aa56c9189cae892c39d05603b87ced3a0ecf4c6328cf0a3c6464dd0665561934377a5858dca4e36a6394b2199ea3c38ccbd88d51761e810bdce6b507ac0a083e9dc813ec6dd41986b7eb110a1c326c37827e80f4560c5f3f80d1960cfab2c941b1a47999c7a3765bde5d168718fadb6e89538ba593989a1cc1fac28a6439311790d5bf9abeabdaa6636f6baeabbe5d1d6f42159e12202c44bb177970e50e09185001a79f80f256fca56f8e12207223fb0c3ddc61efa77fd64f8ab123fdb637d613024a9f042468c8f5538079d87e2f95f4a4c0bd9240d7ff219d3f3b4a18eabd4f00047229ce07b4630d66bab52d1fddc78833ae6b3913902e3fd5a9ac97f8d4534fe1e08139d9f8830a66c48c9fef501e1b4f723d1c97077edfcc018c8e8f63dfc18378f0a14730323e4186db931536e60ed548ba9874fd79ffdd711b901a0311c7c86841d482afbefa1ad6175729d0534abfb22a9d6fc6e3309ec0b47a982ce6d0de6ca14906c4ce65a35cc3a52bf33871741663c3f41e4606758ab0d56acb0d7a8c14d4f7aac5c83a778781f90424ed7775120d0fe8e3e826a027f8e9c3c3fd9e8f018f9cc75fa7f51077ee15e6f38d9b3a276851a4bfbcb481e54a55300a7c7d9be48cea9506fd5bcbd18dd33915b219f496cb325ee5f568865977c8213344384de5a2e9aedb0f92edda5e82aa686debf118382167e6958f2abaa0a6c27d80bd2001453dd5b67ce1486787d83ed85fa9db6ffe4e143433f834fb798d431c817d4e208ace7322cd40e58269c2d941385bf0e6f55aa3c0f05166368255e3feac24fc5ed1b2c1c3096c4704daac480b258d3841c47193d205b418067c41d3f18909e4b29ad3de14a7a2d57bf7ef3f0cf6474c58c92bc3fcb5ffd0218c8c4d627c720206a5ae5dab2db4d608895a72862199033fc4a62defd1e5261f19c0543189a5b36770eecc4589845b5beb52aad41bbc2ba1c840d222d5ad184fc132e175fa7b9c223d3999f30b4b280e25303192413ae176eff95a710d4e865763faed461cb578878c52939bf0dc5e138bd0d5e5c69d1d73577f3dc74ef72ad673b9be1d6f424c066a4a83cee302d4b646ce9b179fb855467f670c000bc488d361261f334ba55b5326279cc6f368b5ddd5d460ece0e2a9b43021416d51f903accc2f6075794d804c8d265385c7114be5e9d39a7e0f60b775601fb81429fdc3d13fe813ec8cdddfe33290e0bc3d12045f6c603020612754e0edb47ee52feeec9c8d8465bf02010d23628cfd8abd1e1183364ce5a74cca659e6554603fc45770dfca70518976a02a6c8751882ad21388389fd0f2523f9b50146e6c4bcda9cf25d876f41c81ed0474ef1c9d13dce88b0599473a5da0da34af9583e907dc2ce45155b7d3903160a1c0713e2e822830e2221a22b25880a4e24a25a4f39d72c851182d8c8cd071d59671fec573941de450ed2e6263731195ad26d66b75fa609627e7694506166fcdd1b549f51268f518f2abb058dec485a5380a2377a2d76861ab5243b5ad1d26b31659543f170ac3181e19c3d6da0686f71d8643e7e5b8b878de45887b587623e0cc332d8d11f43101b6ee733846b02fa29d785703e1581391a1bde4a47abc14c6bd914e8bbe9fa18c20297c882c7b9e74959899eb8f57a66bb612e66315b30429c96a911dca92120cffed5126409f17b713540a98d270dd7383db884acd85413fe18d573fd3753d86ed04b888dd4b00361f775c850129f4ce4b406f9e46a09fde1bdb1511776aa6ed546307ddfa280382d775e7aff067e872c0700937941b646c37fa63a096c04e5a05d2840bb1c6f66314c284a38c35e885468afd1b8a5a14d314b4a220025d549abf50e2b4e9b362d29093d120a7c5bc4f6f51adaac848e9cf8ec55b8449798e581c543477cd844e8dd92f585b48776a48a515c6b373b872fa126eaeac2143918ea713545fe0ccc557b051ab20938951d465aa70e601ee497a5e633250ab8561aaadd9b05657b7b03259c144312fd9058c0e5d607246f91c56a94c30639b4851c670f1852f63f6e001c44627a8346055e21ee22e1bb4c670b9f7ccd18b4dfe484c791bbf71e872592bee4aa9e5c485f39f373f6d6e185afc77cd84a43c91945e4f46a73c35e9f2e85744647bd2703bf3fa453abfae94663c1ce5a9005381b5db2d0169f1d563e7ac25dcd5aecf609059bb6bea1e80cd896c0920e0eff3fa788697d0476b9e5b360123ecb6bb537ebc19f7857c4371d4ae3fdfd6f01bb085b75d8d478b4a848dcc8e60ca35bdb4e344af4ebfbc587fa6e011876c136375e0b3110d9e00c055247235e143f4e41e1b72f08019f2c07990602d97ed321cb7eb30523111bf14e9344e8bb9a48e537a8b2d64e93d877a64b80dde8ae7bab62be841590ca2d36fb6d8404b58df58c7dcfd8fa3b6a0f0ec17bf46b5fca208736c5556b1bcba8ee5f21612e9a48c2299b52fae34db1277f5d9212c6f6ea1ccccc25423375b3dbc72fe2aee3d7e1792e428badda6008ea4734ed1fefad22ac6920a43b921944b9b940d8c48ea6f31128ff10f4ec875bb1300cb8c12857af754a9602bd07699929811d996b5a78e0653416b20185d432bff7a3544b7ad7516d8f82dbd9cd3a26ca6d63545665df574e32196a433b674a9a25cea3d9ed044b421770d442ada0b88d0c2a9edcb84916941b860b8c52e806587c81077eb4cbe498d1f1103c740645fff24c06fe22963dbf7b6cfde833a3d8cf167c3e2a8a0b3003d0ef38945dc8eef4ea2209aa242cf6ba3cc2dde4ab2ea630952beb3f628dc03b622db071af5ff670aac577ff9bd0fa6addcdc805dafb8db90a666f86d1650e8e52965cdd1cfe24816b3181e2b2256c86b008f6509cebdd168636d6b198bcb2bf4b053b43e66e0d37ff3a738fbd225f412395c5dba46f1ae4706bb291b840995f4e9c978c188c9434c2e1f7891878cbbdd29a3237bfc0616d73691b8720d87f6cd52ed5c43c352726c694ac9b74a758141375b1532be2af26a5300373cf7665e40031931487d1d745666f41a42efcd014e67705d38f102f993944c72e0aed2da3d4b70fcc2e66bd5d011724f47f8102997d7a229ec047984c99d7d614d4e23931f428e1c523c99477124836a651d311e7136dbfe448d1bec7c6e314affbb7da0b3dda18061a4627f33ce71894e5c2210dff18710007b510786f09fe99118a74ee115da3d63166fb36b7076700c7b19c7d9ee82c5605c417482106ed82d2d2e632b5396d190700240f94b41e1dade9f18488965f8c29d46b8ebef44f502fa4b056fc4d35f125896a757d0f39b9561e4a18778932d3e91ac0a1093dce4e2d195c30d4d0efdf4f78dd53aac1a196d7d1c958c899b14d5793437353586a9b161720249d91d28528a5ecc4f6374760d8b741dbef0e58fe13819ec0b9da6a4f5f54a1931bb8e2efd9b3fd7a4f2292d0a4526b8879fa3c898e1461ed7eaf4d5a088796dad44c615478ad2fda5b575c1e28f1758cd378dd2da92106d7259516db4b07aed2cda173e43cfed1492d2c54fa3d3b55d1e3fc3654ad6990f632e7814c7f466bcdc1467b8423c8798888d5a329e63fdc4169d3fcba5594c92d2aba1981845c12a0922901d4517ba419848e73071e020197e819c6a967e9e11e9f04e9b9ca9d341bb45af34f4d8d4e6eb6bbb887ca545566d0ca67f1b5cd60e10fd88f4b2a3dae01e6e40828f69ec750ae0f2e8b908287e509569ecad4111690dde2e14a08a34cfb6f72fc2f3de3e52104f59d88df0b6df16dc4ecfed114d7274616250ee4cafafafcb4396a787d65f0976f72fa29987abb5e0b81c812126d7703de8ad1ef7970561f870f83c0df7f5bc9424bd096020dbb0807718b36f06a50c5374b3313afe0aac5e3269d343ba562aa15ea3789a8c914137851a9c41506323c3989b9dc4f84811b5f6962c1159f4b90f3c710a43548733fcf8702183e5f9189ebcf708666fdec09f7c731d398aa64ca069532940a11c713ac478218d94a9a1b2162f08b59b2855210ea34b1174bd5441369397d2858db4d689490661d3eb9c4c022fbf7201e3c51edab52a196e019922dd87545c36f252a69eb92b5bbf9f4a93e389bb77d7e0d5e9065da78abe1632b551c8183d992850ed212547c65ca6cfa3e0982cc0291c16ce87b9fc516427a7653b71637585ae5145caa256b32ee8c04ead0e9b1c403c6ba34ad736a1e8ded0c5b762b64c4db83fd0b1cc5df52ab7e173c234e66a7b76eeafe42bef79764230f73df4000c3f290ca44176ea010e5e0ebaddca40c11ec320f8a3e3d8b7f0b4db4779919d7bb7a3cf7fb2e1f3b7d9e80f1e3a28cab8fc706a69b2402c246ca41e15b597d6f72304fb4b8f5b376183d4903307367c66f4f5948a073948af7168f697242e1baed6188cb9a343e52e17e96bc17c070bcb4d2cadac22935ac0c52b5770e2eebb30375114759ea307663072643fae7eed1949f36bcd16268a197ce7e30fe39b9fade0696b051b6d1b43649cc3c5098c0c51f415e8b023d74ed94dcc4e648514f4d58b37c8113444c9b8d169e1cafc3c0ecdcde1d8fe59bcf87a4d9c6b214b65096506cb4b250c8fce213fcbfc86092a381a54a238a25c64c693026be6c84e3627905e066909cd77d7123d0308bf21ab0a35a52ce0665ebdd616a214a63acfa787e47c9285494c1ffe7e706b8fb30a24a9fc21e3af9093e4db2865840befae5169d4a26c26a537796444ca6545cc71b92a24db74de5886ed7396c327ba092d0904c6ef2dba2092c13bb774008e0baa105cb51395c40a8f1bfa9bfd2ab26bf0e668020e2e06d48edb7e83a4b9421acc211c80feb747072e1259ae2cb79715e89dfbedf0cdfe742f20200d98886cb79114753c6a4fd90f1bbe669c1dbc33c0fff1710a2f80cb08e42d1a194a5380493331241b26c7c89a0754ffc6e214e5dd5ab3deeea1b4b58ac5952d3c76ef1d98991c433ae908496763731dad7a13751615c902d9b1348e1edf8fb7af36f1e54b37b06f6414e314edc786a728cdcfc3eed6d16e34a4766607b94fa5a8e6efe1e2d5ab68d85a63905771ab9592f403623c4e6b33171f392b8ad0b59645e5c726ee7dcb0c9c7a47675e3d0db4618758e5e6a1a0fbe2aef8a9e6e8177c06971f8a978594f40258e29bf109f10cbdb6630bd9c73a77fc5b39192d56c94930f1c87086ee53af21abca4aca0d0d9ee31e5a9b1c5fddb0850fb1c75a8ab2989511793029b9b807231b91d61eef6db0120cb7316c7b99aee34411bb3ecc39b4658aed7179577560a541c4faf937a25d69a89d7703de0cbc404e98093462d8d18e7ae4e750c18e78082aba5357c163d2f50436d809303556786ce8e1cdfb53bcedbb08b68b1c74b6d186df8a2e2a901ed3ffd252d5ad1013911ad8cbf070e2def9f1889009639c100a4e3b227762e11d17efc6eb87420c26591c1102d1f3d75690290c239bcf92a152fc6d76e9ab813afdceb183457429588edf73077ef1c9c7f1f314fd2b54e33fff95177175e175748d392a0b8ac80e8d209b2ba25ca5dc3fddc43eaa62b6280a5f5d5c449ca236937cae6f556427c06107ebd0f5775ad2a18fa93caedf58c4b13bc7b4482a34059a8cf1f8da8a4ab12532dea2c823a35c4b0c9db10d8e8bfbe7f3e4dd0233c58b3b5af895df2b9bd230e7a4a292825e97a673cfc5d3d82487c682a06c643d512176b42c1a4ba8f51c29b332b2192966af03abeab8ec44cc59d8dddb33ddd7d0b51db5bd340895847c1e4e487ededd72b9f5144085ff9fef6194ff4335c0f007fddb719c370522300c070e968306447b0434ca61f69fed0d38e5c371fbf7fbc363bcfe797f34bd0f505b83a0bfe1864fbf3ad136e7818000951f7c4ed1999aaceb0a51c662e6b6698637a99012c1819fb574da6d892a4c5cc1db6f3caa830b55355dbd01ef773cf561de2ae411ddf266135ffcda8b3879e7141e9a3b8444ba28041ded461373c345c46c031dfa9cd4d00426ee7f1428ad21678fc07cf60cae6e6ca1d7b630bdef282c330923c59464794c50a27d3299836dbe821b376f883c778bcee5d2cd05c95618869430ba64a8dcf3a00ca1dd91fe8b15b3906499b35c42ea6cd6082cd335a9541bb05403894c8a8ed914d69e4ed3103661a138b7341c7aabbc89c68696fae075dd74b287743c47c6dc839de6fd88140a992c5a549654ba15099056c796c8cfd06b9659e3df66347dcf85800b9da8e5a219dde732262c437bcb9a7706db05814bb972669e3d2a27e010d432187b250575fa8c5b393bd6fedb0edde99f55fe8ffdcf76eb6fa8b058c2f61ec1a01220f8abda367ff57a025e9adebf603250f68b8dcb34fa7000c6b6db19f0030634e5836aff6d4d4bf7fd036108bd7fc02580de0150910980c70ccc0d3e367671023c12b36c4132ea2d709d0118211c832e27dd21a5eccc438050ba1452628c992cbd07a5e8df3c7b0dfb1f28636276828c338d74a28da3774c699d04aafd7b9d3458a02651dfc2e4681af79d3880decb2d948d0cda953a1dd30645eb9674cf6bf5367254673f7af204526437e76f5c95234a933359377ab86f6a18ef3e9ec60b97d6847b7fb3544331938799eda0de8909e66069790d15ca22362b4d2a05ba48c5199413478ed58c1231e1386ccbf8cfe586e012381543d14c90f927c96190a3e81af49ab820fa92e4d4b2d924cc241dc3f2160c5b8963eab22c3d5dcb0e655f067321829c92c1adce368c6e5b9a823d4611f66ca4d9e1b2524fa324ac4950893de1e722597544b24b856a733727f4b823bd2d94017da4d8ae0587f7fe8e062d848f6f570923e5f85ce4b7c505a8bd2212a3842161bdc070dfc3505165a1f0dc3faceebcade6f6a4c76c27420b16c08fa394dec1f8d419b87a1c75584189d2ff73af04e051a01e011a03c14f61dd07cdf1a704b422ca4286478a61f8f79b3704edb841a96f0cd9644ccfc459368ca2692e9ba1c80b64285ad759073097413661ca7ec2f4f410f61f98a4878db20e870ca0751967fff0afb17271012fcc97b046469f1c8a53b41e260754c4e8c4148c242fca646134d6c9516d516962e3eea3334213f6fa8d1be8a5da48f79278f8be2378e2db677161fee358a9db585bafe0cacd7524c9e9bc7669190b376bb28edba3daa1d5a1d49c419ba69ebc986a4ba2728ce7f171ddfce4929771125c02e4f3713a070b2e2e8a6a792af51219ca1c6c720019d42a5be4a4b48642af63bb91bf2d5310792f65fbc123266c45865b4e716f88e1c1b6340c07696feef49f653b11c05ae409f779ce022e587f5ddfdd2474f6ea00941906ad6c6f1ea85d81bfca6f40dece12406137fcc220e3ef07db187e19200b428e116d0cee5066f89f20e2217a432ea8cd9c1d07241eefe0f6da3eba1ce4f518fae5c48311213b006b2023913722f4d98942fa0985c2103df02ce6d994dad8f659895cb4205941abd59315d70619432ac9fb044a843039ab65fe7ea6f04ab0a1c429768e16303a3e8a5c911efe1855cd94a6f36ab1a2e8385e6ae0c54f3f87a7371a58ca52aa4f46e998d7a8564e63a210c77016181f1ec1d9859a1cc30cb31851bd3d59c8a045ef7979730173f13c86f359ac2087b7bffd612c7dec25ac95d2f8d07fff0ae6a60ab2a29cc89a8851aadea06ca26776f518d03045c0d3d4f32d727aecd44cc1f26b98b48bc920e7d56b524d4f693faf2ab71445f1661cc5e161b9fe155e617634d7202f2a7129d469b460531664706332f4a471b3d5fcff987bd32039d2f34cecc9ac23ebbefa3e81063038e700e626e7e00c87a72889416ab5d64a0a79570ecbbbdaf0ae1d6b87372cdb61afacd5861c21db61af2c31bc619322c563299212c92177488e349c83736230c0e046a301f4dd5dd575df55997edff7cbacca3abaa721ff90286130d35d955599dff7bde7f33e4fc70008379c92f2e69a51bbb5af83d201b53939bfa575352fdc7b52eb0607dda138ab0b17dc0f0e00662f1045d376c11dec9aa3fc6d3302693d2ca9836d346b283f606fc1ceec58546772cf91dd56a17fbb33c937081f86928b76545b6c99694def2527ddadfadbad4968034846e7f1b6adf6ae0224ee3f4e04e0e007d84b718ad08b11b08444a4ea53298e939baaf7aa9a87d7cf2c416db9469542e1b600765ac8518eafa78bf0aef810f21a146617802307f0486a01e1504c7808befdddbf463c1ca4439d10a9b185d307f1e1c873587afe227eb25214aefdcd3210a5b039aa97707a2e8e886f53f006ebdb2da4b316a2117aff68808c9485e9580a0f1d5c40c430f0fee20e7ee9f14770ede636bef8a325e4c9ab7efae947902263c1bebb219888860df535a516e153e409620422f49d47933ee12d08f02834b73cb940c7105e53a491e9a00411f09bd860e00fe5ffb99d755b3d59970a3f171799eedce29f89247c778e46a58d4e1ae6b15988844545ba0d66b3b1aff3e28c8c2b7a93de829f0bdd621b06ad4b6bde99f5b0f66c03f6c6ae9ade2347ad69dac0b1eeaf8f77d981ec8dfb77a221b8778cb0173b90fb9e3bf3fa0323bb10c8af9b5da6bf55eac07b65714ccdf53ecdf53dcc5e886f27ace8a501eb5107ee0be79d9caf2dbc840d97b6809bfcc2429d67d2b948d55118521566dd35c0c45f87e7fbb96fadf00590ca3673f5c5229cafaad1634d6622147700ec515dcdf421ea0fc2435e3ec8f458c9282ca38e528b0cc6c62612d309a4c6e3a82dd37723efeca370b844e1783c4211851542a669e252968e688b09492c91032f98ac5548c620679221a0031b250370661453231130a35eb958c4ccf401b47d3bb8beb28e0f95367070e61032d9b64433726f3c1dc887915b0950d10fd3911b744f0d36d21435355adc4db0a4d5e769fb84928c83b216d74eb86d485108439f99c084d7b15e6f49e8cf0427dc6af4300b1313a468b6f2b2e5e027d4eb984e8db5151d9d02e91e35f7470bde2d1cbb4e5d4fe4daaddd7743ffee0c846d20f6330ba0a6e81c669181b4b62f12d08686de7f8ba4a09d668736d0fbec3ddc83209baeb1b35ce1bd9dd2386713964b66ccec7848b7c4f8b0a860989047e77977e0be6a90c86d41dc867b5069c86598ecbc4b55ff5b361cb81bf9396a4f827fb7788a4d97b16ffe31230303e180a4008c530f1a0c9c51797ed0c3c33f0d2462498ca56248043404bca6806b649a5068d1b9e5460787b9008293989d9f42ebe622f4761dd9620b870f8e6224c418852a8edc773fb4ad75acdf6ee3ea4e0d0d2f87cb6184f4b654c95b561857d71577824f0fd0f7a0cfe3c22579cc161d5299026c67e89a310a340ed117a7f4229bc68d77fe02c77c79ecd0417df0f8217cf8f4115cbbb389cb37d6b093adc1f206a5daefd1eb8a149f8d785b47b65024af4f298d8f8c81a1811e81f0fa71186fe88abda7699231e32a06a531c51c797aad8936fd6990a5ac735455d4283d30e9bda6680328ed71af4420a60d27f63200a965c8d425b8fd67f99420a9eece21f7f69aa6d545ac5a76b1de41066a70d7002cb886817b22c77dcd0268f63081853d0835f63c84d6df918980bb9f571c60091a72b76e4656b7b806f689eb1e365fe0ee380cd463fbd4807a60bd4ebbd1febd6aefb55dd7d23b110aff9cc3ff5a5d9150483dc0464cb21067221410a2501e0588840dc1da7b9a1551c00d868276df1ca89217f3d061f0e86dc11928d0101dd2565d148282c1102a74ed5ab38aa59b77e8a09ec481911474321a2374dde5abdbf8ab0b4b48176a14255882efe70f16e3449fc1138b32becc7d7c565a16d49e862679f142d54b11440a278f1f452218a674c44428358e7ff42fff198ebff606feeae58b989b1ba768c587a9d1382a551eeac908157a9d877798a4d3e315909697231cfa9e15b38a0a6d7abfd72b14e47e8a0c024cace2d3c4c80529a261519266bd4dd7ab0bd76293ae6bd67594d2797828ed8987bd52d86b8b91f1769c87c8a9cb7a98529760e72a042dac50045bca7d1fd575a7a8e7fc93bb3496660db6e25dcecfcd09d05f3cdcb306a075be54af1cd1dd54e1ff6ea400d6be8680861fc4de9e7d2fd1421779d52f13deaff0bb9b1640ffbcfeb0c3ddcf68e4163dedad0da053ab680a18a565d391a9f7793cdd82ae888798aa6aedc62d702eeb0dfb45fa9b0b53a6307d50044087c0abf950a15cbfedf7ab51618f016f8365c64c21b310a0181f1eab89005d2bbbb9830bef5dc3c6f606e2091dc57c5b148182f110199516569673b8bc5e4289d25fbfc99eb62680198fdef566f23d358f14e5e4ceda3636823c66832706e9fb70166fb46af8ded75ec4c6a1933873e623b05ebe836bd733945bfbc8bb67e9e05b981c1f11ed8148d0c74f4868cbf99033d34fbd5641b162d2fd3585f884437271e04cefceb807367a4d361c5e7946964ecfb6496bd730a0557278e8e808e6a727b89a80177ef40645063e356ba129d621e54c35192ceaec339ba7af6db6efc231f5c27a95184c5719aa83f673a8fcfb742b7a6608f6040271a2a03939fcdff4086b7f279801f777e8b59ed65b6f11b12bafd4dbc7efb5d6fdd88261d7d9ad9fbf678460177586e1027a79246d8208d3b2e710ccceef155169bb63a8ba1383ed3e1e033b22b07439d4f21ebffa3deb07f8bd7e699131c3afc763dab5064b0ea8e4d9064f9cb5502b17f1dd6f7e0b6bd76e09cbd083c7e7b1b395a1c395403c10a730be8ccb4b5b48d321f27b75bab6175ecaf1eb2d7518acb6d5c122b45b4d55911763e911e29110a527b54a8d8ccb0efc237e6caddcc28debb770fe4e19b5f5347676aab8b9b82a7b37d720ef4eaff57b385faf2034378a58409197f8e96fbf3f04331ac0444bd1aaf379ac9301e0f794c4d373aaa30be518bf9edb859cf5d5b8905a29e3e0941f8f9c1e41a99845265b52a3c4e4d95b6458c4966976e1583a0f0a2fe1ec25cb345d45f9fdc1bc3b31e99048c1cd6c3d6039ac619cc07be1004c37bb8876d78640fb5b8c00ac1e1514adc39d384cdba82b04a9ed8a201c3c7836c592003b3d7db80073a867ef8f02dcc0a0ddda90fd48bfddea0a9dc68d7d9895fe7c13914858e4bf1809582a953b70653ee4dc7f9668400c834d9faf31bf3d28eff64924d160b1d0264fb0019419606c348583f33358bd7e49b8ecfd14e6670b2584e3718c8c4ea05aac526e9e4684f2e8b1581c57cbe42d9b2524430626ee494237995abb21a09a34c384e9b405bd2d154d303d76cb125a72d8c85387dcc41d8571cdc2af2b96e23b1b596c6d95d12083337eec303e33751c2ffce4259c5d5c41395847642c84565d0160bce100453455a437e977946e3459865c8c25d444a0d6ee10c2cabcbfc06875a93d30a12703863cfe8814f1dab51d31b639fadc7a334287bf851b4b55dcb8b941d1815f3812052ba6ab790edde6849421213626cc07d9728df5ee33baee996d71477f031bd695faba94823513fbc7015870ebe859f82050ef5028f03e23806158f9ffbffd7f1733ba2a80f55083ed6e9a86b70687489f384537ddd6501c72e8f79362b8bb007bb50477bf4fd879a0f2c24c085aaba9fc7e727212dbe425f3f99d4e4dc06122d62cbd03f2d26d0bc9f4572c002afc05b6c41817b998e88711749bd9228cd0368c80850033eef828f79e4a09196635bf8e68340cab1ec458621486af86f7231164c9f36f2edfc1634fde8b4aa14ab9be86cd951c9637d21426db44aa3c77cf9eb55d17b01103fe6bad066d4e53107b3e9f021c35a5ad49a909e5f041dacd1b9b15e42a153a9025cc2563d8a66b16d225dc7bea185eb97c090bf36bb86f7e828c4540c69883012eee29d133cba722239ef9af5729f2697ba403c033020a36abea3a061b783ac86c2956e20616f353527c2b176a64c80c5cbab4813b572f9101236316f05334a3a3d252b0393589eb9129479e2ce48e01039a9c9a8e0cf248fdc8b7cf93d2dd875a5faadd0f0082eb672e6effbb8002bb2fae7d70555febcf55f661d5fabdaaaeeb7777d077f94e6ab24d85c08abe1bae09656ba040e26e620e4ede69aece40f7f56a865f13abee13d61fb387eda7c3d5a7e9bda82d6d48cfc435d6e9ae37ecf5cc35d790476702d4d62a603212d6ed634d3ecefdb93dc5434a9c53b3f79708a1ad3a181cc66bb6102c0fd43459c69a079c985d97366784e17d6d1f85ef168e9cb90f3e8327f02a88843dd00361b18166a38230aa02d4b1281dc89537d120abf1e4d38fe0e27b976d8364c0f496108d2570e7fc06b6f2053224714a01022ca92ab2600d9e9c635195520b8d808930af1d57d0e9503290868be59cbbb7e83b68943a6c66eaa8586586e8091dd98db5454c4ca4607ac838d1099f1f8f63622c2a2d37062c796c020e4e6da40a0fb5471806cc3d7d6151e27d68293e2625d3d8b6013c6d8127cb416e7a29da29a35dc9221e6c62627c04d3e33a199f75ac6d37e9aaa342852e906e31212df56c4daea5b4c5e08922931d2158ae63b8f731eb25901533a3f5f6e035ad1fc62ee38f1d58bcb52f03d0d76ef89bd601ba55cbbdffe7c6d0efcd87f6c13f5307a34d5e2f27cc2d8eb6db5e98fac19ff752803b07bba7a8623f15bfdf502019db080c107738841f6e8fdd63ed6de56258031ba013e2f162e8bd46a87f38c84979f8703ff5d4532253b6bcbc421140064b4b37e57bf2ebf8f78542411508db5a9758c4211ee1b4c6fe2c366ee5420ee3e329187a0b99f4754ccd1c446c640edbb7cfd3df112916d7eb964080a3141e6ba09c7c6b4786647c9e06ee39318fe4480ac54a1e614a053ca50aaedd5e41a1ae092a90e9bebdcc994f87b2d2e2e8a58491781869cadd391d31a0085544f6cfd264fc9a8dcb743284d9b885a295449e597be9ffa7264771b99cc3d98b9731391ec23df3a34851eec21cfcaaa66529fe7f86f63216c0f20bacb70c1b27e061665f4d71151a1ea94d18321bcf94e30124235e6c58111472154a3bb6309eac6032a16134e911f9700603b1a1f5b4140680f37dd3eaea0cc02514ab78d734bb8ba4ef37b4ede5f9efe193ecea0428d6e0e1adbffd43816dd4923ba7de2be41fb0420e84781f07bfaba0dbdeb568763711403416c6a73efd49b1b20e2f9ab3d13fc8b376f32c37fa711876df12cfb093c9e1e6cd25fb906bc30782d0d51bd086d4533a535c7dd3813d3580befa4e2ffebffb1db97df6ca2baf6166668a0cc02a1dc62d39344e84c50660737313c78e1eb525cc9a1dc3a2d46a7ce40d2df1b43ef2ce7e2fdf781da9d108821e0ab9b796297f6f21cc9459b51a824103c552893cb05780361c4a9b3e28224dcd2fd462253a94b16808135363b8f0dadb640056a1072388058230b49ae4df9c86b0ee6084aef79bbff18bf8c2577f806cbe44875519742eabb3c806d725b4321996311d9ffdc81c5e7ea5865a208f5844c77221895052479122820766e238309190a8a1d9f2da318e3a40556e85569a224ac2c6d5eff3d85a005e19f2090674ba2f1ffd4dcf83d786ee952501e36400421b1a4a856dc48c3219843a0512cc4044cf3668d9945baa7bc13c21ce009d88bbdafbaf83f0b457b633b8b6dfae767f635e73015f349bc1cb89785dc578f55ffa4084b1eb38b0668b240c54169d438e5e59226da00eb1bf9b7246521df18cdd2aeac30eed30565fbed6810307f1953ffdd30fc254fccd4146f642f0a6e5e2daeffeabdfc3d7bffe4d241229c9b587918f0ed317ece9220c0125b9c949bbe98d395003701b54ee4fffe4272fd2e1bf4d07d850f2de3e5f8fd760a3e02816b59acdceef78e3b6b9ddc5dc75229ad1926bb4f520a304e06b7257b08e2079fb290aadc9496227cdc6e4000c4a3796ef6c63b394c1fd673e4907268e3bb75fa374210d0a1e101c19c1ca561ad72eddc07ab648c6c68fa0785e321a3a4494b4566fe0c8f4b878d510edcc3c83684cf2c494c3fb59e8c36c483fde1b2f612dd7c2d2660ec7ef9bc248ccc09d953a2eaee451ab14d1acd671747614d148485a7a3acb90f1f873b32d8c4de57a13d53a7d6e4db5e90cbfd253e0ea3dd7087c8c6de2d753ce6e3210811d1367072d0fea3c64552bc2176eb165a174036851baa1f3ba30349cee8b6b229655136252d92fb6b45b07b7e1de97fafe776867bd3bed3cab93fa7588705d87be830ad4bae3e5fb0302697645d9c536a2f5b97eb7c7ea94083597e4d23e88449de114b7751c0673ddcb28b83dae52db11b95ba519a72a64f6773487042b5a173fdd8fc472fd6d893cb7d913ad084516fd832bed1f7deea3f8f33fff366daeba1057baf9009c83d94fd6d0359cdaae4551d332878a93ba23831e4a0f13c252cb34653ff7997f2cedc33ff9932fc8749a1209d530363686b5b535a90bf0c45bd798ebd2726b34944c18df1b57e6194c134e509e1e645d7bfe3e6dd49a3934aa06fc4196fe8ad27baaf2bc67e394b71b3114362ecb6cbfaf9241aeb403dd08239bdbc18df53b989d9ec57bdb8b4c224046c227bdf8464d13310d3e5cc716a630968cc9841e6ca82ecfec0be90ad39d352a641c2ca4f316b61aa3c8f853387fab89adc51d5cb97c0de9b2922de3fc5fe383cf45420ec545bacc12f10f7e160c700a180a12ac694d296a0a7928bf86f1111e4d1d7eae02344dd5156979853884e9d27938882700bd64a9ea56938ca3a21593ea41bb4edfdb23b887a6d91d4dd76c5d44cb561f56e4bb5ea97bec1bd6e62671716dd97e662e57b2d8e5b8d0f79d02b8da2f1832e66ad99567ab2b4da4b9c37ddb4d7e5010e084e68e98a63bacddad50d80fa4711366728b484271bbe0d169f80deba1770a7076355c73c03cc3a1bba6cb003869026f121e0ce1115acba699e6fccea1ff06f49e5cad5fc9a533e1e732a6eea2617fbbd0612c1a2419e94a7471dac695f44ab9221cfa7e8349366312eab7ed83c4eaba6bcb2b3879f2944d410e1bfda7a6e4d88b7928ff65304b9d22f44ab14eb93685fdde1062bce1cb59e436b2f04d4fa2cebd733ac835f296ed5c06be780281240b6734c8c0f8104d4e500ac0d2df597cfaa38fa174751d91ab4b48c47599b2ab56eae020a444e7361a8de1ded93036d32d14e81e7cba9f0c8a4ede9f22083fd3ad51cad26e205f3151a4d42193d9423b53a18318457a3b079f7f0499cd5518b1108ece27e0296f43a3ef6e8512a859aa8e205d005d519ab5a1d238963662b9b27aa325351b4e832c811e2bd014abfe880212af2ffb455e239d25d14b64fc8252a0e431673ec87e322c0b14c1246351dc5c6b235b6ad8eba26609784f04837e4a414c0131b19a526bdf292f3a4ead5792cb553fb2b4c1a8c166a5d68614e7774f01e0460eb90088c3f4c0adeecb346bd0127d6014601f30811ef71901a7b7ee5850677e1dba660b65ea0335818ec8820b6d378c19970734da16fa7800f4a1adc15e23e0aeb0a243c7cdad2047304419d1412eff6135083705b86999bbea16381ebf1fa3d07fff7cc8cfbdfb9e8ce71e5c384c87ac26d370ac16cc683e9e067cffd2fb58387c44aa12a6ad39cf852a3f85fcbad0857b29fcf7089acd6cd651ca37b1985ea150b821b8f6830716844a3b97dd114313a11c3f4f27359618c3c4f45114f35bc86fdf809ead51aa1012f5de46c3c2cadaba140e4301f2ec2dc5b1dfe4c8cdac20c93a80f4a7555c97d9832a79fa805743985e1ba67cdc0806e8fb43a612b76e6f61f5c616e60f25b19e5e43bd55c5c2dc14163737908869189d4e2031964075a54006ca108e4066490af874c99399f1c8ac31da91f640a5ace481f8f0d3bd333331e3f9794db94da80b5db829c54ed3f4a9a8dde5185a326ca4507d7e0374ff315ad49aec2fc5d3afd9fc900a32edf1280a3936b8adbb80ca75e4e91cce6e7b1c58734dff58ae8cdf3d5fe0628ddacf30106cbcb26eb742ba69870eadd377d65ca1ec40f57f1f8c407cd899a5558a4f86a11e2ab7a57455f96e0ab1023a0537418369f6d45bbb2bbae91c2c9f2dc9ed182ad345c421f4515ab745e858abae828e0b52db532c71ba007a1fb34ef73e38cf668dfb66532db4d70e1d3bf44c7d797d4f61b0cfe00d527f0db660777fac96d0573bf45ecc53c734dab56a4378f0a4e545f9efcaea1a1289042e5dba24ecb78ed11006217a2f4b86f1e1678fa5a325cf757c3409b34a9eab5ac408fd7b94d2823685be6313298a10588ca38c99648a0e62038b972f527e5da47bcd633a1144b35e4530ca7cf91a760a45c59dc823b64ce94d6953bbd196d98423736388fa29e26853fedcaa49ef9fe101d130936a56e967ba54daf92b272349ba96173ff9e68fb1bc9346c2dfc2e79e4dc850cf48248a3bb70bd858299247f65304e441830ea9c1a8bf565740b5ad97303a46d7ae5591afc728b5094841d0eb51eac216ddbfc94020af5f44423438bc7c9a5decb3f5025b0af5c7a9961ee467162023db167e47d8442bba1dddf1fee62883db8e0a907037b81707b4869e28b12307a0391c012e79de0e50481bf4d07b1900a77d26001317acd4dd76b0866cdcaea5b23e901390375b26bd89e79f7f1e57af5cc1c6c6861c7ac76b2b924d55c0629ebbcec00b77570d43896e308c8242b652a924df99ffdd23aa363e312cb299d9c8787d1d265cdeeccc06cb04983ec350ffedf5d8221e5a67e6bf27927171002a63a4c98179e2890fd955f6b6cd00a34914c0debf1791d8f5f0c3444786917ff67318eed5fe747eee184545dfdd947b67256066b5ad566b62c8f84f9ad280a55bb73a6cc64d490f42e2f5d853fa3c3e84c2147e07c9a8d2f3e48a7c8cf2f1e9d9058423013276453a3074509b15b9ff4020225d0321493555153c9598a1435e47ddac62647252e4c04a25cac9c948a0c5de8fbc27ad2b938c707e7fe6c40226a7e770335d14eaada05719da0645209c6619e110b6766ac8e6ca08c40278e5fc456ce40a78e4e11388d277ab727a902de2de7ba760d5bca2e4d36e346402919f380b7bb628cce7825fabd84020a4510e1fa2eb93913042826c14ce009ea464656066441242178f908b8642864c263a86d98908e550eb2d55eda7739d4e17b0b3951687209d34190852e3c7bad456d440d0ddcea9b9f922fbf7e7408159d3faf03916346d1056ba3b29a8bb30e6ba989b30b3bf3861b9628c2e79c1deffe382d48b2fbe88b7df7e9b72c0288e1d3d86ef7fef7b72add1d1511c3f7e5c1edaccec2c5e7ae925b9e6131ffe30aeddb82e831b939353308b6d8c8f8de385175e40b95a419016de30d4c1678617e683f7f982f2371b0edeb08c6df719615ad4b07c0fcefb7861789046a9c874893455755def7863e7771c4a9f387e4c2c3c07155c44d3bc9e41233804eabb9bc7770b9a7435dead0170d26e938e8e18086f3c0e2eb8edc79b7a72621a131313768ac1b5933ade7ceb2de4f3f90ee3af578ca3af939255295d60ae0ab3e18519f008ec395c57fcfdba1542d9540ac4d5a68ead6c0bc5f22a9a56537801d9fba5f2236210aaa51aaedc3e8bd36716240436e859fb3595777b3432c014d607fc3cb99780e68ba2298c1c7420adba62b5e54343eb992f9651aa331ac8872057feb3ab78f8fe05fcfd2716f0fa3b37b099d385936f6a8ca2496491de6122cfa0141c79c28f61bc4cc05165082f7d3fcd3f868bd74af0eb7184c30cffad490151e6f705fd5892ea7e201c17efde686814a9381d9cde7a90cc57d09bcae51dacafaf53c440114c708e5e1be35e57a7d8cd074eb71599da16dc01fbfe86815ca3ea3ddc92fd24be4eaa885e65296b5f8c407db1a6e63ee03d26a2d702b9cb03cef8e907dd9ae631855ffde0fc02ee7de0013cf6f813b87d7b1597af9dc39163f3387afc30369639af8bcbc679e4918765035ebe7c9e8cc37d7280f9c13ef3ec33b874f9125697971165592ebf26e0173f8f71b277a23ccee0834f1b89451e7891390c4c4667697d283cf55671e2fe5141c8699a4f6e9d8d871c02dac45c31778a8e962db37de5c60dda28ba20c76c764e6182694b01d2b45b3eaae2abb9f4e93bfcee562fead09111732fa6b3d0dac0d011309ccf40eb81703b2b68da432a1e5b80349bcdd9bc816db94f65f09511d02d9b278f8933b9d21f35049c13202fc72f8d467c72cfcea6664fce8c5f2132a8023936553da1c12ab8b40ebe38b3f5d6b1b3be4cd7d250596aa2ed0d0a9ab0d1e43a808530450a1bebdbf8cb6c9e3c7c51ea0aeda047f26543f2724b426726ea68d7da78f6e907f09f8c3d8e803746c6c18358328f372edc46cdaae1d8ec1cd90ffafc6c9a220c534174292de08e034785863729cfc9ef676ec3a0a8f5d66b654949e59072d4498faf52ad42631293aaf410a470572a2bb4a3d93950a6a4175e264531295520c39a8c91c1d20d3248647cfd922ca87496d5892894d04dde53f4b78f9586599ecc7337136c7667aedb06ec96fb5cb3ff126db83124c3d1bcbb088368ae5e2306bdfd1ef34bdde8639f954de19b6b219e8a225fc9e1e5b75e4228114289bc482439827397dec7850b1761bdfa2a26c62760d1413e77fe3da1a4dacee760fa9461fae9dbafa262565062eaa7262d087b399d2bd4109aa6001d7069056a4a1acaf07be00ff9b0915da18d10a1d07614379697c838c4e4b170f5d701d0c8812f16958714efaf883418f0d232c803321924ebc3ef35d5677b0d5dd75c08cbee031d6c0b5a7d704ecdb5c4fb191bed02463a79ab4d21e6c096bdb62848cfe7d9883995ea6892abfbb91d6804309e0a6284426f06ebf83cba8b33d09630372d97d3d03a5889b690777b1134f2b892cec0d4e8b9d62c14c800b52802c8e46a58989fc3a79f7b547aef153ae02f9e5f26af6bc2ef61ac024fe545a58597af713ad0c2e923733879601a05cecd2b653c7bec00da94e3fff56b6fa3502861667e0ac7ef49ca376178b3d4dc351b16cd12e9fe005394a2693665fc5997822737f559f55709847ac97080be4ba5ce51a1856038a0d2046e2a0a3ad12b51a0c6557e23a8e4e2eb5e8aaa1a6a7292a28fb665f6a4ae5287516184fcac870be02ea7ed067038ee51611784df8640f539f10fc001e81daf63f55082ed1a29b8144b2cd717fcc02e003dc8a43f8ce28d3bb8f0d2cfc8c26b12ae3f357204f99f9e172db5539e88149002f4e06efde845041b6d3c129fa485a7c55fc9c8e75c5dfc3162f41d1e4e8c89c4344b54f92d3ab016857edcdba6df05383fafd6d1dca9527e1ba6c3dc409c6b06de021ac5755990065b0cde08b47025de045e6fc70b3b586aa925f0441a59fed087eb74f8955086259ceffd9ed9ea793e9d6941ab974f60b7694037274017afb0875af32e43476e7a7437e988bbd8c8b9b1c584195c3cb554319681410d8a8c6b150f6a86852ae5c656a30aaf2d6e295d1b4b4dbc690e16c3b2f1f64cb849ff0c4682e21947c753d083717a5e1bc2af5724cfba4d1156b690c3673ff11816c642e46d6b74e0bc7480e8f39aac160c2958526e85cdec0ee5fc657cfe130fe3d8f4284a595ab79017ad951b78fb853770b66240a328e4d8fd0fe0c034ad6b8b65be3db617b43a7813a977b0f7b5ef595ab796d609ba1c009cac051921d61a6899b457a27e843719f4db106c429952849191094cce8d4af4c28536ee0878fc8abc44f13f9a5d4c883dd6ecd53d9d185a68dbacfdd600d033a16b0d78656bc8d8902adc77c6ddf7c507d013dc6b3dc53e6de8d9b77a076d6d68e2be5200fabfa394f7ffeaa73e8b32cf777bd8737bc4c286db59acdcbc82a30f52a817f52240d6d7132663609015d659465a176cb7a2d072529526cc7a0956a9827aa94c213c4b4d330f9e2932cc355aa03ffdead7f0fa6b6f489b8c556d793370e18bc3f96834849d5c06870f1d167d7a46cdf1e6660fc8f974980c47b15410528c2b97afe3e0c3f761fefe93d2536e7975c5346b0de217dce82ff7cc407feebf2b2cd4421f23b1b5f790501f7ea3f76fadc7a877ba0db600086f6e96bc66efdda467d7e6c939f2c2f53285c37a93eed12fde939f071753992340c68a6d67a13b7c92f69f5ab60a83d62e1a99c4e65641a281d19481dcca36ca9402a4527e3c70740cd9cc0ea5043594283a60ae0e66dce109c37028881a19fd4ab92cdc03270f4da15adc41992bedba1fc5ed2c6eade470adeca7709cd6bd5aa04882de53aad19a9b9246a83dec91ea3b7b7d8eee1ca5648ef6980380eb26bc1778f6408686c0a13d03a08232e61b0e325b509ba549304ac6ead1fb3e8143074f622bbf8cb5d50de1fa13742bfd5e492ab46418885ba96dd3ece0427cdc55b0c557f8339c62fb7ea1c0fdea4ebd72615a0faa540cb42d036fd383efa706a075070c3ac6c51ac0fc77476587d166ed17dc40afa383e69b9b0699589ebd9207e30f58b8feea6b74d8f3881f9c4080d282709cf2bdc40844680ec15dae48b9637907ed5c097eca2535d6646779e6a662b9610cfbafff77ff02f8ead7f1fc8bdfc3e18959cccf1f84d16c60657919fe440a555ae8c27812230717702c7086acfb86148526c75294030795e8065deb8dfc2a361b391ce6be32cba853bea919fa400460f57873ab3327e126eaecb4737a7403769b7bb07a8642f61aadde63270dcc1b3844225df11353691a588e3602a43d269d03a85157de4fcc1cc4441a0cbbb504bdc7f2da3ec53e4c11183ccca3afb136172ac52a0ac5261de6bc107ed69b0666474288513ebebd53a7d4ac45d119190bf2ec6d5abb3679de62a185483881597afea546969e7513c546117566f7256391ced1ae09c491aae5f1f063f722d2cca09233e83027c9a1b0032043d05423d05e5aff300f14d11a32fad091759373a19bc2f32f3fa375a8372957a7fded0b8444dfa0ced39f140da54682f8a5bfff7328ac5fc5a54bd790292f0b864075800264ec526418c961b4036afa431080dd612015057a6c9c8a3decb59ff3a275c16b5d925ab3174e6e7525df341724501190d8a9e87e520074f4c4bad34cda2059c02022a8878a781f40208550449bc2794f5dd1296be499b7def80e56cebf4187f300362fbe84e9630fa0262a2b79b42306fc0679038e3e8d80e255b71fa4465ec2a285ad3112ae52874e5ec45be3b68e57ea02ccf412f185f0eb9ff91c923e131b6baba8ad2fcbccf86c3c223de6994800b5b534aea6b7288f4ba0c8d453561db7af86293f2c522e4b9e80bcdea1d119dc77fc5e25f0c0a6cbaf756605baf461ae0e6e0f36c23de0a3b90eb6ad24ac593688c45523c0a0c478475e0cee88ab578c74b7f6614faa619b1e61c5e108c5ab9073b27934a5a1e7d17c8209e03887eb037ebf0d03a7d71b01830c8322141569724a25988cc4d06d418e6018956c1e3b3bdbc8e4eb88870d34694db214a5cda47c023092ce43a12ed8c41019805c5ec7e60e85de41c57108caf117262c1c19278f4c9fd524c35e6f1670edce3a82a36348e4b6f1c947ef91c1a3edad1d44e3bacc03f8987b8f2c56a1584433dfa4b03d65b78229df670d0401f3a8222d7f67cb54bd7d8e1498b803f41a867807bc2121f234ad1a5ef9f10f10f594e9f3992159e9fc311a50a6863c29d44c7e46142d354af0188a429db90d596b904793636113e516cbb09171d1ca7f8349db415dee0e2cde1e07b4ecf4c2117ed5b47d2201fb70877d5181e69e88712b620c2096f659cb50801d7a38b51617de2894de5ac2f99ffd54aad3c56205f9a5f7e82135b0108bd1eb2bd2df46884238f20a350a03035e1fe5a855093d3d748d3cbd47202cf4dff9162d309349d428f7b7a1928d4645f4e86743647868114da345561e327edaf0b529376da044a984a18da055d9c25327bc38364b9b71f336debce9c1e2e6149ae126e6a76770e8d0212cafaf2b63271c721e5795dfea6d93f678fa3d7276ad1b0938eaafee1ef0b0994ccb8501b3acc11903cdc673f44779bd9fdd35f66ad3b8d59e4da98b48882fdeab25b5025e2391c4b6156fb9566378fc1d23c628c276a385c4e8281ac535356340c67687a5baca45e4ca64284263c23fc045d5a01115be3feed830d5361b14c61d70e47575a98454d023f2e1eda692daac572b286ca7912985e8357ee1f66f5094e2f3530a50ab745bd2dceab5c539ca6474386d6123c0f51cd60df06a8aa08381513cf7c0e9107f3667eb2ce9d5ae73878047bf8322ef7d787e1ea70e8fe2ecf9abd84e6f2ae20f994d690ad32fa793e55a065a8b8c43802257da60ba65c87830a3220326a52eb48f2d7b826fdf6dc01e387eeffa5a2e8e38abefe476414cfb2a026a56f703b5be981f3daca3bd654945b5aced6310c86dc9b8ffce3952905b7aad1dfcf50b5fc1f18ffe3c7628044c2643b8f0f68ff1f00373f8ea0f5fc3934f3f8348d2a2df35a06ddec19ded754cc453189f18c7cf5e7f1d73d3b3522bc8de5ac6d8c8087c23a3d058038e1cc8cddbb785978d17a0ddf2e0e4c7ff1eeea7cfbf756b115bdb19cc52c87f606e9236bf1f5ffed217b075f94dfcc79fd1f1a10743285244117d40c347f335fcc93732586d8fe389a79fc0dcdc0c166fdfb20f5807dce5f2e8560f1d989a15d086e6ec7bfdf7074d450ed4013008231e8ad6ecbb2687971e1d9d19758f0d5891c2a0ae751890457d578a596a7f709ecd24247ca09c190f852d907801e56c1a562e83543c89faad02360a557a1bad03e5c9a9441c3e86c572f19042e97a4b23ef5f272f19c1f45818a96410ebe912d6363348dc332b988d72b54806c38f6aa582ec5a0e598afc52f7a424dde5f6a38380ab55ab1dbe43a7f3c1079d5ba01a7ad59a85a4b3dda0f7b43bad36c773aa505da53f3a53a6d1fd5fbaf83e36377644368cdb4d4c5cc2e98bc6bc88e44d42313f22a11194cb752111f1f05425770e841024a08cb6d6de7713c02df2d105f5b9b924f46e8da73338d4550ab68b923d1fa7ef9122620889683f2a71a06c70d7e3b51c6e0aef7a5be0a215b2da8b8b4b9838f6301aa9c39879e4e7509d388de5ba81d0f8412cefd4f08d2f7f09972f5ec2852b3790ceec6063651de7de398777de3d279b27181f459ec2c3cd3c857cb449feaf2f7e89364805cbabeb78fdf537645aeedb7ff16dc4c726b05d28e08d77dec59db50ddcfbc083f8ca9f7e43c049ffd93ffe1d4c5172fff847c3f8e16b45fcc3dfd5f0875f8fe2e07c088f9fa24d5af548c1aa5a2dab313c7baca693f70f198672b3fda09f1ca4e7778323cffd85bddd5e871e00d2fe90654ec1cee96b3b539afcdff546538c331f1c6e5f31990833fcb0771478ac65cb8837d5eb1991c9f93517d9f8ea522fa183d126e39088c7b0436b922d56c94847a033f537bd26934e0bd046c98fb651aa36912fa8f7f175d6367728cacaa1458699ad2c3f671e119674c96f20909a40ba5cc2d45412915850844bd970718b592afad26ef3aa2120d3eca8f2aa01b2b6ba3f325c6cdc189ace2bd912bc475b8a1b5e4db7f1ff6a9c968bc97cdf1b2b2bf21c22e480da2209de10ca2fabdd90516a865173e1b2c2e22646541095fc5dcab536aa75328b7e43b112e16e3801d1257ced130871b7e0a5bee0e203b4ace11d077d2f24a0d9a13046970957eb9ff4d186d88efde31b053b2fb2d31e6ceda4b1932b62f6d433f4800dcca546f1d68b2fa2d624ebea35f0e8230f22476178b2b28c393d8738a50433f38771f9ea9288428ecfccc34fb9e6cbafbe8e99e3f7e036856621f2fe9f78e639f87503cbd79670e6d809e4563730128d23914ad0a699c0c28179cc4c8ea3459ee3fdb77f8aef7feb8f2864f581b614feeb3fd8c4577fe2873f15447cda403d7e9abc7f08f97a9a16b720200f190a69bbd9757b23006768a497edc71e1335bbecbf0e3068af43be9b711806bd763ec31a4aebaef5180087569ac37bf7e8327bcd261d623ed842d34dffc71d1399366cd451254faa260f1b9dd0477407582197bd2a1d280ea14b9502ad0d85bdf43b9de26d8329b39adc93d7a5156cd96c1d0cbf5d5edb42365711b4e606ad6b26d7a003e395a88dd788e71ab8f11af41830a20994927184e76770f2f821a1fa621a38de4f1caab30292d95612e97e0680899a4f43d491f89033f251b80fe9baac79085329fbe84215aada9b5e9fea887007410c0377068241c128f0f5829198aa0119ba38b09d5c4e21289b9652fef504c878692a6d6231116662320df2c83e01b5dd0d018e69f691d5d86ba7f5b105b9f91fba7bc51c70d4bbeb02386d21ecdda7ec0420963b62d0f64d0aaa20ab76e1a265e2d8a9fb909c3f0a5f3c8cf5a5abb8bd74096394033ef3f1cfe03bdff8063ef4d0192cb5ca08cddc838615c0cafa169aa53ceeffc8b3582f1640091c52a911da441bb846077deb9b7f89003df0898fcf61e1c47d28d64ca4eb797843118a166af8fe0f9e4721932143308b4d32180f3cfe189e7ce6c394126ce1e27b59248cfb110eafe15ffdf3141e3d6de0c27206af5ea083df0853b81a1078a8660f1a5903b998d3f6b33a750115febb22801eb4b5250741db07498486dd2afddde1a6a19d9d3ed217ddae18eb36951a4fb041c664f9bf1b521df77983d2ee13ad7bfa070b66708bab4ce175cb5448ce0e0f240f21d121928880bc340b6bf0f286e80fcb66170a147a33b18659873f1082a755c2a1f1301d4a8a2a981f40ea0716c28621330055daa2213ae43a79d23aad7b241847930e7435bb8300a50897afddc21b8bb770ef8183181f4fa241c68867f65bf4ddb9aee4d315ef6185aeef6dab39907020209465f5665dee5da6f28437903c72d39468b4ad293d478611b3d9f3f8797849173e04cef177e8f30be5269ae49878fedfa2136f04bc22425ae519008f2221a9f3bf1b21a993305f004bc309e1a84fa613bafbe5aeb0003d559c8181330c69146b36d3f2be95812cbb7aa259bbf5a47b6b811d393b7469b3f7c326c868afb6a5188158673d97cea256cee2072fbd274cb41eda483b8b17f1daf7bf86733ffa73e899254cddf300bef6edefd2eb0b882527311fab61e9d2cf906b5978ff9d224e4c8f627b7389364d1a1ae55a47e9709737ce636be55d2c4c1d4483bc4fa095c785977e8853072630f3e10fe1dae24ddcb87c09f73ff038969773f8ced7fe0d8ecd84a1078a528dfeddff9d8cccc9067efde7bdf88d4f44f1673f1a4138314b0b6eca822ad94953c2457728af7248e750baa4ba3bb06ea7ff6f1351f6d50076a330b30668cb30d0fb1f7887d5bb2174743d3fffae4927b56e93847a7daa48c61e8a894ecca0973cb757a6ed44528bb910f8b08ab65d4be101f80ed4c0a6740d9ab59a0c15f16410d70178aaae426bd4e0a1a4805f28b8583bf0f058483ea34ce9c6187d6e9a0e7ba15ca503c5b97e4bd882b80aef0d6a8251f03395185db6d6609ec232a509611c3d384a5ebc80b82f2446b96115a4f5cbf7c00545d89378ac7ccc5c009c12f8e83b30f9478b2202cb63d1c1ad51a4e957f7c701bc30fa50e4c1de9ba20ebfa725f3150619c79dad15fafc264ab53c62790fc6c627a43e50e5b9837810ad4a9e0eb921c8c1b6d4449ad23dd1a1486bdabad2055003012e19b83dc07396d53baeefb49335a720e8cad99d68415a8e4e4d486423f6310ba0751a504ed5c1eab6f89cc3ee5819ad0f14845ea9ec0f0602c1d6b127ab4fa1d4faea226e5dbf8cd9c408528747f0f28fbf83d6ce325ef8e2ff8cf9595ae4f4eb78fe675f45909eddd86418e9b48185c33368e4776404d353226bbc1d806ffd02a62c5a200a1f97f21178d2e3085ae4c56a944b52083b12a863e9ed57d1a40d7ce99c8e5ca18c62b6826ad98bf44e05c17614bffd9f4670e44813ffdb17ca78697106f93772f8e553058c1469712b49bcf89317282d39d5c90ff581833a78901d24e0405bcf548c815ebd971df883da40c3f100bdb446c3af65f586881ca90a25b857fae6bc65bc5ebfb4fdf8fca8e12066e309087e9e2fcfe21c1cad847893b7da1db562a708cc45416ea579fd213a0c3e188951f8296df3874ba2bd972b55046c95a4888deb401c58b4aa659cbf9541450b512e5d81e98d0954dc4f7b90a5b94a0d13e54a4b083a353d88dbab9483fb359c3a9aa294c06317bc4c84988b97ae556b8604d5e8f7a90950f6c4a54a5652836820824834861a8b1ef0b834edc12a4383c9d8f82c050f16ea34dec7acb7c8e02126fe686c23e263c2d339faae9bb276754f18e572914e54889e5b980c25a58d5e6e53da82efc279d0950cef12e6dcc538b0d66d9dbb51778ed1704fe6f7b04beb8edc39f6c90adcc19f2a98a7428799034d41ab8786b8afe9a069fb84025b1d60449dc2a7e9e983989b39227d6132b9f8cddf3e841f7cf30b30c233148de53179e430962be77070741459f2f2c74e3e84eb372f62eae82109011ffc8527f0deab2f41a7458d51984f7b48082182b1198cc46893c4a258bf7096365c039e9159c17817d31b189b08636e2e82fce63ace3c318ac5a54dbc7bfe0692e61a9e39d142b150c7a38781fa4a0e3f5b6ae0722689c766ef459c52957c3eadeea56db98df980a8e7a0c4b7828bba3740b755670d2dd639f3001f9c375a3d7588614becbeae7809cac9433a8b647a04f96756981a8ba3a090120bf593f7a61c37532f52281e4480fe70fe9fa1482b1a09dbd3942d3530654ba25b450e937928a88d1b17abd0ea2d4c52ce6ed07bebcd2de1e167c3122323c2b0db1a1d922c19635fb38ca99114ee645a14098428a72e2b02d3a617c57c41f8fd1892bb9e29e3c4a129c4032d548a15d48a260c8a0abd81498a528a0835b91e51a628a5420e2644f7c051840f757a26d55695be3f19975804468c0e375d33dae4026f55d20cae3906991fd0628421730a7ae96fb5c363311e2e832a70d2ef8b95302a95b248a5798d96c0cc391a1403602a752179dca62d176ff5d668f67ffe7bcf543f53b5c291e89d345275849c2e873e701ef7100671b3fa6a7d9c635a77beb86f1ee0aeb5c06ce00bb3c308ca9adb644ccb0c6ec978f1c8430f53ee59c2ab6f5f426dbb867289452aa3d0830642e1183d740e112deca433b875f12252f10832d92d34e9c96bb47a3b650ad1422c24c10547bf0c1915b2e401f432aadbdb98194dc260de3a7e50c128ca62a36933c64671697907eb5b79720e9b383a6f617a348a7f7f318a576f47303d3e8ec71f3b8303f3b3b875fba60b14a50dcdbb0727f6b49efa80c8723b9ea1dfa3f730bd5843eb01d6404ba62ffa183248d40f05e6a26f853c217f17863ceb9a6a97357db426510f7960f2d2bc91582ca492a143e94384f270ae07e4e89973ef9d47b1b985c85cfb5c3c6439ee6c3183e05488d66b0407a627915dcda15caf48381f62c24fbfe27c60742523f10c3aec9f7fe820caf4e33445765c682b2aaa471c9f9fc05832845cb94469421ae9fa0e3ebd7018a3145964cd3a4578056ce4cb78f9f50d9c387d0a668d350ca6609071caa6b729fda860323e8942ad4819781323fe28a28d20f2a50c42514360e80daf45fb454381221486861b9aad2f01d53168e96194ca74c029c28c8fcc509492a2d4825e4b462ce86fd0774b633b7d07914014a1f8b474324cab21326a421e0a451bee1e19df6f17c04d60034747b1a31e6bb9a250b3138177ff1e6493f1ee5660d25ca3865dccb1dbfe683d357fad73f8d517d1eee2a68470d38e24e406da3547eb0a3b990ce5622dc4fc2d6cafddc29befbc840879f1cb8b550ac334946e2fc2aa66c9f26f214686e3ed1f7e8bde46611a856355f2e68ce8ae95fdb451b2d8240b6e4592f0567690dfba8a9371fa90ed355cbb7815dbf4bb5a2081b9032768739c875e0712066daaea61f27033d8596be0a7d7ebd8a9b671f8f0198cc6bdb8736b0995527110f9a4f5d28b0f2658ee68c9b4c9255c104ef4e2041c9ab0ddb40d060bb5d62e3583e16d40a76c5b6a87d16a18327de7af5a22bf95a23cbc9d6b4af53e3f12a5fb266fa951f4d42e8a67cdd1b38c840308f0682f19d24a4347381446820e4383366889a20ad35fc5a18531cc25e92052f6b0935987ee8f602415a783549508602c96903a50bd6ee21f7ce6091c1d19c5179eff2962d100b63245e4291a619cc891f951e1ed0f8412b23f3ef4f861c4c39a4cecf174274f766a8d08aea67378e3854bf4fdc314a545b0b07010d7afd7502d9528b0a454261e4362740453b4ee1399028a6f5e81676a1447fed12fa14a29047bcb08d7002b0d94734bf0556f51ea1350da88e49e02a92959be729ef625bd3f16a1f790f159bd7d8b8c491123c9285223712105e5e901d3ae2ba8c9d076073f31489cb7b73cb0532cee90ca68bdba960ec7a53bd5d79c14d38ee8f71301d8636d5db8af84104307825da4947b0207f6085475055d6cdb40223f175e34c5b556214bcf0f2cb3b68a99034729ac32b17ae73266c6e751a21ccfd32e4bb537420964b1cacab45581e6b275e4426b2e47ef6fc76155b6c98cb7512a9047a14d7b2a584496f2b73b250dd78a14da527e19cad7b0b97a03b1c96958ba4f5290a437028f9f092ce3b4f8dc7eaae2fefb4fe1e4fdf7c1d7ceaa4aaec834fbc4d8f0a08c1a8bedd51dec85fb3a6d38d395cb5bce18e6003e40df0dae31502074a60e87c18677c7010821087dfb2d0a63db8db0e0de998e9b435ebeafa61524efc5a3d194df728a407f821a4fde95c948f0ac7e0be3313aa07e5a0f32d6a12024478fc742887a0b30ac32d656c258babe89b32b40a13e8a85712f72553224d522450335f2a64c376e522ae0c1d1a3f7e08fbef83d147214a5099f838540cd44d85f23c35241b95883cf88229c08e33fe248a154437ab324a422894800b3868e7ff29993b8782783682824fc02a58df73117f3a0e4f30b894c8aa280a91327d1caad62f5a52fe1d88d4b68d5e791a10874f6c043d85a59c58913b3b8b944910e450dd1c27b2896e8fb5a14fafb8ac85913b875238d4a8b73cc02b2eb5791dedea18821820729f2b8e710a5aa5b3bb8bd9c9735953dc05c099a3009d8ed3cbd936903e6071b0017d94767d4d79e32ecb8133b0a7017983baf87d6c78dbd1714d81d9ab8278ea0b96bd0bdd6c9798d8b1d689f7140376fe663c44fc4e4ae00977aeb4210a9b51b3874ea099c3cfd24befbedff17a9891826c9305cbf7659985bd6d7b7104f8d097c949f49905c0d7f67ee5fd728bd304249f8345594e2d06e2395c4e9cf9cc63c79b7b1b50a7ef0da3ba853a856ccecc01fa7b4206c28420881c69a6454eaf4be2a5d4b873f10c3c2c17b2825f0080bac14724d6bd7e1877e525037a760af427137dc1f36e4e32ecf401b6604ac9ef7ee451d36908ec8f426cfb6fbc4b3f20665f61cb6a50c0d34c908985a020d8d7ee63150d02801f65936c1860febcc7fe70bc3eb57621a9e428b4e7a4bb57979ca6e85427bb38a426001adc34db4c858947d15b4bc15fcd9aa0ff14d134932a0b1b017faa506de589c816e1c8745217e84a23f3d5ca2ff264fdf9e43ab989669cfb0d124cf1b4424ea4750d6ba4c6b54a69f17708ca28593c77ca83629dd8856688fd4e5bec37440f50405ff65f2d4972fa3cddd808fcea33cc1d0633a9077dec3ca8db3b4fd4c5cbee5c1d4fc4968f130a2e10f61937ed7a69493d3d4eb5796c9e059c8672f626b79998c8f418ee13e61b00ad2bff32054abddb20f7b5b9c98aef4c06cf88d020cb10ea9cfdbda1f74dee115e8e10444e7673de7d1ad1368ab060916653f06a0e39560da7986b56b1fbad32aec5404adbb8303595aa735063b7461efcf9b50a790a05a26efa079313f7f8ac2c75904e22378f6d3bf86ebe77e4a9ebf824387efc1d58b971049c485ffdda3291db7a60ddae0564e40da5994d331212579e85cb18a2ce56e8f3cfb095c79f95d0428c7cd176a78f9cd773031332bed293e003c04c457f3197e6c6c6e234af9dc634f3d8dc3f79c4286c2be91781ca3c1883200964d982a924f9e6e3bd405c9756b070e427ff798f1c710e97197567c7794d81cc8f1868389b41e052247f25cf25c1d8286e37b60591d8e683c74b04d4a8fb4601c155a9f0885f7216f9c427c8a1228ece5ce45db13a3675c15f10e06c04068c73c229e51650c804546c0f488d65e530f62a516120e052da8e3c2564b610cf8a6b8a7de664af10551eee536230b713087186fe06b3f0142ed05d1def3796a143130f1a9878c4483d69923973a05e8658c478109f2f831961ef372bb8f197faab07279c4b7ca18190d637684a29b520e856803d6a394ee442274ff77e0c997b141f755c99451dc7a19a3e37300451c1313417837fc640c341c59a8a39ccde1c2f92d9c3a72020f3df6b050da55cb65211db16c9d41d3762042a3c654636da5c8ecf5505413668e414a9de8fef65307e889f51cefae697d043d2e7c8933900687e353dbaf36a0bda14c05ecb0e06607b77a4650fa8701fb194bb47ddd96ed81ecc2230f7eb14e1b5be10c85e556db87d1f9fbe8abf8e9e166f1f8130fe1c1070ee04b7ff48714b2df812f18a49b637e75504e5e918c825160550a2d4d3b1cf78502681783325cc4c5c66ca18ac54b2b38fbd6fb181919c3b1f969ecacafc0cbe3c064001aac22d36cca432b1778782486279ef9141e7cf849c9d719d5c5bdea3819280ed18508c3b4197f9c500cda077adffd2b230fa314ef4a9659ae75e9f233f416fedc50527d40f0d5128a341f794e9d9edddccc24a500e44d93e3a86861a4731aa5026d3c70f27eacae6e6239cd447e411c998a2119f5e1adcb9b28659b320adc6829b26be6f1f35188af79180863804be81c49b19d0a8047bf293bd60b08907128d72a94b285443188e7ea5bf92a19f376676e9ef5004d4a3dd61b7549cf4c4a41746e15669a02bbb52c6e4dfabb6eaf6d330fb3469f972395b65075fb282f349869c8b0908c6b1865ba717238de669656b48c8938a5164c504de9489422c6566503e1b59a30212d1c9e141e083fd690dd5a412234878f7df43338301b9554a94006812322ab6dbaf01fa6a009d978b15392127340174119fe7e32e5d869d5eeb308e8949cb42ee79fe852585d3932cdbd67f49ef9fdfd15012d38f05f6da0c8a50d642b7dc3420e95c07e47026de48123b9cd6093b65697cb56db4ccf1547281a468c168bd558834606efbcf9331cb9e708e567652cdd5c044b2c33d0843d183308e70b79a59f400fbf5429a3e12b20949c44beba29569f47882dda40de5014b95a09dbc51c26c66358a7436df92282660b040394cf0628020ee1b1273e85f1034751a8d4c46a7355b954aa0a4d351f7555607169a4f5e1a6350d43197f060b7aee43dcfbbe610664203de89f2a1c022c7243813b7f947a8412b16c3510a5703b3542e172c0873a79ec63b3e38853f87ccf421cbe27e6f0c7df7e07dbd9227ef3739f457967933c701469f29c9b5b9b30285a28559a48670b888fc6716b2523725b13211f66e767b09e59c3ca5a1a45c6c31bf43c29af9e9d1a45a959c1caca261deca0f4eed94b36b802cfe96083a211f2f05eaf297d7ed5eee2b483efcfaf3c1ec3786d35dc361f4426dcb0282a6969a2200c2b02be2033feea150d4b19beb842fb419b11ac028538102d333f7d16192bdd7398ae5393f07d3c19c35cd2a274630df71d7d504457bef383e7914c3c29ed4536fe0e67a4de1926326dae00455b9f8c53f414d0a4e5cdb4edb21ceddd38357689ceb5aee6a53bcad4b53eae4edd9928d56c387a4f4a2e9ed7bbd707392aa3180a32b406c1a5aec9600bc07e4602b957ccd1a6c522945e9b1fa0ad8bb7e7d13a0fe76db4b98ecc86914a79b1b5b1897ffd3bbf87736f5dc2e97b4f889c94c708a3ca33f99582b4109bcdbaf49419a21a0c87844790195f3cb4c116a6677167931e084f9435e8bdb4d067afdc41a99c47226e2036ba409e26068b52820353d328577322099dde5ea434238970625ad0657cec0d6f04610a8739ec94411af8549ec5d328da202cb7cbf3bfdb249e3664b262180124861e7cd374260db50134e2004a902bdd7a97ee8c4bbcac9be7155e0c0f7264e8d23b0d4c4cc54191bfb4b78ecfc5d0347dd8ac021f3e35891fbff033bcf8e257f0ca8f37313ee3c13ffc95a710311e41bde145a5dac0f2da1d3cfce0099c3d7b8bd6c88795e56dcc4fc770ef83f7e38dd79670e1c206aee73208228c7ffbaf7f012fbf7801cb993c6e2e3771e1ca6d8a24e87b94c821f8eb120dd66b0ccca943481bd8a2b4997493d20a4391940a2db7e4c3a6c09a3915d13465101c1c8b6a9b99f6e8b2ae1ead87f732ef993a0f28da222114e3f1c6e4f5b414d4394f46231eaa9353f023359ec257befc151136e1562887e425e61b68366dcafa967c2e43ab3d509a0cc95898f68b417bad2ccfda11bd69c355e8dd53d052431ff716ba1c335a8f7ab0d31ed41ce19c4e71785f4020f41415ba91406f4349734d0368d0eec2e3a377fcd4ebe9d022090f1dd326790268d62b184d8529b76be33bdffa334c8e27f1ee5bafe39db7cf63626c1ccd4655ac2b7be306433adb96d07fc5e363a85b39842221183e43b0dd55f2f23ceb5fa89b1825afc495fd8983a3f8fe77efe0e2eab6e8c8c5e323c8675a888e04683173585e3f074f48d15d19d1399c4e8dd306b1054c5ac26a2f7bc5517dd1fae9d21d1151bd5faf5deb13fe1884ea0e440d4309447a0b818e0772771d783cd7213775083c79e6dd89b8983a5db8eb198edd4177e9e4b5d913fbb096bb0dbf2f81330f05112df9f0eacfaea092bf89c6da8f2935aae0dcb60f710aef0b372bf877ffeb2b5838fe383eff0f7e0bd9520963895132087e3cfde4519c3b7f8bbcfc1845151a96afe511a20ffb1f7ff753f8ad7ffa7d5473755cbbb048c6218c030ba33875b48dcf7fea24d6d6c8b04c44706b6953e4b929a8a3c8228fc9d9385e7be91a0e1c9e2143b18e7397b658475cd560acee3657d06a0eb35be808ae594a6e1c62b05d45313bca556d57cb56c756afe5744f7802984a9e413d8607df7ffe792cdeba835ffdd55f119421b7abf94d815050a107edce5677045c97390a56677247648eea9569ee9311c81d5dda42209d94ddcd18dd3108960b216c0df86defee13079a4b76cb4d0caaf5aa8e5883c9c3dd4c068b669aeee9eae9e976e84b0f666a248e899407afbef43dfcd54fbe8f63474ee1cac59b08859274e029cc2f16a4e2cad7e0e92ba69ffad82ffe2a9e7cee39dc5e7c17675f7f13e9cd6decacdec1683c89ad32e568e522fc9422940a39a49f3889006d5e6f3089e4448abc4d993c0a1989ec0eca74edfb4e3f0c2d1845b158a2fcef5e5adc989086f0c660d8aa4f20e65db8ad62feebce02383300c372b92e4780d935b0e8a5fdee9db3b076e50b703a078ecab2cc58b415d71c774146464604d8c3c52947d7803d146f54cb6ac2e9c4ca68361b08696bea42a54ef61265f2c23ff9e912bef37a9ab28310b4dc4bf0e52e21354a6941600a8d6659ba21653a24e7affc00b92fea387b7e047566591a7d1b3beb551c3d398962c1448522b6f1b8972283712cad6fe3dc7b7728874e225d35116c06c9105cc5eccc2c52b136e627421475c5f0cad51bf8955f3f8044248e9545b20294367cec9f7f1289b1365e7c2d860be75685bdcfd45bae3362332f5bbd7a8ffcaf2dcd5670d6bad2b99a47ed5ce13374fa2976f18ea9c4c8cb80450a752684155d8228264747914ea731964c91b309cbe176c46ccae592682e3802b626a519a227c1e98b2d7ec37f785a757b3bdd6903ee1934f7a9803a35df2eff83d55ba2b77a864e86b24479f79af51f9867ef17a9c77041c2bb8e026c596b1659e421132f3df0448cfebd91c3fbe72ee3d5d75ea44d328b5b376f4a15951981787cd3a4702b469b27972f8808e3cffff26fe0c3cffea24c9a1d7be4215cbdbd8a37debb4a1eab8a7a8bc2325ac0c74f9dc0c6c5f7b195dec22b3f7a138fdef708de5efc2ba1b02a529ad0ac6771dfc169b4cc2a4e9f3c81331ffe94e4b6350a375b7c787c9ac0940d0a41a331bfaa37b52d974ea0a74f45c982690ef2fbf513830e9fe11a04f1ec451aea8494ce35f9c0b30170a20081d23ac65d53945896598152c885888a322106cfe64fcd8cc9d4db7848c3443c8160e820b68a65bcf5c68f606857e1e5b48b2280828f197e1382a24b7a47c83096b073e36788e807e970a4f0ee9db078dbdb8babf405b9754806a76c8874d757bf73893eaf869bb737f0dfff4fdf855953e953247a9d22bf8844808d601bf5820745cafdebf90c1e79f0209efbd4c3f8fa97ff1a63949e9cbf92555d231f4b7ef96c2845d7793973f1baa3cdc7cfc85170b6bdb47a24dd7fef14d6c850784c9f4a27685f46c9881a91226ab91a3ef5912765243997cbc9b36627c15102538aadaeae6263631dc55a5b694c7074682af15aaf1d118429356594653a9d1163c1434a1f54087633ca752243cd359c6775e743ccbeb6b18af8b05f46a03df2106d17bc42dfcfb5bbb2092a4ce60de9a1c509d143abe497f1dedb3fc689630b9487cee1fd772f8a963de7db6a50252cde619342af62a98e8f7de69771faa94fe2bd731770fdfd17f1e4a7eec5238f9ec237bef445ca699b58a334e0bffa9dff02f78f4de1ff59d942293583f3991a5ab796e00bb01cd6b6d40dee3ff32c1e7bec617cf7db5fc585b38c3aa428e4c869985a5426ba34f2327cf893f4d9c1a0d919b3d4b45edd353737ff6eb3da8345bdddb103bbb101f58e1d9b9d8d5fa47c5416988c2a93787094c19567fe3db7f9d80028961c88a4192b05b1fc85787e66cda1f48a877e025a18968f9b773b686cbe03a3728ea2221614f5ca42d729f21a1b4b48753dbdbd8e60228943678e405fbc8d2393256c96173035fb000e1f8ce2dd776ee1c6d2363c5306b6d345148aaaa01a0893f1b72895487991295691ae9491299455cb9c270e8d16fee2f91bc26e7badb08c576eb2aad10dfafe313ad83e2417266dbd076fa715aa3bc034b9a76e886fd9d1a5331f6f3aebe4fcccb4646c57a5126d81fbb2016832653c73faeb558a82ea6250f94f355395f03d91a2282693c67bef5f9083cd157e1e0faed61d0111f531a24a15d0253ae035cad3dab0e80cd3994914a059fb3a2f1dd62dcbcd0a6ed9ac3f2e652e670c5d1b4ef0b36b04d0e1b5c3fe0c418f2a907300f65113e0969a2993578ab52548e155b5b08af7de220b9f34b0bcba82898979ac456f92d7ae4aa8c6e1261fc272a526a09ee9e9596c6eaee1db5ffe6364b67750cc6d62e9f6057cf6b39fc5e1e9315cbf74119ff8c567f09147cfe0c22b6fc31b8ba04206a1b2b141dfa08668288256711b070e1dc2e3674e23114dd2a6f1530eba82c50b2f53ce17c0e8d18724cdb0c82384c33a79ff3622415d2216557a62ec82df1e06725281def65eaff7d6861ef8a1cf48333b395e7fd1d074a9ff381e810f3c7b14231050793e4fdaf97d1d49b342511904c6eab3e34bc4e3a8d575a44274107da65082e95a8d0c624338f73657b7e43e35bd82c3278ea1526fd16bda1479e561f80330c25e0541a5cdbdbebd86273ef92c46676770f39df710372fe1d881244edef7394c1d99463eb38d38bd8e67fc57d737b1b15396f0bfd1b270e69e094a138a94f3dfc4230f3f42d14b4e0eddbbefe4307b2481cb5777b0be59c05be736e1098fc879e1d9ff3a0397b4062cda0f8d5c4b91c45a1e690f72b113560d5224e00aa765cf2b4b17c12b879c450e345bdf40816aba925f1e61356ea3dd68d2616ea2e2a9c110fd044a595835986b4ff41c3737d378f7fc597a4d1553d3f3e4941830a48c89ea0234c469f13ce0767a4720e44d5aa3d9e9497cf6177f81229b872432e033f0416d408700447353f677d8a6adde0953490bf50e12b03f5cdf0308642bc9ec4a29b1dbe0ab3b15d9471780adb0ac9349dea6869db54551f139766406eb1bb7b1c50bfeee65e89c67fabc02da617356a3c5a07d485e635c00b897ae5c9630271266296a3f36b772f8e37ffbef30938a62767c04cf7dec39543259ac2cdf46a998a72883bc246deeeb378b78e2a1877162fe289213a3e42583e4d5ea74dd11e416afe3f6f54bf044273179f22145f9d566cebc96748c58bc42d5f74c3bffefabd3ec52d5559bcb44bf5cd33082d01ebc3fbad2d03d8ac6aea9bf7aa5aec249e6f4a788697a6a4a986dd9f3380c4c1c0564b3591c397244c02b198aa242640459f6cbb4197159a391a9d31865c9926cccce53a29482abd797c9a032b77ddecc2b420ddd2bd73f383383736f6fe2adbf7a198f3ffb14871f88871258ba76196fbeb7828dda496864b803643c9211bf1c4e1662c9d70c3564537a1f07e7e630921a439b523c83be67d8afc1a817716a368ae31331fa8e23a8e69951a72294dde72f15f0fc0befd36284910868f8ed5f3b43f9b946eb9f457dc740b656a2752643520ea0b445fbab420ea24a8682efa546e98946cf8abb467cd0c503abf6a1ca1de81fe184f03cc819230fa05b8a2a8c6b289353e3c855b2b876e312193032082c49e70ba358d18512bc653625e7670600663dca33451d19d56249c1961f7eec317c8af6e5c993c791a208820fbfd933d0b32b5b4fb723a0b9b1b9bd4c4f1d04af697558a7f64908e26c40ad8754d2da4fe80fed2ee9015bd2ea1b8d18d8d8a6dc2f44a1abc6c5a4eb585cba839fbd795ef8e3538908225eca4d9321942a4c114596de1312c1864ac3a4303e8a1a73bdd301e05c4cd8654231f22879244753084e8ce12a85a5b76edea1bc2b2792d47e3f33c3d43173e0205294d3fa0cafa422e99d2dcaf782a8568a48b72b38207a7174703c4d4ef8110aea222de60c6458bd23543d64935687bed5ea8a4abada7dfd33e1c39482ddf4df5da830065a8c5cf8e3436f99aac878f0e041f1005b994dc4e2315bbadc2b07fbf6eddb12aa3efdf4d378edb5d73ab465fcbf7addc2f2f22dca4d53941a55e53d4e4d8129b498a1973fdf292c06640290bd2870fadefb71e5e60dfce537be850932a24c9e11897831912ce0c6591dab99a4a0fa585f002d25912552c2f48c2e37db080676c8a0d0bd342e8a7135a21ed44a012caead22c462af062b329978eae9534817d7299aa9d07be93a94cefdf26fde8f3ffc83cfa922a8c4601c0d300b3464b2b159aeca7468bec020b1b690b9e4b3059428624aa741797b1e997456f01d7cdf9bdb199c7b7f13b57648795006f230618ac712f198cded2dee0f089b91c9849fbe18a54e967c1e13c573a4a1a4ef54219139086ad532662726f0dcb3cfd0b37f02f3b3733246edf17a3f781600bde3f78ed4981befb15be1d9417b62bf294087475ceb9b421ea66a6c0db344fba738b2cc06325bb770f9fcab78f6a9d3f88befbe20bc706fbc798e16a289446214750a07e3f18028cf6eef6429044cd1be0990272b8a8e7d28ac49dfbf98af08b7bdce94312c6b5d3165bc7374ee00ea1415c4620994e890787c86e806b272d06b6f9dc5e73ef67166a3c0d6da4d3238cc3b575052dede2066e60f089f1cb3be06823e4a4d82080755a839209bbe070d572fd007ae91eac1f4c03d87a1c11c40020e2393e0df2b7a6ec82167ee3e2638f568aa38c8052a3612dca7663af39b376fe2ecd9b3f27aae60c7281ae0f4c14fbf67392e3686fc33ce5345f6dbab726c7e2fd713b8d8f5e69b6fcaefd6d6d7290298c7e3144d71d47127bd49699a0fd7c93bcee8e378f4c8bd085b797cf7af7690a6309d35bf3c1e43ea2e6896147ad3c362ac257bc8450dde97aaec7d8358ba499e9a07b49aaabffee6d50d31c6ed96ae5ab55615c954489ec95ffcf826bef5fc658c4d87f05bbf7a1a072712f80f6fdda008b08e07cf1cc6bdf752284e21f9b53b59faef394a01fd9d88ac7fcdfedbffe1ebf8fddfff2619ad247d6a546a052c877ae5ca3594ca6da196abf28839f9ad1a17fd3807a774c40859f0f3fd146bf29d1af5b2dc23f35afedc273f81fb1f7800c944bcdb9d71b5c5eff6fcb807ce06c960f776c77be0007aa7d7c48a7591013d9cb6bd2205dac04cc09e3500caa1f2f975f2d20fc9fafef8277f8d4b176fc8c25b6d2f12611f46221e0ae19af091955d5a4fa3daf2626666043e9e48e3c09c451e7cbaa8bc32d1a27c6ab34a0b43f9b019c62fffda3fc3cce434d6dbefcb67aea5b750a328c11fe061910adebd700e4729179b1e8f618b45420206566faf0ae7dde8c4146223d30233f5322906f3c8d7ea307d6a84d9b4ba649f12bef588a558039c00dd81a0dd517cbd6d2bcbcef2ad2105c15ec3c121247b6311e6a0309e8b521ca57078cee848de6c4cd87987bcff018a0e9e7bee395cb87041149047c74671e4f03d121970818ac52d394288c5430ae35ead89a7e2ff6d6e6ee2faf5bc1802fe1dcba7b181b97afd2a3efec4d318191f43f9dc5b027d9d9c9cc3c52b37f0d4a31fc1230fd06b7736c9209fa6b079918c7c1e1685ccd296b49ad01bf58edea06eb7a13c0caea2c30d19c36d0844970d7b9ba20756e0f509c4b82955987a4d3def77debe86c3c7e2b8743d872f7ff5226617e2f83fbef20a1e5b3882fffb1b37f17ffede73f8c637dfc68f5ebf8d7ba623f89dfff213383417ed8ea7b303d15557e5c90fdd4f0bfb4d4199b2f439ec948f9d8e063f454a65723886e853a86e56531093bc5ec5327706aaf4ec2b98a2f4f263cf3d83679f791ab353d3f45c134225d71044aad6431dbf57b1b747160c9a2b32efc5e56a3da980ab2068f6ce03ea7b4f1d74d56db43e324b4771414377dac80903ba61ab86fd8c38c46993cdcc8c520ee7c3590af9f365da4c8b37a490636a754c786a383593e02546850e6e6a240c83d28414198703936388070362c97c018f30cf7a1444875205b5901ffef893c82fad62f1ca15698b316f5bcb620cb84e61a5010f85b4af9f7b97363e450811f64205ca8bd9d058c2ef5ecb6c402bde4258af0b9555a55111c1482e2e79a490a9db87daeae1491c44e27517b00bfcd07a403ab0fbf9c3a0bdd6407161881e800539b85c6176083fc7c7c6e9192728fcac911188d07969e1e2c58b12093cf4d04318a303bbb1b1819b4b4b8ab0520a85255c78ff7d9c7bef3d7966dcb6e2d747a331c1fbafacac9011b88e090a67efdcb983d1d151329815fce937bf8695ad758c8d8dd1e19fc0f1e3273077601a5ffef3afe2d5b317901c2f23152dc3a090980938798083015c2cace1e5fb15da2c4b955019a5abb7050528f4d9dc6de1b0cde4b61e8f2a37c910d7d0f4285112969ae7bfff9b7ff9713cfdf841e497f3945bc770dfc124fe977ff1097ceca373c81656f0e65bd7f0c3d737f107bfff59344251320a6fcb3ab4b8c3a4718749613df87fcc5508937ec00c552c242a14613e6ca62ddc59dbc1d8e824a5a7e48c748a54637e4cd37e6c345ac8e66aa8140bf4962a9e78fc11fce7fff49fe0effdd2e771cf91a318a1f5e0909f1595a53dc945485ddb579dcd1a520be8ea03386df5c1329cc33cb5af2e80e6ca197adfa40d4415da90433ec85cba4704c09f41a1f50fbffcc774d056f1d0c929bcf7d6651428c72ed0e94d6a219c89d6d9f663bdd6c0742289242d5a004144bc9ab0bbea7418791cd3230096ba40abf3f92a264782f8b55ffb3c6693065ef9f7ff8152876ddca450b5c6f801321a118f8ea0e641991ed86d4a02af2cdec68923f352bdf5184194f30c0c0afe7fecbd07b465c75926fad53ee99e73f3ed783b27b5d4caeab6acdccab225cbb66c6c0bdb181c18038f073cf3807930039ec5f3036660310b7830e07998e444b43dc6b26539cbb2244b6d85965addadcef9debe399e7bc2ae577fd50e55b56bef736e2b209b3e5a577dc3393b55fdf9fbbf1f934777e1f8dca358225cdc755bb6a3bfb7880a8406172e614e529a1724e24c264dbd5c02bf1f4e81650670ca0f069bda25bf64f38f8b24348d33501f202ae372f19e6562c3952b65e1b6eec505c2b5bfe0820b70f0c0013cf4d04358be7cb97c1f25040f1c7c510ec7dcb471933cd6b68b2f92c9423a564f4f8f0c138e0b6127f7ffbaebae939e062980b1b1311c3972045708b776646c148f3cf1382edcba552ad172472f6ebae136ecdbbf47b8d1251916341ae358baaa5f78734322a49b93b74103427859d5f1655f85df54516e0064a1989a85392c5f55589acad50b36dc8c04948dcdd4f18bbffaf7b8feae4bb1e1d2b5f8cae3fb70df5bdf802ffecfc7f13d11cfffda47eec1ba3e2a87eec5d56bcbd82004f6d889e3f8fb7fdd8d279f3a29debb1d870e9e111e62156fbdfb2a1429e94cfe05f14ef05ee9514d4dcc8890b31b83ab7a2556616a6a423c6311928afd3874467897e27734817870591feeb9eb4edcb4732756ad1e9461958491cb990b5c028ae42a123888b5dd36a73147c541b7a7ed1f3b1a651905b97c3b297d5bc4f58e330e667aff3ce3508e1709eee8e85934e70fe392b5fdf8fe934fe2cc4c0325025e88d8709b70a196ce76486ae5896217e696afc4646d165d25b1f0345a890655e6697c131796bb2aa7ff8e8a3db579650f3ef4de1b71ed1beec0c167f6e0ecc4382666e7f0ecc113985a686059774372da2dcff788d8704a78161ef69c38855ea160f2c2dd275421d99503c78fe2a8d8aceb858bcc264ee3cc73df03baba71e1f69bc4bd09e54319f70004e4072841ce6d98ae23abcf6de6e0b07e1b3308a7417e9314d0314f20417bc95293cb4f3572c2b5553acb382d14dff0f090cc36af59b306a54b2e969b9184f83961e9afbffe7a29d464ede9f3e1808ffefe7e94cb1529e4e4995c76f9653294387de6140645ac4f824fef27b42185022ad19893dfd33106fa57e07557ef10cf3a27ab0d544d18db3783a57dcb70ddd59be4b108873f3353c523bb4ec971dd211c57f165348da9b7c60c441df88e4e9af38681ae226ebb63073ef7c5e7a4d1fec91fdf86bfffc7bdf8d4bfeec3da0b7af0e5cfefc58fbfed52219c79fcc73f7a14cfbf701cb7be7e1b9e7efe38365eb60edf78ec38f6ef3d81e1899af09c56a32c3d01051d968a40fcdb2b62778adf4f1c3f2cee272fbd9f11e13d5275a9519d11e113c7d53b2ec7dbee7bab785e97cb7b2c8af751394e9f4414a204c3b1e58b0afca3960f160f01b591809a04239809d01e0e20e000d05d79774bab1e167083d4a26d0810757d09f76ff3e00538fccc13e86d7661cfd830e6a73c5cdde5e38e4d3ed65fb8026786c4839f14b1b79cdbc7304bd44e0bea8eeae2e7c966150daf43d248b3e682b0d265e1f22ee0078f3f836f3df42d0c09ad3d72ea14ce8c9c855728a324623a62a4ed16d6802ac2478746312214c4ae3d2f62e3da5598a376e0461313c26b383b292cd6da2b85a7710a4b0684e7b16a5018336a02606a802682eeb4001cb3280894e5d6db53835d2e7e8c086389ce40da642490942ca567437d1694fc234b4e024c89bfaeaeaec8f2d38b72048f3df698b4e62b57ae94424f390412580a0d2a954e21ecabe4f3a28415290ac21550829142093a16291c0a05087548de042916f21a88f4f3f0e103e2fb6e9c3d7b56782245c9bcfcc8e30745b8c6d1d539811522a4a3f66de215a0bc8104f2501dbf19187bad7aa52c65c3dc77b2ca424342f7cbe37cf0c72ec67beedb225df68e7c49ace10cdefa868d189eaee2cc89096cdb5cc4474548f017fff004de70f306fcecfddbf1e92feec5b7befd0296af2c63e9c012ccf12111e64da29b9892e97cb982544ee45f4f4d4d4aa62ae23fa411f3c36787303d3703bf51c3e0f225b8e78db7e3ae3b6ec1e0eab528108d9844682a72147dbdc2b83f82c1b7bf69a04bb3b9174c287e587256debc6772856578003cac1932a75fefaa03b2b83ab0881080dcb62e6115501dc386c11518397e129775d4b0eda61578d3bd83a89c9816c2d88db57dbe6c177d5afc4ca094264186e709e4c2d0b74a581fb131cf8e8c62f55262eb592dc92d7ef0fc7e5cc9bab0303d8eb3c2cdebac4ea320bc8705e196a2509170d63eb1b97bd65524ca706e64126767e7911b3e8bceee6e78cd11c93b3874e428c6cf8ee2c28dcb509d9943afd8ec0b6323f0962ca76ed428f3caf5e4a896ac49a3f14ab5e89aa027db822dfa412b1948ff9240932b4f357d9ada4bb1e6ccec942c65d2263e7cf8a08cd1e5f82eb129c8fa53f69f3e4bde010933fd7cf8f02119dae4a510a83086a0af5ffef297d1dbdb239385a42406fa0724b86889109ce99969f91e4a46cab2a4f0221e7df431612545e826de471e40954d617a7abfd897658c4e08e57b34af02d742533620516844fb94e27c70738e61bc2fc309cac128b6ce1cbef2e041bce59e8fe1f2ed17405c8a08158592ebc98b7f456cbe6419d609e1bef4f5ab244df95af1f5c7bf7257b4e17ff2be0b71cfad2b8567d92b118ae353d3b878eb20bef8c5279598048244f744169d3c80a13327c49e3b8da6107c4f04a9d7be7e8788f3df26acfe25e8ebed96cf8dc03d2ca8e4c463bb557846de4433c8fd308d2abea5b1d049403c96f024c39c1c8f36515cba6b6f2e405833642c29c82c1db5ce8d48a53d37a02eacf5f0f8082afe303acebe883befdd86a59b0be85f252cf5e54b51ffa68fd288787c22142dcccf625d77136fbcef2a2cddb61aa307a7441450c3aa2d6b312f04f3f4b1b3d8b0799de4147c78d7311c9e1dc6c51b7af1c2f74be8161b72c7a6b5383a318dbd635358b6e4220cae190439fa1eafe34a1162cc3ebb172747a7313436818d3d9dc2b22d4363fc0c8ab9269edbbb1f5b2fba41b2d69e1919416196a3b75846475f533eab34de3e151ac4d0cd3468af49b1eed4c8494fcba836a8bf4bfa29ca9ee714d904d5ec2991a5e8ba1bc2caaf1242be56860424ec542ea4987efdfaf5d2ba9305a7e4def1e3c765ee80363c09f9e464aff86c87ea7a0cf6c78c10763af6b808afe4ec40f13d5979aa18d171e55831b28a832bc5b95605b303c51aae28e3fe775d2d147b55b6c692a73635392f42342e5bb91b72a41697bd09b5465e76d129de8c70ba4d5ea509e5c04b4f75c4b19c6c62faf2579f165f4f04517187f8670eac2042cafc727488b0b1a3d483ceb210e28af0027b493954b072d912ac5cdf2b893cfb7b3ce1adf463e9f2014c086ff1939ffc8274fd55bb802f05aeba308fa3c7c6c5f3124ad35f105ed332dc77cfedb8fd8edbb066dd5a94ca1d8a0a4d8e5467f2fa0b52d9aa9e04e9c3c8eed5a6bc276a2966edbafed6f7a63180e611c51c01fae4aeb628c1b8d601c85bb402b8c9a819d0262088baadeae2a13ef3f41006a70fe39a1b7af1d8d35db8bc6f273617aec2999e7fc63ee1c6ef5cda87fea50dacbee622ac7bfff5a0c920031706944bac8eeed90256efdc8885d139348fd5b163c76af49f2a61747c1a2343676419694868e9fbeebb1d6bd66fc1f19347303e9683d7bd14dd3d5de89a9bc3d5ac130b4feec2a870f186458c3bc93bd02902c90e6f1aa34373f017b8d83cd444d3a37aca85d740fcf1b40119b1c090f0498d9cb360d5260780deaf1fc7843155573847309cf6aad778431a711b12ac8ed58c12b75ed0e8522605b04014dd6aaa6d57a5173b6fba55e65dc8eda770815c766991c43128542021a62a0295f846468745fc3f2af32c9d9d1d42b0fbe5f1eb752adf4ec956d9f10911db8bb08a0032c49d40a42064a9d7ad5b2f814343e2f99337213d13f1f38d375c8bb7bef52db25a417c0e845ca452e4dc7c1db3220c9b9f5b10ff56e5f7a333539814e1dbd4e4acf8998034348d87d074f3e21a85f29853e3e2ab751aef9e43bdd090fc1e542900974321c01b942c1e16ef2584dfb4233be50538002d166779d522496b51ea0a926bc4ed5712d73b2b41621eabe1fa6bafc2fdeffc3161f52f954a4f5280075384a511a51e9782ca6950d24fb5053754df685e4d52f6787bc341e26940e1b4e39c42f985e940cdc308f7841c7c1a281dab5890e5018439169ddf4fa30077e6fe0d26fab6c39932bab1beb713e56d03d8b6e212bcb07f0ca7c73bb074ddac588e05e47bca385b2be3d03260e32f5c8d8e2defc76cf73c16ce1c454568622eac47c71221901b96494ec0fac81cca45620eeac47661754e0c8d6356087ee7b21eac18c863f9455bf1a6f7be1f271e7e100f3cf09888f5e6852e598ab9a6f88c38cef5afbf044f3d233c81a1b3985b18c56d3bd6a05fbce7ccd018f61d1e42b1308dd9b953e8ee5d8a2dbd83e8f214932f69711afea048369886ac8b31ff619c1775a27144717b28dc1496ab9f6174f6b1048557b2ab9036849c501b20f768128eaae1cf4b4b4e9b93eafd64f13b3bcb18393b82279e7c0247448843c9414aead1350d0f0dcb8c3f7d86928ae41550cb2ad175ad5e5d97c335cbe579391d994835e6846746d74ec9bf9eee1e89a2a363d1fd525e805c66f22a2ebdf4526cddba4ee6d3fa7a07c07be39227edd086f006d5f6c9c5f7efd714debea9781e4999d179696a31093e819da6a7e6c4bf0b52711029e8c4f8a4501a53c2bb103f0ba54dc34b66a6e764c71e5ddbcc42517146d271c51721f468602785f8018d942afbd145c909c64d458d470a99a8bde644a8299ee37df7dd8b7beebe1383c203e810a12495f61a72cab16ac27211b3448c4141dc1f9680db6d9a03e7a6a71824027900218ee600845e6728bd8135f7c88d6997122ccabaea545f16da2f317062919dc135b68072d7526cbbaa89e9d3427be77ca1086a78f6dbfbb1e78f3e83ca40276edf9ec3ee6fce63d9f51f4447ff1578f29ffe1326aa4ddcf686d7a3b3480dde220213214275740a8d51d2da154c4c8d62f4f451acdeb80d5d22e6af4ecd60483cf0dadec3f8f2effc173cfcd8f338280c04cd9b5bd6bb57b8825d38353c2a915d176fdd820561413ae7c6f0b6bb6f407dec2cfefe8bbb71e8c838d6af135e40670ffa84db4823a58b8530d34edd891dc2e52b48252067cf9152c815d4f0c9465d0a2225c562fe5426e37309df0d9a3ceabe1f550142a5e1e20008055fc291593cfd35147e1996e4d4808f91e1b3aae2522a8bcdba525a7daa08507b2a95a6c8c52754dff1e3c7e45aca5040baac5c7e9e4281da4203575ffd7aecdbb74f0a0f8517870f1f56cc39e2fa9bf9a6ec6d276b5aeea888e7b45e7802c3f25cebd6ad9300235224741b33b33350c631f69454fb6a3e22d224de462944cdb2accb136f9f84d6b2986e4bc94d5801692a42d2607a2ef53fd03c897a7d5e0ee924212765419ec5b4f03aaa12ed49d58739e9c98c8dcf626a6a1eb312065c13ef9b974a636646bc67ae8a39e1a51489c8931571cb8dd7e0ed6f7f1baebaf232f1fcba65275fad1900c182f50ad72e9e0ccd121d9bfa88b87692801ccc20758d792758503ee589bee1309fe4379b4ed9ccb74a3ab838004c6230de5e83505a278070df4f8d0ae91d398585d3d39812eee61cc5e967bbd0d7318be9d10a9eddb312f5ae0e3cfdb1afa054fb0a76ac9dc5c59bb7e2b9cf3d8be583cb912f766058b8fac78f9fc5b1236750f62a624146b164d512acdaba1d9b366d447f7f4358400f7dfd1514ce1cc089b327f0d488d0fc3379ac5f3e872b2fe91196906368c6133161b72c4fde7cd5d542d38b18794d1f3effc00ff0e8e3bb84cb772f0ab912bafb964bc4a042a8a9588c48448b7945afe5e5a969281fccd62bc8a45857577734b39dac35cdb857c33016248db46c400dc645852c3e14232f5417228050b881c89244d87fcd85f42558a51965f7a9844723bc25f94467052b840220e544ee3725f1e85f3a26e50ac80526775c8ef812f17c99ee4f2a991c968a102c6c61bdf6da6b65f67f46b8e7c5a284424914268185c80da6a4202503e9fcb7de7a6ba034eaf23e2409264750faf223062355aa2aaade7dc6e3765da2d3f658044b979b39c49ce5b484ab70f5f3c52ea934e818a458c90ae6b89ac9179562e5991a322bef07169f9446d39f170ab126431b8292376844d802f59c2c607ab62a0798346af3b2016ccdba3558b67cb9e48b2487a11126e59b31259be73127ed9b8ef88bf36d6db6cf6b53815c5e61e81998c85c0d51ea27fb04f259d26bcca9094826f922849bb1d61e411e25144a35e4e6caa88e9fc4e695bd6890a0f4d04cfa252876f5a1d1c7e458ef7e7f06fd9db3989c2de2bb4fedc292c16da88b7d7be4d87ee46a9ef4248e4d1c416f9161e58a1eac5a37888e82b00ac24d5db6f6226cec9e4161491f6add45742e3d8d82f012ca4b8457d028e2f9bd0c1354caebe9c2d8e4b458fc092cedde2837e9c4f404b66c5c8653d4e545536b2b6ae26c4f4faf1a68223bc47c79375248a5b03683ce3a26936f7add5759094f22c63c091fcd09eb58524a83a6e0e6f3d2f5a65060b996dd0d3f4f969484988e4bb57a2af935e48055255054aea372df94105812666ab1a57390b5a79a35ad0b597939f62be81d0867c78788443a0f115550ccdedfb7046bd7ae93e5beeddb7748afe0eb5f7f28b22e5e007e224f82127add62fdd6afdf20937f67ce0ce1f1c71f97d59eaa50128a92ac21bd888ea05d39049ba93c4823ca644b451845a14ab192d437b9eec5061e93f0100ac27b2c57027a39aee2ee60d671d0b11982b28a326fe307f30f6456ddef957b5c82747843de4fe89a378349bb391efa1bcd9844d50fc860c51ea0f50aadbe6ee56d64a79dd7e19cb5e53a878ac298d4c51c4c5f3c39399a45b328da9b0c8468f250f811ce13d9ff96b9fe36da011a2204f07817d6adf630d8751196761650eae8c2e5c2a59cc92dc5e8f029ccfac2653d7d1ae3134d1c1d6128cae6ac193c75f205f49ce018141a7960752726a716f0ba6b6f4173e284a474eee8e8045fc863f4d8617c6762162beede869edc04befdbd17f1cc892174953be506a7f89126e154c46eeb1216ad56aa08653483464e6c52e1c6bfb07f1c3b6ebf1d5d7b0fa08b78c0302f198268c06499a618128e9d9864d1a517438d49b976b92e1c0e1231b79245aa3315ff0a4bd208482315d230177d2fdf2be1a89e6cc92d75768075b1f83dd2d29731363286051a862136eeecdcacfc1b09304182c95a53998f140009630844c969e106636a934e4e52b67b4e66c00be2d9507bf05e61d14f9c542ebdbed0a4b8c8837876f7d3d8b77faff40088f996ee93482fc8a24a8545e7f4159ebee9c75d924a01e4cc3d98e0a4084958420b13c0b025b764412a897acd97963c4709b8a21795699550526e24c6d1c7b4dae15928ff5088dbaba9ebb4ee07a196af60b63ea2583b74bf73d130ceb8aeaf147240baa2d7c9984eec714e549a89f660669593225420cc527e7b5060cd74ebc3056d81e729d5810462290b0740941cf5198c8807f5f4994ed937ddd1e10b0beb61f5aa2e6c13f1a32f36e0f4d80c8e4c9dc04c55fc7ec51a61693ab12427dcd7b347716a761a6769886347377aca0daceb69a09b905762a5bef6d0d76502c9234aaf1a11ca56f0fd3d27b1502fa152a8cb3978742e1a464113673d74ca21a27956111e48132fbc7804d367f3d87df038761d7901d75c7335d62ea94a219c9e9e47792561d2f392469cc66215bd526011bd58b3cbcde345d87cd5f19553162d988710c68e2c1cc3268539176d5abb075b32e0060925dd0d94c23ca7fa01280148569c848ef0fb84cda7706462625c4d4c12ef91ef0f2a155ece8bafc34a5c1e387000274f9ec0c0c012bcf8e23e09f2d15d5165fd72921928fc0c9508297128e1af32335e971e872a55fa114517edae9c9614356c08e38ee98a61b28e476debe187953bdf948f9c7cb1c0c191de52c88750288810a7518f8540c27379c4aaac275569720f4d00e60127807a3e390dcd690a86ee9687cf524ff2b9ba3f799b55009eda75ca3566602b2c08bf3c2fea45693b04c80ae65d15697962dfe2af6ba1dd280e5bb1b41395de26c6bc15b8f18def4441047927ce9c12d6fe0426f67c0da5ea18661b3e06ca35f47432f477cc624268e6e1da2456ac5e89c1954b3133791c3d851328e5cbe82c2d95fceb94b83970603f6a42b8afd8ba55c4a56791ab2cc511e10de4889822a720c444065aec282ac247f2008452a011574b962dc1eaf503c8753570e05bcfe1f8d0341e7af810eebea18c52e118064a2b24534cbd19c6b464d9440cea7bd15c366939388b845f8554411c1874a0e6725e3cd299f9d1b3939d8612ea994be4663c47c635040ad166a72cfe8a15cb65dd9dae8d62fcb56bd7461461d30185b5cc25f8aa45988042a42c62e16732d408b9047ffff7ff0077dc7107eebfff5d78f8e18765e5c046b4918085b909f210f484252904fa22c543dd85fdfdd068cc914287c590da53aded3e993894d377180a01db7d782fa4f4648fbeafa8e225c05856380a9107c4e49c222f28aba9ee579a4120dd7d8fa9e12fa41c3c8e10b91b976995297381bef42a4db26c9b9cf1b0d8575291b811a208988e59bb2140a84de3d88325ac10d3660446fd018b4001aa3715312b62ee795ec5f5dbafc7c234c58c8f61463cb82b372cc39a412194cd5e8c8fd14cf8023a84cb3bbb3085627f056b566f022b7461d9d21e94565d88e6fc94accfe74b3949054e1276e37557e189c79f14aefc1456acda8483078f62646e52f2b3e784034feeed8ad51b64469fbef70b4d39e9362fce55277e792ca0b0b284f2a655b8bcb40a9b2eee45a3d88bd3c335710dc724df20c5bc832b0725daab2191ac14ff93b523604b5525058535212b27891f784ea2dc4278a60c4383a1286a44574ebd3fa7679493a3c6ed75a1cd9697a528e56a93d09f3e7d4afe9ee0bd04e7a5cd4e48bdd0030841437448ca1990e01274988e41c72645d1d7d78f8f7dec6378dffbde2bcff3a94f7d0abffeebbf81cf7dee73d2adcf07894e225851f17d3dba6e95ff08731e7529f814ffd37b28294b82a3f619772a00b7c133c166b24b301048e9010489c5d002371a71ae85ce4d2851bae67c40c2a12c3f8f5c751e76cfe594e0e7732cae3620eeedd0c9375c7dfca1e5d72b0376fc6f2b854c4590d20362f3489077c503ba716e0da9e1ed2501ad69405a3d114e1c1a37475a2f4283d59bc4ae0262b1143f4ce37bcf3d8887bef26dfcf5a7ff16fee917503b35894d175e8481c1054c8ea9ceb4155d7d609dddc4e60196ef42adb0805c671e5d4b578b885cb8fe329b3d8d725ea1b1aebde1728c8f8c63627c027b76ed150bd221bc88a264039aad4d61dbda2b303432829d77dd8ce3a727b07ed385f8d683dfc5eedd8770ebc557492cf9896367317ce23876fc874de8685e8af1a1291c3f3489e5db8ee1d26d5bf1dbffe937c50617b1f5c2ac02b5c8afaab4c4546aa20cb88a7f951b4cc25093c24271380fdc61b2b6b988d432273769412a825cb061f37266424eb128e754a821bd8b9c1a4f46efad5695002a7aea59f93dc5ffe4b653530f65f3e9faf436644912b27933f6ec795e0281f279253037dc70233efad18f8a7faf97c24e31f7ead56bf0377ff3d778f7bbdf837ff9977f16a1c129a93c29db1fd6c1a3b1e654d00b2241fa1b291d894c6c2c04be69301846c6e8f9f61400e2f6ea5808bc206fc1a5802b25108730cd6688896711184775e5f9da101c6eccd7a39fe5e7025d239fb3476a5ee562f4d29ddd9da9928449be87a4d5676dcd0574b5f8243b40b959813006844641046bcf0388a6c6f22811135182b0f8e19b554ab35db89ddb2a506c926b62bac671ebf557e1c3bff64bb875e78d183e750ceb84d5aa08ab354de00fa2e2eaea951d7ca54a056511dfe60b4b242084e8c14a9512ba3a3b51af292d5ae8efc6cc9931d9668aa22f8416d8f3ec5eec3978085dbc4e03c83159851c1eb965dd00f61e3d8c4bb776e3e22b5e872f3d7e1cd7bce51d38f2f0c771e8e8249e3f388cd2dc1c7efb660f1737bf8dd9b96784877237e62a9dc2633985e55b2fc075b7df2c271a5145a0d10c41268d28ee254c3c95fba8f64c493812a605610da9879e32f27392a3ae2acb6f249cf3e27cf3324b5f936112b9e9cd0601607cc96844d970aa954b9757560c72328627a19754e092623d278f4b2fd90128847c4a285a5202a48ce81a4316a1d5ab57e17ffee55fe0f4a9d3f8e637bf89f1f1315c79e595b8f7de7ba5e220cb99cf2b6b4dde016dfe37bde98db8e79e37c87b21b4e09d77de299581f242ea3214a23c21ed8c6650c29425cf5a4d2a451502fa41af7ada36f4531b63a38dcff5eeca9c819d88c1577e1027abe46bd80865e63c5cd90635d054292a2f50348d2079e71ba53c030a1710c3120e441ffac282f1e00900fda273002621a839661ec6c8f098a097259cac7c16cd108759fa635a7710cb8ad578fb994d72550ab906fa7a89ad664e12b7de78fdb5d873e010966fbf186b96f5e0cc5c095f7d611e6bd7ad456d4a95bc96ade8c7ccf40c464627d0ddd32b135c070e1ec6e4dc3436ac598b154561e1bff01826cf8e22f7e69de85fbb03430b27b1e5f6d7a3323421220f8ee7bff000aeddba09ab7a73e8cad7313d7a08a7fd15986914f0c4538f6345b384f9d97ed4a6e771cbfa322e5abf0728f7a0707808958913a8afbd0095ee1ef84218bbfa7bc0abbed66ca523c09a1a1148ccbdc702b41b59221246a21da7a4247907a1e2a8d5158c572a0c521c551543cfccce49e10e954a3580d312d9c75090f5276125f00b65e357ad5a25936fa323c392f8843e1766ffe9f737dfb213ebd7ad935fd75e7b8db1466ac8088b624c09410d140709524747491effb6db6ec3c73ffe175261a8f707b80535285286034a0108a53d3baf399bbed60b61ef459e61a358c292860351c2676f26e04266a5f6baefc2b564d6545df5518da7d172c161c071e3ea40dccf718e733474d61fa3addcccb78724a0e14714f5fb220841624a7b9e2ce5393b84cdf6c470e1dac20108abb47ce90056f7307cf3dbdfc0ae3d27b1ac77092684503df19d5db8e0da121a7c253efbb52f88187658d6a067c5a6bef2aa0e3cbdeb09598f9f989a12ca619d64b21ddcb80587c78731f6779fc7b6c9e398996f60b2b00cc5255bb0f5c2ab30353e879bb75c84c387f6e0c1071ec2cae57da8e4cb989a28e2a9bdc2555e238ed53989fd8f3c22ac790e7f75f8416c5cde852fce74213f7819de9adf8d93e56b7174cdb5c8512c4f63b3699cb8b08a4466e973cf6068e5dcecfd0f2d8f9cc20366248494d7e69bc01e72d17d16cc1e546b229586af9a7b22409050180de11d140b1df8cc3f7c160f7ce92b928a8aaced409f82f992a741905ef230a485f698fcfbf2e54bf1e637bf5996acc26622b2e2695064bd94192a347aff7bdef31e7cfad39f96de821e832b68b412ceb0f220438020b711bed7653438f71d82ef199c8aea1abd409170a3bfde65595dd0db34a8b50de0d19be5c273c95c0de188e57360d158ee3a8576f9a2623c0a2a258a68d77dae9674604c0f7fb8a600f5f29fd97b12e104e4fee1ed210143f8af1f96ff9859734c50007066d2882d221340d6a9476cd00d6b3bf1f4f1173079720f967695e15196b803e8e85b83b210be0fbde72e4c8e1305d332b9d9a7a646f0e6dbaec2d8f8a8f01eb6ca0d4ee59dde4a1e6b45d830b36305f08383d8282e6668f20c9a672b78e1f913628d0ad8fb9daf898569a00375ecd8be15c5ee2ed44b05540b151c3fba5f5ed7ca0a75020ee3c3efbb436211bef4ade3c06a119a0cec4465fb26bcae2c8edfd18faede7ed5101426883c4f1bcdec479b53171c1ea96544d31ac2908a710d37101084b002d3e6ff7951794c771f151a0ec21bea91fdfedde29ed4b49a86c4ff1308881a7d14fa6f3e6858a94b0570cbadb762dbb68b54d92e9f775291b928cb75c540c7239e80b7bffdedf8c4273e2109424205a2044ee53964584463b2f23a1c56a102f57ef9f83c5e8ae50fe27323b1e6b5154fa7bd27d996cd4d63169dcb0b780b692019cd01ecc0e80cc3f1a9a2303e058954e82cf8d83250c7603724b539f7893f381f0ceb74cd88682d2f5e0259684d8d8e92f0baa2665a731f8be1c2ad8140cc41f1cd6d0a004319443f061a89b7c50b2a5c49f19e35ab07f1cebbc4e6ed11713c9fc302f5af0b0b572ce5305898c7bb6f18403eb70c9c60ae72c0e352e43b97a054be4ac4ce73989a1c0723d2857c4d76ed2dbce726d4efb9044313c3d8dc5340397f12b3c505ec7a6e1f4e1e1bc5c4cc04d62d2ba2bf9ba6be88c55ab60acd632751ec101abdd48dbb6edd8e4bd777e192fe1c7e30338fbed2187255b1dc13d7a0b3bf8caa5f45878805f34c0d37e185602ebcef9b0ad351bfd25dd728cb6f2d4c4cfc68ba7e7e822c24ce428789e8bebe1e9c15aebe441a129a70d93229d834c76e726242e2e0e594252178f4bc7fecc7de16c06559d415680f19b5ad620847b685e6577fe557f0cd6f7c43f60110d24f66f8837898de4b0a87a0ca1245a90957abb1e92e41b561b5ae645bfa982dd6965270e1f49bf505c9f033315bc003474b78e8458eefce9430253cb0c9aae2702e08f9e9af08ef36c7f1c6154ddc75410137ae12ebc1a86ccca20a44329197fe6afa9ac28b1371a60791c817f028140915716b051062b11379ff8c32ad36c53a4e22b61e1b48137e7a96af055b7a01069732f1e068c26f155e7f4d25be50424936744cc983e7821648620462956ef04a177295062ae57e39a0a2d25711967b0ca78647c4e65e82f2e01a8ccd8aef3bba252984d7b319c5bec33256a6cdbe72d3e5e23c396cbf7404257f0e1bb76c9274606f78cbdd92e871f2f810e68a4328f68a07582e23df279ecb403f2a8d8264226ad4096dd6949d620ddacc9e8b0c9445ff728dc6ca74e3dc2e6018b779ccaeedba9b84e8459c7f67cf0ec9fd417905624da65cc299a1214ccfce4abe3a298c0b754906b263c7eba4fb4f49bef018e106cd724ba370269aaaeb8b30eb42fcdfffcfc7f0a10f7e4856208884544deb52cd3e935313328948fc00ba4bbf583aec640e008baaab67b9fb69ef5777d09063cbffe6d922fee4390f3f9834d03672bc387d4bc5df53f3c029b1e64f4f7af8a3fd4211ac29e23f5ee1e19a750db95ffc452200756ebfa805d8ce39841d838e29d5410ea2cdc9403cc687db03c1ed1a24d3dc8c245620cb15f385755a8a1b6fbf077ebe2067aed18847ea08f4636add60488b2aed70d959273c835e75be6a80a6f1ca6adaeb3479147d0de19afbc103f2b13a4098d6590eeb56e6b0e6f5aa2c54f0fc80563c87f75f70bb1ce394a7f1df84e127ac3dc143566fc0ce9f7c3d6e786755561a38593ee20ccc5156980b2bd0803f7b5ab8dc7dc22a28f69da4d5f7a0b3fa84f71ec6ac89f0c0f602586be458f81eb2b0dbb76f9794dd4f3df514cae54eecdbbf1f4f3ffd8c1ca24a558086022bc81223b9ecd4c547a141a15069cb22a60993c4de8bfb7ff78fbf5bf627fce67ffecff29c54a5207cfd7c55299e5b6ebd59d28f292fc36bcbfab523aced8269ce15749313fb655c7881bffa55a1000e018d0ed92d1c7bbe3c76d6e4ef429a813c75bd327cee04f0c8510fbf7d63077e66871f60bed822ae8b5b645ccc51b7488e9c6341a7204b304b67028178543a0c9355e13c323b57a047fd9c2d0609e0299d5a9bc3b1c3c784559fc6dcdc2ce61aaabb8c5a3809374eb57ceeab7835245b089b301a4dd5741396941a010c9421b07e4a3d88bf3119374b4b9a0b39d2152a8fae5eb5ee7a724ea19acf46d509352988126b3236cef9b24db6582ccb019b9d450f1dd401d73720fb170a7254b96724fd1481876b00a86779042eea6ff7efb29256f46c2807f0e10f7f181ff8c00764c7e1e99327f1bfbef079d9a95727b250e25414cf974652dd75d75d3233af5a75d36bd6ed66a9e958d362ddee7fd7fdf2f9fdceeffeae2404216b47e7b8fcf2cbb073e74dc19421956fd0138eafcd17e55e9a9812eefd071f64f8fc414f8489908d4adcb71c612fd6fb51e77d904ba7486258789b3ff75d604e68878fbc2e9c47d85eeec266834ecc8ad48d32d3a68323e00a58443b305778736e347bb8819a311a90273a805adf942a2375a8315672a863530e53f083ac6534d7cccf079d5bf1d0436ecc4af723c483ec0d6fa8c4525e66aa21c7344b5e77993dafabf7e7699640875412a45ce4f514158f5b97b08aaac94458d56a4d22d8babacb92ee893e48ec3a4c32e0165094c48f79e98150b2471750152ba70bb02de0aeb87631b0503a2609d7fdf7df8f5dbb9ec49ffee99f0985d083d3a74f628c780c49c989fba344e0fff6733f87fefe5e5915504a34d7f6246237ac5b75c990e0efdbbb1763a3a3b8e5e69b25ee80849c2a38b4cebd22fe0f430cbd7b8ebfb4ae9857ece5d7aba88afdf7d35ff5f0f91719b19b47e44121fabd31df507dc12a3a1361694112c6726d622efd89a6a2915ef8e587192ae2373f73a53072be97c80964030193c9c05012a3a1a11c46fe8864c75150c90202699a06b1a64b9281e85380f4b4216fc313e012324b78ebaeee8a141e758481a080c9e2726498f50e1332b4d9725efc6482d3f941a1d60bf0de8cfbaa6d5372c77105ac21e659ae88442a3d3db2b1a73a37af721f4c21f172728cb610746a1c995d90c3248b95a26ad9151e01f58c139fbb6cf2a14935b27ce616e0902a9c3164667fd3becfca58bb9259612dfcb73efa51e473057cf2ef3e29f1003c48f451e5e5677ee6c3d879f34db232a026fef00893b028865ac345ce09859a97e7227e836d175e884b2fb93802ac484a30a13469802b790361b96eb121c0ab2afc54da1352fbdfbec5f08f7b94cb8f3a22eabdfa421395ea2cdeb8aa8ed7ad2f4916e67dc33ebe7ab429ac7d5e3e0fdd2b083d015220bff52d8e2b9678b876bd8ff63881b809d233b30351d93994ddb85b51e567f46262cb326002cce31806c20d2bcfda147ae3f14aa1a30d482528d9b14571a4c486fad26d09196ec2bef518a7a04a6e2194b5100463394a8ec9e61cd508c2a5a210ae31d560a93593abcc2417023cdf14425f53849ed3f5598994537dfc01cd775531e2d034b805a6d06f04c35d68cc4a35eff1821a3ad9085a77a93c642da58e46b3dd7d5309d8c34001931edc54ac46138df664149556537a34349863c7eb76c8693604efa56748d7b264c9525c7fddb532ee27765fcf2b4625b89722885439a20c3ff1022c191890f063396a3be8b2a305e910de529ebc2cdf4f65457ecd38feb4ffbc06f68fe4f0ff3e9f97d2e2694ce4f5c93aee5e3d87dfbfb78c8b57746262563c77e1da2fedcee3f4781dbff1c034feee502f0a5d5e548f97fffaca1318aee5f0073fc8e1336b16e4b875e6e5dbb828440d773604d8f42859d27d70b800194940aee501b856016496b833ad992be4246b97e04075c1c9649834ea412db7a96ae93208208cbcd82cc4f7e6e5721aff7d0e8d5a338e894241cb290ae6869ce85b50239e19b5759625830c0fc02712963ad394fdeaf980bd87bef232b3ad3ad7c82321820b2fe8d853ffd141ea6810379cb8de7c704d6a9865d320f274593757b63fa2b6e661d30f371c3b66713de8fde44921e492a24a31053565b67ddd3bde1121fa42d86c674f052b562c934d3ce15a854d4869253557b861bcd7577462448f96f3bce0ea622b1ff6c9cb1c4bd084a48034b9d79c1290d3961b54b9e7f8c45342a04709b312c81f259485cbffd6b5b3f8ecfbfb7074b4819ff8d4149e3a45e3ce192e5dcef0ebb795f1b7efeb47e73fcee0cf7717e5c8ba30ed15f6105109f981bdc0c357e471db7a6100918d50b487a14460288d2c340c4b5894708a21c23eda4c028645c028ae0fb9c62d1c30b34902222dc7d10e1b48a8ad42b7b328136c45d94423634922df082c7da943512d87945ae1e609893743a8aab4dc44315f2acae69846e0499080fa01b3ab9483b07415249fc2d1d924c044472ddd62ae3c90a69c8c9b8b881eb9c47833994434ad989b2225add4970c07b2ebdeaed257b282ab7e4f390b4a586edeb4592ad99c1722d7fc807aac19340175486f21c6c4b3cc6a43561d9df80ea9a2d291ebd0bc9e10fbce3420137b0d27fc34e110caf4d4541effb43b40d90576b02e1cc7d56c0a7f706f270e9dade30d9f58c08991127eeb0d3e6edc98c7fbfe16b8e52f39fee57d75fce1bd453c717201bbc6c5deee50e143a8c4c9d68865c2679e016edb940b28bb165114d41b7e42cf3c08794d65a1420097924ded066448c6198904bf5592d0c75db78b790e4921f40418093659e508ca281e4c070974408e11b61d1371879e4433d878c8f28bcd5e6005e99ad67d35e24cd140057cec81e5d1855875d8f952f9d46bd5e0e700c925af2b2fe7ff85137ec35ab88e88cb8ae5edb9004e4bda26722d0db4429978ba4e1ad4c1644dbf14254f650525f038e8fa9bc13da9cfe65a0c246d230fa03d8fc05e2a5f2eac2659a18b09857eed28055a472278393c91c7b1199a03ac9c19798922347cd3559dd8b2b2889d7f3c8e13e3e2f9e5eab8664d09db5717d05d98c5d014f06b9f9bc1f7ffcf2578cf951cbbbeb600e697cc015a2aef8a674718e616384227a125e486995eb821ec2c6ace37885d9c617d1610286e80e0da98b0d609c37329b14448a766332af111479eb4ee42580b525015efbe8e84e239449501f9738828f3791c2705b1672ea0e0a24d5faf075e4330a8312c45856da2d2bb683422cf405e9b38192900e2c76781e0d80c2bad2601c5167131b5dfc5d5b7c38c7a311844a1dcfa7c9037f56518a5de1b37cb84799673553a91f0e77371b8c903f82f8bd83b13894f3b547a2dbdc2915a0747c57e59a0dc8552008a7ca88a1b3770ec1b6e62d7098e8fdd01dcb5b5884dcb8be8ade4f00f1fc8e3f8581dbffccf0c5fd953c30dc2ba7b44335e2f85d3c5254620fc7e6882e1f434b0b1af26f656a58d6bf3a37830dcef3169aad5ffafcda6940abead1c0037b1c48a7e9abd0421cfdeb4bafb49a72c953c29809429f603b6170fd654141e30e832850e8c1f4c2eca754adae9c0d5050bb1f471eb260b3e17913fcaac7430ac912162e68d3d93380e974c3f1165975ef5e0965230093cceb913accd4d1b62d5c9830abbcfa2bc09b98691a7d288422769ed721ef4b65597c792f57b1ed079ab389fc1b7ab462c9e5eaf723f2c9351fa35f1ca15b0fb8ca7461106e53d99d16f2ac358abd6c1e7b9fcd12b9625270319248fea84054f969b6956654f87a7c2e57a007da1425343fd5b10bf1b9fe5383451c0e62535f08c447ae491312f7247d4fe344b83899091c723d4ec43e7d38c32d7b24d3cd572734b2617af246cb49bb2580a3de70737ebbb9e49382b0f01a027c2cd87ee78c0f6c2d526f4a251675c4ecdd5d95a5cf5772f183b653c0349371dbc97852c30cc11e3bf12d6a83daf40f2e67b3cb354a8ee2f6fe11116177e84cf4f4730e6a2d65e5d61072ebfcd52cd5ee3c21f5cfacc821a528a62b009e8b66b151c195dc0fddbf358dac7f1d1afe5f1d10726f1af3fdb811d6bf278eb9fcce168b5822e5ec0f67539ec392604bb2e42d18ee0188de0f04148d16832cc37587bb641e6227c8d95282cf5f360445aac6c23ce42c31a996771a71c398b4b167ac65f1b6b1cb51b5ac34199cd26d4c2fadb1e40d8de1a6d5ecf8b3ac790a18eec29bbb0aed78e93ed2ff3de4cf72922e90c98775d09b3573a23edbabe76df6b8fa34efbdb4bbda6705f78cccbbc861f9a97f47c9b069047c2770bc0d7f7733923e0a76f128a94aac2f90a0e8d36b167a8812649fa0cf0ae1d0c17ae2ae1934fd6e1d78bd1d68c72f36171ad21cd9d06234ccfcc45713c37432a59810b87a5f294f0dce1cda5e600604c644584c94fd8781d1ecc3477a01d86133d81c7f47ab82b2e64899c81392b91197a2db468724863d4ffcda230a055c63eedfbb47f5f4be5ab34773d2be978aef578fb589944313f3472afc2a266751e2b3b84e0d6ca4a5202641fcd42f9eea102fefc9105fce69d058c4f55f13fbe53c02f7e965c8505194efdd4750c7ff8633d121bb275a5f8e0b335f8d592ccfc6b9c31f27865af89fe620db5f91a8a95526a09d0d72b6b0e14a027bd653fca0784eba13710b58703d0fbfe2d69e311e03f653c981566b4da52f4b0c211cab1cb926c8c71f58aebd44acc9896ca4cedc89018a9a49480dfc666f01cc9bc9083aefd96d2573779653f93d65d722ff5da7fa82c7b5bf7e34934e3556b3a40b005bdb22d67211572f8957f9c4777d1c77f7f47051fbea9896fee212ef2126ebab882cb0679e460ffd7fb8422f0a6f07b5f111f17029ed76c1951d50faecc61635f1d0b751fc58c5479123ba2db5b6618ba6489d9734e0cf2d2b48d9ac2128d1dd1be8212838ec38f7e4ec631aca50760bae6a63790ed72c62e3c33a8acb3dcd5765d6533140829af63861b9d3ffeb514029c7fbd3c4a94701f0deee1a2954daceaf321d1e38da01220be0a624f54fd2efcf4df7878e75fd57074bc893b2f29e1cecb4b98acfaf8f9cfcee1ef9f9889a4e077ded283dfb87b41c2cafd20972073d655e0f2b51c031d0dc91e947d61890825deef0c091c4944e6823009ee2d623008337bd7edb2beed4e9c5b4657f54b12ef7d78f1b91c6b592e4cfb5dac04dc0294b456ed96d7f42c2b344f83bf6a1bf2fcebd50f03bc7c09cb5815376d28e3d38f12b82c68f955b95f94a42750c23f3deae38b22ceefab289ec3b9f932a6672bf8dbee5939c1ea5dafeb921ff8d89bbbc56e9fc61f7c45ecf7521e5e4d2982bb2ef0653f4aa1b307ed6a007d1faa3166dcc298d821a09b5ecd4b4b0144532b1274df3a29a095e94d7801bc2dc18a491d1dc77a29248aeda479dbfe3afffaf7f42277bad45146637e0a1fbcb181ae0e8e665d09acccdeabc65578e277159a6fc04b189dee935f351106543a7398abf6e0439ff0f199c8130056f7e6c5e7c49e5f108a4258ffabb772dcb96516b30b0d39693a4bd9736eb6e241f35093068e1962c852aa3cf9b42200f3b4d933617c1e416e4d3ef6b4fee4f38273fef5c3fc92a8cf620fae593686f75eb7027ff180f0027ae2d9807a823d1736a78651b3500ee502417d7bf0b37f3385863f2d4bc8ffd767a9892c273125792195bff1468e726312e5de15ad859ffb466a8efbb6bcc5b30a6365a1a64da5c178327100110b008f8759729eeea29baef579b7f5fceb873f174014e7674e1cc22fdfd28def3c5fc10b8784c5ef709836d523160b1afd2c5cfc92f8b93adb8d0ffde52cfca62714450554d59e9b057eee3e869d2bcfa05acba1bfa3d49214c5f7d3c9611076efb090cb53abaa05202dd7a83e2fdd310ec11b01dfadef1b1f7671056ae3448d9fcebfcebf7e78938179142a7de8983b8abffa501deb077d48ea083b8dd48441834f6142f83dd1c5171a5d42195424586a6e0e78db4e1f1fbd6b0a678747d03fb0a44d36633f34b50033c16bdcce19316b6498ef06a879e9e9361e75f5299c7d3886d8c5f8c3d46c3b47c2e27c1070fef5c39e0b58b67429eabc88c1e63efce32f3671e966607612a8d794d50ffa9da4dbcf1754b5401adbf06f41bdbf2a14c7bcb0fc1f7823f0673f3e8d91132f6260f9a064c46a2fd11bcc87607ed4d61dc7fcb09aaa9881d2d4c7f8b554009198732db6883e6e27ff422e4016f3039c17fdf3af1fa117091491acd651c692ea5efcaf5f9ac72fbc43c4f81d1cf33344071694081b81c093f5af050a41fc5b13ef999fe1d8b40af8f84780ff7aef28464f1cc0f2551ba472710d2a49f10102379e257f071bf7a1492a8b4308d6de70d0606c5534ff5c1b6dadd191734d29d8d0a0f3cefff9d78f522840c2b579f3661c3a741893479ec17fb96d35de73dd4afcf5c3057ce14908575e25e588543644f5ca46d402b0ed12e03dd733bcebaa5994678ee1d8e1696cd8b8054b960c2c42f8e330408d8bb7e61fc084ebc7be3a0ba64e2b6a79dece5c80a0a72d764b82244280308c29f842ea516d30c8f9d7f9d78faa12a0d7a64d1b31bd7c190e1f3c807e3684dfba7529fe8f5bfaf1e268278e8df938365390c341567537b1baab892dcb8075dd9328d684d53f368966f700aeb8727bc484bc485f24a07ce351338142aa72cbfb46324ce73ce062401b1e4038d18371b3eb08e1400aae7521b9e8817830ffecfcc639fffad15202f4d5ddd585cb2ebf42b21d9f3e7d0a8d85615cdadd818b57f280522e480b341b928e7efc540d5dddbdd872d1652897cb516ee1a5e425e49c41ab114f5754ba87108df9a410c0ea06cca7841a60c4add7d4a4dfe82a82c6721bc749d0ba0dff3d0aff6b8dd5e6fceb957985c23b3030206720120bf2821c793e23c7c087883c1abb2629ef2b8a053924b07d19765a04fe899abc10f24732e7fbe5a83f07df602a0e20891c88e30acdab70c50e9af6f9f7e51ebe9a90ddc5281a97b53957eaef7fcbe79bc6a9e89a9ea4bfff95f608c8aa578490f7f7f5a5be4f5f8397622842582f8501b91cb39e89bb8b96b138a46fab17408ab1cfa34e38a64933b3220c687901f39efefd5842d708ed574b28ce5559bc12dd7f2ff598598aca16220009ee06dbc22e46c9bd5485da2e996bdabd2c9e63422503935daac99e177d68a82d98f98c1d1665fb5c969e714d1170372d207b191ffa6b55f05d56ead5081dfead15c02bb19ead04d665e1f5974e2ffe4aeead902772319e8bad40f4f65d9da8a5f53155b35ba8445a41ef638fc11d96a756011070f1418b06987611cce200097fc75ee54df35a5406afc66717f399c5508abd165cfdb4eb7c390954ff2df744a840da5524462ccf783053d2b4f8f1b01cd748fab055b8cd76601e8c3ae6bc9118116e135bc6f54758c10137b1913fc2b17f1a51c36bc5b2be1242f14a289576c7a1bd12f7f5724c277ea91e5f3b9ea03e3c46e50134431cf60430770fab8412b73b1dd80fc6571b68a2b07d578713e8238fa2965e5d35fce86602d3e8b7febde43d7e94cef96adecf4b196f1e4f9a76c7fa76474e24cf4ddf99bb48470222967aee1064a65183c55443e7d17fe75fe75fafa0ea08f0353ca2b64f8c9d83c9f3187d1f94016d094d6705863661040c36230e52e60f3223f6384fa671fe75fef5f28629319e5f6ffe892a5186d47168b37d548ec092472fcdfc737bfe2fe39190c767e0f1f8ee4462f0bce09f7f9d7fbdbca143e0054462ca649b3e47cae4ae60264638824879037eebb900217180af2514a03500e954815c9ffbc0a39102e75fe75fe75faf40086050ee072e7fc80c141383e8330343cfc18b4284963900164eaad58c7c68f665eb8136ec9c19da098a1780c53109cdda7be69967649dd3ee5cb2730e2f65ba20ffe159c29774adafd6bdb6739e97f35a5c0033d7795eeefb5fecb1b3aef35ccedbce39a95c383d3dadeafe818c716b1498818a34fe4db8106d2800166b9b18e0130f208c86127247bc1f4f2d8e26d57efe8b0f6aefb73b97785a4aa1bdb8c85a98d6dbf4e5563fd0ee87b73c5ff23e1777eef69e93deac1d0d796fe3dcccb11ee9d7dffe9ab5169bac754c3f67b618f136f685fbd8e96ba2cfa15efc9eb1d72566d8c8524594bc5ba856e5bc4c122e72e2bdc83b4f9b361d37012919f68332601b0a407200060341f51abfcf4d05c112d71c940779502a141aab58eac0ed6f7aa7e101bc94ad7dce16a9edc3bbb6a22e46483242661dd838afeb22dce7731e33f1eb20e6323eca939a9e236273e26d3f63de8638be5c6a2bfbefe7ba335aab56f3c81cc92459fae714a5fdb9ad3d7728b0f4174d749e9d9ec2fff7e77f2269883ce6457dfee13ed44784ebfd3a8c05a4440e3ec074058078daab09256496e5874939c22c6a10a646529f1d1d0dc616b9fb09d8396c39e7efb40332c7f2673d7697dc183a9ec79e8d8e7eb4a7a221458fb384f8b9af8f9da338bd3411738c9373ad8f35954abfb76c8b99726e1ee78f588b3530ae29a2b8e68b55a1c65af3167bd1e5c3a41d0fec5c9454d253339f413830d7c3dcec8cc4e684c37918d398b8833c8047e3d9c39fc1a221b64a57b0c5e100e8cdf203810f2127e124b800938f47c627ccdae6e174922876d1998678a447b9c32dd317342d56d3330bea61a8e9b3ee11657a0ba5e9eeaacfa5c486da097d7de3739eea0cf24490633bd38ee7ae299b3441e00eb5c9c1137f676d9cd1f46d62a794c75b32798ddc5c793f18a2ca530486a72a82f8437eb8761ca921098c35d4c660c1b27c2cdbfa1b1dadd6b5b96dbafe1ce2ef59caf17495ef8afab946b1172b90f8a83c2ad7a9a7e273cd95b778be0c042e4f0e0ea10d1d3e2a093db668bddd0ac08bd599de49c4ed6dc80183234c92876a51717015cda61072cf842106f79cd4f00e6d9a16037287a042533059169efba615d0f90d92d6c6bcde76625673c9cf616cba9feac927efc5f1b389d0cc8e816d2b6f113db58ce08d64b17d2d195636be5ea621dc1cde599b5ea2aeacdbf5064ca390724e9dfb82b96f84657852991e8dcdabe1bc7f8e86df34d58ef1b0b94908aa6102c0747e40069bd53f9fe523e9137b5ce3b7cdc27fb22b29ec3f6e8a8b67dc33260cbb346ca41058eb4de3b412a91bde74bf95303343a2d3dd5bb7cbd88e8bae5f8f2b79951642b4dab586b262f106361567fc3bdb4db72da5fbbced29adb4b0ca9095361496e1f6223b5434d7d34e5c326762395d39c5dcf96029c9dd30e196b219d3c3bc3652335a1804eede7f1e57505e53e3d8c33fb9d14b10fb1f61aece451b9609050eaa001e1c77ceda889062f34ed37f3d06ab6ad05eec99f67d9a1e68d75b584cee813be279803b7fcfc153f3d3ac95527ac9a9346639abd9717a6a5a2a08d528f60c4b4f6956392d8f93e541b0362a0bbc954065c6fdee509267d43ece352fb2186ff05c52a63c5000cda68f24dcdef2bec31c5bf03bae45063ee770c458e99c80cc0000d9969eb7b1256322714a04fa4c4b58b410d2564993c403125a2ae7e5d06836121b262bd9c753927b6965be569bd1738ce35eace56c277f9ddc98a6c8996194197b222d79cae211d40b0b551c3cb01f1b376d45a5b322365f335301a48538c6b3e6c6f64a2a0a2d0cd029ae3877e436f4189fbbc4d44f77f51dcf205a5f2b3794e575e6f2f94cfe02529ccd463dc32b6d1deee8af26e7ee7b758da80faecbd3e76e12629094b9e7f92d15404c01ae6d68ce830183b03afe42aa70adfec8cddc4123f200b8e14e1b1b58d35ad90f248ed73c21f4f94201c3a74fe18947be861dd7dd8c652b57a34ef55297fbfed22b8da9ee24d56a27c64664cf7557779f4c9a367ddfe1eab268dc1a73b8dae75a64b37f9116cf12375dc8242bd7a6d19402ae2633e7a4202e1918c015775d8f7ff9f277b06c703d962c5d2aded3589482324164560f49f40b2d7493e52ee571cccdcda3565b90eb5b2e57502a1565184902474a7e7e6e4efcbd2699752b954e714f45f1b9c64b2f2372a48401e63acfce4c61efee5d9814ebed690d36b152f2c53e5c8bad975c8962b1a4a66ab5e50eb8f782f4001abed15eaf877e11f519338d0f254ab5017f2aa9df560e800e14688c78bd582ca046ffbbfd94c20ec1f836e8e27d667298dbe1a69e04696929c5c149f069a3ec7aec2ba84f0fe1fdf7bf0d5318c0e8c49cf00618b2811eee2498616958902768b394480f9b0822a726c7303c740a9d5d3d28572ac13c3738e629a4b8964622d21d52b4725383492d89b2233dffddcfee12425f8fb4e2ea356bb062c54a2950a74e9ec2d8f818fa7a2a78fb47de8f952b96e1af3ef305cc0a81a3f735eb0dc38c5b5453a6478aa85934716dae241d7970131353387ef079787e15859cca7e2f8853f62d5d8375c21b19393b8c9387f7a2e035e47cbda6f87bade161e9aa8d58b96aad64e16d37e94a952a16e25698456a9d15ce88bdb5303d869f7ac71b70f9659748e5e969f05c26b3f61c8f3cfa38f61c9d124aaa141944ae6d00d66a0db5df5002bdd1f49d894bd707b9768f115fa524066d9714942b6dcc7ca6b94ec93897eb2ca4dcfc591b2980ba4f1e00d7584cf47a861f67fd12899864c0502894d0101bf1b967bf8fe3fb9fc23d77de88f7bef7d7a525f8cc038f62416c82024d666c992fd6776332c2d33d1afdfce628e6f8fdb4e85db912d6afdb80c9a9499c3a7d0653d393e8eee947a1243641b4805c234ecd928e76d012d6f76a871a854aa33e25fe76d74d97a352cc4b700959ff536335bc70e830a6464f63f3fa415c70d93a2ce957e496ebd6aec6477ef627f0d79ffd025e78e1056cd8b45981c3827a69546ae570944a581bf9fc3074f230353585d193fbf08e37edc465975c229e5b37ea629d4f9d3a8907bff11d3cb5eb312cef2de1a7eebf1b5b2fb8009d9d9d12657aecd8717ce1cb5fc7b1e387b16af53a29906e1bae3f5b1ed1debb5d14e67667c46ba15ac3cd3bafc3f66d1bf1c8530730b75043757e1e33d3d34a290aadb575c30a5cfdbaab707cec091c3c7a045de25a7b7a7b8d4a1a4bcd6cf18475f4c47f54054850ee19e5762dfba30b1f8751146e4b01c40d3f711cef6480d1eac5369981de8b4c090c9ec1d0da2acbce02d72b972fe0d0c1fdd8f7f4f770c99655f8d3fffe3b62d1d7a8984b08bef434c4b99ae700c478a92f5200245075615dbb3abbb065f3268c8e8ee1ccd0b0306f05b1a1fb54cc6833b33abca7c5bfb4d227f3539fb1277cc9db77de84f95a13b3f335e12dcde2e1a7bf81c11e0fbff4931fc2f2654b139fa3e9b83fffc177e38b0f3d8c43676685e7554c26dc78aba930d9f755179f2fe67cfcf47bde8266be0f5f7d7c1fce8e4fa12c5cfff5ab96e34d77bf09fd8f7c0b975f7e25e6fd12bef4f0f3189b9c4177670736ae59810fbcf71df8e2d7be878985ba3434a9e76d190b38d2ce16d8927a5bca42a14f4ecfe1b1670f607e661aa70f3f879e4a3ed221fb9ecde3c1821afc91135f23a3754cf7aec6ea759be53e6deb1969d74a72236528b3180ba34d3896c1a00290321d38bd1780c5e4852c25d8cc864ef28857d45600690013b33413ff4431dee8e8309e7bf2bb18a870fcc6473e8cab5f7f8d3bf1d2f435ab9496af4dc23eec3a3033428494fe011ed7614901f84d45d3d4e06a91070696a0bbbb07c3c343c27d3d8d6247172a9ddd51cec4ac3fabeb497f3669b87d6d184b58fc7138096a2d188a62637efdb13df8feee43f0eb356c5cd9859f7ad7bd32de4e7b79b93c56ac5a8f23675f944a2e2e35c5e0ade415ba36b45b11d485e25ebb7239b66cb9001fff876f627c6a160511dfcfce2ee0ccd9091c387a1a3ffd8eb7e36b8feec113bbf788bf7932c7323b57c5d19323b868e3edd87ee595f8d2b79f4647b1a0ad7bf27932cdfeba833aee3472e15bc915e7c1ba37c4750f2eebc3cfbffb17b074d9f2d4e7d710cff95fbffe385e3c35837c2ea592c6fd145c81f2b8686f317bf68f4e91ee94c5b8b62d3b7b7d9e38713e4b9750bce3e212b7354eea5f03cde93b3c80761b2ff262f3ed7dfe298c1cdb8d1fbfef4d78fbdbdf1ed195dbf2414937b941175555f05b666a5bd6fba178da9b62a19a7e48a6aa9401792e83ab56a1afaf0f274f9fc6d8e8900c0b48a86483065ac37a39da438d679525112800156fab845f519cffed77df22857f4eb8b66747a7844b5b97c7b868d3a0fcd8bcf8fd438f3e8fe75e3c21042fe744179e6b0523bc4272db9b41a22c9c47d90c3bdfc4c24ccfcecbbfcdcccdcb6460019e1a8fa5c7bb81956cfabeb3948894fc4f8c97f49df1b75e51e0c15ef603cbb620dcfffe75cba5f0ffd3838fe3d0899180e8930706890b6f218ff7bf6d272e101ee173879f042b15e27de7c26738d6d8e79ebcef242b174bf1f678cceaade30958bb3980a8b92066fa5d14bf67e476a823d59bbec15882b0ec139c20b53c25be6af5055c72e126dcf7bfbf1b83838399ee0f69e746089860ad1e6e2cfc3a2026898433bbe960a3c282733703efa3d9d4b9e963e5992b96b07183080bc6c631355b530beaec23d0ce6a416c9995b8342c852394d4f707c94b2e206b2025352f04fdba4b36c82cfb7777edc3ee174f8aeb9a47b55a47775787540023133378e0dbcfe2c8c9b3d2ea36833c4612e864ce8ee68bc10590556df89102a06bd3135e2444f16c00852aad377da3c2147257d0eff3a1ab1cadab9548b5a0c259eacaf5373a4708196f90d20f14d1f13313a8d79bf2fa746b7c76764628ae0579b09af86caee91b00a9f0442c23694d550079de0c13601be310ff6718837669c1e5e6e156b6bf95cca7b9f894c9add54d37d001bb4ccdd38b5f8d099dffc8ee93b8d62b61cd8a81d46ba8d51bf25ccd9c2f13541e58ebc6df44c92ce8f4e2491ef4f05771db659c67a78dba50afcb0cbb6fe43abc082f4f968c84bf119429796a6d22796dadc051117ad3ca4bb0a865141165745d7849d5f9aaac5a7cfeebbbf0d4de63c22bf0e497cf95db7cf0d8103ef9b96fe0d4d02856af5d279fad5e2f0f33e746ef8496300b98231256588f49c2799394ecab07150612a26aad11f49ec0c82f91b02fd49adaf365b2e42bb126e26fd5859ae2cb33b00f3144caec9960f14f560388daa63c68ba3115089d836af2b56a15634299d79bca28d5c475d0fa9377e56b9886057a6e817752add654f93aa59ccc1df21de6bf6ab54674fd5e4b77559b10a4a16be137db54006ac89816b231e93eb0300a61c9714dba4b12366a446dc4b20ac0b4d9e6dcc034a4f79eabbf2cd416f0e47307b1e7e0095c7de926dc78d505c24a959db5795976f302abe088fb7d2356d2e0b8c1a2f1e05d7ab65ec996564f3540555c035a90dbcf64798a6964a9b3d5054c4cceca8dad3f9764df43d818155b54bd3b45291216755dfa89329fef701f63749f173c5f72533bca653cf9fc314c4c57d159a918f997aa10b27ff8ea0f84da5dc02dd75c8cdd87840ace33739372966c418d769a2cfe1a5e94b9d27e04c7a63b568d67ea08278ebc88e3470f81f98403c8c32b7661d5facd2a1c999fc3e11777c3abcfa059afc2cb17d1f4cac215bf251ab421d7c0f028b9b197f43cbc1544045e69ec7998e56cf5bcd51a731485e44c9ed88db90b57478b293f636165220c4004c98b93d44cab3899c506d31b906bed9b2d5ec6d41fc62c99b19b8202cfcc04f1648500b02695686ead460892168bc44484712811763485a5178664e79deef2322b99484921724fbff9f80b321eddb9e3426c172e2cc5a57aeca3da9861912dc4e78eb65fd48d188296cccf71cdcfb59f1b4fa00379747f5c03465485373231358759e1024a010c9e939ea7673c691db935f021ac5645362d7079955bc72d5b9774d17d6dffd1ba1e3d7c004f7fff11e1fe7738ad09bd6f5678081fff6fbf8233e355ecda3724944631de587e0c8c37f1fe5ad8a2855266686076d5850a353cf61dd75e880bdf77b7089736607666064fef7e1e5fffcee352006a5367f0965b2ec3ad375d8795221c9c181fc7a3df7f125d1df92039a7293c4d38b835ddc2bc0e5d3d7023a96976f9a96350797ccf81e3b86adb0df8eb3ffb7d3cf09d6722c5972385e599bd9534be2bca1f047b33fcd90b65cb0a8e74a0988f80fc23dc57cc74f713d5b7c063524a2354ac2c06a1b13615008ca6453d19c89d6ebf5dfed37570d3d75aef343460a21e6e68404b20821ba05874747c1afffcd013f8c19e23b8fdba4bb075c34a79bc300ef73ce6ac3787d38b23e5c0334a6ad08040dce5a89ba2eccbe49f0a3dc8c59e9a9ac7f4cc9c8cddc2eb69469a31ad77ccd17095091af64db48d7d2c1e0276fc68cb51ecffeeb7dc82bb775e6941594dab439b67edea953872e64519e7aaa41c33ad99dd78c32d54174f432e3003aba07b009b2fba5c781c27f1d5ef7f0b957249aced2afc870ffe847c86efbcef6e1c1f9ac6f79e3f8da16fbf80be9e4ef1f70bd1d3db279ef9b0829cfbdcba269650dbeea0330d466cae155dc7fea343f8e3bf7b50fe6dd94097fcfdb1437b313e5393033bf5cfcececd627eee3a99b86e06de43285dbec16b904eeac903198a0c0c4362406a421e59c013487bafc935afbbcd66205f4302866e88cef59728431826921b3188cc866ba52f04a0a0d8fad9c060ddb9f53597337090998a30294e3d7a6a04576cdb803baeb9486e689fc70fd90da4f111ef53572a2806e78431741cb646fe8171b561bc4d7a6e727a1e6313b33217e179cc7027e3e0c3b78481274a7af606e4f04dc161c9aca435282a8474c647131ffdc6637bd0d55996f13eb9e959d1e4c9275fc4bec3a7655c4bae2f77584c336ee44e608bbe87e4d33392074a68c9c37bfa85a3f8f4971e13d6bc197926f4bb0b360ce267efbf15bb5e38292ceed3110926eda127771fc6e1e343185cdeaf94b0af81a01837866598029ec635e06ac6e5564299e3f4d949a14c6be8aa94e4efde2c3c93fd2f1e90f0645d864aa56558b1a417238747a43cf961dbaedeb7613d593dcf149d917367addf658875a05a58b2f40299b16832b23c0044d460b0dc695df8f5cc3ed3d84a555d9307788278904194afd250ca562b8b853dd47be34ded9ecfe7e4b1beffcc01592b5ea837950bc6f53c845e2747e2c1b3b4546494abd0bd006ec81d67e6758e0b773fac02b094b26782842451cbd71380267904d71963b876348def9d6b159c70b579940f68e2ab8fec8eafcb81cbb7438162218702815a782c3cccca34c74a2d497661dbdef0c1c97c4520c4f95c4e2af2636746a5909032d0431a52f47ff8575fc6e8e4ac3c465e0bfb48a0763d7f049d874ea324ae53ef38e5bede22cd9da2ed2a0372abf693acbda8526aa554c4c9336378fc9983b871e76dd879eb9d4e8f787878148ffc609fbc6edf0fb1097e8abf1d872fd17ed38d9ac3081b6dc0d1be63d12c0004ec5edc711ff9b48cbece3ba06f188575f64d0f4057063a14d8d750487a72c00290f88e879c88d838b7c00e3c4ae4501e6052089f0a3fbce8fa129e0992e87fee74c5915820e7327113f852f3eb71f69ba71d9325ae24cdcd574a8c194a22564ebe657d5df05f669d85492149736f93d71bac4fd34fb198cc8a61ed6c04ac5a3bd72c2a0ceb4738040473ef94e7c98cc2e889a131e9b5c8f5f5cd674b654452beb28ae1fb1658cb31e3c2b2ee2eb644fdb9f989325b6c4ce6aa757cf681c7c0bff46866c193949c1779522e6fcf06807103aa6650f15bf216ca16d7f27776ea5586478e32623e0d361ac6115133410af555825e8bc70c2461bdc3e7dc51acf6810c0ab0b4e2a32d44d15249a2446e504539054bc78327d23e96e7917073d31085ba5befa7bfdf98a59e5675e6a6aa894cbeaf55fbb8336720bd15e6273c2aa6ada733dc6901dbe1a970243f81fc349e174ba4b61c990c6e3479c50941f3ac04568a21e9c9022a63880058491b9fd67e65265ffd44bb374b541174e51596fa8837211595a58388386f814074c903352df941d2378eed6dd79fa79502b5ea820b259e4fab021a834419331b6042ab6fd4b462efc1f7350bce948df0b83ebcd0b78ac7c8441b2685ca95c4e1ee1560dc549f7a92ca0112e2ae9c6426de2e03d2ecf4acf5b089d98c768672f47525100a948d22b1cc43929f4ecb586899e4a4d1d718248c4dc88cf29dd1cec691c859708763e1f2ecec7c811f804f184f7bd23ce5b7d67373003d781bc6853b41cd3c1d24c7e28a43aa23c5e1f03691cce138f6ac9e6ff2b8a719b66c1c8e3efc83695d8a524979c98bcc6761a0c2037a8c599d4770606759fc2b1681cfd53f921310c9f6519ea4cbd4db60d3707c3cf15e172e1a46c6dd4483f1449f40b4257d1b29964c6601c9ae2eab7017e52e224fca1960f004c3ad5d01e01626202aeb19fea996a2f2f582b2c5381b3e83e83ddaddf8493cb49f28df69962a225075b478fbb62162d6b3f31d9d0d64749836962ea6b5325dde3433cb351e3c33c1ea86dc26adbd6f887f5a1bb61e5e693d247a7127c1f9ef5032bef64e662da80f8b2d398ee19348216684057060336408408955c7acce7c2b542fd73b896cb7c3483e988b191bda3079a5c7639acbc898c3e1e67adacbb244dcad51a1719f87150766592d98a10a4bd4de61c5cebaa50ab9e192e18bdbd670d30fd6af91598ac2f048d2cc88c6209b28bf999b23245e3120ceb6afc4cdecb612dc646b344fc99dc43b9e277236dc6e434eaa60471e21500dbe3e03cfdc2b7a88e98aa1e31aba95df3184933bf0163c354dcb61cdc474ac4f48b41b315e19c6c8ac3cf0843af12db709d0934b11608a73476e494780dad800dd43e75139bead2420228611968833b8ed76208b7f5dbb71df773c38244a2c49f7d395c4d16db36f74fea998974534e47a5c9f04a9f00cb790bb29c0384f5e2b879b51021cce1e78dd353638de6180afd2f90a92601158ea53d19c87a84ddfa8c2e869261e65f69941ddceec1c4b6c8f33422f33c4e35a08c7ec326cf8b7a00bceac30312b2baffb10766093f6ccad5a8b4147c792f90b0d6415863866bccf7497ce210d665093f076b5e7cb9895718a7ec7dccfd00fb1382e51f5903e504d8bc9580c106ac303e05a1b70bc0159aba91d1677b2fc3fe1b7abf3e8ee5d12501439820d871bec4c18198135cbbe71c302f3c858e9345c31cacea4a5ce4ae424012dad3a1c5ded9a36f14812fce444d158e151369780d9e69c04bca467ff4def2ead4a6edf5716056aab75b2dd7b96c8b6a75515da628b4e5d9776a6f3314bd92013eb9058a316036a5c2d70b6674c09d09909552205b3d6c88b39ff6c746eecbd23a2f36b2b09186b1624ca59c684d120131ad22b996183ea239f9a18c3771ef814d66dbe34180fe61becb5ccf1b0cceeb734f14bcbbeb4fb9e563c7c599f6bf7badc3567b4009ea4730ab7335eaa1517eeb970d772b426b1e28bfc3ccb52f5290a6031f3905acd9d5accdfdd94dad9e76c3dc122ed1ef4bd2211ae227e3f7170b7e4650cc165f6a4df28e1a7879321b92f3361c8ede500181269b008026af4058434c49a8315681f624e9d9f9dc19e27bf25bfcebfcebfcebfceed45c4a8a552298612eb218d4db91c987a4f83e5f37038683b0a20ca92322f7512809e803095824e07c6d1d151125f1d299f6da50ddb9919eb788f71ec2c6bb5180b9296b86ced19c4433b983b41c8d2ef3de172ebae722204401b6e37cf703bd196855adcef5dcc475a830a4c5e7bc65a793f16c92a6b97fec5d1bbd0f6bc2164e663dadb436994b4ed4e1ce091cb1f527dab8a6182aa3b917c65c9b965d90a20ec1f0fb38689cca39dfc33c7d4c8fe65d9feebfb56c28a19e38bf41083391947b23658866a323691ab6d92b5e116bb505dcc8aa3f44deaa55ebbcdab600e5065563e80592b61e7663cc3c5b3525dda27ecd00a70f9746609376d53b3d418de6e054f525d05edcbcc4b39a7eb39b18c6b6006e374fcbd97a808d9cf1266674b664ec2f93996fe4cccf3c5e7e1a9b1be7b1dd273254ae03d960b1ea9462e1bf25520390323314ea0ed1c0010d06bbbaa1481060f2f043a2d724c1dced430423727b65eb3747d6f7b1971fdaaf5fbf5bb683922368b0f4c5bbea00498c81e70a47f3eebd8d62cb2f0f846c65b23f9e019c78e9d8894995bdabf7ae586db16cd712fb620d9adb6a983091937c65747783c6b22b0feb9f0f9a6a6e59c83f498c1976066e15b0e486cb984fa3af1888b6111446899d35178aa1c30bd1267ad153312ee315e27a14e3ccdd0fa6e60939799cee0ba9e322791307023f99f2486e0d91acfe217c87c50ba1766fccc2c0a646e7297319848bac4fb900c61ec8710de97d57167d26127f9d7124aced12da95f3fd7d19556552bd160621d9bd9f7649f5ffbd7401544d71e0a52727d98750fe66c87b473eabc5b3618571b5fa5ad1d0b13c9da39b86bcdc27fe5fb75fd657aaa21a7a5fe79c3c7d49265cc6136c3461a6670fefbb1e50ddfe75b3d21d6ec8bc4feb6f778cadee0f67aeac26fe5e122be7f6ed29c87b8188fd99c136d28002394b6ab0156c691bb62704bab4559cbf0b386264f79308ee3319720d80f57778fede330e654f79cb15421e396b54e10a532e6509e3c99a1b5cfe7b85706c7680497527529497bf3594296690699238c72914b32abdf9f73f3bc3c595ae4aefbd48132fadeb0377bc208581e5362aaab598d82156e1a214bc69452c64c8599d8a776b2dc7ad63c2b3393a6a8f56bd77ec75b7cdeb55f222f9c590d7dd615a57b009cc75d7569fe912d74b66575094568b1d236692b973961193316d1b568be9fe29d581a58bb47665fbb8bd0d021e086f2d4ad5bf83766864e51c6b6c5e64c6c4a6e2a30eeb23869cf52bf065de0edb5749edb2dcc467f0283fb38296eabd167e2f2446c05ea3224b63799667ded73b5b3ef5c163923c4b02d79e29d81f5669671642e0fd9e531587b35f67678d4469c35b6c14bb3082ca24d44c275e2ba10699b3a21c43663901db3863fdbee784a0cc6d232ac3ca3dd2365b3c3685146ca356aeea02d005ca34c76288e78ec1433173611fbc69626d5abb0376f42c9b90c38cbaed6687f4b8e2763a9f911779bb365fdb963bd2c373c9183b0dcda84d7e552d6b6b1718542f6b3631a9c5d4b9ea5869df6b34a71cda3f54d53baf6ded69fb16ee519d30a44daf3729dd3b5cf6da39c08d5da0a01981a0d96d301a1518d2f8a39986d211d09391777b931d9d5b2b0c850063cc39577ba9f8e0609d3e221f977edc1f0e87e99dba2f2a4eb67c7e3cc1182f05689df762cb6be71b836df3e6230e6c9585f574648be37f5b27437df15c2c13d11d9153686e113b78596f6946dcded4936566b7af46bdf4f75a55d89615d31337b3f7117d6c5a12c384fc4e389d0d0157e5af764180923a46206f89abbf220294a8925aa1aea7d8a7abd4d28308fb435d7f0efdcbdc07a05c099157624a2b40deae90fcec51dc01c196047595277e9b86e4932aa063c250e4b64fcedcd99a5e1194b6e18970bea7a768b7dd955126d0c3bf44c7da2d2e08eb9b97dcdd63d32cb53e0ae356e510de17a2bb97e6d29f1be335baee7133ccf29c436c5bacb5bcc4e5ac7421d862b9ca57b9ccc52aa2cc5f23b0b8ed67d19d395b342707b5848d0cb61243d83b1758a2ca54d0f20cc209aa3c0d333cc0c2c3dc1c1ac66203d936b6bc1f021473f73630457c2823aac949fb129999d017609af35163df5e5c8b23b93a1b6d5b02d71568232c5a564aecf4373b36d81d1fbc45d3165d8e998523131e27cddbb70556facf89c5bd762c3565996e248cb2bd9cfd0a12cb82b5997751cebf7dc16583b4cb13c32a36260b3665b5810eef234128a89bb0bfb4658aeedb9f0596be39939c22f3714ddcbf2009afa3c7116031b2257c5d0ea7eb409992373cfd2ca658e321eb3bd0066f093c5252397a2b1ab030ee87208573694894bb3a7552bec1a38e7099291b8fbcae1a9d89b5317123b2792922c75e52fb81687723b9e369e2973574f5c551bdbdbd3d6c85985716c68e630b9090c004fb60f1bd7e912144708e654ca896b74e8725b393b14b86da8ec6b4bde03dce5ccb4ecbff51c3963a9c9c878d8a796c331f690eabbe44199537165faed56012c4b16095cc8d86226a1989e1fb06fc4514a896aea76eca267c75d16d12524ae1a799a05d57af17956992ccbeaf314f7d6764bed1029ad74e30899183746c3a60346528e6997ba58e25964e022b4bc85dd4f6e5b579ee6aa73eec65f845e97264cdcce5338e0af89245f8bccbc33516a541492b9141893ade00c5b5ba66b98bb1395a57947ad8c4f66d52db9b7995194678697e1cbf17c5ebb1e40786c4f09bc91a534d30c26eb51d0e39f71f10c48262dacfaba3376b216d5996cb129a01d200ceeca25a4210a5d568765a00ff50a03b784d155a376256f9ca14f7abdd8508a7a75c6f66e5c802bd766e3715f3bd7935656f22fde5c706204788680247ae6797a3995b9dc6896dc532e856c27426df24cfd39faaeb5b14320e6b98167166396719d5aa8c0d3cad429eb90081bd3d6cb5853a64df388bd814556018221173c264962c69c3cd30de569801e8785e5f6a2ead620cc3ba469c92c370adae4213d4cc9c80eb3b438d21577736e281827a829ad04e5a8ff33c7fd700b1997102cc7fc3f676ced4c4ef274604bcaf374d6b87ddf1248ee107a966dc56c2fc863ce5897b9f007619ec551be4c2b6fb2e834cc1014d7da732be761ae8befce3924928d0e009a439079da3d5815179ee96d645c4bf4acf46b6aab0aa06866c21c80b1476473b1ef8ef7d2f0f59612f0f5ac2fe296c608d2a81f3f45f33187e58d07613ae2503dc96595e3982b1b9c160bb6519a4b7e4ee7fd6791106502486c8b69c386d3ae232d94e1b612cfe8b97025f55c6e2cb7e7166b57cfddf1320f852bad72a0f52bf0346058ab24a4f53baec7d4860768614c7438b20df671e1520cab6ebe9365b9f55a18cd53f230ae3dc9b3bc06abdf2346609a6cddbc5d2870382f8f590772b938890d9895b8813540c495d04bb1fadc516eb115519adbcbd3106230cb66ad2c176bf5fb546c3c92e14942509371782698c4caf0b38caa4126eb8d9edc4ca94ab04c900ccf76f7b99be22589d180dbe2a5c09979da5ecb52087ac5a455aced40ae32db734d66609ca56ff33a930d56f6701deec05fb02c4fc7d50c64799abe8311249f9a028c7ab4e1e4124bb450d99a2c53036624ced2d031767ce9a85debf04966872629200ad7315d1971a37ce348c2b9209fc9c6255823c7355754bb6deed8d4cc852b48a941eb21017765b1edd0213c769abbe9f2ee1c790387e406acb72c99a14da0fd7862d4195cfd12ae30280d77a2b79fa7ed05c767743c0bb3caa3a93880b4e6b6ccce552480583c4b91a6a16dadf5b54bb5a122f03c9628b97a69ee27f190a965f11df14976279311c738927a3c25d1662714ed7838d5f658f11eb3b1046996c0aed9a62c6c02e1e52a33ea305fbb4ca7b74327366cd2c231ebda74004fd63544edb4ba854a299fc9e93b323bdc94434b9bc1cf3cedfdd6b19d21026b118a649559790befc49140cc8cb15dc957276ec3f2bcd026202b4db05d0020073231c225a565f9337b3832d6c052b0e13a4b22118704a5f20134fd60be3b4ddcd1d05001c1585257b116b37d5c1d7d59dd6d3a9a2e0d24e3b8796ec49149228724c7a665552defc4c68ddb7577e6aa95bb7af09949f4c9b582828edce22ed73e2b667661f5f57ab7666148d85583881ffd6b27fc5800f596c32469145730269ee94516edd889676db1a83266b63a278d495ad5c6119206332ab895b14fb8e4599975dd5b341497962770e55b283f15545958167ec4fe9be68e27f619909db875e5b08c529fd535e8d88f71fe925b93895a28005d7b3257e9aa55622c230c607060d453123acc95f4ca8446221957dad87c6b017c689c06361a8c3bae5b9fd4ca1c09af3428bab680f6a6cd54341c09c215132aedb886e03c34ac545af9663321f8ce1e805009040a80be7234d78ebeb4ac723ced1906d1870ddbe6b6cbefeaf770026f92781357e319cb109ad43c8e65781271b78552b521ee3e1c042c2d1ad99c9e10b3485fd2c04e29906b6356075278941852d73a4301f094460f47769bf1448cc8b56c6a32a3a90d69b0b59623a1480fdb7365703588b1abb79ba7a0b99202cea331e62e0f83079b9e39720811bcd2561e36d721436b6599e676a6e1e01dd7a0c7ab24e48d46430a7e33b0fcf690976c0f37560452019022c8e7e5904b26478bc35909e22e10906dc152aa47ccc669b8508659d5279777c1da00e1c08db9e75615c19910cdea7dd1bc0d9e96cf7219c45646cec17390f082adc47343ee83467b65408ffef368d19b098b9244d525e32ad6caadd0d4156bd186c9d2e09de1a6094a87099a4f07eb8ed1eadb8e57612d78120eeb7a262ce926da3fa76d36d6ba359027127801fb9fa61049e0ebf5ba61f517db68a47f868e410a401e8f9480f822a5a0bbb5ccc51369854bb0bd1d6772570baf38779769d34aae566218dcc5e5975cef2cbab5cc445f6ac5255bf727bc0f9e91f8cce875c8341cfa2c48f14523d79bb97c2209e85400f5469d55ab552cd46ad27d440a95978bb735218dc8e8a14fcbbc3b6bdb1691a6955567b6c2b037435ac65c03eab02c4a2c1b6c61b71adb2db6d6efb9eeed64f21e3ab8e1acf8d2864b87e76a06569f849f843614fe97fa927d215afe80be0a858252029e67e51e1cdbded5b36027dc743a37fdd9ea596e0d49ea5a53c36267ed5713d8625566583606c5d59fc24c2aaeccb0d7d56a9c59424ec1a6a454c7cc326e00ab11df0f0f0f6341c8745dc8742b05c077fd6057ffeffddeefca859e9e9e16ae5fcea969b80dcde5fa1029e7085ac463a41dedc38c251745b70c5c03fa588a8485f1ba1e4f799e6383a56c20db72a768629313b00509a7cdf0ab2b81b4cf5a1bd57689135cf0c1ef69ad6a627143b7ffe5107cfba5270de9f8a404f2e28b6982db4e0c9e9a274a03bc584d62ce99bd2c39cb98ebebed5436481d96ecb4e1cefbe31637644a523be37e53895fb34258472bbeddfe1d36bd35c4bef81f7ff6a7d2309c3c7da698a60022f2919999e9c2e953271535b8d84cb930e60b4fe86aedb5ca797af69a1642126cb0583d204cbea51dc7813388ad6152c3eb43717946769639da53e1827da658029666bd2d428e047b2ecc9a7b9670f0166edeffcfdeb706d97555e9ad7dfa76ab5bad965a0f4bb21eb6b1912ce397ccc336d81833a4186307c324210c939a64a8904042523395aa84a901f22f931f14c98f0cfe410d3038553343256398610a282c1b8c8d1fd8c6b265bdac67cb925a6debd952bfbbcfce59fb9e7dceda6bafb5cfbd6d03a9c4edbaeeabdbf79e7bced97bbdd7fa3e7e0ee8a5fdaa853fa810919c025a97bebebe726d3abb3e9e2d372c0c8ad8ee8c919375ac718a73f3593ec3af249dad16d34bcab7019b40f380a24634ae9ca0b35c85b49fab013bbfdf1cb80a55dc16d0a39fc3fd915bd318020c0e0e2eac5bb7aea4f7ea09277e7c39a7613085c682198f0aa46614019926a8a9437afedc6863969ab0b3929061c094d43d8d1358953b1295942a3e611bb73449342539c1c693ca9d4e7956f1384d6ab59fffba859f7b03cec2140ff406324e57555e5f668c0e25ee012c249845b6e696f523589b2ef34a1397bc610cd8f18d505e531ba9a40a4044cbac277b0de8de427d9e24d11e5c4bdd6465035420da54d5fe16ccdfac5eb3c685f4e7c72fda260560def9ce779dfbfcbffd3cccccccc0134f3d03e7cf9f2f16b827aad0a8f52e41c8240e59dac268854499e5b196a4c513b30256521282068e5069797863adece20b8092565bf4009d282e6fe5d2549bdfe8b4ba40ab2d169c56ff750b3fbd47f8ddfe3c5badde5240191d27ebde8b9196e4bd63050f30f81b71bb2d0be5349c02a320f0d2fd6803259fe822e4e5bbc8b8a593779601b2da68108b25f4a4d669ee11562cd9fead39f4161edae7ffddbf874b17c7e16b0f3c30b377efbe6a09440fa0af6fc9c2f2a121985ab2a44de849278a02e189c12bb8250b6256a1426021e439d3b3b1bce6da5060285b98735a96d21239898415752125e0854048d9908f1ed74105dd15289204c681e56e305e1b0afe6f48f869a5c0571ddabd0299787d5a1587f64558ad7a13e4435803166959cf4c4209f3441cef25107a28780812b0114bb0f3ec3b8c165e08a1439440e7dda3da1e5692d6b4cf049f0f2e1b74d38c5996b18a1f93c5f635e53087259fe2d1ceb5597118469afbb71a02ad02b365e8d8271fbe4876c0810a4c49e79e8cd4dfa0414909614280ac634290054bc73595b83dea3ad47ad925c830212fe115a677fd7f53c2cfc3013c8ff94209047d1942e2cb487b44418f1613675143ab618e04f7f2c2eecb2494b8047c4ac354303aba2f1764aed0341c86088e4c072435428bb5b8bf04af2b5f084041ada400425510f08debe82511530984e53f112d36ba001b93222823bd755e20cd96c3e37ecb5cb2147250850597c2e863bdff2074497a4514eec0f01e54201e0cc4c2c7b91af9e302e9eefb4dfff8f260d577c02d130fa7a4212929f12b80bf5869fe84a2f2464202ca1c46acf80dc56ea0969c806c44bd2e34feb6f13989159fc4a8bc6189740e631f843886752a069d9736f8ba9e9e761bb509120a2a3b70711bb107dc6d4ee21c48001f02ce5ae0bd48c8b24cd8ab75e77119d3849674ec99c426495a62de30a22562ac12ff493578212944c8d2cb5b686a866036532e7db79ab92e2d2ec6deddd6f9d1fd5b5286759d64fa3173dcad17e0aa4698384e6116081b3f247405512868ac2ce341280cbe421b37cf0b04de03a3058bd276345ee77bc0ea798cc8fb91a62a390598e80d86b8026d8c850c8231636bc876cfa0d5d3f20ccdcd0ac08b469b55c4d6a840590224c3b0b28a32b8e3cb457501d68a704a3a5fafadc02d2c079eb032ea2b455e31049b5e136a232d2ce8091d1ebf1a816c82e6110cf54840496c2a49a3ac14b66e857fd5aa55b06ddb3658bd7ab5ebe4a38d4c414f79f91c13c0afbefa2aecdfbfdfc5f7dd2801fc8d4ac02ae3bd52694e1cdb9512a9291e8ae87386c8ac82d4291283845eac89e8cce5a45c5099100c91a5f8171cb23ed108140fb0d9b039867362328fa9ed01f4f8eecd4e1480b5795ec34879c1b37c40a761145874e7acc2e8d38455c7144b3d20c3403d1238ec52cc2d0e1f2916cb7b2562b542fab750eb0eff0e71ed9c4e0f4a5d8d65d2ad1b0580c27fe79d77c2b265cbe0f4e9d3ae2b2ce5cea382b8ecb2cbe0e69b6f86e5cb97c333cf3ce3beb3935080f608d0cebe802a8dcf8c08165dc45300059d47abe3732b1aed31e2aa0ad588986a43a76b0bac7362ff4721ae56fb27de88ff5e975fc9b2206567a83c9472ca11819c77e05ab9f39a3035a5002ab6784bc7456b0d631b60a069cb6adc22ccac0ebb58110b448c1dc31b9b71812396df0ae3c25acba6d532d642ef8065240f6ab657fa4e8e11c89a583424e10522649dfce07db8fefaeb9d20bffcf2cbeee14b77a91f7cff6db7dd06575f7d359c3c79128e1e3dda7155008fefc2004d0973201208e9af2c289371419d3d6e05b75205892a1afefd8130c656d4026bf1954a8b8a27e0fa1fe87d61bd31695a7bc1932943b89c79913cacc9bcc2b539a9080029b567b956059072abd28b24e60f67c0ad96fdf6c92e10b802286c91b1627c184d4a29794b6e796dca3b498c2e1b85afce445a3cb159ad0c3d6e41804d9330fb958d614bf7bfd3e4dfe0e020ac5fbf1ece9c3903bb77efee48f8f1677c7cdc290bbce60d1b36749d108c907503505501069d74c489f8fc51b75de87be55aae21cbe2e93da1c203c25ad5290441896b906da6ee828df606a70013e424a6ff0e437ea3f59bd0a1b8921518ca4e4d9a68e72180820854ea2c53438319c3f38725373aada8095c7f5668e2e01a33e7195bcd4a6bd95305189277176a986a9ce8c4aae09e34e30fc1a8a95528d1e3ca81c0734f813fc0aa55051f6777f38356035b752f5dbad4712cef7f2e5cb8e014067ebe5b05907b77955453aaeb0386cf4fdd710edb2d544824f73bd314b090a015599980438f9b186f513b96b83fac1eba1890311335f01b0df3909e0fde6f5a2d08ee43392b323f079dc182dbdaed379ca021289b6471824583cf926e3c444a4e778b5288385a28c227fe641f599e069338f4146fc8f01836b036b11291e0a1810eac3038330a08b998093f638c4ebff52bfaac1570f6799d3e98280fa81704a42709b094ee398e5941bbf452a0b3128392e099855e28340f3d69b0f24a7f8866dc520d622a1c3840dd5e5da128816b1a6bf5b43a08013cc204a153e60d29948b4e1d5e883802a4d8c0ca386c29be38212430297458cd02a41407803ec2a96e3ea2d94b68730356cc2168b4d05592877589d1068f6e154056c27a2d46f8fddc7fb7c2afad27bf3e4226577d4f2ee4548cb66e1aee62558030f190990579ef48064b1cd50ea9ce538856e2de13c2530de4344229e28a9043d89130a2bdeee098be5d69171540abb540b755d624649633bf80d245d524ac55260262c2496ef5b4a69144665514628595273983ad24eb2cd7e212d127995bc84ac65adba0d422ee7789069a7226fc1aadf8623e6b85263115ccd55f1b01afa40d5696d39e6ba3b62ab498d42cc6bcb7d23d56496d54ef8f94939309cbc61b1c322d91785d32ac6a5e4b98bbc1cbc20ec09e9e16f4168f05579e6dcd3756012cf38e436d2e97422c5fe8a639e654ad53d2cc091cfda4a2206414365572119540d864c233fe1ce8a42ed3d8ba4c992a4b09cd1f56e032e01d6addfe7848afc5fc2cd67b086ea7d478c514b951084a236f3d0591c6674a5818277a6a6043afa409363cd8ac265dc253c21515a4b65a7b811a8e872a9ac10b50afdac7765e5ce1052045f86bafbff63afdca243760d82801a2eb2d26bc003a0286b0202576c3ccbf91482b48434430a021dc78a35090ebc7343c4f13762e8ada3ddeb08df741b0309cd42463decb62ddf837e201bc6105205c9f08a84267400881469d64654d38d29afbfe098d99b829f4d3f2386532337abd01ce0e3a217711735cf25c89d5be4319a0421e00a4f8ebebed75895c541ce3172ecc53dda3b2035bcb8a81648620c5e7aef1d6a5dc74b1ad932590421de49374652292f6df535e390612212db04823e6bb05599c6ead125a18b9cc0410d36c1b8aaf2fb5895ae64e73f6e44508f3623d000a08dacd67a4d0c1908a8b56e3b7d1905618d05bde656a4cb847257e01656e204a3c0bc9579fc4358cf63b1a3da6b920a690a4b532021333574a120598c88825e5baca73c1c94cacd4b57adb188ef3f373d0dfdf3f4f9724d34339db260711c833acd4bd45bd0549bb4b35780591d56a493b1bd6d725eb6d8c69064d1429b3e5f309e6ce4de8f15845e883ca832fcf08e143c5944c4a37227a6c07e093bf8af8df0b6ab7cac308e4a72a89bb15382642bf4a8675a777d40a98f75a5847948d04da12796626ae72d50d4c3628051b41d1588dbb42f24a847d12791c7472541caab2c1b5e1392ee96bcf7fe0b466df9225be16e872ad322a7099f9cfcafe614b1169527148c20db43c5710106628568467425339055e1211a09c2d1f3dd5401d8095a44806d6c3840770cf8abb6f343c771afb47adc80c630e6a4fc6e3f4772bd0f81944ec594ceea0b7c2fceb4e01544a434dcc2978fa62e90d1a4940c310d284980129883509224e0ae3c4b85b70d953d52cad62460d589902b0122d7822840e5a87097bb70370ed6b03b822784ce101cc36e7004ce63c801e470a919564bda17de2da2e6595a3728e90318e4a22b46e2c21f9300dcac76a23cdc928c62ccfc0322e77ee1d842dc5b61a3d156702a8a7a2d57149e75654e6028a1b1fde4b5f96eb5428113300077b366ddae40681baf979fbdbdfeee607b089a85beb9f953892e2f5a566dfa96b4fa74c35e6e2c88a97c7610d53bc6417c089b118dbd072a196e597867e046af1a0ff43040109f31ed6404cf8a9280ccbfb1598b1342558ec9222fec75e80b9d939583a3030db580528043f47c0091c0ae96df53a6fc1936768963fc069d36aa10a8b4a30e4c0dc4523ccf24b937aa62cbb89ae38c44830860f9ef89e07c58db4027d33577855ef77adc6ab858ab2dc559f00c4a02284aa2a4e8c75970c9c9c9c847dfbf6c15d77dd05f7dc730f3cf9e493f0faebaf27dd7eb4fa28fc380b30353505afbcf2caa2928ed48a59c9e392125e5125a0ee1388f22a6c561e8ca9de2f21f758367bc1e1e90378382de11895bf4d3aa4e5a3e3140589ed698e386553e56945d198601e26730a60d9d090eb05989a9a9c3a3a3272ba4901989e566b1e6b869839ec5dd2574f821988c13b2321313a259254fa285d54adc055433ca76f46d54a8b82551ecf404283038428c19a6ba670af49c3271594775e9231969069993472aa4ba0cc325c8ed80e0f0fbb69be5986ef9efa79eeb9e7dc44e08d37dee83c01f4082c6b95a6cf713d060606606262021e7df4513875ea54579ec38a152bdc0cc2d9b36765b6258837be55d8a6259466abdd2f5a522563df8628682b24d1a2509327df147a79290f24828e0a653cc3bcd93813626bec8804c29216a6b473786dcf7868d990db8333b37333a3a3a3938d1ec0ce9d3b8f4d4f4f4d17b143ff50e102e6041d48063420168fe3f56954d6a2301b92cb4894de58222e70934a4f808e068bca00ea86c7c66a05d90886a0d36a544e140e5d4b04a953820252ad2fd8cccecdb9293d74e571420f477b3b01ed4065f1c31ffe100e1e3c08575c71455512e2c24f13be380c8496bf53e147a581e102a249e3e3e4e8683d11a701ab00ef3331cd31b450fa134b8e0a062528a0a0b5936992e5d9008a5bd8c3926083462d5629441363ffd15a748a6f416d816f9701f1af43cb87607e3e47c53f375b28011aa8b69841748f62634dcdcecc2d208ac8f08ae15a01d89859b5d666105b7f69f28e23b1b0648f55a894bd2534425dd4831e68fc6b99e320e05883cc1791081a052d6bfd7908a8c82a6e3cab1b5b360a9cda9c74a415b5f9f90b17e0aa2baf7482bc66cd1a27a888da8c717aca2b402f0e43017cbc593fb87ee829a05242cf64a87035f1df384084e7a55e9f82f92762f84b25328109c7a606c284b03d74cf2b7310575fd8bf4dc2b0894aa8e998552e8485bd5651209cc0867b31e8fdbaca5359222ffebea2589fb9f95958989f9bb870e1c20cddb82dc1e32ee2c6a9b999e23ffc92e1e1158e2a9cecf02a81a5527d275d5c60ae1ccfc00a801e91368f2d77288f71b225e25e21ed9c1102509585659f09923c9c8dd0c66eac22dc51be2291a10e4fd7c08542d8a70a0b8bcd1d08ef85c01de811a0f0a3cb8e8a007fa39b8fd37f6f266028862098175aba74a9b3f6f84081c7d7fcdff1813986d9e2fba3f2a1521233514255beef81c5e60330813130618ed180ceda14e101286118df03106206da8495b641aec786d39f1a268544944a8d1f3b3b3f05604abc087a3c0cffa6a7a6e0e2a54ba3c52bd3f492c410606c6c6cfcd2c58baf169673183798b7ccd1608be74ce71a90c1636bb1b53b8bac8c57445e751b2b8814c88684f6c2371ebbe1199d02a3d6c80ba96d2729335eb2e40acb0820e0964cb8abcc306158151097b22a068a135a5774fdd10bf0d880f87e74eb5118d12bf03461181ee0c357023c8ab0e71100a8a70b7d79d137ffb44a12503c2e2a1a7cf4f7f7bbdfbe3448c3088f3788c73d5dc4fe157c1cc77584783623e2443044ec52649942e82056d36dfc975427200f2b2d0f3b591ec32a654029443515f76199d84accafd8a65c91b4d74d162823ace2a181b870611cd7f3526f5fdf7c114a5a4d0178df7c767666761c7b87376fda5cc788082b845962ff463f44c1b55830f1156b52ef2af3540148b3074671a124d72bd59ba061cc0968acf2422ae0149265203d0e9575507ac2ad09cb86260506026d36e4b367cec065c5a2627617b3f494b8d397e05019a0a5ae848cb0044bacc1b4b4e8bbffa852f0d6d5e31150c1777d06a5b21839760c668a73f2136862871bb7b04df312c6a8f900952e4eeab4d48e25c0c2354ef649fb4e40858ed791d3c88348fda655126252151b615ff87d80ffeeebed83cb0aa350187418bf78e9b86d7b00900c011616e62f9d397b76a4881beed87cc566b7b07850cc0960220ab034e84b5d896c271fd1cce9b08644ccc09b3f0cc8d4da5206546b1ad1e2717673adc22413b9ef42f2276c3bb650e3b129c32fac2f82b6961ad0892dbcc78002fcea891370ddb66dce2aa375cf0318f73806cd08512a6f0a320c4f9eff9bbad5fe38debd6f3302b59cc2c15c045628dade1388731a4668d25243a14869870254ddbbbcaec14625d720f2343231084982a6cad811aaaf6450a8120f29b08862b0328d3a65f51193d242f219e2fe15dc1fad428963256fd9e020ac5b7b191c3f7e1cab322717e6e76768d1219314c0c4c424d2071d2dbc00b8eaaaab5c92676e6e1e7a8a856e8f4e828adf27ba295660bf615a3c1656abb3b16a565ed2b4a91651edb9725cb155d7dfcdca8dad811854f291c8f311e6c43554e5b2e701d17a8e174ac0bbe628d48eadb7d5aa6271fac85c53574fd04844ad3b7f8d8603f4f3f8db7f870f11d0d3c0b0626464c4cd9c1b63ea340d1ff18690de5ce48b545b9f85390e178a82dca0c6be5f6bccb21c7a4ed9033665eca40a97911a864cbcdff9e56923e860f4bd4abc1067ac8bb5c13541f77f68f90a385728e7ddbb771f298cc5425312b00879f3f99776bd3882c9a4cb2fbf1cd6161ae4c891a32ee9937b6cbf246b8f1163720335769be173ff4cbcac8726b524c64a79069cf2d912528e54c696952181f6069085c840208c4cb51f0bcd216256dc0a790e4509d06e4414c493274e161a7e196cdebcc935fc508e40df05267905bc1bd3480934a9eb8c290a5402fd8502c2906fff2bafc0a562bf5460a0d684c937c5adb65aae2801dcaab6915bc13b20b1657da743541fadce2f2a6f6d1a917d3eca6b05822b7b839631239be45e954bc90efe6b2187258551989a9a2e42f84d8577d68f61e3f9566fefc9f2b0792a09887f6ccdcd2d1c2edcb933376fd8b07aebd6adb077ef7e974d6ce7f8f27a0aafa11e6939a183bab0a4fb8db19f7001a1d4dbbcd3ca24462755221076bb39a593518e27c681427c4629d159ed2a008f34716d2bca26d3b3c551cf03070f1456b8d701773a0ae832f39f820e939898b5bf49fff6de007a1ff8b367cf1ee7fa63881859bfa8340711ad9b49954115c3c2054b846ae73d26415eca8a63b6961927902c7a94dc1442459068ea099a9090e5e7de90ca95a095d81135b8300288088cedbf588abdfe86eb616e7e0e4e9f39f37ab166c74a5b369f6a044205d073ecd8b1432323474f6ebf65fbeaf7bcfbddf0ddef7ecf093d2efcc27c1163f466fa0249409c46a617b33cf695045b021b119a708cd015c65988f438d346654a0956da52361f01de5a3c47de2301752c6cb5fe71892484b9b538ac85150a1440fcb9f2ca2b9d02c06c3f250f4959766edd539e00157e0c3bd0e3d8b56b976b4a6a39cb6fa3966d10e0dc2d4f76694930694f718fcd287d00c27e53f30fbce4ac75846a002414b128e96992185fb93f019b72aa2742500ca6ac12b5b04a83a15af1fbe69b6e8233af9f86c3870fbf72e8d0e1b14e3c0067900e1d3e7cfec081833b8b30e0c6db6fbfdd2df8ecec4cf17b00260a77b3b7ec268394806b59581bd3635b6dd803b4210a88b1de84845343274b9cccd09a3fa42124c132c7d64e493a02344f8a99b0bb52a2c472959942d05fdebddbadcb3baebbce25e4a631315866fb79e6bed3261ffa9c9607d1f29f3d7b0e5e7ce9450737def254601d843f41c8a154702c588828b115af9127fd6cc2e85889751914b73c950f22e794b39c86669c40c20000c6742c790d4d731fecbda8fc070797baf5dfb07e3d5cb7edbac240bc5cbc3ef7fcd4d4d42cd420dc068471609f1dc4444176e6ecd9675f1b7bedf7b76cd9025bb76e814283b83e6f2c29585a0234cdc909ab2a089bd4da621d5f004a50054aea9c0ade6b3a2bf13494128dc035c7b3ccf45c7262914c13a6a20fa915c8e8acecfe3a74e81022bec00d37dc006bd7ae7582ef2b045209af53e1f7e3c428f8e86114c601f6edddeb8e8d0a81de7f4b7b2b80f5c60bf575a328736304c59af2308541a9880e9ce33e7440131f86400682388d27b6254a73a9cc497a1c5418bd5437a9e29de52537e3c0c052e7feff83dffaa06b032ed66beee8b1634f11ebdfe801b8373cfcf08ee73f76ff47cf6ebee28a551fbcfb6e78e9a55d6d6eb9de7686d179011d59594826cf24fc7ecb133e898c6bd0186a1501527b029466a3868dc75d2f11db9d69756980c874a2e53985ba740e68a18b0776e13dfef8e370f535d7c0b55bb7c2aa952b61bed81428b8b45f201502f00a000a3f7ee6c48913b0a710fcc228b8461f0c41528496115d1b7759358ec5ea762a4939deb6ad18082b198948c143346167799f88a99b772c6ddf4d5190716bcf4046d451e3a69e7fcd5896d6bfa70cd1f0dd1ffad087e0fcf97370e6f4995d87d07a13d94ee500bc07604f9c1c7df5c8d191a7aebffefafbeefdc847e01bdffc96fb92a54b07e1e2c571a7009a845bd26a86813058d6dbcd85dd5a88195ea5f8b19ad8eb008421185cb2ddbb5d4d195aa14ceac79e79bb6ab20e9e825db7f139b8526df17bffbe7d70ecd8319705c6d15eece8c4929dcbe1949662de258c6c14dffb721f2a0d6c343a72e488f32ec65e7bcd591944990d917521e88e0b635825312a4ce4d920a1c706cca421a944f79d549f57dbae39a49c5075095a7401c25c019f8dd1ac35cf1d3479cfd2f504f7813a23d685e8cb960dc1f4f40c5c51acfb1def7d2fecddb7075edeb367c7dcdcfceba5f02f342980ca0b28b4c7851d3b76fce8b65b6fbdf7d6db6e35b76cdf0ecf3ef79c732fc7c72fb4a9a0e9286f2a61a3619d4b16412c0519dddb90eab009e0c8aa5b5121ebe003415682e5d6a0a9131e435bf879924bbe06b1a4282d93954b6498009a999e76137d28bcc3852770e51557c0ba756b8b18715935c0834ac10b3b56112e16e11dce13a00b89161f1b48260b255001c4947dff11953b9ba8b35a3520f83b43ffa1197e8ebc0b0481490bcf7c3316ef38d460d54cdc41e8ea350602e83b299fa5ad8b49a10a4b25ff5415842b2e2b27aff19cdb895f5b84e8c3303a3a0a7ff02ffe39ac5eb306f6eedd77b6f8f7a365fd3fe78e502a04c00ff4fde2d9671fddbd7bf781abdef6b6adffecf77e0f7e56b897b891b1f903eb8c4b07073b1be114bc0495863b919053db38fdcdb0f586d4b3f2269a61b089796b6340a4b74ece910bd46496c5be568a375319ed2ecfa182742b9e9f3b77ce8507189f6342171385f8bb55f6f56365a76df12761aa9c1f704d3f780c0eef25b8d536a2428768c43526b43401a65ed27b0450a1bb82d6593c2fbab61ad47734c751e75a92d0ddacb35087944ff4a088746146f66478731b18a1b40885f29e2c841f1bf66661e5f00af8c43ff9c785e23f08bb5edaf5e4c143875f22e5bf8ec841bd12c80f1e3c34f6dcf3cfffef938535b8ef1fde07db6fd9ee7ad197af58812dc3edce2f22c85640b0d19483e508bb126126db1056acb313dddc84a6a22450acc606439b0f21eef1e63d0334a96c59092a0855ac8d1a8844e872162af07308c8291881069db740c1c7da300a3c0a378e15e3ccfeb19111d7c177fcf8ab8819efacbfeb214730189fdd27963cba76ad6c095645ca9118958de0c599263054ca199800666d2c57abc0ab3505b7113a32b57c4324dd0a3fa555780421d1a71195828b5f6d80179cdc5de906c5fed1ef7c1cb66cdd024ffefcc9fce0e1c37f39393939cd5dff260500e5079cc6f89b871efabb03070e1cc50ac0e73efb59d775d693f5b878039f5336170d1b5f6cff04a1ef9d12690aaf5747f755082a784418a2049102da10c5746c9386dbc18816c9520c3b0aefc25d39502c81d2bfce7b23a57308052f3c073139597a06ad32b987791c1ce4a16dc426b8aef0d80694049615caa9297255ef5909eb6525af26c06f6ce087e42535c98be430e08196251c80745f699c7f65075f18e2b2bd2c25a3d5f0550e0df9b8bcf3dc0a39982a6410c7f6b1f487d3a09ff9cc67e0e08183f0c20bbf7ca408019e293f3d272981260f0015803d7cf8c8e11ffde847df191d3d09bffbc94fc29d77dc01a7c6c65c45c038f763ba714acf724824a675ade0f649d6def2521565dd05d0878624a006add40264084629fbf905a3b31e01a18538666ad578d20a89287f9f24541b2be1dbf3734858104b3919a4637b9e398a4e231cdb4a912deff23331f8a60da5b4669fe64229e1e0a5f68a106226496603ba37e82c112c91ba28849e56e0a630428231546e368ef7294d1aa95ea00146af0e63ffb15363f0afffd567e09a2d6f87c71efbe9d4aedd7bbe35313979ae94e3ae3d005b7e700e21827ffcf08ebfdef9cb175e4657f2cb5ffa92730fa7a7a66155a104106cc0cfa553eb6853d96d29bbd944f9cd346940b249352dfdcd8e6b8ce92c44e1595d81e3c036b9c1c1f933204a8e580ccae6e7e7c0c854c473d0069120936be1d2b1a106d294bcb3380c8bc1565320ad265096febb9a92bc7a29cc6831390f3bd9be09d8a1c1a44bc65105239167a0b3136c5f5ba2dcc51040f29e59f888705f1ef4052b3c67ce9c855b6f7d377cfad37f00cf3dfb2c3cf5f4d3dfdfb7ff95c759ec1fdd9c9ea62abe7fdfe933672e166ee2d4962d5bee7df7adef318831fe831ffc00d6ad5fef4e6262e25211372ea9c74439b4b170718673003631fa26eac886276758663853b8dff5b15b9b8c3d2d572e6ca4d4481d5d946f50a222a7adc5de025362165a5e13ee95c4af1730ca9204979192aa1cba3b31164d5bb8c57b2acdae376db34449ac86618378ec969680f9dea87223cc38b0aa09452836acabd048d50309fd89ae558a118886067efdc93a555ea107a261fbde576d70586fe5ca95ae3283fffeda9ffd0f58393c0cdff9abbf1e7df2e9a7bf38363676bc78fb6cf95890ee7c9302a0b2d57be4e8d1636fbbea8a8d1b376cbcfeee0f7cc0f5a0bff0c24eb8fcf20dae5e8c19644c1eb94121b032398356d3966e10a469938db0791b5f93ce2755ca53f21a867702728190e2530de0822b0ccd8a37342519ade4993817d3305d16dd033ebbc07bd63be9a0e43918c3301f35e1e1b921052b10448a31bde1c6703c09b0112f65a8e01acabe4d14e1366e240a426209a390d0aba3b78dddb888f5b772e52a183d350afff94b5f84dff9f8c7e1a1871eb23b1e79e44f77ee7cf1c7c5be44a19f0132fcb3180550850bb3b3b376dfbefd7bb6befd9af76db976eb5ac49adff1c80e572f5e5f78029393532e1c704ac07b0252b38ce615244b36107dde304ba67b9026dd6b2f6d0cc50a1a05fd55b4c622388a513bf92282480b49704c89894825bb8cfae5c3125c47c4a67cdde846e6b16b50991132e82c391631f48ab4ebc2401621803512971ef5e9a541b1685d943d4742318feb272a57edf5c883482145cb4d66c8f587f45ed8abb17cf950e1faaf85916323aee6ffc75ff802fcfcc927e0efbffffdeffee2d9e7fe7be11da0e04fa7dcff4e1500fd60cf85f1f10b53d353239b376cb87bebb66d8377def17ef861110a201a0c36084d5c9a80a9e97662a242a1617df286693d93eac167c82d9db64e720cff2896a63dfc1db42b478aabc1729ad4f9090ac8ab124367141290583605792d581fc39593011519c9d8b881c7720523f5bc83a03c4199bd9060b804656378dd5e51b892b7a891695a5695e234e229fc02d5cb6bc29c903c3c500697e8fa1319999b9975a1f6ca95c3b076dd3a387af4287ce49edf86fff6d5afc2912387e1c1bf7870d78f1f79f40ba74f9f79bd74fb67b4e4df623c00bf0f7a0f1e3a74a2d5d333be79c3c60fddbcfde6ecb6db6f77b8f3480481278699c9c9c90968b57a5c7ca20a4dca729bf80658ba118c8d29cbc9260d38fdc088c4a1863754189d34427283a5093fa3851429175cf4486833818d1496d170f31a9ab22cafb38b8ac246bdfc529d9ee719b46b368142b3eac63292620cac7be2dab45c08f5423482512dace08a511b1ad23c4a6db88d1a949477587a46f89ea98909d7a0b56edd7ae7f61f3e7c187eeb831f84071ef85a61742fc2830f3e78e2f1279ffca39191637b4aabef5dffe4b84e4f97c2efd7bff5d2ae97f79acc5c5877d99af76dbfe596d6073e7017fcf4273f85d1b153b0fef2cb5d5ff2a5c21b80926aca08a39926e516a758718d5253e71d684d28c2c146b2f2825bc5dd93eab8091c422d4e366a9c1f5b8e4ec82203a425498145df9728b9414cd49a746f13b1bfd51286ac1c9aca86a7f23556e3e42bfb0d44a830cd0dd7ce2f68b0608a45b0f426150e68095b5ad570f1fe5c11ef5f726f41562744fa19397204eeffe87d85f03f003333d3f0f5af7ffdf4133ffff97f7a69d7ee278a03a2c59f4a95fede880740f541b66bd7cb2f17177071fdbab5efbffe861bb3dffef087e1855fbe007bf7ec714a001b4b305ec172859f520202262972e649082bddbad79105b244be8d2cac92301b81b320e166eb1d87922b0c7abcaee50812e54a0f1b0e512801c992aa099425c8653e01bbcea45c5821792626730964a4d1c21d873ca594fed8b877941c6e18a6321af2b076bf0cbf4fa0c4f702753c3bb6511483811a781513eb9853c364dfc68d9b10ab134e8d8ec2e73ef759f8ca57bee2c2ee6ffcf9d74fef78e4275f7871d7ee1d36cfbdf0cf7622fc8b5500554221cff39e9d2fbef8d2fcfcc2a9a16583b76ed9b2a5ffe31fff981b147aeae9a7ddd0c9ead56b606e6ec6e506b074e81481879b560145a08bfe7f7dd349a58c94f2306ad24680716ef20a94b2a649c05d59829aab5613b49c49f0082b2546993b8fe62520a653d7b3f220570952de9c12aa4413fc4d40b012865f53b25749681acdb34ce6188827600df33859063fe531d17b50ca04de736cacc3301a5bb7376edc08cb0a0570e2f87118185802fff54fff0bfce11ffd21bcb27f3f7cfb5bdf3cf993c77ef61f0bcbfff062847fb10ac0b29e8aeca55dbbf69c1a1bdbbd6ae5f0bbd7afbf7cf8fefbef87abaf7e1b3cf5549b891693834343cb9c46c30bc3810567b1cab15323c11f710b6a620b6952829f8ac56826b993385a58c49a392861e1a4f08295b424e56034b757dbdc516d14d42e3f4394884d507019925d17f31f52ebaf707e26515e0569c828bad790e6974c710768494b2541679ab809c5d29ed45e9c70f9597cefebfc58da9b71a5f429d79abd61c34658b3e6323877ee3c8c9e1c85bbeffe003cf0b53f83f7df79273cb2e361f89f0f7efbb99ffcecf1ff70e0e0a167f2857cbe14fe1910067e7e452140d52e8c3fad23478e8e3cf7dcf33f5f3eb46cd3ca95c357df71c79d70df7df7ba6ec19d3b77ba3060eddaf585221874638ba8e5a65c07e19c0331f46e1cb5584e2b562171b8a10c6314364a8fb7011975c624371d111292448cdd4f6635796d5c2a4b29ee9f496d18d53d3672c706cb9a43078d2926f51d52b993b8c0c9cf0a7d0da683fb6e683e877f5e72df5398807c4db47b9ec80188e7a9ad67e035943908aa501194a5d8f37e04dbb5d217af2d2b8c2496d357ae5e0d935393706ce4a81bdffe933ff963f8f217bfe43eff9deffcd5c2f7bef7b77ff9f0233ff9f2d8d8d82b79dbf24f769af4d39a7c16f3e3c215688f14233c6c7ff1e85bb37af5f03ffdc4273e7dcf3d1ffe9737dd74f30aec54dab9f345f8f36f7e037efce387dd45237534f60aa052c0b9f336bbcd7c352b5f0353646d2de92c85a96ea696b0b265d717c965c72540a5be69184e9f49d442a5115c23644a037795fc3b200351cecfca1984243b92911c01e99cd9b14c07595fe8e078e2c8acf4bde0a71aebff5be6365b4ed8a19c877cfd21ca53fbfe991ad12701fea22147db4403129f63e103696d48b6bcd8e37905a58796bfd7d1b92d75e41dfd03fd6e4a133116316fb669d346f8d4273f099ffad4a760d5aa95f0fcf3cfc38e1d3b8e3df9d4d35fddffca811f4c4c4c4c97423fbd18cbff662880ca912b9500d2cd0c94caa0e7e69b6edafebb9ffcc4bf79df1d777ce8da6bafed1d5cb6cc418a3df4370fe185c0abc78fbb0f23d700de08449a717c76853298297e7b1e3bbc6179276096a43268a4ab4cede6a63b63f5e325f95124296c904e9b1064d32854cd0a407bad4901d8203d238cabf2eeb5a0b7bf56c9164cf27cb53530959ad0e1f5f95553556e8dad878d1237c1444acd801558a06968ea9b9edb1eab095a76b1671f735e6e02b3b7cff128a0f1f384aa3333b32e67367e71bcf85bbf0375bdffa31f85fb3f763fac5fb70ef6ecd90d8f3df6d8e4e38f3ff1bff61f38f0cde3c74f1c2e057dba7cd0293ffb9b5000ded7ec2995405fa9085a85661bbaf5d6f7bcefbe7beffdfdeddbb7dfb6edba6d4b868696bb9965d4688f3cf2283cffcb5f3ad49999924db63d96da2e1b6665d795cf8ab631edf2727e22af2c439bacc8065ba98de243ca697e70a6742d6b4fcdc34fb57745bb8db9b6233ed743a1bc3ce1464429455c6b5b1d2f9c766c1fab7d5e56c144a46e2e85f5ce4c7895a121aadd66742fa1723d3d660c19d8298f5b138794f7c61ab76169cddd7b65615c5f27bffc06cae9c46779ffb2aca73a775366d16d6eebf331edef73afb18498874f8b3d82bcbae6ac04576d9f53561b40240beac9c82c927c9f29bf613d8109ee9cc2ef048207587b12febab043cfef537f9d79b96f705c178d1be232ce3bc8f6c2ed9f9986b9c2c0e17b870a0388a0bbb7bff776b8ebfd77c14d37dde094c3c10307e0a9a79e9adeb377efcf0a0ffadb070f1dfec52cd6d6db023f5d26fbbcf0e76f4478df8ccf1a1612f4959e003eb242e32d7bd72db7bceb9defdcfe91bbefbefbceadd75ebb09639d2585c6c39e66ec68dabb772f14ae0d1c29e21e4c7a200d3686075839982f3d012a0cbc41c52d52c66d8d2965bfad0c6c5e2b8d4ca59e322cdfd39ea26b2f7a1eb8787ee3c416cc048205f4b9854829049b9cd4f36d308a1b5e5b9875b651cf8b256cb14618df355013bc58dc3f360c6bfcc6b7b606c5c88349419f07695f132722a1eb02348f1308130bdf4232bdc099b7560d8a4276650fb9462c3e2a98f06302d0ac77d73da34fc456c5bf93a458ca3d9097137eb9b5d50ef4c4a998d15f313c0cab57ad828d1b37c035575f0385418477bc631b5cb1f94a67f84e9d1a75f33585d08f1506f289919157ffeee8c8c8f3d3d3d3974a219f291fb310b6f8da44c4faa62800ba2a4670688d9017f0b981be323f90159aadb57af5aaab6fbce1c69bee78dfed775f77dd75efd9b871e3f275ebd69ba1a121e71ae18d478a298c8350018c8f5fac9ee3b0117a0af8c0ac29e6139006c9dd857cc13da758f1b69c99466b907b2b535a213c75bf60166a46554f0b5e45a8a8556cee3e4fb13efca64444a4acd50335407cb9025e204c5625819c45c4d7f1bb8b73c5f3925cceea1c7d7d9c003f565e409e57d1334716caca61ac0a82cb5d7b717d258a2fb7daed1c4bdbfbf158f9fe7e79efc759d552e1390fc306aaa89d9fc9284e41db5a57de4e5e5e6ff11dee9e659908a4e905ab52ae9cbd390ff1163057842cd699a7997723cf5e21e49557933b2d550a7856271aabfb483a4bab3520435ef36e320fdcf18cb1b5922fcfb7a7f4387a4b5af581a54b61a07fc0c174215807a2f5600b2f96c691aa0bdf7be9d24578edb5d7e16861f40ebcb2fffcb163afbe7ce2e4e8d37bf7edffc5a54b970e4fbbec60e0ee7bab2f097fce9e77a4084c8782ef05db08af4befa34aa08f78047dfef562530d6cdbbaf56d9b366eb87ef59a35575fbb75cb959b376f5ebbf6b2b5ab878787970c2e1b742424487b859e82c39f47a8ea568f13a4ca8a79d7be0c11a0747f6d09e35c697adb9e3a7390d8b61642c4c2c38db9502a0f9ad9c5046b0d21682b570f05c0b99f790db1ed139498cc84328c40a5e4b72f2228b5375ddbd5f6e168fb7cda1e4ae6c38f52803da94716850cf5d2baebc773eb699f0f0a4e4e36ae9f1d77d76f73e232b7dd66744ff19a10e997bbc8f837bcd74e809ce2a2306eede3556c37a522a9ad75db3bc0a70e97b05468781f4268370bed5b90bb73708a9836c4b86b5ca83ca72024eac9eab5f6d97512fbb7d9eb32f7dd555843589a2a78746308478c21f72d6bbfa7782c54ef6d1b04effa9b325cc018bfbd1f8afb89c9bee265cc63cd94f88a382887b1fe85f1f308d39d8f8dbd7ee1c4c91363478e1c3d3e3d3373e4ccd9b3bb4f9e1c3d42ca790b2cc9e72d7f4edc7eaa04fcf305f6dcbe1105d0c3ac7a461441262807fa9eaccc09f8c712522de8f77982f27d7d0303032b06fafb5716bf87376ddab8eef2f5ebd72ee95f32d0bfa4bf7f707070607070e940abd5dbd7ea6df5f6f72d29f64aaba7d0b63da60cd80ac1327e935716d278ebb350590c14fad2cd35ded2f904626ef3c882e5e586cf3d62acff8ccd196271195397eeb82d891adbc00fedf7e67988056b094a9007c430502326e50081152c410330be3496015f5608da2529aae5f0e4eef53cc6b458a8bfb71dbbbacfd2640a012bcd892042901c334a85c0d4dc596598565b4e5b9f70dd65598659de1bb30438c4d6209e96f422d932ca298f666d2198787fdc89bbe3a03793019d6cc2d536bef65f5c739b77c527f3f804a8932853093e8125b32c8f647d4d1f0dcbfcc2bc2d847b6e62627262727262fce2c54b172e8e5f3c5f78b3e7a66767ce16fbe5dcf4f4ccf9e2335eb0674b05305dfe9e62c93e6ffde79922b0a4f5775e789f5d8c02c84a0540937badf2df2df2772af07de4ef54f0fb98e0fbdf034431f491cfb5d8737f0ebd4eee0be96ff5f66244817aa0586dc84a155f2a23e7d055f80a34862cc9a469153ff496aa5fd6c47ff2d26e28bba4b100227719ed74adc5d746e9f0304265a8776ce98a4d63e617168c90b02eed694c4760bddf1a8133d952b60d25e2683bda569c150a92acc16b656794bf21d6848c8822df69294d0c38a9a1be68ea13afb1f16b2e19298792b47fb64916681b49b938a5f4171a91f646145ee142a17b9c7b59780c0bc5db0a276aa18854e76649a98e0aa8176a6fe1bdd04f960faa0c66c8317cb7df1c117cff7ca6fc2c2f0f8a37a3d550e3a7757e2fa4bd4401f41281ef2142df471efd4ce0f1b1b43c1e5506347148053f7860bc573c100f897a27407e4be10aff7b53f54cae08e99a54cf16a5bfcb76b83b53cf9b2a799d163eb5ebb40ddf6312e26a3b680f305d26aeb4960cdbb06ea9755eac97cc636e10dcf29c586b6aa13d52cf0c73f5a7c86382288059f27b8ee50316c8bf27895cd35001ba51009675fbcd1301f2b1454ff93af50ae64969628e9de03cb9e8d952e86748d9505200bdccd3e815720d9e52bd55a5ec4361e7d6325336b04978b29d08bae75d338b101a7a6e36717e5611b04e84ca7420249d28bb26c1b742b21858fed44048522909b75fcbbc83f3b1c27dea44417552dd820e64840b3e8dc51704d77c8e95f36658a26f8a2883591202d00ac02c392ef5021684a620d3ad07e0b5079407cd8996e921757fda03d0c3c206eac6f711ef417aee85bfc542811ee285d0ef30c2ef16db7c592261098a32d016dd32c132e9f6a0464bdca9a5cbbab08ca60babcf91d933a594946aa1e2dfd7a4983a554ed04149cb26bca82625a9ad5d93e0d3f7e48aa1cc89ec500530cf1e33ec39f508a8759f63f5fe7926f0dcc3c899429907050bb01305001016b7ac2278dc22035306fe771f79de4bac7b1f13f016cb2df0e7dcc5d75c7ffa9a24bc59833b6d12cd789d34cf756b9920e13d18880a8d5d2b96a6a6c02645d1149ea42c7e275e485393a315ee69374ac3dfc34cc87581b2479a9a452c73f74170fda917b020586dee1de4cc9ae7e4751acfa72a00b45a008b4d024a71b3664d2581cc04579d7b0b99f0ef4c5028bce260052594ea59b01d6879c3ac612771fd6262d8c5765a76ea8568ca2a752d2945a259502e2439a461e65361447264a1e19a4c070a20a5b09ae4a1e9f856c8437021cd15c530cffe6d8952b04aa98fd7fff9f753cfc33628ca8eac872434da6b56b1cca98716b367824067cab99986d76d62e39a2e625bf32b14f4a67b6fbb782fbc41a5d42440dd08772a54e9e61cba394f93481aa61282d041a238f5fd56f00cf8bfada21c807912b9722c9e74b44a3802d0c17c8059e466ec26996212ca44f32c9a5cb46eafa549e8bb719fbb75e7bbb586dd84069d86017691c2bad890a02917005de601ba59a74e937eb6614fdb0e9480168aa442945c782e8535b64345d34982f24d5100f00684afd3d79b5e5b8c157aebe7ad1f7893144b379e087410ded845786b6f86e7f46b1310d36132ea2de17debe7ff3785f2662b9d37dd72ffdff6f3964278ebe7ff75a1ffb5fffc1f010600800a863a11bd57ae0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i AirBnb}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Airbnb developed their mobile web app using Backbone and now use it across many of their products.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d4948445200000226000001e90806000000b698f7ba0000001974455874536f6674776172650041646f626520496d616765526561647971c9653c0004a8e74944415478daec7d05a024d595f657556dcf7ddc951118dc2d30b827407443362bc99f8d8738411248b29bcd261bd808c40831dc75708741c6dde78d3df7d6aafacfb955b7dfed7ad5f2865152077a5e4bd5f573ce77e4ded26cdb46400105145040010514d081407a3004010514504001051450004c020a28a080020a28a0803c14523f689a76a0b44b0ba626a080020a28a080f63a1d10f91c6a5a4928001e01051450400105f40f4bc5f4f13e072ea1fddce100b404145040010514d0fe257b3774f25e032c7b0398687b0874040025a080020a28a080f63e20d18671ad9f8edea320654f01136d0f7d1f809280020a28a08002da37a495002af281177b6f8194d01ee854b1efb412ef0b004940010514504001ed7b70325c4061170023bb53de1e032685008856e2b501400928a080020a28a0fd47a578448a81122d0f40d92d70b2bbc044db8df7c3013201480928a080020a28a0bd0b460a01120d853d237ea044cb53c65e0526a5808b7c80442b725d0050020a28a080020a68df00927cbfd945be9360c30f94f80192618776f64428271fc0d07c3ea344a012009180020a28a08002dab740c52ee1afed0127eae77c406558341c6052c8c3910f80680540ca70423d01580928a080020a28a03d0742f20113dbe7b39de7337c008817a80c3bac532a3029e4159115e99edff512c04921a012809180020a28a08002dabb20a51420e2fd4dbe2c8faeb63c7a7bb7c04929c0a4582e88eef95d53be3394efe577717a2587595f0050020a28a080020a68ef01927c14a55799fbde52ae355d1d6f7940881f10191638d99d508e5fc845f578e80a1051810abf06745daf1b3f7efc2ccbb2e4437b749ff2359f4e0d9be44309d58703ed4bda5ff51f08fdde1f75efaf7af767fdfb7bae837e07fd0efa7dd0f5db0b14bc5e110140b86ec330ecad5bb7ae324db3c705279a024e2428d1ddbf1a0a877af65828a7d82e19bf708d9ee76fff34a23befbcf3373367ce3c716060400cb61c7075d2f9af9c10f93d03190235254d98fa5ba98bc95b3fd755ec3ef51e6f3dde273597d206d95eb5fdea5814620e6f5b4aad53de27af2da5df8598754ff5bb54a1906fae8bcdbbda6f5977b1f20bb5c76fdc0ad5afb67377fbed5d1bf9d6bbdf77bbd36fef777ef7179b6fbf7e336f7bd78d777e8aadf33dd96fbf72de6bbf4be9db70fa5dea3a57db27e5e770fafd5e79dbaf3caf2c2f3626a5c8dbddedf7de9669a5f67b4f03a252fbed5776797939031284422151c692254b5efdf0873ffc997544f47385079c00fe3b7774cf357ef8c17eaf1e937c49ae854089ee012e89f9f3e75f79e491479ed8dede9e2da4bca606a1580c199ab4100d42bcbb1be944023a0d8c1834165af4beacaa9e7aa9899b0cea4f7f777bcee0f3a447a33154955523933669500d243309f4f6f7886bfc04b89721d489948ac64fe195ca48ea6fc5ae53174abeb255f0904fd0aaed957dc8d77e1e3355a91612b87ecc594abf8b7de737a6f9c6c7afdff9eaf682cb52fa6d5a36316519cc5412898c85325a9791b08e14adc778ca44454539ad4d02d44614b5b5d5d06d133ddd3d1848a410a1b567683606e27184c251bacf4082de53e925f59b2c1244636530a88bf17822a7ed5e61e69441e60bb5a72c1aa17a069c7b884f0af5dbbb3ef8928aca4ac04ca36f2041c228b71ee6bd68790542dcaf813834bf76d035e1683962d4dfbebe1eae883ec750496d33d349f4f70fc0b2790cf2af256ffff2cdad65f3fc5422160dd378a5d1dfdb07d31e9cc7dc7ef33f06ca2b2a1031346a473f92a9b4b8261f882c758df3f7dcc730953bd0d70f23e2ac93388d11576c6b3aaaabca9122e32b9e2665a4a90a8e1b1ca67e4491ecef23b9879264841f5ffaf1792105ea9569c3ed77a9bf179369acf4865b9e9fac2bd66fef757baadfbb23cb99f644bf8be930b57fc5faedbd8faf6739b476eddaac4eadabab03ebecb3ce3aeb4ac225d7d2d7558af7c352c23b3a72f34d54bc600fd76b12da0d6f49be64551588183e1e131e8091fcb79bc0070bb4cafa062c7efb6dbc75cfddc8f4f6a276da749cf2e10fa33c4a4c4b9f5910eac4e44679155ebeff0e6c5bb44030fef823cfc191a79e8ff440b718481ed4b2b272b4ec68c16f9ffb3f6cefda8432a312179d7a25a64d9d8eaedece9ca1f05b9085acf67cd6693114ea6769f90196e1b8eefcac286ff9bcc0a4f22d86fcf3f53b1f0317b3a0f3792f0a3170beb2f2cd810417deb67bbd5ef9c6cd0b44b36d26bedabe7d3b6aeaea619809b46def467b4f0a4da3c762444d186b962d43a46e341ac36db8ebc1bb30a057e1b0798761dcc81a6c5cb7065aa802f57515e8ebe94267773f6a1a1a88c12c6aab8dacb6f40a0aaab5a2b20c763a830d9b372061863076cc089899cc105026010c7f150e87b063cb3aacdfb41d9366cdc5e8fa0af4f7248867b421c28cef29aba822209521f0d04fc0292c58321a31f0cec2a5c884aa3063d26852dea91c6faf6e84d1d5d18694a5a392da98a1367a856d889472d79645d845754f9f311b5a268deece36bcb6760d22d5a3317bfa2424e3bd5cda90fe887960c3c3eddb5040ac09b0e4589ba4d0a86fbbb66fc1a64d9ba9e22acc9c3503319260998c99bd3e3bcd2c37340b1b562ec5d6d61ecc9a33077515210c2433245306c1a9a6e9a2affcb9bcb21a9a45808741980f4897c042a37131695c12199bd64a1d7a691e3afbd2183d6e2c8d3101115a3befbcb90523264dc608aa339931b36dd343615803dbf1cefa1d1837e31054446c6abf95b3bebd0657a97c5f0a6f7b957b29dee54280e7bdf2b6972fbdfd2ee4891c4ebf0bc9e6f7d2efe1c8f262fdf69bd37c326d6fe8306e037b499a9b9bb17cf9723276e298376f1ea64e9dcaf331d2bdccc060d2ab86a16794a85e9262cfcfc90b528693fc9a6f278dd73362783c265998984ea7332c24e92fcaaaaab09a04fdcbd77d0f27ce9a8686638fc0bb77dd8b27366fc179dffa961058341a8855d5e3d507ff84ee776fc5072ebf8a06d3c44bf7dc44c0a513c79efb11247b3a4860e9643d0de0d7f7fc04464337ce38fb42ac6d7e1737df771d3e77c9b518376e0259b27d43164b29610b2fcaf7f3ae946ac117b38cfccaf6abcb5b8e7485fb09213f26c9d76f6f1bbdfd2e3544a20ad3e1f4dbcfad3ddc7ecbbafdac44ef38f25acc96a71ba8ad30f0cb1bae4578de0771fd274fc1c3f73c87451bb662f2a1a7e00b97cdc0dfff721f2efef8e5f8fd1f7e05bb6e22caac38adcf3acc9c39059b1fb90b2fadeec1b77e782d96fcf5ff48310fe0335fb80a899e5e62766e5b1821cd44774f1fa265a4e453298463e5284302af3cfb0ec61e3a0fa95ddbb1a93744e54d45576b0b6b7d8474529a4604869581c97dd06ce1bda90c67f0c4fdf763f58e76849f7a1157fedbe770f8c42ab477f509e1a269062211528ac93459ef5558bcf045c4433598376716127dbd64e557a0b6ae0a6fbdfa2c06aa67e2d8236661cba64dc29a3734f64e80146d136ebbfebb58b0b512b7dd7c133170176231321a922901b2183494515f96ae5d8c97d7b460c6dc23511e8b61e1537fc5432f2f4159ac1a879d721e3e76c919e869dd8524019cb26808264d91998a0bcf137b33d2d45683f8da364208537f93241f0cea038bb8f8403f018190989feaa88dbffded56acea8ee0b8794763eaecb934a6490ca40954c4c2489b36b52f84eeae1e84caaa60776dc6ed7ffd33fdaee199d7dfc2673ffbff30ba0c64a824118e8491a1eba3f437954aa3a6ba0aefbef13c92d1061c4ae39fa63e5abe3c42e3327e14eefcef1fe28e377af0a7bffd01e9354bb07673270191a928372ca47736e3f9a75fc0711f1a83298de548f7c58557c5ce24491a56401b5882e79e7c19e78f26b0348a073b81fe444a00a662e0de6f9dab60bd98c7d51b3ef3f3ae15920d2a7f173260723c5d9e76a9bce9055ea578a88bf5bb900c9672209fa7bc989c1a6ebfbdb2dcdbceddedf7eee830bf7eabedcf641cc3834339f5f5f5482412e23d532a95ca28c044884f8f87c444ee2617cb27a705a57a4d76e780352d8ff744f70124f22fff1ea289321894f000644880ad7bf8211cbf65234e3fed44a0a707874e9e803f3ebb001b2e381f530f3f1c99fe01b4b47720befc5e5c7ed278d4cf6ea0926c34368fc4634bee45dbf1e72146fd2f8b94e39da56fa2d9588a8f5d78091ac84aa99936078b76bc8197172fc03f8dff1cd5d955d435586862550b3d1f72cd17a32d548fba6024933a5671ae10f173e3fa59a0a5baa287dbefe1246515ebb7d7b5a90a3a3f57632197a9b7df5e0095cf221b3257a410c9d8474d9986bfdc753bce3a7c028c70392ebef46cbcf6f8c3f8fc352fe2cc8b2f43d78ae7d0151e8d9fde701d29be1d686debc0e6f55b30fb8843f1cc5b7763cdca35d8bcb51963a71e838d8b5fc3532fbc8d234f381b878e07fef8d7fb101e35031f38ee706c5bf32ed6ec4ce394c3a7e3b1bbee40ed966e9c3f77041a1b2bb1eadd57f1d863cf406b184bf55f8c9d6f3e8197de5d0abd662cce39ef3c4c6a8c21d5df8ba45e812b3f75015ef8c35fb07d5b3bcabb97e1f1171761fa11a760724d060b9e7d01dd090bf3cf3f0f8b9e79082f6d89e1866f7d163b362cc2a2d53b31ffa24bd0386224e2610d4fdd7d3b166d4be303679c8af10d15246522d8b97a11da1311e8a4a417afda8143ca77e28fb73f8d96be348e387e3e8e9e5289bf3ffc0cb66c6b46fdc439d0ac1432b68eaef64e9c70fa45a83737e3ddad9bd1ba7d03eefdfbdde8b4a238e3dc4bd198d98e071f7d1a6655132ebcf452f42c7b09cfbdb10865f523514e80aba5cbc0c597ccc796e52f60734f354e3ff1588ca07149a79324206d1c75dce9f8d0f9a7a075d30adcb1e069ecec04ceb9e82254a6b6e3ae879fc3dc13e7e3cc138e454f7707c28da370d519a7e06f773d48b2a4135bd7be8ed7576ec231a79c8911e13e3cf6f48be84d5a74fff978f3a907f0eab628be7fdd37d140f2386d6aa8acac24c3c71661390e4b85a295e8dab2023b7a0d842d0dafbfbc08c710daa9ac33b16de5db78ecfec771e47127a1a9d6c41377fe164b9b9a70e9072fc6cae71fc3ebcb37a072c4645c36ff48c42271dc79fb2da81e390a175f781e1a22b6f0ac14f2b416f31af8299d7c9edc7c60c4ef9a52f35dd4b0a41a32930ada0b96f2d551acdf7e064c210f8bf73aafa7b4947e17f3e87a65b9b7dfa5848f86dbef5265b90adef2cd59241211060d01102c5bb60cd16814a3468d02e782ba32da70f142a8884744f5a4ecf6b1f4c3c93129259f44052586c77b12a605ab279349f0cba4578d6562565505d0dc0cb3bc02467c00b36aaad0d2db83242dee0c597bbdbdfd1835b11af563c9026adf221ad338be01233b53e8ebea2603842c25dd4422dd8f89d34692f59524abb11999501ae3a78e44783b595dfd0931e0f990bf9c28569472024bf10ae4f350a82115af1bae10622d147e2805b1ab0a5e5a23deebfc720d4ae9b71fd8502d036fce463e57623e77b557f0ed4ebfbd9684fabd9fa597035e3413bdf10e341d7a163ed8b419f7dc7e1b46cf390ac7ce3a1173163f8da50bbb71deb9a7e18eefdd4b16f509b07bb7a379570759b91692896ed48c9e86599326e0a13ffd0e75239b70da91b3d1b76d0d3a36adc4da9a5aac5bd48781d8347ce98af3d1ba6d2b59f46558ffce33a8af8861de492763f2c927a2f3ddc7b1ae338e547737e69ef30998cb1fc1338f3e0224ba3062c63c649a3763e9ca8d987eda2148124b951b09dcfcdf3fc38ce32ec0e9732bf0dd6fdf8bea518d78f585d7d03e5643c28ee1e8390d58bc7809eac71c82d3c635610469dc96cde5d8be75351611886a2aab04e9656c5dbd1cad032310e55c897802950dd578f191a7d0196ac2bc713d78f1b5d7d130b70c5b3a759c70d8646c5bfe0ab6ad0fa37cc261b8fcf0c97876713306e8bea8a69392aec7238fdd8e48d54c7cf5db5fc16377dc82f0a4537141630716dcff7ba4a95d734efb10cab7bd88e71e7d988c8b1446cd9883d6f5cb8131b3d1802d78f7ada5c8f46c478fcd02938680ca8ec458801a78fb95e73163521dde7efe39a4ea67e1e347e9b8fbc967d05895821ea9c30947cc44bcaf0776280aadaf0d3ffddf5fe2ac0f5d85c94633befbd8f368aaafc6db3426336b93183063386a761d162d5a8aa6f1b371fae426345487492027d1d7b215cfbcb3083d4960e2d44330efd069889597e1ed2716606baa0c271e62e0e5d75ec1e4d3a660d5ea6d18db10465fa412471c35032b96bf8df9975e814d2f3d82071f7f1a46db3acc38fc547434af20236a1501930a5c7cf1c578ed81bfe3e59716e3ca0b0f475f47b26882ab1fe8f026e5aabcecf58814535e7eb95cc56455be24e64289c45ec5eae7f528a5dff992bf87dbef7c322d1f30c997dbe1775da11c9152e73b9f2c7faf3a8c3d221b376e243ddb2b8009e7b71e7becb16420358acffc3dbfe85aa1c35dcc20c18759205463e7c93bc17bc93129f4ec1a3f70a21501279a0b4c0c760f3148b0baba109d3307cd9b3762f4c9a7c2983e03030b4810462b5031662cfadb3b60673228a3cf3db5749dbd5ec464b99f5b772d4592beab0b474960f5234d00a6b1660caa778c40452a8c63261d8f2dddebb0a42b86d15553d09fec15e1a3425e077ecfd7e48bdf7a174e2146f253ba7e8ce565e87cb929f9166ebe05efe7ea2c84bcbdfd2e6425f8b5d5cb447e20c96f074b3e4092cfeacbe789f1b300bcf3982f712d7b2f29d49095c4a68ddb70da151fc7dabb7f803f2c7805f349a1555535e2d0191518e8ebc5f439d370cf8205184b0acce86b875e5e8b096347a0ad3381a38e3d147fbefa1a7ce0d3d7a1bc7715ee78fc7198468500d74db5e5b006bab16d472b16bdba002b9bc99a0f9721914ac0eaefc3f6ed3b5127f2100c9495c7d0bdab1989fe24c2e575b02bcb317dc6746c23609eb452223c9320c5db9b08e3dc8b2fc3f695efe0f9372bd1d05009bd66244e3ff978ac7feb454c22d0307174021bdbdb11a90821d33b80450bdfc013a408a365e504d87bd099ea42a75985f32efd0496ffe487b8f79e10fefdb357a17ffb6abcbd661b464c3b1eb3aabbf0d4e2e578d91a8b19b3e762f2380d9b376f8646edefecdc85d55d3b09d49948135ff39cb5b5b461e61127a39640ce234f3c8d8a8a5ac47bdbb11ddd889457a39cc6baa7753b8d679cc6a01eb6a161c2a4f1e8dbbe15a3264f41a6633dba121a2e38fb42fcf7cf7f8d87a8ff9fbae0030400dbd0d31bc789f33f42e0632e96bdf82cfafa3ab0bdd5a0fe84493284307dea24548533d8d59b41bab70b56b49a00c09158b9f025bc153986da04348c9a86538f3f02ab5e7b0ed3a61e4e63d48fcd5d9d08d31875d3fcf4f6c7914e1048d043183d6e3cead2401d27b3a63208756cc6ab4bd6a371ec3c1c3d41c3bd2faec48b6fd9a8aaa824906362dcd429a88a1918a0b14e10c03449145644691d568cc1a1b38ec01bbbd62315ef453295442f27faeb3cdf519a8bb830d8fc3c827eee7c3ffecc675597021cfc64979f922e241fd5f0905761faf1b79fccf382a3420a7e4ff5dbcfb0f2ee5454dbe6979fa6e680150ad7f8c91faf0e2825476eb8b23c5f488ec107ff5dba74a9f09a54545488f02c7fd7d3d3237ee7c471d6dd2e3091ce06530119deedc61a72b710fb819182c9b0c6f5d75f9ffd70c30d3714cb2bc90744d4b04d28cfdf813973e69c7bc619671cded1d1814c3c8ed8e831e8ad6b40476f1f3afb07b08e8b3df124c4c8e2ca0cf43b3900b68970f554b474f6a0bf63135ab66ec7e6ce89a8187bae48564ca5e2c864d228230ba4ca2005b1b3055c7ef38656903ac1e4918762808089081fd14b2a44f5bd7c717df2254318fce2cf7cbd7a9dfabd7c2fef93bfab657aeb91f7f0429275c93ad4fae4bdfcd9fb5edee35787bc97cb57ebf3b6cdafdf6a7bd46bbcdfcb32bdfd52aff7bb4786f3d46bfdc6d05b8edf18a8e3a4dea3d6e16da35fbf4d8bbe336d8449c195d5d4632601e5bada3ab2ae6be8da0ccaab1a443e44e3b8a9a8895a6421af450f29d6eaba46d4549262e9eb43acb202231ac760fab44988725e89ad91621b8758ac01c71e3307c9cead58bdad1ba3478d413d29dbc6916350533f92ea28471701f5c651a35037621c66cc9c88b54b5e47a666228e3fe1384409bcc46265426054d7d68876c4494972d2e88cc30ec7a8a889d67e03a79d762492bd3dd023e56868ac47594519099630a2e55598307e343a7775a2acaa4924e8363534a09214625dfd288cac8aa0b56527628de33167c60caa278cf61ddb11ae1987f9f33f8099d3a6c2302d18a128c68cae47980458b4b211b3a64f47cbc6b5e8cd4471c8ac99a8ad8c898439ce07a91b351d471c3a19dbb7edc0cc238f42bc651db6f48470cca96761f69406ac5fb508fd919138ee8413506e26085854a28aacb74a026595d555a86ba8424767072a1bc661e6940908b3672a954688f99cc63999c860cac4d148125058d39222b1712c46503ff46899b3938a8d1f124906192f471d7d3cf4442fe204824e9a3b03bd7d5d22c7adbaa616b1b218c23c4654ff84f163d0d9d249e0a90ee504264c3d8ad163c761ec985188450de145e9ed6c05ca46e0ccf9f371c8cce98882958081f193c83022705219a5f55359054295d8b87e2deac74dc4c9c71e8144d244241621396590353a92da6861eddaf5689a3e1b47cc9d8abeee5e5a83b97c24659677edab3ce0954b7efc934f3e787947957785f8309fac906168af7cf2936f6a3d6a7ffc649a57267bfb9d4f0617ebb79f7cf1ebabdf7bf53b092cfc64b9b7dc42fd96f7e7c8254ffb86abc3647bfc64bff4b0f02e594efae7ef478c182142380c46641d55c42b4f3ef9e4e2e5cb973f4d5dad46eea1aaf000142f08f17bef9b94a362112d4fbe44b16dc14601ef881a8b922fbe66d715575cf1931ffef087ffc4d696c513cadb8049d092d94356633f74520416093516ae127933e808472bc9b28ac14ab438dfc74690751687998e0f8e04f5a3b2bc863e9be84b74221aae402c5481be780f4d4286ee0f0f498cf4a265bfa4ae7cc95b7e71ca62b1543f77a95f8c5345de7eee4fafbbb690cb53baf6fc107abe7863b17ee7cb652925865ccc4be4e756cde781f22b5fddfae6e725c9db6ffe4d33505b43966f57074cb2b447d5576247f35602c68da47088815b5b45426a4363237493001fddc5db877bc83ae6dd30bcf364e4c8118877b7a3374520a6a14e6c15b5cd24ba7b93a8a1b56e26fb451e462412851ed2c596528b2c73833d2116338f25721baaab2aa11120eaeee946a4ac8aaeeb45a8bc025a3a811e5290ece1a9afab411f59fa516a5fc8228b3ba3a3a69a3d3b3da29d562689649a2d760dfda418eb6a2a44b825168dd1f81864b90f88edb69a4682d4d2c416df78bc0f5d9ddd08c72a515f5b89ae8e5624a8dc118d756257492a192750640b00c1e195ea9a2a6a4a0899e400dada3b053f561158d33371aad342535d1501817e0200e5627b6d5f6f37527688da524dc2274375751118ac8445e02b4cc0c424854ec8c01907d27555049efaa93f3dfd71b14ba8b6be5eecc6ebeee92700504b6d2e135bb3fb689c6cfa3da45be8eeea231045166c28865afabdbbbb1355f54d5436297f238a4a02087c3d086851c548a440df1988a741f35f812e12d46973687e80cd3b6ea8cc3a1a97eef6360cd0388c1cd1483ca6891c14de16cdc9ca1ddd7d1839668cd866cddedc9ede5e545457a29fc027effcc9a45388565423c289cdbc8ba99bc6c4b2b3c9af7e1e093fd7bee16e0fcf776686fa7b3efef7863cfc42ae85e484b75d7ee105598f9f4cf30b3117f206f15f69e5fb859a65bf55ef865fbf0ac934354fc6eb71c917c2ce17d2ce27cbbd9e8b62de72d5bb912fc4eed56185bcf2b29d3c567da47fdbdadac47b0624e3c89862cf89f4be4c9a3409dff9ce77eeb8fbeebbbf4eb78d743d2119cfcbf4bc2ce565c2ff38fb1c2093d3e76100937c3b6f5430a2fb8012f97debe5975ffee31b6fbcf1e39b0898f0ae1b6644de6910264b50a7414f13739bbc5b814044ee82a78921611e268125d01f093ddbcab85bfd14b8c68b9284642c5a8e1427ca9110974a4a4c889b565fd21631f70c15feabe7d9f191b3c878714ac6e205a066652bdb44b38b8907c5fd6bb9a85b0a12b9100583f13d0512dafcb2dc55e5ec0519d97bdc3695d26f5be917f2ecb21902b0dcf12806bed47efb25a866194e6ce7cddf6fb636e1b69177696537dafbc4667d93ccdc7e8b71e75d2d362b46670ee80751bff33d297145d088e30f8764deeb0290a45d2bd2d9f6ae09c5c6bd105b64ddef07d706dcadb170b7af9a22ac23008fbba596ff66eb6321ec5e2bde33a3515b851074af65f0c12b8ccf6761e5c9db6ab3c0392b506d9779dc75abe94e932ca7cf4e1223cf95959d575d0a5bd9263936ee96581668ea7ddc0edb32c51cb10787c746586cd904683b3b2e92779cf1b444b38626141aee1d184cb474e789fb1a721553aebbde14604ecf2a025d5c0f16ceba73868d18476eafa10fd9b122f721733f78ebb2b74d5c1eb757ccbd3eb89d5de5996c0853ace5c1d3bb798ef53c614cef5a55d7f3901d1fee7c0c01125229e64998f4db365a68b78c57c1a90699aa6c252f41cd23e1712b94442a3fe7e977b66e95bff3f4db2f8c9105114a1d7ef9397e216cddb3ad5d7cc7b24b699b9cf721324dac4f3baba77c65b9dcf6e523cbd57ea308701c8e0ee3cfec8965af88bcafbda3431c5720db3079f2645c73cd357fb9e79e7bbe453f37e5012619e57b2f38518189550a30d9dd734cf225c51acadf215e94aeae2e7dd3a64dd8b061833350eec0a91367ba80454ea0aa602df7dc035eecb63269ea62168bc37d2f16926432c9ecea0048c1a1ec05cc39442a4f4e876f46b73a384a9c5553984df453f64d115682895d01ebd76f29cc0c970972fa2d85b9773b9c643e050049c650fb9df7c020b9f0657b645bdcfae093769dd36f57205baa87490a713763df72dd8db2dff27d9689e43c7afbadd62bc7c055f452584966543d6a5004758e90c5d0f3932d653da9e3acae315d019850c751c99fd194bee49c4522859abba62580cd9937778c7294b5b7df1e2f94ae0a306fbf95b59aedb7674c24af0ce9b72aa0e567657daaf3adc9b19740c23d2c51ba8f55c527c7cebb5e7d81a84779e83eeb138ae0cef2b6babebdfd76fb9155c47ebb5ed4dd1c8a8cc8024685b7b3324de687b0a4661027c7cfed975cab396043552ef237a5dc9c35e58eb5fc2d6b04f804edb57cfd96b2d28f977c8cae1c6f709e736854a59ccdb750795202138f82f6ca72dbd36fb1ae3db2dcd7a352a8dfca7a1822cb3d320f3efdf61ac19267e5da51fbedd561728ca48e33f2f45bad57ce6f411de637dfaa7c2ea6c394dd97d9fc0e975f259f721bba49772b8e06af07c454ce37c977ced95e39c7c4efe457bd409847f309f1846a6b6b75ce029e3265cae0002ad69b6fa6b9671334548651161ebc6e7d97f9f31d44a4298bd1f6b44553ea81e71a29408720548f7592b330fcdca08aa02dd86fbfe42599f2ec61c49c7ebbc2b150bfe119b71c4646f183d3741fab4cedb79f90287646806fbf3df332e419db2ac050bd565e4bd1b36e8624f0a9fd5615906a2d7a148c9f355a52bff328122dcfbaf3e3e2211e2b45c8f9f6db0300fcc0a85dc84a966bbf947e7b5dd6aa79a4b4d58fdf6c9f3aec625b2cbd3cebb336ac0296344ae977013eb23dbc9d8f77a128f57cbcbd27fb5d681bea10f9e5d7768ff1a6793c1a7609e77a64afcf139a2e24cbbde1e9425b6afdd66fbec4d121ed1d46bf87acf342f3edd56179d6b99f0e53c34225eb309f7554488779f59f9f2c2f239d5d43ba5bc91705720f59f303251203f83dccafe8ce9cdd79568e56240745f709f588bfb366cd324e39e51404145040010514504007073df5d453eaf11fc0e031f40672cf2ed1f26004bb546f09e09f5d5b0ca4e40323bac75b32c463128fc7b5608a0f2ef28b41efcbbadf4ff50414d03f02dffe23b6fbfd4eaeee0ec1ff8c32cde7733e905212950a4cfc0ace0754d4867ab711ebc114071450400105803b30120e2a524339aad3215f5a4721bc509442790048a900a5d8616b39de135a74fade5a7c3206c8e717c898241f1893af3e198f53af67e2c425beaf946710c832e45921f288757ecf5bbbf87530339ae693d8b52fc9ef31e107733d0105b43ff8e7609141ea6ec403b7cdda30ecfe03190166ff2955b7aa691936fc9f93a71700275a09b8c21eaec7a418282976089b8aaef61a13f2b9fe5c4134ececf0714faccbfb90253e0c8a0f90898643628b323fb19519998fe42e9531f8245b3eb131922dc32987cb66c012d0816f3d05eee380de8fa0e460f59878b7b41e48c0491bf6535f0e541088bc7ab180fef70be1a83a1f453c272557389ca70bfb559aef95eff939dade5a300c04780b56241a459ad67524eaec4e61e0c087c57877d188e7f51068e1877465e8faed5d69948535345544902140c1f7f1feee42cf586050c3e0a3aaaa52746d7b8f736ec5e8ea90002a29cf992c01383830c142004a027a3f51a1076c1e2cf2a6d8b35ef6c79866929de8dd740b19af11d26695ce393807dde220556cf6c2a2b6574ffa3c8c4875a9e3ec77b06aa19c927c7926b2acddda95532a802805b4783bb0db0b2e1fc213c7f91208a8a9a94477d2c68a5d718cab09633cbdf87b062d0c325440c1c0841f07cf2066f9ce38fa521662029884c4e147fcbbbcc7db66c9344eb931d1add5ad49b40f98e2e0a7aa5808559130927d0307bde2f33e6f665f5b4efba2ce209413d0fb0d98ec2fbedd53ed3e90bc989a38c011685ff90d9447de4279dd59a4d8db0f5a60a2eb36fa5b9e42fbaa1d683cf4667130a25da02faeded54a0423bb8321ecddf198945270a95e94f7ec31612f841a9ec9f1486821b4f7a7d0d69f1115313031336924d31911b7e4fbf871ceec0d891270607fd6aa5d09740c38e7c554469ce1e0133b0b3d484f7a68f81c0f3ec97253670a5bbb5208eb1ac2210de554747c209e7d7ec4c14cfbd3ad1a784c020a68f78d897cbc2b0f4153a950c87b5fcb9b6246c2fef0a6a4936424a596a072ec640225bda4cc12bee7c71c04ab83fe2f4365c3040c6c590c528f0847504a784adb4defc86ed1ee9cfceaf75b212092455ab49876cb63a27a28f87d799988d3c0363348a49cf3fc194cf071d16143476fd2c4bcd131716f59053fdc4f13a0854334fc5c003e9a9b43382dfd2636762611e5675d9836e6d54644195ddd3d686a6aca8220496a2219839bda9a6a24323656b726c4bcf6244c1c3eba1c5c5d5b479738e657329b76102e62eff1cbef478f897a8c740eeff2936f42a19c4dfbc0605296385d4800cff749325c40ef3b70a23ec44d7ec7eb5d82922d5bb70af93679d2a4ace196ef00c47d054ad487a7e66bb762c5678dbfbdda66db793c82a6934e3153e231069a16761fdd200f849427461f0cab4317fdd08c18e4933c8ac9595777174b76d5f2608361794b4af198142bb41040c987b286a56c04e82040c1af10810e7e18588a7342bad398581b164f42ededed759ecc4840657c4d14a74fa9c498eab0d3c15018ed710bad7d494c6b8c221ace88677530ad6d4ba03f6da12b616366530c0de5ce0176d5d5d562c187430622229c631310498a55188bc560f3d322a351f114d5f5044adae219e10eaba7fba7d43b3b816a6b6a1c17a00b6cf2f59977ee705df218e052bd2c7c9fb472a46524bf930fb192c757fb9529770ca9c02b9f70f37a16f82f7baab2d6997bec78b1b6739d5298c8b6e61b977cc0442da394b5a30adc420231f777062561f1f0c7fec75689df2217cf061fa69d7860396c429ed17367d05a8a88674a306bc9076c659f7fe4ee2ef0b6555cc747f1abcf8550c6c26f5e0cf92ca080f68b82d78467745054b2ac91eb5f7d9f6361fb7c2f1f8ab6bbed50eb2c564ebe500eafc91d3b77e0c5175f24f91611f26ce1c28538f9a4933066cc98ec9370bd6d974fa4f53bdd54bd563ef1966938ed550d212f30917cbc7af51a3cf7c2f3c240ad21f97af18517a1b1b121db66b5ce520156496dcb1e59cced4b8b073fea21e2e91a526d9d243bc838d5635446985e7dee231cf8f954e5f43b7d6f7698c82a9d03c66f42fdb0e5aed5927472bee88756040b0c1b9494024c4af59600259c083b5c8f097b282428a9aa2ca7520ce1a158b8ad1faf6eee17de8933a656214620a1bc2c06839509ad0b094a9896ee8ae3f98d7da88e1a98501ba1ebca10454ce4946cec4a6180fe5645751c3bb61cbbfa32a88c18a8adadcd3e906b63575a7854c654391e989ea4251e6d5e4e75313a5edf99442f9511a2c578d1841ae1ad4999361a08dc241309276c44edcbd767f551d84eaccfa3f43dc763ab8fc0d6dd67cef08b7362f87bb9455add3ecdf58bba1800b902961f56c60950e2c16f8a12f5ee24f23b2e5fb68f05c5cc99338437a1abab4b00baac1b5639d2597d2cb92c27633240d473b6587b41905f9cd90bf454e1c765c9fa5561a5021af551e57e425c8c1d01d24c6f02bd3f781ad65d2b60a74d0cbcb01e5a2404e3eff499e6b8e7a2c9a8f9d179a8acab16e3cae32fc7597315000b509e7f16a2bafb9800a9b07465acd547cef7f4f4887b39615b254339623fd8edb56fbd86bc76162e7c0b4b962dc5e51ffca098cf6ddbb661574b0b0e9f374f3c99f589a79e4259ccc9493beac823307efc78b12bf091c71e437b7b0729d10bc4535bdf4b38a3b3b353b4851feb211f5ea80275750d7b3d25925776eedc859b7ef86351d667fefddf70ea29a7606b73339e7c6a01ce9a7f26c68e1d2bee6563efe9679e455b7b9be0eb2ba8df7e008c69c5ca95e27abe6ed6218764bf7fe9e59771e2092788fbd435abca37af81a11a24b2dddcc7a79f7e060f3ffa28ce3bf71c94136ff0f85f77fd0df8e2173f8f993366887278ae5e79f5554ca0b1afababc392254b70d45147e1b9e75fc0da756b71d925970803ea112a87cbbef4e28b3172e4c86cdbb81e5f1e531f3745c0448fa6d1d692c493f7f7e3d2b32a515e4f06ea9a14b6edcce0d4b3896f590453b73a3724d04d4065d28c28cc4e32186b0d277d74800aabd09cbf0d34cfa4d3d041b2aa8adef7b9bff1770c74a29af8cd8c13d0a9d61c3044efc5ab8a3e8734e79e7ebabfc92dbfdd72fed6bae5713d4d4e3d76bb251e42c9fde086caa7050cc36352ec84570cd36b92cfa753321829357e54089c68c31108cc7cac58abaa2a0428796e431f7ef3661b16ef480800b1ae3d890152126152c60c4ade681ec02dafb7d2ef7151c6fa8e241e59d58364dac6f1132a501e1e6cda6602253b7bd304742c9c44bf2d6b49e08fefb4e3ae659d02583028798100cdad6f72794e12eb731b7a71dbc2763c4a653275c44d6c21e0d24760e598f1e5e84b5bf8dddb1db8635127b6f766108d45f35af6cc9c3d3dbdb896988bdfbff5f6dbb8e9c73f16ef99c9b30fc0725fead326e3a4ec7e70d34d58be6205fefc97bf62fb8e1de29a1b7ef0031296bb70f537be29cabbebee7bf0e8638f8bfa38846528caf9d7b7dd8aa79e5e9015003cce9d042ebcc2c7abb499795b5b5bf1a3fffc2fdc73df7df8f56f6e15ed78ebadb7441b79cbb67c6017f78115b33cd3e5b6dffd0e7ffeeb5fc5fb6f7fe7bbd8b869b303f65c659cef591312a4f27dff7bf3cd54c6dfc47b27bfc812a048287bba86c74eb69385ef77aef91e09e39de23b9117e423f087786568eefb9f5b83f49f1713280d2342afe87d6b117e701dc24608b130adb7bfadc08efb16c2a43673ddfffdd3ffc1a2c58bf1abdffc067ffbfb9d58b27429befcb5af91405c27eaeceaea160f73bbe597bf14d7c935902040f3bdebafc7baf5eb459b5f79f5356cd9ba458c1d2bb6161aeb5ffcdfff89a7f4f21c71fff2298880f63cf19c2c5fbe0277dd730f162f5e22d63bd337bffd1ddcf1e7bf88b96550b274d932c1ebb7de761bb66ddf2ed6f34f7ff673e2c1bb11a6325611885fb67c395a08ccacdfb001cb962dc7530b16e0af7ffbbbe03bbeffb6dffe0e2b8897b8cc3ffdf9cfe2772ef385175fc2134f3e89af7efdebf8cf9ffc4494cded62e5c96b9c5f7e96bf977f98249fce9e354b8012c9174f3cf904c983a7b3de898d9b36e1273ffd29adb73e61c46c11e0e529216f98bfb90f7fbcfd4f58ba7499e8e37df7df8f4dc4cfdba9ef77d358bdf3eebbf4dd03b8e6daeb08a0bc22d6ac6c1fb7b7a3a303dddddd05db2c7964f3e6cd02e05d7bcd773165f264bcf4d24b38f7ec73f0e94f7f0ab7d2984919c3edfee5af7f2df88bf9e48ebffc05b7df71077e73ebadc2606b2630f3d0c30fe3fe071e1075f31cb6b5b56701097fc7ede2f6e50b0f698438b458066d9d29fcf2cfdd882769dc2b3368ed4c63ebae0cb6acecc3df7fdb81658b7bf1f7477b70d5d5bb08442560d4db58fc761f56bedb27c228efbcd687e44012b7ffaa1d4fdcd74d0b2d8d45aff752bb9358f14e1f36ad1dc0f2b7faf0b7dfb5a36567027a9d899d5be3b8f3f79d78e5996e74b691c1fd780f7e77731bb66de88769a471df9f3b70ef9fa8ed66126da4037f7a532b16bd49ba2a9ac2bdb777e095053dd0ca19d0a6a81fe6ee382476f744d7616380ddf198d8289e815bb0c1a5784c4482296ff515a1141df7afe8c293ebfa70da24061806dedcd68f497511e1ed607a6d6b3f1e5ad98314a1c1de9433e82f6f1e401f018ffa5808cfacefc53bdb06307f6a95d879c309ab3bfa32387a6c194656860990b48ab0ce26022cbb08b070398faded1109ad0d74fdb3044ab87ef69e6ce84c8af2b7f510b8e94fa3a12c84598d312aa34b94c9f909eb3a521853559eb5dcfd12b6426499b3b06261f3ce3bef621e595f2c10aebfe1fb38fef8e3c4f52c4056ae5c8551a346a28f14d519a77f000d0df5040edab066cd5afcf4e73f234b3d822b2ebf9ceab270ef7d0f6031590a93264d442a99c2e8d1a348c0fc0f09cb6df8d06597e1f9175e44597999f0e6b0c537d03f807163c7e1a1471e1616cf87afb80213274ecc5a60aad525bd36ec1d78fa996770d28927e0d043e70a21d0460cfdd8e34fd0eb71b20cc70aaf130b2ab6b83ef799cfe248b2225968716e0f97c160825dc8b7ffe94fa47c5b84a0b9f4928b8580f58b31cbbab76e6d163942b28c9b4969afdfb011577ff52b584720e04912e60df5f5f8ea97bf2c841a5bb3acf47fffc7db856577c179e7e1131fff58b61e3ff0252ca6810452dd71844c66619a3f76bef42490365cb73ed5dfd3d90d5e090c1362b44e172c781a1b68fe2a687c19a0d9b48658c8fdfe0f7f148ae7fcf3ce1596def77f70a398ebef7efb5b0474480950fbc5193c54265fdf4c4ae081071e42636323920446eebceb6ec4225101409b1a1b70f9873e2472a0de0fc9d5073af118373434e0c6efdf80dfd13c32607cfe8517c86a2f17963aaf1b569c3fbaf146fabb85945b17f1c58982e72fbbf41231df1b376dc429279f84bfdd79a7587f4b4899bff6faeb22078d43113ffeafff427f5fbf98efbfdf7517ad9f4ae275524eb4965e7ded3552f28bf0912baf70c27c9e24862f7ce9cb42cade460a590deb7a3d0facb4d9a0d8be73077e78e30ff0f63befe04fc47b175d7411d6137f30f89a3d7b76d65bc38a9cdbc606cde8d1a3f12eb5e14e022015e5e5a21c96cdac0a16ff7131f17a1dc98e1ab413affdefcdb788367fe3eaabe9fb1ae2d76d02ac8d27993069d224d1b6679e7d0edfa7f1facdaf7e89138e3f5e006ebf364b9e7c8ec69bafe379b8817867e7ae5dd8b071038e3af2483cf7fcf3622c3f70fae9e2da86fa06e1d162af52341a13df6f20fe5ab162254e3ef124317f2c2b3ffda94fe15ffeeddff022819c0f5e76a918db0d1b37e2aa4fff0bbe79f5d748467c7c5046a81e05f63498043408488c6a325011e39c13936451122bd79978e54d134bd7dbf85e6388c650a3751286a1d39c9425b0716b06afbe9bc071f30cbcbb9240e2320d5b7685b0646d06bbda7bb0648d892f5f558e3b1fedc7f831213cfd6a1a234694e1ecb349fe54a6f18bdb7bf0e0b326aef96235dadf8ae3f6079238f1d82afcfc8f3df8c407cbb062b386d7de8e63e5da38d9f106d28861d1461b4fbeda897756ea04ccfa71754702977dac06f6b6544e18673772f94af18e6828616bf07bf19894926752a8a1e2250569c20d71e47b3182676b3144a02044ca6521018a8709244ca80de3f2b9b5e04db9db08008cace003d14841254c3c4abff3f7d1908ee90d4ed82512d20450e826a0b2a32f8d27099cb40f38a0e5dd5d71b4c633d9eb382f85bd679c04db476f5ed8d427c049759981d79b07a8fc5e541208eaa1b2eacb9df0c30602316d5c1ef52e420aeb03932bc535ec4931dd89e63ecb3ea97d64e59ec9a449515708d46e89104e485821dff8fad5026c3cfbdcf3c2827eed8d3770f7bdf792e25d4f0bb551000116420c00ce23857e042939e1423eea08baff765c74c1f9e2da5e122aac28478f1a854f7ee213f8ef9ffd4c08bbcb2ebe18871c72086efce18fc8624f60ce9cd9e8e8ec226bae55b87a5938c87632234bcf07bf785e98e96fb8ee3a31ad0c4656af5e2dc0d0c38f3e822f7df1f342083e454a7ae28409983b672e163cf3b4eba9a1f1acaa16ef5991af5bbf1665b118bef695af88feb152e6ba78ace489bc3c4efc995f4c1c2e19316284787fff030fd2fc1bb8ee7bd7e06b5fff86a8f3eaaf7e95ac9e4ea110b81ff50452d863c2d6d005e79f2784981c7b2e93dfabf5883e7282dbf1e3d03db3dca99bdad24f02a95fcbd07bba379546f3042075dc48d89984680b83b44709944d2640c8008f85e9a9a79c2cac37f68ac413716cd9b295464cc7473ff2111aef4e01949858908e74fbc4e08d2d3b4ee6deba752b2a49015ef9c10f92d29885d6b656eca0f969a57952e72478edbd17af43e639f6886d23c0f8cf577d12f791c5cdbcc20af84e02124d8d4d429933486ea4f73214b079cb167ceeb39f41c808e147043e5824b077843d846cbc9c7eda69f8ec673e83458b16a382e4c0f5d77e4f94c356fe17fee37338edd4d3c41a3f99d6d6c73efa51c14f93274f16e5b30c6065fa997fff777c86142cbf67de94b2462a55957fb86ce60b360eba68fd5d75d55502f49e77eeb9f8fe0d3764cf65125e4ce1cdd0a90da792a13281c0c00e9c73d659f82cd5c7fd4ed07afef8473f46fcd520e40cf769db8eed820f2eb9f822bcb1f04decd8b113dffac6d59836752a56af5d2bcae5369e78c2f1f801d537878010031fd966c98bdc06c98b4e5b7a044ff16fe79e7b8e30b618dc3155565462d7ae96acb2e1f299cf3612c8606f23f797dbc32126f600b18c69d9d52ac0d52e9a432e4b7a940f9939033752bbd893c486c2a0cc4e8abf222f2cde4317b75145bdd42e132d5b3a9068d98581ae7eb4779838e7d418ce3bad0ccb570ea04c4f61ee6413a34676001bdb70c9992931a6b7fc6900179d1ec2bbcbd2f8e215497c605e126f2cb2a1db6498ecec2683870ca038adbb06033ff9a28d86ca0ed85b5a71eca1217cf2439558bb8ec1470ac7cdd6f0b57f4b1088051e7e228e1924938e9f17c6b3af5b6869b370fd97e3386cba85275eb070f821215c70761d3203a4f3ba68bce27da23fa26ff1c23ca0e4c9154b70d54acc2fd9ebc064b748e649e47bc9b87b595994143cf010818eb68485e3c757080fc63b042a12a4e446bbb9241c8ed94900a135498ba0dac0c8ca9008c7bcbd6b001f2620d34800667d771a339a6238a4c9c9033875620522611d71d37944f46123cb10a732e354ff782ad7a67a7a09a06ce84e89f22e9f538b0e2abf336de298b1e5a28c569ae436fa2eed8290b1745f34aca183c04b5355ee1e2cbf3e7228875da53ff9cf1f13937f5480068ef1b20b77cd9a75f8e74f7e120bdf7a4b64cd732880f363c2e1886060566091b0e39e7cf3ad774479871d7a2856af5983a38f3e5ab88cdbdbdb70c2b1c761e5aa95788d8449435d3d1a9b1a319504c5a68d9b70c985170aa1c856c329279d8437de5c282c2999c8a9e662486b8693e5b88e7befbd0fc71f779cb016d7ac5d87185927b30f9925dcb603fd0e8860e0346ae408d14726160eecd1f8e18f7e8c2431c411471c89ae9e6e3c4dc0a5a6a65ae40a490f931c23ef9871dfd9cbf2ab5fff86847ca7b8feb1c71e17b1fe69d3a6e279b2a038ecc1e3c4028e41098f5d5d6d2d664c9f2e408228cbb273ca55eb4af70da062d218446f9c8fe6702f126912eec9b8001796466bc26e47cbbfcfc084e366434f38f925f30e3b4cd4c556702c5626bc1ed3a93ef6724c9d3259ccd57d0fdc8f6eeaef2133678a84d63e92281c86644bfb261a13b6969bb73513f02b136071e1db6f8b10c0461a6316b6471c7e385e78e145ac5ab35a78838af151f07aef2f3ecbe8ed77dec5a34f3c21d6cee34f3c896bafb9061fffd84789cf8e420f018419339d1c073ed368f2e449d95caf1ddb77e0965f399e8c8f5c792566cd3a44846e18944e9a38098f3ef6187ef6f39f0b4f262b87cf7ff18b686868c42dbff8b900322fbff232fee3739fa372cb05ffb1e782f9939526f3282b53f6c49c72f2c9e2bd9757d49c345ea3ec7168a4f27f4a060aafcd6f7efbdbb8ea93ffe484bd37acc7646a93cc87abaaaa163ccd610f6e272bd49ada1a9259dd983fff4c5ad35344d884d77c5363a3f0e071f90c7ed8a3c9fd19454a9fdbca3c514d608873ac18e8b13795c1824ccc57db2dc3276a3f98af3904c5bfeddce11819b19823c757af5d83c30e3b349ba3f6910f5f29bcb637fe8865ea47441edbef7eff0711e266c384bd5c3cae5fffd6b705203beed863dd9d9a19d16e6ed708ea8bccd91b7cb9ded54c92144e3faacbc9a8acabc4377e55899bfea702bda908a64d72f5513a8c9e7e0333094336779663e1f3a4d48d38b4fa2e8cae4da0a32f82e34eefc7456784f0dd5b742c783b822fffab8149e374fcfcee32f45b95183dc2c0b8d1544e471701895e5288bc2395409b45f2df8ca0a652c3e2d5195c7dad85a3e74531657218af2fa1f619115c7a4e398ea1ef3ef9050b4b97a6f1adcf96a3b53b84c67a1d671e4f0d6ceb856d269571368beae37d9edbe539a7a3d083f9d4b3f2e5c37c42ca2be27ab523ca2beabef8f7decf7ffef35fbff9e69bcfe185550a78e104a6656d295cfbfc0e64a89dbf3d7f1c4610c8f8f0fd5b10a5da7f75ee385444c8c258d28987d6f55067801f7f6014a6d547f1e505db31a62a8c6f1cdf846b5fd885179bfbf1bd1347e0ccc99558da92c02e0215eb3b52e82260f1cd139ab0ba3d897f7dac191f3aa4065f3ea61137bed282d79a073083cafad959a3f1cece017cf5e99d389e4009d7912640f395a77760435712674cacc4d5544f226de1938f348bf0d2afcf1b072dd987b6ae3e61a178132e65c2ea9b0b17ba0a7e8b507c73e7ccc16f6efb2d818729f8e0a5978ad8f2f871e34548842d33167c6c152c7ceb6d1c7dd451f477a1287bfe99670aa667d726bb2fd952671071cc51470b172c8ff9b9e79c83ada4f88e2425be6cf90a612d30b0e1dfb82dc9644a849046b85ba575655791dce923ddbc4f3cf914de7afb2d51e6f871e3d04565ac21c0f2e0430f8b04331602471f792406e203e8ebedc7bc7987897b392f85ddc25ffac2e74588e567fffb0b71ed6964a570fc78c0f58cc89c1ab9ab869726d7bb74d9521173e7ef2eb9f862e1e1e176fcc7fffb7f22a6fdd0238f08e1fac31f7c5f08c037de7c1323478c44ff40bff04a70a8ec18026e1268a9e5ab89c6baa1c320e1bc69c11b68f9dc3da8da9810f5b78c0606be7114e65c351f634880a45ccb945ddccf3cf71c6690e0e3f9e110d21c9acbb564299a24f0d6ac5b2bc2721caf1f3f7e9cb0a6274f9a4c02bd51241e327864e1cedf3148636f09cfc189279e88c54b16233e907013310d1c7bccb1e29a200976df8573788e798d73be08ef5e91899becb960f032b833cec8861ad913c66b3c45bcc56112b63ed9a0e0fb39678243b4fffa2f9f26d01ac62f6ef93f917ccae1092e8f7393d89bc809b3ec01340c87efdadbdbc5ef854e945677a4a83cccf79ba484fef717370ba3e8820bce17befc8789673804f2d5af7cd955d04e623daf6df6ac303ff32e43ce5123858128b58bbd466cec4c2180f2a9abae12405be60572db19003078e23efbee7a5192e3659ba58cf1ca49e6e79b7ef423d146060e6c18b121f2d3ff6180358dc6f05f840ce33298e7791b347b3bb80d22e4be6d3bf1632b0198c3447b9837993841994109f3915fd27e562fea51a41269a4375e8811959b889f6ba185c2488647a0bdd78061a551539e4065b90d6253acd95e8139e30710291b405b7723ec780f9aeabbb1ad25826ffc72042e3c4dc7472fd84a60a31ceb9a1b515596c1c8c616a4fa2bb1adbb0a236b330899fd30499dea995e68543e6b5b3d528d655baa30775692c09589075ea9c4573fa561422d81979089755baa1125ad3bbe6180353b5634933136b20ba1ea341937f588e8298caded44aacf841e6a23c37a0e22531ea4b5c4c9f7f9c3c2bc8ebff0852f3c79cb2db7fc843e5639a9bd228acdaf94f24abb7f33cacb74ff5aee7bcb7dd99e17cf9fbd5f81894c2e2ab68d8b5df68f6f1cc0b52f6d475379085f38a201fd191b3f5bd88a439b62f8f5396371dbe24edcbab803e30884548434dc327f34feb8a21bf7adedc1f31f998c956d095cf56833a6d44670d72513d01e278576ff667c89ca5ad69ec088b210fee3a8067ce3f99d7864432f9eb87c121a62063ef1e85634f765f0d979f5f897c3eaf0f5e7f8f71efc96ea3c695c05fef9896d58d196445d54c3f1a32b70fdc923f097955df8065df7cbb3c7e292695584ee7708a66681e01522726b28bb28d51d2dacd4e48e0cfe5eec10624b821535313d5b5b2c9478b1b0509467a530b3713d5c8efabd2c437aa198f939c18b431c7e5bea18a0f0fd72878bba654fc67ff93d83c641c19d16dbb25f7ffd0d02448b8447e6acf9f31d81c80287fac9ed630123dbc5c4dea0fefe019c7edaa9e2330b5d59a77a6681040efc97e3f0aac290bb12f89e1709b0ac5cbd4a788e5870f1f55c9fec370b25066bdc7f35b94ef5d265c783bacde0244ce3bc7dcd3a6cfef49f85bbbae227e760f6d9c7a33e1ece869b2490668b51dd1dc4428f41a9779ce549c4d2f5cef7e513da5c87dc692549ba9983d36af70df138f3ba11163ecd2fe7fdc839763c0499ece18de2d802c563c18095ff72b883ef11c70dd0ef9c2fc6dff3fae4f9646f0c2b7f19a293c68c5c4fbc0e78adf35ae0b92f9413201f4aaa1e1720f9b78acae5f0381b109c93c5f51e3a77aec8efe2f00cf3a3bc97dbcadbdf4dd77b2a7311b89fcccfbc9b672e012e7e0c88ca0becd94db86119f94053ef2e39bf36cbadf2d26890464225c9430e6dfef677bf17e070cce8d1221f848d38f65cb1bc52cf33e15033b79bc798cba9a828a73174425db25fd28b548a4740021373f3c5a487d8d0a813de8b4824ed6650503b4d2dbb73472fa33e243502761a81380b56c6106193f6de0ab49aa33077028190ce1ec1e3919825d4742261201a263911b684fa364d328c741b29931f68a8097964e824ef08fc80806f5b7f0321800a32be9b6125798e485651bdc2134cf5b2832714a3f1a7df32d4b668995b4fd210e164dd68455be2088426dd5f1498b0ac0f8089a220478d1a8507370fe0d34f37632a018bce0113b3ea22e84ddb021176a42c34450c34961958de99424354c7b6fe0c52045e1ebd783ce6d647f19d575b70ebca6e1cd918c5fcf115b8754517fe69460de6344471f52bbb7006818c311521dcb4b00d379dd084ef1cd58815ed495cfa783376c533f8dd19a371e9e42a1c7bd7262469ac4e1d538e770890ccaa09f37ac48bdb067018d573cca832fce4dd0e9c33a102771178492506b0a3a54d246232d3163a4edffb1c9f42cf8b504fa455adfce19457a85caf40f67ab1f2f5417ab824a06040a42afa41856f6777ecf0230158a8b137885dae6adffc808937715afd8e5f0cb6d4cc7fbf3eaae3a50ac321c0c46dabf0d4d4d5a0a3d5098d8d9e3c1e1569c339d0cf076c161afb7cf356e8e9d77efd0de8e026712e8efb04730621d22b2015e57b9d67957f5460a2fec6868d4aec7128f5f45719d26570cda0aa907c1b4e9bf3f122d7c760a34ce4a5ad17e1230e2571688b8d851c8fc7de082be811a4e2044cb65c4846eb2a98a99a22e792d843522cb85b61d282e19889d400696acb706d0fefb57691f40c3e378a8046940d3e9bc65f53c6def6a47ad8feeff98c957007da53472134f1418423d601074c420722e3662d752b8de346952342c061e1c65e5c7644033e3fbb0e673eb695ccc60ce68eadc0ed678fc14d4b3ab06c19819df2102612e0b8f7bcb1044a1c2b73195dd7de97c6828c85051b7af1a51346e0ba631bf159022c9b0980fc817e43c2c23fd3770c4a9826d644d05417c5da4dbdd0c86a661cf46e774aacae15ad095c31a7167f3c730cfe46e5fd8940cf26aae3a1555d38625a0d7e73e65851c696addb515b575b94d98728ee02ef8bdd379cf24a1124a51e5224b718b2905095b1afb070cbe3ebfb49a8f1cbd08dbce59602a0a465c860c80f0c14ba3f1f50936de56f931d5da8a9ae16792ae64012292bbd5b7359ea35c5fa1bd0c14df2d048758dcb24c33d39dfaac753ad9b153d7b0d257faa8731965a2e8311b99b664fb7d92f9c231351c71218993461820071dc077994c2de574a61915fa2a307ba514646e96ed4c989bd03ce78858df790bba1f33954640c92ba0f1bda6eac3f3eeeb597cae01d450406913ae0782474a0322fa3e76ddb7761ecb8715870c124bcb8a9079f3eb416bcdfe607c73409b7cd770e73c2091f9e5c8de6de0c0e213071ddd10de040c88e1ddb09518fc1b70e6f444bdc14cfb0b97a6e3d2e19ef24aefee09811280feb584580e372baffd3532b6125e358bfc5495a7ce8dc71f8fde8321c3db2026534f9df3aa611cb3b92f8d4cc5a7cd02de32353aab0f1b4517861671c278f2cc3b7a93d3ca09c5750575d85faea4a74f5c57130eb16d56a29d5f2d99342aad0c9b47baafea2f5b0d54980e4407be269400115e3dd7c7c5b0cc0ef2f4f523e9021dbc821227eedcb76b33721525e8dfed887b16dc75b282bdb257655e16014057c74bead61807422465d89ca5894ecff78004c4a5950bc40a59b90b77dcd1d3b02730994a4fbbac5ae986b0eab17d7f5b5b7a02b9ec269045e4e3b6b8c73f3402fd611a0710e29b37022fdf6fa45e3b3656fdfd62c9e85337bda64fccf3183f90a1d2d3bd1dad9ed1c1eb47e3da68e1981af1fd900a412e8ebcbe0474736645d62bb08f4b4b67760ca8471f8cea175e2c5c4ed5bddbc43009295996ab46d4de2ec265dc4174dfbe0146cf2b5af15b25af770acb9bd5d4fe0c108e8602099ff325c6fc8fe9637d2cb73603d5fcc868101544efc3cda301ddd8956e471f21e1464112609578f46d384f9d0ed3ed8d98707ff830293e184117861f22e054e885cb16e734ec6765b6bab88d9c9e78dac5db34684fc2c9117648a64cf09132660c78e1d58b56a15caa311016ee3c9944876e4c4b2551b368b63be399b3ccdd632bde7645bf170bf9616acd8b8357b5cbb8809f3c985fc8401023beccde1b85bf3ce1668f432744e3eb245dd9ce7d0d8d4809a2d6dd03269687aad68987610c26bd54deae762dddb82553df1766f09a97d554f4001ed4fc3e2600126aa8e3890da6c9969c42236c6cdbac451e407b3e354784de86f86b798674a0ed7bfef8149a9314176af33386110c0f14c9919cfbb1df82f8308790cb94cf0e21d2d328b9d9f83c099d8fce22ceda6ea1af1bbdcaacb714bf9c02afe5e1eeec5bb2418dcb0c74626a9c94c78feccde1cae4b5e23b79d966733f0e338a4a94280a584e53c76523f48159eba20f7d52e10d5c52c41c3de600c995fa2aecb00980474b09377578e9a487e300013e93539f07891da64f61db4b2dcbb46c413d44b74fdfc430093e1308a3c3b83c180dc7d21b79cca03601854c87083fc4e5ac0fc9bf77a7eb1d74366a6abae4379b898dcca2795a4bcd67b80115fa3d6ed64971bc86495f9c1bd80f7c796542958d5baf7662847d673b058960105548c7fe4b3a70eb62de52a900a7871df189cfff0c0443289f75c868349c91e2cd6c79e5ec0fb23e9735fe5b60449ad01bd5f3d26079bbc92de12793e5140ff98066a685f338c3c5930a0009804c024a080f60e0d77375b400115d3ddef5b60c2b920f2392f0105c0e4400226fbab8f01051450400732f123145877bf6f8109e78970ce0727b40614504001051450400736b1ce66ddfdbe0526bb93fc1a5040010514504001ed3f7a5f27bf4a0a5ce60105145040010514d07e0726c339602da080020a28a08002daffb4af7576f0dcf480020a28a080020ae880a103f25939010514504001051450004cf61920098049400105145040011d1cf40f91fc7aa00f4a40010514504001bd1fe960d87c72c08772e4f1f5c964c233a0f91ef158e2a15c4a1bc4bb9ca287d6a379ea70a7d8af38df2b0baf141c684f9dde07dc01ecbb47746a85c7d72e7efb3ee48e228dd38a0f6b91abf35d637b2eb2b57c822d4fabb5d2c754d30a2f7cad604fec618da23dcc291d5ab332425a69e3afed8199dfebec5774cc0667c156e6dd2eb6d0ecdc9f6d39cff6202bca61d49405a165ebb0b375d8250a474d2e402ec0a72d5a560c689e7695361bde69971f75f737cd2d4f2b5a9e3d58a06d0ff24d017ed3deb3e2702ab0e872231c15dff0436e0360324c60229e2ca9eb881228696b6bc5ae9d3b914ca5e93ec37dd09a2dd65f760d6aeaa40f3e31d60b5034c915eec300739850f3fbe05e2b185401422e70b1b32b49d6e59e202a179a5b873d64550f8539ced31ebdfdf1d102deb2f624fa2d56763140398cebf7390e539a666bc36b4b51dc32a4df050a28863b860dd6ececd06bd9e2a5f825612456ae96b3b4355552c3ce4e5b5659b84a427716b1ab241ca59c0dc70a9eb03d268236a8bf75db07830e7e67dabaaf2d20cbb2b4419e92fc9e2b8c0b88eb1c9bc5ce2a3d7f4c6c17964ff4b335e41a2bb7af9ef955db6b97b0f26d85776cf9745daec534737727685a4ea1b25d52297bd7615eec909dc33c6d70675717b214e229e99a3be79a9486d967a7d8aeacb59475a4897b0681886bdcb9ed34f941a8b69d050d2a0871d69e33e79ae63cefc751feca98da43f5bc284f530090d257dd5d4bfc9f65b94fd5cdae6515760e22aa2120dd1e5ca052f7709d198dfb63bbeca1bb50c51e94859a77d129b5697a168865dbe1234bec3c82cbd6bcf7d8b94698b2d04dba2616d2d05015c3c89123515bdf284e613f309fe27c80867278a062d128b66cd98ccd5bb6a2b6ae09f5f50d3074c341a734f7362f06cb45dada20bfb140348cc147670fca12e7bd58a42ed3677fe2c9572480465ff0cb99570b199ae98c5c91ae1d618bc9d6a8589d5e9ab3505da6b62444a23af8bde919665bf7b34d5cc6d772d7e61070e559447bd22d57acec520065a9d70bc1a06bbbeb18181e89b562e7ccb7b72d856f2f3cc6ba6d15ecb7aa3034cdcae99cedb9d75945ea98169a93ac58176de4256c0805e5fcb5a86c5e8152f49a2eefe8360b7b6715db39e3e02a06e21d622144ac8c62bdba8a42d7b2c045f50e64e843262b5c9d7a54506379ac68d30ee52a2475cd33bf69ba3bee8e92b372c6497719d6ceca6bdb034cb246816dbbf3ab79464de997edcf079a3b1ba66d65019f335f568eac502bd7753babe0c413c775cffc595a9ef5e5b4c7360c2406e2e2bbf2584cac1d3ba75d830697699bd947d70b7eb27307d91ab22ef51ce0a979bc1ab632febca6c334a311bac5e0177d8ed0a208d16f615e2761dd91b59ab3be4db76eb176e88630b7cd76da16a2cf866e09019d21b19b22b9c8cadcb41db19ca137297e7e1a5f4ffd8ff0fd5c2edf6784a82d19a71e4d779fe26e67fb220151dacc804743e3c33b2dc51415c0ca594b26d59166994c6d635d221e4c673bba240bee74cd03f89d7e719d96e5a07a53b499ea2480656a21645216d2195ee321fa6cb8f7d89e722c17103a7db0a90d961616ba032e38d0a55b4a0169fcb35c3296957b30a9c5fc28f8de59939662a80fceafa381a8c708650cb4b70d607bcb2acc9e3e11a3c64e402291083c26a526bf462251b4b5b660d3e6ad1833712662b13258e91442ae792284a3cbd06292dd85150ed16233722d9aace744b307278d2ff63cbd52717e380c6649046d53bdba588c8a09e52c7438c0c4b4a500735ed201ca00c416cac25b973dd44394674cf62730d9d340c6ce51d05aceef7bba5f39f70be964e7f7980c13700df598a064600257d80cfea6791a64170645b6ff076911f2ffba0b105820ab2111598b01c93f9663a1bb7321db29db6f1a12b0e824c45d7b59800c7b08864cd32024a10d5af8c223a267559ecd4a40199710d5adbb4a45001b23d7b319b65dc3c2b5b86ddbf0f83e3505cad9058189777ea0e73e1b49b3f3fba20c2124350f500ce50d3909c3c2d5108e02f2ac6bc3cebbbeb28a3c1a81695a8845487159a6675d299e6031c62ef0f25a34625c0c5faceff76ca8a19e5a83ee66804ae083798740aac94f2be67964e5af67c49ae0cf36b5510009d7dbc3277beb96217ee7fe08439104aa6939f234ace9e265b9c0244dff18ace9e1008e90e6786be0caee8ce578d018f0e8217a5996689b1c5ad10ffe8dc75b83e2cd71f8270b8a198c889e1ad972a5fb43f08a00deee78e8babbee2c61001b02acd3679a17214ea81d06151ce5c24361ea9b41e0ca4482b442861a91a1cf568ee3db72d03a832bf61859bae385d7f44147bc302ab49cd5ac0213dbd23db24113c684e813eb216dd0c3295aaf19029438251b023859e17af4d95558be76336265e5a8a96b442a95dce3bae17d17ca717eb3b16bd72ec46a46c3d4a3e81b18a0856c20eb29b32c770206dd65067b2f4c33eb3294d13e818ab55c37756e58c7b5116c6525682cb0ad2c7bebae635bbaca6c588396215fa1bbd6a92bb433ee02d2fca3f743bc01d2bb637b14c3ee28c9839734ecbb9c93bd1c35b2ed82911bd592d548016839cacbe341b1f284016ddb838a5c2f9ee6841e43ee3a35057cd6728220960b20842bd9f5fc6952c92ac90496b0289d75c95e1643bac47363256e993ab42199581232b8c233c76ba1897be457bae5c9f9d2720acf75694a1e71c35256b66776f1d5a50d7a72b2fc9637cfc5af443d07480a39a1292e7a013c1dc160793c1832b8e6270b6d37806291b68c842230223a29ec4cc12c826c20221bd7d686e574d48afcc8e136527734378365a7cc8c781bd107d7b3e3e57086c1991627d423642f876e32ecb7cb08b065cae112cad90931407861dc65477565ecb4f02864bd228e402720c0729e0c5021e32d15060b70c69e2d8b0ad55c24c27ce618907ad6836459162cdb0371f95ed780b04cd70b69e61a078e534b73ca6650a5c9559fa4fe47c8ce254019d210c9649024f91fa7df9396ae800ca7830c34a55792978eeea62d380034247852f8dcdd356a296b90e762703d69a25f8e51ebac375d8ea104416ea080cb302ccd5da61924a8bda65185969d3b5153df3034ba10784cfcaf4925e3e84b6460d454234e13cd1e07c733628ac1d5b331632d6b51b170b24ccb59c0ec02140bdb75d5ea12d1648d25c70d6ab99e8a1c57af9d13bfb35ca737237e119f14569e2edc7ab66b2fb10b51784d98d12c07056b4aac8f99c1cbf539aa8899c9b536dedfe0638806cf55c89a4732fac44a0f1c1095efb30d6f52899a12e70845dd73b95db236b1ddb5e22eee21edd0b38a4e27016f09f9aa2be69708650a218eac552fa7428792f7c102dd74dce796f03a90a5ab5b39cd56b8d0a9dbd6953c0625e4614b85ace69d38f903f21b23d7f3eddea9b96f344fbd10212a586a12ade5baee359969a6b445c94cb19d7bb52ccfdb3941296f22bc9d9bd691055ab9d335e881b0b34a4c6d6de9cb4a371c2b3de35ae6793252f63c9c573d98daa046e370415a78100c01063242ce69c2e311d26d84d8f9ccde0acd01a1b6ab7c2d86c61cfe101e0796db0e48b0a48fc9b4c5da74d69f9ef56208d06e29412511e2703d7504da0410355cf1a0dbd95c2751b605f765baa0d072f8201b2237b22a7d30cdcaf15cc8f56039d25cc961d4849e774239a6ab0b0cd164e1b937c28eb7dc4a8b7687a87119cb09cbe81ab29e76efc60d0e4db1fd6a49002f407646f0207ba6d8ebc263cb1e2be9f5612f8bb3be9d8e46e8b790cece7fdba94bcc97d3ce34eb27f656515f22e0eb32620e06680c43ecfd3262d8d5d38b29a924f52354b2ee7e5f7b4c0ac6eb193d0a45ef28785d642b1b3489197a5908db21e176b3eddc64a5340311e1aad345fccfb05d81ecbaa185db5113668c0b4e1c17a463b46939f1725b0ae8ac3b56b4c841dbe215128c27724b5c6062bb49b2565611d87953f46d8f75e3e75add530b6538e195f79ce651a44d9a6727d49030438e42d0062d263599ac943e17e98b566c974eb1b1b6fc818a9aac99db166f2e8d07c86876e971226f668817d3b89e073347992afdb6b54163d08267779a9e5398038274975f6c4f3e8c9673afed8654b49cb28cc1b2347f05ab791c43b26f6a2e868ddc5d1c369c9c06db76ac66dde53c9938c92e6f4de9734ec8c676d696ed7ecfc68978a8287f67b99e233be3714b689e9c017b88df22ebf1b43d3944aae9edc3555eaf8d8d9c2ce6dc5d24791323f7b0d25096a4a3d85d2f11c94ba100e9738c346e8cc68d3d46eca9ce682ef474c78154a3e32fe335c49e065317e36e69eedcb9e1772dbbb64c37a78214b21e72c27c421f1822874286ab6ca9a4056875be6799cc792afcb2dc75e8187b2eb871c361722a451e8a9b082b4c56c359375c56cad245c863703f85cccbb104107240979357c6f945acf6854785800903b6b41916402eadd9837922cabce9d2a07017b50564bdff06f753e7d6870438d1ad14c2aca475179018049b68ac35526ed14808d5d49eb2b230fd6e21914c12e8e01c1b47370d24694ce8feaa9886aa480c95f4371cd6d1d39f46326da223612315cf64bd37a669fee37a4c4a55aad95d35961303e71595e16421991dcd93aed9b9d9f2ece663c0c22086164fdc0e672d2836de225a46a04f8ec9315a0d0b71161adcd9a32647c2cd1a772d079179cd4ad27272d51990582e4a67b7b625251e34ec6960f95e732fb46180857de59390d68aae58ccde76ea5998e7086beb80621bab0884d30b78860a8328cd2ebecfd6b2079379d5444ddb6703a4bba721f71acbcee635e5f8ee7ca246eab45876613f51ce0e02adf08ab20a8f98a71d760e3031dda2754d57aed195a1b672dba6d9399b790ccd3145846b1f4eee83ce590b7ad8494ad4073d11de5c28bff9b00bac054dd3f7592876b8b2a29891c20a7b30fa25c35fd45fb2bae3ae620df1f8b05b40b773e36f246fa5512794bbe9a468daeefa959e6f5d24055a62dc1920722e870c84873857857fa7b2c41f96c39cbc9ad1b38b4de4f5990ec8b0b2332fd782e6ca7b33bbea58e65b88389ca039de9390ed24e30a6f0deb0d3b9c05e1a674dac109cb64dcf027e79ad8aee74ef4c772007f9ac183c83d74d0b8ae18dc43c6d71e6404c15bacbbd8e34f0aab5c77e45f94906059544719818ab048dc25f0c221236a661969ef30fdd5a991711aa098e58465d97312e5c4753381185d501629432c44602664a1ba3e22b60cdba90cd637f721498d8e1907de5961076428c789fbb919d9ba6418436440bb8174e13d51c3efeceeb32c47b0cbec6d5bc976cfd80e2031e0c4e4e44277e498a53ab15da6d4b34bd9c9c60eb9ae41192976dc92a66010699fead0fcaca282a70614db4b6fe744d0bdcee1f7025cbc42d7b6eda13b5bdfcbf91f4502216a12e550cf8e622ddac5b788be77b0a4f99c9d518a5ad586f8635401ed84fe4ca8c9d8395e168f47441bb21772e80e11d5836079bd27b6baea3c4ad115db1a94b55fc063a6f24f36a14af1bfe424e979466f0854f3ac2dcb735f48cbd9d42cbc9f72dba5a629ee8eac335273775b58ce76566dd06ba179cf93d0063d573cbe354686949ee686930cc4c9824c2406605821a4498926c3a1ecc8696e184b0d7179b7ddeeabd0ab562487442bf12801193c19c2fb9ee4745bf3ee64d29d508c99c100bd4f276d111608eb83deb4ec165fdb397fca72f301a517cf74e793734a4ccd51f0864ee04033ddd44167738321423719e1fa668b3ee33aa34438c335556c370cea004ccd5def321ca3b952da002703e48c45da4d74a1efe2f4ea17e9e0b608d10bc5cea5c9b09cc2d18c35787d580a124f0b1ed7b20055ec81237d1172f30c2dddced17b396b45d928c120c5747920442d88f20ea8688440470a51bb1f55222c63887c9e90bb234a8f70fe0f03bc08ca23746d26ee78f1e95a930089653afa296da66127a9dd291b91500a953132d409408543ba9b9aa40dcb80fd87f49864ad38011e4c118271464f06166d31d996bb852b1b1b743c7bced2e0852d5d85aedb3e2112f894f239de28059ced6c87d3dc2d698e16d01485956bc9aa870f69c2e6d2071dc7da50f7ad6ee5bac84d4d3a1c6d37135bcf3d57c25520b6dc02ea26f38a48143c99f943b22b0b0baf213b820ad9fe7661f0a115399463a8a0cc0d51d80554990ee5d0241639eeb917f912166dbd70dcddf6b45bcb0981fc7ff6de3cd8b2e3bc0ffbbacf39f7deb7ce8e990140820409501441515c4c8ad462d234293a911d2b56a4448e2c4ba6cb95f88f6c5571a238712a15d9558e9d284a454e944a4449a4244ab22a342591042952b2b88a244000c40e0c80990106338359df7b773ba7bbf36ddda7cfb9f7bd372025074e302c7066debc77efb9e7747ffd2dbf4566c79e9fbd567011cb018b945d9b032873592513c1d15d32adc9314c26744690fdc4c6e8ac3d55dbbdeff799564144f1ef95009b3c49d235676dec48b6d4d9082eccaf9c8078de27150a5e3b39a05b21836d529e5178e3528cffda04f9d9c21a1da708668c927afaa98af633defbc654fcb305886e1155107194cafd1f2b279ae143d2718754122c9747fb08efd5ce50c1ffce8d770cea033caa5630c08f862507e7c60ea06e4a2abd611b0fdbe7b6e72939a2d7a7d63f1dc6713f42647d2c3bcc335118b374edf5525c5d67bb8d735f8cacdc0da74731d1daab5bba00a66dc5c0e8e0f37aed738e9d9641dc21db5bc6c5f761e23aa7077122269d12d3ea83e01af385159906c657780171732702efbb1d61c2502489076b7c7ab6d2396bf840260aba639c5f939e47c3a31761dcd05ae26bf173957aa03d5fca1ad284d3677b5a7810a6d5d5239a30777cda7dea13892282b1dbb1904f3dccddee732b06678a48f7162001edcd11add3a1c5c48f68c598005603e9bc7006e7a19929b6a49ef192a4bd5532e599187505cc9a42242b889a8dff4d0381973d7e7dce146ca238131ef3461293ff5f8c72f6fd654517a4a9f1c65552d51431153042c3a5f6a1d1aa295644bea3e9103a555d59660197374e4895b8611a5ca17a0a71c3f814d8790f19d7390c23544a36921c5e46019cce741393c256bd7a3b8202bd6c0a53644b567a3171ee1888e20545db3909a16d559b652ab737bec0f60a823714edf6110b33fb758e8cd9b5f3d00a83c5835e938914546fac2bb30ce36016e642aa0410053178ee5a241c42b1d02f29788da683c737dd943517fc33c2bc49a0ea9e6899d595ddbd729fa567ae736b634f2ec23d4c679cd14bf676793e5e03a001db626fc3323484690f286374bb982c2ddfe3c04d625ded5a132aade46f03839520eeedd541c9c24f54396fcf1cec349e310c7c0871025561c5e7b983496dfd398da11c4dd1e758a0d4984b10fe6c04a6a4f67ba3098fd5b820854cc3b37b032bf87c378a12ca22f09862501aa6a656b85f3756065cd01ca482066b687a4f62a06cd7f81e6694387961978e1f642dfbf6f39ab6dbf9afa0abd27f8f5df5797aaca4a58544087d41a5ac8967138034985200d6bd915581c9022896cf08758ae3685cbf4e138142e3b70f45ea76f1f30f6de247b13758c1f7b5d20aedfb0d236c9bba2b05615ee47d0bee723bd11e51169080660b9679a829ee73521c126631645d3c6717b1686d6f3da413067246a726344d9427f07b896b76ef7fc5746427674f5161f250cb27c3f3a3099681ae92dc794ef74a2b5da91aa6b24dbdd09da9c8a6ede36a99120c4a493ee41e04dc438e319821b4649097daaf97e628473350efa51d2595936399b3bc256ef3d7c387519a96655368e496ec523125a1cdb20d250fd9dcda7a933a2622ca9323c3bb32c7ddea2670a5e943ae13d0fd4c4591d343350bd72ab3c13fce4d93bae459e39cff9f32f424ee1664d2694d5bcdb81ee327ecd5a5583603cfae7b11a0b81fb263efcc24ec8bc5d8bbaaf3da3395fbecdaf1f5b2ee8cdfaf8d1d76fdb3d3aaa9a0eaccd7acb9412983c38389e6de1e7c77e491c09066310382007b6150b49eda430e3bec991526268cd9ad37b47bcbcb2466a9528055db272e75dfd3d8287b12e416fa14f8bef88feb8ca4d2b11c8256c85e2b5c03abb68103a3011c581970b5372695d32ac03a251ef82cae4f4a984ce78c1fe0a74101bb917bbf511670780d634255c0cef614ae8dc7b80f28f96ff8b5b8d9ef4312d6f2785da47144f3fa81553c021d1ec4a2c0e74bb1c14d057c59e06bde7c70c815f5acf670095ffff2642a607c2a30aced2a84f634884c46e70e617f097b6bed0de33ecc8ba403ef8a6dea09e4edf63d7bafab562347d690dfa5331b139842982a0ca4f502a405d22cb129c9f33e8e4f4aee6827d0bb8d859ad504bae80ceb82b3b8141c26bb337cc6f8d3a3929313626916a58c3de859372cc246cfafe20399dedb78115ccbf3ae94de7b61202d0e7d21755876434799b0cb7decdbaa98fc8e064ec0791de29bcfe963d7b4f6151f49df54495786c7ba8d53d84325fb8b3bbd9878e83eabb4336af57ca4f2aba031a54e21aeee98c4487a799473a34d130a300329af8803df0a250568bba919a2834b31666cb73461fab752a8bb65dc38d62499e5ce06d780099a9474d43a6d7f66ddaaf3c90228a2d4a5be456fcbe788676af1156df08a1b4444779cce240a05ec89caa227209957da5d3994167b0442d96e80f2c1ef934898ce9cd9ee790cee3dcb5904f62d539a0c7be23af68ea93e1b5bf9858a74d7590e2c25b3e4b3b5ce994eed629ab90e0a9a75d77848b2a90494152685cd14575fc90bce692b7fad70e979112daf36036ea39ad40d093de5905ea72de5352663eddc98ff8bddefe974302c4e0f86eef84fc4a38085aa38341576f9596495fd16bc6a4fc08250dd6e4d6a167ed24de6d35ef10c6eac3019585f598721dfdf86c724d40319111ba390ef5bdf2c608207cc1413065b94a9935563305ec38ce9a603582d961e662b6b505d9cc0643e87d5950a565647dcce6ef0eff479e8f5af4da5eb32c5ffd5f8fe2b781707dc162f18b34363a626349c300e48bc8b1555a59059195670186fcfb509d5a546559e7d2673de1bb7445d24bdc7be37ee599698b434e33f5d79f06f4ba979bf0e4fe863abdc9e254d08026a2d946dc9445ec2557801a10a41ace051aa74499a8ec05e0271d3baf25d387c6d67c2c49a56bcceca91635d913a254ca2f45ada4a843671bfd75e583cd493f0a650865736da6c833fb432f379a114939302f60e3cbb3f933ec60b4224670840bdd6ce52e1bc26dc22a667b5635e071916156589e79bd0f54593cb328bc86b21cffa73f8b78a72f941c1e39b862c5e5ec2b2142f51133fcb377f14e64c956aa3e6a294773ca82245539288c00240513d1098efed3b72bd9d4cd5a87854b6408cefa9eff52b14dbaea9224ac5a61ff05d95591b41908a2a3165a2bd59c6be68f7a68cb43c9fd81322f61698bbcfbc776a5713dec20a1abc1d34c8c5244926af176997812b3340574f6c28f4075666f74422987eb51716120f494e546da04737edca9087057c423c5063e66872d5d4d03bb24d0f04da07ee998880f41071ff4e15492d261843ebe0f8e60056f110dc9a026c4de6f2cc70375fe303dcc30a7eef80ec120a9f3a3a74686ee161399961a258ad327dd2fa31577da40f40818b35b8581cc9eb3db3ad970deb3f34d9b5da0cb302126472e2afe90e7c7210295744a1e9249f4183b3e5f712d43fcb58b342a77e87cae40f5cf738f156459e14786a3869b09d44c7c7679525f67134447b88b6e78004087d489f6ea8cf71dc48c24d1755319eace0c38912f080f77484017465a382f5b555ca3078d442af339b4df05099713b7b38a8e096632b583de21dc767658603559a2ae4c2f033ad8f3d8c67731e03d1bf0df0f7b5210673dc6faef17c4889a4ba03573b01ab3176c5b2760b7572a82abd42544b4ece4a0175929687ee290f5194310d9d5bdfa22ce08405cb811e4665bf836c8f42c2ec927cc48ab8afa764f6eab084de2876bf3c252cc7a3f8a846acfbcfa5a3dfeaba820eafbd159c6bf57c5bdcb3d33dd14b82adf4d21de305717de133c4bc84c1a251f0ce52d70c648d31e4af094cf9b5f1d9abc26a11d46a44f17c368d6762ec71295e31c9a29f9087ded87ac95917132e29b673c69ce052683f140ae6ad797ce51583e55821b9d0338f0a23b1576918145c2651d182afad62bc56e08e90cccd4afeb321a1bbe0d2d9f7ff4647e45fcb8e8967019a00eb25d6aa040e3182dab7f9e1a86d526b15e41ac14709d761334e4b44f9e738809ec8551fa216ba75a7ef35b163920119eea3bf87dbe2b527c5ae0727575d5e0054260784a9c00fedab46d564d9d48c2a0a9e81cbe143ebd3fb90ba0b79833522d4f7119ded245c8b8e22a68795293a35bb0f6e9f0e4abf92df6384b7d400d0747b057b804bfc02bcb5fb78bd2a52161ae57c882278862b280a0404842c314139b45ac24a59c17832c333a86021a350d798b400d3ef0255f6a5e01828713e3277dcf2bf32dec1430c934e5c93753d1760a31d302b878b191b5447aee829b6fa0ea4344f9acd0258262c3d4c5af59216906a69c60e227ec5c06fe610784d620c77fa4cb06d529809a8711c53c7d3a83fe1a1a57ffad0ca653ba55eda909b58064dc8825040addc838205b7a6309fd4c2b80349361ad680101974d0ead916d2052da6530ccc1e66f3398c8623fc5e4c34c67358212a64106142cba62e74b14d4ae0ea5903f369cdd7b55111e660a4628b8439705063d5e8133e4c122dc70ace5e4751a2364df4cd1106f503a312b66735263873adfa3d8b76f1b498f108451e205a113a637639c06fe0c4bfe1c1e99ffdafbdc64afd3d6f4d179363b2e2c3a7c145bbd66d88fbd2ab95c2b26eab5f5a10096b520e6eee763bc302752c6d4f71b5b4aa462b098af874794c982d6bd7345e0a8496722ca272b49c6a4ee84ca728482359b347636997bc2415123e2c845817da616f50fa709c1258155aa3ce1f0f65828c6de2b4a0b42615085488144ec4ef44f15e36ab63813acfebd9356a2d615e9a209397a4570e4b6ae31edf58d1910da18da91de5429a5d462c08404e0f34a953d19f97b7824d6661c59805cf69d3e99953cb3b3fc043af72ef8b1c75943e331c885195c1a48f00b2fa63b3c56b9786939008e4f55209b0b74288af1169cc3a0f35dd6ca82dd01629b07b5759bde140e88229e5fa7c36b2f2fb8c667cd6f1d80fad6a960c9dfcc2959a5db034d6effe398d111545917af6109fe68028e9f88d433cd4562bfc6a33879a0e22b703234c8887eb156fde75baa75899b32e5321ed5d99ef3ac6b61088f2e4e115d81c4d615663653f18c11ccfc7f17806d36607ff3e8019a1e1f1b506c500c0ef25ba156ee8c809d9c8043a299ccdef120757ab8c9c923d4d947140161fc17444d51adb1d401559a2e12272354b98bc695d63b97b645a7f93903d73eeec8970852421cec190f778196769821b70f17d84f1536060a6046236db86217e2f8d6566f54c6790252733ec9ae2044bc6aa9994a8d7b246eba90312e4a4cf5c45e02089815935dad43195d7cfe9a3eb2d069d1adf8b9f31816e598db5e13531282a98bb5a00f60cc635b08d090ec517c2c3f9be5cab77ddf3c72e1b89dc60fc5cb279c30dc6dc45f5e91b59617dbc93df23c1ba5101fcd697da2cfd2eb367273d1fa574aead83952bf94aebd81d24b553969f30ca026b740e29634c16ecf44270e008adf463c6f82579e1ccc53bc318dafd9edfae942ca39dcad079c001da849f469cf489a9b347b187f0568e30c50a0d28123b4c98423395f1b78a2ff1514726e248f41e5936347499c125bc8c31b9d14d4168ed11a18ea3c91865b776392ac1eb5ccd660756d10785f60bcdfdda9a19f6bad471444c30538d1bda44a27bb614499ada88467ed24b495b5c11e6a97daf28f8488c045d54ec5eaca26e2147b5abc0dbb2f66ffe896c7fa4b1e75cb1774f6cb77289edf8dd4637905532a90acf94bf03ec0ede5b04f62dffee6430d7fb1c85b5dd101aba3459ba9f04a52055499acd12658e76331d34875707b03a8a87ba6790232b21e2efb62c357e34d2f1c0170978e0052707136b1bf00825c01abec81afd3c77f9f07dd6565891713e7770bdb1b0550b3bc0ec450235619fb2d8f4eed1a2be6bbee8656c23144acfb4cc4a93072f812c0394e7b82b0eecd6a66e13ef030520c6832528fbcd6bc72b447684ca8c47dfabc02c8182b5c4a5302e61076fef38b4ac3aeba63282256c0fb59cf17a690e6eb5cb34f3d2866fbc24e7aea67f9703c6eade2123b8c60babade0f12c01fd3081a12744225dd19dd6c97eb6caee60669d8e951866cd1d90926f48c3204dcf2059c29e145821ad62223a77b2dcd7f07557891d44407dbc51977059cd13df095a93b56c40b10cf3f567d531e9e8bb18b3fce77b38eec436e92526a66f4ad7dd817b5f792812805fda867f7a9289fdcfe5d875b705e54ac2185842a236b1d03309e317a2a120a9cc7af1a3a9d9b6c1b6d2f6167a56079a9487bdf3cc0e24c02e539cce92bd8839ebab090419dbf07553c744b15a035ecf913a0d9cc473e79d44de887dc6e74723ba5d3cde312a321ad592edcb189317d7328cd010a7ca80ad6beab223d4e862cf9385be4ca529f6c9f043d8f5af498936e957b49d195013250f2d85d287be20b8f255bdd23329add051b6d09fc5dc2a4a2d47506df255a196bc952ad4e5667f9dca25f6ff5b20a37453ccc2bcb933ef36592fc8e4f5f2626562171243df9baf862531b735d48abb98a75454c1b0e3a557e059d1910fef086a2d795eb603b65b020b8defc5b338c7d7b6322860ad04165c9ad2015dd7505552ed9226000322d32c3082a8c55329a40108fe3720bd0009c4a48249ad6332ff0a6e2e231e86f3cf58c46f7d18604ed75211d0b281ad19be1f050d5349954dfe1866b155be5f09d66a9d2c4fb083b6a2e3da049ead1b3e34238db37fb495bdb79f671d136602f8b6cee5118ee95263e53987d4a26fcdf5ac3c5f4d4e092be2826d0dc7084fa6417606d25da994a62febce6a2730309bae50575b6a474fa633eedcd1c8977249d1be70e207a41fd1eb782bd7764e2055eaa62920730e5e8de05477b890d235b032a8613d13afc66b2c13ee451edc5636017cc7c1a9a48a54b115c8e1e715b3024e2a551643557d16d671d17bec549349628095033dc6953e0eab3f7c0d4d0becf7221d0f99385c3b1a542352ea02b14bafc32495ae71204fcb46ac5b930ec9422d22a20d474cf6ad2600ce660773d427494c2e05abe6b4c5e4162d17eb6d2b4268973942c78e493222da3d36f84c1c8def2d83aa2d8f6ca95b5747c1351e91cb689c9e718365058d336d98ab2e8a535aaec63a4a5c095f84cfa5e12400935e1e877a3eab3afc5bd30d91c9c12af4bb5d26fb7472ae38a3226e20b4de2925dfdeaad696b09ad84b2908edd9a9660a9b0c1aa3382db945338a5d3471283c036099854689bf62175f4e4cbe85ec845aa844f7a20dcca552e8d1f216d4b443af62dfbd63b2efdba703ddea6c5d191762e0b060ee05a13da65d6c79c78e4a9c19eaef210b2a1c9ad4e38133f40e0646fe8b96f679366d6ea0aa32a6db19125f04a3a24eb1a2f5bd332fef3474ef6961f6e942a9df85f8ab7405a30462d1374af4ad364d94353239156f5912b40cfd1a1612930832d4ce3c0c190c062c2c34329430e0e71f163a8ed2118002c24c1412f3ae15eb529f25366232aa3ce925f12b54b8292543ce6bc5e6f920a270bf599598d048e533f1d441a875fb994c1961bf5e70bfcdbebf984b0ae1c62695ccd4c8eae17e9a5e11eb7a382b677baec25959971873bdcb0a69c01472e21a1e88357713680d04ee4a94ca02a23673c34930b5de4d4c48f067abb24ad0602a582841692831a43f9745b2bb278a65ece270ab9efc4f7c48a0df9c0523898fe176b9a89aeaea21da78d03de285ddd328c5950cec0c77df84a5131d5ce9deae9162a717997bc20870f21134810c02500c26d35c626a68e004261565a0666c26749e7508cb0c04bb151adf2b27ba22856d3f67bf48011003b855c660944cc79ed75a50d1c820085bc544555dd2eaa144858aa41ec6a3356a6f99937dda74eaae2e681384761c9d12b045659feedf6e34981bbeef956998f1c5f7236a288278a879a62ccb5abe3219c335a7c986bad790e60dd1cc4b2b2ee0b5d3511ffe3e6f6a456c492164ccee0dceb06bd72b4b4c42fbb5a009168be8c7aeb98f2ac792ac8a379061c909594726c59f784e8862ae76544069d375c3426bf4190afb726272c3bfe8818c462358dddc849deb5b1c74443869af13791f4d8d7dccec7c4f982a98e592f141056e420670cb45a402b420a6dcb935fde7439a6fc7ae880ba23aca203c234c1aef54a5730999d474ba146e710cdbf95cbe9348d0b717262627418c0d3b9241dd4d939f33761fbc4a54a58d079eb4d84da76eeee057426bbce60ca4ba3647b274dd6a2113f8327b8ca154604fa14385566504fe6a2cc93d93e850c9aea854ed88901206ae52d417a5cd6bd233b2695d7a1ee1a4a65c748556e33ea374be7829fc79a9aae2a8e0600333a3da63653f71ac35e0c915d4b51f6d59f21cfa1d11d3eb0aed32e366f3f4d095a5373df0b0f13dc75fb33c68c615e2b20a9d41ad212c221292c06df7c34427d5089f1e049132e74e261d102a70c841941337d963b650ef5905961aed52462b7a6b4d129d0a4d0b8e645038fd8709c5402503a25b6c6276c48ea7da550c0ad97fcef9c478e2b548094fe3d8dd961beaba57856d6798d5e3b54342e382556b547eddc34cd7b5f5dad3559faf585d73024109538e630badd99b4bc0e878b8875da77eb16b65b5c3c1bebaa6c5a0056bda028b85e50cbf6f856bf4e0a802570a00b4a96b98d41ee6783c9456b54342c41439398c2353cbc4bdddd55f32fa736157597cd7ddafbe7b88fbbcee0cfb3863ecf21e915060422def4187771944df434e78b6261850c78d46777e0693718d7bb3146c162ebe0126d003a2dab29960e0f1086981105b6f67eaa070733efc199d628a6f7f2cd569b614e93ce1a48525f35b0d2feacc93426e9d923065ca11d388beceda5ec0235847f2f4f4191a599b3bf3d041a3bd9c98dcc02fd239b87af52a6c5fdd80d5b5751813dbc1947bdec5fda870fb1956e59a0cb1fae923ab63fbd78756a8caa4800d49db2484ae226b0ca2b17271e9eff1bd45d02b441a980bed5657306b34540b103a62400b58babef098ed8ebc8aa2501540c707a2f5594a96837ae37bee017f288c6d8f2d95928e26734592910fe9fc746994235562a1944b9bc43d72681cc08bf3bbec5692858912feb2a9e910a6d96bc9c189aa22a17c5240a2206a8d8c93e89b8db749af82713e8c6fb03a82689faff72101355967c08ab5ba8d2036d7b0b706099cb3dbb59104c57ad1f870197035dc28b0c074a66d8b41ad0304307b27ef3ded17bf8b326f7cbb2a2caff496eeb1b0bcdb13157d9d6a5350c2c1147f75ee16bc50eb2c1dd594e939cce773f1d4b1dd7b1053d9b4e58caaf6eaeb71a5c9cc207c16e4eda28acdf1991a05a84adbdff018c96935cd6d7ba64a4352c74d54d8ce3e8edd50e9a8355adc58a5eebb906923a91169b246f09a68410b576f27ac7e8f4e5997dc2f6ebb564731847b12e693e17b1c591b2a30478716e9b6d07d0982c919aeb0e2138fade673112323cd0b425c5ea92d6c3bdb55848d0eba218a78659d0f1f3a2688dddc2174c6ba3981de44fcdc9ef8bffd9aed2161a6e80ecdc99c11f7b4230d9dc808f2f26f2401306fe658246012b2b20e470bc78cba86c1a173ee2a554c2396911cebec6002539415142b050c31591dd701c674f09bae7f94f936929238c2f42a4fcfcba1107341d153329c3c45bf362e447cbb0f7d4c888dc423ea8e3444294e1dde060af02fd9d4e42599989038ce273f7537fccc673f0d9ffac42761301831d8cd656ddcd0c340981b4083e5c238c12ee1a324a9f0ac034201535d8b738473542a94f65a912a31a665c56a3b1eb0219fa61a96176e3b33d06e66925e8eb00fabb0d3180c831cb6f96c5c80c17d6970d7abb8dbc38702be9f4f64ae5e0840b750254b3e80a1541aad863f353a8c49dac239a7fc34e1fcfbb69ba1d7c988f6d0b678f3e0d3ca36ab1e0d8397f36e48e87468bccf362e6d3adba307fbae8859f4450a11009a808e85fa2c35bc49a9daad14ece3ac4897f34827c396300b27080387027fe305084c1d9800227ee455e0880ed852c1ce841b9ad7352b88c6d9f44e23f3787e9e75d34906a3f2b0cf827f523c49875af71e7502a1316914b64cfc6bd9dfccae88a1fd375458b068c8ecdd7bb67ea98ba8074fc3b2e0d2d13046fc5622bf8eeede48f51a58469bf058ba671a1ea3b4a05d61a9f9a40da143a9761c19648fb2732d63443cccf400a70e1957d185548f7408c950ceb68272201e5acce800a31d4693e8d40d63843cc4d3837c6468ec139359d1eb308c230baa91913867ea19c4c271c62ebdc36536d6f410923580e1d05d677e459218178afd88a82b367913390f012a6b52c25453d6639791067702e83ed1015dd0fdc7afd1f8915dd5f1534cf1334f037793668d80f2e985292ad718b706a18d574b5bb737e00f9eafd9dca82104bf8752f2f2ee79a47e07c60895c26234ac3bc10176806f30e4e6b4c7fd5c308b2ed8393bf6aee2e76297602f873f8d71ac62a0a85f5413b38b2c51704f6f94c2f8c29b02dbc4e4b2037e06027a96191f77f0a2dab3c93b94d9503fa97adb944c174121c53a226a8ccea5bd74e31a4aac8318068a87531bfb0b2fa3737a8f3929df5ab14ee162881cb449db2bbc54fb252f618cc9783285bbfff0f3f02b1ffe30fc8d0ffe1df9dae51770d3d769969c03eff6f34f718c173029b9086eb1dc4ce39928ee1547335ed1f421f34700d0c42468bb3d67bf149dc3c42db0596c7b4067d814882d3b9bd3d37c4b51236a6bac91f473bbbe801af4b528daeb1a60a079fef275bee6e3c78f7300152a646c134ad04a877f683d2e4c7ae5d079af08d435d12c2d2bd61b937b17b5b8303ecc69deee873aa2a3cfe1dab185d9c5542cabdf0b307b1c915e475c465d3b316e584d9ec8a7c5ebc2b78a7d08aa41a182475c5d726b36e8c1a65e31244c44fc535326b0b2084b0a062256f75629011eab2e0a2054add48d543adc76a5c4da8545457bc860bc4b7d90f6ee1745dabbd9ad83024bcc085f5422b27fc5b7db2fdbabf5992114471ad1405113130aca95958a91b00ecef9167c0121c9dd1b154f4c2dcf76b7b718abd8c5e4c3c4314d32fab79846145c095f429d12a27d33eec08b0e061d40ceb53a4384651958a11f9b746814d231559c18e33bf0a02b55b76e6e4c86d7341dd27b01ad064cd6ee59f2fc5aa1318a7d3e8958dbcc79bbedb0949ad4975adc40769f5917c6e8dab70222e7d70d56554ca593c46069fa4ca1e60a7bbdf23cf298e366babe33879d9a12ae4adb12e64f5d54c5ec63cdb0775e623abde3285ad60461585152321a9042708d05afcf8c3b1523879f9f29ba784f8685fc99bb7c5e84f40ac2a1389fe8e5c4fe5a1b169c30cf5c9d303952ef942921d9737f84d653691933d7680796ce8e4271573e2d92250ac45954747aa6992c4e4ca8207be9e6252fddc4646d7d9d7fff8ddffe1db8ebcd6f85ab179f873fff7ddfcf601d4624c7c01dc162b60b9af21d408acc6a2179af40367b37a9259ac0aa213a481af5ec81047404556c6dd936828acecf90c2ecadd1687bc983ed281f4292f24e5544643d18c984f30467f1bdba954a69da9154696247ca0ae8a9b0291111a8575004ba5c177706547cca24aa63960264ad5b71e2ecd38d5bf96e565c0d6da55024c9ba9046541da02d2cc1009936e8d8050250fe05cfec0de1ee8bf70a77bd9c6004046b2fd4d5c2ca3de6c635b53d799de8d43c084e8101630474f32e79eae6746f9557cd5a6d3e8dd5b4532f12d8d998818196d6aa64761bb408dd5f982802e6f5c0de3d7ce741cc2856014c3b0a09be6badb057a2b1d7b873b764a3f30c5c8f4ade334e5cd48a533f0502c086d6cd9beecd9c5acf0a0c0faaec1b149724a3b0967d66bbe825c1fad8cce03384d439919e8215b68d160cf3ba61acc19c2ce50bb97f2464c5c9a48f3aa522d415b4ea34413b2646008634c3af157f248fbf686306181dff7549b5218e4392d4b9e9f04483b284d2ea4e7b2cbef6620f8c30219b030315e30f1440e9a2668518c5d9423a0046bf466c15b6e5a364b196e606152c727b0afe3a751656cbc0c50df93317d306c6cd1ce60d49bd0ff13eb8a5a6867b75353ac96ca701ea175767d82f11c96381ac21a3120b5ec23477abe87b878c2d73b2f7751c1241fbc0f742467f62ee4af1d86b91e3f807088b44851599e1d534fa72c2143b309403d5e11edf9e7ad899cb33900453cfa32533aae89061229ddd2f8e7843c267055e77c6eb48d44a47440ef35c99d16abea8c83d9f238074cf18033704a27f3931697f352a22f389bbef86cf7ff9f37064f3007ce263ff02bee3cd6f83e1740cdb5bd73bcf58b2c24c5ba4a3c66ad2c38ed4550e35465812b90bb174dffa32d1568268d00979a4dc853d0002a16598f45d3ef3c463994bab59926c2463431b5ae75dd305202eab5b7d86def4444baeb1021a545a5c396d4debd1d8a303572672eb43c694c9ee4d51a465ed43a7d1238b4babc4a0631f93495073be5f346d6218843d115272d7fd24b5557c42dce8190d527216b710f762c253726bd3f27b544e3e4b8d4186d5127db659ad1c785c2942cbc2723efe59467875c86cd7e340c48785b1a06989924ae92b123b0692436a50de97e9c6ec605e54b8883fd3afb83a92e6a107765d98cdbdc8797878b13fde6222bc260d269bedb5db49a5b8d5b29d710edac5f49ae8e6c2569c662a8381beaf8242d75b97f9c13f875f9a7a9ba9d8021fd4bcb79c24900cf0640296628a34692eb0629d3919cf587df6d29993b63f7d2f8d9a7c6692574006a4de2dc1332d7e2d74ba269951a9165fc404290b6103b19c02b486794ee31da9160ff095c819d9aa312127743abaad062577410a654b89e19d614132d2bba12e1501627954a9f788c65df4bfdacdf9801fd06b12cb6562b8a3a513861beef4fd5992414c46634e207a1e5f5bf68b2130348fc519641db854f14aab671d134a6a799448f7c96bac51dab85339fdb8aa341325c03075d246786f092ced4bcb89ed44c1d2716e6f96245b712fe5ac1ed3bb8fe258a229b8cf389d8ceff1d096372625ac460be73e9b2b686cb62fcd9ce4a59d988c8662e9bc71680db6263bb075660c1ffbfddf8757de71275c387d066e3a719c7102f410e6d1ff24b393cf11e1b1e36bd3218bbf2b1551e6ae0a5c6309f148ab74dd0ad286f48083311d1e8b0d8b6dc8186228932e4db14fd5bb486dee4894a7b19222cb8dede97decf2ca04b06cda06b165305b21e327f1ff4e9df0a566f6ca5e88dfe36d1f67e29392600e6085ec608e5f32067aa24aadf6482b4ded975750da852ab27ff03aef91f933f4f49d0c27218a18938432ccf8cf7310dd01ab8263491f23739f716ad66632e5d2aedc7e97422071a7276c96b1878c492a2d32eb86e899e253804e6b2bb46346aef87d3785f5b6dbb0cd275cfc6c2a0d9a5970de0d55d2d731e8afe3a647c7b70b38ccb0ab978b4916026d6a90e8cbc1a79e988963f75cdf3b881b2de7ca8536adb9948f07b56905f4423e5454f38830e02ea7b70dc9f8b2a05b1ba00599e1b3ae92338258093ed3174ed200dd91acac9422eb96f547b4a6a306ed422b34b8ac86890996d1828829f48a153299781ca609d084026ac62c3472780693f49d3809f233495a5cc140f4429927bcc629f1774ec08f4140ef4277f6490595c09e73c2df540378f6f9f3bcf76fbdf9044cc73bd0cc28f9a8043b439dda6a080362326d5818cf66b03d16fb9060b5e1d8934ce803a383efad63137a24836e1764511a628f7163086d17d56b5282f76f05efdb4a2980505a5fb326603ce0be546241523f88f026d4991a582f8900e106199c2d637aa71d50151a48852a75d7ae9125304c791d8ee8feba52184d8a68967094b13593ac63d0e4a48b29ebdc256286e9a849658cf96757140e404ef44e1deb69ed54716db1375b93e2964985d2cb189317fd2b22ead7462b30994cb955f8a18f7c047eedd77e0d7ee6effd97f063fffe5f87ab2f5c609d021e1944ed08a30948046d826e5cdb1ef59439cfa8fac12c77301cb2fcbd55dd10cf1a04be1d34b0836fa15d17df31924bbe10b0ac052e5805d14de87b3bb85e6262766fa9872e3362dfc97e0f53105fcbaa05f69404a9acca8133b0b035dceab7864d7451ce68966137e04106f68ddd955cc17051683d3b5497846cdfbb1e02b075713c99c78b31bbbb093328afe60012422b60d48432a9f3569ad784d6b8a303bc2d7a0750a15a1851aada58bb6bd269d3084b3a360d0d8d3040729b19c4c2dd69e51a81a1ddccb0dfa5e8a71a4bd65ee806b91b1dcd2c52eaf7e8c625df44d17b25e070635a6a7b19e23ded25d8aa9a3c502e9b57b3b22e153664a2e5114fb2bb0f53ec1245a3ba293eefa078323a004dc7153640d1472879bfd0616f14d7421602b9caa98c7c7d47b8cca4047b7147dee870233272ac6d195f262bb47cc48da8cd0053ac0364d0572ce6307119b27b5dc1e305afe07d49724d3a90191f65d477454792dc2122ef27acf8af5fdf82af7df54f60bc33835b6eb9056e7de52be0e4f193309dcd790f0df07b489b8792fbc96c02abc31530eb23b8beb3239fa2289628c3f697d18d6348f6937ad82b24250f32f2c32a2c8fa2e82c20976aa7a3eac6c751871cead18435d4a4062c2585789219c69df058b291ae9ad3e4cf9403e9c43a0771f8edb3906ca3e1df8bd8838b92162dc6ca1ad95f11d83dc4336ae405f65d7b31736dcb27b7e40409f0afde6de9ff0389495d4ba9bfb33586f5d12a4c6c0d8f3cfa183f9d2f7ce56bf0637fe327617565043bd3a98828e5094232f433a9f2f4263e7499130f48014f6ddd8755012b03cb4eb124ee349b079e1b8376536c1cdde8224f3a1b61b7d9bc4df36b6ef3859ebaaac9816e3e05ed1618e817abb025491b23cf7b01bb08ad1385c91545835c3bb10b08f44a8bd5e9266aedb76d2e1c025de9e800220f6521f78d48b3f11e05308496ee1b7b1135e48e376d4761a9bc58c82bcf25721dde656ed1a1334a611685690fc468171e0db2d8b04befba8f7e32a6a56b9abea2ad5d42caee0418bf3c326a1728621ba2799fc9123193b18f8c3207c2d2e46df1d08b18a8fe81bd6bc8efe73cc62c39ecbbcc9a3c6d0cfd3428b658acb25a42fed942a722ab889e680540ca6f8b4541ed05aa09249c465d80e03b17ba54942af4ad15426a9771678afd77828ed02a6ef375b0354b0e06dbb7336041b5391728d560d81979650e0b6ddad45357de2be02fbfe7d9d821f492d25e3b9f7c528839433189b04f65d6a81c62d241157fe30428c287979a97d26769d81a20c7d9a9e33001b4c94411ef1586548c81331ea33d73fa39f8ca3d0fc07bdfff97e0b6d7de0557779e8303070ec22f7de84370f727ef86cdcd0370e5ea7578cd6bef84fff0effe0770f8e8114c4eb618d3624d5759d8f4ee51c8f459ba9d3cb3005e7db175bd33ddb105a824427490a7a484e8c0ec9b15841eed95de5caab6531c4f4f699c95b1133cf92439c1df89b64b485dd1a0867f5c7038d18431b6d5760a49aa70f9964c05ad812404d83daddb0498234aa4c32bf68af12d3aa2b1eaaa6cb2c5159639b6be44c7392fd9c4c4270d029114ae2a7c60d500a6b8111e78e841f8eca73e056ff9ee37b2fbab0be2add38e6a948e99b7db8d6c4e6eebd1c626fa545d737bd6aab706f9a160428dff0d337d02a185d2bcd02bc83566abf1e4f70ba37aa1d145f7c7a2c7226aab419f006f91f21842be255bbd833c79c803b30b5d6123eaeeb02333071d6aaf56e9b4662a606930a15b83358c40e435c2ca9906baf0d6347bf1a9fd275899be1c74f77763428b71d076a2c986241d676810e964a6e10274183d7c58f8d015e9b2ae37a38eea31a28362bbde757a974c1a59b091b8b6ef597089e4bbd581da474c5a88ba0c05c05e96efc67481690a388d55b4cfdab002bcb329f110ff0d9368d45625cbe333b79d4a67d939ba9b522fa4a09644b4b220cfb99bed1df9d9b84a3e96efd83eb65daf36f8b69d0249e8629f4766d63ee95234dc2a4e351e0b55ad50a7ae325cb97a3cf077e69e859e1a322b33aeeddc6965199968c1e436f2b16b64bbc93dd37385065f46ec80e6ab11df14961178fa15b9116c01a82f0927e2deefeef86ccc2e2d8117598d4693c4e0951563c46725bd61a1aaaeb86ea98ac70f37f0d1555d134202423ae656b35d1379fb34be49050e49ed03c40e8988e14b83007f8e1844f4c4c6732eb937472bb08e318286200f3ef6347cffbbe73067a338030f3cf230dc7bdf8370ecd809b8b6bd03ae1aa9e5876f354b4c58822c6aef8e3857cbe70a90639f5c7a40029a6fc5d0f8ba75bfdd28022b57389ed69ed79a092de391a503c8dbcccb9fd9d227d6675e28c73e0b733317522ce3b5ee4dc299781d4989f8994dfb2eeee8be32ac598ab589f1169626d021abd6821692f2fc1c772c7d4c948d4c12f2c423122822eed1be3ccaf916004c99d8d878678281a6e15c930ed73ffca3cfc1e50b17e1f73efe713878e4004c2763ee9ab82c3b2f7c775ed7287593da993cbae1914e21a02e7cb0d371cda8fb52298362d2a6026114b02b0233e19e75124008a7100ca483b7e356ac7e153c66d2f96e5011250e3cba7859dd5230e0d2aef55d1454aeab1283b5cf808251c1315f5e3bd3710a66e3ed6d4cb2e5f5c6f31907ef6b57aeb0b1d9ac0e70e8e0411856839404b212ab5d32e7ec64f05982607c27362b4a42369c767a843a278c9f61219b3d6e5ef1f650802856a8f948447c79b2eadd2c8e308c69bd3f4c1ce940d2af4a7ff711a5cf17a9d821f2aa49a0de42c67d4193c35e972af4d475a3174ad6a7527c02bb20a5ce9049ad9eae5a88cdc5c14c17346894b499bd722f3a651d836c961f239d0d1170ab347adb8a6235ca4e88336e39f85a10aa61a3422b2a9671ff78495c5901d4c8a8c9312b2a7032c2ef159c0a3e9934eab246745ce23a1a701bbd60a0695988e853455f2b1d8ca773ae5c63e620c99dd7c449e8963eae35e8aad9ca9fe7dc71e1ef8df8025529157d9e2e4e61d1782d7b3d2f9a25be7630a7b1e70123026b6076192d2c1f3384b047de9277674cb717c3233e9fe1bbe2a7562d1d3a58ab304830a7605ab45b4ddfdf045629759ad444e3cd38ca8d718847377aa11413c9dc8e009bdb57aec2fcfc7330b97c099ac90e9c3c7e137ce3fe07e1312c06ef7ac31d706d3c815b5e7102def65d77c1a1cd4370e6c239f8b17ffb87e0f6db6f85b3cf3e8bf76e9034391a0f3d351be8ec67cf546b55bc56b33926e4ea9e8c7b47125e2f1473d598891dcefd13131dfae2fd9b60ec268a786b5c69b59072a943252cbc3611f63d93d406aa569bda78e1329a584c4b6c0bdab295042a76b265f4d351b4355d8b95169c1e25227a0592ef8e6e5bd49d62d742a68962a1f58e8b78bfa2d548490a172f835fbfb55ff37ace1d0062e9acaeae718764ebea35b8f0c245d8deda82a3c78f309593181da9b56f642327b19a20b8115e84a5744e66b5d303b0e000306f1a4c66a8dad2ccd6b78909252934f619e281be826b816885137c4feab850f7c5e4e68179e032027e639a69a22b421268e3eb51c96d46572b8852287e9e91e1a424ea7da1086ce000dca5d6da24cd4df7e99b0f3d044f3ffd3454644847afe76aae1c09793ea7ae4f3184edebdbb03399c1ab4f9e80bffafef7c2703864ec09f912992cd948eab64625d7cddef806b19791f625cf548d80e568a356c6f3b57b6d73d2f127e2591ed6d7d7a12eea0eba325649e97336dd646191459b5713a6d3058f94ec9c0e1e157c017aa0cb342acb3b26bb8c6ad27acb009e4c23ed231676f17832edf34ec109f661ca98de5d37cb15586d4250fb28858b153606a45af009fc5ea54ea263f78684a8189fe214d817ad3115f91f5a0d9142a9a992c90aadb74e345e932e4df268d35a0de13e237a2ef514097cb9867b69b456c2ce1c0fc7792d497f615997325a38d07b9651e2268837486d72a976c362573eaabd6a65ed8379d19d6aa3cab25ef5472547dd47137d29aa24dcc0a1994bf74b62ed15604ad75e72b2e7d3a1c99f5d95a38d59a2d4ab12f9a4d92460c82aad2d4a588b6820a8197130b9775721b2f958d10d0f0698594c14069bb0321a61fcabe1414c4e3ef07defc035741156f070dec667756475950d29b7b7b1709cd5cc8ca21110d93d5021c8e147c9dca6d345246a761cc7cec574ce95aa9a6bb838240cdc7c5e0b2b8bd87a3a1e2a09cb41568fc1a5f813f64cfe5abfa002e27960bbdd9c7cd267baa9541cf1ecb6e5ba9890de382f0b5f61973c20f49228503c95c4df3d6c533a19b6e2b04237321799ef8957f5e4343ecb4c555f4e4c5ec4aff8c009d843c16e3018b0432461400c2603276eba092afcda686d0306e36d5190cc5687cb5c6282cef923388eb0158d7a7218aab4980150b165faac71d2fa4d230991f3b5b6c6a4a481554a1658d45ac4c85c308911b46c9eea158426015bdbb421a44489a9acb63d50a36c74d0192d577cb6054d45fa6252b155033aaa56c935728e416442dd1156352cb42a17aa6a28c45fa118e0b18207fdd6ce750c20332887952625520f479e0ab05d76260e14ba613e3f804394bb6773350bcf3d7f1e2e600249d571ea503abd67ec83e278f67f052bb437dcf54678f52b4ec28c9e637c3d9b8faf4028a3f9fab03e29a4cab5ca41e643b4d52a53db1a42eb7d4401ce71d264ba9a6dd0b5fd341dce7f2f21b38bfe35b185cdb6e21d4c82e9b888f6e7c65c1b662c2b0726b5f503f40c9fa1ab9f924682a10d8226d258a3857a4a2855525badd74d9413675d0b553505a13836ea48ea21767124b8c5642764c90fb9ebd2a321b65354c40da9ad940183adbc26ed5f7acd290b0f391895f8dfa062df1c5bb5e644ec3ceda495ceabd2b45db2d09145d7597f031dfc4e50dfde105957211bb1846e42e133a97701e12a05d8353a9ee86a22757f75abdaa092b1714999252eced0e9f7b4650649e3137bc4585519657065d9f687ac49c66e61092d57549b5b7e5d177c6eb8da4f9a6c16d21a631c96a50eea069cbf76119e79fa323c73f62a5cb836e7d2dbd733f8bdbb3f05effe9e37c2f7bceb7ba05a19c1366975300683301b22753e24733b3a04eb3a09dfc9f8b7e8a846c9a816183cbb527a75c175d299c66f5c1f55301a1a98e09f67b3b980534b7141766e4705d833f349b3d7610f096f68623fd79659c6d0c58b85b60dab3549b24b56aa7f162fa2715f306dd15998b67361ccc22cb6e848ef679d5c887a3c21a31187a58949c846e7e9827ad824a61767b1823dc0d238c967a3f09725e9bfa55f6b6b6bdc99209f0062d0905f06d1a66e7ec5adf09ad7bf0ebefae52fc0c14307e1f8d1a3b8211a55469460162512832638f1606050122db2428e1ca3ac1b066c365ecdeddb074faf429464376f60c6e015a74198b4168c5896f7c05d71511aadfee93ff605a124c1e95c581d7e8b68b4a5070121e7299e3bf65827d4752b92669d1199e52c6bf69c3811a0d74ba741f78f0bfa77cdfc59f784ef4b2d626a74a214b11be2142195999b9990982cdd8db0084835100df03c53bdc798649c7bf62cac605525d979c1b4b5749013927cb802e72e5c81ead419b8f3d5b7c36c7e9d3d28f81e35beebecdb33b3a3cf63b373c6a5082427272bfdeaf54830b21dd0704e378e2de398d81699c093740b16dbd079104c49409059bee96189c8a723661821f4ba6bda8265e200264d43bc77227b6f614e2c88d44969958723c29fbb7afadef4b3d2fab5c9ae8025ca82d8a3f3d708dc9df93695417c6a68b05e5855438d5a2ef4596a2755b009edc8314a6d3bcf1e408c27a1bdc1afafe679ca5a01f543a2673877da1120cf12eaa215034e886ad1d7e663b38c32f42c2ed70aa3f1df0bc15878f5098922850c020d91ba693a44a61069a8a19df59bcc98322475e0529977721f8bcae25a9cc1a52b17e1e4ad27d3e16102f4d8412135d24da7bba67696367e0693a4e497403535d6d0bac3240df77b5909509a8cf4c68d3a5edb423bc1ea106d03805f866eceb942ae3ddc38c12b14931257bb7c16a6f9e293f8e8473e0cf7dff3306c5ddec204c371578ad6d82aeee1871f3f0bf73ef2207ccff7bd4d14a7e9da707d92dd0201858755c9e33a7a0635c75f79362eb298f22395d92d465cbead65acd294de8bf01ff8432b4014d800ebab15387c163bf5143c81f6f165b67648476508b95575d1db9f3ef4e392c93a10d2c16e93862e5e29641dd2a4af1a2c8fa83c8d9b783ca833556fd208c6daacb0f12297dd85f0e69d131d4383784425e6a4c901de8b206aa385815d40ec649e16115bc69a3592c4929d0b60f2bf7ef000538809aed76c0498ef5cce34955e4e4c6eb8a54abf66b399a814c6435b0f973ff9fa57e1a7fee64fc0b5cb97e07ffb855fc0aa0b0f4365f2408818862e173cb6d8643451e4ed190e8c21b4c5a7c9d4c2ca5871e1c13a97b6055f47c478e592d2393e232856a65010524c1228ab66b7d46460e7124434d2962390d5ab6a64caaa6d2fa307e1c653eecd8037fa192f9810d62cd1ca4f24e10b9eeb968cab99c806267bf9d230fe24d670498323b46d4ede4cb6af606b3ba04ba39f972eb1c4447273ed2877b5e8df8829d0f83add6fc6fc3463d6783977fa2ce36106a32123e6e3bde336bededb7e1bb389d5a8aa5bc6997a808821f4adb5bdc97140261b01b4e1277a0e89dbb1cf28a87681365bd8c5122d64c0c8a0e27e46d542e93944709d895d54ea7011d29a34349cf8aa4ca75378f69927e0dcb9f370ecf8ad70e7ebbe13837c9d144fb55594ba7f74884ff067a89b48c1763c9ee0613fc8c25fec6cf0701c93873a51e8abaa52f55d973ebba36488fc3e822406058dcfa8522d842d4409356bd684a08686a2dd40891775b04492522fb35061319d24d5b526d40a36b47ecec929b90a4f5d5c4b8125dde91026da25532f8d1e00aea5410bdcc5a67b4fdd96fc091521ea93a8bc9d6947bc9d8e6c3ab3e5b0178d8e82dfaf50d54f1fa408a9146365a0bbfff88219b029d7b262a2e2ac640d33f12356a3ce5c884f041b0d3e5f62088e70bf10e9827448a43b28b466da97d3a6e60e303d336179519777b0d8bb314d167b4c6fca1418f0dd1a050a9a497c802cd43307f77cf53e78eaa9f370e8f026e0cbc3c00ef13cabf83a8f1e3d0e7630a2880c07aa1558739e4743b4760cc51237c66f9b4185eb8f04cc9a209a50ec17e51c6b83249d22a3d07455867624935f0a1e8af671ddd43cfaad4a0158af906f0dfe61d2143c6e770b85c2e250b7db3d311db3479308fa716069dbbe528787ee39613bb071148bad4ddc6bd7b070b0ba078d16191e76b6afe335cf125adc1a58eaac9c8a10368f2cc4572b744d5421ebf0f4639ed51173fcbc5105c924a9abd64b8915831b298e4a7c86d72733b8ffc1afc0cef56dde1f672ebe00ef78d31df08eb77cf7cb1d936f2531a949a9b41051acf174cc6defd1da0abc70e105f8d02f7f185eff1d77c23df7dd0f1ff837ff0a0c5656e0c2850b305a1931706d81b99d8139c3026d4b4ed6481decc0db4cd7bf02544efc461b6145945c73b1e255b063240a1b9b55df961929ce8ba19cd1f14dc765a3a3f5d55e07354ce9bd866505a36ac09510d12767ac3fe0783310327d34c0ef3b3082f59115a32871461449e4acfb935c43534bb4bb51ca267601e4df5c21d5cf703480e9ac81dfbbfb4b09a04a58a1baa1ff24787a0c3ef57c0c6f7ffb5bd9bdf4f473cfc21dafb90dae5fb926e0631adb8941841c083d49f3796ab1cb732d825d605744abf81cd711988155443e822a2792ff529360a78ce9f1f97af0b017f023c0127c91368fe7b3317706085bc161b16e38b1a064648e49b773058f4f580301efd1b3679e836d4cd2a6738fff4d31e84df439167c0f8376eaa210e0f6ce16ace0babfe38e3b61736383bfc76a8789934d4c0849bb81fec325c1c9108dd2688e5f58a2e9569a38610585b175070f5a4e0ea9dd6d865c15d74eba65453311334bab0ab6a6c546648482a5130f7a064d86b1e20349310ff4bbb3721d8ef521489557155eade0ab5c33575f9b52d96e2dd9b4a28a36ef156847a85011290275ba90e1bbbc4fdd2d3ec44bcfba25a464ca6ac0740f30e13bbcbe0107f130be86153b03e899c95576d6434aa24384a2181e6b04559e6d14a713bc7c9ee09b4e41543109df32bb830f45db2a8912d09e018e5a64458b8448f3eff23ff78f46b190485206ba7f3cee3fea121d3a76049ebfb8857174a89d9c321107b6b6aec2744265d91aec4c267c6017783fc83b68a0c5951d2afb893a7fea46ca28264fddb53275248c167b74cfb7b5db6badb229b1f82b2bcf267a3553731bde23f8f86132afd90013d2b8ad0b34defd57ab001e29b93eeb54ec6a3088ff4e9e3af77de33e78faa96761650d0b53fcec94c052039e242d76c60dfcf00fff553870e0305cbb7645f4666c0632ede94a59d55ce27fcb46cc8b9f6389e5406481a6e7ee171135d99877ceb2fb98cce1f39c3eff027cf2b73e065b98bc0e8f1c847bbff2201c5bfd919764b7e4259d9838e7da8056d7ad0baf1133bae1689537e7a38f3d01bffe9bbf89d92c1e55cd14fee2fbdecfed64026d11788a0f04a541460bee7ec692409e90693698e5074f7bf898048ee54a2bc464031605b75cae54a2ac146b13d0b2eda619058449052fe3172bcab139aea083edb0108d7d6d90e46488d5d7b028a5738059f3d00ca4ad4aa0333c8407dae263cf07eb38304842e23b95763e0135b91999b60c5d115d96d5d1d48554754cf1d0fdda430fc1ea68a8be13a00669325e22b072c960c901ccf0b93df1f429b8f9d613581d36a24541098c2aae0a7ba1fb144ce46dc7cad766d7a83d6ea93c5b55d910f26e864d6aa4c0a24955a215a60e8d6655def93d01a9212c829ee9cfebebab70ef17ee83fbef7f1046781f225e857037d4e9b87af52a77eed82d3b44ad054c2286259c3d7f061e78e85ed8ba32c504aec1c0b721824e54a952370c0fe819bec681439b0cfe9e61c07cdffbde0b617ba6c048f1ce585f5bc76a0f93f915a3234ba5bf127e42476bb2003dbeafc7ea7400a65817760e56c0b37a003b73505d06033b3372e7151d6153f824839f3a1029f9b7dc11616f0f639352abd1e4627554e27e6df8d023463bfd14dd930aff8dae93961275dd76b6c7fcfd0490a67554cfe76ca4586423154a609becb11831ba52f8aa74372919e5a40d5f8bd868b4163941a364085ff30b5ffc22deab3578fd5d77c1100b1befe670e199d32c5a75ec965742a870efcc5dda676deb3feb4ed167c0c463aab2f9463d75d8d78412af48e18c1a3abc1fe5a069dc4445d070dfce45e25e46a3b5e2800a8e23434eaa2dc8ad37e0c28da304cae8c512716ab6e118331c0c617575433a1874cd85305fea59c3494055567c2707d588cb1f1aa713bd3b60b630c2047744a327f2cb690aee8a791ef339ed7c05496c6dab2365743048d73e0fb246480a9ea51bb84146640765586126d234e25735e511a03aaae7828e0973b2ccccae2d6032801a9f2f22abd0038186d62a82d6f026ee9f2ffdf1e7e1339ffe97f0aadb4fc2b5cb5bb89730be8e3c7781a7b31578fedc05f8f11fff5178ed1daf81679f7f3653bdb6d9182b53988ef210263f71249c45c141abcccfbef408e8f3938e3a74b44842d67de1755a4842be8671886c48b63046106e67fb85eb3c6a5fb82f2f2726fbffcab34e71195551028c0a3556717258180ef8fffc9fff0efccaaf7c04defd17be17769a199c7ffe1cfce48fff246caeaff126aae7548d3a9eddb29d3d845441b573c9d0262e3a3e49065ba105fc0575a00535c7e2c3d6882457a4c8960b6260be455b5b6d696a7b9e6148415abc3ef876fe6b0a3d77bd00094d56232e28216a5b38be3773ef6536ca9526610662b5820752ad00d1b21841850193751f7cd0ae49962c6587b08936ed69de65b86bd166f2047a938d37ad1db7ae6f7be52d58c5af73253cc3ea9fdafdace942b896061328acd6a95d5fe261781e33fac9589478590f1503d2c090b4f68c373105301969051d17c91824b683c17493c63cc1123d8ba8461b03986bdda48349632186e0441f17ba2f4ddd6a6b40b7319029a5747b6f5e702783b2806d3c589f3efd1cdf07a3d512ad593a14a7534cc2ca20d52753d70b0e76f39d2956b08087f71a8cab1aae5ddf8103870f31f5bbf0a502c20b062c9321e3042b5969ef2bd5559ce76038ace0c05ac58c9a7a3c6570645d7bc6160d98263ecf12abc0be20fc7c68088dff66f170a6839b92085b0cf1595570318cc1e0737656e9c0ba6f0a2d645d54720da28e49eb8abd48d8a9172b6c3c04cf9c3e05973080d375d4aee10a9eae8b3035b7dffe6ab8e9f809accaa7dc827ef6ec738cbb397ae800779f360f1f866a659dbb4c31e774c9aaaccb5688eeabd4fda251c8caea0afccb3ff82c5cbc74198e1c3bca89dd08d71b0dbf9e7eea29a6e29e3b731a4abcc6ed6bd7e0c2d9b3f0c4e34f62b2f22678d3dbdfc26b53ba3c998163867508918e0d6dc26c55cd3502c9d7ca422503807541e69884d07e6c2246661ed40f48f03f243fef4d0b70f6a6b5596295f1b05bc52d71201f2dfbd825365ed960b84606039860a5fff5af3cc4626904a09fececf0a1555ac1de385c0b0737d7e08b5fb9079f730567ce9e865b8e1d8629de8b8db5154e3276b631219b4ae78d81e856e2241ba246bb8a486f4d780fd9bf4ca305d16ee10e13268053552e8edd2f7a7e212afe47866592ee87c47a8c207901a28b20a40b75066c8f2a243e311d5b8de2d88570e9cf0e93a243b8e6462b0356c25dc7fb70d3f1a3982c8d39913e7aec383c79ea29f83ffecf5f82bff0def7c0dbffdc5bb8d31914afd7170264e908c5ad887b5f5b0c36a162a03149e187c1089faf571fad08a4b51d387d0b440f5ca072fcb72496d7b060deda609d29f9572e5d83bb3fff79b88cd7b5b18105ce74069bb817563161793931f916473971211baf942f5beaefa21a4155dc5c0698f0140692ffea1ffcd7186066f0f17ff1fbf0773ef853f0577ee8876065b48101bc612c0655203be32d0865d10321469a68502476d939984577447107986933d830d4dc860d4abdb34adb5d90636ea1e16920d8c53f181e7170264cd5739c679bb6ba10e650570db55bb549b02ab42d6a8b28a5acca134427a6e62c9e2663a130b0c4341d56454c6298722dc669b1b36132030baaa6984da48a8671a460343837da64a883b06a2a2b5ebc81ab7c1071b1869ad3344ec06adc4cf13a4fe0df0ab88c9be7ca952db8edd52730005cc19fab1873421599611b57e900517780e9dece2888b905a005687d8a78e4112bd320cea9398326b5e1430e86d344b81c72508350cb672c7acc8be075bc272caae416adc0b418e66873ad8c06b0b236c24371c45d0eba77a38168c75027afc404813e4fa1f7b169262c28382807f28e0c3c18701549a3181b14b3c2e32db92e9210dfdada969127440125c17d4c67dbb04a5fc7fb470709ffaf968e51551549f99328bc64ee563220682e4c1dba078ce5acb93d5fe1eb1c5c1d30ed78e60a98cca89b394f1d3fa1c11bee4a4cafbd0097ce9d81520f73a2cd88d3b46069a0dec2ebb730a2b58e1f71b43204bbba0a537cf6674e5de30391f6d2889e2506eb8b175e80679f7906069bc7e11def7e1f263493c42ab119da29c7fcb4269a054f3ce9ef93abd7e0b1871e8695750cda1803e85a083c3e1a8db82bf3c863a7603e9d4bf706d7dfceb54bf0e4d3cfc28957be12ee7acb9be1cab5cb9ce86de3fde6ce4191095799769c13f7b9085e09c8118280cfe9f064c93f7c0e2be4deab850d7777ac8c7dd8208f3161d1d650349c681953b2ec3457b1cb640af21a5d7d970413e4324c82e538473a46a7cf3e02fff76fff365cd97630c06285c69a6cfcc763c38663df0893c4479f3805df78e021f05b17e0b5b7de8a05c80cefdf04d7ce8c130a92b41721c4b8ef54d348938f58c030a599f12d41ddb5a5106bfb0a8df8010593d88f83e1883f2b8df6a9c34609eed6968c310f6c1e66aaf970348a5428d8c6647ebc35e1c4daa8a4427c7dba46a3c2801415651cae89896dcd5f698c3418aec0e163c7702b587e1ea41573656bccf7c69a55b64bd9d8dc806f3efc081ef41bf0bdef7a27ccea99261f2e4956a4debb0f09af9a1735b486e6d31a6e3b86c9c9f405383f21e0d588ef0f8be339977055265792154021ef024a1a4716ef03de93c1fa21b8faec051e973df2f493f0e5af7d156ebeed164c568630dddee6f73e78f0d0cb89c9b79a98c82c4ef40928586e60c64a7f26dc0481c1e8fb068386b3c4d3cf9c86a3470ef18cfe8f9ffe125cbefa3c7ce6b39f811ffd6b3f01dff9c63be1231ffe30bcef7d1f80bbee7a233c7ffee2020535baf8e67c74aa3ee3411017168d878c5a5f374c4cf589344299ab5ba079b5d57b1cbba44c22fbde4ab1045c51386a75362a2664639103bbfa721af1d725e018dd9bc1a851b547af16e76244458b99de675e3bc6345070712b055724ce07a51986c452ea4a621b95e096eba00e14b39d82dc93aa5053312f6d484a00b9156d657250cf02b71719a04b326404c6f435bfce95f1361e00a7e055af3ac97842622251bb91c61af45f415d05fcbe011e8cec8b844194dafa24ccc67e17b6ccaac62e4537c7952dc500e9f365a64a4955cb0e1f08b6221ff3824707d6b4e8f73202a34d1c7919c89f28d33d553a3c29886ad55b98d618d093d6c3d0b6ba36942029c59b9e158df05c2d5d3b0a80d44a673b7a2ffe4d248f4dc27fb7dc7c2b1c3a78189f7b0d0d177b0527b88463217c051422c845ac071a27d028949e97d5f67a044a8b6d41d976090baf0aa1aac4ac874bc5e41cbc0676711bf048669b689d4419ad48d61cbf718b1444c7dc1162575b565bae38995c3bb801c70f1f10503661aad8a5ba4e0c117a4f1ae3a46491d60f2e8acb17cfc3d678c2876d61a2d1e212a917856af868790f9aa8d188776d0d0e1f3a08ab6beb023a268a745de001b7065bd7b779af566b0778ad6261c9b2f6de8fe1337ff059b8e71b0fe0be19631253c2fbdeff83b081f7fcf2d52b2c5fb00482d576cf749c4407f2c46bb29e9987160943e20534cc72f39ec1c9b691675060ac0bc492526654e195706a76d7db69743e109355d3010005eeb611eeebc8d1c370eb2b6e85adc7cf72276f6554a9864ba1c28acc4be4eecaa1039b70ddcc38d15819adb0bc02ed69cf9bd6a76bf01d164ad0e2277f77b30403a2e0512be93dc5b18d8d4dd83c701013a039ffd4daea1a5cba720163c3186ebbed36d8d9d981bb3ffd39387de60cbcf635af850b172fc2912347e1ad6ffe6e18ad61a23bd916d0bec97118b2bf484e8153421b167833f48b929e3367cfc0bdf7dcc3d82cbee398e05fbc703da9a7b2e33045331a490e0762feda0e67b2e7132b5cd785086807971288cdd502eeb8e3385c3abb05db73aac52a98cd1b0162b3f9aa4b232c1fda96208de21a4c7267d331cc76a6f0dcc5cbf0c0134fe39f318eed8c617b72056ebbe5389b16d6b30963612821bf1117e89713935d30263c86a0cd8c1bb6c240b8b5758dbf361c0a86c461706631319acd62153e99cc78c36fdeb40e4f3ffb0c56404fc103df7c145ef7fa57c097bef06578f4f1c7e09ffe939fe7403427b45f27118a425032a6d9dcdc84f5b50da60eeeec6ccb66a780ce6245c0588842cd026d29490db77a7dc7b297cdb268f3b694917c6c1494c5528aa74f900a41dac54a19569f9b24a9becc3b9baecd89043dd1fb0aadf24bacfa2811a04d30c2ca9b02fba49e0a7db914faa8d3d18f0bb605e39ac5de70f482f00aef284978ae886e972e016829e0d1c73d79e23856a16bfcac582997542b31c0d2260f44ff5e19c16a65b0babecc5a2a4f3cf3347cefe42d98d5afc03ce0732450226ef8d9142b97d2f38c7c84070a0110d74658c50f0b3e1477a8c27506ec927b1242a462765501723fa228dd4e418a2a33ef76e08ffee873e0ca15f881f7bc1f0f72ea96cd33d687c900f4a10b423432ba0be939b76c2c062d5a9bc09b265aafa7b1a0d54446a8ee34e2120140516225d6cdfaea8a1cb2da7da0aa97ba6d540c373acca7cf4ca31196afa27d44eb62b00aebd41161e19c4a4610856af95322407fbf7a1da6e319565c031e017a12f30b510fc570d2e3c31c441587466da524f764278ff78aa62b6b55800398983418a4cbf58318340b013c1b0133d3a88a823853a119e4ed123098ba3682432220ae74ab28d1ae679ebb6a15263da3552a03e67b023d731b79d694b1a2674209d0643281e7cf9d8303985450a01f60953d251142ac50a7b82f80592133185596d79e595b81b0be0aa74e3d0ddff8da7df81a0eafa1e284e3ddef7e0f9b8cce388e98ddaf46559d93424ac2e46806e86ca2f257445d56133c92933778ff26f8dc698d54dcde0f92d00593b06c115b15b13569655aa3ebc131a8d8441113add6bdca090c6954a7182d8a53d409a2cf34a856f93a04783de335586d1e50c1cb9a1d85e9f910889ba9b465481d9a986b2442aec904d640c6ab2dad39764e5afb03c294acadafc3b3cf9e81cf7dee0fe1fcf917f85f4f9e3c09dffce64370f5ca3578d7bbde055ffeca97e18b7ff2b534c6a1d10b51d2dff18e37c3dffbcfff135ecbf3f964d18aabe38ced978ec34698983cf0c0c370fffdf7738786304a435c7f0353a4f8ec9db00e5d980a06693fc48f09b9f954eafa51fcafcd047ee7b73e058fdff70404bccfdff7def770578fc5ea120c206071bec9f77cb23d6646de138f3e02371dbf19e3c3141ebcf71e8c87063e8d67ddeada10ea8b17e0f9e74fc1c19b4fc0e6a163b87e6a8ed9549cec8c775e4e4c5eecafbeecb35488c00f29849a032fab8cf261ed78f310a56f8a95e58183076075738815103ed0b5008f3ef6089c7afa119eab7fe4231f851ffacbff16fc3b7feddfe30045019d36975334bc51f54a3a4c9f7dee2c9c7eee69d8babc03dff3f677c13ae304089c368613c78e408359271d5825d1e80c691fd46c1b5eeb2826e88c970ee308ae253c898fe0d8e8cd0222564615b3c8d4b75e2c46379078da18888ed7ddc444ef5521781ccaf457b0b2e03a879c991b09f8346279e6dc057ecf63878fe161d40873849c76453825e944044d90ba0fa550b0233075b426f05cad14352fcea796ace631701ec0c4effdeffe7e4cec5679d351d7a12c5bb416192612b5f5f433cfc0a98b9778dc76fdea5578f4e187e01def7c1bd89dc0eabc330ccecc5a6de460a38d6592f60ad6bb830ad6681436c6ef7534af2f38209b487f36924840367e818ea016ab6cb0e8121db7b3f17518626252634576ffe38fc35bdefe763879f4284c767ccbee095d7449c804d28202968941300902708c490855e8d4c9288dd2d3ad650d0e4a9a68fc119dad6964628ccdea4db9c7d43627b971c24ab8e80c8bafb58595d1d5ed2d3cc430784eb0c2c2fd4163b44d5c0feb788fafe2bd9c60d544ac3616dfc3573d75ea14270d278f9fc0a0ff3c77cbbef30d6f84138737a0c6ef714957a76dc957d4cef6a5b046981d228666f4f90696fc703c0c699085f7f208eec17ff6a1df827bee7f8cbb9c84f3a859f38214931b183b55016625d83a6125384951f143e785ea4e017f05efcf0fff1b3f00478f1f868a5aea19aac4c0a2d858c8f2444ab208fcba8649328dce8edf7413fe7943c0b42cf8468046fcf7d50d4e9848b9d4aaf91aab3be3fe2d0f6ec0f3d4a1c56b3e70601dbef4e5afc26daf7a35bcf9cd6fe6f1c26e7c2dcedb08d0cb63cc9a316055252307c78283062bd9098f0e87b68203c380c93135bd86b0b1761c687e77f5e279d8c667d7581abf6d7002be716483b17624b1eebc24b54d6378a4512a8ecdaabc42812f38dc38c0789ee8db459d86199bd9194e5aeae94c46d55ca43858c3fd4bfb9dbaaa1c134d052b18ff56562ab88cdf3f58c17dbd8689e28e63075eee15bab0a8f705cbe5e57229fdae619f49467487f0fd7ef1773f091ff98ddf819b6e3a8105ca84d7c4a01c71c5ffb1dfbd9b8bc793274e68b2d4f07ebaba3386afde731f5c7ce102dcfeaa9b613e35495fc82b4bca8b140f63b26232c463752fe780685a350c1edf58dfe4ee0dc7f8d93415a0025c2fb9bb25890375cb1b558f350b96492153984e30012d3c06230b4f3d71063efad14fc19967af41b159c1c93b5e0b6f7dd39be0cae54b1c8ba918a0a4fde31ffb38bcf31def80d7dd71276ce3be2741bb7bbefe25b8ed35b7c3d193c7e1daa90bf09a57bc1a1e7be2418ca9cf314eeffc99a781b8568479a30f375c3fcc8adf2f2726dfe22827057c275e10b4016dc49914d2e2a245470b85806c734c1478eee9c61c34fddcf3e882462ce349c3ee9a8f3cf6309c394bb3e486c73124e2b63ddbe156e5c1cd437c800e57d6e19ffedc3f84fff17ffe5f1878f7d33ff1d35c457ce0037f097ef0033f040f7cfd8b70ebcd27e1d0b1a370e5c20598629571f255af8755025ae19b508b97821a1ff41a38c07b6d7bda043015b68250276365253a0826739b6cd504450f23741c13e21946625654115ebe740936b8022fb0029ef06b53865c4f6670ee854b70089396e2101ee2f5840f02aa47a9aa886d7ddebc514364a1395324e9640a208d2adbb28922755c5884485ad8810e388cc46caf0ed28e8e76ecdcde574c04d84a6882f85caf5cb984f76f061683f8aa159a2ba9d99a4644e7ea66ca071307847a2e07232563037c875aa9a7c166aaa5021ff3d11f46ab8ec2b4c06146c31bb512c764eda9871f84e39b47e0d6a378805eb90a6bb7be12a63b33d5d1306a24d62ac3ba48994e2ab49808cc1a98b0f163c1d190dd4cd53b842b55f67e1226135177791447f7c68bee85b12ac56d3c63031ccdfaf1a267b8a6aa66a8ed5c65211482d368b4254c827d44093f4cb4c07b1e849ffdb9ff0bc6d7af4b72e30257bb57f0ef7436ac62c54f41fefad616fc377fff3f83bff9effe65d8ba780e1a13c750426fa659fd701025bd0dbf8f57902f3d184a96c658c55dc44361030fd5b5d555387796dc691f8563c70ef29a660c9391b14a6343924b8fa37dd9cb92c83170112f8174314c45589cc0eaa0247f4e494693942b7791f9cebe4820db291ec44f5fb8c815e6083f33e9739046122da09b0e1de64ee375bc765abddcd1f322ecc65dbe92dafaebdc61ba7e7d8c49cc2a265b07703d97a2a299b3f072776172313735ac5482dda999595632b687b1588d68a4d48c03abb84361f1b35698243dfed853f0d07d7f002b18d3b671cd5fb87e052be4191c196e7057e7d2640b1aaca6c9ed978a97aded6d388007e8ca70000dfb6211c85de2dd3a7e0f5def643ae143988ab737bce13be13026682e14cc7a89806a8a894c358f7829622d314059bbb2e4baec641f9082f4e4ca0c93219700cf91a5657b1dac9027f29db957e82a23478a5d90ae2161c3461b8760b0b60925264b3c3ea1a4a09091f9a143875889d656a58e4a31211fe2daa9c5d19b8bc3c2eb680a1300cb9c26d8ba82fbc10df1e70fb33c808da284f48cac7cf6f58d552e5039c6f9a0c0f2c0091eade1a2526345d62e349ca83b6651696b2cc7fff5587c22b4d9f0fd2d3151bd7ce51cdb34bcf7077f009fad83add9369c7aea2978dd6beec0dcb4622c50a567c2ad274ec2477ef5573919fbe0077f1a3efff93f840f7de897e0477efc47e0c77ef4a7e0cc732f80c7f3ec293ce7defab6dbe1d27980679f3a0de79f3ec5eb7b0d93d4d9d51738517e3931f9369394a04654e93036edefec2de1857543809e091eb25411d03cb2c6438e2a260a88c4cc3974e400fcdec73f013bd7273c6a78e73bde0637dffc46186e5316b90aa79f3d0df77ee36bf0fcf933f0e52f7f1e30d9848bcf5f835ff8c59f87a358397fe56b9f872f7ff54bf0cf7ee117e16ffff44fc19bbeeb0d70faec1978fef98bf83ab7c02a06aded9d6df85b7ffb83b079f0202fa4eb78b85155455803da54e42f1111db510c3c6efc16f61260c15605dab14407c192ee8f65101f570f5895129a9e9232e9d8783ed0d730d059138159d236675548dd24b145b9472fab65217835d9d212d59741bc830a1141e20e07314da2b89855f96627cabc1428e6744007ea763472d05543be17d4561fe2750f80142531a95263321160136027b5fec9e19d4181b6e1e7bf5e902015bd5e296ca620e30d63761360660e10079cf515fc997903d72f6d43315c81d7dff92a78fcc127e1f0d19b30b0afb39f5050a06ce88c1dbb1a0204d0f651774b8d19e567bcda209422036ee27cd9a5d11e578c4c3fb76d32055189b7e0eede180f181ad7b5d002d19aa0047868441b643cc3eff30378e8f9abf0875fbf0f0e626027c605757748fc8aaaf6a21cc2950951f157c1e321e335b92296c89cf3e412245f364c20a09147343ae37588877981073dcdac3ffdc75fc09f2b6132dee10ec89db79d8043870fc0114c8e0e1c5c6713beb90adfd16871a5835f0a82a76aed8c057c1c0b13c6947871fe1e5899b5ef35cae96943506242789dcfdcfd19bee7cc12c3a4844616b45e890e4b091fad631a771a66cbcc05bf56559c5857787f05d3069c10d3cfb18c415417ce34923a7455bc67840d21e18b61a942e041584a8495a2a464139386279f7c0efed12ffeafaca45a940d9c3d731e9e3a7d16ecb010d034889af1204881b3459d5a5c67ebb84e89d946f4fcd7dd761c5ef3aa5bb9aa8fc6b2d469a5f798cdc5446e869f8b6eca2db7bc124edefa0ad8c1354d1d562acea6d333789f2baea4e9feb0a16921e07eafeb9b344c58aa5fd76ac9a26fd1de2313b50cfdc4a4271616963389e228dda825052589ab6b2b788d233ef8699dcf99322e5a40f42c8fde7a12e3c51cd7fc5462805b854bcf5fc6fbbd06870f9fc017b99c80ed82f991e6ce9c3bc4058f40a94b44376886bfcfb548dc1ad7701d133ed6dce1ae73c14942ec88b0479bf52ade1744a3c62b21dafb5e2fa83b42f28a7b021ef37bb87af132d56778ad0ed6f07b0e1fd984d3a7cec3938f3f0a6fff736f8587bef900779309a07d00cf95d3cf3c050f7ef37e78f6f41370f9f2251ef17ef1739f87d56a13eefaaeb732ce6b6564608efbb1194fd9519ece838241f50ece9c7a1293f5eb2f2726df4ec784e9c23a836781a5cc108f1669a41453a0984cc6c208c10c930470e8d07273318ca3004433f4871e7a042e5dbc0477ddf51df0cd07be027ffd477f0cdefdfe1f815ffbd0ff0effe0bfff59321980271e7b1686230b6b070f7055459a0eb86ae0befb1f812f7de17e7eef7ffc73ff13ace18679cf7bdf8395cb21f81ffec9cfe3e2226f090ff73f703fbce9cddf0d6fbceb2e78cb77bf954f2fba4e96ec76ad4f815131261901c4cfecd202e60e51969ee49b7f31181a35c12a9962c9d579dda4963cd14b0b23b8106286e412edd289b209041aa9787b01a4baf2dc3417c6cf880162d531970237f6b620d415393e6c86aa81209f8b82241db2144529c051478a68a024a13cc57b32c54a6e44a0320281da9978b838128ca3f18e13fa6413f8dff1d539e09478c0513fa1b66d7702f6b1728b383202b5cea7db98bc1ec1c03f83279f3905e75f68e096d7be0abeebc87732c623aa0f9b64306899bd125ad711668150cb940f74ed0208b5593459682d139e8082eccaca4092d5ec79b3bf922a96c66742153d98398f7f9862abd895389a8ae67bdc4b60d7d68a3b47f4fea4cb41a2591548cbbd543f1a029cda523a58c1d69c2c12b36ace92e2983412f0d6eb9a60baa6eb2478843132f8dc9ebbf0027cf14b5f82e3379de06b2260e2e1f5820f63ae55d5a5980f55c53974fc6e405aea42cf0faa16abb809be09027c979769b48d6ef78a1e19db0144947130e4d1078d26083b40231cb24b70945ce073a0649f468e2c44c86ec84a47079fb474b8f33810e14297394e77f648081d1b3ff2102a68546a4aeedd95411c5218e4490aa9946ce061d7608cfaead7ef87cb7848e2e382e1600d8ebdf2762cb276b0a0c04417136632d8336a07500ea5534c5f2f705f50d244cf8d465551ad98463443fcbeeb3b13be25151e4ab456c5abaa056153a24586a84681e054c9b352b313155a2aaaa8e0a1d875fdfa55712bc7387bc54f21606243490cc763d38ed6ec2ea3b5fd12935621bb05654f497f633ed5518c17eb032b34642a7ec6db3bf0c2e5cb92880175c11b36fdfcf55ffb0df602bb3e1576a25387f9197eb6198dae28696529fc3927278ebfc77332c7f10befc90fbee79db8ae8fc1534f9d818a71507562243248976c159a5a8d17a5f0a068d4287d7fc193332b6ac80473500c59e9994648070f1d87f3172770e8c01aee59072f8caec257befc152c8c9f83e7cf9d8573cf9dc1fb7f1d6e3e790bbcff2fbe1bbef79d6f855ffdf0aff09eb8fdf657c2e517b6e0d39ff87d780e0be5b3e72e4085c5da938f3e8cfb540a538caadca9ddc1b85c4fa60c967d3931f936e8c23e931797c3ddf70e538977044e22a1b595b5011f7ed4b21c626538c02a7cdecc84a247ce9518109e78e2294c3a56e1be875f804f7df633f08ffee155f8c4e73e0d4f3c79065efd1db7c12b5e7d0b9c3dfd1c060d11a61a8f1b78ead459eeda58524e1d14226c858bfa939ffe2c1cc0aae7c0b14daeaa0d06fb5ffee55f07c0ff6863ffccdfff2fe0bffb6f7f1617d7193e8c130a9fd93c522117a301ac8f56b89b404658348229f8300aac80c8ede2465aa651893682de9c0b89825cb043a71e40f8b3e3906987f028a3e2c0b552cc6127881aa71794315f4712f1644064268cd4aaab412e6cd4651fc99c7b6be6b1bab63056ac02b75fa9d251aa2f57a26525f2dfa495c087808cb8e6783f268eccc0844934e1ebc1eb527ab0044d271808d562a0e750b9326ad12bd01154f25f1bc944798de676dc6eb629f132660493e63a5c39ff0c34d7afc1790ce4350730eaa215f04d4c645ff1ca57b0d95c8d891664f2e462a8d6b41a37dce9f270edda79a8e727587b845944aafc294ed3252600427135ea165baa8ec90c132261f57856e525476b0ec48a371a540286a3246ec84c97a0233419e91130d8e8a88cdaca1525e98268e16b31aed10440c23ce146683433de9e73554d0ed435895a7167c589179356c4042c8c960e5631337430159804df7ccb2d30b0155336d756d679f421632842ffaf2bce472a611e599ad6bddb71b74770003eb46ec73c4e543ab0a7aa9684d58aee0000a2174b709d71004b7e6b7243eb614e1d55dc631423042f40a718a9abce616b2a2c27c6ba508262a54bc1553175f248e19412225ac3d4a5c3a486f03acef945b0f5c2398b07eb5caa739238608d0a2f1a3a9ef5794a5821b97e2c8656b04ade98cc3009a844e766becd42839490d0808fa509bc7409a8b347fe43cc76a23600de1b6f3718bc3d735b9c604648368fa6bd61a613e1f01a7271564a32e15a26b45ff1730d57f0009bd3b50c244153d900aaecb7f130bb69fd186c1e3800173009283056ad639253bba92409c16b32a2da1cb680aebd6e4f9a2116585693cf5c9b84d61a2931e3bd3fb8b60aaf7eeded70d3b1131c4b69e4f8cce34fb2692b8fc770fd5d78ee1c1737c25e6c60f3d0265c9d5d83dffad8efc20493644a009dd8eb0ad3ce4852c06c4f1392e120e7c0c6aa20a4c1037cccc508a96857ec03146d25c4664434940aa8a8e8a5ce8b132985a0d6094181aebc8e89168efb657d75c489f1d5abd7700f60c2b7466cb0ab78bb2670e102ed3f036bf8334f3e710e63c8163cfae837e199a71f863fff03df8f05f69829f3eee851b8f79eafc39bb0e87dfd6bee847befbd179a8d1a5e7ddbadf89cc6f0d4138fe3ef3b78866c610c9a32ce4f3acdc242f2debde4a724ff5a805f43c662e9b8ab6ab2c2eec3c4d0a0c3ac71da0ab63c972330982f05642a2eaa8111e6c5a880471e7904130c0cca571bf8e0dffabb70f215c7e1f0cd584df919cf82c91cf0e0e6269c7ee60c07ac8387d6b9b5781dab61da24ebd44ea7c37f7b06e79e3d8715d890954e6bb2009fcb7c9702cc6f7cf4a31c40fed3ffe83f86725a6a97276e5807c74fde045727db70eae927e1d0e6210e62afbbf34eae3ce9f5af6f5d83191e960306913a3ec80a5b24ea5b2bfda70733eba27806091bcdf2f97b0b754a5ec50aae21247da9ac2707d10a3bef2d70c59f0593ee285dfd69723d95206a832cb0c434d092bd72e2b8c1b3daa2320e9cd8de53206065495534a4eb9e7b135598c4e48d5f4012500eea193093a995dc7e6d92d12e7da6ca9b2e0bc00c92da262350b20a8f0c03a9057cfddc65d8ba7c157ef3939f86efbaebad50380c6278df4f5f7d062e5cbc00afbff3355845cdf47d4da20717118f63e4b0a9f0a0be72e5054c527718f714d54eb93392881a46b00674607951f8e4997af052b9abf438dd334a00e8335a1ab7a960c6743c85020f12d2fe90e4d471ab9668d8b17a038f9517bee30abbf5aa2e04db0e44854cea44467687d08bd9a3a616ff12febeb8df8c28258829a04992f4b4be07c30ad6d73760fbfa1813de8a7558a8f2041dbff2e116826afc844ea72f760193669437a9a436eae04a7ce19a9909206ed501bafe45a92b96c70ca718031981d0cb92fa25ad9342cd0fc97d935af3e3c99c3cce14330078108db8231052f783d451854de69383b5b063a2860e640ac9ddc424282649f01233e1a06852db0828782eb8868258533a6a81a81e5b081ba33152b0300832e8e856bd77bc93ae0be549541811f8dc96a29543230abe76dc77046ab695b06086430387f0c0ba3abe86bf0fe1c8a10d2cd29e82f9148b96cd75ee1287480576c23a9cd13d21303025a593091b3c6216c4b80dc26a4cb7b6e1cad54b1c674308b09bab324761e35bffaa1092c582926c399194113cd52e85dc838692e7b160b4824920d2b54d2c3e07a59e0d0319b7e09f4ffe3fecbd09b065e75d1ff83fe7dc7d7bfbebd79bbad5da25efcb188c171c1c0286401c96620c15a666984a25241320354c9800930a5581648a4c2a1043309b599c018c8d6d8c6dc9b6245bb2d4da9756abf7fdedf7bd77f7fd9c33ffdfefff9dfbeeeb96655b76d50c5392dda5eed67df7de73cef77dffedb71c3ac8ce4c386a53342f740ab1d45482e02676004675ee5e5b27ceba46385f9198e03c6f50f660c4d17590ce8cc7b3d62532461b723174e81353d0385114880c47166b72bbb4382fcf3efbb46c6e6e52a519f62057d7b7a4a545d1d52b27e489a79f907d4bfbe5caa515d9b770ab74db55291487b2b5b9267ff9d13f9537def366a34b6f56e5dad5ab72f8c041f9c11f7cbf5e7b4eae5cb9244b4b8bd4a57ae6b9e7d9c5c22ac108872b1067ad03332788881b14ca5f4d4cbef1eec9e4869f1cf38cabb7a1059a2030ee77a69491523e27f55a9bad482ff0dca18a162a287286eb001515203630feaa1bdb922b61e6d8d56095e262aa56ab5afd65f5f0cd30a1c0af8c7e06e88c3d7d1ddb78a16911cc942b1c97545b3b04676265160a79d9dcd8907ff34bbf2277dd71a7fce88ffc98ac5cbdc48e010eb6fd476e964b2b97e52f3ff909f9b33ffe535602878f1c96effffeef67558c45fd933ff18fd084d30326c7055faf37580591ed42454dcb8091d503dfd107a829158c91dfd8a8e1287432d446410e9dcc3d3a2ce8aca035bd2740b86335f276057d123345193bce467b8f605735e9f94e9606640d6494509f3d8926b4582843ed124d766ad8b1898c054045dc68cc08b1f77615f18412ad251aee4f41bc971991884939c5c5d8cbba810daebb4f713c8902675caccf49d7c39696b6db1a5cb3858a6c6cd5246af7a59ccd4bb99267a702ef99f6cdbf640cd9e33d4c3c4822f3a2d16bdedadc363a5f3abdabc923bb551940dad41dd1ca107811cc8ed7d7d7a5ad6b354f9c5040af0b63a9446357ece1281e53e8b1ce1924f1677ddfb9b9052a4786ce0b65aa3c2b0b73b396108daccb846f9bc47e93e44e9434a3f1678d85c9dc706a8c7471238d313595cc638fd4558e4422b4bf1b5c8f73b365e24448e3079b4b6eacd2c23dd80cb7c713eb01e7743cc65ab97548c0e8c8c4e062d71388ae1bd579be375e21bb43d098782b2ae622b9898ce98735984eed6ae018f5ba6bcecdbe092762add7ea75ae559c03c06460441986d10d89c84b8f091373388fc5c0589a801d5f1b0742f42e8da44e13f90224f19d3f147d59906867421b8986d138a90b63534b8d422b5838124257528b318fb4fe70824e9c38477b0c5ac0255cd60098a1999c5e4b1f00e8ae543b032969b59dd2f5592c17a9148af7e45ea1c47cd7f66464c9308abfcdb57579ecf8e37adee66551836fa28efbd53ae0d6c1b4d1bc318a02b71e4c4e20e503f3039daa2cd7f9c6e63a41f028d44093c5f3ea8b25c5788f99b9698e9ea8e701f9807687d79ed6b539a38565d69f962e3d9fdc58d18fa4a8fb3a766722b57a46a1a3f6fb8627096c6d20e181d64b1078e3110e9569421b4f731cca0bb48e1e69cb5e6aec4784116c69a6a0c56157d6d62fc9b327be227ff8871f965c5ef7ae9f958f7df2e37a76b535b1b8a0cf644d16970a7abe77a9c93553c96801d2d0b74e497da729f56a93c06d3c0f745d1e7fea49a9b51af2f7dfff03f2f9cf7f411e7bf229f9ceeffc3bf2a6b7bc4d3ef6b1bfa46233baee48e862e26946636f2adeef51f86a62f22d01c04ee01f128d1371a0302cd2ac66b79e13b482dc34c62151e8b450dc5c57260cf432a44b99578bf8038e6b7a8314bb28e55296c656680542851333498c61d8b2a49aa92d461ca0083e5880070f1e94cbbaa0a044cbf928f0004388b1d96dfedf7efee7e56d6f798b2c02499e49f3ab3c78ffe7e53f7cf037e5befbbf4029e6503fe7c4a967e5e31fff94142aba19b775a3edd4e45ffeab5f960b2f3eabd7989783478eea6b870ce2590d68605c40893295ccf41d1d0f872c36375be45ec4ca0aeeb17db057bc98d783c38e40be514263dbabb89b54cbde984a173b61a097907af377edbc6307260b9c943df0217e901ee35a485272946a1e0ad04fd043079bcef31299ea78ac52995447d175e0ba2424251d9231e6c69f5ce498edf7c63f8024d273ad7a712ebde82621416d747ab23855d6c05a92563e256d3dd02a9ac415001a76226856f9ef0a580f3cb7d1695b1f4873bbc1d76e6b521ba44c7724e9f4b19a8b0d137048d7cbf2d6baf4e0afd2a9494a2bbf6867284f685575fb2db7ca817d4b1237db6301383abd46d605c07a1b69f0c0f34c67d352ddd994cfdd77bff8236b1943e3a7a4eff7dcf3a7254e956400dd180a73454e1b57c6b8adb134b80b16ec724581a38edaba49ac8362a7f59338c400a08c8418093aaaeba9a9291b575212d540c5ac6efdbd9d85ebb564263ba0324e375c52eaee1fb0356491a13b16f9965c78bb06f16360a1fef772657a8c55815708d86ac9619c0e4c2b045dcfc8e9a8d0b937b6e4051d345c8be792278ebc0253c9059ea19fb34eec2efdd39bcc99658f936132ba729a36192f7618325316052b0678b86bd796a556d3759309c82a447289ae6fec14a1f149f0c08adc9f493f7795794c706b57ca00a74c28219b837a34f6314aa572bc867cae281ffdd8a7e4c2ca87e5677efa9fcabbdff55a8ae301849fab94256cf524e3a4f4711f0870f5ed19200105b12084a8a53e82e9d90559dbd9929ffee97f2eef7ec73be5dffecaff21ed56cb75845f82d977dde80da3c4ed9d1dc9e8b976f8d021397dfa14147264dfe1253e97829e6f9e2b62c82c44d7c78d5a68e901dc4b6bc06e17462914bff40d8c8afbd8d7ef0e8cd5f6f636c7d8c0aa0cc29e4c57a6a45c2c723d04131846df8dcb50a8d9da1838ed11ebb8470e3796b87c4b72d66044e79e6be2689d496599249d3f774adefad637c85f7de233f2913ffb3d3974789ffcde1ffcaeccce656565f939761b37afaeebf3cc48b3d1967dfb0a525ddbd224bf20b5cdaa9e25594dba4a5a246f8ca527d09505d6eedaf235b9ebaebbe435af7d2d29eccf9f3829b7dc7197ad7f381e270c3a974447d1ee1e8ca25705d65ef1282701ff451340cd2451490048c68408089a8c9d0ec7a06ffe32e82a181adb9c4a63e017b080c5b9c95267047dc2b451da0636d51ef42202a206e0f8237109c56154021eb4593836f6ba0c10c56281adbee56babb2ad95f6d8b7c1371645d41f71f1625e59c0fc7d7a419e7fe63166f41ffec81fc8df7cf453929dcd33d1a8cc4c71b362e6c8042c1dca87fef84fe4fd3ff101f9dfffdd2f136bf133ffe2e7a84371fffdf7cbccec9cfcf88f7f809cf62ced63031e60e0b3a050455084422a0f83c8aa7bcc9a814bc17f431b16add90c29d8d1def66b62ca31a131603442717a277b397019264636fe8139207d3e181d30aef1ccabc3e9b553eadae12a480306b304c058508571086026eb0fad051f056c1bd3e136a1f545bba31482f652d755677ba74c7b46526669e48db5062898a7ef379bd5cfd0cab45028cad183fbe59993a7a4a1071adc38c108b07194386c813766430d922e0314893560d6763664a690d524758d2aa3188b84ceee00070404e18edc72586e3ea689870fe9f322018890b6be7079594e9e384313b3c128b1510889f7c1af9167224e90f4c7a70fd1b2d5eb79fedc15397d694df27ab8ad6eef48ab3324a624ec77f567b472e31827b691906fddb2d0c97d135cec449c8ab982b4e32d062230558a7a3d458d4b612a969cae3574679aedae55fbfa8c2061de872158847d626ee0ecece8e7fadc63d8074ea23c8ac795b49f327aea6425cdd195d898d284b2128698811643879bca7b66e247b562024b2d88c64e9919e3b3ab572e6b457942b6eb4d62270eed3ba4c505aad990ba47b167360c5853a9c0ace431e2cd8215e6dbfb518596ec1c2d32b21ab4612698cb99747fdae31a96c8b02363284582c971fe4b263aeac0ccc44e046e0d9aed05c72e540305a81bf601ba163006a6354286826a9e035c0f022b28704f8d5d946202ca2600bc758611c5e8486b1db5e124c6ee1d3f0b6711a4dd65c0007f61ad21173418d69b35999e2ac9ccd4b40ca11c3ad0020f8960da278db5d7335c98af7bb9a4675e656e8ef60295a912932e246a290faab4a66dc49e1a44f8c6c6a92232a13363382fb3a800f2a9ace7e1b50b3bf2a5a71f9277bcf35d12d6ebf2d0934fcaebdff67639bcb8a4c9da8e14321ef591683a5acc4b67a7691818b1f7c9978be2c1d2006c2f2433592d306a2d6956ebd2d50387891401dd23d957c8cbad3307e472a3464f2f1423704986233abb27a1c7b5469348dff9d340f04fcf7ae8fed042228c129e81edc924e106f3499f5daa90d3bdd091921638535305f9e06ffd07f9c4273ea2895c53b6f47aba1d301707922e96e4f09159b978bea19f5b96c64e5f7299a2acf7423b275a7529e4a66837d1efd5249fd56beff6c8fa031b081d7768107df4a37f2ef3738b72d79d77cbadb7de2a4f3cf1a4ae83364499a9ad25148404a3c80a1cd2e45f62ecf86a62f2add03571d8927102333ef81c9531d8cbde491299c8a9b0224bee77076ea6682de72403462bafd775cab3303c7392de18adf0e73d43ab9b068635bc2119beb3d3206e80d5d7187dee8f057ba0e0f85f3ff42199595c90fff47ffdbabcfe2df7d8fb975292079a3e6312c5f85ea381e104f05e6b9b9bf2933ff98f64a75e95cdd54d79fcf167a4d16cc8e6c68e41437403fdb37ff24fa55137555c1acfa5acad298eda3924da3f47ad96a4dbc02ac181533dd95528dd2bc9104f68437837d097af47dac79eefaa0be16cbbdfefb0b599cee69c63ac05a47cbae00ef201378d598944ec54c3e7a19009a83f30d084b1576d69bea8c955cae966c4d7d1f0c65f66d716dcdb6b0fed04c326f22e2637d6cac5c10fba1d02cfa0d797f9854582ec30869a2a950da5ef9959a3c744370108270ad149ffc037476b0dcab3333372f25ac3a4aa532937ae42f5622ca2a5993956863d7d7d6fd4b481897ee49c1e668bb055a8d5a45fce7034c4351659d08be3440eca142e2169166ac01a0c7c599c5d94bbefb85d82932fcaaaae934239af6b62473c4d54d2388bf4c00e29d63772b2dfc9582e22c06f656d9d95fb542e255d4d948a5a154febfacbe9b5809df3a10fff95acacaf4b2a9fd7b558d32439907e5b93e9822773f3657ddeb1d439f2886571a6608ab2a960bcc6a83d331aede9748551d28df1c663a51141afc158aedbb43412c6595aa68b5929e6b5baa4a74d5f7a001e22790d3cb221e6e70eca273f719ffce7dffa90142bb3fa5d1b32a395f7b7bff51e4de0e735988ecc955bccb60152f964b285060cc7b582724b902c0ec9b46f8c36a7bb93d2c4c4e8dadeb85b838205ddd1b48c9c58a26f2ec9d4a291f13546ee2c089c3651e01948997b2297657736c4b301f30a34e520c524301a03be0d8b81ef83ae8d9d439ea960eb7b434b667a3acfee3128c4f837aa7e0295bd0c2bf8a503fb641ec674a3abd2abd5e5f1071ed6a46428878e4096fe8a1b13c1d1d712b65aadc97b00bf274f13f4c3470f4b4993017491977b3db22159f479f1b8631aeda1c0cb9e0207bf2b381c4759cfa9e99ceef1daa67cfe739f91bb0e2de963e9cb83f7ddcba4055a1ec76eb949a61667b9893bddbe6cae6cd868cc755e6635991e38b16ae49bc0e000c04c7c6126228ec48bcc0d389fad48decfc86cbe2c9b9a5451e40fe695a4c68fb4a01d3119015b0af7943606a053ebf3f69dba25f0683c63fd09cf2d62d54636dad567b37f769f3cf2c8c3f2d8638f492f6cc9f9f3a764637b599f77496adb23d97f74a0c5e59a84bd1cb146432d447036376b700ccfb08b164002419f3fa40af001d08b013b0a6739f12fc59c94cbf3f2c20bcf73edfdd00fff905cbe725a5e7cf1493ef72169d09a9e66738401c05cd0b07a963016f4ba5e4d4c5ee13f916371ecb6a112997a934ae65cdc108f631aa2252dc198b59244a3c45bc702b6e768b8667f3e724865068140d836465b170fd5ba31e14414848f4b830875bc57a351e776cbe5322e294a1bd7de81a9d05b40f7afdf1dca2ffdf2bf195f5b73d89072a9c0d7c0380cdf0f28f33e7c51b219dab0b7da3da96f6915f1c54764e19006ac66470e1d382a150d169b9b3bdce5172f5d925ffbf7bfa609cb63f22f7ee6e788ada167436c225838cc534edc0c0b788416673fcdc319c0585c3fc63e41e0ed69bdc6f14b4a578d7fef5fd7094c4cb7639780f4b492c6a9dced6ac256ac681596a16b2dbb483834682a8724116c0058d2a7a5a507c35f7efa3e897b0d39b4ffb056737372682ecb714118ef766de43acbee71351e3be44b22f4e492d064b6e339cc00d900b014a0d2a4ae047c370d709126a49d615b2bb3accd9b717ff467f285b21ec6658e29868ebd9100471286544a13b1ae3e9f567d5bfa7a9f371b1d69b61a14c9c27db611412807e64b12f46bf2f493e7a4de69d31708230fae4baddefaf8193d94d7ae5dd683675adf37e364ca476e3eec3188a5f4805ddbaa4a6aae28d3e52979e1e91344fb173470beee8ea33441bc7acd97d58b979d3374e800ab16340217f0f04f5ed7f91998b43df7acfcc0df79bbe4075019d5ef5bcecaf953e7e4bf7ce8e3f2f0a3a7a4aed527c091e8e68092196a605a5ccccbf7feddefd064539fdfa0ed9c937bae93e18f0fefc0f79dd05a4886593431baa1d53bf7b08d4ca0a1e1b94ec424103ea4809c1eb67acf861058cc06acd6f95cf53bc13e003fd4ea76a9cdb16f615eabe20241c6000686cea135115ac37ea8ed745c6bde730988153ce8887a7cf6259e0371dce67561e4088b0ab83703209fa29f929316f742024dcded35e03dd8ac6e92cd430a7fe49cbfc59854589781f3054275ab29a69819b1d1c2e18c1b48e0a8d242861e025956524efd37dc05d9c2795dffbd5d3775cf6ebfc5cfa46cbc56f2a020c3c42da695404a2bfbb45cdbda94f689866c777bec0ab63521cb681297225038a42e0d9485532904cba6dc7674498aa50c01f91813df74e4889c3c7992e727f626aa718e445ce295140cc1c4e8555c011290fd143875dd94f475cfaed6bab2a1bf769a6dd98a5ad2d0c477667e9a189c513f941d60bff47aa00933d40461d0edc8a9679f957638e0fd9cd27d133299aa71fdc7c1ae0c424e13e3152de85e5cb9aa6b7641ca334509b558d42b6307167843dc4f68e550b13b76a33037fe1cc79771272f76d4eb784c1307101cf160b3ba2a4f3ef5b8fcc67ffc4d993d9c96fd4bb33233ab85423392fa66473a8d1c557c37d76b9a3c7b8c1dbda11d28501f467c42110c10b6e7983d346985988fc31a0de913e6f49b34517ce0c1fb58ac562a79c3bc709a6e32157856dbdb7576e54ba58a16ded53d94f757139357d02199d4ee20032793d923033d399ba6925e2ae5005849b5158ebb27bb6eb9bb76efe2ed1ab98d4d92c0678f4db21d6dee686881100943ca37f3a601dd35fbcecb461c184e1cc8d31b275089370e471a507ecc5875d1d96949a807028e302423083ea8986849af9fdf6d7719b002facb78643d800e7afee225ce94a14d8116e4a73ffb19e9d6cd0f02d89a034b37cbc6e69606f39c56500366fe81f32021eb7864aaadbc1f227bf8f69341c0bb8e88ef4d48067989e05dbcfbda49ff0b8f74ed0e51e1e89e00abf3fc9917c95641e769a07f5e985b205d0e4924c49ef04f57eff399a79e91172faeea669d153faac9bffcc7ef93efb8e72d52df6e594281cff2f6ce6a509db2f5efae29729b1949590ed5032a9cb18d4734a69d8fd8e24d733c011a2e529584ba0be69001a67d397de6ac53100ec73602a68d93e2daf05d520bd5cdae1eee17afaccbd3272ecbd1fdb37270aeec30109e34bbdbfa8c85c271cb2be729979dd337837230d64b79beacc948414a1a0cdb9d1dfa39457186f3ed10e3490470d226db7a6f4d9ba0589996c3e959696fecf0596b0a4ab06e4e83e1fe7c85ebb585800935d53d804da335468ebe8ae0834a13fe2c59240850012dfb72edda96dcfbc0e3b2b0ff9014e767a54755de4013d394400c1626a5430da0255d6fb8860e6d1042be57328e3111c4684c4527a1ddb14ef0fc807bc27f4e6b056d09cb688c7d214369642eb7a0f1a2cbd4498b2690219575c11849c71ceaf333efbbf7d39a0cd7e49ed7dc269bdb4ddd27b8779e5cd267323355967c26d67dd2d0bdeb1b4d185dae51b49b5eb3d393221ea8a7153ad466d175817234f63024f281d73871e294ecd49a4c20e0f00cfc4345139552b9624ad3baa6721a91dff6d63751200c411b58158c3b303e25cd7664e0f56ccef05731c621193bbf28ac169b979299dbe977d2243e4007978ab3e204f022fd9c2c13e86bebeb5a780ced8cd44483a367cf8aaf427624330717f4da073277f080bcf703c7a4a6cfada141bd323fa709ed0abb44c15c864979abd5e618187b0889555fd7dfecdc8c6cef2cebdac4c853a492f7a5a2d75bc8b7ddb82e1a9fb3be1358f2e209e135b7377b125905df6d899f2fc8d58dba7ce1e1a7d9a16cf53b5ce7254d32eaba972adbdb12ea7917e835e6b20537ca34a029f6df81c307443421a86b4270f9d459c9eaebc02ef34a599a22e2b3876e7f61369ac99534b1d1b58e6bd267d9c73381a2abeee34cc63a6fd6e5b4911af6263ae2310c17bc2cd7364dfdbca4b00d9d98dd9005d3d45451fed52ffc5b79f29947e5d637ee6317711803c398d233ac27fb8fa0701c6a92054348cf9cc475bf35b6b734792992760fbd2de8ce90c1193a1698731a868716f60d3a61588ba351381eb5a32bdee90c29734111373fc5ee5fb55fe51a47128cbff328af3f783531f966e8c249e04b128e242b1f577e4edc604f3203512630430219cf0e27c73a7b306a139d19930bd76cd94b1bae24ded5f2889dd9da087e2cc0400c46bc85090d32e916242aaaded815321a77147050c0d9176a94f89c613726ee851d1c7fd7d29ee66661e8743784a31d1c2ea54a51035f9bac2064ca183979d456b103fc939ffa8cfce80fff18db82f8bc4c6c63266867c0884a4b5c568dbd38275eaf694bc01b72268cd7bc1c1b2a8ef662508671b4d7e342ec3bc05d98ed5ddda890a5f7311a6bf5f4a029cba58b1709f6c4a1a3b9be9cbd7091af9d5b98d3609ca5af87e8c1314095ab15ada7874d3030f134804bcd9ccd2cc877d94013131ab4c123f328999aaec8a3c79f97cfdff7659a799941db90875118d933c56783fe3d3b95957ff2c35af56b52b05def31c81876490fde429e7e1d672e5c939ffd5ffeb1bcffefbf57ae9ebf685a2ffa19c4ec4426fa052072a3affff6cab2b1d592c5d91903fa46a6549bf633ba6eb41a6ff7a40cc656a725b11e72995cc650fcbaae800d198cba0cc04141ef27b10303f31782c09c1ee81a4a654593bca5c38724ab55df42b12c3bb381aceae1364a2fcab5d5aaa47a1d3da45336734ac0cc239b372300d2a00d1e4a341744a2119ad99a06fa41ad252978a074342180abecd21cd4ebc8584b4726d4378c7b02a5fea95e513c7d5ff8b94c69602e4f4fcb9c06ba8bcbebae98f0cc61db8186c9e848549bc7669d9949950bea7024033233a313ca75d6ea2da941544ca36297c2562373e9d5c316589233cf3e2f0ffecd6764ff4d87659f3e9b73573699ec487a20f54e433656b7e5c8a119d324d1000dcc4002824535893d622682e8e045323b3f2fa7cf5d93f58d0d7d46053e6778b120389c3ef31847952d0daed89b8b850ae868d2c07dd700da68b73500c6f2dbffe998dc7aec26598332a99e4b95ac590a403366808e612ed0c4ac476130881f06582371c782f860779c452c0b929791d1dbb0fbc018c4c806630a096d4f70e40853d1d0b012bbe78a3e05bd77e5fdfb2573d32149178a1c7dd5db2de9e87dbde5f56f9267cf5fe1fa4000d34dcb738a4912f47834318b3a5b1a483d5d160053a7092a468728a581d68ffbbaa673fa772369030be1ba94b1d373190ff03ceb06a1a33b00cb4cd77f5d93a0edfa401a1d80544774d2aed696f5bc9b9263b7df25b5da163d72a6a7a6e5f48917e889133aad967dfb16a5303badc5c065b9e5ae3b00fa90b56a55dfb3c3e4b298cd59c735329a795aafa7001da544e80e7752df0c5d0ba8b7027386c2b0affbaa373411419f54f20c0bb254861bc9e42022d3f3c1c81609c4dcccac9c3b7792d616ad9dba26529a2c8389a5e5c2d6468338c803074ab2bd3d949eef51b9dae77a6b4a693ad0f327c362d477e3b9c0b7d137c68df17064eb32eb4ba2344d9659cace69e0b246ce43ae1f9b1b3b1495614a99e23835cdb5deef0d9d06d8ab18936faa637263157f23e6240c6d964f274ccd32b3f914b369b4c729938eac9f6ec4a3bdde162f23ec668988252c78c8e896d80136b2c37dcc50f16e788f04989b2453092b2399b1539ba233e07b5220cdb3a4051bdd00a1e6341c3bdc4be25782b92e5e8bc4c3443b8c4d812e0b2aa107eebf5fdef5ae77c9edb7df493a2a7d1d02dfa11262573d8dc6e05522b6a9f590e846441374cebd82cad1442242bc49781d25d02561180b6126bb7f7e8166829d664783ff5579cf7b5e2fb942248f3e76821b0db467a83a226035ea4d296830434b351c9aea62a4958fa7495c77a815b567ec17d33b08e98bb31736128f01ad8943332875cb57afc8a73ff37999db779820c721593f691ebca87af01cbaed9a84074b46110cac85ea6733e311d1c8d784295b96abcbabb2bcbc22c38e56870045ea675e387346eebafbf5a48523b8efd49f916ab5269d5ea8876a8195f0808aa336868137cdb5ab5539ffe26519654a0ccc4d6a3398d60baa2b8cf03cad96a09d32b3b05f3ad072079c194ebdfd1e019c5087bcaa4966bb5993eee6bac407f651563e9b02f0bb2797cf9f959cde2a8c33280ba3f7d14b0706fa4cb2f238d153b18a783034d9725d34042323084303058917462fa0363330ea7ae56813da1f1aa00112f7dc7ec9e5737ce6905927bd7738b46b8fcc11d877eecad44f41afd04f39b6d5c8eda590eb2e721d4726e9b125947168e3ba6e7728dd2c80b601d70b867760d2b55a2d79fec4f332e8b6a5555d97017455e2aeaebf2e4dfff0bc41c93eb05434a3cea2b154d07d4a3b66ddee28d8be1f0a9b721978a76929962b5c0f08c41885743be63c9eacfb7da52959dda8caf266d5462569eb8ee0fa11684003ce441d767710e6a05e1c6b52525d5f95a17ec7bb6fbf830115b8198a106a50c3f7e6f88e961a7d0aa4edd2e5238e5a22c76c2b6bf2bd386fe054005c6f3efa5a9abc41d515fe286bdb0dc94d97a4a2c956439319027551c46942b6d5da91a337df2237df739b9c7aec395d5f53f6be0ee88db3e9c0c159fa1405d9a24c4fe3ef3541d6cfda69d5096c4782d4689ace883f696ce926ed14488c2cc922bb05e723b029aecb59d1359dca4482b81b8e022669c0a9f534d1abcc94647d7953ce9e3e2525fd7c2490c0cbe0bd219ae70fbaec1e1fb8f376dd0729693df6a46475b91eddb75f13d2ba4c7979f3cf421aa2e7d3dcc2ac74f47bd71b2376fee89305914e901dc2e43b07ec84753ab5b1ef16c7672303902716ac393d2bb0efc25e57fee48ffe9b3cf9d42372fcb127d00c92cdb596160f797db3bee48bfa0c3bbe5e4747aa9b10150cf4dc30ea3f3a6a998c995c0e419690945bff11891ca09513c303756a5d07247584066027989d85fa88e7390445a3d83a298173a547e715be4f4826c102aad5474cc45f4d4c5e616282966412d887c3e138fb4f5a8663568eeb9a84ce3f01871f1e067e3e622b389244b5f2e5e8c8934ca0a4ed0c2d116c04f3d898b00f4f3029227b940d279944d450f176a5e4edf7b6e0acfd3772580e8ffe36c975b022721d13fc0cc611fc9930963d1201bee921e03585529e4a96bfffe1dfa56f4fa958915b6fb953def18e77496da7c60099c8a38b6bb10f99570546aa4dd46813c54c3f1e0f6e1244fd2ed6d427cb6317486a5454fc55e0a4d72faf5d936dfddc9b8f1c93b5ad1579e24f1f9395350dda9a65cccee6a4389dd72013c9eafa35f9ec672ec99b5ef70679db3bbe43f27a58e7fd81148290993f64a529e30fd056ece6adb1754a1078f1f950a6f4ddb3e5f3476b569fffecdc82bcf635b74b65b6689e3298676772142532ba21849c1665763a4b3c09477f5138d662202f892c96a1dc7ad382e4c2963cf2857bb57a1c7046fbf88ba76565b3c17629e8bf0061d6eb6dfa21dd74cb41b29146c3c1f81ec25caf7860bf1ee0539c47833110bbea07d5d4f454d9e6d6c035693905bccb8855594aae2d57a91c393b5592823e9bfda582f434e0efb41b32584f8ba7553a2a43a0f8f1449bd0a328e6492df4345182b8165cb4c7b4dad8ba10e3f52a56554a68092044aef2c04000d18f9630d919321eb1a01a6db6f5da72c1ee80cf097ec563fd99d84645e1784aea9c5ee331532c363119474d370343834e4463e13d710053ec173c1f7a258583312d1f2c9f561ddd0bb02166a5ac9575ae5896edf680d734d4fb72fef2aa0c7211418481033d709c978081b9cf72643c004782a420a5ef0730f2cccc1429ade89420280cf4b9640f4c4956832484b2103c8b7ad78b1a5cf566b10d0f07def5f50d0d6c6d8e00311acc65cc9b055d20f8b260fcf2e8e73ea389494deebcb922e7af9dd7a596e6286318fb6e3c6a628678b626dd6f320408a438fe7a3d6bf777742d45fa3d8398c82d3973f60cad1100c8dfda69c86ab52ef9d7dd2eb72e2e4a77bb2e7ea36532fb7a3fcb7a4dc54a892aabcf3efa8406e8818db01d3e012091f9fd48be331c0594f343696b611564f2d28eb6647a7e56aeadacc88ffce88fcbcffeeccfc9f77ddf7b647d6d6dcc5cc3f38d1c46ca0b32aea6f2c6a67da8f607e81a656ceda0631da786b459281632522c95a49edaa1981992be51d835af1e2dfc4007078ba83c5d66e7888693601561cea8efd9aeed5045278cec3c472273ee4c870c2f7476a2d81fd3e123fc6ca144bc0a70391d2d9c4674bf76d206e86efb81a3e09a07d1bc267bfbe6a6657d75597ef7f77e4bf62dcdc82db71ed6c4a7c73d36bb90d575d9a6006751cf836e7b28854c817471ec211bcb794c2446a101b2b16770def96e52803543fdadac8d1e099886f22ecfac88c52d45d51cb667440906b10e2092f9519fa31f7408a368308e1daf2626af00f49a240c9300ba442026bacee7e57aa02c1e9805febe0ba9c1d8d5718cfd7889f1d164472691188fe96b3264a2c3ea27b06cd64b16b4ecfadc4c7e8f24514a463a897c3e45930233418b0d0bc62c3ee9682427b8bf07f46b551c668a71a229e1360b018dfa3f6c50085e9d7cfe4539f9cc8bfcfc9b6ebe59ab1b4d506ebd8d490779fe62caab48b812320bbac01e98040ec487c0139a718519d72130448ed29f324a30200f70f744d5080c096de5534091cfc9238f3d2a1ffac81f6a85734937e92d7a50a4e4ec99d3e26b102be901b8b373596667e6646d7d85fe1b70351df6b6b592abcaeca19b65ebca09b972ea6979eb9bdf240b50dcd56f300787540d14a8d2c294618daadb559a5a1d3a728bd4b6d6591d8a4b5833e9bc03248a2ce977c2b5b768caa58740bb67f722c6b4a2a787d98033dca1130ab303d59c84875a31cd64447ee2fdef935b0f2e6a925795ac97619bf6e8e1c3f2a7fff75fc8d5ab5764667656deff7def93393df8cfae55f5da56253d5b9179bd2f04cd42df460f685f0f23fa9e78f0766ad9c1a8df11159f01da8cb5d1d564ebbe2fdf2bfbf61d957beebe5b1e7bfc7e069cd97259de78f75db2b4b8a4875c4bd23345d3b4d4efde71da3d793dc08ae559adca7d37ef874057df142eb13e6924694b8de87d1e8e5a6d01a95f9a9740cfe2c2be829c7ae6294d1abf20cd4657c28c6781414c030407370ec9619831ba71903824efee516a5f8416dc70dfd9ada3a64de89213179a1cbb0d73fdc8b958ef4abe9b291ade0bba29b97c46a66672c48ec41c3fe5c44be728cd7df5ea55a937075227f62b22fec643a2a4816a7bbac9c47d7e7186caa69dee9081bd54f2c72327820f87a65d614c0cd36289a0fda3cfacb153975edf3c86defadfbd46eebcf50ef99bcf7e5e569697250f39f14a45a6b440e8eb75dd72fb31a9548af295471e95eac69a2c6facebcfbc51bef3dbdea16b48832534928003a92f4bb8715ad77f24cd3a0cd99658b583104d1d0d266529ae7bc4c884ca3c0dcd113d97cac5021541afadadcbf1a79e632202d60dd623e4e653c0ad60b4d0e94b79768eba3739ac31adcce73511e6ded60f2c6ab2fd863b6e9387f72f48a3da902937eaa178997ede54519336fd5ef05ae9f7da9a7c1539ca80c6869f6a4aa3569733e7ce73dfec5fdacf6bc479890e4e4c5c97c926c0dc1100dcface36ef755e936774b847c3a6e0729bfd86c400c71347319413cf847a2fef94b9f92999d2a4fcda955563bf0401bb265bf51d992e2eb2718d3d54d284a4acdf75796d4b5a83ae54f45c445d3a18dabaef6b4c589c9fd667b2caee64365be2774301d11eb9428dd81ebbd7690086417e47573e93a258e7eaea068b2e2a581f3d24fb4a6929e81a9b9ecbc9254d2e0f1d9c959b6e9dd3d7d4a5a58543afaffb458b301f146558371471ce0464600273d81b0e8dfacd2e92ef3ae643ee4dd28371e6fa76de43de02c94b3834e801bce022471144578563fe0c7e26268e04f102ddc29c9e09108cf39c30e6b8087e3531f9c6ff61f098e8384ccad3cb7560ab3d231fb116b105197fcc3ba774d3445272bd21de0d20591ef921bb0dd8f045cc7475b304bab907bd21db7a811f4cc8b8df08d6dd9b340935108c46e9d1f913e5adb5912d6180a6861724623f23e23f06fdaee915e8a2e64c3d7600b33835feac417bc4c558048f9e0123942b172fcaafffc77f273ffe81ff5edef8966f93693d145e78fe3939bc7f5132fa3afa9d421c2b8dc00629f7b45697116de5a926a99f3733b320390d2ca8e0311a824811daeb73e5a29c3b7746e6b4a2442b72656d594e9f3e2d172f5f918f7de2a35a415d927c3990f367ce73463b373f432fdf48ab986d0da0eb7a90828a878d5acca7a5dd6bc9f1471fd643ea494af083c2f8f0e61579e1bbdf2d6f7ecbb7cbb9171e97c3371d227074bbde9699e939f9c4673e257ff6e77f2e3ff6c31f90ef78fbb7c9013d1077b636f53db332ecfaf417397c64bfccec5be43d2b743aac2ece9dbd686ed333b392eef6390a0b3d679b91889045d6220715f1e0c1fdd2edc572fc850bacd602c951bb83ed700d484bfb0ec9a656660f3ef465ea313c7772592e2dafc8be7b34a3d1fb14454997224de1bf81263bdd7eccf11b2a6cdcd34b672ec9c1034bec9c406cea9127be2ceb9b5bd407818e43a35595c6f6405675d7aeef6cc8dbbfeddb25ebebb3a6a3a9bea73e3fccec5340efe4525af915a867321ac4ec9420396102c00e599a00533f511fd5ff67d2b1fcc9473f259fb9ef2b52afb7e4f0d17979fb6b8e50cf04eead04f1039341a607ba2001e9cfc3c82ce591b4c4aed51d8543872931a12fb69da3d18408da2e48da73d5ac779d59e5785f3ae3337e574d48bffca58735404d9b1019ace6c380b88c4e7b871da8d3e7cec9ccc2ac6337e4759fc632335792190d42d756b7e4e9175ee4b9d0699b695ba19861470401c277e0ea62bec0ae474f936e24fc73f91241990f3df4a8f4ba60fd3465b15c92630b4b52d20475ae5c91c57c85aca27e5c972fe93a3e75e192bcfdadaf93c74f5e92674e2d8b669172e2e445f9e4671fd72abe2eef7bcf3be5fbbfeb56f9def7bd4e06cda372add99767cffeb55cac6a52959fd6e7d893194d6a41c16f3521be56208e2b0c7b9aa49788c94a7966d689fb0c0a75797a56222f2d3524c25b0d9e2118a3b575cdcdeb1e3838bf5fb62e9c97b43ecc030716c9e2e27dd6f5f8a54f3f4a307f26ec4bce4bb90249abed615bcad9b2e4633d2fd21de93677e4b9b32758d1cfcdeed7fb38947a6383f7be5cc9caf1e35f969b8fcc5289183455a4b240d3e01c43a2f5e5871e909595aafcc31ffa0774787fe4f857e4c5b34f8a3fda90ee56ccf12e037ecacef08b279f97cdd5ab72cb1db7cb949e21ddee269368cf3315587617fa7de9d76b7269f58afedd4813f4800ab2187d6db7a1e951d00424cf1162b110c8cdc70e4b756b43d7b6c7622e0c07dc67c0227a4e12c294807becac309e38b431b01ac0fca15b824ec6281acafcc2bc26c455a9d6d7755febb9bb5c95b2563391eea9cdf550930233ec6bb66087aef7175d7fa85c23e11944fc5ea046f0dc8efbec74b0538b4e93376221401a7342b7d7bd0b191d1225d809b6d70c9dc01c5480718601600cd06b06f1266d9a2ec92e33efab5713935734ca792920ecf5e39797f2ceb91e8b72c361f73580b7e304c87736629e38611bcd3c339e691680b9111bb23ec545f4f2ef1d27942f07860cdd2f339d33fd137c1e16e7c88d8044129133e7642bfe58a4ca7415cc04908c102c5a24368e5180ff0d1dbbe1fefb1fd08dd395d2f43ed9d20db9b672458ac5927475134e95e764e5e4054917f2529a32d439be07e99fad9edcffc0673528ea86d1ef536b34a4bab623e5a98adcbc3f237ff9171fe138e51fbcff07e5f77fff4372eacc69595f6d8a1651ba59a7f175f47e0117d0d7c3a2cf993dbb48302f03689414bd88818ec9a36e9e6ebb4f4bf79c56511bab9bf2abbffaabf2f0835f9407be78bf7cd77bdfc56ed3affeeaff291ffce007e577ffe0f7e59a56ab17ce5e92f77ce7bbe517fff52fcae16377c873cf3e25fffed77fcbd84f9ad4ad42f305c7a31ebcd30b0bd2d520bdd3da91b456b4d4b4e9f7d82d214ec90f26124b5d637a2faf5435a03d7d4203d240377909dc2aea60ec5f9a92d9a93c25cbdff2fabba5bebd2d9ffac47d521f9424f0caa635e2b42b123f903cb04ac07e647dca51e72a5a655dadc9a95327285b8db155b7af95f9a029054d84dbadae9cd54a14eb63662e659a38bd8e3cf9f41372f3e19bf5102aebd15f90b58d6599d1aaf2cedbeed2b593a18cb966c1b2f9f96724ee6a00ab58d51fc5e67e0a45dc184976906225b5b6de94f3179fd720d3d4ebce69208a65ff2ffc0f1ad0a674b1c11421cf640df7094670a14b18124343a3a3e3fd067be4da132cd6e45e8dae63a07b1300e6449766f7e7652c0f009cc6238f3c2ecd469fe34d715d51ac9537bcee1ea9542a1c05351b757d6d816bb31eb634b9c8cb56ad2b572e55e5e2852d2a3de3fe20f01c3c7054f675477a8f2f1000fceeb7bf4972a982d4817fd2fd53d4ea3b0635b53994aded4ddd0739d2c7effbe271f9d243c725ab7b0140567f6049d8e291c3ace0772eafcbc5b975d9d29fab69e55cd28af5bcaec3f6d3e7999cbfedadaf974b972fc8a92730be2989af41fd8e7b6e91f30f9ed2ea7b40512f74bd70dd5bd50deadf70af68029f3bb44f5ef3da3bb55a1ef09e42b7a2f5d873fafc36b4e02830b88dfa867f4390837d41b9e0cb4c3927ad7a976387271e7b40ce9e3dcbb3a7a989e8ce56558b839054ed857db7492ad040aeef0163f5516e28c5a99cec6cd7e4a9a79f91cded1d761556ae6e9aa09e1b8322a4fcd187ff40eebbf793ec94bef39def91ffe97ffc298245f1bc1e7ffcb8fcb39ffee7d2d1a2e3f127be220b1ad09f7afa2939a5054da554a618215888f84e43e7e40b0b90fe4e539e7df8b88d2541e7c5dfa7305eefcbc5179e92e1a103b2a9f7e8f9e79ea7c37b65faa0dc72f898be5744b97730a51674df0f3569b869e9267ae064751f376bdb5a146c1127221182bc167edd919d095ac4f4750d644b39623580d188c18a828c04b44df4bd905464f4cf9db0a6679e19c4fa816172863d5f7a6d5f3a7a7606d3057d1dceef2145f3a0d949cb8620203901c5264798aedb8beebcc73165e0348b9c6968e4c95e33d578cc8632d55b2b72f167e011190f1d53b4d71dda3e0ce397907f783531f9a69395ebc72dc9af8409134d38555edfb9f8c61323677786b9e2c8463aa4eb78366a49030b10b8d153fcf26a7a1ce70496ed12df30e1f5836034a22478e2b3208eea6c624d63f098178d139378ac1360ad5e8e9cd0ee1d99e5360e247407a0bd70e1c245b628738529dd282d19769a522a4ec90f7edffb347328caef7fea3eb9f59683f281f7bf97b2c8b85b39dd60554d287ef3f73e2257b7fa5afd94f54b74a5908120971e605a19ae2e5f96ab57d1a6be26e73539d8d2e0969d4ef37bb521154d01a8484abab94174411009a8a8e9943047a6a3e23bbd01543961627306f0e66c514e9d78414e3df7827ecd94fcf6873e4cdd8a23476f655277f2c5b372ecf62372ebcdb7c8ddf7dc231b1bebbc079ffbe217e5b993a7644a2be11d3d7c440cb0882a3bc815f4da4b3c8cd1eaa433b11e184367adce24d16d6ecebb759b74d85b0728352f7e2e6f8ed5c3861cd17bb6a4c1f0ecf9f3325dca6a857b502e5f795ebaa38cd3cddfc55944ce4595e310b08634a0a1ad9e2ea635189dd1ca3dadc9dc3eb97ae5aabc70ea8c1ede7daa8ca20a6fb73a7ad8e67878a1db86c4734783efceb3cfc9a256c2f3f3fb64ad7a4af2c5fd72db6defd6f72f30710af4f03e77f89a56c627283c35e862c491e1a1ee073987ef880d08d78fe4a6fd87a47f00d8235d7b1a0c9697d7c5cb023c9e65808823639de1f37dc76ab2c03462029141451904bb876622f97fc398d49349f872207bd57ae3890221c123b06d0d49f57c8e1d3168742011180c01821c50cefceae58b6c8513208dae8d136bc36b47f186a4f31d99caccd21ea13fac11c019c73b52afc12071408a7bb7d7d680b6406c4806a2797acff24b694d547a72a854d424a722e71b03a981f9576b49a0fba5a9cfb7adbfaf68c05a3a76440ae5a26ce8e737ab3529e52ad22b08c75745cdd83345dcb72d8e119e78f4a2fcf9c71f95e9d9db245feef32c81760f985781630ae5f265d97fe000a5d5814b88c22999992a117f01bd0ad37f19c9bec58adc7de7510d901549e562b27f9af5a6bc70f2a40c3a3b52db8ae5d2f953f2c233cf6a92fdb8162adb0ef83ca47819ba0bc8f506c358b6b7ae4aae5bd36b9d92294d74405d7fe8f8837a8d355ddf6b5447f668fa686ed54efd8dde3138df96575664f9ca8a5ed79cdc7bdfe7e4eaa56b1a6c7b72facc4902fc313afcf89fff959d5d7a6fb2f90245c3904801d304f073366b8927c80ca48ae34c18e07cf3cc2cb3ec49a3a645d6b56bb2b67c957ba3944b6bd00fa5a69f5f2de8fa9ec28d474747d771d0d4f7cecbfccceb6473f392268b67255bc40aa86b24ac48b1b028d95e46da4d63e5cd54f2b27fdfbc164afa7cf5ba8f1d3d2a37df7e13f12237ddb2a4c5485b8bb748bf7b479e78f6cb325599937d4bf3d26e5fe2ba6c354ccbaa98cb710d79e990892e929908dd69a8078709c6c5e3981a60f9440e03f4e5888986c9dc63148cfd87a4873102ef35b2b8e38f0be38820e44c9466b70cb100206cb048f1da5d51d02e9975af2626df045df8a59838c97c8cb2d11378931b1461277e9ffc4cd20e7bb9a424496a76c744def8a04d407c98bd22d84d26402f97989829ad753d8ca616ef8a484dd06e532ec9f09df6888dabfc1b44e6260f7b1c60966d9be4f590fcf61ee7a18952e4eacab2fee0bae9a6686252ccefc8d34f3d2127cf9d922f1e7f404e5f9a974b679e9143fb0fcadffb3bdf2533fb1748d13ba49587e8a1395d9c662577eef497f42038a71bb0cf437f7abe244f6be2e0eb66c86875898d4761eeb06f0c869490763824e579442607991dce52dd5eeb4091915992039381a007df96a21ec2d1c85c73711d9080fed7bff84bf2533ff53fcb9d77dfa687e8b63cf8a52fc9fea5251ed4a06afece7ffd1da956dbf2dddfffbd92eee5a5db1c90325cd4800a00590e63397def72266feeab193d88e6f7ebadea4aae016d90a25b2b210d0947bd81565b31e7cce9e1b61ec8d8f46d79ecf8aa2c688277fed2450a3abdfdeddf21070ecccb60ad25f5fe802d69ca9c17d25a6def4837d396f2c103f4b9a117493a9607be7cbfacaeae92fe79fefc55d2f9803fa96df71d7b21cd8a0d4b05603d88af810531407207f4b206d4cded93b27430238dd68a7cf4e31fd6207593dc7ce436b9e9f06dfa7d8af2c86397f47e0614f90335176d762ec5c0823b0ead5231cd1401eece7db085b2b156930356965a233231078d92d4670cfb9ca91f344642b717c6c6804e0b24768c1a7f42f5d4332743995cf532b19659d58dcc52c2ece323823fd136a73580be7666a66c8c055df78dad1d8e8e1af52dd9aaae88af6b16ba1029ee4dc3be6c6c2c4ba3794106a3ab92891b040e56d7d7f9d18dea1a13d14a798e12eb2f9c7c5296f669409ec94b2a3276dcbdf7de2f79bddd3ff2ae6f9761bd2ed5e3cfca9adea7694d707d8c60e1585eced32b69f9ca79e9a22b588016465fd74e9de68a9ae161e76950196aa2d0d56a7a4783be56f7fb662433e56b625a2493231a55f5f58153a70d65492bfda585799ad0e11ea1b80788badd6910308a4056abf734008de40d6f3ca6d79fd5a4754b4e3c795c3656d764736b8b77f5f4a975b9a88941a7d966628de4ced69acf3dd31f9812767126c72e70a7b3a1dfa12785d20cc726cf9f38c1bf072d1b4112f337d095599d431dd99d551cafa033ea8de4c107bf280f3ff4b0e4f4996c6d6f494f938f7c0914675d576588dca56911824e86e79b73b4597d683299cbf159e73519a4ff53dbb49a608380915e3834a0683657d267dba33a2d1da8718e68d2b8b27c49131753561de975343539487b038ec2aa3b97a41d2eeb5eb6ef92ae6832b6dd916137a3df3f47b240b17098e3cdcd568dcf0149c3858b27e5b913cf6b62364357e35befc84837822c7e5e9e7be12c757266e6b2b25d05683fd0671a907e8c518b899e4514bb4c0779763d91c451ee41f7203a732c444c5fd864fb018445924d83e0980ed4ecaa0f07635d9f44a72ba3fb1ab1cdfca4622732694405f17ca7413a39617815fcfa2d49522601b14972912411095327714e7ca991cdcbfdb71beccaaf773d955db0691cef8e86c662422e51984c16ae4f74765d37a35d764e2463fc41a2423b162c83b81a25d0cd612ff05337245cbbd794482b3a3d5bcf6899249445460d465b321175f263f306f9955ffb651eca87f6ef93cb5b97e5affff03979fd9b5e2747f4cfb7dcfcdd922f68e0d603a6e037f4b06cc846b52acb974f49472bb1b41e50009b51555cab18982156a08eaa193b1e55315f74150fdaca434771f339aa09c45436234a401af0169732687774f305dcbc1e13ac010f5eaa69ea69076017120088577df0377e4766e70c103bbf38cb96f0f9f317e45def7eb7bcf52d6f91d5b50d595fbd2687960ecbb1d7de2c5b8d0d79e4f8c372f5e2737ae8e4f5bd23da8c032d1f8f3af2d14f7bb27e795d2eafafc89bdff6361e7e596031b4e24aeba194ca6b15b4be2aabe7cf9b9f8f260cdb3b5b92d720b1b0b0a841afaf01ec3e3972f39dd26f6eea332811f877e2852769d6067a74ffe09c944a31eff9ec5c419e3afea41c7ffcb8fefc015959d990ed7a4b836e8514c10832eb02c3b8ae94a7b29cbd032099d6678b6bd6e3490e1d58e0bfa18a59859e862e15740efa9d537a4f8ecb7bbfebbbe4ecb917f5cf75ad4cf5d940cd548363558363b1d4d4a09d9572791f19278da82db11ed441042062cfb055d0c2c0a13a1a486fe0f139a0121b601f2009d1f7992ee764aa5cd00abccd0398c0d7c9448353c84442dcdf15f34bcc20e973e3d86e4e2f871e33b1f93941d1b44fc7569f0c84940626611704066dbaef4773ecd80c061d01cc72d86d92e20c6071a150d3753992eae50d0d821a4883984ac4f51d7ded50034abe405c4147d755a7b946e3cef367cec8e6da9abcf18d6fd2e4eea02c1d38261b57aa72cf6245036e4fd683962c1e2ecbf2c586ec740654a14da8cc230f9dc1c8ccf7fa1ec5bbe8e30451430fda424d0941bb0e8b4c2c7dadfa2b9adca4395ac8c9306868bc07e5569345b131e08caed5ce106ba04459f8e56b17e4a12f3fcca417c073dc43d2412300798b1c67351a0db974e9b2de1b0d58b9b475934361f2016f2673e01e3001008b05c676a982a9e1e6f33e45e5d269f3006b37ab7c5a694de2bdaca9bb42500fc5068a0724a6865bf22d998a0376737036d4771a6c3083fa4cd9fd62cee41628a59021cb91675e645d03f3a1b1f5007a3402af3ff408d407e6c7c68243d2c4a3d04cfc60c899a541e190ecac189e57d26721d32550596821e0052113a307bf74af94e6032adf6eaeeade8ef2baeed1a130a986ed9aee8dfc0c8dfffee22ffe94d8b862a122672e9e96ab572ee91eea4865b6411240a33f2dcf3cb1a989c6b426b215769b0ba30c9f453aeb937e1c12f4eef3ccc8eb998804bfd7ef10b80d2c08cd959db71046a4a45b3ba2049986b8d621a4f085aab4543f0e6c4487e4bfd7ef724c83d7e0c192deeff6171475e3b13b7be434b7a2eb89a4af2626df4c7292ccdf12564d9204247f3799c02438931b44d55ec1f86892ea3b2971ff8d308c8c9533f97d1c01d74b5ade81f3ed4864848d2b0fed0a8a31811134da65294c26595fadd3644ab636ef6476ec19b80fa30e80de20cc03ca25bd642023aec1086dd5abcb67e5b77fef376461ff941e84735a6d5e966bab5ac9f77764737d4dfa6dbd1ec94ba0dfa7d7ee9afa24ccd3f4e018f6873c88d08e1d74acbaa5668b1e46994c4c00310092047d41380c3438477b04fdd6a32890fe3d859bd2e38e58e8e21add6ef5102914b36c77a20d3d3b374bb3b1175f3cc3118d196d7972edda158a2fbdf58db7d168eea9a79e614728952bcb194d006667f3b2593f2bbda64f20f3c30f3da0af037b2196071e7e58939b37731d4193e3f63bde2450951869801f11b4868e594f16f4b3a18f02102fc605d0a06834b7f5fb34446f875cbaf08254d7cee9c158d6efb2241b9b7d4da01e9677bcfded72eaec73f2c5071ed68b4acba2263648c6fc6bab4cead0e80a4897d70334ca192b640481cb1c0f46b471e7160a1a98b5b26d8ff410ed3399416b1ed536742cea3b75f9ab4f7c8c4c8699d98aecd4ba04cae6b2a0f97648dfc43dac37b6a55c9991fdd3b751bc09156498325f299b511b251d145b801713c02a84a93c6871442d0d786dd380e198331a3b0927ad638f1a34968878890b757483cee17867ed32f1c4813b4d9b069dc3d8b1a7505d228102cb6bf9aaaecb3e583bd37a3f9665a00900d656a3e9d17309189a58ef63c6cfc9c8ef32e9cc670c708e4a5bbc94ebb65a3b1cf2dd9fbff77efd395fdef77d3f206f7bf3dd32a781bba3eb7a667a5e8a1b2df1dbabe26b623474e681a66d04fd91bca39382650b0d181bd77af190de39063c8e9998405c97da1ae8107a11d913693e9f16cf0148b1e3fad09af732912c2f9f962f7de98b72edcab22514a0c645fcfa3c6336ae6ddafdd3040218b2c8c926a02b118719de43c3af459a98dafe0200380bcd15c8c2ebfa1d0e7c7ac660fff5ba763e607437049dd70f38624995b256e08c3bd031d7ea408c168c65409b0b9cc381ef8a2f7bbac09a4020ada349023e9fc927b55812dd28a1dd021260a82af35e5ed729c6b34da8c8505b4612e445660e4a9f64a7de8cc48bdd8e94c92dd45b3de96c6dcb62aaa8e7405ebf764b0b21d3cec139e67b19ba787fcff77c0f0bc3cfdff7374c64bbddb69e1121c7446f7cc7ad32bf1f80e2754d98d21276b34ce4a6e70c6352afc532359d25fb67677dc0053e370baf9f21932d4cced089c57d20bb32345c4d624b61fb25201bb2ab4920ee8b6995a0433a9ad095f238ee4132882465d80b09d69fdc3f09e122f12a8affbf9c8dfc6d4c4c92aec85e3d90dd6e06db572f812dd943fdfd3ac1af93ec9a1be8c3dfc07b4c7efea4c5bc8cb54c9ce99567cc21bbbe247131653ef0d5d1cfc6214c1efd6837404f2664c9b5efc1d278c9e8c8e68f6c853b8b773ff4398b44bf1095e7ce4e8d32d9b3e50ac1a2cf9f3e2b3fff0bff2bbb1b2beb352d82869a84b4a0404483a9e1c8b46100fc62051439dcc0c8b033f6dd13b55c8f074d44f1a2c4cf2672ad6adf3451e8591313500cc12ad0058155c0d7070e24a2e367605e2be12e130b981f3009e02981eb2b974a3c601e78e0014ebcdff29adbe5eae517e5b3f7dfab09564d13af3c3b35d3537982c4ba9a88e0c0a1c95c3e23070ede24dd860670ad682e5d392b3bf52d7d2e05595eabf13e0ebbdba4e2e26029ebbd3a72d34d52ad6ecae6e6269340b843375a5b6cdfc7fdba2c6ff648abd53fe881d59416cc09d34579e6c4693977e61485a450a53ef6f8e3f2eef7bc930ea28f3ef20cdbba1031cb5760f56e466a65ad86310683ba6c653aa3c910c0c903bd86a1b317f069508704209d3126011242b026e003022f9674be407c452a76da3eb08daf6debf3dfd6efd790a3c75e27b9a9697a8f68a4dac52f45a6a60cfc9ee989c44c56f073af7bef7768825692f397b7b56a74d0d638763812df31e18c329a18da990097ebee45012b6471ec12bec84b7e6f9896d0adef44fb079461048193c0e2b49a141ac3bdc168201c79acee35a3238d1dd53aae15cc26ca71eb75943076c99664ab5a734253b11368b43599c91a55b5df09e5f8a3c7e59def1069d50379747959eeb9e776897329ae6108f646ded0c902448e35874a3f24b601acba5cc1409a195d37200a812185f7868ecd287652fcfab315009d1dd3c24c46fb54639eae546465eb927ce48ffe5836d6d6353ef9743906a015f72f57c83120e13e650b29d7293575612a83fa29de3ffad9f8784dac6bb7c84287f7154eb571e846728631c133f122f3ece17bfb365a1b3acd170242356903c60e14ec880e21a60fc37d3f72a28ef4abb2bd6d9618d6198e1ceb469cfa2f468449120c961e7a8564bc389649ec92e15812e856cc642972aee4436a4da5382ea6085edafcc10297f5c240b5dd1c1274bf78a4c0b558ddec9a03b43f229815455375a329b7df768b345b7539f9e20b8e2e9ea23581e8b359bc695e2af3be9c3daf89a15fd4f312a6918110add40cd891cae447a4b37ba99ceefd369dd1b3794d10dbc6e08c03193b957bbe25296931d0aa732e61d241a979166476ff623c03dfae0d7babd71db8c2dc6312398843e7e8ec5d272961297f14d90435ba8e89fa6a62f22dea9c4c260dd7eb914c6a9e5cdff1f87a1fc40d5d87eb68bfaf20ad1a83208dc2ec9bb536c0840ec0e6393c03193690d277fa09f198738eb9699a494ce836f1e478eafa442dc1ab5872103a00afb50653be898881220c6094538966008dbb9e1e744572f49797d704054701203238db0eb163529cd91af54fd8c2366ab330902698995dcb7a196bb35017640cecf5c7153565fca1c81a981b330e42b46e419383774d9e26769690408134e6771db21ac2e7604482200cf1ab4b97afc9a58bd724a507745e83cb634f3d26edaf742482e333e89f1aa0f3c188a391e100872f66b96d9999c9cb404fd795e56b522954b49acc69b2d394b9b95922f59f7eea51a9a0724547679862f002c3e7d2850bc4f1a0638260d36ed765a4c902ec063c760d523c68e13bb2bdbda38756ced66304f64391c0b60e3b2022dbd56db67a1716a6a4d9e8b0926fd45bc604d34084cbef349b323d9395622566e7a6d7f134f1e8c9d2d2a22609186144924765cfb10e288929e9c423b68cf39a00510ba7d7b3d6bc1e9c68701534bae2fbd534b95a0fceca6d77dec5f6f2d6a8c58a1df2e0485ed14dc2da65c5ec81f9d290438b53f23d7fefefcad933e73418ebf78718d460607e44718f8052a1860a1808484c42670aeb33098d3461c3a3190c4dab1e1a0d125a729b88b121d8f300877e779ca5953ca8c7cb2b6b72e1fc456936b7e4f0a103fae7cb141b032ea9adc91a953af5fbb6db03b6b4539aa8a43461cbc639769c7ce23552fcbd5949c40eeb824addf4826015d0d16af9cb0f7d59b66b759a339ebe7a89cfbb0140630e0aaa3d622ee8caab09d1595d13c5628563a16e7f4534566a62b921e5cab4011a3d0b32dbad651974334c50e61716a4d1d89673972f6b10dda2922d583e3e0cfb34b139f3e869d9ded896ac9703e19ec928be27b022a4e3a2780912bf9dc8f61a8b02032a2370f9e9119f5d9036a569508811fc73ba5ed8b540f50dbab9ef9c7623c30d61efe375996c96f202d8f3a0f3f3fa86a6a88bc08940c93142e44de83f7a0e0b988cba43a3e48add67eada0094199907943f2e346dc4e3b9732c8e763dbaa8e0eaa5d8151d3ba4936d12d28c125e43bd6e8f74f10cbdac628e6d01d00535bcdb18b2f84ae7b42828a68989d9da6889a7c954460fc9f317cecb9993679997430a008ca79c3e57d0e2976e9a92f5b5ba34b74bb253ed4bfef5be1cbb6346cf819aac5e19f0f9566652a4d82f9fdb91838767f4673372eedc9a14b2fa5e01b46106f461439e812e330e5963b199f26ba2624efd1f60c03276de85435356f29c319f38f55c606d5048e1ecc5c80a23be81636b25984533548c5da7d3ba43af764cbe054c9c30dc6d51257e322f9540bcd4c8e6e500b15f0b73f2529d97af97ce9c604076414ae64d92c97a621099a1131e824a5fb2703cfa98a07dc9715460490d36aae94ea47958985055f492e0e0bdd7b1fb6f1a02a27b830a3e801814ba07d63e65e253ca998c71460f701950c02a932bf23adaad1e6deea3a46d8bd6a367adc794980f90c9dc07e34c7d32638fc5db23703776e514a3d14221155573d81f380b81142b292620705d1e792e99335a74ecb00861646d4e3f36532b1cb2997c8660c442b9204dfd3b3f03f06b9f557565aa42702ddac87d8dcf95f2bca4cb596935eaecbc40fdb51bc3bc2c45243bc0bd6013c0588fe2675a3d79233373c401ddd00400412f4305c790878ec185c02e4af179322093ed6394c344f917be40237a170d35f128c80bcf9fd6ca2d4bdc43a3d126851a4182cfd903dabe27738b25fd2e3068d360d8171e4a25289c56dbc41b14a06d018548adba9b28cf7dc370e4f2661009201e3007ad5643b61b5d5751fb34ff8285c1c6c635bd4fdb7aa01e92fea82bb5fa86144a68bdd769a28636741b9538ad0fbbf223fff007a53c53d17c015e35be0c3588c7785e002dea7b16330181cb81af01c3d30339eab38b920a86544f15bfa7c9159ef92c9f4b0634510afa150cb6000b7bb8400721f125abab6bb251dd64805d595995adad2d5e5fb301bab7a9757a4eb178e0e8bb608e0c603c88435b93148878e1fe77e8846ceab1c02fe08849ac03ec21fa6c4fd63501abd7c5e4f6f5dead5d5d33d69b5e339a883edd884306df1400c39afcb65bdb4c486bb5a1b372d03dd458252e83be2bfaeb773efc9b520af272f73d77cb666b539e7ce2b8aeaf3e478dfd38238734d93a76785eee7fe85ef9d45f7f4a0a502b1e458e19681450ab5b4c7edc8b93ae83ebbeba0e93753c343905181778944e64fa2f23039f0b45d272d4b8c0f542888fc04bee53a398626c048693a9df6978e458634405db345594072644c7fcd2e3d8212673d1cc30f16c916887eefbc352838292984ee04ea782b1abf36ee7db9d1b91fd3e486c3ac04c4b9b081aee6dc64f8d3d97c05a1c817e3b323f2c242502ec450cd07bc40e0668d095fcb4b47b5a44a423f3f1d1f325ee459624e8fb670b3ebf7b08597c144043ba5ceafeedea59d1a2864f2e3fe4eba15902c078692e926918768619a9ae6fc8b013683259e35a4a79500eeee91ae81ac8df73cec5128e63993dd7a4ab64067c18551bd9c33caed86904030addc6d83483c6a0e3748ae33f32461d8b13dd15c6a291897a5ac7291e13475e4d4cbe496af024b874b24bf0b592839703b8be1200eed7d37d89c68b4dc8043129fb3e5bae3cbcd211f9e8ad76972245014071a181ff6c263a41958cc4d509c65c88c71d90afce58baa159e3805009a0aadf471596732aa07d766710744191235304826785a264607c1803683960ebd0732c22244604a58ddce828911d1f8b93dd380a4b34415e7244e79b44399295d081087d5fc6604820f6636b52904d910a2c15b2ed1bf18042359d2f6629738fa055afb356902228966885e670cf8d620afa343e07bfb6a1e28a808bc2decfcaccdc9cecd477e8fa0c6c495f83dbd6569df6f63c189034f910996b19c86f4299982eb15ab121a130b75a73a6f6af036bf3c0765a05c41f79198e5a38221b0003d09662490fb8668b551fc0b9b02a6f779af41259d38a0d9a0bb16383148b69760a703d600e75dbe6bd033a326e52a7d3a2c47aafdde76c1edd0fea2638d1c1d8dd7b7620055a352d699fbb20d3fb7272e285e37279f9a43480ad893066a898e266ab29f3f3d3b2b67549fef37f794c6ebff3b5ec64d55b75397afbedfa9dca5229cd32c96af7f579a67ad2ed6fe99adfd1cf49693215e8efb7b976401fcd65db1c6134c31e9f5ba9b844412cac7bb4e7d3715fd6562e731c01e347dcf18d8d0d82a301085daf6e8c5d5847230b9e48b440c9c4fb61a4d2edf4dd019e71a66746cfc7dc1fe684f85e864d0bf674468df26e6ad2482c32ae5307b76754eef0fba1201600abbab620ea87c954bfdf358c5760cc892e4c02410fcfc0c40eb88fa626e0915cdd5ab17343dfbf888e53ab6b1d244d881b3b2b72e1e2050268c16e0a757d004f01403812448e3226d65660540ee37538097fec2d1acd0d77cf32747cf07a24e8942c0728daf39c6796b83de6edfa064127291c8de5fb13bc1cee2540d9e8c2a220c0f783af18c6443c3192622b76e2659e152e83e1ee198967e05f377edff37b00431198a10f026fa7ac619b1058739a70847d628b1d5bc58d353dea13b38b02c96a8c430082cee45232359b97815ecbb09d96c18ebe4fb6a9674751fa3ef4a3d03acbd05c2fc86bc2ac9fd7ef79c4de1cbc755ef61f0d652184ee0beed19cee8350daba4fb3998a74862d3ac0773b3b922f63c496d23f1bd017361b83ae38caae2582e6bbb69b9850fa5fccbc2fa16aeec61a93e24f307ba6f8edf44dbc841062e74132cac1fba16b88ee0993c9d8db037a7d65ddff57e9c2378c6e1247e157321bfb66e669d7eba14caacddef8394216017d1a506f67acbb93d2ea2ad2cdd486795637e43c315f28112c1a0fc521da65bcd0ecbd22075a4a3edfbb41a9f6eb1f2639f54ccfdc28310b85657ca158601503da203620fed7ed80929a624b14873b0e8e3caacd2e2ade5d33427eef687c7a38ac8cb707eb6200b494db1c37269ac93f50108d9c5e8b817b9dfbac935a4e2c84e9ed01ff241c406c791adec3f3cc6915aab75508453547dcc8a866ebf51a372d8cf6e80182397a5f8c5d32ea4b37ea988f45b1a415e58041a354d2fb02912abdced9859206ca2c7545404ba5032f8cee86113b1d1cc30110eb995f45c821b255354c1e40977587cad05540f8c766c589a7d2c825078e368d763f5828ba43a7a70bc6ecf0339c93f73a219913ec260569021591245902148b6b6a194014d468800dd11920c0d373cfd4b7f97914714cb40bd0f6c97e4210dcde1a483a82f26743e2bcde4f6fc8609bcb14f5b177e4f2eaa6fcb78f9ed60f4a6b55ff24c738876697646d675bdef0fad7e9f76b49a7bf295dfd3e907f1f8dea7affdafa6f0d88754b86729ac869fa28dd564b227d9639e277fad28ed7f51917b9fe711037b6d7a5baa109dadc9256a723696d579ddf54283b3b3b7a9d5926a4f093a1bb2a463ae99c610ec0100130b96bd4da2489a4515e26e5c4a8068eb5901a57ecb1033424e349a670b493f0196cac9d1e9399844e22e4cea3914fab0974947230891ca528a485ce24c686a39eb158a8f512a5f8f3e8f460ac8b64b14305f790c0e7eaea9adebb11c83334ce63e72988dc3ab24e0fad23c88ab9debec227230c781a7c4500b493678c5f499201bc103a415d74443d3374c4bd49ccfb2c91f09cbbbbef12379fef87a4031bd60f34a8c270b06fa290e83ef904d00e26307f1e3b18fef81c1fbaf5ee9b7899338d1c9fa9b18c998b43e77a0d16ccd8a11aeb7b60eacce8668c86262ec6efe6d639f60fe95d698c807d8ab3c14118e0ffe9055d1353397d1ee888607a98965a3d906cac097443f7eca0c07503c3c5be7ecee2b1a2bced7b8afafabe6cac865ab44ccbc67a8d9d9fc57d65dd9711cfb8760d4eef01bdc0fa1d4dbe9bae5b2d2d2bb09c5927e4f1d34162781273744a1f2860b79cae49f2bc922482d611d12ea83c958add88ccc63ad8b718a126857b14898b97de047123a956c3f158fdd5c4e415fc33a951f252be395fad1bf2cd74475e2e494ad83e093df9256faa17b08240b61a8f1c4301287c04104ad2dbe18816739c8ca9bc04241bede251c688eaf865bfd357ebecec498f5df69dd8cde32f80e26e8e7a7610d3242c23d1c000704388bbf5acc2cc64adf24ab42612d6132fcb015cad9312ec01204f6ac15cff7d27313bbbcfd6db9398251bd09a45215b9043006159053a8c8a980e4a2aeb99ac3e3d724ad218d4f4b57de96b304240cea7f53ef7471ca7f87186b3da4c2196ac6f550adad4dd5e9389ccccbe02b10548d0728139a0b60775ce9c91d4a5bcac0ca80d9392760f92cf3e01b5e8a4985687cdddf9acc17c1a59eb1ce39e34a5fd9d16c8a04f6aa92422649e75c470480d3450c21709346500f1eb8d3aabccd1c0020375335c25cb4032329a8bf9d518dea1a587a5d7f2646a3a4f264ebf1753df03bf27a0d401a8914cf9ce5e7d4c3344274113a0adb02b85aefeb75c28251ce47af8c2bedddcb6f5357aed0c6a8d3e21cc1b2bebf2e8b34fc9e7bff039296ba287ae08b450c4b77b411a385a2f7aaf60070f576348e623a9c1fa3313014d80e0894453324bb850e9ae6d5625dcda96da4e93780a741e214486e40b6d6adc4f6074a05303068947c76eacf3915ea309d36532269c9772cee3f80740d038b204815567c23c729a45a10b10b877f0a4423203ec0225efe9d01bdaeb8cfb2c91938e8bb94734a020990d7cae0950b0c5b7201f8c0c946ad2eb31051043b6ed7d5e3bc624d9749ea31fda0ad0bc3076d571c82e00d676e4c4fc69a4e974953ca71b43630b06370f6a1e9a54e6646e7e8e1d80ac2650a572897b06189234b25f27f808934bfc9ee671f8ee29dff96ab92ea86f1ddc30713f0f4dfdba3235c564398e93f17b3c06f37bde2e56c4cd79c77a4dfca3731f4e1cd5932e2b727c74ca84cc9991d9440c86c6ce72e7127eb53b6d53518d2dd1a4905b9c2665dacbc55a6c64cd2f276dc691035d13c3a69e27583b7e4f5efbed07c5d784ef85c7d7a5be85c24b13767f20b7bd6e460ede92917a6d4bae9ceb49397750562e37083cdfb73f2b8d9daeedd74e24530b15b292fa7dd30642528acec86860094200cc144df906c41e45ce599956039a81a653a6ec8ce7cba44376fdd0bc0493e72c20cc98d699d6c6c93d75626b6efc9f60f9c270978effad28d65f05bf7e15b6ccff1bdd9ba4d27a39f323cf2d20800639af8d937f0b8dec58483bec454f035fca058444b27b37207b5ff53a2783fcd76409c5133fe3ed624e524e7487add6d881e54007c47f730c2033f5c34c7ac0710fba40a84a49d3d5433948968fb70bbe9da472278947d2fe4dfefc52427193f76f173b93b07b22822531f682781241c19e751770e8faec4805a4dc6d6c6c3178e7b25af18cfaac427d4d2400feebeaf5a1cb838e48a6e06ba04d336918f522ab40337a20e7f18c463cc0d031c12cb9d930a06105811900d7415b62689c14e0ba3a2440119d934e273203ad2034d68a9b8b63fc93682e04818cd954c08444744cf618e891f4c08ea0d5ec3b57d1342b7874387a7d0b3f90b38fc76ac4429f0e4b00cd1c8f4c17704769c36c1e4ed0380046a3d745429776b40687d5015d164ab2003086b153e1b5840f3fcd4e82dedf925f90ea861ef85000838b6e519f7e36cd963dc68059fe0ca0ae7443922bcb6b5c3b0018a6b482cc01bf14626460f3047446005646604017cbc39883f37de7bf33dc3d74f12b9bcb4bbdddd3c3b8ab013467fa17518f23870cdd8d91e8a163d5d27b9d1e03a3cb9502bb24fdbe617f92ce1ded1f107861059f4931b14450b311a2383f1f4dd6731a940b697e57eaf588ad3b04c45cd1743e7026a0eb04c0257c5770777bcec91bdd0380a4a13393a6dd8147d023d6609f666b694a7800506e380e8f9825cfcb1374c98c0eeb3d1dcaf4cc22bb7e1803f0fa30a5c0589558347bd6814bb8203c97504711a891d0631fe1ef9bb5265fdb1cb5a55aad715da16387048a5dd9d0e11658c95b7788380f4723895ce28ac4360a2df8c54ed5f8d8b16326fd4efae01801cb35ce801ad07154c642bfee5c4a9844be9360a7b2695294a1b387f328f6c6e78399a8c65430c6fd02f6a2589c72e7a1612b80d7c23a46e297ce9a4021ee13307e9e97d6a4b927dd668ffa1fd34b3929cec7b2b6b22a6f78d37ee9346359bd5ad72dd492db5f5fd0e71bc8e626ba5c55d9a9b764e9c0b4aebb8a9c7a6143aa2b3dd9b798e3f99e2ab46c6ce285d2d0f78fdb019bca486a33698f6c39fe77df1896d8dff807895606269969df75efbc098c5e52fc59a28693005dd03e40ecec7265c93edbcd3be2f17d483a83c99fffb6fc93fadb98947c230c9baf056e7da5d897c9ef70fd7b853cc12c7ca4021316a28f88334d8a47c6b58795bced3b87a518fbe37c7dd7f10d5d837763bec2251e3a3d892874004df77ddd6c1873736b61ebe6d1002799d80ebcc82a9964134cd2a94d4a3fdcd31d991cf15c4fe7363a69220014307066d852b64e83b17a526c4d5a67c6e7a82176e31d7437e089820a12adfb5eb3cbd113ee2bba0131023e470976f8e3678308426ffa5ae8836880c8eb7b20a850a88aeebe3129ce1c953851a26ec74647688660b60eb646a1e44b219b227016f7038c10fcec2ef039e02f800111f80d5762cac531cd1a5d5f1a1a053894f5602aa40b7cff06d846ae854bc126b89cba311a5ac8fda1cda271eda3518b8c0a7c462a65f2fb603551a23aa143033b119be013de3f48899b6b471469cae78a3cd011c4912445cc6f0cb4dd6a0f1840437487285e0640694fbf475ecaa50a3b4e78df1469e99ef36e1a4ad433918d66adc70001860fee4bbb16520d15eb2dad892314361160d8c943353918ec495ad16d34ba7040806b1419add612d73e9927054d029acd96341a7d3a4ba33b828e14ee1725d4d145821d83db679463877e4838b0163f9e4f6fe8ba7c23ae41d08f21258e0e1513e2c8923a624e1cf301f7a713f66c6ce95977d17433627626e8f1039aba9f62a7c7c1b298441cbdf966262c480c89f54a742a6203e2c2c309ef8fcec54ead2e2bcbeb0c6278f6003eb363114d502c5c2703c861deef8c01b0b176909c9b974a8adf093826526e6303c583b61e0756d5a7f83d7747ab044c627d22303ae7688e7dd04d4a640bf47bcccfcdcbfcfcbcf97fb98e1ef62185c3d0c9f38371f2eb3b56ce587cd233f1009b56d87f330c99d327f14c621dec3ff1e224a7617299747d893189ad2309a9032aa1ba1191e9f2844cfea224318a463c73ea0dfde4331ec771c00c4d973272f8ad870dd8ae7b34d073b038e7cbed076c848ad12ff44f0ece6a913242513190e56b6bb2bcbac9710a80d6e9a826dda047002ba41960b019c6b11ba1c64e2939cd33c1a78548664f3169c54de260ef59c7c81576bc5ffabf1c0bc50193fec44ad673547b741193d843c69978af2626ff7fea98bc148ee4e5c74fb11d34004ac6e6a41ac7d144a0b6601f8d76d9426406e846ff5a72f95f77a7e4eb4854085475dd1cfa50f82631ced63eaa482f6dda1336073265c6a1e965a492919aec8adfbdd428293142f464d7c328d968935e287476d50333e524f5390747a725b4f66e3a6fed9e4ea7e7008586c9014d13073caa0c13e112ce92916d21a8583086e7c488d52f8270be04754b0d62dd069939d1c027abc7d3383f080d0b40fd06cae723db886d7491cef2bb349b08363d6a5d7435e8b7db4937c4979c06006fe459c58a6a05335ff8c824edfdd8b12988a88f4d900cf467fd7d5eef41a112387d06bdcb5a85071ae41b60cf7819b270c0da48687fc46814d204f3e2f3b318967b91796bc4238eae88f3a11ec9ffc3de7700487255d79eaaced33ddd93f3e61ca50d5a69572bad847246287c198cbf0d0604c8040b1bb0cd37608cb101638c30580401064908242109e5b0925671b5da9c677736ccece4d43977fd775f557557d754e8152bd0e22e31ec4c778557af5ebd7bdeb9f79e2bca5c46413604f48c2908d3c5e962d92d47e0cae57415c7a3cf27c7efa453795ec9d45be7e0d90d0936e173764592ab5e7bbdb23227c5fdd074c95d4414f322ba1516a8c0c1a087809f201b3232d28954943f774ac3f651e06f5615ea72f3becf2ac0cbcd0199c0d9282a054fab4c520d950d7c8e4f6399b4c8833025893440e4957c36ab2a32cb12de649055170e07243cf85506425e8f1f01065e72ccd8905438816f7fad8f3f37ba7f623708a471357d514ebbcd71704cd56a6b39bbc157e6ccd8e418b09b357b360f8426634be9b072ed931c1737a36bd30f8967edddb95f662bb2d962fc04cf3c74c959543c6e86cd25541f88e2c1eaea829c9d216049a0ce47a9ac5ed91d49ae23af53ae82cbc519e93d5082421d4e8752234536762eb7ab98ce2b0702e7f8f504aeb05c5082250b4583994ae714578ea4b80ef3b2be0dcfe2292825081c3cd8b92e54276b72886ac146492e1fada4304b8abb8ac7442919509c69cde78b732bb19f72c1c88cbc401264ed1b8a8d53e332085413d890e7cc4251355b767d28427c996c313691bb50e938fa9b625394fba77787abd952f15425338662e9084cd1bb154fc8e9e4c424d1f5e9dee5ba647925785d8093f5518da705cb17cce0808c6716ce4371dea3fbcc2b195f544728a5041b536c4c3c1ee38099dc923ca85f94d9e152a480125caf8909a1775514a18ca56c31b1a0a8284e1ac8424161bb0a2ac77adab026ced3018818659d081651dc95c49c688fd76ba3e8afa34f1396943cf2d2294bc26f7c35e01495c935cf0d949ad75f123f93ca5c1d46e0421fa7f156991ecbfd254d40948689722879efaa8aa25494482e89c219f59136a8507b7d39f056e2b533042515447488c5805e071758916b379009a749abc01d02b2d1a65a365431942610d21da0c98856eec47e5050315506a5179c4490b8b2ac435e4525d86a9d24b065b78fc48105afe8cc8e4fd32adb41b122691e6c48fe77212ff297dfe352287b5a693a4893804d46993c071c72e5e702cf502990d60451da39a5b822b30f29b672f2babcdc90c3255748a5b46299095256818aa8168f756046c557eb952792024d322222d1285f2d512c08d5f6f1b1d55b322ab7896ca34bf42a7112b26f9fab7fb2311860802b1074712040cc01af704aed1664068f5286e9fef9d8cc493c634c5663a5df9d981c4ff09464322a94e5a3aeec551a3893cc2801d854f08ee81359448b3251f21959308a8371ca86900a1cf4f000601e77e5968314f319cef6b83c1242b56e9e2144626494322d8f3379354f46877cf43200712a425b126722c81d90e76c4241f1abcb2e197213896c8c9141a6393c47a813e06c098d1d523b26a34e40870c839a5542c26ce4d223371b65a1660b220fe694ebfc1073e247437310c1da1aaec342befdaece691c881020a6674cc5ff320af8206669fbb6ddfc6f1e77452e07f61c03815a0e22e8b860a81e6dfe006a16fb389b42025f043e28e683c61cb91c88b9a0ec1959785146b5b97c4e012fb2e89620a98ab305d9602a29b4dce04b2832977210b60c2ea83d647889f1e1e9a65082af73b286126725f2790541cbaea5140fea96450e79214185b993e3cae4b94252184d5238a60285fc3349165ce36e4d2a8ca9046672604263a7902f8a49f2854f415ee9cb71374251cf061c20b9781abc6a66b9de910cb514c6495432a8e4229c3965fee2c5000599a1a2674e81d07270ac5c9f87e29e0a4a1c189ddac9b38a640556ca664b2ba294d4d7c4541188e13a21ea5c924ef3eca63c57b8ce729720011a62d9084ce7945229dc3dcefe6b6d6993d37839bb2cf72f779c8af273eaef1fe46e9a1c7fb7333cb89be4f13399cc942c4c620ff5056ae5b122f2674bd9471c920842458bea2a3039898053bd1ba7925427bd64bb1530316262cc6ae5946228a029b2579ebe4b9ff3f80145ab4390c4627d1fa32ac7329acf17cfad074b46a04bcf509c14208156aab874bfeaaa5f0e5253a4ab95494156692daf57a4cf542a4b73d63e279a5b444ecbc82e0225f68682fae4227e72d0212fd8c645d4044eb7aac5dd783d8ea4427f3be4188a3c2f6c959305c3c8fd9253058af232e5ce3e8f2719dc7064e5498a170993839049dc88c709654924ad20eb3df04a9d3228a39a1a0440c868e515e0425b2296e4c5065d0e6525ceda49e7927850a2c02ba292b64b524af1899c56d11e2f5bcde7d3bc2e11afefa1a85faa7a1394569817135ccb4349f2e4f570688267d80b93ec5c9469e208b23ea392f434eee81e946c1341721427235202cd4eb095783c2333338a4019d7c911246552966bccf0b44452e255526a491cabe43a119434d4acf26c65f02207dbca2e215a5d6749f7854fee90a5e2a9e05d4e5d19cb4681527539c8a52070a51f9d35727c890c7c9dfcb9539c8a1ca4272bfdcaf7e4e000492d5b40ae276e8cf332b0a385b25c3d3bcdd370eb4241cea8507d14322c249246b57dc868a8c197b432555f19f93964793f518c075d2314acc5fc69f31878aa419af5099775cfcad2e094524bc1baf49476eddccd8fa7d8175200ae0b86787606b9d56a18b808b1cffcfe1a0e38681c0403015e944e4e6926b0ed51543f0b7cfc4090dd99220f82cc7326901635e4caa1427d64a038ebc28c532291e40273d44f496e00e5145932a234c7d07eb4b227968ac736e5e5c0518a21e1f395f27e722e94236499c1831aecabb0b6eab397a72cb134376882e00b4a214e9e0d929301f00433a21d1d1df2fca830a2b22b4501250a335bd0d454e22e16450d3bafb865d40c35590746e50d84628d25550241cd26537ccbbc9de44257bf77f15a5b72dc112d10882de2b14b0aab24bbd25c7c3f024435620d5ff4d0bdd333ac81ecfee281e6bc90a85c2f0a4a60b41cc89e911758821cb8aac6326594b219597a8e992cd78a212023333419fe0ce3d184acecaa48d053b6665d5d3def4fee96e54c9c0393e1b03c06d971c343c33876ec98b2182e5fbcabf64892248dab7dea22b81afcfa1636239786f43b48e9da09aa597da60f7e2dfd6ebc3f198df2788ec2942c23a3e3f460ea77c933b7eb23b3efb9fe462e531e3bcbff2f6f19106c7b1d450c8a0705abc725cddc56e66dcf69daa19e2963760e2ae19e96e4b4c598720f72a9122ee24529bfead50a0a0d5c609347561646e56269465b362f4de90f1e6846c624510afa4b30a391a62aabe9f2fb52c70d4de6e189945c1487171de1951565457706e4282894b755c8170f673807a970bad496623b72884573267d298fe1240377c9647e6a8f39c00b84494a0c14e97a4c1983f4ecd25271c9954352efc094e974cd90cd7271aba97d48ab494a9da4c9595ec942a911050efc7850a0431b3a919503ff08d83ad43448281a3ff22d26595f9101e0ae86b406f4f3676c3c3ee50cb53c33028d98d6354d16fd62f71789461061ab54a2c12391046732286e6251c722343636a1a5a515b50cc050814b52d35545ac385d9f97d3bec905415921722a3bb80b321a8dca82593c2039c54d6c82ed43712819be0a4fcbc1a9d118071b04b828f6878267691f622cf24a9a2f075e7955bebfa0b808957454cdbb29abbfe695efe445138af11f824e2ba37c6151eea22d499cab2e2039605f7187a83155accf162f5982458b1659c603aa2caa768e2b1956fd6792727fa554587d9ba171296b177505492a022839ce2f8b18d5215282f2e5546b7090c25d2890d91b4194dd1e327be7e2ec15674d1470468c10b159144b4341db2e8f9703130237c4ecf8fd75b2caaa2a2f21c9853b79864e56cec654755712f1046765098cd1738e25e26cbcc465f55af6ae4419988944e33c26858072c00f343735e38c33cee0638cd8949d3b77caef93012ba202944a6c6c1598d8c470ac597316bef18d7f2d0504411f557cb251c6c214baabfc014ac651a200f499b77a32a2bcb09fd2aeb2e60953ce6514b3a26f93a517e67704bbb61e21cd4d97bbb1a6b655df3fdabe50b394a00879690360f924822225539ce0d49592a4cada0b3098bc94fd4441a9bb52a27cb5131a94c0557512e719274a2aa5ca64a981caeaa4462b2ab544803a2117b38af205c5f72e4f5c92de2da834c2e1108a1a2c02caeb2d95b90d4539f341556f545d5d2ad3243a54516ea118d728a7544a1a97a0501c77eab350036c4b7d25286a90f9620a362f98a6f8a69d0e191dc98abc8529635a36683253c1296941f6590b0afb23298aa025aa59e9cf22b55c1a0f3ca344311882f2aef0b6aaa14c168aceaa209cfe7a9284626aa56c609467a23ec0e200158a868824d60f1e38882d5bb66188943ad9445d57578765b3ce405757173a3a3bb901f007fcbccf083890b188c5a21c508c9f98e0868353eec48692ba6b22c10d14ad76c900528d16623d088c719d0bf63d19044efd2b2e13d9704af2df5cb3a3c440961b63f9f9a9e3a454b15cd22d700a45564eddd7888135aaa8ae77c36aaf35f579945e38f573bab7c1c14125e0b8a6e2c595597d33edef66acb755dce154c6592a292818803115c41414370df5b71c842f4b01e4391b576080352647cf14e48c4635155774c8313a044eb84e0e811962d6dc1e78b872b097bb9608d4f03820f67d6da016b5829c4ce0544430733cbe4d669668dcd0f8094f4cf29a6054d38aaa47137b42e7a00ae97fbe7a25962d59ca5d85491e6b55022382811b87c6f2fcf90bcb5e8f2a30a900984c9fde8555ab16737ff73bb17d25032c4c7db08618c73e2adae8057b3b837dcdc08da035b1a7e0dac509463789a9b9f99a29a3b48ffabb01fe2cdf0fc59443a367a07ea51ae092c1d59c584059fb0a05a994026d6420b5a0cce4c9968d11a17ccf12a8938ac6584099059fd25765905c2c09e6590167e378ac52e3559d0e75d50c41d2b9f804e36728149bae7b07a4b2fbd78a65953a524e5f2df6a5463f4f801e849a8f55b5a49ba4dd4f3241cc5ab68bad56a9b6d27df7dd8f477efb3882c12066ce9e8d4b2fbf0cb366cd442818e246895c3ea3a3a3387aec086730c830a41898c8d2aa3b2d331c44c313402190118d453833472e941477b5e4650645d1d9c82900422d44aa1a3fade1505dba5a23a97dffcd0cb1565ba8c41c940b196a35a0ace2f2b4e7d55669370235dac3b57200274e9ce0ab78ce28681636fa3a66dafbd00b569e8c24825539122b577db1be98dcb8298bd6a9a53eca563ec5a0df62ddb282ec3653c17d4e893fa160e8782c5ecc165283740b3c0ecbc95916121af4d7f8e4ac3e06dc09c890de95cb25076cfb595f86d858952504e4acc4043be7c8e808c6262630343088871e7914edad2db8e5969bb074d9421e9b67ee91c862642452052627bbd1443038987c470293ea56ddaadbe9b5d1044c418904469e7bfe452c5bba0cb77ef4a3e89ad6c5334928d8b0f7d851ecd9b90bc77bfb303636cadd2a72606b9a976b88c5e398989ce4fbd22ab6a8b0c9d3cb05b91ab66e92578186ca8c0030ac823e25605c30d632d27eae3d87fef8f2957279ad302320a3dd575fc1bd126643fb19d52f2270d2dede3ea51d7aa0a56fb35972833e59c1e8582bb0a22fe6aa771b09652ef472b79521a829e2e0d2f939ebe87014c1bd1c87182a2b38abea49a93599723c603acb012f05bdd3a2888bc62981c7949d44cc899b528b3d4e1ec04f2ec486fa7a84eaead0d058afc4b4a4313234829e9e23f8d67f7e0fcd0d0d78df9fde8c695ded8a82f8546042596b5557ce29ded4f2d9d5adba55b7ea66b55115ddeddb76e1c1871fc6d2a5cbf1c52f7e092dcd2d6c553fcaab431f3c74183d870fa19f19535a10918188114b42f585483d54a1f405c57d071d38e0133db9e2189031523ed6b311aad68f5170bb1644a80c4b99c8960510313a87d6a8ebabb11b0115b3a400ed677ae6437b4d55c3e8f8f1e358b26449913531021ffacf8c8b904e0524566e9e93c9e23417b194ca193f03e6c5e85f23b6c7a8bf793f89725621e9909429ea169952a5f4404e66de08c01033373911e6f12774de1a06a8eb1940e9ecec406b5b2b66cf99cd81f6c291111cee3e8c6f7debbb386bcd4a5c78c179686d693cadded9d30e98a885aae82151aa9409635bddaadb291a6fa222c4959e920a5ddd4e0350124fe1f1279fe62bd1cf7dfeefd1c626f083fb0fe0a9279fc08103071820398c81c10136e14ff2d811a2d99d4a19fa821ac7a38091825430cd9453e726ad2e9196953032a67af640bbbfd698d9adfef546dcc85897b92e4c5c43fafdb4f129667126466da38d1813624ea64f9f6e18e06a64e4cd58142b26c4ae2abc191364f4ecf4ae3533fba3ffd70a68d93d0f40e38e2efe55ba3e31712e8f0b82d783ba504896db678099b27b62d138060606d0dbdbcb5994695d9d9839672e66ce988eaece4ecc5fb4003bb6edc07fdf79176eb9f9062c5830c7903da9029353004ae8c18d8c8cb341e428a6709d4e52bbd5edf4da28886f74740c4d4dcdbcd6463e5fa876ca69b09191e9e9398ce79e7f1e1bde7521ce5bb79e0191fdf8cd030f62ffdebdd8b7771f8e1c3d2a57d755580ef5df4ca6509625a7051746c6d3c8889bc534d8d5f73262588c0caefe3a7ae36fe53631ca6e14ca8a009ac7bb99196aed46fd35393989fefe7e1e446cc738985da392fa67663179667dab7f5e4620c6ec1a66cc8c95f48415882dfeaeacae255da4bf1a032607e1e78ad7a2b894c68606fe436e200229c36c8edab16317f6eddb8fa54b9762defc05e8686f435b4b0b1bf707f1f35fdc87b5ebd6e0928b36f01a3c5560720a37ca74181e0eb315ac1ff3e6cde39a01d5156c757bbb40304d14f4d2ef65866ce6cc993c6554d527284e4294f1e274a1c62b678fa51349384871339f452a5380816c0d5f89530aaa20e591486565f129971b5eb7c857f86fe798e6da0c9465c21b4f2aa739783d4e9eceaa0608eb667a66699cecfe5c728134583b5079255bae1eaaca67bff5b6eafb369b4e229d2d14552ecdae4f01a98f3ff65becd9b717b77eec56f86b0278f4d147b1f5cd2dd8bd6b0ff6efdfc75d3624b4a6824fbd4156d90f1594a820c5c8e81b07869a67bee881875607c80ca01889406a57fa56ee05a398132bc064c49018ddabbe8ddab6d0bfe4ce2123c9cb4554a09f61c532980138232060744e3d68b5033c667d6815036307a8cceec7ee73fdbda941d2aa66160570d34f677b3b67ff366fde8c9e2347b072e50ab4b5b563f9f265dccdf3e28b9b303a328a1bde730d1bfb8e2a3039151bbdbcf138a54139307ffe7c66241aaba0a4bafd1e36b9bc4052c9be9065d24b565074fb50efcee3e9877e8d88588f8b2f3f0f093639049bda11f0e731321a4620d4081fb3ada32363a8ad6f468db38013fd2790850bed8df5bc9cfdd8d000c2911cba66b621582317201c9b8828a9afa70894e40b686869c6c0915d78f1b53d98bff67c2c6ef5a36f3083691dcd884e8e215570a2b92184647412899c88c6fa20fb7d1c3dbd11d4b1fba8652026128d4172b8d88aad0ef97402d1441a4eaa5fc4ceeff1f9e0f47850c824118b27defa3b5aec5b094f3ffc6b840b415c78d9bb1074a611e3c5f2dcbcd68ebba61e356c9fb1f149343436221e0de39e7beee61a319ff8e4a7d0cb8ce37df7dcc75d369b5f7f9dcb81d7d6d6720558029d5a0d1e23e3a62d82a65f75ebb534b4b121462b71a3aadb66064ebb8f3aff9931235a80a337a846f11946ee137d1c4b250294da38166d5ab1ba2f3126949d1308040c819a1970320319ea316f2553c70c4418c5aa58011db3f655024acd9822b3f3d9011a797ccaaad6f43d29dace9a358b8191369e06fff4934fe1ecb3cfc6fc850bd1d2dc88775f7f1d5e7ef125dc73ef03b8fefa2be1f306aac0e4775fc1caf9dc24554d03bd0a4aaadbef8b3931ffd2815a3ff0e3afff0b361d4ca1ae308021f2f786ead0732281f7bee71c2c9a3b1b3dbb5ec6c12109975fbc1efbde7816515713f6bcbe0fbea6a5b8ea5207fac6017f7214bb760d62faec366c7cf269f89aa7e3aca5d33011499cb220aa1ad6ae235b9fc137bff533742d998fc79eda868b2eda80debea3587fde5958b26c159afd613cfde8c39877f6e598d998c0a38f3e81e95d7578ecf15efce907af66abe043e898361d2db56ebcf4e4c370759d81550b5b3138cc0c90c78f7c7804dffa7fdf45e39a8bf0a7d7ac47948193b7a4b9c3fb56c08fbff90f7871bf034b3a936c15d88f0fde7a23f793a7c7c3a86fefc040f7ab3838085cfaae7578e1e927f0daf65d686969c275d7bd1b9b36bd84271e7f02478ff4e0b5d75ee3f307e994502a303126da6ad85aa3aeea831865bf68590a237060b752b6325c66e3cf6c356e95b562c4c4181939ab605a3df8d0ba8dac5801f5381294a35813bd3bc7ce0d53097361f78e9a19f94a9ed1c9ce056600cb6ea16d141fa38f1bb20bd8d58348aae7435a29679e7906fa58dfbff2eaab3c98fb8c339673e07ee96597e0f91736e1befb1ec20d375c5f0526a7c84c58445257b7eaf636f0251656d5e5afc3f16dbfc5333b27f0ad9f7d07ad8863e0d810feeb4777e29197b6223ade8b8bd6afc4e6a7efc1b11833e42f6e443a720c0eaf1f93f169e86ae8c31d0763b8f0e68f23c0563e2ec981bb7ef89fb8f7e117b060d619f07ef66f9941f62012cf9c9277c7ef01eeb9fb21749cf35efcfdc72fc7d8b141ecdbfd32fee797cfe2c5d75fc3fbdff77ed4e58fe3a73f7b180bb6ece66e9fc3fb7762d1cc69c805cec49ddffc0afc7357e193cb16e181bbeec45d0ffc16b3e72cc41b7356a2b16d3e964f8be1f167dfc4d6d736a2cedb85bfb8f1620889e45b526a56fbf6b9bd497cfd3b77e0c80bf76167df00eebce3515cf2ae55e8def63c26b25e8cf4bc8463712f1ebef7a7f0076bb160e9625c75d5d578e491dfe2f98dcf61e78e9dd8bd7b376748e88756f07ad13033978cd688e857ec951820ab14d74a8db09980985effc34ec9dacad5a1ff5dcf9a9865c6d8afe6f33872e408962d5bc6179376626b464c8d555f9e0cb031fbddaaa447a52ea74a4190dd352b710d5512fba3b2803367cce001b33b76ec40383c8973d6aee522486bd7adc38b9b5ec423bf7d0c8b172e457b47db3bcf4372bad2ebd5adbafdc16132494a2793109d5ed471976d1efd03fb914033fefbdb77e0fc33daf1c33bff1b3d09b652d9b00c5ffff77fc19abff816bef6b56f6346e318bef99dbf47446ac439739ad17f6204c70ff66378d28f7ff997ffc0aa391ebcb2ed205c5ecf296c710ee9641e81da10ff6b3236843d878ee0e2ab3e88fff8e2c770f895fbf18bc75ec6eaabdf8be1cd77e3375bfa71df2f7f890fbfef12bcf8f8d7f0ed9fdc83ebaf7b0f3cf9713cfee2767cedc1c770db053371c77fdc09b767165cae2446a51adcfa377f850fdcf02e48e9a461d9864a992aaac5e374b5a1d6c7dadadf871ddb5fc51bbbc368af6b872728e289c7eec781895a5cb87a163cb53598bb683e07258f3ef6049e7af229bcb1793376eeda891a9f8f4fd6044a685345ce54c3ae9fe4eddc1c7ac550fd716629ad7a378cd5b9cdc08219eb62e44a308a0131ab046e56eec32af0d3a80dfa3e20770e09d599c5b7e8fbcf28bdd6085c19ed6b15206c04f4ac0265f5e7366232ec4086911cbf55ac8d519695911bd0686c181d4fd93b21064cd6ac5983a1c12106d49f475fef7144262770d1860dbcb8e577be7b076710df699be38b5ffc62f18f2f7de94b42717965fc236afed5ff380c7e9cca0f7d9f59b76eddb9975e7ae95cfb552ad880eee57531785556c8ba25543b824e4705a2282347bb2563110c0c8ec01b08420d3ace6753181e1c4681e253a2110c0d8dc0c72665a726782e158fa0b7b78ffbd3837e2fffacefc801ecda7b1003a393686e6f3d7dc55eaadbefbc514c09496c535c825e629b6243dad8aa64f773bfc66f361dc6a6077f8e83e3493485e6a3abad1d87f76f83a7b19919c53e24233e9cb96c36fa8f6fc6fed7b6e2d5bd717cecd68f20dcfd1aa24d8b303758c0ee9ee30ce43462ceb469d8bffb35043a1663d5a27624939953722f4e4f00017114f7fde4c788c426f15f3f7e1081f67968f676a02d18c1eec331cc5ed6849d7bbbb174ee0af8eb725cae7dfbab3bd0b4f2265cb9ac038f3eb509175f7105868f6ec303bf791e077a7ab16add0a9c38b211cf3cfa043bdf99a8978ee185fd63d870ee1a5ebcecad40933cefdb99d8bbe917b8ffb92398d514c1bea393a86ff161cfe607f1daeb47b16ac3794824bbe1121b51df14c24d37ff095e7871139e78f431ecdcbe0d070e74c3c79e19154ba362772a2031d3c050e338f4df19310856226846e0c388a13132406654bd5530ab51ec87d97d685920abeb5a318666ab79a3b6d3fb435a1bd3d898b673bb5889c459b975acd2a90dcf6b91ea5b52645625ddcb4b1f183d57a39814a3b161268e57a97ba992ac2d23104a655ddadadbb9660fc5b675b0dfdd1e2faf67b497b2d38e1cc5ead5ab0c0bccaadbd34f3f7df815b6815720e331f079839f82e65ff547d2fcabfd99b269b1c81f0d30d978df1db8e52f6ec5e6ee495c7dd505fca263075fc1b5575c86309bf88389e3b8feaa6bf0f2a118aeb9e642aa8d86c8b19d78ff0d37e0dffee7515c78f9b5985eefc077befcb7f8c467bf80fffae15df8f9ddf762e36b3b307bc90acc68a9ab5ae92a30295f611772803b84b567afc240cf7e783a17e1231ffe4b4c6ff3a2ae2980d696565c78e145981670229a75e1d68fdd066f6c08138506fcc97bafc3dab5ebb0606e1b3fcdf459d3d1dad586b9f33bd0dc12c08ce9b3306b7a1b3c4ea5e6ce29d8a840d8bc65ab31a3d98beede215c73cb9fe1c6cbd6a026e4e0c1e4b316afc086154b90181bc1a2f557e3968b56e2c8e1235871fe15b8f882b5d870de59a80b02b54d9d58b37c31868e76a36bc5f9f8c487ff2fb2e11e38eae7e1ba775fc326be66089e1a74b4b5f24a7c6fa9f5ac53245710e7ae3b1b2347f662b8508febdfff415cb96e0e5b818731efac0bf0e737bf1b4136b39c181ec6cd37dd829d3b77e1e1df3c84eddbb662d7eeddf0b31521e9cf50a97abd7898fabbd688eb0d801aa3616688adb23bcceafdd8e976d8adcaed6aca98812a334647ad2aaed65dd2b7473556dac0dee23e42090819012d41e93faa4b3477ee1cee4ad3c6a098b5d94c2b442f83af7ee7e21528ed633db4e5234a2520f4cf40a98de574b31f0f44874b29c454300d80b60249d6404f2a2b6dc103dd05d1d6c56525dc67e4ea21b690b4985a5b5bb96b6d647884d781aaf5fbb160f1423cb7f105d4b067337bf62cd376ffbe81c91f0d19904ec67955c6277e7517be7bde85b8fd960d1073190cf4f7e370ff183effbe5b70f6e276dcfd837fc7f9575e874fbe7b157e7cc737f0e0a62df8f37fb813eb9774e2ce2f7c049ff8ca8fb0eaf21bf1d5bf3e0fc3dddbf18d6fff10efe93e8e671f7f04cbbb6aab96baba697d394846c270d776e063b77f867f4485b6a6cf98ce25ccdb5b16219749e1dccb6fc27af65d3412c11537fda53c59649248a61398b6e06ccc2ca4104d66306fce2c5e018728d8f6b6a528a4938826325c50f0a49d9d462b3136b98e8d4770d6a5efc139975235e13422f13496cceb402a0bb4bb4524d2123ef2d1bf62b820c5da27e0139fba9dcdc93964a8dc7ac1838b2fb90a13a323c8b8ebf0f14fdececf4b425a97ddf0115c46ab8f6404596105e62e71f0d444c1c0f057d45ed6b7a958182e4f033efca9bf961d51bc0d02fef263cbf8dfbdbdc770e0d800aeb9f63a8cb236fcf69147b067f72e9ede4d29aa5c523e932b16b4d38b99550a048c0c8f1ec0e85d19dae0466d10aa5dfc84199373328aa346426d46c692f623b04069d304c0b97c3ee46ac16a614bb5b0269d4f96d72ff067a39e3d8f82e6fe24a556a352c94829dc383c328c21061e6b834143b6492d1a2968d54f25a958138b32acb4451c8112b3c1afcbac58537313d74e512bec9619755adc0a9ac28e508b4ce68a196fdae7eb74fbe0f0f8d4d29bc833e0934fc5b9faaff67918b987acb28eb41b2db85dacef5d4e25159e2a4bb3b942e2d73067a4ecb29bcc9826620d69317fe6992bb0f98dcd78e38dd7e1597f3e8f2fb9e2eacbf1ab071ee0b5a2e6ce9dfb8e985aff688089d3e54128d8809a7c12777cf36b78df0d1bd0d6d10c9fdf837c32cad06f0dbefad57fc28b97ff09eebeeb7b6888adc7dd0f3f8db9ebaec3bf7ef143481cdb823b7e7a2fe69df76efcec273fc3e25679c0d479817fbf77270e1c1cac0293ea36d517ea7420978e6338112981e4acec7a49a6e47fe38954c9e5984a959f20395afc351cce68f62bfd9ecb9dbca81bb92da66465906a32fb191f19d1f9a215b76642f93759f239c7e3bae626e2c59d87d503d836cc0c4f694b211e292ed7ecf19d22d16e64f80529c753b54b9f49c5eaa96f6cd98279f3653da35ffcfce7e83e7800bb76ede485d0489b848cade8104ddd06566259767a136685e9ac24d3ed44b74e4698cb2ee3c7aaaf691fea9f406d2d2f60383936814834c2410a1f337c85ede655919d2e99f0a66284f4bb9c19e9928d1deb5ffa3dcd8c2ab116ea58a36749df910b818002b5880acdcd95047e0dad823207760e975ce95a108a829972757149c1280559d34654aa8f6bab48b2637c3e0f1b03011e60dbd3d3530e1addec9e5c9e22c8e08047b90e2d5cf3e978b1dc80dc16271c5e1fd5b354fa96ee87ddafcbcb160a715336cccca56414bcec607d1508d5f39477ee266287797c7ed66769c4c2e3bcffad5c3a9504491bc5d9d033a712014b162fc18e9d3bd1d4d8ccab11cf983e032b57adc4cfefbe1b7ff7b9cff1e7560526a768e3951ed9e0d970e15978e6a1c7f0c56f3f843b3ebc02414fa9b0d68cb3afc35f7fe866fcd34f1ec53f1f781963713fbef4af9f450b9b135fd8f206ba4fa4f1d18f5d530425b4ddfecf3fc0a7ffa960e97fab6eff4b091365e54d7a186f6715e893f682280682266ab5d68ada5e321464d8c50a998cb7fdbdd5f8c1c955a6fd9c3ea3f2eee44ad3f76f3299e04195ebce3d0f0f3ef8208e1d3d86eddbb617d5a1b38afbc68a9d31a2e4cdd43db56c841d20a944c0cc0c3058b965cc008c11d362b482d7a7a87a3c1e44c3614463d1624c457b473b0e1f3acc6312464747b8c1a61891dedee3ecbb0ef4f51de7c68d8eedebebe5991f870e1f425d632317d49b64e723573ba9eeb6b676617c6c1cb1780c05661423d130172a0cb37d9c0c00b83d6e5ee9b92118e4cf999e37310971b63fa5b6d2b101063ae9bce9549201a9202619c00986420c3ca7d833cea03650cb7e02101c0282ec77aa3f9357eb15b16b5060baccc1c8f7474fcfc9ae412c64de4120290b21932c3d43f69f28099cad91fb4b014fa4329e112c3397cce688d233a7733ae10fd63170e2e69f113070b2eba4d219b8c51ad4f8f388452638003702ad56f13d466356ff2f8142128a9c3e6d3a5e7bed553436d4f3fb5cb36635eebfff013cf9d453b8e6eaababc0e4544e70e3d124feeca3b7e38c5a017ffbad2f6349cd0710620f41d43cc00f7fe6763cf9da0eecee0d63dd55efc307debd967f1e2b6490165c0cc8780d683742ef6c008bd54ac7d5ad7c5c90e81a4dd2f4b2e72b60070c279222f56d1494299d940e887a2c196d024ca4db51ac82cb266c5af192af595df59e547b157a7f0aa52c29a4bb80934e0da6e3a94dc4b8509bd47611ed4c3a18478f1e454b4b0b3786bc82abdb0306b5f0d0230f61fd79ebb177cf1eecdeb50b3bd90a900c2cb92528cbc04e11d56c6569041cac8ed3678898ad96cd62048c56dbda380ca3ac1f2380a3ad5e6b761fda781902ac636c8c9028178d31aab09ccd65109e8cf06c8dc949061e1850c830209b8827f8f7544bc8cbc0233124d4361f5be58f4f4ec2cf0001b1822eb793038b30031914df435950c4bc50330e1d3ac4036033199949c9e6e4aacb2eb74b6661d86779f699c3ede0e74873655ef61db1326c2c50e5668a8571b3778d24daf93829e4b9c0d8d1e3c7f938172491332a657124343219182095e342f10ba57fc9e5468ca4c2a4f0f14b2e1e021042a9044a81608d128763843f2a495b569f8f93b59b18225e59389f83d7e5e2f7406e47ba6f27b33f34f6b3fc6fc172bcd809bc592d04289e647070002fbdf4127f7e2d2dcdd870fe063cf9f81338efbcf3789a7115989ca22d9b0823e59d81db3ef715fcf8d76bf1adefff04eea4038b3d25f95d7fcb32dc7cf90578fa1f7f813fb9e516a830a42bd48c367712afeeddc9fefa3fc5fdefffc157f0a1bffb09befabd1fe1d61b3754ad71759b32d993d1a4c9441f906d0ba6a1d2d2a77e23b054a652ab4c4ad446727dbc05e88fb7ab9a37b5c9c10d4fa1acfd870f1f46235b3993d27369cbe3c0a11eb67a0e7003fad2cb2fe1507737dfd7cb9e03adbc8d8c85de485849c51bc9ad9b81ca4ad274f5a0c04c9b447fac5e4dd5c85d60e5ead10ac7198157fa8ed24879b61233d164fc89c1703819e04e26b8eb841893300324040ea2b13837ea14ad41eabfe4c68cb1cfd46b9031a540d74824cacb12e4d259066218b06060b17f6008bdbd27307dc60cce6a502ba974005d3b9dce50300b7769c8d9534e2e8047869a8ad6151810a276c419e0a4fd092cc901aa4ebe30a0a149e71c1e1e92fb557d3799e117b229f6b78f030e28cc09818c8243e2e7cd2bef48b18fd9310506d004625a78242c3f1157322e75a379bab4d9b3e1df512304798ec8e67234289067fd5820704ea045790f08480942b6a2028d46cfd58ca9d3ce5904ec162f5e8c2d6f6ce101b154a662c5992bd0dade8ea79f7a0a37dd745315989c1aca448e6a1ee9ef83387f39bef0e9ff8b0f7df92708fadd531e22f90cdd6c5faf589a08979dbd011bce59867befbd0b9f5fba109ffcd3abd1bfe715fcdb57ff1d13513fa6cf9957b5c2d5cd723290c7219b6c0ae0357248c383d78d61aba3828615a1c927323e8abcd3873abf87ad52c3905c3ed4077d48276208c7335c427a746800aeda66846a9cc5025f455642cbb2a8bf570874b4131bc50e08e4ee61932ff9d7e953f24573a0c0daed20b02565313c3289fae66636a32631319940434b23845c96976177f943f08b290c8753686f6d96273f6545ca579c120c7e2fed6326bc5550266bedbeafdfff633c7f7014d7df7803b66eddc60bf2eddcb183afcc13896431dedf0c58984dd866c1ad563a1e460c9a115b62e47ab1636800ebf45023155abbfa3d46c6533d96dc27a5e3b4fb970c7159bf88720c081f8f1ac82a8329510e839564ad1f021c3936960e761fc0a2450b505fdfc0de8d5c71fca96790c7b2f672d929cf2797cbea9ea5c8eb4e113ba80d7c5599bd020326125d4b71d31420155d3694ee2f49794d268cfcf6e4530948ee027f1f28be259765e7cd652d81a49dae0cff57d026a8c8d932121bdff49ee5795fe695c27d05db7169e4e23163f48cce45ef78337b9f9b5b5bf0e69b5b306bd60cf68e0f61fdb9e7e281071fc0c5175fcc5d785560f23b6eb1c830268606118eca2ba61b6efd1cee7ff031dcb37127fa47c7cbf61deaef452a3384e1c952649f18eac497bffe0d1cf9e0adf8daa7fe1c77df311723278e222934e0cbdfbd0357aee8a85ae1ea66bde593e83d31c8266191a7ba4b820bfe1a37520c6ce4f26c4dca26a63c5ce86c6f667fb395602185fec951c4d98a3154d780b1e10826c39310bc75686013619aad5a33421401f6f7e0b1c3c87b1bd0d5568fde43dd70d7b7a1b5c18f9e83dda86f9f815a36918e8513686f6baeb8b9936343189d8cc1ed727223e3f50728cc91ad78e3bc3e104d98818616049c723646747c84673e080c50b918988a4d8ef3b6770482ec7dca223a1941285407a794c2e19e1398b3603ef289491ceb1fc7bcf9b391981cc6c0580a73e74ce7993d9e5023021ef32988af8e95a2891453e0f2f950db3e1b9d292f5fad6fddba1587ba0f6132128187025ed9be825278cf4a144dcf4858b10e466c871e0498099499656cd8c5b198010a7d768f551c8a996aabfefcbcafa0d60492034dc9504fa9cba38043334640cdae9101464ef98c32bfd40c18896748f62bb58af4b582ac9464cd5c693240a22cb67cd9332a37d4447864e58c1c0de6915420af49cf5541162d2e72992477e748923988d4675fd9156f54413f813402d904b152dc95a4b645d67da1789c52f69171bd25b3e06abbfdf5e372dedcb9dc9d73f8f0211e0cbde2cc95686fef6460652b0327175581c9efbaadbee4ffe0ebff3e03172c57d29d5c217ce3bf7e84c5bf7c1c6b2ebda26cdf4b6ffc00f26d6bb1fe8c39659fcf5b75119e7ce249dcf3eb8771b46f884d84b5587be155b8f2fc33aa46b7bad96eb94c9a8b98055d02926909c1a00ffd7dbd686cef82904eb009c8058fc78191a121d4066bf90a3fd4d2853647163d878f21d8d88a39f3166274740ca3e3930836b7229f4ea1afb78f07fe51da645f5f3ffca1109b5c32e81b8823585fc71696510c4673f0d79e9c5f3893cda1a9a919995814beba3a649293986433655b6b330719feba7a068ea298143d5c94309b2e60f69c79181deac7e8c80466cd9d856c2c8c68781c0eb7071d9d2d0cbc0cb1d5660dea1bea30313200d15383baba5a0c0d9c80dbe7472828b23ee9e3bef47a8fd3968da2895a0ed88d239307ded87300679ebd0efbf61fc0d163c7d03f30c869fc642221afe20d0aeb692768eddf6669b8fad5b0d1df5699305634babede8c95dc3cca5888721793febe2a296a677a2d95a9e07f8ba66aa3a26df68f304527454dd516198020b70b551ca6945455ecceae1690591655f16fa99cad9afaac8a3756faacd8efa231b3a16180ac24ed8ddc269692fa0400b319bee0f0786be076ba902520c8fee30b0162323469c92a736515ab64c58a1af59b164811482265d8f6f60e0e44e6cd5fc863d356ae3c13dbd8dfebd6ad2d0b48af0293b7b0cd59b6169f59b6b6ecb38e85abf10fffb87acabe679e7709ff31da426db371eb6d9faa5ad9ea76d21b2d301da2931971256d92d21bf3125c0e36e9704a5b8453c8633c1c45735b3b847c0691f01862852c1c1e0fa47c1a63a323981c1f83c3578796960044b780fe1383689bb114ee54187b0787316de962642323181a8a62fae2f9888df4613896c6b4ae9364f5243621526a27f9eb795a2d4d924efe194d5d14483a36d807a1b69501981006078618201941229d83dbebe2edcca5939c75e9ec9c8640c08f08032389ac137367b4e1f8a1fdec3c3598d1de8a9efd7b21f81ad0deda80837b76a33ed8645b0f43757bc92b5c0171068292ac6b292b63fb238fa2ff782f8f29e1ab4c0b5d093b7d12ab7a33aad133cac6315bd91ba9ac9a49ddabe7366355f441b5fa0ac656a26e66edd0ea9c5801196d469751df9a3144dab6eadb4f45fd28a859751398c54d98d518326303ac8a119ab9c18cc0507999006b155623f0640fae18f848ca597c2471c1419208ce92e4d822845c4f66827f53dc69151460d48f2da358aa19d3e50c9de3c78fa2b1b10173d9e2632b7be386d8028aaa1557814975ab6ea7f1e6f4d4a0d621f19208218fc4751fda3a3be171bb203983f03053ec10723c2593dc27eeba0664c6c690969ce89ad6c6351526c371841a1ae1f307b9e14e2653f006eab85231653e50aa214d3df1641681a0ac461ccf14504b2cca49b6375857c735151c75a4a9e0822bd4004f40e4bfd735d4f32c8b5053339cbe00bb17379bb4ea303119456d5d23827e0f26c646b946447b07a56cd6f06043628542413f03590c2c881ed405bcc85330a1cb8780cfc32972a7d70fbfdf678f9b94f4460a84a50976dbd64d98396b36060606d1dbdb8bc1a1411e73a04ebe5a63a877e79819f1939109374ac3358b2d3033e44600c24ca0cd8c45b0328e66ccd3c914883373fde85d5f56ee04b37e216347e9df3c8bc62200d9ea79d9010f33578ad5fd9b81d74ad381cdda68c8a4416646f2995429cb87f759a1ac9278250ac19504c25aa903d3fb150a05511b0c61ef9e7d58b060016727674c9b8603070e603a032deae2a00a4c6cb76a75e1eaf60e1a8dea0ad1e9864f79a3d4c4f26031ed4e7dd5dc686a50e851d189c6e656cddb18e48044bb25d37934b6b4709092ca0b686a6de5fc418e1ddb42f124528e1bfd96c626cb89593fd9d2e6f5c9eda0087df917069694fd7c4ad0697d43e9bcd4366dfb9a5acaab92665329066c8268aeafe50ab035a13ad4d5fa908c4ea2b6be11b5ac73629361841a9b51e332d760e0e7ca66799af0fefdfb79755402277bf6ecc6a5975d86d75edfccc0493f868747b8b12cab5fa4012956f10b660043ef6ad16b98987da7376495b875cc8c8cd9f166418e66f761e40ad27fa6075076ab74bb369a8101ce20320347d936042ae7cc996398b2ae75af5919de4ad2bb2b6155acdaab078b8620c322d6c8aa3e92fc10f2c530d7a2e26d05e0aad2caca9580285543a8bdb3033ddd07791c50037b57293be7cd37dfc4051b2e80c3f7fb0726e2e96500d43cec7cd51a56b7df2be8b0daf469b9a7726b686e41c82fc38526f67b80a7be0b6866bf7b9d72fa216910b8757307f98f8d0c0b0fbecbe5de96b6babc01b43637caf0cb17646049a6eb7db5750c8cc9802650d788c6ba40f9fc4c69931410a86109a84f69554d068c04b9060606e4344736891e39d283782cced34d8d6ac09855b235323446da1f46a9bd5a83a06733ace4dfaddaa43728462c891168303a8ffe3eb406de0c78e8c7b6be7e8d15a8adc4a89b1dd3d7d7c7dd39668c94d5798c808299ebc32e40d8e8d95a154dd48f1fa3fe352b6160d4ffa870df93ad385dc9fca57f079ab9409e84a3478ff3582012ada3da749168e40fc33e9f2e0682a2ba49256f723289f1f149be82aaaab156b7b713901895aad71b03d230212555ca3678a728bfaae980a457a29dac68c54aab5432f227abb9f276f63381107a9fe947db5ecac821e1ba76b67a23d6841894898909065426797a28dda36036e9dbb0205613b5faf7c9b853aca873a3eb6a0311cdeaf8586562e86337b43105fac27b662e092ba559a3ebe80bf019fd6dd5ff6a9bc895432e9d86860643e36a97ea6dc58c58b10d662c93feb99a07d2c236cec48aadd3832c3d00b6ac880c186ad258652c59ddabf65ab428a0b982025d290688c4dee87b5a18d0bc4669c555606231d9529d058f2783eeee033c52dfefaf317c58d5adba9d2a6042a0231e4f2855ae85b2f4423940d0c9eb74bc9dacc95bd93c1eafa63aae6a38c0de211f37e866da217fa8b69668fdf24994543ee987d2195b5bdbf86a3b1e8d6372621222bbaf9ca22fa137f4da095baf2f6235c71815e6d3af94f506d428fbc76c956e54f1770a8d6d32a7d909b219b9578ceecdac768f55e687de7d65059cccfa543d1f014e353b4705c856b13356a9dd6612ecfacf2acd66b173c798c5cf58ba6c4cc09afe1a76ee183d88350a2eb66347ccc603bd7f0414c7c7c7389b4575921a1aea38502121b62a30b1d86882a2d4c370388663c70e6952dbaac0a4babd7d4c5d3e9f416fef510c0cf4295a0d53a69d772a9c3f8dda0ad3f798def1bede5ecc9b3f1fdd870e71aa99f45ef455838d325054c0a0cdaa31a3f98dc083551c81d1aa5ecf3298052adac52758194bb38c232b236e15b86b05348caa251b3109fabeb6ca82a18d800969e2d06adc0e5099195eb36bd8310b56a0c46e716c3606ecd837fd78b0020a56edd17ea65d5cd81da7bf8ed1f5558684ea1151b804e9cd500daa3fc476da05bf525d8150a8168140eea46a9354b7eaf6569913872324a7a4f209b772837a3a19ff77fa3b9fc9a6b92b6a6232c2e5bc4903a66062d0cce870b38276566c8399468559dc86194b6065382a7157e8db6ec6e65831344660c24effc42e6bc50c48199d5f6d37afd33336c6dd39566e82936181acda62d48756cf583f46ac147ccdc08b15c36505642a3dc66e1c5532b6f4d720770ecd71f46c88d5f2fabc88c4a27f108fc469999523031281d3e8d5adbabdeda65ca93153ddfe305b3219e33558f8bb9fcb20cb26cd4c266d9a326995ba6b64f0b46aaafa781433a36d27be66a5d46aa405626698ecdc2c66194256065d7f7f76c79ab9c8ec8083993e88d69d43e9a9da77ab12b13b3bc6a8d27203568ccc5b0d24b5029595b86accfaae92059419bb53c9f5683c78bc5e5e4283ea1f51fda21a0654a898623295ac02935247cb8855adb058ddaa5b75fbdfb991eb86f456c89865192089c712ecdf1c4487fd2ad32a43c70800e8035e2badda6a167f6117cf6015eb63542bc72a48d20cace85d1b66465c9fdda43fd64841d4a80ab29d0155cf4dc08432ae28a859cd22338ae9d01b5f332d133b3062d5c756427346e3aa9214622b775a2563b11230743205fd8cee57bb1f156af4b83d3ca59b6a1991d612c57151d5e72a305140492e4725da53bc3857753b1d5906d2c77070768b0c4a3583aababd6560124ff2f193e68254a29c35200a96e2665641f1da095daf4d6236f9db1910bd91b692aad707945a65b318ad88ad56de4640a792780bbb745d3305562b0368c55a513f91cb40cdfab02b6e6865d4ed0a259a65c0540240adf459ac04e1cc9e819645b36296cc52a32b6571acda61c6f09007828a76521abeea952036abeacad1741e051d6632052ee15bdd4ebf8d5ec0898918bcde1a0483cd6f9b7646a51b5d9fd75da1d58022ca45015e14509dcf65d958cbf22aa5a48028d17772f52e4dc55e6d050d659c6a27a74a0037e44268ba2a1ee53ba82f269b10c6c7c7313232c2572cb4aaa4a87959af42be7ad9240d94b5b21880a9fb4efe4c569f349b3c8b93a3b24a30a4c02129a9bafa1e514ac54ba54ac792fa91da8a82a4a95722e8eab594f70a51cb0383c3a8f1d5707a99b2a42863c041b5459431656680ac62428cb26f8ce87d2b978791b4bb5e8ccdcad89ab1179564c954a2666be63eb2625fac0260ad6259f4d7b50218da77f2e8d1a358b8706151ddd78e71301aa766e9b146cfdb4acaddac4feddc3e66d7b54adfb503cc95b02566e0cc8a4db36253682853e62bc57065d97c488546e9b9ecdcb5b30a4cd4ce22c9ea69d39a8b699a0e873825f05096d4ad029777e2e6f1b870fc38ad863a3063c68cdf2b30218666747444aeeb9248703022b0f1e371b9e1632f9ed7e7e320848cbfcbe9e2a97244631260c930f0222a65dda18008ae85a42906a69a58286a8deaf71cd028a655959e1624c5788ba573a8e7a63f45456889ef27c87b101be074baf1d86f1fc67df7dccd2beb7efc139fc0ead567b1f19ee5a09df6171cea35044da554d5304a10ca8042093ca880aa902f14018ec4f1425e394e012e74283b77813291942aabeab1d46e15bca9f7219f43494fa67de95ca241cc40b15f95efc452df8a28011ffa9f8f0192dede3ea4d833cd65b3bcaf69d2a4c27d54d1585be8ac12cadb6e456e66f08c8ca30a5c44a5a2b115b36014086aa7fa5a892bc00ea454723e33806a66bc8d5c3c46f75109e343e9df949d435a354662777606db2ea3ca083458c5a798313f46fd6757a3c72ae8d68c89334b773663e1ec0278ad40d7d4be13b9960967b9731948f91c072a77def9034cebeaaa021375c541ab5892e9a7be0c87537cc5a4f6ab2cb8e6e600a6aa63f2cedbe452e705ce521028a195eedbb92593091c3f760cc3c3c37c3c5091b0c68606b4b7b5b231e4e2015c89788cfd9b463812c68913fd48b1cf48dd907caa144c492b050235127b310b65d54925cddf8ad686fa9da052020a13a0ee21c8069defa952164289af28a8ac4711ac08dc90ab869d32170eecdb8be1d171cee83cf3cc3338de7b82f569ae482ec8461ffc3814c1935c7cac04464a4c8fba9ffcbea8e27104c2d85f0ce04b32a52303110dc8518f5553a5b59559d572edea65089ca92fa97a3d426b922095b135c5ef24cd4a1b32532adfa07c42a7e8c4c4e40456ad5a854c8a5c380ee4593b44a17ca16297ceab37a846b11146b1217625ed4f2696a1d200572bd0a0bfae51f0ab1570b0025d562c82551f9919492b46406d23c598903ba7b5b5d5f49c27abd161554bc62a63c9ca5567755d336558b3f1a8ddaf927658dd83993ba912755c238025b27987e6427a4f1d3c2859e00b822a63a26fa05340349a423c9ee5424c0e47492c898c88c39161ab2acf3b4a30aabafdfec02bb93aba0fece7c6b4bda303679e7106378c948ab873d72eae7b412beee1e121c46331241818c9e7947a2a0a43213300226735c8608a0a2b4212cd420909734663ca8bcded6841035724b57682caab680cbc4c9da801dd65939e24b304452642b9465d7d036758f6edefc69ebd079495b6960091ca7c41ccb473d641d2f4111d2fa84c85c2ce402836d398ba67ff15b4cc9016d44825f78cca18f0f74fc3ccc8064534d47d91143685da2a080e154e958328a53fe94e2806e19c75eb90c967e90171a6476659a46217e803578d56ab7646c92c86419f5d6337d1576a40add80a2b097633a368950564d446238559f53c000c6321ec00985dfc85def5457338b97348c44bebce31eb2323b79d955137aabd63762f46a0c1cc7d6295096495ed64e6aa322a0f500970a924bdb812b9fa129b59e095c6e9cd97e70ec0cd9e4b1598186cc494048341cc9e3db3f8c08886a7225e43437da8a9f154adf4ffa28dd43e4ff49dc0e143dd3cee62d9f2e57c4c747777e3b1c71ec7f6eddbf92a8c1810a7c32917a9632f21459a935123aa927eb8022ab1234a4c098fffd0c5661427115128418f0a0592a67e8fa20aabd6884c9984501e696126076eefb250590f95ce50980b498d3328b94c647792a4801bcdbd28e08dda5aacbf23a118a3a20757847a0415f5a891255326742d582b81393d8c53315e48298428f03e934a6d9060a8eaaaaf86fb56dc3946065ccfb8985d577facde6d63b7aa353bbf1990d05ecb8cc5a944a7c3ccd8ebb387cca4ed8d56ed467dad1dcb745e7a57299eaab3b3b35894d1ca2d6105cef46dd4832b3b66a252e069a70d6397356315cf5249bc48a560d6aa0ab1910ab0a4309daa0b9a2bae7b7eff0928ef7860a2cc8d0c7cf838a2d66ee40f93fb93af3511aaabe5017154e82b9b8c231c4b15191632380eaf0f3eb71389480492f8bb554ca4d8965aa5bc7b2c4ecc8dc01795c4de10f59ecde6df31b553fe981892e1a121ecdfbf9707839e7fdef918181ac46f1e7a081b376e642baf63c5714111e6c9640ae18949f67ce2dc5d43650c8896245022495299405775b3dea834facc99b39400de4219742a4e7a1a60a231890074932c7d5f8a912d629862b0acc617452e2db7cb0d91ae99973838c931802988d6e25e662b56ab49de2e93c68cbdd04ff2da63d492f1fa2c203ba1322b76c52c83c8ea3eccd4682b09ecd4331ddad81abb3e34abd0ac6d13b97328d684e24ce89c7ae1cc4a5551ad9e6925c1b856026edafd8dd483ad0083d9d8b4024a7681b866fb5849d457d27f5c4d9dfde77239f93ef9c2d4a0ff2a3029ef560343a53e18177cce241efcd94f7178601c9e4008175d752dce9adf8e443acd273fa7c787c8d17d78f5601fd65c7c1902521a995c1ed1f004fbd28b80dfc727bf5c3ecfe9658753e074563e4bd496a47c26f2c03b110e04824ebcbc7133047f07ce3b6706868627d89c9cc1ee3777a0ae6b3e96cf6f41329d41264d151a63a8f18710f0b99097f9700e5e28d44fa2415ec8c3e574f0e75f2808c8246388a7737054355c8adb045b51751f3c484f1defbaf05d38d6db8bef7cf7bb78f6b967313a3ac6550bc90884c311ae8f108bc578df57c1c7a9d9eaeaeaf1e10f7d082dadadbc805e696253e26b2454ec232ff95f286a760a3fa4b03832f8a1c5c89637dee0ef2501127a57f23c905ab40d04356224ec582d7d7bf532eb46955fb5c6caca209815ee3372431b6503e92b169b05461a1954abec23231066753ea3fbb00aa4357373a83faad8dab265cb7851cc4ad263ad325dec82514fe6dc966e8f0a80c8c9d43caa54d0af126065150f65b93fe4c5453627bb4d459b189fffd5c084670a0853190e32441c9c880ea4c263e83e3680f3aebb015b1ff9259e7a6e1372238d7871732faeb86c03ba77bf8ca71f7e12b3cebe08b52d5bf0cb1ffd146b2eb90ad75e7909924387f0f0c3cfe378dc894bd9be933d3bb065df24ce5fbf12270e6dc189881f4b167760cbcb6f62deb22518efdb8f64de87f844187b0e9fc0d66d67e1f2abaec6acc61c46462288e70fe1d5e7eec3e1be14aebbfe069cb36226f66e7f1d0f3ebe09de402ddcb928dc4d0bb17a593b366fdc84d679cbe1f7e4f0c2339bd0307d016ebae5dda8f700a9ec1fbfe47e257eebe3c78ea2bbfb20ce3efb6c06e0dcf8def7bf8fdf3cf430ebeb51cea4d1f13d3d3d7ce55549f68f3e8556b080bf66fbe8dd0e82ee77606a9a2e4cd61e9249bb8c8e31bac6c9ec63752db3ebd34674fbfefdfb79bc075fd1165d2faae1118b29c44ae4b3fa80a7b8a95064581443a7fd5d92ca825f543792a4664a417105497953bade6a325657fa46556c8da8ed4aa873b3ba3756ba1e467a264600c18e41d12ab2ea5d8456ae062336c9086c9881243dc8d0ef67d4b75600802a0e8f8e8ea2abababe2c27656311e6629c47600ce0c085602228c82aced24fdedb2838cfad98a2d330bbcb58a4f29f687f2d6539a3031cc02ec838fdfaeed1daf7a25574475b1157014e3e313989898e43ff4fbc8c810dc6e27dfc9e5f5c123e4b0fdd517d11f77c01d3d81fbef7f02278e77e3b39ff924fab24db8f996ebe10e1fc1e3cf6cc6bbaebe16075ede84570f8cc0570863cbeb9b706c3c899d2f6fc4c38f3c8f430776e117f7de83484ec4ee6d6fe0ae3b7f869cd381fea3dd98149a71e1daa54826c338fbfc55488d1ec54b5bf6c35f5f8368388b433b7663200acc6ef3e285175f44a0b68501a31dc8ba0210268650c8d7c28511bcb4b51bf9c4305edef8247ef1eb8d5874cec568c8f7e181479e43a83ef447ed9271fb02bc48542020ff0b838033da6fdbd6ade83b7e0c975e7a29f6efdb8fbff8c007f0831ffd18914884bf4a870f1fc6be7dfbb858930a4a04cd8f1d2028c69254c8d749151a7f49770ded7e76e7900cda2fe93e373a567f1f920d88120cce69acd8029e5db567ef5e2ebec4e375585f537f93c64a9ec7edc8f13a045ac89d4aa9d7fc87bbcde4b881bc36a687f655f5648a9fd13179f9efbccc8cf0e3a93d6cf141b2f494a947fba9711b7a806036696b5351b52c873eb6c228cec308f898ada0d5d816bb15b559dc8811bba1051fea7d18b10f5a6368c5ee9c8c9bc18a8dd18323fd79d4fed5670ee9c1147d4e312654c9d6485bc62aeec30a4c1af5b7515bf5e3c7e89ecd0cbfd1b8338b1532030446c75b811a2bb55e6b5b2a19fe14c78f926947a9f8aa7c8264e2b2fb5f0f4c6850534ab0205085d7c3653fa95484ad98bd9c354925e290dc415c76d32d58bb703a0eecdd0721588fe5672e417dc001a1c68faed6164426c69067b73d7fde1c90f7241a8b4174d7e2ccd5eb515f8862cbe66d70d63762e59a15407808c3a36934d63830d857c025efba1e8b67d6c05f1b424ba30791b00be7aebe08736604108e4cb0d6ba904e25303609ac5cbc1eebcf9a896882fdc1ae98ced4e09ce56763d1dc4e2c58b8028b67d560eff6fdcc4037c299cab0c9d78de9f3662118aa412c122f0649fe316e6eb70785e800eef8fa97f1e18fde867b9f7c1535811a1ee04c20a536e0433a9dc5e6d75ee3b2c8ebce5d8fef7deffbf8f4edb7e3c8b163fcc5219f3405bb52896e98187fbdf1160c180fb3cfcd00002cc08260c1604826a00816a04832f95eb261782a618b60c1b09801ba83acbfc7190074f2b809a9bc8dc549589a22de2615a6c225ed71a58c2168744ce49f82628c0b5cbf25c7814b9efd4bfa465a10a09f98b581c576b47aa542637a1061b692b6d391306203cc580efdfd1919283b7979bd31d3de879df68995abc3c84da6ef77b3fed36bba100025770ec90a581961b33e3533ea768c931578b4937ab7b35b562c452545052b613acc028dcd181723303505a8404ec2cb2b4901c21f00989c36ae1c12c42210a21f44dccd23e6d99be0c182258bd054df80654b1620e7a981b7de83a3c7c3f8c8c73f8da33d07f01fcfedc73997bc1b5d0101dfffce7f60e9d9e7e282957310e9dd09e40aa8afabc3396bcf62bf4fe2487f12e79e7f21c2a92c6a674e43c1df8c0c7b90679cb91a5b7efa007ed45787f9cb17c3e3cca2ae69169cee1624e2694c9fdb85506b92010c1724573d962e988f782282f6e99d0c1cb920383a21793dccf87662f1fc181c2e11cb56f830fae661fcea073fc0b485b371cdb597203619fee374dd884efe2c6ffdd31b71d7ab497ce9e3d7e01fffe66338f385cd98953d841ffcf2595c78edb5e8d9fe0a66ce9c83e696167cf6f39fc7c6e73672ff7378729cd3be7a978d95bb423230cc46ec8060c37408360042b00001762e213b578a11a8906cdc4695ba8a8c1824c1603f5ad11e65c0904b8817035ca562cab15076224deba6209eb2bce2521c50a1507a5e2ac829ba84c0ebe5884a7614b971ad408051fd964ae4ccad0c94592d1c330971a355a9155b6114db6217a360970162e6e2b092703793e0b7ca3cb3ab8aac776f1819ee818101eece993e7dbaa951b6eb072bd78716385965be9ccc75edbeb3cbdeb30ab6b5cbaa316378ccda615402c1e85ef21a3da63f940cc76913fc6ad54152210b474d232ebeb81dc98941342f5e82eb56ac428e44b5320c383434e28ce5cb70d93502376ea294c592e52be0f1f9919d1c80d83003d7bcb70ba9540e41064eb28928566772a86f6c42747c1470b979e06a2c96603d360b7f79eb5f21531011aaf5201289a2b56d039b8773e86360e6ec73cfe09327a7a10bd370f55c11fd6c75bf6ccd59b25f5c98c5fea5b44b273eb2601522f10cda9a9c6868781ec1ce4558bb7a1a57fa0cc75370fc11d69751d543172d5b81c0a687d13398c6676eff1cd0ff2a2ebbe54348fbebb175e76efccda73ec2c05d089ffcd4a7b16ddb36f86a7c38c6565444f9c28495a8047c481686583271b9c086d93063182483b654e22e320323d2497c6ec58c98c59658b134f27b56c0fefdfb70e69967caa9bbf9bc06c0282c882494ce59ccde9134d7904acaf582ce804aa50951ebbae0ef7f4ee2f42ed73f5134538c0ca959f55db355a9d605a2670decaaf69ac5b798a50f5b49a75b053edad1fcaad137aa0fa48d3d31fbce4ca9556f3c8d526fad825f8ddc5456e068626282c732519c891dc35169b566ab20592b506257efc82a66c62ec8d60a245bb12366edb0bb5f33103e75dc09c5f79602cda1c827fc215230dec1d5858532a9e74a36d23b119d4e14b239c4b3313ef3b9d8ca2aca56d95c4d93ade252c9b8f2a252f64b1c125bc1239f41b620cbdec722935cf5928e8b4c8c73df36d8041c8b91af9c54f05272db9067a024cebd61b96c467651b81cbcea6969cb2195064f5f2ea9e7658aff12ce71b0730d8f6571eec5e7f11779221ce333b3cb791a254c19f908353100e59fb37e8f8de3acf557e38ee59762c7b33fc557bef80442ad2eb8175e816f7efc3a06f8820ca835e2e3b7dd861dbb76c1ebf1a0e7700fcfb4316302cc0080192030032f52056e1c330063c6c0d881844ac08a6001aa6003baac408b60d27633b0b677ef3e1edf13acad455e71bfa0a86e2b14f37fa512f5211f2b949f4911df97c14bb131b2ac7f51325f89a7506357b25c2a3bc7191651b49fb08d0c9bd1e766592c7ac643bfdab6732918192bb3345bab745f7df0a97e7fa30ac06adfe9037daddc12568651af6362b62a37aac963e65ed3cf17f48c7b7b7b79760ea5fc1bc56858c9c757020e2b1529b302929582c64ace67769e4ac4f52a051c5641d4e5ef86acda4c1a61e4ae2d7041c36aba70d9049a955c98c836c055a0415ce08c84901d87c44084c87ddc6ce016944c0045cba45020aa970c7f82810c2f3c1e27e2f10c9c0c1808ecf344ae86bd015e9e0225e626d82a2cc6afe6f3f9914a29be68515d81506d0e0f3b4f1e0e31c626452fcf0ca26bf29a1e2205f2895c4f411028482fc1531b0578904c4a70380bec58d2ccf07076441493ac8959e5e17bd9797cec3e283ec2c53ea3ebc415b9f11a7ebf405216908203794f1b6b83047f61881735e473bfc3c5cf25507d13f6773aeb42ae90e5c716d8fe6ea703d36a4658bb2524d205f6b7886426cf27f47abf033176bf6311a7ace7225004768ea78749ae5ae4c40638b2130c5765984161c88ab78f260eba7727075c02d2ca1a59e4e9dab23dcaf0fba17e7105034814fc68806e45e970c3e3cde16b9fbb0d3dfe75f8ab5b9663e4c78f61c99937a1c931caebb5cc9e3b071ffbf86d7863cb161e1c7be4c8119ea20a131061e67a8085713633f84065f12066c1a795b85fec40022ab8974af735638a50013032022727fafab8f158ba746999daad2acda6cc70e5f729a89e1da928a75f90959c54675011c4a872f505c590e515434e45fb3870c9cb6c89283a2d41801943601757a11e670406cc0af6d9312e46ee20a3cc0d337640ef8a309342d71b7ab35a2c7ab6c7c8f8ebefc34cbbc3c850ea1578ad56ff7a1043ee42d59d63c724e9efb352a6c00a6854e2d2326388de4adab2d5ef461936562ab356ac909db0a0960c50194a4952ea78fd0128937766113f92c48d1c816be06e781d245b9c43cee187d47c11c3159d4846d2cca8ef86cb15669d4794720d0f9a73fbc248c5db5967ce42367702e39371d436bb909f48a39009a2cbbd1f4d811446c25144dcabd13a7d0d5289491ce939828ece04073fa9840b4d4d7e0c0e0a080687e170b721919c0d217700350117032251c42223707a66c317cc6174780c5e5f2b1aeae6f1e0ad5cae1fd36600b1092f46269bd93107e0768f201e5bcc26d726f6e0d903cf0fb1b6f7209198cb5a9d80e81c433eb70c4e060aa4fc4e79d088b3191890b8f9770ddd8d6c26861dee0bd9f9dd5ccc4d4a8fc92b545780276ad6d78ea2d6c3c09ab313eebe47303676023f1fbb80b3384d0191a780cd6d0f602c9ac181fe0cdaeb535835370e672ecb06611bf26c28080e06a2127b114cbf865480191e5f88f549236bf320c289087c5e9a082659fbd87da0835dbe804c210529c7cee3a40278cdac6de370d76691e9e9477e9c01b1969bcbfd979904b2ec59fef7bdbfc4173efb39dcf53fc7f0f7dffc393e70fd3a3cfbf41358b7f65c7ce10bff0fcf3cfb2c1aeb1b70ecd8b129a004b0ce92912c8cb364124b62148b62174b221930244660e6641813231648b069ab64c2eae024e357ac4099b6bd7bf6ece1c0a4cc07aee8d4937a6c419091885a5c10cabf7ca22b2aaac95a25c552830a98a18c1bbe9ba2f04a2e51623b8971a4bf1d4e8702870a96f122aa01374a61359ae0add805a34054239785990bc9ccb0186547d8b941f54c8f9131b5d33831633cacdc6166465bcfec58c57ed8adfaa9ffa9a01f819359b36615c5e9cc9891df858daf44f1b7d2eb5622b466a702fb76a4e4aacf4e1594b47327a9b15d05a55c04fd9d5332e6aac084d812f613ca1dc6a2cc8f3056772e6aa6af056ace07eae7c0e50f23971a60c674942dde1bd9e05dc28cf97e241321f8036136c11d621dd9885dbb26303e7a04575ef97eecdaf1287a8f07307dfe1cbcf4e4f770d6d91d983fdb8da75ed8c157e7f9dc18da5a43cc68bae1aff160d38bafe19c751f407db31f4f3df93c726233aebc6409b6bffe2a033f292c5d3603afbf7400fe20b06acd59d8b5ed387b9946914b27e0f500edad3311f5f460c1dce388473be1aaa963cfbb0ff96c0692780edbe7009c8e51c41337c1216e63836133526927035bf3e0f3e5d91bbe9c81984ef6746a918e6d4628fa6d0c886bf1a6eb36cee438843cf2d114447f0bd2623d9afc2974cc49a0b3653d0ac75e4060e0f3d8e5b9125f7de926dcb8da87db3774e247cf9d402aeac7c24e3fbe7e4f0fae5b27e28acb2620b13eaa119b58bbe620e30cc27be811b4e32e8c74fe1dbc2d5dec61cc6760ec69a4924be0f576b3c19c80a33682b1c92c3c6208a1900b99f8281b486cf006bcc8c5b3c8856b101a7904c7d8c84e14de3fc56c26e251b4cd5d8d1fdeff0cff3b954ce29ebb7f81eb6f780feebefb1efce4673fe305f84ef49f28821223036aa5e561163b2254188b62054860037eacc08895768a64e3c2116c5c3b764c8950415c4d25e7deb97327aebefa2a06b8dd25797949614e14770e0f8e2d338a1a05588515293e13419e06d5c27e6aea309f1095827e1c947076526648251b2133f55fcaf23232a29564e958c514545215d6ea9c5606c9ca50569a1562b5ca7eabc75929c6560a02ecfa908c28691251a989bababa5356a0d58c35a9b45da7a2ffdeeab54e0648e94109b965a81f9d9ad000d3638b8b8652da3e5f1c54818942cfd1cada13c0e050078ecdb8054b96ac65c66e12a3fd3f6408cecf3ab9930de033d95e8d70ba02c8a492a80b6690cd85e0768d23d0f0349aa7b5e167bf38c28ce023d8b36b13aeb8e2bd38185b847b5f0db17f43e8d877187bf7ef403cb516936327f06fff7204ef7ecf5fe070f7ab7871e34e4c849f412a3381dea32308363f8bc9a1663cffd483b8e196f7a1b6ee6c6cdbf90a7a8ef4e0bce3418407f6239b7e0efe9665d8b1ed30b6bc196346f66af68c5f6740633312c9f7b055e432d6ce8d7079ee43561c4732790e1b04cc88a7c30c582d67f7350031ff5ba4c03e17e7c3eb8c31833d09d7d08340dc81eec02d6c90b8f9e74847e074bb20f8fcc8275368af8d23583b0ba3c776a3e9cd8f20dd7a33ea975d8b959b8630b3612e66d44b700b39f4f48d239d8cb1dfb358de2e221677a356a4f4cb186b9f879d76104dc96d48d5ad81589f4336492bd61eb85c0cb8482d0c3ced452671239cdb1fc444470219b103cd0762f077a520d4c7907876179c5202fe422fe01d86d337932270a618685a19c528cd97e7ce0b78e5e597b072e50a1c3d72145ffffad7b9fb86c4d2e8a792e04f98187cc164c56fe7a2110c980bfd3195a6ddda09a5d9dd8b1d4b225930494205ec875d169351db297b82e4ff172f5ec4ab336beb091594cabf539907e3f44f1e7b52d0ea7f28ae1c45d344522a3473297aaa549dcdf1f38b4ea1181c6e16e4aafe4ba508aa453e4f9f8d8afa912ed1a2458b4cd36e7f2746fe943114271f7f510cf2fe3d089711c8a3648fe5cb97f34cbaa2ce932eb5bbe84a5317139cb9cc738d2240a83226a51e651d533f1ddea80bb37bff1b13cd03188f7881dc6ad681d3d9ea3ec026a60ce75652997144e3cdec61bf818ef635c8e63d4846334832f0d1d0b40b2b56b7b189ae1d2706fa207abcb868c3061ce9de8ea1812df8fb2f7e0179c989cf7cfad3387e34820f7ed8895fff6a0fde73e39f201a8b7031b50fdf7a15ded832868989042ebdfa7c0c0ef66168e8212c5e3217d9ac038f3cf45b7cf42fff0cabd79f875ffdf2a778e6a907f0894ffd2d3aba5a3136783ef2591f3cae7b587b2f65fb5fc726d57bc881c71e7627bb975decdf349c0c8489d295100b0203234fc0e97d840197abd864fc3a02e94d88084b31505805b7140688dd74d74270f9f9c0733bf398d3d6c100463dc4bdd7c2e99f8689f9ff882edf8bb8f68c6538920a623892415b9d130d811adcf36a028b5a2671fd82fda8778aec333f868619d08307cef40178f34731225e018f484c52121ef7eb0c34ad60bfbf819cbb0dc17c1ac1e70ea165761b32ce37807da3702ff200be026ab6b0176e6d0f86ea9b509f4c60225d0f97e8347f75d94b303834880803202b57aec4273ff9298c4d4c309015e029c1953007b031bec2494c2d4601b47660c34e3dd58a7d008ce35d2454162f23d9b86d6001bc80ca84e50c5918f6dc883559b27449b99fbf2015955ecddc21c5cacb5ae32015345938797e9e5c21afc498283a26391990389d2ef6e3e03a2622577e2e58a6dfd23b4292e752b534c169b5914b8732f0d420d8774e9c81a4995444e337a8c83c4cfd5cf4f8d8fccd6c598681e554ea6d8d2ba57783dc61a6efa2de9d272819397cc120bbffb33c69e3f7dfffefcc181306ec9c6e01c9057f8de6230f63db83df476cd9b771e1bb2e37396209363e3789bc7306a675f4b2092b844caa19f3e676e3acb35ac0e00df6ecf1e2c8c1ed6cc017106a68c39c3975f8ca57be8b99335b71d14597a1a5d58bbd3bb761fdda7763ebb66e5c76e572d4f857a17fc4c58c7312014f88af0e2391189c8e3cb66f1d63e7cae18acb2fc791be28367eed4e0885147ef4932fe3f89109ec7a7327ba16cec59b7b5763656703bcb9975117dc8a58cc8b44e60c064628887798a1d816b8c5249b6c3b10ce4d209d59871ae74106b91e460d8e418c8ce284fb1a8c1698912f8c20998ab1ebe4e1f2d6f1c97a7a4b80e1947ac4dffc67d426f662ec8c47119e7c15ce7c089fbe50c227fee7657cf0c74b908e0e33405783d1980377fdf90896ce953011a64c26273cde282612121a335bd9a0f420e50c424c4d83906f6113fb281ba069d4855ee12cd58ec9997876ce6d10d2190829f6a016ba202605f8324e24978958d5ec427b88819ee35fc46470219a35625c46ab87ed5bb77150f2dcb3cfe2c9a79ee2c89e627554e45e69f68a15b0106c0cbc11c8b0631104d8078e9e8c8b0515301595cae85792e62c55706d58f4ddae5dbb706dec5a1ef3c1dd326a005dd9c48d6225e2e20acd20e6410517f20f4a8ab0b4c2538b0352a69ac7ad14ff13e49a3994d208c1b4989c56ddb50a4c4ebf8d185372c5bd63d82e2a1e396f2550df0ce9f841882b2f44a1ef10b0f73539909bbe0f364058b01ad2913d90464f90f88e0c61dc1e886d33209d7f3da43967403cb41dd8f82b14c686504827cc90053b5098fa16d2e70ca0f37fd922974ab280bd0ffc33daa8ce8d52a4d64cc8cd508b46f9bf22232c402e9859cdca51a97e201b2fc03de71ac4eacf010e5d027ff250f17ba2a45e79e5159c7ffef9c5cfc6535114e29b3153f23363db81b90bbad0d4762986fbb7a3a36339962f8f6164a401477ba3e8ec381fed781c6d4237428bae472bfb1ef9973132ea4273633d9a98716c6f0ba3b1791972588cb9d39b18c8edc1ee1d7e84eaafc5fc45c0b6cddd0c4c4c60e9f2ab70e2c420e6cc1ec1e2451730f0e24657e71092f15164125d5834538427b00ae9c47c78c587d0d2be13037d17b371dcc71efc34885214a3f131d406a248e67a1108b6a390b906dee033a8197d13e9c90076d6ac476d938805a10604d30ea4d8a0ea871fdd7d3104fc8df0f5fc0052ff371199ff3144c513f0e55fc764e266cc89fc14df59fa0c6edbf5351c75cf820f497cf9ba215cbeb0e9ffb3f71e60729ce799e05bb1734ff7e41c90061924411204a320e620919265c941bb6b59cee1e4bb93eff679f6567eacf5da7bb7b7be75d2daf2fab1286b2559b20225668a222990a0480004881c0793f3f4744ed55575dff757576366d0d33d9064935ca1e6e9673a54fdf5d71fbeeffd322db8187285db682d8fc0171c42494e23123f8134c2b082b4b9cc5e026647e97936d142d691ce5e87e6b6391c9b3980cf3c31885f79388c5040c5f74fc4f06ff675e285630b78faf545fcf683ddf8935b66a17a3514b4564825920aa8cd6a1b618c000827cdf39154f4579ffb6f08048242525ae957520f1048a89f00ad9ef3672da65ccf2404d48ff6594b344fbd04696b1983b59864d61aa1536bac66676745b4d4b66ddb44b6ce6533605f1e75cbcd61b23403a86d2dcb06ba346789fbb2ddf765734f8923d62ca7dab0cd26a39255c98ebc32e45796655c3bdedb07cf230393aeaeae7747871804900028edbc1336098772200a2c4c015343ce5a17f5a36428b73c02fbbaf7c19af823072cc88e6026eda2eb3efcdbb0194ccb2aaccd37411edc0d3cf137c09b2f70e1b72befd7bd01726b0fac232f578a5a8ab63ad743da713b6c125af1d6f7616753905a689c76dd25d25b58079f07528b55c1facabdb22cf2c729f12dcc3846b1e814f00384c6f11a30299334aee46b659ee0a013e406ef812a45c56f6c7be4da28afbffe3adadadac4c2659f04c56a4193ce753c14020ced48a713304a2fc330389ae461e47347d1183a86a69d3e643185e4e9715c173e8db9c5c330ba92c8c689815a1231e0f3d873b385c5f969227e4524acf508fb82508b9318dcd8448bea15c4e74d6cdcb4171e92e092291991f03c1a1b5b11cf8dc04a5bf08566094830a86984961b4669fc003d5017d2ea3aea5e01e1e025ea1b8383ed80fe34c6123a64eb15f4f9372124079153894817e9c1274e6358de8e68dfcdb85dc9c13f470cdb2454acc8b83e20e3f4d65e28639f8536fe25e4b6ff167cfd9ba0a65518f62720a5bf87c2c4f3f0f87bf1fffd6a0b4cb9135af149783d2d881b0d048426a0d17df2b686587a273ab57148b173f0f56c82d51c4031358b92c6aac64eda73a7080dde4cef5f4477530a3dcd2aeedfeca3f73edcd6ef475f9b86a9690d871b4c34076d78d3a791d742c87ba2d038cc7b49f9f7a56ac69191616cdfbe43684a8e9f3881e6e6664c4e4ed4d58600b52374d6521b66b5df56f3c3006a3bc1ae35191b56e91b503fd266ad1a985ad7da6b00626bf18be1f963730edbaf2f6bb89726a3771c552b91c04bd5c812969de998dded4a0401bf4ae53a39a26020caf94dd8994f562a61c46e7b4b8148bdc265d78ef7cec10c914b4e70a98a775c6bc26ba9b50f764b3730791e36671ef68521dd741fec17bfc2ea3cc89b6e84ddbd91557e249019cb1cb46dd666780300f1254ec3204c9efc596839ec2b4d415e3f945ffa8ce3537e90804bb0c10127be10a48ffc2e30741a6060d3d4013cfd05e083bfca03069b4d9e1ffa4d585ffecfe27335134eb5227f6e39098ec811794c3455001406488ee0710d989489591eaa720456f61692baee45490d8b9f2e5cb8801ffef087c26bfbd9679fc5238f3c2280894f69862ebd4d8c7f1b4959518c8d7f153a01904602087ae029c413fbe0f3cc20d4701ce94583265a4734d58a70fc2b981efb24a25d1e78d2696473ad582ce8d44e23dac2e3f0140a5848ce42096ca63eed26c07412c5fc0c8192e78868b6a2583020d913389f29201abc095da1140aba85fc621302b13f85b6f81cbcd90b285a1eba670b62f3bf02fffa06025af3b4ce0e537b9b10f1f99036461054a330b9e0994a0b277612a545bacfc63fc03d79022e6f9f7516ac8f1672d1147e385bd6d3795d1bf04ae1df219e7e141d9792e868e84634721a6a9cc6a294c358d3c7110aec82377e08251a9fe1b93bb1a1978043aa1185fc59a87a031afceba166dfa4e7f121e121246fb720107c9d9e8b083e8da56467e1550fa298f4e0d681007aa212de1c2ae2fa81069c1dcfd1982958d711457f78123bdad2c8642760877a68e56bf07abd0294040281e512f7cc0ca1f282f8fe8b5ffc22bc3406c964a26cd3ac1e45b3f2733d3f8ed5daa9e5f40ad40f455e8bc9053500c4d584eed672b4bd9ada3cab9966b0cab8d48aea7109d9a953a744d23b9e5f0eebb597107137719a544e397f1924d895ecb097b568f615c04480137e95c38485764476fc538473ad64564c3fd5a4c26be69bf7fec1e094b5261c55f26e0026526c0a38778878830a9bdff76c16da0ad69648777e04763f099ae938d0e080e915485e987ab034d70f5f576d8d1a05c8777f4c982b119f647b0aa4ad370a138d1488c2ce24607ff3cf210d6c031efd35e0ba3b018f0ff677ff0e981983f4992f406aee22c1f6c215c0a4565a7b372798bd641fb1e3383bd05e032665706a9614148d3001802d902c1a6ccbc9fab967cf1eac5bb70edffef6b7f1a94f7daa728da25d100bb9901b24027610edade768e27741f77e00a5c2eb34b8ff0305a311c5d947d0dab61f712b820c7a11d08f2030f126b2d10fd1b9372028bd4680d70b474b4c0b80987bd62ad04859f07b02f4db75628d49f233229a05f69374f36928127d595a44291425ae9b4074f833f0e65e425add8885e6c708850608a87c1bade37f820585fadd732b81a96f209fff000c3b89664f17bc4a0006d8596911daeccbc806b7a3bdb017f2a921a033488b8fa62b5584e591456d1ff9cc18ddfb23f0ef1c46666a8210ee0e18f9e7201967a0c6269051d6c1d7723bccf41416d2876015b6a3ad6582c0c80cd2d30f10713f0cd3c813463b0f2c9c419ed3e51300934b9b61295e1146ad2a971069b988446c3b620bd7a3bdeb287ee7de05fced7e0bb1640193b11cf66c6ac44ba7d2f8e47d797436d1a61dcb20e9f3a3283b911ad50e36036cd8b00107df3c2824ef4030849985859a1a875a40643573ce6aceb3ab010e09f5a3595603106bd5e6ac556b23a17acd9e5ac0ad5e5fd7a2cda9a57959da0fd65e7275e75dbb76896cb0954463aeda599296a5d75b9eefa39c2fc1be1c81e3021237d3ab88c2291965ad88e2642f29473538be235866ca59598be5daf1de3f18f8b2b0522d61debfb8bccc6064ff3761fb4848ce1120894d03195af71baf07066fa2ef1cffbfca1e5b21453981b84bf76e35505224deb01176cf06e089bf26c0f3b03009d95323908a79014224ba8fedf58be498b24160274cc263c1a9fa6deb3a48e284edf1afe2975b3ddcdb8dca11fb53ecbd128d7b5108072bb5ddff12c7bbd218cb66b952c9474cb315bae72dfae22dfa2e5cf99db5250f3ffcf0b26b4c1ac892451324bf8a5c669816482b7cfe467af1821e24c2e78147cbd13984028d4e84fd699a3f03995c379acd571038ff1d14b31b9195afa38577274cfd3168e126e4e439cc677710a32ea06017a0107a54f53411489d88e70330248e1107d68507a09ac4dccffd0d9a863f074ff114f69b7f84fd6d9f457ac3a7206fba1bb1bedf47c9d78cc8c45721c7cf42f1b7c028d9f0281aa29e76020a0af58f086ef2bbd063075008dc0bd5d70a0ce8b0bb43a09380ae20ec1bda616e6d022b34706e02bd591b836d095cdff534ba3b6671fefc36a446e350bb5aa07a7d28a608a495d2205c856038437b4a2730c4513dbd50d4711a8f12720b3df43e01ddbf008f7e9480d628a179157e7f8e16682327d7a7b65e442c3e8c9fdf7b090f6fb3f1c45b291c1c93f17f3f95c443db2fe0e3ef2b201bcfa001a368280ea33179022549bb627ed987647262029d5dddf82601cc12812c664279f6525f051cd4cb945a0d10d4f2a5a8066ca43ad701d5ab18d7cac22ad5e89f54c79453ed5956f673e5ab5efafd5a395d56f3a559f9defdccd21483ca65993097a4b0b697d4da58ea4b229553d657fc4a6cd7b7c42cd7e9b02ae61c7e59ec80c7d95f55c531e14897dd582e07fb483593875d3bde9b07d30436e7bc2bfc86549d1913c0be1d9c15fbc2db90771050b87e9fa339b1dc8481d29a80bebdc2f82900bda643fa19125c13714811a2fd4ddd90fa36032367618f9c13d1326e2b920b6eac72c6e4a5dfafb859b52cc455f3bab8a525cafbc92ce742b9a631296bbd14b52092899906e7ed5f874231824cdac97da1282a3a3b3b973849dac4d80ab458c60861efa3ef1b106d7885ae1f453a751e9a7a8a08db202df29d08461e27461c4631aec3af2d62ceff41a8f20b08cdbf4048f463303bb712d818c0c27c0866e330da034514390479fc343cea22a4e8dd2869b430950024bd0bba3d0203f7d1dad88e86993f404bf2eb200484e7b29fc1c9c847b0aff3125a3002333309b4dd818475094de7be8ae8ec9f21dff449024e03e8d34cb1ac0a0697503d82c0e20b300a3a4aa1f741c9d173cd6720cd6684edd2d615288b39c83d614841da282339440b7ea8a1d304e2663192fa4d28e9ef201c9845264a1ba6f42c546911aaa71b9128fb8ce43037d74940ef221a2209f8080c5d9ab3e0cf2fa0c1d30413f49b3908ab74095ef58808d7cca43e00cdd34bbf8dc22cbd8a742e8bdfbe6f3ddeb789c6f7d87f8414eec7ee7d1d28e503d895781c736a13ce78fe2de40c8dbbc91ee79165f31b5f5c84aea9221c907d85d857279bc9d6d442d4730aad97961e585b682f503dcdbd5d47ebb2166dc45ac38057eb73bdac09b5b436b5fc62d65a87e78aef8870b1693541449493ad394e7252052db86452682fca396b2a154b9738bcba00869d5b1dad8903488429a7648a35c8a622d69a68ba22342db02ed3d095661cf77db550e26bc77bcf9cc3c0241a8dbe4ba466b95c6381138c6f0776df0b7bfcdc12938cb5c45cb37473ca1527f0651b5656966e28961c2171348f4cb47dfb6d248c76010c4ca62e083f16c463c086eb9df3758ff037049fbfed26e23b5e361d402270836c62d9aeaf57dba9f29b5b2d5c7236170b0be94cfa5f7cfcdf95c0844d719c01b5a52d4d40a3246c6db3339378ed079390550db6cc3569ca4e7162148b4865146c18f8595ac93642e1d7697e6e27c2c6a0e6eb42e287f401f87d24c1177a61c8cd08f95e804d129f7f831731ed6711909f822f3581c29967a04b49f82d03d21ce74b0961bbef4bd46e9e008a027bec6f5122066efbbb60aae7a0d8c328298d90327f8f06ebfb740ec110f97d68a77603d29388e607a1f8c791b53aa0186fc36efd38f289347c0b5f4576340ead8f169395a6e708d1ffd3c4c88f429a9982dcf72042a96d904e5d1235764004193a2dee1c3d77320d895373f78681f349e82d0bc4e8679148edc585310ffa16be8352730f160a7b11d062f0fad9c37a1e9611422cf9103cbe29787d87a1d1c21b8e3523ab135892ced0c26fa3713360e50d841a26601635c4e39d74fd226c9355e9415aa8b7d0337e0f96f4355cb73e4c20280de4be8313e3ff0ed1c43174a96fe139df17306edd862e7d12ba5a5a36b7ccbc388152774f0fde7aeb08a6a7a64418682693ae0a36b006c6bfd62894ab61dcd21aee570f205c4dee955a7dae2f79d5f757410ded4ebd71aed5f7b9b9395cbc38242a0ee7f345a7e482ed1239a72537d5b55ba48f5b74438251ce3552aa68489638be1a86e373c4449dab195b66a536cfca81a9565344fa17486275edf89731e7b0768ec1ef3b6ea22b9b2ae55b1f039a3a1d66558ebe112b936b385d61fa20064fbfb3402dd1ef152d09bf57d4e5a6826c1ad6b7fe4aac79acdf0ed94fe7bcf65d48b73d4482b007f6e157801d7b21ffc2bf05313a5827df80fdf6ab9036df08f9814f081b8879e6086c8e185a45cb54abea75459b522ea6c94280a66ad734266570498449c1e2620ba28d9344c40c7475df86db6fdfb9ea35cf3df76d185202c1d04902b431c2adfd04281b60e4799d9ca0b5f30c0c3349037ebbe36331df8cb09287cfbb80acfd691883bb919c7e12526b1621cf66a8920fc9c20c82d2612cc4a2425dd6e89b81559421e7a7212d9e8066bc42c0c743e09650aa5a805db4f03a7e17e74b8fe0b6c0b7d0534aa0c1338982ddc5ca0e78b8a28f771d524d8f429afa267ce97102353ed8aa0f66611e6a6018f9b10648c60c2dd8bba15e3245e5635e21a52d8db05afd504fcc439eca029708114709d4ec69c764f23c8ac6102e8cefc2f1b7ff11bedceb786bf451b42a69f4cb9cefa4016d6dc789f847902df621d27006aa5dc464ac11a3c57e283e2f5a0a51f8ed2cedb30c02bee7e9bf17c55218fe4042108374fc2201f2000241061721484a12d3992241c2ad183047d03c7302a1dc1b30ba7f8336d03e04a70fa0bbe1340dfebdcbe689fd12660878f5dfbc075ffa1f5f469e808ae6f108c6548fc9d7022baba58baf0754aa994aea8191b544d4acd68fab8d1c5acdf1b696390b583df5bc5d0790aca60d5a2d3b2d6b2dcf9c3d23fc4c14b9ec03e212bb258db97e25b654568996ef60b9f94bdc30617b8919a7fc9f19929b11963686f049d134ad5291b65611b46b1a93f7fec15121d9ac5324f51d07255609eab6bdb0f73e02fbec61da0009921bf390442e125a7b464ef89a5c91f48f4d3f1cd6cbbe29e59dc4df819dbb97ddc312c9d7c471e914ecaf1148e15c416cca61c043f7b1bffa5f200dde0429b920cc49b419603ff97722c78aa83375e6504dd1a956e148a99cb5991dcc5948e0ffca35534e19380a6db08a627e000b33cd44f00e1162ced7967e6c03b2f9350224db8970dd8092f1559ae3bbe00bec442ed34220e5af89886da0896347da24b5d98454603b74c98f16ef0bc8e41e80160942f7bd4440e11e48fe56d88b0904a28b181ebd0343b3bb71d7e07e1473d71138d94f80a10faa964769f29fd0943c0a8504bbf3bedb30e62540a04f20a976c163df08bff73524b33168f49d693d022ed65b92a9af7e762eb5847f8532fa8fd04baf21d5f24178265e462ed44700e23634cdd3352c85ae2370d1ee87727c1ee6fa06c80c4a5245117e66dfa4e0e05baf62f8bc8ef9d927109a790eafd932e24d33e838fe2281a14e6cdad0410043472a6320127e0a99b88ebcb49bbebb089f450b5df543d63cb0241d9a8fb08495476cfe3648da3968ca144c7b373c7e82554a8800d0248d2f5d9fed826412a86af422577a1bedf9af23a6eda1befe36ccf3063a8349a4f2ad08e7ae2c7896cfe585f4ccfe099c56dca89299b35ea4cd6a5a82b55cb396f6d6c2ceae36e95a3d2d0eb07aba78bb0638a8078cec1a1a936a1aa25a3e37d58ea18b43227baf97006eb150ac44e15412362d91c2c41aa898719c4c93c2d9950109fb9794cc25fe25ac316160e2116620d698989c3c8adb96976b4aaa154a7393ab5d3bdedb07af07d69a7074ce3b2e34ab3accd9710207ff0f24ce15a2fb1c7f132e3ceb2401217a4a403a31e78402970b56dac70f00a3e7697d9a95bdc7de577632b6dc9ce32cea3222cbc02690237c5be626ca9b89167e9ebe7feb45c7dfc4d5ce7031d693072e6b5eaa6813570329570879b25328d3c3e09f9e8bf7e0356052d69818459b10f20c11b14ee8da042cc5c96fc1048bcd012e116214cd5ec38a9c21096b80d0dd0390ed469a750d9a7a00b92c5722ce523b7712d855681d11c8c95c8f605b0ad3daa721118f6f0cbd08affe15148a37c2c834c3173441fc1a6ae19430bbb4044e61ccec15e816f60c645a8caab60508115a4e36419e4d22176cc7a5e887a1d1066a099f26a0d28c16ff2852a98d22c994c7738efa7e02853c2150f30201220b864200c9f32aecc48bd0665e4070fc1c2c630687063f85de5210ad7323b0d86c3891861c26541cf5c2f6d29471c6d54562eebb5a7164fa451c78f107c8119091679e87575dc094763b7cb20f66d143eb3588a03f8f62a91146812b275fa0e718402ad68862da8b70640e73760b54b900cd63a3840cd2343e26f54f9775e85e8bc670948095b7ac6627706476d17817110e5057ec4dc82d34c0471b23ddbc1bc97c182dd20f118d5cc4e10bbbd0b7429b98cd66100c0684e6e4d2f0b0706864356db50d520d40d40221520dc65f2f01db6a269cd50afdd573905d8b594aaa0338ec3500881f55bb24d519e76a9141abf99c7035d891d1116cdbb65d644796caa9ad01b72687292a0b97b3d15752c5bb9139563932c729dc675e91cf4468512c07b4701b4c2c25bb76b5601704bbaf6bc77bfbe0c48b4d4d4d82debfa3f3c9eb7676ac6c9aac9192de35d1b86b92414c62a18a142e3bedd4d2ecd9d695efcbc905b16c2ca465df559215d6a8427d65d71d1f19897d57ca55bedf0968ffee757e550c787c67687ee70870b441d39ce13978f0205e7ef9651199c3218a1ffad08744d8a9451c5c5577c2e30d11814ba1200d225ff4c28743300d0236f81dd15e3eb7157edf14d2d946e173a12825cc251e40c87718e1d0e330703bdda58340708ea6670ec9c5ddd08317d99f95a4428398f1ab2894fa442a11ab74165a7c9826318db8da8de9e466347b2f525f65b47b7484a2445c0b03c8144f1173ff0831f3298402df86d73f85d2500081e221cc5dbc139e2dbf8b52ff2d5047be8869dc0323f08b081220506e6c83726c06f65812e8a7e7ea0f431e2124359d218446a83664e0e5e73e8fa11359f823a7d0563c83d1c226685d0d680c7760c3fa5e74b53712b898c7c222fdd7a669230c20daba09d1964924e249c4e2adb03249048c71ea77173d3783376a5f8ed3e7045dcbf6fe059a071be1705c3008832404a3a8d118f721943b0c6de1024a6a080dd22564ed17b0a9fd202ee59ad0d014bfa23cfdfcfc3c1198668c8c8c08e757ae7d92cb646b6a1780ab7740ad97786c2d61b6d5ee25d5014bb540d26a5a0ebbce73da75ee5d2b795cb5e7b3d7008a6a9999568e079b73ce9d3b8f2d5bb63ac46e49e48d4b9b5da05271ae2b6b4e2a2fabac3931ad7298b0eb6f62385552355544070855359dcfbff1f72b93ab5d3bfee735e730bd6727cc770dd0b46bf4a3b4362d83e416aefc67303932b06f686810c105ab552cbec2f4c9e54e88262b223cdba9b5b35aca879f3e8d895059459149dd8c86e64bc8a47dd0bc4e57d996cd408489140f3c670574b457cd42fab6ac5c79bdc4e9f346c8660e929a818ce768ad84e881db88229e433a7d8788fc9150a4b67424337b096034c1ef3d0f14bf45ed2850651b53d98d50b2e7d0e2cd632c751db686e6e1f35e20606308a7556f2143bd5530eb1d4440ce23101847d4d303bf61e1f967d3d4af1f62c7755bd0d6d58d526a06d9820e357c3da41b3a80f931348c7f1ec9fcdd988ade8e0d377e16bd435b30305b146da33d00b4ad8374761ef2b94548c92294b7678913d0efbd03389d3a8ed7beff128ae956e4336f23238561865bd14663100ee8e86c8d12089090377428529cc055172e0e6978e3c059b4b77af0fe073760a36716250257a1548e40d91842911c72e9291a13b6a736c02c36113819111111f18556027e79f80263f4cc3a8cf43c4217bf8278a01fb6df036fee3c34e5259c9aef4529d406af676119db6382b24860a4afb7176f1d392a884d8436ce4aff1209f5ab00af0584ac665e916a9c57ab4a316a8010bb8e16662da0caaea12da9a765a9554d1875cc37ab8111acc14ce69ec7f94c52a924bc1c9ece1a4d5cd68e5454d7e5505f9710b334662f4d3f2fb422a5cbb572ca9a1311bc504ed426b251b2c6a5645e1169502dfcf1233ffb31dc71c76d02f0bc9bfc4daea634c2b5c331037232468fd7f33fd7c0fd332d0406132cf4bdf6da0112066709a04496f963ad04f2aea3b859b285b94961675e76e4e54051e91a307161a4286ea7e84918859d50f513d03d0e02e56a93fc5a79280a4b5d5c704841c92e22a43593544f844d9a2482f66142810751c8aa08f84f1308e923393e4c0f9f8613ce5820e64b48d1b30726e73c3186e8f32968928db03709d55744583b8763138fe0d2f466f4b7a6e0f56bb0162fc2979d462eb8018bbe3df09746099d16b1be653d1effdbbfc2423c8b2ddb76c21fbc01470f1f26cafc16aedbfd0b38737a16af1e7c014125849fbbab1f978ebe81c9c92dd892f939e0f41851e10991d9552cd8086dc45bba213f7b1178fc04019206c7bf646f005ff9e13770ee64166dcd043a942c72914134367bc0fee13eff22fc014e7a15442ea912c3d0685cf6e14b8f7f1681863c8647fd3873d68fdffabddf20083782f9b93134778770ea6c33fa3a69bc7415f99c8d99a9a7d0d3d781786c2b49018d04f04e20939f443a7f13b4337f41dd6c446af0f3f08cff27145317f0f6a50db09bdb2095fcb421bc186cbe2c553053e1ecaeec8b303e3e2e0049257c14f5d3ce4b7524fbabddfb6b0d41aef57fada0a19699c6ae0364a41a669db5a6be076a3bde4a7540df6a63ea5ec39156939393d8b871d3650db66d57b2485a6e8c8e48aa76594a743525d60a306255729938099e34124444823611aeb952fd6cafaaa2bee5965bf0cb9ff8c435ce7eedf8a93c620b317ce7bbe72bfb642528b902cc4be59c43c4fbf4b283f93ba19f7a77d6cab114e8fa591ab01811a58fd27b1f1613b19ad724530974763412f32d38099be047b1f03ab595832db3539e8c80678a808a89547690186f6e1961f37a5402409c0f8518bfd24e4c791279692321cd00544d8157398d4dd13432043e8ac54708ac046116de845d1883d9f91bc8146f26a9ee45b46beb58b98d6436874c36866d5bd763f4d259bcf2cadf2312692530f0bc00016353e3f085087d7cf421b4dfac62d3c8fdc0a1334098164fd612a1c1b64f85c4be2487a6805bbb08b4cc0333192010c5456508cf7dffeb880475440216347f1f42fd2d686a94d1de16414f77008d4d191a4313e106138b71ae4879049292c3adb77c903e9fc1e913310c5d30f01ffef071fceb5fbc0713a747b0ff075fc76db7cde1befb1ec67ffffc5fd0c24e60efde3de85917c1c2e4cb08054d4c2dfaf1d18ff52377e4284a3dff06e1888ae0f031a40804990d2d08e906ce0f7563619ec347cd25285e165a1276666426e6b2bf8aaf006a57d3ad97c7036b3449d4032e520dad01ea984bb04a7fd79a8cad5ed8f35ac28f57d390d4033012ea9ba1aa3d8b5d56b573d8f086f51b84764324425b7252c527a49246fe7242366b493a7a07ac98a2aaa9eb00ebe49492ca513896a35a3697aba45702958a46ddf8c917205b69425a335d739f7f491b3fa99066d76fc7a9a8ec40cd1fbddd5ad5967e4acd65e570f7f75cb7618bf550b3aaf05270625bc282c01a72d84ea14ce99ac6a47cd09eb70cae2db09d18a91f5d7d0ac6beff0d7ce5af4f416b6e25e9294f83d986a2d8e17998f4c64f4cbc31da08c32a1298e1acb1695139b768eca5cf2751ccce400be788211380e01c20c85788a34a9fbd3e0235c5192218079d4991a81dad0fd0b8206003a633cfd3e7207aba5422c26f225b8c42591882e20f625eb98b3e0f635b7b006d4a0bb57b8ada2dc2efed82a276e3d5fd8fe39187e9be8a07ffe7a7bf823ffae34f1171bd01a74e0e019e1e04031ba08c26e979092c2508a1768750baa91deae119487359425d45c7acb3a509d83f06fcfc16a4d72d229449a0abdb4bc0a3054ac76eb4f7eae8681bc0e0fa30d6add3e1f19590cba4a179fa914f47d0d93f894241c237bff18fb4d854dcb8fb06bc75f0156cdb35005f388ae34f7c097ff3b77f843fffd32fe2737ff99fe1f546f0e9ffe357f1977ff59f70cf039bf0875f7c1643c30bf8ef5ff827a467df82621303d1fb60a6bf0fbb34038fb787be2ba050b2d0105e407a5ec7d2e4c242e2b59d6459f30bf3220ced0ae7ac3aa4b09e5f443d534d3ded463d4dca5aee6ba37e72b3d522816aa5b35f0d18d9f8d12b135fcdb8acece3ca3e9c3b7716b7df7e1b344ef054268a9c77c4361d094c6cd71589d52cd7a4633b95841d70828ae32be731e13614d97134e4bdea8621bb49d4a43268a966ce01ecaa80e54765fe4b93c30952751500a562965264a249f2e5efcafdff71fac4e3e3b6695b4e05e71f2f95b87d95dfff948093f78a8548ba5ce95baaf63daa398d3b8096d791f89ef62caf2b09d78089d3291a878c198545a0c0c8c71108cf624b6802c70e9dc564e601dacdfb4912f22327f5a121b01e9d2d116cdebc051edd0b55d6088c7860145fa201efa60dbf40206514d1061f7d0e229bef84eec92d2b24e6f3f969e8bd34276788f045e9fabb49eadb2f4c3ab6758140cf186613415c9cda0cc58ac317d011f09e84c4bf531fe3462324534348e9a175708c087113da5ab7e2a61bbbd1d5d680bbdfbf0b4f3cf17d44a2adf8e4afff060ac579f8fd5e8c8ecf2095bf0dded910b070c15945ec34552c89d2ee5cbc0919c3592ff18253c08febe56c6f87c79a467fab8cceb00f52a815ed9b7474b6ed457f6f04cd4d3178e520e2f33ef8e97dd66e84bf258b747e8098c619fcce6f3d8696b6767ce6dfff051a42ebb071c720812e8900858a642244cc807d7564023d6174f604e0e38ac48b3a9da3c1434c87e99d15bf4420c30f782760988d58c8de82a8f2165a64ba7f643d2608b45c321796ed658ec8e1676186c38e6c7a15607235a69a5a1134b518ea5ab50a6bf1b3584d8b50afcd7a80662dd96081dad148ab01b37a61c65703ce967ebe3874097373f3181818109156ae5f88add80290da6541c061c6a8d4c051140bb229577e139138d692acb022ff89c459802a85fb5c5391b482a1afaca9f293e225aeb95138039689bb6b7a5a8bd683353ddc37a1f5b11c80a6083f00a9128e79b5e0c41d1f953724dddf301dff3c954357cb514def449d936bc7bb496372b928dfaae065c54e66f0cfb4599614213c5e737e75890b8d4f512e61363b830edf1b300a06fa3c7e441ebd15a5814f434eec422ec769e675a8da75083670a48d85925520a2468389719488f9db521b01803191dd57f7c4303a7a3f74af72b9c858857871d2a679ba260d55df47e77a601b59c205c709e06c80cf3b40ed74622ea762321ec6a6481ee9e12cc299248c8e1e6cdaf05d446383f0955a60480b989ed0f0d0230fc220465cc8ff09d60ddc828ffecc23f006fad0dc3a8044e29b34e91bf18b1f0b239f1d1740074c9b72454023e2756806f2fa069a1d2254e9323061823c9982b4210a1060183bf00a8132032d4d2144033144b3c7109a1d85466d84da2c024e2148b9766082da0c34c1f213916abc0791463ffef8cf9e415049e3f63b6e4234ba0ec32379ecdebe016f6f6dc1fffebf7d1ab7dfb6178f7ce0633872f42514b3516cdd7a0f9e79fa021e7ef87662301a9e7efe59fcab7b7c4821034bbd081f0123b073d522d0115c07afd289de5016736d712296972d94b96c565411ce13d34aa758a3a55d95bc56cf61b4def9b54c29d255684fd66226598bc3aebd06b9949dbc99803861b3f6155a8d5a914312d6eec4bbfaf349b591da92239fcb09ad49777797d08a1545a2a6cb12194bf14e2a79db7172151a11a75818f37d4e9ac6df73322d4e4b6fbb5a15d3d1b4b179c71421c5b623d5c9d2aa05fbec1583f2e3265be3fb32c1667015cf59d01409415dae98a06a010007bc4080b0ac6163266509ad62d8a3a03dec3cc74ac7c4b59a6e78cc381fc65cdac222f58b7bd8d1a08abef1d83a80e85ab4d24fdbb1ac9a77158de16a21c3bc8e793bb1fb023bc0caef50f6e4772530e1c2f701c926e6f92c2ced56e871095e7b16a7bc6dc4f832e8f4b52095dd4384b01d1ecfb384ead8b3ff6602149cf82b234c298a1a84d79f463ef33e44c2af209d65d5d4db30f2374052c2b4a18b44101c49a5506049e6044dca38493331baa648d2d9044dc8edd4e64efa6f40d3b3688e98680cdf849cf93d78943c81170b86ba13b1cc4e04b459840313842fe224fd4dc12a68444c4d148b3b5128a6d0149d42c1bc058bb1232830019172f0f987904c45908c9e4334b811d2441c086a0e552d5a8e092767380085fe4be716802d1d40620aaf9d7c11f1391343e0f20acd08e72324292da2212c61bbdc88deae7e04fda3508a5968d949e4530928c18bf8bd07376134d508bbf5110249b740b50f6270e77acc1ffe5bfcca635db8efe77e13117d9148dd00ba1fb15034fe09f7ddb70125633b224d1799cce2dcc86ec42ffe29743f7773003e0263b276090c098b461a05e4b1902150565ceed19d4e67e0f5fa4542352ecec50bdfb28cba1a06bb8e6664354dc5d556d85d2d8ae56a9d5e573375d4ab2cbcb45fece0cd11679cb781b5021c85c269fb399f83552e8c57ab72325023c497e644d77411822b970b76ad0e4eca6551cb2dd52252cc280f1d7a0bd3d3334eda6dbb1a58b02bc5c24ceb72de1266b0a15008adadadb4463c02e4f0f7cc5c2bc5fdcaa1c34253a2382ae66a0cdd21bad64fccf0e0001f66f09a002517e74a90151bfd8d2aa23e45847c0a738aa254f57771ccc5aad8ca430b04bc8a4edf0a447e1a0332744e184acf7135c5d2b84d577b33993431412f89b54cbc763c9600261c76ad70e8a7a25ecb80fbd30b5156d5922c35e354cca0029cc8c2d46f5af692c29cd78089406c7e2d89465f8e585c0881c473c87b25b4b6b4434d5ac8e913d07dc40cd53622563f4b60e42962f64308347c041edf79627a92b0e3964abbe1d18784e36ba9f84b08069e4631ff146c7923dd234a20a589366e94ce3945779d83257d10b6798c88f5387dbe099a672bfd9610a6258ef8096a2574b486313a7f278273af22ea8f23af74e2f8c43e740772d4e7d7e99ac35038453d0e886cb4b1b98f11739985e43b886cee283104022e721f7cea69c49251686a06a3f976486d01440f0b4e2e1682f6f425a25696f30ae90e50097a801d1b70f4f833787eff0104ed308c52130219155d5d3211f46e744a41c47aef473c1cc1807e1ae1e05e1a875334461710b0493a9d3887dee20b28c9a71023408108fb004c2058f80166476f8332c81111df83691f4262b69fc0d31cfce163d4a5bb105bb819c9f8cb8493fe017af1040aea1ec8fe8f537f8fa3a43e078dc608460abac2959c8b984e9acbf6855c26a4452298fc72529257071d6b498b5e4f6bb1962462407dbf8a7ada8e6ada96b5e625a9a6256140c2c9a498a9086734622c4a4043341aa1df1a303131eed490a9619659cdecc30020180c3a92113bb7a10c4c6cc75c22959dfcdc705f27745fba9c97445af2cc4b0181ed8428b289eec89159c7bb445aaa75596e5ea98ce1925c10dc1ee75dd8b471135ada5a2bc00595ba37f2e5fa3b654ddc4a33caca0265d25510d5953e2a4bab26bbfd4cd13eccd3bdb95ee15cda44d4ab3819694deb8a3a3d2ea861538b694b1859247a903541c2a8c8d3c596597e5f2a9a57959bc32ae7be60c011cb5a188919d4be2304f0e3eaf265df13f59ab2e4a7dc9663578d625b591b672950110eb3c43f755a9cc2bcf80e54767e570213d68a66b34124d31f2300320763e15bb01b1f4573743d14021639234cbb791f74f5188d729088f43d88363f4952e5e7914b0f106021864f62889127062fbf8d121e843f12c2ecdcbdc4a84f42f5ce219f1e86913b03c3ee24a29f2469e5569a990dc4c44f1318e98029eda689c920533091a309f3a8329a02ac5931106d68a57635013c0e8d1313ee2ba1279aa0c93c4fc4d4834c760b1439089988912ffc06882c219d7808c18683c4b01790cbb7d2bd0274ce3a225a27105bec84d6a3201a2600b290235446d39228389523d34401374681163fd01a22ca98c6574e3c81d961624c3d11ea821f216b068a2da3b3a501d7ed3411d61578ed3308050bf005a791a07128688398f67642f53c8a0db38f233afd3d34e567092c6dc7548ca4d4ac0e793ddd4b2fc1d6f701f90388348fa1945f474ca08d9e6d9ec6d924f0d309d9e32510370a85e64655e668190fd0f8f9205b093a372352dbb3f6d8aba1523bc559f84e3e8212ab984b4ea8b06d5a5501c55aa35eae36fba9b406b30eea6844eaf9b4ac453b62af628e614d49241a15e323b405b2c2a532683e89d19044ddd81815678f8c8e560a6d551ba76a6d338364d0c3e084dbe7d7b2b17053b32e49925609f965df0dcb5e1d9894efc466039fd7e716605d3ecee52f0461e4488172d657b7eaaac873b3b888b78ebc85c1c1cde8e8687700ade4d4c41160cc764286b9576619582d0510ab9974ea997296019af2333b3e30aeef8bb34ef95faae0f88734781968db1550b2349f4aa54dc919bbd99485f1a4e3d86b58ce40b40458c768118d298839595911796561c2a5c044d35414098db006265970c0488ece69f4cbf4524818cb096027c23daf65befd29c423e5fdbbc49e5b0d8c2c5dfb62cd97b5a38aeb90cd26c86bceafeec633a07b3bd010ed47b6348882bc1901638636f02e78e463c4f04fa264ed42c1bc0e1ecf3fd0c66f21d67f3f0de21344c4f24480a79049de8a70e00d94ec6dd03cbd988dcf3a4eabbe9b495ab7e00d9094619ca0ef9e87aa6f4321df074939488c3b4184e601e89e3cbcaa852323255c9a2be1fd5bbd82411852187afe12a2d629e49536845ad761439b0e0da390d47164d21f84ac5f477dc913e10c419738c9da71a8da0c01a90c31e5769af484c830ebf5e5912b78303e0ecc0f48d8bcab0dca574e3a1138bc4ad89b8df5bdeb08808c27211d2fe052f351bc70e8190231c4b03c51f8431ef4f569e8eeda865b6fee45677f94404a0c8d0d29a4730fd1181d8357390bb3d086c46c03fabbd32835de83f1b35bd01afb323cf3afa257a645ec6d861a1b82523c83823f829cde84a6161389840fb9620bfc342eaae769281a8db5f451d8f27122a9795ab40708dc3d8862e97a84f065025d5c015ac678ac8444ce86bac4becd21a54c5099c1982465cae52ab3f598fc6a5a89d5341a6bd178a08616a55ef2b26a69eed75a6db896768809069b335c13465164a471fc290ac49803bae3251f6d6cc4627c118978a22aa8aaaa6da2b6d9bf87b50ec5726d222e8ec79fd959d25a2245b10f87136278d9cab3d21eed3251d761d3051bec0f224c74b66b7251449e92a55133b2f0a970408508edb79c10613eb84f45a388a1a18b0804fc65c66a566aee28c279d4ac9831dc8801d709b59e2abb1a0177cd30cbfd44ec4a5a7ce7599daab2618f43ac9b095430b0e0c3e7f556cc5dee73b2af0cb7ebd1359a3b1bc33103a9bc099d6b8fd0b37736a82467c8228b32dfc347735349282755f39db197699b78dee6d2254ca64a8ecf3c7fa748e80eb36f808d2cad1f371cf99a19e79a2967e51eae9609d6a5b1c2bceb86e8af9676ffa7119838a39245311f873fdc837cff079039f3d7c8c58f420ab41128b99118dc61dae43324f1b3b3ea3431c95b08ed1170090d0907cd80fc0351e9d1921e26669a472c6d93045f40d4670929871d2f43d19b90cb7a0904bd499bf88b74bf3c89a67ba9bd00118514111019cd21054962b0ac763d497c40f2fbb07ee15920731646cb6318589f82997d05502ea090bb8deeb7071e7591e692ee4df0d32abadab459a4928df46627147556e45bf179de2466df0e0f13c40c91966dcd003bc2cee788daa94e3d9cdb7a517ae912e4e92ca44fecc1179efa7dc42f2630d8d78468cf466cdae2c5c6816db8f1e6209aa24564338f42f35e4032334ced8749aaeac042a60deb9a5e45c4af8b881f041e821a0d439a8f23dbfd7e22c84df0270e42ce2c409dfd2c42de0072a175989fbc1f4ac714fc512296a508f59d2b63f611f02941cdbf0ddbf7204a81bb61cf7e179ee451c8fe20bcb3df80d9b18f805f2b8df3f072c0693a0cc0b44a8e73e30ab45e0b20ac25f24642fdda2fab9976560343b5eae800d56bca54d39aac45e6600f7855d305732ad28af610b0edcfef43de8a63c63b04534f95d344cb220ba60b4c6a3d6ba56d62529ca4ccf5d3e0920e1d1d1da2309a082d959532937680430574d88edf8268b7ec74eae61d71a36ee47228af599edfa520c165faa52529ba5d1f19839977397c9ca378d87f86cb1428a642003787d8c2820061822288082e2715bdfbcc72b912ea52465e4b7b52cd24c2e732586646cf8ea927a78be2f93735ab0879542124099388eaf869b036e28e010f016e19e5e85c61b61a8d9bb8b85014a69dededba1827510f88da67803e9d32457a834291e695b6fbc666556815659aef5048ae44f8e8ba5699bdcba1c0a8d446612d971bd9339ab0902c105d5339a2cec6e65676a675c0522818208057127d90df0155fc8f45fdab145f5cea606cae52897c6dda78e572d877f9f38fdba6cbd8dd71fe71dbfac9b6b77ade926ac286ab38158947cb92897dcdc7c425ae8cfa6708289c81ad7c0072f4161acd7f00e6be00bd6517cce4166272041e94004d5e8688d534498369da889b90899f4743b88070cb1852936db0cd6992107bb0be8d24f88c417cd9511d9b24a9c8aa09af7f0bb2d975d4feb72159745f6d2b11216e5345ae68a2272263738717d982899845847cec35788b5f43496bc688f671b4d03dbdd253c450a6902d75d1ffefa1986b80eedb41624c8c36c0084df0bdb0e41658a52fd37d7f8848a0110a81ae50d3308647772011f261dfa97128af8e03377500df3c0bb40acf52d88d24417ee328fce344f83ed48c174ebc885d3d4438073761dbfbb660608b071d343e3d1d6790cd1bf068cf088d84aa0721eba7e83e49b491145a28f50bd3906dcb28e5db114afc05d4a08d42cf2fd378d098cefc6b18fd04f8e409d83323f02667d165fc39e1ab108ce62dc8056f40c17b1f7c41aeaf93849533e0f71d43f6e211348cfe1778cd39c4db3e86d0c233c0f8df41e9fa2c4abe50850188688b5cb62c1197a30598285453bf63ed99556b85dad672925d2b20a996740c585bce91b500a0a5fd61538bc3742c5198b4d31e14597b2f158e232cf513e025e62e712e0c59a49bc62a669caa6327aafd4a02980443416cddba051b366cac14c174191813a522cd955a062a4a39f3233b52ba61a92e71e339751d365d42efd6d7700bf3b99a1711266e385a04c7ffab54365719c2199a81c9ecdc9c686366664644ef148ac5cbd9602dd6249499880048d2155a926ab94c6cd8554d392ef012a52de85e1962f0630903276609dcb3ff08090a77f67be127d0522a3ba6f2e5c9028107ba77b942060949c0d1c9028e4f3bb4a58f70d420f58feb653110e4311f4f1411130eef7cbe8d5dd4ae572330932821a0b1e985404ab93fdcc670c210cfb82eaad19c2b30e8fd62c6a26b64843dce8d13598bdae57b5ac8d335ad018d80898699b429da680d2af0f05e2b8fe17ba58e903b8753535302a83200efecec14e33f3d3d2dd61683eaab659622dd3acd23d7eaf27abd4233c96d3010e6efb906cf8fd36776e667ff2af6df6273ec8f633ee3f65ca0cefd646ddad53e6f650fd8a8023caa9b74dc3e9b96e397a28b88c0772673cdbbd6c7643115442092804fa74dabf6410eb5c3af5c42acf0ab08fbfe89408b895cf6d7a07b876114884192c4aefb3f40c4f0210200df446cf466d872141eef776116ee82a56e43d09fa1455814444d204221e1e5883837229b8e42d15912329dd0458f5fd8f025338bf9a481ef8fb6a1cb3c8e1bf27f48d46512939e5f4426bc0bad5c7d51da8b5c4ea3579c16e6795a586d28e47d506da3ec00b809fec0db48257a8950e4a9fd53744e1866bc0313710fbc8d3eb45d5840fa2f5f82f76f3e06758036c9a149e063db50f449c89f9ca27e05613f3f863b6e1ec0c6641a37dfd386c08e0622def7a1aff704f5bf8524d02824ed183d0ff73d429bf92801bb14148f815ce1417a5ed6129174bab84803fc2a92e15b60697e780bec109c81274a8ca9e923888736236fee87977d4ae6df8634fa3d04d48bb0a243343012819aafc31b5008a09d847ee1376078b660a2ff3761a40c623aa3084e7d0d11ec4577da478b3c8af1b1319c3a7902a74f9fc24d37dd444030e78cbdaa5e5522c95a09d16a252cab658ea9671eb2eb9895d6d24ebdb4f6d20a66c98c5b5634e8010f52b945844bed68a379cbea34fcaa4738c55a2b7c73ec3a860b71b6e46a3a64b4b5b5a3b9b9b912a2eb4a67fc7bb01c9e2c429581b2b94d2a6b3f9cf3f87717d038511f56b9ff8e33a8a375b12bda06b3ac1d595af19499a60026d4075e0b11fa3cc3a1fa652d0c835897206b748f62b1e0002857ed5c453b7285b6649528191794a408681c9e28e0d26249681d1ced848d91b82d1c5dfdba533c90cd314726f238355b421f01863b085ce844a78e4d17f0ea485e8c7f6f83823ddd1e023352450396332c6aab24da624dede6168d40838cef9dcf6288ee19f1cab87b830fdd611599a28d57877338394be0d123a13dc8a044c681d13c86627cae84bbd7fbd11290319331319d2e89716007da9d1d0460e99c0323050154aeebd4715baf5798e94ae67b0398b87d3c76ec987889f949a5d0dfdf8fdb6fbf5dd463e263cf9e3d574430ad562dd70db377db7aeaa9a7b065cb16ecddbb57fcf6faebaf239d4ee3b1c71e13207d659b6bd156f05a62d0f4bdef7d4fb4bb63c78e8a56461689ef942bdaac1681e5f695af999d9dc533cf3c239e7bfbf6ed55cfbd1ac2b9b26cc3d2bdb20ca8d892d85f8e6694e980754d635251db117108664f2174fe25e4d76d85e90f21981f811418a0410ad146eb25b042920b31de4cb28b10650bf2c659922ef7a0a3e5348c7c336ccfa390889849b64ce0e659923066b150bc15bc1eda434531e88e735a8008ef45e8da3811ef07687272444439b36c095e8f1779cb83ef9e0fa2a5781c7728bf4f23360bd3e846bee941f43469f02246d45c876c12a1f22491cfed83e6ed402ef13211170b5aa08fda20865f9a2009662712a9a3588ced4038b88950f11b48e44cf81a20c2813348c0787318d15dbdc077cec1ded78bcc936f13082b222ea5d1ac06f18987b7237a61126a6708295f112dde63d49f1c018f3e78fc3a66a7fac4060b47faa95faf2193bb9fc6270eb37884c6ac05456b27ecf917a1961620b5ad13d9616d7903544f2f72b14618363144bb414885364d44ceb30daafe3642d228a4cc934096892671484f0b6c2d40edc848071ad148cfe1ffd60f81e87a20e443d79b5fa5896c47e97d3b90581847341229877c9a2435964bd12f89449350bf701db0f66ca9ab995aea8119a076f44c3d00520b48d54bb12ffc12688cfc24d17110560ca7116e6b436b5b3f8ac129483249daba2eae64ed532d4dcfcafeb09f076b2c786d709e90919151b4b7b70b939a550e0b94254763e216551480c52d9e27c08622a249dcf30b85a2c3f8cafe144e84b013c62a0af395535a3b44d4167e332e21147e466cb22a8313fecf1a12362d3103618931140a3ba61bdbc920cb4ea4acb911fb56be1ce6bcd26ebe3c4a6779f5d4a59a9244dec2d3e7b238bf60087348935f419a063e4360a2ddafc2a739208c9d4c5f1ecae32001981c317d1e9d5b7a3d44736cfc702c2f400b274a5bc8db7883cee98b2ae88f68f0d177ec783e913691a636a324645cdfa1e3e8b481839305023032120903c38b2a3a422af60fe7491e2988b16a0e6ad40f1baf0f65709a800afb6a4d676d0c3697a89f3a26480860ed0dcff25eea8b4f95f1cd9369e44c27d2ed045db3ad55a77365e1b1fb5ef033e175c36b93c1424f4f0feebbef3e5cb87001274f9ea4714aa0ababab0288d9497a6262426814782e5953c1bfb9eb89b517ddddddc2d9db05173c06ece7e646b4396bb8205efc1d6b4ff8604d05037606444e1984fae084d715f7dd050c2ec070410bbfb8afbdbdbda2bfdc4faeb0ee5600e635cb5a1b17c4707bb972c83cef077e711f1944b926d85afdba3cdf8ece7869a4d86a85fcc4e7b2a9b65034e00b94b3c05ed3989481098da53fe4856f783f8a99df83ddd12bf288e45ab791e4fe2431d95b502a74d2443f0e394c8424d9069fdf8b64f619fa2d03c37c089a8f55cf29cc27f7d2a4f66063cb53b4b90954288f89f027dbcc0b7578210f9af0fd248976d2ab9ba6302388a9651a22b15b5eef4687751c779bff0b909f83a134c0f06f415bcf0ea28d8b6562e7a3853c0f1924c97aaf1344d917cc121320626cde458bf512166717100c8dc2ef992600f14b90d4d3c896fcc8175b500049c35d41bab70f896fbc05ffc65678feeb43c85e9a41faef0f416af6c09a33a16dd2d1d76bc2336fe352a21d0bc1bbb1bee5452c26781370ee910d08fa0bc8a455684dafd0c2bd9d8007a3f757a8ed7b09a01ca27bbf0c2d4f9f7d6dc8fb6e809418849a3b0bd54ec237fd22f4a997e1b5e620e7e8c519d308dc999e01143ceb5190bbd9788d59a907c1dc345a924f20e525a0947e92a4ce28f66ffff7b0f231923a09d0b5a6e1d116f1afa422e668136edcbc19a7cf9e150c522aabd825e9b2445bafe85d3d33ca6a9a111b6b4f1b5fcb4175ad6003a89fbf643520c544284144b1b7b79fe6a32cddf833c8b0494ed610d5c2349f5e8c8d8d8af3ea99a2ece5944a106026e0dceea9d3a7847984ab3b6b0476969a6a8429b05cbd5b2448e3d234650d8ab9244cb748c4cbe3d19ca467b625324532d061ff2db7309f4bd8597b60949d6e99f88a70f1b239887d4df83dabc0dbdb3b0478cae5f3a25c3b1364ee139360ab1cd2ec685c50ce268baae1c29709afcbf4e44af48cd080d02d9fbd90c5dbd305783505b7f77905437fee428e80998d2dcd4a05981c9d71b42272b9327294738f10705f2460c085be73d49646cf9f2ddac23cf3c331091fd8ecc3ee4e0fa60994cc674da18d6909680870c49c4a12b3c2995ae9f92d924a69c68662060e4fe60990dad0a8affc62a0727cb648e753df99d1d1790c66b8adf18425808b240a8dcab4d76404bd12d2194b80c79c61a2682d97eadfadc752a99db5640c40d89cc70085f3dadc71c71dc27cf3d24b2f8935c20cfce5975f16d73183664d0a9fc36be5c48913e27aaec5c5a0e6de7bef15e620770c786d69e5c48e229f0fdd8f4d25bce67ff0831f88b5c59a44be9eb51637df7c73d5fc34d540159b885c4d880b4ab80f6fbef9a6001fdc3f6e97353e6fbdf596f8ad8d048fc3870f8b7e3dfcf0c315ad0d5fcbed71ff868686f0c61b6f08a0c400879fe7fefbef1763b15abf2ecfb7bcaa6fc94a6758bb12315736a995fdc8702dc15ab953b4b192fe1bb0b0e3f3880cff1942d38791f3b763cedc87b045484e791ab2a793505d2701981811698d06d183deb6312492f743f176d0164e888d3c1a5b2440d289bcf90bb479bf4644f03bc8e71fa3c5e825a2e82526fe3224ab0025f83e5a0445582597f09274e6ed84347312f7167f1d8a348349fd8388e47f8052e416e8810816e739219b849087da32699148eb44be824c7a11d14800921e473e7181ee3b0cb9614a10e350f83e865ec8a75ec5e9f9eb112770628d4f606e5043475f1be22317b1787a1c910f0ea2742207f5ee75487ded20fc24359b377b303234810c11cf6464168bd924264ec4a16bf4ecfd12da5ae708a01130f030c1cb239bea8337789018824744f0d8b421e7464368cc92a4ebf1237cf1cbb033ff2fe4c234bc21eaaf5c2422a9a3a875a3d8b00545398cbc74033ccd0344794721d17d34af1fc9f44624086474588f231efe28824d9fc497be95c07f7d23819fdbe7a77125293115c1bd3d9248d8c01b9c19433a952c3b543a1cc35a61f75f0b28c02a60c4aee3fc29ada205594b85e25ae1c240fdecb3d5fc505673924d91a43737378beede1e627e9a937b44d6e1f7f9e123a235333b8d7367cfd4969656b93f13df44224ec43c0a2fb5353f3f27129909625a66fa2e88b1ddff4b435f97103037a57ce57e550026ca5a13b392acc6beacb91035729c2814b39ceb4324572326c1522e1365960ea53260b339111b811e3793895c250c78a59ada751ce4eff279c70cc4cea5fcdb11021b87268b28d0300e3429b8a14bc773e77358c85be0e4d0ec44cab884cd22472669dc0c4b6840b8f975114dfcc63e1f26dd26c9bf951746894d54f4f2a822030c660994cc652dc11e38409e03bc6fea72341eaf8fe685c6c94320658a004c2c6f093333dfe352dc40a6640930c460254320a8a781352bb2d0e0f0f959d6d4942798cd3cf76df4e30b47d288174d022b2a74ee038d19fb3f5c4df2b677da9ce39a6d5c70c1397d6ebcf1466432190100ce9f3f2f34288f3efaa858d37c2e6b2b1878f35cf3b9ac8d3878f0a0a03dac7de135e446a3b9be14ae49d10d45e7f6f95cbeffd1a34705c859b76e9db8bfab65a976309870f7e3d262947cbf43870e89f5fcfef7bf1fe7ce9d1380843f9f397346987c3693c0b67fff7e01c444d2c972b499ab79b99c09d9c475d75d27c684810efbcab0efcd6a261d178499a67145b8f06ada12c7da6b0bb3a956164c9c0c01d78089436c18b1d166f79b31da950592d6c3b07305b45dfc0cf21b7f0685c88789308d4032c7908cb7a32112234932410b611731cfad9094a488c3cee6396d34d0124ea3a4b05af8e7e9fbaf11f0791e46e123b410f7c3c81f4630f4b382205aa5b4d3012d049bee694c1d43e4dcaf41290ee335cfe7d01a4ea2cd781946781762c91c81100d0d212f6d7e0d8add4c04e33c2d984e848363b0599aca7f8026f8759aecd3f44c7ec8ea6e487eae6cfc263dd32046a6b622574c40991dc6ccad37a069df56985fb880c5278f21f6f431a13ae2828345222ecdf777e382ff020e7c89404e3c8f456d1cb9f05748b28e41d57dc8176f21e6d58f6080c04990c60c8fc0dba141f71e805722029c9f26e2184774f17592ac16902c354097e7a0b435a3e4b90d8b4a2332720b41ff3854226a5a90fae91d8727db47c4bc51f8e69845065a1d8860169345ae7b43d2864dc4a2fd4308369fc7755d73f88f1fdc8ad7cfa5a92f1e4899b48868aa6c56514efb72422f51e06d95452fd5f105a9f779ad5a18acd14cb3164d0e56012cb56ad85c018e685c6667a691cb6585cab6a12122b40fb1857901582626c709681a559d5eeb8d0dffcfe5f24464e72acc7f9996612920590a3656fc97a495fe1ccbc165e53c99cda83e919fc935ffac640aae194823c0c012a01339e4449308a74de10c690986ce1a4e95c0b1b887e364b22cd4ba9a1dddf169b12b4c2940eb326dd838305ec07cce248021636bb31309732959429c900a9b55d88f433c335d1b63f38e692147286420a2a32fe290cd57c77304304af8e8d6002e2e96b07f2c2ffac3e69af58d9a78bfb545c3705c17261eab9c048db52d3e4d429cfa11922c71af2481929ce5d83693d4e71e8f8a9fd91a14fe2f3f9cc88bfb6d68568576649aee399f379122d0e427f0a194b3a835d26f45ba3646cfb0d9eb41d823d1be3704c35be93ff1cfadf9f8514d396c4e61d30d33ec5dbb760980f1fcf3cf0b8d09af5737ea6ba973a91bc523fca38241a145719d5c5d33a1bb36f87a06357c2e0319be1f5fe3de9fb527fce2b5582a478bb9c5246bf998b8c0c405394ec8bf21ae670d0cb7c9fde13e186573a41b1aeef6cbbdc675d45d0aacd90cc4cf256a8c959d9af9dc5ac0c4d57ac2ae3e47ab15bc54ca7e31625ce1ec9d6bc0848909d10475f108f1c8bf4460cb3ae49bb613e36d40e8d4e3f01df903a4d7ff05acfe3edae4f390737102290acc5c074ad6edf0fa2551076fce184532eb2550d2812c0daca624e0d51b480afb204917cf219dff0631ea495a30f7c01beaa24922e98c0089a586612627a10cfd239a27ff1b818a699c69fc140e943e8cfb17fe2f282c25a921cc2772d4b60721bf8e4c8e24db928724945122aca7e19189b9eb3d4424d6a3983b4584c88f62691d024d3722480c5d9de984a7b411f7b6793162e4719240c2585ec5e0834db0bfe0432e9571506ad98eee45108b7778f1d44bcf203b6f404d13c1f11220090e13686910b94c82e12ef8fc13d01b9b20ffc301c8435f86f5be3db0b343c0f47198b156689d3904e59348bc1a45acbf19a98fff2e9a9b9a05619b4ece43b31bd12c45a07bfe11c50c6d8ec200f2d224b2e9360454934012d7beb9449263061e6f23900d10389cc768f624ae5f3f8437ce77e33449a1bdcd5e0cc7880910c2d4cbfead1c8e2a2d29f3beb29643add0dab5a4895f0b78b0d7786dadb4f6588386056bd4f4acf68c4c3092443c597be24a502ea3aea5a9a966c2a9f6fc4ccc9820b32d9d89d75235ff4a6d08568026692932b1dd0ac257decb2a135bf6136009549864560012f12a330e4e96c6804b48bee54812d6a478bd3e84d8fc643b6084a38aae044ad2b26abf4ba35096d25d3196240d4e244c9c8b159122e0dfa8dbe88da8c23c3299b1b048206403317466f27c1c9c2ee2629c188ce5e4dcd9d6aaa0c927e3d86c115f3e91c1addd5eecedf1e2d87c12f3248c7092e69b3a3d42bb922ada7865947d4e540c13986020e11e1712252cd0f95d0d3aba08088d90b0116747438bb51f0a3ebc3980d680827f3a95211062d3393276b539e0e24c8c8009818f3cd1397349d4c42801abb1343153d6ea4415f65327c1a758312bfc73275a5b5940f14739d84cc16be0c5175f445f5f9f60c40ca2d93cf3f6db6f8b7dc0ceabac0961d30e9feffa9df07f0661aeef12bf777d3df833838d4d9b368976befded6f0bc6cef7620d0b9b77f8bce1e161713d9b4f587b52cd97a39a4f13bfb82dd690b09687efcdf762ad08dfef85175e107d669032383828da640d0a0328de8bae464be4ea298314f63171810eb7e74637f2fbd5341e555450ab0b7f55aeb7842b8593e99805c902dd6bd70dd7636672f21a30e1ed376fb423b4f5417837dd8874ac17966f0c0b3bbe8cd085bf42c3855f8291dd8758fbaf420d1bf02893c8185ecc1018692300d3e28b62311f412263a22bec843cb2ea55e23c1c6a1b494c3b110c7c9116caa368ead84ddf11f2943a6025c7a1ce7e050d335f859a398674e07a0cb5fe3a12ed1bb06d6e08bed8226c6f18292b8406bf8ca6a042808955ccbc48e789c8ee41735b0cb2318b5ce10168de5760ca4448f50eb4346f85f7025192a159a0c0c12d8be82281b5ab3d80a6eb6fc1f8d93f45e78e2924f6ec42e68d03f0842382d417937174dc7d1b7ed03081734f0fa14f09d3325b20d49c2340e2474b54c7e0a636da441904c267919eeb46b2f117902e4e217931059f7223b2993d507d25782d9d88a386c8cd0ac22d84cc3306cee564e4ec53088626d0eedd84c6e07a2c2cde4dcff3226d90204a5c672747ed04db69c5fa49d29bc34471334ab62696714a5ac0446112db366570f7c434bef06204ed5122928b19ec69cfe0ae6d8d8ed9c6658b65474a57d27665de5a2615690da0a05eb6d57a4eb3520d66be9a3665b5f6d6520db99e86c7d53cb81291b4065353bd846f521587bd7f4e6988092a13fabbeeba4b487cae76c4d5a0094954542f952b8477696d8ecb1963e5b213ae530c4f3002b93a91ad161a2b499773a770ab6349035339625eb46f759353cc039708285ca2ef330c567c0a82ba820393797cee680a59c3142b35ea51b0a559c750bc843f7e232140f747b70408b814b17f222f40cd20fdbea35513e696cfd3b5afd2f79fdc1912a6204d85002c2748b87883004f961e93fd50bc8a84830474d8799603063734cb741f0d2f8de6716ca1802cf56f6bab13b97370aa88cf1f4b235db01c262282c79de3b9e11c2ea54cec6cd109c490746e11432b148584bd6646f61330c5fcc802a900a25eecdbb74f98679861b31985fd3c98a1b3f6811938bfd889d4f5496127585e4f1b376e143e1bbceef87cf6e56060b1b400266b61f8bbf1f171010076efde2d9c641938f3797c3d0318d6d830b070b50eb5aaf3f2fdb8cd3befbcb3129ecd6d31a0e24adbfc4cec1bb261c306d147ee33fb9cb09988afe343982dabb4c7e64dd616b9cfc1fff9b9f8fa5a851f2b022050f18d5acbfc38d795e7c376720deddab11dcf5f0326006baa9b3b2534b406909a89c236397b6a087a7807723b3f87c2f94604c7bf8cd6c419cc757c1a7942d69a46ccb3d48ea292c7854595366507b674b08d9618b62655d26aeb32e7d3b800c56c82c77f1de48007b9d93168334fc23fff4d28c9134835dc80b9deff150b915d281110f1db8bd44e0c2139861c9ae1f14609106824e115d88d59649b354b1924e35bd1402029e01b402a3e072333463f37a3b1a500f9781ff0e605c78186ed4b3cf90bf4a0b3390c1aad18ec961093c7e0fde58760bcf12ac0a898cba2d35ff281461c9dfb26c20a312a83c6c543a08825b77537a27fa0136d2d59048343f8ffd97b0f284bd3b3bef3f7dd9c7355ddcab1abaaab739c1c35a38c326030022163d8f5b177c160ccb159f6e0dd3548ebc5b060a265405e643020695042238d26a79ee99cbbba724e37e7f4edf37eb7aababaa7abea8ec1421ccfed53a7aaeffdee17def03cff27fd1f97234cd597e713535d589dfbb9a7c7c282587bc3fbbd06ebe4f492dcbd9874e767f31427d37c6edfd39c0cb5703d7e9ca9653f5a7011b7e52c7ee7018a65557df4b208be300ba6306ed35122cef34693c273d327e82b7f49a4629eac3d88492cbd52a595ffe57d2dfcc98be3fcee73392ecd46989f5ee5a7bfafa74e16b4de58ad9ef46aba4569be4df3dab7c3bcba1da8d11a54e48d7610dead7aa7110a7a76c975793ba125b601455a031e9edd928a1b49dc6da47791521a4a28abb094aae2d1f53a27c95680b20148b6fe6c7c6632f854eaa5b6b5aa6694be1aa46efa16fafc2dd6eb56b7fec61ddd69e1262b3a8ba2d895b1522a687ce67452c089ce8a2095a259408a2081dfbf9ce68ba3390125353c72a0ea8fa3da3e3c25cafff9d982c117f26b8f84888881f2d47899510104e575fe92593188feec7a5e7e32fce3031e2364f3ca529107c512b926fbf13f5dc9702e56e2fe36070f753a88c9bd8ca62aac56546849c32dfb5ba5babdba5864b65033da61d86c1adf9acaf3efcea48cb262d5b542012a95853427206b7622c797c6e57ee5f91eef7512756b2413d9cd30c1df17f6d70d16dc23478e6c72eb6c0068a5d8374a696766660c05af8e51e045ad2fa5c455de85f2342805ded4d454f7c66db2f7d6397694c742fd6cbc36c0bffa4c9d4b511a6c54f8345296abceab3c37ea9eb77a1f37c2480a8ca89f8d63d53995a744ed0b95d7a2424bca0ba49e7b633f2820af724a36423b0a3c298f8c0a3ba9f2e18de7da3dbc560fa36e25eddb0964294da9af87b9dc2eeb7a98eabbdfd2e07b3723aa66a798f961010f97b1db5fa658fa1101138a5f6a825aff51e2fe07049cfc1ea19bffa7ac8083e45a8fe3ab89759e6d61766581f6a0a2697353b5b688521481584a0830718b20ba2e2bf12665db0fe10e0890b9f279bc4bbf872573918aef24d9bdbfc54d5794ac8019472d8fa3bc424540d15abccc7ef99ed9ff046eafdb5850aa03a3d9e2a4563e83cd218a5c5bc0668dcbc688c884be2168731f4edf18a6440f9c2ba07b65730c35631a4fa2258a544eb4609e4ea39d1ba376e2bde4f754e8f8949595ff672f891b679498a5ffd8492e74adb2f4e255c2c17602854586bd2eda86a2048f878846c5ea2cb4c9027e1f7a6e96a5f86bccdf5ca2af25c5bbee8bb2e8aab2b8b6c43dad2ebcc90c3ff5581bffeb1fcef2d7171254df57c1e98871b06300e77c881bf1f368d633445d4902e6c36211aed1e21e676131ca7c2e4dab33c3d48a9395b49b7d8e45a374d824c2baa4d971eb33620d5ee3271e29d2e7efe01b573d728eb2515259dfacda7a3860dd9dcfed7d4576cbfbd8a974b75166d7edca801be9cebb9322df0d50ec460ab75b1eca6ed53cda2ee0a491e67eec00b27603253bf52752659d1313138660ad73a2ace7166d4d7c5eaf06d8fc4d3d44b40954d69367157d7ba55caa3bde36384cee92e7f05677bbb61e2fafbf020e0b2b5515eb07a780fd6bf3051e12d01017f95b90e39f9ac9b37ca3c607ba1cec77d9f9fa4c4e8ed3584d57f8d6e9024d0e33fff77d41f98edd28037e65b5c882208990ddcc330240be319f674280cb4f8b413012b1f12f5f4bb02ae77e5364c84f3d17e7b280922e9f994f1ff01271988cea9e8c5c77520086f2d4d86d26d272de3763659644e6a91498dfbc94664e00d31139dfcf1cf2f2eb17eafff7db35feddf99411865a96efffe3110fefef73194653561499b2feffbe90ab6d050aeae74e2fd886774f790b94d7a09e546f36c08852ea1ba19b8dd0e786e2defafcea5ceab83bf32c14c851953dcabba100c006586e74ec36ca85eff6da7abd0d5e1f15e251c0498128054a948767239f6403446d3ccfc6986c9c6323c977a77bbb1532dfbea8e66e14f5aabc5e25a2bb8cf6155abd1a4c7ba789dfa6eb5547951d5ea356b15332bd0793f9340959881ed732165b1bb476b162ff31f97b92f0ea9fe35899c1ee7d8a52dec270c5817d8dbad2f41ca4d2f1839822c76511288bea4d5cbe03e8b67d70f5b304663f4bd93540baef57d15a3f8c3dd08e2ff1227a615cbeef351ca5a96a1067fa263ed312b9f0c346055626f645cc36af80a6c398aa97c9971fa0bde3142ec72a994c8152f951dc9e3015cb794ad75bb0adad517b2048657f18fba53574bfa0fd013fe68924acc520d18bd7d649d1364eebcf1f65f127e43e055a653ed8c9c5c4d769f51ca2b3773f23ce6fd04399704484b47d949a432c8bc2719cf60ecae6d7e47a1e0ef4d9b9b1a0725f2a3c73314ec463636229479357956c56b1d9bd1c685b60b83b4122ab2a8b541c3c2d80e3206b6b036895157401844df683f2a002f29c1696ca669ebbda4f326fc3678b93f3ca1c64dcb4662eb11a3ecaccaa8df9793bd329195bcdcdbb0e99c8c50ba24cd669c2d7594537983837cad034b6f798ec9460da68326a23a5c7db8565760a1b35926bd248f9b1d680d763378f0cec4c3cd7c8f3ef040eb79b0bad01e0a504ac8ad72b2b5411c751addcd6a86ea39b69dd755cbb2dd8bdd9d557ab33ac6e30e3d601ccbae2d892d7706713bd5b0f56f71a18e1a24a99a34d568e47edfcf9cdacb1973fbdd7c70f0f38f9e47756594854c452b4f071f9ffbf391ee0db73057ef342d9484257f777a0c966bcff916ec7e633a6e4e6163215911335b2091da7008b9f39e8e55f1cf67159c088f2682c098898552e0e011c23cd367ef9649007a37502b9a0ddc47b7b9c7c55ae15536caea6ba0c4cc8f916d325968a26a369e07b3b1d7cf69e207b03165e5a2ef1ea62124b51a312d305cc08d01976f32f8efa7069551656d78caed42a77e2bbddc4ef6f9a04bb33c8acff5625c32aecb295a8efbfe5dc1b7fabf5a1724a363c257fdb606eebb32800a2e665c303b491647b6718f2ce7bbcf3bd86afbd0d2dfdddf2b4d4be528520760168063bb7faeedf41a5f9f7a6c7c460916c97c97b4e164c8e7ce127a954870484fc175c9e0ab1c43d58caaf61b70c621bf938c55c33beea57c927bce47d1d986c03624d38099816f1c6bf89f9f48f40c70f910b7e808a2b2003fd00eef1dfc03bff2bd49a3f48a1ff977004f7502ea6c92516c9a7dde4caedd86a7e51dc6e328479d8f2db60eda01a7812f23730ab6450dd8da5f67974f31372ce2e2ac5ebc4b3c7707a9e172166a694bd8a66af1ac722c2c97c7a195dacb56a97875a9717d39a2c46af0d7356045f5985851c24164689fce8617cbf20cf561061f75896c88d35faeffb270cee4fd39110cb602e84662d61b9f03a090104760122356b887c29407ffbfbf8f17b2ef1dc0d078150048735454bc8ceb30250421e0f2fdfcc53c8e7f8d90fae61b3d849d554d7e0662cda28ed3e1bb33347c824d3c49d452c1d3e1cd53e5abd025e12439c4b0f88d0cd612ee559b31c201d394064f5450ae3ff80c9ca873017e362b954306b15d6b256caf9f59c00e52635fc3fa6f5aeb5b7839346f246eea6cc77e22ed9a9aa6737f6581a50f27ac342617b20b493f746df05b0ed067676a2c8dfcd7bb35b4b80dd1a06def9bde9e969565756883437a3af5b7b5b81c846e8e6b650ce1690b2d1605095f82bd65b7dbda28b2dfd71b6bad06f532aeb6c961bd789279202ea23fceabd010e46ac58e5f34f0f7b08d8347ee9989f534b251e69b3f3e16e97f1de8302607e68af9739011e275b6c7c72d0cdc1a0956c266d90bff90201fe917c7f295b633657e150bb951fdbebe1fd1d4ea3e3efe1888ddf7e28c81f5dcb102fe9028a6cc6f1ea1cb96c86583c6184207e68c06db0ce9e5a2ef2885cd36735f193725d4b4df5f532f1a11e171fef758ab1507fce9f3be833f6d4a9e5022d6e331fea72f3b13e273e8b2e06c2529d8f23e0322cdeefb623febbe1a1d92046dbda2be96f02a0d4df1b1e8fddcef5b701bc1438515ef73b3d1cff5de683bb13aabdb5a19f663036abbd545e6f1b627cb7f64e2867cb002dcbe04465f33763b53d05a57bc42a18a1584d8970faa658fe7eecee7eaca62c16cf41cace2912967b29991fc1eb069700e8c5bc895acfa771cd7c0edbe86708adfc57d6daff21e6dc2cdec467c9fadfc79bae5f2335e7a57a73cce823a3d0a5c7de4426df4c42044da4b99b61ed2cd1e237c975fd2cbad3422df5260ef76362fd2cc9e47692af1c90b9fb2abaed31ecf634e5421eabf9395229e5be2ed2dc342793db0ac904ba5dacbe4c09d3f51895936d025c44d0a445283b0484e4e36457f294ad97e9ffa577915ace316e7a99137b46e8e88ad3de27df99edc3be768119ed49a2812b4497be2040ea3c7aef1e0acefbc94f2ef071ef6769f3b8f9853ffb57648a655ebcb660b8d06f2c1679f672925f78af8d0fddff088bd3bd942b2f8ae06f95bb3c418bff2cbee5bd228435d2451bdd4d457a5a8f532a3b0939bf419bad9f5875bf000a9d74b68951f7a31cb5bc4077fa45a65cf71be46e4659c11d5adc704ddeb6014c86aed88ec7843b9465238a9f5d421d34e0b16097e3f4b7917fc22ec0a61160a1ed107e6a24d9965dceb953b5136f234cb5db78adadad19659f4dcdcdb784614dbf2d84b355e8bfc53a341afb568d0678d4f45bcf7d1757f45b68b6b9c576a9dcfdaa1269697191be6833fffab06fdda15231b8777e4a00c38fee11d9211abf52cccbfe2db337e0e3f71e0e1a8caf019bca51ab19202b914c1a49f58a4ceebd1d6ef687ac06074abbdb42c4ae5110d0319f4c11f0fbf8588f87c7da1cca5982df6a329af8a9f2ef543a6358ea8ac322da14e147059cfc609f1b037bc833fc80008d27daed46f26248aead974b023a560c6bbbaba989cfdc1330126eed7280025115913bd3f2b9f2ae98dd3ece256af845c2b7bb4c6f0b4cff7d78fd6d29f19d5850ff7b5fffbf2780db043ada5b25dcdd80559df9b97e58b158d8a4f1af97f9bfe331d9b4726a952511469dd8dc0f532a4671b9be43b99a934d7c3fd1705e40ca115262b1bc7a2dcefeb620ed9e4fe0b0b9d02b314cc58a580e9a1c53239e132babef9f52f11fc339f9199ae6ff4c40438d25f74ff0acf6b36456e344ed33b81c2d34796a04c4fa88fa35c697cb3c7b53912c1519cafd2ebac94db1edc764d66e28c2688388cd5c7b999aed27a815ce0ada9ec3e73393adbdc6ec721b077b5644d8990dfaf58c3f8227aada13e7309f5dc634991233328d497e449a4150045fc70217ce4fb03265a5f2ca9f89046b67a950a6f2f422f1c177d133346e8495f2c13e2ce68b345be314f6fe432c8b3de853af62bef432ded018a6e42825ddc27dc77f9aff787f883f7821cda5e91a6e8709b7cdc2f15e1b27063d02d9bd72bfdd64d2f332667f25639267357b90445111c6e9781d1ab16c8537670a94aa87d105a4591523ac4916ac59d0b4809773a58f1035bdce88f50b5c2e7d90b46b104775f52d2a4d5bb766eba57be6f59e0cfa8e8aba1100d048196e239f37e25169e49cda2e9e899d2a65b62b51d676f146ec066a76bb6e2360ab9124d71def59e67a7c628283870e6dbaae6fcb21d9f2f72668b94d88aac444ab51cda512670d2fca36897f6f7579dfde474725152a7032268648bd174fbdf2407de6b0590d1e95b552c96834a9cea11876fd5e0f3eab99644a356a4b1beb592549aa974a60f4b8ddb406fd74a8b2e37c8699a5b841a6a8cebfb0b88ccd1a23e8f7e2b29848cb39e6b3b94dd652059654f2e3e4ccacd174cf663153acd42b963c6e9718592e633ce69633e4f2792307a25a2d323e3e4140715b38ed46d3c5d9a50cf942d1385f381c14a3aac4ca5a1293c781e6f66ce677bdf3fa9b0383bf2f393b46eeda5dfa48ddf97bab6cd968bea9589a2db21faaeb9570ef0093f511d58c36ea6b3228152c5abb287f97bc6995cdf8aa6c7a0119ee6e02960461b7c6540cba225139ae44aa2042653d77c1a63a7792970dbd86bded3e9122c70894ceca79425ccdec271308f3be91ab84ecb3982caa2f425926a28a45946f67c8823fd88c69e20fc4c2f93c99ee7f2b1bbc894afccfa9b20f87286493f538655d91e6dcc0696f1133eb4f59a85818cb3f4479668983ada7c55a6ce15bd3ed3cd195c17baa84e9a5390c1fafd78a767105926578b295b3c9e7f8f65fbd48aedac49e0179364d845220cd6a695004e298083c2ba5429708671b257f078ef967b93af63e2aedbf2a16da1cd1c97f4930fd1c79db7eb27dbf4cb0f71e5a532bbc6bc4c123c34e7926d535565155eb7ce75a9923991835cd422cf3249d9e519af4092ecd1fa4582de3d06aa4f38299328a52bf62541de90c09781936008c4a90320b60cb55c2bc59fe613e64fe3a47f42ff34ced17315535a35babddbe851b639db9735d05ad9bc0eb15145bdd8c6c5f59a237100a69847975b7f36e0790760a83bc1db2376d178fcf6e9fede6a1d829e177b7b2eb86cb98b7b9979df25654026c22294adee7db51906ec4c46f8575ea950546376195fc6eaa1377dcc987d3887b7dc30a54a042e59ba85080fa8ecbed36d6a24a44cc154b864722ecf31bef2977fb5a22b999b4e8f3fb37134ad5f95429a7e2dab83939bd798cfa3c22c72960a2aea14a4197d7e275223939b7aae050006283984b812575acba2765c86cd0a4abef2e2caf6e2667aafb56efabf3a8fb4ac94f5caead3e57046a2a99521da72a97dc02a4ee6bf3d6ab5ade0124ff43be360819eab97cda8e792a6fe597aa37efdc5ad1f30e3051ee5a4b8791fc5a2abe844dcbac1343fd8858344fc96029ce838a110fbb7fc06e902355ab3983065af100a84a108728ff62b9de104d3787a95dfc5d02c92fc813efa55c5ce540fed76877c764237f987c35697402cee909d2a5795aec7b28393ae8e334f7db7e85d9d223ccd9ff0907aba3946a0e112e37eabc0a96874411bf22e7e8a6546aa758fa164edb83340562a288b3d48a266ecc47b89428d1d3efe24844c0d55caa5e2eacb8b0d5a4dbfc249a96f98f7ffa9704aa76fef1077f8411ff499cd680225920994fb2e2398f23748a4c224f516fa166ef91535c6168feb34ce65f27d7fa3e7c76119e9543140ffe21a14833f373733c7355049d5ce2be5e9b80b72ab16c9d62b8aa5b786d420db46a129567d9dd425bb087543985d55465a382c62a8369dd6c8c595c5fd475ca6cb5e03da66516ac2798af7e8801bec0a9cc07b0b51c27624e717d498048c566e493540cce8aeaaddc80756d6324e5697757803b852ab6ab2c69a4c3ef4e1e834612481be13569842b856d3c25da2e20663b2fcc6e15437a03e0a191ebed164edbee3315ce999b9d233012b82da7642bed7d8dbb24ae52dbeca9545d4f9c55c9ac1b897aaaf64e3369db5ab2777359ab97020f1b3d543640d0467bf9ade5c61b3c135b2dccadc9bb0a08a81c91ea96de401b04591b498e0a506c4795bf716e052cd4f5b7be36184937c3a1ebe7542f0566363edf5af1b149c2a728c9d7cf57fb3bc81178e7f5bdf132af5335dcb979ef1ec25adf8f4abaab70e0faded24def0093f59772adb6a099f762d15e90cd7e552cf74f607128ee10b30883a0aa1b36d09c52bc9675e33c91ab9129415b4033722a9c760765cd8769ec4f092ffc3c63a64f72c6f6731c2efe5b06cccf104cfe2a733752d847de835557f4ea1656f221aea47daca4623c92f845c10f66be69fe15eef13830d7cea36b23f2fb1a384f6052f822352593b95784c00d703c4eb3ff00fedc2cc5f4976541e4a8780609cb048f072c8c8c04b1bf300dfd018c4cb778018eb5f385a93f97639dfcfc2ffc01ade64e312f571501847c5ec4ef70e26f7d0cbdab8fb4fdaf28c573980207282fbe49cd6d66a8f222facda764ac72ccb67f9650a09985d919be73bd8ce033bc368dd1e50ab9729da353f505d1f53493ab36a35badc5aa4a7a8b46c9a4a2c9b6acf7eab8db4b351ddb58c8aadba92ee0d02cdf79a3fc037c58ff0af7da9ea2d2d647b7fd1451778a2be341ca95ce3aa3a7587775f7fbba52d16eef48bf5367dc9d4222bb857376f20a686f03a4ecc449d24845d04e0afc6e1539fa2e0004762f916e046cece60a6ea4b750a3805091660d0d0fdf7ebe2de0e46e3f864e55e116958867321ba1963a379fbe592eacdd16f6d9f0a06cdc80be49ca762740b913046d28f0adef6f55ea77eb5ebc71cc0620d94abbbf1530ec768edd00c49ddfdb7aafdbe549ec74adbf9125fe3738efdf56c5ce3bafddc34d1bfba30e826b0d85a28cf60f4678b38ac95e8707b6bf833e4bdf9bbd720c37bf6a3ce547abb845a1f50908d84b297f9e52614104c04923eca23aa2abb1ab19a58446251e36ad86dde6c4e9f691cc82af721d6df69f315e7c80677cbf4430d042caff7e62f9028e748ace95df64e9e23cc5915fc6618e30bae8a228a0e178fcffc2a77f8753beff0f7fe0283dee53e48a361ca6394c169700a27d02129ea15c10abc816c76e1644e41ca2622b13a976a0391ea06acff140658087bd0551feb248dedd2ba0230ddf9a80b05833590b93d1291c3d51fefd837f8c2f2180253e2be7b1c21e015fe922fa740a6d7454c6a117f33d47b0062e639d89a327539c1df84582da34c727ff0fe2cebd5c348528beb148a95835b2f1dd024a544b7697c384b586911477b4cb815dbb4ed83cc3c5e507e4395c46a32797ed0e81bea958740a15936199fa9d55b2a51a6d3e9bfc6de6d242d6c82959b29f64baf451facc5f64293742359c64d09da79a4bc9094e502e97585d5ba150545e17d33ad99df6166f4923552f3b853eeef6f96ed52f8d8647341aabf0d94de16b3b0091ed3c413b798676e35f793be04467676e97dd28fd770a9fa9df8a825bb1c01a3d4c363c0fdc4a82bed3dd5cafb8c1f0b8195d8bcd56a304561d51592f1736aa87ef68e4b7e169a9df4bfdff75a2b65b77b515c018e25bbb7d76f43b267483a6ff9671a919a0c73876238143639d48d074ebc96fa1266e5158dd31ea5bcae6f5cd9e0077cc8ab6e5ffba667822372fabdd3e431bdc2db7d83edf2a5f8db1d6b69e6f679f97ce1df7f83704268d9f630b39185bc6507febead3b4db9f5b5f9fff5bf935fafa3c6ab7a6fbd610dc75036f7442df9c13edd63d6c1dcfad0bffd67d6c94eadeb2c2eeccebb8f3ff5be75e5bbfeee6b36a77b6aeb87389ad3fb176abbbb0f15bdb3a66db7b12f5f565ad92ba8d88a90a2b5aad4c4c4cbe034c365f2695c83a8e56bb4ed5f45e234453ab5c16b0d28ed91296814ba12ad7cbaae5b8455954a2ebdd264a4e8b00881a2f3eff0ca3533769e20ddeffc03f62def2f3b499431c745ea3abbb24caf62729a5f742ea395a96ff13d5ecb758f37c84fdfd3e2a2b2fb2c7f61a847e83e33ddfcf48ae8aa596c1e3ed1789b82ce8e74132e959011b63542b07b0d9af53321dadb71fbf9e448be561f030966b25ecb3b346875d977aa6881bfee9316892ff7de6356a8f76537b77179f8a9dc0a4422ba99bb7f6a1431e6a5f13b547bad09e9dc474650e73df3059d3453a6ffc2eafd8ff67d2b65eee5bfb2d2a9610d7834fe0f5af925c69320094dd5a1798cab39129d4e43d9deeb019871d72f94334f96679b2694dc636cae9c904b3890a5e8751d07bdbdeac0920897a4b0248921ced6922a0ba3297a6e5b98bcca7bb584be7c8cb37a6dd1fa72bf357d8d732e4a24fca499e523d080544d628093029150bf253c42413a929cbb276bb1b7f27af45233d61b64bd4bc135434c2b07ab7be3dbb810f6d87f009770145bc0d80c45dbc153b91b869bb80b7ed7242b64b9cdd892c6ebbdc9cbb25f3aaa4d339d90f7b0607efaab0dee231d810ca4a99a9e66706ddb7bed900124dbbab97606b634193b92ee2ec563b15e3bbca22ac180d0115719472e2990c415eff86f2b41aebd4e430f68266ae3f8b1c4ea9a41be163f5b75e5d570a9a41cd62fc6d5e0f7baaff1bf930ebcaa3baaed09437d2a4d523b88601ab6d7acf659fd54f68d14ceb86d92de5537f9aaad1dd543db7e144aad6413e5aa9ce842bfbd478624d51df5b0dd15e355a3fa8fba9ac575da86a38ddb84fabd946b5bccec02c4364b2a8fb2ccbb397e5dc55e37e4d9a72e55b0ce76e9db174ddcd4fcd4844ded08a6a4cea73a719c071e3badaa6f2d436ff6f24328b15b9d11b4695a52a0e12354f9a0c8cfa7d8bc5d75cef2a2dcfaeeebd9e2fa39860cbc6f7ad56db3a2ba9a99eb4592bd743fc9aaa2651dc2fbaf1601bf3a83eabe7f9d80c234d33dd9a3fc5d6a0ae6a5e9f6fdd74fb3a5643a23e532169034eeb96fa67a68291ff846ad1215adda4bcce96fa714ae69935875c439e43917c2a6e2e8bc3f01c57e55eebe35691f3388db089aea2007a49cee7ac0303e5b928ab355c30169c1a625de6b76a704399eab214cdb896fa6d538d1a8d3616558ae57a2b02c51da4b17d258eb6650fd59fb7ce9cac4290ea1a2abc78e1c2f9f535f53f3a305102a3a436e99be44b4d648a6119a83770b98a32d9278d10895df54c30d5c8176b75e1220ba9a8ba757aad4ccf25f9f32f3fc5871f75e277f533eefa192ebff132e6529c234f0cf39f3f3725133ecf434fdaf8da393bb6d243f4c72770865ec4e1efc5561de5a9abf7321d3773ece829fabaad726e2b2b2b7346cbf970b0c2a38fc664111ec36d974d6f09e074ecc3f18680964bf2735f1b8c2ec0b555f0d9ea924975dcca290afa8c6ab001d3597223163aed1d98ce2bb053aa7b13c2b29053a5fab1a7e631ddd3567707a50b5857dd7454bec144e90017dbff39ef8a7f064ffc05e27dbf45efe0fb999fb9465e848dc55c33c6235dd08daf3a2c7514ad72712ad5fae6c7ecc06eb3e0158cf4d8b09d576e6a063851add2b72edf524523e82973aca5825351638b402bea2bb8ec651ce6bd240b79fa9b63f4f6dd4f69fc4338973fcfdaec5e02c39d589c698a058ba10454cf88783c616c4a6dabb5a36defedd8899d7427cf030d8619d8213cb19bf7e3ed5600693b787376232a639b70ca7639247a03c76e170eda2db9557f1b00ea6ede97ebd7afd3bf4ecf7d6738e5f6b04ebd3a475f3f8149e56dc8bf4aad2e94cdeb0277238cf2562bdce099e5cdb32ff0d9df183514bedbe313851c1490d2cce2f24d0ac518a14893ec93354ab9b47ccf4a5ba487de8136565397c816125444f6e865270b0babec19d8433a95667a224ea0c949b916137562c3e7976b9b2bc456ac72bc466bb75cc79514059116255cc3e76c957bf4b2b83a4e365bc5edf0e114b05fad78b0db15101003466f13e55924599a1739a791cb6a06a0b789ae7168ad32162e79d6189a3b86dbd68adb740893ad80ad36483a23c6416d560ca7764a098dc5c52b383c457c019f52d93487a3325e364a55d599d6c9fc6499b9e50b047ae7512c27855813b169f0b85be896b9f17ba294457654b459b2e93cabb11cc1261f918819a7dd2f5ad78dcf1b369a7f160a5562ab3991896e1983828cd372bd31a8b92e67ac863c291bd51d6a7a72220717e75748a6560dbea3d6e676da3aa3a4f38b72ac8758624eee51e65377c8bc2c11f6ef15c0a21adaa5e4a78cd99ac6616b212e2077767e54e4951c6b4f10f084655e0362e1cbb56d491cee32c9a49d58faa68c41997cdc81cfdd2dfac1c3f4e2983c5796b2189c89589a508b8fdefd559c2e8b189c550af924c57493825914aa4bd44c2542211ba998938e963eaceafeac4931f6c4b04b1d239bcaa03b96c5702e5248c2c2d2327e6f1bfbf63e44d17a5d8cba31ccd5fdb8cd7dcccc9e93b981f6b621628b695c6e0f9a638c64ed552ad91199d7015285d744dfe40daeaaceb62e319a0fcbda50dde045f6ca18b475c8bc6a723fc92c2bab313a7a23586b66ce5fbc6094fab6b44719e818e2eae8d779f6956f6ce1f9a9bec54b735b6850afe796185594350585ab86b7d2a22cffef7202f5f7a8c744f0a3694c062546b6f8b86cf02276c77559ecadb2686c32882b14dc5601270e51900ea39bb0db6e652a392e0bd1843f38cc0f7fa88b290111d6838f73ee9b7fc2d933a7181eece4f77ef3650e1d799447dff52457af9e6679f2259697b39c9689fea9f79f176130caafffd137e5f34ff2033ff0389fffdcefe3ffc0905cc325e7b82216df12a1e032274f7e9f6c9071797f4c16d68fe0991454fbc61c8c840564081ab8320f2e419999b291ec5add271b793451cf2b797996dabf3e215a3f8bf539012585ac6c7613957b9aa885052dafe6b15c14509328a0cda7d1a3b2924f1731976f5015013dd9f52bbcc7f932bd93bf45b5edd3b8f67c124721cd3353ddb2804a3c31621530a0b194ac3197a8321fafe0b09a584ad5988957196a319393bf2d26bbe0a59a7c560727dfb85863295393dbae831395bfa312899dd630cd1e1799bc08b18ab240648354ed9434110882a88f77bb690ad9c94cb5e3ad7d91e0d8ff0ef90ef45827fa70bd0aa2a7a7974b172fae6779bfd5d5de081f096f5321beddb2dd464b631ba572671b05dd4805d16ebc23bb55d03402b2766286ddc913b41d406ba44c796c7cdcc837dab0983712366f51d16f00941ada7a0041d3eb969cc56cbad5f9d8f0729bb6cdb3d838dfd4cdeba204cf509593b485fb05140ce0f4e5199f3a43b12400db5f90fd7181b0a3835c4240b4809387df7d0ff3a91748ea6394930101261e2ebeb6ccd050145b28ceec444600b6d950628842f0fbbdc44479a7128aca5b804ab842cb9e3cde80800a22f47777911040333a392fc0c526c0a205bbd74c32334ab8a94c508043d8769f91fb7573e959012c2551700e9133fbb1b932a200a7e9f0bf178b7789b5f84583f4b039b8427cb588470c87feae936220c4985af96b2ce536ae5d9ce4e2e52f116d6d6170b8879eee0ef9e9118537c7e4d4045357fc54cb095a4da3644c97197ddd4e72bc9d87eefd18c307f6ca355537f666012ff36404b055ca66624b1a91a0000891676bababb4b6d8d06c655ce69058ff263120eb0a6c7169c1f81d0a4658581b93cf2a02be5202309ae5f9ec78dd5ee2561b6f9c7ec32063ec88868dbc214d77cbfdcd9397e7c86444065ae3acaecd717de66906db1f646c628589d96b1c3dd84a34dcc38b2f9ce1cd375fa26720803532472ddfc483c77e9c4820c2ccf2b3585c2ba4d7bc389c654a19074b13259cb659ac4e2faf9f7b9ae44a9c85a924ce608907dedb4c69d6c3f2428594c8c7d6a620e925af88ee0c150116164f86dec27156a642022ca7c09a175098c2edcde04a1f63f2a680d2cab3b40fc7b87cfd32cf7d39cf277ef05fe0ef7c89c9d89f9258b5e3b7abd2f46789a79fa235fc416e4c8ee277ee21e2e9e1a56bbf43de7596a8fd0788ba22bc71f5abb2fce334f5c9f88bce5bb8f40131c82304c2010ef73fc1ca628df3574f0970ce118d2842d11a9363e765bc9664ec43c82964fc543e6650004cb3ec82a5b7e44d6de6a06c8451b730711b1e3b95b8b95ee860d2f8ae73997c0fe798c4e5f7800c749b5836574589ca06cd1c17849c67255be39c2cb4666f8187065d4a3630b65c2318ea3090fafca53f637eec3af7bcfbc7f9b32fbf4e3ebd48c0eb928509819efdb2b8129c39f32a972e9c25218abb9c2f10edebe6f5eb2b62f5cc13683e2a1643864be75f112bcbcecb2fdd209352483548b4a58933a7cfb0b8d04c6fef3279853b542ec5f932b52607b5c7bab0bc2c004565e1aa19cd96a91c16c0d1edc57c6eb9ee7e9d4d615acce1f13b41ac8dbaaf572c8ccb6b681d5eaa72acfa9e9134b32ae0c423c84b041922c4be72e15df85b6d5816bfc895fc71a6e6ee653834c9d5c52271b1b23e7132428b4f17c45d24eab33214b5706a52f1b2d49b515d5d50b02f86ad98262e02c0e3a91961b2cc7a1b75d5fdb41ef7c76872b6a7a9448b08ef746e492cae0ae5629be1a9aa9266247209478b5dc65584cd524936e9796a3e55d1d44d75e526d654c1b0aa544ec1b9b3670c22a901c35aae5bb4759afab786721a4dd0dcadd266a7e6796fc7a3b25b986527efce6e808606c33b8d9ee7ed24a3ee04de76f2c2bc5dafd2d6631467c7ecccacac8381cdf6ed772637dd8a77d71b3f2a6bbb5c2d1bee65ab72016e99556db3c8ebadf4ddead57b0006f60e70f9ca79c37d8e29295b2b81dd57a21c771270b78b00afd0dffa00d6ae265e7be30b7cf94b9f67f050104f730b656f4cac540b7b8fb78b1c9ac7e1aad135606179c2425994a95bf6862aab14fd6de46905fc2e015d454c55f991db5859b4b1369bc16e2b7178dffb496767585a4e5014c380929d1651e0d10e87ecadd7482c59715587c5b059c1115a23d2a463b389659dca89e27b816aac4097ffdd6204b4134ba6c5306b2114d0e9ec70d2e51ee4d51b7f2160698e50d33edabbbcf48edc100553e6f5d713c4d674016165cebc3925e0c8cdbdf70cd1eadb87ddfd61928e170570553979ef513afaec64736b229b3a44fc741189b48a4cf5cb7ba3a4cbd744991e3342e7a562098fd58bcd69c727f82c21cfe5f3b8191a384053b39b52c5ccf2d82a56c73296bc184aa6207e5780d6e66e1cf6042f9e7260b7e608853d02c4544f1f0fd6f2089a6f8c5c41e53628afb880a9894b2c27c7b831f3aa00bfa400aa93581c359aa226029e1099d532736331fafbfbe8eb3b865eb0a3ad8629a41d585d6bb8ad325602a42202fe3c5e3fd747afc931358a19d570d1cc89070618186e43af7829a7926280f939317282cb669165e9177106caf4f6b443ae87d6838324d61202be2e73a0ffd3b8032f10ee5c6459005f3e6961450cdc1bd7b3dc7fef0ff0e003dfcf42e675f6457f9a996202dd779658ee2f04a4f613729778e5f957708a6e51047999582ba9d5ab585bae62aa850979fac4c0be6c808c89a915ecc15739d4f5046dfef770787f2fc9e5020bd3ed641d799a9b9b645ce6f005c38cecbd87c5c59bdcb8f626e964818ee62efcde66d2b185cd70ce6e09ccb7f692a99e6b223a4c85db547ed7fff0c0449178552a3d942b418ac51c7ecfb46c86565e9f0ad3e65d235df418b1c54436cf99d90539cec2d86233c7fa6c1c4d7c065fe535a67a3fce7ffdda05f68c1ce023efff055efece9f52110be8e1c73ec2ab2f5c626d658ef77de0834c4fcc50319bd93f68e3caeb4f63d14d7cf88987b836ee64717e9c8f7ef4615e3bf51a9d9d3686871ee0c2c5d7f8d4a7df436beb18f962859af527b02926e3b569085b6553e44185625439f05296ea83edd45adc68b29874bb58062bf97aef81399164d9ca7ab38d2202a9d10a55b4d138d53e1fbaa0022d2182bbcb27e791df512bbff3ed0b7cf9af4e89407981c1fe302f9fab0860fa5d5a429fe7814ffc731e3eba8f80654184960847bb9f5c296fe48d3c3c68a750d2998e5559885be51811308e1067277d789c6911148af44a809d53173ca51921a0b2a0bd66b19c1eed1fa56a52fc0e223c8bab22605fac87824a5e9c34e3b40bda363bd18b7358b317c985de4db2f797f1f002f9d909bc7a86f68e4ea3999b2290d2d633bf6f950d6b0de557b04342e7dddedfed3cdb29deddfad1406325c03b859bb6034f8d72b3e8bb782dde2ea19abe8b7749df218766a764d7bb013625f46e8cde60cfe09ebb7b7ab67a3f36cb8835a3b24be520183d5136f232eeb0fc6eb302d7f355aab61896908be69e3cf9f86956b3d7b016fac867aae453293154f6d21aed676165826a2e4347e700e3636922ce43e4f36916c72db287c2b8651bea856eccf10e96c5b0282463d8655f14653bd7b432e166bb28fc1a854c069fdd21a0c429c0bb28ca71959ba7e378ec2d72dc5951f0cb78ed7b09879b31db822452b378f2b3d8e4d9cc85fb715983cc8b2c0936c9ee1205af92c643eee3a4d2312ab502eda1278d304d2a7e51b68e58ffe7bfc6e4d2573876f41e069adfc7522d41dfd1768e3d21a0ca79899bafba88afc099cc3901824972226b86465ac4e8f0889c58a15658c5e2493078b0039b2723c02987b9a25a5e0858f0da985f5c150517c5e5ec62319625999924106aa5c9d74fa1ba2af79fc06509e375b5522ae588043df8036e12491d8fad97a648af7cd7452693c5e76dc76a13d022c050e549146a2546272fd3d17e00af3f44ad9a13d95f12b062c5eb0c924e2de2f579d1aa1ef6f51fe4c28daf303afdaa80bfc770b89d069dc2ca528a62dcc7def71cc1e9b391a9ad09a8a98a119b1570e8e0fab48c9b004f5797005b7f9c9595699923590bb9acd1576d7e26c1fe7bc3f23c4729b52d32bd709eab733939368bdb94a6e6a862ae1e462bf6c9385f12b9384eb7e899505b82bc269fb366e44236b9039c3b97c55e0970ece121225dcb86c7bbddf35131a65f6526f33ce6642799a9f709d85d957bd2387dfa5bf8a31a5d7d51b161ef21da34c21b679ec7e5b3d3197d14876a436b75d0de36cc63f73d86a5aa406281d64e078f3c7a988bd7a658494d1b0d1b4d261baf9d7d1abb66c151f589beb40958091a25f1266dfb72faadc9c85bbd274679ba2acf577912fa3be5c2f5c112cbc66c0fc94f182d7b4316768eb2f921ca5a955941c20a8d7b042ddaad356616a386e4b378826833ff0153eaf729b4fd138e3cfe49f47e2b473add94b34b3cf0a019a7f30901136778d7e35e4c8e1fa756ce323c7248ae7819cefe225dc32a2b2c4069e5df73f4e0bfc2ffc43f1424fb753efa31c5f2d8269b6984dec1116ac5a7c4fa7f1e9bfd5322782c22306433a824ab9b096afb3302501cb2288b4648475bcb630a39a9f6fad14f2f1aff373e77d9ea446b21f9fb46ccf08e543ed25eff4ebc58ff7eba543f26a391682d08d03a2556de122f5d1e676c22442e57e6de871fe7d4abaff1eefcaa58534b640bcfc8a93a64401ec161f5b0209655b1a2d5395e0480394c29d92c312ead1c21278bd021023196aed2e2a91a54d87379b3c15da26935c1551ad75607e98e3829a308a7ae8932780dab0a9f95e45e2d7d24557cd51ec42b56086225d68201b19ce2582b259cee3ab36657579741fea4b82336f81b3633ddb7519c8d00057d9b2a9446c30abbf18eece6b1d82d47835d1267b51d423f7a034a7ea773d2a07763374fcf4e09c83be5d46c9748acfe9e9c9c3448c7d47a544063c390abdd4100b559b15355098b96cde3b4f54455d346b9f01ddd638d78bafa91b5e6f665181a46acfb07580b5ca35475514c46895fba86491939955902ee41d2d3d3ac2d96688ef6d237725894a74aa6b4d3e2bb8fae1e37cbda5728e75b05bc040844441ed5eab4ddf99c8d64ba80db5916abd24556571e148728877d54322217dc3718d8db21e77982e9d931a2a17b78d763ef15a3a142a2f26dd97b3ef2ab03acc4ce0b581003c4bec6da9209bfb98fa8f9d3b47414b83afa4d51a24b388379b2e5055cc5019afc0749685974d322a3e3e32cc65fe2bd8fff2807f77d4406c18fe6f951befd9c85cbaf978984bdb80276961705fce8ab062898995c265dbd863974164b58a758508cb2295a9a862965c3983531b26a1afd1d7d44222e56e225a2e19354ca02acbc0a74892c9e9911a52c00c157a2bf6798782cc74af22619c5e95271a059ca322e7d040226192f953d6a37725ddc2aafa266626a665a8ccb659e78d44fbfc3c3ccfceb020c1580cb896c53aca321913136ac9e513af734b324f3161045db121a607e6e4aeea5482226c0d3642697cc8a4cfc96009f8acc4949c4ab97f4925dc0e80c9aab82dde7245f5a11c09216c02380b22860b2dd8247ded7d34de88e047677c2e81fb6b87c5dd68d9c271b11c0a8e1eea9e0098df3e6b5d3445a9b69ea0892b77c95887f006b3927e0cbcf8dc969f61c8d082891fb5cfa1a67269e61b8fb5103bc991d72aee92085e5fd44db8e912a5ca0507c4964e70cfd870618de13e1f8d04f12d01f2336fbb3947c17b867f863b29e3c0cedf3e0d60f9093f1cfdb16e90c4748ae88213e3b89d363c6950c727dfe1493f1a7e53ef6f3d0c39f62b07598b995712e8c5fa564e48d986f031d77f3966c821163b38b8cae56d6ab97348309f6bb8d14be47935fcd021a56a1e2c71f92dfe60eac5a8863d13941d965aeaf9948e52c82274d86f0a8397c44f2173858f8cf1482efa636f28b5c1ecb924a88d20c40b6f89c9cf205d6623f24a8dd298b7319932581c3a9934e888530faffd2943a4d5ac047c61424508c13b77c59f0c0793c5a81f8bccb604db57b0574e8d7c827050d9bf688ec9b43cf5da41c68917bf6531350513928d6c87cc6b0eed42c9b5e5dc0a468e8f7860de04256c0469f5f00896c6885047ae4efe7a68db08ff54ba3548de3e2682b39c4b4aa7b5fec1efe78fccbbcfcf5afd0d9d4412a53c6b49216cbac2440c34450ac92f69694a0e4ef0830f11b6cb9a5c2b36895fb8867bd02e0b21cedb112f2386553be414a84c672b695166f9691488580bd228252e3d4bc7229ab8c7d11609af29a98b8306fe6f24295a0abc03d3daa936758948972f95c11c1af3c287611c602bc62cf62b1da45083829e52ee170cdad3763b46e2e7c054a36aa84d582376d65eedcc6badf89fc8b5d724876f3864063e5bbdb0110d899b86c374f83de403864272fc56ee0a8110f90cef65d831b4980dde959b77b2ec5943a2d4a6d70cf1e5140f9dbc8d66e35f3ab27bf6aeb259e26a3b2a1b6cecdb04e74b6b543f11d7d7336846fa926567e7e94d939d967ba99822c708559dafb87985d4c89e298632db1cae2da2b0246ecd8033a41cf21b2c94ba25097717845b1fa8324cb66a27ba7494fb849e75258bc69ca299f280e8becb58058b36152f902f30b8be4f3b2ff75177ac1466c7582beb61e226251f7b6fd287d3df7b1676f9300fd38af5d7b95487b0bb1f9301317abb475eb589d311e7af05e6c85fb59584a92e32c930b2f522b8971204024e1b8c689a18f8acd3287b67096fd079ac9a643f8021e96e2a74566c530d7dcece93848abf59fcb7d7d9964e22656b78f81a1bdcc8e4d51482a0fd43c81de22be90bc77093a5b8f893475902be455ad8cc85bbf58ed363c5e13ab627c940a392a152b5d9d2344c4987afdcc1b728e0c3e5744e4ea1c2e8f83e1be017cabc35cb8f9829187160e5808fa1c783d61231f67656d5e9464c2a8dc51137cfdca1586868604286565de5771d89d324f31aedf7c0ddd95e6de839fa2c3ff116a96eb0212164476ef91fb0a0800b9c2ccec8a215f959cf2059db477fb305b324c4fa6d8d3fa29018b37b91efb13f29e19a202260ac5051666c5702c898c2ed74b6c864e6a747537c95c8b0ccbc4f0842b1c3cd6ce8222e44e15589e8bb3676090b6e647c5b8bbceb113ed540aad0230fa89575f1700b7c6ecf818d95880f88a18be191bfeee7691c92e6cf9bd444c3fc8e5f13709865cf4f566455efa0905fb88cfbc21ba47005ab899fb0eff6f0cb53c22c69d6a6d6066a0f73837d202a66c1a3dd13e1697ae53ae3c8d491499ddd64457bb87f9a551ce5fbacac963271939d046774f335f7b7692bc798d95d20dfaedcd74b486d1c5704fcccd315559af92ba8be7e4ad7b46bf4522a8f4f07a07ef773c26ebc9afe8496ce6bfa06a8eca00dd2b8a3e8d562dd1e2d02978cd9c4b5b29695534ab120c654e947f07ab4b6721fa7368aa4d782dcfb1362bb5dc97646217f0fa3e89cb919641bf240bb855863f4651ef233fff45ba922f5056ae5be7119cb15770da73b897662845fa7077da64e1360b322eb134fb8c08c82bf8831f1620df2982f30be4d2712c82f6fd0fb7631a776155a022e0909dee85f34b209b46e59b9854de89439e2b2f084725b34e27615180ce81266876c17c5af1c5639e4ad64b858b72dcde887cd7ca5a7692cf7ffb4f09bb028657cd6eb78990f2d21c91e71e2ad1dafb083d037e4c66ab3c9b5d00808edd3c2120a24257e01139de2b60a344bbafca5a75990b0b7df437d7d81fce89556214ac1be46a239102e3b249130593586f352396acb2b253c59a9c4f95b8158c72ed5a4dc09c552c01fb11ac8e7e4cb2419dd9dfa6e2b293b31c17913440b5143332c45d9ba57fa6f58db05e90bccea1a03710aa6924cf633745be9da2d6df4622eb9d96ff6ede889d404923808a1dde6bb4c1e06e80a2918a9f46f865766ba0b8f53d05506fdebcc9d066d9f096ea9cdb9af2e99b5c0d25b18e153bea6645f136a46977beb7341aa072ff510a9597b87931477635c2404f8a405b87d17242afa544d11e6560cf103e9f1dd1afc416dfe4c4fd7b04882c72f1e56f71f97c07d9aa8dc34f94c492bec4ea731add2d3dd06495ff5be8ececa322fbe5d295d7989dcf135fb5b1e8bb2906830b67eefd5889c8935805ac78995bbb4676ec793a9a8f323926202df93a7bbabf9ffbeeff00f1e48bbcf0ca0bf40f660839bab874e13bccce5e67b07b9893473f812d9c1263abc0d3a77e9db5e4052cb528bd5d27680d3a0877a4b978f339b28b658eef7f0fc1a6d3dcf7e81e6cce9fe495d7fe9cb1f1e7a915ad04c3018a850cc9b8181e293f8eb087919e5eba5a8728172c38f428ce80976c761c97bf4306d56d54c074b64771bbdcac66d2dc9c5996bd6da15d2cf3a0df496b314c3cbd2c56fa05c2be88c84f8be179686d5393b52acf25a02e1ae5e6e404f3cb79017e43b444db6969eaa43dda2aeb21cdf8f418215f2f36ab470c9c674917c7989c7e098fb99750e004c9e4028bb357703af3941d2ac747c679794d4089833dc3fd58fd0218b315ec4e91fd9e248b0baf329b7819dd52e460ebfdf435bd8bb9eb7f69344e2c57f3b48982f779042016edf4caf8e61236e666de1443b180dd0d11578d4ac629cfd1c6d84d31cc5a8b22f34302f47a68f23c8825314c627e5154d5152304b53a93c0e952d5364e7aa30fcb79c35cbef94dce5cfd4bdc9e169a3baf610904185ffa63dcce36fac21f27e09e6379268b397385d5c412e1a0aafa9ce6662c8139f70af1f60cb9788d64f11a265796cee6838cdfb8c099f32fd3df7784d5c9255e997c8e96ee202dbe635c59f94bbef6f4bf17007683439d4f601243399b4f1825e24663f78a7e978ec2bca564d8b499545ebb956cfe0e30a913d4942b3db2a96ec8a0ae912f7ae4ff4b060f41523644d459654f534a26d08b2c730e573e479bf969aef2af70868e50cd2e93ca4197e3595984abb8029fc0e16e13c49f9541ee51b5013201a704d04c11cc7f856a31c74cf34fd072e4c35427be4d7aec97089aaf92bfb44a36f72449ff09814adf940df4ba28e22770ba0729142ecb826c11d41ec5a69fa3d277144b5280d29b8b756657052a5e9aa11e175997ccab2501216ef4a1304c088051d9a62a5c331882734b7580a2b2a12bb57a8e8af125377f957d96a5ab6789749cc02128b8a339248b7184fb07eddcd7f43cadc7f7936f7a925cca8a457b1a87ebb2586dfde8a68a08deafc8df4f92b684c9d69e272f56e36c7688e6504ec0874ebe64b0341896699bb72a965d81a9a495c984c5a858769875234f255dd458132ba255368fd8942cc745c1d857e80c0f611eff36aef469727bdf8be6c8a1175fc7e4589679548ac4bc094c8c4a0c558561ac7acd7015de99ee7db7f04a23c995db29f246bb0437c2cada8872de0dec3412e2d9eefef56d00c77f4bc26e23cfba137f49a33c2adb5d57f199a844588bc54ca9a8df2509f6d66f0564943b5a59daaaf4bc2e286f675755ebeb6ec236b512e5f2e92476bf034f244325b6cccccd97b8723dc0e0fe286b195162361d537188030f0e1b0af8b967bec8c4b81808fe10838f5f24699b27f1a645944f07667f8e8e7d49f20b29a3e7d6cc84954b6f8ed2da11a477f8116ca26427475525cb4db9d712f73df024f32b2b5cbbf90cf70ceda525b047008a9985e955629309ce5d7993447c95fd4747e49a0b38f541b98e8d8cf379b1aa93f4751ce0f0deefc72546492abd482e9ba3a42f895cca915c7b854c2e464ba45794e93e06db3fc9ea4a4944ccbb69f33453766578df7b063872b895affd7533a7af7c014b640eb7498c26570ba68a8fdc829d81e16e01092d54cb2a921c94912d52325da024bfadb5fd222b227854e8597556166051a916e8ee6a331a1d5a6d4eda9ac53a9fcd734964547fa72a010ee3707889e55f12657f9666df4332374db404e53eed2e79062badd13e9a5a5a595e59607ed28b57408fa7b78740b385e183838cce88bc2f4fd024e027be3cc34af6196a951cb54207bea6a8dc4b457442597e3492990c9994186acd0ea2bd696e4cfe36b36b676909750b1cb4935abeca78b95964a3c8de9a4620e0e3e8f12e022101a79e43f2ff4e3cfeab62803905103c8cee790a9b6b89ae8ec3146a26c6e6be803fe71003ec016657bfcec17d2eba42ff9462e22f047c36f3e5679e676e7a9e7b4f3c8edb1b2153bdc2f9f313648a37e419f262bcce63bb24cfdc21c69e3e81ddd749c8d32f20ac89ab67cf718157f0bba28cd6ac148a25d12701e6e7aea295ec641362882b03cf6d676dea02e31393d42c055a9adb9848a7048c65485d9a2691488adae8c5659173be3ec3f597bf24b2b8c6f4d4a8610f9b3593c1fb75bb9ebdc373b241362328a6b21112d54cac4bec778089525836e70289b457acef82808131519281cdc252354cad5e13d7d21102990bdc6bf92d62b587f976f60739b814a3c327564fb200e139c2919398ecdd72ce853a118e3924ba314ad95cc1bcfa3b0412df60c1f3018a4def960551a6d2fb04b9a2800bd3cb38d2e354aefd179c8e4b14db9b71043e48a4f931b13ce214b2af63733c80bff5867caf0ff38b32ed33f23db70ce9a408b5110126dd7e188d898073d4277c290bf7b6d7f34dca65aca3a2ddc713d0218242903f2a7156b1be0a00e06033149ca4abd3fce7539f87bc83aa28faa1fe668e1edac7b113f7d1d5dd876ffc069673bf4665df212c1d0f0b2873cab9f7c8f3da04a0cc532d293aa0d314332382d467c9ea415cc43095725434975814ae3ae1930ab56866eca6147b82795a5c564613b219b27596c94a4d338481c59c17a17818bb4d2c29ad85d59b37689dff1d4abe0ef4d643229815205a1265334fb9d425f761796be2d50683e25dba5b366285ffb7d0b3b38b27a6d11c8edd9272774b84dda98a67b7fbdfc9e3a33510867abbacb18dcc8bb643d2ed4e80309d4e333737c7c0c080d190ee4ecfc72d8159e754d00d4a7a056ed73d6feb5480ba7e0b94dcad6b6a28ec626d714e004992f6ce21224eb1fa1766292c8b953bad94c54939590e97d5c1ab2f7e0dedf1833cf6fe8ff1fcd7bec3d7ffb044746498d63d2ad5e11aaf3eb728ca5b95a036e17668b86c2e513ca24c7229f2e9a2fc6de7d0f04739bcafccd8c2573107ce319bfa13f26b4768721d1523254bf7fe2af9441fb998ce917d1f22da1ae5d9377e9dd9c949825e51584d0101020705d82768ed54d40345d9972fb21273333b9da653f6ffbece77897217651cab3035f706d7475f219b596570ef319a022ac174559e29ca527c9e85d85f73a8ef1f70f2c10799c87f8e42be20c69c28ba9085d44c8084c8cba06714bf2f24722ec0eada2aa67286b5c21592e90cbd91bd34870346f82b2360a839ec1643d186db25322b1d235b58960f9244822d0c751fc56ab7c9d616c022f3938e47b06aaa416146c6cc4f38d42cc047648e6ee5c2b522e5f2aac8d182ccad2eb235c14cee595667f7097871cb9ce7f079dd64b24bacc6cb14cc33985c791c9610f1ec84809155f9be260ab940b07549ecbf2216bd19bfed00cd62b82e2a2fb9ab87fe9e4779f9dc6fb27cfa0ff154878da4e8eec17622dd4e597731e605c0d4fc6745798b3cf6a565a91dc0eb1310585c229597710947897a7de453613a0712c4ca539cbefc35d26dad3277459616e3c4d752d89497a5c7c6d0f000d7c72e91ce8dc9f2f4c83a71abc8988ce91089b914adad3e3108ddd44c198ae58221774dba4a15a8125649c3a99b627c06e96aeb677e66958a8c65d0db863fe8323a559b04c87bfc3e2a464852eed959c361b313f07790ce285237c5ed951550382e7aaa20ba6c558cf2d06da19cedbc8cfa46685dc3607cade9ebfbe9ef00037c6f86720c29972493e923e05993457a9552e12134739d15d12256fc723a2c9bb1cc074dbf21071778aef2cf88b60489bad688a555236207b1e2a37438ce92c95b305b4764d0b3c6b1669bca3399c137f31cc55a27e6c1fb690f174489dbe58b32d96d3f82d9241bcc7798258b97d6cc6f52bafa02d52641ece6564a028a2c621154ab71bcde454c371f178091a47a2888eeb561120152db13c0724c90fd4bb375af89aa2b56211e011cfa641ccba5d57a39f0b4585ec302621eef81df7843c08ca0aab41ceb160bc519e08f6efc3e6f3c3b4157ff0942211f6d9d7d9cbcf738c38387d16c33d4f61da672fe3281d19f1341722f7af3f791d73e2a8bf729aa45558dd384c95cc5697b5e364790664f8d073abf25f7146539733f91e2f3b852af52138b25a7b593753f2e40308cc716e348735530968d6bab16115e3a966a94bc5841ba5853eee0fde88bafe0bbfe1f44206488f7ff0c2e8793ca5a87c1ace8722be09694cd53dbb4688d6eaa7aedf689de8692ba114f4743deb7b7915bd2081069b45960232003766f56d828578ade6002ee6ed5428d78601ae548d9c97b532a958c24d8bebebef584f75a3dd1d5e8445ddb4c90362a6f4cca82ab50146bb2a25842b55b4ca3a62df1ef3bc1897a8d8d5f2390ca32d87d8003adef67c276956c49276a913d5889100c0ee2744fb138374d7c25c755eb141cee6664f0107acac16baf9f62e2ea3c93d7c1e71165d4de22fbaa8acf5531147738bc878adc572cb622c0661697731eaf221bd357b0ac7ae868ba979e9107c55a8f32b9fc32fff52fff009ff900fbfb3e2a40a093b6d69200948f60b3274589a95c8c8258ba2a2fce4a22e614e3a39dc5784ca4d63c270e7d104f538595c445ecd52ea2d1014cd6827ccf218aaec299f34f71df0327c598b131b190e5dadc2b5c18fb02d766bf4284ff89133dbf483c7d850b97be49c9e2c4615261db552e5db92a804be3c0fe8759ab3c4750c6adc97b420c1c9f009b6b8c2e8ed3d57c9c44dc4444008cdbe3917b58232056fcf4ac58f6627b3d70e06346bfafb1a9694490620a590524f40b309936a8059697d728540a46a7f7587c9585859b0405a854dd39c6c7a7d09c9d74ede910cb3e4ad83784a966219b9f2799ba8ec775429474145dbebf9a7b9ab9cbaba4921943b644db3cec19e8977970d2db720f0bcb639c3d734e8eaf71f8588f2865afe0a620e54c4d00cdbcd1aa23d4d426ca3c24f7741e5f7481899b624b5e2f0a203c40b8e56bb8aa59317ebb8927447eb9aa74751ca568778a5c2bb2a7fb432456fcf89d0e0a890e2ebe718aa280c48ede7ef61d3d2663b02ac6748096603f8b4bab3266aafaa860a416c4d79264453799fa960904c3ac2ccf1a246a4f3cf27ddcb87ed9d06b07449e5b445fb8bd5e83232be86f95b55ca5584973f4f80817afa832719700ae4183a1d8e97650a9568c960d47a2b2364b164ebd7e9ea5c46539778278ea0641e789dbf244ee647cbdcd5b59ab7304d50c165e53bd279afe0e305957623519f40ea24dbd32302b3248df90053b49b5d62a8021236367613c1be140f93f8a65ff0d2e947f8e39db3dbca739ce4093953727cba4540b71739f815ad1be2313179085a51a036aa2809d5866fe184ff24dd6ba7f03b32c2273f90a55ebbdc6b54d2c50c90b128eb563efc892b5fe18b5700b9eb9cf513df5218aad4f506a3a8935704636b6bc3feac65659a6a6128e7c76cca797303d3d49edd12e4c5f1dab7b5054d2eb0ff5501d946d3f1143bbb256ef329cafa0c705f01c6dc2acba0f2bb6d8278760f008f9c9537ceed49fd0d9d2c3404f1b896a13c9a2586cf6888cc78a2cf6efc886394ebc6f18f7e4bfc33bf55fa8cc5d400ffc1185ff9fbdf70092ebbcee3d7fb773ee9ee93039639073200249308041a4288ab6b2152c5bf6da727679bdb6d7cf556ffdf6addff37a2dc9414e925c96bc962c5381a4cc9c098024721c4cced3d3ddd339e7de736f0f40100409d0bb55f6d6d3b0a63898e9bef7f617cef9fdbfef7ce738bae57b078a4c2c4514a16253cbba5bb179f2382b051af1f358c24f60299da1e696e75e91095b9e9609f77d629dbf4bd1bd5526688862adb9a1502ae785ce07a8546fa56e5da4bcb24cdbcc3f8ae15921d2f327281d03c274d24ffad7d11b52daf856c4625d0693b71fe55ccd53d1787fac7ab38072a3a3b1374a5ef67e6228de6b15016ebe62f17b1531bc9967ba51acc98da0eabdd2e22bbcbfe27f375af9bafcef502844269dd64edca8294daed42fb9725cf8aa1594ba9ac558df5c5a56abecae56abbef698f0e5b176f967a7ddaa65e92ca9a1ed1d9de2e0d304e7d298ed6aeaef37189139d6d5ba1987534dc3ed272130f1f83f3fcd963d03acd9d5c0d3b683c5c575a423f3e2508bf8ab0a06738585c59038197138dd0e4a32ce0b65f548b04344d169e2e98a96d1d3eb5b4b2c1ec51638264e30c9f24c9eded6bd642c05ce5efa572caebcbc27c01d777e94a5d25749072fe1f7dbf1b9b7138b5678e1c5afe33ad7c286f50fd2d2d687d35bc6ac1f90369b152011f1e31e17c73327f3494f677f17c69532678e5fa452eca4b3b54b73ec6daef578adebe974b5b31809914d06191adccff2d204dece80d803bd38cc100eab40513ec2f9f0575967d8c381f5bf46a59227958b71e4c45f333ab743c0ee37447899199f3b4b49d479c5d58d4d4d16a77432391dc762316ac9c95c0eabb441169fa79d7441af9dced1e1e6c8cb2f31bbf02a8303020c561baed636f92c41f202750e6b279bd6dccdcce28800c4b280c600969c9df1c9d7d1d9a758bf6113c158864b67e688466668941c180c0d06b7593978d72136ac7d04a7a583d1f347991f0b61725a65c8e488a70e8b60aa32bb5cd232622b063d35d30a6eef1a7aca9b89955e2612ca885d73100cce52d2a568370d8a96ec93eb8771b9335a6a8595d82015bd91ae96cd6cec574f29e659987f43c6cd126d83251ef8c943d26f773331364aa67c919e0d323eb19213b1362742b5da280a9c9a319a6dcc2c092ca7c43e17f36cd8da83c36e175071e1b4b5e2f7fa995ab8485e80b17fa80363ddcfccc219bcd29fde168fc06337894441e0ca4d2e55c1edf668ab47d154440b966e6d69c5dbee27735ae0debc8ca7d5da2c2e597ff73a3997e7980af9556ddbf4adc4876a5a8e7f8fa28bff21c144cd16a8a64e76da1a94ab7dd4cbdb71d98fc9a4bf5f1cb28968bd1543f22c775afe8c64fd00c7f53f8d45c9344fc108e1f5f90c8c2e57886693d4955eb175eba4e18f51d77f4e06a6a8add1af1188fc1305d71d28bd1f455713c5509d466f54f7b3c5f8955e1162ee94277141f1825c5688b3fb10d9f656f48baf629d7c1a47fe1285a08fa996cfb24ee7c29498417f38a8e52d51960534dc661a563dbaed01502b0a6f91ff6ff6c1e9103a35f95abeda34c25613f56896723c86454046f9ef31626b0d9c34bfca9b97be41256e66d7be0d5471d2de52e1e08e15dafc4e192caf53293b45e988717629e436ff2fd4d20245897fc05498c0387d0193f5140d9b3a8113022beba8e9c394c349da93972019a21e6823ea7c18c5d729d76921bb122530f765da97fe57168cdf20a888e128e7b49a1399429d42ad4877fb219613876909ffa1769fcc9a7ba974da30162e5234b834d55b2ab5a3d45b286927842a6f9b1097d5b00eb899f17ea398901b1593bb59e5dfb809477f339583dfedf4ceffd78071b310f15ee9ed1b3711ab73a3534dff6f92bea9b573d4532cea71f22b2701ae73012d978296565bafada2342ed73953deae00afcd67a27e390c764d3997ec339cbd78441cdc01f29b8b2c8e99d05b0b9874365a2d5ef6eedbc3cc7290a79f7a92166f835c718689e915360e7f947beef910bb6f7b863fffab3f657c7c99eece56edc8aae25348a696a8146a6248bd987188fe30b071d3568ac65196c4813b8d7dcc4d0489c48f33d4f761f6ed3848bc3c2a90728e64b480a7671db9749ec94b25828b9374748a036abbc0fefd778b2dda4b3ce610273e2dcabb20ca7c889e403b7d817e5abb97659ecd512e18c9d627c8d5b2f4f56f273e2f2a9a7671b471cab5111ca2cca309e8f04db279c33671b47532a934a1e5312de1a1b74dec943e8ec927a0632de31735ee6df5922e8705700aa4f3596cf55b88c692a49d21622b2d727d9f38e49a38cfac3caf4086b921b6e134669b05aa3ee259ab98b5166cb63add5d9b588a4f71f8d4b788c4723cf2c0ff8ca7abc22b87bf2f40106625bc287d50133b5dc56a0b888dd33315fca6a8752f4e6705b34587c73d204eb997687a86fe3e17169383e4729973275384a5cf6c2eabdcd7c10b47fe9ae9e06b047adac5f6284ccf5ec0e53550c8d7c9672b5ac2b0de619b404b9074ed75191c02923326ba3a6fa3d7e710e7be88d56d20b13221205be7ee5b7f95cef638fab287867b07f3b167285472f2acfb383ffa04c9fc2b740c8ba06b3b2063b29d0b138f32bdf01295468a86619e58ca2fb0d48ed56217605843a99014a8adb2189a93becbe0748b048e86197bf402fe967ed60e19b9783ecca9f32fe3139b5ac896e4b9abb4c8676f757a48c613a4530284251d63131789aea4c8658b223893024e0b324f4cb40586b520719bc92ccfd7a2bddedbf6765b7bbd95c5ab4f47aa75a06ab5da9519adf0e3e0d7e68a09cd9322c95c5148ba268373174a2d2e7f394caef400111964b754ff14c592e670f997a90969ea8b4b2ca74c0c061af8ec0a7ea7412bdc653595046e765316e828a65fc036ff2aedb1af531583515af787629c4c94d26ecc06b58a53012a4bd24bb354eb7760b1cd502d07c4206ea7913f25afcd536cf979dc9ee3d898c59e1d13a316a4de221053743697c1b49204429b6d36f4e757e0a1b5f0cf0202fb3ab5a056fd0f27b4646ada4889e4615bbb56c8a9f81d99d8f7ef40f9838ff3ed95aff31b7ff03b745a2d0cf6ed4427837bd370171fbea757ee3d4ca5362e24ecd38e51a76225a17fb502e05d4c563ae95fd7299dda4723bc8472ec5314aa2d04f908fed9c771955f202b13b8107093ec7e805ae00026650be6fa450c369938eb37926ed94760f4539826ff0f8e58be815557c7a1cf6bcbe717960ae4cc1d5816f40462d3c45d0f506cfd3486e2b8809d410c8b155323a1a5bb76b8c3d845ad1645bda9cbf6974f633473533497edaf97c704ae9f5be4bd4ea3283711a079a354ef8d1b047fbe579cca8d32cd2a37b8d6bf75a545b98980d91b41cd7bad46293768eff70a367eaf534597bf4aa5124b4b8bf4f474bda310dfd53fabe3455b5ed60a99d59b457d2fafbce91a57b673de510450bef4f6063bf73dc8c4d4192291206b3724c5ae8c938cb8c5fa05080c4c53c95945c9af6760d32decce47098e4dd1d3bd91aa2ecab1b3aff3ccb3c7710532ecbedd423aeea4146fc52186bf5c8b61538fd78bfa6fefb03279324eb56424afcb125d4e514cd6b10f8923f79a312b6e76ee5e4f34ff0639fd08c6be37b1afecc3e3598bdeb0422ee3a6d57d089bbe97f3a74ea02f5ca2bd7d1d85f42ce9f0320ba19a38eb564cdba2e23866c4319ed112a4799d6b58b7c58859df86be21ede838c962f435d698eea2c7fe2981865ec2a922331321184c4a9b99e80ddcca7c4b9e8bcbcf5094cfebf7f650372d9334cce1316d876c3ff3cb47c5ee5a3837798c2ef7dd0c8b3d2b94a3a2a8e533d9ddc4b267c9d7e3e2a887a4914df25a85727145daf8a2ccfd005d5d776a477b33853caf1e7b4c4028c27d877e9ece5e27130be78885abd42b557afaf5981d3522c97122e159f2b530adde7696166264ea67e5d2fd32703c22543bd8dcff4932de28bbb739f8e1bf7c59ab59938f9a79e58567e9ee59943e7c531c7d14b773171eabd8296792d9e0a8c05456cb309b4b9768ef1281e7ef12280e61302dcaf3b858df730893314d4969a156f2307a7e4a2bb8e7b5ad6325729ce56012bbf575f1132b4423cb8c9e8971f2d8b3d8bae6b9f3e0416ed9f2db02534b24abc7e8dd9815fbb7cc85377c54ab1e11832501ac6eb1c975cc2e3bb38b53e4d3027b66119385aa084519b7653b16a387f1a97318f4660d0c27c7cfcbcf1681e0b5726f0fe1a88c83bc919888d842be22cf3542aa20f029505c2b97c427a8396d4c0293666dfb259a99c7aaae4a59faafa9acfdee70a2fdacba307d33e3ab5ab4514dddf1ef1165f21f124c8c461db15c9d9317cb32388aa24ef20218ebe973bd209d74899ec551fa754f73bef4abcc99efc4598b5017e3349fa8b149dee773eaa5a3f542a1219645b91b2c7d28f3493cf3ff095b2144c9b59644cfff8eceb90525bb281de31596308bc1398ac592952164279b9ac4e35d4027d76f345a68549f603abc175bea301dc51709e91ee682e111b624ff86b6de27c0f7d328130b18d44420b13c86600e450d60550fa5fce14158cec20b334d13adae98a8f9ded53a3a1e13c5b3d3344653e80ed639b27f8aaffdc2975927eca213a353ab66d9bf67874cf22c93530e71fe0d0ebff6233ef1a94ff1d80ffe9e4f7efa0146463b78fd8d7fe18edbb63293f7f1ec0b8f72e0ee07d93a7048e0678162db03026edf2767da4fbeff8be41c754c862ca6525e06f5052ac625f43581a4943c77602b8bc5afe11bf90576d7fe8453eedfc5a84f616864081684c0df78950715013a35c952ffa0b4d1325625ac05b465b36a3c8b7c6eda0442cc32c88d02260521fa8296484b75443a856b96db1befea206fb622f08d6ae2bcd7c916dee7bdb8c196cbcde40979b7988f9bdd7a7a2f20bb510da1f70a90bd995a4370f3559d6f06ce54d59ec9649b5565eb6f1d1bbeb24db37a974aa5248ad7ad5539557f7f7989f91d65e357c7d6654819dcb8056fa08752c6ce64ed22a7cf9d1067de4eb435c5f9b393acbd23caeca8089ca32bcc2cf5698ebba5c5c0c48525eebeef27307bff81c7bf779485080cadb3d1e22f11aba4589c896131d428148d32174aecb8ab46f7702bcf3d9ae4d41b2fb1666880db0e6c15753d4aa91e16f8ba87ad431fe1f9138f72fcc2b3344c13f80d9d6cec2d88e2f66273564515dbc4c11ac924d6b21c9ea151d631373e294050c1ebdfc97228c9990b87c92447b13280c3d782bd4d47c0761b1ef301e2e9a4b4949e5c42e677879fcd43f768a9e0b70fc262789478262a0ed14eae12c4e955b03b755a2d1c8b7318a55a663936ca8067a7883081aca9e30217fbd1ebab244a87718a60e9f6f6118abf4e3a11c42c8265b85feca731a79938bf6d1fc9d41c6e87898ec01ab29918f3e1c34cce4f6ab16d9f7ae80fe57eadcc455ea324c0e6b1ad17251f275f89934ccb7329560a19117eca3289fc2581c706d3f3390aa5b36c5d13d032a9564d65cab901e22b0b5ac65993d9a06d674c8fac30381cc56856cb5fb4e17675d1d6a2a6a8ef1378fb1a33e945aa393d067b89d6fe02c21618c4476ce8bd838e9628e9a2b46945c652c58acbb195be7e3fa1e04996e7d32cc5f354f53169d782886327a1d979c62ebd267f5bc626f65bd93f88e21aa7cb9260e2b5b288e63cbb377f12bfdd493c728a64a24a5500647a4984ad8c5d87cb466fd70601469756317ab38841a75bad4a2cfd962a91cda985fd7c228ab7ca98f08860761312a02ec8730c0c6e666878b316ec5accf769c0a05e733918e3dc990be48b692c56b39631b7227ec36db5526b54afbbba78edcf57e64da3aec573e90d06ad9ab2562cf3c75b396f59bb6c492195336a65c883e9ba749c9529c7c3ecf63cc370edabc41bfb396bfe02ad6671a60d454bb21693c1fcca8c4e0685859a354eda1622317f81b5c9af10887c4f54819d64cf1f53e81c422f6a40c927b5627726a3f8e4f81a1cb61f09857b854e7be421a665e0b78a63dd2a8f33a139540742a3ce2952ca2f61f47d924476278f4e6fe796ea59f6f4c8e03d5b6c0248b71365c0d3cce8aad6c2b9670016d27029063d2e353988dc50e0a4c74d61214ae1e909026b87386159e2e3bffe8bb48423f46f91899e376bfbbcc3fd6e4a45134ffce879eeb9f776babbd671e4b571b6eed8cc734fbd2a83d94c5bbb9db99990a8151d2f3ffb289962851d9f3f8871febfd135f3eb5a6df3cae6ff0b5f204045dab32c831843445b1d52d31c174b118a8534e6d2711a2d43a4073ec2bef9bfc29caa72c6f6b394c4886e683cc32de5dfc1e6764abb7408becd890318269e58278e228fce20eab656903edb2a80e611a39dc6ed73e176bbb5d512abc5aa81ca656fd5b852fbfdddb3b7de6c10eb8d40e266f26cdceccac68d023fdfef7ddf4f90ef7b5509e626a08cf7d1be372a68a8f0fee378aefd5d54146e2c16a3adaded6dc6f3ca37cdecafeaf1c59ab6dd536d06bfd2b8ae61bdd6e05e787d1663b1268eadcc9ab56ece1e9ba2d5b6930f7c6498aae1b4386a375d6b4a24c2519617e3a86b7aed810e72d122cf3f7694d64d4136ec824c5411955f67652183cfe7c6ef6b25164969e9ce3bad6bb0d65cfce467f651c9bdc993df4933331d62fd9a3e36aedbc52bc766c4210679edf463e44ad3b4b7f68bb28f8b0dc9b0107b99959c87c1a12eaaba6384738771f9ac04c4c19a598bd151265f48d0de66a72336cbdc259d08af0decda731fb1ec0c2ba1d3e2484d8443679899bd80c55ec369e922b412a43b19279199c4615c47b9dc225a2847a630cbc913878908101a0d2ecc22c442d15199975e727491723cc1815d8f9016071bbb7444d4bb9a0043602cb180c3d22aed3e45a990a2abe34e5a6c8302394b942b59718a62dbb08993f58b5d0c6b6901d4a2828be159eedaf31bf25c7571b07354f26eac02109bb6ac6174fc04879fbdc8ce5b7ae8ddd84db9be2236c24fbeb611abeb357afa0c94526b686d69a12e70b6122e934e9d16fb7c1c932324364511607331bcb5039780d6e6968d62039d644a73f40def12781b92f71ba816eb229a2a38ed6ae0f03c5dfe3574760e6a89247d1d2d240432c32b0269d18480c98bd80dd2e1b48b893e2db075147feb766dcc1c1b7d5acb119294b6a35164e386edc492114616bf4e9bd74d64292d62ec4ef21db7902d1ca194cf6b2b30f1e882804291806710af4ffad5e4a256c969d58c236ac5fa9939cd3e17b202db658b40818986a1803529c0a25f219d89d0a8d8989e9a222f42d269b31168f7a99b0ada3667413e9fdbd38eb16cc621beaf21fdd010880fcecf138944d9bdfdf62bc552af375fae9dc0d54a558b35d16b2b2d75fe1db8e43feaa91c450c46119f5b1c7b5d4d2aa69ec17632960dd01595e9635b64ccfcfb648d7dacf164f1980c64e30b786d5532390333a93a5bbb4e11983a8c37fa3a866a847ce0110addbf4ca57507fa721843e9191900edf2edd0f6ad4da6169914664cf624e505034e675ea0e0f6d5e0d90b1884f07dba387a35a95bd71f736149e83d3281a3c5cfeb918db47735e87148732e67e0c1a1e6b68eba5563d4518fe450b6f8511e9b102029aac78a9a09d50458749b65a27ef54d6ab7b9f8fbd0a3041623dc71ff41628d2dacef19e0d603bb082dbe89ddd54b2e1da628341c50cfff47ab3211e605acdca20c3ad8b2d528066799c59151d4127bea725e5da746c5173137a68876fe1c26579252e294baa92200a688b1376865cc1bf51e0a051f7ae35e810b01b26a187ddf1049c387d811fc47da332729eefe39069437c9853e48d8fe615a267e5f28be44d1d5221f670c45cd57d2d8201329a6c5bfd46a03a26044e554ea57b671ea9713f668a7711a5712f9dcc8c9dfe8c48872130efe46b11fca4d9ee679bf81b63772daff16e7dfb8418cc88db2afde4c96da9bc9257333e0c10de26daad5aa1604ab962c689eceb936484fd14e1c687f53d364afe6c169d65be2bacbd3577f392c4e2cfa56464e8d93e7ac284a85a9a91a6747d1d46b70da23465dc7edb7ec6569668274658e0eff207db70c7272f405e6a653f4f675b21cca327fdecadebdf7d1d7d9cdd9b0eab05af0b97cb40db4303b1ba44d84c8071fb883bbf7fc34dffaee5f707eea0d2c3d61bad642bc7c9e99e0cb24c5b66ce8fa3c1d3d5bc8184e3236f5b28043372dfe7692d94ee2d90bf83a2b7474fac5b7fb696fd949608308ad8a5140ea9238e91af94a9258e52974e2e0dbbb03e2a8c31c7d6194f8a243e654854aed183ace7078fd491c2244da3b3750292668f30ce171f8c5d629acdbd8c9f0d021de78ed4582b3a3620b6a7803dd1a40d4f246e612cf895af7d363fe246e8753ec498552ed1ceddef59858103b51963ed56352ba305b0d249209b145356ae280b3c5452d66a452c8d1e9eb64491c79227b44cb45e5b0ae23555920b134462a9c6168d84fd7b093c9b9330457e6d8b4755f33895eb61f5f4b8cfe0db76a756dd42d8c7a23afadce986d3e0cd619719c021df29f3fd0435600242c20d6d7b553806bb3e6b48f9f7991b9c929ed08adba3ad1bfa1c2dac11e3c2e97c08a00546c9145f11b85fc004aad17a3b14a2c3847567f1c47eb3ae6234fe0716ec26fddcea963cf333f77966aa941676f073b6edd8a77b0c6ece8284bd366262fae082ce90544b71217804d862be82aadda095097bd8b742e24a250a0c45a907b1b4826978924e28496e2da16598bbb138bd981c723ef91719c8ac7517469697793f47d098bf8a6545a9e4da0d06e7472f6e419f2d5945cb34380a78b8cb491d96616884990cfa7c866d2a4626ab229bdf8ac662eadebcd8f77fc4ea69f1a8ba30697ab0745d4d339f5fa8fc16435fa5527e497a4ab25c3ecf2ed1411e7574b32947f8af57c9fb8f2307d3bdaa92ccd5008ced36bf816beb24c46b51e830cdd54be8869ac804560a3e43d48dafb104afb216a8a094b252893d626fd6597813e2b0e758f748230a6f52495b249d4bf578c4250069443285b1cbb719a4aa9208a63bb4cea27598cf5716632495a148241c8d65498c79c0c7361ef01ba0664304e479a794bd463c065e951b39e9ad388de6541d92eaaf0d999667d1c9719fa9c987d1ecc7ffe299e1f7b959557bfc7a7eeede0e0cf7e4894c70091c266f66dcd9388dcc3a5f1653ef7f99f60d7eefb590a4eb3dd16e5f4b11576eefd2521ef49f1f3290edcbe8e8c3c4b57978b8ddbb692288670186c282631729e0d6270d4fd69cb6a1d0c3422a6ac68db30bed60901c09040464ada5106ab294765f31e32661d1de3cf8864fc36870d3f29cad32cba2a8a32a11eaf16b8302444cdb46a3953f23935dafe56a1f81f4a9b5dd06a2c188de56b9c623315fd5b552c1b370c547daf4ca2ef6715e34609cdde2b40f6fdd49fb9512cc7fb79f6c6bff1e71bade4dcec33f33edbe9dff26c2a98a8f94cd4047c9759f5eac469978da3badda3c638345683611b57c5a35c3e5570ed568ed5a99e4453e8a097f8ac93f9857362bcc7c53918d9b9f556dcd61c9eda0eb9b78fd9f993883d97793f8ba97b86c1edcb5c3a2e0e21e282b447cb086d721630885d8aa4c2ac6bdb47e75a17be0d717675dcc6caf239c64e07195a13e791cf75f3c48f26989a5503506d94b36e662f25c9c4cbb45b2eb271d3afd3daf1192e5a9e221c3b49c0bf4f20ad4c25dd8babe245adc851338748574531a707f1b5cb6733040965c2a452e266b3ad0cf406c471b672fe44414b56d6dd5d6079c480cbb95ee0a4cad4c559ec4b319666e788cc2f135f49d11270d3a306801acd2c869e4129e9c5e9b971bbec1cbced83c4d440da580367630d66474a40a5445daf93d77489c3574f6994d09956c4e6b48bfd345228a915a2abd2f646cab5042bf139712add024b2be2547df83b86c5766f225b1ed3f28e4c07838c8f1f15679b6678470957b8451cb91e43ce4c361126d03b86d96c157818c665ed95d719b402a4b9f23ce1f8056c8d3d18ab6eea0517b5469a52aa84cfd9cd6230c29973e2237e22437fd77619033ecee4bf463a19a55628e2efb472cf8307b11adbc9a44ca4136de8adaa3d996676f105b2c9edecd8722fd63ebf40c8095ac52977386fd16a1a9dbd709493c79fc7ee681647bde7831f63eda64e92a519929635cc4e9fa06a9cd76a88a592631433ed344c22aa2d4bf28c2e813483b4a31e9d354a5afc453661249f51f7ea0df4f5f5cb98eec461ebc661f6b3929cd28e6377b58b2daf4cc898b732d4f5412a7985e5f82c5e8f9b582cad814e51c04fcdb85b2484d32f63ac90219b8b51c845c9178b6cd97e97764c58dfa8bc679d9cb7830a5a7c895e4baea6683ff3e3e0d7ab4fe68832d0d9318802d85df83203fa577019c36240aa8c16bba9cf2db0b7f8d7d4b323a21ccc9ca93d80ddde2a6a408fa3c385c1a423edd88ad1b79d56ab89683c422a53a2b755afd583a1d627c66b420beed12b6af0e6b290be9f52398ea964d7b21a964b59019629b9678864ec30382fc824d94a5e06ba598d11d1ebc5f956b0880a8909a5160e18b0bf2ad0912f3733ba16574fde94d5a256a2f01e1c44797116a68564bfb80b865a413d4efcd076304ef2d1b9242df77c9b96ceeda2526659e77e96645c2d3ef809ee3e949141b65d065d37434315c1af08833f754806f809b9459652693b2e4752144a84cddbfd54726512b90045ef216c4b3fc450886272a98992220206593132491981254ac5b2408dba7ca81a9d2c8582570c8e175d398162749136fc0a466582d04496daba181e9d28d66a1b8add8f319b9009639366582fcdf82c36e7a362481e96be7b503ef3a30239023b570fb146b35fb51a28ca3b91e4660aef352795ee1df1293ffefaffef5724b2c2fcfc825609359fcf6bb148a57249946c5e5b51514b1ba827f5aa1a90a8d57cdf7ecae0da34db579fca514ff1192d1631f273b80dfd0c74b572e2d473b4f80c98bc39aa0527964e459cb728d7bc95643aac9dcc9bbf94a26fab1a17a56765b18e092b2dce3acb0b6709454e71d7de0fb275c7adfce38ffe1b7d390f031fee25d0be89d3274678f55b7fc9c6ddeabaa5427cdeac6da514530e162f4db173773f0dc332464f90aee17d5c5ab6921307541345dcd7b793b6b60c13d36fe02caea763b09bc9a5ef8a13fa671c89006d02150e9d5a22c34957a013ab5d8dc718111b3048223a2b366b1abd88a9b676811bb34de6a955cb7561caebe8137069512b8e8b4d4b465244830d8e3f17c2e66ee6e7b05975c4d35612f5e372edcdecdafa299c0171708510156391de8e1da2ec5314f373b4d837611330c99516e4d967459878f0b9d751a83ab5a3c3c1e8a4dc278cd7bf5904cf1e9cfa5ef2153bcfbffa28cf3ef604bd6ddbd87ddb26f4be5788cbeb6cba213c3ea7b65def7178b494f1ad1d59818704c1a918755d4dec948b68b848cfc0318a3913ad2d0e023d161c1e2717275e94f1d2c3dac13574b40dd0d3df47365565454d195f2f69196bdb7b86b019f788c528d1af66d0764c8ae89de6d2c9f564a376f4463d0b8b27686b1d943619229b9917186be18d375e66f2d28276fad16237b36fcf21fa3aef12b13846a294c765efa79c3b86bea5158f6113a5151b85621c8bb946c7c64101e13972893c03fd3b703a4b22085d983b53ecec177b1d28d1e3df483dba4becaf8b168f8d743e2280d9453a55677441ecb6d5469f6fb79648cfbba69de1ee7dc442292d719acdec259cbda4051d07979758947bd99cd257438302d1d23fe283de7ce33843f2d9afad307c3d4069c28b40ef957a55ab7984941f8349134aa80b90f8e8b00cb0d1f035fa6a5fa16cbe55547c9f34761c7ffd348ec56730e9b3647af6f364e2b7304a07af6bab3393acb36fad0dbbca0762d8228918d96055db3d71d9f442b06a6f146580f688a31783501e11429f1035611783a196d92e8b31f2c86b12f2b7a7a453c4712b6a209253944d1f7e7b900f6d8b7272c9c77c2c87c91e10a8b1b0a6781cfb810ac8e0e1420cd6ca35261334063d34da6ce85e96c1fdd10d18f676c2a3a3343eb2966a9743069e0ee568945b7b9dbcb8f30bd8fbefe4dc52157dad8d0fefbea4ed8b62fc96189e6e3198fbe59963588c4f0bfb38a8c617f1f94e932b784401a651449114eb764c95b806202e878e6c8b875ad08e23fd38e5b6bb64d02954c480142b3d32e8dcd20e6eb966ab50fe256d38e874f7c9e7356880a6ab1ec1da222ad5edc32674be3d2093a8dec65ccd8edf71948ef0d3a4565e45d73548a5b055de734620ea6569bbfd585c3eaa898c80db5bdb35aaa2552e2b5d942bb5196e36fe4155d4ea52fee0f07af6efbf1da3a9198344e372ae147572e99adb44da21b7c635d778fb8682b2faa6ab832c9b473e2e5353e39a87b85ccd962be99b2f6754ac5f562497a14b0b686fde5569bcf5fef7dcdc508d81aef966cd60d49b5b5edaa7d1a4cceafdd54f52bfec9c95d54fbada4a8d2bbba1abb951dfba5563b5f08cb62a71797976b57bb4832f6a36ded596bb76b9b771a5819b2523944633ce03de2acaa8d5e4b8fc08974f5d359acfa61d56d34ed5ac26531340ad0ad4abe0512997050a0a144b254d45a25301a4aa2e9188912f9393bfe9e472369bb559d00fde3e76ae39c573b5b15d494588a4ec720f0bb1445080c4c9fab56b04c01ba496acec387037cbc10962d11876ab91aeaddbd9b8a7cc527084e9533eace2481a5633068b7a34781967a39d43b77c1c7f879789c5b3e4d23932311d8f7ffb39ac020eadbd16b63a3b98383f4a6859219714a0691147db6560d7410fc3430e2a2cc91cff2b46965fc2c50704f6ef21953a4e5a3e7b2e93d796ef1de66e11529704aa6adcb2718874b8079bdec352ea28839df78873dd87c93dcdf4dc1cd1a511cebdb9405e8dc533a8c7a243e25445a59b1551e2666c76ab3831ab766cd526bfb75b5c023d7a696f45d479ab38453bb1649e53c727e4672f09578e0bc7bf2fb0e015280ad32ab0d4e117db20e3b95f9e7febba3522008b021bf3220a4b04022e6c8a5380274481b4b8fe4b5a41be80a753ec988dd9d0b468b4a4883bb151ba14f73e781febd7ede689676a4457c6c52ee7590ecd69b13d6eaf450029c2d8c40a4be1192804308a70d22916ca191f33e341dcf6366ab60881b56932f9221796a6d9b1fe63d22e6d9cbaf44372d6a3c427376a3119b56a5e068c8d756b3fc84a3283ab45dac0d545529c7eae700e7b632396fa1a9c16e92773a7d859b3d8d611bce61eed74ced8b945e2d13c461b6ce81bc260d7134b8d0ab0d5980a8f51cb1c11a8c9ca78e861c7e0a771985ab5dc32a3d22f65e3bc165f9790fbd7ea69bcadddace9db48307e9c727551a0519e3f1360fbfacd22340d18ed2936f9b60a78ea985e7819b7a759953d129c652537469b6598f1e9511c6e130fdd7b3fe1853c05b5b64e7894f1d17332bec3043ada7038455046173973ea24f353090193e1b70bc0eb9cd0b902294a3369a1a26b9eccb96cd37e0c261a98a06d93f4547e8037fb5d4afebd2cb47e02effcd338cd21cca2fe2bb6edacf4fca6004992bdd9301ef33aac2ebdb66f3736b5a219c7a0404a325f17d26f603529dcbfc922935ea7a5f33518d544653ba8149f90c13b289ddd4a32d3a058b04a47ccca643e84bfed0219313ca5f21ee96c8b184f35abe973d85d564ab375512835a1fd8c16f97e3ed2415fdc43f79d72e3e7a660d8a3254f5366535a7e937a9f0bdd4bb3b0c9af05c036ec461ac154f3036712840b07381a33a37fea291a960e7eee0319f2c54eb20208ada68b32794a32d05f149b9dd6ca911b458518f425b2d96131f81b3159dc541b66ad905f0d995cb9b20cace730f98578c518134d930fdc89592dcca51574b26886df62691af28aea14382bdfeaf26145802285c930455d5fa6eabf0fe7e437c578f9283ada492927e4ff1bf0c78fe0899fe092ed2066435e9499ba9cbb9e56c70fe5fd5bc5711d926b97ae52b6ab49d5568f7b2aef115771ed76819a24c86ab5cae7cd72e0d67dfcc59ffda940a14dfaa0fed6eac92a35a893eacaca4ba3e9702fa389729d53f997c144795bcc4be3edab36cab5f11bca15d05159c2a855c07deb79d5937695e68e83f6fbcb4cf236eeb9fcef6b02691a57fdfef2ca9252bf8a6b9477c6c528abacb15a1bf1ca8a8272158370158b5cdb06a6d5d7d6b485f9b7bf57850293f2d6dcacac1a8ecbc6a37c4dbf19af7936f57a3205454d377f9f2bcab855ab0a572adab88b2513acc4e25a09fbb8ccdfd8ca0af158949595a838eca48c759dd61b9572458b4b52b7768ca234942bc5c61a6fcb007bb51234a86a3b1fa74560a16aac9288a759d37b1b15794f5e54a9cfdfc1426c149339cf23f77e109dbb03cfd0380551c82e4b00873fc8734f1e474975d03fd8c770ef2d5afe8eef3df67de2c102bd7d7dd22055c2d132c1331718daa2c3622a130b5ac988fda9e41b04678298f56a822c51fdb19838f27e067a77313d59245e99a43b708fdccfac9daaa9959d0c75de423c9e14584a203e54da47a19001a7df271d62c5604e51d05da0985d213c6990ebc7a88a83369bd1eaaa444239356381769cd66ad1097c98044cc4f5198df23b358bb353e6b6da0f797abb7b18ea5703ff15fc9e7671b22e99c339f2193dba8c0e7dd6c55cd0cc746d5a0b3e3688d9680bcc637528d85a8af40f74e20ff8a55fdec0aa66bd3614a916c4a989a39f595693bd4db2289097cf96057a1a6cbba547c64f92f9e019f94c5562f32e8a76811b9713b7a9979999534ccf4c120b0938d5439874515a44e404ba8db8140733136ed2b6a298d6a234bb99e0540d77875aeb2bc9c9732f31337b9c587c3fb9659d38fd30b95c852e79c69e211fa5eabcc05b8299f2acc04609bb7990aaf8939efebbd1d7f578dac47e4a5b4f4fd498085e646e624c4025456fcf36b6eedf8ace9417e87b92b1d947f1d91f96712710154a8b4db611995be4e5e85f60504f702a51ea3a81126383ae76b183192bfdbdc344e28f4bfbc4e86dbb5fa0b3809216d1aa9ec611f84b846b74af75c8fd0a2ccdc5c5e754b0380da24d0a5ada7fb5ba732ea590ce2ee16add266322c58b471ee795234fc858ce885d4c0ba0c6a5df8a022579aa593d5d6db7cab8cb698071f596e7f5b671aead395557e3ba149366007e7c2ae72a655d2da5d0c59f14e39515c7b89e16dd1c96da1406538582b39364f7bd341c766aa92a5d2da7c5f22d535b6a67c0b999634b6a3d86a21a3627ea40a7ad9e94c4d08c042bec5f63a2599ba8ce85f36136ac178510f3cae42bb37bd7ed58ece7a4330e71f64cabb48e17afff00e9844926b701879ac82cd1c11ba24e9c6ddbe9900ecf4c46389969a56ff34ebc6756c09e865e5733f0550c835a094fffc21c7aab3475a208432db0b74bcbfcaab49a9a2774a4f7676520bdfce6087e838edb77aa65d7d52d931c165b0bb1c84e313af338bbcfd2281864507f028bbb47fe2ec6a22c6ad230249346065cb5a05d4b27cacb68aec8203550d66da06aa9e3a87d0b53654a5edb4ba31614031597519ad722c7cba58c28200b266b5214ec796a6a66d8baaa6687d18b125ab4eda443fff71883df6679f073d20f6952465171c6415aeb53e84579589cdd9495320b2555dd6cc36313805232e250fcd78931786bbff3f2aac6bb1df3bd3250d5f883d5f7b47abd38044af2627dd5980355059a565fa76250b1546d02c8e5550ced5ff5b7561bae5aa1d0abb5278cbae6fb8a95d562565c791f6fadef5cc195b7aea10828abab010d69ab8aa8ddba5624cc6c976f8b5e604d4fa62ccf78c5185cbe96ae9928ecf2a242bd490bcadbc8ecad351eae818dcbb5b61aca556073b95d51ae097e7d6748ecd55756df6f95f6535712e3d1a8386a9f062e39b5bab516acacc3653668475673990c5e6feb15b849a452da714597f445a6d2d04e08a89f335715f048abcbfe05017c1b9deded1a9cad44c570e63258ed4e6d5b46bd5e3412d6ea84a8a5e82bd5ea9513016a0e057549b95e6b68c1dcdab559cd55b29a6ced7ab571ae5581aa41578a6ecaf5202e97978638ce60f61552911606fa7b59cabfc862f2a4c0859b63978e53b39af106751894568ab58838fc1501e0128381bddc7edb5d44b263bc72f49b9432655addbd04fc268a15855d3bb7f3fa9934479fbda005dce6536e2d864b510a722d17cbf322961a718ddaccce14a1a4c07f65234b8bcfcb679136316c93f9b942aaf80a27471e17a03189238d49fbad25df483076e928bab56ebabc7790c84fe135a605eec619b964221159917e903962d66930a28ebd62a121204733f053e672c552153011b0d33748e7c4ae988c5a9bce8b03be30be447bc0a1c59e994c36ac3613ed6d6db4a8d9a2f36a060eabd813bb7cce8600538e4cae4442a025345767ecc49480cc398ae50cee56bb9683c326a24b712c898d35e0f50cb17ec3360eecd82ef0362a7fdba0a5aecfd727058292b408fc154a2119135681b338c5700a97d83cda1adab870385ab0595df8ba0a44968ae2b0c5861a653c94cde2800b94937adcbe2181806e22d509fcfe1e72711f0bb363940a5979bd8eb69e21da3bdbb034ee646ce17b60c9493b1e24925413af59d836703f46196f4fbff1bf914c4404964c4c8ccd6a158dfb0777f2d99ffe3db6efdec4e8c828cfbef40d6cc636f66cfb309746bfc96ccac081dbee93717142005ead0d342ced5a141bba910e970797274557970f977e27c9d7a34c2dfc10e7ae763676fe0ce59c539eadccbaee5e8eaf2c924ee9592e4f897d4fa9e587588abd41435fc0581cc2d6d882cd247d609d637ef124e3978eb0383921363e29fda266f44d69c9ee76edbe9d3ddbefc46eeaa3777090970eff80575efad766924278d70cc91adccb5c570365b5adf25551d43cfda6fb3198acc6be62494ee28ebd44aef3e3e45b7e07e3e477b1d6a789353ec439dbafd3d508e1ce1f15a3af27122b890a98c6683d4197f5020fb836532e6f4267f489e26f6867d04b62684743356d7299d54f2d8d7df8f5a7f1b7ed6439bcc0e4748a35c33ebef595a778f823bfc952f01c5fffdbbfe1a1477e89bb0ef5f2e2b32f3235738c3beeba8be84a04ab4c469bb0ff486633e70a4e7ec957c67a7a59c023001ff3352b04fff3088cc59a09d5d494f42a9c9c0d43bb035c2614f5d956c4250eb488aaf83ac5f9b39837efc3664872612cac95f8eeebf4e1f5f563f78a010a99c56818b139c7a954d43d64b996629181631583ae8298535b222f57050ab888dd3d2e036b2379cb7a9c061386e8bf5072ab357a64e0d57ab5c0409dde2286ac4d8c44af34ca2551b06a8e08a179bdfc4db715a5f68688341711ffedf4859ea79adb48a9751deeec259cc511666df7d3d6f5495a8c270426932ce6c6982dbb6933d645e98ad2e4a16ba0b3b95478194e1494773d7d738dabd1620f9c4e275d9ddd022590cd15b520adf98528e7cf9cd46a4c6cdbbe0ba74b1c911830b522adbae5a0d692d0696a7d353a9da6c3559f232d0ef4d8f8383e9f9f8e8e762de5b9ba6d5251a3d22f3fabbae7aa6ea9a8de5bd15d594d715af54c2fe478e2688263331596c59954eb3afcd612eb85c71ed9ef66e31a97380845faa4b10a1657a14de33a4b1fdaa7d6f1cecc22d7feacbb6a8d4459fd6dfded7b336fe5785f5debb8668d453ea74964f6fcf8027ff1952f7169e43c77df731f9ff8e4a7696b6fd3fea62ee3bef6fa09fefc2b7f4a30b8c4473ff6713ef3d39fe799a79ee41ffefeebf8bd013ef999cf8871be5d8306a3a8f2271eff117ff5977f8ed9a82a681d076ebd9d2f7ef197f8c6d7ff8ec71efb213ff3b35fe0919ff849befd9deff04fdffa260f7ff827b9fbdebbb53a38a56249c6a05a35b6a4fd5b2fef57574c9af91464e856aaab316855ed94d7e59592eb258c52bfd2c5792e8d2709785ac9e56358da12b87a172889732c1a2f902af753cb0548c4eb2c5b462826cd6c59d38ba727c9e8d42999a63e3eb0fdd7b8f5d64f311e7c9373c75fd1e236eeba6b23e9f22253a346b66edbc8f9f1e35a265b9bba72296d6b3467e919ec159bd4c9f9d3e7b13b6b98ad265a4dc302f67ee666cee3500274b41cd28efa7ad51c26ed3b88245ed70afcf50daca3a817e79a096889d7360d3bb423a171f93cd9da056ad57b5818ebd39c53b998d0c044ab4525fd6531eb311a1a148a3267f2eaf14faed43f31cbdfd4189db252c324f3c528aa7e6129cc62382e5061c56a6e063dce2dcf8a9d346a313a6ac0a5d56a6c9ece10bb6917a85153eeabc5560b4593b4ab3ab9021ad4d47215819702d9a2532b38379a1fe5d8cb537ce6b3bdec3ff05302197601aa69e9171776b12bea30558148cd67a213616437b5d1d1e313109e265f52c74f27868643e65050e0721e8b3728f3d34e5a6cbe5100c3d7e116f84fb31c3fc9e0e000133361a23175fb25ae6d23d7953aae16b501322c8b6d4a0bfcbaf555e90f1beb1d9f9139bf514020cda5a967084d16c8a405baa2310ad9027b6f799803fb3f842b2042c35661b06b377b7654b574f1c1d02b4433a3dc79dfc771395a99081e65eb861d226eccb439b76a5beb59e50ca3f33fa0bf7f48bef36cae7999581aa06e3a4e2c7617f164810dbbf6a118cd540c05e9f7b4d8300b2d1e133eb9e6e4ac006ce938fbb6decbe25499687e44603ec5c591e745b86658d3b746daa24878be885da0fb273efd59766efc8056e7cd21c0d711f0105ace09e4376d996a02aeb7ed79e577ea51e19a1af6a0d3a0fa72acc98f835fafb2cd46438542c7c7a9afff23addaa2a5f08acc3c3b51ff67d15b3688826e13c7ba450c5556a83745a6a0c7eea9d1a82e88211bc1621f1327b1915cd6af65de0b150d5a755cbba8898a0c58b34c8a54a2c63ffee361318469028135bc7ef439b66e3fc8c963c7989b3fcd9e7d1f94495fe18fffe8bfb26e7883963afbf0ab27092d2e716e628c5ffecddfc6da56e3a0c72a86a1006b054844a130976a560c5eef8537979a45fcd4afbcd07ea74089cf8a727411c34579a6b49efcc622a75f7d8c2dfa69cca5369697d284c2a2226c35964355d66d588b62f2ca045b96c966c4603a412d332d7faf52a95be5198fc8e4b6ca0c57f70e96c470aac781d5027adda2108d5ab55f7539de582a922d0770d8440d44d5fa109b707bbd5ada7875bfb3566b13d8791db3292193be9542212f8f3e439bae8de9d63be88a1ea63d729205c54d7ff4198cbab2b635a60b074948dfd87ca2e8dcfdb81b614d41551a597128d7e0c56a4c88f22ee770aeb3b3b14aefcda5fccece4ebaba7b9a71072a94cccff20f5ffb3b32a984f69a679f7c9acffffcffc4e0d090560a5cbd809a3fa55c296bc5b0d054774d530726ab1a459fe4e29953acdfbc996ee9df4c3aa32d635a45e9ab49e19aab03ab70b31aa9aede478d7d7eead80a5f7e4a0c9ed1c1de8d1e3ed86bc12a7f180f95786a2ccb0fbf11e367f666f8f89d3e695343736ba7d178ebc8744379db76cdb521c06fadcde8b82aa8e4aa9812deb67ed37c6bedaa9fdf5a9d79674871d3d1abc7449f78ec078c5e3cc7c73efa51bef4a52f499f19f8a9cf7e8e7367cf483b0ef2977ff62562e165eebbfb6ebef1b77fad255f7af6c91fb16bfb36714209fee0f77e876f7ee7bbf4f5f56968343676499cf129befad5af121188ffe33ffe3fb5b9333636a6cdad2d5bb670cfbdf7f0e691d7981c1f6341fa507d1eb55fd4e0e87abd198ba21a46f548a8bafda0aae762b1a84122ab3136ef965afb6ae3ab9eea50db616c7c898d9b646cea06095f72d0da95a252306155fc1cbca797ef7ce3280611189ffbe45d140d23bc72f41c2db63e760fdf2ff6a393affce3efca3546308b535c33d8c3861d1e6ab66552312773c169c231715633e258640e766e2ad1d56fa043ee918d8b23376e21994e50362e524e15999d4ee2f039c89bcf8a6609d0ef6fc7e2586268cd7eac2d9fa79c6f5075bc49aae46569529c64e85576ee789064a644599fa7cd3fcce4dc38a78f8b438f49ff2a156de54afddcea4a930ae826a31a99a4d6fdd26966a7a2ad40550568ea982c06ed6493ba956611b1e4f35b092e17580ed6044e2cd2de68a9ce9b79630ccc2cad5c595db399a5cdcc4619cf7a2d9997dbeed446954ede64121b64b79bb107ace48a0e2d936ab1ece3c8cb4ff12b5ffc193ef373bfcc7ff983dfc3e3ee617ca64ea1324245cdd32163c8e3f662f6e969155b6d11f155929b5908505162cda2adb194bc5edaadad483edc10e7ddc3f4d4a4f48dc051394eae201fd252c3608e8bc82acb1c366b10dbd6e5a557c4c1ccfc98262cad2e81218f57604b4d5ee615c038c9f4fc494e9e7c9a5ca2442e9d96311b65d7fedbf9fddffe0a73135112b979e617d55c3797481546047a46595a3885bbd38abb6b94d75f9812e0131f25f6445773e1f779b415f9e78f8c312ffd5f1280552ca768717e06a7f903d4b36779edd88f4826d2b475a7e8ebef63a5b22073d1c4ed5b1ec4acb3128a4671ac7488c0db4f4d9f653ef9120b41356f548cba5a94b66a647c6c5c44ea467efe0bff59eeafc3ed6a61662ac162645cc6e866d2893e16a6c26f0f957b9755c62b2bd85a9f372d86fef2f6e88f835f9b5f6641bb90712fe3a64fa15b72e0cabcc26d953172ba35f802fd0cba53940a456d1fd562139a77746b13aea62983ade4cab7cae4794940e50501983aa1957b195f5ccf509b4a831e992c3921e25999a02e3efdd3bb59596cf0ea2b17082e25f88ca8bfc3475e67f6b545eebeeb116c3607dfffdebfb077df7eb66ff7327ae15f65b025f8f04f7c96833d7bb95d1f42d187c5719921e08213cbcd5c256a62b50e47737524986dae9aace49b5584233908e79a4e62c3102f646679ea94833bdbda69c9bd4069daa2a579aeea4a98bc110c810a09e74ef95c77c804ce522bad88213053150050ea091c8e1999080d01945681b81a7a6941a3a8f96cb18f42bc4c6bf809cad25849df6d5a229f7c3680d323ce4099249b7a4840479eab765a06a71b4f6b568c5213f8f4fa5e314e054cd598b4e56dc41c9be8481ea12bfda618be2c55d710def48b542f7e47c0493ee7f206f2963b30b50ed3dad9c5b428976a55f78e241a8dd56d8d2b4195bc77de91cbeb0c8dd592dcaa32af0aa4a8c5df9e7df24922a165feeb7fff63b262545e7be565819424cf3ff30c475f7b5594ab91db0fdea56d053d2dced4e976b36bf71e2e9c3dab6d197805cc8a858276c373674ef3c40fbfaffdfbde0f3c88a7c5c3e33ff89e3669efbdff01b66cdba1056a2aa2c20ca2284e2ce870ae6fe70fee73624f6659984e88b15778a853cf67f6b6f2f7a7ddbc3191e4a17c1db3a8347535eafa11eed7cf40f2d6b6ccaa1151ae0e786906d5bef304d3ea3bb40511e59a8891b7c7cea8af51cb057cf4631fe5631f7984fffb9fbea3e50c59bf7ebd060b7ff487ff995ffb8ddfe217bff88b1a588c8c8cf0177ff9e7b89d0ebefa977f25ea749a3ff8fddfd38efaaa2b59ea69357565c3286ded70b8e8ee5f434dda299fcb69d97f8d06933814997ff2ba73e747b4ad9bf6d5c46aea168e9a3b41cde8dadcc2a935214408a4a056f8533352aabf5bfd5c8dabaa545f6f79fa32a8385de2f8377789da9e637129aa15f98ec71a98dd1e2a2ccbb32cd333e061f36e17b5d0060d56c289229bbd3fc9a65d5b18997f83271eff2e8bf311b9d6105bf67e90d69622672f9ce0b63b65cedeed606e7191fdb777f3f80f53c442057ad7c9f75a137dde5e690f0f0fdcbb8f370f8fb39488e2b1aee1fcb145961783ac1dde4a8b3784cd238ad7dd42c9f20ae992a29d7829d443021dedf4f50e61708e93adcda27307311626289444d818b2ec7d20462e6e24f2a61187d3a4b589c1a8b65bb58924a2876c769d96c1332f63b0a205c7d7b4b82ca3513d12aa90cbd5b5938c1ea71935db4243adbda5ae260ae86801cbea3cad3656e77143aba42c88a5f5814ec9c975e2da8a9641af6097b9a69e9671392c725f330ba10bac244bdcb27b1d5393537cfb6b5f960be6f8cddffa15999766ac6e85b222f6d3961120b0115d30b1415d05d005e53e01ac8dcdf2fb37a898b2f475dd02c53d1c3efd2d148120bdde4668418f3210c7248ebc90f06b89debaba7b198d54045492f29973ec58bf167fc7a0c0e11a924133f94c96167bbf088f3273cb478984cf0a749cd55e9fcd9789863274f5f472ff43dba8dba6c9d6b302c43a01f713443327e4731c211a4ee2f6d944a8f8b878760497ab9d5b767e5ce680dcc39a603af14d26a75f6225a5e32387bec48913cf73f1e20becde99a3bd3b2ff7ec62c3961ca5d0765e7962044ff79bdae9c8aa2929b0242228e165616512a3a2e640e9e0f11ffd03f3a1d730281e7a3bd7630c98199b388bd9e2e3d0a1cf6a95e6cb9528274fbd2c6d99d004dc89913718eaba5be64c41131a5c27b1daf5a1beae5580d7aa0beb9ab6e2da7c53ffc38289da28aa23f15932589d76ac851511825131237732bee4e4368ba85771bf3a3174d94c5c9cc1512c7635ae44ad1300465b81c59c97f9b39fa0c393656dd771ee758f6008cf92793d8a2e1742d736c896c13e81043549591f7b6fdf864526d77ffba3bfe09efbb6f2b94f7f961f3df1afac5db7933ff9b3bfe5d9a7becfd7fee659f6ddfb313ed23d4c4fd40a47a69b8e468ca941358c013bec6c8733211af102b58d3e0c07e51e5f7a533b324ca713bcf2be67a6d4f54b011831aeed3afee1cd2748a4ac2cb6ed215f5da6564ce0b256e96def60775f9a0dc5a7d0cf9da09ada89e26f13a5b55dd4dabdd80ce278f5418af96171521901ae5e72a55dd81ca7b19567d12fab27677e00c932b94d1fc4d9ebc3589b2097774b9b6dd5b61d2aa5274521b5a2371f14c3244a27f7aa7c1c3565f2383a93490cd9c7a9677e405be4716cb50551051562ba6e2a6aee93ec2461f7cf60dfb01567fa08d5c5a77067c4f8ac3850c27d18e4b91a1b4cefb22ca27bdbc90a6e10087b251959a399944b4dd8a63ad5d0b2ba0f3c2470aa961e70f0e9cf7f81642ac5f8e8281b37ae6354fefffc73cfb06efd46a6449d7ffa739fc3e7f371eeec6976efd9c3e62d9bf9d7271e677e6e8ef3e7ce6ab12bed7e1fdfffeeb7b965ff6d4c892ab9f7be7be91f1814e75ad41cb7bae85313e0fd8d87db08a5ab7cf747b37cf758114bab0bb3c0523494645f5f982f7eb48be15bdb69e4d3a2768bab3901ae131cf28e2d9cd50ffa8e2857e5ad9593c655d1b157b7d4956b5f852c0de5aae8ddab01a719e7e27479a4df735c387f4e5399b97c9eeddd3dfce997bf2ca0eaa7a7af8fd78f1c1608f94fdcf7810fb0ffb63b707803ccbffc0a73d3337475a995524b62008d02223a815613c9649c5ffde55f10e028f3d0c30f73efbdf773f8b5d7a41d07b4b4f2fffad863a2ae1d72ed7e0114352998faddac1aace6bfd10afaad16f5d3fe8fa28904ddeaa9211defccf2faf620bd66fb74f476d1d5bb8e78bac6c2c825564e4fc8fc70ca5c814429caa9d7bad9d97f88aecee7a1ef347d6bee6097f3b7b8347f86275efd1ae1a538b1489ebb6fff00bb0fdc4b3496914b9fc3ea710800af23e0db2c4f12c6d53ac56ffd4e8a678e9e677a1a5c8d03747b1f24961ce3ecc4a3847293186a1bd8bcb517bb37c5938fe648c4cab4052ca2e6e749174ee26db38803dd25762d4c266416885aa4d565c3a9bb9f828890422e4b365bc56acd105f10c0aba404503298d5d369020f46010cf558a8da86eaca4955cb5554c76a512b27ebc9e4d48ccf0ac22d941b7af402278646f300949a015bdd3653b7796aea892be903bdd2040e357f8c5135ac02e42a78d66b720f811ba5b93faa6d1fd56a6a4c8808a85c422bfaa99e7032c8ebb329b14b0527f7dfb9999ef110dfffe6df3139f5261ffba987e86c77d3d9ba43ccd319627361bcae41d60d6fa3acf39029c6c5061ae4dadd646a4952990856b1f94ea39b955c4c3bf25c4855892d9768f51bb45c1e3579b6c18e0d9c7c264a2e19c22c73d9e51c10381ac3e077b267f787e9f0b691292c11cb9ea62ab0ecb46ca690bf20fd99213ca3c764b370eba17594f3359efad1bf48ffec15476fe5dcb9a745e89d1360b232d8fb106d1ded32a62ec8cfb7b07ee86e1917cb8ccc3e874560657a618c4832ccdafe2fc838ab71cbb64fe0f67e82526341dac946a06d56a049a167f30e76e5f6f3e2e9ff2a7d9362653e419b7f1a0b39b1cb82849608e3f32745589f425f736035b43023f628149e27954df1e14f3d8cb333c87430cfe8d8eb24e333d40dd21e9e80069b4bb19302bbcb982b161ab5fa3be2b0b8260fd0e5155883ce20ef37360582d278dbe9c6ffa1c1a42233aad5a6978e6da561570b138933588ce31eda2c54e92255ccd06233cbebc4c91bcec844ce51370e69f9392617232c47040a0aa2198ab3585616a9cf1cc3a22c502e34a4834532d95a29eb2d1cdce94637f94fb85ddb68ecf81c56e3267e77d0a3ee100bf1ebd9bdbb282a70232dee328f3cbc5926de1a0ceedbb01d8bc2d87c336644266ec3669239ab6ee1a4d1226bfb3c547b1d34b225eaf7f5a1fbe1181c5f867b079a394cd41514f5bd9dbdbc52b8c463a2cadbf42ea6e7ebe2d33d38ed7e5abbaa0c1cfc2455ff102bc631d6994e514f8e509d3c2ccae4690af6c70452fce48c1f9236b95b7ef722baf232a6d4614cf193584b6fa05f91fb8a328c0dfe123adf7a0cb9bc76acd56c9ac5604b8963f78be309934faf1763332c9f450cbebe0da3e58c38283db5f851b9de09acf1ef604c8fd3b0fae5fd065e36ff364e25c87db52f60309929f96ea36c5947c910c06910f3113f8b3dff1aa6a2617575e49d3126d73ae61b0ffdb74edea8ca395f2e0904885274d8999afa7fd87b0ff0b8aeeb5cf43f53cff40ecc0083de0b4112143b29aa53b224cb9222cb92655b8963278e93dc24be71625bb66ff27293771ddb495eca4bf25ee238ee96ac6e354ba44989bd809d203a0618607aefe59cbbf61e800420d2be372fdf4b6eaee00f1609ce0cced967afb5fe7fedb5fe3581702c8254328173a74f73c613894409e19679202e13cb4b675268a1a0b8fbb6bb3037374bc04b8b5beeb80b5abd9eb7a96633192413719ee2f610201c18640e8bd895c38edbefb98fcfad601d23fcd2e97f45a6682b4460a95210565a70d77df5787c335d0fe1b0d7afd8706c240b4d911c792e8a40b254631dd2724b8e506bb37957aea8563722ace8f8c19a618758f573bcfbd8475e5121ab58015aaef5395f3b205aaa9779fa07dfe3b5217ffab53fc77d7befc04b2f3e8f4d5bb7c3ea7243238a78feb967f1d4673f832d5bb7e08b7ff85fc9be42bc5ee491473f84cf7ff1cb78ea0bbf8f5f78fc096cdbb18b674152690a963a1d3eff852f62e3f030ed3107cff0852361982c76020646bcfcc2734400f67249fa12811a760ece8b5eb95e49851f23b0c2667e5fec188d8d6e87c4eb4ae4dac55f05abd76b7b949704d60ab9791e4c9d0e0111b50229024aace8f6dc7e89820170dbfa7e78dacd38971a4181088bd2dc86b9f4011cd87704d10073462e0257b3588c4c221c6fa33d914477078199ed8f60714120960d8c1138332c54b1e7ce309a1a4b9819d562627c0689f8cb68aaeb859bc045ca99c389035770796402c33bbb697fad472c2863d63f8ac5e045c468bf6ed8510fbd6306a17805bd7db7d23d7bb8be4b247d06763b05ec8a82825606d6f2161c3e7a185317737c32b1c1a4a475a9f08c889ae932d1fd96caec7856e65b40a91778ed48b55a6ba767354facf68249ba73f13afa9948fe94019b74a68454a6c03b0ef9f0739165bf347cafb067a251b39a1f0a5e5a2660ade6efa9b1eb5a7b29cb743180c96ab2d8b4e17e02043ab289583285c1de06b8eb2c7875ff057c8dd6e7ae078650efe8819c6845c67085f61b9b04bc40fea705568d1e09e93bc811f1cae40da8a4f208cc2ec260d1a283c0c0682083bee13cdd5c1a425e0597b5855c4a86c0df66a4e2cf11b866d90927ba8644222d5a18b56ed4d59910ca9dc495c9fd04def418ec7a18e7c7be8b14ed91c002110b8b1acdad2d70d83a108b66c90f34a3b7b71527cfbc4dbe3248eed182fac66ef221db78f6f3d0710afc120124294b6b62c7f4ec61024765b8c41de8716f41b3ed6ef22953d871cf26180417ddc73066178fe1c4e977904f1891c99e24724964461e804193405e1dc0f8c40998cd36a4e325446213f4ac88781774f44d4f5e9847341ae605c81b77b510989dc45b04847b1a1e834bbb0dd6462bed9549028caca35389395f96d63d028fd1bd422e00d73df25c09eef9905549ba2603f06f2017f5efb32b879c50a190e1e24195a211cac019e84cad104307b00997a05b4c1153a8402d8984ec9264640df43d416c230f6f68028e540a2e430a7a33a1784523086c22a77800f9fabb20988c9008896ac508aa250209ed1b609afc115297d508b63c053d6d8e62691b8198535013522f170f201868a2c73303a57103441f19c3e5406d381f05a7ca863a6eeccad944adecf05204f26d2d80d70acdd74fa1f2d92d10eeefe46dc3d8d1087ced38785a274441f35623be7ae46954e683a836d175554ab0190442e92642e12a0cb6b95131f5a0acdf8929e197a036bd0cb3f41aa46009c6ec25541397a1d4f950157f046525085d390a6d29c4152415a20b85d65f43c2b6115af33cd4f2385d273bc6b24028df444e5f845e3cca15120dc67962640751aa92d34acd421f1f8532148389408950a2fb35b420d9fe51e455b7c11bf8cf30151790951d741f1a182b97110c2ed2b398474b772ff2452fb4ad77231bdd84d8d42c6ce5caea6c183fc7acf2ba4d894f8e7d7778beee9c1779f95be2199312810d265ab76dc74e4c8c8de2afbef615ae85612467d846ce851572b6b7b6d3fed0219648737052a4ef50982923e6f9914192d89c86a873a95080c96441774f1f39283f574d6c6a6a225653e2998410054f9740ec8d9cbd744d00851c4719465d197ff2980b13be0cbefae70490a215fccae36e7cf2e36e24a309f882195e4c262d6ba4c86bfb8ee535986365ebcd1a60b2128cac6ccd81bc3a8b82153f5b557f22acca98b060a3256019a67bfedbfffbaff1d20bcf7387be75cb564c4d8ce3cfbef27fe2898ffd225e78f64704e6e63030b00e4ffdfeef63cbb66df8e94f5ec7ebafbd4aefd7a0afaf8f9cbe1b3902becc91b14c1693d0ee19580fa7dbcb07f5b156ef52bec08f7c3c1e0f6ffbf612809c9c98a881126296d5f2d2f792ba2bdb1fcc5458909558968c40458900e9559cb654f3b3d2b95e9d30bcf4f366f756b43557311ffa01da372ab91ec5e24c91cdb6249bb11293d551a0d88f4b6317d0e6edc0e27c190b136368b50dc24a44a7ac9e83ab3d8942ba84b1b36779316f225c248095439da30d92358894f8b738f04e11a2b5912b23dfb2d78de9c5051c7c650ce66a1c773f6e47739717554d0c315f01cdae5d30c95ec8f99fa2aa48f20e20b3b98418055b8d7a810385c50c9b5303d81a64cc4c176090eb60b3ae83a42fd0b3606dac09a8d4492835150a441a72474a9ecdabb2fa27020face6e0da1690512c94c13a401978d0686bebc4d7b9c20ab32b108900ba3d14100900f87c11e4e9f50c70144b1207e146bd8af6b11265060cd9446725d943a50620d9cfb9360dd39f91b104622a5c2785816096c1618295c562196d4d0e3cfed0305edb7719dffefb7d18be29889ede1eda272d48947c78e7f46bb0db9a902c66301e3dc28fe8edba8de4b314648b05029315e89af4104d69f4741ae9de4b702a3662e3e68f6226fc3a8e1f7b9b006182ab592bf561a8ebdfa4a0ff71c4e9be46cbaf2393ca909fb6724905ffe238928b4aae74cb9455376c6fa2cf6ce747213301f28122b9f82bb318f71d412165456be7309c8d22e6c327e9f3f368ee68a47b55e3d2e821f47aefe533d7c67c0711afcae86dfd001c4e07e4780efbde79070d0e2711a7182e5ea6bd367392d65b4584ea00912b13dc2d4d48104a66538467c7e731af98c150ef7d2850788e950e61705b054a225993a30b985e4862c3e60731b4de019fff18c5301b3a3afa6055d5e3c8390264f934a4b486fc63021abd0e067da5d691285f5f5c6dad72b2cc6da8ca675281efa9f732262b0a24d924480216ea3751be700e623e41c1d143ce2e0c291b22e32076ae24c0519d80baccce50cb101513580850c052b5a2656317cac65e2455437c6e84ca74859c5f3bb42a961ea6e09bed462513ae3590d66d43b5688038f116cc8a2fa0a8ed87aa1825e41b47d54a06a1cc130bbc8d0c3e8085840ec3210218c428b8d8955b8f2a3936458cfe9ea307992d73b55781d590745a21d1b7cc86fab1231e366198b50a5b69b79ff0031bfbb1af7a1e2fbff412ea3cad5c4867b0b3111d9d9d686d5d8fce9649620e80890c4f8783584c876136f85034ac47b0ba177a9d08ede237e0cdfc5d4d58a2242222f523e0fe24b1ae0cd4da9d4814dae83d3f84aac2dae6981a6e337406568f53476bf026d2c56124ca7b61149f8359f83e34be380749aadc222a6a0f724eba6f62cdb2c54b464eceaeda0d44ebd190da87b3d65fa3357041575a804acec151d78a6ffc3fff2f199e8f6b23fca7dfdc468028c3cfbbd716bf4a4bc261c21ad557e0670ceb13ae2500b803a66095cb66d0dade895ff9d4a771e2e8115edbb09958bbcbdd800f3ff10416fd7e180c265e94c6ceb487d60df0a3059d5e4f6cff51180d06de3970ef7df7c3498175e3a6618c9c388e4432ce59beb7d944c1e03168e8352c8dce7eafb07424b22c5c966493a2996aa9d2848ab91ec95c1576938878d08f20b11e3e7742aea9ddd6044d560a84ac39ba5ac617cb998f954006d7feba4af34d7ef729502d1bb55a62eeea7aae013accf13ff2a1c7090cbb709cd6f09edffe1ddc7ef7bd7cc8db9db7df4a4cdd8a0f7ce0016cdbbc89d834056a0206fdfdfdd8f4dfbe82e79f799a7fc6fd0f3e843adabf2c63c582d49e9b6f465b0b9bbf94c5ac6f9a4045957749fdd2c73fce33336c66c8535ffc22da3a7b60b55a88e9970804a639a09697ea4b968f7298e0daf2710d6b1de6e7e5ab8ef6de5d5bb2d2e1ea9df4fb9c5d30e97be12f5c86a98ddea351608b7a371a3a553872f4c7988b38517292c9b60aa8c65b303e7209fdc329940d14f8cd51d4a113fef93834921685a48853e327f954dd9bb7dc0c1fb1da7c568d818d195c99aee0d26c1d9a9d5bb06d38070ba608e424b030d544a0e516e463e310b5f3d05a1390623ad437981008156add62e4c3167d45d8c55b015d1c93174b889bbc68682d434d0c3841ccdb61de8866cf6e9c3af90728e68b4825525c9b44926bc5dc4a2e6058e5f6552ab17a1305749adadc9354169c78b075619d38ac2bad5492c166cf4a15996c444d81d44481528968384901bc54cb064bb426041af30a2581935ab757b148cf414dc15249cfaa484092654e08b06954b527c3ba80243e44bd40a0a65c9b34ae9010891468ad726869b1e3c1bb0770f4d4028e8d4c22162d62d75d5ef2d3454cfbc7691fe491275228a41af890c042fa1c18aaca96b328a69d088a532849251c79fe0aed21356effe8cd0454c817c56f423470817c7e8eafa7cd340821bb11163b9b8a4cb14136c365ece66dd491dc05bcbaef1b482cc4e19f4ac2e16e255278071197f348e44e239a52207d264f4f86f66646220068207fd043244e4ba0ad42406711f67a3ba48c0de542006f9dfc02fce1a3709987918f97e977f93131f3539c3cfe068ab4fea2a9c2e78699b4bde8713d49b1e51524adf3a8a4da902e4c42672442e5b81b56f546229b4538bd5a443307c9bf65d1d82511b18a2227179049b7c0de58c2acff34176c739bee4520780893d211f80251321703acb616a88b2d044e4208b00180a625107f1da5e477654e96fe5d4576c64e2e6aeeee3d1d93da82b15a9d741c32a14f3d2bd4320b14644d8837df8d48a609cd756a14295c832b98ae87c9b69367304e9dcf43ad4ba25a3f4f3f57a05e1e83539c84dfbf1dc5aa00a3718e0c280a511f23861642d06f85969c80a5f953105437c1e4fb122c8a9f52a08fa2506d007697a030da514ebe419ba79350b40e2d84331a8ad5daf93c19ac7aff1c64a306952df5d07c970014afae2b40793182ca6e0ae8234108471781877a81ef5f02b67a8083f4f7413dfef4d83f008922ea3734a3dedb8abe0d03d8bea11b5e6f3d742213969a8252c53242593498eb3017bf1706f525b8ebce2018dd0877f93c242531d262274cc2388c98a56b3f894c791be24237f4aac3f4397114739b6841696dd46e089a7a642b4c51f22214b96172907f0b31f52ca454a096fd373743d1bb1b79ed00b2d55e02324e88ea06540be788414c2265fd18ba229fc578f9218c6b1e4057fe05b4343bf1adeffe0493b317f0c95ffb389efbe10ff04fdfcae3a10fde8f787c3530e1c707f232b997afdacbcf1b06c70b1e97d448787d09053196f28fa712703536e1c1c7daf987b202cc60280c6f1b013c0a7c4c6c8da526198b57ab35e404a3bcaba46ffd06bab60467e5bd8343c864b3047881edb7dccae33613386285aef50d8d7cfa6d369fbb5a23720d20d4ae3240f7e8b42af0c71fb393c324462aa5e10ba597da3785d5f2ab579316d7ea4264ac2d01599d2d593e9591b056b764755264759fb5b0a4e4ba16e1ad6e539678764387fb1e7e04f73ff430ed3505c2e128f466331effc54f20168fa3af7f004693e96a3622128bf2b5fc9dcf7d815f549e89a4c562b5966e8a486d9ddd181ade848560889e478e3f7326fcb5f3965be8399409e0a409fcdc47413988c10dc348a79364a30b14c48afc288775e6f0a18fbc4b47e07f566b34140c555753d2cbdfcb82502b33262b25e98f1dd94f7be1fdf036eea1cf21a46f51c2d6598ff6b67ac88d0771211c40f8b2012dfaf5488e3562c3b67ef46e0823aeb888d32717d04ba6e3d0d44191d2c31fcc50707262e3d04dc8a5177064e479ccf8838827b33c30bb1b6c58b7ad9142d905a41322ed1d81070fa7d58074ec3c620bec793690df994656f31c62a1016894ad5056e708c8e6094aaa30377b85abf535d0be33d03d17d376986d0902462308642c4c5104c99082c041980337560bc006d4b147c3b257a256c5bbd118016325b08502ab35912958d7602aab2559de8b1aa6b324d4dac84551836c969e6324c90120973057d4361ecbf8f1cc153d3b89c08a20d7ea4d342a9639a91dc14992c00b6e452d934120f0922b2fd96d05090accf9921222bd9e098bb1f93aed2d4eecb8c943805887fd87a7f0faf30bb8f9ee6ef4757741a33622969a81c56225a02860666e8a02ba1d7a85030e8f8b6be1b0a1899179e283911cfc772c62a8514467db1e9c3b3e8262e13cefe4e9eddb0313c81712c8765abdb4cfd2b4f5253e817dcccf44dcc6110b26c9b633d8d9732bb6f43e849f1e8d10b72cf2e9d14285486c32cdb342f6c63674b60f10b9f5a0c1d1866c298cb1c5b3b03b8670f2cc735888bc039ba50d04e391289dc5850b07908ebf8deede0db877e75e1cbffc5d64f2406bb31d5e671fe2190175795abf3615c520fa1d6525ecda3e584d49c423594c4c7d9f62cf3c9aba0b04b01a301f9151c8ead1dab191bebd908c6f13984c1231f4c23fa744451b874167e083178bd93812f11832f134c28b49facc25deb2e64ce67ab5593542502ba76035441a56392dbf9731b97ad42e10432d13e3d43904a4687366daef46b430404e6008830d7124938779e157b944c13939854889024db4017dbd97104cd0e64a5bd1e83c8750a9031aab07aa42960c6a03334742e4fb68d11f80dd19a15f35494e961eb4294486ac85a471a3acdb8e8a60824ab2913110402296e3d09cc0030e23f4c95b801306201585601351dde284ac5341e1274a922cd66a470c1a289e1d83a6b894457111d5188d1230b94800a51ff82f1fc2bee9efe39d375f476f5b134cf63a34760e6168f32dd8d01f23767f86084286ee51825e3304add84b2045833a32361f216683780caef0176148bf8a88f7ff80d0fc206df423d02d5c8123fa0d18036f21623906a189d549ac27046ee719861413604bbc0663ee6968e33350c4ff9e791b6286eb20b76f40c1b40e79f52760b25c2166f12a8ca9117256bbc8b1d9688d86e89a0ea0d0781fccd99dd81ef91a4e659e4097e61928167f8cf1691f7ef557ee424b7b02defff449fcd55fff03e6e74b3099942b44d2d428c8b95ad1dc0d26badda84b87cba00bcbd36759ba9a5898a0e4e0219dca20a752f278cbd8b98a0258961d2b2899847db5d69d22c85cde5ca5ae699c261269ae73a260933ce9fd32af60608e33cd0329effd17ae898829942b04ca569ed73276c18ab059a64c8ef002c268ae4a41425c525cbc9ebceb75ea67d64ac35efdf9929aed2a30b45a8be4da71c6ca0c8bbc1af15ca7d769798d59868229afaaf890bcead2e45e81033cf68a64991837f3aa4bf7c102223b1a6047631c2c96cb1ca8b067c42e2747ebcc5a3895745d4ab558cbdbd01a2698936735084436a2b93867f2acbb2e9f2bf2f7b3dfcf8ade99ca2f135063a043b934c6806987b0231d2cb734cad2d5591e6bc51997410bfb62a3e85f7be155b81a0ce81f2670231491f08b88e68b088dcff31af4482483471f7a9288411fe6c3f3f0c7af105b9dc2cc689e6c500f6f5d14ee7a33eccd314ccf8e42a33022919e83d543814e69825ed98f16c7263cf0f03d8855f6e3997f3e0d9fa31eef27b0d7d441368873c8a69f4677d356b40c3871c54744279026162ec0aaa3bdd398824ab7853e2b8d64e2044aa976149d0422ac6934353c8e607a0c65d5083274cf47f61531752e81125dbf4a595b1b76ac52c892afd419b17ddb36ccf97d387bf602d7ddc91320619912062634bcc095d5ee08bcb091bd9f6539d44a35fd5c833cf92ad6b1c386d16ab56ab2815a87060325a26ea95b8a8235b319a922209f275ba3f7b369c5cc2e8b795a7b7aa64aae8351e500070c20550b60b3fef21a25f46a99672d1951b0db92703bcdb86b57330e1c9dc75b2f902f7e588fc67613a67c17e8daead0d2d447e098d647d2c1e3722191c9b094177271252fec2dd3f584735122aa49f20579fa669d43c453555a747475f1f7cfcd1960b1b96037d17a9473988b9ec4c4e46954b3b47b594d99b70f9bb7dc07852682dede9db49fef82da54462155c042e8c744708c0804290e288ae8eeecc2a90bfb51141630b7701929bd1f55551c5d2dbf808ee63b50a0eb3a3875189d2ddb71cf2f7f04e7c746293685694dd5b4cf2ec2697160224f20bc5246bd710b52a97122dbe350d0336aeb5b07afdb8553d104d7c112b536e4930584cb35c068b30ca3927122143f4deb9f40a3284263cec1acef22dbea402e31cbebb80ad93c7d2eebaea4fd942a5df3a982705df5d7958085d913f35b4c59993d3e668f19f2a55a262bfcbf3b3011b882a715a259cb116eb4e1f750d76ac5f4940cab552203b42257ba939f056ac438b1b111284bfbb1b9990081246231d907af264518c1884b69a0d79581d3e0423a4be8bec8648113f41e3b74862bb4b98778da51157e85827412e9cebf845cbf096572c4cadc5b08870c301a77d0eb6668534f22632ff1d910a0a02b8c27683393313a75501e5964b94ba0c9541be2371de70085b70eefea00c623c02c1915e197575a8ee34fbff98fe82476e369f6c0d6b3019d7debe1f576d0e64b115b6823475ca040394a0edb419b44e4e7b746a316f58520ca1387509f7c1111712f244f374c9a1750b6b6a168fe1c16431b60087c0d8d996fa230da00a5a5839c9a973c8d8358530296d47e68d261025f37a154770772c666a2847d50ea65980975576212f299188aa93dd089795aef1f53403f8e4cfa17a0a1cf10b47e845c9f873b722ffa4dfb905336409f3d402cc644c640a00de43c626c2898850f5c5c2ef26475214c1765f938415e124abfd16c9cb509805ac92603014a2c2e0670f89d43b57372021eb5b6d9e5aa72452d5320afc928ac2adde03dc74be9cda5f92e4b1d4257e7e608c22a3dd5ab6db8cbaaa9f21a63bf9a0612aecde0597174b25a89152ba4f1e56b2ab557b31cabff6dadaa2b567ec65a60b252db44c6aa7a8bd5f78055b366569e2e5d5d0ba9c69a64798dbeca92f0ca4a87b7f2d048586a035fabee0ba90624d8d143a554a975e3d03e671917d6a2cdba81d8f11c2b44663528e9541206bd9e2b975697b223acf36325b0fd7963dc07077bd1dbaf453c1782c2c0440a254ccd1fc062dc4601c94b2c7e112ab140814b0157a3117ffd8def60e4e429582d26de0591582843992190a05b847b700ae3979df05d61e0a9028dc18696de5694d30dfc4851ef4ce07bdffc09ce1f49a0b251870ba1a73116f8218257da70fc38f9337504bfd26942c790c0a58e2ac633d0d64d63b023476484cd30e8217f934462de0a97ed36b2a3b398c94d531023db21c09c2290e01f2bc340bcc8a0af22325703614cddb55c65f200320e1fbb80cd1b7be1dddb8013274e617236c4eb9b948ada73e5c5b00a996738ca2cf2d07ab2711b769b6d298d5f61a563042432b5543e077b550e46d8fa9705996ba2b0c0c90258b9c4e4099802322b4e2e43d4483c23a95683b7874b049419e92e9615fccf4c1abf58acf25945a14a0e917081cff5e96832606c2e8b177f7012db76b760ebf007102be4f9b36ef4d868efa8b8e89751ace75a514a6992db96ab9ec95cc63830aa37b7a2c204faaa2518cc76b4b63643659c424911419a0017d387aeb3b5211523601717e9196b081cab201a75189dfe16115517f47a560be2a37d380945c142c4248d8c3447e043c081c3dfc3c4fc2902afe768df98918b1930533800497b090303774355b6e1b9a7bf80f6ae4d78e4d1277165e63442d9319855298a5329d82dfd48e632a8a7586450937fb7fc085556284ea07d4be7ef402db5d2da4490adfc04f1981f25d6aa2c4591b2c8d0c8bb60d7ef44423a8b5024062d11c6c538edc55c04c5ec2c6fc92fe480a07f81933599d6abc4d498a5cad50ceccaa3ce77c55ce19a2a34cb22b3fa23b659d89ff90cabf732263507a9570621562e23e1f96f30753f8452e6fb84dc06d1d058a285aa72e96596c6d4a81b90cbb7e0d8053fccc631f4eb43b03b4ea1c19ec6257f030a04ffc3f959da7075c4107ca828f2e4145b89d1fe33310a3617e21632ac0294c9e3a8983641e9dc441ba5821219189bc4a9d175c268f32010b3e2f07837f256253ed49a87e928055d2db187437e023474c5b4c93930b1eb80a9049f93c3e918d4487528209ea5cf7237e2b03b884f7cee57d12e3870df76020bcddb611cb80d0d849473451516c26118c44ee8b464d0d26194f3a710a5d7ea88115867be87bae0f7a0169228d67d0867959f853e694687cc2ae5c3904b6f405b9f46a5fe6144029f863e7a06e5e431fab7fd30906112cc43c9d88744d71fa264da0505ad975e771ad91839d7143102eb49729e2f235736129bdb863281bc52a28580e061988c047eca6e28ab64e8362f32f577c01e1dc789f41dd8e33e8f5b36eaf1cd6fbe82de63767ced2b5fc767fef32fc2dbd4428e075cc4eccfffeceb98f7cde2f1279e589e30b3ba73f5e775e8d4ca5238c061edbcbbb70df3cf60c0e4676610d684f69540601930c8abc4cc56066e79c598bad541ff9ac6c84ab1b36bc1fb7aefbb766fef061ff2bbfebb1a9860edd1cf7580cabb85d96e04fcdf2d5b2faca948b99e36caf5d565847781b7b57a29b50cc6524d0bebbca956c806c98ed904e17c813bd5743ac3557859ab77221ee73372a25a0dd7aa61adc7caa52e1c06685810e2006e4d3dc9f5be584058bfad09654d9958721eb3932a6829f8a4e9f768442dba3798f0e43d5fc64d5b6ec357ffe6733871f804340a350a19154c760372a94534da44b4356ec0c8c8027c53c4742407dcee064805152e9f0cc0d11a4440fd26c6262d5026b4b42b1da81aa2588cf8b07859c4f8695627ae46563d86e75f2ea06783178a5c12ebbb7b89758f63fc620e1dbd0b181edc0b51c76a99c6e0d4d9a0d076123b7e83678f4407ad53e638b4ea6e188908556423b2447ad89109037a46a311255a9bf1b119f8e616b16bc706ac5b3f840ac630ef0ff22c18130e2ccbb5e258813c7f91674404fe67a3594491c0a1c0958f055e13c2b22b2c33c2322cacfd98831bb6f6522d2325d0ef55b1ae9c6a2d00ea595bb2aaca6b5b5851a8c09466d502b43a27a4a29a0f60d59bf5301b043e10908d6c60d9c974aec42773b47b45ba363dce1ff65320f663d32d1ee488c9194a03f0d63b30d0bf15a7464ee1f0e1b709701040330aa877d5a3a5791d5abdfdc8475414d02328948b687198c9774bb49f4244288314534c5c042e9fcf607afc12dd6b9c0f20549924f474ee64694344e344d8a414b9ee2a82d1713e21b89017912f45697dea71eee438de39fa3cbad7d5c3ed1c84da1885a25ae099d885f98b984f246132586177893872e17bc8162e426d9a87910089d572132211f2e5048a8ad204ea2d9b910b2750a598d462fd3416633ef87d4790cb8d41671b81b35e4428c6c81c607348686d6e46b57809f3b917d1ddff300cb99b71f8f83374bd3344229938a186fb5956d02fea35d05bca68f078e8b9b968ad35359271838cc92aa0c2d55f253e6053548b7cd406fbddac0eecbda31c7661421e45550724cf2350174e2010cd235771c26194787f7ead1d50222752c12241c560514f9b783b9af56c44f773043534d029b268519528e03b9092c2f4f723147077d283ea01aa67692f4e11da7e0d529a903c31aa3c81128bb58c62929db3a589999861b174219949609290bdc48c3955c444b3151b3d2660220a98b504508812a41928d1d30bc8491e9e07b7623f41d85b07f1c5b7ff1c77092db8f7d73f86ef8c7f06eb9c1bf0c07a335deb0416ba3f04bbb7979c720e76f114f4ea38390f622ff211ba361b74a60c14915761f43d47d7780099ba4791265062f06c823550c142288e4efb76dec6a8567d0bea4a18b9c2c7a0691840ced18462c68e62a901aaa2089d701655cb93d0da2dd0555f4425c73a524c04f0ce13730891d134c16a0e425dede3a9504148405676231c49c3647e0b661b2bb6cb93d1f6d135fc5778a277133054e1a47f233eb083d89fae15c72f24f191271f44536b2b1fc40634627c7c0c0ebb8d3677f19a3e05ae2f752cdcf038a7864c98ce86cbe5c0ba8101bcf7f5bfde1773740c5c32dd13a6e49ae5a0244d0e3589181be2178d5280d3726d8ee5b36d5683c276036b4f651a29b56e1d61d591cdda0e83e53f2fcc9411bed40cc1e4c0a1170f903d990998a83071258454a68a47f77e05dbb73f811fbcf4159c3cb51f7a2bcb2a28393b2aa9b2d05854281a6208a5e6e1b46961da93c69937cbc8a6cae8ea21dba09f8be6a3a86b63530aedb0366709f0e710b8ec82266f83de64c4c0b08a1f2128c50a8a8a499c3fd30c7d753dca211199c41e48a108fc8505e4b34fa3288ca390a5a0aefa1b484c6051570f9dd101a74784ef0c5d16b1579f6f817c6099ecbd969d626bc58a60d3149458571a1b9278f0f0085a5b1bd1d8e0414f772bce9dbfc08feb2ad55ae78512b56fae0f4bc0a22297784d094bdd83d78aa86ad92d5e07a6e1eabb8c416bd532ef0462d90fa629cc8f93d44a9499e0a35624b0a78342c38eef545c9b4641ef73b50d4022967ffec2650ab42622615622854558f44a98f46ab82db4d626f06ea475bd75686fb4e285378fe0e29880877ff116b8dccdc4fec9ff2a9208c6ae209508a39467c5d02574760fc1ebba1b894c1c236747100acff33a17a349c7ebcd0c162f3adb5568af1f866f3e81fd079ec7e50bfb09fc26f91151536f2b5c5e2f62c939f2a14118c98775b5ed84ddd284e9c0b330d48fe2f65bbbb030e9466421078f66335415a2b229a0ad274f60e312e27e1332fe2801a50aeeb87f37acce0c22b12291a67954091459741fa2d70579d649a7f2c06975a0bdee6e1c399184b949c38fa044a51d55619648f41bb0891602472a38ed5eb81a1d7cda7b307c99d71a96e203b8e2f743ce7f078b7333bc76ab52acf25a3a9bb91bba862a94e4a3254d14ce66f2fdb1468a6fe5d593d6af9331b95ab7b544353840a5d7e57339dcbc7b17f6efdfff1e30e10eac400fc1762724d10e83f42af27217223919a97c15cd0e15af3c6727264727cbf0c5aa3cedd8e022ae629ea540ac4131fb7ed8ecc45eaa6f710652912f1143ab8368e883561ba39f75a352ee24438c018957219729b0dbd613ab3a050f31a58ac4da89b5c4d6b2f0349ae1b5951020b2a4225672a198416f971eba1301d6cc5f0b9a810c707b3b506f04a668d7361248519910684de385bf7a0eb1d6ada86c6c84595cc0130f6ec42ed541c48cbb5068182446104093a704b7f904e4ca9dd0a82e60a6184559d98775c98370cebc01b95841a4fd772137df0ab5722b6da2085a8c05e8c9bd384c0ac4253fca050ff2550fed2abadfcc21b8eac711530cd166de83a28ecd6328c3a4781395a49298d40c82111339ce1c1acd73b466dd84b8df0fb3f1358804548ae576a8b566020297882d9c27c7fa00927e0176f3ab30ab2ea268762169fd203645be8511fd479118f3e19ecd9b71cfc35fa2f5b8887ca68489e931982d4e2e6876ff031fe0eda5accd172ba48ed78210f9670015962163ac7a7e6eeebae7a3ff9fb2744bb50a374a755ecf90d7168dadfc6f4dd74171c3d7ffcf5ed7ca5a0a568371bdb930ff5ebf969f1157ece5e25fb5e2d6eb7e4b4be26a2bc045adb595d87e95f790f0ec89628d7ae58d0afb8c66054ca67ac4337998741e221ae46c89a5ea2988deb7e5d3e8effa20feee3b4fe1c72fff2354c4f89d1e5dad58342f23938d13fb5461e7ee3dd873ef2064d188b75fbe80d4a81305260a22d0f5a8a2981b15d0d7e3425a9dc0a9b30bccecf954ede09c135d5d0dd8bcc988fd6f6570f11d094337e7e16e5d245b9531bf50801a76740cbb1059d423b5e886b5de8d7af31e28ad17301fdc075df961f60ad88d56146d2c5d3f4d41350d2d8137b92af0a25b83de88345d2f6beb65590a0622eadd2ebafe228e1ebf80bede6634b7788938a8115808239329c3a0abd5f2540509857c11996886fca503454d991fada8896cb11a0c3e059c350d11d810144c74abc86b62c1b32af41c5841b24284524b40cc6883d66ca66b601a5339ae05e5a6fb69696b85acb844af5122414e5b19cf211a4d91f94b30d26b9c66153c4e2d2c660d168309b4795df8c8077af0e29b5378e57be770f31d46d439ecc86662301b6871598d4c961fecf2ac4e207c1ca3a11144fc165a833caf333359ebd0d4304ce0e224f2a538f4aa30de39f9439c1d7907c9989f409c84e6e62de82470992652ea8f1ce4dd8d668317565b33e2213dfc53cf40a52f229176122830f10c8dd96181d9dc8beefa3d046caf1008fa01d4e204aab932cc2e27a6fc67519c8ed09e55d33a178968f662022fc26a6dc150ff764cfa9f43559524121d449d752381cc598a33cff1793bc9dc1cfd57874498015f2544ab1d9a6a2bc5bc00e2c9192c2cfa508979785d6024b2c02727a709205b5c66ecdafa287a0686912d4f607e6a1e7906567212c62747d0e2ec5e35897b6ddbf0cafaac9a5d2dfb1cf9bab6f5bfaf8e099308a9a82199b790139ae5e7a205a903d9621ed36125cc5a0111da98b1ac842b81321fccd76853c36b66731c4651965d104d2dc86566897d48b4a19464c861fa4c919ec6510a8efd3ce2a99439322c0abeeccc524548d3d0814f7de4abd834dc803ffdea67f1d2f3dfc09b3ff909fee2afbf8ec67a1d2ecf4da3a583b5772d22bddd0ddd5b61a2647110dc050c565c340770a912c12383adc081cbc027d7e11be1a7b178760e5d77de0ddfd4113c78c7afa3d513425d611e82fe63b87c791c3f79f11ff0b77ffb24ed840fd2864b31357a58f01854337f0931f80c72e26644db6f81ca7d17312d5a8fea799494ed88641448e52a588cf861329ce332d3f9b41b1aed3e64d2062ccced24c367b229e4404ba33068c364541904835bc879c478e5baa8d98158c4404ee43c818897c808edbc2d598d33042ed643a13c490e683d7486417a2aa7108fb791531361b1fd08d9ee7e140b5b3010791a55ad1ee9b14388c63641d05c86b391801a5f6f0df4e4dc6d763b747a432de92fd70e0b78caf83a8711b82e486106a5e62da81962d8ffaa47872b82fe7257c74a5071dde390eb148ff1624da5e2eae7acec10f997008865a7c067f3a894576b64aa6b3a4ffe237ead154b63ec9eeb6648b5fa8895ba0c377a1eec6bdd4ddd68d9ac8166c68887dc4fe0cd23ff8cb03f880fdffb7bf8d54ffd3146a67e8c03879ea6606ee301d860c84041df467301a54c15b6ce02ccdd6f232f5561d57890a680108a1090afd03528d22828c751d75ec5eca411cdf5ebb063fb1c0ac249740ca9119f49c024d9b07ee861047c8d589cda072313862c5e81a224a0b9a985b7eeaa0d33a844894d971fc7de9b7e0356b31581509a7ed71f622af91c64f51d889e6ac4b19f1e43361d213255d329615d4b2c8324d3eae433695ecbc104a65921319b81542d95099ce471f8d86534355ad0dae62642d58b99293f462727a051c8bc00971df1e409c4b81bf430b07a16fa2cd5d2804d052b84966bba25ecd8851de354855aa78662091432156ebda887c96c4259627fabc04c64a9a1c90d97ab91fcaf9ecf8a325bb45c37a5c2470db029e0ac50ba8a78a282287dd73b4ab0597214f0b3e868a9c387efefc0ab07fd78fd997dd87de720eebdfb7e94bb2c38f0c609ae85c4d44dd931bcc36140355387f17084fc438a1f43990964856353f0cd9fa1dfdb8459df658c1c791bb1453f2fbe359a3cb07bf45c84d162eb408fb80973b3a7118e0470f1fc2481bf08aca6cdfcfa7efae628c59c753031f54445008b890b044824c403045e634c36b708b34d03ad2a8539fa3dd98c44beae81e2900c638396e2530c06cd2092e130f9d12cd2192542d5cb686b1b40346b46203841ef9b84b26a2162dd8a6434c7b35a193189d18b716452695e3c9b0b8bc8c4a3bc403d11adc25edf88279ef8149c0e2f9a5bbb08b89ca350d441209e4d91d6a1b7fefd2827be4beb3c5daba9c3bbc737ac6d1be605e55cd8b036b05492857f0315937fafc5afccf918bb51d00cd033bf4054b9015ab508a3268b79c201fe7815c5aacc67e5b038b0a54d831e8f0995e20cfd2c0b49712fa166768cf0262db4871e721ea5ca5eae62294b27e9414ff0590b5a9d9682890ea2340b36a1275d5cc486e126fce4957d38ffe107e0f56ea4407e9c57377feb9bdfc66c208cdd5b36a152cae3659b16bff4f016e0cbaf80577addd78e6f5e7a1ec7c74fe37ddb9e82e16d17429d09fcf557ff115ffeec6fa1a7d383fdaf3c8be04214bff9eb8fe18d89f5f8de8bdf4043fb20d6adabc3c5d3e378f6c5a7f11bbf7d1f4ad21ed4f9bf0d63e81f91310d21d1fe287464f445721ea96a968c641a33490202c529026371bad702195b1b0a8526020a976150b640abdf4b3bae15e5f28b301a0ff049adf9fc1042c1122cd61102672aa82a1dd06bea403e929ff3974b56329a3df479d3b05bd9186fb69e4e28d503140d23d0a9c6a131b4f0ee8144e276e82c322aeb7741712a008b1480c4e6c1cc3ec5a5ec0da90cd48bada83a1ee3d38a5950c1d2686d6169ba704d0f44f8f9f525cb151cb2c4599e46a3fd57cb982cbf9f7deed58a0bf91a40f979e06419d42cbf3f5f9139b066e7e7cbe0e4e7819c9f059896332f4c68b65295f92c0db6e7997362bff3df82cdfc4bd778659befdaef9ff53ebe6f944a7ebf1297d696def5ecd73adbe52f36236a727e3f54523bb4363362b139ece87f121f7efcb3bcc6e0f4c57d88473250c94e18450d05f212b4b2039e660a0c882039a7864f9a4266b10c8393fc922d84822a8d5cd206558cae456943c2a0825ad188a1de460cdea4412c41d759b2d3fbc7912c9f4322df8d6d5bb71140af20903c05ff9c0e1ea70b16230571b51b17468068d0078bf80ece8d2ad1d04ac4a6dc855b867e83495c617ce632268e53309b8c21978ef3ae33ae8a2bd486e7e5d8943e5614cceb45547cd05e8e0533850a56bb11a9740e8b812492c93c9cb736e2a31f790c2fbcfc1c8e9dbac0bb7294ecd8aac8460a08d0e9f4140415bcdbc6645421a790b8043dd38fe14b5badcdde118425fb65f56d1a1dd4a296fc4b9102b61a6d9d2d70d6d9890cea11989f279b670d0b2291465a3fb20b8d9688a28e3e0fe59a3c3ed94c342e71d559938e00a03183397f16cd8d36acebd4e09d53113cfbdd8370da1a70d3b69d041e1d14ec27603199d0d1da42204a019db41ef1d0cb643365581d0e3e33e7c091bfc24cf04d0c0e3e82b98b09248209147325f2a5160c0ddf4ab1c0826c220f6b5d081e770f16e7d2e42b9d882527a1d657b1b56f0f344609d39347317b250b96acb16b1b28ce987179ec2d841666904f88d09b3b21d4e5c95fe6e076ec444295a17b0a40650811d9ad47a3fd1350cb2644e23f41344f2085485c88fe7cf1ec3390680d74aa3e54f3512898e8679e16bea0a6f588d0be64f590115aff3cafe129a424147265c8ba1ceefa858771db8e5fc49db7de86538767911626b0b1ef4ebc45e0d5603340c837d2de57c2ebe9c0a4cfc78fe4aea7f3f3ae7a13fe7f0a7e9ca958517ff61e30e1e738b436161794a693bcfabbaa1e26665fe029dc65a550e6a0f365192e9312038dc410caec4cec2c596a270568a64af85d7266eb6176d02dca6cf05a2b47edb18c1d15e14730ebd9e0a6fb08c1de8eaa959070e00d28c9be3d9e1e7cfef787f0cd6f3c83bbf6de879ebe4ebcf0a3efe2ed7d3fc67d0f3f816fffe3dfa0b3bd1909da5c8f3f753fc4bf340069354e798298387d069b5b55f0f526d0f74777e14baffe1a767537e3939ffc083effb9afe3335ffa12f6bf750ccf3efb3a829932d6b7f8f0c10fde824ffdee3378e6fbafe04ffef8d3bc875f1afd0af4be6f2361dd837cf7c78889f820e783285743049402e49c648895297434649024c45ea8b6d582a1ee3494b406a5c216684d05c8e503747f1769cd9a918aafa7f793432b1720aa33104d3642d219022e8796ceeec91969c8d9a92fd0e627a79a33c3649a42227917b10b0339ae69fa1c915e9f854e93806cba0bb1781afae41b30c841e460869e008bae6e33a2048a0aa5a3285a9ba157549021066462533d65e96a31e4eafcc81a098e1bd59c0835e557ae1cfbaf143059f067a25fcc39268b32311b017a75cd78592dc4f2b1c9f5bed8d1033722958a8386505642b22071a7dd6056138054f0cf60bf87bde67f14442c5f97720994c4f312c219891f31d8f44ab8898d2aa49a026ead26e03f6ed684a7a0971ca96a595c8db510f340a9589243176e28b7cd804c2c22e2ccfe53e81d56a1bfa31f0fddf3690a46368c5c7e09a78fbc83742c079db80851af4751ce12603721e17721cf844cc3fdbcb535eb8e20559882de5680d3ada280477697cf5190b400492b5ab7189115c671fe6c090ea715be890aa6ce9a89496b31129f4693b70a833e81f1e3e3042644941a4a881516119f1c877fb615e1901697a21791ca4e6178f726d4b71359287b61b734c3ac4e239b9ca0fbcad19e2b5160d7f20262351fcea6a4609be7ebc0665f69746a7ebc512e96c99e35e42ff4746f5a241304a60838bcf6c6db98a140d5d1568f3b776dc1a5d1516492296890e5d91036519b7dacdea859b2332588b32c1d9b485cdb8393040a945ce6844d0a5cea48379b4574f6747215e06878012a8506e1a09fc08ac86d4cab6372f80422e81af3393597d01798c45b59e659c0021f42a5e0adc5d1780ef3fe3cd75d61fa2c7546259ef9ce4b740f64574613177ad38a6c12b208df940f79f2f9f1e822f9ae022c04aeb2153f3cae41108ec3dbafbd8e425ce4edd30ca80e0ef5c2d1e4815032422d38918a1dc7d8e83134bbef47b5b080c98563d8bee93194b2647b110b01a076d8ec7a940b221a1d143314294c5ffa07e4322ab474ec82dbde8960f62730bb6e42642141cff222f2447207370fa2d9354c3e3a84b830855465924f2f2f55d20448cd30583de869dd86d8ac0227667fc8d592e38530573796a502844206ac97c8a0d72218c8204a4065ebaef7a1b767009a3a3f6c5e05167c199c1fbf84d9e84168b56f23165a845b6545a3a985c0cf04fca929ee41156b32acd7d33059b6372e17a058226992f45ec6e4daaad1462ddb28d85ea00522862ed0e6d0c6a05daa87532e8d1d6135a70e036de4aa861cd01c192a9b62ea2250f202bdaf8f1e463d6dc643b4b077d343630a8445e835255e6854ac3c40417b9e18c622392307ac4ca722ebc3d44c161f7ee27790aa1af0d4179ec2e7bffc5f70f1dc1954957a327a1336dd720f8687fbf1f28f5ec21f7cf34ff1e5eddb212e28b04f780bbffc400bda0930948b6fa2fad85dc0210b3e7cc79d5c8745a512d1d3d5833c3197e75e790b6a42d2ed045a74c4caaa093ff4b413d47a1714490af1fee750b13951ec7d88bf4fce131a17ca5c7743a374e04ad6420063080d8c41b3a9a0b959dad46f93a17bc8a8774334b2f3e733d010802857bc7c83e90c3ee851a0cfd1a054ae432e6ba0b564533a899d31cd160d13b79a42b5340da76b84ff2ea5da41af3f8d6c3a0c5147d7291bf990af74791db4f387609ef9132853732836be0f727f1b307f10faf071685d2e48eb1f8562a6117225cbcf5199b1b1231897d355cb9eac350a60d5ec931bc89c2c019b7f9d6dc680c552e72b818a2ae693150e4adaec6a98b48a9f59c7b1ccf459d7080b0a73c92ac2f4194c6f9515671ad4550226aa7f5146e36aa6844011d344f1c52a5c53a0266b5f8553afe0e7f3ac10f83f3230b99ac162c7641cd84958ceb1b141804a9695e2cf50714360129a2fc25cc7b226338886eaf1eb4ffe0606d6afe39fe3ad1b4457eb20e2c92b10cc290a20057e54c4d4800bf42c558a7ae89c6a585b34d0591238f0b206811981fc07050b5395034316b4cd5662de99205e7b61069b070790ca911f99b0a3c1ba1163b327b030378ad1c93128f53162c70205cc36224573703776c1840628ab51d89df53054ef82a9f930c617de44209be773a0b6f57d15d9282b869f21fb89d64019ad83c8320fa29efc5d994840890ba849e4188d06d68191e7ab562a66697d8a686c6c4067ab1bbeb920fcc1284e9d99c0ccf4026e1aee454f7f3712611fa2a914ca8a2aac6e0b92c908119542adde8415c6b2c18aece85bd01238641d1ba52545de3297cda9773b29d8af83dde524df57c4dcec45020f660268f504a2440e2241fe4bafd7a04c3e9c0d0fd48a3589fb0c057f36165e284b3ca3621095bca5d8641060a67b61d921a659d3d66c423a2de0d5675e80c16982d56c21df56e0c2644eeb3a1c38f822e231f2e7e4c76d751e5e40dc367c0f84cc102e1c9b26c29622ff56c2862debd0db792b521901eb879a50276ec4dffcc333484ad3e49b46b9dc7fa11ca1352d1049694468ce88602c039b93fc307dc6a991e7699fa4a131a8b075f04136760dd9dc244ad11c66177f8a4434cc33f326da131a65910f789c9aff311cde3c3f1e321bd7d3efdc4a9f2ff35a96ba3a2fc62e7e0fb95c12a0985762920a14ff8c4e0265ea0ad24113ada99efcbb8c2db76cc7969b1ea4675c876a2687a3470ec1ae2f231208e1c2c557311b1aa3b5b0e1ec5809db778fd1f37542e3ab201757af9edc7e039f2670dd211527aa5cdf88c55aa5020ae13d6072951ab3817c926ca707db478b44c15aa72424ac4024532b7e5b6eec6c73aa38ca2ec913bc4fbd5c9da620dc8a627e036dda6f9091ae83ce64a1879122876fa6a7729c57396bb437a3aa0da3baf012ccbed7589842dad0806279841eec317cf8c9f7e3effeaf3fc01bafbe89f73df0218cfb1661306b902708ded5bb9182fe1b38f0c3ef437cfd77f1f5cf7c09422e8b1d1b7e0b950b7f0e53fe052812779261d990f49d8177b71b7a318beffcd9e7717962169d9b7f0df3b3d3184dac832adc835d3b0fe17d77eec1ef7ffe2bf88b2f6f4597de8980f51edadc5a94d2660aea7564580bc438d61112271081d350e81cd0d3e6cfc7e2100d97c879eca44d7433b48630674a2a7413003905a9dc414efc1c39f13eba67334f47e562295e9cca98a69936b2ced084348123596665ff3a1489b20872273402534b1551654276f0435d4df183e1e2c48b70a45e42d2b801952ddf87dcd487dcf7ff0895b7d3b06fca413df302922fc59053b4c2f2e847f804e0d9e969044341747675d57428d6644c568293b59992d51994fff9da8a1ba5f9af4a9dd33fa78b323f9f2f127bb38a128c1ac5d5224cc6f6aecf2e6a502a98a9c29facac98a9573b72e1e087655d54aa9fdbd6ba16f03087c0bacfa7635530114d15d39e608a9ce4b4d504c80b6509ff814b4c56af89549b265c1bc12ef0fbe6cdcd927c750d968fd596d560979f95df1f4486f6b356abc1b6813dd8b2f9365e83c1be2e8c1dc5e5f131781bfb20587cb5ba2ba98e1c3d9bf9437bd94680477f11a9a4074aad11cded4e02acf5c4c26779175ca12070f9f392bc800b4755989a8d432b9d4353b199a25533bcc4cccf8e5e213bcc22560ea340e469fbf601dc73ebfb71eae25bc8c44d64bf6ae894cdd8b9771a7ae37770e4f814420b39d8d4dbd0d66bc5d4dcdbd8f77a02f96496fc59a1d61d23d46a3e18ad2df0510902d8c83dbda801d37b6582821633eb4ac9932d17110804892058d1e0b6c360d06261318674a68883874ec3ed7160f3861e68f4591e896cf5662c4ceb08d444a16647906407c592ccd540954af2af8c20f1f52fc268b2a17f60037ad70d1140d622b0c0884d0abdfd83686d1b448a758330b97c76e45895b8d2ac5a64cf510b8b4dc240af055393595cbc9c408e00145344c95598281c81adaa0aec27750e91771aa5f30a747758602222f6dad100dda59a886a15e7af9cc30ef746c42265a41209f2992206376ec640d75ec8255681f23a9a3b04cc4ee461720b68eca983dbb58eec3b833093ded79c86b7a513bd8e61b2b72b686ef6a2a5f1115a4717a2d929b2372205457634a7e6da3a89f429b436df0ab7e301ae35954b4f20100c12584b21139a453ca84443a30d756e2d428130c241365d598f643c06b35945c03683f9fc7174747ac9bfb6e2dce9d731efbb08bdd2c83a3e60accbd27a13a97136e37db77c1ca9391dde38f62db8bd5a78da64ccf85fa135e8c340c3fd989f9b86a7578f81cead0826b7e1f63b1fa37bd362e4c25b448cacb43fb5b0d96dc82c2e2c4deabefed1e7aaba139e91ac09e6317450e5adf9ef0193a5456319861972c42a42d6c4beab6cb4b700ab4189c584444ebf261192a320922a48b0e9d9786cc65c5364b8767aff0e7244afd20731f5ba8de4a872f4671d0509167c036428774065261326266f1dfb2768898df82c8f206eedc3a31f7113f297104c9fc5df7df3ef8871cde3b6f70d2216bf0daf105adfb0e366f8d31a6c7fdf13d8bb7b23a1d9e7d1748f0ac36dbf0c85a513f076407b858c7cf4f3b87dc727896935239c8ce296873e8be7d914e1c6dd587fdb0761bf720a3aa3156ebb00dbddb7636877273e233f8e245d63c1d688aac9896c9cb5ecaea77b4b105b4ec0a04c930174c163c842502d2091d09333fd3e39c72ca1dc2205c0495a1b2fad1d194c8efe4d9ee60e096a0781b939fa8ccddce1b294354b11ca921ab92c534f3d46eb3942af49426fda442e9f008c7096503d0554c3204a910968679e87a6486c4045cea52262b6f93e18da7712b3ca03f971e875dda8baad08e301680b1444c311c8e62a97cb8e91c3b878fe2c471aecac7ad54c98eb72e41b69a4ca4b3520ff635988ab9d364bff571b0278ada684654c980c38fbd8520548e4659888cd594425bf3efeef3cc82d1faf5c2b729596e4c073e4b467e26cdab1408081c00dbdc64100da46409a6589586a9ca5ded7769a2cd79dac65fab5a32515cf0bcc27ca0867e9eff4d2f292faabc350cb1cb056db1ba931febc6e9dff15ba795615bf32f65f2e2e015a616910a4b4aa6b67794dd7d6ac64f37138b40a98d514f0e4455c9e7d0b63413501fb3c9e7eed8f70e97c0275ae7af46f73c0e9cec062b5d2e71729d0e5e15b48c15b5707abd680bc8202c0560be2e90c468f927dccd1f3cd4761b497d1b0318c528ef684a840381545e44811fdde7a04e357e8b3c2500b7618452258669917678e4f8e231c9bc3f91345aceb7b10ee160dd9f869a82c01b86d3d70756e81cbd50b8b3a8d4b93ff84f12b64f7391557626575a76a5603a2d6d21e28f3ac19d33b13541a883a76845d80d5ca8602aa313fef2360c284ece85ee6f364a37ad81d56b8ea2cd0e973e43fe8e7b351c4a367b17ddb7af478daf8b10a2b3267f2f27ca415d9894a5393ad572ad9cc1b76a45e44bdd385751bb7a0cee345321646343a87a6a6166cdeb2977cb6018130eb6a049f7fc45a7d4d3a2527944caf6468c356f8e62660b017b0d1e1846854e2c489309fcf2312f016088467b325841315042205d88910ea751a448850f51138b96bab0bfb8e47e859d49499472f1f2300308b62a1024fab0e0d4d26789c5db878e575f2bd23b4565168e8fd4d3d1e02f85694a50c919014e6264e71d5d5f6a6ddb018dac0060a897a0592f94b306837c037330a5941cfcf90e6827025a98aceeead743d1d989c3d0481fc603832463e340f0dadb7cb7933bc5617f2c251f8167d18e8b91f52d68ad1b9a7e9f92609cc1ab9f2b8d5d840be3d83b747ff1e99489ab77b28658a47621c2a7b0edd0db7a1af7b2f86b7ecc4b45282ebca012ce6f7a12005785b7760ca4760e61c81a89b6037d443635260e7962761b4e8118b4da2d1b39bfc1101e6620be4748140e11cb79debe998ac052bccc731bf275f6d4e00ffef7bc004b56ed262c14881d10d49cd86d8d506f23af402ffb7951a5a858acc0586d4ca2414aa146dbacd84f0c878d45390cabb0955538016b27c9054a57c0e1a430f142ca332fb1a6c577e933e488331f76f2154b789026e04ddeb2c4864d854d819020edb611de8c0c1f357d0beed41b4ee788c9c1139a6311f0cf5fd18708f43d8f72b78ff9e7f4652db87eae4efc139ff342e084f42112b61affb2dbc237f0213290bf4360ffee08fff8818591587cecf43b676a3bf81584d66125d3d7a42dd65dcbe35011c7a0341e39380ce4d1bff182a82077a83831c8e85103bdda382b5f275122039817ce13c19ac9deead8b8cfe326dc0098201dbc819ada7d71d25004600499325e7e5a57b3f4ac6b98e809b85400c13270a41ad2267902683ce8c105b7b0892508168a3609b1f4225390657c32472f37f01dda55751563561a2f963c82b0da8e85d14c8b318c845a1d3852878cee073d1cd487875e82003652a9dce7e1394b1697ca29ce74a8481c500afdaafa1f1eabba0c7da0cc975270c63b5e2e88d8a5f5706a79abcf9cab6dd5acbea723063eaa3ac58d0a811383b705b5430eb6abf55278a4b85bacbf3f66a3a2ab5da1305bf9e45628541fa5611522ed4665ea1c1aae2598d0c9b9bb4d4e123ad612ccbf529d77312ec682249e0ce97a8a258aef2cd5fa8ca68b52ae134087c52722daba2bcee1afc3ce0f6ff77c1ec8d8a5f577643dda81896f76d4935dd9265b97a5e77c98ba885a5acc9bb5b8697ff6cb094617513bfd62891900ee1998323489517c92f107bf513b8a4a01708a760982a63d3de3462e1f3fc79f7ac57c23f4b40224c36417b22921e43fa8c02139321f22f06585c14e0686fab6c1400e8f53a27051041221b12d0dc9a41833e8674cc89de754d181d49203853c0c0ad9de4ab82b83c3181ac44fba5a881d96241ef060fae2c74e0d2090deac4f7c1de711366e74e904d6b504a0da19c3dc405c1b86071055c7d55a313f834ed126d31b645cc46151472851f9db0a9bee560011e570391ba0057eed4129b2b5572985f28f25a068bc9086fbd0ba1500cb3f351bcfae6610442516cded4c7d57859cd5421c7842c055e47c28e53aabceea98cc6f646f40ddcc4050ec72f9d203b5163d7ce9bd1d13b04ffdc0246cf8c204e006ca87d03efa662e2652c6365b618693fb3e7c88e8798b81e1b8e99a6606fe61d3bc70e05100ee709d8d40ae4cb2509393600b39c434ecc231e01f991385a1bf5e8a893313259c4d9f38b44c28e20155f849ee24383bb03c56409672f7d1ba78f1d443a9220bfa8c0c61d0fa2a36f909e4901274fbe8a7a7737ad8181eeb10153e33e24b22f42476ba7a56093ce0451ef0a41a9211240be5253a63824c439094b64fd98f34f235fa2df47be34969dc550cf23c815c8372b4598ec19548a2194820ac4fc325a3a2be8b611b9ce0e62361c84d35984a69ac1cc7494c06c81d7d0a4526c7e5019466f0e0d9e75d8b5e5a328a6d478fb9d43b0aadb8990371091de8c3656bb139d4193a387aed38ca17e8a5979150e9dfa111f19103d9bc35ce424cc4e335cece828c386a876d7baa9ae53ecbaf6cfcb244ca356733f592a976a4d008af780c912d5a5cda86a87d1d54f013545e8af04239f8fb16aca39746ae0c2828636c239f4bb031490bd9ca196095d3209768b7b2b2d7215798236b9e869e8ad61640bbd289efd019a837f004963c779cfa790707861aca421542b580c2f72c53f8ba61ee7a6945c8d55a368a68713a8a524338bd0a8d448d2669a8e06e1a6cf981b791b2edbb330cebf8863f26fe394e5336480caffcede9b47d97d966782cfddf77dbfb5efa52a95564bb22c191b6f1883216063301d423a214927999366ce7472d23d9399a4bbcf343d9dc9d24320e94042029d4030068c638c775b96655b2a2da552edfb76f77ddfe7f9be5b25cbc226ccfc912627d439f74875ebdedff2fdbeef7d9fe77bdff779a18d3c8a23adff1d61ef69e83c2d38949fa013ace250a71a2fcca5304526b1cf432094dee1a2b2237b7612864612eacedb3899f6d108a7c99667794f44d355118622a2567d978b3c856ca64c667d10b152178caad7c8c86a042e418299755ee78adc2ead547e9ec0e14dde97938b9c80a2f2120d7c3f27e016a94c9e868d6cc4b985a64543664983658ea3b97d199acdafc2de9c8572bb040def53e1e8c04af723c8e9bb20ca431a34149eca2a0a9531a2fffb51acade3a9334bb87bdc8e0f1ceec4975fd881bde5c29d7d8a7686b75229d9fd5ef26273af0c163734bafd07774b70930aeabbef92ec39ed3dc7bd9eaa23596aa08b0ec66d52c9aa0299e4a752ed3a471a10878a2c49078741795dc7552cc850ae81cd4c1d268d02436ead2cdb15e2605a228f0a41f13a599dd87ed62ada61a041a70a414bfb3e0d06c3757d0e3106428c6a37abecfa75b64b93dbb7242a2df61a056e676b88d131e8d542bbaf29ff1d74ebe4b5899d1a85d27cfd3837ef7efc38d5443f093b2262fc45984c008ebddd8ebd52edeb3b4a22f8d8141a267b1a287589121b52a8ef9d152cf71262c5a3cd252d48869b30597764b8a054c8c26e7323cff59e0c8912e476ce5967c00a8b2389ae3e1d94073d881776486e9488eb8ab00c9f472d95417cde27a5074cce085cbe347a8ed1f924d5b27bac68801e5dd563675d85dae1063a4feb100f27e1b2f7a0a39bac79e10ac21b4dec3bb41feece389da905e5900ab357bf8f2bd36e18bccb70595b08e79e43b6741e4e4f1f3cf6f760676391ceb32005c9c44e9a6843afe63c2d97849cbfd82d11611d8ddc69002192d1e09092e5a2e6a5a74bb4b8b063636b1db1645a8ea941c3cf376a28e4aa70982df8c803f7d0b14d617a6e1517a6e6b1b4ba86c18120898a09d5724d0a78a938d7eb95a2d430f1794d74ea9d8844b649fc72d8b76f1f0eddf21e8ebd09afbe7c018b64f2a232c8e273f3df7649b314ace3b37179bdb2fdc0c5cb2f2393a96068740c89689ae4288d60a71377dedb8dc937c208ed1421a4dd84b9101208426ec0ac977d5ae55a5a592f10bc00dd7e0b0a5cc70b33eb9c430dbcefc1fb71fbed9fc4371fff12df5f84b645df40e43634712f823dc3240b6eb97be2f1b930317a1712e12dc463cf225f5c85cdd60b5fd04af3b6814ad58e50740e66870f4e8e9fd9e84224fd3aaaea308f5945c07b2b36566bd84e9f83c96140ff61076c7ab76c58bab599403927aabae204382fe2f2bc0a13477a69a3ef405a7119c9a8e89b7411b9b4967e8a8892404f63d4d38694697b06f0813b7e13adaa064f5ffe43d8ec56bcefb69f25b8194122ed804b3f828387fa112798d4b8687b5636100a9dc3eac68b689a9364e906ac6c4ea20b47a1d4d7e957ae606eca04bf654482c83d7d9277b2037b3b93ed447d954cbcdfd3736edcd48fea9f2d30697250f4e52b50ae3c03b5e723d0db7b11e5229c26eb16767b2fc62c9aee550b35787b26f9c6610ee020b4a6a791df0a43f3ad2d541f30a09227da3eb7000cc55012d53bcfbc84e0f8ab680683480dff1902be616863afca06772a85960e942c4161c3eace21b4b8282d9a2c4749df161ee54a69c8de2f425259c4777580de848efa4b286e36f182f60f30af7f187a058d19c230a86928545be82fbc820a594f21b58678c7a330da023838e8c166820b8ca85da5fa17a86cfe09bcb90b4876dd87867206ea2a5177c34e076494bb1fa28cafd1344bbdc662d10f0d8148b3d90f4d4b80903c17c1cf7111cfd2d06e71212f738275d37067897a53c4792f41af25f030acf33696a5e13672a5579266649204405a1a3aa506a9d52c86d6fe1249e32056f4e328d4fbd17b80acd369443d6e822b3303aba908b5812f23d94f5dbc9e8253bf823e573f6e1df1a3c3a547371de8dc5606fdc62aba9c1a7869900e1c38c085927e2b8c719de5fee81d939bdf69de207072334bde73d21a91d3b1bbd321427dd72255aca61af098eab8b59bd7676f2f3cc575dd91763f0fff0d0d07c55a9c8d563115a9214980e0a143eab469a0259b13c717004324a686b26d59ef72a9093b41cd7ebf0e0502095136ec32aaae831f71cf621b7b334b06ae52c06f55616f1f478483448335a14fd1de05043678bd228f441c5b54e31ce9d0cb5d1d11dab1e814d06b34d249bf156efac90dcdbcd38e89002322ff41746e16aaaf7befc9ced12422edeec24d0240854c9214793ae22822e1b5ad6dd2ee3ebc97fcfbf690583b1c2c77cc84bc3cc7d7d80aa0bfdf42665da4131991098b83ef5520bea341624b4947a1c6dc591b460ed9313e740a6b6baf63677b8de72962f14d921393d00621505718b13ad70e491ebb6d84ec7c1be1ab353273911b21342d789c490dfa6c9db2419b596d87af5347fb5544ad40f0531b47357105b148123bab69a472db34213a9cf0de099ffe16640acb286427094c44cf2c37cf352de749b5ac90f91e5a7dbb8165269187414f70c3eb5372de3444cf1b9bb9ed7c1a05d4383fa71717e944bde8ece881cbedc6fac6069474ac5d7e0512d93266573661b6d861b19aa49cc1da5602b942890ed20897c3069d92cfa8297a190975de22ed8a468622425b4be81de8c1b163efa793efc5eada1a9e7f6a5396a4760ddbd0920dfcdac0b1516fabc72a9a2ae8381665217666b2d1f9e7b88e0c3099cc48a5f358e75874f658303aee44b5d242364710c9b5db909da99532bc6333a961b71a255011204d4be03fd6ebc395b924ce5ed984cee0c176740bd9621ecd8ad068aa63ffb1131839702f6d27c7bf9680dfbe0f5687b1ed781506240aab248b0e38ec6ed470154a6d59ee1c1327a055539000c6a1e4b53a6c03a8b4ac04b49b7c6621d96d5bcd67ecf275491035dc7f37ae4c7d9fd74d80500fa06bbcc0cfa4f1da0fac58bac0399878194b0b8b7c662a59355aa994a0356ba023285172ed7b0c56dc7ae2217ec7c8fbf936bcf6201cd6009637af2157e275a656089cabf0b93a089a1630fde6ab9c2b6b34a605093e0b79350c8e1402c10e8ebb1e8d327d93b122d3181450bea3bdbc71d764afff951032545cef1bd62e13df585fff29309183255a6b97e2d0affe169ab6bf86b1fb01ac96ef4624370e83c5c3c595a1432eca3e02273b5f4587d3827ced7664d25330db97a1f71e42717810d199acec36e9b4f6f2c1ed8366430f4b7f0b19870379c7287cbe719838035dd6e3582f5c43bab1c247a8c1e27a2f41411947fad7b0b06542a16596a2412d320d91412e124f554db20e7580179bc36aeb5ebc64fc6d2eb4162cad10aa0a376e53fe153a740b081b1e85a3790dea620af6d09751cd4d2261fb086c5a2f2c5a134a09138fe7873d95474b63408dd7aa6bc5087c56d1ac5b64f2693ee781ce9e92fd459a4d2e2af530af23c491fa6bb86c2d3ac52e68b4ebbcb4020cc64d4e4c038a053224f59312bc28555ece39918cd50387eb026aad0212a1098e633759be05caa68fc7cbc317ff53246a1e9c0ffc0a27b5052ea450d3a564e74b218da6a443b4e87be838c6a1d41078e966502c4569e8ebf8d5bbf6e37b33159c183270f16be1b4eb706d730577ef77a2abb30bc1801f172727a53355ee6d11287eb8134c0bef2cb6861ba4d81aef108ad80325eadd44d315b297b9684586448abb89a2dbd90656933574589552c25bfc08007165a7822d0286099f06c31ead3cef35829233eb655946ec272839d9a59380402e1ab9d5c9e3651a48561a10055d227473c0af9525c3e736ca52f46f9f97ceab530f35ef374de0f23adf5f4e89aea22a3cb8cf24ef6772ab82155e939320e6548f1e76029f1401cf76b6bd4b20125ff7fb74b24cf8e9a51276324d78cd0adcde6be067d53fd45df727fd4766fe136808907af6ec596cd05996648f1605babbbb65eeccc2c282fc8cf83d914c70fee7491a94d7cb82f7764adabd18db09b0376f49ef19609d097482491815a3f8f4a73e8c3393dfc0b3dfb802bd5954d4f039167d64b73e649b57b1fa860ddbf379a4ee7901a9a496e0cf41765b42665b2fc1b54a1b45349441812024bca44682cf361556219528c2e155c88e145b9b69049c87a03016115ddfa6f304d2db04114aaea7c03e5e2f41436410eaac1fa5e2a4ecfde31f1031fd3c4ab575f4f4ec2350e8c376f97144a3df948d301bb43503c7abc8c6d4b41f3682948a64b3468b15a5a6e89a2d12573530f36693e928498b86e3d7cecbd9d8da403269424f7707c647c650cc6fa0504a225fd6c364d5e0ead2357e97a041a395626d6e9b1a1d3e27babb82f8fe8b113a69ce37bf970e5794e20a5d8d3c0e1f19c5c12377d3465af0fcb967108fa7687b08481adb58b9b40247cf203a3d77404da2279ab0b69a0a7475f51154d4b1b03c8da24ec8e95709980e707c1b048925de13ffcd97a53e8f00216eb701b9ac566a9b642b4de4081432fc2cfd38cce6066ce6164c24003bd1040e0cdb65b3d0ef7debdbb44b8fc3e727f9e03d88fe38997c8ee758924ab5e1580807c7ba910b036babdf81810f27e03f88806b048b2bcf23bc13916ab5b59252f601d21b795d39334983034e772f09a1079aa21bbe1e15af3f8c8b57ea48c79458a92da29125209d7d0585729e00783fcac92c1a458ea7d94be04b729c15212521614f7b41bbeff68b26b57abecff151eea0673c089d3b8df995d7086cec709a5c084717914877d17ff8506b2e612b75054b679e423a1383566b83c61a95e5e16a9d167ed331d4944b68d89651e5b5c4a26902332f312ad990b9ddcee34682f04ea1ef3d8223bac0ab68e384826e53aaf39a7f0a4c24a3ae355073bd1785ce2760887f0fadcd6fe060e3cbe8d29fc46ce901ace0764494a318724ce1c0be37c84c3ec549b78d4aec6f10301cc0b95817fe5dbc1f0f1d31cb865573b112ac7458c94c0557f9fab5e1433862d223be398d319f16c5ba0a41e310c1103043f694483be1756d235e57a2aaf6c8ad4fd172b3457623b3cfb43c6e338bb8728408ba0b56559c6b5b073dc228c3006369053dd56fa3e67b08b57dbf84e2eb3f0f95ad1b9aae7df02dbc0177695a36c612dbf1359585c753c15cdb42ca7c105a8f070675920e5ce808100e552b309844f916419539c3c596e5eb09a4e30e29f82362e78d669246639093b544c47b8886678460e52cd955892c421886419984e6f22df373879027082b140c7013ed3744bfa1c4dfc3bffd5f38110b58ec7b8063b20aa7a6254b0333192f9a64115d763d99d387c9e64d50a89b44fc33d0ebd33cee2750506ce333f7e8c8fc55f8edffbe8a4896485d6d42378db28dec46e496887c0da3694e32bb3de4a15428de169bbbb955dc3b699adcbc9f72e322d3a8db49a317b6ab786db38c0259930013e214153a70d16b5108a8ee854bc4cec673cb25ce8f9a0ccb884a9a01178d210de1b9ed0a0ab576059830fed1629386ac01a7412577ed6a7c6f3d5797a047c0ac637e9d2c31feee6c1149a16522126ac3350cbbb5f2fde7574b588ad764d9af0016e2dace12a8ccf2dce27eb669748356350e07b40813dc08ed12e1ae048839c0f72ef07aae84aa72cc622582258b06c73ab4f25a9aad1f1ddefa49dc31b976ed1ad6c8b46fb9e516b93bf2f2cb2f6375759564c1275f62d7e4d8f1e3d8096fe3c285f36db13a19166bbe1dae2a7e7452af6842a7a919908cede0f5a9afd2214710df1663aee1b10ad0ab08acdd5918bbe2e81923814955b1444091dcd4a346a754e5f3ad6b12d09195da0d5d18f3fbd1db751ab9d60a8acd4d82fe2a4cae127a269cf089925fd53c1c862d1222b2608f0d65550c26f30654793f9d7d17e289285e7fed1286078f6278df04d9a89180208e16bfa335d661f52ed05177211bf5209d48c3dd45104290d175a889e83cb07ea58952a12673e3443f1b2d2774be0ed91db852cb739cd4b8e5e82862b48773f3dbb2acba5ac9636169051ea71bc70f1e44be5846727a51e69c180c620ea909022a243355b8ed66a97b62b3da902d14b1b61141a7b0873e07145633fc413d46f70f214547bb1a0ad33e64512f26084c66110eadc864725bcf10bceec075922076b644a59fd96cc3f0c004fc9e7e5cbecc3118be8dcf874e3411a1b3aeca845e8b45aca714415b1376121c616ed3a2437ba39da05e4cd7f87b1d514d89d7aec4e656167e77023e8f093e5305f3eb45980c0edcff8b9f4657ef7bf0e4934f60f2ccb3d010d8ab4d2602ddff8e4eef11b89cdd181d998059d3c979f12d349405d44b1a142b66b81c41126251b99480d8d7d4193bd0240169558cbc2713823d1ab931e50b13c838b610dd99c7e4d47949225d6e22e1561c9998822fbbfc5e29cffbe133d01969d3955a589d26047a7588ec881db82a9c012b9d7f90c75997155e466d177d4e0063837720bc1d4649fd0a5d4e8e6bc248df9444a55824f80a229612da2a46981d5e54d35914b2043bba4348175668df85c09ed88dac21e8f3e01f2aad51ecd9e2563bcc5dafd5dba11d9157276cf64f8109e436adac54eb7e1fd0751fce5dbd8446f405dca2780aa79aff0e27943db8507e18814e07aa8a31c4920b44dc73505946a00f7e1ca9f92896a6e691a711f9e0512f14f1241e3a11c0375fcbe31bdf5e41757c800ed382d717aac8d536b13fa8459a8e626ad98f6c590d93a9847cc98978ca465641c62b1c71a9c86bd240e7f4c1e270211e0da369ec435e790f02e56fc3549a81da3b0e4d4385fef437a06ee690f57e04aa321128595053d789b4de8a66520d73930e864047d18849b1b3465589a26600adcefd3c9791cebbc28921ca43835cac413a33132ae535b4342b041c417ad61c6cae5994f31e32b80ff21aa3f0775c462a2e32f71f8099acc760bc83c6718940648ef7f335b2f61a27ebad3cef9d50e92c306ba791a98cc29a3d8fc0c6bf46c5308e50df7f85d56f214227f869cca1581aa7d1eca25139c37317641848ad4e40b4bb112248ad462fc1908b468563517f1dbf71af8b00c682bf39bf0fabc91482861d1aff7eb94bb2b2bc24996f5b14ab2d49fd6eaa9fefdec86fd72135dfaad810285f3836d56e78688acefbd9e522410764c8e6089df76b6b15597163d22ae5ce846237242480c1c59daa0ca3086515bd5a2993ace3348a4293442e90a688fb0b8d93028cfcdc5d0346091eb265f17e3b64a3213af09bd512f8a44a8d769584003e35850cd3ac26abb81aa9cacf89fb35681538bb29ce5d91e716d75d9532d090619bad6c8dcea6297786468d1a29fa162fd6a5dab12c15e60952e5461bc029f69a6e29fe49ec96286eea7193cd66e980ec3874e890dc39118dfca2d1a8dca1d01b744888ea2e5181c3af55692cc516fedeb6f30f2550bf43a541914e2de02591d0baf1c277760804c2a8647db0db6c042979380654686aa24845ca28aa57d03746474e479d0e29e9b41cf0b85c242724249a2272a502c6f77971ec640f521917e61735f0390bd09260e8204afadd30db6350f362abd53286463a313d378fe2965126aefb1c6114f30d241261c45dab74d44e0c744fd0e9c4388f97114eee60d81c82cb7e098bf3c3486c2ab0319be57da9905e13553782c93660f7d565734003ed428dc44500009d5e8154ba40bc6243385cc62d13c7b986af62667e199a76ff3d82bc4dbc4aa7f39e5b8fe3bdc74d58dadac64e3c26019f3fe886d3d381462e2b7766b7b637651f1e2162160aa778fd45747579e948cd32993457cda3a6a922b3b385956bd36d80cc25a3331a68d38c681548a2d48eb6e274a124ab83dcb49bfd830709d044b2fe973897f504a1bd181d3e89a5e529de671d7a938acedd48909a93a5d8763b8fd5d221976b6ba6281ab2ada03c5fa326d65f1361daab4c2605ad42880f2ab0b55ec29b53713cf833630491a3f8932faa313ff71a6d214166398150eb7564721e582d2a8c8d58f89e8620a484fefe235cf07902bc3a1cc653b40556ce9169e89575d408064b62fbd2a8c4d6568600ce0a9ba59b3ee22acc963cf24912388e8d8ef79c8be8918ee639a712bcf7a2eca2ad2200d4d0fe1b4916bd3d05288d249f4d15f4c6029cc10edc7af0e3a8a7dd78e5d29f62a7721677dff9b3383434821713f35c133b68d67450a9cc3c6f1d49faaac876111a5d17ed731ff60f7c181b57a2b4e717397e4e8e4d1d9d045789d425c4553bc08fd9fb4bb957bda868874c55bbbbd4628dfe1498884112dbbd8a061d7808db5925ae95065035edc74ae363082a2e6244f1346e55fd05b0d1c4cef6c7e9d0dd642dfd74b61fa3d3ab603cb0069f5d8db5581d2f4d2710c908613525ac34f23d742aa7fa1474aea2ec4d8fedd0206cea085aea4d32e53e3a0ad9ba984e4125c3116e4d52e613c4943402cd00e2914d3cf5f8d7f1e0c39f4068f171fcee6b93f8c3f7c570c43f8bcfbf94c7dd278771b43b472be082d5d707652906f3a0d806dc4f20cd873da84238e541594da6c585e9b216da19ea45371940073415d15b61918e3e23b501e82eb9e043d0e9c23412a21cba0e11cad669eda8a844dcf7591aa7fbb0bc1286dbd52053bfc0bf1fe2a4ed91cdb974da29820837c7d3c0c946f44d90d188c5e0a83c0f4df931686b3492968791e8fa1d59c1646f15e90084d3abf2f34b6808a979998d1f470d044fb85d3a6f853645e3f822dfff2b544b9dc8f3f8cd9a071f39d98d078e6c70a187119ae398966e838d4ee0dbdf7a0c194ef0c3478fc8ea979b55d2143fa21ae7ed0be8adaf0ac053df156bd36ab5524fe4b9951222c5068c1aa50c8d88bc8c68b12e4bcb9d342a2e633bdeba936de0f5adb2206234b22dd9a9b5d3dece31b1eb1532be9a90c7810414226177bb4cd65a6c485013e6b93609200490308936f23c6ca75584630c7896d750a2d1140ea1c2bf5f8b1168f01c22595be428aea5ead8ccd565329f10d7146dd6854aacd81d115a2adbfc5ba1de0e59889110e7bfa3d7c0eb29cabfc9e4cedd31aaefee22fcff95bdffc7dc3169eeaad58a9f8989090944e6e60880795f2274e32791102053741c16219d38014a369396f93ecddd7b6c2be9eeaabf2a146fabd07b5b22df5e55965225f5877c7e2741631a069d11a96a0e665e466797133a4b85b6400143d3098d50362e1751ab68d0d77308b1b0000c3a0cf41fc0c2ec153a6e21b4e6c7f9ab8fcb3e39c5b2177e6727d7988d802784f84e9ce7a29da87b90ae86b0f4ca1459b316661f5971376d55ec2c548d21740c7aa0326750d785085e739c63fdb0e826b015bd8ab32f34f1e8a7a23879f7163a02dde8771ec1b5b9353ab90c3af7a931764cb49f6ac1d7a5c3ce252d5209251c76131d778a636892d55b2291f58e5b6fc5a31ffa209e7ae607b83cbf2613888d663357751edf79e6fbe8e1583ffaf027d1e0627ef695e7d03b3c01b3d585c5c9f3041145e4a305ae530501a283cf23cfe317303bbf89a4286fad6b1118e983c228f43962c8910518f87f218bdf14152004cddbcbebb0edd3495b6eb6da09f0dc0421364c1cbe1d5a95162e8755aad7564a55f4748ed1ee9a90c9af209dcd2095aa22d061a20d6ea056aa737ce9226d0a82a3aad46c5134f770290998d895251831e8b4ed5d0cbf0d77f774e1f927be8a7f53aee1e77eee9398387d14c1fe6194687f74ca2692f90492a975bcf6d293585ca43357b9512be650b6710d9124fafdbdb01b3ba452b65aeba7ed15c4544d9b5d973bd7fee00e3a7c01ce955b50c98c221a7b0634e5b4e7b4eb4902a5d0a64c908f4452bcff1afa474709d65cc837aef0a24992787f0512223ded8ccaa846b1022cad5c452567e077b2046a1f8059a7c1856b5fc7767c91c024431bde0187cdc83511428b6bc5d4f221c967a4d4cce2da945b565725936954ea45da14da286b111df671c4ae66a586ccff17f2a0d9dde912158862a02d16cb4f8189bc28950299620b7132d285109132998a95c0a2a53561a1f101ccd6eec31d1d4f63b0f2147cdb8fa342369172fd06d02f1afb5dc291fe02dedbef83c96947229746bad0c456a28ad5680d1f3daa83c3dcc4f3334598f4eddafc058208adc64204af95f14d24e7b828f4d877cb5df8dcbf7a8448d788dff8ddcf63763d818dd565cc4ebe8607ef19252bf8016c63bdf8eee49bf8c423cf23bd3a8c33a515ec3fb086e8420e4f3df96bf004749ce851bcff3e07ef6b90135f6c41c638710dd0ea83727748abc9a1a94dd2b117087e4477cf240148456aae14f3d7785d66d90caf5ab5d0400bd5d72017b5d86a34a1b3e365142aafe2d49d7f8b6f7efd3fe2c07e8281dc2bfcde180ca637914d1fa4e1ef87c660e3b9a6e058ff3d287215e44c1d44ffe3b00f1e43be791bb4ad2d1855d39c8c623b9c60a839c2754fa6a92663ac7011561f27122ff13a966858ae41a1118ed3c5855046b97290ce93d7a925c84913d92b5a043974bb64c2422172706818f7ddff7e4c5eb8202b6b444f0e28dace1e3fa244f89d764bf664e9c58f489e145bfe16b3518285f33b15cc2769bce8b6075d2a0c3a34980c55102bb59b52d9f52a38f46df091a934102fb7cb50f39526267c3af458db7f5b247088971a38daa19552f06b999abc563b51c5b8b71d3e7110e074d8549889d5647848d356e6c6a8478de7d65b9c770d78c9c8849e89683a9e13498034da598eaf701ec7823aaca6ebd8e0b1051819f3aba5ecb6080d896a9c7cad7dcdea764103418f5a02abe958930047290507658e0c9dba085ffd530126e2259edbf6f6361978174646466448e7d5575fc5d5ab576518474afcefb6037010d48a25293461aee79228b0db33a7753d2cf7aee5d01a919f904261be82625538588d54436da91bc8923dbbcb1ef478c6e0ef302396ca20162b4a3d8d786495ce40008d7ea4232209b24462e34796402395ccc266eea233a820935c23f8d4f0552403afa38bec379ed9809bacd5eb1b4674ad44a251403f977ea514c6fa9b1a04689b149a041a0acedf729820770719cee9f505a18e6ac6ec1267b03986cde4326c032af45a62c83ca7c7d205b12bc76b8cb710ec50d179d6845413f2c53c1a9ccf36a70589500845dacb3ffeb32f61ff483f467a7cf88587265033e548ee6298be14c1ccc5346dde16fefeb9a771faf849781d4e01e1108b44485cc47d18e88c8544eb36ea3caed92c7e57219329626d874efde93770249c402f6d9fddaca3fd12f756e6ab20c52c6b358d14652bd5842e8901169b1071b4f1c12891cb2661b3bae53cb098acd0778f2214d9425fef286d5f10d333531cd749085f3838e296a1b4041db00807594c1a94d4423fa62e13c3c5aea8d831a92a34702848226d3a986c0674775af1a8d38cbffbfe5f6071ee0d7ce6573f0bbdab8881fda338367c18f373519c9b7a02b3d722d85e9b4520e0c6c189c3b2023397a2ef89e651b35c44345290b92b7687598acb55ca55d90f2813e673dd4ca3544da06ff80892971cfc5e14e56644349c463a9ac2d6460a8ea002fe6e17bc8120e21b59545b691452067e578b6cb68983c78cf0707ea556f5482c4f6270cc8481411dba7b3b782f416c6eaea1a12aa16b5083f52512d8968df3741c56b30b89e43aeab95582692d3643afc0e224c02638d1d56e835ef412aa4631327e37c7ddc1fbd991e3f7e3acd37647e176a97043ca4d37e53a9d2781f8670f4c84e31231f6a7a72bd2e1980d5a1a651a74b2701f9d764165c1b666108e8ecf7292bf04ddd673f0edfc5fc8555e42cd3902b1a7fe07472ee3975ffa045e8a8c40dbc861726d1edd4e35fef417bae40eca885f836a2e8a051a7ab7b7830b494d7655974da9d4663f34b59a646a195e87ba98408b6ca048043e71fc2ed89479a8b371b89c7d183f7804affdd91c3ea15885b7b8851f7cb389df3baec2cb712bb1f13019c50cd1b215172f9ec7bd778bf2e30a0c3c964154dba812b4b142fe59844e747c5951adeba0242369d20035ea765ed7a044d610d2f5b5151a66214d5f240848c04a26028c209fb192ddf0588a109af50334ea2b04148fd1c01e22801986de90479520c3b67106b6d206ce787f0745e73ef4ea4558e81a6cfa57782e33f4e653fcb78fdf71422dd5311b1c8f08d9cc39e88d61b9dd5cc8f7a3d63ac0f108921966a1d53ec78570892cd3455696904a8f42e9526f7542a5edb91ef73f79db29de871ee964f287fa36bc5bf2eb0f8393f63ee35ecaec5e2847383291d73119a920c967af55b7d045032584c944154c5a96db2ae034292580103f2b193aff7a3b2c54e7e1460828c4aeda0e81c85f4fe71134a9f0311a8abfbd56c09b91761ec96d3d3a04ccaaddca99160ef97528d210ad67ebd7af29c5eb10a120714e8f5929c5d64448265713024dedeb7870c4841197067f743e8b08e7978d467fc2ab93a281d94a0b51be976fec0ab628da604cac83080d729228a6cfb85b922c18a590a5d7687e6c65d99f94e457914fb2bebe2eabb56428429493ef56d88818b7cc2569b577c5449c5ba8b50a3d06e56ee3c2bd52c69bbba55e57f3dd4d0a6e2a8ae008616325245b5214ca25f40406e800ba114e84642f1aa5b2845c926b526543395e236168c1eaa403b53860a2d74dc59204ee561473753cf1d4df716d99d1d76526284c93dda7617759781fdd48e5d7b01d4ad3317640a72e41e31a4047308bd476038a5489646b09e17808b15c98ef5bd11dd887b2e885949be773dfe4fdf9e176746079d68554b8072fff600575c3659cbc0bf00ed871e5950ac23ba2b54393005b0b2d2745b69447856c3f48069fc9e665c7e013878690c8a4707e7a098b6b1b78df7b8cb8fb3d4760195dc0c5731b1c570d0e1f3d0cafdf8317df3c8bf07684cf640646820a0301dba153b74367d56139b448e79c23c9814c643d381a904ac653731b78f3f21242a1303e70cfed1823a8f8deb3cf708d749118fd82acda135d7b550a954ca4140aa96e6f003d1db467851c6073cb1d1815498bb72b885436219b8a0ad062341969d34d08edc4086013e819b060789f9ba0a9c4f7f230ec266756481cca7c154a0412f91a429a3a9c960aec961c96565318ea77e3f0b0092fbc710e5ffc63053ef8f18779fc4b484462bc3613c29517f87cb6780eaf548d75b948205dbcbf5211a1581c1bdbeba89515047b4ece0f07d75f4dee96df73d747706ceca398df7c15569b1257665ea41dac4257b1239bca221c0e73ec5a38fdfe71a92f53570a21b74dc4c251a848f20a5921e95f40dfa89336d5435265c040a08b73661fc18512a5720e3e6f5056ed44623b7cd62d58d43dd0eaa250a8f820740a240a71cea14d98ec04123c49aec4b99d268074d5a197e4d104a7773fb40a0fc779a79d2cfe63b388b7764d74da76787caf85c83f7b60222f8c639226a3f558f564b2154c4f4fa3aa34c3acd7a0d74b43b21e87da1285baef4e143c9f8172ee37e1c8bc807aea2a9d740a4e4f00ffe1436afcb71917a24921310e9c1c32cb0a89525589a0c782f5e83c17b312dea04a020f3191045168e83ca8ab657312196755ab0c50186d74300532d5349a95590c0e3d82d9e79fc70f9e7b021dfd8ff201be8023fef3481cb9032f9f7d0c1ed74968bc23d0b592741c06c4a304019c280643828baa46c723c2310424753d51785376f1d5a83be4c4a26b9299ec6a4d19467542c698d1146dc70dedaeb21a0fca953abf2b929a2a322157abb5f2f715febec285e4e7643ac0513c24814f830b42973e0763f4316cf73e00ae03680bafd321d280ab09306a9fa2219f43b1e0a581125d99cf0b816b1e338e5a35cbe39bf9b7718e03176b7d184aa185a09aa4e131f13addb25aa95637f1f334488a2d1eeb565ea79bd74b94ada85f67cb627b5eb2ddbd2c70c5dbfb56b6fec1fc92dd6d7b45eb864a1cc8505b944e7b255b939a220dbe27f44ac426c246be2e772b349a76b9aff8799dc6fd3b0b0514f8bec8dbe8b16b70b2438f4ca589ff7a218348a181cf1eb7c8dfafc42a48736204cc6a3e5f8d040f1b993a7eff8d0c4e7410a810205c4b56b0d7eaea72b48655021591177298c025c5632cd268941a4df9ccdfeb37c8efbdb15dc5b5585582a3518f0a230eb56c4af9edf902c2b27b5c4b7614ae35db63b4ca735e8dd724601970a9e127c82a976477b59fe8dd9277aa9e12c0440012311fa6a6a6ae373a149a18228c23f45ff69a278ae44dd1ed5684ea2470d90d63b57b79d0e0de241cf543cdc91a4aa4230d5992690b9a6127032e26f2d809add1d9f3bce619e4321dd8892410e8f0103c1b794e3d7a0904f2b4f1e582013a0b8d3f014d34a62290e9834253c266f22ceac50e04eca3b8ed3d23585e7e934eaf22ea80100d713db6dcc8ac2e42a7d4914490a4a455d85c51c2eae2f5d38906bc243f5c23ad169d09082af274a65d07d0451b95cecfa0db770b7ee7ff3889e7cf3c87d9177760301a60eec8a08f73c56ded86d7d989e5f92d3ac33c9c0e0be73cc13959fb707f2f4e9f98c0d4cc0c32e9841433fbfe99e751d42ca263b513aabc0db79f0c22d0df8744224b674607de3d846b972e619360718063d0d3db8f70262213365deeb68b4825ca127c1f182521b45971e6c2346636d230bf7605bff8a987f1d95ffa75248ba761b04de0e2a53fa08d6ac9e67d827d37aa5588e27d2126b712db8632aea50326c88a6dd2eed5791d1169c3caa5128607273076f0222ab522d22921335fa5dd29c11f10226ca2615f1279ae4fad58cb8a768779919c59261148e608d42b22f45a462c9a85d5a48699eb7ee9d2abf86a721bc3277c3876ec41282a01b48a76348a04a34eda39dab0b9f905980cab30391cb0d88c484535682a6b309944e2be99a073499e7fa09b76d09c4247772faa05128e7805c59412856402c9681e4627c7ef700a1e5f06dbf43de9a41a65117eada8782f7582b126fc7e275c7e35aad512816d164e028c482a07b1417368e47e5c7a7d0667ce9d41aeb5058b3b86e9952d14b3f441ca2dda8324418b428ae4892ecdf50a6d42a28e6d5e8b2b6047cbb8c931c8a0a9ca728e0d435d114ab711a960f2e3082f8a3e3d328d8f032bc8c15bdda97e0a4cde72429cd4fb3b0d98be701eab4915f61f1ae5836c602939856ef714116100a55407d2c52c74bd1f4476530b8f2e4b50d185a5d27df0f50ee373fd1932203f147a3516374a580be76960d27093518b28bf288b326b1ab0a14427452356564a012bec2a738a6d1385ce84a64e29b7b7e27410e3c7df8f8a7500657b1e36ff2a8edffb30225c1c1f3e7a06a7b18a129d8e72e22014c12a0d948d4efc5e3a8ffd9ca4511e708a48b9c87310f1172cbcb66d582c2982832c113d198f26c885a825b0d0d070ebf9ff20bf6b9615044a882a800cc76583002ac9c957a651cfd1086b09200a0403fbf8ff7582af5751ad9f16a97fa8370d00c18533f425d42d6e543d13d0e7d7a1d7d298b50669348ec8056eb624e90c1e27aaaf70610bb5d60e7e57412643c6df1c154105582df364956fa050dccf6beaa263288ab0320ca64d3afe5e9eff20af33cabf65799c29de438a53bafffaa4174cb8ed30da9d4f5ad74b80df9e67a27837a0b2270d7f83336a2ba82a64e825546cc924d61a9dfd6ba10a7f6fe07cb48a023f270ade4423d497b6caf8e3c9acdc9113f9276227631f01da2601ccdfcc16f0dc5609fffa880da34e2dbeb354c254a226f33d0e9a95e8b7abb0cce7ff1fcea509841af8a8cd84ef2e15e52e8d9a17b745c3f8dd950242e5063ed469c4984b8b29828f854c3b6744886109fd1251d1f3e276195ba5ba94171765caa2fae7f397f2f8368f67d6b4474800a7eaeebd7e6b298f791a3611d2b95d9620b738efcbf2de6f1427fb49df2dd9537c1509afa74f9f462c16933a26029ce47239f9efc0c0a00cf7c8ede7ddb2a36aa522859fa49954a9de5ec57783b2eecd6320c08cc19c87de6c81ca4027522231a915b0b949636d54c0ebf3c0a6ea2710e947b1b6847c93a4206386a9d88f95a505e8e9dc7a8735fc9b91a0c2804f3c7a0796d767f0c24ba2b74d11dd6365d87d36c426135c172d68143a4c6fcea1db332801fcccc62c0e1c3b86c07027666656d0e1e9c7d8213b6cf60e2c2e84b1b39cc2c0680782ca3be07459e0e94ae3a0e3e3f8f6375ec5fada05b278375ede8a4b00a234d6d13d60c0e03001144c9899249b366961a7338dc49332a4190874a040d6afe54a705be9acc92bcc9ca7a3776679ae45de374999bb017bab81b5640966ab1f3d7ddd88276274902e3a32219d9e85496744a7b71bab5b2b74a075d8dc046874e29716d75048c770fbf1097848febefdf73fc0effcfe9fe3d1fb4fe1939fba0f4d931e17261b1ce79a6c66572ce465ce8ac8f509efece0dacc5582ac65acad2de1d6d377724d6ab11da2cdd22870c7e907e07477e0d5b3dfe798c711decad28628b1329f21d8cb6364cc478062c1ea6a4a86786c24ad8a5659123751e5681189e23af0a582d9c435c5b9d24130fab18303985f8a60fafc2a3a7dcbb46465e48b7a18354761f1d4d0aa1a118ace22b2a280c35980cbeb91fa226aad99bfdb61b490b4e4bd0001c185c9f3483716e43c2b86ab585d7953ee9424c249a975e3f05b441d0bf249a1d61c25002bca6a1a91cb5455d05f987ab8e68d589a5d80dd43904a007b6673060d64e1ea516165258399f32512961df87a403bdd23fa7622443b9226a06e11808a1e451a9303056d5a6aba8870b4a665446c33812cfd49b31e4124bc03adbac439a884aa69bb0e2e6eee1bb6b766ae57cc356f2083bbc45175d37afb670d4cc4406a552df2f602b688d687c74ef221d290b8eb7079d418e622d12b0ee2fc25d1cdf779f40ddf8786eb7e44d4db48674f219e8b429b4e2229849b9429942b0d6cae2fe3c8d163985b584236231e964a86778ab1553af2060ef43af0120d962338fc56629d483432e8c0f98da3c34e297066b18c13b567f1d083777391738216859ae247e00834e1a8c5489a3e09780f8a0c001100e06b48de93d01fa855ee858206d615248ae684ad3747b880cbd01a54645616dae000cf21ba00b7936edb025d55b9f8542a0122aaa8572d323953a9767312d2e9d2983ef2c802029dc7a1d28da1590ad01873fc1a1b50d746a12cee40e73b0065f028bc462f1ae50102073f8f6b86511b21480ac91e4350f8788d360222a114eb45b55182c9ba44c39fa28168406fe8a3e370c1802ebe179346a556bd9dd79ba5913648c0a0561664c3288dee34af6f537620bd31bfa0bd209aed10c53bef24be6332ecf5c457603729b45df67b9d21d33925858c3651be4824fdda220dcc6e3e499e63d5a836f0bfbe9e42886ccb2e92e90846a2b59654117d3d5ec5d9179304270d7c6ad48887868d320fe4d54819dbd5a62c235e2934f185e93c9e5a2f234410f3dbc7ac98cbd4f062b8020b81c4df125088f0d099481543760d8f6192bb7e894a93c7a8cbdd0fe1639d7a25329516ce9369a5785d167ee6c59d0a9eda28e30d7ef7a45f870d322c017cc46d9e89d4b090cbe03bcb45ce2605eea763dae7a2a32ce6774b30cdff242a726e0cbd0903b897046bb55ae5fb42d7644fa65f7634e560ed89add504e8d8d52dd9db69bb397c73737ec95b2ab074d07e130c060f0c9a3e5cbd7a16d552848cd6835641874a8ac70dac9079bab144205257a560b06a9112e1875e3a96b41dab333c87aa0a9d3585d72efe1d5d7e0ee303ef47d7780865cd145e78b9808519129d6619c1ee14d7563b2059292a64b2a610248bc7c2e81f0b60687010b1c2244aea183a46b9deab3574770510ec756365e7020ab11e99c8bfb9fa037cef3b0438018224834682b43c4d42cc524526b484899183e8ecb6d096d0c9e649242a050c8f4c6067278a4ca48e5f7cf4415c9cf6e36ffefe2cfa3a5df02a8fc138ba8385be2d5c9a89ca30ecd82d4dc449f844859dc16883dd6845662b479012e7dc53e0e4c4ed78cfa9bbf0a5af7d15e95c05078f1c161d7470e1fc34ed5f053fffbebb70fffbeec3fff97f7f1e7ff2f5a73179751ebffa994fe1a3ef3b8ae50881a4462f494893ec4508526ac4ae97d2807cb6401b6a854b54389a2cfcd78b60b09b637308c54a496c59c36177f26f46a96fb25a4e4b7d987279133dfd4e02143f26cf8751e03599cd6ad9093d5fac4bc04f2c8f7ca58e86a89473e8e1a67d57b572b8fb640fbcb331bcfcc473183c7c07c6264e10a40c11485a10cb5ca483d763df89fb6051db31bbf49cec69a4288addec3a748502bc8e01f4bbbb91c8cf1158983077f97514335192cb3a41494aee8876760f701e01e90d1b896b1d995486cfad06b54109bd3b8bf12e2f6ccadb914ca5a04bad21d8e3c3feee47317b610dab9967e4eeb74263c3271efe9fb0bafd2c14e606fcb609388c6e3c9efe0a4687ec3830722b4c04a0b34baf23928e1058fb90482f209f322195504363dfc6f65c81602941a0b403bdae892eef8332047ea34af41e10b971fdec8548e52e57a3dd82407c3cb32b8cf95360b26b58448f15a3d101bbcd4a3642e76dd5c16989c2a14e4359762355efe4a2fc3a8e1ca811e14e215738c68763402cbe8df1e1009da35a866d0a6462e5720119a2781d91a6cba223a22f4b953bbf598b8d500a4522ce67cf2f436bf148e970f137e11d7bfa87f0953fff22d6e6af91e559641b6e11ef168a784d856838a596c9ba0a35c182d60e8dc10ea536036ded29e894a21b68bbdc58ad51ca526051072f76a4457c55347753a944326043c64dc50e47b35994e5714aa541e678882c6e31514492ae52a1a7416f6bdeb65d775526ad89523cbfcf0fab452064021cdd41194f3799b738d7093aca6168fcc7a0e642048d675d2b84db88be5b319e4f6805b8093c84509b9dccc3279b26eaf95dabaec6638bbf697727309db451245b6ef2bc467eae8bcf473811b17311238be1f115e33c5e9dd7a094b2d1bb4568d7818994656fbeb51df2a3ba09bf6b650ef6fae0a869542b12e874d0c31bc8802f851af08804531a29010e5ed82e6383c645c98f25132ddcd765c067272cf8dcc58c040022e7239d6f4a83f62be366fc2f476cb22c5854f6cc1068846b3c1e1fd8390289ef6d95e1a191f9cfb7da71dca3c1479f49f0d80db8798f7f782d2785a0ba68287ffdb00513ee76d82828725278bcf9444d8aa719392e221c334f10941452e6049f5f25e81006e0d7c62cf8355ec36fbf99c6599ecf47b0faf87a09b99a2887e6f5f1ef8f8e98a5c85f3a9dbd1edef8a726b2766358476a26d4eb6fbb07395776135b958af64b805d917cb897fc7aa3daed8d46f666b0a2ac39514c3aa1f7f4426d2ec0686ac141c6a917ebada9824d1f44d0d98d22e7afc5590597120cee0aeaad05326a15d4563b7fd7205fe61ad46b50c89af92c3ce8721fc1906900d1d693d04c3c81a151275aea00b4c62c9efe7a9136cb8f81610fe69645a2ef069d570c03fb8670ecae5bb84ec6b1b57d0ef1cc251cffa0134e780914b424398761b4c6089eff000ffdca3497981a979e13b59b4d8224255231daaaf9260e1daf61dffb6669679c987ac58fef3f76153e9b0f1d7d7e6c45afe1be5b3f805b4edc8a54348edffaf57da85932b2126e6d56039b3500afcb89ab4b31e46cab3c6786d7568245efe4f816e56ead85e333bbbe88cb6fbe864f7ffa97f1d95ff92c9e7efe79ae673b3afd06dc72eb9df8ca5f7c03ffe98fff0cbffe4bbf80af7ee90bf8e297fe127ffe95af61e6b7fe3d7ee9d31fc3438f7e1a732b6159e1a8a60ddcd95ec160ff6db8f3ae07641556868e53f41a125a4e13fb8e229a88d26e87649e8b6c20071dcc56136c1da28bb081f33d4f3bde92b90fc9641e83434ea45205444205a9486ba16f88448a488bf660b4b7995c0d3bfc7d6d3b85b9c5303c1e3bfa8226040d39bcf9e21304c40edc72e04e029ea86ca838327c2f0eecbf0db51c30b3fe22efd58072be825c2623c9a18d007160d88ff4e435ac2e5ce3bc126d02ea52dc4e6fb3a177c081de410f6a4997eca65e48a4d0e1e15c31c608321ba86502b00e1f45a91e27f054e170d70761b5db60b097f0c8cffd32e6e74e636ee319dadf14b61317e8cb9ac8a7b76150f33e132174f774a28384b9a3b3134e533fe6b65e81d61687cd7204f5ac1679e5159cb8f3286df83002644a9534e7b7298d087d2127e6f524f177ea2a7c23b191caeabb7da99aa2574ee37f8c6df9090ee5b4a434779ccee3de13fbf0d51797893c2db0a6cde80fde8ae99955982c45389d7e3af865b87de39879b9221d756fb783c0a388e1ee4e6c6c25f0f2b9491c3d388689f1719ce3c47a73661d9ffef8215cb9b00e8fcb81a19e00bef3c616f6ed3f0c9b4947f621f23cc8528a152442eb387aec04fee5afffcf48a7b27038dd3c2f11712143744db0246a4215a2f242885fe960ab6f827c0b154397cced100a193aadc8e856f13a2b526fa05eb34be0a156e725b0114e1ea2764324deaacd0464651ae79c3c76ad46c4afd1e189effe3df4062d4e9d3a0c97c342e3566a0743144d9910a827c8b118b6e9b3ea745844c78d965480d56b8a748429144a26b4681c1d3625b40623ead5a64cb6e5ec05310c8d6d8ef715e3bd4750aee86508a7d5b093b1d230e808a87416fe4d896ce632ef2100a5da476698202089f31a2bb2c65ead8c40ab4f4961b8667d98c6d02545da6e5c10edce952da9677223ea68bdcbcec9cd153937eea7880555a5632b174ae8359b24b0d8cc67a513f9393a71f1bb4842bd14ad488d929fdf67c2bf3d6445bf45852fcea8902038150eaed3a2262030e157f91d83a21d12306b557c9f4c6c4de486d4e476e9218f16bf75c886877af52051c27bbbf458bd96c70641865628bf7a35f8df0edbf160b75e327d11571f77eaf099712bfe3dc186b87321476f26507113e0cc2568b4090807ed1a9edf825f1c3589dc363c3264c42b649ca2a4581809bf51857f396ac6bfe1b58beb8bc412f2d866a3e1872a9bfe312a6cfe317668da89ad4a5c179d41bb1aab9d88b7d79742f14346f6e61d13d1715594f996abd33028b7e0f0d4082e947cbf86b191f713947c08664f14d7429f83c159865561843da021d1c8204590eb1b4aa1a76f8c0c99acbfa1c640cf2d50f37974f655e0703c45769c83c5e5e77a49c3eff2d169ea31dc4307483033b77c890e388dfbef7c089ee02026af3d8137df780e36fb30f986171b537574f88c50faa7e8043388ecf4c18110d7e810eaaa02cfbd0cdb95b2ecc7521173d26246b55482a619446fa01fd1c635cc2dd0f1d4b4e81f1c2500da816f9046bd7b1edf79b60643d388e3fb46b11e59c499b94b281672d09995585a88cbaee742a2e0d2c505941357e9cc2d5caf2a7411b4f40dedc34e218dad4c1c7ff4853fc058ff30099c050a7e3f93e6dcedd0a2b75f909c2afef31ffd3eeebff7fdb8eff461583525bcf0fa0c3eff95c7f0cc99b3d8d7db8de1de7ed8dc2eacae2c62a0bf0b23e34709e415b41d5a99146b32d9489a348846b7b0b474099dbd63301134e44a9ce3b487a5a2125ebf15fbc63d585949219f6b607d250b0309c0c0b05dee26d7eb4a1c38e8c6e666160b735992a9dd3c24a19393574805d36c3e46c09080d72124206af8c1b7fe023d74f283032790ba5a22e03a82d06648eab00cf54d60799de3dd6d69e73ad146ac472fc015a49d153202a1253907d344414a438bc7e9404329f261b2d0b46a50e9d2e8f78f6060b0135bc937094c66683f3c886d6a10ce4ca3bbdf0a73ab1f5357cfc2db6747d07f02b1c826e7cb05f4f506114a4e12d0d40002b1575e7b4af693bafbd42f22110de1cce5ff82bb4e7c9a7e82645b750995e638f68f7d00a75d0f2291e01caac5a1ebd846cf293f1a55235e7ef549d9e4f6668071f32ee35b201fbbf2030ae953c4bf3f0de5dc3470263a9b97a7b67172c088bb0e04102a96d0e7a813156664f6bba3f80afc44910922de52a907e1e806d2350db444fc15820a4b248395f9297404dcd8ca93add2a1db4d15b4744ec936dd345a6f5e5bc7c7ee3d860f9f3220944a229b127d31ec5009b11f655526e38972d7bb3f782fae2cb5b0b33283d9abd3643f8771c7adc35286fa6d3ff17368acfd2594c3a750354f209fb7f19cf332a9b45ea6f31642160a0108ac041b2f4a86f2c0077f017ff1e52fe0a18f7e0836479f3c4cbd7211e5b230a0fbe576a8c1f4224141129b5b1bf07b0fa0abc7cdf76dc825135859bf8a83876f432a9e237b1021a11094a292a7a541ab6c45b4e2c477bff72a7c4e0b1e79e45e14cb06a9c42a9c67951441f452a8d5c8512a5a3a3bbdacf0d169143213dd4ea3b8b1be83eebe7d78eed9d750ccafe2a1473e81e79fbf80f1b161acae95e556edc4fe20815798c774d398a4e07089f8f00e0d50efdb58b07a9705b7d0c4759dac9bc237ef5a9173538047cc1151e9134fa7e1e5e2fdd90113c61d7a242b4d9ca273111bc9fff6b00db7057470e995b8ddafbb3ee17ff7981db7783857544adcd5a9c711a79a80b18aed4894734307afd783df241010df13553787e9681ee6f1fb84d688d8c923a3f88f3cc6318f0e73c99a0431efeb32a0cf44634a501ce171c4820e04fcf8d55123f63b35b20478dca9051f113e77c281a7032519dab9870067cca6967914351ac19fe936c075b74aeef66809646ee7f59ff66aa56a6e2426aa156a9c272e545ba2d36efd1f3535ed1f336ca4d88d73d7761b210a65509556d3560cde2d17deeb4374f3f5ed195e51663c347a8000f535ecac039958278cba1a02ae03b0db46a134ed6029f13409cc32b249c0e956c3cb99534a0660d798e0b054e132dc86fbeed84f165cc0e6ce556c6d5f452a5b85b5ef1c362787904f8c2116dd444f30c8351be1e74d78cfb1c38827b7303753c2e56b7338a0b161a0b70f9727af605d7b86c05789c4a609abcb4bb0f74ca398d4705daab03de940a31c45c0732f86adef477cdff749cec2b068aca8998ab2cf8bcde8c3e4cb5cb39e18aac52ac1d204e74493d7b5045bb085cb170bd859bd861347c77031348b526d95805705a7d50d65d6003b8130f46b589c21f8b177a367588fa94b936856eae876dba55ab650982e91a0896ee6af4cbe81de603fcc6b1bb0fb7cb0597d329ceaf6b9118fe9f1d8f7be8e27bef77dfc8b8f7d085ffdcbff863ff9e297f1275ffe2bcc2cece0c4440c776bd53874cffdfc8ed08ce131396f0bc52ced8551ee969548c40606c7397679e8b5060213171a9155820fdaaf1a4186da818e6e9050e950ca57e58e752c2242c635824e61c7da0d5e7b7aac24811acccf64081aaab0d036eb350ad908d064d2d00eab61b1e9f17e92d499b9457ce76b7f88e3777c1a631327b9562b044fe7080839d78a0638ed5eae3107ca829ca6b790adcde2e21b79a4562272fe45c2699439278f1e3f09b77b10899d0ad2992582927994482a93025065bd082feb3817cd705a82f44f19043af643535dc0c54b4f23570b21d0f70144560b24e16178dc24563babb0e869db4b5a74fb4ec9dcb8f98d97b1ba75050e5d1772d9389e7cf9f3181b1b41407f0f5d43035e8f031aa50915d14bc86cc385d92b3078684ba2a3886ca6a0eb72bdcdbabe5305dfdb4afa1bedff5f577cfd1f102956ff84a212998d1fe022a8546c78697e0d417d1a233e2d9ab515ac6f7a3041f66b34ce72422638b9ef4234a1c0895b86c97e0670616a19b36b255cdb5ec51d078771e770076666d770e5ca791c39388187ef1ac7634fbd048fd500a5d183efbdbe0697ae8258a604bdb34bd6acab1aa2c19689c69f6cab94974941b562124ffeed17603619313a3681acc82c5f5bc0f2c21c27b29313adc8f3f33b5bc3e820fbc86ad6d0d7ddc5c5db82dd2a1a5a0945c8a04c603259c232369c4a4671f1fc3308ed6c636a7a1a57afbe84238702a837e2585c8ce2c891260e1e3a42a692c2fdf7df8ffe815e3cfef8e3e8ee70201ca9d2c8d8a42aa3c154c563df7c0677dc11c4a95343888432646f64405dc318db3782d5a50d8c8f8f636bab88175e7c1e274e1c463a95c2d2caaa54406cf17a85d640aba923b358c4ddf7dc8691d15e5c9c3c83d5d50432b9143636e6313468953335160d433d31284b73dfb83885abd393384dd6944ce6303bfb063ef4a147e072f72197afbf15c314d643d54e78bddebc4ff1cebb248a77dc45b9a191df9e4c85e84e4b00b0b3bd4d06ebc0613e53b11f59ccd3881040d8f9ac1eeed5c92de5422e8b682e271b221eb05b70e0b075f7c075391629bec4ee930016f1781c43648fffe9984d06d424676854f92c857e4cbe0d6c9d0e82215abf0143fb30b50aff9e4596e730994cf2be777676e0e033badd6592d9b7e2d8792efe5bbd46be76cfdfa8f1dc49597a2ac08c9017bfdd67e6cbba17dca041ca1280276592acf8fb6caa8a48a981231e2dc18dfa1dfb07fd248667dfed75f3df65b846b055b45bb18b5261d1564184019b7b65d42250a854bd0d9cbc1d9828104d2d62355c4097af13da5a3f5404dbe313ef8152aa0fcf729da9b171258d42ba03f66002eeee32a2210d34f95e12975eb8344178ccc38887e2048e253abc2849430bdffdfa4529b1de6db743676fe1f0a90041431d679fa1239989225f7c950eaa0c8bc587c5a57902906b74be4324c1313a953e78824618ac4544e39bb87a81ceb6e4435e3d07a5cb88ccb25df6a6f9997bff157c7e0f9e3df338b2d90c56679322c30d26430af36b61e8935a0c0c75c0842e5cbe74014d45169d83b42f750754fa06b43d3b481bf94a890eeb83d0f1963f7cdb046d5c0ffeeaf1afe1fce6b6d4cbb0712d1c3c7a14f1cd1d68145a140b6112910a4e9f388873e7a6b0ffd0ad78e0814fe26b5ff97fb0f2e6393a4d820a2b819bc78340971759cee942de8ebffaf67332ec78dbb1fd989f3d88b317a7f1ca95655942ebb4ea71abe97e140369d9cc329d49efee8055654f1f1196edea1ea163d743a3d342a935cb8a349b450351ac6f840b014d7b9745a38940b15e915577164b3b0fa45657229528c12ada3adce2c6ccb5047fafcadc9c524534ca54c8a4788d5648e08711740b5f92c4338fff21caad8771d73d1f869da0ecdad549ce1a2bc91f414026c17368690f93a82b13a88433a8151a48c485806216fd6363b05b0ee3c4a19fc56ce34d3cf6f4933219d9e2af235e9cc64ecc421f128586b6e0cedb3f838dd51d6ca55fc3561804614629a8990b377175fb15280d0d3c7cdfefe1bb4ffe31c299590222ae6b670687c63e41dfb688f9d55711b49c40b56086d71ca0dd1d82dfd547206d865ea7c0df7cfd0b3076e8f0b1fb3f8df1eaedf0693b60e919c591a36b4827e6a58c43eba60ab69b774cf63a0c0bb058933b934a2966273a34ff1498c89152c896da1b33dfc5d8f8610c1fe9829700a29cd980d5398ca5c5261de00af64ddc8be8ce1acebc3283d377de2591e385732fc2a7b3e2c887efc4ab17a6881e376577cde96bd770fce0102c66d1742bcc816ff2418e41b81d91f89a291461098afe135a3a1821311c41d1df2dfb5118c9cab3e906ae5cbe8c89c327904dc571f98d57d0dfedc597bff22494d5b4ecd66bb42a10f45988ea0d643c90c9b5cd66123ba91842491bbc0e3b9a44b6ad7a94c04434d6eaa3c39fc5d5d9694ea07dd8d95a9219f1eb1b510c0df51100a9108d886dc323d2992e2faf480545ad4654b834100ac760b319d1ddd5c1c533835a751ea19028efbd1ddbdb3944632be8eb73c95091603ea253abd08f2895227474111a563bba3afb60253311f919b98291ac61073a9d076bab2902132fd24951aaa7e5fdc7313ce4e1e71d3c9e856cd38195d50d148b05747404118baf607e6e4d26bb36e968b73693f005dc6f67d88ab7eae4af57d7b4de8529e347bc7f53476191002abc573416e375e07ae2b27056c2998bb8b4389728b5d612c8542a6999d0a5d76ae4e9452bf63ae783d56af97fd97b0f2839afeb4cf0ab9c73ec9c3372e8460ecc24980906cba24c4b9645cd48a6c3cc48dee33dc73be7ec783db31ed956b0659bb2b24c51a6280162040122e706bad139e70a5d39e7dafb5e55351a8d6e829a9d194b140ba70ebaaafef8fef7eefd6efa2e67a92d75bd8d1000512a0a4df852b45063f1388f7fab49d030afc9ccdc3c1472293f7e862cf84432c5cfc99812d935b16b0b0673f49cdc581489b8a5c5ac7f767d2c4c27631d82e9732295e277c7f663fb385d2e4ecd5eb83ed6a42dc513d1944a25ef61c286549d8f229927814ed62703baf8d5c725bfb4bfa4d06138c31327451211cfcb2a808f7ca17b741eab36265bfe77364dc063d4016da619ac19968140449c146fc8e7845646807dca81b85709a3fa1081c98bc8c67b105ad4617260126acd38e466b2f4d3f39c3f23945920451a44758d05d5b355047ee3c8aac648825493e2790102f5381d2b8c2bc949f40eb164f40a9e5395ce91c2572511cfccc0de9281a14cc22dfdfa8708a87a1fc1e5def731371944241944576733f4f91a1c79e335ccce0de0c9473f07bba105af7efb1568a4169aa359187574ccb01cb3e322b4acaf40f5063784d63052c1769a273427a440685281f9bc1efa8a18b209a07fd04bc69412feb40b3bd4adf88fcffc366ca2330864d5bcec9c9176a5542132580e405996c7ecb95e3c72f7d3b877ff3310abad189d98822718823f9ac3b58111b4d4c6a012c7a113eb4866b1e46037193662bc75e20419545388101ad8b3b999ee5f8eb74f77e3cfffe69f71d7b98bd8b0652b9efef44ba8aaa8a7f520824424c3ccd4282424dfca2b6a21a08b17424e0657250f53b3d25716becb8bb2b48d0c32b98e0354afc78d648279d5f5bc73b04456e8e1e5f54560b7c9784f1f8f27c97bf730e6d304018a4822816028819979178da1023504fc5bac119cfaf90f5157d989aada1d181d60a5d922c412014849f627e2293866a668dd25a1a0cf9170122e4f1095756aa448b68f4ff4906cd612f87c172a9106468d162aa51c72918287af22022f5ada1e83b5c282a6da75e81ba2ef17acd0aad40893accf921c2fafab24e01bc4d0d03872490b6666df46436b232a2c1da8ae6cc5e107fe03befdb33f813b3a8086ba4dd8b9fd1e44fc120c8fbf87766513320921e7e09a182740937f029dedf7632a3a42cf43865c485a90b942ac19ca297d2e24c70a978c455605c7f66346d6c7c00485ba4ef7c2047a2e9e847faa9fc001f0f8938fd10373e1e4f77b4939aa68823878e2d3e0f0028271606e3148374356a4bbe08adf1b0ec2d5d78bebd77be01eb98abdf73f8dc5688a263ec1e7b81b8fefaec57004bcbb276b57c2487d902fb80485b9141259c67c282301468b3e9b44200c1e3648d1c261cac9ed9843ffc81c92a454caca1b5157614407592fe74f9f8058ca9a6b45218117d39e26c4428c323982705c0b6f60011df5699a9052aed493190554a458527942fc811464d2425cf3cdb7ce920015e0be7b2d1818bc4640c389dede6ba430c7515b6324cb7c9cae99e5ab043131314c13280abd51ced958534927366d36d2309a908cd1ef63a364a17809d8cc4224268b4b55c1f33f02215a78b400056469c5e20aae90d56a0f29ed2867b7ece9a67b9198718a805f479b96946982130fa584a72156e471f4ade3b05aed686d5b87e9f931d8141a44431e02085152b6719ea0c9947d098d8b965ceecb2a7256090dac5d9923583503851d5babd12c85a74a9e14368e490e3ab23c57838112e6e9601601e3d060cf8eedcb5aafb367cbf6618b93fd6f369b79925e241a2b24ed12f850ab354b1c1b255e9604639fcd142c765661c28ec37ecf160108033a0c50b05c18b6f8350ca0d0b69cb5369de6f7543a2e3b47293cc58e9d2a9657cbe937f63bbbf612a0ab3111b0cd2990e71e838f1c2a29aec51c1f1fe669e3153b4214bba416a96c8af3aa542e7c7b321f2ba71591c216d3baec874c238041674378c18db6a68d3cbf6a62ba0f595aafa99802fe3115726ab2a413214449b18ac97aefbd7109d742c3d8d1b505724d06b3d3713202a290914216eae3bc8f954c2ac7d8c03016dcd3981c0e12c00fd0f3a2f924904325cf430a3b5d7a06668b1d15c60cdc136978a77dd8bad38496968d18199cc61ba7cec3a4b6c3ba751fca37ac8359dd80cbdd6fe2fc855328b736612359e7acfb6d9ee554440808e753643059091ce5914a0ce0b1670f222950e2f8912b704e93355fdf49f73c0da32b83dd0f78b1edfe383c5366bc7ff91a9cc3613cd079009f3ab4136f5deec3f95e27922a23940484f7eddf0b917616977bc67162eafb78faf117d056a1c068648a0c3f21e61d02d86b37a073773bbaaff52012f0634b7d0ddc3127a66667d0dc5887b29af524cfb4488667f1e4c3f7e3debb0fe2bffccd37f0f3e33d102bd59cddb6cc66e5f240a654c16834f312e780df45b253c973fe351a33f4062d3d1737e737f1051679496d22ce0c2f254fe27545e709dca860366ab881a590f93147c61deb082e1189693d09e87804fe49f90b1897113d675684a0521170207d1d4fc5b0aecd00bd5b8a57bff3ffa261fd6692a14a321ee5b4265923433dc9cc29323c9290e6659c66deebf14349b69940a6a7734508840ca3bbef02d47a0f19cd2d1092f1673356f0ca28973b08439505f99410afbff9dfa1d513182dbb1bdb36dd837c52841b53ef616666080eef1004b496dfbff07dc4926e58ac35a8b5ee86636a0127fcdfc68696bb506dd90547a40fcd0d5d10676d504a523436090c8e1f433c2c82545f857bd6fd3646fa1600464ad7528b9093ee3727e16b28b7465fb2d5d61d2764cb1772ba72b49494ea8f81c94d17bd4c89c6755b68110fa2b36507befab77f85ae9d07b9ebafabab0365153bf185cffd051e78f831bc70e8417ce79fbf8570308afb9efa3c4d9851fcdddf7d1dd5d5f578e2f0731819e9834593c7e96b7338e24c61f7e606b4986c487b224b790eacbf00977864e1e424ac45b91201af13bffb7b2f424e8a6560788827b1e649e17ac8323ff0c023e868ae42d4b7959312c9d55af85262581b7671349e942d92453287703a8ea4d0866a5b359cfe080c5a374d782d62d1386b0d0c232d50ad8226403a409658352d181ba2b119d4d5349172b4129051c3ed99c68e9d3b394f01bbda74ca470b480a83280d115ca4c8b424b8b5b43dab546189ad64256518cdb41c32851573f31eba4f0d161c61fa6c443da1ee48788a9475962c1a335fb8902cf0ca20d66d53af579082176088909b5ca940e7f64ec49319127ca430fd73f08ffe8cce29c6c13646053f83d8cc34d65769b0e89b444a60c3fa0d5d9c6a9f35624bb05a4414bc178ccb80b9149997804171e10a50b21276e4d7f09edc0c03096e71dd3340c1decb5f0c14acacde9014014a4999ad4c9c2c011b062a4a7d2296e73194941f3b367bafe51a2dbdd8b9d87b399062e063adf397b65fedb84bf7cdbc0722dcd673e85739e175cdb0cd2af92b05865831076b2c8cc3423ac2bca0e874cb2f352f5cadec71f958b1b27a198cbcab2b27634b2b5059dd8a32b25e9dc16144327e78171db4fe7b792546995a8d187c58b7a51e764b0dad390b66e747690dfb90f16b48f92ed0fa0c43a9200564b7c1a8ac84c12083dbe7c1f0cc190459b586540795ac1ef93459fc7102261211ec157202a311f45d0a9351a2859b64412c6286bbbd0fbd5762880725086463181d9a434be3761cdcf310d464f15ebe7492f68be2b79f7f147ffb957fe44ab5aa4985b9a924e74d89255c981e06cc1a25367776607bb315ef4cbd853a3296925b04084b4608783165a3432e6c072bd2f8d1d425b2dc1da8b0eb30ebf0221d4e20e8f7a1b9b2965bea8e840c61870d6e6f0457fbafe19d777f8c5d5b3af1d9677f0bdf93bd57208cf4c760241935e73b09c162088fdcff28d2749ecb3d43dc2bb869eb7e38c888f9c6f75fc3dd7b36e389070f209088e385cf7c111555b5b874f618cf2951a834686ddf86f1b15e32a0faa125b91c8f47686a67d054bb156e170bbdcc91acabe4c66022e520f9a4463ac6082f3324e31b60d31a21d329b169dd5db87ae93426e6af40a56546818c1b0d22a18477084f677308b0314b66115693f141b8579350a0bcaa1cb3ee3e5c3ffd26ca9a5bb07d5727afc889c7177921824ac6bc772984420444a184bdcc8824c94c99440b2d81ac882bc62b17a3996902ac3984c3024cb8dc90939ccf250bde7d61de8a6bfd27d1d8d009a3b60b477efe5d5c1efb31741a3592012f19d77e18cd75b87bd38bf0cf6470e3da55bacf1842b30ed8abcab063e3a3e81d658626f05eef8f21566568be6671e5fc1532124568a929a3b124bde2cfe1caf51b981bf763c6398de9e010d4cafc6d9ec5e5207ee5772c59961318328235d64c34fb31f3ebd22be48f627181318dc6f0e86377e1bbdffd5b34b785f1852f3c81bfffc6df434d88f961fa5ec25848531902031aceee29c40c59ed73d8befb102289182dac096cefdc8fdafa06d8c9ca7412baec5bc8e29dde28efec7a8bbca5099c0b79912741285599914aa6d0d4f924d264dd2e0c0da2bea1812c917a6cbb4bc833967de130ba761fa4c928443096863c95c5c6fa2628524e9407df250b248c3c4dd6164b152d8446a8491fd79aeb914db991cc24b1fde07ea85809304d7705dc1c4800167ad714b31ad8f43014d5b312404939b2ba722f0fa900617a4779322d1d9def978a33c6551584a20a9e30b96fff3df4fd3e7a3be85d456f17bddb8afb33e0c0ba47b286816c02567f4030650af0d3f9047bc8d8a4e31088417c0448d27145f4bc1ce5b0341fe25b1e7bfb4d8c0c0fa2a5ad7d49b133973c4bf0e44da58aecadcb15ebeaa5c1bf9c02fd30df2f0701cb6bfb57db67b58eb56b65b67fd8eb5ab9df9d7eff65eef5d73de175e57919a709cb13605d8519bb6eb6d499ba48a8b63ca4b7da7526e234e7089c481412d8cc3a528af51088f5a4e0bc8510913200018104894c0e9542012f59c13a8bae1022ad2470af4c216370c2179bc6ec509e7311b1f2cb543ccd1ba7b1c4cb8ada6d08062210e7c9986a17712246a5dc09ef2801f959b2d00d7e04138b08d232d3296be0f1c4492e48e1990963b8f77df81d1ad46f2c87d8388185cc2f70f98a0e1d1b7692a52a86de62c4c2e238b66dd883a79e7a1c6333bd286f8ec345e71385230452728885c970bab2889ded4de8dab817f18804fdfdbdb09974d8b8e12022c2315c1a998277da8d6a93092df796a1677411a7de1c874e2d451d19561baa2ba1d59aa0b75760e2c624bcce2059f855686ead469c71eb903136363d8f7d1d2d98989b83cb1b2030608440a186273887a3c7dec3a79efd047ee7b1369cbd3e4d86561a321ad340288aeffff8083ef9c9a7f1d28bbf07a158c3ab64bc0484ac15955c1eb0068495550d086968dccd65a8ae5d8fb3678f924cef21c3c04863a9439414b75c4d60449022409720b0e225032781b6d6f51093593fe9188248664473d306e84c6a2c2e4e637e360c7f30c63d6f0c1cc69379de183095cc72a6d8003d0f87cb0585dc45ca5b80721d30d3d747405387ed7b76c2e7f222ec9c277019462c9ea473c660aea88642a78796f14aa544f07a16e17446a0895ad0dc524640568c484842867327199443bc6584d3b9082b199252928157ae5c46bcd18ccefdbb49476dc5d8d80ce93219ba7bce1609d8aa30973a4be078141a92e132a50873ee2144f3529a9f6534ff12c88a9278fc91a7e0198bc2e3f5a16beb03042ed5e8be7009124d0acd0d5b10a7fbabaa68e51ead50fc7aa143f72a7265356e13de64b5c8a89dcbffdb64bffe6a7617a6c1a92c67a5b635a8a8d8874038843ff8e32f41ae9043a13660f3d6fb68c0a4d8bdb71553d30e8463496cddbe1bc95c1a1a15b0bea51a06630b4dba498c0ef441a1d0e37adf30ccf41b63d56cd7e7a020142814ac882408c4bc6ba8802cb53c6b1a48c8df37758d90b1109baa15649d2c1428eac522c4422930db3ceef52044a8925577e8240248230142dbb3f0a72da4fe372043424ceef1211a1ea209adc1ec0259ea5909d22cf1cbe3e184458ccc4848e85f290b71d0c0c8d40a1d78d9c4592c7650cd16920085b942cb18969444a85d28ca930513e1391202c11c4f94cc93e52510324644063a0ade0996fb91cd86e99ee73948c8662cf4bf87f6f5d2df1afacd4cc7f2d33e3ee60067cebf5bc7251b87303242a04d819caa02c29086fe96935548202aa12470488b38ab42726e1ad14884bb4c19f2cea433378149897b626539ce8a84d7b59af8959e55bec8792129f688f9752118fb4d7d2d1782a57950facc784c4a9e2ee61d616f5131dc75b3e78d800312065044454f5b89b27e2de058f85e00a54680b8700606753909791bae5e3f476bd88aad1dcfa1a2663b6a2afb08849c8748419662428a50d00e858c0048d48efeeb41d89be62023a131e78822250c9162922342c68d4e63e294ed0a6d1e5152fc931337603157c1a26a84c777098904ad25711924f232ba273bed4372214e16beb102097912f3be31320342b0da34282f33f3f04f54202379a18263d185ccb58bf0c7fca4a0dca86baf4784c04edb862644e2012c2cdc80b1c685e0500ae3570d30d379eb3a9488a6e691f569d0deba0b0d2d1d18183c0dd74402d6a64a1cb8d78040d7349cc38c1baa1ef20531296711e4d93429fd3cca2a2bb94c65c145ad4a888dadcde81b98c30fbff70a9e79e230fef0fff80cbef4672fe2e25b6e1c3a783fbaf61ec0c014019e6b0e52fe71ecd8712f02192bbadf791b7a8d0cebd775e0cd534368acaf8549d5009b8514776b27161c73346e51c4d3ac4b3ab3c853f0799da8ac6e42597913a432291ac8883c7fd142861f297f71940ccd10b46a23c97e1d84ee2c62b9305259195cf3b3902b35d0c8551899e9c7e8f8206c462b1e7be4530807e2e8bbf605021f133c149aa3d116a459de849427730a840cac302f6ea15230cf882a1539b492ad75e5f4190230126c6cab4432e6e23dd202e114afd6942994c8c708dcb0561134769954929e711e771fdc8dbaf24a4c4cb830e11ba1e77501c94488879073621f8c422be99f4efeddd47c1fa4ea1a6cdfb4870cdd66c8446a98741d342664f4452570b97f42f7e78137791a5643277aae9ea771ba02b5b48c7bef6b1aab6154d462c075021b3bee43d8cd4cca205e78e173d049cd38f6de314c85af605ddb3ed25309e444f9dbc29c6b1936cc1028f078650b09b30cb8fc1bc88c5f4960c27200aa6a6ab16fdf1eeef60f04c264f5dfcbf3074284c0ef7df0213e689170024d8d56245331986c262eb4187db2a44c4c039b40a5ad1d7bbab672a1c0924519c53a5b781a2dd06516ac1e2310190affe7324b0ab4109f03efba5bcad7646467a5ea92a5e673c5044b681a91166e819826ae5490e3446c9a6cb450e228cd70af8882bba7b3cb14b090b7192fa962b1a8a4ac73c50d8af4ed45042b10130892a5b9ab3a9f379075c28e952a96585a0ab142ee0191f0bf0504280402edd28494d0bec8ebe8b30962598eb6623d704d28e66597ea504a480002890a79f59ec23565d3bcc707f2646dca680a29aae9f21a61156608d187a12674b873f72e0c0d8df272cd5bdcf82cb1399f5b1584e73fb03aa790ffc314928894172be32edce3c7af5f2760c2d6367bb37951ea0ecdd95d09a0a4d329fe5bb6581e9c2fce136ec9b11e510cb4307642c14d2b6e89486d19d8b9e99ece4322b4112861a1d30026a3b34867bd9009cb4979d673b2448d621b446a01299263f078264841349202d413b88ec33de786d890c0fa36c6c7d384de8b8380340e8b550989d48e84cb09415087a98169b8bd64f99301e2749ce455567234432ea841752b639c69c78df322cccc0ec024c960cbce8d904e0b31eb1884d114c7ba960aa8b30204436608c2acc3ee1029cb09488c01d474c8d1d17e98408d1cbdd7afc26836c03baa454218204b5f00e7880ab6723b81ae3416dd0e180d66d4546d4275930d624d1c619787ee274aca358e782887ea6dd7d17b5a84be1e25ccf66ab4b669e19899c46b6f9dc4e64d2d3875fac75065b2f8c2a73e8bb8548d1ffce0fb506a4d5091d03c786f3d5d631c47cf5c85c31fc2bd07f7e385c3cfe16a9f174f3efbef515d5d859f2653b878fa08c4aa0b28572721b319e070cfc364b670992214c9481e47e9da15bcf99d88041df3d470e389444e862bc3386a6bab7922ac52a3a0711b85512a87d554013929cd88d68be181091225227413d034e9cc5cae6cdbbc1b669d0532a90262a38a27a5665259a8f405d6d94cba60d028754ade29391d2503552640222be0952d063248cd2615ace11806ae9c45969e452693408840498e0cd2f67575409ae46036087fc0070103cb6400daaa94a8b49713389dc1c0fc08c953b64d180a96241f65794d4618d5edf0b23cbfa9d3241f27085c36219d4be04fbff8457816a2e8bed2c3bd82ac779742da0c4d9e4069d089f9c02cf4da364448073a13e7d0b16137ba36de87ee333730b938838de62ec4354e988c553cff6f6ef204cf7929ab68c1d90bafe2fac8196c686fe6e3b316805ffaaeb4ae9658938bc6a940f83130298d10637d0d47c23c4b58ce18172361fe8b422e463c162d660d8353feb2d2e21ccbe047968f61269be68b2049a83cc95028eb89430b60394d4c6a2d42bb4ce90949f0418d5c722bbf2ffe2d2a3e43110b8f2c3f21cbb0e56863f997b712d748b09adbec83c86d24cb54b9b0180abad3e32d1d5fb63c86b5e2f35ad322bdec92c4cbb663e72f0010563dc45ec96285caca9c82022a17dd74812ce7a05825f175f97533a64596e43a3c348cfffb2ffe8257ff64b3f955f34f7e7566f2dae128c10784ab04770865dde9f7ff15d7fa3f7eae9b61bb6c910198838f62592273e7b3446496e4184f2478cf1c56f9d4d4588725623db62fab331594ba4be76f79d6256bb094985ce2bd89c5c2a490a29c02a0dcb61ee1f8301a8c9bb16d573509fd5ec81d32b22a5b90f0c569ed0fa0bdad8914870de3d33d642da730703d821081e0756d15b0dbeac8ba1fa5eb8b43a9f0a3a9a10a26550506c6a3f0cd47d1b5b98ec084138bd129443d71527e0158f593b0544b61f3a830e7926270600cbb77eec7037b7e1fd7066f90d1751e218f129bd6df0ba7bb0f3f7def1d785c69b46d56a1795308d6b216183566e4b506382be660aa2b47634d2b5e79ed7bc812d86ad95085ba660d29c57e64e25a3c70ef5eb2aa45f03816d16add07636b19978d43c317d07b791889b0108dad6ad814f7733e1281288dc6a68d3cec2a2620e818194077cf551c7eea73d87def13302980103d9bd1ebd7a1c8b6402e9c239092a13109e3f5b78ea1beba02ad9576b866fb3899645dcb7aced574e9f46b747d3e98092825e3312e29b2b45e272746209730166b96f391e6f29de51065099492a5457f8b69dc98ec24009bccc0b91080c154ce49267d9e79484512e8d4760849898b583770e70c047909cacaca5057db88da8a46ce73c280efeebd0730ef9c422c198646a3e6b9403e7f9c1b8fac85468c9e6f90b1bb0a0ba5b4010deb529ea4634bd050ae462c1e41389440349e82c162442e91462c328f34c93636cf78f9b14a48c0438a53e7cfd0b9bcc82bc9a82eb792f1bb99c0a00f36d6f7292dc4e4d80da4b20eecddfb2474aa5a025e35d8b77b5b41da4ac524816538facecbbc899e4e5385bcb003e25c25cfb7c9c48524f78c9cfc2d4d8aebd2c51e8c0c5d87d156860597035dbb3b08c854e0cdf78fc05e2fc6c19d0fe3f4a5e3980b9ee1154b375300ee10122ef4ad250321c71393977a707dec31b955c1f0265e1f200e57ba72ff67c5ddefe4eefa4d7b952a1f96bf722b62fc2b5fbc33652ebbe259096fc63af305ef896015dc97c7eaccaf8c619729a645cf22b2fd3924c9e262c95985e55438f69a19b3ff83ea74795869e5f7b77cfeff73ded54eb436425b7ddf7fcbb5fa612eb3e85ecc153d19b9626886b9f34b5e1446e8c43c2731020246a3915753319e924c713f994cb6d44fa734342519b09cd2fea615c88c8138544a19d4a4cc24a48415996a18cbf478afef8f313e310d617c2b34b26a949bf6613e1b42dfc8088c3a1fb43a35942a3aae834093db8ce1700042196364d6a1b6da8e54da0f8dc90353b91ee5490b29ab0c5adabbb06e7307aef71dc760ff1426bc37905ef0129c57436dac41735b1dfa2e4fe1f57f3d8ac3879fc7fae61d98a5635bf495f03bfd38faea182971568a4f008dec29d6f5b6c1be1b064d1d665d63a82f6b85595f87a0791e07f63f889fbefe06d66da82505bb88ebe74730a55b84c5588f7b1ea1f5476b4112af87cbe9e2e59e8ca3c86a5d8f735747a1303a908f9c4375f903686ae984d31bc5e2a20f1a850335b65a9c8bf6e2c76ffd00b1bc0f552a35849e39de6aa3adf620de9476a3736b257677edc5f77f7a0497069c5048b208bcfb0e9e7ae239682d26b8e62f41ad1361c69fc2d963a7a157abe859c6393f12234593c9b504107cb0da186bb78a80a09e2797067d2e52e8460256ac1c3f4da0c68678c4c3bb4b8b241ae4048c04310ed7d4342762638086c9a5faba46a8691fa64ce3f128aff431198c3874e83144633e9c3a7502be800752a9084ab908fe6092d3276835328458b76b126d12021a3c1c4ec6a3bdcc40a22907af3b028f270109a304a073857d412895523a86065e4f90d3e46b330a38e99afca94b746d6a486266cca5a66031b5f0c6a765b646dce83b8b743e80e6753b51d7d8813d9befe1c488013af63b63172095ebe9be153cac9497e5e91e7c9877f543a11622105984c33d81dafa66d4566dc59c630427275f85566f822662c295d1e3b878e3753c7ee805d4d734917d99a279a3435e1ac781bdcf6084e5fbe4226b32bddef61d93ebd9428b081656138a85ffdbd9a57fa58109135ecc1a1608d64afecbf1055728db4c42a7d3f2ff1389f852d9652e77d3cdcbc922b3b92293b5e0364d50106c8587c32a31989b3991581186407e5987d47cd1e017de72ae8f2228e1d4cea1202f61652f954a5924105b1bbc31a5c37e2b79470ab903c2a5f12e28950f4e7cbd9df9b5f09c5809726d1d09e424032699c256a5b00e033ccbe74cbed490e74ef46dab9dbf10d82afdbff2fb5b3e17627db873c79f957755daf7970526c51d6e43056b65e8fccff6a12cbf8312f9dddadb17c0687ea96c9165fc6732853e390c8cb044f36431bcc3cabad5a4cc58de090326421478696e3ed7e27104b71b23a532edd2764a8d908e2b83d4d78e679ffb23986be478ebcccbb87eed1c2949293cf3a7a0962ad1d6b10ed1681cb373a358908dd135e869b2a908a4a821ca8aa1942811483b004500599acb8bce4578433e8c4fbae09c14432e54201a04468617e05960cd2db350ab086428097828cc989f4cd1364a54362410884de152ef51b46777c1605a8fc6ba0378f9c4ff89f7cf5cc2ee1d9b61b1eb20c849907059e11c1520ed3e4de0619e942301a02ad6ef8bae774b1dba87c9aa4f4611092d62dd560b6cd5c0a9735f81d37906fbef7d9cb6671e462dae8d0c6031c03c1d6a580d5b08f8f9303d3387a1de6fa2dc7e14cdeddb0858b939b3acb5b20a4f3dfd450c38fac8823f82b8238626831e4f3eff5954756c4557731d4666bda40c5913baad686b5f8f886f16ef1cf92ede3cf2231c7ee209b456d9f1e6683f8d7b1636b3196a850c064b25c22156ce3b05b95ccdbddc85667129527e22deccdde775100890d198eb3898b1965ba096dbe15d74c11388d39cb0127812c0393fcf4333e5e5b530e84c88464208075972ac01b14814e96c928e67e7bae0c1fb1fc7b6ad7bf14f2fff0d26a64608e0087865939bc018639f9628a41c1ce759b9bf4e0e7b395d9b0c703ba3f079e2b0d98da8a0eb605e846834c9e9ef596a81cbe5e7e0c6666b87d1a2c7a4f3221f63bd29828847884b2317e99e094c254e627e7e04728d1173d36ea4223d18be32ce79af544a3d8607c6515e59814c92e66d5649f3649487b64cba0ac4048ccf6a2f6f400a7106cec000018e34b677ede12d04d4d27202434ae82a52a8af6cc58ddeab181b3b87a6ca3d78e2d0a7d052b701af785ec6aca7fb8e7c3fcb8d7bd6b836cbf3bfb23c97f1df822449fcaba90c4b1e933c6f10b7da8b319e7eef7b3f446f6f3f2c84d259f9e5e38f3f8a86863a52a2612ed4989063c081294526b06432115917712ef418229711224c17b9224a7c176cfb37de789bbbda3a3ada10a1895ee8622be43140160f67a59cf1787cc98263e76220a674be8f163001674465aca4250dc85ced8ce783f176acd5402e5fe4a0602465eccdc68d8d198aaec1bce026a9cf8755874bfd766817e6fa674c9c3701e14db2b6fc1ae6fcff8af0c707aaf40fe14a5813b67cd0be6b80963bc288358e295865cc6ecb4f5eb3767b19f6bb539ec93260c2433a4b9e127a93959629e696b0dfd8bbf4992510b23598cbdef4d295b0e6ca84bee5e5d77caeb0e45a7594d6a607c7de7b0bcf3df322aaaa5a70ad578b5436404a284496aa15fe501f59ee2988457688a564eb8a64100ba4b01a6bd0d6548f19b2f6c7fa1c1025134823088d95257e2be19e8d4125a94555b98d14d900ae5c9b8237ea81ce08986d953068ca5161d322ec1d85c715874aa184b5ce42e02680181dc7448ab86fe022066fdce08159af6b11f68a7a88146e5cef0ee3ecc931ecdebd9dc04b2b16dcf3c8e6d35018959c370842398686e620974ee381c335d09959b3d328c6c7e6d0d7fd0dc809c0ecdc7937b674edc4e68e7d18181c85511f85495f874a5b07c6866ff0a4cf2059e401e734d6d7ec86416b46ffd808b2090d0eddff47e82100f78bd75e4552730c2fe8eca836e870e1c47b04362ca8a9db88e9d1cb48846748a11bd17d790e5ffdd60ff1c87df7e2f1bbefe3a5c31e5f003aa58287e9b43a7321c199141fcb0361460b4b84f52d3a0a9c26721581063d14d20001281592611f296b2d3d7b0901c50c5c0e07046623aa6a9a30383a4d6321424dcd66028d324ccd0ca08a400ef394b02acaf1b17ee8e86f89d888751bb7436f34e29fbff5551ea6124b443c6f845120a8c4022492696839178a8657312e78c2f00792d8b56b233676d4c317881290f3c0ed0e63c119e0fdc812f104acd576dcfde023a8a96aa671fd431c3ff1335ceb3f43006f12c6320142de30663102a434582019dad6b60b5f7ee9cbe8b9380b57c889bbf6efc08d2b0eccbb47313a33884d9b77a039bc01b1d4228deb14cdc92094e632644419c81512d4b5d8b165fd7a68a56ddcab5356ae412440bfa9082c1188d29341dd1e68435d430dcc5a23447929ec966acc7baf7343b1e4e55e4e4f70fbda29152a14b6c9164b873f0626b749d2d5878595a25dba7405269309cf3fff3c5e7ae98fd0dedec681c737bef14d9e3cf5f9cfff3e578afff00f2fc3e3f1f2cf4a5a24dffad6b739e0b0dbadf0f9fc9c90ed777ff753a46c4db87ab51b5ff9cadf60c78e2e545696e399670e13f8b981eeeeeb5c118f8f4ff263bff8e2efe1f2e5ab387af40d9ef4f5e4938f17c9bbd21f19505220024bf1b162c08f59af3c0d8714492814e2637933a6bfba322a55ceb0b1e17159de2b47b8c441b156ee0456b1fb05c5fc829b4a6959592f4f13ce2f01945bbc1df95b35797e5528b08a27e343791e6efebeb44f91fcebd6f3defa7769dbfcaac122dca280f32bbd34f955bc2da53c9c95d7721ba059ddab935f8976f2b8ed7cc54cd4db1fd26de0ea764fd3d250140522276f2a269597daad63291c5bb863067878a88e011241216f89ad2fceb1c0bb0fdf8c83af744997bca222699284731b449936645209749321b3c0f8289216eeb133db64981d8d20187190b52b854665e3796a66bd1cf154125ab50db63a15baa7a6a13630922e190464bd96996a201196c13737068596952387096029491e193987061441d4b62891092930b3e024b05389647a16c2ac04a9a0090e970361ff55b8839318edf143a6eec7ef7e498791cbc0dca407adfb172113fa30714483f3272fc3ed70721e23a38ec01029ec802b81750d1b71c6719614a213d59576b46f50c0626d42369ac220dd27f3708e0e4dc239ebc1e6ce1d08d26783817921b4686b69466d75032aed55f0b8673074e3eba829ab83d7ebc7d123afe0c7474ee0e1fb0f91322cc38efb3660d133823ffe9397603328f1f8430f9312542229f0906297e117574631c9d851093069b57a1cbf781ef621232c46356da782dbe5c191377e8e4d5d9d68696ca76b2c2f7ac4c8304ca438cd3c039f82bc98a35c894c4d636c2060e240d0370381440db5ce8a5192bda9641835d5953c278e797dc62747f1c8038f720aff04192a0902a2e565d5a4dc93f45d1052ce5e2a42fbbacd78f081c7110804e074baa090c5e9f8a474c9186daa6709c37a844331cc2db012e3100e3d78104f3c7c370607c6e9de1748de45780b11c6e2ac902bb16efd4e986aa4501804fc7a366c68c4d6cd1bf0cdbffe01fa664f61f7feede8ef1ec38573d7a131e81199ba026b9999cf853481cbcaea7238e64330948bb1ef9e473134b8873726acaf3561f09a075ffbc67fa3edfde8dcd4096b85110d35b59049086809c53c378655035db93ac07365ea2a1a699ea778759792c6ce6ea1f34592dcab134f6679e46165e87d355e931260918804041e25dc3810e05607f46f38301114e3d0d935b76002ca66b3616c6c0c5ffdead7505e5ece01c237bff94f78e4918770f6ec79fce4273fe599fe52a90477dd7500dff9ce0f70cf3d07d0d7d78f871eba1fafbdf63a9e78e271bcfdf631f4f70fe0e0c17db058cc686e6ec2fefd7b71e6cc59fcfce74739d8719060181b1bc7673ef302befdedefd1b15fe7acb24cfebdf9e63b3cbcf0f4d34f7100f4d1f19614184ad9a46600b04457cc80090374cc0bc2bc46ab0193528e09a3662f511a4b7997e57841bf612951fc3650925f33d724bfd45536b76261ddaa00f34b89b785630a6f51bc02e4570125b7c2a29b5be539b9d7cd6b5a2be824b8edf7128ccaaf50dd826232daadcafbe6dd0b9601a8b5c2496b8127c152a84cb0ecacf935b7cdaff1dbadd7bf56abc5dbc76af9b9b12cc473f339dd44297961815992030cc1ade5e405f059e4bb296ecfc8ec0a40385f88c7afd24d7865be9954ae2625548b6d6dcf91e2d4e2cce537d07fe33852190d4fa0f4f842dc7b9a4e0b9176a5c9228f42ad1163663648d6a800e9e02c2974177c2e3d81183174d628094d1d0cca26cc4c87c8aacd23169a43362582bdaa11c9dc3c745a136aebee27e591c7ecb4175102048f3efa3b50a8fad0df7b152a851a0bb1054cf493d59f661c1e12022d0602222a6cdfdd88c9e104f4ba14aced7eccf625e1189f4690b6afabab4545958dd696045a910ced4de5686ada8f9616134cd54164c4598cf4389149f8a0b7653139c41ac825f1caabdfc56b3ffb119a5bd761f7be7bf1d0338fd0b11a38a19cd5524ee390278b5f099bd58c59d70c1a1af5044ab6a0bfef3d8cccfb71cfb356ecd9d385be932df8e18fdec4cc9c0bfbb6b6e0c0cebd38d0b9174d24777ff1f6dbb8d6778d7b951903b5c31fc4c8ec0c62e1082a6c7a7a78393ade353206eb515da3e21c320c8cb0ed556a1d8111194f808d25c2f078bd9c5a5ea72b4373530b4686fb79bb0e96c0ca5a76b0b07255550dfaaf5dc0d4d420edff0481200b812a46113f42c76fa47169e34cd9f31e37ecd61826278651515d8d271e7f1a17cf9ec1bce30ca74f6868a820a5af45249a20c0424046aac28b9f790a9bd635a1af7702577afab8d7807526662d408c263b3ef1db9fc1c1bb9fc6e2220b2909c8502da7fda3047625e8d8b019c60a2b1e7e681f3e795881ef7df328bef32f5f47c8efc379d227324115ac04b2123919065da3b0568bb1d3d806b34e03ad0d506924309749f1d8530fa369c30b68adef40389ce6dc395245168ca7311151e3f4dbfd383b700a77ed7c043f39711aae540feaaceb785fa154be02417f04a353b3e89e3806a92857342ab3b78570567a4c5895670ecb3b77af25f37e433d26a550ce5ad62ad385cc6a678467cc5bf18d6ffc3df7a0b0d7fdf7dfcb51f1e4e4145786ebd77710e8384000e26df869c1b07dbababa70f1e215ecddbb1757ae7413c20c7301c5bc22ccca67dd650f1f7e127ff6677f4e8b7217eebbef1e1c3b769cb63f88a347dfc4d0d0300f69ac5fbf0e66b305725ae42c9cf3d1ca35c92ee5eb94bae5963c2605ca7771318931bfcaf329e4dd2c4f565c525adc6392e74c9e6b4528f26be699147281986ebf992f74f39ca57ca2146f3c75a77c0f2c9562afc19cb2e695ac09a75696deddeef7c10791eeaf7e5cdc219764a5fb42b02c1bf7c3cec75f3627658ded4b71d8a2d7e8e6b8143d2428f0d0942a7378e26b3abd14d26195370cd4f2100e8a2dd7e9994a84a2628e9880f30f612d8fdb2d7c0d34f7d23ac4d3c318f77e0f1397fc087b439068e270cd0ff05c1696dcc708ae941aa6c4e3c865a3503022ab5c8a948e813372466663f02c4611248bba429c839894bd632a86703c0853851c82b80e52b2c0171c630498d4c86495502dfab0b17913b2212bdc6123161772d8b6e93152bc094c0cdea0fb627d5f84989b4810c84ff0610aba33686d4fa279a31e52bd9074b900cd9b4986494cc8c5a50478d40893d5ae2723a8aeba991b629174169ffdfc61fce2ddbfc3cb5f791f26b31c4d9b809979025a2940448a5f2811f13119bc710d8b2e270c1a1319664fa0a1be091aad0e63e312e8340acccfcc20909b415d473d01a483b874e55dcc3a47313dda077528834a5b132a6b077175781093648d9fbcdc8b671e9dc1630f3f8a1d7bf7e327af7c0f6f9f380177304a725441468b107d4e2fc49e30366fed2019328d44320f83c184458f0f72959c8323b6a4858ce93897e18cd1ac7831958cc2ed8aa1aea60ab5f56d705dba08413a061501181159f45bb76dc5f9936fd0234e12584940a92060239673bafb443206b3a99acd1e5cefb95aa0c92f67c46d8d58dfbe197aa906d76e4cd3b649d45469100a4709d48411084471f899fb71e881fb71f4f59f6270628cc0919a8e318e59870fb6f25a7ce9cbff19cf1dfe2d385d4118556a184c72def78a5036e6c8781d9deec38db1ab88c185c6da0eacdbb61e4fa73f8d8af3351818e9c185f36fe2d043cf10d0f1a3bcc60e45ce80ee6ba3c84481299a9bd5d60e3aa7067bf7ef403c92856f314d800430d985743732de4dd8ef8cd0f805a09298e1f6cc4144737de0ea082e244ed07c70a3b5b10b4a990493f383989b9c43338d1f56ac9995452337c33b39be060ba19f6c519c7d4cb0768b902d2498ae9d5cc95e959515043276e1273f798d7fdebe7d2bfee00ffe840bb4cf7ef6d3bc64ef873ffc31de79e73ddc73cfddbc0dfd8d1b7d3c0f856dc3c00dfb9f11ef30c1c79025a322ffe10f5fc15ffee57fe1bf6969f1d6d6d66276760e5ffef297f83e2fbdf4451c3fce1a568d9315602384dec8dbd17f942a794af933ac970bcb3349a7d3c5108f887b8838515b36bb764ec12adf710bbd38d9399fc91ae3b5aadae30b4858a8eec96145133701ef46cb62a3c9781c8978acc029839b3c3105d2b895618b3b24a67e609807b77837563d9e6065a3c2927fe1d663df96507bc7cab05bf713ac795f1f36b366758f4f7e8507e7ce4066f9752df3a2144b114b2e651ecac932de9f0230e11539a974311136818c5cbe0444588bd31c2f17ce14cbc385b794a20337391756561b24a242b817fcf0067e4cca7d13ece5ebe04f5ce4ddbbcdb67228d55612fe616eb90ba509e4325e9612093d29780529b05074812cf91029503255d33278e75907ea28344a210cd61c142a52000321c47c7994d9dac892df8cf9c56e787c33f085a530d554e0e2b12bb87eed0629bc2fa0b2ac1a9323d7110e11c030c89121653cdc1b45db463bb63f1ec2ecccfb183fd78c079e2bc3c48d1cdc3362a8955a5ec2ca5a62f8bc2ed455adc3ae3df770be21236c18197f1fbe7937da3a8c909984b87a3640fb8a2196a5f9fa4c650a15fe12890a2eb71fffcf5ffe5f242f5fc1a1879fc56f7de253f41c6248d2b8bff3eedba8ae6fc4f32fbc08a14c0e8ba5098eb951bc7fe91f3147b24f981a8752aec6ba2df7d0ff4af4f75dc2575efe3e81b7343ef1ef5ec2ef7cfa33a8352a70f4f8394cb81679286117c963b1304fd77b2f366cdd8c85791fa626c748964ec36c35f2d9c1bc252cbf2f120df34edff6b272d4d5d563746c08bd37aea096c089de5c87e1a11ee412413a7735545615a7a6cf64223c79d664b04291611c55064c4d8c22110b13e0f3f22ec6c108819c9e1bbc0cf9d0a1675051538dfa9a7208e6e73925453892442c9ee5ccdffd3706f072c8037fc08f86c62acccd7868ff1c9e79f673686ad880cead7be8bec7d1d33f88d6d64adaa68e646318837db364e85ec7e0ec59b20be278efed5fe048eefba4379a219758d075771776761ec257bef6657c63e63f43a7d6a1bcc582fb763e8be153015c1fea457d5d259ebabb16a7df3f0f5fd4835c52476048893d77b512e0acc6c96313488a83981b99c19153ff42fa26814b3d52b4356ea3b1d421ed7722e3d722148cd3f8d8494692a12cf21542c639ac19ca590ee60bc05fc8737e98fccc178b3c3e0626cb8d2e5e5abafaa8b0eeaf2fbef8590e1c666626788e08fb9b25c532a0c0c23c353401f3f94a7ce6330a42c3416c2394cd40c5f3cf7f82e74730e0c2dcc3bff77b2ff03c13d6d195558eb0fc11b6fd2bafbcca7f7fe0817b313d3dc38f7dcf3d77a19cd0b7cd66c1a38f1e425fdf008c46037db6f2a67c1f351252a608b464a931b65b16d629f57961ef0fcaa729b4d9be35c4c39e0fa712476e55c5bb8aedbfaacf63b531e6495bf44e27e2d8b2690336aedfc063cbec1a6e55952b14f8ca9c8935b247d60626bf7c42ade096bc8e3580c987861377aac1f9f057b856f5d1eac0e483136c6fcd2fc92f11eb714f49a934988008e32d61cd12d9dae14a2214e6eb900947968710644456cc4146eb329349f2be1da504bd55e7d0d27785b9170d2610092aa19709a010b366990e64c493d019349093859d8a88e83a48894bd31065a3d8b8d90e358112c7780529c118b28114a778cf900d5c5f6f844441f39e4e2717b792a53e881ab2a2515586e1e12b701318511b631029fc981862844a1eb2f62d50e576a171671833d1ff06d7540ede45d6ef8a017429dd17ab1211a1736f0b6a2ae3b8742c00b9408beee38b3036c6606b4862e0988bd69f8c1b6995e5e5a4ecea09d418108d04303fe5c5b1372ea0a7878cb2cecd78fff4302e92a22baf20333b5b28ff94d3dacd714b38c70db0bc388fcbdd5730363e862152884a15cbdfc9a1dc6a267055c6d5825ecf18b6f7c26462d5211e0c8cbd825cd0c3e59e2720a6310960f3c636021f4efcc3ab3fc3f5e161dcbd6727b4b9003a6b0dd8d6d182b72e5ca3635b398f0c6b74585fbf1e32d902377218286575022c8cc30cd0782c82e0bc074ee70481c78d301b6a91a815d1b6b370bb9d045a92049634309a58c866165e021c5a8d8acf03abc50e112b6220d03430380ec7c2144cc6bb391dbcdf1fe265af8c9d9179521801e7b56b63e81d184192c0905892a2f3b3a208e6a913a06f60025ebf1bebda1bc9b8c9a1bb7702354dad78e0c1c7115ecce1a7afff1c49926d1bdadb39370eebe61e0e47d137d6831422d8b6ee001cde49045dfd189f380b5f7016f5959d700787684c1e4547c716c411455dd9064cccf4e29b2fff57a40551c8090433c2caefb8bfcacb90d76fd8cba9a1fef5e83fa07fb21ded75db303ee2819a80a722a945203c87587e14f9b01e8d68834a5c06516e0176ab8d739d4c8dde20c0968738afe2e3bb169dc64ab0c20c3be691e2f29a85b057f4a0fad86382fc077293b049c7aa719855c5049bc1a0e7d601abfcd8b9b38bffcebc254c503534d473a5180e87b8826549ae4cc9b2fd598218fb9c2a5a6bccc86639112cd78485821848615e1626383ff189e7b079f346ee7666c0888589988786e5b1b03c945b92fc3e322fe6b9127020a7562b974226776aec74f3d9dd541e6cdc98c2e048bcb808966299b873c9f0f2c01e3f3e0339c5be0eec30a10013961b71f8a9c33c27a664a92f57ff2548702ba7ec9a052777fc3eff81792bab1394e43f20d117cb324d96a7bdae3532b79f41b09452fbcb866456e76bb91d847d182ab6fc721f4c3184530025596e1d275309be067907e74884acbc1067d364b94b6a959a575dc924528838dd8db0c07c5ce236ca974282a58891e0b6304ec9a0d1d9691bc52416e72d908a26609694c360da029feb0a929118232540856d3329352fcc3635da3791953cac8646d88898ec2dee058dc6596829494ace0b75aa8ce73e2ccc2c209688a042d38ec6f2872016546074f25fe074cda3a6558b86b62cc6ae6609148da1a1ee61a86d0e4c384ec3e5f6c1b52043554515647231b2e13c146a05de7fa31f17df4aa1bef600d21a1f52fe2aac6bd98899f1935028923cb1dbe99e47436d2b0c6408791667b1b838837ffad65730323c8aad5b9b11f04460541b50df2285de9c84634242ca98f5a802a412365885b14bc453b011307beef0fdb8dedf8d132707f0f05d5de8eadc8ed6cdbba13316d60e7b56ded8001406e0e0ce3fc54f5ff9392e5d7d97c08b099576369e3264f42a289495e8236072f5fa65a809fcd55ab478e90b2fa1b5b515d77b06d03d380cdfe23412b1202f199608c19b801e79fd27a82390b56bf7830450341c04b1c81de32109068490121891a4c290a834502ac450c8e490b1aa1d4596647906528596f7cd617c343ab9047a8b188b6e17ef72ccc0a3bdac8297f97a03617ce2994fd2339bc53ffdfd5fe3ed77de4380ae452e6361372952f41c799268be90ffe5f7273136360b893c0c487458f43a784b8f305d8f3f1c4055652db2b94298656ce20ccaca09c4adebc2f0c81802111762d11467df3568ca30307f04326d1a1dadbba0372a90143968ce67a0d3d7a159ae87705485b1a933886559f26e1897a36f10283a08a9f81ef81241ced7d27bf53a066f0cd3bc3360ab7d27f4ca0a541a3663369c4420e4c6e9b33f8238a3844a4f06a352c293bc83413792892882fe34eaab8a89f677e8bb55f066628917887b9cefc057f51b98fcfac12fa6d44a6080979dc5e34bbf316fc772eb8909bee57913a56d4bfb97fe2f6dcf3e47a3311c38b09f7b5016173db0121265e19cd2b11952678a36180ce2a3fee26563bc74f397d947b0f41c272727f1c6d123989b9bc5c103070ae1981569926b6583e457c92128289e52ce428ec087900b0a6671575555f1e7945d0ae30856cd626116a45020fc4000f2cb80b7d55377d7ca31f9f0c75ceeb1f8b0b069ad3dee7ced1ff6f73bd532df3a16a5caa1027749867bda4492425347f61c98f7449692411697f3646a66e1328230f62f530422858ec285305e4e905f8a92b1fd052b188697974176763d0ea56d06e3c3fd48c7a398775c8631b68f14592b92e2291894edd8ddf53b3875e19f09147930375e0e65fc3044ea69dc18f5224b00a9b2424c86889c2c483329a57a1221568c86e75151f90016dc8ba4e84f436795a229b70396320b04eaeb50697ab130ae4056d88685c81578cfce901215c144c6d0a6f5ad10c474b872b19797becb1532a449de301e95ba6a56a522c78e3deb31706c9064cf7a68740e0482d32473d218191de4c9a04a9518efbdf70ea62627c810ebc4830fedc52baffe2b82a418cd3a33bc1e02510609bcce2cfc911c6f34ca5a768809e9a5d202d4545a5066d663d162c0fab66a0c4e4c61832b88fd15764ccf0e406bd091e59dc4ecfc38f4fa0a6c687c0853db52702e862061a12c6d867b5f5c5e32f6041998e858d1a818093208afcf87f08ffff2333c74a08bc05535eac930cccae5989d9d22856ce6f360cbe62d181eeec57ffa937f8f870e3d85a79f791e4d4deb61afa8e0fdb5cca61c02da729c38718533b3b6b7eda0f9328939c714ec16158d890d335393981cb958e81e6fb0401908d1f539490e4471e6dc2968343ace53d2d3d30b8bf138a6464670f6ccab48d39c32d1d8b072eb745ace0d58e631679c2acc33938302c1a400d9248164b516d1440cbdc3ddd8bdf90918c88895cb84b83e789140eb041a9bca102100303ed9cbf3147de1198c4df6a0b96627f6777d02da0935b66edb08615687d185f7b887688e00d2f8742fcc1566da7f1f61ee0c1616faa1d7ea61b7d5d23c5cc0eb47bf8e64340d39817416a51464e3641c96730fdfa5b993bca47ca17b0aa9ec2ce9a82401b108dd8b16d98810f15818d1700c5a5d39347a6dc1739ccdadda4d78358fe3525d9c70edbe66bfa1a11c01572cac1f8a4824f937bb8e783c7133569d482e81928f5f1f626289d3dc1bc59ee5f973e7c88a08736f55b6c4e65b4ab65a232b62f5f044feb69c132c23de62408555602d6f14f7f1eb5703d8f2e7536c40c9deac14b1d4b46fa9719fa80056d8b313152b75f2c54ec26cee88a5d202e91a035e42e152cc375f2c1d5e2dcfc4e708e1a987bf8441cbfb78fdf5ef90d2f7239eee230b5c02f75c1c69e324a67ddf445a348a5c54844ae96f61fbfdfbf1dac9bfe05e1b3559f69d2dbba12bdf8819f710c412170cda04ba648f412407ba7b7f408acb0367380d2589d3ba6625320a39cebe2980da12a46b25e01234a3d2d685a0ca0a53b91b7b77b7e0f891098442a46c344a3e208c33259f49e1fd5317b16bff6684c30bb8706612e5d59b60b2e5c9a227ab3dc6acff05fcecc80f20972bd1d73f809dbb76e053cf7f1eaec5294e951f8f8709d4c968fc7448c412a490d2a4e8098cc47350ea249cc8ce604f636b5733813e25293b1d1eb8c78c778f5fc73fbcfc23ba8f0118ab63d02bac10486a49099bb07bd37398721e873f7d0a7b0fee468dbd034ec7089cae41ee2d9e9d71229ec872256e61b4e9b62c7ac7c670b9a71f0fddb5077bbb188f88095eff22ac150d30e82d081188f88fffe1cf71eedcfbf8c10fbf83233f7f1d9fff777f80c79ff86d4e05812c19191debb157a5c0990bef73eb9d85d017fd0b344e045a226ee4d22c6f4686583c0827fd6da1c7ae54a95057535df0a0867cdc73ceb85d7ef1d6cfb0303b5968be2197c1aa12122009c3edf581397f153ca729c11bf2d5b6d4a2b6ae1eb373234825841c44bf77f2fbf0b802f4a48c90c872d8ba710bc62746e9da8ea0aeb203dddd5711a3b9555663875c2927e3d68fab836f20238e143c29e13094722dcd83464c8df763ce79850ca84f43209f85a5224b804a06812801a3a68c402a19d3c93001a820c4c228d4aa6a6895560237720c8e5cc194fb34eaebda09d004a166acc67215a2a128019238674d8ec662bc11ac4cc142a501026dc65b3dcdabe4972c197ddcd01717ca0c8a9eedfcc73926b70a33de4d54f4b182f9f57c952a68c043659b366dc4a993270b847637d94856851c2b0b78f32b93498a3efc5c91015458b4ca052c015620fa78e83f22af4c3657a45e2902101ebacb2d35cc8460f5e67d05815b0426f11ef48ebc8bb18179684426981bc588852504721230d92350ea67109738a03554c23f5f89faca3234b50aa0bd664726598dced6bbb1f7be43e89ef81914ea0c22210d26261dbc415bc4bb08495e8bfaf243744d0924a2e3387df214d4e521c8d422de904d25f1d1fc6461201fef61a333aa70e5f2282e9e1ae5792672b994cfe15438835038812c01142959f2d7ae0e20051769893974acbb8b00511ac37d57f9bd8f4e0e234920a5b9a111f7dd751f0c46334e9e7b8397ef9b2d5ab8e6a39011a88ba519b92401240d1977921c36ee12c16855c06053627b6503fa2e46d17d63085ddbcbf1cc73ad78fbf459fcf4e8bb686c3492a5dd4f0a498aca263d2c973504f8c548e417219334f08aa27bee7b8ece17c089e3af11983c8345f72201231a854486873d2c6526cccffbf057fff80a4e9ebf8c3ffce2ef436eb6706232a15140406a0ef30b3368efd88ccffebe06a7df3f8eaf7fedafe8be4fe3d9e73e87dafa5602af01984c36b4356fc2bcdb0ba94283aa8a1a38668690635dcef3399e33c2c8f958d75e8d5e059d5e0f29a33420c0e409859718bc53c20c12a904488ff3c47db25f38336c2e1d87cf9f42654d1dbefca7ff89f7d519189b86416d86c5528eebdd970814fae17508f0f6fcb76127605159d182c5b25af8bd1e0c8d5c83cbe983cb31c901aabd4a8ff5adbb10707bb0181b834aa1c0d4ec49b83c0e34d73fccbbc5efedba1727df1f27f0314563bd8819cf059e3fc3520b4c2602e968a6ed27e9bef2d0eb6d10a734745d0b3019caa0519ae10eca3135d5cd9fa94aace02cc4cc5bc33c23995421978875769f4d4c429023b05c53bb14525dcb6828f95a79c8359b2934d4cc16bbc3e73e0ee52c0d16cb923718549cf6f7e3d7afdf4b2693708f177b96353535a8a9adc3d5ab57784e507ea95bf3da41bc550308c5dc02cea5922fe49770008ba2c2623174c1c763ff5101b69c3c8df1e1b0de1df9027711071fb982a5c7fb73e773b7856f96cf2485b00ad3e373181ebd8cc6760d34ba750438929098bc989c1fe57c2456e583c8c807a1a96ac0f9ee7ecc92928d45e6b0637b07d6b5eec6986310998406d515fb91d39b70fcc2df60de790ce1501e3294a1ca6ec6968df7633e781ddffeee05887c16188d5284fc129e605bd128872f9024e53207cfac05233d7364352f726a028bd5864432414a740e6a8588147a05af4cf1fa3da8acb6a2ab6b0f2cb64af45e1343a15071a6549e2a22c8a0bdb59557b09c3df7166edce8814aa3e34ab7ae214283a5c77b6ff74322cdc2582687b182409159c47b10d599db7807d491a9eb9cfcccebd3e2fec736a06c631cdffada654c8de4108de42094049011867124f435b4d6ef83dc24834832874052066f484a63d389279efa3c3a77dc8df3e77e81c9f11e020259529a6ec4e36cfc85042aaa79e824148fa1c264e600c7eb59e4cf54249460727a18070e1ec2534f3d8f1327de20701324b0f30b084ebe85438f3c83d69675d0a9d598181b8141a7c1eeed9d78cb3b8344460a9d8151d0479088c5a15269108d45a097e8a0d4c8e9f654748d013ec6ac80c1b3e822c325cf8fc1726458bea1cf1b462c4a60309327f066c4273ff502dc04ea7afeeb9fa3df759c80501e0a5d0ae5155b09cc8a11a6e7d74460d0b3b880af7ffb8f08648a20975a09400521926561d1d4402c541088ba0eadcc8a06732b64523346e99eb2b88170d403b3a61d6259009f78f6f771e1d23b74dc205dbf9de6418666ac1e1353d308047c88c5d2b0d15ce868ba8f93f4e5444938e6c731e13c4af33c8154348d1481aa459f83e640031aeaf72094f0a3ba7c03340a25f41a35816e11ae5f1b2080e12f5440aee225b965c5b1de65c242989b854c45e27cd106fc1898dc024e58925c2943f8e3d7af99b59b117210c25e4c3014183a6f59054bd9e2cb3d231fc41ac2f28a9872e221a212c2cfe76f89ea7cfcfac804800a5c0af92c0ff3944ad7392dab205f2cfdbe3df175a525a893d6e289079f4545650506262ec23d3103a3c28872ed16d88d42a89426c4b3b308076368b66dc0a8e314cef65ec6aebb3a50deb1881ec75f4314af46537527ba7b4f13d808406f91439fac83979450242a453621256593c3990b3d749c2a34353740add7211376a0d25207bd7d1819b103f5a67548c69238f7ce22e7bd9091b59b8c09c98a57e0917ddb09640931b2e0c3ecfc3c127131eaeb49e1b4b4e2d2b993b872fe02296205e75c11a652c8d2988c4e8ee1c81b3fc6c8f820292911f4260d1a5acde858d709938cce157915dd3d67c86acf91e52bc4e065313c16212aeed2236b226b58e2835c93e3d53bb2d436b887c4902667b0b1cd82c6ed6d387ff60432d13cb21a01fa87dea26d05686ddb0c855c04677002a1ab6390e43bb06b671759feeb3136d28df999210c0c5dc5d0c810dc8b1ed4d9cba0d3d239abeab179eb41024a0acc4c4d607c620a8cecbcbcbc0a2d2d1d3c276d47d70198cc76023843387ff1388ebcfe03b83af7103068868854d5c2f418013d0176efd88b91e939cccd8e92d24d221c0942a3b1c3e35b2480c240470e62a90889541c5a8d82c6b109510222377af330eb55bc63efd8f80c423102bc5043ab971048ca60706400361d6b45d28c7eba46c6f82ac8ea09c8caa0d7e920880890421cb65a0d14fa0e8c4d5f80c5bc095a4515dd9b1db29c0133ae6b8811600da50378f4d17b506dda4863d14dcf4249f3650a3e470a465b1e7b9e54e35a9f13b3731e3a760301ceb3703bfdd02a1ba0925b914e8f231420d0928d2314f262daf1ffb1f7de41969dd79dd8efbe9c63f7ebf43ae7303d396290334980a444519444ca0a96abacddd5da7fd82b6fd5babc0e55ae72edca5695b552c9bb6b4b244d52a420902002090c80016630b1a7a7a77b3ae7eed72ff5cb395d9ff3ddf77a7a7a668019ac6830cc453df4f47bafeffdee77bfef9cdf49bf730d855c08e9841fd974417068e90880d8ac7dd8bfff05385c3644e29bb4b6bd686c6dc0e8c0113c767a187ffd17dfc6990fbfb963c4dd0b9cecec237a4fa3d1eea2af071ef2983c3c7e290f4e3616c9a872ade9a1c227b2bb3b343e0690d4360e6f162e217592a5541119e3f24e5bee4a4d513d9cee5f229f892472cc5464ddb325272a7aaaa140797731f75d12fa6a9fd92c26b436ed4357773ffecd5fc63176f15b982bcde3ab2d47f12fffe035fcf4d277f0e6fbff0eb3532b989ff89fa1d597a0312570f96a143a8b16bea524ba9b697da5cb981abb0ea333006e1ba5959a61357793f25d258552462aa9c7a0771047fb4f22518e209e0962a47f50842e38e137959b46606c1c0d9e36d4373b11dc288826846bcb410cf53593856b47289943687b1b8150106652b4c3a34705bbe8f9b3af8b7c8868ac4400c04d00c440379a1289b0cbcbb330dbac820a5e92d5505bf4b099874899da71e2c923a81f4990c29a472420211b96a0b5e4687cab30c706307a645830c34a9a2cfee6dbdfc1dbef4fc3555f409d33470a731becc52f66a3c89bccb01b1ab1e9f3d31e9c815e3b8b8ede76c8b93429e30c0c3a1dbc6dad181a39018fa7135a830bfeed35022305343a0de2d93434b51228310903a2ced32c92375756e7108d2444026f77573f4c661bd65657b0b2e6c7c0d0094482eb585f5bc6f973e7e1696c47ffc028ce7f709ec0800bad7dfd18191ac6cabe23c8e5f3a2aa92e583dd69875ea5c7c48d0952ea6984a3eb28cd657170f41886fa7bd1e16dc207e73fa0f763348e63049a8cd8f24f10d8927173f606520d453c72f009a835765ccefe10193af7c6e6068e1d1e41241cc5dae22a9adbea698e7be0b197d04bcfb8b3f16904630b908a1aba4703da9bf7d1bf4dd85889c0acdd427fd731f11c2d4637bc9ea330365cc272fa5fc0dd6a422c6ea2fb4c22532070841281d3089ce65e64737148250781d257691527912f4745dfb86c3a87742689fe91d318ec7b066e5b1381ac092c6ffe042e473b81980fb112d2e2c295b7f1c147473176fe2234c66a05e43d4238bb7faf8111cee9caa6b93cbf88874dfc3ec5c139287b05d3bdd8481f1eb73a2d7fda0a3069a7f9defd9f20140c8a64c60c6d28bbc3560d59566e518fe3e36b586ac5ac9c9fc2ae68afd78bad6040a9ca61865995c204ccaf4f1a552d1741ba07e14cadb160ad07cbcf43126d8d2555780c7e55fc25d59e39027432ff0627e4eddae7e239c9771244ddfaa99c271a898ac66c6ac16499838384bedd53444635810f2fbe81b1b364b987daa0927dd01bb490d569148a396c6ff9d051ff7be8694b617ae187d0afcfc16e1d80c5e9c0fcd239d1b3642b701e46a903fd8343686c30e3d8a1976173aab1bc1e122cb6a9b80a63939731bb3e8ed09284e5c9306e14e2486799504e8542b904a3ba8c42a58857deb9085f3046008c73680c3876fc341a9b9bf0a357be8dadcd2d648b3ac135b2b69181d15607a3a94ca0871432a107752607d2c704c0bce8f19c200bbc13ef7ef82df8b61671e8f021da7ff598cf8761e9cca0bddf8b3a1aebe6d2067c2b45043653c812ced9f04d20c309a7f4994a57866f76091e471db4f54e0227592c2e449163c3c02d63231645cc578f7c6a0e567b0ce974045d9d7d387dfa5111c265b2b276efa378e2f49708788d616b630dbe8d45b4f70e1380e2b11bd14f0abdaba31df3f3b3b8313186969656013a99527e7a7a5a709d9c7ef4091c3b7510bebffb5bcccf5d432c1a80dee824f096c4eceb6f1040abc757bef64f91af64e93a4b28ca6a51de9dc8a4095064a035aad1dada82a58525bcffde1b68a8b7618516cdd20a8104025b83fd87091ca509f02dd39c19313ad8877a971767de394b80a14020e210c2b42ee45c1473eb67d9f70be4acc8a7f504844268719f84aae0c1d2fa5502cf79584d2d3875f465e82a75c8567cb476cd585f67be150fdabb46685e8a181a3882a5ad294c5c9631dcf6cf115b3f83add4dfd0fd8fc26cb4239e880bb0cb205ca7cad175e2c817e3a2722d99e2a69366ba8f5ee86c323a3bfa081cd7c3e56cc6daca7ef41e68c0407b0bde78ed1c7cf1456caed3ba21406357ab3e96c76467dfa04a0551529a688a84f292fcb05cf8411524abad34c70877d5b1f21c724219c7321f8293bd204e2d2c8b6432a3b06c92f05491c0d76ad4820a9a232f0cf4589097398eaf529342505589d494eeca3caf56abe9639bf7ed3dd6d7d7c92a5a46c01fa00de8ddc931913fa146fe4e5f8ad26196e3d3c23559511222955a54088650e93ec6e2f3f9303a3a2a424c2c04d92d7af0e041714f535353e2a76838488272dfbe7d3f9367c1f9375c6ace5d9a990fe75e47381c166364be0ffeeee0e0a018f7af84c74452ba7ad71e2aaf597927454fc26e847d2fa0992e70e545067313f3a4dce368e8ac2095cc626cec3cc62fae62a0fb25d4d5b7c0b7de86478ffc2e42d20f3031fe5354f28db019e9d9d874686b398496bae3f0c5983d74192f3ffba74209ad2d4790cd000d4d5a0c0c98c9cae46eac2574b6ba78b7616a6101192c60feda2ae6c7128233259d4a23c125a9b48e1b1b6d686ab50ac6d3d905b2eccb2ad43758e919efc7c12347307eed12c62f5f2485a6412e27715a088d3d8dd50502216d3652f0265aa379e13d64af64a928a3ab7e04a48d4879e66151b9e1918e62f4e09731d8ba8ec9ebdf86465e4168b9135cdbb4327f1de97816896db58080c37ded4c72427bbf84deae0e4138969368bcb1141c8d26d479eba077e4606f2c60e1da2436e6f3d0ebb4a414a7103cf00886696d0eeddb27bab6f7f50de3e9a73f8f2dffd3f887efff15feeaaffe1c511ad3cb9ffb02649556c8109dc32180045f4fa737104858c0dccc04fa7bfb307e238d85c519312e83c581de068fe8a533377f03dcc02f122719b6b4029bdd8a23478f0bc0934885697e52f0fbfc422798557a023246385d36a4131124d312d6373668be53686870a3b5c54cf3aa419de318ac9618dabccdf0d4b5c2e570a2316bc2fa5a8440e85514322568331a020e45c1b5e25fdb84c14a7fd701e151686eee437b6b17eaecf55858f221994ba3a5b30e067503b60339ac6dc50968f908d4ba90cf1891f2f511385a82ae374440d888d6ae66e8550984d673249309ce98342815e8954b925ccb23972aa054d1c1e9ec81c654144d0e6502a44cb2a6936d22f97523741db1f1023617fa7173f643642adb301a35481597e090faab3c40f7e631d9d93f929263c2d54c02a4c80f81c9030bad342df474baa024c2552d5b9e5f7e4f61b053ef58bd3554783765fa49f4df52ad2ae0530b57e99e4a5cfaff89598f0147962cac602846029ee647a387dbe5260116472c968446479b98004a3a4fc8dfee808959548b7901fcf877b998419c000dc7f879de1b1a1c02a8d4f2483eeef007fc24706694a46692aedcee7e675eefa2503e915963a71d8dbc2b39a52cc0c927518bf118b8f1635b5b9bf040cccece8a8ea3fdfdfd62bdcccfcf0b1e14062b9cd13f32327287e2dbdd5f62af42dcdb4afc5e5e17bfdf8f1b376e9095795a008ebb7d9fc1c8850b17c4f9989f656e6e4e7c7e8494d6afc2c1565bbe9017e093db0da8b56af1cc2bd5aa63f64e9777790265f94e52460359f8d7262f426bb0c3e8d8c0f2da049c9a2fa0a05dc7566851b087c6f351e4cb1bc824b7f0c24b7f48270be0bd1f2d61c1fa0a1c4507ec9a511c1bfc4dccf95bb1b5d98d178efe113464b1fed03f8106971991701c12b37369a46a9f22de47197cffad7f87b317be09e42d48101852493aa1543c46039a3a1a6132dac82ace607a611a25fa3bbbcb8aa6e6060192b73637f0c13b6fd1dae4d60a4632102aa2878c46ab12c99ea180461076c904662aba0c7258c7da9a1ed7a73e1061afcefa43b075db91c8ae62e9f29cc89f585d5986c594844a6ba4f53f008bb9017064d1d0d24060d740e06885147b01f57566bc77764a783839c4613010106a69423e9727a5e987d15686b5b10cd3b61681d50212f1690276ebc82562f8adafff211c36170102bd204b6b25857dfad197108924602180118f44c414154b7af8c29ba4808b2201984b54bdaddd387ca420fa9459ed760271a4d4d756b0b1b589ce8e76022c437090720f05fd187be51518cc0e144846bdf7ee3b62ffbbeb2d0470b89f0ce749a8840e88866388459348c6134869b2a2bc58256909a00408506ed2f93a1126c5ce6bcabf154032ea21fbc682edf038ce8f7f8fc6bd05a3ce0dbbae4930ef66f22184b797206d9be07175c155ef414f573f1add6d2864d3749d08963796a036f4c24cf646321bc2dcf20728a2807eef512cacbc898a298f93075f1254f62a2dc95b7d379616a70920d2b3a8b343ab3211602a08f23866ab95550ed116e5c0e1e7504c9161a62ec2a2f3e2fcfb6f221aff8f2894d3b0d593bcd88ce34c384372dc4c63b610a09304174d8db7e96e7a6677559b4a52480b252edd173aabbcc3d6fc10983cc0c16560dc10aab1d1b3a30c981361835071361b1754ea9c54c51e804c2647ca582b36a05af4782989dfb9c573369da587af563c07d5fc075535a65d9195a44b95f0109485278115180b48a5b74e15f45469ad44f331c1c32089e45d36f838c6acd6e8c846a9ec349a83a82681b038182894ca3fbb9e043560c41ba15ce4fbd6a1b1b9117a022b1633c78003b037b5c38aace848a9a1fb7391b2549773882632821b40a5b6d3b8b708a5e7c4a689465324401cf7e91dc8c0b7b5252a0644986d4fdd3c6ecb0ab813a4dced3db93a7f956a4cb48cfb234a6310c099faec2ad68b1e1d2541afcfe0847fd640c0d2d292f06a8c8f8f0baf0583959e9e1e6199ce10c8e2ef734fa5e1e1613116060dbc2e984ebdafaf4fb007b3f785c105b747e8ededddf18c705b84d5d555017e180859ad56712df68c3018e270d5d0d090982b8fc783cece4e712d1e139fef5723945323c79314064ada9782db84694ca59a25a73cf4bd497de2df556fe9a1fd07f1c493fb90212b7936d08c726e19b6c67a940c29144a2d8867c3305af464b576a264fe00abbe55d26b3aec1f7a04667b12450229d17001814002a7f7bd0cd3e3318c4d9e872fb0015f288ad6ba47683c64cdd37f049d76d86e034152c4fa41b8b48711d35f87d5a34621a61325aafd838d38706404814d13adc3253cf1c89330198a98989f432fad9d2ced978b17ce639df662a1ac1389be3a9d4aa155cf55689756100c47d0de69c2e1a7c99a3796900e5be0f36fe2cd77be2baa65fa7b9c4865a328d95630b9f80e26a623a8e49a50ef3d46002240c0c607df660691681892b622421b017f902ea187d7eb4032ed43919947494672e7e4a0cf8fed6d1dec010bcd451a8b9374bf3a1925d27b59c92072315ef9871fe0c2c5f7b06ff830befc1bdfc0c8be83a46439f1b503dff8c61fc3e56e403295422611c5d5b10bb8323686ee9e013cf3ec732814b222c4c31548668b192d24a352f43dae506920a0c2fc479ec646188c16ec3f700cc1600897ae5cc0966f1bad6dbd82aa5f4d73c47b8d560966e72709c4e9e0a976a05f59f481d9391c750ec10acb21b0747a9be47f2756373771a8ce85d9c99b28a92a306881febe2ea40bcfe3c6f5095a777a6c05a74543c442c1096fdb303daf3ac1bc1b496cd0fc69f1c5e7bf466394681c5eac6d4de0c2d51f1260dca2df87454eca01cf1174d9f7e3fab5332811906c6c7f19315a3fbeed735019e919944db0188ca252a9502c12204f21918a139876a2c573106beb5768cd5d83d7f9a8f09484c26f21adba01b5de46884446be98844e5b8481f449265646419326106ca3b56cbecd98abed93bd405ee12b51c8d5d4557d21f6d0fdc4c71f0293bd96a94a283b16ecbb0f6e3a974e476961ea91dcdec4a5ab37a1b7588585b26fa41f05120e3a8b05d1f555c40a64c5abe94169ade86875893a7c4966d76819163ab79c8de0c6c40a1ccded68f65861a6559b4d91352dab49a91b51a27315e80172c883dd9276a703f9749236aa8cba867a2c5ebb8c404e83fd23dd64719460b5989026855451e960569730717d018da4f4dc260d8ae59f0d325589fc8e9c08e3a899e44c96aac94d49986d75b421b4645544a0b7e96941544467667681965311f80980d89c75e8f07a76c8c995be3905e1ee6320f849889a9f93aacada09f996076a574ceeeecff8e3b4d6ad2e7ebbdc28cae6fab8c348f7c5e024140a89713080e0f5c3bff3bd58685df0ab166ee1b0097b566edebc2900038312ae0a628f0b8311e68e60ea6d0e1171e8873b57f3dabc78f1a2b856230953061c0c58392c54eb35e4703804e0696a6a12e763cf08bfc7a5d5ecc5610074ecd8311c3d7a548015fe9c810d7b767e550e9e2bb5205d530b21c9eb57b0bc42e9015323eadbededdc01272a258da91855a3afad9b94161932d29f90b2e352cb4d021d6495c73c68328ea279c080eda08e9ecb1a7efce3bf4131308c3ffecfff1b8492e3686eecc540ef4952a8454159ce7920e3d3efd2893db0ba65ac852ec359f7146666fd181df5d2fa63ba744e20b5e1d75ffa1ab6c90affceff7301e9844ceb8af61dedbde59520d2f129e80c5674b6b6e01b5ffd1cdeffe8477091b5eeaa6fc2e2ec22e6e76ed07deb041f89e8b65c92607113fc491138494aa2eaa4c458455d40366e463e69425d678c94520c8b8b0b5099b304bc8d88cc6e4353f6a0b7b315c574493095ce5c0fc0b71686565781ddc1d53d8ba48c488e5a0c74cd223636e760262567b45a444b801269f258a244404ec6d27251c831b5b0b864760e8947512e91dad7a81020651b39fb161697a6b1b9b186dffced3f401ddd93451837066e7a847c26490fa78058641d6b2b4038b85f84b6b8794ebe407bae62a071b968dfe9089444106720bfb1822c19a2dc25786a661ac74e3e25e6eaccd937904e11788ca84811eb44cf9da17d07a02303542ee504b1632a91142117bdd640cf2183743e0ba7db42868607f16d59801f49cdc62d196f711f81d3491c183a8c43435fa4b562c1d6d60a19900e184c1661446af55a8cee3f84b03f4eeb619a9e6511e73f1c87ddeaa6b124e836f4b0589dd01b488e147568f38ea0c9d547f7b98db68ea3589cbf82f7cefd35ca2aae30a47157dc642456a035eb51e0fc981c7ba793f0b40d6164f0f3d8589d86cd631086d8c2c63592d96424abe9b91a686fd022a894d5d0546c30daf268e9d46273b644a0d3477bc54320b353c0e59a8cde4d3fbffbf71d405faeec34ee6379c6cf45ad513d04269f4678ddd5da921476c8429e1622097e8f9794bf4d87b14be7b1449b72706410c5f006a6b7521821abd7658ce2a7af5f84caea81c3a2a2c54096efbefd383ee246606b155726e7313c328281ae7a5c387701191871f4602fd66953fbb7f3a4dc55c8d102e91de841892c92a5f5144e3e7210f1745e28afa9b18b8865098c1864916ba1313be1711830767912fb8d4e128e8d2866f23f5320b71326a890b590ca929564a50da746827bfd146941123061af90a3ae99ac3d159637927038b95c2e4d567e0e66a309db89ac420b5eb9ffd82357d270bf2266d22cd7404c159d634f13bf4f3aa3bce331916eef9d533d950a954fccb3e13e3aeccd6085cfc081010783016e5dc0c0a0e649e1ea1f06020c5cae5ebd2afa230502819d3e3c0c601854d49a1bb25765fffefdc26357f3b228dda96d02e4303861f0c30083cfcdd7618f087f97bd27274f9e14eff3f96a79257ced603028fecd40a516f6f9a507252a855341ae54f7b85ab3139a95aaf925b51cb2da7ebf3d34aa7cf6da4ffe0e43a387d1ded18cfcb603073afe6b523a5e681c5b78f547e7b1b6b109537d0b4e1e7b04cbfe2c52192b6c061b6ecc5ec0d2c63c3aea8144929fc7121a1dbdd0dbc9b8d00d22a55ec526292587e6281a5d0428db5c02b6b3c0df8ee6e0a2bd5d6fb6e0e9e75ec472f003dcfc680d43bd877173e61a96e697c99031409b89a0b3c383fffd2ffe0c9ba12d1c7bf40902c8115c9fb88268b4245a2d586d0a6960095a38bd46e8c215e44931eaf412819112def8a61636326a86478dc8c50bf42a2144c0cbe04fd05e33c1bf5082c36a432213c2408f097653017d03fd9899388b2081088b490d13c900cedbf290b24e67b7090844691ef5a20499771437f2e4fdc08adba8af80f554a1ac788cf5c29bace47a9118a127a3876494100c07f167fff65fe1fd77dec2cb5ffc759c3cfd14ba0786a1339282ad140960b4a1abb38bc020194004205e7fed159ab718068686f18597be0c9708d984081cb9e9bd51914b7273729c64f5080c6428245269da1b6e347abae1aeb3211af661fcea47989e99c473cf7f09c74f3f820677032e7d7456f439cbe60a22ec65b5e9440e22d398150a2911a632e8cda2f15d2a9d201925d38bd4a24c404d672380354e80c18003fbbf40e32463ac1447a6101421c6d69611d81bb438b9ff594c5d5f24c3b280a5a5cb047ca2826345a67bb35ab9e9e2005424fb33aa6d1c38b81ff98416abebcb04cd8230695da4492414d511140930259251c4e369180898f50f9f8655358852718a9e8f8eae6fa6b16a1009af10384c215f24e0ae0d13a832432335c3616fc2407f1bada9495c3e97876f292000716f4fe7c7a62adc06ecabff576cbeb2c82f941f12ac3db8b2bd5bfc5e5dcd42e659566bb4225ec6fd132cba326dd0328e1ed947ca600b1a0221c79abc223d21e40f426b73c34e1b7e6e668d1eb209730b0b181df4406fb6e3d1c156a4b637f1cebb4be8df7f188dda0ccebc7f010d7d43649115102270d23bd482733f7907b686165809fd7ef4febb68ec19417ba319bed555b26cb6b13abf8da3cf3d8726298e0f3f9ac2d0a123686d72d3a22cfc2c67aa5abda4aa0a73a9eac190904ec691ca164860184558843f3790c2cc9322cc9185eab6d86171a945582b499b5b553d077b4d94b9ffe445db41ca9e5b97b3b741117055df8b08ebdc995b22dff5acb7bfab7098ec8a9bd65c8ef7b18758f9f3381864700e0903070eaf7032eae1c38777125f6be7e67ff3f76ba08201067b5218d030b8e0f7f9f35ad50cbf57739532786120c3d7dcbd56f9fb0c56f8baec41e1cfd86bc3e76000c4de96daf958d93180628fcaafca51292ba5c11cb0131d85abed06a46aec1bb2e60e62b53b89d624a4308b1f5df953847e48d6e976030e0ffe3e3effe409783bdba0238b72f646184f3f3e426b5cc2a51b6624b371acccdfc4d9b16f0a2af75cc18f0f266290f2361c3c18416072034f9ef81abc431da4945f80533f0cad4682c1a8ec05a67d6b6cb090159e45b990447b4b139e7fe1eb90e36f02590bcc64793ff1f46364e16fc16e69438a14ccfbe73ec2c1c30708403871eefd0f108f25e16cd4436b60aa7a373d7703f4262354a4949c8e38c26b51847c64596773827a9ce9cee7e754e8cc3b49494550d6e530778dd7a102d337034191ef51861b365513dccd16a8759784757ff4d810ccf646928f41a482154462160208193258688f4b956a123c7658b86d7656e265f8fc2970b7108b49691fc0f281018b4e4bf283deb35ac9a021453e36f63eae5e398ba1e123f8b5af7c038f3df90cac769b08e1f0de585c9ca1f5af472615c3a5cbef636179961461114f3df91c01f412a2b184d867870e9dc2faea3ced972496c918cc130a6aa86f449ddb45c0488b013abf8dcefbd64f5fc75fffe59fe1faf825fcd11ffd539abb3a91e09fcb90f54feba7b3af1e751e27029b3e5cbf314e72c94b7bb34ef4014bd11886868fa2abed292ccf5ec2a595b7e10bae6068e814a48a1a81d0323ccdad30abeb11d90e43e5722329a795d605044263994584a28b70b85ad1d9b60fb22a457bd84686c5169aeb9bf1d20bc7b1edd3407ba28fe4ad0aef5ffa3f69c5440922d1b315de9c84f04a591c9de81c1a11e0f5d2f56f238d69e1edd7485aba8f28f2644071d82893ce8a0ec25e32ba7504b686864fa0dd3580503e863ff92ffe18dff98f3fc48717ff81808af78ecad5bd20a556c9c692b9582e8a5097703b4aaa87c9af0feee69544fe02876e6ab288e750e922acdc5a9e698769e1b6136ad4a73645fcb8de691731628da68ce876042a9d558461dcae46b4356a3133bf822259e44ea78d404b9676a51e6ebb03db815591d4150ffb51541549701809ec5860d3a7118ecb3091e0e038296f640dfd3b188860e0b807527c196beb01cec9824c9b3b46d644ae988089cec90963dbb1149a5b6cc02774ecfdd449846585fada64d2d3c6ce9020a53144c3a894c8e2cf10f2a645ae2d64e00fd042d719918e859026a56f20e518f26d224b56bb5ccc913595dfa9ec71382c22f995f3683ee9686e6911dd89b7b6946cf91a6854e8c66fef5c2bdfd37372ab29602d8423576e95ff8ae42e54ee2b1cca5e0756f20c0c58383230e09f0c0e1840d472956aee4ed1c7853ee3ef7035cfe4e4a408e3f0c1611c062bb5eff0c18294df67cf097b54f87df6c4ec06269c33c2c083cf75fcf871516dc3e7e4dc13f6b0f175785c7c703eccd6d616babbbbef085bfeb286702a55d02af2f1e85973dc5ba91428df16bedbcbf85afbb702c069dd6b2d6484ac89509bc3dc861ce671f6c2653866f5f4dc2a305b08745672d0aa9c3846823d57dec69faf9e2105338703fd8fe39993bf8f3357be8b623a0f6f7b1d16d76704c9d78b8f7d495c2719cf8a675c2ed2bae6be702ab568f266b56a31b77a53bcc6deb98e982f4aa0670e0e532b7a7a7be0f793329255989f9980c3568fd6562fd67c630846a7090c49187dac44d6bd0bab536a24c96889a772d059e3a2536dbe98878194adc969121ec862a982702846c690119d9d6e24d241147269440940186c66317f56ab0dd39361b2d6afe2f4634f60a8bf07eb33b3f09011d576588ba99b597cf4611406959d94a09d404f060531c54ac759c20e22cf8543b8dcd997df733a24d86da468559c2cc91571656104aa556ac1c9c165fc3ab71589541e539397c9e01bc30fbeb70f274e3e8a2f7fe57771f4e493241bbc489141e0697091c17818896406e357cfa3984d90b11743810081ddd140e7aca0decde1143352e99c08f934d479e022196d245060345b61d08de0f09120b63657303d3586ffe57ffaef70ecc429b4b7b5617d690316ab918c10b3d2ad9a6420f74b8a6ccfd3f38bd075c958a1b90c0703042cf7d1feecc1aaefbb340366f474f703050da6e6c3b03a1da8777521420044a32bc28a469c3df763028d59b89df56869eb24b0d48dee8e119433322ecdbe496b690175aecfa192716293f6b7c64cc65ae3006ee81a849785ab09e39110b2851c8606bf8abc14a2734b18ded785fe961ebcfa56909eeb01946366dcd81aa7e74da0bd20d3bd3869c633343746f40eb6c0ec0c10183e8672fa309e7be179982b230824d6b815a652cd78975e52b7f5c9d96155d6887d57eb225f638d7d084cee33398e4bce1289b060c6db5d09c180c54c9bb450c8c3e16e84d79dc0fcc40d42b53ab4757ba12545d2deda21fa187058456d72c0d6602784ab81d5edc1a103a4548209fa4e13091c096d5d2dd090126e6ae946ff900dcb335388148d78f4899328e62bd012b2ed309449e1eb70e2f1c7440cd51f8e61f4e811783d3694b50d686d2f9315acc5daea1afc4bab686a6fc1815307115b23f45f20eb0af69fa9c784e7cbe5b289c5c6f92615b26638818c05295b420a4191e259a910081149505532b468382c90b3d2b7a842cadb428addfc40d9da7edf966830c5a18bdd166e2dfdf5fe1af8c9b785a5e41a40a92540de27b26710c1608041127b4b781c1c46e1fba9297e0606b54d5b5f5f8f53a74e0930c36082bd19ece9e0bf6510c2c789132776ca78f9fc9c14cb00889516831d06227bc1d1934f3e297249188070b22b7b56f877fe7e0d20f1c1c9afec31e1ebfe2ae5977078a02c7a7528a11db92a20a56a93bfdb62e377b10085f7caa2a75513865edd886cba84f1f97f8f0b937f097db917cf3ffe0d1c384002bfac78a6d8f3d1d1d485eeb60390526e34d51d82cfbf8247f6bd8cf393dfc1f75ff9164eecff3206467a058d3953765bed1ae101e0b5c4fb47780469ac263260eaddf5b8787305976e7e0fba4207ad813aaccd13f09063e8e8edc5ead215021064e0e8344821009d790d2a6b01e68c0eb934edd58c07c55c00b15006f1680eb6a6120c6909c93401846c05360ded5d8de229b413108a4663686c6ea77542468e9c20e3a74086570edee6063c72fc2836379709f804c82a2fc269b383ec26bcfac3eb381ca7719e0d23b445f29296b35eab131e04b54631940a25097a899b28568482237b0c568b9a14b0041d7b4eb9fb38a3104e542ea948c997844157aa9444118041cff2d82088d066e6c609804fe0e2c50ff0ccf35fa47df398285e60cf07037c8fc70b1b7b06c958da78fbc758585e80c55e8ffec17d686a6ec1ea1a13b779512220984865084065e9731bea1c76aca71268f176a1adad85c691c5cdc9295cbe72561448b4b6d5918ccb09be1306371c7ed21150311b253226c9508b274408259efb90d6c779a80aa4278c06f4f60d62a8ef88f06a2c2cad607d658cd6a59680b29180571ac7475e2259bf8c6c3e069ba5118f3dda4ae0ce84a5f9288d8f3d666d222c554859f09defbf81442601ba34e6a7ced17af4c1596754ba6d1be91e7b8ec261ecc6762e4473c5e17690ee3a8406c729328afd88842744299acce1334d1a3aad830c5d27fdb4a39c6c2090ec4363470ac77b3e8778a800bbcb44e06604be8d19947619bd7b1992777b5054d58a1ca57508edbf829267f210983c6018c74a8b4bde83e86ee54014a0d29a71e2d1d3643554044f07bb09b3f9a2082f70a677635393788fe9a039a6c30ba27f781423fb5582b531912ea2abbb4d58b1765afcacbc3816ac9264d1408aaf5d9125d493502b9085e2aad30a65db3fa424e9a59209b21a1af188b79d36a8168d2e42e65a1bfa7b9b118b2650b76f14047f91ce16ee60e7fbc7f69a70091d97f97209b0e2e9901e08dcf0c1ee74f6bc3c18c99a84d75efb910889b0b5b89b04ebae3d1bee710eec023115f996e7e4be9253f61c7bc3227b7fdf0d243834c3e0a476f0bf77ff5e031a7bc14f7373f33dafcf6b77efdf7022ecbdc6faab14c6d9f19c71c93f7bae544a3e89923c5d4be4934527e2da1aac85cef6ae2283d1890602c351ff14925119fa621d191876b88c1eacfa2770e35bd771bdf710da87ac585a27a5236580bc13a3fb1a31dc7e1a81d82a829949020a2aeceb3d85271e3d49a0b39bacd6028d4f2792e54bc50accdc9f45ad087456ea791449a92e2311cf92e2f5c2ad1dc6c2dc1481814db4f7f408d2b11801099dd6806c3986f9e905383c3a18ac36944806f9a6087898c95c2163221b2f90a0d62013a4eba9d882550bc99da1fd64261051281721d37e56a973d8d8dc26e54eef89666e05343734e3c8c183383032049d91cb6f0b644ce5110a66502299a75117b1355f4468a3a4e4ade433a2ab3a573e9b0c2a51ed56e2d0adb60287552780068751d54ac1369d4b4988cfe72ac815f8b99415865eb924aa89f464f94b1a49541d7232afc5c6448932ae4f8e63f2e6245abd7f8b81a1111c3a7498d67f0b0e1e3e467bc780ebe357e1ac6f44433e0babd98cb6e63ad411584fc4a2845964e1d5d9f46dd0f9dcf09291d942df9dbc799d805e1e3a03ed4777034e3d5287b1f16b48131868eb74d09c07100ea74418daa83722954a331316819b34cd2901816c0a031da358f24dc1bf7e194d2e2f460f0c221a2ca044cfd3626d42933c0499405196ee7b66760626323a87fa0fd2b3da27c2c95c369e4c55685c1a984886d81c16e85456325eb5c866c2881218d126091486aec0e6644f941a6902618f3cf612acc6412c12f031191ad068ebc5c485195c2cbfa7f41a8a6e219eda2015a5a5f117a07592fe21e0d9e41e2030d60a8fbb179bcb155c0d9e43c7e7dae85975a1e0d5a2bb839b1ecede4671b0d74bb21bccb377ad5c2a29bc56fc1c51f94ce8b47fe1734c9439be3bdd2e0b329ee02459b77b0fb66445fe40a17887fa63cbfe968281d8a88a72577e3248d97b94aaa729674b772a545a40497a25685cae66af00408140d5cb532c5505ebcff6e98b92dab212f66077e6fde687ec15f4ec4a2f16cb0f74edfd6495c648a070133ff6d0c83b54e2f726c6c21e0fca9dfd8795cec2e55a5848a101bda36bf1c3e317179954aab11cde1a0c42343acd4ee84fa964ac54018b7417ef89f2bdfddd8fa3beb58e2c5d3f0141091ee34b181d1cc5638f3c8257df7e03efcebd8733a15751b83a875068150e7d2ff60d1fc791819338c8adedfd3a52803a0c7df17148a4c4dbdaea61b2b2d8248592e2ca922c295f0d6c76b5588fec55bc39bb4816bc07a37dfb11d89ec799c26b985abc003961c5fff6bf7e130b6be3f8f11bff9e005233f2292354252329cd05981bf27011362de675886de5e14facc09636891c388391f39e38c15412446eec65118a90fe73d7bbb01d8ad3e739b29ae330181c0432b45091b275b1e78d4ef0e61bafc3e6366274e81029da040c26235c76020a3a523c851c813715293af6f86844834ca603319b352287811da5360b37ace3701a877320aa16c59e93947c20a6d767592ba94ae2da069546e42ab077ab24ba47480abf885a491a3758f448c7e20806d7b0beb92464c3f0f03e98cc0e74770fe2c6d4352452311c3f769a14b585804f866e97001a5da748f7c3611db389bd3059343578c940b5d3dc1be95a64e01160db584f88045d0de7953474103828083d108d67844159a6b9321100ca97c84823c3d44cf36134d04b6b1461b2ae8ea328a508e8adf8e83ed8db6d259d112583a591e62946623b4140a205972e9cc7f5993378f1993f80dd2221b21da495d18c9e8e7ae86125301a46591b4657bb0b765b1d025b612c2dbf41c0a52cf25b52095a3fb61e7a9e3624b3cbe8eb3b40a0c78f62c6049dda4d40760c1b6bdc3727c81497b4dea26869afc7e8e8d3d88e14d0e11d46676f37b4c54602a59388447db8313d038d5c87c6561519d56e7cf491faaeb9257b8d42418741cf5e55cb1f14c56d2ac80fcb851fdcdd2bdd4e00b96b92e59fcbf11645af0ff91315f2cf2e2f4709db943fa57b8ead0d7edd4f6e49ede0f0077315b0400afab744026d0d98dc2bcdf5e3bc360a7785e26ac45e8af287b8e497ea109e100e91709926ad23ee36cebd7318a8d43a4ddf2b662ec260ad5d38f538818a721d6667a731daf9027ee7374e637aeb0c4ad212fef91fff336c27b7b1e69bc4d9f3dfc7c2e42629d63134375bb138bb896902193a950dde2ee63a8aa29c34a1dd1b4386f6d0da4a54849a241529e4c532ec0e3717bc89f2db0d8d0fc3fd83f8e9ab17118f4600b2d09beb46e076d6e1d53367e16c4fa0a5e930666f0448d12560af37d198cbc8a5b328a675847bf2a4b064e44869ea3415184d34177954db382821942cd947c94c0126539914abd869a2ca44afe17d6e4545470650700bd1584478857ffff1df874c96beda2ea1d7c221d557086070482a47c0a32212300b047c7219faddaa82c5aa12e762c0552c92d28d7118a9242a5804974ca922724b0c06668586082bc93201286e13211a7daba1d34a34be8a30f03861b9529204aab432778a4b4f7288ee830051311fc387677f82a91b633878e0040c663dcd79273cee7a021451028d1ba4807bd03f3482a9c96bb87cf90352ecbd686b6e146b2199ca0a8afac19121680800bdfaeab71008f961b618682c0544931c5ad2880675cc8b934ce7505197e81eeb60a2c91d1aec474fef204af914b2e94dc4d33138ad1e04136158f416684b2694556944e21138ccfd744f3e785b5d2864c304a6acc82665023536e82a46021149bcbf7a0eb1ac0fd9541c0d8d83585ee26ec733888556689e03e8e8f2424f93d64840b10027ae4f9f85db5187e1a16eb47a9ec5e26298e65905f5841a63feb3c82186728ea3044574f7f4d0fcd1582d5974740ee3a9c74f2119d012c809229e0bc0ac6ac2cae63a7a4706900beb688d56aae1fc4fd2899260fb16464159493ae710d0c3e4d70754b2ac5c53b42039296e77f22b93a899cdfa9f4f4a7a59fe4cbae0d6dc76b1584a50d22b3d1184a34e10cb95680ee55ae29a5a523c49a4143455a6564eb2d3d04662be164e7ce598f183829b9a855bde89774a777abbee15d2b9a3e246fab80f1f1ebf0487846a2f2c28ca91134c05c95a4d88562d92bb530628eb616532813ff87a3fc28792989a3b83b5ad0ff0c1857a5c5bba40cad7028793f60429458bc109a359036fb79980c236b23902f0c8e0a71fbc01998c89de436674b41c803f50c25bef9dc160d73e785a9ab0b0328f0b972fa1c1d984cfbff822f6efef423d577df803b8363509b54e0d97ad4bf1668423f887d7fe1a19ed877037184859ae2196d81414e91e6f2b32d134127e195a02ee7a8346e4ade87474df79b2d8753a021f2aa4334514f2556b56cec36a7312462889be2a2a55059944192683036daded04888a2294cc952cc78f1e407fcf3096e7e7d1dad18108c900e6f220ed0c3557ef1435749f0ad073d835221c92cd55902ea804553e3b76b9524316c9e615c16fa237892724c6c2beca4259f1fceaf40c8e1450a3e2f0163d8b4c9ad9ee2bd01268504904f2901649a85ca360d293a9a693603458904845f1e64f7e04a3518ddebe7d28a472e8edee40a3c745ca3f865286cbf373d8f2afd37d450950ec4728b08944322738385a9adb61d69bf0e4139fc78fdf24a0393f87724723cd4502e94496e4178137935e743c665655062d269315fd7d431819d88f99e9097a362d6856f78952db4ac98575df2514653dad17ab009e1e1a4b99c0eaf2ca195434493a4f1dce5ef86b32d6d4042e7ae0b2dae18b5c824aaf151c20aea611680a564cddbc41e7bc8196b6263437b589dc2657fd49484537a27603b62267f09dd7ff90d6e4305e38f53f607dcc8737defdb7481656096c712b100301290b01d20a667d17f1d4a9dfc189a1a7910c06682eb2486422989ebe8ab7b75e47ff816368709b71f59d94c89364bc512e7fbc415c6582124e4996fbdc4053aee021c1da838626d2e9ac40dccc9351ab78e09f5c6dc1eca4dcb381370c5784b042657a5ea66567bca2d32b8c8a85bc92acb6f7e42c00858bf297c6f264509246381c179b4566c653126a36a306e15014758dcd306a24117289d02676373641871282c13074163beaed66444221e44a1c868aa2a1c149f36ea0cd58798067a6705394e55b085ebe078fc9deb411c14ab8db3556edb32357819e2875fe4442fa87c72f522c47302e934495d452b5b4bca2fc9b9701d3654bf23d3d25b5d5737ee22778e59503f0f6b5c06d6b413f2965b3a380e1ae53042e48f9e422f03674e2c38ffe033697c94a76999196d7c9e2bc8ae79efc13fcf66fea08b827616b927164e809b2c213f8ee377f086f530f9ce50c4606bb303ce265df00a77e6279750d9d748d91fe11f882ab989cab274573124b8b9378fbc679ac056c38fe62179c8e0e5cbb39894225039dc98c782449f7504485e4518a89add405fa3759f82ab388272bacd315a138b884971349eb9c56b2d60dc89032679995cd6a4841333a2862f88083649e83804954782fd81a0ffa7c22af82b3a32c16357a684ed69682a22c9793492bb4b7b9b9a0a9ce582d992f21c72ffa9cb34d38274fa765ef8842782742571a5900450efde8e87d955a7161abca92f0ac30df103321e4f24afe894ce049b43fa2afe934b29007dc35976531878d1a4d26b8eb35d8de4e637a6a1cb3d353e8ec1ac40b9f7f89c09a0d410221ccd2cd1c2f5cd1e2a9afc3d2f232c6c7af10b0b413382911b889c04c326b6468147333f304e6b80126212d390b838ef33ab8f45f27424cb2548041b05f2baccd9c2bd4d776126b2b7a4c2ffebf0472b8e2ae4200d28fedf04d9ab347e0b2378866a4e1f8591a4713c2d13574b51f4536a145361f4538b7057ba3016d4d47613534d0cf2edcbc701de9c8324c7623f45a026089140e1f7f1926dd30e6677db0595a61317d09630bb3e23e37e67df8f15bff0191d49ad055169d060663191d9d8fa1abe35951c5f7f4a387f1cab7c7f0f767fe0a4ffd7a175efed26f2319b013e07d1d753637de7def2a26fd1760b42bbc4fb57db29bf9f5b6104fb57f19aad4f46cb0d642e60f81c9031c1c4ea8aff7a0a5e55692216fa8b535b2446241dab446517db2343b8bed780af5a47cdbbc0da2115d34401b926edfedb4d0a6290a1a7616823ab2709853a4c89601bdc7ec837a2df37da4453f0ba3d1c051379110c6f5f7793205f25c7b4e48562e11f0c91545992d27c7725c95f729e7ac30dbaa247d56a04425844c229156983499cd911078638b175a12cc31b2301a3d0dc825c304d472501bcc68f17a9109ae8b52c4e6862690ac4294bb04ab3502b07106bbd1a87fa05e3ff2ade4815b2478bbddf0b8bd6c1877f398d47a1e55c37522c7a0ca042aacb99f836ec00f8f7f0cc7a2921cad5229d5391c7e148dc82a0a55bdf0b5c90a20dddb9f68374069eed662397c0d6bdb0bc86c97f1d4efbc8cb66ef3ce75823e176c0ebd9217a1afc3dcea5b48c5c95aef1ac563470ee1b9a78fc3c6de413a2fe721ac6eae91b2db4063532b9e7dfa189a1a6d82099457643014c16baf9f87917eef1f384c7bc40cff6202b1b88faceb556140b5793b31d0f00c16972610f1656077370a381d0d85a1d142540696c8f267466b1bed4949cb4dfe685f26b749c113609198e15445d7b0938c5293351f4689e415f3a7f05c5548a6a548dea4d32921930c06ae20518b3e37e7cfbd4706472bb6fcab68a4fd3d343c88b99bd3cc6d20925a3924c51e1e56eeb98c5208c0c46b6226d50c246ac9e715c1f8cabfebf58a11a7e17d47e3e6d0503a4b9f5724d1df87bd3e6afa9e4e5712f727c94a63467e4eec5961a54fd3454a504bf723a140d67da96014204d6f549a764ecf4c60756d156d6dbda8f33870e0c07eb4b4b58b05c0f2b899e4fa4da35684c4ce7ef01341aac932786060108f3e7142544a6dfbe3585e58878b8027970597b229e1b9e5b9646fb16f933eb36ad0da520fad3a8f686a15278e3e2bfaea6c6ff9e1f3bf857a021843fd8fe0e6f4250c0cf6e0f4c9dfc2cdeb3709a4b4e2f4e1af20b2c5b9844bd09aca686d6b82d3e0c1d90b3fc6daf555ccccbc457295f44a4e8589b171383c1e9c7cf28f514c714e118dbde4433c3b85cf3df32f910cc9f8d19bff07f2ba25783b358805ca8284d1a9f710183d8652da06ffd6062e9c33632d7203479fea43b77700341578e6f9a3e8f3b50b76de8e637568f286f0ce3b1b04124bb7aadaf6f46edb9d182b2a72d83b592e8b04eff267d027e7171a98d428e97961aad5eadb3ee32a0a7173b4e1c28155dc985d445f6f07c6af5d45b672141e5d018bab9b84949db429346283c5a349d1b42a559060539770697c1e279e7d1a86c81ad6b78be8ebeb84be9217bc1ee9127dc7a2236b63036dfdfd68b0eb3071e50ab48e06f4b4d563757e0e5942e04c339c2da808f1b7415d29e2b38a2cf182e38a212124d873c460a3b51d06b9846496ac205a0501ff9640e60e673dea0c0654322942ff6534b5b6c2aa532149a086853727e0a945c7e1920086cc65f220314856292ad1c25e7587db5efe188f0937d09224798fd3f1d64f198a70ab7c461be9e1f18fbd66652114cba2c36945542688a43c0935aad71d60bb1b1cefad3cc8a5f2e86eef84d56944321d22ebd44f68c783a61603b43a0916072793967068e83029240726670f8a7c8c7dbdc74959e8d064b50ac2b0da5147fbe3f0a1836870d5c1eb75d29e2e57c3492a0204cc9e4acaa0b94ef486fabffee29b589e5e4124bb4aca478f679ef802ba063b902f2771fdca47a8e48ca8770d425667457e86d92d21e44f401dcdc36aee85b777141b1be748a91720335b69590fa38a4bc62b6410e549b6454449308312ee07c65577ac6cf50c74a209a5afa54c7bb62ce3eaf579343759a02163224b0a7c60e43081af3e789b5d68efed1761ab9b24f3a2e1a228c3cd670aa26f8e819961cd10e5d19c0ac99e670e2f49c298a62b570848919c4857e58b9e64056104e149e5308da496457e0993b14950fa8ce9744aae1b27f10acf0c7d379a24e32f45a086eeab28e7c5f3e3cf6d66351c7603819d346667ae60695183e5a5398cec3f82d1fd07849783431446930575261312f104363657849cb1db8c68f2b8b1c2ed22ca05d123275b6058a563ea5a02812a6138f2ff52d924c9b602b2a4030ac5327afabb303a741c53333390ca1a32ce5a90a571cecf5d44783b0afd7a858cb717d0d13a8cf5d03504125760b4d0b3d7f4215ff4616ee1129caa515cbff82efca131020d3aa8f31ae4d249c4e91e477a4e606dd187a9f937e0f51c4338b48449dfdf12688ac1bfba0295ed2a7a7a6cb0b8a3b8f4a61a56a9134f3df50da4a3db185fff1e3ae347f0e64fbe83a75f3a8daf7cf1ebd0d218a3a4a75404aaec4ee696a983a7ce8178ac75a77fd3debdb17bbfdc0af72bf97ba2e79b8c3d640e0f81c903e42dc87779ef9699cd0f85bd1ec2d3a1356063690a37c83a71357442550ae1e65c162eb24e36c8a2b1ba2d989bdda0654b0f466b42607501a195456c84d24811927fee781b7efca3f3904df5b090a59049a691244b64c5a823c4ed873610432cb846e8364288b52c846845a54689ce75a8a75e24aafd3c003af67a804049b1a21325d084a5c9d249d35e95e071da451bf68ac124e8e813992c09e832ac4c48968a2295cf8adc934f9b33c01e0d0d0393bbb094e01ea064d75f57dd8dd52a1c2e09afd4608924c8edce7f741ec78e1d153d6b1e1e3f2f2043daf1dc7ddc4bda0336f8e09245a9daeb43852ad3b3600ebe333f69b75bbaf6f76d8d07b1e41fc7ca85297cf5f97f4db2a08233efdcc4f1a3bd686ed3888671acd09304603cae66d45bc85011e8478b55df16b2b93486f6d523979511d98e61eae626b6032534390c04e6d3b0585971ab445e56341121009f874665423cbe8db1f1ab9898be460a4b038bd12cf8134d16231612df83bec18fad4d07226438393b4b68ecd391654c6020a350d067729b08c663a430b76090ec509b7428672ba814d89391a6fdcacd1c4b64546894bc009173272bdd9669f809ba7e898cac548a94fe76865e65747771fb033fecae7a343534638e4057249242fee61c9c4d66e12d36da64daeb2e120f1af8d783387cca8b13cfd970e6076b989b4cd24324909867e0218992641a90001ddc0c9593da39ed8c4b8b756a651cec35e1580f031a3d7d87434162ac153581900add67857eaac4f3e5ea1feedfa3954a22c9594fdf35682bc213a4b15b61364982632999d8c2bb6fbf8e4b172fe0daa16318181c84d6a04157e7009d5fa350e4d358b6c8d8f26d2d925c2303ca5086dbc3849225e179629e944abe22d8692d243778ae7c5b41bab728ec751de869ef171dd50bf9245a3bda09bb1cc27b97dfc6e67612ed4dc7c5fabb76fd225a691e877a0fc26a3761656981ce718d80949bc0c824ce2fbe4106ef0a4c8d611472ec1593d0d8b81f2fffe63fc150c7717c78f99b229f2912dd225064443ea9c5d973dfa2356a44473777628e62612987ce91e33838f07b68f30ce0e68deb82bb6b2d30079bdb0387cd8edeb6064c5fdec69573eb70373ae1769b14de9f32f7768a12009377110f56ee51c5562d20a8285e4a0e1de6998efe334a66d0fc628392ca0ec3ebdefc934a3556c619db4c78b6b21ec281830791a185ea6968834353240bca4c5f89e1e28d2d0c7734c2a8d3902564472e96c5e0c9a348fa97902c6a7160a41de1340b890602345d68a9b760693584afffded7f0da37bf8d731369fc97ffd51f223673153f78f3229e7de945e8527eb2940c703a4ad888c668a1347ca66084858e524dc3edd3656cadafd166b5c1662401912ba1bea18150761981ad75849912db9523cb4746281c864a4fd688cd42f7af30bfb2b210fd2634ea4f95b1cd613328c9f9b77af9e17662b57b11ac898d52fdf016d7ab621370b7e8f9c545fc9b3ffb3312529de2d9ffa7ecabddde9b7f3c2f9ff4e083f8598400efe3bcffa997de798eb7093e8581923d6e45127c4502f6b9424110cb65330a6116b706e0ef3478ea449e183f5d5e33cc69a2a9124029e5f5f23d41496d9eaf4f7d88b5b8055dcdc7e1f787a1b515716df102266f4ea0ad79000d5e33ed830c2e9ebb41bfef474a9dc2c2e406fee8eb2f92c5da202cf60ced8f6020830f3ebc46a04342ff60b3f0cab2d3cf60d4563d791286fada45733b8dbe4c16763bfed5fff8a7387fe102de7ced75847d0be8d8a7451467118a4e426757c14c22219f0912382a210bb27655063434b09b3e427716a7dfcb309af528e74bd09b804c254eca8ad67db10af045ec47f14ae472ac88cad01bb430eab9637a427810f93d6ef2a63572f3c02d94e43c9e7ca299404c0a5abd4c8606b01d0d1090310b1a805cb988917d03e81be9c0c4e52bd01953309bd92891c00c0b1247d48a1c32ad885252660e28f25ed44a820745d0d7d31c6925ce19a925d3ab09a8283401591a67265b46269f1309b5cae7320c0448d45a25a9968199927ba2129e1ace7b61af0c738da8e48a0895319761b118c1fbeffd0867cfbe8581fe0111623e7cf824dadbfa682c1644e37e028bebd0d23d990d56023429648c25a4c8a094b84a9ae6a548c0a8a8ce094f0f7b855552192d1d5dd83fd88df1f13502a40584e93f775d1f9e3cd242bae24332645be9b918b1b63e4b86ed597cedeb7f40d7a8c39b3ff9ef114c5ec360db17508a66b09d981409a4e9a05ef4c2e9ee7f1aa70ffe6b78ea3c585f0a606a62036d3dad686beac4eccc19f83723d09ab812264f06728a6470030ef43f8a671fff75747807f0bdefbe85393294f7edff351c3ff81882eb695a57294c4dc5f1c1191fa67db378b1e70994d312d60894f5f49a445e0f2ab7734eddcb63a2e49e28f3ce7b8d8166ada9df4360f20056182bc77038a494e0eeaaca89c5b645c22bc7a673993c5c2dad78f6d9a7a02fe7707163111a99135b491058eae194332817643436b870f5c235da543425b4c996e71708051be172e81088e6d0dadd0e492e0ad63e97876bc637f1adbff92e1cee063cdaa4c5dbfff0031248460c8ef489cc71a9cc1e89220a0404745add675272b51bc0715e0df39770f22bd7c4a8355c4696c67641511eebab4b3bdfe7b9cba4e3603617be279684a1c8b66005e4cdcf0757e6b095f820c9af2c4479b1d70043add4fbaecaec63bc2ea2591aaaa5c2955ba11cb6265958cf2f2c62fcfac4ce5871d7a0d1ddae727bfaad54fddea7b21af6a2ac4ff4257dc29ddff7f9aa5fbae7f73e797671db0cec826772ad9baffcc9e7927725d549bb63d962450acb8cc320b5b244761d0bb0c22ddf99248b00c923a74e880edefcf75ce2c9a58b9c8079abf9e39dacafb56bd6427af59e7afcda177e177d5d47b0488a64e6e63aed613d5ada5d68254b334d16ebdffced0f303d75130707b7f1f2579e47d7e75d989c5f8537497bfb8936a848614e4ccf60713e84cf3fff18f68d364367a8889c0925d9be8054ac0887cb80c1be4e6195eb35063c7aea14fa7a7a70edca18a0df40df893459d9ab48868d082e6ae07299a0afa810982b21962963e0804b74af4dc46514324664034e026c31d1504f4bca5a450a8b3d3ef9b2428055bb6b064f5693a6dab3454958e4645659d688ea16a79bc055ba886532a61a9acc6869f60ada71de276ab2a6cd160b011f3d2a24b7e45c1953630b989b5922a05826d093c7e4b502fceb746dbd467897546ace21292a390b550343f4dfd2306b2c87601848ea9404550216853cc12c7eae450ef754bd5f745d9d203aab40ab539a00562a9c43a4217044ca50520b50c25e268db64480b040a0a56aed975582fedec049a15607dd5b0e4b0b37e0db5cc2b9f7dfc1e8fea33878f83801946e925f79e191886fa7b1ba388722f717aa306b380131926de9748540478e4000ad15ab0bc9940f5b411f62f1208e1e6d4347bb03eb9bdb585df0d3aa8da2a3a31317c7be0f0fcde1fefe13f0b4eb504a6ab0915f43735317cdd304e6123f114e65ce73e106825132f40e3df2229e7decbf452605d4359561357b703cf12cdda7111363ef6369f315740c67904d9811f297908c17f1f24bff19fec96fff4bbc4f8078726e154f3cf232ba076ed03a732111d6c36ccda0b9d7089345c6fe13cd30ccf11ae032e8329e7f6e1f0221ceabd952c232d29dd185dd06c3ed22e0f6bd253d24587bb0100e97acb2a51508dc4ea0c6611ba637e6b232bba705fb9c65c402019190dad2d32be8d555928b9636e781f4e3657737ac0e33f61f9191ce15e1aa230141e681c962839c7563633b83f666b7d8588323dd30da6c387cf4209656b7e0edea11eedfe9e95968ac7568f59075411b5c2539e0e6b22b7aa81ee617fc8cc338ece66560c21b9b9360b9d497937d55f730916fcbdb11b15825fec8adc5998e9ed95f1f08945417fd4e0847badd65b2b781dfbd54b5bc27eeb31734709cb806ae6e2f47fe1865fac0ae817b29e707a1a09576428df70b7cee000a77f874e43b81c17d90fddf0f48bb5f30736f6f11b0bb124b784eca4aa54959e42b29a044ac3b51aea8adae4fd50ed5bb5a58d26ad1f55496b57778a0eeaccc010ef53e8fdff9ea5794fc108f9a947e019dcd2378fcb161d85c5a9c3f5f24817f1ac78e8ec2acb6e0ab2f1f46455fc0fbef4fc3488a3342df5ff705f1fa1be7448bf958827bc5e4d0e2607e0c257c72e3e616a281324e9df21208e0c4770d1697b670736a0a1f7e781637c62671f8b1565c7a671ed3931994a47ae8a43cec2e4928f1f8b68efe4e8b8aa688883f47cad42c9217439b5b309101a037e8a12aca30495664e404297fb5a82261777ba5528295e48f56c34ca034264ea420cdcbbc22f96c51249e6ab50a94e7e67bf52e271add75b8397111e73e3c47328e0c0c9a630e0995b40cfe8a0806e2a2ba47add5088f50a99414f922f9027b8f0aa21458a7d612606006d88a28e3666f89c5c8fb5985425683684eae9257caa28c993d9b0c82383ca365db4fab1209b70aff248785d4c809e246852345a32e5743bfb208077183408dc45e3371461aa74473a454fea8682eec16a300aeb3539708405ec78d894b3878f024fa867b61329ab1149fc4c8481b666742585ef12311cb08ef5b9aeea7a1b188aeae16ecdf7708ab4b93985e5a43be9425f0a227a0e7427b479d98ebedfc3a5e38f61bb4be0cc8145711c95e17a471173ffa8800c836d45915f4b25134efab10c08a9131c7b9389c2b34d8fbdb488408bc19a3c8e509c00eb66263a11eafbdf92dac44fe1e165709ee7a3d0c4d32b4e57ab41f7e9280d249a4f2711c39d6850b97d6e10f6dd31aae476f673b42d6087c6117467bda918ee471e5f218d6036b78ec89c388fa406bb2047f6c85d6e1f46dddb73fc9a35bb5f5948a54fe3bcd67534cf00bcffcca0a48928c7780166131713e85560fab41e1e5e0656f601fa0ac1496722e49855b8bdbf584ea8b68696b139b85b3b425875de1dbb034e340934ab49d2f8936e456c149a035d970e0401d6d7eae1f2fa26f68047289ad829200460acf8242fac5a9b8c56a57ddcf72aef8b0dbcd02d071e2ea838ca7869c95fa76d50311acdda6c6d42ad4e0897c0f357b57cf0997bbc9d2adf776fae554ee8a2a6e1fdfad33a94461a292c877270cda8356b84d81742fe5bffb9c2ac583f369b8f1ef4cf3bdaf8c9bfbf3badc0b71dd0bd448f70866ddcff53e1edcdceabb27ef10e3954563b192f08694ab2fd16c4c90e7954542270310c1fc2a297d9bd4a25454dae1c2b95baf9cdd80a5584e2297e2eed91a74b679f1b5dfa8433c922185c39f731b081dbef4f917d0dac9790679182d6521161f7b64043f787502e313413cf15417bef085a36435a770e2443b291025c4c0e10606021dad4ed8ad2992210c8a8d226ceadbf6e1fffed677904afb5028a5b070438ba0df4fa0a448c68c11f5cd3ab8db32c8a7393fad048bc18c7854467085641a8f4d57423c9b8164d08a92568dce4c00448f448a73343893540d9d81e14601d942892c7cee4a6b4734151360c748f3952103c46ad5098f040328de1269f69c2ccf6065730d0b8beba4e43a51ccb397aa400a3327d6bbc5ca0d3f394cc349c7d5d6006a85565e2a2b4cae9c4cafcab371c895395a02984584b7c900cb31df8cd2159a9364c93ea4b1ab45823d031295b04e94de3a994c85e46545747196d40a98d231cf894674dd51281b94bfa8e620f1bcd32715251997ab1eb9012383d50281c632011483d12a785666a7afe1e68d6b686deb447b773b0c36198f3cfd14dabc097cf7077f4f00350a835a2548e2c29118b67c0bf036b508aafb34cd9b2457db76c8457a1e5a1c3ed88950700bd7aebd4e4629c9fae4617c30f63db85da3086f4d6072faef688c19fa7b03dd3f7b8094bfefdff70c5e7cf69f2141606169e53ae4721c6fbff3e770985b45a2f3ccc6bba86bca0aa3319fa8c0e74fa2b5bd0bbff5a57f81999b71bcf7ee3c9c762be66616e06c56c190e8c2e646066a5afe6317c711dcde444fe3118c5d9fc40681afce6e2f8c3a13dc4d6e14f8bb0b61d4b795eef090dc4bf62b5da255c23b2e3884aad5710f81c9a7f099df73e24423b0b2d85c0a63228475b6e751884dc6478e40c69d1aae2c92bd5055a76cd5f1bf78f3a58ac51df1bb9bc6fe0eef0ef0998292dd029b378b2041122de46b0989f73f36067c0f4a497f9ba2dae530b9a357c31d192577072c8afd57e52e91ef66d9df45c1ca8a40bcc517743740b32b1e28a96e8507efa2b8b9a7448d65b652eb6abceb2bb74675b7d04af53d098a7922edb8936a2d976f9d6ce7efee06587681875d21935bdf56ed09cddc0d6edc62d3dd719fc9ca7c49d2dd9f81b4db53b5f7bab2c23953bb7a658f6f6be7552bf9de01a9b56f493b569b68d627d85e5555ce0cb5925326dd627c2d57c3757b79196a6764caf16834898d9b4118f55634b534a08984b64a5512eef616af098bab8b985b2ae3e8814e582c7a21137c5b09710e6f8b097d3d4e186dc398b9318e377e3c81173ed74fe0c428262c1c0be2cad84dac6f2dc245cae6cb5f78012ba1795c2345617267c8b0c943bd99472c5182d5d9870a5bdaeb49fa8c001629ed64885e5b6ae4e34594521624636152d25ab2a075907505a43329913f12cd65682c8d04a8cca484098ce4f324af4a8a722e5460d21b613659e9b39ca85e2ae4ca22346230ea69ded8a35111861537f05bdddcc0f2aa5f54d439dd56a82a048e7c41513dc39e1a417666e4f3d21d966a4d1e5482c84d54d3f1de508b2745e0a2244086f09e72e2a446a9b6e1908ede20897372c8861f49be208b17f7ca2933531957defc7fecbd07945ce77526f8bdca39747755e7808ec899244888200926654a964cda96655b33b6d66b7bceced8737666c7bbdeddb367d6eb99f1d9f5ec7ae6d8e3719447b212253198621009920048e4d08d4ee81cabab2be7f4dede7b5f35d0dde8061a24752cf9a070ea74a3baead57bffffbfff7ef7deef7ed7cc290f4ecb6b58e93850118fdda8b79be0b414818e6c4e5bc557a2f5502540732b10a3b922f762b1a00ae1930d2a2bbe1ae99a47af8f6074ec3a7c7e2ffcce6dd8bfe7301aea036478cb08faddb43e96d0d9d382078fde0f2d6fc25b6fbd8bc18911a4b3291a4fb39079f99b2c669aef8a1767cf9d42064bb4ff1b90c8ce23349ec6d8d81b74dd59d1fd60702a3686169737d8079ba50de74ebe85b9c5abc865c3040ce790abcc229352d0bdcf802e971f6e671b6a9b2ac8e513047e78ac6a904b007e6ec6486031349f43b0c12f3d94c69706610a95110ea531baf836029d8fb2f603bc4e1f22f1663affd378eac9e3981ecce3c517be896862148dc62e5d77665d89f0ead4e7caeffa3dafeaf76e592f31fe87b05d3ff592f47a2b74754dc8986fb85b9b7add7bac8e28e91bbb413a0db3185da52a26c715337ab9985aed3489eae6af97f831ebdd2182445a5549f06ee64b9f33a9acd0b6c62dd1565bc315a3af560dba2e66b2ead36a153eaaeb20c74d70a0564de5cdbf1bc410ad7c6e25d2a5a9ca2a6baddd629a35e5a6d555ab2919393175c56c1b56811fed66d467bd5a8ba4b4b04194a3fa53c43a568eb591d2cbbad458f5fcd45571a99b50c2507d4dbd25d221b8adb2764c54ed660a69f577e99f36dcbcf255f7992ac3a054c1a3b2ca79589903750599dcd09eb991d25bfdacbe45a225552d133e46a9ac731ba48ddcaa52e15b7b80e8df9dc99560773a60769870fedc085c8361490ff4f535c3ee52b0341f868bf6ff78aa88ebe36169bac65525e55211c71fee45b0ce410656154e43b2b08c6ffda01f9d1d413cf4a84b8ecfd191e5640a5e6fa34c1387dc971261bc73f21da40b53888717256a60a5f7d99c09323e2624e64cc8ce97c9e171a090cb9353934622ce02ee5678eb8d70fb52686cad27c3d68ad842068be36529dd2fabbaea72221125035c44369d86d55e8ffa9600d4421c85540c1eab47b44b2c5ef2a6022632bcaa1054f93ccbaacecb607f8a9fadad41d4f8ac345f1e449633ba989da2df217c6f73d44a651979969737a8fa1a31a8123d51256aa1f7c0e1b9b19858784d917439eb3f19392ac2a92e96b8e7726f0223c56a65154bc69bac8a88b271350f777566c22b4764d8a6738aacc49111e6a4f0b9f0bc1735499bf07c33f03199ab5526d595a854d77b3aa73b9af90281130747501cf2de6c2687affdd55fe3f5fa1fc2e2b0c0ebb1c1474fafc782782c865a7f178f3ebc356750188ae3dd77dec58eee83a27b928cd3faa0396edfd684ee6d0fd298397170effdf8e3fffb0ace5dfc2bb8dc76580965325196539366bb09669b83ce39836b575e9332759bbb22a9232ffdf4f93d02a2dcfe220eeed9816b67cbc8162668becdd86dde894c2282974efd0be4222a014c271a1a8fe0c1071ec3f8f41ca295617cfaf871cc0f9ba56bf0d0b9498c56fe0605e33c9a3aeb61333831383486ccf214debbfc5d381acd34d68edb125ed7eeb7d5ea2eb9f98c0242ef49d2dfc58337ab7cbe2452bc6c380dab4a5839b4e8f1d8d7faad772104f68ffda154ab1ad8934c24d2d294d042379299369368260e83c50a87cd2a35f7455527c769250230c5b2f42b71b9eca8adf55437a8bb1bd335f9ce4da225b7634430f2e7c65c6eb787405241b8075ab578f476026d4a95d4a541d980e2aaae35bf553ca06dc0ec587b82ebceee0e59975bae49d96ac6643d2955bb55e3766dde6bd57a57564538a42517d48dce69837e5337f1e04afa6b0b0c9355c1206dfdbc43ab7685ae8833a1a76fd41bfc9292a9486baaa84328a93a3156f3ddaa786f8a5e0c2b9114999575e26aabab726ea62e3d70d35ed06e6ac0c0d510ce5ebe42aeb5420081b923716cef69c3270980702a61763686c989289a5b5ce8dae6aff6e6d18fb58d80c2affeca718c5d0fa1a3db5d2d535751e3aec1cf7ce27101eb0b8b61cccfe771a06937124f3f8e6f7d7f1ce9641189c53c02ad9370788ab4d7fb50dbe6406c3687c82279e55ebaef6c16144a05148a09b4f669d879c88ae66d2af2e9ed78fba561948b7119d84834018fbb4ef6b77c8149ad1ee99ece602dc15d778bdc5727270dffb8b74e3259a07bbc80ba80575a74686a9a1c91a2b4a47038cc2215c05c1e26e7dbec4e590456abfe142979e83c336e86679031ad826f6ef4c61a266655003cef03cc1d11e1c68a3ec7f992eeb87004835fe7a806eb9bf0cc89e09a55e798b0f3c39f49a7e999d5db0e98cc06c1af6ce459f30812d585940133786202b0d56a94f55532e80e8aaca162958b64ae7afe551d1ca56c144dab52318fd9f95902675644688f8b47d3faf59b54e9babe344720319f46634b1da2e171fc87ffeb0f61b334c0e1eac2631fdf8ea30fb5223c7d14572e9fc789913731333622051866b35522255c6564b638612460c81481542a2e6ae33c965ad1c1501fc65a2095cee8ef1f6f4036d88e50e834d2a139d484eb504ce5607685d1b8630ea1a532011b2faca3973130f4068e1cf93c9dc333e8a8ebc3cbffedaf31bb342d4964aba10e871e3e8c9ff9f833b87c7e16172e9e43ffd51f61cfa16d424f18ebbf7e4bcf9bcd6ca1a2372223b078d3b9bf477ebdcb077bfb2e72776a6bfd55c12e4d42bd8b8b21fa5b8efee610cf8a8dac5a55bdd3fbbb681225d84a0a434aa868f132e18cf9249af2d3af2cca918f64328b68342946c253134443a04634092231ee3cea86c76991b2cd3c791fb5b575b41f15b0b4b08854be2cfd76f8180c4e981476a728c94a0a48c6d2681082a382b59650db2095b3d9b9b387333e365a3540d838d2b049daef4e2cd78dcb94952d1c67a32b50eefafbb776de773a8eb60907049bf057b67a7d77e2a460d3cfac74fcd5155dd5550458552a6d986cc7e084c10a93d61914f0662a5a40d5b419eb11f184df28175694351ee0465506a57c05a1d90c866766a53a62ff816eb8ed5ef8835684934924a2399c7d3f2cc6b5a9c9818e2e8bac31a344f5d8b8de5cc7dded0df4ac97125c3e679d5c0cf87d7af4c4410649411265ad846d1ddb71ecd147b1d0d347066c0219f58aec45dc2b2645c687bd6b6e795fd3602403ef416cb188628e0c6463277a76ba51df52c4f59149d1122996f552dc0219cd6cc60dbbd34760cb225cb74291c14714c94441d7a0503364f954918d97669906fd1ccd161b8d6396000d0193744ac4c622cb713a1f03f6ecd945a02c5d1d53d6175144e7c844069c41809e32c3aa4ece9aa46ccc2683443738cac280808db13ee52521cb1b2d7a85904448cc7ae97045d5014e26cd7a28da8dea2686792cbc5666a0c25d94cbaaece9cc77e0b491c9a4a785b869205706e9428d101e9846ef2d4ad9b22ed8c6d7cee7c415411ca96130c5245d1e0ea3d12a91276e88979c8ec8fa8b9273f6fdef3e8f7dbbee2310628325416ba1c183b191717ce7477f4120c88bcbfdc7f1f07d9fc0f4d01c7ef8ce9f2092bc261a5546038112729025454e20d168f1a09ce7754caf157438cf1138b592a573ca637989ec8ed501a7dd23e7f9fa5b2790ccc4e0aa338a4e4c7a3923a2767e7f1d014755e621125ac4cccc24f67dec013cfac83ebcf3fd09e4698d7de90bff0ca7de790357c77e48a0bb8426df3eb8ad5cd53384a1f9d7f0c9affc3e82b6665cbf32bce98eba3ea55355a6af3645d5eee9987c10be040fa2dfef23b4bb5623a4502023ba94d6e5d34b3942b88358985fa64da005f5b52e5ad036f4f43691814b0b2267d11fce91f2a296323c0dd24fa6c4caa684ac8bf1655c9f5c463da14f07bdce2a7e2c91cd685f72a774b33320e21412ffce93cce5b92b19262e4dcee5f21216fb878f96e81b0cf719d2bb0d7393be82a8193636d5c395cf21b4bc4cd7dd2412da16f202d274fd26672d6a7c1e2417c2e2c9663279783c0ed9c4b7123559f19085c4b89204581731b90d83e226182570c8ca9bbff4e55fac8e6d0537e320ff502c27dcebd173cb98dc9c93d580a152adc4e1b2588ed4f1bdcac4f20c3db92d7d3a9d26431b935e307eaf9feecb82ee722bec1b1a853fa1e12689967f37def0ec9435111a592f749cb39746851cb877472f5a5a1b91cb1469bf3760efee3ef83d6e3230050c5c59c4fc8c0b4f3cd941409dd728131f8dbaaa6bb55f886e98f92fda2ad138064e25e99c5ba09f63b30be86c72612e3a85a1e997908b14d1dafe180ae54e14332a42ea0528cd33707a8cb018dc50c868393ca20a0fab238f9ae64564636e5c19b263682426e914ee7ecba17f13019932fd4b93e76f252368a67f89241b578318e07235fd62c64a34a25a49477b91dbeb449cc6b74cfb563e5f4081debbada3193b77f6a2b1a1192ecf94ec81b178095c4cc36910b7d528c72989c08041eef5156215472298c7c2e361ac76206600c0426aa28161d0ef627604571c91425115b22957d4f00e60b0282275cfdb87941ad3d3c5fb110187644a8f40f03157b4350c8a2e9bcfdfc9c5221c81d0cba615c92172f486c19251d153a49c8e906f1680a6db8b320bab9534d12b31cad76b041612f83fffed1fa1a5a90d3d3d1db0ba14f40f5ca6f355e0f39be95cc23875faef70e6cccbf4bd05e4ca0902210480e880acc123a2fd469b98d34aa98052a5206d023862c4845f5e6fdc9ba7c6ef44aa64c5230f7f068f3ff06b88c4a7b0109e45683a8dba5603c6faa3b870f53ba8ad69c4a1ed5fc5238fedc577dc27f1fffca7df83a3ce87878eec2307d28286263f7d93156ffce8af91575370fb4d18193e25cac5cd816e2c66cfe3e8f1c7092059f0cebb9768becb55e740bda58aedd654a8bede25d3ca7935d9dc0cf780c9dda624d6cbd1ebafebea82662babb7f6e39df72fe1c89123b011c28d84e6d07f6d12a3135dd8bbab0ff1a5618ccfa5d1d1de88e8c22cdd197ef89c4642a809ecdbdb8ba5f9095cbd780de6ba3674efdd8bf8d420deb8348eb6ce66c4e6e790566db4d00e13dabd842bc30b387aec3e5a89719cef9fa605e6428e36dadab61eeced6da51b39ff13d01450a91a88ea2265a0409b7fb65c22a3e0a3cdd228fa269ce209ba2dc8673230db5de4655af41e18da8a32a02e94a58fbf76dbd4cd6aa3245d518d865b08559bf9e3ab4b8825744b5e756353331e3b7e5c4866ba868d726784f051aba5fd98e6e6a7b24bf21d90d9caa6b722acc6de65913cfd3cdd0f0c4a52a934926434d9f36750120e87e5ff5c269b8c67848bc2efe5f9b659ac7a754645bd9132ba652dad02298b89285e7f67105d6d8dd8bdaf0d57af5dc7fba74791a7efededda859e1d414ccdce2196c8e0dd13ef6362f463f8ea6f7e0226bb413c7ff6c85990908def4aba988daf7893dcdba5c851c61c7c5e3beabc75d8bf53412a1d82412dc165ba0f19d37b9898bc08433948279a83c56a474da7114bd34518cb3ea958519cd7087cd0316a4a5898c9627ec88ae9eb398c5d4b4a5ac3ac94a42cd6e3b391b76da4dfd364953342542d17b34252e57362fe071b7587cd28e91c56336520128e64c8c03a85cc592e93218e24098c34e0673ff7b3126d2e95ade86c6bc5c5f755c18036abde8fc76231e89dc779de18040af78ad36f3a7033489f1bda83cd06119e53b56a8929c72798a756d62b8178ce852a25f7be420084e6c70411a353b59b4add3c9e29eed1532c0849d6209c36ae0ea90840d2aa5d92cc66bd037aa5a4b39854214757046c2855712401338a0ea4783d306745f620b5a25776293aaf4cca91f9d88a1183a3e3b834300a97d3819a3a1b8d3701c21c8480cdeabe9a96d281759123efe49c72d3458ef8d177705567b99c11c0cd208bcf97f97a2eb7172d1d87902300e9ad6942b7bf03e18528ae4f8c808601339345b434ee46abd78d19ed1574f63d88a6e03eecdcf108fa9a77a01c1b4681d65217d990dd3bb6a3c001b14c99cec784b43205b3631ec5658ea6e5b194fc7bcc2df3dcd5e3c8c167087c5ec2f0d24bb02a2d321665ad7c4b49fdfa4a9d156ea1a2acda2cef714c3e3ac0228bb19085b7a91b47f71730333581c6ce3eb991eac96bd2f2718c8e8f9157a061616e0ed1b94998fdb50890677079688e9c251bbef3cdcbe83d703f76edeec6744c15e2e7e2cc84c8b48767e76943a9414d2587979f7f199e40003b7a5b3074f112d2b499791c1644e797e0adf3637e6a8abc937638b81459d57e22acc8ca26cb243f6f5d0bbc0e13b2b9bc08aab5b7b54b63436eaaa513e24cf4be1cb2795d8e5e224a46654df5c3562226bab092f1460f868dd6fb7a40b23af7b96284f8268c2c4745b3e4430393bbcd926ce57d3fce10ca56b22c1fe6d81fe43877c806dd0811577b70b0a1d2a325459156e728492a95223092929fdc013793cecafb590e4048d8522eaa497a47e4b6cbea1ac0b359c42440f7e5b1a30fe091a38d08d6db5128b33aaa0f4bd1259c3979152fbd7911a1c545d407b693d12f606c610c3f7861148df52eecdc5b2b3c60958c5a53b3590c682c9695637319aed5ca5539192c86d3b05b6c22a8d83f3a82374ebc882201fa563226f5cd3e9c3ef99788454fa3be7e3701842e326221faec12cc4e2e03e6f2682fea6bf6c1697760313a8ec5318e2e18e0af236096e04ec31adda316213e95f3dc29b881005d0c39b5a873a1e87ba5419e6ad42b5e78ef2b42ba06f3ff19fcb1a609abc22e2fc705481d79e028395e47104bc6e8186674f77449f50e379465436bd04c12199588081b7e93063d1b5e4d992b9aa4b725e25a35fc0c423822c225b6fa0dac0aa0339a741d246d25f55ae50d95345588b5bab2a8eea99b4dd53e3a74cd5c452491248be146b50e67f374c581b2801ffe9d23592b0d1ff5e310302aeb119515d0c3e9243a5d02b67a7a8bc9bf1c48e0a88600665a572a81130664b9629ec071851c321beaea7ca269c5113cb5a44a39ad2ae94655f4aab2b9b268ab70b198db17c0bec3bd08d46ca3d78bb83ef623780335e8ee3a80e8f2241423777c76a0a1b1196707be8586760b0ce6005e7feb052c85170870cce1f0a147e124f079ede23cbeff97afe3db2ffd21c7a7c8962530343087c858130d40117d7d7df0d7fe124e5dfc77c8146761f7f8e07467b01ccec2a6d5d1b153082d2d13a88ac1a8b6dcb2d7aee667dd124591f493896ca010756e94e6df03267791ced9a8691b8787a5bf82d582f9eb4328282e3cf158375e78e52d42b92e3cf2c061f2681670e9da3468e5a0d6efc5c2c414f61df818b67909c44c2fa0a7af0d979767c873f2a02de8c678689a1b7fd30d6fc2bedd7b51494ea1e8a9459d218dcb170751dbdc8eeece16cc4c4c40b33562ef8e160cf68fa1b3731bae8f4f48a74ea7f52761cc20395aee8ccce9184e3fc596c360e9439b49c5dccc3c5db39b363f3722d110792f0add9c6624c86024f8fd5c1257a46be14a07faacced9b9b3b5bb094c94aa26457587d2b45b62051b819395b6dd2be9283d85645cd3fbe1d644106ec3abd8e8ff5b151ffbb011913b1d732be7b129cd17ab2b943efa73bf9b28cfcde6615284a82a37d6207795154fd8a84b96afef9b83aac15921b94a69bbb2529d53ed8eb429a1fda68440adc385271fed84af86ab534a68aaf7a3b7b311e164b38847a9ef97c84055d0d3d38aaeee3d98b81ec1e56b03b83eec46aedc2ebc0c8ba906e7ce15085ce4d1d0d08086661bbab6550498981407dd37204f7b0697fb47a47f8c556d43532bab3ddbd068db8d6d3d67e0f431e9368385a5cb64149322b55fca4761b712c858f6c057e942b0672fc2137f4106d406b3574363c31ee919138e4c49a968920085d763941433f3330c9c32216b6b3296e8a781f63dbab72a06e4f3ac6ea2ab612ba249013d926277d268c6515febc7638f3e0db7b79e0cf01219343f5c4eb7f07a38255dceabd56ec5263d6aa468429ae65b90c1041f53ab18a5845788c992f6aa760e661135a9b6910e7e020278de8514cb25abac55a3aed22f5294aa935305969a1e458199800457e018f53e447c3e46fa6e062e8a89a32966d1f2305914700089abafb86cda22aab35a952cabdcf0fc2d66dd2994b1a99424fda5a7e7f4140747611c56b3541631b1d6e9b62310f4c36cb0a098cb709b4449a315095433e88827f2b0d37b7674f7c15353473f0fa0b9a507c71efa249c363fde7efb75cc2c9e22201cc6d4dc09d40676c352f2235919c7d3073f07e3c53216972f2232338248ea0a1c3efa7e870fd393e708d8f4e0bdb7ccf8de6bbf0fb32b416067177cbe46bcf1f7d7f1d0c33df09a2c181c3d8fa5d8fb88472ba8ab09489acf6a213091a7c1b7273138f67d841666918d3a61b39b36e58aacbf7f7412bc22514da3a6a7faef55e5dc6554c4e5b221120909fbf9261192094f05319cdceab936588ba1c9ab78eb5418ed9dbd70331196f9e626271aeaeb450cc7e97220d8d648a8be026fb08136a9a834f57ae4f1e38892717ef5e422eadaba602895e1aead854a377033018e93a72f61dee2c2a79ffd0c4213a378f1b5d3d267c2a4596941029e5a9f4418fc3535b01855a83f21517a36e65eaf437832cc35610f6769614ece8f37a7228d673216915c317b3ab3d353523ac64c6dde58ec76567f75df3d88ac121745646d5d658e761b077ed5db6e18364dd36e2913ddf89377fa9b7687cf7d9493a66df198da5d9ef7dd5ccf873df7bb189faac6c9ea70f10d6ec88da7b68a18abdd985b592752ddc146449392641db4e8cab08a4159b317acd56330dc68f13e3b3f4f8ec622bcbe1a39664d8d556a8c5aeb3df8ec53f76177df4e8c4f3c8ec61a072c4e05cd4d7e5a9f0a16e70b78edc4598416a7e8330d985f20c724ebc1830f3c82074cade8eb76c8399f3f37034b2588ebf1f3f8fe6b7f06a7d6847dfb9e44b0d18f60b00eef9e7c89ee330f0275db09d82cc0902a0ae780a34546f2fab9732e827904e97b0fed3f82f397be89a5c5108c0633dcfe5aba96149d4f330c9a0313a56170571dbe3236bae562597436d85930b21aacca52f5862ad15fadea38697a4771dabb4c463bdc2e278e1eb90fdbb7ef402c46f7793c0e9b338062292712f2999cce7ee44ee2527557d1532e127da894ab9d94815c898050be44065fef047db35c5811c1b37235d5552a54247a23d1133a1ef33f0c263d4d23ef85a11a7181e89570fa87156245b1d662d0a323552e8f81c6c46a37ca9323177cbdbae85a45a25a4ce8b51874655986564ccce5144f91f6f85c4137b8d212b22ad4c8d7e1749a51ebf5d277994550ce6ce1e39b8577c8a9164ef971d9329371d9214b937356a60f1e7bf2317cf9177f058777df8f53a71731313344ce9e1743c30b6869a9607e6a0066ab8a23479e4567eb83c8856c78f1ad3f84bb398fb189b392f2092fcf62961c5ebbd521d12e552510542ee0cc9977908ebd0287278d9edd7bf0c567bf8236d7715c1d3c8bb317fe1c41df1e84e3d30825a2042ebbe81ce32867b2481138e3926487db88f1f13832a91212c9147c36bd03f6464efc2d291d54239be5aae0a1a65742dd03265b36ae9a94cd198d9cb35e2b8cc6255cbc604b851ccc9e209ea0459448722750b790a60a1cfe871781c67629e7e2635908b0b0681a97c8eddbbb173932da2e8f17edb93476ecde2784d764244280a44bf2acdc9ce991c71e4145d1ab7e6a3d2e74ee64a36d276fa224e8bcae21201e451d6d50ac6259d1949f98b1e3c84520e0a5f3354b85d29d648b57bc56062e5c8acd8bf5ced19275e99a15c3a356d66855dcce075fa51dbace0eae669edc7bfcc452666e01649b3dd7ff5dd78a592168972b7ae9273f8490c9551bb8b563eacac3a0e86abc6c9492e90cbd1014a223732c24ec4f46d3efb1e0d06e1b0eee0e48e92f73360eee6dc5f5f10cfa7a14ecdc1bc4c47827fc3e07a6e61b70fefd098ccf5c213061a6d79c50ad11bcf8ced7910e2551b6cd9217dd8fe98551f4b63e801d8f3c01cd3182b2f93a9c56b734c3b4550ec011e0fb68808c5c86365f3f0a592bba3a3e477b4403a62687e0ad633dda38d24be45d47965031a4e1f777d2f5a4698f2a114021236ab2a3cc65d574ddec259774a111bda1a0a124da221c0910d51a8e4c99345de69df59d14f6ac3de2704c4f0e12009b85c7db48deba4318a8b164452a5ffc7e26925a90e78a29ad22911411b9632e07634326ba3201d45a95f11322a8ae41a2a756ca0244b8278e41429c8a7c2757d730f0e314ca8a4ea328006bba1e89d5a24750a4c456deaf939b85f760d05b15281afd4ed7ee74d25e4b602a69ccc3c63d77549dacabd1b3c8bd82caaa80595e2b2c2ac0d2276661bc1a850ceb7058d0dbd584bede56a9925a8a2409781040635044efe3cace4ca620a5bdbc4746e329383d35f81fffc5ff8e4f1cff22020d3e54d2164c0e9dc5c0d4bbf0bbfcb40ebe8efd85a7d1d2e3c4a7fb9e83adb01fa57800972e3d8f922104aba11eef9dff368a95107cfe06728a2dc8e5d328d2da336976548a6e644b73307bf3a8a5f177935d3971e215ece8a079282530b6f80626436790cb85515b17c4037bbe84d1c1f3985c7a83c0770ba2cb0c56dc50ca65e4939af0b4846aa369b7cd3aac4f87eb69539d68ac18ee09ac7d00036b14f1a08d0d29a16982ebac12c8b9ea4ab928a8ba1aeca50557d0373e834e12135489b2bc9ff924f94c5a27d19a200857916e97e5ea7773f58d51363beed703791f2bffe56f9c43b92a26a52355e5276eecf8da580a999f1f450a6de3c8d62aafd6b0121d51361c0e659d995236b0721ad66b71291babaaae3bea4d35924d9adc6dc80b590791346d1315d60f9312b9fbfe3ab79ecf07493dada7196fe133dafaf095b685ef50ab25c22b1111a5fadc50536dcd1a334839a6ce6960a550d6ebd0a74e27386a8ab6693a475d899e9067afe5ec08cd64c811b1eb9577b27e2b428c6443c90026112b892e92cdaa0899814b791f39d28163473ac5700e8dd61380d985c67a0b193c2b924905e37313e461e791349fc1d4f541382d4d68d8d18b643e0587b582a504d0e83d8e42398de6ed0f211a8d6176ea2cf6f53c834c29060b0193c5c549cc4e0f6178e265a4d28b0498c85bb7fb617719a5cf563967462c1225639e66da27811c9f6857705498bb0cb363d5b3a359f81db3331189000b24537535541e3ef67e1974f1b344c626bc14c3c2ec228687cf60617e0276a78b80519370e946e622f0b87cd8dedb8ca5c52452a14c357553913b88d577795e39a50283aea45d64327359dfe798586a316bb05b9990ab883326a2695c11c3cad3859b327dd235daa4f7c191488c106815720a55d94b2d369d7c6b34ea17c2c0cb6cb24a94c6ec348a164b6fd7365cbab080938b43928e61e0c9111afe9cc95e2d4de7f3ac54b551e87bed642f82042abadaebb07fef4e74747460890c7aee62bfac3306c099744ad27299540a995c5e2a391f3efe29785dadd8b7eb1002de205ef8ce49ba5e07c2b97330db27313635889a060fcef7bf88cf7cfe197407bf88d7dffc7ba4094484d2fd04d09c4827e330543c34d7dc532943ebcc8d5caa826d1dfb10f0edc5e0d00924b20b68ed0ea0be6e3716a70b88651398775f81a1e440a5a0d23126a112b0f2f8dc04700611894e20d83387078f6ec7fcb003d78793506c15d81c665d8148db386db33e62b25a0fc8502dbb366ce63dde0326b7df27199398981059b939789575fbf566217f496556fbd9b0f3cff71c878fb91e5e59d3db633303bd4a76aa9aaaf8b165017e4c1c9d4ae5c77d923717bbb0e1a187716fbc0eedb64c8f8d676d5dba42316c6060d7feaead471eca3ace8772a7f489b6410400b7918cdf8857824d78229bc58a364bcd28ebce671dac5b514cfbc07c994d80c76daf7fa3cf6d3427ea26d7bef68bf48ed81604eafce4999b05ccb06a2913296f68ca6a6b4b1ed7949f577fb579cdb0d798b01cc94b4f992c97da9a6c686ff7c264d19048e490489591cb54d0da62176722972b4b885f916eb69afcdcb3b34ef7fce9114d6491ca64904e273031338c44d84a90a10e5d1d1fc3a71efde7a8a7e35c9bb88e37df799e8e3f8ebdbb8fc16dda86f9cc92a44512b1342c1e8b90b893b96111f582312329861c79b9a978810c9d82d63617dce5768c0e9da36163fe43ad889f696ae6c6f4b2e441216dc0de033d343663181f9f8781804134ac3b4356870d992479e3661bdd771649cd2cc74378efec8fc8a0cd23b2bc00eff065343477e3e39ffa3c1c1e327e268e1424d1b77707ae9c9fc1c0a55129c385803a559c1a0124c5aa7c9f66d4c1054745cc5c06ad0b5e16ca8a70eb2a920ed2a48ac7b4a263c4112d11fd5585afc2e086c75ee7c12ad075d5941b3c19bec5dd4ebb54ccdc7fe430cd451efd0303b05aac04d256344a0c5275c3847ec560a273a279e1668396328c5603d2094d9a1deed9d14a80a41b1ded6db40e3ae53b6766178490ad2bdad27ac895904a64249d565b5f0b7fc336fcd6fff0cf90982ae17ffd37ff1ebbb6ef243b51a6b136a3735733eca1328d5d0c3ddb0e6064ec7d180a762ccf25d11aecc6fb0b6f4171cf020454b924dee9ccc1e2261095af4131e9826a9c83c99aa6357a1506fb3c3c0e4ebf79d052fb00c2f3a7e85a0998844e4967622efdf6051c9266999d0861e6fa0f108915e1a3f19d69b94403da84e5500ae0a68aae5a1a839800b2151daf8dd2fa2bf78fa87f0b61d9049bcd2efbb52e98770f986cf9c1f6d46b51e8c656319257d1e7a39b8673d1b4402df4f75c0572b370a97c41ddd84c54db3b483d3b97d60bc051f51a79266f336b5b1ad729554678b5aaa6a4ddd3adb86b7852e50118aa0d583633619bc202ed56aec9adf045adcab66ec6e7d03e20e763852fb14998674b9c16ed0e7f533639d7cda4e7367a7d05646d74ddab09b15b1d970d5e56360278b73b86b20126ba7d1a4eee39b309c34343e4ad5695892d66e13855561ae940bfd7752ac55ae5d7d59e608dd783438782bc63606a328b85a5145c16324065030cdcab265124cfd3283d731c4e0b32d9123c5e135c0e1d3ceb05094a55ca411383373e3b8657deba26de6e634d1f02d6320e1df84dd479b7c3a6b850ca2f633c749900c02c8275018ccf5dc09bafbe45c6f051d47bef434e8d6274f404a2a1188774e8b0747d0e93008c62ce4c60c24d0e938a4488a3b10bf4770779d519d1f9d0dc0e1de413f8b0382ab0d3395fed1f91aee8758d0ef86b2d728ea938eb6898b0f78183d8d6be0b26ad84706810a99417cbcb119cbb7c017d3d2de8ebdb2e512336f046432b5ef8d63564b5346aea0df8c55fde8b8e6d390126020e349ddf2372269cfa2a966f381686951e3a746e45e95b538d182b06c99c70558c62d489adcc3b51abdd0956e691e33ca56a1f2fb3d1501588ab46c4692d0483ba126f4b7b133efda99fc31881a977df3d8bd3f383181d5bd6392ee4a53a6d16586cb53407aa70375abb7bd1d6d788c9f16b981e18c3eede0e7475b5a2bece47e76403f75d5c082da2ffdab0748f2f12a8c9b0964e3c8e9aba0efccb7ff96f11a869c2d4f432ea6d3d482a2388642771667810cf7ee6cb744e360cf68f636e7e06dbb607d1d31384d5be172fbdf803022f7b902f2661f318d0d2dc8bb46f86005f06b96c94c022ada98246c02d01878fc068e902b205e6ced8098cefa241b2e3d2b557e10fd610d070229d19219b44736fb4a1b6b106f1901189781a2a2be55a53741c07cebf17467689b946740ebc7e623128e6bc541c71b5d46651ee3512f5d2e6a524e5f9371aadde6be2b7f5879710e168b88417165410c0c4704485cf0abaa9143cdd6a422dfd9ea1899fa667abd320c88f6f280e4432b0e0c67e740fe35f9dcea3afd982dfde69c2fff276160597097fb0d38c3371156d2ebaa9e873316e324c23b54420a8c66e808df3a9ea3d7072370ff6a0d853d2db696b6bc00a368925acd12d5d17d1d0899358d75db86a7c7f2c3792b2b2936e9ab2f87051a5ad1e7b35c050b7789cdb7de66ec36c77fa8ef588455d43545e4b7c5d993f6dd5ff577ae428181c1ac6a58b1724fd20bd808b379bc831115353b55bbcbef52ab03535762c2c2671fed23c2221159ffe640f6a03042e262388865948cc0487dd2a4aeb8562853c4523dadb1c12d9d0c9b637d55f0d556e044723124b2678fcf578a8f70ba86f64c9f73adad08df8fe0fbf86d07c18edbdad749a49faee10c6c707e1c66e1c39741ca7aebd201113fa3441a5495dda9d0d64c6419f8fc1eaa57dcc4f00ac60c5cccc0479c949ecdbf51928ad090c5c7d03514e0f35f8c9cbce92935490b416733ec2cb6132428da8a84ea88514ea1bace4a819d0dbdb80430fd6e3bd13fd6444ed04be1c989b8e23ba9cc28ecf1c2423dd8b542c0e9bd985627916b3c971b86accb8ef934d985e18c4b5cb11386c360284aaa4881835aec48939f229f3209c968a88bb71834f4ee1a09a22171d16b3a8d0d13c6ad2c786c9cca20bc365c15501df52a51ad7e4e520953546196f3eaed7e345637d1053335364f89f4077d75ecc4e8e2147c6737a2686482c2b918eceee366cdfb5134ded7b304640e3bdb7df24e31d82d37018011a23574f115e9f1b8ba1088ded1c813b939080cd1607811208b1359fcd2399cac25b5b87c30f3d0a83c9450bcf80604d0dcebe770953a1eb38707827162357912d6af8d8a18710a27318489ec1c8509cc090059dcdfb09600ee0e2a56b2894b328228272895b69d8c1caff99844a20d3098bd5062b0854642bc8c48d741e16a8260204963cda5ada684e27114d0ed22d6787d3e596628f74a28499b169182a6d3468b5b43eaed37570b4c882255acfb185285afb2c703983989d29219b4ac3ed536e90ca378a2eae517f55d56a934ca5dab056bb1129bc074cb6f0b0d25a0f65545c58aee0173acce8701b702552c6df4d97311453f15ca709af4d16719a7eff5c9349cac5386d733d0fecb029a0db18bfde63428216c57be132d2e4ad9c5bac60679b017fd45fc0ab0b15fcda760bc2a90ade8a69783868c070a88206bf11cff55ac803d150b9c7bbbc2b60a2f75e50b159da52d9529c41d9e0e79dca85372591dce5fb942da43fb041ea46b90b8072bbf3d136b8f6cdfebed9f72a7788516d45a6fe76e373a76b576ef3f3e606c925ff363288bdbd7de4118f495509aa1ba700daaaf1e3f5b4a2c9b31e94f063646c112fbd364020278cd640036667c318bf6ec4f63d41747694453a3c9bd555420d6c5c5503526915e36351da2f8ce8dd5e0b9bdd2086941fcc773876641fca79130a398d8c630133b3215cbcfa4d982b8d28914334393b80506418356deca53ab1c7761c9d6d0f6168e202c6470661b5d86071b01096191eb74fbcd4c59988702a8c260f19f426c4334bdcda1736275d936d1681fa5ad4446be0b0348ba099219b809acf4a74a14ca7160cb44beb88d9d9493a2f9057ae08876e716a1a930d1e024936d81c5ee472b352d2cbbc9354bc0297238085d9792c451611ecd4f0f9dfac457d3040c6b717dffc8f23989f4e4a4f1c952b600cbac605136b6f2adf1a25d42f026a553d917ca1229c108630463a396bd9289c0f45fae49860b58bfcb48009166f53ab3c3c9328c61aab026aba085a43432dfa7ada61b73bd0b7eb293cf1c4a7e9ef04aee61605441e38b8977b4123bc1482993e9b58cec06fa1b5a311d82bc7303d92c1f4e034b675351248356368789a005816bd7dcde8dad6886c268b64282ad1383ea1642289f68e9d38fef12f88caf48993afa2a5a1155ffef96731e60aa3a1bb060f2adbf1ca8fbe279a27a7df3f8d64214260b746fa2fbdfdee5b782dfd0676f61d4438b604cd1a93eb2a1632d04a73b0955dd21ec04200d14ef39fa63922444920d20a9b4b11d561a3b2009bdb014f911b0c6668d125e9fcdc046eccb41603b43ee7697e67a014eba0d80bc2b54a2c19914b91d3ecb0a044eb325649239fe37936e98abdcaad5192f5291d5d5dd7a08bc855a357e20f6aea3d60b2d54782d0ea8e3a337e9d46fc52826e321a40fa81dfda6d45a5a8e2df5fe0665a267cfda805bf778626cf639037cc13085ca64de163db68d2732a8eb79a41f805bf77a58823cd265a4c152c06ccf8e6310bfe8ff7f3182640f35c831127e64ab44918702952c123f4fe83b488e2551da142594341bbd935fede63b3548ebef00dd5f6da9bf562d88c65a1283789b79b970bdf86eba1695bc00b1f85f6c79db45136bad0ad9059efc41bb91da1752ba4dbdbe9ac6c9520bb9aaf7353c764ed53d9e0b59bafaf7c0f6f904dcdcd985f5c44897bb1907134542b0cb8e26205f0ae4eddac178de223edddd94a20a406a7cfbe8ddffdfd3f87a3d285dff8ea2fa3adcf4f86594530c80d3f0dd2378a3dfa643a494629834ace82736742e4bdfa902de5118d72c5ca3ce6e68791a1bf59953ad8ac64902c250c8c5c869abc828f3dfd049a7a7cb0c387a0eb183ab6b560727e1073b30b221f9fc9c5b1b41c82dd1240326e40265c80dd43a0c123ca6652729b4a92112bbad0d1d64a86671666cf0266e652f03b0ec1ed0e6079f92a39464669c9c8292ad69c48c4589935297a23461337912bd0f715f0ca0b97118edab163570bbd27210500f50d3558585ac67ffc4f7f86c58530ecde04a2950b3854ff451c3bfcdb78f5adff828b6ff42332c19a21151132641091ce140508b1f16355d802cbb173777796c257f53964fb6e61e9fc8a5ea1c39102aec22b965863c4280090b01c4fae2c151671638233f319786f60405a2c294242ae733b7160ff1ef476f7616a260c87a3031e672bcebd771a3f7af355ecddb30b6d6d4791cc0d20d03089e9c96bb836388ef78cef0a3f49e1be381a6b3695902b253131cba1af82a48892e91276ef79405275afbefe3a8d690ce15012cbd10cee7bb00fbbbb1fa6cf17515433b018cd78e39513747d46ecdb77003e770fa69b08d014663039378a58368cfd3b8fe0ecb9b3707bbcb41843b83a7801f54d0d387adf83989e5e42432ba7f8b2b8787e8c40e0083c1e02198d2efa7ebf108b59e9363b9f4743a31d1ebf0513631154f22e38ec5d585e9a23209240b0c94ae0ca4680c3815c99d6275228a7cc1255b2da58aba4002b777ea77fc97856c696b9459a5e0ab9e19eb93a72a2ae1435f0db9595960faa00e77bc064aba91c8b8237af1771a1a8e0e79b8cf8da5809059a88471a144c104aa8b173f7610ddf182fc1ea2664ed06fe34a4e038fd7c3dabe15fd71b45da374bf7761379027f3253c1bfda6345245114a19ebf9b2c490eba8d6ec05d35465c5e2e633c0f6c772bb84ebf87237a995c8926adcd67443dbdb7a8de0320b707262b84616555ac43b98b9886b28ed7a1e1aef43d94ad043f3e8a30d816b54494db9cdf968fa56df1bd5b19276d8bdf73bb29da8c27b3faa962e3526175cdf7a855297aaddaa786c3fbba9c78f513151dd8ae0e4faf8f98d8ac79cc2ebc87fe4b03a238fb0bcf3d89f3572ee2ebdffeffb07fdfd3e8eee6fe2815cc2c245057e3236fd986da1a271a8335a2207ae6dc65fcf95ffd3d4cf61a789d6e9c79ffdb1818be4ade71061d9d5dd8def1048ae49d8e8f5c855135e2fab003cf7ce19770edea358c5e9d436431822b83af23120be1e8839fc2f1a73e81efbdf047088dcd2116cf8b7c7d5353078e3dfe590210a3d00a46020df3041842302b3bb1ffd027e10ee670257c1db313cb883b97c9c8a6e86f050209c6aa18960113d343702c3b10acf711303049d33c2bfd4c24b2181f9865c207bd3f4586dd88442a8fd012838a34fef42fbf86affcf267d0dada084bbe0193ef8fe0dc0b1ecccdccc0eb51e0f319846a9c4a97914ca9d2e1d7c9e452aeda3071d5a3529d1fdc90835f0989569b5b5785f50c5295c3f209cc3f9177b11a6b550785014e81ab7a2c36020e26faae0276ef6c43737d23060667f1f6c9cb28e4dfc5fb272f12505a26a39cc1ae1d8fe19557cfe3dcd9f7d0d4d8049bab06050240ad6d4d989d5d42249c91cec91e8f4bf6198fdb8cba3a3fc2e1328d6f05a7de1fc7a79f26f0d8da8eabfda3b44e22346e76cccecd11f89cc2630f3f86e6a65a7ced1bff057ff1e77f834c3285bedddd78f68b5f456879126fbcf3bca4a29c4e0fc6b2e3281b520834d500b345cc8c116089c650e762f1331aaf4c1b5cda2e64e35308cde49175a7c9bee4e9fc1c646f8ad2693ab19c4764218f234f3423e0ed8046c71d1c1ea179cfd07b3855961462336bceb86b1414c8b1cea7ac348e25d17ce18ecdd96c46523b0c767304ae55b55075e4b02118591365d47480a9a7dd0d027c5964ef1f82b2f0530b4c385af1688719cb93657c7b56c5a7baad60a78395ff3ae8971d013316e215bc1aaae017facce83473fe4707103bcbac6340378341c176bf0975f4b98e5a139a9d0674103859caaa7863a9825fdc6ee186bb30d0843fdb6dc1f7674ad85b67829dde9fa09bcb218da4ee29696c1d98286b38a4daeafc266e572afc63c00ef71e3f35eb86374a8e9e184d165db85cd2a8aa0439144db92562b266a994b8c2c62644cdbd5dc7f0dccf3c81782e85af9dfaaf08456730b3f8599c3ce5466757900e6786c5564630e084ddaecb343bbd4584d257b0bbe5194c5e9fc495fe41581d4614e2453c78e4d3c82a717cef6ffe33f29992703806ae0ee0f1a7a288461771e08136bcf8ca37105e268fb9a10985420c630313d8bbeb719c8c3c4fef5109385991cd4431367e0e75f51d4846b9c95c5c146727a72ec26671e0e34fff1a1e7a602ffef4e2ff8c588a89aa4e582ce4f93b580556ef4bc3a92606fd5c12cc0d44b94f0bcb19b0cab35ace93512d9081d6a431e762282592ec3e8f8f3e53c2d8c82c7a3b7620115bc0d58173482668cce87d1a9d8326cdf10c228026464ad1cd86e89e9087ce9c1263c52c5c9c95d49acec931e8a04314e07539074d3a321b44f1971f16b3596f8a5856d1dedd23699e6caa487bae8658621666fabec989199c3c3b8c99b965a9b6c99e8e61e7ce067475358af6c8f4f422fd4c21129dc3a17d8f11101bc3fe03bd387d7a9caee7220c2655c02b8f11a7068de46dda6c4e586d16ccce870935d17e6e758a589c811bedd5d5c2a298512e9490a6e3e64b460c0ff7231e8b6099c6a7a3c08d5cbd04724cf29d76ab47a28405ba8ee6ce7ad404fd98e89f95d73299b4b400e8eeeac6c977df25605641988ee16100952fa29832c3d548b6ac9243816c8e4d9a3516115e48c3d8b088a6401001d626b1179043526f3ec9e931935d4abc9dee0281173bd2f9249da74660c58d4424865296c6d642ebd151803557a98244edb65a2637b756bd0a871d00a90ac126a4ff7bc064e307b7b4e69beebfdf6d95c1cb566be54bac74e83289e3d6e536e013db2c881554e4e806fb781384b4ca52054b799dd473a8d620bd337b681ed2254d4295bb6a8df8347d2e5ad4842c9ba3efb2788df8dd8009696e4ca5562b79f4003079303a19f65e2ae7d6c74aa8fd0638a97ac2a8a6bed6b7b9b933b76425a583dbde6c1f3efd027c70bd91ada6473ee8f96d768e774abd7c54e77277e77a3384bcb6a9e366e9b8d54ab12b1f90148e5ab9c129d1d792229d8a8d46c39acf0900ae1e2b9d24c359ec46632086e570082fbf7c0aef9fba82a6e061b4b5ec85d56ec3be5d4dd845c68e9765960cd2c27292ec8a13995416e7cf8711acd983cece66f2c8cb646c1fc3f8c4001e3a7a149d1dbb60f194e1faaa82f74ebc83b74fbc8ac3fb1fc2b107ef4777f7769c3a75014d0ded504a2e69e017cbcc213a962003a2d2b308cb6209a6b219de3aba1e6b019ddbee473150c02baf9c85d964464b471091fc657ce77b7f889eee07c8c0ed4238141283ceda4db1f89288495ac9d0666903f4786be0f539108f2f8b12aabfc64fde7356c6eb81230f63293c80746c1e75813ae4f206e18c307f239723a3574860766e9a8cfe1e0c8c0c1340c8a0ce574fc6352a9f0fd479a4b127f35ebabbb693710d12483b03b3b54c46d24e4633276d2eb8822a459fb53bb869a08d4057464000a79bd2e98218dfe6d646116fcba4e248256334ae2ef4f6ee83dbedc3d2c22226c687d1d810403c91c1507e8cc0949d80809d0cb20b3ff7ec330406ca18b8761e97ae0ec2edf361dbb6ddd8bea3039ffec47318197a07c71eda8dc5290d57af5e446323eb81b808d41450a44d3aa5e545e8cde672e3f1c78ed1389508dc8cc35debc481c6762c4723d8b97b377a7abb10cf4c6397b70e4f3cf1090c0d5e47532580a71e7d0e336361baae0a0eec7b00e7ce9f84db6325a0b40381e65a787c2e0482030885ad707bbd345e053afe20ea823416852c8a1527520458ea9bea60739a918a9560b7d4d1796a48a7f274ad66027a16023d05980c51b46f6b41395f213019426db30b0e23abea26100d65a4f3b6cd5292fba04cf369755960315a249597cfd1ab661b4c16dc1db0d0e569f48ef1373a0bdf03265b37788a3e788b59edd66d7685955ae6c8c64d53b75cd53ea3db4b0783f44895f4bfe74afaff57f4506285b59b25e74ab3a5cd37f37ba064636f379148e8e276e446b1109dc9a8ac8a8eac25ae6ed5540aaea98aabe93d74948fd0a0decdffeff6b8ca477c7e773aa6f2633c97ad9febcd6a1b6d8d30decadcdd145c5b692b71f3a75afd00f310b46aea4f24b2ab9ae29bf6cba9be64735b91a10ddcecf2c157eb85d1e2c6279ffe349a8341da033854be8462b6886f7df735940a7e3cfce02e74efb4e1cad014e6e7996408ecd9753f948a079f3cfe083c9f7b50ca6d83f5416472058c8dc7914f1e44619f0b070f3f8ccf3c7d5ca21167cf91e11c7a0b6ac586279f7806e9ca28327113f66d3f8a81a9d790c7309efedc273031328378720a2db547c8a02fe0c2a5e7c970d740310691cdc751a0ef989e3b85a9996b38b4f73378f0c183989b3f4fe0232fa1768e86d8ec1634756f83cb1d40321dd15bd64bb3a10a6a6b3db01b1bf1c89167303069c18bdfb98660c04540a71606a395ae258c3aaf4748b3f3f373d04ccdf8fc733f8beb0357313e745edf4e595386fcbfddbbbbe9d879a43309441280d966a68d53151227136659e23e918c8b2d2b150ab0f85dd8b9e7301a5b5a24baf0dedb67108ba6f01bbff5dbe808eec01ffdf1ff46af2fe1f08183a8af6fa4ebba8ebdbbef43c0ef25e0f1b6a8fd265225688622eebb7f077ee9cbff04bbb61fc089379fc7d8f52b18b93e0ea3b5055f78e6cb70db9dc8a734d407da30746514f30ba304c6762250ebc6724897f83718b8aaab84fd7b7bf185677f050e730dbefeb5ff8aa1d1613cfbdc97f1b9cf7f19cb4bcbc27d09f8eba112a860a5d98f3ff5240c15175d5b1233e3cb28bb9770e0be43128df1d6990918b563717e0657074e0a98e374556f4fb72cd11081bd742a851e028075b575b05a0964d5dbe075387075e42c2a3933b4821b353534273d7e5a6f4921cd1a2a46a4e9f8a55498401350dbd049d7d841a06d08b1c8bc106a35959ce7748e06db0cb3dd28291e931dd274d068e1aa2c0b72e922ad0bdc92ba59fffbeabb9649af655ac49c5e5b9b6cbf074c3e7046ffdee327685e68e1b344bfd3e994df2d562b6da4e52a80d7d600f9db89b06e2eb256ed09b2a6e5df26d1805b84d0b61235f8009185cd78a85b525abd035156d9623444bb93d0ce4749f0ddcab13693a157b131e744bb1119936a0145a93681ac54a3219a34185b6955ab28865ba2332b8fed7d9d78e653fb9029ee24afbe000f1904cec5a769c3be74690466a58874b182de1d2d080482b0192a28a515ecea6ac7c1dd5dc24be12ebacbd1a274f1cde52d686beb149227732fdebb7a01fd972ee1e8de27f0a9cf3e82867a03ce5ebd04ad64c52f3ff7ebb874799476d90a524b256902373cf626c646ae9101fe7974eee8c49b277e03666309d7867e4486b8882419a23437f85393046432e4f15ac903b641d14c922ec915ca62cc0d742edc5386791bf1789cc04d9a3cf0285a9a5b60b139c863ce49c551341a25633b8d57befb169efbb54fe19597bf8191a1097a8f8654b2a42ba53617303c6c454f5f0b6a6a6bd1d0f4590cbc3780e5c892540e713a8785c10af92c7d27f7c7b1a2b9733b010633e2b1041616170808ccdff0b21585000b8da3bfae0e078f1cc391238f61617a0e174ff7e3f083bde8ecd881effced373034324400af09bd5d87e1f7d7229688e3f4b937115b98a5ef29206bd085dcea021edc77df5e1cdc7f502a4dda3b7ab13b3281626588c6a69be6f12c8ddb24f61e380abbc98a17beff4d68c6043afdad484416e1725a50dfd020004c53690d780918d09e343e36862bd72ec0e872e1e8fd5f84b15887cef61a1a031b5d84a90a90cb04484ad8d6d985211ab748fe121e3ff631b4f87af1ca0fbf89442e81c5e92862f1245d6308d70727914d25a53bfb8a7a3173a3428b610208b4f68c2602a313d29f2d9f70a254a47924b0148d2c4b744a747b3503ac8a0df37363740e0e5a2b0f8bbaebc8c4f3701b5be0b0382463c0e5d4503352b166775a69af05e2e932011423cce5222a929232c3e835dce07ead1521bcb5ab30a746f58a1ca34422754ee03d81b57b8f7f648f958ea5fc10af5751aaf12565534dd38d01ca4aa337546f146d13cbad6d6c3895f52c962d54cddc5517e25579a6d59f55f001be6f83f728b74f74adf9db1d01d8dda47f364b1d691ff0585b25d8ae4a0589ce45594a85454abe2a49af40db9c5b52fd6f923c6edec49d16b33c67c88870733336e4b1444ad455033575f09341d6f90815bdc32c3d85664286999545ebeb2ca262aa77372e88c43937ba7bead8517cfec947d1da524bc0474332564177db36c40f1308cf7ad156e3c0f8d279b4070fa0aba706672ffc00a3e3c3d8def1250c5c1e86dba3a198b693775e26cf7a11a0e366534bc8e6b230297e7cf289ff0e297516a303633874f069a825022dc5058c0fbf2da143ae30619e87bfa61edb76f4201949d2a66e12b0c7217dabd5418025876fbffcc7d87f601f8e3ef814fef6afff184ac624f7a1cd66224356c0dcc212ec6e1b8e3d7644c4dac29131580814954b3a01992ba2b2e49cdb2c040a9d46c49796083ca9343c56640cb9aac3a177076643b96fcf413cfb0bff04ed6ddda871d5e3ebaf7c1376af0bbffd3bff01574f5dc19befbc2cbd76f6ec3f8070741c83c31771e4becfa0bbe500bef1f57f47f35ba6f1cba3c6efc463c78ee1c9479f412e5b1172a726ed34cc70589d3092911e894d8aec3b37244c9121b6da0c0836d44b1357d66dd9b9bd0b7eb713019f8f805809d30b0b78ffcc59c4c361f99eaeae8730d8bf84d797cee2a1a37b70ec63fb0558a94a49a27806ba6697db8fda400afbf71cc6d88504be79f90f108e8d637169116fcf9c149e0baa8d2759ac8e45e1d811d3556b69cd9a55023831023e9d48a43c989f0ec34c803357a0f566c941e31e4319faacd38edada46e4b305948b49b47736e3d08e87b1106e212052422c1c9373cb6493427aaef535002e9ea302815fe6625975cd9f725e8069a9c0a5f0951b1a42375a7bac4e7bae1060f51d56f8255caecddda10dda26a2d8f780c9bdc74f7bd4642d42af1ace750d5256c3868d4deacd1a1e655db9e9edc1c3fa9f55b9d0bb8e1e6c11987c20eec7ea84a08a0f55aefb81221af810d7b57e3c6f3dd6c6a5c11b3fd7bf1f2bb3cecacb160b81068bbe7d1a942a1156bd41ac5edd8c6c051fdaed46e9ebc2aaa2cfbf700a6fbe7e0d4f3d7a048f3ede85fb7ced181d8b91976d248f5da58d5e1f7b8bcd2842562cb96e772a7a576dfa9e525183d9aa6b6df0f117a662288455ec7a20407f2f6160681aa3d797d1d9562784d7c8dc2262c90479bb4932aef723e03721e869466b6b17147b082d4ddbd0bdf02924a251786b6a313dd50fada822bc34c1305e9aedd53b76e1734f7d0967b7bd83f191312901f593e1d2a4492197d9b21a6e066e5b2bfee973bf8b1f9df91ede7cf50722c7ce4df93493015e978fce670e7ffca77f80471f3b80a6861a44c3295d42de6284cfeb96125feede5bc84fe2fb2ffd29e6c353c25728e5d352e9b3ad2d204d51b9db733492c6f4dc007c7575b03acc30a4c8e1603d132e19aece83197e74363d4cd7e847783e8491b133f8f55fff1db8cd8df8d6777f07c54a9140c071fcebffe9dfe095375e46be3249e75bc4e860bf803fb7df432048a1a701e1c528c646c7688e52088516313d730df38b7334ae0924f3e7a1d098b0a6ccf3dffd3b0204051adf1aa4d30446ed2c34e6c5ec4c0819b703adcdcd04e42a983bd78fc191bf27fb5e40beecc0e8c80246aeff3eba7676a17dae1e67cf8d60dfe126588d2e2927b6d16c4cf7cfe15aff04e6e7a6f0e6bb2f6368fa042a5c1941e0c0c815310444cc044458329ecb9e5d6e3b8d8d85e63202a592a77374602912438d378a8ef6063abf9c706838556434a8bac81c4bf570c344859b5672c3460f2a05232e0ebc445f93c3630ffc0caef4bf87fe91f3c22d62f36d34b2f85d16b93c0152835ef65ea2ff0702b4460a264c25c7aa52f39b37bc5c9dd651a14762e477eda6d8da3d6072eff18ffbb1b2d095dbfbca9b99550dda6d428bea06bf6ff6139bfc1f7771ec3bbdef6effaedee63d775b8bae7e80cf7d90eb523fe038dc6de248efb5c4bd560c553d1c5d7d7fe32664daaa1e06a145f29cdd6532a476dcff50370edcdf0e9fcf290ddbb8e495a32aed1d6e5dd554d553430ba130a6c77268ac7763cf811a317e1c5de03259216e1330ca1433b836b680e6762f1ddb84d9d938197907fdcedd88cd585c58c481837dd8b97f3fdc6e1bae0d5dc2f9b397b0ada30787761f9650bb51b900b7d784e9897e64d34c64cca34c46a458cea1549ac695b157f195be4fa0646ac5bbef9e4447c341a8e52c1941074c64c994421176ab0d738bd7d07f6104fffcb77e9bbcf8699c3b795aae51c8e69612dc2e07c6174fc1747a514a66f3858274cc65af5afa1291516d6c6e85d55a4439b7287093d358870fed444f7b2379e62ef86b6ae873397ce35bdf474fef6eecda771f5efbe10fc4a3d6d36915711a982c3b36798980e09fe0c8c12770febdf784e8d9d375087ffb57ff2fae4f5e466db01ebffa4f7f0b7e77279e7cec33f8f55f6dc6c2cc0cde39f14d9169604136a7d32172f9ef9fbf0087c783bd7b0e637e7616935393585e8e229f2b90f1cea150b02397cdd19824d1d111c0b6f67a34069bc85093912e72b9f832018114f6d093233a738b7144e37169f0aa59fc680e5ab17dfb8388471769bcdf415fef76cc5e29e3ccdba709b88e637e618c40e739cc2e8d63393a875c250e87dd4400b106b5fe3a16e787d36f1050c0aabeac625b40918cab057e9f0fd9e402c14c93c849cccc2f603bcd455b4b3d92c9098696301bcc0202ec04a41844cc4d2f08a0e42a225eef8be149849393c8e65234e71e69f46850cad250319959243099135e8b62c94a2a482b11902e299246b7582d3714966f47345fed3cea5de35501491511c0bb97cab9f7f8471d3ed17b6a48a58e7277befe0a205989ba6cd695f6c34519b6f2f90fd095f7c783f0707b11ff0f3b2677aa52dafab1d677835e3d676be751b9653e5780076f908ac1585d0310b973057a67e0d5cdfcd63f16179670eeec30766e6fc4931f3ba4c7ccb8970b37c2a26558e3b721934890a12ba22e60af2a901aa499ddf0f42846862c686af3a3b65e15ad083e7fdeb8d990f47535a3be2e880c37014c57f0b1873ac94048373b1cb9bf1b97ae9c45b9d08a9dbdbbb0148aa13ed02a519e1a871fd3f3433871f6753100d1c40c01a121a8452b9de731ecbbaf11c3e3a7d0e43e80dffc8daf12f028a1d6d18ade3dad88cf8550ccce93c1b2c262b121674cc364b6205b48607cba1fb59eaf6047df2338fffe390137866a4760564ee5f35e08cfc1ebad87dd66152e0157ef44e329b2d71a1aea836458a3387aff7d34960e21c63e75ec21022b56a8843eb6757461616e0a4e974dfaafcc112863fec94af3bc1b520062042bf0d4d97076f045bc7ae2bb78e0c1a771f9dc18de3ef943c90d7cf997bf82679e791ab3d311dc7760271970378c052b7c8e7a848c53c2edc8e7b2b03b9d3091718dd279854364840b7991926772a7215f40c06783cb6d415b633b76ed7c004dc146e90adcdcd48e9989495cbf3e227a3459029123a3c3d2dd382bfa1e2584a374dd04341f3eb61f077b8ee0dd77dec4f2701e7f3bfa3cce9e7b074333e7902bc7e55a9834cb3c8e238f1d424fcf2ed4d606b0303f436ba582586a1e9144888066090d1e1f6627e93386925c83d96c126d1433b733309b91c916114f26d1d6da2291b485a5b8cc5f2e53a2a5a0c8e22cab45021645fa0e9748fe47e209ecdbff1082b54d18bc348c42318b5c8135506cb406580386238a66b91725fa42f3c1156866337356cc7ad76655ad020e6c5ac9b85235c9d77bb322e71ec7e49641e23cd74a29e0bdc74fd783e76e75a9f08a1dbba9caa9dca277a6dd266272b3f66635d951c3d61ae87d082475dbd7fe2169d71fb421a1f6018eaf7d04c75a4f78dde86fb7ce276f8ad2ca40658d8e82a464b4aafcf9faf76ed4c48f174da694c7fc7406268d231e15041bbd5251c29ee0858bfd589acbc3efdd05040cc231e1307a5bb30f478f75e0dcc939f2b6f308d4bb25b7cf87e7469e63a35104026ef86a6c64f835e907534828226c363eb6049bc98b2f7fe90bf038152c92873e38328ed0c2087abadbf1e20f5e44a0a1050d6d2d48a6e7912f46e0afeb1065d69ef687f1dccffd1ca6e62e23b65881215787377fd42fe7d0dbb813615b5284c08a5315510a17c139f6b62d168c93117eebe5497cf289679088cfe0872f7f4b0094d9621742a5215720a356422c9e234f9f5e2b91f127cf3b95cea1b5a511e54c1e57e7fbc9f0eec1279e3c8eabd7aec0e676c36177c2e570a2b9ad8faecf8ac66003ce5e9ec02c5d97c043969b2febe90832bfd21f2795ca221fb52058b7133eff5b68acefc64bcfff37cc87c6d1deb91b3fffec57e8bcc99b578d286435c4b42252190d0e1737d7330ae0e1867a863ca7486c189f98413e4b002d1020a06483cd62449c0c7f281cc3673ff92819eebd04b66a512003bfb8308b74228b4432038e41154b4c60b6d3dae1a8844dcaadc3d19228d06a8638befbedff8c17befd57041a7288252304b24a025add5e02a52d41d81d26381d0e0483f5d8d17d04758e1e78fc342e66272ef59f40c9984763433b018828d2d9182a1cc92a1990a7f3cf11b028168cc26db1b8ccb4ee9c041a52f0bb93e8680b229d4f214700ac4c809653659c1a33db98a7c3eab4315aaf34263e0b7dbf072e6390cef92acc4e13ec3e0f12cb2954b863a262d21b2512a0e6f2e03277ad2580522a17a553ad2e31739b0ab635d1136ef7a0a72e456ccd64ba97ca59bdc170183191484a0eeedee3a7efc19e42966ef4cd16f556ea526eadcc51246459a994ab5a162b4fe58e918315ed930f1799b8db6a9a3b4535368bbe28b779eda38c84dced6b1f3462b3b6d246516e42cd9b7368a8fe7f05821ad68c0fff93fcfd8af7a796d772943650b3e4c7e8e828bcee7398b459f137df9e46647e190776eec1f6dd5d08a7223873e51252cb2a6add1e34b5eda0cfa9b4c68c9242d8bead1e751e279a1a6dc22b2992b160fd10ee97e3701961b51b74f22979e8b9b44afb555e52225cf5918c65d157db0abb3b4f467504330ba7f1d63b2fa1bea605fe263b92cb1a1e3ff6295c9df93b78d31e145201d47af7a26b7b13de7af7bbc82e1bd1dcde06d8b3d8d1dc8b93677f846f7defcfd0de7004dddb7bd17fe984349ce371223b02a366c45cf8327ef4c60ff1c5869fc5cfffec2f6268f01c86fafbe1329925bac264d652b180702c0ea7d32724cd6cbe2ce365a3dfaf0e0cc9f11aea5b71df0347c8802ea052d6e0f51258301288a02167c3cf00b1aece87ddfb9fc5d0d0192c2d2de87d55aa8476e628e4c9a30fc546c8f047089cf930333a8dcbc3afd1b859f1cc17be24d552c904971e97e0b21725c5d2b3bd0e1d5d6db87cd920ff979e3e34cfdc55b7a229989899472a97a7f3e6eec56921e5b2860897154742b1ff9fbdf70090e32ccfc79fd9be7bb77bbdab37ab59b6dc846ddcc0c6c626868412c0408010202421248190fc08811052803f2590d0420281044c31181b1b837b91bb2dc9eabdebee74fdb6b799fff7bc33dfdeecdeeedd49c858966fecd5ed4ef9e6ebeff376d5d7a6ea07bf020459059a0e63706408d1ba188aadcc606ca2a7a707f1d1148647c7242c84e1b5c3e1e7f249f40df58a44a1bdbb014b96adc039e75ca2c06a070e1dd98d6c7e48b5cf94a0731b77dd8bf6e67d6819998b210510772ac0e90f59e8e9088a5dd2e848067e6f40923dda691454f9b98ccc9b70d42f73686c3429aaa8454b1760f182390a1cef9320737414a0970eff7a8d8884a8184f0e62d5c2b3541f46f0d053b7c1170ae0ac9ee5688eb5e1c1071f403e93171b2a4aa2239100d2b99cda77551d825ed983e93a0c2733b6db86abd6be2c36289848e760597841f8afd31298d0f2dea7a05f9342a512b360f678d11dcc55412ecfaa4800c5f5e09150da9303d01b53f1e916c4bb672cae38c6a3c71470cdc9c6c40c983301f40432b5d27e3faf1a96537dffe9a0353a51d98ecb98551284312cb9da40b362e79051dfb3f2614e965c2e2fdca56dfb60c755362d7bfc789e51440d21829e725854831bdcbd7707fa8607914973ae64a5dc0dbbd6a3ebd10e585e028d08162deac6931b9ec0f2550b316f49c44e41ae0eeaf8172d8c88da62c386fd88859b51af884b51f1e173ba5a8503677c8c91c1049e7e721f162d69c3b2158d0ad8f8d0dc50c0d1237b9028f4e2a96db7e2a9a7d6233e1084bf4037de38162f9a8f8e0e0bbf5c7f084d919558b0f40ab4b5d563e1c2c5f8c5fd8f208866dc78de8d58b0a809b7fdfa27f8e583b7e0d0f1c7100bf6e0c0be2cd2a951f5fe8c9d288f46ac0a9814cd386ebfe70b983bbf07d7beee22b476cf4560ef1e11c9336a6ba43e2ad280543281bee363686f0ac9b8c6a211e91fba162f5a385771ffade8ea598895abe2b8f527b7a0982e62c5eae578eac907f1c8c3eb71ac7f18790500fa070faab6181265969e3886c7cef72641f054b9ed2d4bd0acda78ecee3dd8b36b97020226def1eef7e3fdef7e1f0eec195760238b552bbb25247b2ac5ccce1e747777c3170cc33232768662c6eba04ac41791dc3b4323230806295d488a7aa4291655e0f310f6ef3f8ad696062c5cb010e170131a9b5bd4dccacbbc62fc9a5422a1887e0ebdc78714d7e4457b673b0e67fa25005c7b7b2be6ccebc681bd0771d9e55760ddc5e7a190f5206034e0d1233b319618426343039207c7d4987563e19c6538b2bf0ffb0e6f479d02b473e72cc2fe839b51df10c4ca052b71b46f2f72c98c4427f62970901d53c45ebdbb98a5c4cf8370ac1e23e34924c6c731bfbb1307f71d47efe00822c1907a6fc1b137a91375507d348aa50bcfc5c5e7ac4367cb1c8c0d8f638b02901bf76c4138125160318e825a275ed526ae25eead8dcd75b256984cb150915f4c03924a23d832b06298b6c1ac69d9d9e0675539139d44ebf3582c8ad9d0652fce83e2d6707878929442fbf5ebdc395329262ae287da5c6b2e2fe19cc9fdd992b5c0f3ac2e317e5bf4fb8c3dca814941a2804af236afa7943f8912520295603020a09620d456e57a9d48948e8780c73682b51d75cae750d946ebfcbdecb22b70fdefbe5e11a5344647e3e81be8435f7f1f72a9b4e2fae7280ebc0fe9c43e6cd935885fdf311faf78d5f968eb0e2a82139444757cd19822e4fffbd36f23de5780c71f4663b41d175f7a2ecc7c51118b76054006d1dae147433480de23fdaadc18366cdc855f3ef2551c3cbc4971dc63183c1e4776a401db8afb555bd3b0725bf1edfffb8422e88aa3f7d5c3caf871e3b5572350e7c1c0f8f5685520a2ffc830f6ee3f8ec34347114f8da8b6fbb169d79db871e9fbb172f53978eca15f2214f62bce5a72e229d0e647c63a829ffce4b31849bc1dd7bdea75181ee8c5ee1dfb25fe8844aaf0d03db888e3032931ac3468a4491b1145fc53a97134c4ead0d94d23d828162f5b89f1f477f0f35fdc864c2e8e9d7bb6e3d1679f55edb650a798c6f98b5a70bcf7488941c8e68aa58ee7badffaec06c41aeb101f4b20912c28e0b608afbbe1dde86869c257ffe73f2534fbbcf9af11f51cd561429098e8c53204a412c0eaccb894dcf07741d5d32a7a05ac501545e23e3238264903b76ccda2bfbf1f175d7889022e9648729a9b1b10f40471745481a8dcb80213fd686c6d52202120361db92cf3158da3735e8702014164d558ef3fb80d9b363f8ef8b822ca85a2a882b209db55bc981fc6b18337ab3125a04ea1b36d295a9a6248e462c82b7097318fa2b94b01864cab027b2348c6e3d23ebf1150636e4990c994a9cacae611f01d115b9fc50bdb31964a8a8485edcd1715c010094a001e53eda3fe3a5a8f60f1bcb3f16cff133876f43886930322ed09840230d359c44793aaf34c44a20a80aa7375464881d084eaff48994a7d92aa73122851eb8be05f7d4c67206703acb9b678761689903b78d2ecf1c21db6cd88638848e3bf69a40f123db050ac185543428b734cdd797250a1baa99e1bd710150055394ccad5d5d555b6d0668fd31b98682e8d0044831012b4a4e258e36af31e57044603127d2fa52a32f6cc95c3b9e418ef89a780889cad92c7801dccca33693e1cdebf0b4fde77a77ac6521bbe855426ad88645ad48cf181110c8f1d5544fa20b2a902766c3a8c1ffd74ae00936843b0146536a728ffc6cdcfe0e8d13eb50e026869ecc1fa276f874fcdc75c529c96b1fa3cda88a4253f4aac2182defe611c8f6fc5605f9fb8745a964711d231555fc3ce0173b05f11cf02e6cf59a908fec3d8b1e5090c0faf4728060c0de5901929a0b7b71fd1d606c589037d8aabb672aa1c3387fd7bb7a8fe4b288e3a2ac1b4c41554b649af227461ecee7b1ac93b931818bb006343c3121dd610f762134145f89b1b9b1521b744ea41b7e278c6c291be8c22941edcf3f0766cd9934424729b70ce7b0f0ea3af6f10033ffe9570ce2905a0a83ef084bcd8b66107fa7b7b110ad5ab8f25f15eb426ce10d5cb53f01cf5a1aebe49011d459cbd417cf31b5fc6cdd130f61ddb04e4c37872fd9db2d6e9e5c2f1dfbe7d0f128a48c309ec45ef219f9fea26dbf3c4de37ec4cc594640d8c8c2842ea915835541f1deddd86edbb472567d0e8d8b030b71cc3f1f81808c3920a3cf8822632893189d3118db5883dcbc17d7d64a7b06deb3e1c53c0359da3ca25ab0005e7810fc9bc9d28cf50008ff14dcc026d9e80bdbb7762dfdeddaa8df5820eb37b120845c2aa7e51013e89b89aef795bada2ba535c8229cd20d53fd29750c0782f428a89b30a7666651af6d2f694de441e6f4e01af2ceebfff7e3cf9d8934825320a78f56268740475b1909a3f0a2879792fdde10de98754428dd1b81a6f05dc24d16220604bad2b5cf1f55a294be2478f1c059a282de1feed710ccd6d7bae596052ea4012404f0d5c42a2d7dede26217e69614d1033a226a96d55ef434343836c7614316a823a7b9c1c48248a4f26534248385199c08b9b48b1589c421d674e52e368e357f193afa2c6a9054aecf3966cc04605189905262f1e603255fc122d6aae94b2d8ee8b45f12cf131589f63082b2266ab22405415dd797f5f2f9edb64ebfb0d672e8b7d125d49cd22c21e3f1675af10494ca19895ccb57d03a60216561928ee6ae9c1dcce79e2a36016f302ae44dd13b6e4d9bd8a38194e98fc74ff2882011f16b59f83a5dd1738e0cab1adb126bcca6c895f0edd46ab18ddf60d1e8035604b8be107ba1733ea6a426265ac3a6ba52d2952ef4aa713882a4278f1c5573b04a52271b67a572e975644ec00e6747563e1bc79aec565943868893be25eaf4238f38ad8a7600d8d4bcbeb635d58de3c5724227cae67aeb7e4529acf67b062c56255df15136bd870ef010569a71df7c5665412c9430a309888061a60f92df4f51e282d78d621140ee1dcb5e796b98157e3f27536630b13f3c453aa570e819081a6b6b9ce3cb1d0d4325ffedad14c2d9bf07a6c1b273dff74b248da7b48e4d3851e94074ab419236d0ba5df6f33697a4f33ec207c309d04945e5bc535e1bd5eea27f6bf1d3bc74267b7632be78c9124de732416d95c56c034f7cd39f3e761c192453256c6c490da63aa3ddc4acca407870e1d1695a86e63b57d53b75dea2dfd9777faca8b09bbaf5960523254ac6679af8f68b41e77ddf56b6cd8b0513af0a28b2ec415575ca6907b18a30a51de79e75d58b56a05e6a945497f6e8ad0a843a52117336c12b4d0b8d6e39995c84c2d29b1f3dd0c29ce4bbb9bf9fd63686b6b937ead054e3876764c888ab1f578857301acaaa277a056bc557bd15acee6af1757ad80412f2682fd529298547e6612704d4004e719899b6927df840b88b8b93f4dc0f47782e896d636d96ca73b428a3b9ed9980427ebf0ea4e727df942a54d2f18ac9b916eb0be3e5605d257b44595150ad64dbbb6277ed8fb6030a848425d7892cd0e815619e150e02918f44f537ea06c45536ad0d8d052d196e8299d6b7e3fe3cdb8eb3513e709a3e4fd297f035353cc52b4e18adeb75c01a62d97b1b7dc57ca1651ae7ef4fb5d3b9e448eb51cb061945ee00ff827a92ba79ba77a5db03fb2d96249425d39ae55258d3a58a1c76383e159554ed56dadea598ae86eb9e5676a62d7e34d6f7a03befad56f887e311a8d2aee651f7a7bfb70e185e78b55fe77bef33d9c73ce1a75df1bf1e8a38fe2c1071fc60d375cafd0fe5902505eac84edf93e38616d49d4a8800c6e2c9cbf94420d0f8fa0ab2b50f29298e9b8d99c8a575671e573d3da681896c39794e77ba0c8df788122149e2ca1e6c7ef9ff5389b99cc0eb2613386858189cca79c4b139ca85115f051ed4350321360327bcc1ed333cdc669571fbd8f56bacb6b0950a5b4d2bd4ef43313d24643325b53ca43a9a06999b312934a12655be557476cdc683a3b3b108f27b079f35634353560c78e9d78f6d98db8f6daab8558518c75f3cd3f56d71a71f8f061dc71c72f71cf3df74a877ff18b5fc6a73ffd09343636229dceccaeb8aa2002a2bee1a4ede8682f4997084c2895b28d15835575902226ae81ea2d2777cd542ab6cacc36fa2cc5e16eb3232e4a4a749a9a9aa47e3eefe43c3ca5d22c2786068dbb743dcaae3d9ff379a25f726aee261289529d67d55133634e086845c4acb875cbe5fe5dbeb1566cd0b39d77da11d2d371becfa45ebc87fbe1c0c080d8469d08c17ebeda2dc9510301b4b6b60a535efd1e73526a904af56ae93b6c5522c10944d56788e4641698b8c4625a7757eda05a81fac1c1c141e1a43ef8c13fc5c30f3f2284f23def79373ef9c97fc4c68dcf0940f9d4a73ead08e9808011daa1dc74d35bf0e8a38fa3bf7f4088c36fc58df44578d015504b446cb597367e9dd0efd73284ad6920cbc96fdaca509dbfc14d406a45c79820519591436d5124c79dc9ccc6e8a28c826d0bc82ca756de061db42bf046241f88594ca9bae5e055bfad625a5c4f0d1a285612c3b2802a2e99ac7522629e89b2183db32ee4873f509edbe54c072633b131a9b6514e6c961097489f13b4cfce8f8392619e06ccd5fad2ac9a5369f678a1e7c2e9066666024a484b8e1d3b261f6d977122e53f1f9207bdc7d25481660bd42094afa599b553efa39446179d500e5c73221c30668d5fcbf9ea2937144326c8ba7517e1c31ffe6bb9ffd65b6f17490a550f041d37def81a1c3870087ffdd7f6f50b2fbc400199213cf5d433e8eeee424f4fb7484b6637adea07254b74cbb5ed76c64ac084fdd5dadaa208bbcfb13bb166bed04bc9a1807267e0ea99852bc182081b3d95921dfbc4c38f3d836ffdd78f912d8c22e04da9f3f5300b630a9b64e06f5d8c60fb95b07219648edf8762765481997658de0cc2d1f3e08dad44ce4357449b6ba00f43c0b03d2ef27467b5c8add33e266f7312a647b876d9344dfb7e8d590c272a1113cd913032a6038ddc98f8feafde7531ce5dda3ae331f07b24feba18a515cc09290033b3f21df484a829f1e2a33e8f781014ad135979b5250dcc2d23d6fb0c67fe5b58366c032381c2b1372b8a61a1636458c3aea46cee599805262ff2e374b023e3fb495b289da573455d5ddd69d137ac1725d73449203861bd2624887a2d4c660cdcd2457d4ddb7c1514e359c8171c83580b98f5ca29d1ae92f1ab5103ad8d8c0ce31def789b18b71d3b76483af5aaabae10624a8efea69bde8cc58b17e36d6f7b33eebfff419c73ced9024ca892d8b87113d6ae3d5774fcda2571f6a84ea208c81b1b1bc4282c9bb5fb8a619d89cc1993a25aa0b46ae2c3d226a325298cf6e931aa0a1e6a79e8e8056558d537a96d3b9ec20fbefb55f5508fbaf9803a43bb02bfc46ef0b42860d23c8a74efbd40fc205ba1fe6f40b06d0deadb56a210d98ba2915408c2e7808902224c5daee8705ab53b5534440ec3c45606374a0213a786d24e9ed724d3b273b858da449e76390ca55ec8e3f7af5b8db5cb6a03133eef75000d45a87b86b378e44802d72ca8475734208b836eafbfd83182a8aadce5f3a2769c0fd659526d38cfaaef29055a0e0f65d113f5a34eddcbfdc5e7d865149df804dab3c02bc1c49d3e76b827965774796ed058f299a349ec1bcbe1bac551d407bce276aa0fafe372507436323dbc45cbfe6eb9eef379ca6d823ce2553131f886736e2453442257449713c34474de309cc4711312bd5a36462f054052cb08f84c39bc4e40c617ba5dec5fd68574e3544a717e13698ab655d3129c6ac6ad5a705d6b7d94bfdf5effa6e3e2631976c6e8596052c6b7e9dc1a930fa2c30b2e582bf60e448b3c962c5928ea1dc645b8f8e28b14973f2a2ec57ff447ef169d605f5f9f18bc9e7ffe5ac9369948242705fa9a3d2ab995a24cf886865809854b68f8522441a0ba2e43bb0b57868b47c942bc82b1adcab157c6322921574ce684837e454cfd79782329305939735678832df0071a14a8e8873976abaad630426d9df037af4243cf55084516c0f28450f0a41044bd02226101348c18c94d284003b27c1d720a5864181c8c1b1409b9e9d841397ad90982694ef8f0994e70220920a638919c81b02f306953d06da09384d76f278ab31d26bcd83e92c5179f3c8e952d01f43406e5ed04de3fdc368cb6ba002e9b1f93778a74443dc40ca601094ae5c1c1a1143ef9702f3e7a71072ee8090bf880e31540290e8356797d1368c0075bb2e373825ab15accfdc2d0d8a60356d62b6072f78138ae9a1f4534a43669c37402a64dd8f6f8c5f5b6e8101453c08b1dcc0bf27e3aee32226540bd3b6348204ec775d3b025441a501874a2d51ba74722ad6a158e51214e9b8a50680fa06a07fbb29223375c2eb5b5caaff48ed0d7ed18109eaa1c69b5672b0d16ab657badf5bc9b609221a3fd03b979da1c4c651459cbdec0dd5fd5d414b50c8cf5bb74a806f73dec0f9f446f9dbe5d95efd0ea134a04487c1989574b72ddeb460386ca31d5656823f349c6f635faa516487013f0cabd473fcfba50b2c23a52bd5c6b4c2bdf55ab1e53cd8d6af5aa9ceb86813203d7e9dac80718fb242060a7e804589b9598944890b631a9996b459da76788bb936908ab0fbab7f248a552124c49bba712c48c8fc72bc45bb30064aac3b6ec9e9cb9c6eebf5a806672bf6a82e2d1ae70b5b25c5691a2e8d7567ae5944d664f9dfaf891431ce1ba46209943c11c04242df89844ce6c08f700f59d68ee588758e32a648da2484a024cd75ef42112b0c4f02ba3887c365fb0a34f06bca80f7a10c87b90a6e4c3f44a8e140995eed4c97454383a54ba9cf3381ba7654b5ae03324ff474d31a1ba76f7de38ee3b184753d08b77ae69414c01959022fa01b5f11e18cee0e66da30829b0309235b1a4c92b9b0689fa78a6805fef8f63cb40062d612f6e58da88870f27f06c7f1ab7ee1ac3fcc6000e8d6571cbf631010937ad6c44479d0f3f7e6e186155deb6a12cce6d0be18dab1ad197c8e3a73bc730922ee0ca79f5b8644ebd631b6c296065b7efbb5b86309a2de086c50d58a7ae6fee4be1b6dde3c828b0f3da6551ace908e3c75b87d112f1e1e573ea70f3f61174a97acdadf7e2f6ddc3e81d4da13b68e295dd3ef4250bf8c5b6110937be349443d87109e73b7d8e548471486c0da021f1314cd325619b8ad81ac694dc3689393f6e424682128bc52601484dfcdc3157dce7488cc80cf1594a72dd44c2cdcdea737c966b4b4b7bf47e371167a4fa7b2adb4abb39b6a1a5a5458838c322d0a89f627d3babec0458aae4acddd2269da38ce53114009f77277f73133c777d7890f1e3bb69b3a78100f75e126996a3a51e5aaa53ad5f2ac7897dc9fb184c916d3a7efcb8b48b86e30589926a97c9f1d275d5ea169d0456c75f615c2b9f9390cedd1edea3fbd4ddefd5c0ad9ba8d7a24bace7dcb9731593bc044f3df594d4937da9dfc97ee27b383f446da2ae93c9768f27afe9fed3f3836d24e09c4aa553099834a0679e9fe9c068e9b7654bbbe5bd8cbeccf1b166252665aa00a265da31cc1e2f46f1b2cdd994859db7dcdc6805c781c9f9712b978329624597b8bf628330d50264d6f980a7037581068cc4fbc95f29c01187c71f42de1b80af71113a17ff2e024df39057fff98b8a4330835228434af80345f82995609af2a2dad8683de22da03ee441d464da72e21dc3ce506ed97109a887b503a73beecc064a1149c5fb480c3421996d2da37c83d0f56776dafbf68fe3338f1dc7550ba3d8319cc5671febc7c58aa83785bc48e48bf8c68641f5d7c22573eb715c1173afa1637a4000c9df3c700c372c694456556edf88221261b5212b50d555e7c73675fdf34ff461555b1dc673263eb5be1fef5ad38ccf3f791cd72c8a89a4e5df9e1ec082c6207ebe7b1487c60b6850e0e8c3f71ec3675fd983cbe647a57d54c1f4c60b1857f578e2581afb477288057cf8e747fbd1150d8a7ae75f1e3d8e8fac6bc72ff68e63a12aefca79750274d6b404c46ee7ff360fe1daf9111c4b14553b8bb879d320c6c6b3b0d22636ec1fc1b59d4584bc13aa9c4cce14f596668ae99de3f1d6e66a2b27623560c28d97c4fc8ffff88ff1f297bfbc8cab7ee8a187f095af7ca5541ed5969cb334b4d7444eab818786864a447ae1c285f8ea57bf8afff99fffc1edb7df2e5e12fc708c49904850495c085cf87e125e96c5ef94f2f23d3c4858f95e3e4ba266dbcd8dc87dbc9f656880c132989cee6ffff66fd1dede2ecf3ff0c003f8e637bf2912624a1958ae9d932827df590f7e4800f90e1d85971f96f51ffff11f52c69d77de29ef2181647b596fb695e59000f31a9fe7df77bffbdd38fbecb3f10ffff00f62fbc7fb5ef5aa57e1d24b2f95bad02b92ef6359fc6bab828b25f0c136b13d9a88b37e6bd6acc1fbdffffe12d0fbdef7be875ffffad7f8a77ffa27ac58b142ea41b0c11010dffad6b7a46c8ec1e73fff790169bcce7adf72cb2db8edb6dbe43d1c079e67797c17dfaf0346ead011da7ea41a98ad66b0adcf739c5ef6b297e10ffff00fb16ad52afcfce73fc78f7ef4230963a183965d7bedb5d2cf4f3ef9a4e3edd8814b2eb9a4e4a1c73adc7df7ddf2cc95575e890b2fbc50faee97bffca5cc110d78abd5a9720dccd4c05c03441dac0fce3e1d500c9aec6fb31213b768b0a8164c5a92f9cd1e2f461550c1891d6154484c3cd5759d359479a850e51835b803595c4c6846354c621fc6ada08476e6c70c35a0e7acb7c3f02bce41a1097f74092c9f099f9951377845ed61a9f9165004361a0e20aceec9f9b318b3f24829701250a0a15571fe11bf8174d08f3e4598e399bc1d8b850bd7f2d8a1284d5bada3ed236c3b08d336d67524731ec3336943f13804f4a1434905060c7cecd26eac3f1cc7ffbbef8800a226f5393896c39ed12cfedfa53db86a413d1e3b3c8e64de145b112f2347d6fbf1ba65cd48158a184edbd18ecf6e0ba3bdce87572d52f71f4d41d17e7cf4e24e758f89eb7fb01b3b86326808f970d3aa6684fd5efccd7d693c7a2489470f27b1423dbbb03180bd0a201d1ecf954623573445d2f2c10bdab1b821809f6c1fc543aaaea3d922fefef256ac6809e1f2efeec0fa2309d5169f02188a63f3d9f62a1cfbf3bb83d83d5cafea924783d7c2bed11c9eebcf6045d483e6981f478f1bea9a89b0614ca8f454477ac510cf562d5a8e34ce1d5ebb968ac09a622326d126a1dbb06103def4a63709d127813b7af4a87c2771a41b26891909316dd648c47b7b7b85201278931092d06dddba5538654d60789e8484c45273f724a60437fc90f3e7bd5a9ad1dcdc2ce5f0993973e608d12471e26f72d4040ce49a0f1e3c28f5e6755e633dffeeeffe4edafda94f7d0af3e7cfc79ffcc99fc833fffbbfff2bf52421e4fbf93eb6834478f5ead542f008ac785ef71ba51324cc24e80443041ecb972f97fbf8e17bd926d691e5ecdbb74f9e2378e087f790783200e3b66ddb70e8d0216917afb12e2c9fed6219ac970ed4c8e73471e4fd6ce37bdffb5ee9efdffddddfc53bdff94e01903b77ee94faf1ef37bef10d29d78e486d94543a0425045504887ff9977f899b6eba094f3ffd34b66cd982050b16489b089ef4fbb5b487efe487efaf66f751b271ab6088789e655d7cf1c5f8977ff917f9ce7ed60085ce17ecabcb2fbf1c9ff8c4270464104cf13d0425fffaafff8a8d1b374a1d08941e7cf041bcee75af1390b77fff7e9957175d74113ef6b18fc9b8b2bfa6528d55072013d16ddd9a08b70a72c2c5de66b6982199b672a665ce0213dda17658f9c8acc4e4457a04027e09635f8deb985844a82a3199ca039774dd534b3f6a791c971d06d44a23106c40b8e96c34765e82ba96c58a23cf8b8747a17004be621382860fa68fc69a765238e62e494371eb757e344623688e869062d22d45441536913c239e881751050872054623b52bea2124a276ca6bbb42db04d5f6d2f159b4c350045511e7a418c8565195115c188a70b585f0c08138eedc3584277bd5e6af0875777d00f7ef8f0b306a5620e2577b472443ecc6e3195cb320601b8c2a709454956955755bd214c1671eeb57edb4f0def3da105780e1ee7de398d31014d074c7ee512473bcd7af00861f897c41eee516349c32d1a8de412907d554ad611fae9c1fc5055d75b6653ee3da141c7b13b559a5d53b73eafca286902a631cf7ee1bc5c65eafd8c7acee88a03719c72347e2f8e1661f36f7a7b1acd12fef5eadda69e63df8ea130378f5dc00e6a9e7612651af3a6a95bad6e9579b62c21e4adb86c716d1174d3b4480d7637fc478daacae6bd71bb0e5a446a8b6919388edddbb17dbb76fc765975d269bf35d77dd257bcf673ffb5901252432fff77fff274083c481cf30770909dfbbdef52e2c5dba5408c53df7dc23c48fd28eebafbf1e6f79cb5b84f09010f1dd1ffad087843b669dfefbbfff5b081789e63ffee33fcaf394787cf9cb5fc6ba75ebb06cd932515b907853da70e38d378ae481c48d01237ff0831f48d92452246cac03df436247904562c8720810f84e12b8d7bef6b558b97225befbddefe28d6f7ca30023f6c1d7bef635015c6f7ffbdb45c2a2010341090922892a810bc115fbe1befbeec3fbdef73ee92fb68beffbfad7bf5ef20c21e061dbc9f5f33ac1c4134f3c8137bce10d023ef82eb6e1339ff90cce3df75c7ce0031f10a0c777701cd83745c73e89e7d7ae5d8b37bff9cdd2b71c1b02267e6c95fcb8800aad1e71db58687044e046e904093cfbe0aaabae9236b2cf6fbdf556e90b020196cd7e2298face77be53925ed592c6b9d5215a8dc73ea1cbeee73ef7391c387040fa9340917dcd3e23d860b97cbfa6718b162d1270f7d18f7e5480f0912347e4fe0f7ff8c3d2b7ac1ffbe89ffff99f05d05012a76d6daad5cfad72d2aef6eebd56af1177a8023748f138ebc210bba59cf3e06f5f95735ac7639f2eeec1ece7f4ff5433a5303cc694d985ad2af626fa078d9d33996c558989a07ebacfda061fb0d4c26feeb8142dad6b317a743d8e6dfb0ac60edf8a0872f0a20e4545082d9f22b23e2e463f0c82074578fbc6f2e81fcf21a7ca6e6b8a624e678b484d129245b58870c087b0cfb67d2070763c7a6de355f58f5f3e7616659fd71030e4677868279b6eb5f94df7bcd72c8ee1756735e23b5b46b07fbc80bf7c59a7d86790c82f6e0ce04fcf6fc76155b75fee49885dc7399d613b6f8c22bcb18017e38ae83f7c28814bd433af5fde84250d015cb33086cd4339ac6a09e14fd4f3b7ee1ec37dea9e0fbfac1deb7a22b86c4e5401020f62aa2fce570084c0e043177520a4eafdd4b1149a691712f5d989f38a26e6ab322fe88a88254d4f3480351d21bcac278cf7ae6dc553bd69dcbe278e3f5cdb866b1745f16ad59ea0ead3070e2770f97c55dff6b0a87db60f66b07734871b9736e20d2b1af196554d32e6545fb11d757edbb38842a848c0236a1c0e7ec0efb3a552e279542c899cab71b133d95bb8399340912892e893e0f13b397272f6bcf6c52f7e5138f077bce31d4260492c4960c8c1ffdeeffd9e9ca30484208544977370c78e1df8b77ffb37912a50144f8e9f049240844492659173a79444d7994494ef2500623d48a4c945137490f3a61487360b24f00448246e24c6044f046d947e68c98796aaf01cdb71fef9e70b08e06f1279da3f9028b3be2c8ff5a01a88a083a0478cbe557fb09e94d27ce4231fc1638f3d863ff8833f90fb5ff18a57885a8584fc95af7ca5107b4a2008a8c8fdefdab54b083debc6f650aac1f63efcf0c3f8cffffc4fa90ba54754d3b04d04555a2aa40123810e093c09f1dbdef6367ce94b5fc25bdffa56b946e074de79e709b1a61481121ddeef36b8659ba95e62ffe960681c2782b7679f7d56d44e040dec2b823e8239d695fd5e29859b4e65281e6ceaf3c8238f08e0649da822eceeeec6cf7ef633911a517af5f18f7f5c24225ae241f044b0c8794269d70f7ff843e9633ec73e7bfcf1c7a5ee044b048aecc3099bbf995a6ba266c4d76a46b0f4a82b9805dbe8d5319c9dcd2e3c7b9cf1879b8054da985453e5941938aa4513561b2eb30b573766b44a7a5249e8951947dfbe9f62e8e81dc8a7c610f1ab0d3718561b431b8a31bfb8dd523560d859b0d462f00bc1f55806b2c53c52e9021ac210554a53308464da8362cec478ba88840234e9225383fb447d647b2ab9643d94a09892661505db6f079e62b9db6ce5861051173f74612b6e4a3789c16b346020afce7fe9ea39b0d466b4a4d983733be64a3c93a6b00f85a26907b253cfcf89faf1c94b3bd19bcca331e44543d023a2d88fbfbc030905d6226aa52f6e69c02b144020886a52d759cebf5f330745cbced4fbe55775dbfa7ef5ee4f5fde89b40269042696939997adbb61490caf596adb48bc6a41bd0220f4d62ae27796441588aa174041e35bb350c42be7d7615d771805da4bf8bd022a0dd5dfcb9a3a31309e46a3b780623689687b086de7b628c201e4e2c0c06052a448a283aff3a3d7e7000f8f88cb1c758e1eefe9c5d9046eb5bc72dc86983a61a0b61720317ee6996784ebd786879b376f169040a2460243824462460e991c30cff1373f2452541b101c902ba6dd06c1006d070822484cb55a4792c7a90f6d542eb8e002f9905853baa0dd53098a48a849ac788e5c3a396cbe9760839c3f4114093fb96fbe8f761a24e82474940490fbd606a777dc71874431e53572f7940211a0e88085ac37df4f82dbd9d929362304010445249aec0bd685a04a4788e66fd681fdc7faf35ef62fd5379400b01f2955623ff1bd044b04276c1bc19b25a907b2026a2881a0aa8d00844090849dfdc576135c509ac47a92d8b35c3e67e787f10b70a25a856da774e6b9e79e13e0c776686914efa7a48bc08b529e3d7bf648b90475d58c8cdd20a4d27b8865df7befbd02a2fefccfff1c37dc7083a89a080009e0f81e8e1525677a3c09b22809e27bd7af5f2f121d4acefefddfffbdf47ef68906637c4edb3355028aea5e39da7bd22833fa9dca3e8506fc8c5164ab401d43fed9c8af2762c360960cc9661ad65bbbbad255989e3a677a023fdd27cc2b642fb65363c444490117b676b73e11f46ec71237aa7ae458d5ee779de766d7d5d529e2526dad3ec9e2d679d0a0278ca988f3e8114560559deb7d08b55c82bab9af842fd6a24ee424481a7c4e564dd3d613d1cf45d17c518b447c767c924231877a0512223145a40b26ea82747f558064dc83780a1205c4f2789d2caf7666517197a65bac023b12dfc4c8c3f01531956f7a4e8c6815f71cb63385e6f2a6edbee73105fa64734545e06db75c664d75974490c14bf3633efbd98229dd4157dc06bf216553dad31a364ab62290eb66297e92d73173cbaaf752adc2361330e9982776d7da3631455b130d42331acee6145820d89188910506a453e5a94eadf7198e3d882965e4545f2b4c8870bd07c98c25a029afea524f5767d580c12a2a3e1da78504c9ef7862e82cb976ac23a3aafb66695a4c951ec1e11e4928ddba7b7ee79a21574bfb111244aa4574e24a12a1b3ce3a4bce910053b542224f513defe173dafe81449c920a12564a18681f417b0712cd3ffbb33f93f711c090f0f03a551e043624729b366d120904a51a24d6042124f2ac33eb47a9caaf7ef52b2987dc37092feb45b510d51794de7cf0831f14e2cff7121c1018114c101c911b675df9d1edd5d1b0096c282121b1a45127eb4483cebffaabbf128900c10cfb82c49c5214820bbef76ffee66f44caa36d4bb84f6b435e0d48f81ca508575f7db50019d69dd20b2df1d06aaad7bffef5a2dea18a889207be837d4122cfb61110b0de6e9764b681ea2fbe93008f0091408dfd4d80c8e75806fb8076280447ac3f010cf73502c56a40763a635296c1777dfad39f16404bf04ac0434914011edba9bd80f44130487522dbc3f65305c7e7d8079c4b2c8fcfb0cfd806bdefd5cab03e512fc309d760bbddbb014ba50b72d93e6ad8d9918be2f66696d9f4cd029319da30d888f75e41e9625848623105d6b0c3d81b126cada5a5b91430ec4c964e90a3d8be7da75a90fb855ba7b12693f1e1242daded54dd05ac58b15c0184b9b2f1ce182855280f6b6517ae2e41b14a1cb23bddbd7b51fa7d4151c9148a05271f4f0e594598eb5b97a373e1950836b5a1bead5be122c20fbf1065493f4ed580613a21f2e9e952405811897040011b056af2a61f1945d47d0aa4883d8a22c6a1a0ea5bbf22acfe3cec70440442aa4e861387a4e875f4b53e3b62aeea73af22d8de0ae3d7ca0d90313f0ac572b09575dd9229d43644cb31925985943757b0264966dc47d6753debba9629549f1fee806abc4547a3e5bf998a28b4521d1728b037473bd53beb4a40624b342c014a940ee9fa4d6cfe3a6f966583478f3681362789a5abcdab4a5ba65a4c0ed50c249a3a0ec72f7ef10b2182246e041154cd5c71c5154224782f8931df4d83463e43224e424d2f0c1218ae911ffff8c7c20d13d8b06caa1f080ec84513e8fcd77ffd97a8344894befded6fcb73dcd308025836893c6d35084caebbee3ab14720c1e37b74a02fae3fda899068533d41c24afb1882216d5ff1fdef7f5f24062c93aa05ee979ad0b37e04013ccf32f99de043dbdeb06d94ba9078535a43b043af1d0228aa16685f42424f490b811981140d8849f4a9de61597c869e31dac8f4273ff989f42d3f3c781f25315a4d4120c3767ce10b5f10c903093e8932bd6df82eaa3a68f8eb764dd6ea174a4fa88e2240a3748aefa06d0cebc53160bba932629f702c58276d90cc319d2eb166351508e70ffb8d2a2d02504a4a084474bc954a00a16d3c088008ba2891fafbbfff7b51291130718c69dfc3b9c5bed7f38ef5d592965a6aa50a2eb04c9d530dc4549e330518daf18218351a824f668d5f677c104d3ef8d0aff0b35b7e8a7c212fa9a12d725491064554e8763506c31b44ac3e8cf1d111a4730504426121ce9cac6f7ffb5b4b067267eac185383030a836cb5b70e4e03e983ebf70d5a6e543241c90454c5e38166b529c6f01a363e392e0ae412d782b97c61825228ad037d04dd03311f3858b70ebd6ed8a6bfa23e156b47e77263213cb092d3e93a8769313f16930624e520bc964561b9a2cdaa21d61d6ab88dadc651763e5c5ef46a469a9481946c7e36abee4245f0d0566c57c1e0112239f57881f2500d150502429b97c568085ea12e48508db2ec48c6f329eb5906694586f9d342560daf9783c0e87925365f219a3300e2b3f86d4d800d2c38af02497a9fbbb268ccd4ed3247ed30662c28947acacb405a9661fe2169997c4d3b023401b4e6c1367a79d32315949ad635a530658d307d51abc4787f4a6be5f07f522b1a42d09a50eeeb5c5df2422fabd24a8041b7c86f390dc38190312f79ffef4a7e2b2aa3d745836010acfe980602c9300800492ed27e8e0f3e4f2090674203596af33c7f29dda40574700d565517240b513010eefe36f12628227de4b0924cf731fa024857b2aafd34056ab0d5847f60defd59c3ba534043aba3e7c17c11aebc3775082a33d64a80e63595459e8d81d24c63c47d04189062540bc46bb14ee2d01671d739f26f0b1f360e54b314b3836dab5d83daeec67b685204fcf211df48d65d268992080e5509dc47ea4712f81e0cd37df2cefd3e35d6deeba557eee8375e5876550caf3177ff11725e919c797a0554b75b42a484bbe68d04aef2382124a5408e40868093e39e6bcce7208f60832f97daaa06da5b95e9aff6659e4ecca207193d4ea1210312fea525b4d6cc74299052633dee43c181b19164ef5ec8bafc73bdefa1a1cdaf0207e7ac7fd1849a4b1fafc8b51ef4963db8ebd5879d115387fe5426c79fa516cd9774cd0762e973fed52589ff2c155939f6d4d26c6d0d2bd18af79d34d58d3edc3f7bef5dfd8dd9fc6efbdf99da843120f3e701f929e16fcfe6bdf004f7a00f7de733f7c1df371e31b2f41b27f2f1edfb01d91fa18f2d9340c5f40b23593a3e12676223923dc5108aba40e9e40f7d3a015bd862a094e3a959488ad42244251ac5e7115569ffb2684db3b91374c8cc7d3f0295012080514379f911c327ed51e465bd59b18ad4c085452999c8804028122826ab1d2d89506acb4c7287843b41881cfaf009e447bcda3601490cb8e219719462139aafe0ea190390a2bd90f539d4ba97389fca83a77a3aaddf993a4259a13324a2a0ab3141ceb859a3bba8fb5ed45e566ac09d34c418e6e93d69fbbffeaef951f9d8addf0784b5186b9d9d2eddad039a2a7007612527b06e1cc49f0dc6342a2a73978f775f7466e67d69e0814e67e4e1b37eafb35c1d3d140f5394d383538d3314a34b8d07dadeba13d32dc62795ed7f12d34f1138996038274f0311d504ccf2f5d170d227499fa1d5a5da401900e68c673ba4ff577ed2dc3ef5a25e6e6ee755b34a0e075c68bd1eeca042594d2e879a7cbd4efd47619ba4eee3ea89c673a4059a59127dbabddb3b50900a561546769e9504d09c40c98404a86e89acc0f010a011e4109dfc936d2b685363edc93f538d3c057ab05094a29e9625d6973423510253c94281104b30ff43c9c6aad594eb456ee51b600b2f61a9804709c38af64ec24bd8b009bd9382627c4d1e53369b42d3c177ffbd10f229c1bc7e2d7bc19997401fb9231bcef5dbf8fa7eff80a9eeb2de02ffffa23685093f0facbd7e1e31ffb5b1153bf54b2ba52d241279677beef03b8f6e2d588a77378cbdb6fc2a0d9884b572fc140b288791d0de843075e7bf515626710f11aa85b7639aeb9708d24ad6bf8d6e770fb63dbd1d9d10e339f43229d41482d9013e5f6754c09a38abec64075ac320154ac32d164358989d6a7d220a3a36d3e3c212f0e1f79108bbde7290e69087d83bdf0853a61c6e62870e1571b764c7dead53345f10049674cc9a899cc71d3f328d012b5b91b556e462dd42413f1658bc8e6d248c515d8880f229d388a7ce2b0022003aa8061787283eafd71d56f39453c8bb6a4496dae859081c620f5ed7593a4059a507083e4a6a5fb95b634143bbb09bae6b8dcbf2b23596a22e48ebba075f7faba9be8563bc869930050dccc0dca4df0f83c090a2565ac1fb95977f4d299484c6a494eaa89cb092e8a42643db604cb70122852ad633981ed6618bebb569d5083ab44cdb93601d06ad9b654e3ac27db6b79a63de7f612a9ec2777f4563db6538579d7bf2b89f04cea5dd9cea99ea9e5f5e19e93646c4880f5bc25e1ad6cfb74a1f167aa6ea96c8b6e3f253fee006f274b1374c456da84d0f09660832a38be8feb4827dba3d4438345bd762955623ff0e0791db1972a404aa7b471ed74a0642a49753509893b12efc45ab31d07749c20afe199f5ca3929c2eb65b86e4830b6cd4fafc79603c7b1e6e2f3c48071782485975d7e1d9af247f0e1bfff0f7cfafffb0c2eb96835ee7ab6172f9dc3e638fd41ea4e8b1838bc1dcf6cde86a422c27bb66dc6c5575d8f85cbcfc7b9adadf8c1973f8144f7e578ff3bfe54dd3b8e2f7df2c358fdba0fe1aaab2fc3377f7a2fdefe81bfc2c8a3b7e1bb0f3c83658be79f5c4db4578a51db45d8fddbed873ffd9a748208a939d1d3d189583482d1d13e18661266760cfefc1872b9619198b42e3c5bcd9d80f8d4c4823ef814504917f218cdd840ce2c64904e2715d688c3288c2810ac0871a21799f11114d45fa40fc1ca0cc36f2890a6008887314c142052b84d6c2bfc21c59d059b50f0284ed208c05fa0f1291304066b7239dc78284ee68646d1ae16cd533aa5d503fab7164feb08a6bc97e76870a8395cbde9f0bae678f9bc8e8859196cc94d705807b761398df274b0308a93594f8aa2099eec08bfe560e8d42e7412123be22825621e12604c6c9e1e8f51d31d72ba83aa03d65ff78356dfb8d5bca5982815c9f2788ec426e880747768f35ab96adc04d70d2a2a7fd7227eda30548352bedb6d17c1fa701ef0536920ee4ef2e7ae9b1b54d6ca3c5bed9e6a795eaa1966d61a0fad0279218fa9c2bc9f8cea939211ce53dac2b8d52e5ab2a53d8ff4fd1c2782ffcafee258d1bea9f2fc5440acbc3ea2599e343ed5d4396ee9932192365bb528f3cab026a258cf0293991d41ea4c8776e27fbfff135cf2b29761cd45af4076b80f9ff9fc27b168c57784238e04c3488d0ee2f0e13d18cb148460c03a73ed4aaaa10166037ee457b7c39bbd1c672f3f0bd75c1dc637bff4058cf83a71d9d545055a22b4cd44df915d180fae70f42419f57b375a070ea1d8331f7ff6917fc0e5e79f8bc2921eb5fa7e88bb1f7802e6c956482f881aeec2eeacc2e5aa1d3b3cb255258db76c32414550fc41ac5ef3725c79f507d0d2d88e44a64f6dde31cc5b16413c9116950a425164c20d12f42c97f52099cf20688e29e0a080cbc010927d4791891f8439be07e6589f021b630adca4504c671548e17bd4c209f3a38081b71e056f9d20ae82423483a93164153289051a1044a36dddceecc6c8a3504c4b44dccabaebfa539c4bce885c17e33090a3a46897bf695cc8eb94aa508f4ee33ec668a0419c36d2a40121c5e1d46fd3f08f1c1cc5c304262c9765d25e81468fdc90cf39e71c011fb582e0517a433132093563549083d381b7b871d22091b609bc46e341de4fb7d54aee7aa621b22b8df14a0410b651b1c4527192267a0c8f2ba5bb51d5cec49ec74ea2c51ab94148d8d93e2d15d2d7b48a4a2792734b2334f1d752277dddadded2ea072d95aa94e868d7564d985946adecb06ee2a393e2b1ce1c571dca5ebb0f6bb5907eaf1b5cf19dfa7d7c8ef76aee5c3c9e2a92ddb973eb68b5a21b04d9919d6de2aa9fd1f7e8f79fae3654bfb9294175f0a8dbaf553595f75693506917f54a57608e49e59c982e83f6c45a82d865d946e2b65d5ead50f6e573ce5e6fcc1c2ff3182fccd8bd88818985542289ae45e7e08dafbd16bb9f7b16d6a2395879f6398ac8de8686e616641b02f8f5a61da8bbf19d78ef7b3e84ce900f07f71e5684f82514e6de2a225bf0e0fad7bc0ef39bf2d8776c00e7af5a868f7de6ebd878df6dd8b5bb0fd75db60823e922ae7be39fc06a5986a3fb7620d0d28537bdf32fd0b5722d06773f8203fbfa91bff25205f2fa71ac7f50d15adf4989f82c5855d3d45b53a87f006d9f6255bdb96430e9e5861d86271cc4a1b141c45ae7a3ad6b9e022471c81e5a1f46b03e241e20e9e1010c1ddc8a7c7a04c5641fbc633b61240661a6c651c88ec2f4e4607bd41ab4aa854ffd5eb36601aebeec023cb179271ed87008211f014990597690a761ac114043631886d716ab17ac9c24efb31428b164f371caab71e8aca47a83a227818ea64983481d0f424b4ba81fe7751d608a40414b4e185783f790bbe675021a7a7f70a32357471131c18d8ea1e14e2dafc786c0869e17da9642ab91581641120922f5e67c9f8ed921ed9e81dd492d5d7ed9bc7062d7e86cc8c1505840b60e2a87caf0f3155956a1b7e51ac6afbc9f06870467f422a17a8aed60df712c741e197e67bfea30f53a043add7709d2685bc071a04705db4fc34a1d7d940082922696c5b1d07dac13b7e95c392c57ffe6b85593cef03ed695eea40432bcceb2094675ce1eba2fb37eac8f8e95225173d5b31a48b02e04babc46f0ab25303afc824e864700ac5da9ddf7e87ee0b3ba3c1eba0d6ee90acbd3b634a7020cbc5020a79a4aaad6fc3dd1b66a0917c7d42d31ab54a14de5f2aeffbaedee244b8639b161badd83dd7f4bd1602d271719dfcd047e5edf0b96e0f6450c4c0cb55105b1ffc9c7b17ec3a5b8eee55760f0d00e7ceffb3f46582d9cedcf3c89f46012bb9f791a773d720e2e5cbb120fddf97d3cb6f920e62e3beb8cb72f292d12e682298ee1ee7befc37bdef30e9cd75ec46ddffb2ab60f79f08eb7be011df914bef6d97fc2a17c2b3ef89eb729d66d085ffedce750bff80abce72dd723d5bf153ffcc1cd7876ff203a7a5a31bee5213cf0e476cc9bd32d1bfe0989ed1deed770f2a0548bf05a4b5a629b7355df1cf45866d309a41363e81f388ca51ee0d8c8207afbc6110b372018f52be21647a61040caa3165c318ed48e3b5038f60402fe024c1f239b2a02a8ae07036114bd0ac078238ab005e8f3aafa318bface79f0b776a2601c0495403e5104d193278b8c4157f53c828622e06641d441e30c856e78d5a61391854ecf1d03d6949b1b0988f672e246cf4d9d6ea2d485f33c235492e850ea4102a8dd220910281d21012171a20483048ad719d192d7788e9b1fed42483435a1d22a0d1d9c4a0718d3ba6d9e23c1e63d24687cbf562ff1ddf47620c0a104c69a423a51cdb0b5566e0f6d8b242047ed96c5425ecc8774ae21133582f255a819604d6dfcca76b13d24b63a8e06fb8b6d230824702168a1148ad223821146eae473fc90f893f8726c08fcf8974092049cbf597f82170207f691f6a6a16489c488e34802c4d0ebbc9775d02a18313e748c35b55a8f7f392fe805c3f218844c67a8d5c9fad8168205020b1d5785ef623d2929e1bce13c623904bc9c5f1c679d9b477b9010d0b21e9c5b6c33cb653fd0fe88ef2638657f11c8f1798258d68f80856096ede2bcd3197e4f95bae4749498b80db8dd76636e3b0e0d36f4d8eae7d8575c8f9c3bda438be7281165ff719e71ec38f7b46d97bb3fdd6ac7f235e40024c333ad54524bb00dd76e2bd21a18b3714c4e6c622806b8a10999f101fcdbbf7e1c8fac3d17234777e2e0500e1dcd517cfd739f8647119898dfc2373eff497c5771d192a3001ed4390b6fa69cdd8bf5e024b7b38b46f1b002657b776f454fcc8b67373e076f3084671fbf4f11551a73da5980ffe2cf1f5560a30009ab73ec16fcf963bf5004212b9e386dcd31dcf2edafc3f02bc2edf3ca043e614e48c71fd14a506b029e6820525d85a3efaf94a2941b4d5a0e57e9333d38b4e5313c70e86be8e85c86cbaf7a2762cc7353f422ea0948e0355ffb12ccbfe4261cbe7b2f72f941989156e40b5e34127204a2e2816415139211d8ebf722e88f62ffa67dd8b97e2332be2082e17a897f52b43c2828c259b00a88a7b32864530a80a491534b6bb8a8369c60bdda54fc12ff8311523d460de9804befae3d18483ce866a9634c9080903b26f160bf336e05891fdd393916e4d8493c75002b2d562618e146c70f898f563d680e979b122528243c8c9ba05d52b5b11d25028c02aa37459d688dc488449bbf75102d0d686a6de6b50c5f2b377bbd59d25e8852b6bcaa13e3d3f0c3cdd263b8e64e850d4375d1b655738d686995b6c5613fb31f497cd97fb417a0ba8a2084f7d1838344581b2653bdc5fe22212140d01fdadfe80cc2242eda8597608120914487dfd98704287c1f410c5d4535f7abd533bafe7c3fc7992eae7c27cb65dbf92e964120a5ed953856ac337f137c71ec19378507d57fac23c105eb484044b0c47b58371241b687d15d5936dfc13e61fdd8271c6beea7ec3fdea7892ccbe23d6c1bdbcd72d89ea9d41f67c23ecb712448b743340cc8ba24c0e51a2170637f717cf5fa655fb37f38beec1ff61d7fb3ef3807f59c22d8679f72bd31081dc7836554db3b26830fc3096c685455dbb8ed4bdc40def6b00ada12ea2a79a66681c9140751f945179e6f1b832513122cadf59c75383be02b2552738bd66c026ae767b9e082f3e5ef0be58af9db3ab8f1b4b5b5e2777ee735d8a326b355cc4bf0ae57df78a34c383bf4b0a1b879af20641a3d955cfca86717cecd2306c6eec9cccdf1ecb357cb629c790c93ea04aa92efad0a4a4acf60ca85e8614e1a55f743bb36aab6a5b1e6dc5760c9d9af40b4ad0b59aa5210148bb0000a0ab4fa908b4415d06a5240a5c014c4a025482137824c81317022680ef8a04df352b9349a02a3587416b06dc0c4e6e30534c4ea1026d009049123279acc6224c768aa0a04784d0916664a649382003e5448982a09263729122906afe2a64fe9048d60b9497183d716fbdca874765a12475e27b1e2a64809897635d5c69c246c0c53ceef5403b06c72e89a7b671d3896dc3cb57d058381694e8ca084d7b9696ab0abdd3e490cf95773cfb55426b56c4ca69498b807dc63e726a21ba378e4b05f2d94199bce24f64ab5b9a855543abe84b6ad617b751450ce79b693fdaced0138f7d99724e404831c2fdecbe05adaae87c44627b8d36a33aac218248c848b6b5427d4d361ddf5bec4b9c0bea78483520a4d4074a8778e3bcbd5c1cd0852f88cce48ccb9c0fb49f8583f8e21db4822c783f388d2351242b64d4b68f4c1f2d936f6038921092ccb61ddf95e1d488ef980789018eb0480acb3b6b939e3b5e56acc38d66c2f73f1107430d330c7847d41c0c27ee038f0c3394100c979c2ef5c933ccfb12008e6faa2b48a7d4c1b321d4598cc03c7a33224fe4ca44aeea0949592c54a436d51eb3a326d26177d21cc4c5eb4c08489dc38a8afffbdd73a7ab099ba07da818bb870cff438269ae3bae8a20b70c925eb4e19f2651fe6f3b952f6e099f4a3e524859a583cd387a49f7c759a3b14809218acbe08d6aebb11975ffb5e14d4b9446a4481113eeb57e0cc266c8c366f8e2b4eae90442c1446aa68602c9d41812983d55eeaf72b60d0d6a4eef3603c9545ff700a0b2f6fc61fbd7935fefb969d7874f761b43430f09c9fa163d566e1173b888051405d404120b5798c9b5cf0799816a5345ce40c653ff546cd4d810484e34602c2394e62a86d04b841f1b7f608e1bdda4e811f12b2321b0b574c0c1d6d5213573d3f387e5ab5a0d53b3ad684de7475f02cb7fa85e74804094a48ac9e0f09a49d21d89284885e9f5f3c72e0448bad9577a96c4e1a537b34e86bda1d5a830e8238126eb69104987d4630c07d434b3ab49448031a6d874110c9b1218121212111e2392dcde05f021f020a8207020a023c96e18e7342c24682a5cbd775e33bf88c16fb6b8f2b3d7f380e1c17aa94b47708dfc3581804b31c5b2df5a09a86f7f32fdbc8bdd14df8b46b38ebcc36f1590d74784e1b076bc0ca7b74cc117754d63345753e95d1abf6d0d2f392df392738563aa70fc78763c9b9c47ed346d4eed8321accd95e68b992771cfb5e47c59d89ca4b0757332a6c5faab90d979e35ed68cd5ec5e4314ab8e9dab76781c90c0e0e946da035764a27d8996663c249a745f6bfcd85ea56b94d10482763a51633baefc354314cb458d298d218cb63f8512c9898bb6c25965f783dbc61b569a68611f67181fa25c95ec1977392ed7961c48f236265d05cdf84a1741147064711f445110a92f31d42c4575460228f1ca54a0aa02c5bb31c3d37dc848e2db7235c3c8488df42885e18347fe5c6621510f2e6d1e4675d7c18cbd075b828a18e82341626482916a6dd54dc1e219ce36e5b105e73ab4bf8db0d086a49b0dc3aed6a87769bd4d7dd656a0ebb52c2c8ba92b3d3aea9bf09f199641be29e071e7b53652c134b47b5ace13f3e495c6d4e1f608d6da5ba4ab7959c3fdb4382c27e611b29a1d5dc2ed53a9ae050f5a18100cfb1ffc9f9120010c05072c0fa50b2c57548e2a46d73783f0d98b5248b7564791312404f9951b2f684725fe7c177e8efacbb2668e4c8794dbb87b3defcad13eb1198f07d044804a6e4d0b52708010aebcfeffccbfa537dc536530d4480cb76b22e046e5a3ac277118cb1ffd856f73e74a682123d3e9456113cb08f19af84fdc3b5c1fed041dfb40713c7404bc9d8ef1c57f61d01248108d7b89d6ac576f7d7aa53824c965f8d2174072d94df3a42328caa1986abb37fe64458072721eaac2ae72436333b1a5eb9970dd53a53e9ba678f93eb6b6ed2ec6bf744a5e44a73ddd371be0c736c67bab3b3eeea48b06e69492d1b133b24b935a5e4c474723c78cc24467a0fa135a6360a1ab02a40a05001725e1be0989cf579b5d117e2888580b09a3e9e6c01450542f241c5b57a2c040b79755d116cb937094f7104d11037ff28d2f9904840826072bf7a284ca3ca28a23108c48b6a634a13c814c57e27e0e5dcf4884d84e714cdc7e7635ed70ab73d937a68f7d8dfa45eb5a2528a14c3761056c4cf28d92149986c57dc0c2ded981430ca326714929e120ccdbd6acf27964342afa5145a7a40f1bcfeada3ad928868a355aa3c3490e33596aded08789d049bc44a130b8219aa4a741d6bc5f6d05e3824646eb75d0d00f89c16f5f3a3331ef32078d012315dbeb64fd1c042d757073fd32ec5ac17efd17dcb73248ebc5ea93ee35f4a7ab47bb226c66782d4a4d6b8680913c79900574b34083674bfb24ff85d479f256864bff01ebd7e086c0856b54714e71eefe73dee783753a9c7dcea549b91b3f7cd99f47fe91ee73d866334cbd0f4b3c0e404f57ae363a3d8be79b3a46a178e4771cc8b962e4134d6208bab9a1ffd54d111cbcf1b13c8f1249eaf5ee6e9fb7ca54acced7a595f5f8781e3c771446d50347e65a8631a7f2e3deb2c842361a453e99a817e741d84e326319100ade511d6dc915fdde064a24655ec512ab90051e3f8d07f6c370eeeb81f8b162d4138d48814b900058a7c2255b1e0f535a86ae410354611a90b21954ec1528b3f563490300b081406d1e389a3d157afe6951f9e80076667044fdcb30d07b67e0a4f6e1dc0e29e66d4f37d66466d2c86943faf3e80c363490ca7ecb80175f53e91aa781430ca1513e2b68d296c4c4e977575aa9f9da98d89fb9e32835827b592cfe77792f915c55db856f4ca9301486e42af89b98e90eab6637103264d28dcf7badbabcb74ab614a3a7c97f7466599d349952a13cdb909a6ae835b0a0697285f7b5db95d46f53bddf577134077bdf439dda65a06dceebf67ba0724db492041c0aa5dcb352071474d2ecbebe54a43a0c7534bc3b4a9815b2de40e8e77626b52838cda74c04d0f0468fbbd627728cc94d737eb9573221ba0583ff7f761d3a6adc804db5108d8bef4bedc38061f7f1ae7ac5d8da6168540157aad4498d5a22b56e7184dd89263e3a49eafc5859eaecfdba7ca9fe77c2528397cf000b66edd8b6c7d170a1edbf8d1971ec6c8634f60ed056b1538a9134955ad493cc1b5da54c6aac8df50094426ab7666b02015c1a20d0933f03677d2cdb30139c5b5d5f94c55e728d2d49be6532826814cdf51f41ed80db3771cfda369a4325904fd41648b43883459e8ee64faf78084a56fcafad11a33b179533feebeeb281a3a81f9f35a3196c82095b7e00fd6234f33578f89a68002ccb1a200b79c97ea8d0198193f7c96e256bd21145f026eeaa74a0a54463c614a7e2b41b530ca544795c0c7cd8c4ce79533d3bab9cba896d97a264c426519ee7ba62bf354f46f358f8caa89dca6e987e9189f33596aecee4bf7e1b6f7d1fde40689d3495fb40bb19662693b9d135d3f93e6906139f667e68c1889a20e94972f4a1c271a9ccfda989c00422d14f20a946cc1a07f2e32916e0c0e0dc986d5d6ba1081a25f1191adb8ecca4b457dd0d0102d8b44383c3c22c456730fe4c4887629ba6a68a817ef14de974aa54555d1dada24e72644a7638846eb4b5c039f6799ac57345ae704aca23ed83670a29118ebab27c3d8d83862b1a88bfbf063686858d5c7e77ade8b783ca11078413ddf5c7a9e937f7c3c2eba6e3d61f8fce0e090a859eaea22a5dc13bc8f13b2b9b9499ed7939fe532119fdbb77e6888ee69f4a70f3be26972017178d5c42ce633d8f8dc4ea49b5762cca8c72875daaaaf3a3a9663bc6f077c1b9ec32557bc5cd5b55a94c7f2e03f92edd59a0c980c4c969ed40227ee57b8176267d71c34b7b661f0783f900f20148d21cfd0ebcc2cddb713f9439b61a67b618def437ef75e34eede86f8480661d5b58d8c1591ce20ef514023cdccc2aaae74fded0c201b0ac39f19c2dcf620bca681687341adf7040ade001319c36f2650e7c929e001c4bc41c92714a78d06379850548dab022e694b9599833bf3c499641438930d7daa68af951b65994485da34f11883c42e927c1ef4d211b832210d7013df090e103352e5cc1ea706fc9c49f3b9d2d34b0719ac46d4dde1f54fa60fb444ad56bea329f931a75e5a2a5d0676d57e5bb08a5503ab55822d29872110f24cde5794cceb7afdcd0293191c24c007f6eec1605671b88d1d08149258d9dd6083866412f9a8022a03c378fc91f588c41a4b5e051a9850ec1689d4091070eb4c094c62b1096042911a81497373631930a18e97c9df48bcf5f3042bb647c5043021b02130a1219c3626e4fd3a8cb45b2c3a32322af5d1756559544511981044b88d1729f28b46632e60e21360c47ed1de173a4e058149636343c90e84ed482613a59c0d7a51f1fd042613194f096c12aa4c3f92aabfc63caa0dbe1862c8a0a7a751acb587e263301be6a16f680b8ef7f6a2b9ada36428594d9533915a7b7228fa5a2a1c630a554e65469dae9e39686c6d1560d214f6a2b8fb5960ef7618bb372172e869b4150f23d8a4005aa6888cc22e665095b81018ca00b9848526ba42678154d0425af57d64d08b407d16f9fa0002e902e6c4b28878d578e72c24320632de300a0af8d41b6a012b54722c9e165b95d6a6305a833e1c1949a93e32e0abf7a0608e22ee2cf813951cfc36d531a723a8a17c8d6b83d99c4b6a4059cc80ce8b502b89dc4cbcb9668f537398271a70f145d41ecd58d160587bb33ddfaed03301281a6868efb0c921306abbe2574acb4a31a63c5e67bb7de118a717adc424aec0816276b1acb5010dbe0822415b4f97cae4316606b0fb60114d460e1d3dcd8e1196b7c441d5d73739e237bbbc5c8eaaa198f35dde20f7f97c61756fb8744e1fd59e8f44ece76d070afb79bf3f221f5eaff6bc66e278bdaeae61d2f3cc444b3571f9f35e79deed94c0ebf5f57622281bbfd8cf0783f5a5ebfa79822f3eef9ebf769f943fcf3687c3f5aa8c100eec3b8ca45187656d0a98f8ea100ada80ac3516c650d68bc3870a4829b0d5dad13593e5265e16b51434b5a047f5b38e4d01ec0d62e7aee770f0c05e7436b762595308ed077f04dfb6a7d0501c43fdfca2020811140912c60ce4ea72c8fb12a85bd2828415c63d0ff4228e3c2eb8a2119b3773ec0dc4baeb91f716d05848414160f4f69b1855cf364503680b180a9c0c22978ea05381d17c1878764f066b9747f1d71fb810fe8e367ce50b8fe11bf71c42b83389b0977974804cbe76dc9793d5239f899c6b596664d8e9068a1264cd76e7b680521c936a3af889f65b2f19c9d4e9241d3b13dba3d584f44872677c3e1dc093ce8f3439eab21d646d724e9cdaaa38c9886e5a08f803f60e3beb9533d3c1509dac505d34e44557533d9a0205442341d9ad1873229453dcabdfc0b2e54bb1f682f327b9cb56dfb88daaa4b0b6a1a83583325fe8e74fcc7877720654432443a9c428c67bf3e86989a2c15f405d2820129331d5d781a485a1808768b146fd27ca2f0549336b24a3aa223571f3bc35c3d53837a746c7904f6570d6ca8b10e99c8b81f0620417bf1ea3de0c727d4fa36e601b06c753d8196c405bfb002e69db8439af5a0033371f3fbbf7d730a2419c75e32bf1e08e27d49c1a4043671db2c920e2090bdee638460f00fb0fab05bbcac025e7861139447b960c96cc35309c08e19e8d06225e134b3a0661757bd0d5deacaa764421d82c72742ba61eba46ea43ed094195e26fb2e1710c280da344ee4c505fd81ba344437412f7d9de571ecbb96678ca44d9d5a427da6578f6983d7ed3437b5eb9c3c0bfa0ebc3d9b76b070b9d9c45ba9ac4a4b4e7c3319695275f9818262f5a6022fede5dddd8b6fb29f8f2092c5cbc40b1fa59215ab40719dfb60f811c3d2ece426fef315187cc1e2777506d457b1aefdedda80f1898d7d50ea390137cd0aa086fef631b113193ea7ba764a4ac851ab437822c0ecf440c13b7cd45a54d891ba04c84abb74ad2a24a4eb8e8f1c94d9d1d7118e9f5383230888573bb10532076c7d0533867e5726c786023ee7fe4392caa2b62d5ab7d3023cd6233e3f726d1d2ba0021ff32788d6725bb727abc1f9e420c1eb328a1e99b221e35df18ec2b8cb35f7f0dce6eb806c5cc1604fa6fc7ee275368f3192824f21838b40b6d0d3e74cd5980f98d7b306ac5d1375e9429ea06106e0f146e2c7429d51146cb24062ea34ef7efcabc1c02ce9c20608c8be1cefaea26d8bf6d91fb4cbc72aae5d129cd0127c1982415d37577a2061b4e32bf5a41a32416088d10674307cc1ecf8344ef74386ab91093b1e49ecb3d45abf72b83ace9bd6022f609f71c2f3c8e998249208659af9c19a3d6a6d6162c9ad7810d0fdd85a6e07558b678be6c623bf7ecc3c687efc29205dd686a692965e19c3d4eeea04d4acfdcb9e83a74148fddfd7344af7d35e6cfed40216f62d373dbb0f3a90770de396729101899323cfdc4e2b1651f2522645855818835497e655591a55400d6ac178188172bcecea2abf1391c39ba0b47d3391c3c9045cffc8578d935172030be0babf2a3183cce6054f5b8fb473b7160f37124868a38f7952d42f83c664e71e40164534144c379f4744691b5d2688f16302f54441d4393af5887d0dc6bd45b9700cf1dc0f0f6fb508702d2591f8ef617e18ba4d181012c6e2be2fe3e1f0a1905da0a7475adee7da2f5d66e17417e74c22e820cda3c69dd36adff757a799ef7493650af9cd7d964b51b22cb09d0d0dbf52e77d0b66a4765b2b1178a1b948dd49234cf62c84e3b13afe3da6e55644dad04603c18d1943124668d5f678f97207c12d57d4b6bdba4b0f3d52225dbce094c585a94bf36a001ca127ccd0293a9d16a3e97c7396bd7a84d7a2bd6df77279e7dc276174e27e3386b5137569dbd4a40c9ac08f737ef6bea282f5c7701363cbb09f7dc79ab022175c2c1a61371054a96e3ace5cbc45578caa8ac24ae5eaf43606caf4fc3c9368c0a2949a5bc65a66ec35e050c7ac2218cec1cc32f361d433e9b52dcb222ca19aaa4c670fb7f7e0d73025e5c70e3cb14b1ca62c7c6613c70db7ee4145e6a6e0d60cfd6ddd87ff808903f8e70a34f9d6b81e11b412255504023824271048ce3ea2be6d0ffc4edf03f7d2b0c4f18def431c93b34bf2780430a80dcfdb4e24c361f46436e2f5a424032c71c3daad15e136e5ba36a22590211ed66a8a51f54cbe8604c6e298aeda1352e1b08d5373a1c7965623c7ab41c3ed28b642aa1c6c087eeae4e4419f6be58a80af538562c37a3d64f9b02f73325eaa78a8bac34c863053d5e47c4ecf13a2e8d131c1e5c31182a81097396ac5bb74ef56b661a55b951031a9f50cd716a0c6ddde5d4fa3eddf3d3ad266346abadfa33337db656ff5aa7701ca6baef64fa6ea66382198cd189be735258c91318ef0abb3bc38e63c3a47fcc4c2ec9fc0c4f554966e5baa3ca949e9e22c9358bb3915f4f9460d2e364cdb96763fec2f9181e1a96f32dadabc51597eeb1b398e45449a84c110b5e78d1f9e2bd333a32268482910aeba69194944d7aa272386ec3a8ee2e5cb9a4ad6a9b90552e75d10703007bcd029e7eec1872a685cea817dd8d612c5dde8990d783a19dbd38ebaa57221f5d8cc2c04e649283f04403e8a80fa02e68a16f388b03bb87d11e03b2861f730b21f41f32303c3288e52bbc1818a1378e2280e9716c78f069e4135e0552c6d13f026c3fee45c66f211737f15f7717900a66b1aedd40d40aa1499d1f341520f10625a74e39e8abfed109dd182a9ce0849e64fcaec10781032501f4f8621e167ed7b114dc86a0ece2f1781cdb77edc2dc9e6ea455b94f6dd888f3d6ac163774f6a9c5380714e93a691e7c8edba34867e8f24c0b6c03a212d5a920b4abbd5bc5444f34de532965994e95531646dbf57bc2c09092a3bcb899d3e51a86cb65d38954a9e758253778dd75afc6073ef0c7b31293d9e3257770edfcf0473fc226054c28f9e6b29e5272524adf6ea70fd1e0e485384e6b60522b774639d12c8a0d04dd7c35cdb20d818c59b5f22905827092c0352862d850d6d7b58263b9cf8b2ac721282460bc44a98be90224c6d442c91aea1dd764566069244977680b813a75ff98817c3c83c1c1a30a7804d1d318c0c3bfde045f603b32c3a3d8bdbf1f0689f768063bf216920a348c1b5eec1950e50ee6d03f7e00cd4ccca580c5d860114323061286020d590f060e2bc0325a442ee3c5c1e339ec5480a43e04b405fd688b161157b4399b0fc0527f838c76922f3afd624d09b6b59a852a1dda895012b267cf1e0124b43d61c86b82167d0f33bf529aa2439ebb632de82e22f008068258b2708188651f79f47124924945e4f3aabc8388a9316d506b28af00c5fc3973b1ffe02101013eaf5fa4363b76ed4141953b6f6e0f528914baba3ae49e587dbdd4615881a68ceaa761d5a75deded58b0606e558eec3792da31daab02c85eb1195173c9eb11b05c2c5a55a536fadd36a8b6c14d597daa4eb89972bb27c00957b3e4d62c2da6abcf741281192c9c93e2e68d1948206ad40586b6583e41c9d28948178c2a8db74e40ba732a253ca7526a76b2d296c96c9d0e8c66db88a08ab74ef508cb4cfbc0072901e615da9a6036f2eb0451e3066bebcefd272cfe9d3d9efff199aeaf690f60db31b8b85906c572729c580eb231acc930c3a8b1cd5444aa10d16419285237274cc5e133774dc1409c368fd902c6152808f9f2181801361d1e414350c121056046f33e34782d1ca1bd8c7ab84e7109dd4103310502720a4c8c2432b250db0c264a3370debae55871fe001289111c3c96127fff442688815c01f38276b2acb85950c0040858867a4511c7b22612a48b5cf0d95c59123fb72dc924f58bea3b264bd306ac04265c0f4cb8c67e678448260663ee16c630e0fd6e40522acf313a66d8fdad3b7622954923100a892be0966d3b316f4e0f8e0f0ea1bfefb80241310414801991983ccc963b2c810b8b4ed6d33d7bf78b4424120e61effe036854efedeaeac4f18141797f33e3f5a8712fa87b02c1c0242945b5f61aa5bc1c46d57b7422315f20202a406e9812c5d29a70b79f6a3eea3af09989acd63315999f2c519aae3c47fd64cc94589f2448b20c27526e351053ab0f0c97146a8afac89f13011733e893935263fc26ef468db1d055aaacdb89a8974e06d44c056e4fac2ccb6216634f49fa5869185e99be61427a696b224cd846af9e32f78497bcc4440f2a45d29e190e44257a9c3d9e4fe9c9747dcd71b3f334186584692200bde5f2ae285ff2560d1ea87c7e4c56e5981e9b5bf3ab4fbd24f363a64c9f024416228d51f80c3f0ef60e6354218596000956110905608615986954cff684819688099f5544bd2a20123090caf9d1dc6a62e992f958387f2586c63760f7a1411c19528bc728a8fb7268c95b88a9b68e150df4672de48a1e89835254c45d9175e43c053b4aa9d8d41427712d956a0dad2ea10a47f71bd523ccf24a3b93152b5660e9d2a5e25acc67988d9492159d5cae2c9607edb1143117db92ee4e556e11fb0f1ec480021c0cf14e49070d635b9b9b25b3e886e73663e9a285723fbd954475a2ca60f0bd98022261056a9edbb61d1d6d6d8827133872e41856ad5c2e606668780459757f677b9b00935a21e3a752e55472756284eb1042726fa232222015606a9505f09b7e4fb16a40e05a04ac0651af86a0cb2e58538914ecbf46ad6b35ee9f6e31565b8ac6541219ab76dd8d93ad8fe50244a8b28a0dd7296b6a026ed5d8624a441ad30011f77bac2aa0ccf56a979d52390070058434a6639da69a3f4695beb1662ecd326622dda92d3eb330d90bc70ddccb81bd51f2a0a40d5ad1b45e109388d31298503dc0c05edddd1d930c76668f17c7410e9b848fc4551b218bd749c0afe51d13360235969431cd565819d6dc2c5a928b46610dc5b92b5061d9f12e3c6903b9be143aea0cb4f9a9423244c5e2579b96a93e59757f87c78b3901604c11e78cbac7a71e2c14bd88a715511e0862b831845d5bd6e3f0502ffc0ac034a84fa3022f3e0546dada81745e019d38309f19600ba6d8b9f6172c64720aa82860c004c7d45b9935c2aebbe7bedb2558ab6728399933674e293125553a8c204cfb12f6afce50aabd714ae53a7626b1689d0213ad0804420270084608200a723f0d623b304683d74c168d0ae410b05032d2ae9e3972ac5774d4b449696e6ac4e66d3bb06279aba87b28c5f1ab31a56ac84e6390720c70312360528d6b2b031a4e24355a25f91cf58d8c35ac89b83840598e9c9919e14e9e5d9c937eeff3b4254eab727901ca3e45756231053192341d558e35b5f4804c03931e8adac0338d0a632686bccf978a04d3c870ad29fe4ef7ee99485faa2061ee6f6a3f206030aaa2e32ae0db2acf3a3c95245c47329724846641f28f4da57e7e89494cec6875b6abef2c30395dd43735134555396cfd7f510c63094eb43bac8e39510d865b552427c609ee9fbc37455da97a5fb77a87df5340da6720e429d8c6b15e753d0f012376f865b5f6d42a88ab357bd4b0c39f6515d8383666617e248a8b16f4209e1ac11d8f6e4352011f2b0884f23ec4545362f902ea0cd54655484a01a164deab9ef522e055845942d733ab31d7b67a898f7a88a91ba24188361ecd8b0dc8fe12f0a06a87762654e31094f05e9e633a05f6b1e688dc1b90d80529a0b17ae572f164e3ef552b57aabeb063be0c0c0e4999610542026a437ac5e52f174052578ca0493dc7f3042e94b4b4b636c3cf7bae78b9a43fe07596115220940026adc67af1c285a8ab0b95a56038116f9d4abb24c9abc4b837dc8c557f9732eb5aaec83655320cbb23bf562732e59cadcf6347b91c4f0f225f4c4a2c8769334b4e459ba663b067a2799889c9c44c9c528c19d6bf16f33d559bc008a151d4071b15536028a2597022315b9309a5653fe4f5d886d2897416c96cbe02ccd4a8e424d54ac5a04caa7f659955ee37dc6a1ca342b2e22ed7a890f0b8af3bd7cafe564a8fac2a40b0421d56a9762b93ec58258d53406d60cdd1107c8a2e66c57ec4aa813227da5c092caa25972cedf1609cb0ac484acda2edfd361bc7a4424239a113aebe8933af0cefa1811ef5edb65d4a5688a2160333f78b268c139b1624591d377e6efab66161489ead65cce93eb891f3597e4ec46ad9fdde137df6853cb4ed82aeb34e5e2811788da9892cc33753cdc023140a972279feffecbd079c24e75927fcafeadcd3dd33d393677636e7a0d52a476c59b664e378b6b1c1808d6dee7c98f0c11ddf87ef80e3bbdf77e4cf80e108e60e83090663b08db18d6c6514565aada455586d8e93f34ce75455dffb3c556f755575754fcf4ab2763fb6f56bed7477d55b556f7afe4ffa3f8634512a4a83b8507cc447bba5a414abb01b59266262830c11236d4c473aa1202666fb52555c3b44cf53834629cc02390cd2565a09725c891614df5704a8ca8823540d439b07109b059e1f9bc4a290555171ae861072e500325a11c9808e7c4d45a61a42550f89eb8a39a7989b41314069ca2abaabe2ef720965e24751022d8109bd248788ac8b243960088050760ef39258554ce9189affb28c3a01022730a15e234b46349ae2b94ef1225da924a701d2f11b4647f928ca7a2157493adec5603242c50fa366e9f6e1c14173fc45dbf439ddd5c981b304487823137f0f0df49b59575434cc9111b7d639de10a467cd058a2d2933af82c1b14a8a62783277566374f6732198bfab8a18fb5a11cf4d7e05173307c5fc315d6f32bec52c8626e5936105621ba6b2af3bd895558ee8363fd3b1ba331ed41458cc07c78bcae01819d5ba17dd25b34ca1452e48e2bd91c7d341063dbb2ead8c8a79274e5784e37b85a9c5156e87eed310ff2abaa5f8c1ec4783fb53e5801d43bac7acfb54ade780d5866198d7e1d615c5128aa2ff9538b675dd8d6b86df25005ed04c3ef073b7288619bc2c7e7af0d8249eb8b88c52cde0b5aa5a15c7ad27b256b23353c4e17151e467eb58c36d8d3189f7ea55cceb6dc26579b0818ed7a0a3289eebd63f2bb27f0da37e59e7fd78da3587b20e30ccbe33ea16631b6f39beb79fdfa8b35d5b4d10a8dbd51bc77bf7ad435c2817359715c409ac9c96d9d59348ea55de0dae2cacd7740138233c37aea60b7bb6248ab85755a3a9b09c9d9de3a27991488cabebd277f439168bb310cd6633989999b528ba3b38a0cf0ccaac617a7a8683fd52a94e4ebda4cfdddd692148624218647930a8d01f6dea548d97da262d915e742d0218147448157c69d0a97d6ab7582cf0cca0345a55350bf11123aa6c8bee99b4be3007f35dee81bae6a64f2e194a139669c10402293ba79e7aa6f80859e986d05cae52a3c1af6b34f3c636132fbeee0029d8b95e84b8a5aa000853422b8b1a146512c662493c8710ac653126ba1215dfd4402590cae4eea13458b18b6b42b8570b3a02450d51318ce72b597cfebb4fa133a72343c5fd84b25e115a444813025e8da04229b421013a3405424c736c49515c3f5f16c259dc71ae4cae221531550016b11b53fb01a5315d58c695d03c951692661b492beb03b543409cd2b865d0ac74ef3829abcb957a7ab793688d0e91712dbafc42bc8a1eba6b4a39966e27f92ab548196fe6caf1f641639d1b0bac893e0c0b10140a86cc79a5e9b62f7c352dd07f12b98b48527b87c7ff1e2f2e7c5180aecde25786a82ea39e4b58c11d2fa948eb9b21c596c3a8e3bcb42d7cea32c47004f87a01b629730d57488229648cbac07102138f41c1abc8dbe1235260dbbf9b0739659a61ddbf5caf761bb61bd684376459aad60a787ae68f799c0e8cbc4bcc79dd5791e0d885a082474f4ce32f5f9c4130d9cd35907487d1a2d126510fc8b57bd7ba99babbb0a1f3cc439c6d1a0e64531f30ff13acce33018867de484b8b6e0151173081632c3d712b9e7e541c461ed880c439b99c9b256c2049eee76f9ea158ae0bf8b19b37d9e0d23dd11a03739ac57035ac19523c85f2459651a3ee49bd0a4c9c02cc2c3ee47f4c3add8bdffeeddfc5c4c424bef4a5bfc29ffcc99fb076fe933ff91f71f0e0216cddba9937ce7ffee76fe3a31ffd080bc83367ce62787888dd43ffeb7f7d01070eecc73df7bc8db5cc3ffcc3cfe3ad6f7d0bf6efdfc78083b4d6a9a969d65277efdec59a2a0d130191dffffd3fc49d77de8edb6fbf95c9af68508f1e7d4508845ef6f9d3e7c9c92936b76fdfbe8def97fea60ac07ffee75fc49bdef47de2ba6fe560c5cbdd7d4382617e7e9ec15b80fdef06832d1a1b8a3990e3d438e9fdc7ced66e61b833519a8090d5bcb0ce57773a8d9d3bb70bad2d84583c898eb08e8410b1554368fae23a1131ee1d0889fd2482b0f8ae5416e0442c40552cf6aa51110bbc0a4523ed9588bc088018088ab9111a28a35708c59826804b9036d78000180124c4a3c4c471e11a3820b3264074a12a9e9b408eaea24ba3c52d340e01868abab85e45e300d2661bc4c0c000038bd558595bbd08f4cacad1ffbf28e447ff5ae5d8c3e110c7b3989ba8de30331a004d5b735c154072192717ef433c99c652ed98d8f4f3766abb55dac9d6e85d9abb43f0c1b381bb00b62d1c1bbd078604330dd6000708f1781eea7ba42300d82f94c3739fed248a78ef03cd9ec121a7a3811494680ca7e61fc2b69e3b9188760a905e6d58c3e1a0500eca153c7e6616a550070a65a1b889cff6ad298d58a1c1cdabb8a86bccfdc73a4ff5184274c7334920e0b4c8c209bc1c06352716d11d7a94d3b3d3789f0ac7aba91e0bb9c708e6ebf5f13e8feffcb19e87fa7020d18d83137378c74a0e433d9d28eb9a6d5faa9fa9bafaae591db6863547c09ffa922ccd302d59cad574613f774e73a1490196478e1cc177bf7b9f001329d6a6bef6b56f88cf0f6064641877ddf526f6979116f8a77ffa05a6a72610f2233ff2432c00bef5ad7fc1030f3c84f7bce75d0c5cbefef56fe0ab5ffd3a7ef6677f8a372c022024843ff2911fc4e8e8083efbd9dfc3d0d0108395fbef7f00dff8c637f1133ff129018e26f8bae97437fef37ffe5906317ffcc77fca26f60f7ef0fd0288dc81dffaaddfe1c971e1c245dc7bef3d561ccde5eec251c43314d952d2d3d363a5e79a445bf46cc41f4382d0cff2d3ecd99881d0fe5d5935cec40b4efcda9542e8fdef7b3fdefdce77d7ebcc340137cdddf28dda97a362cb2a95909d969fe60b992c657e05b7a44b82faf9d5be9a65b95c292f17f19e05422a14ab542e322f8361f9197487f9dc1b03552f01bf5ad0a4814ab5847c6512314451ac2c8aa643d63560bb2f3487d54387d3ea21755deb3ea49ba46156295610af25c83c9aaee138bf0eb21457056533364bba2b0d5bf8da1615c36dd19075a51a147e030d5603c301c2a46bc1adb93bc18869f93101942104e30ad7962a54e750ad94045aef6cea68ad562a5829d6901360be6445844bc3a9a1386ecbe106930f69385c3aba51b76c480023b1a8d3fda178e4889c5a3c770c37c002ea4cc2d2d5ac587f37804e0f00522ceb95ee324d59d7a0b75aef3b38c645775edfb3fdc83d52b15c7df47b81e807422a02251d8522592ea952bd8656b98c0a7cd8949bc95c5e57bad9991c647b95f9d535814df32e05d0f9fbe40960d0fb477ff42378f2c9a7d945323c3c8ce79f3f823d7b76b3058384260dc2238f3c86b9b979fcceeffca6000e9f61f70e69a5ef7bdf7bc4df3378fcf127c5b161f1dba7f0f0c38fe02b5ff91aa747de74d30d0c6e7efdd77f1b6f7ffb3d2ca47ff8877f089ffffcffc6dd77dfc556912f7de9eff87e3efbd9dfc0dffddd57f0577ff5250eecbaedb69b990efb777ff70f70f1e2180710fecaaffc92b8c62fa0542ab27bc7e9e6b85c8189ccf630fb52b5c24214765999755b02becf61b2906a4dc7d6dc688c06b9a1ac0a201a333bc8f5412e902b256687fa46d6baf12efae65542af6ccb879f2bc76bd5f10292fa466ac6d8d0264f1ba56aa510ab4c99edae2cdcdc95a3b4d86bcc3956d5c98d55e39807c5925e86ae727c05657ca9b25db5eefed075220ed4cd1814157517030c0b38c18e43b1dd8d2841af9a005d651e9708543d64b6a71966a68a6853311c2045512df842113065a806f541b82ed119ec50265989fb2b207e33506589c829f3b6466c097fdd927caa3bc6ab0e08ea825661eba7c3b2a3a956cc892975d58064ea45fd5e7c81a061b54960501c1f30e3d46c04e24d7df6fa3c58955799d5b956a9717f47c4be1a94562397b9c1ec4367b48a0922d8564b764c13503a83d954c5aecb546f4731193d0c1956c06815e59a793e5930d83d5ad31114e7f3bd38d3c12522d1dca6108dc7c5606b2d0cb7bbc76d1e73dca3f507b99323f6fc6ebf5c84731d36ab2fc5b406a27dcd30b993a0286dc7f75db598585d481909fbf75fc3ee934f7dead3f8e4277f8c172569f8e492217e87e79f7f4100953d3cce8f3df6844da74db55de83cd2fce93bfa777272122b2b190e6ea57892e5e50c2626a6d832436d0e0e0e61f3e64d6c8121cd767979c5ecc460006363131ca848b12534e04b4b2b0c5c0890906b88ce21b713b96f286643b14ab85fce2f4a1125014a0b6272729a9f538242b37e4bc8d2cedb1b3ba9d55220a3d476db65156c16192edb244af62b0198c8cd8040b4b3dae7e562a9f85e68476b19273e5635832dd98d43c193aa99f7d18c34aa49cfa365ad13b28a1825d4f40c8b2d3be0d5dafb1914c94d5dab6bd6342f6b12d95881a58a65ad60cb86e48660e0a273865661513c47b5839975abc842e95840ac2324849a0010411368100f1f5754a667353909cd34d1aa82d24a04e15805e1449e83a9996fce3015e7e232f5918678d70a722b15a16009001c51a13932c214073d07748725c149dbe11786e1ec465b7e132813005b4bb45ca70edd9d05728de90374533b371a6378142fce504c809a2b94102aae6028aca3283691593d2efa21894840e1b9c1adeba65264123a9a29c9ba55f3ab5629a35c2a212ef664d3aa2a2b766b56ec12510504181371c284b8a7423ecb0a5854c8052e7047f79b5b34891013dd623e08709c9b831689438f759a605331c9cd742b73460904eb2e484ad8c867cca29bb1385f5771f8904cbca8d4933f14c58eafa1e7a889e3c346bb64748aab12bbb3ce9677bd1896326af6896a5f17572d264e3fa7d134b0925e647520a229f23bdf71c76dec32a15810022a4f3cf124fafbfbb073e70eb6a4ecddbb1b67cf9ec3534f1d62370cb5bd7bf70e16ba1497427120a475df77df775963fdf11fff045fe32ffee2aff0b77ffb657ce8431f64d70f010d8a31d9b1633b831b12ce146b42b579bef0852f728cc9c73ef67e063764393975ea34defbdef7b0e5656c6c5c1cf3974c334eb104c4ff7025d4efa0c5437d44804aa6801270a3e0d7561a7e33c0421b866e4df68622525825abdf117ce76406a5988a341184f96800af97a0f513e2ed7c273fcbba369713987abd4bb97bd96d572b39e1765f18bc6912ff0a11c6194a9d465b5195e6cfd04043ef9f1babf39e23d62496cd74575d669e98d61095756cbdeeefd7cd764880705689a5d0db4284334de008ec5451d5aa88a9c378fba6df404f783b8214382df68143b39fc744edcba88574e4733590121e178a912ab4ea9a4034f962c58ce588041057b7e0ced15fc785f2d770a2fad7ccc7130d46d8a0a20a217dc7d0af400bcee2a985cf624bf06358d09e42b6fa3c4242b02a86fbd9cd8c1bc3ee124980c87de80a1e554dab09ac946cd58c45302d3b9a094c10466b2622a765c612b0bc47e8f5fb81e1c80856f937d51e36057931ee83c8e1a76febc5cea16e01de6af8c79767f0e58b79e8f194502e05e8a8d4908a47100b2a28946a6c2129519a3915a60b07b02954c3be5e05df9dada2ac8651aa145116ed768a733a42012a008eb98c99c599ec88896b5471773fb054d2f05c4e28b5627002e2be7ef2ba5e54d510fef4440d9d625cfe8febd6e3e07405ff34a699c0a354e6314c86833c8f96732554c47dc484924b33e91ed1e65cb98623d90a12e218cd21eb0c479616b9560c023ed65ca2774d33eaf3cad77de38831b1005933cb898cf9331c2e2b62bba65a689485c7595b57634cfcb44b7fc14282f2e31fff51b6765070e6673ef3f32cec096cecdab5833347a8433ff1898f2297cb9b7e49d1c93b77eee4c0d8b7bce54d0c32366c18c58d375ecf968d7cbec08258ba807ee6673ecd9612127c64f120b711a5147fec633fc24066fdfa7576097a023724b0e9f3c0403f9f4bc790d58640d4a73ef549b6a8909027eb4c26b3724568f866465144f449af65e931e324988047abb5385307d0082c4dd79019cce8a7d3b6a3ef1a1ed65729e4fd2c13af571ffb09f176bff3ba372e376bceebedca7116e96b56e1541ecf194bd63cd46a6659761886db25e8d3c736306df0e63839258cfa26ce9b7789337260d483226d83b9e27185c8f561b52b0d12ba015b98ea70277a54c44171b16eaedd76374ece3c8e17e6ff016f19febff08efe9fc79f1dff16166696d08f3b5035f2c8449f47bc932c20421128de80801ac582fa38a2690dbb36dc8ed9b107909d086120ba1f46eab810a839719908b60c5d8792720e47e776e19eddff15cf4dfc259e5e7e198158a181f8d5c92e0f87d7403eab7c0edb4d85bac5c50ee464ef0a1d50f1a176770a4cc7db2a272005ad9dfa22a52ddf8469a6925fd574155aa9809fb86304b7ed5a873f7c6e01370c77e3e7efe9c3b96f9fc7b74ecc6367bc809e888a73d900b2b12e74e90568e502364414e4aa06a6ab1db8eb9a6e7c78ff204efef3711c995dc1ce948e7848c3999c3826d62bae91c76635c7c0e6e5f9107a9211fcf8cd9b716e218fb34fcd62bed681a8e890ebb68c604100a1b30fbe8cc18e20aedf7a232690c5ec0ba7b0295cc09e38305634b0524b8bf9a2639d9611c7a9382e640e05c37fe2e65da2cd2cce1d9c41514f596e25270f8ab577ea66bf681210b33bd38f3ec1ffb3a4fb69160cdfe84e3518cc699a739d7deff7a2cb3a5dd8e4c9684e7f6c566035032a29eb85fe2630408253b28d96cb0abb1ceebdf76d3877ee3c831672ad50c131da603436a3815d3b92ff848083b41610483153824d01e8acfcaa59a63f022f74cd9ac5f3e03c97c088e454a163e467db277b05bcc8ca41808b52a4a535c4b49e282dce69be10c8bc69ef51ed664f78020adb15aaafa7e05f2d05ef7b710fafa545a419807aadc15dcbe03be72649a6795daf177c744430aa4e7b87c767be7a7f379259f1bc64574efd679b73a4954748777883607297e87e249c8a7968cda820579ac1e272064b330632a93c168c6791cf1a78dbf0e7b0a1f7803830801766be8c23cbff133774fe1cf66d7fbfe88b204ecd3e80a3b9bfc15cfe14b4cc00de36f2594452353c39ffdf50b1ee355b9a4745cd6024bd07dda93e6caade8ee3a521ac6867983fc4b7548e2bf21576d88aee0420bac3ebaabb9f4f130fadea65e8be54885eeb946919210b81e61c5368ee9812876b832b648bfd79777704b76cecc19f3e3b8ddf7b721a9b7ba2786c7317c67255bc7f63183fb87f3d54b1e7ce88bdfd738717f1aeddbdb86d300c4d0da34b8093cf3d3383ed435d48273a70607d0ff60d54704d7f0c446b541203ffdbcfcce3ee4d11bc6fef06d1df013c7d711987e72a18e84a720da94d7d258c4d96110a18985c296373cac07fba268e8e70080143c3d8621efb3a75fcc2ed1b914aa450cc67f1fb8767d1150be3637b3762a554c37c51c7e98c8eae6407b68783d8d257c4d33355018e2400f0f8d114ad1e180c333055336a8e39aeac2646edb827a715d2c92eed3c96ab8953cc966e5a5354d7a4f9370f4c14db74df7c13531c91d6aaab7e8b040cf218020e64ea27bf3e593e08783819650da32e4ccd002fd5f35971f85e159f8c92fa35bde74abe85fa67c0cbc17025bccc4ac2ba43b8a86d8ca13fbf8922f3f77c6b86349d0db85a07e9f50304afe539afe5a4e3c05606fa41dbec1c70564ff6617f350cbf1cacd6b6390ab4af94aa603a16c534109869c28df2d5684152aa78484a9d5c1a14af59ae99d69f753d5b618457d0d92904eb44157b923f889dc36fc6b72f7e1abdf11db861dd4f898be770cba68fe091a9cf09c17c06efdff4e7c89c9d6363c23bf7fe9f38bbf02cbe7afa53424fcf096129dab7d23f74a15e9f5f7a06332b277062e96b98cd5fa07a931c7fa978926d9aa5077b53739d1502ecd568ff4e4e9e12c7d0348f3171068c18a8950aa86abacb32a5189e3813e9621283512c54d1dd97164253c1998b53086b2564e6b37860ea8c006009fc87f7eec76317b3f8caf159fce65b37e2c3fb82e88c06a184e3f89dc7c7f1b9f7ecc0eede1c0e9e5bc4e6ae281e3ebd808db11ae2e5258cf4a771fbae8db873aa880feeebc3574eace0a5e93c7675057076ae2000611667978a3832b10cb5a2b17b8db23d7b5369dcb87d03224185090903d5127e747fbf90aa71fccc7de7f1993b47f1d1eb46f1d4d832b60ef7e1b9d3e3b838358f67e60c9cdfd98f3302c83c37b98280d8138921c08061cb176ffab024e923405733426298351fb7642358512c2b615dc6e9fe6e66475b0446ccb564b982de809083cbb6ba3069e4c49dd16e75e1d55e94f67bf5f53d9c58c1a005001bfdceac891932c6406d0a468c26aa2a0124a64dae542cf7d255c07279835ac3de14c9a2486bdb1cbb8acd824c6f996927d96be59b4e272b5b381464e2a71a5bf0ea3146d2d2d958900c3e755bfc8189b418f8f1747865abcd65e6ac7be710f05e0fb44c7e31ace0d8683089a7c7efc77dc7fe08f7eca8e08e9dff0e67971f47b556c2ccd40a94c412427d21249209f16c41cc4d66b15ccc40d90cc4a2719330b0761e1dd14e0cabb7e0c5fc2904e235333e40892280104ab50c0bfa722608cee0ed40dd450507ff878e061e14fbd99c0936869b6c4b51eb092c0a1cee98365633eb25569ab0a999d73bca9b95c77d2dae13171d787a218fe9928e776ceac0e113e770c7a61e7cf2ce1bf0b5533954950056961731377e01d5ca20272108f483f3e29c97459fce678b10f801c5aa0643ab22a9e5f0eff66e628edf0b022050dc06c58444c2a26f6767b03cbd8c5a248d7cc52c5311ac16a015b25002717e96be7808cf4d64f0efffe93806e241fce587f631108ac6220244e5303b7101c56c0a03037d383e7e0a5f787805db47faf1e9b75e83a587cea028004eb05ae43603d1845565ddb07535c5db07724eeb568cddaac0dbe1caf489b76bc8d071ac1d4ae976c6fb0402df7b9870d9ba724cdaed8099b274f575c5bd42a1809dc5e3dc6a68135215b79f1e6de9b4f57941022d972b582cbe5781c995004ce45bb2d0d21892255302140223129cc863a4ebd4b2318ae36b1c90c7995d32f3c561a2f69672372fae34712b38a9b694c65a088a3b83d35916a5c16aa234f15a382eabdb97d5912d4fe3e60d1fc6b6ee9b91ee5c8fa30b5fc1c1a9cfe3def5bf86f7effa3d4485967f36ff0d3c35f905a4c2ebf1f66d3fcfc06c2cff18ce65be899d3d6fc143e7fe2706529bf0d65d3f87d9579ec282710c219512843342a32ea1a42f23a39fc64da33f840be56f605e7b855d168a4f016045f5907c59dfb904a383f8cdb9761567a68fd24e5d22058e6413578c8bb770b02301083171f393d90a7effe038fed3ad23f8f227bbd19d8ce389a932be726c8eb35edeb77718b78c26610865f61f5e1ac30feee9e379427b5151e328184ce435ceeefae19bb7a0bb2b8589d9590454334be895f902fee56c06fff1f62d02905471ba10c6bf4c9f15df97f0f62d03b8fd620eff7cb628c08b8aac688fcafc440366d98b8ab8d07ca926c6318b5fb865187ff603fbd1d3dd85cf1d9ac2707f0f6e14606a6a610963999418a1084e2e95f08ecd7db853b479ff58098990e21a14c30b86e1999f6d15019473576f994e2f99a7f96faa6524fa8f148040d00cdc7d23cad5052fd78d8c841ad5c2b90a4caecc17c5d344a319f78200ea69c26c226c2fcec67099dc750e6ca600e3ab80e4cab398488b0881128ad522ab1ac58751e038c564c90d521680e4da55f49d45cfce6e1d3392dd6e978bfd599f1b33a38c161aa5e5aa9585cadc05595d02d24bcbeec537b6f875087e7818c9859e2534f4797cf5e44f23191de65a24f995058cad1c425e68cfdf3af7b3d8d2fd26948b599c597c04252d8f072efc32b6a5ef1542228c9393f7a1aaad0841f6192c97cfe1d44a11e7528f4389ac205422a152c443e3bf249ebf065d59c637cffd1c063ab6a31a9ce76ad78adfb339547327bbbb33dca115937b8365c577e57ab9f2eb74277ed41d76ad2197cb49414274e0fd27e7716ea18803235da20f96f1f4f90594aa1afefec5299c5ee8c470670c879fb9888b8b79fcb5ae7015de801ac06f3e3a8642b586b97c05ffe5fe0b9cc9b5985bc0dea114564a061efaee699c9e2fe2e84c012737f730e83d74614a0061035f78761207c793982e040480302b5c7feec9718e8fa10ac91458fbdf1e3887c5620517978bf8bfcb8668b713c75e9cc02bd359013483281b018ca4baf1d547c6f1ca6c1ec766727866328199628001a3abef9d7ba4c527538f2b365a00409fbe8664176e5c8ff265831206280a5b8fd8b249d668bc310ef4e0e5bc99699a86ab710557e6cb2f5386869200279bdebd749568aca9e5d44cbdec8d52085d0929d75781491d98347b3bcbb2fba591ab423325578e61f138d8ea36daa7db7659511c51a086a5f25b9417e6bf8ea408d5719afc5b57ec9a7d661c8a5e672eb5ad246a3db385be0e70adbc322ee49e476de579cba5012e2e998800b9ca140e4dfe9d59b15980988e3065f214f0ecccd7b8c9a8388e84d885cc331c5342e71e9b7f0871f13d1b270d0d13b917f907fa6eae781a93b9d3e80899d7b6f09c79bf9e7bd7ad7b5154b78cb313655437707006d19a9f0d1fece72dcd69d842963a4b25165dd5a8d3c9c3ddb6179cd031c9888253f3791c9dce31504d4582e88e4650aa6978f4dc9278be45d14faae8cf304e0800408d25c4bc79712a87105519171df1d4c5156e8b00eeb1b98239a6d45638c4d6996f1c9de1eb2744db7171ee42a186fb8ecf8bf108f29b00c9cbe2fad4784a0c0a05f11e1ecf0800a28afb09e12501469e9dc8703c4c67d464c62640457d49246c2931b84ba2cdef9ca03603fc96fdac3bf63b55f288c8147426b733ccb46dd7f6693401ddd6be09bdc17523d7a373ad28d69a52acfa4ca68bf48dd95f8357b7cd7fdb2fd304ee45dd4d8d82afba068b39f955db4baa784cc286e231b4bb4cc88a6fe1beef1531d86bddef577a2d9bd7029834638375f12d1087a95635b3db1c9584fd08d6fcad26ad6c70e6678a2460ce08c35d074df1a109770a4fafabc3e50a32ea6e1143af5b090828d83baf528fdd208b4a3850bf43fa8e804830ec56cfe87c2993926187e8274012aa9f1f0b98a0c77064d138e3251587fbca094abc050a9dc72ace322cba93cadd64df305c557ebda9d970559d36d4fac51ae26f1dae259bdccd0a00ed8a87ec0c1626b813f3282400474f5c755966093418d6fce98a07ed767b3a42f67d24241d0bea14f0fd89b02341c9405c0c0abdcd100f334b4cde830913ac36ad07e88e85ec405602250480cc6b4ada3d724d298885c3f6fc761893fc0d1f4a7d3ccc25a0383648f89bf15cfba77fc14b3f5e13aa05264d656c8dbc4ab0b6f6cddd0c82f3f02819c61550b9f78d7f11753ebdaa550d80b18a75caec4fb278907b8d58612f494839eb5e28abd59ff1567c80afdb5ac6225c49ae1d4551aebaa2daed2baa10cd95c14d6945f3cfb9a1fa6dba2d8189d2f84548ed80a644b8fd9a6e406d2c76e3664c7750f4b8b25c257989ea96c9f237c3e2f0901ab0a237f2bed96e140b28d8dc2286dbd8e30cc2b5e3359c850001571d9686c2b3ce9468797ddd635072e20bbdce5de2046541b18f04959410c011939cae457fd37e4d20221ca47dc7604b87ebbe3c2e0d67f6ace2422d56dfc9aac88ec0591995a479abf3ca8f9ae7d95611159a8316df0630aa4f64b41c77c33d407c6dcdfb9d4f9142675d20c3c3b4ebb01a9125266cc5ebb5cb39e1c71be4cc6493b7c669f94460c881ea354e34b8ca63b2c68d9d36aa4c26cf45e59cda533c1e6552b0abe0a43528a9546a585ecea15c2a731fd29ae072d744dd2c26274563130b604dfe160a725a5c67570762b1882b7d780d52a6be89346c261e4dd4bdb25c45ce9c8b8b8a267295677876f8cb73e6b2a580d2d689b8cf5be7e5eacb67535564464fd502b34e85c46d2d69d99f868f262a667634d481a108f17d9c44676c9d0026795b5b3647aceeee69282f2ba9e9bd561aaf2f12eee26e30dc963359fcaf41ebb52bd4597b1ebc6e134f3d19e7d792844eb6ee29376c5726763d92b3fa1c6c665d93d450a9f34a59c504a104b8164fb518c540f27ac4c25d162068c4269a663073ef9e9e289e9aca201189214eae1138bbd26854425c88a03e32aa5d3ed14aed76cc17b709c621d915772aadb15a8d47f85bc11aa375e169dff050edd71981ebe3e89c96563c89e184564a4341c2b0d88f4b9512b60f04d12d641ca50f2b86d28862ec5b52ac77232bb69fc55165523b8d5da726adbe66650c5d05266d02134a012e0a814a55863becbc6bfab75c2e0a815a65ba7afa2e168bb20958d36b42209460f864dbf3f9ba59b29e0a43513aaa21165d2c1a1182b96ad24e5b69894e2074a58212b2924c4f2fa252ae2220368b9efe21b1a900b333735023490cf77422b7bc80e56c093d03c388060c66d8cde64a28962a181cec66f057abe96b1e38a34d45d68726c2a5e43835000a9ef46bc7f0dd85dae3b6687d97c6a51d4e1ab9559bc9eb86f2ca32c56b9935d678974aa342f75aacbbd5f62945b145a15da7c3abb5991ba1d3c2a93798965d16104bb0d11a0dd8957995062022fb545194c6b176f9272cf7923837128ee1dade1f466e621e7385a7457b614ff979c553bca55e2116ce7ac296a077066cd6ad3a9660875b2336943a78905946866582f1663a1b32bfd73221b8c497d7e2a23824b4520716f05cc33734c4511f5971cdc73ab8321c042d4174627de0add8d7f701a821b1cf1a55df19a9319d7d006fdbd18789e53c9e9a2f20afc1fcde3626d4efcb99f963008d842baeb4a946b79ae1c158f6970e4b9437c1a559a06f4380ae3d2f8cfa6fd25523af6f99389c995c7c8caa3492f4a9e6bd39a243ea9c598ea0bb98785fd369e0c37b06118f469905b63e515c1509eb0faf184d63b89cee4f5e0f9af937050cab54df874a195ca5a45fdb8b00426fef20464686ec0e26fe8c8b172f6265658e0189aed530213e2f677208c712185dbf0ea97808c57c414c10b200044c2e8c80094c4a853c16720692a9048262814d4d4e2224907d341264614ebc1bf41b05e2958aa20d25287e0ba32a804c5508e9583c06bd4a25da2fef34d6e565d3d24429ead18e2ea485f61e080a4dbe5c13cf1647321167db6d30a6a1a7a70b65d12fa120a500eb6c89a2f3a940583b82aabe3599c5ad380adc7084fcb710f75e426b4a9bd47deaf3505f8fcd97f0d2d99c589241aefa497b50cd8af00f50b09d64b3b42a89da156299ffc1b03e93175933f5312500b34a8af45b9be47be6bdd4ab9f29d6ee62d69550eba663f23f074ced9e7ea368f7fd1b6342d369b21803662eb551d3adb43d2be080761f9e9f9ab5712b0c085b753b650b30ab9653e88876aaba7e49e1e4660c84c2f7414518b5263534a896884b8b24ce19adf14e692c6261953936dab938b9ebb87f24b041bd34819f8bcc0e8a568c5541a81a34303ab00d77077f49cca11785469ab137f6c61c87c6567cc24b1a6226eaf0a5aef1fb1fe73ec779358f1eedc6496e91e6d0bafdefb70e42dcf0bf85eda6c9b31be888f5627d2fa5c7a6c55aabf95717b66eb626d618a5d17ee2e60db87d721e8bd9a2c34ad28c2ccc686ece58cd03eddbcbadcc233ebfb92c124d76ab86a6140ffa41eb6b2b8e6023c5ff18fa292eb4c7ed4229a41464925fcdfbc6276ba0e51ab3d613173e0cb2c58495015dc71b11fe7ac50213590ebda3c34c3374bea8e0deca8a78b850048bf36378ee8563181a5d0f55008b627609e74f2f6078d326a8c5655c58c8239d08e1d9e78e61e3feebb133ade391870fe2bab7be0bf185b3b8ff911770fb9dd7632e57c2fc7c169d7dfdd8b5cdc04bc767b071db36a0b888a3a7e7d13b3882742a8c33c78f21961ec240ba83ebea5c6ee044bac08833c22c25af71654dae124ec08190b562456b8bbfa3f128aaa5120b550263b962458013d522c5d2d8bdd376e4b662960f509c3988755da6a92dc3297028bec04c2177067899ff9e1cafe0f3dfcef1a24ac4acba0f5cc7c4408823e28302a828e6b32a2a9ba8395bc2061a3a0b6fcd8a5854a8b4bc38276069bc64e234a9a1cce3b90d2bce89401cd3f05bf447f417159ba76ab16ac0e068fa720548bf2b84f4fac61478b202cce4ab38b958c6fefe1852b1208e4ce785065fc3f6ee084e88efafe98f22190ea02cdaea0cab363f86e2b122535bd3b92a8e2de4b05c362b396fee0a0b8d36c6bfe99ae1a21eaf1b030c5bec393543ea43c248d3e25ece2d57b0a727828eb00a6f8d4d8a1d206aefc7c628ddb58cdde27a778c26c4f70a2ad57a6600e19b958a8e97670ae80ed41055dc2666f85833c342e1a0751d0a45eca0592bfad0dc442fa936527d330f84140cf60fa13f3d0c73988dd5859ce1b04c287eb05af2c77aff6e43507905a03ddd653b7ef644c3e75a6b756dfac12b9976e4837468fe8bb9a1864c7f936134b9a6e2384900feee741ab776759a56ea56c063b53e323c2eb256fe40c5a7bf9aa12ec50b4cbceea056c5215b3c8be13585b6713f8e67e0bd261064cb7e733f657318ee7539dad6123b2e46375990c5fe4e1e060e36d7afba72d6fcf28b2369cc2035b8ec77bc238cc9c971bc72ec3cce9f392b34bf128ae14e6c1e4c616a721aa98d3924776c413a19c5ccc57388d70a8825d208905aa798222c64d470e1e205bcf0c21971ce14c2b110e6a76611199f467f6f272e9e3805237a01b7bdf94e0c0ac043952d2f5368679bbe3b5249013e7298cb54d0dfdf2bfaa58889f129747577231e0961766616c14817ba5209cc2f67eda0d94b79a98a657f303ca458682c43d2903b21164d3812413416f5047399474684d0ee4d8718b8444362c3630b84000f81306f86aa903841548420ac41a964c55856c4861a831e8c400b86510e85a16862e15634be165b66d882423baf80191af9c36bd6f5825c1eddae49efe00050d89a10b07a5937173b81bc1055c70db8360519a84d00eff0d40a7ef18109fce387b7e0ec72191ff9fa39bc6f67374692213c743e876d02a01c1442fff0541ebf7af78807f1e9280be16f1a4a02787c3c8ffffaf024d2f100fbe20930fcc2ad03f8f0de34a78ecac84aa3a6419c8630011d581a98ae898d8980a8d3eaa2e2e06416bff1f814bef2810d48c53bb83e08030e0625e21aa2bf7ef5f169fcc3b16566c15c2acde1d3d7f7e227c53b12b5c69dd666157879ba8a5f7d621a1fdfdd8177ad0fa35450b1cc15790d26d38a8515a6fa2e5bfe71367205423cf7a8bfe41b8a3fa3a5e2600b339a095e8f105054310e51b4a1a97b7f5ba37baf6dcdde1b4d79291681b55edffb9ccaaae7d80469460bcddd29c0656a8f009b8ae2b44d61951d60355f692b3e8f267dd35078d0093ebc4548db9913abdcb7a13401bdcdface395fe55a305ad8ebfc15ba55e5a835806691408b61d6da5b0de52a3059b3d5845c378d1a56dd944b9b57301c1542b60b11a1b92e958175c3fd98bd3089fecd1b98c4494825ec3b7000ebd60f209bab60f3a6511c79ee1022c3dbb071e308324b19443a3b85f64bf4ce05263bdab0711d4e3cf534d6df7c377ee8876ec1bffccb7770fc95456cdaba1dc5a549cc2e2c615dd7a0d8846b975d9fd1e64efd562c56f9dfdcd222a2bdbd487705313b3dc9c2baa7af97ad4b73f365f4f50f40d5ab989d5b6256400a7a8d44c26c395973e0a6aab86a0fb5220c77a70f1a5646836e174a6c70239040eb8c8af10e723a9ea255102867102acc43292d0880b98270a58050258360610e31a50c259440359c42ada307b5580ff478aff8b70b86f8be8828caa032e742601a01d474e230a8b000b3091ce4e237cc1a2ebaae9aee26c35aecbcb78518b88403e6dcf4d79c0df6d814c5b59e9dcee36f5e5ac681a1047eea860144033a6e188e63b9a4e1cbc716f1fc6c113fb0278d5d3d11dc7f2e8345f1fd5b3724319c0c3230a257b6acb105e37fbc6904eb3bc3f8e837cee3c1f319014cfa30932fe1bb67b34808e17fefc624a2c1009e9dcce3d0548149acdebc2e81d1ae10e672357cebdc226763bc7b5b37bb722ae2c19e182be0e10b05dc3414e37ba03023b25a3c7276197ff9f2227eeea641bc7b7b37fee099597cf5c40a3eb0bd93ebb83c7c2ecbdad8edc33104c972c76c9b452c67aa48e8450c8af68b350347668a989a13eb4ccccf9e70dda191cbe738462cc08179700513facd73736c5497b2ee120a4a63c8755dd1311a7d5976435a53b7907be66a4dfef6314ad86d7adbf39cd7709ce1734fda2500a526d56a7d35fc6620c64fd03b7e579cb9c81647c69a639fda70c9b800671b00a7a9b74f71542f34da771f3558507cce6f0b7839c191dee4da069a47e399fb8deaa825d7aac828cb06725d139b6d28c8759714e06a8cc95a5d126121801617173d8174143fb1c8f125529b66aa6bf1677e6106e7cf8e418dc45110df55c497d9f9795493a4f169a85d4c6260e73aacdfb4018f3ef218c23d21ec5ddf81f362730eb1c951e1e253138b335829ea88a67bc537053cf2e0a3c85714acdfb20e4bf353e8e848a23fddc9f4d997eb2b95ea40a1506261a81773989a2cb299bf4af1366a1e39014a34cac6117d38317e51ec293a64120e756b6767fc12d28625810fec227e4e3fbae1a37fd603d41437b101148736607e1f526a4857c6115a9a42acb280f0f22482f92528e2ad5697c5022d732c896a71a9d002a420af280107d6c6c53b9e8491ec4429984629d6c760a5dad10f3dd2072ddc816a208c2ac73cd4631da8b5a06883ef47b45bab5100a06e5a5b3433c03128404d3060c669181e6d46f212c4c89a22c6e0971e9d124048c5573e382cc04698c9a1fefac545fcd8be346f349dd100e60b35fcbfa7963125c0434009e0917339fcf7ef1b126038c46d11691335f7f0f92cc24185899ddebf2b8df14c09ffe3b129bed662b186637325fca000395f3d9e413212e042682f4e95f0a9eb7bf0bb87661928508cc844a6867dfd51c4c5798f8d0be02000fcb74eafe0736f5b87a1648437f0872fe4b1b7278e4fee4f23190de1ff79f32026b39a787e1d7ff1c2a2d8f40c4c89eb3f746619ff7e5f0a31d117e7962a5850cb3839b1840f6c5431b352c529f15d482c9dd3b3256cef0e9995df3533ad3418328bf9a9aad9578aae78dc9426bdb61d67e255787d85aab18a566cf8b86a14348bdaf06fdba3d97a89427cb5fb5676c455d247bcf7e32b2cd1da7de475c1b8da50fc0192d2cc75d1ca88b31ad8f086bdaf62155a5570a38d3ef08ebb27e8b6d5bc51b08ae5a61dcb8ee2df898ad19edbc7e69daa073caf6a7762fa799579579895c6d0ddf8fd2a30694ff34f246242b8663131b1ec0ac2a4a0cc4824824ab98454cf10f6ed146025b38450328d1b6f1b10c0258b8ed46e06193d5d296cd8bc01c5950514b4204a42309380beeb9def12922e8e44c8c0e69d71ae1bd0db4f9682100ad965cc2d1790ee8ee1e48933387afa3c7a37edc66d375f8f532fbe8040aa0fe984b87ead7a59f61d593ca242700c0ca4b1b4944585ac3a96b055c90245e63c021c8aca667ff203334ba4aab0b6dad999e0be5f339789e5665054479a5a235349d37813378471647758dfce4c1cc32bdff923f4d4f202678845552d71206940fc477597283093d2155581102804d4a0c7a6e27020ea65f141a9209a171af9c21c5b3b4202a8842351f1ee829e18821a4fa1181520a577b7984b02b4d42c7a25c58c2d2157110528a84195532803aa495c41445214424b2e0ab2ea488dd6e9ca91cf53156370ed4007964a357ce18539fcc6dd71b6754fe52b02000470a03fce3c069b5221fccaa3596c4e47b0b133c860e1e064011fea4eb376a519261747672488743c84be78112fce14319fafe2c9f13ceedd9242540096ef9ecde1ad9b52d8d51be57896b278a631013a1e1fcbe1d0441e7fffc1ad0c6a160b559c58283150fdb16b7ab884fb2f3c3c81895c1543a908fba129b09640906a6dcca54a4d0091324693416ce98a0830554689da5fa9886b55c558a878d3fa14ee1c50f193e30b787eaa885d1d627e0980942b190214e9c859ae2219604c01c136d19e5eb798f8a5409a2e730703a6d14cb8a185bfbe95606b6265680a60fc7e375ab469b470f1a0c5f73ef763341aefdb7b2eafb6dfea9a4d8093e1779cbe8af5c568f23ced8e453b0051877f78b0d1c242a4b4e8bb56e50ff436e64a3bf3ce68b468f9cc833a0dbd9567e548696fcaf96499b02976b0582872aa30dbfaaea60baf0598989d9e4834a63898fe67ab76861ac4e6eddb196c90b0a56d6efd86802978497c888dae5828203e308c7e2130f2c532aa62d07afbfac5885485b62836f768dcae624aed2692ebb06e6318a895512b16d191ecc5e886f508887bda7bfd8dd06b15b646188a72d912ea133889c508c075339f49bb738f0a62d17bcd69c2b6f55c5a49dcd60eaca207198e6c8c66beef6a711965bd885a4f0f8c980a3d606a001499571620a14629e38198a96d5330ab66b28f6a02801040a96ad40f2acf892067f2e8fc8e2835040b17a1e70c9463a308f56d821a0d225431c9bfd869a30a40a2e8767ca246fc0e7a0801cbb4ce712716b368b317096d0a92fdefdf3788f16c0d9ff8c639ecee89e1e6910e3320975c0de2be27b255b676505c4777441540268e9e5810d7f647181811a02c8bf1a1b2f25b7bc202b8506c8a8ac39379bc63732707ae5275540ab2fdbed124ce2d95d9edf233370d6263570d67968a883087b98af1e5a2e85303b3398d838849d0f7c6c965a508e0ad737c8a74d111c0f9ccc353f8f3171770cb48127f76640ee757aaf8f16bbaf1a5a30bf8fecd496c1200e5e46c8edd3fb98a2ec04a15d35983fdda04949e1c2b604a809d2db1100322b6d2190a5ba0342af047a9fbec2ad3d97566e8aa3d3f2440719aab6b4239a02074aa2e6e18466b2b86efec6b966f83552c26abb5d1ca72b0d6f69a09d3b51cbf9aa5022dfa076d588e5a65da6095fe441bedaee57aabe559b563116b45668036fa14ab5848d0c6d8370762b4c791d78042150cb8d3f59bb96614cb3f2aad276c99c4d55a3997f4f227517304c0890dac2036a5d52575c91a5073a32b97ea798c55dd6d19204b41b954646d79fd961dd82234e48a980045718e42312bd22c7699f71d811372c724126107b95173d719fd6c96add75ed5755dc4880e9e0aa585b5d7d68a5dc15f92d5d1fc37a6e5509a3b815c7414e9e40026c766b8226dbca3031b37ac437777d20244a6a93f289e3d972f62696e1e86107ab178045dbd698482716456f25cc1985c5e81584c4c8f1202c9f518d8fe66d43ad7a328e64490ac309cbd030e8e0d05236c5da2c25f3a67ff6860fa29c5cc60d10cadb9502262c010043088b2cbe71d5b53f8e8b5bdf8eac915b67a6c11df530d906b7aa2f8cab115bc3057c6c7f7f7e0a10b59dc7f76059bba231849088025aead8404781082bd3312c21f1d9e87389ddd573f7d7d3fee58df813121f85f9a2de0f4928ab70b3041ee22b2aa1c5f28a028c697a8bc6f1260e843bb34fcd653737c3f3fb033cded0f8963394c5674f9686718b1a099c2ab89ebdeb33981b14c9f00214bf8bba3cb6c6dfbc5db87c5bd07d123dabfb052e139476d906565241516f751c433e7b2e8176ddf3412c64399654c8ace5a10c02b4c0ca1027cd18a22b75b500048668075908cb0cd4a519b6ebae42ba78292cc5f64e82d84541b19156b3a5e6913046115a1dfeeb556139697423cb85617483b7d07b497babb5af02ad6d8af6b3db71d60d30e3051da04b76be9efd59f95800965b08542619bc3c45b57ccbb5e687da816cf14599683e25ce693b8eaca59e3b4623fb2e602273220f6f5af45622656968a45941cf773e5f41d189494cb55643239b61ec025fc51076a329682e27ac4461f8d85cdd4d84bec5f17b1d125f499cce3b1b372ac2608649c3d7b06a15417fa87f660e2c279cccccea1afbf0f37dff8566cdfb51905e29e61ed20209e258cd3a72ee0f1c78ea1b0bc808d5b3660f7f5b723994ce39fbe7a1f9e3bf42c3ef0817762fb8e1dc8160520edbf0ee81e45a022045ecdaaad42b048745d4d2f71902ca5b416cbba55b156633328a5ad07c2e45012e025d4680532e3a06ab871b8037ff2ee8d188909c02d80d22fdf3e80b3991abac20a6e1a4da237026c4f47f0c59e383a54438098100e0cc791a36aa6bd61ae8b5216e318aaeab863b403ffbb7713bb43e881fb3b0218899bdc2e3f7f4b3f5e14c0262240c59eee205b137fffde51b6c40c25430c8006630a7ef6c61e7cdfc6a4004c0af6a6c3c856055079db28fa443be948007ff0f68d188899a65fb27884c4587eeaba34eedad489d97c05a3a91036a4829ce5f39b778de0d45209dde259e2aa8ea056c6d6d4001633054c2c8491d0a3508b59dc2dae371428616549c3a09a107da6e1a862b27c921b27100a32b05415d5e5b271ae3f596d98c177cdac68cc848986d1441357dadcf48d55346ec5c71de0f8cd6823add5c563ba16c1ec27c8bcfca22ad61e10abac6955b6bed776c015dab028acf6ac97bc233579f6b572a0b40b4c9c750dd0261f4bb383bd1613a274089b80c42ad9d10c90d4d791c269c8bca705cc7d8114b637a250ea150b4cc8ad42da70466c6c5c1add91e9412e8a542a86abaf56fda76265258fc5c58cd04015264f23323ac227c19059f94b6357876921090a892a23b453a938d2e9a40d0ed604288c3a4d5403ebe99a2c2e0e1e13ebfb40342e00401726ce4f2316398dce7810452144bb1241f4760bc19eee41bed401cbdb8268248ab99915a151c7510e95108ec5d0d3dd2b9ead17830369f40fd2bb0f3deb8691d052c8278651d4aded3da49a154185461f1680a1942de1f0930f6178b81f7bf7df28847e04b54a002b25d17f7a05e56206d99515544686818e8867433053f49241059d02286842d053ea2f150ebba62f62155721c65893f3618f00213450343efc3b8d8346e9c2e63a20f7634a0080ae58c0b56f532c118d2f5541bd65c45c1f14e04ced6c4b87c43b6cfbacc9bd47f144370f9bf9b355f1392e9adb26c05059fc1d116065abf882ce2797115f578080a0788eede920bf69accb969b7034191040a583cb1b50307ab1a80a701544a712c040208ac5e53266b206c7cf6cec0c61be1ac05c89308d45f9ae12b95fd8e69fe172084d320c9c1bafa118be7542dcc1834efe0dbd8506ec8d15582df854877f7a721b69ac76368ebe46a1ea8d8170fea6ad61a51a97e08642232d7bdbae1c6395b69bf48383ddb6a1b08c722940c82bf78d35f4bb9c578e94601f0ca1283e712a46e3c16e00e12d62e48e2751ac640293a4c94da3502814590925766c02e9ce782cd735386e4be335aa182681a966e86f882fe78ab69810257d2c96407777a7c5b8695a4be6e6e638c6a3232eb430212028c82e9bc922964c32f7425efc265d36ab0a418a2d0986108f06c5f5ca48243b980515a4058bb60ac5b2ab2df2c187a3611626650aa415e776c463bc6e888a9c3771719fe57285297f63e2d80a1198e997643cb8b441172024972b8a7e5a660012ef4c0ba1dd85b898b885cc128a55039d5d5d50f53226c627911e5c07bdb88ca9d9458ed9585c34b94cc835b216b78e93625a067b2aab59725d675b20c655e8ab2e703a1209740d8f627e6109e7268e23293ef70e8690e8d2d1d71fc7d0701f56c49c09b0134e117d1fc5e4f4145b3688548e0282fbd29de8ebedc6877ee09d78ef7bdec67d120b89c56d84a10534a82101e0d41a930fe5323914f24b58379446572a858993273171ea055cb37b0fd3f593500c88857eeed4311c3e781fce5e388afd033f87f5fd071aee9ddd87943a56ab5a962bb050f79ab9e8b16bc54abd931c01d6f5ba2be2dc2aed2c9a8f3b8cdad5eb42ca6a9352c7bdc71238926dc8cdab5aabf0df94965ce50069470d10ba3762b8b5efaf3e4685b2694aa68d912d1804be8462912fd1bbca81b2644aa636e96f0239740d93b4ce1cf44ab5c2a0c64411ba5d71da0bf29cccaf32c5dc2665734e2e5bde290e378f63beb9eab328f50a7d46abe04fef779efa25868fc0532c81d21010da6e4ae9e5526bc912c8fa259c77a9cfe0c4806ddd870f715c3380651fdbced878dc6686d1248697dcc8baffb50df7772e0663fb99fcb84a0c8bbb8b8ed1ec2634cdccc629958a567916a32980b7b455b69c6bec85d0b8b980f2c6d4f2baa2b372a8bfd2e96ea1a50eb97ea38d6f6e6e0241a1112f4d8f632157c5b61ddb3075ea048a4a0c7bf66c3149a40438a0cd2f1a8bf067023341a1fe46c22abb3842618a19a8616172026717cad8b17d182fbdf812fa46b7409f3c836230853d3b37318d3d33a346c22ce817e696d837d71123adb984978e1cc7c4e402d66dda82feeea81040016cd8388440ad8c93a72f20353882e17442080c0ad22bb005e3f50429b4d967b34533ce222480517e059302446d5a3f8c427605d34b0584a23184b43c4a42c05126524d68b004ba0241c50636c9647c4d2e331661aa62478c2bedee5792f7c08e2971665bd603612be502c2812a7a7b53a22f8b989d9f12736310c3eb063138348491e11174593140941247fed79d4228de75d79de27956b065d33a6cdcb811a9ce9438678829d0aba50a0262b12e565594ca61e802933efff4fd38fed2d358585cc4f2dc940033bdd879ed7502b42d0ba05ac172ae0c254eda47058696c1dcd4319c3ffda2004167502a665d1b8fb3d68be22970d334484d5935ffd2d556236d7be3797ed75aed38df73d0dc3d27e3849c1a9beaf9ce5606ac945ff9ae55aa3cf01433a2db315f8aaf3bc7f5bc066c32b63a43b157636f626130d0286c9a6ad17e6065b5cc10878bc7971ba51dfe0dc3b75a723bc0c63d2fda8db359cdf5d5ee79f5cf8df3d968dfbda6fb2d03c33fe1a6218d585fe5be75c7bfc62ae3e34707ef7fc38d14fced8c81d2061096b57b148795d004e67eb5b9bcca51dd186370f66480d720ae0293358365162e211f37859952482023333f8ee363395c7bf38d983e7f1e8560271291329e7dfe1436ecd885919e281e7bf82518e1146ebaf53acc9e3f8ed36379ecd8368ab1332710e9df88bdc3113c76e828bad3513cfc9d0770db7bd330a6a651890bad6f710ce5600f06bbc3387dfabc002dc33871f85914e343f8910fbd03a79fbe0ffffacc59dc7ed3f5d08a398c173342f0f562e2dc093c77e805e495046ee94ae3b1079f42a87b3d76ef5ccf60e6f59a0b72623add5f64baebedef66f6d799f925c4c4fd11f3e6f4d83c03b499d95974c582b6bc512d533ab541fddffec4358bb049015177eaa0a1daaab738973b0fc7b02a66ea2eae8a522e8ffcca12129d9d02f59711efecc1f6edd7a07f6098e9e089fc2cca94e63576075086cbc62debf11f3efd6350a92e504065df2a130da9a6c00809501617cf985dc860eae56770f1f8691c3ffc1d8c4d9c1040a58c4c3687c5091553334790a0ecacad3723104d215f5111a4b809f11cdbf6bf19831bafc1b1171ee7f815b92178370a12c664f193df13c05e93ab4cf107224e4b82939050b37ccf745d2f699db4023ae7c9ea96b860bd189883084f5e5f5a2efcde86a742affc4e7eae59993886e52a50ac5a1ecd9ebbfe9d39df0c6931714c36bb9c40039dfb6aeab99f80f76382f5d1a47ddb525a08d0166e06a5b9e2d118e8ebefce55144f0c8a8b84ae29ab5093fbf75a23d04298c2d3df3293b23530a98f990b3d7b5c738e1201f6edf871c2f8b9919aa52dbb5d35ec3a511ae33cecd20e8abf7bcf6db95b2dddb8555ab97b1e3bfb40d230c87d96c6998009ad47b39c87b7c0a443d9b0ea7511f8e76ccd372885e38acfcaf1dfb81587e615442295e06fe2891454ad86975f3981447a008b17cfe0f80bcb48f60ca03ba4e3916f7e8bf5969582860ba78fc088a470cbfadd48f5f56268a013cf1e3d8bed9bb6a1367f0e86103045a12d9f9d9c46387201cf6657c4a046104cf7a0a3b31be1684c08fa3cfa37eec2fe850a2e5eb8802dbb7642cfe4313f761e176b25a48786112994f0f2a143989b9e45d59844b42b855dc329ae49f33af518eaa9baec7b8221eebb2b11477e710235b1517475f740a955d9c44ec29ab83c82817a3128c3e234597bb0afe20a5c74d6ca81a322670338f1e39f504c7a7bc52e152e84a8683647268d9ac1c1a64901502a94226ed40408298b13aa1c804a1629833665d5caea082a0810c91a28fd54e1ad9282564362ee54ca45cc2f4f60e2d07338f9c57f84915bc26ddd429b58df87b25641b1d68342d5e0e264c55a0143fa3c52e71e05625d1c6732373f83b1851974f5afc3aecdbbd0dd99760593d9f563c4864129ad333333ecaee8eaeac2c0c080ab2a68432550dddfeceb3cce097a2875706c6c0ca55209894402434343fc375d2f994cbafcda121cb9dc94867fc0b3bc9fc9c949643219ce82a17befe8e8305d2f0e20e6573d98cea7fb58a102579e8d52ba7e8869982c760c94a078a835dc6669b72bc7023eb0c8d36dc1a18a8db7c26f4559c5ad6034c317ce2ac32dac288619ebd2569e9e2f30f1abdbd2fc7e89c389f63db32e5573104bf3c1eca756bc2b8a4b19582da348f161d36d87529fc6a3ae64360a6449a249f75b2a55fc819f1fe36b4be6da56568a466b84b21ad1927d8cd154b124f04e6b5dd79b919ead16ecdb983eece52ca95b0aeb809fd621adb1783c6e9310faca4fdddc974d4243dd2e9a791598ac0994f83b336bd2ef2e0680eaaa2c9d9a4251a8cc995c0e65352c34ea2eecbeee002e1c7a0c27cf1571dd9bf6a23f90c7979f3e84f496ddd87fcd208e3c73105b765c8beb768f08b459457744c3034f1ec3c77ff40378eadb5f4570f400fa42063a8737a03f56c6e4420223fd02502c6684504ca1b73f8d782480d3e7c704b0d988fd7b157cfb91c3082747d15313c7086dfec61bafc1d38ffe2b26c439a35bb7432f2d31299c68f575ec33707c48341a11cf5566e653221e9b9b13c0488021fe3e477c20358e8fa1cdb498cda04640dad2b629ae24998cb1595dd3da7728734c805aaf0a6ba05e9adcb644ca805aa571391a065a66d3119199122900627febebdf2a16a382578e1ee7722fe3d317903ad585ad1bb7201889d99b2c95e83309e4746b83a49a3a2649189d97af14f0dcd3cf62f9e82b181dec82518b31532bfd9e0898158189fb24c0daa68a9a5ec0eca37f0f3d1483220474a95a466965019362dea507372274c390f52c86cb3a40c2fccc993378f1c517b161c3061c3d7a145bb66cc175d75dc782998e3137b47ae97269a1a037819a575e7905ebd6ade3376d4266f981009f4fff8e8f8fe39000c1232323c889b5303535c58064696909b7de7aab5dd8910404b545e7efdebd9bbf77b6e5a779178b453cfae8a3e8146090eeebc89123b8e38e3b18fcd06f4e570eb523db93e087ae91cd663940cf0958cc67b7fac9d03c1a6723c19a93f9d53cc7b0ac3735978658124a83dca85d1ab81d6ff25ac446acc595d2ee759a9bfb4d015413e3b9cca090e694c937d46849220d3a2bd6752b5e8b4bb9df4bc94c94ae0d9a8b74dfb6cee210d4d2aa47e0b52cf6c8d72a03f27b994969aed9102b1d34362eaa8bd512bebc9691362c2b4c90e698cbb44750d6a09f12234f55b99096caeb467a9cb4ab59396b9b501d1d5121506778813929e9cbe502571d26ae91fef55b3172761edff8dbbf07a229dc7a60279e7ff2717cfb6bdfc2c6ad1bb1677700cf3c703f3a858677ebbbde0d2dbf88854c015bb7ede4ac866cae004353d0dddb8fdd9bf2e819ec43ffd00644077ab0b97f008597cf2010edc4babe9ad8e82836a31b490158e684e6bb52de81eeae385e3efcb2d08453d8b0690ba2428b4ec6fb91cdcce06b5ffd26927d83b8f1a68d98169a6c3cd58b91be6e0e9a7dbd011d51ca53006e810381752c2d2eb09645a085dc2114a21b120286e666410831dd42fb7a55e39813931364cdf61221d0033cf915cbe2e275fb1a96cf5c6996f1e38876f796bda77374a101178c0ac2232a3ae29d183b358da98bb3981d9f4361e910b44a097bf65d6f0a204d084732cbc2a43de712382a69d79a99f9812a03909a9180b26117d4f51b30313dc95a36599ab8de8be80fbda670e09849e257e1b8a41033e68a8d212a004a772f72990cc6c6cee196cc0a861cbc027293a0e7206bc3e0e020eebaeb2e3cf6d8630c4e487092702701bdbcbc8cdede5e9c3e7d9a05cbd6ad5bad78aa39deb09f7df659dc7cf3cde8e9e9c1f3cf3fcfc7efdab50bfdfdfd7c1c8111dafc6fb9e516b66e3cf1c413d8bb772f0be80b172e3030224bcae6cd9bf1dc73cff1397d7d7d3877ee1cdfdba64d9b303c3cecb2e2c81769df2438f6efdf8f743a8d071e78002fbcf002cf19025bf4db9e3d7bf8386a8fc00a01a0d9d9593edfac1c1c629044561d2a3541d7a70d9cc1ac6282c5b2388fc68d0b2cc2f08d4f71298002389b95b0ab76c2081d437d3130d0cffd69bc0aadb0f579c62aee9fb559399b69cccecf342ed3d353624f5c1163dde978b6ba6582405a46cc43ea7302826f443aa89ff586f671b37a78b0c1dd417b533e9fe5b4ef542ab56640f15a02904b694b9e93c964b9ef3b8572bcd679b096eb1290230592144779090226048aa43ba7e1da3c454cf04fa5494811552ce6efabc0a4cd17a14dd2ee4948944a2b1e4afa280b58628a44288c9bdf723b66a6e691ea1d442a9845577a08db0560d9b2318d932fbe8c58bc0fbbf708b0118da394ebc34aa1cc0368082153ca97787174f48ee29defda806a36871bdefc66b39aac18e0ebf7c7a00563e84e84313bb7888e5427f349e4441bc48dd139bc196fbf7710f34b39b109f6086126065d68d6ebf4010c8f6e412c91423ca26280b260c4f52945944a4ebf9e489efa8e266e7f7fb758247906288611719816bd713b217b53272b09a50bafd55a22b557539b0d58d60fd30fdeb42e95afc2e90cecf2c421501689788e70d0c0d2fc2422e11abba08c6a09bbb76f11d70f616a7c12dbb7ef65f7946195ba8d443a6c86079a4f559d2adcc6204422cac1283a93428b0b99f4e8c55246cc8945b1f229fa3d2800b018d3b01000c42c6b64a0c629bd3685b9c531befd809a84520b215b53f1af2fbf8277cecc62cf5ec38ec1a071a67fe94d429c00c3d34f3fcdd603b26c901037e77300c78e1d636041960e0210870f1fe6cd86ce23eb0a811a1234f43d01090224070f1e64a0232d1924f009c0902058bf7ebd6d05217043c29bae416344e082ee91ee83000e9d47c7dc73cf3d7c3f4e5025b559a97d91d6bb6ddb36be0e5951c8ad43e087ac2874fcc2c202df2b7da67ba0e7e17e17d7a7dfe87a74af045aa82dda18692d93095ff22cc02ad5ee2d4ee65d3766dfd6ec781aa949d29bae21ad51cef3fc04b53fef837f5c4bbb80a69950bad4b52fad1fb2869574a33953781545b3999e09f4b59b9df87abea4a024b0ed74fd393704dab3688ed0b17e855bdf48ab49bbe7d3bd934b92d61e3d8b33f0dde52a6a0fdb36b5cac97568ce6dcd6ed74cd32fb2b2e397b440ae529d2cc0ba59d282c1bcf82e2f40fc5560b22601abb380347d93864b70993e3cb171d688565e45ef409f008355e42a21ecdebf877939c89531b0611386c8a42cfea301200afbaea4d0a0ab957acd2a2856aaa361078ed2caa680bc483cc17f174b554eb1256a73f1a765aad379430e8836fb7ad3bc419ade518d6339529d499e38c5520d71f2f1d36470e499bfde7d47266cb27cb46fba7632c0ea6d6fbef24d8b912c59660d3f9b285912d4bba81ecc7f9d39f98a6b6c65ec8093d19000965253100d86459f6b585a18e7c559ad76e0e8d1a771e0c01d18dcb8955d31eceaa8953900f6e563a7b0bc904334066cdbbe5500911e9c3b7b1ea74f9ec5e0c83a043bc238f3d23184821568e5298c8f1f45b65842a910c05beefa00766cbf06f35367f0ca89a7c4f17bb84ecee4d849d44a3a26c6b208073ab06bef6ef1adc699439a75cf52584a0b845348eed8b18335c3279f7c9237083a963615020ab4318f8e8ee2e2c58b7c0e1d4bee1f8a4fa14d872c0e945d74c30d373048216b0a01192e6669c56c90158680cfd9b367b94d3a8f00040103fa9d8ea77565c67744d87242d7a34d95ae2f8188ec7b092ce87bea5b021bd2f47ee79d77f2ef8f3cf2880588fbf95ad42e59610888d05bf6038128dac409a4999ba3ce2e47dd5a90d2dac6251f14a3219ec63bcf2b42fba3b70c0895dfd17dfa056fb7a3c5bed67ef7d7b23da2e0a77e63cb9ec7354516136941a2df698cde288b8997108fe69a8c7bf1c6ed48771fa7bb97cbafbabf2e758f6de7bc66c7d09cae562b0c0cd925aad46b399969c43eb12d06ecda622ebfb51d7b63ae01ef35a9bfcc3559738168b21492f26234e50002bbb52941a0c62051e120ffabc0648d2fe94fae5718562c6165b85c17b56a3daf4ca61c329918a36f83d92b4d067b1db526e654d9a6d3b4e5cc66d01cfe77dd9182e547074c51464e77bd372be27be3f384cd056118ad7954dcc7ae2dae444efa7a7c802ccba6360404ba130edc7e751958578f3a77532dab8a109815d35dc4451ca3190126e8c617f1ece187841650c57bdef77104c351e4975738bf9f34cbbffaebafe15f1f7d4a80c7387eedd77e1923070671ff771ec1affdfa6fe0939ffc186eb86e271efdeeb70500d884910d2378ecf107b1b4328948348e175efe2e2ac53994b20b3875fa051c3ff30a468677e1ee37bf032f3c7f065fff872f32d7cef69d3bd09f1e12382b6083037a4b8d5506a71100d8b76f9f694e15dfd1fc7ce699676c3040160672bb4c4c4c307890993b74ecfcfc3cff4dd68813274e309020cb1f5938a86d02360476286e8480880413a4a99e3a758aad24740c8104ea3fb2d674777773bbf42f59670868507b740c9d436e1fba67695d79fcf1c7d9aa431be0810307f81e1e7cf041fe9dee85ae478285ee470277ba0f09f8e5bfce6c1d1af52ad5bc11f759a996ed7823a7adcd1bb42b5f35b6b4942ce6d73a309182595ebb1d70f06a7f7f3d818df325fb58c620e98ed82c9a6e2630a9d816883722b8d129c4a5d5d0bc9fa06f6a3759c0690c99c8af52794365ce6ae0a4d9ef75b0608e8fa2aca53c41abfdb5b1fe0e65a69275c6191346f39ed637f5b537f855ca509d6b5299c0b0261479aa29675ca5a4c71a051e05fd9558b8d45d39a68b271c0e36a9a353070132cadb2940ffadbc54aba0dcca4a8e2b495659c099e9a434672b16391c7379d0e64d802e1c624a7a72e51097c96a5613a7b5440620da39f6f53c892689708afdff7aba9fac2a4b310686cb6242f742da6f77ba4f000f21842b352b6dbccc96ada5a53c9e3a741037dd7437366fd8c105e24848cfcdcef3efe4f7358c451c39f238b66c18448f10d27b76ef8156cd0921ff225672b378ec8973d835b7035a3e886a1ee8ead451583e8de32fcd221619405ff7b5b838731ad7ecbe1eefbee7c35898f8a2990c29fab5a7a75bb4791d3abbd2bc2939818914c6e48ea17fa5f580840659430884105020c14e429fac71d406593d28e643ba2408d0d0f96491a0730928508c890c4e25c0426d4830402f022314604bdf1140214b068116021ff42fb9520894d0c645d7a37fa5c95d9e436dd318dc74d34d0c5ee87af42cd436dd3705ddd28b2c34f2da748c0cac95193c0466e8bae486a276e47559cb17e794094894aacc72eb44d24e8b89d772a2595a38054c3ac10b09b96616932b118c385fec2a10c023540e99fde15961129449f0e2673179adefb59530af8f89044a5e8b09011785f7246ac60926bfd7a0e3d50014139854792e8642c1a629bb5e178ea228ab07c57a329214850079c84148081b00d27a6517a993c3c4ba178a9323d04af74881d314cb457f5f05266b9814c4c49acf575c698db489e5721521744c5fab336b4c75f8c41b52ba1ce9aa6b99946fa4b6f16a41c9ececb2105e7944621de814429a3684623e27848d869ede5e94f31964b245740901a36815ac64b2c843315d60035d6dc599689a9bf1d3b426e9769f37d6099680c45149d8d05de88598093542f39ad9ae5958502c78d2a849130f5411574350c5e54a790a2aada1589bc740bf8ee3475f40246066146ddebccd0c7311c036d10121d04338fccc835cd071c7b66bf18bffe5a79148c4f0cfdffa5b944b19548b059c3d7e14b942158592d840ab21a49343888613cc58ba6dcb266cd8308c4a7919f7ddf737181f3b82de5e21f89430a2f184e8d31422565c9414ce4e1f3f99586520a09c5b24d829c8556e22f4bc044624c026c12a2d0f322e84da26614f6fa9254953328131996523bfa34d8ade14082a3361e8454084ae215389a5cb46722290bb4802096a8f00911390d2f7f47ce46692561d191f40cf48161f024ff48cd28c4fcf23b38fe4b349972d073e3b099f3c9baa9fa0204b0b6dacd245208f25b79f14cecdd6f0ab012caff6b85753eb8be682e9420e34b4233377e8f9c3e18acb9df846591c142e72a9f158c878252f30a13d8b9e89fe5d1b77d26bef92b9d4b664cabe6931a9c8647397f35a6949a3ef772dbf73253d40884186eec96223d04f4a873388dd549028f03fc0f744c1af0665b22944fefcbdb7e65fd1ae1cf2a5725d93c17e7b01d2c6373e3e2136e365b10927b80609b34b5211b080accf620680d1049783696ec6aa85644d814af4eb8ac7d212a08dd50a0e22f322ed95329dca70a057abf61db741d28fb2032e1be268b1112c2f6799bd955285e999a9d05c6f5f1a2bf33328e941a4bb125836aa08c53ac5df49314175ce6b5f16e75010e2d2524e08a2ae96d791935ec6534810214346945502bb94061542b66bd6ef91edcad806aaf1333db7848416c3816bf66169ee3cce67a604a02a2312175a773987071efc0ec6c6c6b16edd005696e7b061cbb5d8b66d4408b03d021808c1a86af8ce77be8ee79e7d12fbf65d8beeae3ed15f256cdfbe4908e81ef4768de099675fc62055a3aecc42d5d2d8b3effb3036fe0a04e610f792875151b85c42a423868f7dfc23d8b6e326f40f0ee0e9838f6179691115012c9cc0a499bf5702016f7aacdf713286a7995bc26b4d68a6a9ad769e1378d05a735e53feed04edcef39ce36516d6abb85c3b322890de666c9009a014d3f1cdee56cac8618e06363b9bd63335d8bcba3057022f571afab16ad1dbcbefa5c2e24c3576ba975a65feb40338e8ff010b84fa557995c2c1e68f21edf612633fb8ffaa358ba3c51f981090a7e777b9423df3d19b9aede79a68169f22dbb15d041e179b9f2b87ee478252ef75cd2c93aacdc9e19d8f72dc9cdc1daf0654c8369de483b655c1727f797984565708557bce0583a10660e2e4e169981f7649a026c778f64b493eea0c11907d26c1917c0e398ee67cd7b92e16ad99aaa6d97bed5560b286054f0236994cb0e6e57cd1e77c7e1131a1061f79e220901cc6487c19ff7a6c09efbaeb461c7ee209c4873723481b64a5848e6454000da139760a90d3a362255746677727aa949e2610644031d8acd59deec4d2fc92383e8ef193a790ab85b16bd70666132d516e3d4ca0a20614de44a9305e91b226a2714e2dd52e03eb8a745f158b65065654b1b5945b4259e0b288980db38b2b18ddb405b552deaac24b646521a8c4966a29a9e4c62170421b5c3353b00472b49948ff31b98b6a56060aec52168a830009aea5ea5e7292cccab0db730a395a6c81700443a35bc4a13524e27de8dbde2700d53872474f21a656d1110ba3aa1771f2f42b98993f8fd9b97974750fe33ddf7f2ff6eede8cd9e98b78e6d063c86773623c33429b9f138b3b896bf6de8afdd78d6242fc5e091bd877600f42b58a007117b06bdf0d3870eb5b907930cf359434017ef4501c9b371fc0eeeb6e453291425f7a10f30bf3a24f4b6cd1919abacca068654a6f15ffd00cb0b40232adbe6f3708d4794fad2c877ecfe00526a69ba56c831409322588650149008369b58bbcce344ae7461dd87a09ebbc31267eb1244e57863c87bea3cca37ca1c0c0a0b7af0f5d9d9d6d0587ae0656a8fd0b13139cc937d0dfdf0018a45531140e0bf0ba846c2e87752323979435239f59f2c43402937a7c8d73fec975253973c81ad60a7cf8f5b77c9155cd740bab36e37033723e798f9247a719309160de0b329dc086ac6f6b2a93d1a27c82747b509bd24a436fb64659fdb396ebc87b378149f075b5e2481064676679e6078d0fc9492f6824ab095199b0c5da022455fafd2a3079f52639c390e856452ca86332338760a58cc9b1599c3d7b11d942194935c071057a95169081b241d9224b38313b8f739345f475c78460121b44c14034407c14dde84904b03237839e2dbb505d5ec4c99313189f9ac2d0401af1685268d32a26a7e7511660e7c2740ea3c35d98be30895a20821b6ebf0debbba31cfbf006f7984758e80cca360cf6412b2ea250213e8faa10c273e8e91f14025ec5dc0209e80e243be258c8e41910b663fe35830c6bae604fa7c0315c416e8dd582edc02105ae226b72e3951b2909185a6854ffe6bdf7de8b9729e535d881b77dff3bb0fec41924ba0e6266ec94d0b6f3e8ef1b413cde8d954c060581c6a666c791eaeac6e8e846012cb202a8740810b217e5a28a81de7e64720b18bbf022b6edbe0e9b36ece048f5898b67b1b2b08091d1edff1f7bd7c2dcc6759dcf8200f124098a22f520a91725450fc7b16ccb4e5cc7f1238f26ed3453c7c978d2fe8a76a63fa593994eeb99669ae9244ed2749cc44de2649aa4b265bb56624bb6655b12a907458a141f02f12476b7e7bb8b0b5c2e77170049494ce77c360470b1d8bd7bf7ee3ddf3d4f8af3b1ae5ef998c6c70ed160df2eba317d81f7a9d2e0d010f5c19fa35a66b237cb648749ee6aa5e99ba157b3e60a358a18b4230d778398b42342fe672f6c05b9d6cfc86e120f2d20f567fd9d7e6901e5adea1b7fe31cb6375eac88ecc3cdaacd4a60ad25269a04981a13089ec9c929fac7ef7c4799a0d2990cede47bf88de79fa713c78f796635260d6e63c58976804468c1ae05800ec1d5d7835c40aaee08b7f3cd37dfa23893fcaf7ce94b6b841adea1e57de3ec59fad2179fa38f3efe842e5efc905ee07367b2d9a650d7263e9d21d58bf2585d57ba40933cedfc1a444cf4f59b89b6e0cba4c3d3d176980661ae83603635063155c87341f513cc7d9a8098826f6666469907919706660398f33409d1fdef375b69621234b7e83ed5efe6f7e80f44a2c1d1fae8d1a3caa4a8c995e95764fa73e945811e0f7a7f332f0efa1bfe51309de23af037fcb4706de8237cf66bd74cf3ac3fe8c1240b41846153b50c03fc59745667ff3edabcab93d9e96d562314a1de98b7577594a073ef65d69f78e657377045014d001c5f57998c8c1f3c4057cebc4e57f307e9d14f1fa6b7ce9da7078e8f53a256e4d5b4176adc9b8c5361b142455edd2752fcd0d797e8c37397e8e4539fa79d776e51713545c3bb32f4ee1f3ea0e1a134958b25aab0043ff5d4d3349a2cd34f7ef22b7ae0735fa5d19d0e0bbc39aad8691a1f19a03bb78bf4f457ff9cdefcddaf697661850e0e65b643af2962e13db45e61342b9e54ea72443dc0ae58285468cfd828558a059a5f705554490f8fd895e58a4a038fbe4d247a9abe3a512b373d012a4252f742d074b2ab56b51cef5fd7546792594bc72cf1edae097534cd01cb4c16171666a82fd34b1307c6e8c0f8419e40b22a38fb8f4954bd2dd3e9cffc19ed1a1ba70b1fbccf8227cfe46b98ee14bd10dc415e217fe691c75435e87ad5a2b91926149f2cd3c5c98b345b2ed1a9939fa3e1fc105d86df2813d59da347697169896781023dfad927a8877805c22437c66d84802a1416f87a6baa8ab1cdeff3f373b4522c36c994a9f2eed6fcd22e92a49b10d82892d28d0923ec7b3315bd490ab4f03605a54948b400b1a851df95b7e33ec164e7545b05cab48009329378353f6a4d61168bb5a2725a89d7bc79044ec7a80bf5dcb3cfd0c4a109fae10f5fa6efffe007f40f7fff774ad377e6fc79355f9c387e5cdddfcb172f7a0298579e478f1ca1784f9cde7def3d1e838b74f8f0040d32319dbd35a70404c6f0c8ae1125a46ff1b6655e142d235f4ba2974e9e384e17debf403f7ff555caf6e568fff838eddfb75fb5e9d6dc9cca2d93ec4dd2c99327545ba7a76f2a4d248a481e64e2a005b1ffb9d325eefdc4c4bf40d0425b3b2ec3611abe3f88ba022901390109c136acb2e173841c33d02e414023bc1bd15ae8677c075f296cd34ed7e82b7c87fec53bfa002fff18d7198a83c69236a9e8f163fa486151a2345ddc7e84a9ebe8324d7af15b5c8776ae869f158e85d0785dfe01e30ad768db9eaf0bf651cef48383ea18206d3a0708ae519342fc06f717fbe33bec83be40fbd0572601f5cc51ad39b15be2d12e6a3288c8b5fc75d6f6a95edce1de34b5267032762dcf0ca848abad08f8f49d3aedcdf50831e9f446c1670483d16fca410641f84da0837730ab5de141bb541ba12f3cbb9f7ef3df67e8b34f3e4a659e50aa551eec0eb3ca2a4f7494a0e5f979aad511a5c204a3c80f5012ce8a0b5471939464be9248662997eae555c514df58964ec929aaa56394df3944a5c2757afbdc1d2ad7ca34b06337ed1bdb4d379c8f69f2d227b452aed0080eb00d4c395e4a7a4b3975c20fc2712c4af4b83cc1de5083330573ce2c0bf7beac2226e59aadaaedc2f91549e3f040c2b33c9fcf797d1c617fd461895a550ffba55665b6e2f04dc264ad772969465b79f444e7a0d09946b5905761af95125db8708e4e1efb144d8cefa1124f84699ef8f3fdd0f6e4a850e3498daf677868079d7ee411caa45394615206d250ab701bcb75ca26876828d74f152ad1b5a5cb64a1aab29ba377cfbd4ffb862628c5f403115fbcf0a595a5598a33494bc6b27473fa32132fa2b95b338a80213479f2ea144d5db9440f1c3ba9b44393573ea60a1318dd5ebfc6a4538dc7dd2223dd7cdfcdf1fd45fc4c8d4993b41a21c23a9f8b99488fd9b30a17c78409df0bcbb5d69994cc854acb3ce1a831ea09b3560488a999d14211997af33cd611ddf4f9279e50be613ffcd17f3089fd809ff949bec7d354ae966976f616edd9bb877efca31f2b6280566458184f5dbda642bb218cce5f384f4ff2315efdaf5f28b3cc63a74fab5537cc38f8fd6bbf7e4d855a232a6c6a6ab2a1b589d30242beb9bd9353537468e210bdf2d39f5271a5a4a2886edcb84e0f3ef8a0224b996c46097a08c4bffdf6dfb000cdaf211a3a52cd1f92ea5dfffaccc31a105458494358a3bd5ae3012282671fa1e3080fd7c20c63596b4f702ce4d2414904ec87e368ed0ef2e5e8ccc310e45ab364de3b33fc7ffd58f6eea52696fa7b100a9c0bdb8e1d3ba6880964024814b4282016681bee09f6c57624ffc336ed9c8df643fb813682c0e05838263425c8a503a2a3cf87b6637fcf5da0a8c80dae11c408da239da85087e38f34cc762651f6c6bfdda1bac4324282a32a0ffb899cdbf0c3b3c92c596016edc4bdd3f9b69a4674a7652ec73c96e045fefb57b92f4eec1262d2a980edebcbf0e0bacdaf8535995f217891c8cbe18e2d547ae8d413cf921dcf529257fe7ff5b56769981fe215d4667062bc12abab14ebb93a0b89d11dfcb0cf535fa9467bf7efa5fe3e262499bd94a8c77920c6e9c8a13a958a2b74ecc17dd49f8ed3b5c92bb45cc9d1535ffb0a2d4d5da48faef7d2e16347288dd0ce9d03343fdb43efbcfd16139b5e3a95cb6c0b1f13addecee5523c700794136c5d4ff6504362f03abcba9f2b538c5780d0942cf10a9094f3b05ab7aaa46cf97cb66d448e4e6ca50531a269aa3cc12a8f6f2db0dcb54ec3fa1973b4b3d79a04902d530e92fe68ed8bf6534028f3c4f85e3a3e314ecb8b33f40993427eb298502dd3cac21c1596eed0cccd4b347d2d4bf1de34cd5c47485c95e2c91e75ec9bb38b7cdc12e573495543e7e6fc2dba5dadd1fed1a3b433bf97aac5125d65b251ac79b53a2e5db9a39c866f2e2e91fdfe79ee8f2a8f394709b40f53499ec456a9c863f3037b8972e92c3d74628276f0d8f3faa5d65cd944118b2093c956129376a69076d949db15f6f313134d40fc661bbf0947bf94cf412399a12219ab351576aeface88c60b2ae9ae4d953ad36b1431519f1bc9fbaa4c524bbcf24d65d25e0d231658afbf71960e3391c031de38fb263df7c56728cdc476616991c646c794bfd2efcffc0f3d7aea147df6f1c799945ee3d5734509aec71f7b8c9e7be669faa77ffe17d55e107de4ebf8ebaf7f9dcebcfe3abdfdceffd2d34f3d45a37b47e991871fa60f2e5ea4b9f9397aefbdf79460fcf68b2faa55f8f75f7e999fbd1dea197afcf1c7d4c3f2b39fffbc9167a6454cec462566af4f288098d84de212e403a4b579ba3f414a707e086fbc43b883744038ebf073ad1581c640e7ccd1ab711d5de6d5b9a92a726266e2359d56b539c49f2b09a4d4cb62daf241d15a016d66d1c9fd401cb4490621eacaff8c49157200a14f714ff01b10155c07fec6bb8e780389d1440a2f10317c8ff3a1edb8275a1b8473627fec07a288cf7abbdf7f4c3b97eaf1d8293109f2136c474cbcbc5b7660c1509354eada54cda3349cca91bf64553f8b897b4f13367bc6a07ad16ec83eeed61213b73150d281a1762a8789853a2f653af0a923147356698557c49f3e759cb795283bba972736555b5645cc8061a230c0d8817195bb23a6f235145940f6d10ecbcbfa7af2a111af0a9dbdaa2ad41e9a9850ab2c78300f9e78988e3d14574217135cdcaa532637c00fc321caef1ea55dfd28e8b6ba6d481dfa677030c703b3d757ad331ad016a4d3c94612a4e85b6ae64bf018b8adfa0739169a2cd2f2a9228dcaf4eb1f376dcae163f204a4cd004d67523835f2fb655edd5ebe7a830a4c307bf8a1caa612349ccfd1d8ee1d941dc8d0c757aed37281db104f512f4f38c8d7924af4328919a2ded42095f97ed7aa755a49eda4b29d222bc5c264244b553e6f8127cc856a11252528934a2b7b6c8289677f66378f910a5f5b5d458225796cf50df45266f030b7b3428b5029f3eacdb6e24d87e0ba2fcbaf59e02eca87ca9cd4b75ad3d1cdf3d7edfee68a38ec65e6be2183bc92a355f771cf3789a85168ac552f27c811570b60db760db7257f85e3d60bcff2d4e4a4727afddd6f7f4723bb86e9c0fe7d4a1332981fa48989433c05f4d0f08e9d2aff0bc6de59262ae54a5969e594a064013cc7c21c21f8d95c960e1e3cc0027cd08bf2b3bc1a5468c70a2f7290e42fcba4152bec0a138e795e04d875cf8495e6f185acd185c20a155610e299558ee710a808056f66e175d687fcbab61b48d6f4dcd8d444516c5d76666812b42604c21cdb2078219c4130f05e6c9824614681390b733104b8cec1630a408c73fc069a147c0f4d060422888d5994d28c0c596fcad1d9bcdd35841ded02e1c1f1d01ebc8368a03fcd67493bb3ea71d2dbf00f02b1caf17d8b37f28ab4d24e58eba2931461e5ebd5df435382fdb5c9067d83fb0f32043287ebd4c514cd0845adb1322f31dca9d56d2f81adb039def1a26b7c7e26cd121e3e738edb3099ea62ab16d2d323dab1455ec26479100770ef3531b1024edcaea1ea33dfbcc4569393a0f9d11cd458e523324637bc70c7cbfb6f87a6d9f56fb79b99608b2b6b9d80747e888614a68af167999b70f0c851da7fe8b08a7c41340616d3db25919ba7beb655764014436ce7c9de4a45df79f898491abc09a7e1b4aa1e143734bd9a1bb40670dd26a3570f1456ce8d7a20da1cb0522cd1f90f2ff34491a5dd3c718374c2325a4ec695e9299e18a0ebb3059a610190cae669747088868676b2804355603e561d21723565de2ac034e432d18cf7522f93163791212b91a26c3245b76bb35464d29ae48929cd446dc7e0000df1b15003e8360b16448fc07112ce638b8b77a8cee4d6e971e8ca8d9b74e04e85760edacd95a119fe876bc0841fb6fad73675ffa4bb51b271b7725784697efcc4643d417003af494d98712f63aeed3a8d0aa8469660c314d0b2c75b8d10f244b3e09fca2acaf7b75858e2e3d82cd412542e2d91c5423c91eae57159a05ca6875e7fe30c9dfbe31f58c02dd0e79f7c52f95561f29eba3a49b3b76699acec52420ab57e0e1f9950ab7464cb8479e5ad77dea14b57aea83170eaa1cff0fd2cd18d1bd34c9679055e287845eaf85ae6e6e6e9959ffe4c09afddbbf6a8e3d9f52a7df2c9078d047709caef18a0743649ef705b96943fc93e655648a732e434c2e5071a396674d2bea60f163f1f10b6e638d15a3a45641cb719cda6fb4b3bd9c2b744fb65b48496dbcc5703818cfc3098ff60bac07720664bcb4baa2f945f0732b522249bf78bd73d138ace4da32bdc3643b19188c0758c31b09e98780bcd065150a917bcb1a4a37f46c746f939dca10801fc41748e9fba5d6f3ab56a2d8676e6c5f5a0cdb8bf03bd03cdeb57cfa6179ad2344525e2deb14084d037d817f7e9f6fced66bf787e659ebf1a925126ede49a90731dee1b54257853cf62900c7448b932c0d4077f1f90cca0f959979c58f3bca9dfda5e115245d65404522244e6b72b75dcb6dacf668889db85e6c30df98dcbccb6d4c9c94026609b4305dc4e0a3675aaeabe0f9e305e32334cc4fd03db2ebbacf7b03a463d05abed6d55394fe2edd3586b5b351e8cd684e82a8d025edaf7d5a738891e5c568b5041f362fa29a80803846a3379e849245990f5aa2c86299e58729934b78357a53ca15b491670569a962aab34bb08fb70922a2c98169910546b45a58d71996054abb6e79dce642593766905f7d162e1c364a7e4c468a9665365a9407b07f3dca6849ae07aac1ea5652bab7a3803fc7b97e60b25951760a03f47892c1394463229ed9467a686864a5eab57c34c293ae7072a087763d6d908b9d86809fba0889cb0979f90989138a63644f916212995e3e52ed1963f330749d0f18687772aa189fe1e19de458b4b333439f93a6562357aef0ff37467a140fb79c59cdf93a3c19101fac65f1ea7efbe7c9ea66717289b4ed22f5f7b8d7ef1cbd7d44055798fb0d274de6de681b8c48403a6b9ebd333dc784f033665f10a99fffbf0e2452574bff7bd7fa7effeebbf51ae2fa7e603959f84c7c1993367d55c373575837ef3da6fe985179fa62f7ff9948aeacbe71d7afbdddfd35f3cff059a5b2ad3bbe72ed2c3a71e56e69e6fbef0bc12c810f0dffad63795a0863036fb4a3d134c0a206021f4217cd10faa6e12b723c504bbc2e7b9357bcbf3bfe0e77a78645809db8f3efe4845b7601c5ebb714d2d00c6c6c73c8755ee563c7b70de1dd933e21574c4f9a76f50aa9e52d77d73f6269d387e8216971795d909846d80e73f6d6acaab67c60bbb5d238c1a2603dbb103a71f2d0b2a8d4ca4ea59e167fbf0112f0121ae0d090c270e4f34271208676897c8f21655a8cd0452934aa7bc42ad464d1afd1dfe87f3313ef7e5fad47b2f2fe00ef77be7813947ff0efd621e6368e790e91dd234179a0b2e955fa411821b36ebbacdb21d51fb90910ba51526a0caa0f03d5f291654bd2c10e8575f7d758d46519379cccd3ac4bad96e1ea38a98b95e41bf383f5b0dd9ed867001770bf9c38635266e1b2212d690be975e7ae995d3a74f1f78e08107c6686d820ab3448a0561f9d147efb3604b5a28771d2c543d168d7c1c2d272fafd353bcfa81df48584a7a8197fd15021ed585bd0267d131f2ba16112607a4a4efed8dee5f109837de38db93cf5fe20960406d5b5c58881fdc7f205ea9945a420893b4eb2fe0e792198dd3f42a77b4bab9dacc3eaa4909340df8edbed1dd3c81a61521c24417e70939cb9310dab36ab34067b2b407fe250987269934cc169794a3f3ece232f5f06ada7678e5495859c7c85693618c78cda7d4ec0ed994a9d46861a9422b953a95ad1aa5634cc052252ad54a6a4507ad8dedacaa9c2aa58a4b93bc322ef36a788f2a265953ce93f03dd09948b5d604d7a2a322b4262ea8f60bf6c3aa0c4243dbb0f11b339a21b836d3da7ba957d2517e2c1b4d2a16e5afa2578f6621b9b01c264d9282cf8dbe70dcb5669ca07e5a9348ad5a53da0808c812cf15e4d66974384d957289c6ad01da7de230411ee6f2fdb4ccf7f657fff926dd9cb94d6916dc4e33f203198a624a4b61c1e98a0567ac91d44755e965a1e5994f7ad472137396d600a8482226e915b7aa0438b46a6aeee2abc0f8b4d5f77cff783d7a7d7a41955aa81498302d4e9355af509189d4cadc2293ea1a8f294b09e50a4a48f075d563d6dabca10dab1736283f0e6e2fca4de87a54997486fa73fdadbee5e7696cef982202482589d5ffe4d4a4221271be861af7c7e8ae514f9bc702deabb4ee09aed1dda39e16939fafe95bd3ea79dcb36bb75ab420915c95fbba3fd34ff99ce7fb522a96b6f57c18e55a1ae6c56185697723cea15de5dafdd67332b022f7f19396e6be568bd0a8f211b5d5d0853cc821e6126d6e52a637647c6d8c0feff9abd14b2f7df715c8f008f9ee76a845e9ec7ef8ec8f6b088296618dcf78ef69bcc78d77bc12be179ed4a4ef732f791908102736d03856dcf7d2c7d7e7d2e725e35d201008040241f7708c77b721939dc60b9febbe17b62df1abdc90c9507f571befabbecfe64bffde31de6de3bc8e9fd0b8061989b7d18c74ea9113a4e2717c9fed0639c145dc0e20247e6212f311134bc69440201008041b86eb23264e0031f11314c790dd4e888c6fe718db098fa04e88493717dac94b5fbcd6b0f4f88889f912622210080402c1bd2126b62177cdcf3d8606c4e942de6f0af10d684bc2184f3b42e2ef04cbf7d90a38963f585b2010080402c1d61393769ffdf23c8a90b85db6a76b8d89dfbfa61bed88ffa59998b9cd6a6c37cf67fa980831110804028160eb8989edfb6c47c8ee30b9dead16a52d69896fe082a2226f827c4b82d4445608d9d0a4c4d498dc0d538e901c81402010fc299189bba9313165b57ed57d64c50ed0a098323f8a1774751df190465b6db427418d08222441ce35fef0603f93721ada1287d64707090402814020d8189c00d96dd3da2095ba8fa0046952dc0882d22d297137aa31714348441043f2ab854c679aa0bc25668769c757c7d0b08896432010080482add3985000c9b003b4266104c5f6119a7689d7bad29a746bcab128daa7c4ef43621292206262129b98f1eedf5f888940201008045b434cfc8a846e8849904927c8c4d36d86d88e894950744e5486573780a0e8cff590e398c4c4d4945824e1c202814020106c35310972bd704288893fa74950d44e14197123dab1618d89bfb6b2655c4c9006050deda1b53e2541e4c24f667a42b425e25b2210080402c1d6c1e9426b12e57362faa884b975107559797823995fa372976822623ab986996e4c86666a4bc2cc3ea231110804028160f31a13973666ce09222961e4a49d76644b32bfba11da0e3317491429317f6f12931e43d36212138a38c65642488f40201008b61379b89bc70f4af161920cbf1f8969d2897288ed3401db863526411da505789019c73148853f3cd84f48e214ec346b8bc6442010080482fba2313165b2ded62e7c382a23ac134288364d4c822a2b87694d1c437312e54f12161a6c929198ef18424c0402814020d83c31f16b4bda39c2b68bd671283c9709d116657e359d5cad08c6656a4e1c834098a61dfffe3db4d6b7c4f42b31c9c8fd8ac611022410080482fb4518eee5f91c9f7c0eaba1636a4882a2733a49b616c62336a43109fbb1e9b41a26d8dd061121837804f99404996fa27c540402814020106c9c984445d2f87d4ea2b42861f573a2c28837a43169774161e69c2062a2df633e72a2b52aed088990138140201008b69694b4232861f574da11928d561aee8a98f8d3d1fb53d33b864644b32b7f07c47c2fbfe9268890c47ce713722210080402c1e6488929c39d0882d28e9c9821c641bf094bb476d7f398989a1327605b8c82739db473760d8ac411622210080402c1e68889ff7350e8b09f68108517f1f39b6e2880ecb46b4bd71a133fcbb222988fdfefc44f4e1c5aab598951b8f94688894020100804f78e9804b967b801e423ecbd5d9d9c2df1318932a19844c37fa126b10823353abc5848894020100804db8f9cf86beb046954fc2426487b12d586ae89491049f19315d7d86619644547dd441113bf836b181911622210080402c1dd212644d17e21417e2376c47714417eda62a309d6cc6da6d6c36cb099c9d5f2111721250281402010fce990933007590ad8c78a20259b727eed849c98707c24c2a1e8f05f3ff9f0139020422224452010080482cd9191b06d6e8744258ac004119a8e494937c4248a9c580127b602fe0ef32109ab8523244420100804827b4756dc0ededd08d212769c8e4949b7c4248ca8f8f39b98c5fd2c5a6ffa89726e8d222342540402814020d83a22421d92892882b26922b25962e28fba8932f1f8094ad83184900804028140b0bd084ad07e9d16e7bbeb995fc31a6e05108db0ecb0fec65921c7082223ae8c218140201008ee29497123c8493744a66b6c85298722084a1849a1368444c8884020100804db87a0744a4e36454a364b4cfc6424a83156978d0b3a9e4020100804827b4b48364258364548b68a98849191b0065a5d748490138140201008ee1f29e974df2db572c4eff2855a1b68bc98730402814020d89e04e5ae9091bb4d4c3a69b8753f2e562010080402c1f62020f78b986cf442c58c2310080402c1ff43e2d10e96eb8a82422010080402c1f6404cba402010080402811013814020100804021ffe4f800100127e4ed1a036932f0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Code School}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Code School\u8217's course challenge app is built from the ground up using Backbone, taking advantage of all the pieces it has to offer: routers, collections, models and complex event handling.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d4948445200000226000001e20806000000dc5f07790000001974455874536f6674776172650041646f626520496d616765526561647971c9653c000487694944415478daecbd07981cc7752efa77983cb37917bb8b45060812910401900021469114254a54a06853c9b42df9caba4fb6645d5df959f6b368bda727675fd9beb2af64a52b2a524c12830889a4280631830100913336a7c9a9bbef3955d5333d8d99dd0501d2b2bf297e4bec4ee8aeaebfea9cff9c3ae794e6380e9aadd99aadd99aadd99aadd97e1d9ad62426cdd66ccdd66ccdd66ccdd62426cdd66ccdd66ccdd66ccdd66c4d62d26ccdd66ccdd66ccdd66cff618889a669bf767d6cc2d46ccdd66ccdd66ccd76d6daaf9547e2141ef2ef404c9a44a3d99aadd99aadd99aad4964fe5d8889769a9f739a24a6d99aadd99aadd99aed0d271bda699290b34656de0862a2cd817c6873fcaed32428cdd66ccdd66ccdd66c679d906873241ace1c48cb199194d78b9868a7f1be761a84a349489aadd99aadd99aadd95e3f82321702e3bc86effdbb1293b97a3fb4397ea6e92569b6666bb6666bb6667be3c8895687503873201d67c58372b689c96c6443f33d74a3bf9b24a5d99aadd99aadd99aedd7878c38becfd4fbfb7448cc1b424cb43910929988ca5cafd52426cdd66ccdd66ccdd66c6797989ceedfce0c0466aed77add88c95c49849f906873f8cce91093265969b6666bb6666bb6669b3b09998d3c38732024b37de6b409cad9262673f18c680dc888360b69998dac345bb3355bb3355bb335db6b232a33fdee34201ece0c9f99ebef679d98cc758b469bc36bf5fe76ea109599884993ac345bb3355bb3355bb3cd4c42667bcd1b3fe2271fce2c84a5117999333939136232d7ad18bd0121d166202498e1df263169b6666bb6666bb6663bfbc464ae1e917a3fdecfdb33109159c9c96b2526b37947e02325dedff51988893307a232135969b6666bb6666bb6666bb6b9139546e4c1ffbb360331b17d84c4fffb5cbd28af3b31a9473ef4195e2fd24fba39579aadd99aadd99aadd97eed5a9c7e828a70342227b379525e3762f25a49899798f8098a1589446237de78e3dbbbbabad65a9645dd701a06c1f27bfe7ed57bad214da467743febfeeb7feeb34a4b3df79ba99dcdbeccf59eaf671fdee8f1e0cf9f49bfddef7afb76a6d7fc759d1fafa56fff1ef73fdb63516fac4f67adfc67931d673a1eff5964c7d9e8573dd9f16b381eb36de79c12f46a9aa6363636f6f2edb7dffe935c2ec7ce03a3012169444c4e9b9cf8bb699e89acf0fcabd721287a1d62c2ff5afc40b7de7aeb1f7cfad39ffe4c9394365bb3355bb3355bb3fd7ab575ebd6fd25e9e8ff57e96dc34344bcc4c2aec30bdccfd52be036a7361b31992dce43f7bddf8894b8bff3c395e9a765f3e6cdefb36d1bc78e1d932c905e8cb4b4c0d175a4532944a23198f47b2e39ed6380360cc34428d68a6c2e8f72b98444228172218b623e273ee77ed6b62d442371048c205d338d40308070248c542609cb2a57ac632fd3d5e99eded7b88fdefbfb5971230bdbfbbaf73edecf367a7d36b6ec65ccb3dd63362f80ff3def35dc7b79c7c51d0ff76ff7df46e331537f66b330661b97b98e07f779ae964dbdf1e067ac770df7b9bdafbb9f6d749f46afd58c3bb3777a3bd1da86965804e5521e93e3932839a70659d9b683785b0b7da188d474168669d4f4c7b22c18c1303a3b3b60d8454cd0750a659bfa49f7a27e06a25144033a92d369ee7cc3b9ebf6997f622d096865ba5fb600d3306ac6aa663ce877be775b5b1b82f4b16c268529ba8fa6eb15d9469f10cf69587958346ca14848acd57ca140d7d1eb626e8622e8ec68274992c7f8f804ca36cf01dfb8509763b1186c1abb7cc982ee19f7d9f09f0d9f7ad66b3dd9e11f8fff0cb2a3d1dca867cdbfdeb263a6e73e5bb2a3d18ec2afadec98c39caa2100a6895c2e875dbb7655aedddede8e4b2fbd14aca3e9a57fa49f8cd2dd7e42a2d72127deb851dbc30dfc446546d2f25a3d268d527fbd44c44f4e0ccfefa14c266366b35921385940c63b3ab0f79557f0d8b7be097b7a1a4e388c0b6f7c2fd66fdb86ecd454e5c60609c2b216c063777e03275e7810a6e620d4b31c5bdff57be86cef448e48070b3e06221689e1c4f1e3f8e183dfc2787e080e51a26dabafc6b597bf1d392226e572f91450b93f7e61ec5d4cf5dc78fe45e69fec8d5c6ffefbcce4a2ab37415de2e4157cf5ae538f64d5fbac7f5178bfcf6335d7f1986921347a8ed95c96b311a846caa29edb5a578ab1917070efe38e2dcf89b9ba741b098d9994db2982879648477b02bb9e79044fbdb817898e7e6cdcb2193df1200aa572cdfd23b1309ef9e9432847bab0f1a2e534ff0bb5cf1a08c1284ce29edbeec070314602e71274c70328129e81480483bb5fc181b122365dbc1e4e21573397bde3e1fe44e97ecf3dfa384ab12e6c5eb310d97ca9661cabffda08455ba0172670d7b76fc760cac2d273d7e082b52b88d4940471a0858a7844c7afeefb061e3b6861db45abf0c4830f60dd656fc7b68de7219fc9d48e25e16186a3284d9ec0776ebf0d85783f2edd76315a02364ae55ac3cdd46dbcfcc2ab8876f6634177428c9be8275d234484254032334dc44ad7f5bacacaab30fd84c33f77ce5476349aafffdeb2c3bb565cd9d0683cde48d931db56c67f74d9e1efc3d996a5b5860d192781004aa5125e21fdcb7f2f58b0005bb76e453a9d667e10a29f9c47975b3ecf081a784ee6722231ce9498cc548b043390927a3f7c4f8306a2cc83c13fe1781cfb5fdd83073ffb27b874d942acb8f9260c3ef64bdcffb93f87f3e7b762f5e64dc81059615262465af0cb1f7d05a917ff0defbee5f7118cccc7b33ff9473cf495c378f347ff1ae18041d72c224802796464145ffafee731ffdc283ef4a60f603c7514dff8cebf2057cce2ed6fbe11a9c2f48c24c30baa3bc1ea59442ed3f54ed6b93276ff671a119c99f6e3669ac48d16a557b878857023cbc8ffecee78b80bd0f54cb8e4d13f7ef504b636072b762ee3e1b74866b3f85c41e917367e6bc66f55f9ffae775fff987ac7ba9e70abf7fc6d1dedf8c50fbe82afdefd24b65db10d2fef7816f3ce598373fada31369da6b96d2093c921128d937513c78e9f6fc778eb1a5c73fd268c96c685e7813d28b9a28d8e8485fffdf75fc7dec9127a49411f1f598d257dcb84f74227e23efcea0e3cb2bf84add75e096d7a18d96c1e913829ff3cada17090c841160619090ead5383d6546b5b043b7ef90832031bf0a60b96622a99390523e1d50884611447f1c5cf7f01a35a2fd60c84f0f4d3799cbf613d12813cd2050bf1441ca983cfe3beedcf63cb6ffc165ef8d93d481bfd587fee80b06202a1203d46018e1e40d0a43546a223a64de3effff12b983062e8ee486278ed3af42feea67e6790cd11d10886d11a8fc1c94de0d8812368a1ff960d7493f0b551b4c8888984b1fbc9c731520ee3a28dab904da7675c2bee1cac47f0eb59b2af4576f8e7cb6c9e8833951d8daee7b5d81bad95d72a3bbccd3b1eee679ab203a778eae72a3b66f242cf64acbaaff39847a351f4f7f7a3582c0a8f09ffcb3a5a39144ccf564e3d52e227277e52e2ffdd391362a29dc6164fa3ed1bef8fa17e78569a04b0c61354782d48f0bd7aef4f70e189a378f3e59700fbf7615167074de02276dcf1232c2362c240e96610c3a3c328ecbe0b375db61c9d8be340691af3afbb183ffc5fdfc5c1979fc49a8bae4639974522d286475e7910d3ad8771d375bf45779c42efbc365c70cd3978f2b107b16dfc2a18419d84b875ca6467b2e49d143305087b5d94de85cf60379a7cf516ac783eba9ff020f926955780f927f54cac79a62d12bf7068b4cde2271f73b9a74bd2661350b35da79e509f49a0bfd6f1a8d7df7a42d17b3f5780cef49c8d5cc3338d8566845118db8f1f6c7f12d7def247f8839b2ec1e8e8041184317cfb1b5fc78edd07b1e2e2cbf0be775c85271fb813cfecdc8f9d4363d876f1528ceddd851ffcf06e14e3f370c59557a1331a8056ca63e78143886d7c0ffee23337233976128f3f74377eb2fd09acbcf42d58d5db0ff3f907f1579ffb130c2c5c870fdc740d1ebbe30778e4e5dd5878ce66dcfc1bd763ff2f1fc07dbf7c1266e732bcfffdbf8979fded188f05c4764bb150240211464b4b426cdd14f3596498dc24daf1d4bddfc4d15c147ff34f7f8981500693d3194c0cedc1edf73c80c363295cf99e0fa16f621f761d1bc3390777e1d08157316ff3f970ca79dcf3fddb717c3a8837bfed6de82c1ec31ddb7f0ebb6d21aebf6c1df60f0e61ed7b3f89cfbeff4d74bda378f8be1fe2c15fbe808d575f8ff3bac3f8fa3d77a27bc57a0cf4f6a1a72b819d8f3d80edcfeec4743287eb6ffa0d1c7ee697f8eaf657f1d95b3f83f5cbfa91cfe5665c2bf5e64723c5753664473d8fc41b213bbcd6fdd9961da7331e4dd9717ab263a6b9d1c8d317666383fe8d442228d03a7ee69967c4966b6f6f2f52a99498c7aca33da4c4f4784b50c73be2ddd699eb964dc3f74e672b67b6cc9b7a99385e42a27b1ed0a449a3f180f00064889c24c8e2594fd60cf6ed43a9a51526fdbd2a12c2c95201d364d5046892d9c5325293e398bf308a8ede569487f7b1248769e7b0f4bc1e1c2b4ea05882203b568984a493c6e295bd98cc8d21574ea36497d1ded78aee0536a6a7a790684ba06c956a40f54f583f4b6db4c7ea8f69e03ef827a77f8fd5ffbefb9d466cbed144f7b2f69926a52bc0bcd7aeb70de51f0faf9bd64bba66db73f6bfe6bf4fbd3de7993c097e4bc5eb3e9f4990351286ee78d48b05f00b70ef7b7c4f6f5fe73a1efe67f15b43e25ac10026c606d1ba7429d69eb7506c6f1a6df3f0fc03f7e0997d93f8afbfff41dcf66fdfc36d9383183c760cd7fee6cd40ea5b883a19dc75cfed78f1780ed6d48bc806daf17bef205293d6f0894f7e04fff23fbf82dffdef87f1dbd76fc05d773e8235d7bd17576f390fc79ff939d2c508aedab00acf3df62ceebf37871d2f1fc6873efc11dcf3ed6fe03bdf4f2275e4102ebefe03187efa4e7cef9e9f6079b89506cf126b3710343178e455fcf4957d2013033d8b56e282f356d0b39471e4d0382e5c7d01daf571ecda33889e9e16dcf783ef612cbe06b7bcbb03dffcc177b06ddb3a2c5abc082b56ad429a8849dfc23e3c7ef7d7f0abc379944746f0483882567d10af9c48a2f4ca8f5126d275eb9f7e0c9fffc2dfe28f8eedc23b3774e3eefb9ec255377f085b2f588e677ef40dbc723c8fcffed645b8e79bdfc2cae83c6477bc80297309aedfaae14e2245abfa0770ed55dd5836d025e2d95c85588f7cfb15ce6c6be56cc80ef75a67223b66f362bc9eb2c3bf8e1ac90e7f4c45bd3ed7f31cd41b8f7a7d3b5dd9516f3cfe23c98e7a3181f5480bbff7fcf3cf63fefcf93872e4888831b9e28a2b100c0685b76474745490130f31313d31269a8fa0b8a4c4f671007b06127356b67266aac43ad3568ee62324ba8775992cd49898b0cbc84ea61058bc18d30b17015bb622b07439303284a95c01dab265d008cc623e0fddb0110e25906a59806c8b83d8b9ebe8524466265e442ad18360a21fb9cc345971446630858e581f62f9162c24c1be30ba12792d83475ff919daf41e12a821223145b117eeb75c660a7a9a2d20c91be8556fd1d753faf5d8b43bf90d155c586f0fd7fdddbb875b6f8fd81f5be29dcc7ed767a3f7bccdebce6cb467eb1d0fd7aa709f652677b9773c1a8dafebd56a341efe85ea7f7eaf50f35a557e5cfdae7bef35bd63e077ef3672f3bbdf75efe962edc5bf6c67114f74223b74128f3efe1c7ee7ad1722934be1e8d121b4b7ccc7bab52b715fc4c0913dbb112325bd7cd952bc60507f4890a4332968e11ebcf7e62b1069edc0d8e434f2b90c621d2bf037fff40ff8d41ffe31bef6cd41445b48299fb3121d89285e194fa2ffdc0dd8b6793df6ee7809c3c383d0bbdab166fd3a3c767f1047078fc08c86b17cf51a044f3c840343932818619488d0e7694de68b1c2346cfc2f35e3c2f1904c53c329920162d9987effeec29bc72e46a0cc402981c1bc2d8781af396cec79a95f310283e48cf662396e840d7bc4e246209b4c65a30929e46a1dc82777fe07730d013c30f7ff82c9cd022bcf77d5722108941ef5e832f7de9f3f8f8a7be88db0ef620de41e370ce39888734e44a06365c7c1996f7b69100d245802cc21dd8bc7633ce5f90c41dcfb1f152463c16a7fb45314a068a564719cd65adb8b879e7875f81bedeb2a3d1b6c21b253bbc84c3eb41782365473d59fa5a658737eef04c65473dafcdeb293beacd35b79f5efcd85b323c3c8cddbb7757dedbb4691342a110a6a6a644d038f74bf5cdeb31f17b39bc9e12ff564dbdf8126daedb3933d53169542e5e9f434c89e9f396189ed77856b47ffdeb5fbf7bcb962d7d636363d038a0950628f5f0435840bf77ad5c89e489e338383a82f0652464132db04b2515919fc0f4c85e0492779130ea82198ee1e4c18318ce6f40fbc05564c8e5aa0cd531b0ebe4634062082bc9929bce4e62dfbe1358d176057a3b17a250ca9dc2bc1b09172f1bf6efb1ce966dd22868cebbf0dccf358acc6e14d0355b664b23aba65ed05f3de63d53cc4cbdf1988bc0a9371e5e2ba61e516af49dd902ea1ae1e85a2e8d3c3a5e6ceac5d0348a339849a93472d5d67ece4624de8ae13dcfe08e077f85be450ba191e1b271d35aec7ee9798c4ca6a1b72dc44dd76dc5e3f7df8e4353654c8e8c61d3d537e182b60c1e797a37fa562c416f6f3fba5a5b1130cb78f2a14749d9e750704c6cde72290a479fc443cf1fc2ca0b2f41af96c5605ac3259b97e0e70ffc02e76fbb127b9e7c142738332ed886ebdef556ec79fc21ec3e3e02cdd6b1eddab7627aff739808f6e28a8d2b309dcc12d1694357472b0b13e488543021d28d205ae2016cbfe3877875bc84f99d31443a17e382951d78f8e127912b5be85c7a01ae3aa71d3f7ef8055c73c35578e5a19fa375f936ac9c97c67d0fbf8879f37ab178f93238e327f0c22b07d177ce32f4f5b462cf732f61ba5840ce89e0b24bb7e1f88e07f1ccbe51acdb7219e299718c160cbcf5ca4db8ffee7bb1e0a22b907be66e3cb22f8dbe79112c5eb715ab3b816f7dffa7b8e4861bb16a7e873090eab9e8fd38fae7f36b911dfe0c9dd7b256bc72c2dbcfb32d3bea6590d423407ea3e28d961dee7834921df5827ecf4476f8713f1dd93113719dabec98e9352f3172c7c34f2a9980bcf8e28b829c7056cefaf5eb69adcd135e125726767777e3c9279f1cbce5965b6ea0af4d72c897f282949573c1fd715fb31bfcf86b9f0075aacd9e4e81b5d98849a338927a84c4f4fc2d88c957bef2951f5d74d145829870a4bc1e0a8be8e0e2f1a3d03319d8347881050be1901228d080f100ba6087a3ed28e7c6e1e4769392b050d207104a2c8355ca12cb2b7a26a78148288ab1f431b2a4c6b9740cba628be8b516b2d492a7782a6612348dace9465b09f5dc7cae329c2ddadedf0f77c2fa5d8e7e17a0ff9ef5ac2abf526d145ce65d407e17b3fffbde3ef88593d7baf4f7772e0bceff3dbf05e1bd9f1f8b7a169fdffb512fe0afd178f8c760b6f170e7ab9f60d50b90f4f6d3a2df3bbbe7c122257be8e83062a4f87be675c329667174700c0b06fa65baaf55c6e8d8245a3bbb80620ea17882d6ca1886465368ef681744013a2d3dab80b1f149f4cc5f884484d6112ddfe4e830d2651dedad09189a8d5ca14c965408067d3e68da387af804ba0616216cd29ca17b0d1d3b8650473f5ac21af2f922349d4848ae48eb525a6e1517353fbfc0962cf66094084b0283870f622a0fb4b5b7a183ee57c84c6178aa88c50b7b904da6110c0591cde76106c328e573f4bcedb073533846cf1a4fb4a1b7bf1bb9e4284e0c25695cbac5b38e4e26317fe1425acb8648999e181a44c908a1b5250e0e93cde74b88442344ae34dcfb837b50ec5c806bb6ae46381441a95c125e9d6cb648423a5877ed88346b5f2a74c3edb7d3901d7eefa09fcc34921d330569d6534e6f94ec98e9defe7459ff35fdebadde765a3daf4fa3ada37ab2c3ef2d68243b1a8d473d39e4be3e5759eacfce7b3d65c74ca4c61d0ff698bcf4d24b98989810af73b98d356bd6d4e8a68e8e0e3cfdf4d3831ff9c847dee321262e1929372028d60ce4e4ac1093b9547635ea6cdb18754889fb7bc0434c3abffce52fff60d3a64df30431e13ef080103189b7b72340a4a4542c223d39c9beae5ac5c22c90ee160826104d7440d70c124249b2d426502d9fa00023e1c8ef27626d8846620294e9e4040a4460589831d969e4f5a8b7c8660a7a6b1428ea7731ce162455effbde85e90faa9d29f5cdfdec4c16897772f37854fc6c75f6a3fd0ada3f771a45d17b5d9bf5f681c5ec6c90caecdd93adcc0116624ae0b8cf58cf5af437af553593cbd3edbb180f4f947dbdd4c94696df6cde216f7fea0978cbb2496187100a06609122e54053c30c2260ea626d94ca16824122ef0153d4f261b72b772b4842c7a0cb59f47749c51d18664028e072b18042b124ea8384888468b625d2687541861c4132f85a1cb715898451c865c5eb9cda1b2525af39f4f94249783899f43875dcfa5e6500418c0c61a1199a233c139cd61b6423c4d444d0299324d320ec2c0e6e27d264c9e730a9cf019561572c96854c08d0e78af40c3a3f0f1b31853c5db308231010f760a256b6ec0a51624387fb90cbe61188c51025e9932f9544d6129330fe3c8f63bdf8a77aebcac599c77a2eb263a614f2d72a3bfc4a7aa68c95375c763488a3f1cb8e99625afcf136f532a2e6227bfca4c44b04dc6b7865c76cd93baf4576f8b7f8ea6d83cde6816f243bead567aae7213b45b7f0f795d7c4257d699599c6ebc5ed8f2226c31ffbd8c76ea2b7c63dc4a4e42328569d1fc7434a2ccca132ec99547ef507b8a24100ec6c9e14ee81c1c071b08dbbc0e5403bc8128b13f28cac349d81304cfa512c915f27a16a080156407aea84981026175ce3d4429e1cdc05975b2990d2d929f1e33616e8f2135576ccd9392e0f636bef142f48e5baf22f4780aca922508e10ac6240a92f10cf62098f8d2832a5cb09c09f87a3163e290177a2d7d68a500207b2fc14ff2695b74302512a6916da7c7f0755e6eed8f2777e0e6fd43717a3ab0e8767db0492b8f1f7c40455bb7e7c4d1e63be8e542e50044faf6e2a2a0bacc65d4cd7e1e793c2c7b57ed418a3d682f48e87fbcc46d01045efc47db42a76a2ffae92f39213d3119fe7f9e38e295fdf6f1d8ae7339565231c08babcafedd4f4cb1de78a8747cd0df15940e1a9d7b55c78fce4fcd02aa4ce1d474d8c87a5ba2f5fe3f1f45ac72e1be4b9549d5752b0ca7d5e8d084a581032cb720441314cb91e247133691ce47739d283c79fafc5f3840ba0715f4a4448f8b62c7c8440a6b9c4afbbeb4f57e3c1dfe13e9639bb84700a189a1c0b9adf5cf48dc952c59ad3e43872dfc573f1186b90f86a1eab95c9007fc60820626a626ef1363f13a68012ea26f54b6cd59a818ab81264459024f91effcd6b977fe7e76102158e44c574e1e7e15fe4fa937d1018d0bf5dbd3d704a0551b72448e32848b02309178f4755e96895392b30aae052ab144dc3acb1acc55a51f24108764daf1846de6bbaebd95618f3e71c546354dceb5a3ed921d69cdb077a2d18d42bf2c6958da716b7abce2954648746843020d7bd23fb22e6829a8f4c86a5ec506bc5d02b383a9535a6a9f19135617431f751b3966ae2e6782e1ad5827afc5c9a97b4a19eec90b2a76a18c81826dba9c6cdb8b2c92551654b3e9f77edbbb2d89d505e79e5ea0d18d5f5eaf75609e3558c8ff4008ab5a1579f4bce2f89b5c412357d70e59c2df489aee21951b9864b60fccf53951d9ac0d9a9f45f5ea34676c8995791695ed9e1be2fe7ba533b0f953ce7bfe3f1b8584f026fa503b85f82d8d73a181cd496a7d77d5b359a2f1016750261cf5af0ebe9a40cd72bb4e6f7a270c7cca113a3daa17d47313939e99930b2df9a9afc96e5063e694aa92be5a1b970a0a23c5c506bdfab2ea61ac05501289eccfc3df17dff3e1d4edd1376aa1f82c73d53edb7b04e751174e74884d5f3a8c50aad6e1548f772957b57167f5540488bd863edd84e4dbf747741aac521168e2ba8b42a0973890f99bcaa6a67ed7ea458984a80d6587b9abca72b3c745dab3b23f83a8c9b2bc0dc6bf9ddc49610e05a651cb53a33d755d242794253024b920f1e1b774cabd6805659e0fe887e5b113977c18b7e92b076158420b5aacfa7c40fa05ae0ab669e0881a4792c30bda65aa9f7d9abe15e72ecddf92af194581b9eb177c9a8ab545c81512584d27be8dd26ab7aa094b06f607dcb7e6a4a58691e02ea5415a06f0bc01b93e30d63f3e44908dcbdca5cce1dadfae8ae655f2792de5d2fbc565ca1cf5b48869aa3fe50ba86d93082544a250bb8d6ac2477a2ffba524c65bba258bceba95ed68a3f0eaa26b6438d9d61baf3bd4e3c091aa578bacf515da7b561844cc63c5b1c7a756e3bca80aa8cafd75be299abeefcb5ddf5adb0f7ca3db7df7089b82b3b3cebc1951dfc7d5b11b18a9cb2ad0ab1f31239d798ac09a6f5ccb1ca3dddb95e190f4de024b077aa46957b4f56d6feb95dfdbe47966aae91a779e40307bf5a15e3b3223b7cb2d95615984f8917511e07f77d57964a32ae645bd9aac1ab6268b94fed78bdad4a3f7964aebb1ef839dd7e5771f2c90e35d70cd750d23454cd5a4fcc14934ed24daecc770d2d28e342902768152f682e55c4c8e0b8e6dbf5f07b3dfcd938f5cebb7b5d4ad237cabe694448e652c7841fc478fcd077b583b81f99e9bc74418724bb2c97aa9600b750d8c0e47011c78e1f41a88d26488995b02c39ed822e3aa43ba2a2b6ade29f8c8052009093c32a3be23d4d29060ed6efeee8457b4f02f94c495a59448074c35d5ca84c2ec65b08a332178ed2c5b559d6b1d070f590906f8e81437b4fa01ccc7077a07b3c2cb6f85b7e5e0a474d58b08254eb4e6550b98f8ea5de074f4cb2969d380616f509d7bc940e10fd14e44093a4c4156cfcb65592d66330ac8b6b954ab6f8bc5ccc202b3380a37bc731961c4124c1d6b0539d414af76abcce0c2540caaadfa66bb949cbddb1e433c801a767cc18e8ef1f402866a054b0e498b07231ab632a3d22aa668125ad9240d010cfc2d84b9225610bd09c488e9570fcd851045a2cd86c650b52afeecb8bd390788a31b564dff4006aac32817db94a0aca050ddded3de898d78a5cba08d7492384b6105e4e65ac1ca540187b1e43936bdf946cf1fcee98ca1e1938bc8fe31c52a28f15a2e80a4b5d1246c65af04d5b867f70ff5db3c35673d49dd7bc2e025684b0ef27125d5616118407483c8aba8f2bb884c2e5f5c3d88774f17d1e534112f52af6c7f64f6274721091164dcc0fbdb29da6b0d7e51c1302dfc5de70d704c475edb2177b1ad39486f9fd0b106d0b229f2d090cd93b259f593dbb4760f277595806683df118948bae22d5d456ad81f46419478f30f66551b559570a43e9f2ca5a621c186321784cafc2f5622f5f281780ced61e74f6b6897e6a70c754afaefb8ad52bc1e731e4392cb1772ad8bbfd65a57468ef10f24892e0776a39945ac7c2036c2832626b95750f576f59f2195c31cedea940398a0584bdc5728095b150d6ba7aee5a4f0c7f8db1d704f632ee46620f55095b627fe2e01486c74f56b17797bca355b01732cd83bdee59bf8c1b8f8163abf9419f2f11f6fd7d0388b78750e031d5a51c7565a984debb0deb08991308e96add3b953522b61408fb5cd2c6e1434708fb9258f7ee352ad86b4a0eea723cdd702af1ba6a828fda5583cda2eb7424bad0dddf21d7bdbb86dc31f560efae2777fd705f791e31a115e3a13c61ec5538b8fb24b2f634fd5ea178a7ac7b5e3f72ce3b027b214be1927e294b2b9e42361e8a210c2c9c4fb0d8f23bba56c5dd95579eed213177783720a40b69c4ebc995638c41286262e8700ac36327116e815a4f0cbb56b3eedd6b9b84c1d45041abb3db61d7d1ed760392e27762ccb91aece9165873e658bf449b6d6b67ba3404b330815c5e5a3386c75a122cd292c09b84628666d87876440c6039a78880298156dbd85270ea72f2e96af32b4fbfb7c4e52e176f9d7b4bbee4b3f49a9e4164411fa63369baae7475e9242875a32ac85d03d716da4913fbee8e6e231e6d1196ac74e3a90963eb98c80f229da1d72db930f4806bfdbb8b40f69527b9100cf47e9a331ac3f443bf970a72d2384a10b0b11c2c8fa1752129c35009b9c97285785516948e8a95c10b9e27a910988e722f5bf275a9c468921a26a6cb490ca7a66116654625f749084ed7f071c714a288a81854f6b26b2a1e90c7d92ed5d2d3628afada5146574f8cc63447ef4b01ae07b4ea98ba3250287b49444c5baf2e5cbbba084d7a314b9d1fc90c0b40b99f2ef662d7c0f1f45397fd11f321c08aa64af444ffbdd8d31c2a38494406e623a96550caca6d27432949e945511838b24f42389040326c4d12232e816e555db7eca29e2c0c22592ccb672b9d8abd3bc6dc27c69f9fc30828a26ac93165ecdd8d5236fa0dea7bcb02ea5fc44676a2a404b0f2cce91e25ecc15e7899bcd897ab631a14d8a730929e825196eba91ef6ba8bb3c29efbc9fd1524bf28e7b6bb45c8d7cd4fd3b5dbcae8e96d413299abf4c3a860af94a8922a4cc278ad9b8ebbb5e65a8172de1bf4853c3dcf5876086c8c5bb92ab66e185d057b4dad27a73aa675b1d725f6792b89d88201897dc656ca5717e32ab06745afe6aa20cfbc7dc664a20ef6d2a03109fb614ce58a72bd94d45869a762efe22cfa1954b8d9b29f4e75375918321acdf7c4800533e620332eb16782c47d7595b2e8650df6cc13f58a357e2af6198ca42660d27895724a2699caa0d3641f75cf1a17cf17a8bec6b9058e27e3979f2b47d8337934fb5a3195ca125652f91aae2c75bd41ea1fa188197be81523cd76bdacdcff922eaaf48ee7064588a1953f157ba87ebaeb9ee501f7d38bbd5dac38e9a47c22d99a294e21b67021d246164596d335325f3970b55aecf93d214bd9c0f4611f704c4c9546314e429c5f9a15fb32d4d8a022f32aebde833d17814fcc77104c907e182bca94fc80a6b6a251f5587bb1d7aaeb9eef653b1eec4b06a669110da7c6615a1eec953cd27ceb9ec7373fe9fe5657876b75ea96e87538823faee4ac17586b445666aa02dba8c89a919b72b44c0cc84e4bcbc964b6490adf0caa5cef92dc03d6f53202642106ed18d2c90c092c7aafc082c3e3a6d26b7b91a709d9d1d68af3572cc72b7b76a098b7e4807b86c0a0619c1cb291a1851f0a4748399590cf9495a055d69751bd2e839fcde6b064c139a27cefc113af8800229eb865b1f86912853444f4564c4f4c2018270b284fcf90f75c43af182695c5c306eea635e763746208c78e0fd1b3fa2ad7d077724960ec4401bd2ba32899251ab3928c23309c8a1b59780dd477c4f8407a77f819f85f5ea03ca6dcb2011a533d02239fa11b94a1f1c2cea13aa65ad57aa978e099142aa6ef92aa4a61627741d1b38e1d2da0bd3741564f18d94c91b0b0d562971e2dcd53a687058788990848a1e4622fac52e1612a231834117662a4ec32648d12f6f92af6eab8951aec85b7891766401157abb2a356c59e7e9f1e72901a2823140b4becd396ba9e1c47e145d6aac482c794058e1c4f471003160665a10c187b229684fd54721c01c2de2e9c8abd50a0a85e939f91fb5951acbe82cefc6c2cf4478f1730b03a8102dd5360cf82c4c55eadaa1aec797f3d280981177b410249230534c2be90a63e79b0f7881921ec7dd83b8652601eec1def4e325d67ec78091df375817d315b24926dab79a462088ceab62063cce4c4c5de08ca6d31e18d12d85bc2f2676fe1f4545ac807361e6ccd374767c0def59e7ab1e7d09ce96107c971c23ea1b04fb14f42cdcf0af64e15fba2c458b8c24fc19ead548bb06f819d1a13d85b67017b41a079dd13f60bd6b608259f9d2a296f8d8ab7135e53a7e229656f90884b0948ab5e106d873da6127b8398a8a98511280660e9255efa52297ad6bd3d47ecbdeb9e9629c68e95d0d90f11c39321ec0b692ff65585a729ecf9c7082aec03d26b215e67c344611f7612989c4a89b9ecc71e3e59ead82aca32e07a384fc59ebb931c21fc474a887684ea62af1baea75d3e63c983bda1b067b25772b10f92fed01370d205d03f027b2652da6cd89b6a9d35c09e8d3c96a50bd7b70842c2ebde4a7bb157de22d5dd52415edc3504783d698ed2a315ec4308948234964510fc35d83b8a64569ca03c8ed99aa416ef09c3761d8f8936079ee09cadad9c46a70b9f4e7d137fbc895823e59245a05bc8a5cbf2b1e29209f2d685dc47946c555684113e1512f6d4e1882684b2edc60357586eb5a359d2b76b562cc04dd7fe0e76eefc145949162211a5a8cad55e66b2054c0de7d1b6200423c296bb26ace752414e546141a9cff26b63c3d3b8e1aa8bd0df3b801dbb9f444b5c3e9eeb8275947fd929c9c92b323579e29550b56a3dfd642f0e5bc5efbefa8378f8899fe2959787d0d9a1e865595985740d3eb16072388bf6f9341041523a24fc8a29ea675e065349525765db85a4258512ef51dbd2fd28f73e6d2968997fb155651b64a995c55e3e0b6277316b400df1abb8181df92c8e62d84238b80b4b597ec9893cd264dd19443a0d16d2b4c0b89f3c46ecc51063aa6ec2c28bbf138ceb62bc2d5b6e4fd5602f0c00130e91182d22959be5c683d7c1deddf96421ed5855cbda8b3d3f5b86d82b63dfb1280ce26882a8b2f5cc384bef49157b564c457a2f18d58590e431d54b72ec5d17aa237ddb343e86b0a85970cc843dd45eb8adc6535c537969bcd8f3b34e8de4d0b920cae699507c0512a6dc4fbea5177bee0f0b5a4305f856b0d735e57ea7b1d365109d669b344624ac187b773d398db18723e76bc5abe2c7de92d8a7c8ba0bb668027b9b1ea698935ba0ba1ffb8c2dee198a4bf2cceb40ece7bbd83beed6118d674193ae6fc323c8b5d7863d04f625b19ebac9c0d0c3bcee4911641cd1573ff63c6e3c4f197b11e4ee620f49a2dc5828e9dea4795ab6c49630939633c25e8d0963df958c29ec49ae08ec2df13d41e6f42a49cca7242109d5c39eddfd9a2ca1a09156b40a2541f4edb3813daffba91c615f42a89d566b4c1372bc11f6c5ac2426214d616fa1127f62bbdb590a7b9bb10f542dfb4a1fb453c7b421f6569599b0877e7238476319854686a44983c26bbb98b7a516aec19e65948540a48abd0c3590b254c87c5bc5f990d5e690a06623519081d9b02f37c69eb5245f7e7294e66823ec035a85ecf15704f6f47748975bb89625f5a8a53c93962609b7ee283dca674f19720dbab442f3254c29c2e48f0fd51be8787fc5573f5f38e3d385ebed07cd255367b620d81a8262d1cc2dd024c9276981840d5aec6a9f510519388e55ad845a70c4fe6ef1a42755d3aac644b813de565612bb1b7902e50ad2a5cc13acacc905205c82eac9d88d3d41022ad2a383fb62d1cc704c4d089462516d27714c00752a3b6989eb72b5d87c3e27bc2b9a9327c560d2f5a4fbac4c135c67c595d790ccf3e9aa9e85c10ac192c2c651962e2b2e7e8b2b68164949b87dd7e0b1f854eda7e9b13ca62772e2fa222834e888d95bca4bcf920093c6a840c48a7f781fb1e89208f1a626eb5aa8b13383bc4d6692055140b8cd91d6a6553b6b4e9946ca31e7f80a12db9e059521a2393e44246a6150104f4e32d3a89f56d1161e12b6ae78f1b2d2ca32f6a12af65298a8d80e5b1204272fb12f25b54a44ba6355ad39ad1e1fd73d0bcb5124c6fd9e126cbc2dc4ca2932cfa0df2d81318fa94df3c616961b2a2efedcb425ddf961e51eb65dd7a71bec24b7dc74eaa746ca2933514020ec11a4ba1c73cdbfbbea39af535879f0615f94df498e15303d9e23f22c5dc9027bea67a9548b3d2b823c29d1508bf46054b037d4deb79af7664866034c8f4262af14f76bc1de515b288c7d8ed6c4f860069d91b0f09638268da929b1b714f6323643432e5916675519ae0217d8ab4c3095e963e76cf15ce5b4c651165585e8f8aca6b962af44072b2fc63ede6bd2ba931fd448f8db628e2aec958b3f4724df2ace017b36042c13e9b132919833c0de63ed0becc7c9781a23451a93c9005a50ae27964fb6daa63243ba9003ecf50bb51872ddabadce53b1774456637698b06f97ca1673c5be5cab1d2a63ca6e7fba3763df15f7601fa883bdc6d67f598c570df6ba0c3e77c794b137e8b9acac8e3c0d9220191eecebf6d52569d60cd8535f2647b248f49922f64e601fe47ed88250584aa6f0dccc1211600f884eebc52956af21624c54606fd99219854cf6d2a3847dcc3915fb06fd848a356b847d6aa28809ea6ba845c6b53141d3f8a895a2f42aca7e6ae29904f6445e8a6efc4f05fbea16a9cd090fa4af724310f19a33612f8daeba6541ea6de534e200b396dd6944524ef77461cc210876b65462f1a05ccf60f24491d8b38d182d3a2ebe48fc19852209e14c16b13081a1c918848eb63631a93349394134357089d62a88d3d3a28e144244308bb4e826c6936a7f9d84608614e618e9c8a87279d1eb2ded9224a426c9ca9b3031999e44c8e432f505a1b013b156e4b82fa93431559dac0152f801196f50208b6b70c446574746d44d0893726d6d6ba5be17e9f3296473cccc59a10091380980a81cf6c909f96f28c44c1cc24b130c4b122582f48a72e1b83b728e729af19f994c4908a978b7293c104280b3f7c4907d62a19d4d95911a2ccb6d2447c5e3b829c065650918d5a04626803c66c5ac5c10ee3e63253b572d4447f34d5c45ae2a53c9ae7a518ab490a747738876eba29fee42e4b12f9765c01abb415327cbd2951f25ecf39e580c4305bae952f8b360135b6065bdb227ec7e4ed33d01bb4e837870db23cc3c8a954961920844fb545804f089b8010e3a8ba84c7d4d92a5d46811b9491bd12e43d4bc700357bdc1a04249a9e066be71392b83eec4beaf67dfd6b17d4bd1fbaf77cbc98b3dbd9fcd4bec5b5891e67cd85b3200983d8f8c7d20aa89e12878b157fbcc50312976497a066c17fb126a025cbdd89f32a633624feb70342f14bec45ece3133a662bc74b9fd91a67eb2172ade638a75ef3eaf1f7b76370b4bd2d2652c88ea5b5decfd635a0f7b35a66ca0b0d0cf4e960471b64b1eec4d853dfdc3de9fec04c9a74e85bde5b9bf565d2fdc495d9759152266076780bd52a455eccb48d298b6068384bd55c13ea0cb6d50c6339fa5cfd0989a614d149ba862afe250fcd8b367baa809cf85200667823d0f5d0922fd9b8da7443f615fb42be9315eecb9bfbcee79bb314672aca8947d3dec35853daf239ea3ba9bc16256b7999dd78c7d1e99c988201c2ef6ec39734c95652948418974868568874c4576dc78155dec7ed7602ffd67bac45eab83bdd3c08f3003f6fc7e2e571646497b94f4524e9d8544c4d4c59e89478164a2c03e44d86b75b07765beae3c7c73c45e7754f0706db98f7a3a1d75884a239e30e72d1d730e8c469f210b0773f096f87f170f4956a8162686176ad344e4b155e0824b69f1ee7baf7d1f569fb34ee4f33ff5e2a378e695c731319dc6ea354bd0ddbe40145eda77700ff6ed3d49c29a14cc24b0607e17def7eef7a1bbb307878e1ec4d1e347904ea69049c9a8eef7ffc67b70fe9af34576c38feeb903cf3ef532a2edbc98ca888e6470fd753761e3ca4b30959ac2838fdd8d570ebc8c7044c77b2eff209674afa2f953c4f667ee452a9d422cd88af75cf336bc69f3e5984c4ee1f607be89e3c343d42f076fbdf49d58f5fe4d34412cecdafb12be7bfbed42011468625f7cf17abcf3ba1b48a10470e4d8617cf307df22a1c3fb39bab4464a55f76e053e35c978714e0f1711edd405e1ca6493628b231a8e205b4ac1b4c364d9d32becf14f688230718c8bbb0fcf168b58f09664722c2c8231992acb9e1ed8b501652eaa3c39d349d90f265191a89b59a0324b782fbc202d443e83913fc7cfd499b5a88f19243345f95d83bf6f20440c253741022a9b467b4f4c047c94727675a659d52876f63f8aa87d8d1444c91281badccd3c4d9344a70a32ab66a18aaf4f2565e64e3c5e15a2b68dda332f953b353349ca9c147eb4d3ac6483f173b02bdea68162c555ce1a08b6d1b5c38e10b8ae1277ad60113467c9d483929545ba5424cb89886f8f74910b4bcf534ec141835030ad2a3c4bca6a0a18d2802ce625f6b16ebda69f22e125c8de1f1bd9294b0857c69e2debb2da9272e34f34774c55fc96199569d7258e057005ae59c5de1dbb4a66bc53db4fc7ae75cebadb2b295a4fec0d912efe6a0692119238703f39553cdcae8b2072ee6765c7dac55e97d8c391deb240c42012c945d69412337dc21438f5c8306d06ec99e8533fa6c78b4874bb9673352099af5d987684d0e76da999b087270b3018a3b539c641f58e5ccfa789bde37d06b5244a8cfd4891c89e5183bdd87262ec0b36cd63c23ee4505f7531b61c87a52927bcc05e0576f2973866c28cca34ec52badc187b54bd4373c7be24bd21a634961c6508703ff9f7eca44c290fb7e962ffac98f760af3c2a7eec596664c7197ba7e27d3e53ecb3d3b650f82dfd8153b0e79f42d2419e8c3cb1251971a467b2e854099eeb3551d8db0a7b6754c578f9b18787d09d0ef6458e89a139dae7c1deae7a4aa6a7a63171dc4684c6c98c10c92f1b449a02d2b3eccd32b265ea7592f4a121ea8719181f2a8bf00637a1e114eca5f7c6eb4cd066202773e5044e2dcd6ddc749c59d3666045f5e24d2a0f1824019a5860201093fbf47cf01e5b86ffd707ff18576f7d3b9e78f6711c3d7108375c75337dd120051cc73f7ef1ab583c7f09162d5c8c2ffff5d791688921b91f5834d08bbffddc3fd0404771dff607e9d341fcd147ff0489781b92d3163ef9d18fe28aad6fc67df76dc7c1fdc7f1ff7cfa566cddb689263c29b931076f5a7d3daebbe446dcb9fd2e12f626aedb762352c9123efc8ecfe08a8bafc38b271fc7647910efbef6264443716cdd703936aedd82071efe39ba5bfbf0b10ffc31d299326e7edb8771d375b7e0a53d3bf0d82f9ec43bae7d37feecbf7d168521e02d57bd199fffcc1771e0e071fcf4a187b072c52a7ce14ffe0ab118110b52e0c2836955dd8e6ec651652ef3de38b1f85c8a9450368f8179cbd016eba6e7cb6241c74a9a90c4aa4369e8ed449949e027a75348a6d23419d3a2b21f0bd5a9297e2d25f3e3d94360c8f45d4b5927221d4e655cc8fd54e955bae24d17e386b75e8381be5e11bf939ce06a818a848c00d148000b0983545266676448388d9dcc63e98295b8fed21bf0964baec7e6d5976249ef2a12862ce82d6cbe7c3d626d21b29cad4a5c0107183b2a308e2d022e9a95cd14d04564f3a20bcf175ea6783c8a8d1b570b2f5881c85a365b61f6c2a3b6f69c6558be6881202fb40e455f7909e46858d2e3d26262c59f99e4ef7229f3acf080e5723cff72989898c6d8d894504c5c9e3dd2e7086f89c8162bcb8c31a170b98f45d94fb6a8b2991c91e63edcf8f67761cbc51b44bf38085b640250bfa6a794578f891e8fe1b8f4dee5f3f277b61ed973949a908483f7ff4be56a806f9ab14fcad441269d2ca80a794bec2db31b37d2a52331df90714d25a73aa602d3eadf3ca6fc3ec769897d7d177b95c162a90c0737ddd1cd1811afab3d71777edabe79ca82304fca2e3d2e539bb98fdc57de17e77dfc1c295083acfa9685a62050b23fa7625fe9a7a54adbabed55212c55c613f7c9b6aafdb41dd9476f3fed06fd149945741fce7660c251e927cd45f648713f797d24064ce1f9933525ea636fab8c0891bd1190b15b960a9b13eba9a0d693b79f2a33c72e7bfae95df77675ddbbd8b332ad60cf5b392ef629c2be93b137c5fd2be3a7327204f6e5ea988a180e5dd6861299408db0b74f1ffb0219231c5fe6a62a733f05f659459c89580aec5b34d927f523b02fd7ae7b177bdef261ec6d3ff6651ff6e5fad89f224b1df91926516c10711f05f6254b78a4b89fdc77c69e0d01115b52b66bb12fd5622fb22083127bb19efcd87be6a98bbd55077bdb3a15fbcc241965530afbb29cabec3d494e66b1a46735de7ff37bb1f6e295e8eee94198acd291f124529934c99d22a626d342e63319cc64f258306f29e6f5f4a240fd5fb97431822193c641ca483ff6621c4b35de106386ac9cb97082b356c7449bc3ded06cf54cb4466945259a04f9b4aaa469929020b37bebc64b70def275f8c45ffc368e1c4f239e00be7fffb7d1d5da81bffaccdf60cfbe57f195af7d131a5986eb566fc097ffee9ff0f18f7f12bff51bbf85dd7b77e2739ffe226949e0a13b1f1527ad5eb07e23deb47523d6afde84fffeb94f60742885871f7c1489f6286e79ff2d78e2c967483b011d917e71c6ce0bbb9ec52f9e7b583cd0555b2ec3f2f9abf0895b6fc1f0745e6c1b05896dde74ed0751a659f7c52fff29864e023b76fd129fffd4dfe3fa2bde8c8d6bb6e0cffefe937876c7215844981efed576fccb3ffc2b2ebf610bdef9b61bf08f5ff93bdcf3ededa28fdbef7d18fffaafff8c77bee3ad984a4d57d8bdedf832335ca022102c3e4f4a3f63e770feca8b7162f4080e9e38860bcfdd869f8ddc8b754b37a2ace571f8c43eac5fb34158531c995d20eafdeafe9d387fd506e4cb391c3abe17e1605828310eec62b2110aabfd46d7adce960529f7b7bcf932ccebeec7fe0307b16ed5f93839f220365e7c3e4df809ecde75182b57afa431de4cd7df85e95411e72c5f88a71edb81e4286fc94d6143c77c74b476e23bf7de812b376e11d1e6d3c4082f5cf126ec3ff83569c51b525055d240dd12d6f43a93b09ed6f9b8f15dbf835ffef4c358bb661d6e7ee787f085bfbb15878f0d63e1c24e6489a52453796119de78c36fe2c4e009ec79f61b38efe2c5e8ed9a87c79e7a8a16643b56af5c8da75ef89550c8db2ede84e79edb2152324346842c33998ab76ad94224a7920869716ca079f3ddfbbf062b22639d34530632d976a5fe9510fc1c391b0e4670e986b7e0d0b17de81b988773322b706ce83802641906c9d4efeeee1165dd5fdefd32962d9e8fbeeef978fab9a7896885b161eb85786ec7b3d0c80aea9ebf085b2eda203c7777dd733fa209b9e55720e29b9be64c121924a8a9da531caccdee68d10df10c10f11282e4dab21094984e4c461c192c298b6741d4b9c9a6e4f5e1119e9a2776a762e9b96516ac5a77bee391002c9c8b6949a0a5674ff693f7c6d9abc301bb86f8be2e533f3945c6c029d8db8e1b2ce9088f4120ac553285647a69d522aeb1483d06b466d5bee638b5761c679a6427cba2de83b8bf21d351792c4b3995e992a2fe86643aaec0de3a157b7e9d8924c778b015cb567e9ed69d19ae6e27b8f542fc12d4766bed597576dc3debbe480a3f3755165e26b7765205fba2c2de52d8f39896a5c7a282511dec0384bd4d44d98856c74aacfbd78a3ddd9b33e533136552e8460df61c73c25e1c431469d6c53c9127a8c9ada59a75efc1be4838042232cbc451d93d35d87bb591b74f3eece1c39eefcde3296261dcba50ece5a1712a65abd8f3f688f03af9b1472df6bc2dc97de6589f2c611288c871ac60efcb08ad168df3c4c3d451ac8c3d075ee7a6783d1915ecb3252225bde762d3aa6d7879ff0ecceb5a88904e0cc31ec5960b970aaffee8f810ce5dba56c8ba5d875e14b2f91d575e8c89d4309e7ef4082ed974199edaf928962e8e13712960e71ed209114f2c54adf362369daecd40489c5938c6594917c62c6c68cec5d7c892d338a552a491f20425f0962e588e9d7b5fc0f0581a0be7474440e2049182bffcd4adf4f7727ce0e39be562a705f0fb9ffc389e79e8297ce6cf3f810042f8feddb7111d0712dd1c8009fc78fb9da27cf6ca65ab108bc4f09bef7a3f59de9de200afd69676ec3df02a3177291c6ebbe31b58b6be0f5ffab32f13a1c9e2eb777c19f309ec97763f87e1d13cfa7a2322186a34991196e64b7b9e13d670ff7c590c6868ec0456afd880638387b1fff0212c5d12c104adf6f17d453cf7f2d378dbd5d7636c6204db1fdd0ebd8facfe18b1d44122278fde8ff3a87f655b79306c5f1a9e5e2527223b272785914924295748e382733723116e154c7da06f09fa7be7131998c0e24dcbd14e64805da241238ce38347d1ddd18d158bcf1563c28b69dfe15791688b2118d12bf105de7d3bf696b0521c1858841f3f702786f690068b03976cdd80c5034b311c8e61febcc568698b0a0cf96c85cbdfd48315cbce432cd086c79f7f8494f431c482bfc040ef623cffd24ef4c4a3b488fad05eee2052b21793c4fa3b3be3ca1fac55169ea720ac0812cee4d2184f0d61d9aa7e848221bcb8eb39eac736c4773e2f9ee9c9e77f29b63b366c203270e208a693d3386ff332c2fe1c119bb264e1622c59b4189d1d9de8efeb175955fdfdfd289299d019ebc274f09038c8ea9c85ab4531aca904139398a853c3e44ea4df45a4e2e5624e6ee680e6faff3479860be3cfa7743eb99384454f37a22da6984f976cde4616591923a3c3b8f2d2abd0d5d183542a898b366d1673b3ada5832c98f3b07cc939f4ac2911601d0806aaf56438db200b116313e35897bcdaa6515e1c510782fb54708336a9bf96cc0ca8046b7ac6d4dd1fe74c934ac13faffbd4137befad3be338a7c6f3689ea832112c1c86b090dd94c60a592829e22d02ba55a54dee67f054eca1d754284320aa8b2c33def2d50c4f0689279850f3b8a035a7cebebe569baace783229e1ed4e91e25b726ab225f89a82746a2afb25208ba055b2468cda3185da5a6185cf5b9bbc5e1dcb5364d1a91d27476541b8db775ee9599306adcb74ee12611fef21ec2d0ff64589bda5b0171f0f70a68953b180fdd8bb59353ca6de589db387bd8cc31224c4f552141b612f63486cf54c35cfadfac1a494b7c9441c87591ffb9ad7e682bd28b46709b22c034b15f69ea0551104cd3087543fbd05f07c324aa4ed531f197b2d3737ece1c7be5e0abc21b3a478dd73dc963b4e1c0a30323c8cb1f923e8699f87fd4776a2abab0b176f781352c9149685560a22ea88cfea28d97992c72fa350cc91deca8be0ec91f1415cb86113dd42c7c4e4242c87430f0e2016abd1d8f59257b4598aa89d0e5f78cd5b39da6910949922744f792056f4a629cb447360130788a68bd31898b74830b74c21478a232f88c39d0f7d479454fed4c73e21bc0d3c633efd477f80f1a9617cfbb6db4479dde54b56d09700aed7c696c0e2c58b8850f4229599c6d4f424feed3b5fc197feed7fe07fddf6cff8e23fff39bef1837f155e8218918bd191343efd85cfe2f35ffb433cf1f276fcee7b3e8aee965eb4b57588fa149cdd932b64845b1e42385aa2209a6e1ae230b410fd3134761c9deddda4e00248e672b4fe8ae2a9972c598afdc77721d1da42fde9117bd099bcccb858b1f41ca40b4994d9e7a7abad155315080b4b41278a060565260547b61568311127403416c5b1e1837876c7af68c2e5b17ae55a3cf5e2c3a41c0f10d9598b175f7d0a87067763d7811d18993889ad1b2fc3c9d1a33872723f5adbda8425c3b33ed26a8afa2b95225a21797f5e54bcb5c0696503033448ed444ab66dc4b92bcec5fd0ffd586cb35d73d555786ac7e3f8f9133fc5ba35eba94f31fceab94711ef08c99813f600d082e968ef400ff1a40387f660e1c062ac5b7501761f7811adf1b0c09e1734132453d489904ac8081822ed95fb128bc47172fc30aebef26ab4c45bb173df8b38317c046fbfee9d641d4c63e8645a089e35e7ad13de8bf6ce36bce36dd7e3d8c923b8fb8e7b31bfaf87ae1fc077eefc91f8b7abab03dfbdeb8768698dd0b32d1087e2f1c9b72dadad787ee7933870642fa291280e1edf8342a984703024fac9a9b922653850ed27ffcb73a29348ef447204bf7ae1516cdd7611365d703152f969245a22e208f197763f8fc79f7a04e7afde20e6cadddbefc5a60b37a3b3bb0bdfb9e34742b0b4d21c79e4c9edd87f6c0f91f313623e0865c76ee2a0b4ca435183c6cb10f71631389ab4d2457f0c1937c2e9df41fa1c5b70debe1aaa309bf82e49ad3011271efb4a11ad50b5289c5bc84e57f34ffc98d50281a2485448fda8cff0e743adb2e4375f9f6343b80f9a2df32185f00eeaaaf096de107b5361cf5919fc39ae241c899b957805712f559c4c102065f1ea9ef72a45170df9377b30dc025cfc138e733d09477871427143f45554d22c6b952aafd531d544554f8e2370c7b3f2a3ea85f0ef5c2092c9a86178fa19f2d4f0d04f1d5337ae41331aac7bf53c05c23e1891d89b2ef6baea278f298f9717fb707decf9b38c45a485659707fba00f7ba30ef6e6ccd8875b65956916daa29f8c1f9725f0626f7ab00fa9f5a4fae5c79ec79e9f2592302b714a95319d097bb3167bc3873d274870ec287be34234afea621fac62cfafcd887d4816b48bb6d6c1de3c03ec4df91ac7e2700574ae842db0271dd79e20e3eee82e1c3cf12ab66dbc9264fe7a2cec5b8a479ebf0f27460f91f1d38d17773f4572f625f4cd9b2f63be74876459147192e55cf19c75ea63cffe02078ebf8ad5abceada4b78b5a4dd5f930938704b31015ed35720b189ffbdce76a5eb8f5d65b670a666d5476def0ed41794f17367dbf337f8c772e095d1b6933239a234d360eac1c4d9dc07597be0be72d5d85bd34e8cb972cc7efbef7bfe081c7efc0733b9fc6ad9ff86b9c3c7604abd79e8b8f7df80ff0914fdf825dbf3c08b3d5c67ffded4f60287b1c53c4fed65c701efee2335f10270a7ffeefbf88b75c790d59cc8bf0cc8b2f92800be3d3bfff7f13c82676bcb45f64947df443bf8d1bdffe763cbde731d1f98bd75c851f3df07d6cb9701b569fb3127b8fedc5aa15abf09e6bde4d0ab64f4cda170efc42c4204489255cf3a61b70fb835f23ab7735debce5edd87f62078224093f7ccb7fc1f2e54bf0b9ffff8bf4ef227ce8c68fe0a5fdcf893dd5f7dc7c3dde72c5dbf03fbffe3fc8a27e93508607f71c47b4c3b7b8f4eaa416861a8d576b9f8105fd8b7194c662d79e7d984fd6ffd0d8316c3c7fab88c7d87ff455e44b592278415268320a7f646c18ed6d9de204d9bdc75ee6a2f22265944b187310a8430a5d901fadbae059c6e40bd3d872d136221ee7229b4f12abde89b75efd7641b41ef9d576b2fab760cdb96bc5361893b7c58b96e2d5432f61e8d824dae605307f71afa89971f0d05efa7e018b07987886f0ab977e21bc144cca99a40649f908a1694315089202cbd1ca98d7d58fe9cc38b1ff20a62692283829ec3df42a36d3f3ee78e5590c8d4ca07f7e0c03f317e0c70fdd8dc9e428da68e1f2f1de5bb66ec4cefd3b49e9c7f196abafc6c163fb502a1770d33b6ec491c1833878f8002edf7a15626d414c4c8f616c748c84a929b675dadb5a31911924215612077ef16b4289922073cfea70ab5bb2d0b8e0bccd749f36643319ecdd73002bcf5d81793d7d989c1ac7b2452bb070e1621c3aba8fc8d9225c78fef93466cf10b14ae2dd6f7b278e0e1ec2e0e80964889c275a1318e85f406b609fc8e07283fd58c8770c44847012c5e98a72ac2a823da855ce7361851f20a16e18b2c09a29489e5254fcbb58735cb4ab2c8250bdd85784a8a6024d3d99109a4f1178e7a82b60b9f2676b5718b1ce80dc6bcfab03e382f23807c355f87c20a7177b75c0998bbd185b5d8e397b0ab3d9b2a884a9eaf529b7bfca3e30ab41b1ba677bc155045ac09379a4cbd7b99e4f3862a2bd2f2c94a7288868411163e99a37553f5999bad8bb673c196a2cdd7177fbcb71015cc7c73dcbd0cd3a31dcb10a78c6cc33a686520635ebde2da04744a4637e44944617711f051ff6010ff6115d9018510c4c9cd4ac55b157e495153eaf7b2e2fc65b0f75b10ff8b0f78f6903ec5bc8308977072bd8c38b7dd0837d4062cfcfe478b03794c277b1e76c976ca68450c2970a520f7bed54ecf53ad8738c472868d098866545d73c54c13f85bd4ba0d5d95cec61e231d5d40d0c0fe193d8cb4adce9c9920898d5cd06d87be5ba773d854ec5defd2c2ba98efeb058cfec79e472fa6c346f58bb5990e16c298d6c2e258c70961bcbc8484f6627313c7a5218cd1cc83f993e81323de4794bd6e2e24d9bf1d20bbb30959cc49b2fbf1a89780b9e7ff159243329216f44507d58ec4ce48b93781022e0a1128661798aacf97f9c39fcd46d7e1ea2f98f1bd6344d6b10c0aa7982608c0604c494767de527e8f9d7fde1079b77cee52d7fdbd21b68635739f780057ba63085beee45f8e05b3f8e48202edcf6874feec36d3ff917627523f8cdebdf8598d38d9193933836bd0f0fff6c075ada80540a24dcdf8c77bee5bdc8e7ca84630e4f3cf30436aebd08834343f8c5330fe0dd6fbd999455bba8d67a72e438befabdafe2e4e04971eff3cf5b4f04e8f7d0b3a805ba1dc0838ffe04dfbaebdb58b772397efbc63f14f1037c7af18b7b9e26a53786583c869f3c761b098b20ddaf883f78df9fa2bdb50bdfbfffabb874d3b558d0b744b8db068f8ce14bfffbef70e0c00944a21a3efabe8f61ed9ab5f49d92d802faeaf7fe194f6cdf894f7dfaa3d8b6e92afce597ff3f3cf7ca0e526ef01d90564ddb2d4f6a58bea9432c14ce1a7123f48ba46ce7cf5b88b253c0e8c43029e58860bdeeb93e99240767f68a80b27152dc9c1a2d5ca5241486f66431319145b453967fb6942b9a993b07b9f6f6b4a28d3ab5ffe05191cebc64511f72c50c4e8c24b1644197a82d737c68026d2d41114f32383e88dc0830b02c81feb5514c9f2c09b7b9a3f2f87831199e12f57a50162e63e9c45e019996e954de97b3ce11d1f9c7f7a560b66958b9780596f49f837b7f762f090c7920211f9e5576aa65f45b5b680e11393b313c810e221e89782b8e0f8e224c8f3ed0bb905e3f86e49483e5f3e7a3678d86a9b1b42cd52ccac19705b1e5ad3b1e5b4e65d7c43eb2dcf3e6e87b5149571d4a56b24aa278d582be85989c9ec0738f1e47ff4007d2850206bae661e59235d8fec4a388c76cb270aec0f33b9fc29113438403046e27478e8a8511084ad77684f063d7abd7655d1c27ec2f24c2d5aa8b0053bbecd9fa72331ad4e16cdc4f89bd2333056c95a9e11e04a7b01fd997c3f858061117fb222a6779d49c176a552ba9bac5ceeacd5116a47c8240dfa238169c1fc7d46051b8ccbde5bed57967d2325284cac55e9e15e4540fd65405cff293368eed9d42b04306f472a69b20ea418fc8333c5b068ea7c4b6e68b39708bd5f25110a40d965fdc2e3270f8c7cdd892ca4dab1c4951177bbb7aae8c7b3f56bac75e4a21471de43a46bc96c4194f41cf8eba5e4d0db5ad6a3f5dfc4ee92a67098d02cb367410d93345e026c743d49cef62540f8673b1e7f9516a803d93aeb10379e12d8e76c992ff0db1b73df53566c39ed6fdbc8118166d48609ab02fb9d8abfbd760cf8a3d240745605fae87bdcc9239f6ea1419a03216c9ad27c31e941aec3d35955c85df087b966301cbc48a2d1d2290980ba9c173e8690df64c00c375b0d7503d8494ee1f20227884b0cf92bc101eb9bcec8f617a6aa6fab1f766443518d31c61bf747d3b485f22355212d72c90a04ac45a30afbb172747498e112959b1e83c5c72e115b4544bf8e91377219bcacbb3c95475f06c2e477aaa033d3d3d78f4c117b07ac906f42febc4cf1f7902e9e98cd8c671b167c3a3c4b1b37bf1297a65583d41d1f353f2fcebfe943d3f9687c4b8bf7b4f22ae212b8e8f889c2e31d1eb90127d166212ac474c565fd3fe376d03c136599343a581d91a327652dc7c41ef1214c8c2e6418f11ca5c9a3c934fd1056278f599719489e5b72af0f909a6b27c38973c986f6c7c04c3c76dac5a3b0f9b2ed8829f3c7c17b14960f9e26eb2968b387c6c1a21ea5d222ebf3b36c667090097bf75b5c85a3971f23829d9566449f9b2d5b1a09ffa42526c90fac2ca4ab702c255ca8b265fc8231169c3456bafc0733b1fc3a11307b06cc10a445b4278f427af609248d3fcc5d4bf514ef1e5ad9d3862d1388e1d1b428684014f8610dde3ca6dd71209db835dfb0f8a34aeca24f5ec41f2a4c9d2c25fb8bc038979a60832945e055bfc5b2209284f9094796a56d192674f30d31769a82531ce01662ccaec6437f9c491228ebc3a81789f2c3c5611a44a2171aab3386831202d94a2250506ffcdefb9a9ad9cc1c30587788b2c37c9f844b1787d42d48c60cf9848afd465c5213ee65e1cb8e59eebc0877a45744f5058f5246471081a07499634ec7b761c76c42602d083c931b21268b11124ea802d554e5c05113b2a8a2a1494fdb2c4b3cb67e12c98802a5d5e9a06566eea1264489c9bc31e1bf65069b648af338cea11104ca485820aaa1379adea8166363d4899c638d61ac6f19732181e2185df4ef7d782424024f33457a22602641e4d2633089ab29f9c7d138a280bc9cd1a614b57f714130b4885bf60493b3a064248f3986a32e0d13064bab27bb6913cd241ae2b33a2ab204ca74a2cd4aae66da1a9e3451cda4dd8f756b1772db74a402caae761ba969c376ccd1b102904e91410a749bc6c433bcdd1a2c80a1096a57b4ab8273e43605f56d8eb7eec1541d065b9de7db4ee9d4849b8b89940badb0df064b254faa1d75afb95d8034f9aabc8f248ea58767e9720a09cdd24bc75a67bc89e5655aaea603451ea3f286b8cdb2a1dda3d18945ba4c5c4d117d3a4f0538877714c982aa818f414fbf25501d55dc58506eb9e9e910ba2f52f6a43f7e2b0a8af520f7ba9fbab15693925bc11f69c869b1a2ee1e0ce7144e749a227bc30410ff67635c6449b2bf6b49662c1b020d0d9e9a23c044f8da9a60e747409957b206020a257025bfdd86baa5aedfe6726500e14c5b666d93de725781ad8a336755868cb690d4bd77509ef482e556a8cbd26d73d1368c3bfee7dd81f7f99d6fd6012f11e8e0bf260afd516319c13f6ea7d5ef7bd03ade85d16416a5c565d3444f97871bca3384890650fc7abcdef5a8ae1899398ca93f11908c90078119b62a8b3d74a22ae2b3fa561f4003d735b1ea9a9b2a881e25df722653e45c4640ffe5b0362529c8598d875c8893d5762f25a825fe712f0daa8285ba5856301c4e22114344b31665b08d144ac1bc55c09c9c288587cbdf3ba45bc014b91502420264f5b7b44c4a004947e6525392f0151ace9c4c890d0a7c42570726a183fdc7e17b14488b88c1162070c0e114615a12e87a56f11903c06ec7ff58828fbdeddd549f3d2403411a6096e11e919161390031a45243769b8586b4808a668348c8295c5834f7f4f58e48b97cc27c23141a0eae81b68038e4c8989dec281b9f467324734349516eed3eea8f276d00cbfeb91fb05516aef54f9f7a89dacee49c4a5984c21eb5940bfc4642a234f5eaea01ad3c395137159d897692ef1fe3993150eae8d0743d5d36b3dc583dbba740c87790fbf2c84bea3f662c582a7bfa366b57e042fb2b027ca9c2b9cd62c2af5af49635c24a5544aeb88c6c232b8970fbd0a07548c83fb354758d49c5112a4be72d01907f04195e5d78c6a309bd1a2a3b53d8a649a04ffe488201b89762568d4bea8f84ea0ba1de6b6802f463caceab1f0e732346fb8b64ae782308a7a5909135dec8157a300e5e9ad264d9c508b8c77a81c82e539e6c0b1e4564b5ba783e909b242127ce6495104b1b5b671507119996299c869f5feb180e7b82bd4c75e1cbe1887383363dea2b83c620132f381b764345daf9e59c4a9abf4a580da22e1cc0716a8f2602ff7445679fdb66e0391c3bce55292444db9c01d759e87aba05cec35a3713f5d3123b027e5c929d7117a38518341931e1a813d4e037b9565c178b410e19ba4e70f74495da0abf56f7babbceaa762efcf0f70b38fc4019a191b99f132ba1745a013908ef2e2b0e70a5a2df67cb020c7e5380e2a27197bb187aa81d3da19c12411134399669af24254ea55589ec32683b3632f8e6b688150f406e22206cf3d838695baaeb0770f9e2b33f62ac688b11744aa1ef63d26a2078344488a82b01b4603ec55dc841b7c3a13f601c23e3f5224c5670b192f4e8dd6508977aac19e646988fa164c28eccdea017415cf4259ce9b96b630199c4591b0a0a9b1734fba76b1e7356634c2de434eabd83b02fbde653199990459c197d7bde6c59e64170789f2ba7783ac6506970f7b5d623f3e94945e123ff66635f3712ed8bb243adcc6e7a5b1759810b18d6e8652201caa9ee04cff2b954ad87df0056114779095ce195b1512adb2831c2728fe4ed09a1bdc7702e5a48d4442bd1fa8ce3951993c3ba742ab388d40d8b3922e7c26993ada0cff8adf43646e47c2644932eb23d61c341d0240021f0c04d4a994152f69250f90cbd777f59750389e4330a2020395800804e0296b4f4a5e09597782890aac750495705b1179096821b41383e0ad16479e244664a80abed872d269c1c5657099ebed8918ad447e5a2bd67e8c833ad96db9a02cac7a3360c188574fc575f3ea35c5e0b9f8586b87e73402d42f45e32a699b2c3b93b46f34214b1533d9e4a273629f5e590c2cf0a33119e0c8d905c29dabceaba8a4dd69f2e4d92829b0d68e08724e4ac4fab845842c6fe977e52f13ce98c0a9697ade2246ae95c73564503290e8088892ffdc0711d016322acf236a1910f61c38264ac5079c19b1ef981743269f46ac4579d94c4f4d035b09034fa099bf5f75b18fcb54c128ad7ac329893a2f8c3d1722328c6ace36e32d022519fb825d39f4cbb5ee2a85dee8858e3e03238353f4fd12626d4a28a86c051e63177b4d9d34da107ba7ea9a16823849e491fe8b2564b13581bd299590bb9d20acbba82604293f9713acc55e2541c93d75520a6d244c53c5923c4241971e7fab5c077b1573302bf66cd54e73b54c0db16e323e72b290077ba24261b3167b83c80baffb3ad87b537d3970b2a32f865456ced180f2cd3ade14f760b558d85cb12fb748d21121ec095555e703628e56b0e774e01c611f93713beeba774f98f516fbe251eeec3331728208b8598299a8626ffbd6fd5cb177ab73da5c0786ac8678c2a860cf3163413746c390a9b9e108ad7b5a4f2263ab5cc5de35c65cec39c6acad2b8ae96c51905e479b01fb46ebde3fa621ea039112c63ede4b465b56ae7bc635e8c5de92d8b3cc1771a785c6d89b02fb38a65349918cc076aac0de53fba5067b13b5e7dae254592a628c5a25f6ec59d0b8385e59567de5d893cad93ebac43ed826e372ca05bb52ca00110ff62a85a9b32f80e1e3419a3b45984ae6bbb55304f681d3c45e6d6795c7087bdb44b0c590dbe2027b5980ce3d55db2c18a22441b8d590f70b28ec15ae62acd4c1812cdbbafb5a313e3d29d6bdade687a5fc1a325e68468783368b63e2d782989c3691098548b8b684c409b21629268e31e172da6e7c41357f4ae6e0bb458382a100fa17b761626c0ce1845d3d14c9aa2a7cdd736e0e97edd6820d2aaf78caac7315d8321192a008dbd6a5223724d3e785ef1ee8a54738425b9a0ee1004f64e5e8f59c462a0aee9002ee27263e72749214fe3462eda81c43ef3258d755c84178c2c31d6a90d9ad55fbc99388aba9b28bb8a53b2c8aed40550214d693216b1d30316657bd60f6415f81044da568f2a17e3471a32d41cc1b68c591a3d2fdeceed3da9e135a2b6e7747468bd7b59e7ce9a8b9a88362b624835c1d596b9f178a882e0fca1a36ac38798cb9ef02bfb05311f0e2fc1a540ff50b044df42f69c3f8c81809520bee166f23ec5d0bb0119576c73446a4b09c2241420fc5077bd92ef6411920ea621f262b83a3f805f64161b754dde3706ab0ef5b1a20ec499196a64414bc6b093a67827d0c984e17858bb8ad4f0a7d57c1b280e2e05c817d40a6028b7395ca0db027f2e51855ecb307930db1d7d518cf197b7ab63ccd539e9b89441b74bba03c7b32a8d00d7674830db9aff5b0e7df1c55848d63b2fa97b6616c688c3e5fae94dbf662af69d5b2e315ec6719537e668b8355c99c657c1d55d344f4933d514a51735c12076af2df62dd3b1e52a2f606c4c9bfd4b1962584fd9104a672134874291de3c55e7dcf52de16b391e5ece9271f6d319564ec1d740c84455d1b57c18a2c2d857df034b08fb404d0bbb00de9bd34473b657fb419b077337366c33e10e7d2e825c449e8698cbd5dadf311082aecf9746122d78198da6e0a3aea797dd85b8ec8d4e9a7311d3d3946c64951ce41cd539ccc87bdaee2e366c39eb1b1c68ad02d9388a9f42a330e6650669455b0e7f51537a44117ace64b57b0578779f2e1986d8b821826ec27d2e368edf114abb3aad843ab7adae6823dcba2c9a9923896a1bd3b8a5cba742af6ac1bd9e8e1e06ce12173544c5f3dec693e258202fbd4ee49115b687bb0e7be8a3a3cc5b3e3fdf88f444c84574458a8962c532ca2c8f9e8ebb2ad58b556d96f1735055445c3200b8c9e305a5a623479c87a52c18235955c5410149fdfa0417955f4ea7e79e5fc0854f77d79b2172d3e2727840833699ae1865a44224a3c284f0c962e7e43eee35622acb5cafea5dc3795015fb196b070a98d26a791e890d5f5fe0f796f1a64e9799d879d6fbb5bef3d4bcf3e835981c14200244010dc6992a0248a141799942dc9d612c78915bb92721657c5b194ca0f57e94f9c4a25954afcc3652b2e95ed78892dc752599b29520b498124088020896d80d97ba6b7bb7f4bce7396ef7b6f4f0f00b152c55401a8ae9e99be7deffbbdcf7bce7bd6e7cc103e59a832371640690f4b9b305e4d291e3514d110bad14221f5384bbc078364ac911253761a3551896cf532652b8c8d44c82aca2bdb29cf45f73a19ed3fb44cd7af5fe1351733a3b8c388453e6dea38926c97a718cfe674658a282625a388b4d313f65e515ca93e4c6a2da382bd09578d7d1c35735162aa1922f16ced835d5a5c9ea7a4b349edaef14aecc21e7b3a7923ec03bb1ed8b7f835988b8428d4fc7287f1d0017395f1a8a47c29ca94d44c3d14d9b76a0fec2de48ff717ecf72fd3647da3c6be76ac82b918f9f42ed853c39511623f5e54be1b9cff613cd6d4881939123571ecbb9a72b81bf6a54d47ee32f6070eadd0b5ab57a8b790cf0c3cdb0b7b69257c33ec115dda470242b7d5a578511728699a5215bf625fbd65ecf19cddfd9849b5c016da6deaccef8d3dce6e6e7296654d94f1aed8b3021e0cd930616b0ba9a2c934af238f716cd8177ab1669d542f2f8f60d98ca4864d56b19f5fe8d0befd4b34bc7e4b528df9ff07d8e3e7c32565495d5c60eca3bb60cf1f208e138e496c97bde8d23bb1efb073b87f6d99aebcde62c367d2706becc2bec81b035acad3de007b6db9e47f63a3194d03c962220e88606f7c1f6e446521f6d9ddb1c7de6346d8f2ea0215ed7536a86c1ecd5ed8fb3887b44905bac332a34b0b75f27676781ff9850bcb5d9a60e2b2639fec817d51d655951231a9025d3a31b95f68d3fe83cbd49fac2bf693c670aafded42efa63f8bdc8f96f5fe9b9f9f238c354cf7c01efbdceea5753ab7b94775a724523631ecd98a39b096d0e557dbd49b1b37a3056c4fc175528de887f6df0fcd30c12c99fed6541913339de62b29874af3b45e085817df99d00df9f71035e9cdcdd38dd7b76971cd0abb42f67da7ff35822954df7b757e1490ed54e56c55f7381fd3adeb3bb4ff588fd783cbbfd2867753505054598ce98e793d3703468b133c95a1798979363b23f696bb74f9724483edea8e1938c14c0235a4c82ab8e3a69f7cafb92508c76ddcdea67dc33959675e367ccbb850a1f451a0590e261a7a8cacf82c318fa49aa51adcde28a570ab9574e9f6d51d295ead477597415ebed4bceab46a7822c208495d6068bf871c6aff569ff7742843fce473a7ea09a982d2880edeb01854564713d5ad7654efa96e02a600037b74455dbdbc494b87ab26c7bf0bfbd2a8a0a548329d25aadb137b3e2cb76eecd0c1de028d794fe3c2aa2305fb4ab1c794e9ed5cced56eecab5d61ed9ded911a39afc5d4df2c67877e072c95955df853a2990165b135de57c1fe47c6580a9ae9037d5ba7612fa1dd292efc44b11f6a2794f387dc0dfb9d4dc5be9dcdd16dde53d462bd11f60261dcece35ed857160aee6f0d68fdda80da0b9118c8c01ef2144f22e3a889645aea70a0b2a161f8686fecd95140f7d51c5fca97afde263af216b08f76619f34ce4388fd8401b875839d9c852595a710fba90e41cc30b36967a2645c21f6343b2c0eff6d6f42ee3b54be9ab06c15b3d36543ec8d467d4ab3f2b427f676763765fed7a270c5ec893d1cb5412ea31ea4ad754fb9d73f175ba5f299b480fd84bde8598364067b735626c3809be32ed843870dc68cfdd53e75973545a2e3dd2b215693d675ec1fefe56850d59d4989a51d76638fbf8099799eb17fedb575feddaa8e36cd606f447e6f887d587a89d4175b07b76e6ef33a57d828355d6ad3ad55ee79bd287eed4f94ed3556e34adf37ae279ed7d86f40eedb442fa632df298e7e40ec439d6fd86f6f6fb3bc2e892ce4ee8c07d84b1dd968aa3affae72af7fceb70b96cb8c8dd339baf5fa987acbb3ba1b7b381ebe0d0d93db3777286ae732ab02b5031ab62b1b7e80aca931d85d4d0f12234c5ebc7d85cf7bd90c91ba03fca209f5c571131673ebb56e2bb4a22974925c8d6e539e4cc48a8f02ef5f5a303b5a3d2e8c90a44a54fbd7678bea7c2d080583a278fb764c635e88d7beeccecffb3acb32b0ece3a61ec0eb5222e39580a1352eb7a8b7da92b91291b501d655ec523d9ea86754eada659d59b04dc1802ec9abb2f734d889687b5d0b8567dc9190ee3b0f860cc63eccac514a5eb8eb7c01a39b63ba7ce926f59632158ec0d322e3ff90944e7e27f64446d15f354a08847043be7437ae59ff59f183615f87801dfb0da26bd56d2ab37c4fec934eac39d8a9b1bea64ab87637ece1c58c8725eddc62ff8637257e33ec8b4629dd15fb44077b0da7db34f7da2d21168c77630f83afadd897ce0993be01f656880ec379a3af6cbfd55e05a3a64cab40a9df157b4b4d0d807d6f9de6573572577723d4d87b4ac726bc66764ef7c21ed19d85a4c13e7a63eceb62cf88ee98a03a837da69d24d7ca0dd64765ddcd3483bdb509bf19f6fefe7806a45a7758ee072c9f49b477cd4365d1bd3ab567f8c7b1173107d8c7da5986faaaf995f57a6af41dd84b74cfb0bf9bdc07cbe8ce6734dc29699dcfffdcd29f11fbb831f442ecc144d05f9fb0dcafd3c2b0358bbdb8f89179f91e65f2331a35cfbe0bfb8e603f91eec63cde1b7b0ae4feaed8974d31b9e8270cfdcc37847b249f16331150c1bea56bcb6bec3dda7b27f64ea78f81b43b1b09edb0039b2677a977090ce82898025c3f7f30b55b98683197acbf4373976ef1676bbd1605ba560c3e8bf0388bb2acf38db05f64ecfb8cfdba1a21a1cf221da7b7df868689ce48d13c18063d358069af675cc6babab209bfba60480d40a4b31742f29fd0728e8df7a34a66fbc69d1322326a620a0e6f6c4a01ad83915789b922a5520f67c0990c8aea08d67f78d7c441f577594aab2baab5eba689e090d6bf635190981aef242c7c8bc375d674d1aa184bcf1f96c66341ea8194a3604f2569ac0c8c219152d8ee072e1251d4717341ceb40406f5384e93e78ad36798d47b5a050ad62baf52efcf8c8212a95206d9355b5aaa479dc675d7d00cf6a47b2a9f9334fbf9a6d8e741f57ed2287a0a5b602ddd01a1973923348b3d72e245803d08afca4415d45ed863c132842cd18b76664ff7c23ebb0bf671500059b75aea3aab7837f62a1b21f65ac8fb26d817c0be6a48a0a23b3b04048ee02208b18fa3bdb1972072acf35ba498bc8c1ae201603fa159b92f34c553ed96fb2a94fb526b0cde02f67128f7bbb10f0a5005fbc8bccb3de4becc913ad88dbdcf7009b0a7c61b97f445a053f6c4de3eca5b9eeb1a0fe7e188678b5fa3d22a701227d830ecbd6e01d88f77618f33caafa9e259eca9dc25f73f08f655931e0bb1774340531e2c37fea0d4609f8f9b3da90cfb48a80f66b16f74696514eb343339395c67f456b00f4830e240ee15fb595913ec41455fecc6bedc137baf75c27caa24b1146a325ba551eb525bb0606f4308a322c03e1ccde05c32918e1110fd6b6f504f052e67ef51c85b6129a7bb615f955a539384721190d745f1dbd030417b2ba61b3ad78612ef443570c2fce8a1bdd0c38087d756b6c03864cf4b66c3f4364ea2f67c2108f5a51e7825aef412abe806232c18533127a5b6f4ad58c9436a7ac0230d5b0a5d75bce73ad17258b4cb9a01d2c1afabc6cb5d3c11a4e1bd289acddfd65d34d6322cf94fb4adf6324a4d61d65d3665d35aec9798939581002849a2d921522637e84200ed360a9e6ad9cd76a5bd480693d63345a2713359341440dfd3d8180fd18901864d28c1dad3a180606817f6d853e0bfd79ea2621e8590b1579abb82c982b077351b5e17eccbc0b34c76616f7b8ae84da7d7923079887d15904bcd609fe89eced42b39f69888db36e3991aa5187b25fe5bc53eb20e84b239b760f2ec7433996ff183602ff805de700774d72d7e8e41305b259dc53e942799c1326e3cc528b973bcbb9386a113036dfe5274f716b04f93ddd86ba16923f769d3651035cc9f7e9e77635f4c666bb57663eff2847a07c853328ddf12f692da4b93190357f63fd367884ae56ea93940a286f1b5be6c03ecebd6530af45380bd5c72a54663b09f728bd1ec98fa3db18f8c8a3e584b195ce6b2a7593c7346df087bb12142ece33b0d5d37c8daed8cda732d8940d67bfa03620fb96fb7e3fad2f62ea4ddd8873affaed8d3ac2e85dc2bf651ade7eab6e56a6fecd10d15ef96fbcc74b3a5d00a9ae57f99715cd42fafa3d0447b601f44372b9b382e941969d9e8e4a88912ba73bd1b7bb947f7c2be954acde65ed823ea3569bf1d0d93d46624a41acaab0bf4fc90c96c92b86e212bcbaa691d64e584f6d8c87aefcb80b625b6ae817a1655a48294b8a71f7ada41d196cf2f803181823c1a573321b0d2ccf8ba4db05648514d0d5d1759da5a53e3c29030651a784ceac834972935977d6505866101544d6ae49c02858c841163621a37f14eef7480f510b9071835458fe818400eda39f43cefe87b2aa1602fe8f5764137a4bc40cbf3ba26083e8460a668cbf5bad12cc3909082611851fecc286c8baa3db197bcee5db0c7452797a87508d4d339cbc6ca0f7b1170d927c1a084bdb0777a75a9c6476a89f6c0debc933bb0b71924b5d2b1b5222595a1f3c0b1a746b127c91ed8176f8ebd7837d68e8c75ba07bd27f631d5f4d982bdc993b36a86d8634f857edb2fa47ada6b43f75d7964a46a08aeea0114346b9cc89e765c9ed40141987c37f614057b1a35458a6f28f7adb86e09ad022ec93a4f5f357b2a4ca66e0c06030243ecd1b187b413b0d736f6b78a3ddd157b89f8957a2150d6d0a1b8fcfa79d88d7dba1bfb848279ecc6d321721f5349b3a1226975dd8dbd5d502e4f91eff32e79f22185ded6fc46d817639a1d46b247016c52cbbd52034c03a530837d440d15835d9c77c73ed13abf37c1de75beb0c3060466d1ae88b360913572dfde0b7b2b1edb0b7b18f949e090ba3ce17585a525296dbaef28481f85d857bbb09fa98909227be2c84c54e747495c17dd7a47104577c73ebb0bf63a732baa676085b5577567d3dbd230c960ad970d55b26dace469e36846994a1ba4a5255a20e992414fda9ae685597eb14746101619f9556423d9299e6d13aea9a0adcb248322cb2a619915758eda8752c36212460b5c780991554d18582f206b7bacf477a190a7fc7c71bb947546ce65306d469dc73620cb5bca620fd5c541c8cfbc0b37ba90e58ac7e0af48651d65a1ae6869c2148980e9e1ad8982b046dfd35662b53b55ed3ab75a99ec41da435b64b09f160e95415fe63978f1a7b461071364c3889033334ebaa51cfe0e63369d4c9bcc12527165d5503a87d85bfa43e76558dba0fd22bc3014cd62b815f6b4b2eaf6bb629f3717d34c8bb87333588d493ed1d7edc6deeb7e66b08fa3265264d8277b605f6232319fa76ca19924ebebacb1f7cbf4ad606ffc0d711f2d94a9107ea1ce44e6bcbc11f6f0e04cb94a9bb617c395aaa15aad96ecc50cf6a630c988971c7b29fa4e9a9cf85ed84bfa826573dc55c30cd84f2c34f056b097d4401ad5adef9ec26b19f6f1ddb0a786b9d45b33ef867dbdce969e671454b6057b4d2d48f17c61299e28f4689b5651c1de2e28c71ebf08f98af248b0979939d1ac3c39b15e92de1dfbfa42f4c19ef89eebc502ec254562d8fb9e9261ee8edd0cf69176168aa11a14cdb6da2d1d5cc7d86781dc93d56a38274c14b4b8c6bbe53ed0a53ee00fef95c8859ff1cf2733fa292eab5a9e42ec631b4121f2645d5b35f67c86705fe05cb5e69bfa8cbdb0179d15bf01f649c31a2c189bced78bbbaceb0fd5717a6bd893c93dc84091dc77ec9378b678589c8f00fbbc6c223fd52eecb52058ff2cacdafce2d4860616455eb7f7c69e838a9a7bf40db137ddaf72cff768cff6b4686a9e240253bd0d0d93c40ac8bc3d2b2c5df7b099442232a5322eeaee070d4bca970f694a9a306acd69e00667353b68aaa684ae9aba0dcf87673d5c804af38e7f14630897626c80d6fdfa41ce31d2cb1e46095221a5d03f37839eb254c9cf92ac90348887fc6ac21de70a08737be9ae507fe0e527c665827aee8a4f6b7b41097790a3951c731c862c9a18ab87bfa56327d3cdd4fcabba01d84b58d68812a6ce001810c239a7413de42fa120bfd9acd3f73ab1815ab8404077084e15849f35dd50511111dd412613621f2bc6627825ea2956950d02930895b1d35a887b4fec2908a1efc2bec9815bc45cba512632a115d4b69a7ad03daa025655f1f4824a3e555077629f5af8dc3dfc84f6c0de72f4de5516072d8e54de893df613d4f565a9d87797129a18f6b1b787ee85bdfc6e6c91bd44a22a9e7b47a83c31de8e741a605f3605d95435752445d55ca251dcec6988bd47dca0ec8039a80020b79e6a2aa2f2eed85b44482ea144197d55f1c7b2b634d1ef35f65540b415a6e4cb60605e1210f0854654a28c99d91c1c8fa9ec11f8744a33008c097f067beb6b68b04fd579823113625f651a7d1543d942f1be9f9e1e898322ce37c33e8a9465b998e6727982406d32d649be7289ce601fcd601f39f6d8d3a892225a4d79c582bdc87d66ccc976466beca337c03e90b770489e383a73aaa3107d2e29ae5b91f7c4be521e288f46e38caa17af3a4db0c73e27aaf37d28df0cf655837d51cdcabd1791ef857d6b0e06c5448c797016492727e4387e6bd863ef4ac35e0655228256e89e6a5aaf49b5cc601f1232ee4a9ded96a7d88dac4ea1d8cfb1a13f2efe4cd84b866117f6b85b1d7b773c1dfb9a03e8ed6898c8a4cc6932bb017ed2adfb5a780fd0a911abb2c046e377bb2ca5dd2c43e96cedbd8ad5de0e9840a951007e095571e04d850702a12d06aa172fc8cf846a7e3ce2cf8cad52bf31a02c784e4aff656c85a2c8125d67acde3608c14a5efb42a747834a638b950960daa57a3856155457d70553c145ea16beb69145929c5cea2e29295417fe883e2c5a04cb442fa1ea8e3d8deaa9ac102e993a1b69a1679ab6e4eff37cebf5f3dbeadd5495e552ad2a7cdae4c4ebba8224084557b3d112bc16dec862af479db8c74aa2a24ed562c1f0e173167a0cd95d43ec236f39de037b5e6fb7f503625ffaf90bb18732aca84bf33abebcdba611e61b1827cd4c11495467bf45b179027e067b7034b45321635ae8f09e565ae15b63df69aaf2c3cb92d2200f5e34dc1b5e9354196fc25267895f9a09f3b1e7d814fb48cfe95db1d7939b06d827a9461fe7d9dadd1edfb28e08bd94e1d9a571c3c13233332569702ef7c01efb3c0f16cab8233971addbcaad63207e43ecc500464b792ba9b17743bf9bb5a9871920346e14b8631f18286e88531230af4601f66993efc7e5b1102dcaa5881aa3e168a229abe8ad60ef067f22d817a546cbd8cea185ee1c6d9316b7c1e5f18e15af29f1b5ca259506f400795343d160afaf5dea2eb2f390b191620528a57693bc29f6f8bf343a01c73e31ecf98c6ef4a33a8aea9126ec4b319d2d7e9fc1be680cc0107bfcfb1ccb90cb7d2f6adb9cae37c23e6a8a3985293631fa7c451997682705f65dfebde1cce55d631fcc21da8d3d85d8c74d6d067ede2b75ca797b8ee57ea885733246c16a6faabb615f9853c31b55c60d0128ce0074e9360d05bc3bb00f7454887d448d2edd1bfb05ca58870af6e689619d6f847d532469d89b7e02f63058e6da6d6a674d3ad80d3af0988cd21f9e61f243abbb55ae8db426daf251d838b87a28d564ad50515e45751e1aa1dc6212d39985f394256d1980e61e8693df54419b71650754f29e2d3dc4300a10baf4ef480b80beb7dd69d1c3471ea678d292fa08844c23a9cb48ea31d8b2ce24d64b32d6756a9f781042950b3da37131a1b5f6515a9b3bc4ca2ef0865cb0c375daa1486c8d12ee43c8ba8b217cb6565099b72b82937cdfe17be9407688c6e5442626abd7a5b51cbece24892df294d46b16e3a8722510c9802c5499778a053abd704e428ba51109d47bba6b9d648757d6d9b675fa7efa9ea2788a3f6e6de5205d58ba8f46185bce4a5f3e33b13d0db18f77631fd56b8deb899fa974f19c5b3cc717544f48d43cb2b427f6d51ed8ef5aab630f7c1f3ef210a5d396ec718670b98c330fb04f9b3d05f6a264c9c98dfc3624b9ec276c881e4c0fd15ae73099ae6bb00ff6b4dc03fbe42ed8c7c09e5f7bef910bb4961ea1613ea10e2849111e175afaa41e6defeb8c82f3ea7bda60cff2c5d8b78a393ab3785e146a887db5d77e5a815cbda79d007797abb6729d1c58de47f72d5fa4e1206745d7d2aea7409eee8a7d3d78c8b0b73d459bfed9a57334df9a97e191d56eec29a017b0b32b6b0cb10ff6137babb4dd44ef38fa30b5a63d76242a496b0ac66f05fb604f45ee13603fa583d9613a3a775cb1b7b45915cf5e8a65b0a771b60bfb5e807d57f71b01920b47ced3b1ce092104acb14feec45e746980bdcbbc632fb395d8c149f30e9d9e3fa773ebabaa3696aa50ee83026b7a2bd8f3efee5f5ea58bfb1ea0d14e2e448fb28ebb619f34d847ae9fca684697223278cfc2195a682fb2d310c87d7ae739bd2bf6bcbed8f5138cfa4c8b52807da798a7322deec03ede0bfb24947bddd3d8b1e7fff72507e8d83c303207f62d621fead224907dfc3b74fe9943f7d0d136ce1463df6debb4e6f48db1775d5a993c45266b523f34c9e89ede5959585e0551c700fbb79d6152598555d87912598b55dd8982d01386d1156c19b229092b6f7bd2a7f9e92a3d7ef2315a640b725a5884c0abc6dd0bb57c9e171d4501c15a1250165756835208d5749b1e3df5101d4e8ed3edad0d069b0d9f696eeb8cea8846d8dde363cf4178831c60612339a798013488e8c1d507e9c8ea616124f4f0671c143d5110360f5bd8bc8a1cebf43c651530059e397c921ed8f7a00cf483678ec2d2b276dfb47da67e6efb330e5c8109ba6c65e3122aa49d35a5c1684447921374ff918b32acaa8a7d6a26d54caa5e601a72bff83eb8759f644d2440a61df35ff72d2ed313f73c4eedc13c6de7db94442d36268ba648abc67b37f6bc87e063e0afbc02f629f5a703ea8d16e95dc71ea1a5ce6283bd27038a5dd8576f82bd45cee049775b1d7ae7b987e87876926e6d6eb2526a090ba8eedd1b614f35f6a5d42644e23d4d762aba77f13e3ab6ef88629f34c59d5540f9bd17f6bea749da4c4bc65726bc3944a70e1da3870e3c48e34dc631431859c3c9513dfbbb9af16c7ded77629f517f34a443d131baffd07d94b1b62a2d7f5ec3bf17f661a19e9fd17417f6fcb3c5ee1cbde7ccbb697ebc42db53c63e6edf057bda137b9527c69e0fd7201f52bcdda587d61ea2a5b925c11e69b75aee7761efdd0cf16eec5b01f69a2560b96787e4f4fd74a27d9a6e6f6ec94469ec53f566d8c78abdec6980fdb85f30f6f7d3c9fd27b50d34a966784ecabde43e4883c4c19e96f63c69aa29b7e3078fd03bd61ea6629b2f9304699d443e3b0ae6beeb9f67756bb90b7b5ca23be301ad4e0fd103871fa40edf8085a5d1ea1af73db08fe300fbf84eec91664545c9626f819e38cd3a9a75f5e6645318b5a72c0877601fbc97c888e8d2b296a718d817434afb5d7ad7d1c7e8c0d23e7146e300fb7a866d90dad913fbb4d1bd827d82ce9484ee3f7e9e8eb74ed1ed0d3ea36c9808f651554f18a699335ad569e046ee2bb28c93607f6eee029dda7f5cf72fae9af28f6a764feb3ac3bb60ef3529ad4cabde8fee3f448f1e7a848a2d608f085422ccd96f057ba4fb057b0612d86f8ffab4af5863ec1f60ec3bd6f61fdf89fddbcd30413bee6432610553481b29d8ec4a52de8f4298ed0af93e1e4f69b033621062da1cf4291e66f4ee834fd0e123abf4e0898b32be1ee4571ef22a821efb32c893d6855256ef0985218c9bf068d8c41f0e88ceae9ca7d5d5057aecd4237460728caedebac116749bd7c07670cea646696be337ab22fd3380cef98d114e1df4c73419f39f59bbdfdad8a487161ea1b5e5fd74ff3de7f9224da908a677fafc89facfa6a04a0bf39665b04ea3afce27116defb037d25aa293078ed389437c50171fa72bafaf0b07000e29f614df0bdb53ec6769eb46c114be8f06131af6472c9c19dd6003ec507594ce2f9ea113c7d7e89efdf7d060aaeddc21ff4b5505858614eca93d47693c0c420bcd7b3a415713637361ed5e5a3d3047ef3ff1011a5d27312c211848954c91d6a9ee8efd94f7b2cfebacd8e8da1af2f77e4cef3dfc241d39b28fee3f7141f624de03fbea2d629f1bf6fd3ed13d4b67e8e0be15364c1fa4c3d3137465fdcf88fdce580615968cfd3a63ffe0dc037474758d2e9e3e474bbc9779acb4dce1da9cecebaed817f635d5b5621aea7232c7189da053c78fd263cbefa6abafdf92b927503ee3891203ee897d69d80f599e04fb946e6e6fd0c1f230ddb7721f637f884eef3f43437431b5de02f6f9eccf649d264f53c61eb7d3f983f7d2be03f3f4c193efa3c935a28dd1b678bff0f8704935d8177b605f0873320cee6d369c31e9f4f1fd4fd0dac1557ac7a907646d495bb98eee8a7d1cac7b37f660609fc6224fa757ced1dafefdf4c0b17be94475962eaf5f57c394f77332dd03fbd2b0c75a7395fbf1682a69df1b1b1b74b1f7201d5d3e4ce74fde43fb7a6d65f7b4a9c977c3beda4bee73fd37acb58fd9586c3c9c3ba472fa9e03efa5ebaf6f08474865d8e77b616f677406fb12d86fd26a7180ee5f7d804e1c5ba333fb4f2bf6e84a8b66870ece601fbf01f623a3dfe7337066f52c2daf76e9bdc79fa0f2668b6e0fb7d8b06ed168b40bfb2ac03e0fb0ef8fa4dba40ff9db2ee85dab8fd3fefd4bf4d0a9fbe5ae8fdb5133d434d8d332bf3bf6b9eb27c77e9b0dbd85d374646d8d1e39fd009d8a2fd06bd7ae5226d84f655aafe852c71efc2bbea7764e878c3dd23f251b8837376fd385f6053aba7088ce1c3f4e07e6e6c448f389da33eb7c2bd89b3cf50715cdb1d38068d9e1c3ec94f35edc787d93726b19bf2bf6224fb934478c46c07e28d8afef6cd142be42efd8f70e394be70f9e93e88e90dec541f1fb0fd130497ef9977f79e61f7ee5577e65f724e0dd5f71f07dafaf648faf34f8b38c5338f1f0cac73b0badcef6565f360d56328ab970b1c35b1af3f7d1802f7afe59446dda62eb1edcfd7ffe81cfb127729c2fb80d5a5b3c44cfbcfa346dd3887aad540e915bcdde66e5d5f7612b54159004c98036e9648ce967dffb45dab7bc2cb5216756ced0abd75ea74b5b57a9d39e97c337e02f080ff27a635b27222ab8e8c7389c396625f301bd7d9b3e70f8bdf4fe33efa14135a0b5a535ba7eeb163d7ff3755a5e508e14272aaa5b3393a6be603793a1174d655946b7b74b7aeae2fbe97df73d41fda24fa7564ff0c98ce8996b2fb095dd16c6cf217bc1a0d61643655cc89fe1a98e46baa7b09ee3a42d46c9b1d611faf47d3f2a9e0eea00e69245fadaab7f4a9d392d1fadbdd032883e852dacd4b440bb9192b16bb7d12fe91c5bf85f7ccf4fd2a81cb0a7b34a6bed35fae6a5e7a8cfe29ab10735606b70349a28f613c37eda603f16ec5bb48d8b6c90d3171ef80c3fef11da9a6ed2e1e523f4cca5676893df7b8ef1ca8bb2f142cac6fbd8dd063783bd845459c1b1e7f397def7053ab8bc02d54367f79da1d7af5fa597b72e5397b107b68381618fb339d2fd04dfc998b11fb154a3f8ade4c37663e3165fa0efa40f9d7d9226d19856e75769fdf6063dbf7e99b16f8be2f8b3625f1af6ebc0febef7d107ee7b92b6f32d3ab97c9ce2492ad8476cece1f5c3c1d068d51d7bdd53c71e4a3f01f63b9bb4961ca4cf3df8194909a083a213f5e8e94b4fcb30cdc843d021f651e3e1ee85bdd66bc46c44567472713ffdd47bfe3c5fca63dab7b044075b6bf4fc95efd1563ea076d2e1fd1c88dc4f0b10ad5535f6f83e1c027b1424b257cfb7c8a43fa5cf9cff34ddcb8a7948033abc70909e7bf559ba556cd35c3bbb2bf661ebf35ed8e341f0d93ff5eecfd089b52392d63ab7ff2c5dbd71835eda7c95bad9bcac03eb9986d84f0dfb21b01f09015bc542718db17fe7be87e923673f485360bfb8421b9bdbf4ec8d576979b1fdd6e5be6a0c03912736e66eef14f4e1b34fd0c71ffe086bbb3e1d5d3a42c938a36f5d7d5edd6b76dc862c4f63c61b9e7c8dbdac99f7d4b08f59eed6075bb41aafd2672f7e5ae69581a1ba972cd09fbefa356df3369e9b1f04fb1dc6fec8c232fdc527bf20299fc56e8f8ef58e31f6dfa78d699fda6c5c0df88c42eedf10fb0a51323eb36cf07fe63ec6fed039d6773b746cdf717afed5e7e8fa6493e6bb996052479eaa37c6be0a0af9a1c826a38a3effce4fd2b9a3f7f0f6b1dcaf9c1659fdeead97a9d39a93bb67381e09d68e7d1e623f18e9fcb3a4c5d8dfa607972ed2c7ce7d90c6e54822c598c1f4adab2fd31274fedde43e7d03b9470139637f8bb17fff9947e9a9873eac72cff75fbbe8d13357bec3ce2e68036291a7bb618fbb0b4e5ecce0de1eeed05c314f9fbff8e3b438372fa9aef97489befeca9f10752ac63eaaeb86267cb1b218fc162fa9ef75c5c157197cdfebabbacb17ed158bd96d87fc900c9368fefcc5431f9fa4796734d4b93363be7c60250f186c287a58cb250a4f4b1cf6311dee1da29f7ff28b74dff173acea74bad02a2bbc5e3c475f79e15bd4b5015bf9b469c9f3fe75bfd8eb5cb959a3b04a31f2fae6564e3ff1e847e8138ffe391a574301a5c7cafabe031768736b875ebd7995bd895c5a0470594278607dc2508140c985cc8f38c000b03ca34f3ff0143df5e0872567a93515111de74be41bdfff3add1e0fa997b5f8790b6dc9d3cc4fd3445134f9fcca3c7d1c7eb406dfdecee9025bf7ffc9277e8e777a2a8310d18b7e66f5149fa92ebd7cfd32dd866b55252cf07a20759d23f5e6d165c4023f2a2ac9fb3f7ae87efae2bb3e454bf373f510ade3fb8fd1faad9bf4cdcbafd152af6bbfd7841da36436745e579ce7c164da2a16faeebff6d4cfd1992327a9a8262c00311d593d44c7ba47e8f51b57e9da267b7ba82ae7df812282b212ec4701f67c9cb6f9df0e750fd2cf3ef6797ae0c479ea977df110971616692959a23f7ce11bca3d8276ba49d560ef61cc37c1fec6664e3ffae013f4c9777d8c26ecea09c15ebb45f71e382f51a597ae5f61ec35490cec71b9c3ebc49e4ec5f803a744c2af61acd90bfbf8b90fd08f30f6455c4a6e1a7dc247978ed1b75ffe16dd1cf569bed5e667fcb3619ff2c5b3c9789d66affe3f7deae78db2bf14aff1ec817b6881e6799dafd32d847e08a3d90bf14cfd8c22ea28b345707ecb4a68dd1f397c3ffdc5c73e47ab2bcb7c5c34a27274e5306d6e6ed1375fbf444b731db928ea110401c9d81dd81741212f1f108c61f8c50f7d811e3a7b9f44f24ade8b23fb0eb3b17f9a2e5d799daeb26789a822b0808207f643c67968d8234ac25728edf07e1f6ceda39f7ed767e911f694fbf936ef454273bd162d654bf447df7d5a0afa50a33ae5f3e645a38e7db517f6168102f6d719fb4f3cf4387dee3d3fce676daaadcdedb6600f6703f2d467cf3962799ab8dc0f544709f67279a4aa1b26317df4ec7be9930f7d542239555c8a4374821d87e75e7986aeed6cd37c5bb1afd77537ec8375a67ccb6eb30c1ee24be4977ee417a82bb50595bcff3dfb4ed26a6b955ebef61adde4f747a70586c9419efa224f6399f28bb6db8a3de58961ffe0817be9671eff3c1d5c5d954b147af2f8bea3d4df19d2d75e798996e715fb90d6e02d61cf6bdd6187e4173ef4e7e99de71ea429cb3de8fcf7b381767af1145dbd79932edf5ed73122d8b25180fd501d14a4258b0ad84f68315aa02f3efc297af7b947797bc7a25c561617681feb832f3ffb475aefc2af9dee21f76f86fdb5db53fac87defa09f7adf67591f0e45563b7c87dc77f0021b43137ae506b0cff96c01fbdcb01fce605f55190d11516103e7a3a7df4d3ff1c8c745cf95d2635fd1a9fd27e9fb97bec3ceed062db20188bbae0a46a8bc99dc63b8e080d7b0bfd7a3bffe23ff11cdcff7344a949574fed0195a4996e9c5ab97687da7afd8c3a91b027b3da38a3d493467ca3f87a17476e924ebd2cfd2b1038768c84e02f6ebf0ca417ec682befef28b6cacb4b5e307a3add830d9baf4b6324c68fe3ffefce73e7eefd1939debeb5ba2d407f092618d226f071ae01283c57ab4c6ded153f73f497fe1c94fd1f1838768c49747bb958982c2d0bdb3874f53ce00fcc1b7bf2bd63f94f264d458c81e12f3cb5506278d3444d6c201bd35a6f79ebb487fe353bfc8c28ec9a21881dd96d4023a73de71fc7e5a4d97196c3e98ace0470cfe60ca9e1e94218645b1126df13a175a8bf4d889fbe967def713f4c4bd8fd09405498a3c51b1cd1fbc7f69858e2e1ca32f7deb6b34e483dd8e5a7c788a3a775b5a38b40c841de17bcc30c8e28cb6f862eaf1f7bff353ff059d39769c4f040c9396903ce52c75670f9ca4d36cfcc07382508ff83376c65867258a408a84f9335b698fee5939c69ec2c7e813ef783ff5f8204281c06b4651142206178fdc4bdf7ff5fbf49dd76f4857098c18efcc9859a72918188318eea5f53a2dbabe9ed32ffeb94fd14f3cf1140b2e7b49fcdec06b524ce8f0be83749af7a14b1dea23b43c51dc47b0f025070ac504ecbbac80f6d1472e3c4e7ff9839fa753878ef0c5b443195fd2c07fc29ef4e9b5e3d4e273f2a5679f97fa20b0088f478d90df15fb915d4cb7c7f4ae5367e83ffff42f4ad57fabd3a22e5f1eac76e40278f8f8455a4d1645d0619c00fb3e5f5050f0a0a99e16e0e1e94841de23c7eea5cfbfebe3f49ef30fb3d7a96c54b1b5bc2fcf2fd2f1c563f4c7cf7f93b659c1b5255a543486dc2eec2b0be102fb946f843ecb46ca97e3dffec9bf4e678e1e1785b2b8302f856e53be3dceac9da40bfb4f53c50a7a938d2659e758a311300026b934c3f31ecdd3a9d5a3f429f6bc3ecdf82f2dcf2bf618af8cf42a2fe8be2317e8d2e54bf4ecabd768a1dba5513f5763dfc3f6d3bb631fb3fb75757d4a3ffbfea7e88b1ffa144da35c8a0951f48a73b5d89da78bacf85bbc6fc05ee57e2a7b0b79c25ae18860a8dc4a67853e78e611fa0beff9241ddbbf8fbde52de99a439dc58405e3f0f21abf4f465f79ee053ed32d1919301e5677c73ed7818e827dcad86f8ce9c16327e9bffadc5f13722d29ca440126cb53bb93d10347ef6563e0209ffd09cb6b2ec6070ca51cb51a907bc63f4bba6c6c2cd23b8e5ea09f7ae2c7e8fd17dfc51e6c2105faed2c93303a3a934eaddc437ff4ec9fb20c8fa5b364d07f6bd8e3621a22cac1fbf25f7fe697e8de1367d8c8cb79bd2d89688d8b11637f8a2fd373c29bb2cdef0f59c23a2788e616baa7f03aa04b8f2f1fa1cf3efa51fadce33f22d80f267d31c2513c5fb07778f6e019bac686f8375fbecc17694f523f32366037f6813c619d5257c467faeacd297df1c90fd34f7ff8b3c41a4822cf88a2e47c46571697e8c2beb3d4cad990437abec6be10b99fc220e10b14fa69a5b74a1f3eff187de1b11fa50b274e4be411e708b54b23de9c23ab6b341f2fd0ef7ff319a93d4381e06858d505b16f86fd8dcd31dd7bf828fdadcfff67ace3f5d9e7e67a755de303acff4e2e1f13ecfb6ce0638d224f7646277c46a1f3e73b0b6cc49ea0cf3ef401fa283b37692f95676d4bc720d1c2dc1c9d5f3b475f7bee1becfc0ea49374d0cf9bf4d21ed823cd34117b81f525ea2b59a6ff9b9ff8abf4ce0b0fb0c69fc89d0fb92fe3828ead1ea6d34b272829214f135d271b516338e818b8881666d6c79d6c8e8e2c1ca09f78f84382fdbe7d2b7c4d4cc5e149a4dea76243e73c5db97299bef9d215c6be2b1197e1268bff951f8e611255bb12495114ed659884c648b2870192065f59f0d5b2ef6dfb73cb1e66ed7ffb1fffe6af7ee43d8f2e7ff7a557e8c51bafcb9750e16689e4c770d8ce1f3e4ef71d3f43079757a94c4bf1ea3454a711811df61011b140fbdc3ffeed7f45ffe42bbfc9872ba5162c4d961867588d83b646a13766402a5e362e89f73f703ffd9dbff44bb46f05a3aafbd20a86c801bccc69ae8c4219ff8f90ec95db37e8856bafd0c6705b0c0e67553dbe7a90ce1d3e41a70e1ea3ce5c8b76863bd2d581340fbe90ff1ff0016ff365fc27dffe06fdcfbff16bb43ed8a6b9163c13b6c0f3aa9effe2245452702ed4f31d5ee7880e2ccdd37fff737f9d3efcaec7e9f2adcb7cf85b3a3a1dd4f9bc86eded3eb56224a410525ea7ef5c7e892eddbea62440308ed0c2d6ead2bd474ed0b923a7244ab23dde91cea32207778b16fcc1c3c67bdcbeb5417fef5ffe03fa9397becb02d8e1cf82f13035ca78e35e710ae8482ffa31da1619a39ffbc4a7e9177ee4737cf80b295ec405adeb2439f0eb37aed35cbb270aeabb6cf1bfc8de7e02e65919815e083be4bd7c695c3c718ed656565911c09b9a8aa2ab588247bc67084de7bcb76847fdf5dff90dfa3fbff49b14f31a5a0c365259a551472741fbaa0c2b4c13f17450b3f2be8bf7d2dffed9bf4a6bfb5659490f045399468d10f264a2ed8d921a9bd2ebece53ffffa4bb4930f25520563139ed3a1a5557ae0e4193a79f088d41fc093d51931b1b4c7c25bc544d85e3a4fdff8eeb3f4f7fed53fa4f5615fda5ea77ca38fa7da9a5b635f39d11852628afdea428ffed6177e9e3ef1c4fb69bd7f5b72c63dbef0e0c5a106027b1ab347d462c3e0f2ad1b6c50be4497b76e29d993156777f867f7b32cdd73f0282db00736642f11539af5d229e4bd3636b7e48241b4e07ffa17ff80befcdd67688eb18f785386d20663fc3471136a16ec59d94f903ae273f4173ff271faa5cffc2cef039c8c29bf5e8734624f3736364501b7792ddb833e7ba557e8c59baf6b74092dcca586e521f7e70e9fa483ec69431917ec8cc839955a19e560c1a591b0dcffab2fff36fdda977e83f71ecf8f4b6f580f440cb187f6ca1265a8c39e3e76fe0cfd773ffb4b74fcf061fefbb65cce88da622ff05c8818f4d840eaf707f4eaf5cbf4fd1bafd1adc156cd2b81a2fca32bfb19fbf37c41ac51d2aa6884b3d16a4b35357051cf75c8ef334fcf7cef05fa5f7ee31ff139bac572df65ec47fc9ad9b94f85631f2384df610363c472cad87ff117e9e38fbf8f6e6edf14b9cf32a483a712b5131e1a9657c8ccb5dbebf4fc6bdfa7d736aeb3ac6436f8afa439be107146cf1e3a49cb8b0ba2e7a0bb84a42b4aa49666c4b288c835a2d5ffebbffe35fafde79f6623bdc3e7ea0db007ed7ca2d88ff879bff0c18fd0dff8cccf88d35449370d187f1941b66e2a99b83d145d3a60f9fdde954b7469f33a1bc6b9ca1dff0f8e9653fb0fd143a72fd2517660466c78a10019d162e8057c066aa886fcdcdd649efef557fe3dfdfddffa676cf296d4495afc0c43e1e948f690fb9674d5b4a45ee9fe13c7e89719fbfbce9ca51b5beb323ea022edb8c17461d495b149c50eee5875fed557e8667f43394aa43e32a77d6cb89d3f7c8cceb03eedb04333e6cd03f6389f5393c9317fef2473f4bd575ea6bff77fff437a69fd06ebbd2eefc94852d76f883daf0169cabff9f99fa6cf7ee829be7336c5d3c67d22c5cebcf9c005a9fb2eeb89abeb37e50e7df5d635e9242252467536e7e8dea37c37ed3b4487d7d6649d48f163682bceb6d6fbc4121947e1eedfff77bf4ebffdec57593774687abbdab8faa7e3ff92dfec9addf313fb1a930e469ed877ffca83afbb1931d51e860b7444f5ff0bc3e4d7fef7fff6571f7fe7bdcb37d737f9d0644636954ae8d289a0a4d52a2e45c175bb1db9ec07bc992d56225837523f28a24488bd9b76e9f79ffe2afdf32ffd2e1ffa2b7ab8e2c80631e59652c9c48b440bf2a1d515faf1f73e493ffdd48f51778e2dd9515f845e5aaed2448a9f709996c63a8a70233cb30c87179d05148b659cd8bc8c5c5c46528560ec5950cac8490ef9808ff9fd76fa4359e7abbcbe5fff9dff87befebdefb187dbd72e3c90c81513ebb5cf8ce9af924be45df79ea1bff2a9cfd183e7eea5adf1a6bc0ede5dcac22863e859004663e5494141694aca3e98f27e0adb2a2e0f5e17daa1a7fcbb58abb44247caf84a36576180bc2f3c99218aa4224905fdf3fff0bbf4ef9ffe3a7b985b722166b0d641f0255d1d0a3fbcb3362bcbf3c78ed25ff8d8c7e8a927decb5efd500c09d9cf38112100cb242ec01b37afc8bff73af3fc90207d4a65ef0be9cbcf85472465a104f3228c51215d12fe8352701c8d46a2eca050fbec89807ced4f9e7f9efecdd7beca97f21551b2a971ead7d8a72d2bae233acc86c827defd4efa4b3ffa495ae0cb799433b6bc1fcaf65adad875be5c860831f7f982efc8858dfd6d25a912d961b22fbab56482672ae15b5c16bd6e973d22ec6f26b8e04c0f79bd5b5bfc3e654aaf5ebd42ffe2cbbf4b5f75ec71b1e0396bec5bd23d838191f37ce61fbd709e7ee1c73e498f5cb8405ba3be3c138e3564a02e7c63e504231dcf37d7ed89b26a838d2b8a8d31b565f3362ac17eca6ed91c9fab6eaf2bd8e3ace37c42e1e3ac225a8590f0bffcd26fd36f7efd8fe9cafa6d219ccb84f02a6fb0e74b0d463564f6ccd1c3f4931ffa10fdf8fb3e24457945a523df71e1a383426b890ada62e347b2acbcb676da129902599cb06662743b8c53a96cb5e9ae89b6e3c3bb2bcad28c9c89187b48572cb617e98f9ffb16fd5f7ff0fbf402630f659d4a4791624ff21e5a8702ecd75697e9a9c71ea7bffc639fa2c5c51e8d8ba99cbdc8983d65243c2278ac572293f529af7dbe372f3251d844e7d8a80baa58239660d512423de05728cb11740674142ea86edaa32b376ed03ffdbddfa43ffece77687d6b4b95e89e725f4af4f7e1b3a7e9af7ee6f3f48e73e769832fc696453774e86224b855953a27582fbc6cec67541957459c085690c338035663213843344709f762d193959c819cb6770662e0e2fdffcd577e8ffedd9ffc311bba1b6210a6c2be3d95c24ae16c41ca905f071d73ead01afde4873f449f7aff8785ed10c6a1a499b3541c4dac0def399e1472c6f033fc5e3bcdc4b88701a3046bca3e56496b8af2ada010155117d4f2143256236559da963aaa05d61f7ff8cd6fd03ff9fddfa2e72fbd2645d589f0e0409ea677e8fc03cb4bf4e7def930fdccc73f49fbf91c4ca3428c6e3c1ff61585d9b8a8b127a24f4b8d7ab6f8790ba46aa34af5349fbf313b1570a63a735d6b6b27d131a530f1ea73e21c40ae505375e3d66dfa27bff75bf4e5e79ea35b5b3b72dfc10829a44845f984f0bb305681fd23674fd1cf7ff253f4d8c58b349c8e74d061a44317b5f53a91742dbe84e9993f0bce21b650cf48a15c4570f41893929f351622c8b6f073adb0230e3d0a5d0f437e8bb147c724f0ffcdaf7e85feedd7bf4c2fbf787d63fdd9e1dbcb30f967ffe8577ef5fdef7968f9cab55b2218b088115910ebb8282c749748d19f84820bdd58b990c5bb578f04071edfd1da8950f18df55bf4fbdf789abef5fd97e9d2b59bb4beb929163a6676accc2fd1dad20a9d3f71989e7af2717ae8dc391a4c87c6e9a00fdd692bfb9578f846338c5d44de1617a1b40f0a1578a934eee86b37c6422856081dd659e47a214a3b17ff2f86c9ce50bc7d7838b890befadcb3f4b5ef7c975eba7a8395d6ba789108ab8198e9d0ca3e3a79f8203df9e0057affa38f50bbd761cf842f5c7477403908ef43aa5337a158a66a48c575ebb2f4aa8922d511001a56c5f627b2875ad28e140e845ddaa2f9b9a55b660a25d597ba8ab9f63cbd70e912fdced7be462f5dbece96f906dddadca0095f1e5d5694fb1796e9f8c183f4c0e9e3f4e90f7f80d6f6afd23574b4b01104011316c724112180770683e8e6cd6b36da3e9175266c60258842145ab00b6586a22f9f042a3c2d127931ba227ecde6605b8d29ab4b599e9ba7eb37d7e977befa343d77e92a5dbdbd4d376e33f6ac40408084d6d5c3abfbe8dc8943f4d1c71fa6c7eebfc89ee3482e39b49dca67220a054a71de5728268912b16112f1fa22fe371493c9945c09a7466288e0e0741151aa4a6933edb6daf2efa2bc4b8d14e00241240a7bda6383817784befe9d17d898fa0e7dfff255ba7e7b8bb6063be2d9cdb361b3b6b44a27d6f6d3930f5fa40f3efaa8783745a4978370ab20ba5029c64a6ca797142e42ac413d45e581f0d70a8d3f3ca8cce7a003fb4eadeca4881b616b2854b1abf9b9d873fbdea557e9f79efe53fe7e85aedcbccd17ea268d79cf90eedcc7f27474df3e7af4e259fad8bb1fa3c307f609b78ad0ca4bb949240608c2ed389bd8df4d96477c0e0c37ac0f1768615ce7b8c8c828e16148abbc2b9f4c6aae250c273c0f1c941d364ce041f758663737b7e9cbdffe367df37b2fd1e59b1bbca7b745eec1ef00bd706879952e9c3a461f7bcf3be99df7dec7def8588c5bc8303e0bfa074e8592cbc5b29f380342fb4eeaacc0fb877195242a3b586f6233057006a043f06c304ad0e20c9984dec0fb8ce4826a89c3f0f4775fa03f7af6397af1b56b2c4fb7649c3d2203f36c541e585ca193870ed07bde711f7d48b0cf64ad6d3e57d8d7b6396595745d68abaa14f1327e13c9bbc4ea405894548c48a36e751d0027cf759b1674171a251c8d458fc230eaa66dba74fd3afdc137be49cfbd7c89b1bf25c614a262707020f747d8c087dcffc87bdf4d270e1fa2ade18e60ed6cc8e2fc50257a535a567314b84ec4c01202c65c6bf02a31f674bc82d2a4b7341a2d7bacf7807470e2bc23358d166d7ec69dedbeb48e23d2f7bbec943cf3e22bf43a9fd1eb6c04f4d9384237cc726f81d69657e8cc9183f4d177bf83de79f13ee18041a8a2d7ed892c631d7a1ecdd007c6acabf067845c24a2c1ced8980d04dc0fa5505740eec1af3216c2c82ecb6d9bdf6f3ad52e532d8ecf25b2d447374ca5a4a04fbff002fdc133dfa6175fbf41d7d8e8db04f6118c912e1d5c5c16b97fd78593f489f73d490b4b4bac17fa621809c330f601c48fd0fdbcbed1642c9159e82438a0c249556a478e125f6a1bbb387afcfa8c318da29cfaa32d5a5c3a20cfa559875c8c46e8379cfd161b28b7fbb7e8d7ffcdef6efcfdffe3dfbdbd0c937ff98fff875ffdc0930f49c44443fc13d96c2504325aea442d6e2807ac13c29965aa3c6041431061248cc468989a275b4904063f7bf5ca35ba7ce3a609652cf512278f1ca2d5a50521eb1a33b060699c9b9b63053292d774bb3df95d011a3967e154985a1165d9b08afa1a53ad0a930d416e19f529a52a0ee4987179c0e7f3838a2f098d92321942705fbb7e93057f5d5e03531a8af6085ff0278eae8942de190ea86511a38abdabb82c25949f4b3e752ac23c318f371686519f41918a458c68065e830ba02a73334c743604d617c91c8b5272d7aa4448aabc6148b559a9cb2c165e37222aaf5dbfc18a74209840a11f585ea6b3acf0db99b63fe1991172d429a17a11b6910ec06935a5be797b5d3d61162444243aecf940fc610838e9109e1578633fd095204a17135b8571b2102f759c2be6f0f6fa7ce917fc3d4b32b9ece0e95de3b385f6be588cbd1e9d3b798c0da71569fd83c02a9912892287b245885c841a8629ff1b983207fd6d4a5b5dfeea283e4ec11da9e70e8325b3b49e78d0850ece42770c8c043c3fa24008bb4b9a0c46f6a414724078f497aebe4a37b6f82c17ca3d005ff4d8da213a79f4b05c20e80a8047bdb030a78659ac55739919e79afe29955135d2fd174e13792723262432033f96cfd4e15eb1451e4b390b58afb41bc350900b8f687b7b4730e8f0fedfbcbd2197d326ef33f60f7529075696e8f8da415ae5efe0c241340ee7526638494421d56e04d2e26d8d58e5d6721c69da2e503fa9e5b3f00c2df1b6d560c633e042c659c55e421923d58af30e5d80b5c3336c67ca2e7b7d6353d60a4f194627e4fed4f1c3b4b66f455e8f06e5d4c2f22d8f7a1a6d6692a8aa933661440a12255994965cc6423aa4cc79726316e74759891371484623961b96613cbb180ce6814b148ebff7daba472fbff63a1b509b7cd96bf1318cf1e36b07e804eb289cff31ce3c9f338930645a03838b1c6bd2f10785e8a84452dbdad63cb57527e669e97807d5a9883e7874d4cf40654e1840810e99c82535956869876506a9d17536f25ebb7245eac186bc26445cd65657e8041b5088ea4d11e9449d46af276b830ec145adf84dd4508f744613f09be6d35a89c2f02a728de0c279c1eb9657f6cb5ee3593add8e71be68142ab7cb1e728ff4359e017b8c22587cee6536f46ef1b92d6d84c8d25c8f1dbc3596ff442284304a60582cb21110d9f4c5ca884f12db4b9c7fac630047516243a42dcd54d4b224230858fe4b4ba577f98cc5127129e4244d258dab2917ec27ce2b9eb995b44406aef2f9c43995744c059ddfe2f3b94ca70e1d843b4911cb5d94aa0c204aefa9dea90cf54a6a0e17390712d92fe48c216287b32272c4fb879f2fccf7f4d6e527994e07fc6f63ca3a8b966ad34269b407a161a11263654087f62fd3d3dff8fec64ffec27ffff6324cfeed3ffdbbbffa81f73eb47c6ba32f97789f2fc29614e1a9204666fdc5917b09a5e5ec0b09b9499aa4c8ad25165c13b95479eb1833de2508075f88a2b018f4587272231576fe0f4a1fcab3635ebd4f94c5fb461275286ccc75259f29110a287609f54ee570fa56e1dfa260d013a2287806280ae115817192c4728142f80b09b3a96783706854a9b2130f2cd6b560adf83c09871a6b228c1eb4f2e5ece943f1e8ec0a4d95203f0e05e034d37ac15a0a8595af84fe650f35b523860af28bc6d12e4564689d8657421ece86d0a8e72514edfc799202e075889791a652242cc449a863e8b4ece2aea45e448c9d56bbeea9c78509011e4b1dc05414a5e2d9566f0a4a03a1678481d34c8d2722533e1309bb22f43d186a41adeeaf468a7006caa2a879003425975a0a48f76922cf5b4961ab1867495c8f1780b78cbff93a118d42ee7934441d4e870dc39e60054fb8aa0ab9e0b19791ed5b6c35259944b11477183ae46708c69085f8c70328e0b63c475ef46965f98018e51aa903355f24e7145e148ab1331b6a28174e9ad406b15f30588018c1d342b01763334ac50b7419f2f32bc60c8c8638b1d1edca0c8acbc28da9f1686cbc0fca4027d1b44ad38112018995d40e352cb84cf0d938bff084536319d68bb192b4ac2afb42da5993b86572548a87171967864426229bed211ea11ab5787ffc2e227be281da7975ce133825e23020da87684559d5c5f138d3e0cc01e6d34a71851139cf8e48552ac783b326b7ad00b8b034492229bb52f4083e4b0dbba4f646b11621661403bdad0667a9cf346467007a05c6cd88ff0c2fda27e8e2bcaa015988dc43377974509857790df084717e61fcb53b6a4ce07f31d4ad76b0b44869653794e2995a7d83a66732abcb218baaa52896373af87c9a37f35f628df0aaa11bcbefc04099caef46eaccc018853eadd46940ba114e0ff6b1c7973ff6552324b1186670f0b01ec80a1c4067c9c69ec8d0516351251b409758c444ea025b9d7a789f0e9b6bcbbe423fe8992e245236c9b5cb05062ace2fce2b7087dcc43e9dd80ad087a3be18bbaaf73149ba233a47f421796426ada3e1902d44b75391b1426a0111b5561245f39ef2dc6428b1347a41a50d2af181253827eecc4a344a225b53899cf5782da9d56039e928f4dc743aa685c525eab0ae95f94d3084ca5c9e1b67364a740fdcf8803336b5685e663a536abb64f48816b8e21e44c1ee70b4c5cfc077636f49759d454ba54102065ea2cec0be9579fadd2f3dbdf1d37fe5effe500c931f1e1b3e660748b16121c02ecceb9c125158516c9326e33a4582c24c893e58285b0f546434d791d43ec41dbd0824070bff44f294245632de0397280e2784dd73daa0f6ad4aad2dc07a54a96ba19c086c595a98518975e6e6e645d940618a2286321869715e2679f0c23a714ab18ce141687a2091025e14340a6193e1201e6aae5ec4709c6ba85d8cb3448c092f0ab44983721013f3e0f09e12de8c4b51169185e553a30e844244b57961243b3acc29b58af0a29e32e9a91dbc1714250a4d139f6911ebec07183752ef01819d4c6c44782c45a0504a4e31ad5336957b410fbd2a7678506aa0e89ea820a89189af38d690b37b78502af85e8801a046a2283a78d3a2f022b9cc65261d1b0bb806e1654148b39e5e6255a26901e5b9d04b08cfafa1585558f548be5269bec43b46bb327f0e8aff8aa2a567c7949560115575ea0f0f0b258cf398576aa0e072d7b5ab5130352ad224b6f30c0333e94a587587bdb2a944b1c8a27689e4c55b51a6ada1364f234dc9e8da2b33e6f4332642ae94cb674a14ad50e557d52c9e8d11e3293dad8f71235cbfbba12991ac4ebb1eb731cd0b4bbba91104d53b2df48ccb2c2344197bf312c592c9ba5962672a3683de860eda0c16ec9dc84c3ed50b4e9833f37a706364964a114cbdce733544c8663ce99c17fd1c9c5789c288de68cbc522f5056039963a93a9c8b74c244f5a86b6d65db4e3563d40b0aa9ad94d928a8875fd55e553bc1395a13a12616d8d665ce566e4a3c307936ac59026ab91b1e811d23ac0140606a2535e2b32ca2786b146d87436980e06c4c7f4d89002e70f0c3bafd9c1fb4b01bce1228e46a1fbe8519cc408525233b21473d51d71125b2ab092d4b244025a3ac131b141a092da92593c3a1d7b6263c5d13a0d5ce6e6ba729652e1406a5b8d5624b2ae6bb1e183696a4694cab8ce25d33a17d11f592a6b8181067d98daebc90cdac86a46128b60e7661c42e7835cb02ab33a658c0b1a352e785dc7d691b00e9b67bd5d48343712f23c5cc0d2721f9319e7cdb4e34a74b73ac8520334ad64af614cc061ae4c17a0c51cf2d76e7779ed6d1d022a8e81a6a4218b683f2f2b4d67c160cef8e7122592a8241bd6b8d3224f63b56961a147d37122aff554b64409236d39725ce1748f2df28efd75a3b4143d9358e49a44af46526f982855bd38a713c1359294e558f4af0ca3e0b5e1ec60efbae0b4ea75de8643fceab059a364e1f5cb54cf965e861e421db2f2160f8237cbc78bebf039ed50c621d3f09a7a4d3048c41ab5906b917a8e38d6d0ade5abeb8bc60c1c5f0b59e575551b4289b2a6a2c80cc5429663cc4ce143394a6e0fb971b4de9942f3ca77c9b78a32ced5e3958a354d43007c61becdb5e308868d2abbc8841e45a03af304870bb33dc416c6e79940e1336251b2b1797385099959ff716ca99b525232fe77adef48c41392f7a8bb67e2ba6e06e14f8988c8a59dd6d4da32a84e2ea1a80e0993293c1d1150d5979ea711449811558020c07be4bdc4f345760baa422aeb09a3783d8adc628b1615ac8c63f3bcc4fb6db5f5390aed0b2ccb960c2494f38450bd190f8800483aa09559ea22a98756e9c537ad0d0f317211ed32b6540f89c7c617efa3c0d5711f8b11e14a2d8ea3dafb692e4ef5a6e55cda7ec4ed58bb46f29895fba2cde2c094db8e79b078cfb6eeafe4c0155ffc3db7c2dad48c25972344e3aab4b449b0a51a5db8e8ab660a763d0ca2d254554ba221533bbb85616e73a092c4ce242e663578fcd92462694691b7c4ebb468adff51856a694ebc77a1110db9182d1aa28585da4a5ab93362112037baf533553b1745532b45c66ca9461cd218a5a5fba67ae1505b9e2791b41ed9a5db4498d470cab4fe613ab6fa16ab2f318344a38f30bab498558f77d5d4ec24716db07a4acdcf78383fcd53666aa4a416fd20a524309d813f8bd1874b989ada15373a1181a84a4db9f9a5ed7a468dc9c41c35aa9d8dcce67c1563d53f9ab251e309f2de3800a5bd8fa630d0322e05f1d28da0ce4e9527d2cf2a9d3328ee2c5457b5c4a0d089baf9b4a8f5a816682a36904be894c466e1e067c00a17bde81f44ebeafa88aa36b26a833b49ac05bc316c7c5c861d3371345ba59f1b70d164b52353565adc8f67c2fda2e7a831467d3f7d7dce908df301032247e41346a51da4963b76885ed81453310ee3ca88e7a2fafe8893d8987235ede7b52cf84c44a0abaa89d2cb9fa5968af7b0ad03f6e4ee89d39a82b5b408526344a9a1a9d147a3a62823c1178eb3343e54960b90068d89384f69da91a88c3aa4da5490982c6599dea930a03aedf6dbcf30f1d0b20bb70b9b08b92908099dfb8861543a0fd433443858c2cfd35c0450473a6ba1a7842a538d00b8c7828973b8ec47d15815bb09380ebf87d2bc2323f13c37a6615600593d2209fb03c0586b10b09ee9b85fe77c93d88d9b8955c34796672cec59f23afd232142fc0e184b917fb543258aba548e62f1ba232d008cc1eb82a9b0a9b649e33d505f515fcc39cd28180f7567c288aa4a04751e13f6245233123c8ce7afad2a4f4734c6191e5c6a3bd08dd252c34f8752553a1b47f2f489e086165decb7783d5613e41734300d95a91889f010d8a013c34768bf9b023857604d1ebc616f8cac053e924b75629ebc2ac2163f635b66dca06891bdd35657e3865962f52ea960e48a52f72b964bdff7a3b40819b09a208d90a358afa78567884458f16b66f3cc3d2ae4bf87f7c7f3b8e2f79fe1bf5eaf67e734b77dc0e7ccc9b912bc4ca182b40d6920c427605c655923236ec4fbdee87986b1adb521881348f7801537fbef795d912b7b7f1f8fecb861ef6b8de3b44ef9c9f9895a1a6ab602704d95746a0fcd6b75f482d3089dee71a52da932a91b975e4fceb4d662351796afd1f70e4ada0951b5d05c2f2bfdb946c29cb3a423bc1e91cd01d14b388d326da5cd22e9fa428742627ba234e3535947a7f63c9b5119e8ea40a75455806767245844949a613db5285f8343dd5164ba44f7353527612a058b88aab913e11d4691f2ef6914d3a2899175fb4811a2a5b6dd18d7111d63d31769bd86d28c167570c656dba0753e5257620628e44f8dfdc94c9d899f7b8d3ac4f573a09641a2b24221a8bf87945a59684498cc588033a0c66729110544c1107186ce190d762c35df4468741f1ae709e7556ab1723d3fb8545dc6fd3c36468a9e6d3c2f5ab17116a173fcbdd551d2d436e4ab95a88e6db575b239a240303826467d5096cd3e34066633f15ef741ebc6b4c87cd21806960e4d5b99b5a997122df2e9e85a27191a645a67853d94e8bcd1dacb9d654d15b9c80974416cf23db5593b9eee2aeb5a225f7764f886e95a357422d1392ed79206923b171983a9a4b2ea82f3c2a2a95521113b314e7f88c3727e688649692d823890ee1d782ed70f4454696e164918b1762365794431a31f6c5766a51575e2e0e13d64ccb6d57fc8544584aa8c8f586794357c2f8d824f2d548e0841216902b47e828910793d907fa5594f5be6e081c58d528d23cda7631d05bc402820303446131b88d0526e0dc97b2bb7732a61e9a416baa25425affb3195163f782792d6b0fca71c1ebbecf06c49b076bc6d610610c28be860d0ce1dcdf38ae1645e937b145250e89f6f178b1600ea852294ed911e769d06aa39f4c6c0b4ee0f138acabcf3da0bb03fbbf078142bb5b02c9490ffbcf1d21bef00cad90bfac4708331996a8ebb083c8e8c2f22e49ad5ab6959f75626cf0d45a0f54950fc591d8d49acf5d7cf616e7976092b5ba1b53361b9e1125b97092e5551fa86971b787e9ec20bcb2f5318297e81e1e8494754a463d1a7415d405591915e4d24ec8ae7c01946319e5f28aeb4fdb3943747152b0a2f239b60e6d12a69b3b573833df5cbc1a343524f4254af1b215e1f43afce83161e4ace5aa2249945824656dcca67b65e4f522b4c49e9949a8b87d21e4f2acbbb977504c46b2224056197a49f8330da161a667a26dc288ba488cf65c7a31591789b3a9cacb491c91ee1f434181866c30b1e0e87d299e7ba2eab5149e2caf63bda7589a9119b597b7868dcf95e7af1a91a36954d4c8e35452a7548ca0b8275b42c9d52d91c85c20c3c4f5ff9677a8babe3e8320dec2592051cac60d4653ddc6f7798fcfd3d9ae9bad03f477e067e0e36d02a1bf486a184f93837032196bd1782463422a055dfce145293fe7eb19d5997b3708f3cd588a88268ea4a750a747e18c17663a5d987a84e953bee5ea9e0671c21f69615a0b7ada60d86686844623f5cff49840b3a27d7c251893a155a5398db1e4741cd16d61859ba2c4aa3a6ab8cb109a33e492d0f497d8ec0bde245d61a31e6d7487ab332066d7346e2c458ac7331b0bce0d9758e3ae04dad8a9f09df43c751eb555a222f6549e6106aea5f525f8ce1c45a93bd28fc6d679834d5e2b31e2636125e8c0088ae07442600302bca6c61d18c80582e610fabba055b590b6f5596f541a8acb6423d0a1688b829f87261540f12b9c48128e324ed50dcddcf02382fb3bd63f66a93748e0f128a95dad65e9c6a68df2b786c08877648a05a7bc086151fda699f0fda80aae9163fc3064b987266a0051515d61002f5da3502246467e23967753e5673f4a48555516482a05e41db04d053275290871c7ba442978a22d0b490870e296ad2155ea9ef0aca8d038d5ea1cdba63ef9bd5b51fdd3a779b4861988791fd52f1cbc4bd18f11c4c2115e625d45d22e6ed1541cd4b593606a317044ae5b5a566bc78583e432e39745399329c8cad18515beb5aadcc72ff6d33b02675285e233865ed05792441942608a2c0d331d2b06d6c0a14fc0b307247781f49b3543397906092b5b543a32e9ad60239df5bfff7c8a23d4dca4b8710c1181165999291e359cbaad598e8b9278b38a4763191195c306a474aaad6e9aa676e750793496403ef8adaa87185ef17aab46b26c6d513557518bd2c8b3abd4756cfd3180cca11e2061005918ed42f8c588b1431cf495206f954ce911b855eb459d73d21f5697ff7ba0e8faecc1abea406bd28eac29e2115031ca93f186850e62535d1308d1a4ceb565fec01d6a2458213bc214d860399b49c092f8d46c8f0720d973791463f3345507fe2179eaf39fc37e561999a4396d52dfe30961c534f09c3e8f3b6705fa347955de6dd80f7f7cface0d9f7df53751e111b8b4cb4eaf5bad12fade3016e2e83f574de58cf1f52007544952a4b2f1666f45bc1399e8bccf8892a4bb944b6775adb50197f881b10ea0c6492f26c777a3306745555758d5a987eaa3bd22c3dd5b4d057161dd51a35af6d83b3e1e733c44af6d1ee11c728aaa25ae7e453ab09b4dc91d77475ac534cb859805f5959d17b36b3a748a95416f16eb5f477dc78f406078ffa8202bf987a7a53eb7e3274cc1453a9f7aa2c0a1746f9c1801e1aa99e8e4d2d1a224e6e9cd7e75dcae4ec59db2d9de184687032d1bacac639a7b7a761120ab303ea215b80050b0eeda41354cf23446673dcc30bd4ad5db70a436fc0bded2627e785b3dab6db06f1505c58b5f702459d636c84ac50d6d94f597b81123648349f6e23be637a4b6039cb6c51fad4dd5c8c9ee9788bc6836b548cd6d950d9e07feff3e12b24bc3d159e07f666bc7d8f74b8605dc05c626e83727d80f3635ae4564fa029025cb8e87671ef03b973507b4b7ba05caa2d31cca41014f519a4024676092481155e4fa6142e16f54ac388401dae2f8b190f22ec5eaadb163dd71c743cf9e7b847ec8216466160d9e3dfa7c8c5ea0bebdc7564851eb9184724e147f1cea0e091f79e6a7f7fc6ca42c3a75acf13c59a4b9554944514d46048eb8a6c0f2d236503464974738042beaa8cedb6d4285e8bcf661f1c04d49c3bf58cb43602645cc229226ca6b9759af84486b0d0cebb2c4a334aa6f5658fb034f01ce379503961e9009f6aebcfa005aeb119b2a5297e6db1c4fe85754fe1e58efdf5548d6299d6ca5f8b4a3575e0b2ea1c1a1ea1f34b4326c29a9c39b61a61e3cf326a763cde64ca6b2e26a29cdd0074c35594bc7bfeda2ea869d65db9750f59d7ce881b2792d34f2cda33a90904b580775a2b697f0e3710fdf2801180103fea1550d35648ed42578cded438245c7784b5685150a713a6884363412e0fdb4737c63c3aa1f532519056ab662ecdd058f667f73df7cf77d90a5f339d4eeb68b44701c348a4cbab174dea3354d61b5289f1ad435ccc18463a66aa5168ecc3fcfc9c18c0d0335a3356d8de66b55ed094552e8479388b28510731591cb4e68669db4226ce63665131637835757ec54ca4c57fd7f58a501dd8df7d3f71c5f9ef873a682625632997a4d552f65feb1a3256429163df177564f973732588d7c82fa8f907e2e4b961afcfa4a468a2732a3786a23af2ed35395ab0adf2aa916076dc2ce20595312dd429803eebf7fb42c6e6186b1d573593cad1c686520a5d6b7d46d14c9d993baa522b936b8796a474138d08eb1ca8b7612a07804d27d35a40c3f0377e088f2c470e1e2438d6e1d1c91aabd8533e75382b38ecee21b807e6614e17ce5686f6b8b13e7e769015fe01fe9c43d4eaad6a557cd25005ef6d7998a7b2bb6ec672e3925e709a7161c1e6cfe92e32d08b0cf83129541cf56fd0a47f952683cb940fc102895c625b3c5ef54a233f42e2c9e518c33d8ea4af7f6afde96ed992b4998da5bb01060e2e75a16f8707995b511a5e251e4d66215e1508bcc615605863a18aba2da92058eb95d553c4bbf811c23498ffcc53224e58864ea2c2520fae28fd926b8a4e67a35f9155a04b74084689b5c61552bd1f4b3a4fd83d4b6d10c71342b1295dbe922651d6b214465e9f3928fe6e67be166cfdece6dc780790b08d82febbd392907b66d1a2482e4b6ddb939ab248d31aaedcd14e5d4c2365bbc4efe10ca3b0b59519bf44d4d04f277ee68bda9bd5544162c598c68313eb4152bcd4d885b7ad69bbd40c91a236f09043d629d816b22eb5938682425e57d0a1c7ed179e5f001e72f7da289721c7da0d9696d0a467b553107a7360e394ae0cf0f674e6ea9fa775a7465577104941aff51556d6e65c989cb921e0e7a5ae5dc26bad6dd36b4440a6984b11792ae31542e36662a9c0f0a273a318edaf9899d3995ba031bc6bb068665da95df18bde5feb7acbdf2b8cf8863ac93fcfa31461fac28d51df5fdfffb6151dbaf1e7ef9d5b5bbe1b9a6e58848e4168acb88118ca297e86546cab6e8f2e82c25dd338552ef60868f3516b83f410d2c26a99e71a792e73ebb8cbb5e60ae9ac9645a5c5f0cf7434032939987270eb3a7dc46f98ba75e310adc7c2db5b1633cfd31498c7f539d86d64e3bd60687a8469776ac35385b385ca55cd8d41465c27edf5922ed668833872528caadd9eb8b5637b7d21d113d13e756ad10d4439937129c66daf3b2ffba2fb15c9fe68e75a5917e4c211015f15f88070eac15f22c5e4a9a6f9c5e0b354a2cb1b9e136ccff8b33b47302e40c18fc8fc34d7a6867257d48e8cbb4a0d66a59cd0c88d76142532b6257efb19260034935cefb056824d88d08aa248a62a699f360b0bac45f738a4b829b08cf5029ace74fbb832a9b93a50f35182b468893a4ba729ee1e65af683f7bbf5db11d9278771d8c322222a48cb4c054089ea6c6505acc58946e9428ad762a2dadb8505bedb6b500664a90851928dd940fd3619aae1c664fff3e1aee5ca7f1ce2b6c785c6625bbcdafed0a7786ec53155b7b5a5c7b637ee923d283bfa38559d20595b16c5af8b2dd8a2d579d88d72da3c95b5ad428e472a2545b5ac11d78bcae44f16fbd5647de73622dd789a590c208952b0e57244d38319a2976f6d7794426540efe7eca8d502249ac97aab17e16de3a2ad18c425845f542ce2d6f9a88b152178bc55a442c461c3c0169bfd3aa7d257d2aeb6e2a37c2f492f1b5a452e3017e14143e26bd7931fea4f329b18bd3888e7c3f94f7625a7bce75fd92cd34f29a0b4c2816ce17bb38e091c7d61eaae9abc842bd950c95233394ea7a03899ac533c684e68dcb3ac7ad2da1c91d06df34302cfcf20c95bba7d876a7245cd986d1cab0bb2e34583c82101a2f2293416d8c9fb35c2bb785b63f4c7b849ebea75d3592d3aecfa693b29554d5178cb4c7dbb8dbc6e86b3aa63ce4ed918fd0c1d1764a3d37d0391814391002c04ecd041da668c2b45c68d4853ac7cf421dc93443258c0684d127dfbbd0f80f8b3fddc0f0cfafdbd8cdd8095337be1edfd77abf83ee9dd02154ef1a9d8a7a16134b410e87c39ae91ad39161e80b1f118d6bc30cce569a56e2f449c720e5c6991435111f617d553e259d4b54d675271e39456ab6db6bcb74f1301ae2f5265e13e2f215ca40a863c2c2d09a47c93eaf6e0e08d25b91456feba82e22ad962242194155059d8e95a799624b9de736d2986c44c0b43ec3620224ba8795d595b90ed792054fcf1ab653d5e9d039ed5624fb9ab93c5a54ce0d6c3f032ed3b9450d654d4293a069c2caba025b7373755aab6ecd278f9e91a537494a1fa8a61b78bb75e52489f5f847331e845fbab02895384babe01106471d4158b85906c5487e10424b595f5369e8bf1ccab0a274ee5eea2e9fa5766f9fa44eb274363202230487683818f00532508a76b34cfde275d6422daeb2da566b11f06233bf685329446d4b4f3dbe9076690b7d353c699216d15eef048d968ed178b04e838defd264e7253ea01bfcfa85ba5ea624b5965174e6d6b83ffb783caa89e7b40e2035cb5d49ad90c6c18c84c82cf0ba0d4d5268e35a20c3c8892b57cf37bb8798d9f3608ffc39670dca2808a336856864ccaf9e2b7792aadd17a7d451089f4d250467508cf016444918291c0ab492340b3a2970897b7bf85453005698ac6cba1a962cc488023573470c0399ce6be7cd15952b77353abc852fad7f8e215f521b69e153745b345d0d4a9057d770808a7f38b294616cc5af9945185a41e1b1918ec97de45e388aab2ba1c2f659316e70fa451d7a4dc8f5bbd252efb05d3f4bd3523c7b8edd8bac09cb82ce072da26dcf5c5ef5403e3360fcc274cfcbcf87b4435a51acd706b8011bd609d445bcbb0a86e3e0f9fcdc78cb7098fe75ae95b0b8533b932c2c9e6bda320d2e9cf0775d9987b50e3237a8f0c2ce564d2310466343efdd0dbab0d03b8c2c86edc455cd5d54d4e7c5d3d8a11123c3432dbae197b34755c2e2d5ddb55c612a0df2095d13ea433f0bae3b43fde9c4716ec0c148e313111871a5f2c098a1892ebcaa6e9fd5765c398f7cc6813da66e4b6799cc8eb1dab834b6eea3e94c04c9cf4318450d8dae96a5483c1a15e218623153cc1b3a2656171746b2dcc8d0f1121a55abb96cc8d2a5b6a629f4eb54c92bc348141a0cd244a33b521f669d6c8e3ff60cd18f34560e1d9735d799614ad0cfb574b9b943e1fc51412793d6d3f4243de932121b467e0fe2ce92167432a329d65964c2f0ccf7419e6bcacd799124221ba7c62c6c864b14cfa4dcdf368689587da3712d20aef89af6d5c68af7830ad6beddad6ebb8b989a9f19f1d164470c926cfe34cdedbb877af30765f64816ec39a22088c6f4b7b7a9bfb3235c2593a912b8497169acac960276a9b95708891e80cce8b733799d7ec562cca0421d030687fd01af695d43ba6c9480027f6e6141be7785dd8fa8d741ebe201eacc1da09dcd93b4b3fe2c0dfa97515a41b185c04742c095d6dea4774740093546585417478af58eb6dcd888d5c80a6ccd92860123f3146c885828f0bb9568186a0ebd4cff37170cc724ccffd6856a962b75ef5a8c9fc22fa8ca0a35c9f29f89719e94566513cd18b58eb5739fe825ef698842222908a36ae128d904e5c4c616e4d242eacacf3d562fe27505a7d4eadac994275af0a6f50c45434b1e846ee195803fa7321cf03d6b2979910ff4935665a3b476a229ac6b389c34512789044121dbb4e55273fd4e1f9e06dd19cab8dba909a894f049bdb9b016240c7d87a9cdb05db766a03447c12313ed76fb8ed48f63ea9136191c669ea9bf6728cb7e01d6e459c145505984208cae85059c6a38d8a4d82a346c4a51d092619858440a06252263628c6812d38d97f079c29450534c1905e7dcbb06db7574b6e9fe886abde57fdf1ddda882624a6152b51a3a9787b0cec33fb32efeb533b93bea18e2e97be3dfbd60ddd7e0321ad68ded36487677bb786a499fb5b0a89d1b32d3baa641a3845af009ce24e9d6ab1b1094e5b893c4c63c6bfb61b52995511278375c68087b5d951b8be179935a2babd3f175875192ddce51117499c93c1c3302526bd925a3a15006d552f86e4aa32b90b38f3d1283c5709c69058febb3a4edbbb9bd0f2810621b6392dbd03f4da582049382fac1cc66f3c87c36a9a51c691a32b31a2710258a81dc32065ce57fd17f6b0c5af9bbcd3e724b1d3a27af5346da962c03226d74821bb47eae95a05086625b9767614cbaf9dbb3f8d5098ddc0b08bdebd2726a9e9f75cfc52de7306f1a72343801148a4af3e980a2d6016acddf4b9d85637c00d85b0d9e1806c8f6d6166d6e6c8841928b9245157f97565697d9701ad0952bafd1b87f9bbded2dfade8b2fd3b56bd724dfda6b55b4329fd02b57b669739b3d7856608b0b73c2c8b7b2b24a478f1da763478ed2feb5436c14adf0cfbb32e61e056337b67768fde64db1e231a86991bfe6e7e7e5f083ecb373f028f5160fb171f2126ddffc0655c3be740514468fdfd4cb68cb6bbbdd09f2de91a470911ee8761768322e4da17b2fbc76bd28dbe2d4a8a1e31945107a9414cd722834de55e3bdb957b3db23abbdb428d1ee9242abcd853dd1385761c4c9c45e67ff4c8ca2bcc8adf55a232c83becef991e8973d43dd268d28056665e44aa15d58016d278d84525fce4b641397c538c1fc120ccf5206483780b57e69da182ac80a4d729981915a112726e17a0740b71d4bc5be4e24464e578b64c153e3245688ee80b4284d95c1344a74606493ff4e660afc9464afaaabe7495a6f490c2d2790c2cf30b1d68b43a735699db621fa50bc7a8402f629c8c787c592618d4fc8cd11a6041cc7b018d3cf9bffdc6532ac57d19f35132e74afcbfa3cf930baa945e3dc60680a43ad1e061d523e18303287a32a8ca1b421a82a6cd0271901a178eb45510f0c0cd3441e5df50860531753cca616ec8cb94113d6378405fc61da6ab78117fedce5caa33ffefaba501f51278b5609ddbf191ca16115a6283c259606ec9f2e9b613d8feb4677205ccfce760d799a5dc90bb32cbcfc3dc2d9b662782b4e2dacbecbf6b5d75d54b9a9bcb0bbaccf7b9ac433dd28617793ef8da457a8a9a9f1daadf0ec859c2c75a432482f4a3a55228e2445aa91d1de87dc4a12e50673ba18b11a5d013503229469a68cc2a3217fae3874a574c3b8d18d09e2e2884c4a99ac8efd40141c3bf9e28b2fc9da4f1c3f66d84756d4cb8eec60c28ee98244b260d8411e5e7bed15ba7cf9329d3f7f5e52f205d246286c4fdb324240f60bfc50d2b5558a43351d173606c5d2eeb9462ca5cc41861c8ea5f51aaf95d232a99974bd1d8bdca44923f36efc496d90d4eb6a412f59faeaed55fc5af3160c66c2bba107eb87756c2c799e13f43f875e7cc3dcc7200d37a446239e7b80baf36719f005f1b85c452245b3c1c6c8062690f675e053abad518c72b249372f3f4b7ff8c2b3b479f3127df94fbe49db9beb3280edc5d76ee8fbf36574e2d012dd7ff610fd873f7d4d0c1525d4a96c4a02d1cad222bdfb81a3b4334de9e2c507e8f8f17be8e0d133b476e41e5a5e5d130f7e67679b76b6b7e9f6faba1827cbababb4b0b828cf31d749a873e42cb5e70fd160e3791add7e862ff882dadd953ac71ae6685db9295954555f2e61d747c8ad1176c184a93457c84add5e8981032513e664ddfb08eb0ccab29a51d85e60270300ad68cb5b4fc13edb4e5bb62632065f5f87b62f23d72cca33ca2d52d4690ae16c185d669374e5226341561a7cabffb0cb10ef311a8d678cd83a3ae485f732acafaf844c412ba5a4d1ac703337d65eb23f4f269e4e8b67bc60c1c39427da75d18e27b52a32a25e2be431d0cb8dc9dd85a7e26596d636ca2e8c7030e44dfd4f65044b68c9acaa72e6b373a3791f8f8652748d3a00b9c882e2c9d0f008bb48c28b4e49c7c6339ef42c65f76cda223c47be1ef07344715473a738cf844740e532d21b6ba6e6a58eae05efeb8683af591d95a62ba1b202598d4c804c2bab230fde35e56bf7da8b70ada14cf8fee834ecd9088fa737c39a86d07b76d909f9613c9d15464d7cffbce6236c7fad8208729d0eaa6653a9de0010466bc2e895ef9febd4fac236635366de04a9344dbd64b5de1dc8dcb2b6b5c09633a9b53052e9d88435561e2dda5dd711469cc2148eefab1b893aa5bb5d77f6f83e368485d3997df7711785d58a89d360fa4eb3394a0287b67ee816adaf88eb017e4a46d896a8a4ce556babe3223ab62d9d949590f175246477f9f215192371fcd8315a608753ea4706dbf4d2cbafd37ed6df5b5bdbf21edb5b3b74f3d62d79af93274e5857574adbfd2dfaf6b3cfd0c99327842df72b7ff88762bc9c3d7b56224ac3ad0d68185e4fb7998d65e47675b133eeba32aaa3e289511288118b794a71a1c5f0796e91534f1db6ac583e120715911adc171a2172c32b566e1d2233f2df6e864910b2dd1df60f8bf07c0684170f7a5e39b47e9b54028cbc013b998b942c3f4a734b27a8d38ac97962905eb9cdc6c8ad9b3769b0b3232dbdbdb9256a27395d7dedbbf4bde7bf4e5ffffa1fd137bef53c7def952b1296ffc81317783d0bf4ed97b7a937bf6cb97e5e6b2ba309cdd1daa1237c18376c1e4443f90d05f9faed829e7fe91a5d7efd12adadf6f877e6580a17e8339ffc045d78e0095ada7f92f232e64b71932ff22b12b98171b2ba6f1fcdb391f4ff92f7de71769d459a709d7373ecdb39a9d5522b5ab2245bc9720e38e0846d8c31260d03cb32999df9cd3033fb013bb0b330cc30c30cb00cc138810336c6196739c8b225cbcab1155aad6ea9d539a7db379c7dabdeb7cea9735b86fd673fff21f1135677dfbef7a4b7dea7aa9e7a1e4c8e3365498825d6c250a802864e6d02181f50e8bc8cc010cbeb2308e0ebc50f9ed78629b8a0234cc273791f9b5f96893908148da5ba3bca029e3e4029894f96db39604b6d127288a6f69665c08e05d999bc518d74dc915924a37ae55663456ffabcdc0fd66d28933dd90157808845afc0d16431748c768a08a62ce25ec463295dce2dcee80dd7d1a57e24b1d2844f1049c1e0fae630f8219b7b0c84a188210386e9ded3645038686ccd3ddd166e93314f80d5171de3fccb0457adccc93e2af8b7603c60583fc2f2011e30d2d3fa9e984dd44cb579d938b8d964c1b41bb95c2ec5b51804f158be14bd2a9dde906d3d3e2fa93cca09814c1ab8eaa99f8f004dc8e02968d3cd193da5612c1782669c98395ca523a24cc6e46753566a2460628043151a333de69851615bac85d298c3d5084d4cf4088892cf20c1979ce82825533a252abbfc5ef83e92832289e2ae574d094999b85852aba2e4b33c95617b5642e7094ece068cf2fcf16b3e77d97673ab16461f2437a3556b3941e4e103266f7a6d09bd7ae4e8343f0bf25a965ed352b0c77e45fc19121cca018952c0c5e0a760bc640246942cc4a67f85bcaf5aafcd598b462d58c71b2b6c1cc381354c0290aa5ca762f40c8cf6eea6188f2ee1875a0f43bfda432ebbf44aba06efbcf396faba0f2ebbf832dae0917b72baa70fda4fb4d314e5c0d030ac3bff3c98989e805dbbf7524573747408eaeaea0878d4545591371a82e88ae6ab606aac07c6060eabe38e105918273275d218a4f886dc33fdccf05ab04d6c2dba24ee7c31ef4ef8f184532aa5cd52ef79e071e8e91b802f7cf656f5d91564d60a4625dd6d2fc2d9ca3101afec291f4ec958e78711c462d6a5cb90ef6bda18f3e8e2abb2f4e47c4866ce5380a31ca211b3adaa9fe3a68fed93e1a141ea2796956514429e86837bde84679f791c9cc92ee81b1a8577f7f793ff492c5e013974d38d8560694b3974f417616a7c48f3050a0ef147ca536118992e239b682d6a66507dbe48a3b908a62e3ebf991c7ed1bb65725a658f9303f0f8a3f742f5ab4f41dddc6570c5553740d382f349706d70b01fa6bb4ec1d8c80854a88715010a9608d53e0b350d2d108a96435ffb6b901ded564f5fd85db43c0627d51ca59010ebc31007c1647452d29c37279da53b42f8cc5369944439fe5c592e0efb84de3cff1c0764702db8de41e012f5584add72a5bec98c2f68085d64501826e75bf211b22c23e51e743d6e7072261a889891ba2268f73e4d8464774f060696117b23d2702e6b7c6a025abe7fa6e89b62b045b9931d781d4388b36dcbc85a5b7e2e8050ece4f3c6ac24168d1be06ab9f78bdc8701edd5478d3f902121e71d978ce74ddcb05f8643c26b92005edad2446d09db0dd4f959244739fecbedb752ae82e41ec871eed20d5a567b3883668766c7b15d5d1a3d1d5374c1867bcc42425b8aee79be36521d084a808be503c1bce1ea4a9221f381edc611c9abe17be0b59c6016f7865b39dc66f2fc5a02eeb592c27c1264c86395ba4a5c89e198c7a04bb651658507930928013492b85baa0b25753ef2c2eb4b926425df84dbe3b26ae491e0b5ee061f33eb46311955723c34c7c26badf16be47590cf6a69bbc91b6008ba7a24b27aceefcbe01b5f8ba08089c52046ca5d304d9582bc91cd0f7aa0def1624e28a8f9585855c5248604e822413a93a9e949480652ea392a904bb95ecbd3505353a362f5809ee653c7d0d0d040135c836a8fd11e3533f4dcd6d5d5405a2598071590411d9d81c141181d19850b2fba00b6bdb703e6c7635059510e952ace97a5d33099cd4359a2d6f0e1824606425bb478552e0dee3d7ea56584101d775214e31411f3a3616fadd836b5a05e7eed6d78e5f577a805fd4cd5ebf0275fbc4befc5537ed13e4aa88a67a18e8937aea419e4bc40fd7d70737898fe584512688a5a29b5894f50364cfe15747310f5aa0d35b60c62950a94c414d234fc4c14deeaefeb8301f517276d32994af539163cfdd46f60d7961740410b78f48543b0785e255cb87a299c1a4b29c43a44192f4e01f50e65a12c09b0e1dc2a38722240132021b55926e341e85740a6269d04bba91eba7b87e8a1c54550511681e50baaa1ad6b8294246d053a7a8626a02a1383a69a38f40e6761c7e17ec8ee7a0e8eb7ee80fae665b062ed3570c14557d2398e2b348d0f38f25eaad422c89467a89c870f71387c13f4b4bf01d9f15685f2a30490c838abe0b8423e98d5b3804f2048f669f4975b62a5239e4c686383bb8029e1a17918b6c482417f39f54ca379a512d3ac5a49af23c9f082915a8f9b1151cd07a0c05124970d72f3c54d9ccaaa05ae123834d9625b5a3d316047d4f50f1357070979d4efa6768cfa37b609888b403ec11089c70c114dffaee5b032ae76aab58d0a9e1dd02d20063a1aa884e9b9e3e931125932d2e13a986a5549db4c2ab8c43cc710d5422193b12069c8169bb9437ded623144d90bba856b7f0f4d82d50293051f71548be158048ab149e5e4f2a0e35691267ee8fa1bd1243db368b9227892ab21c7f24bc75a4b155b65cf5e724fa468a11429f3bc4a4c4bcfd69600186411fce189913d402cac407a808c28b539a4e19559966ba01672fd9e8a66e2ca76156b65d5478a8ac9691d1a73a5b6174f3b0466e95620d95d4e00b10583d7e6c49883ed178732e0228cab0b937049f5521c908f89af91bc7e9210cb2081c1be04f4bc365952d1627021b43ca408a224cff208ad04580cb824b99637f590e0dc70c2c2f7d92fb51fa516c8747692dc8363e4bb6251864dbc2e6c8113f8cd51558c5a9be4ae6d51bcc1bd1f2b2e72245d925075e5d0f10ce888e03f49caaf44cc3f039747b6174b27aca8f205dacd18d71e0e1e68b5553d34014ec1c494bcf97d4dc0278b0da7205a700ef1e1d45585ee23bf51bf9f547b411a26b223043e10f0969797d33ab5717209d7252540054897a52112d3eee6c78e7791aed1e2850b28494da75330a7b11eb66cdd068d75f5505da9f688a36da431343d53a078d675e831b2dd88a7abc00e6935599d301aab06d4b90986dd8a920bf45cfb061cd888537557df7b3d698395ebb1b16978f1e5b7e1920d2ba1aeb602de7a7b17f4f6f54045459d7a5dcea79c4b3a271f1c2ef9e08049d04c3cc836801c4be4cd503f2cea46e4752b805c44d5666c39662436af4d8f82a995104b2f51a02440d936fe41626bcfe9d330a4d02d8e7a5556d7c1a103bb60e7e6a7e0d9175f55582707e79fbb00aebbfc3c1819195637a91f562ea884c39d41e83cd50d0bab13509e8ec3c0f014d454046061635c65d91188846c882ae473bc6b1812a13c342f4a434f651806462615b22e422685b6e640c4cb937da817a2b38389e902f40c4e11e0aaafa950b73e03d36af1eedef51e9c38ba1bacf14370ceba8f406dfd0275ccfdd0dfdb4b8b0637f9aaea6a7a8f54320ca145d740774712c6fa77412aa516422449e42a967126f44c3c04dd7b24cbf5ec0c3df816e85eab04151cd4481edb2e90a91dfb39e86a54ded73293025dbc38e4f89b96970e8bf6804359bfe35866ea86b3dcbc3926bd89e0eb49d21d39024ededde067668a443ac5ec572fd29cf01ec953afd4d354011216c30d3c1c4d1030a54d4f6d909190f75c51e073726e66952bf8cbe35294883211d06a9ed148548cad7a72e45afb0025a56d6a59703f5c33ed4d76aafe9d4846899c46e39714dc0b252edb169d1f6b90b8669398b117b43860913edb32a3985ade5d678f79c3d909b9c7c6bd691f77466c5a72e4d215c413ad13396122a7384a273f18e4c8e74a6f7041ca36b18a93379a4028dac7d7d82ac9e459c5d51bf1f54f71c9f157d95a644081535e01b3c9e5485b23e26afeb8ad2e311a5d3a92cb627c48d82e181e0855f1a672941cb98edda28a243536644ba6d4974672c24a271465d580c1816c0949dd15e96bc33f97fa33a592eb924fc25f4ba23aff5b4e48ea96babed6f184369ab4f059cf177d7a463c9a4e0985386fe6aeb8aac725a082011dfe5e38ac5d710b86bcade390edabfeca968e146f941400ae82e9e74a7bcfe876a9697f59dc8af4bad4f85cd0fa21c5da190d56d004b03063007e5413cc73ba52b4e6fc5574ede32ae9a10a8b3ac74a0552d2ab964379450d0d0be09adeb96b17641448b970fd3af3fbdaf97ac9a285d0d4d8a0804d25e4d5fbaf5cb9ca54e7668c0277048a41ddce738abaf21936b119c1b334050c984a089e1737dd71ba479bce065d5b89585cbb81f7f40e40dfc0903aa6453031394de73335390cc54c35556e65bb57ef1fc1b30f9810cbdb640ecc7697253bd936c09b6f054c09d5299a914920b13472f34d9d0791b2c5044a8226db471e0982120427895486945e77bcf12bf8f97df743c09984e50b1be9c1786347172c9b9782e6862a38dcde0bcbd25158363706ab5ae62b646ac3c18e711819cb41dbe969bd29e0389b42d4a804984a84e0d48003ddc3c3a4f089bdbde99c05ad1da87f922740820f6a36a717d7c4541efa86a60961232b3a4c237568319d8271b5f93ef4c8e350fdea9bb0eeb2dbe0ea0fdfae40470afafb7a2998a3b4784d7dbdd6445197ab7ede85d0a5b2f6b1811deafa60269a70b32c496e65896faaa038964b2a931b8c34f20a85823e4231586c20669704f09cafaf5deaae2a4be11af56b667c16af4b38ea8ece6935436d2ee58d3a3bf4350711025234f6a65b27e87e49da26791d9830486040191f9fd041c8d1593c8ea363668c7dda24667bc582162c0a455cfe8a95d72379fc5006d8f1da044964e7e78d643867f5743e089a8cc8929c5e41833327ef39e206839e4c78281ad2c68bb8e08bdac173da0477ece3bbe44f011839a3f50cc7b2ae21d78c4bfa0eb8aed0de286bc1a7ef208991bc29f07d92e284b2ec2e9da165558537317e16b885205b44d2e0ccb2c23e0e0b0be049ee06cbe06bed89acfb7acdb5f15a18fcf9b6105de3d851ca5371c0f18d96caa915d6b5904ab89ec3765eddf32c55b6787d14a8b266c8a950f45519e4865e3a8ecbaff15ccbf3be2a80f4b191f745022fd773aa448a5f926ce59ae70a4aa9458024d44a9e8c34d6f373f658ab49b7076c5255d6090593dbbd67c2cf47e26703a7d58a6612cb3517f491872d3759d08ed421332eef4f54a5469524ea4aa76d97e06b699358308002d70292cd71f24f9f3369091b0340cfc20141ac4ed23026c7d4edcf9bf30e10072d9f7354721322ee214a3d602c191d1d27198b685c3bc1cfcce876cf82f92d2a894cd0e74e4caa6454bd01264c08d4aaabaa54280e507b1a9f4397e44c136461776295121db0dcd1758e8b6edbcbb47bd2c9348ca87d0ebf8e9b4489934ddbf899e1310e0f9f265e5a5401c13dfbbae0dc650ba0b626632c57f4049b6b6580cf87533c1b955f8bee648eec1b7a1a0582596eeb597462fa836921a0dc3a068be44a88663c508281035b37dd5d5d74e35365d530d8730c5e7aeae7f0fa9b6f5109aeb2a211bafad486a56efcb98b6a2164e5211d0fc0d2f9553034ae32f660914af0873aa76078ac4068dabd60b8c10435537e6c523bfc6a8977d31eb0f4a24fc4c2dec4859ebd226d8e48a8e89a4661963e35818b254b0f01febcb5b3035edefcbfe08d4d9be12ffedbdfc2fcf90be074d729e856200b17667d632309b5e12135ccbf004ea8877d726017d9c85b966726267bb30533c71eb074968ddc0899d9b28a21b5194a14213170606996f5f765f067074d297dcd414f12f0f4fd2cb85502cd63f13649f427a169129379d2c640fa1c71ca1cf4a44bc828ebaa0d3b870278594d928d4488c343dc0d0cd2e832ad400a65cd79bd017170c6ec0c8f81b467ec005550c0e8a6d0b531e745d90ae8f1412cab820a9641238f5e30e3c2f97ccee82138ae17903664737ccfb32c63d3b34280300f31ac72e5f2da3c4b780bd146532cb8819e02492c2aaa8a3a981644ff5dfeaeb78e2c1fcf407221a493aae48af0c621098692c321792d2effab04fc48cd13cf01dc72a750022e37c2113c12e66258665ac23fadc4151c39912209db52a3a5600019497783379e2c5b533cd553aae1c1a44b2629d3287bd88c791b5266d1708824bfc5110258b20ac56b4372aff8fd797d943a2acbca4b299744020fbe171258f2b9496e8634f793be629e78a20746d8e04f9a12168dde5438aa79179ac8eab8c9a4dff7077c445aed33669be105bff588e4b5c80a54d18c15cbd6229f1b9fb38c2d72149bad3a2c87dba5ccb971a80a4c55014b4f8ae19aa2764f366ff86a796aa762dbae50d4155edb5005f094b09d8563ba745d55523138384c9f1b8bb18610f82a89e9749aaa1b38f98900289d49918f174edc4c934b778812aad1f1493776168dc43d5677ada08e39344a0fb659db3346ddd5326d62bd5e5e7879133caffeae5fbb12eebcfd061251936b10f59092d515ea9c4f53d2d6d53d08c32353d0323faa7ef73dc894d7c19ad52ba805a645180bb44e8b85b3705c58cbf8fa1f34295c641be6be4b4eb3cd202e4d64604b102b25e7432cb30492b1809bd1f7f5f4d0468e65dcb2f21ae839be157ef0fdefc0cce4284413153091550ffed834ac5a5449fa23f8f877f616e150473731b3f5266691621ff6ba5389309cc93587965f006665939eff87297f63fbc290e6744943f7db6dc713432b3ac6a29cb43132904c25e1adb7de8063c78ec2dffced57e1f2cbaf86eeee2e3a37dc901ae6ccd10ab2eab2cc5d742974aa45383ebc0fe2c932081b15510e2cfc80f246c30663a54251081c182cc8923ffbf6144ca5a5d45f44724f5c5d0bd396b158953564b93a2558759c991e23c08052cb932ac308277530c4314592c18fc78d9ae88c51405581bcc80a8d39f5ba291aed4332d78cca4ec6c6c620912a23fd99e909fdfbe8868c80cf25166a062c91d5f28eae22e138ce0c115af5681cdd7bbc46ac93a082c7f8a4ca8808105b468951936e75268662463177f223604cd924a194833d0b22e98a5490f821b9e909e25a04ec806f6cd225c946b4f162d1f19c60f5c83097bbb9cc2f7d401c93857ad513f61091931a52d957b2efa57269a9c3ab940197e3c2fc7a5975f17b1039e43d82cf822cbfcbe9124fcbc2abd430699b792c9248eacafd9bcddcadd4d9de2413ded75cb1e033ef946d08b9717baab73c9dc02a9e3c4da389869ecbb2ed0337f23d24c783ed1edc3683d8486595432acb3aae9442919e6d494e36737fc41bd0cf5ad1b4ee6c5fd5461a15bac08ec10adfdff701549e989bb681c09688066416b54d25c78cafa36cdf4950c4845959dd92098be6557105455767e4b948e02ac78d255197c0725eb79c2d470b9e5918738a6c67e040766a94744270a0a180958fb2082514e3e3e3de48b71116632d95bc1900c03832353145eb1babadc8fdc3aa48597915c5084c1e22d184d16e3176004c6c56f7b1b6b60aba7bfa61fb8e0370b4ad03fafa8754829c86f3579d031bd6ad20c032323aa6957ad5b1e2f44e32a23549b48714aef7ac1180b4dd2944fc9cb1f10978f8d7bf85dd7b0fd36b6fbcee627a7669ec5fc58f743a09075a8fc2fd0f3e0ba7bafaa9daf3deae63303a3605afbebe93786e176e58a940cd7904e6234498d5e475cb3e4bc7857921ca5eac0e401aeddab62e1b62db0641c2f4f40c552c9cc23404932b21567e0e24e20294747743d7a953445eaaa8a881dd5b9f81fbeefe77dad0904c646567a80d33315520d268577f9688a8d8df8cc522a4d2a719ccea066105c1c52356c94491a339862c13e694bcc4d255601e1f364a62e61b16b57258f1c4b1b4e49e638b729d5a0c0d0d8d3482f6f77ffbdfe06fbef235f8e8ed9f80dede6e18e8eda5f7696c6a22321a5aae342db8048e1d1857e8fc30d437ccf5f9d7703b40972f0b545598114c76490ad41933f85a313c19c1a0460ae0495d0c3768e008ad659362aece948a6486e54e75504502c18503a9140acb9511e760ca4898b370122bbcdac6b60068c399a10a4640a19b505467c31828b14a1140d335ba7741d24120e02ba64588a3403e1d8eebbfa2070970f4b6e8824dc754c5f0b66015cb0a68e33c0c3e96c9523cb126c705b2d86201e36e5cca1be072b9e6dde038a30a7ce48cac5b5c6c5257c87ba43cda1049ec2b400c7aafffab353b347037f6e641e64638a6155630cf80ed9b78f34dc3888caad4e241123a799391d3727253e08d569ad5f1b3c19fc11528025021cfb3a5547556c78382afea2649ba52604cf25e4a7908da9240eb4391a16528e84e4ac964478a3ab2ecbae7cc1b768125de2f72774553b41cb8eed652848eab7da5ed2909def282ab255b29a5aacbfc3e7234df03bb9621691b31c1826326bd423e534ca98c0a66941737cb10df773c269e1c1340ca9bc80bba030a5881b4884b334d6045da11f035d7da27619fc47f415be6ba3205a5a2732ca086d755927af92fdf7f3941e5fa2e714284b61233dab601813c561b0ad359f2fba1aaa9519546e2357e1d8b25a832e298a10bd98206c3cdb04cbb112521b09d839c46f2e3b2b556053a2b6382826d9782712a471da599ecb437f66cae61596539bcf9f60e78e0c167e04467b7024731050ec23071e028bcb4712b5c7fcd45f085cfdc0a09528c2e6a40605ac9184b71fd339f8e460444423031ae85376fbfe55a3877e95c58b6b41106074e41baac012aca333034320adb77ed87fd07dbd4352a6af35ad47b199f82cb2e5a018b5a6aa02c9d52e71383de9ee3505ed9a46264805ae508f0e06c24bf5a76c037aee827e439c2fb458f6a160b1a5d872c159c22cd104eaf5437384868127fb74f6dd8084a10b5a6d265f0e68bbf80cdaf3c448aaa897802dabb4620150f4377ffa4429241d8766008a6730eb569f06bde006d63cc04a247acc18703bec9458b07208c82a7632a3a16ffdb00141e7434f8048c053595831d364bd2cebfba255484a2d921abab6a60786408bef58f5f53887a043efbd92fa8076f80268cf0581b109ca0074fc486a6455740ebce41054efa20912aa7d6042f7e99f9f2a623552a65df5666237ad132e1cc9fc9963aad72b02a38da3a1bb36364d863f6120dc62893c5e08d3c8b50c4689760768a60c1b2dcb2a12cf77ad2fbba05919dd1411c51bd9eb8d0467c181cb03d150d8409a8e0c5936d89d23145dee8dc2a4f30a8351d547025d32b53ddb043b6ab7980e68705b2082fb8e390986dd981192f1b262556c7cd564b4bf90c6a50b704014f7e4a2b7d62d09f31f2d0b4c9cd6840827f30e007ec90d9c42d9a1ec236a6b46f60dd1006909a5f51346ea605df58a5ecc5b32685144f9386620c044a1d6ce564876c63b8466242d5139f1fdcd87205560d765c8f2c3959e15566ccba319b6b6945446edafe7155c3eb30ed18acb6858211a1c153f44df178ed108fbb40b6efcc15329b37123bf1facf4c99d60d6d1a0597a87da6b6989c8c913e3bd20746568c24c093dc302936e711418b460786475e35b74d9e57697b839e313c06715f1cc145e171687615f748d045b2ef28b274b424838be3935512c967d131c212e2698eaff5a31564e5c8b46d5ac7ea7e8bd67ee9f3c6cf38bd6751273bb8f672646a6a0c07ed88a10ce468ba251cc5566d90e6688266f45b262d728a0aaf4126932112fee4d830a49271b50e75d5182f39b66f501202650a422ade90285b213f6be2a92c9d84b7ded901dffd8ffb69adddf9d12b61c1fc1a32574592eaa6b70fc26f5fda0ccd4df570d37597c2f0f018d9d25b2e800b88fb10a1d8849595eaea5afaf7c9ae6e48859370f30d57425d7504621187782f6565293872ec04fcc77ffe024e9eeaa391e52ffff1edeae7167ce33bbf84c50b1be1daab4ceb26e768c7f5784aefbfea7a65b1b259eedf03ff7f9fdafdc010118e6d9980214bacbc107539de728dd4500e7c667a543dc6098866d643329174a76f70a3ee56a004835e545de0bd9b1f81979f7d00daba73d0545b0e5d7d6370ba7f028e768e1028c8e555905199723a19a58d8d55f902342da0c984b665fb5415c1f49865fdc4c4c192828ae5abadf8beeba21423e1639bef59e63ba6646c73691405d632e524b6f6bd7ffd16fcfceeff84aa9a6a42efa8c982e73c63c48bd26af1342fb90686460b303136427c09e96aca0ebc5c2d91243bdf348a6d1947622e9bfa553f6585851d6c3dbf91a25b49989a9aa0e9148df803043091f46a93e47f54058a381d63bee81853a9883bba275526d9034797a743945de1f8307a00d938ba4a6444cb3546c4b273cef81c494d09b7fd247c60bc4d4367129600119e1c7ac008b205ddca9c067b8559aaa034c95328fa2a0bae2cb5990422b06d3b44f0c4ca064e3be4046f879ec360c025695ae6be0464650147232727ddecb450f0325c1620946b4966f1a58aaff2fa700b558239791f64db4e66b4ac29212b693e73cda07eaeb4c333cc12e3631f12dd9eb25c30cde38f92ac594ae6f5ad5152d136952aa3d0cb4261b265e3f7f409f89c8925b701ab6e5809e36489327bf37c4972a904a07c9de4b40c7f5f2a2ccb6a0383020639b2b2e3590558464bc510da6d703581b8a5c209033e835a69d8f1d464b1a523546e03c282408abdf1b5e57bcb15ac52c557399525ef45c8f077e471cf88c93d7e9d4760b685e89de19908a1355f5597376c43ead4026945f37d24e48e6b4979f41d716c330e1ca1ff86b1754c0458c78839ea6a2b3eb71833b092914e250d4f4a271d3ff8cf07e09bdff929ec3fd4a613606438e25428567f50a00e65e86934ddf2f177b85238363601bf7df12d4a263e79c79570c3d52ba1a9a11ceaeb6ae1c2f5abe1fa6b2fa4caf2fe0387607c62d4fd5dd454425083d50cde34b0758c068999f23278fdcd2df0da9b5b21934e13fde0170f3f0dfff6c3c7553c2d87254b56d098ef23bf7e1e060686e12ffee87698d754090f3dfa020d649467d2742e046a0365505ed10c2d0bce85b24c1dc943b04ab465db1fa8bbf007064c9800ca1b885f9d31e0e36ce8c90ead1d518c2d22ae085a42e39fe1c14122bae2c24ca6cbe1e88ea760e3f30f41675f1e06d426fdcca63638a60009963ab15d138d44e8c1c34a09097a99aa40c01d5ff4821d116dc112c8d18f4c1cfec20197c13f0bb49c01b2586ef984218af90c11684920cbb817e34870456515fce847ff0e8f3cfc0ba8ababa75f4740d6dbdd4d000fffd4d4d442dd7c85bc47c6b43bf2f49497d1e26b50e9361e77471ca5a3ae0ea879d31a08d36262ee096f9c5a5551138c7152883237daec75e023e2af85e5ef2913f842f488155d733eded4c194cd03944df3c8ab9c289263aeba7a60e9291c0354b5126cced8a73bc68f03034ed0b43874f0e14d43125059c61a8f8fdc64b3da6e9d4bde52f29ccac1384d349d75cdc7b885427fc997858dccc01592f304cd1cca1a755b604adb03144cb68b0eae794f6157af83a296c237808f8141a9c4b765c041d4543d34d80c095d1a9d71b1c688cc724ba5cb65f62b4deda464b86cfbf046c2df976444e9f6caeb80b4381cb39e482bc4efd703e6f3e8d9c8ebe7427bb1802b66c69607b2ba27c7935d55d88207a0b4e36dd8a7c3e2130014fa3bb3ab1579cd0783801ec5a7eb13708d1719487b4aa98e4f7e5d8e564b4142f979d2e2410222dad80cc2cc1b80c0dc021c25a7e73c47350f335de68d2363cba20805f31c39beea8ffc1c49b675ab1945532db3748cc26a916505c573eff14624b8d3d37bfa39c8a226886fdacf269227af555ed3ecb6cd7100ef933e3e100ed8963bfe4b6d4eaee61635bf068c5f12b52e4d2b8d620e4e1f1a4e0c3d5738f65cd4d61364c4697848ac70fbf0a3cfc237bef503d877e03064caca68cddcf3c0630a00bc0bc74f74a98dff39d29742608df104afb14e62cc3a2e7235c75b5fd8be9a5009145641b05552539d8044320d65e573219ea88658b20606477224ce595d9d56ef3b4980025dcf3179dbb67d1f9ce83c458009f59d1e7ffa5578ecc957a0abab17bef783fbe089a75fa2440dafd58e5dfbcc7acb13a8e9e83c0d878f9e8035e72f81cb362c8205f3eb88f08ac78cfa25bd7dc3ea5e380a88954345799aa685befd2fff1bb6ed3800b5b5d5d43da024f303a4797c60ad9cbc9045b74a9019dba8078cde418198c9eaa227174324d908b1a87e3dfa9bf4a88d197b6d955575d0baeb2578eca19fc2deb671181a2f4222aeab043821a36dcc83c467089a2c9909b6581dd16d184b6f348e9f2be2af7df84a1fbeef19d6c8991a5712c6b8ad9cd21f7b0515d146b2f5824a2553b430bff7dd6f29249d810fdf70339c3ad9412d2c2258d5d7d3eb9be6ad80a1bee3eafb87a0a1610e84d020af58303a0e7a53e06c598e397a2a9661b17119533d93e9b99b8120b06940a1a5e775893b476711367a1fae6a2a05d8bc029531633015a0315e0c48d8f6299a36c9cc4c90be373363f94ad35c5e42cd13949066875de6c5e472d32ae8c4d5b39152016180aa1264dd5ec8fba6161884e90a4c14d2e93805ddd1d1290d66f0fcd877289fa5722d910b03ba8da2356080d8fcba32619920a92b4596210b3b4e5164d105f775c8af5167407dee6c4e03c75432e39a127aa390865869990d198df98c343d390a93ff4ade90d4bc368cbbf15abc91e96a06de7f7cde6576cf55319df5e7dc4ac099545519246199fb4c3c0af9bea5444c0639042c6d7c0ebcd173e601d14495714465b3314de203ad76693967dcc8e518a927e1afab33e0cc564495d2ec1248311f0ac10c7b6e59543945226396aceb110c68af6b7081949ca261b026392f52c3445612644549f226644552b6a8dc51e6e20cb5806d2b4cfc02cdfb0a914aabae76e689331524812d702b6c947899f8c2ba44202a9fe410ad80083e9f58ca478fac3091406d2e45b99bbd57dd0bb8b15a4fd3045caf281a592de896245b2f484f1d098c3841e04932cbb67c0014040f468335ed4d86fb034ec4e88abb0d9160d455ac761c30c027efc6f1a24934f1380bb80ad5f5bbf781a7e1e58defd0718d8c8cc27ffccbd7e1485b3bbcf2da16f8f21f7f425d0307ee7df07938a992dfa58b179120e334117ed5f92830110997a9d724600cd5bd6df6822a5075035b402df31be1e5d7b6c253cf6d858a8a3970ce9279142f31393e74f804b55556af6a21fe64f3dc7238dc761c7e72cf6fe0c8d10ef5fa34fcd7cf7d1c2ebf62031c39d6491c169c344590944c846174b80b62894a95383a0a602455f234a85ea37eae62d3e4e4345494c5616a3a0f478ff74155651a9a9b2aa0a9b11a0eb4b6918e49ed9c2a18e819827ffbfe7d0a08ed879baebf4c01a9414d20a7e9a0b3d05d385fd2f3962437bd41065de2a56dab4d335809a1d412e253d8e4fc9aa36ac1c8d01064caabe0c4d11df0cfdff947683d3144c834938a52899840082d8e106d9e545636255caf3262b9b0c2238694c0873361915988e2fd0089e396d8ddb2c9fbe11756ba75fd771da338ea908c3e2ec2effcd337a0bea111ce3d77a542d0a7685a0737aab24c8688c2f3165f064776f7503b05c9a5643e57e092be6dd8f661211466fb7ad8da9c8eab1a61daa8dd1ebe69dfb064b2cece4d3f5b6d5a18083043e2f3c6459a4c44d471a02f470e060747559630451bfbe454de559c8d90faa743c4306492271251fa8bbd582dfb0ea6ccafe592b3335a902862a6352654a61689e046320cb999692af7ba16e662e28083236631e81efacac69dd0505fa9824ebd7a6f9b9e0fd6c0600bf79013a2e711096f1a40e50579d1318ec57e82298fceea0c505f67966b475086843aaf3a9177335209ce51d00b411b5619b0f55956963056f2ba1244b63fea754915002d920e9f52ff8eaa008541582bc966b305ba76d877c6ca108a59615686ef398963d6c693271eb7e9fdf0bef0da9032edb2cac6cf0ef7d425d7c503ac9e2098d41d91d789b3df8031e2e36be9011c8b74213ce55abff9201e0fb7303c31c6906b83806d9d6c316bd65ed1a71c2b790afa5c6d5f158680a45524605f509f811b4d30e21863c2bc2b312f2b59a5d33352769d8f4dcac7cbf6754e78e3d0f8b8f91dfc8c88ba1f139393aea2ae7e56c01d12d0eb8347ff2324a55e20a2a499bcd308659690544e4ce8616ca46300cd47c3d8912597ec981ea7c5f7c8167d9e4cde386ad8ab3a15bdebec55f874e58b9f7fbfe92a576dc5944d8929a623daafba4215d6152107e89946109551cf37aeb309d3e2d4628e16397e63fc2c40c180609de0e074ca9163edf0db97de822f7cf623904947e1eefb9f8663c75a61cfde2334f137a72105274e742b809154f17786b442f0fa62b5153f03c1846d4d910717266498e814f23ccc91a321864f7efc06326bddbabd15dabef96358b77619ac3a77092c5e3c1f3efed1ebd4815dac62629751c42ec0030f3d076dc74fc2f5d76e80e75f7a075e7c75135c7cf1f9904e26605fc7495afb8d8d752a915249b94a4afb864e2b40350e8df519b2bd88c712d43ac3fd221e8fc0e6adfbe174ef30fcc5176f82be81613874a443c58702bcb565bf02b96178f4372fc3b1e3a7e02b7ff58750576543d7a90e28af6c705ba867e1548ee566de965080f56494f5c2b32d5383882d80482c45cc62fc838ebc28a2168d26d5c6310e8f3ef01fb0a7b51b6a6a6b6932823339f61fd1d582802f48ea52bce8d0382e84f8ddc591ffe757c671b319ae9e3021aab2a20ababb4fc377fff97fc2bf7fff67c441191d1d2170820b06ab10151519a8a85b0dbdedaf1220c3e0a2b33400761ae6aa014f5230f39f471539338e89c0ea4e44b8266aba8d83011c279b3c63292d4a14236b001bf61f68873dfb3ae1585b370c0d8e2b509153c87c5c2da80932f423fe01129b1580c4d2258206bc5f175db40c6ebbe5425392cd9be7a5e06a62148a05d7dc2a61a554869655017dd48cb9d9f47ea596e91a20e8498dbbef7919eebdff55686aaa827ff8ea5db07cd91cb5594f9b40eeb57f2c3be0baf7fa4761b5d2a83b616269097bbfb19be3535474c782718a2710f0089faea4b44da5678446a8c3660734293aa1824c474737ecd8754c058f017dedb2cc5bb0e1b65b2f827397cf852d5b0fc1de7dc76160708208cb0c8a962e990b9fbceb4a38d53508efbe7b48015a7c8f49027a45236d7fc30d17c079ab16a8403ae55327e5eb20fbe83c02cbad1cacca48a75edeac7873925a157c6d308086cc759b329b24573fb4cbabce7e75b7c7715b43724c54f29e909fa405ab2c1a030f06c25a3b2760bb8b5c7ad2f006ea6969803baaed18813d56e045c26338a8d6496ed25455bc9617df5b1ec5a7ea4324e2f2346455985f237dc19848cb206ec6981a320935679e3b1aa557609dc8e27956dce50927d3122d3854ddb34c12c4d3472cb2e882851247656c8105a9ad9ad71540737da61538418564527e4550e64ea719ee13f354c8b32aeb137cd3cf33f848bf0c06a513b3be162195e54ff8ee07c79da0a98a79f7cec82fa8b3aaaaaca0aa49c7c9d374cd1beaaa4d2b7b4a25a809bdae706aada815a0f118f1bd329924ecda7388de7bde9c0c74f70c50cb7c6cb4170eb51ea596473c16824347bb48282d118bbae018cf49cb09a8e721af9e07753d10f80703516a2da1d11f8166757e75b535f0a5cfdf064b176d819d7bdb60cbbbbbe1a557b6405575062ebf782dac3baf05e636354175551decd97f18f61d68838b372c876b2e3f1736bdbd5b7dae05e3233d744d70bd2e59381fd6afa987279ed904dfffc933303a364963ce08b4aaab2b548296859736be455d82ddfbdad5b164e1fa6b2e806105647e76ff330a80a9cfbd6425bcb669373cfddb7760f1c2b9f0d5affc2134d5c7617068146a1b9a5d5e96941738ab24e92dc160965997cf09b4300976b811c2b146720ae6160e8aa8912f820a12f7fcec5f61fbaebd24db8e6eb156c0f6c4a470c333c4560eaaecc6fafec000c081df51d92825b73abfe7e7dcc031da0aff77241c5190b13c81337c68107ceddbb707eefee90fe12b7ff775989818d726850aacd53734d0eb1a5b5642ffe9fd30d0df038d739a4556999b35262cb5167480cdba192b0707a98b521492de9ae8659b2cce71cd00513d11a3fc438f6c828dafed53e87e58657233505999a2de6879790a162e68d0a57ad0638fc828c712246e8cadad9d2a5044e12337ada7f725ee0b924ff3012ae50649acc876f908ba143f63cc14a3b4d16aad91a28f5f805f6732097875e31e78f2e92db0e18225d0d3330c6fbd7d9036765a8c38a5100d938cbac7adc8b906746c3e485e3766a32c188968a943a17fcf36ad1f5d7ed65e1e117a2e115830e136cf44505b8f4052c959658238c98caab59b371f5240f471153cc6a15c0555acde60497770708cc4e6f09c366edc054f3dbb857854c95494000d06ae8181313879b29fd4899f796e2b9c3cd56fde2344be2758c51a5541afbebe02d6ae5e342b5b95933b5cd5e41686542ef5f9d508e12f7ed67c9bad99b6c28d3f9fcbf9408b9e68ca9a8dbbe04aed23984402b5d691c9bb99b8969f29921a270384acbaf7562c408aba98bdea8c36e2338ee3ea861c3ff57c736c9ab42806f468394d6317a66983764a240fe488ad9c6492caba5c1d907c16391982dc2fb7f2c2e443f3be2ca687c259f85c6a75dc823b5acf72e72eb0726ce28591fe0869ed8489c723a77d2c6936081eb1b550d4312611895055b2a0658c89b782fa39a87c1d30047dcd5b73bc517b612fc0b1817d69641b0dbfc66933ae22ea63cabaa282a555286ee7e7b9ca84fe37ea7c1178ecda73009e7f69131c3adc4e64d635e72d851b3f7c19545466c8815dcb1380a9882980626981437cff1327ba48a72a9d8eaa8dfa945a4329f2b6e9e9e95709608a62d29163a761e5f266757fa2748d53a984da87b4b7d3a04aae26a7739054c9d4d66d7be1e557b7536bf8cedbaf851a0512b0a2328a1a4bc90cdc74fd8760fdda6570b2f334b4abb5b85b250f4f3cf32ab5913ef7a99be18e3b16416fdf104d93210501db617ff65f3f01a9780e8eb7771070d2f7bb0097a898d5d73f0c3bf71c86450b1aa1ebf4803a8eacfafd1178f8f10761fb8efd0ae864d46b7492f6c6a6ed70fcc469689edb009ffdc487a0ba32a6c0568840fba517ae52e764c1d0f00434cc5946896d363ba19e99882ba2775601132e957b9545cb47c2d381224f4eb1566c1e656401331a8ca44f949aafaf6f80279f78147ef0935f28505205b16850b7190c920f0682a67d234189f5be6350bf175ffcce573a3e16c9fbbddef9fd68673673c571049356379d6aaa6be0a9277f0debd66f802baebc164e9dea8441755d50c61ea778e26af3af9dbb1adaf63ea980cb983ae5a4216bf9cdb078f3e1292834c76336bd967c2ff89c6903627a808288e3b89346d88f46b1b8a8da0c028122dc7bdf8bf0d433ef12a0a8aa4ac135579f0f273afa60d7ee36f8e2176e80756b16a8ccbe577d765a055795694c4fd0a6323595579be9b83ac732431e2d52f5c325c621117a065c8978bd71e521a232bec96915ece2211ae3967a15bcf161456662220b4f3cb505eaeb2ae1fffbbb8fc1f7fee3691aab432d1554e34da7131418f2c59c0a1251989e2aba62610482d0988e280c79d22f08191092457126c3e3e08c511a1a62768b9b0866a196a3958cd9e3c81636012132ca435f9982119bb3e0d9df6e213076d79d97c3d163dd2aa8f6c09cc64af8e2e7af83a6a66a686fef867bef7f05aef9d06ab5798560f7eee3b4b1dc7ce306386f550b54a8407bdf032fd3f17feaaeab5456d8091d1dbdb0607e3dfce91f7f84c0e2c2057544d693826bb2fae329c2160c19d9f3ad61096cc93bc0d6129e338311d91e720998b8a9625bc467b1cebc0ccf2b4b3f9b5ab00a9f330c9c5e45d136fc14d376a229ad0865c30c8cce34d62bdb0a7e9e55c070a5f4b1e0bd524fb58a235a6346bb4acf9e569192e996fb6ce67ce0454ec0491e8a042f347582c72bc8bdbc51237f00fd9a50cd336b26f238aee17a2de40bee141e73828266a285391d01f3dea5be3ee8b64ddc2b244cd388b045a3ff4435c5b6269e5b58abb9068cee8e6d38671cd1a433b3678de0f848d1bc16b56695e6a569c0eb1148e504558027b1f0f8cdb54c95a5d59a780d7e72cfaf08302d5bdaac40fb083cf2d80bd42afee217eea0ca113d1b982ce483c4130a0711e04cc3e8e898da8cc754a2544620ef481b029079047a909751a600469b5a532844b66451039d53328140e830e98f207fe4961b2f81794d0df0ca1bdbe0473fff0da41568693d32468fe4973eff31b5be3590c1765376260099f246f579b5b07cf9145545b66e3b00cfbdb403ee7bf06958b17c118102ac5e627c48a6d370e5f22530d07d1cbefb838715383949ef158b69fd943ff8f4ad70d5892314af7f72efcb548dfea77f7f145ae637c1d2c5f3d4ebbb28d62d5b3287f6cd0bd62c86d52b17a86b8efb5f08eebae366181e3aadaed584facc24cc9d379fc8b754f50a46e986e60b6721c7840836b9195fd0f3bb50e203390376b419c2f11a15388d31dfc8080c0d0e923e49676707fcfcee1f532f2d168dbae366b6f06e9155125fa5e477703d6659adffbe768e35fb458ef37ea0e4fddb37ceefe1d76a48a2df1c8307a2f17beff909ac5cb55a5d8f14559250e7044db7f05c1be79e03dd1dbba0bfffa47a7d8ca4d865509672d0980de0d488ecfbb27f48d090eca8a265362766a1e7902b61da411c4ca2b110ecda79145e7975b75a08210500cae1cffef46658b37611fcf55fdf0d71b569d4d594510684313e5230e36beafd52e918d4d4c4d426d9481585e1e1519329d8866f6199f2be23ece181c602f3a865a2ced3366a8c726283c799ababcaa83a821bf79ffef18d50519e521bfd69b8fa43e7a9eb13a1acfce0c14e055cb65240bbe6ea65b0fabc450817dc89310c0685acbfaac0d584a0d9f858e3827448d837847907d8a3c149827cd667712fd56275c9d836d97e013ef3a9ab0980841540fbfa371e80e19109b8e8c273e08e3b2fa3e7a14c5db76ffc8f4f5305e8578f61956a3764ca12f0e1ebd6c0aa4b56c064cf30dcf5892b60ce9c2a3a96fff10f0f509f7ad9b23570dba7af86dcd0288ca9203c359515c0a0e89b98e30cbf6034854a4de324f746b7dba286afe4976277bd4fcc9457c44c0e612b86c5b62ccb76c774b92ae3dba4c4649124627aad5abd99066ccb1757f8f7a4a09804e8da95b9e0926ad953494ecdb09f94e4d3785328019158798ec0bef3361baebce7320e72d587410413b731e9d01514efd993be55524156be0702d4b0e1e578f1d770fb84909b2b7256d4e25aec6f15d4c664542dd2c66e8e4b82cf8bea1ab7b064a54c73478a2e999bd58df91ea3a2298f887b3a569e6716012504fe0cdcd4d7e9581436befe0efcf0c7bf54b1a5063e7de7d5307f6e067afa06e091c7df86cdefec848b2f5c056b57af226554bdc08af4597846e1504c818f1cfd6c6e6339b47774ab3833a100c81c95b44c6b377675eebbf6b4416d4d3934a80426994cc3ee7d87e13bfffe0081336c15e17df8d32fde012fbfbe8dda3ddffefa1fc2e34fbf095bb61d526b6948c5b106b8ffa167d47b54c11597ae33fa58986027a0269a818fddd60ce39305f53b9be0ddf776c28296666a3323c8181d9d861ab5f6ef7fe43568ef1c80d5e72f8577b7ed87f2b2a4e6374512d0d8d4a280fd345c77cd252aa66d57e0661eac5ab1149e7af62d9508a6a1a777045ae6d5c165172d8711b5d691af87538b9964857a8fb8da27ea209144613acd6f6112b1abb2fb012abf7e80e3c25af296bd35e4189d9eed0fd29485156e72c565f0a1c58d174dfd70237ef8a1fba1adad1d2a2b2a7dba1381204fde98e91bcb162d2331ebebf8c79767c187f7e9e7b88aae8e5727f1fe23818805b38686670b9ffcde769133ebd77510adacaca496cee38f3f428240787d900c3c3e3aaa85c8c201a89b7bbe0a1eba373c3d9d75839724e5e98c376b18f7fee928cc68722690d0bd3281456797b31d4c09c82884be73d75105884628cbfdcca7af8135979f0f278ef7c30995a55755a7d5a20811072219cfb8cea2d81a99189f52c1610afafa86699394eea0ee082d3e1fe1880b367131d3e8b28d1c953411c9784c5906625d8eb561cf9e76ba86ebd62e84975fdd4965cc0bd5861e8b4769813ef8c81bf0ea6b7be0a59777ab0dfe00715ec0903fb19c4e99a67986f97aea3ebee33e47fc5c73b6ee6e1ac1a0914b77664d667832f28edfff43dd83952b5b14d0ac811deabab6b7f710e7045b6153ea7a7575f64379794205a56605dac760dbbbad741e73e654435d7d150c75f4c1c8c8182c5f3617e62a70f3eebb07a95a924ac561c9e2b9901f1a87eeee41caeca44cbd6ce570d5438fb9067de3b6bcf173fb82ffcbaf63a025ab2574df0c98c59ff3949819bc70bf961bb96384e8a47859c168b3c82a054bfc97721bb885cc2d104956e6ef0378fe51dc5a9000489addf1efc9291b496c95936f72324802043e17be660c32781c59fe8e0442d238b2d43c91d7b4df2ccf3663b602c809c9783e06566fe52a8665b1e95edee82b1920562cba5a17b2fac4d79c4d1219087ae69f9e2d01128a35b8f578742c0ac8d51dba57785d4c6284da1e1d9d5d70ff2f9f20e5eb4f7efc7258b2a042bd9705ab56ae81cb2e59ab40c1249cec68c7d97d22ef8782611ac9ad5509525d4d2d5455d6525cd2761121d8b1bb4ded2165d0a2d617be0f4a49749cea83c32a61597bfe42057e2a14c82f87a77fbb89da45dffefae7e19a2b57d3e4cc814347a865b2eefc05441846b9f7f356b4406d550c36bdfd1edc7ddf1370f8481ba93c136053717662729cb87f99ea460205787d86860761f1827ad8b06e251c3c7c127ef8b327e14ffff29bf0f26b5be04f14f8b9ead2152a894a407d6d3904c98414b9612148a66be1d69baf853fffd2ada49372e4689b023bd3b06af9028af7bd7d832a666315bd01ca338d5057dd40cf75562557a8929d4ca54d6532ef2afd7a15bcc0d9074c5cc49df7c6399980490241d9097002951049d6ba9a25d8be412e054ea7ecddbb1b9e7de6091aa9d2e66e0c4a02242daf856f3c897929d8f37fc11a799f0ecefb8cd238bfff4d919486635de09cf9cd1df0326f470017e7771c219e535a3d584f3ff96b3876ec084de5a07ec99002271c841a9a96801da95620a1978e95952e791c9883866e9505dc4d91b3be42a1e893c7ce99b150ceeca4e19f0e7836f91461eba64e2da235ab17c2b2739a213730463c13cc4c3265310520423499a22dbb7579884ddeb4d95e41647126e316c1d7b2c125cf158ca014eba3e0bd0f1955499e344aa5a3744c48bc3dd87a92da1b78ac8ffefa6db8f1c36be0c20d4b8c926c085ae6d7aaeb1a53194c2dac5bd342412cef2a11dbd482611122aa1a99091c1a3105cba7f9c172e52ef0000d4a68f4d70e1842ad71783536f356498b00af797fff100c0f0c43ab3a763c1e2cd3d6d595e9458cd73c57207e0eb6ca3a4ff5d3f1352960525eaecd02f1d19a9a9a81f1f16905e67ba855842dabb92a185bb6e712cc1b247fb657c12cf804eb4a4195e775033ee12eb72c5fc8f9008e2b44e656b30aae7e87a7226a9aa3e618888f202c05e8dcc57832b730b004ed80a7305b3ac2cc208185c478a3cf0af55d9df10766b9754b513106e8b27a21932be92d24b5575889594aedcb491e499495f2f552104fbaf4ca969034d4e3f7899acddd29516f65122a5f1b7c26b0f523f921ec02cef780b950246d8ecfb538eed26bcbe465ae96b0a01a5f47f47261e0c38ede9c0cd135137c24d67dc1cdf3e58d9ba1bdb31b2ebf78052c9c57a5366280ea9a05505ed504f9a24d6b18a7c54746874966012b1c5bdfdb05bf7ee205786dd33b6a9dcc901a6a341aa444e960eb2958a7e2544525ea45d552dbb8f3641f343654abcf580685bc05cfbef836ecda77042eb960197994ed3b7002569edba28e6d424f88aa24ec5f7ef084fa9d7af8e21fdc04ad473ae1d1c75fa609c3d19161989c18a4aa0a021baca0a454b2f3c2f3afa973d902159934cc6daca298f6d94fde001fbe7a0dc5704c2cffeeaf3ea3c0444801920c7cf52b9f839aea388c4fcc6827f4804d55c669952c6532eab82355d0dd3b4926b35891b68d81225ecf44a28c5aec58e5c1162bfbb44d931588ce06a483357e9f5b8567d7548e998ae180c4018bc7c572397581c275349e651b7e03821244dc084c9e7ce23152b69b3bb7918299cde084db373885c393377669ffa6a42221ab1d4e6905e5cc1cd7df0518e4bff2c4940788876df2b5199dc843512042e77d7a49cefbb4799c92d7a1fc3eea992048fb8b2fff0db5ba46d55f542e4ca5d324b75f557f0e9c3af2326dde1c78b9158263759c55eac0e20863380c685a4992c76c598997c73ca1c4cc0d832ff665affed01a58bf6e094de6600918c9b0434363303830aa32f91a28530b786a6084aa59a1504c5da328055e6c2fa0c43c56cc703c76268b238033740cd83bc6b13e9cf419511bac1dc2d7c4096c8d8dcd40763a471ba0a502493c1e544121438b6c72320b8f3cba19262672f4dabede1158b8b04e8192cd9ae9bea411f61feca0f1e1c6c60af8d217af83abae3a0f6ca700d595711852a0aabcb212628908700e3139859f39ad367dad6182e4533cd7febe11022829056c30b08c6369d8d1c1766a7a82061e502b86aa852a48c59241b4ad53e7aec75b0b7961755f740c17409ba7e1b54152303e03980122c7243bed4d57a5cb92d0f6d601e857c78b1595052a0363d54f3d410330a002e8d163a7e8a96a68a854ef5306132ab2cb0d5166e7a59e34d2255693120b5ac32218d2cf8b3a3aec91b360a1636c1b02016daa86cf17668b523f8748b1c2ad561f4b4078695944d624a769e1bc0be049d9139f431820720ece067e05d12f97bc0fa9f2eb39ea1a6f19ba6e9e9f97d4c091bc2bbe5608ee799a8d419824c9ca091e69fec73f9312fdb292cbd2f1b2352dcd13a5b2adf43b920904bd1e3c3f28d67b91fe492cd0871a4079228e8396e40f86bce92a3179455f0b35e27c418fa6ebcb5174c9b744c025075f47b4550be2fa693d202dbd1e25ff2ad23412468b78ff71f2e4e4e95ed8b26d8fdaa82b61f992068a4f4dcd8ba1a2ae16da8f1c85e75f78532516f5b43630ce0d8f8cc28f7e72bf02267b695d5655a4e0b917de50eb7fbe8ac71105407a605e73235c76d139eaf86d3878f804c5ce2829825bb0f1cd3df0ee7badea7307885732383c06fffabf9f504960397ce6aeeb54827c882406f6ec6f874b2e5c057ff4f98fc0de7d07e0a7f7bd0033ea7c9b1a6b61cf817678ec8937e1b24b371068eae9ed57efb997f44d30fede71eba52482d6af626363dd1cf8dc276f848ece130464f07a628bb5be61819e5e0c61152909859c6e7d434125f3813252bb8d45023039adc16c261357f1284cd200e45f16d00005c7d0716fb4ec02c542e4b1710c271053b0a8651eb01394f09c7de45723a423c7075db9e6820a6c917208c66bd526e489a9e1a69b4ca4e0d0817df0fa6b2f53b504846cb75721f1b76facdf51c970cef085e3a3a83a25b455e78c6fe2effab0878c43c7df501184ba8a086452613878621c8e774dd0e66afd2e8ec9ef1ed4f15150109c6c7cf525b8e9e68f1229764221680427084cf04ffd9c73a0a7e33daa38714b46665aec80cb0158badcdac6280bb97ec4a2c7b15096af16996469350c5b47989123791437d791d12938a0162f2e16249f6e796d37493673fb0d03e98183ed4448bdf5d68ba1af7f10eebdef653adeebaf5b4f4005c5ae76ec6c83d3dd8370c5952bd4461c87b7df39429329975eb2dcc8d1e7553614500bbb0fded9d24abde4390a6cf4f60cc3a1c35dea3826d5331485b6e3bdf47bc8a27fe4d1b70840e024cf7fffdb8f51e6d6db370e17ae6b41352a62ed63a6b165cb410502fbe97a34aa4dfd9ca573e867e89bb16f5f3b71552ebd7839d4d596a9cf3e001da7fae1928b9612b7279bd5411dc5e1f0de2151fbbd9dc760ebb656b8f4d265b078513d64d1bb291af38d38136f4add130c309d9dbdc4bcc79f35d45710f37e728ab3680d2a8f1deb3612f161aa8670591fef674201ab6e751d700a89de439d030228aca23049977d53783d72295e6e842e1913756e02b245603459b062a13e16499c81605873128cfc3ebd87d0a560f33b020c46d429287861ee58bbfadeb42b933edbddda9d120b1a9979306ac4c65fa8b4bae7f145423e9d1b6d461733997cde5711923e37b85e247f883932723a87419014a3d3d3359eed02832139cacbbfc3132b92eb23794daca532a1626329a894ad5a29954f4005669b7092689f11e2a3c93d76500eb0f3b9c72362097d2916e74ea2a94d0ddf03df4b570b674c153660dca5c14796e67ba093a4bceb2985607266c6d38b61beccc1d636e8eb1b84f3562e54e004ab0249b5d10fc19e7d87e057bffead7abe07e1a337df045595e59400fce7cf1f8637de7a0fbef4f98faaf5d305070eb5c3928535b07dd70e95f01488509e4c84e09d6d8760dbcea37042adb1542206739b6ad4bf7ba0f5c82958bd6a315cb261056cdeba0fdedb75042e58b30cfefc8f3f06470e1f83479f7c8b5a4761b2a470e09e079e82175edd4e959a3ffbe24d30363e060ffffa0d78fc994df0c2c66d0a3c44c8ef06ab988b17ce816baf381f962dad87e99922641219f57a6cf3c4a0a96921b55b5023aa5a8130dde22a92481baaffe6b2a32a2e24a0a2f14248942f86be131bd5f3de0b8df55570f0e011786dd35e1563c21427b0409b37153e8efdf8b84c4e4d40281075afaf0560da97ba85268753ce9e8a89c854a402a9164652996daa0642e124f115b88d8341acac3a031b1528c191aeb9731b280370b925e2bf2cdbcd2d8b595590d25a87f3bbfb39928222dd85fd9414afb4925588361eb56069530c3249bd00fb0627a0b1324c37bcbd67528f361bd500a79448e2389e7196044944b8902d1f8748711d1dedb069d346f8dce7be448b01415cb6ba9a8044a63c03f1f41c18eadb0765e5956ef58347983d20e2f8a60bf8c439005149153725ce9ecdc3ced52e0eb43a6b0b102bfd151c617d7a33954ff167cdcdb5f0fa1b38aafbb6abfc492c7bb541f6f40cc10dd7af878f7ffa0a68dd7c12eebefb45e2a3ac5fbb04962f6f56012907f73ef09a02182761cddaf9d07ea21bfee99f9fa07159d41cb8e2b27321549680c30a807cf7df9e5441a58bb2021478fbf29fdf045ffbe667e1de9f3e0f8f3dfe361d2f724caef9d079ea7a4d511b0449bafdfda3f0bdef3f43d779de3f7d16162da884935d63f0cb879f87cd6f1fa0f15be49ca090d9fc79b5f0677f720b2c5ad800bf7c7023bcf6c66e58fcb3bfa4cce4bbdf7b12ba4e0fa97b1c808fdcbc0e8686264c9fdf514133051b37ed569ff32c1c39da0d711508d7ac6e81691528a4e2a7ebf28b265b310426fd303ca4b339041d61957d21a0d2867c11caac8eb77713e113c96f48dcc32c948985c8ea3fa100dbf0c83811c631f806038159a3be12ccc82c5e8ebed266194425d2bcbb012379da9332d7ca9bd16044138649d25f7d1d8d539b8d5c925dce4ac8e50115cca6299d6ac19496250f8337613951c399bbb6bbd0d97cd0684fc8ca8ff4a491667a1e4fcda2d6588848d6395f9b822b25dcf290ba28b292c200c66d819a7604ae3d394eee1a490a0d13c92f92959d520f1dfcaf260c87dccd5eb6ad64d2c7e76d19db053fb15657b1583f05ef2bc698bca3130c3e2faca8f075c6f3c7d7335f470ae8f133c40ed7587960275f0d522c973b24ab5892481e101e5c7caef87e478fb51300afad2e539b748502ab41f8e6b7bf0f6ded2721539686cf7ef23a3867712ded1d5d0a806fdbb6072e5cbf02aeba7489fadd24bcbba3152a2b33f0177f74077cf7078fa97593a2e99bd6a3a7d45a6f82db6f5906afbfb953251719051c1a60bb4a1eeebafd12f53a1b0eb41e87b613dd04f01f7ce479f8ed8b5b21ac12895b6fba044e7474c19b9bf7509c5e73de12f8f087d6c29cfaa4ba963550a98e73ab3a8e011503f07c2a2a1640f39c1a689957ad004c580110472538b5442c2ee4b2a4f08a9e6ff1645288d6a1dcff38adab78aa1aea5bd64338395f27ed635d50cc4fd0dab9f08255f0eaebefc24b1b77c21db75da13ea341dd2b15a353de5e4bd406baa61e60e7c480aa2776e003d530f960a7726832017c81c6358d72d4a20957bb626ad8631f1b1ba31bd7db731ade79fb4d48a662a64da3c1882d66ffd9f3c6579d99453031558d0293233d7061f1186c0938299a5647d1d16c7fdb9255150fa4209f2416b660c99c18c423012aa01ee91c8437b79f84f39654c1aa45b5045c7a06a7097859b236e30890e2293e7958c528c13a427096b39d7736bf09b7dc72876b8637aeae1902137c5d55dd02183cbd8f024a249c10245acfbcad683c371c23514b72ee90f7959e25d95156b924ff401a046aa32d8736f3d1d1499ab459b2640e112f0b64dea78df9707c35a7be9e3fbf8e8eeb74f710c4e26198d358459a27f8594755f040a120e4804c4ee614e0d94e550e2cb7e3fe954a27605081bf7bee7b050e1fed829b6f5c4b2d9bbbef79155e7c6937dc7ce795e42581e2648b1737c0e7fff06a3a96f1b1497a86623565f0c37f7e9c265eaeb87c05a9296235e12777bfa482d501b8e4e26570c1fac5f0d24bdbe9189134fbd5afdf0f9fbceb0acaee9a155840cb83279edc42c271d4269998a22c04cf119f9b4c591c8eb475c17dbf789daec575d7ae84abaf5a466a8c1a141680a5e23dcd0d5d7d432056346672739b2a3d6971020321054a7a0958e17544355bfc7ccce6985f85c7725c7d363e715851416139ce9c3973952ec4f26752a3835a14b8760396ab8f11085ad4768b86430440f4c6c74aaf9ef3afe56e5aba4a87e3d0f8ac6a6975ed6b133296094e510bad4d994a0eb73322a4b590752b3c5ce563de9ad6f0b03cc1babcb436001f0748126bb9c5492e3401ed91138ed83e597da9ebc2aecd3e8d9f62d13d17a92ecb1b385788a4ef110316060bf807c9a3cc31e1ea821c33ce0be3470df23ce0c1804eeacc90c582210ebbd36126d960ae19563768f2c60a935e46c8f8cea072361f0b1f7ba9232f7fae2b7e6862b99c96d25540cbe590c86a0dc767f2e5a1ca899601e0dfa7cad0e414554bf0b5e599b8fa5e5c6dd2956a5dae81f9cdd5b06ef55258d452456ac7f35a9aa17dc7019852e7549989d1b9cd99bb98b825fb0f9e808b2fc42a6c0c1aea140050a01e89aeffe533d7905ed1eb6fbe476bfbfaabd7c1d6f78e50b5e3cb5fba0b3ef7995b6172fa3178fea577e9f93867f15cb8f6aad5eabf75307cee1c387fc57c6abd34cfad25b2eb645601a8b23a58b5aa592531f530313e6c62aaf1832b628b3206e515293a16b040c865e45d3d7254b246b5e8f2ea0590ae5e02c1d81c1819ee879d9b1e8393c7b7c179e72e52602985c2bc30774e3d7cface6be1d8b136b8e4c245d4968c44e37ab4db283a4f4e4f826d5cc78b056b96cb32576c5985f9ac02267ab2c1f195adb5bdb60a2ad14ab0c3192acd731b674afd4da7d3f0fa6bafc0b12347749bc2b2dc197e9bbd6f0c40f19befbd7fb5241631158ebc57b6289e612a26675c4b53310bcae201181c2bc0f8b40a6601cba75fc280667e1d2a4502f40e4d42453a06ed5de30a2957c2a9be2cd4948fc2bcba04f48f4c53f1436b2f145d6ce30ad93bcefb106b4bda4b8e43534a870e1d848307f7c1dab51b6060b08f7aa5155555f4fe15d5cd6085d26ad31d264256ce8c626255430b98392e20d172f439ad0b61009953a214c9811204815996c4694268340b575d791edc7adb450a4c1e806f7dfb1115e883f0853fbc8ea64c50fd1527651028fcf5577e46d52fcc54400596ce8e7ec8abac1519f1a835809b1472439013b26ac53c05527a60efde13046c22d1a00e06eadfef6c3908fb0e74c2bc79b5f0f93fb80aba4e0f42affabdabaeccd0268a4003d511b1cad1a440cfa9937d049ef038c68f4fd3c40b9ed7d2258d50a382dda30fbe0edb77b4a9d7d7c397be783d9c7be132e851a0e98d4dfbe1ab7f7f07bcf0e276f8d18f9f23af8ac58b1a499d75cbbb8728ab42b0d3d05045da1333a44912519b690e7ef2f317e174cf102dfccb2e5e024b1737abe31c31a3aa4557e29e373b5c238383c3d076bc9b366dac2e555797abefeb123966f7f8de6dc74fc3d0d03889af619b264c20a160a62d42f4336c71e1fb232916c5ee585e5d3adeb2f095bca772b2857575b03f8eda10cc13c0e90744eba83a1a8e46a8d56359e04e5ea07f8be636818f97c4ad070205c843c11e376a108583ae9e48a92c398fa797261c14038ce70ea9de82630232f8266b24afa4543ade338fd4592597ba2530c17f23a0e2b8c2d7ad94185efa7d298bc060c103459e0a3682ae5242327fcfd53b31804cb6634bab23923b235b73f8731c1fd524537c7ff55f3229b4e9beb192b3656b6e108ec8a370613c9e308449f0e992b82690c190018cda519c5b1038393789d51d47db2ba09f8f578966c2784ec41fc747f24502efd0d0308df822a84619021cebc544e03377dd02a73af7c3f4d4b802a53654d6349315077aa81549bd160508abd4b39021b5e1027a60cd4c12191463d03557ae8177b71f8157dfd8011fffd88d6a6d94ab9831a0c04f06569fbf0c366dde061fbf6d04962c5e087ff4f95b60d79ebd743c083622210b46c6a6a1b6b659adb926f59923e4431308c5a1a6b29e9252044a99f22694d1a3cf25314675dc28211f8ec4a8d288e0920c4d31e6daa8ef33a1ae555825e81550d6b00212950b60721c2ba287a1adf551e838f69e8a857d2a9697ab6bbe82266cb0d3803cb40deb57c3ca654d3030a0d67a20a99e9128cc2830820ac294c4e5f0d989e1d092a74f2538509af09c3749d259382eec4e5b082d01ac5c5841054ad48d35b8847aa89c1dbeb77d2b95ddd966deb63c4e09573144147a5fe606d987639f5ded574d950e896615ddf68cd7c6c0efe5a802a2c0464d0016354460e9dc382ca8570f8d65266d58300ef4824a276ca82a0bc1d14e95f5ab8db84765f1136a2dd75424d5624840d70092030b5093d1931cfe5960e78ca3ca3e913567366b06cbe763a3c3b073c736da84f0d710d0654d1041d7cc48bc523db8a3a4888819044f8078d58f90f1d7b07d3a3041130cdd929f69e1787e317e09630cd89c598fabe090cfe6a05d6d9a38028c4003155d59521dcf05c5c230b3c796068eb82241f3f4e9013adf46051e8848a78e616c7c864acbf8f7f537f651450045d8105ce1b86c4e018ec3474ed37baf58de449a1d68f57ded35abe03af5574560a8aa28737ba7059391ebccb3402265c71530c1f75cd8520739f59c1d6deb51ef9183756b17a96ca402660686a0a1b192781ac875f9fa3f7c0a2ebf6c059d1b5eabb7361f50c76a531b05f76394b6c67d105b2de8fdf3f3fb5e81addb8ed06760eba2b76f0c70d0490bb8d914747953d3196e818230b6b9fafa460884d4d696911e4b3697a74a0d66f6486c3e756a406f02eafe23302b16bc4d13ab2cf81e8383e3d4dfc64a141e232a46ca115eff9872d137d22a2749dcfb8df6f256d09076c364de889b45de54ca5cb08b3abd86d408e0f8da0f3cb1425334011661cbbb53214c6ae720ca8098c194376aecb8d306f8bb5af324306be49741b69ca0917148133167684aa2b47524c9bf92e7c2bfcfefc79fc9ad1a5e335c59e02944a97d2285d4987fc35c131fe1d45c0326234bb34bd9522955b8753977e6b874fb485f2b24bbb2922e182566ae12a30232a24d6d9699f78d46bbaece6e3c306ddc8896ce27912ef57b599ab8ccbb2ab35e5b2de88a17ea2aa16ddc8643be163c02540418f87ef43c58daa91a81c7d8f8244da4a433cd50d7b048c5822a189f1883adefeda6e8d9d6d1a3128161d8bdf70074f7f4c1bcb9750a580420a9929181c15192935fd0321736bda3c04d16f96375545d44b2fd398be753fb76fbce3d0a184c40437d137cf89a2b5472b44825a521759e19983f7f995af35175ad22902aab87caaa26f59e5574cc96a55b57c44752eba34c01a4aaaa3ab2524190343931a2ce01e3da847aff7ec865c7d5458941aa723154365f0555733f049d5d03f0fc1377c3e3bff81abcf8c4b7a175df4663e499519f55ef7af778cf0556b9325055d302c974a5be7fb4e674eb1ca70a43e1a8dbca918abc1a745a86b8ee9c7dc0442b86167d5a09d4efc6070e59c641cf3a1c37587c50fbfa7a61ffbe3d9048c57d63806e9996cac5369ca969e3ccfa9f0647b8e9e07815660c8522cc9aca41e01157a0647163181aabc25405d97ef0348ca9635a315f81a78043ad1beec3d071a94d6ed7911e7abf74220c1dbd13348141d9b03a47acb46455065d531e35d7e14c5a28ce6c713547126d1d8f1b635a579801ecdbb71b868687b443eff4348d0f7357a8b2662e65443c96ea8d0417dc8d5197853d663f82be3073004c6094a562e93dc4d928eb0f3038c1733d72a48b32853a054c6a6a2a49a3843253b51163956270688cc679318bc7a99281c131aa863422bb3ea8157d513e1d2b03273afba96d71c9454b487a1d8dff10980cf48f294033440b104795f1aa2d5ed4007ff737b7c1aa95f360b4b317f6ee3f4192cf080082414f4abcbabe92aa09a8388b559b450b1b550696a70a0b02bd3904908000f0d8e8149d27725300a75fe6d5d07be0c6bfff40075c7cd132b5e967e85ea7c84c12c860f0c187df20a2ed3557ad849baf3f5fb7a78ef590543f820dbc86f8792c72e495f5d127a74fddd771da2ce735d751c5846c8ad47d4da79204c68e1defa66a094e33610589412f8201e4a81c57001033441a256eaa21727221eff8f85d5c41281d0b965a1952388cc89186aba4c5b98008befad86c17c832d9bd54f746aaa1d208b5657b74f0a2e766cb819381246777b26dc8af4190e638e0b6b0a464be9ca6e18d55125c35f8d27f0b05af8ae4995c3ab33450e4440dfbdef06bb8d2829b078312a9012395504b41a0343d947a28f27a045c434df079cf48bd1406815c99c1a0a149a945f73a21f02f1068642f9ba0ebe68b953f76bc2e159f638e995fe9d6762729f17eb9e3f5c6be21273651d9da01d2afc91927f8804f5783db63915098aa8e08ca3539b840496b3c51a640411591c771d4ffa15f3dad80c91e052016d234ded7ffd7cfe1df7e701fac5f7b2e9cbf6a01b57e71d26d68648c9ed573972f52c0be070e1ddc4ba4728c5998c0616281c0fb64578f3aee69337a1f5571a7162aaa1a486e1e3921d3d3e340ec3ba740245e94bb28166788108bcee7853c26a3c8d999547fc755d23d43e4d44050814e2b02b1541394d75f0073967c049a97df09d5cd1f8278d97c6aa94df6be05ad7b9e53f1a55d01a114c41219923dc075d7d2b2400f24886ab5b6e27088fc6b3318b5756b1eb56388d86c799213964fee21e0e3179e7d15134d95f7119e74294f5dcc50da25bd6655f69d255e444465dd6dd0d9a1369658dc33e1b32d57dfc22a01252cf805dc12117fa979a2ee65bec80a91ceac6a054e64212859d410a212b34a4ea1a35b21f1fd83b0a375403d835968a98f50dfdf882492bb6fdf700e3a7b67607e630646c6b2303ea9c08dca7ab56db84359e664b6403c14f4ff29149df79d437624e176d67c8e0657014bebb660cff044fb713879b283544c73665280ffa06be474b6408b3f1c09d3822e82e3060d9ec4d1e5d7bc092445638416f0f14a82860720373509e838e0623503ab1f878f9e22e1a279cd35b479e68d74361e037a3da0570b564b1a5beae084ca70babb8748b914bf17aeaa8191e131056e4ed2063ba636efa54be7c0eaf35ba0ab6b90f82b15e8c183d32fa6674e602dac0985e80b33aac0c4d7bef14b78775b2b715630234412695cdde06a05880eedeb808dafefa3eb5c57574ea45be4c168726891aa1de98ab47a1667a86582666a58b5280c8d430f564b14c8c11651e39c4ab868c352e27a2088c2e3c77bf1939fbe4092f1975fba1cfef62bb7d33823022d2ca323907a67eb41f8d6771e23ae0d7e96cc48d15c0d89af288086ef852da362a1285a1c011279c2161366a528a28604dbf189494fae5cbd1e45d530a0e12831f274f2b9a2ab1f73260f19ded4982fc19e4a0c4c24a7c89da8cb51075d3d8f21eaa1eb8dd8238f4a833fe930aba77c5c7f6ff7fcbd1160f099bb71d222154bbd8dbc48d31645a3c1c1550f092cf88fe47a7005872b24d25f49124a4bcdfb647b45125e656c932d96d2d6b2e46f71554a024426abcb6a4c29ef87ef9524bc72d58bb369c92f21ce53d1d30d2998ca86561ace0b7e11138a8b3e155b29a8c6f780f925d22094afa96e27462829c24b2dfda674cc299a9863b92acd32e6606db7a6aa925c84f1f34f750d68ae1f57bb30f12ad709ed8fef7e18eefbc51370ce9216f8c2a7af818fdeb40ee6d4a7e1aa4b57c1276fbf8caa18916846250395144bfa0646a05e0110acf2e0487f592a0293d3791225c44a6ac0283523d70393ab2c4a2944cb68e36741387cd6a9fe6ce9a930ac8e84a215104f3742ba7c2e54d42e82b2ca164894b74024bd081255ab219c5e0aa99a75d0b4ec1350dbf261054cd64022d3a27e37e6dee3c9b15e6868980337de7c272c59bcdc0c0c60053c031bd65f088dea6713e3e33e50eb4d396995e080ebd9645a7cf84c4dcfb8d54a473c1bacd6abd5b5cf42133f07bc960b671228a4568004044209179868f6771652156af368dd4fd33968d6478b410212c3369f5d2e3174566bf66e8f32c779f54045b0c455cc6ab064d99e6dba7a5d636590164cdfd014d4555a70a267025a9ae7d0311dee1c83e52de59056cfd1f0b843d5140239ea662f6caa84f25418f6b70dd1c3cad90258fa78a6b345a829b720190faaf79e21874a19ac1c8033eaab9c495b4567a21691d50607fbe1c8e1432a03584592f5d30a9870c04ca4d4e28b95a90d6b9c544e895cec621ccb94500346a84c13576903b4fc2a928caaf92f97124999b14ceb7920a78284cd525178eef9563871a217eaeb2bd57135537b4707d680faf7240507041578ed766d39048ffd7a93998eb0a1af7718f6bcb303eeb9e7053874a893ccb550cc085b335815c156069a696d7fef088d121f3fde4b3e17fbf6774047db69d2fbd8aebeff831ffd56819b09f8ab2fdf020f3cf83aecdc7d8ca66caaaa53f0d65b07e1374f6d252e081e3fb662d02ee1d5770e922b328213fcec9b8b17c07b3b8ec296adade42bb3e2dc7954e1a02a873a56fcefc73f76a9daf4eba80c8c4002e5ed91d9ffabc7df56012f0e9ffdd49590a85f0043433be95ae36bbeffc3a71528da0b0303a3f0711538d90d1703287257c8704c813504e0b5b51958b776096983e035476e4ca6b90e7adf6b250e09ae83f356cd87ca8672e86aef23d7661c37ccaaecef04f1672c02456bd72ea64a8e0efe01dfa6cbd937fb99f0b4066fd29c81f3a6c8c257da282de81af0e9f70efaaa0bbce1c9ca8157fdb029dbb385af4ac818cbc94a075740a812a323b20f04448d523496fa0bb6e31e8fdc98191070658fab429c35721b85bf96952219b0e5f59092f75ccde0b5c1df6750c6950059cde1e3913a2412a0048473b5fc1e8f1fcb9166fe1c69aae7f1616c172c064341438077f4287bb02826f61cda940bc53cdd478c050e781c33061c52044eb6f978ca88f90bdab1d91689b8e5b66e484f097dd10a1ef094f78b7cae5402b276ed4a7877c73ed8bdf7b85ac3ad70ed351f82f131cd653970e830fceab1e7e0d5d7b7c2fcf94d70db0deb201428c2c5176d8075ab57a8631957fbc904c49335c4396999d748c780bcb0ea9a6a23fa16a24a2dee26c7db4fc3c4a47e4ed1ba02db8bda30523d9b0a3c54cc5def0e5e94b63dd0797872f8041c3cb493062cd41d865c1645cba689eb81a26863c3a7e1820b2e82b2aa45efbb4f6627ba884a80429a17acdb00c3a3c3744dd1b0126d5930119164ea52013e02b5e130559268fd1a3d1f953710bf45afdfa0fbbb2e58b18a447a3eeb800967299c2de885a3826138a96e7a14b83a4be430433c6d3f7e5c33b531a25aba1ec57a2596cb75b5443de18c82255eb948fd2e09d214b538cdc40c669fa6a46daa2548766d3d310cf52aab1e1ccbaad75b505d898832aa5eaf1eaec92cd4978749f0abe878063cc998f67f191acfb923994c13a1de3b2e4a2c79ba133d96c04ccefb8ab639675480d5150fdce8a750fdb3bdcd6c14da9409a79a022a402692652ad347d7cb536e099799f32cb35f28e45cb33cdc682870e73dc754cef86450a78d06d54fa361d8a940c0a9537db072d542b579d7c3de7dc7e18517dfa3b2e845172d2715d87e95a1703918151083666a65f7ee3672c8bde5231b54c65f461a1f3ffee973d42241c0505393a14c0989a8175fb09014102bd57d39797200fefeab0faa20922559761478dbbda71dfef15b8f9200dbe6b70f415afdfe37bf7e27acbf643909263dfdcc3632ef430d1274db5dbf6e1109449d3a39a8c04d0ffce5dfdc476679cb9635d2b8f14bafec22e55a741b2da8dff9d427ae84f24c0226a675d914b91bf3e655c365972e27c081826badada7e0bf7fed1744863b6fe57c12507af8d137e1987affd7dfd84ba5e4fd074ec23b5b8ec09245f5f0a5ff722d2c5d328764e531d9c46c7fdbf6a30a149d804e754db1fd84d769c7ae361285abaacc90581a0669f4c6c1fb9952a0ac5b1de70e05f05ae637c0b4ca80b76e3d0087d5b1749deea78a0b6699db771c2101b67432452ec5b2df2cdb1bac86cad92f1328f1af36612bba192ef344bcf684e5d300916d1ce66bb85521fc4ce689b0cbacb0e296fc12dee471d3b7cde41a6ba9801915a63692a55b1148a20e04bd8d59b667e4f8b03c46be060cd08a02fc3038e01695acacc871612961cfe3c3b22225c9b7a51384527997418b36329cf17149b8522249b97c6c6c8b50aa7ceb81ab2255cde8b88a58212eb82db97c61464f594535ef0435848a344569b9808441971cfdb54a04176595a750d4894e51549b983f423fcf175d156a24e6f21835f39a50f7e8aa2b2e5209c83e9a9cb9ffa1dfc27195f0249371683bde49a26568ccb76ef572b8e5c6f550598ed5ec848a79b5108de5682a26960c1061140703ce59b200162f6c26d26b2c1ea389b9740ae5151a606e533d6cdab28fa6c67002085bb9986ca553416ad30c77ef8778e65c08272adf778fcb4f1e85a3fb5e84a3c73b687043277ffabe21986c9cd304e9c8340c75be02e54d57cffafd19054ab2632749f82d60ae59229e50c75741c9f2e49426cd46c3519710ce6d2f7606d6315a8197bcae4852c54addc320faa6b9ebcb729305bcf67aede5a99a7bf64de598323e2f40ca12b29310206bf288bb782930aa9f0f0d0d4277f729cac6b947e6caccbba5126b969aabe5ff3f01542cb31103f50d4301a17562162022db2dfbfa8927529589c1bb07fa0879161d168d0f28605280baca98caec2c42c6a89a8802520874c62773eae129d066627a4aa68d842d240d9fb4c4b3340b747e8f1a9c734680428250f820aa8da7abeb148c8c8c5005854976511544b032148da7a177e0b0ce58a321df98b4d614090ac97a07a6b05f2efad5723490031d7e06b6531040fc1ff6de3bccaeea3a1b5fe7b6e97d34d28c7aef1501125d0830bd8329aeb8c79fe37c4e6cc776ece018133f212e712f496cc7d818d33ba609102024a182909050477566a4194d6ff7de73bef5aebdd739fb5c8dc8eff9fde3eff994e1b9cc68e6de53f7d9ebdd6bbdeb7dbfff6f0f0a2974dad431b23247dbefd6adfb68d1c22974ddb5674a8643561c89c0b60606b27a5ff9ea5b722f6fb8e12cfad4272ea5d56b7608e703f7e1ca2b97d24d372fa7575ede48bff8d55374e5258ba50c83ecd6bcd9e3044c8c1b574fcbce9d4d179c3f5b40c9838fbc417bf71d61d0d14e172c9f4fb7dc740eafa24652f7d16ebae9c6b3f9583b691b07ebc6c61abafcb253e886ebcea48d1bf7d04f7efe94947dd2b549fae42796d3f265b3f85876d3830fad11576410463ff5f18be9acb366d1fefd87a9b6be8666cd1ecfc060135d72f16221b5426a7fd18249b463e7611add582be4d8e5e7cfa5975ede42bfb91b7a279badce481535ce1a438b4e9942a72e9e4ca346d689de095a6f5b5a7ae8c73f7f92de7e7b9f780a0104a104b667cf61fac6edbf6180378ea6cf1847afbdba59ae37400ec01bec001e7c68153dfae86a717386a0daebabb70a70a8abad14d0b47dfb01fafbaffe274d9f3686befe0f1fa0d14d0da281120610477edeed2871a5c6dd0e2dd72365c85a16e8587117226e1075c9a85abad0a019716c52968f908f75b9e867b5132515122753567a7f40ce13adaf387cd7acd2ed5051e0e072a41404e8714672ed26d0177adab884580539da3da393bd96585c8e562187c71537745b935d7e8f66a75c0e892e185c42ba6beca7bc17bdbeae7a2dd2f5b85f780164807f66f467b246add596420db8cc89f09c2b075028895f58fa72556ae53d5a4a28e0f1b9cecfbe68b30c584b81646c1c8117834cc1c73e74adb4f56e7c7317dd73df93326f9532b09838a189aebeec4c5a386fbce1fe0525d4d430ce94aaf8184acb6a0cd117198b811cd5d654d3d5572ca71ffce8b7d81bdd72c379c2571b356a14fffe7cfab79ffe96f793a61bae3e9317a35532dfe7453dd593b25467f35a2aa9b87cd8d9baa3793d0df6b5d1d2b32ea081dc8b22778163d7715b549c94ac76555d131d3bba9be78c27a872e4022a2a6b90aea1de8e77a9f7e89ba6a92399703a1dbb78f151214ac9b1723a16078ee694766a89d5086c48b0f810709817d22e9e2dcc535e90081b21dc5674d3ce7c320aac5902ac0e5ed33d9230c67d89a8f69a436a892ff491a347a8b5a5d5ea7244e51b95550ecb42167428fb3b185641cd012ff03e91f6cc41032083944957f2e660b4da9fcfd0fca61aeaee1d24701dcbca6ded4d3e9b645063529ea545093ad6c337147de399045596a6e868479f2915897a62bcf52a05ff084c82b6a532ec060a0a0ef738e1b5c2bf79b6bbc9fc0c49e7d6d6665e1174f3435626e02fe7048b12062681ed8ed0a043e1e488cc088593a9ac0831c938b5659d405dbe896683b07259307fb2003df0461044c109b9f89253e9c31fbc901aeaabf93e76cac361b23119d136c167be73c7c764a53b6efc08eaee1a9092cf37fff18382eee1f98255f4b273e7d1fc39e3c407a2f548976468aeb972319db1642a3535d68b6a6c5b5b3b2d9c3f56f4495a8ef44a47cbd8d1b55257edc0fde0f3aeababa4bffbdbab85280ba1a6510c4ed0e9856ccb3f7ef57af19499346994180db6b61f1321b6850ba68bd11d56554dbc7a826a2c1e5ec8b92f397d2a03b14f516d6d99b0fc3d1e03175db890e6cf9f24443ca82f82db71f1fb16d2dcb913a8bdad5b6cebcb78cc800f5252592cb2fbc8ba604ce1c6c25368ceccf1bcfa9b6ada39d1962ef2de26958cc08b2e850b962f94724ec28bc8d752f7f60301f1d5d5e5346fee249b41d3e04e423eaee2bf419957db4655a04b4187ae5615dc6aa0d0894f4b08ee675c3d0b57a5d5edde305d1f79d125cae52343baa823453d68d2f2dc149ad3b95d277886c8fa2829895ba4b6b343a20d91b4595594be5c075ed77dd7e565b81d0aaee89c2b1e369c5fd070fc91e1b2174a0e8f4a14c9d0304fc5d2dc72882b1ae7967edc6374332caeb85b21a159bb9fb4d4a3ba26c66c3119f225f06f4fb2d451b949cd125daf2317d019304931f97eedd003e809b352b6c320e1271c0d162de7258dda6bd2dccfa804149502bbbabaa97e44037deab69b78c1f03a1d6a6e936b3b92e71690d6cbcb32023a4a38c057558fb2d900ed7ef21d63444f5a8f979eb688fccff4f173dc4e53273789d819caeccbce3d8317cadd3c2f74d02c5e0060d199914e163301a39493eb3b4cddadeba87cc4a258d6abaf730f1d3bbc8e526990f26b69c99225b461c306e3612620aa94e7b7390280404d08a88881c85ef2078f523e095d9f6e0a72fd54515123e52dc86eeb3552e556111c748c36130ecfca15ab93fb64b398a2c6ccf7197c4d949412969b485ea4f51313cb0b4e42602283d9a955a3a5491e906471c818d6d50b1ecc9e9e2eeaec34dd26a1015dec3f8748ec516884166fc58d077b591d884b2349fb186aa92ac59ab716ebe346565275459a761fec134f13f182c8477d3320cf82385b56ec515b5720a0aa280db0e351ef403e144953b0a137bbb424253e2bbdfd3943ae3a914689abfb7a9c647e608351225466c3353cc6c1b4afaf57146187067ca3e867bf8a4a2aa51323af5e37412ed6bae7392045488f8177dcaa08139aab5669543fb3529bfdf4a72fa3f377cc6770c4c0818f051c8f59b3c6f3e4542c1d2142b6b4b2d81aa8c0019834a5517810a26c5a5c42a0bfa074834e010469fc0dba12c2df6030a0c67508ca132760b241eb6d87a9930e06925d983ead29ec9e01c90e59059c2ac0103a526a3930e3b8015884532032ed35b2ca80bf4e6b4b27f543169a01042698f90ca0408833a044f91439e1eb8c1f572fbc12ec27e19989002527801c8031d382edd184710d3491c108487568d184105b27efc7b8259b921a88b90046c824895c7fde30f04128c5cbb3fc00b44d1b3340d486fb2d2723cddb1c0c9d964d30f7ed7d1b0ab38c6233202de5e6deb9edb81ae05c497397e8eab6a2ba644c9d105d47e5c2fa3beeb5baf8328ae7272a19032c720c794ba02d2809b8990bd70119c780858d67ef8919c724201d6344f81a1ec57824ae83adab76ab044fb7ec5458c271cb307ace6ea78f060fb7e3c875f975c19a7af814823917ec0576451c966bc426221903256ec642cfa5305353a847a3a9fe50d0cb72e1cc7c62baa29404e987de369a45ca1bb3449f6481618e9986e58684c003a00044ecec90c395b1fbb272f4d816b04b2e9f8b7171f485e305472d9da9a0b3ce3c9bba3ad02d33684b9149010c753ce79495571a42bf430c7633bc8657939012f39225a7f1760e49a9a8aaba49162fc9648ece5f76161d69d92b00a6a6aa41b224ca9311a14a3e96aed68d941b3842c9e251c22b19ec3b4a3deddb1908f3b522a375535f574fe79c730ecf1bed32cfc0151ee4556451e0638367b1b4bc8ef73b4883bdad3c7f0df122af563a76c0a3cc5bbd1ce5ddc9cff6f9f71c3e966bd5e00270b3a0b1994f947bf03e9473d21923f266c7ac3b9665bce5f3271f30c1200d9cb63135ee32c1df9a86a90329af0ebb3a3a42b548d54ef35ccd12470ecd0b291b0a588202ed8f8885829565ef80915a07e15626454fbb8438c0257d41ac9dbd39d3c2ecb4eb4a090692cb89a435b7f2252598f04c06a17fd04e6a6ee125307a00251cecfa0773d28e9cce788ecc7d4c4625fa7e9c2c6c94314958957a558c80891af44ac0e60e9c2e06f38016cba46fc0c480b4ac4503db689998c16dce1b0f2f2641df4e0c2a93ad2dc1fd965c6b56bc06cc2d9c3729d43ec10b1d357dbd0326882423c756392e39e880da3b8ef12e13e14408f130ed10303dfbc51c7cfac508d068af78926101c830ad984188fac189c90b081c0827629d3c4db0314ebc2e935d036f6f7f967a209f2fc0d4a3d274915c72a84e0a88cd51ac6ba2088ec83c6ed155a413a749d743cc6d30f63b648a5032c9805c991d943abe94c9d22592263693be99acf17e9059d5721e63cf809bb49178b7dc87c0f22986068dc22c264f99783d04dea49481780d28d7399b35d9125925a7d221ef22ed90dc34286bd0d780a0604553c7da41a25d18eaa0ec8214ede6d1601b760b90724506793c64e4d944d934a5da44a9a210708ba6487e30cce6b85c10c38df0c3b676d3159435e0df4b491bb60412c76558c7af4b82753b7e862b19b9d91a6d5b7503bf6be1e0cac6bb25175788cd25dfbad2ebc9027b0021e1a20c8b316683a1674c6b62c7e89e9b10389df6517d7edc63d295b482b490f018e424d364aab866b9a704569026a1d501d017667404cca462867c81930577c5e1e4bcc40b291bfedbf81879d28eef5b7e8bd1b74ac4ca537afcda3da6c2762525a554513d8effdd6bb816c565b2d8c218420bafee4782b9bdc74a2ac67ce1075959786573192a296ba2b20a9389c735181830e31bfc94f272236581631cb27a2c209ee6a41b2749bd1dfbf918dea1b4d5f0c1b38c79cc1817e6c2aeaa31a3c784d7bbc776d2a43266be1bcc0e997893e6734818dd9a9c9f0fbbe2dc5673d3659392050839227e2e10d4e752812c88cd833c79f992a1c2bf4b049444738e171b7fbe2c144ec2ae1c19f4ae0a22106d809fd361c6c477561df07f314a9289305b42ca31519d12e17e7892b6f52c8724f06878f5542f08cb1f29eb8ca901204c52a0ad2c9364000195575f942d8590a7934cc24aae5b2136df664f4431926fea90ac9e1dfd91c08099d26288fba4e940eba0ac0e32148429422d4705419cb41b0c2310178a15211da72b0c4c94fcf0018d8b2e89057896ed2a4c6c381ee7e5d84c1d3191d21a26b691b5694f8ab574661d1f8e28d3311493fa56563756e6782801fac418ca41f3260be30013d1ae484af70876afc65dee84e4ae04e4183c920c9ba6c75dbf25e5286082f083205c11aae4b7bbdad555abfb794d754b20c6430a75e29c1f06a5840a453b00d1adefbb29763dc7d0cf05aba34c64a300325d5ab90eb624816fee0a5b9530a55421a9763e8f7451412b5fd41912f28342a2a411aad26b83c9d53587733b71dcfbeb72055cb2b32b24a6d7d56dd9d5c014faae38645ad9beb5a2c0a408422526587d9f3ad7aa06862b66a6c782a0eb723c947fa1f5760304d2d4d7df1723edeaf9e9b1b8c7e5b632bbdc9348f7232a5fb9e7e266370a0d0235e8abb26b2181d6bd7f2108b16334d641a49a4fd633489754914a67d441e54af3eb38d4ebe26aa7b85d44baa8d0ce0e005b2ddf21d39ab6cf476831e10776e13024f377da1eab7b0df559513011f3624a46d61786e39793f2b1dbb2ed96d38693e18f4400559c2f63afab2f005d9ca9ed5ca49c1b975fa3aae3a2e83b9833160a4955158eca26e8c2315e3f4951238611a5abd01b581d182c2ce03b2ecf25df9d12deaece09eeb9008ce8d873cd23b5c427e68856472ae747734ed24bc49f773cdbd9b8389f9b2573fd8ad40053161a39bddf455606423941146b7727a7d3f3a4d331311907df318f339e32a6c61e7150146c0c0cf43bacf7a85cf35eba1ff29faf38c3775e112139ef9b87ad38933420c2375909fc0e9cd59af294945b86729eaca0c56953db8925c39090f70f0ce5c2fb08733ef1d4b192bf7a3c9edd5f356f13fb6beb1810f4ea725b0b55e80307acc4d54c746597b04ea87e589e926e8a817e03e2549c299c303366858d07c74e4a3ad147f57633090c0c0c8693b1068048a533aa970f67218f5545d4b5100941a99f09b25fe6214d85226091c2663214d88b079dc092b27c09ec46293811b335d06d9ac924de19e1ae4addce8a42dd05c90ce92a382c57982e2b0a28663ea69fd56b60d41e2371ad6892f3c33143e144ed85d603811fc4543b63c281b643454b982815a924bb967f108c239d8f9c94c07c9bb6ce494621f2467103656190742727f7bae2f758a9ba8456b73344f5375c05555715555f99543a541735e3364a33bb0686da86ee0658b765d91d6f912b70c6940bfc2880b825aa78792a11cb9c44abcd885be292bc5d775e97285b0830dc36dd1817a60064e9df14c069102de4b008880ca2e7de6866f8b12c8ccb9371c50fddfb60744432b1ebe6de2bb745b7b05559ef2f32c343b68d3ae594711514b992fd210fc62987e11917827e51748d54e1554b2cc80224aca09b6eb3b01bd0f50d524f1edc37a3afe287bc9548cf230841b41c7bd2342364b58d9bbc9850640414874cf65e0d271dfd1e055e3aa7a5ad885cde8e97e3327b0e7075bbacdc2c85f2adc22c1b40a0cdc4bbe349e7151794e8b5d0bf85cf4ab828362de185993377f197b00aeac638904eb0a2ff7f1c98688072951c8514e925628c7dedb135833a189632120676fbfec015532b2c7f38b511cf76d70078f8123cbdb02402f8924a04215744cdf2dc920bfe0f81348ca51e704512e6ef49cf9051fd8254584eb402889aea4bc55fa1b9ad5f32328133f178c33917179478dcf192f05cbf9068c271271577756f528dd1441414d423f56143704fa64ccd190fa80e7e4de5177619b835f5bcb3f2559d9998fe893d97c22089a06eb6e5c78e5b27a8d0755782ae11860a8fdf49fd2a68d2fd29e80a09bd05e4443d06d59b1026bbf557f1adad8111854ad854689ce4e98e69954017c54ba4e01d0d0c7439c80a515c3c8d878817ae08fd98505522040743360b94b2c65e0664ab10988e7997082981ddcabe9b311ba57ac3d4bc3369eafb22decc50780eae22aadbd5a2c15403a8122935602ac873899ca69c15481607c454dff76c3d3f190b403aaec01b71275197201b75f02463591af7feba72043a59ebf92a0071a5eccd7b6cd74e3215cb7eb9804dc18acb397181aa0becdc8e200d2ac319edb9014301bf045a001a075829b8705b930b9f1337bb50d851e5aaee86738005d16e6949f7356865f3e5d8b3918962e851e6005c572c4fb73164f96849eb92abbea44afc0d9c4e12792553b14c53cc39ba4090cfb50290f11d6654237011666629b23090e6866422a40a84e6b18e8c857b1d720a1a9c6be7d97357014b1131b4d7cf35bb4c380ba742ce959bf9d3d677e34de4643093492bf3efc540885b8ad47f631bba708cb28249b96fb9d01cd0b7738b17bbf6e138b1002f6963c049074c8cce80779cd4b2f71ee923efffd3ef82309b107ae5189410bd420f1de3166cd8c914226fcda868a7c3e0906f3b7dfc98643d8eb5ac284903d91c0de68ce330a9b42f2495bd4418d8446e39e7535d659a465417d39e435df21993713991dc4a4c7cfeb82c8aa6dc8260787f9de1be9209a38e9bf0e212d8eee4a2410a844cb2415907af4e621a845c7755d7682d081c1f1a9bcac1604f39ab6ad35299151088eb05b26294c9880b70a56d06650819097023f8bc214b0d6bf60444a2b0ea4917894db4eff9f23e9d8c5db96cb7ec70a21286d91f3fa420470779d386e7192b78b92eb614e20640f7913224c2a4f041342b10823e5e590d8290e967811279f2aa305d230eb81062afbd2e099c37d424bd8c047411bdb36d7c86b03624ef0d1cc0e4822db56af00ac009ba7c4010c67503411420c1d5f0d040ef06efd8d8b0ed8aae9cbb4b582f046a264992e767a947ca5190e95685c9b0034f335b22fc95360442e79c5c975eddafac10b1a20788f2cdb5810a2ff695ce24ed449d1ef61ebba52c030c93225520e3260fe96e3f26c54f052514b7f5d8adf3bb00d3d56d7181800602b73414121c1da016d8f396316b9f25dfe1b3b8e0af1074b8ba2dfa37f719d06372c1a94b6c76b76b1614beb1ee10809c10056bb75bc93defb0151c4abf61b6d594f10ab7ab20c72d4545a09362eab66e77a04bc8963167334ca41d25ce9ca3f7c0e599287f4323893b8f85f70cd70cfb02f78d4f6b606850becb730985d78c9973b2bee910f3f35109d2151274394c85adf4d19c9336a5631b833cb3320ac7899ba92d8c82986b30f768e93614ff133b8f14c7a82c24de782ac13997871488bcedcec49c039e8b688349691ff72a79f2011320d0bcb39208f921c1f0841b990c6c3075c18beb8353a8f2112febb8a59c28ebe193010c908c4709c6f8de04960761ca4643f9200a30ba35b48ff11840c74e4f7fde120bcdc4d187fe700297c428122a28815ecdd4b11574acbb9ff61ceca1b292a20808c5ce21381ea414647d423012028c2813e1a6080bbfc2964c90cdc88ba500b5f66cda43076dcd3b1d0af7e843a6c42a21e3d97d694a5725c7f581d774a2ae7cdcd566d85d15fa344493bc4e5e3a61eb64a2ec7f1c3bd07dda92a1b565d94c503a59e5875d15b8590c0d4cae909866efdc55aaf93911d57dad1094dbb1a10aa8ba6df15ac9e68ef33349a553b109d0b72d843a683d87f31290c9acf8dabe8bcc8533b1e9711ddfca9a903430323fc98295584830c6bd2808b46e00d340e0962f5cbe862b93aeab72b77ce272777c6be827a9fa64222c3b2ab7cae50eb800425b965d20e202280dde43aa028b00e3e763f7c135d3f30be61c77a1a4d7525a78f3b930f3ea76f3b8647d9724acc7e4aef0ddb65a37c31296461cfe8b1bdc9564ec06ddac5352525fb1c2eba5cf978e5937d5ef82a8b05c69ef7164739f8a3de7ae7123c64c2a9908177daeee8c7bfc6136553381ce7c159528bd98c68bfa1b89e5412e6baf4ddadeaf7cb888312ae043e136dcf2b36b30e9eaa9b8a55a773c98c6052f6610e9728694481d96b4ec025041b0af897815e1c376d0a6ee0886ba6df7ae8583ce973ae786add4360b9c485a5e8ccb4fb3d7aac80aa02920d1525834e7285732153a7643c344e776d5ce52be5658ce719e55731ff37fc142ce5fb294838bee2562b55b43488d907ec292f8c4f6da92de8ecf8d44d51a01353e852a962ea13470cb2141c4d1c01607ac2d3dda7cc36c0b1c6d0d45c380152fbe5330a62b4a9222a406b97a5145b4136ddf40dea80496191f8281ac5991cd9a502532f5ebde6e61840d1f99a45dfd9ec8c82f0220412120b19369225c91e7c363d7a0e95e472f0426d124e7d9ec89966ff4c1d78e080308727695eec76ae4baba71c96afa60b893b53c786e10f60b3c3094e3600dbc0a2739b20ed27abe6e4050bf9fbc5d2d61058ef3168d965c3ed6b6eabae5ba01d52542c6c110857a39e1aa22e10d4b9c7465c25d4e8359e5c653fd0927832275ef2123c11e927deda4ada0510dd00247a0cc9d8494ace87696e077492b5695489a495bda8e2d78d4921952bc00a0aa6be17aaf603b52d27252e1ee7d733b700a3b5822de8aa6d453d279219fb72ee0463343414b1ce8b801c4bd772ed05152b3765d487793cd042990c33e307e0b05e1b40eef969b706f4d09306bbbc722b5523c1785bc192d67e8fce59655dc32995be271cb35ee8ada05726e29a4d0b42f26374e7195585708cfcd28b97c19d70dd8253f17aacd46a4ed94ccd30a6012c954e86b53487a77b32e26c8062109db15e6530e9b1e87ebbfe4598e9f2b08e7669e5cb0a59938bddeee35d46be0ce25c3cd39a6a32b17ce8b667b66a1e89e9bce9f9a611193bc501bc676a665b33161425dc0b8738e3bcfb8d739761fec7f326e9d4c5af8592713e679f145a872350b795b85e5446d33d64c4921b13872763e09392632e1e422e294d49e3d251a512c80e0629697575af75b37b710d7fd089cee9c3007111ccfcd7049a6bef5d2119d19f2c38c8d4c96ea9aaaa02324cc9adf37d61689f0dae1b67ef15800e2c539400db6bd7b809aeacba8ba3c4dc5198f164eaba549a3cb69d5a68374a86d80aa2a4b1c09ec82324d2197a4b054634198aeee5ca42b06667c3dcb2b2aa21632e74185119548c0c36edc8bd2c2f160a013413a34db8ad8f171d3b618d1cd011e1a2c0b5782eeea3269d3bc9205f0cc2a12e0446bf352df0d09b1e9d0fccb94018d11a490429da0a17a2449eb4eaa0f9dcb17d07debef0bede2b59d506bc9811fc4562eae86857b6e5967720a4b4656723b24bf49392d29c727199f94b2f3831849d3b372ee66c2880b7cb960cb055f11c7c44c38089e39e9aec80b2070f535007852b6d65c6872074092b19d052ea9d82d17e8bedc2c866b7017757991cdbe99d65d2f61265db70c56387edce0edb69c2a204815748ab819825cce7437015828d850f2a04b9ed4c95a8994d1b905b6b36c504023aebd0bf25dc9f942cd130507c3a9baba1e411aa45d0340b7d3c72dab147647e97dd2ed68f6c5051f2ed8d17de8f571f9676ed7586c116427c76c762866cc373030108263f7f9d66deab1b944e6b425dd9a85a56626a20c69214f06738e8217f7b92c9c73dc85909b3d2b349e73170d6e478c88c8c179da0acda969a0948e6c904ea7a28eac485e22ef10bfb5b43de894e0bc5839b3705cb85a3f6e6630a21e449944cd9629b854ce51945da41811b690f7173e93811f9633b5bc15ce5de4c588f7ae7691773276e5e883a20f90d122c0cdc986c13269edee71e1abaaaac3947aac6536881ea490001b724c28469e2b7c69c90665168881a55309eb6313849e3658dde16ff97cb45d788ba0b3a68181c9bee61e1acc7af25975b9ccfb1eed3cd0453dbdbd74daac3a3a777e03d557a6e9a575fb68dbbbdd6244977026003a2e3b324c492770ff5d50a7f422d341b3622ea68aca2adb8e6b062285eea9c65f2199325a182e0b1d6c79d3d167c896e818d2d290092a41d8db1e1bf88e85bca60101d4e0eda2294b053ad22d132a7c9af4251fa1b8d22278e1efeab7121a9725bce3ca07981f20145752540ad58350130592fae565950222dd158c9251dd724561e788764118ee8b0d06d67bc595cd766bfbee718a6bb264a486a4653d9b1f9476758f4cc759d21adaa591c548a4a5fe1e040328d593675d3f0da04a44fa0596641798e62ec976995a76de64082c9bd065d663a2157e8864c68c71572e9f8d95d9a4b4e293bdd6181703725e10a1c33d5032abdbba3ddca4ef0640175c444094c2ee2178af243dd580912b2ffbd2b25f213051f29ee790b375cca10bc705534a9654034478c04093289fcf85f75603b84b8a8ececb93765028f226f9dea140941432be2f5998c84f2a62b629dfca5d11bb812422761bcd8ecacaf2101415aab3ba1c1a2d3fb804dea8632de55cdb44e800ac1924b75b4a8354e133aa7f77cb22e6ef26832b028abe15a5c336acfaac0b22dce38bf6ebd9801f01f5a102f0aecfb89b495300298bacc02dd3fb72fd7591e9aeea0b7d781444eb79e9bd757950beef929d53321e913d703b0be5e5647ca36b991089053cacc59952e11c86246c7e9633e91223fb6eb3166ae0e872eec22caa33e7e8dc246322af2dfd4108cc5c80ae5d4e5107912de1f1bdca077919bf109bb30a34723f311f8af0264a9b41421a3a027f403832b2a0e3b8059d30b71ca6f6262a727772714c5cb29bf45aa72cd7608874fe8b58d539aaa828a7aaea5a63f8e400902833e270341cc012ff8fe2ff0e4c07cd204f62b0b9ae284d85d909fc7d60282f20a4a438197e1212f410629b36b69c81c720ed3ed443656545b60dd4bc0b259afea104addc709056bfb59f566fd94f8faddc493b0ff6d008062529a7de1fc4d238749c4d7a40c37f17ac6b27bdc00f6244b79a9a1a2a2b2995e0653a0ca294727f6f9738e76235905197563bb9eaea37aaa34759043c0368d936812c19333c7353f8f06bc1d796ad7b44fc6c447d9528c21a3265565a9075c5158a40c924928c34489c94b69bee75db94b5b403e226ae859801c21f8512129402cb570a3532ecc48cc9c2ed24726bc0eef9178942a22909e1bbae16ddae94422f98849593cf898d7cd638e5a2f5319d098f17d71c2253f9ac21068a4eb412191dc1c0b0741050986e56e019e8a49c4c868269baca31ba22466d4504f3d2a970ecbbed846180f514cca6857c2cdd52b95c4c063c4a134713b8aea2ddb2812b8beeba950a189292545244b1b03a355d0be9504c51833426f5aaaa729bfd1a3281cdc924859d4605045257f4cfb7e55ce85be8cad2158173cb1e11f74a33651c1c00a6701ff91e420d5ab3a811f8180abb6b5cc2a8eedf4dd17b52cbcf08e887f2b1ab9de34aaebba517573f45f52d0a5d8d2b2a4a05fce33ca18a8c970b00dccc4524801809246ae6c080a07c0874a2ec4ae4b93360bba37461e876be1515a5c427cbcd46c4b23d4e078db95751d74a696991f0f820f4e876ef05b613d300ce7e21af7ae41d471e2e54bb559e983b3634c6284f46af2f4084b8295bd0a1990e7dbe70ce39cbd548d82c9f39282dcb2542808ab94b177079eb7de66aa668a652e71c7761aec71d3503445c22037abd5896b6504959ee09b4b4789c42217ac80a15aa502680891c0bee3b83b1947c3e1ff23cc3e604a26180e7499831294ceb2744688907c3505f7841dc87a7b2aa9a1a4634d800113829302a00240550c4c9a614fe1c4ed83e890e093826aafe8af91280a5bb3f2bd9112cc4d0128c8cc1ec09e5a26fb2766b2be580a0d3a90818d9e381a26a2a5346fb5a0769cf217ef092c5346a44b574e1a8a43d39fc9118f9f504259ca0a0234853a381254d4960e2eb337264239557564aa9cc2dabe0ab0fc0246f888261d9a26045e53ef021dfc22dc5389381bb02852fcc1b6fbc43dff9977be9fe075ea1ef7dff7efae9cf9f10d1b4caaa127a7beb7e7ae0c1576542d2d205564d907457e336acb832d6d532e22698d42e2631051b1147c0d453376cdc4ddd3d7d1c0053f4bb3faca096960e31c50328d249d2e81818b9fa841510d21596dbc50225d4e2928c2d371a376b7c060146f5553453806e2198e3bdb5792fddff109f5b594918b835fba02b528ce3b2b262daf36e0bddcbef95724bb1c9222138447a1646cb05e755cbdb7e6dd5167aeef90d7c7d4b8db26749911ca3928a71ce3a2eca78ffd86f36546e0ca2946d10afdfe3ab94811a64fd0d2028a5e75f584fcf3cb38e1a1beba9acb4e438397a5c03dc134cd40a104d16261d955ab5e4e551b81ad67214bee0a9847dfa7e9c106d3c6ef2b46efd767bbd7274cf3d2f5247678f8c19f3f7acfc1ed7018b958a8ab270ec6a06454b7e9ae13462a9c7970df433c629b758386ff00d1a920c8515bc4a24ad364664c5e01282d1025e5dcee03b9d09039b5b6e402028e57bfe873faea0ffbafb395b8e4a3b2597a8551c631fdbc63dc43555306c40418ac17799015e7c3c9b36ed162562fced77bf7f5eec18704de5dc1314ea7a28d8f32c070bf7c9250f1bc2a8294de3f33a96a2672145d5d59572cc2e67c564d732b46fff51dab9eb108d68a8a6279e5c432b5edac4f34fad98eab92522e9ec4b7ae13828e2e3d8f6ce7e71ecc67808179a7e102b6d91e9ff2968c98fdb1568495333292a0488fbe596ed5c93435c87c0215debb6b4ddd60f85e472b1ee1ad71a41e70d5d1c2830754b5c3a660ad584dd56fb300324760cf958e7971b2b5dee9edbc8205e389ef3b2d95773dcd9b04494c944c02c70daa7353b1a0ab201e8dbeced5feaeb2fa7fc2abe1ea9308529130afab0f203b6369d162f1dd40031c98ea86fa0518d4d468ed865be0ae195071e8c9f541631f08e6bb80d33b0c170426f463ebebcc4a4bab2f9401eee415ed51e3ad247f3a7d6d3e4d1e574ac7b88a68c2ea3fa2a9465f6536b478e1a6a2bcdc4e5d45c7c2b4e53569a919776cd888155108112d76030def21befca090afd73c0654915095227cb29307c88040d0c66a9b169b494be0e1d3c4065c5c5a6732504261d521e482acbdc3704c9880c676ac0869f111163f370c42ccad889dc8badf8f0555353c1c0631ffdec174fd215972fa1f3ce9d47adadc7e8473f79948efcac83bef18d5b69fcf806d16de9eeee091560917e4c2432924981e11ff82ff0c6a9ad2d976b06af194c5c0872b0342f2d49cafb8d98ad9153c6e4f1c8a36be8a20be7d392d3a6d3de775be9ac33a78b778dc90624a9af6f884630301c1cccf1fefb68244fa47dfd83224def1259617a874c0f1c86ebea4a6575818090e6eb7db8b9834148b998eaf5f50e8adf0e1c3a8df9619ef6ee6d91e3ac288749565e326a351cecfd9cad0ffb814cc808b4fbf71f91fb78acbd9f468e6ee4ebd02be3b6a1a146bc78909daaafaf9280dcd2da451dc77a19c01551860344f3e17691731f35aa8e3a3b7b6db6c9803cdc23439e35a5b3fefe7cb802f5f3be132c488e1f63176686a346d55029034b1c1780628acf11400ff715cf1c825019efffe0a1a3e2745c5e5e4c3d3d0302cc00ae8e1ce997e005e0d5d509205ac67f37227fc5c520566725fb84ccd6e0103250437c7d2bc493289f579e489a0e1c3cc2a076257df84317f0dfabc4611a6552bc5f40363ae7ec767a7a07e45ec28fa9b3a347ca6faefcbfe843640c5f06360de2239433d9c2e2741175f7f5484b3c44dffa06fb4d2d9e57d1c548c3575452cf601ff55b313f09688934553118caa2a3904c70c2f6dfdab79546568da051350dd4d9dd19faf99845d5205fd356dabcf95dbae1fa7324d3811269d2f1ba4958c143641f700f61bb3072640ddf1fc313c3183870a055eed7a851b5b46f5f2ffde9fe97787be78acbf4d2a5b3245309d346bcbfb9b993468f1e216301d707df0130f03ce21940e61272fd14660b0301bd47dbba44967ec4882aeaecea16f08b67e3e8d12e1e076572ecd89e664490b17991810882e9a967cce67bd56a9fdbbc58385457f1b3d4d9236302fb3a78f028dfd3322ae3e7b99f9fc7c79f5843d3a68da1ebaf31aee33a3d0b88cc7bb2886b18d924b1403aa56c479b6fb538a24599c9e690d3018818624a9745c201d152187600d23cfe86719db320170053bda73c4b78251bf421799ff06c7b7e81d790c62f154d548f35e13239dc1f0518be2506679c4e333551c538e81f2c31eacc9952c9f8c95856ad9fa4b1254828c74e178e1ec53344e20b5612664f91a187912bf8dcbc492a2e2d272f95095da5ddd29282ee64453ddff383271f30a1c0cab95b74685ab2a0d6c9134c16b6d76923c0266ec226c33d71c2e4902720e8951251c6c4b6c58452ee1e1d47de09fce3ac75accd377826583da679e5e30920494af04e52cbb17e7a6b472b4d1a534d4dfc5075f164fce46bfbe948479e1ac40adb25db524c4a3e140a33c5c182f7b8bc113753120cdf955360a023e8d9fe5b6b92e01420804c98382934fd5272a980120ec4dd5d6dc67515ab5f5e252a3f251246d374a417a61653b617decf05a1ae805bb7d7f4e5634fbc4ea72e9e46b77050e9e2c9ace9ec53e8ae710df4da6b9b29cb81fa28afeab0b2dbbda75900c535572e95b2cb6f7efb349d7ada0c1a3ba69e7efecb27053cc0c5f7fd379e2313c1638fbf2e13c5eeddcd3cc9a5e9c61b967200af15b08109f9c59736d31e0623afafde4173668da3faba727af6f94d34d06724ffafbffe0c9a337b1c6ddd7a901e7a68954c9a932735f276ce96ec82060a94ecd6acdd4e8f3fb98e27a91c4d9eda401ff9d032010f77ffe1190614bd029c3e78ebf93473f6785abb7a1b078857c46cb0abab5782780507ec356fece0d5e33a99e830f15ec713af644dac616105af8831367effc75738d01fa309139ae8da6b4e1777e4175edc442facd82413ebe97c4d6ebc6999dcd3d232be0f0c00fef4bbe7252b85afe5e72fe0eb3d9db7f3025db06c9e0099bbbefb002d5f36874ee1fb70f7ef57d0cc19e369c1c2090212dc3282009e9663fc9e17f8fcbaa89a8ffd739fbb9a8f65146f7f3bfde8870fd13bbca23d9701e655579ec1c1f008aff89fe780d52b60f6e2f72da6f9f326d3030fae94607584ef2b80ca2d372fa785a7cfa035afbc45f7fc71053536d6899ec8d429a3e932deceab2fbd498f3ebe4a92b50be64fa24bde770a2f2a0cbf00c7857dbfcbf772e52b9be9ca2b96525565293df4f02a01ab0066b7f0f580c1e1cb2bdfa2a79e5a2be371ee9c0974e925a7522a1f99e3616c569755516be751eae1cf36d58ca243c75aa8245d4c03d963a29132be7e343577b4504b671b8da96da4ea8a6a4af1efd76edfc0f3c1209d367501d5f235ef86611b83e177bb0fd0867d6fd1b4a64934a1612cb5673b2429f5f06b4fd1397396d2b811a3cd82cb061db3524ff2f87f5b7c8ff61f3842a31b6be9c597df92e305387e94c7766555054d9ad020d9448093cd5bdea5e953c7d04def3f978a186c00a8addfb053320eefbff13c06e8bdf20cbdc2d778cce83a3ab0ff28cf8da368ffbe16b947001d150c063ef189cbc481fb4ff7bd24c7b363fb01de57397d80c7ef881135624889e08452cc934fbd4eeb36ec12807ddaa9d3e9b24b1753338f8f7bfef81283e26e79feaebbfe2c9a3675ac804c00d39dbb0ed3962d7b04846fdbbc97264d1c496f6eda433ff9d963bc3868a1e5e7cd9771b27dfb617aeacf6b6cd9959fc76bcf1040ba73770b3f53fd3c86a7f2335b298b93a404d7ac645c8eb6f173f7db07394881139721557e7633b57931794d86edf98990af98b059d82024c1aba3b59258436d9f8427a5c65c3e179669c42243807cc2821ab3800b3decc38c8ef14b230b90006e0de8a098fcbf4b7a7535a8d47159345ec893f9c1f0cc92b250d12c86210a276224f790ec6c09b9494b74851d8b114acc864462dfba37a36c262dc7969f14117b83c8222491e2055519bdf9f6be933363a2a9b4f06203683030c9e7600c57212aa9c5587970f003ba9d367d26af1aaa6400e9c3ef662a74656802b6172aaf7a4edf77c4ddf0624994ee5e46e389126a1a514c1d7b7bc5a912e00444d2ed073a6827bf327c40f0cc4924330c4aaa4d578b6f380e410c3c14105503b76ba8a0bd6658d076e2362ddfd60d135eca61a6e76cc7cd10af58ea78f29849bdbd3da6be898c897d387abada3988b4514d45b94d3fe6cd03e910d932f65a6b2d3a21667001038b9c0ce664326aa38bc49952b2a23d7aa48b83e974caf50fd0bbfb9a69ddc366a21d3bb65e56e0879b8fd1ba75db39a04da1e756aca71b3960efde714026e24b2f3f8dfee3d77f6670d2401ffde8fbe8a73f7d84eefdd3cb74cb2de7d38a1737d2d967cda3cf7dfe6afafe77efa3152f6ca28f7ee442b137ef67b0356be6589ed847d2fcb9e3a8b2bc88da78e5575e51469ff8d845f4470efe4f3fbd8ea64c1e4dbffeed7374fe79b33988cfa77fbeeb419e745732f0389fba39a02255fe2e26f6dfbf48575e7e2a4d6740f1a39f3ec901610fad5cf9b6d46cbff2a5eb19a0ace0d78bf4b9ff7539fd8ebf2f5c3889ce397b0e7def070fc904dfcad7e0eebb5f14d073daa9d3e89bdffa8304960fdc7a9eac482543c40106abda334e9f4a375e77067de75f1fa5e79f2f91f73ffef81afad4272ea69ada6afa97bbee97b4786d4d854cb8cf3eb59a9e5fb181befcc51ba9978ff9873f7e58c0505b5b374ff2cd32fe9e797603838051348503c85b9bf7d0d2253378b5e45bc75e1563329601bffa8fa78403f4579fbb8a7ef0bd07e8090696d5d56574e850bbacc667cf9e40bfffc3f3b464c94c7af3adddb242fec2373f4cbff8d9e3741f073bacd6d7324802b8fbec5f5d266597279f5e4363c637f0b57e96cee7eb3c9fc1c73f7deb6e99b417ec6ba57bfef4228397b369f6ac8974c7b7ef957174cdd567503b8323889bcd9d3391366dda4ba72c9a2a246194e49039f9abcf5ec560e941be176f4966e6defb56d2cdef3f8766cf1c4f77dcf947f2f8bd375c77b6649b3081d79457d24b5b5ea7075f7f921a6b47d2110628250cc8bf7cf5676977cb5ebafbe50769f698e92274b7ab792fdd7af675b4a4f674fac593bfa6cede2e69037d75db3afac879d7f2e747d3636f3c476b776fa43175a3e9990d2fd265a75cc0606409fdd78afb68c7e13d3494cfd29a1d1b68fe8459b46cce99e24a6dda8c49aee3e62dfb787c4e94f5c9c64dbbf8dacc934cdedebdcd54573fc080a59a9e7d6e3dddc663ff3367cda1eff3785ab0601283901e7a6dd5db7ccf6fe0ef5be981875ea35b6f3e8fa64d19434b4e9f25c166e5ab6fd14c7e06eebdef456a6aaaa75b3f7001fdfb2f9f6090ff188fa5cbf8f9d924c1ffafbf703dfdf0fb7c9f791cfdd5a7afe439222559ca9d3b0fca98fec7afdf22fc9e871e7995414b1ffdeeee1724d87de51f6ea5fbef7d897efd9b67e96b5fb9299cafc7f04262ead4d1420a1dc7cff8ca9786e47eddc463ffc0c146decf1b74e6997378ecec9171fca10f2ea7ef7dff411e532fd2fffe9babf8996c14b7edd17ccc1d1d5d560538156a151de1c5cd338f3e4bb3c69513ff2534fe0b0ab878aa4ba24acd917f0f39c45ecf2ae80691bd434021d8504d2d2c3c8c1f906943cfc91c970813d9cac948841a3c5e1843cc9c6ae6f9a47663856adaa64ca9a53b0955b2112f1447247b8cf1b672d5e089e40aa2a8e585721081a3d0e985e76c41896f48e126136e3bdd928958692c6fb3e59add2f2f49d1ae435d271f30097ce3f950d81e98a41ce5b33d3c20eae5e215959488a00db813c8048c1e3d9657ce3b78922c962c449070b910c69932b0ed9eb1b8ef15f40b5bd01278a6a3a6ad6b889e5bbbcf9a569584dd250027f5b548fb1b52645d4d5aca11a2c3e012588342859538f0080a4087cb1739610967d86c4920e9e6c8542b67c94c5e08dec68c1b2793a264454a4b43f0d77ef430038c3e4ad694cb8a24634999c3d5604316792a615a3d491d36fd583781ae0af2eaf31018196568bfb471b01964c0828cc777ee1c45151525b28d651cb05e7c7913edda7d9827adbd346bf658bea6299e200f51d3a83a7af289d5b25a3978a88d5a5b3b7985dc44975e7a2a8d9d318ee6cc194fefee3d6c05b002014de046600587202b4091effde5172fa4097327d0fcadfb69f59aedf416afe4dadb7bc4f1f7b9159be4b300227ea00c78a24d9bf7cb362e583e5f26c87fbee316daf0e64e3a74b8833effd92b64f57ed5154be817bffa333dc8ab5bb47c5f73f512aa1d55cb2bffc5b463c721daf6ce41711046fa5bd2dc7c4ddee580accecb20c8e2ef53a734f27ee64969683907a977761ca65739000d3160d8bda79592fbdb79d53e24d9036485700fdf7a7b3f9d7aca549ac680006361c6f4b1b463e7019ac701ef1807e4bd0c78969c3e4dc63a56d828078c1b37423219aea32d52fefb0f1ca54e5e797f8c03612d6fff4b1cf830c1fde7af9fa2c51cc4965c700a0d1ceda4471f5bc5d7bb85de77e129c275b98757e4879bdba4dc037053535d41e79d3b9726cc9944679dd546cf71705df5ca260638a574f965a751e9886afebe843abbfa68330728a4f65b5a509ada2a932dc640b468205e3957c9bd44496b702827c4f28bdfb788c6f13923c0b7b5750ae0eae16b88153d5c9d3136718caae05a515a46fbda0fd1236bfe4c1f3cef7a5a3c6d217dfdee3ba9b166243554d6d119334ea3b5bbdea4ed8776d1d76ef83c95149750795119ddfbc27d0c6656d1ffbeec1354595a41dfbcef7bf4bb958fd2a72efc00ddf3cac374c5e917d159b396d01f5f7c80ee7af867346bec343a9f41c8dbfb77d0c289b369eeb819b2b8eae9ef3572eed229843267b98c1d64d67a7b07a46c021230ee09ca1c18fb283be23e5e74c142aae031388def2d4a23fb0fb431289fc3e3a549ca30975c7caa6ca3b8382dff2e2d2996f2c9f61d0725d378f5954ba986afddb5d79c4d3ffec9c33c571ea6090cdaafbeea4c1ac7db9c3d7bbc943a555914abeafa11559251bc87c1c7a28553e9fa6bcf9152e5217efe3effb96ba8b671045d7df559b461e34e3ac0c7337dfa189b212ce79575b9485696f2184226e78ca53369f199b368243fcbcf3dbf910e1e6ca32bf99856f1d8f9e3bd2f0bd0428908e5596445abaa4b2c393e65db884dd6035c9f1264b0cbcbe948afe1f20444211f2711fa9651a8260b90813155e4a5f95a644340a0de6781664f48cb9afc3c0626ab624002ff7e10739e0108c8f2c23d5895bc436136db81a4591ae5cda0c492b3411fcf31320fbe820b9fe7d101a81127646129199c212555a70d30b2404901886c3f6b7c9d90e9f1b3be74ee88a69167f83f2613e45b3e9721ba1b9096b020884c6346de64f053a22a1dc8351fb28b4d351245465c334c7e2e4d3d432721c7c425e044864f6801ed23bfbf8d7f3fd110eb1894143338e9e9ee169ec9ecb9f37845b58127be9ac800cdb6747a52dc31f59ac08f522542150d8e870d1aec3d32ed70bd03900b27aaaa30aaa2064019245b6e099b2a0c1527aac63325f1df05c3000d7264f1dd6d04ef014a8c7f8f0854a51c7750ab8e084006bec4dc790b78c2a8a5e64307a9b8ac2cac21e2ebf0c15dbc110e4cc545a1112244b654c04c4959c5565d3092c8367e40ae1744619a123c82da5af04cdea54b38206135b4f0ec4574e89dddf4b75ffca5d4f88d49578eea1beb24b5ffcaab6fcb6476ea6993f8f7562adbb66c8f1f3f8a57e4e325456a04c6f8603bcdaa4adb0d718f8a2400e4e4f3e98c494b62b502e22f713044260775e941c900252428e35c5046282f2b91b4b4b2ed51cbd5fb8063c124daddd32f1369da9206510b57bd05ac80a42e6d85cca46b6b2827d917ac4431392e5a38996aeb2a842ba3eaa7a2fc680996923ecefb615700f80028b37471e03d8703d2298ba6d19ab5db8c764e609cabc90abe0130020022bbf0bbbb9fa3a36ddd1c9096f2f3b14756e8a72c9a2e4010bc198c0d749819b757b8b00e85756a00a69e2e13e08d922affa1b7978e1deb92470820e4a1875fe1e07788ce3e6f1ecde4f76fdbbedfeaadd8ee96ee3efe48bf5c6b9c0f02a63822f33debe56d89c05bcee8905457564949e8cca57384cf806ba3c26fe0b5e4fdc03aa27a723d06d04dc32b6ae9364a789225c335c63e50723b8b57e5f5f59512b085d0c9cfc7bb2d07a884f7752e0309af6e142d99be980eb7b788f2ac08f1658ae886a597d3c4b1d319d4354b8bf99eb683545f514bedbdc76867eb5ebae6f48b69deb899b495810752ebe54515b462e34b34a971829473100d26f2cf5525e5346dcc649acf2085fabaa8b9ad39e4b448d7c9c0902d5b07a1705f69695ace05e75b5b5369c8ec123438f8f40d859a2abe74d4244dab388f97a30c1625f8a07400bb04094aaa2f64c9913c26bbbb7a649ca20c886390ae12be4779e1cff1f66c060de31581e9af3e73056de131f3daeb5b682d8fb7657c9f2b194c49c04609127e59b97cacdd187323c614b2a2a4da3dfcfea1ae1e794ef18c606ebaeffe97845f02de19e690fdfb5b2c89391f667a8d609ae9c84c79091bf893320e32694fc0023844390b28507530dc129b8950527ac274ea49d644043403abe99394e707b33acec3cb24439565e199a41261e7a0c96ee404309af93e6fc9e8bef05eb40d5e8ec533190a9923f3902f48db39db6834452db7a6735089b018bf5a090298c978a930c313d88c0d3294308fb5d475792f7e17ea17258cb71bcc153d0bb8f2595ff8914ad2877828008cce9ba6f5de644c5356e0d380a8843cbb45987f25eb9410f07bf229bfda09d1757534bc09be507d47843416d8345519075835b25abcf87491ef06114a0dd5fc2002036e678edb82eb3bafa0b03bc7ae9a6bf84104593170c4580dd050232f3ff4be09622dcbaedaac93f9080deb0ac8ad0e287177769c495f01174584be5219db67ae2da0463a1b3a1455bc7a3d65f169122c719c250c3014986002693bb24f6aa718a86aa2a83557040c15af72458b5c6336d5f970bd462265c3245d74d1225af5fa56fa3d0749acb636ac5c4f3ff9e963d226592ca4c440b80e83dd3dbc0a9c490f3db69a8e1ced9014775565b96406400ebdea9a33a9bbbb5726300469d4e71150488252565e19618ef368c9e7647202c0d8f6ce017940fbfab30640f0ac013270dbd12e9a3c71a44cf058a55d7ce9623a78a85df65d529c0ebb61e6ce1947870eb7d1faf57b2508df71e703fcfe0ae9367ae2a9b5d43f94a7a7febc4e268f4b2e5e2425a395af6ca3d603c7e8c927d6f0310fd08ce9a325e03770c0bdf0820542de0441154134b0993b702ededcb4975e5af936edd9d34aafbcb695a64d6da2f9f326c9c43873c6383ae38c59b4776fab8c71fc0ee7336dea685ab5fa1d49ffaf5bb743780673668da7f1e346f04af6a8ac9af139906ed7afdf2dfc134c9ee8b2c1ca1513ad61eae765158d490eabdac31cecfef5fb0f3050dc221326aebda6ad013630eec0bdc1fecf5fbe88f61f3c42fbf6b5c83121fb23418fc7553f831fdcab05f3275373f3317a61c59bb4f14d3ecf9737cbbd9a366db44cb1c8e25cb07c811c3fc05b3aa5425f69b997e034ecde7358c619000c56825838801301ae0956ec38b63163eae8dc73e7d2aedd87e4981184f12c74f7f6d09c31d3a934534a5ffdfd77e89e477f417f5cf908a5416c2d2aa6030c44f61d392425986d7b36d3d1ce765e1d33a81f3f43aef76c0623172f5a2e8456dcb031f5a3a534844ce5b54bafa0a98d13a9a2b45c029ad8cff367566d5b47bb77bf49bf79fe8fb4f7c801aaadac8db426f8583106000e9165001859b3661bdfa39df4faebef48690ff7045908e93ae3b90d0004c115e7fa2a03f8033c5e1f7a649594c850da03397bd7ae43f25ca07c3563fa38c9023cfde737a8a3bd931e7f6a8d8035f08e5042942ead2203e2714f359083500beed60f7ffc082d6280fbe94f5e4e87f91900a11999ab279e5ccdfb1aa02779fc83af32654a93e80769d713160e3bf959c9f2b16371d0db671602e06d819c0cfec99a35ef080f0865de7dfb5a652c9a028827e31f804333d866ae31edeb4148323513615b671ff53088ede91b648c35407d0383d4c1d7013f77f2bcd2c96351fecec0555efcbef68e4e0ed6bcd8e5173a3e87fabbf9671ed3fcd27f07f97ef93ed4df8394098f855ecaf3dff2830cd6730c30bd9cbc1f3f2768903fc77fe77f639b896090bcfc200d0d801bd94759fe3ec8dbc2ef0618a4e2dfb2ad6caf1c4722c8cafe74fbd8570efb9163e27ff331e0777eae9f3fdf2dfb94df0f9a7d62df0c9b783b43f23bcf1f60c0c5c734d02befc3b6d35e56b673a4ad8317db59b92eb8465d7c8d3a708dfa86e43a75f3f5e9edc76b88baf85e1de567f7285f6359ac077f5981b5e4edb7df1efbc537bff94dcf297e0cf74a38df877b258779a59c9f31caca6fbd61f94553268f29c66ac955224c5bdb722fd3c00f42b9a03fecacbba787fa79e5356244030ff455d4d2d22c0045561ada86e5d1f1a4d7ffeeda06f12c8eef7af504c777f61466488886cb921c4f5e8dfdae309be26455226f9f02226c60885fe94c89942a901d92a035685a0a3b3a3a68eedcf974cb073eca01a24f82785d7d3d55d5d4c8df8f1c394c9bd63fc741b69ceaebaaa5d32401e2ab1f31dc51fe5117d9b0454d15036d3645c9ca0a58b41484d4eb9449a365327cfe858df4f6dbfbe89ded0768de9cf1349f0315ba3e9096c4040c422844e640069c39b38966cc18cfdbc848a041bbe10bcf6f908cc185172e92f6c5767e60a673e0c68ae3f0e176c9cecc9935560223026d59498a27db210ecccd3483831fba5e264d1cc52bf3123eef2e09ece79d335bba499e7c7a3dad7c798bb4dcbeefc285e61a58e2dad8710dd29efbe4d3eba4fdf8b453a7f0ca71268d6aa89572d0abafbd2d29ee5b6e3e8f264d1a2944dc3f3fb39176ef6aa6baba4ade67a34cbe4545099ed0dfa0951c509039b9e0fcf9b6f389ef5bd2a495f128b4b5f7d20b2f6de1a032862ebf64313536d6c8393df4e82a5afdfa361a3dba86cee2e33ec4ab4d748f5c76e9a90c9cdae959be3e6f6fd94be79e3d87ce5c3a5b4cb78ef22454cb416fc999b3a895410182f4c5ef3b55b214bff9ed3302f0162e98c241a6478225da6327325843d078f9a537a5ec73e3f5e748e7063e3b6dea180962879bdb795c4de4f78e62a0b18136aedb4e63c736c84a16ef43d66944431535f0f9a34c86acc545172de663afa3e7781c80182b29673ee32baf3a83836796eebd6f0503d86dd4c04173d9b20532ee9468089e0e5a4851c29ac641101d52006ab8f75875637eb8f4b2a5a205f3e863afd3ead5dba45d1be58e5c36676bfc58b91633c0984e6d3dc7244350595c46190616a7cf58440fae7a929a3b78f1e3e768f3be6d3461e458aaabaca1698d93a89b27f447563f456feddd4afbda0fd3b8114d346fc24c1a5155474fae7b86dedcbb8536ecda4c55a595bcfd1932bdd49557d3da9d1be5d5d67d8c668e9e4a0db523043488a8179f1bc0e284090d3476cc08caf233f4c20b9b38a8f631486b906b8d322780cbcc196305f80238a36be9928b4f1390f624030400fc1b6f384fae07c003c033ca792065cf9d3b4180239e9fd50c5eb18ddb3e7ab13caf0039e00381107b98170c680b9e356b9cec0ff313b25600bb4f338005005db4680a2d5f3e579ec737d6eda6550ca011e0d12985521bc8e34256e6d91cc07eedba9d3496ef7746ba8a021a3f7684940990c1034f06245f805474260194e25ea3ac0562f4aa555b790e182fcf663ee787c26bb8cf788e57bdf23a9517a7253370b8adc79034d1669e37d913809ad8bff3e6df00cb875a5a693028e13990af396568c8cf50de2b263f514c8379de66b2447e9f48f142977f3fe8c344af98f2c962795f36c8f02a82ff464534c43ffb8922f97d8e8ae577017f9ed265b2ad2c6f3be7f1fb781b41aa84df5b229f97f7f1cf83fcf7c17c4a7e1724cd310ce9df93f6e780b79f30dbf664bb29d957de33dbc07b88f789fd623f781fb69327f3b92c7fc7f162df03f90c1d6ce9a09eee0ee94c428629eb5c23bc9029c9daeb87eb0b9002b1d1faaa12592cb477f50f6cda79e459bee8bd36b6e79d97ef7c1fee159ce0352cb9b210877885466f5ed4287d2230921c0680a49c57da7965ecf722fb73c69eccc8a71ff8ce5de79fbba8ba8dd1bed6bed5974044752ae753eda8393cc1984cc9be3d7be8484b8bb40cffe447dfa55ffefcc73cc8c7db9a5c2254975483b7ff5f60afa0dce351e0523fe29c9102ae0815905ce340c4e5969c80207b0240e32a6a1615951a0336b579e7eb343060daf70e1d3c4c5ff8bb2fd36d1ffbb4b409a38c3371d224aaa8aa92cfaf5bfd1cad7ae94f346eec389a307e144f04e063642530632270e5ad63de1be9a218ff44cb3bc6e02f1576ee68d605a00160f320afaa4178431604a953042c949dd08160da487d5991813bd4c1283d9d2996f76235075e09266c8c05d4de115491f940cb1bcc1611dca4065d5a12666e24e53f9093546b2ae5533fff9c0f8c6b34b200f02ec24a13fb42f9081d043dbc72c5c4e62a8da2ec017e0826b6869195bc1aed90d2567628e0e3ea921213322f3d3dbdbc9f8041d3807430a1151ae788f6e1ca8a22d907da3e9b9a6a24258d8e2893c7f725a88f1ad9c4e0fa081f4f8710167b7b0765c4e11aecdbdf26f7b9a1a18c5737fd54c4f700e2486853456df800033a6496463198404601e3a18a031bd2c6c82661319b94328269ef5ef1d2469a3ca9493a74905950cd02ac96b128c56a1e80520355526af5067822abd2c7d71afbed608088c90c9d3b58dd7772e01839b24eb21e46382f25db44905bb3f61d3afbecb97c8c55f4bd1f3c2880ef231fba88bc844f3b76eee7f3c9d0d4a9e3247b30d03fe028795a09f9ac2f6d9d9ac151555a3cdfd85f795911b51e416bae2fa009d7beafafdfd1a1409a3d49033923baf56f8fff8a26d68fa5db96df4cc7fabba8182ecf3c9e72bed1a941a60d1995b2a2123adad54efd0cf89bea46c9768ea26ba76134f50ff5534bc751aa296360cf40a79757b0001fa53c76d1b2d9d5db4d154565b260e8877b72d2f84f611b507d4559d170b812323e31be4136c639a0dc5556562a6312e300d711e7a3697f64202b1968633bb8c7e0dee0bee1dcf05e5c23b4f3e2d903689934a9510028b24c285fe27e1a727bca8ad765ed38f0a51403a0ba6fdf51997f2632803adac6fbaba8e0672d2164e8d1636a8587056e8f8af2f9d2ca9c916da0cba6a6a6521479710ed0c029e7e3e9ea1e101e4da7708188ea6bd12a3c289c3d3cff00e202723c53d2103e45dae8e21c38d44adfbdf387545b86125e8ab6ee3d4a7d03d990b879227d2c8041cc81672ebf9a3efeb97fe0b1573bcc441f11483d778ef6bc616907aea05bd88df31e41c6f5d01ab6b9c1f34ea860e1bd776b84235def0dbf1f918e48d2c103fbe927777d85b66e7c851a478f3325daf768ac80eb79436d19cd185f2719ce9dfbdb3bee7966db17f94f2d36ce0fd91726abacfd39ebbc72ceeb4420261806b8e03c82ff2b38267e102996ba864b2951c4e333ee6be6413b9d8a6d2f784565251de387a5afb787ce5b76013df2d07d1cb47af861ac7064e60df955320a81573008ff7b4ce23980249eb9a0e38043ece713654928626e5381105c58be213a61664587a6c94e6424d8b82c74f591e9e9eea271e3c7d239e79ecf135497107a51fe2a2d2fb70459a283fbde91ec0304a932d60517a96994ccd4f0c9b4980d85cc6d4382f56304595705b490308bcff4f418ce0b56d56662ec95e304172410309535c464f2647244fa573d3310ecf033021f029df89e40add672101296ac47811f3b1ef5df30225059793f26b222ab6d80b432809021dea56854030047a74ca8ae00135e20576222c764ddd73b64b461fad1be58c6e063a44cf043f6984d30291610811283b2dd91cec636f0379c6396039869ab3606616809447b2d7e57535b2e590500041c0b3204005038266c47f8006823b4f2f20862a318f0615f98dc012a89cf19c047ca7a90e21707d19c5985f70fc80a1bed98085e2e084380039043790141533d6cd09166e4c97db93fb85700936835c57e71ae22cec6c107c71e8d9dacf03fb0bdd6d60efad5bf3f2981105995abaf342da2a8f283d89a4a98735575e2c862c1dc631d4fd06151900c4e8d967e51ae4336aaa6a648409d1a4086993e8092a101ba7fd5e3b4b3652fcd1e3b5d3a698ef574488650eceb05bc44625d28cb809b042058cc600340c3b3b201edddc72480569754ca73d939d023e311630c99171c23344df073ff407fa863a2425a007d4a1c07a8c7f8c0b9e21a9812a9192b4617232500dda873f271f1b5475603fbc735c4fbf11d990f5c13d5e241fb3cf824c85621dba5594d2997d90504aea7abcc8a7900d70ed34f53d308694ac03d1545d9412807e7a9694cb9c805f4e05e7b41a87a2a9c986cde4ad127acfaac27e3229549cb31984c6b5e4013be00549289409e2f8c39c37fc8512eb05d82a193b7e7a8565b813694a153bef01f4e0c4a7274e8f041062557d037fef927346e4c139dac5f53278fe771f34bfac6df7e94766f5b4b4da3c7cb5c7822c8a3e04c94374e00d2fe9f27bfe61d93a3685252696e9e28b26d34d87794b2c58d427e023029e340dbd9d1413367cea1b3cf5b4e0ffce90f0698084135e28a78c68e2fd43f098601279e7373fc40414910cb370d879a8f07270eac3961f6c31fe6b3ef0d4aa24c49de0a679584ef4f5aa96f4866276cf0bffe865b68d2e4a974f8d04179b8abaaab4331ad83fb77d191e65d1c04eb8c1a69daca5b278ca19c5e1ab73ca381ba386d022a04bfb4ef1d2f7400b94ebaf8b74a831bc5c36cc84d098128bf7a79458595643a93b4ceaf46f2ddf3f35620286f5773412896259e3e0043004ab921ebdd11f74e3156ea796b57cec79931014cc19b7a9608e1d42ace424cca38f466428546e3b23c68023e19497af84e28d9147c07801c2111c246c16ae9446ec241288dad36ec3aae85640c39ffbc25a6f17efa07c13f290f3954122840d4f52dd0b67e3d0abc43d3344b4494ec823501946c9a5dc98a9c3adfb792a20c4fce2344db423b085c8f91bca4c30763f2ea6a394f1475212080e0dab912f40a125409d3809d4119639ffcf825f4ce8e030236172f9a2e9f13be48d2989e21c0a0e4e53b2667a1d6442a1dba85eba225a65f94488432e986943d14f29f8c419e3e334574fd1997cbdf6acb6ba8a3bb43da7a334ed70359055695819763f04d5ba7ebd1645c87f3d2469cd76ec2842185876a9a8968655da8eea9cf22b69b4a15876355afbbeb49a4267f46502e25cb4f04717c8133a6efc9e5f2c33813abce1139d6129ea352ea85d2fe2a858e73302ee203a1811c409038abf3b51d18ec6620094269318fa3011917221e0629763f2fc0c6eccbb77e34813c83c6b13a693970d990d7a66ed29ab1d1b91fa04233afe67cccd846308d5a65df2353c260bc9941c9e9e75d455fbbe3c7024a5c4fac93ed0bd76bf6ac9974fb5dff41b77ff163b47beb1b0c32c79d109c7876d12cf3272ff212de4928492ffe07ce83ef82935492077dd04fbd9d7ba5e62532e23c582b6b6a64058b07eaeaabaea7daba3a5ec9759b6e1995a70fd42138b0ec758afd5e5fbed564f3830241f818273508d5515d32ac4b6c8d88ae7e417b70403135b520de32fcde99128a145eb1f22f2a8d447dacc32f321df8428664f49846ba92af07d2a8b2926500575959196e67e7d655bc9ae912f9f1e2a29410514d1b5d943e75cb34aa67a21e0ba1f80e51cc65564de13c6772d7bf1bd67d36f40bf1edb143cd9712eab81a480602191c884721438bae2af007d276bb3251492749101a6c85fe187e3e9ccc8dacb9013af0ad12432b3b19462dce24ba34294b20d64c907bdeee242ff42f0114a6059aa473266b45e67cfb80a37d2f67dc887da35ea9d924e5e484abff817e2bba979200272dde7dfdc20331ade781a8ea8a111a148873c66f07c65c003cb99c91639720e29b493b6f0de80c693967da2ed18a4f390b7e7256f72719de47bdd78536ed7a7f5d896f77e27753d4ae799f3bf19bf306097280268c1f498b4f9921a008191d94dbf45e687797cab06bd64def831e23ae61a151a0ebeaacfc34d7afc7cc07c614b4b4b8848ad2c5a24d0292aa64a09c6376b3352a3daefbd0006d742c3067e4c2564f6356671466a3fd469d6baea896eb8d6300b1ebd61dd9d28b301cc65ece18344a9b2b9e2bebdf22ceb25a5ff75cf1ade39db2e3e0335f60b2e93b0683bee3506db2ed52cacb821b334883e0000e25656c833f222da77601623471d246572991b6043f3ec6444e9e138c471599d47397fdabe26dc19c536cc534d59850f59992566cccfb6f41c9215a72fe35f48d7ffe198d1f373a066c4fc62f737d7d9a3b67b68093c9b34ea5c307f78519ebe1808cf1484ad9ae283af98049da91018face695709912c2ce60f73e1aecebe089d55c216401ca2a2aa8e3d8319a3377015d76f935d4d6d616aec655ed34ecd209f54afc61925605bf77fd732c9af16364d4a0005db8e598a8dd39e6684cd171c4400c0ddf75136ba51650921450624ca2f41a250494e82a17f2eed75ef77e9a32751a75761c93c9bd9a015cc6b6fca256bce39d4d562ebc486ac9be1f95f834486840d2606564d673e1f8756dd37562777d16b0ca417a5a0dd374d2710df272cec4aa5e14c6bb2663750c6c37904def220b635687b9d04b07590bb2fe991e79b18ea150d5d19e839e87661a7445acfe3feea4a8024d5100f66dfb6eb1ec23eb389b86593f6b8a27fb9696e6088cb83e21e1f1e158fdc81d9444e63a133b2e2d5f9996c1bc5dc1fa521271bd2e2263c284fc3ed451c8654322a9506c015800147343a1ba6acc64cd79f64c66241dcb9845a6707ec877483826946eb641cf57b32d009d58e9ebfed41b463bbbd435d735fe5330a2fbd6f745adeba613cdb58c2f0cd2be952407e9149e476835cddbfb6fb26249dbaee9c5dcb5ddc08ee357f3441da76ac696cf19a75a11fc74027c21bf40ef33ce47b3277acdd550d0f5a6d2fba0da1bfa3b3cbbd0fd703dafdc735630e45e13690715ef96b48c2109fa8e578b7baeba8d082c9064add02d2465f48a3229d5882163519121caf3b389529a6f172c09fb4c0194e64412bdd4b4fe2653a1bf95ee3a994a46e533c7a74ab299b6acac8b23d55a51cd28ef44a0a4f9109db1fc5afafa9d3fa531a347595092a093f9cb8c43330f1b70f29f3479f6e90ce00e5870320c9dc1a3987bf449074c8c115db46251abef4851b49892d4435d6d3bc55b43d39870ce4d08f9b09bde7fd30769f2a429d4dede1e0613976f12b6f5fa66a28f5e14bd421d94c0f1f90b42997b01046ef6c4e4610ab226e4105ffd18c1c811a22fd02e0986710c26271bc1012b532a034b82ab2de19887d90866b5b71d6580368faebff156eaecec94cf973370abb69d38427a7de30deacbd6536dc31cf9bc4783528756895ca309908f39b7e61c3f08ec5f57d9ee64e1065d33b9e5c51304425aa827a3edd3aca892b115adea3320802a7956333d46172332b4c2fd5677582d799a80eec552e4c6ad3427a4c370d2c34a8ddf0643349ca36b4faf6042276b9d34d15e9db12db59898d3d67b02590b1571d207568f3d0c06360ba8c151af51211746af038e17027792454a24c3a0a9812b0a5aa60425c7ef25c26c8c96a0d40050f6614b7fe6b892a6c3ccd6ee033f8801aa68bce525c0a860945e570596ba2f931d4b0977a4a5a5dd4a68471916976be4de1b156c0281d9b7d91dbc3f9d51c0eac702a5eb38aee34d4b75787f4b4ba7947a752c9c286b63c05292b66edb2f226e994c32745106af03046235a573332f51c08b9e0d3573c37512e5e384671d9c23e3b442776037b3e866e3f4dabbcf9adb7aafffd685008e03c45170920229317976019070c0771cc419613703e2e13d643856d1fe158ce8b11666cca45423593e5ff6873678b427a304ec02a84307db68d02e5ef2a12c7a4a7ca5ccc2432bdc9ae90d621949cdb8ea988cd44a29fc59cbf12a8c16cb2a3ba0e4cce5d7d13fdcf9136a1a35c2b619bf77e9e764022766a1e3d39cd933e9f67ff90f9a327b09b51c3e384c29c7d211ac3bb26b2478d20013726ada9a768c39304ae028a1beaeddd4d7734c84a4f055535bcb81af92ba3a3b68cc9871f4e1db3e29dd298abc43cd10cda0f8f1524d0c2884fa21f6b7becda4842598207cbf4f71ad921897c475163e4eb9357040cdf11d3deec09132049c6c8b10d84b2cdaf5636ec2f011027f604804c912f4894f7e96ea6aeb79e2e83464cafa7ae385c05fadadadf4d69b6f52c3c831d4346109d58f3e8bbc543d7f167e275149428369915d0d1960649c7b3553e34e680012f1206404c7e080dbd2dc264aa76facdf292448f7feaa4114267875b435990acf12734b248068d601fb0649ce289f525862404b694949ca002c6bfe86cfe1dfe27754649c6ed11df0e24b5b44e3443345286589a95838f9993188c0b963e7615afbc64ee92e28b1eec246e02a11dac08bd85a5acd271372cc2a8e464e1947031d5a6aab2acbc2ac06ba69707c8984e990102fa334c4c24c2782062c98f501649916eeb4905401d6d095817331a45b538717f3c394678371c666b8f8ba81e89c31dc10e3766c000880a35e7f7cfef91736506fdfa02d4f7822738f6bac204edd9201f256af7987d6f1bd453709ae09b603c9780de241609cb5cbcb8a05d0e11aa13b09b2e8294bba36be44197bbf330e380978df55545f5fe3a85f9a8c903178f4e84ff7af142d0c59addb92a1661970dce85001e06b68a8a3bdfcbe1ffdf861d15629b54ec9b86eef6cdf4f2fbdfc9605d051f908d92b15d7c2fbebeaaae5fcc099c1f9fdf99975d202ab7a306aa981921ac002ae03ee8f665ff03b2c06aaaa2ae4da19e060c6093220c860aa9f4bc8f1b1a66eaa9734a2be5af67bff83af52e39811620100c13d74b4e41d275a03ae031145831b3008c7cdfc2cfeee77cfcbf5adac30a05bc1ae76f3e07a98672b67f92f89703180718a67efb127d688bf0fc6683a9994df15f3b5faedddcfd1c1036d54c9e7129abf25d316082545604ec604c0a933dfbb2eb6195ba60dcbaa7e102e5e0247d2ddba8d8492f00a4a0edb4cc9d7befd636a1c592fd7cfd58efa9f57147b706d66cf9ac1e0e4df69eadca5d4d27a28defd6325fdc92aeb2aa1fca40226c2c677544495c51e29c1061c60cba828d94f3dc776d3c0904da772d0ad1f3142a4ea5b5b5be8d24bafa28b2ebe42744dc2a01f03024e59c7a9ab044ec92596e108e224d8103c38626a85e59a61c149e0664628f63987c412aec44d80853c7399b486069ad2b10f218002b20c68a50648397aa48daebdee265ab6fc22be0ecd66a2a9ae8e654b56af5e2ddd1c63c636491bec88c6a93462ecf9545c318f86b201f5f7b4099f233483b2ab350dae6eea59ebef5a4670575d98d48cc0da629a30be919e7f7e23bfde9495569128a6e6a4469de1a08ef653d89d63250b7966b48f0264c05cea9557b6d0bbef1e15ad95a430fd93b4e5ed7df4c61b3ba42481a08b96490870ad5db7473445ca4b33c2fa07e90f624eabd7ec329d2db565b47357b318f241780dc003eeb8abdfd846dbb61d1025480afc90a88af37fedf5ade2ef01c12a91d3177e4382fafb72b2fac3cf08b2d09340e7ccbbef1ea1575fdd2aa96ba3f43a64c5dab236056eb437d6aedb21b75bda9ef96f68fbc57d81f1604d4d9d6436d66fdc25c72f644a886d75f6537f2f03aae2323182ebe936401204d221062bdbb6be2bfe229515197afbedbd623f8f209314e0562cc7f8eaab9be57b5d6d959c8b18f9f1f6df58b75dcc14a1ff71f0603b3dfcc82adab265af804004ddd56bb6895120ee1d02b4961ed0920b255b28cd42400de9756c07c67b0822004c0876d05a81e609baa3a099b363e7217af0a195b46be74151e7adaa34d70e627c06d41a008eebbb79f31ed1c029caa46d7034ab748891754a075020ade23a5fe0b9c098c27c02fd8e2dfcf9f272939d59f9f266698386e09bb442cb79e4445ceebc73e7cbcf208e2b7846fb338e190ac6f8fd0b2bd689705d5d5d2d1debe8a4871f7e95366cd82660c694354d8605add018eb2b56bc29f71b2db43866743d61a2dfb871a7e8ef00a860c2c7fdc1355ab76ea79c07ee8f3e6bc8e2419f893418274ccb3c000d000500d5730c2401b6d15e6c9ed5408024bab45ee6bf3737b7cb31a8cbf2008fcbb5fc0c21eb621c8313020c376fde2b6ddd3877001a5817401305f38ce950ebe1e7ca937d0df4e7a8acaa84f24196c7cf3ba2cb62409921a54bc915647c29179aee18707228c8f3626a50be9394477321a15a49bc0ae80b796c0afe24a8067e2c5b83ed1fe655ffd26557d1d7bef523034afcfc5fb493e4fff62fcf66aa66ce9846dff8ceaf68eaecd3396e1e8cca638196ca02e9b6520ee849d595a372f4cac0766bb0a6b66fead01096eaea7887faaa27f0cf23081c3e04dfeeae2e6a397c58e48c3ff3d9bfe1897a8b0c5408b0f9b64ce4b974e3425ec7f139aff09b771c0d954ed09173bccefd705d37c37148dc5288940dd2c526dde95bb97b2fea394f59c2dc40bf69d33c7aa495e6ce9b4b9ffaccffa2de9e1e79b8c1bda96f6808b31887f9daac5fbf5eb44c20b456575fc781197f8348db5cca943652d7d14d941dd88761c8136285053f03e1c420a43d646d1226f56c84b00c70c13e95206beab9240264a31aaaa59c0361aeaddbf6d192d367f0e7f2a299d2c793dbef7eff22f50f0c4a20c16479d34d4b64e2fcf5af5f92c0778c830382c6cd372da3dffce619daf4d61e399f152fbd497ffb3757d3f6edfbe80ff7ae9415f9f32bdea20fdd7a2e95f079fdfc57cf89ef0c744a9e7d61883e7edbf9626e8763d9bbef289d3e3044f73df09aa8b5222d3d767d3ddd7af3b90c7802091830916b6ee990c978d72e78f8bc4ba72e9a4c736635d2ed5ffd3d2d3b7f21ddfa81657c9ccfd0290ba78821e1830faf9220f3eaaaad74db472ea2c6c65a012ef8829ecb830fada2cd0c1a1a46548bfae92d379d23a3008ebebe9fa03973268af9d98f7ffa989c3bde0725d58f7cf80271ce6d18554d37df7a21bdc9c006c66a1ffbe845e2402b697d6b95ddc4fb84ee0b02ddb5572fa14bae3c83d6f1f1fce1de154280eeee5e4db7de72b6087bfde8c74fc8aa193a1290daffcc672e97fbd4c5017fc78e03b494efd5830fbf269a19c836ade780faf1db2eb37c1b5e8d5794d1a3eb5689385e5575193df2e82a3efe06068087c4e5f60b5fb8513c519e7d6e1d95969731f078876e7aff79025e705e00a4679c39931e7df4757aedb57728c3a0632d07c68ff2b5c375f9d9cf1f139d140cfb6a5e95c30517d7e597bf7a4ac05a3907cf23473b25d3a1cf100021da5b7ff35fcf8aba31c0ea92a5d3e8dc73e6f23539269a34d8efc2f993a82b6b5a8ca1d781e00d91315ce74f7cfc6231affbfd3d2f88481eec0a7efd9b3f539a81dad37f5e4f575c7e3aef6f50da7121c50f61bbb464a27c09e87061c667010c9f78a283aeb87209ef7f017deffbf74bbb35e6b766be3fd75d77968ca3a7799fc852011cac59b39d3ef4a10b257b2292fe0ee7444bb820ab234834b776883e0ec01344d76078d8d6d621599a3d7b9af9debd22591f1829c21b07a26a103afbe3bd2f8a5e0894793ffef14b68eae4d162e088cf60ce81b1e617bf7813fd99cf152ab19ffed465926df9fd3d2be866be7fe50cb0abf89a77f3b3f5b39f3fc1736e5e54a63ba1e85c6c746e7ce186254444d11cbb5118d672a7766db97c22e5b8e8e2941c67682953a1941050282710664fd0127c703f2d39f72afaea3ffd889f8186b04cf83f5fef5dd64984e0642a7de3ce5fd237fffee3b463f3ebd4d83436542d937b994ac4ac4a4e9a8c89475eacfeae443a25096a47478a0376caeba3ced62d12e08ca1524ab22668216e3fd64ea39bc6d0df7de91fecaaa7c316369dac899b1919e6152b01b9dd398564d6a040f2de795f582c0a8ed727096898d28ddd17004926536a1f38dbbf9f4c842ab45a471e18e815c3be8e8e762a2bafa02f7fe576aaaeaea50e3e7f74b0d4d5d551a51553c3d7b3cf3e2bd773dcd8b1d2520d5d9392d2322103a653792a2eaba5dad1e750f98833791554c193ce515e41f686e437cfa9d50744b1720c261b6ddf34dd0be67cb6f3a40d90b068e1245a7cca149a3f7f3c07be16238ec51326824135afbabef4856b39489f4b1b36ee1243b7679edd24026a777def9374dd35671875d3e7d64bd9e04b5fbc91bef2f737cb7e366fd943f73df83a0383b1f4cd3b6fa21933c6d0ddf7be2281162a983022bbf39f6ea06a0e167fba7f359dcd4110cec3175fb880f6ef3f4a8f3db1562cd7bffeb51ba8a1a14af43850b7478b2b24e445a576de785a7ee9a9723cdbb71fe0f1d42f466a473828741eeb95808e8cc81fee7991aebef254bae39bb730502e67c0b58252d63303d70881186dbfb77df822fa9bcf5d29998ed56b77c8dfb76c353e3637df7221fdd7ddcf4a06e0ce6f7d884e3f6d1a6de5bf6125dfd5d327190ea9dfe77dc97ce01a63058f40f1952f5f2fbfdfbaf5007ded2befa7850b26d29a3776d21083bebb39a0c088eff6bb3e4fe79cb5807e77f70ae9ce816921d465efb8e3c3d4d454474f3dfd0607d079a27372c925a749e07b98c1c6b5d79e4db77fe3830266da61796f4b1d08c65011852aefd0605eb200d75f770efdfd976e64607390f6ec3e488f3ff1baa4edbffaad0fd3c5172f96ee9c534f9926ea9e97f23eb66c79971e7d6cb580af3bbeffd7a2c7f1a7fb5f92ac57d3e87a3eaf9b18302ea33737ed16a7da279e5823e3f09fbef5113aebccd962daa7401dab6f000a9439b09d3bbf7d1bfdf5e7ae66b0b18ec15b279d7dd62cbea793f89e4e64306c56f3289dc10348323e50456deb14b235ca589d1ddda278f9dcf3eb452afd6b5fbf993ef1b18be55ece9a3d5a1c7c979dbb40b24208f4c683264bfff19ba7c564ef9b777d92aeb9f65c7a88012b14746142896cc83fdefe4191644786e8c0be230c585fa11baf3f9bbefdaf9f904c169479abab2b4202b869a3f7a32e165178e66779ea5831fac3b3356d6aa388ffe1598489e5d3cfbc21d2f05ff9da2df4a94f5c2a6314c463647e66cf1a4fdffee78fc9b55abf7e17ad5abd5532747ff77737d0ed5fbf5554669f7e7aad940e01f25046c4c0130da29c699d2e62a07defbd2f4bd6e68e3b3e42672e9d25d915fcdb94c05246a6c166d7b43c9570b825e211e5b4ef2b01385ad17b0e89d87488602e24a704869f219e76ea5997d157bef5231a33a6319669f99fd77bbfb47c8dd8306bd674fafa9dbfa089331653f3a10336d31535a1286fe8e42ae5382c7625236a5ba5960bb46450525241bdc7b6527beb0ecada0e9d720625f523478ac15f73f3613af3cc73e8f37ff365eae9eee195474fe84429dd0dc171cc9202d9b902b29003348e27ab1ecf2d2904244141d9e6785f1dc36381bc7c3a5de4746e44d91b11149254755a3225c864a035180fe857bff64fb470d162396f94c3904142b644c97b1b376e94d78c1933a8bebe5e8049c407318ecd9868506529af9942354dcba9a87a81a482b383dd966c960cb34ddac2a7e51bb71d524952f83b52eaf0d3d0ee167443906d4df3bc144d9f3656145dbfffc387e9d1c7d7c8048fd51f56b68b4f994403dddd74d619b3e9cb7f7f9304e8c9931b25158fed7cfb5b1f9455259c6d0f1c3c463ff9de131218ab791b1d1dfd1c5cc7d0a98ba7084839edf449d2a28a720ceaeef0ec809bef35bc92fdc18f1fa3effde0319acc2be39a9a32b99e9a3256533bcaf91c0026c8b16d7efb0007c499521e58b972b3b80f63558f743f26fc410ef8a72f9e2ef2d96d1cc431499b310b09f84922cbfe939f3d21810c35fa3e5e1543827cd9b285d4c7c0e3d0a1a362d687343780d56c7e0d8820564ac8b762d827c68b1929655530e85a72da74aa18512352dfa72c9a4c450c8c90b928e2cfecdb755882cb010662bff8ee7ff1cafa90acea9b5bda69cce81174060714048031d036e16b95b3a26a48d74341f5daabcfe055f1a374d7771f60c03f4284d95c2221ce0f01031a2c8b19708c99384a3218006790ffffe887df2720ecf3b7dd25206ae182c9926df1849393a43d7b5b8493b1f295b7e867ff7a4f6831df0827643e871ffcdb43028e509ae8867f475bb7c8cd03eccc9e354eac064ca78f21c402642023b374e94c1ae06bdb34aa46da9477ef6e3136ee5e10722614684b292665ba98709f94180c9b026468aebaf20c1a3bae9e3ef7991fd2cb2f6f11c75d887a790933a1935d3ce11ec10b09dbc131e619e8ce9a35464a76f0b18110de92ffc3de7b80d9515dd9c2bbea86ce6a755077ab5bad9c332820902582c8d9e000388cc771c61e7bec677b8227fc637b9cc6063c637060ec018fb1b131194c16480849488072404208e5d8eaa84e3754fd67ed7d76d5b917e67ff3fe619ef43edee5eb0f75b875ab4e9d3a67edbdd75eebac49fcf70084680146960280f5d575af9b39fc80e508c9e7f2336f09afda6516eb19a1e62b8eec4a98469b6e923d84fa38ab03c9fbcf7ff69f69b999a7285fe19e0270cf9b2b8ed3b085c078ede00cd238aaaba9e2cf8647d3debd47f8d89095c767e1da8464eb71f48cf226020b803d947aa64f1b45e3c7b59008828a69a644da09bb76cbfd01f85082ab966154355a374825df4af7a143d2ce89268a1e179f73f4f8713afbfcabe9efbff3531a3572c45bf4b0feefeb3fdbad23da3cd3a74fa56fde7c274d987e161d3d764c82653683f44f69abf5a9cb988030988b99d90a46dcd6b9a8d4912e350b73924e1c5e4b27bbbb49b972d874b12173aad46cd21fbcf123f4c94f7f8e4b1dd2e9e145e4517576a528eb51d4d61b84d10215441d3d2e99f66dc8af3109e52d80a45028cd29e3d89463baa48c7bff5dfd132cdf79abef8176e954d26c647d3d349041f47cd280ae5efaea5ffc1d5d75cd75dcb38f63214bd2387c38b7f1e105cf9cc71e7d945a5a5a68ecd8b1dcc5849a7531c39ae5c6cb413ec4825c4e354d73a8bef5520a120d34d0d74522a310442a8f5a6253712b71142eb5919017754e609186401a382225060c9519f085a8a7b41cbe32eb0c205943975c3297aeba623ef345b010637384226559530b75f766e87913b1227a3b69eddd411e5df1e27696c6c6023bcb80860b2f9e6dc0e8143a6bfe784aa47c8ecc318ce570993d39c8e24f25e9942d1726b96471c92567d25f7ff57d06f034d2bfdcfe286d7fed60a4662aadbf22690f25d529139be8b8598c57ac7c8d2eb96836733710e9038cc06e1ef5786c70000500404c301c52291b8d0111070f75d02fee7c964b031ffdc8c5346674136fd020740b2f206745fe3c7124361b083224eded270d60b48ea77012aeac35d7d36f391236b388d437cbc78b3228c00b9b166263636266401326b630f8993f7732fbf780f80a1006cd14f27c2b6c25626e3810cebddd8080f3cf9d497fffb71fa1a90620ddfe93874d84fd3a97cdb885379f8fdac1e55839caf4f6f37561bc01e46a0c60fbf297aea31b3fb4845e5ab38d7efef3c779a34eb2d5bd580860e183b3f0b9e7cea6f316cfa4450ba7d3438faee24cc22597cca16bae5a4043cd7d49277d966547f92631b44a4c20cd9c501506e53300a820a3500a4559ebadc41c0bfb5c6113176e436037b964348e60b58bd2aecfef53d7e7cffec995f4a94f5f45ed5d9df4a3db1f32cf04d3cf191cbb427729abacca6ac0e63883060c408916a01bd78a32650e1e24d9bccd380aa8983f6f32831938234f9ddaca7f5b6d0064229988bbe2bcd8bf4bd7a0ac196b8ce790ea72065d780e71ef31373ef3992be84f3f7b2d67b9fee5470f5907d92483bf3027be325a16c13826cd187b95a56643eae0e7109fc35d4643aaa36c4bca0aa461fee0feb677f452d9b05a9e7700c0d9ec009350a579df67de4dbaa494b716fc5b2506b4155e8410b32cb2e75b175c7ccf6b87cf0a34760ff0224136b27e68b5953e353434d11f7ff66f58a72470dac64fc79706d7fa75babdb8990299932993e9a64f7e85aa2bcb69487982ef2d32791484ef3e60c22500a77d535adc442ba018a0e0c9a81a524b5eae9d0eed5965a261dbe666feaeb1a989ea860de307fb8441d39ff993cfd31f7fe24f98180bc97097ab115ab9ddb7f3198afed3cf0ca8108c14104982a2ae1d7278256e96a490a0c20b3b3a1c4a2a38daa1302e9584448ee78c080d9dece9306323a0a4c36c929fffe297e9431ffe181d35204c79258dcdcddc22acaf471e7a88379b59b366990d7418674bdc88a5b031ca634083f24e3a195065b519cb1117523ed1483d273be37171b422542c4a176621cc06bcc0c0f788c98335d55c3bdffd461b1322d152983291768fd9cc5919d47c2608a1b0593f72a4d3449513e9c595dbe8b9275e369be163f4c28acd74e9c573e8e8d10efaddbdcbe9ee5f2fa5bb7eb994264f1a4593268ca00d1bf7f202f6c28bdb68d7eec334acb1da44cddd74cfbd2fd2f34faca7c79fdc4873ce1843c39b6ab954b469d35e736e27e99bdffa1d7343264f1c114575a27322370b4662ebd6efa60d9b76d39849cd9cb9d8fada01267c229a5eb77e97591887d0b429adbca9ddf5cb6769e5b3ebe9b9659be9ac7913cc3154d745f44d0034b09181e80baeccc1c31d0c3ca48414f0efe6cf9fc20ebf0fff6e05dd7bdf4a1ec3d29204fb95c05576e91f9e633007397df81a9d309b34ca1610b0c2c681120f7107523f9bdf8173327162336dd9b28f3c738d2b576fa53d7b8f323f049905643a080669e67dd8886beb86f067a2cc007eccb7bff75b13d51fa689e39a99acac76ea2afed5c92eb983cc13c2e74bc750827f8e28fb9e7b9ee73217b216d8f0999b62365198f23df3cc3a2e3101b86ddeb29bcdec962ddf683756f16f010766ddfa3768f3b63d5c0e5970d614eee859fed86a7af0a1555c324af85e54e2aa282f65176594325e5aba9e7ef9efcff2067bd682c92640e9667f1f21f17936332b6b0efc798637d570c9ec9edf2de36383608b737e71e516fafecdf731a915e3092260795535f5f765cdb96c34e02323760766f96c6eaea5d6d67afad5af9fa375abb6d09d773dcdbe49e3cdf81d38d4c680052ac428cfeddf7fdc44a830acab32d7bf87cf73d9f24d5cca839cfb8f6e7f843b8ea01b82e71b7309e0bebf1780a09bcc43ca4ed7ab566da31dafef65d230aea5b666083f3f37df7c3f0d35f77344737db48eb519d00cd0e29596309000c70ad925909d1ffeed527ae89ea59cdd59b8701a5b41a05cfac4bdcf98f17891e70dca3ae09200142e5c38d5ccd58df4c213afb08122947d590fc3b3ba17a1550ab60acbb22ea40a2275803a7439a1632b6f81aee769f75fe068e4847cdf78f90e648dacab4ad384514dd4d0383c0aae62e1bad3efabb83270ba9d9f2bc2377c78334d19db4c432bd22c86c88f98ff2e7417fef8472ebf78cca8a6d26e6bd0a53752074a1f2c2557f224847f48d721ca872566a118ce4a841cf99796f2838196592cf88bcf5bc2137ad5ca1718c70b91d6e1c1be5d3dc77389aab1447d0c2b42f2c2b7e1cfba0ec3459a262ef115e79560c1a30a36582a688d56b2a995d14604d1d3d369ff8fcdbe8f0dfa3ef189cf9a8ded04678320cfdfd4d2c2c4567dad5dfb2a6ddab091264d9e4423468ca0c6c6460626ff33b48e0d4798f501735e427f281d3fbcdd4cce3c7fefde0f573b42818a8cbff87160b1c7a60ae269858990478d6ce02874c0009631ec8193a3d5abb672990624c3b6b64ebafc9233f81c5f5cbe99eaea2ae9431fba80c68e1e6e16a01a13756f67e3b0ebaf5fc49c92912dd5bc20ae5abdd35c633d5dffdeb3cca60d0bf8234cc07c75fd9b346b462b5d72f10c736e42ac06df60f1a269dcfeb8fc85addc167cc5e57369d6ccd15ccec09803cc0d1b36847aba0778611d6b405069c2a3d6961a9a30a199ebfdd880c03340e9021bcffa8dbb99db327fde24ce00a19c2302787933f670702ea7152f6ee5ccc8f9e7cd32c034a4eaea526a1a5e432347361ae0933340ab555a95b7ef33c71ec1c4dc31a3c5a59809c49bf7d019678ca733678fe7f3c3a23eb275189785704bc003a9afaba2acd9d41b1b6acc390e33c0ab9909a92fad7a8d5d8fafb9e62c6ec7c6fd81df4f993906745ee0bf32d65c07ccebd0e68d8d076daccbcd66f9dace03660ce73290402bb16f45e8f0a1235b1bcd7daee396e196967a013be61a274f1e499326b530d9f485155bf87c3ef881f36dc96e90334be72c9844a3c70c67fed0a60dbbd8c976f1a2195c96023082dbecc8d63abedeaece3ebaecd2b906d86619a4a11c72f682297c8d0041c8a6404560ce19131800a03c84acc007deb7909acd5c40e6acde5c2300aa187c7a9c490148c2660c8228eee52bafeee2ac1036e796e63a73cd93d8d1f905330e830634dd74c305d46a364464e08e1d6b37c0afd5ccedf248261ea59043874fd0abe69af079377ce03c69bd36ffa13c550e133d64d40c409b3d6b3c97ccd0f50407ebd906f45e7af13c1e9bdd6f1ee1dfb1f1653e100d179b71686a1a4aadc3eba87668257f16fe06a0290c3cceb482440da2efb2e7d7f367ddf0fe73f9de63a3c735a1ccc719d62165b460c15406382fadd9c1e5d02baf388b669bf1460715d6a1356bb79b39df6ac67a2a73b1003e6bebaae9bcf3a673f60e254d5cd702732f70ff93b6e5998993b6db32160d0c23b2ab2b9fef4ac56b37a668de883714329730785cfde21a2a4fc362c4a7d080714a96d3bcf3aea1badaa1a775b964d9b34fd1bd77ff92eebbe757f4dc538fd3eb3bb65359793935340d3f2dcf77efde3db4e6b907b932015f2464ca3aba070736bff12e73177eea81ef7dfffc45670c455dde15182a2d2d2de8ce89f54d884db690beebeaca50cd88f3a8b165ac1940d1f84077cac1fdfba9a3ad8d27407dfd30faf5dd77d2adb77c8f273e1c260b849822a4e2fd073d43c41100fd273a74c2b7432a0ee936607d891296432ff000517302108193d2723738d0671671b1f7ee686fe787fcafbff675bafefd37d1f16347cd62dccba599e106780c33c043af67ebe657e95777fd98c64f9c4bd366cca1fada6ab348d6533504e9fe17d29d01973512b46dfda374f2c4266a1d3d812769c49cb7e044cb1f8abcf185851029f5eeee1eb64747548e34b267ee11a2ccaa0ae86354702928c90eb81eb7d8761ab0c5c27989211426729ce6cdf4e799b7c0a258a934a7c43b3bba4c84ec539959a87ae0b06a3615a498d7acd94977ddb5947ef0dd3f32e30cd094a1131d70664db3032f6cdad151818d142da19863282ba06eaedd01d85cd17e09dd086c12dd9dbd54535f6ece294f470ff798a87428b75c23bb80ee8986613562fa96cd73a909190d55dbd445b8aaaa9433486a6c865b0d0e544939a4fe130c021e78600547b21ff9f079f4ecb3eb68e5aaedf4a79fb98c09aeb836bc47f8411e13355b9a1bcc06dec5aeb1706f46c9071d452036427303e7011c8a0e098f2a0c3832e7d6d5c6e0b066e810fe5b6c66b5060062fc8f1ded36cf46351fbfb3b38baf11c12b801ab430d0d5a4caa2b857e0d68825428eb31b274f8af26f450504e294cf11725605e704a000f340bc0fd993b6131d668c6b18f0621cd1c22dc1494ef80d10f582c60b1be0e598cf83b1e8ea3ec999366413da4e747267882643711e432a4b6d86aa9c1d837b7afb5813c5c4d39c2540842e6db225f4b37f7d82e7c1df7ced06d14931f30bb2fdf85d47670f1fb3ca7e66493a618085b40f5799fb8c798bf901a08a798a3101f0d252070003781cb8eefafa6afe37c8b320a8e2f8284b41ef049b3d3a9fd025049d15ac13b5b5e21ccc2694aac0699e31b475e3fc9101aaabab31a028c5e7c6268ce63c122c06e8f1fd42e60ae78eeb026f05dc28cc73641d2a2a4b795de9ebcb327708634bd6770af302e704b2eec95e317bc4b38ab12b2b4d31d8e91fe8e3fb8852154c18910dedeceae18c4fa44aeb5803c8b3254aaf1ea96d45be20e3aacf0bff8c33ca09e6deb18bf6a1e3f4fd6ffd906acb216a678e9feba38c5f4d7ffecd5fd1c409634fcb0d1e6bf4ed377f979e7df20f7c6d0820719dd0dd4276fa0b5ff91bbaf603379e76e7bd6ae54afac9373e4e3555668b36810a6418f61fe9e9bcfbc96def2e77e1bcedb157a6b0a695b49ce1b69389c893782520e3505a92a5237b5ea0a499c0c31a869b8733e409d062366bbce0420c5d939b3efcc76673aba35b7ef02d3a721829ff066835daba7392176378aa44267b45e67c5ed4b61ba550dec6cfe6addfbbbc124400a56611666760e5b968eb5ba80457f1a4e9edef310baea8361e3f7edc442323e8affefa1fe8fc0b2e3611ed21b3b90f30e842a66498437685c4f0e30fff82b2fd87e9d8c1574d54953611cda566b1340b9d59a09935ff1f9473de52db03d0c0c69636c0c244efc3cc869d348bbd47b15aaf8248e50665ad5435da58397b621631902dd9708c446009624b689dcc74748b9ae4a0087aa1069e4c9be873d06c6a4978aa9c649224c6043c0e44797d7e86ebd3b88ebc594cbbcc3979e6185d6641cf9868b4da2cc453a78ce0564aa4b57bfbe07303226e199327b1e9a903b07a7ca04ca01d4632bfc454efc8d10e991f666347eb29e4fff13b44fcfd30f1f3c44b02590468af607e225dae4e1e2a7d8f347c4f8f4875633cb2b95ee61600dba12c575555cd5e3e28bba054f1835befe728f9031f780fb7e24217031408cc7b6cfe8805f07e74c5c050119b2cf45ab8e3c96c10283bf5db089e355dccb111a99f30e31d58af275c3f3652645d3aad7e8728a1f646dd13d88031cef8f7d163ed51ba5cc8e949de64d59b25cbbc8904932cdbdafaa2a0426d06705ce60798f7638313fd0f335e27da190cc06e017a18d2166bc6292be66fb8e75df95ecbe14871f94adc7307f98bac2b6e14b01800830d9f790a09eb2f64ae1fe0928de6cc330eb08373ddbbff18fffdc517cd11a068c08cef0ff0186173d6eb95f34df2f90d0c84ac368b522485d9a82348e68f707a702ff0dc76768a81a564ea3a6db025a0059d4738078c8b28da7a7c6d640d084184c6fb741c31c62936cccc9af334f32729b2ed9d9d1913330970805b77c84273d624d18f1d8bf185ebe0e370bb7f36e289e1fe8b768c39ffde8148fafdc8d11362671062ce77f0fa84cc1e9e3ff03ed04ecf92f4e6faf10ca8f0e0203fcf294bdcf7f87d52dec933d88c555f9311693e5617b67e47b6761e89a885147509424b31cb402d386d9b82fb0ca0fbda973e4b5b366ea0d163c7f1f5c32604cee4a3c74da0f6b6e374fbaddfa39967cea1b1e3279e5e27ef946e98efe9ff87a219ff5b5ea70c98f88e9cb8d609b54d582599c969590563dbb3a062686d83d9ee8ed3de1dcf9807e00a16a9422403ce454b6b2b1fafdd8013b4955d7ef9553472e428baf5e6efd0abafac3140a5965b6739aa4da6296590b8c7a4d39cfdac4098fc4a8255a9f9c01146f3de46ee388c5928ea4982871ed2f27e645a27ba040047d828018ec095e8eb3b6940c74999dc7dbdd463a2a1c5e79ec72dd063c74ee09e7d444e30e76b6a6e960e1c9b0569ef68a3271ebe8392de20cd9e7586640b8eaca35757f7d0f459175273eb24b3489b4d24271b872b0dfdfff5ca05212f3c489797a4459d34848c7c2a1d8149917e97ac166b10d876c0c8880d69685e6085f4eb25a49e0c0226801aff00867625e2ae0bff1ffebbd080855c26f66d619f9d8c38ed06b240866c919ee2ce96c6fa2174e3071719e090a701e076af8cf549d4621e24637437e1ee48db61b6c0e324ae07e7d97198c9c966530a41eacb8b3c7e42f5183299a835328c4c2049ece0137e816f0983544f0204df4b72068e1778b4e1c169b9b79f468f6ca02ffef975b477df41e6b84074aeb3a39fc752b57dc8aafeea3413e9f6bc4362f323b0a8b2eee8ba72794b620fe0479e24c8ba693a1daab1ea858317009a5a0f6856ac58665d5bfdd5a430ee1e096ce745a6409343db60e1927df2640775f5431caed13c0329090e90c60759da9c17b7915aa9fbacf557f2236d0fe94a519348cc6910937396f68532a75e333b439b612b37c00dcf62cfc9939cd5fbf3cf5fc33e30c81ce03a55355addaca32f03f0427c99632083c3615f3614776fc70158357fd8f13b972fb01f50bd1f97740e0fa8c8cd1861a7ed52e192a2f5d551d0acb2fd91c791ddc889c15632925ed0b9e12a3473c75c91bf95dbbe0b90ccd94b8737a60045aecb3c275ec09f83731be80f39b304509c4cc55e50057e4bd6c938888876f2fca88bb35c57da0aa805366848447c3580b8c09a167a964cef7bc23d49b044bd47e1698a4c6ef9ced769c7b62d3466dcf8685c6ffad82769fb964df49af939f69efd7bf7d0538f3d4c7ffac5af9e96dd3aa1e5c2bcb512f02e6a1756bf116d1bc382a8f2d7fa7345e2a1638f8e9a66f5d03a032aba68f796c7d9d42f67931e9c3931e044330a07f6efa3091326d1cdb7fe843efd279fb7198643ec3793cbf60bab9c4dd2a0b808b9ef4a8ee4fc04da224bb804c35fc952b369949a07b284dd6953fa7ffb6f74d9e0ab146ab525f2859f7b5ea10f44dafc0ceab5d8240607fba8bbeb0483122c60870f1f61e2eb97befc97f4835b6ea796965673fe7b39bb04cd96665c576363549a4107cee30ffc94ba3b0e516beb486e071c33bac5009419549aeca59757fd86d6aebc9f4ef6749a87ba84097f39db9afd3f7b9dec3ec17e44882ed940cbb6386b3bb7d6855d2334feb7b33969b987a5f613ea7a9a88222895bc0fd925381bc98bcbe29774b24f5af1f2382d9c4c2a8895852e17885b34ff3ce147d5391575c2e720edaefe23dc1a6aa3d2c212955ab467a4253391b4c4cf149f5faec8c95617f95c64ec1614f8bde866ac8ab9bcd0b2947f9aa3112ccac800b49ba8163c93ac99c4489373e9cc4691b1f36eba603ce2164bafc0444ec72d97973157922fc686c994965cee9ea3b4737b9118960242d5add14d43f56b5c8f24d704b19823e63aff6aa6cab3638f28d2b31d1a0ae8d58a4055865ded1cd74431c8178232f74bdb53f119d22e2c00523533a0a703608c6c1cc63f6381a6d80da4221341d5e951ef1825af6bd75e0466d5e9dab956f5f8514e85ca21b8e5699d7b0a3e54df43dfa3eb5fbc7678f6def99104426630e3bc4792bbae0694ea42e931f5382ed0d4e3bbb6206e569b0182f537f2ad05810b40f5730074b5c4cb4199e3da4c8e47906b23804c563a1d7b2b69592788bc6e287288d796e1d3b52d78edaa15f4ec138f99c0718428347776d08d7ff409fad8a73f47d7dff011363dc45842da61fdcb6b3833785a75e838626ab827bc9e9ec24ea253aafc0a54a99b9c3e4cfa6023f271b328ba40e983ced2f4b50d0664eca737b63c4663a65dc64450a4fc10756113c771db8e1de3b24e556515fdc967bf48e72c5c4c77dd79072d5fb6948f076e0316a8ac01292956322db18b543aca7220358ec8010f89cf9b55186dc2d1c5781453666d54e3da8f73db2d400a5c73912119ece70d19fdffed27daf97d975c72397dfc937f4ad3a6cd60922bba71f05e48cda325d8959bc7ef9f7af80e6a3fb6c744810d26fa2ca7a6c63a96144774877a7359d9093a7a683d75b4bd49a3279c4d6327cce50563d0009434eb8dbc3d2eed3791fcc17ddb2965809622684cd4bc95ce77edca7dbbe8b8253925234be425de36486fc71b541c6971d782d53ec0c28b6b064f00a040b32fb2590a8fa0b7a7372eedd94c1497008390c10180805c578e644d94ac1cc8a2d8903403e0bad14a66226640eb821bd84d53b33fd8ec9376e3c6fce4eb35e7eeebbbb1e84bcf63813e839ad9a90f09cfa7208eaab9753ea33577d110885a837359ceba45da30881ccde69ab1aece9205cabdf519319b562a99e572906c0009de3c345a7733456e94adf74601877bbfd437c7ddd8a248d99e87eb72eb1ac5c51b599e9f37d98852cc07c135823f82cd07e31a83ad90e7b3a81e67a2b500b717fc1594440acd21a58c86f9c78023219d4428b99115ff021f42dbe719303a028fe8e2d331e4fb673d65c41831492565493ad1769cd2f66fa2cca005a30acc145ce1b85566ee0ff0dcf70a8c1ddd715740807376c19f8ebf001b691306799cb33c59107f4dc052516603388fb94508241420f0fc723c6a14e87009b5c8d159e7abde5f5e8fc32072013747e7cc96c6b2b147911d47cb3bd2675cae89d8df48e670dca9a2a098b3c63cd619eba45e6aa5f7153c0551f918cf553e173840f1f47a3d7cffef22256cf049264e9e4ad7bc4fb824cd2346b0ac438ec73ecd7a549d1d27a8bea1f1f4c996d8321ad67390ba4b2b4b38abf8ee2be5d807401fe0b88d3817a1689dc88876388ae0c8351ff135c04f68686ae6c5e2b5f50fd278034e1a868f30e044d2b2208802c01c3b7ad46c683dd4dbd74b53a64ca76f7dfb167af6d927e99187efa30deb5ee1cdb6ba7a282f98665be64d5126994cb464ca8bd2a8c48b6dc00f2df7ee478044d2f9beba8e26449049a2d79c351a449626c31b3c22f8aece2edeb8e72f389bdefbde0fd0920b2fe5431d3cb09f53a1108faba9aba386c6462aafa888c6e8f0e103f4c4833fa59ecec3d464ae17fa0710730291109b3aca0d90446f696ee45662b8106fdff407dabf67134d9d7901b58c984cd941e85964b953c8b7d7a6e3bd66e52374e8c0eb346ad4286e8bc4b8633348388b57de9a65797671763bab6206be2c86f0aa19563f8449965209f3a24d59ca5cb2697bd6904f380e5e1441cbe29ca50d1b0fd3a8d63a5e58f53334a50fd21c31df6090cb36384710e83077b081bdb9a79746b6d614447b6ad3ae36f702929356f530b09a33646bf18948125b37688e72ed396b7487e3a5ede682b91145eaa56511d17000635f1246aeb46a9a0800c11b77d6159df2d98937c325ce80cf0b6385e53ab0297e0567ea3dc29b63568157ca8281204af5bbd90197a8a8c7d18ddebd4ffaef0ccfadd282cd2eaa4b3b81846651740ea81e07ee493e48da4c628e9f93144a1216e82b28c2b12a2ad2dca902c2fbd831cd7c0d20bfee3b708c05d4c68c698cc4ba124eb4aeeb0542894cbf3ccf2e674dcf4fefb3b849270bd61c6468d02a0b60876764c386d74dc0534a6346d5f31ae596d0b8745652c2c745b0252dff251c846cdeba9749ca6843d64d5ecb3bae5c3b3b2e3bd9133d5739379ff6ec8539661bcd9c3991f96883997e2a2f2d612142809133ce18c7fc0bd710cfbd179ecd3686d98009e9be9ddb9a197281896678127c4fe2202ce75c77c41109422676a3e48bf50ea458707c22c0681ddcd5255ac71a0059419d80bc847daee276d66464ea277a3d6270f8b64d1da7f4b57bd7ebb479c37a1a5a5bc7d78a468cf79c7b8164ecf85e241974f50374637ccdfc0449f6740226426d48c89a9913ae613e17bcfb4a39ea965becc6aa91970a79e962c38b3a26b2dd4084bdef73f483bef6f2541fed58ff00ed7ff33513857951a48fd2c7a8d1a3f9ff582c60788712c595575e4b37dff263fa876ffe13cd3feb6cded00e1d3ac82dc7505aededed31c8b6c3a0df76036abab85306c454de28fd58f931c1c025c13735e14bd92097cf9873efe3120a9071677b1bf5747798cfeda68ece763a72e4285fc3e273cfa7ef7cef8774cb0f7f4a975e7615cbe91f3f768c276ff5d0a13462e4481ad1da5a004ade787d0b3d7eff8fe864d751734dc359d5130b1f3224ccd3e0cd32606132904ca18c3a7af4489a3861028599a3f4f28b77d3da55f7537bdb1173aa66610c85bb83b13ad97d92963d752f6d7cf569767046b40a9010d57c9d4d2afa190008368540e4ace017025761b4650a30c8d0bdbf5fcef2e25860211a866e0515db1253b37273fe15dcc502c9f7fb1e58c173003c0fbc5819f3e420fdf6f72fb0f95d532bec08ca1c7f8cd02cfc95acca0a40964c82c4d9cdbe2fe81c0091f477e61c58f1b4651847b19a6590ec8acfa43c71ed4d73f78e76c4805f83b145b48ad6522907241908421b041d0b0018c8c820c040a6021b2ec601e00a6da8783f3a2bc0e5c062dbd4d860c064a594313ce2795d6536bd86ba6a8e80e5b27c032acd381aa0897b8c0c0148c110cf7af091d51c0983700cd052638e5d61c6dba3d0ca99e739c2d6881e91a93e43d0d080d70dae25b0201bf318dd24b82fe81c11afaa14cba4631ea1c514f7026385798fb1407706ae4dc89f39be87106983360bb23ef839dc7eebeb87b2d608c61644d4871e5e65ee65d68c6b053f47555569fe6c1c53c9d7b8ce9aa19554df5cc7a6752fadddc9edaa019bdc89d70d1c6f31a6b8efb80701b7c256705b3403c9b447159569334669cef6c12051555fd179847b8c8e187545569025995a9fbbca70ec0a33c6c89040ceffe081e30c3070df71bfe16dc4cab116f0614ee39ce0248cce18dcdb871f7d895b93717df882381fdcab255b988980189e33fc5eca2fc41e4c224496a186861a738ca3e69ad798795362aed3ccd3f20a5ecff6ed3fca267f20363ff4d08b7c0ccfbac3c26f08cf22ee05746fc019212bc62ceaae09be463e579be9c598c00d1973a102a683c81a7962a809d13bfcadb86d4bb080c7079d3f0d8d32070528a6f8dee3bc713c26cb724b3915006051178d2508b85c6a334f925509238b0edf0612a964924eb7d78657d732e810e095a5ca21d5346bcebce8f7d85bb40240b6a1c23bcd84e1d44e6060301b0545b1ebf7bb2863a2696ad7b65bd3a3c5843a45f1215ac90cf2e45c852f8a99a589342fa6c3eac1bd68a39d1b1fa4aece7368d2b4c5661113a40ff97a641fc0d338d1d66600430f1d3620040bfbe5975f4de71a74bb79f3467a79ed6afedabbf74dea317f878c4c4545a5134d2545f42794565f8e782d0122fe7fc8fc8080a5c403be4648e4e759c362084d9a348d169cbd90e6cf3f87a64d9fc9d1e7891327a8bbb393377970646a6a4d845557c76457b75ab476e593b4eea5c7f8216d1ade4275755554631611d8db638140760867940fa9a094c456f6d51e95958ca3f6f60e3a76681db51ddd490dc3a798cdcfa07cf3e693ddedb46be73a3a7ef44d73dc619cddc086c176f3a9846d23ce17a49839e3654b70b85fa83f6fdaf2266ddaf8064d983082f53da4034ac003165b380543a80c4253d0aa4077c07eb3b8623c21a8067756f876349a057cf1e29991fdb92cb4e51c353ebf7c338d1d3d8ce69d3996db884303aefef0e47a6a6b837cf91433c6cdf4c453ebd829b875441d2fe458a40f1deca0a79e5acfe66d93cddf9ceccd46112b16702caa1090eaeaeea739e6d8a3cc7bf7ed31002e39607e36c0dd09ef397b320bb06ddd76803b8190a5c238ed331b17fe0f512e8087e36d87582704c68098854b976da529935a59dbe3d1c75f620d0a8c0fdc592bcd66be6af556dab5eb302d386b020b5d1d3b7e9281315a9d618c072136f8ad2c7d7e231bcf015c5c71f959b4d79c1fdc814b4b13acda8a8c42477b27055e60c9bac830ca1c1a62ce0ffa19f89a3b7732df83201080fdecb3ebb9d578f1a2e9d4d85443fbf61e078b4936e443ed74c179331920959654b00cfb8a17371a405cc35a17109fdbbe7db71963712b46260356022b576d65434008a04d9edccad7f1d8e36bf95caebdf61c06af2fbcb08985bca0823a6edc08f3acf43129f8a9a75fa59123eba584515612498fe7ed5c0008d8b0e94d5abf6117fbb68c19d5c8d9099848a2ed3667e6ff962d7bb9bd162db028ef22e0c0730131b93d7b8ef2784e9d3a9a3b5e74b34cb3726e9e1e7c6825db072c39773635b736d119b3273008d9f6da5e065910a1db6bce1bdd3d00a190acdff6da7edab6750f8f2be6027e5e6a89af55e6fbf5eb76d1dab53b5817070ecd50890d2c583a78f0184bcb4f993292db7ce1aa0da1363c39dbb6ed35cf59c06de96bd76ea757cd71e07134666cb3b986b17c5ecf3dbf811e7d6c0d0d1f5e47ef316389aea427cd18422708635b3f4cec1f7c4f4a2c7816f7ef3fc6801da46bfc0d9eebfd067c2150c1bd1a39b2cedcdfc966bd4dd2209c8bcdcf20ef80790b6d14006dc441bffddd0ace8c41e704001a0127ae73e7eb075878103e4230d79460231d65afc40a61c0963895e8eac5fa4eaa7c8b0a72424a9e008da7db0b8457643b195c993d098ae46327c45d37ed662f191ce8a7b4012c28dd237b5a535b779a75e5c4253f64d398dc7d0af93ca74c60ed431fbcf0e291231a4aa1881871166c9b98ba0e17930c7dedf4f024bd8a142f364c704338f24ca4b83be7c8816d66033e4665958d1c716a6a1399874a470935c369fe2efebc3163c7d1c2f79c47679fb38866cc9c6dbe1fcf2d9d7dac81d1c7913f6a872c78d6d74bfd66a2211d89dfa1bf1f5918d40ebbcdd7607fbf7031cc17f454e6ce5b40975d7615dd70c347e8431ff9385db0e462b360d6f3df777575f104c0c2093082ae1b647754625e3a6fdae999c7eea44d2f3fc9206b98392616db6126aaabe62851380c092b2bedd97427d28788e085fc98e40c0a5a456b6beab833e5d0811d7460df36dabb7b13734a825cbf8972cca66216734452d864cb0da003af22b435714d75bbe464dc2b44530f3ff2125bb28f370befb2659bd87b67ead451b4eaa56d66639d4c3b771ea4fbee7f918699cde3c5955b79b3193b7638dd76fb23b472f566be16b8eebeb9074253cd34de2c68c800f856c0e999a5ebe880593811a13dbb74336f88f026b9e3e74b69b7d968b0503ebf6c0b2fe8c78e75d20ef3791326341910504dcb976f675335440110596b1d514f235aea39ad8d851d1d18b7fdf8316a37912780c2d34f6fa0e9e6dca15bf2cfb73fce7e3e1327b6b0360b54682b4ce4b87efd6e56dc5c78f614facdbd2f70f7070c0cd7bebcd39ceb069a3f773cfdf45f9fa2ed3b0ed040df203db77c133b2e03082d7d6e23671366cc9940f7ddbb8cdd87a12df29c011e0010d8786fbef5016a3bdec5d9c1a566e381581d342976ee3a4493ccb9209bf1ef772fe5ecc5de7dc70c3838c89b06d2df39e64580b45dc2357c002fa8a33e6d36ab0966f37be69957f9998229dccfeef8036fb4787a9f7b6e0383a0cd9b77d30f6ef93dcf338cdbf3cb36d0c285d3e93573febfb8f30916c0db66364f88a9bdc76c92bfbde77956a845d912be45f7fe7e05ed30d75d5f5fc96681e886413b331470612008b072dffd2f30501dd650cb1a2eb53515d4d438947ef4e347d99705edad001153a78c32c0a685bf47160ff716268f88d80122a09c3b79d2087afa99757c9fcebd68366d31e77fe75d4bcde74c30e33394377fb4aefffbaf9ea18d9bf6f01c79f2a997998702a0000e14321d981f77fcfc716ec345a6e5d9e7d7d359f3a71af0f7227394a07ff2a3db1ee2f90e93c7f506642f397f36bdb4f635faf56f9ea3eaa1957cce1006c4bdd868ce03e78fb6ddbbcdbd8200db1af3bb2e33cfe0c18363220b84fb77cf6f9fa77317cd3200f5107de39b77b36921326230cf83b81cc60ad60498832fbeb895169e33d5cc97f5b4d90403c8c0bdb6639f19fb569a6000f0bffde2495691c5f3ba6cd946b39e353150c63da83201cf1ef38cddf9cba70cc0a8a72d06d04195f64c03966ebee57e735ff750a5998318639472274d1b4db7fef07e0e1c900979f2a957698401ed1050fcd16d0f339084e81b6c232ebe64ae01ce6b0ce0dc6cae75283d6fe639f453c68f6fe1ac89dbc4201b612e56870d85c387562adc2f57602de40c7b4883b9149d7dc1750c384f97d71f1eba8f4b33087e51c69938651a5d7ae5b5d1ef57bfb89c5e59bd92ad3f903da935a0e4fa1b3e2ceec9a7c96bfffe7db4eec5c74cf09a605e1e7ccf7a07f3031b771e3b25026ba76e641cae81a6d553cc674846694eb7db0380042b059779cc44ce5b9294b6a7e17d88ac4a4a1a988372e8e0565abb7c1f8d9d7c1e8d1e7fa679f8fda823009b3f4a255d9d9dfc85fe736452b45be39c7316d3922597326881070fb22b90b83f7af4101369710e506305da577e46596919bf17d2eb4d8dcd269a340b81d9e49b87b79808b499aa865471ba0fd9137048d425191992aaea6a3e1f64745c955664d2b66d5a45afbcf438751cdf6b169626b3300c65c9f7fa5af88288b894b870da6c936d79c6c3df9bed8bb813ccea0777c7207b74ae8c6a1d4135d543a9a3ab877d66500b864e02c610a50a7c9597a4636eaf530fd6fb039d9294d52b8048d6f0a6a1f4b18f5ec40aad5814b798e8f1dcc5d3f973a18ff1fbfb5770a4f7be9bcea7077eb79c1e7c7825cd98318e23c473164ea48f7eec42dabc7e3f47e9172e99cdf7189926ceae71ba9de8ca2be6d1a2cbe7d37dfff6242d330003a44e70587ef0bd8f518d592c7ff8dd87e8c1075fa20fddb890ded87d982ebc60863997e34ce8bafcd239b4e0e233e81fffea2e039676b0f26c176b6da4389a9c37779cd9a8473108c2ef016cea6acb5913e4931fbfd86ce8adf4a53fff29cd99339e3ef1e737d0eaa757d1cffef549ceda44025236f2a650ca2a7de6da162f9a43d7de703e7df973b77186e52fbef151fac93fddc7b2ecd3a6b5d21f9e78993ef69125b4e4eab3e867068cfcfebe95ecd5824df7a20bcfa0f94be6d177fee6e7bcf9c1470660e052b3016cdcb89b36994df6da6bcea1ebaf3d9b366dd963e6ec49bebf28a730a0b3658ad2b214ff3d364898d42d983b99c70492f06b5fde41fff88d3f62d5d1fff1953be8f70628412116a59c8f7fec124a9525cd75ff989e7aea159a376f22ddf04103e0cf9ac25985a70cd8e9b1826250a1fdc2e7aea1e3273a69b2013fd3a78ee6b4ffcbafec62b7e09b6ebc80d6986bb8c2dc3fb8fb3efdcc7afafc9f5d430b16cda07fface6f18d8c23aa0af3743dfffde27390a85e91fc6d0edf8801a2b40c487cdf15acca6ff0f5ffd990182eb592df70f8fbf4248196edeb297410ec01c3468202607213ba8d35e73f548b36956d1c60dbb18385c70c1ac285a448b3cc0c68de6d8d79b715d634006ee2be600daeecdb6ca9cae4f7eea72eaedeea7affee5cf68ebb6bd66b37e85ce3b77067df013d7d0330f3c47f71a002e446c69c5bef7dee534c980a7cffcd9b5b4ece9970d187f94ce38733c836368a9c09c109bf18e9dfbcc3deae267064000e30450890c14b6e70fdd74010d1fdd445ffcecbf30c8d30eb5f9f327d28ed7f7f15c00f87ce5d5d7e97bdffe04b5b4d4d297be7c073df0e04afa9baf7d9035719005ddb3f7980199fbe9d39fbc9c2ebf6c1e3f2bd0ed01f0ba70c97be8ea9baea2477ff330cf4d185a2e5a38c300ac91e639ccd24b664c901943490d9a29b7fdf873d4d5decd6074cdeaad9c7dbbf1c6f369c965f3e9b65beea35f19c006f76b7051b4a4a3f7126450d769b884f940f9288a67ed9f30884a5061707af14b109882b0af9d6ce0d7d4d6d517fccd6bdb36f3ba8cb9803d001a266ee079babcb0defa5e8acbc85ae67dd79572c46323190975b9ec7f2ded28c131628a5b23b134d8dc183c90fd783095000872578e53ad63c78d67ef9cedeb1fa2e3475ea771931752c3f09164dbef3943812f944d50dae9eeeea63e33c190453971a22d226c21830079779471641396d6563c4850fe542e160049098cf752694b60cb5863b88c79e0e18fd21e012c945cf0d9908b07184126c72f6acddabfcf6c3aaf3e4b3bb79988c120ede12dad9c51686ca8a72106cc20752cace9d8125c52f7598eb2127edafc7b206e1fe5bf414492e2271c60aabca28cd3a8907796328dd9c04ad0169d605f166d435416be966cf0397820dd7b85f7c2c0ed5913893f6dbee009d3d030d4ea1624586c0a9f8f05f0d6efdecb0fea7cb39160dcebea2b68eeec8934d03dc0a50b6c00003248877bf63ca02a8ac579746b23e58e7571c4bb69cb3ef3b59f37416c80036d5d3466f430b3119ea0f68e4eae9742627ea03fcfe732da44f979735e30f5e34d232218e66d9ddd63e33d4485f028499ae8a1d76cde28c18c1f379cde341132ae61868920c38e76b3e90da31126fae739e8ebfd9014b4baa182cb30c69c6bce2ce0a8db8f1f3fc2ac66198e36710f20090e6089f2d6860dbbb9d302aec4280761a3870b7068c608dc0da40ab3d9904b9810829b3b77227de6d397b33f0caa65175d74262bbd32d9da6cc6413e1f992bc233e6539fb8cc80c3e5f43fbef863ce5a7cea1357d0b6ed7bf9fe3cf1e4cb2c378e4d70c28416b329b6d3cc99630c2829a10113b94e3263804d08cab8c8862d35d13452ebb5755522619d4a72b90601421900bab9fe9fdff904555795f3fd43d7188ce39099800af0f1b66e2e11befcf24e5ab17c131355f179d82ce1042d69ff144d9a3842a4df6d1b37934dcdbd1b69c61ea5a54133afe09fb4e3f5837c5fc0c3d864c6f1e8e14ef6d9c17941a00c6224cc6532e37eef7dcbb9ec3898c9b334bbce6328b1560f29a3af7cf9fdcc8579fef98d34cf80d0d97326319f0df7140016d7c99b92d964c117d9bbef086772a64f1b63e6d7090619704b068702be402857628ee15edf6c0018f6d639069404d64b06da43b816d81c6c30e0111c982bae5840070eb6b16502b28ad89b51fec3e74110ad92558507ac295fc8f706638bb21480217efef023abd8f704f768cce84613840d30cf0719977317cf607f9e7fbeed21ce8a00f0629ee039c15c0f3a8ef218e3b9c8e644bbe567fffa18f3b3985367fe16e004a5a7ee8e934c12fed417afa3e71e59cd86851b36bc41afbcb293c71665abceae7eb142b09d8eb86e95a1179d9e648142359770b0d6e6736212092346045d5ef81fa8759f2a6e8623e06d4b8d103cd457a75927b66ddac49400b2c064dcc449a765cb3332ea2e352178370213e52b68ab9a46e04a82d5f28dab9bc11d1025a968e2a25b0444435718894b3665a542d44b9828a4b4cc6c8a3b69edf25d34ac799a01280bb893473ba10012f00580c2a599de5ef93213286bc0c7403fb21c41817683ab2fc15d26be948506cca68a872e70ba18b4a50e25249c2778230022f87a3b733d646536af5f4ebbb6a3d7bd8fd177cdd06a760106af0072d6f03651dd02b7353988a2758a5c9be3b4a915600ac2a8d90e9b472a516a736c01a7f050830646920ea5401604cb03d27ba1ac7cd5801069f27eb6acbfeebd0be9ba0f5f48bfbae331f624419a1a0b0b16349c1f16fa0b969c491b5edd41fbcdc20ba96ed4cff3fc95e707176b150886d854b40302d91ca4f00f1f6aa7d6196369ff8135bc008e1dd348cf2fdfc21b6289899077ed3a685b63c14b08790352e12018cf9137844b1cf9202e11a2cc006ec9ef4cc477f33ffdb1d918cae91fbef93ba9b75abd96cece1e2e9d40edf4d8f12ef26aea69f7ea6d0c10549193033bf3de7de6bad1deaaf2dc002e62614f5c12cce3cb8249f151c9d3c50654cc9c3dce449cdb59a21ce5256462984383566890157dabb162fe03c912268820f3def6a3cfd2b2e7d799c8f571aaadae341bfc4803a8c248121c1b173e17e599abcd06f485cfbf976eb9f57efa17b3292d5a349db53de0808c71438907c45e64565036c3c4296da8359bd0092e4dfcf4678ff16cf9fbef7c9c562dddc05930dcffc066e97c739fb7afd9ce7ff7f57ff8084d993e9afef11bbfe66702730ae7015096b5f7fb928be7d04494fb5ed8cc696e8010642cd265695ef25172803e0fd9f26d963b60d25c7a4009a1aaa58ecb2000ea8d66039f6840ca9d773ec3be42b3cc3ce9b52ed0c8b06c7b6d0ffdf8278fd217bff05e3ae7c233e9e66ffd9abb3dc4cc51145ac11bc1397ef75b9fa04347dae92b7ff13373ac3a06c9be25ff722489a02a17f0bd45490ef2ee30499cb66006ed7a7e038f1f367016134c48b7d6b4a993cdf37136673ab6bd768049cb83568b047311dc947fbbf3699a3b67a2010a67d34feff803ab0d5f7df5d93c26a18a9705bed3729f67b02172049e59574af97e609dbce9a6f3b974bb74e93a517fe69249924b2228ff4c9cd442effbc0227aeac957e88e9fffc18ccbf57c6d3077f46bcc3d3fbc86e721c6e4ce5f3e43dffdf6c7b904fa77ffcfbf33480398c271860c1b4ac7f79fa0bb6e7f8cbdaef0f91799f19d327524ad5eb58dc705e7c1eb222664de7344d9a4baaf4272a23aea474150de76e500f8f5f5e45991f9746a16468039a47a28cf5da2aa2843a6af95cb9fa7c307f6b3d92a32ecf5c31a68fec2c5a71f2a09e3ee524c2590c87dff5dd82e1c5bd5c43a18ba01221be11a3ee9ef557f226526292fec9ec8946bfba6821c65a5e3a1f2fca13c793ada3be8f0de357478df666a1a39cba0d6b906a08c604e8a7603a0ac822f2e553028e9e7738114bca83ae6a274bdf6ff9355acc7fb13b685ceb7ad7a78b00046d206f8945a0014794a14bd0e1f3a40af6d594d6fec586b16d376f3d0d750c3b056ee7c001115c084ede32d9154418d664b5c8d045743236e4795128c4f14fd5bba8b5205a24688605867236ae5cdf3668c2c94966ddc129b9c43c0000064c86ddbf751f0ef4fd386f56f7087cd9b6f1ee1520d7c6f60f18e2e05948e962ddfcce4d1d9c951dc51c02d8c6683408711e4ec1f7e7435dd74e3f9b1e094194f6c5af73eb092b619f0b166cd6b74e5e573e99c0513e9c555afd1cdfffc083537d5d21bbb8fd2c73eba907917c78e75d1e34fac63322c801322ed040b8d6545cc2f52130d99480ce0b1cc809c3e73dfb129efde7d8c863755f3f9e31c50c7bfe2b2795c63df6700d241aee1fb54590e49fc567aecf1979903b2065d24b5953c3744c84ba2c4ee9e3e0647099699efe32872d2e41166031d4dbfbd7705ed3140ed790390ce3b77262f0c9d1c899a8dc76c70fd7de2cb82ac11226f6438501af8e13f3f40975e32878134ca1663c635b14bf16036439ff8e32b4d242dd906b808ef7ae308ddf7c08b66c3ba808d11d914efacc9eca6fb6ffff624359988fc390370bef085eb38bbb3f3f583f48b3b1ee5ae2694bcc02541148f52d2fdf73c47dbb7ec652e089c6a716ee080e0c10649199988952bb772e4bc7bcf61cef2a0d481b904cec417bf783d4d9f318aeefae553347fc1147af6997574d92573e98a2bcee232c40f6f7d90c710e00b446a3c47980368c5c6f38ff3b8fbd7cfb333368009b241c824cc39631c83a59b6e388fc10988cc3906770177d20084e2f8fbf61f63a76248e3a364a21d3ac8aadc66c00b321753268fa4ba9a2a1a3dba91b6efd84715e63e631d40b90772c678ee012201682e5c72063dfcf02adab1eb10ed7afd009f239e11105ac1855ab264b6017debd9c368b501b4e05f80cb840c0cb798f60ed2e4899295c27c1b356d24673b70fc56735fc113c11c561083b9847905997b9096417addb7e7183d609e8ff3cf9f492fbffcba01684ff33d5df1e2167afff50b39ab064d17802c08fb01a4bdcffcfcf8f16e368ec43dc7311f7e7835ed37f37be933afd055579dc599135c230c29318e203f576dd943d75d7b0ebdfcca4ebaedd607e89001ae204c7eedaf3ec85cb27bee5d4667c139fbd95769f1e219dc05f6cd6fdd43e79f3b9d49dac808baba3971a38317b72fdb96e14422e02c2ac050e0d129954a7fbbd7d0a14323956664cda1d4adaf07effd35959afd0780ecf8d12374e955d7d0e831a7a1cf8f17dbab78360fe49fc2cea153477e7dff928b47b63694629372bb475c5761777375e5adf131202bc2c7a4588f41c59f149c703ad52c0cc8c6406d12426a470feca083fbb753dbb183dc69912eade4852fba70ebf5003213321d1038ab1e3244fe6fbf2098c3dfd7d4f017c4cfb49b06da2375e66ba8f9c2df7276c42a6eba2f447cbb776da1575e7a8a5e59fd18bdb96b3d9feb3083aa91b26d1856cb91b1b49c9672b4904aa62203313d57d5af70bf77edb6753c03a7e597c7cb020f05240e41db820e49b1aaf1a0d68515288a13b294dcb0a08f1fdbc47e1f781f6add480b237a82a32a80c98ce963f8b83b771ea259b346998de84c0608ad26ea6d319b24028d72134d3737d5f3e7b558fb767c06800b52f5a35aeb19109c73ce243ae7ec291cc582007bf870072fea575d7686899a1bf8ef879bf723fa82132a9c889b9aead8851725279457d225a29f007087a8bcde6c64201e4e9cd0421781e362c6a6a5a586c699eb028112e0008b3752ea95e63e4d9c38dc2cd26d74c6ac71dce1817b002072c9c567725902dd52f85c38e7a25451535d49a34735728605067363c60ce7f6e669069ca0e5738f0155179c3f8b162f9ac9e0094083cdefcc668ee874acf97b6c40d8b071bfc0a91835b291b61a3098337f73e595f338ed0f522a36ae3926f2ce66027e2afbcd73367dea18f641da623695496613bcfcb2f99caac7f562a34794ffde6b17d2ec791369e50b9b38f53edddcb3c387dbcc06b6d88c679d7588ce528fd9702fbd742e133b912d02c9194eb3a566730779170ec06fbc7198c7febaf72ea29499b3007f281361bc5b9a6bb9d3a5b737437bdf3c6cc0d53c9a376f029781a69af10091131d4c575f7936f35dc0b9e05225b865846b9fcc60025e48d7997386a375de6c5e6819deb0f10dbad8000590ac318ee23c7e923b51468f6964ce11c6f3daabcfe19f95736795180ea28c02222db204478f767149050005247a386737340c61e7dd72db0adf6aae0f4ecb7093c67c8308e0b871cddcdd32cf8c7f73732d13c967ce18cb6de3b857284fbdd76cea52a2f02311358019948130962801b518a00d422a4c0c012a00d060c488c8bbb1b1dacca5263346b55ca2c4e754558ada2d00ffc4f12de61c4eb063f3fbdf7f2e4d33cf0e0c0a9316e0e33e621e6f34638580ea7dd72fe232d77a0324414c8687cf99678e6357ee1a131821e8d8be7d0f8d33c7054708f71ccfc5cc9963596b06bf7fdffb16f1358e1f3f9c8116c6f9bcc5d31968a3348b171cc05196d4d2b2aa0ecb5a2dba3d58733026302a7c69e51a33a7e0a3953441594803b9142db8e03a26e89f2e2f944c573cffac09802b78dfe8eae8a0e696114c8a7d69c50b54376c18f57477f1357de56fbf4175f5c34e3b5cb27fdf7e5ab7e2512a37eb11c2d7b401819d27070636bdfe2e73177ee6a1ef7f7fd13933868af9965fe0c951ac40a80246ae22a4a44083c8b595372f7b8c82cdd723db722a32dd781f228f763379da4e9c20540a86d4345353cb246a681e671ec2e10c3afebb44efbababbe9f891fdb47fef363ab46f07759c38640082d9d82b86b0870f341fb050a294013753a4d9455934cfdc11945a74b195347d7cad6e2b9e723fd47743015e5426e39b18b2219c6676640c43123c18727455593594e5faf1776a0fa052f37a2ccd808130cbdc0944729c65296171336c16201e62411d66c096cf29e9415eac709e58b8b180f6a1666e8017dc671115c1304e323292016291aa7cd63c343eeb99747689499c946e20ba97e37b0b4e01780fe2681b70c48f28118b25c60eadc3a85df7f40c722648015b694942ca588110c1c0b51934e789324c6f6f8edff7cbbb9fa3cece3efac0fb17d1efef7b81ebb29ff9d4e5bcd042e5126006c011e78b6b0290e981436f9ea4ac14102fb8a2a301e3b663bc21e09eb35cbff9c3369472cc065d65364ff001706cfc3dca01003e0058b8970012e2241bf2b58b32a64f9bb7ee6662f4b4a99338ed9fcbf5db79018d1711ff0250c7bdc1fd465717c8b1acdec9c4d212e61e74b49fa46fdcf279ea3b7a94237374d0b19e85d9bc31814078469641ca6d216f2a002de05761a347943dc80ab469ce6c1c3d7ac2cceb6a1eb3636d6d7cee5515e54c66c5f574d8281a653f2bbbc29c2d944910e1abe714b2a468c595526282cb8000b8c7cd78a03306c7fddc9f5ec5732e617ba551a645042e7a34153ca620c5a2c4d363b30fb276f8ecd48b5208b81728f520eb012073d25c2fca33e0f1b477883924c60251fd8f6e7f8841d375ef7d0ffdc69c03eed7c7fee862be56999383ac21c39e4a1e44b6f2621b60d73a3e3ff37f7c0ed6aa2e73dfd1ad84cfc07d46670b3ea7b74f322ce5150834841c8aa50acf020030c8a99d5d27b99b4eca98c4a01501a0ae8f5af2c57de645dd96b2c019f9f6f7eea1affde58d3471da283ad9d969ee5fc0e68ad0b5018f4bbccc4403455cadabb8cc8263e0de833c8b6b061f8ea5e8cd98f4d84c0fcad07dbd7dec8e8d751ba55a64d2345382ee3116d11b52c306856fee3d44dff9faf7694809388925e63ef7d30055d197bffd1b03a6c79c46c024a03ffbe48768dba68d3462e4281e23f00a71fd438654b33e150cfcbefe4f3fa48b2ebbeab4e497ac5eb5927ef6ad4f527505cc4fcb19a0bc71a0b3f3ee27b6bebbdc857963f4fc2813a29b8f12465596d9cd9ec8df78bc68a135d407c1d3ca20a35482871b5fec6a1b65573c2b919ea530230f183ebdb4a4d144f1d56681c8b1b6c7eed796d19e9dab28553a94860c6d628032b4aed980943abe51a565155492facfa7b632582cfbfbcca2db67a2cb1374fce8016a3bb6cf4cd083d4dd79cc3cec030c441a1aea59ad15ed595870514ea8aa2ce70d33c1e0cce7850c0b2416185c3f1e528c0f3246baa9e27b5716db2ddfa80a248081aa4b8accb490909547c212d2dcc21644755f29b5e522354d7da9b68c821a21039bc5b6ab2f521a456486f70060c87d220623a1fd3d6fe66607eded0f68d08c57d6fc2c5d92e4852cbedfbe7088ccf9757676f3b9846c8a9788dc65a10791c90e4665a774ba4c04e37a324250f6a42343cb50d8509580ad652c491f9355950d79931fc880e3d16f40aa983122857ff9a57369e9731be8befb57987b574d4bce9fc980010b6c2c1c958dfe0d6021625669de5c71bdd8f0902d1381b790b53b44f1b8c41aba99081a5605d6ed161b0804c210d1e3fc004ea48b21c7dc1756f8cc0c4492d888bab3f97e3ea754aa94c7081bed60bf6cf025253906694af0c686dadf31188d05326973ce9cc82585fe63277863d6e000f70d44e6d88788a2f2ab9bf104e8c1b909f939cb1921765b35200d601b1b2a4a6683ecbae81764f870ff95d3e4fb194b8ef723bf1e092e7a23e55608a0612344190d24db6bae3e9bef9f104b859fc62eb966fe63f30cc37eeb6394e54e2f11a5536d0d331603623409f9775564c53d62377473ba6d273a05c89a7545ee91cf9d4ecb966fe2ee1b6465aeb96a21bfb7ab6b201a5700069977e9027b061d4b9c138e07797e941c317e81cd6c8a33f04024ec78e27837677150e61041bc343b210f6607f81ad04524d76a7dd2c358a557d75cf50bc23d050704a0edd28be7f258b71fede4ce43ac0d9e97e46703e304d029d2fe721d5d5d3d966796b241428ad760dc67df1743403584e4ac89390f2eb13b6bbe0a6bcada23195cee844220647e569af62988768df074e2be5a1a804f5ffddb6fd0d7bef467f4e61baf7337a667ad2960da37b4b696feeaebdf3e6d41899bc2d0a095dbb34fa166cca9032658089c0733567e8d8dc05cbe49ecb0a9a83d70d2807ec4d857e9e3421f0f49116a2d13a44f20f66a83be1179a3fe896e102cfcededed74f0cd35e60bfdf42936e34b97559985bdc280947a2a2bafe29b068d1075da15d7d841010af93c7be1f4f5761a60d265a2e513ac188b887670a08fd37d75acab90e6f207ab62a2a3a734cd1126abc9722a44bc0b78c14c58a752b388a4593d554a2f586c0aa5ab931129b538fba463a10b2036ecb4f56571b32e621627fe2a9a9d82e3ae8ea77b9f64a3ca479994d8b82ff63cc2e23d687d5d220f10296846f70a0ba0c8ba8b209daa892ac0caab1c35a90cbdf90ccac5e661e060f41b0040790b6265a1cb0779a7c34bc0810230b17677dd72932c12a592f9dcb984b1f7fc48f1141a12281fdc74e3b93c570084c0d51000e6bfc5184db34b9241f1e2f4234b79fb6c79505e1eda4dd692bd01682cd19bc242ff191d6f1d1b1d6f8f62a27568a34fcaf9b16f0b36d45c68b57e12d173a365329d1b29bb79a324366be618ce6c757474f3f1f4f354ad5449ddae0cbe2e6cae0480061b4cb6e6ec471f9decebb324ed8435c1cbf1ef34ab877baa598ec0f1b2d139a646837a1e18b376b3894f9b3a8acb27d0bf400750896d7757033c6eefb7c4cad8b9990a8ceee47c331c20baba3d3936690c1948bac05c9e8990554effe8a317317708e47b9488333613a4cf8c6ed01cb858bb05b71c1a3dabb6148bf1636e0d5cb22d78d1f184f8a38e97667af81933602c8b4e36389c9b79d7d7df5be0761d9b2ec6c6951cf87067197199a6af2fc399456d194546522c0402c76ec28bc0aa8c45362a17bbb2023aa6ba66a792c5fe4201afa550a69546026b0c98cf45fc2f06a4661d09721e79747a5a0b8f1937816efef1cfe9173ff917115cb3f375e1b917d0fb3ff4516e113ead5fa1a4bda5c2107057e6a9b4173ea50a2f09871fe23a4bba52dad9c85edc8bc0894e7a052feab7a30b95f22df438ba20e9c3809a2a2212965b4ef9acfb80f42ed28e43abab68607893744498f7214a18e8ef3011c0416a3bb885556783d08b3633802beeb4c86525fdac190c2c2866f1c083585551c976efcce2361b5bdaaaa4963253deb7ff4f46dc0e0517b1c9574a5c7349227ab5531770168f835a8bfb1694b88e9e3aaeba5980ab827209bc7be22c4b608145567e6e9d91752c5d7336dd245c4338d75345172f35bb737d57c8f32df809a36c456cf21646f713a086cf273a7fc7403011936f03ebdbc3de3609cf2eece2be8a059cfbf3d3f1f9cb9c521549bfc0c158af57009c1080430b0265a303a1b19fb31a90bdc7ab94c50083a80b27cef0e523c96d9ecb196975c539212217ad1e38629733b855ed1e6cc8c89ec4c7c844e3a9e3cc446b6c38765353d0a8e3536222601013c2bc28e766f13b2ff66771fd61f4fec51ca4c0964e7cb92e4a44efd32fdddc8b4d19f53c55024089e93aa66944eabd3de6fc21de57c5028610d92a26b8ebb5c2580f659acaca4a5b36ca5a6099b07e1e39561fc67b7a7a7a19e461a3933241c66616b3d29165b315ae93afebaeabe067303248743867f69974c1bd2b1486cfee319f8d72cbc0404f41a9d30571fa0c884d80573066fcb7982bf81edd60ea420cb0aa6b9e27b6065ae206880d2df8f594186a3b6a833028facc640446ddfba6cf3fae0f193e75780f429f3393323744a91bf3011d557a4da1536a8dddaa2902bc64d7e3984318d80c5121df0d99187ce13af22c9c29edd90cd0cc1c4e449d2e1e85a7e9dede3ca295feee5bdf67b1cdd00a5eba7622a7f52beaf00cb9241d04744a9d9c4f193081985a681724d7100c0b832e78f22084ce822ced96ae1dbbeb2aaa135d23037d405ca3315d58317106b203d10698b60f3018f499c112e63b249335fc990028b861002b12c5c9c39de6b653b40c66b8ce88a84f172089eab0d0482a19757694309019409986d3d9ec589bb3f6d2b1d6880bce7401c4efb42d5ab20a294eaf6af4c87fc76676f27de0b8e8ea18bb51ad38f1667801d74dcd8d5a5959d7126355065a373e370daba0078bb9bb08bb695a5d10f55e024c81e8070e0bae21c9e5a052b34999e8ce279b094a1468a7205ba48ea3e25794e08e0a35da4b21d56f365098b605c93c7762852529ce0c91cd56c8bc4a46269102447205c66918632516f3fd09ec06904c5b829e172dbadc8e8dc558d3e40e78d38d56793fe0e860a34825d2dced8579860d59709a598cedbf592f872c19903344e20f92b11173c2922fd81349bb19a2eea8ac0545a2f990b7aeafdcc6ec27a2b6f2d840d1056571db3ece59bbbe74fe44a0de960571bfdd854b7fe76e420ad2f4f9e6c022818d35cd84de416f90c9d1994c109505ddf985f7a22c8b9228c03259e3cc5c5edc7a4ba15be40baf47358242bb79879aa10bc43c309b1ba4b2d2720b6cc20890b9a56405ad0a36243b2173bb586b4933806ec64981b50b10dd35c7cdd4a811a2fb77f81c9477c5f0308cc659c5b9b8f48a67db1e13f7d7d32ebb02d75d09e2b0dee8baaa16129a81728302179cb81d9200e62565295b86cdd9f5241b792ff11ccb8a1168c27e5f0c50344baa4111d4baf59990325b3a3a47599f346b2efe63226be0dbf1b5c4a3d3169ac8abb2b28afe8f7c2950b4cfeaa934f13b65c004916376301301073735ad1184aa01a6ac96445c4e909a283690e268bdd8c23de649e40b1652e55c6874ab755e8e4c9209e679806c0a3220c8740006002be892c9e7249d9e62996b5ffc6248d2a79c0e4b4856078b081eb37c988fcca7c4d6de8beaaabe536a026f46370337759d6062191efa5c2498a5c7d1f660b7b51a0c472cccb922b0c7e3029083d4bb8dca422ad467015861d55026a329292d5700005d6d19376a5400a41b8cdb0514a59043216a6281c21e8be3a3d485f21a0108f982d625c56cefa765eaeb828445dd0f840f80c5173114c4f1b03181349ae3e86b908fc59c1194a560bfced22239068c28d560e19514b6174567d8dc23b3425fb30902f6745373af4bea3362cac5735553ed163c8bd2a546abd0b8c9b14375126eaab65eef230b462294852a8c689e047cde20a64277020b3f3e4ab37f14b5f659975bde74bca2d6ef80c716599e849760ff1cbd976e29c20d0cf47711dfc49d570e8071376f1d17df71eb5580a696055a2682664d59a978868808a11f816b3dbe02d2d06a9f806889cd099d78d8f8d14a8df903ef1bddb0435b92c49583a753624183648fd2e6990ca2767fb774e502283d5f2592bb993471c04ed9a83e11811477cd7237782d7bb9c6973a8e4ae42fce5a2980cff0da22320839bbfee573b9028b0e3634d5f5855d77c51495bbe802b2d9652f9a87ea82ec66828ab3a0ba0e6b6004df975c4a1cafe599c635c5eee211b0c2bd72e68cab7394b06ebaa1cd0485be644d62602c805af85e1eaf473236f948e5558c36e51cf36148fff7f5dfc495b17e4558ef1249ff94b60b9f32608285491f4617c9eb46ab8b9dd447e3055788ac390790c822ec92ef5c4d0f37ddec76eee826abda1cfa904a7624e0072567bb0db05960e344fba73cc0228d2c0f21cea124daa83992f53d0b7292bc6169e6c78d24ddb2871b652b2071231a9f5d94cba2318a6acff6ef5c3e8d2e1a81f227ec7863dcf4789cd1b04aaf9cbd48a5a34223163409fe75a10d2daf67f02d6dc82ed9b6b84dd925426a6a9fdda2594b25b435fb2092a5e60e0c8d40c3f8fd9a25ca663291ca25935c4de486cd4af3d6782fe68044ee49bb60c78b71a234c5630030cb9b65699aebe2be9f88b323767e4462752929f941104ad2fb21139531a714c8620c937adfede289b9e125550c2b1f0135980dc6403b6f36a0418ee6cb4a4cf48c4d175c1e3ef3a4e50ce84612f0f742548ca3f108e839a58f283daf8a7a36fba2066a6ea942236415e2c33569664033259a1970ed23dc8d4d7906ea1b95b6f352dfab99001d632e1394a4384384125131e871dfa71c24c90c113f4b9e6621e00a9c8dcb7bcacb5090c89943fb3c23b840f955b37a2e7076b319ee7cd60048caaf65d1ef5c09031c5bd71a379be8726e9493a3730363a5e3aef74bc747a5d9dd0e3a7dc6f53d7aeca008ecc4cf5b6805e3844b55ac67e4ae390a321548b83c32ce56959745e78deb00f747b860856b4ec4d572c0acf2cb7256ef25699f2f71bea608884a86c9bacbeb75db002d6725fd63214e1558f34edbcd1dd77fe4c811aaadade5eb775f284b620caaabab4fcb7367a27a3ac10297a8002492ef42608207b40406714961e0e3a6e942549c1e557b6ca93fe69da8d04610096140e783789175fd175cb29c021837aad334b47e79d662db2579b9dd41880c91e297852319a5af7138e6aed8e8893d1ef241744ebae06a34a10b997e86fedbe5dc445d3e36c5ee8227dd3c904a0d6dd454cc1960d29c038890c549db684c3a497251092a9f0f22b33f05864a1475c1a36e243a1e7a6d3a5e6ed94c3739dd0cd159944c0451b9471744e95011be48d26e842e38d3b1266e71cef266ad697adeb87d2124f37958c26a90d75250d2c952498603d75a61ebbfee46889249de8e3b47eecc1d41ea24c7ba367a9d1179d29a35f2dcd1f0daa302df9c9cf22758b914f723e02c083228021e02cee4b0d22e83aa84ed2e4a93d8d1dbac88892851beca5b70ec724ef47c752eb1815f44be4d449baf022ab7632b67370505969a69d0bf739f49cd1ce17b556ad6b992b4405f1739fdd2f3c33cc2b8835722cf81a4eb350be412b79597c30ac4d1fb855392b0651b2559c7a03f94e7c47293b45b24e127852fe1705d1410e8356876c3dd6cc556c07708dd59bbe187b113ab5d5b747cb4c485cf5050ad81889bdd5510e8828248e1dade4b57df4901839b0176f9386e9658d757771dd5e7cd55a496ef6332accba3d1b9e21291399ba3eb96cdbe2a4488f841f67d5189ca8231996f21b704ebf929874a9f4f64a374ed4c5a0e953519b6ef4951069ffb0e967200a677ecd8c1fb8f9b15c5bf012ec68d1b17cd1778e2ac5ebd9a264d9a4423478e7cdbe36ddbb68db66fdf4e679e7926bf57f797b56bd7466b388e3363c60c1a3e7cf8ffd2b91e3e7c98366fde4cf3e7cf6751b7779afb1ad8f20d32ab093f754a7d894e1924e285d03e64da92a78043233b7d20dd94639c01d168302144a3644c6e75a3027d90dd5290d6b3755372172c374dab0f361e4e174c28e7c325036a3dda2522ba0b982e46baa8bb245eb7ceefb2e7dd2c8bfe1b0b84bbd8f32286c8dc91ef8fa22d6cf045685ef9200079589485111f47c7d80864c34bf2c2ac6520bd1f9a697249749af52a06139a5dc2c68274ae94adf27cf38320ef9024c56a5ea3e2742aae41476395946bced9f6f04454cbce314f47810ddf3bf0337c21203381d69e079769b8555cdaad7d0bb8dc2e302e71612e580b7631c1cbf3938236e518e85a5e087eafe975bb59462512eb99e459b67b3e2b800a5a187e42221325046a9bae6c4a390b7eb29ce129b01f800963523235980b92e5c939a54b1bfdbf0d9954e7b93e2751778df37cf9452979f79ebad90d6d1177794bea081e83da30ca1848fba7101cbbba3ac8b3b9a15c2657303fe57e241c3e51cc0911409e8fca451268c8dccf58123783b9887363d702be37495b2e4d14e8fe28a724e580aa4292af662912056b856c5e31a8d6f9ef96a5f59e28d873b9153aaec5004ee73b40b382878473bf5c8d2757ec50ef5171b652d79cbc33475dc555971c5b0cdcf41a5466c09d03c81086457c1525cdbaeb57e07097305e6536eb22e5ba7c04faf4dc444032110137d24e9d30883aeadea97c099ce21f79e411767807d0e8ecece46c464b4b0baff9c52295fbf6ede37380bfd7dbbd0e1d3ac4cfe4d8b1630b14be57ac58c16370d65967d119679cc1de6bafbefa2a8322f78531c231dc8eb1688d37e30160823145e7e83bbf1fdbecab73eff2c1bb9063c213da899835bbe1a64b5d64afd1b5100693f6df9aa6ceb27b28381fd02561d1257b2c97ace6b2fddd6c8592cc54e4c8ad93bac44ede44918971381d7abe0a98348be09637b49ca0c78b4b547ec1c2e62e165a56701799e20d461754d789d97d3f39e02cfa9d121ead01a2e7d4c911d100a8680794b40a4bf7919bbe75173497e8a68b9e4ba0cb643ce681a0a305d152884c1381342cf7418cc8526c72a5d1773657589af06cfd1c0c02e6a604b23a71d41ce4ec2296e239c01b8d6716381fd2e5a54cb04d06421884b3b2644b34353c1047bbf8b9cd3894990d96a33eeeda4a316fc15742b12f513c5a28077a4e9a08c3b775d94404984a2a2ba51c991362738289ac219f2bbeef33f3a92a554e1595436920d365c648c8d5f0400a03d1321490e5cb6281d217322a7e186d96016707939c25705b8ae51e9688489ccd28b82d9cac7962af3361a3dea4cde8b9a5508d68ddee137d0e01f644d322ebf0a012d13c763568dc679035389210dd1ae46c91e725a3cc826c9c09e68648db7dd6964c035169ca6722d0e2f250748c440d597c84f20933ced0be306f2c4994d16006edaf3d5157959256f5183ac7dc4d5d7f2799866c643a8af78bee4f8ed3de1004cc677305419102ac28a3e9ac0b31313ecd73d3e5f4e87c7709c7c56460f73cddec97ef74f628c071d79c4282aecb030aa316797d8f0b565cf2acce8db42d9bbac108cf0f070cbb99a4823507a0db1a5d4ae0a773cd6e8e38674f3434224909a7bbe89d74bcc5e7236bb178f1623ef6eeddbb69faf4e9057a4dee0b000da0a5b1b1f16d7f7fecd831be16dc97868606fed9debd7b19005d7df5d5b47fff7efef7d4a953e9c081030c70342385575b5b1b2d5bb68c2ebae8221a366cd85b4014e60400d47ff4f9ffc50d99d70e265d7389984e2930396519138990c3288350dc55e33ad9ba5f125de70a88881c95d887426b996e4744646e47710bb196745c56bc4b0074c182962194e8e7d6cbf57b3752885b5f83681370018b7ea66660f4dcf46171cf4717357741522d0bf533d0f7bb9d376e8ba0ab69e2b654e7d092ec94b10434294930ef105ac9695d4e46d7e89ea77b0d3aaeb1a60815447c411046eaa85a3b7617451195f21dad8d7cdcce89cd0d44b93070b266322fdc882e6f331db82ee8c35010460eca6e4bb9722412ce26aae4512fe11594ae3cdf73324bd2a20912b6f271746c234d1d2b66275c1e318ce4966e94b6ecdf8804b76f3b6ee2a85cc723c5f72f26bba6ec986a84ef66f88a3b41dc79130b8a0927266db35eba816afecd259bebfc745b9595b8c92285a5a505bc90b703adca93705b55ddcd92415744ae96f3f0ac65b76abbb8cfaddb5a2ee26da90860c59c11ab10cbcfbfa4e56b6a6ba2f76a2bbe3b3e6eb6d6cd4ae8b58b5756b620c329404404b6f439d7124aac2f126ff26ee79ace0937e870cd32ddf5296b2368f75cdc75c15d73dcec883eabc5c4621724b9cfa6dbb2ed46fc6e70e876f884f6bef05ae85ca79bed76c12e8f6126cba47ced1ed335272a9b520c587279195f361e75e506dea19c494d4d0d9d7beeb9d62663670140d53981fb0050b06edd3a3a7af428674d8eb21272a6801fa46387bfc51c527e090008c00c5e28f1e03ac141c1abbebe9e83617dc1c6e4bcf3cee3ffbb41208e811211de077083cfd735493ddcde890a06a42bb8dc96cd1564d0de551993a86db7a89bc625e169add2050c6e8a546ad61690a42c79311714e897e8fbdc7fbbcc733d17b7c34437725dace27a68ee2d1988e20c88eaa490f360badd0cbab8bb1911373ad19282bbb814946decc283898fcc867045ec06e2172de4cedf4735fa28f51bdf875829d6ba255bed0dd110c9c6cec4ce06e496cbdc94bf9b6e1eb4ac7c4bc560ce005b6b871ebb8a4a39c76a2604a125b72a7f40d2c55a3691e39a0d989d5a07983790cfc70054e7859813da7433cedf8eb3a880c6dc1b376ad6f990b32aa251fd1ed2d27d7d5452562e1c2610c2e0868a4e022c9abee57cd8ec921bdd6a140b6f1edfce6f448b521e4b32991aa51a485757945717cc6ff97c5924b2e66f1229e976d18e0dd64bb1605ed3e488bc5cb55f011ba1d3122b246ce164c5cabfda76ea3bd929770eb92690c5dc0af759d64dd72df529f88b39073140523e90e71c57758b98509c4c450bbe1272dd8042333400a9fc7939994b2149b7956761abf8695570b9d79da76e2945cb4dae49a50251971722adf309cefca9bf0be628e659d26615952f534c962d5e73f49973bb07ddaca496c5029b354839f7c6edce8908f2cefd73018f0241217e670a48ab6ec94ec9df0a78a20c1ac5cab47a4eacf2ace0c8f1ff62534c8773e6927695e8aa993a97f3223f8f832eac39f2cc5bfe1f3cadf03c6429e216bed32f6cfa5555719bef89132768fdfaf5fc79e09a68303861c284681d7df9e597e9f8f1e33473e64cce90e0df78e17b7d017834353531b0008f05e51864569035c1cf003af0b9b366cd62d001bd1e1c1bbfc33d4316057c149dab2813e9bff13b9c03323e6e60f8ff9763c2aef4e89a42b696b994a7b043e8540213ed6c71373b0cb0a676dd8552116aa1aaaba422352a8fb535a940dc48173557dadee541b8694fb7bce3d618237d0627d2d0c8c24de30a6fa3841f5877a32a6e892e26c2b920c9053c6e49ca25c7bae7ebfe4eb337aa02eb2e64ba79246d14ae225d222497e1cd423708956b970523f116ce4fb1409376c414a499ad5e0a7954709f054c0d46a26972cfd30535f3e2ee2595a39616db30d6f0a078c3d1284f17cdc0c91228e8d1f9e0d6fdf5b3c80156acdd40a242ea4685e21e2de583c06a5c282871efab46e66ef64c6bead248e4478a9dca9975dbf6b47559f938099bf9cadbc835e1640615542b708ef823ce73a0c7e4796bdb7ac3a20c87cee9a8fdd72154ba9911774e2a885330e27254f073259746ba37ec6f551ecd112ff4a2cc8fde6325dde9d8b9d936b7ad57d790b8abc563ce09e648de82302d1162837003003db69643d34e7b71548634c7f2b4eb870ac7c913353351dd2d5a73dc4c8b9eafae31faf96ed7617170e40a8fb92567379be102608cb18237971fe706512e815fe7be9b4975f930eedaeb3b599568cd218a3a9fa231b4dd46ae5026aed12533bb252d007e0050d57381a0a00bde743c3c7b8fd57e42958bdfc917ce113c1325a3e21cc001193d7a34f34174fe027c4c9e3c99c1c91b6fbcc1730a2517000d9c2fb81f28b328c0d131c0fd410906f708a4d5f3cf3f9fdf8b520e00098e7df0e041dab56b17031390639115012917bf1b32640883a3d6d6561a3f7e3c936a71dce79e7b8e7f57f14e88b8f902c4b55c1a84c12915583b65c0843764ab1951dcce562c792d9b82d4d607336839057b3b64be899684b89e4e52ca711751578bc10524eee6a4a95d77518a377b485e04ac86c7f103b3f2f356ad52d45e654188f508f20ea828ae63bbe7e3665bdeae96abe71c2935dacd269d12bf1f8c033245b250f99221b05d038336931273064a394a47ed1ebe2accb7085dc9e89cad79e37cb3ce864a0535638d76787172ced325c0ba6dcff0f3485b154e7463c00c0e19136d11241bd582ef218c7db9876eca98ef8dbd5739949ac0b120011b58d0d035036e1132c11c699b7b92c56685ee516462f01983d9827282db452463e45bcbf52c9f87ef8751c904e4509482581a2e10b2a9cf95721101649d11564bcc7136475ab093767c43dbee1b72aa943350f6d8d26d93b2addfc9e85ea34307f7803b52c099c02663c9a2b826889369f607d72fd720a4587c3e345b30459894cbd2ea8870fb99d7a09d13da628b3993b17c181778eab3e18afcb99944377ba21c272df3e8d86a8091d04eb66cc6f208429e03f8e296500539aae26ac7c1e53bb840cc3d472e6d71eb7086394825e904dffbc1fe0c897c659e794d61902b20972aa872b3b12e915b328e6242276b0e786c81cd740651d75de86cf66e90e376fcbd9d1482ae396ea94db3321e4b14884c01f3aa9c3547ac22bcb7cddaeae7b922726e078f5f44a2d5fbe472fadc75d2b742753eabcd220b8ceb057f27c9dfb319a753521f181c2c005c001d98f339068ab83ff928db91b08ad978f6b1e6e4f3d9824050b5943cfb193cbe6118d94dbc932f80009c334a2bdad68bcf0508c0e70210e0cb6d9e001f65debc79fc33644450c2c13c402644334aaef33b0007004b737333ff1d322713274e64a0822f8022ac3528e3e05820e2e27b0023bc007ab43c0410b561c306064138aeb89a9ffc2f935fc1edcb5afb8ec001cdefaa528e767f146fc05adf76c95dbc30595f17898a72dc3aa6fe1000054cd8ccbd350a74b920ca2770170bfc4ed39c2a06e5125a117995b27e49c8b55ef5a8d08545f445c2a8cb841fa0bcdc60df89425dd0e582308dd85d1d1657263b22cca2de99c9448bbd47313d5dfe862222e4a0a3dd12b77c7a519d171b94db3eadfc182979f885adcc3e59c5d0182486dab161b93d9e1d5fd720d0ad75ab1e89d6d0d10a8bc545341190c9e967d4afba2358b070bf0bda2d039b6b0ca5a61f928c33ae85e74f561e28fcc7ea9881943bb4bd1bd7e06e4ac5bc9b8495fc07c889ebf01ef5f67453888c51dab3756f51bec4976edc6eaba7cc5989b079dc3c8a17dcd00ad6c1e6606020e251b8755d1dbfd854ce668f6c6ba764e8120c5c52a97404cad915d996b698709bf01cf1ad30eaea29ded85d65e5e2cc5e61ab76dc95e10206d773c72d47441b62a4b34191c43d40303219d94c3e028514913f436eedd57ba363eada4cb8bc8cbe8181c8ec92758eac8e8a8e798fb97f49ab8caade496e66a8980fe3723064cd212bc607905812b7ddc33fc6dc875c18bc4523a45866c0152574b31e78f6f4f92bc80c9b63565555466b96b47407d11c11ab86b0201b9773149e8b031c9d4f3aa6fabc2b8135567acd1770e0543d98b35ee079795e24732f9616363382f5d429f729b813b0499c8dc539eb35eb5a21dd38e2d123d71d72d41e8654407265f0091d9f5008b6ef74c6042514cd3a69190dd780cd1f00019913fc0e3c94ad5bb7729907f705e004d9120db00012505ac135a2a557b9263a0fb4a3122f643a9021c15803d8e89a8963828b02fe0b3233e0b400a8002c29b7e4f5d75fe70c0a400bda8751424226079fff5faee5d8f46d493a754a3926a7b494e3a6eedd4e996202a9dbc2a63df12204e6d91a662e8a2035e5eaa67d7501721757b72ce296916231ac304a93ea839bb05a1faee8d480f5e02870de55354af33ebc5fa37ef73a8a4b3509a775da5d1c0b5afa2c08c13f1045807f106b1184059d2cc5ad9eaef7812eca5a6a109e46498184bc8e9b46712a0ea411b22e40e4445e6ecbb7a67565412f4c73c7e96edfd9dc292ac969a6a978b18cb228cabb71cb1f09f5c1c944f75baf355744a6758dccf473641310855e0544b068c7e683f3645767ee2cca474fb2db85a1993169e91e88f5651c3d178026ce5a24ad8371c487c959a29f5770ef34028ebb937ca766ef397e4a316130124bb32de4caef714b6fc5c2779a497289a0ca8172c1884bea74b30f2e51528134fbd358ed8b308c49ca2ca497b2d2e781154acbe71cf1c35444a42ceef62a06f511f1d5e133a8acb68e83ea61e0f3956be3eaf01467895c0563350d2d2b2db3f3320e162212bcf38cba252ddd7cddb175c7d72d1917b41a9bf740d8cc5d17799ed97b1b67a8debae6e87dd54e8fb7e3cc15eb102918721b10a20cafddaa44d02d604e54b4e6f85e0147cde5d314ac6f41dc5da4c2843aaf401cd78e3b9e9f1e59514b793ffb28e525d81423cf8028a4775c5e0d9f3d6ad4a8e87b8cf3b469d31880206b820d1f3fc3dfe067f81d782498dfd02bc1b922fb81b20cae0f9c102daf2013f2e69b6f3280c0b56ab70e322b5afa07f0c13d0340c1fba19382ee20fc1cbfc7e72f59b284ff8ff2cfa2458b38f3025e0c4a44f83ccdacfc979049e0929df31c20beeb3226cc1320050b61a4e0e8a642dd7a292625165a44ae523671e49913a2a4c9e5092a7442c5971045136f69ab75d3f92e07a5a0b3011992205f902e753927bab0e3e142298433083625cc8bad462acee28ab2caa0dddcc35cec29a1dd3fae3a64acf11216f0553462e108bd3425a0a9a846ee464cd92c22cbd8b3c22d93c902ee45ada8b1f8992ae30636f53ac8eea5096edd95be77b26434009be2ce8c90ac285e4eee836621f86741ce92158953fa421a4cc44ea996a9af4031cb19b5ac944360699f40c9265fa0b11293f8243b5262330abce826658c5c42b5baec7adc31534699fe3e3e8fb425f9c90694b1dc9244e4a2ac73a478432f06baba39a00c18b5adb31e8301ace510731bb4666ba1648492b1df8bce35d5f4d1c55c7c4b82b7b487ab9a2c4a435c920a64d3344f8e7458f9629e188974610c1c367fe01810ea3cd30e1506a876a38ac4d49ceeac827269740c3f22b0c6c0222ee332cf20db4769f35f4881a38e9a8b80570c06bc029e84123a5dc0a2a00d9b27808e4b1a576137e94832cfa69f2ae078b9e50d97f7a56ec2c9946f5be615740bd011be50a166926acb288f46b312c5a55b975752b01ef90906c7dc5a5fa44da4205532932947c55718eb492b5daffca14491ebb866653187000e717fb52bc46d0fd77bcf0ac6d6cd1d6473b84240589289d7a525d1fd72014f9c799279ea5b9b00b7cb51d736519cd64e393f0af834e3287e3c796eff172f2a29f184ef7029072599e2ec000004c080fb4206035fda41a32f80047d158ba601b074747470dbf0d9679f1d81785c27bed717f628e89cbcddb9e96bf6ecd9d1bf51fe193366cc3b0bd092b63c48b1b5c2bbaf2b0700d997071fd2e2397e20820241b2289a4146201922a36a367e189a75533a556e3d2c7451f1a2babddb2eecb6c7ea62e4d6415d412845f3ba59634167cd8a54f22d4657eec2c75d22ac4a6b8e83cdd58bc56a72764356b966ee1a308b4e59492ad209717d4bb41ce24ab2337195bb0bc4f78512d66f0235762c987959f4d5ccacc0e0107c08ee24c9d9dbed478b8294771428e60b14715dee0ffe197512515ed26c215c823cde54c0efd0b6578e70986793e7fa7836c85bee86dac6fb523fc77843730612f3097415802b92e27a744989f037dcd66d62196b9ff931f07fc95b176118290641e844f64a06658ab988ab213303a0633bb3624d97301a73f16d31e753928ec05fda1afa65d9d2bda44057a5583ccfcde8441907be3f898853c3efc9b3103b6b7980bb9436c7ed1b38c9c0a92495e0cfe37377a269b15cc8da6818513336c05e8ecad4f9551d6b63df143fce98f8c211c8e682085c44252e25588ac46f4159071b50d2b604a72c10c938a04b01ae3e13bc69fb725fa21257408ea68e08df49290e06712534d83f10956571585c3fc0672c1096e1b9ed963b747197cc861f39732b7065ee4a4e544bb14172978e175aae8bae3909aea9bb8288eebd9576f62cdb086433e0c3210d5f1d89bec5d94fcff23fe20e3e3d8e2b2faf1916978f52dc92ada0007c9894d56272cbb9aeaf4e3e3f40e28794633d27b2add5ec85e5647262a22b323f02b843ebd10510ee66305d0d1b0eeaf21926a507ac482c16091e785cbe284d4b279b186a163e0f01777728695bcf5903138cbf9c9b587ea0b4cbc185d537916389a60d8e0d67f55c20d992ff0e0fbfffce9205c664c1820574babf4247e85f83817725f9d5770ca0b0f804d6dfc58dc60adadef25631d5c32216b04329b73b26ec22185084d2ddd4acdbc152acb4aa5158dcce56b8c990932e753b6adcf4a5765b009c203509c3b1bc55034d3a919217b5f0aa3961ce4660b948e6da053c6eea5ae4d5852b800522f7ffb2f71e4097a65799d8f9d20d7fe89ca727074d0e9266466904480883b04a846585a9950d5e97c1a6b0abd6186395f162ec65d7b1bcbb2ed762c41a445a84841621a1455a94188d98d1086982a4099ad03d793af79f6ef882dff39c73def77cb707d85a8f6ab4f45ca96bbaff70ef17deef9cf39ef304f54c91d66617991ed6bd89a332c5564800687567423da60083cf0a6da7f3df7d928933f1282027bf375a1a030037996e89204f95b46504d99dab45fd0cf8117eefd5d565f11fe2111c8343797e2fed129567efb0934557a399f7c0c008f2b3891c3b1765cc1ba4be3aaecda4bd1501e6d1b93008ccacd0cedb5c8e8984fdc20556a18aa351d9164569e5184969bcd22cccf46d7c61854e2af28a449344f788bd82f2083e66bf9712cf414dd3c9a68004ad8ba2bb640914ae0bd7884bb5e0b266115b12c7764dab7899aea768da9a581afc8a1ce59b8f5f3b95fe79302af1d00afc05c689176cab15a08c1157f8373b029bf57b1635485a748cf85966e07b1e3ba273bd1769839169012163b43c8e09fd18225def427d84c4183259176c464d1ec6dc54caac6ab1d667d14cce1b4ffa9833c7b50dc7909558a3653e886ebe69e435ef25a1c598e3192f7e3c67e7b138e2b5acdb51d78b055e1d36dda7399cca51f8a3ab2c09ded865991628a6bc2c2aba0dcebfeddae884ec3db78c8eeb69ebb8a78d8e60204ed8c651fa40315e768f8589274ed079d6c6b59f80e7732d200bc41beba458416dda3e7ca98c1cc1858bf8eba86a6d46afbebe05a5896d9e8c6c725e1626b808911ad72221f907c4cf4f6b637994551c05c0ba9ec5775408cc4059c60ce82931baf78b7811301a063d8af03973789d677ad5454f854be26215461906da8a4aa55eaca737c3ef546e7c168383b5f7acb3b338ef8698957506c2516d4db624d952a7450b9dd301f2a3116bc99a699db8b656dafa36d47e1113ab0469dd792f3018e600053731590e746462c6857e81cb9cbd5280a68c29ac88a894e268d7a045304b346ccf5ea8a2564907596bdec9f1ba31469205500baaadc9bcab5093b5abfb8cad8ecc85d7288996eca41bd746d1272c074759f51d120f7eb5a2af37ea716b8a937c5664dae51060a5b4b465ae4b007a97514320d79d6712ca6be2fa32dc49baa7cd39006b7bd6305250a0375f4b1bddc431866379f067d928c2dec7ba898b1a1af1f70da01e315d02749db9b1617cb648547b5bc535482e4ecaa38cd1b1b5bba891631d1ac311c161da99d5d97ab6b5924c09db681c6ac26da58ef716634edfdcaed062db84fdba1eeec6e2885779f6dff3858a17c5f3a2917dec4f1a01face909103a26e137c80faddc26241cbc4338e6c0c3857002d3fbf7c6e66b5e10526cd330b2abc2e86262da8367667ad584ef823ed60299e28015d05f02e0abd73475a287a547fd38789805c8709b4737df5f52d82575017bdc54429fb3c2c4c78c762025a09e04571a12fca9f275974e992cce1d89b1286ef0224cebd2a6fbae46fec0df3d8f10f3469604960d9120f862900a6a2aacf9ab1d9ac682b2440aea7f48932a926a7e1a02764e51566bd6e83b9a52239b74d448d73b21ca8f11e1e6e0dae1cd06ba57b590011b09fecec44a784e275b49db71761b3e0e7bb045d6b6ddabeda205f1f0648e1b879570b9f128fb5e862b1c5f81b2b7a3ab46f6bed6a30f073867bcf852750f96da3bbdc223ac9b277cd7436d5528c70ce22ff3c8bbb56635ef0678cc24e52fc93645ce1bd614c48cb407da617d27774ce5c919963cd356dbfb3e6478e89fa3cef19b0b5cec42c762232f19531d60cb0499d3a55371ddc707950068aa663289857c85c85df525bbf5970d5ce21290dd0208c13675113420a2fdbd9b7ce45ba0f4ae724643e2d9d56515666838a8ef15ad6eb0c18362851d05337213ecfd4a9e89edcd7e16888e73429c166111c6be03b5bd3fd5146a31896ac270c261b842e3edbe6252420cf790f47c36ba77020fc7e4737317d486503e23a5b1899d66e7d956515bb648bf7ad3f264aa1d78b248236de08a6ce30711e6b62c52f7f86491d242ab0b18e321773dac8e6f2cfbe99767a11bcce399223de6947a4afe02bd208253475441fa675c5aa01846d83c51d9da4c89c880c16a36901b79451d62b140b2d52722d4c88ba1ed8fad5d7cb84e928cbc8223536d85f26cdff371a63e2db9c82d60e15f4721993afa7d6c908272c76c649b421f9d3109e25780029edcc37373668b2b515db99d090500096f86e30303524409e91520826da15e4c55f2b362257796b718ccd315ff6dd181307f20055d1ffe0f9ffb284deae8ded6419d3c8c846da97d296e4f3e4e09fe4ee9312a2e93eb0bec438ec7007a32a2482896841e0380901238d9664a79a6be0a14ec6639d0a8bc9cead5e50bccce15522f543778e078f743d926c78df187148d3c9145e24a66b8256722d2d7d938237f552eb8ed4287886d016c97536cf1f511561779e0f7444d501d867450ca4db9b56bd614654cfb6701f279b332d2632147a98667100ed72e87ce45d8171538784368809ddd34551c07539de170aab1c7475d426013543eb3acb55929b1f582bae16d443f9bfbc2e6c77081a3ae37294ed6340e9097bf784e329bb02546cac895a1275099bf1b0e6f87c315cd211481b12d7d614f75cae4da73f5ff604c3129556f4584447a5d0e2b5003d37333114d4e186972814909cb4386aa5bba3d3c7497f30882c223eafdc75f392ba6e099c98615d80ff70e30774d920af5fc0bc0f3fd70ac3830b32f319b167a8d34e8ac48079af8b289a2d53ed7a164e80b1b03e62b8b705ce55e8b535f45cecf7f1dc7522ece5634ec2d884cf3075622e13b3911671758f45c76cb51ce06ac5811432a693b1a7dc451b47b591a14282bd69ddd8d946bf59ae040954a4ea4b3447ac608646ea5449576a3c1e47902e8f3a24d6d828ae8dc05f79deabe8ec4c0a3ae7eea7752e65e336a7a5e5652d3c66aa65223b407e4e444d58e3474e788e1969dd609c3d95f3280bf513eae2f39f0ac92ee2da164525bb0580742c9449c5f01437c814dd95a5d1cb22c5feea8bd0b1659d1401bba70d59f70a8ecc5e5149fa84d02f608835771d94d6d967fbf92bcf7a87c39d3a0ed9c4ae92938101b9929c72ae3b52d17be0785167a61e683a2a5dc47e94da4ab7a4882ec9641a99198bde115e404df01b840285136fa7bbf0b6cd9592a9f4c82e53b7d2ce69b0143d5f13ecbcf4dfe34c24aff382a5d0c3fb4fb6808eafa242621f4466bb5f061317f03da0388e610d064b1e49d08d227bc6ce391526b553e374c8eddc12bb38027331c48042525c005fe746f11f9cd4b9d3507257064597683fe42c129589f6828858b1d43cbf67abad447940662a698f7bd0cc10cc19a34170932ea32a275af3adccaa3b0654f3b1358c756880fb313692bda7315db818118c45097680aa8f445681c9c81700d48ec45f463119bee3e5e9e956c07ab6075c78abd2adeb2992089b0ed6d336cae523a1004724bbdeadadcda8d2cb6c9266dea806cd4093771ac778a55f4e10a22e670ab9024a162d914c9314c51d28e6f9dc35d3ee87078e83e1617a34aa5951e8fab3ce9a69da187b49440fb3884932fa7c8ed12b9b15e62ae55f6b87ab88d8202b62a4584889dbe37944b4ae8bb8145fa489e05d86ebc59793bb4f5294f725f6a55b264ab13080746317bbe652e3d5b84fa3cabc76ea388ee1a204631cbd4ea610db2a7895d7e79c8b43ac49c1c9958c57312d1e05b0e72a01e08d03c52872d0135bb40254ba3b8d7672679191257f7280c40d946bcc99f99c629160eb9419765660764a1de7df9c31430e2edb5d8c395c24772d2956ab85a9a2158d5d26b81ee083b2340eb68224758efb4293be531741b345d5a35763bc39cc93e05721cecbac03f24a6220fe26bdf8de70813b9dcc6889d7b36dd49beefc2b4c7a80afce66fd5da495faa06f735b03820aaa3b05517ba0f92118ea08428a9a2a4a7e9b6c786eea8a99e241c0a2940abfaa32746ebcdcb3cc4c8b9e599f5191ad6bc20f3eefbc3848241f9a7eeb51bc4a6a17789a1ee8ce8a02db715ba1853629e87dd219685b6bed67b123e3f131a4edfb50a2294369eebc3ec84971773da33b0bd6fd162b07e52190f1e4ba571181afefb90566c530b26ef8c5c78f1d12dfafc2a8af15c09a258085b598e02df32e6eda0bc012c08a737411f85fac25d2aab78b1724e3cfe1af0d72d9e5365d13d55405a3519ca390c998011b2b8a1898d8ae739e309aa7ecb4b953d060cc90eb5a905d78738e50991fe164aaac6af43b2fc226eb95741d557114c585d8268498aa689287f3e4e22befb4209cf7d6902f6aa53333a4c9b48ed82293a3e762419eaf2a1ae571a7cec60c762dfd7bc7e0a58ab106725c1c57d90854d6618d7b2d006187af31bf968805ca215446d49e53e8d938d5a4e2fbceda8976ef45eecc574700b835ba4fa5d31e5ac49159f76436ebceb1a0b0ae4c6723b6ae8de3113b3e8b3d300b34d3c5aa8c347852d5e4a66b23e304947eee2439b60d77996c4d7aec89ad417b3e4dfac0b04586d7f05e3e52b414d152c2fbe3188d1ab899ace8c9bff367f3338b22878b4314bba68b1301511a73fa66891ea0bb68b7e1bd956473d6b86bdaf5fcbba44b5b830d271b863cc181553c9137266c15c0c7ba387e7bf5f56f3fbd90582ff006a86ae7d9f969e2670b0e8b988dcd0a99cdda7c4b8a873c09026509d0879d6e5ef49c7699c39f3b3a61db2443bc84a0af91584ce8090fd6bc89f6da3c661183bcb19393b7d6645f7cacafa0a9815ddd3289faa6675e71d48307bb05209d8c1d0ac73469e2fb27b47c890e8c79d3143d13b4321635de2b6891d160a26cf2f3a90b64fa11d2cda9132328327448d936eaa40af09dccf0bd705dae6d295176e551581d1540797bd5a2cd5281339e97031a8c7205cd36bdd14404039bed39227b02ae16656247f083c5017e6575951accebb3a8d3108b172d2cfd8cdb2702294eb28869ca1ceec4dc543ba25e2169632f118b13a694d78ac1ce71c179d9ba58a9c8cb953111ae73f8fc5148b8e4700fe868a0a01844369024f3a40be14de3786d8c46c3d841487e2fbcc673ed00ba475fefd94c715e865b30dc83754b283279f29e0f53eb3a2db5169cd2d59925368e1b37f13881bf2e4260d29d32b1a94507606f6c990a063124e4ce63a9eaacf61e8239936e1cec22f22a5e33eb40588c28b4709eabf09701d60564998409256136628b4129e6489c11461c17e682114b1b2e8c2679ed54452c4cc005abdb9e8c41d7e571adcbb5cfe3f8c7bac07dcc9d1595591a492a68348180670bccc1b6c7b8f3cf8497074872096dd4fa11907ba16ac56d4f87c5d6ba1735b498e3c5daf8fe4857b1ea892e26b1b93c8ec90c00dceac899af2f6bc9ccc2fdee0c27d376714dbefafaff998775fc6f637beb72b6d49e7f8509b4494c8933cb7bcc087e8dc743ec0644ec6728bba04e9c6e2b0036eb38b38de059054a224987e4ddaacd3d7688e17f3cdf6f35f963e7d725d96803281a5bc6ab986659125ef3f6e6fd072f154b8bc6675ebedb74496201e57e76ae49a4301643b44ab7ddbe75376cf757f5e6e276bc5e71d2827c3f31763acaca17d81cc8875a8c34caf6d051118241f85a552431af423018b9538134c065a9ed6e0ece5d9b45fa99e146d0e6cff218f8220ea1158656e74679b1986300749628a8d1f159992cdc9ac7be8ebb06ced5d4ba7396b43d0bc0ee05ce41e9cbd6cdc9f32e3260808d08c73be180efbc8d64260be588b02e4b8cff32f5d8c9946edb39875f292ed39c3dc9b0773a976f503cd73def9a0c6b4b92461b8b214efe104fcbdade9842b052ba06b0d36c14789dc60326186602730806ae9be047aa96a83849f06e558af5aa57dc796553d0afbb247e28ef29dd27e972cc511c11d4446b75c99e47a5645baf1ed764028426ae08197f15028bddd0dc986752c472b13b996ce13317c7b069dd272d218e39dcfde3eb84711c7bbbcccd33a9d463ec7719301263fa7b38cfb22ab59b9980ba06d82e72b18520a7a964cf29ab47378db07b4c8dd90a471b69fb02c58a2749f6a6a5d246228057cde6e38c36168eb6eb41c483e1b0579c58a746f071591c6b19c3cfc6623ed6793b0a03e59a49a7dc7feb0cb90d9982a5e57da50b2e8ab2adc66e530c5657f8704d2661bdefdcb58b76ecdcf16a45f132beb66ddf81023dec68d0c16d7bca26e7112bc7cb485b003747da52dbd53cdf95f9e85c822dd8010afc2ab25efb1348ff4c300d93f916140af3228b0875240b9ee59bacb16e7fed81f2343c6b9bca78a7d25d59d67b18bdb6023f708d2668d35eb087d58b84796d10dbc5c95c56182d9ccc8d9ee705d6cab2d0604f71172f0676839edbb01f015982f1cab4f2809b6f49bf7012d3ad2166e10c481c0c2bec5258cc2c57c024fbb3c8cc993043af212c97f75806d0ae60413a66de8071d36087c8c0470ece85dc2611620393682b7a7db48e9a1a19486d178b58ec1255bdb46d6a6549f41d86ad40f28c05affa6bc1332a9a3a6a6d9e25cfa668b2c7f7461545cdffc884e44831292c7ad7aaf15e59a5f122bc4d58408ecdcfb0952e5568ac55fd1129182004c7bb13be3ed5a867cd20813d87109b8c07a5139040bc79af8303bc0a09cea4c76e288a1e1d569852b35870a48e5ad67379ed99bf85af2d2f8f22c600c04a551dada3b01b894f4f4611f42dbb6cb97f601c653cd6c94441b51303493b1f36235bbc2fe979540a32c61715f05cb982e02d0196a539ece66a1fd04601342f92884ee65c00cd7c7fcb5c7435b2bc55ad8d70dce1994619d40a7b2c2ff39edc80681d75a8af45d3a7915a9b12281a5d542e1ebb2e3a115b5cf0b2f326cb6f5db6978a39569c48b1d244a0a86c26b2733aba3da64dcf834bdeb76203485555ce8bb4a9e27151bfa39739d3c8418cbb145965d3de26cb624e2cba75cd8a0f69db5b5be8ecf1ea0fd76e38522c206b2b214e08b3af739b002b7c5f7dbddcf9b8518a77672155158ecfb38e89d034ebb87310b7d92e6a76cc661be88c8c46251c69193b420369a532588c01951bb5cce705b92e8981a0525ac94e9dc580c2021ff10c1f23154e3243a5acda0dc9d01247e2ce44ca9b039f814945bc698eb14513eddcc5308f3f877759cc04ea2875406437ce88fdcddeb8c08284e9197072329d8f1a9a0b4b4995968b9cb2729895126034c123e48a8ce7879d77598283e15dd692a2d5019a2d5347c2daccb63be436ba758e0c043a0a81613a1fc4ddb3e88a0cd1b19aabc96164b474d64697df37612c6e8fb7d446bc103c5ba8716dff7e716afff5625d46e134aab78d3b5030746d2c588a4accfb84ce2bf7dc1b10265ae83cca775b0bde4b7d5b3103b3b1707d0dbfc2c5148aa4e108f788556c072656d6f9f156e1d8053904d4a2836dd744013b3e467eefc9660d8603afa1a6672e98c5d14706113693862fa3a89e14d2650f1c1e31385ac8c8b94cb418cee1280d81b150f4acafafc562cdc655d666cfda4c314ba9c59b948ea5a09b6c4d7a631c5f444bb727ef7dcdefdef187d4d939cfa25b2c8354bd4c804fc8766e96e87a6314a7a0da7526c856f4184a70d50e3fbbb535edd1aacdf8d27e1f232506460f074cdb43c15519989eaf4957c66e826d164c14cc46b772fc49f7c8cedd365f7eac623141ae53e6f02562c028c5f9306e606c34c8b1ce702669bd34f17a1816ce77b0ac18f3e05e63d71875dee41a1230957a826b5d97c54e952f843d15de6301ad3367058efddb174d00cf9261caf2888f63bb098efdb9b2fa2c5732d6aea3a4f5f2eaebe57b350a8ee7f8c7f96f69387e45aff22b5698883479ae180cf1a560ed89cd8db3f4c8430fd1b42e514df3f3bcb525239c52dce7e5e12845161905043f74bc3b423b5ea8be5d56a8c889b50fdbd836ecd4c29e83c58cedd2b94b9317718420bb6b4599e71da4aba9b38e88e20740c1d4dd8c76004cb699db902bcb155d76d925e1f34611e790ace31b7aecd1276863c25d9c015af1d3a98024f19e24bbf5c289c4c14f44b5592c897624744c06a9d575a712d045c4e188d2e8265d78e17edabe7317adafad6177c8a8f6e3c78ed1d71efcba26c10663100481ac51c684e025c6a32504e9a6d51d9a2a80b6ac509a5b41d7a2c06b60ca0614068e71efbebd74f5b55753c6aca9ad496ce9f24f0caa3216119e79513867d2c8cacacab86bb260c8891a9e3d55a6dda4a4cd623be828adeec4aabc04b92f4ae268cd19c0a5d11741d6bea02eb6a8f9180c80c789220aefcd26387f93266f781c49ac3b338e00de5ce7e626be664270a4eed01dd85c85ea4f94b20e7447edf14a2ff58a989aae88ba404deb8a236ded7bd132c39ffbebe4473976adb840dadadc88f708054d51f53005f1ba49da3cc72386159b99311556a83e533252f51e32c6d4332b033b2eeba471519d44f29ac862b1aea40721f7710c0983618951302e73a54a0ad518f4e55a40a4d12538dc0f1e79986440a7dd56f63be2d1e4f2d232d675ad60549fbc7d91e5474a4941ba71a3953ac62ba69f5b4191ae8d22013a5bc7143b185e98d08a4a3f16f3de63399e8da44f02e0abde57eb167ba6197fee0c1b98b6672669f1c93edf6bc298ad87c7c1f9f1ac01e8cd68712b9c2f17eca9c39993092e77cebee365d7a47f195fdcf16347e2d8defef60394e01aeed9b307ebd9233ea3f37a29cedac9b0f47c02bfb65d04da187b65bab5498f3cfa14edd87d900eeed84ef3c91abebe77df8a72f35b4db6823b514d4d5112d407958b17661af05b36f30d91bdcec78c3853f97a69f10e95f1604ebd2608c6a35d2e26f8f3ead9ba04de620c3a2af02b9d3c4ccc90e12e47d7a8b19a52332b98e10de8f9e75fa4071f7c98aeb9e68a5e50e2eecba38f1ea5d1d26ebaf8d2bde1333631d32eab1555db137d07a6ba8235a2ba06a25ca92eca2c8f0d2d8d1cc798a1385b96192d7c2d0403c20b8f8bbaa3479ea40bc371afacaea0e3f2e41347e8aebbee2576e52ad90fa49952395851bbf92976d6420d6c697d6b8eebdc38196d9194e75e6bb806e11a77ed2c1ccf6a48801cc026e8fc3016e1c9a3cfd1d9b54dbaf5d65b1c0b288d0efca8c0f430006873bb5ec3588011120e8af50b585e9b0355ddd51108cb63272ed064cc20fe215e9dd576e396787d128b36080c1a0cc75d6775ec00d8cf1b65d67b0961dc43f9826962de03b70a964676fcd3b04e07e18167702b94699b368ec1b013cf4553636b730eca67b489872e8e00573de341947b67bdd1a8a9f95a11ce97d33c4a4c7dd776fdfd6bd22916a38b8c335f68908e3e587597b488319aa974f05a24b64cf1507e34e06d1e3aa2e8d7d22953049d96ac6fa02731b44fa94fc0edace7c6cd6058eb02f971a9150682c3c917d4701b55861d92a8f4cb8e91f11ebc593021407ea6058c5c9ce3b61c8d3f95ed64a3b5b6e977723cd6c946c05e44d23a00c6ba91516b89b86023481bd1c8884e3a3c5668f835bd28f8d7c39238bf21f8dba89d87771937513413b74bc0d446b133558f0965b1cd3a361e742b9bb15490307e68b15b2a1bc64eb48df23c6e88f2e1208adb95d04c61eab58c90bf5d5fa74e9ea4175e780154e65cc1f2df8e2fbe7fec787ce1851742b3c6c0ae7cedb72633aa866315be3c0f0b13b1d19ec507861fe8471e7e02bbf96baedc4e279e7f32249fb34854c3e12e6a42701f33fd93470421792e8544ceed6e3637e364c8c5c128eceeb38e45975651e4d4cd5958920cc63ba9cb5b1a29f23defe6b45c6e43809df09cbdde42a1c401282cff903c56c30eff6cf85a48faac0b50ec04de65341843ab8477a04be16718f83985afcb2666e5dce6673fd74148d2afb96c851ef8fa293a7af419baecf24b959e5ad2334f3d171eb28a6ebcfe009d3efe54889027c331f2efec4092ab30752a6912ce691c0a246e6b4e67214085e28167afe3e132ce71180a915938f7bc3d23a0c26a178af4e140543f2721808d864bb4efc09ef0fefbe999679fa11b77ef40e0fdea7d5fa38317eca6d7de745df8de4678dfad104c42d028c36e255ce761d8b56c86eb0740201ba1cd1a7468b6a69b304fcc33a1da765d38b6c9e950f3856b3e5c09972004744ec2e1f7b7269b74ecf81a3df0e0e3f4f8379fa4cbafb8040922c9e0ab6e077786065c106c2218ab6a9a20f2a3378c0230e7adcacb6bbbbfc8636b1a427ad671b25d2e2bcaaabecc78bc14bf2e0aa183082aecf4b308c5dc2002f806e88a6c2916420d11754ece1468e96271c216fd05dbe9796a2bc4f6c27581681fb00e044a3a638a06e34102dfb2960a179a73c16508d55dc613328a5ac2b3616c25de4d5bcbdc7724c6a3b17620452009fd2948eba37f21dd0a554cce94f9905bd74fc74ad6ddb3eb13cf8b15878b41325564103a5f13bec68c370a6b88715c6ccec87a161d898cb9245ba300b72a38a7b467741e87b24198cd145c4a5199d692b4e1856c2c606ac5363615fd92bc373e8818b6ac8b74546f4721e7a79d42d6531970274e4b6f1629e467a82a55ef2787615da22413d64691ab95a5e1d3309a3ab753e2476eb17b144762d6f9c9d58490b4501c422b45a4e38b08d6954265f01249be3b07ffe6bb8289d593395c9530b206d0d9c9147b2698a0ae2b62f1c05d9da248d8272b4ced1cbced808d9da46b259ba4244b9f464b60f384d836e62238ac7dd678c17354963adac9d41054306e7c6da6dfa6da257c2ec78f1f0f9be87d2a9df0edcb18b2b1281751975c7a69dc3094aa45e3c54dcf3ff06bd7c6199605730eb6dbc6535a3bf50285f51a2ee0120d47db50c575dd2004da01927a1592e0749e85e439c708638e51ef0009bda8964300c919b7862e00ff994e793639c0efccdb0249743a65a54ec66270eb96fd5e46501fe5eec8bce140c720ae50f98663e0c220942d349bf3d0833d3356c231b5213035483210520bbfcb0eb959117e3ec4edcdb34fd3ea7822bb64b58f679ccac6e6247c7d4e938d63e17b1c4446341cef088999b537b86d3b0c4548d80d554c9d2cc331ce718c728e95e061c231d50d8b8e754806c3f1769c63d331783604f13aa36ab41cbe5fd20bcf3d47cb83b321584ec3f1d774e6f45918e1dd7cc395b43c2e5064ac2e8762a30881276bb0eb65f0eb7058d2d27808f5c7027aa72121142ccad4018b0241a58cbfd6d1b6d5654e0d5068c4ae95cdc5c2cf5c79d941dab36b393cb027a2e89804ca5c25beeba8b7c06262a65869eeb4d8c975de0b248fed45f3eae0a467203b13a5e27f73d2e0624abc7caa9e4cb66ff75b726b00969de2bfb1e59f51cf4729732d789b87b70b225146f136da7bdb688275a0cb56dbbc5e38ac82926f1eb53bac38f2780b4b0642dbec9b4ec60e820203d1dd33d75a1ec351d2f2112a2f25df19674ab8c85cb10e8b1574f6ac227031434b65fd8d526f760576cdac98482eba790f03912983267541f2e8e162058a1fb799b68b1d9b8030bbb85e3c18dc624bd7252c9307a3db71d9bdc47b821a6d854315c71594258569037e9a92a949f3cb182ee14decbaf935646bc7633ee4fe52ecf84041d5751facd0b2eeb2ef44797afd2293c93b077bbc8edc6bc1a1c933d1c59f91f39df7c660fc1cc90870903caf1c30d9b02d1e3bd33ac1393fbaf29a37362a2a154b9704e4da1e681befd34971088145579b3cf1d8a3f4f94f7fea65115be3f7f8b3cffc293df7ccd3e77cefab5ffe920a17bef48b7186dc25316766ef6d64ac4a5b97f6bd7fdb3f5e58f1dfe44fa36bc5fe0d15e1b0e16c17ba79e29124584b7a85bb53af586102af17adeaa562e38031c7ee5d54e76aecc4672c415e8764be3aa6e327ced0134f3e1782538191097e2b1377568c3742d29c6c310d5128bf3376b60dbfdb84f7e45d17275966928040d9d5e84e8c970a3a7d6a8bd6d6b642a216104b3d9fc0ed95ade9f9785aa0f559e9712dfcfe4c3455986e0ba479177e6f009c06b73b1b004fa768434fb74e81bd90cca7c4d9b4996f0258299fc11a0ae19ceb2d2c041e2b6dae9d15a02a090b8999025c4c94d8ddc96cbeaea770f1e407621eae118f84807109c7309b6cea984aa4b1db269c4fb31512de188b940b8b32976280c72293e9264d36d745242a1ce5c6da191c278f2036d73742a1352353e1ac714dd81a608e739b42567f2b1cc7ba8c7bc2b96eac9f01c685afc7d2b8c275f2ad610352da6e57765e83c41052dd0c638298201768d4da9ac7b1347504e77933b38e2802aa194354a8468ab5b26db71d9d8ba7d35e0b3c0655d7f687c9a4fab044cd19b02e24685a22b2a4d31b1bb469e63eb7049df7dd3ba5882ace3906db597b80ad3754b4af5bd294bf27cf91e46c2da071c36564110bd0c5ff7a81332b5ace01d9764980b09ea7ae44e128d41e0c6b228456302e0ad119a0b48e146dd19031768ac723f82468b6000914db1f2ff8e3b17525f890e2257cb88a58a0459fa9b6eb79cb746dd76b8547dd1897d065b0dcf5ee8f779ab60e831570267ee641bfa641645d19df11b1b1a6815efd75c4c8cf31ff7cb7643169db6ed8364c06bc4ebbe9324939e8f5371c9751b773b77eedbef2b17387c77ecee8d01e8be26d48ec9e5096c650f62c59974a9e8d261a962e1acb7df64f3f49fff3fff80b2f4b61c2c7f9bf86f7facabd77c7af3dfee823f48f7ef17df48b3ffff7102bff3afc86d76242a1321a8742e7a908d8e64dc1eab6edf83e8f519657568526bfb44cdb76ec90622dfcdc8e9dbbd0b1e5b8b363d7ae781dfb2c2b89a14c9fe675cdf004f310e3cf660a301720e63cddfa6252940ffbd74df561a2d8e9bc3eff0a13d34fb087b730e9f94e9235ff15666c61675e85e4ffc97f7d3f7df48f1fa4bbef7d863ef4075fa1f9744e61a30fff8bd1200f37b908df7b92ee7bf0283df4f0b3f4f93b9fa0eddb9668db3207370e4c739cecb6d5a590943bdab1c233f649f8b947e8cfef3d4a9fbbf351fad4671e09c5411376fb7978ef8a569687e1f3b3905c09a389c79f3801d4321730e3907007654d67cf6cd083df784ebc70b8fdd9ce54b6bac0ac1ad5679ec48b3a9592e704cf4515b750b7ad8ce999a74f8463f9063df7fce95030b4b41a8e9b2986d580955f797493e3e797965848ae41d1c445d4d167d620f15d15cc1c988563ca640702702827ef29024667aaba855076d97b078ab5e1f387e1611994441fff93fbe8a9a78ed1858777d3c38fbe405fb8eb9b74facc263dfdf48be13aca7d188ff8782bfac643cfd2f3cf9fa1dd3bc3c3351e86e36b5104b2611cf03fbc4b47b290244eb60b07a6a18c00684b94666c285a26f2f37d1b00719206e8b510b0724e794c1c10ec1a2fe11cb95832c7e34ea5aedb050760df62b780c1c5ab7d2f8d052471f1c3cd8ece919eee311459e70a2d8a18894a45ff32fd3b464e5a9879f68825319bf55bb0b724e245f92cc97b3d8a7e37801c86428b1bd533992a58572c1a0a11a8eba857f8f43118722cc60269d4d4cfb3613c98583a0bd493e437ec89edfa7dc7ca3e8fdf9f8f41ba666dec661800d37760fc7536fc0817bd7e87efa5083cf32b53cfac18738a42d581e70a0e6ed2752bd44451cd2bebd8d9e81783a6cf13ad33748d3340d71717b130d5a2d8338dec8fc792f033cbbf6f2348614fcd7a7205fefa7bf134efc8ec71447eac53a875808d870c636389cffcc9ec1af286898b7c2b40bcb482bd2fdf77eb28f9ee8b753d5847cad671a14ac25803d14348744d3aa29ec692605b8ae8beed317bababdbe8c0c143e7e4974ffce11fd07ff61fbd877ef737de8f7fffd6affd0a7dfa937f8cbf7fe0fdff8cfefccecf016cfb0f7ee1e7e8bffacfff2e3df1cd47713e070e5da09e67f2fada035fa5bbeffab3504c6c8bf7e62f4968b1bb1bd75af8f21f7de877e9e37ff861fae4c7ff903ef1d13fa00fffee07e8b147be81a2e3e1af3f48479ef8260ac1271f7b94eebdeb4e5ccbb53367e8aecf7f9a4e1c3b868de797c2d7b9033c1a0b80fe43bff3013afae413213f2d870df559ba277c9f199ecf3efd148aa7e79f7b366c8ab7e8feafdc4ba74f9ea4a78e3c417ff407bf8fb5e43b53bd52ce1cba1d5beebc64e560e7a5c19f5b6459ae5a118319249eeb8c771567a90805c5571f7c9ebefed059fa89bff37a801fffe44fbf41c74f9c0a7fd6e9ce2f1ea56baede4777bcf152baf3aec7e9cacb778542e118c614fc307de2530fd1da6643dff996922ebf64177dfacf9e0805c6717ac3ad17d2fe7d63facce71fa3bff50337d22d375e40777fe9089d39bb415ffaca0bf4d433a7e9cdb71d4030ff8b074fd2d5571d0c9f3da0471f3b468f3d7e9cceaecfe87537edc708e5773ef400fdcc7ffa66dabe3aa249a86247c371586c353a094db682e468814844b826f0a9e8061912f9c6c6595a5bdfa493a7882eb9b0a5071f3a41cfbd7086ee78c3c5f4e93b8fd0be5d633a717a420f7ff35438ce0374cd55bb61a4360945dcfac6945e38769a1e0adf7beec5a3f4a6db2e0ac77a80ce9edda4adf90cd4ddac531f8d8ee26c3f031e650416c1fae65a282266e17dd6e9f8b1b59080f687a2e36cb8165bb46fcf281cdf943efdb947c3fb6f84c53da0ef7acb25f4d14f7c83ae7dcd01dab17a017dfe0b8fd1e664466ffbce6b89b1543cdae26ece74d281b1909563c18380dd130216007c73129c2b035707f0e3608aebd624146123c2d82bbae5e6424f06338baf1bcffa153388ebc054682625f37bb2174b298ecbc34c1c8139a056e5202678c33c580036f0273f970cd683ccb8d38f31d5576e7d0f464939d6f41d181b62c1d6b7b4f9b898168b82b59319f96cc620dff0f34be1c16793b379a24b4b00471943a6c321ef5bf64644decec08f257227736e181c6a29fa03c9f74c3f4701ad5d8b6b0dd5d3baef4d6309372a88768d268c26751534a801b0c81a28b930a86a4d287cdf66b5c85d73d0e3c0091769d70101adbd154f25db2dd918a5734e621650b98815bc4aa7fe308532e6522127ebbc5166d3a0471536ffa2298c1bf9ba0c231345b0151d84f28683820f4bac0eb80337af7bd4fff8271cdb38ec9290c0b9fb138ae78ad78d2575c73ef30583ef4a5827c668d326e428827a99aa52c3575b6c1dca34eaf385eaa2eb759226a87b805d69e3d732525407f1ba119d23de544987277c3e1a926103c3982736c86c6ba7e5522a0db88d231b1bc72519fad4bd2cf301f45e44b6dffa4b617dd692247365249af33375aaf3636ad23c721a647f2da8f4cecf7e9afef93ffba7f4deffe4a7e8d7ff9fff1b9d03bedf1ffdf007e9ad6ffb1efaf8bffc105df9dffc77f44ffff77f08b6e0e5575e4deffb7b3f4dffe4fdbf09e568ff7ad70ffd6dbaf2ea6be9977fe1e7ff7ad340b751e022e0ab5fbe9beefb8b7be9e77ef197a548f9c8efd357efbd878e3cf938bde53bdf4e8f3ff2303df6e843f403ef792f7dee5f7f0263f7377fc7db508cdc7bf75d74c55557d39e7dfb50d0dcf6a63be8277ef267701ecf3e7d14716d1c76cc1ffa171fa34f7eec0fe95d7feb47f17b36eadcb17337fdc9c73e8242ebaaabafa333674ebd246624737fb18e157b4359b7f2fceb9850e6d0fa39f42f8021988becb18c193631ca78fcc9d374d5157be8d0fe31adaf6fd0dffec1ebb0a0be78cf53f4ee775e1d0a8d6374cfbd4fd055a128b9e88255baf8c21d74d1e165fad3cf3e4ac74e6c8682a2a03bfffc49faf32f7347e569baf4926d21b17e1d23a01ff8fe6be88f3ff90dfa95fff76e3a7460851efcdab3a1e0d9a45baedf43c78f9f093f7f0c1d8cfd7bc674f4a993a1407a9e8e3c7d926ebd791fddffe08b340d01e3f28b43351d0a91adcd2d3cc47c77592f82bb227e3edeaa88170b39b1a81017623c02a9413f2e68c7b6013ee3d8b1b3f4c8378fd1d3cf866af7a9d3e1f3d6e8ab0f3c47975eb44c9ffcf423f4e493a1f05a2aa193f2ccb3a7e8beaf1da3871e3d43975fba0385ce9c77265c18cc2634aa0a74454cb1128a993379e8f93aafaf9f151751e8bd94f4857b8ed06ffede97e89e2f3f0dcaf391a3c743c1340def7f822e3c34a6175e0845d0c3cfd1d557eea48b2edc168ee7617af1f81a5d70603954f5733009183408e1a5d916b174185fe74c67f6ec135237b5161979b8b6ebf27098c19f0aecf999795ee42e71abb8194bce8336dc085b29e30277a27e20225437e3b159a7eed07902e82db22bac40b1d6bcb5c645fb22694370b0f1737adfeaf6ac18738145c2e02246ad0d840a9ac15d9701b97cfdabcabc97a66ee75d46513c5368b56465c7b2a89361c596bd8715259eb521466b8267606cc744557071ee4eb7226ae944ccc32cea5cc46e519eba0f8dbaeb5ac720ba73b3947925668b5c1ce29e0d8669f78e205808c685c19f9514355d4b31318bb2a97410ec1ec908a471c9b7ec696e70586b9a364acc33e0dbc67ff1fa70a70cd8862c8afbf96e2e46597cec45bee0e394ae91e89810c41e5bf511aa42d104dd1fbca724dcd679f5d875f5004914493a26685c67c68f4ba49b37e8619012953775ecec77bc3f96178ff4a340b80adb7dd3a21f00f44cf055a6ce8c620445681e474076ef4d81d7b03cd188b4eb1c73aa716bb5885dc8611cad8a59269729350acd7954f5660c1ac4ef221e8d7a7461fb1c9f441ff8ea97111b788c71f5b5d7d3a993274281f12338ff7ff9c1dfa16baebb81aebfe916fadafd5fa55dbbf784e47d880e5e70189d86aaaccec9551bebebff06f98c7ac299e8b015150aacf5b367e899a78ed0c9632fd2dbbeefdfa71b6f7e1d7d21144fbbf7eec1cf3dfcf507e8e0a1c3f4ae1f7e0f7de98b77d289e32fd2bb7fe43f089bcb33f4e57bbe4837def27a9c32ffdba60c7c219896fce07d5fa19b5f771bf2e91557875c168aae9595557aeed9a7300ee2f73d1e3ed7626ac218a95c42142da2c8ce615207363ff979a8fc0a89f9ba7681c07426a4d3004758ece64adabb67073a004d285af6861dfc9f7fe9087df2338fa35079ededfbe9e0fe157a2e24ccd5959276eea868db0ab3130a14258cff38b077270a8b071e78868615170023ba3424551ef91c3eb4423ff513af0d493f549f7ff4007dfe8b47e9a61b0ed2f7bee332bafd96bdc0b2bced8e2b68dfeeb1ba07e774eb2d17d01ddf75098cdd4e9cdca403fb5668c01d92905ce68c8b09c7c9bbe43c22da53f030bcc61445570d2609536fc7e3653c74dceebcee9abde1b8b6d39f7cfab1502c8dc37b8662a366d5cd92f6ef5b0a3b0cb641df80ab2fcff96f78cd2ebafe357be9e8d133b4b939116544def98463d8da58439167aaa90c8e4412675c4b28904a0e120c0d1e8cd14179dd8dbbe9fbbfe732baf5b58784a910ce7f23145c870e2ed3edaf3d18ce750cec0b1751e350c8bcf956ee9a54f4c28b132a38c14eb6422013d972ecad51a424506a0e8f9d41946897dd6c8ba2c20c096dbc8259769184c7ace2e724d63649cd93df4f5a912acfad4663d6561f0e86915ec9231e2b440c03114188d0d6f1232433369cf7b0235ef4caeb7dd8dc3c5290b5c0302c15e36e38308fc64324444e02227637c6b9f2b17081e1dbee22d8d544d54b0bf65eb30298ad9e22a77c76a7b2d2c68048188702ef3b72e258d666f76c917ed744ba1c9b9b1bb190f1dd153faee8dce8cac669a061cf3c5b235791c5263e1fdca5e8941d94d45e2511dbf5e1e29013549e17bd318def860868b6390757b1081285e60fb5bdb18a752c0407452ac1dfbda4a09c9d7f64a9d475d43b8248a05e5bc31879cd1e8fb9f01d93be9b7ac26fb4aa45b3a804eb85e6fc5af4e7cc458fd7ed316352f3b5ca9da0611461cca4b835ab86c289cd1960d8b47a442d7618315c667a9a3a4b2d8a7550e4db2e168c228ad9f580d2d499037c16474c8c758091a8aa09f761112d1d7ff1057a2824f7471ffe06923077483636d669cfde7d74c3cdaf45e761df818348d8ffe7fff20fe8e6d7df069cc7647313e773f99557d1ad6f7c0b5d70f8223a71e23836128b8c1b2e4efe4a1c8b325b6c2d6e86cfe7a2e8aa6b6fa0ffe397ff3eddf5f9cfd0ee3dfb144bb21385d3d1279fc431aeac6e0bc7b303d7e5ca6baea38b2fbb9c3efba94fe05abcf6b637227ef3d7073c520d9fb3bcb28d7effb77f9d3efe91dfa7eb6eb805c777c1451785cfbb81f6ecdb1ffe1c08e7783baeebce50785d1ece7f345e3a0783b488d7c9145b62639cb63d0fdd850b75b934332a03e10dd9a63e0b8b3f5cb4f58d0d003f6fba7e3ffdde1f3e441fffd463b47bd72a7dfaf38fd32d37eea3c78f9ca24fffab47e8996737e87537ed0eff5ea38b0e6f0b8994153c29ecf8f3b040db1074e7d0efb8fcb21df4b5874ec1cd7675db3024849c7efd77efa37fefed57d2858776d091a7d66967285a1e7dfc78a846d7e8f48917b1bb672d8ead5d65282a3adab95cd1c38f9ca07ff5f147e8d8c975bae3aa9d74e7dd67e9d4a9091d3ebca45e482dda931beb6bb4bcbbc46ed24612f8c336ebfc33193bc9727150e318f9efa0090e42f2da3da07ff191a7e9e77fe6f5a1f8d9a0278e1660203186e4c0be6d024e55b5d5234f9d0c8b75078dd76bfa8bfb9fa337dc7a1176fb181d34adecce3b699c9abb68095be5161d9f76be4165082a67d759df62355c8b6de1bfa1b05bdb003be7f469f93e2fdd3367b6e8c0feede8fa1c79fa0c6d5fed4251b7425ffcf2b1706d5fa0effe8e0bc05e628ab1cc2c3b8c0084272f32f262a62bd810711c36a64ea6aebdbc9b13da25175ea8f6bb064554abceb2705c1eb6317947df9a4e14779931821d2fe5daa948fe209e1dc0017536336d15e96a88a646eec4bb0468668131e9a2980e4962a458a120ef3f0feb70800e09e6f97a1dc435550dd2988a1b8a54633bf0b1b3f0958d50acd33518544ef387ce7134f649973fabcbf9f8782c5a01d48cafcfa533212c24e922211c317ed7a9a57a3550ebc4c858c6b180c2b1ad9d3d4bcb23a1319f0d7f67561dffdd274e68b570a1a7ceb5bcf6a65b1371b7e5e77d3c8ade57720c050a181e9dacadade1f339a9b1701cff7be7ce9dd171d8cedb3b218b6e4b05bab4b9e5f2b5e3fb64069446931595d11cdd0d3fea01a57d3ac3f5192f8da04fca5d17d679c9b244873550a8dd27fe6cfe5dbe0e10c62b86d2ede342b0155b06db85fa4e8725796feee977b5de80d3b024560cd9677ba9fc485556acc66054c59d3183aff97c5af584aadcfb19107da8be4038ae81683ab530b8ccc96faf3d8b0b3a524d0209dbf3601d1e39de3ec3ca4697d64569d5fd984fa10d6bb76e67110c8fe7473755b9c398ecdb7f00eff58ffefefb423110f2c0ed6fa49ffc2f7e16188c5ffdbffe31deef7521b9f3ebb637bd85bef0b9cfd0ed6fba03fffea9fff267e983bffd1b28686e7bc39b69fb8e1db473d76e2471ff6250297fce5f35da30fc9cc7857141f843eff93bf454786f2e8cb8436500daeb6ebc19ba27bc69613c92adbdeb6ebe85fee2eebb8011b9e4f2abe85d3ff4a3f4c4e38fd2f6506c6d6d6ce25ebfe73ffc8fe9f4a99358e7bbf7eca1175f781edd117ebeffebfffe1f48a118cee13deffdbbf0dde242edaa50d8703e3ae798ad2831fc7346dae53c5714f0bc284ca008c85cfcac809117e5d24ee51d37c61bed00c169736346175c7880def9b6cbe8ae2f3d45479f3e456fff8ec374cbf57b69583621213e4b175db84c975fb21282c08046554b17ec1f501512ce35978de9b3773d4fcfbeb049b7debc3f1426fb42809bd15fdcf70cbdfee60374c5a5dbe88e371ea0bbee799cb62d0fe9f6d75e40575c3ca63ffdc233f4cdc7d7e94db76ca7ad69463b762da3b3f1fa9bf6d11347ce8604be85f1d11b5fb79f2ebd781505d27a2886b863b0c1dd89a2c6cd2d0b1126aab5cdabca17d484c0ccc988a9bd02fa9bd181833b3133e42ec5ea7248d02198fed03b2fa7e5a550f5eed84e2f9e9cd0bd5f793a146017d2a0686813a3227107deb563408f1cdd089fdfd1f77ce7a5e1fa6d2ab3a800f327cb441b4328b6e1219fce316ec98a4d60201ab49c4b7ac3eb0ed1ceed251d3fb14607f754e19aac0258bcbabc031820c6f55c77f55edab1ada2edcb233a76aa0985524e5fb9ef18dd70eda1f0673fc4c1b8b5cd4272b34e820da9979048a9d7d80189a70bb7c24b58c8c8ceb9139f1e06ae2ad6c30c1e8143c944e80cbbf7325793b609b0442b6cfe36add5ce3dec0c983cc58ca9e54aa97cdc126ed031b2e0cdefc36bcf981a7c77b25ce6ef3004ecd4b935e78e5201375b9ef173a78377738cb7e104efc19636cbe76033d5118848d48760cb54db9c3fa3860c3bf846dd443f7fd67313f63bdec120899df1df8db26b3b664eda7da030044cd099e1483353d06a5327d138fe4c1eaf70d2cff8738b2c6a8924dc8da340ab3126038c39c1f038501c483b11bfcbb31e38d076677cbddba6548d2042c12a20c189ba2317b86f620a59c416329fc3caca8aec5643c2b12e1adf6f71e096fb6774d7b24c7e4aa6c3611d2889bfa287c1fe3ab5027501beccf25ea28c3456d52fc9d5222057856a1915ca888dafbb54fc8d369fb9eb33938233ac91e9d60c828c1cf44b112842a166c9da40a41eb06add1bf3abb111881563f1fea2403755dd2c76a0d1edd1b67da66ca5a6cbd26eb82c225033cfb29e1a6b96cdb4c998417f24efe47d18fbc31ddbaa55156ddd587a0c12d888246ababc2618505f6b6195c4e492fd88eccc4945ee0651fd5b705ee2ffc3f83d191de5a2e4dde666821b5f6f7ddb3be8f6377f07ba1c56c47307e2bffd1f7e991efafa8374d125974630eb3bdffdc3f48e77be2bd2e5bfeb7bbe8f6e7cedeb91e42fbff235f8dafff4bffd13b957ee75d32dafa37ffcabbf710e9879511bc45382e5d991cef1e18b2f11076b28e7e6ca226cc1b601cb309aa876d8441cbee852fafe1f7e0f5d7ce9e5a1f83f4d7bf7eec773c4637a80e7c3f1ed3f7028da59ecdb7f1023231e079b7a3517213b76ef4641097b1205f0dbfa699c1bb90090ad40c97a5dc5f3ae30418bba31f33b014c81fecbc9633ec583815415aecdc9539ba100d81e8a8f25a1d886ddd08b2faed38dd7eda6ebaedd09fd92b5b5095d7dc5365067776ccfa144bab9768cbeefbb0fd378654f2878667436ecfcbfe30d07c29f4378084e9edca41baede49d75db51b05017ba26c4dc2cfbc693f8d872b74e2f8f3b47fbc0cc1b03adcf49baed94e0f3f720cf89377befd227aeec5355a0f45cadbefb810c5c5d9f5752a5940aa9941cccddb46f3aeb0d25d51993560cbf083c6b77e1a12f5ae3d43dabb8b8586c47995f3f477bff5023a757a33144753bae3f683f4965bf723c14a706ee88927d750955f78f8105d77fd3e5984f5944e9d3a23f361ee00280b883b0ebcf86496cdedf65a04c33448b150ddcd37eca579d8291e7bf1341d3e340edf5b12e06e2600cfb3eb358ab95c34d0e8e28b56a809c77ae9e10b6965fb7e9a4ca5659f912558d9150fc62584c3ccec2b2b47d849ce9b49489821d132a5bb9d8bd43d3437640c2114529db767799c3ef2fb721032034011cbaa11d03888415b83046c29de30c350ec2c87ef4f7a3b4a71e7ad239b853139362b6eb18b15c560bea65d370ac72ac905d60079d513f1f2ad79cfb068817fc9747d6ba2e1436b78573e41f13a18b3664dd5db81265643f293923147a253daaed47c4884e122026b7c1fad2f238c9316a267c98ebe03e098c1c2dca1013ba5a96322f1cc25d342e1265bc1f7813b2c8d48dbc3fd8605fec6a3f0fc8812b2fd1ed67a51aa3c401529b26c38cca3da613586b81a174828600b71b2660b022bbcbcbf0b8a3de031e63a8a28608828c062f345ea3441659142ce3f07675baed7ac4b84e7631e1953d6e131675d1b7ff1efd9fb9b1e0ac72b6f9629e3885cba1158ab05ba127cc1d8278ad721c6792a2a19f27fec22f8f1dc223db875a079bb2792040bb94eeafa6cb80b1b01f2b3c5580d066ab3f48631a3d8689274839439f0ae8d9122e68fc43a80ebad79b81e5099e6ce207733f07c8a3d053f736c5360c795215684732b4cc9b90160d5d6afe0a548bb72c368c898658d4add13f00d8cf31884185195ebf88ccd70ae0c2e36dabb1f30f0bd80a2ac5395b5178f52165f5694d86bf79ebdf8e3bb23e7e01db863d9936f3ff7c5c7c0bf7be2f871dab173674f3766aaba438b0c2d7223503b275e573b4341b1ffe02174baadeb2445431ed9710d2520aee9ab44bc98fe7dee5ce5bb5e57b10d39f514eddfb7afd705ea5406810c7ad29d87a31c88be28452dceccb972e616228346074bd8cd945cc5379b74762d7c3f6f50a964004f31e5b5437b0f01605ec36f860b08be21e3e510ecc38e77b2b11916f7297887704761639dbb194a3b1c4847861f98c9d69496a1643aa5c9e6164d9742a20885c36c2b3c1c33e975bdf0e29c6ebb692fd4459f7d7e03a2673ca5deda9c418575797548d3cd35ec0233a6a764623297a4a2a5653bdd0ae18a93602e66824cc39d6d9d85c01a2bafe6fa309c3d1b76d3dc820e0ff0746b8ece003f579cf8595fe4f08155baf8d045d07b593bc3e75841e8ac5299730e408372108e69228188045780f1c164138eb54d277e3b45b7198aa0161b67c6bcd4e80e480762ce918f1345f81e8fc15807652b1461c39108d971f1b1112afbba93319c1512834ac62b229f9f92073f48a05322582729774e62f3b6d324daf55425057cd929087446e550f451ca5ce9bdbc43ae96708d00a2d47675ad0ab310f6caf21e003159cc571117609a2848a8ba9b958435031ba46bb45dabbb1e4b60564c98cfce960a2ee5bab69190952d048a295fcc99806d6b1d0d5862111a67d76bd1fb118b79c3984aab7d6612e76aa2533514664392d908eb4540e649b61d6b51f52f5886dc0a23fb1caff562a68c6658c7cfcefac63a82254bf84309b6aca2d8988d1c2c79478a29ce718e6e52d74e68946967a294a2d4488ade7fc5c08d095069c6800d79233bdf7990e32c7be266dca933ea2d5ca3558dd48fc3cc0b278d87da888bb1e7d88f7d0ca36346875d5c332a06d84921c4d75900b725d656b26728e2317ac554bb0646bd36ed96b46ee728d2592995bb9359965aefd042294428ce7b0679c074db26333c31419d3bed1771f065772874db8a162341721470e99808859915a0c58f49bac45827855c63d68b4a4ee1ad73334f547d39bfa99ebfc4845a374d02c2cd9df74c46dfae5e392cf17ef4c811805233dffafc767b856bb97b1703630ff5d0bbb27992ab2ba3e7f6fc2b4c10c4d58f4316ec9c76ecda4f8fde7f3f6d5b6e69fbcaae906886b47ef278a8fc57a865a9666ea30204576156076c00e87c21f9b02928034e2b76496d901459ce7d121276395e95f93ec91860300c8966c2d80a4e401d765d83612efe2f0382f4f990bd57c26fcc37d6a81a6f5381a18c76ed1aa1b0595bdb04cd8e31146c5c97414e3e1c23c7e67043d743a2ded82ce8f28b0ea0f2e5878d39e73cabbcffc803b46d748cf6ec5f418b7bedc48be1b3c621d9861de88c772843603bd09e9bd6d881f02ea5e0dd44258e9ccdaca683fb4650bc3df9fc1198c4819ed8080572ccd708bf3fa5a34f1da7d1b64b70dd86bb7785f75fa6279f3c4a375ebf4ccb4bdb6893f51198e6bcb41276481be11a0eb01392201702622ec87cde18e550c90d41b76c20d2c6c7bf7e6a0b3bd0e17829d4945ba05f8ec7258064c74eacd1ad571f4601197d6710881423d00358a662c176db06b643c0360d8a52981e4d27866b180b12ead33e3385d742310ef7baed6985540a803540ac998d011263b805c603a8b645a66381245a95ba0a9c70fceed7031105f8d846402daf211c6bd5615c05534056d5e4c4ab4923e11c0ad0ae45dccb9be01500aa9a8bb031883ca8d2f6609dbac4f28583ef52d377fe357977bf63f6804eef0e6c1e30d6bdc03982bd9145a02a7fbf2acaf8f93ec147c5dc4e362596286b68d3cc4151b49191efb87835d1dab59f932e4ae3300fe9672dd10aaea1d302a3d051d8b4273e66f7d0e33ec40159ddad731961e451de404660062c35a14068ed6891923c8628b6ee5160e975b46be48b29dff9f26ebc1405031b2d8cac68946ea8acbdb607b4e78f954e9416897c4ea6d85b8afc3cb0266d130b2e3befe877d3caa665360fb12e1bf48a4db0cd2028e9af55f87beec0e794d4797d47d18a49338e345137ee341bf836cb54fb089dbd3c16ac5dfbed6be0c7f7e8f22baec0e8d114a4bfed6a12ed5e8e5ea2c3648ed368c165e52b7aad5f39f06b5ef4762b0c183b78f000ad9dbc89be79e47e5a3efe380040f5ec2c8d574200e220584f31ca6030175f347ee8e02551098d6c303c051c012bab76f946f8fdb0a36353b9e5467f7e06f54e0efa7828c243b5b9b5810286ef41c5f6f69928be52be4e5b1ba745767da9068386dbcdfc33d87cf32e68260ca2121a19fcf9e350a74ca033b03119d1c557de4c175e7cb17c4629bbeeed3bb6d1c557dc42471ff9121d3f73249c5f1d8a8153e11c19d855a13bc49d14765a6e54e4881d2bb3bc50b6c3084683cd6c839e7e761292ee56f8fb191aad36e81274ad5c2366337120e2917728f9e89ad75c0b67584e884c2ffbca3d5bf4d5079e8414ff74f324ce2bab58cf44da8e22e6d3a0ddcff70649a390f63903e2ba663d1406a701329c6e9e0845cdb670534f84039ba033c13bf5d3676774f96b6e0d3b89c328b24c1f4400aeb56210c4438893c5e6c696b4db21704200ba194b034aa9b9804579d91a738383313f683cba9837320e92845863decf819bef2f2b0853d6f64c04bd8c7a5164b15841d2c3dae4d6ee201ca37431544d3fee446db7eb25e345a84dffcd41be1633acd23c676a2956c6c3119489b9d8127a29d39b0dfc283b751947d4ca5eaa44e9d639ac72409f44d1b4cae99b94385f1e6be15cf878b9f3d50825d30a064be27e276d1b859e10a28efb3c7b8e9f5fbe8f33952f1fa2d8331c51ab1a35f982201d890bf54c7024a24fa39fd7a8643f177df37ef7c35f674bf8de004fe8a759ec002477ea1acfa66051a62269ae004b2b30ac8b679a34b23e44261d345974670493d33475345d8c1d958c62b724b6dc9da3311f660e1b09f57052268a74464abd5e4d4f2dd6bfbf758dfcc84540b82d68b6c2141c44934229be06429a06ae488b2475051740720d5f2e720694368ef11a2d5c1cc8fa1820d6ce699e28e24d130d2bedf730fa9a285e2597636feba6c71e4a8edfd6f94bc53e3fc7050c4c65d455a8d714cf3ed1fd648074ded12b2bfdf5d7bf969797e9dfb557a623428ec599da6f94afa057ce2b5698e04176f35441ad4fe935d7df44bbf61ea463c79fa7a53d052d8d965140d408d0bce8c7ca3069d0c6dca1543a0e226000e4caf429d4f2bb13e06454356cda281b5d30657257a208da43cb805066128c43d2cf7aac8f3cee46f8215f2ee56133a337f353e1c473e9be03b47fff3eda609d90469227cfe7e79309e869abab3be8e4c913a2df8000de45668999887100e324b3b2af40c7c1a87b9d3224b8ddbf841148aea3b1264a905b378aad0e2fbce842fc0c53dedaa2a11da138bafd8e77d0b3cf3c03ca70326e3387d916bb588c0fca216d5344fd5c4dd74c8dd1343fd0be655a65275a1952747774c9d5fbe8e0058780a5f03b6d2ee6a07bc1ef1b024d9115c09a7440ac0ade8107dcbca3c3988493cf304792e66360fa34bbf4e66a4497abd057d9036ccec02ec02e9fd568991a1b8a3028c3f2dcbc1420aee4b90ec5a47445bad80d800e0d172c8d8cabd8bd980bb55a93a6ed02ad052f094492afe4ac5cb52042f1a680d2bcab41e2458bbcca69b2c1956381809c47e552521d0702789a475340dee4525c54ea683b41e125c66766ee26b4e0b01634e9d7aaa1415dd663255987e0a566df76afac4b84714a2662809c28189468232c244156953521ba8e220558c0ad89f28a75c66ac876edf9d92c4c11b715f90c5ef33cd2d5f198d75db0e7d49be3c94ebf8b8979d159579ecb709d672d0d9dfbb067f218e60dcc2f660eb198188f084113e67528630bd3981163b91ab8285f8878d5602bc6d01dc4a688d49c3253865048c0dd1c714a0a9e2276e06c5cb248ff359b00735437ea2f777c397e5841236056ee2c8e48904d8acbc08832c75a6a15a03c54cab8c79bd878a5531c4b962d251d265547ee620c2ee2f182eadeca66b1188a3a735350cf505024013a1d45767a5e036c5c4404b2432cc073d0b54a0bef609e992983a7a38e5e7dbdfc9d14d2782a856cfe8aea98bc82caafdd3902409859ce26b42f24f48b2eb910818217a92cce10703b16ec5ad2dd8b0027c561b6c6c3399bc9b88517f2980de81a51a06c7547c94194298766df6d12f1cc86319c40a7ad6130084280e5962d10e7da3e85478a6a3498953c3fc0e961c994aed8d2fadad9d896b58717c1353c84db776ea303870e28b8338751a105090333e52a74141529614bbda59a2015adad6fa8d68720ae197b22c8ef0c1d17e054ce9c9579311b006a40e7e0c734d66bafbb062334013f5602ea0cc97b0e3d962d35539342d0d0da9624047436d2e42cf800cccf431128a68b1288e64e382c25b9bc87fce67113778418cf0f00742720aca2ec24213675ec2488b857d8c1cde731a0cf9dbe84d07493ee0766a72cc11faecba81cf4c60405db1a93396996d861a7243ac75c1d0c0f14d1d245a99c33711201cb754454290871a08aa4093439d0606f6ac7e60f82b67a9e10f3b236879199c0a3ba46033abf07352a7655244556797e24498c86e2ec4cca0491b1bcae6bc55e58ebde774abc8e86778f8d23a2a81bd39edb61e9fadd96340612dc818d5a4ce04f92ad82fde053c4a3d4526c0cf8a7ebba27f96f09d43b07a7b140d71ba1191623b2ffe692fc33550116764adb1b3159b7242aec32ee850b5a74e55a5840a0c3dad6dae236c971f1ebb2ebe4f547bc2d8115c2b8ce8d012afbdda96802b8102fcc3bc7145c5b60b0e68e72dc02f0cbc9ddc67a86cb316694019e8127d26b8ba23e6b9d174eddfbbbe9efcc95a5c545071feafac666c4d21845d61735fe9a7abf2213d2cc20842831433e2f9d3b0a43b716a32584025e01e0cdb357cb926f19f4441876a4fa4a69e4783e815fd5cede66c15e529977f19b4cf9e4a7b8d984557b35e0877e8a9d348b2c41602c37df0996e70d89faec0612360190badef343e15dfba4285098784f0a090a366795c46816e3607ad4f39e9ba319866de80e58768ed39eb223ef140db067ad4a6f456e8195472b72fe258a202e640c7ce725a4d182d55935ff3c7b3c80ae389dd164ab8812cfd39090f8416666c699d3a7f5d866e7ec88bbae73066e739c675d953aa39f28a0ad0ec98251fd6d143732a12613f66a5478cc92f254a99542b54d41cfe6e5730d36fc3ff34662801d03e4a899c39d98dfb36ea5339485c280b1325b13534d5586088318210c579c930ca32c772746907ce02c0ac6855405ab802206611f48bd599ce14ea2b15d67a2543940c409c05744ec474fd3a1f54a9f6d5cdf5ba07137342ca56834ed90b6f352f075c467643aca129030f59287253e2fd005ba603990fb63bb79cad5dfa6890276ded3c78f496cbce13b147cefa6aa10cb051ab3ab6cf73e8feeb46d34df33f1ac645a97475d163c6bd03561a1bf4cd7c610d7767de3ac6c0832344f4271d2a80d7b52fdb5e3f2f459f97be9dc6cc9b15d44c74644d2949dd626ed112b96a3a686167158a74c5b1f16783e4c47663295d1ea643e152f2c5ef3210e2586c9ac37da5b047cfaaffb0239ae6bd7c5f1605f6f36296273430812a6ae11f58a488f15f2ba27127f1a1d5d96b1f031497b7f7d117fe431d4f536c3f8276140449597374a4375f8b6f5e48fc1628d3c0f79884da64e9b9e0f899149bb87cb3df199cac1d2e964be8b514e5d781cd3abaf970d5ac1f7af6e22f55e8803cdf9579810c60d83736cc0512993ec6ef035797ae3088359250282cb9cd07f8731844816673d3d097e7faef68d7d6005893d5cfee1311b768a0a78794fcd73d18fc27e37d106dbb81bb420c2025e1e98e8edca05652fc757d44951d1cb2c27468408a62561a75a191f594c722255ddc59dbc059ad40ece5c00b79d49eb766b22138f718d060ed242a26bbb9ed4b537a1e397ed0aa1b5311ca3dd6fc1d8926827c003053fca8e0d824e1c6843d2ee22b85404ce787e3e0841bf8809441220b5a4e0bc56e9d0fda242dafa0d5aeda21cd322a8f23594ae54de73c05d6447d8ee0ea26779a79d944a007f6e0768ebc3fb9d70910837d4ae8beb1afa1653f96cee44b5287a0940eed9c43a5315d69e8d26041829c5445d1ba348e9ba0a9d9fa992aa8d00e4fe1512501434db6435d608184f9976441c66048c20657bf8e7c12b90dab5eaf43ac90867d833161400ee5cf55e929f8fd7e930cd0dc15d88b2286c05986505a073adeca94547dd453d8f79149c13b60f4516843d5fb6ee705d49946b219c3728fa45ae531086381bba044d329dd42489f1886a956419451ab2d04fc59fa9766b89ef3533b3ac33150b12a248398faca52c314da40099c58e8aef1cf96b62ebcc0a30514f9ec58d4ddc9029985c624ba66b4d9c68b37c1e01c55e42defe2d31c7b3c5a43013da6e810ed750bd59ac68b66e9cb769f0ddd1a4ec4bd8fc24b7f1525980a2f5d229481aeb4155ab33a6b4876bfee28b2fc2336d5ecf5fad285e8e3c1c9ee553274fc55c153b60d9f93acad187d8cb3d03c4c70b1a494166fb0030560c1e0dbb95c9a682ae0a1dbb280382952cc9dc89bbe8d9d1410a7ca62ebf21c0995c7899bc03701caa6b0141b4da04932451db4ed3771d165d55d3a8a1d41daf2517192fd57516dfa728ca38761a0c463da684b774f7d2d7050244113d3f3218d829a6a2996b51502858b2530971a39cdab954b1b52b058c55c4b98e0ed20ed2b0245c185860b4c067a664d601b2dfb311190769bbe6a6b0899d9ff30069a07721d79fa5fca7b58c2846a315ccae6b161cabb5ad58957dd75c35ce6bd4e3c476f5bdd143dd0a688f83e740941ca7b3cd10480574c8405bcfa6f1f2eebe2d9d289782416830a72f6221c6f74f8271a6fa2a141935b233958242f04e5d1c2ff135da621a37f77d78dd917689b222b6b75b55426d6a11a4e302ce8e918b0d0171b7e8d85957a6d5029919bc25eb8a642d9855d0eb3033424d46b87f6a11e08b662b88ad2312e5c863b15fe22438a0f17af33fcfdfeb3bfbe6ca56e91424ae267b14d67d2b424ffc3c30a07a32135d9a22cb7b9d304ff196ffe6c029a1c061dd2d2e34c024c8a4e8e3f7a8ca583ce3f8b3320a59798f192f6c26d755c1d685389ef3e5b69823e27d495b87bb47b2ab6753498935f6f9a5ae7714bf6eb4611b0a79c604a83a87701b69ccc9c0bcf30c9b6e615c62c9dfa43af958c53ba8d60e84607cf836a7e251d475f91c3012ecb25ef7addf4156302ae3909439278067315a444c694d79b7886b200a15ba782e60e92c025d257e153da652d3288d3b2f148f3704fd1fa27678c66503c671bd0ef174fb8eedb46bf7ae575467e36fd28bef318b194abe2cd099a261d153d83d6f0a93ccb531adcdc7745629045ab163577d890478ab10c82b24cb0200c75c1527a710f6223c8cb9d2cb9ab6d4c59fc5645ca89e8cd1f632dd41e2bd99f5910927df50e77c4c5e31af23f1f4a8cb8c9696866e9e2e802eb188cfb5c55d47564506ba6115d55757579615dc95c7f6322b8916917d23c04d9b5173715114a4c9c81c7035d0b37a228f5d660d28cf70431d548a55196ab124826132ae9180c6f80f39a63659a1371a38b216c16e891934ad5114c50f633c928284e5ba2d81b66de5dac644cb4b23b4e2851eda448f1ab13417b09bb0738c0e3c12e05b267a362cb226a0c31c805c04780ee02c783617ad15be571ce8a46bd02f1cb18b640603d44a87c246a94a4df46c97be1c29b771c7a8c03e4895a37394892e0e7708c2fb675c88288b84d951d6ddd9be7d15c96caa6ec2d5a08ae7c46fcf80c3e16055ee7d78cfc198e9dcac643b06ab6a00f9fc2a760578dc53562294c6068b9d261f740bb9e8618f99f91454f54a15450d908d73e7714ad885ae2e87f7003d54e89dad6a9f64ea3f63e72dbb7d49e2e3d100ef5714b91b5319b07384e3ede04c3d5055d75cdbfd52ac3023c1462cd6e9e28383b58076083bd5441960775f02f8db84f7c94bd1b360c6123a74ba53c6b5d4b10e582dcea7673ecf216608d69d16febc5e5b7457c778d658bf44127e816703895677ea7e476fc51a8f1b4c7788b20104df2af82d0920da945f31e202705ac77a6da7a0f5166b87f13e12bb9265024b0aa431a2c437de6098f19be8d2940063339bc7b06ba2325b84eb3b4aa05f1d13b38d47db5ac16231c7bc7006c0680164bcba1acdf158808dddad979646dabdcc117370af0b19d19485744c73064137d25565969ab168784db2d81d2733285d8325b6291dbab2d0ebb91c8d35a5833b77d7375376a6e8e040e157bdb1ecdc60a351880796690231881fd8b9a67eb5aa78195ea21ebda9eca9122abb66f679fe8d72b244fac2ee7b50d0b163a7e0e89b3c740ad75a12305aa5d45cee207090b49110027296c7c0900cb7129680f47b8db22e04f9ddc587c87631086630c223f11a51055504da2e81ddcc62dadab296e0390870f0878bb0cad18b02a6b8ac7250abca94884ce5d40bdc48227080a44e983245eee88a02b44720b0c028bb3a4906d06b300649f8791635ab553fa48b9d81565be1721ca4bbdd793d53dcc009e9e294a5eb4814bd42cd3c4012bdb18cadf2442d14d1b54669b826418ee35336d3bcaee3fc7f04b023696745418eca0ce17f0e8c7153d7d4630f2a889a45f06ac5980890b6d07306c747769a5acca00ba100df5c7d3924614b326fcce44da801111322ed715140e5dfe76b0640642e81150c0e927b67d8271616636a36bf377056fcd9591ec199dc85e0c24476f1759cbdab02522c5ab948930e45d113c6e2826373730b67b8bc741aa3a7468db94c4705edf9b28ae7e1dbf7aa8b1ac71cb9829eb12615648d115729f45fb067f204661e8fcea003d61a0bab13254f719b9e4691b01ac0df42d66f2eddbd28f9ae0684766c1113a4c7d7ea714167c649b0a7990ea9f987245c0143177accd255898264599f96906b57061b9ba656b0af146bc0974c04df05a5dcda18750adaed5a0575665103cc343d626751136e51260a305c8e193fc6c0f53c8b451f8a022da484d124cf85756c2d96c17f4b47868229137a3844d08c925f5609dc0bcf29725a1b5912c82361dfb48ab1aa21ea38d04248c773a423647414a156279a17c0a14d7a12685c1cf231156e0cbe1873f8faeddab94a2baba1282b464adbee74a3c88aba35583ed86456e2440f0c4a91bf5a55bc2cf892323eab584fa5100e5ec97ed42b8a31b1a241ece1337afae9176965db41dab36787741c3aa1390eb4859dc519b2e029687bd66f356bb2aeb57d996cb705a0c7050c2a7fa5c2ca4e43463dd41990308b6ea29875abb99a07d5799063b6a07469144afbecba6e62d2f0225c7dbd0035496b4532991ff8e96c8edd15076b3039dace25912cb23ec000e91ac81e4be7641477734b2b456cf7fbe386db6997cea1a84cd952a4ce9180156c69c66719e97c5fb534cc7a7da6d77f504aa1d046397001c789f95e21488fa859400edcd99da39d218989225d9a0336ba29a55ab077a9352c3a16e2e0c1232dea52cb5c7279095606b01a9a44e17eca204f8c8e8671a76bbb07f3ed410bda0a200760ec1858ca49c8a8d18d50796dc60e05512e301af1e1c9220bada515dd6d02f03720ed2a75ca6cf23a1cbc23ed143b3097f1419ec5e297df17453489689c1443e290bc7da7cadbab857989403317d0715645114d742d3b1981884e4d0e6f97c20aa1581453c45fa1e3c4c0f4a6eda9947a7d9195a8233247f2ab30ae2ca4db50a943347b21d5ebf21e3486660d77f9b8c805fe45714dfcbea64c6a05bb25481479566039934aebd2756ddf340e0665da018a0ec702e98ccfa274db2aac4188dfb93125af8d553da62282679b387af3b830c3a699236fdd48fcc2388e0bb079dd63f2f8510dbc96f4eba2f5d2c64d96774d16bc8f6882c0fc5447290626352c484b3636cfa30964c2ff88fb76478259e298e355604d382ea9eb2a9dbb9e01540cd3d1e15204e7ae6caba2643e45155f8a2698a492f4a56284a4606d42ec7f9c6ebaf1200a36c3f5908339889865f88cf0f3dbb6b11befeaab15c5cbf85a5e5ec1f3b4cc3213582b83683e7b5e1526a505df5c59031c80c623bae4920b4261b2533d205a6d2357112c8a8e489312bb5039cdbc8b92e8910afb982998e852688b3904c7cdcd35e00384b1338dc1d7833bad38b21da400d512f620b274b43dda2988d48b6c4550ac51ec742790921d455c4a8664534566c400e65949bdd18b2d79c02de8c0aaaf20a3a91cb6dfababdb62eb368222951961744e24f65224c6b7c24e9b8f933b4f8cf1695d723080a6d1f88a818cb8ccad961333025546b13b94ab885e5ea4c22a81865bdda1e6d107c75ab7b906606179949132c9d2aefca3508dd5dfcb7997c723334e229469015368a199112c52b224cc25232ea5fae69906e52eb6aa991e8eeb992bb857477e76dce8ce410b6593c63c97e5d5e192f97cc132ddd82ab55382cc94029d51165ba6c0bd6cca9800238f5ce4be050fa2ddc32243911631124dab344eaf40eac7594273c6588e14089d57110b40b2778d0996354fcaf0f7a5d158710f8271e1eb65cf9b58dd3752906a8164e0698f1733997cc682b01fce7030c6352b4bd1dc015ea0db08052d9feb32cd19a79075b193d1a91e0f80ccd469a72f531c5817e5f7cd43c88fe4bcfbaf61524c8e2053eb01ccd13359fbd4b449900c5d92dc1905964ef19712a059bb995d9bb02f72cdf358f8005c3e17434f2ebcb85d0ec558c6057177c46d86ec1cfcfa49855fa7588f7681fd9745969d31df72956f3711b7d43da6184f13a896d4905241b2fc3e55897b66ec2a635c99f0a0ad2d2bce1a1d13999e13c71cd99c55a920218a8288a23943d0b201536d2223aacd332fc8464bb13c3076cdf278cfd0c16295606a7a3a35afbe5e9e17703e0e67c145ee7c5e9f7f85090232343d8cef2f016e2b2421b618b707af065b65deeb7c2c02d66a47ddf5943baf3a99fc6a3429e49d3e94d22a66dc48b29aef5ed246dcef6c3cf5b7671f9da587389ad6e9b11b329e77e9ded69c69d09db6fb2d69f0ef6f6d4da26681c98e5bb0b1ae401a9f0878940b1956efe311c2dafa69140902a84cc76c4c12db7571523775579c7f2bbb4872d440fe9edd175c4fd575b1e05b1816808faf6ca26baf056d9e911bd834695ce4f1f8bd5cbdedb64dcc098669dc912865b75ea9be82004d95f2cc588d52ecbaf95c80a98191a2606e8cf1c4e7cfdf47e29c3738f6d8390a3fc72abb660c98ece013ab8a1f56be5e6d17eee79933602031afd2544e13a36186d199dd6703d78a72e7b0b7664cb80bb4f34684e4c4f3266950f0088177995e2194939bad3f03afa6ee458b6e1176c810adcb71ff78efc9d887e8efc3c9b86b628265a0e67c3a976232b2d58ad809e47b215395aec766e2ff9acbb1e1866c47cf970534e34e28f8322829a2643ae38a6a35872b3421764d124233a609ffae098bd975b0b19b1f1df2318aff51de6386d8bfa3e017dfaba9ae75ed9649dce0c233f9ccb40ea46f4c20bb8fbe736a31c73a27d635e9261d0422adfbc8efc2f70e468b45def33a4ada37dd39606c4fe95d5c3f9e8567e0f9689aa8205b0f704e9ddeaa37eedec2b88f9fbd248fe029ccfd9823317ba35997f1622b310722842ab360eb21017635e6680c3236949d133f9be37105806ef21a228c243b7a65d548ffc6836015c7936183f5cae2775eb9215d97d43a93a26ad6a3985a22cf5d9bdc828c17b7f2544faf0fe01fd6585c581b3b175aa251fc4a0d26d681f08586ed8cfccb92103ff026de66c1cb273aff50cacfe431b0454f174d4c5e4720d10393999ba7a57a1a700c36b9ca91cfa5d0819578676666b98268bb1eeec3d3fbd07dca0504d7510a8c8bda0b0810a69da2026a7dd5cd84edf1344f39dece05c4ac9738fce7d8e84b5432b5dd4dd2c188eeb8ce0ccdf4401665c1e59ab6bda46dc5ddcc0547eb8825ca77dbbbd7a6e5d14249381d93015a7d62b1c2c68aa184d748de361ef82de7cfc5b27436983dc4f2fae2c6daf5b01ed8d5b74d04ad7af68a1f2d9adcb817b2f2c782f508e06c1aa9dad8c63439ccb04f8ac43c16ffe6b16309b5730277f65c782d172be01bc5eb98199cd8f858c72caded799de6dbc616b1a4eaf562fc18c4705746d3f731c0aba8c205785e4700a7c505bb2f524c24aab4dd4363dff99fef0bb475bd98d33714245dcf5abce0b992e7cd8a15afad133b8b6ebce329b93ee6783d9e04089ec7eb3454575cb32ef085cca2909e8cb0fdf398ae6d54eed50d917fe679c43a77314776dc65effac5f7a41473da4ecc0021fc58e4f2f7228f9d46c33d18753a8dc3bb97d8f19fdb453979f2648c614c317ea9d7b163c7706decc51b137bf1b19f3d7bf6257f8fcf857ff7af7ab199dfa953a7fe9d294be29855c77ec52b88e179c53e193b1da721406e96e839f09698bd2e82cd6ebd7e8515007ed61d8b0a4d3c120c85d2cac25ed3ad19dc62414bcd72a5b6e55120cd807af8ac520ccb5a55efb4e4e01f5a0b10b653f10937057087f570014c1682d13fe7313088cb6ca66394a627a92d0a8dd2aa6fda46b5572ab4ebc527a4a4c9748b3636d754b23c8f805260145446bd35dd8b460d9cf41e58f0934e416ae7737ce56e037bd1b07c37120b0075126ceab6ee29835a6b5b3025b69b4f8932b6bdd5ec2b29c536525ca93cb5ea860b28905bbe8a25b080c5ad5ea1f11631c149429cc7422e29d7e668ab5bc2f20eac4955947a426651b9977d6da602e85b5411b544ea018f8b23423befc576bc1497f865ea10e05b01f1d682ab01ee87471a9445f0b65fe7fe332d197267109fa5d4d2b649f7c564a8f99ac233ad936bc6de24f62c88dc7dd6eb00984cb824f02a76f47c711e31267add0580ad6d7d6594644601573c088f03456e9fa2999f1589dee9d86f4ebc7e8d154ef6fca522378be384a212276a146ccc3e708ed336eef109dad38aad7be515687da7ca27add4f1add5787200fcd3746baaf7b1414750a8d7792c86fa3147583990182bfa26865ea8d10a0fbfc9f0be42be70b19ff1ebdeb48f6cb4db349d1e531977ce1673b8b834dc1ac6ea002f0ff0b3768f788c3c9d6f45b64fdba6919ab1abd84307e0d7469eeb42e366a3aacd56940bc39222a5b85b70bce5c4ffc94f7e128c9ec5d76ffff66fd333cf3c43cf3df71c7df0831fa4e79f7f9e8e1e3d8aeff1cfbff0c20bf81a17188f3df618befeb9cf7d8e7eedd77e0dc772fffdf7d317bef0057c9f7fd6bf3ef6b18fd1cffeeccfc602e6a1871e8adfe3bf5b51c3c7f7c4134fa048e2d7b3cf3e1b8fe1f8f1e3f87c2e9af818f9c5ffb522ca8e979fad5ff9955fc1b97ccbfa044a6230528a51b5cfbb514ea6c87096a41ec23178ac9787161e9c22ceb1eda1b7566774a175b3d4c5c41293affb3dc10414d01ec83a0d5298a93591da6641c5de132c1d7edf42182d007f366d0c8032fb6e173c2e9a5e3232ed01afc9e0c743bef830b09b3da068c18fc6d1f02b2a944226bb53a68608a6b16ec75447624b4b638c05808c2f069146d875a9902b55e4a9511df4c6b5694db3241d6b0b6af6603006f010b368557ac52c5d9195993a95cb2eb14330e3e330d762dbfd5952b69db9077ff2397ba75ed28425494db12fdcb961e55e1ef1b851475589696296153a2f6fced1c5f07a2526806649d684cb7c616bc910b828f57a028b86e7e105f584fdc02c1a8de2f5f3c679bed3e5dd7d8d59c172fb0524eb27e13a8e92764827026b42a56de32edf8ed58f15ac800252a85587e228109625375d63b3f077206a38706cb8368e51fd7326aaa11e44993a065e1bc4cba2c3e86f283a41fc24b39ecc9431343c7a603a3f835879b3924b27a7761b0cdf0d5a54dbf5235ef3f6f19d0cdfb501a69baf5d4beaebc4d828e99a7a51c31473fa4279166ffc7af031c78f790da81acdf128171d2565be6559bf0b5c55a553641639033348541c763cbf64d658f5baac02dcee7775fcf9db88c78f87e47a36ce0f8cd752020d3355dfdc8cedda34ed0cd752f48a8491c431e7f49993783ef93e83a1063af020763bac008ae3262532f028b451cc9d301d0568cd6ec3b2e1caf5d9c8a38e930700fbb1977feddab50bc501170ab7df7e3b3df5d453f4894f7c82def18e77d097bffc65baf8e28be9e0c18328103efad18fe267b86372e4c811faf8c73f8e7bc705cca73ef5297af4d147e9bdef7d2f5d76d965f8792e126ebbed36fae637bf4977df7db78ea0c62866f86bef7ad7bb502c3efcf0c38801fc3b7c3cfcfe7c1d0f1c3880f7602572be67870f1fa6ebafbf1eefc523d1d7bce635f83e5f931d3b76d0e38f3f1e63c5b7ead52a889bed217cb7efbc2a4c50f12b902f8f0a93c23c2862bbbe41a21d8f0adabe7b2773400d392b3bfb4e77f85545264e045950e8fd5bcb4f50ded4aa34bb442752fb53fd1e44004c9691b30d007e64fe25d6d181ca9656ece572f8912d51a5f5e8657e1f3e9e5ca8770ccc8c9f99e9cfb573dbcedad5d0e053cafbe5f6bd0c73f9d4666a549b487f9e7761ed9420ec01df17710ce55fdbbe6b457eb710d550024814a833f93ad30a59b55206bc720e4a3326a3e7f2f9e3f7f47a71e20ef7e4ec0bc7705f6271e584e04419328badeb348e4a97d263643caec78f0304c038e8159948f8834a77ab12b4050c9a470c028222129582ff483a5d8b8ebabe53910cf8ba582cf8dd6e6f841081d68a41aa14bbc360ebaae8b5f52da1454977371f8fc543142d136d0ce893a8a6c4b411a54d7e7f01a09a936ea11e4a794f8fc4cbe94bc159020b84a56b9d1add995b877151ee5c925d1b355ebaae398735e2f11cfc352e003b473db66e82f949497745bb16ba76b9906480643d570f2afc7e1b45e0bc32b3c7d12c0a0fda38d5c6637ef4e3f1666d6ba3136177cce72a26c7e7e18a5f296c098c285f287b6c87ad19ef55e4d93f7e2df9b596c6280a468fe31b01f58a2e539e0cec74cc051d925cec01d88e82169c967de7d17028be68f24aac86a369a293b53c93696d763d1144e96e66bd62b369b3d85912ef2a29e2c070d3ee363061990ae8956504c27ba0b075432c1e8c19c8ad4d513e671b2d93e21e1ab78eecc50c9d0b2eb82062f0fc8b0b8fdffccddfa477bffbdd2840b873c1ffbdebaebbe8965b6ea19b6fbe997eebb77e8bdef8c637d225975c826285bffe4bbff44bf4fef7bf3f16163ff8833f8862c136c71ff9c8475068f0b170b173d14517a188e0fbb97dfbf6588070f7850b9bf7bdef7de8de70c1f2933ff993f4f4d34fd3effddeefd18ffee88fa213b373e74e3a73e60c7de0031fa0effddeef4521c39d1afe59fe1cee08fdd88ffd18edddbbf75b8daf88e05766e850db9d7f8549ad0a9ed6fe6dda442733d0242fdea5e525da5cdfa48fffd16769636b1265dc851aaca315bd9865e14ccdfc1cd2fd358d171a8762a7180c32caa28cb83719346c833d5c31f8340ef8a6066b86bfc816941b23904c59439ef08f120a3809ad81940d12594571f743fd367e9e804b8ad2513a70ab1a01f3b883e3b9af8970b52e88c704953bea3323e09b3ae208aca8e0d6eb777ed7ad74f0f0015a3bbb1e777ddc1e27379e41c0a93b1d4735caa028620031f9637281c9072d3bd74255562da08bce892ad8429b816252ccf3acb79bc57563ac45abb4efb2880277827368e2d8c7ef80ed7e1a60d54bb38b147e48f6dc31cb3265250c2256c0e39dbc0f4a5dd7bdf3b5e2c7272ceba2403f45357612bdbad073ed7a6cafa869e39483930f4c278ed07c9d6c471ffee7c1a196cc650c621d0ed14af178262f51ef135d1ad3a53569458914775c500df49ad791725a16435145d621937406b2e8feed0b3c8fe7f0f7c828eb1086039b2a61200c076352f16097a11028758c936b07ac7b09c3b97e12f5059fef7e5951e4d9408b459307305b67c7b0568ba35ec412059da3282ef49aaab68875d5a28f166591b565cf8c14d9791c47193e2981cefb5d66f3ad1165deb2e7a595ab122b7fdf9e057e8e33c57f748a65cab34c6d1bf2a8be9bba6b03d12fd26b744ecc896b24d7ce15ef7f8cd69cc9bae5e3acc2cfc5314e760ede8f81e63c36e1e3deb3670fbece099f8b80b7bce52df4e10f7f18dd0c2e4cf818aebaea2a3c073ca6e182c43aa6dc99e062867fceeee9bdf7de4b37dd74135d71c515f4e0830fe2bc7efaa77f1a9d943befbc935efffad7a3b03871e2048e81bb343c92e1e3b8fcf2cb5194f0d7b923c29fcdc506775ef8f3f8df5cc8f0d8e69a6baea1fbeebb8fdefad6b7a240324039175f8f3cf2088ee15b08f974b8aa390dabc1f9e92e6c0f78ee7c5064f73555ff0ba1962d8780f3abfffc77e9d7effe10ed3cbc1d32d6dd4b54ce7e57fed21da86ca14af1ffce7abf93e49efb00d8540074bd04d1fb94f8b38ebedc7bdffeccf7252b566bd264e71ee75f065c4abf6be793a5ef6942f23bebde392d04d397fa19b9691d9d78f10c3df0e437e8977ffee7e02e2cbbe50e74654e6c7cffb0b3c0ff5b148bbcdb93f9751e0b0191e4ef03858d4150a9e22fef22b97830b0ab38e82af593f53b98d5c009b09304cce253066c04dd53a9d98cb3a8db190dcb6d22e4d6cca2ef8715394992bce825582b20ace50e6d924e77d668558bce4ab6801bf1bbe645b69831266cf76a238fb21370260a64ece43b601184c9354052f0bb723f36b28462ed7a7424a16b12ce87cf95cf134ac7e47c64ca9e7793bc1fa9c4791acdf831a8ad6db9665dc403308ec7c63bbe7091311aa9589c087d09fd93715a85320172ac152e6e2540aa5d847311b6ae931f9b189bcb5b44c4e3d5fb58ab901fb9840b57eaacd2f1401b1d79d3b369f60a653c4fef0be475887ce7c9e3a53c0e45ae75119f5119f9d691bd57a8cece5c8b08148a7915cdf6508070e2d742c4d60e304ee6dda39a4f452bcf8614bfc3c824eb7474e5c7536ad1d7eb4afad19951fa8562dce8882b4367a72501b8b2f64eab9201d3d944d7a05297996198a5b1a307c346f0b86e506554db452f1f1b95dae6b151334d1b05fbd7b5d75e8be794bb133eae72f1c1d80c7ebdfded6fc7cff158847f76f7eeddb8efdccd60dc071f1f7f8d0b08ee62dc7aebad718d71e16245c1a14387e8c77ffcc75154bce73def41a784712077dc710764ddbff8c52f6224c4a31a2e4eeeb9e71e7ced477ee447d099e1cfe142898b0fbecf5cb8f0b5b8f4d24b71ecfc5937dc70038a1dfe7c3e26eeec70e1f3adee9644fc59f48ba3f3af30e156df10bbf1353c042cb55c6a7233001b92d0b4a1879e7a8cb28ba734d837c3c3f7eaeb952252b5b4ba3fa3471e7a82ce1e5fa7d1ae41dc3572f0f1dd85b90a7a959904e48aed0654f65f125af2d8f0cc808495e8ce019012a5f141f4fa50360724afeb2656fe180b868f9ed5326e190c73157d833e66f877f8f97917d79917bcb3ee8025158f31e85ce51bf52c5c2bdd3a2346afb5a2c6827e729d6e1640b0e494800594c9233763cc3046a8715e2f7e6cb258e8260d13e9c201ccd88a081c3a8b2a5a67f7ce0a1c2e482a20f3051f61dd32cf7291f3cea342ae74c4e68ad3eae278ca8a3ac36ac8ef15722c0d6b984cc23171321f491084947a07eb82ff8fbd3781b6ecacce03f739f7de77dffc5e8dafe652cda542a51934220981045880c1106ca2603bc4ceb2db59cbee4edc8e9deeb4edb8edac7848ec10e376f0c00c36661402818484d0802434a0a154924a25d53c0fafde7cef3de7f4ffede13ffbdc1289d35d5e15547aac87aaeabd7bef19fef3ef6feffdedefc323de9a9d638d195f09f0ed896e52b2554be24496a9ab2642ae35e3c838114642e645a0338058562f3ab1956ced0e2f1de0c768fd4497b58fbcf15e4974ef281954c691459b899477a5bc1e1dc32e54dba847cd0ec52ea11c5bb77b2be565d57ac1b981c45f4f635284766ba60ac425184d2317c5da6cdd6bb7745137ee4a4f7c66590d967dccea0c8c0454b794e0db8ccf201ebe162b424b4bb16e3a502e31f5c30cd6966c6b951832f7d62eb2878c051695a3e3bf6c7dc20ec17fe13cedde0290e0db7f19a70ce0c0b786d002b2fb86f706a0f0bc15ff853612beedcbffeee2c58bf9333ff4a10fd1a5975e1aff1d00e6877d5d79e595a79dc32b9ddb999fc9d13d37cb63e2713623ed59e49864716aa2542b2cb37def820b2f91f654c8cc67523a133ab92c731c36871393c768c1f0e2f000cdb181d8bcc1055101f495be901134d8a4ae8766e6a6697a6e92160e8fd1f8d409edf9cbc33cdc3fca8aa7d6566987f76f36fa887ee43195104aa1246ade2e317bd40719993d02c7e4643939846b3ad0d7cf5a16b9dad983c50f0762cfb2b7cdaaafaf19835bb442873ec5cc1cfbf3a00d74e2f8782c1b83fc5bafc9940ec66d7dc6ceed9fb68885019ce0be23fb6c04209cd48be8aedc2d60e7a7496c0c952b7c2aa3ef1d7725d0519c5cb2ecda487e1e885879d8d44c6ddac3025b59deeec4d6547c58b56a6195254f6ef49f81f74e55cf2566bfb8320a3662fbb0e2804c7162abc15c995a85d361ed270960a5e3b61c77711ab7a66a8c67cee1add8726371ae42da2b89f21172d7daa8eb88bb98eae52500d6eb67e76beeb9c6138aeb8854124029f526329867e5a8b00f8c7efcd573338c738267db808781413f31649fef791f767d05a4d55dbb4e800ada4aac6983961bfe5ed72a0ca6877432b05071463ff5d75459fa42a7d30a95fd4775a2dafacd625baf5ccf49bc7ea92af90a806957441b0d00db335e0e104845d3da48364d88f311ff2c11e7936b2eeb835574c3f3530a18762acf7c435b56cc736af62bd9564c514d7c8ec9e0a8209ee580f93fb45b8673bffefaeb7f340e3691811429b0e7ecf945e7a2570ea3617d58ca6c28abf038c4c3444b82b9c86b9f0960d2ce5bd4df3b4097ad3b9fb6ed7e9cc6e62da3a1fe11da7d78274dcd4e703685bf0378344216c98657d818eb4dce123bd90c8df4cfa735639be8c503db69e5a275b27187cc026d8b67763d1137d766a397cbc61093826b260223369ede0054e63ab3ac39c2c104ca98ad597e50f1676424d373530134cd72391eaf6db2d19d8aca65ea9392da68ac4e07d57be2cff139cd68367786ee5b46da02a9b173ad95d36b6a4ef6dc732fd3ee5dfbe99a6b2f65222a56f7891327e9ee3b1fa237df7835cd5fb698bef9d56fb301e2bc7923b460c1282d5dba309262c7c72768c78e5d210b59cc5348d8e8bef5cdfb68dbb61db4686c01cd4ecf86ace212daba75a34ebae6a2d619ce9f014ddb59a7879f9f3c3543bde1b3eab5f05ebdc321584fd2a38f3d1bb29945b4f9828dd4999171624c643dfdf44edab8710d2d0ac7383729e38770211e1cec8f193fc0d4ccd494fa1105200611b576164769bbf52bbcccb81f754fbac661bd5aa9052064aaadb026007c509687b2a68117cff7e87e4f2b9777f3427c1bc0b2e608c674d22749aa95a3eeca4477a5c6f824be5a664525b35a30c7ec9a1ab449b0cf98e46ba66d1d9eaa29f91a94946edc063c0c9019ef08df434343f19cbd760aeb122101c94a01446b010b7031e267f933db737c05a4ac784875c8b816fe9a7b1e4ef7752adb6c546955b6db5929694fa2c00b53cd5a545ccda23377c74d3b5578728c9892d8ee607f2e4c886514c9b9560db37579ba5e4aa1134d55d01755b25d15ca88b052cc2ba7085131415bd7da5a48cacc1ea0a3dc996a8b487948d028aa8bb270aed6085c5d69f444bfad441dca1944196fefb5a2f93f08ef353ef79529d2b344f5386b1f5c4b553c278d065df23c1731cbe4bfa95f0d7f77ceccf7a9a99334d2984ffff597bf4c576cbc9ece9bbf997ef9c77e8b5edab78336add84a6b966ca45393e3b436000f8cdc8ef48d0610b2917efbd63fa54bd65c4dbb0ebc4417aebc82fee53b7e97ee7bfc25fab14bde4f3ffba65fa6e162116d59fc7a14e269f3caad6c48b576f126fa9d9ffe7f685eff229a08ef9914351a1b5ec666578b8696f2e76d58f63aea6b0cd0d8e8325a367f1525794a935313b470708caedefc16dab2f212ea0d81f5c4a96374ecd4619a999da6e1de519a9d99a64327f6d3f8c409764085360bfe7ce4c4011ae8190e9fb99065b0b1899ca96b976b7938925c35c3ec0d81736a729abe75c7fdf4dd7b1f8d5c12f006b0093ffffccb5c6d81c3efcb2fefa343878e71403a78f028dd76db3df4d18f7e9eeebbef313a7972823efce14fd1534f3d4f03037d1c6076eedc436bd7aea09ff9859f0e80658cbe1a800d1c4fbf7e3b34073e4f070f1ce6d77dfe6fbf499ffcd4d7e8aebb1ea2cf7cee1b74fbeddfa5919141daf6cc4efaf8c76fa33beeb857f80a61f33e796282eefac6fdf4577ff577f4e52fdfadfdef0eeddd7b906efff25df4b18f7d99bef5ad076878e13c7afcf16de1f8fe8ebef0853b69fffe43341cdeb316c7d04b81be867308b6d274c5c450377c1f288c10699b75ac14d5526d759906483b66f25ee5d8b70dbc0ab165ee4636f644523f3162c0b6a3ad06031bddba2e253fa0a870548ce361bf2bc1308ba3ee6210d6501e5412f532906498b78bb401ea467910908160e6783f9e3ceea762ecda7905daa8d1a265ff9ada34184fa8ad15b4b2525412d623593d2f5ceb2d89446cafe9e3ab09beda90e7a5178fe7701909b654abd5ca5e91c504ace43b598fdf88d83d15e13f595f0da934291f47bca5ca0a9d1f9db6d79a7e91543333addcc87d91f34a2a2d552fa66632f645b479285455b6e126a78413655c30d368b2aaa09f6a3223485458f07e7d2111e964a64eab5a366a9c9aaba0a0975f78edeb0c5628d4b38bb822d738eb2abb678ffc9a94223afcc0179a9d8004099f8e42cce54c7d101b5971862a26bc0fe4091d3a7c88de79e9adf4d073dfa117f73e47375cf036fa5f6efeb72cd9fd27b7fd5ff4fa35d7d3cfbded5fd2c1c307e8e127efa76b0348787cdb2361b3cfe9d88923b462f16afaf86f7c98de7cd13be94b777f961facd1fe05f46f7fea4fe8fca597d2b67d8fd3ae433be8caf56fa2c57d2be8d117be47ffe89a9fa534afd1c3dbefa7de6298d60cbe8e968dada2a7b287e8276ff867f4e5ef7c865e3eb593a6dba7e81d97fd24f5e483940ea6b466d146fac1ce47e82d17be9bbef2f02769e9d07974e1aa37d0ca856be97bdbefa1f5cbb6d0f0c0283df2dcbdb46ad13ada7bf4655abbe47cbaeba92f89285772663028808905149307e7fb1782fa607f1fdd72cb75f4ed6f3fcc60a4bfbf87375f68a9ccccccd1a73ef51536687ce6991df49ef7bc8576ef3ec0b2fb00216fb9e96afade838f870cb89f366c584da3a3c3e25c1a36a381817e7af2c9e7a8f8e4dfd163df7f9adef18e1be8bb773f48cf3efb22ad0fbffb95af7c9b2ebe68133df1d40b74cd3517d357bf762fdd74f3d5f4dcf697e8825d07f8d856ac5c428f7cff495ab468944e1e9fa2634726e8f9e776d135d75e42df0fef8963387efc241d3e7c9c9e7efa797ad39bde408f3cf2348d2d5d1c7ebe8d2e0aefff777ff72deaefeba3f59b565336c17d0fe4ffea289c56d47ead0ae24985260deed56ebdb47b590149990b8000ddec1911cd99ce14574d100cba277c0c7478ee898c18b72a2d09cf45310e4ca1c4c91ed824a08a91933a6c2795ecdc024b4bc7b33d77c64097a92627ea772293e839033e80937a5d2a28ac7793d722b159a6f00b99ee405501931ef5ea248e6f0f7583147f6e260427c28139f359c400310012d3ee70fc060ed2d06bd1c910ec39e0e3880b782d06492192b62337c1da7406083d71d45706acba52ab254e38b1ac1a957c26e2f64d4eeab985f7ef69a8674f11a76f3c0865e0abda36a9ba8a67ae45d55d5d33c76a73c42e25ea73055f850222239ad7ba88bc007620e3f668cbbd1c9b2f89dc7536d3142fb1b678033995655b47194f4016d1f99bc7e3a14ccda27e59acb819ffcab852388ec3878f84bda637da99bcf6f5ffefaba789d6f87101e74866665bd43bd89449cb738f63528e92c64c8e8a8a0e40a5ffab521a670a980cf50dd37d8f7e9bf61edc4dffe2fdbf411ffffa9fd14f5eff73341132e95d27777345e4cf3eff87f4f8a7f7d31f7feaf7e893dffa4bfac09b7f9e1e7ae65eaa6b3f0e9bf4fea766e9d8d8490a79142d1e5d4acb17aca2c1fa28fde6477e95de7bf30768b46f11dd7eff17e9b1e71ea2a1de419ad75c44c7268ed03fb9f117e9eec7be4ee333c7e9e0f6fd74e0d42e1e3d5b3eba960e8deda5c79f7f84c58bd62f5f4b8f3cf5089d6a1fa62d6397d1b3dbb6d1ebd7df40274e1ca3d7af7e133df6ccc35cf129e612da777c2fad19791dad5bb0991e79e601dab8f8625a397f1d6ddffb240df49e19374e1bbd35c332cbceb1b9016933a14c2dd2258bca697a6a8aab0c37bff58db464d5529a9d6bd3d4d40c6fbaa8486dddba89def8d637d30bcfefe46b7ade9a15347ffeb08cf33625f342e563f9caa5f4fcf69d74ecd8381d3d729c3f6fd1e285a2b2383e499706f0706300147b761fa49b6fbe8ac6c3bf1d3d72226674356ec5b4692000a563c7c769cddae5f4e677bd89ab2da74e4d3137e3c48971baf8e2cd74e33b6f0a9f738a1e7ef00936957ce3db7e820e1e3ca2d97811c7d5a172db0c80d44633bdc78e0f507e8c5544a4ca6917ab6c443d1525a1d562c69d3a42702960e63929dd23ca96f55a49deaa0b5ea156a68cb238c2ce2688fa0c46dfa38a695ca94eecb52d3c40b169b21228f97612f13d60d2654111a495e462711636de44a535a35c099bcef1ad23df82f1150acb04ada2239f67e3e63a4a5d13d562ef09c352e915726be9fdd2dd9ef3151d1fa0ad9a05d2a2ec71edca35f3402b5307734c60d9883e9f4f5eab54658cb361a27dfede760b06da7737b9dcee8d9f1ef3a462ab2479af26037b32125c67fe81480418d74688d06290d95200459571eeeef5c200d0f60e05cab5fa4078af268f9717855452984cdb9330e1165521b48f411e855e487e36c7465e455fa8a235c39e8455d9dbeca1b90ec551f1730e98242a7d6b0bb5b75965c6f3624586226a4b54740a264e9e09600261b79ef0005cb0e542fabd8fff06fdf2cffe1a5dfeba2be9be47be433ff1a65be9c863f7d1234f3e48ef7efbfb299f25bae8fc4bb89500819bade1cfdf78e21bb4786469c8aa66e9d7fed3bfa2959bfe82362edf42cfee7a9a16ce1ba3b9d60c1d2ff6d1f0bc016a9f98a54d1b36d3bad5ebe8e1671ea446ad8791feee178ed1b2d1d574f9e6ab03e8f9082d5db8821eddfd1d7adb15efa655f3d6d177a7efa7c10026f61fda431ffbd68769fdeab5b476e9076876e129ea4dfba8bf31c49bc7c3bbbe4d576ebd8e792c4321786fdfb18d2e5c7b39ad5bba894e8c1f65d97d4481bc7366e48559be1fa5e59e06cb7b0358981a28bef0f7e3274e6936261b3536151057570550327fe50ade602727a798c48af60e07b6ce341d3f2ebe14c7029840e562d5aad55c3101c058bf7e355d79fd9b79c1de77dfa3b42a809489f01e78af91e101d6a4c36b66c3fb81a7323131c5e0e754f8efc38ffc80aebce642ae0480347b6a62822b35fc158eeb480039fd2103c3b1cfceca064ce11e1e39728c56ae5a42bb761da0c71eb8839e79e6457afdebb752d116d132016169e41f941b78bb12a07ca0f08abf7ebcd85a2c9261a7acbf526bd8a4918a7b25a55d826d280d4742f6da10760c9e27e0c9b8d6b2b1678e8f45a741fce8b305629b66b1d2bf0fae9e3f60135136c922bf9f6a269eb35231dc7b136ac473b5ccdbf4328c50ea7db07c0ba35b61d788b9dd72ec562d600e0a9cafd34265f171ffeadc1ac0f11125aebd2186945e7f08d3469e7c6c7b1407e184a2f691715f3cbfc34be8d7eb35756b6ec59176037a5c3dc1745821d711e0d5938f8513d4ae08d9d9315825ae7bfcde4f9a09f8492b6dbe6eed1ef3b9b25169e3f5182894d6a412ccd5e517d20e70148e6bb4100d1c6b5379ae8a373834e0cad73dcfe23e0f50d848136d5736e273653101e7003e0baecf6b5f67ee8b2b6820f9b7001a9ba2b5752e02135bfcf6d0512232f15129b123b6f0a496d7d2733e331513904b77efdb457f7bdb6768a23846bff85b3f4d4b162da52fdcfb096a64bdb460de623a31758cead317d187fecf7f449bd7be8e960e9e471ff9f47f6275c285a3a3f4ccf34fd1c7673e4a5bae1ba1479e7a80da01668ecf9ca0fdbb0eb226c36c087c5fbbfbabb4ffc81edaf1fc4e9a575f42b321a89f387582860686e933777f8a2e5977313df4f803343e7b8286a7e6d34d97be879edfb99d1e7ee91e5ab670213dbeed319ae94cd0d8aa219a6c9fa4a75f7892ae3eff46bafdfb7fcbd7e9d4c953fc806f7be1196e738d8d2ea79e7a2fddf7e83dd40a1beec2a17eda75e0456af6f5517186d698b4d38c73d076e3ab0507764ce55c75d5452c78649be0e0e000bde18a0bc540edd4385d70c146fe3dfc7de9d2c5c2c80f20e3b24bb7d08a154b18584c4dcd7250cea6a6e9c20b37d1f0701fb5260fd0e2c50be875af5b4f175d743edd7df743f4f0434fd0f5375c4ec3037ddc06c2c374d1c59bf9b8b66c594bab572c0b9f55a31d2feda17501dc0c0e0dd0e8bcc158b5c37dbae0820d4cc49d9e9e09ef3f9f89801857ddb2651dad5bb79ab92e2fefd8c30119d596aad3b48853a52e43edce8a2d40341aa599a24de694133869853782e911f6caa989226c01a33123f516a55aae9f24f2e45b4fd2b4cff0f60cc6118190525bfd88f879c4ff8a34ba0b9b2aacc98a9b5f4937f9d59b4a4afbb5e419580b82df5f05d46c02a8d9ac47113073c12e7db248157ccbcf324e8b170bf32460af69624091ab54cd5e9ebe83440188e5781900288f47a755e34f5f7929c518291a715ab08fe26acebcf1952a2265cb298f804dda69a6d392689b822aed21af0e8cd70abf25af54b2b0864ac33e90a5b39810f8fb5e56cba8eab0ece4fd53d5aff04275befd1747c4d38c47f131725eab4bb5cd8f20cbbaa357e4d994edaeb2aa65160f7c8fc36bc18136d26ba2160c494d3da9bb0c365ffb3a43fbba4e6523f18499684bdb8e67ad70d1cdbc4d2aca5cf13b75ffadb9ffda77dd7d37dc778ffeb7a97f56ad771afbe6177ffff76fbaf1f2d17dfb8f2838a9d1f6edbb69e5791bb8743e3939c313260b4617d0bff837ff86beb6f70e5a3ab6f88c0013b3b73f7ce408ad5dbb86f6ecd91d6e48414b962da67dbb0ff2672c5eba90c643e0274853cf76686cf1181d3976842b1eab562fa763c78ed391a34769d3c68d2c4bcca4a19e66086e53fce7850b16b212603304e05321d02e98b78046160c523ad74bab16ada5974f3dcbd58c89701cf85d105a4f1c3d458d668d46e78f30783a72f4083fc4989d475671f2f8099a3a354bc3e17d7033300e3a3232ca445a2e7da21214aed9f8e4386d3eef021a6ecea3178f3dcd1348678a617d62e6246d686fa44ffcde1f536d208d62783595d04710190ac11fd58f8ecaa2038df7f4d4f89ee25e8f8c0c73b5079b9c4c0310abc80e8df471c5a25637ed0e213d377bc55703bdcfc1810176c1c4a68ebeff3464e81b01f084e3c0263919ae35f829a8968828593bf6d00702a09c99988d8aaae20593850cac27920c914163b39f0ac7da3fd0e4cacb3df73cc24116ed9e1bdf7c152d9c3f148e779c0a7889f4f633ff0965e6baf72ea9a595298894924ac0ed6ef578822cf82a9d36caf50820c37cecad363c3544cfa18e09280dfeb80e963d1a6fc4fe6ca3f7b57aaa1e47b3618df6c9f866bbe51e7af9bf9a2ab8628cd5d4952d38d9f1e17e2173c775828f8a0564030d46804c126b25b519707819809a8eed8a9a6d5a698d944ab8756eb360da0ce57b705f30d6ea3d813cafc657334a43c4549d6f3ba2aa9c0ba83665545c23dc7b4c2331586b21a037956b414a3a35ffaad21d181514069ab541262507b45501899e0c6c81d82a0f462216f056da3698fe8e27487b6f1c33c114f271e9b35356e2d24898f56bcc2a6765d5263dad12d65d6102482a9d990bd55cc9b80d26cec10d9e4cc444617fef088febf333c0edf93aff2e9e7721d78a3c00db56a8209f4d5d4500145efbec938fd2fa75f3c29dc0a4e16048667a69cfbe83f487bffb2734dac7e443482ad2743648ffebef7c82366e58fb1a9a38835f0f3c703ffdd7dffd791aee0bd739c4b8a1b0f7ed393c79f263b73df5abe1c78734ceb7f41b8cfab6feb9edbe3bee3b73dfb9fb6fe1fe1b2dbe8bae007516c785731d09b4f1be1e7db855d0ca4ac9204e415c8a99e76726b8228860535dbd7a15573a962e5d2e12eae10159bd7665bc74fd4bfba5679ecacf562c5fced9def4d45cc89c076870cd20cd4ecf852c7b4c2ba045088a2331d35bba7409bf1ec08225b1c3ed9c6e8fd3132f3d444383439cb9cd0bc112e44c009eb1650b6590207c365a1f23c3c3fc770018bc3dc47f8643502705b2fd7d03fcbe8d7e15ecd1ff0c8d0ed2d15387e8407b0ff763b3767e6666d255f0a8d531d259a9986a32d5d8084122c5e62692f135757b2d33aff1f153f1be63f30278407ffa440082bce1f73454e8474a8c5353d3fcbeb8663318999d1429794cd76461939e9b6db3874fad55b0faeba90072f0de9393d35afe967e7776f478884b212816693443149f957645aba1d399e6cf069002f8b9e492f399687bedb597d1bc79c3dc06ea51497a9bff2f2c781b2115a3955939566b6d09b3b8b70cd382a865bea84ea0dad46947e95f09eea918dd8942a6901c511db3490e4f0835b000e0223a1919b7502408664c02b5ccdebb285bbba1f4ae91eb06f0897f035fa2045749a565e5b3ea5a2dd7c993d22a40eca8da65660f87661d85b6ec3ca9549dea2a7f6ef33545ac967870e2d5557d1baba62aa516f0c1dd20e54781c3200272aa1a4b1d7e164da3262b3237ea5b4e46f1040988e4a98c54daa82d324c01153d158e4f19dcf30ae82a2b41f5388163d7ca5a33be5de549a8de0bc7aa59462815a052abac033f46eeab5dddced6654bb09ceac2da011812f02bbc1c562506f9bd23162010e5834e13547deb2ca7508e571bf8c6bd9b0bf712bfcfb20f7975aacfda69220b81e7016b516d346aa9729a48f7c66a0cc039437d158aacdd2677909bbff7de7b59d61d6aac1b366cf87bc6a6227ae09c4b5f1d76766e70c0f36ad8e716f9158bbf5d5adc9b84b1dfc8d951353c933d490f1dde1732e29e6394e465e929716aed8512ae4e2f0c24f4434d12ff5b2aef31952c4e2b7955df2f71a5e4d3e5ddbb17bc9553a78ecf45325a49a84bca07b04c64bbce518988f683c44be8ab4cbefe553e67b622d5df7ddd5ca98cfebbb2fee1d61c3e34491b1735a96fa097da49e93c8c97cd860da0a623a4d8d0ba1d5ebd464da5d5a17539063608c274fa34460ce4e6320b7256ac1209df027d6f2373dac6082d142be7b7d904b0c91513962577fe27dda5e6b29c9e864d6f8cf931982e4125069338058f4328f912997f8fd884272a339ebbf645b7a15b39ba999e46a894168c925a5311706349f0b488e6965c6a0d1b7d2b6f45f96fef228b2fb10b682b515264a685cf9156da15f6da2ac828899d16040538e51a444a0132937337006ae780091c338803f0c47d28d5514be1357f0f4afe4147ee8f95f7a1d993d4e238ac77d0f5c7697fb760d8e256432dda5b140c46ea7c2d33e679084707d330ac2caa7b4ed6ea542c05e4b9765c20ea443f2bca935825b2fb29d7a624b57a42bfe75b583bcd4ff8f851700359a5164aa22aab69c570b288ebb91e01a01f55cf9c5e94e88e7462a5a6fbb994656844e14cdd8695cb525753be9e5eb52d10d350f6c2896bcf08b72d6e4d597bbea1d60fbe6a5ddd1b5474332451fdfdf5282ec73a2eacde9cb2d9223f774e2308de355883906c87e4bcad617cdd76db6d2c53bf72e54afe9de3c78f737207a07df2e449760c863c3cbeeebefb6e9681bfe38e3b18c8c08118a67ff8bef1c61bf9fd4d2e1e5c431801e27df1fd6af9aa698245ba9f1b9ff0dc22bf6a1614376655a6e4890096df2ed8006ab63d4b3f77eb4fd2a9a9493ad59a60697333ba62f49c5830ae91b1c12de6fa322975f9d408fb3f89fdeed42df682ca5e7a6211de9547cdeccfa47b23914ca75152db84a8aa9ec71b576eef4fa791fa3cf9570b30518fc182b5947fd3a87d5050a2e78163aaa9005b2e02526ec1c5f776a66f366112410fb9cccae4d775a172750324b5c544bf70ebad54ef4f6972bc55024b7d6f3f4d25a5dd5c27224454aa7be2aa2329166f606d95ea6605c208ae12e7df407163e70cacd1e4f60951a6a5e610948a3cde6a6ca26cdc562b554ca5c250742993d62a23a7d5527c4e13139331abe48a42bb1305a11aea709c14e558254ad773d0cce0b14ff52949657cd582860fa4f133232fa188fdf6dee600fba6ccb567c27d36a968698780105ee4144bf1964dda086849b66d6b30c4144aa342ccec82d791e48acddb8ed32b9c4a20cc2277c11b1d4635da2c5797f05a6c9995a2648de83c8d405be16020b8f7a425ef22172084f60383125b1b442ea1a10a61d6ce9f03b3eacc7494af66ada52c9f13b34d9b0a4a24f8d56b3dba1ecaa927e305d973c7cec832dbcbaf6355f87a1aef6d1970e5aa7ae06bc0a3548f35c904aa9064cde0cfaa43062eb8d23497f13e991ab74b27ab4a95d6723d7703a212381415b5da6abb2e8dd530018bc68111414c567cce885b5e05aa70108fcc660430148512a4a562d5c07451abad72e75583cc2ab74a1ca505fc342b3181db8275e209bce989694a1b692597dcb46913830f98dc757fa192021071d96597856778829e7df65936e7bbf3ce3b797da0a2025f9c152b563048191b1b635062bf8bf73d7cf830831218f3c1680fbf8fca210c016fbef9e6570f30295c360aae933a839f73c0a4aee65465369cb3f221cb85b3311bb41b6668f6644e176cdd4c7ff187ff813a7322b75c68769329cb9f6591e1604aa24ac8c0411d64e561ab962d6d56bfa1bd4fc82517f61a2aa2be8a8dee212300584ac8e4bb133173ab25514a9f036f4bcae13de04da808115e83e334fb7a6921e4fcd9ac585ae4712345266332d26519dfccad44ac0a9b624dede845dcaba625cc8c331896c24f726e3d753229cd8beb71ce1b45ed87882f9972a905a3429553aded400a564042cb6b19f36f32ed2173554b8383f5cf4dbb2157a6bf645e6545c69b9c89af478727871a3d35d69ec09ff1fe492ff19f714f4160345542f6ef80fe06bb3077f8b33a45c2a564ceea795cb12172df765f7ac49fa4c8ab80d2572c7c35a77b72a69c2440309e13e0a95314a93ed8851a0aa6d640cd72e56d8435a452ee9e03604184ab02f8ec00b08bacc5bc055c58c8b8b34a2a3e27c9947c484ce22c1a85c898eb9a03f9d88f8c966d19520e12025a5669ffd85a2bb8aa22eecb9dd9cc09acd5dc28731acb6c3e90b21bae064b73e1664144370a8cb55dd7cdae9c56292b62c6669b53ee4b9a28cf06a3a86de541e0d8b49a2120bbd0f7b32a5c5e7dce8b2adf84f38b0edc9bc37b52b817799be5f47923869b2a82637b86017e9dc5bf38bd89d606e6009c175ad94c717cbcbad57caf11b92622f79eb867dc274678cf9656443a0a7ae4f3648dd5b8da60da2536768d6a09040af336cf73328f097b1725650254af97f7d67b3e95a0a088c0dca68888ba6d09daca112a2786506962d97954bb02d00d90945ba29d6c4eab7b729fb05e99008baad75caee27a3202ce4924fe57130b02e69cb0d0a6ece92ca2e688b10c7449746e24a9c13340d19054dab5936cc207a33b5f2d81811ef632b470f0ef001230e20358d9b56b171bf0c1e3e6d77ffdd7e9831ffc20bb05a33a02a0836bf1477ff447f4077ff0070c5a7ee5577e85defef6b7d38ffff88fd317bef005aecce0335f4d24dc2471dc24d20a6b9a9e7bc0a4a3a55a2b23635c588284544ed897a647fa8c130129f3a658d3ca062e2236fb809e294b687a0ed99d66bc3a3122eea5996e94c2b1c95434082088b37f755aedd43aea7e2a88bfd1db90c909d8db275adaafcbfb6762e0cd051a3606ab49b63f9d4d8787a6e0639a4b5a4c7a352966bc8641007c3fc2efb442e081c32d130891b585df99d6ac034273f5c2b80a85bac1d6a89db469360035e1c814655659b4b95a22012e6cb4594b36a734678d8d0ec65913b430ead44a5a5afd90e3b09e5103a39b495b038ac849e39879c3411937179e461ded8ace1cb5a631e5d01f825911474b6d3314609333733fe58cb087896bc8c053351cb38dd03226b32268680628c03300ae3e059bfa3f9bf0b01239574466a649924feca8dc40a11a97b10b91ecce8b989d0a6529e3072e2dd24ab5c497b4ad5a624aa1beaac5f7c4744c12a996a00a5143354365f531b964e4cf5cd88891c3e11d8563af5fcf0dc0a09e34d98600402b6b877bdcb02a8a112929921c01ccb8428700c73e24bd0ce2cc07bbdd3683c21a83127092d25a5a75e3d5b60d67ae618da01037ab1c1a1b47c5ba324566abaaf82a80f0b0c4ffa6882dc19cc19464feeda85c6ada36dead9733e5462d8256a9ba64d1d62153775a1324334ed3dcdc8c028a9a1acc95a462be3f2ad56e23cc79008cac1e8a8a22b4d7b82d5263d344f37ae10a454788c5d6aeb2f6974d3bcdcd89db6fb3b7a6cebbc969a2664455ad10b401bb7546b0ee8dff04d08ca9b044bd4a4a155be2dfb3702c952a1d8146152a8ed28a516621fa6995c4c34f2b619f3352adaf94f88aad00ff5abc4f3806b4058d608bdd010911928d4e47947ceb499d81218f0de7526516f76399a62c2bc0f29c624f481509c1d22161f5dd86eaf4947c1710dd1392765a4f0065b3eda2d2aedfb66d1bdf13b466f00d413770faf6eedd4bebd7af67c0822f5439fee66ffe86ff0dc0025606478f1ee5aa07aa23a8845c72c9255c2141dbf2861b6e601002433f381383c3820a0ade1fe0c63fcbaf96a99c44abef79949728ce3d6062e53d237c01917376ca17a7cecc6f26c4aa4262447435e90763f4af2a999d54ccdb883227ec5312d1acdf8d5f313d012b179b5f0b4089090d71a6d9ae2a3b4ae5c0b28436830009ce6d2977273d61d3e8708092d64d5141d7b261c9662a12cc45858066aaaac2d5285d3f4b6d8c562cb163c3306d84924c963955cd9437063fb1505379eeb8893b225de988db890040b82f56aeee5432317f4ea51476c69b08ee1303d09a19f1951b9f5ce3b254cdef695a12d1dd35572f91a2c2cbe0806f7c8e7a3db61652adf8b4356bcbedfc19846571e205ea9298f4c89c07899761f762555e682c5579ecc29b9ce1eff008611334199b662d06257526b1f2d5a9e84a1820e7ebad5540f028e0d0da49e59c2cfb953649128d04b91dc0e6775275c845be552a073c5ed989dc0fa956253ce1c3f7826a15f976bcb4a37e32c8be3109070563591fb5c805b1b69395ff136d6fa658b3858c17f29a6c4845116baa1ec7aa29561cac22203c922c722a5aca71e926dd5946ef03babda9903e65af2025b97a997abbee2517239311ecf0fba8b002c622114032833d2749b51511db7e49a5fd60ad9aba4aa933afa9a08ab09d7152c8b5a96534bce43a19c7468ed57ea7d4f8f0dc0babb048e50480bae03d07afed693422af07899854a94ace926f23955360d5f56dba36c667f14ed2f87773e095e93b392f998e2ab83ac2ba374949584b6db2c7806f5e44de953d4b763c357389c65ea88986ec21b89785b6e1c2b315ee594fbd217baae7d785af6baeb9860183b515ad020a9001ce887ddd72cb2d74e18517b2e3af4db1e11c5121418b06af5db06001ff1cef810ac98b2fbec8eec0f877bb661ff8c007b8e282f7c6efbe9a2a26a4d5fd9edebaca05d0b9074c3870c49eb51257c382434fbda781fa7d5a09ae7ef2c08f5a7a91255f62f6e24c5222edc44da4c20b51b74faf32db9ddd7a42641cafd3964baec1c6b81285a607ac8608b2206b0ad463f02bf527320e36f6405b06e383a027635ae0351061d7c1f40aa212a4f26ccc61d5b81aa6b0983a196ffb0c1b0bb52061fc024f00951853b0c156a12d1baf4a29c1b6cc82b3bccd6d2319554c1cf7a1a8b449ca3e7be9306d257ff6d6b140ec1482fdd8a9f153883d95c4a42e51136a76694d4530acd02c9c5545a9ea866bf7d636e557f25ff1a46cf09fd86c2cbc779e0850950d3a896d1bbc1efd6adb88f139d810f15e36e5622ec00ccc91c516e2a88ac0897610326064a402dc7b2a1e21b9dba0c5f538e5cc93db9319c57b696bd95a74de99b8a3fc1b80a83657de88db67507f4ca21e455211f9b2f7f0a3b0943a7232827752d572b16b80aa41a282640642ec33ec1c78202ecf22afa9e6a65faccdcaaa94a87076c4dba5d009a4bc281da951d1400528e5916339b746f8fbdcf414ffbc2fec33986dcac27bf7d6fbca8a47bb1345cf6c88a65b97c48b845537f74441a44c92943a20a7573010dcfd7e54adcae56ead959517de73a0424b749a8b332ab74c10ce3aaa0fd31395860d00d9d87c29ba9655c8b6e510425a21127bd02edf35771e524daba9e85ee2484bb6e7d4baced1f6954e47aa37ed8e5e2b8d03207663c2477c9620375044bf1ccf23346005f0705a60abd74fbb37dd5336f63c2d59b224fe1b2a29f6b56eddba5704c5a8a2bcdabe94f35c6a345112957dcf0a3e386b533958a86ef34f342bafd745782b8f41b9da33f55990ef73fbe91ebf81d8685eb9c89b71322555dd0659c88d92bc58af5736884a866904b54c486896113110c2e68d200b7f90105485e52c4444ab1a48bf3fe7b2272545acd2d84664011fc7c93a04788051d14119b33517835aa9c6d8a8046c0ed40dc9e441c04426ca2d15046fad9678a9690325de48ceee8f897bd9b93328a22292686b5a52163e4733ea554885460873259740808b013dcb3cb9bd93ea3dcc31dedaaf425bf29996b1f9e02a72d8b53822598a6c51bcdf189106abbc93a185d6e40a172a27fcb02525bfc3364c5c0fbcbf1fd134821e00862725f3a8285a725cb51393b89a1392f26d2d03de16d4a13d830380ea2deebf78b2d4b95251e3eac51c0971a1a1267e69056c7b5224caad890a76b14d00dc83db55bd0ce373cccdcef2cf8ca3d389e5fb42c50b0bae1c78a75e6f7befb5433c48e20a40475a8f0d1568f3cf4c146eca8507c46d4237b16223cc00cc73d3b37c3eacfac2eab0c253125e4cae4aa9a4534933d14598db9d75aa80288921e1990b200f0ee1585b26d0c5d5ca70bdb3029a194aa036b7de24fda1a4f46ea7689f08f9f15c0101a54a2d9e8d689ae8c4dbbc309d07b0bec2e113a2ac23d5c8d8324ac54199156c03a082a2b580a2cced398d4840c67316bdc71c50b2aa9470c948819c8c44633cdfb48aac5ae68f5bda6ae231242df83999864ac4203271d7c692a8ee3d07e7554eda50e432f1ba2e44cb88f70a5f317bedebcc2393c2816835c03ce7808991532d50a11c87206a933a991bfb34c9658f5cfdc3ebb32ecb30ba55066d945636ddf2e1963f532c89964a8ba7f75d7d06682a9985f646b1416063e74dba10b12a9eefcfb31894d193b563c931abaf55000309dd4eb0228ea52d23cd3e6c7330b96f09cc45ac6ca0c7df51d024be24a9b80223a0d41bbab955c7f6e2f92800b180e4a5d66d6a0404cb282086d784ffceb232a8b1f93b5a9991714290d64c4adbee91e943d87406488ee869e7b9197555f902be4de437ebac933900d1d6ca858c2f3257a8dee400dfc9e59a3027c9dcaa1de8b4e00fd06001c457caacbde5355bb25cae712228cc89b61595aa906f9959d5818f376bb3a581b429530e2a0420524300c1fde88bc4680fe6fd7bc9a875ca7c097c9b9096af56c452be0511047a06ae396b89885690728562b654b8eb5256e54e7f8695775193b61db279e6f4e0982c33d7c99aac08cf1ada280d996acb3205f84c726f313082402113bbb532c0831e2099271d0626209be3f761f950639022e57de16195609381afba1503bcb1c07f21e38f4cb4465514ad32e874d41a5a4d2dab32a6e1e14d11fd9ee3bd7a3cd936faf3b8d71940f44ab51690addd6609c92bed39067aec192df49eda3d6160ca2d3c75ea6db722c7472a24f5c80b81d688b961dbeb8df45e28439af9343a61c8da2f5a0db3316eab7458d5c3c02d12281c71aa09135b29b0eb769d75a3baab1956a929f7204b82d2a8240d8239de07f73877f2e8c56b30e21f644cd648da8993c038e75a39a5a786f207b22466e3c8504b3d80b2576c19ac4d8fd89fad2cec4ba1253b3e25d3e7f02386be022332ca9d587df0a55aaf8a58387e81117805a0488f18d91b48951cb8941c297a0ee5682c3606ee37b767e47dd35248c997171395864eebb508bc38fbce730dac993b979c2738eaecccdce18c348e0aaa59a2d9be5b75cadc49fd84886f63751b8379fd133b676caca671d1ed666aa441796d522907cbf5acbbcf6a44513211d612f0c863b773b3a7c9b65bf064876abedfe25e9b01a4e555475ce953b745293523be36b61e7c3bc72b88fab2b39d4f99e1e162e5911029b2e269c5c8ad3bb3b4eb689a142635834c9a14cc72a60b1d168c57823701a9efac5e7120f601cb07e1468f8ceca67a4c56f1b067c82a40d20e2c1302dfea2b7578d258a594164a16c5e8acaa64533a7ea2a6dd6a57a697bc960c93ce9372845ec4de6a71f20df7b9a199bd103971ff32e619b479243adc4bae3069fb243c634d76fbd59600a6767422a8a27a0aae114b03c0b3b7c604653e37184b4e8fb36a32b819edb9d2dfc85728acaa6020c4aa5e7e4d58e5d2aa76bcd61858e776852369babb2560d7d4aa50fe33bdecbe27d71679e1c6a395efc504dea242dc16105b53a092336f68766e465bbd49655227b6084d8d15e69a7a3d0c6c4a2294c7fb5631f8e36444800dfc9d48a7103db72a5740e647e46dcfc11ae830272f80eb665d1c9093825b6f290b0bd6629b5488df592495bff675660826b65fdbbd15d5de7350c784b34d0de052ae6f70e92fcf4ac75443f316448d986a0657de29d55b8a97d2d89609754aa0e10cbafc46d1d7d754f121b1eae64a040246b36c1930b94a7be9a2d3209fcbaa9c004a732de7b859aba8525a1bc2aa27729c7555c82c2ad9b44c68244c9ecd1da7843f57c5a2301e2a0023e76a838d68dadc3f367bce783075532bcbc45015b5ea9017aaf2ed120b6c253893608a63e86ff46bd6d4ae30feb1f1577be89d0a61d5bb9c1a30f18153da573dbcd94211b4af5ff817ed96684978054bb91f2d9e189ae356552ede3b5857ed2c06012ed1e72d6acd4c867b3a283a2f3955b421bc5aa8076abe75e2c75e99cc9c97fd58be3f0555eea165c3de3dd89bea192a602d16b41aeabdd4ced1fa2b84940bad0dfebcb472efbbdb3af60c780d0f7b168cf3e195526d13aa549e3aa5260697e00318807f8d3d3b729ff2d348ce5e4cb0dd6e552a7ff65a2143a60cbe626055bd1ccea48b8e564d4094cd627b87ef4736cbad517c4e03136098a26160036e0fb18504d6257c8c8c146c5cb2b8e66a92ecd4939a8e85a44c18c575c6b59f9a3ac9535026ee67d5577b36cce5d780899fdef26dc0d2b93877df590ce2659e5f3573c4bab68a1af6342464713f2cca517d0ff26c0f8c63eb8e506ae760c0bea72755304151d51740cc3caebcf2afe787e4451eab65b2e7c87d9736b8c8cf975e3c226a08e97f163dd46928ae3cebbdc0b9490bb36a1c696b12a054260cc3bf313022ada8959a52b2f6e435278e9fe0e9994ebbfd1aa838035fe0b79d1a3fa553b04296af69ebecdc03264a76c242470f9319e7b5b4a2966881c2365ef4e57d7fd78f749a2818a641da1df91d18aec12db1d9ec0b195643b8023cc520fb44e1c4b87cf061d3b270737af079ba213474e3e9ed31d0937316ce1b4943c63445644d1e9ea1a14116e6f201cf820193be7a1b92adb53b95d2bbafaef09447523ecc381f045eb4bcb84c4df6704bd5c004a1ccadd34058a281717878286a18943a15f50ac1aea2b25a942d28fedd06889bd32cfb8e91c0b6023edf5ab0915ebb8756aeeed1a0659bbc05bbbe708d5bda8e42a97d766e9abd6030960c896f5c033fbd63d7c8f448585b26fc8e55d9306a18a728e6d022986371266cd6fd019cb0f60a6595ca98ad274f00f41bbd78c3c8ef0b3fa22daa96a6c750500590797335e352d91a33e062935e5e5c4dae496a1abe1512ae6dea785fef9fe2418ff16faad35fe54444aa5c98c2ad014a0bc7b3a92b3728ab540ea40d9a562a574561dc219988b3a065cf2d3eafa153230c787b9be5f44a225a33a890f5347a98db21a45cad1ee23dea2208874a2a26f6f8f378f43457ef1f8aad3f887d097fa9139f2f26b1d645fba3ce8aa539abb4d603e84a131987158e6d265c140dee0630bc33aeafdcda78b3017aaba459b264cf43bdde1b5bad12c4299278fdd8bbfd3e8fd347af1a2591a7e5e726ca8383da6f34de73e0dfb7844a3e56ae64e1921753505e31d7f36ba5939bbe92126b55f3a4acce89b651e2b87ebce70284e4da2ad59633f354742d78bb07afdd13416e9aaa8e4b89e1002a85aca60e21854c0442bb07e3c0afa68998ff19bed8ea04ba50e043a969ae292f9f53c0849444681b6b7fffa04a423b82a9030b0321839e9a9eada8271a28b12c0bfc87c3474fd0c20523bc888f1d3b1116300cf23ab46fff51e6142e5a301436110432e13dc0ee1e2b7f62728a375764ed5cfe0f9f83f7938025d9d3c0601f1d3828a6830be68df2e659a33e66f6e3918576098f32872c7fcfde030c24fac337fe3b3935a3ef0343bb3efe393297152bc662709d9c9ae6f381091ef2979910d44d621d1a15fb0f1c090b26a5e5cb16b21261ff40b80e798d375966eb37e7d8680e4009ef015d843c041e803500ad9776eda3f9f3466838fc0cc45c80365c27bcb7a85a167c0cf8bcfebe269f97b1a2109818f4b553dabbff302d1b1ba3d1e1413a72f438fffee0bc013e5798f149409711c37a2d61a0c1c121dc4e6ce0fd7d9241b502c83a72ec24573b3009027f18946f07067ac2fd11d3badea618f131301b90e9899999396e7d0c0ef40720d3e2e0d33fd02f36ec73d2d746d91e625d094cd9b8ba85cc206cdee15ad554d914533fb8e7b2b66644ab8509d252bd3b3531c1f7dd88c835ce6c9b14b0198f4a72e0627e45b83f4d8c296bcb83a792f270ad47798d9e3839ce7a3556dde8d1d60b0225f8488d06da100dd17f400006e8ebc8ef610d26cebd15408ed73e80702a5a1696d9cb186e1e1541b9c2d5d71b8308ce19d710d32ab86e49cccaeb5c2ec7b9c17f086689b89ea81c42057366a615fedc500d8f160772a954b4f8dee0f7a04384b534a7a68983e1e7984a9b9b95ea5faee3c8067c1bb57212a4c1f774a604521cd8f0dcd5f9799c6bcfb989a422caa687f45a336b5124cd3a65db0ca4cd5ee8e024a4d37da908c8616f69c9249eb4cf8ae8cbe52b20bee55092e8f358e1f0fc37e38759db58f68c44daabf58227d4d804905b11599cec3252345747c07949850be5abaad6fe62e00b24950b813d29aa920b3ed00b68aa71b2922459f40b02df2b6a49bb2944df42cebde27362c26f757ec600e298979d34a56d9d86eb8173ebe44c5a17ae49269e4eeef87dd2e35b5806fcc0516301cba43f021598005252da89240c7e03304ba5559e9e45f1af57673747c44201e0c105638e607e0e925ff941d1cca36c7390ca4fe76e7a430ef1cbb7df43bffb871f0d1bce1c6fa47e745290b9b404feead35fe6cd726708c2fffab7ff845fbffdf917e92f3ff945faf6771ea6a79f7d910e1e3ec61b3c0234823d7e177fc6c63a1900ca8b2fed53ef0b99724170c4fb1c3e7282eebcfb61daf6dc4b34b87809edd8b9974e8e4fd2d0603f07c9dd7b0e72f01f1aeaa7bff9d29d343e3149d361c37df48967f9f596418e9f9aa0dd7b0fd2b113e31cf40e1e3a163e730f030c6cf87bf71da2fd010059a977707080f6847ffb8f7ffa29da77e0904c71849f4d4f4b70c543bbefc0618253f3e8c81083ade776bc4c878e1ee3cde5a39ff85278ffbd74f4e849ce1611ec1e79ec19718bd5ecf6e570dcb82e43e1b370dedb5fd81580ddc9709d7af9d8715d3efab12f86f33b40dfb9ff717ae2e917e8c0a1a30cbaecdc77ecdc4df3162fa0871f7d3a5cef2f71b6d53738c8e7f3979ffa0a9bf4617379e2e9e7683a04c979a3c3f4d92f7c83c6c72778a33935394ec3e1f39f7b614fd8e0121a191a8ac10ba0e8a55dfbf93a4870ce037098a4e3274e711b0ee7373533cbc11a41c9b2436ed9847b391d7eb66bef215e6b3b5edccd817930002bdcdb679f7f995d8d71dd103c0f1d3ece6b62c1fc51fae6dddfa32fdc7677c82886e8d091e37c0cb81f46a0b649a871360e144556dc5f1cefb6e776f2f1e29ecc2293559e098e1bc7c1408265ebf370fdf7f3b1628d9d9a9ce1cf000033ed1dac4d5ce7679fdfc9f70901fbaf3ff3555e8b38879c0d005bb16586f3c5ef635dec086b0b206764782800eb63b46bcf81709c75b1adaf899e4e2b5ca3a7b6ede0cd68687494afcf134f3e17810b3eff4838ff9ccbf4357af2e9e7793df7aa58d74bbbf707907982ef2f8011d6cff1b0be87c33586005da655bf5885ca4a0343ac3f13fdb2671f7fb70aa957dfb5d668ce5a2d93e1facdc015279cf36c85680a009cc44a64719a9b73ea84fe3c47a49bc09c3a0b07af12ecab51557fac44cf69aef29e496c4954c9b2d6ca6a28e9be70e46bef1f646d44db2fbb49dade36c026d58c0b6360c073a6ecdfcaca68aeeebf6994b837ae916fd33109352fa27f10b7a4d45727728af2ac22ed609fe35b477e2ac72642b08753a2a45d37dd56d74a749e15afd14afe01bfca49d884393ed9b968e2c7932cb572fa8249712ae06568da1364b1a851d5b087ce975685303b4763cbc6380820482173c3e60ea080c0bf79e37921304ed06ddfb88f69691fbaf55d1cb0bef28d7bd95efdc6ebde10b2e669bafd5b0f705059b870943ef44fdecd257594b8feea935f61d7dc5d0150fcf3adefa5271e7a84ee0a2005e5e21f7ffbf55ccdf9db2f7d8b01cd35575c44638be67160bff39e87b8ac0ca071cd9517d31f7df89374deca25b43804f0450be7d1a7ffe66bb4f3e57d5ca9f8b90fbe879fd14fffedd7f99c962d5d441ffcc02dbc413fb3ed050e3ca8347cee0b5fa70ffee377d2273efd25dabc613d3db9edbe708e473833ffa59fff493a1102c217433045a05dbd62093dfee4765ab17c710011fd1cf8bef3c0a374f0e0d1005e76d3bbde7e1dfdd78f7f913f6f3a5cc35ff8a7efa56ddb77d20b3bf770f078efbbde4c2b972f0bc1f004dd75ef23b472e55808ac5374c75d0ff066f1c19fbc85cf0f3fb33618cef53b0f3c463f76d3b5b47a6c8c8e0740f2edef7e3f5c974b181021b0a24a72cbcdd7d0c205f3c2cf27e88e6f7f8faebbe6027af407dbc2f538c8159b1fbbe91a5abe748c2703be153eefd9175ee6cac4dbc3fbee0b801280eb9fffcc7b0290d949f73ffc041fd72de13508ca0b460603f019a0279fdd49cbc616d06ddffc1ecd0f40687a4e0891a8f67ce8677f82be1eeef78b2fefe50cffbdef7a0bddfecdefd2cbbb0f7016f781f7be2d04f183743404dcef3fba8a01d5c9939374c5a5e7d315976fa1c9f039ac8f11d6c0a7ffe64e7acb0d57f05afede234f867bb730fcf719de64dfff9e9b1978f68760b961fd2abe76ef7fcf5bb952b33300924f7ffe1b01340c04903bc10019d34c3ffdfe5be89bf73c4837bef1327a26dc0f54da06077ae9e170fd00322eba6063b896db788d5ff5fa0bd9d5fae39fbd8dde70d905fcecbc18d6d4baf396f3b1ccceb5e9866b2fe376da1d613de2fcafb8f475f486cbb73231f23bf73f467705d03ed4d74b4f8cbd40ef7bdf2df4c5afdec5e064db7383f4f6b75cc56b0406863ffd53ef08c7b02d80e0c37c4ed75d7319fde527bec895073c03bff4f33f454f87b5fa42007f08b2ef78eb1b69c182d1f031f5c8b7111e02c5f600aa25a8ba741b0bfa09353fca9fa92f8d7f3fd6d861f05ff284300dc2caa1898c440bb8486360b7208e6a9ed7f2e89ec4b109949adbaf7c4bd9571fec38e15e0e214421b027ec1edee964cef9b988dca186193d6a1066ff21474e8d446c80abbcacd4d831756bfc74f3c6ac55548e701715e7e1587101946f17916b621c281ebbef888507d652a90364dcac5e06b9e02818e88853435d1a30be1ae5134be197657c0d9acdb4d2e61179821a57a5cf2621f3550f4c54a0afce9212745681c959ab98f0e275aa8225d9aeaa282ae2528d10406fa0b56b5608f15375147c56630267ab572e0d01e4799a0881fe96b75c434f3ef3021d397a8236ae3f8f37869ff9c7b7d0e5176fa6ef3fbe2d6cfc0ff1c386ccfdaeef3c1482fb715a306f987ee517ff311d3d3ace1501d87d7ff7c1c743167d8c7eed5fff02bf0f32ea2fdf764ff8ac251c88bff6cdfbc2e6fe28bdedcd57d32fffc207b85d824d1dc7bd66d5325abc683e3df8fda768dfbec39c8dbcef7d6fe70714000aad8c77beed3a7ae3d597d2032188dc1b02fa8fdf724308dad7d29eb0f963fa00d767fdda557475003ce0aee0b810ac2742660d30814cf5fdef7e0b5d79f90574f7bd0fd37ddf7b82fed1bb6fe2c07a5ef8fc2b5fbf9536ad5b1d00c361fa7c0838e0dbfcbb7fff6b1c70ef0c010997f1e77fe62768650076db9f47a5e50403bb0bce5fcf19f1a953130cb4ae0fc16dc3da95bc81bc2f0096d75fb285ab232321f0e0f86642a0beefa127686b78ddf5e17c962f59449dc989006cc64280bd9c411232e88de1589e0ed9f99ebd87b865f27ffcdf1fa12d9bcea3de90317ded9bf787e3bd805ed8b1971e78e8496a3029b91302707f0061e7d1b1e3a7e8b100b44e8c9fa24deb5787eff3f8fefc6fbf742b6d0cc7b62f9c2340def8e4290e78a8849c3c35158e7f3efdc43b6f08e0729c7ee603efe0b57257000878edeb2f399f01ec7d0f3ec6ebe6e61bafa4ebafb9949e7af6453ec76bde70214d0440b8e3c53de1feaf0ee0a15f945775e31d19190e4067889e0a01f9f91dbb38403ff5cc0efac57ff6be00785f4fdf0ea00da063865b834938f6496dcff571c50700f9d6f7bd9581f73b03501c0da0eab127b771658bb524c2759d9c9aa2ddfb0e86f31fa755e13a9e17d6f955e1b85eb7795d14d63b1680f35c4bdc67b166000801b2d685e706d593bffdf29d341a800f7852df08e7cefe2e2180ec0def8b35fbbffffa2fd0fe038768fbd3dbf93cb11e007e50ddc331bc2fac295480bef7c85361bd5e420f3cfc03ae06a2e2f3cf7ff6bdb462d96206d0002d58ff9b37ada51e88c469e034de86070008347d7dfdf199f7c6735efadecb02a062c37a4704efa7de10ccfbc2b7b623298f23d8a99b1093f77241b8c82317ca4f127962a617c6b320ee2b1591b7511415e2ba045d278498a495b674b71713ef7d243a30466e2d5c108f628baac7d476b20a06302a0aca5e884f811048ef760dbdc05ae48ac4bd5488fccceb02f139fad2484b4c8e3fad4cf574585728ed9a84a4481ceeaee8788d29e3f090e3a8c54a0d8f1bcbe8b25c8b1a755bc24386fe99679e89e45affb573e74efa8bbff80bfab33ffb3396aefffb7ce178f15ef0cdf91ff9c267c108106682687ffec8b5720ab32128624bd4aa8ae714306174a6fd5ace608adc8d2c26558bf8b098d10680fc3a93ded469b3a699802963827875e1960d21d83c16c0c3517a5b08f88f850c7ceffeb0399fb7944b85cb968c71b91d1be26c08ea0025d8e8b7844d141be879ab968740334483fd7d3cf187cd0d950ffc5e4fff6a5a307f844e22988487663064b9002aa86ce0f8962d5f448b972da29179437cec286fa37a802c18ef87076cedea65346f6c217303402e5ab4703ebf1e3f47c97e2a044604840d2178e3335b3a06ca067968bc2739f7f3c305a0c9c9696a877f47f565f1e2f9dc53c771a1cfbb7ce9e2f0bd88336a7006d072c179a325332f64d7b00946256662628a03cae285f3b8258296c49b43303d7fe36afa7e084a084483ccdf10933d0089e1008e962d5bccef89fbf3fc0b2f3108c07543a503ad141e970d19f80c04e172514a3d8536d9ce3d7c1fc047415689cd0ec065726a3600ac49e6bb0cf637e9fc4d2b6965b82f856a4f20c0f2063bd02b9963b8be975cb499ef192a3b436363e11eafe05602aa6e0b172ca066ff204d331828c2672ca2fede1edab2796d009f237cece3e1dc11ab70dc5b42805f1800d660d8c09785fb831616f831e0e9ccb63a74c9c5e7d32d21fbdf1eced5da2732e540dc52bbe2b2ad0c5c5045b860d32ae6142dc2f51fe88b44475445b842303dab16efa254bb2a00dc91704dd7ad5e41cb172f0dc001dc88366ff2e032e1fa1d3a728cde78e5c5746df87e32801eb48970ecbc4eb1a96b7b7378608037d7c3478ed3455b37f131bf14ae1daa66587fc3e118705d2f387f1d8baea98573009caba8d60c9f1deedfcb7b0ed0aebd076824ac75b416416d40e56af386350ccafbc23a1b993f4a975eb48583e992b105b470f912e6b380abf3b6b75c1580f02aaeee1c38748c2b75b097e0c9ad02e3ad75e660e01bfc853e78f8a4b54a50eb26a4fb4a8a5954b079672d8d66732c306ce6632c5e0883ce5c26796a0d99d2494475598ac5a583aa2771fb8a88170333506122877ecaaa5479354023ed26063e54e36a67e9709d56555d95dfc5c1a12ee3b9dc2e29c40492ffce64f7427c83ea3599aca989ea2eebc2a8db75f7a8b36fd974b781cc74d393bdfdd497b47732e6a9442700a8646348810ae5c3e87e5d4b2bf7cab7e07c55c91f9355a218c0b4da51944e2c421acca5c179e2bd65bacb2a2625997ccf9e3dccb70328e8febafdf6dbf95e6dd8b0813f17fe39d8a7e0750353bfcf7dee730c6cf0fa4f7ce213b47bf76efad8c73e467ffee77fcec78edf81bf0e8e0f32f49ff9cc6758a61e9f8bf7f660e7fefbefa7071e7880eeb9e79e1f49fe0b77d38aaa72fad93c8db3e7959326b15c290f84d9a3772a52cffcf036ea2af12c0f08b2b1af85ccffbaab2ea5f961f3b4f1d05608c06b4370b2f1c78105ab94f496d0a210ecc1f7409046391255832b2ebf802b270049e76f3c8fcbf70832002ced4cb425a643a0bee68a8be9139ffb1afdc59ffdc790c5ff803e74eb8ff386bd2304590449648f08889ffadcedbcc1ae5d1bc0cdf06058f4a7e860d8c851c5419b01fd7e3e545488da19736c4048c3a685ec185c958bb66ea48f7de636de6c709e223c545317e4166d58b392be79d783f45ffef8af982b70edb55728ca9f61e2ebe2450b68f58aa5ccf140267b7908a878fd234f6ce3cfb9eeeacb38a8fdf97ff90f7c3dafbdf212bae3ee07b915868d0604de471eddc6de2f00cce32727f89a2310e3ba3dfac4f69805b539ab4ae96838c7a32193078039100021821eb2ec5d3b77d3c210b4504d381ab2f9c7c26bd16e9ae54d3ae38a11c0d16ffffa2fd2c73f775b00858b03b05c1f82e8f3cc4159ba64a138aa86cfe76ba79b1daa4c232008876bbd68c5723a2f80bd3ffde3bfa4975ede47d75d7b292d59bc90bef4f5fb988b3232d8abc1443e138113950bdc8f6bafb888fffbd80fb6f3ba009803070900108010000ff7f19970bd1e7af009ae24a11d847571cffd8fb350d70d375c41132767685338e7f617bec1e779fd4dd7d053db77d17ffef027d980f286375ec659e557eff82e7368e66c52434dd132115fe14d786eb6cdd589f9f396d2b1e3d3f4e18f7e8e41062a374f6f7b918e82b7316423db397d3fdcd7b56b9633f05b1200d5a73eff75be5fcbc2b9ecd8b18bd728da5600c1780f7064fac23d46f5119931769fd19111aeb41d387028808b3e5abf7e15ddf6f5ef8475bb8c9f99fd878ef2da381ceef31bde7011eddcb597412bc642510d7cead917a80880baa352e80f3dfa0c675d68894e05f0cc92f1ea561d392d3a2564ed3f542e93a4b480b020e7b91c5e915764f149014da60ac2898a74e5a2cedb313133d3dc4894bc5a7ad4980d82ff3c5f15b14cdf84174bd5e27ac547a72ac0466e72a97023eeed38bde4250e0ca41811d6aa3496c1fbb1fa4854ad951a21e4c6f39322a988ec5905c53ecb8b45da397a4145e697a8850603b624d10c3a8fceec5c39e2ccbac395a166385610fed334a9e821d9fb7a0fa4a87de20091094136786d3474c24a26eca4935eea0e9991a09dc3d6ad5b69fbf6ed74e4c891d362cc89132758ae1e2ec2e3e3e374fcf8717623beedb6db78aa07a29e9ffce427e9fcf3cfe7fb829fa1b284e3bafbeebbf9b5f8f35ffff55f47855c0090c71f7f9cbf172e5c5866f8ea2b846b0dc3c01fb92f7d7ed0faa4b4e6eef759e2a0fee66ffe66e51f7eebb77e2b2939d9aff89dbaffbed277ed15beebeecf38dbc19ffea99b6e5ebb66596fbb6de5d02c6cc413343a6f3197eda3baa71be144c60642226b5e844d7559c8e21a6a0066a53f2c8c2b2edf4a9bd7af099be12c6d0d01636b087658f46b572fe78c7cc9e2059ce55df8ba0d1c987048975f743e2d5a302f649363bcb100e00c0df4f103813237b27ab401def1d6ebb885b07eed4aae86a02a716978ed9af39673e03e6ff5522edf8f860086f7443b071be7556fd81a82da085d72e166de481686f744a5066d0d542a30c1b19edb240248b07162b2e6c20b3670d501d7043c1104c6950178e0e7ef0cd9f0d89245e1335784ccb9371cff08ffcee68d6b3863dfb4e13c0655c3437d9cb56ed9bc26bcdf46feecfdfb0fd33b7fec7a5a15325d5c0f3cf008e868c9209021a081bb70d9c55bb8aa82458bca0aaedfc5211347705b188e7945b82e28fb0314e1bf5b36ada1654b1673d507e78ed6137821e019e0dfb76c5a470743a07bcbf55772db0ca00dad8bf3c3318f2d9ccfed9a97f71ea62b2edd1aaecdca38a9b43e0452b4712ebb6833ad0be00c55a675e15839a023f30ff71ec7b93c7cee5b6ebc9283fbfab52be8ba2b2fe6f75dbd7279b84603e19a8f31185a117e6ff5aa655c290019168010d70dbc1f542f5055e1aa5338e7a100b8d686fb8bd6c8e8c830bdfbc7aea31f3cfd1c2b646edcb09a05be90973ffe836de1fe6e0cd77d0d6d386f25b7ff700c0087638b17318843b0bff9c6aba2732b80cfba70df7b9b753a6fc5329a37324a4bc7e685803f42e76fdac0f7f16abe0fe7f33a04c118cfc1f5d75c1636c6797c8d07fba4c78f358bd23b5a70d75e7509df4f4c910144bf357c26001c80132a7157bfe142d6886986d73efaf8d30c5a2f0dc0e58d01ec6fdcb49edf1315b91bafbb8201f3d62d1b1824e3bae339d9b7f7007f062a8ccb972de2f5b33400233c638bc3f57e3e5cd3ab5ebf95b930d34ae24dd3d2551752f3a2e3d36685cf6e22a7ffbb9f1c79a57153ef926b010b40b0a6aab4b98e9d666a0e2999792dba359bbf911f49f71a49761c56ddf52d117f5cbe1584f3f2eeb3b687197f0eaf372e46b7bcbd27fbda35abb634d20adf258eff1654e1731858f1558c682fe192bf08a8a8f4b7313084eb58b89161be16108e6cc01d58f928c860f2a2e2ef65a3c2beede5a7983cff0515c1e3470fd3fce1064f2bf5f4f6f3cf419e7ee4c1efc3fb59b926e158d23ebaf2c6f78438308fdf0faec000130021f3e6cd8b64e61d3b76707be5d65b6f651072df7df731d08061df73cf3dc7267d975d76197df6b39fa58d1b37d2bbdef52e6ee1a0a2b274e952faf8c73f4eef7def7bd90c102ec3575c7105bdf5ad6fa5279e7882cd00f7efdfcf8007fe3bf8333e0fc703af9dcd9b37ffc8e11254931eface97a987b59330e5493431d3997df285c3df0a3f9ed2d89eb9efdcfdf795be8b1ff24df40ae2bddd3824e9464549d900fd6160a4f60a00a4eebe1beebb47ffdbd43ff7e8c98cddf9e53ff8fd37bdf1e2d1a3018c888601d10b3b0ed08a559b187c78f12b5be8433ca930cba81e7f46468b4a43a9382a1b063670702426272668607040caed61c121a347a043c9392f84308b4dda5a45e8f9738f371c0f8e01a0451ee694a71840260520e06308ff8e52773b7c3e5a02684df4ea18265a4ea8a0cc4d87f70fc7620675c6789f0ec7d01b8ec15c4241d644b0ec0f40e4fefb1fe58906649b978620bc3a04131c33b27f6c62332150a195d2c0186508c8336dc942a62770fc751efd07510dc1049f3b11820b5a2752456a70b5007f07c0c0682faa03382f0421fc9b6547b8be007a78bda9b3a24d836b8c6b0bb0c58671988908e73b8a6b01dd107563c6f9e3b35a2a3a373830c89fd5ec910927e61565a2820b0e8bdc13c9b400ea40a89d528978bc272a36fde19c380b46f54c555e7173c1a9d9bd6b1f0d84e37be3359733b8003708d77c6a62920312b46c306a5def09c71f8246335c335c574cf1cc5bb480b2709ce0680000e2fe7106cf04c036af1bac0954d978b26a6e960e1f3e42bde1df5175e80b1be9830f3d492fbebc87deff9e37f1f580b6c670006e9d709e785f5c5b4cf6b4797db4f85ad8886f2f679c733418dea7d5c67a9f0d6b629cfafae7d150002eb3a8f4b584f4cda3de21d89ed06924ac7bb4df704db066e62d984f45781e301984fb80758ceac1c913e35c11c4b5c1ebb1e9b3de4e78ff6fdff310afaf37de7c1d4d1d3eca406b647408757fcac23dc09a16f3c1395e53587fb5703f26c74f719567a0bfc9cf17fbff888c2c9f2f9e9563216024241e58b91a5fa20a26225a5954cf859e8939109b1c8027937a4e87575ead4ccfc84cae8a80a9368c0555a8a086c0d6c3958e94bfb12e1a0df9338ecd7b6279722b8b7f65652b07c76be7e2cdf03c5137498a0ac9b35eaf45f26b24002755d2ad81163fb9e28107eb13b1e8a068c4806c8abd842b11d04aca440dd56bb1d8b5f4427cdebbc683954293bb562ea26aa864e0fad5d39a2322877daca757d4595155358315557736d563ac67803f53e8f63e431e74cab8708776bef00cad5d3548c09883a38b783a134301fff90ffe94869bb0fd6852a73545d3c510fdabdffb744882d6f07ba1850350b266cd9a08b050c9f8c10f7ec0226c37dd74137f165a2ca8766cd9b2859f37545a5001415b07ed99c1c141baf2ca2be9e9a79fe6ca072a2c68dfac5dbb96dd85f19e232323f4e8a38ff2730b00038761b489c02b41c506c783df4305e647edebc1071ea08ffcce3fa57983614fa93743c2d4472fef1f3ff9d75f7df257c38f0f699c6fe937fae36dfd73db7d77dcf70f0331c52b0017ac85e27f0a60f2edaffed1ef5f77cd85a3870e9f505bf0063dff4240a12b3632ef8219e1d19554c68a59fc0716e57860306ea88a8375dea4449c4a66f64ba97141f9792c1db3aa5d4d78084591c7d1c57aa35e1dfbcb45f2bc208a81997d363aed3253a959e69447d9691669725950144b8a65622f8f5f1af79928553ff332e6f8ef08c6135353626a9849d650e8e622e3951965499d034f8acd847235da4b23c910530a36fa5c668b55829f6d8235678c872f3cc04638ecee598317607e3d72ee59c51c51ae455a913af7657a4ffec3e6c7de3e0d29f1731b403944a6f6c8868fe62cacd6efc8d430add2eca9d1046b85846bd180a6471e05ada03782f703c9138255ecdadbd388fdf56e27555faa37b12a2ff3cdeb2b9c0a261bdbbc4cc40d18c277d0fac0860d122b7c7abcef92053d72d9a865cdfc79eab48c7b3c3333cd1b7e5aab57bc821040e5fa8a291e078d7aa9b6ea899ca23d53d329b79a38efb2e8984cc3e59990411376f4166d14004104935e00a4d69ccbac45a8cbdc7d71cf6d8b30e97a793e45488cc5c2d2aa781f7ed7fe4dec7984bf8008c8a000657b3225e89ea821d49d9cf8f15daf2562c79a17451c35f57a192249d05637ea068377391f52a05206726b45c4b541b2e7409137e1bd4088b559dc730a9539289cfc7fcb4da1c89e638aabe295254aac2c07ae42819edb2160a651d14e31e9045bb752d9c81974d554bba63a71939e66768acfb46a8ae9dfd87e162b4609559cc38d0cc920033f0f2013edd594efa1acc370e4ea39943308c5b9fa7617da6b269ee9a7adf09ea834bfb0fd495ab76a881db67bfa47798defde7b2800938fd0482f3c78c23d9b9da2d974887ef5df7f96818927ac7a27f81f66f4e77faffbdf7d25c7bed0eaf19e49fedfcd9ee1d5f2f5e003f7d3477efb43346f18a696e0f9f5d00bbb8f9dfccc37b79f156072d6593ab6495782564a1582141647040d20afe5f2f088ed4787d548894a55456feae717a9efab6203c60304529ca0f6d98a2f0907cc0af33e893d69941bf97db129b0bba7784a347473989b9dab381e9792d28d9815b6553add322f0bfead7627eabab0e8976e5a92fde555032fedf7d6345be4875d9d5a4b309447df0c5372f50eb8e6deebedcf6d63f4b2ff7e745104a55afa7b89022d72014b98f5004516c0bca2aafd377ae5684f5bc013e4f6eb5c2aeeb0f99b90ecd8f6dcccc23833a63831007e0d84d944d04b04d724e8b7f9b36b465a6ccf46996c0fccc401b6a70240ec9ad8b58e99655de4f0313a6b643db45178dc3a04763b3e4f9af4aab07e33f49f834007833d98fbf1faac354e9b1061dfdd08a2d44cb0934550e2f5358c3b61819cdb198964c16640681c2faee2850c10d7c0b81876bf240376fe24545464e9912cc8066d9f99c4a9b9f2b80b7e8fcc4de70857b3542ab53522c1b2f4a0f100c4f3356c1d5945802d00d865b9d4e668d41b95b59cab9e886fd778c2bd27b1da73c1f7800a150c13e3678c01cfcdcdb8a997a222bce601a849bb9bc899f8cf08f8c19ec37b4a2eed935a5a73e455731e973dc7ccd50a3785d3a8d7e339b67592c757980c24c8586f162b36de87cc5b16444d1380564a947c5ba86162e902cf9e4c7cbf3b4abc2d2289d857b24a409947d069eaba46c44d1498e19e83b355e83e25e758d3675c8de55225077775023cd8f86fb90fbf122889cfdf2b303dc115e90625f6efaf2650129344e5fa145454ec34cea9a99c6ef96f5bec26b863885448af9d28f8c3358c4caa03299c49a144e90247b7299db562f07e5265282a7e1612a80a36c28aafcb8bd31c784540a8eac563d9852f55f2c6a31312de2a5cceb93420341f14cfa2f70f8e27e1f17fbb4ce138b0596f3a2d8d0c6d16dd8f01d61b0878735c3e870f8a11d34cdc2aca783b53446f706781cfc00e0047bd5eab64af3219e1024f91c760e6018d0f2c768d6c53978c46825c4bc5c252eb8977c461345e67cedad2a854298688a530957764b57b08f088761dc52a583d668f7efd78d33e7b2ffb3d2a0a15f82bab57462034af10b9bff54a95c48ec17edf2b8b5a55c56c040424d6dc94441e033cfb35697505e763553b4f6c34205a1aa5e54c8ab46bc19fa12084f52ad4d53a4d934a262b63a16d05e359456dd9831efc8e3c9f561da85580b9713acaf1d7d2091cafc3b8303f5f1d0118febd3d2fc1c0ac5d4b9f7df3f5aed72b552fcbfcbd3f8de784f884c002a5f751e27302ff44f79c9a48e572e52949bc10641e2b827e1c16951fdb2becfe9480b574d1aed56b51b0cfee03d697af5a88f74c16c784bdf1a7ec398d28151f037e21de41782f9e627c0537643bbed3802d270c0db109e964114c237110e09c8adf512ecee5a5009e1091035ee23d070aaed089313e8ded33f6bcfb8a245cb5135daf767f534d068c27f49ab5f03fd4544ee995844a604d01cab9372eec360c1b3733f328db5ccc3fc302a759acf3461136c30e36d45c5a1cbe656225f4b22f9dc71685217b6bbfd8fb175402914c1d693d63dd3634d9cceda1eea928389ae9a05578bcc2a2df9cfca6681b5c74fed5cdd7029b6c26145b260608cc1b485deba59a52934d1f6db0327b287433292210b36cd4072223005ae0f3a37eb52e0f0f36d04bca4d50cafcc4424b1634050096ed1cdfceb0eb10addc4ddf4233474acacff45e36e4d68b27d94945298920c5aea91769627d8f08c0da11c8d9f9968aa279a5c76fd303318367b02415aa28ec85f3d0c929af666ac0d003c0d295378daec4a95edb9606655f551220dbd4b6549ba78b187826a425768a665b166424d02495c08ee084d777d4d3c97432ac542d1c884ebc57d6a2b40908fc9e89a0d5ba24dce5f6c8eb4c93c87beda4b1bd24eb148f13075b003c38d9f278793d0a3ad97958566ac0c99e470b6e1ce81d683677e5d4b53c4b5770adf8157925207aad107b0eed1ef179e099e76997709eb87eadd9a85162d54e5b43de8ddceb2bc99e53c40a1baf25ddef7c5b83dd9075b2c873536c0f326b02bfe778e7e3ee099bee3dc713660d20f9b58efdccc6afe57e96e4d95203465bd144aa025ce73f5bbbbd0437a42dab4e651aa76cfb96445eb456c5274de408ec9e4b07507d8e18948b52f2d9d4d778b57eb14e4d9645b575ef887d4e8d0b174a4cb38702a8da16a5df502c7b1343b816f30990f5cfcd84cd896cf312542e81962a656c792093d87ac043c7ca8aed4e9c06928a8df88cf0a442b397336379708bc89db0cc35d351e224a14a4663d97f357b28a28786dd6cdb4c5865cf49627bb5cbd2fe3ce7fe7451b4f598cdec2de756162a4749ae638ce050149d586560d3afb0918a9159a352de954597727b09ed30c98cab638c766c3e9bb2ca419ab663666c63dcde9d5532e432405a76e8cbbcb259e79a41870d3e51a32f12d0d456b13093a806092f557f1899bb4ec860492a64012865880e424d7adea20f1136b5f0f7d6dc4c08863dbc01cb3d49180cd56b65ffde80543741cf0322062510fac33915a203d256c769808869e66ad42baec0c6252a4be238a7428cca72b90e899337b77566953d19a12cbd43f0acb4a8cd80aca15e3e9ecf224130d1f3c9f83aa5b09d56108bf69318cf656a689928a7a1882670264f6dc67e7e7cb60c6a852370260af4cbb688240335c980c017cb404095f7e4356ec12e9f531e575169db585bd3abc14660a46ec508542d25123338445055a12eabb6326195b4aaa6e058544bc543c680905d73b38f00d706869b3de17eceb2f71404c89aec545caf952ab1de6d5b0040c123b4b67f09309c2b2ba1b82fe000b5da2aa1dfcfbc2970e52491485e615a278dfc343fcd23868906f0cd39ba16c5caec9c0c14786e895549cd58505a2e628c2802691d39165cfb44db5ea00b644a404cf0c475f82f52e90bd70d2dd3b6817f3149946a6247fecc3ca5b6e300264e882dfcbc2e7c205cd3222f396a62ba5830900500cef3d75460cf487542c7f72d696c822b47052567f198ce1a30e17e6a915754012d83f09bb99770b66a00f6969ede3e3650c3daeca9354b840f2091ab0f436eaa407509e0b203d3eccc1407848e3afbb6d40117fd5a6c5fc88c64c3232177b10852214108ef14361806012dfc8eba0c877fcb3a2dcdce6a5c3dc06b3b59e17a75426295be35fae1010024a6e920592d832a4c0685871b1b204fb9646d05407526b60a793563f260d69a61c2274af3200c5a59b53d276a9218c52c60e495b7f9f592194febb5099b253ff8d21ac3930f233dfc6ea20e937c7d3ab3caa9219a999da2de903987ad8432d8dde7a54998fc8e7a0c15f25e1ca8929caf37f81f385764de2007a27f5d4498aac44716db2b221f800dbbd0da81d3ac4e44e6da52a987eb83498b0ed6442120b087c73d3a647497104698b408809484e09761a32d7a59208a2de3c1652984ef03422fa67e3a5c11223d2f05936a040710576b849514ae6f16ae6d835d6467e5f730fa8ab59789101ed5710d5bd1199bd25c8cecc0a50081b2107232932a797c38e180c73c24bdaea808641d034535be16399f73ae992b809c4886e37701deb238869a6bb5a6cdcf9b7052c2f184f7a963cdb667781d58c51182728229b270afa622f0301f146ef3694b410092020412226b5a13e0630104c68000992daed4144a942221aa03946bd50ae6750cbe326de1740490ca1aa8c7e73667c27b398153a414d55e715f6068992602008cc0ce84cdf02c15aa1533073270bdc9ef8bf7ebb413fe5c044179960b3e17e80ce5ba8830f9c25e57e031758483d1c3a6941d0dc038ef4e6cf5e2d1c2fe5030a997f8398f40408df4704fb0df3060c11e17d61c15565d525f1916674bf8d8f11e04d27e2b53409bf07310139aa221a45300b0d85a154e5e9e49a5184ecd4591a986d21caf3d8671bac7ce4ecff2f40b83c64c269b8cf4cf7b0e573fc26786dfeb698ad2eedccc1c9f27ef352d6977f3f54f72764296ca6f9df75ade73585caf5e6da575b495a62691f53c8d40cbaaba35807f4d02a13782a9998e73d27eedebfffb574f486c66c0d343d54d93ac7a7a8e0213ceb093d49960e51135a36cdc710f9def054329524ab509ab4922a88088c6133b617d377ae787e0a6950c1dcfc567d59558c6ad0d9dd290f648d8a47bf3580eaf3bd29a959e391bd06c8e7d221a9265dbdf63bbc14d79f0b9f524b1942d8e98e1b3a86c9d3459b5313cd43553884ca8578dfb249b900906bc169b53920a9810067fc61b458f66209c09f593926b85292f9e1bad6875ee25abb1f920e40ba3beb425677e4f5faa598c9467eb9a05f231aae74643cbeccc3f4985a4c6e56005287192202dfbc3a832f4f70a87a5ce60338b8007af87c328c08657deacab0e45676626ec69c223a8eb7ae1a995b00efafb0bdea4712d1b00786eac945d9195001ca23933a61b8d5e060369235ca3669d375bce60714dc2a9f7aada304b70f7946cff7a244487f3ec1f601223b82e46d6e4f7c131f4894226cea3af29d702c7dd0430ecb475dd9302a6702dc235a9630c7d7696af6bd902a8f139b1932cae3140444dc6dcf0dfcc48a38900889a4e3dd49ccd3c67a4f59696e7a94276946b9c282056812f1290d0a092b88abffb965a8a7524e5ba98fd9b45ba274c3328c5fb2aa064ae823ef7854ecff0716452152a7893ec896d39a91439c7dc4caa4a994af043a0ce88decd44aa0100337d3de5644ec210840400662d81c098c221511245d12be0457e16ad4219a5e4e344914c84a1ddd0c8a52a51a09a838a18ae4538f7a63eebf8bd7647aa89354562ecd3d3282a2db4465f29395feb4835a26ea26e15dd106989a6da82ade5e535c47d4eb4fa6a92edbd3dd4c5e70abfd72ce2541f003a4042b35edada636db4d80327e74a1f3f070057b9db831259f7588fa82ea75a01690e5689ddbd619f4452c5890049d5d848958c2451f99e19af4c08e13d85af2220579ea75a1455e37b9d4aa6807bbc68f1188d8d8dbd8628cee0d70814a6b1e7f4f6f0739a36eb743691c9d9ab98c472674b37ca3c9228bd9aa22f51dbc6e90966325d53e7327da339487dc3ab952d2288af19a77f73edc79094244d3d90122787ef267862193fb5bf287f21099ba09636bb8056afbe6bdcf4956868ea856433ff89fc1e360b6445cdd8cb97b6516340c047ae9f996afa9edbd8a566f389b699104df97854debab031199cbf5a87571d268ad23135ade9bc96fd42123fbb5fcbe2fe95bdc314c73fb9efeb4641237708004bab1d3f4c3cd08e89a8bc3603910f40b1472d34a83c6c8045bc6ed6cfc0b1f5d8c48f77fb2d28fedcfad1b8c77d715ac29f7051b9f75602f724646b114a4b49c042539a237cae7d8ea09aab070b9b8e6525e0b5e9839e28ed5d4a76e37f8df0ef7d94c6e048e45445dd39cbfdd14987a404f5aac969b75089c2720f9ac3898e92ca5a2a74949a473e93b25a5931b023bdf7858cb6daa8b955b10a6b2bc5969a5cc7ded86ec8a3012671ab54390ab94e7ca4e5886e1c2b27294af2ea4fa822671e79397a7e45515424b4490c514987e7e28a4df4d9286ccdd9eb1478c9f2482af7bbba4eb54aaa6d27761b37fe4438f7a6aec9c24d8434cd3037cf75cd16da622a3fc9134d2bfd6d3289fa72eacc640b788d51f94cb2df525c1a02f0485baa5450e47a14b11d2495d6e6602dded35ca7fe1a03c92bb48f4a67645b8f45620f50129336bb7f71cf49cb3daabcaeb807907998a1ac7d4a2a4f0ac050014a946c09b05fd34a12924d3ebe54da4b4ce2d584f2b5af334cade04a973e8faadb83aad939074cf88175930b0017bdcd5ef10fe1b26639d66723813656680f946de0dc1b8fba212d831b02500aaa6c72896e7ab9fb3be3f4bc881b0f675b16886aa9064ed31fd00d28eed249dc10e3b44292c6cd43b7b3d8a68a9518dbce91952999d15c3bf352264236132ac71ab9bcafe38d688558f5251e522e013382ad5436b2c4c938dbd830572678c35080a3a9516a5c0a3d6ed9c0532a110cb90d525f666d2e1d472eec40bd6cb76a2f24710f2ee267276cb39d969bac8215afc1c0c1444bbba9ba9b92dd2b1b6575ec72f6d688dbaab2fa0d8c90bf8f0995584be49849833aafa9b68000697274b475d7d16b95c6206bf881d79266b69eefe4830d8f5b2ac13a6a59a48961e0788dc4593529b34703b591379296e00aaf2f92ae0d47cbfec631284ac0cd23a9d4d6cfcf5993c5833199c7d7d16a12ff19e25e7fce4a04186fa6dc3f5f09572d6310b57589915752000200c9ffa5d8c62b92328ae19c723b470dec7c5705a1c7e7d6f805a956ebec7a1545394b10b1ad82f3bc2883784172cdd32251ed1f194735506ceb5b614504eb9450790fec9a7ac0412e70534125222a8fcd56a0e91e19108c7b845632ed04324d3e1c62976b90f0e6100178a16b39cf9358cdb23da770d30eb98edf1b6f0ee537b45312f54d8ae0cc2402f4a019a067264990da628f3cafc2ed3959e5b94f3471103e0a13ed93b4321a6dcfb7c93e087725299320bd766de544bdf6f50f11932549cc298f9373678df772b63ed8367623581a10f104b2d49101cb59f3425b30e286880bc804b7cafcbc1b7432d22a59b667cf7ba18b5d76489bb848343bb10d485a1d45cc56bcfc5caae65b1694cab7cd63e581df3f2989b87e243a669a4951299bf1d2285c7e653a0b89ee4b319349e235b192b30099bca2d912d3c8a2243b8108c9bd643d964441968877e5f11ad8a40359c5870f35558098c64098c711eb24669906680a9fedda344d5e94efe1948a2d4bf39125d14db124e36b4b4d484071a3377065ac7fc54a1220e27fb5851083a72a072a28601243ac7ae97beaa61b43a9554512d974bdff08738094b06b08c34666edfa900f72063ad228a0595693124b87cbb68a9d7b04608561ab341abdf9df22a7d551505e017bf1778a52eb2889802d890136560d2df8e47aae45e224e3938a24a38ddfe77911037459654c5c8015278b2429ff2d51406c6722cf66e5a254405a42d5aa07ff5b91c4f7346891a6d58a45b7e6454aa98ffbeee7e57af31a25b1bd4c95c74b8f3a276bbc2649b9dfd8fa8f7b8eabfe25710d327d97e210a73d076a50982baf27427003bca9db73a8dc7322d828ca1554666c49ac0e17d518559e7fe22a9b3a4958ae315b4b2e81f1c03827dda7ea3ac927c98b3d17919b165de3eb712f139904793e6a51c0aea024790d43fc43809218fb2c41a6b3472e3e6b151356efd4314066dd27e563d1a8372a264fb1ede0acb2f18591b22824960b4a4f2ba5d1f241b2ec9c718871456c53482856096243353296530509fec12dc8239f824ab020ccf55ad9be8981450730f4012e93a9a40cd4aed45c8e35f37ea3d9946dc8964da6fab0e795698e4a25439527732dbbdac116310859404f62d525ed6ae124524f8e99741e37f5a46c39f812705e0638db1025000bb1373130a5224ee437fbd45759ca8db75bfdd34f2e51e12b3845a5944dd69628aa2d292619e672716d3a2cf1cb262d229747c0535a02132acbd7b91397b2bf974ab7e5744522a42a393ebc36d53609b7e012672f9fc6aa800f7326d21545c69254ab59953e40a50a94c46054442e470460543e2bd6daa0c29e85923fe21549d3a847535627e4f23be09bf89a9423d0e9da363e52e15a0d36ee6dcf5f612dc5b40c9a949765a4d8b64aca1692016b72e3aa45ac72165223a9fc7ed92ef21357315e1b08f7ad41b73fd875aeacf32e4063e4e424d7b59b4835935ce5c54fc378af1b381293bec69e58d2ca623c3705a2a98185228f23b6be259bb816a7b4cb9232a14a5c35d7b79b9cf650eaaa96b544fe5ea9426b1ba66c6aa55ae0d16a5facfe24aa11259c979a56cc596cd24c5a6ba502adb5c2d354b5adc085c993d30a269083472c58b16245f5074f3e4a74ef9d724837dc44b4f5d2ff7e603a7e94b56a68f214d1da8d7fff80f6d46398b765d7779a9e947fbbfcea1f215c52d213e0bf15ab94e75c2b276e08ba61f5d4bbb2945290aac16cedaa44b58df3c552251ea03c890f400412aecfeaa34fec31ebc868ccea12aa6c3679ec7dbb5eb206c1725ccd05acc23db4691293dec2351aecf50694f8ef4959364e2bc0484bcd2e785bb6659b2c6f003a76c7d2ee71f3f79a18e96919bf8584085c7c85869252d0282d4141eec08ae449e5069ed0e97c04ebffe7b13d92965c1bdb438beac64e4909aa6239daaa2b49a924995adb273a6156db32966dda687ad94ea14840a548eccb63093f6eae4935138fad9aac2be3d6923629a88b3c13b7663c2f477a7f550e830ff4f17dfd6714ff2f7bef016ec7759c095677dff0724278c043ce89001148022018c09cc52452141546d11a39ec580e2b7f5eafc7f67c9af17a666dc91ecb0a96259949a244916214239829820091038940e4f8f072bcf776f756d539754ef503fccddac3f9b85cf04af7c3e37b37749f3e5df557d55f7f812ddd88d350d1b4faac3455dc06c78fcaf23524fb60ca0796282af7a3ed90c158d6e98184c2b3487509ccc5f93633125b7e8e8fb81ce85480d7eb8740664fa776afa749d62e08c7c047ecd9f374598c54e72c54d62713a7a430926da5d72f631f1479561cb5de8f19f091e1240992866cc990e9b681e398c9045d0774323034cd7e877daf112df46596d4824ff9d7f153dc7d958ed863f67e4dd40ac8980a299905a6cca547500847c765672175f793192d909a92b780176ea3b7e969503ca1c097bf0c49b8e20310ea98b213a323abc61d857ecda9e18b404b3a82f740fe81e6d7d0e0bdd380c9f34f924c2b0284550035f8efae1d00e3da000e1f4034731c60eb46809b3f61d4e01ef801c0353703acf915404f17c0dd5f02f8f5cb06dc7ce27300fbf702bcfa3cc0cad5003310b0fcea97f8ef1c80652bcc776d586bd67bd41880ee4e4ae77fb8804918b8b26968b3afb97cee2c04264e4dd3f6b25b3975d96cc22dd1c3a8746d59cf7031af0f1c39d611e9547940eaa752d6c892d03c9e09852c97d1daf0a455eeaa1d414c74590ac93ab8e841bd3f85cc316508b562fed4efc8b7b1f4471a9c4ec6b3af7369d32074513fdb1d3599d4f0317cc4a5390e41e853d723233ef9bcd0f2014015a77c29001ca7061401503b56a7ee0b3a28d429fbd465b3fc9a1a3e8394abc4581a31bdc03b576b402153fb0f5cc41bdb166b2d14267ccc34d06c1771f8a0805be8c0847060dc0908be0803053ac05f0f8d8215d811bf28cecc68b844902a02a30391699a91fae64f1192ab3ef41432e9fcc00ed3494f2b59f8b2943b220556343954c05e205c0cfe3951d9bd600408d0627e96fb934a549fd5e2c846ff9e201968026a927a1e5890e589809cffbfa44b19047a02875b73b34553b53f15f1d9468b229e2724521d2409b8d5993b67d053558a91b54cf55969e6530a99c4aceb4c8a15c8b22f90fd9448193254805791600522da5209d87da2cc8ce5078162a4ea202e715f69b452920c98d3f73348393af1e5d8344d328adb89e2c3e9849e91f48f4c07a515ff13ed231177a4928fb1ed60f582fc67539bb3cee4d2efb76cd9e246298c887c01fa7a6d96121f07f701d435b03027fce27e8099082a468f05f8d1b701565c0c70fe2a6054d486e0a67914c0833f0238f77c80d90b00fef16ff1772d002d083ab66e4090b207ff7d1b60fa2c5051340fbd04d2c06a6c06681dffa1aae4885f2572310dedac2e547da0edc21fa8845e00d93a63a0d2de4648672823bdacd502a53d2e086323b8954668c80733dd32b6cfc245df62d502e520c589e7726686453e32754e4f0ab50e5c089981af030712df38b54d33dc0ba4444f6d97c53a7e72b49326d662a5994e833473f3862e6ba209ab3ae5069ae0a7c873acfc1a059ed4e662711b618ae31ad10940eb5b55ac81624d936bd5041b3dbb947ce051b58e1a4d1a39757c0793aad64440706963126d2a54b740215fe5f81dd4152264384875e46b673d0552e28add018be3a6f645eae60297898a14910e94530055b630ba32f942b51b4c6708acfebd55b5cdf8f71a6fc453e3943479519c88ac3ded9b3cef9fbc3da7c0cd3702485de79100aa91a3eacd7a466c985dd931a5618675b8660d9efb922a27118ce82249c5791a8564cf1dd10080ad50b65bc385fec6e1502995ae538e8f25f1d93301aa90e5008994be776689cbfe24ca892b086e8eb1aa85cf4dba8a48fb839ec27b0aa59b4709a905ae43054ee37b8c0c3812d947812f57c9fe1400c63c19c91c80272bfbe026f5f419c559f24e3956191a9585906b1d6878e2cb19a7011c0df6c173861cc7495dc4d4764ad90be2008e4f1af9cf623b76469b93ba7b53821dd7410641a633d2707652054243254468ec8e8076d99f0e0c43963f272ac0a2b02bc309997398826b65cfd9f93c22b0165b11c23008325998a215173c7efc384ffca5a72be350b6e477fe1860e972807d0826f6ef06d8b281846900165f00b01c01c99183001da700a6cd349120ddaf044cd6be6a80c6c4c900ed270066cc05b8fc3a80ee2e800953ccf9f6f79befdafb2e4b4530f3fbe4318013f89c3ee743054c440e21e0419b2197d92a717c36967220334cce244d12d72eace596e5bf45c25cc48ae4e661d214905cf1d0690cf5c045e08155000932d11601927269087a07ba8ce47769104635b5b20813e984804ac7474aeb40ba0ea4bd94cd606a742184ec1815ea60c79eb5089c8661d19c5550290d5802acd757310a90264592e8484552ae4e7e3e556d063adb933a1d89a192996a6b26e086160c81e324f8cc41620194152fc26db0fbe03604761598d136cf654b3448946c1024be6cc564c1503a7144edd5804123e71d58f63db03e497be751d8fededb3067cab9d03a660a9487fb385224b5d40a694c24e066bb280a9e2dd518dd927c154623f1009486076c3649f338bc3aa64cc2953219670038222c42942fc0ee039b61c2e8a9508d8e7fb8dcc7a50b337b2682cd3b5e81a6fa513069dc1cb437fdd61847eed81227036f148349506a08af2d89d90de2fe6969188be0ab6805ffec3c97d03b85d8ea73b00a29eda944ba920868e5edfec575a96a806dbbdfe4df2f9c75219e739fd9739197f5d6f3625ceb3182a3413c6ee60330e9d064de64ac81089445a17766416865dd23ba4e87e168fb5b306bf2423e8f24d6a030709c98c039d0d475288164d004b4469edf635a9553d61f1ac67b6ec3e627a10141e0dcc98b586f877e47c284611a661ca994399324f1593e0bb4f9b501387093e579785b90aa929aeb92b2c713687e5912db4c852f6dc8f807ce16a43ea032c98c349bf1095c0e22530ec994dc42d596abb870a1c6e54136b901a9066041865393644ac442d2f74ac60ed840963f972d424b262b512dd2a7134d992362efb5208c14bf0d32e0d04d4a8e5d9b93d13e49c00cece3510239d73114588233ab54e78b96786e3e83057da9c92135432335ff6fdebc793065ca14f609044a68cd791e56119f175fe9b34ee72e337c93739600dc7c97011f3444f1b7bf8e20e66d0422af01acba0c60d45812d301f8bd3f35e59941b433ffeeab00d53566acf8d2150087f6e36b2f0798bf500e04e0bc95a624343468b232a3467fa88009dd9b34ae6470b0848174951d597016925f5988498c644c23e3abecec192fd24492d9302233a0077cb18c6ee85b9c1ce72305df52ea8c93492392618939e2a009ab65a8cad5b2faeaf71ef92ff8fb049aeb46f18df4a55bfe08f25084217480649ce9a251943d3c48a3b0ab0d9703ffbbbfa71d6a6b1a71256b60fdd6a7d1210cc0454b6f85b8d46d143a49742c5730e4ad622dab92f60e74437d432b0cf577a2a3a516e9210614651e951ebb2885bb96d088f349863c2d10ca71c9e7c053c3bdc8e1e73ef1f28f61daf859307fe60a56f41c18ea835a8c466945086cd5a1b34cf0d80686faa1aeae998f83230456001d826d0818362388fac3bbff923347b1e54c802b0187463add5e0b72e2f459b43685aa5a0c423aa1a6aa9e4e92d7a4ba5803213e133a3774fe653c86d7363d0dbd433db0fbd00eb861d52761ece829f0cb35ff08e7cc380f664c5a081518ca46f9e0f52f8ae8a4f71cda0abfdef20c5c71fead30ae752ea4e55e5e3b490291fa270bf0492791adb993ec37019f22393dbc160fbff04fb00b3fab119de2a7aefb1a74741d4660b6032e5f79377fd78e7d9bf8bc264f5c0cc5d4b456d2dee9c6f36a6c1a07e5a15e060b55b58d688306a18c87fb0fbff806efb5869a665e9b2fdefc472c525642d052a06b8bdf4fff92f854b150c392db51be0a7afb4e417d4d13ef9f4d5b9fe23afb854b6f86f260072b76b2b64398e7752956d541827ba46fb0071a1ac7c3f0402702d222af2d8111529d2d5435c1eb1b1e83c1e17eb8fc828fe3fa0f3248a92ed4b2d3efc7f7d2f5a735eac3efaea36c0c49b1232888789fc770a2fb24dcf3f47f872fdffc75983ded024806bb7cd6270c32251f1118e49106b8776b6b9b184051b9278fe735dcdf61946ef1fa25781c61be86d53fdfdefc2cec3bf62e1edb10f4e3fdb0ec9c6be0b5b77ec619938bcfbb1defb3538ea3122a11bed4d7151d68719dfb105a6090ba4c4586ec6a21832ef74ab6cd953f9d4a7390215d4b4b753ad2a18baf4f934c106346ffa59972b12e57820237bab6a38f99839e24f1fc9f20009d7bf2dd7f81e246a96aa32ba9a4aab3c68f3e70a927cdc982304b86d5656c557a36d521756c36539608713fcdeaef08ab4e461818fa9317b134002462ad139335f1c7cbb3528384838e3369bdd6d4d49cfecb390bb2ffbd64b9799ee93177a1fff9922bfdcfcb2f39fdb5178e3dfd775367c287fdc11acb3cb4121c293f0a83b30f9808e15052777e68986432fc202db999e338ce0c9633b631e121507139f6379cfb8e9023e487d67c9f23f57a74242df56360eab8d9f0d6ce97e1dfdff2c7f0e327fe0666a2533c77d60ae8ec3d05172ebc0a76eedf003f7de6dbb06ccec5f0ce814dd0dc3006c68d9a8c9ff3034ed95fb2f85a387fe1d5f0f367bf0defeedfcc2773fb655f82b776bc0cbb0e6e859efe6eb8e2bc1b111094e0a58d4fc2c5e75ecdf4b5f65307e0c1e7bfcf86f822fc8c991317c03f3cfc9fd8a82f9ab91cae5e79179ec780529e0d60edb617e078e7513eafd6e636583267958b8c38c354ac874347df85ad7bd7c3254baf6310b373df66787efda33067ca42b87ac52760cdfac7601fbe863e77f2d869b07cd1b5f0d00bdfc5e3e8e112cea7affb5db8e9a2bbe154d7710631f5d5059fe255ba2d1225e7d1c1f5f575c253bffe393ac96eb8e5d22fa0c3eb857f7ae29b08ec5aa01b9dd15d577d15b6a2f3d9b4fb0dfc5b1f5cb6f446b8f2c24f21586a846fddf7fb70f8f86e681d3b0bc1600c6f6c790e664ebd0043a92155f38c59a1352a34badf8d1b3d8d4b1b0fbdf8433cb72570debc4bd1a9d7b3343ccdc0a163bfe7c96fc189aea3dcae3a6bd202a84210b0f7c83bf0859b7e0f7ef8e437396b40ca9cfffbe7be0d0f3dfbb7f08b35df831a04762f6f7c0abad1d15f8fd7e09c19cbe0fe67fe010eb51f808f5d84006ad45478fa957be154cf099831612eee912be067086e08dc76f775c0f5ab3e0d0ba62d850174c8cbe75f86fb6713fc041dfbf9f32f851def6d8496c6d130b679021f7711cfe9d225d7c1b20557c2834fff1d02a46dbcbe775cf12558bbfd253cd677a1abbf0b2e5f7a3dcbffaf59f7385cbcf81a74c03938d9fe1efc0cf7601ffefd92a537c0f4b6b970ef437fc1e774eeace570cdca4f428a40e84ddc33ab97dd845ba100ed5defc1336b7fc17bf466bc4e474fee8367f03a35e0bd40e0e8ce2bbe022f6e781cf61edec960f6e64b3e030b665e04cb66afe2ef01c86ad98c647650228848896f6c7d1eb6ec790bf7fdc760365e9b9f3cf3df79cf7421f8b97af9ed0cf41ec3351c466035b36d3e5cb5e24eb870d9adf0e89aefe07a6d84650baf83518dadf0dcda476005de8339ca4491e60580cbd0641915a973b86110b8b6d5204d4127171d7176e4ec0fd9d781cffeb86cdd88ce9c9164d7201065d96c3790d7c4b12deeb6932b512021c3e73a83faa053a756999e911cddd0f191d43185aacca7e823d2e1c54029485dd65897bf4c8944322b4946e84d4f3997ce1f50320a61288d00966ae14ad36906a480935630cf022926db32bd51bdb69399539389a169c83258348cec67c9a4e38f744cfe97401333bb2d7260325ff8e00a2a1f18c7844a28141168126b6209b072c388cc71aa44958459cea515db6e26bc1289ae1345b20b7255fcfe712d13614cd378ce049043a9470779bce3307fd7d4f1b3d881addbf90abcb57d0d5c75e167386b404675cee44568dc8f41ded6feaf5df171d8838eeed9371e6067ffb99bff049dd2323e9eb6d193106ccc83d9539770d4dcd8d806935aa7c3bb07b7e14d5560c7d4da32013e7fcb9fc26b9b9fc3df6fe154fb752befc4cfda05474eec42a0516d37864935ef3fbe0723f80dfc3c7862afd362496d1b2486a00844364253fd68a8af9fc0c6a80723dcaa4235bc8edfd1d97d14e64f5d0cef1dd9c90ef592f36e835fbef4039886e08c1c67178288fafa56e8e9eb72ac4a89ec0a352d665686e882b87a7d00bd0836c898d171bf882068123a9bfea15eaeaedc76e56fa243dec08eeaf62b7f9bb304d555b50c4a9efff5039c4d593cff72bac2b000d7ea24ae2fa9413ae22aeb16d4e03175a0e3fa2e02c0bf83879ffb3b205775c755bf034be75e02df7fe41bb07def5a8cf26bec0c983254d78ce2ebd688517b73fd28d7224d9c89139dc739a34367387ecc64de1fb3269ec3599f665c3b0289f3679c0fc59a66bcdec7f9ba5f30771502da0df01a3aee351b1e83514d13e027cf7e073feb28eea57170089dfc4dabbf0c93c6cde2b4f49b5b5f84f5084eaf5ef55936eaddfd9d307bf24268ef3ec1c740e7770d3ae93d080268ffd0f5fc3cee9f7378ff04b87fa6c2cc09b47fcee5fdd3dc3c09f7cf547cfd0edc3f7904433f80f1a326c1176ea5fdf30cef1f3adfeb577e82af4347e72138d97180efa1f95316e38d50c6bdd0c3193bba1e1b77be0873a6af4080758c01facd977d055eddf42b3876ea305ea7af3230a18c0f070169ccd90b4b5c81427533e4292366a7090b733f88f25caa1c1c1ee0ebfc0c028b7cb1813331b43e37affe0da8ab6a80475fbe176ebffcdff3cf9455acaf1f0b078fee807710d85f73e1dd90c643bce6b4c7f61fd9c1d948298fb8524500194274604b69994618a5ef22a02410a79a214e82d30a92165bc723d2bc98341dc16f0bb80b2643ecccc0b5c00515a9623f05ba6c6601bfb7539069f17564f234cd926f6d9687274dc715a587e409e4235bda035b62b38a231ef0a489d7f151991b4f52b7afd11a43662a92e314f19884d4f074023b3012448fc7f2d2fc71812b7d8756b65ff883892b19832d53664b6065ab480ae9e9cabc1f3dde4f9e49e2384db4c76808e5d9477e152541471c8d5c0ba3a4384776e544765226eb55d25037db874f03b158423763b47c885153a86580307bd22218dd3816a3ec468c72ef826ffee4ff40433f19268e9f0fc73b0fc3752bee801b2efda2f9ee9c99ae3a541ae2674d551dcc9bba1416ccbe1023ec1a764eb5c57a681b33152ec10878dac4851819b7c2e4d6993073d2b9d081ce88a37c0422e488e9d137d08591f37818d3dcc620aaafbf1b41c3123867ce6aa8af6dc0bff7aa4b62ba4d268d9dc6067b0e3ab889f8b3233c06be638352f5550553f6da7f703bbc82d1ff050bafe6f5a16c452d3a940b175e098be65e0e75b52d9ca1a9c4653ec7a6da665ea862a168a6ca62646b98f30558f3e64f6117822a2ac54814c7d70741c313afdfcfd9964963a74347cf49feee1918c15fbbfce3306ed4140622e4ac084535d6b5e0ba8f83cd3b5f8675e8b86f5ffd39181aeee773a4721395d02ac3835665d2685dd040b2321adf0308cc0ea3036fefed4447b71fee79e2af60ebee37e12fbef28fb07cc16a7c5f8f03b43454ae09bf6be29869307fda62a8ada9e7b55b36f762f8bfeef97d583e7f3547f4bb0e6ce3e37defe83bfcfad993ce810963a6c09ca917e035e8e692dacc490b602e023ada8b0450eb700d272380bdfec24f405ddd2876bc572efb184c6b9b87d15d3df42008a1bf5d6ff70f117c899b41dc13e24ed456d7e3fe590c0b66adc0fd50cda098f614ed9f8bcebd16a6b69d03a3706f4e1e47fb67319c92fd8340a44af6cf602f03db31cd13f83a50966ac134da3f97f2f111c81aa409ca08168a44b84e2af0f8abf7c384b15338eb77aaa79dafc702dcc7d7adbc0381d6780654a5f22047d2c4f7a0eb2f5912c35f09b98cb661fb73f0dafac72197af762505ce4816eae1a5f54fc0fe63bb60c582cb711d3af8fd04f6ae3cff1698827b82f6dc205f5fe0731e8f00be07d7f4de27ff1aaec0d734e27ad2b0c302ae0b39ae7e0448c0e5ab119d1d2ad3aa09a4c6c927be7d5e3972e12719a71b7ad2bd1ded9e3148964b2440418b9389405e6a89a0ec5047d0ec8d974f5da79857afcd96a2034f9f72eabe3ee3129e512f49440085542bd3ba3511c577ca19d0c392ef5a842d556dfb41d64e060ab08122fe0ad1dbb51278e119dbb315f0fd0b921d09bcb230070c89972810313fe9ba9409d6aefc158519455df35af3d932a99b021f3f14f5a3c7fbf5885874d3a81f27a96fd13ffbc8af004aa80b384274ad7c01d889bba1135693017fc679e67d1b2983960223f8e1cab099f941c6c5f5e097e0c089dd1c2dd3efa9c6ded17b0ace5b781d8c6d69e36c029130f763c449d1dba23917b353593c6b253cfaea7d9c4e1f376a22bc7360333ac6f7e0bdfd9b3813f0e9ab7f0b5ec1a8f55bf77d0dea6a9ae0d6d59fe7e8ffde5ffd3dfccd3dff811de0a9be2e78eead5fa2131e84468c10efb8fccbf0738c7ad7ed780566a1332412e883cf7d8f4b0e078eede1a83db58a9ba25db262f1c732e9b6f250a76d83f5068cb24194bda1473d1af9b14d6db07bff060644ef1edcca63c85fddf23c4bfddf78f167308afd023cf5fa4f60e3ee5f33cf8216fcd9b50fc396bd9bb8ec43e0ecd0e1adf09d87ff337ce32bdf472082a00541064f5eb5b5ede9e890f762244f80208fc7b26edb73b075ef3a3878620fdc70d16761c99c4bd8f9bef0eb07d0c91ee7f7bcbaf9292efdfce2c51fc1a54bae87d93356c2618caa891f51ac19059572af1d2600cc4718d3d40abf7dd75fb9b33f7ee21d98860073d5a26b20408758a1b5b053a373788c43039d7cbe13d0d953068cb2405d08fe16cd381f46e36711b02b20889835692dfcfd4fbeced9a08f5ff11bb84eb50824dbe1bffdf8b7e0d2a53770a6a31d8fb90af7c1963debe0cecbbfc86bb8f7e02604722d3080dfb36ee7abe8e84f421015e0fc79ab1940ed3eb41d16cfbd849dfb620420040a061080b58d9ecce5b52378aebb71ff6cdabd16f7cf6fc3cb9b7e05dfbafff7986372eb655f4430b504ee7bfaefe1affff97f43874dfba713f7cfa3308cc0a1b16e0c1ec797e0172ffd10dedcb686f7cfcc89f3e1a135ff84c06a217f3f656616e0b91209b7a3eb28b4b44c86e913e6e0757a078fa9c0c32edfdafa0c6cd8f50683c99b2efd1c5cbce42604633df0f4ebf7f17913e0dab2fb35d8f8ee5a1840e0331d0177754d337ce717dfe0755fb5ec16333dd611192a08c6677016e8e8a9830c48d7e35ed8b17f231c3f7504c1650aab96dcc099c6e7df7a84ef230268dbf7bc0947f0f5742e04d82f39ff0ee8ea3c80206e90c13c65503421d44996078a0ccaa5093da726703396b4a4bcee2092a183a0c8c2ae5469fbf4b5e4bc237a87e05af753904e94d4f01f54a947d44979aab0905053ade6ebc9daa12d25854190012366d05fe845070408a6670ef046969b44ea3e74990fa55914f8b29828a4486bbe60ab147c46c848ee9b41843c41db72c05c49c89d526ac70c08e72775b39aa4ab8b89b076261375e154881345d39fedf472e1bf903d177d25eed62998ce9d12758c55e5a0a7a7879f49927c8428de0f5082beb7bfbfcf344470b63a407b9133e4fc0f2a6f7186a15541a625c2ee4ff56fa4fe95674e3df3ea59b0ff16edcff424b8dcfadc2fffdb7fbd7cf5b2a623474e5af41cc23bef1c81c953e74153533d67411c514a75ef14aa8aaaab81004b3f1e4c01a22007e574001ac72ce6c8c80c7a32b72011010994d0052007462587c75eb9077ad020fece5d7f09f1702f1ae52e26ba9261a608b590af81131d07d988113765c08e81a74885c00a45b7f479efa0a3a12c0939375aa1aede76e8c4c8740a46d7dd7ded3c31d68c0e4fa0b57516f4f61c8563a70ec12c04312534fc4464a4089752b34c24e588d50ba209310f04c5daa16d60e5e4a92db482ffdefbd437e1b22537c2748c86077a4fb0636d1b3d057a11085438bb4464e161681dd50685ead1f0ce7b6fc293af3d8011ff1cb8e5f2afc2e123dbad16400a63c7cc86e7dfb89f330a5fbaedcf0d11d3d5c88dc9a776da8308e69a30122760d18b4e8d8c0a6549287a6fc6a8bebfbf9d81d93e8ca63f71e55730421f07ed0856784268f3386e17bdef89bf62c776c9f91f8712020dd0aab8b605db284596a1585d8f3baf1a2ac3a6838a85e4426fb089043a80ceb7baaac6466c1174f676c183cf7e1b4637b7c2a76ff823043c7d7c1d77eedb006d63a640039182b914d107c73b8ff09a11a136b11a23042ac7348fe70ccf1e041e53c6cde4b6e72e04b774cd8af833651a289b414eb50e8f91f64e118fe164e761de3f35d5753038d8c7c2517c9ce8d8a99442653ce2304d19370bf75c2ddf559d78dd3abb4ff2efbafa4fe167966d4b36de34adb3d1791f86f6ae2330139d7b69a897bf37aff64f6dfd78f8d933df34198b959f8614cf9748a604aee99e18e4725bc0e7d5d2301aea1ac6c1a95307e0e9371f825e045c9fbdfef7f03bfbb93b82d680aed9f1f643f0e00bdf832fdef80750574b53484b6e3602df93c53a38d17e80cfad05f74367cf09046c39fe0cb26d639a2732c7e1e5cdcfc2eb9b9e822b2fb80d96ccbb1c7aba0ff1fe1fddd80ad5756361cdda07e1e8c9fd70f70d7f807baed32a942a879d7acd1437b0ce29e00699c1782c481678c1b300249b91faf6742555eb6406024fee7469e548a670cb00c5d8ce2ce699daf859050352ac0e9316680cd49472c76949c14f9a52a275ba0bcecdd452a524adc89c157bf3591b4f7a15f5e9d8665a02c7e10b85e02a002c238807ae5c24c46647e055ad42919a36ad45fb74c7a01f0a2a2576fac330947af74169789889de75757508982bb063fb469836b909722425408331ababe0d09113f0d77ff9b7d05c6da64123348152d8049ffeddbf413b37d995fa3f7afccf3d081cae7beb2d78f0db7f080d359431cc61205dc460b7a7eb9f9fd8fa8714135a3f5fb24f523b2ddb9fcbea5951cf583d13f56faafef58a432380c807963161267fa9643220b830e4ac62ab86685424ad3cb7aa379af63373f3d334c498d52f23db7e8bce3730c3c6bc8680e924a154b1907ba27c35f42320a9c1c86ec68479080efaf8c625431e34461c6dd2f797ca0330b6b9cdaa15c6e87cf2b63e1b739d3c4ecb4c1e9c8300839c2639253a1afa2ee27b5039a01e1d56737dce0c3e4343501aece23212fdbe32dccfe7d5d238869d2c83138c2078f4b412ea4abd8084aaaf87ae3d96ba438a08046e5af529fe39a60e0c3cb7c9d533ed713719c7467c016ac1c6638d87bba11b23662a235186202ef5a0939e64d7bb02a5815370c1824be1e2c5d74279a8cb760a8956813138b44e93107ca5e8ece8bab510500b235b9facf0da90f3a6f7de72f167601c3a7cea162207499f41d78b9ccfc5e75ecbe509ca048148d483ef9be4b42f1bcc88814792f467668068425d14151030d6db7435a90957c1c98e430c2c880794947ab93b274c42988be74e46bb8ca094f60501cbe913e69b920297f10c10a6eb45d91222ad2e98b99c89b604f2ccdeb02281782ed45ecc9c29eaacc235194680469c26b003ff0ab54533e724a1b94ecddcad4333f0e620c048f0fa97716dc84134e1fe69ae1bcd20b2b17614e41af266ffe0fb86fa3b707f3523701f63f74fc4adc915fc4ed3498551285edb6b97df8180ac1d2a78ed688f4dc37d4e9321e93a51262967c12f653ea8238bae5375a11aae587613ee9d3a2892164b7ddeed97a6fa16f8cddbfe04d7a58ad742ca08e65ec37b058f652c5e439953341ad75b040d59e114d792bab106f17a5fbd1c41c99c8b78ca6c331e3b959868afc41860cc9a381f96ce5a89eb35a8a813892b93044a921e327e30b56dfa01b8aa4828826f59755699281ce816da4c562580acf49e0607891733b12ac70264a8b01385a112750cd4846cc34b0932336b6c178e2d59e89a55e8820fc874fae883f2b39882cc1f7cdb74625bfced103e182145709a3a76a03a776c290bbc5e4c10066e2c8064731ca138f083329dfd55b2f58953a5a56181a99181c845501d55f3cff424bbcec3585944316fbabc48808d6c7b99bacdaa99cb4201eb983163f139e62344f13e3e9a9bd127b11e58083ce64a71a0ceaa520e77e4140aaa9493b7ad611593c28b652c7ce0000a77e8c4811182016933cbd98865104147de6b62a931dcb4c9e5a64b867bd0188e863baefe5dfeefd260071a42342b41c58d72979212398f6c5d38b18a9cc3861a4fed71e850bce43bb06312234028bf442d9faa45cf0c1a24d12393aea5a892febb9c7a5133b0dd4696e5ea6bc9a91f172f52fbaca3418e61f46434f665bc71073925a70db1698f2eb9ff262777010202bafcf150373b289ee66927e3d279112f25e092dab095d60f7c646ad52509288087bcfcb94e4a1e3f93b20fb75ef95bb4e83034d0edf433bc214c614adb1cbc2186d939056198a965275230570255d2fa1d68aaa392972cf3b9d8fd82d1f8e47133e0531397f05f87fa4f58dd15e075d2ad97042e809e2334ca89d849ff49d73588cbceb00f97871c015332740c8e1389e4819db89bdf6653dea6ce3f6ca644570c80d3ee9133155c1f303d1d040025a2a673e7fd452de396c0386c3b9912bb57e9fba9b4588f60a234d46f9c01ed51a7d615704628b53356a8dd79c6e4853063ea797c9da8acc9f74139761a1bd4e69c2f14f958a43491e1128039577f732b9d532bcf4f9d4fd75cf4390388108426762aadf83bd27e98d83a83bfaf541a60200a5a185114681d40d1117ea8e8165ad5d6cfb271bc05357a42bf66a44abdd308a1734c40f13124fb125a8e45e8b6689266d57047ce66d2b3ac9ca8ad13330ceda4025ff771d9a1243d4d395f48bd3062f48368ad88ce92e83711983649a3c0959432f78e9a93e405d902a7b594a45a61395413943d80d2c47999ffe5460d583b4ebf637135b451393b9895b433e8f546fb286f5faf00112b25c4661a3705631f654adef7076b285982365325c2f003557efdc08009b786c5464e9e27091722d7362cdc12ba2109a0140a91ad85193540c9a284566c895ad4c896935e45addca949eaebb76a1a2f04c68924950e9f891147ae00861edce5ba4564d01e9836c954ff3d0a8df29f8b24938c5092eee6379173a26ad341a67390459fd240d57efd64612dfdcc252d1ba991785b9a2619c5c65489a189d097fc77098182970917831d1abc15841ecc59197e12080b5dfa76c4645625c11e04323537329a2b431d3c52dd4f254d331a10ec84ac91753353020f76f83c65589a8a1ac52c42a0224ef0d39d8d71a3520c8203d2bb71a4e850cd7b495c840c899fee9a19a19708c9d803a1448b6305be6ecf8278aea5322bc3ee790466a4bbe882383977d7fa19bb89cc89926b4d95b304f0f38282408b7b09a0c673ae80232b278a78e8a5cc2dc19525c007f15eecf39d15d6597a126982d769c82bc00659cea78b888370c43c1ae119446cf8122e09267ef60ca87949f8de12035d93dd93f2c0c851095e457544a6c3eee300fce03b2d9cc6e51829c638e95825c71f8ad356c3251dd933c8ce2d52f90653f203afa22a7bc5da9f91da25aed463e710396e889ee5a700599c288065431e37944f698e0419e5575033b702cbc509b9d34a73f3d20ce84f2d30f25d3272ff3b5d133bb7cb2bb0821f24081e98b879546273acce4ba0148f534b82257b4eeaad1c380c0d4275b591ab27ad285196a5d661d23781c48fc7f8e8f1fe3e5c62524f4bff0039261fd837b3ec7b12bb4dea07f27949753172325341d73b3335659bd62f14f34a853074ce2051a24ca99be80aa791dcf4d02a37182ef5463c915925d6e024a25b606bd4e214c1a9a006ee9cdcc873000f2002152109ad2ec8dee0a29aa81d66aa26a88265df8bf3092c8072938de5bd8afc17409069ff75ba0820e70d23668578f25c926605abcc1a256e8df4ec1870e04252cabe269e266946e1550ca6c96ca78ec0e7c67c6880a9667e64e6af047efab23895505a5e83c49d83b433ca35d7dd197ad0a2de13fefc321af23e2be0d6cc47c7225baef4f1ddebdd545b074a654a6c003eabee1d7ed6b9e979373e5dee40b2dbb3a9ebc29016d420f49f1fb89281d7ac715c8b54835a2f58279d1772fa81963187115901cbcf704db33c982db48aa1005edd5529f959d0158cd8eba9da97a0a2e92018318939385d523dbbd67e7690ac62209984343b702e332346252e754011dac892838930f4d91b25c5ee066d82dfc732f6015ceb7062b5897ccbaf74144940e5e4fd9ded4bfc34655dded47b103c29d56748f414721f8cc9c4e230f01ad9bea53a3b4f29161b293cb8243de3181e99282e59728ee12223a226a550cacad2efaaaaaa9547321c426a591d1c2cbb3d1b86c119654cfe2522ecc0c000747474f078937fcd8386c69e6dadc9a9ea0ed32adf6755c6848c8ad321b1642d5a069e5993a3124fd9455c22c2a3e72b78a7917094c91b36f65331ddd83667c4421f31066af0946e2dd6ea862e3af5a59c70c4d4de70c4e4522e9b38196735fc0ff488f7d4a793ed0462adb9a00db6eb34c8a824f8cf8cec7c97ec703425a5ad486b812aed3880a50ca54ed34a342e84633755543a09d4ec187b31b3c76d751b347030936a25750d6a5aa98f7f1d560e12aba4e9d3e41e8cfab93f4e269f1d77e227056b5cc493a3c580466ea440a0806a700640924a949da4992c91cfb47827955a62e5c87107a98a6e33734a24cdeebaafec950dbc91751d161c2bfa0c4d1af889ccae6b457ca055660d6d290bd4645c97a44a0ca937b11c04af80eaefcbc046e222bf2e1d627a14ba77edae25c44f261db96b53953dc84c1f0c4f7794e999a72ba7a9eaf8902c1e97440397d54814f80f159a8fecd46337fd363224762e3df231470a08063ebb64cb8981563275f799525585240be2b5868a9a70cd0ac22388a2c108ae4620e7e02a339127ad06239db228d2c69ce5a4f2309b14addeeaf6a6cdb42592924cb3edd26a10a14ddbda623428d23bb89952d954a9bdb25adedf4df1f33c301b6118ad1216cb345139957452ab514543e4a88c373434ec0165903880044136a779e4c811387af4284f176e6b6bcbacce2bafbc02ebd6ad6352ff45175d048b172ffe1ffaa577df7d97fd0ca98e4f9d3ad58d7cf81f3de87bb66ddb06adadad70edb5d7c28b2fbec8e0e69a6baef970a09240cf7b0ab87496a467a1243d8066907ba090a4e0d0b7e13dc4190717c7b16b2116567694ab98899a6911fc8cbad41bced40ea17229f7343b725d1967572e4d559b9e2a11b8f93b2e63a0b200ee422ae67c6a8c79781ab9cc7359244be18c143b5a2f01aedb01cd20412907a95ab57206e6fdaa369c4066da6702d9791d9066552d9d1c3704aede2b0c7d2d6f1da8a84c46baa72a45ee9c3c97a642d78ae84989be9461122f66b68af9efd812c101749e3b50a9ee206b552d2740db5a330490a261aab2f16c18c5534864985d0a4a144b11f712119952a21323f428fcd8f6ecf5f783ce123f6d95cb45e086f7254a788ac72ad8ae0e37a155ae69a224c965af48e94b89538d04825eadd70394d4913bcf30602e50e546d77aabca214198e1247822bb8ffacdbd22df88e71e6b606bcb1fb199d564eeaf24cb93005f32cd663e6c850954792c940c9e0081f4b4cc922ea9828ca508b2f7b2cf42641d5f92aabd15644b1e54cb35c9511a7c963a20af19ba6ee85f9a055c199b1364eb2fa7d91c3522380842a563244154c2b72faf7d6885f093c4678202cb784b3cd956862b66a68d73b6273b555d16de74407925589db5cb66a98ccd89dd3ec80ec18e783c446cb22d940517b1b7247165cb0a936023db320c1e48d2d105a70baceddfbf9f67e4cc9973fad0bc37de788381c2ead5abf99c366fde0c13264c60f071ead429d8be7d3bdc74d34d3c5be7fefbef871b6eb8015e7ef965e8eeee86cf7ce633f0d24b2fc1a64d9be0f6db6f877dfbf6c1ebafbf0e2b57aee4d93c6bd6ace1393d2b56ace0efa2cf9261825d5d5db07efd7ab8e38e3b3e5c1913b01c430e6a22be77cf3ef26b6c0cac000dca8450770e13e98813606f0e1967ad058a0494c8bfb1a0bbc02851063c922dc9101224ba123a88b4cf45918ef67d8a5a8897a175ce892a9f482b6f92f83285eb0cc965877645d6a0eb116361a8b333f41edf7d142ae67e90d3b1a9757e510a7a8e6a628d7864bfcf18a8c86701d2c04ee00d0cdb1a8067b888f85468790829f82c0077172469a67e1f8a0d9289a9960393c48977846274a526ef22709f0d8f24824b55fba7e491425f5e0878c097446769a6deef9db3d4f30975e41c7b2254045da72899c9c918031f465a2adc1e73187a679fa436b8f443e8cc9ae538abe3da4e03c92cc40e1e323031b41dbf8c61ea80a79e45c14716a66edd79d48064a1022dc26eb84dfaf7bafca8cb4b23b3402633e0793474dd02c9aef0164a3c99551335e938f3e169a533c92679fd2e0f3243d5f29d862aebe6d453b352f1022a65a8a064e61c17c1721a7c378d947b8c230e2c4f2ccc4c32ce82027fdff9c213282e93511d052531efcb7799395d028c78ed3c5836194c7d7c7a6f51d62b74655c3368d20764a19a1e2c046f25bcef86250a408cd494ef083c484fedf50a73b6a3d146409114ede5dea2df45662f47b6140de9e9593057168f5237b7c8f400181e4fa8c4e734f8a4e19d7cef857e2f467cfdd05e974be6bfa3c8056fc21fe4e607ee4accf1b5cae5738e4798303916ed7ca0b469f03179f264e8efef87ddbb77c3a2458b9c1d22bf40990ffadb891327188810a03876ec183cf3cc33b06cd9320619f7de7b2f67353efff9cf738663fefcf9ec7fbefbddefc26db7ddc6c0e5873ffc214c9f3e9d5f7ff0e0410642f499e79e7bae3b0e2a15d16b376cd8003ffde94f393b43c7f6617a50a714afb99d324cff7df601136a452c0d7b15c07ce49cbb4c112ed97662e19718c5bfc031fd0b85bc8a9e72dce130d8b5dfd6b5c175c188fe08bd4ffe9b507b013f6f886a8990ba69bc322157e6506852a74cae95a9c7914138fc593cd40f3f2f11c5a514ec74d7d01bdbc84cdb0cece8efc8ce1e916821b293672319596f53c9c24227e0261c0c9ad0c9e272b98265dc9b8e26b232799e6c1bf3c6e28e934ad9182a378b22e4f75054c2b2d014a54446e7858c03a9eab2a177c3cd742a37b49d5391ff3db1e6491b63c81024e97ba95c22c3b8a403833baf52537a3300b1e06ac37c9da384a3502264920b285b434e9d2a747e748c1c814791275bf2e4e4803b7b724cb28c5d7b33df5829d86b53e063a830b95aa6a7c64e223b75c2560690d01c8fbced1a907d44c748d2f234757a18f72e0d05a47d6222e5c47189cc0ca8221f2f6935c8387129af844adb8223443406441066d2263b0b299f98d1e35555452bdc15bb7567b55b3ba1d50142c83a10e114b909c7ca89e5f0dea1bd487b4300225f732687d379e6ac33a864c8a7527a95fb32b2c4560d5acc77e6d8f1d13ea489b052be12be18394a0a28e81a71e62f492c97c54f0fe609a7b1e90eca591568d34e1ada7d6d821373cf9122b11f4f9158075cc8198d1791934fac42709a9a6bce43b6d3d029c1b2902398ec9a01c689ebea3101145ed3e112ef6d99dd15d961987aa6979e8a1e2789cbccd05e209b135a8e8c045a5a01df7377524bf637eb40fb5bf63e370f300889fc045ffafc30725917018492c99389d67112fbaca3edc4cbd9eb608ed97432862c7696373627316adb60ef63b63990f0da92ede5eb4dadf039a385442dbe622b404d1fa6a5a27321c3c66ade91c98a276a061a9d1b77ab59c0c3fb5e82aa28ca70ed649a306539087c5009a6bebe9e010269a4fce66ffe26bf96c0056557e8b5f4be59b366b9660bca86d07be8f504386a6b6be1f0e1c370e8d021e72fa64d9bc6a51dcaa0cc983183b322f4a4c7ce9d3b59f08dca490468286bf2e52f7ff943c731096c958f03ac2474cae2675729273092f3c4c8e6ac07dd7c958abb41cdcfa9333e12619093a2cdc74aafc3251b7dc6fc59a420581a3c890ec30c889234211b0432fe899d842aad69f8dd294f9e45a76343d11c9372134efd1b836a6e527a7da190b3c6955e8fe8df1a328ea4b91bc018db027e6e6c5be2c4188b512340115859e54a92ba28830d90cdc22416b8d08d4da25c156e21c5df974c24118b4126a035641c4d252959121fae07895b550c1fc738540be21273dea995b62edbb1e4e46cc9b50c93e3c5752c0f0ff35a14d1218a93168972590f330d34c7069dce49f2b6a6ddd864638c3e8d55b1c4c5a9b0e853c2191c63ac0b991245109498a3938bf0fa429e6be6a4d1c1eb9d962d4134c7808a1d5c1459e970eaa0c5358a023baedb708e0c2fc9eca942750d3a41736e150415a1edeea27d246505714cf28887cd7e00bbefd848d2758f4baca29a166b583b853e83d69f8e431c7d39c8bb6c5c859d4fce819b9c8d444c6630846adccf046038d2c4bd3c8c9f417bbb5853cfdf39504a5d770d47c0b65d9ec4fbcc354958d93549bdc3a2eb4daf15e02f203ab53f2765bbcfc9b95aa975baf6ccbf21705030adf725eb442542cfe7f3d959321c1498cc99ec116ec74e0c14a2fb21ce1b67aa9db9b4eba656448f3270e5c46727688d64bd385150316b26f78fc9b656782fd07732793e0c9c434fad047d6cf7a4c9ae964c2418e61998b01e0fe93e258103127cfded34690fc2a84ba4ca686ed8ac566cbbebccf4701365d27dc9e970556ea67d4e76a0224101dd131490f1b5348110a55a78a44662af81cd1c50fbb974acf075b5a044f637939b2da02e148a6c27f20c1a7cc68380488902a9d0ecf38ab5316ceb723927871fb3cda930c0a0965dba47f8fab12277ea0026672218d8c53ccd9b4763e05e2fdb967963e3caf61ae6792d62a7ad622726e3fbab8a450b406c6343e0b3d23494d58ccdb07bd70677647f878320435ca7f53a70e00097722480a007957034bf833826afbdf69a2bbf8c1d3b9633245ffbdad7e0edb7df6650439f4100833ef34ffff44fb974d3d2d2025ffce2172d39b70aaebaea2acecedc78e38db074e952feecc6c646b8fefaebf9e7ebaebb8e814df80176b4fcdbc9af86f3063658936cf8d9457e2503640d37977002137948ca5488ae324fc197736cbd9e1d89d9c0c6081ba2184da4adf03c9d88a331694b638131ca12b01e43d96455d0c9e5a84d995562139f622789fbd41b008ab669a22edf481cd9176de4025c86e185b4468d1c0419871c3a2c214e16ec4d48f6806e3a76d65c47f04ec32b451aa39806b1d5bc08793e09e9e7b28e0bfe90e3b938310f694be394c7d9e7836a2352676706d1b9e771ed2028db6c041a981c01a8922f535044943335615691c51b8ffe2d549b089ef625670ce8f892c40a7d61045f5defb23e15e60b141c4139128e84449aa9899cccb5f5443e5a368a8a0c604c985f124624fe658c3d44a9050c26aa82388780336fd3da3916f632c02445e739c8d384637230b436393b851abfb790a3cf4b0c69961d105edbaabcca72846cfce9dad1b5cd17aa7d89900c6368948769d2a6943a728caa4d5b75a1a69a416331b56029cc5bf2357e279e73643b25e272628fb76cca3b1ca5174d475ac588c3e573263a2ee371e68b39ce6a18b054e173cea91a3f81c52857e46327039bc87e47d7932f442ef2a469d872ef98310f3916588b6d66af58653393a9c8932726f397ca84d16a171c5099d277ac78222fb70233b8ce9bac0bc98797627e4dbe48eb6bee5393692cba2e0e1e659f337b04789fe75c56893ecf648b6ab39a3c0800193c937dc07b9db39fa47944192a02e234dc8e8078d1d8840a6559186c463c5ac1646572f669347d84ca446b52b0738932eaab08684cc62dc760a79c96f8f359f8ab5830c10ecf713199de4a50712aaf54ee21bda698001e9f04dab462e4f46bc0928bf3765695019201dba09cfd1ddf5b78ec723c616aa278e2cda59cd9cb3180960c64087eb60cc17fd9bba1fd5d68ed8db988d2451832e9943380782de8bab32e50d9047d85082c9fc58cfcc8e78ace06c831d2f5a0f34fad5b312501be900c1a4d66d6fcad1c1b0041a02ee6f535bf671045f6d6ce4693fdc0d9c512de93b92c597bdcb871fc1cf9185946a10c093dcff4206e893ca8c4230fca8c8c7c10082170a31f9429a1273d962f5ffea1edcaa93038b6d9334bccffa01e1f60bb7064752c4ad6a067bb40840d6d22cc9c4ff7e3dfa8df3d555a12925991084c5e67b22815170d9bf70ef1f749f466dad54aac28e8d2d351685378814d659a488c40121901b921659e8f445bfa3803458cd5c30845a7454a565a6edf44fb954c9a3256a895dec7d922d56bce062af47c13d1798994c85ac10ad9c930447652e5924d2de7325d45e0ba957cd64ace21a7baa8e41acae74a76c433e983111d4ba62c2311b0446ce210cc1e88fc79d97a399796ec9c245ec73476d74fbf3eb2250e99ba9ab7653ed18b49240ab54f49a1bb747bec5bd765fdf4754bd5f031b97646acac62794e263325339f2882e58c8d9480acdcbf388174448bba4cdaa63d45658b9c25ff11e890c8308e1377dcec2cec9a9b3de1075feaae350188da8178076884ab3c6309dcf59572a50146a58c7690ecdbec3e943246c52819e7a4bd3835caaea46963e5dc257b42203e90f55052ec527295f3a363158550b10bbaec2bfb8ad68a323402bce5da19506504bd02eb20a52c24191c5da6f29feb3343c42bd05204a95a4b6da7c4aee836746955f5658a98336292119275160028d7909eb406729fc8de95ce44c95a0610644a4e5126dbe3b5a2e41e92dfcb9e96e34d12ff7ab9afc94951b648547c85f311b8ce2fc8d8336d7b9d7866de948809c881b593d2e22edf63caa4390354e2d8118729f01331400d5c3f7abcffccd728f4dd70e9073cc9f9030326819a24cc1b71846a93eb0051756b2121327fc0dee4a6a6a9075825cec80cd954b7383f799d7cb638289399c93b234546437e6fd292a133ec921e176721c7759a74be2d61d0837ae9a5775f2eb6fcac0587bc689c4f6793b8903616647c05dc087fa5641d9a364a4100ce98d3b3629d7b269b41a0ac5ccaac971827978a560e4d52b49a6fa0072dca3acb77caeb8cb14e94a3081d01500cba29e9951d507583ce2273ad532e5d0c5a625c687406384acb414d4d8d4b0393633432f6663dc9a1a496449d2a8027a46a3966cd6d92f3d537a6d49ac518132021674cc263a2f1407737714ff49ed0a0c6a978aaf1eff29d2e9394cb65ba9534480d024feaf31d0b915b737dccf23aadff23ce49f366047c6bc2abec55c91a31f748393171a8f299e65cccbe63c5dad0642228233234340003837daca0cb4942a02cdbb0e3991830566687240e57f6952ee16ac04b7b44d664886751e5d4baf97b08ec3932d89789c0b1ac73981132d376417700ca6be498c481a6239caaac31edb7bce3c3f8d29406c00620e4dcb5d3e045ae8b57894e33bc153906afe16409d9f6f7f299f479124ce8fb59f6ff996c8eec0529d9c8fb18f0292da9844bc2651730c87513402b005bce438031977af177255b168d58f575d0050e255546d504f4c48a1f6a69848f1eef3fbf84394f6ce72b998ce159054c4aac2c1ab81b26910d1e05991b34b546563b3589d45c6d59bd5e6e7431de42b01a89ee39325551918e54e4b37534a40da2fc8d9ca9fcac8f235051818e9c74b4e366442489731092d930e7907a3e4110b8cf11ce88185432929175b4f47b3a0e734ce6385d294cbd5fb228eedc55c4a3c18b7762592132718464fce41c468ae0897196688ffe956b618ec19f9b3868b90626651f3b202106964b75b95ca61ba56233160e70e4f26e2d022e55541982a675aa9a7ccd251015e9eaeb27804cebe68823e676578906e9fb727977ad650f69c3ee1c48028e3b21d93611c5d28e82a2e072a9c4c7c77b22f4ba241a34884314d0a49d9fce6e6902b944cc1a94e9c8ddef3f505c815c266b277bb65289dd778a130d9c964cc594ca6ca74b8e09d1869340ffcdeb5b499ca4bd7083044cd179ebfd257b446715442851baf8e87e3481c5b0ed240b54d653d6c9644ea4bd37b2192e0f40e34cd0220454c75b090377ed1cf7436543f51e765a326a8d646f328934e7554fb55dd1ba37c396ef25fb835e2fd74883190d363c80482cffce964f1010885d9452b9cea048e6cbdb2ed3c624633424d032f771682703fb2c8ee1a1e4dd67cabd6466e3e46cc6331d31193eef49e141e0ca07745d387b62395981e5a118c27fee2324f17e573038ab65b898945d34f4820fee783ed0217e3abacbe764468a91e52e7324ef9da44450b1ad83c51875b15328442e55ae9da7b941237b63a7568f23719d0dd2cd60a2d7d419241d7d890317e3483f6be7469f2dc6444085001e315ae2204c945fb683aac430190399cf4736ba487d0689151229e21fe6f5a0d740607afc4df46a0797e564c64d6c66de8445a8cad7e0770d01d8216b3295b86c3f578cbe3ca4dc205c8b40c8b82e3293c15d313b17937ecf6752d63ad5afdf9b2801312d52668c66e5346d07397fae47532a3f4d7cf6850976781e4430b60e7b68b0cc3c1943ee4c993ceb344002ebe00687dc7590e312272186519c2165b7b48a6416a079d1b3d0728ba211335de8f3280a144043d1215d679ef361a0050fa09454b84e634be45ce41246cae59c24314db1e24405708a0396fdc68e378e6d3b73e0c08ccf2c5a2e8f255dd25e2b14f22e43a6b3055246d14e4bae19958d24523644cc0a882e8d8ebf886fc2dd32c4a50941c98b17a1346cb2290cee6270335da2d0b7e10b1090e31607683ad3ccbab2b160326b8e031dea4871f7a86df90d8dc807ebe344b6dd9b88d2c46330e464d1b2896d56023c6fc56528626b7386986c1bda6c9f948a65cfca3ea652b3dfd7950c0092b5a6f517b2bf534255d90c015b723e2ec3e9020f732d0464d0eb7416cddb9c921b921a86390bd8232eb55164ecf68ecb0802db8ec0b6d3878190b553e66a71b33ddb1cc99a0cdbc081784b83e61e250e4cce6439894bc24462ca5e0e0d65823409588ced4df83e216e0dd935ba0f789c04059ca598ef333ee7628189aa8d0db51fcdcc79bf4000ae397535e52de19deed38acd169e7519138a3acb8aa321ac7fdfede823159d66f5e58128234825d90c89aa344891088d6e2673230619453f936d29bbe851f33d981469b3016254241d2be50d9d81d03570896c4c86a1640d52e844b9129ba6146361f824da091a67699c4bc581028e205c4dd8b6f711a060231d716a5ce6a4709a3d17b9fabf6ea1d6c64c8c539cf828367019ad9c15cd326029b09c1b5d0210632346541b6a11a733a5a2c49d8fe6ea90331740c080c11e9be61bb18e4192b88e0c5a537274a1cac224890092a2e9962957dc3c0ed91372dcf2fd92b513196a292d89f39788d064dacc50bd58783c9c791972c7aab94ea9d5b0d1eab9c6f9e54fd3e7f11d3ba6cd96a35902ae2938a2b2b4ffd25ae9d28ccb3aaa81703415b8c2ede390e10569001186810370baf4a0b936fa1ab8129a2aafea7dc0f7851a7bc0b35c88889a2ff293c8c7e552e2c4d744b48fb942ae7b28b2dc8f329731e5fbb50375d9b928742021853493211220e37836968c695a4f6d8b782a22645ec1546c8e2e25a5a9cf821a076fee5f010f72fd24e3e4a60f277e6f65ed51e0ca813a9327c75c3e43d9555ea34baa021c3de84c5d868249d49c7dca39b0a8d56fc5fc8fe4c318bb2059998a9506086d20e7a5e7c956f1bd95f3120aa19d2e1edab666068189098c0404e9f2b76fcf4e3d49dcae23b7f5dad11a0924aed4a087583805b98f9eff534fd192a280cfb5a173a6f183cb4c7db01913f01c033f91d2a73f854322737564437bc7929da3e3dadf4009752995cf24a11b2ce58e014fbef4e50f894ec4c868e0e2f506d2cc7f6b1299a4d1251a9773909f89e16ed2bdba3410ba3530c440e1dd18c74bdd1a9256a50e86b8e28fdd931b8dd1cd05562fa362b4310c68a2f6638a34aafce04472b491ad71e36b394297a1720056e7205004576b20cd843f064145ea461136be2a89e9d28c26d1c97593528e447159b099cbd4a529f28cece7d0ef69960619c4300c32198a84a6faeaf92f424a94c18b008e83e3899ba1bb4ef2b32ec1e9b4b4945ef21cad471ced0f97061d49588695c9678c2ca14846cf678fd24caba421b6c67e7a30a41922f5486e81e6c738100c06b086b99c6b91cf73f4995880e0419fce8ce852c348e2b906203a121f791f4ae6519fbb640c252860ad0bdba9e6cb0ce50c404cd52046c9324451d629eb7287fc8e1e45ea60890d8744408cdc93727e65ce9478356193a94cace859e4f863662446a078659001e1621fc4996b2e491c27ae6559830553ea0dd9d81bd05072254a015bb20f32826e8ad7a401a8ec2f5d4695bdeac9d6c0e757a9a4672cf3d0b1100094e9bf745cc6169ac839ca450ea018fb9877651dd37543018cd8219395a341aa0c247039c9e650069203330cfc086cc87914f305378f4cf66b42dfc36b1f6a8d3b5f62acd034ed6118357a3434b7347f94ea781f1f0d8d0d6cd7a1da68f20809f92cecca31e4279dda1387a025b83d372382dada6abe3924d2f0c44011920a4d4ba97d6f219fb329fc101aeaebf0c6a8721bdda45643f53da993c5d71d416258c438485a5c977b4c8751cabdf9f41d35e8b43d072167f90cc6e1e80e19ae4b97a4a69eb346cf7709146c4a9f0d506aca289ad828c7489b88be33162e8175fedc971e4bdb71e206670900335a20a1d163285758c8abaeaed66a39f8483bb622570634a6ae6bc94c7e2e18d12655b63291a4199fedbeffb46b1a3b429f2ee568b2a8d317b1ed8d2cda6419e40222886c6a224829879948b8c419a45039afc0e97cc835131263a67bc31a7e31f09ad8e83267a9da2b4168c4c8141954777ac8ef657f6ba7ae415124590119741798728580385dead2590cdae3a1ebb20295de365904baa63a43a849d249e23374ae5322f11367e5f87c6758907182cee173849f28a09438706538350967f64c09a1e09ca0de5f04a204bc49e79beea0d2245213dd95256ac81245034f5496730e5436964b666e486498e1afe9f9523a5ba433351ab0c9c03be61cb96c992f2b6b30430196cf84eaf26592097274195177196abbe124156c4095537bd993cd4de78f70d7746952ee5d9381848ccdc9e70b2ec3144b06d4968bcc3d9b38ad1ba3d3123bb0af89f2ce365a9048c790e1e88924445e02cfc4daa62203c6444dde66fd25ab03230d091f3ddedf47ac02c2c0761b9e95edc2faa49d4e021778adbeba9d005bc29baba9b19e37e3ce77dfe3147b7d7dad178362b1b09849b354673e79aad38297327474f5b013256e477b47377476f6708b6255559eb32dc471a8ae2a4043433df06c80c40861d5d5d6b24117c3656eacbc19bf6d113e194faa77d2cdd3df3f00bd7dfdd03f34047dfd8370f4783bdf48f49abada1a6b188c981775038436b2e21243758133257bf71db404be4226754db5e05afa0c4e8587fc2f1d1f39a46231876b53033d7d7d70f4d849ce28101828d8141c692cd0713720d8c819fd75066e9ca2133134b680093435344077772f74e11a3536d439997c722c757535ac854059966afc0ea3ea699c400e8d4894370082d6a3a6a68acf8bd661d8829daaa24f391ba71366d2ec04e8e8bcc5f073c70239bf28c746b70623af220b69a1d12d461c8d05a199135255306090df83c75c5743402961760d692fd4e0f5cd51ca1faf77432d82467cad8023d2a290f5aeaa3286bfa25ab61301a994c9e2a176310ba0d116adb2c467891cb98e6ef90862a8e973e8d8ccf1155cd46988a031ef4dfa7ece9ad177d139d8f5214d93fafa6aa8adabe6f211bd8fbed3ac1f58ae510c4770afd15eaaaaaa718e82d69abe93ee958ece1e4bc8f4e02967ffdb80666007c60252f8fa9a6a6a4f35eddae44c6baa2918882c07c04f7f2ee4f34e284e3206d578ad4d549d70769084e38ca3316449df760cdc822a8e47ca37e6efb1cda4f94e1401f79102aaecf4ad010bed0c09dd1da2db605d94cee539e1b719634c4e30b05c152e25a4a9fb5e5daa12ce0d6518e9fb49bb85343dc03422654abd3ac3e433b9b1c9fe24862f666c82c9a2d25998e1a53ed3a333a21ae84ac6461a0302ab33c4e28e5601d62b16830320b21ee6ba47a694c699a2406511236b17ad86109781ccbfe63a988cb3e1e1c820d15ca6e3913f0b6c46846c1c2d4e9266ba9d045451a932664e9bcfd499a6804a26536d4ac7a6e9414a9a1f3ddeffbe1cb62d00aecbebffed00c3ff5f0113e963d71d03941148ad826a39365d190d084af6ee3b04dffbd143b0e6d575f0e0c34fc3e0c090d31b31ada4465069180ddb777ff473bed9f71f3c065fff8fdf6410b1e7bd83f0fd1fff027ef5c2ebb073f77b0c22c811d5d614e15467171c397a8233056450e9463e74e4a4abc7cb0d414e873e878c601d0299a1a112bcb7ff30343737a1f1ef8535afad8717f1f85e7d73039cece8847e2240e2b11dc6cfa61ba9b6be912ffc71742444328a58edb1cc20e9e78f3e074f3ef30a3b70370ccc4aa6d3cf070f1de5124aa1aa1623e30aec7eef00d436d5c39beb37c12f9f7c014eb69f826327daa1b1a5195f7b1c0159373b60b3b639387cf8043b79723c7dbdfd0c9ce8ef349594fe5dbb6e1bbcfac606d8b275379ec37a33d9138d49d1a65e69fdd988a141fbc943cfc2aebd87a111bfbfbab61a1e7ffa1558f3ca3a183d761474f7f4c1c1c3c7a171dc18787bd34ef8d5f3af41fda8660688b4be7d7d03d07eaa0bea11e808d7819d341ee7818347d9a989611f1a36333508989e38d901b5d555cef126760e87049f1d9ddd261ac3653b71b21d815b15022d23537df4583bd4d7d0b96204501ec66b7d9caf4377770fdcffb35fe1bf7d08d672782d8f18fe40e00d22d80c16f5f7d7541719e0140b11ef811defee67a3ce425b94c1a2efb7dd0422c7dfd2dcc880918e8ff61aed8723783c46b1d864d3fa0708cc0e31a82bd1e7e0b9d377f5f6f6e1311de2ef2336321dcfd1e327f9987a7ba905779885cb4eb677c0b677de83871f7f09c83f343635c220eecd9f3ef40cbc87d7ed57cfbf8ed7ef305e9b5e0641b4f6bd08a409a4d3cff95ca4b836211c3c7294415fa1bac8fb760f7e06dd97d516e049598bd69fd6963eb31a5f5b5b5303c74f9ee2756dc17d48a0e400ee453a56023786df15593e47eaf45f7c8620b1e5959c0541912b75e892aacb2424a91e9aeb348a44534793b2757928b537363bf8d8281aa7eabf83f0f4328a3875290572ab3bd8a088365d088af303a769110901df0ce68c99306ac0466049ec90f91e9d01d2e04a3e9341128b275af9702a7b2278ad9024bc2a371b80125922bd64cc865dd69380a6cede7ae2bd6919e529d3b1ee3c4ab8d448654cd2a5e13506dd426f786e148c30800b4cd97764e649b2bc645389d41a4ae993051b2b36500dadce8de9ac127edd99da85a573e94c0f5269ddb87123b4b7b7ffabfc536767e7bfaecbd46683e4783ec832c8bfc91fb34a73e2c607848ad77456714c02f07345d828944d044f1b3d2ef9d436dd807bd0112f3e771e5c73c3e5f095affc31cc9a3e19962c9a6b66a92446eb828c7debd8168edaf6a3931bb6c4347294e40c26b68d851e749c3f7be459be593ffb89ebd9d1fee2d1356cf86fb8ea12062c4f3efb1af32d268d1f039fbdeb06371783deb71d1dc0f4a913e0924b2e80575e5e8b0e60188eb777c23874ca22f7363838c411c20e7cedda755bd9e98e6f1d0d77df7d3bfcfca1a7d801931ae59db75c0df3e64e87fede5e787be33b70c1b2f9fcddf4f9647808f43435d6c1b36bd6b2f199396d12dcfef19be0673f7d1c81c97e58b67d2eec3b78041d71278c6a696127b5f6d71be1a9e75e67a3fea93b6f64c7f4e26bebb85cb4e2fc85b018d7ecd9356fc0a98e6e5830771a5c79f94a1e16b76ee30e060fab572d634041df3d69422bdc7adbb5f0d023cfa173e987e9d326c2e27366c3d3e8e8c8989fb7741e67115e7963234c402042d7e4b917df349d258326c26fa8af85d7719d8e21105ab4700e3cfae4cb7cad96e2712c5fb690cb535df8bd8f3cf9221bc22993dae0d2554be15bdf7d001a11fc5d73d94a781ac16457572f3421103a6fc93c78efc051b8ebceebe1a15f3c0373664fc3e3dd01870e1de36b4d80e4647b177ce6ceaba10e9de1cf1f7f91d50c2fba601167721e79f2257edd94c96d307fce0c74da6fc0ec195360dbce3db073d73ece26dd79dbd5dced408686c0eb9b08da0e1e3e0a9ffbdcadf0e31f3d0c53278d87bd078e70f66edf816378ddce8137d66ec5eb79253cfcc48b30a9ad1516cc99c259bd37dedac2c0800ceb2dd7afc6633f02fbf1f89b9b1be0b61b2f8747f0f5bbf71ec0efaac0cd37ac86a58be74069286420fac853af22b81d86e5e7cd8785f367c20feffd2983005a27c9dc7deeee1b797f6ddbbe075e4260b964d14c6819331df7c429042a2f401b5e97ceee5ef809ae15999e2f7ff656761e8f3ffd2aafc305cb16c005172c811adcafafe03e79e9f5b7a10a81d098312df0f13b6e84c71e7b8e81e498d18d70331eff8f1f780cf623d8f8c2dd37e36bd7c33b7b0ec0ec6993e18a4bcf831fdcf308df3f04d87ffb2b9f82dd7bf6c3fa8ddbd941dd7ef39530baa529d38961ca926a4278943bad55d6a997aa6c8964de58ef8680826eb3b620861c8388ce69fe5a895b64233b13c996edd258958b6de756c573d7743b30671c72799bedf47a37d22146195129638af69176ca04f8b92b8908d469e032595e2f28ceb4ec6b5e89ac856b2b6715e982cba070875fe23bb244b0d070d562c5fbf2c45a5dc2319f5f66a064c8ee15cbc12ab849d93cb38a328df9a2e9842a5b3e94ed96149e8e03594ae851831fcd7391002090c9c7e0070342289f05867b02616676133d682e0dcdb5193d7af4696aaf4f3ef924ecdab58b25e2e941f2f2ba6b93ba7be87df43879f224eefb312c434fd790e6e210b0238e0cc9d7d383c08d7e7d7373b3db733ffef18fe1eaabafe6993b34a9f84b5ffad2079a71f83735a4585e14a94eeb2ec4b32a63a26f58310882dc9c3a26feef2446c057ac5e0157e1f35bfff73fc2bcd9d361fedc19bce9d95824b1ab6bd34d3e756a1bacdfb49d41c8cdd75d0a5bb6ef8293685ce7cd9eca0ee013b75e834e691a1acd1df014020142e62d4d0d68ac5fc668f138467ed5f05b5fb8130e20a03976a2031ad0a0ae4767bde7bd43f01fbffe1b3073fa4418c26876d2c471307a54133cb7e6d7ec5c8b6c9c0cb8da87ce87de4f16ea777ee32ece243cfac813f86f3ffceed7be8411f2001c3e728223712a239db7781ecc9935058e9f68e768973647173a140210943efdcae73e0e9df81d8f3ef224de2883f07f7efdab30198f8340ccea8bcee335787be34e780581c9673f79235cb47229030802686d088afe1dfe8eb23d7bf1498069f68cc9306654b38934d150cf9e31092e44e74d2d78ade894befc995bd1011d8393e8902722409b8e6bfafc4b6ff2315d7dd90a7e3f95c7aaaaab182c2c3a672614f1e769e8f0e9f1c22beb18ac3df8f0b3f0dccb6fc16d1fbf0e7e89a080ba85c6b78ec19f5f640017dab4fc847163d989be84cef1c8d1931c655f77c54a786bc376748a2df0f94f7f0c0ee1b5a1f5388940302ae4f0da9c62c072e4c849749a9732301c8bd763d5f285f0f6e677e1d997d7713969163acea75f5ccbd78fca345ffdc2c7f1b34ca9ed9acb57c0c489adf03a02080251d3a64cc84c4b26e33801cf9f8e6913824cca6e6cd9b187a3d36ffcc56f21a838c4a0a4138f8322403abeae9e5e686c6ec4df75c3134fbf0277a05326504219a026bcd673f13a6fd8fc0e6cdbb19b337517ad5ccc6bf8e6faad3cba8040c7e34fbf0ed3a7b4c11ffffe6761ebf6bdf0d6db3bd848d0671dc27d732dae0d95f7081ced47b0d3da3a0a41e57908ec26c060df0002d546b878e512de1fe40cefb8f97206606fbdbd0d81d2afb92c575f570d4f3cf31ab72e53e6e7c8b113bceffec3d7becc99992d1bb6c1e489e36116beef8db59b61170228ca881078edc4fdfcd26b6fc365b8f75e7e633d1f3bed8dbbefb81edf330ed6bdbd1541cb7e3ee779088021235896baf6504de41500926d6df6bc1fcdadd21a2edad1e8e85fab286b81318ae00df7c3385b333fc83b46ad8aab8997ceb12b627560a7959b4198498694ab55773dd7450fd6b325a330ca7c970037ada6aa7930c2e991cc0295af93c4ebeac48a809fa6c9697c20517a765c105b021392bb6907f7045a01601591be1729049e1f5404a373123b11445d76728003828c701fbd50c42f750798ef46b2dca38a1f444aff8b957e933cde7df75de8ebeb3ba318180ddc2320415382478d1a05ebd7af477b71041e7ffc7178f0c107e13bdff90e03916ddbb6f1f03dfa3bcdcda1993a747c2fbffc32dc73cf3d3c10f0b1c71e836f7ffbdbfcde75ebd6f104e1b7de7a2be3cbe838d6ac59c392f5d2cafde14a9bd8f01afdd23065ba92b350f95586d4490a30b129d1c00a0f81dd9854cbee38d50ddffa87fb100cb4c2effec16f7056c42b9c06968d9fc2f05019ce3d670ebcfac6db68684fc235d75e8a4e6a278280e3300d8d3445c064ac0988d035e8ef1f62feca84f16361febce97c83cd4500d33a612c34a2a322474a05f7a3e8409a1b1ba066cc64588c9fdf818e88ca0b54066968a8e39423a8f1ea74cc6428e66244df841134019843e8dc5a30ea6f6899cd4e820d204b34036b6218d9ec1ca2fa065e0ba36819c1bc39d361023a8896e626d877f0188c1add04f56367c2397367313f8048b3743e3d0896e800a6cd9c86a0600ca37e4ab11390a2efa7cf9e316d22dc74cdc51cb9efda7b90ebe98125c456d9289c32236dd327c1282a439cec64ce0e29ab12af8565c6f1ff54a2e0ae03ea10c273261ecd71040aa7d01953e6864a04b414f499144d1d45674a91076580c68d6de6cc4b6c555bdbdbbbb9f445c7da887fa74c17adcf2c043f878e1ce50cc4a43973d8495294499908c8d558e31cb3539e32693c4c4187b860ee74be4ef4201048c7d5dc54074b16ce660347006c345d5bbc66048cc8f09283bef5c6d5fcf356041d9405a3b28b107467e15a4c45c0f5c3fb9f40703b8d49c6e3c78c825ced04a8adab4263d4cf1c9cd0f2a0384247c34a6085166726aee7b9e7cce23dbb0fd79dfe4ee097d67c1c679aa6e05a37f1a4eb945ad3d1010ce0314cc2e3ac1e35853b19e8b3685f4eb6e7387dea44a8c3cf20fd190232b44fb89c525bcdb7341372f3a6e4d08c7b8ec0c558049c03835436eac7ef6bc1cf6f8385b8e74bd4a65d3144e3f9b8d7aaea6670b6ea2003f3767b3deb580c6d125e83e5e79d03470e1fe3921731f9979d3b8f8f61225e270276b4b604bc6fb87635cc993915366ddd8580a6834157d649478ed720654bdde9a2c1882ee58873738e567551e9f74a06452b1087bc2e45cb4f49cd80c8c46864e4ec64edb8126748aeba5bc8a895da2ea68a559125b31544b62d1c32d2ee235bd2e9bb0dc0b04ab23c69b76ccb42709af09dd8462d51a033285cc94c556756e09559458d5708cb2e8b41c3f702338050c6db3311d54a0548d7a010ae7d7b34d879535e23ca8f38b0428d7cbea6eb2fd33d165a206409d24198ed2ea2cc4f24c4efc84f81cf82393f555ec8c3c2b59934691274747464f60ad91b597f9a124ce51c022994e958bb762dcfd7b9ebaebb18a0d094e03ff9933fe1bf9f77de7970d96597c1b7bef52d983d7b367cf5ab5f85071e78805bf43ff9c94f7289873e5b2405e43173e64c78f4d14779fdafb8e28a0f25cbc495fb6ca346109e851913692374b5e3d4d42bb9e3a364f41728b1d78c06ffa9e75fc5a86c0b6f849fddf730ec3f78041e7bea2576c694a9a011cd348a9b849b664d9d02bd7d4624ab7ef4347474658c704bd036613cd7fac9f1507a9b5294e72e9c8b4e913826edd08cceb6589587eede5e280f0df2ebb8d68b8ee7fc65e7709afa07dffe1efcf4e167b8664fdc917a747c94ea3e70f8a869a945434517954001dde0741c80c74451fecaf3cf45c7dd03f7fed3dfc1966dbbd8f8b3da1e9e3f9d071985d1083a1ef8f9afe0e1c7d770b449a9e7018cd22bf8f3c9531db06ac5623878e8187ce76fff1a7ef29327d0d137c23bbb0f60e47e1026b48d853118297ffffb3f8547716d162d98c9e45ee216d06751644411fe9efd8719a81c3d7e8ad3e0607926dbd0295366801c768cce8b9cf2295c1b7a4f357153fa06392340c061c3e61decfc426b4cb6efd88bd189290751f7d3318cac376f7b173e71ebd518b92f86fb1e780c162e988deb411c946350535b8520a496cb75078f1ce36c0639b4ceae3e388a0067008d009df725172ee588fc87dfbd07df77921dec617498fff49d7b60d7eefde8cc2376b6f47a72b8e410294b4211df82b953f9bcc9c11220adc27dd2859f8f21269395e99cdbf1fcd66fd8099bd179529681cefd00aeef13cfbc6a6beca63c371341d22e3c4672be4b16cd838d5b77c3bdfff803bcd665b8e6ba4b10749ec0637a00b6eddccb3c8c14f73539692a4d7dff9f1f866ffec303b065fb6e06cb0422687f50c687b219542a1c24a134aacf1377001d245dbb675e5c073ffade8f18dc91833fd5d1c3fc223ac7fe8141e6eb98ce8b32f33fa86cb7f3dd3d4c7c2660d8d9d9cbe745e09abea707815a0d02ae450b6670b9ebc8d10e04d535bce7e966a4f57f63dd26b8f7077f83eb56812908a8366d7997bfbf1f0df1d1e31d2cf6d78ec7b170f17c06f45bf01ad3fea5ec1801d87ebc47e83e2130ba71c3363355178ff9447b07af8b6f21163d8c80b398da891a675cc99048c54668897501271265eb7675798d905885bb61fc7ec032f9dcaa1ca63c719af63077b804a2eb02a78d8770dd38b68f95ac15d99cd00aec952a25c79b12ed21fd305908a33bc49a226088e324fc964092e96ad25d457aec83cee4c476205e3157603b1958bd1ba3b9c2946090c375af257048208727861bfd908089d789e5f6990cb4ee4c133d16036ed87d99427c20d911118c33ba25a4f89b8021f47a7e8fe10d9ae1a4c04343b53c7ec566c140ad339fb7645b5c271c64545fe9bd544ee9459b4dd79c4007810c7a6cdebc99b32477df7d372c5ab488f9660f3df410673fa8dcd2d6d6c6df490065c78e1df0c20b2f7030f8de7beff1e7d05a5136859e13274e842953a6701684be8bbef7e8d1a3fc99f2a0e17e9461b9f4d24b3f94a0c4707c52c7e909ec20cd0f0c24fdd99ffd59e6177ffee77fae87d69ce919aa7fcff48ccef0cca99fe974eb3e75e715574f9e34b6aa64a75752c471ecd829681e35969d9ba46a49f485ca1d14b59243a16e038a9ec9e8116831c23cbed387167531020eca56147329cc9ad68611fa2c36dee330ba6e6a6ae0a8ba6dfc588ca4e7b04125a7b0f28245e89c9ad0c8b630718f8c2d6522c8415379a36ddc583882cefca2e5e7c2a5172d6307488872f9d205787cb5307be614fe7ce2664cc4271defa4b671ec10295a1d3f6e341b763a27023d0be7cf622042ce9a8e851c033940cae250e9e412fc8e31a347c18471ad9c15193daa058f772e971c08005c7ff5c53063ea0406425456a2cf9b3b672aecdd7f049de244b864d51276dc1330f2a688978e8d3226876c89e92674a8b46ee4e0a88c42c7d98ae73c77d654360a74ee4b311aaec3289c9ce8452b9740131fe344fe3b955828e3d3dc58c737f1f9e72d60e7475c8273e6cf80563cf6363c67ca38504661d1fc995c0a19c09b7ff585cbf87a13709832699c9d99310c2bce3f07c6e079cec1b5ac2562663ee2fa38cb6fa303bee2d20bf0739ba0aba70faeb97c25f38626a3f327b2e8783c3f02664d0878264e18c7d900fa3e7aedaa0b16f2b9d1f150e6621402b3e9d32671e6a7a1be06d7b619b623a8b8e19a8b387b41258f0573673069936ed843874f3020bbec92f3199ce4f321afe3b557af841933a6425d5591d791ca5c94cd90617b33a64d6030426b70cb0dab799d08285dbc6209af2ff172e87a12902020538be741a5ba9978fd69ff77e27ade88c734667433ae4b139f672bae3bed15ba9e74ce6d6d63601aae413dde33c491a10c1edd84748e04da97e035acada9e2321ded4b023d878fb47309edd28b96b2d1274d9a0d1bb633a765fab4c90c26172100ab22b2365efb55cb17332f66eeac697cac94e9a1e3d8be63179cbff41cdefb743e740cb42f66e26710f0dbb2fd5dfefb8af316f2f5d5e27e5e463dc80cc793a7d1f7313c091d098fecb6d1adf502540490e8794f5a204e3e5fca0d511865dab0595159b588ebecace68de84c4e18f8f77b35dcc045fb4902aebb8fbe8f322541e4b916a16d8bd54e57c097e82c69de896b474fb3a323a4eb48677a74398c05cf6cb94824f405d451e657323f23c731680d220a78fc004c2318280455ca42718791925c90eca821189befcf5bbd9dc4b66e779c3c8efbc7742a998ead8003a15fbff61654e74d862d0a101c455570c1ea5bf99ea5d734353571b664faf4e92e83512c9aa9db94c52010428fd6d6565ec7254b96c08a152b18b4503672d5aa557c4e9415260043ef23d072fdf5d7c3891327786af095575ec9fc943ab4a33471f8d8b1639c59a1cf91077d0f7d1681980fe3e3d0c183b0f6c547d00f9829d3747ff4f49586b6ec39f92cfeb9dffaf6583d13f5ef999ee9bff08433b5558dc421c1489673e08b78ff121889ce004072ea9957cf82fdb7687f2ed893697de6e1bffaaf975dbcb8e9f0d1764372c585d8b6f3004c9b3e0f3741a34b8b13198b8c5c153a3ca0b42cde38fd5ddddc61c21167a9ec049244306a34028161fcdb00466ff568a8e9ef949520a36d249a8b0c3828421e356634544a439c292914f256527c18aaf1e7613575984a297934f07d080ae8772d7863542cc1966e2cd2d3e031dd69e23440a82386a25b0250d4ae4cbc0f228c51b6e4cad52b380f4b35624e7ff7f6733ab3011d281e80cdd8a0b1c1088b3e83c01a395aeeeec0f5e8efeeb575e0884b47ac508a377d7d5333a4a5183abb3bf12633c6b7bfbfc465128a4ea90b88ca1a04acc8099235ab4120564bb56522cae1b9d1f79063a3ac05750a15f0064eca093adf6e2353cd4abba94b6d732b2a956ea8b57560880d1b1926ba069422aeafabe5489ace9b0c19955944288dd6a911d7075c1ba419f645b5ed5d7bf6c1daf5db38da9c3a6512f31bb8f2449d2fb81706074b10e2770f0d0e70e7cd300d04e3ce9922678ac85906f8f75e5c2b6e61c4e8bf0f8f8f677cc431831451a42ce2fb07a95ba5ab97d7920003eba420207af09167b91c74ee39b379dd46b7d473598b1cf900eea7bada3aa846c3566119ed0a977768cfd11ea5520aedd19ede012e1b05b64dbb62f905ccb5c163aec5351ec4eb41fb885a9b9bf1d8a34215beaf9f5f4f990b5a433a2eeac8a1cf2e9507a188807b78a8027535f5dcc93638d0cf773d6534641822bd8f09b324a085ebd6d23296ebc73d7d9d2c195fd7d0008f3efe1cf356aebae9633074ea301f0bdd2f94d52b0d99c18a9472a7e3a5bf8d460012e29a0d747471c68a001e6508a94c1584860c5943d715d7b7b3b3db39549106f05d2fa643845a52a533c33866536a09ed9c233d4b286ff7bb1eb4296503e1579083110977723a5a902c617e449599444de4cdd00bfb1919022f14c8d906dadf71925179f504d24aa6a5d9678552557ea2630f5d59865563cb43a6cddece3fe2fd5fcecadb8be09a033f4a14303b18528e2d649020027ee69852978d319c98d4716ae8784411998f8db25a892ed76815db440dea2b7180e84b5ed25a4d40a3ccfbba5c4e9c72af8c0f10622baf89a95db1fd217bbbeb9dad08ce5b98e41a4666a82af986bffecbbf85e6aac0def303807726fcde7fbe0f66cf9afe5187effbf878fdf5d7e03bffe98bd054877b2bc841637d15ec3bd2d375dfafb6ff21718cad9f2fd927b54195edcf65f5aca8e7bf0462d2330017da17e9ff27ba72a45d58471e610899b938227a46e9eb610b1024cd282c7099c3220687b43c7a314a96415be44808e1d36751544b3735655e44adf3d4c976d3768746aa6453ae5ce7572d82f41e0236111a643160ed274fb18323032924bce1a4ecdaf9a8ad2e4d8db225958e8803f0b1eb2fe5d20f652838c58eef25a337d03f6466d9a071e83c7a22230d4e874eff523a9dde4346a160a34f323ae428a8e6692e6b0a27b81db6c8c730880e9b4008bd9f3a6bc850f5f6961980e8a17d04f0c8d918997fd3d649afa7efe8ed4367df3fe46acaa925f9e57366ae0eed460651f81d033c2974444b277e063957fa6f6a6d0dad0cb2b47ad367d1770917404f1c9e3e6d0202c2062ec14c9c30811d32ad696c05ad08c895874d9b2e39df8a8d0029cb429f439925032e86398d2cc445cabed0f77771492fcf9d3b5ddd3dbc86cc1baaab61704686963e8f382804ae287b47911e95b5cae858021610c3751ec0f5eb1f52c44673fc04ca88782d6b4d8e5b47a861685a3de97c88204d7e81ec3581b36efc8e241d726b41252b5a4b5a03fa5d0f01e9a2014ef48ce35e2bfe9658303290e14a1020a7bd43e5839eee3e33802f3472e1048a2f41d0478eadf3d06ea3695028f01a68fe06dd8794ce2e22a023726f1eff5bcab23d746fe171f27d12d9e81acf9dd65ec8951a94f8a719310032c32a97b76284becb43abd56a712d71be4e3957cd07d2c334c516e8988b4b756190c90e685e891674a32535f745e8c418359957ee232d4b6fe67225f6d88d7dc9b31ab31f1360ee23aba6ca0291d188cea5f8b4111832e74a6b9ee849e7a213e3b32a9021b0129f85f6807c47c5f2dc58d0ccce3c924e47734ee50caf47d65cec9e393603f4084c0e0da1cdcb99f963da9697952a327d178d4c605066396e468fcafccff80213b5879660cc19b4b2054ac14740e27f41bf30034599e82e4283671dc724b272f0c226e769a44916a8e81633a78218537b5ac18dde2603c6a265a10136f4df5949663b51349777d18e3447e57266881745927433527d9f8880010423c6ba87a749d18b3192eff1ccf6c02968a64e6934b0a3a413681ddbcc51318d810fcc899b94261110a92e5bc19bbf4c625e94bacc71642eb2d1941d3129d3384368d3443b01a1c690163343d4dc3461e287901962f29ed9883952cca5e3b7625fa91b319e6652d74118b8418299b63f3a96526c27ef1a2559799f761a2978355c0dc0449596be9fa274aa4313e82202ebb8d6310c9cb886cd03f41064d8eb9c33ad50a66e4deab934fd95667cd0ebfe1ff6de046cb2aa3a175efb9caafa869ee789ee66a699a4651e1410101104718846344e497c62d49bdc5cf55793fcb9b9317ffc35c618939b04671151444d54300e800aca3cd3d0d0cccdd4133d7f43559db3ef5ee35ea71a13bc92a793403d4fdbf2757d55e7ecb3f75aef5aeb5defa2cf49d780cf08075351fd3b7700e8fa6924abc267132438a6a9f940251d7496b5a4a4f1bb7ba231c3b36ceac6d45fdf99e1f7b1ee252f65ce6b13b87516957a010d3b4ec01db1ae865d668be899a8d08bb4a4dcd193f201afa5ce25f233a6f45afc5463707b54b5815aad42f81040d9037d569a2af7aac3742e4a29a7a2ca6802e0287447a30bfa5928cbcbbb3339b365c148557709e85532df87269c96ad46778d7ed7e04470dd635e19d5cfb0f232ef740e80c75c743a2364470a888d35f26b9d957a8100288b95f5047816d4cdc467ab32d0e0d5825b4e5938cfff0a3475995a9671da7421431da139b76970ae8e9652d4d6e85ae4924add686bce6dd7b50466355da7060c78eeb1148b1c19fc679af44cbc19142a04fa1dbc4705639acde4cfcfcf3508e195834890b103a1c911c29f63f617cf0ada07690f279b53040388da3acce7a26f7394d84cf20881e7c5d5fefd3a6495bc8dc29ca4c9543c0705d67a931324f08ac6884292909c8944c3d998d50dc5409532d63aaad67233abb8d59886aad191b2ca733b61d3a17ba54745f81a85e4c15c30f0b9604e222b166667a7025abe4e8b0619b313ea08fde7e3a1f7f35a282293f648ad336b64a7c65ad3c26aa0e8b0b75ac664f7f7e8233c6f388b22b74c6afb35a7d6837c4f4fc69573c4d51552eee09c0f520a6d7374aa35713f6d59ef57a35fefb0f13de47c62f3b9d5d25a5a8b6e844dd0750eb74b0e881535b3310e3684cf062592289b93b60fa1d1a6ee9f8582503f084e237d52d1c4ef47202251aaee1d9aa7232aa17edfea445cdf46eaf71a6502fa3da7b9c15993428799394976ffb9aaf2aa5903efc8bc0aa9e774f809b7ea0832700922395e59e78ce751f8218dfe9c78e0a3250506b099a0aa0e55cf719e5a0d561ee0ec9e5cbf08900d9240f5fe87447957cf9b9e0ffd1e05bf3a688ff7765e0bbfa683006a70eed320e9d43f07ce32d68d49ac2a68e681a95770f5dc15cf7f615d9376a305ba39fb2bdafd0cda1c1e1858584bafb753fadcf0e758f62d43e97edecf818175ba546ebe0f343223ba7eda82cc67a8d982ac43e0fc08063f8789ee4572238d510bb28604bc200a6f47008faaf5baa0f3f9d7b39928282d7bd99b946c56b9fb5253bb4f604d24a0719311633d8192e8a6eb62c49727db4aba550e2ea54c5b8509357177c224d53d358d8a870b8d974e87cd64bbc24d502c76711800bbb6edf954af1a324b4b56cc68f7a9d7ec20749020880cfb64632aa89fd1c1012c6f06acd9d226316055b8b932c1b54b461b50c8eb160640148f57cfe4b86069589fadc06c4300a99dcbfa6304c58eada056b942da3bcba2b4b4b5ae999f0e4dd37e5d8ad9afa35f1b3fcedd33f1a96b80dac751444a08d0d455c0d98220f756caf5508e48c887c4da17a3d5b5c9d56d9059c9ac2c5c67e2a31a7adf41a1eba41c276f70ed3d528ea2d251d16ea4b835abe17901be6d74303d6fe045462ce8f721786a778ac6f529185547a2336a7ce64a7f1f4b2ebecd55237a245daa4e107674d044d16e25336d7ad692c9bcad0e7d0e0e53d4ac057e063e637260e8d40247d995640d94b3a1edabbe2492e7cf04713681f804b5383cdc1d93e414cb466ba8cf40d16c1ac99629e855274df7440266dd0698548d8eaa96fd83198be8a701479b503ea8adc1dd2185cdebe2419bb539fbbcce1c086049637272dcf6809fbbe509a583c18e01103c870360c16780bcd09a079c7c9f4523f0e07ddc6dcc80f2c0ca137e95fbe4876af267b6ac9ce6af370be315329fcacf95cac1a30f501a2059cb5db2e729ebd8cab39386864658fa1fed6b2b3260ee73366dfdfa0d3075747817b1b5e75fff772fec50ddb47113e9526107e3644f548077e3ac9cdd064c94f0a51106a5a50367003cc10b0106925569c3620a55a35992b49e145ec9b011dc7224040db2994eb2e5e827ee3286dcab4e36867a3d4da499a7e3d616e5abc3e101483dc95e1446cc4332171a433df87e82719ed49a99ee3992ca191dd515f011b19f82ab6dca9dceb0d49c2367a41cd8d2ae051fb9fa88ad2719081f316aa7044e2945a0431980a0c4c5ecd42dd333505e1a2c65f8c16cde71a21faa651da9dc14d870a1d34645d156bb20c3a4d925dc17e82c7ad5a49ba1116dc2ab073d08225a58ea1190e2b31683fc0005358346daf30bd469d2f5f43278f59fabfb0b81e0d3654df4de19cc543ce3a9e2bd5b0a50683dcd80400fb43dd7c2320303ffade7893826ad92c06597f628b791860e4b957319a76daaacb4b6e450d80168f646b3780c0623010b9d148e7fb78b36cbbdbb0188fe9a291b94c0cbc4e40497538392317908a3ec8a0438ab8633a47d04d1d6c1974e94ec9ad3d2d106d83188e911719ba60b476e6fa573e004d9f4bdb87ff0f32c8009aab7d4a775c2e78336274f8cce190e3dfb5c42a91a20de676bf4be3c70f7c0f8e984e3f09a74ed3d00d1d9333a9557c9bfbc777a8d3daefb496707819d873cee9efedb4d3b5602b21fbaa82dd11ce47010a8ebc700d797b2a14160e641a39c55abcb9a468198109b049f067e020358924a471b23835a71fdebff64b2efff71b3254c366600dc77d3b59f83c08426dfa68db76deb56ea6820b1b550d860308d6098393e6c20a31f2bca96446c336e0170793ccabc8c924667e35c9420a93ffc794f085c2c79cc69633c805863e6e999157157f8f0a7a812917cc0f4fa84948f02307f5626b1a64b9dec8e71ab5e9de7bde844dc82eac87da91d57321597a34bd2ab606202fd2edd27fe8c542519c460c9bea2c35d111785e4a6432407d82e872985dfedb251c77bc57a7eafdb17997ffcef2ead03eb41a8e053e679a823c0da3e19a93e931d79c12aeaa6698b4223cd37237034c99d06240cd703ba48e2e77499e59fb6120e35d32886662dd8ff2fc9514df6b82306afb33b39d190f3aeab2ecdca6b95a51943acf5f58d53819fc31ca042330d158e580f345c2fad0ed5c87b937d8bf028cd0d4c72c4fb68a5eb189b1cb34c1c7e21ee014e5fd77c0f581f0f921a07ce74d1b0c292a3427470650baf6b92ae2722f780f657da67dd71ba975e7a36dc051374b3d3cf0a27581491280dd28d8260333d47bcaf90aea3c4fbebefe0216a91184fb9a51670df17f4fb3eeb85dd541e2083d4ec75d81b7ec5e4c44e884398414a468822fe0992162f68481b3f6bbc2fe668e1ef4c487bad80c78acb7834e3a46c99a3ab04d4489b5ffae21eed779e0acbcf459390054a9c033fafa2e4bd888e0c3955bddea4a8ab466ac9e6922b83d318c0e6d8e079c4cc4f0952724cbf4f3ca2f4fe9d3bc6b3f607e46b2cb0d514870b22e932143643a606deca786fac853441dc1a5ce3be641bfa41ce510a845aa147193acc2492f252d11230ac8081cb14d991576c73ba2ce807480aa54c536d135d09e0546c73b0d34a156683e7d8011298c7a02ffb923327950c9a444da140c4703eff7db207103980e875274571b5e661942020458627f25eed538612df8233c7b0b3ad4e76a49fece250e0b95a787e952b83e08e33866cabf8bf271b59679df8de27c05a531b2ad9c9f4ac8ba88318657822ce14c2eb6c6304cf994c9b6ace30d588afd3a6cfb036e0e75fcfce6bcad4a9521a4ceb1f381bfb9ccc9850cb7e32042dca8604eaa6519d011f4968fd32670944013030814b913e1127d3866f0fcf8212a3a88a0d3219e9766de9c30eb6a2a12393cc4368457204faf9349ebc5d91215476b85ad558d5a63b5862e6a0c5c4350234965a8f1445e3812b222fb0b546a6af6c0fcb14548d82c901b351eb5034c7006778ca3476a87d9ea1819eb943d16e276d9cf4b9435d327a6d49396984d31a0269c303ea49af75c687441c548a09220b8ed1a7a55c39926db7310b10657925dd4b1e3a45dd854e77c5bfd9b143d9a50ea4e19129bc4c782f562fce4a95a1959e9d20709af1514c5a49873214ed11e1ad700b2d3bba14d58d0669c18e3220af62a54c2dd0a46b424e1cf32d92216c732607d7aed30a963dab85588d9a1d3ea5ced38d732687270cf771a6aa7045a4dd11af1bf5193ab568504ca17d0b0928d235d67de3dc8c4c9d22a261bc8986440a5d87c7114fb4c37573cd48b5099c24a0564e258050512e9c05ecd83171ba1b24534164576a656d1ba31ea3d052f82f41384db164408cbf3b32758432069d76ba3eba8f3171ace93a704e0ba6fc23582b37aedb94a1198d8c5ba7ac72d79cacd7707baae372f1f9ecb4a5e4899ca5b46e08d2788db824d04b40604406d1953dcedc202046e273879c28f35f5a814b7050284f8a4b3c38db90e6e488ebb26c5598b092253d63c91681749f7159a3b02e36e42c912c7bda37483a1e0a53080cb631031326992b8359a50492dbc412ad692441d9616239960a09e8b47bc6cda08c405dcbfc9c60ba25203cae762b732b40fe3db42b5075b7323832ae2b7716b4fe3cff06dfd71929b8db05cb62687364f81a4f0dd7a17c69df966273aacc1129e4d90dc91471048b9d61e6a705b163d47adf2e09bc9743b8566c7334530694e9ed249b9333176dbc3eb12d2a50d829f99aaac88d06bd6e02dd31ecdad544259ca241ec05216456d22d382e259de75fcfeeab125b9249ff9c997aee957292816ad348f48e010bce361496aaf59913258611b2c6683572270b0d99c28e8bf41ed4db684f5b2aca8c99d027628dda96c0bdfc351802e7d6a89a8e12cd69a82b6b49d3482f68979a45ae3c729ca23d291b0c29ff808c734519a0601f22bf57c8f0422d13000bbd14421a242351048b14860258870c45aea2b0d88e52f9822c474d86afd67907ae1421ac76be87600e92ff2d1248b4ef1427a7624d72d3ae7ca19fc1116d47049e4a891ca32c8e6f1b96798d0dcec99080057c169d69a55d371a34549dd7f4b9ca582b22d4cfe136ceda9e0dff7a4deba32d87b61641cc7afa7bc411ee6c6f0831b6a3ab255a34a45699ae6308a226e5acd446e02894b69e14895a4abf769fdd2445aa86163971017fbac2dae6a9dd4b41366e94ac4b7004c1e122b8343f48cd3eb75beafad772edb41f681f3187a325357eeb88a845f6dbb3f4eba83216e26882ed5fda9b76c2e4df23032a6a3b45c3a6cfc02ba7cafb714d4b0116519cf8f03459bba2c8231e24bba7c0cc974d64d9b91b4fee7f787ace72e1fe1a92bd4f41c95491d98e83bd1d31ef7dab2d271030add95d228a1e30a465965a40af7c7e3e2ecdfdc98636cae6d55255b4f3c5e7beca67d891820bb917ffff55ef84820f506268b4ebd0a040ade020691a9f63479e918db9a7d29910c7d51e466797f0aceb597267c193a7752f050b3e7d493550c6a4ee8fc1d60d7712b832e2bf00211c7b41f6cdd69b3592580203ac81e0f9d7bf470983f75589632da44cbf3b1ba0766329a70f93e3638d4e9358475383443e0333dec1380fc4129716324c45d3786daa03f3ef61bb6fd4f1d8c04e85eadf034e9152c31ad14847879c346efd731d1c204e06c4e866431c08f587206519499d574af62383cb8270666980930cd18c143b358e6ea9122fe9704e6d1ab7414a50511d993a7b0cb263659d106c9cc478cb802e0831bb8e68c13519588a7cd4b8d4a1d12d13c4919b2775fc8a28e51906429523e0baf7f07850e10f993736f081e978f07a16f8b3aace08d0d6b0c9f7a1df1156bf3d68b91fcaf284da1c29406802b7c820cc326006060a0123d17ecf9cbef0260cc6457004d126c939cab33090153ca06af255f8568b86b3a821a7c13933186c6ff3567403d2a44c446043724820a0494191dd7bc119137e46c24ba82b29c5f956d9903bba62b0ad131d3a8f1558b6c14e82ec8d5a7faeebe6e83801f2672b48662e0b9729b09ca843f1a2e38141ed5498689f5506d8ea3a1a09bc918905f7bc558115c4f9c7b04b9793072320cf2fc859adb41c27ebcc531c1410735b343d97067f289ff76c7378e130c30701ac73af4192d7cc588c52c2031952caf7830463ccdc30a1bd6fe5baaa2e2cc092182f6f6edb23d0b039c671d1b350d4262247e521d1e38950d8c0450561d188f5a23ccb279d78829ccd0e8d927d7e7e052d6a519403adf4b5e966f4925f18c6d96310b9e59d783b7dce84ca75f8cf4759789e0b364253840787fce1203f1cae77fcf1c73fe369b938a40f65e9972c59426ab0cff485bf83d7807cc7ff742fe1f25820099c55df5dafddd62e8c6da7b5a4ec5ac66750fd835a52c32d97b110c3855c09e02152bd3e3a29d613c0ba3ff2073892cd0e5033167595752782d4abc9ea05b0e9978546cf3a7554de4f9f24d17311b210901ed81c373aa7e7c1880817e5ff1f2caa523b5168442d43b1821081f18b6b6d9baeb3ae88b6dc514923b04133fbace49aa03991982d3b7863189b0ec445cbf63d45065296b951430a1aa907eb4c30a31a8483a2191489b441867d11233f461922c6eb8c1d1ac1627d7916651654e2fb8c06561a88de65a1c032504224b508bc8622e4617045286c72a95d3b64dbadfb422dab65cd2013ac0172db6e809c9ad37b8a2e322627162d8fc77c0cf9851aea46a706edff9009bd396d14dd1ae44e0ecdfa29b0078d526d496a7268eab007b70ae8fd68a9693043a600d2c02e57574a47d2cce720f8596b8233837551e5ff911205b517e33af6ddfe034be337de1da37c7d6c10a8418114e4ad1fc101dc98332fc1cbe06b66a9760f58d7c7671a82823787d3d178d7fdc6356aa98e80a0d91cdf31a793899b3a3785cb7886019ba39d8683cf3d07bb317f778006e88e722f8336873ab306b45bb2cd01e2dc8191b45db6d5baad20db1503f4d11e7d439c2be4a5adb514a3e649ec7e5bbaf4f2a0c29693840844ce448e5d518486bedac68d1be1e1871f2630e1c5f7f085f36f709af0fdf7df0fdffffef78926a0ebbd6ddb3658bb762d8189471e79c47e07270bffe0073fa099380868b023d1cb1ae05c9d9d3b77d27befbcf34e9acd73c71d77d0b4610449f8b9f8dffabae79e7b48dafe3f43c62403be4865dddd39c46fb7654c4612b2248554d94c43432d2ee5140578357cac2963e6c43a19349a04ce2ab485013f3e310ea1534889210eac77b03280390a3931751d1b2971cb60481684559c43c3daa9810397d67479608b7e0b28acce9a4b07a1695222b831e19995af9e4353cf9afeb77bab73dad93a68e8ff1704ce304b31b8b1a2b405a3d72962062ca1d0c44ace10801a43573a216325250e354cb5795d077aa2d6998a6c28eb0ca872d6878117a58055d8caa5eda151ae2932d0742d92d12a72ae6ee2d2eb5c2ea9b385740e334a8bb5011da63336400fc7dc9245910e0d1ecb2e1d23024872994f1c4f0cde2ef3ef87984b69da0a2be0333ac0a90e25140ad6b3b1b7fb16a745a4667e23215375c25a8eab2134ba2df8f929c0f15e3cba6c4d91c1b480655b3699001e2136c0b766d8ac334eef19411bedcd28590770fa14f97934d54aa52d58f79f3959e91891fb2b8a0c98b4841a0cba35c28546892467bea20117f7c02d03e011bbddb3956b25c357f090398a0adcf934600ece51db59a80dc47a7fa0e9f3a8fb993e131a7bd6df551db5c72c580012fc1a34809b9e8d2819a65cc6d6f9408a174d53246a7926ba150ab9226e59ccdab29e9a3dcb5d5479ff0711590b024668927c59c0586fdc08bdda2d85369fbb7ca2b40d5704826bd99bfac2d935383d18c102bedfbf1e78e001020e381518ff3f0ef0c33938575f7d35018e75ebd6d1776287cf59679d45b37556af5e4dbf7bcc31c7c0fcf9f3e1aaabae82830e3a0856ad5a45000341d001071c002b56ac80cb2fbf9c66efe0ec9cbbeeba8b7e86c3031f7bec31fa198294fbeebb8f32286f7ef39b69d0df7fd88489cb8cf2a890a241d67fce644c6ad752aa6db001b22858d68ec85a0c9a196089e7cab543e200aa1118191a1d68e9cc11831ee2e624d2c2d07e3e54c148b32d1df42586c2a27fad36a8436a084c81cb2ab868c51bc83adae44c80c1c9a551c2b2b88bf4b239cfa2304e88d6c78b7c51792859cc402a47ab3e8a0eeebfb56c541a7945334f9a69ca83c2d451474bd1bb00db52fdc60d68107582456f8533a0a0192bf0825fd13ecfdcb8714fb2638dce64c6da838a682466530e862c4e66c4910653c267a46ae6df84a2c1fbc9915d61611fedb1bab276538bceed3da1d9c25cc546c49b4b4ec140d8603ddd730574ff30ef405afb626838405dd3d0e0d54884ab254ac8ce92a5c173e45e473027a660ad0845833750d7755360cd67ddf4b97a1069df0f42ec0513c20b4e11b71ef0c651019566755c3652b93431808f142ccad7675e18f7236620d4287146cb1881fc7b789acc04670f99b793d5316383cf516bc90a32474cf74ccec2384e9aac99ca816bb6cef64463ff78f0e7b2479081511142a394a680cab280e0cb96d0c8ded9d989b58d950872f6fd20b5c2650fad3ce332705064206867d9a5b5d48e0f8f8c721748bf327142fcacc92e2b309702407198298b6ebacc7b7a0f4efadd6bafbd1a6705c1cae9a79f0e679c71067ce94b5fa2ecc9fefbef4f604441040eddc369c0f8ff350b828005010a664b307b327dfa74cab45c7ffdf534c8efddef7e37ac59b38600c8effffeef53a90701cccb5ffe72b8f0c20b29fbff9ef7bc873238989179d7bbde459f51efc60e97679430890a523900adfabbb7157bb701132f51ad2a906a881b46540c156e40656b2b2f858951c8ce6f73a6044a50fa8645262eb7f974ba24a619908388463a947cb29450b26300e7747d6a171a29773362beec10b3118b4e77c1a7c3a37eb6db356a24bd93b108cb3b7f4dab0668946dfc451ae133e4e84f09055152e5fe9e8364a7fc060e3e132592db5141571172d1c16531f47b357b529bc771eb23991f33ca101c21b4514f69664174c51bf7ed7820ca43910c0568540cb98c11ac745237b2179ac38f0a2543e69a142ee256a0a059a1e001e560bdac0110a101506d7e8cf1263c3f252fa6666d4c8ccc672c8a4c741e448ed165000cd81a39b649cc1e2c8d1160a972890e5c49229364956c3d407a0d39da566e183ccdda51793282e3aed4e6888d801b728641f5838cc7a1d9135f06121052c75c6ec864f0a733d451f67cc865532dab4006d70ad03379cb650d1c985000c97b26679720346d8796646bed3cf4d94668f26d1a40d73dcb41fbd9505aaea39d31b06c6d6cd83268f051c048dab52ad1c626153e2ae1d901687fa6432343998226e95ef32abf9a45445e8905a29245c2e1a334d6a35f0d003220a0a11a2a98a5c0d28e028c2f7ce10b54cac1e9c00b172e84cf7dee73548a59ba7429810cfc0ecc62605605c109fe8d0d16af7bddebe0e0830f264071e5955712a841ee08665b702e19724ff0fa3ffbd9cf525604ff604605270b6369e8a28b2e227073e8a187d2fde0f7cc9a35eb3f3cc7442b143cfaa480f85c24bf0e0a6f614b9e46892c5ad51c8fceaa992cfec2c25e41b207ac864a68bbf0c6489d7f3489e826b9530c9c78766aa37587a8aa2b31c64f57aed1083347c3dc5a5b9aa22148043dc46d02d09bd896febd2dd1f40090a83328d28e042b6b68bad9671f1ae57c35802d323075d45c706c183fe538186720e4942fbadc61ec332edb3039b64d3465c08c3e114a3d4092f46e0cb9eb8222c1badaa5e3258307ee982947d27a54388577a73cdb963962ce826176221abf26f35ec20097c1935433e02b24ab96ddaf964502b5772a004330cb02799509c845218776466692ae48777287648fa245b439755e3488b56528f3f7aa832ab223f259112d93349a9e84db846b54c9ec11fc5967985b71bbe3db20bae174ea38b473468105dfa7747e41edca10b934a85904bd172d712a9781c40187a642959e51457a2bcdfda2e545057c9c5bf2a83534ca2bbe5419246a261567dc0be987ddf1edb2576b96a197cfe051075ca6d2f92ee0803697726a0338c16500e9591661a0769e1d6e886e7bf9e46408b6cf732942333c9af9d23254544dc85de622d92ca281dd5884e67a6401379e03160a67736233fb5b3b5b40bf2b6be0420f7b04aae08c20af0a5523e3ab2535087a1c9ae511f0dfb38bcdf1d19b9cd53a1827c7e58e76b5f7c65fa91ae280aa64eb792e3a8e844b3a858845660d267d2d58b000162d5a44ff7fead4a9f6b9fbedb71f9c77de79943959b972251c75d45170c30d375066050107be6fcf3df724bfb07cf9729bb2fcc637bed13efbe8a38f26522d6aa6e07768b7e85bdef2162ad72008c1dfc5cf53c0829c12ccb61c71c411261ff1dad7bef63f03f755ec88043dd425fb1ce49828b98fe637909e41edea937970948293acf218099c682558675590f01776ed28a1cbd2e2d9880c4644851c16d43c4192258291c9ee384c9b3253dece64c9180234fb6763260b82338460d68b17b73d05ee7df026e8f6bb70d03ec724f03401a62f609a14e9faa1b2746e681c6417dd1a5861a260545d00228db6a16ca1fcfe76d1687064bca0158b5cba42f2196565244b80c2638f6f7c9884e896cc5be6da559da12db336895d07ae50c81d1f6454eb0ca23c69b46c7760fbd85658b3e61ad867c981306bfa02e8f6c6e8dfdb2872564d1ad063475367329e74ff2039b63d329bc4c7f039694bb14f6107789af64835fc04363b2922188527373e0873672c84a1f6488ac8c6690de9dd4507563f70034c1f9d09f3e72c835875e559475b475fbf0fa29a89cf1d9d388a504d199ee6284045632864e152f985ef34c27d81843f043c7d1e418ffb67f50337937e04ee9f7efa6c65ab6a568c270a7b20d42cf5f852196708c561c5a249a416b08e63e7b7ef7c0a363e712fec316f2f5182ad7287cbd3a4172c3b1272f7589e3113324156b837dc921fe1f6d557c1f474d6f65c72500281db25e06841d4749a71300a1e7c2784eb606db09223d05678a720acfcaa9c9b2b1ad71e1bbddcaed3c313a88b4cf0f07c2d2b01c7ac3342e7a9aa9d085c348090c140a496d9e8c8863ef86838ddd02cdf66f2afc7fa350dfd24ec66dcbcba416cb635f3142cdd0b92e7088e903d00e905288a647dd436de82758ce8dcf50554e62c91270b6b9752d439584298d62c18eaea945574d92e2115a3c0a4cb36b63aa50cad6cee3fcf2b4160e25f98b5c03ffa4270d2707ea254ad9f817f0ff25430ebf174bf832004ffe00bb3219a1141fe89befe33cdf4b17e0995ac80e768bbb0762ee81c88ac6c1e0c517b49633f4d548f4e4d0aa859808864b8350c88f980e32451285a76700105b3701cfac4f6141dcf8238be03fef6923f817edd85d1a1693075741abce59cff87a2666a3f2649e6748d9db4f1eb2e4779dd49680f2700d34b917f7b9896f2f6d5572687390147bde0e5d09fd86c86533b01da989548863f2607530e8d403f19e3d6d074fe4cea231fcfc453d185e80ca1a8876cf0d8831e761e55997d4fc3f352747bc5b55f83257397c1017b1d21998bb486e9bbba13633cf575381d9c7a12aaf4dd6d047625aa509664b0eb741dd7de7125dcf3c86df03fcefb0bc79dd1947268a46e29fb41732dd2f5e1ba065615ed8ccc60c39bd6849c537b44767bfabe7a02aeb8f1dbb069eb06b8fbe15be1cce3df00b3672e86cbaeba000ed9fb0858b678455a86b146c9c2666bd064e569f0d063abe0e67b7e0ea71ffb9a14c52c4e11fd5612ae8ada22422241a3b4c6bca05d112329c9f10d8fa6b52e86e07b577d09eeb8ef3a98376b319c77c6efc1862d4fc2da75f7c3712f7c257dffadf75e43e0f4ac4507a5bdb24326178fa667ba233df369d09bd84a6244a183ea9315ecdcb915cebfe44fa9ab6464780a4c4def79cb2b3f90be7f92dba9719dd375d2b3460086a5c9de247412f889283685d71c70ff5c9eeea786c30f7e29f4c63749f9a83637d1c17d9680429df64091f64f2feddfd6f00c7aae94ea9edc99b90602483a6dc93062a6315d43375d53676816201caebb3b19dc2500c45a116dda8b6b373c025ffede27e11de77e10f6597e38d4639b5d1930e82932308e9f412261789fe9cfe4f87618ea4c49f79beeab3f4eaac1b87ebc1758fde4e7377f0bee7de44e72e0478d6f8343f63d21fddee64608470006a2cb60406ec5d78e32e31d654e4e7099d3c83de403ce1e888cdbc8bd39a2672e4f0497ca1c2c8bd402ba585728c4c1f22998523495bf0468abb60797a19a9d407eef07cd3c550a3e6b18a0e90a719b6d1d7374602043c560d232762eb36319ac021a647b4ff40d3193dc1bdd9145a139322bdb35b23a2e23a420b972add8fa3796e755f919642c0702612cd950a7a54c3a9fecf660b86c3f7d05f4f9d7b3ee8f5b65ce343fe7804921aa88f9b0178d49948375692f74a465993c3cadb4f9391d3c30752611a273feee555f86bb1fba05a68c4c8739d3e7c3b2857bc34dab7f066f3bebbfc3b7beff37b074c1beb0f79203603c19fc2357bc18eebcff06b8e4077f0f871f7002ac4e4e74ce8c053077e642b8ece75fa5437ad2ca33e1b0034f854b7ffa39b863cdb5047c5e75f2dbe09a3b2e87fb1fbf0bb6a488f3c5879d0e933b76c24f6ebd0c8e3ff4a51451ec18df0a5fffd1a793737e124e3bfad5b03c7defd7bffd31184b4efd85fb1f07271ff56aa892b3a85c1dfafa3b2f27c7890777e1dc3de085fb1d2ffc923e6d1e04251b363c0037a6e8f3f0577d8022fe55f75d0d3fbdf57bc9e11f0e2f3efc1cf8d1f55f870d4f3d9eee6f272c9cb3144e3af25cf8e6157f033bc6b6a5359906e79ef4b604145e079bb6ada3f74cc1f253ac2cc75d68478e90453bc9296edff114fce0fa6f91a33be7c437c3e6ad1be1473ffcfbe4d067a5ef7a14ce3bfddd70efdaabd375fd84541b8f39e8e4742daf82b9090c7ceaa2f7c1838fae8239b3f7849d13dbe0da5557c0f2a52bd3578de51667918b6f25f0a7afb9b397c28e040ebef0dd4fc09107bd0456ee7f2c655b505a1fb368ddb437befc2f9f828d69bdd0a96166662401bb8752f4ff86d3df09175cf6d7b47fb66cdf04effef58fc03f5d793e7cebc79f49ce7b08aebae57bb03181a6d38f7e151cbaf791f0d5cbcf8747373c0c679ff0eb307ff6f204662e80c7363c94feed2838eaa017c1c5577c8606f8ad7b6a2dbcecb837c0f245fba528af4b7b86f7cfff8623569c00773d784b02408b6076da7797fdfc6b747b271f71161c7ac0c9f0dd9f7c36bdf77a184a0efcdc13df063fbbed87f0e093f7c1a6ed1be1c4c34e831d3b36c24f6eb90c4e7ae199d416bf3dfdfc922b3f034f6d5d97c0d96b61c9fc3de1e2b47f2612a03bfc8017c14947bc3261b19d92a8aaa19dc0c1fa4d6be187d77f93d6e1cc13de040f3f760f5c7bd795e9bfa7a67db70ddef0d277c1d5377c1bd6acbd3d01f3c8f7bfff8970c83d57c3d61d9b8067d6706b73a3bc211937ea3c4b6b7d65bace356bef80d3d2de5ab6707ff8ea0ffe8194729f4cdf7fea51af84195367c337aefc1c3ddbbd161f08c71c720a1c9ff6c377d233b8359dc543f73fa941988d9e4d1d3c117aa0d539c446e78e713e8ae03897be04148ddc9b75709a1d3539f3a68e1676d1c050c13a1687cc2ac90dbd1ae9680a4258e729d965839b43efafc165df94cb1544cdb7255d3c60a5b606d7adc85945b0127561a5acc24a8e83f9ea0cb872f624ee4a882c38cb151de13648f18e4b56ad019ebe742a41709ca74c9aae4326ccaab8662160a78e7974062b6ef36db565ee536e677e1e9afc7bd4720ad37ac2712cf56e9d95b3dbc8af88863bc3c3d4aa9547b04343588cdf575a5a5807ad79ee098314952d6671b44298f214659423c9016f854e725c9de4c4b62587ba736c3bcd77786adb06d8b6730b2c9abd18e626f0714b8ac6efb8ff3a38f7b477c1646f3c018227289dfde8fa07e8e0e1fb8f3ef024ca2c5c7dd337d37b6f80734ff99de4b816c3ce14f5cd9bb51016cf5d0e0b31059e0eecf4198ba92470d7833727033304dfb8e23314c1beead477c21537fe73fa9cdb616bfafee30e3d05ee4946fdf1f5f74349d91761fca77b7bf8c935b0ea811b61d58337c1c34facc99a204ada2c869273bb11a68e4e87993396d1cfd0d9e39c9f1fa5efd8ba7d3decbde800b8e99e9fc18ae52be1e8435f961cf267604602107b2eda1fd6ae7b00a64f5f4400a3a56974311c9dd1b9e4b4d95864012cfc9f897e97b215b7df773d5c991cdbe2452be0f18d8fc096e4cc5e7adc1b61755aa3ebeefa71025bbf4665228c2c11945c7beb77e8b35eb0e2248ad20f4920007fafeaedb0f1039ce21d4e6bf314fcf09a2fc3f77ff6a5f4e78bd04e6bf296b33f08471e7c0a7ce22bef839b13184360461161da1f2353e6d264d72ab20c3b82ac1de9b9ec9cd84eeb8c59aecdc9b92f5db80f8c8ecc8083f73a1cb66cdb0853d2672c9eb727ecb160af04baa62560b00196cedf0bf6df6305dddfd5095c7effda4b60fab479f0b94b3f0e4f6c5c0ba3e977563d74139c78c4ab13605c0e5313e845708840e3dcd37e3781859db069cb7a58326f7902380fd17dd1fe39e8a404926f839fdef88df45c6fa2fd336fc642184fcf0cf7d1d2043616cd5d466761e6ac65307dcaecf4ec79ff5c7cc5f9309c40e1b969fffc3081c27b1fbe93ca63c71e7c2aac7ee85658b7f12168b587cc3fa06744b08dc6fffaf42c6e5afd63ca80dcf7e8ddb4b74e39e6f570f5eddf87fb1fbb0b4e4aa0f8b10d0fc2c8f0a89cbbb638352ea36176a73d3273170d0d744cc8d341ced086cd4fc0a509bcb78767d036b933dddf8947be9ad6f71b577e1e5e92be03338a9bb63c9e40e672d8b4792ddc95aefb2547bd0aeafe38a7fc011a246f4fdb29c280133622bb38e8812e166aef06afde5a351d1cf84ce08055746ded85cb80f8ec421462ae96671b24d39855985df537775b39e90125f3e63270c825bb98754be2a04612651ec0c08a7189bccab3feb7b5a647c7056a76c0992e91cbedc78189c31934b2b8a3ceb3312d94a270aacfb52beb649d230d24fd40535f4acaf7088d9667cea0f314e2e75fcf7ea240957f9993593c6341baff5ae457893874d22c0ea4e3c17ae52e8c73352c9a29d1817eac72c903c562d1a741565937244bb6cf99319f322573672e802752348f7f9ffde237c15f7fed8fe0a547bf1af65a7604dc9e400696088e79c199f43ba329c2443033323c953e6be6b4b970540225c7ae3c07b65cf5f964dcef82d9e9672b92735b3a7731b487a62710b02939a81970e8bec7c3e6cd0fc1ace15970600203eb9221c6d713183d1ef94ad877e9a1746fe8c48f4b91237ee6230920ec1cdf4ae45715684235c92573f7246225fe70d19ce5b9a59122302e736d4fbf87d78bafc79f5805d7de797932f6af816fa66894b224b3f748df7b0e9c70c4abe83d1809ef911cf19cb40e8facbb8fae0523ea767246d39283a54c537adf0db75f0ab3a6cd87bdf6388806ba41e47928a1354ad9a3c57396c2bee9df300384c0e3907d8e84935f7816cc98b914b66c799486b22d4dd1f3a2f4bef9b397c0fd0fdf023fbfe387f0d6b3fe408c64951cef2c9ea69ca2fe4e8af02b99c08c8e11cb1d08ba7a09348d0c4f4fdf7530dc7cef571398d8001f7ccbdfa4b53d8c48c56c4399cf40c01096d2b3194be0609f04cae62740f4b10bde0bef78e5fba9dc72e93597d03a3cb6e1e1f4fd3360c5b217a4ef9a80171e786a0214e354df5eb9ff71049aaebdf38af4dc1e26e0b762cfc3091c4d9d3a27ddd31e70f6fcf3e0d0fd8ea3cfc26cd819c7fe5a027e67d0750c6329a3d586d1e129f42c674d9b43a0e49895af80cd577d111e7c6c35cc9e3e973e738fd98b8870bb310199d9d317505963fdfa7b61fee8bc04265f004f25a084aff59b1f83971df35ada3fb8465b766c84630e79091cf7c27312787e10b6efdc0a0bd25a67d5da3e7cef9aafc1cafd8ea56cd8e6adeba1dd1985a3d275bcf2c4b7d09c9fbbd6fc8c3e7bf9c2fd689f745a0c8c1140e3b5934479ba97bbd65c43999995fb9f402521d5cc283ad3e08a6bbe024f6e7a145e72c4d9f0e35b2ea5df47907740baf643f73d369d85b5b005016102ec8be6a6bd306b5102323be0cb97fd55ba9f57c31ee91975c79f6af062825350f61200dae11d5d3bbac104d5be11a71aa4d4114d79d6b5d5aaf648d0ee2c513b6e08dde42c11eb8b0473f23a1b28d659195a4b235cda093646c07211a1b00c4d18e82ed336e2a62c41d1204fe7596179e446744cb4bc3260dd445911ae912b31fe4618006799271f1a7c2dd34a91419f26a458645e487e4eeeefe03b78a2f0472ac91e65b143e5bdf0d8913c04507f0bd79426b50fb560c3fa0dc9ce0ef3bca8e75fbff20b47c36cd9bc0546d29a76864ae65dd6b50dd47d4e01139c8f801b4b375f26b69659e954d9ed90c7c3ebf454feff3c629b86bba16a64c5839f0cbd93a1e9532d1b354e70b2e8a66debe990ad3ce8a5c9f04e8515c9c857295abbfbc15b290370f841a790e140277be9cfbe0ae3c951cd9bb988b21ef7a5c8f2a1b5b7c00d77ff147efda5bf0357ddfa2ff0b75f7d3f7df6ab5ef29bb0fff243e1c2efff1d957f5efcc297c3862d1be13b575f08e3bd3198323a0b5ef392b7c33ffff482e4ecae84a50bf681fd92a3bdf8cacf9053b8f791dbd3dffb5a124be7b11c7ff839ceaaa4c339bea5c174c7d7fc990b096090434911ff700219f73f7a27fd1e96b0305370c54d97d28ca1971fff4638fba4b7c1bf2460f1d4aa2b0918e00b3302d7acba0a66cf5800679ef83658b7ee5ef844026e7ffcd64f51f60289bbd64d94fef077de4f6b86cfe096bbaf841befbe0a1e480ef7ec17bf2539f993e1d18d0fc3377ef4b7b06ef3e3045c2efdf9e793737d1cfee9275f8493569e01fbec754c72fa8fd033eba4f5a98463023449953308fffd4d9f90f0bf8427d7ad86e92353e1cc0400a64c5b00fd892d14b591b1c58ea289ad70dbfdd7113841a3be6de7530950ce83230e389ebe73e9c2bdd3e19b0db7acb91efef1eb7f4843c35e73ca6f119fe4b1ebbe0e9ff8f2efc38b5e703a9582d625008bd3666f5cfd537a6e08921e7cf40eca80ed1cdb0657dff18304c83625135dc2912b5e046bd6aea2ae31dc3ff8dc0edde708f85e5a53cc24cc9db918563d70737a2677c1030fdf0cd7dffd6378c369efa4321fef9f29f0eab47f56a4fd73d10fff01eeb8ef7a78715a9fa712d0f8eecf2e22d0343a3c135e73f2dbe19faeba00aebeedfb94edda7bf10af8e64fbe007b25f08759bc650bf7817d8b95169e63e61041f97d8fdd4dce6ccb8ea7e0c65597c33577fc08d66d7a0cce3ef1cd70e211af846fa7cff8eaf73f49191dcca4ddb9e6e7e93bae800d9b9f24d0303a3a07feee923f85230f7c311c7ef0e9e97c6ec9de26adffece9f3d23ebb99c0099ee19befbe026e5d736d5ac3c761a2d787630f7b199c9200f925979f4fe59e579df456da2fabd2de1c4e6767c7d896049acf85fee4b69cfa97e85d4b293e93e7db55436c6a131542445504d3d0a5d15f00df95135cf75a063f4644b5b1107996542deac5aa16ebc9e934a6420323157b0cae2326141918d4b50328dc8555294d77408f493925004d6d10159bd44e2f1dbea9e3144268aa0df32ca2601d307984c240190b06cb373e7be124fdb55256c8fb75d4511dc1f78331099705d4b04c851c2db5e5da966d83348b16f981663717abbff60acc24ce8479f3e73d5fd279d6b20401a64e9b0add892ed409a454d4f4d1daadeb1b06092e21e76f82fb53b8bf4bf7b7fe69b93f6df7a7237f0fc9ffef08cb6ec10fbef5d18f9df4a2c3663ef6f80622408d8e0cc19dab1e82c57bec0b73e7ccb67912cc2169c998efbe2178cda268cb702f45c7c8af98b5f0105375e4435bc3a62d1ba8de4dc2631889772792a3fe6732bcef7afd9f2787b83d19d127606c6207cc9bb58008b0ed6430d73e712fddf4f4a9b3607c6227019d4e7a70db766c8145f3961120baf5de9fc35ec978cf4cc6190ffa131b1e828d5b9f8483f63a1c9e4a0e6e5b726258274643b66c8f95b071c3fdb076fd03f0c2152f4ece77477aef3a0248f8f95346a7a5ef9e6e4304838f7c843760f2e12a9a94d6059de697bef7498a3ef75c7a788a501f4e8e672d7167b0c484e0013301d875b3d7a27da944b3e6a11b13f0fa0a2c99bb17fcdacbfe5b025c37d35c0c7cb0c8f7b8fc9a0b29cdfe9e377c5400809be34212d243b03a81398c7e91d4bb7d6c338d64df39be03e6ce9807f3e6ee096309185c71e377604d72c8af3fed1d307dda1c58bf712d19a93de6ef0d43a3b3e182effcffb078de5238f5d837a6a879937474686a1888a8cb461f07368ea41d364a84d46ed56d447c3457a49a4cc07323f16670a820aecfb6f1ed7069028753d21abfe915ef879a3a816ab869f5d5e4d8e7cc594a24e7cddbd6c1c34fdc0f072c3b2481d1312a0bb6d27ec152d0d2041c311b86e592fd961d0a239d91b45f1ea3a9ca58fa983f63116c4c4e7d3cedc1b909088c74a6110fe79127efa56c17823ffc1c6ac34dfb10331b98b1c2ebbf55ba94664c9d43fb645d72ee1b363f06fb2d3d84ca8edb92d3a67a7c3a034b97bc3001c67be0f14d0fa5fd73128c8f6f2532317282c6d25e9a9200cea8b4e0f2592e697cc3dd0fdf46190cfcf1ce046c914b323131060b662f8099b397c3e604c27e70fd3712205b076f3ffbbdf49e6d3bb793b0d592f97b2530f9047ce1d2bf82df39f70f6156ba3fec0ef2c3fe5ae9b93cf2382b6622170bb323e897f03c8d7486618f04b8f1ec5c9500d1d5377f174e3bea5c2ae56ddcf840da37db28fb349a9e599432ac0eccd3b281cdb3822cc2060d09fcd8ec3609b92dbe8e4d0da23c6032772565f559a79a5bb85667ed3771e28299a712e90c6a1b16676975482834548399945b980273ce8c84068882c15b0b79064d591476369a5d73651e1dd0281f05371a21363493821085a364287449b2e0020743a121c408a66ecceabcb1b9eed61d06ac082b808a3bae3ac94e8fc1cea7d610ef3e8a34c4f85817ee5fb30a962f9b49cf05cf0e8290471e5d079ff8c8a760f69482ae22a6e0a8eecc8137fdde2760efbd965909e8f9d7af98316977e0a61b6f80afffeff7c2b4119c04df81a9231d78e0d1cd5bbefc2f77bd2fbd659df8f9aefc41b67d4ffe7fcffde9bb3f95fb53bbbfa3fbdb10711c0022bb55c7444b337e9ab0aa6ce2a66b09e9c9f34da29bef80026b51e68f500a306aeab32414ae8663e1fce5c0f9419c013e15b66c7e846add2bf63c0cfae9a0e0772e46c38dbf97fe1b1d7977720c962e3e4086e155302d45f448f2c334f6cce9f3a9c514cfe1e1079f42dd17d8268adf87fc80450bf64e3f1a8339b3169383e690ac0fbdf1cd3017f92cf3969383c4887c49727a31fdfeac998ba83515cb1fc18b62f919303a90cdb1ee917039323a1d5e71c279749d08b2664d9b9b3e6f21cd159a32c23a18d8cd815d2b757a7f9522d34d5b9e80bd93433cf58873e877f65cb442dec3d789a58ce30e392dadcf0e27e9ae92f215b558afd8f768ea36412f3465743a13e168c0e224fdfb53c96922bfe3ace35f0f8b1310c1eb999a1c3b81cec9f1b4465be1d8434e2127dd9fdc2c24c0667a5b99e278afc81f09e9b9998e869b7a4c516c327c4be6ef23651d3c71230970aca7281ab353756f6772aa93044e8f7ac1e9e9284d2630b4954ec6ac042c67cd5c9cd6629cca77c43148f7306bc6c2f4acc760460255c7ac3c333deb09fa8c3d716fe07e4cefe9f7bac451c14e2f7cee980d9c9cdc09cb1649eb607a0f9682f07e706fcd4e9f89dd5508548e4c6b8c9d3a089663fadc057397c382f97b52c7cdbc743df3d25ee10ddf27e086a59a05092cf41210c152233afd3a01ce59b31751b717ee1f3055d66ebad70e1c72c071b4f6781d3312c8a62ea0b4a6f86c71cf3d95d608d7f79c17bf0946124040e035375d07b596a7cfc3f2debb5ffb3f13409fcd5d612e38c0b5efa5355bb6c741aa464819a0a05d5fe99ad03d610bf2b604d84f5c7946da5bc7433b9dcb258bf6e349a6bd71dac741c60184188cfda6905c65f2330965d7d1cd758c0eb3e4166025927b422658eb73531d388426093477f9a9f2ad660982946d720d27c63a838190d561b5742d91204083689a4b45360e433a781a231a7c5909a0a9111472192b8b24b20e055f520ee054502dcf651af83cd7be9e415b704ad975b33c638d0a832337a2dd8f4db354cd9fb2457bd34a6c45cebc20f19fc5f7ca5c00729d3c580642cd9191e11101abcfbf7e75be678bfc270e4bac8652d029d385fbbb51ad76b702139bb45a55726872d70db69259cd5124c0eda245fd154b39354dd94461b33614ad3ed946e29ae8d0b864e1d0985a94d37f2a398999f01b677f903e0bdb32b1e1a4a214626187870ceec4ce4ce8c26b4dc69352a6440665d256dddbe66d23e96b682489a97d6c3306275fde4b46188d75501d0214f1a268a0670a967e189746589e0466ca9a128d4c8e6d4f00675fbabe2eb567a6efea65c1298ad0f0dadd54dc63579ec109ac1e6b82f4f179f4b22ec7ec69f3e8beb18cd00025a2638046a13fbecdd59af1a3bb3627a68a13098cec09af3fe30f0840f70800a4dfec670134cc82ec97c0619d9e35b66a4391d55a0d70a8f109b91aae5d21d6aa280e0368d0566e39aed1612ed80f7efb357f46807e62c7266efdc6e7566f9528ae10d033913e6392a76ad2d45b715cf4fc70e8647a6e61c27421f07bb42322d2efef4ca0a9b0f438fec17d679926c82da993133ba415bb0701bf2b66d1328c287501bad85adc9fccf2f628b486fba70bd682ceef47cdba9e44adeac0d9196189b31adf9e05f0d010612652344dea74ddfb24d0b6cf9e47d11aa1905b21f7ad0e118146ab336ca0a4319957800289a48153dc45a011f29c1ee4ab9c75f26f731977620b91b3a15fb013061e04d91874a96507e1762899d3b286d0cc4804d11262e2bb00052b95e41950dcbe9b4738648140f7ff299c8f8d9685a2c89d305174510a1b2111b228a001233d13a22103d1da87ade3a52196a6eaa99957176d7400e46e9e38c8d9c800dd04edbcd0afcbc830c7a66e70685882bcceda2545c86baf464d7458b0d05434e4dc20ebafd421936c045e65e1fbe840214b1968d647838e2e4ad21339b9e5f82581824fb4f144c66c953091f6eed469d360cad429cf238a67f1353a3a22a5c228feb6309da8e71430f16d87940e46b001393d49fded382f6172d2ca380a4a32509103105a3479121d6070e4372b297ba2bbf03726c736321f45830e277c950770c5061bdecfe188be3b40887466262c4b1c2d922bdc104065e6973afba7ae739dd98cb0a653eb2c475f148d993ad145131861eba02ca7e0948da9485cabca64776c7b8e12cd0882a5cb918f93d042637e49a3080d79e8174fd20d8df4347e0f46c1d0dfc49f2f1d04a6462ab66d626cabccd9287651d7f544badc1a09cd743580b58c7ae2a23e4714278b631b39ea761d5cd1777fb98e89ec5c658e4bed53ec795822824ed528893ab5d7f11154e1b59428b596e9b0cd5903e0d2facd09bd21a8d2691e696ffc0b6c038d41947765edade65fbbee95e6b533b88b038906069f110175902186030104110f11dc87608451af3e6b22716160c01bf849d6e93326b6d8195217ac82737efa6d7444d63cd5370bee85a82a1ab1a10d52785e869bf66ce28222258033b04c59dd7c741651d3bda1e589c176597d46f94c0c08fa417033941c474302055295964132b5b502679b93814168967606e66f317688069c6acdc8884861e994ada301b7c2f6a3761be97dfb29d25eef244a7d35e8dc3169f135c0119dc90170f387ea0688d5f34d9a509425af6d886b29df871d37da6d893fea61c04889d874967b3c26a0aa9e2fe13cdb2f6d0dd6d94e6463765f53ceee6b17d6c14fd82e8c40a3d7eb72470e64097a350c5ad6d1924f9e825858da348384d0b438ca5b772d6f65d19cce6940c94f008d593e5c478d07579ff59377c139e3420d596465561509d3e84c05a368182cb8d63dad437ba29ebb0e706a8de63c9db2aa12e0ac45d191d70a91c22e421eec57bbf92abe2dccd433455d09a3a9e6002aa7fd1032b0b467aad370a51b423f03a24acd452941558d016f746f2e5392e71a05cb24f9147111b2b2a5de6b5d379d6e9e749b67dbf87ed4004db9f65d80b3eb00b136ede8e7c014a25151e62127ee1930c7213b9bace61b1b72e5de19fa216d39b3e46794c8cc121b0a159ac3d3223438057a9ef219f04aa1cd394bc18f2f70ebe0dfa7c01276e1a615367f25b8ac1eb811059a113587a7d718fd60b7e8e674c4810cab2fd164d06a24d9220ff9d492f0e0fc2b5fbe50bd2300d8754c448c16311a787588ba31cd2a4407c2f27de4b9464e4556cea3e8d1e7ac03e4394551261713c81cb039f9ec3bad269ddd54e7b9425afa1a6c5bcec006ac4ce2a713370331fdf7a6a2b20f4e74868e8d22d0d29bda0217cf599bb4b3f1ac8e9a27c723e8f099741d22a8b6b62c8aa7551f7efef5ab3a645e5fe4fcb4dadc8d139f8bc0846a58ddc986505a1e22960109a6f05a34f4a9322e892ac02a788932eba66c1526f1ac86c5065d3a475089e43a68141ec119d49c09014bc93ae63dc4e6c03e3d8cc1470bb16110b3ccb4292b416c481a355bf86a01307e985a7412d73a342ca782c32e004bcbbe3ab154231d9dd01adcf4b0acefe06ad93221576d8b7d4f7032db71401d509d8dce53093e1b24063c2f41e614051fa9158dac47d64770d1a3197d999d21f345246961863903d701b0a922556e9ab066bc82e32ef8dab9bf473f595a8166f4d368436c3a5eb73f42848116d8d074bc4f232e08ee77826601dd3049eb8e08590e1d5cb98ba3a168cf2bb7cf4233ca1f04e930005a43b069bad1f3266c5fd6bba200088de76ba182dfbfeedfad3ae4353d7c86d5007470627c7eea6db0c9b8d9296687dd0c52c06d0ce7880d0cd403df054dc024e723080934032e70191cc52055631d1b60c7270875770dd89c8129a10e5cc4863a6e9e621ddd44eebcd76c423284017be106387a797e499219d89660c10bb4f9e9c99ac5d2510931e673efc18daabeaa405d2952ef2a32a7d3e3a9fcdded73230495f98b5d84e09ec96bd5edb7c1753fbb0ab66fdbf67fedb3b66fdd0a3ffbc915367c555f98d5ffc447fe177ce1fcbffba5d552bf75f157e0e3ffdfff7c5688bcfebbefbfff7e9a0d74c71d773402cb5f747de46f9177d6673fcc73aa9e833a263e9ae3d45d76ea3a4598d3a97de199f4c45185469403c029bf562721f0380caec263b2c9516767443db81991e9103435425aead093a4510f493b6bd41bb2009266106a9db0c952891c49972e1b10b28e42d13064ae16ec8ac31ac92bf92db85468289a916c3150f26d92e364a68e1bda46f56c997d13c009beb81478c50560010e31b74cc64cfed394ad651e88c39025c2835d9f446f55fa53c84c16898a6b195e97d73b3f33b67d3c882ceada15b9bdd1ca4cd25e5e68941cf3e8f900cdb242343d061df456e408dd65a782197cc8a5246bffcc35c2e024c0755d18a5b8044f51582743e6e94809ad62505314c1888c8d91f5e0ba4a2cb46f02a486cc396407e5f53e0264f0a49396a3e79006e6638101b762802c0a765db570a06c6fbbec0bb87d694aa54ef8ab700476cf5f8d3443253cfde45abdee3a8f6bf08eb209285dbb2e4003f8a81b2f0a17c937f8b4524e917259553527d936c6f115bc37990ad11c0eda7c3fe412ab9d97683645338ebe75384aa9cbc4e2dccf0b87a52a95a997ad537004e65aae837178bc4e4a1eded768e835784a40cb970021344358b7712471b8cb7475eba2928086ca9a256649d8161790cf52ad93e6a921a265e7bc94a1a868474b29076b6bf1337ddd7cc37570c957be0443c3c3b06dcb66181b1f87dffaddff06471c7ddc2fedb37e70d9b7e1928b2e80d973e6c28187bcc07efef50bbf0877df713bec77e041f6b37bef5e0577afba035ef9da5fa7ffbeebcedbe1961bae85f3defadbc6a3bcfd961be19aab7e0c53a64e83c71f7b14962ddff357f2a7b8d60f3ffc30fcd99ffd195c77dd75347c70fbf6ed307ffe7cf8d0873e04a79e7aeabff2014d908a5d51adf239a863c243cb0a13581b1eeed0b1c09aa31a7b26c0f66991105d338a76c64c249111b4f468a6cd1452c88ca256a9a5053e2481e62fc43018a9c4c6c15420c0fcb7686d799aaee4da308097b5a6298cb5660a0a33160a480ad7fbaf461fea6c00c1956fb8dc9047935b76a46c664594b449fc15fafe01cd065fff957bae251a2c5c1ddb78102ecd8a3f6fb54283086c246031ac04161c90a4b91626bf1da454144444533ea3888d56ef601c0c07cc74043b393cb0216211f24032057cfacce8fcc8f7e9d45c9a181d72ad3e5866a5c8992d5ddb22af2d6b54146e3e88232213b7c38317910e976bb528b48806726bd97b3a889aa2c9d245dc6593f0a95c8466ea3e97d0fc30399d705d863cbe1e64305a940c905111693d14a4152e33d990e4328d0e1df0c6c346630645549a045b4716d872d923abb6e85ad406865a65062fb9b4a1c7a9b6a192850c03547972abe014321c2f7af412658f05974518ecd801bb67e53d68f6af66a4c52dbf9087f2d1d0ca101ba3729a3c262d27cb7b8b2813b4f94157a43a2bfb3e40d3e6d01a83ccb191b50eb1d1ae1c07546cc167d382d8b23ada4c9d6c732a53be66031f2d30e3e9bc90b9252ebbeccb8db528e61a115608c73ab3071c37c8eca9ebd4b292b59e6354eba6356ea7f77569cd91d48ad1b94e75ef8b6826b5c67778d6d52465d4c16c1765c8e199778adc7eebcdf0577ff1a7f0da37fc061c7fe2c9307fc122f8da059f4f3ffb5f70e1b7bef74bf9ab89890978ecd1b570fa59af84b9f3e6e76cc9c4386c7e6a231c70d02170c8cac36ddfdf73f75df04f175f64c0e4f3fff82998397336fcc59f7c08f63b6005fcda1bdf42a069cedc79b022fdeefcf90b7e656ac4238f3c02af7ef5ab6922f2f9e79f0f071d7410dc7befbdf0d9cf7e16defce637c3a73ffd6938f3cc337f3132a99b83172726bbcf3d60a29b505376cac550ce894e16a6def75eb375d8b7186b6483d375d1264c6c7b54f820d219d3af9eb69e0696cee792500c60652092461703a112f97cb02b8bca75547c4b0e161e40fc2eed068a2a7e5403cd71416381ada24500ebd051c352c9ef626608bf0b05d174585659b4ac959aa2086ab58bd46da1ad7608ded8389434ed93a2d25a2b7591da7bb56381df9f792f0a269410aa291c26aff62de26c91709d44d30a64acb29289745a7aa1a9a15882c3018df2b7d6886b0164c8ceaffa2831dd666973e98621fe3ffd7f1c28358cf0057a750f3a6d34709e421448248d59b5953801166fd2a8a426e35748a70deae2f004dd42ee3d5a3909cc094e4abd5b4b88ec98d930620d5667a41050912e028b34075aaba974d8afc879d1df45d1f074f84cf067d8e68bd78b8ab755ad5d1915ad2dfa4c1cee57c83ca95a8060747c12ba57141cacfa36d554f72bde07be87c6b0a735eda0160c0e7e4b4ea2a433a2b2ea2539632b8fa66b51ae837790749f6ed0a6a2279d968c7a39a5e3b53079bd6a907099c4de67fe116db98a345e68669608b7e19aa9ca33752ca5cfd5e9ae79985fedb9a1f43f15ad4187f730ee3be306f119c3b94ff888710d55d42bf33218de7209b464fb214e98d6aae61437e9dc90c60e2bbcd6b13619efacb7e405571dc95a26831b510a583ac16c0eaead96aba5ab29b8965d0d9e6a297fe7ee220ef6b05bbed5ee7090916c0e6547a1a9e28afb049f33955388e3d7a7008789e825ad61211c160e3aa203d9519e9bb189641610b06d90ce9b28d3a2794fa56bc37d281c12afe48de044bb2fdb9d609cc3cc83ca40a74dcfffdf2e97e073ffbbbffc08bcfd1def8656bac74b2ebc00def8f677c0aadb6f8123255bb275f36698316b168c8fed8491d1291408e377eed8b60d66ce9e4dd788cf72d386f570d1973e07d7fffc2a58ba7c4f38e9d4d3d3bfcf81eee4246cddba39fdfe18cc4aff3d6ffe7cd898de8bc06556fafd193359bcf2be7b56c33dabee844f5ff80db8e5c6eb617fc9ac6cd9b219366f7e0a46a74c85e10426366fda08b3e6cca57fdbb46103cc9937ef97f2a99829c175fcce77be03ebd7af879d3b77d24465fc333a3a0a1ff8c007e0e8a38f86b973e73ebd4f96f3a02ac37ad69e53c0c413b87001302b520b2952354e6a6160d775b3decdc4d3c2226f52124c468dfadcc7d7730b3180b51de36792a26ccdc6970c7dbf27c60053a21539382f835f86a2a1af524bc4821b5501041eaa091b679f00c5c4248109146123b040c6a880e47264605557a27e764e7418fb151909227bc9f7e1750e0d75c8dff6452992d642d8f0e8f4b1ae49d2e7e97d08786ae111a0d120c1b91ec7cb2d320cfd4c3a24396ee0d63c902188b4266c08d548eb0c22ce9eb4a84d2f089115efb1dd1e6230562b49990d37b2e889d5dd2a285202f92c343e63e900ab33c3e78d0eafd7ad68881da7cdf1792767d9668783dd22058ca4fb1d857e9140c5441f4a28ccc0a320d9043a2e6060125003011d4dc929e049d2ee48d119b608e3a468e8a6eb0bf4790569e5f4783aac0c871c1a1e32a3492dc0b21ead16f397b0f36ba262038ecf0cd70f070d2af9951c67ba269a96dde27be6f56190e3679e289995013740b7dfa54cc4c8f0b4f43d350d3e1ceab0785e842ab76957fc3c54884cb359a8eb3031c9adddbd3168f08574281ab644a3c30823b3d3334af710b75b344ad35d69d2ab1226d3bead65efc58a9c93028cb22c1a0474ae8f4ba64c85f12822eed3604dd49dd06e8a5208ee55c97b05e8ec6267d0180c7746a8c30e0788914d4c9f3d99f68c66f5c8510490fbe7b38fe79bc413d3e7622759d0f74d642e0eb78563f7545ac32aedbbaa20b0db270738c92dd46529e7bdcfc006bb4348b40cef9fb3139ca90b04fe098c0f4f655047c145fa3dc9b44ca64813cf15dfab640545c65def036d4e25dd6cb89f82f0e438c32b53a5a5230a9f7947c0a6126355b1b5dfedd177224862dd1a04e37c36d026a2e8a04610748fe9bef099f40520541385f11bf04c5675b096f3be9372205982c92e95dbdaf83e013604305afc3bbd2e5e573bad5da0fbe5393aa2532282997cfe5b942dc2ac2cfef7d8d8a491ee272726d2391c9549c33cb99c6cf70057ebdf7a2100181e1986e34e7a09fcd1ff7837ac4ec0e0c9271f8715071f06e7bdf537890f72cb0dd7c189a7bc947827b8cedd747fdd7446e62f5808e7befe3cf8b30fbd0f766cdf0eeffe1f1fa0cf42bb7ef2692f83471eba1ffee1937f49f775ceab5f07ebd2e7ce98351bfef16ffe0a4e7cc9690480a624b0c1991fa0ef3afdcc73c807ac7de42138e3ec73e182cffd23dc7cfdb5302bfdde8a830f858b2ffc02fce8b2efc21f7ce84fe0be7b57c3372efa322cde6329bcfd9def817df63be0dfbcdf471f7d9438257ffcc77f9c3e7316fcf99fff395c76d965f0bef7bd0fce39e71c2ae5fce4273f812baeb8025ef7bad73d4dbe8483460ea46afbffcf4960129ccc3c935b391dad44b18cda18b0b0318a966d21942f63bbb1351505d6daed6128aa9e451b381ba428fb8d393b985da96361913746089d569ec743c61a0f6b32929da1610201e81486863bb063c7ce6438f910334fa227023518f13377043fbf1578f85d07f51f7a52b629730d9b53e92545112116a4ad51e2a12650c329fa163aa62e83aa021d86820334fce9be98ef929cfc501b24c897ec4845a5285ea78252a82582a8741fba9e68c83823d0b7141e5e3b661b388217e72a0011ad1d4571818d22661d3822c768bc2f12d26c4c87463af45968ac792c7cbade2239f0929f2bce64a825f28c6d8e48318984d9319ca25b4a76ac2812282987e8f7d1d8621418842380802ea6e7860c72e226e07883aab2b20cde378104047de9fe518783406559100099189fa0ec07ad11468e321c1253b64343c3b6063c1c8e058e4391f64760830a30c1d57bbc6671d0ed821d24ee436d91c66ba6ec5fd932a08c7b25a7e679ffe1fad4758fe5ffeb3e09f9615912fa2c52deee9404de709f9ad060c81a1791b235fcbc5af2ef19b847cac2741200a44816451c697da6f073486b82026f4539cc5d110583df420f48251a3ff26c18acb52da22d0528489ac622adba27537ed3ba20e8c449d006f62df8e009ba65fabb8bf3530a8ce24719fc2574313c3a4db2885d5af71ee95d140416f00c77500c0fbf16cf5d5bcc59c89d4354be4c3f1e4a11299ee389c93ecd01e2ac4f0263432392b5e50c097eee507b983b88221899b8259f8da08079320954e3992b5a1cc5575deb52e9c867e21af1d88d484e0def2152b614330c6ddab7aa6c5d8b2064405b92ee13cf6a9b068f16b07dc70e02d4439db65c439f412481ca71de7be9f363ec30df6ea44336879f4d68765621b4c79a5a2d320664e3b2cdc180a2dfafc9be51f341d0524f48ef6b49441049dc0f7f85cb4335052918031148a7996743a4d1d3ebb27d8c648b87184062e62e82057df8335cc30e654dc43169b44ee088f711da985efdccc8a56beeb91be6cc5f40658da38f7b11cc4c0000f54f1094dc79db2dc4ff78c1e147c2aa3b6ea567831c90050b16d1b5fdd6bb7e0fbefcb9f361e1e225f0d8da47e8f7561c78485aff2138ebdcd7c237bf76214c993a35818db3694f3d78df7d30b6732cfdd901a7bc8c4b2523a3a39439f9e9953f84bbd2777cf8e39f826f5ff255fab7ef7de75bb0f6a187e0a0435e00a353a6245b3406b7df7c131c75fc8b880c3b6dfa0cf8cddffd3df8deb7bf99aeef36024af8b37fedb56edd3a7a5e071e7820fdf782050b60eddab5f0def7be9702c277bdeb5db07cf97278e289277e6129877d708b337f45b15b05ec765fbb30e409ba9c35e1285787f971af7b10b4de1201b640d19771141a9d10c9e12487175dfd94fbe419bca0c1c5ef68b5b8ee6f84542907f856391dc1ad5d3f148576d3214b466d2839389419ef23531c0d341a558c1a7b6cbc39328e164d282f26677a9a8309353b543aa29182358d78b5d7bf702856ff9d66d5c8bf63162348ba1fef93d6b4c5c4428cce8a92cb50ea1c54c44e815290f28d4e71d68814ff6886484b6cbc8695a8482a6780b35f414a2225e537528455b4ecf73075cc80891dad760c20f06241bd21329665814e6c58326b35392eca58093b1f8a4c82c49fd54a98c3ef2d78da70a819a8f548d009a3ba0418136804570ed436747d56bec4a893ac755fd0fe490e0a9f3b6662287b85c0a86c35deaf9fe1e73d597751c8844e2ac78592b20475ad25945a46c2b75d5622cbb4a381c7fda0d7abfbacf9d94e83c3fe80a4ca3b5c56a2e7a7ad9b7cc6d0307592536ea353094a0aae1b7b8eef31341498a33b2bbab72a29296959c94f92d58c874e06c6738a593374e2385b08d7a2dbed592a9dc1ec889d13cbfe1552caa4b20858e0a1297969c723f03f3631c1e72816566a181de528984b3a91b29cd9e6b4a5c4c7e5e5ac719433b70850da587a1640ae651c2ee58010f75b6ec44274e5e3fe2ea56d1dc1a1e596c98949a812c040255e0c5ed0c9d77dce9e84088d3dc7253ece60569275f6dd55d92656aee1a0741d61c1baf394dfe7a500f4f9b300176784f04630f0a2b2a00c7d6b93fd66523bf181a43ca099b56eafdb68c9a635ab78cdb43c9a09d68571fcb49cd7ef3f7367d96973c6024b2daf3def37e86f042578edf7dfbb9a4a3afb1d7020fcf847df87c58bf7809d09586cdbba052efcfca71398b80d8e3cf678fadeeddbb7d17b66cf994767ffe22f7f817ef7b8179f0cb7dd74038c276071f00b56c211c71c0b1b37ae8747d73e4cd90e042a5f3cffef299b72c3b53f83ab7f7c392c58b8086eb9f13aca9a8c8ded84c54b96c2edb7dc04b7dd7c63fabc93683d58406e2a2cdb6b6f784502429a79f9d75e4b962ca17d7afdf5d7d37f6fdebc190e3bec30f8d297be44a004332a6bd6ac813df7fcc504db5a4a386d01c0bbb32d7bb7654c70e34f8e8f370c6b94528ea2653da88aa0bdf00f1a196e37abe810b4c41833710beca02030d14e1e4d39ab2120422d666204d99333a0546965dfa78694f81075765c68bc3a9d9691b2f470e367f2eff56c2226454758afaf354268492926d7e0d54878f9fdcc37ac2db21abc0f3accc998969241020842146e3a2bfc1dbd36e598a89157c56d3596fa7d4a38d6b63eef3007e715e91a78c701368ebec9faf60698816921a9e29e38e1ca809cae6f140786c0c0cf43894224a4cf111e881218f1f7f1504700d90b353d478c08dbc243d13abb823fbd57232e3b9d15fc6c2af7a4a8a22b225104b8203f3b05607e3aaa1a77dcf31a9d90fe03de4fa9863718a7039f238bc371c48fc63e462e23f47bd9b16b19541db17724de19e8731b1beff13d243085e2c04ca50a92c5690bd0eddb1ef4dfa39f198517a3fb844a60127137b81a31eeb29f3d88d1f7e43113913255ca1fa8455d59c186664d94eb11843ceb41b4ef6229bc043c7d4617a68c8c4a079776dd54e610f56ce8ded4b5f53687cfd01039666db9ae154818d7a745675f49ed7e3f506640801a97917a0d00ea6510380309f43c14c0e9ef7b8d27fb595f003bde2b01acb6e3e115b67e5986a17cda67a4e02b73fcca9c3d94f23b9ec3227000c7ef2b6d3d0bc7c7c33f08283943121b204a9b18687f4a8b70ad762ac50e981dd273118590dd17becd33791d71f431f0d32b7e405d2f4f3cf628ecbfe26038e8d0c3e0effffa630446f01c5d99c0c6938f3f0acbf7da074e3de31570c7ad37c1d1c7bf08ae4a00024b4a977fefbbc4f7fbdbbffc089cf6f25724f07003dcbdea7638ecf0a3e0aa2b7f048f3ffe183cb56913bcfe37de06e7bce6f5f07bbffd6678e4c107e1f73ff8ffc2f41933e1ded57711c878ef1f7d182eff974b092c60cb32decfd7bff2459891def3a3f4f3790b16c27e2b0e846f5f7231ede9bbefbc1d6e4f40e52def7897f02e47fecdfb5db870219c70c209f0d18f7e144e3cf14478e73bdf091ffef087ed1c7cf0831f842953a6c049279df48bb3140e5c778bdd3b2071b7925f5b96b2cfd9037426580bc77fcbfa253902c454bb6a999833140352e1414f066672e7046d608e868b86d4ae07397de143a80092ef780831b74a7a76bc46295aba5007e023583216e93a48cedd889eb5b4c2e5c8bc1ee8878fd21d80868defb125a51f7672545e91c35d160cba7ce4cae4d72678c3d20cab290633f26a84b40db1908c8fcf1078e05098012ae8ba348af599066df1ceb57530a3af6b840e0c7f56553932d3ec8ecf4ca0e1b3e18da204b973e7188c8c0ed17fd73d51b0a4689f4b1a740d55e5c4acc026976244db2ffa9215e0a85853ca6a746ba7f6a9f7adc6d86b7a60fdb592fb576e0246b5a52b05f9f5f50a9abaef380aac6dbd88b3a4c6b988c68ac7f24d511756d2445e485de4cc83ae7f2302768088f955ccf1a073064cac46de8e3a613c1f4354ae9c684cefd6910f598abda906ea45f5106417d6761d1bed8bba37f4fabc364d74e26b34a7a366604a993dba6f2e19b1e4ff6403f47279ac70d13e670c906fe29fa3ee658c9ef1b3bafdc9e4f838a0619239df337e3e469c7c96a0a1f1319e02a80c582b2184a2a3ec8b2c40da2b631352060d8dac929e075d0b056fa1088dfda142627ebfa9b060d5d7b31084649bcf97da04fa0e1c4dd4eb3ab55d30203368737c4645af4d49fa1af4e8ef9552865470a3f6a628d8e6d4a22f520989b6d5697166b1ae2c333b781e0a395f7c268211cf5bc25f62dba667b93235651daef86fbd0e38e8502aab6007cedb7fe73df4fdaf78d5afc1da871f4c8060167cecef3e4d198dbdf73d80d6682839ffe34e3c09a64e9d062f3af95478fcd1b5747d58027a6ad306d86b9ffde0d09587d3f347cec7ea557750696a9ffdf6a77d8480f54f3ef25754bec1dfc1d71f7df8a344a25db2c73238f0e043d3e76c84a7366e84b9f3e71358c296e3fbefbd07962c5b4ee59cd577dd09c79e70223c91c0d2d88e1db0cffe2b7e299ffafef7bf1f6ebffd7638fbecb3e10ffff00f2963827a26d895833fbfe0820b60e6cc99bfa0dd9833cd0a4c8aa116ec461993ddc83151d67b55658724ceb5a428b06f044cdc0cb879d138e8a1d46895b32b3511e98a96d4f31b2cf660068548786284ac2d4a1c3f7504c4fc947a62f87336833b1e0aa9bf69ba3684a6a1d5f93e91f5d76d564d766e4e81563e9b0eae74cc701ba077f8d9b810a8083a23a52b2cf7c25af9b8ec5359eab390cc0e1e723c386adc739d574a4eb16a44c86a30f4fdea54b5aca483b85495553b4b3240ca51abcf262968f3e9fcda49c3f33de89031ed62699161a2be7abc0608d2d550e54167c07c25d3ec20fe4032dab8b78467c39f15c8f0212f657c7cc232241a89fb0c931afc609d5ab94bc2b52399935262b43e4f05deba26fe9e41dae279df0d65a2f6c45872a0234222ad98388c1924604266d58fa6f3a0fb87f84f66f083685be47243cb651330458bc452245692c3b75944d1050b655646853cb304afdd3a645c5940ff3f03a04e2388d097aea317910a2e3acb04dd969c79ce76e2cc275f06b37652dc9bddae81d7c673c4bdd1afec5958c71f3d97498bec91c88967a2d7eb5bd64ef7b6cd70916bd7ef551975cc94d29c2b2402775a04566d5c8268195595ca200c5b39543f473be13cb024013821367330c51d76f87d08c6919a42f3bc309306fda6281a02574cbf4b3990e219b46c353406f6f9fbc9410e1376110073963548599809aed48c209dddd46dd5628230046de3d76ca9881ab6b8cd9c4b4e1d02bc43588a70cf9f665509b86070ee4a812de1d148175025f2e8f81ece723fb3ae1c7cbdee8d6f85979df54aeb8ec1ef7acf7b3ff40bdf8fa0445f588ad1d70c71e67bedb3affd0c09ab5632eaf019de7700486079c7bf50ff64b674dd2878d9677f26b6e23e415082af458bf7f8a5fd293e4f2ce75c74d145f0f18f7f1c3ef9c94fc28e046ef039eebffffe70f1c51753770eda0bf4834f47ade8d15817a64da09d430ed6733263d28c5885014ff4811611dd7423fb7284d63f2ddb226241b50a08c944cfa6532c1a00c21b57133c138e084776ec0035e2a7ebc5a85e7ec67dfd91da37732b6fd1e065f0e76b8a538d361879d7a7bd35b2c78e884ae6a304215c22b9960faecc5a094c2ac5a8848c1202913234649b995713a916dd23253f8ceeb87514f9b7bd8949027fd43502392d8cd79da3c6ba511ef0912a3be9212b93d98454c8adc87ea691af73736d9a9f25d69f2375a4f42c055c9b305324f231ee8509aa4b476acfa38858da30d1e95609c0d6a5686d880e148d10100d117c7f94965402b888217adc61010319245f8ed0ec8666e6aca4574793d80e4e9f465bc5b544e43b563cdfa89416d420b3473210440236932efbfdae01188d9079aff0fe41de8266797c2987406b991d3e917f27baf4acd9d157b6c751d88ddf9b09e5b91cd5e54e246ad7ad2c13a7dfa7d7ecf7af77ba5a36d4f7eb1a5ae9507538a83b4b6500f09a717b9744aee4ce977c5dbed4c96dcf3c57453378c44f93125329e468bc3fcfe72a12200d51d77088f62e820ac4be1d573e56d0e48326cd0a514925f05c1a920e90310785387c9530e0d25b6c103c1b1934220733f118afa98d320092f9c35f69b703d91cea184452b43c83425a937db98e6dcea4dcbb3af6be95ba7d0670906f12ca2853bdd5de04226133b812ce07f0f0c776a7e5b228ed5d6c8e02bc7e8f871c12115a3a937a935c7a977489816b06d6a56551b40b10f7870a279a2e4d108ec92fe12f1594fc577f694084259d8f7dec63448645a2ebf4e9d361efbdf71eb0ddbf98f88960843af7865bcfb86cf65f8afcaa462b2bbc4a09a4c507c8a740b574a30ec393b690bdaee9701f996990a08602a0199da981b3c3ad46d0b1c5b57461a96d57d7e58c44d17044febd7a3ffa4709a678d81570f9fa7d5d578d085439162ad98effaead86e05a26a95483d916103d1369fb63525965a97c96f697b4ab46f2cec065bd89beada5fe8de509df46ac065a49957cbf7dbb670fbc3cb9143f47390ab5e36d68678727a5b2a1c24cd838752f2811915b4733b9146cf897740cd4b2cee81ca5ad3b3b8542ba50588f65022706432e57f86c9ccffe78d265260f860690d1ec82de8f1a028dd4b4fd5115694b016f7e2e14486d7f7878885a0bf380c12080251b16fd3d7d4e762e84fba0d2f13a8f08c1b6b6726bf942f78089ce19093aeb93b5a415d70355fd5d8dbcf4fcd53534401dbe74ef683989d7b768645518bcf11ad2d4ea7e4fbe2f3b53cffdb0f52b5bb6feb5135da3f526025f34905c8662177e159e8769d3a799b0a3e7bcf8ecac9e6bcd4a8de33e0606feacfb018e142e1c8ca268f0697c29c73271e033bab9c4423c145746f6e0af90111d7a1f3aecd497537d594dbb5fbcedf365548d8a7dda5e3944fadd7ddbf3a5ac67db746af49928e840e0c05d484c726f91ee52457ffb2065b0dc4a3a4fbd7e237005996b16452386b32871b79618fea3be742fe80bbb7256ae5c69a044edd02fd4260959a4d0e64f417cee0113ee9ca8893cd6a6143de421562ea59e6b60999067c6d1cda350c5448d5c7c56454b378d61732eabe223093508be76cbd75b367ed7d7d2d51947a7cb32486635b132880d7093bb260aab29d70650b2d3cac6b425ec7431c8d2f5534bc78f82207f8d15ad736dba315ad2f246ca47756ac8fcc044e3a488bcb507519c966eb93256067dc11c63690e8bebf045a333c6f312b0a6cf23d8fb30d9dbc6ed95d8a923c26851809c2a83d6552dd37ea38136cc2a30cf27a7fc29d2eff644bc294897568b48b783a96e4f54f4a4cd20dc25d2c391766a957f1adc07dea9a8f3d1c9acea0d729d3d1371c948f77bd609d4eb72c648b33e3ec3e3a3df4676a7dd12b5d596b58d7b8e870a6b05e910519e8027afea8c1dec9051c08a6709ff0d79295d29a728b786c073c95d4abaaf75dfe0bfe3fb71efe196d2e02313563daf2303227d66fe3c11f72c5db396e0d4b957d25d678277459387e6f7642eadc12ebc0b4facf6dc200d7282cde08b2244d7b274fad050c7b2a60d4e85e3d4e1fb8c4c0ad0c83419e1189a3c1e9b88edd6c05faffe9e77fefa6c7c4677f0334dbba21a048a39b0c2b3c476a892fd5335803b0399e866f2f0de5141c6528062039479c2ade8f1609644db9427262673a954b28118b466e7f9fcebd9ed920d3603489b4076e742ef366012a5352cf3114a1113aa7639ac4610a4439ddbd8549950cb3c1a71fafab53a3e1aa1ddebed925af7a956e50fb0e05bc7a27cba06525765a38d52c924dad4ca119d5e8377408311778e0c61971287a5c25d16407fd7ffbbef10f1fb46b9359cade83914dd36d9ea5a8634edd8b9a3d152cac6215a074e8350685990529e45af412456f96e4f8ed34c8b3e3bfd63069eeaf3b539d75ebfd770882c04d5a29432d5ca2b519c94b91e5c4e0b36bd98c150160aaf65c68fee05fd6efebdcc9f20fe45cc602a47bdb53d4b25efa923d171ef7d512dcd2dc2cdf5f4652cbf27752d547933b789d6a6ed81cfcf97d048b32294bb6458325864f2a402705dd7dc7e19a553444a9585702020b70bf3fb1d4747ee9d3b847239441da2126bb3126bde87caa9d2ce38ef887c7797e7efa8109d6632d4b92be151c154db547d5b0380a1702269950438b5953010a0b68557a3a09e3ab47add0609dddb05fd7c9f5985908139891492844ebf9151d3c044cbce7e2ff98e9ac29d41cdaa11ff25d91c6f9b14d8a9f693da9cba6ab68c7be2b6e792581055378733faa9d33a10b070120e85646b6db8aaeb7cf2ede36a5b1500b7492726ab5a23b0547145dfaeac67a423d9b4208aba1e50b1bd88522e2b2cf879fef5ecbe188c8065345524f139c731a9639ecdc046bfb4f4b01e72ede2f091011bca0c68ca16cfcaa1e839b62965dbb7192fd910ea01f69bdadad762961c27438e87a3d76f18c3be4483969e47697234d82d766e68ec0be99c194ed124122cb53f1febb158bfe5a824cfec68763bb00a645d4589cad058f61b51171dd40aebe14346d423e31410508c1017a52bd1b50715c85341012dbaae1225d77ba4ef504b6b74a112e1e91e295b2106530d6534f5cc4264cb6b121d4371377478d89dd00ec356e754873bd832ebcb722c47cef78307a044a1b632925225ae5daf9a0014f01d6e8f52db6c2c2b0287dad2467376f09a31558d4e17181cf4a4c5b628735b6287ead5c969d7e3c45d22425de081900c6c9844ea8da62f37fa9222396b24ff1147052d2fb7f0aa84bd079d1efcf9bd488a9c91d7a99df6462c586f85f445109c4ba902d716b90323a323b4565ce6196e64e288d46aadcf4445641265d1461ddd464b3629cca223c61a72c9026a8324d628f37374968d1241fd1e6c99c85a4b9e6f6de519de7b2270878ac11315014c5ce3969c559d1eac84da4abe1349ce348d4ac63c04998aadfc28bf97b02c1574de0d899eb5583bc3397ab21d8454659e0e1432faa125edeb157d0796ce383bc4f667309bd1c8fe9182594b3274a8afc36d967d51481dec74d1f5f2594f02b73a8aa2e26bc06b543d22b5813d6915b6eca670b288808aa5a4923bd4d0cee0d946138ad7c559b80eedefbacefc3a3ab755d19c180d6c7388c00d95957254688f55664be2c090ea6ffaee2e82a6823587543ebe296b9035a42843865f1bfaac3d14a4051af279d2cc1b067ca3e96ca01e55a7dd3240aa995e545ec6ef5fbf7e034c1d1d7e5626f23eff62e2f8a64d9b68cdc9164e746164da70639f3ca7c8af41513345762dd747cf1b129d850214af93a10e4f235ce582e8a8174c5f23690c9513f1d0f82842232c5f0be7ba76bf614cfa9262f7e95122aa5539cd5b4b3457c4c2d2f974d8440a9d2209fcdca2458eb44d823f2c3e150277027122a676ba0281d2c15dcaca34ebcf96fa744e894681ebf5d4d122549f99411fa3590104496d0186854d5e85c670acc18e09ed04c17a6f3f4651795405d956a3dce449cd8365387d863c0ea0e59e4b267072d6278808963893e4d87a9313ac0e49a500d70955b3218dfde470834e7e152742ce9709d25dca2648570b7ea6ae5dd9b68c9c668b3c97c41330b955bd635d2f5cc2989449c14d00d9ec7c281a5c1eca5eb48201dcb4a8242d8e92eab447302381f2f65a37ae6197bdebb9489e24de10c512413afe19eec5ae2b5164fd9d1ca1e6c174349bd622e3d8d8130a86f05a1908cb004529af3110cf827168ec06cb9f2a0246194824404ad9c982082441aac6874c73f680b790f7d1b9876a9732816f5b57c0a81c2d5ffe6051a96c73b4dddb808dd3e6a96df0a696365b661712ecb2f76a70a0357d2b032a4095e7d297a0a02700ca8fbbf05d41be734d3b1a4bc711231083bf2bc11d77a0f159c8ba2b52862cda32f6031a9c1f255173a6b132ce9bf2934c7cad8ec687e2cc18989ab45e735edf42b484d273ec41735ab2eb7ca24c4dba079ce7823631344adf604311a9d45032870e8158d5ae9e4715cf0a71b665be8e020ca7f0fc9c03261c75634b67573a05ca669ab3c83c86ecd0fa8de8c34fb5a54e8084e0bbd291c24e63bcd1f3efcb2aca2de14e9574f84b69e1133256e958f6ca67094568b42f469977a283ce28526de7b663abfdeab878514aa56898a27f5646445547cf9ad6ae1e55588d2e1af75d2f6844863a2caf8d3c006cb7e4f755036d824e2b2686065840675ff75d394b8c51eeaaa9ad3452b988551da4122f3d48f4a064b0c3a1b6a164780898bf5055952b5d708a9d8d75345d085ca31006b45fa4cdbb95a2bdc9aa27a5b62086959f051d2ee16ae00c25968c97c9cb96eeeedac1f487d1ba39dc7af0bc97e44c2750ea3e50a68ad7a7a91cab1916af01d3d48801e32590dc7d4327a7a036708c5cc8a8cbbc155f22f27c2b7c79ad087300f89df65e9cbb136de64d5d675e53a7534a970f83582d392adf85e6c90c0884b1b3559279e99e773190ad2c2c1b6a9c12fcce219eb5a4cfbde74a8058cac06456a90043c8dd5aaad467332420b5a1332380240e64aa549051df43adac09fc577ec2b4e396f82e34bfce1e8c93d36df1e760968026b262c75b59885e51dff8367a464cbcadd44c6b161db367dc97329b96ba69626fdd00e4964988a111ac903d6b6929160c5070cb7cda6b6d60422904a74c1d72a9527543e49a95989f015e3492259edd960ce004a877d160d1eb547d28032cda9926f6185bd819f404b2dfe817a8041df9de31cb0b1414f1b5cf98318348cbcfbf9ebdd7d4a953699af0f8587ace08fa6a16a27cce714c5419b52cb96eab52dbea087dead3b3e90b27fb6ea3d743ce1ee086ef899aa0829820dd334f4f46cb533a8348587bb29811348500e6b57d349a5632a4d6e80aa9995775b3b3c8b41c44c5919c814ba3e7eb0dc2eecf4aacfeef0cb67ad662d76eb51aa5143bf40324434bdbaba170f2e2be5e3dd821a46be2db3755e6dca4a55d0bb44fa97b912d7576da75e1bb4bb4ddd8c098123c23eca2bf62f5ebbe4c46b59655d749a599002372820cdf93c9b221eca2f2ebbb89f4e5bb29fc74eb007944b8ee450ffad4800f0a8af9f65a8e7079a650a9dd1452d32f5bcdd280efaa50c3af2016bfcb979dfcf728d992391602f4018423d575ce243448abda1de38186e7324c0817c2977830dbc719af20c4d0d275513882a4eb20c1d730aac76ab090d6424b5604a22400f93fecbd079c6d67592efeaeb5f69e99734e7a02092424420809918e94d0c1445040452ca820282a78c54a132b22eaff2257b91640c582a01403184014e1d24212089d0448484823bd1192d366ef55ee7acbf37dcfb766524042eeef7fb2f90de764ceccdeab7cebfddef21416eb62702777baead8c4c13c4b0aa6c083c543da8646871b1b9623472e3e180ccd38a82cea06dd94aec0173956665e00a113de4d32f34f12b0d5ef77f2e63141b5595aaf438c9bb918a88976ebeee5315e8ad11dbaa429615675e5302dcc31ae2ec6dd7856f94f60107297da85fc5c2d578c5e3e5d6fcc6c6c2712f91575cf5ce4b2cfa4803a27b96e39d19bb336c0d9533d9cdb5fdf9a97ee553ae2acc2c30be28a7b5c62c233dc55ddb4837e5b9380147b72783550e5910abc528229025133d53fa828f1c85578b4fc139adee7a05defad2c73efd407a773897696fc4e92d31a3c2a778d55cd04fb39a34a786b1912ee369a5195d145179bfc720ce23b12308e5555197007c60b687112189cac185a02083da0ea4c7a8b2bc6865a621b0253188f30ddd31283f017d2e35f0623059b1d823c80948cfe97e8fcb850552d5bb76e2b92374ebeb85acddd98216de2f042e1cacadacd5139cd67ab2e98d739636088a06b633154e1861f680d13a41a10322b93280441d5ac5f982894b689e7e69cab4ea8660e56b0414a183a2773ce3ae91365d9d69605f5656276305386138aa97600fc93a068618c2abdd7c3ccf44564f06bc1c9b4de0f2421ac89c1f70ade300602ef1d0bc3230ddb305a7729f6f35a24c7e09cf0555601bb9121947cc5f446d09ae724098260f9fcb1a979e7126069e055c03851ef299300e9340155fae956bb377a7dd52c4eab7babaab14e17cbb49181769e00bae848356e50a77760d9b6c5e8c85d7b4db527dc7ba318503d8e499ce1e432d17aa380f2df44020ccc4c5ee3b31992ed21144d67b1ee253d9b6a14a89fbba223afcecdfbeaaa4c0a07378cb12f8b376aee57cf702903785da782c96fbdba34878756bb6e31073829a60bc397c9d76a6d5f385e09e1b7642c48226e79c45459cc7109862e62699b620e0bdb597c5ff1f1a709b2a95c42746792a4be26f0836f8e28daa0cbe3f1ab4ae057c599dc4ecbb9f5709fb3591368ac2ac4ecf6b0c4441f76abe45a7797adc1df2f827955e02a60b667e0c3da1f4a7b003ad0fd06034ee24144fbd637d3364e378b02a90701aaf74e1fe8cec586a0a4caf368c30b68d2a06d6e1a4bf4545960534285a2adb02cc70d1af1acc005b0a43b3c7032b23d57aaa8d8798c0219673d3777045d4dc039ee0a2d29105837a00ea13071da366b54201873bb16ed5789ca15d5a8762a92b817259c6859a7167553a771920a76b9c0d5ca0670a805f9b079af2b3796eba27b304b0ab4f330f2f2bfcf6ad76f814aa54819483d790d012c73b79d07be25d3c759488f7575c00cd19f53cf8f94ec882767c344ec6a4a11e5a48c753c3c39ed437bc3755dbca5dfa4d9bb9e8fe15726a05366e400980d3d115ba7edd23665a34d932e4b5ae76d475dc32aaa74f6b291b491bac16055489a03188bf364a1b56ca0e7380cdfa425aee39298769d0b182e5dd9d49ca215ab60a267d1050a896cd0dc9128ac128323f9cca04b374482a57894a10fe165ee3079f2a67e47a643b2ba225b56b750425613eea2545f36c0e6ccd7fe50e06e248cfab2b501ba0b5d5732a7f47a6acc4187049470a18e186351d04933502cd673c41c894e4d4eea3313cd8f5fc2c87396ba485da2877367a4a724735e24cf05cd9e8d44c74356e55c0d21dad9d2b1189e251e89329350cf63883803dfacf2da54c5bf7987486234db274d9fe1db98945c71d9a5e689f3a533cf48df5349fb97ffd60bcdf3e696bcd49d58e5eb6fc94bcdfcbe76ed35df7c624163eeebafbf5e2ebcf04239efbcf33695ddd8744fee72c26e3e6f8bdb0ec373db99f88d0bdbb2b2993e785a0135a98d67ec8436eb8b4c417dfa0099b643b4eb73dbb64bc03e56161419529baa27dbec2c2b9fcad7d44e45d065764a52bea4b6e422921f30763879c854c93eb12260875ef5790ca4ed6450f5b0e914381032fa2ab51faaa87edc39193a175d88b1e1e7318b0718934747ac74c9fa05b972eb93e43502a00cd9bd393f10f9fe408d331b2da2f2ca3a2e3a43560610c057f01dd2f7849bab5e17654ce8cf2d4da46b2df908e158daa816f57b8657e9dd7178ebb6adbec92d77262c4d95c62ab98a44a78705e498eacb988a546d0e3db5f867e35a5e1a66834d1699ee381d8f21c199074e28cbf87bd5a29ba58142772f36b850f3da658f1c2483dac9eb13f38b69e6310a6d9020b6b6811b8b679002a4eb74f036d17721200680b57789ca7194d391f33501d51842715923279b6a32fd78b9dc11c266faac35024afa4aac3be8ef601d33a5d4705296bc8e9f5bc5a8a97191bdc6e206fc9d86c41e4932f3faf98b723486311e127fb38aa84200acce20f35c4c48212a37f50ecadd17c9069c097c5a1563431697e42e07af2516529b026673ece00eb103504d31da7c6fa4b4e588fbc01836981af25807ff866b99cd56db7826b2b3ba3ec3c0f121ce20de7131e35d9628d23a2fb09a99dfafce641ad43fca47afed7ae76bf6dbc016f9aff7bc534e3af1cd260faf09ca634e78823cf5694f97b7bfe55fe4cb677d49ee72c45de5210f7fe44dbec7f61b6e90bf7bcd9f9babf1effcd12b0ddc7b63af333fff19f9c3df79913cfd679e234ffea11ffdc60b7d2a0e5ef39ad7c8073ef001b9f6da6bedbf8f3cf24879d6b39e25c71f7ffc8d5fbb4102562149ac7018f64081b52abc469656797a82b08887162a810cc864154c2823f6d192bd312af0f4c62d972d5168bd1b00260c074f9e57a37282b6093b7aea7faf124b645a71254c4712941a0a533446a6a76e46542d45e53419fde0f31aea2278a0ac52859936aad96c832e03021e537bdb60d2cc6836efff3e145d1bade253876808db751c573f51a99c3c048cdd505d031ed9a1a265ed1aee2c41f9d437cb5992c3ceac992a89b7016ce7c728169007ec0cd1e91986acebc05a2e3807164be3b181d33d498721ba3fd8605985733a7e4b2ab85d5fe09870ece6c1a4c261a6633204ce226f0c608c0ca12e6aba3ca1cd9366f3b557f518757225856787d910a05467dd8bd27956c24f0760d7869447d3e65dd5e99a60ad73eb9fa5dd75adfa08a44fbe34d6fd59d5846f77e04db686915ec69a253c42601bd6c775a87e47d016f1843c704de3fb1bc327d680b1fb2ce15db5e304ce4b8ba31da1af8131d454dd16e3d4393184d81e631a734a9d0fef14e538d66f3086e4dfe11884f7668c0b62103b7ca738575571ceb1fe7a1f7f0d4369d887678cbb191e17a460a271b72f8fc4fa50ba0566aeb1cf01109793aa65e09310bf713dd9553de94cd54d219be0cf636d9828efae8dd722e27053dffa5b9616bd7ff9ca3f969ffad95f3023bedf78e91f993bf0291ff9806cddb2551e73fce3e5010f79e8cdbecf79e77ed9cefba18f7894fdde4dbdcef8cca7e45ef7bdbf1c769723bee9e3d6f8f0c217be50fee22ffe422ebef86239e8a083e4052f78815c72c925f29ce73c47def18e77dcc486ec93434f50bc7034db8e3d2d317117516fd72b1fbe09bb7b6d3f3a20af4f413981ca7adfe4db31a00c9d2b684204685a4521207b3703b6e155fabb3e004a63f4d67fc904824a25071c0459b4eb9922cbc0c9e40932b8b197cdb32d586a000b9c44056cc19068795dcc8c9ba60a306f9f9c8801be2c849e24b327dc0765691a205a1177c6489979972336f46a32c3e664c13a4eb523e0fb483a0020f56ed3dc016ad1e9484ea0f52c3000439a096353b26ba2d74b95577bf76861a01d8bbff9c6d713e8b22dc615a02c83d5a4603b577dcdcc12cccd550fc57c47b4f53e56cf7363a68ceb43754a54646b5e9b6befb25d17278bc4e8a01a0cdba0df63ba30d61f6f06e81671d2c495a526abdce960402536454d66f43d2cd9a87a0bbeedfa52d6c667c101093efb1f868ad473831d520f761e1a3896c11803dd5b1956aac1e3da1d7512ce4302605e18a682e19b17362a4e447cf4e6ec28bf1643c212a02bc2e3aeb65b1ab6c368dacdc4f49014691938abcf9ef9a1f4ad3fef52db2847132365ea6589f3369b4836ae5fa2eb7575cbaa3dc3da59f5ce9d333d0c7b51b956886316b2dbafc9af0f2e252f3d0a1b4fb6dc6ba64f1dc2f4cc8729a2d2b9edd925175608c0b1ee0d12275f9b438a39e8e47a01d11183296398583f85195ce830f008370be085947eac817a1ebe5bfab9f33a3c87425c7ca07b9640de75c4c4a158c7883753334bc70c49082eea7d5b9ac95f1b5d9959c825e8689c81dadc15b2cfb5e2d229fdede0d469749e12e121ba8ab3c631692b21f835dcca2013fdfc873dfa71f2affffc7ad9b163bbadb7e31ef968b9febaebe4d24b2f96030fba83dce5f0ef48c9d6ce1d3b36bcc7691ffdb0bcf36d6f952f9ef1394b50aebffeba62648cdfbde6aa2be51d6ffd1739ede48fc879e79c235fbde8c22490a99d966f04b379e28927ca7bdef31eeb90a88bb02627ef7bdffb64fffdf797030f3c505ef5aa57c945175d74536d17df7b02e3785b825f6fb351cedada5669d6b68dd5d14e0f6ca6b5e1d4c4bedf6a0f00b0167898b0b8172186b5628ec07d0106653bfb9ced0f91f4e4ffd60732b73fab64bd8d762abc1e182bc1c760426a6b6b69b131a8b50fa136d70d9839183144850cef6081d3459a328010c0c936095571bb94711359dadd5915ee9113098a097b402195e8d054c1b28e031c8b4d404e03cedc3718363cf4cda7b3fb63ecca18e7749a84004d3f2b5d75bba0055ba2a19820bd468a6da998f2d8929bad7701d831763aca4347c42be9d68cd29094e803a5da06aa29636c260332778932be36de4fc7342c2c902ab0cb353774f412013770345d974768ba0e5af21ab1f78d642ad15bd71705ae841d961944cb6df7c5fa22758bface3b24caf39999b27067605805ff6204036c872bc48e6b563b1f836b5a28f55ccf6d1e7e4351e71bb5b24bdda89eccfa3a03477aa253db69836d6154e8345a6cc225b772d76f4b0e873079cb1474c55ed83a18dccd5986aed8a8a7f36f1f99ec0e4f20bf7eead3b8aa9a1bb56e52ebb6892a15176ad0c63eeb1cd3b37bb13b25a6bebe7a5b0b2b3192d3f85045e7358d2ba278b035bfee1205abe6b6bc08bcd090a8da1a73a0e5611da6e87438305936dcdf3cba9d917e501ffa44334b44bcb103265b9f0c1299e935edbef2d886935e384ab3be0a68b95600d492bca89aca3569ccd0b11f0ae5dd9ce02c23b9f3a289c1f6ecea9c47dc0b714ab19f878e4f5184d948a7aa0b4031339c985503b7f6263a41265a3964f568ef2a3b2b47f1402a19d02f875b1d67a26bed377eef0fe535af7a85fceacf3d734c521e2b3ffd9ce7c907ffeb3fc6e4e16c39e2ae47cacb7ef305e3f77e513eff994fcb87deff9ff290873f4a1ef0a087c8199ffb8c5cfad50bc744e6b172ddd7ae3147e27b1c73ecf833ef9593fef5cd96e01cf7a8c7ca97cefc9c6cd9b2552e1e7ff6ee471d23179eff15f9811f799a61d9b4abf8c6bfff1bfbfde73dff25b7f8b84f3ef964d9b66d9bad557d9fc73ffef172e69967cae5975f2e071c70c098545d2aa79e7aaa1c7ef8e19b8e72ead097091a58f69fda933a26331592d240670bb72a183326ae342bf531927c79388b4242b7271cc61414a70f9be213202884a0e116e76d02fb6960e4392a30234913815ab71908964721acffc1153fb7bb65024002f58d2b2e4e3eb207856c681b23f9d1c0a7c11dd74dcf03d2d6d89c92563b6d0e3c62302651d8a9dbf5565f9490e9f68d77568c320ac602054f7e6f6077ea44b16c36888201909940995d660068e0e54d9cd92ee83b2ade04ad719733f72a70a19d9058d55a35269a63286c6a52a8d7ca7fcf2b497465bc9b910188ec91837bd045c70bc7b63be8a66c6887fbc7cc061ecdc16f065a345530469a95dadc9e355177597adf2c7a139bebd258019b233461bab64bb802acb73ee16f4a50a7af83a1306ac398c0f11ff9bd204dedc951557422a7604874fd86504085bd0144cba65d2717565b24f0e53c7c87ac956c3e3975527205f66381ae68acd53a7ea6693226a541fbb9920dced8a97a8782af02b1bb86ba382bc93870362bf58e3022e2e7278b1636246be0eac92c5ee720760085f1acae17ac2176f566313d1c37e21363435863658998d30dc9678701a36c50c8a323e086a6eb84b133fc5cfbb3b79a40cc3a2e52d03d6bbd4cbdcea63162253cac90a8385bcc251e004a7795e91a5c045bcbea6985ceeaadf9faca987c7cfdbaafc92ffcea8be4d77ef3f7e4231f789f9cfa910fda1abcecd24be4e40fbe6fdce80f9273cefa925c79f965f2833ff2e372f925178f3ff77e79fb9bde289ffcf86972d8e147c8b6bdf6969ff9855f9627fee00fcb97be7086dce39ec7dab8e613a77d54aebae20ab972fcbae3c17792873ffa7172effb3d407ee6b9bf24277cdf93e553a77f4cfeec8f7f5feefb80077d43c7ad6b0385b95ee39ffcc99f94273ff9c972dd75d7a5f5aaa0d84d3b2e21646d52f42bce92bd2d5fb7292b47b0d985095d67cc92b9d1cb72fbbb4bca74dce2645a28570ef0c349f4c7841fc973718c69d8e198a9bb8c4a67f1afa420a981bc2183bdaa2e2899a859b96dcaed7c6c74ec60ca003a3636731547f0f773f7a64a0ec96d09b4eb250570806307aa5cf15e7c9dd8ce9eb131ace380597ed77769f6088f1cee140c6152c78672164cea8aa4ed3340d802746026581726331bba0dc27b00404a001eed184ce67b30b6ac7653da6e61ad665d5b5a8927ecd0d027b3aa59c883fbb1e54d57ab8ef93cd3d60d08486bc33b2f5dc20f59a5df7589ed33159a9ae24f6a888a018b9112b72ec0a85d8cf3f4d988ca7456275d93f9ea0aa962564967078ca13c4ea80b6f1d6cb0eca28cfba4f78113d129b3620acc74da791d94fbde9819c93939345e90bc4077839f376ed9675f9965ea6832cba94eeeda753c33b3c2f80f360f381fde7479ccc242621a675c9c6f6e7f07b386b150cc6e631c58b2b288841a7e38483c3069c0088747c05cf8b0c50527ffbcd61113d82709cab75c346555d9be60f15513ef278c19713e8c21010b50e30c836133e6cec7ed66015097182cf30f032dbb2bf155b88e909ef7d169361e9c8511e6ce5d3b8b42d4ad32b4db39a742ae9092ba555e2f7bc90be4dc2f9f657f3ff65ef7b184e1dfffed4439ff2be7ca21773e548e3afa9e6322717fb9e8a20be4c10f7bc49880ec258f3de17be52e633272a7430f336cca9fffc91f5a174413986bafb95a3ef6d10fcbfff8b517cb431ff16839ed231f92fdf63f502ebdf82239f2a863e4b48f7e28c5967fffb7b75912f4a3cff86939e3739f96333efb29d91d24819b7ba9f01c9cbcbff6b5afc9a73ffd69f9f8c73f6ea31cdccb430f3d74f3fdb8cfc55c5150ef69a31c7b58b7efb080a8686554d89a2b39aa7f4855bb3f6435b1318622218176887990c0b342bc0d385b7125c5ece23a14aea79c88e8bf690b0ca87a66a7b0c8193018ea61a22d796da5af843c37b73c13f5545bd006c41f0a26c2d4e48d81a3e978abec29e42d61c86037f180fa930a3681d3811d60a9c7555125cdd70d639784f4d7ee4380cb9a9555529aec52d2600a9c038ce0bc05af01dd32f5596399b6cdddb55a1e37cfb96ec42420e5fe405dee9025868b714aeddc10a839894bc920519f73b2e99b714fd606def9f0635746be49470636608844035a2feeeb01a5cb9530b8eba3a3d067a1373d17ed1c58c3223c446abf07d930aeb604c24749a5c81982b2d92b0cce1831d696d14217498742d77f6f5d83009d5a9b3c12efce1949eb6300af8c8ebbea9a2069c4d7d898a29d74b618f3814e545e63f3e4206bf8ad8e5da1b1f10da97b0963be01ba138149d1cad940ebe220ddade373848a1e4909fb5e315bc38eab778cd6b6addb6c64d285f53a92ad241e2770bf5e1a20d2bb08bb6c4cd2f75230a07cccb63e2900f248076ab2bda9a7ce6954da243d0e1616cb120659776836f3f56262684b1fc9cd5767014aee0aa03027f14892302ec4e725b650d3145d172415faf3daa5eb4273623d28e529e6d0b8044ebc9b01e739e964d97c7ba614d45ed5858af040227790885f982fd8aac75e8dd9cb1684a3d4a5e1f3c635841ab3d19d9b81c4e2247434c4c645a63e3abee7eef12cd694ae5f8596d5adbc37e9f8e5c437bdc1bbe9e35afefbd7fc85fcf04f3c43aeb8ec32f9f19f7ab6ecbbdf7ef2277ff0bb72cc77de4bdef9b6b7d8b1bff8f75e2e9ffbcca7e4fedff560f9811f7e9a31763effe94fca4b7eed7fc8bdef7b7ff98e238f923ffda397ca3deef99d763d3ffbe9d365cbda9afced5ffda9754cf619938adff895e7da9a50c68fe24b4efdf0072db139f6def7bb45c77dc20927c87bdffb5eb9faeaabe5c10f7eb0dcef7ef793d34f3fdd545d2f1b8ffdb0c30e93873ce42137de2c081564604da41ff6bcc4c4f4146adf249289dfd0c786119e26431b0f9084ae42694b0ec0a902019572a6c155e5b5dbbe368133f55869e69505f0363a0bac1fc21d8aa9ba6345552d36713ccc166cc6635dd7ef6bcb3144b2d8af43370eddc493ab6b55da9867f06a5f30257876adc8760713f6de66abf248a9831229c68261f0651b8538d8d6122cab9a4a7557746772bb37c073d146d6366b06f5fab8cbe7df79fcd5d452266cc6837790ab7e1e779baaf0bfe95bef06f8fd7551316febeeb20d11630d3d7db42561e4386522a1ebd168a7a0770c4b13e03e45f32f0caba48980b6fc438f4503683d6ee675b811577562309848947e4695b14438b7e562b7e135907cdad841c6e44683b026428a5fb20dce0dcc769bf70bf01b99d209833850c9eb0098ce1c0620bb163a1bde5b56d6b68df77ea70c417f3761ad44b18dcdce4c1f7b7b2eb08958a0a78d86192d5867254363081c4550d9fb451af164d0aa0ba569f709090dba394324642a2488044e13751e05240d20da30a795985e8b9952fba1085b3beb0e7e38b53137bc403125549bcbaac5501f20f6791ad54e158be7780e1255ba8a6b3926d46687b04c52eb2643405d214eecd883473b5b1e0ff49aacb9678e8e975606638029b8baa9b33120d3d079bc87649be9ff48beb96b953057e6c1e5e0df814cf3d811dcd2ffae4f00f5e9b5c67bf3588dbb410e64f6b52c01d2875e0aee9d2545b5bb8a0fc152d262481f344bb02666965356611d560918032a387d884e651f9e4126ee95744ba27892f0f6ba95539317fdeecbe51f5efb97f2a6d7ff9d1dc013beff29368ed1f1ce5e7bef63e7f29b7ff0ffc9bdeff74039ebcccfcbde6352b1dffe07c8537eec270c37a2af43ee74a81cf2c443c7e2759b1c3d2623773ce44ef2feff78b7dce7010f94effb811fb211d0c177bab38d831ef890e34cbf44f1298f7aecf136f6b9f8c20be4b9bffc7cebd0dca2fd74bcc64f7ce213e5ecb3cf3690eb17bef00503c25e70c10572d65967c9c1071f2c2f7ad18b8ca97363ac9c2a55b115e92ced6989c9e0fa23c04318cb2049150f8966c70f10eb7a7867a44ab348241196501868ceb33fdb14ea79aa5ab1d9c1869b25a6d16ee4562d7f3682bd7ebe260d1d5aa395578cac396089d0ac49aebd4d950de1783cc4c2447880d33104bb0756ed6c84862a63d92d4a933cdbe3a6d2fd5521668600c9e38096687e6c72087aad05c1be4bd8834489655a7530153818e25ef91cb332b333d07b7553b10e8b48b4e7a1bdd0171465ee2c6144b130d06e501dc5b56d6c34d88381206126e781b509dc43dd0c965441f4cece2d146039f9e46edd102de44ca7f46e8105e895c6ba32eebcea09eadc3a2ff362a4033a1f942e757aae15a6759a5483c55c7fa3e5def5c136ab8bd12704b4740f30a0abd42682040a2f77def879e175c3cc27ac676c56a0aa2331cbdda98d9e47fedc7645cb974771fcbc7017803b9e7ecc1d5158e1d23b0f41b0368d44f939e5910a3e1749c074f4c21e5936471fafb18e8afbc00555d54a8a05f93a947604a918a144cf31379527bcda39d3b516206e4b262a5fcf4b3203d5cfe16e29fb814d47a8ac7f037c4e1be3128f3995017713ed5705db064f623ac972f7d398c3a363d62e4a982ebbce3ea2d4e76616aecda594401c5f0093879092e7d110e359f08573c77336441c5299fcd471d211d10cf72b776a6c9c5755df166d8dad6382f48bcf7ff1c651c97efba7bf3fe8a10fb73feff75d0f4edfbbd32649c423c74403afe3bff7491bde4b93127ded7fc0819694e8eb9edf796ffbfa86a011718d9ffffce7cbd1471f6dd4e0934e3ac9d6cad39ef63479e6339f29c71e7b6cead26d0eaf10f78e42b7bcebf7bcc4a4a9c1804070cbf369ded8b08972d0c0c804d2d0006f2197b65968e031f4633449b08d231e4add20f0b0a29ac37b970681a5f9587ed884ba08d9c9b4a2ca6388e424b53175b6dccc360826a18a41459dcf2d6f4840dcfb79f50536a092dc7d714f90b9511a01209d5e4f6e1333b68567dd999eda14ba2fd646ad1da899da7cb14987e8788149489f1b14b426e8c849644aca0024439d809750a284181ad37753672a04e06c236cbd359cd687a99a8229d345f72268dc3dc4fb061bdf0c7dd67b415783dda6b5d352d3b5d0f7d756f3aa0a26456bb90a9c9490f12057c6535c94262575c229399b25250d9d831cb76e5915c6fca64eceb00c03ca19897649019e44e50fa12b1c37ba1cfa854a9b2bf4a91e0f6f6a0cccde4ce78265f9f10c31a87ceab4ebc95116f9d2e3585d9da72405ad7dc69bb0181e276079d452260319ff34480c36dc6369d9cbd6ad73eb7a6852cc49029252a603e70e501dc796d952d671d4c4a683474f6f60545d8f53f13ee08a30966a664dc1c2e171cf544fc74c3bf5fa2099a1e2c215887347aa8bee653361d4f0f5d2b5aeeb031d2549235f1f8da671b764fc4ec2ca68b7ae73b75fed506637f8aec09f4ca9cf1c73d07d35a65b3f4401d7c428a1ceb4551dd341f40f069cb7bf265dc7dce17dd2939e645f9bbd6e2c2901264abbc1360588a27f8f03bf5a62421d892e6496a152c92316b41ee145c3e240ce5ec86d4cce20d39fa477c29d8a842199e580c6087204260e72c9b9b4ae22c02d8b0a0dedd8597472ac7a1a039fcedc9939c4d812560cc5677815b3cc52ce554d8c89a1d88c0a61afbe2bba485cb5c3e88dbb5000ed65dd929cbc78a081709d6b0a1806a3ed0b902a9473390982caaa01039779de5d54bfe2a3097803f986bf24a553d73a99d24d0b7b75f136b0c97b573989835baf333e3c703a0e2204fb92857d9d84d752254709f220f056ea53550d897aac63e0a37292d8150ed1a84a93247b0077f3a6e9ea99d0e541f52952b6ad0bb76b298de130d684be068255be9eb9238031564a90691d4dadeb1930bd19fd97abfb525cac4bf8123e76ac6f3ccb68d3ebb96b1b7c084029463cdc45981e1b7788b0a6919460a3c4cf1aab679159405bb6ac25dc4f5d979d0a606bf43d7377b62649fd526e5d40b30c952aac4b764246bc29706b439fee0fc6327ceff8be63fdb4c44c82f128620840e0789eb78e494762e891d81d773f1810edec360719c3e0b34bb1276bf0d8315539d9e80bb3c33c22c67dc13ae0420c383d74491127b11e734ca953f7db359beadbad726e6c33ff6f8255ddab2e7bb5ed9189890595d97c8352aa312a5ad735010590415bfc906324d0066d546ded6bc56198e640ef557d979d5a390024e47b04ec2e701c3a7e61fa2907c3a4401bc0a05a2b3a4bb09cbe8b6abe0f31b2acec2925e5b4cb72fb1c34706e08001690620ca1a3a059dd14943c3cc543d7c7bfcfac2a1c862e02c4dce6df7c0d35582751a6c65d5c5109b1a81c8ec7bfbf1eb4553dcfec00ea1da9d061a91c6b63c277121b6c1cf32c6ceb3baab2b76edd22b379ede674eb3abef0e5e8dd2667a32cdbddd6ae5e1abba649a30dbbaef399556c8379ad7825d54627a036534715e85230a80b8359201e6fd842bb654388c2193e6261fa17ec59840d242769a5b895269d764fe27c5d6d57c43dc8f41e94f4e829238693ac9ca8f66e571f1a34dad29e9164bdaf9d2e00b1558064fd3a0da95a0618b54992e20cbe3526cabc0af0b1eab3ec36dda0862adce97ae5712627460ccae4e783bb2bd0db600c55d2b9e94ae687258046756d6264d5a5f11933b3988ecd74e092855315947f005af53d35a976413f4dec714d5bc39a78ccc9eed63c76c2bd43b056aab1afcbde00af4bc49c30df1be23e24b1c178f6d1d9b59169680e55961494b169b3a4cf85d4e2390b17ee94300c92c0afa94b1bf790ef27e36f18b395757a5ca44f450a67f10c23754d85403c770694af0c6167c076f701f311233ba3af87ee148a3c8d394e175fdf84b5e75d2724393ec6f167459dab8de9747b6a72ab11526cfd4974b7fb3d50c7c48053f4e0636eaf41227727eaa47eca551ae30e6a6c7c7504e66037f404bc64f9726c8c492b20d4645171f514e030aa61575704f916ede2aa2e66cf9c80b0b95f4a481659ff610ab0e38d5129a8f3669ece03491a7755321ec7953267312aea03550dc605921d54935552c3dc681238750866ac8279d144b59e36141afdb00603df2b749c2afa1d9c2b3410fcb89ac000ada5eb6ea05933595c262338d75e29370f18b6253f9fbcf327b1299fa167dd8f445325c54dd66d00b5b7aa5da00aac053d17f3ef215ab677529a02e097315125757748e3ad3e75971c378324307bbab8c01936b92e8f12e3145d5557afc95ae8860cc5a82e8f4e62cdcdb04e33fb891be3dc616380349e1954e0386f8c83a6de39ac883c4d1ca6f88a8aeed1cada6a524465c97454de8ccf9aeaa9603debbac1b816c9813ecb7b6dddcbd69bfeb7de3f6cececc0ccd799634e2a4a24ab5603c356315037e4f95919b7226a6cd6c2212c8e64d69bb1b626cf393cbffaae2b00cc10ceb39fefda14239286d22045278d250bb86b8b6b0cfc5666200e4552cdf1c2c69e2b4e3daeea2ae98bc0a814dd454e40a7d89dc4da823e539caf1596d1a1b4a43f25f7ad4b4adcc438e2f6d7373f0ab26220dcacfb30cddde3302643a875a66aa486dfc6ac0068fac35b15993e8b9f996aab66d3e343b56b7798eecd9c9562802e43c8d721b2b691fb8f566d6ad706c384bd65a67a1050fcf43666bf61369f821d36641cf7ac295c52597a3d6b95b46943b7f38b63d04dd93510d68a393ddace1608147b806eeba09bd00a198e354540028b236992441007be02010895f7544304dfd7009f05edb21be9546192352d18b7908fc765b131bfcf1bacb792873a2767581f26ebdebbea67f2d0184a93af3a7e4f938f99d242b58b6445a05f6bbd4652e7b63857aa6924514b0206ea86beaeb8a4b007f73f5d2d156b29cbd677698c026c930117ed43fcda57e1d96389591749473724b06e294c97a5c38d4db3e2c2620de139aaa08e33151c6264aa883a2cd57764d58edd449414d7d34b915c638349588e89d81c772b925ed004dccaefc1760f102544d29f3e338a0333ca13fcfca2786ef15e53d1c52938d66d1d36e26074f3068e2b8f16ca2e11b45ca60c401c7f4a3cc35470f7faceb47e0ddfd42e8d5152f7958151f9ba20c698422d1d77c26c18a3ae299e47567c9dd2e5a12d52c598b7efbd83998a9d508e068e0eb819a60873113105fabac26b1dddc721fd7b1de3cb84c16a43a44d9a942c7972528a2af26794e0fa10584bd6166ef668fe5d892939ded3f14154fdecabaebc4af6deb6c57ee7f6d77fffa5607cd53d815e93241ce59ec8ca191fa4c572994ebe8d4ddec72092dabf30d7e2cac866f04d953c40bca2eb0b8a2b9216931a0f775f2418ba4168708395bd05ba591de240d1b5a0ca8eadbf19188af9301e3eb6a4c797de6cfd3c0b225215be21537021eb8bf03c1e8902cbe483a1e2c04e0ed6515d8c1bfaccce595265b831d0f616acb92ac3b9e27cb94286a228ace7198ccc12d7486a72e2d76fa820595533cd9a6d64b24ca680c0065800ab5091434726b431cc906facbce64e6d9dd3fba2a3e5e3175f072edd9e1d58abe8b4289301d71acc20071baa84f92eeb66cc62f4a81a2dbac9ab2c7c158a9e50ee644c00b3460aebf168c3bbd68977f834c15296cfdc3a33bb1d6cdb79d37a16fa1988ef69763f773a3a5cb5f159d85898e9e12caf3ac67c75b8b7fa184841b4bc8e59b53889a651829d64f549b727a9a31296a01c55655606de3b839aa17323f17c2ea4091f23c64f4d45f618c3c3a3091e170383c3e67119ecd7a4ae00af5fd751ea3765cf21e6b8d64d060ceb38036678e6753234859a2af06a1a7386b04b00b6cd9f0f5f075366133f2f53bc125f9779c49b7ae60686465957c07c8c31bbb64c28f1cceacfee5aee4aef8db8d5a7aece3cb1c17202d81732fc16633a37519cdb73e8b6059b8d2c5104b2006313c693cb4e7d9206d977bf03edbec0c5d86d0fc635aaaa00957b7b296eacae6e07c17eabba25d66daf3d3669676a6da5d93305d6ea5074440262fe1b2205a8ac8e0a155e2a56290625c666b86ac2a77a0a7d63d2d25dbf737ccf557b5096161c82865a4b6120a69b88260bc05cd843a30125929f19557e6cb3ce55a4febed18649a38103af89aa69c567026be326d4d8c124f4794f33689d35575ac1776d322fcbe39345a11e0a73439db7427112d56742be6b62178c151ed3e42a3a8c0beb5017953a34034a296996c04f1da5100e333c4eed7e24cb2e074b061f976c8f2182b964f13303c46a700a06865558ca58d1597a17a6815b446fa556cfab6b2b6e4c177e23f6de73bdb9ce725129fdb60a4068b3e24eb911485185f71afc3501d20a4dc77f7a2fdaf0e01902945df7c1d4a95d0f657073c0e5d2191c4d80252bc3d864cd93e9f973b588cd05d76465ded8ecdc3c59d47c6d3c8799b20f3429b1f5386ed08b5d769f75ff32176ea91353c529a26332b91b225d5a0df749508c8f8185cc20209741adea2cdda7fb351d15746084413fa66b8b911d3e8bc740d3ce199200fc0c9b50e2fb9e7cb9009f268e7addf5dc9592cc7456140edc816300288363792ce92266ebe3b3d6da3a3262994d0986d4d1c2fbe4516c807d2351b58265eefa4ad2af9adf908e9e9b66ab2529cb658c5f66f3f0c4e9d27143b811c75e87ef1280e10d8da9f218b314916486223a968564bc32bd3a283077a6add247ec537906ed8c55758ccd64489605b053c07a41811293d018af5791e0ed2eb49740d50616ab8fa4db9da86711b7917cf5810ff1e79c9f193d5e35e9ebc7844ebbb086419b798238db12b1cb94b05bd97ffffdc6e465dfdb338a6fe16bafbdf7b2f533dbb266eb269bddee6118939ed0f29e2c6c491b21701b3ebee8925787073b17f69198c1ab14b22dfadaa993ba21498c863c4990f4e0e0e1433b999389a1238133a9367418649234a5803a9b6d10479b5abeabc25f13e7a4ff630122488aeb9d803b31bef0f965f5dda7242dbb9656c9f1d6461bfd9066f6c0cae40db2362c07d472214c3548f6e2c15c9a2dcb719ee86aa1e5ba20ba353a505c3dfbefb789feebefb934e0a0767754e933e30e2a33660c789f6d4a2ee6360b07e5d680ce695e6deb673dc4813c617511ad3ab5b93b1aa5008487cd56593cfcf419e5b2ce6ec76632560be12b660194745af16c3e0f397429f12e5429766400985d53a34b437603b64671de9ac4b55a05d716b097b6a1792791b14b5039d60d40af034624609b4cd92c00e902f7620c07d2cb60643fb36bfa1883b8b859ee1c8059c39d01c653e039e3640285006b080123d186868e54253e8b93191e7360a48a358b0408490baf5f4f18fcfaee367c505b00ce9190f8eff6e9f9826d81af774fa81763c2e8b855772d9ed53eea7071bacafe8d375dd68a612d11e8d5140accf4cc4f99162c6b906516ea22e6c0aa61eb184f2b728e769af910c06a4f84f4bfb4a8e098c3404856cb05c59ce31192922ecc15873e8f0e91ec805e9dbda818bb53e5e30abc20a8f6fe67e8a62c0337a3e3be0031dffefad6035fada32a92640c863dd1c40f5e088c14077031cf32ab64e6c740b401bcf78e024b746134f8807208af1d6e313303a6d05be8b3dd79336b0a6cc8940953e00fa832e4879b0165eeba39241610579705ab21d83da53f459dd47199ae896b84ae0dbc43ac655d65d129d65f013d93e9c426aed62e93991e8e1bc909338b582089abe33eaa6b8cc81828c91b550abc7adc6811776dc292b838da90f01c50f2843e8ab71c9ba4c63bf40e8403787a754c0057e6ab69265f41b912cc8cf0b291a44d9199024c9f86f11aba4b198c5809d430b05efa48eeaa89b22fb36fdc9fa421564f3359f365e741c275b889d14017411cd807fe5d18e571b70b9f5f3c37489e922d9a84095b9b98123c3e8058df9c3d6d668d7531f8399a52ecb95d3f1d834cd7162b2df326e65da1ac2984eb8f4a9e377c7e5f4e8ab963850d3b99d5d1da04f387931424d028a0f2384e08005d25e69cb3b6fa94e867a7e6a678cef9994e00f058efd378b319de89051e591c8f136180495b133e9362f4c5cf2c3c957a623ce15a23e143d1d8f7d9ec0fb8bf84d3b102723de3642623eaa4141da69d4d8d58d40653aa4d7610adc50010117cdc9fe34600c6bf0dcaaf7be46bd02943ac85001c3358798f494caa603b60e1b9595f63ac150e1279d3a54c3da80c55ed3440032e4a9d323d4981a90a69fb92fa8ba0c4f443a606f27c3e250d514d4d818153305a0a0ed02659b669dc83d6b8b994c6830c797b4d5858b383c5aa2080c4887b6042f434b139795b160661b3c04ca8dbe9ce741e789f44fd6c974547855befcc2862813b08c8a1e33310030741095440d64c80eb2c4c0ff3cf34b6010efd50768dfac0d698419ca46ec77c965d5de13c8a2e9b7661cc4324b9b08641a48145670e4cac3345d7cf3783357524a4f76148ceb67dd21c491b72d70558bb2a300e484aa7aeb01051cb22636e24b8bab6ba89be4476c65e86cbb324ad963661ac7cb3f06ea0e307eaa403537e2edcb92409e525b0a48aacadfab9e2f76c1c11232da87b02e0add718da36d5262a9cfa1ee856a4314345da3fd485a9abd2add813061f33cc6c34b5ba81168ce70e5a32cc622bf01604c6468266a387583f35dd7b5edb6c36973a94bd8beb0d9231303540d9b5776e91c8a24bd734b3a2638563d80cbfc3a3bfa943afe38022d1aff31810f1843bb5c94b28e40f6c8434cbc9d51ce33d1a21bbf96339ae9d1625ccaa42d711d813078f37316e6cd2318015c531bb6b7d1ca4582d53df0de69ddd477be65b3b477d9f5dbb7627913d9006eae86a031c7dfbeb56c84c683daecc677b66c7a4effa42c4081884861e606c5c49b40cb37c5dac95eb875426ee3d2eec61dc88869564be569bc9591d60ac2e55025c5d700b355bbf974c086cba52e7a4075a130832ec9ecaad559d936b8dea1b7f6d232205379ab64ae7b8127d7fd51fb12a3e3c6ec05e4020c266cdaebcfa995ee5e616b31eaafa02b9c4776ba3109b129142a6e352e0dfd31892be0f86143647743cb85bc2813a2d9cc178226941332b03f7cbabddce4db9c2204e9957fa3608f2cc74526b02d586503f9379b3d50de2dadd913c84df8906dcca1312ac2174051438e9addfe8ba557e8c7aad55d3a40f9f14c518cc9b356fbb538b7a6ee309b19f99cf56ede79d95100abdba3ea343639d134d1eba9cb422f940904702c6a278d61d09569477d5e6e9fa386601ed7ed7e4d035acd2f7ba96d4ffa937f7e1c11c9475ac5035436025aa743da68671f9b96b53d26e9a2164356f2353856da9864cb7b4ee50633e3d6e3d60dd3ca2eee399e19121633e5c767c48f2fd69f4675e2fe1eb2243581dd476cfad13daba870d8f2ea69a250c7c050685156ea72eda90d706f058af976ea83cca81cb327723eb48aa0cb80e5133f3c65ad898adb2986357248c461b7b264df06fd848dde667913544b8608363b9adf1deb14c0103cbc555e8b4947e48aaadb26e1bba6ffcdea1d59893f4767c2218c28dea719381fcc0ac31cd9bcd4e75ddea3d76d653f6af699a95042276a3d12a983b9e002a2ec55dc91b5f4fc326f618110bd021e7eedd10d455ed28d7b7a1e8d79ef0ca1dc6f6361d99dda61d130e1e9594f2d6dc7960bd08dbcc7536af9bb855757a21dd03656d65ef58cce11e6ad4c9dd05bd775aa5b1eec6d4ab021b2784c47443d4d183514f0380c85e3049b1759945e2741359b796a89bd899eba8828c8236688e8efd90ba05d9967d258d43006ee5f96d122792cedc55a192681b6d37a4eb00bf11b6728783a7cfc8e785becb742c30150a83ca2392128369485524335c65f1a6a251d1b1151e788d3e1d8c8421da1b86fb30f1abc640b1093407454eadda16eb86d24f4c8ace01c4d6816a56ac62855a2d8e5703a21aae295bc2595b2e04a5a31f1984e8e7ce86b14dd23a07734f46abdc1530c640b43c6b6390cd126e080f36eb99a063048d0a1bd9f55de0a3b28aabae194fa81c948c756b0398a18b63508bf9dd6e183826712bab33c7f0341920dd91d81fd690dd97aecd3825f34209c9ef3ae38f66c1663321b1a054eb2d31a1adc1e5c7b3674abb01e8cc1d3dd61132ec8e0c01be74acd5e03330131873fc0bc4d7dac28a004075762bc6b5e5aec1662c82d4b98cfb6b80da5a6cfc60ec198a07f87924374850cc2f31440c8d96aec96de3468c2b63cc8186882625faa72699cca0e391cc9455840e521173421b448d39eb30d55cea064ec5424b0c4167a121e6f898c4b5972a0785ebb95807c547a143f8a1483030d01d81268dfec92342fdbbb91a1bbbb03321cbf5c5ae90b107a626e4febb45c2a27892ecd7613687c3f7cc0a9334ae6fea546c3a2e693d89d8cde7181b862a690d71c75b56c97ffd6bd7cafaee5ddf92fdeaf4d33e2a27bded2db7e867776cdf2e6ffcbbbf968b2fba70e3315df735b9e02be716dfbbf492afca1bc69fbffefaaf17dffff0fff92ff98f77bee3dbb5237bd1151d36d73c6af63c568e570a5de96731f41b2a239ec742c65942aed86dc51d8b3037a9620417df94e0c5c1f3eca9bcf4d4d88af11b0c6eb5e053cc884b2a2f5bbba30dad41c2e6a851c13b5622c6467d95744e18e88af7627a228f8f18316f9d93b1925e5dd311441f9b8cd0d80133fb1297c2c11c8c159e317345c7b8006e451bb82d54d399aecc1a26d0ed40e5a53f83d97488e3265f0d678454e6316289c5784efd62997c3350a129ad1bb36d99f967a912ab8a3d0d7d97c63299f2180269da55f1f68825121839f4435fe88ea0a3c180c52651c68774fc6dcc638718b3d4b379ea6461bd71778ea9c3d951bc2a36501ed5b96fcc9a8b10c6ba318a72e0417c0dc143a94e72f848949b0d94eb79e0911cc06a15ea10d57b0fbfa6154b6687100c2b3b80833900b3291beb8bb0a01a122a58125400c68ee7b1023f28a5599b81e360f76ed1f979b21d00832c93ac003d6f534d15c67df19fbe5ed76c43c586adf7581354211f9869129e921f6cb482ae6e659da06a5e1b43c73fbb49a3bfa9347ed292994803f0e7c14519f750e3cdd0930791c53c1f1fdafd0cf97924a11a73b448314073ef467b60e8c1459b69fa4985993ab0c5a82d3a46e844f9b978f2a1c9b08f0edbf4bcc18871ea2f9646e55d5f60eb5267a8c90aa33dbccb660a2e4727bb0e73c776c3f8ebc65eef7bcfbbe4df4f7a9becb3cfbe96087cc79177979fffa55f976ddbf6faa6f6aaf3c744e21ffffaafec789ef8033f94cc2e6fec75d2dbde2c6f7fcb1b65db5e7bcb61871f91beaf6ec51f3bf564d912448f5f7ac14be4a03bdc51def24fff201f7cdf7fca431ef6083b667d7df18ccfc9bfbcfe7572d0417794c71cff78d9b275eb2d3a56bd7e7014e6fd53f78d073de84172c41147dcc820c77196c9f891eed91ed531b1c48266d2aedbd015b37f5447de3e6c363055ec7226e05d5050a594c7668553548efc85f93e2ba2ce26b6dd1a407b912476663358ad9ce96167454b54d743287856847981991c8b8e31288dc74b53d96f0e9adc624d2a9cf395424b85e7cfacc4c89b2163699882c98113c04f24640cce63b027dac0c0ac30988f45b7922f8f016173f7aa57297735a6537ccc7ccdce672d121b5c13def4dde02b1bf5f5c48081f3f1fa9814ee5eb8fdc150b962e7ac6e8a0e11df43a69537a11f024058294ce509ddea788c2e9c27057ea70f76541dac1d3ce4d06680f7536edd571b808a355838bde35c5662f4b024fd1fc75b549bca99e399f1f5ef6ea12b065eed63a65fa7ca28f9b0a4dfefb3e543ebde426dd061c1b6d9ccbf267520c98518807660ca14639501d47923dcb57397e10bb06e70af3122e2e40323172e08b089336e8c35331857d293b81863ccb03ec12ac963968a40a37d8c9c5aea2e063b859290340ea2711163c5785cea5dc89c881434628caa484ba481374e62e6044c40e00d5665613202327232c7be3fdce9626c19635ec08a34fd23eac62d97ed04c49c717c1c7358703129cf8699a59efaaeb190d9ba756bfa8c213ac95d8bb1617db36aa47adc677ff14cb9f7fd1e200f3aeee1f22b2ffe1df9ca97cf9657befc77bf69d0ec291ffe801c7ec45de5118f79dccd2625575d71855c74c1f9f2d4a73d43f6dd6fbff4fd533ff24179db9bdf207ff08a57c9efffcf3f937df7df5fdefacfff24678dc7aad7f509dfff1479d5ff7cb97cf693a7dbcf7ff0fdef9523ef7eb41cf78847271cd0cdbd342139e59453e4b2cb2e93eddbb7cb35d75c23d75e7bad89a75d7df5d55628dee4b503c0398c55654fa40beb82d4209903cb322afed2ee7dea95a1804138ee5a67021b70b018c2f4be981b33a5b6d074888080110a67e3fcbd5900e758861e40383c0c00e4415fc0b456ba81cec9230702c074ae0cc05e622cd1c3cbe03c04b92418d53b5e059ba58f0e32db81475530f14b18986857f3088225f5f3e6d319eec37564dad4fa671024277b535751be0f19e0974df6b297499b145c23a5f17b1d204cfb3dadee174bf7723081b82e608955624161ddb89ec9cc6de9ddc1c702cbb25d16091e27bd8ccdf07b51077d7c48f7188c31ef646b3bdac70f39591ba2ca5b5a174f03aa613652d21616013a4a888e0e6c29b803d005c858b3b7b61f12732a8fd9bc35ae825632d940b8e3e8e783f5d124f9ff94c0b74e7ff671d0dc467c1074d347d1146ab5bd5e6790e514288ee7336103a85ab30d563f4f130a1dcbf4799dcfe23e6a4743475355dd1709850653b652e075cd581a1676e3639ba56262999c6ab523e79dc76643028d679f376a1dfff40062ebfd13c77fd898377c6ed8b48f93632e80b81bba59cc61d5651fd7b42e43af63475a1f58df9c1c64e0b56fe8183f32959d630e9226261a4ce319838e9190e2df99ad0307e85c98e5f345ccc17541525b74a8e197139dd7fc1c677ab3796d69976ab8b94ebcc8f35ef012d9b563879c77ee97e56e773f4afef855af91b3bff445b9eebaebbee17deabaaf5d2bdb6ff8ba1df351c71c7bb33f7fc9c5178e09f60ed36239e63bef9dbe7fc0417718d7ce9a9cfbe5b38c3da889ce4177b8835c70de5764c78eedb2f7defbc8fd1ef8a00452560b8eeddbaf97d52d6b37e908ccaf57bce215f2c217be50def296b7c8e5975f6e898afea949899efbdbdffe76f9fad7bf7ee3f0d75042ae0dd7470ef27bd228a79935493e397971ccb29011822b23edfde15a1856c1827120b99c79316e1cbab835689a464157743ea0ab30ed94707b93dd40e764ec66c7abedefde31234d9a03ebf732f80c6316d0e9b4d25c59c9988ebecf92faa824983ec833695416a00a4354094149dbf9d6b93190609d3a07a82c76ef5e2f00997a6c5a8df0b862eadcca1d81d46d52dcc17c4516cb5d768dd7b6cc2d48b2422d2a582465ecbeca090c838b1305d064b3fdcf6a0835d4f1deaaecbb192a0ef1a0682b77fcda323edc260c35b8c05bdb4baa0c99ade02d78e75254347ac0a6c39536b392b041f008a1922a8951b91d7b6695a8c266d3ac14d45009e1380591f643992ca411818fdc6530f5d031296d8d5fe46b2e3a24959ebf2aced6f32440561113483759053bb7212638dd0439d0ebfc58e5d3ebe5f81eb33567953492d44a53153f38e3c470334d258bd681abc69ad2b53794f2ef786e202066cf5413e38ff8f959a5da349d25888ee0341745375354a6d6781317eb4b13b6d3b5abc996e1b4fa651a05eedcb9b3b8276c8f302d363831e1c43f6de84bd78c998ea530b2ec26a06ac57898ced0a28b91629cfbe0e675d6edd524831224243c05c367324a9e2652cc26b235a3bf07928025d8a563310bcf256cd7786eabc43c43cce19f9f8a582261b9b19883e755638e31c506e8e75484e3118b39586f00f06bcc411cc273c63100383e8cd7dc00d0473a6def8edb362a1d6f5f6bc28ec34db27290f47fee339f949ffbc55f4dc9e41d0f3e44b65f7fbdfcc7496f97cf7ce2e3f2833ffae3d6d9b8837eff86eb659f7df7b34ecb09dff7fd72d9255f1d1392afd9b1dfebbef7978f7ee883d62dd104fec5bffc5cf98ebb1d29cf7ace2fca85e77f45fee1b57f294f78f253e4b1273c41aeb9fa2af9a7d7bd56aebce27239e6d87bcb9d0fbb4b3aae638ebd97fcea8b7e5bfee2957f24773df21ef2634f7f961c3d7eefb77efd7972c3f8f90f7cf071767dbef33ef79377bdfd5fe58ccf7ddac63cc7deebbef2f637bf51cef8eca7e5575ef45bb2df0107ca896f7a8325f33ffaf46716e7aed77bc798909d76da69f2f9cf7f5e9efce427cbbbdef52eb97e3c6fbd9e871c7288fcfccffffc8d2703899536def7c67dc5f6b88e89314476af13606e28327b6e75660a6665174d1f0a3c304d785448d03a7d1376f54cc68e94d553bb81e2c9ade269d2924091435fb464f11032e80fefa78b8c153899bac8b2d253e128fe6fee327055cac12455f783447b5a8a763282f5b66ddb8a2e08f40fa6781a5cf3149086bed452e85d5703e732b5509f0ab3f5134f90a9d74955c80b561b04c192553c0220129e307ec3b5e060c7d78abd9138e9c4757345d0c5860e16466f56e985226f56e16c890a3d2f28aa69f412cc87a43f121535185c3ec7adbd956d9b2299da4542d5458214294c21ed9f93ed7537a29c6c3efc73e8286af7c8d75e5724694894714f9425540583a60e375cbbbea4868c73604a7b03606524736944d97759c8aeca157c0795500354ba02314610153d67d30d9c710cbc8e703e3c8ae0912c3394301ee6e71deb94c775e8b6cc0250ed2ed04da6408bfbbaac4702c2639202101f6b748a1be30e08c79cd42142f7b7ae0a160bc71b3c73498b4686a26bc8f1820b866977766a17c063a72af48e0a507cc2ae65ad12b62dd0649515b4b9133b1daf57185bc63a77406c1dddc7dad5772241beb9d745179c677f1e1af88e73cffea2ecbbeffef2fefffc774b46ee7af7a3e41d6ffd1739f943ffc7bea79814fd5a06a941b120affbab57c925175f645dcd6baeba52f6da7b1f39fdd493e5eef73846be72ced9f2affffc7af9e77f789ded453aa6d1d76bfff7ff92fdf63bc004fceeff5d0fde007a7df0c31e21fffb6fdf60b144f123975d7ab19c37be972625da9939e7cb67c9873ff03e39ede40f99e0e811773d72fcfe35f285333e6b5d154d3a2e38ef5c79e51ffe9e1c76f8e11bce7bafbdf64a6be07bbee77be4452f7a917cf7777fb77d6fdf7df795c30e3bcc92ad1bdb8fd92f0c63d63d9295d3932f445c9de469c3b2d3d8f432738784d6c429c34649c5033a3e105588ab6113423723894535cd86a480e7a9aca1e0d56353cc69f1a06b25c700b7e9bc330b9b49f1732c63ce8194c74bae9fd24de6e44311ac53804bea8aaeaec9e03b5602653614332aaa89511b07726748f8866a73ca60c860334380e3b93eaef554f382f11cdc4667ac07cff585aa7ec7a54852b74c555f38baae46f2e0d7b721613109b3bf52fc2ccdebc91f84bb1ab856d0c080574e3aee18c368c70a2c29560266668626cb6885f3a8d0ceb72b138b14a06963b59f19eaa0f86a07642d584a43a199c10041f6a9d1fbe69b5d9dce1942626dd096b9658c4e514fc91e343038c1c79ae58d8fa9b05ccd332ba5600328de66be6a20667e1e711c48e678b4c0c932a4f471bdd99b870b111ed7b191272740384e7fdf6c4088a0cdc9cd32de53e303bc9270bc6c76c9a076f6aae2d10cc7209c23837239e9d231018fedf819626560fede3c09110e1bd887780fc4db76d9168075beaf00d5cf0d27d4a4f304730a710a231b244dfcac7332052c56471a53daedb1319d31c982df1caaaf4d5dc9cded98d75d7bad1ddba187f9e6ad1d06ed5eecb8e17af9b1673c4b1e3026028a41d131cf255fbdd020019ffcf8a90654553c8a8e80ee78c89de4a10f7f945c7af157e5def77fa01c7cc821b2ff0107ca537ffce963d2f110d9392609daf178e8231e2df77bc083e4bfc6c466bffdf793a7fdd4cfd8cfe9184793117d7dfeb39f923ff8ad17d9df15dcfa1b2ffd238bebfff28faf93bb1c715779c2937f402ebee80239eae87bca27c6e4e7677ff1570d83f2c0073f743c96730c7cfbd3cf799e5c3d2648ef3ee96d72dc231e556005f14231a9f743934224e0e8ceeb1a2d841c8ba7b0b26b9de9d9fd6daa6377db49bb050dadef77c666dd24b54dded8935d7d08925596642cc6408684a6b7b6b0dd94da2dcb9522e76c1d7b0c0a896c66fd4c9554b90d8c87924de9d84f24b92247b539a53fe7f67093942c1144a726679c20f0c2e1f1001e746c74b6e016cb6203d59638e87d08ba3c7fe7a0816b3a353d632d0ae0185c6e9a28d15a2185470c3a2fecfc3ca51d4f0de2b87dce18a086344da04a3b10c8527d6efa2a80bd01f07321a9dadab5eb63c0ae480addcfbd76cd8cdeb554323ea42ebc6b18748cfba1b802bb1f8a6b69d713621d815ea2aa764cd410627e4328b4964ac0506df575b84c7466accb35a364ae644a76ede7a8090faaa0f5dd6d12ced3f7d0563acc0c73a72877818a7194096fad4713a80a41c33aa997ea61625d604ca7d460354ddba27e45606734b32291c49a4ed531d0fd916c777dc6fa40c197fd68b2bb6e389af6438c6a7b099fef62accb1be974e3e6849b9d72b1eea72aac539c0c638bf00c0d2158a389a5fa36f9b314607315e28382b0898d659c0b985d6c74c8e0f6e95ae3ae0f274f386f5651065683c1c6be8efba438cb4c4116816429804d9d9967f973611f806ba7eb509322e0bffcdf9649a19b45d9107358b00db20785bf0f28e04878f55ecc62b41a6b33d41c8d66bfec6f5e5b4369b7d75e73b55c71d9a5f2ceb7bd55be7ac105f2ebbff952f9c07bdf23ffeb8f7e7f4c32ee243ff9ac9f1bfffe524b06f4597bf8a31f27975f7689bce175afb544e3b1dff3bdf2e77ff2c763e2f01d463b7ee7896fb5e339eb0b67c8e39ffc14b9f28a4be523ffe77db265eb161b43eafa50ecc8ee5dbbc7a465bbfcd2b39f213ff0234f93e39ff044639d9d73f617e5631ffdc898b0dccb00af9afc3cef075f625d9897bef8d7e5f24b2f91ed37dc20978c89d0dbdef44f72cd5557c91bfffe6f2c9ee908eae40fbe5f4efdc8876cd4a34b4cffed11e3315794e42be0f5c20b2f94030e3840def08637c8f9e79f2f279f7cb2dd33c5961c73cc311b18a84c4661eca06bd5ec898909558869f109a4e6bbc4a72f992a43a2f979d7a435cc892a7a5ab0a91b021f3689b2ca15dad48e7d7a3c2c81cdd51957438c3f6100196fc8dc72aeaab29a6156cc9402c73374dbd886186969e2d6d74545e8eea12a16160c0ec9fe39dc1e9eda8cf33885c7522c4097129931e82e768f1be7ea3c0cf49a82c1524d68a5dcda47d68ee3d50784933a1e6f41888c3b477a3b6d9ca1036665ecf48ec948f7afae93291d581fb88fe9de280647cf714623c14e5cc3617c8fb5d52d85732ae6e34cf7755d8fd590b0ef0d0c0d1347935d319c81e34a4cbd54594083eba1340d18482de1a9ea10d6f34462563955727dd9db66b7325bc949b90ae6f54a156ea303888d315746b8ce7edeebc5d832e317564c90cd834f1ef941448613f3f45cd48e07c1c6a2898a0115fb6153c7edf4ccd49ebcda08683c6ed16bd0940ab94e875e8df36c2331f6a46e7cfa62ad66ecd694bd360569629db3170f272c5cec200614761049e764956203d4a3e7e1986b0bc70c47e72bfeac54a656eb3f89eb87ee1483c099de3c1d4b719232a52e4fc50a1183303a2ba9cd4dc1c6e318c7c69c5c28f035c13d6c039fa710ff3ad647122034168ed89ad46711b60f9c68b0e5073a7185981a256aa68fb2be2cd859889736e60c7688c9fe2f63bc7a331be6b1f7beaf3172feea4fffa75176fff04fffd2c0a58f7fd20fca0d63d2729ffb3fd0c639da85b8eb91771f37edebe4d0bb1c617bcbf14f78923d2b3a2ab9f6da6be484ef7d929c7fee39d6fd50caee35575f2d8f39fe7bac2ba3d7e5be0ffc2e39f7cb67cb91471d6dc9c661e3fb1c3ffece57ce39cb68befad2ceca0b7ffb65f2a6d7bfce7da7daa53cfdd9cf91873df231e3cf1f2e1fffe8c9b2df984c6862a35f575e76993ce3d9cf95534ffe90dc773cd6abaebad2463e7a1ee79cf545b9f3c587c9bdeefb0099660e3ff5533f25c71d779c8dedf5b9d064e4518f7a945d63edecdfed6e77bb89468144a1156354f3cbbeed5a26d594175ee5ddbaa2af9afe6ce84f7ccde86b4e5f2bf1e76afcdded42450efeaf7f7be59f3cee51f7dbeff22baeb54c5c2bcc33cfbc40ee78c81172f0c107155d0a240c70094555e172ee5d048c71835b5d739c42eb3e2ad944ae2bc623dc89e007099b265766bc514eab1f6e757250c703c7ac88020f22a5c01ccf5e13902f68c61dcd638d0530c806db781e83c0e29dc76108464cdbe5b10e6370a6c7e322689dac860e888f6f1ad3ede04e0faa521c033e971d6bb1c1f13d9cea9c60b3d97befbd4dc469f7ee5db2656debf87d187b49740b62763eb8acbe6a6cd4e26ab0acc980cfd1cd5bffbe6b7c409582ac026dbbcd7d789e3a2953254eedc2f846bc4cf2f37de84d00ec5b19c5d9b6abe457e494d759fa1dc6bea48a5dd93a00503bac5576ad2fccf0516fbe3b19371bc79fb47e365333e64d6f7a9f352036330547ee1b3a17bba24acdbe24dc724fec924a8a767e15426b2a10c720d1a406ab9d28305b3ab760c07dd0679d313f3cd6983a75e3bc7884c9d80aee2e0270ce9d41e8706043e5449dbb0d3c2ae4e710cf05fb5159521c0c2b350e6d56d6dc00b45b4fcc308cec3839e08e0cc7a1d944cb68aacfc29d2f7e4ea66c229c2fdfa7cd62ce147385734d5a4fd1f162dcd9d0f545e2ce23767c26db0430b87c1a73a6006d4fb25af9d2173e2347def5c031e1db62899e32a12efcea65f297ffebb5b2eff848a88440d5afcbf6e556f9f53ffe67b9c7ddef76b39b9b762eb67e93da25b7c64bcfffeaabae90030fbae36dea43b3d9ebb4d34e9557bff459b2ff3eabb2ba65db18ef2bb9e8b21bae7bc37f7ce185e33f5f11fbfc22be74b12fe3ef4bfa6ae9aba3af9efe1ce84f7ce91a19fe9fc0980035ae2fada417eb0beb0038c8b09ef0e2ab0dac8e02dc3770b7c1dbc13d693a4cc172dc4d60654c066f4e297d0c5845e001ca7c3a2f4670e58e04129b6ca95ebad16e48620649d4ce5421908d3dd32753b0a1c0cb9b335730baa1a2aa641d05a6137252e35e3c6e88b78cc09f821da99c32559883ea547f84710c30fe9bb6e5d129f34d6d1ee784115c5497c1c4924136b4e119b333ed52d998035e20932492d90955381743bc2c014c693c92a4f44d6ba24b8059c36e50d2c99b53127d131f4d7207a149d7b02f28dde5fd188a31dcf41e4e1d6c335661e64966411dcef81a1e316e061e9d621f4c669eba71bc11b7c490810b387723596597e9eb6cfa87b5ca8504ffce14248eb80046092716dcd5e38e028e83131cd61cd988790aa027548ad2da1a36c48869cc29d836d44560297d5e2f8c8141d7888d31a714678e391cf3f4f962fcd14dc51c8d9b8c21c233c6f79dbb402c2dc031873b75faef7a0c2896f0b5c1f9d984d4f47877c6bacd6c46881c426be396befe5f4a4a704f0e3ee4ceffcf2525a9e715006415047535efdb4ee6ec36fb64d703c9223fa15c4434d28c1847463f7db06006879dbc4b958184257de96eca9b9f7eb9984f5daa3cc6f1b409d8362f02227716309ac0ec942b0704150e9a5c59160181f44b0672214eec92707b1c202a3764755049a65c43b82a77858c370768046ebe9e0880086cec1562e74b067410c802ea7faa908900cc15238f1432bea72bc4a158dc2ab7d663d61f4ea30ee06ac3406c9655092b67cd6094834d8bd901aba1369af525fac0ce6439761e316163990738148ec08c4541a0b62eccb80eb28581e34db80b8ac407d7051b764a1cc06ed263a8ca11d9148038c561714791018ed3d1456246d09ac1e602e1a56c5930cb60cd49850b606415f44ede84a6e674ac140ca6d7745c391586e363d52e17c6b1b87e9cf87211c1b80ef6c861f1434e1a36b3a09826d953761394489b186f944c9faa4818a72ace787f8cdda6aaafcc14c47de49169a22e8fd740d7331726dcad60961aae39779ca6b4e5427f2492ff0207d70f89a1c423ee69f74a47be5c64f07d7777edf27af2e8503b6f2d89b4790c73db0830364dd46dd9e51df4f6d7b7b69b137a5b6b6b2bde3dadea6f2809fcff112b4752bb5717ae2b2d5621535ea7cd0801867121c979b85d24297b0530ad5abbafa41933c80b0f081e30b48eb96dcc5d06167763b43bcfba51ed7210e6bf33680f81822b28cc5df3bc3dba3cf02908d330d35151c3c2beb136bc83c3c6e4a4ab0c105637da0118dcd74332780d0fb879fda8015eb3d10abd9fb46e599116b4b1f531f0f4ee9ee8825b6642d7a6468e06266ecfb23b32fba84045161d3dff7c09f0e592e884e3396ba0afdd8959350ddc6d784828f29a008c49a7c20d394c0344b54ffa18f5b874fdccde7365dc1ccc33ae6f43357548a30106273a7db94fd70040df3a3c9aeaf0ed50633c005f717e5ddf15553a579a250ea2371133f5ad51a9967aa678958d6aaa993d5215f7076b8b4d1fa76c949484f600e67ae7c9bc555454ad991115ba4b9b817e7f36c19d40db00de3ccc0a99e2193831e2249d931366ba31ae87df03cf2db3d9a600529640e7b5cd5db3c438988c57f81e4daf233b837b176d99366ad51659a95c6b0422637c3cfaf2317555c4321e194fc7bc605030b598d584b968621b05ee744dd58bb1ae391621b9e198933458c21bc948fa363a76707463fa346af0a89a221a937bc3a10c9398e366a2ceae510f3313e99b882f72a2a414e0d628e3437248ce6bae0a9c898b2dce9a5bee9573fbeb1be998845e531b6bb97132c51e9798746d9f9839592db20f0cce10adbdbaf41899b43015a4a4b2e5e981b27db34aed7e66c7b04fc58cfc46a6545e06792159d097062cb4d57923e78e0c00bb5c254f5ba0dc15e0961ee3665235a21d9b180b581d1ea8fb3a40be95f8ac1fe878c880eb86029a227c4e347148b3710a68b8be4c93646aa6bf0f55b636326ac3ccabb3a053d57eefb80ac24c9f29a3fd44ff2429d51ad3c3f520ac220dc5cfba0a93c63001e3b9b55459146b164067783d6034d18720d3fa723d7c391cfb6034cf84eeef939f10535adb50a3847608ee33dc99dd35d5592ea6463c94ad7d8c9db80ac6e8cf92f0a446da1bc0b70a37d9ddc990315338791c58e8eac49a65c339a6c3f3983299a12119b2e4d74d241518cca347c75279278a3b06488830cac146bbd9d8154902277b3cd2c1338b6a5f9f474e4c3841669f2b602e90ac7117851557194f319561c767a33b58883c528785931b9c9b52d2559db34e427e3196a34286c1e0dcb900b0769a2ce1d980591eae01c6307c4ebc1619a7c2b81c1ea924261d8db5d96a822d2b6cad0e79945949955866de29f5a093bdc896aee512cf3824eb73b2efc55f4d89291f4feacc54b9836e3a314d9dc608aefa2a0964ebe39ddb3b26dffa46810b066ae2addde88509dced81eec25d98e2a54da4eb63614a21933e057ef168a78ecc5a69b33e37775149c6af30d014417c3a3e61375c4e7e7853e0393e07066e494f993eac97c20172ca7ec0433ab57407180d9a19756866408c48a28286a709a3f7d9f74622a9598dc067465c0140e5f639fc41a654d03e4c9ddca53736b106f432b73a3777dd413688aa6da61dc13e20186b20d114c920deb66bd3e63d84243b026012adb763c9fe2c0389c659a06ebb52e2df3a07ced137bae72085cd3a631552a251b16644c9b210507b89dac90930925aaeded368305ad5bac9ebb1d88620b943a2d81e6c565cf572470fe7c5e3177465eaba9a08147aa0f76690772793571525161837c03432e12256028ba3098b949a222afe34055a72b712eb9d9354742d376375b1760f3a4cc9bb2a9219ac05603698fdc1e7cc0c32eec4b09927771ed8899c13418c0b59c7089a3353a03203db9361e4a47bc4d70acfdb8284da38764c69f853f56aeebaf00888f13c37177318bb03babebf5795306e70f9cd3167c5159853672e68d461a7a009273aacdcf5c63958f117d61d43b0c5d84709d990b1d76641cd1e6eef987cab5f4374ae80e5d178bf3a9fed79890967efb681c443be3231909be210fa9e406e2a26b65837cf1da551aabe097c765c92bed9c0006065500e3c9b092c71a5872e00337af06fc8fc4b7132df48a789103e7f2a7804a55806f862b365bc810606985a7551fda7f1d4b22d04c0e0eac9d562d765ca66c14021e969ae7aa1fbd1d0e69d698ade39b10a4937abba4a5d250e8ed3848fb512d0d151f0734f197a5d39e8b486609a5592d1d2eefa8431f1f3c88f574f1b0ca4ea21bbae94b92a3611373cd4d9c990fc44389823f056d052e9fb24ecc7ec23688270f23524c0605398c10da494e93e2bb580ba6be17748ee20f6ff480a001067fc4fee3ecd0b4c42e9f9538e17bbe8e0b8195d65491b3329b07eb9739414478dba3c2fae3d6372b268db2c6156f4dc91584c01a0dc3dc4baf23189d00862a3011e9e0f2426fa77bbafd4f129f55b5828d1133f1c1f9ec3420c90c60c2c6a86dff77bd0c678493b7b8b8485008893c745d302889f0d66064ebb1b3d75226e2ae6944065c7a6b16e0962ce74ec86a4008ac69b8eab13162c64e183d9852ea28d2b3b2f1093e688ad75ea18f51885672030c663acc05cc5339f958141f58e1161242806886f66b76712df72324adc97599362f26d2964729bdde12adaef19e7e1d449c505e826a449471f86549cf19b095b3c78aa2f505559ae5bf526da763d812bf5671d98d8a74a175509820f6b24f0d80801119a045c0d2299426b7e2395aeb26319684c00bc82f99a486ebbb25c34272098d5a8ef885e9776b970af927eb76da6d6c5d0966a6f60090fd26340e8863e79c434f359b2b0367d88be2d822f1b07728063902e8282513ebb2505aec6b40cfac8ae51de70b061eb79f6d2c98983b70f2d51a9da24f90fcd8c3ee15282a2acf4cff1deea975e97368c1cc546809db79cc3b9567d3b24ba0e6a1c67e76faea8ae69a2789bf59dda451ad761d386fa696636b072aee25c74ac64cc1bc514f4958dc624c4de968bdefc5decbed733137c53a01e77faa609f5d08791a1be6fb76e56ef7d045fa567aa48a06eccccda9882a51997045135dee8710ebe9ecd83cfbb68aafba3ff3eae9715f5e9214d1e9cbb01ba75bdeb0613e06233dea4b581fbcb9d0a1e734eab7724683c0ef5ce5d67058589d2f5aaf0aceb52ef2140bfbec1a19ba4a0758c56b169a32b314d10d93242130abd4d8a0d51fd1a03760f0ee49d0525189602d8c8e1aabd5c665d238fd74388c755265ca749ba76fcf4b35d99b52c6ed83387851ef9bef2bf835d34a59bb39a30039871fd86903af6eb9dc519a740d7a99a748a7d811f32e726078f39724b3d82f418ebb9d9615a4cd0586c4049526ed69823defd360065684eb1ea328ac29c0047ac0b05e726464248da177aed7564ad316dfc37d5f5d86bdb6a00b96f7ffd775f2a8b70ddd7ae33213853386eaac4ced9e3129399816b322d6e75754b624cc075d5689816101aeb88e001745f0680f85adf984281b3c202af9bd09368a273d217ba0e1cc4a65a24485cf2d84036b46a1934c6fa23085cbe9f3b58cb9f4356612d45c038216170a07d86fe7d0c0eaa5eaa0eb5d61285a1973426aea695a6260e3ed6d0ef36494154ab9e79354bb814f5ddd280baba3a2b8203d3fda62056a57f6a5262c66b759681f78dbb238060932a6ea678334688351366d033e973058579bd262badced863ec22440dd75182ae070762660f168885adefceec97c5a28debedf4b7aa9e1b3666e7ae1de3e6b4d718681585bed3de0fbfc36261fa5a5f2cc314d07e22980eeb86ebd17bac2268ddf89e838d233551695392934188e4ca6b95a1820cab50430db9f7f978ce8b26dc939b22419c821c0b1d1aaaa47914c20ac09a68ecdedd85f9a5b83649383a2b8289e9ad85d7905efab64f60677e1e3613d7e3c48e99388504396d84fe1c2cedb8662b83812957d414b156dcce7a2486120eda19273615249b02b6eb89d78e7bf87881022f9601de4c768e4b4b764d0b67d15317d552ef5843b3f8fd36ccfcfab03e184cb7467f46638eff5c69a4c860fc29de0dd8195c0fee24f1986d6a71c1a26570b43693514dc26d52aeebadbc678839cc10e36baacf541771c392db7619cf4e8c318311578defeb22738d01cdebbe21a65267ba234d5c07d686e1e3cf78b3263dbe16d3f57856027766485a4dc2c72273c74e1966bd79c2ecbbcfbe896e7ffbebbfdf2dd9b265cdfdaa2a675d227eed718909669079d31f6cc1775d9f30075eddcd2d39590c7d4a301c0035448080eae2aca8da72e0466bb7b3ca8c91e1dc3645f0e4e0c0ee9d08040cbec37bb1ab2e3658d5c0e855ed73b6326e5c2bc9380d8c14a6d6f1065e28aa76b9d3b312dd183e7edda06763005f9a9a696f4eb38553ac9e5f5493b3595975e13cb009335070da725e59f104449543d944cc81a375b12131a5766a1ea67f57fc028cdd4cad56abfd1032d3718efe3b36e4813640805155d0cc8f55ec9ae83568aa1851e8fd9d3903292501330f9c49b974a892c19cd36635499817180074d1f279f9cf56690cd517e7e4a2764b029e666b02be3ee9fe89772f6c434527a96ae2b892bf7d12a79b9a3ff27ae5cd8dd54619c00c7f957e70b133bd4e9502c74d0c6c5789db8abf43d69f931bded09832ba9818d8a1a3893f919c30ee883b094e016f8c3da56b6c982d641e632e067e4e1583b9cb3875b3468c491b7048fceb8fac242132ed4e55e919af243b11976c1cd80df4c959d85db1670940ed6b47d2fb62bcc3fe492cfec67819dcafcd122c9c038f74f0f349ff26982c1673c42d1ab49b8c78876ba46b00c7c2e3a144289068e1d3988b134a24aeb371adae5b47af72d616240dd021d2b5a96b9d46f5d071627d25d6b5815f4e5d834de68990630feb8441d44f591b3751fdbafdf5ad7b3930bb277c639db1457b12c6646aee94930897cf2e0481243bd7fac6d927e60d0052c04e001381600386070b38315517418037a6cdbc5ef0779ec94e7551a0a300a7e441d8d5b4d483c0e7ea796113405290922a7aff05d10861c5eee26b95055dad6ccc929c14384d8322dc617953607020074b244b2c1bcd144c247f8c3d63997e04e1a921206f208ef3a8d29cd8ae3759bee35a247d1460068259042d8961c8e263360e1d97f2ca7c16632c4f569701c84b389d90f7d7cd59c724f067718641bb8139c4c045de141326a5a98b0e10837e21593fc55678c2d9253d100f08cbb84e83acadaeb96331759db8639281b025289c1543995dc3ac0f09e65a1f7a38fa1fccdee2e4744a691dc8597b2a9a3705e5326b06eb3badf9b8a7536d9b7c4d9be8327694802d8bf5c8b82fc6426de603939eebdad95d10c233734c05526a82319f157a3b9c345842de86960f3b5ff7432a36dcfe4212f644081fc4eb868f893baf2c3e3735e4cbccb8cc28620c1e83d87ddc252906f135e33f4189e67802b5e986aeff32d6654bb20873c41c35ae54676bbb364362bda58495707a5c28723cd0f773e138f86255cec243f2a5ecc230f3d367579fd9aecf1a47b7bfbe752fc344865f4e6e10eca1890927051e24622107e3c678d5cb76225a3444253524da5aaf1e25f5dcab1ad35f506ae65a3cdc18e1f405808e41a6d3166aa9485882b4a60f1983c5f84ffd1d9d63ebe1fa069a93118c4d1804c79f699b74d085fb005e6a47213162a01c6a8b27bc3fea15ebcf03d868fa038a8308202557468cb161201dce13d79a5bbc2d2531f3c071b8226c46e433eb091b36b7ed5325a889a3313b9ceebc50d68548417334f9f4f13e2ebbdedae3ba52fb44c7ad0df7d12bc62568e7b5e1542a1b0554fa735ad9211123668882f576edd825dd5225e1c720bddc65f8011ed7657cc1461758ef96f43e4a1aea2472c71b2383421978c95d0cc378d8b10dd6fab7eb2bae2c6b589b09c3aa50b51ddc5f06493c927616ed63aabc27d1f17e01cad636fbd079620681ba21a99932560338093c437531f29a2aaa32fd1fe76d55f3dcc5da0cf9b009f8dc9eafa14f32fe150978cda86bc6c0e36902cd5202537a351482211aa89d2f98eee900c7be1763b152b8cd9967768fed78e73142182ce6e8bd1bccc36bd5ee05bab8b85753f13b1ec9f17563c350565f9d0ac0219160c149ff7e6b49edca7c2d6bd4d45511df58008ebba34c35d6f719faf02c5b7656f458a730fccc5c75d999683a062de8d8064971c6d634f9e2e4143107c7943ba3524826482531e65a96869fb7e711b702e893c0c5f326150f7b5c6222b17c53753338d0d53429c4abca6e126c3538ba81561598803a58171a9cb4623754adcd7b1d6f52a74031ed567050e420305532e587092daf6992c21d160703fa7c74b1bb4d40570d6e1c4ca6588ce94804eeb9bd3a25ab78dc18f40c9b10416365dcd06746530d6a6cb366a39c2a8cb7f4df66e1c3c2825b1a08143cc8f2d82c5cc58917579e4e2373bd9245b81a5b10a3ea95af1546469ce0f07b2a2b06cc90b99aa4b5e59cdd1253332f5c7100b06ec2ab4daadc55644e13b13a465e0a9a56a9794d4a54640f7fd6c46cf0636b65dbda1603b0f6dd4274940d40211236a6836293ca1b4465004ddf4822584abfa93f0db7e537a8a29adbeef8992affac1bdcf8dfe33b8ee7b07471b87659a86cfab5ab02c0bb30ed98aaced824b4f49194b05e0cd4767bdbdca2d3b218d78de7ade6206cb049bd5663553a9b74322d01ec9d29a1c5807706bb0dfe324890d8251b95b8bebf25407d9764eafdf9ab2d296bd2f82d4b90675d162fdee6f359e1e3c372ffecef347d3e199b33b89e80e3b4a2ce99c17620ba283c2ef58eade2751aef08542e9dde68cc1137f733bf231dc5554dc49c65d105e1a49c4d2bd93d78aa52cd1d1266cc31c098f55afcf91d0c5355c7686c18ba0dd763ea9b331599b3e443f149da998bf1165c0af599b5e2485ac7ee8d31c7f121830bb2e97b54755198a02b08af2a24414c1b4f7a3c8597592476e379d838dfd67d9fc67bb7bf6e95bc24b1f08634c2dec31213ab7668de08cc040713564c05104d45a1b48b629e15a9a5dcb986c5e0b89324a15ec906aa1dd3e810d81a921b67a9e7c2c937fe04d59067a510b8e2aac81eaa266b486855ceec055493cc7e41959ef450e28b65c1598e9b01bbde61a8b3ef4948f4f33805018af5563810722787475f4d8daace67c958b00ce0e30a19b44a6e3d1772fb94f019e6a1ef368cd0f4bc17ebbbc704c3b542ea601b68a7acf2169beba7049e633ef3f18c053050b6270c8db6f5eba06330043ea59827baeee4beb3fe0d6f24ba39276d096ac1a33bc049028b7871858f55bfb6b6eac1b6ae8a1637185f992d2534ee9c25e7e76a93b14052c19d782759a25449026803fc89b15abb742a683f10234b860293a0ebcc13c86a83b22ae317126dba8a672824afa1100aaaaf8d1c00440f255d73a28ee7cc185fb524d77106824e41d69c504ebd744c659a5447817ff1b8d315428b3cba7386dd2ca8cc3da9c776496410b611304204d07c0ab4c7b3cd382d1e7b31238fa9bb8a0da9c96e01c9273f5fecd38335a4f7126b01716e3a72e4a28513288e7d9906dca6d195bf4706ef2775e789270fab60f37b735205914893faaf10973d89ac028f354f4c9ddb93925b07f329858b74751babebde668989b58d27780b80af507dcd9a52f8aa8e0e40158c1e03ddcd321b65352a5ff67b60519f8ac6186cde05af87c47648fd1c495a224200dbcdd8083c06e2248337e28c33a82796f4f3a2bdc93fab0f3f8e993f03091cb7ecb9a5cfc90eab4f72c2c1381196e9e7ee8d174c8491a8b352e454d06aaad6c94ca3a9191dfe9b4dcb3858996e8a56619a8c6abdadd5b626114b07bbaeadccd4d737a8a655c12e9832a8d8c8cf25e0bd1dadc04f651bd5d15dcb72f3c386242a05ebe8528009c33820d073d99b89033c77c918a0da92a920c401b1590077058d978ade4ff57b18efc492e53cdac02686c4094108a0f3363a5f0e001d8aee0e1871265ed8fbf546f20993c322d18c0d17180600919342a954932460886b29c2c6e62acca53faf098a8eebba48ce780c391d83321e236de4d4a1c09868350a08e0401833c39a26f9190fa0f3d2758312cb452b7f48afebbf2f502cd405e8b525802bee01e33ba6f837fe6cbebe9c2470a737b1dc3689399ca831b0157111f18247326dc4d6a9270eaf2f1e19728775ea04cfcf259f078f74fcf86bf1e548d7ddec175ad9bdbe4c0c9c2469720b5f575e7e997ce263a7c8199ffdf4b764df7aff7bde2daff883df4905ea4dbd6eb8feebf2f2df7eb19cf2910fdee2f73ff3739f91df7fc9f3e5f2cb2ef9f6e34c02dc5d9315c96dd6b8b8ad3e58aba38eb407dcccac4900535477b09acfd58fcfc096dd90c48c18490f906306606660a5cd942968bbf687070853b54c49534ecc3901713e7e36eb63c1227ed8d8f173aa7cea9d130d7e2bde3a93b20dcdda0f1098e2403e95cc46f5c56d7caef66135cf156621e0c600c109f32157c3ac0a3924c3c0a95c37d3afd91d975bc7d033e1ea91932316b65a5d999b46846fa48a23092aaa0a76852aae038d1d9fe19d93c63544a4f4e448ea9dbd775a8c72aeecae3141d9b5bed3c7398144674f11807a536045972d2a3bbdb606beeea5d818a6067349299600c3384f7d8fed4a8dd60d38467fcbf5a5a96a5615925f890dbcb72abd0f00276a8ba97aa875efb4eb94347fc6ebd5f6312ae9ad3b6fd259558c031bde34aab4b10a3d15e840e6c4b72eba9ad88cb81ab7eb30a8068de3c8babe2fe6d7d6b511a7f24a24ed4e559cd948646ee28b8a75a88c1acf3812a6e2629366d0b2750b08705c056e61611dadca3eab215552b718a8cab16f046bebd4b6cba449e3d610b501ce312a33cfa3cef570d82f8a156801c6071e077d744e3aa65a300c80e6f1d9f419e6110a77362c995c9945022e89b93705117372c3093d0383a7318aef018f6bd9f283c79a9cf416c9bf75869be0b107aea9875c3d186b352ed62dda63def5f6b7ca4927be59bee3ae47cab5d75c3ddedfddf2bce7bf44ee79affb7c537bd6b9677f49def79fef921ddbb7cbcef1cb9efd9b78bdf3c4b7c8f95ff9b21c75c1d1d23dec91f2ee7f3b511e7bfc13649ffdf61b9396ebe51d6ff96779ea8f3f5db6edb5772432d7cb7bfffd24b9e2f24be5ac2f9c2987dce9d06f0abb79ce39e7c8e9a79f5e80c2b5eb76c20927c891471e79a3b39c3ac6708a435b2ebb648abb472526c00a68cb1a6d47bb2883cfbbeb192cd33b5bb49e5cf48e33e96ae3e76bb0d68bd97695d9659b689b9ed2e0626b1af60cd81806502ae6a53b4a3f5ef4058cd49a3a66ef4e5d2d6ced356c362ef8d34f1c3aa7c665dcbe64460ae347741eed78ba3ed80195c93173d0628331af709ac07274b4219441039d8a29e09005dc9871c4ca945c95b154788117a99b0963493d7cd6d28300c7533e7666fbb02ae8549e3d4be60f69f34e96edc61e682359dd3adea7a59987e9755c55ed04abc09d91a39b5814df49a80d14451ec7f5ed60780ea39dd7abe396a7ac831db2d6b860dceef51d766e3cea2aed0db46bd725507525e8268dbf5f3bab889949ccb2607f17fe7b1fe76180cc46ac426c664dd2bc49c7cec0d450c0d5cd07426cac2a8c0d2401b743cb4397df4c2999e3ea5e5f76b61ed92bc5700271ce9eecb7f1dc39c0dcbb16ce20825cb9277a19e49cbc56a81bd484040004da86c09d98ce8e32a40cffd118ced4b0658db3c06af33ada95954d491c6cda4540229cf04eeae514f1434c6f475c730374f6c613d32ec4c89af9acf0b7c15a5711c35e506cd84fdaf1aef7bbe2b3eb10f8abf3c8b0c6b3eda6926d30a4a0186bea2931e24a23cccaf7e5661e1894e59028cc538b0d2e8618b756026bebe844758e7153e6a2e194362699f9efaec9a2091718329c1ca5ce1ad1c1514c6ec0f30ca538267714f93395229e41bcbd65f92e413f33ad9f3cfa1c02f07fcb37e9c73fe90765cb96adf2a4a7fcb0fcfd6bff425ef9f2df93fffdb7af97bdf6dee71bdeb33ef1f153e58003ef20f7baef03e480830ebac99fddb163bb5c7cd185f288c73c4eee7ad43dec58def48f7f27f71e7f5713937ffd977f92d34f3bd9aeb3264d2ffc9d3f902f9ef1395b0f8ff9eec7cb1d0f3ee41b3ebe8f7dec6372de79e7c941e3b1edbffffe72c30d37a491301499b993ba19c6241c38dc46604fec98b01643a6e6f569a60d5124b8b666e9f16c53efadc04536288b9970ee7284d576edc03638f6d6411b4cca9801be2de7a8b58b0bc57bac841cb70a694dfd6ed86a7d2af0942b83dad46d352874e17a5b893b064fe97fdc3a5d2ecbb9bab7d5fd4f5798cc8188d55ba7dd0c06f462b3c6f972a53fadd8b2b7876f1650949c6280b09131708fbd82a67a173ccb9f7a08a19b800ab10de9fdd5b1ea1b4c1dd2f619c367386e44d74a6d2df321a989b61b2ceee17ba3aab0fabb5a452ec684666506469356f3b3a2d2c0b5ca3372eff62d17b16eade5ec1a190cc4046811d53be3873801b3751cd53cc4bc74c3544684820cf3280ed7c699359d2908bbc60633acccfc903a08692dc41ac798be0fb555dd681d5848ecb7107ec3f3c8234188c531fbcc939575021897097133cb9a18d3ee1ad66c45de477db0aac05e7271375df34db136790cc1006cc69dc4b0c88fa777dcc24cd7d1106aaef392825c05709ce9c0197c1b49d5d0a5b5e0896ae8f2d4995de45a3dfacc8451a28e6f6374610548d7271f2c8c4f3986b411e3baf07f9aaac4b2e6ce746488fbe6e3567723870e900c4dea14b1fa6e66fbb8081ffb8269dc1ac2dc4fe9fe3c2ee2626cdacde2c49e0d3ea79d3553aa0d956f67fd44e26bd4e448740c743faed159b581f57363afa7fce84fc89fbfe20fe5eaabaeb4c4e4679efb4b72ca873f20975cfc5539fa9edf29d77ded5ad96fff03f25a6adcf34ad732547cd1425727fb6bafbe5ad677ef92a38eb9a75d072511e0b57bfcfedada96f4dfe79ffb65f9fad7af93ad7bed2547defd685b2c07ddf18eb21a5d9677bffdadf2fcdf7aa9254dfa73fabae8c2f3c763bd420ebdcbe172ecbdef2bdbc7c462afbdbd9bb263fb0de3e76df3aedf8dbc5efdea57cb29a79c22f7b9cf7de488238e28f6325d27a79e7aaabcec652f93030f3cf046709f8d695649c40bbdef7b5c62e26247b9fa51d43b4ceb100ce1d1d158db94aba32a71f55dc8681132f46e42a440b586acdce7518178cbbd3714fe6c35cbcc6be2a26aa9ac4761cc023398ea8a592d2a95ecc29a41acd3997002a25ae2b5706a61b4d22bb082742394a1c07660b6ef0f465d24110325500cb6d48dd6e98b795ecc49c194f23c9d5beb83068bf669e2c02dd71d3b76da03c89bde543116f885a938135f3f242438ef6935c52aa61084dbb96b21dbb66d7545e036021551331548ab6b25e93a9066028e57cf517101aac1a089cccadaaa0562ed20e8bd58efbccdcfd7902b520d5e55580d2875146df8a1ca1e429a1ca0729f26877c3c1a2cd2c865dc10b6ecb5cd3a0bd64d6cead8ccb3947ddbeeb6000e4c48439a3d7afd34503276028268c00399bdc28ae32eeabe8a0e534e82fddcaa0d63304e1c7d335c166b6f36cbdd30e00af4184cd63ed6324625d894b85ba9bfb7a6da4595503229054b2e74098b1106fb06e16701406f83612301c8acb0960512ed733fcf5e4a9c1b40a89a9c0cd9540eebc9f1244dd29eb1356023543daf2820d41e63eecc1fdb6ccd253ce3d39cfaafc8a9de8e11a277003db75d5bc41cdef0b518617d1cc6837162e21de8a5c59c9c2c86295fe594f4242c17de287373f08eb161b020fdbafa08488f11fe47fae5e39a21910d18e0cd0508ff1be3a1b03661aea9c99aca3c48e5ec3b4fb2abd0dfa9ecf824ed11b7a42b3fc8d95ffa823cf5694f4fdf3bf0c03b18f6e3f57ff36a39f983ef97477df70972d51597cb9d0f3b5cb68f9bbf262a677ce653f263cff869f9ca3967cba56312a3f7ea69cffc1939f5c31f94fb3ff821b2634c185ef03f7e56b68d49c7737fe5f996e0fcd59fbe421efaf047cacfffd2afcbf9e79d2baffeb33fb14ec85147df530ebcc31decbd753fd9323ea3ef7ec789b2ff8107c9718f7c8cfcf59fffa9fcc2af3e5f3ef1b153e5dfffedc4b1e059979f7cd6cfc9673ef971f9b33f7e99fcc2afbc50b68c31efd5e3fbefb5cf3e96cc1c3a1eeb662f7dfe5515f7e28b2fb667edd9cf7eb6fceddffead5c79e59576ddef7ce73b1778b0125f222939ecc40bb43d13fc3a7842506c90a15d02c4bf577dbd8d6630bb053b27491f5792e6a940d857131d09981339b6a5deb069b9a15b9704b812803244b41870caf2f369739692fd830d17dd20c8fbe2efa91b112d330e3079a6db65176191c23c8fbd36f20866c836e293197c891719a29d5ca70e0d83fef271ce8aca56c290cb37f6d2c9962b26e861b050db46a7e3ec2c3a55a2e499350346f15e8b751f0d74fd903435704efa7dccefa70919eee1f6eddbedf8ac4ab404d42d0f5ca321742a28294b98a8004b37759344d678cc03ac12775b9845c234c9bc2e66897db5b2ea8c224d60bbb69be095b2c4bb904d7d451d42c635b1ab333a273bc70dcdae716c9ce63f93547e9be8f0ccdd9789a8b8007f2685ce895817468ba05c73128bf333f6537454a06363c9bf5a29344e076d37018da35cd6f756c9ecaaae0a5a3f6fca2c32c7496d55508eabb496ad53a0c955456cac89832fb055c065f86797d79a45eeb84dce0292d6f563d1408cdf00140fbc4aa6eebaa0202bfd26561563cda86bc14ecd783631e961ac9310f6ac7cde9b22d10353031d5a5b7f4dbd0174aceb7533c06dea844d9ccb991994b57dead04a99dca7606869ec46e7ec1b21e55c3326063ab2d70e84bebef48533c6b5b6229f3efde372c30dd7cb8f3ff3d9f2e5b3be28975f76a97cfa131f974f9e768a9c76f287e4b0c38f9023ef71b46142def58e7f35290267d8edb6a4e0b39ffac498b83ccb3a200a867de3dffdcd98943c4a2ebbe4123baf7ffcebbf92073ee4384b38bfebb88705fb6e8b1c3026235f3af30c39f14dff242ffc9d97c915e3e75efcd50be553e3f1bcf3c437cbc31ef19831313a50ee78c89de4bdef3e49ee73ffef92d33f768afce7f8f79f78d6cfcade6362d251813c7d29251bebf0f8e38f97a73ef5a9f2b8c73dcebea7ff76f0c107175d9e499f209c3fd801bbdff31213a18726515a2bf796e1aad2f1037ea8fabc40d11034331d31685b72cbda36ef6e540bcbf6e0096262603615ae232d1c0a547ca2ba29b54ebd1d06eb51583b57a5f01530a8dc7c3c5869f3d44d7abcc91ad816e331686095a13400441293c74bf100abce8acc4213a32b649bb322a39bd74d1d5961eca7189cb673baa28e12eaca376619362adcf2e688ef41767d3306ca54932305e32133aa98b26c9f151c783dae5e72c236557e650c026f2e35d9c9e3fb9a0419ce409193b222ab2b5bad33e4a06097af6650f210266f4d6cae70acf58d776ec1c1f042b5c9989831d86cbe16b8cbcabc6ab473071031cfaad1454bc0d23aabc0baafcdca86d93a27620c7c657d9134eed259ba5250dbbef8dcaa9244d1056eaa36f9fa52b304dd09dc571eab991746b490311a00fbcdfc6f3431d34a69e19bc94cb54cc62fc33a18beca710960e530edd9c7317dead2b0f60a33b1a4738da2b5955577358e674cff3eb42586a1ef4b2f20d07d591786471ae5663c10cba32125d43e01b6e1606ea3bb001b0f92156915106ca396c063401dd8a9f40ecad5646965658b99862a86a31260c8bcb26fc290ae0fed946ac8cece7a50eb6a32398402b2617f72cc91dee3a0ae7fac0f6050d6b66eb1d8a39b651b3e529ce4e6982351b8453cd20a7868c8e02fabfe4e95a733f83bc6b630136deaf031d3f75c311d1733f694b2bb3aedc872cc992a69e7719024813f2467de0d87cf9127855d7bcb37cbedd77fdd8efde863ef65fffd7fd9fb0e003bab2afff3b557a6653299140224b4d04b425540442cd840564574d5555657fd232ea86bc5b5a2a288050bd6ddd5555159d7862b5d05141401e904088440427a2699f6ca57fef79c73cffdeefbf2de64924c8c9a7bf4919937ef7de57eb7fcee39bff33b0818308483ed7ac491474349fdbbf0a863e140f5f7654b97c0b4fee9b0f8be7be91e7f7cf977e189a58fc1fe071e02872f3c12eebbebcf306bb7b9d0376d1a5de3befb1f483c909ebe5e38f48845d03f30007bcc9f4784569c6b4e7ad673e8ba7b7bfae091871ea46782c7fff637be029b366e84a1f5ebe0f2ef7c0bf65d7000fcf94f7f80a39f76020ccc9c0973e6ee0e2b963f0937ffe6065874cc71b09bfa7d7c74140e5d781454bbbae9ef9d2c4fc14f61c3860d30aabeb77efd7a035c718eb0376a9b7372387d9fa90ed9ae497ec54e2779d3a67058cc823a52a1931bd1d37a14bee65b782d29c4a50a83135207d51a17ecf6e3c5a3d9ac99d090010cd8c121d718b07505e45a8a7c117bb728e7c0183231eb3d160acb206b61aadbba26d2695a391dbea931216ef0d6caa1b9481217c8e3c948ea51e04491c60d2a788657444427b55823ffa1980d22756a242e6dab9bcaf5dabc10c99e31e9a8dab58d931db675a5dc65c8a5f8f7321581b258f858684f3f27398ead1d61ebbdd884431bc4709be04e3125702a2e741cf84181ef92ead04659c7cb6d5976d96dd22e0d418dea6363a3638ccb3371636bb55dabeab24d2695e3713822cbaba2cae40b3939d80eb3d92998b68bbb251b4957f20c119cf899e69b64866fe55b92fddc5f33c339298a7549ec1eaf139fb77010f07ddcf1890ab0848a500137b376e0d8a750e705bd88525f2503cf942490e768d760117d09bbaab1bd404656880eac0c351a7741be1bce4378be25f897184e876c646ce0680bccc93833c26b04d233938125decf26a566ebe890453ea53e8ff79de59c17c9a2b3e700a988dc6cd4809c6de4fd2da98d8d6f6ad630572733de9038cb365bbc49fa1dafc5849f581ccd6f09dd662d9b39cae2aa5679a14e9396d47c79fe76f56993f68b1c178f09c489262ba377d1ae909e17e24c2d9e5dac89bd7ac388c90338b683328d1ff464655ad82d8af2cc28f1ea220890e761973f90c592c08fc729d67ccf4dda3fd66a1e690c91509cccabeae7466aa54c6e89c7a8ee03c32937ffe67af8e32d37130fe4b56f7833dc77ef5df0e54b3e0583b366c3b9ef7c8f020b97c171c79f04d367cc80fd0e389016ff2b7f72857aef1970e66b5e0f977df653b0bf022fbdbdbdf07f3ffb89020855f8f4872f80d7bdf91cea13dffaf217c8cbb272e553144ac171f6f31fff883c1f1f7cf7f9f08faf7f03eca7800c66dddc7de7ed70d9b77f4044d7c5f7df4b1c93e9038370cf5d77d2319e52a0e487fffd9fb0f77e0be0c6ebaf5140a81fc6c7c6e0c3ef793bbce0f433b89a7a477684476004c9afd75e7b2d3cf4d043b074e9521a13434343667de9e42888745ba7ba60e62e59c4cf8ef7b694dd4ef31a1e4c7a4af274dfc06f719f87c4ed48b4a784d3e1c0aa3829bb7d89bbdb3b399bcd2f044b5b8b43dc8fb6f890a9c02a7c124997d46aabf6a26a13ca6cdd0a9ce8f39d666cf82939b12e6b49cbb5858968118a34c995f45674d80678c1f48384766a18cb8cf5e261676b0820c15d70504843b617155b6fc1e815501b70aa76f19eecfa3ed4f971728d744aa3954a689775b78b24623bb72b604669b171aa27a8922111f33d2554911aff46939e9f170a93fe25610a799f76f5b8db4bb53723f3b9447b415f419eb55d79b9a85e2b2e6851c3f535ef45c0975de65e804531a49687bbc028b2126727e09a3fa5a86c558f0503168d2a66212c299c127bf297761f1b1b6760e1e908bda48886baddb527814a40647a51d40b0217144c5afaa29d49261963786e0961d81a41458e414b769855d04f40b0f409cec2c934cf26356d647b9b8a1e4a3b83c9b7a4d6292d1f01b6278b3857c7f5202781e23953ed85a0f198b56afe187e5b225ebdd05a24454620e716d5ada275c5ba5c36ffc7f62e493f296af2d8626c39f784339bec1d73abc05c9e066d5f0701ab2c36e72a66fad8e160e2c6e88ac2d28e22cc47002ce4ebaa54f29a5176a85980b1cd1fb33d87c205ca744563d0eab9991653e47002f291b00f727f99ac92c91ef3f782d7fdcb3970e30dd7c21e7bce8773dff15e02fd871ebe08fedff9ef223ec9ec3973e933030a946068b1abbb9bbe7bda4b5f41dc91e90333e04dfffa4e386ce191b0492dee6b56af22afc9532b9693d7453c4f7befb300d6ae5d0d833367c1bab56b0870a08704792af85db457fed3eb89847bf8a2a360d1d1c71239f7e1c5f7c3bcbdf681654b1f85030f3e4c1d7f25650d0ece9c09bfbff13770f4714fa7fb7ff0fe7bd4cfc74f78bfe79e7b2e9c75d65966edc1ac1c045332b70e6e2193889e7926734bb4ab5617ce77bb92419309624ef202612c4fcfb536ecd0060f449d7d81f16c74f763896d24946921925c8d32df71c98261a7c04921395b084c6a7e14410c0b26c54422146551cae84933a3906a9790cfe375498b4e80cd66b7b394443595f515b296543c5bbe5f3c2d792d1675adcd3abb6e0bc425495334939db5fb2b564ab6b379ec8265bc33cc68f052c72de7dc030168463a1b382c26192276d973912b97c94bde2b4e8cf83ef2229808e86b6e8ea777d03940e1853df7d4045ece9464a2627e4e2a52a8332cb03f351b4c8e14dd1c3b6db6184bcf05ebd0b3d2349fa7c51cf93d56a6934dbe038b7f642f5045455906a9b89827e441299ed706efb2800bef0a1f93849672ce552e3298732e18d0e22282b016f93a58c597169e8c85d6508c23d4f54b7087598eca96a72631a01bdb181761939553af99b47e6943166cf35a8084ed3db2abe69a8c2d3c2e8dfda601a3a2d9c2d968518bc7ad5828d2ee43513922e2502261569492f730ec555280975375e31433b9d83f821e88c064d6647a428f5b42a2b4984ae5614fc8cf0985bbc4332b00c12f8cb3a21e910dc4b8789ef6ccc49677d6129043af6406f99c838e24aa6553c89acac3b8710b77a59841631722e5cd425ef2a1258b2ad5e46fad08ea6b356a0649752d0ae86f9631648b3b16250a6cae09b79baf79805c274948e12cea185058cdd773d764b372b09f9efeb2b3e85534040762b3e7ec66d613dbfb80a0c4feecb4e9d3e985364b7f070dc341f277fab77fbaf99b8012b47d303bc726ab2a1074c491c7d0cf72ae3de6ed65fe7ef2734e353f6f0994a0edb9e79ef4dab66414bdf9a5ccc7d0ca21dec53826245d9cd9225dda5da70bd0e1e24fe4aec0d3e18ca68e3ddb1a1bcc4b11349f6559417cc73384353b5d5632166c508005d552ed0d019146a6da1eecfeb7ddf0cc66f048e82bd1bc002664e6d72113ad5d8a5e06ac4cdeb657c2e659f002c9610bac8b823b134f577e244f881ac491ae95931a21b0122d28a65dacb44dd93516c969f62ed3f67cc8c222a088f9259e49e7437722bbfa029d66c7e5cfebe335931a2952ec76955909018857c3e641c8ef020e18ac84502e55a15ae962526812b7002902b1d62e9eb808098b9d2558df25e3b470b997bebe3ef59e47c765b12edfa889da9937f68e558e6d83373bf38ad3bfb3968ab9e2496a0577694b51377b272e045c11074c8c074a87059326edf03ddfb39437335d9681c707f21e38cc55d221bf26bd6f04b30878a00e4c42edd38c51a347525b73b26422958f310343a74ce68ba4dc378d1403143195322a73ff2390ae2bf91207ca4b4d564c51fadc8c475c6c7d0e1d251966987513a06c346a567f6e5546b581523b855e7c1e545d9a383325ba0e52404b7d02a4e40d0ab832b7c7e237c4efc8330063a31f6497ad203e13b4d6d56ad586689560b7fb8d7828707ce0b52599ae9c9ef0e60a3924f833be5f9c7344708cc7584ae9e489ae3d64abb2da193b52f1d82e7a683c485629099b0bc7a4fda62971411ca706ebdba0626e409b10de54e23c9003ebb4c5fb6a036fd910da8469db3b9d5a3c1ae4848596860f9e5f3643895416dfc972e97f8f46f367c6e9e26085a0774d1d137b406b754fd0e97565bddbc26d0192124133c4b99058bed8673a5d2d40d2a287de0c8e8f252402166c16dbb7e3b1780c8cc3d34453e7091465be69f1942c08f57f2aac96799b65ac483cd8a7304962448b5ad3166313fbb65529ed9094bdd0d9b172297286bb7493d912321742cab8d30e8f16585e64fd42755b138ab104d8ec854176ae02a48a755f308d98c321259ea87c264925902fc019b08c7f48a102751d711ed6b185d48ae0483c25c5b8a751acc50ad1ba760b135c7d2b3c819fe13a3b14e233193d19694770f8494daee4cef64dc9760a1b85254dc403e361b053bbed304b910c8c8b72a08b27b2e697ee13b8905880c6d6b2690d7be41944767bb0e723351939bcf06abe85e7b71471132f96703e883f89d586fd088476d3d555d5e97f9e49cd25c12ed2030ba82e0972a4587b2cafefe3e9828dc2df490a427cad194fa1ce780b75fa3f180e4b106ade0ba986712a72aa17f8e282dda837a8086729546dee31e91140164006ba41993d5cb6b05ab10e96ed496120e3414d81fa4a880520cb9a4fc39ca2246d30c0d76041b2f33c6825e5936e4c62d7b0d1602ec5a27601f57d0e43709903ee6bad1e37db3342bc8b6a05775e6a5e69d038c6f3e2d5d79b75ce4cf1b48233782da09d3257bc80aa21a3730185ee02ad8a2a1e4b3b548d4092395a4df37c6d8f60d1b396576c06e345a10d54c869cf262b27f3f5a60fb4e2b26f84e6ecb6b34b64d8e13abb561185b49a5c0853d4848d4cbfb946f69464beb799f480b3a94b4649d33ccc8cc0382a94f6d835b27224482a8c60bd9b94c273a1c968b0ebd6e43b0371cfd22466a1f09472b09904698bb5a52de97abee5128f8deb34d593072d1ef87d4d5e13172b5883b7983629315c997cc46b6213d2ecd87a91b7209fb51769d117b0f90452129e89bd36c990bd45f81e17a6cbeb7fd8e100b9ceacc0ce971d604ba139f592143429a1ce5e8ac4229fcace55d749c95243de94ebb34346365fa78590acb35ee4399bd467af954391efba754aaada59e3f31140179874722617fa56d144f480e569b0adba2202068ba0cdbe56595c10ac99ddb25ec86dd7bb9cc3ae69642f9ca2969b7b6672f7be517b4d19e82108c4e759accb64a702d32e47f32a447787426556a13d025a41c812ef125ea0d2f5414b7fde3c6c141a5069d7611230cb00b4ac8189d7a24f23638ac34c714b98419ea32ca09c1d9cd10bcb100859db1096f5f8b3b34624e4da294c4169e19a3743da22be1029b92d6c813701d9c5854f8edb9a8a1bb5fccd2613cbe4deae9aaf2ddc98e96aeaa6ce0ff139a23c0ddfaa5565326e74adaa0cf21a5be2c5b405f6644cdbda4a36ef4ee620c992b1a762eebfadc289f93174eabf0118a005c91a2d95b98b1595f31a4d598bd7b8b5b8a56f3c8479bb65c6014e7cbb38a16c2957c86f4721134b730909c8f5c62e18cad11d3427187ac60b213b227b52e0893e359d5876ab544b8152f862d61df1785780bb30010532a951d645d23a81e1e7b5eeb3f16ac82062c137ed5ac289c25267b45d5d120ab0b51e64e1b11519e57bf6c262ab3dda136e315dd2ce46107139d179c94145402f80b4edc4d88ec4299e123bac6467e81835d3669e21c0937aa84bc78b47008c5bd92e8058ccfab18b96e14221ed14589a2c599683b2d6c53827dd8a0604669060984784f2ecb0092b5c067ad79bd082124525130eb44b07d8e049daa39d4894d1ced080a5a409d289954151d46c9070983c7b43640e6ced88cc52ca65ad0fbeae4403c794d36df1d8a6fe4bee61f1757b82157e631139f64c11bfc6f62ee8858efa13a42da9ce36c016dd201947a6f01e409e21079c3d43deab30d70fa17a32a26a6ce9be143d090c9230f452530b4f5d7b2152f3fcd384c31681051c6c702dcf05351a72c2b1a74354c219e15a362250286263928d2420d3eef702a273309f87de655363878e8880eef99a00ee993927b376a2f6226f87755b362e1669b958885142453267d8fa4a9b251264d9660540e55fa3406b426bde66738e4dc44d12294310b654596610e56f06c86c8fd666e156cdcfb215af6302fd89d67829e7a46ed190d1019c280c1d86d8810929125a8d2da5f45d2b2bc7cbddc4e4850878b7dddddb0dd3fafb29e58a485041683ab32c18c86d60f63b50a5d82c2b41e0751183bfaed6ab52b98726494fe7f1a37895af65a6430aef70ad1cbb8856492f2e22c0e409e0d121271ff2454fbe6713bcf0da718747effb790d0c8947e3ae8f27230ec748aa9eec42a5b8974cdae27d90946a1c9418663225ea63beb79e1e645de37130e411501b20289373dbfa23783ed95189bbbd365e339a21f6ae53b829180b97428361e4939606c681914088070e9b6a214c75d84dcbeb8327cf375fa820cb33780c1f00cfdb55e5e3e8e79fea2c2adefdc7f4fd44cb64f32298178cc3fbe9ee4512e73854329dda9ce67c19f27c45213dbfa8d4e4be94e1b32eebead6bcd30d833c34488004275bbb6a6de0e772d9b48071ba29ef5a855bd14a681d1741337c965168d470735135e65189ab1a431e5261352a05ba844195166a1fd853e5f9ba0f614a3d7a11b40b3d8c988fe413b193c30bf87c58042e30e51d104004216a6a54996b4329ad1593864a0b4c9293c2f1baf1feea355edcca5a5c2fa3be9e59f5d452024c4480c49d56306eda06dfc01200611018c2bb843b65ec24a614854700b71455a9f610efe34aaa9dea54444faed35e148b9a199459a33d7b4cd2c4675ace49977e988bca459cae5b54a1c63942780dec218de8330d9dd987d32669e6a839c7f39b04a84ae55e28e175524a6e6a42c222e18f3cb124d6f3807a16a8381cebec3a9b1ced4b7d1eec2f12d6d0c0d0268ea2d705c79c9973c4d31506c613239e5a5b98516a9361b646a22b97cb9cd2e231d2b2089204409b0e5466d5559f513709db88aa33661a6c44a119bf894e8716c561297847cac86a6ec763904e0b86b054fff274ba3f159cab8d4357b5c2d745f3869f83420f001cc76487442f022326ca72f41eec821c139bf96ed421d5c0bfeffefb61c5532b68c0e2df6957ae77f1a1e5fee785873b2d0f826e26c8666af22877d1a286c0244317b2cefa49b56c39d53ec01454ed0aa5ffe9227eb6ea1dedaa280d3466a0a15dc186642b9a26d6aea069b211c02c689eefb764ff103150a7681a17bf96df975d89af3f9359f165da2559c5c508acf9259a38314c81932eb641ac05a0e41a63bdbb0a4d2884339f288eacabb0fa9e4ea7f47da39b821d95178e8c65d843cf4c3c9e1feab6609e0f4ee675ccd208b5781579b9345746ebaed0249be8b8b8c764bf4c932f7d5d0387c14ca8db87d393c747ebc40d40c9767c4fc25bb8f051cc1f65e4f158a82d81e9e5221c852110cd1dc07b267129a29fcba0cb5aca1c803e3f7a58c0caa031ce4e2df58d85e5402f02786fcd2435298ea077f8768c5c9e3907e4c1b8ee092847a121557a5aa4ae4961bd4c81b65e025da8c781f1dec463513d6aa724358ac249a2f557b4270774dc3f4e62e339603d20cc62c29f2abad26c427c08a9f8eb69cfa2ad5142cf02ab1e6bef003e5f51ab4d0d1f2536e458bc8f8676f7535aaa1674e3e33479cc1a6e08eb8b486abb765dd298969470d05e4df939d0da1fa2d49a140a47a6a9002606411ee4eab412061592289e0733d990249d4bf1633b464690cd4ef9e6f1a781648ae1209c676a6a7e519b040453c819c9b47741c8cceaba4b3a7b10c9b5a10e8b49aa6faa45d9a4df880a2f95b000cfc458324dcab73304c1e21d895747646a3da9788c00b745c4d2aa2526647f091769cf056bb5f0dc189b4cbe80fa13cda1bac825729442d556cdb8ae8b31e61a2af44c3510cf0b83e695abcdfc84d95f8d1846864715689a0de358553bd035a9a87f735f079fbd5f4d0917c58923c14e21f1953c56496a64393cadf4bdcb01136a00ab7ecbb0dab9cfdb730e6c1a1e81b4b18127288a0ff004441551f50456a78e5de6319b21150c5ddaa3ec8aa4e38deadd961614aac7b96055534f88081a92a0a5389b5136c5f18d8321c345827792942994f0e48043bad1148d029f769e58ef880acd2151171a346162e60717a562ef0b975ce7898476b4544995954963e44484accb123774984717856fd4295f8fee19774fb5b1665ea82d1d57edc22ef986e690e0f5356bc3264b88b813586763343652cf3411e3a5a50d7511a14951f570a79ac63cc1a701871db5aa6a635c84e898ed9f670fc5e4ad0162f3e3236117393eb3a4390aa9b8a5698255a0a8a905e24c288f7798b546931764b5932a6965db662de61a19c83b191f057a14b4207221bf945441756d247403a387a53644d918987d83ed9a6811577a5e5acc8cc323316787a59e95d5855d2ea067499ca304d328cb6aa7d8a58e8d45ff1abcf8abc504777a040870424e35af055dd43ce513619afa4d9ce61c0c5c5c10483054038a4006be2635d3e6137ccacc513b76b5b38c2883a3ae2664aecd53d6f557c2408707908b42990b75aa6922990e08be504b81f8021e8f8b844008fe34aab3dd7857ced1534f6703e5991d5447b9a1390181e622e8f47d231e2742723abc407d2de5b01964ecedc18c188589083c9272a89fcba5c70d0d9a92cc009b7accfdb64c69e54df57b42cab5d857eae3cc3dc145b136d660d73f12286b0d230247c005783c915228cbba527f41ea285e47a2c6ccf868838b39fa96a02202b9c4a7d0126a28351ba9591c3944c7fdc5a7f6dcc429b4087a92915cdf87fa58ccb42fbc92869f87416211e463101a640c4e0842653ce7349a99f6a265468993c32f0dcd83d299760448132a6e99a635a376dd52491c3d120ddee4e19c43995c147265af6e18b14065d2e4d01ba40cbcb19d3d4d0ec6f3d454fb06e4d956c74cc6a86d88c00ebebe26f5fc6b3ae51c7415e93853639a6b98896728234fb6fa4c1299eb2cab07327ffe20cd35249098b24798bd9452559ae717b4a10d43b066ed1a13ce75b67d86e1682c18c8de6df4e6699ee1aee831a1ddbb95998003a6afaf07769b33483bf454c717ed7c77dc01a32b5484a6449fc2ce14b0335e24664a1d5c870942ad086b13158bf2e8389a313e6fb401f4ce56c249252988263c01bdb3c27b60ae465e49d7f03ac033158c8b7160764b4786f4c9f71c9a2a97bede45b316494afa12e8b1a856bba980214e58e8254190262e5f96174e5a62e4e87ae55d3e5f33a663e2022fbb346e9f121d0fb54168424e03a33acb5a079171f92180c076109777a4b38768476aa53bcaae56e2669c1e1a1022e7dd3e5e974f5e11029a9adc2bc44efc99944bf1be51cc4b382dea670c45619603efe87801a658bfba9652b9922bbedaf2f0747d2553e0cd64898180305dbc0d1715dce5ab1d7b492df254d4b1196b6f0a970c309905a2802b9c13ab32b2a8caa29438669d6048a9aeda1e8bf2911720aae85085ae17e5e7bc239e9c63f21c61db0421cba2372c5e1273aac68d48188539d5f3ebee9a4eaab96956d3c4513084705bf997eb4c710696cde93115ab13f662493880420529efd245d9134357f859ac809a6871b662a56c6ea73a3d6b53b83188c823d2d48abe599ab48c11aeb3c3fd0ebb1012812b9572abc4bf9e1ff0999474f565d01ecb5c0c50e4cf9316a557aafd644979dbf57764678e6306dbbba4c706a7cba7ad3a249657302ffd901a7e8e9d6d66d7e231c4725deb4a04efe43a48fd38e28c380aff6aa569b0345b789e4a3570c905f884342a35b738251d5a52da2545b7548a0c5f4ec2baa9eecf08b2c66b6354bea1a2c64193fa6e9d3d326a09c1b951e61cd14e11c2b4edcd21ef5cdc30dc24f19ae1fd8da94d8790da057825927da83dca546f48fd6fc6e00c9833678e43145368d3a64de379ba22cad1cd9d1a32db69c004bb9b4c76f984da541d342f031e6a37729ad673b67d2a03bea92785da6620c3ce7ab159ed7535001bcdb8257555c85f32710641aa155a319edc343bd0286525479c0471c7cd75536233806490a3c2665e20cf378457715f0a13deaeb4c9d7dab0c8aabed17040773b2e6a2436a66b8a50c603e8b4e8a4499fc5df4b6ae2c0ebb605a1b82269dda4efa6eadac79ab53cbb42ef90e338d555999b3cb904b4c95417a080916a13acedc1d7977b3af0fe73c2ac0247614ec04b2c4e4668a9a84af13c1159638f92fadd63797406639155723eaf964aa119caba02fa5c592d504dac65a4be574f63b3638fa9060a6ad3d47455d7004647c72d99f3945314adba357645630643be16f64ad97be28550ab37c98b608b5e7135e186e9b3a82b62a78873c5583e3682ddb25ad42a51464aaae335bed726824a2f36ae6d5ba29fc187ea67097baa320532c2a8dccad5619110cdc51ad35e3fd4231926af11d68f629e4f683c22f8ec1a8dbc58222f4a4d0d0a531dbec93338921a0363e94b7c5d4dba77d95860bb516908bdc0e1f16d008e7d9c1750ab364e9452df21977ebda9c199d7426a8d49f8d0aec113d33892311b7b895ec49b26b57754812c5bd0d04e4b9763a18701ef079f851139a3f19eb4145ac4fec41b94861ecbe32d44e262c6959d6a8eed836d698b3ada595a798aaea7ae79dcaa79135b251f3202e3a47d92e4250b72f270cd22d0262dd97822126967bf09489767ccde98a4e567ceeeab53ffe70ad031790fc99bd1ac130710415444e1b09a21b072915435c78cf1bcccbcb686d9707198133d96ecc1c673856143eba64816920ef5e910a3e1ed659ceeeeb9ac9c1d10c1e002b7b2be544b955d53c744766e36f993775cd8201533908cd743ab3fe22ec89e448494c81aff11676664acece9e9c19c6a376c18f06e5d3c1d22d30e5a9b80b45234a9d0ebeda66319f542f55e9f7a4f0a84c5cdc8ecca6837e75bac7613dfb7d45475597974bbe280a63a1698d6ab899fc67b02f90e9eea5b802c9eacb9c29e17742907bc2807b8db8b583b2a064d86cc65f58530e8f99e957953d62eee8476e2787e6c87eeee2aed5e71a2c9b4985db5bbdba8d1a2c785486c5a67018f8d21189b75df6c863a9cc6eefd9278a8acc9443c1258308f49c94df2803402744b47541a5c0ab971d4847569ca544ade274e495757445e8f7239343c8e3413825d95bc0ab5069791a74275a196d7c69d7aa361323c0c8f4004a7f44e1a2f28c267daf4a9dc4158ae90c723d2de26e1e4c86e19a062a55c96c903e053ad903cd30bef1777875554a1ad635feba2ebc43a2bf8545a384c90cb8ae382ce0b3c93534be52af328d25c91b5a44b0598545454df45de43ea6bd22b6acc9461647418aa952a57f8d58b38b62d79301a2c902659454dc33ff289b088ed3cadaf87fba81e63b2a912f137517a258fa1d6d8308b8ae62a2456964a10b0822cf503cdeb92228352eb87bc15aa9f513562bd3bc776158f29b63f7a130606a699b157ae442d29c7b4206b2e16b61b7902740ab3a89c52baaec73556a47d52ad842a6dc184f8c47861853754cc78c9b3d7f85f4fa728e3bf38ee856b84ed83f7c6594bdd66439698ac886e9e7f3437c3936ca290db1eaf85c8dbbac6890d34a55a7abd161ae23c86a0c52b27738ea78528a5ef7135da128c8f7ad0d3d34dfdbda7bbcafc100449d8b6ddbaae57cced8af32065274a7a6f9613e8f959b3b7170bffa1574b9483fbfa782e1adab891373578c7aadf1260d3aac238b71120d365131cb76447380a70ad4c081248a2489aee821e13135fd4ae6f74f3f5f65661fdca8df0e4e34fe92c161d87d5c42b0945f02eb4ac751e62937d62a73b4aa8c726a68a6b11bf4712f7cda629679e92ee45eec12160818459cb656b765e9ab94cd79831894d941945cc4ace272ed1d0aaa82b1a1271926b7a0888902c1e0911887789c32b9ef92eb617ba35aa9512296f62ac39d35c095b77c22ea6262e780417e47d40b012e62e6876f5b21706f475942beb8d9bd8d66c91fb8842edb24dadda2d71d2e2b9a26c135fea0cb1341bb9aee326b9c531a68d4aa54df2c0708610661ca167cad7fc0b6a2bf4a25048a241c5ee983899b71516bbf275a55daebc0c262519ff4e9fa98d9bc548409b840c65a247f080deb1c0635e9347fd85b53a8ca09fcea262c0e01917b97865e4780c507c23f98c6ef1b25648add546996be495586e5d03dcd80a7d5111390cbf85ec2920ed91b0943fdb28d4e0ca37d91cb8f8e029bbbb31bb2de61d35664804e8511bcb9fa170627c0999d44d884dc20f4c3a974cb0a621ac12f0a0cc9650f74f1dd62a45bacf73bb0ac0a67184fd8b2a6173e60b7b571276d75b8280a9569f65954f6e0f495d34a1df3831603bb564dd05dc89a64ba0c1808ca950d7894a75e88432f2a82db4a7468f2f09a749014b7c8e02e86cf55a0128b987373640da680549c826c83db4f23d5bf851387492141037732134241371fd2429fb90b56c7c7c4daece7469814c120764ce014b3b4987efa41690cc0bd27ea2999268b2aff066502d983755e8f91d67c010db803369a939c63a36a96ee392aed9131018e52a1eac5c3c63703aec366f00360e6f527b252682f38631333c41e2c5e9e7e870c90e5c97a9fd551b5742e3addab542399edf12dbefebed82bbef7e18fee3e7d741b9bf174a81289cfa06d149268fb0ceed5a37c61f6535a6cd602fcac27bc276cdf27edece759565b9dc782a190bc22f6f61ccebabb4b275322b9b03745a28712cd234df68d9e7ccf2bd007dd2aacf631f4f26504fd43633fbde33004b584bde37aaaf8573c8ee172cf9f5e2fd43e15e3d2bc6ddf239f10ee9f75af8251ddab6e5d8f2bbbe1d59cc5bae3bcbec4d6aeb73b0eed16e1f89657bbaff48bbdbee78ceb4e07bf0b59644eb9920af2c2d1e3ca9ac9bb532dc8b7d23b3c2975cb936e71b146ec4dac59a07d4e67dfde4d2cca4b67b90b7bb0909f9b9f646b15f9a36b5d480534b34d0d7f7610bafd9eddaf2f742bbdabbb034cbda6601d83599daeddeec73b78c1fdd5de53dfb7e8afda9654ed0fda6988d625f7366cd2dedeec12fb45371be11413029c2998b83e9904461fc81f51ca4d48594d1b0ab319b6ae2d67da62daad9ede71ccf12094cdbdcaf5dbe23b39e4beb9c9399b9ba28c2076dc6c7a4e69c2cefb7d88587d6ac85979ffc3478fe738e81a14da3b99e4fe09bcb0cd1d384004a57907736f52e937cdc6890be2b724c90ac995831d7beae2eb8fec63be11e580c871dba0f6c1a6d82d75ab8d31a039e19f81d415d664feceda6bd6d7578b596216fbdaec2fbc5bf4df479afc33d004c2c7498c10e14426cd756dbd37e5b3abed7a6013b3dc3891a226b7faccc5e38b336d7d11ee0b6bd262880818e9ff33a74ca09eeb7631b791daebbd846f67d6c45134dd45727ea67dbd0078be511b6ad1fc2d6f7c5c98e2968d3e76c85b5bfd89cb3957345a72e37d5ed3345734e580ae0097f0dfcdf8d7f80671f7f0479e5aa5d55a337456276a2ed849c1bac0de590c90e99eb6513257a513bd333b5f3423918df3625ec53caa288ca3e6caaaf852797625d0fd7559c3973e6ecefd970011c1ad90841792e1558944c3c23a4071cf22101360c3b375c1c67479864aaa24511a7f3ef4c95dd9d487ef538fe6ed8e209b91e438828169ea5ae033a73e6ccd9dff9465dcdf9e3c43941f25e542a99b214819412c934efaf2ed94cce6532e58e022d348ac905b5f13a547a2b8620bd4b0113cc9bb7354a9226132e858cda29feeccc993367cefe8e16c58c77ec488a2680a2955f5912813f8329db399fd0ad0d536d994efec02c4d1218d4b209bb1c3069ea2259e2b293ba08456d0067ce9c3973f677bc285a05384d6d278bfc4e12e9a4c4cb75a49c4dbd892c7d6dbc09a1ae37552cc9b14b0013df6280679988060148bd0c67cefecab7185c3725f269cb87699313b3b1ff36ef91956939bb276dea4c0ccf8d4f6753ba2c9ac591147575456b4e9d468907f4a6e8df5ddfdb61cf80d3f339dbcf4e89dfa58009550ed6b9eea42921d2cc496a4a853b7336f5c3cf03ab361ad7a7d9eacc0ed4eb08617874232cbd671994ab65d86bef7910faa5a9297c9571aa2f164d445d07d416981456d795a8bdc0d3f56fb42ec164bf5f38166a948cd54760d9e227202a97d43dce072ff14d690567cea6029350ea77c0c294926ecd2532b8702beb3c6189259fc30b6e69d811bb100604018b3a921abbd612dba580098959e9fa1422246652f232709dcfd994031254676f2475a8d76a30323c463b849ede6ee82a77abc5db9b74f81005a2d66d5c0dd1a669f0fed32e8515eb97c1d50f5e0ebdb333f0b370bbc745a840cfc6e10db06ce97298337716cc9c318b8bc26de9ba221f6acd3158bb623d0caddb44e06bce1e336160fa2065b96d0d00c374cdf51bd740b2ae046f3ef1833034be0e6e58fa3f307de63480d8f5276753383633ced28cd398ca4d50cab002fb9e88bd49b566bd9170b6632c49f262a3ac22bd2b86727cbf45880a3448c944b8c9f5136753048071c7d5cc6ab06cc993d0d5188081ae5970c4ecbda9dec7b2271f8587ea4b60eedeb3a1b7dacf00600bde85ba02379b568dc365e77c1f4e3ee1141e485f03f8f15d5f87590373b7bdf3660c08d60ead86deda1c38ef59e7c0ef975c03cb8716437feff4f612d122e815a6f0e8638f41577d008edbfbf970f0d10ba9a4c04df75e078f3c7627ec315f5d57e24f0a9c20881ba90d436d6d065f7ecbf7e0c4139e41efbffee38fc2ddab7f0f033db35cbf723685c8442d84c23944e75eca4ad389aec48e9590315538c1fa565eb6536bb8fc3dcf9361d02a469aed8a92f4496ae5aa1b15418e6fc9cb99b3a900c023b54db0fe896138e3d037c2d92f39070e39e4604a4d441b5e3b0edffed9d7e09b375c0ccdc135d0df3363c2700c1eef89e5cbe09f4e7a3b81928f7de79df0de577d12ce78ce2be007b77d85fbed56765d22fee1b631f3601401c19a0cbef99eefc011871f014b1e3d13fef1d3cf815a791c22bfbc39285193493d1d87a5f72e83e7ec77269cffaaf7c361471c663e72fec805f0de4bff1f5cbde4073077b7b91cd6d962a365b072e52a78cf69971028f9f59dbf82672d7a011c75c87170cba3d7c2f42e37369d4d1528d12ab312b249b8c61415870cb8d022f63694b21faba5e41574b6c3b0093f92c0a3ac597f27a60befbca75c2c372f6fb9977b4de10b6bf00cadda04effe874fc3673ef02538e4b083e1bee577c03577fe046e7ee05ae81a0ce1dc379c0f9f7ff37f43321c403da94d78bc5a731cbafd69f09633de098facba0f7e74ed7720f043186f8c317f652baecdcb58967bc58ae5f0d843cb60d3f02658b76e3d9c7bda070894fcf20fff03fbeeb30016ed771c0c8f0e6f7e0cd4024aebb0ece127e14d27bd1fbe75d1e5044a6ebcf76af8c877cf87cb7ffd0d28f5f870f1bf7d15f6ea3f1086c7364deabac6eaa3b067df0278e3996f85bb96fe113ef8adf3ccc445f2e4ae5fb9d714be325dd18336a454bf87eb6be1bf5c5b87eb444591aef9e5fce93b0420b21a3310999fca22043b0f1eec3ce5572a96e59b225686ad6752865d5f71b6fdb66ec31a38f9d017c1d967fd0b0c8f6f82f77deb4d70fd5dbf8066b30e4118c19e33f6868fbffe3238f9a453e0d4fbce809fdef16d9833b047c7e38d2a8070f09e47c2acd9b3e0d2fff8281cb8c7e13480ef78e816ae4db33531702f854deb47e019bb9f0e7b0eec03b73e791dc4f018fcf34bce816beef8297cfd8acfc38b8e7b39647eac2bc0b66e6f820860c992a5f0daa7bf032ef8d78fd2db1ffaf6dbe03bd77f89c8e5f57a0a3da56970da09af80e30e3b11be7ff365d035a3774b5e7558bb7635bc5a7d0727ab2b6fba0206a7cda4bf3dba7c3194c2921b9bcea67cab2e7d8a8bffa56ac75ee124085c0b52a0eae0540cb2e9d6861df50c7c9d11cb455d77ae64c74e03265489570313aaf2a9cb7913439b5eaeaf38db7ec3b8f5e10b8ea49f6fbde366b8fc9a1fc2c107ce835256555d2c857b973c0057def01338eea067c2bef31640f3d626658679ed0a35a9ff8fd5c6e0e805c7d33b7fbaeb0ff08e333f443f5f77c7cfa01256b8efcae7b7b0b35b37b20616ee7e227ceddfbf4bbf5f75db42f8e68f2f85a81ac277affc26bcea596f82f178943c3cdda56e7d5ddad5a9c6ca8a554fc0c2d927c2c7cebf98defbcc8f3e00dfbcea4bb0f79cf9d05ded81479e78101e7ff231fa1b5684c5828a904e3cb012d5267e12c1d1fb9f48bf3fb8f45e58b417dfef92e50f4297ba0e3e8613ba7236453b752d9c4695b2b182bccfde124f17d6244ea6fa4f03abc13b8ec98e790c3e4592298251ae468603bacb0113aee69a5a25bb339022b959060e153b9b9a7ea646dc92b50fd0cfc71c743c1c3deb38b8e3fe3fc08107cf57bbff1076ef9d0baf78d6d9f4f77b96de0ee5124b3137921a7899af3e538166d68024694225aa427dbc010b0f3816d66f5c0783d539f0bc135f0cd7dcf5bf70cfe377c0ee33e6d1e8cebc94be8f9c102c071f4393c236811a6e89c725e9f1671f2248aa355835bc1c86d78ec27f7cefebf0f485a7c0f0c826c8862338f379af81775ff646b8f3eec7e1900573a1d2d74d190b68f5b806f1b00f17bcf5d31490bd7df1efe15bbffa2cccdb6d0f2a82b666e82988870278ee51a7f3bd3d7607f4764da39500e3f4cd848b64069eba86383503ae993660d6e01c3874df23e8f7d51b56c11b4f7d073cfad4c3f0e4bac7a0bf6f8094391b4d757f6149dd97de4c3873b6ad9b542e1b6e2a49677ea6c5373305a823a8941130fb940de78954bdb329c6873eadc948be177a85efefa2a19cace02ef2b5bbda01136753654866456fc6b57f3a1d9e7bf4e970c5a7af83f75cf256f8c56d97c386a009fffca257c261071f01d7fce9a7f0dbbbaf8259037360e3d026185b99c0b4993d501a8c61ddd24de0354268cc4ea0af3a1d769f391f1e7cf87e78fb3f7e109e58b9145efb9e97c3b4396528954a54317bc3ea8dd01c0218d8b304a3c92658fff808f4cfea85ee196558f1f06a35e043d86dfe20cc1c980d57df781d3cf5e0e9f0cd0bfe17fedf19ef8623171d4935a43e79de1709404ccf7687b79d7c3e2c1dbd1f1e1bb907aa510f9103d7ac5d0dcf3ee21fe09845c7d17d7eed979f21608f24df251b9e846ad00d17bcf6b370c07e07c10d77fc12febce416983d732e0c8f6e82271f788a3d46995a044a4d983b6f0ef429d0821ea4954f3e0551ad07769f330f6a8d71e80b67c0f1879d025fbbfa2205d09a30323e0cab1e5f07dd7e3f8c67ab61d6bc01e8eb9eb6d305999cfd2d2f8aec1989a92c49be61459dab46a3097505a02b55b529a8abf502f92761e41a6d8a0ddbb4d9e4649420d05c935d319493e889cc001374dff9acd9cf80c5751667db6f5150a21a1ceffec61be05fd77e10ce7efedbe0b28f7f1bcefee35be1e2ef7c1c7e7be36fe10df597c0234fdd47de924da3433018ed091f7edf172955f7e29f7c183ef6f22fc2910b9e0e1ffee139b074cd2350f2cb70f082c368f2fcd5af7f0e6f3ae57d70f3e22b61cd86156a694fe0a4034e837f7af65be1c22bde0e234f3e0e5f7dfb1570f392abe0b29f7e1ebef4a6ef4358f2e1e22bdf0d6b36ae84530f3e4d81a3f3604dfd0948a68fc0b469fd74dd03ea9f156b97c1f9fff26e750f115cf2a30fc11dd7fc062a83dd907a6a8cd47d78e9c9afa1cfdef9d01fe0a67bae81feae4138eff40ba1a240c9c2438e82bdf7dd0b1e5db1183ef29df3a0bbbb0756ae5e015da383f0ded33f03c71d7e02acdbb806ee78f036f8e9efbf074bcb4b20a965b057f93078fd99e752acfffec5f7c00b8e7a996ac4047e7ecbe550ab8f4169d334f8d8abbf0ac71ff14cf8c33d37c117affc288c049ba01256dd9875b66d9b54f1b8e93a38e572994239491af3263505caced9389ec0aa0dcbe1e18717c35ef3e66ab2a60beb4c853db4f80158be6a0d94a2d930637a95344dd25d315d1845d55aaa176afd1235eb72b0cb4d72ceb67727e6a10b3881ae6a37d46a35f8f877ff0daebbfde7f0cf2f3c0f9e7dec8be18a637f063ffde58fe1ed979e0ddec038ec337f013cb46431bce3ec8be0e94f7b3adcfac435102621bce115e7905bb3ebca6e28ad2f9377a15f0188d1913178e54b5e4be7baed8ed3e14d979e01eb46d6c22bdf72361cb3f05828ffb007fefd759f85e73efb5458b2e15e78c991af82579cf12af24c7cf657ef83f1e106fcfb0517c3fefb1c00afbef07970ebdd37c13dffb90ebababbe053dfbf00be77c3653063da2cf29034e206ec36633e8d8b8d231b61c1dc43e084234ea6735f7ddbcf14a01a85de4a3f1c7fe289307fe63efcfe9f7e0a177dffbd30a4c0561006d097cc81fffac82fe080030f306df4c2534f83379f751e9cf9aee7c1820507c2373ef23d9a151a711d7aabd3e0d52f7e23fce4e6efc0fdcbee83de74002e7bd70fe1b8a39f0e1beb6be13507bd1ecafd01bce7bfde007bce99cfe3d699b3ad34a9248c806444f53bf4be85a2f24adc13ce5edb30aa76f3690d2effea4760c6c00c3872d1e1a073c55c236e87fdfa37bf815f5efe39e2a1ad1f8961467fa66be5ecbc10ed4e0326c4be2e84723c9d9163d45f9d39db56500258f42b86a796ad86302dc1cc79d3618f99f3297be6b6c537c349879d0aeff9c74fc0192f7a191cbbf004f8a70fbd0856ac5e0c03dd8370f8be47d1316eb9ef3770f0bc43099460aaed43cbee81bd66ed0f83839ca572d51d57c01f1ffc1dbcfd651f86638e3c0e0ed9ef70b8f51e051a763f883828271efa5cf887535f01b5460d6a1b9b70c9bbbf4adfbb7fc95db0666805ec37e760d86ffe01506fd4e191e5f7c1217b2d2450f2e4ea65f0dfd77c950a968d8d8fd2a41c19f775a600d1301c72e842a876576812bffb913fc140ef34228fbfe5929729d07230ac52c7bfe7b1dba11496617aef0069af5cf2862f1128f9f6d55f860bbff31eb8f6e23fc3f0f030dcf1e8efe1a797fe5a81ad3ed830be16de72e159f0f9b77d07f69eb70f81a8ef5ef335509701ff7ceaeb0994fce0b7df80377ff44db0faca061c76d042e2f1d3b84d5d191d67db884c542f225e09aabc863c8231348a7d0bf90f9e5a1cb0f06b025558f9d89fe1b31f7e139cf7c1afc231472d74e064db1a9ddaecfaeb6f80af7cf25ca86f5a05f5ac07bad55c572a850a2872ed9c5d0e9848ce34b17fb163369bd4f1e86f69e6a4879d6d9f0519713ddef6c20fc1e1071c091fbde26d506b8ec0acfedd204e9a70c31d57c26d0fdc045f3aef07f08c239e0b1f7dcbe7e0ac8f3f13f6993b17e6cf658fc3834bef86930f7f21fdfcc0e377c3f2756be1c4839e4fbfffe981dfc3795f7c3dac1b0278fa7ecf86334e394b1d7f142a5e17cc1a9c0d1b36ae8757bee8b5b0717888e4b65ffe8257436f4fafeae60a2cad7d12d66dacc319473f0d95b6e18ff7de084fac5e017bccd8978e3d561ba609b9bbd203a5a8049b46362a60300e03038390c44da4a9c13ced154195d827d72e852efcac02216b36ac84c79f7a0422f5bde9dd036a9229c390021b515a81e71eff425283fdd6955f50df1b85071fbb0f4e5cf86c38fd9d2750164efff423e083df3c0f6eb9ffd7d0a38e87f68b1b7f08f73c7e1bcce8aec24b4f7925bd77d1173e06671e7716b1f7fffbda2fc2782386f5ebd792743e11699d399bfc0e428b6966865bc2eb434ac4752eecc78b287a55ea2956bf9d01eb9e7c00bef091b7c0791f72e0645b41c9b5d75d0f5ffb949a171528c9a27ec8ea0df254610807e79f702702939d7666cfd2e427f66f1472ac316bcdcc712ff7da96d79a0dabe1a80527c0796f7c173ce3c46740bd394e13200e3adf0b614fb5b00f8daf87cffd80f53f9e7ee4490a18ec05d3ba06a1b7b7071e5dfe10ac5ab71ef69b7d30fdfdbe257f86f126406f791afd7ed3ddd700aec1fbce1980fde71d4200e4cfb7de07af3cf12d343f4eef1f80b1e630fce486cb61fab401d863ee9ef093eb2e27af207a33d4a1e18805c7d2b16e5f7c0b8c2b4cfef8b2a5d4ffa94e45d280a812c0d2271f839ef13970c4ee27c0c8f8265df0378052b942dfadd5c7617c6c8c78340880aaa56e98d1379b48ba65f599b5436b60d97debe1f445ff04dd3ddd70ff927b60e3e80698de13c160ef1c5c0ee099479e0afbee7e00acdfb4167ef7c035d0571a80b8c900e3d6fb6e840dc31944f51ed863702f6ac36fbcff0af8e6277e005fffd5c570d17f7c030eea390a0e997e3cd51fca3cd7f7dc6b2b5f947dce7211941491653a4d3831eb846c6671271f2380a92870b2fc7ef8c247df027fbafdcf60eaac39db82438053fdafb9f65af8ea451628414135df37f5eb1004ee4c8ec94e0326b16a00d46210597a88cac43b11897af772afed798d8e8ec07e7b2da0beb6f8e1c5b062f90af0c28c325d8248ed07a204362a70508d996c8a0ab18dac06fbcc61fec59df7ff09c69e0278d1f167b2c764f1fd30f200c0217b1ecd40e5a17b61d5a30003fe6e70f07e87c293cb97c197feedfbf081732f347dfc87d7fe975ad4d7d19cf9d8530fc38df75e4705fa562e5f057db5108e3b886bd0dc7ac7ef60e81180172f7c357db6e4556164650c77fc7e09cc0f0f83ef7df42a78c32bde0acb563c45736fa359879543cbe8bbd3bb6742c5eb53a069544bdb7331bf181a70ff038bc15fd7035f3effbbf0e9f75f4a9f6fd49bb0e4e1b550aaf7c291071d0b0f3e713794ba43a8542a70cf0377c29d37ae85c3e73c5d01abe9f4f90dab86615ce1a5779ef931189c3993ced137a3175ef8b667c29bdffb6e38e3d017c0cf3f7b337cf753bf80925f81f1daa8eb7feeb5552fb434e175c0d300047f4ee284dec73e9798d22540e024c10d467526ac5ffe007ce163e7c0ed77decd3c45074e268c526086c9d5575f035ffbd479501f5e0d49d8afd576f3901a02140488b846ef72a11cea8c694a7144f29834ea9a9dedb9eac2ceb6db7abafae0c1c7efa59f0fd9ef3078f9b16f84af5ff915e8e9677dc3c6780ac7ed7d3c7ce00d9fa6cfdc7cf7f5f0c88a95f0f21377a3df17ed7f1cfcead29b60f7dd76a7df5ffaccd7c0f317bd024e39e564fa7defe907c329fb0dc1c7defa613ec78187c3ec3d66c3edf7df0a471dfc34e295fcdfadff03ef7df5a7e8efbfb9fd6a7870d95df4f359cf3b1b5ef3bc37c19c3de6d0ef271e702abce4a8d7c2abce7c0d3cf0d8dd70d0de87c397dffe7da8d55238eba52fa7cf7cee2b17406fb542e3a2a440fc034bf958d3fafbe0f90b5f061ff9f6853077fe46547b80f1913a44cd2abcf46967c307cff904ccd97d0efcfede5f5315e5a30e3b16defafcf3e098c39f0ebe0268fff9cb2fc2e32b1fe67b58b0082efc974fc079679f67daf1df5efb2178ef6b2e84bdf6db8bbc339572151e5dba046697e6c38d5ffe2d3ce3c493e8731ff8d6b950cfc6200aca6eec3adbca05536763a2472408693d40ef491086a4aa4cbb798f43394dadbcc99e938cc23a0c4ede0ae77ff02b70e4c2c35cb64ea746566d72cdd557c3d72f3e1fea236b210dfb74c8cc9330067b49b4f329dd15d385919c180441a1564e56a805e2ccd9b6597ff700dcf1f02df0d59f7e06de72c6bfc1673ef06578e1892f853fdd770b853d0edb7f119cfa1ce68b3cb5ee49f8f4f7df0fdd950016afb89bdedb67febef0c4a687e165ff7e127ce703ff074f3bfa78a82523f05f577d114e38f43970c1b91f552f3ed72f6ff91fb8fef62be1cadf5d01cf3bfa0c02263fbbe972b8e391c5307dfa007de6ea3ffe0496af7f0c46468761cf3df684a78696c15d0fdf06472c3806ce3dfb1db07ad30af8e78b4e83879f78107ef8d11be0252f7c297defaa3ffe18befce34fc192158b61b7c13d48806aa07710feb8f877f0cbdfff185e74fccbe03dfff26198561d801bfe7815018703f63a045e7cf23fc05147b277e7fadb7f096ffcd41970e8de8be0db17fc123e75c1e7e9fd6f5ff515b8e6b69f91cc3c5efb8b4f38132e78fbfbe0ce476e858b3efb7ef8c0eb2e86c33411f8d2ffb9107e75cb8f1570f90abce059a7d10bedc6bbae82cfffe842b8e3a15b61eee09e6a51099c4bddd9562e9a2cf045251dd44299eaa269beefe7e1fe108c00a7588059776a210dca03b0fec9fbe0d20bcf85f3fefdcbb0e888431d38d96cc1f5e0da6baf55a0e4edd018665092daa004c078abe266a2362dc14e15b2f38aae2f2f7f9a9ef5f2ad7f03eb5f7985d62bb25e25fd6f59ff8c2ff40fcdfed58f2fbaf8d4671fd3bf72d5068a6bedb1e75cb8e892ff822fdef27dd86bc11cc89c5e93b3ed04bef5668db2695ef7fc73e0ec17bf0d762bd4c069c435f8c54d3f82cb7e76313cb17a290c4e9b01b546034e3cecd9a46a7acd9f7e0663b51138ea8013d47777272ec8d2958f101fe369873c132aa52aac58fb04dc74d7b530aa3ed7d7dd0f83fdb3e0d8034f82db1ffa3d2c5fb3128e54006856ff5cb8f1eeab69825db8e038ca0ebaeeb69f431894e094a35e08eb36ad813fdc7f23713f90ec3a7fd6be70f48127c0434fdc470b7ea800fc40df4c767deb7bdb343604d3baa6c317dffe7d58b4ffb16ddb002b157fe3e79f83affffcb35cee414d44f366ef0bc7a8632f5fb30c7e77cf75d053eda3a268a19af94f5ef4021255bbf1ae6b60d5865570e83e0b29dc74ffd23fc39f1ff9239d7ff6f4b970ac7a6f5acf74babebb1eb98d26b8c169b3ccf53973b615031556ad590fcf99f134f8dcfbde061bc686218ccaa4f8fac4f2d570c9272f85c19e00fc20820796ae855a3d5663b375c1c45d3e6690f8cd21189c7718fceb07109c1c62bc04ce8089aec829195ead40c9341dbe696d1b2c94d8df5785fd76477e5a088f2edf30f4dd5fddff2ef5a7557a9d6fe8575dbd9afae7a6f58aad5762bd52ebdfccfad7b820b20210d969c0e4aafffdd4c5cf3ee9c8fef5432374b299b306e1a2cffc277ce956074c9c4d8d21ab1ff53fd60ead82b933f78443f73e12769f394f2dfe480a5d09f73e7a273cb2fc01fa7d7aef0c1df34e61d5fa15b4d8e2228c0065bd020eb860f7f70e40b5dc4d6005b92348ce4370324381065fd7f740a9f635ea7c78bcbeee3e229f8ed7c760f6c05caa42bc469d177f9f397d0e9d0b3f8bd934037d832cf1aeae7b786c236c18594fa0a15f01008f13725befcd0f60edc655d053ee85379ff12e78f6d12f22b080df7d6cc52370870251d72af0f3e0b2bb61c6b4d9eababb68a2966357d5750fd0757311cd7aa346d78612faa89d82f7856273ebd5ee0a755ba6754fa7da5628b286f78e92f63dd55e7adf64d63973b60dc064a50226cf9f7d225cf2de7360ddf04628a9be8a958409987ce20b30d0e541582ac343cbd6abb1d7dc0c98e4e0448d94c64698b1e721044e8e5ab48b87753430c394e0cb3e792e115dd3a87f334f89584d0193c1fe2e58b0e700cd388f3db571e8fb573db05380c94e0be550e13ee0746114bf4aeb75c31876e66c2a0c0760a8765a7366ec01e3b5310a6920f70327b15214d1828b8b36552d4d73a217820831549fc4057f1a4cd713208391dd66ec51980310d424743ef91b161d432f0abee45808406c43ef497e8c944669b75af0f165de6fe387c0eb18ec9b4d12f1177df77df08d5f7c96ce8da9d063b551d8a840055ef7dcc1f9e6f3d0eed814db679d140cc588e171ba2addf4926bc8d43190df62b78fdcbb3367dbbe808259afa4861a6f92a52fa698fd6f423c6d3721c83949320560a6c1da65f7c0e73ff26678c747be068b8e386c17067d1edcf0ebdfc0573ef956054a56132811be4e479488f3549c92a81d9604d859b6d3ce8c5900d80e8d4683494faa11b88853e6744c9c4df5ac475e89c1be596dff9cfd8d76b6446d4caaa52e28ab7bc3fa3acd6683c65035aa42cf8c5e5314cd99b3bf668f0922631457a38af3b44948cd98a4aac36160b24626f27e8498ad9320e7643a6c58fe007ce9e3ff0acf3ff31c983367b61907f27dfe4767f15885c433fe4f4b8ab268a9b43b77dbbf7b1c6e35a14d01ee9e67c056668988e6d7d4ea1995441901fe04dae87233ed0cf10c51d52b6c12d0bbf9d8638fc1353fba14ea0a94604a307e30984054ddf3f2c2e11852866c74d70326c82bc18e286e6022dd68096257c4cf99b3c9032f9ccc11786d3e69bad671f637d083b31c24e0ba1049a6a65e6e115460ba307a4e90638222609e052aec502785259b99fa4c3f3cfec8bdf0b58bde0af3761ba402811e855b81a4d6f16714102310a4bfc7e2801cfe60e5d3900409053850ca32898f410b77c580015d5625a0ac229f3ca688afe87aa9f64fc2dc085cf3d4352459a6abf9727a741472581553a4253915af096bc8a14050290ad8af44eba667d5b3c9ccb9013863a9a9beb77cf57aaaa09ef8bd90d69be07b60386a3618e37f32a83512e8eb62ed1814826cecc4c29c3bafba3075b6c4e4acab27c932f549cade12b7d173e6cc99b3bf7f8f499a6784d88bac2fba241e6b6b20ffa1ab12d3c28b611d0216ba4abdf11ea4bace0ba612770fc0404f087ddd0ab47b55d6e540cf86ef9b7519df0bd4caef8708162860c92025e1b05296458441f032102ba14706bd39611452f60a020b1184c3cf0bb0e03a7025f6fe8b870322be2f9fc324896878e1fd790417b83e0d6a110501818624d5e12dcedf0546177c0f7cdf408ae9b8768af717f9394d756d954a0986c713e365114022d72b5e1806552ca8d6df5b260018453edddb2e074c7c72d18584908938a81e0409bb6814e83960e2cc9933677ff7c024d30b709cc444c6262f8696a7a76c1bb578361a4d9833a39b3c00b2b8e3f7eaea7d5c5a237a5f7bde116c90fe89021e714aac4b021f01ab23e3a28f000017f15229a28bc0c5bd5c2ad17928e51dbd1ba8a5e2e139622845a15ea7c45ba136d50844fc90ce1f841e0bc1e1faa5ee83cea78e93853a12a0955525e539c5c212015e7342a0803c3978cf0a0ce0bde039f11e4275dc547d9f8eadaeb74ca02306c42f957244e02488d85b8aefe3f5a83341a4ee6b56970f737cf6dce04923dd76a68df4f540c6ed8940afa1ce85e7eeae96d873b32b7a4cf041a1da2b3e64500fb356af7181d2cc039778e8cc9933677fff9679192dca611841da6c18a243ae008b6ac6112de09b466bb493c7459bf43630e4a216dcb146833d151e87683094916a4f0a792270d1cf38acc2c00208a8204869c60991e1f1df8c3ec35e10549ecd1018699e0ba6d322a13ed05c0f0235ea874613414d440004bf87a2a17832040a2c1ac79a2071c2a1a2c0d7f706c2a1c9e5df434d38c5fbc357bdd6200f08879d127d0e20a084460006411129b6b227a6566fb20689baf1b8d6d46d14c0b8025d896e23cc60324e00ed49a93739d484f7eafbde4ecd43d97945fcb05129132723708290b11c9460686d13d6cdd9005ee25971c456229229a8536c394ffe632269e67be079c5b05a9b8b2a9094b6808decd862f13db0be2fa4260fbc9653791eb492a3f4f7cc7ddbb7263144fb1adbdc9fb48a340fbf279d2faf27917f473e5178389e7da1d0da9e0013b465b6d96735abcc7a3e60886c6dff5eb8c7aca8475078f45e4b3fc872923fb0cbb3e5b9143edf72e785c613f7b021c515eedb26c8e57f6b6dcfd6f772629d4d96cb5abbcbe63fb73c5feb182dbdbdf57970dc3d6d7d408563584cbccdfb9dee2bc55126d76eeebff0f996736c36b359e7b59f87d77a5e73ff723c69afcdeeb1f05dfbeff600d0ee79e850b47cb336b6088d2df7d676c7efb50ce87c7a6a254b6e69ce994c4a6b5678569bcd39c539a4f004f239276bdf2f369b877cfdd9f6f3dc66fdb765ce819c8b31d19c1300ac593502d16008d5ae0a6cac8de9c59a431dc39b46a1dce383a716e071e0b04da2164e5cf4f9581cb62165d890c5fdeac0c26b327c45d1147f17af887049e4a209e8e89048dcac6b2f0e7b6042b588d7c6c7f57158be9d6807e3a909e1341b75f5bd582bd5eaba3e819ff7bbc2bac09e8b9480047e06af89c0c31818609226a9e65e06a8eb414026d51c9766c3236f1065238d2504541874f02de1b19a23b1e92f328d0be862e78035adfae824ca285284de968d711dc647c7763d6082de12ea0431a3caa10d4370da0b4f84c54f3c0e4f0ead860aa24e92f6d79d416bf82794f6e86972545e94c8f7f2343379f81cbf032231515a243e54bf95966ccfcf9e9f2f3482be414abaeb73d003cdd8dbe36bd12a44d632c0e9337a7632ae3b7d5d2d8c6f1deba361aa639ef27753d8d002153220783290c541260c9f7a5eaa2b7232aa67f2586a4db299c43ed17517f8baa89d2e9465aec1c600f975dad7d27671282caf8649eef9853530336d9dc7623d7d5d99192472cfd446d633a336d03b0e991ce5b967babfe07b7ee0115709270bfedd6f9d20cd9cacd52525b7dfcb177d2ac1ce8ee396be2193741aa75685ecc271edcf671c63c69d9347698d31ab1e2779a6003d5ff94e9a195564cf937e9f1a77305e639ab5b2f7cd52e081d526ade324d3604d8e9169f9696a4f4dc0a36bf4b83689a765c0ed71857d1ddb12f54e88cce77b6620c95895f121fddbc8c279f94a69fe4ee74ae878400b4ac263423f3372f137631d73cfacb6d5e722b77d60ba9e8cad963e829fc549d74e49b0faa367ea83a4e618a9a96e0b6697c9e76de534a4161992544b13bd4806dc3ed22e9b21137bce9154587bac82cc0df97d601b499b50dfd440def004200771a9649ad9991f5eebfd66d65895448456af7662c607cf7b99e967be6e2359df53ed1990be2efdcb1ebfdca713d3af71ce69d6635834ff6078ddcb9e07c36323e673f8f7ee6a1966cddd0d62b5818d306c819bd820908b33599cbe9eef7c3f27b306babf495f0e649ca1c7a2c45e791e5b926a9c42d9f375db717f0cb4a785bc177a5cca0a2f0567b115711dc3fb8f3cbe3f0219eac01c26d235673230eb87d4a2a12c190da64a559ec0f0b8e41dc1cfa50c508877a2ae33f4b8c81e03177587b226248c30223d4f843acc1544095519a73114c7c6cbc2f7a8cead9f8da7815b201b00f448554a100c79bb1c30c9641009cf6468d308ccdd7d067cee83e7416db4490f0f277029ec87ea97d8d930571da88e42a426c906fea8271dee94c459d1e000b552f0f76aa54a9304fe9ebbd602d39169b068cf0dbe879fc33466fc9c1ccb96ce979fcbe532dd033e745f671321daa48544c705f16f388994d467f1b8ecb243f294affb78402e4c647f53e96fd5c9eaeadc984eed79320164303e3eaa06a50fd56a0f4d598d7a03124874ed94888b2ec57cef99c731d6462d26f0841a15d83913b513f0f5ce008f2f051465414517649af242de44d7a8bad6ae9e3eaef499e4ed87ed84c7c0f6c1b4327c4ef8b74008cc1ad8c90225b14c99906441e21d0a4e42a1dac954a0561b25e12edc45e08012d08aed3c363a4a2e505c5c68c2cc12b31bc46715952bdc37f4ee18e3bbccaa4f0da8c37b0b69c148f5bd83c9d5c778af4feed7066505e03dc76a1794a531f5b5a054e1c5308ee9fbd856e3b88bd2fd00db472a73e233a854abf47c9bb8fb4a33aaf4cb1cef80db4edd77bd56a36356aa153a2fdf1f7e0727748f0876d8ae9e5ee850ef07cf6b57e56ed2a28dfda1469fe1d0684cedd8ddddafda09fb634ab16cbe1e7e86e552999e1b9a5d3c935cdbfa59e2fb0dea07a99107a7ac8930a2450dff466e6bfd0c6882b68e2340c7e852e885b68971fc803726d84f30d599e403405f5f9a2fac724e6963b348ea67486da2ae935dd71e11184bd588321978c719d06c333e5e57edc9cfdbd35554a5a22acf2f219d13df0f752cbe8c7d431daf8944c8a8a439700d9e6b34a8cef475781a68913e93fa323e536c9304fbb076d1db12ebd24ef43c51a51877dc4262b43d217a914f75d153dcf1e35b34e7e86ba7b6cb320326b17df13bf89cb06d092078098504102b61498690fed6a0be8afc0a3c1eb6316db8f47b7535e7942b652a73808fb0aee61c75e5740eea6771a2373e38913190abd7f91e98c78145f89af43ef6b5aeae2e9a57403f53aa8ba37e2e55d51c51f161f59a75a4c58399aa2323a36ade2ec17bde7f0ef129427d3c1c1302eab1ad430a73f0b38bc98bc29ba14013634515969e939e97b01dd4ea4b73d7d8f808cd0bd85638e7d0bc8fd7afda01e71cfe6cca2590351067d976354fa97641fe860058df0f795d4a620dca52f25ae2f5e1fd73688afb82a7fb04bdafde2c974b74ac44cd0319dea79a6f023546e95c8dd63940e6593c8f1437c4f5ac4af3484c1a44d849caf8dc12f49ef8f41e3ef7b1f131d5e7ca049a1a8d1a6502e1586ef2f243c7c567bffbdc99f0db9bef822bae7e47f6b70c4c8aca37d904ff9acf6147a2890e433918daa9b13bcbabe202af2ead99d104a3e0817a686a12c472efdd1548f504d718571d533d50042c349996d427d37cd20ed5ef595375605f0d40641947011dc7c7637b38f9c51aeeab4539c80b4629084e0f93636dbe9e20430a3d6107a944659ddac6133b9e57b832b848d07ec74fb83c7759752875dd4149758e3a06fd5212e2820a3a4a558746524d80645fdef9248d84ce0d11ef9a029cb810cd878cbefd2abbf0f0fa23f404e180f37890967bab047a10b864b4086b8f8dafc957914f03ac545103d94bf424c80b25a7d9d5c00f7907e0a9fbf0114495b1393ceae099a727d412df0fb930333590fc8cda9a77616ab118af11cb5d262fbc3f037ed4e417134053cfbd12eab2e66a6078639055d4429622c14c9d2b48a94a2eb582fa199f2b1edb8f4266cf27690e6ebad5b9d5f50469ee76261042fd4181bad171a8a8c118ca62890b44caf745f78093725785dbac1cd27968d2ebe2fbc6ed52e223b14cf5a780cf9d9590bea617c9407d48b55bc967904de1a39063d4780f043fd5f535c71b381f8217e17aa7c0617f25778ffbfaf9e0b9d5e25756601afb4152079abcf09995751a2503124e23c44ac9780f1c47566daeaebf31aa008f6ab3b04b818c06b73fb631018340effccac80cd44331caf4bd30e8e36bf1482705dba2a2413582a7ae9e2e6a431cbb389e905a88d75357c0c80b2a50557d90c6353e5f21b74bbaa526bae3f1f17bb19f51dfc17e10674d06045e6afaa30007ece7d85e345b995dbfba6cd5debe5aec102c7abe67c8f310e19850df2de3c622a42e3130bd5f2d761bb96dd5fde077f13cb8f0d0e621e379c8d353824731f71a4de0cc19f0895710d79b6a81ad52fbe3f82770857c862c31730e1e0fe79ca08a408937027e5987c63cbe762f65e0e0fb12aecea88f609b7a56f80a17223c4729e48d4433e5450adb4cbc4e7ec83bdeb4c12008e74fea27c83da84ba607ce45eab32983a3cc4fe91953ff6b6031bc80de43b66780634cf58d14af0fe7a2923a3e112b819e05012b357f241e6e70aa34d6f08f71dc349a23f81c81bc193ef9cc4abe9a0b402de6bdecf9c0f1cc40b4aeda4f7d624401713f30992de2a1a1e71c00658964a16fbc2e08e0b1a443a0e7ec2672313420a2bf234e4d33fa1e3e3f046be4252847da7b84ed5b57f302f60f5d3410efdd2fe90da17adee590de0bc312dd1ba4f9860ae70b2f60ee876765ba54708d51778a428e55d54f3ced55a30d1c6e1cb1e80ff067ab1504dbbef14e05aa0f9415184bf4c605fb308e693f237f0d7151b234d01e25201027c7674e0acefb1e6b9000cfbf3505c8230280e4338281fe3ef28251a4411d0ba5ffb11f23f02dabcd14174b54eda62eab1c05edd6f74effb6c3013b159874bab06c82cfa9b9dbf3d32c6d89e5f2434ff4ce21a2066fa89d04a16ff57e533da80c3b1878a44c877f1f1b1ba71d030ebe5aad6edc80699a8760a8547c83bd20ec4a0bcc7971c2c50788e81dcf2dd720881ebf273b4011b56968046b001611ad1a8619cd4838cd338eac638a2b0ef3d369e7ac264ebc97386e98dda1f87a63dac98cd3b9c93d886428dcb524ec2e8db3c4b8799198e5790dae8140518b84a4d647d5a2cca8dfe3dd9bdeed67e4deab5b44e4405f3b2f8ed216783ed999f1c0f2e95a1888f18eb5aabd0386b0a651beef079a6d9f988aa1a9268bd12e5b0118f494a871afae73a36a872e1c4e06acd082a14126c5966587801321aa90e27d90ab3c503b625674c545072f05fb058250f206e0a2a6269c5aad91739a4c9cdca7e72c0baf2c1478afb883a2e78a9e9f92c73b44b3686a16bc895f7b74ac7aa36958ff1206645d006ccf80fec59d2a57d5e61d9018de034e2ec4e2af37383c049e7e2eec8dc19ff11ef119c86e3926921d6860a1fb86ea2335758cd02fab67380ee2a5c7f3b127a499930b9394774aaa0db0cdf17962fba1e12e17c7952c90f8be8c07e9afe451d35a13a3a36334cebabbbbe93ec6c6c678c1379eb2d47881d0d833c8c43edc25cbe712ed2dadd71bb9973308f4b3616f9d2f5e127c16f586f678e2aeb0461b1beccb541199cec173008d49aa609be9e7e71b9222ce3978cda42911853a9bc223d2247d87bc5d298d295aecd4f7b06dc44b88c794101ab6495df527f13ec53adc2b5e35bc56ce1a49f41c9268f2237b9f049c7038b975cee1f1de349b26fc9977ba89091560cfc1e71ad39c837342467fc74d012ee84ce6e4b18de7a6308c3e8f5c0b3d27f4e6e0e62365a080005142343c47340898b02733a5b20af8ccb18f1251338d8d3716afa519e7a11c99e33c1df260d01d987993ef933dd7d80ff0394a1f654f5dd64292957e45f7ade72ad1fb6868a5f1b131d537bbbad50cd780f1daa85a7c7b681994cfc9f30975ba2e79bdd2808049a0c3361cde428fca186d42f05ef1798f8e8d90bab378adf1006363b5cdfa2eaf37fad8898e0ed05cc7a12adadc04ec2dc33e86593981d63be167e3b58c41f1560af996a3bea9eedf6a8e511bea447bacf0ba6bb5717a9fe61c359ec98b4944e28659e7ea2c7cea17694a1dd6f44e8e89bf1830c926b8982d7dc77ec5bd3d5de5ae9eaa9a8cea3941cd476f040e78dfe46373ba989ab8f05f4d42a4894e7d16773314d7459970853ec9c341753f1a5cd827c86b78e0628ec76254ed1b8e88c4dd30c5cbd320c2f398f59ca5dcb9d04586de12df03cd06e71d5aa4638bd49143ddf9b41b9a53bdf2b838de0be5bfe3e29c31e2671e88da0d954242f68494039e6c4afaf33461a2b04e1af2e2e265c6558aa85c3a27b715bbf7703f8ad784a02e52df25548f0328e2fbc0fbeaa28523d6bb53065c789fcc686fd22e47da9927ad80be6706981a3c5d6a01134d01cf5235c41d65dc6c6af2974592f458fc07dd96ccdf88e89c6936a6061e92cc70c3167138cce3e7ca71f580dd9da590063e690c04ec2540977942f1535e6cf1dcb88892d32264c67b57b544edabf64e7ae2e1d01af6090937912bd6e37e10e202a726ef881614f6cee1ee86c0a58ee7e3b3ada8fb406f0bb615c7d7b91fe0b5b08b35e7d6f08e29d50b8747df154f077b969a04d2f0f962ca1feeac78b1f3a86f974a919ebc3cdea9631f2e457ac788e02ad29339bb85d1f384e7c01d14fe8c043e0a61e83ec66327d38b0f8fbf90765d256a872e6c579db6899332f70ded5d4360afc7976849e0df090452a847f739ec13ea7980e7b58477786c47869380fd0d7fc636267d0abdd0d3a2ee97722e914e79c436669222ef82b18d4a95b29e94b95fb26788b330c8ad9fc626d3218ab4674b3f73bcf658a7544abbd06282d78f93bcc761357cbf42e749cdbc9068a0ca60a2955c28bf130825ce4c608e2fe02bd09c099993b0ad7d1a2365225c1277c2633f28133c65bee2b0868cad44e620cd5f087c5f5f4ba4370b1cf2c380382efe0ce2381415e8cc13e1ccf932e6536e6b9a7329848460ab4ee393d83665d1bfe07909b284c203a552a4efa1a4de0e691ec2e3f6747771b8c2843cb11f5675f6498dc34f51a8370bbece5e2999d0714a8b6b95e6309b7b4cfd55bd2f7d5b785fecadd363b55236cf1cf53db0f6154efd01cdc311cfcfc07343a4538303ca4c09193c50f885f91f9e7ec6141a53ff76ab730f8f8c98f45ef29ca9b9167fafe2a639e5323165f23c267a5ef3691c257146639f42ca1e8fd3865e67229a73541fd7eb12874af370b1ccbdb856449455149bfc019affb04445acb98801cf2302944bd4a6401e247ee6392f8ee69cbe6ee8516b3470dd9b766bf88ec00a5b0d4c0a94b1094fd2ee06ecdf71246ebae42bbff8c9d7f7dffb955ddd259a584b7a578f0f005dd6b1deddf36482a1837c97477c13dce542cccc64cdc5e0c66ef2c487313a64266bb6334e9694bb0e99eeb0be61a263c7c1874ebc0bbdd34d84df10950ca8a01c78edaaa4071caa058308474d230e44f1e7a62c7639892dd3a4a6185ddf192b17f2641430e0c0f7742ebe90ba7082c5d8b3af89779e9eb07013c2044a5fd77991c984912f790454fbd49356b44e9c0a8c5b626cbeded0edc6bc18267ba2cb17dbcad364328f73f93597c1d38b28edf0c6c7f877bd60f2a067ee0e733cf23834de131118694109e8f9a1eb9fc3260a99abcf4cab4e53030bddd229ed3c6580f83ebb620944a809023d4c389bc40850344111ef35c4050ac3396aa7e203baeb7dd04e73f59912bb2d2b114d80384963fbcba4cb3b3dde45675968ae3b41129c76f5facc78338c7c9a94f424417d420f0d195081e650604c1dcf81e0d3f35372fb63f5547a26a0b505d4f5a017258caa9ab3809fe7b6e4d834f374a26a45a74faa6bd300962772a0b6c185803d600a003458e9d127b5c8801668de39f37722bd03f334918fce852d968179c6a53203b93294cce8a76791695e857eaf4cde03e653e077a2526488acf833c5c3898f40abbc0164a15e9433bd5ba6d0172e08b4e304025eb293c43646c0896304b95614a3d75e1321cf22c0e1c52dd2bb6e56cb94ec081c4fb15ebc2a3aa62fa4db404fdad2ef68931385bcc9c9f85cb860e2f82560ac09b63e2e084d3eafb4bf787458d553f399acb94316666c4bf224a007b11499fbc7eb27405366812e0ab9eaef550850b0478c179490c0272e7c7c9f19edec25bcc0e4c984c74d26408d37399117eabfe5d94dd8460c14d528c283a83f96557fc50594c0900eb7249a744cc45135df21170547097a187983c864621c83a5327bb4c73154ef3390887073924ad65840f352249b040dd2240c4840417bbc6c6029c01d813c6800227d8d3775a999737011afd7620a7526382faa31d587730e6e5843e6c8041a10d19ca349a3196e027074abcf34d418134d141a0b34d8711ca0e85b43f5a9d0f0069123866d1e5503f22051f81478332da477dc347ada431c5a21459c73680ea54194998d3279f4d063a43742b42e20e8f138e42d9b632e4de16b3e5ac2dec720d4890a7cac3869b0f7a654a5678ba00c3746b4c9557d64e3ba11b8e8f33ffe09aed57acd9e684dcfb621a232a14db6bab05d65b8585dd887d6cac2f6bf25eb15593f9326cddcdd662d9cde5fed51e0c257d7a1c6a41fa8ceaae6252f403792fad927d3ae8c8c46a0e6e4ab7f323d41da9e91622a9bc95ad10b904cc6e28ecf51b76f884d36c1d5641358890fe23af4f52095ebc0a6c899ed59fb94dfacf577c91d4b5beab578465c88433b3af5131bcd67af8c28029a84542b13c9d3bb1fd01941223c64b74baa53ec4c5b9814c29cb16f58f93ab322d5cc7d4f6726490ab2e715335d3c28e6b2da2998be1ed8a0b30fd2a4350b89efdf377f37d951699e969bea8277761694004d53ff22f3f2f4442fcfa890cc9562eaaf64aed8591626332995cc05bd9bb4c26e5e87945fd9e5b37721d0d7666750666d52913d733dc56bf234dbdece70cad36033737ea992ec6b82b7b4898436858c5cc87435e14f096799508206ef26f65e28a666b221b25cf8cacacfe2679b813986fd579b4fc15973bee9b3810e054ada7726e7f0728d05f35d73bd9e190792ad23a45b59cc644ccbf5ca98c9efdf37634bfa809e7368e1c849b3599e1e6cf5539375a4c7a9949897145e33e7f881193b72ff2615b830e7d8a462bed6241f8f9e3de7d88550f3fbf45a52dc339d4596e6c95cfa594b3f904c2ec90a4b458ebd90bd97595984124212b5d35c2e5db20635903069c4f93589f726b59ea3a8b8fa56cabf674917642dc9f19b071dcca61020efd3d03a7fd3ba9065e63ee5da3d9da103f21dfd39e838e7e8dcdbcc337d5ce65579aebee76d9ed26fcffb328fe2e133dd1ff5f811ef22cd399e076d6eb7b5be8fcc39a9eef1341599742ffc59f4d5f1c2316699a8f3503560b56949d70d8d8e3cf5d49a3f035705c6434865e1a6f573437b549a857f63c82b0ab7ab2ebc19a8295617de1230d1c99b6d81890d4e42fdaf0d4c220b8c44058012e963d7ac6344d671c236e7b1af03c0952176e6cc993367ce2613ed1010608304f939b6fe6d5a80a2a2bfdb2c0092a6f56fb3004cece315cf9316ae033a0193701b6f34db0ab78d7d219975a178eebe0218090b5e18bff072c0c4993367ce9c39db766062bfe20240890b3fc785b5bb530827db06bcd0d1c22ddc50a7c5dfeb70f26c821b68074ee4e5157e06dd38edcc77c0c4993367ce9c399b343049ad7fd3369e93895e9359d33bf14dbc495cdb560193adf19e6413bc5f6c88b0cd4ddb2ea6e2716ce24d318cefcc993367ce9c39db3a8f4931ccd22ed462afd14987753b9b242698328f0940fb521cedd8b930093465dfa0df068cd824db4ee0a4d367b6d71cc871e6cc9933677f4d60622a8f577400641dbc26ed404a32c17abe3598c0be1e6f2a3c269bd58382ce7c92b4e0e5483ba03501184560523caf6ffd2b045c07269c3973e6cc99b3c9819c6248a65d482781cd336912681fddc8da1cbb132ed86ad0154e0042bc49de743609af495a40685e1bef87fc1b14bc24a9054e001cf9d5993367ce9c39db1a60628388b48dc7a41328297a50d249784b261bcaf13a7d369cc44d796ddc2fed5c36368068479cb141895ff81d2077170928b18fef5bef810326ce9c3973e6ccd9a4810958ebac4d844da07d6aef44bfb75be36d4f0a407bd5d749cbd66f8b24bd37c18d774a49125e8907ed4339ed00891dbe9163ba746167ce9c3973e66ceb3d26edb26393ed002845603211e8983249fa7620c42b7848bcc2cdfa05cf492790e2158e1514ceeb5be72f6a983860e2cc993367ce9c6d3b3069976d934cf0ea04468a4027ebe041694776dd2ef26bbb0377cad2b1c1c944802499a0d1246c93164089905e7dd7d79c3973e6cc99b3499b1dbee9044e6c1052546fed0450262bbeb65505fdb647c7642295d74e19389dc240410198d8de12af83c7c4993367ce9c397336b9f5ba9387a358cf46945f8b92f5ed3c28196cbd1aec162ddcca1bb3d1573125b81d1724b53c24bee529f10bc74c2d2f49607d6f6784711cf071e6cc9933677f69e0b0a38fbda56cd976ff762ac6d729b433d954e26d022613915cdb8571bc3620c583d62c9ca2aa6b60811bbf004afc0e1e1300c73171e6cc993367ceb6169440078f492789fa765c934ec26c5b4a19ee044cb2edf598b43b60bbf00d5840c32b009276dfb18bf4153d25c5cac69ef36c3873e6cc9933675b054c003a0b9e76aa61d72e7c1343e7d4e189c23a5b6593d531110051f49cd860c47e2f29785d3c7d4321b4d73e11c26b3b2062ffbe3340890340ce9c3973e66c470186bfe4b93a65ce74f2840818c9a0957762ffdb09e8143d259e8517b65bc7c406275e9b9bf5da784ca0e02d49a0552c2db38088ed2de9044c009c14bd3367ce9c3973b63de0242d00864ec0a253b13ffbe74e426b0013cbd14f69564ea783b5d32df10a20a59d785ab1fe4d2750d28e5fe2008a3367ce9c397336f975bb1dcfa413389928b4b3a554e14e619d497b89bc2c6bfdace7b5acf7ed08a7b607a3f8b3bf0d2ffb7bd0069440e1dc0e903873e6cc9933675b07508ae0a00848600bc06432aface09549db785036f39c6c864326094cda81934eaf4ec02380cd336dfc0e1e12980098388f893367ce9c3973b6f51e9376c0043a7850da79459209804bb68557270fce940113680322da8193e2cf016caee2ea6f01e80038297a67ce9c3973e66c7b014aa7b4de4e02a95000259dc23ded40483a9197647b80c996bc26130194761e9176f2f25b034a1c3071e6cc993367cea6c673b2257002d05ef7a41328690748b6585d782a81493ba0d2ce73e27500201365dd4c044c1c4071e6cc993367ceb60e906c0998004c9cb5b3a5a27d9dc2363b04986c0f38d9924764a2efc2163c250e983873e6cc9933679307269db2743a018b2d7954b61b94ec6860627b3dec9ffd49029276de112743efcc993367ce9c4d1d48e904163a7951b614e681363fff4580c996c089fdb3dfe6335b436aed04425c38c7993367ce9c39db3a2032d17b137938b6e439b13f9f4e0040b65871787b80492720d209546ce9bd76bf67b0759c12074c9c3973e6cc99b36d032636f0f060729e1398c47b3059503215c06432e0643200a5d367267b7c67ce9c3973e6ccd9b68395897ede12576432d9369302253b02984cf47b11544c361434997338a0e2cc993367ce9c4d1e88747a6f4b60622291b66c12c7fc8b0093c98087c9867c601b7f77e6cc993367ce9c6d3f5899ecefdbe21999547d9ca904269d00432720924df07b2730923960e2cc993367ce9c4d3930f160cbde13af004c3c983ca975d245fba61a984c041ab6251ce3c0883367ce9c3973f6d705523abd976de1b83b0d984c064478db083e1c3871e6cc993367ce761c28d95ad0926de771ff62c0643260c2b32e7ab25e16e73d71e6cc993367cea61e90789304145961fd9e1230f29706269301291381966df9be3367ce9c3973e66ceb01ca96d6e1c97eff6f06986c0f5871e6cc993367ce9cfdf58198a93df85f01307140c6993367ce9c39fb3b051a530e4c9c3973e6cc993367ce76963960e2cc993367ce9c3973c0c4993367ce9c3973e6cc011367ce9c3973e6ccd95fadfd7f01060014af9d6bfa9d70650000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Backbone Basics\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this section, you\u8217'll learn the essentials of Backbone\u8217's models, views, collections, events, and routers. This isn\u8217't by any means a replacement for the official documentation, but it will help you understand many of the core concepts behind Backbone before you start building applications using it.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Getting set up\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Before we dive into more code examples, let\u8217's define some boilerplate markup you can use to specify the dependencies Backbone requires. This boilerplate can be reused in many ways with little to no alteration and will allow you to run code from examples with ease.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You can paste the following into your text editor of choice, replacing the commented line between the script tags with the JavaScript from any given example:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+\line
+ \line
+ Title\line
+\line
+\line
+\line
+\line
+\line
+\line
+\line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You can then save and run the file in your browser of choice, such as Chrome or Firefox. Alternatively, if you prefer working with an online code editor, {\field{\*\fldinst{HYPERLINK "http://jsfiddle.net/jnf8B/"}}{\fldrslt{\ul
+jsFiddle
+}}}
+ and {\field{\*\fldinst{HYPERLINK "http://jsbin.com/iwiwox/1/edit"}}{\fldrslt{\ul
+jsBin
+}}}
+ versions of this boilerplate are also available.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Most examples can also be run directly from within the console in your browser\u8217's developer tools, assuming you\u8217've loaded the boilerplate HTML page so that Backbone and its dependencies are available for use.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For Chrome, you can open up the DevTools via the Chrome menu in the top right hand corner: select \u8220"Tools > Developer Tools\u8221" or alternatively use the Control + Shift + I shortcut on Windows/Linux or Command + Option + I on Mac.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d4948445200000357000001190802000000f46d489200001819694343504943432050726f66696c6500005809ad796758144db376cf266059969c73ce3983e49c734660c939675424882425082849041104110c241113820822820a180009822415545004e4cc2a3ecffb5ee73bffbeb9ae99b9b7faeeeaeaaa9e9ea95a00585a09e1e1c1082a004242a323ad0db4b91c9d9cb948a60012d0032ca00080e01515ae6569690afecf636b1c40c4c617e2445dff27edffdd40eded13e505006409377b7a477985c0b8150064a7577864340068a23ebeb8e87022ce87315d246c208c6b89d8ef0fee2462cf3f78e837c7d65a07e6cc00408a231022fd00a05883e55cb15e7eb01e3c0e000c4da8774028dc8d0bc6ea5efe046f00583c608e5848481811e7c258c8f33ff4f8fd0726103cffd14920f8fd83ffcc05ee090fac1b10151e4c48f8fde3ffe725243806f6d7ef8303bee2a2826c4ce03b03ecb7782f829e0d8c99607cdadfc7c8f4405e171ead6d7d20ef0e8836b285311dcc79e91f63687780976282ecb460cc06cb7783c24c887cd84f08a6504f730b18d3c098cf2b4a07f63d712c8442a2bfadc301c7d4db47570fc6f02a4238468659ffe5fb47c5dafc952726faeb98ffe507128c89f1c6c3fc6c42248c7edb8338e7136c401c9707963785475b12ed248e351c1a6c7e3017c47bdf487d228728ffe913f57bbe44dbfca3fd6d0d61396c33922a3ad296c881e78864f30dd03782316c1b52ca3fd2f0af5c333cf8f79a86fb226d2363ac897ee083b1af4fa81dd1874479b6374197e85bd827c80aa00f082012f8004f100a96011730053a40f7e0ca05cb436199170803c1f019c945f9b705bd881e45cfa1c7d033e8d77f6570cf031e0800de30fea3eb3ffac3721b90083ec25a7d40d4dfd1502c2875942aca14be6ac2a70c4a09a5fcb76d78ad63ed2f3eb0d50fee2b7ea05bfbc0fa5858e3de5f9e7b406ae45f7cd0c7f39f1effdb267df01ef680df5f86d415a965a9ddbffdff9d31460fa38b31c4e863849199c89bc87ee403e400b21bd901b890f7909dc821e41d223eb0ebef28045842f40ad1c351c004f6a20f88f9fd2bf4ef78ffe5a5987f18071af0227879600df70a0541705bc03f23d8ffb63ae07f698981199ef0888130d7e49f781cd8851280bd2b8fd246a9c17e867d8c6240b10071941cec712d94061c037958fa6f14ff7b36e2c0f7b7b7637fcf25082cc2f30889f6898f86d712d0090b4f880cf0f38fe6d282774b1f312ea3502f09312e1929695940dc7b891c00be5affde53218667ffca7c96003804af63b2917f6581670068ec038031fb5f99800b00cc62005c7fee151319fb471f8a7843c33b3a25fc5430030ec00b84608fc80005a00a34811e300616c016380137780dfb8310d8e2387004a4800c9003f24131280355e022b80cae821ba003748307e011780246c018780b66c0025805eb600bec401044025140b41033c409f143a2900ca404a9437a9029640d39411e901f140ac54047a03428072a84caa06aa801ba0edd821e4003d028f41a9a8596a12fd04f04128143d021d8110208498412420b6182b0451c46f8212210898874c469c439440da209d18e788078821843cc2056119b488024473220b991e24825a40ed202e98cf44546228f21b39125c81a6433b20b5e8b2f9033c835e4360a83a24571a1c4e1481aa2ec505ea808d431542eaa0c7519d58eea45bd40cda2d651bfd0146836b4285a056d847644fba1e3d019e812741dba0ddd073fcf0be82d0c06c38011c428c2abdd09138849c2e4622a312d98fb9851cc3c6693848484994494448dc4828440124d9241524ad244728fe439c902c90f5272524e5219527d5267d250d254d212d246d2bba4cf493f90ee905191f193a990599079932590e591d59275913d235b20dbc1526305b16a585b6c2036057b0edb8cedc34e62bf929393f3902b935b9107901f273f477e8dfc31f92cf9368e062782d3c1b9e26270a771f5b8fbb8d7b8af14141402149a14ce14d114a7291a281e524c53fcc0d3e225f046786f7c32be1cdf8e7f8eff444946c94fa945e946994859427993f219e51a15199500950e1581ea185539d52daa09aa4d6a5a6a696a0bea10ea5cea46ea01ea251a121a011a3d1a6f9a749a8b340f69e66991b4bcb43ab45eb469b4b5b47db40b74183a413a23ba40ba1cbaab74c374ebf434f472f4f6f4f1f4e5f477e86718900c020c460cc10c790c3718c6197e32b2336a31fa30663136333e67fccec4caa4c9e4c394cdd4c234c6f493998b598f3988b980b983798a05c522c262c512c7729ea58f658d958e5595d58b359bf506eb1b36049b089b355b12db45b621b64d760e7603f670f652f687ec6b1c0c1c9a1c811c451c773996396939d53903388b38ef71ae70d173697105739de3eae55ae766e336e48ee1aee61ee6dee111e4b1e349e569e199e2c5f22af1faf216f1f6f0aef371f299f11de1bbc2f7869f8c5f89df9fff2c7f3fff77014101078193021d024b824c8246828982570427852884348422846a845e0a6384958483842b8547441022f222fe22e522cf4411a20aa201a295a2a362683165b150b11ab109719cb89678acf815f159090609538954890e894f927c92ce920592fd92bfa4e4a582a56aa5de4ad3481b4ba74a77497f911191f192299779294b21ab2f9b2cdb29bb21272ae723775eee953cadbc99fc49f91ef93d0545854885668565453e450fc50ac509253a254ba55ca5c7ca68656de564e56ee56d15059568951b2a9f55c55583541b55970e091ef239547b685e8d478da056ad36a3cea5eea17e417d46835b83a051a331a7c9abe9ad59a7f9414b582b50ab49eb93b69476a4769bf6771d159da33af77591ba06bad9bac37a347a767a657ad3fa3cfa7efa57f4d70de40d920cee1ba20d4d0c0b0c278cd88dbc8c1a8cd68d158d8f1af79ae04c6c4cca4ce64c454c234dbbcc1066c66667cc26cdf9cd43cd3b2c808591c5198b294b41cb08cbdb56182b4bab72ab456b69eb23d6fd36b436ee368d365bb6dab679b66fed84ec62ec7aec29ed5ded1becbf3be83a143acc384a3a1e757ce2c4e214e0d4e94ce26cef5ce7bce9a2e752ecb2e02aef9ae13a7e58f070fce1013716b760b73bee94ee04f79b1e680f078f468f5d8205a186b0e969e459e1b9eea5e375d66bd55bd3bbc87bd947cda7d0e783af9a6fa1ef929f9adf19bf657f0dff12ffb5009d80b2808d40c3c0aac0ef411641f541fbc10ec12d21a4211e21b742694283427bc338c2e2c346c345c333c2672254228a23d6234d22eba2a0a8c3519dd174f047ee508c50cc8998d958f5d8f2d81f71f67137e3a9e343e387124412b2123e24ea275e4a42257925f51ce13e927264f6a8d6d1ea63d031cf633dc9bcc9e9c90bc70d8e5f4ec1a604a53c4d954a2d4cfd96e690d695ce9e7e3c7dfe84c1892b19f88cc88c8993aa27ab3251990199c359b259a559bfb2bdb30773a4724a727673bd72074f499f3a776affb4efe9e13c85bcf3f998fcd0fcf1028d82cb85d4858985f367ccceb417711565177d2b762f1e28912ba93a8b3d1b7376e69ce9b9ce52bed2fcd2dd32ffb2b172edf2960ab68aac8aef95de95cfcf6b9e6fae62afcaa9fa7921e0c2ab6a83eaf61a819a928b988bb117176bed6bfb2f295d6aa863a9cba9dbab0fad9fb96c7db9b741b1a1a191ad31ef0ae24acc95e526d7a691abba573b9bc59bab5b185a72ae816b31d756ae7b5c1fbf6172a3e7a6d2cde656fed68a36dab6ec76a83da17dbdc3bf63a6d3a973f496f1ad9e2ed5aeb6db12b7ebbbb9bbcbefd0dfc9bb8bbd9b7e77ff5ee2bdcdfbe1f7d71ef83d98ef71ef79fbd0f1e1cb5eabdee13e93bec78ff41f3decd7eabff758ed71f780cac0ad41a5c18e270a4fda87e487da9eca3f6d1b56186e7fa6f8ac734479a46bf4d0e8dde71acf1fbcd07df1e8a5d1cb2763e663a3e376e3af265c27665e79bf5a7a1dfc7ae34dec9b9db7c727d193d953545325d36cd335ef84dfb5cc28ccdc99d59d1d9ab3997b3bef35bffa3eeafdee42fa22c562c907ce0f0d4b324bddcbfacb232b2e2b0babe1ab3b6b191fa93f567c12fad4fa59f3f3d0bae3fac246e4c6fe97dcafcc5febbfc97debd9b4dc9cde0ad9daf99efd83f9c7e56da5edfe9f0e3f3fecc4ed92ec9edb13deebfa65f26b723f647f3f9c1049f8fd2d8084af085f5f00bed4c379911300b4230060f17f72a3df0cf87317823930b687f4105a482514131a8b2125912275224bc3dec3612808f80e2a2c7530cd209d3c7d0523600a621e665560cb675fe5d4e4cae31ee5c5f229f33b0904098608b90a6b8bb08b6c883e122b150f925093a4907c27d5227d5cc64a965bf6a3dc2df9130a568a6c8a0b4acdcaf12a5aaa58d517872ad4bcd5c5d4bf6874681ed1d2d6c669bfd3b9abdba857a95f6070cc9060a461cc64bc613264da6c56695e6dd16d396f8db661b665b1a3b247daef3aec3801673217bc2bc561d4e14db739f7118ffb849b9e755ea5ded93e09be7e7eb6feda0172812241dcc1cc2194a1c8d06f6173e12311b7236ba34e4727c764c4b6c5a3127c12ef1f0147058ea9241b1d774989493d9d569c9e7442eec47c46de49cb4cfe2cf26c9083c8a53e25745a3dcf3cdfa1c0b9d0f98c63917db16d89d559f37326a50665dae5ea15ca95b2e7c5ab442e48559bd4a45d9cb96454d754bfda40ddc87f45ba49f5aa6eb3598bc335f7ebfe37c26fc6b51e6b4b6d3fd191d999732bafabf8764577dd9dd6bb7df726eecf3c18ef6979e8dbcbd4fbb8afe4515cbfefe3c3030e83564f4c860c9e1a0edb3e8b18b930fafa05f94bc9319d71a309bd574aaff9dfe0df6cbf5d9a7c35f560fae2bbb419bf59bb39f379b3f7160b168bc61f949718976696b357e45666562faf257e34fc44faa9e1b3c1e7f9f58b1bf15fdcbe5a7c33db0cdceaf971f267c79eeefefe41fca59128e4326a063d8f592745922960fdc92b70337811ca38aa4734ccb409742f1964185399a658e45933d8463858381db90ab8bb79267937f9b6f857049e0a5e148a145617211579295a2516282e2ffe4be291e4692907694ee90f32cdb2b1726af2907c9f42b6a28512add2b872a98a8b2abbea24bc0a5cd599d52734ce6aba680968ed688fe95cd7cdd5f3d13f64406db068d86d546c1c6be263ea69e66f1e661162e9696561ad6a2362cb6a87b747d86f397c701c777ae8dcec52ee9a7d38d12dc0ddd1439720e9c9e40579ad788ff9f4fab6f9d5f99704a407860539056b86088652c02b61367c3ae25b1477b47b4c69ec83b857f1f3096b89db47c88f721c134ae63a8e39fe2ea52d352f2d32dded845d86e3c980ccb4accaecab396db9eda75a4f5fcfbb9adf5070a9f0c299f2a2e2e2bc92acb3a9e7124ac3cafcca032a8e57deab12be70b946f06261ed8b4bdbf5f8cb2c0dbc8d22f03a50bcaadeacdb6276cde97af08d8c9b175befb68db64f772c757eed42de66ec16bda37a57f39ee27dee078807733dfd0fdb7aebfbca1fe5f79f789c38103918fd246ba87b98e1d9d191a9e72c2f345eda8ef98e1f9fb8f4ead9eb6f6f6926c5a74ca7c3df9d9db93dfb7c6e7a7eeefdea221a8e7ecaf2e82af59ad447f94f029f293fff585fdc98f832f8f5d6b7eacde42dfbef82dfb77e746f27fe54ddc1edeaee2d1fc45f025a455422dd50c26812f40666996485748e6c831c8be3a7d0c23b53a65035518fd2ecd3f1d3eb3104329e60aa626e65e9637dccf688fd364735673c9736d74fee5a1e139e55de4c3e41be1e7e37fe6d81224129c141213f6112e17a1143910fa2196242627de25e1240a252f290e42ba918f8eba645c6546649364d8e43ae53de5a7e4de18422a76207fcd5b2a49cacc2a07245554bf5f921af439fd492d449d4cb35e434c63513b538b43ab52db45febf8ebecebd6e859ea93e93f3438622867b8625463ec6ac264326e5a6c66634e693e609166a96af9cdaac53ac846d0e6bd6db5dd617b66fb970e798e868efb4e6dcec12e7c2e53ae2587cd0f6fb915b9f3bbb77a6879bc21c47bf278be82f7117f1f035f453f657fa30042604810215823842a6432f4525848b87cf86ec4c3c8ec28cb68fae8b73155b1de7102718bf1e713f41226138393e8925e1cb97df4eeb1dee487c76fa534a496a4a5a5879d70c9d03b299289ce7c99559aed9cc397b3933b73eae9e95b7917f28f15b814aa9c6139b35d345e7ca3e4ecd953e70a4babcb6e963faa7855b9727ee7024535578dec45c35ad74b6175c7eab32ee7361c6f245c516cc2377db9fab179fb1aee3ac70d999b96ad496daded3f3a956f857795debed6dd79e7f6dd817b9b0f0c7a6ef5daf46df6970cc80ebe1c3a35ec3162f45ceba5f678f06bfce4eadcf0cae6b76d62fcffd4c888ef048c020067520070cc00c04e0380825e0004c6e0bc130b80255c25b4550608015f80c00d014865f69ff70704d71131801c50c335294e2008a4800a5c33b100ce70861c05679779e03c680677c133300bbec199231b240d1940ee501c540035418fa14504062184304544212ae13c6f1fceeb6291b790bf5006a833a839b42c3a13fd0ea38229c5ecc019d620a922693d192b5901961c9b458e25cfc7b1e0ea29e428baf16af82e4a25cadb5486546fa9a369a868aed2ead28ed2d9d28dd25bd03f677067f8c158caa4c634cd7c948595a58bd58d8d8cad9b3d96438ee32be70dae486e79ee5d9e7ede123e7ffe4302788119c19b4299c29e225aa2026278b11df14f12ef25c7a4daa49364a465a66533e5e4e53ecb772a142a2628792b9baa48a9321ec2ab49a8976b8a6a9dd21ed0f9ac47aa4f6fc06cc866c4672c67626e1a6176cebcd7e28b15afb583cd69db7e7b9483ae6386d3900b83abe7e146b7f71e1802b527c673d36bc17bd267c58fd2df24a038f043f0a190a2d04fe1c6118d51b8e888983771faf19d89e2497547b98e951f67482948c3a6a79cd83c1998b99a9d931b72baad80fa0c4bd1c7928673ee650ce52395a7aa0c2e6cd6e4d5d25dcaacdbba1cd4f0e54afe55bd16ea6b1b37165b97da573b3f74cd776fdc637ca0f3d0adcfa3df6640e389e453e1670aa3a12f7e4ca0de904d56bda39dbdbb805f3ab2aaf5b1e5f3ce17856ffa5bd8efa77e0c6e2ffd5cd879bddbba97ffcb735feaf7fe418c3f095c93a3816b0edc4004c802356008d7193ce00a4312c802a5a001dc82eb0853601d42432c90d4efe8274045d0356818fa88a044c8229c1169881b88052427d21d598b5c4329a0d251636861740a7a128e7d390920f1271923d523ed2493246bc40a639bc8e5c8efe12c71f314f178327c312537e535387f7d4b1d47c340d3416b4ffb91ee283d96fe1c8338c32063181323d37de600163a96fbac616c7c6c93eca51c8e9c4c9cafb92ab9bd79a47801ef4bbe2bfce902ae8272702eb7223c2472137e8be589a7491c918c96f292d694c1c90ccb66cb99c833ca6f28bc56ec576a57ae51c9554d3c14ab96a5dea9f15d4b56db5b2747b74eaf5dffb6c16dc33b4603c6b3a6083311737b8b13961d566b367cb6ee7695f6d38e3c4e81ceedae24871ddccadcfb3c46093d9e0d5e99de013ed6be867e4efea901f78328823d43bac358c21323a6a2b4a31b6229e3c2e39f247227c51e1939269f5c9bc29a5a948e3d9194b19649c89acb493c259587c89f2abc5e145b2277f64be9f5f2984a95f33f2fd4d5c85cacacfd502758ef7ff95a23e3958aab6acd1faf95de50be39dc4668dfe9ace9b2ea06771aee99dedfe8a9eaf57ca4f2987b10f5e4e9d3d8679891ece7b8173563ee1366af83dfd64f7d98e19cb37c9fb27877997135ff93c0fad3af455bb9db463b32bbe7f7deffda38883f0a90c1b5572638faa270ad490758c215a61070147ef2ab412b780ca6e1e71e0709409ad06128092a87ee40b3083238ea0444316204498ff441de41b1a18ea356d04ee8a7181dcc1db89ef280d494748a2c0a4b89bd466e8f43e23a2822f0d2f81f947d54a5d431344eb44674c6f4560cc68c8a4cc2ccf22ceeac096cd1ec9e1cb69ce65c66dc663ca6bc667cd6fcee025182a7841a851f8b2c8b51882b4af84a96498dcbb0c87acbb5c8ef285a2a3d55c93ae4a48ed6c8d7dcd536d1498323d8a1df6d70d770d868c7c4c4b4dd5cc2a2c94ac2badd56c76edc21c409ebdce46aef46ed41eee9eeede2f3de4fd53f276031c83a7828d42cec79844be45274522c47dc74c2a3a4fb472b93ed8eff4cad4eb7cfe03cb99e752727f7946f9e410173e19322dfe2adb369a5d46535150a954fab7caba19a8a5aa54b63f5310dac8d8f9b929b0dae49ded06f4d6eafe9cceb72ea66bc3371affc81d34392de4b8fe4fa6f0fe80d4e0cc50f4b8e2047d75f2c8d8d4e14bc167c53f9f6d794de74f6bb27b3947376f317de2f2f4a7f085abab0fc7865650dfd91ed93d467dd75870dc217efaf96df78be6d6e9eda62db6afcaefcbdecfbf60f871feddb0cdb91dbeddb3b3f357fa6ff1cd8c1efd8ec9cdd19d925ddd5dc8ddfbdbebbbcc7bde7b457b837b8b7f74bfa97f7afb3bf9efcfab52fbdefb37f6e7f8818ff285f5919e2db0340386db8fc38bdbfff550000924200f60af6f7776af6f7f72ec2c9c62400f783fffcef422463e01a67c53a110d7297136fff75fc0fedd8b8677c4c06930000019d69545874584d4c3a636f6d2e61646f62652e786d7000000000003c783a786d706d65746120786d6c6e733a783d2261646f62653a6e733a6d6574612f2220783a786d70746b3d22584d5020436f726520352e312e32223e0a2020203c7264663a52444620786d6c6e733a7264663d22687474703a2f2f7777772e77332e6f72672f313939392f30322f32322d7264662d73796e7461782d6e7323223e0a2020202020203c7264663a4465736372697074696f6e207264663a61626f75743d22220a202020202020202020202020786d6c6e733a657869663d22687474703a2f2f6e732e61646f62652e636f6d2f657869662f312e302f223e0a2020202020202020203c657869663a506978656c5844696d656e73696f6e3e3835353c2f657869663a506978656c5844696d656e73696f6e3e0a2020202020202020203c657869663a506978656c5944696d656e73696f6e3e3238313c2f657869663a506978656c5944696d656e73696f6e3e0a2020202020203c2f7264663a4465736372697074696f6e3e0a2020203c2f7264663a5244463e0a3c2f783a786d706d6574613e0a8168915b00004000494441547801ec7d0b5c94c7d5fe5958d8e5be20202228371584286a12c1a488352a8df183562ba6e66213d3a8b1553ffb6fad6d62ec5753f37dc94fd31ab5ad6dd5c446ac26904b4513033146d1286204414540b9dfefb0bb2cbbff67de77775996e526a8a0333f5de69d77e6cc39cfcc3b73e6cc4d52525242dc710438021c018e0047802340a456abadadadadacac1e1030b45a6d7b7bbbadaded03222f17d30c01a9d9337fe408700438021c018ec0038b407373b35c2e974a1f94ce51a3d128954aae053eb015fe41a9e80f6c0173c139021c018e0047a0ef08a8542a1b1b1b9803fb9e6458c7842110220f6b1138f30341806b8103418fa7e508700438021c81fb0a8196961618c61e1c2d1033e010f9be2a422e4c7f10e05a607fd0e27139028381407d7dfdb56bd7b01c076b8f743a1d484a241278f008e7e0e03076ec58f443f00f466e439d465e7afa77efbda76a6818376fdee41ffdc85a9889837de2fc7bef4dfef18fe50e0e435d803ef0878ef6ebafbfbe79f3a6b7b7f7dcb973efd792451d46c1417f427d062aa8e1555555d9d9d9999997954a666d7276769a3a755a4080bfbd3d2b56b1f223096660878ed605c3182649c1551f0af67e880261b92df07e28c8db95816b81b78b5c9fd3a129ccccccc467060f1c1a17b1ad141ff18b4753bf18014ac0fcf9f3c5c6b4cf590de3884d4d4d39d7af9ff822a5b2ba896caced6d6d15ee8a90d071217e01bea3470f9d1e625020be7efdfac48913a1ed89e5aed1b4b5b5a129667f504f2a2a2ad0710606063a3939ddf715a0a1be3eefd83159699eacb5b52c39795458d8a889130172515e5ec9891301b366dd1f5a2036e1151515b9b9b9555656c2eee2e8e838281569a81141dbd5d0d0809a2c366ba8cc172f5e84ee8b0956a8bf08afacac484b4b2b2f2ff7f3f343643851110c0e0eb6b3b31b22e2806d7c89106188f073a7d9109b9d3b9d0ba73f6411b8e35ae0d5d28be7959f34b657c1ded11d0a7821b192e0bd4eab73b41af1b06cc104ef29dd451e76e1e8c84b4b4b1f7df45178e0c03f1a3ed16394456c34112836a0507a3efbec33e3dbfbde53585894f8d9d1b2f22a0f37d7c8ef85b9b829249af69292b26b57f3ce9d3dffe49c27a64d9a74df984f50fa6c0aa6b98574a4d5b19e06a58f86183da2f88b01008c85e88ad02f4275f0f7f7bf6f2a006417f5a1e2e212d85b54ea36ab8f0f3ea9ae0e7be64589b575e1d18f3f7df1c5c9bb77dbbab89c7ee595f0dacc4b07429ed8b871b88b5f5c5cfce1871f4e9b362d2626e6830f3ec8cfcfb7b7b747606363737bbbc6dedecec9c9d9c76734f424b36661d8090efe6fdcb83166cc183b0787b65b85fffaec13378f91cf3cf7d391a37ded31e6d1691bebeaf2ae5f7bffbd7d656565b1b1b1a8f350883ffae8a3a0a0a0a1232cb64a885fa29125ec17b974e912b83586f4cb2316eb94295330f0eb57c2bb1319c242e4bb9317cf6508227067b5c08cc26f8ac33f0db10db6a6094ccbd33b718c25ce766985705d6d6d834aa574717395db4a6eea8ea82e28278d8e34c41fde7fd104a09b87ed071a1eba766800cececef8855f6c1df016ad03be4338b4895002b03ded3ffff98ff876780bdf1bf7c0e4d0914fbe3c75362a2a6a56f493e327fa4b65b66dadedba768d16ffdbdb6f14ddfa2021f1c3c4633f7f7999f7a891bdd11b06ef51ac7056d65618f9d858d9c86432540684c0832a019b282a03cc811e1e1e62c5c8c9c981a5641808d6238be8416f16dcba5558e8eeeeae522add3d3ddddc47dcfcc3a6b053e7c7cd1cd7d6d06835dad72b2c3cfac685934b96b448a513aaab03436c0a8e1d6bf8d9cf9cdddd7ba43da45f42a13f75ea14c67550fbb00c203030e8dab5ebd3a73f3a7dfa747cecf8d25b5b5b6b6beb0a0a6e5ebf7ec3d7d72730306048cbd3237318aaa1d2a2ba6286f7ef9f7d3a71d2941f2f7dae8924d58dead21aa504367e7bd7e087237e373e78cfce3f1716defac10f9e043db487a8ff3d12beab2fd10e8ba37163aed0025d5c5c5064e053345e1a47f2468f31323c62a0f88b24a076eedcb9c6c6c6a163ef34e516ec4164d310ee7fa010b0a005a21faaadad45e325ae18c5b0151f80abab6b7f6731d0ee9f6ff9789cadc78de64b2dd4ac259d154c7eb07c904efce2255ad24ab43ad23516b58dac9eec291f9376edcb46dbaa9176de67affcc5cb26d0d3d3f3fe280cd18e55535383d6048d3e8402c8f08b834b3416901433296826d04702f0112346dcf6b87318210625efadb7fef2ddcdb29f2c5d2ab372b072722caaac53d52bd9aa226b2b6b3beb869a96d656e94f7ff6d3cf8fa6fcf786b77effbb55e3c7dd278631a80550fb50254e9c38316edc3818fce041b9c3288257287d34cdbebebee853513df2f2f2020286b172803ee6d2a54c0969a73d3ca5b9a939e3e28536ad2e2c3cdc4ddb3886a8f9e27559c82d1b4f4fdd8811ee01d326679f292042a7d498dd16e076fdf27ffef3d873cf0da35a6dc62a1acf499326a1a0c5c5a0111111414181b9b9b9e7ce9d853d0cabe5468c70f31d33266ce2c471e303af646557575723be5c2e33a3332c1ef1e1c241053c7efc587153ebea9ffda4ad9d509b47c8a5b078ab2b2a086aa2a787ab9be29965cb77bef3968ff7e887264f3653b9eeb9a4b08d7565098d331c26f4514090b16726f1cd8a11e0c1700e13e24888461e9f73cf09efc95b080b91ef49d63cd3a18080b916888609ce74c710b41338547d2fc1f59169547734fdb56de5b53aa546abb4210ca1d89783ffe2fe7bf133b192582b954df29bde3f9ff3bf5095e6352ea96da9d2b46b325c2f161616de375aa0081a3e36d1165850508010f4f4d804505757077811829645ecfb87664b218a30b8bf873ffdfce48582b8253f52b5d9b64954f5adca92d22a399193935cadd190525ad3a06aac6b0d081c3975cab4ebd7aafeb87ddfff6efe8587bbdbe0b2714fa8a1b6a36f387af42896cf3ffcf0c3b0094129fcf8e38f972d5b86ef0c7e7118003faa0d8c25e84e7aed7bee8920bd668a0ee6c285746c0b080c0cf8eaab9399972f7b7a7939dadb5dbb7933f4377f684a7dcaa181da8bf26c02c7499c5d6d478f711a75c6b6943054aa211a5343d73efcb0392ecec1d9b9d78c866c8490901068f6972f6786878763423c353515858b8571b366cd6276dff2f282dc1bffba943121387866d44c58042f5cb8307dfaa3a8124356a2ee18432d85fbaeb832e55cfaeca868256cdbaa46b46bd8f724adac9414dc924f0a935a4994ad6ac508b771a10f7d7af2b4227872bd4a8354ddd1bcfbe1b0cda3d28a1fa098bbd832438fc77cf7f809136cd83c16962f311b065e61608f091ce8bec62f145f37fcf865687cf7dda851a3d0f22326dcdd17a7d71c212c44ee351a8f70bf22d0a9a181fe77ebd62df43a5da5855e88570847b7d4f5adc51046a75da76e6f6dc7ac2f3e7289ce4a67a5c5af44229549da54edb0094aa5126bc284a961e4846f8b7413bc27b516eb8aca0b2d923509ac3f9d981e1433cb138ac37070e8dab13c1ced02ac803299dcc6468a6f0f73040881691070a1ab00cee2fc204286834cb7cf6356f1ad7ffcfd44e8a3116d6a2ba556259759abeb95910f058c1ee9061c80495d63f3e5bcb25c4dc5a9cbb9a101de51d1112929baddff4c7cf5ffbd70fbb90e5aca41a87be83950dc300e8d1c3912dd03e69bd061a04546e7a15028fef5af7fc10f2d015640180ba1193cfef8e3ddb1afc43a4292c95ce443ed5340395ebd7a4d6a6d8db562891f25b5b6b63cfbdc73b077c234f297bffc55b1e4275e6b7e6af7ce3fb505673521e136ae2364a346bb064f54945ec1c1150d182911f99f3b773d2d2d7ceedcee641f60787deee97465d0acb03b38ed802f3a3fffe6ace8e85b85b74e7ef5d5c4d0d0b8b8855aad757575ed687f2f597995cec7ff5b2bed17fff9142be4e6cf7f0a6b00b2b3731e7a286c80a299245766261f3a743a776aeceab8697a49ef90e0d07e942505321be998b163548d0d6e525b2b57175dabaa21fb6a9ba383abd748a9b55569654d437dad5fe0f8d3274fb869958e364c6732e176a0dedc9464656874d8ed760ca20a68aab189237334d198a89932797245b3169d9a97a34e2e9528db2558bd838f74f2e4c96212a30a287a60f7c557000141c494a628a44ad508050c4d017a87818add257d63c185cbaab13326f4b2a0025c41e42ea979c08382001bd4880e6a07b44051053433c2898f7885087dd74e50f5a10762b8842e9d2da6c08f4427b5b16a6d52e77d53dfd6a4d5d6ab8bced548b5d6da31e5bbbefef5a1b37f7ee7fc4bbf3afefda286abb09b23818135e1af32772d964f1bdcc2845c52162e5ab5b4a253a421fd0000c5d60456529ca8d0dcdc9271e9bbafbf3e85461fa34c38608b571835c23a887584c78f1f47dfdf49245310e6bc96923b5c1773609df87fce5c9cfcf0b496266ad1b4cbec6d268e1d1d3b3bdc77942bc6a5d01594ca56273bdbef4f1bf778f8b8c67a55794563639346ad764cbb5874fe624e274cf020c0b23631d710ae4c58b832f38e623318750f3a1f0a1a134662df005b02d441eca94435801608b569c28409a3478f46030d0b044c8606e93aff5516ee5fe91d007353484080f7c2215823ae5dbdee1fe0ffe5975fe2f35fb17225d6c8a3cf83808f3ef2f0d50be71a17bfd4e441da4cd294dcb452ab6c477ae99c3db059145d22cc811809c1f09b77e8905e6665ee4a430bd0f1774e82529939c7dbfbf64abcf2f4a2a567582ba2ccddefedbd7fd06b0ddab182fc9bae0a45754df5d7a7befeafd8b8f0298fa49d3d6f652d757256a89ab5da8cccdaaadad163c63fbfec455c5b9692f225e042899bb57f46043a9ac1396b5372eb3bd706cb4ff5a7f7cc7d2169eaac1972523129ff96897846c12da7b9dd50c8db5853a3d291bdbb87baa1519992d272ecb8f2e429abba1acd682f6b5802b59a3665abc2c9a94d6a8da54765c545acadb72cadc084b2f0356fef3902cf7d634a797ae90b6291263059fb5da46881f1d1a1ad3675a29e8a01aaad8de4e44de91f52a507336dae544b61d107ff788b5a0df32d1e1107bff01bd541b00d014da9317f6bd1c7af3ff2f8e3df87c300ef914736e6b59a4719e073e5f9156b2e54f54a04c242e4be61cb63dd870874d802f1418a13c1d0f9bef7bdefe1300bf45290188b54608ac0615758b18e0888d6970582a879a8f76ab54eab61cb01adb12c4447cae6b6fcf4fa9a82e6965a8dc718ef76b5f67a4a45598edc6b9c7d9bfb5785a4f6f4771da3f3d069302eecac020ac8a39e6e3e7cf6d9a91ec213ac1eb991746777901426ae9cfedebcbc23710334b1882d08b440a0c726ca6beb736fe4410bb4b39562dec0d9d9253a7aa659e5c2e012dae1a14387b0b5d0f41503e193b3cf06a90e6d885afaeba903e7cd94f8ddf1b7b6aab2726ea61fcf9ffc68b8875436da47316bf2f8b19e2eed1ab5b29dd5131889b18054a38676d412ece35a3931e01f1f5ef0f274945acb159e638f7e79c977f4c8919eae66dc1e5a15153b2d6f966fcf65a54c5c19f0debc9347e282cc92f7f3513ec0ba07d9ce9f3f8fe562982d426f0107b31fb440cc11e3ebc374215688e2adb5d45ad83e25319e2f68c6677d56d286a48d67f356fbca9585b9451e3d4b6f96f8ce3fc210e23d7a54496929363b2f5fbe1c42214ff49130813f31774e526252764565d8a6b7ed57af97dfccd2044c3879313dabb842e365e555a6c576ca02a2d2c71e9bf8f39feb3995076dcbcbdb868786aca5e11bd6677c325598288609f41f27cfdea6ecb2c85062a8c97d624f9e540d3a7ed81472232f7772f894cf8f278f1f376ea4978fa3a3eb271f7fece3eb1b34cebff55665d3e5cb762ffe0c0b026c1ded9efaafb87dfffc475969d9286fefdcdceb6878f5829bfc31b40094fcf6f4a55153b34b9e7331796bd15b5998445b77c5cd62755e1974f6a44a68420d825b4c727b814c9bd3e9dada356d1209a61825cef64e81fe651f3025de73c9a25657175b89aeb2a6baa2acc4d64e5eab52d5b53457575521490fd9d5a727edc1eb4d7b729fdd1ed4b7e2718ea406a1486398acccd7af961c0d353e4f746146ae04b1f44c6a7556b303a85e2949ccd29d2e94ecfa21543f18bbd94227687e62532f2614538974108e47139a8d07a37ef8ceb8951f1c8ff773c2b6b0c6d29ba5ae3626ef8d790fc0a3b599324e27ed95288485c803c887271dde0874d802618b124581b60715100d10f43f5105c42302c5b7c6683dcb8d8a85085a0ca8da755a89a4b1aaadf06c4dc6c1a2e28c3a7c0c63a638c91da5360ed6a3439d352ded37bea92df8bad5aad6819aacb56d50012cd306071ebebe309908ae531c657de66bb00660c8f85aa2208632f9b59509a74fef58c802b72467e69efe1bf379af3c5d280e0d2b12f509b6648a090a9357ae4dbc90d2114d59983c7d55129d5915e03d273157a92c3cbd56c8c27b65627f479730f0959494e6e6e55fbb7ee37a6e1eb52927fb8f8a9b3f2b62c182c869c176322bf4f7709829469f816365e060fbc19241cc257592938881e0e22177099a81ceeb0c7a04e6ea331345d65e4b64a37c34f5a7f7eb4d06e05c0cc94cdc2120e0bd704b6285105698f89ac17ea64c5ebb5088a94c796de5fe941436f8de0fd31a26924440809c287557dcfa0d4b5171d5c54bf90a77cffcbcfafa46cd130f8f0ff4722d2f2ffbec3fc7be3c7a24edcbc3e7bf3afcf5f1c3dfa61ef930f1e3cc2b3953823dc78cf6ac6fd64aac6daca50e85e5ad57ae9aaf16108158fac2217d251664664074ae1885296f08451ae5edfd5ad2ce95af89e6c3fa0b2bbd17a60815a3fef4df56ee07864a0b70256f792d212591419360520194a848421243967dfb8b6e233e3e1e9b42706e08268350a5311cc757b662c50a4c2d61f50576845ccfcd85b51823750f0f77c4b1d89a3734a046e4623e186a8c6f90be97447d102abe370a3bb39e31ab2c4c5cb8565f6f8de55ed859a2facc6483a56dad506b0002a4859b9368f848f6ebbf013142efa2e2e0433737d7ab3939684930b0111340103402526b29ac2055f97985c1536ae647484e159e3ab8efb3169dc39a8df48b3fdc98fdbdbc49930a9f7ffeb11d3b82274f36e6a4fffa9da1f960b5a4fe89949549bfde5f2408dadf0fdf48595979e6edfde922585b166e397d418fc6fed36265eb828631658f9eacac2bb012555694a994ea279e98676fe76c672f7bf2a9d8a3473fd35a51edf1ffa87cc734594b6baaaa2e65643a3bbbf9f9fb7ffbed391c9c75f6ec39acdaef4a1be5edcc5a00df5931afa0e81bea0bb72c7c2d2505662feffdacd8ea9377e88b714b22b383297313a3d665d10656e7f1be327dfffed3459dc976110d06e67e16b491200ad7157b7edb5437cb2bc1bf4be4c34e63bc1d47b9bbce78144bc571324245457948f0f8f047a66949e26a6fefeb3b1a9d843179178f3279d31bb19b37c7d2a1847488ce9cb102433843c385607dd33467e1ba5567982d196fd3f7ef385d84a6bb534b8e8fa167e9f025a2e1c5776774a64a92cc567aa1d42abd981ef2b68e0d95ca6cd86e7f38e427aa80e8fbb0bb44a95637b5b4e01f0b15ba341031126ccafde61da277b63f3d5a6e85402b2bf9687f7f397b5df3e5dedf460aeecfc9579a5848d3976ffff6e373e7fe2504fff65fe784c0b65be70e3f2b44fb6d722e8bd5d6742579af9870e59f93cb84481a9cc6088d5cfff66de1edb3c9576a84908e1f08cb6d81acbe3ca8aec316281a02451c442ba03812850a283e8aaf4ca3f5009ad8d0ebdac80ae31f9deefa89f2fa72a5150c3fe10abf2976723b69bbbadd4a2e99f0845b4b755be9e586b22b8dd9299523c638da7b4369b44c18eb59de7d7b4b65a8a74ae511bb3cceb72356c5db21736587cf96ccf080a56743f2b45d311ee817d62dcadd7932fb6cc5a1e98be6be1bbbed6c76c6854de19b525ef9fcb9b0d35bc257c90e9794ccc84d5c19b521396f570ca99449875625a9102d3bf7ed9045c9af94bc14fdc9e6d0059b169fcd7ed6c3459ebe65d1a1e8c3259fcf50d62bfb362265fca15fcfcdcd57ab35b0e5b8ba3886054c19317ae49576d9be7c2a4da32f2be9b17afbb9e3b55e8d4da2f913ca9fb82a1cfd9b3894ec9052f00184acdcdcb0fadcb737642ddf398d71527f3a64eeaac31979339c8bd60644254ecb8b734e5fb4e1d0e1ec92193265bd60e7a83ffdf6dc55e99f64e44d736e48581a1efe8667c9ef67a85459597a3592eab3f41a657d65d286a5b9b0ac6cf4f160a95e7877e7f18c9820675503339374c52d7d7fbf61c9bf55555cde5457df1e18a450b749ca2b9b7cddb1b0daeaaf7fdfe7547762fc48a59b035d2db50af4d2ee3a17f6ef037fd169dbc282dcbe3cdb62632bd7d4b636e974b9f955b3bed709980a5a7cfcecb39ba62fd8903863579c8fe15dd78ab17a73e89e43b1870f2f9faa4a7f63e5a20b1be3821ad293a0ecd385ca59be1e299b36856ecdb60c97b268cfbaa51b0f1ccfde08650bfd28961d294f6f095875665bf6effbbd840b1d83b824141f14ac80f85e1002d5109678280de3c78f47d3dc5c5fdf5cdfe03ec6d701cb911c1cc48a61104dffd737f2a5cd91d3e7861c5abeedf0faf819cc2c24d487ad9f9c3d32cd233361dddc90b7334a7eebac529d3944b49da53296bbca54a2fad301735f58bef3785e4c10ba04991c6450673ccf969478e42606446d9a56b2dd397dff8643b119259f3bebab959e871efec0e08d0e122670287cc66857af5e851df4a9a79ec2b2fa821bb9756a95db4f56557d9ed6346b8157d0244d4bf3d8a071c572f9c2850bd1a12239c0117b5923852e1e55ca99f46821b4df1fbe9196aa1e46a76dbfc7b3aae8ccbb8b162cfee46cf6fadcb7a316a52c2e794ed5050d93f6c748c282a7aeae362020b0b4b4ccd3cb7384bb8795b50d543bccf55fcbbd9e7ce050c88d7cf5e2f8f68acb8ef62a0f0f2cd26f8e881c5d5961edee2155b87997945c94c9dc478ed46bcf2275b4000dca066545ee8e45efd2f2c3be3270bb6769c3c69319d93ece7254c817d2b79ecddbe5d170615df8dc373c337e3f2306edd806d566d479146b5145ea1955bc29a38352d0a604b50a6f657d63fa8ddc8783c75dbf55a89c3659dba669cecfafadadf21d3dcac77b9493bb3bd6375cb97a45e1e25ea59135a93bac6ea674e08702b72e2bf2e44b2f29e9d0dc4d29eb3f8f472b64acc088606cb82eec085f95b52d232f5e5679fa85e949229d8ad443aaf8ad72df4e2d79fde95eaa31f423686ca87546668c7ed4438995749ca7f66733e8e1d1d6321bd657c16c28b6de4d4d2d4888950f35559555c525d6380bcacaaaaabc5ce1ea8a68a6b6c0d2eb5f53d08610f6dd1b33619e8cbfceffed95ff3e78fc35b7a62b5b7ff4e25f5c3f5c1deea8aaf9f28f6bbedcb0f3e0a7cb729f7aeecf3f59b027c8b62669cddbdfdffee19e70472c200795a68c7fbeb8f9cace0f8f4f746c4afed58f7ef817d7d4d5e1ccc62a182085b76e075353dd6e7d39f7b93f87a46ef032c956544f4d02b8f7c142a0430b1c5cb9a1c460eab3bd4d6b85a3df48279359595b5b6935edad55aad66a1b2b0fb667d81aa7e6b6e994b5aa969a36acacb0915bc99d08b17a981f088d9c1119e4dca09231333f1bb60bae22eb5da2c8e4fd3bd25db29228696afd2ef2a05cda78fc705c900bf9c06816b96d5b3ca60a559191c49499c21421c18e1de99850a3a448da053a50883666ef8a473faa0a8d0c65d1e42e1e4114ea0115100fbed396d30b8bd67aee5cbd3826489f71ef7fb273ae8e1deb3f333acadad1f57cb3644b0e657f44a515b05191a28934523af91d8d5c2d59326b644d5d339a094c058a4461fb81468810b33c30c67df7ed75ef6665d12b874b8469cdc2f414c4493eb4279d2ad0d187c21ae6e1bb9c68d1a2b53b37af8e99c198cd4a7e3774ebf1696cb9b43cf6cd6deba20e156e9c614a1964f50a2170fbe4700c70c3483a19ddcc813861e13c0ad4226eb7014b4d0dc6c81a65ab2eef46c3a3918136d62a1ca18c3909683f4e0a774785cac15ee3a4923b28248e4ef6d00360417075d4da4865d856abd149756a5d9d60df32e51fbcc97da7fde3f02b218ba29e9d912d1357c05ba818411ecee4ece1c98a3434966843ae3236f7d099e5afc4ee79efc2b698a077b3627785ba64bd61092e5505a0593d4b50f894e44949fbdfc8dd736673c6e7accef4d76156146a1fce82494949c1d240ec11f9e73fff092d1093c28dd5d537af5e0b99119985936a2fa4af58b7f69be46354535b909f0f4391794672df978ee4cd4a3914b574d19e75cb4fe6fdde392b9968dbe2694c4b098b5d1fb92e2abd707db47932e1d944a2c23348b5fca5b830564558590ba54f91493b584fcbcc8d4a542b2c4e7861e95ad9e6d58b856a659168a74098b7d145a9356d58469294f47154d4f770e6948f8fcf3767ceecdbbf5fd9da0a1b2170b8a2d4d01fb6fa874e1ed7da72b320dfd9c9e97a4b0b20022db359b64ed42d3ef4fbc3b7400546a7c3d9dba7b99052152abc56e20b421b638a462f4b0f0c5471bc081689610ac5c7d7a7aaba4e6a2d63c7e359d1e351df3bf2a777fca6846b486bd75ee13d7a74bba6057b6547fbf86a26e248119dcc7a626151c195cc1b665a203ed54d73c337a1b4b61ec87e6e066c7de0f693c3abd9274b856073ebf1c58c37f9b4f5db22a3de4bdf3823c6053bac55429d675c99edb6b620da6d14b4282e8a12cecd493e7d4af8b1a4235e0ffd8fb3bdcc2ddc458e33c1d46a8f09c1f60e8e1227c752a263e9574e1dfcd74b2f2cf77071b0b566b3a52205b3dfaca45514bbd343a96c98fa2c6d5a975a181bd3197743c35591fc06048f652d9cefd46743d9d62213d7a9254753de7335c667086d0fce48c1d48fe3ce42bd3a5ea181c28d00306c6316272733d95aeea2700e50271ff5aca86667e16ab58fa93557d1d30953c6463a120976c0cb980dd19807f3949efa17adfffb0fbce556240ffbe96fc29ffd38fbe5a98f4a6ed14fdef9ecc9302752b585932306cc56564e5362e8ffadfd956cd3fa98d9a12072e3d4bf82d6ff3dcc9d15fcecf5bfd9fa6c72f9cb53993d85c56ec35ba2f0940f24d4789de856338c8f00cee0400e221b9ef8df070e810e2d10e606ac551701304e04e351b4081acd8188d61790c4af5aa7266ca6b2a2f671f3dc47de52167f57575bd45853d030c2571ef2fd11ad8d9a731f5661d1b0adcccad9dd7674a8a362942cf7bb1a4d1b0657baaef5128dddb3d322c3baac0d112ea8a4c5b1f168b5713aff460f660a824ee3ac3f734b6ed6ec896f6317c7c44ef354c5c4c46f34a894a11e269f862025ba4983f38df97df6c998433b364585c0f0563243d4330c6fbbfb0b53bbb3dcaaccc9edd157c9279fd432766aa29d35d948496d4bed56a47221993506737deded303bb5f31f9fc7d4ef0f98bb28313e2f8ea10159174370701413f39c878f1c7383bfcfcb8e493eb46951d4aa8d874b564f65050b3b80deb19653aff3190456a1a3171cc3cd451f2ac431c430bc35c3ed3660d1b4a35290b5c65add42e5a5aa86fa66b5873d2660b0ae5adde250df206f6b8535cabeb24a6327b7c5b81c5631a5b2452795595bd9b8baa367c63a033604377338f7d465c6fa9d8bdf5db472536c830ccaafc58ad191ca25745b68d6a143ef65252dde95175919b0e9d021cface5cf06c995b9ddc015ca26228d2e54864cb2d2732b949efddf8d08951743f0050b16e09e401c298786f8f9e79f87fa251afcd2f36e14e75e77fff7a7e1e555e91f9f68981d3922c0ff726a2abed04926d3a30656e441b39e2bc99bba36606e42faeae750d8a2ea62782de240a186a2547574919d25eab44d91957eecb331b161c43e129950ad62f2b24f261fdab1282a64e3e18cd57df806507a2841a915fa18b1a7670507799f8f8f7fffffdef2080c58101b8b2583b85a63949f7f557d9dbd5c0635025384e8bb105354040d72f4e92fabc0fdf9f0bb211ae969404b8cd0158d6e129a07437c8c87a10a43b370b47754a9db1143a3268583cb33fffdebb676c9f5ab97702e905ad3927a21cb5e260bf6f3b95556f95080afceba55a7c58901c6c1ae9e3238d97a3cef39a6ae1b5da4b1e4cc6baeb8f8c318d192a7ab6872df7e17b491306ab2b30d4d7f64da8df3e73efbbfad6deb7f3575f40818bc6c89b0ba05ed29fe7d732afde49fff77c19c278a6fe55f3c9d4aed6c5fbc9142874799b9e70d3cbd1b92b42a148ee8eda4ac98d5c23a6943e9181a2ed6a075b4701d240c3e9396bc57e9f00dc299b2843a0942e8d4448f4814fa1f9a26d8b331c2c162c1eb57ce8e753b5059eb786997d7dceb852eb81cc8d10e694637a9ecaa6bcb027daa5d5c7020a898d67bfc93947b20af794ea8938143f6d7aa9949819c191a563209d53264b02cc0db9d85e2b4452896ecb5955de4ef4e1c98fff5fbefac9cbf7945d2a91f371b52b2844cc56bd32016d816a2b781fdd971514f8c237554d47c5b2fbb4e708bf2b2fcb97b2011e8f8f6d0348b08604e0a9a9f38110ce50f1e3c8adb8411c118ad2f7031eb387a7c28825a9dfb1859f8532343a2dd4606d8d514aa1b2a34aab2fa48f72bf18f5efbc9e3394ba32fcf743b33b1293558d3e8602377f370c3c15ae8264d7381965359df40685399eb7823f70ddd48949aabc40914705d54b98e98069f2f56d424a556380bf17d8c090c9a90211ac93c4329ab81b59268bc0a0b6541335edaba2b1686913eb4ad22116717e7ec9ceb2e5a1a2325eb56765eb604c7a8aa49d642f68de4d440561a61108cf51b260e3d07ba8deec6c72a95521ef6dc271b435745c19485a16f0cd1a142a587280d6b1e9515850db219712fedda194b6f60bd9b7c6aecf2ac75c2aa21529ed9bf8a162f1675e9ac54ac1c5262de701d5a1f91e38e5ff954c0b46793b80f51580f6a01b7db80c5c9512eb7b5d1b4a3b592e2fe94cc6b652dadecca26b5b239bfdaea66dbe86bca804af2be50eed4ae6c64e16a754555dde409eeb3a303c7f8b9b636aa6dbb1db9cae36010387328294bb0e55aaa182ebe74a641ac3df219af2cdeb36153c3e6484f79d0bcd8331b36246d7b6e2a06d3ddc1d5810debcc9ce37fbbebf8d68a45e10b4e770c164ca3f4e4877e03732f8a18058d6503b018a12d86b0c2ec12fd60ea34eff73f9ad6a28daed24d39733a647bd2fe1d3b3e4c4dcd3a7b0e714c2b467d616ea1c1328a8aeae92cf39d1a4b59ebf03920fbc233fbcfd0e26986c2c6cab98a0b09511bb282ba14b6508bde3d9482c5a0305483a250fa49c794ce3eac5ef978b07056ad82e25edaba3392929805aa77873d93d05c212cee0b898b8b757555b0342ab52c37ef85a5cffc70d1224c8b8ff5f3c36d13e5b76e620dd3952b57707b32ce9181bdb077eafd8e61a1027747c3a48141140b687497d02c5c66678725bf3805baaeae5e6e67e336c251347b61e087e341b0a88c7dffec282d2c94c4690adafc92727717271b5ba184706e5617231970ef5eddf15dbc98d6ed4865cc2b7313569d59fc92b068c48ca74e8f1644bb8d82164942498293dab0d3f3e6cf8cf26cadffe78a9f1e48f8e8587ed9e775ea2fead49f67ded8fff69f8fac5f35353060cdba75f804def8e3d6d494548b474f14a6ee49a26d79259fa32ff8fcf3cf0f1fde98f5c61ea15e539786cb636a24addb9f8a8990c20b49abb2cc5b33d396bc57e9f0251acd8182cac57e20204413c5c4370886b16e1b9f2d3a297cc238f25fd5f485afc261c2c8469bf2d49a519eaa107f4d8b525d56a37d327a6c49c51369175a4b4b8dd4ecfca73d43b92fffe24021b3cb41d16b2bccc8a86d1b3dff497ae3c0b782ea5778f4f58b4fc63f0485cda0cbb1888c0d214179b9c67fdadc5ffdcf66a213b56d760fcd599cfb4652a190f252d2ebf4e47c7f965230055ad93d34f3193a71aacdd9db1fcedb9d1130711016228ba2f1df0710818eb2c74c0d8e86c62a25f449e28e60110e28823820068178842110d1fa0e13ebb0d4edb0494bd895a96c20e53dceced347ee138c5381b50174e9bf7e48b676d4ae66a749a38697955040689c87eb580f57abe464158659e8128cd9a15ddcb4804d853017b933ef80f18c2fcfe5199fbc113ed71bba0cde6c3b7924de47863910f6a477a6036704cd589fb173437888f72af61aa48ec4314f670b0a02d0a1c6d28210ef0d585f486fb3bd22cc2ddeb6b9d3405c08ece6c76ba4d7b717d27de5ea79a36c4ffd9bb413d902129803e1a42a922a495d890f154d3d3bb109f8c0879611c70a2282f8684618aab0d8834f5bfd8f8d6f4c8f7a2336eff7b3323ed9163e3744909eb69dcc8b959d9e3e5d100d53839f6c85ecf2591b0f6f5c1a15e0cda8456e3c796016fefacc581dba6e69401202b6bd122aca46a6b8c1b4f6c9d6ca055121422a865217dc624ebfd16f587c47bbddc8abd2b6354ba424d5599797e29ee5727b7bf9d34be2af5dcf4d4c4a7274726e6a6878f8914796443d8ec6aababaf2469172669413165d971c6f90b46bfd7cf5436ac6989993876dfd6473d2827421b86bc5089afaec565a30d77bd3e29379db836640a53ff40adb3b299f16bb9c9264330485c9d3125c0c77932a8582c05024ecb90387554b1785af3d9eb7bdcf9582b1265ab9301d2c2ecac18930d084b01c49d2d4bcefaf7f79baa86692566a35ca835adb4af247368fb0fd5f1bb78f70f7804482fd43d8568c4a22ca5d79e1ed287dbd44391e78360c63b959670f6c9e1e152044883c70f2009b1bf699b131745d54c02144dada51d82612b9cc60b568411433be50ecf1bc5d6133d61fdff6c6dc10914eecc9bc5d741a791d12c82efee41f00ad77e7e4e854575be7e0609f5f901f3251a8482a356566924221090c7084c9020795e97458b78e1df15555d5adad384409770d636770a7150bbde684e2109d69054648ef1fbe69b11a5a002335465308c4b7608686a85a8b99f6f0eb31c2bda2a212c7acd6d454d7d5d63436b6b97b78d8d9db624784a0e0b1c3f4d9576f633f29c80f2bf96f9657553734dd28299f1e3a1e33935d291b5b00e32b536e676c3db9b9e3433f7020a6cbf245a3bc064f57d16ea3a08dccc08313019d1c1d6884dbec39738adf7fefd23f765e494cd0d9da411c176b2b773bf9c2d80585c5c5bb77ef9e1c1e8eabd5727372703ae62f7ff94b5322588890f2c2a1570e6f3696a00b0667f4c6fe331b375a68b8e4316f1e888c5a1ab207eddbe248032163653069c9f3c2327ba9c6f8364545d040067d93be20a0f06191037a4978f0560cc77590a5c5597e233264de6b64da9231b3ff2ffb50bee7cb2fb5571f96454f6f57b8345dcc1dd32c918ff6b69e3ddb40d3e7e75f2478bc19fff43cb61a89b971ab3efafb238f6c4858b7367e9650f7a7aedabe7d968f35d630399186cdd95a63bd14f43ae6d354fc6361fc6742baf9afbe17626f4d8faddeb96aedd3869409db1f4374acbc17532a1ef9d97bafbefbec3cd6ec13cd4938f9073f7dfbc19e21acd81cb107ee1e3c0424186619a5eee1d468c4415dc119667d3c355a181e356cfee4e5198b317d678b2fc69a9d9a894aacc5fd60563692f2bc9689f567674f225c3124b7a3e262b2b5a1bc1ba418b13cf27b7f43767ffad35b73e73ed52fd3a360211416351945ead1235a147b4bc062e9e3f437039c79d6da7afcf3134fcd9df14571e89f5f26b59bd6aa4d625328b12e21cd04b29e405acdd9dfadaa8d7b726ebbe1e86c287f62e372f6ecd9c4c4c45ffce2173d0a617c69ce9c09df8638e651106e219621b6e16f9754428001133d0d934743baeefed6d6369f399bfba71ddfdadb7b058cf719e9e360abfd6e41cc439830494b4b3b70e000541cb4b3b85918bb6895adcd172e5db951eb3df5a1e09bf99509fbd28202b5ab57448d1fe7d51dfdaee1e612f4416846c43c5957c2b71972e6cc99e8e8684c24a17ae0ab8022087b274e5141d1abb5da2bc73fb7fbf9ff3c84bbf2349abcbce25285cd63fefef567af27b9b4d5ac58fad0a44918cfc384d69137f8c48498b0d1b823d052c922623f6abb48cb1c04f6dc1b910e2e704c206ec8f5f4f4a86fa8ffc94f967ae3a498ef2e93ab1b05f88991a000812274418c36712e12cc8e582c585b57f7cc33cf8863a10e5a83e71364ea87141d399ba3d1f1a63b1f8efcc43dc221c12125a525931e7ae8e1a991b6768e581421aa1a9800c8ccc4c52a95a161634021b7b0105d3ccc813853de7794a7b55a9d9e7eeb9147167447bcbbf0feb3d9b5b6331a7d2f682327d0ea264d9d6e2db397165cbb45d615b83aaf06ba6fa35a89f31f75723b7b072767684fc78f25a77d9d121810e0e3e5d5d4da92959dfde31fc7bff4d272239dde3c16d9b31868a464fad6d46f8ca0f7a0d5f5f3f3c36a5de30b6c6fcacfcfc7999c58bd3067ce1c51051447e928afc626e5adabbba6fb7d201df567ebf69b953777256f680ab8e4342dede3b6a39f57aff87fd6e468e360fbf15391537fb9d64853f4583c355ad8b16b1ce899a5e878b410cd4250477cac03c230b62b5d98de0b0a0ae2e20453884974ee7d4010e8b005426051c3832e883ed84c7e5801f1568c60f6aa8747765c8ca6dd4a0273209607633cc5663971245c3bb651a974aa56d2b28583f4e5696a69a5f0f1545b4617cfef69a8b3c27c485d9d6d1fd7201a19e86f9bd5b7f826b14cbcc64c7bf64075c62cd8f98bd973e785eeb126bb5356ea31e43a9fa604d3f86934f3612a3adfa456b10b96bb4e725ab405769f9d3973e6cf48d9b720f32cbaa4320f307f362760f6eceaeaf0e82301ee1e976bab544df5cab17e2372af29be4cbd18393dc4d7d767d3a64d101c49d04e579497e55ccbab6a523c141078fd6acdf9f462754bcbf7a3268f1dd3bd2dd02c33e1d19c41f3674b6910d6c768dda4ee39189d0756cc41454025876d0f7d27165d606b88d798318e0a97b65b8dda5ba70b485116a678747c90f2fc8d8296e606525d389336c2d515278a77220e3ed97e0e336721cc429059a2ae329ba7317f3627d0f9392c2c2c27e72a7a1fcc7ce3e6b4d819910ea3bcc8db1bedc077df5d467b82831fd12de152051cce8199d3d2d252b99d1d70b8732a2018ec9f0ca612f53f25b67be332cc9bb7701fe6882bd957c6faf884864cbe9a5fe8e0e83462842b742451a580e95fad6ac1b9c3a33cdc6436365575f53e9e234a0a4b019469fe7df4f79fcdaea0dc0e0d91bdc6562d963abb5b4bededddbcec5d9c159e4dcd4d2dcdcdf8ac05ab930d8c028f4c8fcc387ff6f2e5cb287a14f758df31efbdb71f572affe8473fea9b8c16d9b31868a467fad6d46f8ca0f74041c7e709677c8161b9596b2c3e0ae1d292a22c5f8f4bb692669d46d9ae2ef118a9f39d6355ea1c52f1ef8f9c643656df8f507f99ae6db1c600cf94a648dcde5ed175a57d1f3b3e0bd12c04198510e6f24c9e8c5e70c56d8146341e404f272d10f2a35d868902431fac03137541d42b18e430118cf07e0184efc44de2555f97efee66ad25580171ea83042b5f708c20fe4a25a46ea376251dfe14fd3dc5ce2117277a3c9c9aebe89384bfce7ccc4ae1bae13ea89af8c0d0cf9d3e7336ee4714bf9946c868e23880ac71b6a9cdb97cf9f4e19b274fa5e1c868d884ba620b35e83e40a0ab5c08711fe13477f698bdfb6f5694368e0bd1d8588dbe74455359757ecaa451aeaed82a21c502a9e6a6d6ab39b7ca9bdc1a9b46dcbc5612337ff4856fd55e2369ce13136432b67b74583be8b99876c245d2e88e70520c6ed48007df9a23eb161cf2dc6db2ab740d81f69181feca8cfceb85d5352e126bb9ccc3cbcb01972eb09d34c3030118541e7df4912fbef802f3ddb76edefcb0bd3d6a66f45861b543666616a4c0d7016d38eddc3998817d7d7c8b8b8b8283278ac380615dbe46e6b1a6e589279e8085bb1efb9ee4f263274ed4343685874fb5b1b5c35aaccaca72b48c6ce517b563ba6fb4bb1b4684a3dd5dbd3d30ce6147e418e90c23cf4827923b90b451daa06b483b7d0a13de4e4eced8050f8337a44093088fab6dc092f8c53b77edba72f52a6ce1ae6e6ea82a7ffad39f02020270dbf2bd15163bb750334d35360ce6a18e8bd5126f512ea2768e3835b5cd3ae537a37ccab46a3b89aa45a752ebac29f4c9919f15ab2ffff20ffe93fc47fef7cf6bca2a1aae14b53b3898d2bcb7329ae60e6121946908f73f5008986b81101eda1e1cceb0180810e20713e93bef68eadffca734383842ebc3be0871451c260424d5756ae746b66d2cea613af50d7d974e9383e94621d5d7d28fe791a39ba4348f198486bbc360d1c3dd1de3e0b2f28a9fcc94d4d757e5dfc8fff6cb5bd5f58d8ef60e0a85cb0f7e10d3dcdcf4d65b6fc15e6214169f65666626da4d2807c6c0fbccb36471c4d9b482ecacc65bb7aa9d1c5caaf34715aa9dcbca8b822734baba48af5d6fa8a8b272f118d7d2a828bf859531ad9f9e68cdbf52f8dbdf4c7470e86af71a7ed8c0f68b51162698f0ad415140a782a1179cd4ce4e2395564e1859e5683d7f4260cbd7d7f2eb9b8a6d35376d25e7a785cd7bfc31b71123b0320937b00d0b99d10ee0c001ac65c4b2bfb163c7941417fffb50424080ff18df318f3e320dfa1fa68cf3f3f3cacbcbad85954f2dadadd773afe38e0dac989c356bd6b090b1572651c4d8c29f909080497f7b7bbb6f4e7d9d7bfd1aa6f531e4b693ebae64e50406da285b1475b54d6cbec460fc83891423e6e1a810ab31ff83cdcf5a5d556d9dab9b7bc4f4e9c78e1d6b6a6e814d1458c1f2870962187d61ee8d9e391397e5e4deb8e10745d0c5a5aea6e6c89123f75c0b44f30bb54f5c9623162ec65d7844383c983c35963876c29416e6f88db8805de91ab58baefe14692adaed641eee56a3467e77d346e2f25dbeeeb76faa8b6bbe9e36d6f57b334c691a89dc730f848568f79c0dcec0bd42c082163828aca0f1422b163661727bdbf2b4135fe7b7d461540b030f9a35d0c77691a68656179fa2f6b03a575b8a9b45d9d7a8b28c34cdb4208a6c2554d482c571778ab74111b0ef44d8c8d2d6e69b53a72bab2ad17fbb7bb8fb8ef59fe4e6ea6067872bc4011402fdfcd00ce2b030bdc3aa2f04ce9b370f56a2be67345c628a4202965fffeafbffbde6e8950cd9e4476c34daf6da4a9c2a19a00af652db4ab4f266ff505b656bfbcd6b756db85ed686cea6e6fe74a922ea7b0f434c50188ebda369015961e1bf9aed8d10efe6462b8c15baf81de1e6d6e8e820f9e912ebffddfdf9e73862b21db7594943bdbf9be8d724a1c21b799863ed79dac73497a1e04741439f83a450043d3d3c1d9d1cafe65ccdbc9c892571680770d01a1a0a6c52842288380b7fb4f0dcb7e7a025e0a844dca1024501d1d0770ef7e286d1178ae00918026b6a477a7a621f5e6969094ed141e1d6d4548df27e0420d8daaa4cc5b4954925cdc37224cc3e70662c6313a0c54545677060a45a8d360da5092b1a64443d178731d3a74fc7e8178a20b6c5e068e5eada5aac0ab8e79516265b332d10c333546304c2608905ac6231e1b7a95965d5fa45744895566523d1a8d8b9683807025b219bb55363465c4d6a6938dd4ec5a5df4e0daa7f32c6cbc971c86a8110f99ec3ce19b85708dc414d0b9f0d3efb69e138403e049fbae9ec065a0734fa05574ba9a18eac09e7c1848c652aa0af82d86241ac1f6c68974a4d7631dd2b7806235f347f0a67a791233d9c5d1cdd14aeb6329c73c2569ca09914618107fd3a7ee1c4b9061887009df170a9c1e062c8d180ecdede5eafbe1eb975d3d7e7cfa9478ff16caad1699ab5e7bf2d963b482b6f2a972e0baaac6e6db76a0d98e4d0545bb8f4c7b63f5e1c8d5972b4c5437362a55f1043b953b82a66cf9e2d16bad8afb0be53a27351aa6473e75eb2b22ebe7ab50d0be65a5a6e9597c97c46ff10374a6bb5101fae5f79ddf3c8a8cf3367ce84929775251b2260f99783b333abf31a6d532bcce4e50df5f5a8f0387d175310a8f6d83d3a257cea071f7c803314a105a28b829274cfa518080328652c1004025fa6a464665e768112a4506005a48d4e070d17ea20da032bec9bc329016236824510578e0dafaace9a309d0e2358a8b7cdcdf50e4e0a0c5a20356eb78322089b284a13c35d6881586224162bc6ba381effe2c58b500151fa66d7a60f04f3db4e0bc6c0a129f22817708e0d22f8f4c43118c48431a3b1aeecfb53aa711b3cebb4ac9bc8eb07d6aa2ba4bc415a1b8f11d66316baefa9d37a79782a22a68ff4f080e4a6346f9bbd414f0861b91638e8a80e238277b03bc1b807750b9f0dceca175540f6e5080eafb0d6b0a0e0b173b9379c65ca76cc7bb461e708560ce21c156c85975cad090a0c17ce9518465876c32a84c5f2ff0307de476b88b312808111078b2980151468f49a16dfde4f8138490e4be6376c9ef1e1e17367cf9436a93cb4adf2b69b6ac711b675d5aaf7f667d51637b437552a1c34f363fca74c998a33ba601c459b35ac4140e9c3a13f10353ffc76580884f5e8368e36418e8e1ef18b0b6ede6c6e6ac2c8608cb3cb3fff7d08f6246848a845a8211d49863c161016cb5e31fdedcfb636dbe36a908acacabcfc7c9c0309c9d1a7421fc2d660280aa8f64295f0843a888303a134c0ee82ad30e88087bc94bd300811507ba1cb4e9b3af5d6adc292e2a21b7979582882705b1beb4f3e694a4bfbcecede0e3391b6323994663b3bb98dd4c6d1d1d9c3c3bf17d243e935c4416bffb7bffd0d67e989355caca8a803a65d8058f31188ca8c8a81fbf4e6ce9d8b478c045013eeb94028263432a69f18aae88d1b28b13c3069640f6a606b43e19451553a15bbb097d48e94f326e9da257289ce4a698b7b017043fc436325a3c6e0ec9ce68606d771e34c691ae9dc730f841deea3ac7b8ee1b066a0d349317748127c39a61f0f72412b80112196895cb8f84d5d7d79c787257080550ae303a74c9e3405ade11d62e92e93450780eead8f99022be083354343b3c9e8a3143d44132b033a0c980730f70770e0b975ab28fd62416e2e46d756acd36f273b67cd683fdb4993464d9ce88f3103461442ef6887360bf8c0f590c5507e05c1d3d3d3737373cd3e0a91673110bff840d04722323c583f078bd173cf3d071c10222230946534e30d22a0fe4333803a284a8410c808874a2e3a08852286e6875fcc92633b050e8e7ef2c927d101a38b1aeebd142485ec9858146bbb08021423381c8b8ebb5250e33160c6e21128ca50a4a01c438b022608c3f621333c87ec23c484b51e3b0b21a0f885e217816018bfa247f41b43c43d88a80f981cc0180f8a20160ede5b01a1eda1d6991ec604de501c46fe45f6506f51a533bffbb6aabc08852bd8f1a1190a2f852ecdce71847f10ce3df0c5678be4c064685663300f41b02fe7dec2ce73bf5708dc0d2dd0a26c429bc02eccc0f76f16015f171a44341ff098bde28ff713024217d88616165348624d407bc4a6938403b4d10aa357807d08d5007e38f84503c3b0060192620a0c57f24021e8aacb22040ec80016fc4252c487968ca33aa74e9d0a1086a9ec90055f3a64c1870fbff8f94316088b3245ef885f8423029c5807a00d888d83d81a0c53c1cdd88644a235572c5c110a8c68846207146c5302e465d73e080ead205e9911b9cf1e01086a3baa04ea00145fb87b2b2076ae603482d6c68c0d706816622c1ab1de9abd4520ca17a5098986725f86e6056d1126acccf8e78f0f0802f74c0b7c40f0e562720438021c018ec03042003b5430dc82f6368c781e08ab189960f80d2bec4088f0b4c3178107a5a20fdf12e29c730438021c018ec05d430053108239f6419989829d72289b2aef5ab93fb019712df0812d7a2e38478023c011e0089823303457ef99733978cf9888871b3c7a9cd2304340c26f0f1c6625c6d9e508700438021c018e00478023301808e837700d06294e8323c011e008700438021c018e0047e01e23801b9b70da00e6fac51d78e2fe3371ea5fdcd5246ed4c306a60765e9c33d2e109e3d478023c011e008700438021c812186c020ac0bc4e950434c28ce0e478023c011e008700438021c018e402f080c82168823317bc984bfe608700438021c018e00478023c011b82b08e00c48d37c0a0a0a323333f18b409c10fed0430ff9f9f98911f8ba401107fefb0023a024a594e48330207a8031e4a2730438021c018ec09041c0745d20ee693b71e2048e43175704e21787843ff1c413b895f47e5e17589641196994913164ca84a82c930aeaccf9c9c920a5f9e529e671eed5b3b28872727bca7c08826c64b72bf3197b69c941e37bbd27793749dea488f7cdc3f933478023c011e0087004ee03046005840a682a081e1128860cd1dd2107df22c91f485499987f33e5284d45e8dd9f739ed61ea32949d4cf74dd5356d2b2cd8c13f6ef0f9456d07dcc6ede241ea14433a5aa894292fa2d5a37e47b0abe3d3c0bbea090d49ec80e3ec8426e69ef53aa19503d7161f99d39f34db4ec26ad8dee1cb9893694d3d178ca78a673387fe208700438021c018ec0f0470096bffcfcfcae72e0be6c31b05b2df05dc1754d799742a0bbb50b9a56133ddd2ce4a9e95fced1cb2935be7f497a8d5d40747421d53e4f1f3852e4be7eeb970aea32ed28a5990894f79af38023dc169e606c728ff3a4770264889a7383723a2d69b81df1cd982f48a54bd614eed599949450286c75448f62764ec39f38021c018e00478023306c10a8abeb320b49640cecb6f7c35932b76edddab973e7aa55ab7a96b5ec0b5a9249c96b89293375b4ec1ddab09e821d29750fcd2a1692ca287b0505a3bf8553d286b7c8cb87d6dd644f30c3c404338fb993d264a28369865486d7ca1c5a9140fb84c78b2f52b80ff359ce0859f5c50ca811a21961d090dcd19099a5bf7ec1a49052cc73437b790000400049444154c34427f4af2de7aea183bbe9e96a16277e2ced5dc6c031b2937190a6e452e906824e827faf6fa70441d3354a54779ee23ea3af905846f9abc90f2c2969eb5b44eef49b72463365294507318f4540d80b33d70d9e1632228215cdff1b7dfa99817a4f7719f509644b7c2a7329e200ed5d43e10a42151a95c60051e450c411ba843c93e86012854fa0ed4b18031672ef06108bcc8342da055a335da8a28c5e27376467e43b71c91f38021c018e0047802330d808746b0b5cbd7af59831634a4a4afefad7bff69ca957187d554f69652c564132edb316b416e8376154bb9e749b284541217b3a74a082765a5747a56ba874a13ea605fa2a5a11418aab1477963e9866785f47110914319bd1cc9e4c53feae9f32ee2ea3be1878720e92dddb64f7a6e1dfdb74503f576ec8d4e42f34b6902d14bd995c4f74a81416734fdd414f3751fe1a6a5d432bdc3b4840174cdb4353ae52f65af232a89e65eed4ba892e06328994885b47d19fd11288f96bfa484efebbf5c933da29594eadbfa5a32e342b5508ec06107d02d33fdde06921a322a6027e104bba35f44723851e323248618c6bc16329b93c88f68ea529ef504e268dfa863e5ac400910753da7ada46b46d3625afa7ad4f09c42c25c70b0b8058645e4f8382517e264e594719894cd5f642a970c711e008700438021c81070f819efa702882bb77efaea8a83870e0c0d2a54bbb05c78b8ecae8f5544a5d4207afd21fe7e92d2ee85bb7eea6340d79759ecc85ba78713979c1bea56096308b0eca90c287e21ce89d66c1e87581c55216302bd1c153947a4a9f454113853b32bfc58c2c52360b0c7e86746641dd3f82f394789663462acd3a4b6b9f203f282e5d7357d2ebf5f401745cc1fc192daa3298f995d1d3498cfa9935cc562a3ad07c3d8611097f9c4898090d16c45c8247a29818a204421c0085dfad716c4e390296c854415fec06103d69933f3de0699691a28a258b0b67bf4b26d041a4ec1e79f6ae0faebb820b5f4647b753c811a6f3c5050b8480a72313b60ec56a80c87272a925402c312f320839e4a6ac2a69fb0efa4d3bc54fe850c74ddf733f478023c011e0087004ee7b047ad202213c7611b7b7b76b349df5b82ea8443f413ff88c0a72e83744f9d051e072c9ff187d349f5e0fa6824f29e16a9734bd05d42969c933940f75b0f38cf6de15a4105493dda2a2d05b46e6dd7fe77c0b1229ee1205cbf4a1652a5a1b6fd0483ac7149fbcfc4821a7e86768e6660287d0442c8829a2d5155a0d9b1d8eaba3c8ddd4baa143290141e6bac617b3841266805f3ccd440ee5b2ddf08ec81c10e14d590e339462fedaa8fa7487670721938cc44001e68ef7163332c634668490aeb923d0627286214cc89d8b9815591734cc930b092d02c2284216f18fe11798d51960646172daf03b5a9b437609f4ba92824db93724e17f39021c018e00478023707f23d0ed8c30c47ee79d773023ece9e9f9fcf3cff78c823c9c7e4de49f4033c732f3189cb289fd463fccb63e64141059b3c77e3b2ff2f322123a6fa6190853ab6945a4f0228582299d08ec2123b91f5b5c989ad3452330e1c3eb613ab8905e7f4aff6ff7428af63379ddc55b56c672ccf994cd244273b09cbb23ad85d9ef0b4111d11036d2824f38653b5b50b8642dfd5a45317b8520c1c8b73d99f9110d0e4b0045319333d963c629069d71ee980599388b80b0f74db424814212baecb1b084a759464cc5c4b475aefe178b20e1bacd08afba82dc25f7ee92b3797362bb6ddeb9407b05f15966c0c481f6e2001df884a2ef2eb910b7d38f45e6c5181181b40e607676607e26cac5543bec1c813f710438021c018e0047e03e4640e8e42dc9b76ddb369c28e3ebebbb72e54a4bef3b8749695920bd79835e8fd687cbc368d7a7e4ba993dc63be8038d7f7ab5bc748a202a22f8f5a1d27934ea083d7d44a0e442add0327bc8c891f64ea029092cf2c5f56c26b7ab93fb50b04fd760cb217e44b3f6e95f7d304f98d5ed26f7b815b46d07d909e29303e3130e4289e6a8adcf93641fed4ea315e12c70df55da27c4c45e19a683f950fe34f23788892d239dd0d0e72ffcb104087b21253fd2eba942bcce144cf0b490911f5d046807c474142f5690ee3242acae2077c9dd62c19525d3ac6aca5e4f0a47aa9d47ae9fb1bd3ee21ede8868a2cf187af18174f019cbe5aee7cfec8f45e68538c14f61584319756c334a87d3308b695d1593823b8e00478023c011e0083c6808747b77c8f6eddb81c5dab56b07820816e04301813970301d76f5c2d0d899ec1dc9a8cf4c77973b0b1716baf54a89c584155054b9c4d8b8d04249a271ab97e49600e92589e96b4b1989364ee3ca3c7df4016674b7925b661ed6d6f769ab94f62e31159e5277d3ac72c256e854a89bdc710438021c018e004760f82360bc3bc4caca6acb962dc65b432099e8c73930afbefa2a56fd75ab050e7f10b8041c018e00478023c011e00870041e3804faae05f6b42ef081838d0bcc11e008700438021c018e0047e08141806b818357d4985ae5fb0c060f4e4e8923c011e008700438021c813b8ac03dd30295459493dbbb68ca32b67916070bf7d7956550461a6564f437dd6dc64fde4d923729e2fddb4cce93710438021c018e00478023c011b8cb0898ee47b8ab59e3a6af100de9827accb480ec843db9335d2839acf346d71ed3e12574c7d78bd93ed956611fae317adafba48cd05fbf660c1ca8a78936940bb7e1f52cce40b3e1e939021c018e00478023c011e0080c1a02f74c0bc4c6e1c9e2317addcb226ef6c4ed6ab7b1c9387a393b2950221c13639a43ce0d528651b469d0c0fd5276c28b9f5f4f273f0f3c134e8123c011e008700438021c018ec0202270b7b5409800714dade8703c87e89439b4228104ab1fe1783c9c1b87238337bc49c269ca14b199c885d2d6325d30750fcd2a1612c9287b050543f942ccb768d92fd9f50fa0b32c99f60a31110927ad983a6526451c6177d051121d4ca2f009b45d3834a42c8d961c635643b8a34b29c660cfc319226babe8a0405978d9cb0f5f14d80b40fc35478023c011e00870043802430981bbbb2eb088a9801fc4926e0dfdd188421d452450c46cd26da2ecc934e5efec205f687cafafa7e4792c52e27a4a5bae37077a8551ed7a16334541217bf4777224b71bb6652829a1de48d7dc32270fa6b4f5b48dd8adb5c9eb692b8e11165cf2318a788cd1ac5d4a7e2656c78272ba64a46c42d5cc8ba3fe32129912e96592d62c0e7fe408700438021c018e0047802330d410b8abb640252e69208a0b67bf4b26d041c156a72c60f6b983a728f5945ed52b6862f77ce0c862dc2a01e7053ffbcb1c3c5b77539a86bc4c76e3c220a8773d4b231ce0ec85bb2204e28634a490d19bdf905f1545840b6648c38b252f539c86b1d19353d2f61df49b768a9fd0ed3d6f3d25e7ef38021c018e00478023c011e008dc2304eeae2dd044c8ceb3b5b47705ed5e46db97516b3757bdb1a4b9e40fbb5d3425afa6d7316fdbde414ebc75a3aea823c4e833cb088f9daee88056ba81b2e79142c3ee9a5b9b684cc7eeedc00db64605b4e385a94f4e1b7e47adf194709572cc72328dc6fd1c018e00478023c011e008700486180277550b14ef434b130e88c1af4230dd41d3824b2b22851729145490a39fe7ed0a94b859241a7707cb29a380c85a8822a508a2e40ce64fcb31040a6fe47e34194b091168a29f7939d0de0c21c0604d2cc824bf085af20ca5b8506a9d9052f839f816d9bd4919b8adae37878c66221303c1dea2f3f71c018e00478023c011e0087004ee3d023dcfa10e367f7e7471024d39a0271b2f66ee43a5f368d4117afa8810ee42ad0f5bce571e46bb3e25576c16218a7730c491d292409a728cd61da3e711682a9023ed4576c236e18b0613234c89f419d96da6f8403af80c2392f6a9216ba2337106b2f80b3360736fb64031ba86ad65acc37c77cfd3c726b4b99723c011e008700438021c018ec0bd45e01edc232c9af4ccd7db698885cb999daf6787dd185da3590cec998ee95bb69b58c9a6806fdb6143f1ac72c2aee75441b3bc6d3a3c21478023c011e008700438021c818120d0f77b844d4d6703c9b11f69cdf53f3129b66ef44d09b318cd6260df7962aa676fda67cfd4a25790aee718fc2d478023c011e008700438021c81a184c05d5d17389404e7bc700438021c018e00478023c01178a011e05ae0035dfc5c788e00478023c011e00870041e580486ae1688adbb7558aea72178eed5f6dbba1caaebc31ee13ed69e3b21d19da0d94771ee50b4b20cca48a38c8c7e905716514eae3efefd07483f80e05139021c018e00478023d01f0486aa16d8447147e8200e79c1198147eef8517c69ef53aa418d30456f6f026dcd340d1880ff4e487427680e40c441499a739ed61ea32949a6c7fbf44218d71286a40a71ee47407a119ebfe608700438021c018ec0ed22700f7687f48955290563c38681bb81eddce83dc39c1ba40ca3e82e1157bc484af72ea1b717702724ba13346f4fbac14b15bd9c1df12811cef7e923556cee992c1e09793f02d2471078348e00478023c011e008f41701839ed5df74773abe8660078cd6e8b311bb783ca4eea159c542a08cb2575030b6152b69eb5b9423a77dcd2cfce2cb14eed54d208273684502ed13085c7c91dd17a7cca48823ec0a3b4aa28349143e81b62f61af11332681bc64b42c8e62a0900a2e713bfdb09e660aa755870775c434a3c9e22a69c35be4e543eb6eb2a7a3f114e3635922bcc529336babe8e02f29b8bfda6e3728611afde06e7aba9a651d3f96f62e631ba02d4067091024294ba325c7d8cdc8704797524c10f3584c6e414c03562c8d89eb074d70652c6f03058bb9c304886ba94587337a98eb0e103112ffe508700438021c018e0047c00481a13a23ec4889b1b404fa471065c776a8475e6154bb9e749b284541217bf4938619ed54e04ead9be8cc589ad243601d452450c46c963c7b324df93b3bea591e4c69eb691bd1b6d994bc9eb63ea5c7461e44c96b28424505261a498c70c15df212faaa9dbc441ba1259a228982765a5747a56ba87421f9e134e96e2442e48272bad47e5b6b1fbba199ba839e6ea2fc35d4ba8656186c9916a0eb86f9645cd3f71843a97629f91914530bc90539cdc5d4e367fea75f343b1dfd2d50b2907b1153013f8825dd1afaa331b76e0031bee71e8e00478023c011e00870048c080c555b20915fb89ec9608307cfd049b6eea6340d7919cc84082c43601c7b15f138d101ca69a270a985c0e00266f33b788a524fb1c8700588e94838bf10d6c33ac123040b3fc2f9852cbc23487fa2e1d603ec74e80d4fb017ca6e68e215b8bab89cbca0ff29187d388b12217cc9cb14a7616cdc86b3405349afd7d307503d158c5eb451afed025d77cc2b64f4e637e4574511e1cc5c2a3a20d61579bcea2aa63e41e73ffda2d939297bea9abbb28a85c7097563c9043a6850d62d00c22272c711e008700438021c018e80390243570b34e714cfd829728c3e9a4faf0753c1a79470b5230ab484aece62e0de15a4103486dd266a1f028c6b10bbd2310d39f807fa0deeb87bc6348c2cd2ec14a3c707f1c86b8bdcf698ae9b97a27e6c56b0dd43d795f9b80d948d5dbab9ecf2bd3593697b5c4fc877c38479f06dd064852292e99e79f1bd410334cfb4d3332ea7c1f530b7a56a77a2c31f38021c018e0047802370bf20305467842de12b5e3d17fd30bb652ea38048589f87885e44db9359821c613f6fb0d0d3770d940b73a36945a4f02285820a72f413ca8c8203edcd101e45150a418207ea85e9213558c0f7743b95ae26b9521fde034dc650dfdcc1b7c8ee4dca68ea5bec5e6339d25a193dfd855e1c6cb9655208c4cda0eb8e791cb6e217414b9ea114174a156ca11693f7ca8869847ed194fbd164ac44cc01df8c86c5dc45d5392d9745c0afc24ceb65c19d1c03f9edc103b9136dfec011e008700438021c816189406f9de750124a1e46bb3e25d7cd8ca778874e9cedbb4afb84f094a50603129179a00f95cea35147e8e923425a98f41ed613898826fa8cec36537c201d7c86054269785a25bcfd8cd67dc62658b1487177390b19b585fdeaaf0cee9e26e2f4d5bc8778cd7d8ecc32efc5c5ada06d3b9838cc3930312d43d70df3699f1a20223a03432004e91e79f69645e9c5f58fa623ed9dc02c917017d753b8c5dcfde822e21cd0e71bdfb78adc478b6f2fc2f0d71c018e00478023c011b82f1090e874c3ecfe5b25ac5372660ed43b2545bf49bb7f4d7eb01b619257d4062c068a09303308c398290503a5dbff7b2768de3e37fa940c28ac6e34990335874e8c688979b64b17f3a78a4e4c584ede294a4f0f03a4693177d14c682aa3650e94b4e44d2a1b4ba9cb2cbfe7a11c018e00478023c011b86f10282e2e767676b612dc962d5b2412094433fd85eef7eaabaf6ab5dabe995086123066aa09a66ebf82c682dd15a62a8bc540510a61dbc7200b7427680e98c54e8008d4ba86b0604bcc3325dba8671b38b19cdcf0b6d7bf03a46931f7def53f91ad2a925b0b0b1c7be59247e008700438021c018ec00383c0f0d302cd8bc6914a9792c2c4e2c522580c344fc99f1f18047c68efef1e1861b9a01c018e00478023c011e81b02c35f0bc4de8e200bb25a0cb4108f07710438021c018e00478023c01178201118ba7b84b1abb40eabd334048fe946dd7b584cc385a51cec7716f638df1e56034c7e7b991a530d41908dbc710f478023c011e0087004ee270486aa16d8447147e8608e7052dd11ca813ad87f97f63ea50a2789f43fa9a51483c19225ba0308b3c852138524dd26628c9501261f803462ee032ff701b2c093730438021c018e0047e0014160a86a81520ac6fe04c37c75978d0a7d2a9d9c1bec1e91417383c1d2a0312312b2c892946602badb830c6407987c80125a9468803479728e00478023c011e00870042c2160d0b32cbdbb97611a821d30da30ad6934052a73684502ed1338bbf8a270bf9992b6be45e44ebf110ef3c37981d141a4cca48823ecbe384aa28349143e81b62f11d22869c35be4e543eb6eb2c7a3f114134c166862d371d78cba610974709af4da2a3af8cb8efb8e85cceefc4f372c7911edde4def5433064440e049dd43b38a05966494bd8282716e7632f99f6521cf8fa0826afaca816ad7e2ba3b760af7ebdb29a199bd32820cdc960902029965c9b477adb087d8129e055fb01b7ee1a08cc64ca60d71cc6f014f16daa5387c2c973b23c11d478023c011e00870043802838ac050b5053a52622c3ba89982283bd6a05dd551440245cc26dd26ca9e4c53feaebfe437a39d92e5d4fa5b3aea42b352193cf2604a5b4fdb88b6cda6e4f5b4f5a90ecc0ada695d1d95aea152dcb48b9dc516695a0cb4c89240b8a09c2eb50f68295e077ffdf275cf5286a21320a0ea1546b5eb1974290a0ad9c36ee56057f18ea4d2f9b4af9af6be4c6b9aa900a1822b73a7d64d743190812c86251b05545242bd3e1afe98e359c654c00fe6936e3dc5e0f06dd1166b114f818679f2ee25eac892fb38021c018e00478023c011180c0486aa2d90c82f5c2f5fb0c1a32c60e6bd83a728f594fe30bb82260a975219d1d638367d1c81bb405299d6023f4e92f3828e677259b0480e912f2e272fe87f0a164199618166b0c58c1c2db024d25cf232c5e1c042d0bcebae2b4a608101f254674080090277539a86bc0c1656c49c0c94dc19d37e5e1461b8910fc95f8f61f1c31f271266d501326c847ad7b9ca20b2199e88168782c0ef583a28e465b9e004b8cc92239545891839ee38021c018e00478023c0111854043a77e9834afa0e11dbbb821482796ab7a8e1097e7105213b58b8bd235bbc31ae2cec08b5e433a3299024b3404be9f461e281c6509b868e33072497fc8fd147f3e9f5602af89412ae1a388596e647f16c6e566ff3135f2844613ad70e91665d91216d3ffff61d4fcb8471c709ae33b917aab6657e7828478023c011e0087004863902437546d812ac72c16a9556440a2f5260595b4e27c5a56b0a2f07da8b3353f0c2c4fa6516cd224d8b8166094d1f71e9b0dd9b94d1641a36b4fce24d6bd1b850584e19054406b31fe3b20b385e44db93d99b9cf3ec97cd9bc3ce4a949cc11ed3723a2767611d4e842e113195947c9314821ed95f3c3bc899f818c86f0f69904d98e55e8e00478023c011e0080c03043a5b7b8638c33e543a8f461da1a78f088cba50ab30f3d81dd711d1449f91dd668a0fa483cf74c4ea64b4b348d3626007812e3e506cd64f527779372402e461b4eb5372ddcc98897730b0642c7c53a550983bde7795f60991b18186cd054b6909d6081ea375c7e879243726142899e1993f9dfc93e8e924f60e1b4498eb11cf4ec9c5f8ddfff6d1b8db3d01fe8623c011e008700438021c013d0212dc283cccc0c0cc20ac6ef2011c86d255608b342d06764d3b7c429475fdc08d45c69cbb89c2d7d7e4302e0aa932f6d232a20cfc17dd40f054d29237a96c2ca51aa919a8f2bf1c018e00478023c011e0089822505c5cececec6c25b82d5bb6482412bc35fd85eef7eaabaf6ab55a934ede94c050f663e707334f0daab348d362e0a0667b9789f50bb7ae91bb8658e47fef16fa292c8ed694d04e675e348932103cab486e4ddbe34ca8712f478023c011e00870043802034360186a81031398a7bed3082c5b4fd145ecf6bfddc1a4df6532f02c7d68efef064e8553e008700438021c018e0047a00301ae057660c17d8383008ed4091e1c4a9c0a478023c011e00870043802770e81a1bb47b82093d993b083151e65977dacca22cac9bd73b0f48372cf7cf683d06d45ed7bee39d82edd05c6dbca73d01295655201561ff6c1f55dcc3e10e35138021c018e00478023c01160080c552db089e28ed0411c4a8283ee8e500ed4c1ce0ed79485a4760eba2b4f69ef53aaa9f6d91b9f7796a9bee7de4421491660bcb3ecf5463df108259a82d95dfcbe8bd91d051ece11e008700438021c018e40170486aa1628254c2a1a37a8763d4c04e7de4dbe17b3d939c25d1a1d30f6c66747cc3be1eb7bee5276680b401b520e9b7c8c45dc13637d17b3272afc1d478023c011e008700438029d10b8179a542706ba79d010ec80d186194ca3291026405c532bba99817a8f32875624d03ee1e9e28b14eec37c6569b4e4187d25041e5d4a3141dd065a4c8e438f37bc455e3eb4ee264b8863f3c04cc41176dd1c25d1c1240a9f40dbff3f7b6f0317c57535fe1f02cd0e42785134ab515c345848a12e86568c7922983421891f45d384a54923796c22799a14fcc55f834df22f699306fad89fa869c5bcd435490be645d0fab27951300d71d3dab0461336a0b2aca0eb4b0228b8b36691ffb933fbbeb3cbf22ae8b91fdd9d39f7dc73cffdde999dc39d997b55ec86b5a49fa85553060567a162a57d11646666b093afdaad50510639dfb0eab2a7823a97cd652807282b83b582b0fa4148178048b65d5228c95352139978d75ef31a64b40acd97417d1e24086f793bba5557012947e06421c84340c2a6af660e364eb24704880011200244e0aa223052c702c3a16a11a83052b911ea17d903a9161602962f829e7c78c9d14bed90b605d26e879edf42fd4c48791dc427cd34ef43da5c266c7b1014f6313009a18fe268ded00d2bdae1643e9cbc8fad9fc12580f6295803b0e676d03cc516ea6549d24f21c7700a0e760ff1a3783e6aaf7919723aa1291fccf990272cb8227804ba28303f03bb2321a3461048b65d52880b8778f3f4a12959bb3c09da9e62dd511d0589af39177dc19ed1be06295f437d010b01b1f3247ad34733c546d127112002448008100122d03f0278e11da149a1b4399660dfe0cf324996b0abfa3e54084349bc818dcf557c02359fd856ef307482321ca26450520b8ab390a6b48d0e62596fa1afe2a86c02a8fb05c871fdb4283690860917b1c58d7671fd6241821fde7e8a39aae590651df2756f256ae7a1a803ca31728d628ea48bd1aad01c8c5cf10e6c1a2eb85223c46152e812a484923ca5d18548d78ed15e711968ad20b78fefa26f9cccb6c4c8fe7c4840ceb8ec9c8fda259ac9d42911012240048800112002fd273072a340ff6d72dc4c14d5d479102588caec215a5621d46b41770452b640fe4cdb84c39242b4e05ddc57ed5849408fb2a19a1084d947217dd91b02b918664975ace83973acdb59af47db45b01e42d40e141d2eeb82c9a3767cc5e77da8bc178a12c0b003b67c2de8e08795ddb0ce6a873965602eb405f128f6aedd5e80be8900112002448008108141233052ef084b35508cabb447581e7e4609a10627dcf1d4b640941ca2a2c0a0b7dd6dc4b9451469a07a08aa23a1a6dd66ce5be8abb854fd4c260f03354eb9825b2e635a92ca15ab21b40474625424a93144c27028c031b68f6c4eea0fd88078d726d9764921960d149d54ed6cc53f1c954c65afa7e80c00c16c1713df0d99a9a02a80a72d90a966125fb5b33c4a448008100122400488c0a012f018b41954db836e4c0175df8794bfd9ec668bbe4f869377c1c4f720e73d411e09e654b6a1dd619700eccfb2159110fa282e16f01ec94b4b07d809a1cf43f674a878c86656fa0b0b7739c7b7a47586469a95076b5e664eb214660322519564db2585923c7d687ad7ce25c1861d102df8931de6740409b50bc174f15208da0c655ac84b93ee4d6719da2202448008100122400406894010ae283c48a686c98c38b0848fe8b9252b3039e736190a8f4376bce7a2c392421cd8f32eee667f14eef038028a4bf77a80f26e8864dba5847d42e75d3b93b87790b72f368954ed3e9529830810012240048800117021d0dada1a1111718d905e7cf1c5a0a020cc74fdc4d8efb9e79ebb74e9d2a81a0b145a281dd660b813e50240d4c4b126afd13c36679e9790454b5ec53dcd8db6fd405b24d97629619fd079d7ee2df14954aa769fca9441048800112002448008f48bc0687a2eb05f0da442448008100122400488001120021204863d0ae487780a3d89369288081001224004880011200244c093c0704781ea12087d118a7778fa41fb44800810012240048800112002c34960b8a3c0dc67a0e96658f51f9fd3970c67e3a92e22400488001120024480085cb504863b0ac4f730e48aab9636359c08100122400488001120022385c0b04781d8f0dee65b1e296cc80f22400488001120024480085cb9042e431428ce1852856b5ae0047294880011200244800810012240042e0781cb10058202ca8321672764be454f075e8e3ea73a8900112002448008100122c0169718f6c41f869c6e687a1a14deb3370fbb3354211120024480081001224004ae4e0297632c50202da710f0ea3ce2a8d5448008100122400488c0c8207019a2c076d3c8683a79410488001120024480081081ab98c0704781152fc0c45a58335b622ddfabb817a8e94480081001224004880011186e02c3fd5ca0ea59500d771ba93e224004880011200244800810014f02c33d16e8593fed130122400488001120024480085c0e02831405f2c0d35cd097a3ffa84e2240048800112002448008f48fc0e04481ea12087d118a77b8fbc083ea79d075ba0b698f081001224004880011200244600410189c2830f71968ba1956fdc77d16680ef2c6416ed5086825b940048800112002448008100122e04e6070a2409c7c5aae70372ceca5a5c3c1a34033c348a0211111200244800810012240042e2b81418a02b10d52cf057209b014a0e6b05b136bca40f902e8793721ed100122400488001120024480080c2781418b02b928e676d501e0db5dfc0f814c8076f700d1700a0e76d3db242e9468930810012240048800112002c34e60d0a24050407930e4ec84ccb7dc9f0ef46a926a39b42d838470af0c12100122400488001120024480080c1781419b359a3f0c39ddd0f43428dc1708360008a384ce067131ecf6b1bb963397b6880011200244800810012240048681c0e08d050aceca3d823b03ac02484f706b48c56a082da11964dc98d00e11200244800810012240048699c0a04581ed2609cf751a801b20c123341414b9411b8594a8974444800810012240048800112002fe090c4e1458f1024cac8535b3ddeff3f2507a0aea3d960dee84320bcc9c2a1d1afaf7957289001120024480081001224004068bc0e08cc8a99e058f608ff9c781fab7127e167e1f121648c84944048800112002448008100122306c0406270aec83bbe190291130f6c100a9120122400488001120024480080c9cc0e0dc111eb81f64810810012240048800112002446038095014389cb4a92e22400488001120024480088c140214058e949e203f8800112002448008100122309c04280a1c4eda54171120024480081001224004460a018a02474a4f901f4480081001224004880011184e0214050e276daa8b0810012240048800112002238500458123a527c80f22400488001120024480080c27018a02879336d5450488001120024480081081914280a2c091d213e40711200244800810012240048693004581c3499bea2202448008100122400488c048214051e048e909f2830810012240048800112002c34980a2c0e1a44d75110122400488001120024460a410a02870a4f404f9410488001120024480081081e1244051e070d21ec175f1c05b47b07be41a1118520274fc0f295e324e0488c04825707545817add5511eb9874a0d3824e2771d0e9d4a0aaf0946bca20a804d2def2945fc6fd763db4775e86fa0d87a19d07b0026e0c69583c6c155d06882e55f6b59983dbef81d7ae2e81d017a178878bebb8c983ea79d05d8ee3d0dd0fda23024480080c1581911b05563c0f6552714cff497442e236d0e3357e64a78ad510f402b40b4eb2ede7fbecb3fe0014bc0f29dbf02ae69e3a21b7190ad23d8585a7607736e81e72970fcb9ef62da8392251937a0b141f96900fada813b2de830a3dc011887bafcfd8fbe0dbb05524f8e40b721f1cee9f6adf9b3998fdde97da739f81a69b61d57fdc4f190ef2c6416e55ff1a4fa58800112002a380c0c88d023d239881c30c8179001c377043436c015bde0d5a034027e4740975f5f15e6dfa2fa0265bc249430d1c0c06a5dc3d2b04a200140a801077f9b0ece98f825e6aac256f19142a87c503d74a4220018f103b87213c5286ad22a175be20bb367d48b6fbdeccc1ecf73ed51e0272850483b4743878144c12392422024480085c0904ec57bc01b4c5f411a80e83a600d855b31d72d742e15390100e35af4146ab605706f5799080b106261e0a57837c32ac68667b3804958917de0093503677252470c0eb2157036aac9487e2d50031b0ea14b352fd20a4df2898b3424519e47cc3b6b3a7823a97b987f14f5919ac15844e4d41ddedc30a3c86620e3656e0c2ddf29d3b3e6a47f7f2b6c06641af6e192863a0b00454f9a014210018aaa08807b5ca69c9b9150233012ab47662f60c4f9b9359863464c48cfe7b25ed7f207fb6d04d5e59bddefd94a84868bb9e83cd42a85ab75c882f2585e88f0790c9c01f86b4f7e0207ab20d2ab681f2fb502ad040cdcc2d2097416e96f3d8a82a85c51d302f98f9adbcd1a9e9065900e2eb00ab298382b350211c3c5eadb70baca00748b7c7dc0e84262da8de877d82d6ee07215338c0da0f40d64e412883a62740814788efe3d393928f8aec7ef4feedcd136bf73e117c4196a4246153aae344e7facfd3f7111260bf4b1e0c12c7675f21dbfbdd953e97004bf12c3b0caa24a738a0b63bd5698b081001223072090cc258a03c09f6758056f87bd9a081cdc1c2151143ae24687b0a7a7e0bd55190f81a5e776cc9d00d2bdae1643e9cbccfa669cfe9fd5bd36d7f5a8b872d1d367d5d376838303f03bb2321a3c626ac7919723aa1291fccf99017e3b4ac8bf2d474e6d9b7f41510fa2708c54785c47f7f820adf7727256a6f87b42d90763b6b7bfd4c48791dda39c0812d0d86181827b7b04f9d1ea27c459616c84b83a8af21eb3328bf9929b3e46d5310fb82ec0c610535f1a31d2041eeb28fd7f876d055b15046ce42787f49b2226cbb2106ccbf85fd5321c5dec5124229e7f1faaa7d0ad600acb91d344f41f1025beddc8da0c987340b181c470c40662e989f028d0af675835cec4d299ba209c903cc700a0e3a0e1e5f0d0d87aa45a0c220ef46a85fc4fed81093e67d489bcb7ab3ed415088c27648df092aece2a7a19283b832bba6a30af7e3d393928f8a7cf9e529f7d176ef43d1176434e84949d2a6a450f066203c258e101c820db0df250f06c95f9b3e42e684bfd0aa0eb093c2994220134f3ef70031a0b63b4dd0161120024460e412708c770dc04539ec9641510dd4a8a0e26b78e92edb68135e2e8bcb406b05b9fb6fa809a0ee1720c718288a0dcef529093fd4420917c7d1607116bb9197968a7fb6b3701307088b3aa01ca34ca140ba3dc2609a0bdc35a5aa4f78087aa4e49232efdac1c086b82a3e819a4f6c280c9da09c0ec5381e1602d13ba1e929d05a204b29698ff91f3519b2c2606d9730aef91fa6c64bda0c67f625214b9a66645c3378287d19567543f6f741eec2d355c5b12d5991aded0069b702fc8ddddb5586b0db67ac3b5c8409be9c0f6707403bb6c235200e01bc1e33b9a36e745be8c7e2bfc1bce9507807cbf00504b3d001ef034cb51cb2fc8ce9daeb52d83b25c1be8139513228a905c559485382723253156b5761ab3128c904d8c22a459f053799d0350ac72c0f20ca7090ac4828d9fb8774db1de45d4f04842909d98b12af9338687d751cba38109e9240905820fd8e557b1f0c4c287522f40db202ca83216727cc1b079a27dccf14f73e09b0edee85688f08100122301209f476f10fcce7f43be0ee9d60d0c32a80260cc530e1f3f5ef43e5bd509400861db0e5ebc00c05a0253eb6258ea839d44521bb3c740b3231ee946a9ca7a6c384cb06deaecd3a0809329bc86481826cc84a70d170df94b4a9ce83280cbbf01eb410e5f04a385805559d4c52b503340005423cc1f6bd12bea6aa7a089a30aa6877cbf3b0d92b64ac1faf8e8e8478dc463538287c160af410ba85dd9e760c7d39f49d1bbe7bd3d5be435f52e8e9bca0cd3c94ea268729c746c50bb02a12cc0f39046c43d2a69b867d470c1d241db3abf8fcce2a847a7ce7fa08a46c81fc99509a25a1e9b8a52e36c7f3f89428e143243c8de01616fb50f46cbb70b0491e8a8143f6b0299894863c109ed8a0c03b42b2df3d85be8f4f1ff024c478f73ca71b9a9eb60ff7da550caec1bd20e470341affa2b02bd0371120024460f41218843bc2d8784e094f03c46d81795341215cd47921dc494f656f63e80c00c2135d7dc2843fb2385708dac11b34ec1f16c6410ebcafaa6366b47abf36c3a14006391f09a5f0f120bccbd397bae5a950711f142db0fd2bbb0fd2157d28cf2e12e8610b44c9212a8a05c7583bdef05ada0d8f7c034d0fc28aafe1e0f5bd8d83ca412167171b4cacb8944d3f9039057bb8b0462f146636584a9b0e2b3e11379d9fa8390fb5c4b8d92976dbf255113a58aa619afac3ec334118d2f3164a3acf0ae0f85918a871fa1edc7238606fb2ab4bf824165ea14fe2088d7d5e373f3605c39e1ff8b635dedfefdfac1f38e188228dc5e5d5915023c4e562ed1aa1d53a441a2c0ca6fa383ebd81783ae7b2cffcfc532f7ef6b5ed12905d6a1437256d4a0a45fd81f094061258bf63edde0783afe3d3ab95bd0b3c1f8d30b0bf6cd313dc0a0ea4ed6e8668870810012270b90904360ed3ab9721903b1d4a8e4251ba4d954b820d3b20fa79b69b1d66133abe02fa335a06abf6b07f62c2dbbbaa24504d8794f761c5fbb0146dfaf53d2b0fd6bc0ca182031006e65447e5bd6f7093216172ef6a3e3526c3c9bb60e27b90f39ea0822358583b079932304c06c58df0128a937c96768323b4910df048d9f407391cd4df67635798ea9e02bc0589296101c05ad0b53b5f5261522bbbf7da7e1640d06112afe4a7a2cd5fc3660132be6de3f0dc5328e5bc5809be83093b5937654f878a87980c2fb13916217327acd8c96eebe3837a65c2ab3f135f6472bc295c839abe6da28ec313c190f081a22e29b953c3e7967687bd2b01f68b038193d9c422389b8cd8c5f80210ab31c4e7f1e909c46755b68c5ec647fdb6dddbb6376451c78d92a44d49a1a3707f79a2016f2081f63b2f7130f8393ebd69f892b49b2472741a801ba487c97be92309632422024480088c3802413d3d3d43e7147bce9a1be4c959fa6493290b8f460d5d1b7d5ac65b7b9d83dd7c299b7d02a27f0b8a433cdf4dc6c1958c53f6e8ca677b84a7e65d7b9387f41228c33b6838948777bdc5a05c5228da9472de776d81e50c854da99ad93bd7bced8934673e0e4c7a093dbbc30f10a721fb163e095002a6a950936b97f8f91e8ab64bda9414fa71cc7f569f80f837e59eeb49de3dd7ff1ede62c6c1e635b3a120d3459187dc12db8c074e6927a4ff09daa7822ed729a32d22400488c08822d0dada1a1111718d905e7cf1c5a0a02074cff51363bfe79e7beed2a54b7ec7d306dc26f1e1a1019b7133d0279b7d5276ab66e03bc2d3ee0337e36641ca669fda882fbea8dd2cb29df4bc80de86f1acc8ca5e2ec6fbb66e7249a158a394f35ebef451301436a55cc0071b2406125d63627b29371a28f403c45ec4f97d16b860e9e70e9d3a8eada168bba44d49a1c38dbe6ef409485f8c7b92ef4b59d5b3a0f2d6e740fd5b6f29147e5f185697c821111120024460941118da287094c12077fb44201c4e3ee835df8da4b04f66af30e53e01990cea67afb0f67b35a74f40bc4a5f7e4138644a048c97df2ff28008100122d00f021405f6031a15b11190df2881425228a177d5880888475713100f20b44b04880011b85c0406e71de1a1f05e8faf8e5a87c230d92402448008100122400488001180c189022b9e8732dda0d2ec84c46da0c747f229110122400488001120024480080c0181c18902073f5a0b6193d8b147f229110122400488001120024480080c0181c18902251ce3a1f005db601eae52af2a156606c685e45f602b9e053dcffed51cb197b342c5cb36a14a2d680aeb7195796bda4bd037112002448008100122400488c040080c5914888b7c74db1fece3614b87cd49ef05ef31a3e665c8e984a67c30e7435e8cb339ba28303f03bb2321a3c629a42d22400488001120024480081081811318c22830cae19dcb8bc8383f7f71169b61380d97d330d906088b3aa07c0128a2d8cc73e90b6cf3b2314ddc76d57418a40d22400488001120024480081081811118c228101d13d793686f71f35114b2295ebb05b9f822b04ba4e8d0f6d47464d006112002448008100122400488c0c0080c4e14886f71b477b205d3701127f60f7dc2313cbc292cbc38acd50304fb76331c0a6490f39150ca0afa03b6e7027d17a01c224004880011200244800810818112901a82eb874d19acdac3fe89a9fc3e5025816a3aa4bc0f2bde87a5612c28f493b2f260cdcb10fabca0120666bc594c8908100122400488001120024460280904e18ac24367bf4febbb33655cb1347ce8dc21cb4480081001224004880011b8c209b4b6b64644445c23a4175f7c312828081becfa89b1df73cf3d77e9d225bf637403a6d4a7f5ddfba43c60d7c8001120024480081001224004ae6a0283f35ce0558d901a4f0488001120024480081081514880a2c051d869e4321120024480081001224004064c80a2c0012324034480081001224004880011188504280a1c859d462e130122400488001120024460c004280a1c304232400488001120024480081081514880a2c051d869e4321120024480081001224004064c80a2c0012324034480081001224004880011188504280a1c859d462e130122400488001120024460c004280a1c304232400488001120024480081081514880a2c051d869e4321120024480081001224004064c80a2c0012324034480081001224004880011188504280a1c859d462e1301224004880011200244200002515151de5a0e214581de7048420488001120024480081081514fa0a7a7272e2ecebb19d3a64d138514057ac321091120024480081001224004ae040249494913274e746d09eea2509404619ce89a47db44800810012240048800112002a397406b6b6b4444c435d75c131414141c1cdcdcdc7cf8f06183c1802dc251c0e4e46485427149488310057674748c5e52e4391120024480081001224004ae24029d9d9dae5120c682983028c436e2067ee208a01805860cbcd99191910337421688001120024480081001224004064e00a3c0008dd073810182223522400488001120024480085c51042e7b14c8eb757a5e1229dfaed71b9c59bc415ba3d569b53a43bba43af026bdde249de522e5db0d7a9dcec5ae4b9eeb267fe65063b3b376b7ac96438d2d5657492fdb7ccb91c633688bef3876bce3622fcaded9032cee6d70f0249e94ced5371e0df40f90c1f3a2574bbc905cd478b743cb250337f130eafdf0702f32bc7b5df5871a86e4210ccfde1cc266e169a8d3e9f4bece65acb9d7f37d08bd1b4ad3c3087940cdf0f4934eed01e1f42a3c6467b1574d4e01dfd72b97ade8c8fafde44dc22f87f4c559f4f8bb6ef8f2f8777bbeb0ec38c0bbfe4349c389be5cba9decaee4adcb1d05b66b13531225c3405e5f969858e6e86ade64a85297a6cc9953aa938e020d55aac43cad435fb2d3787d4568745c626eb1cee45f113a1b3fdc35e763c96b6dc3ae6dbb56d6f7e150e28f34cfbbf5780b7fb1a5ea645a5597a4679e42e3819f5e5ffbd3ca3694f7a7b8a7391ffbcd6fffeebd064f12924269031e947077fb9c8fbf95d6f596f6a122efc2014bdaab0ad34385945e5a23b695d7ab13134ba50f233015262656481e91bd57695017960d7904d9a1db9ea1f1eab5de9deb55c3a3377bd5efb742bbae144fc394dcdc628dc197915ecf775f0547b87c08209ffcfba275258b76b8ff58499e5c924269601e7ed2a93dc8a7f6909dc5d2dd2948fb7ce562a546dcef27068105298971d1695a1fbfe0e87443eb774da7bacd173ddf7c450946815f1abf1378d0878dc0203c178896de7befbdbaba3a0fa8f7dd775f4a4a8a87d0639737e860667902e72166bb9cb2e0641b44d97338457ab15a19b5798b4229b7cbdcbe0dba7dd9796a294b4e359d3a07d6d4f514289d221f5be1c98b728e765f2f957be270b76ce934ff15b99793b1473131c964f8110071fe60c18f2cfb015e8a8f168af5b1382b1350e2bf6d5ad79af86b775d49a1bb8a63cf83d289436760f94d931cd9fe37fa52917f4b7e72f515598b4b14756d1a85a92a3ab1409fa7537260d2d5407e9ef46104f2d2b6362eaa2fddeba89e6f7fa4a4acbe28cf21188a8d0e632b244d4bee9783fefdf1e84dffca03c9d514acc8df7db234d3470f08a67b3ddf07e2c0652c3be8905b6bff79bc161bd462e4c17954489e5c92421f2c3cfca4537b704feda13b8b7df42713f7fdca0523f0f7935364d6f4d4ab8212f5263ecdc70ff5f16fba5d394c9e2e535e776987ce16fc99da2ffd20d635ff6adf1e9cb1c03beeb8035f457665191616f6c31ffed05582db7a4da95278512528bd541c3231e8b570b02c2f9d4973d53a519f3768d28394e9e999553a939b8576dd2ac856ca5d2e80bc419dcb4c2a730bcb4a20d347806837c2eb4a60437a827d17bfad87f6bc5d12b38efd5bf4f63161a48837ee5d1db36ef522f52787d9489c2df1cd6f3f21a83df1a66e1d4c4ab65fc0787d61ba52556c1b64b26b7b7c5b6c7f92582c0016d741c423d5afd4de703dfbf7d3575a84dab1e4d72fdfd3097f94cd81efdd384130e4b3b84735be768d07aab0456233ff5edb2ca8b5bcf9e8ba92c9ffc4ed5dd97f2e49df7488d52e294479d7fbbf2bdba07eefe5746664c3aea32892a2643d7ef8226cd4950a6a6fee6940354c75e5af8945803fbaa1978a4e6efd5d99bb9f5853b34358f2bbbd7648280f803caf2fced9f7d2fe52651417a55066c341f15eaf41b705d666a40bc762a9462ffa89b7200b9541e9aaf4bc62ad4dc2beda2b0a55c231ab2cab3138e45e47b2a954a50c0ac5bf790eaa32f1e02de8e760a2a302db86c4f179a2f15b38dcfc1a0effc4ac7bb9bc4e3c9ca4ba188eed7973f5136f6ec08e76d104be81753d1ee14f6c2a7df4cd7f77300352bdd987e2ccd940ba037f012a0af1cc2ede076befce44d855c2af8049ab167e00d879ec0a19a4ce777b7704290b35f68341ba8f6c08fbf585e84a16bd261ec91bb6da204b9e08005e072ddf80c779bdcdb9ae9dcfac7b750f3be9242103dfb2f5777fb61ff3ecccc22475ca6079c913a165d722d38437a6e1df97f61f16c9b358528855d1a9ed79d40dc1a93d4c67b1c4a1883d3c902bd788fdfde4793dcc532a5c220176de3893d52d08849613d6fae34e91f718a1b3e4d5b9856f0b0f4afac73ffef18c4b6a6868f0305b5f9e0db0747f539bd96caeafae6e3263beb97229527fbade6c3eb97f0de60a422647957c800df54cc991cc75a8b3c945642e9f87a577b7f598ebcb517d5e9d4b9ea39473a30d87d7c055e78bf736148f7b757ff369b3b9e38b4ff67d6d2bce9f377ffd97716bffd6d0612fdbf9dec2b5c5cfef31f5f05fbcf7d7e2712f7f6eafc85cbf016dcedc5067d794fc3637353698b088f95463e3298b5da5b1eab14f263da937b69f379b1b6b3f11dbdeb4fbc94f26a94f9b9bf74f9aa0338ad54817b79be9fddbd4f0c557a68eef7a7a9afffdb7e271efb6b312df6193f797ae2d2efda4dddc89ff30d78710ddfe7afdb8b5c5e3fefa457b47bbe9cbea2f8e33dd1e6f4a27de98b7b6786165b3f9bbe64fb0a2bf1e656aa7ff366eed1b5f3092e6e67f148f7b43104ad67e7acbc2b5ffbbe193f33d3de79b3f40c85f08adffeaef2f17fff203f4f93bf3f17ffddbde45682d00f282ced226e6062b8007cb6e46b96dcd4c3c58369d34f79cac7e0920bf49c8672a6673dda679b074b7c81d35716fde9a6adc3537556219f178943a9259d9fd68eca56adcc0643739a06fa9e393dff14bec8b37be32f3cdffde8247af4844aa8b79cd6f98e6176e9a27dec0aedc84903babb1f7c7bdfa95cd53efdeec53f180ba83b1309bdbeacb01b2ebd8cf800d535b7d5d3d76464fcf49467083839dd7f9de53cf7aa79229984fd6ed177b43ba8f585dfd4fbcc60ed9d48007ed5adbf92e7122481eb427fe3a6eed7b0d9d58bfe90beca3bf7e6df3c41b72e77bbf585bfc9b7fb498f9a3ec947955d0943c657a244f84e64ff0e7e86fa69e0e3ccbb60835fa388b25cf38c448a7f6909fdac375164b1e8a03ba728dd8df4fc1b1356dbe4ff07ffcdbecf867387f0915cde7bf734870c377d12b27a7a5a5e5dcb973f8a6705757173ed969b1582e5ebc681552b7907013259815c0fdc9c0a2e38c8c8ccf3fff1c8da23aae4f77e38d37ba97d317e56cd9546f4e13e2f784f47421d754b319caeb8b12388e67ebdca5d987f9380ef81a9899eb1eec1bb46a58e3bce78b438639fbe6d56932b164545a1a80c25ddda57e1c322c2c2a5dbb79de863abc21684f0d7b1ebb18b7ffe769b16128499e7b9b5d2e0b07cb3980d42911a284377eda581b7ce796f97883785ceaf85d706192dd089790db7652c5492dd267b786df9ce2c6786177820b95c6d3ff5315baaff9fb5398ad1b6f998b9f67bedcdcba2ce286d6a5e34fef6e80aceb842c1fc5057b017d58bbf833dab5b53b7120b2f122cc1587c243384ef6cd6188c89d1ac9b1e60b495208d6d3cd5d107c4fcb23ec7e53e44de9b6dbe49e94803f7be23028bf5c10cb85f013c600b475b0e110d37180f9f18ce48946132c9e2adc2f96a8a8a3b1b6a9162216b77db0750758da00ba6d8329b260a8a8df798f2c3949f9a3d4c9a2a3f819087983b602e6d9eefce2d324fb20bb0c8f307c2af020ec3e99cb36e572004d3bd6247428c771edf85c41a6ed18e3f5558fec837c95a9aaa202781ca8668a389e257524031eb2261dde67c663d97e70387cede786e4f169325640fcfe0712395967e4b500d1d7b3da24bbf88c7123d34c76d1ec6cfcf404c4e4e6ce0d07884f8dfe2c29da768881576f429f8a07d41d0c033bb34d30333321ca89a99d37551516b3913dfd168cce1db43cce77a1b81c3617a9b3a2d29569ca34ec3bec4cc93e72d8e8df06831cb77f094286f819c1200e9f4b9c081d8d555207edd8098be1c4e90b10dfb63dc334419333c3e6852764f6c35279edc2b30b6e4085a4a900ffe9624798e42983cf93789f08cd3b179d8f107e97f077dc3e16287172e1732852e7bb448b044f3dfda4537b00a7f6309dc592bf9f03bc728dd8df4f4e9e009011add4555795a5fbbceadbceba437a4bdb34bc236c7baeca26a52f1702837347180de22de05b6eb945b4fcd39ffe14c7d95d6ac1bb6d78132e5b0c019df276c35abcc32bf4a241a786a79d111aea1f048f2090d7951d7c295de12cce2e2778d56502bdb60cf295180e4a274e9e9e57903b0fe42ee11a6f6cb0c0b5c9531c3190b368e771bc35238fb55fcdad1813264d8d17761b0f34c372f938872e0f18023a2f680e796f1b9dc70ff74056d4647b1d4c9f3f7e273ea3f76aeb4fe6d73e980b5075f2f1caf3feed78befa2aa18df7b6dec9684ecc5f90b7fe67c9186ace9f1c69d36ac1e1ad69378e772f23213c71dc04736dcd7755f6a024ecc6245dcffeae387d1ac338393e3be9aad3b4f742f0dd53ed0df6acc858db0acba7a5dd7cc3a458f9a4a4a4f9d57788fc13973c727ff52d9cf1e8ae59eab71b5d5ead098cfccc5cdb41a5afca816c151e6bc2a1f5921042403bfeba834a3c8484a6b56bd73a9f2b30d4a821bf3c372d01e75857285575751562718923991536556d018c6e043b2e1f01f4918bb67353f2f8b476b49c836be3a7c850eff8a156f80a5cc1c80000400049444154d554ec4de92eee68fe16823d349b0e60574688477ce39e36c89d8ae1a0985c7b8a49fa581c02eb0e34cc623b7ba7b05d4d415c8a26bdb054a35617a60312b41f215ee73b40824add54571665a84a8c0b550b37dd25fb08cdb2d45ff2d07106d1250abf0c9d870e75834c24e67d22f8386865d3e6c3b7a7ce34ecd17c3b77dafda9ce53cc0372c7e9339034798ae06ce76913c6f4e37c9f32de27c2b15d7bf18fd573d9db4a62d44dd863f857962d799e5c825842e8dd22d180879fc22e9ddafd39b587ed2c963c14077ee5bafcbf9ff663daf55ba72e82ec0d7515458e7123d75cef6ddbf380de192411080c5a1488d66ebdf5561c08c1f5e9f0a2e9811783f799b0c520bc998b7344e8855115f66a08640a4120afabda979fe92cc52e15f9cea050b0c61b0ee2704c3bfb7577583f284c3561d2e6e5ec5bea1a203a146c1b9c2241a954e28eb3283701ff02bf683ccd028b53c643f51d38568689fd45dd74002312395e5fed7f5e031c3e87afbe5a4f1dd8f95877d8dc1b58a4c392a190bd7c5aecf8f515a5817c868fc7d1c1aa2e367f0c9c397ef8181b37e3e28f36ccf8aae1a67f54466038bd6aeb8c35775fe7cf567b591ad69e275c0d7dea751d3f0f2fa4a6c54fee3afe996e234c4895db54f90bd8f2b1ec92eb6c2548094f1c680395c7db3012944e1c3a0b70e15b6c07ffd5761ca2d8365b0837f1690cf6c0e8a9433b0e6c84d86436eac192574591f16360e38509c92969a9a9891322c6c5cfc031476bc7d143c673d3925397e4cdc7e14417470323cfc1c1d21a76c4e82b5256407951263697bd1a02f86031931666accdafce620cc4c41b70f0d0f1b849548212d69a144a655a5a9a12ff804860219ee491cc4af3edf8a2937d30db660f8fd740fac8a1edba21797c76195bed7f9f58ea777747dcce7a53b28bd9e3e7708310493b352363c740edb913bcb5f5d08ecfd6c1949bc58341a237fb521c5d08ac3b58f3f0d5ff832fa529d8a69078430dacc1485b8e43fb77af05972caff31de77832f00a659aaaa0201f0d09c525fb48c8e93ff90e63330e457fc37e105ab63fd90aeb67cf100e11ef1341f2a0c5da2725dd008f7d54997d21f5954c7b9c2d01999385e00fcb692cc03794cf690d7be31661a05ee294913811f8865d0f9f1fbb6dd1d3677f85ffee5c0de74e8bbf60688d4eed91726a0fdb59eceb501cd095eb32fe7eb6eb7295aa2a9d4e9d9b5eacd1d594a9f04b3ce5f1d746bd625f65719e324111e0f8cb25e8117e13e8439a803d9e91ceed9b1443c0f9f3e77bdd0b168c704a75797e4a5ca8b033afbaad26013b535735734da9f0036bc2a1c2f462bcc8424d717ac6aa7d825a46e85ad850d796671be38bca440b1971ab006f229b710007df227c6966e2c42014b09497205ed2c43def4f130ef36415289c195cf29dafe83e98f5ba8e8982671f4d4cc4dad76efcecf7f82b8c49b776a36e4a75cecf92c7874f499e90a4298f5927c86152bcbd229cf40c457ec620c502929f5cd284bf3c7a3a6d6a2dcbbd65ec5795f8751d17791dc3c1377f0ab2e2a4f1fe8ff1761c1bc5da5d87b2982d8f34e1e658c8a82e79b65a944f9a621f99e062e254b077fac6bd70ed3d2d79c942378084b0cb5809535e9dec6a5692d289e3175067d7e475bb706078fd2d8fcc6545b809f260f88f1ad125e11e0e62d9475ebd2a8abdf9b6498b77be65879cf4f9b269b121a71affb32bd3840631c95e48ba3dde5e3c30f20999a5f93929d1418f63f135d54d222903fbdbe36062e866142eddb4bf38ddde9bc8dda03d086cbc504cf2b48235d971d1412b84dd99954d5af6cc81d491cc143845c1524889c6233cbbde5c611bd10aac8fc4ea3c3fa58e4fe3e133f0c26d42786dfaa612629f63bd29d9c5929ab137cf9d30575339f92f4277c0b4d8682c2ed99b8117676e07d61d82a6a1ea200ee0b3335d4c081952526c8c01940a4796e7f9deaeaf4a9c23f60564afd98dcf91a005e93ec28c01903fd178060d7cf6838d9fe1d7f269b939c9f88dc1b6f7892079d0a26a5824826d95adcfb85d181a478924e4c8f89b27cdddf98e70cccb56df9c77cf74d4943c65bc4f84865d1f7741ccc2b9781f99252e22181c6fb3799d5c8286f7f92ed122493fe9d4eeffa93d5c67b1e4a138c02bd765fcfd5498749b0f9a72f1e5bccdfb32f378dde35b605391ed8759b885e86b8a07e16c809060b0bd20121172c78d21df1306bb16a45e73fc88e5603b845e1b24aad1a7486010d611ee034abc47833f58fe839b3e9863aa68322083bc3e3d3431adb2ae203341eee28095efc221b1302eacb770d8dac15f08e3227a53eb9bf7f864a6503b874f78f535e94a95292b12eacc151e43a61276f8ae0e7ca2cff9fc9f84ca6089acfc391ec68473ae9cba3af890487cc42a80d4c9e33d2e59b89bb2a593c7410e0f9b01d8b2a9f838e698d8f3c0d11607cd81fd3d8569aed685f25eaa3eacba16c4edc0faa8cb683459dd6610b28644ca632359c81be8f11958175b796b88d035ad07de7e2b1372cf3e607bc8d3c36f1fbb032ceec3aa700e07fab3e0a737dcfa6800e4a30f3cfc56c70b398f2447e0007d20c7add441ebb3ad5e19d64e1eff7cf238bc254f99019e085e35f75140a7b62bb0c00e305b89613b8ba50ec5015eb97cfcd231f190ff7eba0217b67116517c583171b1aedc5ca1b2ffb5eea585f3059eb0fa991d7ac6a410fc2751ecca12b5b6b60edf3ac27d40e779d8f4a1a82fd5404d720965bb371517e7967255c5990a87b5102e4c185971087c6d601c637b59c497463fe4d772fd89ff848a4c5a6d42795d59ef21206a07dac67eb4c0b348081761bf05e6c80a8bf473be3ab4848d7009c81e41a17b81def77c1c206e6243b1326ed541b435b3faa4d2c3a49ba2234f5aeac8163702eb239c0164d647f69b79360bc1ebef58997313ee047a7c06d4c5963d2b37ea2a82c316777755425c754e9f42409ce46860c53de0b8ec060453d49756f5920e80fcff4b825a488cc4935d16e0712b75d0bab4ae97cd10a9e292a7cc004f845efce8359b4e6d1744811d60f602c376164b1d4b03bc72799d5b62a3dcc443f4fb69c7e7f8e60da5592a53e6a67ab5bf1010d531c8fbceda83f3027a4c0a83a380536282af8610d0c12c908de11d0b0cc423d22102c34d00ffc4640f0a46c915510107acc3ede360d4c7f3278dc7dbba2064c2941937f4bda5032c3e182d18061b3834db3621d6edbdad61a895aa181a0257e0a93df24ec32b10f2d01c8dc36a35f0b1408a0287b563a83222400488001120024480080c2981c0a3c0c17c4778489be46ebcabbeb1019f751b82646d3536b4f2ec85bea14ef848bd1e97c5d6b7fba9c8841a98f4063f3a944504880011200244800810817e10189d51207f6cfb1c4d03dec31bfc7461ef2ccdae46f6baebd026534d68745c626e6e5e598def76f07a8dba0017634ef4a333b46e9275224004880011200244e04a25304adf94c1458b835ddef41dc4de89587874092f1bfc17413c5c14e6d6d864d6e5fa7d3a8b4b2f28adc94a0b8af31d287ad8a55d2240048800112002448008044660544481b8e0fa8ec67517b1456c56addcb918398540f727bf7b6dd73a36c9c2eccf73d2d92a70969ab24d9f3dcbd460b17ce17a5c650b27a138ba29fb43981f72faf7ae9a70acf6bd7716e1b4ba109c04e37e7def23c24c5d9dc60fcb1e6e08891f93f8dc037709cbcaf5a9385656539c5ba05156680a85b9cc98231209272b4e536980bd929aa62c85f4226d69162e6951539a9bb1620bd3cf5e53af2e705810e7c670b563d255a85272843915e7ed6ed2d8e6dd36d4e4c565b049f0663e5d5753a4bcb25f7370c541db44800810012240048840bf088cfc3bc2d63dcf6c6d3c2ebfbf65797ecba2e429631c8fec75c5df9c7f3657b9fcc267bb8e896dbf7eeedc875a963f7d76f9ec24d3f6957b8501344b47edc56f22dd353b6a31048cafbeffa9967bc71d86d3b65543203cf6b63ccd827195e7bfb1881347a3d53e14476d43c59683fb2a7a19b8e3128ab45a8d7a0dce645ca5d56a8b33c5e140797a619b1957b936572b5724e639e649f7ee555e939293567d1257bd6e6b2ab34db2cbebd2e232d2f633617d119f12adf6f7b0a1b7499210012240048800112002571f81113f16c837d46d84f8fd774f6333094fbdfd76db5cf9180bdeba3805e327e5e218ddef9b3bf392c32158066776adacc5a02e84adca74418c1799a6ca4d13d8929db177264fc4c6a7ad86edceb9da7046ae98b0249765e68455cb022ecea96adab2d8fcb7bd1c4738d7521417854a387fb55d17374cc579c55a1ee4e81db8477133dd0c4665434941a1a250c5563613c6fc84b571a1a2b4b006780ef4b8548181cf53da4dbb15a61d22400488001120024480080804467c1428f693c4c21318f3b11416894ba3b2d562acc6ea7732ea93aa173d101f63dc55be6b9d63d0d05393ad6bdb87d487e26250d79fe8cb501597525459575594203754715b8addc7130fb27597ed66b9ac0a73bd4eabd36952e2eeceaf6c2acd5208ad59a356e745098bb394a97b8f44fb008054890011200244800810812b91c088bf23cc4d4d5c0c8dea5a615e9873870e49bf198c811d6fc1c5c76294c95323b9738dbb2f40a474808b9ae113e400c60f70b550bef9809a0d21da13068e6c04b19b2d59e60822ed99c2b7dfe27c4566686868a6ce3d84732bef6387e771005095ae54701cafabda0c2e4ff5710ae54c5881837bb8589e509a37e84d0a65ba2ab7b83a1f6a4c6cd490932b0056680d7c14268e29f4dd051f9e9198081001224004880011b8420948874a23a9b161f7aecffc365b5316739879a54afce5cb333cdd4b62ad088f4f9d3277db5be2d2ec2a80099e5a6c5fd084c8b9f76f6b7d674e7989a0621f1aecdafae8eb8d9582288365c5ef5fb6648ab0ebf8f0575c505200ec53d807ed1cc57c6ccc742a7209991be6c54507ad42d5eca53341ee52844b5097e7a7c485628eb86ab0b6282e678ba8b074ffc904b615957eb26ed3c4c4e81c519c5f692e55889bf449048800112002448008100149022368ed10a3f1a815dffd75266b48a43c36125ffe65496a9d6c31c7ed53508b0877c6576eb98e1d2b584384baead4eb3e803b9ece656bb6069e0658dc57453e16ee9650175f1c763e556853f12196304022224004880011200244e0ca2410f8da21ae51d76566b175d64ebc11eb9a82d7dfb132c7169f49ad93edaa6bdb0e4cad6b6bcceb4d49d7ca222f5a6a83e71df51a5c9430ec2a1a607157536edb5e519d5baeeb8e0f4d1f62d792b44d048800112002448008100181c0081a0b1cce1eb1f2678ca7dbf06de24953665cdfdbc0a1b763032cee6d90244480081001224004880011181402818f055ea551e0a05026234480081001224004880011186904028f0247fc3bc2838796ef385a6fc4f7881dc9da6a6c68e5a5df0576280dca06ae17a7d7e9f47af75900dd4d9b500393dee02ea63d22400488001120024480080c0981ab280a6cacdcb97d57b30bc50b7b67697635e2ca72439c4c35a1d17189b9b9796535be2770e1f51a75414a4a4aa21f9d21f693cc1301224004880011200257138111f476c850639745e09c30f669615865110b8f2ee16511435d2f0e04026c32eb72fd3e7fc8a51794d664a505c5f90e1487da51b24f0488001120024480085c4d04467c14c81fdd94ade99a12dc55711192a2efdc9693224c07dd61fcf8cd59ba2eecaaa4e8f9db1ef851a40c98e687303fe4f4ef71786fcceccf73d263d92c33c76adfc35583c53e0d5e6febdb4ee387650f3784c48f497cee81bb04b55e8b0727c1b85fdffbc83dd305137c4d716e814659a1294cf013dcf1fac23495060e6291346529a417694bb338e06b4a7333560833fe65afa95717382c8813bdd85c14be4cba0a554ace3eb63d6f77932653988b9037d4e4c5656c46d9cca7eb6a8ac445e40475fa200244800810012240048840a00446fe1d614b476d379f9a9a7f76d9bcdc731f3cace9c4a6f17565b37463354b9e3efbab85bfb6ee9dbee3146b2f6a5efc26f2e6fcb3b9cae5173edb750c45d68e8f31048cdf9ff3544ba6eb34d2e1b1b7e569168cab3cff8d05179f13934471e8a865c5abef7faae5de7187e134be546c4f868a2d07f755f43270c7251469b51af51a8035555aadb638538c18e5e9856d66734f8fb95ab922314fe3db08af49c949ab3ed9d3d3d3d654a6602b0f63db7569711969fb99b0be884f8956fb7bd8d0ee2d7d1301224004880011200244c083c0881f0b149672bb55958af153eafc19fb563634f2107f9c3dde7762a3a674234efe7c11e0bc9187eb6d9a29a8a95c1ca3fb7d73675e329c3e03107b67fcf810183ff7950f2b9d2f87c8c2b998b024708dc0f03d915b551ec54dac78f244c494b61ab63b83404e55d396854bb789619d0754975d9cc12f8a63e19bdc39971f163215e7156b7990a379708fe266ba14c63541b2a1a4a05051a84a4b4b13c7fc78830e87162b4a0b6b80e7400f806bcbe5297b73c3cd28ed100122400488001120024400dcd6ea18b93c5c9fe6b37b295fb2fede300bdefc9571eb83c3300c62019d6d4de0b0c831506bc5513ed7828e413fbb05ef6f7fc53db4c5a0ae3fd197a12a2ea5a8b2aeaa28416ea8e2b614bb06a20007db71df6e96cbaa30d7ebb43a9d2625eeeefccaa6d22c85e0c61ab53a2f8a2d2bcc95a97b8f443d3ca75d22400488001120024480082081917f479805aa9fed6a405f1b0fe310a07c1a07dc84f10026ddf10bd7478e1f27b3181b4d92d3bd6008c8454403183f33e220dec9439bbb6d511eeb792c7101ff77f39825599a4590e113e458fc83c633c0371f50db634c569cafc80c0d0dcdd4b987702ca7b7c4f3265c0e395da9e0385e57b519a2ec211f7aab50ce841538b8072cc2c3c41bf42685325d955b5c9d0f3526366ac8c915002bb4063e0a13c714faee02334d89081001224004880011b8ca098c823bc2d8435d8f694a1ed3e0d05eeae79991b81f3937a7fa4cf99cf212b1f79627fe3279ba674726b1a6855c3fffce579a3f98b5f180902d5b2a6a756d7df4f5c64a613b831989dfbf6cc91431cbfe2914c78aeedfd6fa8ebd22d791455000ec135ed6b097f0f73dd325d44bc8dc302f2e3a6815ea672f9d097297725c82ba3c3f252e1473eacc15789f575b1497b3455458baff6402db8a4a3f59b7696262748e28ceaf34972ac44dfa240244800810012240048840e00446d0da2146e351abdb1d6a6b48a43c56d6bc7af2c777b5e4c5c3392b1711eed6324b076f91c1188eeb2596e5f973161813d99b9a9b6dfb8e15f0d14366bf4ebdee03b8e3e95cdbbac6f6fc7e7e0baf033b1f15f463457c71d84bd587d88f21ca22024480081001224004ae020281af1dd24bfc349cacb6ceda8977675d53f0fa3b562eeeee868b78d393e3bc27f693457232577d5fdb58d63916e74b495adeb535e6f5a6a46b6591172db5c1f38ece90d6eabbd42baaf369c287a60fb14f3394410488001120024480081001370223682cd0cd2fe78ec5683c333676b2fb28a0337ba8b7acfc19e3e9369c2266d29419d7f737961c6a27c93e11200244800810012240044402818f058efc2890fa94081001224004880011200244205002814781a3e01de1401bdd673d6babb1a195977e41b8cfc686b080879f5df58d0d1d43585d7f4df37c3b9be5c69178bd5eefbaefc8c00d939ede6d76e541db44800810012240042e0381e18b02753a5d373ee33782d285bdb334bb1a71c6c1414b87b6be5612b36ecf29d7c8d2a22d7f7b8f91ad75e79224852ef96e9bee7ef2c7b6cfd134f80aafdc0ae24e9f2af22c1cf87ebb4e1d141a1a1d1d1a1454680bfd787d6262a28f3090af484c2cf591d75ba5bc565dca26d3a1440488001120024480080c8cc0f04581efbdf7de1ffff8c723478ee0d26703f379b04a472c3cba6461bcf74b27fdb67fe6d03a1653d6d7b2a54d1cc9f8a4e994c5f32d1c49a1a388fb86879fc1c1101c1ef0138a7da9c8bddac0f7787d5eca23f9e5f53d3d2737cc2b492caa118a72f3609e8fb555b8bcb6b6a28480dbe0ee89fe9115fd0c20ddedd01e1120024480081081ab9cc0f03d17f8dc73cf89aca3a3a37ffad39fc6c6c606849e3fba295bd33525b8abe2222445dfb92d27255288a8f88657b33fe616cb4eac6c433bcacf97df152beb307efce62c1d1b764b8a9ebfed811f45ca8cb56fbfbd2be68917e7b38883af7b395377bbe691440e3a8d1f963ddc10123f26f1b907ee8a0d133d693db4a33ce3181bae5c7cc3e2f5f7cdc032fcd157b33fbd75cbcfb1088f453606e709a68c8776bc2d6a42b0f2f35f60d558c87a6aef9f7e704cf9c618ddc3b2bcb3f7e1bc869d8d1ffe794e3d339e84a15b77d8af321f5f324352c874a45a24e127ff55e9e48f4075ad0581c075f38ffefc470844ca4fab54ed588f3725144ab6087daa29ce2dd0282b34857e62365eaf0e4dd4d49b2b5047d8ae6932ab15a0578526c2d2ec2d9b71c2c3fcbab652255b480f0c55857145da79518a427559a67dbe45de50931797b119b3673e5d575324ae9587f78d2b0a0b724ad87c89d91baad579e9a0af4a4b5c7c90a9cd9b07fb9485f5a5aa04dca34404880011200244800838088ce8e702dbdada5e7df5d50d1b369c3e7ddae1b1ef0d4b476d379f9a9a7f76d9bcdc731f3cace9b4a95abb6a2f9c688cce695996b3ffbf2661ccc5d795cdd28dd52c79faecaf16fedaba77fa8e53b80670d2b4ee8d87b5c263740dbb3eeb8a1c3f4518810a8fbd2d4fb3605ce5f96f2cf69bd47cdd5b19c72669163dd5929334a1b572e55ee1b6aee5dbda36f1eea3d5d265d988f30e62ead2661c8bdcc62acafd3c2316ab1652636d032c9e366f7e32406b5d072b1d1e7fdb2f5b164d0298b47ac1139adc9fdd33cd975030e0d522b4e0eda7a82a0099bffec2de453b84c649f82959bb24255f2dc2aa0c155b0eeeabe8e5fe2bcfc34c4744c70a39964636a515987bcc759b7429e96ad18822b3c8acad50eddbecbca9cbebd2e232d2f69fc441e2fa223e255a2d16af29989863c86c32636aca53b010924bc8d49a9bd600ac29536bb4e6e22c0a0185a3813e8800112002448008f48bc0f0dd11f670afbdbdfde8d1a31e42c95d8ca76e55a57210963a7f06d43637da431294dff9dc82582e2c363e253952d6799cdd873db15153fa68d99ecaf3188a1951333259b9180eecc18aced43e7671c20bb3ed33cec8c2b998b024678542f19879a95343b8f1b72f9f0615ad27844cbcfd2a2a89f774c59db0c5f0ed339abf6fdd7b02c627468a73169eab7bec62d8e2a91c279f0270b8b6552865ab25383206e72cb44f5b2d2964ea1e2d72b5206cdb3e502d75310392323f110eb71e138048f9295191342500a91661759caa0683f61a3f0381a884af85a0a6cd398c08ed3b268022551a2ef8a7cc2c84836adb6d5c9ce8908b8a9a695367c50d3a1cdeab282d54a954c5153500652c40e4f5456ba1bc48850bed719c223d131752c184db72f94ce0a2e44c6caf93e55022024480081001224004fa48c0f379b53e16ef8ffab5d75e3b77eedc5b6eb925f0cbb8dbd26dce3abdc5f225ebef0db3e0c379326e7d70188b126469bf92eb32740da911a761cce2645c80d84f0a71c161c5604b4ca2f0f4e9f390749d2009bbf7d565d30ee9ea0f1ffb60d661ed1bf73e7ecf74e838741cf31ede592296a93cd479cf5431e2443b2e66c56c16f0790b71893c5b766f5f6162e4e9be1a8a979fcc8a5445de94a45a24f820f691ff700b633238a835814a8145a2d8a09d3dcdb42d92ec15af0981ab5d8b7daf51abf3a25804c995a931d6c32850c895aa9829b916a56d224004880011200244a05f0486752c30383878f6ecd92b56ac983f7f7ee0212006379fed6ac0d6351ec6d13ef9341f21003701233c93eef885eb23c78f93598c8d26318c8b4c9e3d165a2b67d507af9eedb2f407665ec0ffdd3cdee3658a62f1dac673f85ead6ed731983b1eefe402171609ddbac63300e70eed6a03f19144b01c6b3c3b2579ee929c9cd4e570ee347b23e4582d3eff7743eed95fe16de2fccf13a1f2d861e14e2d067b9149603c800376ceb0d28710cd78274f3f51c30904ef41c3f8490844da4fa6eb51bb0f4a122d125ce12b3243434333755e519baba39c423913d66ab43822c8d794e5407681f8bc1fc686a5557ad4d4d7a801b2ec0f01ba1665db9c5c01b0426be0a33071bc419c4386531464434e598d5033afd7d94612515fae04b5d6b9cb4c5022024480081001224004fa4e406a40aaef560229316bd6ac8c8c0cbcd007a2eca1d3f598a6e4310d0e95a57e9e697f0c8fa9b87a1f123937a7fa4cf99c72db68dcf2c45f264f17ec4c4d5b7fedae272fa6dc9d6837dbb5f5d1d71b2b85bd0ca61fbf7fd992f8b98bb73457ce510bc5c7cc3f9a29449b3728d78fd92be884a982618268c0aafbe3365b711833ef4b8c2dbb741b2fc85eb9ed7a219f8b4d9a04f5870eb7a4cd9d8c8391cae5d30e6554af7db25ab6fe8e821c71196249212becda22342be1e7143660690782afc5e408954afa89f63c2bf241c9bb45424bf04301b0cf57fc66d7e19455d51be2e6443fce04f9f5e62c3150c7cfcd39899b735038737753996bc7639633b08c4a3f59b76962623453c4945f692e55607098a5ae5f9399181a240897569ad509c2169756500e2929a18f40f6a6fa8a5c5128e4d007112002448008100122d01702c3f78e706f5e75198d387ae71a05594322e5b1b2e6d5933fbeab252f1ece59b908fb537d7e8c593a788b0cc670ee774bfd1470cbe2bb3af0655e2ec2d50f9e3f678531e1ee0679be0b4711c3b830574d375343bcd3c99f037720927efaf04282d2405bc40b3774bd6ffea2d873e0d7501814a7ac37ab12301a7424a1bc97aab4d451883688001120024480081001770281bf237cb96218777f718f6fde3aeb238cab5c53f0fa3b562ec699a62fe2b811be5de19ae57b5b16c9890fcdf956f193c36ead7a26c9aa394e78ecd05377f8f6c3bd8048fae9c321094a036d9167a867abd94dcceb0b4213d7b29c979adc424094b829da0afb923ab26983081001224004880011e82f81913316e8ab0516a3f1ccd8d8c9018c02fab240f291438037194c38362857c85d8701478e7fe4091120024480081081d14e20f0b1c0911f058ef6be20ff8900112002448008100122307c04028f0287f51de1e103e05993b5d5d8d0cab3778185d455dfd8607b85d72e1a11df38f35ebbf3ad09bc4daed7fb7c19d6a4175fa61d118e9313448008100122400488c0a823302aa2408bb6fced3d46b6329c4b9214bae4bb6d5ed83b4bb3ab914de9c2127f6cfb1c4d836bb825caa53ffb5491b48940a4ed3a755068687474685050a12df4e3f58989893ec240be2231b1d4475e6fd5f15a75690d9b9a991211200244800810012270f51218beb743b66fdffec5175f78905eb4685172322eb9d64b323e69b2eef7745552e8c350c4c2a34b7899e3fd125cd537383ce007d3fa52918ffa7b15f3fabc9447f2cb7161dca8b2f4898945993dc5e9f86ac43c98e7f5d2ad688bcb6b6bc3172a7a352ca9a07f64055f8febf25222024480081001224004ae5e02c33716989e9e7ecd356ed58d1933e6a69bc4f9f3c40eb0d4949595c4ac63ff1e7dbb5e18abea6cfcb024666313c0f1475f5b9dbe6ec356367db4a49099e01b5e5df4da9bea374523ef1bd93bc79dc60f57a7ff79d3ca0f75a79da38921d0fdfe13625d9bfe2dacf90bfcd15717bd2956ca1b3f2c7d662fd6efaba20ee3c72f8b7ea6bff9ef0edb9bcdc6433b568bc2983f8b5533977022e5629532bdd8ffb01d6fd06e81ec3cb630ae3cb76c1394a8c5a13a39ec2bca5505b154a0c359998564a82a0c52a6676615d4e08b16f6c41b6a7205bd2065a1ce795bd9545128160f52093330f3fa2a6510ceb5078fab32d3954105157abb01fa26024480081001224004ae2e026e61d990363d2222e2e69b6f76ad222b2b0b571371955c3f77ee432dcb9f3ebb7c769269fb4a168785c7dff6cb9645b88cc7a4d50b9ed0e4feec9e69a82f2914ec58bb6a2f9c688cce695996b3ffbf260993be84c7de96a75930aef2fc37966ed7baaca9a9f96797cd5f7f61efa21dc23382966f6bdbc4a8ca6ae9b26c3c87c19d74457c5dd92cdd58cd125c2664e1afad7ba7ef38c5ec7669338e456e63c2dccf33625de69b31546c39b8afc219afb93ae1d8e6799899e9323bb3c11ef28129adc0dc63aedba44b49578b46149945666d856adf66e74d5d5e97169791b6ff644f4f4f7d119f12ad168bd7144ccc316436993135e529d8b4cd5c42a6d6dcb406976c2b536bb4e66216775222024480081001224004ae46029eb7598794c1adb7de7af0e0c18b172f622d919191717171eed505cbe0ccae95b538b816721a73d80a6fb8fa4538171396047c648ccb84769242a68d45ee7c6e412cde298d4f61fb2cd995c53de113d55217a7a256cafcc4bd4fd6e3fa6ea88db7894515118ab0632feb527be7f166543bb15153bad11a02d896f3461eaee7206c31343da3f9fbafa625a626a7443ae62ce454356d596cde3b97eabd36f1b51061990e21032342d417364d0045aa34dc566616c22338a098abc41d36b35e54d44c10433d54e40dba830015a58535c073a007c0a7fef294a02f5a0be5f52a05ab5b919e29586485e5722c1b25979ea04fd4a24f224004880011200244e04a2730ac5160585818ae23fccf7ffe13a9e24020dec074c56b3556bf93519f54bde881f818e3aef25deb1caff4b2d8cedb5149218be5024b61629ce6be228858cbe9d3e721e93a8719a98ae44bd6df1b66c1d74d64dcfa6061fee8b07b5f5d36ed90aefef0b10f661dd6be71efe3f74c172d88c11606627e1217858bee6a4da052a092db227b33a3c4925e51a4d7e0e21ab53a2f8a45905c995a083a450da98a99921f6f288b081001224004880011b80a080cdf1d6111264681c260947cca94291e7879cb39801865f2d448ee5ce3ee0b10e908fc422293c0780007ecaccec01024851e26c55d2cc48615bb79bcc76b3380a63fdbc51e316cacc5cff193302662ab8674eb1acf009c3bb4abcd4feddc84f10026ddf10bd7478e1f27b3181b71e13b4c96638d67a724cf5d929393ba1cce9db6bf8f0c7c4566686868a6ce2b6a139d133f39857226acd56871748faf29cb81ec02f1ee30c686a5557ad4d1d7a8317276b965ec5a9acdc20cb0426be07199e6288e378873c8708a826cc8111e0744b37a9df3d144b912d45ae7ae9b2dda21024480081001224004ae0e028e486b989a8b21e06db7dde6752f98d51e1e9f3a65eeb6b762d6e1b64c0530c1e1924cb97cdaa18ceab54f56cbd6df519023be5022296445dc9bd4b5f5d1d71b2b055319e52578a378ffb225534250a7eb314dc9631acc507e9e733dcbbf41b97ecc5e41274c15eca7f690c8b939d567cae7306b2c2d4ffc65320efb59757fdc66ab08c6ccfb728698c93e1500fb7cc56f762d4e5955bd216e4ef4e34c905f6fceb28d00026cce49dc9c83c299bb9bcaa2eceaf88d0acec0322afd64dda68989d14c11537ea5b954812a59eafa359989a1e290ebd24ab33a41c8e6d20aca2125055f12c9de545f912b0a851cfa20024480081001224004ae1a02236eed904e1e470423029fc665203dc5eae2225cd7a6e3f973561813ee7e9bd84715960ede2283319c8b32cf77e178631817e61e89fa30e02de6851bbade377f51ecf9109fa130284e596f562588e1a2684b28efa52a2df5ae9d24448008100122400488c0e82710f8da21fd0c57860e5138e798d56fe82ab159f6ae8beb43edb248cef10a88cda0cbfb2bfd72de33d473987509f5787d4168e25a96f352935b088812e9f2d2529b6dfa22024480081001224004ae5202236e2cf02aed873e349b3719709e407c1450ee121bf6a13ca912012240048800112002573081513c167805f7ca20350de33fc520992233448008100122400488c0d54b60b8df111e6da4adadc68656def666f1303acfb71c693cc3defee00d478ce787b0e261ab6808db40a6890011200244800810817e10a028508466d196bfbdc7e85c62ce8ef2c2de599a5d8d8e695fece2a1fee68f34cfbbf5780b7ff17855ebbc1fb92c1437d8150f5b4583ed38d923024480081001224004064860c4bd1d32c0f6f4bbb8f1499375bf378d88854797f0b2e17b61c5eebfcc3ea136be80728b7ddb9e3998dfc356d1603a4db6880011200244800810818113f08e7b066e73482d586aca367df62c5b830e16cb17ae7f20115f91e08f6ecad6744d09eeaab80849d1776ecb49c119a72585001dc68fdf9ca563837e49d1f3b73df0a3485967e3877f9e53cf0c3efada6ae80efb55e6e34bd86c7f9dc60fcb1e6e08891f93f8dc0377c5863105e8daf9cceb876b2138125728e90e5b6ad3f4b6c974f98657b33fe616cb4eac6cc33de5e7cbef8ac5908eaf29ce2dd0282b34859e2ff8b2328e64e911372d38f3cca7b66d9cabfacbca6377e609bbb74468cb93a7b0f7434e7d597954142efce30d6b96b2990979e3bf1e7a23e6ad67a771d0797cf717afc97ef8fcfc70de78e0a17cebe409ddef54c14d4f4e78f7d978b6d8b174450e3f6883081001224004880011b852098cbe3bc2d7cf9dfb50cbf2a7cf2e9f9d64dabe72af3073b2a5a3b69b4f4dcd3fbb6c5eeeb90f1ed674b2ee9212f27565b37463354b9e3efbab85bfb6ee9dbee3149badfab65fb62c9a043069f5822734b93fbb679ad8d9e1b1b7e569168cab3cff8da5dbdefd61b73f979ba759fee8fae4ee5ae0ae1fc3e45236057d6b57ed85138dd1392dcb72f6ffd7241672b164a8d872705f8573c26751eaf1c9dd78c3be4f6e98cc5d3bf9ee89fbfe1d637b19983f71675ec83b87e6b69e9aa1fd63983840c91f3e72671eb7fddf3f3ada1031e1d7ad857b8500d9f2ddfebda2d33d968e9ed74e7fc7ec5b2eeefff4d2acc766b636c7fcfc3fa79755b2c70da52bf2f08676890011200244800810812b90c0a81b0b0c96c1995d2b6b3b2c10721afb832d0d87093f6f55a562b0943a7fc6be950d8d3ca44809e38f37a3f2898d9ad28dd610c078e9bc9187eb395938171396047c648cfb847f76b95085f881130a72d0b269962e787dc6237327a3b053da265347afee7c6e412cba158fee888953d5b465b199fdec02e96f4e7163bc901339ed467bfc08f0bd8560feed0b9f3f9175ddac9be3239989f32d87019eb9e1e6d86b01e27e517630edd36f4be7cb0182c0564abc9b6cefe61f8c7be0669c253b2ee3b1b3ab5e31f18bafe3a42b92768aa4448008100122400488c01544c01e1e8c9226598dd5ef64d427552f7a203ec6b8ab7cd73a310864dee33d5aef2425942f597f6f98055ff89071eb83c3ecd1181a0a8cc5b9ad8bb69e5eaecccf4976a94edaa6a453e21ccef66a5d6cf4bec9256f683ef6e57fce7f597d3a2de79bd7ff9d96192b14e25c46749def338bf15fe7e92370d38dbddb260d224004880011200244e02a23e0123f8c8696f3165c5f2e46993c35923bd7b8fb02e0f37f42c2afcf7635e066e3611ced93e3f37098bc85dc84f1f8709deef885eb23c78f93598c8d267b1419129904c603c778b0da25680037d95863378f0fe78962cb9eb5eac65a79ce8bb785f016f1aeae6f9bcc07afc4576486868666ea7ab925ec558e09705697d3e37f3077e603cf46fd02ba4f230a908d9f02f0dc8923688e6fd5ac873937b3b5863959087cda7eb4038567de5f0f918e354ebe6c7bbf11f35bbedc0d9065bfd18c024a448008100122400488c05547c016458d967687c7a74e99bbedad9875e8b04c0530c1e978d7639a92c73438fc96fa79a6e31eaaa730726e4ef599f239e52562b9e589bf4c9e2e6cca94cba71dcaa85efb64b56cfd1d053937e18b205b1f7dbdb152c8cc60faf1fb972d99d27ce8f72831950b0e04afbf6365ce4d213e6db2b2127c1500fbd82b1cfd48dffce947cddbc572d9317537e2d6b591736f78eb99d679536b99383be6abc5c2b2c8b1916bb2cfde390385c1f7df0218fada53f7ffdc5afb3fb8734b94f68fd176217d1301224004880011200257218151b9825c278fc36011e18e488aff6af5e48fef6ac98b8773562e42088370144c4a68eb614b076f91c1188e9308d2fa7b100c854d095f3a791e5ff508e3387c10d09978becd4b889a3dc05de7a4d4f8e9f4d5138e6e9403dfc371d7390bd31611200244800810012270e510087c05b9a07ffdeb5f574ebba925448008100122400488001120028111083a778e3d5e36b849afd72724240cae4d873532ee4071256d0c69b75e49a0a82d44800810012270551118d2eb63485090f82ee920231d22b3a297647c907b6b64981bd26e1d194d242f8800112002448008f499c0d05d1f437a7a1c2b53f4d92d3f0586c8ac582319f7437ef466f5daad66b3b9b9b9f9db6fbf0d70003b222262ecd8b153a74ec5b7b27bc5f2d7bffef5bffffbbf7b5523052240048800112002c34ca0d7eb63bffd19c4d723faed03152402bd13a8afafc710b0773d170d0c1631190c06854231748f28b854489b44800810012240042e0f812fbef862d5aa5562dd2fbdf4d20f7ff8c340fca0b1404f4a8144dc5d5d5d870e1d3a79f224169e3871627272725898b8d0b0a7358ffd408c7b14b97a76fdc0a9adad3d7f9ead78d7bfd4d4d4f4cd37dfdc72cb2dfe8bfb71c07f41ca2502448008100122307404fc5c9e3efae8a3eddbb7ffe10f7fc0da5d6f1ce345f337bff9cdc2850befb8e30e3f8ef91b0b5cb060819f9298b563c70eff0a9731179fa6145f7ffef18f7f3c88e340df7df75d6565e5d6ad5b3b3b85c58a8516868787df77df7d4b962c090e965aace43252b822aac651c08042c0a884f4344570bb618f561f9590f623c575e70d87b47a93c8000705d14e6262e2158164881b61397fd2d4192e9f789d63baf121ae70749ab734fe734fa365eaed77fc80388dce1e24af89c0a827802160696929360303bedb6fbfddd19e63c78ebdfaeaabf829e6fa0904fd8d05ba06950ed3ae1b7e82535f599f7efa295a701d95f9fbdfffee6a53dcc65b78ae3a1e0abe8c3bd41e7bec3171a00e256fbffd360ed7bdf2ca2b8e5cff1b7e8c5badd6e2e2e2cf3efb0c9f339b3f7f3e0e01a2291c14c4466ddebc19079cfecffff93ffe03413fc6fd7bd5dfdc8b5fedd5ecfdea2b18fbe39ffd6cfed8fe5a199e729270f05940bca52be180fcc78be7c5e1a48927ebb67ccc568d0118133521220282a2d0ce98a888e888a8902899ab4db4e3e71941d4745576abd1d2b8f227cb5c66548addf0e15b23e0ca7ffe9d87ee5d0f4fee7ceb7e9cfdf1b37559fff7ddd8d73f5c172f83937b5666af9fbdb38ac9fb912c47d40fe4bdfd40d9ae276eb24dbed90f23fd292272fef1aa0f57df7d79e22aaf8efee9aaa796df9de2cb99fad52ffd2fe4ffd7ed37e1714889081001223074047c5d9e7014500cd530e0c3e408db30044467c45dd4710d103d9cecfd1de1ddbb71b531cf74f7dd77a3c8519f67b6efac6baeb94674d411e4491a413549b958919f2c5478f0c10771e0273636f6d1471fc55d6471fcf8f1871f7ef8cd37dff4f6d35be2c7785555158680a83065ca94c71f7f7ccc9831583c333313ed3ffffcf31f7ffc715c5cdcfdf7dfef6dd321f163dca133881b27f794fccfeff68c9df59319c7fe73eefedbc70dfbc5aabbbbdb5773bcc3654938f82ca0a43c397192d89af1d37f1cd4f86f56cb252bcea7fdbdefac4cdfc2de791236dd5e81476bbe8603b1142b2899ae0911565a4c7b61c3d2710017e1dae96382822e49aa0ea7303af196b150b1bda9f38199d7990ebcfb2dc0b75f9fb938630ae8fff1afb177e646f5d7c731d3725edf70d7d86991fd35d05f0822e753dddd3e7ba2bf96032ce7d2d1d77d6328ff7f25efbe94ffaeee0ffffccd7f4919b88653007c23e32e97b7523e918c0810812b9280af9f99929292c2c242d7f84f6cbe437fdab469387ae5d8f58623311628de0876dcedc57ba0dec54489afe014737d65cd99330773d163541003410cdabced632e266fb928f19385a15847470746637ff9cb5fc41064e3c68dcb972f371a8d5aad76f6ecd9be6c3ae4be8ce3b380efbefb2e8e02de70c30d0d0d0dff9f90f05ef0a54b9770acf1b7bffded934f3e890a181ffb7946d0977147ed1863e0ade6f0f06b2f1a35773e5c1cfbc41b6ffc34d625b76f9b3d6c499159ebca5e9c81ab215b2e587c86647d33ebaa6d73d75564dfbe74a9e72faffdfddc79e7ad737b0ec48c8d7eec916cc7aeb82109079fe793922b264d90011e99dffb5e48c4a499913dba763ce6043341ce634fd8743b8af0fd62296bac20ca7d65611ed398f593db954ab6013d97acd6631ffde1e79be0b78fc43ffffcfa275fdff963e37ad7ddfb633b776ffcd34befb2014465e653ab9e5a34510696e63dcb7ebe69d16f1ff9f2f9e78f3cf9fa5b0bc31d3ad09f0130eb8db7fd042ab6fcf3e8b91f4e337d2878f6f197a7164ceed9f639a8fee7c6ee9e13eb7e95fdae8e65c4ce5ffee2aa07a7caa0798f94db4fa66cfabf2f1961ec936b37dc9f32d17ce68b979fa9ca5affbf19537af6fc61d926b87f794af3332fbd0b63e7afddb02a055b72be79ddf3f9effeeb5b50ce9f7fed9123e18fbc55743b584e0eac39ac0f98afe3e07bae3de162d64172681d98f5935b954a19a4a4dd36ebd9dbb23fdcbdfab3c76efdf1384bdd3b7fca5f8f6b54c2fce5ffbbeac1d932f180fbffdbbb16a8a8ae73bd996166781965104545077ca0c12c158c115b8d2f845474454897835647ef8acd6d346d218d60a2988031558c22112df5da5c6b5c894452436f7c4607517b359aa2c98dc4064d8590eb2b6022af79cffdf6d93387c33c0e038259de9ebd5cc77df6feff7ffffb3bc3ec6ffefd38613515efbf9abb4d8f70fbfac2f553342a8af036f24ec92b1a9511e86d33fd5bc96b3301d989b77273e9e761dc533394e7afaa3fdcfb0aedac942404240424047c4040f8a5c88b632a1279c4f9c0a958e1ac59b3304b89f28f3f666302adadaeae462d9bbde475f90c17e3e0efb80ce27048edcbbaed0e3d01110439c5f41c9b1d068b724f1e3bec8b13b009cebb6cd932ccdec20812326081284418cf170bde64b0fb064410cc155b6f468f1e8d4566797979fcea4010c1c99327430062de2c74546eba79499f352d69ce9ff1384de5051b205f5ba49b96a7470675451969d3684adbf0d74b266acba4dfa0d36d28d597e671c559676ab9625a4553ad7ec382fc4a422a173df1c40bfbae34fe53af9ba62bd5eb21ad2bbd6aba79268333874bdebb6738a6c619cc731ad4155daaad42fb481945e7598b974a3730a5bc775909a9fb684ed2b40cfda5f66d730e209efb54d2935cd6f53277f60cd7222ff71e5704468c8fc1aba2bf3ab9efb39b66bc507ad068b05c9f1282c43ec97914aadc9ebb79f3e6dccdfada66ab9df8b77e4f6a8fe4e6fe559b99fd689f80f6b796b2955a50c0cc1d25253bb26b8f6cd63ebb1f7b5bfcfc5b6b49edb6dc5cf9f2cc5f3edaa7feb30f209390fda7e3c70fec583ab60b7f72c1c3a76a08395755575f57854820d2b94fbea9aff9b292681286051193ffd867761c3a7eaa245f5babffe37b176e40a0bd9f4eb7571e5d9093a9210ddb72ff46f7e0c89a2f365cbc4b7ffec95a6fd7c2ffd5efca73325348837e4bf937843496ad590c0ab87c6b49c973132e9dafadbdd60aa5fbef0e8cb8a5464f48f6b403460b7efb9a4d46d9e0142d9651347cf343537559162860e68e0307b62ed7ff71e5ce8bf50e572b4b722f8c5a97a355379c5fbd782720f66fbd4d1a6eb7d2c749d16bb8d66a21a4ba6c0d2860fcf2ad074a9e935f3adf507bdbada75281848084808440e710c05a40247ec11b28604646c6f4e9d371459ed9422d27f58a37d3324695baf78ac6440c82f3252424205c878574206d4c12192c10e4135fee6e47dc38f82b5430d80b15d92d4283c2428f7911e3376fd27d06b1b1b12a950a913f64400431110c9ac24ca1040210f3681985de8d1b6b3e295b3c2d293da368c2fa62fdafc7d8ed01639fa15b73c266addafb9b29766375567a46e9a59185fbcb8a578d3fb22563d9fecb76bb9f818ed045799f3eba7e6d7a58c3f935ba9d37046d0f9ef2abb5734012346b8bdf7e694a7f3f850114a4282f4fbee2c57f8f0df5f357ffbc78bffe8c7e53ba46bf73cd05aac919d45383abd22791dad20cdd72f9c255b071a974df35a31d036146d191178bcbca0a57e87766612084cea885fae2f53f2dcad0254d5b5cf6498d51e000b23143a3460c8b424784296e4cecc0887eed05bd822354e4f331834231dfab183226c86a4061484454045fd751c6a55d9f6e1d367bf58e1cda6f68641f397bfb3688b13affc0fb99f3e78d8bc0ecb4e036f4a61e11b8f8eca7c745468efbd98a7850f2337578ab3397b4f907d6e9e6278e8b78243c0a05e736e66e2efd3c74d810a54faeb413b2040d4b51939a4327cacb4a34cbb7e683b2541e2fffafbd44a31bec6fb5ab22260eb7e94bb7ed3e467f085ebed50ae5767eb6b9bd63deecf93af8d92b208005e4f027ccfd1573d3ee5af472f6fcc5a80f0b90d90db7f517f1b1cad64e1cece81d2779ffdd7100c45973f4d350e701c97b3dee80e3fbcb6ae9af613f309aaf94a2cfe4e4c9a3e567bf42e6c495dbd443e4d4cb8f6fd525ce5e4e9f32b9f6bdf329b3a7c9a14794f67b9c7a7c867662bfc8718b572440d4d141e93f0901090109818e10f0f68d8172969801f03f84bd40b170459e153a45bc7ee7742100c1dbec7a8639273251dd65d3f1f1f4cb186c526881dd8e1f3f5e58d8d93cf3169e43312020e0b5d75e03edc34e643e22c8aa3adba95a7d51daf4e425d905bf282ebb70e1a86ee658253162feb6ff70da114d7cdcd0f04053dd179454acca9c38a8efd8d45f624ebdf6a3af10bda38bd6c356e8dfd2cd740c425fdf031571267960786c7c1824868f1a15d92f08a128d4a46f2a5bafd3ce8c8b500d881d6ead2ad9fa87a3d412f9c1d88c2b67301d065353e9cf08cd8ab75f4c4dd52da19e04ca9abefa0b9d5c3c597ef8c47fd38150ffd577b81a8972ec4cddd10b17ca8a7f5190bd24797a5a91be16e52c81793f95f8a4c2bf6deb744060c08c6993f031758a74f07faf5e6e3b1c064d0a0f8496227ae4d81183b85affd04747f5e9c01057edc19a2f6a4c265e97a94dd5e9b4744ad491a2faf7361a4d26b38575c7796b53710b0c1516b305ff3872e3e7e7fc53d30c76e82847a49e3ab063794adfc3c5af2e489e73d6195d721af7e17f6b707cba86d4bcffd6a1869484d8d8f849a4e1f85befd7242c8bf5b7911b15eb9216bc70e2eea8b969291a7c0edaec39fd14b86d3235717e3ae6d5db6491d3687a1b8ca6264ab8eb218425bbb4da6e46bfcd2ddf39ddee86ee50b3488c3b7159992724b19899563e0007fef740fe39f43f66c0235c8b2466647474fc2cecb97b7d6a14e71f2151617edc4780a1c73f6515fd8c34555fa7527612c8d46d66133e1077bebb414ba5242120212021d0ad0808a7228579f1463cac0b640a8cd3203f77ee5c7713424ae45e8b125edd63edd9b36731238c70206687992432fc7e11a62e6241a40adba111ffc4768d679f7d966dd4d8b76f1f5683c1e6f0e1c34514793fbdc9f4efdf1f325f7cf1050bb4b2882062815555552082393939a88200c4bc5940ad7bd5e089f37fb7e2de9aed1fbf577a38222071cc1035f3c462a0832eb15b31fefac9b941c46669311889ccc12a10f3a4021ab5ada9b985b04230bdb6162c26a38db36133190c3647d39ac890a6664af8ce6c9cb1f628d1aedb9a364e7ebc721f18a0433344038377b9185b985286396e0b6784d8658e8130666874afa1853f99a38cd050158ba9d5626aaafdfc70e97b303b6bc5efe64f1cec3045fd2321c181537e3a415f81d194a6c4a93f51c8e54201568eabc7c2d0d0509769dcb851fdfd89f9ecb6dfeca9a2aa49991b52637aaba347d92b31f3c65981210e1c5c5c6cc29a4b09557126af55b00399cabf9fbaac519b10f433a987c43a9ab0daec1cbd6b77ab8c9888a85ce59ed3d5f11394d70e625a9e8c88e0a243c8198d88c9d1d325ef549dfe2670d4e2355b0690b49c830d775a8c76b5800041a2e364898c4b2164073e07a3fb05f60ec6b2d783509a1ddb0f71efd63b5f2254953aef893ed7dfa941a9c911b446d6eeeab61dbd7060c6a1c6b58c3e39bb45eb1d04d1ae8c48d490ca9afc37f7cb869cdfb013a6e3a95c3774c78173e5c5eaa85086b366a80724437adc81cbd531c14d574bb7e41d01b2cbb3c705052952e3c9d6cafa7b8ae193472b9b1aae1b0030f72778f1cfa7aa478f255feec153564f4444f726dd9974b1e2e34f82ce6495e08b270ad82862b5f124bf72ed9bfb173a20533364399ca58b848084808440070878fcc6c0b60fa881f0b15017f6028787873ff6d8636023c8338b0b172e64c7477bb40019b1f3029989ce06b79896c8d59d024218fe797351c4947b15824c1f7cf0014eefbb73e7cef6eddb21c0fb8fe363b053040bf8dcb57c29c1ca4aec05c15435c865646424541011c4d4302382ab57afc65c3004bc2dc0f4d684bc7764a2eef5a4f41527fff21f194b7f4e42a7e715644e1e1242426894ebfae5ea9b93d5832262342021bb3ebcfac422e5d7a7c0a7d49362683552e59e53571f1d43ae7083d0242cff27a25b40404170a40a212df55760253d2d61f83f77ed8119133d93991d0b62475ccb11b7e27826d70c2ebd62d2e24941657da362c4140c84f5d7412d11eea83d5f90b9aafc2e49c9ccfff0d569039436b04fa3b9cd093cd627e2c77df6f995fabbdf0f1c183166748cef8140d8c7d92eed5f193228a2af8ad4ff4f55249736ae0000090349444154f8d4a953a96bc6cfbe6e89890b7a243c2e848658b0964d24c19a486d475587b2961d6232bf7afba32769c84a107a15deda8275257b1ab275b9cbd2a8bc46bb6b5746a8cdc8e8b4920bcaa2b8e5db63bf7d358b198cd7ae4b8c0e2066165364653e5d8387c521545ba9491d166cb5868cc0d9a0c78976747f05b1d806242c5317e6ac5d30579da84d5093737fd85495baa78fd04fda42fb5e0802866d84d4598812bacddc163c6fd7ae9aecac92a20d89cf67a5dcca3fc88503bba53b5c9f0fad6cc3f9f01277242d969e76e0b7cc01757cc6c6acf427071b8ce6d1f3376c34adcd2e7cf17821f531eea5bd0583e8cf42a2eefb9fcbd26b692ea1e04fda601b89484855175e2ccecb8a7b3e47fbfdba12fa47641b312f6fdde5b539078b76263e9f91726b2be5ea52921090109010b82f04302189cd092036cc0aa2368585dc379480f9807161cb2fc889378ae5873d982e5ecc9b370f25381545a96c1b085c64d8adc9241c05db44ae5dbb366cd8b0b67b418e5140ec0ec1d240e6136275827a4716a335db4dec5e25629c17562814478e1cb970811e203261c204ecdb4d4f4f67ab038b8b8b4588a0b8719c178d7301232222c0f970580c6bce60302010c8f6e02c59b22435359577c32523665cae0c0a50cacd4d7fff68cbeed6396f3c1d2357b51e7e49b7f11c8209cf9d38b5147b3d562e5a43834a2015e9af1767cc50363795af4c7abd528d45fd34d243120a3fdc18d78b9e96c2a75b47572fcc37ed3eb669b09c586f1d4d5a989fb5fb60f2e0004ca7de39bb317d0d1d8b12b5299525071bd4bf3eb17f2e3548b28e6d4a26b74e262d5c9790f3eefa69fd7923231eb1ffed9d3559dbc142698a7be99d377f36f07ad9eff7053eb36acef8108515314793d5338fb971ebbb77f67df8dcd2f97d7a3fc2d45dae22e060da5d4804ef7c565113fef8e30369388d4ba6eb15676b8866d2d4f0ab159f92d8c763c38349f39d8a4fab621f9f8a2c9ff0a112393f7cf7eedd4b972ee585db65648a0095bf9fa00854d72653e0fc188bd1c0989b421520bc2572854ae18f0d065052a91416cc1a5bed32854ae52fa3349963c99c0a283315512aac66a3a98d3b0bdaea20ebf0cd666a355afd140101f0d366016db1531794fe66d88775bb1ff5454e6c44d1ce4f81db3255804a46c0558da4cd4f3b5f88fe020466bbb9ee8beb86f0e8a8b07bff38b6e2854d0d09b9e5bf7fb21bbae30967a34de68ee48372c06eb35af1e8b85f4372a54a21773e51fcd83118ad141c3f54fa191b8da497d29f3e661b831d05210ac02e6390da9aeb2ed6d8a2a3062a8dff28487be138492c2f5fddc19395aa250424042404380444c6476c04c1ccaa384e515151ecec688f627e6cb65458f7f4d34fe3d61b6d64927cb051a8c8e7af5ebd8ae957fe5698c1712db8e52782917fef3d3a93e892a2a3a341135d0ad9ad8871a13cb7d19986b4107942022fc4913477efde45bf4004070e1c2814e6f3e2c6a1bb65cb161c46037e0cf7d8c973d823829794800be2189aecec6cf763f07c344ec5e48a4095524e2c4d2da0068aa010151dc389d26c6e56a802310619e9ad4aa5b4195b5bcc364bf94b49ebc8dad3c573081d8454fea6d6d6f644421514a29011736b13ce8891ab820215329bd9d062a433a7aaa060051dd2544aa5ddcf848cc26c3606850462d06a6d6a41358489cd0c4f0446fc038303e40edea252396a83410d4cc65641f88fef715b068fa3b6eec690c80178166da5829c38f208c17adc2c2c30d041162b02854b0edca5c558a0bbb46f256cafbdb72e531b6009945dda71aa8e6f263b29c5d9a70ef0994e1af0285e772c7bd11bce1df7eac41d7bf26243b81f843dd61d17241fbc030c072ffdf39361cd8655f0c9762b30d51d4b5af486134c75d68e3db31ff089dcceb6a5ff250424041e3a0444c6c7f2f272c6f0105cc3cc2fe277ac7708e761a6989d20c3360e7bebb5d77581fc44aa474d6f1cb1a0a0203333132ade0418b7138e8b1ecf0b8480370b22c685ae625f02125f82b0e5debd7b172d5a042208de89977cf0552e19917641c2b0dcb06fdfbe0834820b565454401740e1f868bc3e0eec192db2e1cac5267f2b629cca584c2d163ebc6a6a6e34719cb2055a26438bc92093d30582cd8d4d0e22654418b7f1871f1a1b431472d2d8c86bf2cd199a1bd92c24b52dbc21c4d0dc04eb7ea411c713727671b08ead997f57af40589035b734999913f0a291f30276f8e6443240061450f844dc8545c0c1cf069788a0bbba48098b028ad8872e6ac50544ec7bab12ef2fd5b20b3ea3deacdc4f396f9fcfdc8f35a76ed49cad15c99888683291900161215613c2981c8bedd6569cadd1ff5d907cf00e3067bcf4cf6ee596a4b639ec56a08a9a73ae22197f6c804c3d200c71f3ae457edb9a907212021202ff4a08781b9e66cc9801125256568633ec1032e45920de9dbb60c182975f7e19cc04fb8585a4cb05360feb020f1d722c7e721115de7a9c0b06053c7dfa346381426161debd272edfef42e1eecde304301041bc41045c10fba8bb601c0c0f0973bec9c9c93838fadb6fbf85111c221d1313c3de23224e9dbbd0627b70303d25b4214f7efb44325760150fc409950479de1c9f11547acd764a5868a57d5f84353ee531990b3287a96144af7d8c0b22fea756aba185b3be7d6a4312f20d01b3d12093a97af50ac0b9dc8656e7e128bee9768bd48fee40677b61331b5b9d90d90caddcab6d3a6b4392971090109010704500f40e240ffb62c17084540f79ec61ddb66d1b465e61b9ab3e7687b8d3326edad15db28312c424111e03496206ddcd76a0df99ea2e1b0779c57e198025d29a88717f7f7f2cb1842ee805560732ce077921c422ea5014af15f1ea5fa1aa4370b01d67e4c8915d80a243cbb089359dbe8875a1f5ff972a56d7f0d783eee58fee40a73bfcf079dce92e4a0a120212023d8480c8f0049e878476b13bf8e041c7d633f01ca8780cd8b978e82116e822e1cb2d4f017d11fe71651858f7e903c045ba4f2392ba8480848084808480848084808440b720005ae20bed7369cb432cd045a2c35b50404c04230ac824193dea51922419eff0a13c8c023dfa581f4640249f250424042404240424048040cf8d8f38865f78024657d0c63929987ee635d9d133f76f9637e89e918cbb63f2b097607fd3c3de05c97f090109010901090109819e40a087680fdeb2f17f4046f7b1c9d7e4ea0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next, switch to the Console tab, from where you can enter in and run any piece of JavaScript code by hitting the return key. You can also use the Console as a multi-line editor using the Shift + Enter shortcut on Windows, or Ctrl + Enter shortcut on Mac to move from the end of one line to the start of another.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Models\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone models contain data for an application as well as the logic around this data. For example, we can use a model to represent the concept of a todo item including its attributes like title (todo content) and completed (current state of the todo).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Models can be created by extending {\f1 Backbone.Model} as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todo = Backbone.Model.extend(\{\});\line
+\line
+// We can then create our own concrete instance of a (Todo) model\line
+// with no values at all:\line
+var todo1 = new Todo();\line
+// Following logs: \{\}\line
+console.log(JSON.stringify(todo1));\line
+\line
+// or with some arbitrary data:\line
+var todo2 = new Todo(\{\line
+ title: 'Check the attributes of both model instances in the console.',\line
+ completed: true\line
+\});\line
+\line
+// Following logs: \{"title":"Check the attributes of both model instances in the console.","completed":true\}\line
+console.log(JSON.stringify(todo2));\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Initialization\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The {\f1 initialize()} method is called when a new instance of a model is created. Its use is optional; however you\u8217'll see why it\u8217's good practice to use it below.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todo = Backbone.Model.extend(\{\line
+ initialize: function()\{\line
+ console.log('This model has been initialized.');\line
+ \}\line
+\});\line
+\line
+var myTodo = new Todo();\line
+// Logs: This model has been initialized.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Default values}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 There are times when you want your model to have a set of default values (e.g., in a scenario where a complete set of data isn\u8217't provided by the user). This can be set using a property called {\f1 defaults} in your model.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todo = Backbone.Model.extend(\{\line
+ // Default todo attribute values\line
+ defaults: \{\line
+ title: '',\line
+ completed: false\line
+ \}\line
+\});\line
+\line
+// Now we can create our concrete instance of the model\line
+// with default values as follows:\line
+var todo1 = new Todo();\line
+\line
+// Following logs: \{"title":"","completed":false\}\line
+console.log(JSON.stringify(todo1));\line
+\line
+// Or we could instantiate it with some of the attributes (e.g., with custom title):\line
+var todo2 = new Todo(\{\line
+ title: 'Check attributes of the logged models in the console.'\line
+\});\line
+\line
+// Following logs: \{"title":"Check attributes of the logged models in the console.","completed":false\}\line
+console.log(JSON.stringify(todo2));\line
+\line
+// Or override all of the default attributes:\line
+var todo3 = new Todo(\{\line
+ title: 'This todo is done, so take no action on this one.',\line
+ completed: true\line
+\});\line
+\line
+// Following logs: \{"title":"This todo is done, so take no action on this one.","completed":true\} \line
+console.log(JSON.stringify(todo3));\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Getters & Setters\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Model.get()}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 Model.get()} provides easy access to a model\u8217's attributes.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todo = Backbone.Model.extend(\{\line
+ // Default todo attribute values\line
+ defaults: \{\line
+ title: '',\line
+ completed: false\line
+ \}\line
+\});\line
+\line
+var todo1 = new Todo();\line
+console.log(todo1.get('title')); // empty string\line
+console.log(todo1.get('completed')); // false\line
+\line
+var todo2 = new Todo(\{\line
+ title: "Retrieved with model's get() method.",\line
+ completed: true\line
+\});\line
+console.log(todo2.get('title')); // Retrieved with model's get() method.\line
+console.log(todo2.get('completed')); // true\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you need to read or clone all of a model\u8217's data attributes, use its {\f1 toJSON()} method. This method returns a copy of the attributes as an object (not a JSON string despite its name). (When {\f1 JSON.stringify()} is passed an object with a {\f1 toJSON()} method, it stringifies the return value of {\f1 toJSON()} instead of the original object. The examples in the previous section took advantage of this feature when they called {\f1 JSON.stringify()} to log model instances.)\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todo = Backbone.Model.extend(\{\line
+ // Default todo attribute values\line
+ defaults: \{\line
+ title: '',\line
+ completed: false\line
+ \}\line
+\});\line
+\line
+var todo1 = new Todo();\line
+var todo1Attributes = todo1.toJSON();\line
+// Following logs: \{"title":"","completed":false\} \line
+console.log(todo1Attributes);\line
+\line
+var todo2 = new Todo(\{\line
+ title: "Try these examples and check results in console.",\line
+ completed: true\line
+\});\line
+\line
+// logs: \{"title":"Try these examples and check results in console.","completed":true\}\line
+console.log(todo2.toJSON());\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Model.set()}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 Model.set()} sets a hash containing one or more attributes on the model. When any of these attributes alter the state of the model, a \u8220"change\u8221" event is triggered on it. Change events for each attribute are also triggered and can be bound to (e.g. {\f1 change:name}, {\f1 change:age}).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todo = Backbone.Model.extend(\{\line
+ // Default todo attribute values\line
+ defaults: \{\line
+ title: '',\line
+ completed: false\line
+ \}\line
+\});\line
+\line
+// Setting the value of attributes via instantiation\line
+var myTodo = new Todo(\{\line
+ title: "Set through instantiation."\line
+\});\line
+console.log('Todo title: ' + myTodo.get('title')); // Todo title: Set through instantiation.\line
+console.log('Completed: ' + myTodo.get('completed')); // Completed: false\line
+\line
+// Set single attribute value at a time through Model.set():\line
+myTodo.set("title", "Title attribute set through Model.set().");\line
+console.log('Todo title: ' + myTodo.get('title')); // Todo title: Title attribute set through Model.set().\line
+console.log('Completed: ' + myTodo.get('completed')); // Completed: false\line
+\line
+// Set map of attributes through Model.set():\line
+myTodo.set(\{\line
+ title: "Both attributes set through Model.set().",\line
+ completed: true\line
+\});\line
+console.log('Todo title: ' + myTodo.get('title')); // Todo title: Both attributes set through Model.set().\line
+console.log('Completed: ' + myTodo.get('completed')); // Completed: true\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Direct access}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Models expose an {\f1 .attributes} attribute which represents an internal hash containing the state of that model. This is generally in the form of a JSON object similar to the model data you might find on the server but can take other forms.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Setting values through the {\f1 .attributes} attribute on a model bypasses triggers bound to the model.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Passing {\f1 \{silent:true\}} on change doesn\u8217't delay individual {\f1 "change:attr"} events. Instead they are silenced entirely:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Person = new Backbone.Model();\line
+Person.set(\{name: 'Jeremy'\}, \{silent: true\});\line
+\line
+console.log(!Person.hasChanged(0));\line
+// true\line
+console.log(!Person.hasChanged(''));\line
+// true\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Remember where possible it is best practice to use {\f1 Model.set()}, or direct instantiation as explained earlier.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Listening for changes to your model\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you want to receive a notification when a Backbone model changes you can bind a listener to the model for its change event. A convenient place to add listeners is in the {\f1 initialize()} function as shown below:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todo = Backbone.Model.extend(\{\line
+ // Default todo attribute values\line
+ defaults: \{\line
+ title: '',\line
+ completed: false\line
+ \},\line
+ initialize: function()\{\line
+ console.log('This model has been initialized.');\line
+ this.on('change', function()\{\line
+ console.log('- Values for this model have changed.');\line
+ \});\line
+ \}\line
+\});\line
+\line
+var myTodo = new Todo();\line
+\line
+myTodo.set('title', 'The listener is triggered whenever an attribute value changes.');\line
+console.log('Title has changed: ' + myTodo.get('title'));\line
+\line
+\line
+myTodo.set('completed', true);\line
+console.log('Completed has changed: ' + myTodo.get('completed'));\line
+\line
+myTodo.set(\{\line
+ title: 'Changing more than one attribute at the same time only triggers the listener once.',\line
+ completed: true\line
+\});\line
+\line
+// Above logs:\line
+// This model has been initialized.\line
+// - Values for this model have changed.\line
+// Title has changed: The listener is triggered whenever an attribute value changes.\line
+// - Values for this model have changed.\line
+// Completed has changed: true\line
+// - Values for this model have changed.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You can also listen for changes to individual attributes in a Backbone model. In the following example, we log a message whenever a specific attribute (the title of our Todo model) is altered.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todo = Backbone.Model.extend(\{\line
+ // Default todo attribute values\line
+ defaults: \{\line
+ title: '',\line
+ completed: false\line
+ \},\line
+\line
+ initialize: function()\{\line
+ console.log('This model has been initialized.');\line
+ this.on('change:title', function()\{\line
+ console.log('Title value for this model has changed.');\line
+ \});\line
+ \},\line
+\line
+ setTitle: function(newTitle)\{\line
+ this.set(\{ title: newTitle \});\line
+ \}\line
+\});\line
+\line
+var myTodo = new Todo();\line
+\line
+// Both of the following changes trigger the listener:\line
+myTodo.set('title', 'Check what\\'s logged.');\line
+myTodo.setTitle('Go fishing on Sunday.');\line
+\line
+// But, this change type is not observed, so no listener is triggered:\line
+myTodo.set('completed', true);\line
+console.log('Todo set as completed: ' + myTodo.get('completed'));\line
+\line
+// Above logs:\line
+// This model has been initialized.\line
+// Title value for this model has changed.\line
+// Title value for this model has changed.\line
+// Todo set as completed: true\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Validation\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone supports model validation through {\f1 model.validate()}, which allows checking the attribute values for a model prior to setting them. By default, validation occurs when the model is persisted using the {\f1 save()} method or when {\f1 set()} is called if {\f1 \{validate:true\}} is passed as an argument.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Person = new Backbone.Model(\{name: 'Jeremy'\});\line
+\line
+// Validate the model name\line
+Person.validate = function(attrs) \{\line
+ if (!attrs.name) \{\line
+ return 'I need your name';\line
+ \}\line
+\};\line
+\line
+// Change the name\line
+Person.set(\{name: 'Samuel'\});\line
+console.log(Person.get('name'));\line
+// 'Samuel'\line
+\line
+// Remove the name attribute, force validation\line
+Person.unset('name', \{validate: true\});\line
+// false\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Above, we also use the {\f1 unset()} method, which removes an attribute by deleting it from the internal model attributes hash.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Validation functions can be as simple or complex as necessary. If the attributes provided are valid, nothing should be returned from {\f1 .validate()}. If they are invalid, an error value should be returned instead.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Should an error be returned:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab An {\f1 invalid} event will triggered, setting the {\f1 validationError} property on the model with the value which is returned by this method.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 .save()} will not continue and the attributes of the model will not be modified on the server.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A more complete validation example can be seen below:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todo = Backbone.Model.extend(\{\line
+ defaults: \{\line
+ completed: false\line
+ \},\line
+\line
+ validate: function(attribs)\{\line
+ if(attribs.title === undefined)\{\line
+ return "Remember to set a title for your todo.";\line
+ \}\line
+ \},\line
+\line
+ initialize: function()\{\line
+ console.log('This model has been initialized.');\line
+ this.on("invalid", function(model, error)\{\line
+ console.log(error);\line
+ \});\line
+ \}\line
+\});\line
+\line
+var myTodo = new Todo();\line
+myTodo.set('completed', true, \{validate: true\}); // logs: Remember to set a title for your todo.\line
+console.log('completed: ' + myTodo.get('completed')); // completed: false\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Note}: the {\f1 attributes} object passed to the {\f1 validate} function represents what the attributes would be after completing the current {\f1 set()} or {\f1 save()}. This object is distinct from the current attributes of the model and from the parameters passed to the operation. Since it is created by shallow copy, it is not possible to change any Number, String, or Boolean attribute of the input within the function, but it {\i is} possible to change attributes in nested objects.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 An example of this (by @fivetanley) is available {\field{\*\fldinst{HYPERLINK "http://jsfiddle.net/2NdDY/7/"}}{\fldrslt{\ul
+here
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Views\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Views in Backbone don\u8217't contain the HTML markup for your application; they contain the logic behind the presentation of the model\u8217's data to the user. This is usually achieved using JavaScript templating (e.g., Underscore Microtemplates, Mustache, jQuery-tmpl, etc.). A view\u8217's {\f1 render()} method can be bound to a model\u8217's {\f1 change()} event, enabling the view to instantly reflect model changes without requiring a full page refresh.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Creating new views\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Creating a new view is relatively straightforward and similar to creating new models. To create a new View, simply extend {\f1 Backbone.View}. We introduced the sample TodoView below in the previous chapter; now let\u8217's take a closer look at how it works:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var TodoView = Backbone.View.extend(\{\line
+\line
+ tagName: 'li',\line
+\line
+ // Cache the template function for a single item.\line
+ todoTpl: _.template( "An example template" ),\line
+\line
+ events: \{\line
+ 'dblclick label': 'edit',\line
+ 'keypress .edit': 'updateOnEnter',\line
+ 'blur .edit': 'close'\line
+ \},\line
+\line
+ // Re-render the titles of the todo item.\line
+ render: function() \{\line
+ this.$el.html( this.todoTpl( this.model.toJSON() ) );\line
+ this.input = this.$('.edit');\line
+ return this;\line
+ \},\line
+\line
+ edit: function() \{\line
+ // executed when todo label is double clicked\line
+ \},\line
+\line
+ close: function() \{\line
+ // executed when todo loses focus\line
+ \},\line
+\line
+ updateOnEnter: function( e ) \{\line
+ // executed on each keypress when in todo edit mode,\line
+ // but we'll wait for enter to get in action\line
+ \}\line
+\});\line
+\line
+var todoView = new TodoView();\line
+\line
+// log reference to a DOM element that corresponds to the view instance\line
+console.log(todoView.el); // logs \par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 What is {\f1 el}?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The central property of a view is {\f1 el} (the value logged in the last statement of the example). What is {\f1 el} and how is it defined?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 el} is basically a reference to a DOM element and all views must have one. Views can use {\f1 el} to compose their element\u8217's content and then insert it into the DOM all at once, which makes for faster rendering because the browser performs the minimum required number of reflows and repaints.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 There are two ways to associate a DOM element with a view: a new element can be created for the view and subsequently added to the DOM or a reference can be made to an element which already exists in the page.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you want to create a new element for your view, set any combination of the following properties on the view: {\f1 tagName}, {\f1 id}, and {\f1 className}. A new element will be created for you by the framework and a reference to it will be available at the {\f1 el} property. If nothing is specified {\f1 tagName} defaults to {\f1 div}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the example above, {\f1 tagName} is set to \u8216'li\u8217', resulting in creation of an li element. The following example creates a ul element with id and class attributes:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var TodosView = Backbone.View.extend(\{\line
+ tagName: 'ul', // required, but defaults to 'div' if not set\line
+ className: 'container', // optional, you can assign multiple classes to this property like so: 'container homepage'\line
+ id: 'todos', // optional\line
+\});\line
+\line
+var todosView = new TodosView();\line
+console.log(todosView.el); // logs
\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The above code creates the DOM element below but doesn\u8217't append it to the DOM.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1
\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If the element already exists in the page, you can set {\f1 el} as a CSS selector that matches the element.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 el: '#footer'\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Alternatively, you can set {\f1 el} to an existing element when creating the view:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var todosView = new TodosView(\{el: $('#footer')\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note: When declaring a View, {\f1 options}, {\f1 el}, {\f1 tagName}, {\f1 id} and {\f1 className} may be defined as functions, if you want their values to be determined at runtime.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b $el and $()}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 View logic often needs to invoke jQuery or Zepto functions on the {\f1 el} element and elements nested within it. Backbone makes it easy to do so by defining the {\f1 $el} property and {\f1 $()} function. The {\f1 view.$el} property is equivalent to {\f1 $(view.el)} and {\f1 view.$(selector)} is equivalent to {\f1 $(view.el).find(selector)}. In our TodosView example\u8217's render method, we see {\f1 this.$el} used to set the HTML of the element and {\f1 this.$()} used to find subelements of class \u8216'edit\u8217'.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b setElement}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you need to apply an existing Backbone view to a different DOM element {\f1 setElement} can be used for this purpose. Overriding this.el needs to both change the DOM reference and re-bind events to the new element (and unbind from the old).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 setElement} will create a cached {\f1 $el} reference for you, moving the delegated events for a view from the old element to the new one.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+// We create two DOM elements representing buttons\line
+// which could easily be containers or something else\line
+var button1 = $('');\line
+var button2 = $('');\line
+\line
+// Define a new view\line
+var View = Backbone.View.extend(\{\line
+ events: \{\line
+ click: function(e) \{\line
+ console.log(view.el === e.target);\line
+ \}\line
+ \}\line
+ \});\line
+\line
+// Create a new instance of the view, applying it\line
+// to button1\line
+var view = new View(\{el: button1\});\line
+\line
+// Apply the view to button2 using setElement\line
+view.setElement(button2);\line
+\line
+button1.trigger('click'); \line
+button2.trigger('click'); // returns true\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The \u8220"el\u8221" property represents the markup portion of the view that will be rendered; to get the view to actually render to the page, you need to add it as a new element or append it to an existing element.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+// We can also provide raw markup to setElement\line
+// as follows (just to demonstrate it can be done):\line
+var view = new Backbone.View;\line
+view.setElement('
');\line
+view.$('a b').html(); // outputs "test"\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Understanding {\f1 render()}}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 render()} is an optional function that defines the logic for rendering a template. We\u8217'll use Underscore\u8217's micro-templating in these examples, but remember you can use other templating frameworks if you prefer. Our example will reference the following HTML markup:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+\line
+ \line
+ \line
+ \line
+\line
+\line
+
\line
+
\line
+ \line
+ \line
+ \line
+ \line
+ \line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The {\f1 _.template} method in Underscore compiles JavaScript templates into functions which can be evaluated for rendering. In the TodoView, I\u8217'm passing the markup from the template with id {\f1 item-template} to {\f1 _.template()} to be compiled and stored in the todoTpl property when the view is created.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The {\f1 render()} method uses this template by passing it the {\f1 toJSON()} encoding of the attributes of the model associated with the view. The template returns its markup after using the model\u8217's title and completed flag to evaluate the expressions containing them. I then set this markup as the HTML content of the {\f1 el} DOM element using the {\f1 $el} property.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Presto! This populates the template, giving you a data-complete set of markup in just a few short lines of code.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A common Backbone convention is to return {\f1 this} at the end of {\f1 render()}. This is useful for a number of reasons, including:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Making views easily reusable in other parent views.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Creating a list of elements without rendering and painting each of them individually, only to be drawn once the entire list is populated.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's try to implement the latter of these. The {\f1 render}method of a simple ListView which doesn\u8217't use an ItemView for each item could be written:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+var ListView = Backbone.View.extend(\{\line
+ render: function()\{\line
+ this.$el.html(this.model.toJSON());\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Simple enough. Let\u8217's now assume a decision is made to construct the items using an ItemView to provide enhanced behaviour to our list. The ItemView could be written:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+var ItemView = Backbone.View.extend(\{\line
+ events: \{\},\line
+ render: function()\{\line
+ this.$el.html(this.model.toJSON());\line
+ return this;\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note the usage of {\f1 return this;} at the end of {\f1 render}. This common pattern enables us to reuse the view as a sub-view. We can also use it to pre-render the view prior to rendering. Using this requires that we make a change to our ListView\u8217's {\f1 render} method as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+var ListView = Backbone.View.extend(\{\line
+ render: function()\{\line
+\line
+ // Assume our model exposes the items we will\line
+ // display in our list\line
+ var items = this.model.get('items');\line
+\line
+ // Loop through each our items using the Underscore\line
+ // _.each iterator\line
+ _.each(items, function(item)\{\line
+\line
+ // Create a new instance of the ItemView, passing \line
+ // it a specific model item\line
+ var itemView = new ItemView(\{ model: item \});\line
+ // The itemView's DOM element is appended after it\line
+ // has been rendered. Here, the 'return this' is helpful\line
+ // as the itemView renders its model. Later, we ask for \line
+ // its output ("el")\line
+ this.$el.append( itemView.render().el );\line
+ \}, this);\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b The {\f1 events} hash}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The Backbone {\f1 events} hash allows us to attach event listeners to either {\f1 el}-relative custom selectors, or directly to {\f1 el} if no selector is provided. An event takes the form of a key-value pair {\f1 'eventName selector': 'callbackFunction'} and a number of DOM event-types are supported, including {\f1 click}, {\f1 submit}, {\f1 mouseover}, {\f1 dblclick} and more.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+// A sample view\line
+var TodoView = Backbone.View.extend(\{\line
+ tagName: 'li',\line
+\line
+ // with an events hash containing DOM events\line
+ // specific to an item:\line
+ events: \{\line
+ 'click .toggle': 'toggleCompleted',\line
+ 'dblclick label': 'edit',\line
+ 'click .destroy': 'clear',\line
+ 'blur .edit': 'close'\line
+ \},\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 What isn\u8217't instantly obvious is that while Backbone uses jQuery\u8217's {\f1 .delegate()} underneath, it goes further by extending it so that {\f1 this} always refers to the current view object within callback functions. The only thing to really keep in mind is that any string callback supplied to the events attribute must have a corresponding function with the same name within the scope of your view.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The declarative, delegated jQuery events means that you don\u8217't have to worry about whether a particular element has been rendered to the DOM yet or not. Usually with jQuery you have to worry about \u8220"presence or absence in the DOM\u8221" all the time when binding events.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In our TodoView example, the edit callback is invoked when the user double-clicks a label element within the {\f1 el} element, updateOnEnter is called for each keypress in an element with class \u8216'edit\u8217', and close executes when an element with class \u8216'edit\u8217' loses focus. Each of these callback functions can use {\f1 this} to refer to the TodoView object.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note that you can also bind methods yourself using {\f1 _.bind(this.viewEvent, this)}, which is effectively what the value in each event\u8217's key-value pair is doing. Below we use {\f1 _.bind} to re-render our view when a model changes.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+var TodoView = Backbone.View.extend(\{\line
+ initialize: function() \{\line
+ this.model.bind('change', _.bind(this.render, this));\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 _.bind} only works on one method at a time, but supports currying and as it returns the bound function means that you can use {\f1 _.bind} on an anonymous function.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Collections\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Collections are sets of Models and are created by extending {\f1 Backbone.Collection}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Normally, when creating a collection you\u8217'll also want to define a property specifying the type of model that your collection will contain, along with any instance properties required.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the following example, we create a TodoCollection that will contain our Todo models:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todo = Backbone.Model.extend(\{\line
+ defaults: \{\line
+ title: '',\line
+ completed: false\line
+ \}\line
+\});\line
+\line
+var TodosCollection = Backbone.Collection.extend(\{\line
+ model: Todo\line
+\});\line
+\line
+var myTodo = new Todo(\{title:'Read the whole book', id: 2\});\line
+\line
+// pass array of models on collection instantiation\line
+var todos = new TodosCollection([myTodo]);\line
+console.log("Collection size: " + todos.length); // Collection size: 1\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Adding and Removing Models\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The preceding example populated the collection using an array of models when it was instantiated. After a collection has been created, models can be added and removed using the {\f1 add()} and {\f1 remove()} methods:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todo = Backbone.Model.extend(\{\line
+ defaults: \{\line
+ title: '',\line
+ completed: false\line
+ \}\line
+\});\line
+\line
+var TodosCollection = Backbone.Collection.extend(\{\line
+ model: Todo,\line
+\});\line
+\line
+var a = new Todo(\{ title: 'Go to Jamaica.'\}),\line
+ b = new Todo(\{ title: 'Go to China.'\}),\line
+ c = new Todo(\{ title: 'Go to Disneyland.'\});\line
+\line
+var todos = new TodosCollection([a,b]);\line
+console.log("Collection size: " + todos.length);\line
+// Logs: Collection size: 2\line
+\line
+todos.add(c);\line
+console.log("Collection size: " + todos.length);\line
+// Logs: Collection size: 3\line
+\line
+todos.remove([a,b]);\line
+console.log("Collection size: " + todos.length);\line
+// Logs: Collection size: 1\line
+\line
+todos.remove(c);\line
+console.log("Collection size: " + todos.length);\line
+// Logs: Collection size: 0\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note that {\f1 add()} and {\f1 remove()} accept both individual models and lists of models.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Also note that when using {\f1 add()} on a collection, passing {\f1 \{merge: true\}} causes duplicate models to have their attributes merged in to the existing models, instead of being ignored.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var items = new Backbone.Collection;\line
+items.add([\{ id : 1, name: "Dog" , age: 3\}, \{ id : 2, name: "cat" , age: 2\}]);\line
+items.add([\{ id : 1, name: "Bear" \}], \{merge: true \});\line
+items.add([\{ id : 2, name: "lion" \}]); // merge: false\line
+ \line
+console.log(JSON.stringify(items.toJSON()));\line
+// [\{"id":1,"name":"Bear","age":3\},\{"id":2,"name":"cat","age":2\}]\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Retrieving Models\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 There are a few different ways to retrieve a model from a collection. The most straight-forward is to use {\f1 Collection.get()} which accepts a single id as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var myTodo = new Todo(\{title:'Read the whole book', id: 2\});\line
+\line
+// pass array of models on collection instantiation\line
+var todos = new TodosCollection([myTodo]);\line
+\line
+var todo2 = todos.get(2);\line
+\line
+// Models, as objects, are passed by reference\line
+console.log(todo2 === myTodo); // true\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In client-server applications, collections contain models obtained from the server. Anytime you\u8217're exchanging data between the client and a server, you will need a way to uniquely identify models. In Backbone, this is done using the {\f1 id}, {\f1 cid}, and {\f1 idAttribute} properties.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Each model in Backbone has an {\f1 id}, which is a unique identifier that is either an integer or string (e.g., a UUID). Models also have a {\f1 cid} (client id) which is automatically generated by Backbone when the model is created. Either identifier can be used to retrieve a model from a collection.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The main difference between them is that the {\f1 cid} is generated by Backbone; it is helpful when you don\u8217't have a true id - this may be the case if your model has yet to be saved to the server or you aren\u8217't saving it to a database.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The {\f1 idAttribute} is the identifying attribute of the model returned from the server (i.e., the {\f1 id} in your database). This tells Backbone which data field from the server should be used to populate the {\f1 id} property (think of it as a mapper). By default, it assumes {\f1 id}, but this can be customized as needed. For instance, if your server sets a unique attribute on your model named \u8220"userId\u8221" then you would set {\f1 idAttribute} to \u8220"userId\u8221" in your model definition.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The value of a model\u8217's idAttribute should be set by the server when the model is saved. After this point you shouldn\u8217't need to set it manually, unless further control is required.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Internally, {\f1 Backbone.Collection} contains an array of models enumerated by their {\f1 id} property, if the model instances happen to have one. When {\f1 collection.get(id)} is called, this array is checked for existence of the model instance with the corresponding {\f1 id}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // extends the previous example\line
+\line
+var todoCid = todos.get(todo2.cid);\line
+\line
+// As mentioned in previous example, \line
+// models are passed by reference\line
+console.log(todoCid === myTodo); // true\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Listening for events\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As collections represent a group of items, we can listen for {\f1 add} and {\f1 remove} events which occur when models are added to or removed from a collection. Here\u8217's an example:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var TodosCollection = new Backbone.Collection();\line
+\line
+TodosCollection.on("add", function(todo) \{\line
+ console.log("I should " + todo.get("title") + ". Have I done it before? " + (todo.get("completed") ? 'Yeah!': 'No.' ));\line
+\});\line
+\line
+TodosCollection.add([\line
+ \{ title: 'go to Jamaica', completed: false \},\line
+ \{ title: 'go to China', completed: false \},\line
+ \{ title: 'go to Disneyland', completed: true \}\line
+]);\line
+\line
+// The above logs:\line
+// I should go to Jamaica. Have I done it before? No.\line
+// I should go to China. Have I done it before? No.\line
+// I should go to Disneyland. Have I done it before? Yeah!\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In addition, we\u8217're also able to bind to a {\f1 change} event to listen for changes to any of the models in the collection.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var TodosCollection = new Backbone.Collection();\line
+\line
+// log a message if a model in the collection changes\line
+TodosCollection.on("change:title", function(model) \{\line
+ console.log("Changed my mind! I should " + model.get('title'));\line
+\});\line
+\line
+TodosCollection.add([\line
+ \{ title: 'go to Jamaica.', completed: false, id: 3 \},\line
+]);\line
+\line
+var myTodo = TodosCollection.get(3);\line
+\line
+myTodo.set('title', 'go fishing');\line
+// Logs: Changed my mind! I should go fishing\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 jQuery-style event maps of the form {\f1 obj.on(\{click: action\})} can also be used. These can be clearer than needing three separate calls to {\f1 .on} and should align better with the events hash used in Views:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+var Todo = Backbone.Model.extend(\{\line
+ defaults: \{\line
+ title: '',\line
+ completed: false\line
+ \}\line
+\});\line
+\line
+var myTodo = new Todo();\line
+myTodo.set(\{title: 'Buy some cookies', completed: true\});\line
+\line
+myTodo.on(\{\line
+ 'change:title' : titleChanged,\line
+ 'change:completed' : stateChanged\line
+\});\line
+\line
+function titleChanged()\{\line
+ console.log('The title was changed!');\line
+\}\line
+\line
+function stateChanged()\{\line
+ console.log('The state was changed!');\line
+\}\line
+\line
+myTodo.set(\{title: 'Get the groceries'\});\line
+// The title was changed! \par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone events also support a {\field{\*\fldinst{HYPERLINK "http://backbonejs.org/#Events-once"}}{\fldrslt{\ul
+once()
+}}}
+ method, which ensures that a callback only fires one time when a notification arrives. It is similar to Node\u8217's {\field{\*\fldinst{HYPERLINK "http://nodejs.org/api/events.html#events_emitter_once_event_listener"}}{\fldrslt{\ul
+once
+}}}
+, or jQuery\u8217's {\field{\*\fldinst{HYPERLINK "http://api.jquery.com/one/"}}{\fldrslt{\ul
+one
+}}}
+. This is particularly useful for when you want to say \u8220"the next time something happens, do this\u8221".\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // Define an object with two counters\line
+var TodoCounter = \{ counterA: 0, counterB: 0 \};\line
+// Mix in Backbone Events\line
+_.extend(TodoCounter, Backbone.Events);\line
+\line
+// Increment counterA, triggering an event\line
+var incrA = function()\{ \line
+ TodoCounter.counterA += 1; \line
+ TodoCounter.trigger('event'); \line
+\};\line
+\line
+// Increment counterB\line
+var incrB = function()\{ \line
+ TodoCounter.counterB += 1; \line
+\};\line
+\line
+// Use once rather than having to explicitly unbind\line
+// our event listener\line
+TodoCounter.once('event', incrA);\line
+TodoCounter.once('event', incrB);\line
+\line
+// Trigger the event once again\line
+TodoCounter.trigger('event');\line
+\line
+// Check out output\line
+console.log(TodoCounter.counterA === 1); // true\line
+console.log(TodoCounter.counterB === 1); // true\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 counterA} and {\f1 counterB} should only have been incremented once.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Resetting/Refreshing Collections\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Rather than adding or removing models individually, you might want to update an entire collection at once. {\f1 Collection.set()} takes an array of models and performs the necessary add, remove, and change operations required to update the collection.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var TodosCollection = new Backbone.Collection();\line
+\line
+TodosCollection.add([\line
+ \{ id: 1, title: 'go to Jamaica.', completed: false \},\line
+ \{ id: 2, title: 'go to China.', completed: false \},\line
+ \{ id: 3, title: 'go to Disneyland.', completed: true \}\line
+]);\line
+\line
+// we can listen for add/change/remove events\line
+TodosCollection.on("add", function(model) \{\line
+ console.log("Added " + model.get('title'));\line
+\});\line
+\line
+TodosCollection.on("remove", function(model) \{\line
+ console.log("Removed " + model.get('title'));\line
+\});\line
+\line
+TodosCollection.on("change:completed", function(model) \{\line
+ console.log("Completed " + model.get('title'));\line
+\});\line
+\line
+TodosCollection.set([\line
+ \{ id: 1, title: 'go to Jamaica.', completed: true \},\line
+ \{ id: 2, title: 'go to China.', completed: false \},\line
+ \{ id: 4, title: 'go to Disney World.', completed: false \}\line
+]);\line
+\line
+// Above logs:\line
+// Removed go to Disneyland.\line
+// Completed go to Jamaica.\line
+// Added go to Disney World.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you need to simply replace the entire content of the collection then {\f1 Collection.reset()} can be used:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var TodosCollection = new Backbone.Collection();\line
+\line
+// we can listen for reset events\line
+TodosCollection.on("reset", function() \{\line
+ console.log("Collection reset.");\line
+\});\line
+\line
+TodosCollection.add([\line
+ \{ title: 'go to Jamaica.', completed: false \},\line
+ \{ title: 'go to China.', completed: false \},\line
+ \{ title: 'go to Disneyland.', completed: true \}\line
+]);\line
+\line
+console.log('Collection size: ' + TodosCollection.length); // Collection size: 3\line
+\line
+TodosCollection.reset([\line
+ \{ title: 'go to Cuba.', completed: false \}\line
+]);\line
+// Above logs 'Collection reset.'\line
+\line
+console.log('Collection size: ' + TodosCollection.length); // Collection size: 1\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Another useful tip is to use {\f1 reset} with no arguments to clear out a collection completely. This is handy when dynamically loading a new page of results where you want to blank out the current page of results.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 myCollection.reset();\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note that using {\f1 Collection.reset()} doesn\u8217't fire any {\f1 add} or {\f1 remove} events. A {\f1 reset} event is fired instead as shown in the previous example. The reason you might want to use this is to perform super-optimized rendering in extreme cases where individual events are too expensive.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Also note that listening to a {\field{\*\fldinst{HYPERLINK "http://backbonejs.org/#Collection-reset"}}{\fldrslt{\ul
+reset
+}}}
+ event, the list of previous models is available in {\f1 options.previousModels}, for convenience.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todo = new Backbone.Model();\line
+var Todos = new Backbone.Collection([Todo])\line
+.on('reset', function(Todos, options) \{\line
+ console.log(options.previousModels);\line
+ console.log([Todo]);\line
+ console.log(options.previousModels[0] === Todo); // true\line
+\});\line
+Todos.reset([]);\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 An {\f1 update()} method is available for Collections (which is also available as an option to fetch) for \u8220"smart\u8221" updating of sets of models. This method attempts to perform smart updating of a collection using a specified list of models. When a model in this list isn\u8217't present in the collection, it is added. If it is, its attributes will be merged. Models which are present in the collection but not in the list are removed.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var theBeatles = new Collection(['john', 'paul', 'george', 'ringo']);\line
+\line
+theBeatles.update(['john', 'paul', 'george', 'pete']);\line
+\line
+// Fires a `remove` event for 'ringo', and an `add` event for 'pete'.\line
+// Updates any of john, paul and georges's attributes that may have\line
+// changed over the years.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Underscore utility functions\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone takes full advantage of its hard dependency on Underscore by making many of its utilities directly available on collections:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\f1 forEach}: iterate over collections}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todos = new Backbone.Collection();\line
+\line
+Todos.add([\line
+ \{ title: 'go to Belgium.', completed: false \},\line
+ \{ title: 'go to China.', completed: false \},\line
+ \{ title: 'go to Austria.', completed: true \}\line
+]);\line
+\line
+// iterate over models in the collection\line
+Todos.forEach(function(model)\{\line
+ console.log(model.get('title'));\line
+\});\line
+// Above logs:\line
+// go to Belgium.\line
+// go to China.\line
+// go to Austria.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\f1 sortBy()}: sort a collection on a specific attribute}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // sort collection\line
+var sortedByAlphabet = Todos.sortBy(function (todo) \{\line
+ return todo.get("title").toLowerCase();\line
+\});\line
+\line
+console.log("- Now sorted: ");\line
+\line
+sortedByAlphabet.forEach(function(model)\{\line
+ console.log(model.get('title'));\line
+\});\line
+// Above logs:\line
+// go to Austria.\line
+// go to Belgium.\line
+// go to China.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\f1 map()}: iterate through a collection, mapping each value through a transformation function}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var count = 1;\line
+console.log(Todos.map(function(model)\{\line
+ return count++ + ". " + model.get('title');\line
+\}));\line
+// Above logs:\line
+//1. go to Belgium.\line
+//2. go to China.\line
+//3. go to Austria.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\f1 min()}/{\f1 max()}: retrieve item with the min or max value of an attribute}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 Todos.max(function(model)\{\line
+ return model.id;\line
+\}).id;\line
+\line
+Todos.min(function(model)\{\line
+ return model.id;\line
+\}).id;\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\f1 pluck()}: extract a specific attribute}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var captions = Todos.pluck('caption');\line
+// returns list of captions\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\f1 filter()}: filter a collection}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Filter by an array of model IDs}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todos = Backbone.Collection.extend(\{\line
+ model: Todo,\line
+ filterById: function(ids)\{\line
+ return this.models.filter(\line
+ function(c) \{ \line
+ return _.contains(ids, c.id); \line
+ \})\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\f1 indexOf()}: return the item at a particular index within a collection}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var People = new Backbone.Collection;\line
+\line
+People.comparator = function(a, b) \{\line
+ return a.get('name') < b.get('name') ? -1 : 1;\line
+\};\line
+\line
+var tom = new Backbone.Model(\{name: 'Tom'\});\line
+var rob = new Backbone.Model(\{name: 'Rob'\});\line
+var tim = new Backbone.Model(\{name: 'Tim'\});\line
+\line
+People.add(tom);\line
+People.add(rob);\line
+People.add(tim);\line
+\line
+console.log(People.indexOf(rob) === 0); // true\line
+console.log(People.indexOf(tim) === 1); // true\line
+console.log(People.indexOf(tom) === 2); // true\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\f1 any()}: Confirm if any of the values in a collection pass an iterator truth test}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 Todos.any(function(model)\{\line
+ return model.id === 100;\line
+\});\line
+\line
+// or\line
+Todos.some(function(model)\{\line
+ return model.id === 100;\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\f1 size()}: return the size of a collection}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 Todos.size();\line
+\line
+// equivalent to\line
+Todos.length;\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\f1 isEmpty()}: determine whether a collection is empty}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var isEmpty = Todos.isEmpty();\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\f1 groupBy()}: group a collection into groups of like items}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todos = new Backbone.Collection();\line
+\line
+Todos.add([\line
+ \{ title: 'go to Belgium.', completed: false \},\line
+ \{ title: 'go to China.', completed: false \},\line
+ \{ title: 'go to Austria.', completed: true \}\line
+]);\line
+\line
+// create groups of completed and incomplete models\line
+var byCompleted = Todos.groupBy('completed');\line
+var completed = new Backbone.Collection(byCompleted[true]);\line
+console.log(completed.pluck('title'));\line
+// logs: ["go to Austria."]\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In addition, several of the Underscore operations on objects are available as methods on Models.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\f1 pick()}: extract a set of attributes from a model}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todo = Backbone.Model.extend(\{\line
+ defaults: \{\line
+ title: '',\line
+ completed: false\line
+ \}\line
+\});\line
+\line
+var todo = new Todo(\{title: 'go to Austria.'\});\line
+console.log(todo.pick('title'));\line
+// logs \{title: "go to Austria"\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\f1 omit()}: extract all attributes from a model except those listed}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var todo = new Todo(\{title: 'go to Austria.'\});\line
+console.log(todo.omit('title'));\line
+// logs \{completed: false\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\f1 keys()} and {\f1 values()}: get lists of attribute names and values}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var todo = new Todo(\{title: 'go to Austria.'\});\line
+console.log(todo.keys());\line
+// logs: ["title", "completed"]\line
+\line
+console.log(todo.values());\line
+//logs: ["go to Austria.", false]\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\f1 pairs()}: get list of attributes as [key, value] pairs}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var todo = new Todo(\{title: 'go to Austria.'\});\line
+var pairs = todo.pairs();\line
+\line
+console.log(pairs[0]);\line
+// logs: ["title", "go to Austria."]\line
+console.log(pairs[1]);\line
+// logs: ["completed", false]\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\f1 invert()}: create object in which the values are keys and the attributes are values}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var todo = new Todo(\{title: 'go to Austria.'\});\line
+console.log(todo.invert());\line
+\line
+// logs: \{go to Austria.: "title", false: "completed"\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The complete list of what Underscore can do can be found in its official {\field{\*\fldinst{HYPERLINK "http://documentcloud.github.com/underscore/"}}{\fldrslt{\ul
+docs
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Chainable API\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Speaking of utility methods, another bit of sugar in Backbone is its support for Underscore\u8217's {\f1 chain()} method. Chaining is a common idiom in object-oriented languages; a chain is a sequence of method calls on the same object that are performed in a single statement. While Backbone makes Underscore\u8217's array manipulation operations available as methods of Collection objects, they cannot be directly chained since they return arrays rather than the original Collection.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Fortunately, the inclusion of Underscore\u8217's {\f1 chain()} method enables you to chain calls to these methods on Collections.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The {\f1 chain()} method returns an object that has all of the Underscore array operations attached as methods which return that object. The chain ends with a call to the {\f1 value()} method which simply returns the resulting array value. In case you haven\u8217't seen it before, the chainable API looks like this:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var collection = new Backbone.Collection([\line
+ \{ name: 'Tim', age: 5 \},\line
+ \{ name: 'Ida', age: 26 \},\line
+ \{ name: 'Rob', age: 55 \}\line
+]);\line
+\line
+var filteredNames = collection.chain() // start chain, returns wrapper around collection's models\line
+ .filter(function(item) \{ return item.get('age') > 10; \}) // returns wrapped array excluding Tim\line
+ .map(function(item) \{ return item.get('name'); \}) // returns wrapped array containing remaining names\line
+ .value(); // terminates the chain and returns the resulting array\line
+\line
+console.log(filteredNames); // logs: ['Ida', 'Rob']\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Some of the Backbone-specific methods do return {\f1 this}, which means they can be chained as well:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var collection = new Backbone.Collection();\line
+\line
+collection\line
+ .add(\{ name: 'John', age: 23 \})\line
+ .add(\{ name: 'Harry', age: 33 \})\line
+ .add(\{ name: 'Steve', age: 41 \});\line
+\line
+var names = collection.pluck('name');\line
+\line
+console.log(names); // logs: ['John', 'Harry', 'Steve']\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 RESTful Persistence\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Thus far, all of our example data has been created in the browser. For most single page applications, the models are derived from a data set residing on a server. This is an area in which Backbone dramatically simplifies the code you need to write to perform RESTful synchronization with a server through a simple API on its models and collections.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Fetching models from the server}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 Collections.fetch()} retrieves a set of models from the server in the form of a JSON array by sending an HTTP GET request to the URL specified by the collection\u8217's {\f1 url} property (which may be a function). When this data is received, a {\f1 set()} will be executed to update the collection.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todo = Backbone.Model.extend(\{\line
+ defaults: \{\line
+ title: '',\line
+ completed: false\line
+ \}\line
+\});\line
+\line
+var TodosCollection = Backbone.Collection.extend(\{\line
+ model: Todo,\line
+ url: '/todos'\line
+\});\line
+\line
+var todos = new TodosCollection();\line
+todos.fetch(); // sends HTTP GET to /todos\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Saving models to the server}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 While Backbone can retrieve an entire collection of models from the server at once, updates to models are performed individually using the model\u8217's {\f1 save()} method. When {\f1 save()} is called on a model that was fetched from the server, it constructs a URL by appending the model\u8217's id to the collection\u8217's URL and sends an HTTP PUT to the server. If the model is a new instance that was created in the browser (i.e., it doesn\u8217't have an id) then an HTTP POST is sent to the collection\u8217's URL. {\f1 Collections.create()} can be used to create a new model, add it to the collection, and send it to the server in a single method call.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todo = Backbone.Model.extend(\{\line
+ defaults: \{\line
+ title: '',\line
+ completed: false\line
+ \}\line
+\});\line
+\line
+var TodosCollection = Backbone.Collection.extend(\{\line
+ model: Todo,\line
+ url: '/todos'\line
+\});\line
+\line
+var todos = new TodosCollection();\line
+todos.fetch();\line
+\line
+var todo2 = todos.get(2);\line
+todo2.set('title', 'go fishing');\line
+todo2.save(); // sends HTTP PUT to /todos/2\line
+\line
+todos.create(\{title: 'Try out code samples'\}); // sends HTTP POST to /todos and adds to collection\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As mentioned earlier, a model\u8217's {\f1 validate()} method is called automatically by {\f1 save()} and will trigger an {\f1 invalid} event on the model if validation fails.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Deleting models from the server}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A model can be removed from the containing collection and the server by calling its {\f1 destroy()} method. Unlike {\f1 Collection.remove()} which only removes a model from a collection, {\f1 Model.destroy()} will also send an HTTP DELETE to the collection\u8217's URL.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todo = Backbone.Model.extend(\{\line
+ defaults: \{\line
+ title: '',\line
+ completed: false\line
+ \}\line
+\});\line
+\line
+var TodosCollection = Backbone.Collection.extend(\{\line
+ model: Todo,\line
+ url: '/todos'\line
+\});\line
+\line
+var todos = new TodosCollection();\line
+todos.fetch();\line
+\line
+var todo2 = todos.get(2);\line
+todo2.destroy(); // sends HTTP DELETE to /todos/2 and removes from collection\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Calling {\f1 destroy} on a Model will return {\f1 false} if the model {\f1 isNew}:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todo = new Backbone.Model();\line
+console.log(Todo.destroy());\line
+// false\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Options}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Each RESTful API method accepts a variety of options. Most importantly, all methods accept success and error callbacks which can be used to customize the handling of server responses.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Specifying the {\f1 \{patch: true\}} option to {\f1 Model.save()} will cause it to use HTTP PATCH to send only the changed attributes (i.e partial updates) to the server instead of the entire model i.e {\f1 model.save(attrs, \{patch: true\})}:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // Save partial using PATCH\line
+model.clear().set(\{id: 1, a: 1, b: 2, c: 3, d: 4\});\line
+model.save();\line
+model.save(\{b: 2, d: 4\}, \{patch: true\});\line
+console.log(this.syncArgs.method);\line
+// 'patch'\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Similarly, passing the {\f1 \{reset: true\}} option to {\f1 Collection.fetch()} will result in the collection being updated using {\f1 reset()} rather than {\f1 set()}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 See the Backbone.js documentation for full descriptions of the supported options.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Events\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Events are a basic inversion of control. Instead of having one function call another by name, the second function is registered as a handler to be called when a specific event occurs.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The part of your application that has to know how to call the other part of your app has been inverted. This is the core thing that makes it possible for your business logic to not have to know about how your user interface works and is the most powerful thing about the Backbone Events system.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Mastering events is one of the quickest ways to become more productive with Backbone, so let\u8217's take a closer look at Backbone\u8217's event model.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 Backbone.Events} is mixed into the other Backbone \u8220"classes\u8221", including:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Backbone\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Backbone.Model\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Backbone.Collection\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Backbone.Router\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Backbone.History\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Backbone.View\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note that {\f1 Backbone.Events} is mixed into the {\f1 Backbone} object. Since {\f1 Backbone} is globally visible, it can be used as a simple event bus:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 Backbone.on('event', function() \{console.log('Handled Backbone event');\});\line
+Backbone.trigger('event'); // logs: Handled Backbone event\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 on(), off(), and trigger()\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 Backbone.Events} can give any object the ability to bind and trigger custom events. We can mix this module into any object easily and there isn\u8217't a requirement for events to be declared before being bound to a callback handler.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Example:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var ourObject = \{\};\line
+\line
+// Mixin\line
+_.extend(ourObject, Backbone.Events);\line
+\line
+// Add a custom event\line
+ourObject.on('dance', function(msg)\{\line
+ console.log('We triggered ' + msg);\line
+\});\line
+\line
+// Trigger the custom event\line
+ourObject.trigger('dance', 'our event');\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you\u8217're familiar with jQuery custom events or the concept of Publish/Subscribe, {\f1 Backbone.Events} provides a system that is very similar with {\f1 on} being analogous to {\f1 subscribe} and {\f1 trigger} being similar to {\f1 publish}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 on} binds a callback function to an object, as we\u8217've done with {\f1 dance} in the above example. The callback is invoked whenever the event is triggered.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The official Backbone.js documentation recommends namespacing event names using colons if you end up using quite a few of these on your page. e.g.:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var ourObject = \{\};\line
+\line
+// Mixin\line
+_.extend(ourObject, Backbone.Events);\line
+\line
+function dancing (msg) \{ console.log("We started " + msg); \}\line
+\line
+// Add namespaced custom events\line
+ourObject.on("dance:tap", dancing);\line
+ourObject.on("dance:break", dancing);\line
+\line
+// Trigger the custom events\line
+ourObject.trigger("dance:tap", "tap dancing. Yeah!");\line
+ourObject.trigger("dance:break", "break dancing. Yeah!");\line
+\line
+// This one triggers nothing as no listener listens for it\line
+ourObject.trigger("dance", "break dancing. Yeah!");\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A special {\f1 all} event is made available in case you would like notifications for every event that occurs on the object (e.g., if you would like to screen events in a single location). The {\f1 all} event can be used as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var ourObject = \{\};\line
+\line
+// Mixin\line
+_.extend(ourObject, Backbone.Events);\line
+\line
+function dancing (msg) \{ console.log("We started " + msg); \}\line
+\line
+ourObject.on("all", function(eventName)\{\line
+ console.log("The name of the event passed was " + eventName);\line
+\});\line
+\line
+// This time each event will be caught with a catch 'all' event listener\line
+ourObject.trigger("dance:tap", "tap dancing. Yeah!");\line
+ourObject.trigger("dance:break", "break dancing. Yeah!");\line
+ourObject.trigger("dance", "break dancing. Yeah!");\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 off} removes callback functions that were previously bound to an object. Going back to our Publish/Subscribe comparison, think of it as an {\f1 unsubscribe} for custom events.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To remove the {\f1 dance} event we previously bound to {\f1 ourObject}, we would simply do:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var ourObject = \{\};\line
+\line
+// Mixin\line
+_.extend(ourObject, Backbone.Events);\line
+\line
+function dancing (msg) \{ console.log("We " + msg); \}\line
+\line
+// Add namespaced custom events\line
+ourObject.on("dance:tap", dancing);\line
+ourObject.on("dance:break", dancing);\line
+\line
+// Trigger the custom events. Each will be caught and acted upon.\line
+ourObject.trigger("dance:tap", "started tap dancing. Yeah!");\line
+ourObject.trigger("dance:break", "started break dancing. Yeah!");\line
+\line
+// Removes event bound to the object\line
+ourObject.off("dance:tap");\line
+\line
+// Trigger the custom events again, but one is logged.\line
+ourObject.trigger("dance:tap", "stopped tap dancing."); // won't be logged as it's not listened for\line
+ourObject.trigger("dance:break", "break dancing. Yeah!");\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To remove all callbacks for the event we pass an event name (e.g., {\f1 move}) to the {\f1 off()} method on the object the event is bound to. If we wish to remove a specific callback, we can pass that callback as the second parameter:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var ourObject = \{\};\line
+\line
+// Mixin\line
+_.extend(ourObject, Backbone.Events);\line
+\line
+function dancing (msg) \{ console.log("We are dancing. " + msg); \}\line
+function jumping (msg) \{ console.log("We are jumping. " + msg); \}\line
+\line
+// Add two listeners to the same event\line
+ourObject.on("move", dancing);\line
+ourObject.on("move", jumping);\line
+\line
+// Trigger the events. Both listeners are called.\line
+ourObject.trigger("move", "Yeah!");\line
+\line
+// Removes specified listener\line
+ourObject.off("move", dancing);\line
+\line
+// Trigger the events again. One listener left.\line
+ourObject.trigger("move", "Yeah, jump, jump!");\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Finally, as we have seen in our previous examples, {\f1 trigger} triggers a callback for a specified event (or a space-separated list of events). e.g.:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var ourObject = \{\};\line
+\line
+// Mixin\line
+_.extend(ourObject, Backbone.Events);\line
+\line
+function doAction (msg) \{ console.log("We are " + msg); \}\line
+\line
+// Add event listeners\line
+ourObject.on("dance", doAction);\line
+ourObject.on("jump", doAction);\line
+ourObject.on("skip", doAction);\line
+\line
+// Single event\line
+ourObject.trigger("dance", 'just dancing.');\line
+\line
+// Multiple events\line
+ourObject.trigger("dance jump skip", 'very tired from so much action.');\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 trigger} can pass multiple arguments to the callback function:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var ourObject = \{\};\line
+\line
+// Mixin\line
+_.extend(ourObject, Backbone.Events);\line
+\line
+function doAction (action, duration) \{\line
+ console.log("We are " + action + ' for ' + duration ); \line
+\}\line
+\line
+// Add event listeners\line
+ourObject.on("dance", doAction);\line
+ourObject.on("jump", doAction);\line
+ourObject.on("skip", doAction);\line
+\line
+// Passing multiple arguments to single event\line
+ourObject.trigger("dance", 'dancing', "5 minutes");\line
+\line
+// Passing multiple arguments to multiple events\line
+ourObject.trigger("dance jump skip", 'on fire', "15 minutes");\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 listenTo() and stopListening()\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 While {\f1 on()} and {\f1 off()} add callbacks directly to an observed object, {\f1 listenTo()} tells an object to listen for events on another object, allowing the listener to keep track of the events for which it is listening. {\f1 stopListening()} can subsequently be called on the listener to tell it to stop listening for events:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var a = _.extend(\{\}, Backbone.Events);\line
+var b = _.extend(\{\}, Backbone.Events);\line
+var c = _.extend(\{\}, Backbone.Events);\line
+\line
+// add listeners to A for events on B and C\line
+a.listenTo(b, 'anything', function(event)\{ console.log("anything happened"); \});\line
+a.listenTo(c, 'everything', function(event)\{ console.log("everything happened"); \});\line
+\line
+// trigger an event\line
+b.trigger('anything'); // logs: anything happened\line
+\line
+// stop listening\line
+a.stopListening();\line
+\line
+// A does not receive these events\line
+b.trigger('anything');\line
+c.trigger('everything');\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 stopListening()} can also be used to selectively stop listening based on the event, model, or callback handler.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you use {\f1 on} and {\f1 off} and remove views and their corresponding models at the same time, there are generally no problems. But a problem arises when you remove a view that had registered to be notified about events on a model, but you don\u8217't remove the model or call {\f1 off} to remove the view\u8217's event handler. Since the model has a reference to the view\u8217's callback function, the JavaScript garbage collector cannot remove the view from memory. This is called a \u8220"ghost view\u8221" and is a form of memory leak which is common since the models generally tend to outlive the corresponding views during an application\u8217's lifecycle. For details on the topic and a solution, check this {\field{\*\fldinst{HYPERLINK "http://lostechies.com/derickbailey/2011/09/15/zombies-run-managing-page-transitions-in-backbone-apps/"}}{\fldrslt{\ul
+excellent article
+}}}
+ by Derick Bailey.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Practically, every {\f1 on} called on an object also requires an {\f1 off} to be called in order for the garbage collector to do its job. {\f1 listenTo()} changes that, allowing Views to bind to Model notifications and unbind from all of them with just one call - {\f1 stopListening()}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The default implementation of {\f1 View.remove()} makes a call to {\f1 stopListening()}, ensuring that any listeners bound using {\f1 listenTo()} are unbound before the view is destroyed.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var view = new Backbone.View();\line
+var b = _.extend(\{\}, Backbone.Events);\line
+\line
+view.listenTo(b, 'all', function()\{ console.log(true); \});\line
+b.trigger('anything'); // logs: true\line
+\line
+view.listenTo(b, 'all', function()\{ console.log(false); \});\line
+view.remove(); // stopListening() implicitly called\line
+b.trigger('anything'); // does not log anything\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Events and Views\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Within a View, there are two types of events you can listen for: DOM events and events triggered using the Event API. It is important to understand the differences in how views bind to these events and the context in which their callbacks are invoked.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 DOM events can be bound to using the View\u8217's {\f1 events} property or using {\f1 jQuery.on()}. Within callbacks bound using the {\f1 events} property, {\f1 this} refers to the View object; whereas any callbacks bound directly using jQuery will have {\f1 this} set to the handling DOM element by jQuery. All DOM event callbacks are passed an {\f1 event} object by jQuery. See {\f1 delegateEvents()} in the Backbone documentation for additional details.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Event API events are bound as described in this section. If the event is bound using {\f1 on()} on the observed object, a context parameter can be passed as the third argument. If the event is bound using {\f1 listenTo()} then within the callback {\f1 this} refers to the listener. The arguments passed to Event API callbacks depends on the type of event. See the Catalog of Events in the Backbone documentation for details.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The following example illustrates these differences:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1
\line
+ \line
+
\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var View = Backbone.View.extend(\{\line
+\line
+ el: '#todo',\line
+\line
+ // bind to DOM event using events property\line
+ events: \{\line
+ 'click [type="checkbox"]': 'clicked',\line
+ \},\line
+\line
+ initialize: function () \{\line
+ // bind to DOM event using jQuery\line
+ this.$el.click(this.jqueryClicked);\line
+\line
+ // bind to API event\line
+ this.on('apiEvent', this.callback);\line
+ \},\line
+\line
+ // 'this' is view\line
+ clicked: function(event) \{\line
+ console.log("events handler for " + this.el.outerHTML);\line
+ this.trigger('apiEvent', event.type);\line
+ \},\line
+\line
+ // 'this' is handling DOM element\line
+ jqueryClicked: function(event) \{\line
+ console.log("jQuery handler for " + this.outerHTML);\line
+ \},\line
+\line
+ callback: function(eventType) \{\line
+ console.log("event type was " + eventType);\line
+ \}\line
+\line
+\});\line
+\line
+var view = new View();\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Routers\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In Backbone, routers provide a way for you to connect URLs (either hash fragments, or real) to parts of your application. Any piece of your application that you want to be bookmarkable, shareable, and back-button-able, needs a URL.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Some examples of routes using the hash mark may be seen below:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 http://example.com/#about\line
+http://example.com/#search/seasonal-horns/page2\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 An application will usually have at least one route mapping a URL route to a function that determines what happens when a user reaches that route. This relationship is defined as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 'route' : 'mappedFunction'\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's define our first router by extending {\f1 Backbone.Router}. For the purposes of this guide, we\u8217're going to continue pretending we\u8217're creating a complex todo application (something like a personal organizer/planner) that requires a complex TodoRouter.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note the inline comments in the code example below as they continue our lesson on routers.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var TodoRouter = Backbone.Router.extend(\{\line
+ /* define the route and function maps for this router */\line
+ routes: \{\line
+ "about" : "showAbout",\line
+ /* Sample usage: http://example.com/#about */\line
+\line
+ "todo/:id" : "getTodo",\line
+ /* This is an example of using a ":param" variable which allows us to match\line
+ any of the components between two URL slashes */\line
+ /* Sample usage: http://example.com/#todo/5 */\line
+\line
+ "search/:query" : "searchTodos",\line
+ /* We can also define multiple routes that are bound to the same map function,\line
+ in this case searchTodos(). Note below how we're optionally passing in a\line
+ reference to a page number if one is supplied */\line
+ /* Sample usage: http://example.com/#search/job */\line
+\line
+ "search/:query/p:page" : "searchTodos",\line
+ /* As we can see, URLs may contain as many ":param"s as we wish */\line
+ /* Sample usage: http://example.com/#search/job/p1 */\line
+\line
+ "todos/:id/download/*documentPath" : "downloadDocument",\line
+ /* This is an example of using a *splat. Splats are able to match any number of\line
+ URL components and can be combined with ":param"s*/\line
+ /* Sample usage: http://example.com/#todos/5/download/files/Meeting_schedule.doc */\line
+\line
+ /* If you wish to use splats for anything beyond default routing, it's probably a good\line
+ idea to leave them at the end of a URL otherwise you may need to apply regular\line
+ expression parsing on your fragment */\line
+\line
+ "*other" : "defaultRoute"\line
+ /* This is a default route that also uses a *splat. Consider the\line
+ default route a wildcard for URLs that are either not matched or where\line
+ the user has incorrectly typed in a route path manually */\line
+ /* Sample usage: http://example.com/# */,\line
+\line
+ "optional(/:item)": "optionalItem",\line
+ "named/optional/(y:z)": "namedOptionalItem"\line
+ /* Router URLs also support optional parts via parentheses, without having\line
+ to use a regex. */\line
+ \},\line
+\line
+ showAbout: function()\{\line
+ \},\line
+\line
+ getTodo: function(id)\{\line
+ /*\line
+ Note that the id matched in the above route will be passed to this function\line
+ */\line
+ console.log("You are trying to reach todo " + id);\line
+ \},\line
+\line
+ searchTodos: function(query, page)\{\line
+ var page_number = page || 1;\line
+ console.log("Page number: " + page_number + " of the results for todos containing the word: " + query);\line
+ \},\line
+\line
+ downloadDocument: function(id, path)\{\line
+ \},\line
+\line
+ defaultRoute: function(other)\{\line
+ console.log('Invalid. You attempted to reach:' + other);\line
+ \}\line
+\});\line
+\line
+/* Now that we have a router setup, we need to instantiate it */\line
+\line
+var myTodoRouter = new TodoRouter();\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone offers an opt-in for HTML5 pushState support via {\f1 window.history.pushState}. This permits you to define routes such as http://backbonejs.org/just/an/example. This will be supported with automatic degradation when a user\u8217's browser doesn\u8217't support pushState. Note that it is vastly preferred if you\u8217're capable of also supporting pushState on the server side, although it is a little more difficult to implement.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Is there a limit to the number of routers I should be using?}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Andrew de Andrade has pointed out that DocumentCloud, the creators of Backbone, usually only use a single router in most of their applications. You\u8217're very likely to not require more than one or two routers in your own projects; the majority of your application routing can be kept organized in a single router without it getting unwieldy.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Backbone.history\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next, we need to initialize {\f1 Backbone.history} as it handles {\f1 hashchange} events in our application. This will automatically handle routes that have been defined and trigger callbacks when they\u8217've been accessed.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The {\f1 Backbone.history.start()} method will simply tell Backbone that it\u8217's okay to begin monitoring all {\f1 hashchange} events as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var TodoRouter = Backbone.Router.extend(\{\line
+ /* define the route and function maps for this router */\line
+ routes: \{\line
+ "about" : "showAbout",\line
+ "search/:query" : "searchTodos",\line
+ "search/:query/p:page" : "searchTodos"\line
+ \},\line
+\line
+ showAbout: function()\{\},\line
+\line
+ searchTodos: function(query, page)\{\line
+ var page_number = page || 1;\line
+ console.log("Page number: " + page_number + " of the results for todos containing the word: " + query);\line
+ \}\line
+\});\line
+\line
+var myTodoRouter = new TodoRouter();\line
+\line
+Backbone.history.start();\line
+\line
+// Go to and check console:\line
+// http://localhost/#search/job/p3 logs: Page number: 3 of the results for todos containing the word: job\line
+// http://localhost/#search/job logs: Page number: 1 of the results for todos containing the word: job \line
+// etc.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note: To run the last example, you\u8217'll need to create a local development environment and test project, which we will cover later on in the book.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you would like to update the URL to reflect the application state at a particular point, you can use the router\u8217's {\f1 .navigate()} method. By default, it simply updates your URL fragment without triggering the {\f1 hashchange} event:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // Let's imagine we would like a specific fragment (edit) once a user opens a single todo\line
+var TodoRouter = Backbone.Router.extend(\{\line
+ routes: \{\line
+ "todo/:id": "viewTodo",\line
+ "todo/:id/edit": "editTodo"\line
+ // ... other routes\line
+ \},\line
+\line
+ viewTodo: function(id)\{\line
+ console.log("View todo requested.");\line
+ this.navigate("todo/" + id + '/edit'); // updates the fragment for us, but doesn't trigger the route\line
+ \},\line
+\line
+ editTodo: function(id) \{\line
+ console.log("Edit todo opened.");\line
+ \}\line
+\});\line
+\line
+var myTodoRouter = new TodoRouter();\line
+\line
+Backbone.history.start();\line
+\line
+// Go to: http://localhost/#todo/4\line
+//\line
+// URL is updated to: http://localhost/#todo/4/edit\line
+// but editTodo() function is not invoked even though location we end up is mapped to it.\line
+//\line
+// logs: View todo requested.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 It is also possible for {\f1 Router.navigate()} to trigger the route along with updating the URL fragment by passing the {\f1 trigger:true} option.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note: This usage is discouraged. The recommended usage is the one described above which creates a bookmarkable URL when your application transitions to a specific state.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var TodoRouter = Backbone.Router.extend(\{\line
+ routes: \{\line
+ "todo/:id": "viewTodo",\line
+ "todo/:id/edit": "editTodo"\line
+ // ... other routes\line
+ \},\line
+\line
+ viewTodo: function(id)\{\line
+ console.log("View todo requested.");\line
+ this.navigate("todo/" + id + '/edit', \{trigger: true\}); // updates the fragment and triggers the route as well\line
+ \},\line
+\line
+ editTodo: function(id) \{\line
+ console.log("Edit todo opened.");\line
+ \}\line
+\});\line
+\line
+var myTodoRouter = new TodoRouter();\line
+\line
+Backbone.history.start();\line
+\line
+// Go to: http://localhost/#todo/4\line
+//\line
+// URL is updated to: http://localhost/#todo/4/edit\line
+// and this time editTodo() function is invoked.\line
+//\line
+// logs:\line
+// View todo requested.\line
+// Edit todo opened.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A \u8220"route\u8221" event is also triggered on the router in addition to being fired on Backbone.history.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 Backbone.history.on('route', onRoute);\line
+\line
+// Trigger 'route' event on router instance."\line
+router.on('route', function(name, args) \{\line
+ console.log(name === 'routeEvent'); \line
+\});\line
+\line
+location.replace('http://example.com#route-event/x');\line
+Backbone.history.checkUrl();\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Backbone\u8217's Sync API\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We previously discussed how Backbone supports RESTful persistence via its {\f1 fetch()} and {\f1 create()} methods on Collections and {\f1 save()}, and {\f1 delete()} methods on Models. Now we are going to take a closer look at Backbone\u8217's sync method which underlies these operations.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The Backbone.sync method is an integral part of Backbone.js. It assumes a jQuery-like {\f1 $.ajax()} method, so HTTP parameters are organized based on jQuery\u8217's API. Since some legacy servers may not support JSON-formatted requests and HTTP PUT and DELETE operations, Backbone can be configured to emulate these capabilities using the two configuration variables shown below with their default values:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 Backbone.emulateHTTP = false; // set to true if server cannot handle HTTP PUT or HTTP DELETE\line
+Backbone.emulateJSON = false; // set to true if server cannot handle application/json requests\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The inline Backbone.emulateHTTP option should be set to true if extended HTTP methods are not supported by the server. The Backbone.emulateJSON option should be set to true if the server does not understand the MIME type for JSON.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // Create a new library collection\line
+var Library = Backbone.Collection.extend(\{\line
+ url : function() \{ return '/library'; \}\line
+\});\line
+\line
+// Define attributes for our model\line
+var attrs = \{\line
+ title : "The Tempest",\line
+ author : "Bill Shakespeare",\line
+ length : 123\line
+\};\line
+ \line
+// Create a new Library instance\line
+var library = new Library;\line
+\line
+// Create a new instance of a model within our collection\line
+library.create(attrs, \{wait: false\});\line
+ \line
+// Update with just emulateHTTP\line
+library.first().save(\{id: '2-the-tempest', author: 'Tim Shakespeare'\}, \{\line
+ emulateHTTP: true\line
+\});\line
+ \line
+// Check the ajaxSettings being used for our request\line
+console.log(this.ajaxSettings.url === '/library/2-the-tempest'); // true\line
+console.log(this.ajaxSettings.type === 'POST'); // true\line
+console.log(this.ajaxSettings.contentType === 'application/json'); // true\line
+\line
+// Parse the data for the request to confirm it is as expected\line
+var data = JSON.parse(this.ajaxSettings.data);\line
+console.log(data.id === '2-the-tempest'); // true\line
+console.log(data.author === 'Tim Shakespeare'); // true\line
+console.log(data.length === 123); // true\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Similarly, we could just update using {\f1 emulateJSON}:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 library.first().save(\{id: '2-the-tempest', author: 'Tim Shakespeare'\}, \{\line
+ emulateJSON: true\line
+\});\line
+\line
+console.log(this.ajaxSettings.url === '/library/2-the-tempest'); // true\line
+console.log(this.ajaxSettings.type === 'PUT'); // true\line
+console.log(this.ajaxSettings.contentType ==='application/x-www-form-urlencoded'); // true\line
+\line
+var data = JSON.parse(this.ajaxSettings.data.model);\line
+console.log(data.id === '2-the-tempest');\line
+console.log(data.author ==='Tim Shakespeare');\line
+console.log(data.length === 123);\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 Backbone.sync} is called every time Backbone tries to read, save, or delete models. It uses jQuery or Zepto\u8217's {\f1 $.ajax()} implementations to make these RESTful requests, however this can be overridden as per your needs.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Overriding Backbone.sync}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The {\f1 sync} function may be overridden globally as Backbone.sync, or at a finer-grained level, by adding a sync function to a Backbone collection or to an individual model.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Since all persistence is handled by the Backbone.sync function, an alternative persistence layer can be used by simply overriding Backbone.sync with a function that has the same signature:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 Backbone.sync = function(method, model, options) \{\line
+\};\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The methodMap below is used by the standard sync implementation to map the method parameter to an HTTP operation and illustrates the type of action required by each method argument:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var methodMap = \{\line
+ 'create': 'POST',\line
+ 'update': 'PUT',\line
+ 'patch': 'PATCH',\line
+ 'delete': 'DELETE',\line
+ 'read': 'GET'\line
+\};\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If we wanted to replace the standard {\f1 sync} implementation with one that simply logged the calls to sync, we could do this:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var id_counter = 1;\line
+Backbone.sync = function(method, model) \{\line
+ console.log("I've been passed " + method + " with " + JSON.stringify(model));\line
+ if(method === 'create')\{ model.set('id', id_counter++); \}\line
+\};\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note that we assign a unique id to any created models.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The Backbone.sync method is intended to be overridden to support other persistence backends. The built-in method is tailored to a certain breed of RESTful JSON APIs - Backbone was originally extracted from a Ruby on Rails application, which uses HTTP methods like PUT in the same way.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The sync method is called with three parameters:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab method: One of create, update, patch, delete, or read\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab model: The Backbone model object\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab options: May include success and error methods\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Implementing a new sync method can use the following pattern:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 Backbone.sync = function(method, model, options) \{\line
+\line
+ function success(result) \{\line
+ // Handle successful results from MyAPI\line
+ if (options.success) \{\line
+ options.success(result);\line
+ \}\line
+ \}\line
+\line
+ function error(result) \{\line
+ // Handle error results from MyAPI\line
+ if (options.error) \{\line
+ options.error(result);\line
+ \}\line
+ \}\line
+\line
+ options || (options = \{\});\line
+\line
+ switch (method) \{\line
+ case 'create':\line
+ return MyAPI.create(model, success, error);\line
+\line
+ case 'update':\line
+ return MyAPI.update(model, success, error);\line
+\line
+ case 'patch':\line
+ return MyAPI.patch(model, success, error);\line
+\line
+ case 'delete':\line
+ return MyAPI.destroy(model, success, error);\line
+\line
+ case 'read':\line
+ if (model.attributes[model.idAttribute]) \{\line
+ return MyAPI.find(model, success, error);\line
+ \} else \{\line
+ return MyAPI.findAll(model, success, error);\line
+ \}\line
+ \}\line
+\};\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This pattern delegates API calls to a new object (MyAPI), which could be a Backbone-style class that supports events. This can be safely tested separately, and potentially used with libraries other than Backbone.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 There are quite a few sync implementations out there. The following examples are all available on GitHub:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Backbone localStorage: persists to the browser\u8217's local storage\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Backbone offline: supports working offline\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Backbone Redis: uses Redis key-value store\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab backbone-parse: integrates Backbone with Parse.com\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab backbone-websql: stores data to WebSQL\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Backbone Caching Sync: uses local storage as cache for other sync implementations\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Dependencies\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The official Backbone.js {\field{\*\fldinst{HYPERLINK "http://backbonejs.org/"}}{\fldrslt{\ul
+documentation
+}}}
+ states:\par}
+{\pard \ql \f0 \sa180 \li720 \fi0 Backbone\u8217's only hard dependency is either Underscore.js ( >= 1.4.3) or Lo-Dash. For RESTful persistence, history support via Backbone.Router and DOM manipulation with Backbone.View, include json2.js, and either jQuery ( >= 1.7.0) or Zepto.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 What this translates to is that if you require working with anything beyond models, you will need to include a DOM manipulation library such as jQuery or Zepto. Underscore is primarily used for its utility methods (which Backbone relies upon heavily) and json2.js for legacy browser JSON support if Backbone.sync is used.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Summary\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this chapter we have introduced you to the components you will be using to build applications with Backbone: Models, Views, Collections, and Routers. We\u8217've also explored the Events mix-in that Backbone uses to enhance all components with publish-subscribe capabilities and seen how it can be used with arbitrary objects. Finally, we saw how Backbone leverages the Underscore.js and jQuery/Zepto APIs to add rich manipulation and persistence features to Backbone Collections and Models.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone has many operations and options beyond those we have covered here and is always evolving, so be sure to visit the official {\field{\*\fldinst{HYPERLINK "http://backbonejs.org/"}}{\fldrslt{\ul
+documentation
+}}}
+ for more details and the latest features. In the next chapter you will start to get your hands dirty as we walk you through implementation of your first Backbone application.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Exercise 1: Todos - Your First Backbone.js App\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now that we\u8217've covered fundamentals, let\u8217's write our first Backbone.js application. We\u8217'll build the Backbone Todo List application exhibited on {\field{\*\fldinst{HYPERLINK "http://todomvc.com"}}{\fldrslt{\ul
+TodoMVC.com
+}}}
+. Building a Todo List is a great way to learn Backbone\u8217's conventions. It\u8217's a relatively simple application, yet technical challenges surrounding binding, persisting model data, routing, and template rendering provide opportunities to illustrate some core Backbone features.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000004e200000310080200000005195d8d00001819694343504943432050726f66696c6500005809ad79793c55dfd7ff3e77c2755df33ccff33c93799ee759b8e6799e55322453194209151551d1604a089148a242033244a68a8a12f29c5bfa7cbedfd7f37bfefb9dd7eb9cf3be6bbff7da6bafb5cf3e67ad0b004b23213c3c18410540486874a4b5813697a3933317c914800029c0016e404af08a0ad7b2b43405ffe7b1350eb3e1e3853851d7ff49fb7f37507bfb4479010059c2cd9ede515e21306e0400d9ea151e190d009aa88f2f2e3a9c88f3614c17091b08e32b44ecf707b712b1e71f3cf49b636bad0373660020c51108917e0050acc172ae582f3f580f1e07008626d43b2014eec60563752f7f8237002c1e30472c24248c8873612ce4f91f7afcfe0313089effe82410fcfec17fe602f78407d60d880a0f2624fcfef1fff312121c03fbebf7c1015f7151413626f09d01f65bbc1741cf06c64c303eedef63647a20af0e8fd6b63e90b707441bd9c2980ee6bcf48f31b43bc04b3141765a306683e5bb416126443eec270453a8a7b9058c6960cce715a503fb9e38164221d1dfd6e18063eaeda3ab07637815211c23c3acfff2fda3626dfeca1313fd75ccfff20309c6c478e3617e36211246bfed419cf30936208ecb03cb6f84475b12ed248e351c1a6c7e3017c47bdf487d228728ffe913f57bbe44dbfca3fd6d0d61396c33922a3ad296c881e78864f30dd03782316c1b52ca3fd2f0af5c333cf8f79a86fb226d2363ac897ee083b1af4fa81dd1874479b6374197e85bd827c872a00f082012f8004f100a96011730053a40f7e0ca05cb436199170803c1f019c945f9b705bd881e45cfa1c7d033e8d77f6570cf031e0800de30fea3eb3ffac3721b90083ec25a7d40d4dfd1502c2875942aca14be6ac2a70c4a09a5fcb76d78ad65ed2f3eb0d50fee2b7ea05bfbc0fa5858e3de5f9e7b406ae45f7cd0c7f39f1effdb267df01ef680df5f86d475a965a9ddbffdff9d31460fa38b31c4e863849199c8bbc87e64377200d98e6c015cc807c856e410b283880fecfa3b0a019610bd42f470143081bde803627eff0afd3bde7f7929e61fc68106bc085e1e58c3bd424110dc16f0cf08f6bfad0ef85f5a626086273c6220cc35f9271e0776a10460efcaa3b4516ab09f611fa318502c401c25077b5c0ba501c7401e96fe1bc5ff9e8d38f0fdededd8df7309028bf03c42a27de2a3e1b50474c2c2132203fcfca3b9b4e0ddd2478ccb28d44b428c4b464a5a1610f75e220780afd6bff75488e1d9bf329f25000ec1eb986ce45f59e01900eafa0060ccfe5726e00200b31800b79f7bc544c6fed18722ded0000b28e1a7821970005e20047b4406280055a009f48031b000b6c009b8c16bd81f84c016c78123200564801c900f8ac17970115c06d7c04d7007b48076d00d1e812760048c81b760062c8055b00eb6c00e0441241005440b31439c103f240ac9404a903aa4079942d69013e401f941a1500c74044a8372a042e83c5409d542b7a17b503734008d42afa1596819fa02fd44201138041d821d218090442821b41026085bc461841f2202918848479c469c4354216e209a11dd88278831c40c6215b1890448722403921b298e5442ea202d90ce485f6424f218321b5982ac42d623dbe0b5f80239835c436ea330285a14174a1c8ea421ca0ee5858a401d43e5a2cea3aea19a51bda817a859d43aea179a02cd861645aba08dd08e683f741c3a035d82ae4637a1fbe0e77901bd85c160183082184578b53b61023149985c4c05a601d38519c5cc633649484898494449d4482c480824d1241924a52437481e903c275920f9414a4eca492a43aa4fea4c1a4a9a4a5a425a47da49fa9cf403e90e1915193f990a990599375902591ed915b236b267640b643b586aac20560d6b8b0dc4a660cf61ebb17dd849ec577272721e7265722bf200f2e3e4e7c86f913f269f25dfc6d1e044703a38575c0cee34ae06d7857b8dfb4a41412140a149e14c114d719aa296e221c534c50f3c2d5e026f84f7c627e3cbf0cdf8e7f84f946494fc945a946e948994259477299f51ae5191510950e95011a88e519551dda39aa0daa4a6a596a6b6a00ea1cea5aea31ea05ea221a111a0d1a3f1a649a7b94cf390669e1649cb4bab43eb459b467b85b68f76810e43274867441748974377936e986e9d9e865e8ede9e3e9ebe8cbe837e8601c920c060c410cc90c77087619ce127233ba316a30f6316633de373c6ef4cac4c9a4c3e4cd94c0d4c634c3f99b998f59883980b985b98a758502c222c562c712c1758fa58d658e9585559bd58b359efb0be6143b089b059b325b15d661b62db64e76037600f672f657fc8bec6c1c0a1c911c851c4d1c9b1cc49cba9ce19c059c4f98073858b9e4b8b2b98eb1c572fd73a371bb721770c7725f730f70e8f208f1d4f2a4f03cf142f965789d797b788b787779d8f93cf8cef08df75be37fc64fc4afcfefc67f9fbf9bf0b080a38089c1468115812641234124c14bc2e38294421a42114215425f4521823ac241c245c213c2282109117f117291379268a1055100d10ad101d15438b298b858a55894d88e3c4b5c463c5af8bcf4a3048984aa44ab4487c92e49374962c90ec97fc25252f152c7545eaad348db4b174aa749bf4171911192f99329997b214b2fab2c9b2adb21b72a2723e7217e45ec9d3ca9bc99f94ef91df5350548854a8575856e453f4502c579c50a253b254ca557aac8c56d6564e566e57de5651508956b9a3f259555c3548b54e75e990e0219f43570ecdabf1a811d42ad566d4b9d43dd42fa9cf68706b1034aa34e6347935bd35ab353f68096b056addd0faa42da51da9dda4fd5d4745e7a84e972e52d740375b77588f46cf4eefbcdeb43e8fbe9ffe75fd7503798324832e43b4a1896181e18411bb919751add1bab1a2f151e35e139c898dc97993395311d348d336338499b1d919b349737ef350f3160b60616471c662ca52d032c2f2be15c6cad2aacc6ad15adafa8875bf0dad8dbb4d9dcd96adb66d9eed5b3b21bb18bb1e7b4a7b57fb5afbef0eba0e850e338e928e471d9f38b1380538b53a9338db3b573b6fbae8b914bb2cb8cabb66b88e1f163c1c7f78c08dc52dd8adc39dd29de07ed703ede1e051e7b14bb0205411363d8d3ccb3dd7bd74bcce7aad7a6b7a17792ffba8f914fa7cf055f32df45df253f33be3b7ecafe15fe2bf16a013703e6023d030f062e0f7208ba09aa0fd6087e08610d2108f907ba134a141a1bd611c61f161a3e1a2e119e133112a11c511eb912691d55150d4e1a8d6683af82377284628e644cc6cac7a6c59ec8f38fbb8bbf1d4f1a1f14309220959091f12f513af26a192bc927a8e701f4939327b54eb68e531e898e7b19e64dee4f4e485e306c7afa5605382529ea64aa516a67e4b73486b4b674f3f9e3e7fc2e0c4f50c7c4664c6c449d593173351990199c359b259a559bfb2bdb30773a4724a727673bd72074f499f3a776affb4efe9e13c85bc0bf998fcd0fcf1028d826b85d4858985f367ccce3417711565177d2b762f1e28912bb978167b36e6eccc39d373ada57ca5f9a5bbe7fdcf8f9569973594b39567957faff0ae787e41f342fd45f68b39177f5e0ab8f4aad2a0b2b94aa0aae432e672ece5c52bf657faaf2a5dadad66a9cea9deab09ad99b9667dadb756b1b6b68ead2eef3ae27accf5e51bae37466eeade6cad17afaf6c6068c8b9056ec5dc5ab9ed717bfc8ec99d9ebb4a77eb1bf91bcb9b689bb29ba1e684e6f516ff969956a7d6d17bc6f77ada54db9aee4bdcaf69e76e2feba0efc8ebc476a677ee3f487cb0d915deb5d6edd73ddfe3def3f6a1e3c397bd56bdc37d267d8f1fe93f7ad8afd5ffe0b1dae3f60195817b834a832d4f149e340fc90f353d957fda34ac30dcfc4cf159eb88f248dbe8a1d1cee71acfbb5fe8be78f4d2e8e59331f3b1d171bbf15713ae1333afbc5f2dbd0e7ebdf126f6cdcedbe393e8c9ec29aaa99269b6e9aa77c2ef1a6614663a66756787e66ce6dece7bcdafbe8f7abfbb90be48b158f281f343ed92cc52fbb2fef2c88acbcac26af8eace5ac647ea8fe59f843e357ed6fc3cb4eeb8beb011b9b1ff25f72bf3d79a6f72df7a362d37a7b742b676be67ff60fe716d5b69bbffa7c3cf0f3b71bb24bbe7f684f7da7e99fc9adc0fd9df0f2744127e7f0b20e12bc2d717802f35705ee40400ed080058fc9fdce83703fedc85600e8ced213d84165209c584c6624849a4489dc8d2b00f70180a02be850a4b1d4c3348274f5fce08988298875915d8f2d9573935b9f2b84779b17ccafc4e0241822142aec2da22ec221ba28fc44ac58324d4242924df4935481f97b192e596fd28774ffe848295229be28252bd72bc8a962a56f5c5a172356f7531f52f1a2d9a47b4b4b571daef743a75ebf42af40b0c8e19128c348c998c374c864cebcd2acc2b2dda2de7add136ccb62c7654f648fb5d871d27e04ce68277a5388c3abce936e73ee2d145b8eb59ed55ea9ded93e0ebe767ebaf1d20172812c41dcc1c42198a0cfd1636173e12713ff24ad4e9e8e4988cd8a67854824f62d7117054e0984ab2d171979498d4d369c5e94927e44ecc67e49db4cce4cf22cf0639885cea5342a7d5f3ccf31d0a9c0b9dcf3816d917db96589d353f67526a705ebb4cbd5cb942f682f845914b52952655699767ae1a55dfa859ada5aee3bf2e7d43f5a66ebd5983c32df7dbfe77c2efc6351e6b4a6d3ed192d99a732fafadf87e797b75476367df8389ae99eef19e8687bebd4cbd8ffb4a1ec5f5fb3e3e3ce03068f5c464c8e0a9e1b0edb388914ba3af5f90bf941cd319379ad07ba5f49aff0dfecdf6dba5c95753ddd397dfa5cdf8cddacd99cf9bbdb758b05834fea0bcc4b834b39cbd22b732b37a6d2df1a3e127d24fb59f0d3ecfaf5fde88ffe2f6d5e29bd966e056cf8f933f5bf674f7f70fe22f8d4421975133e879cc3a29924c01eb4f5e8e9bc18b50c6513da261a64da07bc920c398ca34c522cf9ac136c2c1c2e9c855c0ddce33c9bbc9b7c5bf22f054f0b250a4b0ba08a9c84bd18b6281e2f2e2bf241e499e967290e694fe20532f1b2ba7260fc9f729642b5a28d12a8d2b97aab8a8b2ab4ec2abc0559d597d42e3aca68b9680d68ef698ce6ddd5c3d1ffd4306d4068b86ed46c5c6b1263ea69e66fee6611621969e5616d6aa3622b6ac76787b84fd96c307c771a787cef52e65aed98713dd02dc1d3d7409929e4c5e90d78af7984faf6f935fb57f49407a60589053b06688602805bc1266c3a723be457147bbc794c676c7bd8a9f4f584bdc3e427e94e3985032d771ccf177294da9796991e96e27ec321c4f0664a6655564dfcc69ca6d3ed578fa76decdfcda82ab8597ce94151517e795649d4d3d97501a76deaf2ca0fc78c5838bc297ae55095e2ebcf2e2ea760dfe1a4b2d6f9d08bc0e146faad7eb3698dd72ba1d7c27e3eee5c6cea6d1e6e996a5d6af6dc8fb8ceda21daa9d9a0f14bbb8bb11dd733dfd0f9b7a6bfaca1ee5f79f789c38103918fd246ba87d98e1d9d191a9e72c2f345eda8ef98e1f9fb8faead9eb6f6f6926c5a74ca7c3df9d9db93ffb7c6e7a7eeefdea221a8e7ecaf2e82af59ad447f94f029f293fff585fdc98f832f8f5deb7cacde42dfbef82dfb77eb46f27fe54ddc1edeaee2d1fc45f025a455420dd50c26812f40666996485748e6c831c8be3a7d0c23b53a650dda01ea5d9a7e3a7d76308643cc17491b991a58ff531db23f6fb1c959cf15cda5c3fb9aff098f0acf266f209f2f5f0bbf16f0b14094a090e0af9099308d788188a7c10cd101312eb13f7920012159287245f49c5c05f370d32a6324bb269721c72adf2d6f26b0a271439155be0af9625e564150695ebaa5aaacf0f791dfaa496a44ea25ea621a731ae99a8c5a1d5aa6da1fd5ac75f675fb74acf529f4cffa1c1114339c315a32a635713269371d362331b734af3018b344b55cb6f560dd641368236ef6d2bed0edb33dbbf74c8733474dc776a720e76e17399722d396c7e78cbadc89ddfbdd143cbe30d21de93c7f315bc8ff8fb18f82afa29fb1b051002438208c11a21542193a157c342c2e5c377231e4666475946d347bf8db918eb1d2710b7187f21412f61323138892ee9c591fb473b8ff5263f3c7e2fa536b5242d2d3dec844b86de49914c74e6cbacd26ce71cbe9c9ddc99534f4fdfcbbb947facc0a550e50ccb99eda2f1e23b2567cf9e3a57585a79fe6ed9a3f257152b17762e51547255c95e36bce27a35acfa584dd6b5dcdae37584eb8a37f037bedcfc58bf7d0b779be38ecc5dcbc6a4a6c6e61fadcaf7c2db4aefdf6a6fedb8df39f060b3dba0e75eaf4ddf667fc980ece0cba153c31e2346cfb55e6a8f07bfc64faece0daf6c7edb26c6ff4f8d8cf84ec0280070260500c70c00ec340028e80540600cce3bb10058520060ab0c1002be00811b0290caec3fef0f0820010690036ab826c50904811450816b2616c019ce90a3e0ec320f5c00f5a0133c03b3e01b9c39b241d29001e40ec54105d00de831b488c0208410a6882844059ce7edc3795d2cf21ef217ca0075063587964567a2df615430a5981d38c31a245524ad2163252bc09263b3c8b1e4f938165c0d851c453b5e0ddf46a944799fca90ea2d75340d15cd4d5a5dda513a5bba517a0bfae70cee0c3f184b99d498a6998fb2b0b2b4b1bab191b1b5b3c772c8717ce5bcc315c92dcfbdcbd3cf5bc2e7cf7f48002f302378572853d853444b54400c2fb623fe49e2bde498549374928cb4ccb46ca69cbcdc67f9568542c504256f6553152955c643783509f5324d51ad53da033a9ff548f5e90d980dd98cf88ce54ccc4d23ccce99f75a7cb1e2b576b0396ddb6f8f72d075cc701a726170f53c5ce7f6de0343a0f6c4786e7a2d784ffaacf851fa9b0414077e083e145214fa29dc38a22e0a171d11f3264e3fbe35513ca9fa28d7b1b2e30c290569d8f494139b27033357b37372434e3715509f6129fa58527bcefd3c43d948c5a98b069736abf2aed05dcdacdeba1654fbe57afe4dbd06ea5b1b77161b979a575b3fb4cdb76f3c60ecd679e8d6e7d16f33a0f144f2a9f03385d1d0173f26506fc8262fbea39ded5cc02f1d59d5fad8f079e78bc237fd2decf7533f06b7977e2eecbcde6ddccbffe5b92ff57bff20c69f04aec9d1c035076e200264811a3084eb0c1e70852109648152500beec1758429b00ea1211648ea77f413a022e816340c7d4450226411ce8834c41dc4029213e98ebc825c4329a0d251636861740a7a128e7d190920f1271923d5236d259324abc30a636f90cb913fc059e2e629e2f164f8624a6eca5b70fefa963a8e8681a685d69ef623dd517a2cfd3906718641c6302646a62ee600163a962ed630363eb649f6520e474e26ced75c15dcde3c52bc80f725df75fe740157413938975b111e12b90bbfc5f2c4d3248e48464b79496bcae0648665b3e54ce419e537145e2bf62b352b57a9e4aa261e8a55cb526fd5f8ae25abedad93a35badd7ac7fdfe0be6187d180f1ac29c24cc4dcdee284658bd59a0d9fadbb5d85fdb4238f53a073b32bc96107b7f3ee7d1ea3841ecf5aaf4cef001f6b5f433f27ffd480ae208a60cf90f63096f0c488a928ede8da58cab8f0f82789dc49b147468ec9275f49614d2d4ac79e48ca58cb2464cde5249e92ca43e44f15de2e8a2d913bfba5f476594c85ca859f97aaab642e575cf9502d58e37fed561de3f5f29b6af51f6f95de51be3bdc4468de69ad6ab36a071db50f4cbb367a2ef67a3e5279cc3d887af2f469ec33cc48f673dc8baa31f709b3d7c16f6ba63ecc70ce59be4f59ec5c665ccdff24b0fef46bd156eeb6d18eccee85bdf7bf360ee28f026470ed95098ebe285c6bd20196708529041c859ffc4ad0081e8369f8b9c74102902674184a82caa00e68164106479d8028468c20e9913ec80e141bea386a05ed847e8ad1c174c0f5946e5253d229b2282c25f616b93d0e896ba188c04be37f50f6519552c7d038d11ad119d35b3118332a320933cbb3b8b326b045b37b72d8729a7399719bf198f29af159f3bb0b44099e12aa137e2cb22c4621ae28e12b795e6a5c8645d65bae417e47d152e9a94ad6212775b446bee6aeb6894e1a1cc116fd76834ec361a31d1313d36673098b1b5612d6cdb63a76e30e214e58e71baef66ed41ee49eeede2e3eeffd54fd73021683ac838742cdc29e47b8442e4527c572c44d273c4aea3a5a916c77fc676a65ba7d06e7c9f5ac8e9cdc53be790605cc854f8a7c8bb7cea695529faf2a57a8787ad1b712aa2abfa27475ac26a696b5eef18de47a835b9277f41b939bab5af3da9cda193b261e94753b3d24e9bdfa48aefffe80dee0c450fcb0e4087274fdc5d2d8e844c16bc137156f7f4de94d67bf7b324b3967377fe9fdf2a2f487a0a54bcb8f5756d6d01fd93e497dd65d77d8207cf1fe6af98de7dbe6e6a92db6adbaefcadfcf7fdffee1f0a3799b613b72bb797be7a7e6cff49f033bf81d9b9db33b23bba4bb9abbf1bbb77797f7b8f79cf60af706f7f67e49fff2fe75f6d7935fbff6a5f77df6cfed0f11e31fe52b2b437c7b0008a70d971fa7f7f7bf0a00405208c05ec1fefe4ed5fefede6538d99804a02bf8cfff2e443206ae7196af13d1207719f1f65fc7ff007c47b8761da207480000019e69545874584d4c3a636f6d2e61646f62652e786d7000000000003c783a786d706d65746120786d6c6e733a783d2261646f62653a6e733a6d6574612f2220783a786d70746b3d22584d5020436f726520352e312e32223e0a2020203c7264663a52444620786d6c6e733a7264663d22687474703a2f2f7777772e77332e6f72672f313939392f30322f32322d7264662d73796e7461782d6e7323223e0a2020202020203c7264663a4465736372697074696f6e207264663a61626f75743d22220a202020202020202020202020786d6c6e733a657869663d22687474703a2f2f6e732e61646f62652e636f6d2f657869662f312e302f223e0a2020202020202020203c657869663a506978656c5844696d656e73696f6e3e313235303c2f657869663a506978656c5844696d656e73696f6e3e0a2020202020202020203c657869663a506978656c5944696d656e73696f6e3e3738343c2f657869663a506978656c5944696d656e73696f6e3e0a2020202020203c2f7264663a4465736372697074696f6e3e0a2020203c2f7264663a5244463e0a3c2f783a786d706d6574613e0a095585d800004000494441547801ecbd09a05d4595eebfcf74e7f9de4c3773c2940408a032061c106d40106dc50987b69d7b94eef7c46ebb1bfbbdb66dfdabfdb7bb6d87f714b4c5b9410554946e85202228492024214012321332dff18cef57fb4b16c53ee7de5c62869b50c5a5b26ad55aabaabebdaace59a76aef9daa542a5148018180404020201010080804040202018180404020201010181f08a4c74737422f020201818040402020101008080404020201818040402020e01008616af083804040202010100808040402020181804040202010101847088430751c5d8cd0958040402020101008080404020201818040402020101008616af081804040202010100808040402020181804040202010101847088430751c5d8cd0958040402020101008080404020201818040402020101008616af0818040402020101008080404020201818040402020101018470864c7515f8e9dae84b7f81c3bd72af4342010100808040402020181804040202030be1048a552e3ab43e3af37a91071e9a2041cc69f73861e05040202018180404020201010080804049eef083c3f63dae75d981ac2d1e7fb440fe30f080404020201818040402020101008081cfb081cdfe1ebf11fa61edab8f4d05a3bf6674718414020201010080804040202018180404020207030081cda38f3d05a3b98f11c529de3364c3db878f2e0b40ee91509c6020201818040402020101008080404020201818040747091e7c1698d37b88fb73075ec71e6d82547bf6687cacee8ad84da804040202010100808040402020181804040e0d845e050458f63b73376c97188ea7112a68e25561c8b8c7f859eabbcaf1be88040402020101008080404020201818040402020f05c1178aeb1e558e4c722f35cfb79b8e58fed30752c91e401650e2830d2353868c5910c067e402020101008080404020201818040402020701c2370d011e301150f2800aa63911927e01fab61ea0143c4d10546afd5b5198bcc38b98aa11b018180404020201010080804040202018180c07180c05822c9d16546af05a2030a8c07188fbd30f580d1e3480223f1751946aff52fd5d8257dad400704020201818040402020101008080404020201012130f6587174c9916a47e21bfe071430c9a3421c6361ea2821e24855cf95afcb5053ab26f3a85cb6d06840202010100808040402020181804040202070ac23503356acc9b4918e54fb5cf9181c49c5da3a8ac43113a68e1e22d6acad665673047d829f288e7279c62e398a9150151008080404020201818040402020101008081cf7088c3d2c4c48268a065435bf9a83704de62846acea2812c746983a4a3458b3aa9a393aa7bad62ec928552693200e422561211403020181804040202010100808040402020181631781d123c39ae31a45c5aff269d9190b07c96a31ebc628552673848963204c1d29eaabc94f301345c0358e113ee2359912a8595593e91b0c74402020101008080404020201818040402020101000819ad1604da6e0aa59654c230cdb0427511cc5e6487d33cb479e18ef61ea487160353fc119a938123f01bd2fe6d309b14471ec9209c5500c0804040202018180404020201010080804048e33046a068a35c7e84bfab42f9ce05bd108098f5e442621604d8cc4378123498ceb30b566d457cd4c706a166b327da04dc008bf16ba9a5fcd39a04a42201403020181804040202010100808040402020181e3068103467ad502d51ca1617c230ca50447c59acc9154e027e4138d9ae2d122c66f985a3308ac6626387e517435c7b0b62a23aaabe0f8b53e6dc23589b14bd6540fcc804040202010100808040402020181804040e09843a066f8577314bee448b414add688049fa2aa7c019f36012956ab1b3fa165fc234c8cd330b5668c57cdf439d5743547e01adf08f8461be133edaaf8b5096b2613888040402020101008080404020201818040402020e023501dfe8dceb15a23b066b4113ed3e8d16b47ef9519f1c58e3c3d1ec3d4ea50105c12cc518aaa320123ccc8281cbfcae47d023a91122a89da500c08040402020181804040202010100808040402027ee89840c3aa8c908015455891da9138a35725ccd62c8ec254d591c98f8d3035110a8e5414df6a8d004ae844514ccb05b7c91821be2f364a95090722201010080804040202018180404020201010080808013fc24c70c658e5c7a5be0a74a2e8dbb72a23fc5ad1e489da9a1c133e32c4b80b530f1804fa02d5b4717cc26830855651b950aee648d2729f908a9ffba6c6c2f765021d1008080404020201818040402020101008081c1f0854c77b1ad7487c6aad4a84157d459f696209a615138415fdb6127475b12607e6114be32b4cad8ef7121cbf98a0ad9820fca2e86a8ee0f6f970ac98a84d5425c4241cf2804040202010100808040402020181804040202060083ca770d1848dc00eb41545c48c949a308e5f4c68a92881045d5dacc931ddc34d8ca330b53ade4b70fc6282b6a24f54d3e2f839f8fa455331be117e955d956a6635c78403111008080404020201818040402020101008083c4f10b090d2c65bcda16aa4f0325165babebcd17ead4fab6938c634b35625a2663121ec4b1e6e3a7bb81b3854f6fdf0cf681189222dc211d3722354ab5e39a14a25c1b1a2aa2469cc9a846412f2a61888804040202010100808040402020181804040e0f989801f1f8280158d102c164a88efd7524551b9889190b45aa94b05e18471e3ab4ac223d93c5afcf1bb9b6a68fac8fab4044ccc2f1a0d61b4e91a4744351f4e8269459f704271323bfb1907e027c44231201010080804040202018180404020201010380e101829e4abe61b2741d42cfa4cd135739835f902d6af82a3a25f554d27c4247064f2f112a62622bd918ac617515df439d02afa04b08e5414e2d5b5fe953083c614c7748d1f88804040202010100808040402020181804040e0f98cc0e8a1a05f0b4a7e1809ada2d0b3a298a314ad4a064ddeec584335095f4cb42f669c23408c8b43bf7ea4573d66ab4d10d545712c87301ab32a5673f2f97c7f7fffce9d3badca086959977c7ecd2a931421f904331403020181804040202010100808040402020181e31201858589a1f94ca31301242a3e07da8a1d1d1d2d2d2d757575e2c838818609d40c3aa8155f8484a565bad544a2e789b66ad61e26e6b8d84d15823642bf68748250d1671a07c2a7312b8ecf144dd5f0f0f0f6eddb299e72ca29c562b1542a59377cc22eb331ed7aa36b34b5b25c2d6f8a464811c9e7a4656df9edaa51ec1cb05d5fdde47d2de872b94c6efdac26682e9d4e5ba3093bbeb56a5d59b6ce4b607415b3ef5b934a224740bd3aa0414922467a4e5ac85be77d5a7d134774cd3ca19228a20227e05f133a317dc47cdaaf1da33a62352d04fcc708604df4fc65a1da4e422551d41509f857e3661c1f319f968038265c4d24541245e4e104fcab71338e8f984f4b401c13ae26122a8922f27002fed5b819c747cca725208e09571309954411793801ff6adc8ce323e6d31210c784ab89844aa2883c9c807f356e7032994c369b5db56a159fb03d3d3df5f5f512033125a197a047628a9fc8ade81309baba08e770a771b19b3ad22047fac693e0531447844f63b99ae90bf4f5f5312be6ce9dbb67cf1ef8d052c127345bb8ea92870f2da6e5446bd6795fd267caa0d48d8f4dc95b6e02322e49bf69d126ef5b4038218998b59520cc0e7cc468ce044c4bc6e19b59098be3f7c1d7f5854146039129728aa06a36c597299f9640c05fd702647c84054ec0df4720019455196e0942904a8b3cf8bf661f2809134d5b8166ee27542523793f879f9094291949e492940079c05f480a5bf2803f8084f55f13c4a695b987bcc5729b5cc8fbc2e1f3d79049104229ac3f7218cbcdc1c2fa83878cc3f5870bc4a49e3367ce638f3d46d892cbe5b876ba7cf2f09af4484c9b145a49ac68c4487c13389244e6faebaf3f92ed55b7a555c3f889a2f8c684f0696a8d2342b5461fb076dbb66df3e6cde3d02f929a9f5249d030ad8710ce3be2385039b52254a5a231a9923a362144fbeab62e58a3a6626d494b7d301a02496949c58a92518e008ad02aca883521a67daa59ad54c8cdb23892872949e592a10a3bbe0a1caad4015589864992293854518410137e8296a4b5e89403fe06c7fe6b044a017ff31ce0310713ed7b11fea3a2727093a2409577a94a92c631a607ffbe394255c03fe08f1bf83e231a6f0119aa48d07227e5e678069da948d22fc291051154494b3256948c7204246c8a32ebcb04ff079380bfbc08c7302844fb9e23e741520439b52a8aa3a23165932a6cc22499a2b4d49604246c2a92f48b7064410455523745ebb949c2116d8a14cda698c1ffc1c4a0337004945f1492e422a80af8e342e0204c8495e530454300149224312d17801230458949c62cc02c140abdbdbd1b366c686b6ba3d692c9c3f1698aa89b98d122ace88b19d308bf56a6fc2a337ef888f1b59beae36bb44ff834a05014474482161331f987c91b1f821b5387868624c05205870b402ec4e1c314c798b25393a92a7e89e1f0b0163ed99159d19249e4e6a93a756c1da6156884658d5c8ad61959567308536b1d5351551223b7862466c254a9d62ca82172256a45a0229bc6574308a80a3e843544912af51f3e49a624afd141432023a6045014532ac694c19a4c5505fc0127e00f08f843f07f9b2f104a9a4a7e6ede025cc85054ad1c094e587fc2fa23e7c125c2fa6fce00618068c12187293e8885f507100c0db91045312d0feb0f0884ef3f80804b6806996f40f8b44d37e36bdec9c7f4f905c73c4abac7cdf74f8649c042d8629388c12a69a4d07224e1a31ca6e4291a2d825c8aaa126d4c113e13fac8a7a3bc9b6ad88d34721380f069e48d2342b5462708c9e3bb09b11d3b76b4b7b76b7a48c564ccd1e173b524233bca61aa8aa2098b96a3a8961c261cbbe4522757921db3afb6c4f42d2020536889a8ae85439229c9ab5171ac57c860444d908baf227c84250f07c2c45445d138b2039f04931c0ed6a42ea62f23be38c69735e9c24446556a5a7c64cca6a95b37903161d13652330e079a5a256b9da264cc3e4559438664166052f4d5ab6b9d42c07fff272e50187a017f3c473e062cd0cacdfdc491f3a84a4e28be7c125a45e5c2969ca2098b0efe0f0e24733f1503feb89692810344f216c30a9404141c08f1c95151d1389812b0b2460e076b5217d397115f1ce3cb9a746122a32ab5253e3266d3d4ad1bc898b0e8e0ffe040326c55148606a09826039f840c39550629c5803f08182642cc70331821c02af8bfdc4c8e64b8018ecd4a3998c128bee189220979381026064745e3c80e7c124cf2f18cbfbaa7ae267a4e514356ad8d1abe060b1fa6b408c5799e0ecf5282a9243e92a4fdbce4bf7e95d122ac888ed1a354c9b449265b3a0ce56782ecc360fcc02685afe46ad2c684106db94f24688a6349b4fbf8e38f73632ac24c158a10e45c0011a28d0f41522d02d562707c6f93fce8b9193142f289a298eaa79cb85a4c2a5a25d53dd3a24a6b019c44cfad888ce4c913adcba6f8e4ea00321aac5996baf121444b400dc181108dbc0872645424978c5933be719c7ec03fe05fe52a78857c55ee2187116d5e9af01c2be2759227f73d90a26c8a4f1efcdfb0f281121df0c7434806918a23e506a011924c14c5c45705af19f7c54407fc0dc09130f7f906a011a60edabe2474c01f1004942d9b0697aaf49540b4aa46cf0d7623249f288a19f0078780ff31f4f98bc7d25b024bd270a12037cea4523c0c89437f4a351d7e74ff7fe28927085be40c488e3df92a468bf08bc6f1895168aa0e6b3acabba935c7c6a515df27441bc717b02a889192564f6a21c85117cdcf12dddddd5c66638a26d764804fe2b31f15e952a5d695532451a5ef075665455920474c39321026892eb49a1391103049119237a659f66bc5f42dcb3e7c1292caa502adbeb9ba3849c08640d14c990a8208a0681c114c4863aa51f161aa2853a8c321514b4e11424ce5128626d110b570a0a5229bd2854395df5bf8568c0db84cad489da259507fd41c4c157d0193142101639a65bf564cdfb2ecc32721a95c2ad0ea9bab8b93046c0814cd94a92088808623795505fc8506c81868a20d641f2e13de077dc03f5e8e8041ee549d0b55e3232960c551ad98017f30891dca6542895c4c03d04709a6016802094202c634cbe2983a0df996a1d501e491542e15b300a12481b0fe089f441ef0f701c1a94860e27b0b0256dcef53c1ff1d4ac20a7c8025462e7cffd90785f90984f03117a2a84967534fc2088021b52469418c93ef3f748cfb48399dbb75db8e7b573cb16aebcedd85caeea1e2daddfdab376f5ff9e4962d3b76d667527559f7545184e9bfc6a231da70dcd89e9d10d06eaae42569b488676b3c5352ade510a291784e842fff8cf5c346ed0b0f0e9bfdd10c27ae84156b12625aee13d0a3242eea48b554b19b7ae28927c6176b9fa3204ca7c9618a166139b556259a1c539a545665f210098314fd245db5055f4d630d82044716242645f1c9a952a216c26a55a522fc841d7ec5310bc858cf4553256b324891840cb510c69471e5b2004dad96090863624d2dc2c48206022179d9549572f8622664c4342d08d1e4b2a96e27b4b089806fd0a979c9ef0f6c49d27908121c599098f4c427a74a494d5badaa5444206127e02f649407fce542f219b98a4fcb7f2c0734f328d1e4c2504e68ce26230823e01ba4e8a7803f10917c887cdaaf82063a7184a138017f10103261fdc779e43fe62114050e394085f55fc8280feb0f6b08493e2357f169bf0a5a8e2431d1e461fd1957eb0f5787c44da40f3db6bebf947bc9f9674cec6c63ff94189a8b355c29f70f15b73cbdeb81158f0eeddcf1e2d3e7363737b326e8e2a20831faf7cf471f7d94dd546490ac9946a9f2e5e53f70cc91544bd1383589b87edf1763d187351f8fbba91a3057cb08d196fb04f42809dfb55af9b138c6e76709de41848cb5a56b66a053a4965c9fbea68e809810304d408a14618a162123d619ab4252491ceb09455ac477d5e27ea97d6611c311a562b9350407f96a19b54e956c5a1142f2ca6957930431095b1310a6a5e6d496d152919810335dbf1531d59c84c5918ca94058c702fe06915032ccfd6b14f0071c739bc41ca18a24b844ab98c883ffcbd3c021ac3f61fdb17526ac3fb6d2b26224d616c011505485f5c780f261d154021f41a42a984a144956051dd61f40001c30210fdf7f9c7f1c23df3fe92731eac38f3d99eae8bcfa958bba9b1b2ba94a54722b43b152e69f542eddd3d674f20933f75652b7fdfcfe137a3b73d95c624919c5ff9f7efae9aeae2ea1414e323f51511ca34722d052958844d18c54f37dad918c1f42fe7809536d79324283b4a208729f50b12607261f1b1230c267aa4ad75b3439d7c3685fcb10374f42d23e964c11a6f8e220a022ea10c6a4088d179a59b545d108a950b416a52e196b85a2d62f71d48a31d5012ca00b5316c8cd268475437c7500daf8284a979c5a3f5773623aa1386153464420035bc6c9a16519daac412bc9a06819112dcbe4d67324a5ee2bc2141fa608e52842189322b43f40b505df08a950b416a52e196b852276288a438e983151878305316581dc6c425837c45707a08d8f35121c726afd5ccd89e984e2844d1911810c6c1997115986366bd04a32285a4644ef331df00ff8c74e889fc83d708ce0ffcc114d1c72929011a11c942024a64907ed4f7003d308a950b4b542eaf0615a2b017f601132ca0d1911ca03fe80832391cb61c8a1712408b91c4512708920f7f9882999371ab092972239498a2294a30b21fb6a143af8bfa0f071164a82d4e7ef873f7cff3906beffe0d89cf5ddb367cf8aa7f6bee5d28bea52e94254ca9433e574254a47e94a4a9381afffe5a832a1ad7d6fa178ff92e5737b7bb861950bcdd5d7e5d6dcb119a7e943158ec17b3415a69a63f8048a66c1e7435b95f18d2382dc085f5e4c9f93a0cde0e120c6d70b696a8ed02e9b5fab99ac1cbe3fa5c5348e4f40fbc214c5892f8d5b4629929b6740c0a1566254419363849c8480725c53277928aa09aa10866fd6645cbaaa3549672b36ae9e9896a92049824fae3e50a5d6e1404b1142021421108043c2b82952651c9824c4d4223955324b2e49cbd543e5b260c2188146520d518480e3ac7bb46410a321e05215391c9254c869daa9edef3f55324595c4a88226595765504c6a9157ff352e676bbf934048115362ca084c384aa6851df84e394ef0f91719986a42b5d05284900045082cc321494c8ae4c689ad06fcdd24220943f280bf3906ae2287812388c8454304ff17020022a0048ef08103e1d392918385f547e09083a1661c39109953c9f12c37f71387a2096344d806fc81027c48021658488205a630340e32120bf80b9918b9b0fe87ef3feea30d6760a6582e0ff16710b58769fd27c8bce1861b8836153a6a9ef6f5f57de4231fa10314c949b654327fedfb3f7c77dc77cdc6579e734e7dda7dcbcd4519fdc73394ca51a9ae14e553e9280359c9a42a27cd9cf2f0e34f6c796adbf4a9b9fafa7a6c6a354031b150c087294024a3f9622a10d24a1030957cc4c4c1c2feca7dffd2ff6a6642e608178f5a980a163654a3130445e3206c459fa8e653abab9b20aa9908e8c2ab4a7e262750df8ac5a22e1802aa8580a30e48925c62dc302de7908024b123e330554b0e071533a821a845694992be21430e531ca9d03ac218a44a6d49175aea669022c292c18214ad2189f14a9e8d1b37f6f7f7d3253866502d6241f296232045e340989698e84a518d42cb9a3a63f2361011d24a983261999205c9ab2d935795c9fb84246541f2ea122aa625199384900cb90838b26092e81a8d5912927020643621a022b5c8f855d06659ba08c0219741084bd5ea549996c4d095a2cc5aff6948ea92b7fe889056c214cb746b6bebe4c993274c9880715920178165e48f51ff17140c8a4f234d3421a969251c34400ddc86ef17356b0c3aaa50a72819f1e168e6c2544a4c645a014f316997a2c4042c341cd5aa3f31fcee52aa18f00ff8e324e60fd07888dc46f3941c88c484af2ae44507ff376434a1347f356dc9618a9398b65481a1e906fc8592301192f2342082a95a72aa58b26c4143c6300cf8cb8b3431c3fa6f5e240f912399c35004228a722aa0836656cad3a8155f135916046c6222d30ab5620a7fbef3fce99ffee91d77dcd1d0d090cbe5646ae7ce9dea0f459224c9139fbf140953770e0ccd9de6be32f92947219d29554a597dc2675299f82be4fcd93357ad7f72624f377d20a9ffea36398d8a43959a8609a1ce68d4ea8c33bfff7b6382a00a19a98b481425404e428cdcc4c4a1e813099ae2e14b472d4c1d6548c2c81710b8e28ba6b6ba686222e47cd0baa810e290a36e34b5ba00b8177ea0221c04949bd318130ed66444ae0387a45e518524d6e040c024a939082952a56e202079dac59404ac6f665c62523123104a58f0ad41a3484e521f102049587c195cbd7a35776f5f78d145e4d90c434ed3dd7285813304e85439c5d184740437aee0c00205ced973d23ee22fc570a87096dd518674aa846e944af33b1172d49663d5589a4503bd72aa928e35b906601cdb9505672bb61e1ba3e90a0dd399885bcb2b34ea7ab5af6d67a24433b40cc4a8b9965ceefee891537434e633ee4a2113867670578ddfeffaf7f62f5ff1f08a152b4e3ae924dc868453c99df02573519880eefcec58f07ff5d679499cd46df55f39f351d3872a89514c08c3c70e33dd1411401e4981e01332a25ab52e83caa97d5ead3f017faebbb9046e7384d7ff807fc03fac3f9a805ab4b5ce5b1ed67fdcc33edced730dc4484249b48afe6c9222398975c6871761e34b9d5a5f609ce0af7e5e70c105f7dd779f3654e9367d23a7b70c4afda46810694585cfe738616a7b7b07f1adc698c8d18952a52c5f91f97eec52b9a7a375ddca417e2ed46eaab565c605117c998220f93d110d930ea0e58cc6e043a8ab2264075a44a2085f552294a38e98cf39f2f4380a530d4d4327c1f1f954a95604395705019f5095ae9cf889dc8a52e4629811d1781ec9c4fab63db5eace5facfbed6fb7ae7982afae9367cf9971e6c2932f7e69dba4c92c6ad63de92a979f41efdebe79f592ffdaf0e8fddb9e7c9c62f78c39d34f7cd18967bcacb573124574690823d024fbcac20e2dc56d3bb6defbf0e2e56b96aed9fc2401d7ccde59f3679e76c1e91775774c302d1a52e7ad1b14d1a5f30a98659c224c64286edab4694277cfe9a72f1c72fb49f9a1742943fc47f4574c1798451917091256a65365be8667e8609948275dc8baafedd82911b2124312ccba43f785389a4d17b3fc5084059a86992a1062322842594e3854b24499fc0c50c9a45d105ba0318260a498f604ac2e68ad38250c738ebf5497cf0dd37c86a8b3922e670a748e0e645c105d62e92b67b2a572251311f7ba308233144582ec6cd19dfd77d1301173259d29e44a9912616b18dac15fb5faa6fa73cf3efbc1a54b376cd8306dda34fc078f92173937887fd82337c7a34abe476efe4f2dc2723c2da32a4ad25dc091fd9f5ac42cc73eba18a151d37aaefe2f839892358c6313daf81431ae46e143289700b51034ca0cf59b161f4998d04ad881806928a10bc7372e01338e30348ad2953c36d587803f708149c01ff7c0a9e46f721e9c8a247ce043d45cff258c8064a4026d7c14310e1f0e7c08e51208f8e37b61fdc10d0041391e4282961729d73228cfa10a01e4614a92dcbccb3c196193d1f71f89598e00a602fec230e08f2768511220f228391e7e42d267a8fc0a191232f045987342c80e55d03cb6e6b6db6ed3eb49252f3e5aa37cfe22496dffe05077bb7bc451cd44f0ca97e062e4765a2a05f7859680b62f5f181e1e66bb089503fa3fad90e8a44607cd1895a36e843aaca246a7251d19e95af7281a2d025d8919df866f9c23461cfd4728098e51062c013f3761983e9feba12284e86a02019fc9937e274d7281a233147b27b904ec8ad21c021b973d74efbf7f69f50f7f386178e8ccc9936737b5f46f58bf72f12fb7af59d7346962dbe4495297b07a68aeb07ef56fefbbeddf36fee2a6deecde179e30f184090d852d8f3f76ffcfb66edfd0d836b1a3672a2da2a2e9841d6872a5556b967febceaffd74f94f8bdda5e9a74d6e9bd1b261efa6fb1ffef5a62d1bba9bbb2674b9764d5e16b026a69ccf04d42b15f90058bb76ed058b2ee2e5c39542910d501799f2fb0e54b994c961c2c5a5e5882308519a388f1a62c498e522d112332c9de5f8429a6896f8d06d91f295298aeb2a510ed1226168a6e85609173522912e1196f28c338a6e87d6f5bb8c75885239e7fea1717651698d40173db71bcaf4216a25accd112373c29f50967e50c96759255371f7a51329973944518ab232cc9c2d67d85d2554e0138fa0390ccd5dc883be6a459e4e57494fed9dfce0834bf4586cae2689ebe52e594cc803a121948b404055e4727208d15685d38ee2ffb2c6c28d96da22977ca2758a63f47fb3804d1911879c640da99f964390f4b5409d4758848c908b802f3108ba245aeae4d29230b53e47558c8ea42a69c157155a3e146a8e1c31d1b2665a5605079be28bb62a1a5215044ce38ba65de4fd46e1481e01f50a0109cb02b532225dd1ca256916ac280e390926b9e4d59072f8248169f6cdb854283a1301ffd825c001c40ca218bf7d7e62901a627062e402fecf7c9e0a1c791d39f88823f444930b6488e0ff42895c848143d15c4eb45585f5477e052022008a042c0ec43869622240f297628a52414a34041cd382a92a726c8a2fdaaa02fec2d0c08ce12fdf7cf3cdbdbdbd7575756c8db28b034a849144ada3e38f118477edda99ede83c69da14033c41b89d54f67c2ad1ee81a19dfd7d856269ed9ab5274f9bc86eaafd88832992aea6df289c2d5bb67476769a4dbbe2708c1e89109fdc4fa608d3a7fda2f16b12300f5f1a47bba93507c975826fb9bb6ecfe6a8567c3f878fb749586ea75ad1aa82c3e527e182928486d0bc85404cbfcaecdeb2f9c11b6eeafbcdfd1f7ae525135e7549f4d20bddc1d5ffbefba95beff8f71fff6c6925d53ca1bb7df21454b8ae32a5e16061efceadcbfefbcbd995777ce08fded47ee16bea5a5f862f15f6fcd7ae7bfef35b5ff8c6c3a9525bd794f6ee29ea185ad619e86dbb9ebae597df7968e7236ffda3d75c79d2ef4d693c03e6c6c1dfdcbceaf66f7ce5b6cabda5ce8e9e495d9361aa517ec881a60f58534f1891862019eb21f1f9bc79f38820874ae52cd16454ca45a54294ce954b0582c52206793c592a578e0aac98193d838c430aa928eb0ed566dd79855231c771dc4c1d32b962a69c2a94726866cb9cb807388060df0da74f1733952c7011bc126096e21392f1ef5f1c337627848b15f6e678109a3b0901fca95416e033ec841223639f4d54ce4f6789930947f3b4cc966dbe52ac735f45e94b81c8b644004c704b781b8f9abddf12bad9429a76c3d00ec5552b3ad738e59453f88971ca14e7abf895963011e472b06affc79fa942859c840792384823028e7c959c44d1f77f7932929a9232a5dd21846541dd804677ecfe8f30c9462123b22cbe758386d42ebfec88505b88a90f1250ee0f1f31ec9b1dc9534452e322176e2643112dc940206993d764e02046529f4590631f15bf03d6a208721232a480bfae8270336c29024ec01f1c0c1339369e13fc1f4cc021ac3fb80729ac3f4c0d960b4d10e5fef24b1528d93cc2734c1231687204e09b0cc5b0fe00888f9b40837984d71f7638f9a81d181820ec7cf9cb5ffe8b5ffc823095ab33fae72ffd647de81b18ee4cb92303074cc343837cc71e181e6ecc3845eca3a21c427e622e61eb8ffc442ea426540587a2be33408b306b665c5eeae732e273a0c51c0ff9b80b531398d6c4c8e036023168252ecf7ed2fdeb17a1954c92a274d51045aeb726094ec3a582267fe267bfe8bffb576f5970e2843933a295aba3875738f96c76e2dc99d7cc9e73d3ddf7ad3d73e1196f79832e2d2abe7f3cb1ecceccaa3baeba7c61fbfc53d3bb3714b6ff1f5453d9baf679a7bde6f2476ef9d11d4f2c3bfbb40bdfc8ac5067ec53909edcbffc9e653b1e3eefca85f3679ef07879edc3bb1f45b7315bb770d6bc75573e79ef0f963df0c82f2f3dff2ada6544966387227d106155aecf3150f490df634e5fb8b058cae7f861272aa4cb840d45bc8159426cc8c809285369b62d8955d3e94285e3bb59ced1e6ca449e6c6c165359b787c9e6286baf3b70eba2447e1f727797d21e2771398d8b0dee772d70d8976d521d9e76bbb2fb9ec99d015b8efac2c864084c89464b88b9b81436ff121370ac9810b89075df0ed2f186609658b8c41dedac64044eee9830c62b698effb2e10b006eeb14968b92a362aec480c2d00ecd55ab944bd3674c5fb972657777b7eed6d034611de7d1022ce5b816f8936b12e105cedbe2248e6ae1e30bf24c711081c97117524b4b8beffff0cd26042d226cea10143145952495cbf828fe2f2d994205428a7252f165d6680825bf2168129228aa6f92911daae818b530a9053415254c2e61755eb499a2d65f7fe276f6e129be6cca0816487094d396bffea00b07490923462d1c750f151a25d55c7f24830a0248a2058d1d8a54c9a0aa24a95cb5017fd0002ef2803f0804ffc719e40fe4cc117266903909f3cb8a9a629acea29d669c34c52c87c014329a9b92911dc9a8a1803f68188010017fb94758ff4180e7faf2cc247985a612f9b9e79ecb8da96c5a5e76d9656075c92597dc7aebad10a37ffee257080ce50b8df1ce8e5c6ea49c77a80e0d965299f4defefee6ba349f9848a24eeb9ad4ba46ea18fdd41cb74b8698aa645f4554a40b135a025685ae6c921b01531612b9046467249984ca612a8ebb3055e304207fc02a922712323ec72f72a9ac4a34b9127c08e5106871f9b90cfe55876f5714815dbf79e08ca174efcefee8de07a39ecea8a911663430183dbd73caeefe85fde9cdbffe4df49637c81496cdd5e0ecdef0c0e9d3a2f6e6fad4130f452d9d99fa2698e5c2606aef4e9854addcf0403afd66bee8ebcb25eda2ce873abd5ab97545fb299d4d6d0d4b9f7aa4ada1a33ebe277bb830b47b706f637b63c7bc4e042e4bbd06831a0e43d0d020e0c01707c2120284161deded8d750d98e2ec2ef783ba072165d9788cdf419caafce8d6db4cde88575df12a823e8ed6568a848f656e214509e0f42c23ba4db04940ca862b812e216d911b45095dd9abe5ced0627a3853aee71167d90a37ae72532911702acb866c3a5f5fca14b315774779aae8c25cb7554b22c21d4ea7eaa24ca148d0c9e96276778b390efaa6783e13f132bbb6ec1316b950eca2b2818b0c95742b972fc79bb858613cc9a1d561a58e80a1c84f052e24ce129c736498bb6bc3d046bf6a517d43537b7bfbe0e060535393a21a7ce9a9a79e9a396d667d7303772fb393ced639de8ddfb91f0c40156654ce55d89e77bbebf829f38c7f9876ee80b7fb8d820bcb6dc5c5befec11ddbb7edddbb9743f8e6fffe1cc425289234b9704b89c181a696ce8cc5ff65472ad0726f08252cc8acacc1846062d20a0445e421a42523a86801910a4c8a24f8c8ab7b324b2e75d931e3082366b5928163eab26cf621581fc84908934c1253d08248b5989529aae03016fd2c0dd3da45a6e6fae3f7414dc009f80363c0df1c0fe79123018b7c982209dadc12dadc0631f8725a3924c2f89574e15045eefb1e456a95ab36e01ff0d7428d9f982fc949f02e08f99838c2ca103315c9481d9a84bccccad9e04084f55f10811bc926f27183ffd7bffef537bde94d7cb7d9bd7bf7edb7dfcecb2fce3befbcf3cf3fffb4d34e6369e23d347c62b2e010af52040a5c62f4f5875d939686dacf4f92139273d06fb090ef2ff12537bd61fdb6ded646dc0cbe10c6be56453c100e7c11d074860e9024ec7bb8686410a6161938a60b537c7293a1d69298e4c691a4158f167174c25481c598ab091f08d5fa79a2962aab159d28c657d35d4eab15011f42b57803fee14baa155d2d895556ad3d399f6a5af97434588ea6ec895a5a9c4c5f5ff4d49ea627769e1c5536ae5923afb2cb6fc5c2c0fade99bd750dec57ee71b774c6fb4ee5e240a5bcbbd250a6eaa1adeb69ddbccdefe18ec1cd931776979aa2c1f450aab273b85047b3f9729e62a5a13279e684edf76da62175985cad630d1a3b2a9293c414c156ea19679c51888a2e6260179260b6c42f3bf131058ed7a6dd37ddabafbedacc427cf9cb5ffee10f7ef8aacb5f9d72a776890a5d63ec13c4378a12e7111912f9453c5f9be3bb6e4b9413bd4c15178f124ca6399e5bc7e627764bdc65eab63cb190af70a3aa3babcba5a8e4699f2d5a7751dc8e2b8f8ae2de5736585dd89ae1203241695dd1053afcc5ff944ac52c5390a887dd5d173233363a1e954b39765941bbf6d0dc6b96dd8db5ee4e5776892b753cd0890eba7b6bc3d046bf6a51b1b460fefcdf3ef8207768f827702ad9545fff0090ba5b9809e838a2cd4f09f1f528c5ef1d18666bbb52aae358782ac533ad0a6cbe73c5e2a8950bcc4971c06facaf9b3e63e6860deb398eded1d1811bc881f13dd14c103824f936391c3e29b9ecd04ad008c8d5215424278909210b10a898244c7d17818959e614b9d9448c5a5926b79ef866651949df3eb4648c505116b04f516da14882237555a9085f62aaa248677cfcb5d4480c4989892945724cd1a8da95a4ba247968aae0ab458ad01280235aba30252383017f0009f8e3457224b90abe41517e0261be04a1a27c4962c1ff712152587f700ff90c6898cfc0111dd61f60111a61fd771366ff67ab9691df65fde17d7bdffffef739d9fb939ffc049ae7442e5dbaf4acb3cee217799925e70397fc80f82340c7caa5727f9e97a41e200d0ce6f9069dafe4b76ddd7cdabca978384dc8db47f77f6a4958479e0411e3f12c4c6cbe20a05a89a9a89e4957b45f2b9944ad09d424ccc8e120f67d153b1ca60fc22668a2a5bc5addaf351a42498afb4bcffa57175539157e111a0e5fb650e7f35245e3c0d4f7b0a6ba6cfb94d668667734a92d6a6b8d5a9ba2f696a8a32d9adc119dd8dd31ada3a9ce1dd9c502bafad6229a625d632edbdd93eeeace7475a69d56137f1014335d13a842400d59ebf8878cd43764bb5a5ada1a9b5a9b1a5b1b1a3b1a9bda1b1a5b1b1b5b9b9a5a9a9a3b5b9bea1a9ef9a1012db644ac5d7335082c93e3b8d442734a73c2849e32377f52c51f98703ba9dbe64a21c1350015ba343434ac3f68d29557befa073fbc8558c41dee655c6c5c128f128f94b9219573c0bc118a6fbb4c68ee364db37d4ab0c836a71edee3a247b8ccf4742acf8ba332a57c61e3cfbef6c3b5056cb96ee4a8892a4b6efede2f370dc70f09ceb1af4af4e29ee4845764a27aa075b124bba87ca4d3499eaae41e244c8f69a742c0927137d3a2c381613a39d2d05c549e49e55d80ce0e2d6792cb25b7efc726acd33a344323242bb1adc8c1e54d3ffac60fb63020e2779aa1bb6eebfa771e5a69f8a9edbc0e7ae7c03017ee99ab76b88756ac143a7bba3921a3dff3e44becaceed9b59bb8144fc872b1d810e78661c2551ebc5ce07c29c32e1579aa33c8ba5f082a79b71d9ee677079ec9cc2f145c8442a5cc2f26fdc542b17f68ca945ebd9d4cfe8f9b3101499a1a72e3d8195dd0452dd75f4572e803fabf2c909350275743e842d31045f84a1aa65a2777238c6b9184868318848ca85655f021644484a25c6468487cb5258366dcb4c4512b52315d0889a12b825c49d6c85111ad9ea042528b70a0ad16a638101851dfa4ae76e15b1502306363017fb7ce0b31814f2e54c903fe4246ee471efc1f9760c9021608398cc091b788c944930b691a86f5071ce2e527acff6ed1c649000442930b571121772297f3c8a3cc91e06bc536efa268b530651342d628d2908c3c4ff0e739493366cc2046256f6b6b030a225503cd60070dd2e8f8abb6be2e3b507c66f748a6fc9cdff339f1b7b730cc17e42d3bfb1a798146967bdb5c38461307c4dfaeb808547c8eeb65ad24e356a36222a79848c8c3519ea83a62c5f115a6dab00d14616a30196426a02a898969578e22b4aa8c992028ca02ae096173558e422dae03b379c149bb277544b3274573a746f3e64667cc8f16ce8be69d18cd9a1ecd98b46b6a57c33cf74a493e8c99decaf5351a9b2ddd737756da53cd1d51737bd4de1db5f7c67fdd516b3bbbb2bb526dcd5d7310438b9c44a33690299d33d37ba3e64c7d475de3c4facedefa89531b2641b4d7353665ead37d516ffb0ca9685cf481a4a6e98998f41f83e47cec21bc6ddbb6050b16b059c96c28731f6811aac4b9d90a8fed2566c84439f7fc24e79ad5e9aaabaefacf1f7c9f70884f5a2211f6c8789e766ae8b7ef69ebeae8eee86aedbaf2ddfff8f0b6bc8b97689018d3fdae4450e2cac467c359f7d05876aedd3b6c0637bdf18fdfb6adcfc5354cda4286b8aeffe77ff0eec59b86a9776787e3e091e839a277e532f73ed23dd7328f46626b95e3a2c55481b89593aac4a545fac3236939b9eb366c5d8cfaeca1ed5ef2cf6d3d9fed478408ba40ec44c72a45c25d829d923b6c4c19abc9a1b19e134aa54b2bbef896ae8ef6aeeece9e8eceaeaeb68e8e4efeffe70777d51e9a335ace0ca58b831bdffc476fdf480c1d47e6187fd6d00696bda7a3a3eb2d9f7b6affd0f2db7ef2e2b6ae377f6549e1916fb4755df9c0ce6786f6c067ceebfae4bd0cedd13bbfc003b74e9c33efc41366f74ee9b9e6ff2eb1ab767043ab0c15572c5fc69eb7ae1a5bd96bd6aee1aad61a1a1f93a9f9f3e6f320255c0b4fc34f0853b76f7f9aa885df0ab8044c27f7342b9e1e9d8e781617a75fdc4f13ee13b4924f17b8f49cdd266ee52c708e5f112362791cafc4ef17cc9c21d44be5b6d65622617c4f0e4c13b153bbef7662ca39a955a2283f57970ee8ff6861c766babe40ab157d4e48006b2a9263537341845a848f0c34040983e4aa9230765424875627f5d5131a19a94320803a84f58a86a4824d541020499e2ad122d45b38a857af3ff01153a392478c8459b34fa38855af3f12900574d567986a0b428922554a88918403b562ca3eb9d61ff874c0461af00ff8e34280e07b055e24ff09fe0f02a0e1266d1ca8906bc6c1677e41439000905c55b1ecbe5044323619c3fa13d61fdc0357b1f915d61f660d5122af85e741bb3c278974f1c5171b3e07f1f95b9fcb0cef19d434accef9165ee47e278e030eb98fc2e58fad99d3cdc693bb918a99ae090b5f1da06f30c51753735c9fad46fb8468721148a2a8a2728a4a56848063b908e3ec933e7aff8cd3307524400c3e214851a966d12e8f5d785d5acbd185660746cd418b800f4111e7c057c89b5e78d6c6ce9668d6d4a8776a74c29ce8e493dddfdc59d1d4a9d1ece99b5a9a5b5f70265a4c78b464d66cb64c3e736bbe3498cb569ab2517d47d4d8e5fe1ada2b0dd9c15c6ecb50b975ca59f24874a54e11759692b9dd2717b7179a4ab9b6a8a93bdbde55d7edfeb2ed6da9c6665e51ba2d7fe2c453509113339d44485da3c00e0489af835a9bb66edd3a7bd66ceedfac701093d8d1bdfd25cb838a786d8bdb89245e8bc71e7f2662cf2568ecdc74d3d7f91b1c1cf8cef7ffd3f58fb090e3878c3a5d1988a20f7d7fc9e34bbe3be53b1f7fff2d2b4a2ee276bba9001abf2e26e37612098378694cfc2d971ee6ead2174617a6b2dcb04ac8c21e29e14a54bf206accd5d3220f5ee2aed11287808926e38733e5dc4eaadb802b72ab235ffbe9134f03764f7ee24e551ef49449e779050e178e90873e2587d630e7b5ff7dcf55ee9662366fb9ed95fbd53972ccb56511e08432e3e32536dceaea7af1aca1515588b2a75cf3c527d6acdbb065fd7ffed58205d7fde0f14debd6ac79e25da7759679894ff5d0dc7632ef702dd7d7372f8a16b943d0ce28c79cdd8ae30fad0ff6edd7fd72bd7beb2c435b76cb8dcbe9e070d438efe26ba3c55ffce963fb8636b0ee6bd72fffcce5a7afbffb13e7beee437f7ee35d9b76eddcb579cbcafbffebfde74cb6ab7670435bfdf863b7ddf6e3bb7e790f513a21c6e2bbeefee6b7bebdfec9276b0e2daae467cd9e8d0bc963c959d91944ffe06034c45dc7849925a29ebc3b05cec577375110d770e95c180b3f16e057080e960fb30f1f9586f0438438c4cac670893df6a1ee8e6e6e0ec1a6dc15c42028224582c6994543383c9f8bffa382295923972972928d8826b0294e5cb36f5eebe31c3198e86ab2ab27d0660d0e3214c5317999a2c3f0d56d71c6b2fe6053d6d431cbd590ecc0ac5e7f2420d0d410ab044c19c4262a74c61f0bd64c0b82da80bfe00219435eb4800af807ffc731c6f2f98bab30e948098f82af59491ed61f4d2b708008eb8f3e2cf019ad397e2ea0e08819d67fa61549b0083168c0110d0198d082d4a116bf3f060e099a9caa97bce42510d8819607424b000231cbabf1a7162d7e58dabe7b272a35136eed36668a6cbd94770c0c3cfde4baceb6567674119665991dddffd50de42da16e7d335362c257aa2ec21153c4f8ccc751980a8ec24844224fa09c403651ab6222e7721ac76808e2371c0b83cebde25f2ecd1ad35ef484f3cee99b77e2fd78d1d4dea8bb276a6b777f3d134a33a6dc9f2af59d3c77e2f9e7224cc28e2686bc87e2e4d9e70f644f5ab6f6a9bd4517a1b82d41362d79514db1bc6c0dbb89274e99730162249b15348a112c9c3ae3cc8995a95b966f4b0df1d2982c5199fb2b6629c29c509e76ea8cb31046127506420754541f285205c7f52c4ebc038ae7a9363537a68a1c73754ff1e57944118fc44e0302216b7cb32921d3fe6b11f7cb65ef7ce71fda5f5ceb6e6075bf097107298f898aa249937adb679d7796934dd51587eef9ec7bbad97cececbae2cfbfbc65d80d7c78d3039f7cdb05ed3ddd9ddd3d5f5dd5c75dab4c2bd40b959d37fde9856ffe97bb693ddb15ed7af2277f754157774fe7dbfeeeb66d60902e0f6f59f2f75776b6757575755ff9f5c59b73e5426678f55f5ff1e11fdcf59db7f4b47776767ff6c78fd38f72a6ef81affc6547171b9e177e63e9d6c4d04a5b7ef5892fdd5720cce97bec73ef59d4d3c1dee87b960ef0331a51abdb8275c7555d345589860676efe54db2fb860680196e91ad6f6aef6c69ad6f9ddcd215d5b77536b6b3a9daca69e1e14ddffc5f6feaece8eaeeeeb8eea65fe7899c33d1c0a6fb3fb8a89d9e5df68ef72c8edab3e9422e5d19daf2c0f5af661796a15df9cdbb37b35dec9e8dece08abef8a38788e82ba5f5dffdf06d172e8051cea726bff173977dfbddb76e4bb93b75773c74cb57a36b7f6f41f9a79ff8c7e82fbefd77af3eb581abd658d733f7ccf316f4d8552312e46145dcde4be0ce3f3586c6beb077d534b493e7cf7fc9cb5ebce4c125f7ddb5f8debb172f7970293f25ce99398357ce3a7725a6ccd03906e68686d73437d7f33cdefefe7e1ccaf5b55ce69cccee1d3bd2599c932d709669224f62d322bf30a478056fa552702fd8251427a6e4266807368afc46e09c27c6bc54c9bab3dbf04b5143530336796e01390967c399f90ac8dc84360e164836d7a00fe8ff0823260b08634d330e8264b5b445d11a82762dc5d31379125524089810260c0d47769453a55ab082804942514584618e65fd71edc5c9b78f2975407628ea8a40a85134684b4564f8c1587db60e20205de3230cadaeaa45d1017fa1015c40a45c84614831e0efe323d7922b06ff070173183009eb8f1c434e12d61f70008491be7f6af1d15213d61fa1219f819623993b193e07b1fe60932dcdef7def7bbb76ed425dab962cab519866dfa6b31aa2a8f51ff96c26b371db56f889c43eaa13632f889ff0f9ca5a2c3db9e5e99ea634dfc9699735815afa800508b5283af1f9ab51ab63e44ac6dccf78d6bff44465eb12459f69d26226722b421cf9342ec254e135f6c11bdc0964137c0cc2b18b6db45d4e11e4f23049e210789bc9e034d43674754fbaecd2a77bba7ebee68915db9fded63fb0adbf7fc5b6a77fb17af5d3edad932ebfacbeb38b258684a26e9053ebe836b6f4f4ce7bedd37b66df7bdfaa471e5bb165db1afe20286edf3b67eaa9af6968ee468b76c9d182d00c44b7bdb9ebfc132e6eecef5ef6cb158f2d5fbb69e366fe562f5fbbec9e5530cf3fe96204342e0d811c23242c90d31f6a056ccc2e6fdab469e1690bf9cecc7e5f861b34f9f29f211a717b5d39f7e055fe276e70c39796721d84500e875ab7b3c9f660965093582dd5164537dff0b9cfbcfb151f8eaebde19da79532a59eb3dfb572f3ae5d6beeacdcf017b73cda9f4b6dfca7f9aff8f8840f2c7b72c3fad58f5c3aa38123bc95a8ad3133f8a38fccf99307defacf7f7c7ea61c35b4469f7efbb7cef9d7658fddffddbd9f79fbdfdeb6b6126dfcf8bc973ff0f29bd7eedabee44757fcc9e5a7deb6a9941e1e78f2eecfbff58a3bdef59bc7177fe51dd7bfe9d681727afb9dff70e9b55dbf796ad7dabb3ff0c717ffcdeac1670d6d7870c78f6ed8ced0d6df77e3df7efb154bb7efdcf4c43fcca963271910383ccc0ae1ce17affbe967bba64e9f3963f2fbbff6a07b9e31a108775546dc889b495732ecf80dbb9b4b5d844dd055884a3ffdbbf9efbdff9c07d63ffde443df5ff7a7977ee8f6f5c568cb27e75dbafa9adbb76cddf2c96bae88a23d79a2c6f2fa4f9cf28afb5f76f3faeddb1efaf1e57f7cf9693f7dd2011d4597fddbbfbeefeeebbeb721931b78e096cf5df88f1f7ce765eb8653f5c395b92f7f5f145dffd3554375e5f2bd5ffae8859ffafd49836bef581cfdd365e78d74d578450f572ede1167094c0e8d6fd789aba6a1f17ce773cf3eeffc45172c7d78e9d2e5cb2ebaf0c273ce3e7798d3badc44eb7e16c437b83798a3e1ec9eb3caf2f6eacae9a79dae73bf720616599e7be44e65e3151c662954ea8a3c7b19c7733f64b0b90dc8eca3e731c48e3a7384d71b9532c3d8c30580c1f5c3fd34e29e0e9d2e0f0d17264e9cc4e7849c1007b6851b5a9f0454e923840ea80f63f17fd4112347dd660a84a6bcec502b01e7e4fb9b162d2d9848aa4a46e889269ac4a4ae8624e62b32160d812a0d41b5d010a4eaf507262d6250b98afa9aab3ec3c11a9ceaf547c26a8b2648ea3c1c1994058ad5eb8fe906fc85bcf280bf5c08af08fe0f14245c0228985c028422e090273e7f35e9c8254f2e22ac3f61fdc179e40f61fdd704010d087df488d66481c98c53d5a15a7f781c065f8c37ef4fd8ffe637bfc99d476a8576e1d096721547fafc45854bc9c4dfbc690be7965021348da3d368d8dd5756e2901977adf250117ecae7eeb52d5b9eeeed6ee3481a8a2427bffffbbf1a8259fdf90b935aa7b03fc04914e1632aae7f86f0993e8de4d89314c72e7f48249f7900cf2131f7bb1bf15130da30c5fe284caa1249174f5afe8594181c258ab89ddc0b6168f1f136bc938440f3ac592d574fd8b37cf993ab1e7be437bf45ac65f294f633174ee63ecfa6669e0906077f22f1bb8869a188a9f69eb92d6d7fb073cb036b9f58fac8d207916c6e9bdd31f1d553a7bc309d6b25ac4506a61ad2774d389882d3db39b3a7fd758f6e5eb66ed3ea471eb91700badb272f9870fe09934eadcf34d9974b846504754c3116383e411126736fd29489a5614e16b9388478120fc8ba07fbf096195e109366978e8ab875868381648249ad3beb1a6f7f110cb9f79d46d1949953674f7a5114fde4ee7bde71d24ba69f7cf609f7fff45bb73cb989089607e6e4d73cf09928faea5fbc614a6b26cd93a068265f698b6effc25f5f7ce3fd1f5e72f77b7a380791c9e4d7457f75c7e72e3bb32d174dbbf67dd147d66e23b0fe4cb4e0ce77bcacb3509ba59cc100004000494441546939ef8d9f59f0a19bef5df3aacbd2ecdfdef4f0e72fea8d06074fa68ba54cff6f6efdf7285a74d3c7febe3cbc328ad63d552a9de40f2de70643bcd5317d6114bdf7cdef6ffcfb3f7fe7c5f3dd096062305e009b4fb12dbcf7bffee57a0df8db1ffce70fbceeaba735a7f8618cf095b3c79c89e59c300763f98f00d5bd0cb6bcfef67f8f3e7ac735b3dbb2d9d6177fe8e317bef8ebbffae899ad74f88e375e90ab2fcdbfe48a45d162f6ab87d72f85f9b33fbcb0219d9e7ece9b3fb5e0ba9bef7becd22b2adc8279da4bdefc86e8a23b1ff9a399dfb8fe7dd72e9fb1fe766e0be5ec71d4f382afbc3efa836f2d79c38772fff4ede8a31f3b25937f782f43d8ff42d8eaabc612e7e24a77b312ab142ee50f8d8733f3439d7fd59e191a37f7324036d959d20afcc457e6a14fee88b2f3a8f874743e3e609de2aa65dd4980899327eeba6b576f6f2f58c9cddc839476ef6c6d6d663795209e6727bb7b92f13177fc99e0d51dfda66765079b5bc4f33c02980b52a8700abc548ecf76f3165ebc9137da54f21d1d6d6bd63cd1d3d383247d6012a91572682605047c120214d50d8a1070c8abfd5fa6c83525ad28cba8880f215ab909ab158af051b146a14934a7590fad0f3072c93873b171e55820a9e7c681187dfda156c236641a82c6147c081284eb4ad5fac3486122c06e2acb85fa69cc5863dfd2418731286490a74ac6618a2687460cc23519f00ff8e30ac1ffe3a9c77460be307dc8c3faa3c544eb89968bb0fe808692564efc444588b0fe03856690603170fc4f1964e0e34efa6c754b4f9c7ec7cfdff7bffffdfad4c398ecf341c90ff1d034447a4e9fbfc49cb8fa1e5eafd7d7dfdbd916154a7c75e43ba4bbc9899581a3694547ba3dd55234b86b77dbd456ec936888018ee5f3174c48eaad08a127348c86f013b51413395d1a85e97abc5f40f451c98f66980a3a631fb3844dc52f425b517475ceb5141342b88ba36bcc952356e474b81c851c0eee82b3ea53075df612b3f50d132ebc68fa25afc0a530c2dc80c9e9c4a1be3efc52f6e1638a22b5d0f20982d86cb671da4997cd39f52abe26228965c4383939c05b6d62316cc287a64bea955a412c93a97bd1092f5954ff4a71d0c538af78ea1fea8783b075520351a3966313cb8831f14e3ef924175e65f225e60ddf5f79b64f96fb38d9cc8affa386fd2fce5fc628d12f74ab13b5c4a6c46c3c0287c110177142e29245975eb5e0f5f3db5e75fe6b6eba74dd2bff66e64b07aefbd247def8e25dd745033c5a27fef0cef2fc2386c83379699cc71645f31b1a6744cb973efae4c08c19f5dcb5c98e5c5b738e5d5df6e5e2eb14f1a6e428eaccb1e5cb861c71756734c0769eebd9a289ed2e4661b2323edea2c34f56d1a5afbde2cd2f28f5bfea55d734cde53536ee3528fb87e6b075db752d27be76c38a0537dff8fffffef9277cf0a6651fb96c1acdb1f9c7c9de62b1ae65b20df7a4ae6686c6a61f77cf72ce98f754725e556e14f1fcda428eedd42271637d7d1daee05e9f53578976170b83fd74b8ae81bd718e76c483c8144a797ec5e8ca72877c3cb44c67d437c4d39c18c59e6cf7bc37be6ffe6bde7d75b4fcb25ffe7f932a9f8f88008a9974ae58ffe2f77c34bae486af4d482dbff05fcee900bbde4b1744d7ddfa9b779dfe929a578d080c5770c7b9dd3b3533dcecea0d8da0d43d22cbbb6afb86c62b7aefbdfbaea50f3db4e8824574f7de7bee191c1e5c74fe45b8080f9fdb37b434bf01eaaab933d095a81e476207954812bcf02e5e21b365cbe6ceee05c38303196259bae27eef20da7561a13352ce1673851ccfdc72a782d39922ff7192b8cc9675b6ec9e7cc58f051c030657ae68369dc220ef50e5e5dad8d77cd4dcc4abddd8e21f95a0c7eeff52a7339a2c18d1a470ddc333e2cf27aad4963901b53401531c68ad09ea86e5d46abe635696d5103932983549d5226f7664f980eb8f2c20ac0e6307dada1a7dfd4105490d4d2a6a1d3e093b186768a2112089a3be49911c01750361c62b1984c7b2fe481d0b017f4008f807ffc70d983be49a80e461fd0104b7fa84f5a7eafba7165ef091c30091b0a2480aebffeff2f9cb0b1a51b7efffe009da4c4698fe479b30a756c88f843f5a7cc93f6dfac4fff8f1cfffe79bae2446e5eb2c5f1d99df845b156eb1e3819a6ea335c3f7a47c8126f6c5c6667974ffe793140184c9e99e1c835c1c11d0d549ce035f32968bef17e11c30c9ce01c50e8980fbe56f9c27e0f07ba8a2e53ee1d3a85054d24585f6096815f9bcd4f730624e31c527c788687491191818e02c224fca7deaa9a7788a0c04b122ea38a51425cf924191ab6edd469dafa108a3c294205ce42b3ea66022a62f886a081538245470778c93d3318e25d028eab4cb0366d08589225aa8d8d0cc83c52487432d0621509f33772e872dcb651ee8c46e169d74374872e720bb56196204f7f01b9e7de4b6b0d01d29b95a76bdb8a7d33de1883dbb125ba64f6ddf51e9dbb8fcb1c551d430f4f8afbe1b456ffbc3df3fa569601923ca9772d3cfb8368afef7976fdbc64187bd4f3fb5679877a0ee89badefcd11b6ffddbbd579ff1ca3b3730f04a5d67f4c35b7fd1c75c1e58f983cf478b4eedad9b7bd6dba3c59fbdfd116664ffa33ffacbc5d15517cc29b8a3c96e6cee453431cca5a8ee8597bd2ffad1cffa5b4e3eebf43317cce8e1e5a9e9fce69f7ef9f3b73db4c90d2d0e3418dacef58fef6838e58d7ff9e94f2f8a7eb27a332b881b09d7175bb986ab3efeab4f5df7feb7bfefa3372ff9b35e37b4629a63be5c22e408ab389eea2e1051ab7b274e3a33f735af8baefbd7dbf710c40d3efc1fd72e7ec35bcfeb9c74f265d1e21b7eb0bc50dcf3f32f7e7c71d4964b651be79cf98ee8ee7ffde10a3613fb1ebbe3cf1747575e30cb9d73e54c7029fb82b7be2b5abe3c7adf3be6a7a3c178b5e1f712bad3f2a22b3f187de7da0f7ffbba6b5f5a9fc37b275cf157ef8f3e7dd53ffcf0c1bcbb6a853debeefff96fd6d9552304c8b8e898fb59e3c7553d6b68780917dcbf6afb86f6f0d2071f5cf2e079e79e77c69967bce005a79f7ddeb94b1ef8edea558f726d39a112c7a7ac895c6ae6827ba910c7550825e7cc3e1157c4b55828f1ff8686069cb97ff71efa5566479635387e35928bb88956e35f46b808c3b48f1d9cc65d117e0d8a73fac9ef956536b41923bbb8fc36519834b1078797ffcbbde5c94c07cd0eaeff73f27f8ca022533830899e9363961cb3b143391a0e4524254c1f44c3678cd58daa3fb283a4e69a3eded40a55b2a09c86e0932852857d72b40eb8fea85728224f82404bf83b73f19c25afb9fe20a976690e82a2ba0a71c0f50749ccd22244c05f5004fce515f2227201a22274f07fa0d09262105184c67f94c2fac3e213d69fb0fe331d8ea7cf5fc25dbe11cd9cdefbeb7befbb6bc9a31cf1e567f57cb1d23730b476dbae656bd6ae5eb731cfdb2538f75497cb64dde94b66012b03491fcd2a8209bee17fe823609fbffb5711f72d8244314150d482e3133ead5acb219424b3bf342efe3d9abba9a30060682680f3f986a6312112b45fd485c4a05d516aa1f52d0d1ae7e09343dfc62892d4ba3e4e44534b428b22f22419b45a08295265dfff90a7c8775cd54a8b5cadcbf3a8c2b2ffe94ead8a6a115a2e2b237107f76532085f5588214ca29a5cbde5e149c4126dad6d0383c39cee65e43c34c9bdef7438c79d83b9e15439c70b43dc9619ad6a0832589d53cb3e983b1b5c2098e267a2746b147decaad33f86e8fcabbf70c7d5b3e6153ebae8c36f3cb12b5af0faf7be7efef5bff7672fde72d3071ffcf6fa33af3ee9d3cede3ffef7ba77cde7d06f6a682077ceb5dffeeef0d5af3bfd03773cfe2922a95dcbfe6356cf9b91b9e083377dfd25bd3c2ef87fffea86379d7bc1c4f73ac50fdef0cbd7ce6889862202631ed83b9c63138e46196779cac57ff3c38ffdf5e5f3b51f7ad99d1bbf766669c757ffc7757dff70f6ab4f9b9a27dee25ed3747ad35d9fbae84fbee36c4557dff2c553e93e8371af8ecdb17b1e953ae6fee1fffc5f6c4a22ed8646849a2de675928be721a7ca75aec2bdb806b54ab1f4aa4fdef3e1b75d307b82ebdca20fdef8d5d74de739541ffaea752f7edb8b6f786fb4e81d5747511f376496a3133efaebaf5c73f6a28ef7b886ffec86c5af9bd1c473b062ef29b59ef89adbbf36a5f59c8b4a25f7c8e1aefa7868eec4eeecd77feaf59ff98bc6cbcf9ec20db40480d32efdbb7b6e6cbfe0ed2fe504b5d2fb6ffced452f70cfe865682efe63ff93b0b5c4d629c69f35b4029de7b54376d5f60fede453e7d737b49c32efa4729e4de5f459679fd9d3d33d7dda3436a8e90e6f33e5f42f83e207407276c3ddd3950be5d68e56dc891f6e38ee2b0763e773ebb6ad53a7ce70e1303f0af00b6f85a3bdee602fef14e21660a6164f78727ba50e58b655b91d1a5537cdb84595bd6f5075dbc8805f2e3737b7305f88dc6805ffc7c3f16486ac59b3cfeff7ff7340ff97c07e7137293025b330a1157c42d3b4c23c09a34842524dc384465dba30e130ddd012133b1296007c6a1183a08ae1605c450899b2a6694846d43439922498a88b16d38a22aca8a62583352c43534ba2a89ec09198c6850c7c68ecab3f10c8ab5172f111100d412d46fc2475eb210611262143aed6a9351598661626b4818070c03fe02f579147c98544cb5bc0474511560cfecf3c1208e49aaa61fdc13db44085f587590308f210308108ebbf7df400084b0d98989f1cdcfa83161f613cb0e3dcb9533ef3a5ff5bdfde73fe8bce98dcd5512a0c0fba4749165e387f1e07cc78535f4373635dfc35400dd1b43e19f1582d7a2ac257df1083a096649d8466081421a88540cc6a65d9981220978c1511f099895a19398af9be511de11e186a6ad78a0942170319089208644814c9b97e30e558e4b1d433191c1262acd470a1ad4e7cf2952b57bef0852f440687d035e392f31b06bf88200c535fb9a852514dd3a89c1b82442d4984dac24d31420e9f56e46d0840a8684c6bdadaa20ae326202dac2140a248920cbad8a76332a2bed1a874ad0a82b476edda85672eec9d320d53ceabf3dc74c89d83f4897db96c91577b522e705f24275d2b377efda6f7bdefbd8aabd5a2e520f3f9cf7fe19ab75c53ca4559f71a522224b701cbe35d796a0eb15b219de26c27757bf60c36b7b510cbeeed2fb5343671db61299bdfdb3798ad6b6ea8e7764fc21f4eabf0b3124f19e6d2701cb8c44dbd9c414d0f0e3c1d653a9bea898579bc718eb95dc9f70fe5d3754dad3ce889c7ec64b8879627ee446ee78e43cbe56c8abb4b790d0e060b7b0707d2cded4d843efb86561ecad4d7efb8fb1373ae685bfbf4bbdbb9b7b45cd8d5576cea68a8e3a654f645dd25ca3a5b6cf231cfb17480a1e190780c7ee92e00b79e16f70c0c33aa16f7485c826737b4c1bd3ba3546743d33343234e888a037bf3514b7323d1fd334373811b17919b67471fda3357add0f7f49ec16caaa1a1aba5d9bb6ac487ee38ad3b47cbf57c0e434be5d29c6d8eaf9a1b9aeb4f911b8eddd0e2abc6a8882ff70f2dbe6a75a9bacd1b373eb864096fc4c673c00dcf67362d3ce30c6ec6e0eaa0c11398d87ca53ffc64c8539478256f062fe11876ae92e352bb6896cd578253bacddb54019f33e74ed45db8fafa2d1bb7f60df44d9d3a15b7ff1dfd5fb3958ebbebbb7ff58089658af836344e004d82a9590f813c7c04f8c91342ea1411d38c40866b67662992a845987b54a4a2a54062484248179a840c1cb4a051a427c81f67eb4fc0dfbc85cbcdb5562e47d2a52797d751256f84635ac1ff354798209a3ef2287f1e413383c6e7e76ff07ff3e4e0ff61fd07017dd2b1c441e01b5af1a049b61242e8f3118163ebf3970ef31418ee5a8a1fceb465e5939b4b2d93aebaf2923d038327ce98b6e0e413f2f9025f7410fbd2b77e706a676ae2c48984b5635cff81e8befbee3be59453000d7cc8014a49b4e20e6815f757ba7fe148459843c324170153c210c6892bf74537d0aa2237424c710e537ef4775301dd1f9b150f484880dc12768c1601475322c1a7283e39896ba33e405045ce620a07bf510e07317d8180a928548a12e6f26bfd459e5aaae04063cd2e2d022aaa09d522898089a9c8971298c89393a825216f1c68f36998cc6109d0287c54d4b7583b853564382a3c65d2346a396bca3d9b1cff4cb907d67027202113c75bb9a59177ba5028112ac4d6527575ecebd548d4a29c2ab887e0f04c1e1ec414a50adc0bc9b76f9eb1c31d9b79f7bc9e5c73735dc5dd035bd7dae8b66e39504c28d4dabc3f40e52804f0f0f05c7e58220822868d38c31c6faa3537f654321c962864a35cbec43e27915c734326cbe2e6ded5ea94eaf2ee2946c3dc24ca0d90e542693897a603844508b63108f770590dadef91afcc7ce98719c6dbbef48b168ef1b2444675cd1df5599eef93219a22a2e04e599e1cc463a1889233f4e44043e3caa6e3a11160bba1655beb38bb91a27311fbd45caa72a6a1a91b17e34da23634ee9bcfd4b5b4336877f7a83734b63f4bbc12c86d428e3ab467ae5ab6b96342535ddebd90d5bf6ac0e7dae4b7119a784e4323ce2fe9aab9a19587806edfd074d570c66786165fb5626ab8b777cacfeebc93301267c3e719373794ae5db366d6acb91c96763f2da432759cffe595b8c50cb716e35c854a26c79528a5f2182cbbd7e7381f2772656795c3c4aca1ee5e6742d654942f4c983c71ddfdeb78501396494e6fff8c801ebbff2389225343938b22f3421d864fc21a554c1331357798d788514b8e00b5b280bac410a057f02110500fd584eb6efceb9884a9c58ec4cc0e66d590549021c926b97a853a4c723888c1d404a703d891ba84e15b13d45205075dbaa1fe6b2c2a92a3a55ab56e622a625cf2e4246a49c8d38438d62b38a4d1d71ffa8f8cd0439d22b9308cb503fe8777fd0ff8e3aeb81cce861b439007ff07072d209af24044021681035614f11ce5f011d32c8619d61fa1441ed67fbc22acff89cf5fe608a7cc9826fc540dd1ddddb9f889ad83c379de043977fa34beae12a3f27528579fedea6a1fcaef409ef9c55cd3641cfdf35762f81ec29ab0d07e824f7f7c0e345ae288d03268b9314727a8f505543c02f951085305d9c18dcd075a16ec0250345a627ece95b3a2d110242e9574996ffaf224a63c805a12bae4f0911101076114f13038f0651f5a37b0a988119995e7518b0a76e093d4109252a7165a9d11014d2baa9516348a92c426ee288fa41615685448d0ea1892c873372cbfbee488d1b8bd9b2d2bf6f2f8f19e639cdccdc836579a53c044272e588defe2e41b70e5dffeed73325533e7f93cae171ceee43f62535e98e95e16c5c3709821dc16cab6ac7be127bbac2e2ee419c22e2ae1c027b22e2ae39c2d4f7c2da4dd638ef8298dc0b0ec0296a89c8d8f2217b1c5c84bf5053679dd9e25a772d9f524d08b15dded8bbc3e86e88623aeaee39cf2772f04e58d313586d6baf0edab1fbab4bfbe737a770b275779af0cfba76ce2b26bc8d5a043956c25e76ed62dbbbe13421d3b434b5cb5233934ae098f4a9a3f7f3eaec58394e4a293264d5ab76eddf2e5cba64f9fd5d6dac883afb8b86cf182735dca5d1c77a037c34f11657747711cd1a7589ff969c3fd168113e10deec706f7265b0e84f70d6916fceefe8f052688927e9785c675b0cffc82d63471ceb43f7e43852239554c2b11922757d1985840113e0439095d689256038a3a9b80294d4caa60921c3a714fb076bcae3f0c2d06c365017f40c05b48105c7dbc057cc845cb19e442d08764fd0ff81fddcfdf807fc03facff6ef57fdeacff2cef7cd2f14a797dbe4fec720f4d3a6df6ec96c6f88c5594adcb54ead3e9591326ae5db9bea733af2ff35af6c945d45cff312824f579012d02159f8e6deccbf4992231cb7d26347cf28348b471d0ba636cee4887a90ce9803d1b49c6f822ac8841684bb26f45231262e2735d8d40808f13a9eb73852abc8d9ccb200fa01602261c64c8a50e876f9f7afd912c981655a8288084404cdf7af14bbe8260010e2acaa54b2e2dd5ca94f58d22ba089060528440453d14135adf6f680b9a87279dfda273f245a68a8b297305f6bedce36439ae9be3052100487896ceb249caae27bbadefb8e6edc5ba42ae922ea4881639d7cb7612277bd9de64e7144088d7dd0b45397c8b2a1b60dcb6181f5c2da77948abdb94e5a94c2ed6e06abb7798b86e1679898d8ba1531cfee446442ad81d054a224dce97ba28d6bd5e933086e138d3d8766fc771674779fc6b1c98bbbb35ddf627cfe429d1d19c7b283131aa9e68cbb6e54843cbf6f4cee8607c653734c44aecedd1273734e27336eeb839b552c896397f4a87897e8f9da13debaa1de1a1152bc3279d74d2adb7deca5da97254fc7fd6ac593cfae8d14757f0046cae94f93302d07070055c14828473c2c70b4ccc08f88d8d8d279c7002f302498a07edffd8b4d62130e8cf17cd209aa01b12d34c44461d536fe9aa3f43a9921d14651f0e929a6eb2a30f1e68cd568969f808a3c80c854040ad23606384908c5a474692c840c084838c745187437fc6e7faa38193d34f3a2cdc34108d023ec906289c19111cc48440c0df7c03ac9ed3fa1ff0c791f01fb91cde050d986078643e7f03fe017f1631b9018ea7958d591cd6ffe378fd6768babe7c8de14d1ff50d8d737a27cf993c013760fde1277af716844c665a6ff7234b5893dcd392f4798700494ea28f4b5c4540a94a9f95e489446d8243d154ac4a1c0963163eb915add60813304e353116996aadb1738e74983a52cf1867cd2af84a895a9870aaab127c0954e73804497c2d1c58c37be0c0e7b291e0e36770a882a91c8ec4e023a35a380850850a0e27825a352183c860812442cb1645546447cda1ce6f30fae10d3bb186fb924da28a9c1649109825214c5162d8846f3fdac9325a1c91e756b7b6eeb6e17ef7606142429e275497e2c1d8582be5790a114fb1e56d20ae0c286c6012bcf1be150ec2a6d9a5749ba23c7189ff0957b9e930e3a2c93ab7af4c84078b5b0901c73df39753bcd8e079adbc62846d006e4be4a81f4d70bc8157f4d445ee88aa7b4527e37214afe6740fd04517321b9f3a762df1c41d6e53e5913b9c15a535f74257773c98965d6c5c8a723cba883d86021b709c94658b9607407150998087ee85a11db9ab96af54ba3a3b712d9ecea5232ef804fec6e62a375ac47eea32bc14a733ff97bbc2818fc7528426aff67f2cb3c4e31f08900eceff9d9bc68b3e1f03f48116f5159f1649982547003168724d2224e91e7cd542d03a394caa604a52b5e412565b08c89acd47b58b188956b04382464b9262ca324c8a24aa5801104358f6c9e1484ca6540b4755a8d0cf71b5fed025fa2fd88543c05f809093e4005c475d6e2edfa15dff03fe9a50f89e00178143aa18f0d76a031a20831f0aaeb0fe80039868818508eb3f08e015004282001fd201bf7f3e3fd71fb0021cc65e2816b6efdab371eb8e4993279e3a636a2e1d7f832ea7b8f5892fb57cb99edd3b399f725ff8497cdb41e580eb3f96751520f04cbb2830e5b1aa355a04b925094891dcf810320291e04b86da9a7cdfc2e1a0f77d4b3b1ca66bda3414a8159dc8298aa36b609704a668cb7d82ab8b00b911d4aa0821a711c7e7433ff2c823e79c730eba7c6e9150a1635c0912b53e8d0c4c71c849268fa49678be20e26da2912721232dc990aba82a3581290824655392d0740683741e61b410a08a244938f01123994d38a89023061f0223ab56adbae8a28b664c9f3e54ca73d21761b725ca6627711f22eecd96515d7c0e93f3986cadf27c1bee1f751b996ecf924da44a1db70f2a0c749b8dc54c96ad481edc8a049b9ffc26edde0f43d0491de77b798050bc334ab70869dd93824a39f70061f768260c53cd7151f6726997ad4de25fce1a3b86eb0ad56e2cec7b324a487ac6236c33511e20690221aaa9e04ed20c812dcfa2759ba2e0c7be6b18da91bf6ad94cdd93ebd7df75d75d1c29c72db5c28e1fff7773234e3665980ed0e44c10fa4925738424018a9a4ae408905325268426a324b12049f81030252f45c9307305855a2127d9f494968267745121611619aa48307d5a0d89434e327924d510c6c7d5faa37eaaabe40c2ae00f0840c1d5e4f2e91253940308285d4d68b092cbf93e6692d8818f18c96cc23107539572da9258c0dfb00af88340587f9832244d109b4a380913cda698084d4649328fcc9120e44b10249ba161fdb72548a001ce71bffef0307f46cdb4dab66befa65d83b9c6d6c933a69c3c6ddaeca913383a2640f8daa1e727f1a494fa74e6de4756df79e72f4e9f3991dffa15f6e369488eb4fe03e3af7ffd6beeb70255121ffd241131238d7a828f8ac444480cda27542457a28a3e28dfcf73fd874ee4148d23fa90e799ebafbffe901b3d38832c16bea28ac68410ad9cb500e198e7b444c0f4098ae2902313979c804f701a56cf80e17a680a71192010e3ba92438b901138ba66d628847475fd1080a384bba0853a456aa14d1d828471692180116805a554214c1101aa284a9d1c1a491255243862228f2eb408393afba86bd6ac993675da592f3873a8c02b51b9cf1389384e6416f0f20f1ecfcb5c2148747ecc3b2b19330781a36c9e83b91c0266b793e7b4721ba86b8527e122ca590517933a8810778ff86583948d4c4c706769ce9ddf254e759da2af44980490bc77848959766f67e53d298a47093bb91595f71d13cbba5d5032286e5924da75c322d4a52d77d1dcb968cee832c95d504b54ed7acba38be80541b07b47322f82e431b9616847feaa7101babb27ecd8b973edda35bc39c6ff6d15bf3deafe4f1f9814f81004098229239a19e47c747f14aa394e151c25c98b2315a9a348113b88d9ca8029989a9512de6fc6cd71f82438e452346138d058561539a67ce3d0d60a92184180249aa29932261ca5803ff804fc83ff331d981de060d30782846f68d620a0a977683f7f311bd61f96af803fde85bf69918790bf6969820eebfff1f1f9cb752440ddb5b7efc175db274c9d73e52b2e7ce9b90b17ce9a36a5ab2d9bcbe4786a4bfcd7c0a15fbe5df3173fec77fa84ee29537bef5cb232532cd4ed0f65711296263c04f7108d7138f2a20d1b3670668d6222e16072ad04df2f4a461c5f18da178316c7f809c26a2112b4388730dff745ed105a1cdd94a6a864445b0e613402fa5011939ca2cfe1fa1913be8ae4a2955b519f3d148d63c48a152bec2ee7d17b7e2cd6f64ce89977ca293367ce2a16f385628a4d519e1fc48b2cf339624377fe804090f8927893fd48b2228ecad946b7a9ca2374d922251464d795dd52b75d892cb791c273ef102140712167fc3652f65a7961279125b78972ff2a71a93bdaebde55438b3c409648d23d45984d50ce03631d13dcaaea621a624b426bf774611e6bc40370d93025ae4591671017799f2bb12a4f44431e5df70ca61237ca12feba5b552bbce735eb0e11bbd8351b8676b4ae1a0e95adcbae59b376c5aa553c4ee9589c26a1cf01818040402020101008080404c63902043ebced66debc79c4f6c49ce43e4178c9cfd33e4732caa9551545928ae44ac6dccf70dbada04151b9f83ec7b0928c150f2db1efeec7436bf4105ae392604db9cc425b5184e509be14fd5ae8eaf4f6b7bf8d40c9dd78495b043dae41f78fdbb673f111fb746c211292b9b0cec558ff8fbd3301acaa38fbfeb96b6ef640081020ec20a0208820022a28286a114bb1a0a21517f0e545506cb5dad6d7da8a4511041515ad58772d5271412c20418bbb80ecca9e002104b2dfe4eef7fb3d6792c3cdbd3711b09fb29c114fe6ce999933f3cc9c39cf7f9e65805224b2cd21677ea8fc7a3629ad0711fb89631fdcfbc89190880d05e351170f1721231580e8a422914bb2c9062857f340b250b9ba4825ecf292248595b8905baa6122c114692f25a47651b3c5792d35ebc5d97701474ab9a03fece57809643298ad92e29742e2e796ad65546d51bd456e19e07c148bc38f6412afab1cb5620d3b81888053f67390ae72cc8968e8eaad9066fb70c1840f5eb47149e720536022dd101b5640a6c83883b87345ce89b7614864e5c01964ae7443b4f1f1cf2b5db660e12a1ac7dcc51a96c6e8c2571a0c25201077449d975b2850d8c3761f0de4266e8905fcda39b184ee04bdb857c28495ae05cdaefd5ca3c604c103734e9b766d3a746035697842320d64ea9f8cef9ad9b51371853447cd1c35f9661f379f6c73429a13d29c903f0d7b7c82be6b409027e6cc818d8f1b808b2a5d872230d270641254a2baab7eeac935190c90493695c74851d97edeebcf06530df21d61ffa3f247fd342a21ddb8a5e2eaa78a93cd483422d5ee2a416072dca4ae468ac5a67e0ca44fb33889cb1928c026b1be942350041611455c0f8c0386f1174960c819e4a448ea909a40680e8e6901298ac321c47da2d08a2051b456c5e10fd24271aa2b1171314b766606c84b10b078c74568c8775393735d906ff25372082896aa40a382e928028243c3169350ce66a14ac9839568c06fe11240c7c04f370436a8660124418974c3627758a56bf423c8b92f823d8197282382fc4238d2658b05d744c04191b72257d5bb866c9b4ea8aed1339e0646a56b62548acf24747051f1144b51bfa80a0b5ca56b64a72722f7e451e42781870aeab77112aade3501e4d2353e4d740d856381ebd217a8a7774dd485690b525884adf81326a3989f432029069541af66d77eee510b6ade6015f2ee239f9027f1bb6676ed445c21cd513347edb8fa649b13d29c90e684fc69d8e313eb5d13795a4c30a08d11218b82452a6f5cd869e43172c6cda6eec65e297e54f9636b38c294e3c83635b2c506f95484ab1151d9540a52387e1a719110ea4145227f1a2944545039b14d3db34f1f002812537d5461b68196d40a2e0323e142568c2dd17c451b568c3001a60e7e88dc9265147806b8a4b48ebe38dc054489a525b5a1e82ad08e0bb242120095014b0897b4e03384843c2c6007f7e13f942e8044311895ba0268bb62158a99a75fe486dc0559cac92d5481d166085b50a91f61bc20ba7018e352ccb1016f8200716ac42db2da01b8c0458b28c74a63ccae99a3664e48f35d339711738534bf6be627dbe4464c46cbe4214f54f61843b7d5abbfc9caca02224606a5c44b8aa1bbab528c74754b5d4138aaacba6bfc5489c6cfd808195422d7b81195fedfbd829e4ebc00c2341aadd0666c8aca1079d7884745ec2041c02187a0a0b72a1abac8e702e897e2fb162955c08e966250f465ed884b45d22807140206c1ae884b051e9282001377b8e2fb4717795a82766e0043f92272f08b438492562b8ab43e8e6ac16d10c24f911a62008a8b5dc4889ce089f7dd70c8c94f8745c4a6566f82186e3225c0a5fc9587895817bd630e6f21b72ec874685e8e1da509725c8bd5810323b492a980535bfc20675c1a995d33470d41b53921cd77cd5c46cc15d2fcae999f6c931b31192d93873cc1d9e3280c53fb13d4531bad234a6d182e19778fdbc8cf0c53a16903a45177ebcb13951efb93141578446df4708a9128baa97cbe456a2940530c20418ac825e5f84f0186164e684108eac73d172776a2ec0bb0c4f50f7edb88206fb55bed78e314834991ac8afeab66f3e3b12828924ef9292e8a50b4f5b138f8c45390cd6ff789deaa78b3c52034400390c212e32fd25c2028fe81b0ce14f559f46ee52860d148b6e0b354c4b3b4114ccb15280c9805f4a2588b1815e08b535e2e54e3130d5dc96d76cd1c3573429aef9ab98c982ba4f95d333fd9263762325a260f79a2b3c706ae31508c0170a252f86904f2187122513f8d5b2abdbebb2a5bc3778daafe5b919fcd36f5683b501f5d488fbc65fc8c4d346ef16815afb98a6f5b5b809338e5869855dae53850fe07a18a471f0e52c11b106e8844851d033c326b22b30cfbc54ad489fa2d7e7e2c3e07a7dc211b15134e40230e8310be8ba72210a54f70af1f8167c86eb579ed01a758a8a2ea0be415ed6144a5c05d51e8156fb901fec36c15855e748ee5b4155ce75a409b18925ac56fae456c5bd120b6d991f1061da0564e27e5b97403c9af1f646b45eb57ce4445a718107bbc74edd0fea292cad2808fb35531e6d595aa45460cfa16b35d44d9901bb753fa79ac88ffd09b06bc2bdb5d392d4032e0ef0952884727e5300ae8ae7b20e617026b912a4362941984a2e2bc0a5d6ac6833262e421cadb905715878a223dc75e973364ed904a2c7d51976647419a8492b6d8c762822bde9f24a0f28de131bb0932462232e719348e51a34d3c94aa44b26e76cd1c355901cc0969be6be63262ae90a7ee778d53efd25293b25ab53a3eb9919398d132bb7622b2c747336ae206d5080a49193f8918d84ac5d5adc8445294eeae9168541295729cfc3c2e606a24651ba04b14b92373c6bdd540a2bac5954ac20e60063846d0072009afb2a01ff8ccb0c3ee976345839c958bd724f09ee018419e0255c5c79003a82270108d5bee86f0791bb00366ec7ebbcd498160c08fec54747a1172a2db8b2e6e00e0c8c92dc03210272ac118ae3a34278256a7df8622b008400958958abeaeee01490e7fc1a8154c8a4c95f3649c886811fa8a6322016de1a08da34a017a205edd0baed5e217b92ae00b80265d03dc1d075d2bd8bb273131e98cd3bbc77d3da4d36630296052c0a4804901930226054e7c0ac0bfecdbbbb7685f61cbacece38d1b3989192db36b27227b7c54a3268e70802d7543d482a16ec64d8ccb81abfc716fc5567224d9a24afdc89fc7054c3daa3ec41d0055833170fc246e546ba41b91c85b22ab445887240ea4e7406596ff2cb8ad155d5c41a6b8a8153351a768e3e2a2171125f6a968088b8b230a207793c33c819d9cb0e2c00035ec73826845406747ab17656171828b2e3167c188592a2833843ab09c794d4dc0e1209259902e46a91c1b83ec8e87096045762acabd487341d144352582f5015911f161fcca7136829eb18a455dd82156b061bf9c652a8244d0b4e82023f943127c3c74adb4acac5dfbf6c9c9c99cda6410df8c981430296052c0a48049019302271f05125daeafbff93ad8bcf9f1c68d9cc48c96d9b513913d3eaa51435276e4e88655c5403d71e1a5ba1bf7d6f1b3229d783055d14e11578d412c35d5281ac31337c3e1bb7e5467f5d31cd1c295b33ab1fe44728976a8a0c684a0d56b452a892a3007a004823e07c7d470d88bd883026303b8d50d8aab230198e04474595110058a8aba2885fc76bbb85cb289352b46a8885f838e009abfa2c18a1d2aae97f472883f396806612e6e96d0961349ab85134f7130cc1db0ae805224b5a2ed8ae096da01c5a8fd024001cb026d81c5d4281e9fc42496ba70f644b7e99ab8801233da9fb96ba067fd64e1d8b130534c0a981430296052c0a48049819389024e6782df8365d4f1c78d9c688c96055f2776fbf66ddbb77db7a5cb69a7b5eedc0e265014e57e1c0fe9f762b30463263c64d0eff7575787929d8e70023ca41c1b81a2216cf031f190c5a56e0eb4d07c70ac280dc2fcc1d0c250876c4e9bc5666dd238e998d9e3325f6990aa61ba111f797dc20e3b9c410e5744cd9147f903a2e828f65cf6b4e4a446298927067b7c54131278121162570ce326b788c7425012d5adb877632bfcd9538e2398aa68775414318a1031e2b135a8bb91d7c83c7e39f013c55e0e2845add6eed7b577fd01cd2192c99017dfbb3e72889d22531fb4872ba4a0c3815529b7a953ac23d11547ee6945b42a2691a243cc3b0e86b45a393086134345ba6905d1cab9ac36af2d88d12a10d3cadb4451bbcde707cd521516b1a2dfcb331c61ceb3c1eb4938e847ab17fb53148741c53cd381b455202fcf9512a2840cc4d53d0a837ae5bc5211d35a9d1ae81a41b018c9f1508a185de3a361031d1f6bd7585f903bd33527b5dac1c2e06a8e6825a1c1ae1d966d47d2de8c9b1430296052c0a48049019302270005e039162efcd7a64d9b727272c68ebdd66eff010612470ffc670f695ebc70d8839c67d000a3f5e5813d5af10323520bc45504ccb57895609fde7a30e3b721c739c715a375ff9ffff4edb76b8f4a350c28d5b367cf3fdfffc0d1f290365f50b3dbf7e4effbe2b34fda75e8b0e23fcb86255cdebc451b58509c791c3b0f29fca1d55f5a6efdf722a7a6252426f214314bf3560738d7fee22b5d49c9de905f0e366c70d4a2d8e3f2fd6e98cbf4e454940f13535d0e87138e58406430e8f1f9ca2bddd595feef8a0ea103d8a95333a71f56f628d8e3a2ca62cfb6eaf0762442d6e4e6a9ad87344dfcd75bda81122dd9853847abacf09fddc77d7a6a2877bac7969497d8cfdfe5d2a68d5362d9e3239c90515d3b5e387ff07f44e0958c0a1137eb44553695443c16bed6c91df3e3188ac4d4718c093fb0ca1c63ad3fa218b4882c1d49d9c8f4b8719559d510554f547e23272e8ec4a72fd0901d2587b8c601f7f931e7b4f296890cd4ae39389c549cfc905180abc38eb12843ccd60db0123f3fe4a4124eb2b18703e042d60e8ea5e19c184e990159fa45f4a91bbb928831aaacbd804c0a5939825584ab9c242387b23aed368e4ac54d8f0f5f4201cc64a98bc77004aae8fdf25e86833879c20455ca39c0cde8038b6d2cc0581485d95893acf822b258bffb7efb8ae54bb76cd952595999929adaa57397a1432fecd0b98bc870c396e79f9f77f3f89be94464d702f8780ad91c6cd051335b5ff5740dabda351bd79dd9aba72d884b29edfa71bf494d4e79f2c9275095aeaf6b5040dc1dd3c47801a1f0ebafbf1e7be78a2bae484b4b8b4d37534c0a981430296052c0a48049819f9e02bb77ef5ebd7af5edb74f79e38d37376fdedcbd7bf786db805e5940b3d8d94e07bbb0cb0e66ad9fd19a92f74e7ea0d5c1c4e246b8f9602f5d602abc889651fec2c1f41e567bf2b1315a33a6cf9c317386d1ce03fb0b5bb56eddb163c78b2fb9e4e61b6f6c9c95750c8cd6810385f4fd68616a6161a1f8313902462b92870cf9d08dd34a0a0f24ba92f2f6ee4b4b6e5c7ca8b859ebd65ad06f0b3a0d1e52315a22e7405801ffd8200fe9c7f767d8e95df4566ae9fe46e70ed45ab6d2ec60559834bc75fab5bdf9256fbd5ad9bcb5fda2a11a0e5a3040ab7fd40cf658f1901595c15ee776aeda5f71b0cc5378a8dccbc98868012aa72ba24f67753a131ba5a6afff7667467a49abaccc30825b419d0db1c746d7dcfbddd54bb5a21dc529994915727886abf3b0cbb5c79fd0d6eed53233b4c2427bc7ce0e38f6bdef0782f66e592bbf4d6bdf34b38fc11e2b790ee29e239c90aa6bcdcaff47dbbd50e60f4a8e5efd9f47d33a5f5ed8f6f9a39d90163cafc2aafb1d023b98e4e85afaad0eec07e53c4ab430395c04d9130e501be2fcd1ea849e06843126766cc480422af311e252552a323329913f631ff4ff3be5b883a97458d134b2e78a7091290dc7557e558f519b11892a2b3304a4e9408f96b34f39f5c56277e025495c1659fc8235595f519fc58b1142cdd9b3a6af58b162cce8d1d78d1d0b2a95ff304e0d33fd3866553cfbb2be884969100cc93135b899157507ea67ff066d045123466e1a103518dcc40a9045644a415778ddb7df1614ee6f95ddaadb195dc487307700a1c862430e1faac054cbd619a5c1b721ab9c6d0306e6fd472acba1333c4c1355e2b20af793b3677ffec5172929294949492ca315e5e5b92b57bcf7febb83ce3f7fd2a4c96f2e7869c15b0bc6dd728b35a26becaa894763d43b784310048b5c178f4ed15d03a32ef8d75b4f3df5d42db78c1f35661472631e9190e8e2eb23eea7eae99a058d0c607d7c94aa79bd5ef625aebb6eac3128d5d5d52fbcf0c2a245ef8c18f1ff05a9ee5bff45be96734ef716c613cd88a280bb68ebf7fb5d3dbae798d6c3c7322582e59bd7edcee8dc2d3bf947d22f98bf795d654a87ae39c7bc4d534f0dffb5161e0b79cc3226054c0a9ce814d8b66d5b9b36adb3b2b2ba75ebb671e3a61f86a93042c27885841142510d65cd7a18ad47f6afcc0fb8b560c2acd29c079aee63831eb794ba3415f32577a2f7bd6aeb55c7c668fd76ead4efb66e79f7ddf714f161477c3e1f0261c273cf3efbd8ac59975f76f951315a30624d9a3469dab4a91c4070c4a106aa01927e88d18ae221d1eb833bebd0ad7369f981394fce9b3af58e4e5d3b6901e03fc284c33ca462b440f79c75c8217c30a4f0a07179485b48dca454bc38b74dd3e6b62b4686511d2c29068eaa4d01217b46e346975f91f2c5aabdefbce9fac568f48135a7a561f6d8e021971ef22617f95b3b2c09899646565b6555b0da17f284825501bfd71ff47abcfbf2f35ab5efb46ee7c1562d3283cd450a83eb9586d963a36bfef2506989cf96e9b4a63a13d292aad794162434c9befbf7da73cf68dfefd6321b69f604844e416708618fa56cbf33506ab0c7504bb7ce83898663ffe1096970fe6054ff10c1008a875511c7e3ef875a83158f82f3b73b2d2fbff8e2b265cb94244eb604f46d81c81984b2c1af7ffdeb4b2ebe44e0443d9c3f22a1c8222a6ea01b1589fc795408938291f9f949fd9129b18ffe09528ee235fb095a13f90845a0865322ef361c376a2312150082a243cb4a80e3248684836602a26ecbf28a90901d0e3fa7a7586dac6e8f4cffdbd75f7fdda2458b15b9b9413bd08e990cb043bf3fc4c9312c09d4e1232ea7d780dd50ea970146548ab68be049002f7b29a04c44ad01166d961a2b6f15653106282d77376bd9aaa4bc7cc3864d1a1afc3c1ea1261a11e2341825e0a0139d63bf8839096068cea14178aaa49898d622f8adaaaefee33dbfdfb47933ce8a5ab4c86ed6ac599b366db8b66cd9a27d870eabd7ae9d3479d2071f2c69deac5964d704fdd259aac583145aff18c3c6eb1a8e8a172ffbf0d5d75ea3f237fff9e607ef7d40d77af5ea999498d470d7681874125de87801692adde10ec617ea9ffa09707dfbed45e5e5e5f10afd98b48a0563fbf5ebb1a0e4c7d471fc950d167c3a6dda1b05a26a7eec21efc3b9f3e6ae74c75490ffe9cbf73fb33c363d26e3a99de0d93d6fdedce53b8e914e1123e8f974cebc392b77ff086ad653c38f6be191b767e792671e5fb235327ffef2e79f598e2e5ffef38fbe9c5f7796c6668e2c68c64d0a9814387e28b075ebb6ae5dbbd29ed34f3f7debd6ad7cbe1b6e1b6a65303c2279c0eea87e466ba7aff8d9a2af510bc309e583079becf2268b57480ba64b9c5580869923c3f7be3db8ffd818adf7977db878f107463be146b66cdfbe60c15b43870c41ddece65b6e79effdf78f82d1423a288c1780e2e89867f253ea0719ad581e9282e19037c591989c9ebe7ec306048f3697b08d882e227948c568098728f93932114988a8874675cde6855fb378172d6a939a66edde33bc6fafa5f8a05656a635696a494e112a057c968307c2fbf7d9bb9f991d0af9feb342c3c7a72810d6cb1e47f290a5bee0c190c39e9094909cea4a49dd52e95b77a078edeefd6bb7ec5fb96ad3db6fe5bef6fc3b9f1694edad940f253c249e427f903d36ba86cd9be6b2e1b2055fa648e813b35cd52b0e96ac0f59a64cd2ce3c432b2945d951586e7a2d167688819dd053d8637dd41c10048dc123989006e74fd7a49db8415da439ded41c2f6af6793a2febe1c88ea3e6fc73735766a4676436c9cccc6c92c59f2cb63b249ec95f3d8af2e3ca952b63472d8af3e77d8a0a3270ba844f458ee14a8551a56253a232fc643f8fee4dfbc99aa51e14974c6a788c9644fd34d28f3cc2ee8a83171e834e51ff65a8c06b1a9a081860b21b25ae8b9092fa83331e7e94ed37805f5a5afaf0e1c3597939e054393e923241fe0b0531e0a63486a462ba4a2c14027c9140cd3067bafc13b3727c23f1de08b6b5a1ce80cc9587dbdab66d65b75ab2b3b3cacaca376dda8c6b25de26818d61bfc327bb662251b5047c62f3cac37911e52509a0730cd0439bc16a7be289272b2bddcd9b67376fdaf4861bc63dfcf0f43fffe5af8f4c9f7edd6f6e68daa449ebd6add3d3d3b8366ad4c8e89a28d6203ea61b282d8bee307b71f25189ea1a84f83877e5df9f7dae65cb96cd9b37e7fa8f7ffce33f9f7c7ccbf8f13dba9fd170d7b0e8e5401fd14fae27a85d46a8a5fe19b9aebffe3acc601a44aa81f5efbcf0ea2747c7d0a7b5d3b4c109c7a31681d1f3a38fe47dfdeffc8aa4b41f27c6b327b93457526c1d9efd1b0bd71ed4c14570ebca7797ac016f1c650816af5cb8707d111a33276fb0dbd3d94f3ad6891539828e0c2de3982bd2091cbf861fd7c2231eb9e2558bd6fa12758ea7a68c77e3275f694dd3b482b55f6df3a5d79961b1998ff8396646930226057e420a949696eedbb757c1d466cd9aa24b05526df8f9a89639380141743a119bd5cb68dd5fb0a21c2e088f91364c916cbd8bdae0f742002a4e366c099268b5a557fdfd1818ada292a2dfde7107b64c77dc71c79d77de416be146529313070eecf7c2fc7fdc7df75da4dc31f58ec2fd078e90d1a217588619bd867b8120175e78617a7a7a24bf4a9c14d2b95b2347d5cb34cc68d5c743e215131e72e3facdb0935bd6ae878744f419c5432a460b3b4cb8445dcf36ec83a743b5af2e0fc9c98955e5e5095b565b3b9fa6e5e7592a2bc20e47a04dfb90cd1a4a4a0ab5ccd152d3c395e596ea2a6ddf5e67e7d31cebbeb0b8bdc85dea638fa378c81e4e4b75febe4a7fd815b21df4682feef2bdfd6de5079f1e5ab174ef9a55f9bb7716852ca9365772c78e2d5c4ec711b2c746d7203cbd863f87a7443e1f2c0ba55f9299de3b29644fd06ebd591b3c50aba8107135281d790becac6e6d0b7b5c336adc0b588e64422ace5f754d747d095e6defc0fd0543f688deaffe1397a7473b217f356a54e326998d32321ac9fffc972e5189a8d008c43afcca11a2905977d4a2387fbd05c77889424c513f8d4a2327b391f873458e95abfab9da5bfbdc28e246d134ea6e6da1f87f818b7e9647f698407c1a67c438ec48437518c861a7e8bf0642fe471f7d74e3c60d39ad5a01d8060e1c306ad4555e6f951dd575d6154808c21585778492b21a637c8a385f1c2bc9be163319c88a5f5ef1492656eb3828e32dc28f924844598ab981467aa055cb9cbdfb0aca4b4bb29b6715161efa6ecbe66e5db026a52eb46f65cd06a062e1ce2a0ece05f7f1ae728a2b76e3220db55abedffefdb7df7e8ba4372d3d7df294db1ba5a454f903966a2feab667f53c6bf7ce9d9f7ffe39af042b263ba00e6c6679dd791b38d9063b7a4c6f59d9d091a71b20558c6023ba46ab577ffbcddca79e02fff24ab123c815fd89279f9c9b929a3666cc982a9faf81ae619522289ae6d613d4d8456ee5a093337bf66c95fdadb7162259adc75543e0d311e36e9dfdcd35e7b5a9a7ee3ac9ecfcdaed58f49f7ca1fccb8f0a3bfea267f27faf67cc4ce3e4a04e231f7a6aa4aa3ab0fef5c54b07751cd62bfb281f75e8eda54b7b77bda47b56c25116fcb9b207bd5e2d21a10651c1e530ed7fb0293f0285c78ea0accc3c9761f8e107ff60cb6a33480bf9a2eb35ff572bae7d007f8bb7acd25ce3eacc90e28d85ae8bbb2517e5ae77f5195e4795394ee688aacca8490193023f1f05962cf970ddba75300c06d0ead2a52b521fd5a2f3ce1bf8ce3befbefffe627ee22696c50abf4a7cac23c58cf2e5e760be203c0772551c5a601f14cd687d56b6e7c3ca9db2430e1bc125c159eab7afaace1890ea41b74dd7440597a04df6bdcbbbdae338eba818ad175e7cb1a4a474e890a177ddfd3b3831b831b4dda856b7d10adf3ef98e6f56af5eb674d9df9f7ff69e7beff941464b6cb53006ab1d115817f6fd7f397264c0e73ffbecb3e7cf9f7fe0c001a479a4a3127ce3b87122b170d82b2a2af2f3f349a71c2c637d8c567d3c24c20e6c1839c570dffebd3d7a9e79b0ac086649fc93e02f5356f21a1eb286d1aaed9a06638a051bc690b4a72e0f6959fc4ef34ea7850f16e31857543c41a48989e1d2124b1a485bb3f87d9aa75ab3f9b0c8d2bcd5cd7372f256fedb71c988b8ec712c0f1948b0645a031f7dbed6ee4a2ea7ccde7c4b79b5a5daad593cae144793a496a9998dcf6cd164f3861d1e8f538eb5407a130e35cc1e1b5d637ef044b47a3174f397079a8c689239a811f20d502930db7af38da15d7bc3d5df8151e5b40e72d37b747d6b470d711089760e7b8c37217336e4c8c0024a75882b11a60bd762cd3e5d98ef961f362fb8a440ebf14bfb5fffa50db8e268397fc6fff2cb7e3102144a8345262ed000d98cee0959d0803e41ac1ebf27e0f7c58eda61ce5f9a754421160729665b155677d5b43ca2ea7ebe4c272a4c35081d49baa8515143620c8cba1b9587e2384af263ea292bb105efb5082be54054d1e8e0c22ba43d3243306aab56ad809867f7ee33eaaa515e4fc006b787f2ade0448715bd601b7e82c26150a16e8f8f0e31efbf0341aa4c3dd47ab1b4902358c5f43588cd340e984871b04725825572c831ac20d516f9f843f35435699a858dfe962ddbba76ee884f237492759377c4b3083dc190e88ec84ac5eb8a4895f7134fc4b92b56b221c32a7ff96597a5272789f360e91b7acbd6175f9cfff1c79f64670bb4a03d5040b02d2bbfb41ec08bf908fdb7daf0608cf92d8c31b6b9e4e2201ddd5fd4868ddfe18200bd84ccc6998ab5e59a99d9984623b0bde70ff79ed1ad0b56f7aa6b340c04cba788d362c567386f145600b238d41bd427d0f81056577baebaead746ee0f3ef800fbd5b83075fd0b536e25df9471674e5977e12b9b675dd3a568f582a9bdaf7a592f7cfbfc8f1fbae13c971edff7c50b63fb8d5ba1693dc68ecf5ca469236aabafd832e7b713a7cce38ed663fcec37664cee924ab462c18411abcebd6bf081a747dc4deec18bb6bdd16ecdac1e573dc4bd7b5ef966dadfc1c9bc00004000494441543539cf5c37e43f03e7bf34e12cbd22cf3bf75ef67cc61fdfbeebc2a2f50bfe38e52abd3e4d1bfb4af94bd7487d8783e78b571f197fed7debf494a7d7954fe89eaa1d631bd4a3f58acab7e47ab4eb7ae98bac165cb370eebca59bf41b1983c64d1cdd57d2f3973f3377538b5f762b9abfe02bd78089b3c6762fdeba7cfef30bb695ea197346ccb87798c45c5adefa77e7cd5d8c8f80667dc64cbdf10240056567ae6df3d73b87ed7bf789a5e4c99d7747aea7fd88bb6e1bd64e2bdffafccc995f154ac9a1e3ef1dd92b4b2ad1bceb97bcf2fca2afa8843074d26d7b9f7b9cf8aa797f5ce5693579c69ded8b97df3f6dd38d336eeb24c0dabdfcd13fae3d7de29dc33a69dead8ffffe95a6bfe8bd67c1e26ddaa0e94f8d4e8b5fbf5e6fec2526b37be792bf3efc61db5193275cd48eecc56bdef8cbbced573f7877dfc65afd546a73fd395573e64b473b8e987acb9945331f7889feb93a0ebdebf691d9b61a4a5ed3bb6cee4babc8d3aca7d4de38ba31ee2fdf787a7eee36c930e0badf8dedafef2014af7cf9e9d757e54bde6697cdb87ff8e16d853a23a8d7e5cf5bf2ccf38bd6323cae01d74d1ddb5f06b168fdbb4f3ebfb850276b4e9f3193f4d189a6f6d419233be935a88b7bebf38fccdd9a7de5fd132e009ef2af74cb8ac7e72eda442519ddc64f1ddf4bdf3828debcfce9390bf49669dd2e1b3f7e782fc1b2fa70b4bceae2d27fbf24439cd173e2ef6eeede98e54aab67dce54ec19acf3457bf2e3a18f516adfff727bb1c8ea26d9aa7d1d2e5ced5f91eedab77df3dd0f3c28b72f4ce476696c26630296052e0f8a0c0c183873efbecb33ffef10f0e879c6d171bfaea2132fdfefbff8c8fa576ed64b1550126440ca7501845a66a0bfb70a211c3684ddebb58d47df9272055f47e61c2fc49b768da533a43ae2b8fe9d830b5727e654667bb9662f50140c48aae61460b6e64f17b82a26fbae916c58d9c7566af5e67f522e5d1198f0e1d7211f87bfc2db70053fffdef6577dff5c71f66b4507e836593730225c88ebfc3517ea898aec143de70c30d8b162dc2b31412d411234694bbab38cc01cd5bf2a89c52a41e46cbaa7b3f616d8ded9acec186f714ed0f047c6d5bb772bbdd7bf3f7b46e93838713ce898862b4104bc0ddc1dad1350175c021301c074744f09096fdf9e10e9db5a2024b56f340af3ef6af3fb5f6ea1bb657c0ad6aae44fce56a156502a1c07f9574d661ddb7875ec4618f217f0c0fb9be2adca97bcea5ad9be69555ed2ba9ecd33cd19ae8083749093aacd55ed065e040fe96255fac3db8b56478d73318ef58f6b83e1e92ae056034edc1a0d7eff7785aded4b2c9598d5062943ae831adb5d93d9d3b04d77f2b1895e6724798512b3452a326b34c1cafe04834de846474865c6f09bc2815d22cfbf59af6a2553131d4e4d2eccf893be182d39ed23acf15175570d1f58f5a5cce3fa879c52355d02abe6f64c346303a32d930326ed124071ec8a416601d336a06e72f6c754488c535fa84813dd729a3e75479220ac95dbd859169c76ffcc486a94748d7b883a412b9e2e00779223b28229f44fbd61eb0e3700b77bf18a2dbb4d933e7288c8a8a0b9959d05e7ded15b6c70c58254babe8c15bafbde69aebaebf2ee0c78c15455e4183bc5768f4b23e0261fd6263ce01aa625cba6deb77fbf2f68b122fe57837c0a128efda6c0909cee4e4948c2619083ab3b2328b8a0e6edd6e6ddfbea3dd873d85aef7cb0249a52ce22266d5cf4cc5aa16b7046c5aeddd9b9c9c4cabcee8dedd07c064778656852c6fbfb570c58a5cf6f6c096284ad02697cb15048b738f2a654f07b48bbdb95d3cc4893898f54df6acd0f1c7fa75fbb6bc87fff6377412d0a18f14bf106f9cd918238d871e9cf67ff7ffa563fbd67ede36dcab21440ed87d369c3ad15f8d44a8c14ba8af19f1874b0825811d020989892efed5c613b9c112af7e465ddb0e1e3b5e9bf7f9ed77cc1bd33529a7a567cbab4d7b5f3bf89e57364f1a54f5f5cbbd479cff6df9371f4d3ecbb37d41cb7ee3463cf0cf6d37f5dafaee13972a142b75edfe4b5ad7fbb4f11fac9bdfd5b179dae84bbba695edf2ffa98d5dab2c5cf1d8b8158f8d9dfef1e7b72e1c7fe9888e4d019d8b3effb8e0f9f36fbd76d6d5235fead93df3d65b67fde1a697baf002edcb1df1d08ae91fbf210de871ad36f89ee5eb6e6aa31ddc5a949458b7c5abe78ce93765d1d8e9ff7c63749faabccd5a269fff636f43f71a2269451bbed0b4015d6aa092a7bc2a79d4c4bb7a34d73e79f1e1a5f3570eed3b963b9eb282d24d6be76fca19316e5c9bec36de9d4bfe307311c063dcd4cbb2b5d2fc12975e59aa56ba74ce5cd7a0ebc637cfffe0f5dcd7570eee37bc5d82e7e02ecf9e0cbad2e2ec0b3b2edeb6a7db85370e6aeb6a0e4d0a9eb97be6da9ca1773d785e51ee8bf3e74d6bf5e02c10e0e6371e9a9b5b983360d4d51775f3ecdfa9356dd5ebeaa13be62f6d75de5517776ad4d2a5053c074bb57db5ebbf5676d0b3a74c1fe240a0c253b869c1e29e978d19dfb17d723df5d725aaf12b5e63da0dfd659f95f3173cbcb0f563235b6c7a645e6efaa0c97d0568b91ba0d29c4d19978d9b98f4fdbb0b16cd649ba2e78871231c1be62d58bafcfb2163bba6294ace154a4e4cdbf3e94b4b173cf246d38746d7f178b9f98d47e6e77a474dbdaf5b60d39c392f3d9dddeece8bb2dd5b73c1a8974dbcb75f13cfce7c36670f87ba23a83912b4d2550b16751c347e62e7efdf7d31f7a5694db2670c6b975c79a0ace325e36eeaddeee0e72fce5bfcfaa743fb0dcb4988a6760615ebc414b5e1a2e7ff38f32b4fcfbbee118c4a409560ede2453d2fbb6e62b3f2b7e62f9a77df2b0f3c75631a9361cea28c9e23ee1ad9dbb3e9c339afcfbbbf6af243a3bbb25c311c4b5f7aa9d980511347f8df9ab7e8d5a5df4b7a43e3e2fdf6936d19e75d112932ddfdcd57ec79b4a8dab6285feb39340b7f1cb59d8f93f93051cc98490193023f1f05e017e06c366cd888078a2369c5f7df7f0f1f118569e1108214061cc033c3680184ea325a8fec5db9275429a2547830b816d829bb7653468fcee95d4baa87350a7ec026bf868aab5cf18d7a30cdfd6e55caaf110ab0dddf30a3a5b8911d3b76f0fcde7dce52dcc8d4dffe76de33f3e8d7f80913d01103c89d79660f326cdfbe1db6cace319c3fc06889e362914dd4062c09d9431f72e18534bfcae746cf6ec386f567743fa3bca45cc38f8f665ffed152f228210185c4423786d1f20b3cc1d4111a0563bb067f087039b8bfd0e3aecaccccf204ab0a0e15e4b46b69f3d97c98abc5305ac00f3cc7d2357844610e916d4474cd1b082754556b15a59acf1f2e2fb5f43f3f80b323547f9b3687fa211881fd05c8677d432f772e7a432b2dd592126d15157c5262d9630495b13c649f646b02a26a6742aacbe2490c6f7036b185cafc25e5c182626f71617965a1a7f8504eeb6ea7756d8a7015910bfac9d81f1bec71c33c2447da1cd873202d33a9fd944ece4e29de90c729022008c4bc61a6d1394718ffa7cc35af5656a1797d1e9d3dae19358ef2c05da9a0b77813923eda9f7bb17660f91b1997a9498648f6b8e1518bcbf9bffedaabcb967ea4e4a7d4474b044beb605d7f2ec73adaaeba6ad425175f0c5c8d1cb54004e72f82a088a017acb9a8e4c89493231ec92c9d1c3d3aea5ee85e90e43819365d384319d514705a504cb1d1d10dad59b3a665ab966054802820107d57e264618ee91e80e5056129f6f9bc2b56e65e7bdd3568fa7a298a5495c5021562d1ceb5074262e08aef69d9c671da0a0b0f3669958d252a6f4c8dc496da40b08046a7138372b60a1dce84268d330f151f6adfa9bd8fc36600b5f86b02658a6a088750e18c0931a5783f62a9e0f41a3c3c2991a3dd6ee1656599424a8c56f0985f8fb91e3fba644279576631f2d77095a7da86812c0171310ace3c98a6e95d6213099f4fbc2dbcf505f9fbfef6e05f5392939b64655139dd47b0a9e89b9090404a565613bc2efdeda1bf3ef0c7ffcb6ad50a688b752e285fdac836111f3ad42c0412d3a0c32b7bd40829c0cfab1795ae7eaabb716fa5b6e973ee606d6bbbdee79c232061f582e7346dfcb3d3aee9c08f2beefa7cfa927e539ed932fe19ffb297497ff44fa348ef30e1a1f91f3c36ae5ceaab58bfe43e4d9bfdcd8c618834b536b35f7e7a5e8f5b17ad9b34f92cbb970ce35f297f4664a11913473c766bbbcdd5b3bab8344fd2ec5be7bd5de5d77a8fbd5dbb7bc48b1f4f9f76618b2f163c8c9075f479599be6d080c11fbf35edbc4654df419a11193ceb674d59a48d98ffec5da30413b669c3e5c7b401c9a71ebceb7237650c9a5c8352b5e40bc6dec8d7ceeb75b76a96a16ddbb6d7ad35ae11db351bffe0bdbdf47c9bdf5849cfc6df33a197e0891c2587d534f4ca33c6dc77ff05d9099ad7b524774e9587e14ed064335dfe4fceeed639433bd8b44bf7ee9df8e9defae15a4deb794ed714afe6eade535bbaedfbc2f2bec985ffca2d445a78e7d88b041ae9327cad71f774606af7dedd3b499a5baf2d72e9a9e98a5d5ad06dccbd132e9016b9b72e8c537fe3e4a29d3b4a7520461e3db85a74cad1b67e162f735adf1b7fb727ef0f4b67fefe2b97a73463e87441598406a8943371fabdddd3b460d6ae05abf2874e9e3eb22b3f1a355bf09590a02674bbf789dbc42172dfce87d6ddbe78eda6f2d194a80ddead42819ccb3a67d8ed81162d346dd3275fbb2f1a2e8efe356dd7d6827eed7bf7ed4b6123448da0e687ea3daf7b6a427f72f4eaecda7cfb9c955fe60d6bd7b5dd4563db21e374bbd37b9eeb5abcadac12a5acbc38d45630b52a6fe1a360d46e93674c68a740aa3ec07dc63f78a33e099a6bbbef9bffd5a682df34fd92c9d071e2846142f40bc64eccdf383777f1ce2bbbb6d3870391b208ba35efae8c451fe94d76d7436ab9e9deb1b250bba04f6b3da39690d57df8c8ee9fee5cac5dfc9b61edbf58b434f98691c36bdb129d591531af26054c0a1c0f1480d51933e6eab7df7efbbbefbec3eb7e22e76ad613f8462f5ffed1aa559ffee217bf40e92c3217a000fe427123ec568be65604a3b5db5dfadcc1b53a02d099759d05480bd9a7669f833d538573a0ad646582568c55a45d36be711d124cf3bce94e1a14b23605ebfd00a3a57323703cb4075fb5612d096e84006f048345ba54c9b3754f482259b2857c48271b64b4801108488d0f019bf518a02e5cb8b0607fe175575f0bc42d2b2aeed0b153d9c14328eac243bebdf0ade54b97a1186c6cf1c765b4ec3c5b5795137926a28dba5dc30b6ec0eac8dbbbbb53976edf6dd8d8b1dbe9bbb6edea7de6d9a2d51bc368496739f541b75a83ff240b766930a346d72c5e4fb0689f253d8dbe58bc55b6af3ef30fb84073bbed8d33290b180befcbd7865e0ebfaaeddea125a6583c9ef08102bcad409928f6d8ae24997579c89490c7bb67734193e6564b428937585ced4ba8f0fa0f55fb4aaa0315d5564bb059ebc623ce685eeaae2af35637d3cd5ad0303ccc1ed7cf43d2bc802fe04f0f64dd9afcea66f76985d6abce4b0921ab56322111a0fafc5ac8ebabf4946845c55a8a4b185b30a1316aa849c2c58b8ea3ce1e474d48b8d6e00d5aa4f8140ede5ac96325845234eb7322c532d8e386472d2ee79f9bfb717a46ba311954cd064c0598e24674e5c71f0f13985a67d422397f311a3cc54224af788a75bdb6bba8f88b16076a012ca2623d2a1a13cc63d637849f975c7ae986f5eb599dc8aeae20b4daa287ff5aaca9e70d3c4f540b2c9a3310f43b11c75251d80b4cb360ef0a6813cd5798d3b03fd8b16d875276b3786304a4b239825b36dca811388ed46b4dc48d8d288b60f8da263b870555965636c7023823e28d94178f2bb585c5ea93c58ad53b9c9c9c84ffa4929292aa2a4f8255566051fad742d53801f75207758b789355108d02aa947d30cde6f4e070186b060ec00133037a69a428f0fb5045b65973dae4bcfcd2cbff3be97fd5162947c55c366cd805170d5eb962e5e2c58b11de8254931213e7ce9fefa9f60401acfe90032de20007db00ce51f8e5fb650939c5661d23f8c3c4aa1bab85a9f1dfbd06602ac25a1d34eb1f1fade2abb7576823ae47c6a742527a4b4d2b2cf3576cfe40c0616dbaca5c9b49ebd1b979cdd7d79e966da412197c9680573d946b83bb200324f8456b52be52f61683e78fd0c6cdc9bdefc2739e9fb262ec2b73db68154b6880764febda627ad9888bdf5f81baf1a5bd6b20d9e13bc7d8869a0abc799fe46bfdaf6e5f5b9ffbcb85cfcf17a55ff645115836ab7dc3bd5a469fce3558d6bd59b4497b363fac75aa4a4b9e7e60543dc499e50a69291454fbbcb50be6800ff5e04ac727189a493cb547973ac5036c6eea3b9c3a01f5cc09b52235a1a72159255bd316b5885bcf175dbfe6f9fcb5998bf3f57b35979cc98fddab80514c6672341e79d3654ba72d2ef568880b6bc1640354ead15ecf848108fde8aa7ea8f6d73c0e50de52a9be82e13b76cdd03e17abeec341a78096bf78da7d8b55a24bb7874eeefa8b7183f6cc5f3affbea5f30d856ac9103d82928619b9fca91b44e977eee2428636c35543b1b8d4668a22175fb560293b1023aeec1a31ca9037d9553332695920e8b5f9078b0e31199af53788ee4a62065754b21160176f115d3b908d20e4889cbaf148ad95eff8ac54eb76668e7a44f1c247e7acf33acbf235cf9ebf4c4b2f639c1fba7f6366bf1b6f13dc1b95597f887931296052e0b8a140d7ae5d72722661808a1f8a51a37ed5b66ddbd8a6959595fdf39f0b3c9eeafff99f091c2b1095015919eabe0637a21f977298d19a79e89372619160654057704aa223f64056ff0cab1336c4124eaa4e1c692d7b12ee814364d89377da807ec1c6e5338b321f920dff06192dc58d74e8d0012ddcb5ebd60f1cd81f6ee46f8f3e32fe965bc1098fce98e107a95a02abbf59439b3bb4ef208c164d6b90d192ee604815b2e24a13e55b18424efe03997ff1f96745458553a74c8587acac76a39d070f39fbd1d9dbb76fe32e79c8096f4529e4a6b18c16cfa5527839f44045765ab76b684ac3fc6df87a6deb8e6d2fb9fc8a827d79dbb66d110485783a86d1421c8c39b0ea1a8d809f034c22c135bac6b9a581afbf0f6e5a6d6ddf456b9ead7df26f4bbff3ec1d3a091b4a00c15d3a426bdbc1fedc1cc1abf075db36faec2d12a822863df6c7e3213796582e6997133cb817489a591d1c8453a3c6415f52626687e4a023cb9620466a79fbcad67db1e9ac9bcef4a2daaa85124475bb863d6e8087a46bce2c7b87dfb79dff71f5872feefbc394d4fc0389b6b033d129981ae152b5afba2c64f7efd9a6ed46195704f096102e7b4560ab468de1c5ce1a794bdc09c924b4bd203450a1ce375d07f0c2cb23aaad658f1b1eb5b89cffa891a3befcfa4bbd7e366f44da2de3c25fe84ebd30fae1f0d08b87d210bc2a478e5a1dcebf5e56bab6e927dddf5a26f6a4ebd891778879cc9613bb7c88149129b29765430a295307b46abdeeda6b5f79f535f47ed94df4783c9863fcfad757b1f38644934730b11053929b75067350b7c783c76c765ce4a5e186cd866411a55f1f9e034086d40c5e0c68d96d5bb5b1b546c398f2082e71a284ce0719a86557de9eaa6a77b2d359e5aece689cd12cbb992fe8458956787931cf08faace22e0f5009bad69d27f12c5a6a6bdbaedd9ad56b98e5ab3eff6cc8a0411896f256a319c363e91a0d9195404ed34213980e5b31ae95d75516545a84c60a2abe6c195101bac1ecc789ea6fb03a5c85c731cc55f5802875e079e7613bda7f40ff7ffdeb5fc05492c1d66e771506aea222c4f69d13e65647d9b832b7e33e202cfb987c0e8454f1432d4c8d9fa141982a151eaa61d8537b0e1bacddfd6db1a6299ce8f7eed5b496498ec4e6dd7a680fe5031155ba484a551090bb6ef7a180d642de82407541ed0dfdaf3702d01eaa7347ff917af9e407b48ba63f706f8f79dae0cf877721b1e79583b5159fefafd6daa827451572801db497ffb3de33c150d75540fb98db200f70ef585da875ecd9ba067b946f7e0f8c7ad9d4e9c33ba5e5bf3b6dda6230636d30b0a096dca967c6d2dc5d38e2cb8ec03092cf231854d50575e2068f41185d3c3868f28cd17590901c139ebf65bb57d325a711553800b12a48c1c203c5c1aed87a7af7ed2aad837f50fb89c8a645d7af69c3ef7d6a7844b52aea8edb18b957fcc65ce02208cbb3e8d525e7dd398c1e1f199528eb3d4c0ef598da6bedbae9ddb6595a5fdb62fdb65d28e0ea396ed684beb5d9d5dfe4bea3efec7b65f99a7fff0395dd77ceed850a3137a246b0a6c8614fbff2a8045e7fef6630aa77c0f827c6f6b2693befff1f64f8367c82c5a5363b22cd068d39aff4ed058ba6bddcf881b17d95cdb0d4edc0f9a11edc454534b373cbe689a7672c5db58bd742cd85806ca7a4ba6a7b7878385431aef5925adb92fb95d6677c764dcee47347fea6d38ef7e6e6f79c3cf5fc65d3e6741b35f1caf6ae408ac2bd51998ddacd8849019302c70b058058d75c73f5ead5ab5f7df5d5bbefbe3b5a108466e48b2f82be2ebdf4d228755fd5011028b849ac0123b81183d17ab364530d7fce022a828090963f70f58e33d762006573a2d215d62eea9ec87993952176ba65d71da60bd998366ca038d76898d152dcc825975c0c4cfdfbbc79e70e18083772d10517aefd7a0d4a6433663e3678c81036559f79fa691e3cecf24b03e8acfd20a325c249ccba6cbdcf3efba3e5cbe9320441a0ca356f77deacd98fdd71fb14c5433e3e6b765e5e1e3ea520a0221ab64bb85982f58a65b44453ceae39c1a942833a5d832745229abf67cfc021e71f3c50f2f0230ffef6ce3bb25bb6d99ab7f5b4ce9d393402d95a1d460b5ac39d4239319512c1884f3c65868dae712b745a87f0074bb5cd87b4d6005dcd72dec5e12b7f2d2809ca2205ee72baffbbcde167eeb79454870b756f25579f87c6af316a87d9e3783c24ee48bdb6d49eedba1c28af3c102e4fcc40dc5955a17902d5fed2e2aabd07f715e7ef4ecce88297a604970b435d0636923d6e88874411b091fda9dce0cad72adde909d5f06f6e6708634fab7efea3ae1ceed27cf62667072fbf3fe4d392d3d202a92d45b85c3b6a3289d47136f126248f0eded0a034752e443acc1e37306af571fec3865f36e2975730cd81a6c8c398c330e332f19592245c381a8b7e54127d1c6219396a919c3fcda4c429158444a778b060b92c921db57d81fb1f56069b9fb5152d5c911006aebd666cf733ce4096c8aab4e4c3258fcf79a2a2b2bcbcb2a2d45d595ae92ef69457549413f1f2dab068b08c09e2932a819256f6b5346b02c6d2b834437983a5d01af6063c6eb7174c4b9d9eea4ad0af97a8cfb77ee3e64345852ea7d35d519d9a91d2a26953ac4cc56992ddea17d55c1b3e7fc5c3380d067bd23c765d90a8d2f270a8ffb9fd5907818e6fbdf1cf03fb0ff27160df4e758d8dbcfdfb0a27dd36e9f6db6eaf7457a9aee12c8d9742b038aa34cc02963501dc00096e884e040efafc6c73a128c8b9cf7af079bd5828d035f21157c0130fe9915d635f0c3b5744a7523b2625b23d2716af7ca6ea0b20636ee9f26650729d7f7a7afd25111ab5d4d6ddfdd2eaa20a4f40eb3c64b4a63df6d80b9f94783cbb57bf3a6eca0aed9e71dd5df61efd2ed4b4fbfefccc47bb77af7fe18eb45b57685a9aa08fd46e178fd7b45bff346f7d514545d1fa39bfbf154ddf8bbbc59162c56d79d6f9578dd7d63df4d0cb3deef9e3393a2eed76f1cd9ab6a2dfc48757ef2e2adabd7ec992d500c3ed0beeb5582e7c754b057ab193668fd05ebe76ca331fed2b29dabefaa325abf7fdc836d0b0ef3fcbd5ba9d270aa87af022a507fc569615e7af7953648ede8aaa388b5afbbe17e04c67eeec9737171417176cfdf4d3cdf581d29a7a6bfed891b479562ddb5cecf606b5e4cee7f7c4a1d29ca73fdd5ae47697e76f5dbfb518f7b89d860f6aa6e52f7a62e19745e5c5f99bbffc747391909b2d81d51bcba51cc2c0e6fcfcfaeb75053bbf7cf4f699487e0586c584f8f5c7645309f5640e7ef9fc5f724b9b4d7e6cd6f4f103b46d8b1e59b89efc4748a57a1e050996ce7b770d34c85ff33ec2cd9c0b74d569237742a75f0e6ae6593bfff9e59bcbddeee2829d6bd6eca4d7de8235cbbfdc5a1c4868d5b625791da25a21216a044911dbd4a5af2c5f5fe0f516af7ce5f942cd75f1799da1a18c91af9c015bf9f26bc854dd15e5f1a92db592b9c54513fe7a598eb66afe7d6fac01914a6003e29377dede5a545e5eb4fe9faf7da565f4c3a4b94def3e28262f78774db9d75bb079c9bcdc52ade790e83d06555ebfd6436a568efc4f366903ceed509b3721bb5dbb0c406f9ff3bbe6a454681983fa75cf69d7a95d960e87a333d71632ff9a143029709c510091209f69d18cad1bd84446870b8f4171312a791de8592215c2254c2d3712c968ddd2b8a7a023b6cdf9872a5b694ecf5d7d36efb76d2b726d2b4dde569ab4bd3471e1de4b5edcf5cbf9bb7ff5dcce9173b75ef9c496111bfdc38e90d1821bf9cd6f6e04282e5dbeecf1d933698fe246b0419a35ebd15933f0a3342b373717d71b637f73fd91305afa6e3bfa621a0ca181d8954c954316f2f3f37ef7bbbb5e7ee5e5dffff6eefcfc3da4a4a6a61ad988743be3f406182d3f925cbe09757948c482f09079797bbffd7a6dab562dc78e196bb539bfdbb2a9e0c03e182d3f32d0ba8c165dc31d0a3209f1a98c8232ec19fc6c5d1e521b7ab127351c6ea485d168dda6d93680db11cbca2e0057a0b2f5cd7f681baa61df02a9e1ea8cb0f5a2cb2247cd608fe3f290835aa724ba4be0c7aa82f62dd5da8abddeafd696ac5db9f79395df7ffde9b7bb37ac3bb46f777a9a6bf0f05e308571d9e3fa78488e68d9b4c3ffdeb270555ad859e50df88373aaff755de59337b99fb8996bd5dc1baa9eb9b1ecc9df583fb8ae5de1ffb6dbff3f5d8b0a12843d3646cd61b52670d46c3d1392a1b1bda0595eaff947dcfab2a6bd5df34fe2c28a46b3c77147ad3ecedf17f0545656575655b9ab10c65754eb910a7775456595c75d5955e9aeaeacf60551718c336a919c7fddb7f0e4ff053c3bd5031e7811a9db7c163fa24f5dfd009e5297a6729ca83816aa0a78afbee6eaf0abaf71e24b5a6a5aeeca5c248cb7dc74b3a8cfa2a4e16451b0a3eb8adf358798af02e390458a5b23592dd82f0a85317ab501de44c744566cce9641666b0f5bfc0e91dee26a1c35ddcddbbf2f292d69deb449457505fb7339d9d91ef6c3d04ee0ade26dd6df0fecc311bfb24fc64e8b159c2856a0b40223d0504e4e2b5c1dac5bb71eecf9fb3ffcfeead1a3fb0f1c9864777903be8f3fcc7df5cdd7f9cc8063d7ae5b77eeb9fd89ca5690138c1b422199c08ac1561e7b4c206c593bd029565d0b23ad111c29edd0bf283854473a2bf6bbfa378b5bf2fee8dfa1b85d9326dbc1d8f54e33252f55d7d84cf5a5eb395d43273dadbd7c6befa68f4dffbcf8ae73266c5e54d675c4f98f8d939bf8523af00000556b71c5038b1ed839e2d68be6e1cef7f6076e1f7cdf63a9fab9a9ae2eb3777dac5d717e8fa653a4408fdb97ef7a0803d49890a66546a6e92aa124d8bbdc387bc4bc298bfe74537f753bb5cb35bb3eaeb8e2fc5b7bbf7cb7a48c985f3eecacaa4ab0e28a8a2a493867f2fc459ec9d21210314e99e6af1b7656f71fd506ade03f22beea28d5e921ebf48b7b66ac5d3a6fda524deb33740062b2f9f73d96fdc49d027d22ba96dc6ed87de3ab1e9eb774ce03aba45cb3cbceecdf352a8f2e53d5a1d4e1b2097d870f5d3477e99c3ffc76c0c4e963bb674f983e154fbf2fcdbcef25fde943a7cee8d438a1fbe8a963fc4fbc2edaad929a73d9d4fe5ddb0fefd3eca5dcf977e7ba26ce98d53dbbd7886e6f2f5a3cef81c5f8951d35e0d3051b11afea81871e16badae2d75f9335ea4fbccc99bbff39ff2bcfd0c97fee4abdbdc64e1c943777e9dc855da78f3c322ad5ca95e5493a35d423115037f37d33ef0fc86889f5b96e0a1e8ff56034beebe8df8dd39e9ebf60ce570bf41b3997cde8d5ceeed9b360fe629580bfa2a13522e8e811a48088f95ddab2b90fa8cc83c6dfd73f8b8168ffcb0139f357bd7e1f0e897a0eea9393ffd5fc079ca9d3c7c6a17692fe54f6069287dffba07fda5f96cebbafc9bd8f297fc42eefda99f7e54a0657b7c9f78c96d9dc75e45d63aa1e7e7ddedd7a8f68db9f6eee2b19f45e1bc3717827211ea919776fdeda6d5ab32b949ab42aaf79d77e9e3f60747b2dfffd7c57cf364a5cabdf8a97b9a68cf9c7a4804981e38a0278e838e38ceecae829b261a4f4eddbe7d34f3febd4a95364ba11c71d87cfe67788380bbe48e475918cd66dcdfabf51b2b11cfe48b1185bcf133fb5b624abc385c2aa039d55d9e0464b54182ac198164b823374cbb97e528e90d16a9495f9e8a333274c183fe391196bd7ae1d7fe34dddcfee9da43b379c394b802be871faa38f34496fa22196fb61464b7477d19c0b879cd75f7f3d27d0287c0e1d9010804b5181864bc47d092c1cfa7706c538b067dcb871e89fc25ac567b4eae1211196b0cb7fa8a0a0b4a2323931392b3b27a765ab8f57ac8490fdfba3f36bf53ba85578c81a460b918530a6421f2423c27ac9b7b50e0f691b36fcc0ac479b971524866c96a460f8ade7fc136e7736cb1686ce660b7cfa89e3bee9966c2d5c6a0b24048b9a77765e341896551e10c31ec7f290df9585cecca85cf3dd4e8b965c5d110857bae51457c43436475ae3345782a565bb33faf53b6de7d6e26fbedd6f394b4b4b49b326a1cddd107b5cd33538dd50b86de3f482ad858955365c22cf712fd44a3789a621014e947f7cf4f8e7d56c415ba0a9fd9a50771848ecd7d4a861c84a325296b8139282819b1bf4f43b5de49875d8e37a462d2ee78f3ec1eb2fbdb67cf972da0983ad6b478a1c8849ae375d3a81651edaf543865d2c5e3aea8e5a24e72f594fa580b22a63fbd305e3712a12795580841423901219573fb9c606544f4914ebce8808a84c251251b722afead6c68d1b278c1fcf7288e41105049c45b398e2420e3d585c86918ae8103b748ce35d56d7abafbdca1a446da565654f3df924384df76084da043ab82853c8612e404702db62e8f78aef31ea6261c2745b0491d42fb08ed516b928b2515e18ac615120061b7efacd978db1620f04d2931b356f9d8dd13f19419672c48dec8771308dbe15280f40a4898a03cac6b2fb86bf3b4027af22aac8b367cfd9b76f1f96a285070a1178262527b36f93e04ac8cacac2a416d39129536ee3ec9cc8aea1e26cc3e11aaf04af0c4b284dc22131fac2ba8f3816f129ff7b5bcb962d99227bf7ed9dfdf81ca8e2b05890cdb650897bf7cd9dfd4440f3d5d735544e7cb6d0f7df6dedd7a72f9b8b51538d65fd1fff78f1b6db261d3a5412758b9f99998d1e7ffc89dffce67a16fdd8bb3529818a8a6a2d3135b566c725e029a9a8b6db79549d2d184f0526fcf6468da21bc0aa26e5f1301c55a0dee7fdd08d80a7a2daaf391223f426eb148977ff18db10cc5f3269dacac9331e8ad4ba6543c35deeb627a771eaa7c4b484b4e4089015d99620227ddcdbb9926b0f088dbc596f1c2d6f8fe64a4ed621ace4f2bacbbd415b72dae1141263ebc6f70f3e18926b4dbbdde5e59a8d8fbb514dbd0f8c5b7f7db98f38f31153a9ee93b62ebc67e657fd1f7b68b8565eeeb5d54f5b4aa9a624241f26af224a04f1e28e60ed99ad5e79425db24a95683341347d688d9bb1d4aedbea9a5f5e6f90c360c9ecaea9252257d08bacdb766423a28a45917af31bf7ccd93ee4897b2ffae111d570077d1499235a69464d0a9814f8492900a73463c68cd1a347a3dc0b6ff3c9279ffce73fabd8161f397224cb37a71e3cf6d863b7de7a2b3c466cb3967eb4ecf44edd4216bf9c9c077fc156785d46ebf5a20dbfcbffb76c79efef7bfab6f39d4929ce0497d36ec3de50146a39f12318f605426cd9fb81aa81e04dbd2a47f6c083eed1315aef7cf0fe9d77fe0e01966ae1cefcbc7639ad551cb74f4f3ff3f491335ac81d1178c2cd253813f6eccec77f12cd5455411cc573824e71db61089f613ba1554ebb9c4015c2bdf88c565c1e12a907b8bdc25db5ead38f2f38ff8245ff7afbdd0fde1d3468d0e831d77cf1f917bdcfec93d9384d979ca25f07a017460b180c6ac3a68be305d11284d8515dc370d56a71fa3f5a963af986e4a035d169b11407c3632e0fdd729b25292994b7dbf6e749964d65e10c5b552054e1b778de58e0e879364caccdc1c942f1d9e3481ef2c9d507879cddbd53a87c4fc9c1d283a5f987caf0280c6676da41f462d976e840f9b6ef0fedda7ee8c2c149a79fd63a1bc3b66659c8791a608f6bba160c2fc8ddb270c3693bbefbcefa6de18d773499d6fd3ead72b5c05405f41004f30f28e9d36c4d1b073b759dbf67d2c5d903608f8d51830177729047bc09d9e63f6808ebc5d555215e187670be02c0216dcff57b22d9e3b8a3561fe7cfc938ff3b71a2703cb51326f67d613b233929e9afd31ec4296b7d9c3f90e0d979cf9c7efae9f27eb05d1113987bea968a446653f9b9c60641257a20a202bf6aa3f297d692c255c523af46626c8ffe2b297558f9ff4a8d275c254816fdae20fe75355e275bc0214b29005184870056595951aa0d87ab35dfb5575f9390e0fafa9baf475e79251aefb66a449098bc6b4ec03e9357d42d584d45b68ae239e754a10fc071486a2707c55df4da4197e89c23140dd83173e731c857e520546497ad5ab5ae2a2b4d6994d1aa79b62f806774b415d826137ccadac08b63c72bbb6051719cc44a03c8e5817c42f03f205eead8a7d3429326ddb670e15bec7db672b652889d8f07d3d4e9749ed5fbac51bf1ac9761427edd4ed1a96f8b2bd14602282cb81f41c09ed3ddc35195041d7f2ae421abc3689a2b0fc567b401ccdcaa3eaed1ac897c5968b2a117be5368920d2d85ba4a8bb716fd5240a228db86f77356a142137acbde34a8d972a77a3cad71638e6bf76576a6a9c0618f5c5bb7f8c6dd8b763b7abe3104e6ea91b80363522dfc3b1ba396a7ed90442c5bdd350a220993af71380c47512e4476cdd510f331a1953343a216efdd1996a7f1f71e6c3b4391cabada481bf01bf472b2d43de999616a7d7750ac63625862871479093a9f47a12629f70b8caba8d8ea9b84e438c1f6054e2648ed37420779c54a3689c48dd6adcdbb67bfa0ce97124181585e5a3c91ce7d16692490193023f0d05b66ddbc61e37ee6aabaaaa162c58803aebb9e79ebb7efdfa79f39e1d33663447adf4e871e6175f7c01de8b6d8fbeff2de69c01506ac01e48c0e6ae0ea37555e31e6f156ff8bcbcb8f5eefe9a03dfac6877e92e7dd9bf978fbfe89f8959aace70e4a4fbaeecee11f5e1a364b486fde217e7f41df0ecdfe72d5bb674c7f61d302c4653df7bef3ddc294db973ea11325a344514ca38772fe46ddfa1dda44993de7aebadc2c24261e42d9628e567f8466403bffad5afc0b495556ef06d038c562c0f89575a0c61cb4a4bfd559e756bd7346ed678e8a0a12d735a6c5cbbd15f555d587c20393345c045507848c568614b0aabe9b0e03b5798365ca1c4f09076c427b6411794ddfb97f09fff04a24bc8b259ffb9c4fa2667ffe82706592cfe46b6802f581eb4563d3cd3d9a3af1c7c0387d8107b7c98876c1cf2008eedcef4ca44e7a6e494224f6ae040a9ef6065b0b8e2d0be03070a7757951767b5ed99d4c859e9aef4fae0b761f2381e0226f8077848e4332d5283feead25e9dbb9737ead0f7f454eb19676865459a1d76443fb28841953e03a4126d2ecc99d35a879bc1b43258c6a8d9e144615fe34dc83d037602c444af50940ba192f0a5a860eba3865e23ec31cad3fe28f63876d4eae3fc91273113befaea2b63ee45458412b8501a3a24dea81de6fc2dec759c62c184a9083905e10109d925406f1ddc223b52fc465f02d1215353a4a2b87f097b7dbeab468d1a7dcdd53e9fc757e5112fda004c7c6c535e769bc4e1b993c367c4c61e34876b6dd1f1c067309c21e8d22efed7c2be04398918816480892fde97704926f8af55762b474e6b4abbbd38b5637de1861ef09114b089cb249c04f31a497e393507251ade07a95ff6d144b24b3a07b462493b78f0a06f56afcecfcbc7f6353925a5754ece5967f56ed63ccb5bed63dd8fed1a1de559f4252012592b7898beabaea936547bb0b2941d2b01e51c44253e83352a570d14e96efd5de3ed66a3ac01ad5fea79f0c169aaaad82b1b42b189668aa240ce0513665d6012e327a540cbbe578fca69140bcb8fad1127d108a2603ceb88897054998fb85633a349019302ff6d0aecd9b31757406869bdfefa1b8d1a654c9c3891ebc08103962d5bf6dc73cfe13ca963c70e1c0d1af7b1f047c03fbeffd827b19d1d97d1fabf16832edd7c30158f11703980082488c0409c33a2d3aa33eea22907ff1e0a8def57257bf3c7c4683569947ecfddbfbdf7f7bfe5707798ba5d79bb856713464b8723c2f71d29a365b1e26e53b81e774505128009132600dab76cd9b26bd72efc8c283a703a7ddbb66dbb74e1f0b6eec5870e55e345c88280b55e462b2e0f89ca1dcf292929cbfd78c5b537dc34f0ecde6b1c5f9cd37fc0faef377fb4e89fd7b56e0540151354e13f457554182dfe208a808f1346ad563810d5352a0d589da3afab68d6da3bfd81f4fced8999ec0f20a9103bb260b586365859b76efebbfecfd5f71c3fbe6d655c7e803d36ba766e8e6bffa60dbe1e6778edf6edbed08ea26ac7de2affbe8ae0fef2507519944f494d0855e6b7392da163db364d1b672667a4e2e3b361f6d8e8da191d9afd327fcbd64325dd4ecf6a9cecbc3f74ce27892d5a3a9261c4e50c0c7a0e9b1ad63cfe606559d5b0fddd5b366e066facd86363d4389ea8e10919c5f91b5d8b658fe38e5a7d9cbfc71ebae4b24b478c1821bb2fc829692cf39b46a3912dcaee1298f15e8f57f86de49651a356cbf9d798dba979766a5c99b03f2934371ea7229157060f9a9362047d71aaf9455cfd5491a8ab921c728d8c1ca1d2ef4db74c0069ca0bcab930624389bb6ac8a22b53b0c7830011e9aa6edb0ee0745a6c3e8e9946b51c6d607901c45b97e406dc8a60133d618e37453f97ed1b81a7a8172038b5b179e314c562a99674cc09c2360716190e79fde5c1e038d9f9c2e401cb555480651e03549db40ba351c186a2f52bca02cc6d544e029630aed9a18d8533afe58c537658c0b2805b7c27b156b91c09e89d5096f71f0d66afcfab4b408fba6bd49994922e8b200f0e5b2bdde5ec1e613602faa57b2c90b4b4ac1a477cf4a8a1ae6dd9fc7dbf73cfad2bf794370c3d9c83070f326a887c63df3895dea4499368f95d6c5633c5a4804901930226054c0a9814f8af52e0d0a1432fbdf492cfe73ff7dc7e03070e1420541b76ecd8b178f1076c345f78e185bd7b9f559b7cf8efb2e5cb3a75ec20c8533f7ecf2252af9387d182ef525d4b4a49494ac473ed6163541854dc6356bb391fb0fa47f290567f685bdeb63ddbf3aa2ddebd79fb5ae7b470d81cad3bb4ce69db19df9cc7cc436260ab25387d1e8fe5df1f38fef371286f9ba5bc2a9c92a275e818be608876e160bbec2dc09a02d38e6ed4bc15ee0325befd1eebba12dfbe83d5954595de82b2d0c192b0bf30d159d9aa45628f333bb66bdba649669346c96930d347ce1ec3ec16eed85ded2b67cab9bda1b44012eae162a1ab4b94447a028640ff51b32424267bc381965d5a263b13a3d86363d484c93ecaae1d0f9c7fc86e7bf61953e9f7f022734ac4385b09f4894735fdd01634f7b1b3669edb3049b5eb07c5001205a3b1d082c4026290adebbd8a232484a288e051ee75d8d9e643b0895a2e384e2cd731f574a09d8bde2f26a4168b9da348b104e71de2ec2f3ff9c4225a0e1e2642b2ee9788f70d584b362a937ba065517c11355b9c95f38a8a37363173b5718ab16c88099cd5423ef13180d7729a8849ac00db20febf3924465250d6d090eea237cc41db47df358e5c0d5594225416bd12cdcef13421ba160cb94b4bb09dd58fb3114c4f577fa86b715028d30b6d2250281b0af54d35a4a9710faaad2fbf996e52c0a4804901930226054c0afc572890999979fbedb7c7adaa7dfbf69326fd6fdc5b2a11c90fbc099c11ba5ec268093772f2305a7088aa6b385daf448caa335a305d358c16ca671cf8804995ce021e3b0f69b776ec785ac7b6b81dda9c60b5b469dbb675a7ce308498a4c1361d3b0f6985b3f439f049356278f8d22b501286d5c4f81019337c2c866b481d71ce79b4a3866430312db55d7238470b9e05522fb397065342c126b0c589895aa3f4c6094e5788533042a87707510f3c2af61894d8a27d07149b8598c2df8a662ef6774e0cf71cc88444d0c83192c21ef3087908e72246b3c7c6a81d6dd78e13ce1fadf306deb893f296a951c98c46ab5f8c1f6c7ee48ee2b048545e719f8b72bb3842b2604d1162b191d98e5aaf78320af900ada2162b6254c480c110f6fda40030a5227288fd04d84bce64154d785bd0c99534003070513624d120402b83778d496775f07e8154513a16c4ca7d19174031b01537ba485d457e2ad24aee8af5868e1559fe38f994c7867c368bc32bc7e0b03185c1b7a828cb3b4acdb495c5e7e7ef9a031caf4bcba3de225028212ad1fc6952c0a4804901930226054c0a9cb814f08ba30e2c4b31243abeb8911391d14229af7de74e2dbb741641040c274a7c3f9e87447601d03378487c0d01fd0c1e12073dc7c043a206e8136618f6d88e3bace649a9a8f85111ecb1a81c22f240bbd8648f8f9df347cdf2c45d138eade5e2b8e9140fecd0a0d3cfb614e0517ceaa29bcbca0a98748898903d40dc7d032ec56d9abe495303654199ec34c91ba7e9f054eea385cb3ff67758976505c02e5570a566f7b3c1637122e7e4cd975d1e74714509d7c69658c89640119e834eaf6ed9ef083a44f358bc0c73f2b19593c7b0a467d70e108adb25b17215d1a5d8a8824731fa604140f2eb135d633a4223318140e8c97243bb8e97aea52725edcecb43edfe149f6c66f74d0a981430296052c0a4c0c94d013cf37eb7654b6a4ac671c88d9cc48c96d9b513913d3eea513bb9d78e98de99822cb1ec07dc8139358ceb0181a2c4ca59aa6107ea0f222f454aa9ef29413b340d70a366f173cea91c16cace139e9f39f606212a6a121cfccb2114d6905334712d9888a25401f64c08a25a015c1473778eb942d9df1af0871c1c786d093874b82aa816cd5eb0aa4deed8c52453430983fa518cc001011561da0e1ca614725bfd8ee069d964e0374257141d6cc104f6d9d0b10979c5fa43acef29a9eb2ffffc5d6b92d56c6f41c1aa552ba1080acf726a946809d303914b437fdda33aa6e5a06fba0046d7c92d378434e87348d7385c8b886e714e393141c02f01fb73c07ed16f26c80e80e83783e2d9268064540319f1a98c932cb03ed5c83082fc45c18518c6c754e2b7ea5a2efa093fd08ec37e1c6c328abc5b362778300f65db1121b6c8b44966b0782acf939eb055c88631b7cdae99a3664ec8e8774d77476ebe6be63262ae90a7d077cdeeb2a6a6a465376feae56c83e38c1b3989192db36b27227b7c54a3067f7caa0513a60a24c2591acabe5e44aa41502227be806850520d62fd29debb75b7441a0a2cc010d00afee1e44c17ce9c0e382d1c6f6a07e702a5fc62e01a7422e7046b01bd0221bb6e138a6eae55ea10c969d08b31aa05f9a83895d6d12dda1b9cc205aa0551a21d83ca31d6afa0612c4f258700255a17e0906c3b9e93005b384503ccf10c44c0c06740af0d742b902fc853c57654b3f94077413c098b0c5654898f8baeb5689a1db0640503d823001ee9019acffc036562e22a90537c4ef19fdc10842e6a2244f414902d19459b9aab9441244d16a9096208da446c0de0255944d3bcc8823e05ce739bffa808982b009514c804c48599e637eb03c26f7992d4a7b7801b5244563b9ea3274b8d0ae1ea18575a2fed85f1644c750137589527e8c059f5c0ec9ad0d61c3573429aef9ab98cf0453357c853ebbb66710a33838b9fe3931b3989192db36b27227b7ce4a38692a609534f350a00374095a019ec441de8f98a1936a70123d7b4da1c417fc06175e0931bab5370887e560b60c6c9e9ce4e9165e22bcc2e07a6daad885091f5899f72fd641b311b10a3578b9f5364c04068e5eb5abee2294c0e0fc3c21b7c2a8abd804f9026c807392b76a51c0c2d9ec80432e96817101440486ae76ce51006fb1c712d67a7828cfd7e0158a2038c6a307abe58bcf24c4903bd5208bd60d5359e78bc740df25a9d883f692dee82f5637a441c8aa72ae494407924d5403f0e0b43b42d7e8d490bd981e7186260d9801cd5c638412b3a8ae2b3d8f962e66f7772c48e00cba0c501592c362708dd6173caa8593804486cf57560cba805d84540644b105b6204de325a100cf133705e07be0ca96c220478ba1c212e3b12446463408d1a8709892435c0e6031e99c37e4687765097c860cdae99a3664e48164af35d33971173853ca5bf6bece26246791c73232731a36576ed44648f8f70d47cbe534e9c6a4a5371b48b1ea70deb4fab5fd4787df80d43560658453a06fa10212a525691c7a1e429e8c611f08276d015668318bbd0104a2d5899225e0be1a4d72bba5da02a0daf47726c9545b47b0160b867c2a81ca005a641e194535d6ce8af0605eed87d4160b0b83d020bf9ade8f782319db44b402fb2579a4592e80b8168c5c11bed0d68f8ccc3c313225d1e2ebac2b417212c7fc0aa480c11087352191d095bcdae99a3664e48f35d339711738534bf6be627dbe4464c46cbe4214f5cf698969f6ac184a948c2c4e2d10e3ab4047c48f3c075ec846350257aa34841c52d920da1a9380096434991d5a15c6a43b087176c7b1087da08f87c21b0a348e11c02444593552482880a0328e05a3487883e7d728a313584824ea0ae1fc5511f32407451c58c151354b1ac04c38a580e13488e900e04a45244a94a0d559ca7f1689b28b9caa3901f0246656705cf49c057078d470e4bc3c57d921591232aa90181d166d7cc513327a4f9aee9daece63262ae90e677cdfc649bdc88c968993ce489c81e8b11c9a9154e39f171ecf002426d8039d437119b023991975ad1b045288a3892a352ad7e1270a2ab9f2e03900474e2b117e55b3f6aaa01c4a221347b512fc5190ffaac3e00114811851720a4984b728c133e914469949f0867511215334791b1822e79a405f7dd7e31c614fb4981a0c857c1a37858129fdee4458117fb2e0e4b052f238945d19562542e325ca4a841b14cb5d100eac0c6129c2a07e12070c560d6ec9a396ae68434df357319315748f3bb667eb24d6ec464b44c1ef224608f6361cc499d624a53b5e7fffeac98259ac1a4804901930226054c0a981430296052c0a48049019302c71f05d0efb4cad916a7503061aa76cb2db7646464783c1e86ddebf5a6a4a4f871df5b37909e9e9e4e1a67c5545656928738d9484f484870383014d5488f8abb5c2ed2cbcaca284b415584441527bf4a57f5a8fa557e558fcd66a32c718ad0bcd8365090471bcf8dccafda49592a34f244c5a956d56fa4ab36a86745d2811a8c6791c7a4951a3be866d22a768e99f34abdb3e63ba8d6134507b59e186b111173bd32d7769650f33bc8bba0e8a0e6037193678008267f15c98341101562f940d24d5a9de8b46211484b4b037f2233e3cbc895a0e02811861874ca895e84aaaaaa471f7db466369c1a7fc433ed4fd953e3712a12796500d46090a80229b5d19a11e2a70c544c8013228d6b6424c089a67a2211752bf2aa6e6ddcb871ead4a9c479cf79ba02844414174584225c99370012f539214e0a3fc9ac225c094659954e0a65a9d6f8691421dda824b24e55845b4606a9577f966a8f6a8caa93dad45dea57f9234ba96745a6934225aa6c64cec83815f233b27ed57895c85df52c32a8b86a836a9b2acbd5a495419f48ba99b432e795f90e1a6b48d42a0765a2d631935626ada2be4d6a4aa899037122d713935626add41ac24c3048a1260c29cc19ae0475cbc8a012cd79051d4c5a295e574d12b5b618d3c36083d544faff412bc0e751c1d4d34f3f9dc68063b94605bbdd4e0ab75444c5551e959f6b6c50a89874c1c77a888c93003548e1aae29157235151ecbf7e3db564c771c967ac59c63465bf8a9ca413d8eb25cebce44a9ce94b2271958708a58873255dc5557e551608a7f2ab1a549c4ac843e0aeaa93bb2aa8fab9b29f4a0695a89e459c14f2ab761acf2551e55765f94959ee923fb29ec8b2c4556d5c99be5c6998ba523fad22ce956ca41388187d243f3f551b54ba918db2c429cb55f5cb284b0ac16833e92a4e62e473557e55838ad305bda8492b999326adcc79c57b61be831021f25d206eae57c69aacd64faee6da0e4da083f91d5473437d73555cd184abface9a3c837a6bf8be98b4821404353722df1d124d5e1436ecff13dfae185df31a4b01539a2ad25485c1780959a10c2ed020965ac7795db94b1ed299a68a533432132103b7d41aa77eaada4854655585914f892a6e948dacdcc84371a36c6c85dc2567e4b3ea6b83ea827a1671d517954871d22333906204d2d55de31ad936952db20daa1e93568a6e26adcc7965bcb691a4206ebe83ac1ee67ac5ba6a10412da76ae950c4e16acc1f231b91c874735e99b4827960562816026aa829644c18528c442251f3c7c816956ece2b9356e6bc52eb73241d8cf7454d0ff5d2911899c778dd22331b89c6bc0283444a53d92e3978f0a01256356edc382b2b0bad66b43e094ae9d794a642ba5328a87d44b52eab6961c45504e640edb1f19399ca7c2245dd221d4a11675e920ebbc9824e2003716ea9b244543af5ab74f213adbbf231000040004944415457b399e2d4433a1115e7aa0640e5a12c295c55596ef12c7e1221dd881bed54f9f9496bc9c353543b4927905f155465c946a2aa932b81a71875f2532f241908b447bdab2ace553595741531dac04f935626ad98216abe1131e71544506f93f90e420a63ad80262c17e67a054d08c6da0b4d8cb8492bbe626a9e7035bf83cc0d9367e06551ef0511b5aec287a8b961f257d041d10412299a98b48202bc38cc96e3906fa75546a8a8a8d8b56b57616121eb3f61fffefd3b77ee24d1c870aa454c69aa485351b356d3577d0b79ab99d006c620316a5a9059e5240f6b017729a2528893c8957475d7f8a9f2708be2aa7ef2a81584b22ad128aeb219e9aa12a391dc353210897c566c7b8ce7461691f27a506d30da439ad117a3a07a2eb7680f57a31991658d44bdd6c317d215651435b861d44fdc208eba6bfc8c7cb4d136122962d0c4284e443d85abcaac525466ae04958188492b93566a3e98f34aad15c64b67be83c64261ac12a498eb152b0674508b3f1123a895c4a415146092a8f5c4a4552493c05489fc49dca495b19ea808245273c6a455e4dc200e414e1d5a45daa6e6e5e5815141250488a0aecd9a356bdbb6ad294d8520a762608d20f08d610d250209882b421061df4525f2dab057a7d2c9a9e2eabd62c38374f55ea9383f79c148519c9fba65e4a14e954e1ee23c850ceaa1aa144f5429ead1d4c94f0235909f88ca40dca853ed23728b1a22db400602f909e4514f211b71552177553d44681565557b543aa588a838e97a3526ad842026ad20829a0fe6bc52af92f90eaae5c25cafd43a6caeed2c11e67750be163a5a637d20a2e686fa46ab7523f27b4d8ac93398fc95c98b9e6afc95be48d45c4a4a4a227faa78dcc4d86c27658a294ddd3871e244b62bd4b7813126c2157e0b54c6273672bd50b7d4a785b8e2c9c8a6e24454f1c874a32a233f1592a8be5544f8a9be4c9452cf3252541e955fd569e4a761c6734934d2d553543d46fbb94b71955fc5557e9548dc68bfd1dfffc7dedded5c9a1467de1f700bc4188b196303667a3c0c62cf234bdeb1ec4d9f4eefb4e423e0047c5c48b6648dccb40dfee0c37c8ca1198c8c1012f26bdedf7afed5d1e97b3dd52eb0bbbbba2a72232b32322232f25a919177deb9d653a37bfa86269c7c3445cdec8c2ece8c3562f91fff32ee295fd76235982c561b57bb062d87c969e8cd57939fa13139337ab13ad74be0944316abd97f41a1cc930694667d2d56e207088b5551d16a0a1341226cf01fc2e749fc2c56ad9d594dbf1c56e76dea9ffee99fde2e521f0aa8fdabf6bf9cfcc11ffcc1dea6167b2f5dddbb4c6bcfd3cf790f802ef22052ce0a9a79f789e97d79cf4c2d602b568ca27525cc2c19fcd6363e42a13577987abd679db18a72eaad7f4df28d45667459d0159f70fc38a79ff8cae9c38c4bd75cc6ffe6c5825186d6db3be08b4d7c3284155de8f19f59bda73c3a3f672c9cc52a58162b38146f0275e30a1ad6d4aec1c9999baf5a17a24216151ecaac97cded3246c814278b952001081cda73f799619faf4a1a975c213c70142b6872ec62f57e61d5b85b3f8ac0dea63ef96deaa063dd96d9e7dc3507095dc4f0d57682f8983d3d689e7402d5f1a58074cfb1e8c6bfe89219f9cb588d8b49207f9e469fe39ef6d129aae9aacf3972a9b9e047673f1a730a3b8bd562253084c4e0300b2466d152f88dccc6d5ae41812154cedc5590dce7c3c56ab1828050914010934c62ee3e0896f6f17d661012539e964f16ab8993c5aa6792798629c9549ff13340214e7e34e6bf730dee6dea89f085deff37f50920f3bb11f18a9ea8ad5b2c22bc738a2f88bdcf8e8933efb64fbaa855538cdf33195d255d1cbad98c6ecd50199bd1f76391cc1f5dd12c0c4dcb2859462be35b7cbad9a43b63e1e04b617545d3c541937cb074fb7bbf88ec2c568b55f1b371658dec1a9419c4438b62728ee6e62b0804cbe4dbc52a40761f1409ad1159b47db6b503199cca6275c9276059ac80f068be5dac5a536afb323410cf3356dcdbf23404f636f5f6dbd48f7ce423ed07f392c996d013a71a76b3434408fa9e3910a392d8c85f08bd1609e1d11dfb8d55ce452730839ef223a377c43035cbd70934965a891f5d3d43a498ffd1c967644c8dee457e269effd58411ea668718ff11a392d805a2b1a0d7588b55f82c561327a0d8b802c2acd95950bb06375f9528cab7975cad4bb11784d262050d4b66b182c3044331539ca8cfb258edf39578986739bb70612330868f288416abc1a47df959b0f2a3d3f97f53f7b7a9003ccbdea6dedefd5b7ead37ef5d10a20ac73d61ab115ef8831adad3a1a6de792f4ea53bc6b183a310c347e077ee1a3bd9c767275d5dc6653379cd192b7f5aff687c746391673995f10767f8bad827aca0a927afce19cc88f82ce70f7e452f5d359bd4a3f930069b0b6132f8598b6e94c56ab1dab812031306bb0641b1f94a92dcdc6e77100cbb0fce6e6b3f45c34496101eb39fb6cf2e569e3116ab7dbe7ac19e4567992f7141606f536fbf4ded69a94320803a6e6922e69415532fbe7d026191a492587b6df8a223da51aa89bdb3cd36a4641a487d8eabd9d0ec37683e9c328d32a32372e6223ff3cae6694757f69b1d818b2eced955331974ba0885d862b558890dc1b071755947bb062d0d98cc0299e4265a16ab3327974b17ab70504fa85ce24497b271353820162bf100847dbef26c068779ba6bed8890fb67b6c5ea3dc66a7f9b5aca7ab4dedbd427e74027550b58b1740729cf91dd0dce7a9eae7986a0d229571726797576bcfb44d355a347776464cf5317dd936bfc3cc149269bf98326c3acde6832388650cfbb582b6de4499227d05cf05b87d493c16fdc725676925737562e198b965253afc2fed841c7aca6cb1a612acd051f93bc3a3b8bd562b571b56bb01c22276cbe82001ccac96af9a19c5c22dddc0e90f0696f5aace4cf766491d33e0b139c5953e267b16a1d2d563d6fcc33587926a620814f4f71f137ae20f3ae6215f25b3f8ac0dea6feabdfa6c2c8e2ecfc66ad6a5aa50167a1464bfd382333f231d5246346ab4f2375b5ece38f65921937f4a86056eec5f8a08bcac80f9d1dbd6452ac4e60dc7b62faad713388396321088ffd9ad924969d6c6a8ecfa39e1be4cf7187d940e30cad8b91ba4efe5826999df10d67cabd5853cb8dfc1c3a3b749b97ded41318f7c678f219c49cb11084c79f9ad924969d6c6a2e568bd58450a1b57105875d836718942e365fb540aa27df6a2e5603c2ec3b8bd5ecb92d9cfb8059ac04c9e5f964b11a4002477d3ea4f5fc4666f8ffb171e5bdc0fe3615b68f96bd4dfd57bfb79c7790321d7ac2d45d9f3085a0d0ec9d4af14a46ca4393c78f490c33615a63536ff236d7f888542e77ad7a874f46616dec647f86306e63111b1a07cd2b046bec3797e64597b021f0d54af288190ba1d0cd265aeff84f7efc59ac1ea05aac9efc6e599c6c5ccd9ada35285748380a022c93a3ac9aa1cb3f8bd56205818ad8d87df0dc73a161cf6d2306d13e3300274ca071793e59acda8020338977b10245b0f41c8bb6e3c833cf0956e5bdadef11d8dbd4b77f9b6a198b5a218b10d0ce75171a7c1df60aeb39c44a91ba1ed5edc18b40c9824ac2d9a7a53932889ad546c987a9fbfce293396d66248317fe589b79119b294cef8c329c86c33fe5535cace653807c984069b1dab81206f76b73d6d4ae416b24344a2f8b5599243426ab5c72f86215328b55e9659f1944420f210172ae171ccdf6e2493511677d46d4c6d5c65531f37ec5d5fe3655043eadfcca17bff8c5a7f5bdc7fc9ffffce797114f0eba66c4b3d4fec4736243dc6bbdf9e69b7ff8877f28dffde4273ff1dfd21050fff8c73ffed8c73ef6b39ffd8c3f74d5afbcf2ca873ef4a19ffef4a7d1fffccfff8cc0214f0c3f5dc268c20464497612b300bcbfc1573efce10f5331e2e84693e1039b74d9417ffce31fa7aea98c3c3aa68dca58f9896e2cbdc3673f9b17df72db106cf204914dbee96247ad8c1d329ac6ca1f628bd562353130312f4884dcc6d5ae41086cbe6a5fd8dcbefba0fdda7ed1265b922c362efb3281c56ab1dae7ab62c04a79a99e453d3b7df4a31f356be53bdff94e841a1ad588575f7db5a7fa2f7de94b9ffad4a71c2574a91f2d67d7d011ea5fa28c27742ff43411ef46d9dbd4b77f9b0adf79a986d0f490e1b4d6fb95fb772da74cba233fbadedea195ec2092e9ad5ec39d74367b11d8b8e9668711cdb4ce1a337ec6d1e4393cfe3cca6fdc19fdc1c6dbf781f9506f5df936a672a071d5e7588bd562b57105815d83e507c964f355396173fb991b274b80e5a4172b0b679f19e6b9a23432cf18c317336865b102c2f96cb658c92140f8a03c8bbac7dadfa63e2ce547aafd6deaed379693e3d0129f22becfdce7fbebeda3eabecb4e069d2e9a30da92687f8d0e6ff2f8239f8cbadf96e0471b71743388932e3b64d0f1355b810832d9497764c8a795caf031f9a69e714926139f1d051d41b2df199299f9eaca0ea6b2582d561b5710685dcc5adb352839802564ca129bafc2040ee26422646266b182ccb9bf0064b112273051ef33c3c4466b4778b48e2cab9e4f162b98f4fcb958890d51516ca0013271e299bf54fc9c60e553dbf23404f636f5c96f53ed8502174c4259644f7de187a3f82e4b92c4a9995602f119491d31fc84e3a31b54ef0847ab4f99fc9981b23675ba5cba8c7bcaa393ef4c3ef33a650824d61a66f0f47fe8d1cdaba92ffc86cb3e7ab12a42aa17abe250606c5ced1a2c064e1c4a44c263f3157036b78b872241fe3ce3a45da67af7c159478b15048a9933363035c5897ab16a1d9d382c568547981427389373de3dacf6b7a9c5dea3f5dea63e391fcebb9609536b58507a3e4014af13b598dec174de68a9a785831f4d389ac0c99f8f011f3def47d17cc0548c3bbac63aef4b874fac7b4e8af9a9c6cc3eadbc4d3e26fbf149ce58bac88c62329a127abaa71d74ba8854e2a0f301917c35e38bd562250c36ae760d6ebe2a4f4e0edfdc6e51b48fec3e689b502636f699619fafac0e21d173dd3e5f85867a9e4b5fbc6751b3db728fc0dea6bef1faebaffb4d706f1fc53d8ca203ab5c89d6856f4ff56c81596f5b6cfc38175d023875a9471e2d01a9998a995934e2e4a31fb59f3f7a53c9253687d0954c992efb098c18dddc1b0ead93ceb7477d58ac162b31b071250c760d4e1e7b3457606ebe2a4840b158b5adccd67362b2fb2070f6994148281327113890f17cf2d0f9641d2d56a1b1585d62a33869df014e89e5b9c5cadf9edcdfa6f6e9dcd77b9bfae4ff172da6ddf914eb9e247a670332818e16e5c53a0e82bc82993ca2fb224cf2019d80f7c4233f774abad824990c7e2aace1f71cc3a6824f469d6f4ca1f3a72e7cf268059f70f2689ce44786247f92d7853ff273d7914cbafcc907c2887cc8fed0e41b8bca62156e8bd5c69548d835b8f94a9e1409cae676c1505a80890c59d31ad97d709f198a07b5953271a2b9cf57fb7c5548bcd8cfa2b71d62cb5310d8dbd4db6f53bdc9281bca08f6517b86fc38b4ae414f2fbe26428d965247607a93d7951d044e62c98fe4a8e318774c0d1f51ee9eb1d25537caf06baaa9345cc4d08c8fd9192e4e75964f3a0e0b17f9f83117ab416362a38ff282e4c695085cac8a8afb357546cb4987d8bdfc20b971b571b5b97df7c1492c887d66682f1e4c64cb7dbe6a8df440a83e7799699e1b0d5a190c37ae662f1e4cfea3e26a7f9b5ab03d5aefff9bfae6effffeeffbbfaadc25fa7f418b39ef7aa341e6ff0b6d6dfbbfcefabf4cc9f47fa0e94538e2e2cb80fef3225f1ef67f3d9127831e3b64b283ef7f4b6b14ff0352ff0912230a0be4d5fd3fa568f6394666fe7fd4c6ca37a3d0ca07cf28f3ffa662126b144425263ffd3fab5438e01d36193e372fde2a387050631223cf017c4df20f22b76f472f568bd5c69545b46b70f39585b0b97df697dd07ed9bfbccb0cf0cfb7c25279416f659d41e316787a73d3378cedfff3755f27cb4ec6deadbb7a917803c86e274e68c4860f8d34cc60eed088779bea33a85d1a70cc9e447e534183d75efb152cffe8c823977b60c1a853fc95347ab6bce5c868f483e99fcb9f8c9f8fdb8e4cf424573ec3728cef0136eac8bfdf1f914bec8505face613bfe0bc5841204ccef5b571358b0e712ec9c56a52cd108b95f55286098aa907a22116abc5aa7c32012336cedcbbcf0c977c6bc92c5613333daf964f20b358c9277b9b3a3bce3db1bf4dbdfdad5dcb4612810e5a1ded7d18bab5848ed015ff94afcbfd27029f357664edd14d18271966c9a0e3131b0770665c7c769221909666f635956caa4f7ef469a7bb590649defb4f3e950866f38dbcf543de8839b95805519f177ab182c0c695f5b26b50186cbeb21c2487cded6d28bb0f8a0750dcefb9164b7b0762b1824f802c563d5a880d6ba7e051173f41b458c1014a2fdeb3a80f7acba308ec6dea93db54710fa0deeb58061e3a9dd0824cea449723ce1742238fd07b76a1933fed2493b5b16cdc519c11d3cdfe498f27d9673c7532279d41eae4c77ea3cfb8c63a3db9e79fe3669f4c5a8b55d80e868bd57dfcc4b9e72f56f7982c5683c9e6abcdedbb0f9e08888773a73ef7f4937fc9ab2da8d1d5bb7175a23af89cb885e762b571f5de3fb7ef6deaf91474a1f736f5c959ce3b2a793c74d0653409cb3b9b68bdf31ecbb3145a2813482645cb7bee2d93c7c7547aafacc91a95989aa74d32f899c28f30cad0c625d37ea3b7b1a8e0749f930a1943a0f3335a33a221c8e40966f2f8d94ff2f41f67c6caa65e4c856f8bd562251236ae760d0a83cd5716426b6173bbcde5cc8d60b1d7881071b2fb20101498b4b72e56e77a41eff395f0d8e7abcbba80c98bfa2c7a4b075b1e43606f53df78edb5d7fce2df6e6a3dc88c8e614343acdd14bfc3984d250e19346132e8b06d45a93553c96676c823c67e2ae96616e7d4ad39029af970f24725b11cc0bc94e1675f2f79f4395fcc99e6a8a77871ef5e972295c50a328bd5c6558b711651444b098d8873bf8ef0770d0651182e56d0182836aeda43771f1415978d66f2c6e499c56ad6ce6235cf663041171bfb2c0a0da525d35ed33a42cf33ed7b83953fb3b4ff6f6a1fc77dbdb7a9b7f755b67fb1282ee7bd26a4e69d0dda7a2e88d1bd0f9e669852c761a7f86633be9a1dea04d4a7fd91a182af26c3023e498a38684cb4cc920c1a073ff964789e58bdd1fcd4ac8c7cf667be33100b64ca5fd4bb5f659c24ba1cc71499d13de712ddb86c526cdcc50a261b571b57ad9dd6ecaec1cd57e5ed12e6e6f6360b98ec3e181470b08d0a0ff5b9cfda7f17ab9e55c241bd58cde35698081b1cbb8c7ab11a709ef367d189e725ee11d8dbd4b77f9b6a49f73c0d26db83758eb0e631234e264efc5306ad9423e6116498d92f77a41b4d40b3e5343269956b2ef4f8c99f6802335c44aea2117ad939e9c61d190243f384e4f81308a7cfd9191f46371f9a573203a0aef8a70c5a6139dfd02333c30d91a44113c347e443b4263bf7f4f86982d124b9979d88993b223bf93f36298e0ce6d01c26a96edcc50a0e8b555171c6c9c65598c061d7e07d8e9a3c83089ff2cf62b5581503e5558b4884442366df19194c65f7c159388b1504f6f9aa07364ba3e7bdd651cda135df5facf6b7a93e82a795bd4dbd4567e888e6e278de5f6aa209f4dcd0bb4c4d92f8987545331247964468a68b20469756030d5f0641e313d035ef4a5918bac34f8ac3cf3e66bab9944cbe91ac39762c48f458332e81f1937c46bc738a9f6433c2c9e7fcd434cae86ae26b2683d0dbb8d9c4cf4e32ea86d06bdc9ae9668a2e0b6865f88bd562b57165c9282d8d5d8310d87c251836b78b849606625687bd63f74108b417b7cf0267b11a4ca0314f44e8e12f56c5cc89c962f5ae3e8b8277cbd310d8dbd4375e7ffdf5575e790540939becfa3d0b96c2e6b950934cbdd1b424fda135f5aaa94879e8533e6632f7748af990cdc61d3b639c4c9bb17193d18556d7953f19c13cc7d28c93cc78989fd5c9dffb403181889ba1e39d6e0e9cfe8cb5c6229c4dfc07d5c5eac979633e0be82d56131bc5d2c65538940780b36bf092b5e0039ccd572d9cc9211794261b2f566db5e05aacca27b32f47848c38412c564050da862ca2c5aae7b7022340c2a77d6ab10a87f6eb67c7ca7b81fd6dea6da53d56f636f5ed7b4209c8fb122889b3727441861643eae2cffb7b392b3af9c4a82bd1419dcc58a345401719f4e80e4d92007ea3376ef2f1332e419cef474fdfd225960c834ae3e2a075cdfd030e3a97d4d1648c7bf1416f43e3df2cbee5e762b5586d5c5905bb0681b0f9aa5c3df95cce1c7a72269416ab369d139f935eac20509cb4776f5c4140cc283d87682a50aa5eace0e0d94c1d3e8b1528da8fd4c5c973fedccee12d4f43606f536fbf4df594693fb0c23d738754f4ec16f14b016884444092969ad810c33c655a27c9246ff164e7d1ba7167504443cc408c9cf635957a4f7e76b86a683499c64d38fab479f2d135676a276194dc2313dd589ae376f4e9cfc5a066364f99fc8c9ffc627562b2586d5cb5665b77d050a2770d860c402ec462152693ffef211ace62b558ed338355703ee39dab63f8e5dbc56ab12a67160ff300fc0b3db7ef6f532db1a795bd4dbd2163f39e7b45013734be7754652562438bbf4eb6e25241ab09cce1aaa8c5bf597f28684c64f26c6aaa1b2b795d8538b1de8de19051f304937df29ae8f1812e0e3e99ec182bf9ecd0c257e3372e3e9a85f874339265bd4a3623d0e33fcbf9ac8bd6d0f8838faea1c74f46b2a326b058f92ce0a02c5640d8b8da35d85ad87c3539b390d8dc6ecbd87db0bd5bdd9e2b36c40964d4b75d649f19f6f96a9f451f9ea93e88cfa22de1ad1f45606f536fbf4dfde77ffe67cf461d9f847879bf6d006a884e149dac6af62ca557577c340bf159b8a88fee697c644edd7b83f9708ef5341f9a4263a19b4b4ceaf8a700ce94530673741b08275d06732ff9c56ab19ad888509f65e36ad7a078d87c257f0e082d104ba3448d8f33697fc42efc96522ae88dab8dab42680266e30a14fb7c758641809cb09c7966b17a7eb0daff37b5cfe2d17a6f539fdc5b5ac900eabeb10702eb19a158ccf87ad1c4ce739a7bb0ce6ff8bdf32646a0f79d0fdab7ff0bce23c5d0d93965d2c5afccbd257e743e64878c6674ce9cf6f3139f0cda2868a3a3f3419d85c6e227493235ab3547176774d1c652279f0c751c032194c52a9c172bc1b07135eb68d72004c48344b1f9aa142a360052ce0c137ccde8c52a7c16abf65c81b1cf0c3dbd9c38cc7a4144b7884e194bc9730e7e65e36ab1b2a69ec3e7f6b72274ffbd22b0b7a9b7dfa67ee8431fb27425c15e2fa17b690d2d396e989af7323d4fe84aa526fae49f34e37d08ad1306a5d4e40d44b29a4ce3a6dbb839964c76867fda449ffce8d38784679aba1aee1c6b98ba48666414a73946745159ac16ab098909a18dab5d83a2428a088768cd72e085bf582d566d259340da5c6c94133fb3632e568b55fbcb994f861630fb7c75e273d2973cbc589555044cf1f35e62b5bf4d85f9d3cadea6dece60cadc7b084d34bce27bef82d0b4864ffed01dccc4772abda76164104f9dfc3c93e91aba77a5ad07925648f2f89868f61b2b1fe2e862617c18df665076c8c4cf439cb19365c2aca17529a31b1fa7b99331d6d09aece8a5a88c0ff8c9501f7f30959159acc216268b151036ae8a07ebe8b602770d3ee4d8cd579bdbad05f9c1ea9027ad0ef4ee83a26230814c490367b18286678cc1477368f1b35841a052fc2c56e513988813b5a638415b534f907a60a2df63ac66f4254e04f636f58dd75e7bed231ff9885db018ed2149e03a6b0d0db2021a315d88e1a347203b368fe10ce2f7620dd19693fcd0d9a14b26c5ea04c6bd319e7c0631672c04e1f1e7e4136b50ccec4c33fb099f2af1cfb1f48e33d999894fd7c9478f4076c6b799cbe93ffa1c0e3df243274072b15aac2660264e70a6dc87dfae41e02c5640d87c652d9c096400091cf5a4eee9420c1f3d02d9d9b8dab8da6786d6c8b94cf6f9aa7551bab8e4105dca74bd0c58390fefff9bdae77e5fffca17bff8c57beefbc2f9f9cf7f7e19f7e4a06b463c4bed47c9890d71aff5e69b6ffeeeeffeee473ffad10f3f941ffff8c77cf01795d43ffde94f2d0f2ad4c550f4cf7ef6335df672040e194ddf19c6195db477331ffbd8c7e812fbc94f7e924d66d989a64246ad9061e7e31fffb87d9d4aba98ecd8e38dfeca2bafd06527194c76d8b7b6e3f364fccf4f76f23f3fd9cc88e1862f0b505774c5679f7bdc20c37e53332f34fb9a7c70a49fb19a8b3a9b8bd56225de36ae760dca2a9baf36b7ef3ed833802d729f193c36cc33d23e33ecf3d53e8b9ecfedf28363084c94ef7ce73b116a2ba51af1eaabafca279effbff4a52f7dea539fb2a074f5347e5f9f5d4347a87f89329ed0bdd0d344bc1b656f536fbf4d75141425f3261821807020eeccd6fb60044e757c751c02684fe7bd138a2699805a996604ce8cd8b823a02b3be3c3f873e18f4a7c8af94071eca3c7ffd34f92d4f39ff029d3b8f5eaaa4c33c2882ce81adfd0bac6ce621520f3292f561b572d1091d03add35180e9bafca1202a33552ea500f7f6266b11a4c162bf9a420515f9e0d665fbef04725fec655d0154b8b1504da9536ae20a0cc7a89c09927baff58acf6b7a90f783f5eed6f539fe4f7f95b70c2d15da558440844ef83addba23319ccf821ea60d61d2979c90ead46b340974c763a226a22f08b75926c26af2b79c6b3930cf50652c7670153c926223e01baa71d9e8f0face527197ce3a69e3fe99e32f864083f0cf5ff8d6f24c301a16bb102d16255fc6c5c85837ad6cbae41aba31c8228696cbedadc2e18ac9170100fbb0f5a23d098fdba6dc57a51162b20c0a7bca15eac7a0613244a31539cecb3a8d808133b2f4caca90f0a56bcddf228027b9bfaf66f530124bed5c5774df4856919d8364666601d3e02d3f2c8827a84999264eb1af92c688e4af2d969ac7cc8d4488efde123923f75d1988d9b03c48c95cdf8a7fc39d62973d233f439357432c36ce869d2aa0cbf7167e27a4798a9c50a208bd5c6953098f53b34e2b2dc3417abc1277026872c56131b201a7ae3ea8c93f6a3fb3df79439e95d838b551bf4ac2384a8d8e72b20ecb368b9a27c2b4e7ad09da4317c84f70bfbdb54383c5af636f5161f458f3042cb32c5967730f6f2f62d7c84a26bee49d097f73493a1c8240ff4d1c541e35054c83456662de951d18bc62133cf13f9d6a7d8b864ce0ff5943fe97c1849369bafd1f3273b54f27fe4f18d4e863c3af9c50a3e8b95109d3829b436ae0a8c59b3bb06279f6cbe923f1511b2b91d0ebb0f0a0345ae688dd855d10f31720b12f8442f562d99c56a9f455fec675171bee56908ec6deadbff6f2a8cac04b59c68f3e86ca6d9c1ec9eef31943c615d4a7924661c7b0c82fa181c7e36e327a31e318aece08cfdfc49263e9971ecd4452bd39ba9f16de635ba491a9acca91b7f6a5da3425833f9d3e78bcc8c85bf580161b112421351d19798d1dcb802c205a5c56a924fc86cbe2a48caab30414cbe5dac2e082c56e5d5d60eba32fb51cde92d9cf69961a2083e8b9578000228f659b46000451132b1d1c2c1ff25b0dadfa6c2ed69656f536fc8082fef2f2d3f01a7a0edfa085dde71aad16410f808d139ef4169e197d311f31e94cae892892630a18ca035fc74b3afce1f4cba6884924bf9c987bc6227fec8d48ccf7e6b269b69a9dd6f1053f0d1645247ebcdc97ad5ba8845e8ca374d053d5d335f32a92058c30fa5eac50a388b95e0d9b87a5843bb066f9120574063f31510cad2000913e0548a1674fcc56ab16aff150fedefb3cfee33034cf6f90a084a7955de4088909e3d4a23c22662b17a7fb1f2296c791a027b9bfac6ebafbfeebf4fb04a5bc390ea29a18cdf992da65a28e38466f2d38c39327a3b8f652dfbc9a0139323922959c41f0bc61afe692d1faae367f6f4e7d2ab8b4c3eccbc2e3e34d3ea1c23904d447c445d27ffa48d9bb03a1f104a328cd49cfaf4f3a4c927b3582d56137bc5cfc6d5aec16260eacd579bdb67f73cf79a734f9148db5616abc5aa3d45de1015c5837af249bd6a01b3582d56efc1b3a8f74afbdbd479d6bd107b9b7abbd7727293a1e63d135a6e9a774e2093ce301584cc151dbf26da3d243e62b25bf2f8987589c54e89b4b29f4c7ccc0a0b19ef9d68bad921c087ee3cd1fc9c71f33f6116f09b17b1eceb6a5e338bf1c17059462833eec863d25aac8277b182c3c6d5acf45d83e587c91b9a3051b752d08b152894cdeda2a2fda8f0983dc8fe123fa016abf69ac52a1c26c74e26c1ef5948202d56f350078dc50a080a4c048632e0a0e34b2fd1cf09560ffe6ef538027b9b7afb6d6a3b410f10702a7c6b16e24e6bc25aad599674021c795d3553b42492c73ce9e4b333f5d889d3a7d4a06876f267ec24107fc6450c3fddf1e7de4992c99f328d9e6ec63358dd40e3c3f8acb72937caa88f35fc74efdd48f1b479d2c96767ea19374ebe35287ab182c062b57135eb483c4063d7e0e48dcd579bdb65c88907b490a8392ba555d3226a8b993add595f6367e36ae36ae3aae5d09ab222661d9debaba5b458dd63b5bf4d9d347b4ffcca17bff8c57beefbc2f9f9cf7f7e19f7e4a06b463c4bfd2ffff22f890d71aff5e69b6ffedeeffdde473ef291dee97ee843b773bb7d880afac31ffef0cf7ef6335ebdf2ca2b9a6892d69815884e3881e429fef4a73f25ec5bc4b4d01ffbd8c74e0134dd2cb4561b978a82431161dc9ffce4270fbc57d8c942df4cc6679393984ed77c38f9983ca1923f881ffff8c79604799eeb65b3fd38df8c88ef7d52363dd1b24f2b37f0a3f9cc0e5d7cd6162b782e561b57bb064b149bafbef295af7cf39bdffcd18f7ef4ad6f7dabfa873ffce1d7bffef5ef7def7b3ff8c10f7eebb77e4ba82c56b3314163f7c17d66d8e7ab7dbef21cb5cfa2f2a147ca8f7ef4a39ee795ef7ce73b116a11528d78f5d5578939657ce94b5ffad4a73e65f9e8523f5aceaea123d4bf44194fe85ee86922de8db2b7a94f6e53ed9a9ddfe6ad6a70e323307b875a6f5dce7888de8b24101d3fc574d556a35a5732d1a7cc08e8ba97c9beae7b7f3816ff94c987f80d7afadf2cd4041a37ddf1df28c964e7e4e34cef29f3a86f19d775dab98c358a085dea81e21e87644640f35e26fbba16ab3e20509cf8d73cc159ac20b05801211cd4b3c4eed7573223a0792ff3b2adc1bffccbbff4be0f0e9e180022d9a2118ad3c8e73fff7980ec1a84c684cd7dcce8dd35788b98dd071f4038d74bf9a49889dffeb5583d40f5aff6f7c50a26e7e30d7a128baee733ae6c13fbdbd482f9bededfa6debec73f8f1468fba8388e532dc4bb3f0c3e3205baa6fbcce4eb6a0fb62af0c954e87a6a6144c147c74f86223e194c74ab8b0c1a67ec68a21356936feda1157ea68ece024ef2f8e8e4d12c77476a50343e82562322c8b03038e0287a13c30f13cc918953dd5c1e946e1599718c3f8bd56275c6c0c6d507740dfa6e852f29d9599dcdd496b61ac77b71754bfe65cb572e4b81a056a441b504e8e5b737e50a7a737beb1d3862032d4e14b41a3eed1dd18bd5622524c4c6b95fecf3d53e5fb52ec4c60bf62c6a465b9e86c0dea6de6e533d5e88feb64689005835a335cf5c49ec94695b25137fece0e34c9d805aa15ec23d75d1ce30c37f07ddf12daf4866538d73fa8c1e7f4e9f6f4ebc55f2309792d7d35c7246736611ff519bd9279c57994f1e9dca39dfc6caf9d37e32f129e618e2d4452f56205aac36ae5a77e1f09eadc1fff7fffe9f2f26f5f3046bd331acdf1454fb6ed2673ffb597c6596790b59c4b6b473f585c9575ffbdad77ef5577fd555aa7369df89ea980a01288546e93404a62670e6baf91ccba22f2456e77c07935bac3c400199cded208243803c00b3fbe03e5fdd9e4b953243b4382991ee3e78e210fdc1c26a7f9b5a483f5aef6dea930729efed04b7220bb8630456fb045a0ac0ef1e6c40ec7e125fa6a01b9f64ef86933fdff78c0cb3d91f5d96db9b878f936e3e8c6f9a86483e0fa3e3c7c97f62c3c437164ef6f135cf7b4ef4c818ab3d921d7c92e4f3e794c15716abc56ae3ea255c83b2c4273ef1895ffbb55ffbe4273ff9ebbffeeb9ff9cc671cd2d498bff99bbf695138adc90fa5a097275f399a96e74dbf5ff2cb9098e8cdedb60f257c10626330690f2d4ed4c347ef3eb8584dccd86bd03dc04c6cdca26ae3eae1bcda3a0a90c50a02f620711220d5720b94f09f37ac4e2797be20b0b7a96fffbfa99dbb0620d9102d9a2384bb670e9c93df1ac0a7abcbc2680d449cc2e8ec573332bae8b4b2a38e73a9592096cdbcaaf9340e7e3e1b913fd18d3bee91c99f88f8644e5d747c92271d1a384a2a79a5d95817feccf762679c192314f3aa3a9f3107994befa041727c089ce1d4cca591d78ca35eac16ab8d2b31602db4582e68ccfa25e336d57eff9ffff37feef2b093d8d4fe62907b455f517979d6e097bffc65bf2ceaef52c0a1dca81926bffddbbfddb97d32d8b9d64ecc4ffe2d373da4d6cd5783c0622524268a2e2bf444299a30e2695134f2049251ef3eb86b70e3eacc331734ce7dd00abaf4ce9a9a28b2a69e650dee6dea2d073da5ec6deaed0c26f28acbee156125f8bcb72b2235d1ed0d13be04f03dab511f3a799cdeffe1e3ccfb3f7cf693c74f9711f4f03527bee30f67ec087af2ad0743e47363a1112c342e9f355918ff6919576f62e4c910d0c46f39a59b9fea91472b7a17abc56ae3ea655e837e9bea00e6e82575cce9b40c89234bc8242f55be0282dfe55a14308183b9b740c2446fcdcded70101ed68e1a6d37914bd1c2063d7ccdc56ab12a365a3b3d87945eac2f44f1337966e3aa350599c50a088ad82803f7c86a579a587adeb0cae1ad1f45606f539ffca55fe8d8268be9a2195d4ceb8a4f40707796bbc47d7ccc91a18b3936437f2cd7cc083afec8d36df4eae1936c88f107676884e6396e7630e3ab476668c439170233baaee675da4978e6353322435e197fd2c539ed6bc66f22631f31366f56dec22487353332fc911f6ff37cf8a98c4d04cef89659ba237fceb1b98c4c8a6ae59c4b2356eb626ad078907d223c3e4c6ff6c9d03d71b8d81f9ba7cce9f305931c1e23888dabf97c17ab89877f7f5c759bea97a842ce9d6177aa53ffd7fffa5f3ffef18ff713cd4277e2dcd04317ae673ca363126b8d8c4c8a6aa58ff25c4dc4927fbfd6e05ffdd55ff9f273b7a939e9681ae11bbf6e531d62cb03cd71ea89cfe635b962f3559fe9592f5613fc88cded130f9bdb271e10e5c0126fb46cb358592fb37c5a3bcf15567b9beae3785ad9dbd4db438fa8f5dec54a2edff54e178d33ef7ac9cc3baad0f424913c3ece3d7d79e73732ec13565820a32e8f8cbc71c707fbf4f8462519046bf9961d342368bac9e4243b88ece7273a5dc2d163b371e7998f7cbee1b093fdc50a7ae10c93c5aa35528c6d5cb5465ef835387fd2d627ee74daacd5ce668e6aa6af5823cae4966223beacf2e2e52b533347530682223354c307110e2022b6b91d4ab082c32d44761f3c9e1f264e7a3628a216abc1a167183183b35801a1225ac2e4c4e7a417abb7a0ba5d473d87588d7b4bdc23b0b7a96fbcf6da6b1ead9cbea0e331c2e305421ce3d42ca605f79c493c6ae83df9a3721a412b9942b0f6c078729f10dd28198c33f2a3924bf5c6ec91281f722c7e1eaa4fdf7a362230638d0ab1a1131b99911f9b38992533c3c54ceb7e5cbd8bd562550c5ce270e30a022d9f0fdc1afce637bfe9e8f5b18f7d8cff08178608c5914ced7f1ef7b35547d907de9377646859e2927026063ee8f9ca6f535d209b8ead04204d1c2c9de1bff0852f94fc4db3e449204e31907ccccdeda1b1584d9020c4496b04dd6e5b525dac264e5a508b15044e4cce0c73f28b9c8dab1393f711abbd4d2d201fadf736f5ed7772d25ceff8cb77bdf38ef62e6ad6339979dec2efa942aca3092b24e92220aeee3d16017cbab312f03d9e9261014d2095ecf46991d78bafb0994116c6260b04e8264f26fbf82373ca2776fa3cf68d452b53749b23f938c3cf07fe907ff0eb36cdc5ea4469b1123f1b572ff01af43fd0f87c3b943a9545c8033e7739c101f525cc57e6ee8c0a040526e56138a0c185c00f9f0791b7ffaec14b88d5ee8362c036513c0800d1b2cf0ced9b62639faf84c43e5fcd73d4cbf02cdaa6b0f5a308ec6deadbbf4db518da3c3c5f22ec1c3d5b7820d375d2d64f2b67d6cfe84650274f11315dcc66539d85d3662a8dab9e42f2f487cdecb48689659f2966d3ca78f4f0f327dd7bb1111e9f3332358199c8499fbee12f567d2e8b5511555dec15361351205aac42e3038795dfa6fee4273f29c8e76cd62c9cca3efde94fbb68c53f734e9f7531a09ebc843e4118fea99be5532c4e32e862e9ac63aa1b3757d1ef52befa9bbff99bf32ffd768f6a741ea23ff7b9cf39a96a4e8a462b177f36b7f731010d388b55e1010780a835e11338edb3505aaccea5bd5809890124a22099e73acd8d2bc800e1b9c26a6f537d1c4f2b7b9bfaf6b3828caf88604bba5d016ade6979b2c1c744e314dfde7de2b77378278a4f06071f13cd023e6be8d067219accac93ec5351d06410c4c8cc588dab99cd7c3356f61b3a198ad47b479b1dfc064d374f74297c48d758c9d4db7cf5e6c374655c6f5a9a6416ab7058ac44c5c6554b030e2ff61a343b0bbf39769b6acae68e2e0cd4ca7f6cbeca9af3de7b9caf4cca3384d3a6714dd37acf13d90fdd4cc9f425670224c3013e24d17cfe0fc9edfec0f23ffdd33fb1961bef596e374d2f26e6bd437b4d9f384cec086868982f3408e3bc0356bb0f2e56d645f123967ade10151b5730d9e7ab49aa9249b161bdc827e596f22d99170cabe6b5f5a308ec6deaedff4df560019df2a685510e8d885feec0b73ce453cb66e4a3355b5dc968222eba9a9742a5b1f0c7e68cc59f317ed2f9904afce9cd60a3608eccd84ff79c63d3893f3e6441133f3a3f4f4cf04f3bf7f3bdb739d3c92c952158e3f0ccbd41cf9ae46205907b9c4f94a217ab8dab42050efffe7cc542e7ae89ab1ffce007bee8ebca14bf807486419748fda55f67b6d63237f28198fbc667cf57d43db6fee33ffea383595f2a760ac21ccbfe6b567f5c974d96bbd1fd8fca571cfedef7bef7a31ffd88f3e66e74c51066c701237ef2939ff4578ecf7cf5977ff997bffaabbfcaa516a03a9570ebb7a9a77c38247cd261856f2eeeaba9bff9e69b6a85277ca838a91acbaf61f3a73f329c2e0e401aab8f3e7eb917bf41df012b4f84e64e17d47c302215351f58563efad18f1a1de13fc865279bd9276938b5de2134f327befa5248923fed9cf2e8317ed2cd8ba97c981a27838d32668748c004fffd5865f3b46322ece36322c2a10f22be7aa633100d71d1d5bc94a676cee51c0b3dc64f9a161f981a94a637838d82393211ea74cf39369df80d97622af808a5cf3445cd644e3b8bd56275c6c3cb1c5776373b8bbc2ad3fee99ffe69797e72afe56343f9833ff80339d93bd33ff9933ff99ddff91dcba73c8c388b7d4a5357447402c9abef8bb162ced09a43e7090e4fa2cf7a988877a3fcca17bff8c577c3ee2f61d3c770d13a39e89a11cf52fb44131be25ecb43c0fffa5fffcb52b1f14bb8edcaf663348e4fa28fca03135ae1216b04448066ffcd001929185fc1a78820a364273e191c028c44c7c7312ea65e9e18cb33102368afcff10d94c174cdc2b89e51e4b8f8e912b3ced504a88b7bcf9168d66eae3cfc114ec18a685cc4d8a1d853a0b9e08f2ecb3377bae8c56ab1dab87aa9d6e03ffcc33f7ced6b5f733475a5e60ce3dca89655e40a3941ae9097e4a2681903e7fbdfff3e2d623f7c2868f252d6b3e42bf9e71bdff886bfd2441dce469145e98a3a037de2139fd02c13b2c619474ab5b3b1d4f7efcc57d2b2a1ffeffffdbf12af65eee4a9f0dcd006f577a1f843c6ec9c9f1d0ecbc09cf9f6b7bfad564ac51ccb73ce4bc59e3fcae7cf98db6971e35bdffa16c00da1c9018743ce2064602efddaaffd1ac00dc7130ec31c4406fda573bba3a9591bd727c626e3f064d370c635778527dc685c33e25e3b94418b07e0a015501040f83495dd0781001390ee33c3c4033444947a9e31c47331b358edb3a8d8102a2fc9b3a8d42db55a0bca77bef39d08b515518d78f5d55789d998bef4a52ff93b85ad1df5a385d6f0878e50ff12653ca17ba1a7897837ca1e53dffca33ffa239fbdadd7b66a572e87da6edb59356dc0e83e1b9f812666db30795abaa8c747cbb3e4c910d6bcf0593e653235f28d25bcc850f7504280f16ca6ab49dee38b7825936f989a68baa6939de64552934132cdab41d5fc67814a3479d3c1c14f5757f619e7c3f017abc56ae3ea2559831e2245bb53997d5426715ce9bdaf4421a5f44059be72a49125240d4ce728b50c96bc5a26298f958beef39527f8ef7ef7bb8e7c2c50370afb2c34105da3a3a9f38733c4d008961dae24a50e5498bf44be720e37ba77d58636a8d18d6508851b466716c770e685e314adabd4eaa82c378a877c23405e2110146892e5e7ec3c9adbb9edcd2904cc851bcedec4289a2f6c530cf37cc3615341f02131f2bf506e3796114ddf69df2826e8ba98dbcce6b679211af706c7032046c1212f3c3c522b1cc66974fe506181277d6417feee838b95c0131e02a30016274a7122fcf45a536ab1b4582d56d24e71f24be4f6e73fae4c4ae215eaca1e531f32c1dbd51e53dffcc33ffc4329c01392ccd89e3a3bab8dd6bb1c68e14894bd0bf728807f4ad2f530612f4f66ecd015739a8ab7ce72aebdd9be2e22d5ecc8c87677f689b1d9402c93e752a3f41cc03e8e55dadb6bf28cb0ff60fb26cc879e932c664d02084390472b8c8f0fec78c66293809265be35dfec980b997c43f3135fb3b18c7b22c07eba4d61b15aac36ae2c8a17630d3a015ad796bc756df997137cbe08ab5e314dd90f074d465e92b570a8943f4181af895097432ef9ca6dded7bffe75b5f3a1aeeccc336b99d3884a96e51f23aac9601ad109d335a0a6fcf60be52bfefbd6ae7447d7594bb384c6ece46a4c73519b23be7179d8acd586a6d2acf109a8072b33a2454569fa352fb9fdeffffeef214046663605bd86639c0f1c33594368aa1543f0e7a4bd080858589905790587a977c8ed3c79e38d3788515718346e73acc661875746c40907b3d0c4c7315305ed72d5bb0c84a6bd924c5af9a9a9cc1e6494c1d6ec761f5cacf6f9ca9a6a095b29c543b53568a1954b715a5fe504fc53729f453fa05849ec7b4c15ff8f96db0ef468c7bbc49ce122ceda7a3328ce149c93aea9be2f3e634cf54958bd3111759d755d76e83ffee33fb6fedbcb3960fb9405eceb4307055dfce8ea9e9cecb5f7ba1921462be16cb637278fd6854f861134fe49b31f67fc4926df861e3b275f6f43dfdbd7a5c457d74c37b7536c5ee87bc9fbf932926ed6d28a1efb0416ab13e7c5ea8c13c86c5c0989e7700df65ddfdebc746829457896929f879666e390e9c9c974e679cb3da79f323a8d9820beac72e62bef8f5d06daa79daff48e4df63595c655d7cc3e23f131a9cce8c6725e4af259e2ea6ffff66f3d221bda93dfd82fef8dff8d65dc0862e39bb1fca5dffff25ffe0b66f264d0f9c6b1dffeeddfcedae4f9bcd2851f0e2e725d6652e186fa62e7c473861efb8d3bfee05f1020f0685c39737ef5ab5fb5fd394837e2fd7ce9ce941b9a7dc49430097fbbaa6fa381b179352849bdc90f7ff68289073283cf49df63c5d4e48aa1c74e78c65737b4714f9b31f5c657a395741fc5ea5e727c48fed4cd9a51c6721c328467ee98a31b8173fa76912743204f16abc50a02954b9c606e5c85cc07650dca9c92b0842cbbee6f539f84f55bffbcfd271fdee2bc74ff7a896ebf69da366cd95f64e3a0634a010abe1ae7a175fb7b8f6430a583916fffc0f7d093240ebabd2a3e7916d4c9ccb808761834aedef833624d16c8a0f3ad5e2ad98f3f32eceb22af379bc9376e7c73c7546835443e908943b73b557c628bd562b571652dbc6c6bb01c528a50776aea8cda29a5aef8d538ce3c9d9de2b828c0bccf577e86ea9bae7668b77904ecd3d94cab5cc70ebed587a9b0dc88f940264e32aeecdcca3e63be72c2745d2cdd395c659c4dd6ca90d1f82c47e74f1c34beacc8733494f01fc5aabc4ae6d1dcee94ee8cea12d5934ad1c58e09a2d96fa63883273bbaf8a3b71193c7278c6f913af742407987dcfe95af7cc53d702f20480eaaac651f27cbcc22147cf534c304d3acd13e445f1e46e318b7bd86651cb49a62fcdd07e150cc2c5622445a500b0fb5122698e2247ab11a70162b11f2823d8bfa70b73c0d81bd4dbddda67a93d1ceda3e6a0d488ec39125d131258876fd98c1aa0b818f89182371b293e4d0c98ce58b4dfc73a093a668b8e4b3a94e1ed188e4f31fe7f46dec0c330b63f0b4934c7612c8dbb3cefe62b5581590e130c159d808928d2b20ccdafcc061e510e51991db732eea3c53d3d4103ee2619e74e7285dce42bff11bbfa1eb120f0ea8bee9ea0f237546ed0844feb4394cba8ae639168e6632d263233a73bae474f0336259b7942b26cf7ce580eaabb66e715d3f5edc7e18eac9813c7f703a34e640d357e3ab9dd0a293a937c9cf3dfcbfa9396094c9c3d10e8a7ce02a04666a8d9e656288c1a439e234e5e1234e267f00ce8de2adb10868b64ed1ae52a1d13784b99dcfd59922cc315d06e5b68dd22b0096596bb8113e8776a1aa77006784bc661321397432f59ee962f817ac662e04469ec10a3be4d18d88eeb3c669cac3cfce30531f83a79d64b29340de9e75f6cfb8aa973ce63985e675f14733fec57e5ee9626d64c6f209855efc73a0935eac16ab227f62a970dab88243c8ccfa7abfd6a05d606f537d0a8f96bd4dbde5f7f2b81a469a9ec96479f13a75ebd9fb60318dafa03111c9970759e8fd71587bdfc30281f88d8233bae87927444c93229be3091a873f8d55af9d4f53a18b8348063fdd79ef78f219c74f9eb7d9ac19cdcec8e05770d86cd638649ac578483799a9f367b15aac36ae5a0b70686dcefac2ff00ad418bdddfd47198b18f3ab4388470def9a4d9392ccdc1ac839323a26fc092f71780d40e4b9ace60e5c61393fe4aad638f5e066518160ca72696357c6748c5b1f3d39ffe747f55a833e1c83cc9560f098a9633929b5b475080bf43bef264e02297709f0582aee2f33228a2da749cb143e0377ff33739c05b59d1e804cc9d3c7fc8e38c2e9a0c9b7c73bae309a2fc8ca81721873ba352072c0bbc655321a917a1c63722041a1d9e50cddb7bace25334a88b4dbf55339632b1c760c5df2b861253ece3503117749f26970cf499cf7cc6876e68100582bf3689a3495299f952d76cbe06edb7a60db4fba04f53997ddfc7013718c2c727d8ba58acf6994160bc43be1242563119a1b258bd6058b5fcb77e1481bd4d7de3b5d75ef388103a12419b8735d0838526a65e0f9a65109c56086662a90cbea76e92995533428c1dfc88b4c6ce29af2b95911f95e15f6492cccfcb58e9524428cdc21c73fe623001353e81a9873f5d889caf2bfb8b55384c6004e0625590a827a28aaee14f1762e36ad6e6fbbe069d799c5e24169f8be27f4071f69036e76cd3f9c441858c73ac2e2a2453f1504ec0c987bc8fbefce0f3758fea3ce3e057de236f1432b731debabaecb78e541897af1c1ac9385f294eb946c1273c0e203a2fa93b243f187b1272e8892beafec2add1b3995633228620e96cacf0dc4071f8c001a3b80736af19ab998eff88c6a5f5dffedb7fd3db1c271584430838c6934f8541c243bbe97556347d1c5d3c495113c107f60d546f23f22d5711aea9cd2ec0f5525117575ffef297752921868fc88281fc9ed6d0e19c4aba99f2a9090062f939c3a58ef9dffffb7fd73b7be839f7fc2719261129f6d170ef94d795cac88fcaf02f3227da1c4e9e4d4474734137d6ee8310bbff5c162b084c8c159313991b5762e6c4e7a417abf2e499734e7c4e3aacf63615264f2b7b9bfae4ae12406d5dea088f2031051cda4e56ccd99ecbe9c4bcd32a5be9c27f50bd3d07a48ba095b56af2e9e2a309287487d6cbced8d43b16c8a01f349ed8cf1f9cf2855eba1964219bc66d2c3579bb32df7a4ca1959ff147bef962c6cff368f20843cca422b2834eb7b1882d568bd5c69575f1415f838e2b7e3ce9a8a6988b039e5a6c77582aff745e921f7411232f2d3c68dcfe477284730b1525793f1ff5ffa9f6c3c8c945645828cf3835392c9177364b971da3b0af4bed00894f578dafcc892b5afe795abe22e0b0ed1c8b20a336904faaf31e837c708275a3a8d7b5a48359b3e87e92589ed3ca37f2e9e63fbec22c7e343f2fb91d02ae7cd9016f7e92cc5afe48a78eb84e9286eeff50356b76609b3cffd325dfdcd58ce409c288b2fda36b900c60c98c6e8372c010ba4c1927ff2fb99d004ff41256c8e064aa688792e6cc9d303e4e357fc827996fbacc6868bd17acc60219347925fb035d3ee8a5ab177ff7c1c56ae3ea61adbcfd24b96b500e91194a11720540c2e4fdcd577d4c5bdf23f0f6abebfbbe7783d346c872c4597b8e898f59c1798bbc7d85a966c4a5968970d42761fb8c89a8ebaceb9abff42b6adbe4f8402c1a5196ef9d2ba6684617d324878fae5041908c183a4e66a9375c035567f9a4e3b030f20d518d19913fadba3c3cf9e3e158d31b3d354efee05c70d095e770789a4c93e2f962b558158dd51b5783c6b9aec1a2cceafb2062e578d9ff1c233f77223acf48ee061dbdf09b69b5f946345fc9e46b5ffb9ac7025f288d3f16b2e998e446ae03ea3b6025b7f3840a23d5c64504389a7d378ae52832f111ce87fec0afaff23a04363558a68b00004000494441542253f9903f7d5759979d220e5d446b3c0ef74041310b986802f930f5673ffbd9b4d4e75cfeeeeffece81930f243358cd088263dd4932ae996e02675c39a6f2a1d3a9de99c5cc857d5fd335ee99db89fdc55ffc85395219acc679f3fa1fffe37ff8740c9ac07d6ed7e57ff1619980b106014dc51b0437eaec041a0ef906aac619974e7ef8c439b13ae5d153c8444f5c693e0dabf8245339ed67e7697b5c3679b5fb60380364b12a7ece58ddb88289c068bdb4a6d067beda3558905cf295179172a984692fd8bff41b4453ef6dea13287a8fdbba4247b4375b75357b338d6e9fc36fdfc24754ce77bd63b395a93618f5b67ff29a748d82c91a3a99e8d90f7ac733f239333ed46cdc6492679cccd86c2c753269692af9337670c868b299e7c9dc441fcacc4b0b9de262b55889878dab97610dca184e263eebce5745fe9c8b4a05e120ff1412977ce594e84a3666a732c173da74ce7123a7eb9df3955edf4d5593e4157fb236362741e5c634fbff6f64da24f5e6bf9a271c73d8c6e424e315ba4dadbca736a243203fc3812905ddc1923a451c36270f4f6e7740f5e78834d91979c29af9e097a89a4ea18dcb5423aa95c9ed4e835db7626627230f52b753ab4bd1dc6607931d8e39dbcf19f29437233206e5db60f5686e67c79f8672d0f5836120b879f6460051e1490eb3d6b8062d4ed4989ac64227061fa360864f3283153e957c1bf99897b87a67ac18518ca5ce4e461ed8bb0fde6098b80a93c5aa08d9b8da35f86ee7ab56dcd6f708ec6deadbff6f2a742c455b63bb6960b50bb6a5c5c721a68e49ac3d75c01de1386353b3a53e366dccd1c38f20997d9659cbfed3ece08fc146cc4f747361c14033afd372cf1fe3c310a37bfa93f1196efcb9c8ccf493ac8ec9c262158ce747d6e785b35801070813ab8bd5ac6550143341344bf57dc1ca45a8b399b7bf73c271b27232e984e6d7a4fee48fd7c3f996c3e37f41ee2bacdffad6b79c45f1e76c69b259e836cf35a651ccb41c581ebbd8d174a0f29790383376303be92178e86290c14b5cfd9ffff37ffa556a47bb746991573ba3ba83951e9f255ff91b4829ceb81dd2f281c1fedf540e10509a918322041cea70c834f7683500fdb1220fc70ee19a67fecc4ed80e267cc031e27c0aa9e48313ef040c6b2401f2e77ffee7e19f4c438fcffc71fa75f224ac2bf56ceaea4354cf8f90c95cb03229ce0c93703e936c0a6373f7c1011638e1b35885093426841eb079b21686b971553e099c8165b182c02c2b4102a5eae733ae9c81f736b5a0bdaff736f5f66ed596207605b158e9e4868356830c3f26199ce4f16584deb1052b7e4634f169692aec24103d63b139f6c9b467e30ccd7eef32a9a74b8559cd646ed6dfb28f9f3f7a47269a16f9a68093cd9169dc6cb2869f0ff776f436f7c4c666f23397062283933c538b55b02c561b5710f8a0af41b76dad77ebba739d4939e99555d0967ff9e1cc3398f10938a63a809141b370d6642425eba503e4bf8995131d75c2173b3846e7a103b3819459836e329dd34c818ae1522799bc2e6754a7dfe4f5f2815873b9cfed8ebb8c33c5426e104637297ce73d746bbf7cabd72f63c37054c67f6745939a11f3cab88ce483e1a27918dd10f59e76882974b3960f38b44cb309921fac720687bc5e5f27f6479e00987af26876caede47deef064d06b05a5df2d53d1758f95a1a91366616c8603e7f1771f0c9fdbc7b6581ddf5f78e735b858596b2d4f502c5640904feef315bedcfb7c62c5b72d8f22b0b7a96fdfa60a6b7b643b7d9b25c8346da2223b7e747c35319b8ac530f29af83da3a023c6f245fe3216c5ca298f53b3aed3661c3609dc3ba637dfc67f04662e21c62c42333b88e8067a5426c99147a4356e64f0dea5fc19794d8a8b151016ab226dea8270e3caea081350b4acced5f77ead41ff93aaaf92ba49eb0372aa71b2aac6e92ad289055d1a19e711f9fcd5af7ed54d9d932a2dcc2ef11c6c9277ffe924ec1ca5eb59f295e38dbf799bb5b90fcc2cfbce9cfed4902536003a247ff7bbdff5035ac6e70e369a96239f0b61fc67cc57c6f557731d56f3ffe20083be1c5bae434f84fb652c280c9abcae8e7c083efb55aa663edf270732f956179b8e85be47cd135dca7c16c11b02f9605084719d3f21ac24c38db4a66607931be0659f62883942fbec58203090e60f99dbf00feea9936938cd997b3eccbe39466e9a4739e5b16bd67fda8cc3268167c18a0c957c3bcd8e1b11baf293e40c7dca346275c26a85cc7c2e9af72e2d56407b806ab17af255b88dab42e2c4a108c16fb1ebba97c1893f8a1fd0b89260f736b5cfeebededbd45ba2848bf74f838e5d198dafa0e71dd508583623a3178d938af734ed6a9abd4b4e8b29db955a73745b7574155dbd0343931c7f34b39feee90c7e6b987c63354af61b173dbb2c194c06d5633fb18b6f640c74ca34563e5cf82ce02b644ef7b29cffc92c568bd5c69518f8a0af4147509fa325ef0ca34cc633354d5d26a85713adae944374391ab9abec7c48b7635232681cf6cb6998cf8295d3946373238e9dce5d9add9dc6e7431c7e1a2be37555e32338c01ae7c927a3f9b4dc4e86cfcdb4b9a88dce0e6b8a23b79cc98e526e4724a3269016663e402604927f96dcce020f9962e1c441936fbe3b0df3e6ce2657f9e3fbc68dab1eac4eddf14aafa3a9d3bb8938e13bdf7ee52b5ff1456baf06c0de88cf8815fb97bd0667f7419f51c8f75917068b150436ae5a5fa0b07e4b328547b5e5dcba5eac06870f2256e767baf40581bd4d7de3f5d75ff758609f68ff6ecb0493266644d96176d3e1a7554d9218198be4acf14711ad90bfc8d8b9878f1e3b989ac99ffc9326937d368746f05ffda82e660233af841bb7ae9141044532d9448ff0457e6c5ef8173ba95f70a0b2580dda210693c5aa783bc3e369f1b958bd0758399f78fbebe8e2245394ce3947d355a44311623e8b4bbe926f9d73bc3cf681769c4374c4d2a5f83167d777f2430990c0392f344ef6118e4fae67dde232427d6a5d0a0bfe5b970cc6f9c637be41c56d30c94ce5468ace6fa6465257b343cf5c1ecded7ffdd77f9d9f469f535f98b0e07298e5e6921da7442afef850f28d32f2d07301db5bc567cced46ffdffffb7ffb0d2a83bc3de78566ffb77eebb7989d494578b0f37fed84188e126de2e7e7726f9324193355d06e92fdcc950f81f9ce5825438b5797fccfc2f0d163075333f9937fd2649e11ab3ec10cd2e28f81523ffdafcba043e8d53cfd4fb771472c626c5ef859183b33c7bcaaa692cd73acc56ab12adecef0785a7c2e561f2cacbc97dcdb5481fd68d9dbd4db9d2768c4f42cf8f606eb1c616fd06b3b9f6d83fc0878daa04586b042a62efc6cda0be98e3cddf627fc9121894f9d187efe60a63bfcec1b6b64dab7d847d0353a9a62cd8b4d5aa76e2e352f7c5e912783af393eb0d61c114a7c328bd562551c6e5cb5ee5a742fc91a7487e67cd2f9a79c2339c8099892433781ef90afa8d3ed54463153ecd0c5f7cd55b77fbf505c91bfa5a787e283e858a5956f3c99139a2186df114bdd91ccd0e4738cca2f94dbd9740cee8c07073ee030d558c1d27ac15148c624439e577346e5038e53f42f14571c66a1f9366ef3521b8b6f7a8d72c9edb49cc9836b746b32929d3e1476b89d4d842ebaee57fbe6b62b5697abfe8c1323f83c0fe7d9e3cc5d574c02f691668d3f32cce2eb25766295eef0b36f222383fe85b03a7573896f2ce0f38a0f2ce36bb6df714cd97d70b16a8d080c505c6255cc6c5cc127705a8f56cd62f5ecf9ea21cd6cf508027b9bfae4b7a961d35e75d2383525267bd8d0824f62c2b10e4f7974fc72bae6c89cf2a74c719cfcc434c5863eed93215057fcb133fcfcac26994aa6d0e34f8a9aa7fde49319e198cde21e1fbd4afc46d19cd1a3f976ce7de411e33f5a59ac16abfb18dbb8b2345a5356eb3d3e0f4be73d5d838e259ed2dc46f2aaf3151f106a2719ff4989a3a6338cdec94b67bef257767c71d4151c15071ee7a26aea08663ff399cfd05570ca09ff66bef2977bfd00b5e368d63a5375bebafcaddd6f7ffbdbf88e58ec2b337ab4db60ce3375e6c6d3ff1c233cf9caf5b24734cd98cd084dd21c8d6e3850cc67e714ea50370e844366d1c4fa1bbc0c620e86e8380d5457ab03fd577ff557dec727d351b3b973834dd7b306cd3d321179c8be4f84f0297fa15920ac5cb09ae1c87b3d010457c7b9b7b93d70c20d0de7dd072f6baae805d1620599c90f00b9a717ab8993170f2b6f12f736b554795fef6dea93739afdd51652f40f4c715a1beadefb4e9eb51947d3d53bb4dd281aa1648d0cfa22f3d0fff6b38b27bf333765930f08f5e4f164701ab7fd6f7c60f3f4339b649479ffc7029a59cc33f72533f32283c3e78b4d6385cce8e661b3a3a279faa03936c74f4cf46012149817fec824d0dcc934af467c50bae1bf5885e762150e0223288a908925cda117ab5f022be885a1d3cb9c6770d073449107a25bb3977c5596205f8649776c622abf50be727c72a7aabeb789c34ff961f215c7c6732ac62d939044e3fca2f9ca09b04360a3579bc28c729fafc8848fda881d2c937742ce1a0b3e9dd0e621faccabd9bc217560c542f26ca24da7193943929f79a1696593bc53b16b55c7e6bc528f2e755a38d9519f5869f2bc5e4378c5f0fdef7f9ff36cfe127195e57bacf037b787a75ad97d50e005054239e36de804162bf82c56e516504c0e14279af12766de2fac8cbbe56908ec6deaed36d5fe2a766ddb16b3edb03896dd70d0b06b9b4c667a6352993c4832faac339891e18fe5e1c7396de2e8cd8193c69c328ec519317c9c19fac2e746f2c44e1a53336174f38d5027ac37fe62b5586d5cb52e66a1695e3099ae0bff5c7727cdc2f31f57dda65e7e9bda79cfa1c52f24dda696544de72ce52bcf046e53bd3c1e95ce39120b75471d167034cb63273e27cdf260f5177ff117ce5a1df6aa5970d63284539f2b3edf34eeb360b3a3547f17b781a890546b7ef6b39f6599eeb3e7763fb5e52d15253bcd3a1fdca66236f76cfa0b527e1febc7b4c474a9f3392d08f8d9ea381cf3123ff771f5677ff6672ea89b1495861e5d0818222398e5f00835df20d947e6bdbea11d3509676466a4d96714a7de9884cd1dcd1ac0fd1818cd66969b3bdd192b3ead98c38f937c58e1e84deca431a79cf631470c5ff31eabf8672c9d3415cd8ca00d3d0635e9d61b7ff7c1c56ac263e36a96f305935d8352c71471328060c2ca9eb8b7a983cf85d8dbd4dbae0314b5fd46acb4cc645eefaddb875a6f7a1138f8220c4d06335d345d75f8f6ce1b8de3dd30e319c1c7d1642766761a0b87cabc4b26936e36c70e3185a25ad7f8a0494613c1c3bad00abe2642cd4f44eae8081cb45ea571d5ba58539261330b6a4cf264c89b51fe13537052d18bbf582d56b7a8dab87a81d6e0fc9d5e1fab3cd0f9c42908dd4105ff1df215f924d53246e71c2ad1d24bbf352ddb9041e852278f88a6a2c8333ffad18f3ae611531ca2b299334e5f08ba93af9cc428125310a9b0c02c19273439cdb2d58583a6abd654e4b4089c9923fb240707cd8ce3e0cff787c9d3c271987414cc3dd6d84f45ad18badbd4f1810a5d4dc4a3b95daf119b29223b4398603e9b1d49350e6b0a229b6af290870327fd8f38afbefaaa3fbc640abcd5a53072c10a9340f60d1a02e6eb5bc4841fc52a7e38f0c4b8d4159cf6111c3283553ec78c9f8a7a087c7351c77c67acc89084f9a8a339902e5aaff2ce5811206f50f22435c7ff87d9ec3ef8765c2d564265e3aaf5656d160f6a9860b6f4d02ff31a84c696a721b0b7a94f7e9b6aefb7e5b47706163ac2428adff3417b9215957c04c97b194cbdc9672483a37b0a2499d845805863212e764ee3594897abd3458b6f17be263e99995dfe63a69b4032e85372b15aac84cdc615045a1a8859b9560aa605fb02af41ff6faaa78d6e539d4c9c554c190107b4dfa6a2fdbc73604128839553e2dffeeddfba4b74224a17689d331d75105ff8c2173cb59c18d265e1cc42e71a74a8fbca57bee26bab64b2a99e5313499793735624e3bfa871b2756939322ca7abf6bf832a3ebe3e479cc6c241278998e9f8e8bff6b5afb1760f45939adb5476b2091c3fa6ed361527e8728665ae3a253a73a29f31aeccc8f52ce4a980547d22e09372410da562d28804147369168da226d05e8326c08879a93963085df3bffb34b5f9e823a8988b89b0ec42f551ac80701bfb01c0c68a4ef8f4077d0a109b660edfacfceb0f22849b17e1e64ba6e90cfec30f0af2199c9aca2f8a159599dad861047fa696ffcd2b7992a70c6608203282502e508cc1f1fc224065b10ab7c5ea16401b570f197e96490458acd9e7610dee6f531f82f4f16a6f539f6c06bde301527b46fb99f0f57eb73856f78e567c2be864a8f49e0c3399d262ba68fc91c14cb74f231a53d3a6d2bbe7e413d0c582b17885aff4ce291a3fc2b8f3de3a45b5ae2ca7cb7ea3e023e8264997d839179264d42333be2539fcc56ab182c0c695f5f2b2ad414791d24b87a29209a6d30bfe3be72ba7a674d3aa66873ada21ad332abaf585989cf368bed2eb1c551e263ca98fc18e8e98cae42bd78384f9d0994a5d5ee58352ce2f4f66b3cfd7288fe676fcfca43b3e443723f525b79b238761459ecddba80fd38f309cfb6ab5f28c71e5169441eaa6393eccec10f17fd17c05282a2e7e9deafd852aa7f7cf7ffef37d392d578dc578e336597478d604b2b9ef3ee8a31427e73eeb13e9f37d5a5cf53902305df2a9906ff9f8682e714540d73e333c40758377b12a24760d0a86e2e1395f8385eed627027b9bfac66bafbde671a1d86d3755cbf53dd3440719198458b73d5ce431931cfea09ca9b19391ec60222e631977eceb7d1a9d6e7692396da2a7b01f9d6fd1a9735b139dff750d53337a640c849e39a675f13f234d93c0f83fa38cd6d84945bd580d26a1b458890a9173c630cec6d5254edee335f8e8ff9bda59c547e39ba28e374e4db3f6fb10d54a9f1d0b9dd3ba94ababdaf1e6139ff844ffd309e198ef9cafdccdb2e610950f549845a7eeef063b18d72c96d46e5f5d66769422df412e19b43ff66b0ad44956437830cf2575b0f7dfb174875c173bcd8b7d16fc2e1427e1c1e45bdffa965ea3e8a2659439efd1e59b632166f2093095fda9d98c66cd652915cd86ce6c38b84a050e6b0a81ec44d7441b083d73c42196cfc9cc5864707cadd7d9359f1b656af3c23785f9f931f94c65b381d44a03212e63ed3eb85841a0f098689cf87c889d5bb57135982c56971c529094af8033b9f7398c2befa4f6b7a9b3a82fc4dea6befdee59eccebb49912da671c24b0cd93505bae2fd1cda7a20405e8d996eebe1b4439d2e4eeb07fd60e3f6ac401153f31c8b65f6f5669f0c9a0c029f647c3466eaf18929e92274f12d015ac63d7513d04b7ee6a8191fa749c5c966343b6494738ea7ffbac82c56e170436ab1dab87a58e32fd81aec2c240f94139c4c26b33d4bbe726a9264269f509761d40e574e388e40be6b8a53deb388d0caa3f98a965ce76bb40892e30f3a8e332a6fcfdcce43398a403266615c852e9a960398fbccd260b94e96231c8d60419dfc3ffcc33f980ead8cd45bd35c48ba3bc5bce4f62e2aa9106087249568cc7edb69be8d4bbd3c8c80c325b79b1d79f667ee4ca1fb8ca830ce2645fe3729a7f4bffbbbbff377a7d46fbcf186daff67a376e0ffe10f7f7862459e16230a9b93db9b543eb3cc734318116db8e4f35957baece8cd4fccf8eca77eee2317acc8b0401e112654a231537f46ac8c32ba6ca215ba3347cdf883559ce6121dcec4c83c0b5674cd882e9fc9abb99dee3bc415f9c56ab13ad785903bd7e0c6d50bb6064d67cb3d027b9bfaf6ff9b6a4bb073b47f54db27dad5d438e093344f0ef9f62d4cbdd18891479399aed1cd723613b88cc89974f10d7ada3c7db8789829c2958bcf98cd11d17011637f9ae37f63e12b33167ab102421fcd6235f1102613cf1b5701a29e35fb626075f96daab34a1fba538ab34adf0e95222ef9e7cc7e4e327ffdd77fdded1f4c2a7411b4f4f6bfaa3e4bbef21f903a525e7ee7c90eafd8e1921f49ba6be56149affa9bdffc26263132e7b869e1f80342fd1d236e137b5a6ef79b22bf32e52db174c702ad0e8ae76f53d931295d868080d3f8d37c60d3e9b7ac9bcf24a7e0a08b2b7f36d9d9d29569c3b13c0431c3fdcffff93f49a29347fccddffc0df57e3f8c18cfd14ef51c2639884de6bfe43ac8c3d079d5702cd00566d6d4fef0b229b083568a90603c23616c26c037c48c18567992a9916f2e233936b3d0a0d5388891473f4b5c257fea666d461c3b8d583dbd8ffa39327409a8c96776e43517abd0281216ab73454c9c4c3c2f56e587a93f886b707f9b5a1a7cb4dedbd427a7af793f6af17bdf595eb099a167a79c7757f149da75d074118a7cd1bbae761af2d9d155aa6d4f9af7af98194960762c36d3ed331bdf34f163e643b4717b475b33fbac313ef264f4b69211f80d47667cc6499e3fa33bbeb140a039361019632d568bd5c6d54bb5063be0753229abc8211d8d34fb3bbda588c93f977cd5ffb6924c898835a966725d9799ff665c3930ffe0073f70dc1addce9c73eef277953a6d1aebcc57bed65beec2e7b9718d45ab6cc69a3bd2f868a5bc6716e4c998979a938e88ce667a43a3b9e4032d44747cba93db6939a37209b33273cf07274f9eff9b71e5e2d79f3522c6dbc662276738807056c4e7c099db75395ef2813f14fb3b49d57db827567d76e7dcd10c92748bdb34f96cacdb6c1feec3d1ae8bcd6bb0224f1287aba1d13e15d37088e87a491a259c2ff8683e2daed81c48b3cf1acec81b9d3aaf1a0bbfe1c8c0ad39e2244f6674c7b7fc57cfe745a658a2c8023a3bcd1d3d7c92ece0d04528d939e56991d7c5cfc642349798198926a9576181cf746b8e6f9a337732d9c16419cd54f2f159c31979327a17abc56ae3ca4278b7d7602b71eb7b04f636f58dd75f7fdd9eda7e208f4bd36567293b026a6d069aed0d2dda934e86ba2ec2089ca14f9bf88d85187a06c2499d2efbed228d7b3192eecdc483cabd6f8d1e1f7d4aced4665e67ef39ee481268beb99193a74b3385b179e273d239bc588583fafeb3c33c3fb2c56ab18280f29cac41bfc674ceec2650f214ab9d91724fb83a043ac394134a089c3f53049a85ef7ef7bb319d6d5860cac1299a3c8eeb44d7a4938526b7dcb0f84fff89badfb81abdaff5d2cd42bdece8f29fa0aabdabe6d5255f75c2a442be71110655d38de98a92a271efd7a033aaeb446772bf4a35c4d889483d7f3ef7b9cf85ccd8d1e48c262459d6e400955357731048dd289868045dd0993e1058702fdd58d5638a4c7f341802e8c6d5eb91cb3118bc68a5f9e6060b30f7e1f6d1345062684476105ffdea570ddd7134dc30a9734f530c787d200cf296e4897f76323874236a2abaa8d01d9fc7ff712cc9d1ca55f2f814d5e8464f3766c67192afa9beb7c3e1f823a999fde69293e7bc4e23e95efcc13cdd688ed9a9ebde6676f01143cf4038a9306bacf1393ab153f7c1c64d45d7c5b7c52a308368105eac36ae84847838d7515151a81436ff9e7ce5bdd2fe3675c0bc107b9bfae45da37528c8bc472c770bc1de772274a1f5a2ed016470145046e32b64f422e2476733d0a964275d7471aff6d0906232ed346a327431ed1f6884c2e6f069d1bdf78d2e7ef6e9a22932d558e47369ec6832a59758e3a61b5f97c24eef59f361b15aac36aec480a5f1b2ad41679e7294e38d630910240a351ae164f2bdef7dcfffd1f2ed6f7fdb9da40b37dfb075e779c14a3e618430237575ce74c20129a622c9f8e3401de1589e7c6520361dd274f9634bd4d325a3abc24e7fa0c828e5e1f21be3e552873404619ea819d16cdcc6c2745b6b147c4628e273098de98cea7377a2a34e2b3b887cc81f35adae73b34f97809a4dfed0e527ddc6cd130219740676530a4c168ccb8242d7b82c43c019551302541a8b05b4c2a6baaf559f67d4c675b0678a4c850ff8e48dcb820fcbd004062b842699f61afef82d2ba64169e1e770d648623aa376254e2cfc3195b19358fe908186792146e6c42a26dfc85354d844c7a7f5b2adc1c56ae36a728255100d13c5bab07610f1a3770d96379e4fac78b5e56908ec6deaedb7a93669116c31db294fa462e2f47c638fb4f2d16a6b1e1f874c448a630731f2ba5219f95119fe4526c92c5cc64a972242c9b771fe623001357e9e570fff9c63baba8c3b2a8853669aeca0a79c32e7dc4f9bf8e4338e4825ff9b6936670ac98fcaf071866eaceafbb1d2c547288db5586d5c150f13e796d885deb80a9347d7a02f9af6555ba0499e8e28533ba884248e7547bdfb34b773fe02b0e6b906ad44ffdba7c324619f085d75271f34226b8e6a6c3a71f99eaa2730872ec5292826dd514f973f0662d66f2c8d6e14a5dcd2e7ae2680e914ca4efe9f231260131fa1762a0b0d84419dbea8e3fb3ead664e8e7cbaeae1bb4ded4bce84294e5d5eea3ab4b1d2a588504c079f9fb4a24dca8cb8d1df58f202de81733c0fb114d5a6e64a532fe7cfdca84bd3e9179eec333e2a3583d140ec3b8787211918b2e681d80b0804673a21cfdcfb2048d2d2c57ef3355cf8e746081053d0eae19ff4052bb3483e87a329229433ae342f0613884f526ff5f0d98473cd74d1e35bce9f327a6bd6a5593965d02ccc5817ff334e6bec9cf2f83305fc8c8f3f45e34546ef58b88c45324fb2c3e719f43412ad6e52e3b9267af8e9d6cc49f4f896ee29a3f71c4eb372caa0f3b0b12efe679cd6d839e5f1172b10c104148b5541020ab174c6c919abcf1b5676b4bd4df5913d5af636f596f884afad5766448049ad14eb9e8a86effd65bd38e4271d9cefb1d0c9a8c997735b123d6dd04a86c02c158432ef86493e6d2c5de52396f38d1d1c743e6be60f829ff82ca31502cd85aee6c3984ff666fc0791db6bfeba08e70f0213dd9ad7643f3bd9c4612a99e13fcdff7ca3a28403829dc50a0ed083c9c6d5c6d573be063b0e39a8f0b3834dab18a75cd471c5314671bc7446ed5ba9e599c9578e317e3beae28e11a6f05988d6cc9adce2ffa771e23284f3a1ed9c963fcfa338083941e50361252d2af8fe721282fc3be42b5f092640eb51fff1e53d7369be0ee7c4c8cb848aeffa72356f0d842059cecc25350e3e67e2139327cfdc88ef243946926fb8f2000e75b899355d5f12ce61d3074bdfbb3690b9875e274c06c3962e8280425dcd07b3685c87674dbab4a820f0b34392ae97116e4dbffce52fab5d6bfbcbc0fe5e9442cbf118fee47978b37edca932c56003e16f6e07f8e67608b4cad48af0d86706ab0314e120a5b464de215f0d86670ed967061886e4073aae4c61cba308ec6deaed36d57e6c6f2ed6250b48954387c6914aca233d3d84e6a8444822f59e7c4cc2f86c9e76328833c2683249aaf147173da32713e752b390cf271f537994839fcfcd379a2462dc23d388372b6fd164d083cf0893c45fac6e482d560f312f1836ae8a8717690dfacaab33920349272b752725338deee433bdceab6e539d8b248dc181b0a6a397a72e41d27929aca22f1c5d1263364b4a33ae6627b4d49d3f8d483db177c8578656c6dbd4d574d5f8118d7be163e2f0c15886c807988c33e97ee10b5fc051c85713365fba3868b078d6749e0c4f5a8d7bd6399303c3d77c946394feb7585b1bfa696bd095ac9bea39c7cee86c1a423d7361879138268b306b75e5c40a1ff8ddf10eece77cf9436bf688089c11468752f5a98b163097de33a2a2594064737a359fc6c12f47b1fc34acc834eecdca5bf4c5e7990b493233c7e2e441efed69a6dbb8bac6146262e36267ec8ff078926fa72edadce34fefa051ef69673841974b237f3abf582d561b57e7dab9a031ebb738b9f4ce9a9a28b2b824d8bd4d2dc9dcd77b9b7a7bd7dbb30274bc1b1652a2c77ea08988f60c31b99b3c99c4c813438b4b34ad879e27f7a2ba68f5ae0b5f73f62df4e80e8de009fbd949374f74e52722da887c53e3e3b04f9e4d4ccde16bea4a66e4114af2eca3a9d09ddd94cfd97f107cf2a62a3b8bd562050181b171f532afc1ee129d498a04e719071b394454088f22644e3264e48dbe3a7b9faf5ca8ba1b2c1f3af030459e0574d906a17436631f5defd82f773d48ddd49d871dbd0c57cecc5abea1cba8886843f8eeeecde387a8a6ae640a074d40d3b80f3db7ae07d9db418e4d3eb828ee7f8ec121a3379993c664873f8fe6768a10e8b8c8ab4654a3f3a1b96776f89a8648061d3fa66f3bb3e69abadef0c9ed33b77bd16017183be682ce7f96d17d9a88dee462920f76963515bd4a7ef20114d605f0e91ab74169ed3e0810a085091a4ae8e261b11221858a35020d65b10a844bbeb28e162bc83c4b6eff006155f06ffd28027b9bfae436b55c60fdb7afdb42ecb820b31ed43d016046ab89952c92c719dd492274999de6a8e0671ce7b4c9485d2380a32446055f339be7b8f75a8d75f23392ee69ffa419d73cede77c4cbd9a279d0f8b55382c56672c9df4c65568bc606bd097603d2b380e39abcc89d167edd02259e1e0f7d13b65b982731c3df3cf1921ad205f31bd9d7b1eac65844c67bfb15f2fb315cd643a2939237dfad39fd6d517899f3d5ff926ad2bcd6c3265507436119d12239299719df49c8afda5a8ef7ffffb461ff7f29f30cffd3695934a39bce49f9d4222be430b04c89fe36670ccd2cabd93df58ecf3d3b7a33ba56b8e0f8d85f3686ef739fa36351fd8244378e68b19f2baf0f32dffe3e74c5ee17879e1cc0f4c76ca87ba665cb462ca932a331508ba6a22a8a0ab6f3a0fe5c40ae39c8b669ff545abb14e6b1939e330e397b1344ffbe330e68c35349b98bb0f86c36275c6d2490b928d2b2b74d7e0e490c95772e6dea682e5d1b2b7a94f7644e8945e11f3be534ef13e06a7fc8bb633618e4c5ae4db23d5e9924fd7d6957c16a2dbdee8eacda6de4af6d59eff1a177f6ce2ccfba1c6cae7e4d32543179fe269e7d4cd7275598363e4c76734df08e02888992379cdc68d3f628bd5622572c4837ae3ea855f8326d8f73f857d9fbb434b450c20ca0f1df9e413376ce58d47f31561e758069d7b2fba630dbf939253135a2d2f893434cbce48bee98ac93e7f7038f68cf98a98f39533de8c85e8b4a666734e6ee7b81e2c8c682c6eb86fa45206403088a949dec4c9949fcf9c9c2261845a97ff3cc61f1f0202ad700b5b351f92cc93f83824d5c6f23d5b3f73f5855b76301dd4f9c0f258909f7d0a3897dcce202de7edae731b772c1b57617f38cd0b7338083f94f59ff7c0d064d94fbed11b971bc49a69343f7114f26434f556d064d4bb0f2e5662a9b5acdeb8b2402c99d64bb1112698e1b35881053e00f96061c5e12d8f22b0b7a9b7dbd4f2a0986e85f7643378cd3ea1b7b8b7ad26a36b88365d3214f135b3a6199dc173948bfae88e4dc4c8501fdd7b830d7a8ef5341f9a4263a19b4b4ceaf8a700ce14fc7aa73e7d4b0c07917bd959acc26db1dab89a657b4281fea0af4187228f05fd691fa797eed9e481ce5a3882dfe9cb3112d172d07be68a9ae183ef62d3fd1e45a563586727b494d849958ae260e970e51ad3976609d355d7d54067adb7d49a80faf48124cb4e59b603b4636713c92ce17cd0d465440733999030beff83d41fced54413a0584d0be18f399d29bd71df39b7f7c7a23a6a6624adf181e73316c2f4b9c4191075d836855f34aec0ce6c27c3f1dfb8151c44e3f6a19882219c6f0dad068b4f1080c440f1ffb377e7bbb66567dddfc1f68bb1cb858d71072ec04567307ddf8948813722824489922891a25c81fff12df806b88b2852a2244a9444844680e84cdf09bf981e6cca14eeb131a671703e6b7dcf79cef05c6b1f0abbceae73aac6903dea19bff17b9af9ccd1cd39f7de27f2dc53cd19ffe4ee0b6b6b1e348753574656ceaa3be401e3aba76b6c12565c009ac5f919e4aaf8d7ab606dcaea2b477b1fdcb9323c8cb7c643036f060ca1fcacf54c81a1ed71552ad62c253feab9b274efafa933ce0fc28bdffef6b71fa0e7aad92eb87a5f1172cd846752db35a38d70a9e59fbf7bcb5bde629735cad1ecd3f67834471fbbb5ad8560df755c88a317c72944d1e53061b96986c06dd5c8b670a6565dc708a01287a2c23e3e5dee1cf2c885474e57937db879c81dcb838b47a298a53ef2c4197ff669bed899183a5731c83e5d82c0580b47838c4d386b08a98b7fe76ae7aa2d768fab3d075bbb8c07cb825dd602e58ba845d2df80f549d0a3a9dfdb547ce8433060ac24b3b6dc67bdb2e6d0a562d9b19632d8ba644de3c2430be304cf66be1fb28fc3b285ebb35faff862d023285fc266933ba192f32b2a5f5011acbdd6d5d64fc1d0f24d52480a237ef618c755488e22bc7285290fffeada2e811c21bb52d65c1777f602763459d02b245f2fd51c09c3026e7d1624f9335bdb5d028ff95573ade49159491686bbec72d4ee08ef6eb750dd53041953ef7dd0dd99b1edaeb95f72e2a628baf699c1e094877dbe32833efbf56a8f2beb92f965963dd2e3caca69b1ed6efa67d212d4464835e189279e708d96d977bce31d363e934897fa6a59bb464e507f066522a17b90a7497810657f4dbdf7efa6caafb1e28464ab36146cc6f698c043eae13171f0f552092103d5f07aa7194717f5ece70b423770d4a30d9e91433c8581b9faba8c67fc8e4dc294629878e0732da3985f5de2514f18abee806339a1202742e0d8274f7276ae6463e74a129a4706c99e83cdaf75d2959f86ca439b2b0f36cd6b0708db6af1131adec29ed5a0590f59d7845976ba4c8739db30b9ddd10300c4d8702ef160c605fbca83c8152f9c160fbfc5a9f654c67b57a179703d6b2945bd6273e140726921948af0407264b51281c0b8a753ea0e3162104f0971ed524a8610569593feb914d8c4039b3c4f92f3ab4b9cea09837dd7e856f29bfd083835d5c86e8d6c5cbd8f5d5759aaa65b48e36b627bb672552457e3994bee32e7723495cf2657abee2430b353c3792c0f6af8dc0bf2ced5248ab07325098d1683a439b2c7d52c1a0d95b5f93cc8d5feddd4750538c8fb77534f6ba2622d30d60912442e4d04df36036d2dfd34942ecce4f6273b3ab0bd2759d3fa0269bfac6b386c86e3907941c8695a3c86e49a4d4d85057c4204f2d8ecdda42e16d61810147c05272f68e40ceacd0e4154748b279c1621197e36b373754ac8ce9524341ef6b86a2aed39d872211b1e5d14cf90be1d113ced003fb3f5cae39097e57eaa963a3b1ed5fc332aad451ed2187f70eb956730ae39e59a5fd7d280ef54746b6bbb3f71e4595424669c185caf90c86af1543feb7350daed05ecbb89922c06cd52e15e848b0a2e123777f69de6c2ba07416e2d577b0eba35ee88fc4bbb42367a0970f5673607bbc5729bc16caa95bd0f4a82dc2acffa1c64d9643f65f92cb877bc90dd05becef03e8b3e4fceedddcd5d5fcdc0fe9afaceb7bef5adb6dbf6513922a82d0716085beffaec5a572b35b925032db905e5808fa9c1190432c238614e3cace56b9038f1f3357cbae31738785eb233f1ebed72f426c70f24a735fcf0ae5d0c63b30b8f9f3c06575d8462230cadf8c30f7e577e5d798477ed8cec5c4d4e26b73b57879cec71d59c9587754eed39689c4c1264a671b2732527cda0761c995176aed6bd6ce49d2b6363ce158d93c33cdab9327764a6e577e76ad696759c949ff50cb3c7556bcbfe9a6a24dc54f6d7d4d37b47d93197ccabf51d2479f6ef995798f10940efb76636421c7d8c395aba34156671e02d5e708242abf79a387abd1b1b5f2c40c2f135f1f3d5da97ae5a57788e06d154e6baa8af318c5fba38b410588e5ffc23eb9df776ab4d380eb2123ef133abf714c1dd1808c539be203b57a565e76ac649f3628f2b736a9d8f46c89e834d166363d69059a376ae667fd96b7b6b881964c7316694c6095cd9fb6099699c4888d9b473250f9d4fac24e5447e26333b57269115468a0c959dabc643397916cfeda7a56a971b32b0bfa6def9ddd4c98f79d86aa5362de116ac7a7511e06a5de1cddb68ab1ca13adc544f376bea153fe8ea1dfec1577e810868c57955bec93e3c45353beaf51aad479a7192f3958c3c0587f7ea4b3b683b573b5765c020d9e3aa2448c8ccaf9920813b570649ebdece95c1b0d77649d8fb60cbc2ba385cce91f6df9dab9d2b19687fb196261b1b90ead6d5192793ae155fd7de3dae6e2757fb6bea0cc54b617f4dbd9393be579893e636796678dde62dc17b947034ef680321f3be7695675da018de9983ae922e846e3693e7fc3a36a95ff585593c4c25b330322d5eb24c5626b670bac540777c41e0a6655dc9742164ccb3a5d3bfcb4ac8ceced5ce55e3678f2b7364cf412bc35eaf2461afed92606db46b5819da3bf63ed866317bb1e62aef5cc946478bab6bc8ce55734a6dafd9b99287e7cd59d4b5ec725306f6d7d4d3efa6fa93864e1576d3797162ffe8c4a996bb7697104d0b841da53d6654a20dff20e8cdfee8666deaf6f26cb6a9e774e50f6762c8ac3a9508030e4e98322e9081c59fac393be5981ac5037f2e9cc1b90ae4c20ed19cf809a3120de7aa00e40b7974c77ebe8a6d2e2423ea953f9cc133abdeb99a9c1cf239f8ced59e837b0eeef5aaf5a1da9a4050efb55d121a1bcd917523dbb9929c29f243deb92a0f52b1cf57333608264b67b6c33889f382ca95bf54b7ffddd4756cacf2fe9a7a7af76faab4017b4745306720ded3d87e9a3ff0c91ad9b2aba9b7ef48a9f45e67ec504c174e80d36276ec641fce4ebaba10d88caf39be8aa7a333194ece173ecba94c3c90c175b18fac90a9c757170c30219ce5e28157f4d255b3493d590c63b06b41c681672d392f3b573b577b5c1903330cf61c948abd5e5924f7da6e773018f63e38bbadfd942c275609c363f6d3f6d99d2b678c9dab7dbe7a9e9d45679a6fe19081fd35f5f4bba99d967a0894a01eb73409f39415a8176e9f209824a9446baf2dbfe48476946ab4fbdb6c438a9323f5ea5733d7ece7b418564e5ec63ba1600efcb9ae6cae767465bfab4338e842d6ae9a71c8e91214b49dab9d2b63c360d8e3ea308ff61c3435e46426c82c6e46cbced5ba26b796ee5c9507f50c95c338d1a5ec71357920ec5c190f92b0cf57ce66f230a7bbe68e11727966dbb9bae55ceddf4d6dc9ba5aefafa9779e033da99ac08aa93b99728eecdbe0cce7e99a3304959e727501f1d5d9f1ee934c574d1edde1583d575d7227d7f02281c4c966f1907198d59b8c03e1423def62cdb4e163e223742df0e621f538f0fcb6666527be3a5f85c4172da5a65e85fdb1430eaca6cb1a3295ae050ec4576767e76ae76a8fab3d075b43ac097bbd920179684d565b1f5a935b48f7da2e21e5a7bd69e7cafad98e6ce4b4cfca0964e694f1b373d53cdab9eabc3167b0d6994083447e3ac585ef7125330f3457657ed75733b0bfa67edaefa6ca91c9d9f39bb9aa699696381335d9d20f19cef003d59881c9ead5485d4dfbf0b18c9971ae470558b9a489411795e18f9c1dbd3829564798f0ee98beeb3783c0f145401efb35b389969d6c6a4ecca35e18f8abdf017334c1d03a18a96bc5c73266762636c8944b5a975618c5397276e8765d7a538f30e18df1f819048e2f02f2c453339b68d9c9a6e6ced5ced50ca186d61e57f2b0e7e03a0c5a2ef67ad504a99ef55673e76a9230fbceced5ecb94d9ccb01b37365901cce273b57939092a35e0f699ddf70067f76c795f702fb7753e5f66ad95f533fedf72de71da4958e3cc3d4b73ec354060dcddea9345e712c79647c78201a3032adb1a937becd359c90cae15babdec17114d6c64ef6c705bff9421b194216158135f6bb96ae8b2e321770b5129f30be080add6c92f54efcf813cfced539553b57777e6fd938d9e36ae6d49e83d60a0b8e42909659a3cc9a915b7f76ae76ae64a0626cec7d70dd7365c39edb462c45fbcc2039e544360ee7939dab362099998577e74a2a4a4be758b21dc73af390e4aa756fd79719d85f53effd6eaa696cd41ab20403da73dd4196be1ef61ad6f3106b89d47555b78317428b0595c8d9a7a5391c42cd6a5e8a61eaee5f38ce6a3323193ce0636dae0b6d2e617ac7cb20b983affc1477aee62ec87c3991a59dab3dae0c83cbb939736acf4173a46cb4bcec5cb592948d59550e6bf8ce5599d9b96a79d9670623a143480959e70b44b3bd78969a84b55e47d41e577b5c35669eab71b57f37d508bca9bcf8ed6f7ffb4d7db78c7fea539f3a785c1172cd846752fb13cfd146b8d47afffbdfffbddffbbdd6bb8f7ffce3fe591a04f5c73ef6b197bdec65fff44fff241ebaea97bce4259ffbb99ffb894f7c22f9939ffc2401828f064f17998c8c609564279a09e0fd0d5c79d18b5e4485c7d14dc611039b74d921bfe215afa0aea90c9f1c68a3e2ab38c9f9d23b38fbd93cc456d85cb029124236c5a68b1db532767034f92a1eb49dab9dab190333e60d12436e8fab3d076560af57ed0b7b6ddffba0fdda7ed126db22d9d838eccb083b573b57fb7cd51830535e50675167a797bef4a5ae5a79eaa9a712d4b2514d78e289273ad5bfe31def78ddeb5ee7514297fa6a59bb464e507f066522a17b90a7497810657f4dbdf7bba9f23b2fd5089a0e199ed67abf72f9ae65e5a43bfcd1f5f68eac648710a7b77ab95be56cf62230bfe9668711cdb4d61a189e7132be80279eab787ec7fbd9c6bdef81c5506f5dc536a60a20bfead5d7ced5ced51e5732b0e760eb83c564af57ad097b6d5fd7c65925a4659577ae4c9c7d66987345cbc89c31063766c8cace9524ac67b39d2b6b88243c2a6751dfb1f6efa69ea7f2956aff6eeae9772c678d235bf814e37b5dfbfcfc7afba8ba9f65c721a74b46269b12edafc9e51b1f3efc38ea7eb7049ecce3e86610922e3b38e470cd662001273be90e073fad5406078a4d3d7e31e384b3a3901330fb3d439cb95e5dd9012a3b573b577b5cc940f362e6da9e831607692933ad127bbd2a27f2609ccc089931b3732533ebfe22213b57c6899ca8f79961c64673c7f0681e99569d4f76aee4a4f3e7ce95b161543436c81232e3c499bfa5f821c995bbb6cb4d19d85f53effc6eaabdd0c0952643d9c89efa809747e3bb5512135233ad08e18ca44e183c723839a77a879cac5e39c5338eb23675ba423af85df9e4f83d93cf75ad1c8468cd6106d7f8471edda29afa80e72efbe49dab4648f5ce55e3d0c0d8e36acfc1c6c09a871622c363af5792b3d776e3a19160fd5cc749bb4cf5de07671eed5cc94063661d1b404de344bd73d53c5af3b073d5f028278d13c8ac390f2e57fb77531b7b57ebfd35f5cef3e1bc6b99616a0e1b94ce0784c6eb8c5aa077303d6f34d5d382c093919311567c6e039c3cef47c962002afc8e2e5febf7d2c1d1face49b138d5c0ecd32adaf881ec87638e2f5d38a31847d3829eee6a879c2e219510723110e25733be73b5736518ec71b5e7e05eaf5a27670ddf6bbb49d13eb2f741db843263639f19f6f9caec30243ad7edf355d950cfb9f4f977167575bb5c66607f4d7de7dbdef636bf13dcdb47e35e8e924b566b255917dc9eea6c01acb72d363ce4a08b00a94b3d7cb20548cd546066c98415275fb55f3c7a5329243647d015a7952efb118646b7f006a1b5cac57635869dab9d2b63608f2bc360cfc159c7aeae15c0bd5e3548a462e7aa6d65b69e35277b1f949c7d663024941927091099713e3977de99473b576563e7ea30361a27ed3b92d3c2f2d0e6cadf9edcbf9bdaddb9acf7d7d43bffbe6863da379fc6ba9344ef6ca4cc40271be58d7508015f01c627f4bd08885fa223784f3cfcf9a6a48b4dcc38f0545883778e615381e3a88b8d2972f1d405c7272b70e4f86448fce1608a27be2ef8f0e75b479c74c5530cc88462c8fec8f8f9a2b27355de76aef6b83212f61cdceb9575d24850f6da6e30b42cc88915b2a639b2f7c17d66683ca8cd9419279afb7cb5cf570d89e7f759f4b443ec724306f6d7d4d3efa67a93d16a6845b08fda33ac8f23eb9aece9856b12d4644bea10a637beaeec1020d1e20f73d421fc8ea9c109addde32b5d755e06afa9a692bb8491191fb3e32ea43acbab1cc2c2811f1eb87335d998b1d1ad3c64728f2b2370e7aa517139a7d6d1b2ca65ec923f99dce36a8fabbdb6ef7d701616c23e33b4174f4eac96fb7cd51ce940a85e779969ae1b0d59991cee71357bf1e4e4d91a57fb77531b6c57ebfdefa6beffbbbeebbbfc5b55be25fa77411b73def5264b997f2fb4b9eddf3aebdf32c5e9df40d34bf0880bb702fac78bfcf0b07feb091f873c7670b203f7afa5e5c5bf80d43f82c488c202beba7fa794ccbec070e6df47cd57b1f142ab189c51e6df4d05a2e585500914a77f67958a00bcc3c61173d7255a05220f6a201abe00e09af867cae9a7a377ae76aeee33ae8c61f931608c9fc60ca471056c5c1945710ee3eab1c71e6b7618ffc9f85670ffa4988d219be10d7ebd045d335699fde8473f8acf0e79ece06427fbd55d85231d234a73d0982f2aba669f261a5d330e9eaf6258e7a0a9c42f7ea6d058e3855081132ee76079d8b9dab93206f6b8da73b03160ad78c8d7ab0e3cfbcc6077b0b6ab2fd7f67dbe921623c4da4ea8ec5cc940e796f5dceee4b0ffdd5469b95af6d7d47b5f530f0932b5203d732644187c9a71ecaf861dd00643403be842560e66fc51590d264fcda6c374ead91f2fc0be670ec26f7cea6475cd8967704271c6299e439c57fde2af858ae6d8cf2964f0c8f93ad8dfb99ae494c36996cf75cc3c0cb9ea1546b7788fabeec89e830ddaa91b187bbd9210a9685d25b7004e961276ae263f3b57873df4b0571a308f50aebce0eb86aeb77506bf4b231fae173278cca6cc210fadba07dd0387fa23942ba1ee5c75afddb81930877bfa3c3e8b7a27b57f37b5297f59efafa9ef7fcb5bded27b41b56f3ed63e9384ecdd9875b6371fbea2c85dcbae6f9b04df40e20f078e0337977aafd6819eaee35a2ee61ba92efc7053d17ba60c720d6ffde59a9d38998a967defa8c6a66fa45ec684171b99df6263a79809ac25aff193534fe0a5d838e5450c70baf0e4d1ddb97a9ee5caf874c75b26fab900176820c10d36b82161b8da530d30c5da9a6ca42537053ef2918f7444a03e43d7d8c6c16c4634171881278faed78ac69b6106cfbef1c9af5a53d7a52f76f4c2d5c549d7f8e42bdde6852ed7951d5dc5c391012f8c02c8be1880ccb2936ea6a2b928b8d944379b7c75b1c55c0c3b57e561e7ca38d9e36acf41c3a0b5f105b25e19f3e6be4540e9da676d7796b098b79c5a5a110c0fcdcbf309237ae119913abace3ced2c743b23b19f2f7674e187eff3d5ced5c33faecc85fd35d504bf5af6d7d43b5f53ad7d12e4aca9b6ae59e08c9b52668893814380acfc54d2ad8b1c7fb50381676d2cb3338ae331dddcadf244927dc653c759e50c529f60d608c3f95a23011ef0d56ff611d25aafbdae897c22449eeb5af9702a6b57d702dfb9ea7e4dea6e33579e42edeb3d9bd9e6edfddd973dae667c765f66845fe667e76ae76a5d09f7da3ee361afedcfe1da6e4cb6e7b6593f0c67061b4def2c3c5b7abb4716db6c7c3b57938a6ed9baaa743787b07335a978a473e58df9fe9aea565e2d2fb98abea040f3dceb3ae7f257bef2955d786774b2713fb81dd7b75620c1420f9fdf5f255b767531e57d1e99627cdb3350171c9fd02a03272b74d5d98cd392343631b389c62f599cec6b86b39fafecc3c529868933fbeaa22a1e9cb1932f8eb23fbffb9a9d357e72d7be73f57cca9577cfc6c6e38f3f6eadfcf0873fdcdb6b0366979d819d819d819d819d81673d03ce1baf7ad5ab6c3d5ff8855fe8c75b3ac3f032e7967dbe920d67330921d8a0c99dbb76ae8c8de7df59f4599f62cf1b83fb6bea3bdffad6b77aa567e65b087a541bd96d9ea7ca9e1ecd8d109ce6090eb901d173a05a93a9d1cd0e3ec1e34df6534937b39055b7e610348b61c547255a01000f65f0eceb2d86f57a81c5bceaa67808ef529722adb9dee24c6b2cb8f0fc663fbc7876ae9edb5c19ff0250def7bef7fdcd9fbceb3d7ff647eb18b81df95ffee11f5e749e4723dc8edfed6567606760676067e09633f0a55ff1356ff8eaaf7bed6b5fdb89a823843da853843306799f19e6ace5eeecf355a3a2e36547c7c9cf9cab1fd1b3a89f29d85f536f5a82f6d7d4d3fb2a6ff5ac89c677df279b00e4ded9c89d39d03420fbc6d87bbee643996d499d3943777ab39991be5b663f19ae994c8505f6812d49702059e9db6613158ea34b54e4e2c4018a2475fcf59b67fcecc3bb5eea70013025ce8c4326e6e1e390f91add385d0b79e7ea51cc959ff5f5bb52eebee2c5b6efa87ff9a77f6800dc7ef917bf537afeb5d2116e3f86ed7167606760676067e0163260a3f9a2377d954dc7a754e70a4791fe19827dbeda67d117e059f41666dca3eb627f4dbdf7bba94eea9ef47acc9b8752cd79fc5b41b73c9c309cc6414f74d9194e8f829a232027678a4c2886644d4f3e97f2c4299e64cc719750a86442765639bfc34118598498c599a23a7ed7929d8961740929266430599deeca212b2cbb468ae4e18cbb1162721a0d4e288664cd9dab190ce5edfeb9ea2f52e0f8f9707f91a21ff4f513bfbff153ff37f0f6cb7c441de1f663d81e77067606760676066e2703dff19ffc677ee2d7c6ed775379b4079109be2ca9e73c30e78aa2b2bbed33c33e5f190ccfa7b3e8feddd466f7d57affa5dff77febb77eab05d1caa8f8e94769f22ec7ba69d1d4244308d605effc7a16c2ecefc8791718c713820f53a60d84ec056176d4fd7900ba9899ed0981acf8bba3f01e1270e6eff7e24450d74bc084e364ff1cf2e9dfec52c8ae420c02c0f162928c3676343d8df8e62924fc70068bb3bf05c7084ef6d568080ce2e0a7b873f5a8e7ca1d6c68b9bf2fdf28f40000400049444154ee29d93831ce8d1023f0a9e7e86baa7f6fd4f410cf08e45d76067606760676069e971978e357bed91e64dfb1257576ea7c45766a778edae7ab7d16753879219c453d5ff860e0bcad3cf5d453096a13bf9af0c4134fc806e63bdef18ed7bdee75268e2ef5d5b2768d9ca0fe0cca4442f7204f93f020cafe9afaceb7bded6d4eea926b712cc516cdbed1f56e6ffd5e8753efbccfebb5d6aacb489fb35a7c871fa837c42abcca40cdec6433bf68d9891c0781d09a4e4856539f781280abdf1375f98699e5431dff32068a5d7ec2c9d0dd6b21ec5cadf74b421ece5cf5f7bd8437e3cabb09cdde6e7869f2ab3ff17f6ade7e998fa823dc7e0cdbe3cec0cec0cec0cec0ed64e0bb7ff8bff0fb564ede6d462f7ff9cbdb34eda49daf1c88e73c53481d933aa2ccb9257e201afc524e917d84cbb34df87010d0f6f96ae7aa317038abaf636cc6cc67992b5f08f6efa6cae1d572fab7105fe0c5fb2a8b9a626deadb29b971d9e2453686d470b9f2bb13b37ec59fb58f85e4521a7facd16af9c3218feec898c590f7fc32851f9e7113433ce1ea35363669a1c56150c92f84ac4bfce942c885a44ec661213b68c5a037d7f093c5bb7122907132387c085c73e7eaa1ca55af63baa7ddb2c69557dace0abd24eb574477bd33b033b033b033b033f0e032600ff292d4aed429e2f2cce0b569fb94da56a5740ed154e2a7abb9cf5792507e76aea4a273cea3721615f02e3765607f4d3dfd6eaa273d6b9c19eec9ad4c25cf0a18de12402658083069a9d1461870e5b49ec6896ff264e76a9ddf714ac8c5386264b5afa9d4bbe2d9112ad7649cfc464e5e6dae38b9e65cda2af0527838c9f9d29cb093d7780e0635b3b9728a333cfeced59a93cf38577e32a47b3437a871e5276a9c06f49a05845ffa7ffe7769bffd321f5147b8fd18b6c79d819d819d819d81dbc9c0f7ffe87fe50baabd5eb1cb7b55caaf5d69dde3201dcf08cfca3ed8ae370721be42c4c0beba6b3fc49077bd2bde7ebacf576b4eca5e995cf19dabfb8fabfdbba9e5e76abdbfa69ed262cd9aef8aa6d6c870df0f7b22451bd9bad6d269ee296435c2bac6c539593f171c9689f1d96c0ee78bdc5aa98ecf57644c2a22d1641f3f5f13035d081c273b7cc5a7c24e6bab1a9e5f389905fc6c6624cb7a956c2690277e96273fb446864f7e688d3c7132921d3502bf6a6562aea91e5ff177ae3ecb5cf9bd624fa1a5f730aefac554f63ffad18f4afb99e3acb0ffb733b033b033b033b033f04033f039fe1686fdddbee319d54bd2e4c399c131a03f8df159ee83ecb07c751fecbcc4fe3e5f751edbb96a9cdcda593477bbbe9a81fd35f5f4bba97ee8d10a6566ca9105abb5ace90a21b47ab64ad62413f4ea0a27b310cec2417d7457e3c359752f0d16c3eaeba618ba847c91bb9640eaf0950099b27280a39b2348ba0c165efc9dab873f573678f76e064c77dced033a19c0fdd855cfb1566407859fffbffed738b75ccf47d4116e3980ed6e67606760676067e0d632f01ffde7ffcde38f3fee14c1a317a6beac12ec479d31ec4d9aeb71c80ed55eb6cf57f22039b3ad5fe6aa2d1ebe73f548e4cab0dfbf9b6a485f2dfbdf4dbdf7bd5182faa0d4caa8568046b96f50fded99f5398d0cf7ef88f65047eeefe8d28a9f3a9bf09eebc8f1991d4e76d8ef0ee1405a5c92d91183f77cd9672a9b2d52c9639f9dc13398fd6220b386dcd465131f18b39a3a9b83acf68b19416f9c62532bc09dabb9d70f43ae3c76de34ae1c0bdc32f7cb7754b57bda10ea27afe6eedf9ac06fae47b835d7dbd1cec0cec0cec0cec0ed67c0a66387f29e747e43d5aee46fe9c33bb7ecf395ddf974badae7abf399f3a13a5f75c66bd6380f1bb19ff1b9fd7008bffd99f8307bdc5f534fbf9bea8fc7b42c1a64ee16d9d2d06d737c1f10d2405c3908b382c06b76ee1f7ce5309e659c9ca2c56f8857e3e437ddfc1618445776065f6d92573c798d2172d6c8bad4f915ccf003d5c5593c87e6188117580475766a96cf430c3577ae1e5cae7a67d19dade6ab1f002ef9ee91c1ef6916e8b7231c177ef6fff89f716ebfcc47d4116e3f86ed7167606760676067e07632f01fff97ff9d27521f51fd7d04fb913d683d33e812c6e1ccb07e6bdde7ab8e6473063be4aae63e5f1945ebb87a38cfa2fb7753efb3e6ecafa9a7673027f5c3f74343192e7170677d4d03ddbb13f5e071d43d6722ebc2f7fecf02314907d20a4f57d7d89f6f6e8c28bad4f9f2de888c995f5d7987b0aff62d3424fe7c37cb487cba98215d0b7996b362cbef3c852214e7f0f335f6e13815b2de95af593cc586361c5d5d11900a7ce7eac1e5aabd5fc2150957f3e589f430ae7cbd845b251b00ffe277919e8b72f27b763dc27311c5f6b933b033b033b033704b19f0bba9f61d5b95afa95e921ece0c9d1cec5c4e0e02eacce0dfb0d9e7ab7d166d801a213352e79c09213f8ae7f6b9962dac19d85f53dff9d6b7bed52a69ad6cedebb06e41b4628e2c652d9484e9220c4e1e4276666d5dd37d49cb45cf8d5918393bd47152ac8e30e18dfdf819048e2f02f2c4b3e268b30164679ad98fbcaa84afbeb2bf73f550e56afd643ae3ca3f8e4a9e7185236683df9e477662d0fce9ffed7f9a11759bc27c441de136bd6f5f3b033b033b033b03b799817fff5ffff78f3df6988f040e155e9eb66779c098b38760faa6dade5a6cf62f2a739e59033ed074edf39524ec5c4982b1b18eab39e82620742e7aae7265d8efdf4d7517ae96fd35f5f4dec5495d76ac68fdae66997276b77426b774920de290063d8ea6d1af8c2e395de31e9feee577c838e171e6bb62bad9cf5d4b2dfb71e29b5d38bcb32f4e1c05e71033f2f8ca66d702cf029010877d06858dd3ec855fdac4c9d75cd7ce55c3e021c995f1ecc6354e665cf51d75c6958fa8dd6231fbb12bb83f24e62afec5ff9f8b327e47782ea2d83e77067606760676066e29030e1bce12761f8fa3b6247b568edba73a5fb59dd9a73a6fd8daec65fef6d23e5f5de64a72943557fb2c2a4b57c7d543952bc1dcd2947b04ddecafa9a7df4df50b0fad951ddc5b22216e684b21bcf5b43a5c8d13818c4391900c27648430cd84baf0d3cafef0b363e0a63ef11cf0b1194e3d6b8d78ba29f6448adc5c5d3d163fc595935ffc091e619a092cb303cf45cc5c742d591e1c33648d01a8c4274426b0533321398fd543d00551ef5cadb9f2d353eb5d969f5e544faea6d950b193b92f2c20fcbfffcbff887ffb653ea28e70fb316c8f3b033b033b033b03b79381fff4bffd1fec53f67dcf9c3e907a1cb507750c702413c39c19f4b6a31518790821732458f7c14e0bd543c09f7d305f9a9d1f0ef8a884532c86364dba29ae67a7e160522f7ee0cac957bdba2ad34c6099055db9284e5d6327cb83638620908b33cb451221849d9a09c979ac1e822e88ba986bee5c3d885ceddf4d35ba6e2afb6bea691e5a1fe7fd9329dab74482394fee1ba35500c7b7cae62dbcef9671bce7c33781e7dd55fcf9fee906e8558f4d7620d96c5da08b1f4e6ead49abfb97fdb9974c41c6af188aad18c82c745d38e281c7191c38f1c7c76173ece017007c62dbb97a9873d56ff8ace3cabbe7b9773306baad5e60f73357388daba79efe9b1960b72efced5d8f23dc05f67f77067606760676069e5f19b01fbdee75af734d8e221ff9c8473caf76f670be22c3e77c32e71ce7aece33fe46fd3e5f49d13e8b4a8221210f3d93cf19bb71d55968c6d5437b6e17ed2e5733b0bfa6defbdd54096a281beb25aba79103683e9806c399b40e4e005a76af1af47850d7f0b3a0392a19cf4ebe8a01b3791873ec0f4e88bfeae628bfecf47cc24236c357feea6be5acf2b89e3ce825c71930d7d3a455193cbf73e17a87ccd4ce9584fc9b72e5b173f893eaf9762ab711741927bdb3e86f27ba05dee7c9f9377cc337e8454bdd43ecedc8fff0877ff8b2affd5a4e3ff1ae777dfe9bdfcc6f01f03e31aca0de69c65417ea813fe0181cddcbae6ce6740cc68f3cf2783fe008c379a032e357e3bf048ba760a61eda08570d8eee4a8bb97335c939a46ee76acfc19bc6067cca8c931174adf2a179d9f548cfc1dffffddfefdf4ab5d17b286d9f6a3fea18306bac3c0cbe9e193c99e8da67064958cb9c01d65c1dce66fb7c55c61e925c19c9fb7753d731bcca2f5a1b2f4cd9f8e831c978255b319bcfdec158fe9ae77082a2cbfb3f8922283823c3e96ab2468eaf39ba10f281cf48663d368c4a20841d31686627fbe4fce293a7acfc5546c86f4c36bb5ed6c2b34365ec0fce3b191f27fece95343e42b9f26793665cf9d04a6e6cccb777a3abfbde19c8d58dd080099973a7de553e706a66e1aa9dd5daa59d514970345939c029d9d1c41959b300d28abcf65e226befc807618d415765fcde05eefc978b95bfcac38c53934ca81ec220636db5438eb0eaee5ced5c958146d13a36f6b8baccc6ced58c93c3da726bb91240670f670c7f19816c33eae77a088aefab38c9f0f6a97dbe6a43971667b9c9cf3e8b4a886c3ca2e77691ef725306ee7d2ab989f1ece2ad806cae4b61f21cfb342b90bbe2e9305a33e1509bb79066ef0816bee456c07aa7aeeb9defbcf7efa68aaad77286bb05b16733600f668403eeb83fcf90e9321ea8a968aaa98fe2193ee1d90c8fa31e5a762063bf78e2848f114d65746b4e6fa6d84998eb9a8b8a49bd6ba71e72a8e1a382ac197ffce21f38e30bbe732509b790abf9702af93cae4db7cf447023cca91957fe19006714b81fa072563029befeebbfbea720ea0ab27a10cde4c113e24c6f8a983721e1e966b08fa814fbac3a5d23e852a69900c9cbb9f39e9ccd4bfe8a27af762ef997f60f9c31b8e2e49aab0bf2ea8b3cbac93721d3cbe6aa324d84e41134956926402e63083cb12ff8abafe4d5ce251f72b07fe08cc11527d75c5d1cecf03bbac93721d3cbe6aa324d84e41134956926402e63083cb12ff8abafe4d5ce251f72b07fe08cc11527d75c5d1cecf03bbac93721d3cbe6aa324d84e41134956926402e63083cb12ff8abafe4d5ce251f72b07fe08cc11527d75c5d1cecf03bbac93721d3cbe6aa324d84e41134956926402e63083cb12ff8abafe4d5ce251f72b07fe08cc11527d75c5d1cecf03bbac93721d3cbe6aa324d84645f53bd2deddf4db51379a3ead7afec539d25ec4af6a9de98e393e1819a8a26fbf8b3b10ede59251cb836b36f1f84cf3eb8cf573b5706c38c9fc6cc6d8eabfdbba925ff6abdbfa69ed262bdb31a5aaa8c4b856c1523e89af7552d9d7082950ede9340756b283e5d0485fae8e224e7ab251287d6e0e9665f5d3c40ba64825248108218d46757275f11e2d49c185a8bb39996da3b273405defba72c90f5d285d7abd65593a0abd84eca3b570f53ae6cf3dda0abe3aa67d4755cb97ddd745f59098de44e274e129508ea69deed399d5ac87525ab3de80e930cc942f2f0d3aa2bf0805c32c76cccf19e11f52031a71ecbd99c66c26869861cea337ce7b8395d09e9ae8e869cafe91a2f9064f5679cabcc16c32a4f7803ae71165bf51a4fe451218c9d83305a195999c92b7e55372f07f2d8a977bc6826ab77aecae7ced51e578d8175aecda8083ca46898cd26e4ca4a86a455d7adcd41ff0a1abffd980fa19ffd710299f395c757f84de72bd1dac5f6f9aabdbbfaa65c49e3ced58cab872d57eece2e3765e0de0bfe9b18cf2ede6ac8e62c8b233b8824b750aae768925c537d593c3b01d5abe05c1e48a86badebf235f56d6f7b5bafe89ac362e859ae71dc335ba09a050841893fcd40751cbdad17592343e290a379f68b4380848f0576065fad657ff592d9359e436fae8b61aeeb1043575a5d6008d9248413ea5af155e637b2ba18084a1c466a4ebdc6b9caf87176ae9e61aecc9143ae7a2ea50ed74b9061df57d56e62fcee8b6757d3c189c129a1afa97a9d54729d6ecdf0e99dae04fca125affc21eb5af9c9f31195d0efa65e72c6f8d5d88ab69a2eced53ac298d28cb9e2e4d11d7c90ab96a3e110c6f8303358579c9536f8f00f761086f30ce5358654569b2183af7e57797c1146fd107f5d690d1f67b57390a38dc1d502664df5c1e6015f6d461ec2a5ee1af3a53c4e13c6ce342195fb5c578431a5495e7d1d2c0cff3e362780ec8cf12c4ff3aaaf5139d88fac8e70a97b7f7c9c268c9d69422a07bf08834418539af5ae38f9923fc86a6de4d47132b85ab8bfaf5139d85fed64fc10678ad12ee5719a503c633383d507bf7939f85ad5575f070b35570b57e5d12220a8d7186ad675f055f3d2e66a875c73d5bd949dbeec4dfd7b333eabce09a478ec4d7d5ccdd4d9e4a9b25561eaa5db99c1fe45de67867dbeea3c6390349612d48d138212e761cb9531bc7f37b51b7459efafa9a7efa59edc8c6375df36c956bde452e6580f54084679b2ae69927d878413d63514010eac6bbe653132be70c28195a650f8e86607219be365fc16ffc400efbaa8645f57d7c502507362e025cb04055fbdf23569e1ef5c49c5239aab7e06b8bbdffd7574304ed4de67c38173fe701a98830521592f1c2d24509dd6251ea2ae5cf20ff85de2bd33d320849c8e90b5691226e6b98a3813736475c2c4537340380b27d2d9e9d4ab1df27819bf3133ab77f89040755ac31c7cbc10465ef907fc3e9cbac6322179c527e6b98a3813f3d85fb5e24c4d5058c08936f56a873c5ec66f4cea04bdc33f9b3c81598e1038f278218cbcf20ff87d38758de51c8d7af8c43c5731f86af9a03536c70564e76a323669196432465076ae2633cfe35cb9d17d44edbdaabdb5ef0a2e19de41853ce79c39f9389fd8b3e07ac9ea7dbe2a0f3b57068362784888d2992739fc611b57e77877753d03f75ef75eef7fb6514b522613d6fa704cd1d5e180905c537d598c3f60a370048b5d72ab5ebd53d7d5efa6b6baf570283c1c754db221debb3ab566aba4a7b5e11bf135531c3e7095e3238fb551e42ebce4e4948ca95e6388103eea84c1234f3c974162c65f39791f47599b3a4797d78240459d97511f6bf0742fc34871b5b9caf1b3337501731752783925bfc073e539731d577e566a72e84575b9ea1c603695ab9ab2eaed83e4cb2a9abff48b40e8449ee2a57c3841d64c7174d31add51c9a67ae5cf1ff825f893bf13c3d0566b973687bfdabc948b01be5a2be01c4518a76b57f26a736813cf25275f7025dd8921708d64ecc48950bdfa5ded5c357b7f9ba37e6993b5430c38abb508399d20573b6b3ccf045f39f96261353232618de410e749e76e39d8041f42ad19edfe36574ee6c76f6687a0495ead8ddff0d4e3af5dc9cf045f399736d78b1a9b57e32992ea83cd14d7aed5ec6a2df92affd266b4f031b85a1b3b97d7b576ad76ee8f1f62c82995430c10658d2439f0dc79af3ad85c399766ef6f73f89736333b044df26a6dfc866b2aab9d69ceb540c837e1abeea5cd55313b71a61ee38429079bf0ec10ead2f4bba9ede9feccafcde8b1c71eb39bdbb9ec44f07edc176d9a736678d9cb5e16d899613dbfc1d77d709f19ca863cecf35563e6e13c8beedf4d9da5e352d85f534fcf3ce6b0933ac13aa898cf0a41be08650d07c110579bf9117034a3a5d8f7c9c0be3dae8474a71ebf2cb49a44e6a5ef99b92e86b45a91f34bd6b5e2e4c88547bdf76af8c50c21f34bb76b51e340e0f96544493799ee5cd7c48caf7034be08058c4331fb3b5752f130e4cae1a0fbdb3dd2ec7e09cf3d6a5ce9822b098e0823a715aef696e74c3c9d9fea1a665a6a9cf821f10fbaa315736d86a8d78230f6e1d94cabe67deae18f8571973071622613d6823638b9824058f15181931f5cae26806218bf091395d8225cf28bf0b21e7ed7b55e5de49055bec9fb981a2fabb5d1aa77e74a1e2ae56de76a464882e4ac39d9b9920199999cace97af873650f2afe3933f4beb543857d53d315d554cf3904b8cf57eddd932bcd9d2b63a624a89519570f79ae8a76d75733b0bfa69efed2af33ba93baf1ed1c5fdd849732b81a682d184ea98c631aa485901c9e62ba6a1cb5ae38c92b6708ba2e3905a0eb321e7ec357ce1a7f4ed7f8bb4635c5fca63bf1cf956667c521d39b9dd51783991a0e4459ed1c7ce9eda208bad4938acb3cc41982e62527fbba32bbc6f37ccd95bd7ccdc37c3e75edf3c77e9d0670a619c73bec5e7648a97b449edf4d9540653dfddc5fae773804ea1d41c6ce81b3e2f311f5eaefa68ea9b1001990307e57b9188656b390465e39035251a639c2018f73b8c6e1dc0767506ff5ea68d53d70c6d78aaff2e812e61af352d77de2c9f84a6379b5931cb8caabcdfbe37a8b96f06f920fd7b80636760e9cabf8550ee6ced59a994b598a14b87ae7ea323f2b724ed5ced5e9b1595933732923f85936db906dba5dc99ffcf596ca4e84acd77e44b067f9acda26deafaa7696f041f5e4e3ee99a14fafbad67d703d57ec33c3e46a52b173d5b82a0f8dab75ccc8d8ade5cac8dfbf9b7a9acfd7cafe9a7afade6898961cb271d962070937947b87379c06b4a6637dfcba1ad3063a1ca742d7d311234a8f04e17128c27180e426494f5390b193afc86a7c4c8a64459ca993b300a1ab0927c727b3ec1ae174c9f08ce4313e0b930788a237dace55d93867e594db4725573d947697855de94575e3c4f36a17d57922597d780e19245c3d7cebecda3b8a998a8933fcc109e986a80f1c08756508f8d324ac7cf25838e9dc2d6304b0ca8766baeaca5dedd37f21877af53bbd84621864b486ff6ce5ea329f39cd2359d9b99a3c4cfe43d412b57355061a933b5765404e8c96cbf9b573250325619d449f4dae6c3dfe7a5f36d5ce186d4cecdb9b9ca9a6b9cf578e61ce6c9379b9b295d72c57d3dcb97ab47235f7740b9719d85f534f5f53ed464ef03de0cd639b66b2ac99f333ff074fe5808f1d38e6d48c649fc06c8bc8aa4bf63c39f87d74739191ec67b338d798c9134ff834912b59c85a7c78d758309a71863946569bc9c83b5773efca67f7fd81e6aa3d9e8b6ed9eceb9e4edd35e3aad7d570c154c3692134f835ed7f4e1bf33595ec6e66999c0019792584aba7e0c71cbeae41a2ad9cf57753fda5df0897bacf10a788b9da2ffef0e94a38d87c26ba548a6dea31157293cdc113aa2fe384af96352f3908e119b9ea77ecdc873376c6e3ced54d79dbb96a6cdc949f15dfb9dab99a55ab81a15e73e277536d58b624c5e6659332667c266daff4f80aef2d2a3c4e203b704867127504b832fb203c24e63e5f9507392194999d2ba9908439d3ce88bae55ceddf4d6d405eadf7d7d43bdf15ad7a06ab62ddec7d556b1cd908865be3d60cc21bdfea5652bd98648af1d76f8fc3d19b7d9c745906aa0727a75b0c139b2617f1b94b4badc0438a5f7340385f90ecc335d7f770e4e1f0d5fc64078e895f3c2b07aeec5c3d84b99addbd71a2fed8c73ed6bdeb3e863b2e1cc6553f3785d949429d10e21c5073c09599accb43ef10c82b270bea38d10e9cc083afc031cb66053236d75e72052dfbc31f0181acbe8fafcbd8c66cba6b9dc1ab3681e16b8d5f1ece9d77e2cc887aae2b4ef8d578ee137f96ab579b591b5c3324fb838f50affa3ebeaec696223b632179c50f36c7e9aa855f1eea3df8dab9dab92a037b5c1d468284ac3939f46a863c8773d0e9dcc9c459c2ae34f1100ee7abae02d39ed501c66ed519292d7882de3947edf355b99a7d7fe7ea30ae4ac83aae9eab5c15c9aeaf66e0de4792abddcf3a78d3a2c9d11c3e4e2bebb9743419b9a6fab258e680a727a745705e0f24d4b5d675adff6eaa5ecf5d73c96638b9e71082e15bef8ab7b6c2e9e218eef8e404c890c9d9af868f2e39adeca8430e350b68d92caa9a3721f0622e9ee4fc4e7838c593108eb3ea92e7ba56b96c4094548a4a335f077cae97475d63738219237a8baaba9881939943ef64037362283983d42ca4e16b86a81fdd5c19deebc8e96913d25753b9f296ba5a36fabebad6baa8f8d3ff1ffde8479d57fa9a7a4eccbda738f8200973b2d13cc8c34ccbfcbde404aef8faefa6fa4bbf6364e524ab9fa1cd43002916ed21660657fc26790d60384065b53048c2a5afc18789437e86d78579f07e93ee4d788ec64ec24a4e1e2f07fe8adf24af3687035476aed60c945b29ba293397d93b67f138efd67b14212f995567e75fd51dad3172a90b99b057bf97f25c5746529c2b3af057fc26f9aa1da0c2da680d92107e551e260eb990eec3bf8c390b37e9de841feca01d0248b1482ee359f19be4d5e67080cac3902ba72fbf6e2a189baf8fa8c93d70f6b77c436c4f3629f1775470724b80d8d1a8b7b9c3d77d70ce1b9d0158587be70c302784b133c8f3f8cc70c8c6ce957b2d27cfe159747f4d35016f2afb6beae979c92c6dbdebbba26419b296cb66af26d91a8713ad310df76e863a72727c484b2d1c42a6d51c603f3e3c5d8ae4c135915b43c307193b7af1e3305bccf9221358c86feb320b133f2d7ef546c3c741d0ec3d1339dde2540f9face82d09f94d977d3859195fd178641cdef58e1c9f417cbdf0fcd222c3d95787a78b8633b8267279081f84cdece8c58fc3543167934c40cbeff33557fd93749399aeb73c903dafcebf4dd799a0d38c438c5d9f5667293221591da7dee41541c08744884fae79b53e77def1951c2d8fd39b97c0d563e4a9873f08950a64bd2e60e44b7cec0f7fbcd322778d991d4e76c6574c357ce4b11c2d3b11e2906b5eadcf9df7eecb34f332cd8916b27ad48c79e0afb8ae7ad7eb0ac9fe011ffb838f775ae4aef164f4b91b57c5d6650aa30ba939d16aceb5c459eb5456845cd135d79ecdc897f8d81ffe78678abc73250fe570e7ea72fc3ccfc655f7ba3383f7aab6241778f5cce06782ecd47af799619f458d01c57868c0749e31369ce88ca5c68966e30a27dad571d5f9f6391f5702d8e5a60cecafa977fed2af0419dccdff46f33cb7e80a473037f4420ee33e1c381c13a689946e37602cd7cc08397cf874f35e3d787e274e0264622368ae7eb3030c570f6764c27a2d79acd6d575ad76224f0c734538f80add350f90d5be663657ce1a7364b4b14c560ef8e4a4d8a61e3c9589f3f99aabb6f9c955cd724586fbd62a275e48bb2f7d779d3a5ca2200e0172e888ec6bea29ddcb79dd615133cb83070ebe722ebbe802a7a6a50c52b3df4d25af7fe9374e84830c2ca4037e88f3aa6e91d4751ffe44b872eeef97ca10086361f5b572924765f845b8fa0d59edacf6aff2231fdc1d6c0ee73ef821c8f1bbeaae910f4ec86cbd830f3804c2588876c93984317ccc4bfb07f26aff2a3fa7698deb84d11dce7df09bfcaeba455b3d38e13e7ed7c030c742eaa3b81a3974e18cd621fe8c8f2e61652667ed208fca013fd8bfaa5b3c75dd87bf463276eeef97ca10086321f57cad9ce451197e111e623b9057fb57f9393db83bd81cce7df09bfcaeba6be48313325befe0030e813016a25d720e610c1ff3d2fe81bcda8fef7753fda48f57a5fd3e2ac14e64cfa2680b53937b9b13de1348726706af563b6f1470762035f799c116dfd960ce45879cec5cc98f9c381f3eb7b9da5f539bb357ebfd35f5f4fc63a45a010dd3e6b07733c9eaf98e8733ef5d4aa5911d1f0eb994d9845b4f3193c73e410957b7e60e9fdf89c13a32b15159ed145b76c88c90e9c629c8de3365bf38c9bac8c8c96333bf3c0ea7d820ec00a9ec5c75af1ff25c352adcb2190fc997e3cadd577c53ed50e2ea12a6268cdca052cfb7a07f959fee7c235af90e22f0b3f93bdf4fee635f177ed686b65afb37c9977ed76b9c98b3397e0bf5923948848984a03cebb95ae3b96a1f389c530477cbc40978e6f2ced5ce5519306cf6b8920a65f2409696cb39be7335ebc67d72e56ffc7aec942bcfa8e47e63455371f6b08b113ab78c2ce1c9b62dbdf6b5ce51e4707b1c4109ef0cf3afee83a964939c5f5ad9d9e72b79d867d106c9831857c6db2e3765e0cab1ef26eab382b7a63395b0d6b3d0032bb3cc69926b261c6a4b1544bd0a96bf40425d6b5d97df8e78eb5bdf6a19f5f4252a0453916038426a922186e63cbf59bcf4aef8a8ac46c84aa608ac9d813bdf1b93f392c190e18f4a21d51b884f2886020b2f42f51a1bbfc34f1e15b491eb9a78b20f1c9b90cce28cbbc0b42efdeaddb97aa0b93235dc232e14f9f77353c9767db887cf6e169a7b07d44bee64e04d7633cb3dc2f43e4f73fed22fa67911bf73c69c36ea42265cca90ba46fd92833036e3f7bba9e4fe01d5c0e1dce46bc5476515c86b73e55fca05bcf293d5d345566ed2857f06313398fdcc66e1ece7ce53c1d81cd7c35f85f1beea5e95b3b3ea463be0577527c87a733a3221b321eaf8e1ab6e8a53c7a77bc94f774c4dd8abcd91b370e0a43be0706ef2b5e297ba904ac19357fea59cdf68ab0c99e6184c28c221e468ea0327daea175233fb23af1c725e0e9c74071cce41f76a0c97bad10ef855dd09b2dec21b99504821eacb783e9b98c7fe8471b03f7918d7abbbc0e11c74f52af58e4c403b18a977c5877f6933ddd54eb27aba52bf49374753473ec4b9ea1eecd775c90f2986e1a43b20c1d7d49e4b7d14f521d451c4a90c6e3fd2ec89b1efa540fb97bd8c605f9ba7d9c119876b12e61c42ee64d2214453c94e725b277ecd01f1c97491d703122695b15f1764f8c9a372502f8c037f6cf2889f5f758e02bb8a4bbf7ab399e2ea97ca6a84aca00d1e323635f392c17a87af291e357e5dd5ebb5204f00055fbdc6b6f29347e5a0fe42cbd5fe9aba8eab83bcbfa69e7e7e5d52cc19a577660448df9d9271663ee398cf4d2ab8e984ac493e9938af627d7bcc6cf61158a03bf31c6e8ae2b04046a0ab991d8282aff76cf5deef55b230365940a01b9fdfecc387b3f2a3ad318f7dbe68658a6ed7881f3238a478f013203b576b961eb65cf5502a2af7ab4383f7d69e4b0fe3ca536bc363ce2523747a587b7539134418da1006278cac977cd03af44e3381dfb42e750f7622d0aae8a54b1e7cb5a05733242139dd91eb5a8d4c3c57bdc7bfcd5c1570114e6cc5bf46b8ca7351a3ab77e76aeef2ced50c8c3dae64e0301e669c34cb76aecac3e59ab3e2f7c9953d48afcdc8eed389c5b9a2b3876751882e04af5fc96d58ce33fb7cd5196372d5796f3dd7ed5c1936c68cd1f248e44ab4bbdc94817bafae6f623cbb78ab3c9b87e51e32c7ac59fa3b3cd524d74c38d4e624a49939c233fc9aeadf4d6d7db4380ac39836e709c6378304935fd72ae3b49256e38c6e0204bf5563ba98cd663307beda4c45ad573de5100f9bd969eea1659fa9512cbc2c0c5e3ce9d6b5d2863c31d73bf53882acf2ce95fc4f9692d7fcacf283c895fdbb7beafedae98b846cd6b8957d3e9d6fa78269361152d424d3d24c6bfdddd4f80e6a849be42ce8bd4a3bebdd99ec71f03bf9cdf92fc5cfe0df4dbd6a27fb977e2185ba6a4d0cc5b672b250bd5ee34d72ba5dcb4df2aa3b9647659084ab71469e0bc9d1cabf495eade18c9d84839d69ae5ac9637fe50456afd778939ceeeafa525e75c7f2d0064928b6b58647deb9dab99201c3601d0f333cd6ae121592bc8ea864f86a6795eb5ac7ed415eadad76320259f9d35cb592752969a53216ea5aeddc2463ea1ac5abf2aa3b96476590047846a68647cece2ad7e56b2ad0b9e515af7885cd8b60abb2873a8f55fba66a6fc2d1549321e9769e2187e8b20f7ab285b3a349858c601f24136ace3109a2a4488067b3fd147eeedfe7abd270aa77ae1edcb8da5f53ef8db30b697f4dbd37f72c528a15cdbad64a275d7d638403c9cd55b5f77996b3466d4fb938103890cc42ab2db9b4b3908cc30bdad8272bece310d070c6577e35b3596c7c651f8e1f87401d9e10ae1e5d827272b6fcf8075f71ea65595384c5305d045a7ad1c8caced5c3992bc702e3416ce7fb7c6f5c39041cc6550788c6d5fa35758e1411d4578b9180a9ab91136774bd309aae21e8856b4e575a432064612cc7bcacc7ce81995ffcf0e95d5de00c3e9609ab3cf6d7680f36f1211156dd93a14f2f5d176cc2208f6e31d73504bd6b0cf04c0e612c145584abf5d83930f39b9da9b33f76700e5a85a18e4318fba345486bd5258fca08636d84d12528e1a35bcc755523e85d6318ad21c4d15ce38976a8c7ce8199dfec4c9dfdb18073d0c2acc4218ffdd122a4b5ea92476584bbc6eefd7774094a1da35bcc755523e85d6318ad21c4d15ce38976a8c7ce8199dfec4c9dfdb18073d0c2acc4218ffdd122a4b5ea92476584bbc6eefd7774094a1da35bcc755523e85d6318ad21c4d15ce38976a8c7ce8199dfec4c9dfdb18073d0c2acc4218ffdd122a4b5ea92476584bbc6eefd7774094a1da35bcc755523e85d6318ad21c4d19c78fa7d5467097b5367187b16827f1dcdfee5e5a933c6e5f90a799faf64a95cd9d3dbebafe64a6e77ae1efe5c8970979b3270ef887913e3d9c5ad53194c58eb59e0809596c2916baa2f8ba90854af82b52c9050d75ad7d5bf9bdaaf3a34e74df8790e2488160e2468b2e049d27210ae4e26e81a4e827ad5d53c142af9828fcdf145778caf7231a4123ebd19cc0b7038633fddf51abb9cf089210b9af0e4cb9cc0573b3b57cf49aee6d9d2ed3053ba59ede2f6784d37116e3018e404b7093ebfa41a8edfefa6e2cfefa67692987349c2789973c610723db8e6c8cf84b3febba99fffe637ffabbaabcde467125b41aeb59cdcdfd76a7c953392eed4c570a0d5ab2b7c6ed3e075857f369c9b74573cb938efef57efa1ec5cdd748f0e89d2dcb9dab9320c4cb7cb3cec39584e9cbeec5fb2f1f297bfdcf6e4d7509dca6c46f62c604fa73e96962e5df269ff4a98331badf0b2ad9e6247eedc0299b3cd3e5f75549b2c25ec5c757e2b39ce45334e0e89d27c10b932dabfe00bbea0e9f06bbff66bc67c853b82da94f99eeff91e83df77d71ffbb11f734e132abefa504c0d88ae84e438f1d5978597c03b8ecfcd918b0161e209a91e90f020cafe9a7afa5e6ad81997163263a5ef99644203d778c599a6db80ac86e3c7812028f00488929df090ee6272787e43f2950bb2f764f07191ae9a5f5a2b1e8d41a0a289c3021933836483959c5f82ebca0e64ae25fbe9c6c96cb165bc98e11c912320c7992604217cec431014780244c94e780882921c9edf907c4520ef5c5dcd958752e9b260f5ae5a53aebcab06ba9554dc970e0d64c5ba5373ea55204fb3152a6456ab8c00573ba9e81add9be4b19385a18d703015be9a854c812b63131e1261958b76104264b58de1808ffa7a8df1473195691643e01a4f5aab9d54c26faac7cea57d2a07ad69268cca89b794b1395848cd552eda410838d53b57a5a26c9077ae1a27eb980fd9e36a0649a99891f3c2c955176e3feaeffdb61f01ed4d6a7b56670689827891bacf0c9d79e4e1902bf83e5f19248fee59b4b9b0ebab19d88fa99ff3ca57be526acc73a33cd9589f114ff068074728837a132c16f0960cbde12d1fc3d13ce00cae1c4dd6f24bc8973a7783eb6227dd388cb46ac391154db2dec8e96a1603029985e2c1518633f21a0fbe8293f1ae1753132ddda252eb050eff64fdee2b4c42ba6ac1502f86350f38c599902e832b678d0d215f6a06358b87a01415dd3804aec391154d1cbd8193876240d0c55d719e2cdeb59f4afc351eb802cf78d74b4b132d7e51a9f502877f367fe7752f395db560a8170359d7c4539cf6efc1191c19738d4d335f6a0635bdb753577c596d87eb55d91c9ed6d312b9a67adea8610e38723687a3b99a1d7cecac7cf2ea7d6c26a41b3fbfab6e6f193d84f7a4a46b38d4fb56ec30140e5186e3f5a4e22d3e049311f2a81ffca65bfc19193b84e474e384600e38f2997e273ff5fe5b7335f91c9b09879873a45eede711bf08e38c9d3266104294e1248ffdae3153633f53c0b3eae9c2f1531c3bc349374ebd98038e1c3fbf7a856784ab333bf8d859f964b4e18ccd84f0f8f95d75b31fbeca326338a933aec6415839c963bfd8c6c5e0ab6e9c14c3d5155d0a597d792d2279fffbdfffc10f7eb0898f369c91d778cec6eed8c9fec48336bae49c260ca730523cd81ffeca59ed844394e1248ffdae3153639fa000cfaa0f645cb15f0c6b3c3c2a13db700868e1086475e0811fae4b59ed0f1f3e9cd54e3844194ef2c493af511f7cd58d93e2d82124a71b270473c091cff467795c99c21c3dfef8e31e4ab3df4ffa900d69fba6dabe76ff7d10b9bd8feebf691f6c5fce6fbb333bed958466379c774593ac179f90ae26661c32efe40caa873372d373f07c65bcebc5d4448bc35a36f512869f8bf195ae5a30d4c3c968c3294ec8e00c8e0cd754e797902f35832b4e2e2aba71085c87232b9a387a03e77a31e108baba2e84ca703493d778f01578c6bb5e4c4db4f845a5d60b1c7ef6e109e9aa05433d9cac7738c509199cc191e16b6c9af95233a8593c0485cd74e330c27538b2a2397ecf1abb3a66603fa69e3262a0f4ada9c157dda07482d70c89131e32b8210837e6563b746744c21baf8d4b353e24fbd914c9c9d379b1a0a890b3a926e3b343c0d74bb7fb49ce7e7634c7a06f8cd32417839a5c0c98595667532fd015cdf749325ff09dabe741ae3ae2f77db53b6b7777e69ee134a719b7bb33ca2023781aac574d76d48839b866887ab583d993e4f4761e1a6b8491479730f2652fc488fde99ffee99ffaa99f32680f4ccd9ffff99fd7abe4fae4e05c7419f33ff3333f43d1111fe6af7a909f7aeaa93b8cbb4fce63b32bd51c6465d61b8220a5cae4044e8ea31efc6cec742e1c9b2b67ed858f71c2f05739fe8a5ccaabaf43afa65e3f8f275d873ca435f6532c0672cdb58e6fca28839f789ff5b8129edbf4def7be97f7bca8bbb92b32bef27859cfb5741557ebec1f74cb8f00c67bbae3317ceca77ee0ac360ffc037362181542e3e7c31ffeb0e1fde33ffee3bffccbbffc4bbff44b3ff9933ff98e77bcc38f4be45a3dba23436e3357732d4532f1b80465a22228038e1c67adb370a6df595bd28ab3da1f2333d770c813c9e0591b5dcd95b3f6c27397f1ab75fce2b9a95e7d1d389ae33dfb10851c3ef6030f9cc0abfc0373621815c2e4247922193cefa3abb972d65e38234a7e2f6b2b438b248e330c424717ef0a21ad1bf07dbe920d893aada4e7b5544e20e52a64f09dab473457c2dee56a06eebcc1badaf78202bdff689e7b7833cfc9ceafe49ecda4c28a30ef481020380868ab6e72467ade6b29191c1f9e6e36d54006e393f5c60919fbf0e4f8c9d48b532f23d92f6035ced84f461ebf5d48d78b9c1dbde47c91f5c60756f24bee3231394d37c2cadfb9eabe3c885cd9d4bb178c7bf86ccc78fe2cff3e09364ee0e49e4ec94e0021bea98a8d11fb9ff7d98eb6dd3eefe3818a663241b333c7013f70e21f4e273771985adffd8f2ffcce3d04653807beae8221c8009a839432761851feeaaffecac7d293a1f3c752d74e80a7fb977ff997d2e5f2dff08637c03ff2918fa85ffdea57eb8d533d368b61fc86d75c39b4e4f6277ee227dc8e1ffdd11f3df0b9183b989a2109ab9de48921827a38e47a473721fbc9830ce7321e46b2535783e155af7a159570c2c49c9d154fae9ed8f08dba92f0233ff223e1d95f39b432ae1e7c95c76f4c5d9ecdd4c21bfeca4946a80c47b308074f38f08190e15cca8c941fb32fdde18cfdfbe071aa27b6033f3cb32b87d68407f71ee1377ff337d1bef05c4ce4f79d8b97353ff0033ff0d8638f0d99b0da499e18bad89543aeb72efc84e24c1e643805ac39be18c9cee15a70c209d91cdd154fae1e9b077ef8c1be26ad8caff1acf2d88939e49b38f1f556261ecd221c3ce1c0074286732933929dbaaedacfe6e8c6cf7272f5e81ef80f5baeec415e92f6fba564c12b7d593598adeab6b0396fa091c39d2bace496ee7ef265f6c1ce3fd65ebaed83ead90793f5d2ad8e4396437576e2272330151f27fb04b81a279b23af7e3bfca8b39f9d14f345d6ab6687854a7ec9f8e9729a6e84959f0bd610d056dde48c94ab5c0fdeb5a49b4d359097f864bd3b57e5b63c901f44aebab3bbbe9a81fd35f5f4377b8dbfb2630534338d420839d044559ab1909a71808ddaf8ad38e4de7561427a1748311c1fae8e337e09ad11adc2e198846a020b3884620b17434b55f870d8ef5af466337e7ed981f7bd144e8bba520c382171c2d176ae1ec55cf5bc6a0cb4fdbb9b8d844691667fbb825059cf4083383d844fed9f61ffd8df9edee90e928ce959f1539ffae4473ff231f258985e429c10eaf8d1a6068ec7a1254c334e2a64738a6c00afbae43ff9933f61aa9f73960ac8d8e1f7cffffccf35bff22bbf126ebe18f9b2e41f48c8ec30d3d29ca8563be1a9c0e3f4c4eb516a9083b5f073ae88774ed52b879d2c979f13e99cabf00353172430796a82b26a15e15aa71882ec31cc89d6d37bf8d48491d1463ec39f361220accdf3e4ca840f3f8fd35b9cabe59131cb95475fb74978eee9da9bc75bc81517939faee5f22abac0f5ba46ae6b22af799385eca77be078dff47bbff77bec7ce3377ea387d26ff8866ff8b66ffbb61ffee11fb6749bda7ff6677fa64b592d8c1d02fc1672351e2792c355c0712ac96b7d89436eb2b05ee925e71261aaa81a57c9078fd954ef5c3da05c19abf6236b6ffb514dcbb8616ca677bef2280b771a09ef0c430b4256bb6bf8e47dbe6afaef5c191e8a71a5363cceadd3cf21ca0fb071f5f0e4aa6567d75733b0bfa6de791f66561bb8466d035aed9d93314d80eb35ca5b01e3d4357ce37ef8e9e2eb453be0900c0e9e2e2d5d54d24a3d500d4c16c9f021158a4072364786b0131f47933a0e70e438eafc8e6e1ca1c62f80383b570f49ae3c74b9718a7b445ec79523855b39cf6602b6d3e334aef4361e8004278079fbdeb12cb36809d30b2103091f7efae98ffee3a73ef2f17f78fd97bce6a5d4ee3ec7ea7dd18b3ef1f47b3ef08ffff2391ffbe7cf7de36b5f7169e7cc397db34d2b9bf95207e66b74c77e5a6875c1933d5eba90c94931fb515eef56beeccbbecc657ab470eef1e8358a7ff3377fd3b7e5279e7802bf4f64be4b19e138ca182faa1c15c9216664bd4a7e093da1b146d63b38f52c9cd867be3af5037eb0596f76c8abee6a1f3e76e031c77ebe0efcb1192e728772914be9288ecdd52f301c8d90f10248967c0253f592956c122627f9ad2b39cec9faa78dabd3d8cb669f523595b133725a735de16a6695953ff6e1e438ea910f7cba97f9c93e668a63335c9df1f09b1cd5cb3efe946c6a4ecc90387ff1177f613cbff18d6f7cf2c92711a867e14bbff44bfff88fffd85b929a755dda199bd1b24f0e575351c6ef6a071e93107e953f360f76c626234a4658806767f09b1ca5159f4a65b593ac1e9bc9e1633fc5e1681ee2890fc7218fdfe470b5a6124753193b703284109e7ce05fda4753c626234a46c2d5190f4f0e540387902fcd29ab9de4e11092d5f827afd7fcd615873c718e9cd65c57b8fa647db92fb62ddb9005a705bc93462f05c88c58d53bc358dbb3d999c41f01b6aa93dbcb5826535cf74160ba0434061542fb60a01a98bccf5772b8737539ae200f745ccd0f7c49fe2e870cecc7d4d3e2657d5c972dcba234f5c0565dd6bcab6b7dd4c4f1c945afb14b6e6e5be31ca19271c8d65fc2e03dfb8daeae6c1284c11a66919043b2afce975eb2aed14dce66ba6cb616b336383e395c2d367610a8c3c9085c908b593304883f7e2742bde9469b9aa0ec5c49ce6de6cac6dfbd7672957ff7cb38040ac31d2c127796bc22705af1cd02c2e904b19cb7c89d0cd44e0073e638fdf1c57f3c1d623ef5c9bf7ffaddef7dd517bff10bfedd89793a5e7cfc437ff5c1bfebf3e8273ff177fff8a9c7fc8b01d9c19f329621e46a1612aef6d635e7a1b480e1be09fb0d5b57976eb8f33ae12bbee22bdefdee77135cfef8d2fcd33ffd53f5934f3e290f840f7de843ea7ee2d7f3ada711d384d9d7bffef5af7ded6b75555850fc5e22bea75c73c73fa8f0255ff2257ec6b25cf9514c8e3c03e3bb111e27cca07ea898629c3bb93a9f02d9e1885faf15f8d5f4c09cdfd7bdee758c8c16d9e30782d8102c415ffcc55f4cc866cc6a067b44179ec0d0c4a0ab5e3924d012674c1e115c8530e6719ddff812eb67a7d55438f520b45acb7be4f8ea92f0f4d34f9325c1576bc38ffdb1e9d0e9425c8eb542845e1f78e25aaf7464f63bb6e688169b1e53dd6bf6a58229a993613762b48a844a1953970a31b4c44d2431af8e2b96cbcfc73ef6b1e2ffa22ffa220815cfdef96a5e9877dd1759128678e4bc7195232a08724bb11bbd0e3037fa100f8f1ff8c0070a5bce852de7eb1c747fd9f486a5f84b8eba5ba366309b08c349aed69bd6f486d43cf406565fcd15fe8c2b71b28cac24676de28743cefd7738e90e185fad441b617443d46b3c9387f135c8f007c161ade6c13e30bfe33d5adec7424dba6b6f60f51a1ba452cc645ae5273c396b13bfae35b6f0151cef431b616821ea359eb98af135c8f007c161ade6c13e50d714bdd12023c7d11c446fbb8f158c6ce29817d60a4cb3a9f3952e9c395f993e97e72b3b9729094fb77dd0cac6e63e5f4982223f2d7a56a4c9157ce74a122627a74c3d47b9caf5aeaf66603fa69e4eae96b9b676cb1cc17ad7515eca3481388e38c96abdea12aa6bd64dc8aa9b6c0eb0405633924d16c8bab293bbb15c18982db5d9195d78a6e07174c5c9c2f862f6a04b3195f01c0d9fba020ccf51483564628e939de28cb373756bb9f28c34f7cedecfef8cabf6a4c3b8c20fef7e3913c4d72c6646dce2ce8b84e43955ace79b17bde8656f78e317bef7a90f9fbfe77ef2237ffdee7f7ce5eb5ffbcacffbc487dff781bfbbf3d3f29ff3e297befe8daf770071ec50d8c914b309539f5d9d6823c49f26667231d45b9c75917bcc764513a7338ddfd4f300204b4d9f2e9c299c9e5e683d79fe18c50e4497e7a5dff88ddff0149a47b547ac6ffaa66f7ad39bde14e2e8f32bbff22b87d79fef7ad7bbbef55bbfd5f39bc3dc6ffdd66f4dc0ef39172e7a4c9dd81092099ea53d6e7de7777ee71ffdd11f5df53bd9f0179efc30e70446f8c33ffcc36ff9966ff1201d8829007fe0e740637968fc46f614e49f689b9c0069bdf9cd6feeece8692a1a17d493abe762055f6c6a5d5d35fb9eeeae26c1b356163cc323a0ad66bd3590041f4902afe68aa39e128dd85ffcc55f4c8eff077ff007dffccddfec164c5484cb8cb91634b7a3c8575f21e587aefcfcfaaffffa213f5ff3355fd39ba03e11a3e1bb6bbffddbbf7db81c0fd2733959ee467fd7777dd7e58df683bb5ea6088641e5ea1d14b6475fbdd1bef66bbf96c7d7bce6359a6bae1a42bc739a5f8491a993b350ef70a24dd701cfafde7cd53bb90a5757261ecd03ff60078129855017b920ab075f6daefc624053aefa6267d51d79f01ce5971142f21a4048f5d9d59df5eaa09b3a30ce211e605df008ea8967e4bc5ce208ba144276c805503df8aabbf22ffd6661f8ec8c3cf164363c4769c109c96b0021d538d1d4075dc8ec47deec98f8561ef3da0aa6d66bd136fbacdee44ae78d265af2e17cc529ddd907b373d807e778d3d4cece3e5fed5cade3e130ae0cbf073aae0ec789bbe37dfff79481fd987a7a9fe48d5d8352462c616a6b16dc1aaa4976303d65eb5c2edf4581ad8338adb9a30b37ee1bfa99eddd5e32fbadbfabae30d8f71e319b63a118d84700d28550ac59cd11fb74e1f1c9e3abd8ccb4e26784167e736ff0b95e1670e05960330e9c62603564e7ea39cf55efa185e1a65c1d579ec1fa932a6e259a9ddea1c1439a8f366ee87a7c9903872d1f53716e983347bdeacf79f1e35ffca52f7edf53a71fee7502f9c4df3efd9e8fdefb99b4cf7d890f8caf79c9dd6f0527fedda315e1608d7da072a0ddf375f78813017fce5271e836625ddd18e963e9577dd55741eaf580414eb707b937bde94dba808aaf5becfc87fff01f18f19b7e1e003cd87ba280338589c3823fa92ac91e189e7cf249a72b88efa5bed67a22f2694b623dd3a668d2799660f3f037998a1f2e0fe41e8f3d99f0eb710599fdf1cbcb39ba4ff90bae1e9c78f424e92184235f2c5d853fa2f3433ff4437d53656da51909689e5ba2fde00ffea059cc2f83fe7654bfd9e827a27d2bc634125c3bbfad155ca0fdf55fff35c409f22d6f798b0733bb29c473bba732711a513c364e9059ce38d0857415ac0918073f82e75e0522a55e223022c31e32e5e1777ee777bef77bbf9729bdd54c353821f9ea36795466f9abbffaab056f00970a510992c18239a4427aa3794296b12e737c892d5fe95ee6c75b0f417ad45cf3434b245d8e3b2518de7d35057639fe4d7691a3a9bbd1c6094706980fb373a3dda01e5375790972f5464fd8c54c9dd9a20da1eb0efacaea7e7df9977f79bd93b761c215f820710ee09975b27f60a6b5e62a0e3e61e49a74c74e48f5e5fc5d758b275df8c1c26a933c1e07175b78be2e6548f12324c759e574735def58a39b62b1ad111e9875ed5cad6929a565c6c9c129c5126a276a9af7bdd4bc4073a499b3906fade61d3b73de8880038cef3c63d54a66f9ea3eb8cf57932bf9d9b932665acf2fc79501766bb9ea7cd2d4d8f52103fb31f5f4fdd38a262f1de0084e33ce3d70824550490626377631c309f1d31d9cbac1a72b83ea71012787c7cf26844d72bee2d705c7acc4218b070781c16c46d615272f71d85c71ccb1333823ebb514b39aa3e1100a8cd025b01367e7ea3673e509a4d1e576b4ebbb7dd65c31b4e5cffd8590fb9aea1ee1e037543cdfb2d3fd75432b7ae760019933e5c8f5bee8458fbdfe89977ee0bdeffdfb4f7eda53e88b5ffaf81b5f7ffd773259607cb54f2eda40848cab13204a31845cc683e0dad5aee5c43ebfcaf14ce2d4e26993565b91cbcc9729af17fee4f9532abea35209c1fceeeffeee9efa2447d33ff8217538743df2a17946f54d4cc040cf8d3e547a7863dc539c739527043f22abcb8319b998a7cece64402407bf08c21ebf313d357974f10cf6fddffffd5d0283ecbb5e4fc89e1bbf603a1f360000400049444154eeebbe0e931cedfbbeeffb9cfcd21d9ac7e91e9bc5e91995237f74c7a375b1899c7dff3c8f785cbec72db8cfd1689e06d15803ca27a73e12f728b5de0b7c6434f742627134792703ebf2a8d643dd777cc777cccf00fb82eda18b6bfff8a7a7502a454e25fb454876234a972731d7a8ce2995eea9170a5e13509c8c950a88e202cb98c74219831cec17a733f1e4c7e7d9b3eae7c80f2f87fc7822ed727c389d4f9d868dcbf9d99ffd5997e358ec6eb220e7456eb622b7847227d5bff00bbfd0004333720e77107808fb32664970f99e63dd2f960d4e6627e7f1d9415308ba14b2ba669c4048e0997e8703b9f47b26dec1c9f1d31d7e2ef255cd4e8ac3818f4ca032316bd69b9d4bddf859262bab6ef2f89d0bbcc429ae7ea928816915c070024ffece8af1e340aeda1f9c103fddc153d79571353b7a2b63533399102745cd89398ebab2f2b37fc035c7fed8ccda258e3c1c325a4ca04256af9c4048e0997ecaad62d934fdb95034cd1d23f9dc73927b233067929a9d376c6a1d5780b30fa608370b10e090c33e681ac2f96d0e362b71d25df9711018cc66e4e1e4459dcd15878cdfc119996b119e92058e8643283002427c028ed2b517ffc13e0e95d57e36e14aae0908ea71d17585c7ef1a21d9cf57fcbae0989589416c38080c6633325a1cbdf985b3b9e290b1333823ebb5a4abe6683884b9105df1e33c5ab9b23bb8965dae66e0de0a78b5fb85037aa7e2629b57e484e683d952d381a379d8c480371fe0840addb4581b9b260f0bcd4c8255988c8f43171fc81a394e72be705ab5875f301343cdfcc699551e676ce64b1d272d4da578c60e044793cd228f73a29ecb5c971639c59dab8739579d008c2befaa3dff3442aadbf8e1353b6db8b373ce38c89a38b4fee5efdef7977ff9eef7ffedfff7455ffcc4e32fbdb792bce4e5af7ee20daffef8879e7ef7bbdff3a17fba775ec90eb3ca7a8e8157e077c593f7b509afc96dba8738e1ae0ecdd08de9c90de84ff8a6ebd44e6894227860d3ebd1cb730e4197e70d35231e21a4880ce72539e3143d727cfbb77ffbd77ffdd7234c0c9e7c9a56f36cd0173f649cece02bf92ac2ea98f92dc8f0f1cb82b07b16e2ba25622cf410659a332e8c95965f4c165c294234b86f6e70df99fd3ae829ac73815831faf9e122073772fc4c32e39ac5ef59d7d3b227b1c9c0f8c299d8fa78d843da307d34c6f1a3b3f35017df4360bf88eb111141c9d7580b2c5dacf9e8eade4d2f614dc59ab12e6198a5c280cf60f8c45f9cbe9ac2cb0f618afcf4c3db5d141c931d9f8bbb1c080beab99c564bf6cb861bed26b28343514d26b8f538c2f61996856ef470100e61e314b32e455a7eeee77ece33aa075a7ff577ce912c140fce58232807fc6ce61e273e5af8da7bc8554c35fc6cf84e358a1951e7519dca20e90626c719792cac9cc0615e7242a8e0acb9228f9de184601eec682a071c39fe5aa39de13b55cd9dabd25136a65e73e56d5a4788d99b66e9b3a89a11260ea1623641b239e79076de1646a63acfe0a359f1f081e6dd9c8592cdbbfcb6f10d3fb059895933bf71e2338e3336f3a58e9396a6523c630782a3c9e6c37c66289f3b57b736aece8365575732b0bfa6de49caeceb5690deebb4acb45a450a6f7553b71e99c6070e5c31b8b36995d48c93cdf1a52b199e1c813b785aeae184abd7d82832ae60ea2a1e04859c1d9cc131d184878f333609673377d6eee1c3274eb2523c84623bbb3ad9c9f289b1bc3fd37b882d421c16949dabb2f4ace7ca279aee5ddf6a1c0ebc9ff6bce11ca0264338752fbccf4e8074f24b98f3198ee33e5039cbfffcde0f9d14fdacef5ffff3abbfe4f54f7cde07defbc1bfffe44bbfe00daf7fd5e77df0e9f7fcddf94781ffeee9a75ff165afbff83bc0273b74951e210eb2ded5d7c4135f6f511d623362110c27baaeda83a8ef9c1ec3a2390ce985537776f4a94dd3734836d53d457818305c0baf18fc28ac5e633e3b1e03fad6e7f5a7ac2a1eab7c9865d397c662c0ef81d0c3cc5c0b50c9e61a7fcf5dfcf6d0a5abde9ea3f865c1473977c7e5f8cea64070582374d704b3d2f0f566a7baa355af6ca9f8266cd279869f3ca329b43a23baccecbfe94d6ff251d4f38faf884f3ef9a49f104610aa82cf299ab25e1719a2ab4b632a1abe64fa9154f7a2d70767d57be34a0221c28bbfdacc17bcdbe4b6ca06303c3b9e0c09ee889a97322615389089218254acf8ea0ba1fcf829dcae25fbf9ea55828bd2748fdc0e978339314756cfe590d9991b2d72e4acc11b602623d9afec1636b3b4a225c009ddc1f19520e05ffdd55f758b7dbaf7b3d6ee2cbcae899fbb3c32a2c023249fb13b78b2de38d1e8c2c726216b079b63273cdae8d65ced0cbf3857fb751543d686833632dad827281981a77b7f9bf18793d3b399a39d892721fbc9c5a35620d4d5c96bfc87d8d28d7f563da55449173232a4eb4d65bdf6ec0f9e967a38ab8c36364f9e1e825c994d86ab223653c018b6fcaa2d32bd4de81c52b4389d67ee7366c09cf3c99c5bcc9de426d1d8e96412bfae55d68b4991a070aa39e7227c72f1e00c8e89e68af0579bc0b3997dbedab9ba32ae0c8f5d6ecac07e4c3d1d289dd1ad29d69a0e7396188b8e775d9d7b5a6b20386afc7034b2f5b44536bc058b2e1c59ded94ca04ea69b2f5de1ecc35b1f217493b39faf74a9b468c60766dff2c788ba180a38bf2363ae71c2f91abfd9814cfce4d1752df1cb49f1d3cd6631ef5c95c3dbcc558f5e8d0d67e2ee8b73893b2218b7acfb1be2def55c6a18385e3b2be3380ae038d3f891574d65ce2eb492d56817f8e73dfed8bffbd0c74f2fb63ff9f71f7acf7b4f3f07fb65af71c6fac4dffcd5bbcf8fa8276b9fff05af3cfddee7493c95b17929879c484b890f181b09c5039fd8c83d3f78fcc6f1146a24fbc6952ec47d2103c97e4057727c3634f1810ab0e79fbe956976ce63bfa78b1e38e13ebafa79514f114ca58bd3d1c4e36bf18cb526b2662ef4a6b2e6f3e037823a3c0b3dc97844f1ab9b4358059679718b8168bffbbbbfbbf68e5c005609886fa13236b10da78f993d5bea35667c9df313b02edc3758dffa3ca94a6c974c0b677235f7056834e6687d560ff10b9c866eb92af2ecb4e0cc535c21adb962b6b4f477922666383ba977a32763f74f05c58c24e46bf2932984b92e72f9e9a27a95d0e514c318c42c9e9ee735d71b3dd73eb81b4d77c2becf8da6b2fa22fba26b16bb2f7eda79cd67f725beba72d05df90779e593290ef2ffb3f72fbdda75e955e7a954955d64dac614964a89b29272b59c200bc9211016a72e5f8046f56920b963892e1f003aa60f1d9ad0a4031207154246321801e660296dc84e0a1508551621b9c8caca5489faedfd7f9ef1ce586befed7038de887823d66ccc67cc31c735e6b5e63acd75af7ddf0fb03939b7e5e4cf903065e0cc0153412a67ce6f1e5734e5594d83e170f2976326e5340d77d19ce32698fee2ff265f48392418033c7375cee13933b0d3c485c83dcb2cb92c38a7b6be723a3807cf758bcb7beb0d7c177c477ea0fbe0d6729c2ff7c198677d651e9aab672d6a2a5cedcdc3d6bd8eab0e1bc755e03b33578d259fa7dc67e0794c7df97cce1169d5e548855d3415cd1688b003c88512307df0784dd8417cea9be234ba04c20440fe48a0451e3ebc35dff418bd1b6bf9086f5cbd1b0bee286f2c3cbd9258174ca31926688be67f7a2ecfa2a689e7831fae390dff9c19c2e3f397c0a947c6ab756ddb81e500188e4060b82666fa4b9e9a8ddbe6c362e995b0c486017a2571f343af1926688b2edb92e7f2e48099261e831fae390dff9c0d018f2f37099c7a64bc5a57dbee2d0a90bffb3760380b02816a78eb6c32cf1b788ca3ddbd9ca01b3cbe473be1cc5b4f005bff9dd8826f6bbe1ffd89dff37ff8a1fff0efbefe32b7fe5b9affc7bffddf7eecc77ff87ffefa7f7a39405fca7ff1233ff1dffec48f7cf1dc8bca3387d6850d179e3325fe65a4cfebda17bb6ffcec3fcd3ce97b68b7d6517c41d1dae5277ff2270b146b86614fe3c6f29c097b959a6763f514e1f103195f7df2bef9e9b187de339ee2a301cf546e721ede3c1863d8f2f7642b07bcd92646c6c335db5ea4660f45f63e8c4fa0ab713dfac23d1a79574676e616269086d81e53c97a88c22b34ea6cfb6ca26721c7c0c2cb274df97010553e3da9da28f3e635a3d7d45efafdb13ff6c7b871c8a47a3e9a9269129af9cccbb0d78cf32f49210d6dde1ab7903cdb04b8699906afa46fbb74b10adf678c58afdad363fe9a817cd49b1f58174139c0cae607dfe618b158bd40fe539a3da4b21d0deb9da789c5b4a3b707bb1a2cb779f6d03b5ea049f6329f9bbfc4cef3e2af892fb7e11c96c39da757c8940cd5301250eeb1e92f3ce57cced8f0cca779f57e19488954cf333ecf72c8e73d9cfea2a9996756f37fd3a74cee9af10c954b6ef532cc534d137e957fc371756af2493c3d80572fb6667c63552f4f4da51035feee79f2e92f9a9a796635ff3376988990bb66bc5ea5b144b907397dba4b3a925d2bba2ee1f53a77ba0f3aec7746e0c3f4dd0789771f44761f2473bf0bf3d754d2776355e753336c383218f91af1fdb666b05d9b2b1bfbcc55fb7dfb1ad8faea3b3957fd994c693cf565069ec7d4976b998ba635c4d6f4ae7aae6b5da7ba5c3ab1cf89731ce3e9a77179a5d1c4778de360cd41d32552174df5fc1ba52ba3eb05be150fe5f2692c4c1714f592692c02bd8d25c970836a9e63f1e44fcf61fe6d97a86d8b9c690c34cf7c76ed3e63e79f46bdf4722eff67ae9a9ff6f89731571ed2b62f8ce209d6cc5b10d88ff6ac0703d85ef659f5f9d97351761959fb4b4db9350d7cf2ce949a697ee877fe9ffe2ffffbffe97ffc7ffea717d17ffedf7ee3eb33f9dffdaedff37ff63fa9e656dd4a05b692b8f834ca859f5eeff4c22bc87835466deb008fdc56ed36d9b71f6d174fa470bd6a9be9ada007038f617e0a680e9e4c7479ee3221198a2a9f9e227af0f39bb77afdc733de5c35680efdced0febab5104d9a64cda704f22c0af6fcd9b8ed9486ae37936ea2f62c1f5fdddc6f0ea5610828f9df65a2a6015eb2797d560f9cb1c99a3a8bc27b3e66c01726fdec90ffad476edee0998779b65d6cf304faae6f8fbbe770f08eaef17ccca1d9306e9fa1602e73857145ea40b5370d245c8d0f7b7ec634627f1d60c6faca284d32ca8d5e6c39ac46169b67f562cff9d1b55ee16175627f6cdce674eaed00b38197b93a8f96ed416ff5dfccb351ca16a611e2ddb2519cf58d3eff73a3cab0dce053934fce177efa9c671840c6abf3576faeca7f0ec034d3d7bb90d926d65c3e2f237dbe16ad77fa73ae22d5f453c2cb27cf7ae77f462db6114fcd7c682e7c5bb1d81906042aa7065f13bfdce078757875e285cc16135e3e428a9a550235fe7b6aae9c6bce68179c65085cd60c34ce1a57665775f8e3f515a533a2fb6c35379e46c13feb2b53611a5d3fab9fb9b2483015e6e1e3e3ca8c7da973751eff0fbeccc0173f7c72e9f8c1693afe14c7a8daf1ead2d6d250331c6f42341dd3ae7aeaf49862f57635dcb1ce2a9f3c296988d5a706bf85173eac5e6c7a4c69d0333cc7d2553e94caf0a92976fe647064e961965ba9aad3e86205ab6994c5a629767a8618cd67aebe17e6caddddfeda71d5bb1d175cfb083e8fab48fcd63116403046196e0134cd7ffeaf7ee2f7fe9edff90d9fe2fc173ffc13bff7bff18cbaf59370fa9af3419e6ba6346ae5d40c37aea602abcb0d1002db52c051ea55aa665f174c93de0ac6f6fa6925323f5d1b59bd57a6e90914d8938685915594e2f34ec5072e9e514529693cbaf850007f796fd6936d9ac4ea8bffc66d2b5e467d1dd740c6f5d86c5cccde82e69346ed1b987fe7effc1d3f441c9fcc271135792ab027c6bffb77ffeedffffb7f5f88e23950ed5791d4f2214866727eedd77e0dd95f2f3b91ffd6dffa5b7eaef6d418a2df0af6dc75d916818d1bdfa6ed8f871baba13d982dd6d0b0bde68d348d0f1730594d53acba273aa0179ef1e9bde6f5f1995dfc93afff6fd0a662b16d2687bffdb7ff7653917f393351d294a437c6672cbcf9b151c56e73f456f04c3c30b4390eb3947223e811fa1cd791d3012673092ced7c8420617bb0b43591e59c46881f9a366f25a09e7f9b73f285e7194fb3b1ced85333dcb89a4ae68da579c68613e48fa999525369dc5945c65fb0d8939ff3f800abf2211ebe6834a7992752b9e456733ec434e50c2bf91438cfe9f1349acaa9d13c63c309d4a7674a828be6c22748a36edce533e7f10126d30c5f349ad39cfef84b0e35e7531a62333c634f0dde19e42ed99ac125746b06d752bc5544f7504a9f3faaddcb5ab1a8614c4d4a98f8a2c13b6deb3aef838b4d4f531af40c5d8ee6a36b6b2ae4f0a92976fec546961e66b995aa9a3e9215acd654e20b848b9d1e8fd1dc5ca5c714abf7cc0d2f249f3c31673e91d5cf5c7db7e6ca1e79ca7b33f03ca67efa3d5e27b6d3de34010ae08c051cb5709fa3d4eb13fd092c3e44d1102bceffba5a94c02e1c62a717dbc5053f0ddbde12a487314ab16ce3f337163e0d6c44fe004d5860cd8ba7a833b694da2ebcace869f09acb815bdbf892d0e7df2ea679e6ea2b37579eb8da891ee7ec77777dfb11de71d5631e4dab1075c5c202888f097f51ffd0effa6f7eefeffee197d597dbf87ff95fffb7ffb59f8829eacdd857ddf55d0492397da0114f7ce99da077089a16faf416f49ed33c49da4185cf0463c33dcf78f5d47750c5d67b3e532d0ae8b9a867ad8e790e9125e061a66f3f5a5795a1ba539b3ecd0775e37a2c5c6ca3f72a72ef63bd12c4ff9b7ff36fe8e726132f363de77867d8bc79d74ae6295d869b4982c91ac51f27eb753cf46b4c42cc83b3deff07db41d2d394eb09bd07425fe54da3c65c5e1d978fae7a57db0b70939646ed6b9cf682378dfe7c5a0ef10e45bf002467cfe43ff9933f3987458d69e679fecb7ff92f6d7e3c99476eff178b668f859cfb056353d18c351be754cc5378bd40a5ffc1e89c1f62c36d7e3a1e9066b2cdf12b5362db22a7d536e7fffaf97fe2d90126aa420f6c47177bd983e5236dff35ae1dd48f30478a0dd8b9fff81fff635b1a73d679564fdfb89a4ae74e385e4d8fc97c5d6ff646ce67cd8db8f3eb6ef89e26e56a60f8ee7f660557e6fc99f874edbaf8e83d99a2de8c7dc9e099abd743c23c98b76fd75c71eb2cf6498d6754cece1de79d5a971b936b8893dd910f2bcffaaa19330f8059b24edb5cb54e7be6ca71624eccc3576eae24fc943767e0f9a3df97cfe7ba56761decf81eee8a40e3d077c554c26416287ad39bdce1f82e1f787a1a86a71ecea7bd324c965e08c3c5e6bf4b523c1253acc0623102e313c43790ba5809b42de5afc6a73ff3dff602f9a487b7bdc398fc8d4eaf949b9073db69167b8eb5dc189e7a381f8234fc81e5c39f61db85d4a579d1209b13358d92674a38413c5cc953026d4bdbae9efecc7fdb0be4931edef60e630c510ef44a58c8b9ed348b3dc72ad6fa95613c8c84f3691106f7213499e7281afebdf70390649a1dff94d260a2e0f759f870ab933e5fcfffc03ffa7b7eef0fffbffea7fff977feeedfe5b771bc4448506c86ea79b2ca4d1daf568a1a3e35c3407839047acc6e65bcdfb0cdaa713dc7baaf137bd1ca41d7f2e9f9678f85f194276fa23cbf79def8a55ffaa51eb7ac0c142499c739af553d1d895598fb9f573c3ee9ed4d57e425e7fc7b2cd435cd78a454fb735f0fd8bff88bbfe859c50b34821ec03c53f14f064b401affe01ffc833765fc293da59b010f3636844c9395e7251be880b1457b0c338dfeb8f7977ff99739ebb25164867698fde4ebf3e4e6b004da2fc878f56512ec829ffee99ffe67afc5b7796d784f839d9bfeb7cf6660f3900f7380b9dc7471f0d1805f1e96bc4c3cf4f6b19a67d47eba995ec21ef9de9bb17e5bab63a09cd515b1a6f7379d1ff9289eabfdd7447eeec80679f03645f7cd61cbb31dda01a6b9b1c623196e0fbeb9a36d606e9b1f13621b05e68ccf67feba30d36bde35c4275f7af90ca769f4ccc3c9e6c9271e504e3e7cd7df35676c099c9e275e2cd91da7c433dcb8278e244b59d7457fd150929d639db1e134c340783904f8c403ca3c87effabbe635f4532cfdeb509faebdbadef4279bcf704abca88d7be2c8d3bfd80f34c47acfb1968fd87a5d73dc749c47aedb948afb14ec96d47dcd7d2a65f741184fdffd9dbf938e78f7417a240dfed484c9f0340ac3305288e64583c4e443a38453c209e2e14a9e12e89e6e20bc7afab6abb176df07f2490fb7bd6287319ae540af8485e4592ccd62cfb18aa56178eae17c08d25ce64108439a6269342f1ae43357e647f9d6e6cadf4fbdccfe53de9a81e76deacb15c4cc7459ec20db443981ebed9cb426d01503b84c2c767c57cc78970325b7931f4eb06b8ac5d670517ce400abe56044380d868f269e4f981e3ef3cc934681f5021c5ad8851beb45f1aad976d160ee9ec66a66f814ab8e291ff59983e63c97271296cf3357dff9b932f33dd4d96bd6041d57560c768ad28ae45ef70438be3587e667e6877ff74ffc1f2d9373686d114e93fe64e08b2746596ccdcffe2fcea73ee57a6d4b7a6f4a3d7ac5c75427b099fdd52e320d4fbbc0a0eec498e549b0975d39f872a6e70107ad67034f591efb3df0fc913ff247783a8cbd52cbb31fc225f3986a6ee70928698ce2e46adc1e53e3d36cdc9aea3ff807ffa0bfb635104f3f65e4f1c6e6607ef6677fb6ddb70c7d7df42efbc37ff80fdbe31bddc395873d0c37cfabfe78d876fd893ff127bcd6d83c30f45cf4fb7fffefe7e6bd2b99625cd3fb47ffe81f3ddf1e3774f90f5f2661bdbe48e9bf3cf52531db6843bc8e7619f158d86f32c9b0f96fc38b8ab19b3c4efb2b413f8cf4b5af7d4df2fff6dffe5b7fc2ed062ff9e66751c498f7a6a219db6c18e5725c999cfbfcfcf13ffec7373fdb4cc7925d6073cce165732ca697f90eb00536fa7634a52e755f00f63c7fd9d1f6a0b4cf3c3998900c1dba00a61187ebc557cede18828be725760ef117bde6e9390df36160e5e44f4c70fa0c17987258ef45af79ba852fdb95a7ae7ad51b253cff17c537f6c6105c3c1bb77c0a8f597dea91e788d3301f06564efec404a7cf70812987cb6d9ad3e7c4679ef8f480c24a7d3ae419ff2af986de18bd17cff9002bad075c0931fdfd458ca6a3bdb541ccf0b3663039dff93583f9ef06aab6bfba843e6b51fba23576c7a7a6f22dcc55814ffde60c7cf1c1db9bdddf76b2ab1edbc059efa2d6654e8d39714df5bd386d90ea13783b1409d475d675f9b0ffcffed93f0b3bebf4ba023a09bb3e3a03319d8d1d7669d61b29a473b5b90a9f75867ae9c7cf797ccce989d15b02276ea0ea255673323c66435f78692cfcc448cdc470db1b5097bfdef867aebeeb73e5b3e7ed178f4ce513e9c4b1bf3c60f48e54af65bd45360d462f99dade74f02bba3a66acce79ea529fcb919af1eb9a6c4097a2f971eca94ffcfff9effffbfff2bffbefe0ffe5d77eed77fcd44fb52a5a9da77a4c51f98c07864f65a47a51eb7d09b8f1916960204dd87391f9f4246c32e34da0359627a83d0ae25b5dd90597f0728e2cfcc40d71dfae99d8535ed9195a89549fdb95a7d1e569f4beee98469772621b62bf7be674528f07c8e609b322b375dcd429a73f3d178b5464ab96c66beb1b8e2b1710afa04da3de737b296bce3fcff861732e79fea6bd8be445bffc9b31a3786eecb04f99d539d6f8e5d3fcb467cfdeb09466e2b4b2399e575d752397f032c128f7d8c8d7ce2f2a136edaede53dee9eb10b39f31f09342810566fdc132fff7aef9af1179ff19bab0f62976426672c8cbcf391f34c76fa24a8bef06b06682ee1132cfc4c23fd197beae1b2aacee164b25ac807fa376317a8f7129bf39d3f7de04b02f5ae3efd916b06eee113e4a079a691fe8c3df58957e7203ce65ffdab7f8571843b97bbb0e09dcb4e58a42b9853c969e5f8ef5a2a10765e9c358d2b121f7c51ea56290d171f03d3b766c31074e93871518ba54f83998c8fe6ba2ebc04167e6264b9d5cb768198334ffcb3befa819a2b47b8bbb0db9383dc9f2fa92b0e0c40edd4f079a833c54de1177ee1177cd0ecf8a1575f8ad301a32b104e935e7d2f4689fc34f06b73b81c08964f4cf548e0cb28cfdbd497ab839955bb2e3856ec4e4d6788cfab60d70b05a317c0e05d9e601a64b1b058b5a6d2675d00c6672dcc33c16334f944e6d3581821fb6c86a6d817c757be10f5007e3920e9350119d6f522fdfc5d5300294fc0b86a3810d6ab34ae5a1737250dcf1cd4c867aebe5a73d5b38d7d67cfc276dfebde7ef9351a6b71bb38c6d550a94b5d33e6637eca3bc8cd154d57754cca46590dec0ae8a29c9e7221187cfa94c3f9a74c03cf2193799e7c9e3117b72519af6991e4dba43d5ce5e9f2ed859e893dc504caa252ae4e79afe99532593e989480f76cc692c334e9b75d0d6168b2bd5546d2532ae16aab43b26e3fbaf2d4a568e609f0b1c9eea33da36eac8bdb02e3d5b255e2f3442a302baf91eb8d8c9f49fa9af79ab8e4f9e87d73ae72304433b6bbecf24fd0b81cf0c380d2beb667377b69745de68ac614b9489e7c9e314296e7342f637cdeb97acfd21eb48d13045e025ecbc45a70f5c80b28a47197cf424e87300da0fee6e7ca88f317abbc3757f34c5faae758624fb704af962ffcbdd45554bde10ff8bbc998a2b62df8988b73bc9a92e0ccff0c89279872f8647e00e7ca3cb8ef28e6c1a3a9197086fabccf198db452b2cca071cf82dd9ed49acab3be323f2e38e6e1598b7e7fac453bb09ffacd1978dea6bebc4d750574b63bdc7b866ca6764dec2aa9a6d1e5eaa07699481fc0147b6a92a5cf0413596c788640b29927504f7ff139cdbb72152b8d750997db85d7c46fc46cd5c86213a4814f25c13357df0b73e5eebee3016e17f768d44b5464c083281eb6e380783bd7e2a0bde9615553f136556f0bafc0ea04ebd284f5bec7d77bd19cfa39d3789bea252aabdea69e9ef094279fd507fe898b9dc94840ecc96f94794e50d49a818f634fff7009bfc9376235419a537fcfedae798d7be6ea8b4f433e98cf67ae76fcfca6c7de3357cf5c99812e47e7d1f2c1f9f5cd5caf7a9bcad95f2bb87959a530b4d2507b6475b7c20430b0759a8f9ce83dc7b6475a99e8dd7d10ee3e484f936020d945a0f7595f6d8a069eb932153bae9a961d27dff6e3ca3bd2e76daa497eb33c6f533f1d88de43364156ed806b9c03d131baf79f98de55e215380d71afa19069f67cd83b52fc340c8b6dac3052d309d06784e913e8e2662c59e1156305d4f8b0718b2d6ae63917cbbf518400629389253bb78592463dcd724b39fe99abafe85c398a2ec7551be290b0bc5869b9d071b2bade9af0c9c363c4c2d5e3eb9d06df3b843bafab585d347737bc72f79fb241177be6502c26f26c9ef94c708e92f85ed3145bd4622987d715b9aee57cf2272e70b92d9f19c608d9f64e83ac9c8c40648cbae6626b56170bdf9bcba7de04e7289f06befd4353ec02671e23625de131cbf9e44f5ce0725b3e338c11b2ed9d0659391981c81875cdc5d6ac2e16be37974fbd09ce513e0d7cfb87a6d805ce3c46c4bac26396f3c99fb8c0e5b67c66182364db3b0db27232029131ea9a8bad595d2c7c6f2e9f7a139ca37c1af8f60f4db10b9c798c887585c72ce7933f7181cb6df9cc3046c8b6771a64e564042263d435175bb3ba58f8de5c3ef5263847f934f0ed1f9a621738f31811eb0a8f59ce277fe20297dbf299e1181f8f6e05625dd16dc8f2a3bffd69adf2acafcc83a5d7b31675fc7cdfaf45778e3c6033f0c5cb90515f2ad895eebca8857751d3ac603ec3974b7fcdc0a5761a63d427f0695c2450d759d7e5bba93ff7733fe7a2d9739ab53b8dda45a167b0707342031038552efa458ddf3466359f4cf2410297b18c3b7fbdefe162f349737ac22bfcc3e5162e5cda9a70f9d73552333c8d81e06d635197fc3369330996ff4659d47c0a513f73b53969963e9e2b1f2a9bd5f66f2f51cda1a31de9c4c1f7f7909adea6c27de78740affde29369fe8a4ff268ac0cd47d37950f8ddaa9110ec02b0934b7e608ab170b2c70e40467ac97a8f7efa6129c9ab07a56f9bf57bf04bf96538f38530a27a8eb9bc7a7cf6c4be675d82faaf73c29ea6275068e9c004893e9f445a5bf6b167ed75f986c2ffa0ceb5a7aef8df5316fb8f9cc769e759d8234a727a6e6323ff5f99ffa0b5ed485cfe40c3f956fe2422ef96866127f1ad6f5deb877fef4992dd97864e51e8b3f8786cfc0f4a720fdc5675117be41cff053f9262e44bda107ead23c0d91f9d4fb9be2624ffff0f87c26002e9eeb8a5fe09967f81e5bf2ab09ee1accaca6dc5827f31afd529d7acd33a57082babe797cfaccb60434cff29e274d5dcbbfa891130069124cdf70e9adbeeab5e651fc7d3b590b33f741c0fd48edce15f6bcea8ff0ddb030f9abdde6dcc828bb0f12e449864cc01c48036f4d827c0f174bc0274d78bc66a571e1eedd91c9c46ac24b4673e4f03406822f6b00fe67fe0469d4cb2dffb316359fd788972a2bf99433415d054e00a479e6ea3b36578eede76d6a47e3bd7edea67e7a17da99b9f7994e60970cc76853e61872c63a99159ff9c1ce73027a3592b2cfba2e3e9a6277cec3af1e2f172f814c34cfb138f7ae327f1a4a1a004f190f230b8f27538a0574c9278128e39eb109f4d26f1b35e3316d544c9e613e344adb0b5cf2c7d03c73d53ca895ef91b9f2142a19fbd163aa02bbf79fc755a405c48a45c3cb067c5e9a04442538571ed3bc178bcf2dc1a91f06ce11c32793f2e2209f784a7851e3d72bf0e2b0e6a23091ab5f894f8bb3b6e2e2533e973c0bffb2e76adbf85efee5b66d39f5f0a2c6a7c45fb67193805fd4c8f95f98bbcf3357cf5c35033b32d77c8eab1d1b9d65ea4d4e78cdef8fb9b23915b7216b065721c57dca53a85504d2f7545b8a740fb586a13fefa79a9418f7350eb005898217888445c134c8677df5cc9583e17b76ddee107dca7d069eb7a99fbe9b6a6a5cc29cc3ae6bab5de67aba53efda77329df362916afaa6787a4d9a752d36e73c1334ee46944cb178e7153c4fcd8bcfdcb222ae5c7246b68d40c305e6bfe6652cbcb2dce067ae4c42bbe6bb3857d62e768a4ce4e07d694785d7aa12d3e560507bf804fa6eaada8e43faa50abcfd0e6398c03e8f10eb17e47abab8d4465911154e330ce86a09756ae2d577fd422edf4dbd8c9eede939669ef7714ffd2587d3bfc496c99c31cafcdfc4a7cff06bdca7eacce1c4ba1b28909ac39a977113bc99dbc65def25f6ce9f0371bee82f399cfe89135cf8bb8f7191e34ffd7082ea8b3e9212681302175e33b7934f79e12ff3b01c2ee35e78cddce67fead7754685752df6ec7dd3e7f47c2fcf02ab2ffa790285072ebce6720b27d888d38f3933bfc45e3433c49f3ec3405d6f7a22139cbd8b7dcff392c3620bac7e2f76c305122f0dcddc4e3ee5857f2f87cbb8cb2dfe1ce8cdb126bbf8273e33b9e7a357b9f3670ec389ab2f39475202a511b8f09a97b1122cf3e9c7d09fdf4d754b729f72577217ebaf7e3cb2623c7952f68e34ccaa77aa654503ec3e48d37d50ddfa8740480b9ead61dcf590baba89c3d33febab67ae3a36d43bae76e4ec38f9f61e57cf7753cdf67be5799bfae9e9cbd5ad397291f2598b43d071e95a06ef8a661ddf9a3e9ed2f90c8b051447307ceaf3d1c55c6f073d4fcdc84cc2f5eae270bee75c6eba7ab799261f9833cc0a56e2b961a6a7d1d57519c0371ccd72c6a497cf62975bf9ab970f8db19eb9fa0acd557fd9fb72947cfe4e75d85532a0b63e08bbfd0f8f6f1d538d6cada01ebfae13ac57c8059fb18ddb58e397c3981ce2e70628d394db18604cfeeac840784c2437201cb8e033b7619a4b6ec5e6b60c8db5e14e107eb32e760ed91a6bcc721893cf251fa4320d9f70b5ae31c019abf91afa22480684c50e07e287cfdc86f59efef3ccad7cf259d709c26fd6c5cea1348c3566398cc9e7920f5299864fb85ad718e08cd57c0d7de6ead3ec3d73d521b103e339ae7c37f55c2fb59af23675ef51632c4294d61ea7fe595f998dd67ee6e799abaff45ad465e1296fcec0f336f5577ffee77fbecff03ca439cf3d72f444a71930713dd169ba16683a19d4274e237ce749b2bb279e4f86c31be8f4e12f9934e16467ac5e0573cfad4ce24b78caf435d51b7d3e1b774ab2b6b7f9c13f73d5dc7e17e7aa4f9ddb8f563cf2b15f5a0b7a2f0aab6baafb7aaa2361ef51fb6e2a19d256b8dbed6d2a4f45d456e7c0c96ca5fe2afc4239193e7c4625bec7e2efdf4d5d60516d48b198f706aa2bf11d632e3ed32cdb0f3489275833e69e5bcc6ab253d988cbe7d25bf31e7bf2c3009f0cc3ea620327099fcd67aeccc63357af07c517f3d09c749c3cc7d5fde43a8f9967ae2ed790cb01f3de5cf5ddd46ea39613be9b9a8fc7540e7de213d6749f72c3d20cf00c0b6cfd86d145d97d505309ab6baa695aa73debabcd4f93f3cc9503c354b472865beb76cc7cd973e5ddcff3ddd48ec37bfdbc4dfdf47ed235cb71e95da27315762d73dc04d4bd6f443a7069308ad90ce3151abd407c38cfe65d483ec5c2bb2e784228308d58216a1a00e9cc810185e77851623100fd7283f1f98b8505b2c2a42fa5f9687268db1bb7d8785d0a1ffe987280d3eb2a3740177ccf47d4335726e7bb38579e69ed593bc24dbdfd6e1de04fadda777273d7d7ab582b28e77ba118b55ebca500dc4a2232fc1afdc9219feaf4779cedd9fb12fcf999a1deb3d6d5702363d65cefa91c9e780c7da397ffc2036477a5ae7a5703dfadb93274f9039772665e57cc293b35173cf1c93f7375cec6f03357e741056f66eef899ab67ae36030e86ee3e6e4cad6a007fefe366a4e80dbb6976dfd40be0ad25c2a25a932085b4f628166e0da3b6e629308d587a354d81cffaea99abefee7165f4a7bc3703cfdbd497efa65a7eb97eb96c3957cf998ac4e061d73217bbce67d7473c061f28703ea75e974021d32f64fc4593b2112f6315db65172eb7257f314c907999578f2fe19ac5c2c65d08706ad6e403af9c9a73db4f4f3c7de64021e5df96e6b94d48bf90f198e1c6aabe8f552c1e501aebfb66aedcef370f1e3edb464f9e405f4385d378048569ccb31a1688d44b0c9b13b55edf4dcda767121850a77c13a77c535f78b1a7d5e9137f7e37d54ffe222b672c7c198be6322e66a99efa0b9ff999c6059fb1199e63bd872f26e7a0e1b2adce649a9ae7580bb968d66c38cdca19fb71fe0b2ce4ccaaae93cffcc2234fcde9307d02cd7a2ffc0786995f3c4ffddd732101b5728684e3d597dc2e6315bb0d2c6a4d60fa59c5a46cace92f9ac526d07b89bdf31f18667ef13cf577ff8504d4ca19128e575ff2b98c55ecb9b10b399517ffd3f3d49f98e674d0a5c47c802f03519eb9dd3d4ffdddbff0bbe662ab5939b7eb3e16cdf2cf13b3f44efd85cffc4ce382cfd80ccfb1dec3179373d030c19c3399a6e639d6422e9a351b4eb3e2bba91e14fd098fff37d52dc93aa7bf0f52c3c4ee477d2ada47a8184db7aafddeaf7b967b3a1e687dd52786fcc5aac79ff80779cd7099074de5992b8744cbc2ad24bfc36bd1e7bba91d8a6fd6cfdbd4978725d7329fc9b9cc01a649ad74e0f6f99c26de6772f552d2776e63e04cc8fa6c6f7ac77a56644e83ce8134184d351f40d9677b94ef8da52b3de772cb01de40e58397279e33ac10b48d9d81af637efabb627c1afe802ee2f20190b0a878fef9e4d9b869c6bf977fb909519a07800ffd335766cf9c7ca9c795effc986d7bd38ddf5816079a4ac715e0967fae3ce08aae813b8e117be9d23ccb67b36f78dfb211f54efca652efe5bd6523e2a70fc4a4cf7fe6c0469c6c9a64d5ef8d252afde9737738473c7183d207d6a579167c050954df4789bf2bf1efe5ffc9f7f33ff3a79f3f323e664d609a65857c6face94f9fbb4356c4250584abe90393bd741fa5a87a57df4711f1a612ff5efed30772483f7f4d8520664d601abd69d4ef8d35fde97377c82ab713c7d05fba34cf22a48204aaefa3c4df95f8f7f2ffe4fbf99ff9d3cf1f191fb32630cdb242be37d6f4a7cfdd212be29202c2d5f481c95eba8f5254bdabefa3887853897f2fffe90339a49fbfa64210b326308dde34eaf7c69afef4b93b6495db8963e82f5d9a6711524102d5f751e2a7ec89b435c0796f3a7f43e1593358773deb2b478ee3e4fb782d6a039ff2e60c7cb1247db3fbdb4e76fd62bb0bd9f02eb25dc2d49813d754df8bd318a93e81b74691405d675d976f47789b0a7b36e85ab94738e7c3b0246b72d853047221018f19f59e3c92122ff6f499ffc47af3afc62f16ee29311f75cca5e650ce278f54de64f0e56c44f9842981a547533e2f2e9f310dbcf99998125ff38c422e24d058171e8979e6ea9b9c2b67c7e6aacfa1cd79401713b5cfaa4d696f50d51d396a5dbd5335e7944e8156066ffed22f872d535a79d4c4f3b9337825fe4d1c596cd8dbd4fdbfa9bd4dd59b893a5cf38c5ad765acf7f88b4f86a738bc2dbae84ffe3d7c7a4e8354cafcccffe29faca8e1c0256a1a2067f5896b9e51a7ec1cf73dfed4844fff61a0512efa937f0f9f394f8354e6891f1348f9269ef28c9a3ef2be2da2d22c0a33d9b95deff1a76681a738bc512efa937f0f73283db1d320953799ba52be89238b3d71b96d2c5d27ae7946611612b8847c90c3024f937051f7d8937f0f9f094c8354cabc7a4ce03ed6f829694efc41fe8b3dc7422e2480c9f34dfed44c709a84b78d17fdc9bf87cf04a6412adcee4c5df16fe2c8624f7ccfbfefa6ba0129947d37d5bd8979c58d09f0eeb44fccfb6e2a654d3c81589add07dde35a296d4d4223646b9594ea6275858b3a7b3134673d9f93472a6f3278e9e5299f70e32e3d9a73a514a6c12fe789f5e26b9e51c885041aebc22331e573facc7f267af35f3e8ba579e6ea9cd86fcb5c59803ddf4d35936f96e76deacb7bbcae5326c8e5cf69e93c74de6a02619fe775c940d2d324eb72093b876151af3d9fde8b128beafd185e73d71778b1c3804cf8e7536c99e82a4f206c44b9a9f118fef43c919ae33575a5991e50d2f3878588353aa0c839ff57e14b2f90cf335766e3ab3857fbed440fae9e48ddce5ff6f4371e5731ad275c3735b75289c48cc70cc763148b0675b17300c2d5afc24f1af8f499e025e03581b9718ea4cfe1f449bc90a234cb67598d39f5c3f52e9f334a17fecc615117fd861e8f19cea7cce75f887afe635236165c0ef7de0902f3a1cfe1f449b390dc34cb67598d39f5c3f56ebbce285de50984d58d72d16fe8f198e16231cafce1dc3040b8fa55f80dc7d519b5de8903f3316e9a298137fd9139cf7fcca91fae77db7546e9c29f392ceaa22f99f46930d3c497f9fc97fffcc7a43c7dcea8f54e10988f71d34c09a459488c66cef31f73ea87ebdd769d51baf0670e8bbae837f478cc703e1865fe706ef31ff3a2fbdc0b94c3c9840b1f3f1f7ae4ca72c62c24ac593ecb6acc3d0aa3506ebbce285de5f9aa7ac140a30ca7dfd0e331c3f96094f9c3b961f21ff3a2fbdc0bf039a35e3b5f622beea45620fee2d16a24c67dca4a43b1e4f0912b12b61a49f9daf3acaf3ecd95755d1362aecccf3357ad965bb5c25fa1757b07ff53bf3903cfdbd44f6f533bbe5d2b1de266ca65b167365701cd9ecd9061355917d6f498c5ee822b96ed9a0bc1678e393d99d4350146492604af99e739ee3daab14e3e93624fff1333d73cfd4b3e52afe689cbe199abe6e13b3f57ad06dad770bb12c0f4651eef4bd39c6f533195c9003bdd35bd5ffab5a395d616ab23058e19ae6bfca90cab89d56902236b9edf4dfd1d3ff553c878f525f6e4194e103fb1a6726f2e642065cd426081634e9f0c3169169bfe8c3a99e18bbee61985d154cfbf34224ffe8eefb169e2dff3893f63e19a0b19a8eb0c813fce5f489ac5a63fa34e66f8a2af79466134d5f32fb1c893bfe37b6c9af8f77ce2cf58b8e64206ea3a43e08ff3179266b1e9cfa89319bee86b9e51184df5fc4b2cf2e4eff81e9b26fe3d9ff83316aeb99081bace10f8e3fc85a4596cfa33ea64862ffa9a671446533dff128b3cf93bbec7a6897fcf27fe8c856b2e64a0ae3304fe387f2169169bfe8c3a99e18bbee61985d154cfbfc4224ffe8e7d37d53dcb7d530988b5ce51f73741423c7d692a346140539707e0d62a35bb0fc2dd070930cffaca3c28e6a4b9aad95cc53f6b51b3612a1c574dce7765ae9eefa636f96fd6cfdbd44f4f86e761bacfa51cafd6eeba3a8e61a73a1293a62878d7d978fa625d25d3e710662250d19ba7de4afeeabdffc4cf53087da793ba7191e98bd514ab57e0e973c6c27aab5da4608955f39715dcf51daf506e1bbba89543bc3a99d83cd56dd76231ca72c68791e7b8e931f8b04d78897ce6eaf5b3d2dffe5cedfb3f76a862629b6d57c9fe3cd86dfe5c855c3e53af57d4c99ffa562731eab388d25407c2ea79e2e1d7fe4fca8517f2665dd47ce6f6716ca35453e65c4858bd6dbcf09ae5d958cb79fa6297c9c92f76a3c434c4eaf506f08173c48dbbdec2173b7e0c3007bdcbb0c0bb3e46d4ca3485e063b68d175eb33c376e56d36bc2cbe4e417bb51621a62f57a03f8c03962394c798f5dd434c01cf42ec38f6345adccb3107cccb6f1c26b96e7c6cd6a7acd67ae9ac367ae3a78361b1d1b1d637585abbf378f2bb9b9efa8bb073d6b066b9e677d6512ce750efc03b21675223ce5cd19785992bed9f125911beebcbc867733d6ac603ec3973f1da919b8d48e6c8cfa04de204502759d755d7d37d57abde73a354d578acd0006f6bc940676daa49918e8818a86a0666e8b051467dd46b9842ff6349fe68c2d9957bf4f8630a57a5defe5d02da1b1ba04182e5238fe14344435beded5676e69ce1cf279e6aa79fb32e66a1f399b7c3fed6bbf18c51bd46aa4237f5f55ed856a244d4de79713c1ffb1ee18e8bba93ffdd33fddaed4d5e20688399bada4dfe491855c34238b5add40e77753bd4d6dac5313be78220b0f4cb3e65dbf90022fe18d7b9239c49fb1f085dca0ebe2130edcf985348aa6323cff787589ddeb09d2d49c8f6656055e346bdef575c5af3ef5130c6c8893814b606440add425301cb8f39837352309ce825fce27be686aa61c060a095c78cdbb7e2197b134d34f30b0214e66e29101b5f2cc9549d80c6f424606d4ca335726e17b79aebc4d95a1158202f86eaabb95bda6e9af810037b2809b94850dc6f751296bf67bbf9aee65ee7d80d25aaebb6d351238d745cffaea75aa9eb5e8a703c36c74fcec3801903b66e07315f7651c578edbe7bba91d96f7fa799bfae9dd63c765ef308777b0fa9caf6700b5e3c9e15b57ef0f61173ebccbaba35921e8ca0ba489e71f4f0fabc52a34f861a05d95462c465dac2e636902f8e1c692617acdce3da39c39d017582c5956f1ba8c324f4dbd0960f9340f6175a9e203cb41f399abefa9b9f214da3eb2d7bc53ed8875bfb773775ce96a55adae60222d11c6c0c8987ad7f529ec75690ed7abae4ca6796269c47cd27d4e039f49bd8d788ebb28b2935f548635d54a63e1e9e1a2eaca2dac2ef6ae99679a8b5e739e8d527d179f81ebcd5c5d6fcd132f1f5d6d4bb170a0d872a88e39eb935f14c1a9c1e78fa4dfb8782565b826e6ae412ac906a607ca2406a6b9e45697ba92c96a20acf78e978faeb625197cea1bf11c37cfea935fd4c64a83cf5f937ee3e29569d6c4dc3548659a40e1f1651203232fb9d575068e79b17e2df5def1f2d1d5b6140b07f040239ee3c69fbde14569c654e3f3d7e4b371f1ca346b62ee1aa4324da0f0f8328c819167ce6f06269ec9e97fc1cb07dfb614052f1c68c473dc7caa4f7e51baeaadc6e7af49bf71f1ca346b62ee1aa4324da0f0f83289819197dcea3a03c7bc58bf967aef78f9e86a5b8a0d23ad19fa6e2ac65ff4587b78ecec56e59e450077b7729f7a5d8c3cebab4f7f236daecc5e73f5ac459b87afe85ab413e7a9df9c81e76dea17ff6faa0972356cd5eee4df3306f232775d372969d47a5d408b8591eaf5ae994697f0fc1b0b233672e1c9c667d279b87c4a83f21ceb9ecfc69d27b0520ecb07bf6d5960e3ea6ae8a571c68e9c73a02497e1e90f6f728034c86c37d672938fdecdc9c2814651278e49ac561200cba41131dbde614059484d75892d1fcc62bf2b73e57ebfb982db7c777ae4be9bea962f61bdf8d607bd478df7db891607f4348a2df23695acc54a6075f3b0158c663260216962c2173d257efed3bcf7ddd4539fb87a597dec5fef39dc05e75f4a27be8c92407dc9a734e237d6e973e2d3333c2690c3059f09eb3a9b1fe833a92ec9d5eff9e776f1276e13de1c4b6ffa64d3dc4d2618782f9fbb2766a5643437d689cf71e3d51fe49f9e6665597dec5fef39dc05bf9767036d14cd4be02980a76cc47a2ff81252b3d837f5e5768e4b76362ffea77ee6f9a7fc407fe65fc83733d634e728232ff934c4a97c339f854f09ace4a9f9662c52d7a959f303fdcc13a7fc40df869c9b23f01cfacdd869ce5146967326130c6c448c72f18f5c3e35d579def5e758a7662117ffbe9bfa233ff223ee9e8abff12150dc92dcbf3c83b947ab31ee53eefb6124c63dab5ffa5d93038dae2d03ba391afd5933b4da519b8da6c59cc0cf5c990713622a3639df95b97abe9b6a17bc579eb7a92f276ae76ad73233d57a3de0332abdb043d9e734cd2365b813ded533813a0cb868eaed88ef349886673c0d6c3882062dca88310dcd5353e1400f2480e7299f62d5670e040abd42d3281ce00cf5e603c84a6cf9c48b02c2f8579b9747c167aebeba73b5cfaaed6ba5c3c05512b6a32d2f5a6154f799f7c9bc1e0e9faa17e9f1797f585df780a54378f5bac6144279facf67b2f2c153de739b6c269846af0b3fcd3dab338a6ccaa24e267c3234f77c663887e52f1656a719b867b5ae803a30e57d9486db5894f7dc32a95e0e798e9c66638dd9a0984a83569fcce7fe977fa7b9e733c3392c7f8170e17300ee595d349a3153de47c9706351de73cba43a0738cf91d36cac311b145369d0ea93f9dcfff2ef34f77c663887e52f102e7c0ec03dab8b463366cafb28196e2cca7b6e9954e700e739729a8d356683622a0d5a7d329ffb5ffe9de69ecf0ce7b0fc05c285cf01b86775d168c64c791f25c38d4579cf2d93ea1ce03c474eb3b1c66c504ca541ab4fe673ffcbbfd3dcf399e11c96bf40b8f03900f7ac2e1acd9829cf51dc775a63b80df5bb097aad2ec2c8ad67ba4f7593a269b5f3acaf9eb5e8f7c75af43c291e7c9981e76deaaffedccffd9c0b68d73bb303a85d3a3d8cb9149ee7405d5d2ee12eaf6461a0f0939fd5f40c915d7f014db8dec61a93267d9ed34b6ce322c79f3ecb5f6f9ba3379c3e122e6afaf8b6fdcc0d264e1f9ee1194b506ec064e51f7f19f7d4d7553ef8b69d89646ac2f53e7365aefade6973eba3e8267cef51cd9537a81e4acd556f50fbfe2a1e436ff52056b15f2c417c7241bfff37959bd2dae2acc7035b7f9c3872b1d35ff88be7fff26bbff6e6ff9b7af7f9ad8e75d71b7ae4fccf7c4e9ce0aec728294f7c894da3fe36ced539aee1667ef2e175ddf3d4a55c78ccf21c1839fdb98d274e70d76394cb58fc2fb169d4f7a1efb12f8edfb4e7ddf01e8b992c70d79cfc5d2fc9918b3db7f1c409ee7a8c72dfde4b6c1af5723ef199e707f84dcfbbe13d9fdfea5877bda147ceffcce7c409ee7a8c92f2c497d834eafba6dd634f9f13bfe979376cac73cecf714ffe3d7cd71b7ae4fccf7c4e9ce0aec728294f7c894da3be6fda3df6f439f19b9e77c3fbff9b2ab0afa7bacbf784eccee5ad29ec26a5b7efa3029ab041ddbf68b666e8f6f7ac19cccce6a47557731536699acffaaac5cff7c25c3d6f53ed85f7caf336f5d3fb4fc7abb3ba974bae71e60b761a87779ec7379b48ef21bb1674c27b9aea1940571ab634f8ae0b784011b577987a3d216cac5d61f1f49af48d45b3580ebae28d151fd3d07dee8857ce1c36ae589ae59f9e835186f5ca2d43f53cf130b112bffcd9ea3d7380cb7363619eb96a5abef373e546eebe6ef775ef773c745c794695522b0ca055857a0cf2e4752927f3daff4953d462292fb8554821f3a1c9f064c2f87a131418cef9ec1d4e30b7a23495a2e6239f317ac75f1cd29c7582ea39149ecfcb60afe5542638a3164b7bc1efcdd527dfcf7b61516ce186a07973acf54e89c93030c1994fe43357cf5c3dc7d5ce8bf3ac79ce4133f04d5eaf9c44ad28de5b33f86eeab36668969ef59523e1fb782dda8df5a9df9c81e76deaa7efa66e763cd4b56adf75610f12bac8f06a8f67f14817594cd7d3e104d5693c98157b8e451f7ffaf4ec37fd65acc6451294cf7bf81cf7f4870b5437d6b98ddd33d284f30f2f7980e699abf6bbd9f8cecf95a74d83769c6cd508d82f3e93c6f78bbe34484fa1dea6cad3636aaf52edd67d37d58779ed596f530397f5d6fc7f539e8043faf0d97ccfa75ffaa5ec4baa8db2b1ee3e79c6bfe789bff8889a15ac7c109b60430ce04f5cf39bf1b96b4e9ff052d2bceb373450a14939fddd873259a0c0e9354f870b9fb8fabd7c4e9ef23256f99c9a6f0d9f3ee1c6525f723efdcbbcbac45617b8ae3513689e3e17dc889771b33a0df3bcc42668132e638d9ce6bdd88ff9d327ccb010cdf7621bb49a26e5f4779f3ce3dff3bcfb889ad5c60a6cac34a72726ab4082e19aa7fe9bc767fe4bacf08ff33168a5c45623ef3ec8048102effe31173e717589c117cdc9ebbd8c451c99c907b1a7cf1d9f3ee1d97ee0d9a0d52556edbba91e537ffcc77fdcad4a21606245a1ee0f85309e78dde630eeb36164df4aad8edf7d90b281d4ee83e3c348fad63c467c732d4740d69a07a0790fbfe78f2f301f759e40219a69a4573e9209d3acd03cebab1f90b97adea6eeb0bf83e76deaa7bdd5cac8000040004944415439e9731ad723170b58ade3bcb8687aef144fe6f2ba0b4d9f0876011aeeea9383287cd73bb14ab1187c9ee19d93f3312e7c1f8bb27c7485bba28545192567582907205e6c9ef41b0b8377c5ac2b2c040353be18bdfedeaf3a9f67aebe5a73e5f66fdf95b3fddec7de8e0de565d71eab9f733d314c00bf0abfa86256072c174e66f8e280dfc2e2fc0c7e78bda7432698c879d65c5d0ea743cc4bd86b1118030c8f2141ae0e9ccca90c9ff594c0cadc3070cdd367645dd585c394e1e6a7de67ae9eb93a6700aef91c579d659d32ab9b9cd5cf5c9dc7c96629b059d2846b9efa9175552ff6e3ebd5c6da3db4db901b9312898129354f6c356205d29a24fe595f9df373e267aecc8643c801f33d7b5ced5c78c07d069ec7d49763d715d0477a80e731a7741fef992c7cd7c1707c574f1859084ce62a293cdc442313e79958d7dd332bb1f4cea8f499886aac9a69a6a7a49fa6b39126404620b1005e53929a69041a11068428f142c2c5aad39cfa67aebe8a73e5ffe6b2f715d7eb61cd1ffbb11feb58fd1b7fe36f3848fee6dffc9b5eb486d5c3f16aef6687a7c7841d1b67ecf8a22e7a4afafffbfff03fe01b6bfac61575c9817e9a135ffc452d36fdfc535eb64bef7b39dc73fe20361f23d2a837d6728ecff35b98ab0ff2dcf62e87737e4e5c56db2efac53e7365069eb97af3d8788e2b33f0de39db3561e7d133571fcc952ef71d73f572377a5d6bb91f99d86e43dd9bac3730eeb30e458b90e142908981d62704ba3413b4b689644583b1b0499f263eac4e03c453d24f03a709c004ad91f254371c9f02cb8183a6122f245cac1a4fa34ccf27cf0cf19a4654d2e0014db16ab118988ce1f04bc06b9e89f34c1cffdaff85a7a65e3ef4924c9f263eac4e333d25fd34709a005c6281f26cd3e002db2e0e9a4afc0fce5c9999a7bc39035ffcfdcf9bdddf76721fb69d9fbd85f77e40b382f90c5f7e65ae66e0523bbe31ea13f85b9148a0aeb3aecb97f8fff49ffed3ce1f278c13c3dafd477ff447011b0e3b4f9c337abd33c43b613878af18a68907160b93e1bbfeb2a5873b217366980f7f607abce18c3bfdc68aa7e73fbcd8726eac3cc98addb6d094a7ba8d3d6be4f8b677f70f7c09b78de5b6ed9dff3357af53f81d9d2baba21d57ce9476d36ffcc66fd8178e79c7d5d7bffe751abc3ff7755c112b948e0dff97ba3ffd752cf96b13d87eeca0fddad7be46e0537027c83e0bc7f477c2b6b1de36f6c4311fd4174f4a0c0740fdfffdf55fff1d3ff553b0df520ac437ee620b695c98e69267e4f404ca3dcff97ce07fc69efa0c795e62a7ffb2e7aa6dbc6cd73d9fe50c28f4cf5c5df69169694e0013a8bcccd43357c77b7b737239cecdcfeb543d73f5723475cc3cc7d5796d311b1d24f7f9e9e48aff955ff995adb2dcb3ba37f93eaab58a6fa650fabd5f18703ba3f4592aecbe86b70e8185b897b9c1013cddc590dd07f1ad859ef5556bb9e6aaf55b73a57ee6ca71d5da78c78969f9cecf95117d34e34aeb00fee55ffe6575453280da75e6677ff6679d65166cbff00bbfe0cb5912a6575f8a7307a32b104e935e7d2f4689fc34f06b73b81c08964f4cf548e0cb28cf63eacb77531da926d719db145bbbd704bafcd9c791f19e0f01d7c44292d1c4eb82d54a4f92d564f41f78f6c89746eccc5f9d3e351ba27ce4560e676e8d52c8c49a8d3bfdb64b17d9784d5df997c03d167376d5fc60bb08f29fd533579bff73dfb5bfbef9b9ea59b43dee41344f97128c8b9ad9764fa261a809f7dd5440330d208a4053b15f7ee6677e46a0e20294c9f02e49f1352f9ad7d02f2eac8b1d4f7ff149b3afa4f625d50df19effc9737853dfa0bada96b33ef3f900dfb7f1bdb1ce7c1a71a303779f53ff816781136455eca54bf3f47c0fcfeaa2c7d7157fd6755df4777f821ca65ff3e3d8024ff13070895dd78597cfc5e78cbd74dd63894f7d58dd665ef42fd2cfcf278dbbbaae8b3e135de3811ca65f739a533f5ce0291e9e0608abdfccbf6c5f559f04e9273ebb3ece27e5b93917fdace2cf7ab1f7f9d1351f40f3d4ac39cda91f2ef0140f4f0384d5dbfc732cf8e2937ee297f8f763ebbde4f99e3e71235eea377dca41d7fc4bf5e4df1bebd434d646cf7081354ffdba36ee342530c1f8805ac98af29ffed37fea96672da100ee3e48b8275e772e186379e6c356bd7b12b6fee6a3ab28bc5ef72f7ae2f7eead6e73a2682803eaf09add8273ebce38fd6231b03231cce7d42f8764ddd31b4bd7b27d71b9c56236c452cd5f57b12f61afb272c81f938c261e03bf489fb5e8e777efdf9b73f57c37b5a3f4cdfaf9a3df4fd729573727b6d275a1c97241f1991cbc6bc42671d71d213de5ea42d2abf3f17a0a16ab86173b8d8bd119bb2b6c7c99c8214d9ee503d3b0d51ba6e9d2a6369658bc2bd4f494f4db167cd732b234421a171f2ee7d268acb0b1442935dbae67ae9a5bf5f7f25cf96e6a87933bfd795cb94ab61fddfb03ad5db682c15b0d68c6a8c9aaa78fa17c11bd969389cfe7bd584197ae35ebd23ccb65acba6602c8191913be687298e74699f3454f90464db3def431eaefcc5cbde6f232632bcb6dcc40195e42a6079eb97ae6aac3e3729098961d279ba281e7b86a723621cf5c9d13b2d9002a9b28a0fb8e8584f5c3c9f78c8ab7cce83ea5d78dd55a45dddae3595f356326c4caed99ab1d3f5fc5b5e8927fc07d06bef800fedef76530ae53d906ce7a8ba4ae65ea2df5c235d5f7e2b285549fc0952e12a8ebacebf247bffedfd43eabeba1cb21def39b935faa3dfb017ac34c34a7993e326564587d9ad4d558f173a6ccbceb8ee659ee32391008997e381fbd7be62c3cc1d29b7ffa0c911b0b209e7fcd3cc9f2c953f3dccc67aebe0373e5bd687bd058fd8107e06431f96ab817a7344e014c3f9f089cc542c10eb58be929bd4ded598b46f38223e3e156a8d5c8f840f5698229249060fee7ff9bea8f7edff4bc845f34e758efe10dbdd8251098001853aa758d7c6f88f1817c6081ab339c55cd05ae99e0f4d135d9c99ff8cdf046af6bf8f4bfe3fb58d3042600c634445d2397f3426655ec993fac777586b3aa791ae6791ae6191fbef823e3038d05cff6ae3ffdeff81e3b4d6002600c5c59029acbe13d7cc98d5be127ffc9f7f59fd330cfe596ec6ce636feeed958f9a8dfd45f0c4f71ce4b69204d81d303630a7c53f6c17067fe65be3ac38bff99cf39d6e913af167bf227ce1c73c9edd4842f82d37c26e758d307a64f53c8ea2530d9c2a75f1a97dc280b3ff9395f0c6b9ee6bfa93fc13ffb67ff4ced6e65216115e1bb271c2cccd46e6780bb92b5599812d0e53ed5822d8cef3f5005d6d5bdac45081c20689db3f50c66e52e6b39d4f22687e17cc4b616d25b7882677d65669eb9ead0fa268f2b9fc53c7ff4bb93f1029eb7a92fdf4175d9eabab3f74bae3ef0ae6e3eb773e931778eb93ecf03348b85e9f19178868945cd536f7a63c50385f4de5288c247ef781a053f1f98ff86a0c7d0930de7d375961bffb6a5ed124b2c04af56d2031b0b50c4e609eb5dfef4cbe799abd7a9fa5e9f2bdff9d971e5bb3d72b60e38f723bc6269d2ea24304c005b1fa46c490163a601f06a25fd7bf8de9b6d7c9ee758f59e6e294f7d83a63c7bc3f7d831cd468199545fb6659e29673b70c6c267fee1b66bfa8bbf1065bdc3ef31f1799e63e1ebba3844a6afeb55f8495c6fb5de04ab5f8997dc9eb9da9c3c73751e33cf71f59c83e7f1b02bc6e57ce938a1acf83d05f726d8a2c27dca87aaad2e7cae6aad62e1f1acaf9eb5e8f7fd5af4f3d9f0fc7b9d812f3e0ebcf67c39edae56bc2f972d4c4b9fae6bd55bc069c2350397ba35774f0bba02dfe4dbd47d37d569e06ae89a08b838f609d98925d9c5826618309cfacd5864829e2a8527cebfae6900bdab8d520eabe99578cad33313bd773ecf73bb3251978fd873ace909d2a809c28167ae9ab1efee5c39c2770cc0769066af5835ed56274e40ed3bab6199fb347a7547b8409f5988bd7c3775ab2e56fc955618673d1e4876f6def19bfabe9baaebfc09a562a79ff93950bdebbae4a997c9f4354f4d5dd3dcb3bd30f40b397de04cea7d557d59737519f71ceb82b75df84b7a6dd707fa42ceb130dbccc0c775e6d39c635d92d9586575c9ad71dfd47c33fa73dc0f7029c9b68152ae19a86ba4e69d5fb8ae799e79be89375cbd35a75cef856f883307829a8b9de664e673d18f3f3def98d51958d439eec5e7d4eb2a936980921ca8f95e5de07ae733937c2efc5d3fd93933773c9f8b7e3ce70ff0b9ede18f7d4e3d65f9ccbfd869eafda02ef0beeddf0b73d57753dda7fa9d79c082c4b6783a55c36dbe159da65ecfaeee5c6e55fd8fa9bd53a521d87d10c66816de0d1a1338ebeee0674da6c450ce73267aef7cbda2b656cc44fdacaf2e73f8ccd5fdf8719c28cf77539b8737ebe76deacbb4b89aecdd207cbecfec34a3710da27131da3c3ae014ccde37eadafbcc7cf4d230c99fc0d55693db625f5c5e359e13740951effda710ccf4708c9a273ee67c2f1a3f4f4a58bd3c6b16db887a154c3910c0f3d7846d11cd3357af53f5559dab7e23b14dd871e210ea288a6fd555edae0f84cfbad5c0c9bc883e2fd7026bb27d4f4f6309728e0b63ee0ed39cb6f00a017cd6f924180f9c232ebcd8334ff854e670712b6ab16ff69e9ed30796d59a98f7f434e5d376157b62cc59e8953135ab9175adcee7d24bd688e9eb9de6ccf399ab67ae762c9d47d7735c352de6a469d94954f3ac7f00e7ca27a72ff3f2797de59654536dd5a1b8316ddd827cd6579babf396fdccd5f7c1ba7d47fe032e33f0bc4dfde2bba9a6c699dfc35897008f6a9e2a61c0e39cae3032b13a4dcde9c7bb7cc04a3e401a7c0ccf1337ee72202e369f8d5b26ab5f06f8fc349b865ec2cb274073f28d5bddb8041b3a50ef8bfbabbf7a5642261edffc3c73d57c7ed97365c5b3e3aaefa6da5ffdd2aff7a261bfee6b37a9897bd12a37519a94348a670cbbcc2714bd4d6db5743e9fd8bf3545c135c36ff27338f5a234a70f44aafb6e2ad02ffd8e0772034e3c9ff1c0523ac7fd00e77caf1b688635671e7f8942c6abefb95d625fb59fb6ebf4199fd57c0291ef69c6dfb7773ed3ccaad1c7df6375a579af4e30c3e94ffe12ab4bf9604ef40a99a626fde9838c57d77582b05a99d5c0f8fbf6de35c44bf5aecfffc29f799ef84ce692c3c63df5916702c3592db13b7ffae855ce2134c55efcdfd4bc447e3e062e7886e381a5749993692efc99e789e9effe336fa0539ff84c6038ab4b2c72fce9331e10b21c2efec55e348bbd6ce3299ea6d8baeefa37f933cf13279ee1197be6dfe66ca3a69f06a3e41c505f72bb8c7bcae613b8c4d69c46b3efa602be955aed3daa9b66df41ed91d52bd3f32ba9b0fb1793646e5e0235771fec152b3ec6bdefc4dd97b76e61229c321f409386e0ac91f1bba1d33febabe6e499ab66c06cfc768e2b47fbf3ddd497d3ecadf2bc4d7d7927b96b1cec02a4ecfad575cd67780e41bc1a46868b85cd2decca953edc84d3e3a74fa3f65440800f1b71b119628a25a381e33529cb509d4fb1d3d01755c878a4dcd41b97324d3c1f050e50f287696c3bfe99abcd6153f455992b2b8076b43b7ddfffb12197e30ab372be2bb352d9622541cd57fad383eb18824b2c26e5ea34352d32ced88901e5ec0d579fb1a746c8c5ed642eca33cf1367fe32fc67b7e1cc2ffc7bb18b4a7f89ad79899db21ca6a979cec0a96ca073eb4ee57bb139accea411d5a79bae33cf13677ec60e67a53970f1396317957e2181eacbb853e6334dcd73064e65039d5b772adf8bcd6175268da83edd749d799e38f33376382bcd818bcf19bba8f40b09545fc69d329f696a9e33702a1be8dcba53f95e6c0eab336944f5e9a6ebccf3c4999fb1c359690e5c7cced845a55f48a0fa32ee94f94c53f39c8153d940e7d69dcaf76273589d4923aa4f375d679e27cefc8c1dce4a73e0e273c62e2afd4202d59771a7cc679a9ae70c9cca0652b7eaf0178f56179c7d4eeade846cbde19eb56748a4bb957b6e51ad70e0d6485b9fa4513febab67ae1c1b5f9575fbce8807dc67e0799bfae9ff4df5bcf7e6676917be19744dec2ae91cc0d484bb2e60e2350b3ff9c4f170830a9938ac3e357a3bdf8c9b39c14ab1eb9ad512a384d3f79cb9ed3a3593756f6078e63fbcd8b25a7de11b2e7fb8b4379ca804cf5c6d87fe56e7aaff07b5b9f5d753edafde91aaf1d60a34f68b6618e93155b36fab76a8a8fb8f01f47eed6b5f53575a73c0561bea9a5b399d649a094e317c364fcf139fff6fea7ee9f73e5683ce1038d398fe63fe1c17be789e86f9a4593d7360e5f444d65c3e6f7a929d7cf81e9becf49f79e246a93e3d2f8667d7dd33ab3b7f19f7e259f3aec15cf2e1bc72ea91352ffa5333c129ce6d5d773dc1dd33e64dfe342c56fda6ff7bfc2507a39c9e35ef1acc259fa2ce58f80cbfe82f9e77f169b5d8641fc4a69c1e1052b6a7613e75854fcff7f85373f7dc58c29533934b3e09aa4f4f4ccd8bfed44c708a4fabc522dfc4c862eb9de6e44fc37c0a099ff9bcc79f1a38f3533c3ccf37f3d1bb727a226bdef34fff267f4fe3f4bce3f4f8dcd47d37f5477ee447dca1dcfbfaa55fbce7554d43bb33d674b7823da96ae2fb695fcd961c4079d288ddba85c9b3be6a75d18dbeb5dfe6aaf54673f8cc55c79bfabb3257cf77533b2cdfac9fb7a99f0e4a9fbb383abb387698c24e60973c00d3e1db24225d199dff8568d6db9534acababa7f093cf41dd58fbcc0fd33bcfc65d2cf3f37de978b2de730a2c4f759e1851e59c1ea3f4b9239e7263e169169846d315add8d367b1402131f0335766f27b7fae7c3e2d4ffbcb8ddff7549773c7b0a665843bfd161998c8c0f02908af064e5ce018eb8ce18bdb4bd8e73f2a0e9ccd0b536c6ea7ecf4c7d7a53ef952dae8b677f835e28ba8f1174d3cdd7777ae24b00cc34b6c3c107ee6aa79581d38e71013f9cc55f3b03af0ccd539037065b3a409d70c8f897c8eabe661b5db909bd179dfd485b4f678d657a6e2595f393c7e70d6a2f6f853ee33f0bc4dfdd59ffff99f77f3e87326cf5ae6e8f29953d7505d78e78c05bd0b6853a9993e708fed1c4bac9e1ece965564b6700f0ce3f34c133ef3c97329e92ab75303f70ca92bc1646c6d54c91478c1e7b827cef3cc07ce1f78e6ea3b33575b03190e6e57f68ab5efa6223d97da2f6efc806618507aef2ad6f1e371cba71efb6eaa9d48a0766a84073495d65b278e99ec0228194686cf58f8e3ff37b564c81a2590c3f2bc6ba6dfb898e94ffc416ca36cdc798e3f7dc20df781676e935dc0693273a028e0b78af317b56dff38b7d7115eaae94ffc416c811fe479fa84b7edefc5e636d9059c2633078a7acff3033eff597dec33f1a93ff1335766a3397ce6ca54283ba73e38367e40e66adf4db560f02a556d4edcaadca4cc80e2dea4f6e73f7d4a18b6f600cca477aa04ee7a3531e9b7a4c1b04202cffaaab9321595a6e599ab66c33c38aec21d33cdcc776cae1ce1cf77539bed7bfdbc4d7d79c7b86374d891baf790ae9eb0cb9c135b6d1201c7b4a2592cd07b48247d139dc0ea7ffabdabd4c593320dbe106e7d8ed8580d47a3b7dcf070f900baf0b22d1c8f51d2a8d34f43299ff4baf0d3efdd6c9a62e5b34d6e1b9fb932335fc5b9ea79d54eb70e5076849cc715b262b9a0ecf65f53adf752a751bbce86274e890fa4c921e5ddadd1f50aa98eb9286b36103c65035517182e87f4d3d4bc3b7f3cfa65ac6582df886f3a23d3a87f9b7375e6101eb31cb65dcbb00d9fb266f519f5cc9539695a9eb9da0c9c474893f31c57cd83ba597ae6aa43c23c5c8e96cdcc9b7365156469a1b8f2a8c5ba49b592d17cd657d66366a3297dd6a21d1e0e8cd62dad7587bfba73d5fe7dea3767e0799bfaf2dd54d7c7ae868e72c77dd7cd615d9b3bbd78cd4e0fd8257582f5a6d7e5744a8349967eca85638c3babf19908df58c5aa1b657c4db51035abc0704c436cb806aacef9c4311c2efaf8c8b67102e24a1a18505ff25c6f62833e73f55b9dab9e36dba1306056bd11e553d3b2e0fc6eaaa679ee7baa04261ce3a813e514f0ecdddbd4f6c8d65e35d5c4eaad39864fe5a9198f7c139f9efdc02fe59bff6faa70e24a6ef065ac4bef9a40a307d4673e6b06a6b9f3759db12570f270e5cc2de63203c85373e9bd8cd2e6bfa73ffde1c491f9dcc7baf4ae099449407d66b266609a3b5fd7195bf2270f57eadab8c8f06acca9197ff11fff81be115336504c21f8405df92738f1459338f292c3c5f062d546157ed99694a7db62a7bf689661b68bbd385f7826efe94fff068d29e4b2691bfdec4d7ffa6316b84cce9089173b7dcca21a317db631c9d4b3ba6ba63c3577e70b73f13c7b1b340606620aa979192bc1325913b8f8a499f20489177b0e349fdce679f205aa798e8f3ca34edb0b7fe676e28be71935fff3bba96e436e4c7d964a0c905933b831799b5a029ed6fa566acd1e6bd310771f3cd772c81633807bdcb3be6a0db6b93a577acf5c9981ca77652dfa7c37f5f3f4bff1eff336f5d385ac778c5dcb7c36e37c864d18ac76e06a4e53171eb0d6c71368ba0ec2f198f9d0e443dfb3042581a20ba9606830b01a065829aece7a351babdcd4f526332e50216b14a0820768ba946beef3b978b541792e7fe6e152a24fc3015f0ee51ca66f1bd34f63ace5d9580418b11b0b23361f9a7c043e73f56d9fab7e47b13d721e57bff11bbfd1f36d2b0082162eeefa4005a9172efcd414355902b169f40e6386a7cf137f8ebeb1ea4d9c6681670ec9eefe779f9339cd73cb7c35327ef57238b3d58b3fa336ca4bfc319f45a5ac4b2d368ddee1939f1e4833ff18750ed59acbb3aef596a7a6b2b16894d353ef85d18c3c01bcf2e2f8794b91f072e0fcdaf99d3eae9eb96a8f340fdb3b97fd7e6ace63e0c469ecd6edd376f1e939e6e27ff73999a2d427a8596d888d926639f0397bf10bc46f948ba6a8d39c6039eb1d3ef9e98134f38f51d3af069667e47acb5353d95834cae9a9f7c268469e005e79713c72809703e7d7ceefa173b09fee6bcdd0ffe9edaea494e7d62ddff6fbe0b3be7ad657d69fdf3bc75507fc53bf3903dfb0e87c53f1ed255d4c330c9cf5e562adab4b3910aea9be17471b527d02ef8b2281bacebaae5ffdd52fdea65eb6b4e7ab3d830109c6af99c673570f8146e9f9ea122bf0d4084f0f14721a865713787e2b3cf14641ea32d698305238ac2e7cf98c0764354df95cf27c735c8167d99c0cd47b6f96c3390fcf5c7dcb73d58365fbcb47d17cec68278b29556b3af2e335bd564d0fafd0b78f9c0e9e6005fecccffcccd6491cc2675db6ad78f84c73f2b0ae690612d73b7dcafd77a9039335fa624f3e931c964c82a22eb117cdc5b33c179ef9ea620bd988f3ff98d7bba14f9fcc734b530e132f1068acd5c5ae5ec8405df7e672de58f33cc5ef61b6ba8abde04b329aa77338cd077c9e8b9d3eb0a14f90585dce35134c567875b2e5035cf8352f9ad37326c4efe1ba4effe186582cd058679de664c2e3177ee7ebc25f80e648b8e6b95d91abb7690375dd9bcb61fe3177be41d56f9acc3f9f9a2303a7f3fc757dc0ebdd7081f419621aee04139cfa0493153e9342d26788b93797f339e89c33b904be6942936c63c544861bebac7f537ee1454d1f28cf348d7be616d67b8e98acf0999cdf4dfdb11ffb31b72a32ef51d5d609857864f506556dcdd06b55f72cc06d0bdfcdab57acdd0775f1a751b79ea9394cd682a734aae9df5ce7e4f9acaf9eb9eaf8f9f28eabe76dea798c5df0f336f5e59da1cb50c75feff7c27da4d775100ee88a3ff575f5f91c9e1b1f57d5c526c6ec333c1a389e6c0960362e7e9ff710d873c9d4e589c953bd7191e1d3c758788694f7fce90b0950961bbd9393de882569dc72a0290721f0c60a1303baee63d5d53c34281f59c5d367d876451af199abdffe5cf56754a6d424fbdcba7936b7f654fbd4332dbcd26aa3da432cfe64e0ca9dc74c4f93e004b025c898530f57cedee13b20de583041e54d7ece34171cb3fa04fca75fd4fc4f26d9251f027c257ca9a7a7997800f9c15c2df6e2790e375b9a8b7eb23b4fac4c70e2d37082009f7a5fa33f39f827ffc833fc322e413ea7e6c4d38f3c01fccc5573b8393727ca267600f9ccd53357e771b2d9783d64be386c4efed47f5b8eab56086e40ddeb9de0e79ae1fc2dfa67cdb03552c01dfc9cabd663753d73f5559c2b27d753de9c81e76deaa7b7a9add7fb98cd21ee31691fbfb91cc01df7097a6630a1fb584eefd905a73f7dd2e4d6cec867811bb1d8fc4fbc4cf2672eed3bce50f8e9dfe81bd758672677fe1c1736164d51cf5c35b79bc3efd65cb55068cf7ac8ecf841dab37dc9078e07947e0458f23ffcc33f2c2ad29e85ad0fdce7eedf4dedc06845abae2910a8099ffc4539fdf8620b3f71ff6f2a7e3ff9bb21804649bf71f1ca6574cc64a7ffabf60b9f336a268d3265a0cc4f1c73e72f9ad3a7e12efef34939fdf833fff7b0a8ba1aa2660e70e4197b8e72c6bea7c19fcea7e785afebf4297675432fb7e92f3e352fe31635655673aef73dfff18010f57ce63032c19a85a45fec7b9adc8414a55ee039e26bff4bd7e953ecea0f347515fba67fce1b71faf19771df1c0b790e51330738f3d32713ccd935fd424e9f943113cc617c5de758695613bca7a9abd825768e5b8663a61f7f193741bdc3c03944cd69323f7d0ac49c5dd3eb8d3f7d4e668239a4542b179f34ab3fd0d4459989fae29ff332997e7cb185bf87b34de3bba9801b90154bab11809b9b91a6ae9a18cf63ebb2fce83d2a5eacbb1e40dc7d506cf7410c931648e1f1941885e789cb211f35f3677d75cecf899fb972f038849a87d7a3e9e5080c7c0bc7d5f336b5a97bb37edea67eba96751d6c8ee0ae680e3b6bf7b0230fdf81e8e205b7be4f53a043d6e75830323d8c547a67a8c94d6fa4e6e9498347c6078c4213362ecdce81c61282812993d19c798675051a82a64c90e9f1f9a73cf3c76cacb65d6f63c9ed99abafd05cf54ed5bef3c751e771b5efa6ea6a85d11a65ab0dbc15c09ac089174563d1506ffa64709a7aa7af77750b8e290379c27386954501f9478e3fc73a35f3993220bc9c5fdc3ffbdf71f92c36e5c64a7ff199ff19351f64fa7ae18be719356cc4e516ce275c3e8973ab4eb3c0d36df8d4cce7ec2dfcb28d918d32bc6d1ccf27cf5393799a132f6a3e7a1b37199c669ef1975a6fc3e1c3409ef8620bd9889a4afe919a8173ac53339f2903a2ca1950465e70f92cb6de8df51279f399d519351f64e3d60b7380e779460deb7d1dea93b2903ce16de3340984e7bf66e01cebd4cc67e306449533a08cbce0f2596cbd1beb25f2e633ab336a3ec8c6ad17e600cff38c1ad6fb3ad43357dfca5c993af79d737dd52dc947abc0b3be323fcffaca02f52bb4beda9aea5b58b7772579eafb0c7cf181eebdefcb60babe73de857e7837065d95dd3634e19a814bed110ba33e818b5d2450d759d7e5bba93ff7733fe766e34c703e38b63c860dcbad67397c17530e313430310dac563aa3d47021796a8aa207e60f2bc566ab79c6d69c40b31c4e7e21c94a007929e3f3d74b0f9fdb8bdc662ebcc04b7af75881429a999914358767ae366fdfaeb9725eecb8eaf5a9d946f2ef6ba88efcbe9bea3d2adea3293d40e6852a601f29ce057b0729f06b5ffb9a5ac9a77518bc0559bdd5e31323c9dec3f7c0337c2f51fba5df377dce648a3dc73a533af96f068bcd3090d539dcf8c8537fe99a4f26abc77f93f95c022fe16fce8f90f167f2c59ee3667ee74fcd7b586c8181accee1c6479efa4bd77c32593dfebd1c4e7e51993703cb071993ec4d3c71bd174d81a5748efbcde0a514580e77be1c4e7e21677a399c75894d0c5cf23ff3bc075ec23f88cde74ca6d8bbff9d3f35efe13661fea5bae6401b586f030dafebe4eb9de6f449ff413e8bcd70b685b07a2f76020e45adceb334cedef11f7b926d1306163bc3c0c4277fe92a31e4a58cff26f359788197f037e76adf4df59fa6ba39ba55897287ea5ed65d49a077a76da96780f33d6adf50b5ded0bbfba05b5ef7d9f28101f73802a07bdc96289a13e84d932c7e2135a7c79f657cfebae861039debbd8dbbd8022fe9dd63050a915e9ee559d41c9ef5d5e6edab38578ef6e7ff4ddd797101cfdbd497cfab1cdfce79d782bd0b354d7b7f086f110f7bf748e9ea704ea5f0ae175d47f6994a3ec209d4a7ff3442f06a1a99e0bbe26060241317a63430069f3e8d7c92d51b96a76665fafcb7bd1b88038d51c42abd5f654e09777d6445b3d8735bc20269780a6cdc67aeccc9f7c871e5dedfeeb61395769695c1795cd96b160a2b35db9591b0eb694cbdf1ad42aacfde34f19462a787a747a6bcc79e7c324c39acf91fffe37ffcf7fffedfab31174fab165dffeedffdbb1ed4e756acbfb4d1fb1ffec37fd05c9943621ae1ccb715f1d307e6bc5ee04b9aab6568e88d7be291cba15ecd4a39e76306fec93ff927ffe25ffc0b8784596a634fb7130b2ff674383d137fbfce559bdff60e9ff373e2044d947a7bede4e167ae4c82b2897ae6ca0c34216fd6df4f73755f33f83eeaf9973e3656216b35a26ead12af76ff725f23509f6b12f7b83442bac7d158bde0bb0fe2771f7cd657cf5c7d778fab1dcf0fb8cfc0171f07defbbe0ca6eb2fe7fb85784b4f5d15cc67f825be4dedff4d75e57298f69c263d4d5734c0a50d1938494cfca98195aea702e169babc6a0ea43468323c500e614d39dcf1f25cce941b2e50aa3090cf89cb611a82611952966781eaf46d4b3ecb61b14081810cc3ea624f0dac70b68d02e16936dc40ca67ae2e73e5ecd81479c068a744bad39b344fa178407358f3f2dd547f79657fb5fbfcd22f8162f5ace6160e7ccbb8b5f856ea1773b6e777537fc74ffd1446996ce02487ffca5ff92b7ffdaffff5dff7fb7edf5ff80b7fe125ec35edc6fa47ffe81ffdf93fffe731ffb7d702c407feea5ffdab7fedaffd358134e34f0dfc8bbff88bbff00bbff087fed01ffa737feecfa5f9fad7bf6e7df3e33ffee35d22d2abbf6373f5debe2807499ec95cf0a97181fd8b7ff12fda40a4f297fed25ffaf55ffff56d2c6673727a9efcc7d8b3bd89f221b1b72567cea2be727325e7d2becc49a4fac29fdbfbdbc177ff73acdf122ec337f3446ea0bb675da7e68e4f0dbce676f448e0cd1c4efe5bc3a236dc6f67cec596e19b799edb7ecfb31c4ecd1d9f1a78cd253f1278338793ffd6b0a80df7dd9aabf3ff4d757b72397245b5bd80ba5b58cd614db73cef54ddade0d60c91ddfe5c700236b09b234006037585350d77c769f8bb27ce6a4b94c0d64b403ee9e729701ae4b04c28974f7790f26c5bf2590e8b050a0c641856177b6a6085b32104c2d36cb88194064d8607ca21acf9cc5513f225cdd5f3dd5413fb5e79dea6be9cc9cd8e33bff3799fc969ee7338bdae8094f4305e2f9ca6c0184773cd620b112baa81c63bf3617c39e44fc361b80b5981e3f347165b4a69ca8db2e67c5ca4e0b919976079d267d23b587c4aa0dcca39dcb88bd5c46ba601e4d0b879e2f349a36e68bdc6ad596c566239c0caf867aebe2d73b5efa6f657c14d32e74d788cdada65cb97c8b3396c8900ab4f4dbdfff9fff71f7fed9fff935ffe957fe37f6ab7f2c83325c1274de8f56138878bcfe7fe2ff4f954d7fbd33ffdd39afffa5fff6b5b1133cd3fffe7ff1c567ee5577e4557589dccdffcc37fe00ffc8198d5c005c7547b9cfb337fe6cffcd22ffdd2c80d7a3277fcd15c1def4fbef9b96a8b5697c692192f93b36b82bff7f7fe9e67546bbe3ff927ffe49ffa537f6a1787f467fe5995ff7a23930def48c0ffe5bffc974dd43ffc87ff70bdc59ecdb9dd7dc8e656c8bdfe8ecd95a12fa3af1958fe357fab73b57978d32df3693656a0b19eb93aa7ee99ab8e8dcdc33939f0d99ca690757dd9c795e1acce5b3cb874b76650fb1318ff3bdab366303fd63fea677d65123a1e9a1313a2c08a23676b484dbc66eb4660c7151ec6e793462d24e6dbb2beea18e679de4c39c7375c39bf6cc06b4a9a4ff978069ec7d44f1f1a39aa1c4c4d96f724018f7661c73706769c75fcc5b7be0f7708ea1535fdc5930633bde67c048e171e761c37a228e0cc87a64c4ab57169ca532d767abc92677a9827c1f41ccaade48563c2f1098404e613d85885f03722e5fc99e82a075d78bda2a627383d691a17092bc52205ce679ecf5c6d4e3e982bafb6cca78b268d27559309d80bfedbba265fbdf56eb8c50aec036fb5450c665833ac4b09bf38fcbfffc75ffea57ffdbffed07ff5633ff4bffea7cf3cc1ff9fbd3f8fb5aedbab7a5fc002a96ba412f75611941815bd8a22784425d6188d8a35183582056a084613ab104d2c8862c49828c63ab18e757d138d55d0eb1f57ac8e8a62758e15ead16b917b8ffb7ed6fa3e6f7bfb1e733d6bbfc0aedebd67ffa33f6db4de7eadffc66f8e39461f73ccb99ec21fb52ff49b6e603ec0e62a84ff1c36ef277ff227c316371e0616322bb7a9861c30861c214685ebd3ffc37ff80fe1f301729ed318fdc44ffcc49ffb737fee677ff66717cb79e6980bb679c696ea3c6d86056ae11c6e3141e18fda17fac4fa4043f3440e1b82e770e18d1a72630f7cd6677dd6e77ffee7ff849ff0133ef8833fb89dfd613fec87a5a7c927bdcdf96cae5b4db9c50b5c3b7386b54b2c66f39e73718827781223e91b6d3afa36f581f101e4f60503cfe1c21b2dcf47a7171fc7bc4c134faf4db3b990cd95a7cd720b4c6f341e08dbbcc49e9e86ced8700eb798e1e67db47fd8f7c4fac0f800f2e23f870b9fb9fed1e95eabfb71f5700c9c0783cdf398e9bad31ac0b5c9a74e7d7eda75cae569d777d729b1f735c3d64b0aa21a6ab275d1bd56aaa1bd4ed7a2257fef6f2b70bf4d7df1bcce12d69b7c9f5d393f2a566746d8b25edf32d7f346678770fa64c2b570854ea3cf4d1441b6f062872909f0e99b377d7ce6de84e76733676ec592a561a8352f0636b4e7a518b894f4611af35e7230dad4f807c757f2941b5cb609ca598f377aafd53b4fad7c3edd2be50b541d3fd60497e3ca4ba6b5207eb2b7e0c0d760e231e773adfff57ffd93bffe77ffe3077fd487becf37fd26dff89bbc9707a942e6fc30c79b332f1b9d6c20a5b99a37def3c04ff8844f80ffdedffb7b5302fffedffffb7ff5affe955bafeff81dbfa390affaaaaf2ae734fff81fff63cf968b3ddd4e07f8233ee223feb7ffed7feb816d3b8ed4ce9c9fc4ab8cd1e61df366b53a7eeb3b7efe8f535de75a1ae7bc67c8c95f6a75ca3a0c3eeaa33e6ab37ce4477ea49dfd0edfe13b60ca397d99dfe2187ded9c37fc32fea25c65f0cd3b6635c184f31c6ff399b90c357af667c8c93f53ab3364b8589be51c5fe6b77851c0f0660f9cb1b79a9834f45af38e594d30f75a559fc73add6bf5e2630e8578e739ae64a2b92ab90cb572b0e9b7a9ee543b35b966615a5ad068e187b0c7b5477dd7b5fbfa4a35eeb55a113aa2f4af8bb5a8b4efed651578f801dbbb79f3599473a2739c77b85e35dcbf853bbe317d5e55a1e09d0be2c904761fe84c0ae4466f13ee5e05d090d9e6d35c61a3e7bc86a6e1030b44960f2532acc71b4d8fd7d2f72ee5dca4d32f87c043666f9e1ba5960f40563e006579e29167ce18f3ea6be5039f3ec2cb1609e49606e68f073464e9e5d35c61a3e7bc86a669ae12e6108f0ceb9b7dfcf4afbb5af9dde96a65fdf164adfacb877ad7fe7ea76af77d568de9536d75d8ff0aa0386bfbcc9b33bcf5cd895b1f17929eec4dffe5abffdadffbaf1ff161eff7ca6760efe5f746ee24c8e6399c6dfcdc00024331a76638301f77561e8dfefdbffff73135b1bee80b7fa7eff49d7c66ef47aa36bfdb77fb6e3377d76ad4fda7fb766e1e2d7ef5577f359f8ffdd88fb55432eaa6f7a7fff49fee2f0c0974ffe66f2033f1c3548c400277b9effffeefffbdbed7f7da7ef171f7ebbbc4ffec9ffd33b77fdcbeedb7fdb68e2b7cfb526eafd6eab1b6ffe49ffc130f7b3fe9933ee98d6f7ca3bde0fc355ff3351ffff11f6fc66ff5adbe95101ff7f81d175b811ff7711ff7fdbedff7332f4f7ffac8adf81bdef006b1975a7190ff877dd887d965cacbbc02ffddbffb77eee1f16462db117f3fc9f36777e6dfe5bb7c17a4acd444894c5a4d54f8a7fed49f2a0d7741fe50a7cafc87fff01fbc19857cc6677c86d2b5a77fedaffd353957a8bff377fe8e136cfea63b6b05979b1ef60dc0bffc97ffb2cc15d9cfa73ffaa33ffa7b7c8feff12dbfe5b71445a04958713ee6633ec6e70eaaa156eafccdbff937f721856f6efbc461fefffc9fff73024a7c4ab694dfe6db7c1b2f4abf956538fd70e0e4d5a104f45a753eb110a48684b5f60bf324463eca1f464f4d9eab894d38723e4d31cd1c169be0d43757bc7e9ec3c4e1b94d33669ad327f2f431d704407b070c673899cdf625e52d9e3e307d9ee98703a7e682cf7cda47825343a0f141ead39cfee301ca62376fcc34a74fe43c0b9f002816184eb37c6cded6673918d56cc6d45fea4390fff60b33cd05e770ea094ecdc34cdfb05a317711777a747e7655d230ae4d48c0a50d3685b387b7b651000974f54f03c7031afd93d7c1560bf73583e26ccda080f75a399caac9ed71f5f6ac956b9f97e3de9eacc0fd36f5a12c4e941655d6f18e542732cf0cc3f861b26132d8fabe37b9b3a4d1ce92314cd2f07998e0f16b96dc9004e991ce1779c20d3179503fce357f32b148a3e5092c077311f0b410dcbcf0a3cd43cedd8f151b29961e431f4fcfa4d1faf294fff6b1fcf5f75abd33d7ca4d97f4bc6a5e3bb8e30ab6c2f0cafa7cda9ac0abffb8e478d38eabaffddaaf75e341e6320f9c6b170c71bcbec3e34d6ffa9fffe96bffeb9bdefb433eec03be11fd346ffa8f5ffdd7fe77f7a8effbca3daa77d707987b8756f3a6479655b6f94436e32b733dcc7ec198334fb7527ff00ffec17ff00ffec102817e98ea36b5af90f963b68dea35772f3c8d36afdf9afe913ff2477ed6cffa596ee67fe12ffc85bdc46e53ddbefee6dffc9bfd0925378d7ff80fffe1be572cf0fff9d8dc987dfaa77f3a378caafeb6dff6dbfeec9ffdb3a5aaf7f799dc6b7dc9977c89bb389a72d687f5d5d9cddeeffc9dbff327ffe49ffc57ffea5ffd037fe00f2cdc5f78fa95bff2577a057fd92ffb653e4a186f4f7fcdaff9356e83ddb6f9f3516ee4beeccbbeacd19ce1dffffb7fff5ff92b7f856777e667ad68fed49ffa53ee540bf1f354ed0d6f78c3a77ddaa7b9c7dece1af5b352bbfc337fe6cf54935ff48b7e5135719beaacf2cb7ff92f5f29f2b1b33fe6c7fc981ffb637f2c7f95dce80ac5ff99e34a3e76aa4f5232d4f3f48ab82daf566e92a5a7e080e24c067821bc6a6ea7296da674e7fca4d25fc372074bf9168fabdcc8b470513b56cd350da04d99660cbe84c72c16309a1e083f53abf9a449af9ff3854fbf9e6c4a24ac17aedf7e3d4a9ea84ffac4cd7be6994f994c39cf9834f36ff67badd4a17a56db77935a599d3bbf5984d85f6715c0a6866ffda31a3e0dd41bd29c63295be7b896b960d9d4f0ad4feeeb2bd5a856addcb626bcd7ca71d57a786bda779e5a3d1cc4f7f6920adc6f531f4e799e2c754e74f83ad9c1cad5dbbb7bbc0eebf1966bf1c4e1ca4be60451a07e7aa3c39d41d2e06d5e6219a6894f40af6dae612059fe1298a67d115ef2f109bc5dd303c2e13470d32db6894ecd7cd26cbff2a4cf6a7c7afcbd56abc9dbb456568d5eafae49963ed6fd5e5347b88b3da0b52e2400bc2e9a97ccbd6b2f1c72eb4e3eb921e331c0fffa4ffff46ffebfff8ff77adf6ffa1efff73ffa1fff8f4ffdd86ff4e299d87bfca77ffcd7fed1ffe7cdee51dfe31b7fc4c77d94b34c6b2fb17906869fe49b4ba046304dfc6201cdcf53dd935bb87868f6c637be31b1dbd4f77bbff7f33c93831bc57ff12ffe85bf3dfb211ff221362d8bddd30af4b4ad7d44da24f8bdbff7f77a813caffb16dfe25b3c581fed47fec81fe9a1e29ff9337fc6f3cfeffb7dbfaf6798fc9b8bca5dd6dffa5b7fcbf3cf1ff5a37e945b47cf12ffd81ffb636e417ff12ffec5fe92b05f7e52ded6b67985ff893ff12798ffc49ff813fd56d68be27ef52bbff22b055a81d9851ffec37fb887811e12fe96dff25b3c41fdddbffb777fd1177dd1677ee667feaedff5bbecb26646569a59bce862cd45507a97797fc80ff9219ffaa99ffa17ffe25f5404777d8ae083aaead0ee868bf56c531aab8929bee22bbec25da83afff81fffe355c9746e68dd18ffbedff7fbbefdb7fff6eefccf42b9c9f4bd6b0f302f399888bf8657ab5ff5ab7e953df5c79c549eb352fcc93ff9273d5cf57798becff7f93e662f31bd22bbaffe9edff37b7eefeffdbddd6d7adefb47ffe81fd57ff1177ff16ffc8dbff1433ff4436924a9ff9b7ff36f72707bec7ed5e705fff49ffed3944af7e55ffee594254079eeef6d9e0494d5b6fea29fe056b3210e30810684f5af3187649779f3d4dfe6dc2c271f53c8c9874f7eb8f41e327e0def413e0f7b75afd5bd568f87c15b3caea85c772c0c5c7a9cf17a76fa70417ac47a43adcd1c7ec4641eabe29deaf5bb9e1a1aee1a67b43386cdc75c1e6261bc05499af804f886e6b3754bb27826f148587ac2019bf1094c9dbe1ce034644db7d826c54f339f34f990e50964357e79ded757abc9ebb1568e817b7b5905eeb7a92f3ec3f3fe57a33eabf3ce7736d16b48d8673096f59d38909d9b9c17f6d94cb8679804e90be789efe402ef7c344db1b79f754989beb38f193dc3cc9f559e04a6b8f8f319dfabbedc963fc0d068cf450952d637ef98d3bf9c098ce2f55543afd9bcd76aaff5dba156ee91765cb9c687f5dd827a593d82f3e5c95e4ab7a93d5cedf5752af79219ed1870dbe605ed206c91aa6f6d2afccdf1fffdf7bffabf7cf0c77ce4e37dc3fffa4fffc77ffb988f7ddf8729fed33ff92bfffb7ffb880f3d9ea3bec737fee06ff1860f7ae51cc3e4cd7ddeccbf591e7c1e5b4a10d0cb64cf5b129cb9590fd959f7421e907a7ae62687c69da45b1d373329dd3bfdf93fffe7ddb8bab7c1187573e546c55d5653d4bbd172bff72b7ec5af705753607c39f464d2975d85bb3176135832346e0bbb4775bbd51bca1d941b4ef7aebe01fba7fff49ffe9ccff99ce52c4a884dc07e65e2dbb39e9aca3399bfdbf4b99ffbb96e9bdd0cff925ff24bba07909597ef57ffea5fedb1a728079bafc5ba677333e6feb654854bc6cbfdddbffb77efcabd79095a3b4a0c562bb7a96e2cdd494e53325985cf9a600cb9f7063eeff33ecffdad4db16aeec0f3df027928ea3ed33db0fd5aa1fcde75fee9f31f16e5f07333e98f3935853d7573eef5727cbabdf465dd78bd17ee07fec01fe86f08c36cbd825e17a5f31d60cf997fda4ffb694843daa93497ef51abc92ffda5bf94d2a7001e95533e7f5c9d79e679ea97bfa113df6a8acdad5284f1cb2193d3e7eb8a9706500ec0d9187e9d3caba41026cbb3cd98b0bee30a091705dfd6617a9af0ad46a0d668b230723924c0cfe7eb8a73100edc6b55855f56c3b751add87ad76f3505bb1eb92fc5c0cea23e766cbd84773d754f2bc465abe7a89439ec3356513e0dec3a785f5f55abd5a15a6d7da256f7b5a8634c7dd4e41d5eabd60cd2b8b7db0abcfad5bcdbb17713c67bd569d1b9cf81126ec7915a470f7ed54086f7998d4de134986ee1e01d76672cdc3954483c59b1173d9ffc9bcb263da54dcaf0728e9fe7784c43cdd5e6e36e3dec824cf0ed0ecf76b6f4f0e5530e1912a49f7fb1ac00ad90cd15afd7eeb5529f4af158aa7740adfae26bc755583ed6675eaf0e1237b16558df7dd113f8fff77fbee7fbbfef2bcfb6deeb1bfdcf87cf92dda3fed5877bd4f7394e28eff5411ff7860f7fef8795a5f19641f3443e899bae1018189e3e7e4a7ce67e738874ebd566dff8edaff8d2b87732eafe2afdbef19b8fbe892c7dbef00bbfd01d26a645db12b0f9640e94f83ffec7ff38f0e37edc8fdbe702f16e3501cf2df56b0f7bf54a59e6e9beb76ccbdf67106ed584b887f4f6295654bf56ed3bc0627fc00ff80186fed25ffa4bfa3c015ff7d577173d12a0cfdc28bca1e5803f5b82b3268d7a340db83d36542cdb1ffda37ff4affb75bfee07fda01f64e852abd3ff496c4f15ca5f18ce7f9e1d93fd6e8767f9a8b03a87db1d8f6a3dd715fbe7fedc9f6bf19a0f65bc4d9e42bcfbfc4de394eee4e313ebf30cd0679ec6509b4fe69fe6d4636ab77a326ee36d0e0bf98660b61a933cc336479efec8cd159e1e3f0c0c4f3fcf00fedc77fa364ffd059f7a26b58b0649c66dbccd61a3df10fcb057f75abdb61abe8d6ae515ec0ddefd67c7c03eaf77d2739d6a41e50ae53a8569136eb121e45c6fc0f7f5d5bd56afd3b568c7ffbdbfadc09b2d4c6f87df1d18e73567619f2d6d6761077ae73bd879b3e3dee72e4e8ee3d3e89d17f4c20df5195527d30c91a2e28bc5170bf459173d130da3a7ef331e98b2790d353b865eef39434cfa9ddf33492f9632a67d819b0e28b7e6dd52385e3f7d73cd1f6fb4061b6dbfd2db2c9f72239bc6507b841482775db9d7aad77735ac9eafa556aef1d5b0585515e50912c0d3ebb5e3caf24ea3f739b435bd57a1cfa75b2578a5fa8d9040ef85973ddf30aabde9bffd8f6f7cdc8cbee97ffc5ffff33f7eeddffa47fffd728ffa011ffdad3ee2c58d79718fb18f8f656412d55c1bc6636c3ee4fa88f56dea37048c0fd7bb4df553467f10c8a8f56bb7a91e4ee6e03695ac9fa762ba4deddef59ccb6f5c3d739b3f652de695ad17ff325cadfc2d1fecbffc97ffd2f3cf8bcc8be26bbabed7ea66acb908663860de3310df3beefc5d2bc1791b4ce3e6d6cf32fbdb4292c77889fdbd254f15fc19a44d843f6b056fe804708d5e0df536d97ac21cd68bf52d5c0f247b3aedf9a41c3cf235e31bdff846a3b7cfa68a5aad78c6bc98ecf1ff04da2dbafc7d3d5b3ddd6c7bc29cb8d9d37fbb6ff7edce756d02cf757be3fceb7ffdafdff08637a4a7f4497973c5e82fca95029826bc7e39ac266532fdc9dffa147ee96d529eb5e2b6199fa9d5e9635e9b3162038fc4ab07589beb97734c399ca3e580593e61fda6b8d5c44c20f6acc91c2efcadcfa91c6eea7badf6da9d755b951a7d7dd5aaeb8e0b90e6cae5e4e68a66effa898aeb9a6ff9fae0c95bdb7ed9c4dfae198aea1eb523b0538190cb7510e3da672ebc3343ab91aebf86f0a6107b5f5fa9ccbd568e87dbf5556badb7d171a5e6f7765b81fb6dea434d1c8e9d9b60776b9def9070e7bb4e5e78824e733b0f62c2fa5af75d9d018dd68a856962f86fb39086bab5a00768f4e523993c1388cdb3dbcbf486e6bf9c81e64a1f2f0a600284db2cfcdc478ca1c5b2c298a858bc512493943681f4a70fbd96465fcbe75e2b95f97ad4cabaa43a57d887fa3e1eccfaee707ab2a4d494b06bbccfa70177a72a0ff7da557fb7075e44caad7df9b41e4276f9c7bce9bdbfc97bbec7c363a8da377acffffcfffa47eff5911ffa3e0f6be457dafb7fe4c77fd4fbbf7ac3892e9c0fdcfa35e7e63af9c48d9eb81c6e7d6892f9d2aff58a1b424d59dcafba7ff3177a13d8595f1cf5f790fcbcd3d7448de2ddb1e8cffdf5778936757916debce1f5522ad60746ae5bf8dffedb7ffb462fc02f3cdda66e7fcf1d49b9792f4336b5cd75b135f4fdbffff737af07aa6ed46dfa73c45ee2cffccccfec5d7fa9adf0dcf4dae9766e5e6a3259bc47b8eae9cf3eb9f7f618b927c9caeb27afbe534dd3a48b022ef99b0ba36d52f7a57e9deb71b73f415ce0877ff887bb1df5dc9846238eef596e9bf8ccf55e6b2fae94fa992e86837ef93cda3cf8a4fc37ffe6df74431b3f9fe931cd9b208c8c0f9c98602450ad6ef39cbfa1e17c12c7cfaa7991f30f9ff96cae34f90c5f36cb2d13fd62c797ccfc81702130419eb7f93f6a5fe8c9b4f4177c9286ce1c1abaf89767649ee1f8ccc723e71fb699fe9ceb9c6838d936d367a23ff3dcbe136b0b0c1702736868fae5f910f6d812c4eb6b462ea0cd338734177f9bb773898dcf442f16a36da270fc65ae73a261fa7cf4e1e6cde1cc73f9186a34ff3e6f7219029c520ce15d9e5cb39069c22d18fa6d2a996b169cc0e6cbae83a2685a660c8ba5473a43ea6173b9f6751dc400a2f2c487f15a26182170b19d69d3c78b2a7f20dc66e1fc85c089f58b8d37912904ce1f4e5f48fad3875e9b27a0e5d37e25d0179b38b2fce96d16322c961e49a32f1fc9e48901e6890fe3b54c30cb1968ae728817059001e1360be75f4d12eb171b6fa262cb0dc9442ca506a43f7de8b534fa5a3eed57027db18923cb5f88cd4286c5d22369f4e523993c31c03cf161bc96f9bd7fb202f7dbd487677d3da070dc586eee99619fb755359a8ece8e33a43700a6b529a02d162ed6c1472f769e708669e2d3747c1b2d36ffa6eb80e69f26bdf7060d3d4f9f0bd268347dcf3ede2cc49b2bcff6059f031248c35fa0b4697aefe16f3d699a6bfb75af959abcfd6bd571db6bdd2a61afb52bbd97d88bebdaef0535da73548c21b73198c2bdbe9eafe2915ed6ad2108e09ae71866a9bde9bddfe74d6ff2a7175f6cbee73779bf8f7cf89b35afb6f7fb888fffa80f7cf82f5ec46281ad5786f1976723c52fa44dfa80fec4e7e878fbe5999ee7a56e411dc976dfa3d446f59c6dba4df594554154c3cd8c078017677f608938bd7eb307e4dcbe14c5338d370bdee84ff9293fc54bd05e4c53acff1b26663d308734dcce5a45ea5f562bbc5177a4fea2925fc0fab1a5d97d1717e92f3c9df9874f46ec3681db4c36fb6d4de83fedd33ecdef7e3d3d7663e98bd67e86eae7b2bffed7ff7a15964639cf81de7e355d73994e2b7f32bf4df57b609b9ea9fed01ffa437dbee06ff6ba99fc05bfe017b84d155254868e550073d60aeebbc17b53d0a404ceb96c9e4a3e98b3c59cbcc438a4c1c3d39cfc4c2e9acb3bf437730000400049444154be9fce85f03f3527e65f5bad849c0e97b93214826f283dcf00326cf376bf90629f998be06cdc6cd6c7df7a4ec339cda987cb369fcbbe9fcaf99f9a13f3a93d933fc1f2c930a63496430079af55a5781bd5caa9d845c7b91a30856b9097036895e22c6dd33bba6babd3accdae71d63942046ead5254e169eeebabdb5a6dcda66ebda6f75a5593776cadccdecb71ef6f2b70bf4d7df8bca4ab9a354df7698083a6fbb4ce9ef8cea72ae8acba3ac63b5762e0564536e3914c4e1f38c3e93b474f6f733e85eb974ffecbad239b27fecc213e1f78f90061fa32a9ef745f0e0442c292291f39b4fbf1a5049fb9a5d12f1616aeafc5f3b709b72fe5534d24a319dd66607a6ea7bedcf2a129d6a6fce1f8b051200dfecc21be7ce0f903617a6e32a907e20342b6bf6fff5a59455522b9b9c0db41ad7d59ade26dba5fedfbc034cecb62ab15bd3b013be536efd1e045d7fa8fccf6d6828ff89b5ed7f547d8fb7cc8c77df4077d536b05814fc53edcab18ad896b736bc1428c2e36cde3bc2f620bb9f036354f47bb4ded83f6bef1bbb97cc5d71fce21683a9bed57d3e93960d297c0a3ebab5dfab6d387d5d39fe1f59f8ebacbda77860de53cfd3c6fe74d73fac30b0cb7e3e36d86bdb2fe6491afc8bad9f3f790dc87fbb2ab3bbd662fcfa6a63f73c85f7ff22381629b254d9ed37b2ead7988ead072abec6ff36afe5b1a291595db05cba134e6e3cf173b09ffa49ff4937ec48ff811cd9b60f71bcd9b9b7b6360b161779e7ddddaef8a4b1befbbd085702b0740aa29fbe96f3ef91778c9ed76ae04c4cfeb8d36efa90ff37c26b69c376f2197fd9dcf2ddfbcf52f8b355a330b0d3c1f9b707c399c3871fd85b7a9cde7c4e75c273f4cd0bc7a64fa709bfa362ffef85afc939af95c62f1cd5bffb2d892d19ba890f9d884e3f5177cfa9f9a264a7f8b9bee197dd92e87f4f3599eb7fe985ab185ccc7d0f3b879eb5f165b32cb0198a710d82c8b7d91cde3dffb6d76d75397aa4c304e23ce00ae4d18d7a9eeac76fd2570e1d38cee3ab833c6e53a98a06b746b83c2f55d07f9c4cb01c60369f02685f38c1f5e3e40989e8319eb81f88070b1b064ca87739bf13639c081e543530e8961e1fa5ab126b209b72f9b1729190dc8070e4ccfedd4975b3e85eb6d964ffc7203d2e0cf1ce2cb079e3f10a62f937a29c50784b45f92291fb3180a973f079a33b734fac5c242f4b57813d984db97cd8b948c0634051c989edba92f9f7c0ad7db94bfd8f8301e48835f0e7d728abfb7db0abc5809dd0ebcfb301d439e29b5cb0e476743871d60c873c28e574c1a647c7ac759674f7ac71fac87e9c5d2e4d3e16813c01b6542c933bda1f4f1e5000b6f227dfe1c905a9e403c01fde923f3e560c6f2a4c19bb7f0f229f6d4e0694ac014cb8db23a00f8f2042869eeb57a27af95effdf62acbd32b5873fc78b9bba16d0d810f3cd5bff7abe7fb571cfaf79b7df0c77dcc87bef88fec4e07cb88d3c74ac2e6da945b613454d4301926cd19dbd418607f45c9ad9abb6e77adf1e93d6b757c7ed5577d953b5562b7a98dce332bfda2cc3872a0d1c902ee0c014f32171bef6ba8fe668f078c2a7cd661fb42b626f6d4c423d730f0f46d62fc3f2eb0effd7aa66a77facbbddbafc21795c3e9036fdec94eb0519ebe2beb7ef2e7fc9c9f73fa28acffa3b527996ed7cf58983271f8d2fb94c43775917ef29a4c6f46cf52540f0fb72fb0e6ebc1fb0f72a7f7b78e1dd2fe74733fe58d4fb958a4762a39339c7f02fde33c0f5df8d2d38f39c5e937bafadffaa4b98d4d397eb3bccce13223fdf6c550a3f5cb2a4fb9016b535e6ab53c2961b2f99fb1780d73db9ff32678d4bed06ff45eab2abc1abe3bd4ca416075be35833fcc8eb1a2d0bcf73b4e9c366dc2deddad73f4b0abd8d636d61e64d3e38d2229efebab7bad5aaf3a1eb48e1987ca3be171d5017cef6f2b70bf4d7d51139fa9385d3a8e1dbe30d6994edf672df830d2b96f1810552cbc58582b1649a3edd4993f9ff4782dfd63dcc3d4349d970bd72f37818f110fdfbfc7d7e8f1da7c6021f134dc36ef3001d962d3139746fa3661a3e34d6dd3509ae58fd4ca01b97c1288a2d7132c769e029146357a9be54600a4c76bf9176893e7bd56afb1563e9f56abbef7eb19a0aa56763f0dea69aa85a3566df57dfedde62bf89bbdf77bbeba8e9ff2bd3fe8a33feec31fbefb8a698df58afe6173f8d6730b329a4d9dbe4d9826d94593401fefe7919ea3bab7f15f98b86f7420156b521a25f2d7803c4cf3ffb5d859b8e48b9d55649e4d1aa36fb39bb1fd66b2517fe796a7ff91e5affff5bf8ee1a977e7efbffd7469744b6c54787c56e1db29a6c9793dfe14cbb04dbcfb73cf06fd37a1feac91bdfeb44ffb3451f876eac4edd7f899a7d92681963f309e673fdf55e4bff017fe423c01deff5cea431045fed6dffa5be3c57644ad50179f79face794aff172b9f786b565f216668d33a757ca35ff6655fe64f259922de378dfdffb186fc8fb5319b8bd23db0cdf6c5ff243465af48bca8850c638699e75c02708134b5f92448dfd0198b592cdea6fe8c2d24de9076993752c8f827f1e929e4d4dc7a268e37f5195b26e53c7ee9e1c3fae197f9d3d4e643592bd6a84d38d226bcdc1a3d63738b9f4fe0f41132cf27f1e929f0d49c3ee1c461539fb16552cee3971e3eac1f7e993f4d6d3e94b5628dda84236dc2cbadd13336b7f8f9044e1f21f37c129f9e024fcde9134e1c36f5195b26ae3b2e401a4d5fc1e8540077a17736bbaf19b6e659add404e964ab6e61e05e2b4578fdd64af2f7f66405deec6b7e4f2adee5496ba0be2268f90efbcd83738137bccf60baff51017c6704cb7ad8fabe132b4c33dcef42bd4fc45e7e235a19f339f53067b6679d473ee94f79e6b6c0723bf309f36fde9416cd78180febedb84de1701a7afb88af0e7a383d4c73afd53b43adbaa27b39bc5e70c795be63588656f9ad0cea3baedc3b01ad0f8af55aef290a666b0bb886d91a08fe90f7ffa6ffe77f3d8fd8f77cdf0ffbd88ffee0f7de1a88668b92573c1efe1d6fd48ca7e7261a7899e6f409cf07f05767fdffa5f83d2c4da3d77c0dd8a834fcbd257bbd7c0cc1f5030f01aff0c3b2eacba2bfe377fc0effcd8cefd67ef1177fb151376ffee7d2dffedb7fbbff37d57ff8e9bf8df1cd528f6ddd15d3f79f9a8a9d8f54870397be3490a2e0ede378406b54ef0f29f99b466ec33c4a6dd7e69fc626fdad4f7ce2f594277e98e995b9f09ea6fe86dff01bbefccbbfdc7f0063671d699ea0faf3c286fca7321d96f4fdbf3e9742cd16a0918f13e677fdaedff56ffc8dbff16b7fedaff5ed654f44b9f981315b9f35f8e1abff0dd5d1e23f47a517e547c5ee3c7fdecffb7946fd84f56bbee66b681cd55edccffaaccfcab35952fa1f6829bd526ead533a36529643e2f0cb6a8527d0bfec9d62de337638f3326f8a31e76b91bfa1f37d91f249fd93b1e7be9ff95c7cca4d7fceb558407b996656d360e0db7cf23ff527cebfd8e104dc6ec1ad3fcd997f210b3cf52736d7a919bee470e18d9e73b5bf348056ecad269364f3a7bfcda7d8537fe233763801b75b70eb4f73e63f73e092cf93b16936d125870bdfbe9c3e7013f129360dd242c2dbdfda03b0e95dec9a658de18a66136e0d438f71cd42d2fb0ccb350e6913bf9fa387bb0ec2bb0eded7570a55adce750b7caf55c789e2bc63d7ed7b5d1e5fa87bf76615b8dfa63e7c16a524bd5dc39d34e14e9d4e9a5a1a07131c4fd639b48aa6e743900f597a24e06d104f0f93c5dbbcf5efc43aff7cca41df5c4c349b5a56f9e84d1d16589e9869e062e763283dabe64aa34f83170237973e7caf55d5569cb77faddc02edb86abd220db728e77185b7e9ce419e16011d573eab46f65a7b1d91be7c6554782b0943b56c5b67b4c2803fe0a3dff0dfffe53ffdcffffdf1d7b0eff98d3ff0a3def091eff7e26e8aa696cfc5adb50b013e6c96f44073c5c0dacb34e3892fd833d26e53fd772c4d746afab52ac68dcaf2b4a9d90c84cddee6c99b0bf9837ff00ff6e782dc47b94152b4093efbb33ffb8d6f7ce36ffb6dbfcda8078394f4fe94d18ffdb13f56c1c91ef7e9c1b69c31b526d2db1c6e2e9b973a8c3714ced6dde9eff93dbfc741088c4fb37dc19ff832d786e2cfdcc213d82907de1ffa437fc8634c2dbdbb713f52559c36cd65f3c9421164559ecc7ff6cffed97a77aabe356d94f9a77ccaa77cfee77fbea7e25ff2255fe22bbe66f13fdfd01875f369e82bbee22bfcf5260de38f3cb9edfc9ccff99c4b9e945ff0055ff05b7feb6f7d5229303db07cb68f975ae135fa7286454d73fa5c72b0397fb8c033363c4d9e45214f1ecea11c1e075fe470e643532be1fac4faf9e39fcc3f8d9ee0798dd16ce7337f437228cf64d3945bfecb331f9bf17af865fed3e459540e9b6b0ee5d068fa69801268aef589f5f3a70c67db8cf341c2da331aa3d94e337f430cf1f98c07f05a7c783ee3938dbff817ab8f2fcaa65648f3e26d861b4d3f0d500229d727d6cf3f9f020bb9cc6548db5c2e4c5dc55c86dc70da74472dd0a9b5eb14ccc1750adf42a5b5874d81f4ee3472c0277621c39fd7410e6de29d24bb0ed2ef3a884fd35c344c349bda62e11cd29b97151ffa69161bcfc4507ae1e59c469f064f0637973eccfcd430c9e79c8bb81c90b0966793e6c3a4790bdc5cc430cf789bb7fef75a55c3b769adeebf4d55de97b557af042f53bc7579a7a70c0367efa46308b38639719bfadbe64d88d49fc0692e1268e8ec1bf2df27fefc9ffff361cf157df6d61bd259cf5a5f32ded83d7bec3ddc28d21bbbe7a5004fbcf73620241f00d9e734c07cf0a7fef431c4d3bcc48bcd3f4f581a6409ce330b7dfca9c1e4e33d56a07cc2629b8b468b0fef396d9e91cd08b79bf75abd93d4cacd67c7a77c1ce45e322f10e030f0df9f389e5b3a784d5dfe897d38adf98e259e4cecfbbddffb89ed4f28393205ba3df0a66b07d7bbf65f489beff5fffdeffff97fbee97d3fe0fddcda6e8de2add44241ec83e6956786f834f33c8190fffe0ffec17b7fdb6f0bfc8f7ff80fbfd9277ea2d88bcf2501a3cd0534347089bdf894983ebd7e3ec84bfe463586798697f965331ee90de5c19d9a7bc4aa17bb7d1f26bbccf5da6bf590cd9bd7879b9f8cfe8c9ff1333cc0fc4dbfe937195d92c0e6021a1ab8f529105f3ea7fef42193bf27c6fe6b53c08da23fcc9b6d9e9b22c3cbe693a487241e93fa6e8b279f554cef48c6db2f07a7af347b84fbe99ffee95ff4455fc4c1d4f46e8fcd9ee1fa949ff1199fe1f42e9faffddaaffdb7fff6dffa3357943249d63eb6830b34daebb28407daafc55e7cf059a5d7cfc750f88c4d9667b851fd6533fe96145b950886c92e73f53ad2e0a7cff3ecf32f9ff80bbe8ddd5ccb6de0128b9f67f91060d2ebefb55a7dde7d6ae5cf83bbf4f831b94b8fab52c780c5864b15def5cb5b1ee952e59c40a3327eb38a075cec5ccb5ab339c7ee3a48df75b0cb996b5f3ecadb9ae7bebe5aad94e85e2b45706ca889e304509077c8badd6daa0f659c1b1ddb7e94a4af4909d03b61faaa91c39bf24bbff44b7d6bccbb835e7f69de3e184381709af4fadb6696c817133f6e0e9703c1f289a91f09bc2ddafd69eac37da3f360f76f4e61aa7cde01e209f0bdcc3040b37bbf78ccf8340ef762739b3e7fbde6ee314db79170bcbe1bc2f100ffd2e0df68cefaa64e6c53f899c33ccb8189d1e602962793f8c87c78ae26f886e6539ed3e009eeb552bac752bda8edea831f7eabd4cad3d45e0b2f84b3582f196c96fc013cacd7bc34348e7627629b7d568dd4bcfafdd50abc534f7d470ebccd80fee184f5deeff7818f7ff4d7e90d530e9dc8da844f7d64e7b5b090e63af54d5aec052f3690a62952c6e759ff640ecd5b88f0f960e097f1979ccf599a57208de6c3a64ff8844f0096439ef9e35336579b4fe6996d0221b99dfa6c8b756366c8577f132c3690c6509bb9cd33e727739812103e1f9bb0ff6547cb56afc5078a85f35f8fd71ed4afe41370403a561bd23717465bdaf8f9f87a70b3472e10a8b10596275c6ca3f947ea974cfc3627d8bc86d2c4cc67cadce66313d66b8b056c5e629bf4ec1f839ea8553e8d9e3ee381f1973c6d1a4a00347aea91da99dbf06203f162db1415d047ead3c4cc674a601aa079f5da2d9fc0d0e93ffc1874afd5abaf7b05597d546ff89da456bec7bb3583cb900c5bcc3815b84849d2525b03f092772aa087b76e7145a3c4bbd891d13c791d3444a3afd1f029a4589e5d07f18dea09f4a594d826873387572c5fac0999186d2e607932898fcc87273d079bf886ca67fc34788292ccadc4d233b119539f1e5e0e66e1367df3967f3c7f0043139fe6e409789606becc73d63775263685d32c8779960313a3cd052c4ffaf8c87c78ae26f886e6539ed3e0095e47b55a65eee0b6022fae9db703ef3e8ccf517ab7e8613beef8f6c6085707ef9f87b7c5e31bc93b216c08df26ecb33a3ce03d86e4901e8f6cc8f9b4771ac1e662128facf5568f5f6c3e047878b36cdef25f0ef8f64b48fe86daafa5bd1ccc9233a0d1eb4fbd4d51f47936d7a9816b6402b5cd021bda26bc9cb717e9f146d3df6b551ddeeab5ea36559d7d32d76ba1f7eae381ad638c6e5108848d161513a92f4af8858fd1d76ef517fe15e183cf3c4f720e4db4f0f8e5bcbd184fb9d84bd4c9c3350e932d76fb8e8137cbe64dc901303a7d9e8d163565e2b337d468fdf48ff49bed85288f14f4be1cfb27fec49ff0ccc1775f279b2710ce30bc9cb717e393ad3fa3d2ac07340e34c9d66fdf31f066d9bc29850346a77fb47c20734e1039dca8be36be595ea1afa3b6296f3599373abc4d60396f2f9a713927d6071abdf43973982cb1fef48137cbe63d6d8d4e9f67a3454d79991d5f1b3ffd85b7f9324d431b05c227bf9cb7176996f3fccfa834eb018d034db2f5a70fbc59366f4ae180d1e91f2ddf3ac755e697be4c4cba76ce386c7478396f2ff25cce89335c549af5f11c265bd4e9036f96cd9b322ba3d3e7d96851536edecd020c1b9dfec23fa369cd6076c075df85af6bdf7dcda00ef7b5a82367757048d8d4bf8bad457bb3dcfb272b707f9afaf0b95177446e99f6b98e77c5b0b784338575bc5e11bbb3729fd626c690becf6f044e4f139f805e83393cc91bc56b9900cb219ccff89434f8debde560d3d4617369cd7bc9271f731108a18103cd8bdfbc8686f9184a83d786b7efed4bcef4db35fe9b57e0f497dce835e2330781e3019b5a26c0720837d1f89434f877995a799a6abfaa097c5b2b8ff5f0042d3bdc88b6ef3eabc6285df5f10d2be06c46f79c047f8bad45f0e78ae47c4e126eb4bee5cba26e3d9b7d8212e6838737d7e91959e0f481e91b5d6ec27378196f7486d300e5301f4cb935147f6a4e9ce793f3e643dc687d9b8b9ae6f44412687e78e93b42be198bf9bccffb3cdf9d6be8e219a9d70c6967ce7c308d6e1f1fed9fe3090a3963f3d7cf273ce539ef2dcef3c97c386c34fcb01b8fa53bf973def8c4e1426890f07c8c6635d290367d0093f271f0d57d443ecf1b2d247ff8cce1cc399e8032be905b9ce793f3e62fb0d1fa361735cde98f244883d7ca07680830ba3e52af21b533cf948dc6c30feecf1e6f460be1b658a0cdf960caada173de5b9ce793f3e6c3bcd1fa361735cd2507823478ad7c007a3c70f6917aed417dafd52b1f497ba6eac2640da0b98af9e80de812af8096677ad76ef7b15dee7d1ee73aeebbbe2a892700ba0ec2b7d74143f41952be3baf195a17552bf85e2bc78fe3a143a2e3c4b1d771f5f6acd5fdb7a96afeb2767f9afa7093e9b8f4d90cb0e3d5491356b596f5004def6abda339018dcd641de83d9f8cecf39e5350ecfacdcba1774862e78ecebc78ad1c8ac28b6a5ed8d0c9c3894b4f6ccfe2e8cb190373e86c4e6f2e9a3c9b17a9151b16bbfd5ace7c34136d2e40944623909bfe5e2b4578e7a9951540af91bed76baf51dfad6afd6414688d155e141eeef3f8340dc52f4aec3e9bcfc79076898d593f707a86c7e4a6c7d0d7361af9643ffd1cc48e0496e7307036fa34c81713bfe270f20bc9ff6d572bfe1ffee11feee8f263cecffddccffde13ffc876fea32dc9e5e126ef3997efa39b42fedb5d1f8c8ed3b7ecdd0f8a2125ff8530f3f5f2bdff2f547b03efee33f9e723e995f6253fa134a29d3e86dc604d6cf4dce09663b7de1b7fdf4edef65af8dc614b851fc9aa1f170cd2870f2a71e7ebe56c57efdde834ba01c366f6059c92dc1ad1eb3d8134fdf7e9d7b972ce6c44dbaded0256afe277feae17bad54a9a61ac03b49adfa0a8f945a93b8cfb732f1e92abe8ba6cb93d1d618faad4390f7f5d5aeddf75aa980c343033a60f4daeb652d5ab6f7fec90abcfa61f993c36f75d2f931cfc0d9ef828aacedd262136e3370e91d9a98deab03ce74e19df2129cb2fe849233a3bb29bc3babfa4e8e52c5eb91de00d3b40b69bc0d8a2208c71758ac9e466f284df8d44c60e8565302866ef3316ffca939f36fd233fff6512fb0798b5dfedbd37c4e1eb3d17cceb91866350d463b7d2e73196da70043fa95e2b60e6926b079abc9df50b6673eef62b5f2be5829dc6486f7f854051cf97dc08f244e037839fad33e8a032b8bd85ea3effc9dbff356301c5e3b4e393d20dc5c7aed1c9de6e4fd09a5f7f9a44f7ac8edf14f285d349459cde7c1f41512b8e8277e54bd1abb10fa70e0c467cecff3469f9cf72df2452db61cce79e18b669e277f628234faed7e3e8f23d7d7223287059eb1b798b8a8d936d1c29fe1d39cfad7882ffb580e97d88b66739dfc89db8bd36aa30d5dfca78f2f10796e5ef0a9392712b5cd81f99f9ecfe790cf45c310537f4e34ff8d4e339f33f6c48b059a6ea30d5d72987ee25326f6f409479ef8f47c9e375a3ec0d7096f2fce3ccf79e18b66fe277fe2c7145e7d7d4f7d4317ffe9cf1c90e7e6059b6e56e1d3b3d897f146cb3687d78e534e0f34d1e973d16cae933f31813fa1a47799ee22e59b20f6c595884cb32a33ea3ae5b26521e72215769d322a4a4fe01206ec3a48337cae2b460a79775e33d8fd95e2b60ed573827bad568ab775ad1ce1bee3e68de060beff092507ded9ee4f531f9e373a042b0aecb8741e8ca9771eec33bc695ad0dbdc33c9863aa69d1cf13435b1ceb04c343c1c9f46209e06097762a58131f3b10927d6d3530a843579160ee780498f87d3c39ced239958189f4933e26938ac0e18cd68b27badaac663555eafb57260acd91158bf63c95972eb1efc706b8231f1fae99d67cfd10522e32969a61f0f141ba3bf6830dc4e43fa6d02a71e9ec343cc2b6d2688135f368bd5d75e897ef81773e9cf79370a94c398454dffd6aad56d3d9bb41961ed5eabd561f58fd12bd4bd5655a063f25eab2aa0268e96dbf7d7bd562a5011ce37d137a4562e3de7371efd59ef2e49fc7df7a7f55873ddd7576a65cdb6ca5b8f6de1a768f75ab562af7f7dd56aafe91ddc56e0cd96a4b7c36f756627b8c0d97799c4acb5c06a136e3370e91d9118fd095efbd354b1eec4bac1e360afdb0cdb3cdfffbb3f4cb3d344fc7cbadf5bcf247f806d27dc3316f6ee1a4ffcb2d8e55656d9962ae6cc195e3ef1db9446ad598c164b806f5f4ac6e632899fc9e919262eabccd3c385f039f9f99cfe69da29e21203ce58f85e2b25f28c5465aa95b749b502d4476fa8dfa6aa954fe9303d6835ea23e7344007bf4dd73ffa3d4db5f2e090cfb9be1f3e05946d02358129a7c78fb9d5789aeaffa1210824b88d7d8dbc40cadb1ce23714b878be965821e5b67e56312ff31c1fa8bfcd137f3adbbcd510c467f2e4bcf37946339fcd68ae028b6a6a38bea1539360fd2576faf9cfeac99c970f99d66658bf596e63a7bcd5dc7ad2e479ebf30c3f9fa2161bbff402179fd7122be4745ec8f897798e0fd4dfd6013fff9769ce49a74f5cec6bc4f3d98cd53c9e49e9052e9eaf2556c8e9bc90f12ff31c1fa8bfd74a1daa6740dfebb54da0f6d6aad5dffedb7fdb35cbf54bebe22501d82509b07e83dd7dc15a7ca44d17ac7ea19a466280ded07dcda0148a705f5fbd8ed6a2f7ff90e6c5c9e5a97fee4f535f3c577436f4c6d61cd97d5ee53ca862b0773bbe4f6856437ce7829d250d51f21198fe7cf6882fb6fb0198a658ce487df39eb1e5b0dc6c9a223d87a2f41a3ea6fc6d8e6c2eccf6cb14e7e770f034e69295583e784ad88c170d5ebbd7ea75572b9f55fb0e5547a3be0f773a54f00e03add5893e10e3f2dfe6c8531936c47002f8d4e4a04f93eca289bccc15395b9e35cc3ccf51b84696fff40304b0fe99b96e739b6db1679fe1939ec8f8b3a7af0e8f832ff2cc44bffd4a13ff643ecfe49f73fde999db789b31f98f1f6854ffcc5c4fe656209f39844ffee2b949cf28faead0e865ae7badeeb5aa02f7e3ea722428c85993cba8cd9877e07bd0eadccac45ac21aa37ceafdef68aeadf8d6489194ae59ae56e9ad4916d5158dcce8d651c5b65ed28f878b25162296a1d675307d56e1f898fbfaea5eabb7c571e5e8bab79755e0fe34f5ef7ee1177e611fd179fb3907ad529dc21c910127ac464f1e498f170b388dd2c301ccc470fef5f8c5c245e5a38fb9f41cc8f22cab365fc6e0cbb97cc2cdbbf468ca27104f73c6c2dbaf13570d8c564859d96cae0bbffd35a3a1792e9999182dabfa7246ae3297d155837239549c316d96d2f43663f4afc75a79f829f3aae118ae3edd6d7a7c6adffb5b1478a398cbd3d49ea916ee5570e5ded3d487ba1c7771d63163025bd9d8bce0298b6a9d74d16cf134de4f52f7db5460264ffabf46cf4b02ac0436e3e69dffc9bf0c27bef8d87c19d3d0ed5ce303659589fe19fda56e9439bc2cf665fcc5a7494f71f8ac03463b99e77162fd59f3078b97300de5f9248ebcd7eaf6b553994bddeeb55a050297fa9c359c92066ee819fd190b173513e012fbda3d2f091498dbc5b379df625f32171f9b2f631aba9d6b7c607b0d609ed12798863207bda17e9b0abbf8fa61aa9ec0177df5aed1ee1e63fa6d2a99ab9827a82e582dd8c85ce3f0487d17329f61751d148bbcaf19eeeb2bc78023a143a5b5df8e0dc78ca17786b5e8fd69aa17e265edfe34f5e11875d47610f7cc50b11cbe9d252b1cdcf96ec77ac7b7cfe7840f77f463e833c1c0a268f0fcd3e38b2583c7db24de7ba97c62e663149f866d1a201f80be79e56c93e7f217655ea3c9c4f61eb689375a3ef4e5a99f1ed6c4f2276b5e402c3d1ed63657329ee5d0fe0ea767482f0a8f8145c178fefaf862c968c6db24ae0ef163e663943e0dab72ce13063834efbb4fad5cf53d53552b55725fba5a75d3ebda6f01a19dcfac7a968514a54f73e293291693203ddce693fde3e08b05623859336e74b961ce1913af9f7e0c9f1ae6dc2f64e25b7efed36f7651307ecc34f96cae94cd323ce764f9086cd368292daaa1f5e768f336947ea3cb0d73ce9878fdf4634a23b773bf4eff0b3ffff19b5d148c1f338d19e1a66bf6f914b5be519bf96c931e6ef3c9fe71f0c571d5bcc95835d4e672b379e6d0e87a6038077d0d7fee17f251fbd05df8f98fdfeca260fc9869f2d95c299b6578cec9f211d8a6d1876c1e379fec1f07efb57aa8d6bd561d211d516f87e3ca85def5d7954833b52b914b33e0996a6b00b875088049d6751cbeaf19aacfbd560e09c783159d8268b0e3cae1a1d97c675e8b3ee67bef9eaec0fd69eadffdf93fffe777d67370774c7734efbe45e5e2099c088c622ec77d3c721a6f18e43c2bff9cdbcc048e9f5e6cb3d78f6fde790298e506d83ce7cd0719af9f661838f7a519eb0db55fa74fe2e5b03da2a1d7c49e75c09cfe36f33c3567ce89c9e60c6b177e3529b7f5e30b599eef92b5eab7a9f654ad7a9a0a5b66a9951e76bdc7ab895b534f53d3e8c3f16480ff3ab51afa6d2a46dbeaa4455b86e3236dc69f9adb211ae4fa07f757fc27de4f52cfbff45bd4a91f063675609ed33cc36fdee735462f393c3f6fb617cfcb5ca7e67668331a7ade67fb9bf256bf3a3c9ff37ca67f8df39efa2773787e5e21130073c8b61c4e4d7821d3af62058e3f7de0f14fea170b6ceac062a77986bf24f964ec99c93c8167e6cdf632ef65ae53733b2416b97ef3c6b479ebffa47eb1cfe76cb419a7bff56fe8c29ffa27732628e4497fe404c01cb25de034e9cf4d9a455d72bb884fff4535510ec317fff117ff97f12f9bf7d43f99f3f3f3667bc9e132d7a9b91dda5e1b7ade472669d65f7e9bda554c4fd07f9c06f7698b6b166c9de61b40ae567ba6daf5bdf51bfff42d726cded70c6aa526f7f55575d821514d6cc63b4e1c48efd85add9fa67a395ed6ee4f531fce659d011da69dd77a5e0763f61c8f669fe7554d47767a3ce61677f6748ea00ccf1fd0e2f59d47a637ef7270cec5979b90d3a7dcf28199c094694a72cf0fdb1724999e9e383ccfe6dd3d2a4db961f6ecf15eab5eebd769ad3c4775c9f78a5f8e2bbbd301a36fb5b11e189ee67cce738e3e6adf4cdf68ab8d8bd272045fc8e66d8a5b7f7ceb9be510b878225f0b733bef6dd472d8bca57aab1c93603994e17cc6bf4c1f4f7fce58d459abcbe8adbf9069caa17ef3e6f91a7bfe97fdbaf5590e9bb7905be59804cba10ce733fe65fa78fa73c6a230cbf9327aeb2f649a72a8dfbc79bec67ef33ea35f0e9bb7523c3363827902da7ce04bec45df28fd39635198e57c19bdf517320dbc76991dff5a98cdfb8c7e396cde76ed19ff04f32cc9f98c9fc3451f4f7fce581466395f466ffd854c530ef59b37cfd7d86fde67f4cb61f3b66bcfcc98609e80361ff8127bd1374a7fce581466395f464fff7e9b2ae4bebe6afd765f5f39185ac75a73befbac45edf5bdbdac02af7e00f632c55b97efbcc6f372fac3ece4d5a950bfd35cb84dfd6df30e47ea4f60391e093474f60df97f53bfe00bbec069d4d9410e04de1880f709a64d18e3866def196b7aa327bf90d304d6b202b83d122f9e37869b25c398e917524a8d467653510e25165f86fa3337f34e1f5e08d97043cb8761789e986cf19b2e72cacbbc46efb57adbd5aaafe9765c798ff4ba0366ec7b533e934e83f4e875d83b02e399aade1bc16ba4f9861587fda55f26de177a9ad6195b6d3484076e31a6a185df6a4ecff4fd3615ee3f508dfc7accbb49037c66157824de6c05d92cf885945eca735f62f491859c8202d7a79fffa90feb2fe1b79ab995de453fb2599e99abc073de33165f6b3af8d4dfe262939d18b3cd1906f0f92468a2f5174d3ee7bc984bf8ad666e9b224db123cba4de90f60c369aed091e62de9c8f79d207d9e87c8ad56f6882c07c129cfb055f34f99c3ca6cd85df6a4ecf5bfd02cba49e4c7b061bcdf6040f316fcec73ce9836c743ec5ea373441603e09cefd822f9a7c4e1ed3e6c26f35a7e7ad7e8165524fa63d838d667b82879837e7639ef441363a9f62f51b9a20309f04e77ec1174d3e278f6973e1b79ad3f356bf40c0d35402cd22a4dfa666ee8a6645d1a7e71e9ffa2a10b1a58587a880518ca8ace26d761d446efd836c65e2ead6a205433f5c083d7e0d496f938cf85c20511a9d7f43a73ebc904b78695cf4f334237df3ea9b28b2bdb89dd7689e059ef3b68f33a1d4c8c6c7ccd366b3dc6b5565deceb5ba3f4dadec4ff6f7a7a90fdf5f571aef67ad679200a6e799e19e3e752ea0f17e869d14f09dd16cc20f168f67b19e3d669b3f813382587daf049e03cc0126106b339f34f4461f5d5ffd5d2587797220109bbecf9fe072039a77fa6467cef33797a8ace8dbc71cd6e7533ef401a3f75a55b7b37f67ab955bd60e30af973bd23ec4718feab5c318da91b975c900596b02ca483d6618bf861c7f62029b97a8291bdd66c0bcf1b7b1179f850bd48c8a05c69f0e466dc604c28fa16f16324d43cbe7c9d9b37a7bd6aaacdacde556ce6786272ec9050246efb5aa865563f85e2b15b81f57e7f170c136d7eeb5ba9c6754464dd6af50311d575d922c42b6aa716df271aaaba7d5886bd6b95669bd41795f5fb5d2b006bbaf451d15ef026bd1ae35f7fec90adc9fa6befadb546f7835f2fe777e049c0d770e3574629ace0ef5c48b0d60e83bc36e886d9efa1c4ecf429a57bf76c987673ef834f9b3621b9379787cf9147b2b9b783967b29e603b72e27bad9465550a9ff539f15bbd56aef7a6ee3575dbd971d57354435e4a18f0d2eb7b762a1f5813e833690003fb30af43e5fc6d6a628b0fe0653807a34fca1ee35eac54d2d0b79ad99aa6c0afc7ff9bfaa44ffeb7f3624af58c5a0ee5766a72a83ff7f165b8d8f6e565f88c9df342c6049ecc33f176a4894efdcbf0e946339fc0c5679b675478fea726b2fedcc797e162cfa96ff1193be7c9c604caedecf189efb5bad74a051c06e7f1b0c3e31caa5031e1f3880ae34f9f1337741eb7177cba9d3e99604efd36cfa8b021ada842e6d0d0e9f3324c6968814fe23376ce0b1913c067b21e9f389f1337d46f535db63ee0033ec0e5097015730d7577aaefb372bdc0fe962f1cc0b85a11f3a1b4b9eba0bbdfae83781a02d7411868d328bc56a04d3cc17d7d75afd5d6c08e8a1d578e8db7e971757f9abab7e42db83f4d7df5bed481a879973a4c3b22d5ab678c7824dc81abf7799edb030731bdb32786068347c21c3acfc246350e611a5164c8fc610da601c8688cc269f45a9ee566aefcf1f4e50608c107e2f58b7d7079b425dbf9c85c691ae56cd368396c081065940cd668eeb5aa0eaf975aed6ffc7a113b66004754af630740eb0c18d006da3c7b4396086926c384f78cce668dd2e8f97c069fe104400e73ceffb69fcf45d9bccdb53effa6d3d35ca2286b69e0f92f0a28ea8c851732f08ad9abff2e16d01a586c3937544f60f4cc615113a4b179e693ecd2cfe7a26cde7cd6e73f079a4b14652d0d3cff4501459db1f042065e317bf5dfc5025a038b2de786ea098c9e392c6a823436cf7c925dfaf95c94cd9bcffafce7407389a2aca581e7bf28a0a833165ec8c02b66affebb58406b60b1e5dc503d81d13387454d90c6e6994fb24b3f9f8bb279f3599fff1c682e5194b534f0fc17051475c6c20b1978c5ecd57f170b680d2cb69c1baa27307ae6b0a809d2d83cf34976e9e77351366f3eebf39f03cd258ab296069effa280a2ce58782103af98bdfaef6201ad81c5967343f50446cf1c1635411a9bcbc7eabcf5860b50d7a35653ae53f8562931aeb318d759247c5f5f29a352e8d5e45eabd7fb5ab4f7c8bd7fb202af2e319f1c7eab93ce537906ce7e273864ad53e1709bfadbe6b485d49fa0af356280c79137ebd2fb6daaff37b59f3af49ef786df7d20205b3c12b0c9c2f9b41bbcf461a386a609e8cf589b9726a4b9f0f3dc5c62677ee27228247ea319360b729af9177bee63bb13bf1c72b0890fdfd6047ffadc6bf5f6af95b74665f75ac0bd52804c7c38ed0080fb3daa1fa6f6ecb4d7d10f7e0c69345e44c78076f96d6a2b89ad4b029b68eb8c099a7dbccde1d7a239ffdfd46ff6899ff816634fcff06bc9ad24cf5e119e9feb343f7126c5ae2f878bac5143f1663c632ff81ba27959ecc987cbb394cae7d4c497d8d9df6b75afd5cb8e99fb71f5b263e396bfd7aa9aecff4ded87a9ae44f81ea82a5177a7fd1ed5a68b9ade552ce04266b3eb17b0eb20bc531665d73bccd63666b1197f5f5fdd6be520e97818b0d97115bf120dbc2d8e2b47fb077ee0075ab63980bff22bbf525f3329a0f7d6f8d44ffd54b72d3ed9f9d22ffdd24ffee44f760cf71d04e06cde23360d05c209d2eb6f9b59225f4cfcb8395c0e04cb27a67e24f0b668f7a7a90fcf941c768e4be72cc78af57a18e8c0755ea3d9a69781408fa74f8321d0f0018cc6b3cda230c070fae67d943fdc33f499a24d789f1d16f218fad09957d4a66ed42643bd269c86034c398183156e5ec05cf960b62ff8c5a6c9b6dc322f67bc89e004c469b68921889f3f8640c307305a3ef131045a38be79639a2b017cafd5f3b572179ac0c9cb67d55e0ea7bc18fd9af34e6b88f52780b7d9192a6667ab7c90a74f218616fb323c9f1c261bb858c59fb69835bc364f7c4c821397ed1820b15e952efcc2cf7d4cbfc042b6590e91673e459d3e85c4bfac9fcfadbf904bd436030b79d01d6d9ee362da3c71d98e0168eaefb5aa145503bed7aae3e43ce663eec7d50e924ab123e7dda756edb86bb795b7eb7bd723a46b931ebfbfa7e08adf52011f680d705f33a843b5baafaf94e2f5bb16f522dedbcb2a70bf4d7d8f0ffaa00f521de7444779d8b1be231e706b8727a88846034e9778bd3b37a3f1b0d1697697389ee130a54d7df302cda56fbaf179169b8689a9e389359be6351a59accd722080392c37b26986cf7ce8359accdb5f4a9b64c572cbd328303d99b6b98ad54b4678fc5907e2f20c14cbf0d4d8c4372fd05c7a86277fc6a66162ea7862cda61c8c46ae0ee54060a8fd22a84d63337ce643afe1336f7f296d92a57fc7d6ca677532948face0764a5f5676dca8cd2d9eced512dca67e9fa8518e1cce761a9be16cc7cfe7d45f669f67a0d8f4cd7bc6e61f7fe23c2f3cc1a909cfbfdc36c57856c8c7d0871dc717185f32e162d32c6aa4a87021f9c784cf7cf0da99c330d962e71998a6d99b481f9f3f5bcc89dbbcf004a7263cff722b64fe80867c0cbdd7eac545f65e2b47c58ea58e8d8e93f1f7e3aa52f4867a77a8959b2bd71dbf4dedc264f7fbfa0fe01aea3aa5776d327a5f3358486c8da13e5a35015a6fdc6bd59a4d1d5e77b57a7c3defddd315b8dfa63ed4c561bd6798361de27a2747bdd3a8cd9834f131e39d3e3a999e3e6239337136e9b925bd132e524f8fcf3fcfa6ce93464b2f961ece07a0372a568806e79f8fcd197ac6b84d98433e703950c6e8f3a441daa33d9f84cd85df5c00fdfaa66b5fe2ab43fca9c4df6ba56eefc05af95695d93d533d8f2b9f672325e68b5896477d1d6b18d37f1e508ff7c9f7469fc494f9dcf6f49751f3fefdfff6df9e9cb7592efa5bcfe79973bf9e9c65fe9461fd6dd46699fe656ef9e4f0647dce1a5edc364b9acbe83359dd6b75afd5fdb8dabbe0fe1edc99e4f9f785d1b77fad9ad4f352cb835608e79aa18bd1f8fb9ac10bf40e5c3358197a2dac18cf35038cb4c66bdd28430dc6b7866cb345207c5f8b3e5fab87f2dddb5315b8ff36f5c55ffaedfe4d89bc159d133b3f86ab9b230c7fd6b0f7adb7e56dec02f716cd133f3dccadf32f12eebd3dcc3f66f9a429b7e1f99cbcd1a6bef537a4c5ebdb2cb6b40b2ccff6ba7ecadbfd35546c9a53bf2882edfbf4e65d60f31a6a7f4f3d1c4fb3fa9c98cfbb61adac4256abfe3aa23ab8ff542bcf25d40749a3326e4d8769fc3615430357463eae223ec93effdf543e3d1303c27a86e1c093b8a70113bf4cc361cafebb548c1fa99ebf4d2d56af9dfa31814b9ee5967998ec49cd5be48bfa7ac4725e1acfe45092133f99cf7230aa717b269f53131e137832b6349ec9f3995843cbf0f9dc5ee6cfa1a127733bfd4be3653e9bbdddc9f619cfb94d3f26f0646ce267727826d6509e67ff5af4d300f75a3df9baacb6f75abdc6fa9cc7f0dbffb8f28182495d9e5cdf5d8cf4d25e735786719df2f3d4ee5afb3f54bb7eb96051ba78f5a2ef3a48dffae4be66584d0055aa56c0f8adc7eeb55a4dde51b5f259f6fdb7a90ece27dbfd69eac3673cce6b55c7d9d05bd7fb19d39911efb4a8e1f5db4c83f40e9fde211eee73417a0cdca1cf13a6c7ebd36c5e402cc3cecef19bb14d0e3470b9352a24fff869f81ba2379a67fae68def79295e545394034d8c581a4378b27bad5ebfb5729bdad568c7cf8ef01d331d0397b50b12634d10bffe9699d239974ca3393dc7e069d223c329a79fff64816dce2d26fdd95f789bf314dba8be7632e15b1ef33207fcf4b79a5b86b8fcbf1eb53ae79acf7206c2eb1f89377b2dcae7ec4f9ffc1b8d5f0f0ccf3ff2c2db7c9943fee96f35b7cc94f75a9d3587efb5da51d7f1a6d79eacccbd5655e6b1420fefcdc03bbc562ea95a2b1f29b92a69d61bae4ac8fbfa4a1d14a4176bb502306dde6ba53ead755fbfb5eaf5bdf74f56e0fe34f5e169aad58ffb31eff6eef7bcf99d1cc7c4477a33782728e5c470a70c3cd2e64c62f2a9fac369e67cf1c49f139d58a0e9d2e7a94f0f34237df963cedce6333287199e3e69f24950b6679fffbd56efa85af9e4b857d05111062c3bbc463d29ddff9b6a134fe318880cfb7cdac12f7fbdcf200c7dcaa77c4a9e7a21e1adf06cb6be6968fc852c8ae6e48bbd78e6a03f9fa6becf277dd2e93fcd19cb6dfee1d37ff33e193bf399ccea04199ee6b77a4c2d4fb8192397c6c95fc8859ffca91fcef9d21bddee94fcfa9c671bb8e8338f3c9d173bf38b669b01fd263af13c916b79da6c34fe127e993771ca76107e994f82db7e21cb6a9a9c9743e0a2b7790a6e63314f6af259eca93931419ec8b53c6d361a7fb1bacc9b38e50c5fe693e0b6175ec8b29ae69243c95cf43697e4e9b0d8991738cd3603faf99cf8d4e36b79c28d465ec22ff3265ef829bef55905367b0ce56c2f9a9c671bb8e89b28f2745eeccc2f9a6d06f49be8c4f344aee569b3d1f84bf865dec429db4df8653e096efb8598abeffd5a3fb46ed1bb2ae90db91ef5b520d84d881e8f045ce3f4ae599eb2b61ac19795a1308069b4d5cb36035b0bd19c58e0f4794e0f9427fd7d7d75a9edbd563b4e1c24b7f82d1e577e75757f9abaa3e802ee4f535f3d97edd4d66733ce56ce47f5de930ad733468c0623013d7d8726879e555665eb7e0ebd9ff11da998c5c27b3e49665320cf650263f83757a34e913635b118200dbe587a0e179e393ebd6cf36c334c3f0dbe86e1495f2634edc532149b667df3dac7a2046e7f0dd1df6bf50eaf9557c1ebab7751ef95d5b72cb0b0e84adffa63bd95c1d61c62c79f38cd8680da34c09aa1f418b81e1318738e4e93eda52f769ec4daf6257ea38b4d536c9362803191a7fe64e65fd4627398f21c3d351300b52981354367e6e1db0ce929cf3ee50bebe39f621bdd2cdb97f88d2e8e92a6d8266aae3191a7fe64e67f9be139d7393aff3cdbbcf5c7af193dddc2b719d22fb770ca990f14dbe866d9bec46f745194f75a55ae7bad76549ce07e5c393c5a3f6ccde073528ce6efd2235d95ee6b86ad1654035eadeeebab77a5b5e8ae2c77705b81fbd3d4bffb055ff0053e96ab344e04dd4439173823203b17007d7e96c0e8eed3c80a5971cfd89445e9999089c5078a2a84cfa93754c8f40b197fd1a4d4dfce552c1ed09a6bc95f0c13e8f155a07efc8680926f28ff7badaa83a2298b561981b76eadfc6fa8bd2e0a6e01d4ab1fd09bce87d3fd6615f04035bd21f91063e4534a9692e5dc6f53c5e670aec2b71637fa16718bb0999c86e1d319d3ff9b0af458757ae076aec54ed674366bcd0b4f89b9f54970865cf486b60ba7e7c99f78b33c3917e5933cf234b9c5675699e8b5a60b3c124ff82f76b2a64b3f1298727b91263e414ca5b8e80d9dfc624ffec49b65fe46df2226384d6ef19955867aade9028fc413732d76b2a64b3f1298727b91263e41cc599345193af9c59efc8937cbfc8dbe454c709adce2e5b36468929db198dbb9169b3e8d7e2d4f9b536e2fd2cc1388591a533674f28b05c69ff88c4d607473bd0c5f263a0dc339cc27fd86a607a6195eec640bc78c04a6dc5e3c8ebfeab9c0edfb940d9dfc6237c5ade69c71fa4c6c367ae12f26b7e617cff4c9ced87e9b8a77fdeabf4eed6ae562e433534ad72657aefeeb5432cc489b7b9aeab676d74182ae8304805eeb1a4703207739065aabe05316321e395cec1c041add5c61e27c9aebbebeaadaf75abdc5e3eafe34b537ce93fdfd69ea8b6795aad329461f70ee8bf41e839d713a977986d97b8fcc73c2de8186f08fa12f9e7f566e51b9d5d3178b87d3881d36ca679e0473a0810b29b7f2c1f41e30bae7ab1cf2346f73e9e99d3d3ba717351ffcf4ed2f71fa320fd30362b753817ce0629b8bec5eab779e5af9bf52cfe3cae5bf57ed3cae64ab9d6b94983d0fd9689af51607b09e209cf2c4316429f5174d9b939d9b172c9f9c1fcd1e7c12e0c7e4bfa104f597ac22a737dafe2e64609a5b4614527b3bd4aa34d60f98fd16df6b7596e5b63e2773afd5bd56e7f100d7ce3346187fafd56d11305fa75ab906b92a5930689d395da7ac67f096139ea9ee9a755f5fddd757ad36df55d7a2ce27f7f66405ee4f535ffca55f67c36ef694c9db200c387b622e9fc3f56e39f915b7bb38e1017c783da6d3cd98a643dece8239f59b25b24d9a0c6df23c73bbf52c247e3db2ddc75cea9067757899c6a4646980dbbd409e7c9bfa4a541d222f35412ea5aa545fe6278e39f519d61b0dbc8bd5caade62a667d50ad7a46babe27a8e7d354323f494ddf177d1f17092f3e4ff134b55a6db561f316c7ac2f646b945b7d2693dd7a7a88da1ff8dd8f549990f12c6a736d960bdfe6426e7398c345337ece17e6d46f9691c0ed5cc92e3ef9377499ebd46738599bf4cf684c64f4a239673f6313c71492f2a229c3d99e6ecfe0539f61fd25b7c867e6ddec199e335e620d9d53dc7a1a3d35e14b3e45ddc62eb034b27a59ec45737a3e894f3dbc76f18f7f32b7aa549fec646e7db63b0ddd7a323935e18b4f51b7b10b64f232ffc55e34e3053e894f3dbc76c92d3e87135f3c1bbacc75ea612193b5793bd7a9095f34e7bca7ff029185a4bc68caf0a2393d9fc4a73ec3fa4b6e91cfccbbd9333ce7bac41a3aa7b8f5347a6ac27e9bea76d4177dfdbfa92e5816183d4dd52770bd76efda93d51cba95c5b8faa7710544ee3a88ec3a38e65c279c988c3fdbe9db857a64e05d6ccd5005eacf7d3ff92a73afd55993b775adee4f537bbb3dd9df9fa6be28cb9e25da863b49758feaecd9a6cff33a677576c33b8e69f040ed7c36354f674c0e7ae6805373e7509b623920b9c169c2cd4543afe79fbe6496439bcd9b263d31cd3c8b9d4f5136b5f2990f868f4d9e659ee641fad8b65fb6e002efb57a5dd4ca67d5fdfec76b771e57ffe5bffc9736bbf61b6d4d73db1ba2b13298b2a5c3a9a4d15ae59c3c5c130ba479d4bed09f38c1c9c0cd6b68b327c3036b97287c3316956c399cf9e75ff8e6b229647d73d9bce4706ac2692e9ef3992666f9cc07d02e3c71fab3277ba45f746d2eff4b9ee5ff60fdd816682bcf662c2acd72109b467fd9af69e693a6cddc167b6ac286682e9e17bdcd98dbb99868177efaa2eac9e2cfd1e6cde1c23ff8bed2168880f5cda86f738ccd7bad2ad7bd561d1567351c1bc8b586f498fa779fe36aebab5d9b5ca114e1bebe5284fbfaeadd672deae5beb7272b707f9afaeaff9baa40eeb89c1c77bf81e96eb0dbbff8ee1ef59134f8b3b81347ced3667774f3746b171e1fa0cc9f33b7fc5fe6839f61339627dcbe7030d1f6eb74eede72390c2cf6cc27f34db77c2e9aed7ecafa480ef75a55c6f325ebf5c27c5d6be543e51d1bd637797a70ea65ed4aef516a7c20dc93d57a8c8ff1a464d9d4eb78fe36758bef726ee5f432bc7515cf69009bcffb24de4f52f758f5d687f29ce5924f3ef5c5362fe6dc7c8bf89c17de8ccffb34d725b6642e799e9ea73effe77d32cce1cce7d6c7e832df8c853745f83489c9ea4ce3197ccebb599ed137dd29c0d8bcf89449fcd98f7f2d3e89cb2abdfe32d7857fd95c599de298d21675197a92bfece3e67a3ef634a72caad96ff13ccfb9f27fde274351a7ece29f8ffe9ce55693d5298e79b22617d93467fe6555ff327dfc993ce692dbcb3c4ffeb5f8d0dcca2e7325d0c79ffd43f0231fa82f07b2dbcd73e8497ce60f6f2e564feae39beb12dbec399c789ea7feb5f8645256e9f5f3dfff9bdaa3544b943d4d752deb531ee2f369aa4d6b09bd0b9f9e9bcb962f07ed3a88dcb5f5bebeda62ac1742ad5a075637fdbd565546ff8ead958704f7bff4bbd7e202ee4f531f9e677aeb3a46bd871d2bddb96160bd7ae1236930e9f1ce8c3eeb6ac8263e13b8cfc06c6a3da442863797c0f9d374bec00cf3e72970b142246333cda3fd0b7f7cf9189d262c8afeccf3d4346f9e0cc596c3a9091bbdd74a2934f57cddd5aa1580e41d273eb77edc8f87bbd38e8d8e19a4cbbc5545cd2610137eb2476aad2ae8e1a21ee9075c8bbfed8d2e162e6ab14f82f486965b32fc3957780ccdf0c0fc31dcb619d66fae85005935fbc9c734fa649ffff6773ef159cdffd6c1d06237ef629f04cb7fb925c3cf21b07e3e1878b293e7b6cdb07e732d640ecd7ef231f93fd9e7bffd4dd35ce1d3edd6c1e862a7ccd3e69360f92fb764f83904d6cf27cfc94efecc39acdf5c0b9943b39f7c0ccf692eb8e9b6bf8d3657f874bbc436b4d829f36cc6850c2cffe5961e3f87c0fa19e639d9c99f3987f59b6b217368f6938f599e538e69baed6f7c73854fb745cd0758ec9479a659c8c0f25f6ee9f17308ac9f619e939dfc997358bfb9163287663ff998e539e598a6dbfec63757f8745bd47c80c54e99671ad8a5a7c509a5b5876b93fb52bceb94dfa69eeb96aeb986eeeb2ba550abfb5ab44362ebdbd6aefaf3b87abdd44acef7f664055efd18fbc9e1b73ab97353e0ec2fa73343187d0d6e3370e91d8818fd093c2f8a041a3afb86feeedf7df569aad3a57bb6d6ebbb79b3e9a077c68c0f2bcb643c9d49a7b769945e0f078873d69ffa995cea7cea9bebf49f675139df265602725bfe00b2f0d37669040c95276599248e3f735ba021cde6e6b2799bd2b9ef04f75a55e1af77adfadd69af8883bce3d0fb05a3f722f6dee11f987ebf4dedff4d1528444f79fbdbd416251c8c9eb8cdf80d019853069f9a466f35fb49aa3ff9eb47aa17c327e7ca76fe4d5a020b3f274a79d1cf44c8d90abc842738c998673cf3279b26fca4d545739bc37c524e0fcc709a98864ae3193df1b95f292ffa99e4bcfe36cf26bd78a67fc6337fb269c2059ee9dd6a6e739826b77902339c26a6a1d278464f7c2693f2a29f49ceeb6ff36cd28b67fa673cf3279b265ce099deade6368769729b2730c369621a2a8d67f4c467b0ab92e8000040004944415432292ffa99e4bcfe36cf26bd78a67fc6337fb269c2059ee9dd6a6e739826b77902339c26a6a1d278464f7c2693f2a29f49ceeb6ff36cd28b67fa673cf3279b265ce099deade6368769729b2760a8dfa6befffbbfffd61b3d1735ea435502bc759a4b5bff1703de26befb58b8c58cbb14caae83c8ae8364984cf4674b598f1f80cf355b2139df2e66129b6b6b1e00795f5fdd6be59871247c9d8eabfb6f537bbb3dd9df9fa6be3897edb9a53239eb759039cef639cd593ee7b2699ca7e0eeb8e87dceb77b8f3ef32bd09077affef4ef6816ab1992439872f960f22fb67b893cf11c08e89bab59ca6d9af2a1a441d2ebe79fec921b8d894e4d7395c385e780d768cef4722eff34f75abdc36bb5e7a8bd2e2eea5e38599d2fdc561b78b816d6d790ad39ea91187dcb8817a2c77fe2cffed4cce7123b3d103e3de1f18d9e9bf0995582426e7bcab951ca6d56cb33663cfd1af23217c6687db2694ea5a1f99f6e8bcde1d4cce7129b525f9bdbc07820ff139c59c5a7b9edefb5bad76a07d5e540ba6c3a90eeb5bad76ac7c0e53cd6d1a2773b7a5e7aaad87dcdb023a7b5dce3f2eabebe7a519577c9b5e85ef13bb8adc0ab0f3a6ec7de16cc33cba04e64046b9813b7a9bf6dce6b48fd095ee3d3d42ffcc22f7432752f27d619b35b47fb6eb30fc6e231bbab1c5f543d41e1ce2994ebcf4058a3df684a7789e3e1f9206da63ff913d39418cf6140dafa27639109ba42084fbcdd3ff79db8cd3479c2136775eb79e12f3edbc77bad7af99ea9f9cb6ad50f507b5dbc5354d831805cef53e778cf51e1bef76b34d22f8260bd4ff2c4faf4416cbf4d25f0f2795fe84f7c6ec6273b35b7fc6935cf5630f504fdbfa962f71fa836d7f436b56d9e40d47cd28c193ffda3cd8b67058d4eb3d853f31af1e91f1658299ef43ff5b7f3163b4d0ecff85cf436b533dce66d4dd2dcf20b7c7079e5b9ca33394cf3287f51db67f0e91f26bed7aa0a5fea76af550786b23c599f93bfd7eaf555ab7e9b6a31e345d4fbaf53bd8216722e550157a536f5343d5675cdf270753dbe67ad5d0705761d3cd7154d117f593bd9bce52f9a2ed06634571868ba276391095cb80b49bc2593cd698036d3d0c74c9cd5f4f3bcf0179fc2e57cd6a1640ad46ba22e9a7badaa98e2f45a9fafcbdbae568ef0fb6f531f0fc927bafbd3d487df3928cc79e2e8b8f43e073a37f5f94d32fa09acec7b9f136b0eeb867ade087bcf8b9d5e6c6713fc346cf1c2d3970fb2d8f1f9cb079fa6f70c7f40acd961816d5e3c459db1a5d47ee165454f83b7b91cb8b58f80164f436f13d080921408e7d928fd04f75aad14c0dbbf567ee7e345d12c02bc467d88e315df71854fb0fb1660d8509bfaf0f3bde5c2cb629bc57999263ccf9826dad093a39134f96cb379e3f58b9d007899e6d4c3b539b4b9d8f13136b573344614f07c5fd493b14d7aafd56a78afd5fdb83adf29bdb362aacc397aafd5598d77b65ac9a7154bd7209b4e74ae53bb50faeecf7d7da52cf7f5952268efda6bd1f6f1dedf56e0fe34f5c56f532bcd3e47b119d637e4d4d9bd994dd889c312bf73e82536be53ada1694efda9e91cbd53f37268eaee67f8d86cde70fc7c984c6346cab22d24aba6289f02859cfe36a719882c6ab935d7190b37cbf440f85eabdbbabd556ae519a90af7520e7b3aeab5b33e53764f47dd8ed2788e0aa7018c7abd5ac309873d50b562e869eac3cbf6d4b38b563c7aa362d39cf8967c8b9a79f6077ee9f7dbd462793663139d18a3e5f036c24dd77e7d9de62aab33fc82bf21b57a269f6691eaa56e6fa3fa9c353977f0e4df2216b86c6fcbd26826fa73dfb779ab99e7a9bf601a0e999c38729e36dfeab8e92ef9bc9679cbe40cbfe03c4fb2fcf51b1a889ce733f964383d100ee4f036c2b7fbf24c9e670edbafa57a5a2de793a43c376f3531e3d35ff2c9a1494f8cd19e8ffd066a9aee92cf6bf12cab33fc82f33cc9f645bfa181c879be2c1fbf4da57429740dea8ffd0ad1dcacba84755d73558a240be37da24a80176e65d2bdeef4c8706b98fbfaaa3a54abd66cd5e7c4f75a9dc7ccdbbf56f7dfa6aaf9cbdafd69ea8bfb34673a87a9f7edee1f942c06e83ddcf3cfdedbc8eedc80ce92f1b0d36218d008d2c017cde3f8c333d878cf1e878bc2cb01d6cbc18c701a4cf3e2f92c07f8cc334f1a0d360a708059859beb41f1a8d97ed160e470f1345795e153ac3e264ffd9983cd792e4f24ccb97d0734e4859f26c1ead37e155bd4bd56afbd56943d3b3d8f2bf7a855b255c56d6ff54030de2a01aec5c70ccf2dcd39baa88b6721ad3fc2b9ad3ff5c8d3731ae6c3c0dac99f98e0f4192e30e570b94d73fa9cf8cc139f1ed058e94f873ce31f256f361a63f4e2391f606dfe98536ff39cd1e6a90ccfe4c9d1694e9fe162a7c9a1fd9ae676c698334f4c7a409bcf8937d7a3e45eabca70afd5abeffa8e96fb71a50eefe4ef4157226f67cb0c7d7f3721c6e67dcd705f5fed1878975f8b7651bbf74f56e07e9bfae2c3bc0ffaa00faa40ce98e7d921dc1d144da336bb5fb2ca17b5d861a3693085a4c90d1608d7dc5f01c5ee5e0b2390cc1bb551022dacc7f329319bb09e5e1bcf012e501fdebe60162e16d6689a777a86f9639a629eed1abe661460a2cf275bfdf66bb169f4d3c019a6c90d2e019bdabd56caab0edfc05ab94775fcecbeb45741af59d6f860fbc42d7430e3ad7e864ffe82059eb1ad1d4f8dd17c92cd73ab2b626d2630cd46f1b79e6916556c21b77319adcd337fe139e49f2632be1ebf9cc3fa64e3390c1b7a193ea7a069de53bfb99a623ecbbc799740b11bc5df7acebfa8fa42f28f19b6a9cdf3cc339ee1a3e44511da1cb99c6960bd216d3ce7e193bfe0730afadbfdca5f5453cc73991bdae8ff9fbdff7bdabecbcb3abf7646040546e597a2a8dda8742bfe441404d176147f4c4aad5852492553998c5b093b54f55fe056f6a84a6536a62a1bd9c8ae5b960a964641aa15452d41451a5414106ca49b06dbc098103aafeb7adff7f1acfe9ed7757703fd3cfd3ccdb936d67dac631d9f637dbeebfb6b7dcfef795e77389ff4ea5b4fb27ca6c16478f2c364ca46ccbfb1e2e147c97dae9a86fb5c3d1c09e6e217d571d53da83583dfe6f96401e31b40eafb9ae1bebefac5b316edd670af9f9c81fb63ea8bb7a9ae89ae953ec9b37c37539e04fa1ebcf344c1e805f4e23d38c1345d5e7b7612dbf30371ef12f3f139104126781a4d3e91f9341646c8de13d2148b8c2f443d805f0e487a4d4086753d485ffed61440ca1330ae1a0e84f52a8dabd6c54d49c3330735f23e576fadb9f29b9f1d7bb0ddf7b8b71f8e373bd42e8eb1b056ea52d78c79353fe52dc8add579754cca46590db456535bb5a4dfd0407cfa94c3f56a2abd4b01e690c93c4f3ecf1821f9ac2e301ebe147c65bc26fc927e620ea7bc054595c9f2c930cf4b4da357bded4a5048fc30304c562ce63e57cd46f370ce4cf864ee73759f2b33d079b4b309b89f8366a099695a2eb3743b5718f71d05b0a27066f934a7ff3715795f5f59839919f3d0faf071aaee6bd18785eba7de5ad48ebe97e766e0b5cbca738a4f2c7f5ec5389f17b22d119015cc4bf8f01f45d40c5c6a2730a6d378a03f128304ea3aeb64fb7f531df72e94ade3db6438e0ac88efd9af6b07abf401ca5b0d526ffa4c325cec294899ec22206b2ce0e2739ae750ac54d7254a6e175e134fb3ad2b7f64b109d2c0a7f23e576f92b97276ec7880dbc57d3eed98b7cb9001bf4aed536a0712106fe7facd6a7bf3c31ffeb0a6f2655ff6657a7b8009ac4eb02ecd735d72cbd77bd1709bcf9c699efb6d6ae229170b64f50aff33363df148a066e6139c634d50d49aa7cf499eb1a77fb8849fe499dcc69efaf5a65c3ea72672ca6980641f676cfab6eb8c3df98d32cff4977c92097c75acde337c9e4ff2f55e34e7b8b7b9e5736a30ca94355f91c373b133c921d97c4e708e35fe326efce9b9285d971c36d62bf8a22eb1a71efe989a6ddac5a73cd517fef43f63d3138f2cf6e46ff3497ff14c369f69caa4bade7535d6adcff827634f7d83ae9effa989bcd5e0935d727b2e367dc99fb127bf51e699fee2994ce0ab63f59ee1f37c92aff7a239c7bdcd2d9f53d36f53f19ffdd99fede6e5aecad06d4b6d79e6ce850960601fa4fa8f55e9fbc50ab29509b0fb60e4d64b09840492c1a740ef9af35908b028b9157b5f5f6d5a0065f37c9f2b076a13a2fef88fabfb6f531f0ea367cafd6dea8b6b90774a4d910b10e05073e239e5f6fe13d3bb4abc02a721ee3514328d6b19b2d8ae6bd3208bc5286124ec803656e443df63d1c5c158b222568c1550e3c3c62df665dcc3bfba722e963f528d07c43e885e3e5d9fdb92463d0d9c3fc3b6b1d8fb5cbd45e7ca517439aeda10bbd53262c52ddf2aa17dbdbade9af0c9c363c4c2d5e3eb9d069fff2dafab585d34b76e78e5d67fca065dec9943b198c8b379e633c1394ae2db9aa6d8a2164b39bcaec8752de7933f7181cb6df9cc3046c8b6771a64e564042263d435175bb3ba58f8b6b97cea4d708ef262e09b7f688a5de0cc6344ac2b3c66399ffc890b5c6ecb67863142b6bdd3202b27231019a3aeb9d89ad5c5c2b7cde5536f8273941703dffc4353ec02671e23625de131cbf9e44f5ce0725b3e338c11b2ed9d0659391981c81875cdc5d6ac2e16be6d2e9f7a139ca3bc18f8e61f9a621738f31811eb0a8f59ce277fe20297dbf299618c906def34c8cac90844c6a86b2eb66675b1f06d73f9d49be01ce5c5c037ffd014bbc099c788585778cc723ef91317b8dc96cf0cc7f878d48a62eb8a6e4396287df7a7b5ca7d7dd55aeebe1675fc7ccaaf45778edcc166e0b50f6847bdae6057baf3a216de454db38279091f2efd350397da698c519fc0a77191405d675d97b7a95ffff55fefa2d9735a4f956ad7cd9ec1c2cd090dc0c4a972d123538edf3466359f4cf2410297b18c3b7fbdcfe162f349737ac22bfcc3e5162e5cda9a70f9d73552333c8d81e06d635197fc3369330996ff4659d47c0a51dfe76a73d22cbd7aaefa8969fbb797a8e6b0d7a74e1c3c0160e6bd4d85fb7f530990f68b4fa6f92bfdbfa9560694dea6b63b6800a7861a0ed4750ad2240eab177b068e9ce08c3dffdfd4cf78e73bb78e3935e185a79952feb009b415e7b817fd4ce2854c5057797e3cb8d885cf6abcaeca739e7a372d67ce232700d8cec75eeb64b1134ffe82171eff8a9ab2b2a107c60b8797c365ac57f3c52e7c56e31b6502e0e2bfaef8059e79dee6e038571c120e0cbd17cf537ffa0b71b2f80aa2ff92715197714f7d3e674ae1d3ffe3c7a74ff3d058e3352bcf79ea5d4ac002474e00e8bdf8c4dcf20d9adbacf27fae2e64c3cd3393f8d31033cdc7834f9ff4a727bc72d9c6f873e8c67dce70fa8bcfa22efcf4405da7f2495cc845af79a6147e6eac57f3a7cf6c858cbf2490e6f4c4d41472068e9ce03636fd6a82fedf54c09a47d9ff9beae2e66cb54273daaaddb9c29e579d8f7a31f9ab5d065d0329bb0ff67fa8e2c99009980369606777f759e473b8d87cd284c76b561a179e279c4c0ee125a33972781a03c1f97028aaeb7c9a73acc297fff48b9a0f65252bca7c08e297de65acfb5cbd6173e5d8beffbfa92f8fd3ebbff7b7a92fde859a1847e4de673a819dff9826cc31e48c75322bbddb743e13d0ab91c576da9f3ec2c5623affe1478f878b9740a4e63996517a87993f0d250d80a78c879185c79767b1b02eb9251065dc3336815efa6da3663ca68d8ac933cca781ce6d3cf3d74b739fabe6e14d35579ee2e4633f7a4c5560f7fef3b88ab48c58d9f205d3b600a2126ca552efeaf52e0440e6566fcca5d63c470c9f4cfa8b837cf0b6ee9bbff99bbfe99bbec923773ef1c445f1199ec30c9f1b8ba0b2d85b9fdc2e798ac2bf7e73f5833ff883b6b7759e819ecbbfdc4a46bd39a18717353e255e60780e6bea758e9be71d3075a92b8bbdf5c9ad718953065ea7b932518e8a7ffecffff9b6b1d12f3994d832ff0fffe13f88f2a5440ce52f64ae6cdded584dd466a051363ab072897d5de7aaacdade066af44b0ecb6df99f737b9faba6d12c353f4dd77dae6e8fab264aed3664cde0c8515cc93d85bac220fd4eb5a548eb0d2b0de273eda14989715fe300dfd757f7b932031d5a8e87b7d65ab4b4eff56506ee8fa92ffefeadcb9c0b5c7f63d6510ef75cd77cedefd3ba68c26abd4e80784d32984905e6809c27bcd8aeaa39e40fa74f8364aea4993f0d52ef72486f50e43996409ac47acb2d5b580299c3a208f80849a0399c3f3d264c43b0b1ee73f556992b9fd5b57f2d02bc7a55dba1988e810e154da555e9fe36a96516bcaee1f856637af15bd416fb919ff9d16f7defdffc7fbef73b7b9b4fb9f5eef41b0b43a06c2058ef988d5bacfa8c2d4afd60f158ca21e6c958aa339fe7c63a35f3649be772e076194bd7c6d57b892d30cd63be0fe191f90c379666cc3ca7c7b72de5905e5db9e4f9927ec8bf71d5cb2d7c6ae0f98ff778ec29eedffffb7f8fb9cd27d93ca759fee5798ea56b3e673ec5169846af828f043487a78fb97816953e93f4ea4afad36d3c7d65dba5397fb2c5e24f0718339f80fad4ccf3f409177b8e2570e3c69ffed9a6c1d7b5b13487f3d78cc9f331e2c576e1d367b2dc80e133767c26ea6d5738c1198bcfa1ae469ccff4a7669ea74f981b708e25f03e574d63f3d04c6e0e3fb97355626abf4d0dbb25b94ff9fccb1dca2da97bd6ee53161e95ee5942b60e815b9fa8efeb2bf3f372aa1ed67e66e93e57e6c1b161b5e6b8823b60d46faab992cfbddccec0fd31f5e1a1cbb1eb739766c7a1ec3d64573a0734dc0a1ee3bd224c1f4fe9fc87f7195e3ea73e9f2e137ac51a85a73a329370bdba389cef39979baede6da6c907e60cb38295786e98e96974c9a7b1f00d47d3674e7a31e96916bbdcca5fbd7c688c759fabb7d05cf9acdafe7a384a5efea63adc4bc8b08fb403d634c398f0d682d30094e3036ffbc9eff9bfffd56ffd071ff8891ff9c00f7e18f57205497cc1676c9e6a638d5f0e6372782e9f7a975551917338634be9ccaa3430f4c381c4c3676ec37a4fff331f5dcb01bfae13849fac8b9d4369186bcc721893cf251fa432cdb28ad13506386335eb05ce925bcc2938f199dbb090d37f7a99e85a86f8759d20fc64bdd8334f638d5f0e63f2192f1053996659c5e81d039cdbb2f080ba2244ecf04bfaa3267639500e539efe0d8dccad7c344b38db6946c65cea62e750acb1c62c8731395cf2699469ca0d1953c87acfd833ed64cb9f7e389078f8cc6d58efe93fcfdc96037e5d27083f59173b87d230d698e530269f4b3e48651a3ee16a5d632edba2f918fae2995cb392dbf04bfa4d7d5cf96deab95e6a35e523d4bd478db108515a7b9cfafbfaca6cb4f6333ff7b97a4baf4577c2dec165061ebee2ff8bbc38b73d9ef5994a53d1672db0833edc131ddcb5201e7e529358579efc3dc6f494387f1aa4e69efdb252eb12d25869c278e23c1b02ce50338d94965bcef1c93656fac652cf27cc64e35232c48b6ddb8b552395c5dee7ea8d9fab7e6bda8e685fc8e13caefaa3be768d154c3f4fedb36a1a0c6c9f96b6cfb3fb7483cfedfb8716407d06df2a6a9fc7d39fabab623ff213dff53f7fcbfb1e3e8c513ef25f7efad19349c47c348b3df9e100810217be71e323e1c64d96e6a2d7954fb6f389273e7b6f63e7b971a7c950f3d48489c7278b198fbcf860cedce6832faa10f8361679e1338f3f71b1cb6d39041a4b5d39f361358dde354f4d986ce3ce3f43cd5313ceeaf489192ff6e28339f5f339136bc4dbd8723bf9ccc717c833cd9933e61c5748e25b5ed4d9bbfc03d327a30494f83c351b0b20d8368e4f566cf5723e7dc2990fd3c34501f34c964f8294e30348e5c499609633260c28f401f5851775f6667b6ae6f930ea7dae8e997c8bce9563c07dc7edc93dc89dc8fdc8867846c5c03dd5b7aeb0bb69d4d61b01b1e1fbfaca3c983d13d25c01a668f3030cdfe7ea4d3b57eda67bfde40cdc1f535ffc3fa53d837997d8716c1ddf3b46c0b90d7fd6677d56277fb8d9a4c7f760d03bc630de1342b1617a4314db3505ee3aeb09d013027d8f82f9b8e20887f1f49a7c64c2479d273ecd6d6e789ad39f864963c1e57ffadbba12c8b358b2b61a589ec62d87fb5c7d72e7aabfce6f77d88f9ff9999f09d84db0fde2a1d4fefa899ff8099a76ab675a8b00c780af54d1e0ad03acfc760c581f7454b4e851b71644c6d45b54bd304d25fca0f989effa9fbee57d0f3f84adfcec7ff5992fd7b2a2b6ee9ca770b1b427131e532fe593fc193b4c79eae1bae23ff8c10f7ee0031f303fce85cffffccfffbccffbbcf842c226ea077ee0079c9ba648da5654bfeed7fd3a73cb27ab1ffff11fd72b9c89e9fdb11ffb319ebffb77ff6eb6ba3ee7733e8718c6abfd6d8f5ffdab7ff56ff80dbfc110afcdd5e35637e85937b4570dcebe86fef5bffed75bba5d62a581f98ffff13f1ace108e01837ec1177c81bd9c5b793ea4fbb6b7d1d86a323b5a269ffbb99f6b8b6ca9aeb6f7431ffa100dd21645c63b967ee4477ec40123795ff4351bae2d04b6ab4b015e53495fdd3e351c4fc3292647316336e4d7feda5ffbab7ed5afa2b4813ffaa33fca4a38fe1def784747a6fc2b7c4a8c95ede2636795390187c6354b94ac880dc1e40bbff00b8df290d663a13c8f3d5949a64933636663bd2f231efe9dbfb1fc6095bfef1db8faf9732fb6da7ec727a3bce413d3beae2b26ffe9753557173edbd333819abe6c8b55571aebe2a36b63e5b92dc527a62936467dab2936b770b1b7f8d45c70e227f3590e85a46988e9d39ce35efc292ff9dce7ea3287cdcf396f9bcf377eae5c4c9c4d6ea34e2858562ea49d56b0effec02e8670bdb06c5bffc0ad43dce090dd075d19cefb60ab1a1784fbfaaab9320f9b2b737b9f2bc795097104eeb882dff8b932a204eee5c919b83fa63e7c26e722e8747574b606b518525adc9bb578028cab1e8dbaa30ac6c3e989e70320d3e30b49af29a46b6b218dfba406390d4f5829874ead79325432193ef5cb87462c4db170cd62cfdc6838b4517acb73dba88ba742566e7cf2c4a4cfb39c69ee73f5099c2b6bb2a6d79c77ff36bddd87da6bf8349e4c3c03a4090ba4b12ea1096b9e65eb546787d2faefc03ffdc33ff2e36ffb155ff8eb7ee58b657afa8ffcd877fd4fef3d9e51dff6333ff64b7ff3e7bc5c0dd334041f606bcaf14b20c1c6c5e71f134e7c624c81b77acc86f3d3caeffffeef2fbcda0dfbddef7e777fd6b5580f66fff01ffec3666c4a7f18fccbbffccbdffef6b74ff3bddffbbd18b26ff9966f3199f8dffb7b7faf87197fb3e777fdaedf155838e02ffafcc13ff807cb593eb25dfe35d51e875e3134fd0c85ffcb7ff92f653506b050fbeaaffeea967adce8a56793ffddbffb77a74ceceffc9dbff34bbee44b90e550b6bfe5b7fc168f6d02c75b14fa63429e2a3d98d95e0f78f930540cb7c7d4735b4e4f0399cfeff99eef5902d2fea37ff48fcae1dbbeeddb2c4cc7bfef7deffbe37ffc8f7bde2e01997fe7777ee7bffdb7ff7602a0ccdff9ce77a6c118cb6ae31ffc837fe0897d4abbd803ed9e54698a7515faaeeffaae7ff36ffecd9412335d7fe48ffc116be579aed770d290e736bc2e9bf0db7ffb6fffd22ffdd273aeea6a2c5857f8494d649ab010fa5b2c0725fec4a77e3e00cd7c6a169b5eadd0a8e3d5973c27d8b8983c63e63fbe90d3f6a22768b84b2cbe2e7c407dd19c79869fd348404973e253af377f806663d52c36bd5aa151c7ab2f794eb0713179c6cc7f7c21a7ed454fd07097587c5df880faa239f30c3fa7918092e6c4a75e6ffe00cdc6aa596c7ab542a38e575ff29c2099a635836b08e0cee552e03ea57623c3c02eaab07b96fba610cdad3190ee5cee5ff8dd07bb080ba1e7a038df6980695aaba4e9de97269eb27ba281c2f10c954c8609d2e02d84d48ba581c5f251167be686149ea6d835cbf97179755f5f3d4cf2a7f65c9dbfba7ad8da7b3966e0fe98fa708db00ab1cab15271a5e86a628a5c4d5c5cc66bf6991c0ddcbbca6612164bac49ef6a9b86be6b16bdae04ae3b787a4c973f4c402c65d7ac3c6fc7ea7a4723cff970a067d840c522cb530debcd4ddd363668591558927039c867b301ef9a0bdfe7eacd3057eed3a5a1b68b773cb467310e6c0b05fb8bb27deaf3e93eb7c6384eac0fbaaf3b0c3a485a0ab4860833afb4f240fecc07fed9ffe3bdef7b7c58f9f43fff67fedc97fcd72fde60fc920f7ce7ffedbddff7da7bd4b7fdcc7ffce0a7bde7fff8e5162da7031f26b9a92feb9e53393cbd6c878b9d66e0f4a79f7f826ffff66ff71ce8a1ebb7fdb6dfe690f6c6f25fffeb7fed09ed5bbff55b3d38790bc7dfcc78e63163ef78c73b7ecdaff935c4ce1a8f3d1e323deffda6dff49bf2a4e4e965a307458ca73bebaab60bef4dac5f58bdeb5defe2606ebd873490a735c0735d5b3171b9a9eda0736819da35ffea5ffdab1ffaa11f32f4dbdffef642aab9d9c55eb44ac929e9dde0f77ddff7a9fff6dffedb7ff24ffe4917a24679ef7bdfeb75a5f3da3395273786ef7ffffb29ffd93ffb678e0dcf90a7275c5332400ea5a7697384980a2f2d25e32564978ee7f64b81365c94d17b68f45828f3bff7f7fe9e19f6fad7a3b2e75273e589d4dd5a569ee41bfd92b98db5efcadc5af677fc8edf91bfd17d4c6057f291214ffbcb3ea594e7926f5bce03c0feb2af3b00feeedffdbb0e0093b6cd2f07b599f78cea30b009424ce00ffff00f7ba2f6a46a06ecdf94fc9b87056ef6ce997cc55ca53f7dc20c2be586d4bcc51ba5ae97411ff56f5d53e6b373647c992c723ce6b9fc732ee4a29fffd97b9fab73369a3d73f28b6aae9cc5ad25dc955c01ac375c285c525c065dfa9a9fee534e3ac724fdedfaca459b9240edbe767b1fec869873f7419e8d6b2c78633191038d7a3eaede34ccbbd6158b2c56ddadf3bebe3245f7b9fa791f5766ef5e9e9c81fb63eac379e5f2b7e731d3d475aa0b56d89548d3b5ccf5ab4b52d73517267a3840468fd14cdf956b9e75e5a38b985bb1f0e9afb9d8fc73569783def81cc2cb592fbe1c0c5ac9733e8ddb459667c3e58614c253dd8845e98d2976bd1b97cf7daedeb0b9b2b269efd811f688fdd57e442a18023775bcf5bd7dd7f189772fd765c10db7afe9ad0c68f05b279dd839a2607cbaf2fffa873da31af6bf7cfbbffb4feffc2d0fef6c6f9e51ff7f3ff6a1ffeafff4df7fdd173d3ec4be8c15f2f0d9bf3a6638fed1ff41333d303c0d268dba907c3495f0f8d3d3d345cfa87fec8ffdb14c3ca8fb2aaf47174f8f9ebebc1fa3f71467267fe36ffc8dbfeff7fdbe3cc93ce079f2b1d6b17cf1c4b2ac3c7499e177bffbddee4f1b4b14d9577cc557f444aae979c66c7bd0950367cc1c8637b4a8862e49b1de131ada23a86fbd92c5dbad5e7e7a7fdbb8d2f0c8eabd9f2ff7caca7f818bb75d9e51edd9de523696aff5f2f13cec01f837ffe6df6c8d18afae2c370e9b5b247f8c79f0f8c7c4e3714a9a72101e2ec3dc3cc97fcdd77c8d67541afc1ff8037fe0affed5bf6a366cd71ffec37f9806df272652da83e599f9e6d65ef0146a7f7904f52142bc97ba9e51bd0cf79cd92b713bc87026e41ffda37f540ed5f6fe0e80f234aeaf071b7707c099791adb2bdceb714fa46da6d97384c8c1a1d276b515e9dbcc18354325529d06af84f5c24f6a4efd83cbcbcf778a7db0782cf16aad53136672e18d3be68213af37707a5e722628245e53c9f3969f8faef40052486258899ce6d1f23e57e6e3536aaeec56679fba35439ff1b952390060bc4b04ec2c76e94be6ec0634efeb2bd71f736536cc4f7315366940f7faf8fb5cbdf9e7ca9eba97e766e0e15ef58bbc584d3adb3bb75dfe1cd0b013dbb400619f9f59c73751f434c9ba7ac22e0a5d3a1f7b1e7e2b98589458fe784c8f73e1c5e2a7a7e44f46536c99d09467b6b011e5a68691e9f92035c76bea4a333da0f0a7e70f0b81bbeac172ceff51f8d00be4739fabb7e85ced6f277a70f544ea09c78628e77115633104f85c5fddc2e8617df4483ef03ff5afffc5c3c9f1a27ce803fff9a1eb03fff4a3dfa3feec073ff4fff98bff9bffed977cfa0b87d4993c783d166460634d86bf608c254b247d81d5f9d4151eaf79ae7a3d9561bc85cb8a2cbd2710c0632a4697977298dffa5b7f6bb1ba145d2dbe3b25cb190ff8deaf9062f3c45b697dd1177d518148b29a4ea5e53fffa2d49ebb0ced05e398621bdacb04b125cfd9c9d87335ac5062bcf1837d51d6090bb4c9be225b86c9d41e383d747123682c646559699e5873594dc921fea23cf3f440bb073cbc4f496ca6a8b7bf7c390ce33d5b026d2370c97cfecb7c5fdc0d78de764d5b86808f03f2e4a6a978b0844dd1dc90b05f14e31d00d2c0c095b0a9d3f41183295daf99f761878364cce9491f7ff6328f9fb251f098e1c55ef4b31a8f1916056394f9c3b9cd7fcc83ee652f20f68c7aecfcf99c83a767580239cf7f4cb95dea7ab75d6794aef204c2ea46b9e837f478cc70b11865fe706e18205cfd287cd10b97c3f4eb9d38301ffa34532e7621319ae5b3acc6a4bcd4f56ebbce285de50984d58d72d16fe8f198e16231cafce1dc3040b8fa51f871cd157d2b10dfa170e63eb8bced6dee53ce32c575d2a500035b8da47cecb9afafee6bd18735eda7d25af4f1d8bf574fcfc08bafde3dddf93ab05ddd18ef3237bccb62973935e6c435d5b7c5c50bd9256cc0423c0cd475d675f9b6de7bdef31eb8a5a76ba58ba3945c169d03801075e70332ac26ebc29a1eb3d85d70c5b25d7321f8cc31a72793ba26c028c984e035f33cc7bd8d6aac93cfa4d8d3ffc4cc354fff928fd4ab79e272b8cf55f3f0c6cf552751fb1a6e5702184f02f657ef2b00a700ac7614ed9c9a0cb0d37d36e109d6ab397aa515c9ea48b1bfe4c7bfedfff26def7fb13621fbe55ff20dbfef23fff37bffd58b0f661e743ffba19ffca9affbf37ff1f7ff3753bd38dfb7ca6971c32d5bcd9f7edffb3ee39defd4fc5fbef77b03f0295becc927f8cb7ff92fe773afef33f0499981bff017fec28ed58132a9093f9c3b2fdf132ec94e81f8e9cff3e236ea6486cfd8cb88cf8d95ec32d6e9330c24bbe419ff9ccf9906e5d95cc8c039d66cdbbaba22d5425e9173bdd95e7c72bbc45e94cf8d95ec129bb811871b54fd24ff9c4ffc199b6139c7dfc69e9a294702971c2ef9d77b0e3d26b75bfdcc178549566c838eac79f141c6fbc5bb7b96fba61260e20ea5f6808a24f374aaa96886014d5d2ddbd6ec3ea8abfb2001e6bebe320f8a39695d57b3b98abfaf45cd86a9e878fb64cd954f6a7cae6d91e600fe8eeff80e75453e80da49f4955ff9958e79ca6ffcc66ff449ab1d47afbe146b3f8cae40384d7af56d314ae48b811f9bc3e540b07c62aa4702af47b97fe9f7e104b63bcf73d8d5d0d50d6fc6addd7df0df71dc3a1e6997d37458ab7daee37b17f46175d7c762f1f439848d85e163943c31e7ded5c4f32caa7ce6d9773c36aec0f49e31caad7c8a2d87e162c930e5b96c99944fdb0b639a047a39b48d32c78b42c6dfe7ea933557ae1aed59bb09b65f765cf90ea4e3c1a54db19bd41de4dea3fa9e95bd8951237370edebf871dd7129ec7a2410c6108fffc867fcb29ff9c8db3eede513e8477efafbfeafef7d38125e968ffce47ffaf0ffea4fff8f9e511b3a3e87312730d69abbea9dfa27f1b2e2ff755ff775b6f76ffc8dbf01ffa93ff5a7bcfb9a67b1787a5beabba6e5f35cedbbbbbe56aad749e46d9eafda9a99c4be19eb39dffac9f754fb39a2bf93e4078aef78c73bbc4d35d0c6f2778674f93aeeeff93dbf47ec787f5ad62f60bddffbdaaffd5aa4ae6d45cd06f2cd5ebf967c72687fe6c79b4951dffffddfff4ffec93f31b4ef06cf7f63fdcdbff937bd94f00b4fdbd226ff993ff36776ceb67f45f9faab1f889aae3ffda7ffb458dbf22ffec5bff04eb26f0b978cb17c67b8b47d6db8b1fa8aeceffffdbfdf977e93e16fe77c9e7d3379c715f1dff93b7fc7af3d9bc9e5e3bbc17ffdafff7567d39ffb737fcec159e63086d539577edafaf7fffedf97b9dd4df9d7feda5f23f8b37ff6cff62b3578f9f83ef03ffec7fff8ed6f7fbb6c3f9e03c0d7867da9d81780fd152bdf0637876d97af6afbd1acd38779c5f77ebd4a3503c6c2a865f8b2f3e1df987ae3c3dbde8b46afb1907c36579af0b6fd8c1d9f4fb1a7675198ca259f25d6b8ebdd568c11fe245e5604f0720bd77bc65e98b2aa3efdc700f3844f0d7c9fab26aa99798bce95abeb5620d62a5da3dc959cd461b54b996ba67b5c58ed44764d70325aabe077170b9ff7c1fbfaaab96a1d687eee6bd11d576faa75fbcee53bb89d81fb63ea8b37a55dfbd42e7f1dc74d56cf6648d73ed8390fe8ea79afd33e0d5e899f9e8058d43cc3059e3e62d3e80294403565d7978d45d05819a66facdb1c964f0235bd5ac99f095cfe61c3298f92878a67039df57daede3c736589df31d0eaad63a0c72abc551d0c2880275275bf05c278c6f3eceaaedf1ecfa145e1b9b27cb10efe155ff02b3ef283ffdf8f5a90ef3079db87fff34f7cedd7fe8f7ff80b1e7efbba58dd623100f235f5f1ec51579af4933de94379e6f922b7c7b5ec703e79aafbf348806f789ec7f606023cf918aea7204a3f3bf4286272cc952e7f9ac8c3d5998f10134889bcf0b3ddb68fa187e9630a8ff4e8e8010c6e68e31a7d439f4ab176a2fadcde7288b77a531ac2690e14be7c92398bd35cf2892cabb0fa1c4bb3e1d403f4d3341c5926f123f33cf531d5cbdce70232e43f3ddce6e0792eff1edb922d9fb6b104f2815f7100f8f1dbf2670517eb9bc6beb3ed4cf163541f37f4eb5c1f7b3b1ef60504ca8d5bacbaf0f24f308de6c60a4f1c7feab39afeccedc9b1d23716ac6c5b4a26527de6339cfea2a9399fe55f9eb7fcad7e431752bdb134e134752d1fcd6d7b78e2f853cfe4d4e79ffec9b1d23716ac6c5b9670fc99cf70fa04ea277d964f79ce7f7ce127bfa10ba9de589a8da5ae6bf968362775cd9320fed44f0354a6d79c1ebecde7a29f20fecc67789e695cdc804e61d73a27bb139618c63bcd5d07dccb008b135db76b1bb2d6241986e9bbc2a72fdc853a4f4041aec6d38bdd58ba8acd306563dde620ffadfde8c9e8d54aa344ded75766e33e574f1e571d2df7fac919b83fa63ebc36e9b33a1304f7f99c6b56187071f1d95ed72f571f7c53a9cb6754f1e1bd7725e8ca5baca782ae537c68f4e65face63eeb1a26808d4523b6733b4f3c1f7597cee1e5397dd7cac63a73805d2fe623308c078c229ffcd5659e55f914dbfcc0f9db2e6039e0ef73b5fdfb3acd95e7ae1d579e64ec2cbbc0bb38e3b63ab71ff1f6857589a750ef0309c87c3e6d7d20d622a0a3c5121fafb482512b9aad3ce063edf299bff497bceda3defe3f06aa7eea3f7ff0cbffd0ffe1bffdc25f46dfba6486492e9ec8fc1bbdde2975f5e071c961fc46c15c6233599d92cc6c9813ef424d915efedbae3448c09f9c55fb13b8fdaf276930cae9b9666079a639c9723e639733d98937b49fa7e29552da58e59c95fd582fd9e6caaef79905de2969ffdae95e5950daf68d95bef0ae4819ae6eb8f47b9f2c6a7c4acd98f23ce7735653169e7ebdf3c46402d03850cbdc936199c7a73f33a7f46c699391fdfda459c9a74b19a6dc3a00fc4d6607c0f269ff6a36876786f0c99b2b6f8615e79417e65e7a2bfe64b42b67ca863ee7213ecf6a86cb274673651a60582fbc6355339333b73498a2d417dc1017cf599d396f1ee60fe47f3b578db27ab10db7fac97cf2df765d344fe6364360db020cc7cf73268d559e695e8109d2a8c92ef83e57cdb6bac9b9cccfb92f5e3157a2146b06c55718289d47ce779e8a6b977b56f750d889dc3d4b88de737d65a5b1fb60cfbdae09e75a45ac33d7392b36dc7d304d774039dcd7579b9ffb5c59573b1a775c75977cfd8eab1d7b76c1bd5c66e0fe27945ebc17352f0e14d744572bd8d1d942d6e9ea2218eed20653c269d442c8164bafe4c30aaf397f81c48bc52bf90b51e0068aef7a81c94413ce73f8d1e3850fe79af4b042961ed336024cf221ee0c29077a4cb8a18b828bcd3c2c5b4d21d3138799e74309a7510b299f62e995707a4d207f81c48bc52bf90b51e0068a2f614c269a308de6f0a3c70b1fce350960852c3da61c0026f91023d5e5403fdcd045c1c5661e96ada690626988c3ccf3a184d3a885944fb1f44a38bd2690bf40e2c5e295fc85283e9f6e203c4c0c58cc65a259af15408b0f5d0f168fe5a3d77c9ffd693ffbdad3da4b8967d41f7fd757fd0f7ffe1d9fc5e1124bd3c225fe5cc49cfcac02baa69f27a037be54e14cce705dca189a9afeb42cd2573a85288bb55ef115d36ffaa66fb254f289bee511d9dbdffe76f5341eff7a3a12c86d9e61ca0afe257c584e3d8ef362ac72d05baca672ea0dd1d0be4a1a2f927e43173b7f69fba3be9a64d3fb4b3f9a76ab47325d7d87d9d3549a0cd5b6f4df3efe7fa47d8b98b24fa978caaa21cad3bbe59ac5c213c069a64ff3b0612f4dd26bea529767fac85b9ce73227ab146b369679c379ec64d21f52a284e36da3ff1628ff623b007c83370d71bc3dfb57feca5ff9e66ffe66213914a5b6aef5a562dfa3864b03b06ef62946a70c01a69c8dabc06a647c203cf369e629049e4ff88c9da72eb8921e337f58c19fb1307d9a61b2e15b7d5df162e759543cac0bce3c2c50d1a584d5346b8689d3ab93e5397cead33c38becc19984ff81c6b9ebae04afa1c866f63f9d0abcb275cd4c92fcf80aee9e7b9b168e034994c5f57ca79ae599ec4e9d5d304d469c6a7e1908926309ff0193b4f5d70257d0ec3b7b17ce8cb61b8a8936f383e015d61f71d57aa9e2d63dc9b9c5cce2cf732f8137e1f744fdc7d10ee3e8839ef8378cdee89dd434b1b964f980056c8d263ba17030c95629142c2f4c30d5d145c6ce661776d4d21c5d2108799e74309a7510b299f62e995707a4d207f81c48bc52bf90b51e0068a2706309968c2349ac30f168f05cf394c002b64e931e50030c98718a9a651d30f37745170b17a95b06c6121c5d2108799eb8229e1346a21e5532cbd124eaf397f81c48bc52bf90b51e0068a2706309968c2349ac30f168f259f97adfbbfd71978ed4e76edf945d376d0288eb30e44db0db7f58025885e4d07a8055c3c6518e9d0ef7d26ac370ce0310e4ab5526080673c0d6c147c831665c49886e6a9a930a10712c09878f914ab3e73685c7a85a65184c005e6994c5662cb275e545de5f968739fab872979ebce95557ebbd5be563a0cbc31836d576b9480daaa7db865872fc6feb64f7b7154e87a2c1ff94f1ffee0bbbeea7fffbffbe25f41ff52f662f942d0ea07a86b439ccca3cf833270d6d303e5a397f2a9dc1ee21a2507b8d123fd75568b21bf1df5a0b2accc8677989e4ebd65d56b91d482694f80ac4c8e1f2b366f6a6e958d029cf9c49ff5a9c76bdeced586f6555282644f0e3d67ffe14ad7811839fb7d29ec155f0efeacb1cd79fffbdfefbfa899a763c01756ed7a8fb25ffcc55f5c6c1f18fb46ab17f231f47edbe9a9bea63a877693198b41c6af7e245ee4ffa426c3e96bae2ebc9d2573ff3de9e64ae6367999e76063a5649fdab373b69bfc86b62bdef6f579002c494aff33aacdf1456bd7f6f6e37c7adaf71cebf7c067862ea102cdad1fa9e2b72d1b6bcc19b541d77b32e193117b1e5745cdb07191cb393cd9c06d56eb0aa80353de8ed2701b8bf236b74caa7380f31c39cdc61ab341319506ad3e9997fd0fff4e739bcf0ce7b0fc05c285cf01b8cdeaa2d18c99f276940c3716e56d6e9954e700e739729a8d356683622a0d5a7d322ffb1ffe9de6369f19ce61f90b840b9f03709bd545a31933e5398afb8e9308e38cee4340d83918466e3d03ebea2605b4dab9afafee6b5133d021d4a5deb101b827eeb872a1462a6fe6b92ac37bfde40cdcbff4fb704cbb8076bd334780da21de25521356907de6d1e5128e143e9c667c56aea734f9c069321faeb7f30dd65b4d80bcf897c0c6ca7351464fdf10784a64798685e091599dfa30711a020934168c8797dbcc37164f25bdfaf4d72c870469c2f8ac0c1ac6b75df2c93c3d5ce6f7b9323f16d6cdc62be6cab2de5ca929fbfd6a3b05d93b55eb6c73eef3ec5dcd312d2ccc79b8154658d7effae25ffed7befba73fffd31faf1e3ffb331ff8c99ffcefbef67ff86fbfe8e1ffde9ce6498c1c7f8bb78e01f43eac6e5e7e4e7fe2ba6e7d32f4b7790aaf79d65ff3355fe389c2639bbf85e33fdef43533dff6b7eef13b43f3e321adffa8c626f88f343df378c8f18b44df23f586d39f11c27bbfe729ce9f1a928fbfaf937949c26dfb397a5ddb9c25137f3b57943fa7a19d1deec77feb6ffd2d89d983d676d2b39af4bcfd8e77bc83bf117d75d64f313d87fbabe63ff4433f44e9e4b2c90e035f1af787850c5a3e5eab9a10cfa80c39783c833d30fba382624bbe9c7bfb611a3dc4c2fe02e14c806121f0b6bad835d77bcec3d9cbf992b9dde42f4b95b93f5bf538d443f2f69d779bf22925af4c29ed323bd78b5621db11ed65b2270f005b4ad9bc9549b9f92f823c1bfbc3a4b6d761837448f815318d9f2e3b95f2d74c7fc6361bb735cdf23ff5cfe11cf2dfe61087f127468ebfe0e7fce31b0506327cd2a72ef5edf6222f7c56f1f3bf68f2a9f7b62646c6e7f3ea7153a6297f8cc06dcb892ff3334d80f2b9b196cfcccfd8e1cb589aca2b3c13a8e7ffa4bededbbac057c7364439a4fc64cd5557929601ee471273ce4a09ee09b935c39e965b9f10e05d99e9ddfbbabbddd70ccd559369669a2b007f5f5fb5ec39e764f8cd3057fb658d64eee53203f7b7a92f3e9f736e3b935d221dcd1dd0b0f54778e7b9e9c33789486bc49e132891ae98f4b0ae346c69f05d3bf080220a9f46af27848dc501931bbd267d63d12c9683ae78e2f8986ccb13af9c396c5cb134cb3f3d07a30cebddd30bdb79e26162257ef9b3d57be60097e7c6c2dce7aa6979e3e7ca2b3bf775bbcfbdbffdd271d5773eb7be6999a51ed33ec57ceeeff85fffc55fff693ff0c11fff0f3ff9e33ff09f3fedbfff0bffe73ff61b1e7ef79840bda8c58e59ef561e31e303b99d51786e6aa5dee18d82b1459ede9f2c8de8379ffec0ac5bd4873ef421efc73c8e3a417cc916695fe4ec11c8032abde73affd3a607124f77fe3cefbbdef52e63796329b6dc9643599d99c454132b89c7d7c41755fde4d0fec4ee86f6dc381f8bb9b6c563a7aff57a1ef3e4e9d5e21ffa437fc83e9dbf3fdedb1fb075eedb64df837500781eb645b6cbb833fcaaaffa2a0fab9a0c299dddfe92f0dbdffef609020c853b905c1cceeb83dec70d7df1c6e6746eeb12cced157392d2af40fd71634f8665eefbcc65fe27fec49f90799a9cedd6affeeaaf36219ed57d25d88ec37b7eb61fc9d294db9307806d7cf7bbdf6df6965ba0bde3f0f88aaff80ac78cc937cf0e09874dcfff1e8fb715f96f4b7370148d9972e631ea34674d73e92deae409a6199f0c7feb7666023f770e3ebabee6bc28cef0fc03ea73acf54e99802630c1a262d4f7b96a8a7e91cc958d6d45f1dc9ac18741f73543b3745f5f3912ce7bcda7d85ad45ebe97e766e0c5e7e8cf757fc2f9aebf6ccf0b71b85b26bc8239714df56db1d0443e3c901dc0822612a8ebacebeaff4d3d6fa834adda775dd883842e99b7feb3808b47bac8e2bb9e0e27a84ee3c1acd8cdeac99f3ea268a6bf8cd5b8c89e66cbf349fc9c3ffedc90922fab42da164cf78fc63aef25131b5d48395c7c34dbde4bfec91a289ca03a7edb4e5039f94b2cc1f497b13eb5e7ca816da7b4edce94260a303f9ed3f03e234f83f414da5fd6e99ba51873655dee4400f661defe6ce9656d3affd7f8fff29f7ef4fffd4b7ecde73cfca946657c6753fab0de359ff0798cf5ffa6fef277bd8bb2ff4035b78be7e9133ec7c24c3f7cf189572b66c9238d29f2dad0817a1beb46689d641afbc8bfb1cc15dee3d0ad3edb9f139fe72627074d43d823b232348d12b9a153aaf17a89150f4ede3068ce07a899ccbe76a767eba562ef4f52e6bfdac1e30f99b06298e034cc93e1193b0c345640bd04a6792ef615bccca524733b8b619ee7108bb55b6d2399037eb2862eb1d594f3341b67aa05ce53336cef3b8924b3a93e358db2b1028bcdffa2d73cc73af1adfe8c7d353e7dc2dc0ad17c2eb684ab69524e7feb9367fc739eb73ea266b5b1021b2bcde989c92a9060b8e6a9fff8f199ff122bfcd5f918b45262ab91b73ec80481026ffd632e7ce2ea12832f9a93d77b198b38329357c49e3eb7f8f409cff6159e0d5a5d62d5be9ee082e6d31fd758858049976297a0eeddce35b730bc6698cca5c999581dbffbe0b22273828f0f23e9c502463416a0d95869c2c852a2790e3fe78f673bf306552b1b224d6baafcc3c9aa699854d320cb2d1ff58638f34fd64061b104d5f1db7682cac95f6209a6cf0493e63e579fa8b972fbb6a8701b7200dfffdfd41707e5cb7fee6f535fcc449fd338095d2c60b58ecb45c127faf1642eaf0e501a0c0c74bc0eefba304dd73bb14ab118fa3cc3a2ea9a8f70f8762ccaf2d115e6302cca2839c3caf28c179ba7d88d85c1bb24d515168b81291f9d1efefe3090cf7daede5a73e5f66fdf95b3fdeec6afe9d850dab9ae92ad4ecef5c4304dbd0fe24fff6f7eede73e7c4d6bfa70cdd3071379d60f0ec7720a2e9947fa35bc65c725f6c1f1b1a407733beb72381d620a744bf01d608ba41e51044e9f9b6778eff17a502c84c6c3cf98f48d78c69ebcdeb35cf2ac79ea1bc8287273df3a63e5235b62647355386cc5e6ede29e2acf5188f354db525febf58c7a8e98202673e7bbd1b92d30c3450999beae4b5d33e7d3ffc44f3a10ac9c9ec4b6ddccdb84f1c0b0a8b04f61ec35732524abcb5c45ea75c1b4993c81623379307df9101e58ed1a28c4549bf0f9eb85d52b7c623696ae3170036db864e34f65f8ac175bd425b6deac4e1f4ce4592f9632fcdc5c4d99ff9a8faeaf7d40b6de8db2cc17125360b2e54933fd1c4ecfc89359acae33f6e41b7af5c5b9e6a9c7449e75e118caf07dae1ea6e9b19810ffaefe38e72a997af7d06e436e4c4a24064e736267a215486b92786731a6522c466c9e61faddfb36ee9363515af388a50f7318166ba09c61a51c8078b10d2476f9635a53d51516725f5fdde7eae118ba976766e0b50f569f117c82e9ae654ccf8b5a78177dcd0ae6257cf8f97ecdc0a5769463d427f0215c2450d759d7e56dead77ffdd75bd3748d73bd00a447d955694d640ce092d4f50e58c8a29e0448d72fe2c5cebfb1f4ce13c8447deaa7199fadba900423c7032b86cb931859fe614d3e99cc6a8117fd36fc3e579facb97276d83b46b72ffaf8d9beb08e3feb7e8fea1420f0f0430f0b740c38ec2931bd53f2e6d031e96d6aebb0cc87073a1eb656aba99e3e80a1b9e0984b6c9affe57bbfd7db543890e1a94f76eb5902f3240bdf8225b9dce69f78758257ebf52a1bebc42739fe41fdb218086cf4b85b1c93d5cbb817937cc62658e66b9e9a5b9c6151f02d884cb64cce518669ce416baeb7d8f900bace90dbd8c4aba70f147bc1cb7051c0455360fca9ff98fe79922dd50bb81d6bfe45ad3e73c8f656397eb697e14a7856e9abebca33e6166fc4db40ccf480e6325ff3d4dc628c52d49320f241f472ace5738eb50d210b3fa97f70f9e8c36f790e9c9a70f586b8f84f8f5f6eb781987a03ea8bfe63fae759d4c24f104eb64cce5186696eb777bdcbf3225bc8c0c60aac66556ce049dc28595d024ffdc602bc4dd565c9e19ee516a6e4efae84b442eb26e583a7a230b010c0ad0a491940761f7477131b7fd6dda3312d7ee86175cd94d38ccf56cd333ca0a9d40c576f086e181b25c370fa46a93e032ffa0209caadbaa69a270658fec04216f524401a8b78b1b9ad2eb76d4826ea533fcdf86cd59ba201e4f870f586b86c7bbdc21ba5fa0cbce8b7e1cd52353da07e4bcc9543fafe36f5dcc527bebf4d7d7857e9f4eb80ee3330e700c67b42c777e7037eb3b6cfc0f4ee7332b2de31ce07a388c203f8ae0bf3c91fcfa7585dc6e5995e7363954fa73d8c871b8b9e7321cb07335e177f6205169e5e5d32c8403ce7f2c157f48a55f3141e96c30cdb16621a7c6ee146b9cfd5277dae3ca6da41ed3b4fa4ddefcfe3ca0dde2e73ef6fadb01a182618065c5b1ffa1e4b3b1d0c4c399e337dfc42d29ff50400fd259fb905ce5e26f39f49cecbb3a8d5f35f6e7589aae473d14f738e9ef212a5397e3944c667758b974f86f399724c02fcb6651ae0c467b6a2e8d79b499ecbf331fab56afecbadbe333687f8f4d39ca3236fa38a8d5f0e331c2836dbf0f22936e593750251db965bb79ccf6c45d14f9949fecbb3a8d5f35f6e759db139c4a79fe61c1d791b556cfc7298e140b1d986974fb1299fac1388dab6dcbae57c662b8a7eca4cf25f9e45ad9eff72abeb8ccd213efd34e7e8c8dba862e397c30c078acd36bc7c8a4df9649d40d4b6e5d62de7335b51f4536692fff22c6af5fc975b5d676c0ef1e9a7394747de46151bbf1c6638506cb6e1e5536cca27eb04a2f8ab5bb1f8c6e3dc766fb266d8777fdcb95a936cedb19509befb9a9586dbd97c5a93d0dfd757f7b972546c2dfda65d8beed0bd83cb0cbcf6bae3d2f13a35bb7231bfbd8475d9ea2a567d5e28e19a814bed6284519fc0b23b12a8ebacebeab7a95d2b7b08949bb35aad09ec292b329e0fe09a584832477fbc2e58ad60e2d564aff6ec229b46eccc1f9d5e341b22b7aecbd317d228854cac5992e51c469627d97824db659bcf2516596e80ae9aa767647c39dce7eaf5982b07f6f694b7a61dab3e9936ff9d5f5e9fd2987c4db8dfa6029a69808e224d85db2b7e9b6a2d622b94cc6b86915b03854fd94573f149bf9fa4f623d50d7189254e7ff29827f58fda87ae723bebba2e399f9e601c44640000400049444154339c3950e6ebbad5a7c1a75cec19380d10563fe779f1493ff143fcf3b1f57238f37c4e9fb8cc2ff5933ea767f8761b9f1beb127bd9c65b9f53ff0acf8b0f25e6cced15b1ba94e9c3ea855f72a82bfd59e3958bcf193b43b2935ff3d5b17a1f0678195bf3f439f1293b79f8e243b9712f5de34fcd2d7e6e2c7c5df99c755d1fd39f2087e9d77c756c81a77818b8c4aeebc2dfe7eaf59b2b6f532d0fac2514c0ddc7e4c3d666803b170c589ef57db778f9f419abaea2f0bb0f12771f8c2156f2771f0cbbd305d4e1355bae14db9d51eca98131f4cac430fed42f8764f7f5d57dae1c09af38aeeebf4d353fcf95fbdbd417d72957372792b24b922973ade9dd60d7a0731277dd11d253ae5e24bd3a1f9fe7c162d57d1698c334ae7767ecaeb0f16522873479960f4cc3566f98a6aba77a9f2f3a2ba6a7a49740db82d72b5649836fdccea57cd2b7691c4ac95805d66ca3f4ce078eac362e3762516d4b86f4ba90baee73f5c6cc95cfa7db05eef481e67f9f67bbf79749ebb3add2f056039a316ab2eae963281f448fe564e2f3792e56d0a56bcdba34cf7219abae99007246c6842f9a1ce6b951e67cd113a451d3ac377d8cfa8d99abc75c5e7b7d2d99e5b62d1a28c34bc8f4c07daeee73d5e1713948eec7d566a023e43c6bee73650676f53baf211fcf5c75dfb100b8ac197a46bdaf199a43f57d7d65121c0fead6bde14f99b5e876f41ddccec06b1fb4dff6bd1e4cd777cebbd00fef02d7755fbda55eb8a6fab6586a23d52770a58b04ea3aebba2ebf4d958ccb41cf6f3dd479be6a1e9c1561269869a68f54534686d5a7495d9d63f173a6ccbce73acdb3dccae4402064fae17cf4ee99b3f0044b6ffee933446e2c8078fe35f324cb274fcd7333ef73f506cc55bf356d7f79ec6cbf38594cbe5a02bd3825700a603ca3d605af582808b48be9299ffb6daaaed622c0f05627dcc607aae3c9d60c5ff49ae76f533fe39defbc8cf564f845738ef51ce6b3ae81c833c9861b53f349599a8b15e56d6e31177ece991718c9f3345fd7c60ac49ff8c9f0cbb833217e0e9f5d174d894d008c812b42465ec209ea1a1f882f70756eb39af94c80c48104aff63f35b7e1622ff9d05c0c8b1a7f368b9d3e30c119025796bfe6251c33abf02537bd859f7cb6d5a721267120c1abfd4fcd6d78a34f738ef51cce44bdd8251098208dfa2ccb1ff9dc10e303948d75d6796ec49a0b5c33c1e9a36bb2933ff193e18d5ed7f0e97f8b6fc79a26300130a621ea1ab99c1732ab62cffc61bdab339c55cdd330cfd330cff8f0c51ff94fffe93f55bb2559485845f89b6d1c2cccd46e6780bb92f7a8614a4097fb542f57c3787fcf4cadacab7b598b103840d03a67eb99c7a017d5adace550cb9b1c86f311d93d576fe109eeebaba6ba79becfd5e5f07bf2b8f2bc7dff6dea793e9ef8fe36f5a37e6fb9f74b8e24788797777d2e3d26cec5a8778080264deb7b7a7c241e9958d43cf5a677dec603855cdeb5ea1d4fa334963acc7f43ec1da6ae614ab8f3811bffb6a5ed124b6c08bc5a490f6c2c40119b27ac77f99ff9dce7ea71aadeec73d5ffadd2bef61fb1c8d93ae0dc8ff08a2545ab8ac030016c7d90b225058c9906c0ab95f4cfe1dbde6ce3f33cc7aaf7744b79ea1b34e5d91bbe8d1dd36c149849f5655be69972b603672c7ce61f6ebba6bff80b51d63bfc1c139fe73916beae8b4364faba1e852fc4f556eb4db0fa9178c8ed3e579b93fb5c9dc7ccfdb8ba9f83e7f1b02bc6e57ce938a1acf81b7e561ab00586fb940f555b35f95cd55ac53debbebebaaf453fe5d7a22fcf86fbbfd71978ed63e36bcfebd3ee6ac5fb72d9c2b4f4e9ba56bd059c265c3370a95b73f7b4a02bf071be4d7dcf7bded335d169e06ae89a08b838ba2e5cb024bb58b4d6df85c370ba9e8c45ea22e8a95248e2fceb9a06d0bbda28e5b09a5e89bf7866a2f796cff3dc964cd4e523f61c6b7a82346a8270e03e57cdd82777ae1ce13bae603b48b357ac9a76ab1327a0f69bd5b0cc7d1abdbaa35da0cf2cc45e7e9bba55172bfe4a2b8cb31e0f243b7b6ff193fa7e9baacb6b556f53a7b98c8b67a8de4029d77cb5bef05393d53c6fb3bd301b2ebee634ebbdf046bce809ce9ce730e5abf5a7ff2b309373a094e7b897d853afebc91ca6a9f715f586bbf8b48deb3d7338ddc60367cea7e6c4cfe9c767a2799b4fa47a0315b5e66d2c93e90b3f35754d73e6f924de70f5d69c72bd17de88173dc199f31ca67cb5fef47f0566720e94f21cf7127bea753d99c334f5bea2de70179fb671bd670ea7db78e0ccf9d49cf839fdf84c346ff389546fa0a2d6bc8d65327de1a7a6ae69ce3c9fc41baede9a53aef7c21bf1a22738739ec394afd69ffec3fd36d57dca7f0ad59dd482848fa753354c0958d1a9c9acd3dcb9dcaafa1f537ba74a43b0fb208cd12c3c5b4ce0acbb839f3599124339cf99e8bde5eb15b5756326eafbfaea3287f7b9ba3d7e1c27cafdb7a9cdc393f5fd6deac3b4b89af4a4ea1882bd3f74c571ddd1d569066068221f621e2f58f498bd6f448691f9001d97f913b8daf2e4b65840417a4e500b09737818e6f1ba39bdde1835cfe579be178d9f2725ac5e9e358b6d44bd0aa61c08e0f96bc2e5a38689916de37260f568739fab37ef5c798fbaaf0aef387150755cb5fb5a8e54bbeb03e1b36e3570320fa2978fb28135d93ea7a7b10439c78531b70ed39cb6f00a017cd6f924180f9c232ebcd8334ff854e670712b6ab14ff69e9ed30796d59a98e7f434e5d376157b62cc59e8953135ab9175adcee7d24bd688e9eb9de6ccf33e57f7b9dab1741e5df7e3aa6931274dcb4ea29a67fd8b70ae7c72fa302f2fd7572d2d622c301437a6ad5bf0f7f5d5e6eabc65dfe7ea53602dda617faf6f67e0fe36f5b5ff37d5ec38f37b18eb12e001cc53250c7806d315462656a7a939fd78970f58c90748838fe179e2c65d0ec4c5e6b371cb64f5c3002f9f66d3d04b78f904684ebe71ab1b97604307ea7d707ff457cf4ac8c4e39b9ffb5c359faff75c59f1ecb8eab7a9f6577fe9d7b368b8ff37554ddc03aadc446952d2289e31ecb2bd4d6db5743e9fd8bf3545c135c34ff27338f5a234a70f44aaf7dfa5f6977ec703b901279ecf7860299de3be02e77c5b37d00c6bce3cfe12858c57dfe676897dd4bed8aed3677c56f309443ea7197fbbbdf39966568d3efe3656579ae7ea04339cfee42fb1ba9457cc895e21d3d4a43f7d90f1eaba4e10562bb31a187fbbbdb71ae2a57aabcfffc29f799ef84ce692c3c63df5916702c3592db15bfef4d1ab9c43688abdf83fa979887c790c5cf00cc7034be93227d35cf833cf13d3dffacfbc814e7de23381e1ac2eb1c8f1a7cf7840c872b8f8177bd12cf6b28da7789a62ebbad53fc99f799e38f10ccfd833ff36671b35fd341825e780fa92db65dc53369fc025b6e6349afd3615f0abd46aef51dd34fb0d6a8fac5e999e3f4985ddbf982473f312a8b9fb60af58f131962827eebebc750b13e194f9009a3404678d8cdf0d9dfebebe6a4eee73d50c988d5fc871e568bfff36f5e1347baadcdfa63ebc93dc350e76015276fdeabae6333c87205e0d23c3c5c2e61676e54a1f6ec2e9f1d3a7517b2a20c0878db8d80c31c592d1c0f19a9465a8cea7d869e88b2a643c526eea8d4b99269e8f020728f9c334b61d7f9fabcd6153f456992b2b8076b43b7dbfffb12197e30ab372be2bb352d9622541cd47fac583eb18824b2c26e5ea34352d32ced88901e5ec0d579fb1a746c8c5ed642eca33cf1367fe30fc4bb7e1cc2ffc73b18b4a7f89ad79899db21ca6a979cec0a96ca073eb4ee573b139accea411d5a79bae33cf13677ec60e67a53970f1396317957e2181eacbb853e6334dcd73064e65039d5b772a9f8bcd6175268da83edd749d799e38f33376382bcd818bcf19bba8f40b09545fc69d329f696a9e33702a1be8dcba53f95c6c0eab336944f5e9a6ebccf3c4999fb1c359690e5c7cced845a55f48a0fa32ee94f94c53f39c8153d940e7d69dcae76273589d4923aa4f375d679e27cefc8c1dce4a73e0e273c62e2afd4202d59771a7cc679a9ae70c9cca0652b7eaf08d47ab0bce3e48756f42b6de70cfda3324d2ddca3db7a85638706ba4ad4fd2a8efebabfb5c3936de2aebf69d1177703b03f7b7a9dfdd6f533def3df959da856f065d13bb4a3a073035e1ae0b9878cdc24f3e713cdca042260eab4f8ddece37e3664eb052ecba66b5c428e1f43d676ebb4ecd64dd1b189ef90f2fb6ac565ff886cb1f2eed0d272ac17daeb6437fae73d5ff83dadcfaf654fbab77a46abcb5028dfda219467a4cd5ecd7aa1d2aeafe6300bd5ff6655fa6aeb4e680ad36d435b7723ac934139c62f86c9e9e273effdfd4fda5dfdbb11a7486c099c6f4afe6cf71e18be769984f9ad53307564e4f64cde5f3a427d9c9876f63939dfe334fdc28d5a7e7c5f0ecbaf5ccea96bf8c7bf1ac79abc15cf2e1bc72ea91352ffa5333c129ce6d5db77a825bcf9827f9d3b058f593fecff1971c8c727ad6bcd5602ef91475c6c267f8457ff1bc159f568b4df68ad894d30342caf634cca7aef0e9f91c7f6a6e3d379670e5cce4924f82ead31353f3a23f35139ce2d36ab1c82731b2d87aa739f9d3309f42c2673ecff1a706cefc140fcff3c97cf4ae9c9ec89ab7f9a77f92bf4de3f4bcc5e9f1b9a9fb6dea677ee667ba43b9f7f5977ef19e57350dedce58d3dd0af6a4aa89ef4ffb6ab6e400ca9346ecd62d4ceeebab5617dde85bfb6dae5a6f3487f7b9ea78537f52e6eafedbd40ecb27ebfbdbd41707a5cf5d1c9d5d1c3b4c6127b04b1e80e9f06d1291ae8cceff4234ebed4a1ad6d5d553f8c9e7a06eac7de687e99d67e32e96f9f9be743c59ef390596a73a4f8ca8724e8f51fadc114fb9b1f0340b4ca3e98a56ece9b358a09018f83e5766f2cd3f573e9f96a7fde5c6ef77aacbb96358d332c29d7e8b0c4c6460f814845703272e708c75c6f0c5ed21ece5978a0367f3c2149bdb293bfdf175a94fbe9436baed1d7e8c782d6afc45134ff7c99d2b092cc3f0121b0f84ef73d53cac0e9c738889bccf55f3b03a709fab7306e0ca664913ae191e13793fae9a87d56e436e46e77d5317d2dae3bebe3215f7f595c3e317cf5ad41ebf97db19b8bf4dfdee6ff8866f70f3e87326cf5ae6e8f29953d7505d78e78c05bd0b6853a9993e701bdb3996583d3d9c2dabc86ce11e18c6e799267ce693e752d2556ea706ee19525782c9d8daa89229f082cf714f9ce7990f9c3f709fab3766aeb606321cdcaeec156bbf4d457a2eb55fdcf801cd30a0f4de55ace3c7e3964f3d443df7ffa63a47ec59516aa5f5d6896326bb004ab191e133167ef5ff9b7a3beec54af356c3367ee20d1d53c8ab632f79ce73fcade7697eab6f1eaa8b9d3e7092337fd207f9f1f0a7edc7d44f4cb9f93971e4c7f421b8d5602e9edbf647f927feb8bacde1d5f96ff397e72bf413df6ed7cf75dc5bfdade77dae9edb17f7b9ba3d7edefc73b5dfa65a307895aa96b35b959b94435d716f52fbfa4f9f1286ad3d00dbeb9d2a81bb5e4d4cfa2d6930ac90c07d7dd55c998a4ad3729fab66c33c38aec21d33cdcc1b36578ef0fb6f539beddbfafe36f5e11de38ed16147eade43ba7ac22e734e6cb549041cd38a66b140ef2191f44d7402abffe9f7ae52174fca34f842b8f5396263351c8dde72c3c3e503e8c2cbb6703c4649a34e3f0da57cd2ebc24fbf77b3698a95cf36b96dbccf9599792bce55cfab76ba7580b223e43cae9015cb0565b7ff9a6abd973a8dda75363c714a7c204d0e296fdd1a5daf90ea988bb26603c15336507581e172483f4dcd5be7578f7e196b99e037e293cec834ea5fe05c9d3984c72c876dd7326cc3a7ac597d46dde7ca9c342df7b9da0c9c474893733fae9a0775b3749fab0e09f370395a36334fce955590a585e2caa316eb26d54a46f3bebeb21e331b4de97d2ddae1e1c068ddd25a77f8ad3b57eddf7bfde40cbcf60ae2c9ee4f3879dee198ef420fbb48c5202be78209ae19b8d4ae6b18f509acc52381bacebaaeeffeee87dfa6c25d0d1de58efbae9bc3ba360f7af19a9d1e30cf09d69b5e97d3290d2659fa29178e31eeacc667227c6315ab6e94f135d542d4ac02c3310db1e11aa83ae713c770b8e8e323dbc609882b6960407dc973bd890d7a9fab9feb5cf5b4d90e8501b3da9ff3ade93c3a7f9baa699efb9d2a8109c738ea4439053c7bf736b53db2b5574d35b17a6b8ee153796ac6239fc4a7677fe097f2c9ff375538712537f832d6a5774da0d103ea339f3503d3dcf2759db12570f270e5cc2de63203c85373e9bd8cd2e63fa73ffde1c491f9dc8e75e95d13289380facc64cdc034b77c5d676cc99f3c5ca96be322c3ab31a766fcc57ffc2bf48d98b281620ac107eaca3fc1892f9ac491971c2e8617ab36aaf0cbb6a43cdd163bfd45b30cb35decc5f9c233794e7ffa37684c21974ddbe8676ffad31fb3c06572864cbcd8e96316d588e9b38d49a69ed5ad66ca5373eb7c612e9e676f83c6c0404c21352f632558266b02179f34539e20f162cf81e693db3c4fbe4035cff19167d4697be1cfdc4e7cf13ca3e67ffe36d56dc88da9cf528901326b0637266f534bc0d35abf4aada9ab350340dc7d10ee3e2816d96206708fbbafaf5a836daece95de7daecc40e593b216bdff36f5e5f43ff1effd6dea8b0b59ef18bb96f96cc6f90c9b3058edc0d59ca62e3ce0428927d0741d84e331f3a1c987be6b282581a20ba9606830b01a065829aece7a351babdcba0aeb4d665ca042d62840050fd07429d7dce773f16a83f25cfe9cc3a5449f8603be1cca394cdf36a69fc658ba94e540a029766361c4e663947ce8ef73f5099fabfe8ee2e30ef9a8e3eac31ffe70cfb7ad00085ab8b8eb0315a45eb8f05353d464095a3d20f50eeb1a9e3e4ffc39fac6aa37719a059e3924bbf5bff53999d33cb7cc5723e3572f87335bbdf8336aa33cc41ff35954cabad462d3e81d3ef9e98134f38f51e750adb93ceb5a6f796a2a1b8b46393df55e18cdc813c02b0f8e2fb714092f07ce8f9d6ff471759fabf648f3b0bd73d9efa7e63c064e9cc66edd3e6d179f9e632efeb73e275394fa0435ab0db151d22c073e672f7e81f88d72d114759a132c67bdc3273f3d9066fe316afad5c0f28c5c6f796a2a1b8b46393df55e18cdc813c02b0f8e470ef072e0fcd8f9263a07fbd37dad19fa3fbdad3494f2bcaf19b62e3221f7f555c789c3e3536f2dda017faf9f9c818f5a743ea9f8c4922ea61906cefa72b1d6d5a51c08d754df16872f527d02ef8b2281bacebaaef36dea654b7bbeda33189060fc9a693c77f51068949eaf2eb1024f8df0f44021a76178358133b3f0c41b05a9cb5863c248e1b0baf0e5331e90d534e573c9f3c971059e65733250ef6db31cce79b8cfd5cf7bae7ab06c7ff9289a8f1ded6431a56a4d477ebca6d7aae9e115faf691d3c113acc07e9b4a5056ad99ce7a3c906ceb2accb9120ad30c4c70ebbfff2e75e0d6ff349f55325d4be6646ef9059efa8500171c1319cef3ac3f26bff0e583810b3ca728f2cc2d9c3ee5f485cf649ac0855f73396cac985b7e3e673ec8338113374482f0e93c7f5dafe0177ed167b8e14e90e1026b2698acf06ae434810bbfe6720090a7e74ce2d5d30c2f04b8e098c870639df5c7e4175ed4f4816dfb09749d79d63cb7abd8d5dbcc81ba6e9bcb61fe31b77c83aa9f34997f3e3547064ee7f9eb7a05af77c305d2678869b8134c70ea134c56f84c0a499f21e6b6b99ccf41e79cc925f049139a641b2b2632dc5867fd31f98517357da03cd334ee995b58ef3962b2c26772fe36f5b33ffbb3ddaac8bc47555b2714e299c41b54b53543af55ddb300b72d7c37af5eb1761fd4c59f46dd7aa6e630590b9ed2a8a67f729d93e77d7d759fab8e9fd7efb8babf4d3d8fb10bbebf4d7d7867e832d4f1d7fbbd701fe9751d8403bae24f7d5d3eeb02f0dcf8b8aa2e3631268d7d4003c7932d01ccc6c5f34943509466feedc83cd5271f3e7dfa1c8e21e56dfef4850438971bbd9393de8825799faba6a8fd05bf85e6aaaf51d98f76a8cfad4bfe3cae3cd3765055b7daa8f6108b3c19b872cb63a6a7497002d81264cca9872b67eff02d20de583041e5497ece34171cb3fa04fca75fd4fc4f26d9251f027c257ca9a7a7997800f98ab95aecc5f31c6eb63417fd64b73cb132c1894fc309027cea7d8c7ee1e09ffc23cff0cbb804f99c9a134f3ff204f07dae9ac3cdb9395136b103c8fb5cdde7ea3c4e361b8f87cc6b87cdc99ffa4fc871d56aa40546e6e7fae4fc5bf4ad9ddcb688efeb2b73652aceb9322748f777f57dae9a07f313784bcc951d772f4fcec0fd31f56dbff257fe4a0f6f5d2861d3043bac619fba297ae31df11edb2efa34a2d237cb3013b8d83e89c1148b1705033ce7a0997fa796663e35cb24abf82ed961e2f46a9afc8daeb9b180fcf1c0b61156f4165bcee56fe8f244c6ab758d87e7c3210d1f029e624f3d81a2171f083756b1a290986261ca72e0f910fff2b576fe481a85a6c4601a6e59c5dfe7cadf91db5cc11e4abbc99d7365ea7cc26dfda1f6d9769f760f5bd70ea74c73f2b05f1c9d7cbda746ec34f3f99e9ffaa9f8b33e7dc297dce673f17f32cf8d75d9ae3c739886f330fda939c7bae4b3714fcde973f2f025ff7a4f8dd8694e9ff1e539cd197bc9ed49cdc573f93fc79ff3304d392cf6d4bc229fe94fcd3cf59e3c7cc9bfde5323769ad3677c794e73c6dee7aaf3eb3e57f7e3ea3c77ce7304be9c3bbf90b9faceeffc4e03f9828f3bb557a9b0fb9183d0bdc91b51b727772bf8e17e7f5f33dcd7a28f4bcad6810e180556b7e48b87dfd26b51a7c0bd3c3903f72ffd3efc87342dd93bd64d93cfa5c22e942e9d27efaaeaa219ff599ff5594e0c7a9a782789cfb1fa6a25191f9ae61d0ff7e024dc0936fee24993ffc573e3ca8760e3b212d25897d8d3a7102692142b9f5b1f9b635bdaaef29743d782788169ce390937d6c95fb6eb3e579ff0e3cada7ac7156c17d85980ddd46f4ded02dff5b5effc17ea5600b077aabfecb138e6c58242887de70410e84bbf1cac3f60b5f7576a05197f8b53ea05d4061a2646c687d5795e787f39e9d3bfe44b1e927cdffb7ef9bbde4503179867fadb7c4e9f3337fc93639546193e177bfa3c896fb771633da947c697d5e6e7d687402ff173f92fe7e647f33e57f7b96a06eec7d5edf5a1f3ae73ea7e0ede5e5b6ee7e70d9b2b0fbd6e3d9ffff99fefd6a3b81f5975286e524aeb10e9c1f176ae5fa6b8a92131deb5b6bed2dc7d10ee3ed875127f59875cd6485bb331dc1a0610deba4e62f7f55573789f2b07c3eb745cddbff4dbc43e59df1f53bffbebbffeebbbea7575f334d505ab23b28b5a972a33e8448da1817bf4829b5c0ec56a1692a7a6287a60fe85149b2da6ebe386cb105f2c93a2c62f249f934f79d1e78f2c4f039df96cdcc5667849ef3656a090fb5c99993772aeac27765c752fb7bf90f685fb8adab3680f331e50f13ea5a607c83ca002b255dcfe1d061d1b5ff6655fd6decfc7a9a10907ea5a3d3e319eec39bc28a0c033fce3f97f53cf64e690edd2bbe531d33c87975260fa5bfe3250ca6ccff4e2cfbac4328ca77f453e8b2df012fe8ad83ccf64e6b07103b77cb17a5fe1afb7c04056e770e3234ffda56b3e99ac1eff71e67309bc84bf625bf23f932ff61c37f35bfed43c87c51618c8ea1c6efc7daeee7365063ee6b19ae65363ae7c63c28628fed354b7ce3eb37387ea5ed65dc984f8e9696787e7c67e8faa69c9d12f5401cddd07ddf25a9fe40c03ee710440f7b8ad733427d09b2659fc426a4e8f3fcbf8fc75d1c306baafafce8982ef73d58474a8ecb872b4fbee8053c0c1fc1ddff11dea0a31a0761ff9caaffc4a320fb4dff88ddff8a55ffaa50e577af5a5b4ccd315d03b59407d5b8c12f962e0c7e67039102c9f98ea91c0eb51ee5ffa7df8ccccb1e242e69ae2b337b3dc0114c663b68887bd13a34cb35d42d6e9a7d6cb735d7c8413a84fff6984e0d53432c1530ac7c025e0504b83c7e0d3a73162b27ac3f25c0ed3e7bfeddd40e56c14b18a58ce0a258c87b9f159ecb92d6181343c13c3f7b93227e6f6cd3057eefded6e3b516967b9ee9cc7955de66ab852531dc0032e948fc46b24ded56af5d90b8f07c4aa157ab8a834ab0ba719135e132887f10bc9f98c5dd7c2cfde39002bcbaa9078385ef3e41735fff502afd35c2dc325b3d163d65c0ee3314a695f7cd695e0c97ab117879387ef7365129466e93e574dc52beafb5c39484c4225fc5c4dd31155bdb3f8e4e1b7c43978bb66f08ed4f2da1daaa9a8266b35a2beafafeeeb2b478523e453692d7a1eed777c9981d73ecebf74bc4ecdaebccc6f2fc15b7aee128c39714df56d711543aa4fe073b548a0aeb3ae6b7fe9d70adee5afe734e9693a070021c8c04962e24f0dac743d15084fd3e5557320a5419375e92987305e0eb778792e67ca0d17285518c8e7c4e5300dc1b00c29cbb34075fab6259fe5b058a0c040866175b1a706563877ad81a7d9700329ef7375992b67c7a6c8fbd2764aa43bbd49f3148a07348735bd4a15d8c925ca37afecaf769f2ffd122856396a9a70e0e78d5b336d45753167ebbbbe9ff1ce770297ff371563e85bfd1223383567f356a3f7c91c4efee787456db8c0cfcf476c193e99e7390fb7fee5706a6ef1a981d75cf22381277338f99f1f16b5e1ee73f5ea39bccfd5abe7e73c7eee73f5d69a2b5ffa75d3f18314f720b7274b323738d71c40dd2dace6b0a63b9777aa02e1d60c91ddfe3cbd044c453747800c06ea0a6bded757f7b97218541c1597f515be43a8e3e7759dabfb977e5fee8727febdbf4d7d38109b9856eaf0de7db914f6ae09d0db277cf4301e09a7510b8c7134d7dc7b2a32b1a21a68bcb302c69743fe341c86698a3af9fc31c59652b272e350733ece34786ec625589ef499f40e169f1228b7720e37ee6235f19a690039346e9ef87cd2a81b5aef7daedee0b9f24ed5e42b7d2b386c2f4823bcdafa6f4bc0c8b3396c8900ab4f4dbd676de5413025a0c40ce770f1a9779a459db1d38c0c5c9ac5224fbefc63563f285e3e4a01dbba47fac523d6936e09ced8137fc2e7ea15b3b171a701ce9200732ad70ce8aab7e67dae9a8d734ecc4c93f330538fc74ccdfb5c351be79c3c4ed547bd33bccfd5e6a4a9389b310f47d5a7e87165bbacce5b3cec3e68e5e0bd82dfa0ded70ce6a775da7d7d652a3a1e9a1313a2c08a23a725e55b7aaeda967bfde40cfcd77fe92ffda5273bde78f2bc2837fac95c2edf355f5d5b192718b8d5ffd88ffdd8577dd557f9ac4ed962d467752e9472f0d2c9d35a6f6535fd5edff980c4c0dc3cfb3949c29a85f85cd0c380ae7e53a1995e6d88f8b090c6f29cd0586598274d325d2d7ac4ca8786c046955b73051b487af8f291c3f22fdc5889d9d2944c39a81b85a6e4d53cd542a4876f8ae4709fab37e15cd9fb1d4bdbd7f6b21da7d88f8e0ac561e3a3eb87a3eaf1f0d645ec9851dba77a997ce1177ea166c7891a561c1eb0def8c869c64f43f0245ef8199bf8673ef8c14ffbfccfc703bff4f33e6f9eb76349e6f4cf6a7acd3324fed5fac59e817cc6e7d940174dce67d71b3057971c96e72d7f9fabdb39397756586d0eef73759f2b478249e878d8b11153d37152f33e57bff0b97afffbdfbf4f4bad2b5ab7b82bb925b94f391f916e555b5f9973775ebba0258a5fb46234e9692835853c791f6c2dc453b9afafee73d531d0f1e0483e8f2bc74fc755c7de1b33578e61e78271951ffee11f0ea87796015ff4455fd4d1fbeddffeed5ff0055fd0b548fd64113b7e38a0fe79946522f682d7045e8f727f9bfae2ff98f2d98c03779fc7b8569a6e878e1af6099fbacf6fbc6fb4ee0fa74f265c09b7abd2a8731345902dbcd8614a027cfac64d1f9fb90b71ef2a6b9eb9158b4fc350695c0cac6bef4b317029a9c334c6bde4a0b7b1f00f8e2ff3941b5cb609ca598dd77b9fab37cf5cf97cba3de589b4e3a70757fbb47de778b0cb1497c2e76a57a8aeecea5dad62b815850f3f78bdfc7de6e9197f32273e7be1ba066af22f930b7f89bded2de7f8d3e1c48b3add9661e049fd34a73f5269dca2347f8173f56879dd4767da046bdee7ea9c8df0266720fe3e57f7b9dab9b9630318defc00c3ebbd0569eec7d59373f530ad8feb2b0b8c560e9a7e9b6abdde1dca3d0bd3ed8946093f843dae3daabbafddd75766e33e579b848e28f55b622d2aed7b796e06eebf4dfdeef7bce73dae89ae71cef0add4c37b068bef120003ae98e654949a6c60e4a9e93c4993dec993cf9375e36e50a021361093d35f53a9f7e4f391aaa1619ac64d1c3e3d4f1eaeb94d3b81514a8f26dc589a4b3b7ce67331d4ccf3d494677cfafb5c9d7372ce55bf3b6daeac03da053e42a359edb3407b448de9f7ab00714c217e9bda3166c22fbf4dc510efa94cf31538f1343d9b692a2d53c6e4191fd9ff4383ef4ffeaeab40cd64f3b9e52f820d5aec0235953501814fd664f3bc681e3d5e7b844e966dca04afc089d5732ee4e463ca2dbe81ce6c4f0dbee6649a971c2e3e0922d5caf49960b28d7fae2e30f145838c0f9cb629c79ff99f78e1732ee4e46344e57f016b167219f7f4b91d77866427ae993efee2d328b7f5e973e9d5a55c728849f9d8ffda3ed2bcf00b9f7321271fb339b980350b79b57f56341307d423a769bbe24f59233e599f3e65b23adb3c27cb364d8257e0c4c5367a21271fb3de0b58b390cb58a70f655634139f8261603e89d715ff5c5d60e28b06191f386d538e3ff33cf1c2e75cc8c9c76c4e2e60cd42f8f4db54f72fc55d1e8f7427f254ef16a689c7589e79c1a509684612b885a5e999169f4337353e344fd613d0a7c108af46c69f6b3c4cbdf4e3f3b9afafce39799cbcfb5cfd9c8fabfb6f533b729eacef6f531fa6c52572ef159d72c378ef9aba2a910dbbf6f564eb3aa5c06a822e9440d7beae9e9a0a8c04d2f3ecdc6eacf4ba383fca5ffb4d0225be8b387ffac65a0e6231789a7c8c959e959c45e1d5f8c62d9faee07966927309e40903caf2e7bcf911358cdffc346ef3b63ce7031018b78196734df5c66adcfb5c7d02e7aacfa7cdb07bbcbae384bf27554d936f1dd07a42adecdd42fcf691ae5389c7548f17fb60f158cec079beec7cb1808bcf6478ce3908096c9499d4859f324d4d75ca0bd05c3ef32c24c3b3c6d3d06f2ca028e0e293897a9ae553f8c9e78951cec079d6b5def8cc876b9ee1e16dd74cf2c127d05c6e63d21482acb97ce639fd34293569e86b4e9fe1c527931c4ee5e9393ecf7ccec079d6d5b804f1590dcf39878937ca4ceac24f99a6663e690a89512f9f791632f194000dfdc6028a022e3e99143be78be7f83cf52628169ee763cf6bbdf1990fd72cf6c41b652600013eb1669a33364d21735b3ef39cc334056ad2d0d79c3ec38b4f26399ccad3737c9e4bac58cd79d6a5ae2b3eabe1392f3cb05166920f7eca3435d5292f4073f9ccb3900ccf1a4f43bfb180a2808b4f26ea69964fe1279f27463903e759d77ae3331fd6b43a6f9d006ffd705f333427f7f555879675a07526bc35a499d1fc545a8bb6a5f7fac919b8bf4dfdee6ff8866fb064b752eff1c9a1ef2a69b27a7c0a74d5e86901af0977aa849b5c0ef13d01ce679ad3f3d4085fecc423cb41bdaee7726813ca136e5b2285e34f0166e5d42017db409862199643fafb5c7d72e7aadf0fcbc16ef28e74604dab046f50ed3b4738713f0442da7d7e8c01502ad60a8ec6f6a9b7a95b9d3084d5ad362e3832cd29c0ac9c1ae464271fbefd7f53d39f8362ce267cfa3428267ef539eec5f3d4ac2b4f5da7e14c80ba26bbe4307e218d92dbf0fce327065ee17f8e75e2c2cfc057fbe8553894cfea48f5ac4e90fe21f28885d38c0ca89585876f737eb526fdfc1f1c1fcb733e27ff1c66a0eb4c0c7336e1337623c6afcee78c9dc9a9491633f1c8805a5978f89243cd57684ec1a3df8bea399f937f0eb3d0750e5a6ef1e13316a31472d691ea599d60439cb1138f0ca89585872f39d47c85e6143cfabda89ef339f9e7300b5de7a0e5161f3e63314a21671da99ed50936c4193bf1c8805a5978f89243cd57684ec1a3df8bea399f937f0eb3d0d5ff9b6a15a1a9eeb7a61e62dd92dcb37a9a75e7eab782343e4885f5fadd4a351268fd16d615b8afafcca1c939e741f35c43eabacf9519b0f2f9a4cf95a3fdfeffa6da174f96fbdbd417ef2d9dc026c875d069dc7a3d003b997bd104ef3c4fd3bbcaf8de673211d83b46bc42e3123c4c009f1a9e7d56d41e3256c9a8c3f472c8a7f070c99cfee58917021b05363a5c0eea1c1acbb8943435ab35178b592c6c2c75fa34c231f7b9da9c34cf6fc2b9faffb3f76fcfda6e7959e789255a8264a002e25e6815d2764b22ee719362b889688d6ac388eea80eaba339a9c81323f80b8c3eea134fda838ae8838ee8e30e0fd456dad60037e95ec1445112dcb53b84249384a490b228b23e737edf75adc1fdcc397325996be55a99cf3818ef35ae71fdaef1bbc7bd1bf7733fcf7c3da69664fbb7dac3ed8e2b3b54da4a6b8bd5c093f8a25c1370cd5d946665ccdcf0b778e2011aaba829032713c6b7b229308cac34d68931a7e68c3d65afe28f1c661538ebdbc0b377f804c65d14be3206c0bc913a19e53933059ecc7daece193e67e63e574f1e69f7e3ea8d9c7d69ee73f549cd95e972d3b1b6b17e08bb187ae63c7f9beaf9a125ca7d7d651eee6bd1b7edfaca917c595fb5bfb6bed20c9339e0c348654b2f67c1bddccec0eb1f1bdff6bd19cc7935e77f5ed4ce25235ed9022e5c537d5bec78a4fa04ae7791405d675d57ff6faac58a63c509e02a202bd8c5b1cd17321273ab21e8225b48cd3e9b197f6a98e7dcf59721597a03359c9aa6718b6ddc124b93cff8d373799e9a7c749527901bb0e1ceb146a6dc865f9a33c9e73e5726e42d9b2b07f68eb17ea76a2fb8c7cba1bfdc0bd3d8296a4fa46a82fd36556c9f3df7db54df07a63c7f9beabca357b69a7f193f6a1f4e6a7ab8f027632f02e2f3ff4dfd8277bf7b26f99c7acc9a03c8930f7fb2f937e8ea8be13c0d7a6ac6036f1c27ce07069e8b3db7317ceac3277feaf33c350d74f2e1937f83d84094d517c3795e34e381378e1337165c7a1bf7f4419e8205a6a92bcd89cfed7d99cfe7d4bf417c998733cf795e34e381378e13cbea1c22e7ba862f820536967a26273eb7f7653e9f53ff0671193e99e73c2f9af1c01bc789b799a5b7714f1fa4e6040b4c53579a139fdbfb329fcfa97f83f8320f679ef3bc68c6036f1c2796d53944ce750d5f040b6c2cf54cceff37d57ac3ddc7777cd41cf64521eb34b72d8c758b5ad36dab77aaddcef0919ce1adf8e1eec5f7f555ebbae6e7c4e607197f9fab1d274073f256ced5fdb7a98f47e2d3d5fd6deac3d39ae2eae6e8745c2a5de9e27de601983ccf1e273fecaada31ada6a4777d64b2f92e9cbeeb66fc303d86dee894d5183c12c3bfb1907288d1c561392cb7ccd56d4b7c1962e6933319b786d6bbd8784cdb4e63ac614d3ef98b5d0ef834c2970f5299e63e57cdad39f94ccd9567d1f6da93c795f42c055a219d357e653c65640c0c840716752aeb5537d6c4c064e1ba266888ea91409954c7e79cdb1975f2c3424ecd899f732bf649870d7afa50c637565d1b77e493b1670ee1ea99147ee9aaf7565326d5856c2b1a7d6e273fbcded3ff1c65cab9c58c3f1dd24c990fe5c9442e2a9060f5d90b3716b03213cc896bc69c7cb84caab3ca596f656e273fbc5ee20b7eceadd8271d5e1bf3e1dfb951c6c7d4b5de91694ea5ae4a63bdd67af87726175cb3de5b4d99543fb8bcb6171af48c6ac4f861fa5373e247b357fbb4a87a8b7dd261b2d38732beb1eadab8239f8c3d730857cfa4f04b57bdb79a32a92e645bd1e8733bf9e1f59efee72853ce2d66fce99066ca7c284f2672518104abcf5eb8b180959960c26aab737743606b06ab850a52d77dcdd03c7c06d70cd62aad189f5c33e8baaf45ad873b8c3fc5b9b2afefe57606ee6f53bff37def7b5f9fe139df4c509745c79cebe630dea9d8f4adabe3321e9e201f07ee98cdfbadac21844c3f9c4f2915589d60e9cd3c7d86c88d0510cfffe4c9967f3e6be69ff80c893fc7caff3e576ffd5c75bf6f5ff7bb5378af4cc37d2c4d890f032d1dbc566ddf5ddea66e8dd221d1282335c3f1346b0e9c642697ae4c4eabf3b7a9dea68acaff1298dbba06d2275e2c30a6c02765b743cc36900f4cb93ac38bff02eb4ddca0a7fec29f09909dcd73c45bfe56bcb1129fcd33b72530c1ac80955bd92507cad90630979c4f7ece6760e4c6bae82ffc9940639d56896f43f23c636ff1c5e7344f3cc1ba80950d8af984c325a0e45ce0ea0c3762cdd330ff33ff7c6ef9e734e937e22983cfb19ec38d359f40646e13ac0b5869e89acf0d313e405c6e679dc346bc35c46cacd3e796cfe45643798e78cae21364f8243ebbf29f49608285032bcb1f7309c7cc2a7ce65fe0ea0c3762cdd310933870ea2ffc3928d9d98437e22d7f11f7db54a445c5bbdef52ef723216e529abee6e36155573f4c85ad4cf42ad61e6aeb195d048a66c0ed6ce4b94481b7fe194e20d0d2e5bc7727689d936d75fafbfaea3e571d33ea1d4b27fea91d578ef0fb6f533bd16eebfbdbd4875f47342f2e40bde3721e62fa5ca4638e0650ead20bb890e1013cdcef3c178b493f5e57fa42f8bb74a6815d856105169b0f81527a7cd260f8746d25c38ba229ff478f87aa9c09b8f12ce793df13a92e1afa98345d8ef1fcd5e54013b8cfd53b6eaebc47b51f3bae3ca92aedca1d57316ef9d6198a6f52a969c63cd2af57ba12bc4e3da2160d75a519830ce3f9ab2b139f4a5d8f7e0fd58927bef034e53c7e51e3755dca3478a3af375e7d163e6990a73e7fe4e9302b207df5c96f7b75d53b26ff78fe8134e173acf89c4fdcd08bdad098cdc9a577fcc403a7f3ede87acfc2270d92c3f4f923c7cc3f90befaeca25f57604cfe48857f408d0f9f63c59f636d94c4459de4e6649ef58e9f78e01ce576f4065acd274d51d3e78f1c33ff40faeab38b7e5d813164613c7f75051f38c7c2ccf6c413074ecde624fda2c64f3c300de67674bd67e1930679eaf3479e0e1b02485f7df2f4eb0a8cc91fa9f00fa87303ceb1e2733ef1c48104e1cdc93ceb1d3ff1c0e97c3bbadeb3f04983e4307dfec831f30fa4af3ebbe8d71518933f52e11f50e3c3e758e32d36604b1a40d4161880bb954756372c5dad436085be35125ed3fdeb917ea8448575d1648b815b3bc5ef3e48a094deee83183ef7f5d57dae3a96de9ae3aa83f05e3f3903af3e3a7db2efcd2077cd0a9c759736cc4a17d39a70cdc0a5764661d427b0ec8e04ea3aebbafa6d2adc55694f6e2e643da70971d9ea1a87d11c6f7e62bad2d138a09bb4f40962044e1f2396bea88b3e9fe5a019bef0f38c679b1b716315b8fccf3c1bb1fc894f4d636d4bcb76cd00670eba1a6273329f9cc7978fd833879c2fdb8e249b3e0d9f46ac9e402f46fdb939574e8d4dc51e3b7b47da2f54fb6daaf9e9f7a8fd7ed507d5354ddd7e9b6abfb032cfef79cf7bd80a6955017c52b8a89763f566ab3656cdcbff9bba1cd22c87f95f784de5c97137dc3c03d3cf73025da766cd8bff73fc19fb02be8cbb7c80e1258f6155337036d3a739636f351882692e78c3252bc35313333efde949fc64ec73fc19fb02be8ccb6d390c978ca6c26ab92d365ebdae70e233643cf01cde70a5dd28a77ee34ea0379ce79a97d8e7f833f6057c19b7b12e7a1a7c4557cdc0d9245857f8390d3eb746bfe00d97ec5613333efde9c9f0c9d8e7f833f6057c1997db72182e194d85d5725b6cbc7a5de1c467c878e039bce14abb514efdc69d406f38cf352fb1cff167ec0bf8326e635df434f88aae9a81b349a0abdfa6bae9f42ad54d9c46539725991a06dcda60eb044f8f80d87e9b9a20abdd07e91b5dec7dcd602aeeeb2b47426b1bb3b1e304785bad45efbf4dedb47db2bebf4d7df59ce3b3b426c8e1db676980cb5c9fc3e972aca741c6a777acd3c3f4aeb3b01aa6171b4fdf29a109e0bb8652f24caf2b3d713e6958e9aac473402a7902f13462d5f371855a0edcca93066fdcc2cba7d85383a7217e1ceae1b3c9f9370f9abaee73658ade4173e5f3e9f6b27d670f561c3f36a1075d0b85c8c093b5f5c1f80bde2a81c9931a3c8dae9529175b57cec3649834672c5ec1dcd6676e091eb5aff4eb9de7730eb7b129c73f397a9a8d4273c1dbde73dc5383a711b832e562eb2a6a980cb3ed8a475634814b7d8e5bd76bf207e57ae7f99cc36d6ccaf18127eb8da2f782b7bde7b8a7064f237065cac5d655d4301966db158fac680297fa1cb7aed7e4f7b9bacfd5c311e4087148dc8fab9d3b4f9e837aadcead460077a51ffee11f06ac2894fe7f6f4d37264d60eb1c772b987e6b9b6ec1340a3d5e2f92f2bebebacf55eb55c783d231d371f2763bae1e8fdf7bf5c40cdcdfa6befedb54d3e3385677ddac095f48a7bd4be1349bd4f100d2853207f5c4ac5c3aeb9a3e07cd85a4cfa7b1ca21ab29e73f1e487fc6c2c8c62d01b2aee340fca93fc70a2f767aa0ae73d3e00bd9d0d388aa8c6fdc6db8de8959dde7ca84bc3057fb3daab9f25eb469f4b46977d765c1a48907bc4a8dc468d2f849b6c0fc69fa4bbfdea61a94a03db515b9e69b8afb6daa51fa93bfadf3ca64e39e64f9a8cf52da17fdc89467f3c47a351be20445cd53339cb2a8e7346f2abfa1cf4c96e74952ae594a67ec3909273e35175c33cffb5c998d2644bd3919ae6bfc005ed16cce8713685ef807f553fa4f3bcff0f630589e97f4d62c8d33f63439f1a9b9e09a790a19c02b9af90c6ff40bff287f42ff69e719de6edaf2bca4b766699cb1a7c9894fcd05d7cc53c8005ed1cc6778a35ff847f913fa4f3bcff0b269dea6368a1bfd7e9bea81d62dc932a084d515a43bd7f91e15df7a63bf47d5ecef8cb0dd7db32134b7cc688d81d1d57a291f4d5d536a5ef8e9cf58f8bebebacf9543e55339ae3c33df7f9bea287ab2dcdfa6befa9fbbcc8ecb8d63c515b36b93cf60ba66e9c2eb5574edbd227cf99c462cb1ab214dfa3316d3e73702159ac6cad6956e217a610c8d1c34f3c91f6e5c1a78e5d49f98a07153f2ec7acd2d3e1f21f31f6f74989e267db19a784cb9dde7ca84bc53e6cacdde13a947d6f672fb714711b075cc488c3541fc055f3435a75cef85cfedf43c05700e962ca706b99246f3c9f76045259ef2361673f60e5fc09983aecac67d8d78f52fcf537fe229d3d45c0eebbdf0399c3e308dc033f63e5766e33e571d1b1d1eab3ba2aa77ccdce7ea3e571d211d09b778874d67d6e5f859ef857fe3c795c0ad3d00573037a3dea3029616bd5f0594d64b42eeeb2b73a5342726e4717aee6bd177f65ab493e85e3f3903af7fe4f664f7a79dec1ec97637cbe12dfb745530afc187c568cdc0a576d2621e4fded781e5782450d759d775febfa932f1a4a176da7b00ebd94cb307b35bde73dd9e218be51fa9a968aa85cff0917ee0f38c4fa39e2c1fccfccb274dfc4c3495c5d65c6f567c02dbae6d544ae16dbbf0984b8d5f08b166fa8d4b7fd16c2cfc7dae4cc2a77daebc20dd81e14c69970106ea47a7e76f506127821d2193dea3522643fa63bf56069e5dfdbfa95bbd51d2a8c76886c707d2acb7c0ad57342f4cca99e8bdfd7f53913904d4ca420298694e5c92b7fa930f9f3eb7fad3337cd1ccf0e4e19ae710f03916bcd8f073cc7a799e216b1284073495350398db1c221fd437fa73acf0e973abc75cfc2f9a199e3c5cf31ce2e263dcc5869f63d6cbf30c5993203ca0a9ac19c0dce610f9a0bed19f63854f9f5b3de6e27fd1ccf0e4e19ae710171fe32e36fc1cb35e9e67c89a04e1014d65cd00e63687c807f58dfe1c2b7cfadcea3117ff8b6686270fd73c87b8f81877b1e1e798f5f23c43d624080f682a6b0630b739443ea86ff4e758e1d3e7568fb9f85f34333c79b8e639c4c5c7b88b0d3fc7ac97e719b22641f8fc7f53ddc8dc867a176a6d26d0ddca1ac35d0956607ca426074db56509cdee83baba0feaea869b664d7a82ee833c69742dbc267e267a95acb6045a6f56e979e6b35e8161e1348f4ef7f5d57d2dfaf045cbca8eabfb6f535f9b9227febdbf4d7d98149792ae740e1a0576c50174f90c4f0dd300f8ae3bfb6ccf8509df750a104ba008592c4d984057974840d4f862f357970f522c0c28a584015c31cbaab112a449b61c8c82c9b328b5f79fc8f8de85e600eb2dc97ad5ba840774959ba602af6bdb4b5308c00ddf2c55dfe7cae47ca6e6ca6f537b34555f8eab78b779cb88958e0a75cc8066ca98b0dad261ca561b398475a55ffd1cb855ceb6908dae19e3426f569740fa5b9fc48f410f1b75eb3341b153de82621dffc6edcf534db3710165a30c6396aaa84f6aae1e2d5fcde489f9685607c21b5db332a6f0d57ae790d2d679bfe14cc78b5af3a22caa90e1133422a6923213cc007ce6167619f1318a194ef9b69dabd26b5bb6156de9b6b1dec813dfc6622aa71853545d1b4533ac7e471c576d48dbb2ad684bb78df5469ef836165339c598a2eada289af7b96a729aaee6e73332572edac67579b9ac195c73ee6b86fbfaea73672dda9978af9f9c819ffea7fed49f7ab2e3ad27cfeb66a39fcced9534e6857a77eb815bf1873ef4a1dffc9b7fb38fe8bee88bbea8ffb0cb89e1a70e98ae92fd1602a958c7bbbd01d2f3ac455fb3f5bdb7550ade283479c23e20a4e4efa283940c0d075df181f4ac98b0356e3c7db9353ab73c5dd67356eb52caa726cd723016737539d82ebdfc8518287f6ec655b7bd16a3922410d83cb02516a8eb3e576f93b9f29cb9e3cabeebb8b2431d093ffb67ff6c3b8b60c795dda7d8bf09d45ff8855f48e938e968b1676dd72ff805bf80ccd1f2287fa8e035036aca07f6b1c01c861712afa9779a07c7d73c850cfff8873ffc33bfeccb30c0e77fe9973ee9ff18fa2ab733166fb9f397fed25ffa17ffe25ffcf25ffecb9b879cf3195e9e31cb39a0a6d755ef25878d58af9a9bfa3ffc87fff0d7feda5ff3a4facb7ed92fcb07a94c7ff1590e8d55089c9b3a5c783ef6a3624fcd6a80ec82f37f4ce1f51cf2393d13c457e7339ccfb6ee97fed25f2afc3ffec7ffd8c66ad267729b43039d755b17b3a835a77410da5202e6ca72f8eb7ffdaf9be17288a7d13bcde9393740a109dce2fc170bd05407c65c3479d6bb1cced8dbb1e6709bcf46c9e10dced5c5a76d69dc0cc3b9a997e732215026862f9e8ffd0fd56dec9933c13c03676f9e31f329e4c1fab15cc69ddb85a73d9de1fb5cbd73e7ea3ffda7ffe4fb3bf2b7c6b0c050dbddae7218d7f0d6331621788c2e056f8fb73271ef830552ee3ee8bed6f55f577c60f74126dceeeb2b13729f2bd793c7c3ea33bf6eb77eeb5c7070bae7aa2bbbe201bfe497fc1207b35be4dff93b7fe7e7fffc9fdf915cfeb7b5f091c3819c3fd97a9908bce0358137a3bc7eff7e33dcdf119e563fae838e12352ce756fce136c1918154803ef98375ad097b0f19e93a4be35a991e9fa7da0acc2800c1c662128fac70a0895f6c3e04f8de79c246d9b8e5bf1cf06d1759febae88dbbb4974329e101855e7dea35f5d2e7d958a706ae900954360aac6b4d7839dfe7ea71aaded2b9727f6affba4bb52fd40e123ce01ae452a8d60b6014201c3f26525dd495fff1effb6beffffffdbffee6b73dbc8e7f2cb7fa0bff4af738e23c4f720e4058ef05638a9d435b9afe36eae4b3528b6ddcb3f7f481e7bf0ccf64f44e9f6dbd8bda58f1ab81e132f1edb86ffee66ffef7fffedf9ffc89e7f910f958ce1187f50ccb0dc6143b87e59cf8d1eca14a5c339c955aec85d73c7de08db271f3cc4a6f7a5beae3866de9b2baf52ff0c27f427dd99eb1671af8ca6c35e1e5bcad185ff8ea40bd975a53e140936c75dbae17036f948d9b3281dee91f1c1fa3d4454d397ea300c3a7fec2bfa0a96bce40f8e497f3b622cd729eff19956635a070a049b6faf48137cac64d291cd03bfda3e503997382c8e18d020c9ffa0bff82a6ae3937d0c2e397f3b662fce97c899ae786c0bca3e7aa3583d900dc9bba27dabafb9ac154b466eb18684edefa3543fbc5e886565bbfa9ef6bd1d6d5e6a1f2a9acdbcde7bd3c37039fff5cc7e70effc55ffcc51d6d0e32d886771518768aba523810d57a7bb2f29c5613a34b4dbfcb477a9af804c8f88e66fa0baf975ee16350603984d38f4f99cff462c90c5d3ec6521af7924f3ef40442688a051a17bf71750df3d1b5dc740ddfe7ca4cbe6573d5174ded2f053ef7979d85f4f91c1eb08e513c88769cf89b729acbd3372ae9cfa2d747710f318fabbd5bdcaaa8d55581695ec71ffd67ff8f6ffd271f7968ffd88f7cded7c88058d1aebe7816384143d3e0cb411770d6b32a76f5a98f5c6ec273788ed75b5726f099c37cc6273e43d2141ecef3c971f3b96c57cd45d12cabe923e3e99533cfc63aebd364fa405d30a06c1b852b91270fc7aff78cd55b733ec5aa155df1a7e6c4c9e6ac49ff255ff225bef3e2302e56af90ea40faea5b7f26baeaa557684aa62e8cded5916ae541fd93734e596f63c10fee8f0ecff17aebe2360d50733e9872ab2bfed49c38cf27c7cd87b8deea9a8b9ae6f44412a4c12be503d405e85d1da95690ca9973ca7ae3e107f7fb5cdde7eaf11cec1ee4cffcba315957b4b4f0161470be77b4589e3960ac313cc7d2537a17ea3eeb3d2a019e00a057e0dbfb20be150e999209b0754b98e6a1fb351ea0a4c177df84319ad20b1b4bc91f59ece9434f80a12916685cfcf4ba869b84347865581ae7b6e4bcb9e2d0d0e52670fa4b6e4cf23973103e1ed05432019643f8dcc607dd7dae3eb5b9eadbefcde4bdbeccc0fd6deac389ed1cf69e1078b8243c9edb4e6fc064757902680876c54940d3e95a53ddfbc9c8de3d9e02b8ab43f5c6e51f93d8285d79db5be5502c5e54e3c2ba4ef2bd1ecb00004000494441541e4eac2effde5bc2fceb82397435a737d6debb362e5231343e2c76dbb59cf9283c15801e28611a81f7b97a1bce951540fb68fbcb9eead8f04d2ae4e3f2e989770e8b22807b0f005b40d4151ff3f18f7ee07f78f58ccaf17ffab1c755a92ee5121bb37ae0f40c8f698ddbb8f4958b46137fa96be2e7304d20fec4a76de169669538d9dc1615f309e6ea311f9ad35fe0197beb9fa0faecddd0a7db937395ff7375e1f59efe637eca73c5e19cc3257c66822ce7d2f0ed745ff7fdf22ffff2625f9eab5b7fcccab92d1bba51caaa719fd423535eea9a7ae7306520fec442ceb258245c09171b5e0801fca91f577c2efeafc67efca7e11a6b43038b125bb3a8535fd46d3d7de39ea3278e3971b6ab755da236cac99f7af83e5766a9623680b7c95cf5151e29b526f1598695894f57f18feb8bfbfaeabebefa9c588bee7a7507b733707f9bfaf07ce8cad8e74f9eac5c1c31d6ee0f9787c7cfaecc5acf63f87a31690097d7a288e1f180b219a78169e6a089dc6754307d8f857ce27b84c09780e6f4c2cb99673c4dc3e5834fa397615634655b2cfef499be116944214585732e369f8d6538387158544c1a5d862b8a001e0f2804151a80660e9a48e3026d02bddc143ef1f0a3cde7d05c596dbc3c576ef66efca6c53b55f3e341b4f7a8b08fa2ad064ca6a2e9f36c75f3bff71efc87756d65038fdf8aa7de07fea31ff833dffa5dff635eea9ff8affccc3afdeb9ad756fce34f4f7863e58f01c6eb1d06c201f572234bb958bdb0f2833ff8831ffef087d58e9f9ff3737ece977dd997f9356ffa04f9a8c93ef2918f7cf4a31f35d53ff7e7fedc2ffdd22f3557f94c0384c58659fddb7ffb6f3bcefd66355e8d5f5d9ef611a5ff7ac1fc6398fb098a3ae5f77eeff7e2fb90e8077ee007acb6ed3882cddbdc8c1b0ef8d5bdad93b60db4697eb26b772f37ca30c1ed3ce8327a3ec9aa91f16bf2c98a8f11d57e24e667333fefe7fdbc3254cf07fefeeffffe332b33e3e0e4c9c40f725c87fbef28c81c966da95e6ffb311e56fd709a5bce40bbe6b2131b2e8d0fda68bc8c7589202b43af62ec4773d8b6943f6caa8de2536d3346e3c1787b81a7b2718915cc62c39af19a8f92579ab05e259ff4e36bf20fa449acdeb87821f1174d7cf5a91f9ecf45f3247fba951226b01c625222c787372e81822ced61cd7081e30145afa28b4fb1e36b8e4f9358bd71f1f900ca789af8eaf1174dfc4533ff933fdd98e41f50af7718b8e0e540ace86592263ccfc8691ee5efe0b9b2392e4aae008f77a1ffc509eefad6654aed6a40e022e0b685772d857b8f8a1705038a7978f93ec89f40886ba9f2b9bc66305df7b932098e01f3e0c078fbac451f0ee57b796a06ee8fa90fef0c5b779a1fd882a60b59872fd2a16c99b8451e4dd7565daea45dfb1cf49a9dff181acd0acd62bbf272d615269e3fac189d80159086987f3e5d70e5234fb821f496b32687f4e51c9f1ed6055b4a8a350a4fd858a5a49786c3e601a3ac174f1f398dd1099a816dcb34f7b932156fd25cb96d37cff6a3a54cbba963c6b4b72f681e8eaac7275502fb9a40a157ac0060eba41d4b6ef9f86cd5c3ad8d621e353ffa1fbef7231fff822fffa53ff7e12f72e1ad241ef80f7de0cfbcff7846fdbc1fffd04fff155ff2daea8d666bb286586ccdea4b0e4832653934564dfce919a9a69967b16a8cc7c27ffc8ffff1bff937ff66bd00fdaffdb5bff6abbffaab0125a539f153c95be5affb75bf8ef2322e93a272fbf66fff767fcfc95ef8faaffffaf853ff6aae3efe718f467fefeffd3d299dc9f85fb27ed36ffa4d1e2c6dd7777dd7777948ae57264acfb131b7f389f7c2fc1ffec37fe8a9eff4fca7fff49f4afb57feca5fb9b9b275e6e15fffeb7f7dca6c7bf3b09cd7bbadc3c0cae3543dfcbf111ff8c007fed5bffa5753feb37ff6cf5c257ed7effa5dd69dc9d48693553f3a9db2acbeeaabbe0af3c10f7e705bfaff7f2c6da96df4846947fca25ff48bbc50a5342e37336c3666156f1b733322c6f41ae2d7fffa5fef8fb5fc937ff24f4e31b7dffedb7f3b86d226fccdbff937377a325bf1bf7d2c350d0aa89f3baeb6a57926462a61b1e104c335ebadde3ed2556f406f40ecdce0e9775c2d6a21319ab7c74c99149bffada6f0c69d869b52d772d08c54f3499c06d358f90c17a21943366581f159c1f5569fe3264ea6f7a2af77fab637e78d5b484a0eb7f390b2d8c4b79ac2cb731a6e4a5dcb413352cd27711acc723b7121baead5b5de02e3b382ebad3ec74d9c4cef455feff46d6fce1bb790941c6ee72165b1896f3578e7b255876b451a1fd875c3d27429ebb9b43bddd657fd7faaa5edfe455f2c8c3cef83baf8b716cad658dd0701fa02efeb2bf3709f2bebb48e07b563e3ad5cb76fdc3bb89d81fb63eac33b4957cf1ecf7af6ebb9ab93d635ceacf5ec4a13469e3cd2852f7d203d4648783cb15817dc7ae7099c3c99522c400f0334792686f93c481f4b3984e969ba2287dbae7c689603a04b4d8f9fff9c317a59e5d3a0a767e3168e275058a539796453516e02d30342c2f7b96a1e3ee15c7947bab9b22630a576936bebe3f4bf9a7f1abc05871986792adea9b683f0c662a2d975998f3b7d35654b8d98c7d087f712fff3873ef0ff7cff773d3e3cfdd7fffbffdd1ffdaa8797df8fef3d3ef4edfff7f77ff7ebef513fefc7bfffc33fe39bfecfbf894d56ad7b5a5ec4e48c5f33a056ea2d87629fc3e9d5048ac08da519cef06ffdadbfe5ad9a03fed7fc9a5fe325aa6df730f3dddffddd1e63ac8a3ce7885544797499d24b54d348e969ea3bbee33bcc95879f06dad0037fffefff7dcf59165ebffb77ff6e6f321b37cf346daf37877ff7effe5db65ff9955fe93da11d2181eff99eeff977ffeedf7906fb8aaff80afebffa57ff6abbc643a04735326f295bb135f4e919c6ff8dbff137882defdefdee777b9128dcc3a1273a0f9352fac5bff81797c3fbdffffe6d5df3e059ced65de6611bb5396c73d4e560134c8b37d252b509de7c7a3effbeeffb3e69bcf7bdef952d99d86ff9966f595626d34b4b0fd2652555ef366fb7d43e324a73551acbe14cbe5de34f10db89768d39f4a4dd6ca805da17d6b5fc3de57230bdfff25ffe4b7aa0bf57ec71dd33aa4d10e8d9d82121371f1078523581a236cf4039c42c1f4d657302db6aa5fcc38f9257cf1ee381f862294fff7926cbf036f6e4f556cae1824fffba30291bb7e66d6c434c23f6165fc662726e4b9806af00e75817ff34911beb12abf7f49f67b2e7624f9eb22276fcf0e99f0c53efb65d33e6f4c96a1a5db7f8d4c34cce6d09c7eb021abab12efec8f83c9f8c1572fad3e7d91019c297d893cffca2dfb8a77f4a4cbd79d69c3e1fb5ab9fd3dc4907b8a812b837598f69eaed3e85ec3687f489d2ed9a416002d71f6232f7c15614dde6f0c0c997643c4c0f970f259c18e693580de36ba6316eb1781ba2990fcd720074a98b9dff9c317a8ba569d0fcf36cdcc2f1048a21d29c3cb2a94006d27310121e4f4cb63ce7099c3c99522c400f0334792686b7457acb1950e8698c5b2c7c9fabcb5cdd7f9bdaa1f264fdb03afc1c2f9d3fae7480e244f2d99b39e9a4859d5d78e7d53951f8ce43b5d8ba28e14e727a9fcd2c6a1abdf9f32c9606a91ebfd872586e9a86485f86e1f898f2271b893716267fbca6dc80d2ee33a434c692952e3e78245c3ef3593ef7b97ac7cd95f57a6f50ed4dfbb105815decf0c0773cb43a510790c056185e3efdd5bfd733ea83c7dff9373f9cece31ffab69ffc8cfabf7ce807ffabfffefff4c77fc94f7ff58c9a83daa00fd68f8b7838ffeac863ac57b1d3002bc4f32cb02eb8a299ff784f269ecd1cb7ef7def7b7fd5affa556e9f9ed03c9cfc96dff25b683c22768e089ff2f7fdbedfe72524a527962795996f088f6d9e8be80dd133eaba00ced5802725e7972fbe7eedd77ead977bde407a0a95496fc23dd4d93a8faf9e4ef39100dc73661ba8becc95b4053a2c7fefeffdbdbfe257fc0a8f5ebff017fe42ef668d625c0f90e9b775926ceb3cec796ebfcc4399579f638db1093da31a4e6236c170bff377fe4e8f9d66d270292f59999c4b5664986da964ce2dcd64b5ef48b713ed1adbe81bbc66c6a70625ef61d5f3ffb9df5dc7fc05a63e9520fe0dbfe137488f5b2f9c6d97876a4d9f50c8c1544bcf8e7678203dba6fdccd39e6f4c7a749000397fd92a6faf6985f60b1675dc8939ec8f8b3a6e7bfa8cb5865a54e93eca2412a2fe4ff38ecab6acae9eb78f478a834f31f3f50af7ab16368ced8f1406526535ef88be773fae6a1decb3ce4a04ec39feca269d0cb5829ab73dee8f33c7b3389c97ffa817ad52f8cf5646e05f29943f8e42f9e1bf48ca26f1eeabd8cb5ed4a93f94583542e63599dbbf5b80c5a63e45ced147611c3abdda722296177abf4ceeb454da377eba8625b23a9c7c3c5127316cb50e93e981eaf198e8fb9afafee73f5661c571de1f7fac919b83fa6be9a164b13c835480d3b100197c5784013a974cdc20348272dec7206140bd3b3c20364a2e0047a2fb13404c5d208c4143b1ea3682a816a624cb9c5e4a3568ca597a7aec68dd4e45f607c1baef792dba9a7d45468d485cc274f3ca066aedce7eaed36573e9ff68174df6681ed2ca59d85b7e3142b894a78b5cfc51fba7fec5ffed3873dfcaafce00ffcc803ff03dffe67deff3dc77bd49ff8f00ffe976ffc3ffc1fbffa673d7c6cafec737a2b95573eaff18fffbed29c580e354f7d8931d1f5093d898b6d79047b1015e82bbbb63d93f2f1dce2a5997595f796897bc4a2f4497f63954c7fcb87d21b39cc928405fa0fcdbcbaf494e5b1cdac1642d3589ae7b670f670d59754f159950fa5fd323c9fc07c0a592cbeb43d797a71aa576968cf603db5ca9c7e5b671e668ebfccc3860bb0623892de33a1a627c03ee3a8176fbbf0fb4671d32e2b0f8169aa6585f4705e92730ef0b9303597bca7629a62d5db350467ac6dd4b5dc801e53bb80f3ec53003bae4b749edebe7ec3377c430fab0d314f0e617c3801ab62014c9a8d9b388d7a3c5c336635309c40bd1c62ce7131159a02352f38fd729bfe55e46bfe855f62a77948ebb5e38ae6e259139f9e328c0f27d07b1b4b307e1873e29a31ab81e15b7dcc392ea6228702352f38bdbafca77f15799fabd72e05b7fbf18dcf555757d73a21ee4a8a87467722e7ec7d7d654eeeeb2b93e0b2dc3aca12d4a1027f56ae453b6beef5ed0cbcbe7ebaed7b3398dd2a760f304a789fbd695630afc1874ff26a062eb5e318a33e818b5d2450d759d7e56760ef7bdffb7c33cdd1efd0f7795be703256c19e461cce5d2a513bf658d05288110bc0b6be7ccad9ec6d6e1d3dceaf1594d434f863456f9d020313effcb474a70f94c73e6706ecb72489f8fed6aa0b60b6e7bcf6d3f739e9ed240a7ff62ef73d5fe7d2be7ca71dbeeb01fc376876f5dda778a7d0ac73b8f7c1912e9b8f244e178c323d55ebeb50e93bff0f7bce73d7840bd05dc4fc23ff0d7ff6fefffbe3dacfcb42ff8aa3ff9b51fff1fdeff3daf3ef116f9793ff1833ff4a37ffc8f7de3d7bdebc144c93ffca4a7981ffbe0077fd6577f75c0d75581e98584b71ed21b99eccffed93f0bdccb7d06dea419f8637fec8f39de3ae43a9ed5c652231bf4164f3f0d65e4198b71334a13de717eebb9b14e4df8f4c91f1fe073e2c63a73c876f5ad5e08325e9d32f2e2a3175fd7a98f2ff0164f0f2c8dc8d31f739fabcf9ab9f265fbed6b9f55b901d934c52ac55eb66ceb9ee5268574cff24cebe6e51686b756a1118ea7df7d301cef7ea7d9da066e8d6414e47d7d7559bbdee7ca21d17a786be68e99d6753b7e5aab7fda8f2b07a78f665ca51dea7e34f4701a3c1647b27fd5ae99bff5b7fe56c7bc2f20fce93ffda77d34ec41805e7d29ce118cae40384d7af56d314a64e3d61c06e440b07c62aa47026f46b93fa67ee7377dd337393a4dae03c5be74b07608c21dafbae2bb14eac590a95302e7b52f2c1698278d32e79a998c9f5e6ca3578fa714324f00b3dc00cd73dc7c90f1ea698681735b1ab15ad7b6a5c08997c3b6c8587a15ca922c1673fa6bc69f9a33e7c4647386950bbf39691b578f2f64797e56ced57e6b6aaedcd4db472e67e64a6d065c5bf1e6c405cb25268d3a1c4f0678a06d0ebfe66bbe06a3b80065d29528fcc0ffe7bffb7ffdfffedb9ff1fa62f251fd7af5f11ffae11ffec37ff0fff2bbbefcf3170ee436cff967aef99fbfebbbf6980a3ca76f9ca24e7f5f12fbe66ffe66bd7fe00ffc813ea1bf1dcb69fe17fec25fa0f9237fe48f9899acb65dbebcea67ab5eacfda13ff4872c83fefc9ffff3534ed3b8be2cfab7fff6df4e49e31badfe0c526ebe53eab1df8ef8fdbffff7fbc0625b718e7526ef3bd8de34fad2e97e9ae22da81d2401bf6bf585e4027d91d8bbbeaffbbaaffb8aaff80acc990fbc516c6069ffd13ffa473be089cfe1529ef3600998669ee73cd0fb86adadf39de4dff13b7e074d1bdbdf1f9a0f87e7caeff93dbfc7dd7793d98ab3b1cec48497dbb6d45f908a549f395cb6b1a86a4a5f426ed7fce13ffc8735fdbed44f6dbd4676549f4a7ffef75bbff55b7d23dafbd278d34be9281255b12bbd4aedcbd2f3d7f532d65bf8e6f3561f73e1456d5a6e63b3bdf09167e0059f4db14f8e1b4f3931702ac38ffdd76d5fc80b9a4bcea78fa89a2f6b96f9625f1e37db8be765ac5373dbb51175bdec23933467bd3ccfd897739ecf93b1e553d7e979c14fe6f0f2b8422600e6708e756ac20b99be0c6ff3397d4efff4fe2e9a9b8e9b971270e983d9ba00d2c37d2a11efdc770171b7f26b767a64f7777c03a5bfac55f2a117981ea6593d9eb26589de006638db5b9f86c627569f58b3a54bdb788eabcbd0e33595c4e509af374f82e553ec42526ac697fffc8179d22873aed9b8e3a737ee99f378ca86583e98614053ecf4f920e3d5d30c03a5b1dc36ba2e56e33595c4dbaef58a4ab07c8a5d484acdf83664fec03cf39973cdc685e3a75fb6c685c75336c4f2c10c039a1600f7c754f3f06479fa5b554f4a3f5b490790a3cd95ce51d5f1e75d6558edb313b56da7811dbe9b07383d1e798bbb7a3a5e29c3f307947875c7f4f4465c0e0ee2e526e4f429b77c6026b0d834e5c907c8bf3c610c4c1c9e67e31a719a72c3f0410ab9cf55fbfa1d3a579e8bdcddedf1cb7165733a60d4ad365603c30f9a2ffcf22f7cf5366511af838ffdc847bfe1f7ff89affff90f57de33aad5c6c9c096237840993e2ffc987a355b1525587d1b7b3227b6c945d9d8db714d8b5e07bcfa5472d8b8b0722a359789a79af7bef7bdfe3b16678abf6abbaedb6da9cb03e15ff92b7fc53763dd9f7c4bd64f3a3d217bbeea857c9a991805ae9cf9e0e78f2f19cc344b2f07f565ebc633879fdbba7aabc9149f7d34a25f7b7a0ef41ebe72620bca65d555653ec07086ea989a4ff61ab4de16b2e796d237849d883fade6bcb9caa45a867e586bf2ffe01ffc83bff137fe465f09e6e0e3069f6af7c2e7cce465dcb89f50533edb47f495e5a979e24b6f699fdbf2b2be5efa73c4e5b09c2fbdb7fe42a62987eacbe8397fc27ae3bea05c0e1bb7a97861c404f30494f9c097d88bbe5efa73c4a230cbf9d27beb2f641a78e5323afe8d301bf705fd72d8b86dda0bfe09e65992f3193f878b3e9efe1cb128cc72bef49efefd3655c87d7d755f5f390c3e67d7a2b6fd5e9e9b81fb5ffa7d98194f5ffbbeab359c2b66cf632e1c614d0b171a8c62991bdfb4165b089ea085e0c9173b3d31cc273e43b12503841f477bf5bdfc62f1c8d3476286cba75e357f9ecb1916b2b1e21b2b5edd764d333d735d780c1fce61e47dae9ab4cfd45c7925d8fe92801503fcdc71a5d7ab570786027b1491b9a723d8a2c17e54f62ac9bb563c4fcb8b5618d5f11ffff8177efe4ffbbcd71f6ae95e2b3ffa231ffebaafffefbee1173d0ca1d0eb01d4f31c9ee7a9819587511fdf6354bf36eeeb3e79d65b4863159b5e6f4d35bda6c3debb4a0b23af8e3d0a66a237bd0778d89b584ab391d2a739de9a52ce9fa68f7b7a981cefe9d4130ea5bf57f497fff25ff67f9c7a4dbadf9d5ec662a27804c2fb7d66ff110e26d9c498727b501fd342d0b8806c95800d7448b8d3f7c5ef6273b397fdc08189ff6365f360439a070ef9ab370ff06d4989073c319a1c26fece936309d958d3148e2c2b33efa9b5581a7c59c17e086aceeb2a4a7d6efb496e271afdd4c0256fa3e085f0570c7782f596733e02fd56d6c70d2e74fe271bbf7155cc582f81672216569f9e195ef2c9bc714f7d58ef25cff47ae773e69c5ead9c9a5b7cf17f4edf1695c3a3ebd3c795aef2397dc239184e99cf99335e534d3ffe417d6ce389d360a60f6be6afa99095005c6e91f1d5b7393f441efab09a95b2fc6f357ae779abd7556ff5edb8c245d50b281beb21f2b583130fab1b2efe417d93f30c2f7a4a5d4afe8fa1d771f5e2052a70f56dcec5c60f030feeaff903988b0639cf5bfdc3a8af8dabb76fbeb86d31e97ee4c6a4b84ff5c442e3be268406d97bd43eab6a1d8247ee3e98feb9fba0de7c58c18d958fa6824786f1c4ae962e4df9d7abc6dfd757f7b9720c9804c501f3291e576e8e1d75f7fa76065ebf97dff67d8e305d0dbb605972056c7bef33bb66d1b8543910f1348ecbae5f78472a52132e96b2778f784cfe0478b16abc8277050438c0041b2ba08b5e6fb67b2fca619e1c08c43e383ee69c3f7e9a539feccc79fec6129595d8b6913e663ca67ce8038d9b0f2cd688e969ee736596de0e73e5ed934cec20c513a927550f09ca795cd5dbe2031e20b35078adf767ff8c9f78589d5cca8ffec847defddbfec47ff3150f0f75050686e9e1d628e1db7ae280714fcd197b629a15818a5eb100fe917805fc71238c678ff40960b3e1ad269000ef8fc76a7ad43c4d7852fa334ba71256f696cf9ac99327c663614f4d1c6eb3b53bfa5ca0af95d2549c47457158d4c300af1532f035f9ab7f31cd95afaac2fea397c552c072fee0073fe83bb15d1fceadd3bbb932fae6610e8ddcb8c30ddc74f952ee7840d7473ffad13ff7e7fedc5ffc8b7fd121c7c7d76bf1392748efcf50c9ca97a86575f13f6589c72cf931628db2e47d593ab7d5c08aa8e62a5be7a6af82fb6421b7b6dadef4c77e9b2bcffc8bd5bbb98a3ca3f4e6a92b50efa95c57a0aef2811bbda88b15cdc5ff49fda24effe19c2fa35c7a3557e897db6decc527c162f5dee7ca6cdcce1b26f23e57dd929cb9ceb5562cae8a7daa6535e222a9cb5c594ee8255628efebabfbfaaaa3a543e2edb0beeaf87c3cb37f2aebf602eff59333707f4c7df5776bbb50faccaccba24b24ac6ed6fa2c4d532fec1ae1e92b4c50b3d8563670fc349acea87ce619a9c6339c26937875a55886f9446a0a54ba7c6f5c0eb0ba4d80b72de9e7a949a6148b2fe76d230166fa04e9e3399ffeb064ee73d57c9aa2b7c95cf9ac5a26edc7de7d6d9fda5ff254c7545b652a16526a1f75235fc3effad53fe32729f5fcf0c73efceedffedffeb7bff2e14f7329f48fd10f55b1e333d1d415993e7c92271f169b8ce77c965b5dea4c4e7e39f8c303b0ff65c47f8999a7dab6ff837ff00f1cf0dece7de5577e25671a8f9a29fdbe71ce96ddbe089ad22f1ec7074a499437729edfcce73ffa47ff681afcb00c9d20319ee8342b9e81f9b7235ae2e345a5ec6baef3d1353c8dd792b0ff11678f8e34eee2fd495e7ff056af3cb775fffc9ffff3c53e390f7a2be758658b371c9e79ffb94b1a997b512cdbfe9f52c399766259f9696bb1489f1ffb1400df9fe1153b5b9934a81a399ca6e4fda0b7e4f5e285f8a2f57662218b05ca2dfec4bdcff1d180a7687c3b910c634760fc7197f4b985c91a3743cd624fff690a4cb394f2993e719a4835b182546fdcb07ab117fd789acaed58f8fc173b8dae61bd175c9ef12536cd9967fec516321f4d38f28c0d1798263c0d102e364da49a5841aa376e589d6c394c3f9ea6726aca139f3eb17a1a5dc3271f2ecfe17cd29f795ef8d3a76d3c7df4d6e453609af019bb710b39f3245604aa2ff960e8955bfdf887e0c7726ae00cc974263e7d9017fd34ce41e75a6b06f7262b7e4faacee8ee532d45dc4f31ddc2bab7e23161561ce02e9e9af13561cb9869761f5c6c7a6286f96014cdd64bc8eee348e386d572c6f009c0e901a571c9948d55ce6d54feeae901cdf4f19c4f7f5832cd153c9ffc6bc29994831a8f49a3d936aa6125be267c9fabcfc85cb52feef5ed0cdcbff4fb7002f7bbfcce52a768a7badab5c00acf37c1743970bb7ae2cda3cff3f029615134f4b02b2ce04223d6398f8785706807d0e04fff3c77756edc3442ca01c8b30ca7c11b626395a75e208d3c05168ba16fb85d8cf227d0a5d030d4dbb6c0f1409eeac83239f3b9cfd55b3957ddf5ed8e06edb8f2e5deed773bdad2c171e50807bc23f259b535014688fdeec10cb0ebdbb3f950e60c2896176a5dd5c0afffdf7cc1ffe73bfff397fdd78f578f9ff8f11ff8a11ffa43dff027bee197bdfa1a6d6b9487c8c7d873c912e331669ea7ed70bdd314a54e307e3e6308bee55bbe4513b82d7efce991c30f293d4479d5e991c9c3a427c3effffeef3751a6c8f7758b35966f96fabde8073ef0812795fe9ad1941be8ccd3af34ffea5ffdabfe548f47b8fe53137aa59c85c0fe974e4f77fe0f1b3f8cf40ed6aef1df819a7959f9ceb0673086be4f4be9b412f21ddff11d5e93da7dfee29f6613a2f71cd7067a48f6bad8df3d527b8df9918f7cc4cf2ce975bdfbddef2e07fbfd320fce680f7ecd83addb0120b0d270d51840e1e3ada3c4fce122fe867368f131ab72f63c49c3eae5ac7ce799ac51ce2d857fdb6ffb6daf867fed1f4a737549feb2139f4bfe32575932b4a37d4ee133054faa52156e5ff8e530817da7597ae7be83e379ce07180f8b6ac45b3ccf3404ed9793870bbcf8202b6525b058357e64b8d8ba16357de2454d00d0149be639dc9cd43b2c3c9ccfe66469e4399eec397ffc39273994ffc9dfe7aa393ce7e41d31573eab72c6b9f828fd2cc50544e63e2472fabb1c39d9613581fb5a6b12d76af72c2769ebabbec9d27d50ec7d7d75ce95496bed775f8b3a471c1b1d57ad6fd56f93b992dbbd3c3703f7c7d4577fe0d799ec9ad834edb90bb9e749677bc7b4ab21a04c4fb3f9ed5a5073b1ce04fa530363f0696ae66920cdf8a2e225132f0a90c63461a442ac00c8787902487ab19a5db90269e269360fe3599d7a82691a6e86e543acb0e2d9b8300db1421308b72de17c30f4a706ce2dff9a791a68b145c5cb303effb685bfdeb05e45530190f13400f21d3757d673cdade46df565ae7a76a5f1f9b46df4490aec66df9c9b010f3feefacd5b6b9d5639adff083463047ec9affd6fbef187fedf7fe6bb3efc333ffff3fecb4ffb92fffe8fbfef373c3ca23e3c69d004e07c341788d4dc5aeaa25f6c21f920c7cfb3c00b8f54ecbec093b5104f71be19eb49d56b4c0b2032ab1c4f8c1e2c3d9a6a362ee01185d293ea45f9b55ffbb51d36349b9f131bc5fc7b85e88fc7fa89a3bf8bebd6d8466d4ee83d0daa3da97a602edc43a947654f95ef7ffffb3de22a6205ca19e9d9d55d760f00e5996dd8b88a9fc87ad035740e39db16cfa8655bed6db0a7cadbad330f16857c049e05d358910f233d327e7f9b8f0c3d12ebc5fb3bbd9e511d669ae5f66456b6cb2f3f5b6526e366b6b7a50b6fd034f27f39f972481c5e7839d75c2d5b9e5e9bcbbf4dd0659749af8f1852d2cc7318c37356e146994633e6f4c168def2b71a3e910f2ec7b368fe2530fca4e7922c7ff5723bf5a77921e91f87bd9ed705ea4aa3b93cc3271f5637048112ce61f968c6a489c7a4bff5c49f9ae5f068f31055489a12187ed2734916a84e4f7cea4b699ae5dcb8f1f48bbde51ffd1eaa694ecca1219285d5673eb79e8b4a59ecad7f6ef899c79476faac86296f3d375c81ea73ace94ff342d2f374df71c57e58313cfee100bc8f9c5c375c60fb2c95a6fb5aa9c22faf198c95fec9fbe0ee773470977135fc39b866d8dcdee7ea131e576ff65c7578dfeb2767e0f57bcc93dd9f767297a7c0595b7e190eb38239714df56d71e542aa4fe07a1709d475d6757955f28ddff88d5d2b9dab7d56278dae5c2e9d2e5ea2bc77ea1da9aed6c19dd87b0fe932d75c15189ecf05689e7acd8d6bc43cbb766fdc0d4a5c3e9d57f148456c5130e02a6fa505db84866b73c2e549339ff489172b7c3984793217be9cb3bacfd55b3f57ce8e1d6f3d12d8b94899d4b4e2f72caae949c07ef41866df85f1806f663a9cec747c8fa99e527210f564d1dbb2e3a7fd978f7defc73efe0bbee4e16fe79c2b120265eb15586f8270b617fc3f7df777f7ffd0ec7fa62964e6a73e87d373e2e9d39ccd6900bc0df7986adb9dfe181784785de758b092d2c16fbb1220b78d98270b4d9e6a38cd70c02ef3214269102015a4e2330518399f13eb5ace70fe81f4f6a9df55dad1de79966afcc40db77968eb4e9f040daa56c4aa372e9c27c0c735c14165389b333181b2b93ab3ca8d52a1a979490faf37f2f449af3628f376e2e97362e1cb79fef304881573de9fb2705af5ac3eb1de139fcdf1f9947002f5c685cb19b860cdc5d26cae1e854f54f3d9d0393474e4e9937e7c630999cf89f52ee742667eea91177ee2f18f92d765275f0e0cd3d4dcb8c873ac136792007f9fab77ee5c7dfbb77fbbe45bb7b83739e91c06566b6ad8c1e096e4a2e4926241d27e77563a493b5a92d5dc7d908012a956f0eaad558c755f5f6dae9a9cfb5c759c6c1ecee65b36578e76b77b573347f5fdff4db50bcef2eae3b493fa5cc39ed36cb2eb97c334dca1a9b6a2425a72e1099a99ce6d582f5e6d7da6371ed6358de68567786a3a371a576063a91b6e7c9ec5a66162e8786245d3587a238bd52c070298c372239b66f8cc875ea1c9bceda5d4242b965b9e7a81e9c9948d55ac5a32c2e3cf79202ecf40b10c4f8d26be7181c652333cf933360d1343c7132b9a72d01bb9792807025d6d1741651acdf0990fbd82cfbceda5d4244bff999d2b174119ca4756701ba52e2b1bae57f3b2704ce6d2a9c06a57d2c0c77fe6bb7ee1973e9c3bc8cb3a721abde16cc7cf87601ae01c7d9e81621fe5afd6f4e1d3bf243309e779e10914815e967abc397de0725b3899e2852125506c1ab8d8890baf99268672e470b1d655bef6e608999ec0a70c46c4548c9b583d4c16a6996720debee6bce7b7c5d2c0a2d499340f179f3404caa987978310382bc78f3f6ed46176c6a6c904efb15956569ff84ae2db6dd12b4a4d50994673d844357bb9c59f7a98cff4f30c9cfaf685adb0688ea7115e0e27cef3c2139c9af0fc89e142848fcfff31f46163f1056e5c205c6c9a18ca91c38ff2d7e747b3b1b20d8b52ce1c86c9a69967609a466fa08b3f5b4c63856b5e788253139e7fb92d7c3c2be463e87dae5e5d13ded173e5f9d375c335aa1b93fddb07ac807ba88b89dabd49ef7dcd602161ae5a63981fa539015a6fdce7aa359b7978c7cdd5e3febc574fcfc0ebab9fa7fb3f375887b5cfd86cab837bb58b23ec328a8c4f131f33dee5a38be9e92396331357137ccf032eb848353d26ff3c1b3a4f1a05a614ab86f301e8f58a15a2c0f9e7a339439f23ae0997831a2e07ca9cd579ea45da229ac6828d85df5880aed50dd7b6c4370ff1a7127f9f2bf3f6199c2b1f571bbd77aa3baebc44424a4c69c938dcba70cd800fffa6ec1d8828caf15b4ae656ef3467afa88bf99c179bfe963f99e5b9a8f502f54e83512863e61f99c3a3e4d56cccf3a2bf284fff756d4e187e7ae76a5995f6927f923f35cbf3564956ef341885320650460ea739eb8bfea23cfdd7759faba6621372cefce63c709fabfb5c75785c8e96c8eab7f939e8eb3c9607ad10ce354337a3f1f73583bdf9195c335819da17f7b5686b662be1f645eb5bbbe6e1087e5c0f9ba89ff25cf1b9972767e0e183c9273bde2472c39d3798f06eba9a15cc6bf0e17fd8ab19b8d40e178cfa046ff04bbfdff44ddfe49873e4759c39105d134fdc5470c69fd34243eca0bc8dcd84585421799e7a5857d75f26301ffa61fe31cb274db90dcfe7e4f536f4adbf2e255e5db3d8d22eb0ed826f95b7dbcba4d8dc8a0acf9fe03e57e73c7fea73e5ecb077789a5bf7fbf68be74fcede3fd80b481abc736198de1b2d0c0d4c66bff0f1a9844fb2bfe66bbee67c7eb860ce0cd5173e72bc5e58b9f091c5ae8ef45ddf2f78f7bbe97fec831fecdbbf676c1acc9cc79c9e179cf8f4f929e0e5f9c9c64aa6901c2eb969ceb9ae17fc6f952f78ce8d263c26f0646ce21772782156579e67fd46f4d300f7b97a72bf6c6eef73f506e7e73c86efc7d5edf173cecf89dffab9ea4bbf6e4fee5f6e466abb78c5aa0ce33ee53b0eb0f4faa14af72f372c4a37af3670f741faee836275e1bbc1c1f813f3892996200dfec4f339798286bef52f365e5db35856f1c8fbfaaa093415f7b932099e5f7c77c059e0a8be7fe9b7b366f5fd6deac3ef165cad9a115743970fe70fa62b23de2546c1abd74c8374e999bef34d6c9f0bd2637a7f28309e1eaf4eb371013e0cbb3ac76fc49a1c68e072ab57885112e0a7e1af8b5e6f9ee91b37bef7a578513994034d8c581a5d78b2fb5cbd73e7ca63aaa36ec709d05104ec98a9f7b27641625c3de357df3253bae6922934a7e7183c4d7a6438e5f4f39f2cb0e6dc62d29ff585d79ca7d87ad5959309dff298e71cf0d3df6a6e19e2f2ff29ccd539d67c9633105efd48fca47d513e677dfae45f6ffc6a6078fe91175ef33987fcd3df6a6e9929ef7375ce397c9fab1d751d6f6ae5c999b9cf5533f338430fe766e0333e576ea94a2b1f29b92b29d61bee4ac8fbfaca3c989076d6e60ac0d4bccf95f969adfbce9dabf6efbd7e7206ee6f53bfd3db54ab1fcf63cef69ef79cfc2e8e63e2239d0cce04533931dc25038fd49c494c3ecdfe709a395f3cf1e740271668b8f479aad3038d485ffe9833b7f98ccc6186a74f9a7c1294ed59e77f9fabcfd45cf9e4b83de8a80803961df6516f4abd1d5d13a0710c44867d3eede097bfda6710bafc09a53cd542c25be169b6bea96bfc852c8ae6e48bbd78e6a03edfa6f65a75fa69ce58bdf30f4f1f9820d9191b5e6ef35f48e0f439f1a9c7576efdf11b227c19770240d7293ef5c31b37f125e4b65760b1ea89c3f1c88b60cef8ba9ed3e89de74553e00493612ae9e1728e3c377ffc855cf8c9dffa34e26d4dd9d0f99ff52587fc2ffa068a7c3276e617cd9a0175fe2fe8692a69e0468cbc845f7c122ffc14dffa88cdf95253cef6a2c979b6818bbe81224fe7c5cefca25933a0de40279e2772254fcd7ae32fe1977113a76c33e1e77c12dcd60b5956d3e4bc1c0217bde629b88dc53ca9c967b1a7e6c404792257f2d4ac37fe6275193771ca193ee793e0b6165e88b1beeddbbe4dd3faa1758bda5d49adcbfda8af05c11e42d47824e01ea776cff296b5d508beac7485014cbdad5ed60c6c2d44736281d3e7393d509ef4f7f5d5656eef73b5e3c441728b3fe171e55757f7b7a93b8a2ee0fe36f5f56bd92e6d7d36e36ae57a54ed9c3471bd63c428301250d3776872e85d65b36cddcfa1f319df918a592cbcf793649a02792e1318c3bfb1ea7589d454c4628034f862e9395c78e6f8f4b2cdb366987e1a7c05c393be4c68da8a652836cdeac6b58d4509dcf6eaa2bfcfd5677caeec05fb57eda6de9e55b72cb086e84edf6262b595015c2d76fc89eb5d1750990658d175eb8621b8446946566f9464ab8b9d67036d5be2d7bb28329a621b68a304224ffdc9cc3ff16269ceb1cede53735a35c494c0cac56ddb4270899a615d29d39c75dbbb0c1b68db32ffb9154b769fabfb5c3918eec7d5ce914eb49d2935cffa3e572fcc55eb87ad197c4e8a51fc8d5fa4bbd27dcdb0d582d9803757f7f5d567d35ab4dbcabd7e7206ee6f53bff37def7b9f8fe59a1d17821ea25c0b5c11905d0b803e3f4ba077cf6964856c7ecfd89445a9999089c5078a2a84cfa9d755c8f40b197fd1a454df8e552c1e501a6bc95f0c13a8f1cd40f5f87501255f57fef7b96a1e4c9a69519a46e0d33b57fd7fe8cc4db875527b3fd0b2c987d3fd6615f07e35bd2e21c418f99492c78f72eeb7a952cd612b0ccdf0c3f6dc7c069ff8e4893567728b4f67bd7e92ea252ad06bd5e981db71173b59c369562ef94c7fe18917b85481e9094e3ef342c65f348b4dd0102fe3170c33bf78a65fd7127872acc54eb670cc48604ad9861ffb5f9fff056edba7acebe417bb216e358d523d7d269a4ff217935bf38b67fa6467ec93fe8bbdd86a562eb94d7fe189cf716bd24c8f292426f342c65f348bbd1d6bfef379d2e4340c5f3c4b605dd3032981e1c562cee11e250fd525cfe92f3ce5396e4d9ae96715a3a914728e3b7cc646a67f19bf6028fcd633fdba026ae592e719abb73416fe18f1393a57fd36d50cb87ff9dbdaeaee566e463e333545ee4dee5c96674d975a8914b5b7a91e6b5b9f7020e83e480034bddde36800e46ec7dd3aa75fc878cc70b17330567a4ca3e41c6eacfbfaaa39b9cf9579388fa5137744dddfa676e23c59dfdfa6be7a57d97153edc204b8f6d5748ec1ae385d8fbcc3ecdc23f39eb03350171ea32c161015534d5f2c1e2650c40eebe5334fbd73a0811f235ee5563e98ce01bd7bbfca214fe336969aded5b36b7a516d63fcf46d2f32beccc3f480d86d54201fb8d8c622bbcfd5db67aefccf9fe771e5f6df5e3b8f2bd92ae77a2e66efd9d69b66b5c501ac2608a73c710c594af5455373b2b379c1bdd37b747aa8f426c047d67ca45f758d21b86455d77cf4b6bd0b1998e696118554de82b92a8dd50346bfc5f7b93aa7e5767e4ee63e57f7b93a8f07b8725e31c2f8fb5cdd4e02e6939a2bf72077250b06a52b67ff4335de72c23bd5ddb3eeebabfbfaaad5e667eb5ad4f5e45e9e9c81fbdbd487dfa676adec61cf34390dc280ab27e6f2395c67cbc96f727b8a131ec0875763badc8c6938e4ed289853bf51226bd264a8c9f3ccedd6b390f8d54837836203c9ce6d310fcf6904d213dfe7aa7dfa96cd9547cd46545b1fd8a1f651ef4857f706f57c9b4ae627a9e9fba2af8415bcfde86d6a7b7fab0dcd5b1cb3ba90ad516ef5994c76ebe9256a7fe0773f526542c6b3a88db5512e7ccd85dce630878b66fc9c2fcca9df282381dbb1925d7cf2afeb32d6a9cf70b29af42f680ca4f7a239473f6313c71492f2a229c3d99e6e2fe0539f61f525b7c817c6dde8199e235e62759d43dc7aea3d35e14b3e45ddc62eb034b27a2ef6a2393d9fc4a71e5eb9f8c73f995bb3549dec646e7db63975dd7a323935e18b4f51b7b10b64f29cff622f9af1029fc4a71e5eb9e4169fc3892f9e755dc63af5b090c96ade8e756ac217cd39eee9bf406421292f9a32bc684ecf27f1a9cfb0fa925be40be36ef40ccfb12eb1bace216e3df59e9ab0dfa65a7af9a26fff25b59b576f53d509ac6d3cbbf66635871e6531d61b69dcfb90bb0f22bb0f8eb9afaf5ac899c0cb9c60ee73651294a6a8f989798be7eafe36b5697fb2bebf4d7d352d7b97a80db764b776d774f5ace9f3bc9e097b7ac43bb869f040e57c37354f473c073537c0a579e783d89e10b8c169c28d25845ecd5f4d5332cba166e3a6494f4c33cf62e75394a6523ef3c1f0d1e459e6691ea48f65dba50517789fab77c45cf9acbadfffd877e771f5b18f7dac66f77ebdad696e6b5d34560653b6743895344aab9c93872b6281348fda57fa13273819b871756df4647860e512856fc4a2922d8733fffc0bdf589a42563796e6258753134e73f19ccf3431cb673e8072e189d39f35d923fdaaaab9fc2f7996ff83f56359a0569e8d58549ae520368dfab25dd3cc274dcddc167b6ac2ba682e9e17bd66cced584c940b3f7d51d564f1676fe3e670e11f7c5f2b0b44c0ea4654d71ca3799faba6eb3e571d15e76c3836902b75a931d59f3bc7d5d657bb37b9439984fbfaca24dcd7579f3b6b51bbfb5e9e9c81fbdbd4576f537beaf3c4e5e2b8e70d5316dfe35f3c864c1d49833f2777e2c8796af644374f8f76e1f101cafc3973cbff391ffc0c1bb13ce1b6858381b65da773cf96cb6160b1673e996fb8e573d16cf353564772b8cf55d378eeb2f617e6939d2b1f2aefd8b0bec9d38b53bbb53bbd57a9f181706f56ab313ec693926553fbf1fc6dea16dfe5dccae939bc7515cf6900cd977d12ef27a97bad7aeb43798e72c9279fea621b1773363f213ec78537e2cb3e8d75892d994b9ea7e7a9cfff659f0c7338f3b9f5d1bbcc3762e10d113e4d62b23ad378019fe36e9417f40d770a309a179f32893febf16fc4277159a5575fc6baf0cf8d95d5298e296d5197ae27f9cb366eac97634f73caa21afd16cff31c2bff977d321475ca2efef9a8cf516e35599de29827e7e4229be6ccbfacaa9fd3c79fc9632eb93de779f26fc487e65676192b813afeac1f821ff940753990dd36cfae27f1993fbcb1583da98f6fac4b6ca3e770e2799efa37e2934959a557cf7fff6faaeffe589f287b9bea5ed6a73cc4e7db544d6b09b51b9f9a9bdb962f07ed3e88dcbdf5bebeda62ac1d61ae4cf2e60a799fab6646fd999d2b2f09ee7fe977fbe202ee6f531fde4f3a751da3ce61c74a4f6e18586dbef0913498f47867bbcfbaead2c46702f71998a6d24b2a647863099c3f4dd70bcc307f9e02172b44329a691eed5ff9e3cb47ef346151f4679ea7a671f36428b61c4e4d58ef7dae4c85623edf7173d50a40f28e139f5b3f6ec7c3d369c746c70cd26ddeaaa2a209c4849fac914aab0a7ab8a847fa0157e26f6bbd8b858b5aec9320bdaee5960c7f8e151e43333c307f0cb735c3ea8db51020ab463ff9987a9facf3dff6ce273eabf9df3ae85aecc65dec9360f92fb764f8390456cf07034f76f2dcd60cab37d642e6d0e8271f93ff9375fedbde348d153edd6e1df42e76ca3c359f04cb7fb925c3cf21b07a3e794e76f267ce61f5c65ac81c1afde463784e73c10db7edadb7b1c2a7db25b6aec54e9967232e6460f92fb7f4f8390456cf30cfc94efecc39acde580b9943a39f7cccf29c724cc36d7be31b2b7cba2d6a3ec062a7cc33cd420696ff724b8f9f4360f50cf39cece4cf9cc3ea8db5903934fac9c72ccf29c734dcb637beb1c2a7dba2e6032c76ca3cd3c06e3d2d4e28ad3ddc9b3c97e2dda7fc36f55cb774cfd5755f5f990a73755f8b76486c7ddbda557d1e57ef94b992f3bd3c3903af7f8cfd64f7a79ddcb52970d697cb992e8cba02d70c5c6a0722467d02ef8b2281bacebaaeeffcced7dfa6ba5c7a666bbdbe87374d07bd2b667cd8b44cc6d395747a4dbdf46a38409cb3fad4cfe432cfa7beb14eff791695f36d622520b7e50f200b3f6d9746405779529649e2f833b705ea52343796e66d4ae7b613dce7aa19fe29cf55bf3b6d8f38c83b0e9d2f18b59dd8b9c33f30fd7e9bdaff9b2a50889af2f6b7a92d4a38e83d71cdf875019853069f9a7a6f35fb49aa3ff9eb47aa17c327c7ca76fe0d5a020b3f074a79d1cf44c8590abc842738c998173cf3279b26fca4d545739bc37c524e0fcc709a98ba4ae3053df1b95d292ffa99e4bcfa36cf06bd78a67fc1337fb269c2059ee9dd6a6e739826b77902339c26a6aed278414f7c2693f2a29f49ceab6ff36cd08b67fa173cf3279b265ce099deade6368769729b2730c36962ea2a8d17f4c46732292ffa99e4bcfa36cf06bd78a67fc1337fb269c2059ee9dd6a6e739826b77902339c26a6aed278414f7c2693f2a29f49ceab6ff36cd08b67fa173cf3279b265ce099deade6368769729b27a0abdfa67ed1177dd1d61bbd17d5eb435502bc759a5b5bff17035e13df732cdc62c6530a65f74164f741324c26eab3a4acc60fc0e79aad909c6f1733898db5350f80bcafafee73e59871247c52c7d5fdb7a99d6e4fd6f7b7a9afae657b6f699a5cf53ac81c67fb9ce69c3ed7b2695ca7e09eb8e87dceb7678f3ef32b5097b3577dfa77348b5574c9214cb97c30f917dbb3449e780e04f48dd528e5364df950d220e9d5f34f76c98dc640a7a6b1cae1c273c02b34677a39977f9afb5c7dc6e76aef51db2f6eea769cacce1db7d5061eae84d515646b8e6a2446dd32e295e8f19ff8b33e35f3b9c44e0f844f4f787cbd67133eb34a50c86d4d39374ab9cd6a79c68ca75f415ec6c2e8ad4e36cda9d435ffd36db1399c9af95c6253aa2b731b180fe47f8233abf834b7f57daeee73b583ea72205d9a0ea4fb5cdde76ac7c0e53ad6d1a2f6387ade7a9ab1fb9a61474e6bb9c7e5d57d7df56a563e2bd7a2dbe377703b03afbfe8b8ed7b33981796415dc808563027aea9be2dae6b48f509dee0dbd43ff927ffa48ba96739b1ae983d3ada76cd3e188bc7eca9727c51d50485bba650ae3e0361857ebd293d258e87e783d44c7ff227a629319ec380b4d54fc622137487109e789b7f6e3b71cd3479c2136775eb79e12f3edbc6fb5cb5fb5e98f3e7e6aa1fa0b65f9c2966d831805ced53e778ef51e1bef7ab37d22f8260b54ff2c4faf4416cbf4d25b0fb9c17ea139fcdf864a7e6963fade6d90aa69aa0ff3755ecfe03d5c69a5e5359f304a2e69366ccf8e91f6d5ebd2ba8779ac59e9a37884fffb0c0a6e249ff537f3b6eb1d3e4f082cf45afa99ce19ab77392e6965fe083cb6bef555ec8619a47f9abb97d019ffe61e2fb5c35c39779bbcf5507866979727e4efe3e57efacb9eab7a9163376a2da7f9d6a0f5ac8b95505dc956aaa697aadea9ee5e5ea6a7cef5abb0f0aec3e78ae2b1a22feb276d2bce52f9a6ed04634561868b827639109dcb80b49bc2593e63440cd34f431136735fd3c2ffcc5a770399ff3503205aa155117cd7dae9a3193d3be3ef7cb9b37578ef0fb6f531f0fc927aafbdbd487df399898f3c2d171e93c07ba36f5f94d32fa09acec3bcf891587755dbd6f849df362a717dbd5043f0d5bbcf0f4e5832c767cfef2c1a7e99ce10f88353a2cb0e6c553d4195b4a6d175e56f43478cde5c0ad6d0494781a7a4d40014a52209c67bdf413dce76a5301bcf573e5773e768a6211601ff5218e3dbee30a9f60cf2dc0b0ae9aeaf0cbb5e5c273b18de2ba4c139e674c03adebc9de489a7cd66cdc78f56227009ed39c7ab832879a8b1d1fa3a99cbd31a28097eba29e8c6dd0fb5c6d0eef73753faece33a5332ba699397bef7375cec6db6daee4d38aa57b90a60b9dfbd46e94befb735f5f9996fbfaca24289fdd6bd1b6f15edfcec0fd6deaabdfa63635fb1c4533acaecba5b367334dd885c312bf6be82536be4badae694efda9e91abd4bf37268e89e67f868366e387e3e4ca6312265d916925543944f81424e7fcd6906228b5a6e8d75c6c28d323d10becfd5edbc7d5ae6ca3b5233dcae1cee7f4cb53e33edde8e7a1ca5f11e154e03e8b5bf5ac30987bd50b562e86deac36e7beadd452b1eb55eb1694e7c4b7e42cd3cfb03bff4fb6d6ab13c1bb1814e8c5172789370c3b55d9fd4586575865ff0a732572fe4d32852bdccdb9b343fe79c9c1b78f29f100b5cb6b7d3526f26ea73dbd7bcd5ccf3d45f300d874c4e1c394fcd4f3b6eb84b3e6f64dc3239c32f38cf932c7ff5ba0622e7f9423e194e0f840339bc49f8765b5ec8f3cc61dbb5544fabe57c929467f35613333efd259f1c1af4c418e5e5d84f51d370977cde8867599de1179ce749b62dea750d44cef3b97cfc3695d2add03da83ff62b44f1b06af9d17dcd5d29922c8cf7892a015eb89549cfbad323c3ad61eeebabe6a1b96acdd6fc9cf83e57e731f3d6cfd5fdb7a9e6fcb9727f9bfaea39cd95ce61eabcddf383298b013a877bffd9b98decc90de82a190fbb2c860185200d7cd13cf63fbc838df7ee71b828bc1c60b51c8c08a7c1342e9ecf7280cf3cf3a45160bd00079855b8b11e148f9a6d170d460e174f6335337c8a55c7e4a93e73d09ce7f244c29cdb7640415ef869126c7edaae628bbacfd51b9f2bcade9d9ec79567d466b255c56d6df54030de2a01aec4c70ccf2dcdd9bba88b6721ad3fc2b9ad3ef5c8d3731ae6c3c0cac99f98e0f4192e30e570b94d73fa9cf8cc139f1e5058a94f873ce31f253fa93746efc5733ec0cafc31a75ef31c51f3548667f264ef34a7cf70b1d3e4d0764d733b62cc9927263da0cce7c41beb51729faba6e13e57af9ff51d2df7e3ca3cbccdcf417722a7b36586babf9b10a3795f33dcd7573b063eebd7a2ddd4eef59333707f4c7df561de177ff1173741ae98e7d521dc13144dbd9a3d2f59e58b5aecb0de349842d2e4060b842b9eaf8062f7ac851148e644ad974009abf17c4a4c1356d32be339c005aac3db16ccc2c5c20a4de34ecf307f4c43ccb34dc357f4024cd4f964abde762d368d7a1a38c334b9c125a0a9dce7caf49a874f71ae3ca33a7ef65cda5e502b96353ed83e710b1dcc78ab9fe193bf6081676c6bc753a3379f64f3dcea8a5899094cb35efcad679a45155bc8ed587a2bf3cc5f780ef9a7898cafc62fe7b03ad9780ec3ba9ec3e710348d7bea375643cc679937ee122876bdf85bcff917555d48fe31c39aca3ccf3ce3193e4a5e4d42cd91cb990656eb52c6731e3ef90b3e87a0bfddaefc4535c43c97b9aef586f349afbef524cb671a4c86273f4ca66cc4fc1b2b1e7e94dce7aa69b8cfd5c391602e3ea78eabee41ad19fc36cf270b18df0052dfd70cf7f5d5e7ce5ab45bc3bd7e7206ee8fa9afdea6ba26ba56fa24cff2dd4c7912e87bf0ce1305a317d08bf7e004d37479edd9496ccf0fc4bd4bccc7e7400499e06934f944e6d35818217b4f48532c32be10f5007e3920e9350119d6f5207dedb7a600529e8071d57020ac57695cb52e6e4a1a9e39a891f7b97a67cd95dffcecd883edbec7bdfd70bcd9a176718c2f62595bf7c72dc263c6eb852ffc98336a1a6315b51ab35eb1fffc477ff4f44f6fd5b2b14e87f17a4ffe7448b3de8d75c62e673e177e79a6b9f89cdb580e17e6cce41c257ecc19b50c37d672c0ac770e672fbcfc294f87f718aeba0000400049444154f1e5b9a87c52a659d4c63a6397f339d6c52dcdc527b779eabd306726e728f163cea8d3ed92c3fc2ffc39cab68bcfb2bd6cd7c9dfc6ae7799ccb3719fe3cfacced1d39f35e5b6656e67269b998be7f85bb75379fa5ff873946d17b76d35fdf87c2e0e29d32c6a5b71c62edb8b6739ac3e473fb76b9ef7b97a67cd553bd47d47b1efac281c153ecde9ff4d45ded757d66066c63cb43e7c9caafb5af461e1fad9b716b5a3efe5b91978fd63e3e7149f5ede9534c3c059bb48e9c2ac604e5c537d5b9cc0c84ee381fe480c12a8ebac93edff4d75dcbb50b68e2f4338e0ac88efd9af6b07abf401ca5b0d526ffa4c325cec294899ec22206b2ce0e2739ae750ac54d7254a6e175e134fb3ad2b7f64b109d2c0a7f23e576f93b97276ec7880dbc57d3eed98b7cb9001bf4aed536a0712106fe7facd6a7bf3631ffb98a6f29ef7bc47eff9a17e4d75827569c22ff0f55e34a77ece34cffd36b541a7fc84399cfe672c9cc948c0b827bf5196f30445ad197839f6f40f5f72abd95867bdb14efd6d6e4f7a22a79c4fe4adfef44f5c6cfa731b8b3df98d52e6a7003e9ba74ff836f6d4872fb9d56cacb37e18e9e6387cceffe22970ca479bd78f87273d4fcd624f10569f9b39c139d6047a95350398c40367eca90feb05c2ea9aac16157e943c8c75eadf88a6c029e773196bfce97fc6a63fb7115333f309ceb126c86acdd3e724cfd8d33f7cc9ada6f0458537d6a97f239a02a79c0f90d50bfe676cfab6eb8c3df98d32cff40d44b9e6e9739273203ef5e15b9ff14c6e634ffd7a533eb83fe6736a7a52c5bfeb5def72f372572576db525b9eb973610218d807a9fe6355fa7eb1826c6502ec3e18b9f55202218164f029d0bbe67c16022c4a6ec5ded7579b1640d93cdfe7ca81da84a8dff87175ff6deac361f44cb9bf4d7d750df24ea9297201021c6a4e3ca7dcde7f627a578957e034c4bd8642a6712d4316db756d1a64b118258c841dd0c68a7ce87b2cba38184b56c48ab1026a7cd8b8c5be16f7f0afae9c8be58f54e301b10fa2d79eaecf6d49a39e06ce9f61db58ec7daedea173e528ba1c576d88dd6a19b1e2966f95d0be5e5d6f4df8e4e13162e1eaf1f54e83cfff96d755ac2e9a5b37bc72eb3f65832ef6cca1584ce4d93cf399e01c25f16d4d536c518ba51c5e57e4ba96f3c99fb8c0e5b67c66182364db3b0db27232029131ea9a8bad595d2c7cdb5c3ef52638477935f0cd3f34c52e70e63122d6151eb39c4ffec4052eb7e533c31821dbde6990959311888c51d75c6ccdea62e1dbe6f2a937c139caab816ffea1297681338f11b1aef098e57cf2272e70b92d9f19c608d9f64e83ac9c8c40648cbae6626b56170bdf36974fbd09ce515e0d7cf30f4db10b9c798c887585c72ce7933f7181cb6df9cc3046c8b6771a64e564042263d435175bb3ba58f8b6b97cea4d708ef26ae09b7f688a5de0cc6344ac2b3c66399ffc890b5c6ecb6786637c3c6a45b17545b7214b94befbd35ae5bebe6a2d775f8b3a7e3eebd7a23b47ee6033f0fa07aba3de54b02bdd79510befa2a659c1bc061f2efd350397da698c519fc0a77191405d675d97b7a9ef7bdffb5c347b4eeba952edbad93358b839a1019838552e7a64caf19bc6ace693493e48e0329671e7aff7395c6c3e694e4f78857fb8dcc2854b5b132effba466a86a73110bc6d2cea927f266d26c1f2df288b9a4f21eafb5c6d4e9aa597e7aa9f98b67f7b896a0e7b7deac4c1130066dedb54b8ff37950069bff8649abfd2ff9b6a6540e96d6abb8306706aa8e1405da7204de2b07ab167e0c809ced8f3ff4dfd595ffdd55bc79c9af0c2d3bc50535636f4c0f8b62b1ef9c2b8b79a62459db6f0f84699e0d67f5d8dbbc08b613e694ebca8dbdc1aebd6bff46eeb6c2ffa99c497de7363bdcc3fb769e32f0934f4e9590ee31798e613e6464059dd58177ceb3ffd190b177ed16baeabc009ea2acf37824f9fd9ce13b3f29c27415dcbbc9091130069124cdf706fdc7ffa8b43b61b6e63017515380130cd1bc1a74ffaacc66b56def8b69cfa7c9e8bbd6c758197fc9185c7bf50177ed16b96437cf8857c3269940b3e7d66db26a45cfd9c3fc1655b0a193901709b43ccf8be2e4e69cda3ecff4d754b721fb442733f52bb73853daffa2f52f562f257bbcdb99151761fecff50c59321133007d2c05b93209fc3c5e693263c5eb3d2b870f7eec86472d084978ce6c8e1690c045fd600fccffc09d2a8592dff8dd258a2e6f318f150654559ce04752dbdcb58f7b97acbe6cab17dff7f5377a05ec0fd6deaab77a1e6c511b9f7994e60e73fa6f9720c39639dcc4aef369dcf04f46a64b19df6a78f70b198ce7ff8d1e3e1e22510a9798e6594de61e64f434903e029e36164e1f1e5592cac4b6e094419f78c4da0977edba8198f69a362f20cf369a0731bcffcf5d2dce7aa79785bcd95a750f9d88f1e5315d8bdff3cae222d38562ecb1a21ba4425b8ac399009d6ab19539d5bbd273f0c9c23864f26e5c5413ef194f0a2c6aff79221be2efca246d6557338e5c54753b9e459c89b3d57dbc6e7f22fb7e57feae1458d4f8917189ec39a8bc244ae7e245e2d649b938b4f6e399c517839ac17387348b9dedb51269827f130c0ed7f65efcf9eaeebf2b2de3345716f9adc36f40a9a290a89bd0884022a2a8456601815965413bbc2a8f2a8224fd8e15fc0591d1915e14155d441fd079ed8044469d8928a6d6c1553136c0141944c1ab1645b52647deefbfb3cd73b72aefb7ef225c9b7cb5ce3603cd7b8c6f56be69863ce39c69a6bddcf8ef1b9fcf33fab530fcf6a7cca33cf79a84b735698c8d58fc47dac5e0ccb7dac3e0de7559780da63c89ac108289e5376a1561148bf536d29d27ac34a83f85c7b6852623cd77880efebabfb581981a6d63b6e2d5adaf7fa3202f7b7a9affdbfa96e73e6b7dbdc6af7be76776abcb173d33c19caf66fdd40c364d3c35d3393ddfa4c50dcf54a265bbca0a7cf3387e98b982be2ca256764c708142e30ff6b2eff62e195c582ef6365103a356fe15859db3929329183f7a56a4daf5525a6cb6450db7c02fd3655edc421fda50abc930b6358c13e8f60fb3b7ec7ef68e57da945596115de1a5db315b9ae8169804c6ef575e12fbf4d4d795bcf678156e38917a866412f5d4ffa9cedd9cb30dbd3cf059ffae10cab2ffac8331ce6d4ac99b7535fd78567bbb8173cdb5b7e099c9ae102a96f3d4726387b314acc73f8d40f27ae3ec7e1c47a3b8440621ed6bcc44db0a39e7ecca28f794e833f03d564353d50f3499fb33d7b677bfab9e0533f9c61f5453f9f80aec5bdf09a793bf9995c7c2e6e0e57cf76cc7cdec63d7d16487deb3932c1d98b51e6ff497cea871fed5e54670e27d6dd210452f3b0e6256e824c4e3f63167dcc7c8e99cf3310d9f8b0ba104ffa9cedd97bc67a0e9ffae1c4d50585eb9d1fa043085c78cd5bfd4c2e3e17f7fc6daa4792e794a792a758dffab165c5d869d0f78e34cc6def54f1300db0e7204dcf4175eb1f02b2163c64f57aea65db431c9ebe35cf94a7b75c1157f23f3db2751150b80001c0cf9a9758786511e1fce4a47abd17dbf869d81608ffe0f4382eb8fceb22bbf5791f2b23f9386c6ff658dd7f9bdab03f59dfdfa6beb83bb8bb3540ee29de43ba5c5dc36e16f0ee68d6f1f0784a731ac316505cf9f0a9cf8f2ecebb2f007caa237312eef6a18b87f33de772d3d5bbcd34f9817986bb1b6ac6f386999e46977c8a852f1ccd72c6a4a799ed722b7ff5f2a111eb3e56efa0b1ea9bbd6682b2f308bb4b3e720f95f541d8e37f787c6b8e73e5a18b72fcba4eb05ee20b3e6d8b5bacf1cb614c1ee2e70d50a6595631bac6e45f1d19088f89640b8403177ce6364c73c92ddbbc2d43b116ee04e127eb6ce721b7628d590e63f273c907a94cc34fb85ad718e0b4d57c347d102403c26c8703f1c3676ec37a4ffff399b7f2c9cfba4e107eb2ce761e4a43ac31cb614c7e2ef9209569f80957eb1a039cb69a8fa6f7b17a317af7b16a4a6c62dce795dfa69eeba55653dea6ee3d6a8c4588d2dae3d4dfd75746a3b59ff1b98fd53b7a2deab6702f4f8ec0fd6dea07bffddbbfbdcff06cd25ce7b61cede8340306ae1d9da67b81a68b417de234cc779d24bbf589e72787c30b74fae15f3269c2c94e5bbd0ae636b732892fe129d3d7542ffafc2cee94641d6fe383bf8f5563fb168e559f3a771ead78e4e3bcb416f45e1456d754f7f3543361ef51fb6d2a19d25178daed6d2a9f0aabadce8193d94afd51f89a72327cf8b44a7c6b8bbffd6dea0cb3ea40b2c53c17a8aec4b71873f133cdb27d8526f1046bc6dce616b39aec541671f95c7a6bdeda9efc30c04f0ec3ea6c0327099fcdfb58198dfb583d4e8ad7c6a131699edce7d5edc575ce99fb585dee219709f3dc58f5dbd41ea396137e9b9a1fdb541efac427ace939e581a519e033ccb0f51b461765cf414d25acaea9a6699d765f5f6d7c1a9cfb58991886a29533dc5ab739f3468f957706f7dfa6360f6febfbdbd417ef27ddb3cc4bef125dabb07b99791350c37a91262e0d46319a61bc42a317880fe7b37167929f6ce1dd17ec10324cc396899a0640ba726040e1733c2bb6b7b9b1c5e79f2dcc902b4cfa529a1f4dae3af6e2661baf4be167ef5a3baef4baca0d1005becd879ffb58199cb770acec699b571eea9d77eb005fb5eadcc9cd53bf5961ada09cef8562d404784b01b8954464387375e4eaf4f12726504e260f31f59ef5e9393ee639cda9cff369556fb1d48e4bef1ca6af792a6f3d60deaab112fa3e56e7d909778e1a99e7ce609aea537332cf694e3d5c9338507d9f57e7680c07ee63b5a9b591b98c09beae0bffa934af1c604f1f0fa6563580effb7818297ac31e9a3d37f502786b8970eb108cc2a4b547b6706b18b5354f8669d8d2ab6932bcafafee636526bc85f34af47b796e04ee6f531f7e9bead6effee5b6e55a3d472a128387ddcbdcecba9edd1ff1187c20c3f939f5ba1832997e26e32f9a9445bcc4cab6db2e5c6e4bfee23041cecbbc7a7c09d7cc16167726c0a959931f78e5d49cc77efac4d3e71cc8a4fc3bd27cee10d2cf643c66b858d5b7b1b2c5034ab13e65c6ca0a66e360f3d931da7902fd0c154e630b0ad3186735cc10d91a0836266abd7e9b9a9fadf2014cca2771ca27f50cc7877375fa893f7f9bfa59ef7b1fb2525cf88c72f179e646b92630ab0b9ff3338d0b3e6d73b81c667bcb5f9c9c41c3cb27db537feb7f26f39366cdcc352b977c2eb1686202a7c9a9cce7d23b7d32197f62e4e921cf8ba5f924be043a1d862f3e4ffdadcf99cc4f9a3533d7ac9cc7f5eafc67b8633ff5bc9d7ccecf542ff8b4cd9009cdabf1c5c919349c87f939f5b7fe67323f69d6cc5cb372c9ed128be6121793c9a9cce7c9e7fcc23f677bc961b6b7fc2b1ce6fccc0a73ea6b9e3e6712502ba749385e7ddac29758d9a699e19aa77eaef290ff4ca6bf685e11eb8c7be25738ccf9c5e7a93ffd846712502ba749385eedb7a9368abec2e3ff4df548b2cee9fb416a98d8f3a84f45fb0815a3e951b5bff7eb99e5998e075a5ff58921e76cd5e34ffce9bc66b88c83a6721f2b53a265e156926ff25af4fedbd4a6e293f5fd6deac366c9bdcce7286e738061522b4ddc3e9fd3c4fb4cae5e4afaae6d0c9c1332384d7a733d579a2e83ae8134184d353f80b2cff6289f8ba52b3dcfe596077881ca072f4f3ccfb042d03176053ec67cf1bd627c1afe015dc4e503206156f1fce7279fc54d33feb9fccb8d89d23800fcd0dfc7cae8199337745ef9cd8fd176363df8c5b238d0549a5780477ecba061cd98015d171cc3f6d2a57996ace64d17bc88f1e99f54eababcb72c627e66929fea563975cdf32266a88e996cb61360166bfad3cfad879ce4e1c43179c3af0b7f96baea5d7d1b85c9934afc7dac9e1c99c8c66df57dacee6365325cca936372bf062fa354f3131bab76a4ad01ce67d3f93714ee6b06ebaefbfaca34334f3e85d7a24f5e5677d208bcb6247d7386c3bdac4081b3de4261f73bcc896baa6f8bcb18a93e81b74691405d675d97ff37d5db54d8dea07be5b670ae876139d7e461bb08e44c02b619f59e3c9212cff6f433ff13ebcd7f357eb670bbc4fca8632e350fe57cf248e549065fce22ca274c092c3d9af279f0f212d3c01b9f8929f1354f2be44c02c5baf048cc7dac5ee758b93a36567d0e6dcc03ba3851fbacda90f60655ddcc51ebea9daa31a77409b43278f22ffdf2b06d55abb49a787e6e19bc12ff248ecc36ec6daa97a8987ea48a84d5050ad73cad4ed9a9798e3f35e1d3ff70995773a59cccab71627579563fb87886a9eb36d6f8c0937e743154df1e4b5da7d5294b7f6b7ef2b7f8c958e7687098cfe27edc3ab1fa543eb87886a9eb3e561bf306e4c9d1bb8fd573b3e876f4ee63f5968c55bf4df5005224d06f533d9b9ca08a0713e0dd699f98f7db54ca9a7802b6347b0e7ac6b552da9a8486c9d62a29d5d9ea0a6775f66268ce7a7e4e1ea93cc9e0a5974ff9848bbbf468ce95529806bf9c27d68baf795a21671228d6854762cae7f433ff73a237ffcb67b634f7b13a07f69332561660f7dfa61ac927cbfd6deac37bbcee5306c8edcf65e93a74dd6a02619fe775cb40d2d324eb7609bb8661568f3d2fde8b12b3eafd185e73f71778b6c3804cf8cf4fb665a2ab3c81b0887253e331fcd3f389d41cafa92bcdf480929e7f98095bd10145cef97f143ef402f9b98f95d178278ed5fe76a28dab1da9c7f9c399fed8791563d50bb86faab7028e3c79cc34f118c5a2419ded3c00e1ea47e10b0d7cfa99e0c1e0318179e339923e0fa79fc433c94ab37c96d598533f5ceff239ad74e1cf1c6675d12ff478cc707eca7cfe3351cfff9894c582cbe1b67782c0fcd0e7e1f493662679d32c9f6535e6d40fd7bbe33aad749527105617e5a25fe8f198e16c31cafcc379c300e1ea47e1c7ccabd36abd1307e647dc3453024ffa47e679fec79cfae17a775ca7952efc99c3ac2efa92499f06334d7c99cffff29fff31294f3fa7d57a2708cc8fb869a604d2cc244633cff33fe6d40fd7bbe33aad74e1cf1c6675d12ff478cc707e30cafcc3799bff310fba97bd40399c4c38f3f1f3438f5c59ce98998435cb67598db9b5c228943baed34a57793eaa1e305094e1f40b3d1e339c1f8c32ff70de30f91ff3a07bd90bf0735a3d763ed8563c49ad407ce3d16a24c673ca4a43b1e4f0912b12b61a49f9d8735f5fbd182bebba06c458199ffb58b55a6ed50abf83d6ed4dfe7bfde408dcdfa6be789bdafc76af34c58d94db627b367701cdf666c8b09aac1b6b7acc6c77c365cbed9a33c1e71c73fae4a4ae09304a322678cd7c9e716fad8a75f239c9f6f47f62ce354fff251fa957f3c4e5701fabc6e1cd1fab56039d6bb8530960fa318ff7a569ceb7a998ca648093ee9ede5ffa75a295d616ab23198e19ae6bfca90cab89d56902236b9ebf4dfdefbff22b91f1ea8bedc9733841fcc49aca6d732603296b6602331c73fac92126cd6cd39f5627337cd1d73cad309aeaf92f8dc893bfc5b7b669e29ff3137fdac235673250d76902bf3a7f2669669bfeb43a99e18bbee66985d154cf7f89459efc2dbeb54d13ff9c9ff8d316ae399381ba4e13f8d5f9334933dbf4a7d5c90c5ff4354f2b8ca67afe4b2cf2e46ff1ad6d9af8e7fcc49fb670cd990cd4759ac0afce9f499ad9a63fad4e66f8a2af795a6134d5f35f6291277f8b6f6dd3c43fe727feb4856bce64a0aed3047e75fe4cd2cc36fd697532c3177dcdd30aa3a99eff128b3cf95becb7a99e599e9b4a80ad758ebaef0431b1fbd25468c280a62e1be0d62a357b0ec23d070930f7f59571508c496355b3b18abfaf458d86a130af1a9cb764aceebf4d6df09facef6f535fec0ccf69bacfa5cc576b775dcd63d8a58ec4a4c90ade7d369e3e5b77c9f4790873c250d19b4fbd95fcabf7fe133f9f4ce8bb9cd4c545a6cf5693ad5e86a79fd316d65bed26054bac9a7f59c1dddff10ae58eb19b5a39c4ab93b1cda7bae39a2d4659cef830f28c9b1e830f3b8407cbfb583d7e56fa0b1fabfdfec709550c6ca3ed2ed9d7833de6cf55c8e533f57a599dfca96f7512a33e0b2b4d7520ac9e4f3cfcd8ff4239f34c9eacb39a9f797bb56d51aa29f39c4958bd63bcf09ae559ace53c7db6cbe4e467bb28318558bdde003e70465cdcf5663edbf1638079d0bb0c33bcd5c7b05a9926137ccc8ef1c26b96e7e2e66a7a4d78999cfc6c1725a610abd71bc007ce88e530e5adedaca601e641ef327cb52dab95f9cc041fb363bcf09ae5b9b8b99a5ef33e568de17dac9a3c1b8de64673acae70f5db735ec9cd7347dd33e8be66b0e6b9afaf0cc2b9ce813f4dd6a22e847b7972041e96a44f76bc41e4c29db7d7f01ec69a15cc4bf8f0d5919a814b6d6663d427f0062912a8ebacebeab7a9d6ebedebd434dd29360218d87e290decb2493331d0868a86a066de660b28aeba45b998cff6743ecd695b328ffe5e388429d5eb7a2e871e09c5ea16205c2473fc29284435beded5676e69ce1cf2731fabc6ed8d18ab7de46cf0fd695fe745146f50ab9166fe7eaada0bd5489a9aae2f1782ff63dd1ce8b7a95ffdd55fdda9d4d5e20688399bada49fe491995c3423b35a5da0f3b7a9dea616ebd4842f3e919907a659f3563f930c2fe6c53dc93cc49fb6f0855cd075f1130edcf233298aa6323cfff1ea12bbad274853737e347395e145b3e6adbeaef8d5a77e8281853819b8044606d44a5d0cc3815b1ef3a46624c159f0cbf9c4174dcd94c34026810baf79ab9fc9259666fa090616e264261e19502bf7b132081be10dc8c8805ab98f9541783b8f95b7a932b4425000bf4df5b472d6347d1b08f0200b784859d860fc1e95b2667fef57d3b3ccb30f505acbf5b4ad4602e7bae8bebe7a1caafb5af4c5c4301acd9fcd1300b939039fabb837625e99b7f7dfa6362d6febfbdbd417ef1e9b97bdc31cde64f5395f7b00b5f964fad6d5fb43d88d0feff66a362b04dd798134f1fcc7d3c36ab60a0d7e18e854a5618b5167ab4b2c4d003f5c2c19a6d7ecda13e5cc813ec36cc97215af4b94f9d4d49b00964fe31056972a3eb01c34ef63f5b61a2bbbd0ce91b3e69d6a33d6f3dec9ddbcd2d5aa5a5dc1445a228c819131f5aeeb85d9e3d21cae575d994cf3c4d28879a17b99063e27f516f18c3b2bb2939f550e6baa9562e1e9e1aceaca5b589dedad663ed35cf49af35994ea5bf169b8de9cabebad79e2e5a3ab63c9160e645b0ed531677df2b3223835f8fc23e91717afa40cd7c4dc6a904ab281e981328981692eb9d5a5aee4643510d67b8b978fae8e25197cea8b78c6cd67f5c9cf6ab1d2e0f3af49bfb878659a3531b71aa4324d20f3f83289819197dcea3a0dc73cb87e2cf5dee2e5a3ab63c9160ee081229e71e3cfdef0ac3463aaf1f9d7e46771f1ca346b626e3548659a40e6f165180323cf9c9f344c3c27a7ff0b5e3ef88e252b78e64011cfb8f9a93ef959e9aab71a9f7f4dfac5c52bd3ac89b9d52095690299c797490c8cbce456d76938e6c1f563a9f7162f1f5d1d4bb661a43543bf4dc5f8468fb5876d678f2acf2c02b8a795e7d4e362e4bebe7af11d696365f41aabfb5ab4717887ae45bb70eef59323707f9bfadaff9b6a80dc0d5bb5bbf8b7c7405ec6aefb26258d5aaf1b68b63052bdde35d3e8629eff6261d846ce3cd9f89c741d2e9fd2a03c63dde6b3b8f309ac94c3f2c1ef5866585c5d855e1aa7edc8790e94e4323cfdc31b1c200d32b78bb5dce4a377633273a028eac43189d54a0260991411b3e31d069499d45497d8f2c1ccf62d192bcffb8d15dce17bd223f7db548f7c09ebc5b73ee83d6abcbf9d6871404fa338226f53c95aac0456370e5bc1682603669226267cd153e2e77f9ae77e9b7aea13572fab57fbaff70c77c1f92fa5135fa224505ff2298df8c53afd9cf8f4191e13c8c3059f09eb3a9bafd0e7a4ba24573fe73f6f17ffc41dc293b1f4a64f36cdad9309069ecbe7d62766a5643417ebc467dc78f52bf24f4fb3b2ac5eedbfde33dc053f9767811645f362780ae0298b58ef055f4c6a66fba4bedcceb86467f3e2ffd4cf79fe53be427fe69fc9eb8935cd1965e4259f429cca27f399f994c04a3e359fb445ea3a356bbe423fe78953be42df819c87c3f00cfda4ed34679491e59c9309061611a35cfc472e9f9aea7cdeeacf58a7662617fffd36f5733ee7733c3d15dff121503c923cbfecc13ca3d518cf29cffd3012e399d55ffa5d93071a5d5b06f47014fdbe6668b5a3361a0d8b3181ef63651c0c88a1d8e0bc256375ff6daa53f05cb9bf4d7db850bb56bb9719a9d6eb019f51e9854d659fd3348e94e12e7877cf04ea30e0a6a9b719df65300d9ff134b0700405cd4ac49842f3a9a9f0400f2480e7533ed9aacf1c08147a85a6283cc039d49b1f40566ccb279e1510c63fba79d80adec7ea9d3b56fbacdab9569a06ee92b0136d79d10aa3bacfbc4fe6713abca81ea4c7e7fd6175dd03960ee1d5eb1a9309e5e97f7e262b1f3ce56d6e93cd09a6e875e1a7b9cdeab4229b32ab93099f0ccd6d3e73380fcb9f2dac4e33709bd5ba02eac094b7510ab75894b7b9e5a47a39e473e4348b356641319582569fcccbfe877fa7b9cd670ee761f93384339f07e036ab8b463366cadb28395c2ccadbdc72529d07389f23a759ac310b8aa914b4fa645ef63ffc3bcd6d3e73380fcb9f219cf93c00b7595d349a3153de46c9e16251dee69693ea3cc0f91c39cd628d59504ca5a0d527f3b2ffe1df696ef399c37958fe0ce1cce701b8cdeaa2d18c99f2364a0e178bf236b79c54e701cee7c869166bcc82622a05ad3e9997fd0fff4e739bcf1ccec3f26708673e0fc06d56178d66cc946714cf9dd6181e43fddd04bd561761e4d6333da77a48d1b4dab9afafee6bd14f8db5e87951dcf16504ee6f533ff8fef7bfdf0db4fb9dd101d46e9d36636e85e7355057b74bb8db2b5918c8fce4e76a7a0e91dd7f014db8de628d49933e9fd34b6c7191e34f3fcb5f6f87a3379c3e12ce6afaf88efdcc0d264e1f9ec3d396a0dc80c9ca3ffe12f7d4d7553ef88e9d13c9d484ebbd8f95b1ea77a78dad8fa21bf0bd473556dea0da941aabdea0f6fb553c86deea81ade2bc5882f8e4827eff6f2a6f4a6b8bb31e0f6cfd71e2c8d94e7fe12f3efbef52692eff6feaad9f9f6fac5bbdd023e7ffcce7c4096ef51825e5892fb669d49fc4b13ae30a37e7271f5ed76d9eba940b8f599e0323a73f8ff1c4096ef518e5128bff8b6d1af56de85bdb078fafdbe7adc35b5bcc64815bcdc9dfea253972b6e7319e38c1ad1ea3dc1eefc5368d7a399ff8ccf315f8499fb70e6ff3f9f9c6bad50b3d72fecf7c4e9ce0568f51529ef8629b467d7b68b7b6a79f133fe9f3d661b1ce313fe39efc73f8562ff4c8f93ff33971825b3d464979e28b6d1af5eda1ddda9e7e4efca4cf5b87b7ff6f2ac37e9eea29df0ed993cb5b53d8434a6fbf47053461413dbf68b666e8f1775f3318998d49ebaec62a6cd034efebab163f6f87b1babf4d75169e2bf7b7a92fde7f9aafaeea5e2eb9c7192fd8651cde751edf6822bd87ec5ed0056f37d51e40571a6e69f0dd17f080c26aef30f5da212cd6eeb0787a4dfa62d1cc96075df162c5c714bacf1df1ca99c3e2b2a559fee979106558afdc72a89e4f3c4cacc42f7f6ef59e39c0e5b95898fb58352c6ffe5879907bae3b7d3dfbcd87e6953daa945a6100ad2ad4639027af4b3999c7fe179aac664b79c1ad4232991f9a1c9e4c185f6f820cc3793e7b8713cc5b569a4a56f3239f317ac75f3ca439eb04d5f390797e1e823d965399e0b49a2ded053f37562ffcbe3c0bb3e2162e04cd93b1d63b2526878109ce7c22ef63751fabfbbcda75715e35f76bd008bccefb958ba815c5736b06bf4dbdaf191aa5fbfaca4cf8145e8bf660bdd74f8ec0fd6dea8bdfa66e746cea5ab5efbeb08d842e32bcdaf62c1ee9268be97e3a9ca03a8d8d59b6672cfaf8d34f7bbfe92fb18a8b24289fe7f019f7f40f67a82ed6798c3d33d284f31f5ef200cd7dac3aef46e3cd1f2bbb4d419b275b3502ce8bcfa4f1fd455f1aa45da8b7a9f2b44ded55aad3badfa6fa30af33eb6d6ae0b2de9aff8fcb13f0903e7c369ff3d35ffaa5ec47aa4559ac5b3ff98ce7537108d3eb0dab8d83c32440c607aa4ffe394ca96bb1e6e439fdc93b118a31374f4e3e7cebb35885b8e8fb70c1e1f481028d42b3233d7dd6a55e888107b397e373e28b9f3409aa2ff99cb6c3402905d44fc6ed580ccb8ea5e8f3731bebf4133e43dcea173a9f898bb258b77e260b643bbde6e9e1c227ae7e2e9f93a7d42c87f8132f560e2fb14e3fb7f8f4132ed6ab7d16a8bac45667b8ae351368dee690661e2ef9e7aafa15b6097638033957bf1edb576b6e7dceed25e7d34f8955e3534e9fcfd34f38fef473c1173face66ab102299fc4c8520aa83f6edc27fd5c72bbf85962c95e9d4ffed52556edb7a9b6a9bfec97fd32f73425ff56145cb967b626b1e375afc06886c9fa556a75fc9e83cb8acc73707c1849df9a47c427d772c56dcd434ff31c7ece3f3e4375b1f2a99989661ae9958f64c2342b34f7f5d5a7c958dddfa66edadf82fbdbd41763d2e734ee296e16b05ac77973d1f4de299ecced75379a3e11ec0634dcdd270facf0ddefd82ad962f0f90cef9a9c1f71e1db5894e5a32bdc1d2dcc4a943cc34a3900f16cf349bf5818bc3b665d61261898f2c1d1e3dffb55e7e73e56efacb1f2f877eecad979ef636f73437938b52f57e1c0b99e188e7fd01d45afd6eac0562d9a9553336b5d5b589c9fc10faf97721e0273abe973f7effaaeeffaceeffc4e7525acfe738fe5effffdbf4f535619e6707972121e73463c638d3f95a7edc9ffe00ffea07cfec93ff927fc2bb30dd73cf50b742a1f4ddf95ab7ff48ffe9166e393e6e73b56a7e7e1e55f2c7c0c50315b3c4a2ff3e4ccbc23aa66323f31a712fe911ff911c3f20fffe13f3cf94c56e76475e0d46322cf7a7129c36ffe5889bb3c87c79cd93e1cc0c71b2b826c2f1e3abaea9cac0e9c7a4ce459cf96327c1fabc771ba8fd58bc975ce964646c7276b5ebd88f1f279648dd1edc5ad46e921858129354f6c356205d29a24febebe3ac7e7c4f7b1321aa69009f3b69d57bb16eee076047ec92df5e9c698bb5eb6f8480fe803365775b74875f7416302d3a815cd7026d3e0c369f2e3ee0928895d307002757e18ea0d2798663c8d72d1630898e061403818f9a07e994f804f40d0f4193ae4531f2edb7c32397d4e7f1fabb7d558f5f1f373f3aaf7ae4eab023ba7eed7fe9faef49aef7ef7bbede29c686b917ee6daa2244ca0f40e36bc752d106e4193e605fee887ffda77ffcf3ff8ae2ff8df7ee3eff8acc79fc252ce3f3f8fa6af7da163fe4f9e3efff4d9aa95e5335c624e8aa308577b87acfcc00ffcc00ffff00f7fcbb77c8b3f2c892f1380f9e29ef892c3344c86d3e764585399a66687904f0cf134274e9c6d19c2f390137a65fef389c96d9a709aba2e389ff949ac2e620ec3c9c25e7dfcbb7ff7efbef66bbff6d7feda5f9bc973398c271b3e63c17ce6fcd4c0e381f093f947ce9672fe7312032bcbe1c1e3f1d7bce004d9aa95e9874f0d1c9f9f07778f2552af5658bdb8273ef527bfb885601b480357e65393abc87cc2c4ea34274e165f86f9c79ff9ccf6c273b558e5a356a61fc6289af98f2f6281c2c986d3273e7126b73cf38ee5122bdb9c9f1a98abf87cc2b9cdcf8993c59761c79293985373e1b95aacf2512b64975839d195ff34f95757220b114e7f8b4ffda9595c203e30aca9945b98ab8170e12ef947ce96f2f479e6330d70e1f7650a4f22cf231e7a24c13e31b144b136f3d6b434d4fd1eb50f533ccb88dded1f1f6b2fd6579e6ef162e9f538c82157e1fbfacaf8180debb786a2f1b98f551346fde4bc7aa3c74adc7b796e04ee6f531fd6eba660d7aacff380f66fde13ba03c2c60ebf11845de19a7af7391f59ef63e707a390e1017cf785f9c93f9e9f6c75c984cff49a8b85a771fda4c1ef5e4ccf7326cb07335e175b811498abf4ea924106e2792e1f7c452f5b359ff7b17a878e957dacb3d979b423f57d4b0772ceabb6af9602ad3f5603c34c8601cb8587bec7d2b0808177fdd43fff7ffef9bff6773efc933ff2e11f72f1e079debb9a99a43feb42c4d05ff2b944b9edfd5dbfeb77fd813ff007fee01ffc83bffff7ff7e40f9d66ffd56b5f59003f4faee457a8fffccff729bff4b86f1e9a7b944cfe43c96303dc0f61444e6ea162f9f8bc9457ff6ee586ebd6575665b3e535efcd45cac00727ec45aef693b8dde578fd5e77ddee77dddd77dddaffff5bf9e32abd5c02f7cace6edf48f8c7fa3c76afe771e1bae122887eaf8578fd5add53c00f7b1da6874ae1baef3bc8fbf8fd5db6aac9c97562cfbc90966cf26eba27df7c793ab3549cf2feb9fad4cf03dd7ac5e3cce78a8e079a0bfafafee63654a6c2d6d3e6c9dfcb69a572f67eefddfeb08dcb7a90fef278d8a1b9cedd9f92a063689ddfbdce960024d757aa4667a24593c57e9795334f17a5d1b8548109fc3fcd000f16a62266c8193e7bc5891d9d264428f61982d92581af9d15434e9f161cae1fc947fbd0fc7f0f2b71c187ed4644898ada6525c7eb22590863a3db23ce99164f10cd33f06b98fd5c3d8be7163e5f369fe8dbfb300dbb375b3de396ae3ba754c9ff13351fa1cdd9a5b197f621acd47ed43f58b7eea9ffc3ffedaf7fe78ed8ffed7875fc43eee46b27df0f2588aa5ebf4a9a9f3c1e0655c80324d26c3f1d33f1a3d54e3ebb229ea1de0873ffce134f313489fa1facc67b1c63f679b677a82c7e37b7d63f528cd7607b27cf2a32e28d93480586b169760b6992cfff8535fd0f175a50f57e76786e90ba44e0f102cd6f86cf181d97ef6677ff6aff935bfe68bbee88b300c677bfa816b06c2943507e6f3c1cb632916d925379dd9dee693c9f2cfe7a9cf707c5de9c3d5f31348cf767c7e88170b73c117db4c68f00c678b3f71cdc461bd3507960fa6522cb272c810d69b6d71e1d966921e562efa0cc7e72a7db89a80f2d5fe0988172bbdfa395b5d4a3e19ce1679e29a0fd2c7f228bc8fd58b7136246fce5809e4a1e391e7bb3c1e4c7d08de73aae7207c5f3318a5fbfaaa25e2a7f05af4f13e74af9e1e81fb977e1fbe34eba6ec16d96ecded724385f119cce77eeee7d2c06717dc35833f6de1bec7d26d17ce8a9f7dbf6598079ff99d7ab1448f0f94038d1b773e69e0450ff3d37e633e19bac5c7d32cff8e450ef47851ca079f6d9ec3dd1f6984e681063e8f57b3529ef7b1321a6fda5859ab6d2e891bf6e077ee7ef2277ff29c577dd315dfff47e79b5464f48039e0b4fa3c7bebc896806ad785f70fe3f7ce275e9db20930abcff84fdffb67feda87fe3fb1ea9ffb8ccfa17cf473fa7cd2f6743507599dfa752d87b3f7d40fffaa5ff5abbefffbbfdf21f884de518fff899ff889fff81fffa3cbc4d4fd822ff8825ff92b7fa5ab86ff8e31604bef3bc386cecc371a945ffaa55f6a097546878de48ffdd88ffdf88fff38a5cbe18bbff88b055daa970cf198d6d361e67e7dcad657949d9da2a8a7c9557ee42c7367d99995f3177ee1178a989f65a529198592c35ff12b7ec5e77ffee773d8b1e74d97e25874c5e7df7cf8f7fffedf9b42bffa57ff6a5f9676e0660b1371e569008dc0fc9c6365041c82ac1cfe990f8dcf088cb325a96c6928939df38ae6231ff988e392a7d3e1f385a69f58f2c4fbd61fcf1da35a32fff6dffe5b81bee44bbec4f4de58fdf44fff34ffc4f88ee8477ff447ffc37ff80f8ecb40d9247fd9977d9910f9617e29e3778c04e1bc9d78f99f1a1e6e7982f8c0a93ff1253a3f0dc2e973b87c98e7a17ae3b03cd3c79ff8d1ee636cc79c607e4e32cc5b39a4893cf527be1d937a6f797eca33a03efd0c5fa2dfc7ca80bc83c6caf5e8b2f50072493a7732afb8e5c6bbd5b8f9a8f11eaceede6e4a8e7118d0bc7d0ed2f3e086733e075df2e303ad5b68dc49b8128b062ebade70eba8d9d2ebbaafafee63b539b3b9f189cd2b56f7f2dc08dcb7a90f23e38ed35d29eceee3ded496acbd1f46938640971a0ec0edf7ba9dcd0f70c1949c2c96f9cdedf681e93951741597499a6cd3c0c934c3dca69f2d5057fecb449d40577acec3e9c703e112964fb180e54fd09d9a2d597af57dacde8663e5a9ef3479c6db9058e1294e53b8854267cde9d3b5850edcfa18d075ae7d3fe333feebbffb918ffca2cffe925ff5cb1e5ebc2478d07ce47bffcc078e3deabb7ef6c77ef1977fdea3b1aa323f9a8b055f783e735b0e049aa7fe63e21ebfe19c1f82694c5d1eec915af1d018937ffc8ffff1bffed7ff1abfe2b9fbfb7edfefeb1750c5b55bfb3b7fe7ef104f03fcb37ff6cfbee66bbee63def790fff9a127309fcddbffb77ede226e3d9deef76b7d64191e53f0f3651b7513ef8c10f16653e03fffc9fff735d27e9b8befeebbf5e9d4f5d12f6c796fecdbff937a74cacdff25b7ecb577ee557ca41d194f0f77eeff77ef9977fb93da126921e302bfc18f597fff25f6e9bfa7ddff77df6baf9b15d5704b2cd4b9fc9e29a63fe3b44cbb83ff247fe089286e143b08f7e5420bb50dfca866d38f9b78df742950c637ebee274d0584132e1f98ffed13f4a5f3e968f48f837fda6dff41b7fe36f1cffaffed5bffa97fff25f626c5379fe9b7ff36fee10327406f5b22abde5a9d971252b376e91e36f714ed4e94f5b78fad2a349100fcf7fb8e670fad906d4c52aabeadca6c768def2d3e4278dfae27fb6e333d4cc73fcc53f52418ebfc54fc6ea580a9a2d3f9a1dcbf86cf3192edc70fad906d4f9cf733513253d06bee51f251f734e535efccf767c869aa7fee25f6f82f1c005f343a32effdc0e4f3f4d82f86c4f5cb878b8639f6d205e5d26d58b0b60aad3c3f999667cca9acb79b6f1ee241e3d1612eecf76aa4c5cadeaf68df9b456b183c57bb0ba33b7d8b8e09eb9badcde6180439e5bfff08354385174b5fec1a70198a48193698675a59f2d5057fe29334fa02b3de7e1f4e38130ab8ebd5812bbafaf3e3dc7aa2971af9f1c81fb36f5e1dd60f7530304bb4db84edc5f7c3eb77b99c5509fc3b9add0b88776438159c1ee327d6eb7db0d0fdd83f84176ff4acf44147c7728cd7d5607e3c5eaaeb7b8bcb1cd0f2c226521ca67b1e4365cfea2cc3f13fed92a9c640b970f5ba058c0c95ff2d7c596e63e568dc35b32563dcb3b8f3df59d11ef91d4760b5272deed4501c56f7eac03cc0d56de65c148335ffeb0f3f8a87a51f1a6e855a32ef8e73ef2bdffaf0f7ce871e3f2dffd6ffee8fffa2b7ef1839f87f7211ff9477fe603ffe2b5f7a8effad9fff891cffc9ffec457e764de8a71f1599417e15f46dcbb11fc83ff63cf336fa79f8b9335d9b61db5199bdeb6d016d44eecabbeeaab8c92ebc2c6c60bb7bff137fec6377dd337b9d628edd6bee77bbec7e0bcf7bdefb5e12433daffe25ffc8b1ffaa11fb219f345e2d2e0ffaffff5bf6ee4bd1eb409f40ed038db79527a07d841ed5898742cfc97e119c5b64d4a4edf1985ac6307e42cbadda3e8c239c5de12dbf5fdd5bffa57fff01ffec3d2a6e1ff031ff880d7896682cd98a3b66b6548e96f0e3be3bff5b7fe561acab32c9f8d6dbdef7bdffb981840c7f29ef7bcc7d1713bc38d67c7655bd80b10d1f79d5e62af88ed5119129cb670718db311eb7458bc1a1323d0e9f03363939637ef8465220db2ac44c91b70e6cf15beb7d9ce943d2a139b5267d050f85b501ffad087ec547d8ed0febc34762c351b878e0b03a82b67ac27f14be1c3b9d83a7efef39943f5c9cf10391e79c1f339fff349397dde62e062454e73ea2f389f672c4c8694f3369cbe40679457c79a72c772eaf359dc22ae9ea10496c3691b3ef30fcf27abe9f316031725729a537fc1f93c636132a49cb7e1f4053aa3bc3ad6949f0263b56371e76cade2ea76eb6b9dd353cc28b960ed4edde8f07d80e826dce287c67d1bb9f549631eafa61465eb1ff8bebeda5835fef7b1f270e9b9799957cd43a469f9468f95b350887b7d3b02f76deac3e75e66a1b968a29897edf1d4f8b0ae304090c650ba51766f75d92b69005d69384c83648ba74990cfce070d3d1e98260ff91cd64b23abf4c0f4a72de7f93f7d9ec7c2ea62ab592c7e5885c914583d3dc0f97dac8cc35b3e569edfce45e708063aef4073cffd17dfdc6881de5c82e56f3ba1767e59d1787ed3b36df965bdd58a0ab335168cfe7fffddf6a85afff56fff9b9ffa0d5ffeb013fe8c8ffce38fdda3feff7eec273ee3fff27ffcb65ffb4b5f5b85e793f841fff26f990e3fd2af55a25ff4184532cb27fc9acdbbde650fe3a030691cbe0d8f1780362a8eee2bbee22bf2e93f44698fea8f2de5c498d841d9bbdac3780969ef8aa771397873e8ad66a179b64ff312d24dc3e6d0376931fc5b69592dd950a9298d6a1b4eff114ee95d8e0549a6c6db535da2e8f2d671517cad37276a47e4e567ffbdad0c05b219fbeeeffe6edf95b5ef8af7355ddb36e7f49bbff99b7de65520fb317eec066dff7eddaffb75e3f96cac02c38bd866cf8ed1d87262a7aa8b4f4aa0e3ca2aec47a736fc723002f16a4d625f15b6d52c1fcd3c004e477bd4f374f85ca0d36187ec7470ee04d9a2a72c96ad2f60101c7e0b774d9fc8b4187576c492b91076e6be6c0c28b6ac06dca6ddf96d2fdde1942d01a00078a558405d0334617c1a20acd6f5e8e6c5fc8f8f54a7cf03ac375c9ddb69d60b28271f1e0f5c6c6f6325c8cf453f3f69667bf2c81d173e9c9fe933ef58a689d47c32e7f904a6c9c38e37ff3984ebcded34eb0594937f32eea9c9ff3cbf5affe8feb56399edc9e7aa3cf18002e095fc03750dd084f14fe6f0e8e61d3faf1c9dcbd0eddac7529e41ae5f8f27a5cf58ddbedc931d299ecc35ee960bb0a2e9f9458347ee39484cb0e7204c434f0368a6cf03cccf70e2187a60fad396f3fc9f3e893d73e3595d6c358bc50fab309902aba70738b9afaf8cc3a7d55859a53c4e877bf5c408dcff84d2c3a0b84ff579893b086c89e336d18dc32da361c3d044c6102b187a0cac0e23f303e039c93f816bafdbd06c0105e9333f3593300f05c2884e0328c86a3e9727dbc7ce87def8f9c4c0eae55933db22ea5530e54000cfbf265c3e6a9818d9312e07ae1edd3cf8a129c9186205b31cf0f7b132086ff258798fda5e54e8ce6fe7e53c59ad90aa3df581f08bfa67fee53f7d719e1fceed4f7cf83f3ff01ffe9fffcc07beff788ffa731ff989ffef9ffcdffdefbfe261dbfb505a3d7c8c1f8dc7d2ba8d46eb51fb62bd7e32f13193ad999f347fefeffd3daf4315af37d57feb6ffdad5ea6d920d902f59d08116dd5e8bd5e8333cfadefc4e2ed8b34e54c6f7b63735b6f4abcb52399091fef2ba69af67eae8829315e78da1101cac9e767bc97a2458969ac2e5166e206f29b7ff36f9e37f963faf2aaddb5b3c94947e7bd2ecff95433f10ed6ae8c67dbc879a8eb320ef5eac2cf434a5df596e7f094b6a99476fb04f5aadba61a9031738bd9e9889cc6b0603a1d80fcd5fb663599ddb84f0d6c681db82dab5e64af529d714d5935087ef7ab4b4963df6b0fdf9f1a8ea90b5ef351fe421f59fd71c72ac3d5ac9e1bab829eca318bd8303ec94fb3dec085d754ce1c4e3ddcb9ebb82863a679b47eadc2d71555b33adbb3be8fd57dac5e31affa74d584e939d8d2a279e58a56ee6b86fbfaaab9d138981226c9a7e45ab4697faf6f47e0b50fed6efbde0866b7ecc059ef218aacecf1ac09d70c5c6a7317f370573b803b602450d759d7e5275eef7ffffbbd56b2d473bcee895d00adda5d187818b024d5159e98499a6ca71f2f22ace40748838fe1f3c4c55d0ec4d9e66771cb64f54380c7e4970cbd8497cf937c71173d270b1da8b7ae734c0a37b1e619eb3e566fce58b92e36afbca4829d2f3b28d1ed45c3be6ce934a989dba0eaa5d4a4a4515c0b4e994f2808bc8e6b55a1eebc5302351ff047fee6fff5bb7f747b975ff4595ff13ffdce77fddf3ff0fd2fbe16f360f3733ff153ffe5dbfed89ffcdaffe1b5dbcbcc2f803affffcbf77ddf67bdef7d9a3ff3a10f05e2314c6ef1fc10fcd93ffb67d5f7721f814f6c04fef81fffe39b63e7bce2ed6c4e137f3b27c7a7bcad2f0ea73ff98b952ea558ba868194815bfef4a35799f905e83a8fa5e6340f9647ac13df6af42ed5d3e72b30277a6feb02cde193712f5634ca12180652066ef9d38f5e05a32eb11384d5caad66fcedf14e3c0db0546ff5f9bff0679e274e3c87a7ede29efac8e9a7c1282903ea57e4f0a07e6a1c2efe9fd4207d80f860ffae77f50b14b5f7a816129e653cb465b536abe9b11506f426f3f062aeb9e7606b397c8c67df89d9d26fddc28966cfcd809a86e0ac91f12d72603eefebabc6e43e568d80d1f885cc2bb3dd77072cc94c661fb5ab2bdc026a97a12f5859aa79effaa7fff49ff6c1b4794bafbe949682ba027a270ba86f8b28912f023f3687cb8160f9c4548f04de8872ffd2efc33b25dfd3ebae0477e752bb0d39c1ddd7bcf7f3dd0cf72613b1d53c4158dd7db0bb2a2be729cc1c66dbf6203d264d7cf73bd87b9b6295035b21d2c04cf034f9a45c9ef2d97748f2937e81ca61b6f95fdc72a3c1c3cb01a388727bbc348e253f69ee63f5968c9547b2b8cd2b77b1e695b3e33c767e61af923aa75600ddb6d4e6095b8589bbdee6006f2b6e88ee4aad51aa5fdc923eeb97feec47dff5992ff7a91ffd99efffbf7d6046c0477fea3ffdf4b7fee1ffd3d7bcfbc5fa862dc3d34f6afe77a7831f2c5fbed5499cecb42d1f4c7a82f0b77ddbb739a2effaaeefc2fca13ff4877c856cde32f72acf975d91dff00ddfe0cd9ba1f80b7fe12f68bea27cd3377d932fb8cac4377bbd7bf4066f5fcbb19cf2c91727bff7f7fe5e2f277d04f017ffe25fe4ca9ff631a41dc5d2f67768ffc13ff807de22fada30327e47ca2aec2af346f1b928fd7ed2cb52ffefeb7bdef39eaffddaafcd6a63c8cf5ffa4b7fc9abf2dffdbb7fb7df5b7674f27166a7111af6a6d11b66b3c20f5931fe3c527f42691f4fe4d99b49afa3bd0af6cab15132808651e8de88b28d4f7f1e17ec8f3cfdd37ffa4fdffbdef7f66569af43fda123bf9255e89d47ef36fdc5295fe275468ce49ffff37f3e6fcfd54e477f8b581abe21ecef45b1755efcd5257ff2ca9799ffdc9ffb735eabc28ed1e19be4fe8613dc9c91b91fe5fa32f0fcfb3ef06ff80dbfc18bdff2afa64fe01066dba155eb4d99ec623b0ddb27313d435db77e4e3ee7eae5907e9a0479bbf51973e680593ef5e6214d6e176bca34f566a57eee1a1c7f89d5c172321e73e6f61c2e62e6d996cf855f92cbbf58ea851e73b12588397328567c7521d2e476b1e6214dbdb3dd98d027a0bfd8ce43719385ab8b9bcfe770bd5c31cf6a7e80f191eae5009fb609624e3e9f31670e275f6f1ed2c0b7c79b6075ab0eb75697302bf72bbf9ef0446b7de586d6ef4e5dce94bcf5f615e601a976e7a7077a0ed2f41cc4ef3908dfd7578d55cffac60a731fabe652e3106e8dddfcd9bc7aa3c7aaf5bc28f7723b02f76deac36f03ace39b2561d730a61a6fd68e3182ed574d6b056e4ce9b3ad199fdbf8e9db3f741786399fff3316bd265b9af9844b2c46cd36ffc4cba7b8ba8a25790556984c3f9e61586f9af4f8e94f2cd678ca525ad031693864ab888b5128cba1667ce6f1d3672b5cf93c8cd4cb73811ca6d7645bf2dc864bac286afafc132f9fa55d2c818a95abe9c7330c7398263dbeb81c9e58acf194a5b4a063d294c37243529603acc0eacc611b24e2f49edf80703d9bad901c2f4c83d40cd378bafbdcaee77d3e39547a80b5a6512b5b7930a7acf98b3ee78b3efba33ff8df5e6e53f167f9e9fffc93dff22dffe7dff7c50fbb357c7e809aaddbd20febcaffe9a7e8cb213f9400d9ab6de71f28aeef7fda4ffa8da21d8e5f5a1a903cffb6dff6db8cd21977d85e94addf2efeedbffdb7019b5bbb1ae366b9638fe7ef15f9b16bc9d89a66d57ce8588a4bd03803e51cbffcf18aacce28b6d98a407fe5affc95fe3eedf402899213389e074c811c4e534e2fc6399d2d0d9cac29313f8f59bc38dde9d7d5a1a969c2a77838fd62d9cadaa6da1c7ef5577f3512608b9cfe746542e27978f5e9c8d6f77e0d97fd3c602fed78ed4ed536b19a06c786df246fffb97c4c00c5aad71c20eb77b63eb4f66bdbdffedb7fbbd09c4b697a0c5c926175cdf89a17fda981f3d9a1b12d7fbc72c61ac66752a0e96b9e713faecfd336ccc97371ebdab168868b721b0b33cd6c81e102699e39cfbfdee1343bf0db58cfe53c9387a8c7d8d63ce37e5c9f04170d27cfc5adebc9fc4b29c3f904984cafb7dc9ef4731b377d3ee7279f979c69922dd6f4f84c300aac24d62c9f9ae31f250f9af8f91c3f3fc04593cf48f56cc717458d71ed7b08ba1d7900f54ed53dd67ed56d4a816914bd9e77ed22342fcf41bc4b5ec1b30538ecb9eccea0f49c450ea7a1efa69d4f5820e287908f859e06c936ffe89abae891f40aace89d7efc347ad3a4c74f7f62b1c65396d2828e49c3215b455c8c42590e35e3338f9f3edbfb58199cb77cacf6217899dceb73045e3c894fead30d7701fbec04e8261203776f029ac7d5c6c775eeced8fda24b1da917d39d1456c20427bfe1c5c31655eab01c0045dcd98a958643caf164f8c8f25423f3cfead447f21f4fb958f99c611a4d77e11dcbe2f2992d90490c5c0e4071ab19dec7ea6d3556de5c39294e934580553bdc99729a60c5c2c293be45464ce4813ffb973c2c309e28ffe53f7fe46bbef17ffc035ff2628fcac9fc04d4ad51188f39f1adbe30f8baaa47e6ed244fff0f368f5b02b56d0c2befd3602ba77eaf68efea07a5ef7def7bfd5122201c689beaff74a1f783552ffd6c53e9196294d23656bcf9c85fb3f1ac6b197a39101e03ccfcc1d1473fba28bfe7f7fc1ebf83bd4439f5f0a2645bafb3e9f308d8fe563e2df8522215e24626d21ec471d43c0000400049444154784cbda737cae79e9a64e96fadc61b1303e2284c361b42b55da5cd64434a7629e7e9e85c743ae0ce859ac332f412557afdfad40f53bd8461aecb0b67716d41ebea57accb365b83e3c7a8be3af5addffaadfd2ad51bece67fca12831bab916308e04a386538f361f90cbf34fa98d1d37bd1a427c6ab3557ce66f839065f613b10aebee44c73f6cee4e44f57f198c8fb58350eab0397d1bb8fd593f3ca8d6b6b86d61b060a09dfd75786c2dda975dd7d7dd568a8b72efdd45b8b3aba7bb91d81fb36f5e17badc6659f4569ba3f5ab557c204f1dd5291e9b3d50414bdf3339ff67be1643080cc3f3d2ba492edf8486ef18fee5ffb8c8d263d57cc35e7130f679ba66d124dfef5864b4c8dcf617af572860b9d2d3c4d5d7963ae84c7dfc7ea6d3856fb7cba77aa9b5756f05b2558f76f210b280e4479093ef7337fee6316d0f5fe97fffce3effbdd7fe28fbdf7ddc9d4fcd4a50ed775cb273bf997b11e7a2eb8e5cec5ff347a4f3f8beb00b96a970eb46bf56763619ad694b05da52fa07ee7777ea77d82d5525f13f51af0f469626f078817da1e89adafb62e8d000fbeddaa6b4bb4e5535c32292d0a325ecd76511ee917e3e0c3297fd5f6cc871351847001b6fdb62764d2df49c213a4e7d33787759570269a7d1076e6d6666f713b1c4d8055fc99c32d366864dea32a4c1ac3d33c27f92c61a7831f62050f4bacd3914cedfdb03fd8ebd334ef540d5d7fbc97db808dab8db1f7dbfba3bec6d657b27d239aadd28198fc3e7ae82ec7557c7109ce63494fa0f7e4c3f5c29301c3f80e84f9ad2df2963ff5fcd47c7479b9065fd812a479321f86b7714bef967f4ce763f24c197fc1c5bdf89f46efadff7af19301c3f80ee4764c4ae0963ff5fcd47c74791fab8f398f97b17d5b8d95cbd9cac1c9f52482dd753d86809e53ad37dcd67a4eb9f1b60e694a84b75649a60b403e2e491ed63cac4efdf8489e69f28f81ad974a09e68ab9e67ce63fdbe9d3d0d74b0f97981ace617af572860b9d2d3c4d5de2b2ad84c70b2a55e469ab9943bdf1f44a787193e10164fe69583dcaef6bd1d7ced19b36568dfcbdbe1d81d7d691b77d9f268c658a0bd505ef78874dcdadda5df6b02bb99b115937886e67d9ea65ab4676af214b60a5357d9a9a7c52a6c137dabce1452f1687f951971b1e2e9fbaf0f4b082e75009abd34f43299ff4baf0d3e3334c936db7b070c7781f2ba3f14e1c2b6b7a67d649b757511c85d9a23ee79566c59a4fd922b2a65aef473ffad95ff5992f1e6693ffa79ffec857feaeffc3fff8eb3ff75130f9837eef857883139c9e6356032da4aa352b2fa33ff85416037e52f9a87a9001e276559ae131fd0727fe4b9236513924f3573d0c943781e6b9d26adb376f17dd55e047955d56d5bafadf6bb8f2534fcd8a5eff9f4a9770fe3b6ab54061ca330a1e43cc8a6dfe9198b3f84f6e7a494bcc8f5dab6fd8129406e0ef2bc8dc56d36f4435cb874f8646c056f6bdef7d6f81bc5625f012d2948e11ceef69dbc0eb52322f618313f3d8f3aa33e5cbd57683c6c4165a32be737b71b526ff7eb34ae374f8fbc0f18d92f7cc22fac6b5ded250f71fe474c8b6a329bd563592f6ae4e9637aea547dc01daf0f72102865eed27c78697dbfe1433662670cd94e5b37a32a0f3953e930b3eadf2369fa71f56e3f39361fc94399fcf94d3f0201ff56ca72f4f7c9a04294f6f98d3679e63c84ee59a0b71da4e3919701fabfb586d466db69818eecc6e4d8a19a2c6b8305bc968baa8ddb200cf29357c5f5f190743a46eac8c89a2791f2b2b9c5635cd2bf89d325612be97e746e0fedbd487cf8d5cf3e6b74b1d56b77b0ceb72f1c38da0494f09778f68dd1f938730139a6e25f9e713991e603e9ff1e25e62e50a59b8fccc965ed1353e5c5c75b100a11797b7e2b2c5cf164f93c334708c9a93f4f989671ba90e33945efe99dcc76aa3fa068d95dde6e615bcb9d149d7f4b1b4ef824ac372dce7d3ad3891403bd5e6a13348ccaa92ac8d416b5958d7f8dffaeb3eeb2f7ef067bee0bf7bbc7bfcdccfdae2fcafbef94f7cf3af79b147a59c2d9370e6279fe7f924d8da2572b6802e8546a91950e3c73c743f3201b52eb5b8060a70a40ed9db36bb17ffad8b3fabe34ff2d8e1f8833ababc88332cbafa6f6958d9f0d868d931fa12a9ef9d7a35e77d1dbe5f427ee8431fe2dfaec9d832e14db1c7d36b7365efe731691fe52bafe5509e6a1e969bbddca2d8cbb9b82e516c358bc2443197acd8fef25ffecba2886b7b2990159eadf57b1f379f06c4ab63bff3b4c7f397cc6d38bd3b75d4d2708c8edd9f41ea7473abcb3ecd9e8dc3be6c0cdbe9d937fa5f588bd808f73aba03847d75b6c3e958283b41c8ac0cb8c3311afd8e54dcbae8a761a268da39bfe274e83a6db9f56982037714ce9dae7c3a965e02b7259646bcffd5c6fedcdf70924c5f1236c27e754ce02bd6c6bf84f9910c5cac128b39f1c4c08e85609af2c9cff89cd3678e4f50333f790897c378b26c4ffe49dbb99d6df96438bc6c5fa79e61c752d09ab33dbd9d7862a07c80fce4a17cf233beae8e377d02b5727b5cf4271f569fbca672b1c59c9a325f9eba4ebdded7a967d8b13c847c0c71da1625e6c41303cb81609af299c3f862d1678e4c50f3cc3f4caf6b7c7826f14fda5e34459fbedc4aa6faf5e8697a44bae9b95df086f178e21c0f6fbd8181dd4ed5f8aed9b6b5ee87c09e83b0db42cf354a4593955b1f9ff0d627b92a50fa04617a85397d7c589d09f380d061ce31f9678b9f2dbe1c32c713c4a891e9f3139f86135d614ecefce5992dc0c36cc3f98799a8d9ee183756398ca751888b7e89552024cdfc1087c55274ed78c3ea4cca4df33e56cf8dd573bfb23168f7f28bbfe33bbee36d320add40cf644e06ae19783db51b56b2815b2b8bceaffbbaaf73d7b3e8b13c35875c48568161c958e5778d59775adcc4b7c4d70b708e67e526eb66dadfa9e3079e1f9afce02dd78a5232ae734e94e2aa05ca967f8991b1b544c617ab1c64c5aa1cdc2f7abbf2e8e921a5a200153c204f7e9848c01d9f46ce1d97880ac638a89164f412c06bd23f4a1efef2fb7dacde2663e519b07965e634af9c6873e632af9cc7cea073eacc3a8964b325c63befba7a550554b87a091ffe75e098cffec2affad29ffcd05ffea11fff99fff6333ffedf3ef74ffeb13ff10d5ff4f01fa4ea529a2735e1ac840b9ffc897ff6231fb1e730217ff6c31ffe259ffff9fcc0ea6986c7eb5a7174bee3aae9378786a23c35e7c708f42558bdf633785f34b5d3b32b339f6dcc5c4148df4d7543e8a9ace93d9eabd8bb38c54b4ba364dbf90ddff00df669b67f1e2df6577dbf94377b5dae28fd611eb540fecead1f64da3bd90a36b0e553627063657f283a13e68bf28ddff88daef4330ab73657c2f9bb44d2b63b95b6942cec6cb77ee7effc9d8d4cc76e3f46c9a742c6b3a00271db17ea3a1d7290985e7e1421f0f675767a7eb7691cfc4c9486ad250857e698a3c618e7785d4a783e0346e0077ee007f4da67327f14bea844b4ff378c5ff6655f86a27ff274bce73def713afa60854621367bddb7a5e100fda9a4483cc696d889363e8fda1773cff12ace633b70236cb49d382f9ffbcbc36ce5ffe4bcba3dae98530f0bb79ab7db92557cb8b4b31abf33787a386df1c53a05300ddb403e2ffe353fee359866e390cfa2e773789a338d7acfb8b7faf921abf7f4103ef9f0e9739afb58198a77f458b931bae7b8121d88258ae7116cb1e1b9d6196fdde2ba762771ba1557ae9bd29e65ad85ce6799a7d87d7d65a00c60636534e0fb5ad438984edd3db61e6e5ebd1dc6ca85dc073492f1645457240c94b6873299d59acfd63dfb3acb0f57c55385d5e8e180fa1328cb84ed05af599e9ff4fad947c5273d520e77570d9cb57b0d0d660573e29aeadbe2be86549fa0b988011e7b3ea64aef6dc39ffa537f0ab6f4b91cb2698d714f1c4870db4c63c6e7441880ec628b3935bc2d6826f3cf30bc9ac0eccc3cf1a220753119134632cf55e670c98f07ca13c83ce6ccf3c9b86467c9edfc1794607ce262a94ffff7b1dae000e7d0359eaf182bf7b50699c62d0976125d328654ad69e6c76b5a04a4df3505d0778e5c02560c0cf71f933057dc92c8ce7afcbbfeeb7ffaf73ffdd12ffebcffa1ded7f84794157802cdee71c8e913ecbf4b1dc83693f4d99e7c4ef2706ac62cb733ee051b041b300365d1d3259979ced556450d8e6d155b85c072cad0d9ff4c16cf9b3d18576dfbf5e2d54b2f30be2e1a512c269c4a51904aa42867dca2a89dd016797df674f14f90938ecee64d4ab39d9806c63b1cd14d39deb2bd68ca279f99dce21875b6c019319ce6157c03e84448b8d99b9f0c17fa04133c17375b23d91edb61faf860f900733e574021f29966ccc5f6a2b97532ff8b155394703ecffae3f2335f3e988528db3491b779a63f8f0b7396990cd47bdb5c0e8b1573cbf330cd30501af39fa6e6c8c0e979fe75bd82d7bb9c03e973b8d02798e0d427982cf339c924fdf2bf6d2ee734a7cf53fc1c162593c55dac9804e1629df5c7e5679ed5f481853e81ae7228e79a0926cb7c4ef6ffa676d373b1f3e046a47685e6cd5dd11d494de32686747f005ccb78356fdd00e134181a7537f39ac3649c23cf42ffe43a279ff7f5d57dac9a3f6fdcbcf260b296e812b8ffbfa9e77c835f7c57e4c27e5a35ad29dd869a7fb0630fbb33c2dd07e180aef8535f97451e80e78d1f77ccd926c6a4e196068e275b0298c5c5f39386202bcdfc6b2af9549f7cf8f42316318794b7f9d36712a02c377a1727bd8825791fab86a8f305bf83c6cae3bf39e084da9595fc39afec6909565a6d54dbc4e24f06fee82f7df717fdca17ff43e9a577fa999c00b6da18c376fa27a34f790b2eb6049527f99c4fa01936c9bdedec213172406e369c5e4e12b47262a5d7a57461e23d6988dba3c6146538cfab77ec45d91e352be4de43e6617a8b3381d44f7a1e296747d71e75b63bbaf97438de06e72d721ae0c4f37c21f1fccff6d1e8c59c29eec924bbe493430378391df1eae997c309e057cc2bb696a78ed16bdbd6b5a76d21c69cb1d655ef72180f3c874f87f09a003f3533cf833aff91d38f3f19b8325bcde1e539f204f0abc76a7e6615b3e6007eb1a6a9f7962798e6824f87f09a003f3533c9833afff373e1e7215ef3c2dcea2738017c1fab3768ac5a8db4c010c2093dd7279e53486b0f756b278f2de2fbfaca80188a73ac8cc97dac8c4063d29c8103ef88b192fcbd3c3902f7b7a92fdea6b65eef633633dba26d1fbf99e270d33d41f74a03ba8fe5f49e5d70fad34f9abc7532f233c345cc36ff275e26f9e75cdab73887cc4fff455f5cb1ce4c6ef9332e2c164d56f7b16a6c37866fd558b596eaccda64367f90ceac4da96900c7038af76f9d689b1f5691ce2c6c7de039e775abb7a969b632d30cabeb6218a9864ffea29c7e7cb6999fd84bd4fffe2bbf12ffbf7cdff77dd6fbde77865894933c6dcf2889d545aceb15195e7c9ecad99eb1e08f7b2c69327f85fff94939fdf84bdc27f3419e216ae601062658739a754d7fab799dc7c230db4bceafe7584a92f9792097b8f3f318e745956675ece558f2a9ab2835cf88d39f82e981fc07e22f3ea799f214af1708071657337cd6afd0d4751ec825eefca49c7efc99ff7398d519a2661e60608235a759d7f4b79a4bce13dcf2755df27c3dc752926732e1939f1f5d2be5b03a3ee59318597ab79e75459ef9e724ffa7ed739a294f71f88c98dbdb3c636ef9537ff153f312777e32ac4eb3faf4f9244612ab79f37371c003c8a3aad50880f730d2d4551363bfb12ecb0f1f337966e1d97aea01c43d07d9f61cc470d202293c9e12a3f079e272c88f9af3fbfaea1c9f13dfc7cae431851a87c7d9f4e2f3944f6c5edddfa636864fd6f7b7a92fee65dd071b23b83b9acbd2da3d6c52eeb319372fb8f57d9a0c4dd9bdb74c8f472a7dfea7c91b9348cdd3270d3e57f88028c3e2d2ecde5a2c26189832139a6e28e519d61528044d9920d3e3f39ff2cc1fb358f9d45b2cb9ddc7ea1d3456bd5375ee7c6fea9c577ec7d2578275b58cb8ac3cf0560075a539f1ac682c1a7429e9816cd3d43b7dbdab5b704c19c8273ccfb0322b8066e4f833d6a9999f29033c94f35c05d413a4393dd73b26938b9f992fe2e90799bede8e059ecfd36a586fb1529606dbf86c13d7558dc9ff9a8133d6a9999f5ca903acca1950465e70f9d4bb7ab11e4daf7ee66a7ab2f94116b75eb888f3795a0deb2d16260ce4139f6de2bc55a7996102f519ebd4cccf94011eca79ae02ea09d29c9eeb1d93c9c5cfcc17f1f4834c5f2f7cf1795a0d8b582c4c18601b2e9fc479ab4e33c304eaf4b79af99932407939c67ce661b87c665bef6225bbf899ffd36a7e90e9eb852f3e4fab61118b850903f9c4ef18a7c9679a91a7b7e153333f676fe6e53c570175ca69f2305eef986966029c78561d57bdc54d06a799cff84badb758f861cf9d737dd523c947abc07d7d65b8eeeb2b0bd477d0fa6a6baa4f60ddded571af6f47e0fe36f583ef7ffffbdd345d09ae0773cb366cd878b597c37733b5978ba1695f470337b25d516acd4cf2999ff687f39f49b6b9c59cb63527c84956051a06929d7cbdd34c10a3596e673e3bccd9e6f092dead2d4326f7b132326fe65879de1bf3e655af4f9daf1607ed393def7d85d2a9f11e156f6b4a0f9079a10ab055ac334c0324a53f3fd3d9cf4feb09780b8b7aa79920463343cd0bbe359c5b602f5101af552fb6f95cac7a2f9a33a5e772788e67ab6bfe73b5e6003e7ceac3eb9a1fcc59c63f97c3c9df1a5ecca571ea6ff1724e79d1e73f9fb7b67a2ffa53a337c340aece70e3234ffda56b7e72b27afc19f7393cab9c97f9f241c6247b124f5cef459361293d97c373fc520a2c875bbe1c4e7e26677a7938eb129b18b8e47fe6766b78317f856d7ece64b2bdf57fcb9f9ae7708730ffa5bae64007586f8186d775f2f54e73fa49ff8a7c669bc3b9cd84abe76c27e021abd5f92c8db377fcab7d92ed1006663b8781894ffed25562c84b19ff3af399798617f327c76abf4df543718f4e8f2a569e503dcb7a2a31f4eeb423b50738dfa3f60b556b0fbd7b0e7ae4b53e291f18f08c23007ac66d9da33981de34c9e26752737afc59c6e75f173d2cd07d7d750e147c1fab06a4a9b27965b6df7f9b7a992a6bdedfa63e7c5e65aeb891b9a7ec5da801dafb43788b78d8bb47cadd8f1a4ae65d7e6abdfb4c253fcc09d4a7ff6998e0d53432c15332c4c048d80d340d8cc1a74f2362b27ac3f2d4ac4c9fff1def029573f77ae6bd5fe59c12c6c35cf133dbf358c2c5e53331fd7dac8c89b17d3b8c95677fa7db49543a595606e7bc72ca2c14566aaa0378a0cfce1fb9d7c4ad42aaebcaa43a9e39db9c63e0e9f35c3dcfa7879384cbe1d427c65c7c9e86679413cf16a9ccc3c9c3f10427ff68f15045aa03316fd0582dc333ee89cbe13197fb58bdd84b9ce373e2fb586d34eef3aac9b02bfd15f7abfb587d52c6ea76cde0f7a8e7377dba8991b51a51dfd757f7f59559610df3a9b4166d9edfeb2747e0b58f039fecfea4933d11b9dda371784b4f5d953d2434e19a814bed2e86519fc0e76a91405d675dd7fed2af15bcdb5ffb342969ba060026c8c04962e24f0dac743f65084fd3ed557320a5a0c9baf59443182f875bbc3c9733e5c2054a1506f273e272988660588694e599a13a7dc7929fe5305b20c3400ec3ea6c4f0dacf0dcbd069e66e10652dec7ea3256ae8b0d91f7a59d94484f7a836617daef513587f197dfa6fae695f3d5e93b7f9b4ac99b7a6bb24f18e7617e80d3397cfe36b51fa9162bd9ad7e89119c9ab379abd1fb640e27ff8961560b17f8c4fcb02dc327f33cc7e1d67f399c9a5b7c6ae03597fc48e0c91c4efe13c3ac16ee3e56af1ec3fb58bd7a7ccef9731fab77d658f96daa878eff84c693cbe3c992cc03ce3d0750f708ab39ace991e79d2a43b83543648f3fbb9780a1e8e10890c1405d61cdfbfaea3e56a641c5acb8acaff04da1e6cf1b3a56f7dfa6be3c0f4ffc7b7f9bfa30111b9856eaf0de7db915f6ae09d0eb0ea8971ec623e1346a5d316673cdbda72263cbaa40e35d1530be1cf24fc3c3304d56279f7f4cb6a594acdc78a8393fae3478dec425589ef439e91d2c3e25506ee51c2eee6c35f19a69003914379ff8fca451175aef7dacdee4b1da6f53f74b54e7c25990067016ebbf2d01e3cfe6b02502ac3e35f59eb59507c1948012339c878b9f7aa799d5693bcdc8c0a5992df2e4cb3f66f583e2e5560ad8d13dd22fb6584f7a4b70da9ef8933e56af188dc59d06384b02cca95c33a0abde9af7b16a34ce3131320dcec3483dce999af7b16a34ce31791caa87f95659f33e5606a469b33119f8141e2b876675dee261cf412b07ef15fc575bf73583f1699d765f5f198ae643636240145831735a52bea3c7aa63b9d74f8ec02ffe8eeff88e273bde7cb2dbf419f76476d70ebc9edaca38d9c0ad95ff26feebbffeeb7d56a7785816dd67756e94b0974e766bbd95d5f49f3ab81e901898377b3f17495833139f0bda0ce8ea37159ae9d542c4879914cb3ea15865984f9a64ba7a90b3950f0d81832ab7728605921ebe7ce4b0fc33172b31b73425530eeaa2d094bc9a4f3513e9e11b2239dcc7ea6d3856ce7e7369e7da5976e214e7d1ac504c1b1f5d3fccaac7e9ad8bd89c513ba77a39f9922ff912cde6891a564c0f586f7ce434e3a7217812cffcb44dfcb31ff9c8677ec117e0815ff2f99f3f9fb7b12473facfd5f49aa749fcabf5b33d0df9199fcf025d34793ebbde84b1bae4b03c6ff9fb58dd8ec979b2c26a63781fabfb58990906a1f9b0b91153d33ca9791fab5ff858fde88ffee83e2db5ae68dde2a9e491e439e57a447a546d7d65cc3d799d829628fdd7c79af43494044c9e7c0eb616e253b9afafee63d51c683e98c9e7bc327f4c24f3aab9f7e68c9539ec5ae8aef2c33ffcc301f5ae32e04bbff44b9bbddff33ddff3855ff885dd8bd44f960ea1aee180fa1328cb84ed05af09bc11e5fe36f5e1f3aa3e9b3171f7798c7ba5e13675d4b04ff8d47d7ee37da3757f387d32e64ab85395469d375604b985673b4c49804f5fdcf4f1397723ee5d65cd33b76cf16938548a8b8175ed7d29062e25759846dc4b0e7a8b857ff0f8324fb9c1659ba09cd578bdf7b17afb8c95cfa73b5376a4cd9f36aece69e7ce7c70ca14b7c2e76a77a8eeeceaddad6278cb0a1f7ef0f5b1bf23cd737cf8b63e7be1999c4afecb6482c9c69c7ed65bce694e0f277e85077e72f5a4beaed5691e0c3ed96395cfe5a9791eec85bf8f55e373d61ba2817aef63758e52784334701f2b2350b98cc99a0364f07d5e350e676d582a9e4a1618ad1c307e9b6abdde13ca330bd3e389460967d81a632b90fbfaea3e56ad70de896bd1a6f4bd7e7204eebf4d7df87f53dd13dde34ceeadd4c3bb03c637fb61c01dd380b252930d8c3c35dd4fd3a47739e5e7c9bab80b0a1462813839fd6b2af59e7c7ea42a344c53dcc4e1d3e7c9c33577682710a5f468c2c5d25cdae1339f8b43cd7c9e9af28c4f7f1fab734cceb1ea77a78d951540a7c0e76734ab7d16e88ca831fd7e15208ec9a4ff15a02897dfa63a05c4db9569be02279e8612aeb44019934f5d037e9bda7f97da9ffc5d57869ad9cecf2d7f11e441ade89a61cc9a40bdb77586ea5bcde964b253996071d31474fa4b0e99a8c7c7143d9ec381f12793c9649a971c260e2418ae799bc0f8bcddd6a79f4baf2e259f80de47e2b551ad99d59318b994cea33ef90cd77b016b66728975faa1cc5579ce307ee434277ff15394db9a6c7e2ebdb9bde490db94095e8113abe73993938f390f8d38c1c52acd259f9a971c667e0974dace7009008ba8f71627c8e7a5f77432d9a94c70c9f3cc2771b645cfe4e463d67b016b66728975faa1cc15cdc4a76018989fc4eb8a7faece30f145838c0f9c6e538e3ff33cf1cce73993938fd9985cc09a99f0d36f533dbf144f793cd2d3caaede234c138fb13cf3824b13d08c24f0084bd39e169f871e6afcd03c594f409f06c3bc1a197faef130f5d28fcfcf7d7d758ec9e3e0ddc7eae73dafeebf4d6de63c59dfdfa63e0c8b5be4de2bbae486f1de357557221b76ef6b67eb3ea5c06a826e9440f7beee9e9a0a8c04d2f3d9b55dacf4ba787e94bff69b044a7c3771fee98bb51cd862f034f9112b3d5772668557e38b5b3eddc1f399933c97403e614059fe3c6f7c580de3373ec56ddc96e7fc0004e2166839d7542f5671ef63f5491cab3e9f36c29ef1eae609ff76aa9a06df3aa0f5845ab1624002f13b4763c6634e259e2db2721acee7cbce170bb8f89c0cd73ccdc3973c17059f00b3dcc620e1896b2e9ff99c3ef16a80863ec3e97378f193936c4fe5bcb11a9fcffc9c86f35997badef85c0dcf739a8917654eeac24f99a6667ed26412a35e3ef399c9c4530234f48b0564055cfce424db79bef81c9f4fbd09b285e7f3b1e7b5def89c0fd7ccf6c48b322700013eb1669ad3364d26f3b67ce6731ea6c9509386bee6f439bcf8c9491e4ee5e9737c3e9758b69af35997baaef85c0dcff3cc038b3227f9c14f99a6a63ae505682e9ff9cc2487678da7a15f2c202be0e22727ea69964fe6279f4f8c721ace675deb8dcff970cdd33cbce39a93fce013682eb731693241d65c3ef339fd34293569e86b4e9fc38b9f9ce4e1549e3ec7e7333fa7e17cd6555c82f85c0d6b5a9db74e80b77eb8af191a93fbfacaac50ac03ad3303ad098d8ce6a7d25af4e138efe59911b8bf4dfde0b77ffbb75bb25ba9b77d32f5dd250d57dba740778d760b784db84b25dcf0f210df0e707ea6397d9e1ae6b39d786439a8d7f55c0e1d4279c21d4b2473fc29c0ac9c1ae46c0b84c996c372487f1fabb776acfafdb01c9c26ef4807d6b44af006d5b933c389fb2110d2e9f3630c8052b156301b3ba7dea6b616e14d81d5ad362e3832cd2978307b594e0d6eb2930fdffebfa9e9cfa098b3099f7e8a89895f7dc6bdf83c35ebcaa7aed3e19c00754d76c961fc4c8a92b7e1f98f9f187885ff33d689333f0d5fed47afc243f9ac8e54cfd509d23f581eb6709a9101b532f3f06dceafd6a49fff078f8fe5393f27ff1ce640d79918e66cc2a7ed22c6afcecf693b27a72659ccc423036a65e6e14b0e355fa139058ffe5e54cff939f9e73017bacea0e5161f3e6d314a26671da99eab132cc4693bf1c8805a9979f89243cd57684ec1a3bf17d5737e4efe39cc85ae3368b9c5874f5b8c92c95947aae7ea040b71da4e3c32a056661ebee450f3159a53f0e8ef45f59c9f937f0e73a1abff37d52a4253dd6f4d6d623d923cb3dacd7a72f55b411a1fa4c27afd6ea51a09b47e0beb0adcd757c6d0e09ce3a079ae2175ddc7ca0858f9bce56365b6dfffdf54e7e2c9727f9bfae2bda50bd800b90fba8c5baf076017732f9ae05de7697a5719dffb4c4e18f68e11afd0b8050f13c0a786cf3e2bea0c895532ea30bd1cf29379b8644effe58967028b028b0e97833a0fc5129792a666b5e66c31b385c552a74fc31c731fab8d49e3fc361c2bdbd492ecfc56dbdc6e5e39a1d2565a5bac069ec417e59a807beeac342b63e60d7f8b271ea0b18a9a327032617c2b9b0cc3c84ab14e8c3935a7ed297b617fe4305781b3be353c7b874f20eeacf0953100e6f5d4c928cf91c9f064ee63758ef03932f7b17a72a6dde7d5ebb9fad2dcc7eae7355686cb43c7dac6fa21ec6668cf79fe36d5fea125ca7d7d651cee6bd1b7edfaca4cbeacaf3a5f5b5f6986c94cf83052d9d2cb55702fb723f0dac7c6b77d6f0473decdf93f6f6ae79211af6c0117aea9be2d4e3c527d02f7bb48a0aeb3aeabff37d562c55c7101b80bc80a7673ecf0998cc4dc6a08bac96652b3cf66c69f1acef3dcfd9743b2f402154e4d53dc6c8b5b6269f233fef4b93c4f4d7e749527903760e1ce582353eec02fcd39c9cf7dac0cc89b365626f6e658bf5375163ce3e5d05fee85699c14b51da99a60bf4d65db67cffd36d5f78129cfdfa6baeee895ade65f8d1fb50f17353d9cf993b61701f1f9ffa6f623d534f939f598350790271ffef9e65fe6ab2f0ee753d053331e78fd38717e60e039dbf318c3a73e7cf2a73e9fa7a640271f3ef9d78905a2acbe389ccf8b663cf0fa71e262c1a5b7b8a71fe42998619abad29cf83cde57f3f939f5af135fc6e1cc733e2f9af1c0ebc789657586c8735dc317c10c8ba59e93139fc7fb6a3e3fa7fe75e2327c32cff9bc68c603af1f27de6196dee29e7e909a13cc304d5d694e7c1eefabf9fc9cfad7892fe370e6399f17cd78e0f5e3c4b23a43e4b9aee18b6086c552cfc9f9ffa65a6f78faf88e8f9a877d51c83acd630b63dda2d6f4d8ea9d6a8f337c24cff056fc70cfe2fbfaaa755de37362e3838cbf8fd5e609d098bc996375ff6deae34c7cbababf4d7dd8ad29ee6e66a779a974a78bf7990760f0ec3d4e7ed85db539ada6a4777fe464e39d397df7cdf8617a0cbde894d5183c12c37fb1907288d1c5c372586e3957772cf16588999f3c93f15668bdb38dc774ec34620d6bf2937fb6cb019f86f9f2412ad3dcc7aab135266fd558d98b76d69e9c57d2b314688574d6f895f194913130101e98d5a9ac575dac8981c9c2754d5088ea91409954c7e7396fa7d5c90f333935277ece5bb64f7a58d0d30f657cb1ea5adc914fda9e3984abe724f34b57bdb79a32a9ce644751f4793bf9e1f59efecf2853ce5bccf8d3439a29f343793291b30a24587df6c2c50256e60473e29a31271f2e93ea5ce5596f65de4e7e78bdc417fc9cb76c9ff4f032e6c3bff346191f53d77a47a63995ba2ac57ad97af8774e2eb866bdb79a32a97ef0f2f22c14f4b42a62fc30fda939f1a3b317e734ab7ab37dd2c364a71fcaf862d5b5b8239fb43d730857cf49e697ae7a6f3565529dc98ea2e8f376f2c3eb3dfd9f51a69cb798f1a7873453e687f26422671548b0faec858b05accc0926acb63af73404b666b05aa82075ddd70c8dc35bb866b05669c5f8e49a41d77d2d6a3ddc34fe058e95737d2fb723707f9bfac1f7bffffd7d86e77a3340dd16cd39f7cd61bc4bb1e15b57f3321e9e203f26ee988dfbadac104ca61fce4f2965589d60e9cd79fa1c22170b209eff93275bfef95933ff894f93f83356feef63f5e68f55cffbce75bf3b85f7ca34dcc7d294f830d0d2c16bd5cedde56dead6284d89a28cd40cc7d3ac39709239b974e5e47475fe36d5db5456f9bf18e66d5d03e913cf161893e193b2db10731bc80f4cb93a8717ff33ac3771414ffd853f13203b9b67c45bfe56bc5889cfe699db129860ae80955bd92507cab90d602e399ffc3c9f86918b75d15ff83381629dae12df9ae4f3b4bdc5173fa7f3c413ac0b585950ccc70d978092e70c57e770116b9e0ef37fe69f9f5bfe394dfa453c65f019eb395cacf90944e66d8275012b85aef95c88f101e2723beb3c2ce2ad43cc629d7e6ef99cdc6a28cf88a72c3e410e9fc46757fee72430c1cc8195e58fb99863e62a7ce69fe1ea1c2e62cdd3212671e0d45ff83328d9d98417f196bf88fb6d2ad2a2e2ddef7eb7e711130f294d5ff3b159d5d50f53612b13bd8ab587da7a461781a219f0381b792e51e0ad7f861330b474399fdd095ae7e4b63afd7d7d751fabe68c7a73e9c49fd8bc32c3efbf4ded42bbadef6f531f7e1dd1b8b801f58ecb7588e97391e61c0da0d4a5177023c30378b8df79ce16937ebcaef499f0efd6990676178615986d7e0894d2e3270d869feead64785634e5ffe8e3a12a6702def82ce793df8e54170d7d4c9a6ec778fed5e54013b88fd53b6eacbc47751e9b5776aa4aa772f32ac623df3a43f14d2a35cd9847fab54a5782d7a847d4a2a1ae346390613cffeacac4a752d7a3bf87eac4135f789a721e3fabf1ba2e651abce8eb8d579f859f34c8539f7fe4ff9fbd7f7bb6efcbcb3acf043c9480829c0441cd14053c2b6a880578b6d4305a23aaacee88eee8325aaf9a8b269abf80888ee83baeaaa2a3fba623fade0b0f8104dd6d68140988725451f000b68aa049921410582a45f66beff7f7fbfc46ceb5f7e607e42ff3f7cb5ce3627c9ff18ce7f38ccf1c6bac39c75c73adfd3d1d6605a4af3ef91dafae7ac7e41fcf3f90267c8e159ff3891b7a511b1ab339b9f48e9f78e074be1d5def59f8a44172983e7fe498f907d2579f5df4eb0a8cc91fa9f00fa8f1e173acf873ac8d92b8a893dc9cccb3def1130f9ca3dc8ede40abf9a4296afafc9163e61f485f7d76d1af2b30862c8ce7afaee003e75898d99e78e2c0a9d99ca45fd4f88907a6c1dc8eaef72c7cd2204f7dfec8d3614300e9ab4f9e7e5d8131f92315fe01756ec039567cce279e389020bc399967bde3271e389d6f47d77b163e69901ca6cf1f3966fe81f4d56717fdba0263f2472afc036a7cf81c6bbccd066c4b0388da060370b572cbea82a5ab7d08acd0b747c26bba7e3dd20f95a8b02e9a6c31707ba7f85d070994d2db7510c3e7bebfbacf556be923b3ae5a84f7fac91978f5d1e9937d6f05b97356e0ac3bb561563a99d6846b062eb57714467d02dbee48a0aeb3aeabdfa6c29d9576e7e644d67d9a10a7adce7118cdf1e627a6331d8d05dda4a54f102370fa18b1f4455df4f92c07cdf0859f673cdbdc881babc0e57fe6d988e54f7c6a1a6b475ab66b063873d0d5109b93f9e43cbe7cc49e39e47c397624d9f469f83462f5047a31ea8fcfb9f2d6d854ecb6b367a4fd42b5dfa69a9f7e8fdaef577d505dd3d4edb7a95e1756e6f94bbff44bd90a695701fcbc70512fc7eacd566dac9a97ff377539a4590ef3bff09aca93e36eb87906a69fe704ba4ecd9a17ffe7f833f6057c1977f900c34b1ec3aa66e06ca64f73c6de6a3004d35cf0864b5686a726667cfad393f8c9d8e7f833f6057c1997db72182e194d85d5725b6cbc7a5de1c467c878e039bce14abb514efdc69d406f38cf352fb1cff167ec0bf8326e635df434f88aae9a81b349b0aef0731a7c6e8d7ec11b2ed9ad26667cfad393e193b1cff167ec0bf8322eb7e5305c329a0aabe5b6d878f5bac289cf90f1c07378c39576a39cfa8d3b81de709e6b5e629fe3cfd817f065dcc6bae869f0155d350367934057bf4d75d1e951aa8b388da62e5b32350cb8b4c1f609ee1e01b1fd36354156bb0ed237bad8fb9ec154dcf75756427b1bb3b17502bcadf6a2f7dfa6f6b67db2be3f4d7d759fe3b3b426c8f2edb334c069aecfe17459eb6990f1e9ad757a98de791656c3f462e3e97b4b6802f8cea1943cd3eb4a4f9c4f1a56ba2af11c904a9e403c8d58f57c9ca19603b7f2a4c11bb7f0f229f6d4e069881f877af86c72fecd83a6aefb5c99a277d05cf97cba57d96be715ac583f0ea11b5d1b85c8c093b5fdc1f80bde2e81c9931a3c8dae9529175b57cec3649834672c5ec1dcd6676e091eb5aff4eb9de7730eb7b129c73f397a9a8d4273c13bde73dc5383a711b832e562eb2a6a980cb3e38a475634814b7d8e5bd76bf98372bdf37ccee13636e5f8c093f546d17bc13bde73dc5383a711b832e562eb2a6a980cb3e38a475634814b7d8e5bd76bf97daeee73f5b082ac104be2beaef6de79f23da8d7eedc6e047055fa899ff809c08e42e9fff7d67461d204b6cf71b582e9b7b7e9124ca3d0e3f52229effbabfb5cb55fb51e94d64cebe4edb6ae1ed7efbd7a6206eeb7a9af26e5d33eedd39c2ead63a73918eb4ca7861f97f7c3ed1f8c74ee1b0644150b2f16568a45d2283b75e2f5766f90e7c67a8c7b181adf79b970f5721348a0f0c457e8f14ae3e62f249e861b1c3f4c2064b1e9894b237d4d58ef78436bea4a23195d6992c1c8e59340145e4dbcd87966a857a1d72c3702203d5e69ac023579dee7ea4dce95df3f982b0f51dd947ad66a569b769f67f764d5ef85ecaefad590da73d75bec53f0f14f621bb533f6d49c7c58af97f29ffcf44fcf737c99e06978beec238acfe99f3e7f7c6ecb6d7ce39e63cd679a4becdce2a77f2e87f8f2b9e0e573e19ff45c3ee5bc58fc99ff7dae5a33e71cdee7aa3573cec9f07d5d79f76d7ecef7e9c987ef7375cec92f78ae98587eae3b2e400adc6ff3ba0cc15de86d06ee7b86ed793657f7fd9505a3b4364ccbf693efdcb9ea88eef5ed0cdcbff4fbbd7ff92fffe54ffff44f3735b6ef3e6bf9d44ffd542bdec9d16730ddff68fadc054f13de9fabc1d374924dd39b44eca90f0b9f3f9c9e61f76018a021c28d75eb5f9ecb8d5891b0342ef914cbb671e5368d901defa3c1c3a1514ee3186b6e1ec8f8f03c6345dde7eaa335579ff2299fd26be77581bd169a5e62ebad3f44a1b63bf73aaa87c968da1fe07d9e2d7f9f76f71fd2ec4bbf39bbf9a151ece1d4c80b263835096890395c7ce2d5463c3dffe33ffda7fd3f34fe96d27ff1c55f2cea5633cfd3ffc97c84f37f4eff247f667be227fd91279f9eed853f3530c1a911951e798e384dbcfa3257e6ed127bab2936d989cf39c7d7759fabe6bfd768f83e5796c765edb560eeebeafe1eec6da2b624cef3d8ed9a796eaebefbbbbfdb2664f715800f4f5da7ec285a66b0fd865d8da67a9fa57aeeea1a87742d8b2f19d7419aae83781ad8e52f06201b0668da23e1d3cbe1bebf321bf7b96a3d6c5db596b64e3eecebca84dfff8452b37d5bdf6f53bff76bbee66b9cef6cdccd8ef3a31ab6683a6169761abde5add46e0e7529b0135c648c26207c86e3f38c4fa39e2c1fccfccb274d3ccd123b636165bd592db71dd762531a9ae68c8d5fad6b21c49ae9cf9c2f9a8d85bfcf9549f8b0cf95df9a6e61d828f4620106ea33e9f6d935619b002f844cfc696b246532a43ff6ebbcec7ed5ff9bda16814ca1518fd10c8f0fa4596f8194cf31f1c56678fbffa6cef392c0c93f87cf844fcdc987cb61432ca5933f31e5a999e1c9c335cf21e0d3075e6cf83966bd3ccf903509c2039aca9a01cc6d0e910fea1bfd3956f8f4b9d5632efe17cd0c4f1eae790e71f131ee62c3cf31ebe57986ac49101ed054d60c606e73887c50dfe8cfb1c2a7cfad1e73f1bf686678f270cd73888b8f71171b7e8e592fcf33644d82f080a6b26600739b43e483fa467f8e153e7d6ef5988bff4533c393876b9e435c7c8cbbd8f073cc7a799e216b1284073495350398db1c221fd437fa73acf0e973abc75cfc2f9a199e3c5cf31ce2e263dcc5869f63d6cbf30c599320ec49ac6b960f585dc51497a1fecf853e3573b5b2c7705562a2c0f8484d0e9a6adb121ae1ed4f74751dd4d50537cd9a64045d0779d2e85a784dfc4cf42a596d0bb4deacd2f3cc67bd02c3c2691e9d5e31f1ab75cd7c399ce3525e341b0b6fe81d8be6f239072dfcb90389df109319f73e57a645e9c502de8ab9baff36f5718e9faeee5ffa7d9817ebaf339df5a7c0de99802e9fcfa9e14e13f8162bde69425775e7054db1048a90c5d2840974f5b607448d2f367f75f9e40f034a2971039cd4caaab112a449b61c8c82c9b328b567a4c87878a733586f49d6ab662b3ca0abdc3415785d3b5e9a42006ef8fb5cbd4de6cae7d3dd9aaa2feb2ade65de366265eb2a46735d2963c26a5b8729db6de410d6957ef573e05639db4236ba66654ccad57a4fb735038bcae454864ffec9d873a089e753ef46d10cab7fc1739567c99c78e98d8cd9e8a5a71e9372f5e99058d7c0a2c6dceac75c40b1e740336988756d144c587d9fabe6f33e57f775d51ad8db671372cbaf2bf0367c0fda9dcbcdc5f1b267e8efd2ebbaefafeefbab6660f330f0b1b417b5d4efe5b91978e303fee7141f5e7e67d25d6ef9876d44c29a956d4d34e19a814b6dbd62d427f0c15b2450d759d7e52ffd7ef5577f751fd13957764eec5e6e5894c4906a3800a75f135349a3b77bd7dcba574cd03d2199f75b1a40573c904382f8d36dbd73cef6cc274d517a81f9ecb8300d510edce65c62054eaf175357636996c34583cc3c309f35319533cf139730cd7dae5e4fd5ab55d16bda5c799a6a7e9a2bef91e6ca62f61a792e4ad3177df1bda174790912607aa6eab5e3e0edd0977e7b9aaad79ea6a161a066fc7ad7153865e1533fb1ae531f3effdf545ffa6d4745a90c9f39d4757ac68c2feab64e302bcd34270f73bef0636e3d732b2ac3d3a1dea51a3865e18bff45300df066f0067d32b74caa2fe3d28f4930abdb712f0ed3cfe1741b5e5486ea535fb32e3c1056d79ccfa22e829a67eccb780718380782cfb2119fcc817256e173dc7ce650f3d6e7c22c2a43f51c5e1eaba12f6e23f3c93ccd9bc41b34309f35f389cff9b6de586778b96166b5239d7eccade719359353ffc2580d7deb79fa9c39bc495c4ae550c806aab9faccf3823716b0f000e63ceaf29ffee27339ba6433cc7c9a9aea8be7859ffee243a65c62cf9cc3fd3cd505487191eabb3fae5002953e0df7e169cd0c61d735a46b567fef979e72d74182ae8364ed5502c2e3018ca8933fafaaeba58917a2c0f244c269d60b20cb81069e6c39346275e43cd3f304ea6aacf813a79979603e6b622a679e272e619afb5cbd9eaa0f794d3ff273650ddfbff4bbd7e202ee4f531f9e973ab35897ea9e07c2debde1e6cbb903a900dee1615d6bc29e43e201270b1a0ee9f1c8ba3af36a126c2c26f1c84aa79bf8c5e64380ef99276c948d5bfecb01df7191e5afabe35adacba194f08042af3ef59a7ae9ef73652a7a1500e51d37576e53cbd9ada9fcb7aef09a2ef3f6106abddb5800e178b298487551b77c8cba72abbff0af856fecc5c7000d3a90db9ac072de51a4e948373aa572bad51ca98bc383e8f5d6f0d687e746d9b8e913ebddb8e758454d99f8ac1f463dc69dfec2bfa0a96b9e1bfde497f38e22fd729eff1935cf91180e9a31ab4f1f78a36cdc9419ea9d1e13a92e6acaf11b05183ef517fe054d5d7306c227bf9c77146996f3fccfa834ab0185034db2d5a70fbc51366e4ae180dee91f2d1fc89c13440e6f1460f8d45ff8173475cdb981161ebf9c7714e34fe74bd43c3704e63e579bb14dcb98cd18a0bca3e7cad6c266c3ca015c9b60c5916abad486b7cfb9efaf1ea7e7be17fd98da8b5aedf7f2dc0cdc9fa63efc36d599d1ddd73e8beab4581376ae7477d73da16667c953afab6681d3234f9c613eabe713d3ebd4a0b071d5670e09e2372e303ef1f2d9414d4c99fed460786ea0dc56177b7b2c0442d4f7b9faa8ccd5f9dbd43d59f51cd5ebe5f3662f8aed4bfce34ee6833d4795aae7a818af9dc7ad96811fa67a71bd0bc4ee4f28b5cbecb86ef165575493e7a92f6ab10bd95c9dfa7e9b4ab3ff4095ac9064f99cf504c0a9c93fe505cff0491f260966082c247ce63c596e9aca2dbe789e86d317b5d8853c5a3e54e7b83bd87acfe630f09ce7a9c961e36a0e97c3733ef16702c5aa9ff47f8e4f5cecade772203835293750bdab2f9e05d67b860c031df5e5d8859c9a1ca6c97682c44ffae45f78fa620b09bf19fed4dc7a1a7a86f37c321fbd2b174f7c3e405da7ede9167e527feb99ec6278bacd87a61197c0d975fabccc5f72b878d6bcd5347afc420c54b9e891d39c21c300c1ea27f589ebbac5cbf3499f9c6f73c364555482593d37d6f894a7c9f0a969f40da4eb2cf198e5706bdb6f535da7fcdd2317a34ffee44f16a5d955693f4271613a7fb3ea52e539aa6b1cb23dc9b97f83b75b6bdfd2e6046ed724a5f639404ccda23a84f88503e3139f7ba7ba26d64c7f6a303c375021ab8bbdefafcc8f17ebe373aeeebf4ddddbe116dc9fa63e9c539c503c2704bc4f14e70b05305f40b34643b07751021a64b2027b3e19d9b3c753007736acdeb81c62121bc5d9b671335717db19b97161699c3c5cc2a527aacf20e9f9d7051b576cc7a2de73d7c665a2141b16bbe35ace7c149e0ab03c81fb5c990453f7369c2b3b00b955bc70803c5b1b6d0b6c1414bc7a3b8c98a2c23d334973f28b12bb673ef9e85288cfd898d503a767784c6e6a0c7d65bd914fd6d3cf41ec4860790e0367a14f837c35f06b87935f48fee7f1d6b57197c92f6caecae1f4dcd080def9d7bcd52f9304aba79fc39481f8130b398bae3448b8123ef98510c0f7b97a3d551fcdf7e05eac5eafbd4601bd5b15096ef598c59e78fa39ac37107fe2065dadeb5c3f9a4ab6277feae1fbba6aa2de6e73d55778bc40ed497cefd7cec4a7a5f8c7fdc57d7f75df5f7d5cec4577beba83db19f8a4affddaafbd653f2a4c27d073e893e924ab37f066ea5d99066ea3def7bef77de5577ea5bd7b7fdfdc7d1a8d4fe99c2545a9ede06ddfbb1f8301bdd2408aa2717ac5b8403a9dc03ee7ebcc4bac38edea624bd39f5ad5cc810ca0c95f2f805468f868ba85502b98f29127a52435cb797ca4dc7832c12b34f294801a2fff8e71bfebe086172bffc6159b72c772f2f7b97afbcc95d7eeb975e54a6fd978b9bd76c0c3aa7abdae2c803ea400f4e25b1b568bc5f3799ff7796c81ca89895fd3efbaf0e6a45e3c4ca61973fa60f49eb161fccffce88ffeb2cffe6ce29f79fffb7fc9677dd6190b2bb3dd58c8e573e2f93f843d9664177c92bab205e6c9e7053ed9c6d23cf1c5679e334cbf83bad5a73c3dc3294f7cc6c2ca6cef73b5d7c5b4c0d5bd1c0f33759fabd7ebd654dce7aa8571ce8377d0fd3db8b5b1134b4cd3b573d1cf77ae7ee4477ec4b5c966838fab8ffd06079b28e6785725a40b5cd738fb13c013d72e64a2144313bb90a5d1858119c2004dd741fce53aa879df5fdde7ea6db26fb7f2edd92c66e5877ee887026a2bb91af8822ff80232097febb77eebe77ccee7b4f8d54f1651e38703ea5f405926622f784de0ad286fec47df0af7778467cf124b1576caeb3918c619536dafdfb3c46908c27b2659532ce0cc88a7a988b5b0982878383e0d3d9e0659ac9a468d998f26ac2656d31b25ac29cfc2617c4c7abcdef43067c7482016c667d288781a0e9b078ca237d97dae9a8dc75979a7ce9585b1e2406075afaf6d817390536107a81eeedc34265e3d7d77b9e3179855cae7fc8bdda0f31c235c59937e4de0d49767cc43cceb22f6357cf5ece5c926590e8d350d90c3599fe38e07e670899afec33557b7f3591a8d0b2bf7b9da3c6cfe63d4bdbe6bdee7ea3e57cd808561b5dcbebf7a67e1cf35735f57bfb0b96a1a5d7afa7bbf4da9ff13b54b92a63bd5f66375ddf757e6ca9e6d6bcf7e6c1b3f93769fab76ecefc47dfb5ed33bb89d810fd992de767fd899ed9f0267dd390bb38239714df56df1ee45aa4fe0e3b448a0aeb3aecb5ffaf5db54d89d583778348eba6658f37cffeffe30cd4e13f1f3e97e6f3593fc01b69d70cf58d8bb6b3cf173b1cbadacb22d55cc9933bc7ce2d79446a551f4164b80ef584a467399c4cfe4f40c139755e6e9e142f89cfc7c4eff341d14718901672c7c9f2b53e477a766a6b9f24e69ae00f3a3d6e5f3b97ebfea7335cc7ebfea33d434408b5fd3f58fe60ffec13fd8ae4bcd219f731f367c0a286b02158129a7c78fb9d59cbf4df5977e13dcc6be495e20e56d0ef1eb0a5c3cdf4cac90725b3dab98e73cc707aa6ff3c49fce9ab71a82f84c9e1c773e2f68e6b3118d5560510d0dc7d7756a12acbec44e3fff593d99f3f221536a86d51be53676ca5bcdad274d9eb73e2ff0f3296ab1f14b2f70f17933b1424ee7858c7fce737ca0fa761ef0f37f4e730e3a7de262df249ecf466ccee399945ee0e2f96662859cce0b19ff9ce7f840f57daecc43f31950f77aad09543e5c73f52ddff22daee3ae5f4a172f09c02e49806d1becee0b56e223355db03c7d55a79118a0d675df33980a9370df5fbd83f6a2f7dfa6be3ab93cf5cffd69eaabe78ace86ded88a95dde755ce80660cf66ec7f709cde610dfb96067495d947c04a63f9f3de28bd59b3f4db19c91eaf170b1e5b0dc340d919e5b516a051f53fe9a23f1c6c2e48fd73c3f8783a73196ac68f8e029e1f2393578e53e57efb8b9f259b52f3bb51ad57d58d352c16b7a95db9da803312eff35479ecab02e0e135cdc7250a74976d1445ec68a9cadb12a98799ebd70852cffe9070860f50b63dde636db62cf3ac3273d91f1674ddf3c3c76beca3313f58e2b4dfc93f9bc907fced5a7676ee33563f21f3f50affa85b19eccad403e73089ffcc573839e51f4cd43bd97b1ee73759fab66e0beae2e2bc1849c7372e9d58cf968bd07bd91edceed4cec25ec31caa7daff8ee6da8a6f8f1449e99ad506667ba4babaa2c17ab78f2ab6fd927afc628985887dd8cd3c6e750c913eab70d7c798fbfeea3e576fc5bab2baeee5b919b83f4d7de3ff4df5f6730eda4c750ab322034e58f59e3c921e2f16708ea387039889e1fcabf18b858bca471d73a93990e55956359f63f0e55c3ee1c65d7a34e51388a73963e11dd7899b0d8c5248596936d685dff11a51d73c97cc4cf49655753923373397decd06e5726872c6d42ca5e93563d4efc4b9f2b054e6cd868f999b1f779b488f4f1d3b41bc1a73799ada33d5c2bd0a7d2af1e55ffee5762d1c145b9cdd038c096c67a379c153e6d33ee9a2d9e669fcf9ffa6fe8a2ff992993ce9ff263d2f09b03a8fe8924399bc5c97ccc547f339a6ae1da3e6052728ab4c6e35973c0b599e359f8b7d8ebff564788ac31be5a23ff9e73087794e83543adeea3181944fe229678b79417f9b730eeaba2eb1cff1179f063dc5e1dc2e9e1de3cf599f9ef3412a67ec98c0ed58e3a7a4813b8417f409282fa33f17fb1c7ff1c9f0148737ca457ff2cfe1d3731aa4c2ed96a92bfe491c596c26ea17f4b739e7f05cec73fcc5a7414f71784774d19ffc73f8f49c06a974bcd56302299fc453d2c0a5f482fe36e71c8afde66ffe66bf35855d7c01352b5ff455bb46bb7b8cd9e7a7ae62fd4d0d8080cc354e3852dd85ccad6fd741b1c8fb9ee1bebfb206ac84964a7bbfad0d6b46d7db612f7a7f9aea8578aedc9fa63eac51abb645dc73459365f976966ce2e0ce775bebad6f9fcf091f6ef563e833c1c0a268f0fcd3e38b2583c76b12efbd543e31f3d18b4fc3360d900f40dfb872d6e4b9fc4519576f32b1bd8735f17acb87bee40b09d800004000494441543cd5d3c38a58fe648d0b88a5c7c3cac64ac6b31c3adee1f40ce945e131b02818cf5f1d5f2c19cd784de2e6217ecc7cf4d2a76155ce79c20087c6fdf8992b577dcf54cd9559721fbbb982b77701ce6756304611a5debe64f86490f498c469e09a4fd68f9daf363de16462cf66a3449e23265e5d48b2d540f83cae98f4177efee337ba28b8637c30fde8cd55b975e0d2e8406a2e5bcd1d4b9ab32ee464e08aae1d7b9e896ff9f94fbfd159c1f7b9320fcde17dae6ed7cf7d5db536cefae3e13dd89bc251bbd0bbfeba12299aae442ecd8067aaed01e0f6218993751d87ef7b86e6e73e579684f56047674214d8bab23c14cdb7f35ef431df7bf5f40cdc9fa6befa7f534d8fc5dd9a6e35efbe45573c8113815ecc65ddc723a7f18641ceb3e99f73cd4ce0f8e9c5367af5f8c69d2780596e80e6396e3ec878f534c3c0792c8d58adabe33a7d122f871d110dbd22f69c07cce9af99e7a939734e4c366758b9f09b93725b3dbe90e5f9313957fd36d5919aab9e9ac2aefde6aa1d404f53cd895b534f53d3a8c3f14200ff75aa3914f8155ff1151865fb6940735b8af8c8f1a7e6b64beca29ef3e9b7a90c3d56f5dbd4e7f404ca65b88be7342ff09724f3bce89fcc813259bd97b1cec4e67919ebd4dc763147ae3efd2fe2d3ff49fd628117729ecff489c73f37eea97f32678217c6cdf6e5b14ecd258d73c4f0259f9ab7fe985bfd625fce59ef0bb1393f39eefc37fac5e7e5718927008a8d1c7f6a6ebb9e1bf7859c370a8d51949861a0ae0bff9cfec25f92bcf5a77f328797c7cdf6e5b14ecd258d73c4f08eb77c6adefa2fdb533f0c1472eb39cdc5f3e42f49eabaf589b9f02f8f9bed65dcc833f082cfe68efa326e3ce5c4409ad5dff44ddfe4ca5571f501f698d433557a4c9f70c5bbebf00d2057ab3d53edfa8e7f18e6b5be4d8ee67dcf60aecca1b905b6177a9caafbfeea8de7a8d689c9f9e8ced5fd696acbf2c9fafe34f5e15ce69dec4c6799765eeb791d8cd9733c9a7d9ed7545ad9e9f1985bdcd9d33982323c7f408957771e99deb8cbc13977b909397dca2d1f98092c364d49eef961c7822453d31387e7d9b8bb47a52937cc9e3ddee7aad7fa1d3a579ea3bae47bc52febcae1b460d4ed5a5603c3d3ecb9d9cfa92f76cfd34ebdfd0afed1fed5b3a617fc759d3ba129cfdcde3cbe1df73676c7b8714bf5563926c18eb124e733fe397d3cfd396251e75c5d7a6ffd854c530ed51b37cf3759f3bf1cd7adcf72d8b885dc2ac724580e65389ff1cfe9e3e9cf118bc22ce74befadbf9069caa17ae3e6f926eb8dfb827e396cdca6e2851113cc1350e6035f622ffa7ae9cf118bc22ce74befadbf9069e095cbe8f837c36cdc17f4cb61e376682ff827986749ce67fc1c2efa78fa73c4a230cbf9d27beb2f649a72a8deb879bec97ae3bea05f0e1bb7437b61c404f30494f9c097d88bbe5efa73c4a230cbf9d27bfaf7db5421f7fd55fbb7fbfeca62681f6bcff9f1b31775d4f7f2dc0cdc9fa67eef577dd557398d3a3b9823670a6f0cc0fb045313c6b861db7bc69e5eefc92fe4348195ac80ee09013ec5c28d92a1a6323d5c48293d763e54c86e2acaa1c4e2cb70fecb79fa621762ace1ba960fc3f03c31a58ddf70915326d8b87aef73f5d6cd9587a599abed187adddb3af4bd299f49a7417af43aec4e15e399aadaa6c16ba4f8869597cfd3d4ed2a809c63c6235fc085a43971892d769e69fa6d2aecb16abf4da59fe6124ba65c72c014728207dd87f23197d8fc91f5cea758f5ba2608cc274181ab2f9a7c1a2bacaeb9f05bcddc2e9a62470253ea52629ec4c8c4274879f24fc612e01bf7127ee99ae1c5e71793f386de58817878f3809926fc8b19f78ce5566938f89243bd6502179becc4675721b73ee7b80d77abc9e7e41b6bfe752d9fe96336c4a91f39cde9ff1c6edc33165311323e26e70b4e839c3eac5e5721b739cc3fe7eac42fe08b7fb6b7fa79deea75454e739b1bc1c573212780cfe6cb3e8d7beac3ea75c1caad4f027c5955277e01cf6ae1985b7dcc4553ec48c0d3d44ff9944fc1db30f4dbd4f2b415b1a3e8d3738f4f7d1588d8b5c94354402fa671d5f1003e72fb1fcd7626ae6e6d5ad20f17428f5f41d26b92313f3748db0be109b6cf99bed8855cc24be3f487e7c930dbd2ab2b1253f332aede3c4f7e21c04c60856ce631f7b93ae7e45c0927ff1198abfbd3d426f9c9fafe34f5e1fbeba6c6fb59e9992480e97966b8a74f9d0b6876fec27786d2053f583c9e777af6986dfe04de0362f74ec03b9dd1708009c46ae60328f47a1f5ddff85d25877972202831fa3e7f02f0d39cfa07d3c711d5e53c7f6389ca4a6cc7986c759ee5431fd07b9fabe6edacdf6e73e596b505e6f57247ea4ed50daae2b5c3e8dacadc9e6680aced0565a41a338c5f418e3f3181e6256aca7ad70c1837fe36f6e2b370818a5eb1c0f8d341af664c20fc18fa2121d3d4b57c9e1c3dab8fe45c955587b9dccaf9ccf0c425b94040ef7dae9ac36663f83e5766e0beaecef570c19a2bf7b9ba9c67cc8c3959bd898a695d7549b209d92ec5b5c9c7a9ae9e7623ae59ba98b45769bf4179df5fb5d3b007bbef45ad8a8f81bda8457e2fcfcdc0fd69ea1bbf4ded7326ef7fe747f3e56cb873a8ae13d37476a8265e6c0043df19765d6cf354e7707a16d2b8ea954b3e3cf3c1a7c99f15db98ccc3e3cba7d85bd9c4cb3993d5043b9013dfe7cab46c96c2e7fc9cf8c33e57aef786ee3575dbd9baea39aa2e2f250c78e9d53d3b950fac08f4993480817d9847069cbf4d4d6cf3013c8773d0fba4ec31eed54e250d7dbb99ed690afc05fcbfa94ffae47f3b2ea654cfa8e5506ea72687eaf3189fc3c5762ccfe13376ce0b19137832cfc43b90063af5cfe1d38d663e818bcf9a675478fea726b2fa3cc6e770b1e7d0b7f88c9df3646302e576d6f8c4f7b9bacf9519b00ccef5b0e57176355131e1734585f1a7cf89eb3ad7ed059f6ea74f269853bfe61915d6a51455c81cea3a7d9ec394ba16f8243e63e7bc9031017c26abf189f339715dfd36d565eb57feca5fe9f204b88ab986ba3b55f759b95a607fcb170e605cad88f9506aee3ae8eeb7eb209e86c07510066aea85570ad4c413dcf757f7b9da1ed8aad8bab236ded275757f9abab7e42db83f4d7db5104d8d85a878975aa6ad4864cf18f1481863e1aa7d9ee7f600a677f62c1c8347d273e83c0beb5538846944e5933facc03400198d1058ddb8409ee566acfcf1f4690021f840bc7ab18042a3ec7c64ac34f572d6d45b0eeb0244e92583159afb5c350fef94b9dadff8f5229eebaad7b105d03e030694819a67adcb1621cd6498f09ed1695628f59ecf67f0194e00e430e7fc6febf95c948ddb58abf36f3835cd258ab292069effa280a2ce58782103afcddef877b18052c762cbb9ae6a02bd670e8b9a208de6994fb24b3d9f8bb271f3599dff1c682e51949534f0fc17051475c6c20b19786df6c6bf8b05943a165bce755513e83d7358d4046934cf7c925deaf95c948d9bcfeafce7407389a2aca481e7bf28a0a833165ec8c06bb337fe5d2ca0d4b1d872aeab9a40ef99c3a22648a379e693ec52cfe7a26cdc7c56e73f079a4b1465250d3cff4501459db1f042065e9bbdf1ef6201a58ec596735dd5047acf1c1635411acd339f64977a3e1765e3e6b33aff39d05ca2282b69e0f92f0a28ea8c851732f0daec8d7f170b28752cb69cebaa26d07be6b0a809d2682e1fbbf3f61b2e405d8fda4db94ee1dba5c4b8ce625c6791f07d7f651a4d85da9cdce7ea9dbe17ed3d72af9f9c8137b6984f767fd849e7a93c0367bd131cb2d2a970b8a6fab6386d21d527e86b8d18e0b1e743aaf4dffbbd0fff6f6a3f75e83def0dbffb4040b67824a0c9c2f9b41bbcf461bdbaa609a8cf58cd4b11d258f8796e2cb1333f71391412bfde0c1b0539cdfc8b3d8fb1c3895f0e3968e2c3b773823f7dee73f5919f2b6f8da6dd6b01f74a0132f1e1b40500f77b543f4cedd969afa31ffce85268bc88d68072f96d6a3b89ed4b021b68fb8c091a7dbce6f09bd19cff6feafed26f261bf439cffc277b615c9a4b31092fe8eb2de482238b5d8dbc95bdec7ffac0c4995cf8ba98bfa0792ef6e4c31b42f339cf1238eb0eed397dbde92f38b2b156236f652fe4d3b8a23e2c1a262570e696f9f83467b31c6e633339eb0eed397dbde92f38b2635c8dbc95d5abeb369fc6ad2bfc8bd13c177bf2e1f27c795cbd97d2a1bd90e7697ee27c3073a8b766bdb31dc08781624f9fc85fb06609bce09966432c87dbd84cceba437be1584ef3139ff934e286bbc8eaa59fe08cbde05f8ce6bdef7d6fbf4ded87a9ae448eab07aa6cbb3bedf7a89a2e6a6a57b1800b9966d72f60d741b80cd5945defe0ed6d8ca2197fdf5fdde7ca22693d0c68b6aee23745036fc5bab2da7fd5affa55b66d16f0dffb7b7f4f5d3128a0f6d6f8b22ffb32b72d3ed9f9baaffbbadff6db7e9b35dc771080b3788f68ea0a8413a457df16a344be1af8b1395c0e04cb27a67a24f05694fbd3d487674a969d75e99c65add8af878116aef31acd9a5e0602359e3e0d8640c107300acf9a456180e1f48dfb287fb867e833454d789f1d16f218fa501957d486ae5793a15a114ec301a69cc062851b1730563e981d0b7eb169b22db7cccb196f203801719a353104f1f3c71028f80046c9273e864009c7376e4c632580ef73f5f25cb90b4de0e4e5b36a2f87535e8c7ac579a73dd0ea13c06b76868ad9d92a1fe4e95388aec53e87e793c3640317abf88bedfbdef7be1ffcc11ff409d43ffb67ffec877ee8875a3994a7f882cb96cfc58acc2c5df807a3d7b70d17bda6e1bcad2cd133aae38ad9313ee99361fecfd5f349ac9eff3c177b010b49b97a9e17a666bde10fe35c31cc79fec08e65f84ca9d117581765cc6d9df31935ffdbd885074edbc40bb9e4d628676fb871d77b1afe7cd715c37c4eb71d0b32dcb8891b7d81759d395c70ce67d4fc6f63b31d7f5a459e5d676e8d72f6861b77bda7e17dae4cd16606fed898ab5e77d76e3b6fa7cdae4748d726357e7f4fc1e99440c107da03dcf70ce6a1b9baefaf4cc53b772fea45bc97e766e07e9bfaae4ffbb44f333bce895679d85adf8a07dcdae1099a44bd01a74bbcda9d9bde7858ef34bb4b1ccf70985253ddb84063a91b6e7c9ec5a661d259db58c48a26ac3771b19ae5400073586e1bb790f4673e78059f79c72b4a932c3db73cf502d393291bab58b56484c79ff3405c9e8162199e1a4d7ce3028da56678f2676c1a26868e275634e5a037324fcd7220803b2e82ca349ae1331f7a059f79c74ba94996fea33b573eab93a17c64057750eab272e07a35db1d02e7ce12aea9de276a942387b39d46339cedf8f99c7af81c7d9e8162d337ee195be0bffa57ffea1bbff11bffcedff93bdff11ddff14ffec93ff9eeeffeee6ff9966ff9faafff7ab7ac0e308d5840715db73df2e13dcc6afee5b621c6d32c364d81f125a396c3377cc337fc837ff00fd22c2ac31cc2856c4e34c3673e94ca99c330d96261320e81691abd812efed3e36d07fbab5aa74fb11825ac0ecfbfdcb2d23bfe8c4d53e07c8070b1696228470e3fca5ff9d7db58673e78e5cc61982c4c30cfc0348dde40eaf8fc45614e5cf3c2139c9af0fccbad90f9030af231f4e1c0e90b8c7fec7fa52936cda2468a0a17d2b831e7b18c9fcfa987f94c33cf407cfadbb16874c59f38cf0b4f706ac2f32fb70d313effc7d0fb5cbddabcbda3e7ca49d875c76f53bb30797dfbfa0fe01aea3aa576ead67bdf33d8486c8f617e94e60468bf719fabf66ce6e11d37578fafe7bd7a7a06eeb7a90ff36259ef19a6a625ae7672543b8d6ac6a4898f19eff4d1c9f4f411cb9989b309befb01275ca49a1e937f9e0d9d278d02538a55c3f900f47ac50a51e0fcf3d19ca1678c6bc2e5a086cb813267759e7a918e68cf276163e1371640bfbae13a96f8e621fe54e2ef7365de3e8a73e5c6cce89ea99eebca0d1b52624a5bc661dba031037df25d134ea31eafeb833ff3effece7bffdfffaf6ffa4e0b45ebd43cf41eccc60a2c079af0a3fc15beed8df9811ff801df9671509ff5599fe52b315ffaa55ffa5b7feb6ffdeccffe6cc7eb96f5dbbffddb3722bdf25ddff55d7ff36ffe4d8f5b336f2cfcc67a54bd9a8d7ad51dc534f153ea0de713de9c683e3b57af9d0b7c9373b5ac365c893dc99f9afcc77ce7777ea75beb7ff36ffe0d46d9e8b74777fa53d67c0c7aa82ee3e6334dbd89e1e5b040e0ed3f57e7314af83e577bf9ced7f49ca5f07dae2e73b2f57fe14dd4c7cf5cf980ccf6a01dc2b967e86234febe67b0243e8a7b063b43afc57d2fda9ed94eb8d7a2fdad97e661053fee874dd42f78ae1edef6f7f2d40c3cfcf753f762063cef6a9d5988ce89b0d506776f466045f64c0c2650d310909db1e14cbadf6b298fa7c7179ba71ac9303dac374dccfcf1e1f461e1e5a99749fec0c69d3f7d6275b803e97885e4536063c17ad313541a17ee30290d5a6c82537f9fab5e97b762aeec6f7a2d98f7d7118de5feb3f95723bd2256915bb53604ad2b9f58637c565d6e6a9f67fb54a297cfb30bce8a6618d0b4af0a9cfc8969d23f287ffc9ffc3ffef63ff831ddeffa9f7fea5dbfe757bc7e46746ac20f92c7b2b1b4b68783f1092e7a24a62e87e0b6137677fa855ff885f125fcaffff5bffebb7ff7efaa3feff33eefd7fffa5f9fbeaef093e3722887ea69ca61e3c6d79c86ada802e1931f9e0f59695c3c91a7269cf2e2b981e2d35cf4c85bff5b9fc9962766fecb0779e1d3542ff6a28f2f8d53238adb85c79c9a70ca899fd334aedeca7c34cb707ce0a247960c70c60e33c9e736e7f81ca6d73cf970f534e57019f7e2af296ae92df6cc733e29277e4e935e6fe5f42cc3f1818b1e8999e61633c9a7ae27fdf35c6cfa9cc3d58bbde8e32ffe9aa296de6231c3f34939f1739af47a2bf3d12cc3f1818b1e8999e61633c9a7ae27fdf35c6cfa9cc3d58bbde8e32ffe9aa296de6231c3f34939f1739af47a2bf3d12cc378d71d9724d72f4dd7235d8a4b98da9d00de756afb0d7f5261d73bfb0a3f5b758d5388c7b7ff713910ab0baf6ebfd46e0ad6db753066fef870fab07056e925993f80579ffee173dc363f6acec4f914d858b05eb558824ae3c2f4c51ab4d804a7be21b811909db1e14c3ad2861edfb1149ba71a6994f4b0de8e3d66fee5af4e1f2fbc3cf14cf20736eefce913abc31d48c72b249f021b0bd69b9ea0b27c3accf22936c1a97f3bcfd5eb03bafffbc40cdc9fa63efc9d34efc0e6c699d15bcbcac6c091967eab5f8d796c3d3ccfa421f69698be7711becf052931706f8f787abc3acdc605f830ececbca11bb126071ab8dcca4748fef1d3f0ef58f4e699be71f9e07b5e8a17d510e540139346179eec3e57efdcb9729b6ad5f52ab77eaa315b33f5b689815dfec7c0f1ab6f1962bdf89ffdc077ffdf5edda3a2fee37f78bd3fab37e73d3743861beb76c46c37ee9a73c3f83daaa63fc5d13dea99dbaffb75bfeeddef7e37cdbffb77ffeee43167b9f8afebe49117877ae30b39f5c34f46e9c53b76207c71d09bf365aee27589aa9e7fcdf16b5efcd39f35a532661838dd1e441fcad47bcb6396d5c5013ffdade6966944fcdb67ae9acfea178eb4cc2fb5e62df3e45193e11fe5afde59e74c2e878b5bfc7daeee73d5fab9cc43cbe9edb3ae5c5295763e72735552ec375c9590f7fd95793021bd6a9b2b0053f33e57e6a7bdee3b77ae7a7deff59333707f9afaeaf330f7634e8856796f7e759ff10078bdce08803a8d5383aee9bd49a62f3625d985c76438be58519d6e78024f0e8497c9f4422a78249ce730864f7a1a4de134c8e134eac65d6c1aa9a6ef48d3dce7ea6d32573e69f6c2295e23f8c975658fe2a597704f50bdac00b258d87616e935cd6adb17cdf637c03e0bc7c07585d388525ee97ffc7bfe87bff3fd0f7fafa9f2b39ff8c9afe17c10e1a2f27cad7a757b73faeb9a3f1ec66c68b8ff68a743cbe7f4ff822ff8827fffefffbd3f779ca76fb7bab0f5790ddefcf89cdeddacc00f7ce0033ff6633f663e3ff3333ff31cc814fddb7ffb6ff97ffee77ffe722670eb4bdf7f9ff0b99ffbb9bff6d7feda722b3dbdbe4ded2981ef21efd809941ffff11f7ffffbdfef818090c46a7c07552634beb4ec818377a53ce97fd7effa5d3b2ee32a345ebb5ffdab7f35657f36733eba081c8bd1b3e5afd73cec587ce7d954f4e7b5dcea3715a68b4c692c263ffaa33fea232afe9ff3399ff3199ff119ad96e6a71c8cee3059c993f8f7fc9edf23bcf9f9911ff911235a9c0ed6d36c87b363dc9c60e042c2691e66ea989369282ffcc5b3defce18ee5d6fff4e19072433fa99f2759984c1966a29cf9e8cd3c3e1ca9464e90a7e6cae9139e0608abe91f467d6adcbad2c0cb73b8a81d57bcfac1fd438f71fe78388d7af8a29fe7937c81f3d4a4cf1319ffdc40f5a61752210e342edcb881338747fb275e23ca9c2f3e9ab7c74219af667efa63e6834f09c43fa9bff52753762c4c944ce2d599c73f3750bd7c1eec5e97d327ac4e0384d5e40fa33e356e5d69e0e5395c543c1caf7e707f3d96a63343d753c0090426ee83b930b267aace4ef9b427e9692a8ce7a3c0029fbc0eea2563a800cee740a47ad899adfd1272857efba21313f0498fd7145e6ec369d48d3b1f8148a9a62f81344c9a93c5ee183b34b1c0938770c987c3fc65389f784c86e377ecba24533e4f0e44709f2bf366263f2c73659fc0ea5e9e9c81fb6deac322f32593f3ade8b468b23aa1543777f6b5bde735693ef5533f55aff739dc7af5beb5990bd3c0f6b5c078a39cb1709e8034b85196091c93bfbab1f4c2ba161b2e9f627b168ae736be713befa8e5c687808c062630045cce9a3148fa8dbb0cf5169b6c35a0dce7aaf9ef1531216ff55cb9f0f75af7455fe35a8748e37a05bda618351cd3da68e54b4f2f6c37f0b08338f6a670bb8db60edb737cf083ffe1dffec88fbdeb933ff7f33fed933e44f3efbffbbfffe6e31ef55d3ff3be4ffac2cf7cbd9d7a5819afcba2107075bb104da571cfdef0f64334984a6f3a3799eee5dc47e5a3cbae057603f967ffec9f0d8bfafeefff7e375705feff1e8b7b27b7a9badc58fec37ff80f3d92edd66e43fce44ffea41f707efaa77fbadbd44833f66ddff66deeca5e65f0ae77f971ac2863c518d7edabbfa524b73ff927ff6451ea8eebfbbeeffb7c0ff977fc8edfe13615a9cc07a6712749f3fb7edfeff392f9a350eddbdca6ea8525f32fffe5bf5c082084db177dd117c1b9b93ffc47ffe81f39966eb927deb1b81d3da782a1d25418c23c5b0fdff33ddfe3b816fb8ffff13f76defb237fe48f382744bad16572c9f377ffeedf2ded6ffaa66fda3c2716fe5b7ecb6ff1cbe18eb1bab14ea6fc4fa6c36feaeacd30cdd20316756281352fbd91d54fae2b7a3c010739e4a319ce6df9cf0d50e201b247e28ddc4ea6aec9ea529ff974e0e5103f66fa31c6e5567303e58fdc70636e1deac26752f3accfdcf015fafb5c998acd67f83e575b994dc8b9ae5cb3906d3fda3360e85dc5da5ff90011e3c44be69ae58c7abbbf72e56adfe59c2cb6eba0f38f90fbfeca2428f7bda8b5611eb6362c39b8b5645db57e1ea7eaa333570d7daf9f9c81fb6deac3bd99d35cbb2e4b19b076dbca9bb2eed0682cebb05aafba09d5b5f326e68c0d775f0733ef749c03ac2b9f869b736970eb549bcf62f159e1d3e84a93c3c6627b891558487c034d2f5c41c637504c356639a7c9a73cd3dce7ea2336571e52edb573ed37ae57bc75d5670d5b57ee37f4d2ab297bbd3cfe4aafb99cbdc4ed3581f07615db6ffde7f77dcffff3bddff7789ff7cbffebffd59fffe25ff2ea6f937ef07ddff93f7cf33f7be339eabb7ee6dfbfff97fe9fffe2efb57550f864c536b0fa71a8878df540fa3529c3e5506f79d6f56b7ecdafe910dcd1bdfbddef76efe7b99fb57ad127fe922ff9129728775f6e6bdff39ef7b8aded3f926d0875fee55348639df918c8fd9e078cdc38783bb8c5fda7fff49ff29c834cdc28ba04ee2a583e5e0e77a1fc7fc36ff80dfc01a581866b7ac9fc9962510ed0eb55026eff3cf9f442bbdfeb6f447133b45b62dbbbdffedb7ffbf22c1375f9e7791e8b9b4699df4e4579fa4def0ffff00fdb239219dd4357ffc78fc374ec7ff48ffed1d69284f9dfe6e9cf2cbb47152b1fb7bed69824fd2d2ba59bf90e5cdd584c4e5cce253c1ed8fc100cc7e780aca9c6286578898d9fa61c8a6d7eea0a3fdafc1ccf8b2e9a7243e67366b57cf4eed8e10b9fe134394ccf76781a603c20a428fc707cca7aa749b6ae0b2f5097d2b8f5c298bac28f920f39ae8bfee243cf4a990f5c92d5e3f3c9ffd4df8e9bc3f47c86850f8f6fa0a20880f099404cf5258707f5ebf76fe102d33456bd30b2aef0a939f1f4171f9a87913e86e6aaeb949383df6b284ecbce2a3e67517798ba5ce39a1c75fb0de7cfe1cbfe4a94d85d0761ca5d0701ccb637cce773df5fdde7ea5c0f9775659dbca5ebeafe34d50c3f573ee47b20cf893eb6796746272fc7e8e4551dc0d774fe82ade064769cad60329fd57576d385c728a28a0544c554d3178b870914b1c37af9cc53ef1c68e0c78857fee5831195522c80e790a7711b4b8df74e935be72351e5193f7dc78b8c2ff3303d60881d54201fb8d8c622bbcfd5db67aefa626acb43ed4adfab76ae2bbcb2bd511b054ccf67e27d5ff8fffb6ddda3eaf98fdffa2f7f024ff9c1f77dd77fffdef31ef57f79df073ef1fff8bfff5f7fc1273decd85ec7faf7a13ce81f777227bec8cee605cb278707af471fdb9d3ffc87ffb00fe035fda7a9dffccddffc57ffea5ffd5b7feb6f7918e8a1628b36a5da13d1f7bce73d7d45d62dd36ffc8dbf71cf480db4b19e048ffdef32847b54df3af35c51b8cd9387a81e75fefedffffbcfb1bc1d380bf1bfd46c7499bb6123f3279d389cfc70a3a8ddd479b77a18fbe55ffee51e968af50cd63daa37ef1fffe37ffc37fda6df64680f4b75fd813ff007e8ddacba99cc2713f8325733d725075361838834157009eb9264f7a87fec8ffd31a4b925fe437fe80f79066bcdfc8b7ff12f84e40c5cf2c4b89b55ffcedff93b45f177bfea0f2ff7b0b72ebd1fbaae3e649de85de646d1dc58e3d354232ffc8efa223b9b177cbbae12e0f39f1e18d6153e337cec7f38847a35f576bc0b1c98e696118554ee73d52cdde7ca6230099b8777f4ba720d7292b461505ae1ae53ed4c6c279ccaf43a5e67cbfbfeeabebf6ab76931b48fed521ba90ebc73f7a20f67f97b796a06ee4f531f3e9f6b6577f36696ac7e27ca3eb7eb041a466ac2bd1f28e381f4c58ee7e324ab2b43f586c0c3f1e9f3c4e4df58e9ebc2535696837c680818e679e606374a1a9ec28b8d99cf7826e7b194b3da40d300c2d54a87c0274df313799fab5e8bb76eaedc6ab6ba0cd1aec5cbe786cdfcf769bdd7c563ae5e264fc3607a5134f4a547e395521e5fcf5795deedb9513d13a8ef13ffd30ffea343fb811ffda94ff84d9ff6aef77dd7873e47fdd9f77fe03ffda5ffcd5ffccdbf8ccfab67ad0c1526cc4f7f78cf1912a813045e8dfbf8b782633e249fd77f43d801fee93ffda7dd5cb991f35d5c6f6a0f3615776ee6c7334f37751d4b8697faf42c8d0427c6d4ec26cdf769bbcf2c2bbd9e8e7adee847a1c5f274132b1fb7a96ed83a285dfdd72fef79cf7b3a7635f2c40c15a4ad9b5bdf6ebfd3fcf37ffecf812ffee22ff6881250b2f5a56537cfee00097ce7364fbd7c86cf633cbb1aebc1ebb51ee340343d0b1505148b7720f23796dbcef4eae509379c4f012c30c7ee79efc6f52af879aa6fafa4197ffaebda584ff20db15829299162e1cce7134990e6517e9d93a2e649399cbed8f10d51d462f5566ef3c72f9f34a222d5f491e1cc4b3b7cf2c31b37e5933c52ef93c772fa4f33ab020dd1289aca8e6bfa9387d30304d387f3a9be3d5efcf4852f67cd7ae789a94ca32be70baf799bf3395651a7cfb02e8503f3d31f4e13d988617ae0cc21669ecb0778707fed3fbe707c866ab1194e53d43cd31498adbae66d6c5df9c3ca7c86eb8d3fc73a79e2735c5d4a241e2e81692209d23cca1ff48a4b8f5399e1144da771a7eedce0ee5ddb93206bb6df70996bbb82dc75f0d1f28ddfbbe231f45dec8484f1c6edd2bceb60b1a73e0d818114fac4d36078c69f63c56cdce99990e131028b5577fd9d5e38419af469c868e0f29f9e321e38fdc70b69e862d51ba2e38a4f7f9fab8ffc5cdd9fa65a7bcf9537ceaacf293ebc7c272f9e3b8b0d7702c2af604e5c537d5bbcc790ea13d88e4702759d755dbe50f7355ff3354e8b4aef79ef5e9fdbd9c777a2919e25ebeca0f60c619ace5c7a7589b58f84159a628d05e309b2eabc20b0b108a607e60f17bbb1e493bf13d072232b07fe304fe3966ab8e1e8f924deb885204b2cbe73d3a9195f6e7290c0f207842f9fc24b60c792468d31dc7dae3ebceb8a5b336c6edd82f67a59ed9a9ef5e9f5f6714b601dbadec3ba7c3e6d4f20cad75cbd76ee252c36ef05dfcf54137ce5577e2525870adc8e4133fc093ff63ffe5fffc71f79b5c5b0d9fa155ff47ffad20ffedfbff99fbdfa5b840f613ffb81ffe9a7ffdbfffa2ffdde4f7d637f2cd62e24e70b6ecbf21fbeeffb7ef9177d110df02bbee44b24135f48c994433e7ad7f557feca5f99e00ede2933f017fec25f2855af63afb5a6d7bddd2a52d99a49d98b7ef22fe0ad9f69303faf756550b1a22e7922c797529af8e53c4d3eb7c7b57c088667d5a0c5460ed7bccfd57daeacb177eebaf2e30597a7f636be70e11266afe2670bf615eaf60c2e49701fc979b95dbf5cd7fae34970fb2bcd5d075d04bb0edef757f7bda80de73b652f6ad1daa4792f5be4fefb7775a54b4367fe2ffbb22f73ce7743fb755ff7757eef63374eafbe14ef298cae40384d7af56d315ce4eb911f9ac3801c30cb27a67a24f0569437b67a6f85fbada7b36a64e0acbd00ba302b9813d754df96b6daea1338c1516280c79e0fa9eada6d6a3775dd50794581f28c17a9198fe99c18199fb87ae29af3d4cc769ede451b576fce45c17c8c585dacb71ce6e25332c8339f064a8fefedbafce78c17b81c0690c5e6330db0e1802735a5b1b1d29fb931599938669e9ab0ba94c8ee73753b579d869a2bef94e6ca6a3757aee57817fef84098c0e9a61ad3c778de0e26dc85ff2bbee22b3af5e81a60a56822dff5d37ff7fff28dffea97ee3eb5be37ea0ffe4f3ff1137fe64fff1ffed0e73cfcdf77e8677d1e43d280dd9d06fe8b2ffee257631d9a87a15fe750efade651fe504d0c3bd2eff88eeff03c13f6c5600ff700b1dffaaddfeaa9a06795ef7ef7bb3185f86b40fd09257fabf61cc55f66fadb7ffb6ffbe6ea9ff8137fc215e56ffc8dbf21e4cffdb93fd73c9fc7e8af107dfbb77f3b4f7f558846e957a3ef79cf7b7eefef7df8992ec1dffffb7fdfe3d09eafa6c103a78f342453d43486feeb7ffdaf6bfef93fffe7f77bdaf2447a92fc2ddff22d3e7af8337fe6cf68762c9e217bb83a0d7ec7e2bbc49a06f51bd44d45f3606bd84004cf153f4ff57de333cf46d9b1f0d46b51cdc15f24fecdbff9377be68c6920e0cced16cff3d417be81f2bfc4468a3a65b79a6ce3cf7a9e81b90119028b7d33f8ccbfacaa5f8e6dac4bac10a56c4ffc5cfe97816e6333b9c82efe34a5718e72abc9ea14cf1ca0bf74cdf3e423d39755f5a9b9c5a7f9628127f17914d30097816e63135f64b7f340b0d8e7c6ca4a3df1cc8bbd749db2e1407a7863bd1c4b36c1628127f13ccfb1281b2ef01079b326232fb2dc74bdf7bdef75b272d9723db29750768f8a7449cad065ae6cd58aeba0da06434de0b2e54cb87d11f2be6768dad5b77b0693bcb922b8cfd5db64aeeeb7a97b216ec11bdf27b9edfb38613c53f2d6f57e76beb356ba73c3c06a93808fa4c1a4c77bb7fbbcaa2e4d7c26305e94a6c207a3843796c0f9d374bec00cf3e779c60a618b49f368ffca1f5f3e7aa7098ba23ff33c358d9b2743b1e5706ac27aef73652a14f3f98e9bab760092b74efcfee7f1381e1e5eb5365a33489779bb8a8a2610137ea87fc5677ff2abcf9ab4aee5277feac7ffc49ffcefbef2b35fed2174bf367b88816f6b643b9294a763fa850ca4d72c374d1f402a8e622601b5e3752fea13777aff574a9ed5984a626eaf8957fb69cc725b976d53585781f3a4ef8d3686d25d997d987bb6ac7c0f16f9ee77bf7b9a8d7bba35c46e8335f53a9678af66e29af55a93406795930f1b6523c6cc211e39864959f9c1ed97de14f7f0b87ed19a95d3087d07381fbf6275c3ec9bd84c7c2799a7ef607b99fc7525035df22987b3cef99cffa2e2e14ac3ddd67a173be5629f04cb7fb925c3cf21b07a3e1878b2936f26eb0dab37d642e6d0e8271f93c39375c3ed78cfb1c2a7dbad83dec54e99a7e69360f92fb764f8390456cf27cfc94e9edb9a61f5c65ac81c1afde463984c73c1f9ef78eb6dacf0e97689ad6bb153e6d9880b1958fecb2d3d7e0e81d533cc73b2933f730eab37d642e6d0e8271fb33ca71cd3703bdef8c60a9f6e8b9a0fb0d829f34c033b6977cea4748a706dea04eb5ce713ae73dfd23557c87d7f652accd57d2fda92d8fed69cc0ea735dbd53e6aaf7c5bdbe9d81fb6f531fbed36f65db663921f63d5be74dcd7d57d6a277c66c1f0f8f379b70ef93e99be234ba04c26281fc91003d652768b826667a8cde8da539cfc62d9fe1de998d857c707c7c1e0beb82e97bbbc2c88e68fef301966751d36c7ef0c36c35a7b9cf950934279b9fb774ae3c23ddbaea21aae15cfe25a086dde4b41b20f395127aa4d5de7780c97c0eedb5936dafbb7abb077756b7d806e5133ee157fe924f78d743c04df9e99f7affefffcabff8c73fef97b78f29fcd647af2e3c8369e0f85cf19aca347062cc2516efaf0a792cecbea8ffdfe5d43cda7c82e7780e5f39f3b91d2ba6b1aa1b6b3f1d419a4c37bdacec12cc67632db73d3c6c5cbc5741566e53fd45227fa6c8cf47d55e02817a6f8f6539e4bc9ad8d06e0e2563a3e64144c7826f2cdff426f645b8329fcf9ae9cf63114b46701153f2374a7f6138c145bc901cf4ee58e817e20b7b8a5e4bd4df3df6d359bf7af5235553573e85d3e7af195f334fe4e93f0d309cc372b8e539280f99bde97595fee2c9793ec04306af7306663ecd63ff03af44aae7194f93153e707a9e38fd45b3d8c6d29cff193b5c26b79af11c944b6ef536c46d6cfa0b4f3c1f60b1618609a649d0b891ea795ef2c1e723ea493c9f73dc42f26cf4f93fe9c3e4cc619af17a954b6ef56edc065a6cfacbb869f221586c189fe01c0b337d23ce33be1035fed6f3e4e7831c5f489e48cdf94ff3a07eed7fc9e196e7a02c371723e72ba702d720b7a9ae474e8c7af16261a4eb94f3adebd4a2da6fe8723e848981aeb948a0d3721762b826c3f4788c3a9f9a617b243218090cdff757f7b97a4bd7d52ecaadba7b7dcec0fd69eaab678f7b6e69763a453a4f29b0d5794e19ec5c368d5eb8b31bbd8d9d532140d6677ec5629ce9e217dbd953aca24b0e61cae583c9bfd833193c0702fac66a94fc1b172e1f4a9a9257cf3fd925379e063a358d550e179e035ea139d3cbb9fcd3dce7eaa33e577b8edaebd2264056e70bd736428d7fd8533c96b0da7dd02ffdd9575ba8c7e6abeaa77feac7bee4bffc8b7ffed73f3cb43c8b68cdb336e804f87636980b5fd4e3e04f0c373e6777a1f4feb21193d373b2fe034fdff84d5f7da691d23e09d9df405a3eba7c9f7662c0ff76a3fe811ff8015dcb1f368dfe1fd65309e3fdb125c0178fddac6abefbddefd69c3f5cd105dcd6eb3596efd96afa2271e4f486968f66df6a067a12eb58189e9e3b96789e59d51c6e20cf7e179b92e15ffb6b7fedebbffeebdd762e248dd818a71adf19fec66ffcc6dcaa9d887ccf59ade98efa36b6f0e6b33a46fd66e6ead4309fc385cf73a36b9e653c803f9bf03cc7a7b9ad29174e2c87852c9f98f1f42bc8cb5818bdd5c9a63995bae67fba2d368753339f4b6c4a75656e03e381fc4f7066159fe6b6becfd5c7e75c5909be15725e7a30ca7dcfd03ca8dbcbddf757973d679f32989f0b8f7987ced55ef13bb89d81fb6deac3c346c567456a4bdc1ba0cf8d34c3f1e64ed31ecb39549d1e53ac5ebc1a9f893a9f9a947a892f1a7ca7e97cc2eac5a6c794063dc3732c5de543a90c9f9a6279e64f0647961e4633be54d56990ac60358db2d834c54ecf10a3799fabb7e15cf510af8b1f7caeab48afdd3e77b779dae7e8c31ffce027ff965ffab0d48ff2c19ff8c9f77fc91ffcdffeefbef0e1f91ebefd6bbbcf64f89af349b6b1346fc7424edf4e575381d5e901323ff5d4f47fcff8d9675f884d86b46efb3eb0ef92757bd958051207904af3e3bbc1ae7ff91bcb9da7dbcb040dedff1115f5433ff4431e0c2e31e0dbbeeddb7a8be559171fb78e1e1a789aea87a9d2f0d497dbfcf3cc3f7e290dd0d0abfbd3bb1ec9fa3f600ac4bb6374e0de7a1e81bee7f10f08f3f10c53ed587c36d158dcce6369ac9ce132cf93d21ff215e57e58da916ac557764d9aa7acfbf2b3d8f2d49ba73400e3fee00ffee043cc6bfe031ff88097836df7c00596db3401753c8d320d7e73125f533d7db1f99cb1a7663899a692793e9a676c38817af93cc6bdbacfbf687240c607861bf7ccb904c60790d30c5f349ad39cfef84b0e35e7435c6c8667eca9194ea6a964deb89a676c38813a4dcd940417cd854f90462d76b866098c0f20370fc3178de634f3442a971c6acea771c552c2ca795cf39c3e99a692791acd33369c407d7aa67c18e971ac692e7c82346ab2e19a25303e807c2e677c1af534f3442a971c6a9e9e34f339634f0dde39ca55b23d838fd584383fd839380fe3ed22ba8652e2d5f61eed58d430a626254c7cd1e03bade513562f363d8660cee758bab6a7221e3e35c5f2cc3fcfc83c319af1a5aaa68f6405ab3595f802e162a7c76334effbab8fa5b9f29adecb7333f0495ffbb55ffb5cdf4798775ebb8c783270cdc09ba9f701f6c06d94ef0adaf6f5dd486f7bbb3da75132a7cbf6af6abc2ff8d9654acfa9c483026f8f04bee0d75f993384e2dc4100e0ede158153b3d1f7a1abce70969e8f1c4e9f9e3eb3a796740fe4e52dcd2c816d3970cc57a1004a7d1a479707ccc0136ae6329b63c1d4ec7c553ac7c681c3b199e8640333ecc8712799fabb7c35c5924ad43afd7d655bfedf1ba5b57be49f2b8041e7624d686574d48affb782fb7d734a515e5ff0b21d0eb550686c7e07fd5cffc8b6ffce1fff429bfe4f143ae9ffd991ffdf11fffaffed87ff7e77ec31bdf35a531a2ba28755631c334c3ffcbfbdfff4b3ef333297fe6477f1468dc7aa749cf449900c63b7cdf86f59cd0eda5af95fa2b418aff96c66dd2777ee777ba3b72ecfe88b1dd4f7ab589f2f6a7710b0af8af418d9e897784279399b81bf490d63d1b8d3785e7a262cd1843b16e17857bc0e8f6cfffd16a7477a426d3f6a2af1fefd8cd2d316733dc587c1cc5f2a184a7672e016e4a9ae6c15bd8f98a55991bd1034f433b4659f9df539da9d2ef58e4ffc2b1b095bfbb59866ebcd5eea2a5d159cb9d3f7f357ff7d8fe18959380210c6406c45ef25cfee6cacbe11657ac24c94ca92ffdcacdff9eea2e77c78b691e168bb9e0697ebeeb2a9fb919e8c48dfbc2ba6adca296c31c626ac2e5f6731ecbf4f379d25fef65f431f8c5dee2a2d4f7b9fa395f8bfb5cb57e360f1fc975e5db25c675d6b2b771bfdaf2769deacce3c2e444eac4eef353d732050ee0bbf63905b9f64d0f3be9ddf75766a93d1e603edb4cdeced5f60cf7bde8477ddfeed57159f716505c8503ea2e0d6ac575d9fbc59bc55f7ff481bbd33b81fac972760d07d4bf802201514fd62381b7a2dc6f53dfe7ef553a217a3f77d777c1deed1641eff956036cad9039397a9fdb77f6c2e0613ef1bda2ba6888994f4f6351e2d368daf6852d41985871fae6091028e5104ec35c543e0229f1de6f026588777a6a59e325df1078794a4029673ec5d2d0e369f8841b5797a3e073991ff988a5c1abc9a60f33d1b563bfcfd58771ae5cbf4dfee6d66bd16bb775e5a1d6d6154c9cde0911f0122bb0c553e1d06daa97c9cbd78b15f63a6685ffe45ff35b3eff03dff7fff9d73ff61ffef37ff8b1fffca97fe9bff98bffe567ff323c0d3199122e5633ab5b4d5df887bbd3cffa2cb29f71bffa08b2aa7e707c7d1717ce503d4f7f86d7ed9fc5e6a6c8ad94db2a5ff4752f4ae38f18f9bbbb9ff1199f71eadd49eaf55eb0e991adbf409be7e77eeee7727075579818ce5755fd05200f4ebd76fe1fd464ee1e7dd3989289db3cb517c228f6496ecc74b94d959bf0f4ee90fba6aebfbbeb7df473ce95bb62b78e7ec57aded1953f73a41115c728073cc65f693609cd0f7fe0f33eeff3deccb13064d554b0ea3f98051ca3041c1d13536137c3d664ba47351504ca25cf48354f5b4f2f847049ba4f166e11bae1f72c3a59af5d5374ced505ff9c73950fcff3d835f10d54d7052756375735a79967b1e5009f9e17fc6634f95fc62a87ba2e9e918d5b9e6121d39fb81cf23ff3794153d739eec48608ab2be5102e81f2d958ba864fcf0b7e339afc2f63bd797fca720bdce272c8ffcce7d45f34f32c37f5c4c319aac50e4f6f1e36569aba2ef3f3a4fe054dfa865bec9bf7a714c53f708b2ff3d01017fd4533cf339f13bb4db5d3b05d51e35dbc183ab1f0713deabae61ac747c177bf8a778e8d1425d639bfeb1a9ce6721d74bea527660b3f5c05effbabc77de0ed9ee13e572dd1cbba6a6fffd6ad2b2bf37e9bdaccdfd66f5c516efbde0a6627e8c0597bc31811b38239714df56db1db463eeebadf00ce4491405d675d97ff90e6abbeeaab9cc29cddbc3fad1567432b5226007d0c80b1e5b2b5d5eb44792ac55a614dd7709a7c848cc79c7802faf9675526f9a891de24acc6d3cb192f99d313deb1d85fca79f9cb93159ff179326988e5a0993f73bdcff9dfe7aaf5f051992b1f1eef75f14e09035e2fb57542e0a30ab9b94782ebb206e4ec75f7caeab536bc17dc42887263e65687ac8b7a3eb71823e413fff34ffdf04f7ef0733ff3e1f9649a57fcf11c954385c616a404a6d735fc3f7ffff7fb7f533900fedfd4949a17a0391fe113cc0769d7e2ced351c336346e96fae0e6d49cf8e293bfc93127c24d23c14a239ee39a40f7786ec08c824f397fccc35c7de227cae71bbee11b24f3a7fed49fa2199f52bd21e01de37cf4dee25e3862eff7859cb9455e8ee5d667439718c1456320c768cd38cc3efc2a9f0dbac05b2bcbd2ba6268268527b8f8376fe79ce47fcbefe8e6b31c9ef4bcf8d0606632809fcf2978ceb3d10b7f41f373fae7b3114f3d5cef93fe7a5b577ac9a639f9b9cd67c738fd197be2c5de02b1f31132c1739e8d9eec05cde9f3a47f3e1bf1d4c3f53ee9aff73e5766c6143d393f27ff919cab6f7afc7f53ed4fbcdcf61bae50701f6a3ba9b6cf910fa69370b8dd3cbd7d9dcc7539c328edc168865b12f9b49f69ff76e19d1ef522db0b9dfafbfeea3e57ad2bf3f096ae2b27289b346f040bd86f94d415e3026aefdcfbff9bda6a7ccbebce954dfaa5f63ac5d05430afe1c39fa0a819b8d46db5d5277893b7a95ff3355fc3cd194a6c27ac9dad30b0acba1549b3de48219dd7c894f0593b03ce64fc9c85f0c1c79c9e18bdc59ef86198d76589454c86c76ce80b6fb8f40d3d0c94494cc70b9ff9b38abfcfd5477dae9cd4bc3abd88aef1e513e98d837786f52ef07a75bfdaf51ea3974cedd554ac7faf26bddb09df8ce5a94bddf9f16cc6af6bb2015d8ae6cbb1a73e71ff6f2aec3675ff6f2a93592d24667523a63cf16217b8c4167b2679d113cf33d9e9d340d5177ecd403e6aff83e8f77ddff77930eb2baf2301b2338dbaced8194e5cc845b3fc93cd67fc454ff09c66c77bc6460ad9e8f53eda7c98e7aa54e77f19ba112f9a1d4b40fd429e39677bfa8c8f3c3d872f9a999c7ce4cb3964986618585962316b9eb9e9baf097a15f885d602667fe459d4cb60b01cede537fe28b6626271ff9720e7a173bdc40d54becd28c5fc86403d39f69a43f634f3d7ce69fc3c95c527d41ff64ec0b639d499e239e3e25af3e7d12545ff83503b7e1132cfc4c23fd197beae1e7f2c4bb4df5b955972d1f08daaed0bb5a759d72578071b5ea196903c1ae53674de38333bd5d074565d8a665bccb1c8686be3d1b466fb2132357d2cf6a323c0dab4b78bc0472d03c31b2dcea153b434c624cfc7d7ff5713557d6edfd36b5f7c56dfdc677a26efb3e4e98ce2c6ae7056ba5f38e7788e78d9d2f3a95e8ed0c82777a82699066a9f34be7c7268d2640e3290a4126788c26e7c87c1a0b238a7e9a62b39a0f992250ad6b3968d2680232ac0b56f09a805a9e40e1700003eb55e446dfb17353d2f0cc418da4a7a1976df993299842f4e2ef73f536992bb7a05b57f05eeeadab181b05e5611d3c969a312ff353de82ac6ef72b29f5e65cadd93648edfeb9a87501f145a51cae5753111b984326f33cf93c6344e5b3bac078f8521ae5ec0dc77b47d0fbc6ac5fccda4ebde73def3995172bcda2ca64f92c2470d6349aea1dd74c80f8f42987ebd554de267325135955c227f3bae78d7ff52a8e0b551d73eb804f93fe3e5766e33e57ad93dbba99b9afabde35d5b7b314f38b992bb18f5b86577b06ef4a1f9efad646dff171b572e9a4b1df805d9ed40d675f11c0ecfa85c163e8ed3dd49963da9f6068e8a72936abf9902962d5ba9683268d2670df5f6d8a06ee73f58b59572dc27bfde40cdcbff4fbbd9ea63a033aef3801b5ce9a2938e07d18dfb9a97b3367b1f401ca5b0d526ffa4c325cec294899ec22206b2ce0e2739ae750ac54d7254a6e175e134fb3a32b7f64b109d2c0a7f23e576f93b9b251d87a807b89fb8e4a0f51917b9ada93550b0988f7e2f60d2be4bef4eb69aade6e6902abe9957585f53ed24ff0b7fbbc98e9e78cf734d543545d3d4d9d2630e5c937f4ade7a9818b3d41582df6e437ca3c272053d60c602ee67378943fe8fdcd217f11a18f002e8f5289f35c147de4f8f9bc194de229170b64fb82ff199bfe3c464ccdcc2738c79a20ab354f9f933c634fff70093fc933b98d3df5eb4db97c4e4de494d300c9de646cfa8eeb8c3df98d32cff4977c92097c3956ef193ecf27f97a2f9a73dcdbdcf239351865ca9a2fe4f05cec4c7248369f139c638dbf8c1b7f7a2e4ad725878df5025fd425f6d4c33fa7668776f1294ff5853ffdcfd8f4c4238b3df9db7cd25f3c93cd679a32a9ae775d8d75eb33fec9d853dfa0abe77f6a7a9aaacb4f215cbc5c55d9da69a8ddb2ba72610218d859d40f2be87b7c8a6c6702ec3a18b9fd5202218164f029d0bbe67c16022c4a6ec5def7579b1640d93cdfe7ca426d42d46f7e5df999d2fd69eac34a7aaadc9fa6be3a07f99cacf97102022c356f3c6fb97d3e87e9b334bc02a7216e0f8a4ce35c862cb6f3da34c862314a18095bd07d46887cec7ca874713096acf08ab1026a7cd8b8c52e10d09573b1fc916a3c2036b158b2f358d2a8a781f34f39fe3e57efd0b9b28a2eebaa03b1246c23565cf2ed125a27abebad099f3c3c462c5c3dbede69f0f9dff2ba8ad54573eb86576efda76cd0c59e39148b893c9b673e139ca324bead698a2d6ab1be9f466c1fb67bd4065d0d2c67caf127462acb6df9c4ab6384ec78a741564e460832465d73b135ab8b856f9bcba7de04e728af06bef987a6d805ce3c46c4bac26396f3c99fb8c0e5b67c66182364c73b0db27232029131ea9a8bad595d2c7cdb5c3ef52638477935f0cd3f34c52e70e63122d6151eb39c4ffec4052eb7e533c318213bde6990959311888c51d75c6ccdea62e1dbe6f2a937c139caab816ffea1297681338f11b1aef098e57cf2272e70b92d9f19c608d9f14e83ac9c8c40648cbae6626b56170bdf36974fbd09ce515e0d7cf30f4db10b9c798c887585c72ce7933f7181cb6df9cc708c8f47b703b1afe832648bd2777fdaabdcf757ede5ee7b51ebe7637e2fbaf7c81d6c06def8d071d45b0a76a63b4f6ae19dd4342b98d7f0e1d45f3370a9bd8d31ea13f8342e12a8ebacebda9f50ea3eadbb4ab5fbb1eec1c2cd090dc0c45be5a247a61cbf69cc6a3e99e483042e631977fe7a9fc3c5e693e6f48457f887cb2d5cb8b435e1f2af6ba466781a03c13bc6a22ef967d261122cff8db2a8f914a2becfd5e6a4597a79ae7ca86c567b7d7b886a0e7b7cea8d832700686e7f9bea75f1c9347fc52779347606423c4dede51008d84fa8e1405da7204de2b07ab167e0c809ced8fde5a4f3b7a904a726ac9e55fecfd50fc18fe5d423762c056212d4f5e6f1e933db7962569ef324a88bd519387202204d9ed31795fe56b3f05bfd85c9f6a2cfb0aea5f7dc582ff3869bcf6ce759d72948737a626a2ef3539fffa9bfe0455df84ccef053f9242ee4928f6626f1a7615dcf8d7bcb9f3eb3251b8facdcc6e2cfa1e13330fd29487ff159d4856fd033fc543e890b516fe881ba344f43643ef5fe9cb8d8d33f3c3e9f09808be7bae21778e619be8d2df9d504b71accaca6dc5827f318fd509d7acd33a57082bade3c3e7d665b029a6779ce93a6aee55fd4c809803409a66fb8f4ef7def7bfb9b6af63c4a7fbfb78d99eb20e0aaa476150bbb5ff5a99f0bd69ea63277cd7221db7590a011c99009980369e0ed4990cfe16209f8a4098fd7ac74fd85bb76472613ab092f19cd91c3d31808beec01f89ff913a4512fb7fccf5ad47c1e231eaaace453ce047515380190e63e571fb1b9b2b6ef4f535b8db7f5fd69eaab67a1bd33f73cd31bd829c31a6dcaac21ef586f66c5677eb0f73901bd1a49d9675d171f4db17bcfc38f1e0f272f814c34cfb138f7ac327f1a4a1a004f190f230b8f27538a0574c9278128e39eb109f4d2ef1835e3311d544c9e613e344ac70b5cf2c7d0dce7aa79502b6f93b972172a19afa3fb580576ed3fd787835f2a000040004944415455a40dc4ca655b234497a804e7cea3aeeaf56ac654e756efc90f03e788e193497971904f3c25bca8f1eb15787158735198c8d58fc4abcd1907ca8b4ff9e47046e1dfeab9da313e977fb92dab530f2f6a7ccadb63dc24305cd4c8f95f985b9ffb5cdde7aa19d8ca5cf3beaeb6367a97a93739e1353f36e6cae1545c86ec199c8514d72977a1761148bf536d2bd235d41e86febc9e6a52625cd738c036240a5e20121605d320effbabfb5c590c6fdb7dbb257a2fb733707f9afaeab7a9a6c629cc7bd8796db5d35c7777ea9dfb4ea6f7bc58a49abe299e5e93665d8bcd39cf048dbb1125532cdefb0a9ea7e6c5676e5911572e39233b46a0e102f35ff332165e596ef07dae4c422fcd4771aeec5dbc283291437fe957d3635589e9b218d46e3e01bd78b5170ee92f55e0bdee304614ecf308a4ff90a6bb8b4b6d941551e134c380aeb650a7265e7dab5fc8e5b7a997d1b33d3dc7ccf376dc537fc9e1f42fb16532678c32ff27f1e933fc18f7aa3a7338b1ee060aa4e6b0e665dc044fe6b671d77b89bde5cf81385ff4971c4effc4092efcad8f7191e34ffd7082ea8b3e9212e81002175e33b7934f79e12ff3b01c2ee35e78cddce67fead7754685752df6ec7dd2e7f47c2ecf02ab2ffa790285072ebce6720b27d888d38f3933bfc45e3433c49f3ec3405d4f7a22139cbd8b7dcef392c3620bac7e2e76c305122f0dcddc4e3ee5857f2e87cbb8cb2dfe1ce8c9b126bbf8273e33b9cd47af72cb9f390c27aebee41c49099446e0c26b5ec64ab0cca71f437ffe36d525c975ca05c8b5acbff4eb9615e3ce93b267a461563d532d2b1a60d7411a0e9abb2e130869c313af76d543eaea220e4f7fdf5fdde7aab5a1debadacad93af9f0aeabfb6f53cdf673e5fe34f5d5dd97b35b73e424e5b3164bb07319bc339a7d7c7b7af53e8f81c57a632b56307ceaf3d1c55c6f8b5eac66a4e11e221f05f5eae2703ee75c6eba7ab699261f9873f9c04a3cb7ee3d226980cecb009f86a359ce98fce5b3d8e556feeae54363acfb5cbd83e6ca67d55eaf96c45e474d67c948b5fd41d8e57f787cfb986a647b05f5f8759d60bd422ef88c6ddcc61abf1cc6e4103f374099a6dcc60063f2574706c26322b901e1c0059fb90dd35c722b36b76568ac0d7782f09375b173c8d6586396c3987c2ef9209569f884ab758d01ce58cdc7d0074132202c7638103f7ce636acf7f49f676ee593cfba4e107eb22e760ea561ac31cb614c3e977c90ca347cc2d5bac60067ace663e87dae5ecdde7dae5a125b18f775e5b7a9e77ea9dd94a7a97b8e1af3b043baefafee7bd1d7fbe48fc9bda8d3c2bd3c3903f7a7a9dffbd55ffdd57d86e726cd39d12d4777749a0113d71d9da673a5661bfd13a711be7bb664b79ef8de63c0f006c214c287bf64d28493954cbc5ac1dce65626f1253c65fa9aea8d3e9f8d3b2559c7dbfce0ef73d5dc7e14e7aa4f9d7b1ded78e4e375692fe8d929acaea9eee7a956c29ea3f6db5432a4a3f089c39ea6f254446d770e9ccc76ea8fc2379493e1c36754e2db58fced6f5317585407522ce6b981ea4a7c8b31179f6996ed0b9ac413ac19739b5bcc6ab253d988cbe7d25bf336f6e487013e1986d5c5064e123e9bf7b9321bf7b97a5c146fcc4373d23ab9afabdb37d7b966ee737539875c16cc7373d56f53bb8cda4ef86d6a3e6e5339f4894f58d375ca054b33c0332cb0fd1b461765d7414d25acaea9a6699f76df5f6d7e9a9cfb5c5918a6a29d33dc5eb735f356cf956706f7dfa6b60e6febfbd3d457cf279db3ac4bcf12bd5761e732eb26a086f5222d5c1a8c6236c37885462f101fceb37917924fb1f0ce0bee100a4c2356889a06407ae7c080c273bc28b1b7b989c5e72f1616c80a93be94e6a3c9aa636fdc62e375297cf6acb5e34aafabdc00a3c0b7f9f0b9cf95c9f928ce957bdad6958b7aafbb7d80af5af5dac9cd55bf5561afa09ccf8562d404785b01b89d4464b87075e4eaf4f12726504e2687987acffa748e8f794e73ea733ea3ea6d2cb5e3d23bc3f4354fe5ad03e6a3355786becfd5f9ea847b8d9a99e75ec134d5a7e6649ed39c7ab82671a0fabeaeced9180edce76a4b6b337399137c5d17fe63695d39c0ae3e2e4ced6a00dff7713152f4865d34bb6eea05f0f612e1f6211845487b8f62e1f6306a7b9e02d388a557d31478df5fdde7ca4af828ae2ba3dfcb7333707f9afaf0db54a77ee72fa72defd573a6223178d8b9ccc9aef7b3f3231ef3ff67efdda3f6aaea3ccf9784844b02819008845b48b804a50495ab18888022784505ca6bad1a676acdb2d74cad55bdaa56ff357fccfc33553d35ddbda6dbeea9b67a5a296d6fada5e20d885c22287253ae7209244402e17ebf07e6739ecffb7ef3739fe77d452510f5eca59beffeeeefef72f63967ef7d9ef33c6fe0051ac64fd5d3852126d1c7247ca35169c42696b64ebb60734bf28d43053a3773ebf0266c535b30716302a89a34f1034ea99a7aecd5273c7a9d0334317f8f549f3904f531090f136c2ceb7e2c6de1011463fdc18c153b988c030f9f1e234f9e007f860a56c32328180de34c0dc610d23d109831a1a6f0db54fd64970f80513916ab1cabc730bc5857d58f7cfd6dea4e2b56405a8c0bae511a9f353794690262d5f03aaf6934b8daea3039c4b6cf374e6a5071f2d1b6eafbfe63123f6ad2d49ca6a5c9a789854646504daa529f49affac4247cc590d5839e138be658dc04aa0ec58dcfaaeffb8c49fca84953739a967a5c33e71fc31c7bd5e3adf23aafa936b8da6a88099a9971e3a40615eb217eaabeef3f26f1a3264dcd695a9adc9a58689ab8309a54a53e2baff3869fceb6c921b67d7e06873aaf59c154bdcdea3326026a4a3511cb53575b70134b5b35314cb3eae34a0ffad724fa463343ac1ab7e2191ceabcf159f5d58f3826026a4a3511cb53f3db54d620bef2c3bfd7c592c43ec7ef07518311b35af9a9a81fa1c2d064a9cadffb65c1624d8707b8bff213439cbbcd080f13fcc7bc6768c6812665182b2e09b785d949beca7bd1e1b7a95e8a63ebe16d6af7b0c4fcc5e7284c730086899ae285ebe77334e1f94cce5e94e8bdb761c03a410656a39e6b5d5734b90dbc07d4c0d0a4c60f8092cff6504e178b2ef57836373d8013c87ce0c9131ecf600a028fd13b701473f27bc5f06af00fa00bb1f90020c158c9e35f3ffa34ae9af0d3e56f6e98501c07007ed00f63c5e831265bf5bae2373f8c366793859f586c0e6852bcae002cf96e838269ca04d0d560196c9b2e9ab568156f748113515efd58255dcd7b4b23ea2726fab1769763573c27a286d43291c5360298c48abefae97bd0891e2a96d11b7cbae06bb1cbded4fd28988c55c20f63357664241db7d4c3580d63c5c5d094b16332dc83cd28d9fcedc6ca2752f700756daa7f4361d833b0ef1af6575c665c277fc07bd1b1b7d54032025bb6a4afce703097194850eb6c1432dfc1546c93ba5fb88d21a92be0ad9124c0ae5adbc5bf9bcadb5430cf06ce957984e37e0826679b78c85304644c043c66d85b794894f0d8563ff11f31bdfab7868f2dd8a744fd50cb34351eccb9f29094b10cbc3913917cc42801490f8df9745ea6301a70c6276294f036ab15644c04c66a78489861ac5ee658717764acfc1c9a3117d085136a3eab66487d834aed95434d97ef5419733fcb606780c9d8bff48b873c56b94bb3098f9f3e034f911f8b25b515f3369597a830fe4815124c6d20b1cd6a556555331d5f35e2ea3fd8ccad7145a9cccc5831b5795a772ea661eceac70a2f18eb872e0ca9fbc76257b5aa32f57df3caf7f1d858753470a84fe3feda5a317555762ea661ec1ac62a63ee808c1dbd61aca6bb8afaa3378cd56b3256fe369505881f9d720dfbdb54d6264e9085f508c0bb533f31f7b7a9a46a131e01e668b20eb2c6b953ca9e040d26d9aba8a4d6962eb156b517064dade3a7f29094b10c3ce9e9937cc4c64d7a68ea4e498c063e39474c2fbccd6a05191381b11a1e12c67caa9ff88f137af59f7c628b6618ab3ab0afc858f10c32fc3695911c5b86b7a9dd7b3ce72906c8fd3af721f72d4d8098cff39c3220d173eb52e872ba04730f83b11af54cbe17458c95efc7e069667e01c736184026f8d78fb66642977902c44424016a7818fca3c72724cdf034e952133d80a21eff604cb0253a8042cefa1f09bb5e807e86b162347e1fc72a7f3b9107579e4859cebb333d31019ff32ec38e01c0bc499d1db064e561a29187a1b069a0d6361e0062eb91705203ae7e22e80c4609c41b9e25d1eba1fa511c13ad689a4fb20a53f5c1f6269f6a45177ccd21568d3ea1c3c304ebc7cce35f13eaf80fa3d2586073e8f74620881ff47aa87ed4c4446f34cd275985a9fa607b735cd58a2ef30488a98dd2e8133a3c4cb0b63094f807eb0d0620b61e097fe5baaa56e98d58103fc455132560ac7f483dc77f98aa0fb637c755ade882af39c4aad19b8c7a3530d1c89b79fc27fff80fa3b2faa956e98d40103fc4551325404d4c6468ea39fec3547db0bd39ae6a45177ccd21568d3ea1c3c304eb078612ff60bdc57f984e37d50b3087ca88350f1f3fe8215392334c4cc434cd275985e95bc15050e6b8aa155de639527518609460f5091d1e26583f3094f807eb0d46ff613add542f003fd56ad4d9d95a5849d981b01eb11b91613d62a74161cbc147ae906076232a473dc3fe6a72acd8d739208c15e3338c95bb6577ade0dfa37dbb17ff508f1d81e16deae4db54af6fe64a2e71468a69d1bd3bb3004d9fcd20c5d4c89c58d5c3c436132eb6b84d3326f03a87a93e7162570430146598c0d3d4678ddbb73256e575a26df55f31ce6956ff262f492fcd8acd61182bc7e1d51f2b77039e6bb0a71200e38f79785faaa6be4d85b144c60ac78680391d59f3db547718752f120627d97f706d840753ec15dba48e1e1052befe3675c7430f8594a7c6955850f9be9f889151facd9804a8b4a90918c330d54fcda1c18d951e9a3ab1e46d56dc8f651a68aaed58dcb785897940632b5f6d1524ab0a625b35118404e076869cedada1c3e8adb16d9406a256a6ad4143da6cfc40ca5337b695375cdfb6a611bdae6212004fa926607c86a1776c0e4ddcc64a0f4d3d0a3539e6f1afc6ae7e2c654dacea27b86f0b13f380e8f559d3885e57310988ada01e9d8c86d498cc90b3bdbad5244c7cea30bc4d7bc51a52ab1184ac7c1f47165b35f29011c87b2cf2e9aacd980420a3349a99f3576fac603c542b71537791a6c6a1896817b56ef5a638a44d057dcc6f53593429fed694cf4f71c23e87daef0461c2da4493824c0ca049170fc0ee556cba0e825d0711c00cfb2bc681e2b68da1b3e958c90f7b514683a1c8e0bc266335fc36d52b736c3dbc4d9d7c32ac97693e97e27a65ef4e97d73198691112468d56602e71786a79f4da324baad78318271852e8d527bd16fd53e7fd277c7c6282dedbc95862f5daa2c1161ec3eaa7da82e9b5669202939835fec90aecfc0e4f419963745233ae3cb5326cf549ed71c51686929ce1c59035ae7a18783187d0590e6335faacf4771c2b9e42f3fb1f4e288581b56696f4ebc12cf3ee5446a3de7e066f2f5df5b3f6aa774722435d0b5634752b2f139f34c111d85b95324d4d3339238e370da91bbd0c644a349ac0cbe4181b9ea67926aeaea2a7094e26958f6da2c81822757a05f0821ad11ca2ecdbc62a1a403cd09b0c67b6c52a253e358197c931363c4df34c5c5d454f73182bc770182b2f9e8c86d786d7985d62ebe1ba6ac624f754c3d3dc36c78af3e8bfd7ed8adfdf3390f6b0676094d80b5186fd1583c068b063e1aa00ff81ed4539b4a18c1d812d1f4c8eed7ec549664c7d0a6add4cb274c1505bc036054dcd250b435d019b7249805db5b6cbdfa67add3357d6ab3fc78e1598e7257a9d4f7984f30ea12bc0072a3488e1d5575b1dd6288d796ce313100de6b1d579756850ea744d978387602cb0c72289798e518121ac8d5eeb9a9b1a188039e873182b476c6b8c553e7266ccf9d3be9c32a2f006d51a922b5f0d371198cb4980264dc4ac7f30fe3675e5ca959e4a946e6e0032b5099e8e476c57a309a9b7d4f028eb6f53799b6aacaa11373e2135174493665f1f130d1b73e356520ff2d516dc90099a2efc88057d3e2646a149098e7f796a13ebd711a8b1193f3475a561a349b3afb74b3e75d54710901095019b40480135c52e0cc5823e0f33561312412df0c9b9e24663536530401341c3d3eceb63d2c4a2a93e828084a84cc42105d49461ac18848c700624a4809a328c1583b02d8f156f53e7cd9bc70e811f9d922abf4d65b502c0f06d204e1f9b34d62c019b0a00ef5d11c0d3f41d2c4dd6b26c57ea334cd65c40dd170dfb2b068d527726c3583120b94e003473cdbc0a63c5753bfc3695711e5b86b7a993ef1ebd2e7d87199c8b957dbccf00d45c4f5cbe76f9f91698890f9ee9953b9f8200cc8803f219183cfee5d183a9b1a5a0810f0678b6d4600843ad2d5dc4a209800f361619aaa7e9dc4d949a037a0db545a62b79ba88129f34e95500261fc7414c6daaf082e4407318ab6d61acd801702e283c855273ca28fe1e95b3cc7a4f9deb8a2e77d5d496917ccb5e0712c6fd1fb5cd49e9a8abc171183f9ac80793465f09031f0dc088356eacd2db78a629638dcc5834f103d61b3c259a3461fa1a484a3402cde5e39326d85a411537585b6a8bbd7d9c7ce8f258f40c16c003ccc15aa6d6958f1582aa81d73f24fac485a7a814db84e96b2029ca02a20798890c184d939b5dd4169da40688e9ede3e44397c7a20c5cf546ac71f5695df95825961a78fdd3449fb8f09468d284e96b2029d10834973713193064939b5dd5304ce77a54ecede3e44397c7a22d58000f30628d2b5f7bc5b1a229630daf7f9af8495c784a3469c2f435909468049acb9ba10c18b2e63cd650719c54ff0d4e3ef01e8b56e098038c58e3eac7baf2b1a2cb5e6b78fdd3449fb8f09468d284e96b2029d10834973713193064939b5dd5304ce77a54ecede3e44397c7a2ad18923d036b13dfe581a1663de2b1d3a50a1e01983d0c4fb0ac53ee463071cd72bf81469e7d88fcb0bf1ac6eaf76b2fca353c94e94660cb2b91e914af2cef0c85cf3acdd5690b9cc2b455b14dea7e612283a4ae80c94ed259cfded476f9369549199eac98dd98efb8c3b9c4f38c01d90c026295687c84c34406252435bcbd69aaa10b73fd1b0b065bc9982b0baf9324496f04801aab9f4fe25693ce7e54cc21f9c0e55862685cbac8873a6954db9023af5b2a7847c6d1a023fec1191c7bd3aca1931b2426199398038c42ad584631354501e00f69acb83b3c058c09d8c367a587cc6f532159e0e9f53bbd006e07dfa6027c88454061e8f83883b7a968dcac08528f0672cb0e86a632404cd4c888b3e3a1191cffd14cf7db543c6ba83275b28a4f65555f35f4365d55dfc730947800d79cc5110454bd26068d79948094aae9e31a1793da044fa78f73001a9533e8ab469397132b9a1a25a4b99970040189084369729354230e2368f435961899a1d355f990d539185ecf33fb8f469397132b9a1a2564938f6954e5d87c621e2520459f34c7da42d2553569cea08f73c52a67d07b20f57030aca1c7da4653a38434679d441090883094c6bf64f2b149adcfbebec6aa9a9834feab3ece15ab9c418f6d34d57fc535878a8d150f3471550dab403eb1aa9f8a1b139bda8a673e966862d2e8799bca1b515ea8b20cb18451cc99bd19eb17cfabf4b29641228011b3498001db9ba67b06bab20d4033ec19187cc661d85f310e6e02331a305e3330e06c3e5f93b11a7e9bca2998ae6c3f5dc71f0fcfb5cbd4e6e30d9803077bf800e6caf9f3e73381722983172c5840174d3eb7f379800bdd77a15eeb68bcdce1ebfda04319f4f8016b8b9f44d48a3a0c86f8d43c7a05e6635cf221cff8448049fc785cc425568e056caaf2e869e2076074788f1d261a7b510e63f59a8f55b6149c77ce26e788eb8a6fff72de1f7ffc71980860b85a58e9791ce50c02b8e6611078fd334b82b936fee99ffe096f94fdf7df9fed8262ea57a3dc7efb6494805723ea1063188161048611184660eb8e009f8a12804f48d7af5fcffe8187cc65cb96b1d000e0598c10b07eb130b13cf17d1fd62f7a7940655da3062b73d3c28a0603a6c6c4d4c178731d04a371df92dd9456d461f4a979f40a86fd9563388c15e3c095b655af2bafc0a11e3b025b3e8c1fdbfd8a93d9370b6aed9e182605a6629bd4fdc2561b92ba02663d49805db5b68bb7a99ffef4a799e69cef385e274194dc9ccc566cdcc1f034ede292555679f57d1ec62e6cd5e310d2fb1fe043a3bdc60aa346bdb6d13b8dc667f8ea27f9d39b1cc4ea25c15a452fefb17b7fc2981562f519049a550f8619c6caf1d9da63c53367ae01967fc21197351e4013cc4acf19f1dd2967902758d77e3490dc5cf4722378a7b033003ff4d043743df2c823471d75144d8adb087cfeee85886e2902f009d6335de26c3baa4c65cc69f665339837aeaab706d30cd3b79ab9b7d1cfdc8c2b408e6bec4155522b189cc710305dace964d3f17d570dd3044a6f9fa76b86de463f7333ae00c3580d63355c579913726b382734fcccbd335f484dafae7eeb9ad587dc5886aeb9e61a7e86ca2ab370e14216171623361bc402236051a3669d62e901b036b1c681018446c39a05cf1ec38589a61a0002973fd63e7cd274df52f74561d4d044a66df4c3fe8a61614c86b1cafecaeb64eb5d57c3db54eebee9caf03675cbdf0de38af4fd1883c53cc56769305e9779eea20b9e391400e9e76ddecf34b142af95234e179fc1f04ed279108dbcb1e0696245dcbc5fcd9de05ca9db1a4b5bf5989383fe13d73b0a1e0fc64d0e748931ac3ee5933f9a6072334f63f9e4630e301494c4323a18b760bbe087b1da7a63c5d7a5725db93c138b27cce6ba627f406fae2b30eb3adb024e3a278b5ef4f4e28d67d4c58b17f38b20180a1af607399b9ed3a11e46601881610486111846e0371a015728161d9e5177db6d37f709ac44ec19a821f5e65e028c80c23e8735ce352b7b12348ae962afb2cb2ebb641de409962ed75c96303056c3fe8a7170ac18938c9563388c55ae2b76418ec96b3256861eeafe080c6f53bb7f37d5a92d172833299729b5576db6e9dedef028e99287643285a159b1026b796e066d731a2adfd8a289be89655c4804c8cc732c9ece3fbc86d4f8a1aec7c8e1782cf06263892153f04374ebbe1f64c3586dd5b16275e7a4789df048692c006784cfa4e1f9c45a4c179f17f0444a2f4b3ee705c029e3cb5400fcd0851e6f3ca36245bd6edd3abe398c66c58a156828391600cddc3576d10c50405d358d89fad4d579c5d567e5c18d4318c3c5444164012fc74f9c28aeb6c101fd6472e0fd2e98daaba021fb9e652a8f4953e885699caba9865516ac20b2807e88f8afb6356eb50d0e40391dee7755b7600ab6d4c941264d3dd7bab31957fa7ea2d2dc6695052b882c201e625b1383a419276335eaabc3e930e64d97fe751be70dd998984fea6a5b31568d9ff4360e238b8982c802e2415079b07e02c66a86b162583244015b63ac5811aaff8a6b0e35341a4f90351e6eb9e5169e4559860e3ef86036182c3d2e5e7c3cca7a94102c4f98f8b00a68dea3b2541185f7a82c4cd6b8429375d07066c2da175e0c8fdebd8aeb260c4d48801a31240248729b0e4fe71f5e439d53eb1390106a48cf7c5c7c2343a998e828cd0126822684bcce9555ec015acbe7d8bb30a352f9c696fee87502a3c6b8d38d4fe5a7f30f8f370e901a3d753d46c747cd1ff6580d6f5339f5d395e16deae4c8e4f336da7c3ec764ca9dc30de39dc37d42333c24d3a8b72e370f18bdf761b0b6de726ae28d10daea932640ec678730fa376e130b3ff0d4e44c5cc4626dc57c6666e6f45a92a73c3ed110543d353e51728cf9bc4d0c49b660fceb6a18ab6d70acdc3a70a658ef39ad9c5f4e9697319873e702efe32bf92383774fe0e32e62483e99e67d2c3b0036132cf91b376e3cf2c823d907e08d1ac64034dd10d0a4647320b6893e9b8faa91d715986cbdaec80a0c43533de6c6d50f2668a869224303a02906502029626abae2043efecd1f01203ec568463eba4a5b648e980ef5432d4f6d31fff0d882f14951903c25e9357f9ab10527e760cc11c30f63358cd5705d791f799f726b78ff0ef7a0f309378863e2dcf2bb8c150e2978c327456cb33f47a9a93c7a7290a7e67cb1cd60c581a7c952c58ac3b624d7337b0c052c4cae538811805172962b46c94e861a57ee6d644c6fd85f39268edb7463e5a919c66a5b182bcfc5508f1d812d9bceb1ddaf38e90c855b41ad99e0e4212dceb0c136a9fb85290c92ba0236df9200bb6a6d97bf4de5833de650663def58d24009636d935a06c065cd9d4f2f2026b11a0b20f51fdbf8378a73ae3e9d7cc13596191a37bc6ea935c9c40d800c2fb64e0835e65ff53ab1ae868d3e076efed6e84d7b182b862263bb95c68a5b83289c17fcb3967b6db0ea730a52d3eb5ae5628f09bdd45c875cf62ad1f8d93637055b04300200351ff21d7ef8e1dc412cff34295e12d9bbd8a4b64b5934238bce443e75acaaa1b8efb98a83f1ac32205d3300c5d399840fd0556d8ec590289b7c24c33759e9a73154935152530d1bfd3056c358d5cb033c5c57190481e333f64e19c6ea371aab3c4f62e57d97b1cd4836e32c8f8c07ce6bafbd961fa3fac1280b0d6b16bdd4bac510000f6055722d63dd6131c2c488f062646c30540a10b80e62a2ad3b90d4f4cabb01438f37eaba1f8b26bc6ea9b11507d0a4d8145be3569f788371e917ab378a75356cf41a22c0618ec226b50c20f9036212abb100925888631bffc632b71c884ea8ab3e9af0baa5ce10054086175b274473ecf6626e14eb6ad8e873e0bfbf63c5253dfcbba9f51457bce5b3aecafe5161b6e3dc7e5cdf1c359fe701b807607867c8ddebfd009f31017357d0a4175b8026e8c5d46830d4161e80c679815e8bfee1f1a32d3c71f1a99e6662998fb73d181e8c2d1af478d624f9c084a70bff882960ccd5539b09a4401ecfe6036fa1175b63612e268738f45810a381d79bd828c3586d2363c56cc879e13bbdaef72ceafe4d45967c305ffde52b58607a69f27cab9efd0456f0ec2404d490f262791864c102adb21d81b4443945fccaee0772acb7f098eb21e6c9073e58bd1af59dd928c9c67ff838d4363c7a8e22b67534249b2834c3d77cc2c7b34c9ac3583992d68e610667182b47c0c119aeab8c86d789c3926b26bd8061ac321abfe958d51909db8ca498deba5218852e7b6952dc03c0b0b260ce1ac4de805d0a8c7b0600b2ac4dac417cb40ae3d2e99e247b8fec4ce0c1f0786373d2451a15f724f0c3fe6a182bae08aeb16d7c2f3a79e10effe98dc096e9a6d7b55588cc6e825a679a83b4c04cc1ee0b6f36054dcd6404435d01b3a124c0ae5adbe5bf9bead39d0f811cb68f5b3401b9b225e9cdf32173a226ca980df1efa8810530f2d4c866f6e924abc640d4352e4d43e8cd79397a4d8c02a6440c36497316439a27b2f090b84db634298d2d8c076e97cdea130c296f0ec358311a0ecbccd700b2973f565cd83953feb81473760c04e2c601e73daa188d805eae796f2edf9d729a68e20d8dfb036cf1c362cfdb546e167aeb9e033f167841ed75c3a1fff0210558c567a3b18b5abeea134ba007f591d935b6ae11e341a039029ac615504ba609b0546f55233fa5daf2df46df249c5e0c924c34e96d72434c97266a8c271957cafa6e158fad6b44058d4f9b4d3e8d269eabb7aa918f2ca0d1671c92493f6e348d2d26b5cb668d0bd66d9589ab4ccdd8ba4654d0f8b489cf00648d269ee155464f5798c8021a3dca7401d20bb64b464d7a132be67469d2e835acb2be5b3563eb1a518181c0f1234e02341b8d86f258c5a77c98c802a21cab492ffa24238049afb6d1d865530d980216341eec0aa9666c5d232a687cda6cf26934f15cbd558d7c64018dde84ad354f5c4cc4f6d28cadcfb7ac2cb7dd761bbf3d41e0a329bf2b01b0d980a19727520085f591c508c0ea060628635592c739d88830d8b23c51b35aa1574caf0c80a24f16567116629a62796a1c526b3becaf18b761acbcaea8b91e726d0028afe07535fc36d5211d5b0f6f5327e729663766284aa62dc68bebd2cff9728d6610f35c8709b6f290e8a9f5c3161f8c2d3538b6d138abc63633acbc999083fef5693e6034b8a5578c060657d4c4c2169ed9367a94e811782cf0f4a2a1a88137ae73b47ed4531bcb9488a5a14d7a29c35831080ec8b630567e0ecd1a4f32f5ba823749567aaf2bd678009f6123e6b472decd1f1eecee8143b3d7dd094d7aa929f002bbb23b01a801b85341666ff830f0e2ea4a8cffe8132b3298be2dfa90629a14fd681b4d3cc02b338a3c0c7ca3891ff9aa0f8e7fcc1bbd8150868f8670fa6c34a6d1f4a25126a08e4f95e19555cf76214b9ec10071cca389071d228301cbd30cd6b6fa5153f5c1f18f55c6443d8c51c247236fd0aaa94c70f21150e35f9fda8607c8f46d93275d628038e6d1247f1d22cbf18e8c86b1eace3543c1f80c63e538506fe3d795672a1730402635f97bc15be7cca26471a1d745875e0a7b06d79dac50f2d4ac41ac3e2c5558c5840757f62abe75a06bd85f395c63c70a92b1a2660087b19af9bada16c62a190ea03f02c3dbd4eedf4de58592cf660c1053a7cf6f5cbb34992b1d356e7531b73d4c34d14b52a3941453572776a1091fcf303a27744c202d7d1939d08549f4c1faa1d7e3c29be60a92dea4eba9b83a844c2c00e2f8b7a94f64fad127cde41c73d3405fe386345092c1aa716257e5e319a57e921b4c4a5fe6a199867906eb075b8febf768ac78e1e92173bc3c769a3f1b020f90f7a2009a6858da018c152632d4166c432ac30f5d60f43839e49043182298ec390c1a061e8626b558419f649bc2232b3c406fb509e32e0740c1a13ed56825968f66249f9ccac0f11f0c539da83756128840e7d46130b7247f9ac9411c3d404cad15e134b41ef57783495160ad3e64620120f589d2260c802680a24f9ac939e671ab267a6dab4371e344bdb186b1cae00f63355c57dc1ac33dc820702f50b81ec4026aa70baf1396a7ebafbf9e7f8786351dccb8b1b8a0e79d2ab6009e4559ad00de62ac4100d6a0e8916148ed332d02c42c5e303a01d0ac7b39d741480102d7fa3fe63d4386826119f6575e0f5c4b5e3c0e8898fad51c2baeeae1b7a98cf9d832fca5df6ed663be73749c01b976b970f92caafe6d5bfefe2d1aee6d346ceb99e9b8a6c190ce7a7cb607ef950d83072702fc40e213523d26d8c25343d2c436b1e0fd3bbd58c11b176fd8ea07ac9521cc27b1c821589f44897f4cf04f448af9a0079b0f18602c40e59bfce9222e9a61ac1c87d764ac385fcd79f13c52e7ba62ee23370a9f5bf3bb53ae0dacf83d2aff36803b09de97c2b0276057d15c572cf9be9575ebe08643250edd52e4b9885e1835e251d8c9c739f5f094d8aa0f19bdbcfeb91ae539d23c2661128d0ea9e94503af4c8d9953e304c6a243fd87f14ab6cb63b44e5c23ea27384e04fddafce1e35f8d818c0e4333b6004a12037b1432d4dad64cd40c63358cd5705de51af0aea16eee411e7e366ddac4bf11cd748778ba7b909174067048f556f5c199031b7d26224220c60fb57e2ad68f8ccaf8496e9acb4322a66ee236b668e2477d42a8b4d9e4d3f84443897e3acc0ac223e892254b10e418b1aa7af8ec1978e0f45b8e0828ac47ee7310b81e716a587d6862c5f9e241943d0cfb1f0a7a7af1e03e87758d5e665748f508faebe0b0bf724c18c08c5537f4c3586d1bfb76ce8ea763a8fb2330b9adec776c25c6990be799c282992ec5745960a660f765189b82a6e6c683a1ae80d94d126057adedaabf4de542613d73ee63cae37e6e30e9394bc20703704b3dd6d60512010e3551ac7f6da301d09b9a28e6901a3d45bef1a9137afbbc3eebb1e8841acfe94d943008d450e79005c358e52c30f28ec9ab3f565cd8f5bae266f1ba027012dd70a021c3d49064cbae2235bb01ef32d67878946c1460b81ec0fcd3a9fccb3478e3e820a9d93708c014b00cb54dea30b537b8331b69a875557dfe5adc041a399bc94fd51bd7a03587688c3e439d706a6c469fde86ffb5c71e0f5136fe71388cd574a3348c55aeb7e63a996ec4a6d387aff7481fe3b606d26a86ebb3ea118f3d5fd1d83b439d708d1f12d049724baceaed97bffc25731dcf367924d3e150ffd623c06eca2fefecb3cf3e387160ebf5c01ac4bf9bbac71e7b30f26c1e5859187f30ab8f6b168b0ee78845077378313585d5871a0fb1452686549075904cf0a04f809b99009bd6aee0b546469141139f71426f9f8f378e2b717182983cd30b8e67d256a0c6a062f9617ff5c73656c36f53b9fea72bc36f53bb9171d60330a7807dcfe97ce1544517130733632617c5e8617c3f0986147b8f8101f038c1965e0a33144dbcc5164081e4f3426a4cc464a2094cf460486b676a31b600b17c7ca20753274f9bf8446f4403c198030270fcd3049bcf3056dbce58b1d8735ecce7655e577c6e9deb0a5b3e93f6e4fad6d4eb874b82dd83986b86dd861b8ed400770386ae18867d43940aa8d5541e6c41df588df5a02b4de276ca47f75fc8a6d68f9af4028c28636f34354f7055567dbcd588e8e3a7e1fb7a050d4f935273881f3d9b8fc78512b2e291f5964a93b46d8604e8c15a3f4d2f5d4654d378a8790e63358c5573456db3d715f31edf2b99f919d563e1103c0ac1cbc41137fae9f89713eb37b5adfa8a5f4eace934d54fc5e8194c8694f508cc8ce14c9839c1b9859ab586d5871d79d617d61a67185622ce0b259e11535886b26fa14b0c891f30000d4e34c4d5cb5c077d376b2c9c0cfb2bc77934e4c35eb4bdaeb84e5e85eb2a57fe009a11f89517234ddfd668660614d43a9b1e488b935d70e63e4053b8bb60bcc7029834c500bb6a6d57fd7753395ea73f0135931757a7b318532133a318b2d1d88c3eb6440453f40350032f83cf8af18f0692da58daea2771cd24351a4acd0d3d09271f019aca1bd7dab808125a606fe77dead938ae308998de1a6b182bc7f355182bf6078905f67cf9c13697bdd798ef4eb98f009c297ad91300d0bbb140462f7ef296550f908f3cf2c8f2e5cbb959d05360046c0820dd61c8d0559b21a307441320399d267c8d2b3656e5e38aaecacf8055f66b5cf5fd37711b2b536d344dfe637d563fd1037015bd40723a4df8fef1c64f347165f4f07d5bbad44c572b88c3e82bdfd8d24519c68a41c8f8031c9361acfa63d25d2eafdc586ddcb8d1d1d6ed50bf5223c08ab0efbefb66e2c26dee719698db6fbf9d0d032f51e179aae414f0b0ca1ac427a42c94ac44f48a11d3eb93271a572b9aaea7e191b1de792ac1ac5f6035d9d5e0b362d7caec5b10938c7e04d46810d41a525ee7607c0efb2bc764182b4780d1f85dae2baeeae1b7a98ce1d832bc4ded664ce7380608cc0444c9fce5bcc6e7765c82f0d4f90c0fac2dbcb6cc5ceae1c18e387ab0b6f26860f83c0f01bc9888b1d5218cb6c8d080e569a234436afd681b0d7aad34090f490ed4898b528d3c7e2860014afc83d1e47869ea079262261943620d63b52d8c150b3fe78eb353cf17270e86cfb3bd42d0803989f0ee0c3c9b6c0e78ef0aa96d1e53612cee3f2a2f432f00be3625615288150d18de5aa521600095af0c26e9958fad5dd6d1002ab6b7e60faeb11abdcdf8a4094e3efab1b76ab46a6c8d929c6b0ef10048418986267e626bd35a3ebd0078fdab6f6c11a8696a9aeabbee8235af7982a3ac390463dee0e4a31f7bab661473b20a6f146de9ab39c4032005251a9a88636bd35a3ebd0078fdab6f6c11a8696a9aeabbee8235af7982a3ac390463dee0e4a31f7bab661473b20a6f146de9ab39c4032005251a9a88636bd35a3ebd0078fdab6f6c11a8696a9aeabbee8235af7982a3ac390463dee0e4a31f7bab661473b292d7a46a5e29dc8f25f34af9ff5dfcbc9cdc5e8e66861c78e6f42cb0a020a3346793a750bad0b8caf88c4a507e5fea9e81cf49c16c3f90650d75798264cd729722365bf61bee61d48359b3a887fd55d67d4663182bae130664baebea351fab7aeb0db819812daf1d9a8eadd464e6d2b3a0d65966202d305370abff36957993072d72e37a65be4bddf026cfb5ee9d8f12c6a6560ae471a2b9f7005df08ae5c106a52b623175d5984f02d15b8bb6a4d4c4ad7ab0263e4fe6b8aa06813234f235ffe0d89a55ea86379c7ec0e6967058296872ae7ccd013c8c557facb8411c5bc6271f4583d901c0d3cb78f269344327a6b6c9032a1ad67b9e48c11480de3454cfa681dfa6822d758757b1a7128de4d8a6a4ceab6d706cf553ebb10e11c0f7ad14376e7d3f1c7d936adf7fe31c414c02b4aab6e90aa8867d7d98aa0f596d11d06c0e2a02cdab938a95c5bc5a81298d5b63f5f99176b2aafed5e744a0486f40df365d01d5b0af0f53f521ab2d029acd4145a0797552b1b298572b30a5716bac3effec334f3ffee8a3bb2c58b0c38e3b55ffea87b162c4eab074233b2a95dc4a6375cf3df74c451bfefb8a8d009734e76befbdf7c6a358400dcfa2b376ed5afecc12eb91bf4a652d73f5715967f17275c3968d1f9b1980af5e6d82b185c4a13c4db61c780640ca0f7b06f7811993fe9ec1b1821fc66adb19abe1b7a95e9663ebe16deae4f3613e6b61989cfeb8879904b98e01def3b9f3219961b9cf61bcd5b5828117d3254650f99c0678703ef30393032485b8b125961aa38747062f699ed490fac7aaea25fddc111e6562d185cf18aaa1c9e261acea27b6004d64c0e600506f8df361ac5eb5b17209f7bccc705d2143c379e1cf2379f6613cd7ec27d813604b139273cae32b009e1a31404c4dd382c9bdf7defbb9cf7deebaebae034fd19d188c87bffbbbbf7be0810768ae5bb7eeeebbef966f6afc632b8915c0884697492d40c381e0fcc1071f8cb7aa87a410fab39ffdec673ef31964ebd7afe70fa8605e4bcd39387e50e2441e6033e6c9593d75babad8d3e8e15126d6743ec3573fb19554635c7368ac6c6ad5f713062046dff88149a93907478f0c27f27a8b4fbae06daabffaf2359ff93fff77fef7e8c30fc1db75ffbdf7c07cf5bffe67f4f7ddb311fc95ffef1fd0279621a82df179f375d7fec7bffd3faefef18ff4935a5b9b98006036acbb63d3c6ee3ae46f9011e2918726af1f056a34496dce11c8d3ac3c4d0acebff80fffe11fffddfff58d2ffcd77ffcb7fffa7bfffdcb8f3ff668f28f1e254ee41365e4a0ab725ceaa9d385387af37ff8c107d4c3a34c2c4c60c8e7debbbb6b3e3ee5fbb5b6987ce91fffd3ad375eaf3764e6d0e86daaa1aebd554f97bd7d3f302935e7e0f841861379bdc5275d392ef5d4718b4ca5b5fccbc49bf964ebe9e70c5d1d8ec5216700356e95557e3afc9beaa7f353f9eab3e267f97ecd547b4acf60742f48a7e8ee7488738e602aa6578d3ce7c86d061a002b0b0c1f8cb20c3187f38c8ade450700e953ab4b274d4870dd47d1548f79e5515ae00133ac83f4a2c1b91a1cc2e0539e2e7849f736d4fa448055d5c35086fd1583308c1583f05b5f57dd653494de080cff204d775f312cfcbdf24c493ca189e199012beff50749a1575bb0f31775fce813c60f0bfd7be8cab4d52dbc64f44ecae10911ff6a924f7c62129f8403277f3460e70eb1bdb1452f9f3cd107935b3d46b17a0f1f6562252e32786c4dccdcaa1f6ce98d9f1c7be22aa0d6d610e887b19a79acd813f4c78acfb0bbb7a5a3bf6f21c6095b04c616128c15bf8b608506f0e134e30c39b2e87e2fe4e6835a40178537b1880177dd75175f0fbef2ca2befbfff7ed669cfa05d6a603ef0810fecb2cb2e886fb8e106fed2867f0d126f30b58e4f499da811cbc3d00453dcb9c60f80123fe29ffffce78b172ffed4a73e85fe273ff90909f0032a30bdc9b3331b156cf96fc37791cade37fe21d56ba226b9e9842ef5f4c2347814b3abc207dba57f3dd75a3d9a04556f94f080e4135213f5f143d358e105d435445fe3618647ac3e7e144046d3a53431f18beb7faee6d61bae3b7ae5aae80568d463181c4de7617446d080e16ffad9b5fb2f5bfe8beb7ef696e34ee8322e57573492e891ed3c6ffe5efbec3b6bd6ecd33ef0e179f377495767596cc5356eb0803ac705bee5fa9ffff447171fbfead403961fcc2df6f0430ffef8a20bbf7eee7ff9c8fff869feb132538d7e146acb3355cd339a1ca900139d1877f3e6eefe152ba08ead3c07cb018e0e7672ace4a9fb473a9903435a9e3a541a370362b8be07c4941c8b78c44df2c1daeab6c9194dc32356af79fc43c6d694b41dc97f65acec8d463fd5e716fcc4ba0bce5bb369f29b92b30e38f69d271eb2f8b9bb2ffdf2c5b3cff9d80973b59c1abda9d6afffef16ffbfaaadfc74b85a44d3a4149e27a6dbaeddb0e79b0febe6f15fcdb3682636df7dd9172fde7ccec74ecc1121c6e7577ef8e2999f58d5fdfb7b13139baef8ce9ae7de78d6893b7def6bab8ff8f09f2eef7e58da15c75f6f0d56406dafb5eb02986d004b8c4f8334595f7cdacc9e81750792f7a58ad538cff7f70cf075cfa00c73a2f7d741f70fc3fecaf5ddadd430565c2afdeb0aa65e57afc258e5ae19407f0486c7d4ee3330bf8bc2e880b98799e0b87bf92ccd3f39c3040aefd839c771d50a20513a2132dba287476faf3cb6fc9b60326ab0a209f6df47a5199e7bc31c12026ff83107e759f5d488e9c2d679273c408c9537983e213daecc53f01e235d1e2f8268b035847eccd9f141af4f12503f8cd56b3256f91cdaf1a7d95c57ec9539595e573c8be6baf2bb525e57f03eaf628b18130067d66757184a1e08eb3e0ffcb5af7d4d5b34ee172111b3bd18d97597fae5975fbee79e7b7efbdbdfe6552a99f064fb677ff66784b8f8e28bf9bb1a64fe8637bce1f8e38fc790afbe7cf5ab5f3dedb4d32ebcf042fe61c3830e3ae8d4534f3dfffcf3efb8e30e362e279f7c320c323d032ae6d82fbae822be5a86c3c30f3ffcd8638f45f68d6f7c63c3860d2473eeb9e7f24fc5d60434778f8592667206e758e882b797e392579faee8c303c4f1195b98603475acc4081a4d72035092b37e60d453e3502ca00b4009a057ac155d955119ff6a14801bbef33bf2ec98e85631753dc6daa59fbbef5af7d8230f1f74d81bd6dd76eb2d3ca6beed2412c52a3ec7e2e9c6eac1fb363df4c07d1fff9fffd72ffec3bfbffbaef5fb1cb0d4c4f8e6ed8f569fffcb3befc0f080830e5e79eabbe6cc9dfb9daffe37de2ece9e3d8b1c3ef489ffe1aacbd72cda6b6f5eed6272dcaa5334fcd9153f7eeac9274e38e59ddc4e97fdf0fcf5b7dfc643e6a1871ff1e6e34ff05852d73179e6e9a72f39ffbb279ff1bee52b5e2fbfdbc23d4e79cf076efaf9354f3ef1381eb8a97e72f1eaf577dc86f97e072e5f79ea6973e6eef0ccd34f7deb4bfff4f6d3dfb3e682ef3ffce0834b0f3ee4c4779c7ec90fbeb37eededecd657bee35d3cf19206ef668f3df1ed57fee8d2471e7a608fd7edf9b653def9babdf721db14fe71aa1fadfe41523df2d8e319c31cec2fd7df79f69fff45a379d3716f759c9f7eeac94b7ef0dd8d77ad9b3d7b7b8e519f24496fc65c4c17c0c3070784d4aacad450d7b142af499f4ff4dfe2ba8aad803af98039167d367cd5bcf4d27ddfffc69a0716ad78df2947ef3ae7854dbff8d105577cff27bb9ef3e6ce7ef22de3afea7f65dee0a01052aa46a65f4fa7a9fc0cb873384aa96a46511ebae2c6ab561e71d8aeb366caadfb91d38ba333b825e767afbc78fd7e279dc3332a3e5f7ce0aa0b6e7b78ce01e045271e36f77b6bd62e7fe772635177c147f3fce84c4ece90a3e85b8e1d1985395f253f2161ffc0cccf14cd77795cb3588398f675c26201402cc05bbeeb8b153b0dd61af4ae38ac5088d987647fc512a04ff72ac3fe8ab162281846c68aba8e95670172182bae1906e1b51d2ba2732e8632760486c7d4ee3d2a7b776640ee649fc1b862827d548377f8b89a5182bdf9c1dac2e8c15ee665181f09f48f4f48f500cce3539e884d2c5d411a4e3fb1454fa12bbcd8b8d4c602103a71f1665c6ce1630b8f46876ac032d43851af1f796c25a9c518929efe3119c62aa3faaa8d15c3eef8f3a8c9868c33c517d748030ccf8e01812794959e359e73e4b36bbdae7cf4458f217a4ab35f947463c103276eaf1d157843e00d80801a7cdf7df7e1ea4d6f7a93db089e21e1796aa57efffbdfcf1e858752123eeaa8a3d8a020e6b974e5ca957843c3f784d19f75d6594480f787b2351f9381691c7279e390a05c9f3c931f71c4116442021c3e4fc5c92dc702203a355d2801a45703792cd4b1454f13658e57ac2d35e60a3011c7965ecc8d159f682461f00996a18e5e3ff26ae2133d327d0228f8d1d634626baffec19828362e354c4880bc56f24d2c043550f523460fc08363c55b47f0616f3c72f30b2fdc79db2d776f58bfdfd2650ae00d911a803975c619a5230009e6c52c4f863bcf9bc7732fdffedd77e981eabffff5af72859ff29ef7535f71c90f2f3dffbba7bef7ccc3df7c145f2a9c3b7787157f72c4c476133ce2f2b1cae2bdf6bef4fcef1dfff653a71cfeeca813ba2bf0826ffd77fc9ffea1739e78ec511e02b79f33e788a3bb8f3f2029c9072b481e20399cfd971d044f9302cfa3e691c7744f8c94f3bff9b5a79e7cf2e433debfddaced78cb7ade57be78e6c7ff9c5b831c887ecccab7e39388bf5c77c7216ff893f79cfd911bafbdfaa2ef7dfbcfff977f897b34177df7dbc7af3a65f7458b7875fccd2f9efbd1bff8173becd44dce06c239e6a6bae6c2ef93ea1b8f3a86ff71b03becb0230e4d00cd69679ef5f4934f5c7ac1f73c1cc6eabcaffcb759b3b67be7fb3f0c2631be86ad4f8f11d2668e0bbe9eee6de7bae21849d53c49126c6ee62f4633367ff9477e71f503138bde73c6314c97bcfcdbebb0556f7d78f543cf3cbddddcc9e7cfbbae597dc98d1b71b8fbd2634f5f79c8f6b39ebde9a2ef5eb5e149981df73cfc3def7cd3ecbbaf5c7ddb760b9ebe79ed434bcffaf889bc4337ab3b7ffc8335b76d42366fc91bce38f52dbc98dc70d5ea4b6fdec8e0ce5974c869a71d37ffde2b7f70c3533b3dba7ee333b85ab674c7877fb1fe61bcbee1e4f71cb9fd8d5fb9f0f6b973373ff9cc8ba8df7ac669072dd8728dfdf2dad517df3099d219272cf8c1172e21ca9a2f7ee181779efdbabb2fadd9ce9ed8bcf6b2f32fbfe30162cedbf1f98939cb19130e6c72ac1efcd91d2f2e7af7fedd279bb3663df89defdfbadfd2450f6dee66a1c5471c31eb4bd7dcbd79f9bedb77735ac65043f432007b031c73cf086b0a4f47ccccccc3ac3bd45cfc4cce603db02a313fe38a1b16068c4086da27557a31a1972ef4ae53f82404cfb49000cce1d1506862cb2a605778487a21a9d5575bf414baf49ffc6382b9b68416a381d13fb6f0b1853707cde111c85043aad78fbc1a9cd025363d307a0a396bdb8c155d7ab0d7ccb1cd313a56f4ea507ee47218abd76cdfce2ec85330d4fd11187e9bdacd53dcc9bc4bf4dee61ee6332731e305a646c364110dd8a1047093c32380c1160c8087891f34fa812716354a0414ba68caa08101538301467166a7692c73a34e0e00e222b020330ac0020f40e39c45139f9acb5313149fc95f9fd4a6845ecd3056dbd458f1f934e78813ea19e7618ff34521492f06af67369a34a9b9ae3cf52cf6ec12e8a5c962cf67db9c7db0d715bdcae0d976a4c0070bf817db29bca8f472821450bbbb9501f30fdbb01d59b870218f9afc9695979cef7bdffb962c5972c82187f0caf4aaabaef2c919c355ab562d5dba143d35df16e69195ef091f7df4d1de14ee7b704b3214c3f19a14873cf4f2855edfc1e290a0fbefbfffeebbefced7258872e081079200cd152b56684e4dc183006f9888a9c5faa7492f354d86d71ca8bb0c0a1f5b64e1e3415b78804abbe425f1897f314ab07ea207c89b03983c2bd61659f2d4443fc68201e827faf88101cb6b65ad153505c6f1b129c6a45a8193431d2bde0daefdc5cdfc6da17d0e38f0c0435620e3852a7e3ae3521c070843a4471ed2b1a289f9616f7c1360c59f1cb9f6969b793f492fbf3eddf8cbbb4effd0d944597ee8616f3bf55dfce28d3c0f3cf8d05d765db0fb1e8b0cadff7d972ee3779ef76cb80bc3c71e79e4b1471f3960f921f7dd73f7c60d77f1f0c63766790c3ee1e477fefcca9f7059a0c18f638e3958274f3cf6d8f6dbcff1cbbd6824018ed5bd776fb87bfdba779d79162f7bf73de0409e27f9f12d2f3991518e3be9649eae971e74306f59e7efb2eb5bdffe8ebdf6d9ef88a38f7b8a1bf69967f4c693f38a371e09fff633debb60e1c2ebafb9525b6a9cdff3cb0da77de0ac3d97ecc371f13e965419388e8b83e5a5eec1af3f1c8d87b3f7befb2d3df850351cc9c60deb1fd874cfbbce3c7bbf0397910323e608e718cd9f28a441a1d76307d34501d00b2f80d1034d4afca0c95869658d26ce61d08cec266ded55a0de58e6400d59f9d8220b0fa6e80afff036e39ca6b93d7effa3137b2edf6dea9cc22f3bfee4a397fa19df4b4fdc7ee125373ebdf27de77cec83ab66afbb62f5ad4f3e75fba5576d987fdad91fffe407574e6cbae1cabb9f7b69e2b90736dc7cd7dc15279f7ed40ea3584479fcf60bd7dc76ff1b4e3ef3a31f7ec7fc8d37fef38fef81b9f8e68d879cf4ee0f7de0e4bd1ebdf5bcefdef4d24bcf3ebc69fd4e6f7ecf87df7decc4a63b6e7d66d9073ff6a7c7eeb7f9c635d73dfbc2b3cfbff8fcfce5abce39e77d472d7ee8f26f5ef4c8d4fd424a17dfd0a5f4910f9c444a17de3e7fe53bde306b62160fb7073fc133ead36f7befd9c9f6d15b575f7ec74347bde3cc8f9eb972d7c91fde7603c66132268f70ec3b2ef231e8a66f7fef8983dff9b683e73dd7cd46132fcdd999e45c0b00004000494441546fe9ac67d6dedbd974cda9e8196119c75041e77754d0c0fb5e941587358bf757ac3ec87c8fcad5c272e3bfe90d60a9f2048159c8e0bd9cb0cdfe04063fac5688d1b0346002761d448980d2ac833068a887fdd530565c4b5c095c84cd75c5b551af2b04afc258116528d38dc0f036b5fb00898bd5cfa8dca3e7f32a46cdcfb10074d9eb5006730547832b30dee8ad7c673962b81f74e5ed819e024313605c26d660bac4ea31c78ffead890289897111c3a8a979225643afbcb12a3604bc3e71a51f0c13171299b6f462def8d13f5df6d61cc0f4ea1f9ce34259f99169c70c63f532c78af7a563c78a1d0227cb71f64404d305e699cd938e39fb063fc9b666fc79e2f5336f967f0a26d997e32db8cf1b4bcd584ce84d9b36f189f80f7ff8433d738db16610543d3f25450326319e63c144f118891b9fa3bc261f53f9652c0e57af5e0d8980cc71c83e86a75c6c61e0f5a9b971e565904553716cf543d37cf4103f33f068e8d55c5b9a949a8fb8d198cfd8b8eaf5dcf851afad81a85502e8454f4d897f004d79c5c136e96d9cc47ffc2050536dc5fab74673c72d37f38a6ff9b2c3f8aee9ebf65e427277fce266be913b77871dd08cdc7415b63360534273fbcd37f25685978ddd7bd1d1557aeb8d37f016f181fbee5db8c7221ef9f4b9ffb2e5fc2f0ef5cfa77300043bedbc33dfade5bdeedefbedbf7eed6d072c3b88a7cdfb37dd8b7f5ea2aae129f7f1471fe175e8cef3e77b5cf2c1bc38e559972fd6f2963207d2e539caea814d9b16f019c91e8bb0a28c1e95173f74ff7d320b17bf4e3f7c2d99474dcc31dc7e8eefb578c7dee5c933a73c78ff03973f78dfbd89f2e0fdf7716bf012952e48537d92ef438ede534152d078385a45f3f0030ff01c8b92880816ecbe90ffa1016b486d6e8086d715bcb6d4143502eac61646b7c8c4d589b63a0c4edcd8ea530fd6fa9c8e47a34feacc5d620dfb38b96df7fc938fbfb0637726f838f81ede43cede70dd157c9ef134ff92cadabb763ee3eda7ef74ef43775c7dd3ba3bbbf98b67f8edf9d862c9fb4f397ae772313fb4e1de892527bc655f7ea2bfcb3b3f71ce33cf6f7fdf65ab27f67ceb3107ec81d1ca55cbbe78c1ba8727e64dcc5a7aecf2dd674fecbacfac2b361fbe62deac59cb572cb962c373cf77e9efb7eacdfb7087bcfeed275cf585359b9e983870e4ff918df79bd206fe4dec514abb9cb678f6c4ad8bf65af0e8655dd72fafffe986a96c1fdbe97ed2386c2fbed53bffa413967c694df72918278f9ae37d74d3fdb3f65cb1fd76db3d7acb0fae7a74d939ef593c6bc38d04762838aa3c85765653455b19e767f4341d677b392fc859dc69b2ee2816fb79285d3cc74eb9ec946004d91b8071c29ac89a456f78ddca8c5d0711d47590b5463fc68a4f9a98e347ff8902e9de4927c455a33958ff6ab28435fb2235d4aee9f824ae7e304c5c48a268abe7c68ffee9b2b7e600ae6392e34259f991e9b0bfdae6c66a789beac53cb6deb2e71bdbfdc740b29d65a66076e060c1d462674fe7053fe1b34bbeead5f8f91c3cdef0c3d4135bc530f90c0f0d581e591280495c78fca841407465d4e609a34f6a64e1c5d50fb110e310653f7ff49a08509a1b7a263bf4783649e29a031a73c0049c5862c400bafab1ec721c0c8a1fb29247af438f4b9288c358fd1663e589733ca9fdf41a9251f5f369167ec69633e53945030f09e3f8f3a4cabe843d87bb13372b935b965fe5b5c2d092ddcc1431f9df78e061984d0cef60d99a50b371e1a7a48d136d2063156f32690238041ce2cdc2ea7ecc31c7b84faa3230b631ef03c5f29d6eead81b273439461336c3245f8f1df3440cce11e9b3ea6b94be5ea6ea2b8e3e11f5265f6345992efc24ab903269f641f54f2fa5e6636fe23a3efabcf9fa9fc1f3daf373fffedf7ce9b3ff9153c253ebda5fdc048993b175fc086a7dd3cfafe5bbaffcfe93fff18d5fb6bb00fcf0ce765679d0aab9d52809c7fbc675b7df4273fdedb782d1f3c089072e5076d0fc8f7f5d861f73f2d039dd58edb26037cc791ad47f3c7ffe33ffeefaab7fca13ececedbb8f29e9a5e07ffb39db1302a616bab86e611225bdb347df75a4d96946df6c04d8cb33274cb7d31f654baadd6f53bbaf736e29d1e470d4f0dd499eabebf830edc7cc10a9133100a5b67d0d7c8e227a9934fbc0d0d55bcd2d8919176f007d8ae523ab7e82a354961c68ee347ffec4a6b5dd979e27cbe61f7de5ebe75ddb7d5997d28df7bc3d172d5ac44769871d75d8614be7df7fd385df5b7de9c6c7e62d7ff3d17b3214685ed83c6bf7253c7255b7d87a35426e7ef4a1071f7f76a23bc9dd0746dd7fba01dfccef32275e7ca95b50593cbbff3f479ea305f6a5d1f9d8b25b038df84eda95514a6475d8512b562c9d37f230f543da2dd9ae20dbeebdffa8bb1b8191d32649fa79a9fbb32b364dbc78c757bf70ee172edef0fcc635e77efd27936f517ff5a0aaad981acfd416bcd573e7df9697713d4aed5a4f172bd4e8a8bbe767f606d476b96740c0543fec19bad338ecaffeb0f6ed9cd3a18c1d81e16d6af7f996731fd39f9f5d0118ac7c8ec574e027524c97007818349468e812d3a5ad732bdb7d4c1c7af50afc4c0bac4f04f27e06a66dfc6008c6040d02fda8092650f46828ea11182b81cc1f01de923fb632d4c6d23f351a6afdc7a77151028c4b4dc1271af41480b1d050128b2eb187ac7f6c87b162407e8bb1e291cf71660c1973de8be2c7f167af0066a5e7b4a2e1bd6b7792a63ed32516989d2d1e10e807435e4b06638bc6e73d314ab7206ea6b977049ddfa95219ade80104f3d55f98952b577abdf1da933f7d4426ec45f44108f5d690fa84afd8261abe780c7fd2492729c3cf1da3bfba04190fe0da0c6f2c7bad71a2679a156312993c0ccae0aa6ffcabd403faea27d85e9ada9a43e35f8d5dfa0143569f34212b0f363763d1ac7ab002e3f635e1f5a9c03ab6342bc6243279b3e22bb57cb776ce9cb9fb2e3d50863f56c417746fb9f1bad71fd9fd9d1a0a7cad6dc2e0a7eb1e1549fead17fec1958ffe4f9fe67da0fca30f3ffc85fff7ffb9ffde8dbbeeb63b7fa5e945de6e8de634bef27acd8f7ff4ee0f7f84918aff78e6b80e587ed0eaf3fe992ffa6eba67e3bb3e7836b176df63313e8f3bf1643d90e7badb6f9d3f7fcbfbf96a8e9e97b7bc14bde19a2bf9052c868e15ffc4ce138f3fb664bf034895df7cf229112f8de92531fe60d2114777370225ae009e0bea7abc681eb8f79e05bbed8e80c2ab63becc0b18594f98ea5b579dcad1c198eabc79bc34db52a221981ade1befbcf33c868e7f928707661223288ff79c2304e65f73201c64e5c128a3a1192cafa0cb782ad5aa090f190186d5b6c155462c0df51927f21836fe694653fd54fcba23df3cefc6d5dffdc135ef3df5cd0b663fb7feea8bee7871e2a8372cd9eec9b50cc982c50b26d63fb9f0a093f69afbdcd5dffed29d8bf6ddf3998726f63c7ad5b1873cb3f1aa4b79cb3df2357b7ef7876a896538301f1cbc78c395773ebedf81bb3cb6e65b17dcbdfc94d3172f9cb8eaca5b1fdee7d0854fffe48adb26e61dfeba97ba7f210cf176fc667a54341f41d6e5b557ac7df8c48316aebffa861727765fbcdb7613dd0f3e2676e55bbaeb9edc7df989a474cd795f5eb778ffa35f787af3c4e6a79f786e9fa96cf79cf3ecb5e77df9ce45fb1db264f1c41557ae7d789fe5bb3f75cd951b27e674efe739d3f801ecb6e7c2177f7ecfe689fddf76d607dfb2798273f9ccba35176ed8ef03a71ebac3769bc980cd4da79f2ae2d4ac05f450bb46e8d35e0e8427d2d7bdee7534595ca8f34e153dcb969f9fb204f0030dd741d720cde975cf6008f70c7465cf00768f812d717148c93a08234f62dac250c4ae83ea11e887751041f0b0bf1ac68aeb6174596d95eb6a789bdadd90d3942dabfe34823f7cda399179904bd0a305bb7b66aae2733b31bdcea46898bcc0cc5c08d468882bf7d990eae121297efe47136ff44ad2ac3ed1c0eb0a5e409460e2a2c1331ee83516263060675278340acc530c2f30041a3381540faf7f9535ff1a4b9ff44252c86d18ab6d6aac5cc8bdae5cbc39bf9e749af0d49c38af2b311b82fc2e08868746ea5c576a30c133bb8deeac8f4ab01125c1e8e9a2543d4d046c1f998ec9e180030ee061f8b2cb2e2334db17fe422fbf56459058ea61f4a3739b765153d403f6db6f3f1d12944b9abf218cc3ec5635a78b6bd5043019eb134de5c51e9118433461a2879157063604b525e6026a6dedadfaf089129f718215bd6906684b535b646043848986ae1962f5fdc795a0fa3110bc510014483461d4df327a957ae021879ef1e13fe5f799fc8fbfe883d9c6bbd6fb0fa86aab7970f2d4a7e1a86ffad9358bf7dc8b07ad44d96de142fe1ed28dd75ec31777f9bbb53f5d733157f2938f3f7ee59a4bf6dc7b1fcf7a77193cf9244f8cfad716f1b2430fbbe407dfe3279a3eb0ed7bc0d2cec38f2ee1307878fbd185e7f3cc8987c4d2dc63ecf076db1df3b693f8a12c7fae89bffa4b7a7ca7f7826f7d9d5fc3f2f8ca9f56da69e7797c2f976b9e6754be4b3c67ee1cbe69ac138f2b9e3ddec6ff15975ec48f6651f278c9fff8cbc360353555425fb6fa0253c54f77d38d0e769ffd0fe070ae587331278663bffc87173eb0e95e72e6b7bb1cefe53fbc80c47858bdfc2240f701569c9b9b81ccd02e6a4a9826673de48834df3256c5bf4a5c09aa1f49f8ea07523ff6468fa6fa07c727406c086a8be4a873b29a98bdcffbdf7dec824d377cf30b9ffffce7bf74c98df72f7bebbb27ff69975913bb1c76ca514b9e38ff4b5dd78d4f2c39f198bd172f3f887fb6853f24fed58b6ee7416edd65573ffbd2c4ecd1324e3e4431c4ee6f3a65c5a2e7d67ce3dccf7ffe9b1be61d70fab14b16e26abf892bcec3d7376f7b74cf934e7f53a79fd57d4c4ce13fb35e9afc3c055227eb2e3f8fc097fce2d1834f5ac527281d39eba55d5f7f2a295df06552f87297d2d17b6db7c3e2e5bb4f5cf59d2fdfb0e044b3a5eb862796ac3c7aaf5d0f5975d492cd979ff7a573cffdd6addd53ee9639046f0bf65f3ef1fcfdbc499eb5e33cfe4ceefc9d76da75de8eb3e7eeb4131ff43c77f79d2fce59bed74ec852b0073bfed45c699dc7d1fc6f17b500199f9f3a204cf8dc80601602deaf8a5943e1dda2b0c700bb42b93fd10f21b2bfe281167378ee6e0a6b9cfb1fbc6122492f9af8cc3a28af4fa388ddff908926c3feca61719cc1c3586dd5ebcad11eeafe080c6f53bb674e664c3f2be23ea4194cd3390bc0f407cf65ea20365832b63451c60f4df59068320fca2b869447605c78a64bc8d88e2493cf87c1688c1b3d5d604ad5483affd295dc92738dcbc14623aee67d5b123667fc0386b162f41cead764acd81310971cb8debc06bc483835ec15cc0de0bfa1cadaaf062bbae02960162776ad7ce60d49937b8402a604c3bb35d1962e4e3d0e11c088ed4206c95f45fafef7bf7fd34d37fdf55ffff599679ef99def7c877f7015190f99ab56ad42a3983a18ab60fceba74b62848925e6d074f8d39ffe340ed5e853bc6cd93213f89bbff99bcaebc4e39217c3d33487aa69b026e4163d267d8d648dab736a8fd1a632eb1c3b4d19cde561623beaef2a9d10dd7c4c632c8e6d347d5b19ea6804869317c32b4eacf07445ef3f97cab76aa3e7579afc511f5eb1f20fa8e6cf1a555bdcf68fd7d0bfb8fe67fc9d21c478530338f8b0c3afbcec92b79d7a1a2f452ffaee37afbbfaa77c84c1b3e2e16f395a0d4f8cfc05dd5b6fbafe2ffee5bf424f31670ccfbbfe0bf9175978897ac687ceb9f0dbfffcf39ffe04cc63de09a7bc237a0f36b60018fed2128fdffcd332fc3b37737760e7fd2c7f4f98bfbd64dc777ff84f577fe79bffe5dffe6bc4fcfe9357bb3c1fa2a1c9219843c51ee3c8b6bbcef943505ffec7ff24c93f96c3eb689f27b1e5fbc0a77ff0ecd5e77d937f4aa7a68a2d4fc21eecbff857ff5bff70b0e5de79cf591f3dff5b5fffecbff95b9a9c9a858b1613c59c612c3000d2489ed3e1d82250d3b795a18e46905834c500c5891bbed1d054a3de6c1b4df56f5732a10b4cd97e8f43dffbc9439fe36fa4f3af73f18c364a60ee3e277ef2e3584cbcfed4b30f7be1d9e736cfde6187ed116fb7ff719ff8047f3b9a61648a7b117eeeec89b3f69f3caee4c0d7568e39e323c76c7eeed91766cd9ddb3da431d7befeedb87ae1f9173bdb2e999dbb10f89cd86eee091fff64178c04f639f1131f7be9f90d6b26662dfbe8c74ee067f7db8fe670ba76d8f724f5879d72d6eb5f7cbe0b3dd707daf9c7bff7e3c78fcc27f639fbf5fce063f3ec517aa3a0a77ea4cb7f62ee0edb7767b33b84a9c96a62fe4187ed78c575eb9e39f5c0ee71147ec7a5abcedabf7bda7fe8fa6b5edcfdc8fde674244dc699b9578de6d6f0927896a10986e7c993f588c29a02e696e4c263e961a101d064cd723ec7108cd223609d1264af4293deacad34d543a2c167dde7286ed6419af0c800b155034f0976e94403a95edb462359e38239aee43cecaf324401dd400f7bd1a9bda2a331d4fd11e8669c3ebbf5988413d4da190a26c579d026d8a6a0a9999e60a82be83eb41e9100bb6a6dd78d37def8a94f7dcaef9970d47c7ec61eddc367f6e4f34430f38b0c77171ed0c03be9d8250f063837a961bb4c133ff874c212c73fbc26d160c2677e9527162426e1cda1fa344fc31108b17e9c5b634b57789cc0e7d0e82267e76bf88c03e911179e0309d6361af4c3583108199fd764acf81d293950bc96b83c72edb103e0bc3ff2c8235e577cf517cdbc79f320d1cbd3e575851ff4dc3298a3a197473b9aee39d073e3b81714cb53cb73b7c25b03e4092483463d1e0807cfbb4dae3d9a7d8d7e8c158734c1898537bbe4c16c8020fd552da409c003280031cef50f890c87f223d5e4dfd70daf1ff4e4ac1eb1c7129f6810d0cc31823dc62ed2942d64789cc05b03e0b1ed8f039ef5436fb05689a51f7388439a60ad00f8b74b1e0cd0831a1350a9588c73fd436a120d4cc60427fa84441f1ed228f189130434e5c55b6fac7897c8e5ddc59bda8e9ba707454d714c1c078f8e3a3c7f3a986f29738d9a3362814a30403c72d69d534c9e79ea297eadca0324028b63f2fc73cf32543ca0ea07935f3b56cf3dfbcc7ffebffff6139ffe4bbec7fbf4534ff14fefe477aadac6ff0bcf3fc7cdc4130039980c5d1c57bdaef0c66b551270cc3d6a306f8c676fcff34cf78b74ac722c9eaf389c79ac9021d0839e4d00de2401e2f887d7445e59c60427f008e05fce58214bfe608fd158fae47b166a3c10baf0af00de5832e14dafa91b4d3c54878640a9676b04e1f5995e00c9c7551278eeae8bbf7cc9c4873fb18a9fbc6a124d4cc2c35010e82ab160e0f5a980ba8e1578d683577deebb8f7ee8cfdeb1f3280d0423cda6f3cefdfef2f77ff2f50b661a2b947befbdf748dfcd541e75e77334bddf71c71d4cf5dc8908c884899af505cc26448617a49c20f615fcdd3b48e670f727f2ac416e9670c2f77ddc17b9c6c1432276ed7364c49a88d17017641fa5edb0bf62b886b1e262e0f2e0daabd715d7eaab765d719bf0f10d770af7021fb5535bbc67a9b99b8e3bee38646c99fefeefff9e7f548f8bd93b0b508bfb3dba04744526a0ee17c2494e45ee9ac1007280493e32d621015ba34cce595bc3f5589f997605b5e6046002930253b14dea7e617683a4ae80794d126057adede231f5affeeaafc0cc71ce6268488326131c8026a759504918f9aa0153b8e2b1d54f34de063403541214200f300734608a936c83936772469070357f301afd546c0e1e4ea3271398e4e320d49cf5931c705e87054393a9248cbc5dc134f13c8cd52b3256febd5fc79651658672d8c1dc449e2f7f9b4ad3eb0a8086b9180dc0498d9b857cc4900f3ef8e081071ee84542131327266d1b2c890cbec132d4dc6b089cefc030143deb9ca6b6d4cae4a30969206a4a3436f18c4c3ffa874fb880900064f082609af891af180105ff1431bd60cd05d4e660b3c1e6108de66af44c6d5c487ad543aac4d0b83ad78f5d55a3ad1af9aa0153f06c5c70340917a0520135bcfa609af891af1801851c28627ac19a0ba8cdc16683cd211acdd5e899dab890f4aa875489a17175ae1fbbaa465b35f25503a6e0d9b8e068122e40a5026a78f5c134f1235f31020a3950c4f482f398caef51699a03405b40b039d04c9ec17aa6362e02ccd5431a08b17175a8ad5d55a3ad1af9aa0153f09c1ca249b800950aa8e16100c134f1235fb11a72a088e9056b2ea036079be28d1b37c60f86d168ae469edab890f4d69cb1a21817105b01bc802e6dd5c8570d988267e382a349b811789e3f0ebcd3dcc9efaa2883176022a6899f3e464021078a1825587301b5393cfbd453bc43164fe9d91cbf347aafdca5a75e5bea14781f5361344c17ded6ad5bc75f107029f1991357345daa0095c4505e0deb1a406fac563eb8d274bda30b327b2701bd92ca5ce3a2d1d5b0bf1ac6ca2bc1abe535dc8bf2f0393ca6e65c34a09b7cffc88bf31783c0eedc3994cf5468c2d3040be8e5332779303cbdd16828c39d6f535b4db0c50a4c09cf5d01863707fd23c043309a91515785d73f8cb698c739009f28b58a1f267470bca141903cd1eb84cf1ae5557a4430e66c9e3489125b9af034d500e835ae3ee1f5a386da10f412d7a6b6bac23687137e18abdf68acf8bc9931f47ce51ac003d8f59ef1145087e75c48b2634049f1ec488e764b937b85ec5438657547121e137919774e60f62b76a51740c18f51c4d49175dda382c6420b30c996ff84d4364d01b5259e69ba1b03e0c604a201c898b3381a73b0690a1a5acfec4dcf6af453f1305675e487b11a5d51dbf1479898c387eb2ad706c07be78fe31e9cb3e3e88bc1afc27cc5336a9deb467836cfa88e76733f42e6a9d887c69c17787a29301496120aded891d37471619d72f3e08a43af7b0678c476b97fd0030c6f59e9a299bd0124de863d03c3d28cd56fb467c076ba3d03a34dc9ee11ec9e01e0b90068ebe9a329834f9436394782612fda1f2b4766a8c78ec0960fc6c676bfe264e62c41adb33983b4649aa309b629686a6e1518ea0a98f8240176d5da2edea6fee55ffe653ecff378b98bb8d9c0de96629b78b0972e3024175c304d676a4cb839c1552fa9a68f35ac3e8d1b3f718e86a03489ab464c6d97f99818648d4553464d32344f6bf59ad71c305420e81c95f7c038a459f3893763d13b8c95e3b335c68a7b84b3e9b9f3bcd4f7abdc028e7ff3ee9473a421bd6838413449cff7ae9000fedc91e6342908dcc404c8d7ae3015a84f4d977eaaa66294d188d304e8477dc5328d20cdaa9c0e579f68688ecd335d822a8be73ed03975bac254606f6abac6e6101394d188d304e84771c5328d20cdaa9c0e579f68688ecd335d822a8be73ed03975bac254606f6abac6e6101394d188d304e84771c5328d20cdaa9c0e579f68688ecd335d822a8be73ed03975bac254606f6abac6e6101394d188d304e84771c5328d20cdaa9c0e579f68688ecd335d822a8be73ee0cff6b07b4e3ec6ead71aa6aecefb621894d188d3b43787a04fc85a1ad26625a7c33a899e660235feed42291f593cf7413ca42b4c05f6f2255ede0881e98a73316bd39d77dee9af4cc13eb1f05294de3cbdf88ed45ef70c3871cfc06ecd70f442bacc81dd63e0017d5dfbfa18311ed053f7f736f2d12040a64fe38235d716bd00b2c6520c63fec9d03cadd5f773d07f72d0154df4601310db8c37634126b7d8020c974c68a297a457ff3e490603e8c23f753f4ff9681020d327404c8d2cf908206bdc4e3a62cc1f871e51add5f773c05099a07334752c001c5263dbb1a3a66218634126b791e4b5dfb7730d0f6f533d17fd7a789bbae53d2117aeab57ee252e6e868c7b986b88daeb9ef78db927d52bc39c2276a0d5c71b5608e842038e6d304a04f0ce1ac6552faf73ee6767769b35376de1d5e090625c18305d795f0a0336256a311ae23639d06b2cf8cee3549ee406365b05e64c0d4fef3056afda58b178730a722d8159f5395f9e239e333da7c83c47ea39b37e6e8d8c0f6bb896e4a9e942c92f88e872e70110d3a4a0a196a1ce4e429c2ef84e3dd283b142a02d2498120d8c7ed4db4bad3e11f5a3b97a95309231b4495de3da0b13dbe0ce7e94435f2fdf784e5cf408689a5bf8cedd305653279a61a9a3318c950392ebd0a617cf30565be91ee4e767fc5bcdbc96cc3833fe5c960eb8d8ab34d7a777b71a64d1c08073a6e2507d332768ae5e258c640c6d52f78f1d26b6c19dfd36305fb152f8cf5f73201e3559893356ac41ac35f4ba6301b04851bb1ef18ed43d837f731e4c97eb9747cd7a44c908e05cbdde68bacf0134eb60d6c4acc54444665cf5782616863487fd1583308c1523e075f2ea5c578cf950a61b81e16d6af7db54663aae4526296628474a9c2b553eb31880790d2556d4c80242560d82f0eab901f069947e6ddc04051822817052fdd3a4d85b79fd902ae981d11857b1b8faac3cd8660ead0273562336164cd216d77c1a8734f55935e629af7e18ab3a26338f158f9af5ba622be6d9b1f6fdaafbb3300c35fe79cbca68537ca70a90e14f28edbbefbe6e3546fd93bb10301b117612d98ed82b995ec9199ad3e9a7330caf4f6a72100784ac9ae9f24433b624b1f4ca34fc746ec357ab90fab40b1cd0f04d33b20005a9a7e311d0459d210a085935552caf1e3cb6f4e3ca34fc746ec357ab9046b40b1cd0f04d33b20005a9a7e311d0459d210a085935552c3f8c557f4c1cba3e3f8c557f4cfe00c6ca258643cbbdc3c2e46f533d3a579f3c61e6eb6ce85dbfd8b480599ba8599edc0f002471828768eafa4817cd61cf50c7c4b162645ceb05d49461ac1c046aafb1d76aac86dfa67697e33465cb078ad308fe286826b5bc57e4320d86e733369f4819886066529f6cb9c929606a045ee8009ca8c9f0a181a4a91e9fde0fc6524f17569af839220c4a6a3281c73f7a9ae0e4802d0c3c1afd64f647861face0a9e18d0b0fc6833cb63ad133bd147d0ac0c97f18abdfa3b1e2f192b3cce9abd7152bbd57023c9f61738ab936f80c9b26d877aa30d8c2f00539f4f0d4eea8c0147add8bc8a72b001e0d4a9890362b9f2ef569a2114fc7eb2ad111474f578aa4cde04e3a2af0fc37b16cc6b6c993587435f9602eaf1fb17e82f123a61e85ed9e82d408e06b2c490595c7b6ead34423d64f9fd755a223500393586ad25420399277a10189d5e89b3cf5dce483b9bc7e123d3c3ef1135b780a2425409f32216d36397466bdf395fcf5130fe13181a4973a453f9dbba942d714dc925bd5831b9fd13779e6781bbdbc7ec478a0198c3eb686360458406f8d9504f4a9b76aa83ee6c9673a5e0ff4ea24ae60124b4d9a711e130589d5e86bfe98e8b9c9273c007da287c767787ae129a614a04fa387b4d9e4a06193031aada6e37595e888a3d7a1b5648347da493dff492c7dc6bcc993587435f9602eaf1fb17e82f123a6eea2beecb1c28fb65a599b1ebcbf1c01b8e7c1b9fb2b7964bc6b75afc51ac4b7785883588028ac56d408fc92308025d8fd8fcea9b33f513fecaf183d076718abdf8b7d7baee401f447a09b86faecd663124e506be62fe2c2a4c0546c93ba5fb81521a92b60fa9304d8556bbbfc6d2a02e7441260ea744f8f38c0d9d33b1f9e2618805eec883145ca63d898c7363eab06f3d8f61dd2dbc49a2e07677363813d16499cc05781395b570d4c6c0d145b1c9a9efa61acb6b5b1e24aee5f57bc17cd05c30d65cebe2cf5ba724f004f530c40c9b9e644f33615b7f4ba77d1833b1848f99034c5a39e2d38b682c8f4536b1d6a5eeb1a42f3ea6a2c6ecca3a97cc5845013d0046a9a636535cf082431c77f1534d16d8ecd21b67a98c10fca2644d2b04bff0da69952f5211b104d00828a9b66ed0a06206b8e5752be0a6052aa0692663d2818c7a7d692f110d084685c55b7c1b105547de52b8e26a06f385d57780056e6d090f255d044b7d9d842c64487a975589d88a34f3363a26d9faf4eaaa6f2154713406fc54db37605039035c72b295f053029550349b31e200c4dc9d492f110a0ab6afe6b716c013574e52b8e26a06f385d57780056e6d690f25550a307c7b6ea1bcc93e7dab56bf997edd833e4dd69000b0d4eb247723fc61a0499ed1098c5080d7cd638489ad1d845e8aa31cfd8460c2fa99e3a5df109a83c7a9ac3feaa8ec930565e93b978189cdfe2bae27964f86d2a4337b60c6f53bbf78d0c8df351de32c170d971b5519813e161c0b927c130beab94f77da6867e5e084f41c3d41cac1f9c47834f30bc259f0bc28bb12507fda0894f93a9fecd131e0d982860a283cd815a0fc6222e4a3436ad69c61626b6606251ab578339cc30561913c7f9b51a2b16f899af2bd775ce1dd322b5d795ef54bdaefc3b8a9c503edb06a3619be24e4510cc31569c2621704e93024ea1a97ed4b3651f86003db5fa68641483e12be3bb5c7ab1ad188db2e4a046b28ff51f5e9939548c80a679ca27e7d8eaaae6598f253ce67a10244f9bd6b88aad3826890b138dbd26205f993a3e15a351961cf010ff7dacfff0da9a43c50868ea27fe05b1d555c684663d96f0586928489e36adabad3826391698eadfe8d4f2ea25ebf8548c465972401fff7dacb7f0da9a43c50868ea27fe05b1d555c684663d96f0586928489e36adabad3826391698eadfe8d4f2ea25ebf8548c465972401fff7dacb7f0da9a43c50868ea27fe05b1d555c684663d96f0586928489e36adabad3826391698eadfe8d4f2ea25ebf8548c465972401fff7dacb7f0da9a43c50868ea27fe05b1d555c684663d96f0586928a879ea41436da7ab55f219282b947b06019835081e0118e73ea38209c77e83670030cb2beb9abb97ec9d589be8aafb1ff72790d1c436a962e5624d2d4633ecafdcc239cec358bd26d755867d00cd086c99649b8eadd4cc3cd89fce9cfee053602ab649dd2fdc5d90d41530df4902ecaaf5ffcfde9df56eb65cf51d178382181c26633398c14098cc6402c49010415012a22883945791738314e505f822579192bbbc97cc38043010663060663066326084859022327cfefded5ea7bc9f7f9fd31ece397dba575d54ff6ad55aabd6fe3d55ab76edfd3cffaeabff375542342f2541d9ca85c33d3083998c50f356878215ae2b939af37c25f9a9c33961f206659ebe811a4e4da171b36ddc024b273f237fe0f2c5f7a5a73c9c9fc64d396ff00c778e35420ac5593c97e638c9cf72f53470d56f50cf79650934bb7c4c8065359fb57ba63e4492301d7326ece6e0ad6f7dabc5c284bcfb9570cd13932824a71a7cea842f0a63084c57e0d6e1adcee93ffd744ef913e2a2ad3e07826bf273d119f903958777a82f8b53c81b5c78332ec960e05418c374ea4ae7c4e7f5beb43c3fa7fe13e222bc37cef179d11939f0e438655175998537e39e7e2e0a63988e7a9c9cf8bcde9796e7e7d47f427ce1e18c737c5e74460e3c394e792eb3f0f25cd7e033863085d10f9ff2535fef34078cffd3cf13f233b6453ef539d04be8a4f6918e95c3c682337739b77ece6b0c9ffae1537eeaeb9de600c2531ebe1df765e51c16ff04cfe4e2e7a2f3b23e29dcea246c2c7886bb8c95610a5d6c867693f7bdef7dfedf544d87c3b9bfb2b3cc3d03fdee554e9df6295d97fb2b8673df950e2b3af6b2460c7378ee8334cf7d9066b68d3bfb209dfc8cfcf4099ff2f01943ca796b0875e30a66f413aa6926842fcd71425ef029a8c764742e31d4c4c3293f31437e94e5ea35e76a7f9bda54bcb7deb7a9773942913a65109355819195dcf33940535238e5834bb2d679263dffe364e8ce9c7eb920f9e09effd1373acd6a3ae48424fc3716a11892e8e2616298d866d0ae257911928c9f3c53e6ada1f58e6d7292ae9d8eb1066bf2937fb61303793acc271e42657496abb8c5c9abcc9563aa418d6edc3eb59957dd1ce825b1f7cfbcf2a9f53695d594f3ee64ee42e64e05080f18c3c0d90bf390e6d4d4eec584f77a48bf48aa33cf7326e98ce6b81a9d24f7d68ff396edbd1e66d0cbb8c967f43ca733c27b6dcf18c217dbcc2f5de7e8a7be987555279fab68f4f176ca074fefe93ffc386fd9deeba1116fc73d25e3fc04294c3d519d3184abc7f6a259b3de5b1d311356e767ae825c196fa77cf0f49e9ae1c779cbf65e0f77e33d2ae39966b224709e4ff0c8e8e1bf639b6663852fb617cd9a791effa35324d5f9c9f38c7e6a8eabd199ded3ff39ca68e6907e92919f1e66d0d31bcdb11d305681d3f0b4d5ab3456b83a9d5b4c3243dcea144975b679ce24fdea533e38e7f7d68ff396edbd1e66d0cbb8c91ba5ae197184f7da4e0c3ddcaca9eeb501e1dc0f00b30fce5ed30dc3e8d895846d573256fb266c0b9ba1dbd7e89387750de65fb39b1cbdee5bd2691f84671fa4b6f757cb15062acd9357795e3d1a7cfffd30065e7c70f861e257ac31092e70d6f2976149a69c690eae19b8d4d21089fa04a54512e041cf8755e97b9bfac20b2f4891b2956e01006a7354ce1a4c52a23cbb9ac7c9e151c88f84381256955bb5866032fa83f3c3904e86d5294c788f7cbff852f432162bcae37f6200684efc594d33ff299f26c98b6df899604e9f1c6a8e9f73ac61263f135b3154cfa09ae7705d7e1e06a74073b98a0a4fafe36db8259fdf9dc670ef4b3119d59609e53e2f6b301d5ffdb5a3ab119b50e2f6bb5618f0e32256fdccf594b31d617ea6c984ab94ab29e48abce081531856e7e4ec6238f2f146929f898d64caad5ac33119fdc1f9617b893985ae653c03e9e75073c6026eb94a413de4c06773b9c2c6c9e149ce1d530775cb1536962b24ec1a44c2ab93af1c20ef5d83f694732a5a9b7e7747e83fad2937ea9d7b069893367460baba97e8cf265d6e068c3bfb1a93291735f2863325467f70f3249d0cab5398f0c679fa93db672c80f2f83fe56cbb2ec2fc4c33ff299f26c9cfb1f44e30f919aea6eb94c3a3909f896dae05b8555baed0f25a7165daef6f53cff979e24f3e1bcf27363f1c535dbb55ea2b8e732beceedc7fb01627a54ed8244e5282e8599d24a28c2d9c6df98eedf884334f27399fe4feba403925dbfc375ce983ff74d29789e8f0c6569c74143a979829cf58f9a44f429e0742201dfe3914069d321df9ad4f3a8d35d7b55ce1e4a9e24a300ea52f3daf7cc4f6fb99570e697dee33affc77ed968619c515dcf3232630e537bce10d8eafcd37f361e4fe0f777e10627a984b74e4dfe69583f160f237bef18d0c75f93bc37c0e6e5eb941e1879cc2890dadd9a9af18e86b0ea6afc97fff9b7cd73573550ce174b24dc777d25a83d912360a87d404a3bcf9cd6fa693be6b21d1ab3ee32f667263c1944faef81cf972b55cddcdaa9d570f1e78e161d760b9e5f595af3cf4bfe4769f639b42b9dd5e632b719fd07d85dcd83d835da3fc69c382bbe121e95e451e26d4a5d8a7e2243ff61d79b87ba1e1cafc61abd0e73f793a7b7fb55c9918cd2b73a34972ceabe6cc6b35af8c7e3771b7dcc7c0be4dbdfb7f53255929b5031b969acadd34970ae55680a49a0ea04e526ea5c33092d34f21c9a99f64466cdc51d09b1f13b718269e8b7c4c92332c86667cfe61e115cf196792e26778ea342ee78d5eb4d30c189187429d38758d9f3ce7819c669233863c17490a494efd246c1bb17a14f476ed138366f8221f93e40c8d9b329c7f8613ff19e7eb972bfbf45cf870e598d4e7325cf92dabdee1d07dd2700228fcdc7235ef669f9c2bb732e269f43c4f3360949d57f8ecb3187296abd7ef1a2c729fe02c3a78d6daac41e094fbe833490ef393f2c89fbd7cb55cf5e1aa9599030192f6a966c2abc3557bc139a2188ae7dc2bcf7cd5c9b3f89bf3f46d3a662f3fe44d639274f2d33d18cd31e1a7b1cefd25e7976bcf8f7a620b37627531e79c84c2aec13859ae9a0f78780de7d5fe3615ff8f2bfbdbd487e71ccfeae2c8d2f54cae7c67facef33f92740893a72f87f60c8fa1c407ab61fa3db381e9976a9900e47a0969f299beaef4931703ccbc81d4f9e78150c927909c02fdd38f55373118b138e9901b37f3e2c9f6d421a753008698d868c603405e9c004d3a3c93f3930e61724285cf629898bb76fa1327fd024b9f5c2f214d3ed3d735f174ede9707b37cc83929c2b42259f40722a7caac7cff3c395fb039f022a224aedf9b433e770e5d6c4ddc0c9157d12cfb6e32dae48dc5bf0c616a6e325a7cf28aad5c3ad4fa7cf5dcdb9e7eb005ba5e7e59a3c90ab15723e790674d1e1999c241dc2e40fd43f81cf62a0dfb5a861faf9cf4fd7c50420d7cb094d3ed3d735f1e4271de60da44ece03a1924f2039053e4f3f229f18783bb9326ee6c593eda9434e87c307432d5777d372b96a9eecbc32135a17004e760d96334b1708a97c8cf98ab7c9f9b7b95def6dbeb2b1da3b14f95f0c74d4dd0f70455e9c004d3ae5767b443a844ce44cca8a7da418e8b777ab61faed2ff969d3499fbcfb019a7ca6af2b7dfef3930ef3bb611e94e45c112af904925361ab1e3fcfcf3dc3726532bcd2f3aa49b8f52d03fb36f5c5dfa662a734d459ab267c1196bf4667381d39406861dfeb50caab6bf4f3a0392639cf8fe53131d0844773fc8f1c48ffb485091bb71c4dadbc03243ff5bbde7c86c776f4810b2d9a1367f1d369e869925446deb873e17a4799c3e50a211f2357eee186deb88d7353a277a47d22bac869f603d43edc3e0e1e807be7951b8e991b00b59d578fe36ad72066ce7935f3b0b977f2b65c2d576d287838e7c965fe94d996aba7872b67ce3ea3d9177c3a6187d5ba668b77fe842f428f1bda6b189ec534b0134dae984d8dce38e4aab108e99f7e34c724fd9d57cbd5394f9a0f33495ee579652dec6f53717e6fd9b7a977bf2b6b6a9aa6b0a55bdef41c6e7222b95e45d73c4b83e7f95f72b658e68d4efa9a634b0293501e7d20b752ea982424e1470c9af9c93fdcb8f4e129a7fe8929346e9a3d1382794b9e1f26e37fe446875d119df4972bd4bd8eb8b2b53f6e5ef529abe77337afdc4cb85168aa54f3e0d976f71f9779d5bb41260a1d4fd6819d57add90b57b11da5bb065b4493df96ab730d2267733b12761f340dca1ba850ac17f30420575b358fcbed7a1178c9ed1fdf7925d5db1abcadbdcbfe9ff009ed05e2b9dc33f4ee9442d752fc9abe274293b038bb1001bbc63e7a9770de5fd95f5a237b7f1557f8791c57cd13342e57af17ae7c585b1ec7c0be4dbdfb6daaa4595a973731054b889dcd343b98ddca6d12dd8f466e393761925230f37138f27c26273c9b30437ec8c77ff1904c9c74b2cae7e386c8d5c436d735b6f9614e2757492eb5ae3199188a677c5e744ef972f59a73d5ef42ef9d57dea0ce67dae72eda4aff05eb7cf4d30bb8ffd87935cca06bd7e0e6ab59204d06b3a219327383c2bd6bb0f9a36e4dedbcc2c07235d3e07534af3ce5ecb39bc93f73dbb3cef0796fd035760f76cae79e41d7ac8b849a0a4ed4cc67713d10dfc9f3b96bf0bca95bae9a3033af9a2d730ff3da72b5bf4dede3b8b7deb7a977b498be3d7794d714d8540674cdf3aa99e225c1795e25b1526bae036c2928ccc7964eb8b1380fb01a79b6bad8aa8b87902d0c28854402949d1f0c7537560ae9d49c188c4292cfacd49e531226876789c27a8ba15e35b7cc03ba8a4d5381a76bae974e26006fe4b154bd5c21e7d5e7aa2f53dd3baf08dd0adc3bafc82b7ddc22f799c2e277cfc1d003f59e97c3dea6eebc42d12d57bb06cb3c264ff3074b95e56a7800ee5d830f99da79b5fbe0837795ed1dcd0a59d7fe6b4db5bfcf3e4bfe2accabb606ef45657efb8bbda0782c6aa3cf8d812e7b84f7ae2df653c7b57042e2123201ce7b0656e47bcf808457ff9ee1b59a572e5679aeee45bbe4adef6560dfa6bee7fbbffffba5d7ee23cbf2dd510d2e811262b01c1a95722e9de427b9e9e82db7e62dffa9c1b992c7d3014892d7c5aa1c91fcf496ff73143aca19cfa55717856298eb2269886268c419b760f249333950cca7fcc41ca69c73568092ce3413aacf384f4c3f9dc238e35caee6f3c212fc117175fb4e75bcc5bfb5e063ca731f013cf33c1daf58fb5c1aba18765ea1eb96ab6172b97ad979b55cb5beaa878d9d5793f3e3e46469b92a4b0f274f09570e9fd6bba884f7b87b8653a77b83aea22bf2593ba3264f725ee93913c2ea14da9bb86adc80aee440a39cf2d3dbf46ebe5aaebab77915e6952735fbdbd478beadf76deadd332a77d87293bae755b0d9198e32f98e500164b4b0ae69c29efd900393ddd22727accb5cec6e9e93198b93e484955273f2b1cd0f05f29e33c1e29c718b7f6220efbaa8e55f57d735614f0c46c933a0d0579ffa9aace8e7b3b14e1db8428da132a3c0baa6094fcccbd503aa5e3daedc19f820e6f3edb350cfbcf25c5caf37a5f319ddce2b770f1e9053eb19394cdfdc988f78e7154acded5d8333af66a5bfc4bcda7c6505e167b9326d143c58472f9daf96abd79c2b7b8a622f50b717f81da94fadcfeef69e6174285428dfee83bc91bbbaee1f266fcc274e4e819c93746c49728826abd983e8248f28f5ce2b142d574fd5bc6a216c7d2f03fb36f5eeb7a9add892179a9abe354b853d53516b962565c3d197f86a66282da64f78e2f4298fb7313468f23ea406856916cff84921f9980323cf76e2b90d9266faa74ea3679bf31c5637d0c490615d5d72a38cf97823cff6368c0c4f9f274e3f3f53cfb849260086f072858127e7caef51cfcf2b32ef9d5734c9533ee74c26463c3f17c253a77866a04ca6cef6f673a7d0f4d879b55c61c03c51efbcda3538b9a275716fbed2b5f96a526e6b274ed4a5dcf6e5e1f0d599571e8036e2cbe6f6cbfdd8c49ce1cc0109e1c47bcf707ebecbd5cc8db241737eee559e36aef6b7a925877beb4f7ae73bdf796fc7ab2fec7fc238c73d2570cdc093d41edaa536e0d6ea031ff8c0dbdffe766f877af6e6011e1df39b09ec1b929e110a4986d59cdf5798f73d3ba49c42fa0c7d1f92b26f4eb282bd653a1560b6d26eb535d3b84c1472868071fbbba9303f79e89bc9e47c36ae6c2eaa534e53244c8a07f8d0873e6414faae512f87f297155b6c4624f73c329fe4fcb32a8c9e53e69f1fb6f0c4bc5cbdaeb96a3ef7599b8d4f32af98983cea9d57bb066583cd5765e6922dbcb97df7c1bd67983da57b0f5b867b8cf6ca97bd67f07fa4b9abb18eaca694cf25b6f757b89578318316ac7627b95cbdecbc7afab9728b6ef2bb10e5fdef7f7f40ed13af06def296b750b30adefdee77bfe94d6f926a74a9ef2d67d7e080faa3281309db0b9e26f04a947d9bfaf06daaccd8f9addafa8f6e7280d0e4189dbad2e9f14c0ae1e41966ab9e477de990946272d5a009d5b73af9d7751b8fc0929f3a67fc308767fc0da7665860d94efc73a5f939e5853d1e989f637198abf140a29c7e2e63e95daee2f30155af015772dfc732afa4d7733ec02e64e7d5b92ee05d83e584cd57b3179c8b6ed260e971b94248fb0e60f92c57270ff06c19e7de7aea3491484eea5eb979e5c95d219df1f4c155d77bea9cb1f534bc5e72e5f4432e6fcc7d88de2e0ad0a59e35753b67d21905cd5b9dfceb7a75b8ea5310d2798d4fced5792f2766e5f4b35c21e4f6736c023cb55c79c0b7bf4dbd9bcaf795fd6deaddef24a5adc881cb1d49aa2dfbde798e4e4941d393bfc9359aad042b849c4e85adb4c289420e274f8715391d42b8d5450726193f9a70ca6afa653a581167e6701e48d22787d38779ee1da9416172805523027478181e4814bda92d57b1f1809567872b8fc77a0df2d1cd2b33cd4d86bff7981fd8b3f31cc23db7a3e33ea6bf090927d49b1ab9e79d0947274935353e5350d319279e257bc03ccd1e361b8b9cb0c2b6b1f8218793a7c361fe0961b6ea2227193f8470ca6a3e6916bfa6383387f340923e399c3eccb3f8f30393e7a411c9e9f0303c90287a53238f13c2d14952ddb53c30baabe84c60e259ae96ab730eecbcda35f871c9571fdd3d830455be6a4b55f333373312d7de5f75175addbde272d53c8993f0ebfdbe7d3ed305b70cecdbd4bbb7a912a5935807bc39b69de7c033578e3c9349a9c9c74fe7bda9519f7fc0101d684f5bd8aa1b39e5c7d936444ed2c9a79a79f10f9e78ceebd23b250f7953d3d7d5b5148ce64472b9c6d36798322bfaf94f1f2e8c8b7c623bfda7c3300f05069fb6f07285a257882bdf21e1b98fa08f75e7951978cec9a66e9373b98a81a997abcd579bdb771f6c8752cb93331fda50349d8dc316cb72f5d25cc521a296abd9651e37af5ea75ced6f539bdef7d6fb36f5eed028697a6e072832a6774ac8b21ed4b05ef27972138ff3dec9aa609b303f0cd33fdf3d8e8edefcd3c9966742f5c8e16c8b6162d33444fa45184e9ea4f8a98d90dc5824f927d73c9f59c2a3632c51d1e1879c265c3ca70eb9b25c3d935c9903de38a915af1a765e610015cdf996d5ae410c6cbe32319a1b01736338d9dc8e0d4ba6bd431d45d6d172d5dc8887e7e79ec1cb00c59b7cdf1ff112d5f4c080f58281e6498454936389fcf9e4aabd66efaf7cfae6c9f3702f7a4efec51706f66dea8bff6faad4603d0c41a5d1d609a18db6de53deee4bce968e845b6e0d908c329cff6af2b185b3ca8f3ac9a5e6815a3e8baae6e324e4c56c44f1841b77c2a3533c81e4744e5b3839cd13c706899249516936d6453ed77bf133c18c138645555dcc84c3cca577d8a0393144ce486a16d2e86b26512f574fc8951fb22e574fc8d5ceabd6d7ed8abb952c57cb9559b1b95d6e311350a1beb0317b68f9e7d23b6b6ab2d3f819496e1f37d3c83f8eb97dde97cefdc3de33f4199d3cc3c3cf8997abe78aab7d9b6af23faeecdbd4bb1c2135b737f45e11593600cf7ddb1534e1ce48a9593f14c8e75960387d0e7b664c8704660593f3af4e9e2d433a23d79c1d25f948c68fd1e9b786b92ae67cc2000f8d2b664d1e267e56c6d59b1afdb2a166cf2f8b877e71aa471f56d84642e3d2674b9f1c5666acd4962b9c3c4b5cf5fb46cfc53d119fdf3aba23f18cdc3bd89d57bb06cb60f200603e6cbe9236f1200fc48c5ab62c272c57bb0f9a186688f5029827e6c6ac1d72f3a4f943feb471d5efed6d0432bfbda0df39f75bdff602912b2237cf9fb17db0fb9cd675b8b53cf74b9a3ebbbdbf6a3eefbde84bef8356c796c731b06f531ffea55f04594ed652b946f69975a52b390539d76c2329edce192c39e1e8f05082ceb60f207d929a3981938ffe8c5e0c236fdc89132099d8727b8e9b9fc68253569f58f3bc9646acd6d5759d7e529e18e68af2d910270f17ffe3f3d4613bd7987f6ae319562ef2d12fb6a9479ec9c4b95c9d9f6c78b9da79655d980697fc73596b66cbdd0adc35b85c3dd81f67cecc9468fe68369736b7a3c2aa397958ae662f9e9d7def1926f75e72ec72357774ddab4c6e49aea9b44f3d1b5ceddbd43ed37beb7d9b7a37d7e54dcfc3a48ce67dcf2f6192797e49a7e764c3a3e5913ef9ac9913f3496e5dd10c8f7f4049aea663acd1872706ab74626372fa29b6fcc09cc0e3a738f92986ae25aca64f99093c3e1b77f2029d6223e127ffcb15c6e21927cbd5ce2b0cec1adc7c650ec80c780094cdede5c9d95f6c1f7132f2e5ca3cc1867d7638997b80e50a03b7fc2c57a6cade8b3e7bf7a23ed62d8f6360dfa6bee785175ef0ad152b1f4766bf8307203f92d42c574a9a73267163aaf7948fc9e904567205f0f640f0f0396bb851729864f4c7a490ea4d481f2886024b5e84ea3336e38e7e784ca80dae6be2c93fe1f824c92d9d192e6156b7e3ea5dae96abe6c0651eeebcc240cb67d7e0e62b334139d7c82539cf7a59ae96abd9aca3c29468536e0aa9cb2df5269c7b809d57cb95f9d3dc304fca279addc5b559d7bbf3aab5f32a70b56f5323f9de7adfa63e7c9768dd2a9ed50590d5fb014dd833ce59cf74ace7723d79d95f13ce9626db0cd53d1fa540ce56dd2741eef614e601a630630574d1d7aba9f04902f0303e79a0c0369f74f24f3e3aa77e6a67cce3df58ac72c5b66ba49f64e4c5200cfa77613de067b93a595aaecc9f9d57bb06cb1567fed97c55c2c4cce676242872855901c818b0e41945f07265ed9827ede9cb95f9a06063efafbac73037f65ed4947806ee45ef52e196c730b06f535ffc6daa058f25ebbf5d5336b400486c9fba4e4ca7ec504d676c0324f4199e5ddce6539d87d367266abdea299778f8cc0f793a8dc8d518e6bcde91174fb6759d6aa33c31d73b3585b9c6132f57681996c2273f275eae96ab59bf2686b26bf042c2e6ab768707b3e361ca1d4e962b0ce0e7dccbaca0e56ab6fea8c0c9b9d74cce59ae9a3fb1b45c9558da836084982adde6d5dc79d5522ae7a85f39aef66deab92a2f78dfa6be782eb53215abd45a6d4622cb731a199f9c102629d77b9e47deacf5dc979c0e093921cc03396f70a4f310a6d3fdfaf867a2f04f07a04667c66a5ccd7c169bb1f24f4e3f1d8079cfa1f343dea0d952567429938f8c954ebd5dafde6298ae9ceba5062b7496ab7858ae765eed1a94554c83cd57c3836c79976a37b7ef3ef8e0fb59cd07fbe6de335814e58aee37f6feca8d044ef6fe0a0f2646a5b9f13cdc8b3ebae2fdf71e06f66deaddff9beabf9cc64d79d3c298732090bcdca16909c9a796cde887355b5de968deda125e0a136a8d3b3e672cf2717ee262e04a6ff2e9cd61a3108e4e409ded798d5d4ef289210f9ae4e1e2cc9024e7a79fdbebbdf53997935b2603f239d7dea0674d73b942c82dcf274be1e56ae75553050f9baf50b1f96a73fb6c88e643ebe2dcbf761f9c6562aa2c57d88887a99b36edbfcb150694d611302c9939705dcbd5b0f1b25c796ef5d7fffa5fffc44ffc447f28e7c77ffcc7d5158680daff57ff8e77bcc37f04e8bdebbffb77ffee6d6f7b1b7ae9ab2fc571864457209c4efaeadb6294840f077ed01c5c0c6320a498000040004944415414269e24d523045e89b26f53ef9efd5b6ccd2773c5761506c8916e33a3334d120ac97b6f9984820207e828566ccd744880c1e9d3e1e781faddb3b4de4568c2ded1018531b6cce9b33ae5a97148a868d2e1012e6ba460b2326f5cc058f921996bc97fb6e9e4b6d8725ecce4dcc229504e679a2414928f7f120a0a798044c94ff224149470f2c64dd25829c0cbd572d574c2c3ce2b0c58aaa850ac17b535b26b10159bafcc84e6c6ec6be5d2cded56cdac114b065eaef69ea1146a7594545b263337e4935158ae868ae5aa1cdbe68b16c59c315b4eb9dee6550a5bdfcbc027bdf39defbcb7e3d5177a5a7019f494c035034f527bf090da805bab0f7ce003dff33ddf432ebff8ffa93fe3333ec37f4e6d267537d3ff58ed3faa2699c7069a743ca8485fad8b7972d870f4e9b81ccd8b9ce7532757a3df581e5ad061fea99ffaa91438cf67b69af46772171ba1bc00b37539f9e9ba686a7248a7eb6a50b5eb350a93307d9743429eadaefc732e869177edacf42e57cbd5ceabd6d7ae413961f395ac8807c53611965437b72364f6bef6b2d92b97ab992728325596abbdbf3207f6fe6aee399fed7b51770e9ff2299f62ed2bef7ffffb036a1b4735f096b7bcc5ad26cd77bffbdd6f7ad39b10a24b7d6f39bb0607d41f459948d85ef0348157a2ecdbd43b567df0f30e53d30eaaee9987e71f9a49d2499e64e4eeccc87b263d1ed8f2ac29d7f4de923e1dc29ed192e73f9f19e6938e923e5bfa707e00fa7ad93251e0fce747731c7ac7384d78b21e5c0c34f3acce271d425734ef27616391cf5800fda91bae6b49be5c2d573bafcc0165d7a0fc506e891078f395d521036f6e3737ec2cbb0fb66fe2c1eab04c70d21a699e10ee3d43eb0539cbd5de5f9906ed23331f9a15afdf7b5117b2e55e06f6b7a90fffd2af5da1592e153a959d38e2cc7ef293443a942d955bdb9c506ecd00f93cf5e1e47466673a31ff3c376ef1d09fb1068f9f53476f431bf7f49970c69d2bcab6b0d3e9bae03c9c9a1343faa72dcf4a56e16a3a9497abe56ae7d5ae4139413e692dc0f2893a5aca36673e2c81dc6621f2cd57485baeda8f4c065362e71536da7fcff575c1cb557366b9baac9d4b3e99dc62fe2c57af2857be5732bf4dfdd99ffdd9bea479beb7f40d8bb7bffdedd4f6b7a9dd123c5f75ef18bbe69e655aab66249cd01255ac5835c983d6ddfb4c3a8432fee8772f45deb32e9a24b09a6172fae4ea74665ca01c61dc7691c69a1ae0810e506cc52386fc271f1dfe75d1d79bcff41b3779ef4bc95931578a814e12b67492535bae96ab9d57bb06cb3fe58acd57d2a36c695d6c6ec783f960d73037e204397226097ed4cbd5de333437ca214d0f33042dea69a6b35c2d57cfc9bda8993fe5b33ffbb3070fb85738bdcf36d8b7a9776f533da268676d1f952edd708c44a68013ca9b9ddf1236394aafe48424e324497ed21c9cce78bef8243f073a3143c3a53f53337dcd462cb937c419dbf819611ec6e1e9279d7848a168cf9ab9aee56ab96a42c6c34ccea68d49b2f3ea5c9bcbd5391fc2e590f2c972858129cb55eb251e06ef3e785261b65cf899bd9e7cb95aae30d04c50975bcc8a70378a97795273e7d5abc6d5f9ffa6c2bffddbbffd177ff117f336d50f74bfeccbbeecd33ffdd3f76d6a9fc87357cffa9ce5ea399f2cef267bead673cf75c815981050d32f0ff2403e0c7af7c843fec9f5d227195b78de4f52d3644b67228149f86fac7addd2692af39e331df26ce9f340e194734e4e422eda7cd60c938f0e7985844ffa4542a7ab9808d9a63375e3bac6ac18cef5eaa2bf5c2d573baf760d6ebe9263cbbd6557f5e6f6b621cc60637699f859aef02073ee3d4337277b7f653e287b7f653e746f39775668815f47f7a24de9ea37bce10d0ea56f7ef39bfd5125e5f33ffff3dffad6b7129e3acf15deb7a9ef79e18517fc41dd3e7593bb43d46c969db5f4ba81e88446a27776508b21939937a76d9ab95573428d2d7920ab4cc6f38491c9e88fc9c8490637d68c78192b5bca8dd85813fc38c9a1ba8b2207a61e796ae9147c5df95faee2217e96ab16cbc9c9cca866d7ceab26490b273c9c2c5751314972b9dadc3e29e55c32e1dd0787072b4559ae26753437caa89801962b9ccc2401962bf724e73c699244d12bc7d5f936d582ed2ff1fa13bec6ed9daabff1eb55eabe4d45c8f3587a46ebca4dc7ea00794d890c9e67339ee199467414cfb1f452337dc9136a660bb022cc8f9a7eb6e43089c276b05e7ec6a7def140077e60f1d07f6b8684559a6c01721ef269f4c652935b8162ebf8c4aa38938f7ed74b98bcf8c3f40143cc4505f20367db58d496abe56ae79575b16bb0bca4567ef5577ff53ffda7fff4dffedb7ffb2fffe5bffcc88ffcc82ffff22fdb8f679e3c0957bff88bbfe86b515c4dce91977efaa77ffa831ffc6019e923cd576cffe88ffe48befaf99ffff9dff99ddfe1443c9387c9497ef2277ff20ffee00fca7586166763a97d414b3c1f7b6e3790ffdb9d73f1fcfeefff3ee0f6c5a0c6d2a5e9ba5e3ab7d3a4ff84b9ddffc7f6133ff1131f2957f445229eaef75eae62e65eaed8e2f663e78a9ffc178f269fea27e76af7c1e50a03cd557312367f949d5748b09aacf1c98124cb1506daa7b021ed0cfeb870c5e7967b19d8b7a90fffd2afd5d8268726f32f0c94b96e9fafc4e6c887dcb64ce601f2f0d424d262c3355035e1780b579ffa334ac29aac72a86914f8945f7cd675fa4fbf78f2c3496ae7b5e0e1713ae9535eaefa9497abe6a459f4b839a36bb98aa5e790abf7bef7bdcea5dffccddf6c1ad8e97fe9977ec9fdd0777cc7779497ce7c5822bacd574eb65ff4455fe47b504db0d47eeee77eceff26e72b52e5a2c7cdbd7bf3d57bdef39ecffddccfe5b33b548fae2773e65c7dfa4fd81c563b52fee11ffea12b9a14da559cd772e2ae8893d1cfe1873ef4a15ff8855ff0171d7b82ee1b5fbffbbbbfeb30f98ddff88d46a19cdacc9cd3675df4fff88ffff86bbee66b9e645e390337dc47c455918c7fe3c245520c6a4d75fc240c4f4d38d79eed792d277e1c57b9bd70e2421af7229f08c75b017415732d8fe3219fa2dadcbe5c35f166e69c73b5aee6d8d4843baf6263b9c2c3397f265feddbd468b9b7deff37f5212d3d17690ec181ce5d66524df752939b9891b76f910315b65951189fedeb6a42aedc09b55b6bb2a54fc81b9c4e78f683f3d91e9d82d15b0c351b570c84e90374c66763a9d3c94a53299ef143424793cf224fe74ef54199ebd282335cae962bf361e7d5aec127c957fee0fe9ffcc99ffcf99fff39f0555ff5554c34fdcd7d7f8bff077ff007dff5ae77fdd66ffd96dc6546391c4ed2f31ad63bcffc137a13f8dffffb7ff7e291c4c4f38528a7bb8093f0fff81fffe3877ff8879dd96ef3154de752bddee5fecaaffc8a51483ef9933f99ed6ffee66f8a440696d0e878e56b885ffbb55ff3b1d2e9c37598f41fac7b834adfaa7fdffbde673803118a440c5ef61afd077ee007044ce7ccedf45da3717fe8877ec8c9963e9faed140aeda8b50c1c8db46fcb33ffb339e79108f57ace7bce2d35bdffffc9fff33935ffff55f671257bff77bbf475f2438e9a204864f91e0331e102e001297df706270694efea2a26c68fe996f6ec7392af0b0b9dd7c6856008a39339c34af96abd660eb74b93af39509b3f7a24d8997b86f7fb0b0b6ba87817d9bfae2ff9b8a1e33c92dc5e45f9266554b2e39093575423ae427b5a39c707c6a9e33959a3ba1fc8f3c4033ff3c53cbffe3fc90e7e48c273f5d4b03cd759d9e3b5b4e0c030430fa5d455d5dc2a8ddab5318cbd57235f364c0ceab5917adebd6265a86a201cf30574e5fce455ff9955fe91a159cfcd44ffdd4e77ccee7c85a0eaedff66ddf262f39987de9977ee9e77ddee7392b7ec9977c09802bef5dfde7729a3ff3333fe3fbbdef78c73bfc0944b6babee99bbe89a637a28a2399c3d8b77ccbb7f0f6a33ffaa37feb6ffd2d7f2371f227e068e7e9f5b77ffbb7bbdb765cfcfaafff7a073686dea6f2fc055ff0056f7ce31b9df7dc7f0b261def331d02bdadfdb44ffb348740ce45f2977ff99772a07329732f54f9f1fed3b9d709f35bbff55bbd92353a6f5ff8855fe8632d27179bf7a5ceba3ff6633f26066c1888beab26f19e99734efc098dcffccccffcd33ffd53cebfe11bbea1df29357f1c298debe5ada3b293ea777ff7773be1f3afeebd2e7d9cfcc66ffc06cf86c0c6fffa5fff2b1a9d425d91e1044fc8e1777ee777dec68cfcc6ea336a5af2d9e765acae489d3079cad5a35c9349fb8566548ccfdd07972bb3a2f9b6f3aa7531eba5c5829f592fcb150614cc3c335cc9c9f3ffa65a08f614a59c0fb8d8fd6dea83cffc79ad3c03b37dda274c7a73a5931b09ac6e3124a443923eb9c9e426a02e4df29cc0e4bc692afc9028e1198be1f8a7d37a2319cc7fcfe7c69649392b9d07ee1ffa272f1ecaa3136645ff8cf3d4695c123a1cb22d865327ac77b94285b25c99273bafac9d5d83e5228be223ca578ea967beb21fffd55ffd9523d6dbdef636f3cab1ea6bbff66bdffffef7734b535d4eb3557be7a9a97cf9977fb93f7de7b4e900e96bb13e08bde4e271aefbeaaffe6a266c1db7341df61c1da52fbdf29bd7980e7294dd0138c595038b7f4e830ea55ff7755f4747af439d1320ff7cfa85aa20dd520898370a4c44a5a6230c61532037902fdf1a3dffe5554d6ed98acdb951240612ad4b6642bf11d586236495677b0a613cbce52d6fe1a45dc6252041974292be78c4d66552884fdf07d6eb75b4f0f4ba5eefb159f129e686365631b75f14b33ab584ae91a4bd80bccfb12e4d720ac5b9fbe072b5f70c168562c5b52e5a5324ad917208ac77b97a40d573ca55d7bef52d030fb7fcdb8ee747e289b54ce14ec2460bcb178a268c04585ab113039af0c835e152cfe8c75b3aba18c26c81fc1302ddb890876bb21d7d12bd33d6f867deb8c53358608301fa4acaba60fa9a610a5dd1f83f6d27ceac4627393fe4836b8e0eff79e6101e79fe0570ea132657eb9a6b072606c0701418866b928cfe254ecdc6edf261b6f495b0c00603f49594e387be6698425774b9967c4e9c3c908c4e7212f2c1354787ff3c1b021e79b109e0d4274caed635d70e4c0c80e128300cd72419fd4b9c9a8ddbe5c36ce92b61810d06e82b29c70f7dcd3085aee8722df99c387920199de424e4836b8e0eff7936043cf26213c0a94f985cad6bae1d981800c3516018ae4932fa9738351bb7cb87d9d257c2021b0cd057528e1ffa9a610a5dd1e55af23971f240323ac949c807d71c1dfef36c0878e4c52680539f30b95ad75c3b30310086a3c0305c9364f42f716a366e970fb3a5afc08e6a3d211eb95e6f1de5610e15ef489de27a57e9e0a4e45f170f941de1e8e4b3b31cdb7c26f78ef16eb007c569d08b5691b3324a6742af3df35f0cbae8c26a67486f29b975eca46368ffb53a05febd62e5dfb76a4904932dc04490621692489c9f992bdee26a1646d745c1f77b93a8bd68a5c627e7b83216d0056a3a0c3bc492187db8a2a3cb5b5fef8ad33734c9cc31fa06e5334e5c024c995bc5700eb10a2cbcc64d5f1787fc143305cd38819ffe795590583db98a2ec2e167b822f4a1b09a6b3c6d67fef370ea2427211f5c73fc2c5798c4c9f0b35ccd9cdc796562ec1a6c3e4814e59c79d4a8b9e5c2c0fe36f52e9922c573aca16636695db0b4325d016b6c74f4c224bae87b7edccea7d9b3e44c7499918d35b672b75eb68aae9e43c334271ecdfc677b0643ce43fa8dd528f96f5cb87868d26938f5f84fed121b9f063a751aab182e721ec8153a6778792efe7496abe56ae795396051a8cf75a4f9fcacc18e46250d57ed04a538f8393b01e52b143925a2a512574e833579289bc939252b12a744bdccf9fcbeeffbbe7ff12ffec53fffe7fffc9ffc937fe2dbc5dffbbddf0bfce37ffc8fbd3fa4a07058be72e6f4a2f5e1300ffee1301d43e49f8e3793fc7b87e9edabd7924edae2cf0a7050eca02b4257c179b9dd71d7555020e9432f368109ef9ffdb37fe6d565c17065698c4fdef86132a75f5d6cc543d38f729db7ffdedffb7bbeee4bcd10676e1f1e747514670b509beb8acf869b9879264f136e2c3a4a5c119e4578a3b3b91d33cb55f3aa49626e580538d1bcc897abdd07cd8152e239370865b9e64cb985cef3c0950bdff238063ee99def7ce7e3fa5e6579dbfc39e829816b069ea4b65ba736e0d6cab7c5fc32c7e6edf9b71b9d1e277787a1695f87930b0ceeb935fde414f4b29d813cb7b6c6f4aa6177008aa63b063a0cf9a13f3aba0cdadd43cfe061cb726c35935bbd85c7d6a02eaab180e23410e761a014d058d9d26f2c5751fc9a85576cf92cd4b9f62e991f0e27ce38e1443196e6e8f34942be5cf5d92d573bafacd95d8393af9c452d8acffaaccf9228a40bbfb4f49b4fc50149f1f77ba520423f10f5ba8fb21cd55bc7f7bef7bd4eb37e44ea94e87bbc7ebd49d95785254cdf01f675564da37832ed979fa54d7fd688d04aec2027291954af71fd12d5ccf4d356473ea330646247f09c9b8913a6fb243a46f763547f4098151dbd3e4aff694d7f5258a2132d65bde2e1015678f0c2d68f69ef7e2cfbb99f5b30c228361e00bf5ca526f79efa42128fabe3990797c6332a845d8ea580070766d7e2cbbaceccf445e58af837d3e893688a9f67b634bd07062299d0d78639f4935459dd31bea8c46f5042bf130ed3d9dc8e1324b49df91c771fdc7b06eb62efafac8bbd17ed1eafdcfbb1dcb7db05647b79a65413509781d50a1dc5283635995c464a19b82d67d7e080faa3280260756f3d42e09528fb36f5ee9d2766db7b022520b301b00e097b2e582ffd51f01ca83b03ca8a755b57cf8760b7236c479f2dfde4a3c32d39f3e4c54398edc8f3dffd6e3ab011f907d88619d6bcf8e4edb42da4ae8b5c54f4e9906b4e0cbc758d80929c0e7d4d40010a9221bc5c214159ae765e9903b37ee15d83e528072d7f49e87f3e28fec8adf39e3f80e470e5ebb84e50fe78921e673f3f2bc59883a2ff92d41f3af2b76dedcde4e51927587f01885cafbf5dd4a253cb577e7be9afe3fabbb5fc38223a745df2951fbe52f0576dedf70e6c7418ba0368cdc23e35ef5d9d152f3a22f7eab5f3adf7ab93db9d5ec88d281f1addb5b80ab6c6fde22ffee2730eb846438bdc1955608a03277d127f1cd8df671246c1b852feddbb7cf0831fd40b93bb760a9871e1fe54af23bae091498e2bf13bf7d217097dbfbf258907de9ce4a97dc5577c85e130c3dcb9974f450c982729e6b7bef5ad0f52fbe6f6bb7b83caee83edf5e695556c22ed3dc3b9ae37b7efbd6889c24cb046666e00ad97f2331d6be75eae1e269afde78681fd4bbf0fffd26fcc349f4e4c52538eee5e471336f94c3b1273eed4879397d33547e7d43f759ac7e9cf9c66d8d0a7ffc6ad2bf9f861989c8e11ab4932c9154c523c196a9efed34f6794136675cb8f5e2579a368cee8e1e5ea96b7e56ae6891978cb8f5e25f972858ad6d4b3c195e4e3d4e4a23c03765dce7e5ea2ca301ed63a387957a3177670a2435991431cd89cd068ba09f056330f1e6393775be0acc81573753f0aadcbabc2994b8042934fde3811009ff4192a0240725d74481aa8d7ad3c2b4c046068a0fc692012ca0e333ce4cd255026a466d0723b2bbd9adc0a5b6c48f02e546ffa5c391ef3f660a8bb2f0489564d999f72bbd3ac5e42a54bd0cba75efe7b4dcd33617ee80c9fb021ba2ee6e42e81262bb69afce8edbae05d8311ab8e7fcc6cbec28652666e7a37330901f572150fe73a8a96281ad2962b6976b992aef72ffd5a0bf7967d9bfaf09c669fb65ada8186a9249ae514b720f0e41d4b2bdc2dc260371c6140c91b1df8a2f3a0ffe1b3166a9e7c9ffb5f6389015097f7e174481a979c9f89013ee3cc271d05d60bf000731506c2e9cc75d12111f3c5a7b162a65d2af324f9519f31688ecf899310e679b95aae665decbc7a1ed6a0b779beb5eba59ff78a5e42fa9ead6c600e3835f9e22e06ecd9cea8e52b2942a2a0e63049d8394a17ac24a7cf033f34f971dce29fbe213aad5de69581f472a256d87a35dad94c93b97c05389af2af56e88896b7e62acf4627540caae8b59001e67a5d23ab39ef19abbced78a9cb45d1513337965e9ae4aedd1955b4bce9d5e4506c3c1b97a45ca18669c6151d1ed27748f68a559cba1c47f914a7a69a4ed705b355f3e302d508e98a8ccb9bb136b7cf9e8537649efc3707107599573ecd240013759f57fa7dd663ab39d8671706145d0afff045e741ffde33dcbd1b888a07542d577b2ffaf07d92f9f07a5c834de3adef6560dfa6debd4d75eb604fb2af487ca678fb937d9a04469cad227912cdee39089984e3377cd619e664e4e379e4e3797c92e82d80133750f5045673d4dadb66e88b5c18637e6242cd94e13809a8bb6abdc997abe56ae755eb62169ae68593e9bac8cf7577621e765e2d573baf761f6c0ec806e7ce4b3872cbc45edc3d40f721b370e89cf881d1c32afdee2b4e3572cdcd57cbd5ceab738dc0afc21af44c6adfa69e4befc4fb27943ee07f5a97b23d02775835577cc30a41be19e539286cc57ad2ac4bf1209f667242cfad5951f620dc3cf670da37ac6ac23c543ccf2664cb433ae67d5f2d23cc4f3edb273cc5e7279d6cf9a1e6996e7e0c6a44b68dce2d05fa846cc9019bcd5dc40fbe72967ca2758de307a69943b8807d09cdb85dbbcd8f93c64a73b9c2e7728504c57cdb7965355923bb06cd84cd579bdb771fdc7b86bd67e89669efafdc24ecbde8dc6f63e371f7edeeab7df945afe20e3ca0ce56ad380528eec99fb73fa1b46f531ffe36d55aea7964674573c2c9f3c1dc78f816919c0e89f9a4b615cdf34b20fd8b4e6ae9eb1a87637b2a10d24ceda240adb1808b9fd3791eb215ea74b132f445ae493e23e6564d986d0ae9c0a7e67285cfe56ae715065a1a402ba8a6da82dd3538b400ca723579b8bd002168d9dc7ece8d26c9aca62167b93aa968735fae62c0fc69c2000ae17285101b10369a2ad1125eae260fa3a57bb9d79c2bbfcbd8b7a93e8e7bcbfe36f56182eb5d258e9aafcd63ebd97bcee6b19a8ef427092a703a4c3c335313a633b9802d4c3e3a1c664ba28409619ee927bceb7b5074f1602c5151568c155093878d9bed23bbbb7f75e5395bfe098b1f607ba7f468959ed7928e7a74e0fc73d83566bb5c2d57183019e2019839639e345bcc4372f376b95aae365f9539d59bdb2757981570bb9535b2fbe0e4cce649fc347396abbdbfea1eacfdb4f970debf992784e92c57af3bae5ae65b9f0cecdbd4f7bcf0c20bdeadb7ce3b55aa6d999dc1c2514607900224888b3e619a231f9673357e72921f42e0329671c7bfdec7e16cf393cee9139ed2f6af596cc93317b6265cfc758d50333c3a0682e71ab3bac49f932e93c2c43fa38cd5f8c944bd5c0d27b1b45c991566ce398749765e5de6c9aec133a135679a24f07215392d9cc8195c73b91a1e962b549cf9d6dc2051ce2506932f576859aece69b0f7a2ad97b9ef35434efc38ae3cc7dfb7a97759e6beb26f531fbe0b458e0934cf71ddd9985b33a5cca1de499a829efbc2721305faeaf235cceae247932d3fdd47c29415728684f03916cf3d63ce3f1d9a7400729ac961c2cc935353b2057489270556c63d6d53d04b7fae513339491795249f617ee82874962b9c2c573bafacc45d83d682a4a1480e9baff080103c581d703976733b1ed08287dd07cd8df65033e4b29f6ae267b9b270f6feea92439a1b5610b962df81cbbdcb1542ce7cfb7ae44acc5b6e19d8b7a92ffebfa916bcbdc15c9fdafaef2e5c4d8e3ea9f394b4979013aae947f1e86bd299aeb1cd733e5368dc195130d9921b141e9f670ca35f6fae28572e3113768d40c305c6ff342f63912b3316bc5c21a18f66b99af91027339f775e45887ad6ec7265bd4cf6db7c356be492ab87a5e5ca92314f4ab6f025dfceae348ccdd646b972e19670f7c19d57a6c1ceab73d54488ba15342b6bef4587a559351f77aef6b7a9287d5cd9b7a90f4f5ff39ed07d83e752f29719697dc2b34ae7d955729ad6333ccf86cd66f8d4cf4fdb6473dd27c1a77af64e206cc43e271e8cc5b6e6c4a6493e3af9d1e419ee8e4733396f24a34f47577919206f383a133349fae219db89adf8d5130f1d632d57cbd5ceab5d839baf26f79633a50520bcb91d0351d13eb25c3d981a77ef7f66ffb582ecbfeda7cb55cb67efaf9a0f7870af75de5bc2d654f2e50a03aff77b512971cbbd0cecdbd4f77cfff77fbfbf13ddde69cd9bee30b2a4804058add9e6d10dd989d3613e398564f0e9333f73d7d2b833d0e9877f86e987533b6df52a857ac603377a3117f068cea5e56a461f3f33ee68b2cd7fd742be5cc5ed72b5f36a18d835888a59172596924c72b53279062e356dbe5aaecebda649d27e6a6e4c8e0d2f57cb55a9030f97fb1072d3831c18dc84499289b4b3f36af88999785baeba737e95e7956755fbdbd4e6e16dbd6f531fbe9f94b3cc4bcf32ad52582e336f02ea9e7712da2fe99028d80c932b74f402c9c3f98c7726f9c9169ebce0395086e9b42babe9b025b4726040e173e4ac7ac606d09fd860f2fcb385197245927e218d1f4d1ebaf6c6cd36b92e851ffe498a014e5f57b101ba6011c2673cac962be42c573baf30b06bf0921f365f490ecae67613a32dc63e6256c0ed4709771f2c7f964396abbdbf2a6fecfd9515818ad7effd954f70cbe318d8b7a977bf4df5977e4d71dba1b97e329590a435608fb40c60b5fc484e422790e1f801465f5726a33f2623bfe8a49987cb58d9320494629be02f0e5350931779f5c8cf6bcc569771c7043875a6c90f3ce5d439affdf4494e3fe74026c5df95e6732e21fd311939c9e0c6aabe1d2b5b724069ace56ae755f361e6b92576c13bafe264d76013c3844145a963b2cde6abcbdeb45c354966af4188ddc73cb9dd9b96abe5aa0472f270e69936a9ea5307de797552171eba5e8f5ced6f53e7e3bb05fb36f5eee6c316e25d9f1db7f38c5a69aecfbb41dc7907a2d64593fe6c33e77b42389df4db9fb8d2748b03b04a87243909a0182b21cdc78da52b7d9e8b8d09095ccc9ac50388939c67582972f5ac705d1ceaea6e03a8494ead780042985572fe97abe56ae7d5ae41aba01cb2f90a0f9bdbdb206c19bb0f22c1ea78dcba688fa6a32c574858aef6feea39bf17b504b6dccbc0be4dbd7b9bfa7fffefff758751ae9c239c3533187735bb17192ac724e0f0c68fde53de09909cede967fc8fb2defc57938f2d5c16cb4fd192249f9a87621e49cd421a7dcd24ea6236a278c26c81098f4ef1dcd93cc274e09c673b987cb9ba636ab97af4fb9f9d57cd877b57a5ae5d83f732b3f96a1838f3ed72d57e547db231d89a6a3f1a494df27b25bb061fc7cccc400ae9a8375fdd3b8b96ab61003fe6498b6eb97a927ce50cb2bf4dbd4b31f7957d9b7af7bcb3531f7e7af7685d3968690261cf3b5b7284f44d3b4557ef1b61891b66f5a0e7e17b51caacd8de9e511b4b4d7f304093fffc645b24ba8a13081b51006a72127ee88b815073e49abad2197d40499f7f98095ba3038a98f3ff40f1ae17c8cf72858de56ae64373a3f9d66cd9798507b4ec1a9c7c22ff944f8693cd5772ece6f672a9da7c180cec3e888138314964d4939f132f577b7f653ed871dc93b48ee458d8b4215792eb328b962b843c9d5cf980b63c8e817d9bfaf06d6a770c56f2dc62768f655ae30e26b7fec36a4dca01b532b6c949d8b6c73ce87fd1843ce7179f99b43fa53086864e4e92cfe2d4345c0ec72d61e19df2c6caf6d43c3143cdd37fd79270c6a2102e8662cb562dcec60aab0b26a056962b94e261b99ab974ceb19d57bb06cb21f1606e4c3e3cb115d4b4b9e493732e9d78e7d5ceab9d57edbfada36a120533977b89e50a2d174e1e50b55c7dd83394f2ea7275aea616d493dfb7ef6f535b59f7d6fb36f5ee46a77b20f9288ee6b9942ecf9f9a70ea9e7f13c2e7332ab85ca64e6edd666b9aa6df4a0e776bce89de7ceaade8a2a39ef79fe4e3b3188ab3b1c2e9674b872d39c3d3cf690bebadeea4645012b5784405ab299028c05ce3728590e56ae6a7b961ce340f9b51d53baf760d9e73031be510c2cd57ad116964733b2a761f6c3ed859da7fdb734d0ff2b025032bcb1512cefd77b92a87a065722c4ec2cb1506bac76e9e3ccd5c0975cbbd0cecdbd4bbb7a9dd3fc97dd6b6d9dc496cf86a7edb27f4b673d82ad21965a08d840ec39a79d3cc3687e72817f3b13d9d8f0ef3b1bd75d8a0e7588f8ba14b682cb86b49c89cfc542099425eefd4676ca99100cbd572b5f3ca42d83528570c09a5889646e44cae58aea265b99aad0d15bb0f9e4b26424e5a962b6c9c39049e7564f22c572f915797ab2107b04f4db33d4b73d617fc4acf2b6790fd6d2a9eef2dfb36f5e1bbc7f25def88064f12ec7d91a6196c3e99be7591a3159613c9dd9a9bcd0a055817904e72fe93d387cba4cce9900361759f563a6c49d4d9ea329666430f6e2c11a6afd9da33ca1903fd0cf984a9e52ab92ea38c4f4dbd29c0e299350ce72779314f0c9acbd572656eecbc42c2aec1724839273cb942937cf39579a24cee5dae301027bb0fe261ef19dc99c8158a5cd1bd50390439c9cd93e4cbd57235fb8b34f2f4df8b96e8b6be97817d9bfae2ff9b8a20d94dbeb3c2bb676a9b24bc70479ea6d94f5f2f932430a19abcde69a6a38b79fe1b8b846dc2314f6de439b9c4531834cfb16ee39971c72730a518261ef2b996316c5c5de2514f18a7ed08c773a0202742c2f10f0f39cb1536962b24b48e4c925d83adaf73d1c54f5365b9c20f12269f6cbe6aaae0a472e6e7e56aa60772cab48f78bafb77b99a75848de50a093349cc8db93fb9aca3e50a03ca72d5adec5081906e6092a82739dfcbd5fe3615458f2bfb36f56e8129a6946904600a8e2fc07bc884d253ef0f75d10cb7b7f5bea8fc75be3b2229bbd5c530c067729b016c14f20625818d98a4a17bbe3eb6a330ef4879ee39a22e1ece18ba107e143a8d420dce2185fc00a2625b3cc959e5a1381fb859aeee2859ae90d07cd879d552da3558bad87c551efe5872fb873ef421372e8a55b6f36ae795b9b4f70cd6c2796f6395c5c9dcc90496ab7858ae4c1854c89f80f234dfb717e1d6f732b06f53dff3c20b2f7cc2277c42f90e4780dabee8b4d633c5f648cdba4a01f0294f3ff3533eae46bf672a9c70ae5713ae17663b9274d2cfe7e8b32d9e8bfcf433f19f3184f3c3960e9cd5e827efdacfd860cae987196a9efac5536cba46ed94a79f9f533eae8a47b36be764b91a4e86db681cf972b5f3aa357b59534fff1afca99ffaa9cffbbccffbfccfff7cf1ffc55ffcc58ffcc88fbcfded6fffcccffc4c73fb031ff8c02ffff22f7fe7777ea7e9dde74be1177ff117492c843ff8833ff8822ff8824ffee44f1efcfffedfff6b45d0efc2cb3343c22499e1ca81f0e77ffee7bfebbbbe4bd7a89d1cde3baf3ee5533ee55def7ad71bdef086affffaafbf770dfef44ffff4177ff11777153c14ffcffccccfbcf9cd6f7ecb5bde62a002281eb552cc36a35ffaa55ffa933ff9136ea97df6677fb621fcaf7a735dc5739a9f39213f979829ccf50ee69c4ff7703ff7733ff76ddff66d0f42b8db0b860492732c9864c61ab5537e19f7d4afabab2077b16a4e0456b378a8c5556c14cf79b194479fbc788a61e48d929fb95ebd134338fd847056a39fbca1cfd8baf0f4c30c7378da92141b306ac599fc32eea95f57f1902f57cb55f3f09c3f3baf30608dcce2d26c9ebc1eb9f244727f9bea13bcb7ecdbd487cfe7cc6f33fe7c0f00b753226ef61b789e5111f6dc8e6d1b89e561cdc0baa25b171d72203f80622cf274f4ba5798b17820d1a5e647937e63d119dbd66772cac929cfd0c549ae9c31ccb834e9f04381e7f48b7fb0de79166594f1490e5356924ffcdcea254c1e28ce198bd0d5b16535015fe224bf0b7db95aae1eccb19d572da5676f0dbee94d6ffaf33ffff3aecbf1ecd33ffdd39d4ee5076bffcffeeccfdef8c6374e0ea1f3399ff339ef78c73bca57bffbbbbf2b9b9df8a3c8574e803c9cdcc22f9baffef88ffff8b33eebb384cd5c9c99dc65ab47f98acf4ffcc44f7415676e7704fd6b7fedaf517e89dcee7ceb2afed13ffa47dff33ddff37ddff77daef7c77ffcc79d8a65cb499533070cf731e6766c7fc7777c8790c6a7d1e1bbccbeb9fdc1df71c0c34731af365f99543bafcc1c8bb41c850d73e9c43baf1ecc91bb7c2be73ccf5cc5c3d6f732b06f531ffe3675d829a754b74f5b3cf51202ddd3b475691276f7d01a1b9c42753a6e4db23dc7a29ffcf4d3b8a37f19ab78082914cfe3f039eee91f3e2f043eaf51485d0b7938ff61c229fcb8a26a3ae4a71fcde56ab98a81a6dfce2b8ba865b26bb0fc206fb841f9d99ffdd9bffb77ff2e4ebc6ffcd22ffdd25ffdd55ffdf66fff765c79d1f7155ff11534bd38f566f2377ee337bc5afcf55fff756fff1cde1c629ddfdefad6b7ea1dfc255ff2254eb93cfce55ffea5232e7d2f607ffbb77fdbdc7bdffbde27677eddd77ddde77eeee74ebe72cc338ad3e0effddeef39431ace0b4ce65ef02a62f8e0073fc8e1dbdef6b6f9ecd8bef7bdeffdc22ffcc23ffdd33fe51028573bbb7af76b5caf4c29933b813327f4b09c37675ac23ffcc33f24075cd7effffeef73fe8ddff88d2d10a17ab5fbdddffddde7f478f7bbdffd455ff445dec18a93b2d3af6bfcf22fff72a333c7c0fbdfff7ef5d77eedd762060f88fa966ff9162f99d1e5c245e2adef377ff337e3f9b77eebb79c4bf1a0f7abbffaabc5c949ac4eea16952280cded9baf66ce9f1372d6ce4c156acbd5722563981bf7de9796dfca93619367e6ccdc28267c0ee7d5be4ded43bfb7deb7a90f69e99da13526d7c0937166c1006e689253b3e597b84960bdadbdc1562035b5ae745ac3844ab624f4f3199e753b7e98c3b763d12c1e5d611e06b3324a9e6165e24cce369f6c672c1272a9a4ae305b1298e6034f77bf9502f2b35c2d57cd9f9d57d6c8ae4199e123cd57ce5d268f3793fffb7fff6f1c3ace010e7b8af4f2699ff6697ff5577fe52dabb3e8377dd337394952368a2f067feaa77eaa33a723dc8929bfe73def7166f32a92b26f08f3c9d647f3bddffbbdbe5aec08ca7cb299f56b68b55ec7c55ff8855f70d2738e75982c671ada2176f2274d673c42474d5f3976b875bd9c73e245a8b39f17a10e8ace93341d3b1dbc05f90ffec13fe084d0d08ec17ff4477fa417262107f24f5fafa69849d22171c9cea268f9fb7fffef7bcb0a3b5e52734c75ec2454ffc44ffc84b3eb3ffc87ff1003a272dfe3d4faaddffaadfff49ffe53c754e75512c349e6f445eec8ca83269e878dcded3857f0bffbe0ccf9cdede6c3e676e9e223cded7863d5fc012a3bafcaedb2eeccab47dcecbff730f049ef7ce73bef11bf16223f2bba0c7b4ae09a8127a93dba4e6dc0ad956ddb2d8efb24773cd6929dc99d8dd9e3db5984b62b4d516548871ce6f0333ee33300f70d4cc8ddb8d0d71bd6a549c84380cffcb38553d09b4f3a7af924318329a463684334161df71fe98cdc1014922724614ba8a9c00c81e46a41167f86c56c74c291bbeac6cd56cd0f1d038dfe72e5b3c0d272656eecbcda3528a7c933e58df2db13e62b6f021dbaac23fa12a0577c366f4d93caa9e9cbbeeccb9caf9cbbfc7c54ce911e7b1b291139a479af68501ebc2184019ad4604e9c241d3b61ef391dd8e43707b6dffccddfe4d3408660ebc6cb2196739e656331b8043f2b75bea5e6f8e75da857a972e0e476e3b275bcd4eb28e8bda8eb35841bd9affaaaaf62ee127c21d991d80f5f09bd1f16ad57bb8e971d6e39378411993b51731e579c08d28f94e41697cf15b9cb17a4e3bac3ad0330875e20ab0d8a1ffb171d17e28abef22bbf52960638119b71b9a2e3084d4700fc7b11ed30ec1bcbf140eef245056c6edf7dd044da7b062494c7660d5a8f0949f0a3575359ae90b05c49b91fe37dbb646ef3928115db41408dde6a808e6220dfaf91b15353df5bf253d7e080faa3281309db0b9e26f04a94e7e26d6a1fc949dff921b903f0c19b6714dcd900f62a12bbbb5b0138f998d3711ba4a9972d9009fdb09a0ec36cc9013add63e9ade49f9c9f6cc98dcb67fa9a3356f1c889e990c36c35e9f39cc9c44332725dfc535660aed25733570803c9792e1ef28a5eb66a3e9987c5300ebb16ca74c8f3166e94e56ab9da79650ecc34d835888ac9574e508e52bd4b94461cc61c5c7babe91e48f670bca42ff94c6e71128379b0bbd30cb375a8f3e6f03ffec7fff8833ff883fff5bffed746a1c361e4d33cf31513273a9edd01f0e3344862442f54bd3225d12b3056ccd5f29bd3a6a3dd0ffff00fffc00ffc004327d23ecd5efcf2e3e9a78001c19bf6ddd432e4ca6990bc23ab817aec281e6a9cab8da56eac723809cf0e964eb6fedcd40ffdd00ff962b008b9523b7952565ca3f7a26ea361772780f3fcfffc9fffd35b565741429f67fa0230b4e1aa016573fbb0b1fb202accc907d36aef19f6feea61deeb5e4ec69b7c054b6b977c65f2983993db5995c7c8959d57c829df966786ab0769f889aaf3fc721adc9e74ceded72f7e7dbf4dc5bb1d77caa5999cd00dcde85c80fb897e0844c76253dace59b981b0a8cc24269ea3bbd5b0cd5323cf09094c1fa04687bc187aeeee46215bb3c7fd0435fe39d1a446877f0e49f821a4d0b80de4813d7d42cde46a739aab6cf3c936c362e393a1a8d81a9dcef881bb4cfa02e62d4d438f9c50937f83f2e012143eb33556b1e95296abe5ca5cda79b56b5002993cf3d1e52b073fa72c2f00251fb9c56b463ebd967464f54ed2cd90efa91a82739a5e60d2f106d537840999c0848e738ea95e21fa66acefdf7a0bcaa1f4e507a27e742a5fb961f22ef46bbee66b08cbed96f0effcceef706e389fa3379624009fb090c4e0c5e9e4766ade43feedbffdb70de7fbc64eb37edbe9c5a93b36e749e74f29942d1d915336220fa568e75ba7cd02766ce65cfc2ec470e5765dbff22bbfd2453121a7e377b0deebba34617cc3377c83de7e71aa9713d745939a2224185d5da917cbfe24b217bcae082de97be38a436bd6e91a16b34d90a1decded3e2f1f070e771f8c87cdedd645f3a1fcb0f75796064eca57a6875cd7fd2196962b93440e6fed7c44fba0ede3e3f536d58722e1db022e8530f9d40f044f5a9512efad4708bc12e5f5fa36356a8711cdc1c0a5f7ecbac5d618a19b092740a5666aee63dc1ec1849debc6dcac3217c999b04ddeb325757e3c3782e9a8e1b1e5331d1e4e5bb851921709493af92c1e980e277ac374480ca136568199afa34f933e055d30b95eb64a3ae48d4b1e2e66985563858d9561cdae2b9fe33f61355b9e29b3ea5ac8098dab26d4b55c2d573baf2c84e7730ddaa16500072ddbbc8560a7b7c77b99e99d244e64a49eb8c915143a3192cbf3e64cf90a2e8ff925a7e399b3a8a69fa1fa7e9424c3a43cd32a534fbe7277c589178f840665e8e4e95370d675081483a6aec9578e9a0e75c2e041717434344ddfc272aca54f53ed728ce848e950eddc680807426f353df58373ceca05725e6c0236aea3af73a9abe39cab5ffbb55fa3c38f9f92faaab04b73f3a1c98a4eb634e32d2b5741074685a11dd1c52c48ded4e44689ab3c70c243586c82291ef28aded1871f89effee59337b64cd8d645485f9d9fcded43cb7235530e273baf90102116cbae41e962f28c95229f3c3ff7a2a5888f6f2ddb2ba7cfb3f9a0f3c37a4fcda70a3fd57fe9d7bd453725810bd69c627e2b9a27b05b270cd43575cafed8c6bffc97ffd25d51ebc1672359c0d4240e4daba50f4c3609eb22199dd14fa8a69930ac3e9dd4556e4a3e9e69e6dcd0634258b9551383ae429dd8b2cd8fdeae4b6fe6294f780f5d3f1a37878433164079e2a9994f6af9c9a7e6c43ce68541ff1c77840d34c1b0ba38a9eb948f679af999d848a6dcaa756985b15c0d51c072752f093bafa2e5555b833ff9933fe9c1bcb7854d4899d911cb0f297d10ee5d1cd2fcb854480e7bfe5251ff878ad798de2b7a35ea1da6b7a9b0578b5e3c3a6a7a2729723bb1bf79cba1df97fa53b724bcfde88ffea8ffd286abf200e7be49eb5d253547563f64f51a16a0e98da8bdc31f40a25c02a1f3633ff6637e0eea9c09e7c44992136f6ebd9674c28c3107457fd0c8bb535fb2357a5b8c78f8f7e696a1ff1c9573d70b7335c9d339d6ef69bdeac48673bb13e9dffc9b7fb32dcc1f3796c1babd20d4cbb36b61eec4db1b63a3a3c5705ee13aa23bffdb3d9dab0911c5ad3f43652c2678f8aeeffa2edfb546f5dff93b7f87a4c80121854b985da65ad13bf95373733b1296ab73623491267feebc424ef72ae590e5aa1c526e69ede064caf3c99533b93dc5ae21bd9b2725794db4c0ea3904f95eccbffff7ffde76438d82fa52ec20c9015da37302f82c331ce1e0c0d462d03bf1900f3e01fc712f4fef977eb1e08351bae6c0d4771d2f571c44530138a909240cb8b170a3d06743c15cb1c153f0e9ba1feabb0d343d0f76d340cd0273732036f70d7406b3725345d3ccd0c5155082a6635fb7f67a6cdfa79ead254ac8ca58edfd8676c7632c721e8c4b87d0d0e9f003eb9d21f86f509ed986f9cf0fe7e462eb5af2530c9cf049a16ba19f723a8d9b1f3e99d0c74fb6cbd572b5f36ad7e0c7315f395efaeda55cd4bcfa1b7fe36f38e649777294fddbf91350e449c7adceaefe8f16bbb5978df29b2ff73a4fd294339d5a61a7413e7d467e11ca95f3982c2d95f92f6abcd59cdcce953ff0cb9cbe41bd3b751f507ef652b46fc39eb99d393fb2ae0c596e7720a4c67fe37a1dea2c2ae052b1d1f9172a892ee3da177479c349e81879c9ed46e7cd75f1e6af2bc1ae1a27e49a3c08d57589d0d19a4f41f2e9c5a92e31d0e4162772b5505d942ffdda5090861cdff26d4f1180211c6e85872bc97f73fbee837bcfb0f757e558b7371fc7dcbef3ea65e7957c6e2f90bd153b4240dd7da65af18928362c4f18fb134a342b597132e68f7aee5c9d3a30c96db99593187434c3f7d623045e89f234be4d759d7d1eee301498c4c70cd47c20feb04aaf4214a069cb09130e4e3272c0b7c25e78e1053bb421dc76f8983b5bf62cf082e97498241f5c6cea7b6d0953e030138302f9af6b7400bd531bc570674d5f4942f3f49913bdb7f27cb2728133ae2665fea777c61ac9dd6037979ce172359f02e6e364b9c2c0ce2b24ec1a6c75a0429995f22ae72bfbab8dbf09f924f9ca59cec691be2dc3d76b3dc4f41bd4c987e5cf77bdeb5d0f2eeb59abfcff3d4fced5ee83cb1506f69ee1bc5bdbfbabb99f2c39ee3ed81a898df02d27f57a0af9e46f53ffc37ff80f9ea89a7b4e92ea4bf10872e4b07d30851102974287244df1d44c022751930c3ee523045e89f2d41d535da47b858a13e62378f7cb223889fa52f4a610d00b743a856f8fa999d3f193243f28fa57ffea5f79c6dcf3759f68b89baa486ff97926e4bea7d44c2e2ba9a939e5661ba6434e8d1fb8e445275b5de6eb4bdbd2a1ef2f70a4ac1e7db842221ee31a34dcb823a7766f6ce30aa0f0c8dfc3236bd798cec57ff1d05faecef9b05c35b7775eb5762c1054b476760d4e7a194e5e17f9ca06e12da5f793f33d9472a91cebbda5ddda9ed22edeae042b2e9661fb7772bb09e1e8c4065b6a72889a64f4eb4d626f62cb502f9cf3f0e9f3c474c615c0761cead2cc4f3a17ffee66bc45a1bfb97d73fbedfdcce6f6cded92831b57f54c86492fafafdc3ef1dfce7357f45addb7db0b9ef098fa6ffecdbff12ad55778247f895d01ce32c754807c1464fed41e187d58a54b3b05752549b8cf9a0420b9d4d34cede35e7fd866f671f77eeb70f6cec0a59e26a0f8e4026adbea48c82bc9c31400f58039a626bcd4297b86e1a9b91dfa5fffeb7f2dda79f8310bd2e7daa9d26d8a191c264c596dd24f337cda1a3412f233fae449da1407674b98ff5694defc00c98b64ea863863a3dfed609e27c8535e0cd58dcbcf0c1da877fc03e38ac9288fbc1896abf85cae765e35075a17addf5d83934f66819c9c3c0d5cf981836ff6da23da9827a4e673618bb90b29c74e0e2c67d2941e4f9c2da16d7ef632b6f9696e6475d64f3f575dd77c949a33e74f4e3e3aae58e51058ae9a698f9b57cb1506666d2e57317072022bb7f2e5ea969357992b67e62739a6bef39deff4330dbf04f18b0f31db9ed4b725f9e5989a501db00d85d5613557ea4af230364e5073ea13c01ff7f2c91f778faf8ec328b3d903b723264ce7710af5caf87ebde38f4ffcdb7ffb6fcfe36eb86370b7142480e2ae2270a98541474d5e48036e235cc932b00c2c03cbc032b00c2c03cbc032b00c3c630cccd123e0d4e7023b775cea391c766ed49ba4a65a33ec25aa6f35f6ac3327b7a48df386bb576122b9ed7d0a25afbf636a9fc1bd27c0f978f4c243f7c8079c5d3e729fbdbf57d1d1f4b6e64d713aed14aa4e72a9f924991a487fc65ab00c2c03cbc032b00c2c03cbc032b00c2c03cf30030e965d5d8791a9e7183220cd8ea3093b94ded69d577335cec74f60284d6d7a477e828bc9d9f5f4e0a7e2988aa90e782fcd4b84deab796fd7bd1f40c2a91b511318e105e83228a149e3e499f24b875a2ffd27515b9d6560195806968165601958069681656019780618989342606ae0525cacc3022170e93a9bf5c6cc29cf30f9d97b4ae04c2ec297d07f9ce6bdf25754f8541c539fe40a51fc2407d4f924ce4f2ee17419ee94c09d42f37fe9d24cbf336af59304bc3acbc032b00c2c03cbc032b00c2c03cbc032f05c31d0d9c125cf21227c7bc4e88c5a7ddb7bebe7d489d25bc939ee789800b2bad4a7daa5ebb56dbec6c754bcdc7bf88c947a1fa773e1f4b64952e1ed117c51722b7c09655df43ba3868b70eb6560195806968165601958069681656019580662604e0a81a981dbf21267d45be52433caa9407869cec7413e38b5b33938b58bf2f4065ebaf7a2fcb1375fe363ea477701274770655cd5bcbc1ad5fb48f165feedcdeaa9946dfe4da69738574f0c0b9681656019580696816560195806968165e07963c021a24b0e4c7d1e2ec22f7d46e5e4d6e45ec9a93943d30cdff62699dea7163ca5c754ccde7b1a3ce57d4ea356537dfb61d475ca1f27219f57a6e9a81926ec534c12bed4ba3ae5269fd82e6adb5c0696816560195806968165601958069681678f81f3a43018788972ef79f55e21ba2e7e461293d33b7292ba467236079fe03439e5af327ecd8ea9aeff233ac55df42fcd618d5ca919ae19261fe12d301b0ae9ec4a78fee524929a940764a8661b9e90162c03cbc032b00c2c03cbc032b00c2c03cbc0f3c080b3409719983ad0e1934280b072693e12dfbd3f1b7c0bf849384073461f9c64ea8bfcd21cb5c7818f54ff717e5e56fe9a1d535f36b214107139fb9dd44c2f65b86678cc09a7f781ca632b6aa64227cf946a8e793e9b2ea2a209efa1345ab65e0696816560195806968165601958069e73063a7a20213075870b754789699ee0d275699e9a17dc7084917f82f0595f942fa1e6e169a89fae632a06cf53dfa51989a7420c523b35e134ef0577aaf715f3e03ca0521949de340dad506b5c124033390c4c7d0278cb32b00c2c03cbc032b00c2c03cbc032b00c3cdb0c3844748181a93b5ce8022a8e128fe08bffde0a6f252f6a7f381ae781c238852309b07e69c9adc245ff156d3e45c7544474ccbbf782fb144621e55318661bb8d40c2f124d9ffaad9cb0003ab5a643729e4e594da1305d7c924ffc97e6c8172c03cbc032b00c2c03cbc032b00c2c03cbc033c6809bffb922789a8023c303c13d95aeb3b7e629199b7b85461c85138cbc90ea4a98e4a230c213b03a9baf267e8a8ea997cb46ca79e49bde919f20ac56684e3d20e15df77dc5476e2c3d40a7d3b46a669b0eb5cba134c342cd36ccaa2e60cb32b00c2c03cbc032b00c2c03cbc032b00c3cf30c3844748d012708cd4e16d5d3d475cae18b649a032efaa7c3713be0ec85c9ebba809a538fe6485e2bf0b41c533132a7bb938b61ead29bbe3a3026351f881f9e57c36a3a837dd89a1d23e18e9727c8e11c5935e7744a8d6125356e35e146099f26a96dbd0c2c03cbc032b00c2c03cbc032b00c2c03cf30039d325ce09c3e4e3c87911330c98a30ac4ee15e30c2d349b8b1e01914a89c0a8f641fd695d5a54bf371f25bcd8fafe4d53ea6bace39c53dee4a1ea733f2c034a34fb392db47ad17ff35ee8b8d47c8c77c7b461d49ae18528301a5def0d433686a6733bcf532b00c2c03cbc032b00c2c03cbc032b00c3cdb0c3864748103341f9d3c5efc97704e9b273871dab79217bd3c3a8e9e1278021879922299fa04a310182717f9d97c129d53ff23c5aff631557c2ec9e9ee230d34fde8603e4e925c6acd4bf10167453ef802348de2147a010c13020a9d6aae1e081e56a7bc68530b6fbd0c2c03cbc032b00c2c03cbc032b00c2c03cf36030e08e705d6544fd11b76e2186178ea5b7031b9b51d57031ae8529f4d9a9a1f5df9586c9f70c4d7e0987a89cc459ec7b969be2c881df5007e6a4e6d2c9f62ef3f471820a7afa6d32934b5f44f79e1e9a5c9564d9230509d5c3d259d692e5806968165601958069681656019580696816798810e0b7381353b7d54eb0a74dc80016584e15372ea8c3cfda9c9c7f3082f929a533f21a0766ad67c15ead7fe987a5e244e2f47bb910cb8d5af4bad4b7d820bd6f4111a42ddd1143e853ccc91b50fbbb36b835256f210661b50d3a94ef9b639f205cbc032b00c2c03cbc032b00c2c03cbc032f0ec31d0e963aeaba6ba42fe08bef8afc385a22ba003a81e90f6d90cbfe8e540334ae0526b9e855dcd01d37b2b99ae57013c5dc7d4b960a438f255135e409455d75b7daf243fba7c96b0122049c8f67234a533422093c09dfd514e61583d85f485b68600000f9149444154e2e005cbc032b00c2c03cbc032b00c2c03cbc032f06c33e07c715e60cdbb53c783a2eb117cf1df397006d403280d0e6406e76a8417cf6733ac1ec0c9e05b50ef9df66b5a9ed263eac909a6cef35ecda969ea8dcd119e00f6f9a51360d2479bede09aea4eadd364ab4c53ef2909a74067d44ef040bcd532b00c2c03cbc032b00c2c03cbc032b00c3ccb0c742a718503c29a956976062104ea0a4c7d825b7c6b78f13f03910f0e4c0d54d279d47a2afe7d2d8fa9e8384f772fcd47ca637236e169866f6b1fadb1c881fff37ffe4f8044b343e98945526053074ef9d975dbdbb58cfca52f6d7b9781656019580696816560195806968165e01960c029a3ab089c4db866a09327e50061e049ea5bab7cded6341306a61ea0177ec2f211293fa1cfc7a9bd96c7d47b6372f173ba1b1c386bb667134e029cc5c79c37c270c0d1943e4931d0a96802b775c291071edadca74f61cb32b00c2c03cbc032b00c2c03cbc032b00c3c9f0c3874b8f04bad59d1d5717400799297a8eb1acd010d34bd0d517d1b03c94b0b4f85f06b523f15c75424ce39f04958a04f8d4920f3c1bae069fac0683a9792c0f96fb8bad4f34235b7b77563a94f00a7f940fce2e1b621c6c934172c03cbc032b00c2c03cbc032b00c2c03cbc033cc406790b9c0399200179ce4ac9d4a346feb8bb026b534a70918577d82c7e189f049404e9e44f3e3a8f3541c53bb1ed7dfc12f70a963a75322fd40fa9a7a9584c0480610fa2047019e17aae324705b734299fc52c893042eb5e6966560195806968165601958069681656019780e199823896b1f7c02788ab309b58e9df7d609d37f1c1e6f031a5a73f80fa730bd234c32f509e057b93c45c7d427b972243a19a679f24b78dbf4119e3f43a543728e72be4425cf73ae3ac4864792c27469261990f384e3f01c71f132b00c2c03cbc032b00c2c03cbc032b00c3cab0c74e4737503c2353bb0843b98c0e7b1b3e64802eac0f42651e7bc5e7800cd29134012cd8ae623f834fefb941e53b1d6612ffae024538f0252612540b30fcc6192101e4001aef754231f21ac4bc91bfd9a6adec2034ee54caac9eb0a6cbd0c2c03cbc032b00c2c03cbc032b00c2c03cf09031d4cbad8f0d427806f8b530961f580b3390a1730ca01bd0280a70cf949ea3d6bf274068cc96b029eae632a52e640784bc7d93b78d8cc305ad567e9734ab3932a6525093042561d4d03d5d4e6bc1a563f70f0f0f7a8a7abbad453a677240b9681656019580696816560195806968165e05962c0c1e1bc9c9a2304c203ce936458adb7fa048375d53bf503c143619e2fb5904e49cd4b7d861d66323ab7bdaf8ee4b539a6baf20e6fb7e0bcec7acffad25b932b3a8aa67a9ab00f8db0affede693c2824e4737a0c3888ea0cab15cd11d6357280939a27806b5e40cdad9781656019580696816560195806968165e01966c0a9a1ab1ba009d7bc809a67ed9032cd3073203c607402a7ce484e9d8981103e4b92b33e7be131b90517cd8f6ff3b539a6beec3560a1a3609a35879a31a743985c7d367d8a7920871d38d51986c7ffa89153f8a44ffa2412589d4f40a9375c4df904351ba25aefd95cbc0c2c03cbc032b00c2c03cbc032b00c2c03cf30031d4ce6026b4e7d02b8a6434a78ea249c9084a71e65a0323a99138e9f3c3cae993c9d09f8b67976bd9af8a93ba6e2abd3dd805b3aea8a59ca6793b2cfa6232579cd74c2794b81a666bd24f4d58d7e1e56499446493f89bae6a5d6aca4f0a8b5ff2e03cbc032b00c2c03cbc032b00c2c03cbc0b3cc400790b9c29a975ab342ed117cf86f87cc91d7aca67102789a67578eceaebc8dcf6902b78579c201b73aaf8ee4a93ba65e2e1b4173441cb24e49b8ae51c8cac7d3b113e0f63c9a6a3224711c9da3e9b81d498755f24bc99c3070a9352b293c6aedbfcbc032b00c2c03cbc032b00c2c03cbc032f02c3330e7912ef23ca40c3e017c165635cf7366b813cde05100940c079c3ec3299cf5bd720a4f4979ed8fa9087ae9e35c0a673ddc452ef37a7d309d30fb84e00ba039c2ac6a0e06c2013505ce8d3812609a81a94f70c19a5b9681656019580696816560195806968165e01966a0834317383830f509e09a4c9c5c6a9ef5291c1cb8d4d30478e36440cd19e80c2fe1a52b85b37e598553f9e3825ffb63ea5c868bef0498242e4ec9290feb1dca7c0c1d2907d4a59993e4d59797a8149402087315c889a611c3e470bd81a98197c0f56ebd0c2c03cbc032b00c2c03cbc032b00c2c03cf1e031d16baae5b9c443d60349d50e0bad49a834f903ce5c1299c265cd51c90ce390489e6a58cdac8ef559bde57143c45c7d4b94e7474143c2561f2c80a5c9ac363c0c7d3f1b243294c9267f589352fa5184658530c490213d2d9bce074b65e0696816560195806968165601958069681e787813998b8e4f048a67902f8654b87cfd4060327be755200e46724d34cfff2b9d47b11becacdd7ec98eae21df9badac1171041a71a7d4d72257069e6d047d501f504ba0819e684a1e6fcfa142699323a23014618b8d4d304b62c03cbc032b00c2c03cbc032b00c2c03cbc073ce40470f24042ef53481b3a43f923985920f066a9e924c46a239ae0297660a8417f9482e20b584af74fd9a1d539ffcc2d0d711f1343939d5ebc3e85c3a3a2339012b6a241d3e6b32019484975a2f893afff58eb0aeea110295913f12ecbfcbc032b00c2c03cbc032b00c2c03cbc032f0cc32e04c715edb340397baa6b30993e9026e4b0a34cfaeb33978c06892643e9233c2b0ae5be16b2b795a8ea9a8e9503760283be5314872a1f256c2dc47d2d912a0008f79382bb5321286492eb5f7ae8534f234471838852359b00c2c03cbc032b00c2c03cbc032b00c2c03cf0f03e7696570405d19361e093eec5fbddaeacbc973249d3fcfde138faffc4c339f35678813c06733fd84af66fdb41c536faf19230e84c3119c24a66ade5a5d243eaa4eaae430abea5ccdd1749c03276695a4bae604d658ba1e07926fbd0c2c03cbc032b00c2c03cbc032b00c2c03cf1503ffbfbd335a6e1b8981e0fffff5211abb8d6097b45d174bb4d47c580d06b34bb2f58452cac9cc52afbc0accb46ae54aab4a04ad98db41349993d63824657f8c1c8e53e2e1d723c7d4c2c18cf72d10e198bd3904b2eb39994b994833b572eb7e4874ad5c755ae9ac886ea2bb28ed25010948400212908004242001094880392562bb0eb3ca5c456f88cca2f1d19f0ea8c9e7bbe0c094df5a6befb7f2ff27fcc831f5e8b9ebfd33137651e13271b23725ebd181e5675845e47cfe7e5295b92a304495316b8d8813cdda45e95c24df0d3f2520010948400212908004242081a7255083c978379c885e765dbbaacc8546bc77f6bfb2d2dd8a1cc25a2257854b644b7762c679e07aa131b51831d7753de8a4556bf9958f187a6ca932bbfa4fa9b5b72e5a296b4d320726c0dabbdc22dde43123680ddf5202129080042420010948400212783e02cc26bc1a0e22ad94b522cadf96dd8c660b3fa8e20fc1996c41f084432410b3eb11fbe9f2c1636abdf9f92c47208c128e891351a4aa8b065c39359da695df54fb21a52973429c5a6b635af83933266bee983c375548400212908004242001094840021228024c28117d4d770d94932b00dfab3f9f6c2150a2c69ce18f24dd885a23128bbe79870bc9c3c43f6d7c4c62fff4d86f1cc628983dbd4477d1756da9324ec4d03189adddb4466094ec2a3f579cd26b0bf32dea8704242001094840021290800424f06204c650c7d0180cbddb5ba57311a32c51e65bfbf6d1cbaefb96a113ab35a2bae8211288b9b6baff43faf1636abd18535f5e9212d13365e247dc8c8f3f74f4a9d903eccd2d7aab3f0c3e4f122719d6ad49572101094840021290800424200109bc0e01e6c0feca318fd64a568b6e04e6adf3d7bcda5b68c438679c56b12423ba2699d628c9ff9c78f03ffa3d7fb1c2b11dfc861f6a95041f1a51375a75ce293fdd5a392a4eb6f48d24fb2e4c1ea01ccc685709484002129080042420010948e0b9098c71202f8b19d157686022d88b13517e895c5b7d64e6c074d15dd499bd7cacdecf81777ea68c7cfda6dd410fb19671584ba0ebf094ab93fba64b8c8719f904e82212a38cd89a236329010948400212908004242001093c0781eda47762a6d5d770280733a2fc9bf7f6532a25b11327ad5a11fdcceeaffac889ff73eb25c6d47abd31d11d95f8116bd99dd229bbc8bdf07b19ca6b383edd6cc1cc51bd4b4b2101094840021290800424200109bc2c01a6c122b0eaee1088596b44d051c63c2969e540f29cc38db6a2c7a27b0ce70ee22a636abd6a9ff746d95be8886d49ab049a33712256bf9c615276f12774bb38e7ddf8c41f314b09484002129080042420010948e00908642c5c5f64f57186d896dd8cdeae656efd3c4f6f9593b2b7563d6209dc67bdee985aefdfc7bfad8e49ab8bde2a3dcac01d3e77ec61be869864ba4886005b1412908004242001094840021290c02b13e8d36071a05c4528c5ef2bbbca8cdf9de8f8ac2336f294254ef4da8d739ff5d27f42a92328d6cc8168be80b4865f26817e5474bad9c2c6b4b28bdb217a9743225847185f2101094840021290800424200109bc0e817512599da211931662b4f07b1eddbb5d877639981c4b2be26aebc7ec7785275b67bce1f47268ca217a19bd3a79f7ee974339baa3356209bb4a400212908004242001094840021280c01707c5c40823ea9cd2941137e3affffb7404c6ae94db471aad64388d2d7713d71a53ebb5d7a96f38bd5c354e17e89c9f7298ebad47ace7c7d773d43af2c7764b09484002129080042420010948e009081ccd75477ebd32ad08cad0584d9c9e2c4d390465bfd7d06bb975cabcdb75b931b5de7c9dee867354c6a78bc899a3e446ab4fab041731c4dac25148400212908004242001094840021208813e2b0ee78badc4faca39fd04f448e2b32b625b9639f23d7c1ffd3bc6d4623186c393322d02080e39717a8b7c17a5c735b68caea504242001094840021290800424208193c18f1622b8282328ab7be49cb7c6b1dbf2c44ceb3eeb15c7d47af3edecb79add59f5ea84293ea2df716bf265f4ee388d8c4202129080042420010948400212904027d087ccf8e70e5d44ed4223ba893eefe6ee597b127f6bd2bd8fb8e8985a2fbf0e845b73c47a19bd3a90a585585be3a66b922d437c3d39365a4a40021290800424200109484002bf94c0d767bc9e3cd281401731fc2ad3ea81ae0964e3ba1d7fecc2bfb3b8ee985a20b693de6a0e675b6ecdce9a00a277b70f739464e3a701920a09484002129080042420010948e0b713f874c65b03ab1308f808e00c27e5d63cda52fec88f9bb2f151e2d2636a41399af4567f3847e5913fbe801eeb7ac446f9f5e4d86829010948400212908004242001093c1981ed28b87dc79eecba87874f8948f8bcaccc08708b239fc03dc5d5c7d4627134fb6dfd618eb29fb6b67a77fd0ebe9b5f4fd091800424200109484002129080045e96c0760edc9a41b46d6122e0399c519e9c59ad6d9893ef2ffe03c2838c0b9691e69b0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's consider the application\u8217's architecture at a high level. We\u8217'll need:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab a {\f1 Todo} model to describe individual todo items\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab a {\f1 TodoList} collection to store and persist todos\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab a way of creating todos\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab a way to display a listing of todos\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab a way to edit existing todos\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab a way to mark a todo as completed\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab a way to delete todos\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab a way to filter the items that have been completed or are remaining\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Essentially, these features are classic {\field{\*\fldinst{HYPERLINK "http://en.wikipedia.org/wiki/Create,_read,_update_and_delete"}}{\fldrslt{\ul
+CRUD
+}}}
+ methods. Let\u8217's get started!\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Static HTML\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We\u8217'll place all of our HTML in a single file named index.html.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Header and Scripts\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 First, we\u8217'll set up the header and the basic application dependencies: {\field{\*\fldinst{HYPERLINK "http://jquery.com"}}{\fldrslt{\ul
+jQuery
+}}}
+, {\field{\*\fldinst{HYPERLINK "http://underscorejs.org"}}{\fldrslt{\ul
+Underscore
+}}}
+, Backbone.js and the {\field{\*\fldinst{HYPERLINK "https://github.com/jeromegn/Backbone.localStorage"}}{\fldrslt{\ul
+Backbone LocalStorage adapter
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+\line
+ \line
+ \line
+ Backbone.js \u8226? TodoMVC\line
+ \line
+\line
+\line
+ \line
+ \line
+ \line
+ \line
+ \line
+ \line
+ \line
+ \line
+ \line
+ \line
+ \line
+ \line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In addition to the aforementioned dependencies, note that a few other application-specific files are also loaded. These are organized into folders representing their application responsibilities: models, views, collections, and routers. An app.js file is present to house central initialization code.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note: If you want to follow along, create a directory structure as demonstrated in index.html:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 1.\tx360\tab Place the index.html in a top-level directory.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 2.\tx360\tab Download jQuery, Underscore, Backbone, and Backbone LocalStorage from their respective web sites and place them under js/lib\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 3.\tx360\tab Create the directories js/models, js/collections, js/views, and js/routers\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You will also need {\field{\*\fldinst{HYPERLINK "https://raw.github.com/addyosmani/todomvc/gh-pages/assets/base.css"}}{\fldrslt{\ul
+base.css
+}}}
+ and {\field{\*\fldinst{HYPERLINK "https://raw.github.com/addyosmani/todomvc/gh-pages/assets/bg.png"}}{\fldrslt{\ul
+bg.png
+}}}
+, which should live in an assets directory. And remember that you can see a demo of the final application at {\field{\*\fldinst{HYPERLINK "http://todomvc.com"}}{\fldrslt{\ul
+TodoMVC.com
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We will be creating the application JavaScript files during the tutorial. Don\u8217't worry about the two \u8216'text/template\u8217' script elements - we will replace those soon!\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Application HTML\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now let\u8217's populate the body of index.html. We\u8217'll need an {\f1 } for creating new todos, a {\f1
} for listing the actual todos, and a footer where we can later insert statistics and links for performing operations such as clearing completed todos. We\u8217'll add the following markup immediately inside our body tag before the script elements:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+ \line
+
\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Templates\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To complete index.html, we need to add the templates which we will use to dynamically create HTML by injecting model data into their placeholders. One way of including templates in the page is by using custom script tags. These don\u8217't get evaluated by the browser, which just interprets them as plain text. Underscore micro-templating can then access the templates, rendering fragments of HTML.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We\u8217'll start by filling in the #item-template which will be used to display individual todo items.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+ \par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The template tags in the above markup, such as {\f1 <%=} and {\f1 <%-}, are specific to Underscore.js and are documented on the Underscore site. In your own applications, you have a choice of template libraries, such as Mustache or Handlebars. Use whichever you prefer, Backbone doesn\u8217't mind.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We also need to define the #stats-template template which we will use to populate the footer.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+ \par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The #stats-template displays the number of remaining incomplete items and contains a list of hyperlinks which will be used to perform actions when we implement our router. It also contains a button which can be used to clear all of the completed items.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now that we have all the HTML that we will need, we\u8217'll start implementing our application by returning to the fundamentals: a Todo model.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Todo model\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The {\f1 Todo} model is remarkably straightforward. First, a todo has two attributes: a {\f1 title} stores a todo item\u8217's title and a {\f1 completed} status indicates if it\u8217's complete. These attributes are passed as defaults, as shown below:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+ // js/models/todo.js\line
+\line
+ var app = app || \{\};\line
+\line
+ // Todo Model\line
+ // ----------\line
+ // Our basic **Todo** model has `title`, `order`, and `completed` attributes.\line
+\line
+ app.Todo = Backbone.Model.extend(\{\line
+\line
+ // Default attributes ensure that each todo created has `title` and `completed` keys.\line
+ defaults: \{\line
+ title: '',\line
+ completed: false\line
+ \},\line
+\line
+ // Toggle the `completed` state of this todo item.\line
+ toggle: function() \{\line
+ this.save(\{\line
+ completed: !this.get('completed')\line
+ \});\line
+ \}\line
+\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Second, the Todo model has a {\f1 toggle()} method through which a Todo item\u8217's completion status can be set and simultaneously persisted.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Todo collection\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next, a {\f1 TodoList} collection is used to group our models. The collection uses the LocalStorage adapter to override Backbone\u8217's default {\f1 sync()} operation with one that will persist our Todo records to HTML5 Local Storage. Through local storage, they\u8217're saved between page requests.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+ // js/collections/todos.js\line
+\line
+ var app = app || \{\};\line
+\line
+ // Todo Collection\line
+ // ---------------\line
+\line
+ // The collection of todos is backed by *localStorage* instead of a remote\line
+ // server.\line
+ var TodoList = Backbone.Collection.extend(\{\line
+\line
+ // Reference to this collection's model.\line
+ model: app.Todo,\line
+\line
+ // Save all of the todo items under the `"todos-backbone"` namespace.\line
+ localStorage: new Backbone.LocalStorage('todos-backbone'),\line
+\line
+ // Filter down the list of all todo items that are finished.\line
+ completed: function() \{\line
+ return this.filter(function( todo ) \{\line
+ return todo.get('completed');\line
+ \});\line
+ \},\line
+\line
+ // Filter down the list to only todo items that are still not finished.\line
+ remaining: function() \{\line
+ return this.without.apply( this, this.completed() );\line
+ \},\line
+\line
+ // We keep the Todos in sequential order, despite being saved by unordered\line
+ // GUID in the database. This generates the next order number for new items.\line
+ nextOrder: function() \{\line
+ if ( !this.length ) \{\line
+ return 1;\line
+ \}\line
+ return this.last().get('order') + 1;\line
+ \},\line
+\line
+ // Todos are sorted by their original insertion order.\line
+ comparator: function( todo ) \{\line
+ return todo.get('order');\line
+ \}\line
+ \});\line
+\line
+ // Create our global collection of **Todos**.\line
+ app.Todos = new TodoList();\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The collection\u8217's {\f1 completed()} and {\f1 remaining()} methods return an array of finished and unfinished todos, respectively.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A {\f1 nextOrder()} method implements a sequence generator while a {\f1 comparator()} sorts items by their insertion order.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Note}: {\f1 this.filter}, {\f1 this.without} and {\f1 this.last} are Underscore methods that are mixed in to Backbone.Collection so that the reader knows how to find out more about them.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Application View\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's examine the core application logic which resides in the views. Each view supports functionality such as edit-in-place, and therefore contains a fair amount of logic. To help organize this logic, we\u8217'll use the element controller pattern. The element controller pattern consists of two views: one controls a collection of items while the other deals with each individual item.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In our case, an {\f1 AppView} will handle the creation of new todos and rendering of the initial todo list. Instances of {\f1 TodoView} will be associated with each individual Todo record. Todo instances can handle editing, updating, and destroying their associated todo.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To keep things short and simple, we won\u8217't be implementing all of the application\u8217's features in this tutorial, we\u8217'll just cover enough to get you started. Even so, there is a lot for us to cover in {\f1 AppView}, so we\u8217'll split our discussion into two sections.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+ // js/views/app.js\line
+\line
+ var app = app || \{\};\line
+\line
+ // The Application\line
+ // ---------------\line
+\line
+ // Our overall **AppView** is the top-level piece of UI.\line
+ app.AppView = Backbone.View.extend(\{\line
+\line
+ // Instead of generating a new element, bind to the existing skeleton of\line
+ // the App already present in the HTML.\line
+ el: '#todoapp',\line
+\line
+ // Our template for the line of statistics at the bottom of the app.\line
+ statsTemplate: _.template( $('#stats-template').html() ),\line
+\line
+ // At initialization we bind to the relevant events on the `Todos`\line
+ // collection, when items are added or changed.\line
+ initialize: function() \{\line
+ this.allCheckbox = this.$('#toggle-all')[0];\line
+ this.$input = this.$('#new-todo');\line
+ this.$footer = this.$('#footer');\line
+ this.$main = this.$('#main');\line
+\line
+ this.listenTo(app.Todos, 'add', this.addOne);\line
+ this.listenTo(app.Todos, 'reset', this.addAll);\line
+ \},\line
+\line
+ // Add a single todo item to the list by creating a view for it, and\line
+ // appending its element to the `
`.\line
+ addOne: function( todo ) \{\line
+ var view = new app.TodoView(\{ model: todo \});\line
+ $('#todo-list').append( view.render().el );\line
+ \},\line
+\line
+ // Add all items in the **Todos** collection at once.\line
+ addAll: function() \{\line
+ this.$('#todo-list').html('');\line
+ app.Todos.each(this.addOne, this);\line
+ \}\line
+\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A few notable features are present in our initial version of AppView, including a {\f1 statsTemplate}, an {\f1 initialize} method that\u8217's implicitly called on instantiation, and several view-specific methods.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 An {\f1 el} (element) property stores a selector targeting the DOM element with an ID of {\f1 todoapp}. In the case of our application, {\f1 el} refers to the matching {\f1 } element in index.html.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The call to _.template uses Underscore\u8217's micro-templating to construct a statsTemplate object from our #stats-template. We will use this template later when we render our view.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now let\u8217's take a look at the {\f1 initialize} function. First, it\u8217's using jQuery to cache the elements it will be using into local properties (recall that {\f1 this.$()} finds elements relative to {\f1 this.$el}). Then it\u8217's binding to two events on the Todos collection: {\f1 add} and {\f1 reset}. Since we\u8217're delegating handling of updates and deletes to the {\f1 TodoView} view, we don\u8217't need to worry about those here. The two pieces of logic are:\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab When an {\f1 add} event is fired the {\f1 addOne()} method is called and passed the new model. {\f1 addOne()} creates an instance of TodoView view, renders it, and appends the resulting element to our Todo list.\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab When a {\f1 reset} event occurs (i.e., we update the collection in bulk as happens when the Todos are loaded from Local Storage), {\f1 addAll()} is called, which iterates over all of the Todos currently in our collection and fires {\f1 addOne()} for each item.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note that we were able to use {\f1 this} within {\f1 addAll()} to refer to the view because {\f1 listenTo()} implicitly set the callback\u8217's context to the view when it created the binding.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now, let\u8217's add some more logic to complete our AppView!\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+ // js/views/app.js\line
+\line
+ var app = app || \{\};\line
+\line
+ // The Application\line
+ // ---------------\line
+\line
+ // Our overall **AppView** is the top-level piece of UI.\line
+ app.AppView = Backbone.View.extend(\{\line
+\line
+ // Instead of generating a new element, bind to the existing skeleton of\line
+ // the App already present in the HTML.\line
+ el: '#todoapp',\line
+\line
+ // Our template for the line of statistics at the bottom of the app.\line
+ statsTemplate: _.template( $('#stats-template').html() ),\line
+\line
+ // New\line
+ // Delegated events for creating new items, and clearing completed ones.\line
+ events: \{\line
+ 'keypress #new-todo': 'createOnEnter',\line
+ 'click #clear-completed': 'clearCompleted',\line
+ 'click #toggle-all': 'toggleAllComplete'\line
+ \},\line
+\line
+ // At initialization we bind to the relevant events on the `Todos`\line
+ // collection, when items are added or changed. Kick things off by\line
+ // loading any preexisting todos that might be saved in *localStorage*.\line
+ initialize: function() \{\line
+ this.allCheckbox = this.$('#toggle-all')[0];\line
+ this.$input = this.$('#new-todo');\line
+ this.$footer = this.$('#footer');\line
+ this.$main = this.$('#main');\line
+\line
+ this.listenTo(app.Todos, 'add', this.addOne);\line
+ this.listenTo(app.Todos, 'reset', this.addAll);\line
+\line
+ // New\line
+ this.listenTo(app.Todos, 'change:completed', this.filterOne);\line
+ this.listenTo(app.Todos,'filter', this.filterAll);\line
+ this.listenTo(app.Todos, 'all', this.render);\line
+\line
+ app.Todos.fetch();\line
+ \},\line
+\line
+ // New\line
+ // Re-rendering the App just means refreshing the statistics -- the rest\line
+ // of the app doesn't change.\line
+ render: function() \{\line
+ var completed = app.Todos.completed().length;\line
+ var remaining = app.Todos.remaining().length;\line
+\line
+ if ( app.Todos.length ) \{\line
+ this.$main.show();\line
+ this.$footer.show();\line
+\line
+ this.$footer.html(this.statsTemplate(\{\line
+ completed: completed,\line
+ remaining: remaining\line
+ \}));\line
+\line
+ this.$('#filters li a')\line
+ .removeClass('selected')\line
+ .filter('[href="#/' + ( app.TodoFilter || '' ) + '"]')\line
+ .addClass('selected');\line
+ \} else \{\line
+ this.$main.hide();\line
+ this.$footer.hide();\line
+ \}\line
+\line
+ this.allCheckbox.checked = !remaining;\line
+ \},\line
+\line
+ // Add a single todo item to the list by creating a view for it, and\line
+ // appending its element to the `
`.\line
+ addOne: function( todo ) \{\line
+ var view = new app.TodoView(\{ model: todo \});\line
+ $('#todo-list').append( view.render().el );\line
+ \},\line
+\line
+ // Add all items in the **Todos** collection at once.\line
+ addAll: function() \{\line
+ this.$('#todo-list').html('');\line
+ app.Todos.each(this.addOne, this);\line
+ \},\line
+\line
+ // New\line
+ filterOne : function (todo) \{\line
+ todo.trigger('visible');\line
+ \},\line
+\line
+ // New\line
+ filterAll : function () \{\line
+ app.Todos.each(this.filterOne, this);\line
+ \},\line
+\line
+\line
+ // New\line
+ // Generate the attributes for a new Todo item.\line
+ newAttributes: function() \{\line
+ return \{\line
+ title: this.$input.val().trim(),\line
+ order: app.Todos.nextOrder(),\line
+ completed: false\line
+ \};\line
+ \},\line
+\line
+ // New\line
+ // If you hit return in the main input field, create new Todo model,\line
+ // persisting it to localStorage.\line
+ createOnEnter: function( event ) \{\line
+ if ( event.which !== ENTER_KEY || !this.$input.val().trim() ) \{\line
+ return;\line
+ \}\line
+\line
+ app.Todos.create( this.newAttributes() );\line
+ this.$input.val('');\line
+ \},\line
+\line
+ // New\line
+ // Clear all completed todo items, destroying their models.\line
+ clearCompleted: function() \{\line
+ _.invoke(app.Todos.completed(), 'destroy');\line
+ return false;\line
+ \},\line
+\line
+ // New\line
+ toggleAllComplete: function() \{\line
+ var completed = this.allCheckbox.checked;\line
+\line
+ app.Todos.each(function( todo ) \{\line
+ todo.save(\{\line
+ 'completed': completed\line
+ \});\line
+ \});\line
+ \}\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We have added the logic for creating new todos, editing them, and filtering them based on their completed status.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab events: We\u8217've defined an {\f1 events} hash containing declarative callbacks for our DOM events. It binds those events to the following methods:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 createOnEnter()}: Creates a new Todo model and persists it in localStorage when a user hits enter inside the {\f1 } field. Also resets the main {\f1 } field value to prepare it for the next entry. The model is populated by newAttributes(), which returns an object literal composed of the title, order, and completed state of the new item. Note that {\f1 this} is referring to the view and not the DOM element since the callback was bound using the {\f1 events} hash.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 clearCompleted()}: Removes the items in the todo list that have been marked as completed when the user clicks the clear-completed checkbox (this checkbox will be in the footer populated by the #stats-template).\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab {\f1 toggleAllComplete()}: Allows a user to mark all of the items in the todo list as completed by clicking the toggle-all checkbox.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 initialize()}: We\u8217've bound callbacks to several additional events:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab We\u8217've bound a {\f1 filterOne()} callback on the Todos collection for a {\f1 change:completed} event. This listens for changes to the completed flag for any model in the collection. The affected todo is passed to the callback which triggers a custom {\f1 visible} event on the model.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab We\u8217've bound a {\f1 filterAll()} callback for a {\f1 filter} event, which works a little similar to addOne() and addAll(). It\u8217's responsibility is to toggle which todo items are visible based on the filter currently selected in the UI (all, completed or remaining) via calls to filterOne().\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab We\u8217've used the special {\f1 all} event to bind any event triggered on the Todos collection to the view\u8217's render method (discussed below).\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The {\f1 initialize()} method completes by fetching the previously saved todos from localStorage.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 render()}: Several things are happening in our {\f1 render()} method:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The #main and #footer sections are displayed or hidden depending on whether there are any todos in the collection.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The footer is populated with the HTML produced by instantiating the statsTemplate with the number of completed and remaining todo items.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The HTML produced by the preceding step contains a list of filter links. The value of {\f1 app.TodoFilter}, which will be set by our router, is being used to apply the class \u8216'selected\u8217' to the link corresponding to the currently selected filter. This will result in conditional CSS styling being applied to that filter.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The allCheckbox is updated based on whether there are remaining todos.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Individual Todo View\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now let\u8217's look at the {\f1 TodoView} view. This will be in charge of individual Todo records, making sure the view updates when the todo does. To enable this functionality, we will add event listeners to the view that listen for events on an individual todo\u8217's HTML representation.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+ // js/views/todos.js\line
+\line
+ var app = app || \{\};\line
+\line
+ // Todo Item View\line
+ // --------------\line
+\line
+ // The DOM element for a todo item...\line
+ app.TodoView = Backbone.View.extend(\{\line
+\line
+ //... is a list tag.\line
+ tagName: 'li',\line
+\line
+ // Cache the template function for a single item.\line
+ template: _.template( $('#item-template').html() ),\line
+\line
+ // The DOM events specific to an item.\line
+ events: \{\line
+ 'dblclick label': 'edit',\line
+ 'keypress .edit': 'updateOnEnter',\line
+ 'blur .edit': 'close'\line
+ \},\line
+\line
+ // The TodoView listens for changes to its model, re-rendering. Since there's\line
+ // a one-to-one correspondence between a **Todo** and a **TodoView** in this\line
+ // app, we set a direct reference on the model for convenience.\line
+ initialize: function() \{\line
+ this.listenTo(this.model, 'change', this.render);\line
+ \},\line
+\line
+ // Re-renders the titles of the todo item.\line
+ render: function() \{\line
+ this.$el.html( this.template( this.model.toJSON() ) );\line
+ this.$input = this.$('.edit');\line
+ return this;\line
+ \},\line
+\line
+ // Switch this view into `"editing"` mode, displaying the input field.\line
+ edit: function() \{\line
+ this.$el.addClass('editing');\line
+ this.$input.focus();\line
+ \},\line
+\line
+ // Close the `"editing"` mode, saving changes to the todo.\line
+ close: function() \{\line
+ var value = this.$input.val().trim();\line
+\line
+ if ( value ) \{\line
+ this.model.save(\{ title: value \});\line
+ \}\line
+\line
+ this.$el.removeClass('editing');\line
+ \},\line
+\line
+ // If you hit `enter`, we're through editing the item.\line
+ updateOnEnter: function( e ) \{\line
+ if ( e.which === ENTER_KEY ) \{\line
+ this.close();\line
+ \}\line
+ \}\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the {\f1 initialize()} constructor, we set up a listener that monitors a todo model\u8217's {\f1 change} event. As a result, when the todo gets updated, the application will re-render the view and visually reflect its changes. Note that the model passed in the arguments hash by our AppView is automatically available to us as {\f1 this.model}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the {\f1 render()} method, we render our Underscore.js {\f1 #item-template}, which was previously compiled into this.template using Underscore\u8217's {\f1 _.template()} method. This returns an HTML fragment that replaces the content of the view\u8217's element (an li element was implicitly created for us based on the {\f1 tagName} property). In other words, the rendered template is now present under {\f1 this.el} and can be appended to the todo list in the user interface. {\f1 render()} finishes by caching the input element within the instantiated template into {\f1 this.input}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Our events hash includes three callbacks:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 edit()}: changes the current view into editing mode when a user double-clicks on an existing item in the todo list. This allows them to change the existing value of the item\u8217's title attribute.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 updateOnEnter()}: checks that the user has hit the return/enter key and executes the close() function.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 close()}: trims the value of the current text in our {\f1 } field, ensuring that we don\u8217't process it further if it does not contain any text (e.g \u8216'\u8217'). If a valid value has been provided, we save the changes to the current todo model and close editing mode by removing the corresponding CSS class.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Startup\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 So now we have two views: {\f1 AppView} and {\f1 TodoView}. The former needs to be instantiated on page load so its code gets executed. This can be accomplished through jQuery\u8217's {\f1 ready()} utility, which will execute a function when the DOM is loaded.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+ // js/app.js\line
+\line
+ var app = app || \{\};\line
+ var ENTER_KEY = 13;\line
+\line
+ $(function() \{\line
+\line
+ // Kick things off by creating the **App**.\line
+ new app.AppView();\line
+\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 In action\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's pause and ensure that the work we\u8217've done so far functions as intended.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you are following along, open {\f1 file://*path*/index.html} in your browser and monitor its console. If all is well, you shouldn\u8217't see any JavaScript errors other than regarding the router.js file that we haven\u8217't created yet. The todo list should be blank as we haven\u8217't yet created any todos. Plus, there is some additional work we\u8217'll need to do before the user interface fully functions.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 However, a few things can be tested through the JavaScript console.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the console, add a new todo item: {\f1 window.app.Todos.create(\{ title: 'My first Todo item'\});} and hit return.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000003620000023b0802000000013bbf4e00001819694343504943432050726f66696c6500005809ad79793c55dfd7ff3e77c2755df33ccff33c93799ee759b8e6799e55322453194209151551d1604a089148a242033244a68a8a12f29c5bfa7cbedfd7f37bfefb9dd7eb9cf3be6bbff7da6bafb5cf3e67ad0b004b23213c3c18410540486874a4b5813697a3933317c914800029c0016e404af08a0ad7b2b43405ffe7b1350eb3e1e3853851d7ff49fb7f37507bfb4479010059c2cd9ede515e21306e0400d9ea151e190d009aa88f2f2e3a9c88f3614c17091b08e32b44ecf707b712b1e71f3cf49b636bad0373660020c51108917e0050acc172ae582f3f580f1e07008626d43b2014eec60563752f7f8237002c1e30472c24248c8873612ce4f91f7afcfe0313089effe82410fcfec17fe602f78407d60d880a0f2624fcfef1fff312121c03fbebf7c1015f7151413626f09d01f65bbc1741cf06c64c303eedef63647a20af0e8fd6b63e90b707441bd9c2980ee6bcf48f31b43bc04b3141765a306683e5bb416126443eec270453a8a7b9058c6960cce715a503fb9e38164221d1dfd6e18063eaeda3ab07637815211c23c3acfff2fda3626dfeca1313fd75ccfff20309c6c478e3617e36211246bfed419cf30936208ecb03cb6f84475b12ed248e351c1a6c7e3017c47bdf487d228728ffe913f57bbe44dbfca3fd6d0d61396c33922a3ad296c881e78864f30dd03782316c1b52ca3fd2f0af5c333cf8f79a86fb226d2363ac897ee083b1af4fa81dd1874479b6374197e85bd827c872a00f082012f8004f100a96011730053a40f7e0ca05cb436199170803c1f019c945f9b705bd881e45cfa1c7d033e8d77f6570cf031e0800de30fea3eb3ffac3721b90083ec25a7d40d4dfd1502c2875942aca14be6ac2a70c4a09a5fcb76d78ad65ed2f3eb0d50fee2b7ea05bfbc0fa5858e3de5f9e7b406ae45f7cd0c7f39f1effdb267df01ef680df5f86d475a965a9ddbffdff9d31460fa38b31c4e863849199c8bbc87e64377200d98e6c015cc807c856e410b283880fecfa3b0a019610bd42f470143081bde803627eff0afd3bde7f7929e61fc68106bc085e1e58c3bd424110dc16f0cf08f6bfad0ef85f5a626086273c6220cc35f9271e0776a10460efcaa3b4516ab09f611fa318502c401c25077b5c0ba501c7401e96fe1bc5ff9e8d38f0fdededd8df7309028bf03c42a27de2a3e1b50474c2c2132203fcfca3b9b4e0ddd2478ccb28d44b428c4b464a5a1610f75e220780afd6bff75488e1d9bf329f25000ec1eb986ce45f59e01900eafa0060ccfe5726e00200b31800b79f7bc544c6fed18722ded0000b28e1a7821970005e20047b4406280055a009f48031b000b6c009b8c16bd81f84c016c78123200564801c900f8ac17970115c06d7c04d7007b48076d00d1e812760048c81b760062c8055b00eb6c00e0441241005440b31439c103f240ac9404a903aa4079942d69013e401f941a1500c74044a8372a042e83c5409d542b7a17b503734008d42afa1596819fa02fd44201138041d821d218090442821b41026085bc461841f2202918848479c469c4354216e209a11dd88278831c40c6215b1890448722403921b298e5442ea202d90ce485f6424f218321b5982ac42d623dbe0b5f80239835c436ea330285a14174a1c8ea421ca0ee5858a401d43e5a2cea3aea19a51bda817a859d43aea179a02cd861645aba08dd08e683f741c3a035d82ae4637a1fbe0e77901bd85c160183082184578b53b61023149985c4c05a601d38519c5cc633649484898494449d4482c480824d1241924a52437481e903c275920f9414a4eca492a43aa4fea4c1a4a9a4a5a425a47da49fa9cf403e90e1915193f990a990599375902591ed915b236b267640b643b586aac20560d6b8b0dc4a660cf61ebb17dd849ec577272721e7265722bf200f2e3e4e7c86f913f269f25dfc6d1e044703a38575c0cee34ae06d7857b8dfb4a41412140a149e14c114d719aa296e221c534c50f3c2d5e026f84f7c627e3cbf0cdf8e7f84f946494fc945a946e948994259477299f51ae5191510950e95011a88e519551dda39aa0daa4a6a596a6b6a00ea1cea5aea31ea05ea221a111a0d1a3f1a649a7b94cf390669e1649cb4bab43eb459b467b85b68f76810e43274867441748974377936e986e9d9e865e8ede9e3e9ebe8cbe837e8601c920c060c410cc90c77087619ce127233ba316a30f6316633de373c6ef4cac4c9a4c3e4cd94c0d4c634c3f99b998f59883980b985b98a758502c222c562c712c1758fa58d658e9585559bd58b359efb0be6143b089b059b325b15d661b62db64e76037600f672f657fc8bec6c1c0a1c911c851c4d1c9b1cc49cba9ce19c059c4f98073858b9e4b8b2b98eb1c572fd73a371bb721770c7725f730f70e8f208f1d4f2a4f03cf142f965789d797b788b787779d8f93cf8cef08df75be37fc64fc4afcfefc67f9fbf9bf0b080a38089c1468115812641234124c14bc2e38294421a42114215425f4521823ac241c245c213c2282109117f117291379268a1055100d10ad101d15438b298b858a55894d88e3c4b5c463c5af8bcf4a3048984aa44ab4487c92e49374962c90ec97fc25252f152c7545eaad348db4b174aa749bf4171911192f99329997b214b2fab2c9b2adb21b72a2723e7217e45ec9d3ca9bc99f94ef91df5350548854a8575856e453f4502c579c50a253b254ca557aac8c56d6564e566e57de5651508956b9a3f259555c3548b54e75e990e0219f43570ecdabf1a811d42ad566d4b9d43dd42fa9cf68706b1034aa34e6347935bd35ab353f68096b056addd0faa42da51da9dda4fd5d4745e7a84e972e52d740375b77588f46cf4eefbcdeb43e8fbe9ffe75fd7503798324832e43b4a1896181e18411bb919751add1bab1a2f151e35e139c898dc97993395311d348d336338499b1d919b349737ef350f3160b60616471c662ca52d032c2f2be15c6cad2aacc6ad15adafa8875bf0dad8dbb4d9dcd96adb66d9eed5b3b21bb18bb1e7b4a7b57fb5afbef0eba0e850e338e928e471d9f38b1380538b53a9338db3b573b6fbae8b914bb2cb8cabb66b88e1f163c1c7f78c08dc52dd8adc39dd29de07ed703ede1e051e7b14bb0205411363d8d3ccb3dd7bd74bcce7aad7a6b7a17792ffba8f914fa7cf055f32df45df253f33be3b7ecafe15fe2bf16a013703e6023d030f062e0f7208ba09aa0fd6087e08610d2108f907ba134a141a1bd611c61f161a3e1a2e119e133112a11c511eb912691d55150d4e1a8d6683af82377284628e644cc6cac7a6c59ec8f38fbb8bbf1d4f1a1f14309220959091f12f513af26a192bc927a8e701f4939327b54eb68e531e898e7b19e64dee4f4e485e306c7afa5605382529ea64aa516a67e4b73486b4b674f3f9e3e7fc2e0c4f50c7c4664c6c449d593173351990199c359b259a559bfb2bdb30773a4724a727673bd72074f499f3a776affb4efe9e13c85bc0bf998fcd0fcf1028d826b85d4858985f367ccce3417711565177d2b762f1e28912bb978167b36e6eccc39d373ada57ca5f9a5bbe7fdcf8f9569973594b39567957faff0ae787e41f342fd45f68b39177f5e0ab8f4aad2a0b2b94aa0aae432e672ece5c52bf657faaf2a5dadad66a9cea9deab09ad99b9667dadb756b1b6b68ead2eef3ae27accf5e51bae37466eeade6cad17afaf6c6068c8b9056ec5dc5ab9ed717bfc8ec99d9ebb4a77eb1bf91bcb9b689bb29ba1e684e6f516ff969956a7d6d17bc6f77ada54db9aee4bdcaf69e76e2feba0efc8ebc476a677ee3f487cb0d915deb5d6edd73ddfe3def3f6a1e3c397bd56bdc37d267d8f1fe93f7ad8afd5ffe0b1dae3f60195817b834a832d4f149e340fc90f353d957fda34ac30dcfc4cf159eb88f248dbe8a1d1cee71acfbb5fe8be78f4d2e8e59331f3b1d171bbf15713ae1333afbc5f2dbd0e7ebdf126f6cdcedbe393e8c9ec29aaa99269b6e9aa77c2ef1a6614663a66756787e66ce6dece7bcdafbe8f7abfbb90be48b158f281f343ed92cc52fbb2fef2c88acbcac26af8eace5ac647ea8fe59f843e357ed6fc3cb4eeb8beb011b9b1ff25f72bf3d79a6f72df7a362d37a7b742b676be67ff60fe716d5b69bbffa7c3cf0f3b71bb24bbe7f684f7da7e99fc9adc0fd9df0f2744127e7f0b20e12bc2d717802f35705ee40400ed080058fc9fdce83703fedc85600e8ced213d84165209c584c6624849a4489dc8d2b00f70180a02be850a4b1d4c3348274f5fce08988298875915d8f2d9573935b9f2b84779b17ccafc4e0241822142aec2da22ec221ba28fc44ac58324d4242924df4935481f97b192e596fd28774ffe848295229be28252bd72bc8a962a56f5c5a172356f7531f52f1a2d9a47b4b4b571daef743a75ebf42af40b0c8e19128c348c998c374c864cebcd2acc2b2dda2de7add136ccb62c7654f648fb5d871d27e04ce68277a5388c3abce936e73ee2d145b8eb59ed55ea9ded93e0ebe767ebaf1d20172812c41dcc1c42198a0cfd1636173e12713ff24ad4e9e8e4988cd8a67854824f62d7117054e0984ab2d171979498d4d369c5e94927e44ecc67e49db4cce4cf22cf0639885cea5342a7d5f3ccf31d0a9c0b9dcf3816d917db96589d353f67526a705ebb4cbd5cb942f682f845914b52952655699767ae1a55dfa859ada5aee3bf2e7d43f5a66ebd5983c32df7dbfe77c2efc6351e6b4a6d3ed192d99a732fafadf87e797b75476367df8389ae99eef19e8687bebd4cbd8ffb4a1ec5f5fb3e3e3ce03068f5c464c8e0a9e1b0edb388914ba3af5f90bf941cd319379ad07ba5f49aff0dfecdf6dba5c95753ddd397dfa5cdf8cddacd99cf9bbdb758b05834fea0bcc4b834b39cbd22b732b37a6d2df1a3e127d24fb59f0d3ecfaf5fde88ffe2f6d5e29bd966e056cf8f933f5bf674f7f70fe22f8d4421975133e879cc3a29924c01eb4f5e8e9bc18b50c6513da261a64da07bc920c398ca34c522cf9ac136c2c1c2e9c855c0ddce33c9bbc9b7c5bf22f054f0b250a4b0ba08a9c84bd18b6281e2f2e2bf241e499e967290e694fe20532f1b2ba7260fc9f729642b5a28d12a8d2b97aab8a8b2ab4ec2abc0559d597d42e3aca68b9680d68ef698ce6ddd5c3d1ffd4306d4068b86ed46c5c6b1263ea69e66fee6611621969e5616d6aa3622b6ac76787b84fd96c307c771a787cef52e65aed98713dd02dc1d3d7409929e4c5e90d78af7984faf6f935fb57f49407a60589053b06688602805bc1266c3a723be457147bbc794c676c7bd8a9f4f584bdc3e427e94e3985032d771ccf177294da9796991e96e27ec321c4f0664a6655564dfcc69ca6d3ed578fa76decdfcda82ab8597ce94151517e795649d4d3d97501a76deaf2ca0fc78c5838bc297ae55095e2ebcf2e2ea760dfe1a4b2d6f9d08bc0e146faad7eb3698dd72ba1d7c27e3eee5c6cea6d1e6e996a5d6af6dc8fb8ceda21daa9d9a0f14bbb8bb11dd733dfd0f9b7a6bfaca1ee5f79f789c38103918fd246ba87d98e1d9d191a9e72c2f345eda8ef98e1f9fb8faead9eb6f6f6926c5a74ca7c3df9d9db93ffb7c6e7a7eeefdea221a8e7ecaf2e82af59ad447f94f029f293fff585fdc98f832f8f5deb7cacde42dfbef82dfb77eb46f27fe54ddc1edeaee2d1fc45f025a455420dd50c26812f40666996485748e6c831c8be3a7d0c23b53a650dda01ea5d9a7e3a7d76308643cc17491b991a58ff531db23f6fb1c959cf15cda5c3fb9aff098f0acf266f209f2f5f0bbf16f0b14094a090e0af9099308d788188a7c10cd101312eb13f7920012159287245f49c5c05f370d32a6324bb269721c72adf2d6f26b0a271439155be0af9625e564150695ebaa5aaacf0f791dfaa496a44ea25ea621a731ae99a8c5a1d5aa6da1fd5ac75f675fb74acf529f4cffa1c1114339c315a32a635713269371d362331b734af3018b344b55cb6f560dd641368236ef6d2bed0edb33dbbf74c8733474dc776a720e76e17399722d396c7e78cbadc89ddfbdd143cbe30d21de93c7f315bc8ff8fb18f82afa29fb1b051002438208c11a21542193a157c342c2e5c377231e4666475946d347bf8db918eb1d2710b7187f21412f61323138892ee9c591fb473b8ff5263f3c7e2fa536b5242d2d3dec844b86de49914c74e6cbacd26ce71cbe9c9ddc99534f4fdfcbbb947facc0a550e50ccb99eda2f1e23b2567cf9e3a57585a79fe6ed9a3f257152b17762e51547255c95e36bce27a35acfa584dd6b5dcdae37584eb8a37f037bedcfc58bf7d0b779be38ecc5dcbc6a4a6c6e61fadcaf7c2db4aefdf6a6fedb8df39f060b3dba0e75eaf4ddf667fc980ece0cba153c31e2346cfb55e6a8f07bfc64faece0daf6c7edb26c6ff4f8d8cf84ec0280070260500c70c00ec340028e80540600cce3bb10058520060ab0c1002be00811b0290caec3fef0f0820010690036ab826c50904811450816b2616c019ce90a3e0ec320f5c00f5a0133c03b3e01b9c39b241d29001e40ec54105d00de831b488c0208410a6882844059ce7edc3795d2cf21ef217ca0075063587964567a2df615430a5981d38c31a245524ad2163252bc09263b3c8b1e4f938165c0d851c453b5e0ddf46a944799fca90ea2d75340d15cd4d5a5dda513a5bba517a0bfae70cee0c3f184b99d498a6998fb2b0b2b4b1bab191b1b5b3c772c8717ce5bcc315c92dcfbdcbd3cf5bc2e7cf7f48002f302378572853d853444b54400c2fb623fe49e2bde498549374928cb4ccb46ca69cbcdc67f9568542c504256f6553152955c643783509f5324d51ad53da033a9ff548f5e90d980dd98cf88ce54ccc4d23ccce99f75a7cb1e2b576b0396ddb6f8f72d075cc701a726170f53c5ce7f6de0343a0f6c4786e7a2d784ffaacf851fa9b0414077e083e145214fa29dc38a22e0a171d11f3264e3fbe35513ca9fa28d7b1b2e30c290569d8f494139b27033357b37372434e3715509f6129fa58527bcefd3c43d948c5a98b069736abf2aed05dcdacdeba1654fbe57afe4dbd06ea5b1b77161b979a575b3fb4cdb76f3c60ecd679e8d6e7d16f33a0f144f2a9f03385d1d0173f26506fc8262fbea39ded5cc02f1d59d5fad8f079e78bc237fd2decf7533f06b7977e2eecbcde6ddccbffe5b92ff57bff20c69f04aec9d1c035076e200264811a3084eb0c1e70852109648152500beec1758429b00ea1211648ea77f413a022e816340c7d4450226411ce8834c41dc4029213e98ebc825c4329a0d251636861740a7a128e7d190920f1271923d5236d259324abc30a636f90cb913fc059e2e629e2f164f8624a6eca5b70fefa963a8e8681a685d69ef623dd517a2cfd3906718641c6302646a62ee600163a962ed630363eb649f6520e474e26ced75c15dcde3c52bc80f725df75fe740157413938975b111e12b90bbfc5f2c4d3248e48464b79496bcae0648665b3e54ce419e537145e2bf62b352b57a9e4aa261e8a55cb526fd5f8ae25abedad93a35badd7ac7fdfe0be6187d180f1ac29c24cc4dcdee284658bd59a0d9fadbb5d85fdb4238f53a073b32bc96107b7f3ee7d1ea3841ecf5aaf4cef001f6b5f433f27ffd480ae208a60cf90f63096f0c488a928ede8da58cab8f0f82789dc49b147468ec9275f49614d2d4ac79e48ca58cb2464cde5249e92ca43e44f15de2e8a2d913bfba5f476594c85ca859f97aaab642e575cf9502d58e37fed561de3f5f29b6af51f6f95de51be3bdc4468de69ad6ab36a071db50f4cbb367a2ef67a3e5279cc3d887af2f469ec33cc48f673dc8baa31f709b3d7c16f6ba63ecc70ce59be4f59ec5c665ccdff24b0fef46bd156eeb6d18eccee85bdf7bf360ee28f026470ed95098ebe285c6bd20196708529041c859ffc4ad0081e8369f8b9c74102902674184a82caa00e68164106479d8028468c20e9913ec80e141bea386a05ed847e8ad1c174c0f5946e5253d229b2282c25f616b93d0e896ba188c04be37f50f6519552c7d038d11ad119d35b3118332a320933cbb3b8b326b045b37b72d8729a7399719bf198f29af159f3bb0b44099e12aa137e2cb22c4621ae28e12b795e6a5c8645d65bae417e47d152e9a94ad6212775b446bee6aeb6894e1a1cc116fd76834ec361a31d1313d36673098b1b5612d6cdb63a76e30e214e58e71baef66ed41ee49eeede2e3eeffd54fd73021683ac838742cdc29e47b8442e4527c572c44d273c4aea3a5a916c77fc676a65ba7d06e7c9f5ac8e9cdc53be790605cc854f8a7c8bb7cea695529faf2a57a8787ad1b712aa2abfa27475ac26a696b5eef18de47a835b9277f41b939bab5af3da9cda193b261e94753b3d24e9bdfa48aefffe80dee0c450fcb0e4087274fdc5d2d8e844c16bc137156f7f4de94d67bf7b324b3967377fe9fdf2a2f487a0a54bcb8f5756d6d01fd93e497dd65d77d8207cf1fe6af98de7dbe6e6a92db6adbaefcadfcf7fdffee1f0a3799b613b72bb797be7a7e6cff49f033bf81d9b9db33b23bba4bb9abbf1bbb77797f7b8f79cf60af706f7f67e49fff2fe75f6d7935fbff6a5f77df6cfed0f11e31fe52b2b437c7b0008a70d971fa7f7f7bf0a00405208c05ec1fefe4ed5fefede6538d99804a02bf8cfff2e443206ae7196af13d1207719f1f65fc7ff007c47b8761da207480000019d69545874584d4c3a636f6d2e61646f62652e786d7000000000003c783a786d706d65746120786d6c6e733a783d2261646f62653a6e733a6d6574612f2220783a786d70746b3d22584d5020436f726520352e312e32223e0a2020203c7264663a52444620786d6c6e733a7264663d22687474703a2f2f7777772e77332e6f72672f313939392f30322f32322d7264662d73796e7461782d6e7323223e0a2020202020203c7264663a4465736372697074696f6e207264663a61626f75743d22220a202020202020202020202020786d6c6e733a657869663d22687474703a2f2f6e732e61646f62652e636f6d2f657869662f312e302f223e0a2020202020202020203c657869663a506978656c5844696d656e73696f6e3e3836363c2f657869663a506978656c5844696d656e73696f6e3e0a2020202020202020203c657869663a506978656c5944696d656e73696f6e3e3537313c2f657869663a506978656c5944696d656e73696f6e3e0a2020202020203c2f7264663a4465736372697074696f6e3e0a2020203c2f7264663a5244463e0a3c2f783a786d706d6574613e0a3210859c00004000494441547801ecbd07a05f4771ef7f7eed56dd7ed5bbe426c995e22a9be218e28a49c038c601925093900427ef61420ae4bd2424f913f2878450de031b12d39240dc486c1c820b066cb0255b96bb24ab58b624abdef6abef33e72b8d8ecfef77afaea42b5916bb96f7cecececceecece9e33bf6d2753abd5a2108206820682068206820682068206820682065eac81ec8b9321153410341034103410341034103410341034601a086e62b083a081a081a081a081a081a081a081a081061a086e6203a50454d040d040d040d040d040d040d040d0407013830d040d040d040d040d040d040d040d040d34d04070131b2825a082068206820682068206820682068206829b186c20682068206820682068206820682068a08106829bd84029011534103410341034103410341034103410dcc46003410341034103410341034103410341030d3410dcc4064a09a8a081a081a081a081a081a081a081a081e026061b081a081a081a081a081a081a081a081a68a081e02636504a40050d040d040d040d040d040d040d040d043731d840d040d040d040d040d040d040d040d040030d0437b18152022a68206820682068206820682068206820b889c106820682068206820682068206820682061a6820b8890d94125041034103410341034103410341034103c14d0c3610341034103410341034103410341034d04003c14d6ca094800a1a081a081a081a081a081a081a081a086e62b081a081a081a081a081a081a081a081a081061a086e6203a50454d040d040d040d040d040d040d040d0407013830d040d040d040d040d040d040d040d040d34d04070131b2825a082068206820682068206820682068206829b186c20682068206820682068206820682068a08106f20d704735aa56ab1dd5ed0b8d0b1a081a081a081a081a081ad83f0d643299fd63f8b9a1ce1c056ed351d0849f1b7b0b0d0d1a081a081a081a081a78796be0e7caa77c39b989c11d7c790fac50fba081a081a081a081a081a3570347a5fb7844bb8913eb174eacb4a3d7ce43cb820682068206820682067e1e3530b17edec44a7ba9fae34874130fcc9f3b30ae974aefa1dca081a081a081a081a081a0819797060eccf33b30ae23443347909b387e3f6ffc94636b79a2e48c5d4ac80d1a081a081a081a081a081a38d2343051dedbf8e58c9ff2c8d1d54bef268ec7571b0f4d52a7fb4b9fe40d70d040d040d040d040d040d040d08034b0bfbedd78e8c7437384e8ff257313c7e3c9ed93669f04a369f98019471318f04103410341034103410341032f3b0d1cb0c7b64fc67d12a0abf1d0bcb42a7d09dcc47dba6863138c9d2b6d8e87e6a5d57b283d6820682068206820682068e0c8d7c0783cb9b169c6ce4503fb247809b57458ddc47d7a6fa3118c8697e2c6ce4d2a77fc9449ae00070d040d040d040d040d040d1cdd1a18bfaf3636e568b9a3e15dabfb2470cac3091c3e37710c176db4acfdc54b710db91a220fa7a2435941034103410341034103410347b8061afa6a0d91de90d172f7178fc0d158bcacc30f1c0e37716c17ad616e3db21e2365a5f0a9e4180a1d3fe518424256d040d040d040d040d040d0c0cb5403e377cb5294a9a437bf1e5f8f81b821720c219e75f88143ee268ee18d35ccaa478e8da9cf75258e91e53429e00058521242326820682068206820682068e048d3c0d89e59c3da8ec192cc4ac292331e0c94f5645e8d31b29ce6f00087d64d1ccdeb6a884f215349d4e11807923a6a881441c3ac86c8a4c000070d040d040d040d040d040d1cc51a68e88d35444a090db31ce9806b2c854925c79049564362977cd88043e8268ee687d5e35398d192a3e153ca4a9225e114592a397eca146348060d040d040d040d040d040dbc2c34307edf2b49998493cd4ce13de98088c74e429322f02246c33bc161000e959bd8d0ebaa47a6300d930d9149d5388103c95ce07a7c3d669f2c2982900c1a081a081a081a081a081a38c235b04f4fab9ea01ea3363ade016f7b0aa36443e4682ce053f4a9429df1300387c44d6ce884d52353986452703dc6b5e3590ed4678149e62661276e088c9fb2217b40060d040d040d040d040d040d1c211a68e87e35ac5b927234588c9eeb400a4f5259498224ec0462ac67777c8acbf18707987837b1a18f558f4c62eae17a8cd4e17807c03bec4012e97a4ce6a6a4394d008206820682068206820682067e1e3450ef7e8d8df15c07d092c30e24910e8f9d9bd47692d2f10d919e7b4881097613eb5d316a9f428e9154961338e042c6c024b39c3e0900a7428a25951b9241034103410341034103410347ab06c6f0bd3ccb0129c193023c49ee6898b1b352621b26c7402aeb90c687dc4d4cb962a32585f75c07683c702a29a4c75290d338207c926c8c2c270e40d040d040d040d040d040d0c0d1ad81a487a7963ac601d780631c204b70327639f564297a4f8a659fc97a02673cd4c044ba89fb74c29204f5b0639280c328025849c5524d3d46941e2701b124e3a4a8f1e09334010e1a081a081a081a081a081a38923590f4d892f51c0d0f8d6709f0a4d8eb918e4952027b3205783259560aae4f36c4803cd461c2dcc47a7f2b85492653b02753403229b81e230525f1603c99ca4d65a5c8441ce2a081a081a081a081a081a081a35e03fbe5ae39b103e807d89302624446aa734c3299e252520429b83ed910e3bc8708981837b1dedf4a6192c914ecc924500f0b938cd14832e92c8e772099e57aac47d6639c38004103410341034103410341032f6b0db84be7ada8c790359a7b97ca72de24bdc3c9dc24aca2c138d2c57a968086c9147192f210c1f94324372936e97e392c2095840b8c901e3ba05c4936a25a2d85f1a4b244e9c886806852f4ce1880a081a081a081a081a081a081a3490349ff8c7679d20135d61d03e193b96491542c6034fd78aed8c502714ab8e39525e2d1641e66fc21994df4f62775918445e064c9a4c3000e3baf6304d4e3c1a4909e4c0246140797b307b10f7c8a2c248306820682068206820682068e580d8ce672d5e31d93021a269348c10d63900df15257320b8c92c9ac7a38452682431a4f809b98f2b4464b3a5e407d328901563209a088d192d2517d6e52772ed091c238afe30310341034103410341034103470f469606c572c994bdb936e1cb092d28927851c23e95912e8f42ec70b6a0824c90427c91c73e880835d744e7a5af5b5f4dc14509f14c663008711ab643da6582c0e0c0c6cddbad5b31c10975729896f98e59402449f428664d040d040d040d040d040d0c0cb480372cb52154e221d4e3970b02431c09eeceeee9e34695253539330128edbe0040d5d08728517206271396f3d90aa79aaac86b9138b3cd8d944b5d9eb944c3a9c02944c221d039084112b4c122998ac9191912d5bb6903ce18413cae572a552f16a2401ef18477a0fc1eb30b9925c4fef8c0e8811cafde2f2b292e5aa50e4ecb3dc24bbd327b980abd52ab1d7b31ea0b86c36eb85a6e424a5d5f34ab2575e0463b3b8fca434b1a4620854ab7d0a14256484fde282de2b9f8455376104378c532ca9242c6082fe1baa4ec8a4c6927032779cec90359410f43f4e0536d45ef2b1502f27c5924aaa4782feebf5e698a4c692b0088471e27a20c5924a420f26e8bf5e6f8e496a2c098b401827ae079c8517683e9f7fecb1c7182ffdfdfdcdcdcd2e011a024901497834a4f0a9d893492005d727c11ca270b0b389a3556bb4274e0a4f5218014918c9f5c824c1ae5dbb18150b172edcb163077860b1e472398d163a49f4e08185f498cef6ca272993480914bbe391297a8f9d40c245992c5ab0d32725409ca284cccb4a012e073c6414e704ce25e1e05dac888549d621c99b2446336a8844119344ab2e5378894ac22208fa575fa099a486a59ca0ffa406528af22cd75b0a904ac5451cec5fa30f2d49271ab6529a9b9fb42a1ad12763f0294a899290542c4a111007fd4b93d22d71d03f0a39ea9fffbc1f090b162c78f2c92771420a85026381901a471a3b8e7740d6921c4aa2745b52d2e3d1f04e701880bd6d3b80c25c2fe24d261d4e0249181692c20848c1423a597deedab56b972c59b273e74e68343e9d855e747a72ad0f13be17b08f67c83ccbf18e144675202680210820660a93b200600140ac17ed34aa0949824b16207a04aa3ece0ec609541cbc49c073c153a257c3c920102cc9c0600808713920092495a59a2be931eca2219628b14b942a0c46599203a52b018cd8c505aca4e8812527465b4d5c8ee8851199d37816186f38722854f551a1e48ad29392e34809874b80275525c55e4f9726c0734922c1abe1642ad425830743004320e981a4b2a434253da602508a4595112c516a2f1865490ef412050046ece2025652f4c09213a383feeda181a292318a92c688a5b4a07f57919413ec5fe3083da0101f7a6e361a8324093edc04881e7dcab49c3da961d91bbc49c0d9c107fd4bb18759ff14c7a2f38a152b66cf9e4dd778504f299984eb319e2b805800940ea7001108599f95c44f2c3c61b389a9c1a05a3a12200993eb1801ca75d8731939f559626763e2f0f0b0083438d1af8821d09013c691626c885416bf84f4ca871d8c90de6d4aa6622845002359aa0f00480971f315a35706001a152709c420858758594a127b4122736263d833992aa40a2256205700b992e97830c010280b18c00b5296ea0f9e2051a257eb800182fea58da48aa464e95030b941ff3221a9c515020046da9375910cf6ef5a025090f692b18f56d4050d49e5a24cd96478fe4821ae4037b3dd3a8d1f80c09085e7bfcc86d8d5159eff32181f686e3fb81f38213e18c12bc89680f55a74330300e9d6e8b00062318a4cb023052491c0872decadf4fe16e9ad156332e98af32ccff5ac2490824926034248fae3cfb39e7efae9638e39468f422f08c095ee803a5849517a164972e94e004956d7027b1f7bae78c912402c396000949434d178295e01689445ecf29d5db9e2923460f1420ce0625db213b85849165e4500234d154b15419220023142e6482f0e8caa010662c562148d589c5e044e295e2593c2556eb26230aace0e400f8658c29300b064aa3825254dc4f51570f6a47c6757aed71380a0ca07fd4ba5ae400002fa014f005032e85f3a21764026a464acb6dd7a0343521a03902683fd275504ec5a727d26ed0d58f452a0e845e0f441ffa8256966d28ceb4d1a46697aca09ef34ca950ea558c5ae6a9703de9170114479a4e99f5a11f45aa1c2c05455ad104cac868057e51b3eff41b2eecceab335350ee2024fca25ecce4bfc4966392c8058802408f6d8f2f68c08c1f549c74f2030316ea2d4aa6a399c04047b9c045230c9f104ca7aeaa9a7d89808b1fa1b0024ca152098d8939e0ba69e0c0c06018dc8048c1dbb1007449f4a0a49a1323572ebc9c4220255cfb9c802af56a46aee4997099744899d58328527f611abc6ba64d1c32b3c806011a820300082a117400c8d92c4a271698e778cf107fdefd173d07fd230d006e627f3105eb06b2965399ec4ea444f9cb4409292293c71b07fd75552518283feb11082ab48c9d16257a003a24c2585c456a55e179e24131cf4ef0a1c4de749bc2bd0016747db494a60bdd74aa512c048a904062ede5b1c46610a9998a47655eaa92276c1f48b042a29180200e6aa7042240d09e30f4916870524938e490263c0641d8a30618bceaa5c52838e11d2b31c0fe05900a3057530b900c4e202d6220b1d034c4c96c36034e420561f83114c4c901ce881c9927dc439168147b8640a2921a217aff02a5ac5815132492032c5e045203920c1244b518b844c4ae61cb72ae0f42ec1c9bc2009d4ea0930044e232e9210235015f018800a385e5c94085e72c8122f4860495316717db5bd20b21c461ac1c5029315f41f6b25e8df964deb0d29d83fc34d6af1b1238361ecf8d804a3a40697089231781168e49225994e1f9e3f5217fa09cfffa42db98d8194d9bc8c9eff327b1cc417b6ed7c70d5fa6226d7ddd5d9d654d8592e0dee1a2c0e0d77b51616cd9adad7d5c16114da4503d55e6ff518cf1fec84202e8d268705c8a2ea6384fbe803760247aa1ac4c22401273e6cc001ba8954fdc0aa08a3f30a88118d238cb27146fcbc23971e42c504d9b48c583059d4902cfa9818394e069cac3c4958c4a52c6201b040a9a4e27a46ac812c1507008b30c0aa0031c285544d240a98a05c01c0ca122f31787845a3188fcac90010ab9a0b864549c54a42436e2a482c48550c80b29c5d4892b48b12015413b89425cd0bafac64558183fe5182f419f4ef66239da016023001c393adca3e95454c523432548f83fd4b51d28f2b363c7fb0253712e0f0fc41098c205988db8c03d215c9a3fbf94f0369e9d0d0d0c34fad1ba814def0daa5537a3a993fe417395923b5eac07079e3e66df7af7c7cf8d135af3bf5d8969616bdefc81dcff307e10488d13641c509060fd0f0e10f19815c15010c208c65ec677021fbc9b71fe4b98f7dec63fb413e3e52b5195a00c11e2701cb1b3da065cf544f08e3782e4de4d62268542900f593d7d1bb413e8db34340969e2320053b2f0048091120c95e19cf82524118af094984636d2a710fd56eb190d59b8e17042ff4f5342a9d2cc9f42480e81553ae863d642256ddbc86a257712acb61b18084461a73de642942aa38110b231a6701f08a491af2a151716481844685268b4b565bc45e3a00414588116282309e45128141ff68069d1007fdbb854821b22b9028c761591448689206298c2b53a294549630922c384913f4ef3a4145d292eb3ce85fca9142500e499956ea1d116bcec6329482a5c9548cdd86e73f3af4e73f00a74c563cb536eaeebee28d4bfbda5b6b995a54313d976b55fe640ad9feceb6e38f99bbb396b9f9fb3f5938adbb39be317b9cfadfbc79736f6f2fd2e8086282ba8f5849611c1e0d707a01a9a40ba9c74ba0e347937f90f80970135d410ea84e9e14409c04946c8801e983c1812452bcea21c1c468cae124972bc83b1e4a08c08b5e8cc404310a500c1980e43b17c6e762c542d201b190f412c52e1a2f852472480a430c99236107a3310f5212885d26805743785500d8f1308a9798dc64ace28434a2382053420440035ac289812519d8a5012b48a06009112cc9c45e7328c59e6404293c48018a6104702449e0640355167807c442d24b14bb68bc1492c821290c31648e841d0c12849404629709e0d5105e1500763cd2086088c94dc62a4e48238a033225440034a0255c422419d8a5012b48a0600911bc5b74d07fd07f6c84d889cc03c308f6cf18d1c0212648330214a325009169d0012707b82bd301b190f46785d8c183f45282fe518b34a3d8352340f1c1e81f09ac256edfbefd91e776bcfdc2f39a32d95254c95573d56c2dca46d95a465dcbcbbc1ad5267776ed2c95ef5ff6c8fc69bdac3eab4af4200075f07a7a9f0260069b366d929b084d7da002423ae03463609445ec005c821b0249a4cb9f58e000179dc75909a938450cd203591a5d8e01704c12004e1293142656a60d6392c4c95e0443aec8c802264608314116a0ced63c3348150112628cc0a549b87895eb94b13013aee05cce0225414f1668a0270b215e9c18554fc1d0430086203231123b26966a642a91982c892516a5c70849497062e4002b573255c3142c1ac828087591eb15132f0460285a8c00622116b117019928154b608c0bfa37e5a10a292d094b9941ffe801fd989ae2809905fb4721188682b4816e528a020f121a59177a931addae0044000d80c6af0b1123b163a01159d07fd0bf8c8a18b371c39069c9aea42262728909b24062ec678cf72fdfceb8fefaebb97a865326928c1172a9f5473ffa51244b08d2402aa4ec1fc6e54faf7be319673667ed9d558872fa8f332cd5a8d254898a9c63c901d67299da7173a73ffcd4d39bb6bcc0d233df56413e01e130225ca538469521a91255ba9a434c8080dc14202ecf92702191e0b90254620af992240fc44d4cb6cde11440d23134cc9349a01e4faeba2105d42321a07b90a02cd9198a26293d6a4ba208944b963a1b5e51128b8cfdadea4e1188d28583542e3159b0b8406890a612c5254a993e3148619223018164a92cf1027ba1124852f524468297a25aa9dc175e7861fdfaf57cd59a2a8171812a110912ee310462740c80730909af185528b0a4a9324eaffa38afb83ce9f2859128494836c4e953c2bd14972309a2579560712e2703506d45432c4078e89d320923960025b900129b2250925c689259c0aa9bf302781d8093a19e9d5c95e864f0aa2612ebf5a720b18bdeeb23405c29513c583b3a3aa64d9b3679f264e44b02b1002443ff32b57fa98246b1a2c4c8d2a300a48695f4a006aae1defc6452a3c6554716ec2445233c188d5c900aa9814c29e85348ca2529322916188c72559f58fd2ffbe74fd03ffda8be06508fab7f653f321b6290c2a4cc862c59a9786539d2aa04c208201a247829b22851021ff5f6cf15d61ffce007bff7bdefe1b7f10165d442487d776d34fde323f272dc3634b270963d0093a140229babd42a798dd75c261777e3e2f9731f5bbb764a7f1ffd859209687e0cfdd38f10502511231580a4891fdd539458efdf5452428809ea7711100b93029248e33904e140dcc431aaa1562509c028804c02a9e41eaadd7f51b4207503b030ea008735d810c543997e55122542a0585d25bc90dee5243574c110bc3e30220d8c3a03bc8a13013159600020a062c4c8479408449c142e32b1b8100005350dd8c91005314175901e442cbc289f78e289f6f6f673cf3b8f389fa3c9598ca85aa3e154093853cd30999e8dc0c6194cb1936067067b3322fe65e80e326c70d8e47b36538137ca64f965051db9d59835a666a4c057cdd4b231278d47c7b15c493059b1f4581845d72898ca440cb51a855aad76976d222a1443c9a818362bc962fb478d8cd160c4e7ece1084d68da81f51a3fa306760eac58f9f0ca952b8f3bee38cc868051a155548c2dbd4ced9f26988d98115af001a27611331e357c848186644cbb971876e4c8537432002889c5e280ca52ae4a9740c5e4fe5c3d7f82fee97737094ce5303fff7fdef48f7acf3aebac9ffce4277ac926c7a646e868fa073f3232d2ddddc32232fd551f780246994a9e171e6f3b0bd5feee8e071ec7bdb4c94b1c53caa2088278e9774252ffc24006526482c19354859dc5e50048326205a4922a0ea400c5e24a620e1b3c316ea2b7dfdb93c224f164295700317a842009284bba163e157b528c28d48508a6dbd47312b26bd3f38fddf183353ffbd973ab9ea6cfa7cd5f30e7b4538e3fff759d53a7614c5e3df12ad64b1478fb96679f78f0bfd63d7edfa6679e22d93767c1ec635f7deca9afefe8994a125e0a420830c14d96194a929b5e78eede87ef5eb16ad9aa679fc1e1993b63dee2b9279d73f2797ddd939d8b825479af06497869a31c56092709121a921b366c98dcd77ff2c9a70cdbefc9e270b692c3ffc2fb2a674bd87dce3c31dcba6ca6ca34638e0a56f134b2a5bcd93b722ab88cf8703893b64da3147b93d9729e9f5648a0689099122e1e8dc295644ebe96c7cbc30dafe5b2e64496280c27142a86070ea3398d356342303b3f2a4dc5c208c5e7f0fa6ad96aae44e5a840ce9cd80aee773597af546bb908bfd3c61fb3fe659cdc7cd9768b98378ac75acbe64a854aae82db189a76e0bdd6dcd67ce6e9a73fb06cd9ba75eb66cd9a85fd6051b2223383f8a730b11b1e59b23d62b77f722196e1e9c1a7a428ad0347b77f7221f318f9f02284429d6b7fed5f02112569084726b0e349225c858207502c0272012894119a2c5a782841022b200700a46b095e3049e12270e11003c3285ed123537508fa475de824e81ff3c0a8646f321e8c8a20fd800768f8fc173104a2110bb0e36144387830e001148be065a77f16cd6ebae9266eb1465d980dcd21b896805d9334d369782d020f8d147b3b7b628e0611ce23afb47264f316b592bd9e7028778ed82b5545ec53ffa89440b9d2393095518c0407c8854649075421f17ae5483a2c005e80245ed25264873479504758d48031ea278264ecc420937834a82480e07a0082249293ce53a79aa36682e26e2016810689ca8260fdf287eefdc72f3e71d34d9347864f9b366d7edba481756b1fbdfb875b56ad699b3aa573da54b143ef9d21b160d63ef1b31fdff20feb7f70c38cfcce571d33e598c92da58d4f3d79dff79edbb2aeb5734a77ff4c4a848c12ad12718f0a207e6cd58a6fdcf1d5db57dc5eeeabcc3e695ae79c49eb766eb8efe19f6cd8b8aeafbd7772af950bafe825016942aa264e0099288979bdad5ebdfa9ca5e7b12fa2562a3301689e21bf8880aa955c0111e61756a31cc82c7e1639f86831ca3cc10a63229b67c23d8b37897f6653843cb2a238af1615202de306e6caf6b431af0d8a6c05b7905361246d86d2ea5d453a40a55ab03f14ce2c22a5e168c267b381183c5e236e65011f953d21b892d4834cc6722d57b39dc478aa55a6fd2b515e821965d51cb38bbcaa19f138ada169d69107dc6b65cef3d5b233674c7be08107752d00bd4990c909905d0103281690b43d193978829b28047a26826c68ff92c6c31a0295452c5166307135c85265c669ff2e418c248511e00501a8a064cda989ca4a92794d0420476400544930f40a202581985c908e1140710465398bd32455e1e5422658d29c0ba4b2889129bc60cfa22065018074bc60ca853e592818d143a05a41206249205742c42b58b1285d8227852126802416bd0a520c9e2065ba7c172e16922622e83fee77f480c65c45b1fe76db89abd4350626d6dcd1a9ff7ffdd77f9d3e7d3a2bce4c0d126835311f600318c3fed109dedef6eddbf2dd3dc7cd9a2e05d6c73693c80c4a2dda3e38bc756057a95c59fdf4ea6367f4b7b6b632a1b84ffd6fdcb8b1a767af1baa5e53290e8f06084f9c0cf092ac8f9348cf6d08809cf03031b3890dab955431b0029400c9784fcedebfe4d2c72203104c52b02779e810f4748305181ad98d88352bb07de3b30f5c77c3ae9fdef7e1375e30f9920ba2d79d6b0ba7dfbfebf99b6ffbc7fff8deb25aa67d725fd7b4e9b0d013c48852a0a09d5b9f5bfefd2fe51fbded377feb57bace7d7353c7ebe9c4d28effda76cfbf7de3f35f7b3853e9ec9dded5375d1583cb2b03bc69dbf3dff9e1b71edafac8affed69b2f3bee17a7b79e0a72fdd04fbffdd8ad5ffbf22db57b2b3dddfd537ba78154a1fc7001a60e48534d68919a201aaf21fef1a2458bf0e0862bd53cde5c5429449552942d542b259cb5320239d095295423ae9ccf72c3bcf133ad9e89f2b6a89bb719f64ab9c07270ae099a423957cd942a0538f355f668f04b1f4530ef84b166cbb95a1e95e03ce2e055ac86b877bcb358e6b615ea728db9298e8ed9dc3deacf64f2f4528e99407c54e43389c8fa7d1e3f1577b048c94c59166be5267b155097129e65050714e712f7326e35739f1578f3a52ce586a64d44af95cd344e38e1046e06e0694be761577ae808209681d5db3ff64c96f5771cb040829e9e00ca92c58a2669ffc243a6212951fa750eb1098a471c420088c76fff715d6cbcab158a25992cf05e0d0a52b9bef9586541a63a884031723c17202947f46a88da452cbd795924e1120d00327df03a0d18c808aab30062e4c392ac8097288098000d21e81fdd06fdbb15c9968e62fbc7e009838383b87de79f7ffe9d77de09c0406044c8128809247da001a31674b263d750efe4dd139020c70823c343bc310747465a73bb079a561b54900dbc178f501fbce0295dbd807cea40acfae809002c004a5540800b84d7611124312e59592f493c916e624a0b0ddbe30a720032600514ba07b4bfc924b082539214af0a22490fd179c4d807ca55473efdbd1f0cdcf5a3b72f3976f28239d1a34f440faf34fa7c7ecac2b957cf5f70c35d3f5e7dda29a7befd6dea0c58923dfaf4f23b728fdd76f9c5a7742d3e31bb7d5d69cbff8135936fea5a74d29b2f7ee43bdfbdede9e5a79f74ee95cc54ab321aabaac97d2bee59fec2c3675d76cae2b9c73c555dfdf0f6c7e16dcd379d326fd19acb9eb9f7c6e5f73ff2c30bcfbe3c6510f0d240ea2000580456e75851d4905f30279f724ab9522cf053282a65abfce829d391d820be192dc7a1cb6499b6c357cc664b35968ff3ace316aa787e4cec9533799bc363721063b6055ff3d2f84565bb0b4de9b877183db37d996a89c566a609e3998a785672f72d023974cb5233ee1fdf3962f22fcbb4262bdcf885a0f9cb812096b571414b791b34d978422c8f2f5ae1a201dee4382eb64c8df05a96e56744d34a9b3a04655e6a542e54685068dac4f45aad5a993d67f6a38f3edad7d7c7031743d230e1c9bb75eb56adb0a07ff0325dacc0ac2d0ec228173cb620cb14061290ec8e25b0d93c69ffe05d26002542ecec002411459628154bf818f62f2e898205408c3252e125d66100856441c004286154dd4423396451317241928bd2941431b1885579c12e8adce4f3272e67b73e85974c094102018c62ca4a3e7fe00503a5882123178caa070b85121a3e7f44030b0450c2058c1c926449a0b244a958b941ff6803751107fda381c366ffdbb66debeeee46ed04d7ffd9679fcdc64426ed2ebef8622cf9820b2eb8f9e69b65bac48486f6af61325c2c312b88a8b10377280e0f5532b9ecce8181566633e261424c352851954182004a04164d5cfeeedfa2c22b4bc46034d09cd19312abd84b2109637d10017807ea690e2966df1adcdfe2a511e752923815204862924994eb59828915c0032806800b6b40b9d2be30c4de07106cfbe9fda70e67676c1d88ee7d20eaef89da5a41468343d1e6add3b70f9c32907df6273f8ddefe368942b2bfeac06c5f77ffc9b3a2aef6e6ccd30f45937a72cd6d20aba5a1cccead20c97a74ddfdd9ec55bc68f570a75cd81954d4ead1e756769dd0d3d6d9b2ecf9473a5bba9be35db423a5e1ed433b5bbb5abb17f5407051e6cd0854736476c000c4e08501f040d378b5777775b536b5208ab563f603da41943c136ff1ada199da776fbec5e91db8e4d24b70ba58daad9571dfaa6c218409c5e92c09d5c6d9c32164c211471397b2cc46415c47e62ad91958ce8ee4aacd1c0acbd7d8b8c8a6423cd04c9e09c96cb1b9922be76bb60738538eefa232cf0f3737531dc9669aa25ca98cd3c7ea36b39be5020bcd19cec7e0af326bc93c59998e621691094c68c8a45a8562359ec4440aed4937ad09294dbcb0cbb8eae692e6718e59b266776568dad8bd1635b7b4757575f13582b6b6363d55b1a5e79f7f7eeeacb9cded2dec5e652699a963ac1bbb3387dd7e7464cb51b550637a9a2725f6c213333e26c50f049b06e637021dcbb6d2f2ae81a117b66cdab973279b40dcfe936310932049d0e0c22c450606985c2a331efb971cb100cbbc01149020b1920612808149290024a107109784c0a207885840922480875ed5935862b14b8e0b871832cf150d18679764970fc0f381980031c12911052c152917b112451618daa26951905e2e340d9f3fc93aa8083041ffa831e8df0d0fe39121a116d9304902b09b25b09b0d64e065b4324888b12bf182218b38697b24c955acdc31f4ffb5af7dedca2bafe449c5cfd75b6fbd15aff1cc33cfc44d3cf1c413a903f7e010c37ec92597b0eeac7211ded0fea92775e33d37a9a5f1f91529819865aba15271a0c22b2bbbf699e7e7f476520462096a9153ba4e00086a8e685419a717aff420323000700929764f7a11024443ec78517af23003fbed26aa79d4b21e48565db9c938954b96e70a4e25d1b894eeb9024002c499b67ca61fbe4ea952a45f91d51e5b7d7c31d3f6e8e668a81a4ddf114d9a6434bb7645cfef687b7aebf1516dfdaa55b275f50d999e2c0dae9d317746530bf3753b6c4b5fbcb3b55a1eac55b7d75aaa643df4dc5a8a767b4ad6f085a167a79dd257698b86b2c399dad6915213928bd522c95a4b6ddadcc95b7efcacd9f19ea0d2bd214a12138414c054e2a9a79e5a8acaf6c666160e67b2c26fa18c4dacb3bc9bb537cd15575cb147aafdfdd297be74d38d375d72f19b32b66a8c576673170ca278a3207e169e199e57c48d002c1fdb94202bca8c01f30771e6b22c0f3731f987dc0abb0c6dca0f09c51a1b156dad98aea815299f294aeb149c07bc3be617f34c30b2a5319f63211ca7b0a96c8e06ffe23f954a39cfa0c1eb6076d35c56da46c5a36aa5c02c23da6edc34bb18d53656da4e4766496b4d1ca8a182b6b732346dec5e8bca95258b17ffec8107f8507d7205b696cfec1a1844a536598c43c516015cf9b83f2af1bd4f234cedd62a4d6c4bc86438535462f2991e8bbd463a989d0a28bfb5b969f69cb9ebd6ad653b0493019801c64297627b8219201a1a600088c1f0c4170d490230593275b12b062fa4084449ec9490c917048958c614313041bce44a32b1d72429569255557111ab742145ac581244a6b2a0218885980025b10a05860c180c645426a97fb25c3880c8841423318c14aa729120326201b090e51550a1c4e4aa44111013542b090cfa472141ffb11ded1e7ab210590e300076e58092b2434c8824da93edb9f9815716318c3257c82499e4d8f6cfefcc1b6fbcf1f5af7ffdedb7dfce0e99d9b3672f5bb6ecb4d34ed3964464220169124b05104b6868ffe0a1af942b03452e49dc47181c2af23e2cd68a9b9fdf78d20933442ddb50abc1a83801c4d48122880942420060158a83334a63e0240140642e50ecc41e9c5834c49e254004c0f5408a724292bb9fa7072fcb1bdf505432d761000558f680e9bfea06c5e42593c06078d8c12ed311b33020f51c6c6bca774def88e6f645533ba3ce8ea8a32dea9a14757746d3baa363fbba6775f3157044c99465198291d6d45ac8f7f5677bfb72bd3d59e36ae31f00c95cef64b2205041aa0c2cf4a88434b7e47b274dea6c6deb686bed6869ed6e6deb6a69ed686ded686b9bd4d6ded3d1d6d4b2d747878b9f445eae1b0700928931357281f9993579727f95cd7f64f10f9db09dd0a6793250608068852a0d0f8fe81f30e1b2cbde74e34ddfc117b0c565dac5c41dfe20fe40950d89ac43738714a32dc36ec13233947802b676ccfc9e1d9e30ef0d2c6e423653e4aaa95ca5585affbdafdeb4ba842cab46819ca8f6e0b7fff5871b46e243d20596aff11eec240d43221735f394305f8e59445ee95492532d76909a1a534e0d87816f6cb2d46c5b18cd6119ad69e615e73245739099a1644dbc5ab1792f26218d6b629a864b54615a8d85f30ddffdda8d1b6910fe33c5505d9bba3de8a655469edfb2f1f94d5b07f99e68a2d70e75d3cab5524f7f1ff78de1a3c8da899959dcb16d3b7e219690a7b3981066c328ee2207cf4bac6fd2ec4a9953ed6836fe7441d1a683b3f8fd9c49e717029d50aa55f9c532502e950786a74f9f81714ab80c9801480083c911838c8dd19c1e8d142589c9daa7fd4b0231410235d0e00543413e7cc85533553ab1b5307e5741090c061a0092e095ab2c492676405e26346a14789525812e1cf69869f71349a588c579014406af00620549238645b02a000b41258201f65c6f05004254bad8552e78cf8200642c2ce8dfbc43694cca2796568983fea519991ff1e1b47fcea9cc9d3bf7b6db6e9b33674e676727cf04807afb576761db1a116ee424ddfe355298f1182cef9d8b91fd27637e1db37eb5b334c2eb6ee3d65d2d9922f7e0b0de020da2086883589ea892d28f6c863819a434c7906c18109ec42b998a49a6022c6014a7b20e7572c2dc44afa837438af08679239d4059221352fa1506d801c19e2b805812b01200b715fa524f01ba1664fb92e3b64fed8ee64f8d16ce8c162d8c4e5d1c9db2285a746c346f763467eab699bd2d8bec4a3906035c8af51a43e6a4be855b6b5d99f6eea8bd2beaea8bba66c4fffaa28e2e6625b7653adb7b174006173141f51430bd676e7667d49e6bee6e6a9dd2dc33a379cacc96a9005d4dad6db9e6ecae6846970d006f0b7520a868d59f2cea8f128879ed41cca781962c59c2641da3a1ca3ec032508575db1ac7967967e7a2829d5f3163aa0f975f7ef9bfddf8efb823183e9e007344dc009019fed97b3b7bbbfbba7b3b7a2f7bcf5f3ebca968fe0a05e2e3b1088c13c77313915166246f8766d9326977e80c6db8f2b7dfb16997f9150cb3520ebf6ae0bf7fed3d776f1821dfd6ae63e70def35a2769c38e3ddc6939992399ac2d422cb95e54c09bf919552fcc232f5e1482e2bc73661693ee28b9bb6fdc1bfebecfff4002478b0257c172a562be36ee26c546cb19b3452d34de37d8a2b93adacfcc2db7bbbbb7afb7afabb7b7a7b3bb9468bffffee816d8d9b6642abb9e16c7968fd55bff5cef5f8b0b1678cf017356d70f97bbbbb7bdffed9e7f734adb8e93f5fd3d97bd5971f2c3df2b5cedecbeedfbab769f77feaacdebfb997a63d7ec7e739f074ec8245c71e337fc6f4feabffef83de6b07d6b4da7079e58ae5ccf9aad798ca5db57a15bddaa869f8f499c58b16739005bbc2d2b013dcc42d5b36e335e0abd3050c273b4dc4e9f96cc45928f68cda4f037b83d68ad9125dcfde01fc46d6a20bfcee8ef0a531bc0abf1f1839c3b057aa9d1d1d78a2d89e0c982262a3b647ad90324e721548ee97fdc3851c1fe97a81a914068e8a2046a692c454000c41804a040f0d30000181c4ca12310529490cac4acaf5048646ec0010c00ee0b5a220b12013160808a2274bb00035070cecf5cf1ff090a950d1434640accba750c8ea9f3f229004785567902a0b408124590a9011a4077285947c623d7fc053016f69d07fd03f26841292568115c97e0ec0fe61c1453bfef8e33968cc0c2256f7dad7be165344a64c77bfec1fe2d6e6c2c88e21808681776a99dd332c6e0d9b61af7872d5c2fe4e5c558d02ca55ff128f66ff1a26c43e94928060620190518a928abd569e04108d538a4678a73fccc0c4bb89a33520d94e294531f4f54957a83a001a8064808524bf36541cb000f02296b112b7bdea15eb7b2645f36646336646c72c888e3fdefe2d9c17cd9c19cd9fbd61527bc72b4f830b534088c4bacc49d34e7bae58192ae46b6df9a8b93b6aedb57f2d5db596fc50a1b071b8da31fd15fe4815bb9ea4d8d9c2bee3cb5b4a6d954267d4d697efea6deab37ff9aece4c6b3b57146e2a1e3be50458a82131562840ec6a05d50020f038462059cf3df7dcfc79f3d9bf57632110dfcd6e9fc97350846b636c260e7f2956d49e1f4288e41d69afc91b6ef867fe0d0d0d7eebdfffcd06046e19d3ffb43a5b1b8ca20ffffb834f3df82fd3bff5890f7c6765255ebdb6a55f5e5dccd871d30e3369b8215c5a13bf65a846a1297b6e746e26cf86455c06e6087117a2e625516bc1ee23e5e00bbb062b2c42e3cdc587630a369368135065b6baf1daa54e9c86b69337ec54e4a04d2e5be40a1e3a0e97833aa59bd6b2e097be7fcfe5b6a594c94bb63d66a9390ba03c39681eaba6b499a6b0746e4e66b2696495a2fc09577fe1e9556bd66d5cfb6f7fb864c9b5373eb561cdaa554fbffba49ec64db3e954ee70ac3637b72f8d96da22bc096599ddded9c9a6ed027debb53f5c6bb74ed2b4e5dfb97e05151c895a179d7f4d74f7176e7f7277d306d77cf5632b3e75f1c96beffaeb33dff2e1dfbbfece0ddbb66e7b76e3a3f7fdd707ce98e6bd76604d7be2a9276fb9e53feefce13d78c9bce2efbef3aeaf7fe39b6b9f79a661d3a25a71defcf998103d88c911f3bb99460c0c0d45c3ec3ac5cdabe075146d17029daf49475cf9d88d041f13f02b808d0d23cc43479561ec10412ca232315a618e79b8afbb8f4bce90297345630024a1220063cc82014c9ffb63ffb0204ad288258a98e02da208640a13e7ec1ed77adc4306125e0d76d504d8a5818186a4304e2f515418bcaa2dcc789e3fc8943455cc6315243920eb9f3f2290d254104f099012884c58a84cb22d48732e007283fea52e34e39a172c4505fd1f51f68f55d34d1a6874cdeb5ef73a608003b07fe460fc857c7ecbf6ad886d1878a7da344799898cea0b83839b9f59d3dbd5c997fa540158641e7aff024b48d2a2dca8003c8891a4581c9034c52edc93122e16c1474e3c316ea2b74d402a26e918075c0571a675808086b114ad2c8701e83ff52831362193820c6958bfe8279f75c6ae45c7de87f9cd9c11f5f5479d5df6af7f7265cef4fb32955dc72f9c72f6991013e0e2d90117920924a7cd3f7b307fdcf2d5cfef2c9b876053624cda71514eb9ba7c15b369c74e5f700e64048ad673197600d84f9c73da94dacc8d2b366586b9b4268f5764ffca7992202757679d38e7152a0b761a420594541d4822048cd52c0e5c0dcf79d2b6f6d64c9965563bc56cdf4be1107f1625e032c69b0d7159f658735c2f8b7efdd77fc3ffc5b9b681d17e45b18390633a513475ea8cae7967bdc268334de5e17b3efdde3e26df7a7a2ffdbd2f6d1cb1868f6cb8ff6fde714e577f5f4f5fff571edb655763db5c20fb03b7def03be75ef599bb283ddf1b6d7be63ffff09cdebefe9e77fce92d9bd041b63ab2f1c13fbbaca793afa3f75df6cf773f5ba89672234f7cf4d28fdc78e7b7dededfd5d3d3f7e9ff788a7a5473bbeefff21f74f732e177eed7963d976a5a65e38ffefa8b3f2e31ea773df9d9f72eedef666ef0bdcb06b91a04afd1a6206db9d4bc995a343cb89defb7ef691a0accb145b2b9adab67524773c7b449bd5173674f6b17938a1dac568f6cf8fafffa959eeedebebeee6b6ff84911cf35170d6eb8ef434bbba8d945ef7aefdd51573e5b2a646bc31befffd89b9885a469977dfdae67992eb5b3e1a6aee80bdf7d088fba5659fb2f1fb9e5dc2520aac5ccb42b3f7bd137df73f3a68cedd47ce1a1ef7c25bae61797546fffebbf8c7eff9b7ffaa6135be8b5d6a6fe85a79db5a4df7b8d093d0e8bb0bd13c7993f0d9ac6bc68a2d7d4b4e3172f7eedeb5ff3e0030ffef8cebbefbdebee071f5876fef9e72f983b872b27cd5cf1e9b8c39ccb29e3a66135ededcd9c47f6af3b2284959ded2fbc90cd639c4c01e3bae1f9f103a48c879fe10a4e566fed824d5c617c3a36c19ab269243eba194facf34a2d6f7b07c057a296b61664b2d39c9880b161cc3837f2751c638a4b8c35e07dda3f722093048891ac110740f05cca22e905015b49f1f0849e401601002480130383911cc5642997c107009200a39210831ccff3c7ca8b43523ea25401c921895811a85038280b3c49f0eca9579dbd021088d7f1aa9eaaaa120507fd4b1b52afe2a07ff4805a646c8a93fa010629fce1b47f59b5fa8b69c56f7deb5b9c62a1320766ff0c0de657d66f7a0e09a9c03ca20dbaf86b5fac6b55cb9567366eee6fcbe223ca91a0d5d20f00c10d069d249f3fa291a24c5f7170e41ec48bfe5213a5bd4a249348a71632157b12e0b085837513d5c2f157d71594d2450a8f403032176509f60e10406c9d1df728300f44c162c14ac86de9ed9b7ad1859bfb7bff7bd5d32bb76cde3430b8696060e5a6cd3f78e289cd5d1d532fbea8b9a717cb2020815f2d32082400b44eea9fb1e89736ef987fef8f1f7be4c9951b37ade21f00c92d3b17cc3cf1cd2ded7d2a97983a53013db5e1ed6aef3dfb98f35b07fa96ff70e5932b566f58ff2cff9e58b17af93d8f813cfbb8f321501b2196212284800462ea43ae141ba3ab7c79e594934ee19dc57c578e0d7abc7c737803b664c805d7bc763805c28220c4c9ee60eade0378726d668fe9b13cae1ebe52a6338abe7ddd673ff59e377c24bae6ba5f3f892f9ff49ffeee479fddb66dd51db5eb7eff3b8f0f1432ebff6af11b3e31f937973fb36eed138f5c38a78525e45ad4d99a1bfaee1f2df8e0fdbffa77bf7d365767b774447ffbce6f9cf1f7cb9fbcef5f767eea9d7f72cbea5ab4fe138b7ee1fe5ff8f6ea6d5b1efceea51fbcf8c45b3654b22383cfdcf5b95fbdf4b677fff4a9bbbffcae8ffdcacd83d5ec963bfefcc26b7a7ffafcb6d577fde66f9fffc74f0cbda86923432f7cf7ba2d346ded8fafff936fbe61d996ad1b9efef3054dcca4a20416afd92e60ebdb6b6eff74efccd973e74cfbc0571fb0f3dcb802ecaa8bd888c957ff72cc788dd8e642f370717a4a51e5f63f5dfcbefbceb87fede6671efaf735bf73e1876f5d5b8e36fecda20b9fb8fad68dcf6dfc9bab2f8da21d45bcb6eadabf3ee10df7bdfedb6bb76c7ae83f2efeed8b4fbafd99787b6574d13ffcfdfbefbaf65fd7e50a83f77fe7b3e7fee5877efda2352399e691dac25f787f147decf6c786f904e9bd5ffcf8b99ffce5a943ab6fbb3bfaab8bce1aadd7b822889e8b67847968a59b865391ea35358df3ed679e7ed6d94bcf59f6f0b2652b969f77eeb9679c7ee6885dc8cd86517e35611bec0d656b02b3c73c17f9515e3bf9a493b5ee2c63e08707e74e6c570056c1f24ba9d654e6ec3986673f2498dc45c9cc231711c48c326384eb952ab911e46102a8c1ea613f4dec747cb63a3c529a32652a4f761921068c311363e1c418b90a052009ace478ecdf8520197a62011af292030d4159002a9aa490aa0394ca92106aa28126b224a5c8540a308c08541348aa09ca050620d43f7f40c248598a95d46b068cf1c4d50353fffc210b1a9545110425c148a02490a45c11fbf3c77983fed152d03ff680123015991056411224467544d93fcf225e73ac787052939871f1f5af7f9d1dcfb1f9ef9ffdd34602be26af5d66e16938ae61ec1d4623b64ba9c29209bb16d922ce0f63f6426ddcb879469fad38c382a252ef5f0d3a626992588030c402844f2681a5f324301a0ce5f883848c9ffe6028f79ea2381829e24dd6db61d708346320c94a05340e465c82492601ef128c49e60e31b0f0743323810057fbbc7993ae98bc63c58a671e7bf2919ffe0cb249d3a6779d76ca34f6f9b5b5734b0818b72ae752715dfd0b2775fedad68df7af7e7ad923cb1e80b2bd737ef79437cd9cfeaa6ca103b792e240aa203debc1200dcc8c9eb9fd5d6f79fcd9e56b363cf1c823f7a2002ef25e32f9ec63a69ed89c6bf3873bc412023ba2680b9824401224bbbea64e9f5219e17099f901f873745ede0e5670cb0d17d4d867f4c8884ba73908480790e4da32723cfd833362f71d46d1f4b933e74f7d7514fde75df7bcebb8d7ce3efef463eebbfd1bdf7966031e2407168aabeeff54147de5f7df36bd2397e5240ec5146b9dd1ad9fffe8f9d7dff79107ef7a6f3f33f7b95c714df487b77df6a2d33a0bd1ac6bde1ffdd1ea4d38b69f8a96dcf1aed7f7946a93cebaf2534b3efced7b575d725196f9cb1b1efedc7933a2a1a1e3a9622537f0d39bff318a96def0177f561d79348ad63c5fa91c976c5ac11a83bfd33dfb94287adf551f68fdb3dffbf5f317db0a343e10174016334c8beefcafcf7c4c0dfee687feee37dff29593da33798c013f91670284763e9b49579e14e80ddf66edadff187dfcb6abe773fb41c76b3efc89735ff3cf3ffaf8691d54f8b62bcf293457165f70e9d2e86ee66b47d62e03f9bddf38979f99b3cfb8ea934baefdf68f9fbcf0d21a5bf04e7aed556f8bcebbe391df9afbb58fbdff9a1573d6decab640d6bea3fe577ef9add1af7de3c1b77db8f057df8c3efe1727e48a0fefa4097b2e84acef359e60e6d7e9e9442fbda8691c4e671e2bd96b7b9bc6e64e1ac8243343a5c48fe22a876e6c89dc2c2a5e9d2fc60bfc5c63cec50fcc844f993665db9ddb66ccb0d37c32333bc8b27d6b47473bb38938d19c1db73da9d8982dbfe33cdad6036a5635b5d94ba5c811683aa454631702f7bbdbde026ee1c41ab951a756eceeee5cb5ea69bef8a2b1c0205229c4c00c0a00ea468080a4aa4112000c71bdfd4b14b186a427251916e101042b76629542123c2c5e283081e27831a8623c3d2023168d898b852b268ba09a3b0660ece70fb922f626532830a2c0031000e2bad85b8da2097151660d22663685c785721d2916b18b459a01439684234730313064005664d07fd03fa67084d9ffeffcceef6099d44aa343d563473e867d00f6af61b573eb0b9b760dcce8e98c4a155e04bc116ccb0ccf19165aec3b7d768485759fa16ddb3b6776b00f47451bc19e17b1861531591a388aa91e0001007a01a201437018201994958a9100cd6848729d40f0e18c0fd04da43de3afa5889d259904f6a4e0fa18ed0b09204d09a35e41adf86afc08d08352cf415915b1e8994ecb37b74c3ef7bcd917bc414f6d2c0024ab63c3bb76f108967c881145925c6075184e643edf3aebb88b169c78b97e6760af90b17237c8ad3a31193291004c95542b9502592ed7f4ea635ebbb4f98dc2c08bf0eddbb70f0c0f8081d82ba98634b412c898013afef8e3ccbdc915f9881d6fd40c672bf2ece3633227fe8f1ce67f58ff8bb544bda84f7d2017df109f892308fc68c22f614eff82a5175ebee4ad8b3b2f39fbcd375cb8e68d7f3cf77583d77ef18fae7ccdb66ba3418e36c46ae46b7a764f0d6792299c6323d1e296d639d18a658f3f3338674e33bbf69891ea6c2f30abc9bc54dc4f5179185c0fdffe2b3121855fdb13718f3e9c9968e9942ef311185e0c0d6ef1e1475e74e12f5d7ad52b2b03975c7275db42aed1b16b58f634cd746bd355938efda5752b977cfbfaffff97cf3ee643372cffa38b66511c935fac2c97cb4d93ec8b360ac7f5b6d33426bdd83dc93a37f7d4b15e2a33b2af0796b869bc54c66f6b6e6ee26160d7f734f1b5a6726968800a37b53037c3d6ccb811b952a5c8af88de3cc7b9e3a6e57aa25dc39ca6a1153bf27d8bae7cffe237bfe78a68c5453ffcffa6d63ec7e70aabe55cb6506e7ecd7b3f1e5d70dd572767569cfb9933bad1dd8c0b9744d7defcd3779ffcda86bdc6130853b0ed0476a79e7d033bd1349c423ba294e8b5dd4de30eb17befba73d9430f2d3d6729d5bdf79e7b864686969ebf9a059200004000494441547d1e26c2cd5fbb9bc635e7bb7bcdd6e06b513386c4af763c399485dd7285cdc68dcff6f42d19191acce14b5215fbbd611b5fcdaa6daa2c5f2ef0b19e1a938b78abb932ffb192cde7c2b9f6c84e1ee1acb30c8d5ee951ae6e47207728ea1b561a8f1a9bd8b6b52dfe51073c7efb173b95d1604108b0629a802862b254962c404da30890c20033fa2053353c2657e31d8192a98288a149d18384dee548f23e9f3f2a0b62b1530ab09735f6f3071628d534b1a874f004e4209ca6098680208cea26466208540d8869af6820964a954b43c00b56ac3a8b1d8c88e10256ac0a1093a5b254ae1883fe83fe6548588b4c8258b0ec87dca4fd3ff3cc33c9f7afec0d1d6248b25ee8c76fff70114e993bed9ffee3bfffe7af5c868fc8cb891701d68adfc397c5aa1c4fb48946be11912d96b8006cb7c3a0ba51a2ea3c9afd43264a62aaaa1a6a0481114085eb83c482178dc7c2279360f61924679f640743607a3974810624852be9711248c2b0905450370027016025b1188d437c3e21852746886078a1e1566ad6c2f85dc295c2cc6603e0abc18ee72746d163a324e927af36ec3c3d2186859970dc355eb188d223152bf4bac10223010c0f6284135331e6cc291476ca65833fbc206154259d9d4aaac2c801492ceb442000ec0b162e64b18f3be7b90e94df3fbc73590264e7182b817c15c566729851b493a9d6f6d182e532ebc39e3e9b0562ceaac294e1f35b5ea8ed5abfe2c9bba3a865f8a91ffd4b14bde3377ef984b6c1e5b4a85829cc3ef59a28fadf5fba651353f33b373fbf63843b107744bd577dfcfa9bff64e715a7bef18e7534bcd6d413dd74f30f7631fa061fbdf173d1d21367342d7cc53ba3bb3f7deb238ca181c7bffb077747979fb3a0644be3d636bb08275673256a7ad545ef8fbefbbd8149c7bfe2e4d396cce9e7f2c46cf1d9dbbff4b95b1eda604d8b5ff4346debdaa75e6839e1ca3ff8dbbf5d1afde713cf32e6ad25f42fb20a2d977fe2479fbcf603ef7cffc7bffde0efceb0a6712d384ba24ce670b09b6932a65da9275ea3ddc993cd2d7cf35ba26bfffed61d3851430fffd33577bfed57cfea997afc45d1ddd7ddb8a254def1df5ff8c4dd516721936f5d70dabba2bbfefea6954ca6ed7af2b6dfbb3bbaec9c79b6ceca9a7425ffca5f7d77b46245f4fe772dce4643f1af477eaf509d49afbeec43d1b7aef9c837afbde675cd05ac77f2a57ff881e86f2ffff39b1e285aaf9576acb9efbf7fbac67b8d57305f38649298cd89765ce8454dc320e8f064afed6edac3cbf856f303679d79d6a9a79dfaca579e7cfa59673e78ffcf9e78ec71fa963595d83fe48d4e573316ec5223165870e516cc3f1653c4c678b461ff6cc7c19807b6efa05ef67d479e9af1d54ce6f1e22dc6bf4ce88411ca470e46633dc2ac541c534f9ee15526746923b398fc36284d9dd28fc1cbfe65deb2647927b2edfdb27fb14814064ca0e6c48825466c6c5006832109a588a98360f0b4b1be508d56c98152634d2f279542962428a620f0049264219f18ae7d3e7f542b18a12700c025fd9bb83dcfab86cf1f28552ec50190545501f6f9fc8112e1940810f42f5504fdcb2a6445c4528892c0478dfdd3dd3cdf66cf9cf6937b7f7ce7838fb3c4cc8fd462b9b66b7078f5a66dcb57ad7e62cdfa227765b036dd54c8c5178331a608a8428f1457114960042af8f327890456320590147b1248c2caf5184041347b522fe5df039c4d1ca3cadefe545393786fbf230152703249df2829c048e33ed3531298aea5e7f4348c33ad6308ea4ec1e4129040323686dd0f5fcf058057b9fefc851e62de31ca0516017868f4e40583e4e4e82257499508acf78484a8868a2510bcb2208398402eb16acbe115dee59d1d9d834323ac2e63adfcb6b2fb0e470aec1c2b8c64aa052e2cb129234a551324b03e269779205b9be6abc92c2946d98e28fa8bcb4ffe0b48175ff1f9dbae98b7a8f4f1a51fb9f2d8de68c95bdff7d6c51ffbc5df7dcdc61b3ef4c037d79e76c5717f6bf2fef2fb6bdebd9845e7ccf060e18c6bbef92f2357bce5e4dfbceda94fe2c96c5bfe4ff3faaf82e69c0fddf0cfaf9dc171e9fffda3eb7ee5cc73a6bccf183f74dd0f7f69cea46838c231e5c0f2488149280aa59dd5e9e7fff14d7ff1d18b176b3ef0a23bd67ff5b4ca0b5ff91fd7eefaf3d3df74d2cc22fe0e7b0db3d90d777ef2bc0f7ecb6445577ce70b27527d1a635747165893882add0b7fe37ffe2f26e5a0b6a6e121e6cb4533019c973cbae103d676a6c33e0fc8a7652a97fccd3d1f79c739f3275be5967ee8faafbc6536e7803efc956b5ff38ed75cf7be68e9bbb8a27c977d4b303ae6e33ff9f2d5a72fed7eaf15fcbbd7ddfd96396d9c438aada7d271ec9b6ffdeaf48e33cee38b56607a9be3a6d962f8fcb77ef2ad9ffafdd68b4f9fce064a1cb05917fee93dd7779df3ced7b182aff081eb7f76de2bed8c324d33ff8bf93fdcc60a5387087f51d3b8a19c1bcef7f6da9ea61d7fe2e2e69649272c3aae5a645235fb8ad34febefef9b3d6b965db39ecf709b21abcf348a9fccc4cc06dbe9f252b5a3bb0373e28713cbcd323066fe9edbf4dccc9973cc1dc529e7173e1ff0ced9c232771ab10594a1c5091b9b2b34c532adc87658586db4d8f7c361e17c0bd3a828bf5a6d6f9fc478c173a214ec1f0b8ffbc0065dcc23c3df1defd3fe45e03c1225b120d124c3506289e5668918460294d0008004865dbc20c130dce012123922160178722103208be6205c490089f2a2912f212a9a184a0248d8050be949019e54d1a2411a9281c92590544dc0880c0c0034e08191affa0040af42898587403000b9084906b17b0d110831011a62954eaeb38074b120815d091007fd07fdcb5464513221c1b216f4a3a4004f1e0afba7748c93bb75ce5830ed535ffcbfcd5dfd67bffad469bddd95d2c8901dcc2bbd6af122964bb8f7aba5bdb5291eddd8bf7a90da8ec7fe21567b89817dd832acd45ecf4d2a01a40834fa9249c110a7004f4ace618e773766fca5525db5412c9e4c01521f34000401d0104812cb2c8805c7547b23f0ca52b7017b9ef0c47ca3f655af7a15ec74a7944e27f1839b05688841ea914796922a9a9ae8b9a6fa934b002656593ce910420c865290234a00251de9457b596421dc0960240b69c404c9110dbcc8a76212a2baf9ebc7b30008ab57af3ee5b453664c9f85287b7d14b17e768e219d79293eab679fcbe0300b8b8474e7f5ff7cc3fbdfff3ef9b52ad16334f3b9cf7dfeeab75f5d294479bb86100fc5262039deaacfe595f82c0a72f3ec831c6aef9c842fb973a032a9b58d6d67957c71e7aea17c537b4b33dbfd703f582de08718a7ace91a96a32b6caa620d343b34b839caf5b435e38b72bcbbc068ac1507868bd9a6b60e0eda70cc812fa7504f8e453073c5a279359f617721d7f020b0b4736830dbded586ebb1bb69d5e15c73f30b77fdf5824b3b576f7e4f177b0baba56dbbca6ddd2d4d6c4ab4ef4ea3cef88b7d4c72313291b48fa66190580c76691dc0d6c3f28ec1115a35c98e04e3bc5ad386766e8d323d2d6d7b9b866d44e5c19dc568527b2bdef5dea699e34427b27972eca6ededb5d2aecd3b86f2999696de49ed895ec33fb3e55c5bc7a53ff7a3697c0c87b5f5b8d7ac69569f321b4ead6971afd12afcbb3d4d8b7bad29d3f4ecfaf50f3cf82057d76239e80dcb67349d72eaa96cdfa177e0e0040c938fd4871fd99c62e14ace1c56c2368042ad40579b37c9e423ce21d5e6364594cf9e0723b58e6b6edeb8feb95d83bb66ce9c89d91fa4fd6bb45271ebdf3d4f0f904826896d036304c004901af500d0838780190500b193844c23021afacec59224900b315b94c4a24781c8a004102f30011a307001c3484da03fca9e3f41ff6e2d74377dad5886a4ae2796d591256b04e35cc1fe354618201a3eb2a8e4380266041d8af72f25b212c8b67e16f1366e7cfe91d5ebcbed532ebfec821d8343c7ce99b5e4f8638ac5128f2d2af0c56fdc78526f963b3938d5476560a4c20063d83f347c6cfa84134e804694f4bb0218007911c04aeec9b4bf60c442d182418221008034a218704c9cb9db570196d2881d105298898d0f6a36113d266be3c97d022220f6801c8705805157a5f024852726489510039045cc582589cd2906039906304879816214319de4239f5cb2c0c08b34ef0c08945411ca851202275392870248e88909e412a0778cd70a0c817798082894eac1a2bac5dc76b92e342c554f9f3a8b5cd63ad9b3c7f263c60e0cb0130c9785e555b6b471a70c89f80bcb565ca6a98979ad0681b260cef00d1434c6b758f0cf3225f6c2f1f6b3ef2297ca453b2f51686f6faad91ec8a68e569bba64411b57a4a37d8f83c8e43deae1f0303fc57042f021236674e249a5f6d67e2ecfe632aa7c54285698e7c393e2a3c1f6fd15bbabd1989a8a768a64c43ef2c11c57a93252e01b30342d0b61278db0c3b56adaae47be3cf7751fa119eff8e20f26b18cccd08d9adabb9bf902350ba254013573d9621587946e2fc7dff2db47d3e8d96cdc341c5c6b5abe83af4417ec5bd711f3b4e8ae9a6b69ebc3c4b849d09bc64ee75cd3a42e1a6dbb07134d63faafc2954436093766d3f6f65abebd7b725b53d12e644cf61aeab332f96d4211fbd534fcec8a7acd9a561d4675bb9ba65ec318f7362deeb5726664c68ce9dfbbe30edc388c0d9ba7dd6c285cbd6ad5bc790bede2755cfb4cae89f567aec42ce7d85a6a5fa5a9e5ecd3047cd20a8155bbbec76c1ccf91994516b379ead95e575cc64c542c4d9e3665cd7d6b3828836482f1ed1911c058b286de3eed1f4a68181a1a5c241917aa307802d2c8629808a9b18370c8c82586805c49805d6410502bf00010a8862ac2aa1bcf328a985ce488cce520560589051a826412ab56b08324060319480d702a801cb18b18bc17412e5960e0a51aaabfdaa224315cca55e94ea624c2454f4c2097003d4508e3b5024318fbf943fda191f66027492c1dc6dc41ff87f6f91ff48fb96272181b660c40bc5ff60f0b3ff9582de1c71b8b273d3d5d773db57168a4c8bd720b67cfe2e5838fc8c3add09cefeded1a18decc974665f03012c6d63fb90c3aaa444cad0052013c632785d4e005298052803d76e4d800b94902250f5dbc7f6ea2da7660b591b2d43649704d395234a9583d21a4c30004942b5eba560f2f21d567e4126024060f8d003010c3a8a79e4c5064dac0a4b21022b17af2c20b0b72c013541094625741aa0c480002a528575cc0308a52af1cd910b9b0e8dd0017b02a0625f4ec86e4f74a011f8923994cd93097c58f579611d9cdc6340f57419b7760ce62bc8b8f3750ed1ffee1b371f98d23ce47582d585ce43f7c432ecce37bc04c4fe22ee6d816c8b4a45df8c72ca3f9659ca136af80054768cd2b629d9713af25fb5a33f271cf989144b3f6253eaac0c630bb69275f69e6bb7f3643871c3c289697c568dbd7b8be06efc23eea4cc5d91762170272634d83a6759cf2ce271eba70a0b96776df24fb38088bc538769418bf40a9502d5f2bd8664dbedb677b10e393c22f8fa6a57aed70368d3ee1a8cae2c5f645160eb2c844f99aea9a356b56ac583e7bf6bcce8e560e1ed1b94c7162f54d19eb1c5b50cef153806bcc77bb9d7c3e074792bda605262ecd193567df6eb26443c2ae618d8283b77f24304014342f088ce9209ff105ac6162c6b4c77f82852431590c2b01a22756d2914880113c0031015e60829e062435378f280d4cb240124c3b714d9076b43e7f685aac0c8b82fe5102d64200a0f7b116f4432c58c62013029e90e77fd0ffc1bc7fe90b862d01d3d5089dda6787564e9a3f7f526bbc6210e59b72b5e66c76dee429ab563e33ddccdc9e037428818edea7fedd121c803d0993f4200b4132188f934860f0c4071024f30018f7c9b21f6e2295d8a7b8d1681c2fc0930804f620f99e74204526bcba13180002ba53ecea57f0f431314a579f910b00120c34ea2491f1f44f9e84772e3d0e3032f142060c2f868bcd21010c598a553ab1b8942b515e3792f0424000a9d2251c7a21a9a49e2f9405cce195d35f7d4691afd4d97c5fb55062eec78ed3b25c5ce0821214887bc455c776dd9d7dcae45d57bfb3dc542ad84798f1d65857663a859565a6f798394421f8cb76a1208bbfb03201c4b6b578e1b49ae590aa4d4a722a46b7565b794ceed96908dc486a9961f1918d68dccec8ec20aac4d3637dd3bc48bb5e0f37029d9b6864dbed3cb676c9f1d7d831b6dd7a36fd67dfeba0a2053b948d8fa813bd4cdb8dd6b47cff8c39ddb4af6a4d83acc2dc1675b2a6e11f3371c5e644ae80aeb2fe8979e27dbe7c9af6a25e3bcc4d2bd7468e3beeb89b6fbe99dfd93254ec7fdebc791c3d79fcf195dc00404fb93d43000c0653c0440108182778acc0c91c00cf7ea0638e3986710125c903b67f647ae90008a40220295762e3baec7e2883d748844615536da96a7284922539f04a3e182835dc549c7ec5016bb48a4ccd87184646280004c00010781b0144a3d2a11125340020c140235ed8c1509f23f3f9a38613534f2a2cbda9216a05788237507aa6456020930682fedd36d0d57e3dff83fe3124ec4726877501a34c7438fef7afac117a8618a1d0d4bc60c6b405d3262313692c21d99d0eb9dcac197d8f2eb7e3aa389490518acac5cea1a4e31ada3fd5b301f0e220fa17e3763f4e9348c81440225c311807f6e4bf882c854c2547e34d91ed6f723fdcc4d14453b38659e01552b920c1d467a5f022a88fe918ef1bfa1223401a3d0a2578d44d008f594820480888c1880c3c34ca05a32c58b0426800c805e902652e2a8558250288123215073b16a68907e44040b0dac48f57622809000827404c5264c804ef9316928c402e1661b6bcb3af7364c0eeaac025e33c475386a3fc48ab143905c2295e6e23b1343566020fe789fb5e5888cd324b6793829c78e17fdc45369df1f165d86d5e150f0b145bc9504e7cf31ddf83aeb29ec8590b5b7e655b1aa384229890e78aa026aea566f589326997415ccd670788e105e4f3ea4c325a499c78609b22471e58aba434bbd0d196a729d97cd34a54e0e808bfb14b4c40c5dfed60b99acfc9d8c781a95e68dae1ebb562add61b2fc4703a8ab518993df6c6e4225b73623bb5082bc5e8dcfe65ae60c063b1248189ebed1fa3c5533c48fb37338d879b9c364ad42b9612092a1a020d16620d228d68f0d0101368173175260ba428954b0c9e5c950581a4f97804a396424989262e960c972885946490240964a1521521f9c460442651ca05a32c58a8a73a0209202120068646e50aa03e4aaa0290a938d827f6f983580aa2b8a0ffa07f19adf420cb94f9619f2065d832d723cafea91bf5e4fc192fbc2ddb76ac7bee85a9d3a69c386766211bbf0fab1936d2f08ae255397fc6b4a16a96fbef781e329430fbf1d83faa90362888862b494cb21e1692d88368c4284d26b304a7f042c2d810efec130b4c809b585f21a9690cbc13484d500a4825854fe5a628e94b3dc7d5a95e283d8d1e097ae002f0b02316811b019e993fa9912c6215010d017a448946ecd080f7e23c098d9ed4b090cb139f24a2e0220b8c288501492e94920992a45e2d920c068075c0f3ce3baf3ac28e384e36e085d95744f8ee48ec77318d088e9306a52a285b8fc61d44280e1bcf77de33392e41c1cfb3c543ce7eb0b1b054cce5b3ec3ee4e401f562558d29513b64c22959ae4a6156920ff4729db23ef4c20641ce5214583ae6a346d60c7ac9b6d4d98e3dd8f134ed50316f307b9b90cd6c27d563aac61c4f3c50589873aa14992ee1656787aaad0eb6c99f2fc0e080322b094f891b60ec5ee6d0b4c3dc6bf4c3ab5ffdea3befbc932d0dd8b37eb460a27878d81e01a41b7cd2fe9505a58692ac1a18bf1058de21a62b0b8718e000ec5fc2156b18526100624a517dac96713d89a1549534d05473c61400b98c2c724506c687183032c9022040ef65510418b2448c7c0911b18a53bb6041b293a9ce2a5a12c805a0e6c4ca8545f447ecf347f5f4da0204fdabfb3000ef3ed4e2498c814e671c81a4730ff2f92fcd2b769b0408f6ef0a97723c99d23f49bc43d4b565c7c0b3db390ad93e75f6acf34f3b6bfeccc98c6c78d995cfef2f9d5f21d1dbdef4c60b5ef3fdefdfc554229e22ec74b77a7c34fd533443bb6180113ca52837057852f2a1490110248313249187139e1837511a19addeae29118838897458402a862b8521e93d242bf1e73be3138dd3c7e07dd002ab1be86f0162473218f1eaa90d5e95649083410e6541032c007600920472452c9958a4aa4a0cc693c0108b86984089142443544d244d8f00bda799475cbb76edac99b3e6cf9f3738324c3fc5939c71cba2327bf29bb8a99a8ab16591f532966159c9450a3e6131576ae23806b72be3f2e5cb341d7fd27e32e1b5f13e83c77c4bea8ecfc66c1f1379b615d14eb0da27ec385802a179914cffb1c64d6b59ea365f9cdd6a549bd94376a2b1d8ccce5f0ec0b0cb10c7159de4b8b48575ec78a2115fd2fc42ae78a16cd6ade34d8e1c73c8d02b15f8ec902c1399fc06ad15ab118fd5d0b4c3df6bec5c983f77feaad9ab1f7ffcf159b36675747033d26e4f0be025b77fec8e61424d344c34e834e27ce090cb6862786ad8fae05543c8828b9824238bc1a157b8c868a064924b800c02001742121832c9d78322a6ddfbd0400234ca2226172e44c5a3f4e5fdfca16941fff4237aa067e95601322a920459a38c87d81ff8c27852a6452c3cc0789eff41ffd2f081e91f2e7e806ddf35b062c3f6e38e3dfeaa0b164feee1f36016ec25bd2708b327159db5f8d8fece8eaf7ff78eb99346a6f57581a7eb790278a7abc789c1e8414141002200f600afc349c029019c4648af86e845e0c82400c118b949ca898277fbbce31147e59c4cb0c7000e4383e284514c3289a1fbc10b49ac24b160c59e6444414cd2310eac5cb9b2b3b3f330ebcb3570a881fec9fd8b4e3861eedc79e532f7c3679acc13ab71915db1805b6633e67879ccdde17ae18f11f159106e6d892715f1f470176dbf5f2ecb6c219e99d1e2d981b33b4c9839e46a3e9b0a4410bac59bb35942dbbf9865372125d95d3994c8015aeea7b753d41c87c6e1433a22d8aa68534f1c4f61aac64e573363c9aa33538836bb699b0cb365ee7364ca118f107a786dfeb1c24649e6176dab628d7b1ef3b688cd82782d1f9af652f51a06956fcaaf5ab57ae5638f719ce5509b74901f341034103470d46800cf84ab76162d5a84e38843499c04f04c70319318d12826575924094a122b38720fc27e0ca337928a854f625caba2f1e4840013339bd8b02a2811bc6211007b5280c729bc1893b9c0f5e19def7c078e8a6dbca32c9c0e2bd0fe701192c1e89493ba3827f1315df371706540326b60778e883e2633ee38d8449a1dac609dd4ae84e3860ff3b19045e1cc9199003c2a13841b46a9f41df371b10c136713181699109c3050c64c35ccfd3711310aa4fd4a45a849b703202cf7223966e7a7899d0581af52aa3169ce2c076e189bc9b8c506263be76bebc9ecfb63e3addd8dc3bd4f05169d99e2634b61315b6bc245c339647ac4ee63b6afae590df8dfaa5de4080c6790f9522f782e32b4793dbb6ed01a86a767df0db60fba51925dcbc28c2464309ba748ad984aa41eac4adba235b9ec86a432a617ab309a4041e4e0a62218d570dc265fa48264722cdb9ccf3c37a6d834e408c75b5884a669ac4a87a6bd34bd868170027df6dcf973172ee44130b641620666fa47e3580b4d7b393e2143af855eb377b6deb62fc52b9b97dca73ff319de7d0d83def864c58e05afc5bd00b072c94ae2ad35b12328fc6e9f610f46725e92f840dc446fd8386b9ca24f255d0878cf12aca460c81ce9c0d0c0a0794076dd9cb9387833f631db3cb7fc659a80ed0e16dc16a6d1ccc5c1dfa91ac86e04dc28dc20fe3213566db2ef0723c324e12115b826064fcd0e7c30ddc53c9a4da4d90e3fa6c46cb6cc0e151b60476c21a7bff17ccc03b58b62e2fd657071af0cf37b248dc29c52138537683e152c78509c10e61c08abb688341aa6b6cba50c51395fe043c21cdd05a96ae1c8e1a5d916c27c216b4da31d15ee9d31df0ff78e15113c2fbb6e9b1f251c0dc11db3f946362bc64d636ed7d697e3a6d1324ac347a469ac3af365677ed3f0fab7af76708a99a699bb48d320c76bc4ebb3d95ee84150a879dd396e428c9b660eb1352dde70c8f4244d631ba7799b7881d6343b1d435d988564b291f3d410da8661dbc8081b5ac67b0c4d7ba97bad128d540699ef1dbf411ec5632d34ede5f8840cbd167aed257965db67aaea823b2a0e40222747b4ee080ae959a96443b2244d1246f27ed12779c7031f889b38b65c574a8a2c8997be9c4049112461089cd2f1490c7bdaf3b18f66949cae358707978d354d36edd9363be64bcc1589573ded6a96261e29e6a9d9ee389b556445b63a62b37f593ec58b9f03831dc5652516270affca4ee8327b6607849b9167370fe388f1a13ce6e14ab11f683bedec8b711c01e173687c69cdee6c89ca7ccb0cb708595c5a53e68a62bcbcd8e5b45562fc3afcb66a131765f3b10ba6119930c4fd63d9382a32b9c717d2581a66fd975baa6d9137342df45a3048fbcd15c65a788c84276478af1d29af6c3e3940702fc55d14c700389ca25496e7ba930799c34e23b286f824cda1836dc1fb7006294b2526d59ac424e194729d4500dff6b0cf9170090b5e98ad10333fc5e7c2ec0e603c3f9c39a60d6dbd968fc2b1f58e7b626cab23137dacc0b22e0a048609bc1a57ccb0532e9ef2e3fb2664d8f7797107f9ce974dca65b32ce416b92a268bffc6752f76f8199f916948f6f8d905c3b8934d240b199b36cc8e34dbc63d1c52660df96b85d9b4265b04b93c06ea7822af108d70ed2055b0eb62f8182e9bfd72788d882d70f837c365d5a169a1d798830e0619c65a788c84276478af1d89afec9443e2497c9824ec49f9369e84268971f848030edc4d4cb6b0be55ca1d8d2685af4f825140f21e702fc691b6366a5f916575d91c3ddb0087a7c6610dbbfecf1c333ec3c3ba6e145fc10221f3857874b53287d700986fcc331b69576cc653922cdd22991b5bb8fb1937d35675f1e358c02d72a55f26cf4532f6e5b23c9f9a838a43196c086442d0d695ed3e1a5c52bb5206f99c0e664115bf34c7d2b1b99c388cf6c18a78059742991a624345066712a793a94c5693713c399c4d8498a2ad101b75681a17e7845e0b0619c65a788c84276478af1d81af6cf752dc277177258521e9011a87015249cf127eb45c918d9deba20e1298f845e7fa0a8dd612f0c92c4fd6233d0be18277c7f1ad2a653e4a6219b6ad8eeb57d8a2c8490ce6fce2531c7c2eb8c63110dbbfc2062caeb662491a5f8ecbd732b5260e6070ce22532c70cb157383b6850fa78d2d8e1c2cb2932278747cdc16379009bf6a3e9b1bc9979b6c8722a7377039edd4497c3284dd7b6c7ce45008cbcbeccb63128c95693cc5921d1dcee0edb191900babedc2429c57b6ebe5f2cc71b27ccdda3655b52d7cac33f3953cc4b018ce4a37ad0187d77b64346dcbc64d5b776d2bf39567bb3ad12ed7892764f17e6ddb2653b9a89bd573bb8f315e19647d9d232cf1de4dbb53c008ecd37f7409aad5811d5ce7f8043629266c6d561515b381d104dbe121b654d21ff0d8ae13307665a3d8d1a2cd1eb35f939d017c4990cec0a7a6dbd86669072cac5b28ce364bda01323b00ce27a42920deb06953c69441e5e835ea44a188b299e5d0b4d06bf604380a0db2b3ab7dd68c99e109191efee1bd36a1af6c562af706793e7bd3095f10a4bb2e22f364c3a564d13be54b0e1cac9b38cef648770d5bdb306b0ca4b2884dd1055ef3b67bd0966eb9cf8f1319f8096c302ce44bdc2c8d7bc094a24ddad92643fc962af750db6581e55c016b31778c155f72ab9cf9e52ae97c942fe5734d3054b8991059b82f4cf2b1b61c6f4b64a7213ea37929b870ac57c3d5c44463937d8dd80e7b58f3389661ebc5f10914bb7ca68c37c30ab69d05ceb11991d710d53537d4762be60a3573b4f038e353c0eca1b479459c1f3bbe45d3ec0eb697be69cfae5fd7dada76e292931a1ab4353a84a081a0812355033c99d66fd8b0f1f9e7a64d991e9e90e1e11fde6b13f5ca66ea8941ef0ec9184e4bead920ca86efd331b2ea85349490229b90e4c1ba89fb5589867a9404651193549cc227093ccbe6ea98acb223ce19eeeab37d84f64d62e6f338928b17c8115ddb26d864abc19c76618a8efd89761f3457b3c0c0bc935de687dbc70d2f053620d68a4d7894364195675599c56a3b13c35a3677d1d8b644bcbcaa7dd8c426d3ca7c3599532f05fc3ebe386797f332774561e630da3916bc3d6633f1626d864d5390455c46a6b8d8fcc8753ae6bdb22b92e56a4ebbe01596ec2e439b48c39bb535706627393c7d24346ddbf6edf3172ce01b6edcf324cd8738682068e065a48196d6d6fb7e725fffb4c9e109191efee1bd3681afecf1fb2a3c2edc8769e8de29b761d64bfea839ac6ea25a2b75486bf5ed97de5da10d09f6e69658ba6571d9f61ac677f5717f0b3377ac4e9ad7d65cc98e64999563299a0b58ca7c02996b72b86cc6f603e246fe3ff6ce04c0aae258d8e7ce5d66876119d6197610101045111714540c62944431b8a0091ac1f850d4241a4d9ecf98177da8a010838afe62dca20651a2411220805b5c01411994456060606080d9e7eef7ffea14d31cee2c026ac2e069f14cdd3ad55b9deeeaeaeaea6eee21665f34d4a2e0a1a7b196ca02a5ac22ebd92edc2e2e5b5e38889f630ac1b394e98fb2f22c2ba8f821b2f5c58e87f98f836e3066b2cd859551b1347a38f190a3ad7983ae294a21964a596dc57049ea72bb811c8a6d5f7e8c56895a4a8ab2e3465c22498bcd36549baac9169c23a06a68af58355d1db16e5b74312e079a0207b8d8291ae3182f3c2f5c09f9b5843f57eb6057f87cf3c62f3e2f38a64fafae9dbb5991287681af29fc3d21569c300b88f0e74cb4484d4d3c334d8ed89041446c131c8a7b78e35ad9ce4a8c1be1880c3f622061b461758b533a029cfcece16e92c31ed72a426515144d863a8fa75a6efb8a05fc5cfdc53027068f28af744dce9f9d9ed1a259da1137ae7ded219b1548a38aa8de92240ccc5bf0c07555408da56475df26a5f61ffcf9cda8895adb43aa8689a23c6a28aebe753e9d941139f08f85650ecb6059d717b1578fe9027eb1ccc543ec3d0e43217e6a318f2c01b315851bbbf02ae435698a771cae8bf6e18560e5981ad6b0b1fea1c371cb2d3649591b263e1aa59ccbe80d71c60e663e6c86f81b12d5e70d47d026490a8f48595f260f3fd7d36135e4509d08abcaf81fb2708d564a9e7eac8da27292afc4904570544c7b47b51c412dbb58684d29010bed1643a838499129514cd590225eb4d3c3ad9af8635200366e93aa0f5d14bd96231a41345a35b1f0bac1e580cb812388034890b9735f59b3664d7e7efeb87157705a6ce38513a74b7afbc149c8b74b377a8b7f373a7bbb38fe327c898f300a4bcadeac5fc43206ffc72524370984f00ce7a68198f7eedffecfca952b0f6912cb3d5e03070ebcfbcebb0e55f88bc792dfb7b970f3fbefbcd9ad7bafb7172f4e1b95dea16d5e021d5c7874b8c23f0c93e3f1aab2c41b7f0dc0e8f4340ec490b3d7c2418c1189737fe8c94af773e05a2ce590c6b5b25dd5aca2e56464636c48cf4af3fb499bdd9d6876b160385c5e59555319e1f2a59827d8bb73073945d8c7d2d7c18e6b15e5bbabd707131bb0afa464b6cbee744e9bf4575eb676eeb532d3308e58951591134faa3a363bbe744ad09bb125e3e4d831e7b76bd9dc7cb5a364c8c6b6e40874c9a4e0787900a8648a023e5405f130a21c90fda1fff80ae1724809527a27bd93174e7cbdb0126b0a49e924d11b4ab698c89e667a27ae817ed99a80de15c19d8f33ae317e897f201715db9b2c2014c5d1ef93fb8c39e7198987318f98f616674ed29123b3a190f37338b990ee84aac792335a95edec081267449104287944e2706d543e34c214ae12b127661c95c83689307b39e8de6c8d906fefa3ef63d9a427256272e2351e89c4f3a3b7ca760c9973c97ab6ecb7c0e4c87e1948533eff62c392c50bd7ae5d5b595999959dddbb57ef1123ceeadeabb7d830139e279f9cf5d3093fa512ceaac97529714ebd46fa31156db06a7855aef86cd571c70ff4c6d8d2635d35fec7d999597ffce3c32cd53754353820dbbd29627d01a3e80b2fbc50f7cd85175ec8258a75f12ec6e580cb816f8a039b376f5ebe7cf94d374d7ef1c597b8b6b47ffffe8da7cc50245bef1a96904e3172f3fad7b7c6f24ad2f7b4c0695b2e6f474d44b258d9d54f95f8fb2502d9872421558c308b9e76df030f4c9d6aca59bcbdb8737e5ecf1e3dce1d39f2eaf1e3dbb66addb884d42935336e6e9be288089979a758c5c5c5d4fd50d54462313996f32d0e45f8b3790f415d5abc3b2390b965ebb6e6cd5aeeddbea753bb7cb41f395b17c17fe8c23f8afb524a4acdbc579a97ee6c71cae956c73c2ed0c45ac09a1496396b5be1de979fab689f679d731e3a5edd71cdf9d592847f7945ec84537a56efa828290b16ef2e0f71ce1a6b5aea42cf17f5a60402e92db29baffee4cbec8cd20ef9adac44c42ba7c1ed1bd7cc576378a95bb58aedd5350bad5d1bf764b5caa890a340d27a8d3cdffac3c3d6ca6d56ab1cbe8aaf472f3fe3efb6bf4563bebeb9cb5664776fd3fa64f3d50e66c8ae5bb5b61593accd73a5fdb06417b2ff052dabd7f945dd9e3cd40619f073288a2805ec37652f41022f33d8971210b310c720736904832cdf14e5a2e1211bd735f8691412d3b0eb0246b151e283d40b359693188cf367dd8cbe25cc37a9265244e582b3ac5a5527a67158e9351d939a0192e2ca8746d39323ac39fb103b37f794b04b051d4cee4e113b3db01561170946bde90f4e59b264c9a563c75e396e1c5aa1fc877362c2e3e7806c3620db3aa2b814ca31db1c93c3365be24aaf61f2cab61759c6c66ec891d7b2448de99e2e27da654a5a62d5279f6c2fde91d73eaf6fbfdeb2879a372881d822e3fe30ab114c7ae5e217bc1bb94e3945ced64107a5c76295e4d01b32e3963d6fa2aca2ea8fd3a7bff7fefb59595919191908be8af2f2a5cb96bcfeb7d7869d71c6a44937be34e799392fcf197fedb5298eaa6175941ddd2c51cbf5cd72871e96c1ba5543479cf3cacb8f3cf2c8b5d74e1873e918eca66491cab415e326db7f1aa89a8733c751abebd712ad5028c4bce0ca2bc7998f525353f3d4534fcd9bf7d7d1a3bf154db168f5fb8556fec9fd3b981c5d403950b56bdd173bd206f4cf77bd470fa749c4ca0b566dcee9d5b77de6d7e45facb060556556f73ef9dffa3469fdfaf59d3b77cacdcdeddbb7ef679fadf94a3531c2a90aac023620219d6264ea96a55b6395562cf5c1d2fcbbdb1431dd65939f6d4dc419a62a3338bfc67bf12149481523689bbfbce5179f7ff1f96bafbdaedf28168f84c3e1cfd6ace1dfe3b3664d7d68fae8ef9fd790844482da0e42c85184765c8433a6d144ac75ebd66ddab4d11b6f0ff2d3abaa640ff08726fc45aff4a4f43ca6d7deca9d33fef0f82f6fbea567bfee8848f4090e49e3f42e4612fb3c868315fe11b9dd3e10fcd3ccfcb6edbd175e9460216cef1e5911b69572617b4ecb16e75f98f5fe3bdbe7fdd9fbc34be5ec34cc21b5e39af3abd515fe8b4a6ab276453af93da9e99e1629decaea584d381e8cc7aaa3915024160a868a0ab7e475ebb9eacb92fcf6adac6873060f7b497adfb866be5afd55ab8c95ee8d785b0552b203a9cd326a56946e4f6dddfeb65f594f3c667db1d96ad5c2f2a562c28905e2984e3c653bd22265ceaff6954376bd5543478c9c2323ba8e480af8fff0376f6719450f7ec8f6a6259e7efae9458b171d68d7b29b8fad9f03d1a2c68c1d3bea7be76250aa77c89606c9c7ae138cae52578739240d8fe84e7a7e9295135327e76f11215b75bef1a05572265b17e37cdb386ce2022405143159c3454f62e30a4ce4a01b1c45302cca95c41cb18dcec602b1979e7cff94fffbe8a38f3a74e8b064e952ae4a61a597a373981ab2decac9352c32934618584ecf4177c231503e09a642b9431972144e364e23c330354611501cb09d423f202e0e85a5e5556d3be6ed2d2ffff4d335568069897c526ec4b364d3348bd0b1006bde11b16012d06191d8180fd58a876b2586cfea9a9adfdcfeab3505056c16e9d0a17ddbb66d3b77eeccb363c70eddba775fbe72e5a41b27bdf1c682766ddb3aab26daa79c0c231d90750f8ca4f5568d8ddaf317fdfdf93fff99c45ffacb4b6fbcfe06553bfef88119e9198d578d82c127598baf2fc851e576dbe5a049fda73f511c5f7d751e77a2d717e9ebe02ae68c1b3264c09cbd5f278d232f6e6cfbbbf7dcf3e276717538fcb0e5ef3367cd5c56552781c2779fbdebb1c575f17508bfdb88e0e659b3662ede78987c727cc1e0bb3366cd58b6f9dfc0cd75ebd6f7e9d3878c8e3df6d875ebd6d1191bcf14fb514312d22946beac2c79bc64395647b6f4fdbea4f5a650a6ecb1f3e008c3c90bac97f89b45b00fed3a2409a96204f9f7c6c27fcc9fff8629271272c3c60d2fbefcf23923ce61f164e24faff9db6bafd72f213184c5d92e88e30eee3878cc207764168ef0673a7d483a22b9434facc310fe38f3c543316f665a7a46cea79faec64691ee4f65fd0a57730606e6fe287d327a1c9cf067ac09703adaabafe4356b9ed27f60a2689b674f89555666b56ee3c9cc122e45c39e929d891d45befec7b5857ae912528fe0ba688f6bceaf56aff02f8dc64be27e5f6a466a66765a56f6dacaf0aa9d7b566edeb172ed8e65efac79f5e5a57f7ef2afef6e2fdb5659956059cc76ee778e6be6abd55b3559734bf3e280cfce506cbbe9b969354b4af6ae8e7b264fb28eeb67ed2d65e94e06505821fe5a8cb59c2db2ffab353e6437543558c250e49b67f95fb2fc4f5bbe59f6c814e448bb431bb2a9dad2656f36cf69c11ca375ab56fc2f7f0468dd3ad7fed1ba557656f65b4b97b12a48a867c8360dd226703ee4c3d9f632050ee3496a49b1ea629208beed9fdfb035d114b7de8a29379d34f5921982af0498dba5c612f63e15ba11dab758d6a22c4e8839511cf1f0304c44222c75e0c483e2c58ee6d34f3f8df62a071c421541cc602ec45f8fb31151dc441d9403116d4ba01c892dbb49622c26c89d2c4c1d62d8e5e5881c11505e1fbaa4e89b095f972e79e59595eddbe76e2f2a5eb3a6a067efde32cfc55ce88bfb239cb1c3c66a314986a90f0d804d32a89b723022428242a7300f7df8e13f565656b56bd7be55cb16175c78213a5c8a2f9088843f5cb1e2f579f332d2d3239130ed98c93765955a4a65d94423dbb091564cf629ab26872ddd5935b4dd37972efb7f8f3fd1b163c7e6cd9ba7a7a7ffe94f7f6adeacd9b51326cc79f125b461e46d435563630e2b33b23ede40d07939dc4a7a7fd555573ef5d49f2ebae8870daf3e4757fff5d9d52d865f3eb47352dc467e36eb6a59ad52bfad26db48c6dfe6ab2d1ffda3b06250b3af67c6f265a459691975d308eef8ac7825b7941362eb96cddfd0ecc491c7b73fb4dac4f62c9bb7b4e5d0f3fbe7a61e5ac42644edf335673e77b80dcbf905fd3956ce612774d01c2b2d2d2d2ada76c9256388d1b66d1b5606d014556b6c280dfb3c887a24649218f99fed4bcb596e94fd77688ab141bb3aefcd2cb4b880400c8a325c22f05a573fb13bf33684e0414a481523bb4b76df7cf34d78c6dc7ccbcd24f5e0d4694c6c333302c3069f7adaa943663c34fdbe29f74dbef99641279fd2ba4d6e928494051ca410d61b167f4470ca4dabacc0067083ab0dc82234e6f6eddb7ffcf1c7f0071d45df302ee4e4e40c1a3468fbf6ed9f7df699d12929d561087f56823026ac2d286066fcc5279f9c72d2c9722d829879702c120e31a9a6bf1d8cf0c7f7295256e1fb6245caf9175a855ba860a2756e34af330b5bacf524725aa494ee4d94ec64812c515911e8758cf79fff089f38c497865a8627e4570bff017eaba6b0a8b27bdbb4b8775bd07a7a5338b1b932b6bd34bea3225c5e1c0eef8a7bb2bd69993d7a7448e72c10fb5c38347033aee9576ba86ab0578eedc003409cf53db1b278abefb56a3e2823ce3563d7fd54b6015454c4ad66326cc29e14760bd85efeb55fad9121bb91aac95a332164150dddca98d3716e9efec487eb90866c2c4363c65cfcc1871fc86223839b3e749463ed8cf53330f1f8f7469ccb902d5a7f9d21bbb6417eadc97dbdea9069b77655e5612b36fb1ab341fe9b81c3158d5fa39875b9e34c2ce9adf3555d981e2b771fcbd6119a1067d4f839d31a8ea286c9457a29f1683c3275ead4cf3efb343f2f8f6f8f8e3866cc25a150b50fa745ba32b5c7bd45bc5d30cac90e67da32ebccb2b145e650d282d89a827b23e9cbae12ced7a1ddb38f452c8222acb8ab0582bc8ef9db8ab69797ee6ddf2eb7b878f7e76b0bfaa229d2dec46d12b7467c3758591687c230373f63fe138593150cd117d9c8f2c50604ce27583a9b356f7ee3e49b5a64655573114c4d88e67ac2c013367ff9e57befbd9793d3824e89cd8083bb5168edfd366cdec18d825dd8b1981f0d81ee487fc5a3637fd528f5f24f3e9ef9c823eddab76bd1a20573689e2cdefcf18f33b3b29b5d7ae9a5d5e1702355c3034854e4fa4cebfa2df85800cec90f8aecf4e9d3f5edcb2fcfc5b2d880737df4ddd1e3af9bfef141aa89d84a7c3e7cb08fbe50fec13f8b7b7c7f60e63757335aa6ec85b243cf8bee7de42205a3ab5f98bf70588f435613adddaf2e5c38a8cff79a8e9a180b85acd4d47d2c402fa1d9ef6347c37ff0743adc50f70b8a50255f3ec357677c70b92e58f0f755ab56d1fd756246a4debdfb60fbd0d843879efed7bfbef6b7bfcde76724c2f2728c7d2d743da31209198ed11cc67aa0844c12236f556ffb7bd546a4880cec3c5203a511df3b3539a76507ed93ee4131b0c652635fa44756547b061fa4845431f2a7d94fefddbb77c488736efdf9ad324bc7cd9b13ca6a25e4a4c937affc78f93f162d7a7cd6a3b7df7ebb5342ea904cde11240d736af615c79083f899e364ad63bb0ca59d3a75bae8873f8445279d78d293b39fdcb97327232e7896a4717c44f8fbbcbe8a8a8ac2c2421d890f43f8b3d8841c6765797bd1b6e3061eb7ab6c7724ce9d0901d4360613060c7c17658b2ff73790756dd51a11fe9105afe4f53c2651b247ee56a05835d5567a7aa274afa7597384aa2712b6823596378c7f8f15aa69979fbf6de9c29473bf9ff4d51a12fed1d4945629d17fbeb7d2979659ce07dd56e829aff1d454599e605a96bf7546c7ec562d8febd0bae0d38de16800a54f5ce4a5ddee1bd7f6097f8cd0e292955c35fbf60a764e33884523e5d1d6a35bb71ad642ac2d34504c8c3fbd3abe695ba2e6737444397b847108ebade3ab3534646bd53a16d8fa1f4a21631a5f18409f7b2cdf14194a3b2cc82b1ab5cd1af043dfffbe629d76e1610cd9a3468d1a3dfa07b23d948685bec020277b1ba43d51663e9f1c6d120a86b9dfa2ce90ed6c90d2b30e22d4d56a74e8d4a8fab6ae82781009ff9b48fe036aa2618db38a497c54261a56eadb241aa2b3512582ab9f3dab61f72e9abf1c8888594d1ed8ddacfb1f101d312f2f0f15efc441278db9644c2818f5fa52912b5c191267658575692feeab89045a99bdf184356c7a2c172bdb9f8d65657c73e40846717d94bd664c02c1f83174d327180664134d144db143213bc882d54c8577ee2c5ebb767d9f5e3dd853c2841559169065619ca5d1e158b8a033f15756b0e951ecc45eba6419f35d24f0f9a34635cfcc90cdd35237d6cd539e7e7af69b6fbec5141904e58103a25b22aba5f4e2f448b278747bd9c18dfb250313be995071908fbd5fe7d3cf3e9ff6c034cce8ad5ab6d2318b67ab562d29f47df74db9fdd777f4ebdb1b3f69ad1a054383a403b37d8bedcfa231e3022492b9c1a0839619ba6a6a82975cf22343fdc61b6fe0bf58af9ab8faa9c9d7413779fc7193579df55cc18397f7deb57cce2d832e79d68e7cd3ec37effdc9d0341b2e7affa97143c62fb1ac01e326b49a6759a36b93af583be317d74f9ec51b6bc084e92f3e7063ef6cc08a391347bf73caadc3773e3afa36a887cf5bff62d7150f0eb8e45ededdfedcc7f75c9effd895e7bc7dfaec67269e602714fceb1da39eccf9cdabb79eb56bf59cdf4cbec44ecfb2c63d57fecce592defe107cfff9fb275c71e72a1bf3e8aaf289fdb3adc32c83666d2754be7669d0baf2f87cfb476cc5dc99b316aeb1e19c61e3af1f3b58f0858b1f9bb9a6c30ffbee9a3de7c3b4d3ae7f705cff3deb16cf7e72cefa529b307ff403778c1428cddab2fab55933e7e3d5ddf6a44b6fb9fa4cfce3883b6d65e7fffdf9c8a2d71e5e08cdd259372f0d761b7deb0d23bb5ae5eb9e9c36edc362893962c21d171d9f2b8958a1d50b9e7b72de8724421831e9866d4ffc01f89d59bf79279877e3033fefb667f15df7acb9fa811b7a8a625bb578ea6f561e7bfdcf47f6b442ebfef0abe7da7c7fd0d639f3d75bc3a63c32b659fde9dbe9d67dd421aefa72c1ffdef7f72e636e9c787657c8f7ac78f177b3365cf6fbdb06b7b41ae652e7ab4eae9e315b2ada63f42dd71eb76bdaddcf50bfb41e236ebde9a2f6de7d9cbc7c50d9cc67de81a6ed4049bd657261aa3e78f1d1d94bd70bc16957fe72dca9b606bf67d9b38fbef04ea1d0b61df5c05d17ec57eb0ff882765a912d0b1e7b72de4a3e4fda6957de32ee54fdb8f6abc37a9494ecfed7bffef59bdffcdaef9793b2ea86c17670e2efbaebb7ec71e9da5558a781558f640989d1e4403172f3963764b9997fa224caba332235943ddeb21e97719aff115d285c969555f9a750e6312c41834c92900d8991f9f3c52571c24faf158dcaf20c1c3868c080e3c13c306ddaf073ce42424e9830013571f1a2c5ff7dc71d07484839f51604662b5630c59847b97d9c74eb4d70afa906993ffbfd257b76e301ee8ba7fce4273f99376f1e3b7bb0b08e1e3dbabcba1297702424344a492c2c72dcb72ac21f35817b190e42f8732b2c22b178dbce7024dca9735e6555d5f6c2ed9df33b898955c4738aac3fd93b6b58f08973e2c5570affa26d899e3dad5ddb3db9eda2c79fe4fbe8dd94e307277c15a2b3a4a5b35fd8aa2883f1622bab84037ecfb6429890f4d5ea15fe546d5575a267fffcf33ab5d952565db4b7f2a476e929e9fe44ebac983fa526847617dd59b876c1fb2b4bd6edfdfeb1fdf0a862bce4ec8e24e18fa98211a76ed558e696238543914830d8f19a8ead4f68619f046cb381d27a7dc15edd63ab3f111d91f8d401ab8ce3abd53f64d73648f93ae75ce5893ead1f37e1bbcab29e4e5191448b4cb37c4ff0c6b3adfb4c4faf19b6f1afb121bbde06198fb38d1c4706961019d7291a2d1b83b97c359cc028315bcb45e995dd0f7586ecfd0d527a850975b51449423484fd644a63a2e85b5bd370e28e38f83fa6261e2427ea65ab2279ca59d7f41b990b60eda7717290112d3022fec45e6bfab419aa23b22803f1c245ff78fecfcf31a1346a8d08435a474aca15975f7ee555574623b831b28745b431ba072bca684ba8909c44209aa0ec554eac5ff779d1961db22d8578b466f440d640bcded4d4406666564eeb1c0c7db9b9ad76ed2a59b721a55bb71ebe30de7dac403323c214299a250bdd226dd99d8d57a5dc18676ddbb68dc3ab2955bffefdc32878d82a2955dcf3eacb73972c59ca6c18dd0e194999d2d2d21049484a04876c98162761165fec962de650b9391a5b255e21783f6e58bfe5befffbbf163939385e38ed1ac02d5bb5a48bdcfbfb7bfee7aedff5e8d689bb08e9c6789b78a3dc5ccd449ffaca058570438ef8965e5e7f104649404a4a484fe71c5fd5ee80d3798150d65749cf2ec3c74db066bd77d3cdb32eed9391df31b8f6f93683ae187efb73059386557ff4eca0d1677c52fef13f6f3c21b8614ec721e347dffd97f5d71cbfeeb587cf532d52d2dafcbb667deeb426bcb16a761f7fc13d63cfebd3ac6c53e4bf3bfbaccae2250f8d5ff2d0b8296fbe77dddc09e78deed106a56fde7b6f6e7ff28cebae78f0b28b9e19d8bfd575d73df8eb6b9ee94ddb2f5a3afade2553de7c510a30e00a6bf8ed8b575dd3d92a59b72b23fdc0122f9f71e990c9f3c64df9cb8b634faade5260b562c03efc32f4dfc7246bd7a7ef5bd669bdf7a92ac1f2eacc31d7df3aa09df5d6d3f72d9cbd6cc4e071bc09966d2f5db372f69afcd1e3c7776edf39f4e5825f4f9b67e50c1c7fcba8f65669e1de343bb16cab74e18c9969c3ae9cd0aef08d1796beb06cf8900bbaa6064b3605b7e650950e279ed563fefaad7dcfba7a5897b476f064fb63b74d5b993fe2d6df0fddb5f4e9d9b3eec9fbfd836860052fde3b736971fe69632e3bbb6f70c797569bbce32f1bb171f6c2bca1979cdbb345c7342b1a2c29b58a6a25b6555612dc5a667fe268b42258bc66cefc81a32e9dd0a35b6603e91fc854f3abbec2741df1c39396cd9e73dfdc4e0f5dd461cdfdb396361f76e3e09634ccaa46b834634dcea8f1d7677cf1da9c79d398260c1c3d7eb4ffd35973162efee29c717d9a2927670a27af6fb6f5dd6716ceb9ffc536f78e3d608f70c18bf7cf5e1a1a73cb9d7da36b66cc78e6d1f65d7f7e76fbaa754bd111475d7fc790d6c12f0b3167ec0f077e41cb9f6a95be33675e8f6113aeeff5c56b4f2f7de69ed6ed1f18d975bf56b93fe64143f47ee4d4a79f7e862fcac144fae28b2f900a493a2522889bc59c1252dd6b8c18b97fc77b5be395624a1435911cb1bf59d7b4e8df33bbffdeeaefb5882d901567167ce5c961b52519e1d72bd32e4b92908d88918d1b374038cb3a000040004944415452f881271e6f8bb7c42f7e7ecb638f3d86a0bbeeba899facf898548fed27b5dbb06143c4f63e744848bcc1459fe5340bdbae45e9102d085f6ec4aad5132d6bd9b265015fe0acb3cf8c267c55d595978c19b3fad34ffbf5eb57b6770fe62174cac5ff580c8d4eb96d36a21ee0a048423174454c008d0b7faa86233b7ee645bb8a42c1aadc566d6aa2553b4b7676eadc1586c035b9a75564a52dd5310a605a0cdbab4d0d08ff78241408555b15a5563892282ff59c7a4694cd2695158936ede07e9c6ebd633b96bdf088f303f35eb44a4bad8c744f5539d685af14fef82f52b5c1997864c5a381d4ec344f303df169a0b5375e16d95b1edbbe27b4a7b8bcb238b867777ea7bec7f469e3cf949537bca3383eaeaef04789a95b3576c0ecdcbab359ab8c6e937b067a6685e2c1809853c4becc781cb342512cd772e799150d59651556281c94fda2e6abd537649b06c960e97be269fb1be9c3094bd314fb62f460bf5add710d57cc675f7861d1a285f6c0c6c3d603242bbb3909027735ef988b7f3472e4f7303dd519b2f73548d918eb085a567d2ada8969d2b053e235bd8ad8bb50e4381b2641514ec3164767f6f3a326b1461c5fb16245c7bc8ee88828822861acb7024382cc15a70451c670e98b85c3a125cb965e71e5e5ac3487882a7703d30ea27e591df6617566235b0a6bc54c3902dee2e292d679ed7d721663adc592d4d02051da02017a19d3527f20b575cb56bbf7eceed6b31b37aff8c433513a90e8b3b874300d16331d3a27b640f10091bd72f6b167f875d0bd903658495995bef447975ec53e628830da4bbbc3fe98a80ed678712421602e65819d8cedfb0865928f5fb107414af2b1ed8545fff7fbffcdcacc6c9d9b4be2541fc39e7ee0d4d45430b9b9ad9911fedfbdff7bf76ffe27372f0fd5927d9068d9524699577ab9029b1fb2f480fdb481a00a3753b07adfebdb7a5f65773ee994e1d6baae834e3e5906e9e573981e4e78fc9ecbbbf3e3c25bdf9bb260c8e4c7d64e782cb208c570c2d4ff1e03befbc47b67bff1d0f87249af62f5823b2d6bfac70f8cc4a467759efeeca3b3065c376fd5a41b4ff0852098f05cf963620bccb97ef443d7752da879b0779a15cc987eddac5739496cd0b89bacdb463ffde6947bceeaf0fe9cfb30328e1d9abb66060518fee6cbf70c6d41f2dda518ce105cfde0e479d6e8d98fdf3a4674b2ce9d797c9d3260f9b34368d5d23539c36edca7255a99678ebb9a412b14aaca6b9b63ad5fbfadca6ab94fc1683be1f7771c6fd315bcb88c9a4db87de2f1b29b36bfd654c5d256cea577de7566fb542b94b660e98cea209f3bd512f393fc9fd9be6faf1caba44deffefd7bf2b36adddf5732669fdc272b64a5f51f682d5cff4571f9e0cce2579616632dfbf9b8b3c50fd1b6615b2dfb37474dec3fa87f4fc155d9a939a5c6beaaf8c4f5b6efa5774c3c534a54b56e6e3de9b7ccdcf5e5c6525bab84c60e691d7ae65bebfe551f71b3c157ff72eb965f2f9cf6ab0fd382a53923a68ced634769844bf9d74fb9a37f332b96bb69ce3b85236e9c72511f7eb4683be74361c1bed0f78e876f900de1837bed5e75d3fc956bcac712a33684d60907f247f5caf1f9a21d3a58d69ab73eaa3afb02399ac4b236addb3ea4dba0c183896c42d217b422707de0958f4c3c158ae37ba515dc3463d9075b4676d5929b58870620b82ebdf4b2575f7df5f3cf3fe70c0126600dc5a7c72d5efccf77de79f7fbdfff3e4b284e32bca5e5643c8784e4c87f21b0c54861a8fcffedfad81e81f70f9acde2be5fb4390dd1591518eaddfb66aab5870dbd3e9946323ac6b2822fd504ce8c073a1e20211b1123a223585638ee0970ce883402f60dca3559cc3259184186b3a183cc11c0074a48466c22f00559294290cb328f2d2199c1b29a2269cab29217c7eb3973e76cdd5134eeaa2b11fe6588df5e3d4a76ef213612120798c50b17b3306d26ccec8c958d8b549fd1029b40c2fa0ae18f4a8915d19fd8baadb047cf3e9faf5dd3ab77df8deb360c3a69102309eb463edbdd89aac9ba34a97a3d61ac738d08ff7030bab3c8d3ac1915f484aabd1ffe2b72da99565595af652b6a042f124585d688f3651bf5e68d567a9627184cecdc2e0771c8f0d698f0e73609aa961d0f86b6166c6fdd2ec593ba3714db53134ead084576d784f7d6442b6a523cb1b69d5a8eeed7aeb4aaba8addc872bb8448fa24e14f49ec3b6c195de4abedaf1adb169b4773afcb7cbea0ea98e2944b8666b1c588a53619a6c4801826bd50b832b8d7dab5c7ca4ac36781c387655cd3af56ef906d1a246350ec2796d37cc8789c52291f9a10cfb2529ea0b407fbd5ea19d752124b972d6dde2287c6a03690fd03181525b055211a79ebed65e79d770e36e7a421db34481cdebe23c129f09b5e95759e266b122230f01e14eb384284a68af1ef7be79df7e9ead588092aa64f34a4ba95f4a4640f3d7da8ac6b782c2e2b880430478a974288c6c28d7e4831d1d0d0ed38582ad6a34bf752e67f882b3d988159919f5dd6048e9b08a5a4b38d403c9931b1776e9f2f966c9448e69851b695d022e986e2854d6a09f1fac317040193c8cccc60ff0a8e3bd5d5c1d41411c3ac104159c3b10521d2206d31efd12d90a72429d349cb1b608717fb69621cc083ac43e9a490e2bd13a6077953f23be73ffbccb3ff35e9bfd4a8c05135a3468e3cf3ece1cb962c9b3f7f3ec64b344576c6cc9c3d3b5813e4869a68242ef7187286be9c0cc48233238e271ef0e0e7c8d1e47599a6985a35b17e3db211351163a5adb4cae88bc6f5e1ab4bacd15761e3d290d1bca3651597452a0ade10e5ac16afc4b544d6805eedf68d97be66ed0d1660f809a23cdaa1dc1ade1b1b182182ce646b4cbe0ec3678fb6c6cf587ae759273f3979c9b8e76676b62a165000ebf64eb5d1ecb88e472452c172f77983f6a944fbdf1c6619f62510daf256a175ea65dd6ad3abfa60ee93b365d1194b0206bbb6b59d3364e59cd46b9f2e595520ab9903db25dba78466083aa21dea69e5aae9d8c3736d76d6ca3933d0cfec90d69cc5b7681455afed80de07448f620eb06d0236036de254634f63f0369645c8da74a8d5786dbae4f4ade07b7f9e36bfd07eb7ef917fe3437774aa9f186ccb8bae19b5f09ef9a5416bf4ad17d52a738d706940379b28285a5ddb3efa43cbbf2f3b94e28e62919490daa34f8ef59e78f5ee0f3607acc2f9f7dc395f9169b63f6c669fef8f1fb675f6c2d9772e9c6d16f48520f90b0a0e3762f9f38d863e7d7ae7e74fc20111af62bcefbb74e95237f9b2b2b2bffc654e3058f3b39f4de490842402e6bc8814a7848c38c4c8833bde2a17818760422f40eec98ac75d6d8766a7a622f4e2feb49acc8b53f63e8c2c8845c3cc70035e26e3b1ecaa6925a9539c12b21131d2a37b8f35056b3efee493a1a79d82987ee0fea9d74dbc8e71fabe69f7ab84fcf8a38f2873f76eddec1b4bf74b484efbe3ac99281e6178ed7090052edab5121299cac6c4aaaa2ac43be788a1197ff0de7b253b77dd74d30db26c5d8a639f48c8a9d366acdfb081b7d04089a4249638e7881b118ede9c20c6249e6bb41a13fe5235d657a291d51fafecd4a3ebc851176edbba65dd975fc4c2ec860ca09872fd88dc7d8030c67a212beba2733522fc39ef3af2d117b135cb53baf5b6dab5b7defa8767c8505ff79e885ef97628c3e78db6ba74f73d3143f445a4f4facfc2de0ef686610ed1694cf8932f555b5dea19d9353f56b20d95b0554d6c189b4a5ac6c219e9adba67c6fcb9de547179da5254b6eafd35c75d7d826ccb8c8759844b12fe98435193ea562dd0c6d7fd575d66bf59f3f7a78b7e3d39bb7067ba3711480fd84703c5e335e19a32ac935bd75b9b59d7170334db04643a608f6b7cb57a876cd3206984dea784071a0ee8a1b6022d2333cbe607f9d5ea8c6b1c9e37e662b6b07cc8c0467b9727762331b4f043c66c7e31789d3b620463a15ccd71e090ed6c90fb8a78b4ffa91d899a663d9934894731de79286dec4816973fec767c7bb4c5942bafb8e2b9e7ffccba33f3ef60308803cf8f7e740907db60d1a3bad21ad0ba642538813b605530c8fdcce2568d459217ecf8922319717f91fd70ccb49808e18fd1be4b5e676f2756b8898fe18e4d2cd8f76519d993d8b4656b754d556620505d5593d332a76dfbb6e15888455c99084b138c85d9772d164ab6d7503a0c75e4251e115dba765db17c05c2eb9df7fe75ceb0613816d2395905215baa464190e7e42187718be18e033fc53c88e722928459166d9af571e6e610c105f6ca8849b52651cd4e42dc15ed8029f1f4a143f11d6457e12bafbc829a081addb6aaaa5aae32409166aa1860f4b7b55c04868feb06d8234ec564d6a689d47dd6aa89f51334aa264a62bbf7a918d903470eb76efb640fe7f7da794442db2cab63863fbd5ddf01d6bd85a8688a174ba1065132576dde1db53a48038ed66caf7d61ff0d3914cadd07bcb17f649f7fe3ddd6d953eebe63c02c6bf87b17f40639f007c3ad25efeda8b13ad7ab29fafda09f7d7b7570a2592e5645f7b0cb2005a9dab8bcd8ea31b0d33eadacbce07574c451b74cb9a067b3c2d7eeb9673e3a5b6d30ba9895d97360cec2a59b4a8256fb244d31283aa0a6258a5d7d216818639bc786ddf8c0d83e8e544272b06fe1da0d21cbb61c3a52f08b07971d2462f1ce3db13ef8fa858a3695d61a46f7bdddd7de54294d4edfb22eb8e3910bf625b4ff4f55bd8591f77b5e9c89ba86721e9cf7fc82a13f1f49590f8e4bc40ded67c7feac04aa1579a1f50552fada12db443ee140dac0f10f4e1c7c60a4ccc1637f3ef807e52bfef1a759f35ff8eb29c7b3840d41d217dc1765ff4e67c92a95eeff4d04549ccb2fbf8c23b59f7ffef9db6ebbcd58c54cda1c0587f673de79e7252d372b0126a86409e910232f9516a097a01a0a3b645a1db70a4f5fb9b1df2aaf37e04d930bedadb3faa57b039eca38f34699c32242b1aa58e79d6e3925642362e4dc7347a0263ef1ff9e187aca10f2387bc4d91fadc47e99983e65faf7ce1e81847cf4d147c818ff6c29a953428a710e7f20b6ea89c734324edc136b25e489279eb878f162aa0c433028f2dcb265f343331ebef9c61b55424e9dfe87cd5bb6b0a707062ad3f08439f1c4411ed6e07d56003d51aa2b0edf8d0b7f0e498b06528ab7ed187ed6b09d3b77df37e59e5ffce2968e799d37aefbb2c7313db96555a6f2e26323168530c29a3b191a15fe22b58fe99178e31f56c16eab1309589ea1e7267ef023f90a709653797b1f1bf9bc20f1d85d9ebd358962dbf7fcd23363e27cf915c2dfb6cda28959216ff6c0aebd779657ee4c94a7e760eeabaeb082d19a48e99eea6d25457b0a37a7e7f466974c9adf170de04a892998b1f140e10faf45d766b43ba06adee6be4796c696fdb9b2aa796a0dd2b82a100f45a29ce82b63953827a459615feb1363e7df85f299d9ac59457607ec97e6abd53f64d736485a51ec278d5a13678a9a78305fadfe06198a8d3aef7c9c566575cf560951e70168d66888b64319da613c12095547227e8c3b0d34c80803f57723884868ba81c369c48306d9267337b65fa02d7a234c695805160b59f48acbc7f5efd70f5b1a7264c1df17fc61c6c31595e5e59515a55595a595557b82e51515e500211a3a0a23d248faae2489a04a91db295352d9a6c29107720e769ca30842d1605555089d9234833595689f21c07078f56705bb7715a70502551535d939591ddab4c1cb5036adf85222b2348ccd1d150e2f18b6c0c8840d5d9619b248e544fcd4534e4572a1babdfce25f76ee286120c3b744abc6d4774751f1a41b26dd74c34d9555d55a35fb007051de90fb0817515845e1454ac98204a67deeb18aa48a661ae6a4563b8443a128baaead1803abe2c7990eceaad11df07344b8e0e889f64b3c7a0e7283cedd504033e5956d6f453a1cf0cfc6371cd3f26777b456ddf6ccf25d15c1a8d5eb9cb196f5d0434fbdb53718dcbcfcf9f1939758b78fef9fe61b30e42ccbbaf3b78ffd73f3e6d54fdddcecba2516672c50b2ecbee74eb0acebfe7bd6ea5d1515bb56cff8d575ac349fdbf760ad38b9675c32c15a75efbdcf0eb8fd3727db7a61df737f6a594b865c7fdff2cdbb766d5ebd60c17214b30d73eef078ce7a7e6d05ebb293a68fb69ebd62f263ff2cdabb6bc3f27f2e585ef435cb007fbef8d752abef505900b543082b35ca6765d99ec2152f89cd2d54517d800ea364dd069f6959a533a73f5bb07dcf9eedebde7db7a021a550e96b9f3e6eed0abeb3a8604f55286665f63a63201b5a663cfaeeba5d5555e585eb56afdbc3f6e09e170c6b6b15ce7b78ee07bbcaf714167cf06ec12e61372af9f2cfca259e9596d38e9f1f7db46afb971f4cbd691a96cf7ad5a0fad3af2d4ad2df0688631f3cf9bba5a56d6f7ce8c129134eb3d6cfbb7fee6a221e249792b2a8fd090b16ce7a6d053c285cf1b7f92c2f9f692fddd7be86033f1cd636b872f6938b0bcaabaaf66cff72c58a2fa97568fb8ac51facdb134dcdebd2115abf2c2d4848fa8260c43771e1738b576f0f85f62c7beec9622beddca1bdc0c7f6ac7b6dee6b057bf483860a16bfb678f52e49025db860d9dcc5ab0fee235a98c4e87432b81d189892b122c18e8d7a7544a165c1e14009e91423d7b43c4eb41326a1fc6361a6347fe0a6930a7678d7ef4adb509ab5be34637d69fadc6ddf7b7ad30f676fbef8892f2f9ab9ee070faf1dfd5968645d09d99018b9f2c7e351d4162d5c3863c61fe55238848f2cc878a63d34edbefba64d7df0c1a54b6527df153ffe499284b4a7a92c74b0a326259593fdc4ee8573cd3e0979ecb17d8dc6ac36458e8cd8ba65cbadb7defadcb3cfdcf6cb5bd9da0c263b3bdb9001f4edd75f256404731f1ff320843f0bee546dd3a6ad1fae58deb143deb84baf08a4a416ac2d28dab503bf1c6eb74141c2a4e0acda570affc4887383d989440b2bc18aea7acbfbe90a1444aa2ff6017b929df2d29fac4f6b10c6d1ec444d4ec23b62a4f3ab352efccfe894955eb517e95a1df3adadb1966c0b7db872efca65dbde5af6c547ef7eb2f9d355bb8b36376f9636fc82e319931afa6a540d17fde4aac5adcfbe8cbcbe2851dd2c11a80e4523b11935af5c59f9c76baa1efe29cfea993fa97eeceab23ffe38e58d2bbb16ff57d71d3febb3ab2895faecff6af50ed9a66a0c4fdea72ccf0bfbfe01a73c6b59afeefb273003cbc17d3586ec7aab160c472a2aab835595d5726921ff5554575454d5d454575755048315153555d541cec8ac77c87636c8037be151fb0b1dab0907310833cd0cdb5722d31c6422231a18a28e191526c0ea68e8b2cb2f4b3cff674e9c6996dd0c8f042c6cd75ef353e60a725b09c75eb388210e3b5c7627fd524cd971d956223d831dc41c23cbf235ca93ac27483be76c1b6c961caa1df18bf5922b7d58262ed8f0c5ded2bdeddab4aea8a960469bdfbe7d90b9174b238834944d5b7dc3a3579c6b38b911e9889ea6677a8b13603c3f3f0fe7f455ab56a3a0feead7bfba6cecd8534f3f3dc397168a86dffcfbd2e75f7a8181013d72e5aa55a79c722aa04c1639848113fc79419599c82258a438b66acb9ab6562d1110154e4ce8626ae47f4ecec13a29fe9bf628c32be90676efadb76a52644e286b782a618b32649a4cc8eb8686f03665da88498f5acf5e37a8cd4353dedb73ebc9130be695f5197dc643e3e5257b5976de8d826875b8f0ee79777f39fabab367b19df9a6bb6f1a7ee743d9f6b98969bda76f7ad3baf08c016d264b8401372dde742f0e887542334bfc7c4ca85db7f4f5be7afae85993e7fdf735e24346c8ee7df9a6372b2e3ce3ba41cfde26bf47cf2e1f79427525bada928a6a419c7ce3ec79c11ba52468a46c8a99bd6ae409fdbf5619aced6f7f689d34a187246787dc63cf1d98b372e1ac7b165ad649234ecb59f8ceec3b1f6afff0cf45f570542db3ebc83b2754df376be18cbbdf91786d471d776a9f241adba668ab32fbe3a60ebe60c4bc990b67fcfa17a75d3f655cfff613a7dcc24ee767a6ddf98c9dfb885b1ee8d932b5ffd85b2e8d3cfc82acae0a367fd42da7f6e976c1496d9f593afbb6a569d73ff060fff6c78feefbeabcf9b3ee9e6ff51d35e6b477e77c8679d10e64badfe8e8ad3ffd7da4497fea236eb5f92fb33f0c8eb8f1b77d48f7f871d70fdb3273e1ccb97da65c74705caab5ab4a4e6a61b5f39445f5f0c7b37e8d8d12e8a42b27b3e3db0ea6f07dc6fe72bcf5e8ec39333e9c63bfc81ff5c0f15d7dc1ad7366cf5744cec0d123f6996093bf2011c4cc9d662d9a79b7120f9b70e7a9b9f22182bb57cf5fb870589fb3fa88b769b4e0f5f96f0dea71767fd95dbe7bd582854b079e73767f4739edaceb7be06fddaf5f7ff4a1a49760060f3ee9dd77ffd5939db3f50571aa41bc1d28218d1899dcee94bfec5d538eb45381b16e28e614cb9b91e24fc3b6e7672155a68bac528a7894f9a3c7931a88ffec34bceff074f90a09a962a475db5653a7de3f71e2cfa64cbd6ff9aae5575ffbd381fd4fc8ca404631419cca13ededfefbee6f95932332fc0009c9504f08e3fd16f3b2f89ce0bc6fe6ae5406a50a85f3aaabae9a3d7bb6eac720986fa317b204bff2931538a3eb61b186631c18347efc78395c472e4e3804e12fee75614ff18eed1515d5819c8c561df3dae5775cb2f49f5e5fcaa9670c65cc91fbbbe019230832533ac5570bffc0a80b763ef840bbb2ede9b8da65c4122f3f11997853a06d7b11cf584fdf7dcb7fe7144f7b2b51ea8da6c676b5eb953aec0c96b513a9ecdef92ae11ff77d5e111b9853b9e2f32f3d56664d4534515985fc1773acd7dfac65b3b4544fc7aefd860c39e6cb757b96af2c3ec1e3c9cc69de2c3dd38c6bfb843f660c192cc57cbcbf6ab48178a24bcbe6dbd715a7570b5b6654cdb54ad7d87ecbb60e475b637ac9bf90e5e59bb5f15d96e837c03602eb576b68c8d60649c4e84f1bdde93c457c5cbfce90fddc8bcf2f5eb4483405026d8947edff82a1057abd632eb9f8dcb3bfc7297475866cd3209bb6faa4353d98272bae36a70e82d6502ae07caa4200c604304e587ff2ac1b58fa0429de7d0e00ad489100facaf9d4579c953a71c2040418f34a3cfad8e0461364bb1aebb06cb2028b890d9f5b361aa7a5a43dffe7e7d11449adb4acec913ffe917661ef20c1d08f41199bba1c2683ea466076c9fab2b8ad9216c668fca6c5102767dfd378908fd805b10d22adf08664011bddecdd8f3f6889df7134da3cb345bb4eed634c9471a421866c6666c6ac972d23a8c9408e662469c90651c0e20ac763cb6e6deff4e9338a8a8af0142cde598cc12f2333b3baaa3a352d95fbb870a9c4d968f2e41b38bec1593596d8bdf6cd973001e5538ac4866cd6ab65730ceddc3bf9bf6ee0546dbeedb6a26dd3ff3003aef83d1e6c931d14b9ad68e6f487a356b8a1aab17212f6c6bff87cdd909306331d4f6a2308e23ffde9e91b6e98b47b773d17a3b46ad5e20f7f78f8c73fbe0a319d1471ffcf28d3362b3d3b7b5f6f8b06f756d4f87c647540f70b56e074ed6bd122b900c82189cf0eeba408fb333844281aaca88958fef4ecb4030a6052a9effd61962156b860d23dcb6e7ce05ee7aa2f138aaaf22a5f66334efd13c84a6d96d980f210c3a4cd86c0b4ccda03024d211b03f032085a6999fbefa40b5595cbbd12cdf663885e37ed505515dbac326b5d7babb862c7cb706c6ba28de567d59b7e43310e9af8a0b974604eebe6de3eedc3531fbaf702abbc3ce46d98b7c4d2a2a466ee67af32c5c1bc7abf60ed998d21c92189ad0716e6307e21f71e78e081b163c7b2b88ca47aebadb7de7efb1d2699175d74111f83331c1e7ae8a1ebaebb0e895137f17ffe7351f75e7deb95902a465edcb5f2e7db16ca80b963f0b1ebcf0864640552d3023e2ffe66b2a0cb092bb104c7c83101e6a62bbc99af3dbee20703999c7eb5845431825587e5f7f97f7de3e65b6fc19b504bb8654b61a74ef90a9ffffdf31f7984bdcff548484c6c18fc10c3c8605647e31e3643e31d2eb37a847f5aba77f3e6c2b973e7524c4d0ae6e80882768813b631be3288c02bb8170c5523210f5ef88b03b8c75b5559f9fedb6f0d1b7adadcd7e7bdf6b7f9670f1f7ef98f2e7feb837f0d3c61506e4e4b0ac5f5812c6f311c1d8cf04fe19265ceeb5dba2473d2f8cc584a3ab7cdee89252e3d3f7eed0d1caf1ddfb2d9fbdb499e3565891c6f75345e11f154fde5e5b4e34f4043e4ec48c6b5c6853f557bec83921127f6ef192fdfbab7a4b4a4b47077193baad1f6023e59a24743dabdb37cfd17bb376dd87de6f08cbec7e477caedd0ae0d97ecc15419d79c5f0d3f270e14da5fb584e7c56505733f3d66e3e79fa77c527cf5cdadefe97fa755b95cd44451b6d090ed7fe8fb61cbdba665ac679fa70a6f382bef64e7576b64c8ce7f3b4f9c1fcc3fd5384916e59b273fe356d1159bbfce903de1fa9f89fcaa6d3075fb0bd3898ccc8cdffdeef778e3d61db2b54172bfc6138f3ecea1eed23f58c2ac13687bfa4a012799d2f3ac1b44c7b00380067ed582f297d282e1a9b0f36990756bf47530f50f875f27c57f675c2c6b91b498ece2a70378a3dce6c4148e69b3a8a82c3cf39345dd44a2c60a5f71d9e5a9a9691f7dfcd1453ff801ee7bde1af125c1ba17404f46b712d33af24fa697182239ee8ac5080e99d759036b07b8fda1dd716f1d46c1a80f975eb2117f6594346c7779799daacb4ab35ae4e4b56b1f8e720a02d64c2697a21fd2e968ed3ece91105d5036aeb03d0625930c11fa788ca320226b29f2a44937cc9dfb32d682bc409e6acc887b1a5620103861d009632ebe88691d27fd1c5835b9c685b9358ed3541607ef1827bb86f6574dbe8568b7d2bb600dbb6664a15a7edbfd8df2c8813a0d560dcd13f1c84363d47df21a241a61dd5760f46dbdaff621452374bcf7a5b568e1b09bd5be49cbae0f2b6f93e2d74638ecbfbeb4ecec7a0a60d2abeffd6196a168e3e6b41ee77072cc8101d5629fc9733f7420c5be5f5e5161ea7dd3185274bb03dea7a2921e80901f75d34ecacc14b24ed46444bde92713d5fe3e68e2fdbcd90fd526d2c8df682468959661efe372a0bab53e2062dda2d4614abd5f9093b1ec7452bf328703b23bb81febd7af67c6c876ddeaeaea3973e614166e3de5945356af5e3d6bd6e3975e3a96a35e060c38eefdf7df679b733de989e86848428a18b9b4f5717f295df35ef9ee4e9b4fb5fc6932d71631c68c93e50491034cdcc52dd1161f9d9a87ce1fa09be790af88c4c624a48a117ceb203bfffcf3869c3ef8b1598f2f5ab868c3c68d884953d4bfbdfeb7877a4ebdf1a61beb4a48729595108e85950567f1548ca225467dd154b94c355c15e9dcb5eba449935e7ef9e5e2e262194839f8f6c03326292433ed8b2fbed89f1e0897d61cbaf0c7f868559697d584431faf5ed53237f7dc33cfc9cbefb8fcd3d5a1ca60e9f66276a3e3d9c7760fd8830ffb41097f067a7cf4869d5df6abdf257ef7df6854a9b9de94bf2c4879e90d84368a1a5a40a485371a8e710a4ecdfd0ffa8e3b510c103eae9ed171ed2b847feb58351aab2fd0bc323db026336b57303bbab3345c5219db53b1bb88b37d375797efc9ed3230a3452054511963121048e17214fc10755c737e35bf544d0692daaac53b64c52235a5c7f7ea5fdea2fbe063b353faf5b3ca76593eb1948b198420d42832e9de74c6d766f99e360cd6ceafd6c890bdf9b4cdcc0ad039ed714daec3a5e106420c5e5ca86b0fd9625162483efc21fba28b2ffee8c30f29a6aab5a6111a80063362c408dd6bda5083a49086fee8069ab69ac8d1f1b62cc32a8c9e87ca82b98ebb92e4c4578ce572b68d580571bf4f84c2614ed21a7bf965e170305c1da4d5d3ecd1d1253e2a9b9fa513b639c7e5e8444c8b6c4dc13e2f47d3d0d2891de5623e36918453c54317831c17b3c8ee62ec89448f5b79edf3fcf99d885d15621b20dd841776608f4ad42bfeaf6c92660620f4722605466e3451495fe66c62d904cf018d78520e1f3eece3e5cb0bb714e2fb989995d5293fff841306b56d971be2da766c8175aa4645c98bba700e23dedde8a3d45daba665a809caf6073a8328c59c35218ed616896b0165eede70d59054ac5f37b2ea4c3abffffd3d9a54dd2753a8ba4817a31cc83f73e28367baccf8b772a0e3e0cbc6e4b7f80a05f1a04bf4efff825bb76e632b066b0e2fbcf0628b1639d75f7f3d4f6e965ab468d1134f3cc1e6951e3dba733460bd35c0f6d6888454317257fbe1230b7666e3ff8bcc421f639b27ba195bdd38fe00954654460232233e61881cc1709012729f18e10f135d8fd5a2652b5c067ff9cb5b3189e0cbb769f35672635d85fd1ea28ab0b25d9f8494d37c644a8f999d33b139504596ba8df08f5557a4fad3274e9c88d2bc76edda4d9b36e135ae7ce0acd92e5dbaf4eedd9b536977efdd1daca846061faaf067121e4e4d29292b7d7bd992cbaffcc9f1270dfe38f0ee90534f2b58cbe5c8cb30e82285c3d810a8812871763818e12f5b5522fe2bc657e5750edd7377f3c2f5e9ade4f66cce7f61e5295663b1b651d6b76fecd6dffa079f92c296f3006689fde35a23c21fd69cda21757bc1a7e1fefdb8e1604338be71578d7f5b75a4a822b6a33c5e53c6e098959d1aaf2cec7c4c6a979e5d5be5b66c9dd38cf53746261dd792be9a1c9feba85abfeeed7fb875edbadd7bfb1e9bdb32337057fce4b7d23b74f467ca27b5875d5111131647585796558fdc3e20af751bb694277db5af6c90f58e6bdfc8907ddec8513fb8f042fd5262bfa155f3d1a4ceb4404c77ac515a78ac8569450d0cd934487becd58f7d943f9bf6a2f335d74e44d3932ec5b934e243c75909d4c876b9e510050c687c73dbd915852fe0f1863918163f637a8398b4edeb4cc459c7a7de17d812b9420f61c4da358d86b50d0c875e66ae0159d89664c1cbe9ec5e3fae2d7e4e872026620d11ca2c2bc1f1312922eab0bf891f4f8072e13428ba99ac3a8b791bf5909513b9338b031344c68a2f3c936c3c7651edd01e7d4ce53c69fe54564a888b7aca0a7a281cb22d80875c35d2ccc86a8e224b2fa0289555e5d84d713442fbb4fb0266504f590d5b1745fe3752b5b5055f0c39e59403ed7ed22b58392a2929116b647da67bc5739f58b2fdea28ef506ef55c0e7c5b1cd8bd7bf733cf3c130e474e3965c8e9a79f8ecdcce4b471e3c6f9f3df60da76d659670d1a7482c11b60e1a2457d7bf63e0a24240253f457fb48328fd8ae0e10fe9919e99cf3c529ffba2a47f5516c992a8782c1d2aa8aaf29fc6329912f376c2adab03964050b371775cdefc8927c972e9d3be675b3d27d872dfc65b0613088853d0b1678df5e16dfba815bf512591956f7631243cff29d732e6bc0987bed818b43820f615cab282fdfbd37bca3c6bbaa3454b4bba6725765687b59bc646f22b2333d50d1312fa37fff1eddbae4e7b6cccd129759dfc18f6b0c183b0a37700f0d9b3983a1784622cd6f7152066bd9e85acc2a644a20bea3de94802f15c7aabc9e1dd37ca90d7d35198058603b94aa1d09433643e7134f3ee12e3a1b217384021e4e630ab0e28ccf1ecd8ce30e7172a69d729908ebbc72500d4a9ae848344f1a62540e14b4d75d65230a46413a1f8bcb7e6e49c1aac72e35f1ed1307645cfd38f15fd69d25018f8fa30871e86546c969615cbd87b19b4920690280b6f785d033502b21233179277d050925cbbc9cb9803e28fbd7c4cd91abf050cb48005967c5c3e215ce99a56295f4da979ec438b180436a04c3e494bb50a46a5c2978e85563be1faf2865f249cdbddcacc4a211558bc5ab4af7e23b691fa7233a3555fdaaaad5ef82c6fa175a203e400d350eac89f51e54d910bd8b7739e072a0110eb46ad5eaa69b6eaa97a05bb76e9326fd57bdaf14c9ca09e6c1c31023479a8444b423ad597f11e12f12f200e15f535d53515383f0972bd744ae6290c24414e324b2af2ffc03516faf1ebdba75edb9714301a975e9d2b54b979e8c1f8c001cb271f8c25fc628f604a5f92ef881e7fb17301889ab7c2adea0980b6420e0a8ab80ac6f1edab8c666c5e6d9d959cda2dd2cdf71e59555417f75383b1e6ac510979de1cbc9cc419fd68d30340c3fc68b4319d738f237af43cf881f638a7d884cd423e31a278430aef15f58fc33ed9d21b256c7d88a339758231bf86a4d74c8a64935d2e38ea6574d7b5910fd8ef30751ccbc11ec6eb26144965cd10f39dd4b36a270f03526420c7d28632c2bcbe1b2718ecbc23b10250c33229f9963515128535096b02932fd4177c42b1add47ce641437186f2cc0131c0a28ea9a4ce159e0a5cd4b7796ed327400e4048bdea231f25e588a528adac83662ac8e623f146b1d6fc5dfc7d6d5b04872f815d9cad5f1fe901cc3934081a488ccc8a4ab91326545cffccf57cd8f1e5dbb90e26cfa68810427c6855d0eb81c38023910892082645b852b21bfbef06782ddad7baf1e3d7a22fc1920be19e18fe7a353f8b3aae410fe5c0e7d18e39aecf841ffb3c7b5b4acccd48cf4d6b27185a57a59048bb26f9923e3bec3e3dad71fb2596a3c023bfbb751a4a6ed83c92202ce732c2ca0bcc9963bd686c5e33a11f18b998cf92647d6a0dcc9162d7baeb34f9544cba31be201c2ffd28de43dabc0fca3eba0a561bd0361eb7516573071c0578069299b9964b2c45ab02c027b59c68e7b53c5550449c1a668b448cbcfb5ea521aca138b8753fc9c95188f30f9450964db8b78398ae94e7c3fd00771b0415f956b9465ad9b8a5048668f4c84e9cb94eb48a95af38c0ccea7e512cf6fa3fdb969ba1c7039f0ad72007b3fc7fbe134e24a48d1925de12ff60a775cfb6686ec6fb5e71e3989376d6b105ecc2857e87c72e53c4a18ca227a5b2ce167d958ec8558e96cbb1cfc661ec5463b4f84730ee5b0406cf9ec55e7d81db4444ce21c20c321185c42252bc1dc6f2c67caa0fba5e230c2a1616cae132d54aebd4c913b9b3826945bfc6c7551b44a5696d115bdf246aeed6381570ea8412394f31849086764d4516261b7b4dfd80b409489df181db1d77b63a9d81d39a1814ba5c585162f6062daebe7fff9aab5ce6dbb6dfbf677de5906475898907bbc64955ab6698b3914232e4a3adecd72d29a1c3221ac84445e086b589690aa71f624004789497cd19351cd59a00701b11d440397f575b468d474584632b0118762365ca26b938ca48be62d0bfe4038e9904884db54490e6b2dd9d9e718f931d48abd572607642ceea94ccd65a90a1c665dd478f161b76b82dd969d3fbcfe6e574d26293677ddaf76d43548562eb3b39b7568934bbb7725a42bfcdd71ed9b1ab265fcf96e84a6ad26a29270ec3d8bcd214c8a5c3deae3c419340a16496378fff9501aec6d211627dda006a02de032210743c831d7018f9c2e809e892a131107c758003b1fba0eaa0f3787da3e81ac0ddb67828ae53016c219d1837d108f46314d62abc44f91b36df0bce5a408396d51bc1fd146f13c140a5154e450fe5898731cb063ca1dea627b240f4ca0a8af289ddc01c81b3969424ea8c7e1c31b46bbe200005455f1e93842aad6a14dfba82797350a51dcd0ea64e55dbd94598111954ff6fc88fa675b7565df98ada6d918344b9821abf93cc5a88b4916ed4f528219007c17ecb862a915d32c8aa6f43e51a7792d7a9d1049ae120136a162cabe4b702cdc139384253dbb04b2678d287c6cc9cc464b8aaa614a12b64e2ae5457fe49bda065e344c72b01557b76ac272e182fbd58e9a06c911270820e6c0ae847485bf3bae7d8343363ac377434b949bee9a7040e7d2631bd888c13ab378d3c6e4482c367ef86391a83fc51fe1bc0176b4a320c859312813015c3602b2d3990dc93e3930d1978209115b971cb720663fdbf5509c1e3d114eb1e1279e1cf62ab36c939383ba70d4453f948565943f343dd40fec8cb8967094ab6cc31395c5d636514238c03de1f3a376da17f0617a645d99bbe8398655569d31b6718126f74247503f512959f116cd853d216852523572c4f9e588a81aec65d31aea314c4095b34d77e8e3e22c2e6743c26331dd710f26a65dd9d70d2eee433d969b0a3df86fa218dbba071565e15dfc3c39d9c217e0881f2a09fffdb0c5e30dc81159de807c350f8710c571e6b4154bbe1a574e63f5436b449fe63a6c1468be160cc3fc8a3a6d2b9e7c5251e2a3e42e67a5cba000208ab97e350e33124b222e5a7c355c13f83a9483b430dc625674abe67eb5a3b341cadcf5c8102347b18474abd614c7b5aff3d5e47a8cef4668da6a22a755a37be0fdc79952280a61ae72c78884b2887588d15f8c885819c51ec522a36817fe68086d83b56a4c487280369ec3f6b7c6a0e74f84648912adc662d7891c11c56d409e280a10db63d8f382a2834ec18227a7ca7859e68c89bae10bc7504365db09ba48446ed143c70bb0015a944e6c8f140b94acc3a251629394d56b2e27a550ec9493e3e459f88e487911e4fc415794edd1a838f61e6a2ec272abe67e35b741ba7dcd1523ae8474c7b5236fc8fe6e68894ddc9a88f1088f371fda99271ac69a855e8541894dc4b6d780dcbdc72596180d6503b41c4a88ad8ab524ae51c67a17f17139b378a485b9181ab58ed3154411c47815178b189e735116803d965f4c7f61f62fcbfa753c1640d5e4406a3062059344b96810cd0eed529cdec41cc9e9dc295c8842a29812751954f65693b5ec34c3b8c6cab86c99e1cc7e513c513839b2dbde3343c165fb0aa7d5431f67339a5b35f7abb90dd2ed6bae187125a43bae1d71433643fa772334ed7aa20472a93167fbb337048321101b1cf0169445621c04713a04c12662fb741b59c9b5fcec5866ff33d76962be13335f04154d8ef5643d352cf7418b1591f54c39ff9a6be5395107754f0ed641e193454a7173131b23da1d597ac2e48db288c6c852332a20f645f441b93c4fcc8b382c72fc2b77c173d3094e74b2eb433654c8bd4fd816b122722533b95100d2c0c70ee74939880783230e936ed5dcafe63648b7afb962c49590eeb876a40ed9df0d2db1895b139ffc7f8f8b5b9a1b5c0eb81c7039e072c0e580cb019703ff2e0eb05a692efbf977e5f99fc9a769fb265e7bedb53939397a7d672814cacaca8ab07df9c000be79f3e6e038aba6b2b2121a60c8c0734788de100f3e09e62650c8cacaca884b448d025261e815afe968fa4aafe9707f1d71818942f1ea968188646df275d26b39894b8286260926594ddfe0b50c9a97930fa460f282c6e5957e3bf8e6f2aa6e1b73db95f659b70faa3c513ea83c31b208c09557ae6c47841e95e320a7a3356bd60cfd0f0b14ed9c2741d541006a8d76080da1baba7aead4a9608efac08a2a9b3e0e2a184a059c4f584612604c00e384f527cfba01490492a713e048584502e82be7535f7df6d967b7dc720b306a10b9ab4206a0520c80283cf9d228042015e6c94f8815e0493071150f86b8246b7e9a28e0491082a434350aaf0c01188292299e9f9a2648fba5e4abf4ce589a9713af89685c27a51326417e3ad3d7c22b92b79a17040a6b195c5e291f5c5e39db921376db9572c3ed834686244939389324c75c5eb9bc4a9221da249ac438884de790d4c4efc29dce4ddc37b15669d3619ecec937d6818d66ca5c079806ca13180d09a4a1012016f42ae314567a8d8b0aa5f49a82c2aa6641c65b4d93b71a347d9ed8f9341df05a1e0030d06b394dbe20955ee3f293b8bc85de998e332eb0a6c6935ec79382e993f42915304fc8c013004c1da1e7a79641f1868cb8c0c4e5a9f53271c1104c99c12b0cd299afd26b0a0a53053baacb2b69932eafdc7645bf70fb204c70f60560575e1999acf293a72bdbe1097cf88f8c833a6cb94fc381266f4d541d88f644ab3252d854cfe82bdae6c0239254521b62005568b4afea4f4d0d7a5e291ed8994b527413d799b8a171c6ad9b206fa174e6d550192800649a17b0d645918a77128031013cb19c4f67d994cc59064dc7e59572cce595b607d311dc76e5f641da801165aebca23d182668ef50d101ec94abfa53f996847776316057b6ffa778c552b2d39ac8e4b6a4a4444d3f2d5bb6cccdcdc50783354c822e3abbd6446df047ee536d6fdadff4431ad874423eb3f6619ee89474517d055e1b228a1d78ba259d93000130af009446f1a4af78e88179920e011af00606507e290d71c1f0d4b8bc222f7e6ad606d6bc28a1d2f313181a727196017a8d489ac09069528ae715b99834f9c95b2500a63cca0785796a51c12b60cac04f97572eaf68216ebb82096e1f5419a2324761232bf809de9557b4138291bd2eafe080f2a4c98d835a6c7d5654546cdab4a9b8b8982f4bd8b163c7975f7e09d249f35d809bbc3511af526d91487364167a92ca2c834cfa8ae095123d40451e51140325489ee0f5adf9a934bc22baa6af798121ae224d742533784d24a93c5a0c289d79d52d8fc9d7a409608296c19407bca98b89a8f9f28af2f034c570c6354893b2025a48534290267d60c31c975770c3e5154cd07e442371fba0f62f67a753fe68537179057f60829127aebcd2a6024f3438e5b3cb2bd33c608e4ada5a3ec9df6f9657a883c69ab865cb167444d9c3626f5ed167dbb66dbb74e9e25a139d9fe08886693104c624fa18006505d6120360875324cd88398de2a15458db166d02bcf64385f949a304a3da8fbe3234a4a9786880c90502cd546391a362346bd2e4278114a0075002609326e5d1b83c9d658080003d011acd8514803541de6a3a00948ab85a1ec5130b4061f076322eaf84212eaf6082b607b75d695772fba08a0b575ed11e5cd92e52f2bb3a0e6addf5b977ef5ee7cf469075c98e264cd3b6265e7ffdf528f8aab7f155007822efd08ae8ea4edd515fe99000ac321132850134ba136f9232f43ae15339c25b7e02eb5bcdcb609446e9354d434fc14cbe200dde998e293f6fb53abc5558e91509acb10cbde2b5eeceb20143acf40a9b049d7121d0b20118322dbfe293f275d2eb2b2d0f78ad3b895018fd09ac6f5d5eb9bc32edc46d57da185c79e5940f2a7c901bb4138501f8e9f2ca95edda0c744cd1f6a0ed24a96d9871ed50db95d337f1830f3e1043a21dc885bf3c39c265c89021ae351156348da0b637da0742c4390f06568d8d6a18bd0758e915891d4ec72a5568e87eb42760e8b5f2240b0d78008d02402096b1e1f1163b84c98b14c040cc9374f8093d00f4d098b8a4c02bc543ac78c568d6a65ebc7296c1e44b5c684cf9959e14c8c5c0bca56c9a204f9326786088098a37e52759de3acb00ace5347981a176c42516af9438a99ce0c1108865caecf2cae5151cd07608e0b62bbb0bba7d70df7a0eb2c29557da2fe82346de6a7f51796b6097572a4b9121df06af3471f76938d0b4ad899c9ba80abed607bd44b531a3f7d09dcc2b00f03ce9728a875e151ded930656027d2a0d2a8ec6d5d4783af1ce7488c55b439f9497e60b1202c8b49cf5c20da50f5e23f2d4bc9c75a40a5a17de2aac79290cd204d221777dd64d073297572eaf9403da14dd7665e483db07553e38e5983612957b0a4363da8c11268a74db156dc9e595b3fd3404fffbdb156642e39be85a13b5ab36ed7313b50e3a07a59dd1f7808d3437c208009b96e22163fea1821e8ccecfb42d1a18e906194f222a8dea7320091a170cf49aa6c246269a74880e5c372f28b53cbc5298140c4c2c72d1948109a69c8a27aea6495c931718f0881e7da53071c1004369a724fb9d01341d97572eafb4fdb8ed8a3ee2f64124832baf60822bdb6102b2915103c9a063c7776a1ca4fa6e7072a0695b13f14d0c0402f46a5ab34ecea81bed5b253e4ffdc95331003477da3d3400268a89552f0052d337714dfa9a97f6254d533b15b0332fe80d8dc16bb23c358a1218a4c1039860b28018a4965f617e928e266292321193e84dc5b5fcfa84588bedf2cac95b97576ebb32fd48fb88ca81a43ea5342eaf5c5e19790e2b0c6c00d34e9c8c027665bb619101fe23bc727d13935a263f9bb63591b92f225b951bec0100c86e30d8c95433a386e04db58119f5f9c95b6387238adad84c3a6008908107004f2c9235e968fae04947e3f20a02d2547a7e9abcb43cdaf481c1036b5ed093b24631e50163f0bc227d8809c044577a9e5a18900a289e94b53ce035f096b83c4993e80a530693a0d6056268c06b6a0a6b2e2eaf5c5eb9ed8a36609a81db0761852baf1092ae6c6774a0311c65e3a019045d4039d0b4ad89f826aab452258c2aa9bac34f00a3e52892b7e069d300746f8da264dad69523c00a68ebd727648da749829abee66512d7a4f4a7664dfa9aa99641e94d5ca5e4a721064ea237f55232673abcd2f44d3a497135239e04cd1a4aa501a371ed972eaf446f76b2517fbabcd2e6e1b62bf8a0b282aeeaf641575e697ba8db2f8cdc30c2c4e5d591cc2b340ad737910fe40c4ddb9a489fa4327c573a1e417f6af55098d436a6fdd6596723d389a25a266f4142cf53d3c1c6064c5c9e6a9fd3140c0d7dde191758b537c56b49c0288da6a9e50186866479ab30342a4178921771c13302197a28a1a7005a17f0bc8586a034e0355fd5f3341da5d7aa91821689bc34a2fed44af1d6a403ac487d922fa9414c2cad8b26083daf40f2cae595cb2bb75dd111dc3e48474026b8f20a0ec0076d0f3c610b4f57b6eb78a1638df2e7c81c07559ebb4fc381a66d4d74fa2652253aa7ea4faa5469ff04af121c80a6c9d3d0187a452aa52215e6e94c445f919ac19b94c168e2aa57f1d319ea925106088862e80dace9f0d6e87c1a5d094cf14cfa4aaf0982347901406cd2d79f9a26649a8ea6c94f67351536c93af33548cdc81486c49312d1574e3cb0c945d3316523ae0975c95c5ec11c97573081b6e1b62bb70fd2128c2431e2c2b00580ce62e41bc42a404ce3d186949488dbae0c03953fca90ef20af5cdf443e7a5268dad6446c1848046ddf6aeb024628001b39c21c8e164fb511136a0303e0a7c605861ebc22c193a01213cba4c95ba5277dc5036814d2875e03e9f0d6e0a121f0caa4034cfa260b9d57410f9981a10156d1466aa4af75d17a111762a2e8dc54f3825e13d1bc2457bb9c9a26306f4df99de5717965b34abea9cb2b6d276ebb327dcaed83aebc82031a900fae6c778e237083314585062c3a9ac6c1da6feefeddc781a66d4d34be893459643a8d1800450abd2a09a6baaa6ce9186094485a39afea8dab830404aad5114589357d62f1d3d000e84f7d928b96c13c95df8a87c699a626a20926e14d6aa65e90992a98b7261783d1ecc03be935a2cb2bf315e0bcf2042eb9bc72db15cda06edf347dcaed83f411e5868a1797572a49941b46aa24c9709757ca99a6c22b745fd737511bad79366d6b22d54072195b1db073cea7dd151ae43b343453536d041c018cb121f14a616dcdc000d09088a60f015a053f49cdc495546c1ae652bc220a4f60d5398802c6d0032b86276982578cd37ea378932694c03c4d39f5a7c6d51c794b00a3658000d8a4cf4f602d8fcb2b9757da3ee183dbae4c1f811b6e1fd4aee1ca2bfa054c40de0210b4bfa8a455d895eddf857150bb83fb540e346d6ba2f14da432f46dedc0aa7ba12aa9ad0880eecd2b9580209598a7d2e84f436ff0c8086082a603a034e015439a4e58f335658058e36a3a265f2d89794a06b5daa4d2404f814d791480c689d77cf5a9f94260b25640df4aeab506489314510c316f9d79b9bc527ebabc72db95b35fd4ed9b6e1faccb13da8ce938f0c7c83197572eaf68038c35ca071d809c4f19a58e8c71d0f54dd46fe17c366d6b22f6009a9d8e67c0344402728a1a1a3cf3425422f03c8d8d1058e3828718188966d201561e410fac710d0d186c0f108057981c4d5c4d108cc6850c1a60c5f3134a2d214f4d47e31a1ae83596463178909481a7c9174aa5513ce910801580526d24d098faf24ad30149d092b8bc7279e5b62b3860fa9adb07110e308480c470e5157c40ae2a4fe006edc4b410d3665c5ec119e7f802439a28af28b91b9c1c68dad644f54da42dd63b4749c26bb5e9eadac3d19cc0e84f606ddf6014afc2d1e84f8a57624d165833e595215698a79386b7a46932e2ad33685c8a9494af931e58a368794cbd9c34102819348a5732d2e795814d5c2d957926e1353b4d0758cb66b2d3340d9e9f267d8d68eaab7822babc4afabe4e1e3abf97cb2bb75d69afd4aea46dc3f0447fd2969ced87b76e1f84092eaf54cc6afb314f57b6ebb8490b31e354124f9cbc623ee0fa26c22b6768dad644158ecce7009011544c31c0b403742f00308ad76a83a41da89c3562051a30e095929f0a43e0c46b0a3cc1f3343645609d5382275f1397bc9cf64283874ced7c44d472f2d434c1104bcbacf460083a7f050fa5c90b3c3426a2d2f0935ea1719de998b8001a4531c05a0600a5d72789bbbc727965da9edbaedc3e486370e5154ca02fb8b25df9c0f3281b07a9911b9238d0b4ad8993274ff6783c3a57407e5137336f0036736e5e81d7be0d5259c04fa557a06e5cf0c452629e861e58152992522422436100de1a3cb0e60ba0b046d4f28021bac605e69596cd4903ac7299574a60c84cf10cc6998826ce9350b70c2eaf608b936ffa1d5d5ec101b75d69dbe0a9fd9476e2f6419584aebc7265bb8a4a6d0f740dba89e1c9d1310ebabe897cd3a4d0b4ad89ccef69afda580d4cab357638e43b30cd57051c9507809e0052e30238ed04ca2025609e64e895467f9226292b0d788d426ae0b5cf9026013c343cb56cc405d6f2e82bf0d00313c043acf4c06094ded0404979949e57e00dbdb14d2a8dc6a53c5a068801b40c9abe81a1d7bc88e2f24af9e6f2ca6d57b404b70fbaf20a39494b20b8b29dc6a062019e2021f5277de4e81b07f58bbb4f27079ab63511dfc4783caeda1e1a0fed98564b233630af4c6d790b9e9f003c8169eb86c0bc1533f9540000400049444154557a5e693a0060944ce90da5890e867c4d52060f4022cebc342e4fcd25a90c2089a2d92960601237c99aec14a34f4dd9092b861492e815af489757861ba66de8a74ce2a4dbae68812eafb455d4ed53ced6e284956375e90d27dd76e5b62b57b61f51e320baafeb9b88c87286a66d4d5489ac3636242f3297b90e6d0e984aea5c101a7e1a1a7dc55b009424f010f093b8c08a0763d28146d3815e251a941010780592a0f98201e6093d0049119cf32d5306d54878ab64e0013490a6e602a0013c0034e0358ada398015cf934c49d3949f570a6b91a0571a5200affc7179e5e43fb0cb2bb75db97dd09557c8010202531b832bdb75bc8021df9d7190e1c00d4e0e1c25d644679580e9e13cb57d2ba004066f7e1a9d49953004846a6949718988bc303444571840a3381354d83c55e868742536b980a4fb9197c1280c92e8c03c35ba298fc103502a43a3e5492a27e9d4cd9788ce607862007d5bf7a796c1c90797572eaf6803da7a9d8d0ad8b41f03b8bc7279e5ca2b57b69b5e6046bd236a1c747d139324393f9bb63511db18bd8ed6464d8cfd0c58ed223a3e012b0099e29df4fa4aed7fe0498d7468b526ae12833136426880150f99290018932f78d2511a08289292f1d47282d134794266f00a3bd331733828eb961f7a8da200c96ad92800bd117a52d64292af96011a2d0351804d5e0a430cc0abba79e92be583664a3a944af1d06b825a2f4592a3cb2b9757b40db75d691f77fba076079e04448d2bafe81aae6c8703b407ed233a00019bb10916d14ec0ff7b7845466e7072e068b026d29ea892ce53b519a12169256979c0200d81b645f31380b7668e4b526a33034fc335e9288da6c62b82a663223a2995c0a4c34f605312c593b8c9cb096b8249e99b122a9ebc9c25d1ec14637251a4c98b9f1acbe555120fb56d807479e5b62b6d036e1f84034692987ee1caab24596164accb2bed32ca07654bd3e5956b4dd42fe87c366d6b22ed12e1c59cc3487660d5d868a6d8ba14e6adb167283d9a19044aa3ec2029335f517af020096a33e327a9114591fc74a6090d784d0abc02e46260f28586944981b79a1751c00043a951a051022da7c2bc5240b380464b0252e9c16bfa4ae92cbf332f4d93b79a17657379e5f28ac6e0b62bb70fd20c5c794547d0bee0ca760617a76c842d8c353a4e1ddde3a00e8efa4c4d4d75fe6c045997ec68c2346d6b22773a736e22ad99364d0b460d32301f495b3378558668e88a810618626880f5736aafe0c94f8da2696a3a2a3b4cfa1a45e36ab2609c71f5a721d0443496666460002573e2f5ada131048ae1a796cd591e534d1357134c2a5eddb844248acb2b38e3f2ca6d57dad74c2752c0f44d00c5d4ed47e0dd3e08135c5e993603a0cdc9f0445f99a7c1bbedeac8e195d39ab865cb96e2e262740c0225d467dbb66dbb74e9c2112b504e9d3af5d8638f65f44c4949e199147c3e1f185e29a0b0d2283dcfba815c1429b9da819fb5a0fca524604c7914a34f8304f80643d3b62632e7d3d11d016d6c8170c7d8ea80d1a54c27d4f990f9a97c4439d0eeca93748cfd4fd3213a043c9de91b1aa280e7090d25010f2511c1008304a659280d3018f04aaf34e4a864fa5661cac94f0d865ed337f535196999c985b804b52f923894c0e081498a744c5c675d14262234a4a9c4c02eafe089dbaedc76a57d877e417b70fba02baf6809ae6c37630abd83c0cfa3691cd44af16cddba75565696f909c0cfdcdc5c27e6bb00376d6ba29e9b887283f0d2f18c6fc64fa43900621da4024e2418c53b6980093477d5a5800d0d484ddf004a0952c9c003181a6002e928de099b729a32f35655b4a4f2838446e33a612d835647231a5853e0a9f92a13945eeba2e9983290b8c6d53238690c0379a578270d3081945d5e3919084f5c5e39db240ce1a7dbaedc3e6864144dc2c0340c6d1eaebc822d3a5e209c0d7f5c5ee9f80243943f3a7e7ddbbc620e60ce4da489a2fe969494a8e1a665cb96e888688a98125d6b221fa26904952f949596a4e393b193f1d3cc6f78cbb7870c7a60f0bc05561a8da8187aa9fed4b81a85b8da52f969f0b46060f05a064d1f0252303034603418bca60f52e36a919446cb06a5fe34e9d058814d6ae40b812927f49a883665f04a09a065d3322bacf99ab8fc04cf4fa501a00c9aafa6095ed3511a9e9a356fc9577f6a5c4d8ab8a4004c307897572eafdc7645972168d7801ba6ef8001affd4b019757c2299757b6cf3a7ca03db8b29d6ef2ef1907b5879a67767676b76edd06d901809fe6d5770768dad644ee7466d59fafa532178096a4f2455525236bf8098dbe551862ba9f81352e4fa230a843e9a457a4491f02270c313fb50c9aa6e66bd25162a58100807c9d6533afb43c9a084867befc548cd298126a394d69ff3f7bf7d76cdb51d57dfc012928040a4145448484c2a7ea91f2c21bef7c43b9e12de40df0ba52e5059688a01254fc1320219882a2b0a8983c9fb5bee70cdab9f6d96ce261e7ac7dba2bd51973f46ffce93147f71cb3d75afb307ae903c1001127453b56e71bbd635532c8b49d57d648f93084e0ec3528087bbf1284cbbd429ee0cffe0fb063554cae3756eb7713ddd9d39701cf5f16746711fa77df7d779f268ac3d5b4ceabece39212cdefd9d34b563593f32d3dbe51ef64b3df859f9ca621bac9871f6da4da0260d0233b34643eb045437611f0f1532eed3aabeb72f58d4e52f86128d4b28b833634ef9438e85cd247c3d0909ef1c168b6f04f1a1ffb0980cedb00f9acc737ba63b563b5f34a0eec35d83ea6dffb9520b44f1693bdb7178787f41c34a3dd0e11b8eed344df4db473c9d1aaabe6163d35908a0abf4a088da8ba2285df6320421f73c5000c3f986d223d37f6d91da3884c8c214a56fd2eb546577e7ab8ca25344c760347af3a573ebacbcb39e2b0927b30d1d972396e47affe1c14badcb1120421dab12a0f775eb546669d76b9d760dbcbec84c2521bfe5cee584d4c5a538f43f5e8957ef6ed193d107b0d8ad8c4f0bde5958a62fd6ee2f930f1f4d363daf669e224e4951136e53957b34886c6777e5645684a435b695596924943eb01daa110ad34fc09041ad365783a5deab315ded0ac61b602c3e0f3c425fdf0d91a1fc8e2e0c3a487adf044e82185afc7cf2e3e9a86f864539266a35a3a23d0e33fcdf96c88d4d0f8131f43438f9f94a4470fb063e55e8883b66325083baff61a6c2decfd6af6cc5262efed1e19d7f51c3c6debbbfdcf085cf769a2ef26befdf6dbf6a6ca178f2babd4042dd1217aa257d9e0bb6c2f038b2e2034c42778101fd9d1b962888feca5c29c596d3dc987a6902d747389491c7f05e04c5b3198239b219c6429ccbdf03b563b56931b11fab5edbcda6b503eecfdcafe39416881581a6dd4f838b3ed0fecc06f292582de79f52ce7d5fe6e6249bef6d7fd77139de59470facedb5a90d62d4253cfe11b45cf1a46e390ad7ec2ef9d0f9360676c27e1f3df82b2a4874ecf8a4916bf36e776f8d164f9c0163d30a33367e2a73f3ff15da259419342e7c368c8163f21611ed93effcfe5c8628c2c7ac76ac76a7263e79508c807ab6caf419b43fb86de96b2f72b59d1d66a8f3d6faba7ceda6903d9b1120df179a8cfc1b9e39b98085cf769a2ef26faba8094b5e9dbdd4adf5edad0d6f3305d5e6200e4baa1793574895ef92bcd1070f88c0e9ea1cce901b29b6c76e1d36c283dc33fabfce579e1ca8f5e7d089c36f4985b6d0d13203ff3e770394ad21366f52dfc1a1c9cf572c74a40ba473b5697711013a9b8f36aafc1d96a666bdafbd5dedbd7674d74cf974bfe7dc6cafbc0fe6ea21bb1b6eb3e4d944fda9c91d87ad0a617df3901c2a5245bf943f700abee8184afee9900250e8f1f6d68e8399f532c1aad07c0e7090efdd9ca87388668181fc6b7314a0f4cfc3cc4193d6906a60d6d481bd9f838cd1d86ada15dd26394a0363ee087213efe606a83d9b12ab662b26325083bafca07ebe8b402f71a3cefb17bbfda7bbbb5607fb03aec935607faba9e833cdfed1081eb3e4df46f3a7ff8c31f9685d2d1c4daa4e4a55a67687c4bb769cf50791c1f3d80f448f4e14cbc2e6199e839117ee8f4e45282f501c6bd511e3e8598630b013cfeac7cb0f13f3d7399fec0ab48fcd556fa77ac76ac2679765eb59a0e0b67afc1c252bfee21383b5696cfdedb678d148a6252c278c4ac7becb31cabfdddc475a5475ff769e29cb1c9c2393333b1de63dacb60109a346dce0805133e021fddf7fc0290c5093f7c43e11381b124c2a05b0f2e934d0f8096457a661fa1a73503864f0a26ffd1b57c06e0099d00d91d3e6d31f5cd250ef1f4c7a7df285ac38fd8b1dab1da79b5d7a0bd62ef57f655cdde18514cecdb089cbdb71787e7ed39d88372f71381eb3e4decdf746ec79fcac92310c70ca5b8058f8fc0a98faf8f53250763532828e103c42138f8386391d4019f9ef1c165f4813f3ae3539b0fc0d94a70fc5ffdcc62fe03af986ccd4cf3762e2368a6c15026e8411b1a3d691ebed138ab0f693ecc3d3d830f43368bf50c05d0e3e877ac8a4961d9b112879d577b0d4a83bd5fcd9e8cd87b7b0fa9f687799ab452309f56acbc33ecef268ae7daaefb34b13ac3bb4e5392469da5210cf52e68482685c18c1f5e6275c6066f11a2f568f8cef0d20336787ca3944076560763347cfc7c4037946cfaa9c2d4d289880f03bfeaf1a41c1f58cc4f187c7613d78fdd15830f93034c0c86fee280c0cf4f04240ccdf8f484c18c8fa9d1990fe3f38ed58e95c49024fa9d57e2b0d7a04cb03fac71d8fbd5ac91d987f7deee69224f344439f3ec3c07f9b3db2102d77d9a38df4d34ab1e57d53a5da20fccf27230138be123306d73372a94ca0d0d3e0d2e4724e5e9b106c60748f42047fff011e15759346676cd0501c656f38abfe2e3a773c5acb4d12e270e2ec7cf61667a2e49d5869fdd99b8d10153b86325203b563bafa4c1acdfa1117b0d4e6e88c6d03b5625c6dedb7bbecc33f1de9e83fbbb89d6e3a15df76962e761a624a5d096566bccd9867da73cc3476886e67d0e7d3833234b8fa20726bccb91c541e310d460b2955a193c2246d13830b3f7e51b712dbb305dd6aff895369add60745696b11e3f3d44f27ff0f8acc3c0a3c327eb327fb80abf63b563b5f3ca4258d7dd4acf9a42683b5682b0c667a50dedfdca7e724a94c76d8dcf4a1bdfb17a3663f5f8d6edff3f8ac0759f26cedf4d341b55915ee9a324aa3672596174c9b75ca7864b56bec674a995bec447e1f0d3191f73bd44a7077ff4e70f4e65193e4c52e97c9289712962e635b2e921dedc698b73e8f147647cc89fd179c0acfc1dab1dab434695e7879c71591e4e3e933a60765e954b3b5622a0edbc12011becac8bd9a88bccdedb4b929e41f7132bb5fbfe6ee27975feb2bbeed3c47268cec62c2ab494aa18f2de0f80965e08fcd61ebe6589535fdde6922c8046646461a2010c5112416af8c9a65f9f3f9864d1082d977010f682bcca568030c1c6075670d29994def91f66fcce02d380369a938dea0d118f30946f2e35f40ccd7c611241d0865f94ea77ac0467c74af2ecbc3aafa147ff1685752120da5e83c2b2f72b9ba7d6322931ca16747c7bc8dedb7ba29d43f56cc5aa5bb6fb89c0759f26aeffa673754c9937b41434554c3d3a026dd1c2cce584238cd1eaa1b4b59ec3f43c00b3158641188a8f484380f8abb6191dcda95dfd09939451c4e89979e164221f681bcd3996e0e08de234942d97f970c060a63c62f4cc254e6df573a5731866c7ea71a81e6545f774c7aab094873bafd6f5d83add6bb038ecfdaabd62fabdb77ba6acebc54e22388565a264f90c1360c5e3e3dc9e57fbbb89edcf6b7fdda7899d75b9f76a9dce78d03229ba79ca094c0d2163a2cb952ed1ce00f011320cb3da0b1e1fb3a1392304185b30ebf99ca1b6f8f8239b1ea3e91c2b6337ffc7077c1c9744d28f6e5e3460ba1c1f5849334283d7af7897a4e0d3b963251aa748ed589d736ce795c52219f61a148442b1f72b71b04becbdbd38940fe54631912a1e3af30c7a60b132bbddd6085cf769a2ef2696b5156726562a77598a7b0a4ae82abfea33cf83c11bea3241e91e1e73a5c3a767fad113a7b066144d4ffe8c9e00f1c72e62f8c98e3f974e42865f31599fc9a66dfa0c8d0fe3334053ceca888f36fc642fdd4870d5b9d2e1d333fdd88d937b1945ef589575f53b5613879d577b0dcefeb3f7abd9d523ca8dcb356274c7ea3dc74a45b1bf9b7888de6fbdfcf2cb07d67bb87cf7dd770f522b07dd65c45dfa77de7927d81097526fbcf1c69ffff99ffbc7fa7aa7f9c0074e25af354304fdc10f7ef017bff805af3ef4a10fb9444356a3a00307084ff0e73fff39f0db6fbf4d0afdd18f7e7405a00fcff2ec12d168268860f7673ffbd999f7217ad260882c3e9d9cc4948b7c58f9983c21923f889ffef4a72a06789e1ba5d3e2b769e61b8bf8def3d2894f3fa9dce8fd2ffdf49045d3b663259e3b56cf615e7df39bdf7cf3cd37bff7bdef591a3ff8c10ffefddc5e7ffdf5d75e7bedadb7defaed73db6b5004da43f67e250e6de37b6f2f2b7a30a11ff673d003e2231ff988a7b3e6691ea1970ff508184dcdf0ca2baf7ce6339f09a6bfb1a5a7a1a123f4efa18d27640ff45c229e627b08a789b2b6faa9deaa2e40f808ccdeb71a6d284cc73601a2e32798acbed759436170d02b6600862e31e93774e90fc7e2af987c889fd1d5ff66a107c86eb2e33f2b61d2b3f2737b34105f6d5198aad180a3ad7a0eb68cae717039a1b88c83d14c1f7476b9060767bdcc9f1dab89ed1a9c1d2b11b84b5e7de31bdff8c4273ee10100ef8147448a46e0fcc99ffc89e7dfe4d8ba2ed0907b0db6f6cbb795deb12a26fac2b2f72ba1b8dcffd79c799663b5bf9be8ee1cda757f37d1c180746c4ae8ea9e38f552b3f3b3c1cca6e63c6fad937a065be1f83035b21e0f9468f8e8f861e8c487c144f7f0ee4983337a0ca103ebe1db47d01a3f1347a701273c3e3a3c9ae6ce081945e3234865110143c3c40147331a6cc7aa689ca3f2f063e520c47ea70cd29c3aeb65b8736804fe7398579d8838039000681140f72a2f568d1ada6b5010f67e25087b6ff740a979d6f41c1113b9818e8f463cb05899ce6e87085cfd69a2c79eac6d739fb2c965b4d9aeb5e0f01329c561e28f1e7c9ce90314386a2b285759b4a7cef06f91cd444ad24f6dae125f7d468f3ff1e7324ff469309a2c006673c999c10c7294ac3aa381494122b4f4201239f0474f9aa74ff0247f9e576eacb2e81dab32448810e7509d72e0e9c6ea3ffee33f7ef8c31f52eec30e6b242bd1be7ef0e52f7ff9d39ffef49a0301eabb9bb9a47f1879f5ad6f7deb631ffb98bad08cd485d5887d43c3acbff0852fa0dd826282133d791e7f2e275c0f3256cdae5b3ffb493335542876ac84625dbfe586e088cc8e551198fe8a62a5f6dddf4d6c0798feba4f13dbc8dc5784667d7aef3137d9a99f772075c94c387e7b9f9e6c431679ef46f4c0af676f83a136fd30c94262ea873fb2f930beb964223c8b49e935fc38f9ef7298f86ce1ccbc5cf20d20b7d183618b5786e8c18744e7cf8ac1d776ac1e76ac24830f587feff77eef939ffce4effffeeffbbcf5539ffa145aefd237f1fa6ecd739557d65199af22b422aa0bf5359cd68e98ec35281482b0f72b11d87bbba5a13d27cfc126bbfb3502d77d9a387f37b1dd7f26668f435707202c75551162e563e2e09345d813e1d1112b189dfe7a4a46169d547af4710e3d0d60e9ccab2e9fc4c1cfe7fc89ceeeb807933f11f1615659f4cc6ba58b068e96485eb9ccd6813ff365d1d0e81c674689d1bcaacf67cc89cc6174a201393e149ce174994b83771947bf637519ab7ffaa77f52fd888c93b373a84e5511c28d70a2f6bbbffbbbf868ad7b34b712a67b14111fc6e5c4193d39b0d2b4b9ac2532f73459432b1f1387148b88d139ce0cd8e8217346168695c3e8e449a3fa6f7ffbdb0e509da78a83b9d753aba11daffa0518a938d99df9f2271a1f31ee013fc8589957a198e8ad9199d8ee5895273b56e5c9af5c83579157fbbb89adebb5bfeed3c4b6efd66ae76ae62659bdf7f4147189ee59384b1a00bf3383a1c353d83b133e0e9a141a9f7e7dfc64298119becb568b3efe70468f0d05be7d96aa7c4e271a916c3ebba4213acdecd21c0cbea7b24bfcb6aa7cce4ffde0d19a517ae8cc2e822cfdf8686d6c05a3331f9aefd0e1298427859f5d52687cfaf5f193058319becb66a48f3f1c3ad3b363550c2732bf6eac9c1796f90895105aaf467449a76fe3352ace93274c3cd4bc325ff1347735a2695629ba448b86cfe5cb43495b9c5b0b2e8dceba784e62b5d7a09bbef72b41680f9f7c784ef67613df6d8dc0759f26f67713cdc7929e679ecc46b7bf1b8a0f20c5edf2383d18d061e2f76c88c6478ccee2159eb62e53828e3ff8b19e0fc3cfeee844e08c6fa95deda6275be8c0fa9576b9ce258bf586662e291ff0f830334a2700e41a8711d9b1baba58394d94003e5c76131543a55335a2becf9d01bae9fa079f57fff00fffe0bb89ca41492e02d5cd261efda52f7da9ea591c66cd1634186d8dcf4a1bda6bb03d67f699353e2bbd63d5de2b263b5622d0b346560c5d58c4e77d5c836ae2fddd4437656dd77d9a28cf3cbfdd5759d566dd79151a67ceb1603a2f99995baee1f1312f693af1e52b64f4e84768f1f5e5f4e0d91d1f24fdf84664d5936fe9415382261b263fe9c987e612ad870726821e9dd965313e4cbee1d093fe1d2b112bce62f2e063e577cd4a1ff590bbaf37f79a0820309fabbc6a2516877a9c222313c4aa35b2d7a008c8106df616d9b2f7abd6cbdedb25867c1087738e3cc0e7609be4eed7085cf769e24b2fbde43040f5634a96b1ed1e217d71ba2ca7154c5313d8048daefc115995a0b55421683b331ebdf74467258571063f22b9d4684c78443ee458fc3cd4afbeb537858f1e11b0a11b1a7f063f3a71520b33e662267569d7e88ed5f5c6ca5f90eecb76168862b13333d371a3d17d37d1d1dae4cce4d243cdab7ee9ecbb899dad0a459f3b1790175e78a14fe12da5cbb5306b76af41c19945b1632514d3ca0d97d6d4611109da8ed5040af12cc76a7f3771bd53d1d77d9ad8fbae9cd33a93439858ef7cd130b3efc3cc1ac66ff7b7a4d12715e727045944a99c7e001ac8b6451ac2f75845d0800648243df85aefdf27a5cb771069189d3410271b9eddf4e30f66c5075b7d46a79f2d52a922db1ce1e30c1f67f011383b566b941e4cac4aa172405d88904b7396a65aea2f05365fa30f3eaffc5b44a6b956cca2212616426131bad760db823888067add7ff67e2520c2a2edbdbd38d8646405daee81b6991422f455c7aad9ed7e2270dda789f3dd4485912949d3b2b6dd1f47fa1a2a65a361aaa2a6961ad90852f03d356788da74ead3b0ea4c446f543fede00f9de9c10f937eaa4630e58d0e3f7f926d68850d787c6e747a8099c84aef5809cb44297a8dcf4a5f5dacfcdd440fb3be9b68222a218767084da9e41f98322461b4e724af7c37d13f6b69fad6da9cadba2c2cfe6ea2b09ca2b37c8680de6bb01def1c9847dbc8c464c74a04c467dd9fed273b56f3382b1462b2ee9fb3e73c9bb152e3eeef2676e3a6bfeed3c4c93f0b55f3a49782b3af75c6868f8936e7f2d2bbb2ac45c3cb097c181c7c4c340df846d1458a866898a927d24f4443c320c07a174793cd2e229df9c656fa331d862011fc083dbe7e64111a8cc607b451b6c29c074f3fe57169341f660841ca68526176ac1e70ac7ca0ecfb766eb7ea478da845e8e5985143e56499734eabff6d5e51a202d397e734cbe172f237ba065991f0ce0b6f5f83fd359c6a441e8a4935a29814ab96c9ff660d72406c9dd4def31af4499979f1bcbbc90d73410bcbdeaf64a038484b3129e7c5a4f808d18e9568943962b263d50adafd1a81eb3e4df47713dbe86d016625c57b3e45e0e0a311f8d6801dc19288af8f46b46584091c66645d1e1a916ce18fcec1b33bca573a1f12893fa329cc0ae660467fb24d0d00d174e28f0f6970891f7d1913fc550f004e3a11c561c7aa985c45acdcbb0a1df71dadfff77fff77d58ff333bd02c22c348591de92f9f8c73fee2e97ae9357fd9b7e77cf2baa7ef4a31fb1cb22cd08b6ca2b75126ddc60c85ff9f667bdf9f014f38acf6fbdf5d68f7ffc6359ea2b98ecb2c2844b161d06f8f265dfbc3c4dfb9cdb7efaed97ce97df4d140dcefbbb89746aad8544f4c533420fc0c4ac1ddafef33fffd36455a8a64f154f00b222f8b4f1c7df36e792277182a37cf4ac7c34c0edb152149a3e851a738c9a6c8e9115799ed02326fe54a429e4399dee143a0e7a6c953386b4956ebe98c5617a9c5f37566cf19086748e0f279367fdf8d1f9098fc0c9e72ef379f8e3ffa5cef4134f2d9121d239b2195d7bc87cc01c3f07bfc667a5f32191f8339ac24c600e66f427bbce71c74a70de9758edef2696a86bffe873a8957545b453045b702baaf3b3e8d2cb52b7f0606c9733a9966efc59968dc21347d7db2046cfe4abd168043c4c765da6d35301008dcf2e2291d9b6ecec9e9af68551153ea39808187a60f22140ee19458099577ac23717fc910dd3dcc737e0f139bae9d01966c7ea1a63f5faebafab0bad05e542b5a0bbdf3fb5328f288421f75755d1f19b54514fa869fa9ea24fa2fda19cbbe4d51b6fbca13c2a73e89487d4aa844a54a6a9955d3433f1939ffce49ffff99ffdeb2f7ff4477f24b646c1246171d6cbbd54192ac911c4f5e57ffc3074bef6da6b1cc064d43251fcb19266e2ca351bfd9b6fbe49966362d2100c24298dcf46c5215a5f0432ea12017fcb1a34fabdef7d4f9d0ac328af44bbba9072ad383361fab602044f38200e94b3fe1ef62b75b07ad48f934c9051a6b9ca10eb9a69b28b23f8dc634532fcebbffe2be6ef9c1b0fc72e18bc7b4d49776def5762b2e6e18e55cb411c0a8b948bc079c0b132b5dd0e11b8eed344df4db4159a523baf242ea727b34be86a32b0127dc5ccd3852c7af400bb0cbff2571a26fdebe2c1ccdc8db29801660506ce6e438341189dfe30bb4c13890fb9ea4cc92db60eda2077ac0e311493c98735679ec158553aa8184a27854235904b34875d76a618b1f6ca08988a09a5de64ce8d792520dffffef79514ea12e62c076db535dad2c9740e58a74a3161fcc33ffc4398359e3480b1cb227a628ee972e52b6bfee55ffe8542e24a2e7a46ff4a6372a946c3673ffb593a9d263a66d3260e6bacbef8c52faa2fa9258b5f1022d69e87007c4098913294429c66cde2aa334339839f3ff0ca71f41a8168c87100ad35774cbe2949d5c7e62eecf3254b6a27cec02cf20431fc68aa844e9dea07dde866912d97f99cad35fe053f8000228804ee1e35447008a3594c1b3c5bd383697120579d29317ae0e3646bd5b3fa9f3f609716f93ffc755e984d8d9e95bfd230c567b58599b96cadf8140658e785b3637519e76ef793ee75611c0c02727ada26a3a2e1b5e883ce94183df0719e9457d6b56dd0fe663511d76b2e8920f4162f8ce66ded6b5ffbda57bef2153000fda1599b388622a2c384d75fb6cce19f0c9fdb4a63f00167fc89533f4cc4536cd7fddd448170b3ed80085932bd9c407ba5c68c1f267e9ce1bb6df8d6f9aaa7d7714a64247e79d9bea087c7497f3a339d4e2e69e874ead1e941c01b254b4443a73f3d2e47a187f15ca2f3418fce07c834ebd36914d38c60b285660b7f6c210c4d9fb9e6127fc7ea1a6365db722bab96f88f764f6d4f36b52e23baef46bb74c7ab33f47d6c6a48c32fdfd6bc92545ffffad7d52b9d8ad9aae4e1d84264bd3efde85abb18271dc231b466a07cfb956bd0299af254a9e748cc26de41699ed33f53cb562eb1858fe39c959fa2511fde1c119081ab11315dcea2439bf25ca23d18fef66fff1687c3febd6c0a339127e944639aaf39660b8d005623927df5d5570f11c8ee93d6a0b97ff7bbdff59b24b31679d51eeb1a3c0f9b853e25ac77df716030cfd8df729ea84c77acdbb92941ee69cd9757681eba177ab4bb8f46d060345b81f1db67bacc2efa10abf2478f4f279896667d3ad3c343986c352ffcb18530343d25e827c56a45de25af9a0b291e72293f594f7fb6329d66182d3cd91dab87172bb77bb74304aefe34d17a96a9ad618bd62eb3d2cdd66ac75f67de3ab7e02f6553023c7b443af1078f06c087c144d3b3d2f4c7197fc2e4dbd0a367e51bcdf4a57e435a7c7d97c9e67682f989be445ece979264d39654f4e80798b90f9edd11ccae2116e30f1e263ecc8e9550fc2662a58cb0101c3255af941b55272c6af8faca297c446e54d39c21ff47fde1ab6c61700e79e5284ba106a3585120560925a822c9ae4ba6c76e7498158fa3d4eb3072f204b374ba31af7c78ea8366eed17998e3612e33afbcca2e9f69e03ca3f8b9b4ea79f1c5177dc731be3582480f7388f2d607d93ffce10f69f041ed650488345f16132fb6455b9ff2bc52ab51a2d024b2c6390c8bf8d1b47de73bdf5145f50f525fc639a3c0d945147f7c7ad639e60998e34ca932f36a4fd8fb5571d8fb5539f9dceeed5e05f769629bcff4d77d9a68f76c4f371f8f49bbb9bd0f07dd0c6dc11abe1ee77c757a3f86c1b41206dfae8aef1d31244eefa32ee3c3d3a00f93896cb5e7a28dc61f8b5dd200830edf281f58193d83a1bfb9184d67f8ecd283dffb373ea934e4034c9c3086f0c176ac1e76ac248c7b5d0de48e1fea926a08b964083d9544f872d2f19beae7c6bcf231ab53402752554865233dc4d16a9132d065faa79ac9a5f8d9d26b7e81a154bae31a7490c62bbf4a615156136f5d6474666d94f546c79f461dc811b13661060f895e63250e4f5a830a446e38cceb636b7ac4d0dc29d12602f9404f9c30ace0834dac8ab37359d6592cfe60009ab0e8bb74806a452b288998023dc596e6e86429c741eb09c2a06f8c95b0fbba24bbacc0ecfd4afc45581cc45cdf1e2b865ab1ddb11213b92420cf43acce777e77ff2302577f9ae8d92683ade4f2b8a53e9cf8316d8bb2dcec078c6e3bc6c774394ae2a4a7800d1d66341f74e2af86569a2073e1d3a90f8fc822bcad2a13ab6fa36798691885ab9e30e90990b76b4fdc5098951f73cc3534b6c64fc438b96375c881627b9fb1729a6821aca955bdc2071543b4fb550da1a458f91534986a205f1c74c7f37f26a542f2b9addf5e844c0f7c9aab57a6276b280cbbc38f49794a0cc1a87e1cce95ae651171fc7100de23caec94a70069338ad0a73f4fe6326235347475f0e0216bf4f8794d390f8c38ac41070c0a650e388f244283be8974399322de5098db63a5f2a350d8c1084e3f6b10c73f1ec3aed3506ab531cd6797e2a06c0513469726a80a245e64066328ceccdd816222cd970998034d2d550d19ad8541e3471f6235fc04e7e6263e0a573d61f67eb563f52ce4d53e4d6ca9aefd759f26da6bdacbf466e5d2fb9f5dde7a9b1ed390878d6d0b5f436322c2b79dd1803fa1717a410340fcace08c2c7acee7c05c92a5733c41e3f0275b8dda0a5d6a64711061f09385a7e1c0a77cde6b799bcec4a3e107835fc3a1b359e3c0348bf1906c98e9b3bb637575b1526f396c73dae7c3449f4e2214016a02f75aaf98a8af6e40ab4e349fade8c3ab1b141cea8c5265f2cac9531552cba4511a14467a97d51f0ca923b9a1d1a9acc11746187d76e94c0a33fd0ad0f2f6496b10cc87c5464da159d08649619a65389dea2d164dc72cccdd8c72200ff5e1d3c055975a2b146116dc78d21a24ae4e6505a0f9368b04f5e9173db52c1ffc5adcbd1004868a40f889153c4f5c1af517854c872737ae419ff22bfb80c70a59dac83697cf7dee739ffffce7cd972db7de4f6afc5ec72dd013b93156b9e1b622d825982745a3fb12addffb9518ba353b56f2c473412f2b04e4013f07ddebdd0e11b8eed344ffa6b3cdb12949df1e36b3b05db6dfd9ecca6f1ca3b3334af7442628ab6cc8d4ea7b4890c5874f092291d13c6e2432f811193eced0d91a8b075bc90223b46c8df3a3c450982685464c9fe049fe0c0b93f33821113b566b0caf2856ea89ee1d9f3dec7da0e9cb764a8a8a8caa8a9216ad8e7188a528c40126a25559d233f943a11f3df8bd0530a90a942a95b5771447565d2274aa2504cd52cb7bb94f7b29a49ca17ca004008d8950cf296b4ee61fb735277dceab90627daa5e28b20423f42a33a5218b34f34ac96846a6408f320b67f02382993f38d12fbef8223f3149e94d64d6e03ffee33f8a0013340313d19a05300252896c220c718375ee71c0a53f1b5404f22dc1b382935d4cb482b280ebcbbdee23da07fd14aa3ec1e8cc5ce27a352224df32379ea78775dfe634a401bb4cd0252441770d9395ac37e52210128d18fe4a676b2cd266f4204b303df443eefdea905762527ce2ef58953fd39778f79f57fb34b1545cfbeb3e4db423b7d8da92f4113df9d0f62fb41d2a9833bcd6a421ef43ed6e86f04f928fcfff0a10a938f58777a93064f1a369a66774628e061874b07ccb1f1c5221e77c918674b24b2a5978bb2dd9f67452a30767f0cd17387c9e47c323d89a4945a4079d2c8bc176acae2b56ca052585dba7770755211aa2bbac38989c89af7c71ebe1dd773ba39e603596891394574efba49612ad2ae754713cfe6e1c0cba22af51489aa9ca1345aa92b14f54b3085f485527381a07803377b906e1394039cf81c1e093e55e79ebfccc591a5b2e318dfad623bcb9686abbf0c90220b4b4e58f4b18bd505cae413f5ba1900fb4c137537d52f498e31ffcc11f98a68ad0a5e98ba149d1a6ee54c21a021ed98ce6805e732380612ed7209dee42301334af5441d253d9dafdc5a7247a7aa60b4bb14a369ab81999affb8e5f6446437b0ebe167e42970f9097b162173f59789e93d553426af4e0c060c2b7e70087cff3687844b0fa46d333b22c06e30f2bf81afd332ffc9894248b98991a72099f6cfee368d4e627dae88ed57312abf3cddfddff88c0759f26f66f3adb112ce3a6656d4723ac794cbb524c598e2ed757fec4030c4d3c62e838a9259eb974ae9a573a5b340c7eacc4ec327fdad1e85f7d4bc3aa3391f8d363e60fce210e86f25c1c9e846952acec583db058f9e9837beaac7dea24f930558ed34467546a1a19784b5ef9b8d9a793c015529055392e1122e6448ace9ecae5124c491bc1079909a028c9937cc8289a1e47714ed4e29045742f3c983990f52ce686b20900ad46345aeab622d6f512877e5facd4279b153d25d1f9f3a52f7d29b5a4e2b7361d67aa41796814b2a168bd2a9903cab5a241f6c63568fa0ef6f2392be34c8e2967a93aac41b5a67f875a64e867b7588d20e61ffff11f13295639163dbd515f6de43ca90cd5e7bff25a0eb0d24ccb84c314527b888939e2b372e0d3b0c67f64477ff827ed45e9a481db4fc2300a160671b0b8fa9327f99088bec8c49c280d927876e3d4635e5ac1a164f029ac5f7d0880bf637545b1b25379bbb3beac1a374eafb50611eea64504a3d93ff7df4d5c93ff99a67be76b7da223da732dfb2e3d7266b732197cbb000c3ea246362980d1d90ad76352e57d140def922c3c266de830d1d982e9fd75f039d32e33be6537ccbcefc28cce6ce9c3a4c4a5963f71f219c6253acfc39cb1a76ee6159de08ed5838c950a4032d8d4dc6b95c1e9f69fab0d37bd5dcfa51cd3df985798ced2942fe5243d94a0ed95696b338dbe25af143a44ecaaec5693556f89399dac28a1f2014dcfacc17ffbb77f735647308bedd1cc69684a1440fca7567bd21a84b494e82c0e90c48b839e0f5d76fe571c660d8a928fadfbcc1798ac7e8d6735a2e3c0c99fe2400f303a7e5f8c3111e25afab38b4640363a7b827999a0f348112032b1a296035a719b5865d76816f5a460d482beafc94f9fec3b5c14312569c79fbd42ecfdaa58099d7b812e07c45f6c319f9457731f070f8cb9f7f6e279bd79e526ee7688c043384d6c65b6a4e568cbd53ce3b78ce3e318d5c78429a72728038e333a5da67674da44a2871f01997e9a694bff93f4e08fc22ce627da324b0343d181d3a9ef09313e0c31b2ab3f291f7388d1d9d0ea463ee08cc530cd255abf632508cf6cac54788ec1baadfcacd2ca61b4ba4115c2f9f1ff32af68f0c5442505a96a1ae0d1237f7c9f0f5fc9f22bf30ac0b9a032059edd7a82346b743a959cca75f2ca1fb256a4e26717323768402b77284c8a7e9c3216113d33226e229837eac999175e78a1ef50064ba19354ffbc0d43a96aeeacf31c8df04b11523e9427b506c1e5617de583ca2c730088fc69527e637e58832ad7575f7d55919a45221abb11d12eddcab9cb7cc8aed189098c1af4c6fdca4434e26bac92bdd4137f7512c71432149e9ebd5f15a2c9073111a81d2b11b8313fe33f3b79e58c709f269ef27569d7fddd44ef7cb627eb50fe7917ac72c241eb4d133f260c4e787cbb9bf7ef865ce2a7048d4fcaa5460f8e163db6da0af1b35b8a67379a7e3acfa28f648900e3d0097356ff483f7efea4304c34a999174e3a573d981a0c85f8f980339868a3cd3dd8e80caf0f56406070c2e3ef581596ab8b15b79508eeb59b582d32bd5bacbe695e466fccab0ea894111534239b36e50bcd9877c92b22a2a758914b653b4ebef1048da9262b395d32ed1b81dc83cf2ee6788280ec302c599edcbe06edfb767f52338b6aaf7452221a976bb00824a507d35a59f488c0d488f87c80315a9e0cb2f81ba25fe5a7cf280de96c8e3946bc9b62c839229fab83d758a599124852fef8b62f18f8c51267b205401ccd1304a36856c49f42979dd1e230b7f7ab3556c55fdc0ab2b8dd9e57c9ba11048984c78c9f12712e9106139f147cb71be7c635984edac8de9857f846efb20633044c4f78caf36df5215b86f89c721c7ee268d1e59551820f2f56cd74f76b041ec869a294b59ef5e6d6c246b894c4ed862ea3e30793f4127df02ef1e1f5e888d10cb6e20fb688d4563c4e970dad3ae3e4f3a56346b335fe23307309316ac78d0843f9d9ac9bda8ac9627d60bd0633b65c5ebab4ce1dc0a57ec7ea998d55df4d741ac7c34a108511ba1acb19a12a47d1704b5efddddffd9d2fff4dca5557a95768437fe10b5f5097488335a36ec92b3f46f1830cfed0b0ba943f0cf954541d3379e52cd3770a7d661a98c5ec0ede147cda6b9451fdda24f37885efd2819feff9397d24be3a6034cdbe9b6828b03e9d7ff3377f43309f592f1489c338ffabde5ad717be46dc440e6bd0b3d9a357d9377359ef0bdffa1a625294b835fdc120617149aab9234e361e7ffccd1f7cc51f9821e282c68aca980fb3bf8d93c94e7f19ab896753804c1651542f370743d96a08fe96bc1a3d88e8cb58c55f7dcb87f12d136bacd0a406b6ce1ddfa53e4ce6023723fd8a1f25306bc31f3c7e9701569d7142ee5889c375c5ca3adaa789e5f0f4d77d9ad87aee3dac29f5de83afadef6a3361eb7930f650348e51789bf8ec3bbd4b2565c86ad7bb1cd9b29fac66880fd190e30f4efa93656edcc0a701003e5b59497f3074fe40c260c2eb477fb0836f300cad986ce5c3814f03be06b3ba97e6fc0fb3637575b1523a28443459a4ef9eead1ca0837fd96bc72ebd51f5a787d350a2974b50efd34c4f99579a5de9adca62a7ff40ce90db145d5acc11232583ecc2c30cb79d60dd1a091e543f4e51ab4f553d81488d4e8a9f6a2d95c68d0c8e667aace31785419c7a78478a78f15702eefb20695c2ad62561e79f0b882e74937ebb00695ce0c15043d97f43980e00ff7107a77443434977e76e38f4daa71fd3d1d1f9ae3b06888d126e5f29658c1e4e1ea0c5b341832d3bd5f154931d9b17a7879356b73131381eb3e4dfcea57bf6a8bb4cb5bae36b552b6358c19d16637d93cfca4ea21136f3f9d1e7f04d11afc8c1a42db37878f1e3d982ec3affc9586493f3d43234c477fa32c66809957e0ec36341884d17a435af4807102448cce03ffa027f1431c88ec584db427e6ef57acfa6ea264735f2ecf9f7cdfae4f8d278739bce68065e547b2bef7664689ab4e3061106a3e67698a24a338daafcc2b48079cecae7a28ec5295e377bb4e37f347ef6b79f4affe43668b94d77dbfc6187c303eb41e27e6f086e2ab9c58e1b9b2296fcd0b0d8378e185177c95135d0e23287700a9503be0c972c039a208c024521cb28be3126c882e157cdffef6b7e777c798eb7de1a708a83c284967e2383e50168a895571489c6fcd629d0bc130a4008a9279f943dc7cb84bac6026862b3d8eedfd4a58caab353e2bbd63d55a1687eb8a95f5b24f13ddb5b55df769e29cb1cda66cf7343d7b1ca2bdacf7604c1cf801789f6e9d036b72baa1ce45d092bbf7c51492858f3f1843f8c4e3e70f66b2c34f7fcfb0306816e947908d26d8e541276dab2c3c64f3c2e7153c0cbecbf101a63922b4f8303b56cf43aca4875a61aa07e582cbf21921075445b7e4955118783d3c717489a4576d28b9babc635ef950153e1ff4e8d255f543792b655d832539eb791e9e0f554baabd3e710ec687596b93ff66073f7c1af84c5bf372892e3e0815d5610d5a3b9417abe2b0ca367d7c52775c83ec5656d269161c40684d8d9f1a3a9d31cdc54c55964cb352ac78a5f13c59fc545dc60a4739ab344fadcafbf5d75ff71d508668109f27c50aa0790d8695e283207b88d521feb7e415715ec1c3d0e3727ce0e4deafc4a49b75f7bc822f8664c5d625424374a3057974360a3f80620e03acb1db107e60774a4e0e9e2c2b2ef10703894f3c7efe60263bfcf4b3851f06fd0ce615cf775b2370dda789fdddc4e6d3ba5a699c2ee56eebc7255ab24a539cd60fe6c8c6874970302b7ec594f7e1670da450bfeacfee8db608c6876905e66d22cd2213f9930307fd2e073344cca4668ed95a7d6bade26b64b31ebd637519b7eec8331e2b7f4d4641e07b75d5135557539da83c7c06aa369a5491036b5e91f5d540ffee9c69568ea4c125c2b7e868c02f730eb904a315b73556fe3913c5627a4a33b40228fc97bffce5cef37203d8a8226930d2726807630aa064efb8061dafaad24483b9aa43443a4dc44fad470f26f738e300b26ff82535716057f404076c9d3b8513cf2162d209e907d7cd68f5616811484a0f8fafa139a6f7a9749531e6a5ff67ece9d61493e6b5d2394f15c29fc871239a6ffe779bd6b96497daee2362f63d82f1f3b31e279154a1719af59a5798da0133604369e3c9d80dbffad6e849d163fcd07ccbdc010f30fe07ceb7e1875f31c527df76acd6f8acf41a9f950ed38d8e166a9730933f073dc3877177ea492572c819b2bfa1bcdaa7892d90b5bfeed3c4f2ccbb8e8c4197494d2f4e49a6efbd27bccbd923c8ba1c3d32351aa119d260d007cc79fcd13b378c7723d6473f0e9a0f08fd647c189cecb600c6073a573fd309a3a18d2268e83d2c9a7eed843863665e30387c38e864abc8ec583df858b9f57243ad502644ebcb8153c6dc9a570ecc94141afcd41f681ca789ef21af949e64ab5db8313ae3d0996f34cb5bd6a78acd73de86d46be536f0acbbd60b3e7c0d3d6b9048cc6a2c773f0e97682e56e99c35c843f38587d1d090089cacb89c7584d6f8707b5ef54170d6e979ece969472a0294608e0f01fa818b5fedac7533ff819bc5c9f6e397db953f7400b535437e45debfeff2a4580183315d6cf77e3539d6ed58f36ac7eaee6bf05a62d55ddefd44e0b75e7ef9e5b978cf84adf320bb72d05d46dca5b799061be252ca5fe5fdcbbffc4b8f137f1ac328a46dbd3386767634af6cbeb63c18398ae372f63e22bea1d53e0b196d340c7e0a71d0f5303199d0ec17f8acd3dfde41274eeb815d18a394f3138dd0a361728c4b684c6af3131fcc259d88c4d17ca01c121e1f0c5d4337975987f004294c7ffea7131fb859e0d380b363f5c0625505505521df3ce9e5467985567674df9f9457d2435537b9214328215ed585efa34c39f36be595efd81121cb133d59312ff7f48e27f1670d3afc33ca0d0d015ff2eb29714aca734ced8e6b9042fe97e7e6422d5916d1f43b60cb9c9ee616945a8d3fa46ae6ce7aa1b0060d317d76e1d4dd650d8a00e5f9404f53a3b3d8f2014d4f3ef00dd2255bed2d45c9dc7160f8d3fa2d9e646f8c554c26b4f0a69375e9418a361a28d44cc41000301aa147c3e41897d098a92d56602ed169d6a3d9a21c121e8738ba86362480d90dcf2e07d24f96543af19b9aa1fcc741a793085b97b14a3f3c983679553cf1295f6de1c0c4ccc93be615e53b560f2956aadeb64dc9e0ceea6b6e34e2944c8fbf2e02f9ca2baf58b6c1f4373652c31f3a42ff1e1a0748ddd80f13f114db43384d94a36e98777d5b86d0d85fecef687b8786631481836f6f45c3601a2abfc9b697e1f41e9f1e67030029c18771494fccf4640b87c89c67c0248b193f11fd10f8e30326bc4b444fe2e8f890083d3f11ecea3bdb40441bd5b2ab87a1410b4c2718801e73c7ea7988951bede1579e20648559cb07b4a13ee12d2b2ef32a413d11cdae04a3f784a6a1c73cd9bbe795cf4c097a0093e2093d681cca59b12f73695d83836117001e922c29978a80e64503a9bbac41552f303dc4b5083af3c18c285fd720070a20305bf9598f6388483e10d4c20010a4474f3398860028861e18c471f4edf5c544244d2a6712a1c1bcf031cd1193727a1437383ef2f641f9e73ef7b90e1a31e9e103b58758b112133f5b7922207260f6b4bd5f89ad98eb8557bb635e15377882c9eadda9b95f2ed7bc6ae8047dfcbd4c04a67b8748cfaf9557775f83b7e795f9b2abe78c26f72270668ef171b8fa5063d5ac77bf46e0217c37d13ab100cadde636b92e9be3c31892d97a4b317c04ce252658f894e0c44c367a14b666e819e501f4833fe859959372992c576788f8e81c3e18fe589c396286091026cd8301d8b1128d071f2b3f2b561c481e3581faa034a82ec1f7035edfae9309da8d79a5ecf8fad7bfee534ee012293de82efd2c575973f7bcf229e7fc03cd34e492aa2582b92f7ef18b9e469c49bf1f5bf86c34ff71b8018cd0883851ebecad7961ae798e362fb2f1f52e05a4e3ae55cf04c4f702957deb1a34f4cd6f7ed3b730898f9f00896072788d0073b7e79508f465c7acd0596cd32f02ca3e1148cfc4c1e84c2702e780517af28a365350f9a9ff9800d326ced1398f89a0ad295cc6aad07573cf6a1e85171d93ec1aabcc357db2f979635ee5793d6d61e0b3924e7d56f400b99772b07c1b4fc2b8cc874c8f0fe10f18ccfc1f25086d64a347e1f87300804de89818c70ecabb4c7662d274c6cfe183513b16531b78c7ea10c3df50acf6771365e0a15dfd69a295666f6d561612a2b56769791f42b7d2602c6989a5b5172380bd3fe9d1e9696b4816bd623093cd5634a64b9a7bf70a1fc0100d6cf10a5feb1d311a3f82dd796f4b506f28cdc9d29f157c04d99033bbf8f43747fd60c6370a9b63b23b560f3b56cee7fa5d6db7bb5e7d30659f9c1101fce280989c91270a0ea5183c3e11e00a8ed64be551797bc7bc220e991e343dd55ee9978d74969fadc1d68e6a667c08992c55153a7c461b9a3c6f2de06886d283ce7373a1a18613c193ce56cf428f3a435c7241033ab5f98f4973d1bbfb1aec2f23b2952769d61707d33197d186eebeb0183f079245afb172a37d9c4d0355fe8691025a7d5fe8c69629a0bbfbc4f98f53e8f8a04dacf67e55cc0bceed79b563f5f062d572d8fd1a81eb3e4d7ce9a597ec86764cc96a37afb7bcab8170661f84316d00cbfe801fa9e14f8052357a52921e4cc4c116bba3dfe893e864d31366d5899eb6facfcff8897789ceff8686e972c5a319c29c392675f03f254d3391037ea4869f887ec76a625294dedf58f9d3ca6a02e767aa016b646e53846f16aedf4b8b79c82b877f049d5419a5449f9e6887915a4962e830f7cbbc7af5d557e9f7f52fe2a4a636ca3dff7088df14f719687153a2f92b8398664190e94a1c8279ab183205f4c1d68d6bf0fbdfff7eff3a7376672e88fce957c6994ebfdeafc5b9a1c5195997fc11439534fa8e6bd05f6154a8399e3cccbd092aef8a40b6c41351780fb1cd49b31e7e22fa750df2d0a59345fc828cc816a2783a54164307997462eefd4a102607ee925797716b11a567efed97f15973ecd98cd53e4d94bd8776dda789f3ae2ce1e63ccfee2917270561e69dcf7b39dafa0780d7b729a0db97573d224516a7fd020dace113c444afb668a6df68fa61d03088ce03e2a331138f0fa6258b30c49f00f4b3ab1fd9002ee1678e2ee3e334a938e98ca607465be7b8fa6f0866c7aa389c2275cdb1aa843285b9ef4a0499a05734a8549c17de9e574abace2389a82a242d41743aa5d6d0a748dd1a2bc50a73ca111af82303c9ce2ac064ebb006fb2095daaceb9302d6f07d244d27256b0e3f690dfab91b29b3ce2e1f5ca2f568fcd3042ed6207ea390ab2c248e0f919bcb59f4b46c11fa1bd7a0d929820d05ae8643e795595440e3d0d91a54587fe31bdff039b57f35f1effffeeffffaafff5aefef04f9ab3adffdee77cd1a98429a1134248bc3071af474f2b3d1266b1690ac27ebfee6894d430b897073d7dc20429b3e3e98d6de8230b4f72b41286e3b564f5a83579457e704dfdd2f2370dda789f37713a5a6fdd1129ddeba6da7d3e39bb1345d39eda7f8987af8a2327897303334b2694e6780ec8e45ce248bcf287a74ae3e0cbed15401d70e3e63364744e62246ff5c1e6ce16b630bbd632508dd9a071cabf5bb89a70c78dcd42548675a8eafaa029f94570a0bc769952fc2a5c248369a129f6c3a691343d9e5f296bcf291a8ef1a3a324c96e6b4a951d0045f7cf145999c1eaaba2ffe45631ca33860fa6ab57afccf7ef6b334fcca35a848fdce77bed30f1229597dc813fd7c3711609a8a4d41e644368bf86c55630905420470eeb2065f7bed35279a7c6822e949895e4d6f88c2d6290fd97298da6f78d758e1bb149ffe6aa3cbc9e1dcd317c6ee8b02cea75b51b80000400049444154f4d1ddbbd5799ef05fed1e934becce5cf2c1657a0ebd5178b6a61df0f8e50362c088d11f3ffdab6c0a8b4313494f4aea679457ab6cfcc15005a04f4f97e1d1f9dfd0e5ec0630dac2948d3b5613b1e259301f46acf669a2e43fb4eb3e4d6c5fb09b372b9b8e6d51cae25bcfe859d5de7dd1c38794d33864119abcef3d9e2a1ae0d36308a75581a0531f3325d16d3786e84c16ad8d6fe879ff86490f26cd68aa4ee8c7fa69c3193c8c21fe640b3f7330e3334e7898911ddff25f3ffec0b0bb63f55063a5f2b0df950092a7845119e0c801b3c6bc3dafd4287e454ba49c5167244bb09ac3c7b8cefc68be3daf9ca239ccf3f92c3df28dc25959f4a02b86284f8fd551b62380b5cc4dadd65c54a84acf7e40dd34e3935dd7a0993a9623cb90a1c9ff7cc0d18c72b298b86c6dd2c66ea6c3e8555471e8e1587fb21b9dcf446e5c830e3efd3bcb4a7322330bdab84d844e11e00fbb33777a04bf98e8c599a0f800a7c1fd1dbb64e19b51a1802c1a3ffad18fc0f2d9d0693e8fbf6fdaa446d6a5061ca16f2e085e151334cde8cb58e10c1e0692e69cc1cf1998f1f949b1226828fff5e30f59769b63feacb142938a0fc92e9a2c424bcf8abf3156cd119e0f2989ce794c1a8a335a1bdfd033f77c388fef58fdf2f3ae2b8a55f76ef76b04aefb34d1bfe96ce76d4fb13ead6db4e9b5d134cf16397e6bde0681bfd2e189cf1e8433f4aa133f5b88a1b318a7ad8a2cfd04c3448f6321472a57577fd05987891ee53833b599d73a9aadec0ed265fa9b0bfe8e55b19d7bf4f06235a789ee7ec745ea0344950adadf525170186dee130144f9d3906f28aa57e04ba16a940401f09d4a4ad732f332af9c233a928454241985478f3f68cc7e34ada845cfba3384f631ab124a459845cee3e70342532dd1ac75a9e77f7a384ca738301760550239b3a0b6d3444c46f564f304cd7fb3436845afbe4bbd7fdc39403124bbe6151f68e09230f2c468fed31fedd2b1a8cbbe0439f17700a9f8307d26d6b865d73723fda5c9268b93b7acb4c671d263fae8946477668def08b3d3c4d5e7e8991198361198396232aa87cf3a4cf449e0d6bc9ad1d56e9acfa27bbffae51adcb1bae7bcb2607d4bb82fbd486c6b5673e94620f416a3a5aa417eed6b5ffbca57be0206a03f346b0da777bc860616a1bf6c99c33f193eb795c6e003cef813a77e9888a7d8aefb34b177387b8dfd115d3ed96e7a8f4418421b45db40617034118cc6d7608c22e247a7b35813494fb268b6e0f5de41130c4396881e0681293fd0088dcee193227be91b59fcf4934513a42a5bf0b9347a5ce6095876938d6f48a367c7aa308a86f83cf85899a364304d79625fd3d0e65ead604ff115374d2de29f8073dee6d8c9999f9c59f3caa5e2c68648762a244c748d1e9fa54a5197ad9762cb90f339ca7d68cba23225bbab3fd952c0f98aa10d975d0e13c497abd1eaa7f216d3145891c9887ca093940f55fdbb8209a69f2c800a5595896622eba7289ccf2fe9198504e9e403647b0225e8d620981939b32488a6273c5a4b4f7fbb07e69057b4f9dc5c042045c0ce5e6cf3014d1bda396bd669cefff6046e8b218046033c82c59a134acaf12756c51f47a38736f1d72b04891481fc770963d66e1fd368f3cd3782f8688446e7f0a912937cbb31560064f77e256e3b5632e44af38adbbb1d2270dda789be9b68a7b32c25a53d7a9d5b4c9cf66efb97a58bd6dbe9f0716022121c3d88c11b4a64f02332fc0326641a0eb6922588d0e6b992f3078501f4f8795e3ffc758ec91a627744102b662e33e7b2b662d6b9af3af181538e48849e158f3f53083f22c33f6076ac8a80b06873efa4cd812ece13ed5f99576a17cd8f91a95516d066a544eb950b7aab46e5e1d6184503bff0c20b1585edf2eeaf2252f9083fe2c912ec16bb442b682854d9288698537ce050c54f8566181aa65e69768a275f8fa327e534a05bcb3353f56be55153408369e30f3e268bcc29b93860468a1bbdb3464d9d147e95ad54c2cf377fb330970e890a80ef2363b290e37f827a7cae16340407e05df2c76f5c9816430de720421b8e21879146cd5a8b33735708a2439a6ffe4fac5cb2e234b73a98e7b4d1a0605576fb405c05694804d6580ded67cece23058ac363f157e615243f337419abe123f247dfa4f4c976992c7ac29eec8a1991865cd6560c9a86b175f03fe5a412a167c5e3e7461148f9f843d5814e76341c6c11876fbee86ced5815932b8a95c5b84f135b0bd35ff769a2156b59da0d6561eb53afe15b9f76c0e17bc735674338f0ad7f1c744a0ca1c3e83b4b48954bdada1dc2e0b8d4d383d0e69d1bf249b60c85b783e45b1ad063287ff0f9894f335acb737d3be6d9e6698e8620cf909393084360f983c044b767b9a47f62e252830f33fc27f99f6f491507348b3b56e2207a62f2ece455df0554d6545bc881081e0e53c5a0a8aa92f021a62481291f26afcccb10be465033a407d35763a1116a3e11501daa2c6594dfbea83bd528592455b690c2e10fcd3ef4a4d671200d4fca2b5bb66288380c309fcb6d1c977a1c8d219794f00100580d24080a359700901a3e1a92c3798289c361b2465dd210c143b242a4a22212be5983e16883347db6946822a04aa39075bfdac1f4e0490a1e416731e143851ab086cf62516a0d9a3bd9d57f744a468f32dacf9fffeaaffeca91aa5fbd7ceb5bdff257c11d610a1ae5fcac9142347734b5ee7b769fb4de8df2d304f77e2574e220203b56e2202bac91f2aafc2f4fd0f2f3da63d5bc76bf46e0ea4f13ed7772b4bd754a28eb7968b3edb2fc9ec98f48840d9a1ea32b1f13a735b0ea19fd03369afe7afc914573e6308a137f7a1af279385de2dfc8c1cf679af9130d8918f7c62bc4d030e894273b34fe8ed529528fefe655c7cadf52290995236654a5527f9ee291a3b053974c2ead79e593656587b5962ae24a8da9bda269c60f80437c68fc2e474aede503651aa8957ec5b91c069eb023303d9bd55e64573da3ff60b74a488fdf8a8e5615a9ded651ee150dbdef2632417f6b81ddbcea125f04c0b489001a9f8974f2271abf1d6390336bf8681852be94a9baf5649d054b09ccba061d492abb9b82a17c1ebb88dcc0ef09dd90f01299981f6225a4825ffd9adbc539d9e61e7f46271a1319e027c56a30133d1cf8ee2f9d9363f898337d982c22864e3655c90e0db3c6ea2c74ea4664b57be0b38bd39d428c9e71669418cdab7afc914573e6308a137f7a1af279385de2dfc8c1dfb1ba3132135b21d260f44f375676897d9a788eee2fbbeb3e4df4fcb0cecb15bba4e58ab6ce4ba068ef3db326e16182cd7b8f246ba76e68765b52642ff711ca4776680424fdacd3936c9e18ca4f44348b7cd3e3e384a7b3890cdfa5a130834768f4e7339a0634eb27ede7b390f49f81a751447a76ac44e3f98995c324775c1951253177dfa562a5cc41c74748d7cede1087bca2ca50350aa42692faf44c1113472fdf02448bf9d44c342b627cd6acaf320396b1e5335a4313d75a47cee49cccb165881e84219af52bed9227653b7e9513117c35227389b8842932131315706baa895fae4111705e4827003d1a5a4fbf9e4e3deb08ad1cc3a9e120b844b658b1eb84921511689730a4a10ffb9527965272f45092e7eca23543679ba75ff3b8d403b0724bac9a0bf0deaf4a0f6177f7a3cbbd95165e21ddb17a4e62d56adafd1a8187709ad83e6b9ddb67cdcde66b55234a6b343e264e7c97c02ec32346367eb2ed1d686d44e81c25ab4e98860670963b09e64fcea473b57b2995ad959f92d9cb72602c66a8cb557f73a107d3a8cb95ce871dabe2f05063d55f6c2943d413d5586a0825c2d42bb222be5a4aede2529b1c5bf3caa7c37e39411093063044b24357b5101f18ccd842f77d4430184a8a3fbe5bb0de0b1c3acb67b4e6ab962ed573398f931244b6100d0d0047e3e1e73fff798f79ff328d39528b939f8dc2bff8e28bce3567d63c69bde0c0eb712c16555d85ddc1e2d9cea9a36ad5cfd03011c54aefd376faa982bfcb1ae42dff7978b2b19c29a61f67ec9ec74f9119d3b95aacd00a74df162db633bba4f44d33becb753f71798849524f8a55b2452fe44ae3e4c3e1bec71c5b9444b382b84bac28840cbfcac6c719bb682dff11e31e0e4338e270423c1e1a40cc603b560f2c56de13f66962193efd759f26ceba9d2d60de050df5fd89f60bb41d07d3ccc32048a1f5f8d198f0c9cafef069886edb02339a4ea3b5f4eb6de8e9c1cf160267ce09c62e66f8645d92350abfea5965d169d3dba1f41caba79f57e8d62dbe063f736cd7a31f33be3e185934597df31a591c6d7cc68fc65ced864f43b4299c4577ac4e6763ef4bac1404ca320769acab1bd40a6e4df708cd2bb931a546f7cbe893f28a367fd5d91e3a950759054a97a327cdf85af91f4785e71ccbc79dfcf141aa510edc3dafd855c53a2d2bbbc8f2937e97f4d7d0d4ce1c117cf6230fa6d5b8eb7c8b463e8355fc21606e59837ce0bfef5c5208c9a8b9eb19ade70fafd0ad357c2d245b9a2aad3fa03378a3ec6ab7ac41df07107976495142a71e9d6697d91d5bf8d1d4a235fe68acdb1c4cb66f4f1a5df719b7befb5586f0a7bd62ee113de1f569be2556c91249db2d79b5f7ab1dab672aaf4e0b66b72502577f9a685fb3c6ec417a3b97ad7099dd69ff752905c3a06d4961068c0030d45aed326d238bd0562b07f1915d950f6695cd99b3be470ad190fa197a920f6db8d942379798c4f1574026eaf11b9d7ef52dccea437a76ac8adb0388956ac6535f713075869b6e5eaa0d4405879faaa8c3d41077c92b751e6d7eb121e1d3399aab1a4baa7a59a7f9ecd86a0523a2e5c010775c833470db5cfaae64b69444331734a6a6a0ec172438aa3a7f1fc78f3cd4a92bb8b90b829f78775677f7352802fdf886ad0248db546f05b6e92b8b39933ffc37e5f9eb394d3f98de2cf4f970e31a64c8dc992edac0331d441ac67418d6d5ca0a4d2f0ce240b999ba1d8127fe08d6c79fc9fc09087ccc04f53344307af53fbc3e5b64ef9257f05a86d67ef52dcc6a0b1273ef57456cc7aa7c28f1ca96fa35a39e14abfdddc43562d1a787c4f536efb29e6ded17685b612b24da9667f3b22f7b0bc79734f84dd690dd367e34d9720bc076a34fd6e61e9f1e187c787a9275494f7687064087214b1b55e9c4a747cf192e0d3d7e0ebe14cfd6ea03baf9264b309df80856f8937e7d9ea76af519bd63f5bcc54acd2469cd5aad2085e4897ae25c509dbec7a686e8370d77cc2b7a9c8a01d3a31091879a4b7c494bb35a4475e23b852ed52bf4e340aa90ca557cb2ef610d12a759a9441b8b94dbd9394fa1e6924e1f2ecb7f252f4f58e4154ffeeccffeac39c659e9a6401bd93bae410a4951024f507359ab3eb3ee58e71282cf607e8f62dd19e5db7b5b83ee971d8fd1ecba71695323d2ef1630740ec3690be261a6c5199f8760e8bd5f95abdd14811219314108ddba4fee5889c9f3162b53deed1081ab3f4db46f563659e1ebfe3eccc384f143da40e18df6608bc6c441373a97610c11b76c1ac5c4a12d263a7cb0e1c73cf8931b90abad4b7fc6eee8444c8307187ff0c3c7e7004e7611eb257a953df836fa7312b2f9aefad1cd6b46e7727c263ebe61e643cc11476465c07102ebb50088d5161a67e63b34421b912ef5f0c0e30fcec8462415fec1c74a91d11c9b7574c75138bf6eacac41b27a7ad4826a23b58ba8aa47e38fe6c2dbdd99bb8939f7023d8954d6cde57a9be63e7ad26797890a26304a5cc2f0e77ef28a95eae0e6a2581407d6113956048a3330187a8df3300dad0d3f64d13034b132714c3d5be2500fa0e8710b324d3c7eb68cd2862938e8628bc84afc98e8c07a2d0062eedaa53f46e71ead22e8da3a5f34e6cc6504b36be8e9c68ac2e6b5fa8f994b636bf28a3ff9504c461c5128e2ef5815c087142bcb677f37d10d5ddbd57f37b1e5dade67626d7f11de058da2a5b277c4a60d195d7ecb8900fa68843dc268fb2022c1083ae3c3a099c3cf68522cc6c9349d2e354ae01101d038f1f993ac7ef521bbf01a4c5688a0134c67305e91cd9ff8a41acacfb39ad3e361c76ac7aada455de52729ca08970ed8de735ed12321299181b439dbd3cbb77456bd95b725e4535c833ef6a5b92fdb3511743e48f596c03dacc10e68cdcb5a337d3d1f8a6db5f26f620d1673fa558a669df50c89398e21f1e9cc6cef57e55e3beddedb9fe21a2ce564634fa8226ce9c5b9b735d8fdfddfefede9d9fd1a81eb3e4d7ce9a5977aa59691662545f4f252be4a562ba11c75d9d0c0567ef8c457fea8221b9f424c4a2847b844379aade184099fece0c9e6cf81bfea19ff571fa2d34316069dd4e0e337f7d5373470f868822e577cfee49ba181adfcf0e959f9a32a7f5c36774a76ac262613dbc238fc1dab9d57add9c39ada6bd01a9920cc26b3632526ed1e3d714446dbb17a2acfc1fdddc4d269edaffb34b1b3377bab15b29e19a067fdccb3d9b4c32330bd03cd4ac3b1f5587ba40c15206a61f067ef4668a4f0c318750633b668c0491b3d2ee1b30533b2ade7f8c0f181c7f4cccbd0eac3d8858419ffc3e7ffd046f9969ffad1898f06d6e28fffd41a4d243c3a3fc716ce8e5561d9b112879d5716a915541caca99596217b0db658c467f6901d2b39a3edbddd7ae9f92249044486c471a9cdde72cfb1cafaee2702d77d9ad8bfe93c93914c556353f7cc83dc1018be5e22c6c794a338ed5f4307a80fa3304a76b5051f7fd5430a66f0075bd9c50400cbcf1be9d5eeaa1f9da03e5beb1cb9d45c8c46672b1a731a3dacd75fea01dbb1dab12a02a5dfce2b8b4840260eb34062ee5889cfe57eb8f72b8971d8e75b503b56cfe673d05735f67713dbcda6bfeed3c4a6d1fbba9cb34fa167376fb47dca7b5b7c30ef283171e67d65a53d09c0f434c46f9d636ab3f1914da751f43c3f462771f4a52dc8fc31144dc3d0a45849735318dfe2934d27d9b185737837adfad4e343a66ac74aa076ac765eed35280216824c983d243ae6ec392e77ac76acca87e7e439d8f6b8fb89c0759f26fa6e62bfd9543ff5726662f6b5aa2e7d97fa3808e9de9a478cc848dd4860a67f64477fb68c8e4e444af42b7e30c34fad3e9100c31c3e621a73e904c6ccff6897f4a464548de0013f13dfb1dab192243baff61a94067bbf5af7c3e8f68759202d961d2bebe5a1c66a7f37517a1fda759f267a0fb6b5c957b3ea8ccdaac67166a692ab36c29f3977dee6d2e8bc438375c6367a7034307c04beba8adad193fed649b28600e80cef726ce54fcf21347e6b0c069ee644c61f9ce11ba29f210d4d3cbc3e673023e2d39c3ff835a364b3453c9a0fa3b0b900c3e0a72d3a2b3b563b563bafe4c0a4c15e8342b1f72b9be4dedbe7c4e4213d07e721b8892270dda789be9bd86e5511664a953b2e1153e5c4348a6f834358de89042bd78b083a0272d600d8ed3a294c7fb64679aabacc349d19cd87f0231bd2e580d107fccc2bd8aac750fa47cf4136437a2dd3906170923d0fee589deae6358c5dee58951e3bafc4c17ad15baa7b0deefdaa7cb85c17f8edb1b399ec583dcbb15251ecef26ba416bbbeed3446bd264dc570b4febb2e929983a1b6bddae739e3d9d4855a6514c787d7abc1ba1c9eae73d096c30d6fc2a8bae7a8b9f273861d2993f68186a8d46c3b483e8d9228bef0934784878d69b0bbe51182d0c7e76abf3d213bea9d1904b6c25d8a551cde8e841c7ac6797366052cd051f135e8f6968c76ac76ae79585b0d7a085604fd8fb95088843f9a01716fddedb7b5ef4ac293e1e22cf60acdacf773f11b8eed3c4f5bb89a624e1aa9f249fcbd627a21d1c2135f583197ccc9031a3f5ab9286681bfe68c64939d3238259bb84f1c11091c10f9d1ea353f3251e60dc7ba4fab1dd14628e2d04f0e8ef329d60e949a7cbf179c473037eb53bcc0c8d33a40e4a1a5af9a319323de31bceb44b5853cb8dfc1c3a3d649b97d1c4038c7ba33c7c0a31c7160278fce9329d60e949a7cb1dab1dab49a1526be79538ec35b8a641dbc5deaf5a20f5b3dfba7c6663b5bf9bb8deb2e8eb3e4d7486e1d15ec275d685b65ba1e759ee1dce53cd6ce56867600897c9a2e1f163e2531898d4e8341a9efef88844e887afd16374f8309aa1d183a67f4cf45e050f36340cbae7106df43797e645169848efa6d9824f49b64e56cf7ea6136d74fc5ffdd9b13a87ea744f77acca939d57b3a6f61adcfb9508d4ec0f7b6f5f9f23a2e199d2a621440fe939f8f89eefff3f8ac0759f26ce7713a5ac3d5d12231452eaaa036dba155b3d03a68894e5866e94ed21015055472470fa49b91c0ca2cb7a56f261fae21d1f66d59992141ef8a36de605365398d1b1329ccce1aff80477ace62e887c3111a51dab9d57d2e0726dce9ada6bd01a291a6d2f3b56ed2445637695c31ebe635564ae25566adffdddc49276faeb3e4d340d3bd79cd5a1d777be962b8cfd1d469aceb46d701ace9c21198a2e9bd108184ad20fa0aa7049dbc89eb49c31dea50c11d1a3ab3988e00c1e1d474f277e9cf5fc26fee88444ebc7cf2e93cda2510d271f00d0a3df253a7f76ac76acca4f71d879356b4434f61a6c69ecfdcaba1004fb2d426bbdb4d346efbdfd79780eb61c765f04aefb3471be9b6832d6760bb8da4ba9d45911c2f236d40e8819581fa6cbc10fdf1e81d6d28308831f87ce95ceeef8009c6c7ac66e9e4c7f32f0b89a0c03cfe1f1270266e567b73ebb00633aa2d193f6c70790a38ac8808daeb676ac8ae78ed5ceab755d5caecdbd062f63226766e188cfec633b563b5672c0b3a638f4005afbd353ead9780eeeef26762fd6feba4f139d0748bb9e676889a8d9a7cc70f8de0b9544f8fa392344278b0f8cb6a38d1e74318247273b181c670f00f8d12c8e6c0a7192058341c777099987faf4243b18f8a412193e261ff46317324c7c7a34740464672430335f43e9c1d4f264c76ac76ae79508cc5adb6bd0e620209a1d63ef57e2605f2d26a2214f2643266776ac44667dbe08c895c68ae7bbad11b8eed3c4be9b28176f7c4739f09bb6a5de0a5739e174892ebf71e2b7394efd143f706ad1193534e068fd8a314ae71832bab664b974b0bbe2d189e4cfcc6bc5000483891f8c7e43438f6c5e4d7fe0672e3de87c1b73e91cbecbd19fe0cc373ec11dabc3fd5d63b8deaf1dab9d57adca9652b93131e9522eadf96374af4141d8b16a9b2d7fa6df7b7bcf4d1932cfa9434cd658791fd8df4d14abb55df769629ba3f739843dc2c4e2a0e581da0b8113bf6963ca83f6d9d9566070f043ba8c0658f969d0e3ebe74c11dd3b253ebb23cbd67a5e387cb0cef908e6a73e9d38a4f2393c8ed6fb2b3ee4d8c28719c1302ead8a64573d238b48240e3a1f10e1eb29dfb1dab19adcdb79b5d7a064d8fb9520580b7b6f2f0efa07f61c34a3dd0e11b8eed3c4af7ef5ab1ff8c0077a57b07f99dbbc37a0e79ddb107e6b1bb310b80c1f71298b4f2ab07ef0e80a29aa62da32a21146878fce2e223ac1fcc1219e2cda50bead1874fbb2a100031bf786b32a49b95ebbf461c74a58d6b8751f77ac4460e755b9a16f9dca93bd06db09f77eb5f7f6b6caf2c1d2b04c26260fe339b8bf9be89e1eda759f267abf97af25ebd0b276cee1ecef68e9db0667f208780d3359c47a4e508002784f1a7c982ee9a4390c7e22b4e1b766e8d4f061f4f946169d3f0de1c3a3357ce0f0689cf08381e44f7843f8839fb3c930c9f2271f8011f990fea1e1b34564c7aab8ed58edbc92097b0deefdca3e2913b4bdb74b86b60531b14376698d3cbce760777cf76b04aefb34d17713df79e79daa3d158f3c96b592786843335ba3f82e117ab45c1fc08c8637941e044eb0f0831c711c7647d5f01194acb692d567e5e0032691cc450c4df9a81d7371ead3bcd2716838e0e3c7dcb19a684c6e742b0f91dc79250377acca8acb35b566cb4a17b14bfc4472e7d5ceabbdb73f53cf41b5effe6ea22d6b6dbff5f2cb2fafd7ef8d7ef7dd770f822b07dd65c45d7ac55fb0212ea5de78e38dbff88bbff8d0873ee42cede31fffb89dd79eeb5d279a3f3ffff9cfcbbf5ffce2173ffbd9cfe2bffdf6dbb98aa01c9fd4073ff8411f5efff4a73f85a7073d7a60d283ffe10f7f382b39a3c6a244cbae9ea16499e01818d98f7ef4a3f8d9ca075648c1e8ed11ec46bb04cb0aa216939ff48071401ec3f0b979b1a8e188831e130c9e03f82ee1cf90d3a7f3c58a57f9fcb18f7d8c427827ed1ff9c8473ce180c9c6cfc97c33343a69fbc94f7e024f162d56e161d25394ea9bc521567ccb2bb2a2e4128cacc8e0672b9d6bac4c995d788e696066c10aa216f332569c6c5ec58154b1c22c56221326afd0c52a1f76ace4d58ed5ce2beb6bafc12bdaaf5ab3fb39683fbff139d8136a9ef59e056265e7f768eb495161106d14a1d7e480e6a1f6ca2baf7ce6339f09a6bfb1911afed011faf7d03840eac67e9888a7d81ec869e221226e3f4e355f4480e1cf65187580e4c0546d20c00eb2e5d36020a3476455183d3d9df22913e91f2b9886d81a4e342671b43ef1f167f888fc0c933ff9292947f0d2aea1b5117139fa338a33fcc0d94affc40131fc9424b8c613e7598ed5cce5c67bd4dca79f980cd1d0e565f15ce3b063b56325075ae9935187985c2612c0ba24775e4d888638c4702e77ac2644434c70caabaa0da33b5613a2fdddc49264edaffb34f14ffff44f9544725def7c48aedb85d19d7b79f735d5dea89c5719f2aed0195b7874187c487ad40a9d19742647d6933e13de39608818828f2fb71c83e540fa5b6fd4d2132655c1d2df5920293a9d11f65e92cff9c06ebed193cf08dad09e34303c79ebadb72a71686e8e1cc82ed93ccf67460d45374db25e9880f3811e186e988edea521ab25fd30d90a830f438f79d169be6c25cb6ebe391f4d8f21f8f89ce7460ea49f0f98d4d2132655c1d26fd6a3932d938d9f6f683ee73f3df98ca0edd27fa6138f6025df76ac76ac765eed35681b79def62b3ba1bddd03eec6bdddb349406cbfed90cfd473b0e7c53cc739e98963161196b3278b67870784a7ad672bbe870e7eb4cb642f6b067af669a2c458db43384d941ca6e47eeb150d92a31ac2a552008d39009c159f48b20da1c3af7a70caa755333d2338fc6433b7d2e349fa294f1c66a55398e7a33febd25793ebf25b2fd1c1a6a57facc41f5b2e79d804d159c9f478beca0638e009e609a2a1f4bb7cd662c525ad19d5c7a95ff9661473c7aa0c997cd8b19a24178ac97cf49a3f4569c76ac7aa0cd1affbf94ab7a9963f87bdfd327fdef7bcfaeddffeed6a4465563519979a63f93f3ecf5c563e64807946b84487799663e59d797f37b17b37fd8786ba4642ce299864f3273ff9c9fc47b71a25e2f0719c350220e434fe7c7f11edd5c11055dea7d16530bc158e69081f1ee1096a141fad91d5a7334c8fd8d109994e3076d1fca4c1657cfaf32dfdf8ecf261fc4cbfdebb113e25de877ef0831f9835e66e3b023b023b023b023b024f3d026fbef9a6e79703453562a712cee1def7e7604fe79ecb9e95f33ced99cbe19eb33ddf7bb67a6eaecf717435c0936a8679be3ff5905eafc2eb2e13dd6f876ae54a2932b44b595255a77ac32f57dcaa03ddcda32a599790a367f0a5573a1381098c199f92ece297d0d9221b26c1a161b23b78439718cc4ecbe9f11b8e1fbefaf7fff64fff18ec3efb77feebbf3e78766f88fbb4be6ded08ec08ec08ec08dc5b04fef84bfff7b37ff2ff94891e40f30c7d7f9f83e6eea15904e6193dcfeef5f9db914d98e89ead895fca7a70f7ec769a786f11be1643d75d267a87f89ddff91d89eb06773e5712a0bd4fe0bb0d52472b45bc7ff49e013f7768cdfbf4cc683a53d2fb4afae7bcd0e5bcc730413fb0a48c4f0f5a9b3342b6e0610cf10a9d9f3098391c5e1ee36854a911311dfefff8c73ff662f7bdeffe4343f7dcfbf1b99f78313ac43d3bb0cded08ec08ec08ec08dc4f043c687ef7852f7bfa389bf01934a39e3ebeedd7676e2eeff33938cfcd9eb39e8f1e973d4679e22989f6bc36da63749edd838741d333b261f069404fcde072b73502d75d2676bfd55b5224dadc5ca211d2455a449422931faa2eada1a181c1c2249b3826fd8d22e0a34bd3684669230bac0d7de08f9ff99c7e7a34b49e20f17cb020d3637162eafd7d169f3efb6341f8f7df4e76cfa687b87f1fb6c51d811d811d811d817b8b80d3c43e7af6cc7254d1f30e716fcfc179867a3ea2b59eb31ea6e8796ec687e1983e4c511abccb9eadc0f32cc64c16d12338a9dd4f04aebb4c543cc95793719b9bd2bc1f4882e892c93b44f90d86f6de50a2f40e5162c52951924da4f71818b2c337d41961a661180218bbe8b1387ca3938804936d54ef32dffab50ada7b1b3ed366ea7d2ebc51ccfb6f79c5ee10f7efc3b6b823b023b023b023706f11f021ec273ef109c7139e5cbee2d573d0dfb2f06c523efe469f83cd717d0e7afeaaf3e2f72c9ee7759f131ac2ef5cb0e72f40cfcdf0003da9e7e11bdf13b66777a399d87d11b8ee32d11d95b5dad45ef30e81195d36f40e51de449335149db85141295de2172334260c91c93c43f1f3011f404b27bc163e7efe04209b9ef467d7503a3b3bc41cbb8efdd10e171130efbc7beaefbf9dec9e4d0f71ff3e6c8b3b023b023b023b02f716014fae0e26fcfed733c8736a9e831e55eb6f03209fe2739021cfd0f53968ca9e833371340ca3fae8aceb7bf826ae2792cf8844924a15d93098e8fdddc489f010d75d267a0f90134da673b8f243ad5636488ede2de23bff2b27e2cf6fa02a25e99128690b5f8f3399472d9a9e795f199d60f98048bf1e9ef2f8946bbdbbe00f9e153af3d3c20b6354cbae1353a32efd8d2bfdfb749878b29be9214e2eeeb623b023b023b023f04023e06cc213aaef26dedb73b0c7774f3d71cdee589f67a867659fe9213c67e323e6b94f36ba9b33cfdf2e6fac191adafd1a81eb2e13d57ceeb4eca97a333179102db39b27cc4c185d7d2693e257a291426022d246c465791981c64c6d7ab2153d3e043034986ce163d2101f335a8f6f145f8d88afa171e4b79e66ef37bdcf39fc77dadf1408de737be7bffffbdd73753bc43d3bb0cded08ec08ec08ec08dc67043c8f7cb8ec1cd13348b178f91cf4777c3d927aae3d95e7206de7c7e0f139e869d8c4d94274d9b3d225d3daca0fdcf3347ecfe59eaaac84c78c1efd09ee7e2270dd65a269a8a5e67dc2cdee7dc28def1dc279211a6cf82ed1935baa4ca3e7047bf457b52909d3f7028dc2d086298dc2634abe74a21b2ae75caefac1c8621acd4fc4f8c016009d7e9b32e788ce29e1b5f4e0f304dd6a3c8fbc3fdf4d748e79fe8f0b439cddd9dd8ec08ec08ec08ec0838e80c79fcfb5fca2e5c6e7a0c75c43ff9be7609fd1f57c3c3c07abe43c438b318ce7265bc387f7305def407e7a7a22f0e739ced55b6a869ed7ab9e4d5f779928455451d57c52c10dee3d035f1aa111a5c8f065527ce0e89200ac9c23486af0468706180c3efa204be119f2881f80366d6c0d8d48dc773e101c184c7321ee8bc386fa6ea273449375f9dfefdf2f9ddf7dfc4be788fcdffd8ec08ec08ec08ec0838c8032abefc47b0ef60f80f58cf3fcf2ac34e51e73084f2be78e3de0c2149000f80dcdf3b4e71d66b0f8373e073161c207e8f98e990f64c3e064cea5473c3aa3f883193d61c69f74eeef268ad5a15d7799e88cad3c30abcef964008e5ec344c3f43e515d88537274563774ef2ea4c2274e273e4cfa27cf06436774619df715a9194d0f8bde5dd24f553acb5db473c4d1cfcfe153e8903ffd8efaad4074c83e80cee27df6ec667a88fbb4be6ded08ec08ec08ec08dc73047a667dea539f4228133db33c07f5dcb87c0ef68030ea69a5eabafb73707dce1e9e830cf51c0c83f654e58c07aba1ce0531d7b0647738fc19fdf90c60b459f48cd66b23b2893502d75d26ca57bfb49231b2a4a4419b5e74a930b5ddf011bd3704901c309883479431f8318dae7aa2cbd703065e5bf5bb0c8f999f3919dd79e1e86717bfba369a2cc2f2d3e3eb7bb72372cfed64b79f5a3f26eed9816d6e47604760476047e09e23e03bf1d57fecf62ccb81e8a7f21cec9938fa7bf6798ee347b3e5490ae0b2e73bda283ec210372a4c31d183ef591c133d7502ccd03444d353ed88b3db44e0bacb44f75e99b8de57b4fb8d6f866875954b09e11d423ffc30fac93943f0935b05089354fc64f147ffbc9750a219d267cbbb0b1a32bb86b28e2311f5de81703a234c4f16f5be2c6c48c3878cc3076f7261dea7cf9ccf7f5afbfcadc8930367627cdec48ec08ec08ec08ec0838c80a78f4fb43c013ffde94fafcf41cf2fcfdfcbe72066cfaf3b3e077bce1e9e833d52d7e7200e4f3cd305d9633440b2d1aac0897f7e0ebe676eb230f883441b1d3c8b33b4892270dd65a239b8a9eef1ff67ef5c00b2a8d2ff3f787d3553c434322f68581a6c226e29968a952e6df953cb15fcf5d3ccb55dc5fa09f52bc9ca6bba586be2ae17ba6c996d0546ff30b3c8ca5ba5e8ae8abb906e91a25892e6fdf6825cfedf99e77d87e1bdf13280e9f89d76c733cf79ce73cef33967e63c7366e605830669f7fb06f43d3628c83d070693e84328fecbf8c05e36b103351c8a02f65216095d2823490ea5889e46598935a1832ca451171a26362141426ce2fe4c4a893eb27028376d7a9b258e147d848f082e91ae2877bccc81f4c5dc50af54ad272e66edac8b0448800448e02213c0672b88ae646ec5f4840d2f204a1bea641e842909ef8cf3a0d8d7e74124a42ee8204be42885841497b41ccaac8a791645901665ecf5b22297895bfc422e8448439fef260a7ce3fef20e13711f207f85051d2cef28886fb82fc17d8ca4a123234ce23308654c4007696461d3cb222d65259e4359f7fb0fd111396c4247c637ac4959b12fd5a16190c3bee8883ec6a23c6b4659b4133ad8a083f714a18c4dda2ccb8ab0891a757d68fe323fae8d2f69a471868453c07f4980044880042c4800931136cc539886e4dd4438a9af17ca3c886f2ba163621ec45c096b625f9b06d579d065eec6a4a9cfb932b7421f12c8250a841009d1915810d33774208471c8dd6d422e73ae3ebfcbdc0d393777029777988831212fea61a0c8f8906124e3436e1764ec624cc079d90b05914b3087340a428e4391230d23463b488b4164893eac19f571a8db91e2d8ebed11fb18b2621309d1815cda80ef9d4559eccb3aa2d847bc880436e89c3d7bb6bc4c0fd8a07bf136b55ead6a3d71f1ea664d244002244002179d000229cc5998b0101a628ef37f1e843e1a2bf39dfff3a0cca1323fea69cc7d48cbda8da461505a227bc9d275505cd2683036a4d112e8485ae6715810b9de36d1b9e8802f830a2fef30111d8cd544dc2bc83d01ba5fee2164d0202de3008343ee27a08f3e815cee5730e0904659e86360e9eb88a22fe30c3a2822a356f4219781253665cca1ac2e471a635774f42120f6e510ebf63005895e2fbc90b6491b1023c282f8851b35b407edc459873d2cfc50f4936ef6a2271c3f5b8515d28b5e352b240112200112b8a804305b610ec254859f4594f7e33dce83d0c10c55a379106eb8cc83988b8df320d2fa3c8806601e847dd1d1e5104a7b74397430b7ea762097e9dbd8361f3183285f54c4977c659777982878251694612169193a12b74107434ae4486348e969c8b1418821287224749b62501420c42106901c2261b48352ba4d548d3424a2037d1484322c885cce34a8897d91e31c43426c228db2c8853ed2104219eb88f8dd44c86179e12b6fe0d4853e369c99354da3941491bb3d39d4ed1885621f7bd9ceefd9d3ac7b7794b5ffe73f92805cf4dd0dfac8d28be809b18f43175f4401b92e726ffa752ed7ab36b6446fa751084dfd509a612c6be4634c1b755cd272283651444f408e0d872e4cf4da5de4def4eb5c0e83eeaee9ed74699e7e28cd3096351a31a68d3a2e6939149b28a22720c78643b1a3a7f5da5de49aba07fd3a97c3a0bb6b7a3b5d9aa71f4a338c658d468c69a38e4b5a0ec5268ae809c8b1e150ece869bd7617b9a6ee41bfcee530e8ee9ade4e97e6e987d20c6359a31163daa8e3929643b189227a02726c38143b7a5aafdd45aea97bd0af73390cbabba6b7d3a579faa134c3585637929b9b2b6b13f8d819b30f262f2c61605143e641048ec679104ff65ce64199cba0e33e0f6252438d2ef3a0ccbf6253e6509907918610fab00f89cc83929643d897b2a28fbd38253a288b2292d6e548881ae448a325522fdf4d1444c6bde3e359a3e8324a6304cb68c310411a43413a1ef70afab8811cb9d89085fb0978870436e8e869b9ffc021ac212dfa38d4cb4282b48b3e8c88590c2fbd880821811d3937c40eda860436a917fa72883dce495d1f27a1318d5cd4ab5f74a4fd5250847a96d19ad894ab837e8d80a65c1790c0263ad8e3dc36ea48aeec45076979b2af1f22814d4ab968eac5a1e03bad2b48c2d8064864937a61c72970fc0b8951df98d63545470ec582473b50d0ad19ed202d59c6b2feb34229d9a40162599738332b7574895e29247ada25616ca7d8c79eac842159f91e4b1c57460264a55f3704855c4ff4eb959c4d320f22e69379109aea0caacda7f29757641ec4cb51b5990751973ef7c1b8318d2c997fa579980765dec7ac2a72994f51449f6775396661a4a10f1dd1af3666905ab8d7095cdeab89721f8021057f248d8182d180b48c1b0c116cc8850e8608d2fa78828e1494b290e3100a620787a22f0531b0440e65a4a126721cbadb471bc4a6d8173b90c8a1b40d46b04128a79cae232dc43a39e410c214d611b147599c90b8a5431c8952388de54cd6f710ca861b3e9415b9a42157b59d710f0e6545136ad87ce820d768534f23812c18d4ed884dd1d7aa72c45892d6ed18db80b42ed7db2076c4be6e534ae1109b14917ac582a42557ece83a4840473649cb5e94b1177d28402e6908451f09084547d2be754459f45dd238844d69a76479ac4b6f278c60c321f6a28fb48b4d4da5b21f71a8fb22597a59a9572c485a2f0b9b62562fabb741f4b1d7ade93a2822696489be4b5d9a555f3a52294ae976f434b2601372a34dd137d62569dd0e0e757da475b98b7d5d47e4520a42a31c69b1206dd0321ded14b37a59a889a6be1765ec751d1491b498852612ba1d49fbd61165dd26127a1a593028edd46d4a02726cd0141da4450e892e97b42ed7db29f6a5aca4c508d2b24911a9572c4b5a72c58eae2365a1269afade698cac40c8719db90459a19b300de1d7703007c94367f77950be22d5e741596bc4045aa3791015c9942a76641e94b4cc83326fea3ab02f73a83e9f224bf4a5cd62013ad0141dc87128ed87320e258d761a7520e7e642e0f25e4d8433e860dc2b6024a1e3b1212d4115b264ed0d42e8e0504603060ae4d08744f6329e7088b2d0c486227a59e8481a0ac892a18f044ae972292bf6b197f6887da491c0069bd8cbbd17da20ad92bab47c75871050d4f436c8fb16b009394a8935dcffa99716ede222eb5b6241d22237ee91ab1f1a137ada5d4124724d17e3b2d725286bdc8c164413b97a422fa54bdcf575894b42caea758905d1912af42cbd1648248d3d5991958c138e2b9d838e4224ee725d41123c077520571a2b388e0db30f662e99ef40c0651ec4db50a2863d6628977910fa98435de641486446c31ed6b021a11b415a0e458e7a31db422273abcc9ed8e3b99ca6a8cae5f9a158401ab9282bf3a6ec91a5279085f6481b6041da2c351ae774bd3d4c5cdeab89e86fac84e39e007d8c5e4777ca7892b4dc43208d4123e3067be8883e129ab8f20b68d18710e349d2624dd717fbd863438da223c30b6991638f5232be9196b2b08966e03e1b72c915cb880291106b389d240d8fa40d5847149bc8821d9c8d3857b1b02ff7ee102257eedde53a2e69087188bd28c821d272a8ebe8659130a6f5b292107d949543681ae54823cb631b744d24741dbd0d107a948b02b2c4b2cb5e2ba45ac326cd9004f66883e462affba8cb91d0e5c63643a8db91e2926bd417b96e53b7632c2b46440765e55057109bb2171d635aeceb45a4cdd86393ba440187ba7d918b02d246fb7a5a2f0535312e09b123b9463bba1c095d2ed674df753b525c728dfa22d7f5753b48e86525a1fb2287ba82d894bde818d3625f2f226dc61e9bd4250a38d4ed8b5c149036dad7d37a29a8897149881dc935dad1e548e872b1a6fbaedb91e2926bd417b9aeafdb41422f2b09dd1739d415c4a6ec45c79816fb7a116933f6d8a42e51c0a16e5fe4a280b4d1be9ed64b414d8c4b42ec48aed18e2e4742978b35dd77dd8e14975ca3bec8757ddd0e127a5949e8bec8a1ae2036652f3ac6b4d8d78b489bb1c7267589020e75fb221705a48df6f5b45e0a6a625c126247728d76743912ba5cace9beeb76a4b8e41af545aeebeb7690d0cb4a42f7450e7505b1297b08611c1313e644cc4732d941283f9d882c8ff3a01844298ff32066379779109a10c2acd89779103a320f1ae756994f31992257e448e8f3b558865c84620736251e90f6e8fa46b99e4659be9b888e70d92eef30f1b9e79ed387b88b633c2401122001122001122081fa208028f99a6baea90fcb979acdcb3b4c4c4d4dbdd480b23d2440022440022440029627f0ecb3cf5ade473878798789870e1dba123a893e920009900009d42101bc9186679478f05a87367f415378091b8f53f116d32fd806566d550297779868d55ea15f244002244002f547007fce0a2fd8e16deffaabe2625ac61bedf8029261e2c5647ee5d4659193e4cae9307a4a0224400224504b02f85201ab899679b51d9f36c2a3a0a0a05a626171127027c030d19d0925244002244002562680b5377cfa2adfc05ac04f7ced2b3fa96b015fe8c2a5468061e2a5d6236c0f099000099040fd12405075d5555759e6292d56131926d6ef88b982ad334cbc823b9fae93000990c0154900411556e0f0d98735bce76aa235faf1d2f4c2b26122eeaef06becd8f0aab27cd4867b47fcb1bbc0c040242ecdce60ab4880044880042e02018689170132abb006016b8689a74e9dfae9a79f8e1f3f2e7fbf0e7b6c274e9cc01f3281f0da6baf6ddbb66d1df7dfc9dccc2d4a4c4cb8fa3755b891806902f53f90ecf693f813924d9bb6d2fe0090e9865ab8a03d777d96121913deeaf23d9b4f6ecf5cb96a4761c7c8516386eb17a593eb337784c50c6a7799b98566afef38687868e51fbaaa83b18775841aac2616179f2e295114fcbde2fa7c4c7dfa3f59ff54060dbac9c4afdac0177854075c688204dc0858e457a38c7e2146dcbf7fffe1c387f11b01880eb1472e1e2ee037d3712e496e515111b28ca56a90b6e74f6f6fdc1ec8b52bf6233be2c7efa881914b5fb58a9b8317676eaffca39b977ee36bd342cdf1c173d7ebfedaf3d3db0f4ed70f6b63bbdab2f53c904e662d7ea06bd71ed8ba766d9f9e7f717caad669530af6fc49c6b3d0997e6045be3d7f45fbf62b6ae35bde83f15b0ad556d5de9429dfb442554fc0b9e99bfdf7a8303369687c5658bfc8a6c5a7be5f31b8fdabb99a3385f3e21f3c6cbe41b52f69df3c7770fbf6d36b36eeec47e6c5c76f2e54bdcfd77da9755bf088095303e685eab6735bd3e747f4e9d35fddfaf4e91311f1d4c7e7aa2b632effdc4f39498939e6cac21778546b2a3440021e08586d35117f9c11eb885835943f3a89530ebf7a80f347be68c39d2022456c0813f1991b1e407b40e287e888a2cccad8342aacad7666366da9de9d9bb803f4a3260f2af6f5095d57c56c4d89e9e821b34e459a9b5b47852979eb578c8c1fda367c6f6ce865b610618e071ccf5bf2e05b31bb1fe9ed5cc1c8f36ea930ab7d9fcd5b7f9c5d47fd518f03c99ebb6afcbc53195bf7f66bab1c3e78f0545d2fa97b67540f39b6d0e4dd39b38a714e9f5a35b24fd2b08cdd63c2703e366d89d371d0dab54aad466a98d2542b6feb506b53b570dd790236cddfb272e8f8914ac79c67fab5f3c75efe8655610b37c5c68442d95eb870ada226f0d7e65b2a515ae217dad9f3162cc1899497b5e3d147fd73446bb5da7ae98e0e83745f0aa7b7ef13b975eff08e26fbd9bfd5c4e20db3fa3fb5a6dbf37fcf1c78637ba5b8f8ccd1fd05879aa8915c3d202c2b6f0cabe68c6352e36a623df4094daa04acb69a889711f170198ee107b12223236fbdf556fc802a7e4d0a4b8937dc70c31d77dc81d71391859f9882a6e921803bf2b6ed3ae0cf84b75337d74753f6c3b9ea3d73fbf68313d2b57b60755162ee0373b7e76e4ed0d63c5edd5c78323f4b549096661ccecd7c40cb4d58e15836b017664e9a9e99bf3d53d37c207dbbba10909f39efc195cacaf17d1c37e527f35f4dd0f2dbb7cfacd94d7af5dea3be96eddab66ad5b1dff0584c2fce7b557b6ee65cada58357381b7f327fbdb315fa52813d37eb5569d903d31d1cec85eb1f183c579a692fdcaca70bb3e64ecfdc8c85aef6edd5a559e564eeab0902a37d4266beda50fbe1cce90e3cb2aea0a258efb00f25ff175aaa77db19f2cf183ac39da86b3761c9a7cf7845794ded8fccad2b1e189c9eab8d2bf4f8e0c12bb64bba70eee0499bd52416f36408b49fae2f0e696363f376b5f71f48d79c7534f16466c2e00716d7600da95ad78a8b4f619256fbd1666b171a1aea18b9b5e829e5e4fa571d1e397ae122f69476fee12c6cdb12e14fdb76723ee251bafd48de6babf2b42161cf9a3e293337375d6be303af6eb69f44bfa883370169e1e5a9c13a49775399d3d5f20f4ccf3c2ce57d16d7ed984b384fc076bd63868d52941df987e54a62182d1efaae3033019788bc442cb60ece2a84071b56e521e0acba796a76fd9d50527761d65b5bc2464d18a6cc5be084af607df181e95932eced9b1783abe314d04fb4b9afa6af72b6dde98b3d2ba1cf6b8a12dfa7ebe0844c647abafe38cb78f91741953c6e525f48f2b29dff61f3536b94f8a54bef0e0d6e5c5e8eb586d6c1a1bd7a7542babcfce4fae5b36ed3b605abff795e2c9cdffbd7897ffdd7de7f2e7850cd58b0fa5f22dffbf53b9ae0b6db667dead0f458bcbc42512a1c968eecf9ab56e6c159ab7f7096912c8f7bf8c230d14b57535c5b02560b13f14c1977630804b12110bceebaebc2c2c2b0e08039313c3c1c8b0d08109185330d9fb69886873bfa1db93b72b16ddf9eef982e9cc6ec85f32286ec1893b17bf7a63185897d166c968c835b960c1d32322a636dc6c2513346f6e93160c1e4d56b974ece9b31723d14ec85591143e287656cddbd35a33069e4022da6405cb6eab5f80143df7a62eddaa5a3b62426656162ead06fd4e4304519b574eda6b11d6c0895a6ce5819bd69f7eead6b5787d7f5e29073e1c2be3d73c51645096da9ba5298356f48fc41ada5639246f6d15a6a5f3ff5c19551afe7ecce59bb7a545bedf65e551b3f6342c626c8628e24f6e9ba420d938a0f6fc9dbe1989e8b0bf574b1fde06bf123c71f1eb37aedfc50a5707a8f21335686656cdaba75d3da31aa57f6aca488f8bc615b77efce482e1cd9e735d5943d7fea8333a25e87fd4dab2784ab2dabbb0d81d4d2d519939595039cdd27b63d7493adc3a8a59391bb3063edd87edd3b76cc4b5c85f512b46ef392bcbca42c2d7d70fd92bcb61d5b6119b8c7f8794ac6d69cad9bde3e923872a83c0a54148c8d9143978cc9583dbf5f07ad2275e964f3dc1ef12ba3e64fe86772b5445a5c75df2a2c1ad1c6837dbace35bc4260bea76c98ad7b3c38236f61c626b8b47a0c7ae162f75455ff9c47c527572e51c70836fb9155f143866cd14ebc2d334676ed314099bc7af5d2c92b67ccd002494f0d9692b27733f556c727700e6f792d3e4bbd87a8aeb8d1542dd287b76f5ea928c322d54541e368f1d8776dfb4d98a028619327afddb42caaadadf8e4aa0d879db7788e36786a767d9e505ab58757c5af9c306bd6b4c9c9ca96f82dea3dafba1ddeb0658ba3af94c3abb66cd15a8afb495c0fc396aecdc9d9149ab7415354774e5f6c9113966a57c18c658ff6432fb85f7ff422de12980b24524480e56d3b7702e175afdb6f6ae6a670f6ab5983a72e2dffeb7babde7bfbcf3fcf89fffd3bbb359db21f77bc35212ebef5c32fff75e63de97392f79e2d2d3dfbfdfcc49488796f7fb2eaed974776d5d4bc1457d728cb5485b3858bef1d9b3becaf9f7cf2f6b01fe78c78e51f5a295f3bf8a23ddaf2e62ee524609e80d5c2c43367ce0006d60e714a151414ecd9b3a775ebd637de7863d7ae5df1a079e7ce9d0822918b48b19627d56bf13312b10d1dba62072e25959bfde076dce68ee9870b7adbd06151ca06c77a22ae8a4b37ed8ded17deaf5f34b4dfdeba7a78eff098d8a58ab20a8707b7bfaa2813fa21106bd9715898b221dfb1c4a82851ab77bf1f131e1ef3e842256fd541bb8255a030ac9d448787876a0f80d5abeac1c223c51dc37b3b178720a99b0d8f3f1307746ddfbeebd0f8d7966edadd4f7df5ddbefdd5d79409c3b49686466149ef8823ea53f20a4f292dc37b876b8f69eddb17bc1696bc36b65f68ab76e18f4c839b49ebd569557da2ea8c7b8ce9c3cab0a57b670349a8727033002edd3aad5f68c78ea1aa578afde0ab2b95098ff44398da31344651d63b986265acb0b0b865284a396dd68de3ea14d62ef289b5b394252357e4da6dcebf94eaa99b6ca1bd31610deb1d191edaae55d8a8c9ca92f598f5f236bca536454be7672529b34675b41f5cbc52495e9bdcaf63bb8ea183a62d1d9537e3351589b62dddb47a78bfdea1f2042dead4e6cce923974465ec9e5dc78ed9c253f66e4a1e15b6247e68d7f6d3b5754ff33d65b31f5cb512372cafa397e152efdea1905ce49e72e0f3f18f3ab236a5a8275eef618a32f9edadcf0cefdd3b06abe37979389dbc37d883c9c34a54f2daf71f8909ef370c41caaabc83352beec1623522dca7254e7d10cbcc114313c326bf3dcaf92d8a73b4d22f67780000400049444154281ecf325c2222a39496b82f76ac176bb777c6aabc7b5d4f27142ab7e7af9fa70c1bdbaf952d3c66b2a2cccbd25e974406ae797adb9ce983db172b610ba70d0f6fd72e34366519ae33cecda1db0ece294a747864682820695b95eb8f53ddfbbf1226aa4f78bd6f47feb343515a7bc83ff7c3df3f511e7f2df1967681ed3adcfac8f498fcbfa4efd5de58c47ae0e34b3f1a7d7bf75bfa8d8e50f2fff3832a85f0bb1f7f38dfac43f7ae1d1ae1d86b71bc2eaffe69e6733ffcfb3d45197acbf56565ad3a0c8a50b66a563cb4a352c430d17b5733a7b6041ad5d6c025561eaf68200ac41f74c769d3b265cbefbffffe1a6d837cefdebd786a80e546091311479a6e3bc288859b56fb78512f7e4084c3f8a831ce5aa2c2b1fa87cba51ad84575943537671ee21f3cb81c10810049dd46696f3baa8f79c3c68439de8e5383aaca4d35a26ea1c352666de8f3e000c49a1356e74ceb5da71f31a29259195b0715af1af0e03ce79358c44f68e978674b15cd3d5b4c4ac6b03e2307f498a18c5a98931cabb602577c799f08ad6c1b8e19dad964addd2e3b381aed9c03d550725878553e2a9df1031c7494512a475b684ac6ac3e231f8c50eb5c9d1cdbbb6e2345bc0e6e0b1ff3faa819e3872c085b1daa201454374fdda43ae6581b691736485146e615c6624a7c7bd3ea95038622bd631e460b26b583205789a477b4a2bc255122c20f191b6a0d707f4be2c82d4ad4acb5fd1c5daf89eb6a670b1d9bf259cc84cc0787c40f191fb9f7fd985af494eab6b6dc5bd9b88bdf5395757b4ae1317b74780735c7aeb636ba63e592bb9c511e1aecc90e6430354abdfdd3366768e37f7147c11afe336ad823a39e78a25dc7b0d08e8ed15065b4d4e82c3354eda1d9f57c42ed484f44fd0ba677e8d0f4c812a49256168e0d4733bc6fce2b9e5dbde4b86e5a6f3a2f299eae3fae055c8ff1ce3aa609ac17b866188eaf0beba328ef5d80928b564000fe285ed3a68e8c36aada2a554d0938a644f4ead652d5d774540d5bc8d38b1e8b9df2d4fd8b9598a7973d714f18ca792eae55a39951eb9b3df67e475b6286a9760c0d734fc21778e42ea784046a4fc06a612202417975033f5d805fc6c2fb88f896e5e8d1a3d86341114f89a18000117761f5f647df71ed0a5bbdf733f7b0c5b972e4a9d78ab17c386bef8f8fb8c63ada8b649e0a3865b68e8f2cfb71ccb4dc057d860c9dd16fefb218570b4e4513ff625ac5bb89a1a1135e1f356ffc80a4f0bd29eae2563e5abaf6c747aa3ce7b575ecb7ecc7bdd372b3c60f899f11dd6fd9f0b6ca29fce7dc4e15228c8d568f00c779cdb757e63b72d47fb0416755e1a965c6853495cedabd8fe891a4a6d7b1df233ffe38263773c190f8a1d1fdccbfccae19f3b8b3c5cc5a1db572e8d0a108ec97aa1adeba492fdd2a6c56983232611242fd2742c34e46497ac25638a34d6cbae2a97c2c545406f586b151ac442d5cfd48fed0f14316876d7db49fcf99543757c344bbf0e1af2ffdb44f3cde598ba9454fa9b5ee283c323cb4b291bf504ff9f2df194c78d6f1d860cfaadad074c9aa517197b2d51ee2041cd52fba9ff14cd0ca548e16cf6759b586158fcdaec713ca9e3b6389322179299e08e089c8eb4b43c7c7cfcbdafec423bd9baa97094740587c4abf2454e9333b38f8dedcae3f9503d25b414c04d87c8756cd5b5d83ebdd3b9b0fcebebb73153b0d1b1ec77bfd28ac4566e70fee569436cdd483868814d5af261b2a8a41a7c3afe3befe7ac4779fbf3e6ec6a4a8deebee0ef252bca1fa704f33538a158097d7bd19ee0c95abd4eee940dcf194431909d49680d51e3ab768d1024870eb8528302424a47bf7eef8a1c46fbffd164b89c1c1c1bd7af5c249885c2c28d6e6f7af10e91c397cf0e4e1c385da66afbc6c2bb60ebd47297943e76516e2a36bbc309faf3f20f5d5551d7a8f519419f33273b54285f985273d6a3bea39a56c39e27823f270eee6dcc293b68ea1fd26782c5127425b4cf2da28bca8370f2f47dac2278f52660cc9cc855ff6936a4bd1287beee6ed38c633e228c782992d7c42545ee202f57313fbc9f52bb1188947ea365b4b905b959b5f78383fabeb90a4ca90d1d04c0da0f2e08c15f927c1af3037ff24988e19863ae7a14e6c85f910a1cec39b3743c586e7d286d2759d6cd53be5758dac16dc7ae926cc69a70e3b1ebeb78a1a13a56cc98b4a8eb2a9cb91a3900e9b364c9db5f01663149e21aed490e4af9c8767f7a3dc0200adfd5b94b09867d6260f9b37b28fe383983a72ebf0e6ccccedf92a44bcfcf5e92a252aac2d1a69b6a7a45f5e7b70de7aadabf273f3edbf604f9943e4b1c1fe9952439a5a14f7af12df5a9efbce771935d763b3ebf3842acc7a2d4f99f6c4d8e131c3b1c5c40c9fb0304a99f11a7e73cad60ea7cba7b8861dce9adb23294f69a705462d3b462a79f12b718217e62eee3a648b17978e38ce3af7eb8f97020631d611244c54833a6f5bbb5f2f8c55be98f1dfa9ebbe3fa7be1978eef0f75fa5bebdadb4f9f5f7452a73ff9c75b8b461e9b9c2acd4954aec7d5d9bc34a038489123e6a69455de32b3db16b57e1b9d2e65d6efa15ea5773bd156f80e958f27f75af92ffc797d7a93fea860a0a514f351b7c814706ff9824813a2360b5d5443c68c697cef2e8195f3e1e3a74282f2f0f11217e2507cc1038366fde1c6fa56089be367f8b050faee68d1c80d847b6e44d7b472125cf25f13b1d5b33943ef8d042cb8c5abaf77df75b5b2de8709456d3b6d0e15b338afb8c1c2285f036d53279c6e478d629aab2f864eb3d6d9af2e0c8aef3a2d6ee7ddf96bf7248fc4aa9e9ed4dd175b894089b95edb6852fcb98163172bcfa1b31c393334e292387e0398bba2dc40b97ad94fcb786c68fd48ea3a66d8a56cb85c6befe7afef8917dba6ad251195ba7a9d276914b4729f16ad9a859c91366241dd172abee348060316015e248acac6d7a3f3474f8c2adc54dfb0c71301db669efb256caa9952307383c9ff6768cd9dfc5a85ab7e3084dd56fe33bc63cb174d86bf1da8286c76e425c3b2d2c119e86256ffa6c6c6868bf318ab2457b3955e9d03b5a51564e88768c8cd8d7371d193fa04f57d52f6554f2d669831cf5b9fca3a9878f5d9871eaf0c821233be67ce6ff8f87b85872392c3ebc213e3ede210c9bb036435d7b36df538a0dfd724491771ed405d7bdef5fec9eaa7450ef3011394f1c88f5952997b34e2ba1bae03ab46c6aefeba59cef1b5415829b5ade73f1ca56d52ea59e323e37cf7d872246573d58f0d4ec7a3ca14eae8f5f396ae926c33b14b6414f4c53462ec94b1e1e366aa93224becf2a7c73336b72d88c831af776fd1e7d7df286f12307e05499bc30392a3149eb2c8327b60e8f4e8e7a70649f79610b7ffc6c98fbf5c7a0ea3989b80a4b0998083c673ba4cd6e7fe28b45ed5f9af2dcd8b79c7af74eff5bb306cd86beb8f2d893a3460c7c4115df3b35f3d1dbb5184fb5069b926e83cb889a3ebb263e6e8d563c72f2a2e8eb9b41c963713c0357ba69c59b754dca5ca60c9f34225d8a3dff65eaf5be1b0a5fe091a6cd1d09d43101755dcd4f93baa6248c7b3ce7851148f40d12635a0ee571b0cb1ecf7f21917771f504eea1248d44e56bbace946421fe9b3c79b24be3d57592c2c223478ee06711918512b80b435c883d0e112f2282c48667d008194dff6ea24ba51e0fd112c8a5191e153c09fd2ea42a3a6d6b859c079eacd687ccada56e02b556af423f9aebee96bb35779dfaf0d5cda67b43544ffdf0c92b13b72aea4da0b61d2744d356557fc7c9834bd27d7e78e55ed68bc40f5bf5e6b76fc3ee0df6adef925bcbe22ed66a7a68ba76f7829ae4a27793975abd882bf1a80acec66acafa51a58eb7d4ead5ab3105e0c5756f0a55e4fa5f61b9daf9399b968d1309fffaf3604ad37455acb678b50a7a237ffef9677cb2a9bd1fa3cb98a877024b962cc14fa920bac0dd80fb7a2f6277c99284514df4d59b08b70d4f3b4586846c387426d57fe11524d84bdab8d78575ebb9d5561371d1c0dfe2c325039faa083e7ccb02a6080db1971fc1c1e23c1e4063ddb16e51ba58735ebe5cc4be0ffd2e645434a67d9bafc35cb74add046a65fe0bdd9be65ed61f89bb9d7a90b837c4b3a71eabf650d8a35e3d09d5ea3d34c183c84bf7b9b7cbbdac3f12773bbfa0c4bdc1356a4c2d8bd7a82e7765d3b5bb177497b85757f7122fb57a1157d66f5430a62b35bca710b2c9e4ed5dc590d3bc7960f3e686634712cfa6dc851e251e353d0a8dc5ab55d095e18b6b10aae7314102b52360b530113410ff75eedcd9e56f3a23904716ce25ac23d6cbdf74ae5d37b0340990000990c04523a0bf9b78d16aacd78af86e62bde2bdc28d5b304c448f2252c4cd259e29e317b6b18288a57b84897819117f8205c2dabc9578850f17ba4f02244002162080f5028456b27c600177e00b3cb2802374e1122460cd3011a071b3d856db2e41e86c120990000990c02f488061e22f089f555f5e042c1b265e5eddc0d69200099000095c34020813b1946099d544f8c2d5c48b3678aeb48a18265e693d4e7f49800448e04a2780b792f0aaba7c316a0116f0a5a61ff158c06bba707108304cbc389c590b0990000990c0a542006fa8e3d360cbac26c217fc4edca50297edb016018689d6ea4f7a430224400224501d01848988112db39a885f7fb38c2fd5751df32f36018689179b38eb230112200112f8650958ec57061123e2b9f32f8b94b55b95c0e53db02afff29855fb877e9100099000099000095c7a04f027582ebd46d57d8b2eef30f1830f3ea87b24b448022440022440022440023e093cfbecb33ef32d92e9fbef895bc449ba41022440022440022440022450530297f76a624dbdf5ad8f3fd9e25b81b92440022440022440022470e510609858d9d7ad5ab5aa3c608a04488004488004488004ae6c027ce87c65f73fbd772360b7dbdd64149040ed086054991d56f8ad93dad5cdd224400224609e00c3447fd9d94f14ec2938e1afb662df93b3e784d989c1ef5a2ea6a2a53cb2ef490b084828a8da41451b523125376bd637a7aadc9db23f83c15eb02747db8aaab3e66edfa7041d9153d7365121da0bc37b8c96fd71d36753eb29d3fc50bc581eb9f4917d795ffc29b580e8a4ccaa63e1444a40406a8eff57957ae249b324400224e095c095122656547845e067c69ee55d7a74595ef52aefbda87d4f5caf1e697bfc55f76ea8ce73ec69d188855cb6e86a0323c4bd97aa470e4445d969cb3714f8c7cb9e3971f4c0772786d88ceaf60d099394a9ebcf9fcf8e70cabdd9741f0cee9a453999e37aa95b66dd0e03b523749bf6b471e8ca04a9e1448e1ae68e4bdb63f4cabf74514a40b32e3d7af4ead5638321767677d33f6baa963b10b7b2bfc05074f7c88f76ba35bc5a41953e82b66d5ccef9e3bbdfdd387f66d5b11038fc9329937aa5314eac9628154880047e2902960d13cbb43f5cf4f6a6f30bbf56befe4f319edb9494d60a72c4b87dfb0e4d74c60fd599b20576c7e4e0af7675d6ea32df16b37cf7eeddfbf6edfca0a7a24cfd60e7be7d385cdebddaa65eba1e39e89cd893fc70d549d81b367b41d6e88d3d9363d045aedbb2b8bec63f8deacda6fb6070d70c199e9453b13bb6ee8781adcad052ef441665ed51238dec9449d89bb935b117252a3d779eafc01667180aee6ebaf2f27eec0ec44df717188aee1ef9d14eb786572fa8da47aabe2d30242256d9956388c2210d899e38509954c73712d5378f1a24400224e02f01cb868902a0e048d9863dcab28d8dbfdc5dd2a49162bfe09d8b7d4f52449c712945510a9223a2330bec882aa22322c625cc4ccdca76cec1052971d149a92971daaa5c529a6331ce5eb0415ddcc18a4ec2cc74bdaa1339c98e05bcb8343c60f25e915ec298c8494b8ad06c0604c4a56517a95976b5f67149099a3c225596d03c0a8d869ce9c090eeddbb8784447447b4a1a5d49d0db92eedd4f4fdf248348b72920507dc4fd541396badfaef9eac548753d149ce676e702a6e7966a6781b9dbc41456d2f589e20ec9c6e2a8a3b107b4166444044dcc3bb944971d1d130ec585df3581c560bb253949e09118155db24472a0875f366d37d3078d3d4ac285a87691665e7c923e41464a54447c461b01954bd26f71863c1222576cac0c4e5391857cbdfd48ad8157b4e5a4474aa5ef59eb48488842c2fa60b9241ac592f45d935ae2f5211b204eeeea666da431fd9ddfadd1790aa3ed5d350ac5a89e3c8dd23afed74eb23bc8d20c3553debd4f118a19ec8e80537dff5aaabf49153aaf7885380e83124e92125a5ea2a788d0643a529a648800448a01e0858364c6c10a094962b0f4537bbe5aae2d30d1ba46e6ab421ef82adb122ab8c1e48da424276a5671adf3e2cdaf3f4ae1321c1365b70dfd4b4b4e1c16fce4f297014b4dbb3d337ce9f943d11ab72ef4e9d3f5ae29282895d06e54cfd60dff17dd145ea8cad851c27925bf77a3af88ddd870ead7fc336ba57eb0d76af1579681566a282c0993b771f3f7e7ce72711a3a362b2b5e909b5bf39bf2865dfa19d1fc44c1ad4450b2fd426b9093d991499dd2582716ba75a917f1e694dda90d4eb69dbbbfb8e1fdfb77b7d5f9f4b5a0559093dee9934ee939d870eedfb24ceee781b4e459afef08811c1c93b77ef5e1f1788da4fa434ebf2f08971707edf9604b8b95c5d2cf400c4161c9db62f6de6d49ecad499a9cb3377ef4e90b0d75371d5f9a29c8d3d27ea0f965589bad9f7a4eeaa8cbfbcd854dc0783374db15a75efd123adf2a2cc8dbbd28b5492d56db6e0e437dee8abf25137fb0925266ee69445a9cbd3528ba6befbc6436ab7daba770fdc3829d371f352903a7a51748c6191504a3af6c1e39667eefc60aaa2f49cb93c356d775a8cc6cedd4dad32f73eb2bbf77b4d80688da8e3a158c53dfdc0dd232fedf4d047278a36ec52a6eedcf9c98937e72b1377aeffd3ae64f586cd83ef8eeaaaf691de06244ed85dc2755b484cec2ee77da668dafd1f0c46d34c93000990403d10b06c9888a7cc88143bb469387170c381ed4bed010ddededae0cb3de5107a794fd1d67761cf4559b8fa17604530b300eb491b1465a23abbe2796bf7ee11786424819fb31b166e498dc6aa5cdcb8586523621dfb9e0d6f2a03d3660e0f090c1997ba1e5a6a505390f5b4a2ac4f1dd73d38387a5c3266e3ccec22af15392d1bfeb5c5242545072a0505055878c0928ffe89c19fd6a3f6e088e133df1da8cc74ae4678141aac794d7a6a6781df1e15c0ee09ec02f19cdd16d23d7ae2c46860f3b2d9b39317f55cb63321262238382466628af129e7431fec83bcbb6641d99395a8287f1a1e01e74fd842804e5b74f104041da42e9106f6c43e44fd3f6ab77b2e8e46c15725d06668a07d4f0256889af5da38f0dd383d7af46453f5c87d3078d374f3df7b9394e088a465cbdee81bec56c683203066dcb888e0caf6db8223e2fe94fef0c38b268eeb1b2841882d62e6546552ca0694b6e7642d52064e8c0ef1604915d982412c22029d07822a4431eceea6b3bcb18fa0eba1dffd06e23459e5dfda0fc52ae6f403778f3cb5d34b1f15290323ba6b0bf07dfb768fe83b45023b0fbe3baa73ed23556cebbefc932989bd5a63ac557d6bb948a97a7b5093c1a0bbc70409900009d40b012bff6e2222c273c515d7b76974e74de7730f373c78b2e1a7ff2ae9dfbd89973051e91e3d4ee9955330cea6ae0466ef093991a52c5caecfc62e4b1e4598576546d532b43502e86ec487a25a64191c2bfda566c43ae7f4c088814a72c189649f1555ede7a2d4e8eb266d54621f9a12ace4204bda83da831d46ed451b95c0716a218f4235c39fcd533b1535dcf2cb23bc641593fac1c01e23ae5ba45636f5dd9dc971883c3c6e270a362ae35242dcf3d07e44d32ef2b4b4943d6805684f99a2c5ec9e81b894d20fdd8a2307eb375517756c21330fed8bdb901a357af48682e1c355afabd95c064335da55b33d3549098c8899e80d58d5e2ee4727ecb688e1ef2a4f1744770fde0088dad677e2bb4a97a49cd4e813cbd5ef72bcad253ab425b8741c54fee3eea65b1fd9fceef74ab3d5a46a3b147d9977f7c8a3b66b1fc16d35920b8e56970395c090beca4620aba9ef27329316290fbdb17b668cf3e495ca5dc77c6d06834777282401122001d304ac1c26965728cd9b0614fe7ce1f33d8d8e9f0fb8ce76e1eef0006f312208da42faf654a266ce1cf8a73796e5a4ce4cdeb86be1ce909a90c5cce18c08ed27f6284a8c5ad8a6287b90a16d6a48173131d07b45f6ecb4d4cc1c2506cb715ab082b58d491b07ee3cbf415be4da93f3660f3115ac4d579a4d5bf040097a6c9e845071b5294d71db7b6827cafae911ac05761fbea1a2c26e3f919339336a7442dc7069b37bed81213d95d43d455ede0d34b60bb50f4c4b5bdedd20c30b781e8188caae8222bc6fe954f7505cb2822306ee4aceb1573e77b6050687f48d4b5a387a3ea27c97adaa4d97cc2a879e34d51560c3e6b549f6829cec027b4844df904083badf495bf7386d6057b61eb1f0426574724a6ad122e5dddd7dfdb65463452ffdaedaf104c41ffbb51d8afed461d4a9da4e0f7db427cda11ed85316fe1c9c7df86eb4ef48e359f22ee5ddb4387913d8a980c5d3f49e1393e0b3bed98bd45fd3c2272f5535f57c2648800448e0e211b0ec4367cc9ae51515077e2e5db6b6e4eb1f1a5fad948e892a8bbeb9316247afbf561bd87d624fe5cdf413c3e3c6c56c4c4f577a46cba4adfe342ee21fcc7b4578b68ccd63ffd842b056988e280f9f106c589e84f7dcb0d9baf79d828f035237a04cc186e5788a1a87c77fde2a824e6ae2fcf989057a0d36440d1bf1d01561e186e4b88dce8a31a9248e4b851a82b2d11b9584e8ee6a5d9e8490bbda741a31feebb19d35f008cf3633b3f6e0dd3a445cc121b0ac4f7b6eb5dbba270cdc387a263ece05c93d1bd2aa7e3654d92804d30f291b27a664a97a883eb3344d2f40d4628893e767e6149d38a1bdffe5b9b8663ea4ef4465578a1ebc3babb405e3db6f97adaa4d35536d8ca7c1e0ae09655b704c4f2525734381d6281f4d2ad890306850545665c7bbb4c3c4217e6c656afad3891b7b2ef3fa5ea20fabdedc742de2b5df5dbac3b59cf7e35a0f452fa6bd7954b5e37cf4919b5defbebba98a2058bbf1aa9289cf65de5426f60d310a0bb226460d8a8acbda6314324d02244002bf0801cbae26965554346a10f0b72f4ee59e0e6a555ef6fbfe17068637b35fa8b0350ef00e3a30625c4f253b29042faebd1bab244b9468cf1cd76c84e3bbe58d5d9ae19743de389f5de5ba8eabbf1a15d922d2b62cbb2eaad7a2d18e1ab4502964e6ee0fa27b0c42396c533fd81d036d3c63f45091564acdad8cb16c21d11f4ced39a2476b55da538d62f4f04bd995a83606cb7dcbb6a8aff7d9551557a12653aada1419f69a583ff2d84eff3d42107ccf88110e6b78e85cf994d3adf68871999f144dbc479c52940ff69d9762217a5b2461eb9eba6f3dbe0a6aada183ff9fec1bee0348f7e13317c6f6e8a53ef696f5570fc51d864386bfd173747266415a9c6b9d93b2b2c7758fd621bbd9f4341872c641df4dd351d5f0b44f327bdcd3e56905af63e64c8c70f748f4b4174f373ade0b7488fcfa07554bcf3bb441dbd9fa90be318a327fcacc98ea1728d522c6e1e0d5cd10b74679eb772f40dcca6b0263dd7881c1d3295383a1e8a90eaf1eb9b5d3c3b0b129b8b5737075fc5e524f159937df3d3540fdf60a779eb8b818738bb253d39585a9ae5fddab3c1cf7a8466da649800448e0a213c043587f7f785ad79484715f5eaefe4a2124fa0689312d87d8bb6f65656510626f4c9496968a1009c932ee252b2f2feff9e79ff746acb45c0d13576c387da8e2eadbaf3d7fc7cdcd8a4b95a617212ad6569aaa7c21a13611523b56da107f9ad8b00e825295bfe767df13ddacc7c4dde711e420c321f728ac71659edae9bf47d250678baaa9dcd52bafeaee8aee12af8555f455e969aaf82b2ccd7a64efab480931942cc84aee72cfd3ce28d39051d7498f4daaeb4ad45fc869d62365cbf11cfdb3e83aafc26150fcf1b3dffd6d44ed86a2bfb578d5f3b78ffcf21d3f24de0cabfeca43ef1e5fae7dc4efa8b62819efc2ec3c5ef5058c13a911ad27ed9abaaf22394453c3272fb8967a6d28334880047e2102cf3efb6c585858c3860d1b346880bdcbd6a8512348902509498b8ee863efbee17c172112b2e1d09954ff85af90602f69e35e17d62d8f8b1037d56d83fdb5861811aa63a3afd60a34c365f662c488a8cca63e1675db203515216a862a0344875df50138c2ceaaf3b247a15b43aa11786aa7ff1eb935d4576d7e2bbb2bba4b7c54e451597b992fcea554484c52454502a24a73d1bc8b351f871e9be443bfc659f682d489e326bdb951f9d3fa7a8f11d1b87af1a77643b1c6c85c0bf8eb935f7ab6e159e7b166eea61b8c01e75ab1fd4460dcd477972785b866f098044880047e0102960d135d587a7d1fd145efb238547f5963bdadead32bede736dc8497853b975623dda6f24bab79feb5c616882f72d64f4cc5afb7f857805af54ba006a3ca161297946c6c0d97128d3498260112b8c804ae9430f12263ade7ea6c1131d16e557814ba6951704510c06faac45c118ed249122001122081fa2460d92f9deb131a6d9300099000099000099080f509304cb47e1fd3431220011220011220011230418061a209682c4202244002244002244002d627c030d1fa7d4c0f49800448800448800448c00401868926a0b10809900009900009900009589f00c344ebf7313d2401122001122001122001130418269a80c62224400224400224400224607d020c13addfc7f490044880044880044880044c10609868021a8b9000099000099000099080f509304cb47e1fd3431220011220011220011230418061a209682c4202244002244002244002d627c030d1fa7d4c0f49800448800448800448c00401868926a0b10809900009900009900009589f00c344ebf7313d2401122001122001122001130418269a80c62224400224400224400224607d020c13addfc7f490044880044880044880044c10609868021a8b9000099000099000099080f509304cb47e1fd3431220011220011220011230418061a209682c4202244002244002244002d627c030d1fa7d4c0f49800448800448800448c00401868926a0b10809900009900009900009589f00c344ebf7313d2401122001122001122001130418269a80c62224400224400224400224607d020c13addfc7f490044880044880044880044c10609868021a8b9000099000099000099080f509304cb47e1fd3431220011220011220011230418061a209682c4202244002244002244002d627c030d1fa7d4c0f49800448800448800448c00401868926a0b10809900009900009900009589f00c344ebf7313d2401122001122001122001130418269a80c62224400224400224400224607d020c13addfc7f490044880044880044880044c10609868021a8b9000099000099000099080f509304cb47e1fd3431220011220011220011230418061a209682c4202244002244002244002d627c030d1fa7d4c0f49800448800448800448c00401868926a0b10809900009900009900009589f00c344ebf7313d2401122001122001122001130418269a80c62224400224400224400224607d020c13addfc7f490044880044880044880044c10609868021a8b9000099000099000099080f509304cb47e1fd3431220011220011220011230418061a209682c4202244002244002244002d627c030d1fa7d4c0f49800448800448800448c00401868926a0b10809900009900009900009589f00c344ebf7313d2401122001122001122001130418269a80c62224400224400224400224607d020c13addfc7f490044880044880044880044c10609868021a8b9000099000099000099080f509304cb47e1fd3431220011220011220011230418061a209682c4202244002244002244002d627c030d1fa7d4c0f49800448800448800448c00401868926a0b10809900009900009900009589f00c344ebf7313d2401122001122001122001130418269a80c62224400224400224400224607d020c13addfc7f490044880044880044880044c10609868021a8b9000099000099000099080f509304cb47e1fd3431220011220011220011230418061a209682c4202244002244002244002d627c030d1fa7d4c0f49800448800448800448c00401868926a0b10809900009900009900009589f00c344ebf7313d2401122001122001122001130418269a80c62224400224400224400224607d020c13addfc7f490044880044880044880044c10609868021a8b9000099000099000099080f509304cb47e1fd3431220011220011220011230418061a209682c4202244002244002244002d627c030d1fa7d4c0f49800448800448800448c00401868926a0b10809900009900009900009589f00c344ebf7313d2401122001122001122001130418269a80c62224400224400224400224607d020c13addfc7f490044880044880044880044c10609868021a8b9000099000099000099080f509304cb47e1fd3431220011220011220011230418061a209682c4202244002244002244002d627c030d1fa7d4c0f49800448800448800448c00401868926a0b10809900009900009900009589f00c344ebf7313d2401122001122001122001130418269a80c62224400224400224400224607d020c13addfc7f490044880044880044880044c10609868021a8b9000099000099000099080f509304cb47e1fd3431220011220011220011230418061a209682c4202244002244002244002d627c030d1fa7d4c0f49800448800448800448c00401868926a0b10809900009900009900009589f00c344ebf7313d2401122001122001122001130418269a80c62224400224400224400224607d020c13addfc7f490044880044880044880044c10609868021a8b9000099000099000099080f509304cb47e1fd3431220011220011220011230418061a209682c4202244002244002244002d627c030d1fa7d4c0f49800448800448800448c00401868926a0b10809900009900009900009589f00c344ebf7313d2401122001122001122001130418269a80c62224400224400224400224607d020c13addfc7f490044880044880044880044c10609868021a8b9000099000099000099080f509304cb47e1fd3431220011220011220011230418061a209682c4202244002244002244002d627c030d1fa7d4c0f49800448800448800448c00401868926a0b10809900009900009900009589f00c344ebf7313d2401122001122001122001130418269a80c62224400224400224400224607d020c13addfc7f490044880044880044880044c10609868021a8b9000099000099000099080f509304cb47e1fd3431220011220011220011230418061a209682c4202244002244002244002d627c030d1fa7d4c0f49800448800448800448c00401868926a0b10809900009900009900009589f00c344ebf7313d2401122001122001122001130418269a80c62224400224400224400224607d020c13addfc7f490044880044880044880044c10609868021a8b9000099000099000099080f509304cb47e1fd3431220011220011220011230418061a209682c4202244002244002244002d627c030d1fa7d4c0f49800448800448800448c00401868926a0b10809900009900009900009589f00c344ebf7313d2401122001122001122001130418269a80c62224400224400224400224607d020c13addfc7f490044880044880044880044c10609868021a8b9000099000099000099080f509304cb47e1fd3431220011220011220011230418061a209682c4202244002244002244002d627c030d1fa7d4c0f49800448800448800448c00401868926a0b10809900009900009900009589f00c344ebf7313d2401122001122001122001130418269a80c62224400224400224400224607d020c13addfc7f490044880044880044880044c10609868021a8b9000099000099000099080f509304cb47e1fd3431220011220011220011230418061a209682c4202244002244002244002d627c030d1fa7d4c0f49800448800448800448c00401868926a0b10809900009900009900009589f00c344ebf7313d2401122001122001122001130418269a80c62224400224400224400224607d020c13addfc7f490044880044880044880044c10609868021a8b9000099000099000099080f509304cb47e1fd3431220011220011220011230418061a209682c4202244002244002244002d627c030d1fa7d4c0f49800448800448800448c00401868926a0b10809900009900009900009589f00c344ebf7313d2401122001122001122001130418269a80c62224400224400224400224607d028d2e6b17fff18f7f5cd6ed67e349800448800448800448e0922570798789ddbb77af6fb27bf6ec612d35827c7188d5a84997be32a15dfa7d7445b59003f28aea6e8b397bd146efaa55ab2c86cea33b977798181010e0d1abba15b2969af2bc38c46adaaa4b5c9fd02ef10ebad29ac70179a5f5b895fce5e8adc3debcbcc3c48a8a8a3a64e1cdd4155b4b7979b9cea441831abcc67a7188e96db34682d0acd18f96f1a2da0179fefcf9fdfbf71f3b76ecd4a95335f2ba65cb964141419d3b776ed6ac993f055f7ffdf5f1e3c7fba3491d121002d58e5e82f29fc0e51d26faf0b346a384771e4692408700114c8ca121249043425646564c93c0954960f7eedd8811cdf98eb0125b4141414848c84578a5c75c2359cada04309d799bcb7c64599b8937ef2eef3011dde9cdb11ac97ddbf19d5ba38a7c28fb5f0b344519a3dcdb40f7569114f4960b3914605302c493274f62c10042dcf4630140ea9208d2870531e25b81b9ee04aaed1af722949040fd11f03120bffefaebd3a74fd7beea7dfbf61d3d7ab45fbf7ed59af2d1986acb52e10a24e063c0600a93090e3ac78f1fffdbdffe969b9b0b44b869898f8f6fdbb62d663a64e96a57203d17972fef30d15b9054a66d2eae7a3b8491c68d1b7bcb85dc5b2dc8c260c20605a30e8697476b2e6a2e3a460b2e59fa212cc333636b2f5cb8d0a851237fca8a11df9af045ce1f5cbeffa36db888a3e035d75c839bfe9b6eba09cf8960415cd65be59ef05d8bbb3e252040681c069714016f0312eb8867ce9cf196ebe242ab6eb7ded635a8e444c1c6adff31a67535849bf8e0a0478f1ebac463c2cfea3c96bd1284a78f1e3a53a2045d775dd32bc15b3f7cf431601a366cf8dd77dfe1eb93871e7a08cb1f45454532cd356ddab449932676bb3d3535f5aebbeeead9b3a71ff55c112a977798e81e90216c4214f5de7befa5a7a7a3cb4b4b4bddbb518decb465488444b080b7645e7df55577355de25e8b9e250958838e8f71a9ab49bd2ec5e5b0da5a1020627c633b7cf8309ed7c0cdd0d0d0abaeba0a72545d6dedd5d682b6c108960f77ecd8f1fefbef7ffbedb72872f5d55763bf7dfbf64f3ffdf4861b6e183d7a74af5ebd00d6b7bfd5fa228da99ffd999c755959dbf25bb408bdf3bfffebe6a026f5534bf5567508c6156ffd932b09c78d56747da3906912a81302fae8f27334a252bd88b101b83ee01ed22831a483ef1a31f09a264ad9a903199f6c1179f3a0c0c0962d9580405833a60da51418ecd4a9938ff714e5026b2c52255dbc7fe6e031eb0ca24e8ffdedefbfeb6610fce2c9d3effdcfbd7f3d70db5b9ffdb97353a578ff2783c7fc29e2b1657ff95d185af6e5bc01cf143dfdd95feea94584777ad5b0dfa52aca5f3fdbd4b316566a8bc9d11177bef5d94cb8f9cb6e1e47af34293f3f7fc99225d86330df77df7dad5ab5c2ac8a2c848c9858bff8e28bf5ebd7238e9c3871627878b89f13eb2feb6c7dd77e798789ee5d080936048bb2f983efdcb97328e243d347ee912347f064f6faebafc7354ec238d42b2bd8282541a12410d50507076359ce5b453e6a411118c7aa21de16cfc8c83878f020623818c40a1f2eaf63c68c8102ce0af7c8c3bd2e1fb5a0b5d8befaeaab975f7e1977545dba74b9f3ce3bb10e0f2338a3f01395b8e94f4949f9e31fff3870e040087d98f291e5dea4ba957cf7de73098b772a419191cab6ebeffb6d589b5fec7225971effbdfb05a1f9df486a5ea6046a3a1ae1a6c70189f7113dca552cdd6e448c88ad61cb6b7fdd3a60fb0935ad14ab71e9850ba56a29635acbd47730eb63411165d5e2deb606e55255dcf4e7235b34292929b9bad3b5bef4bdd9a94779ebaefd829403dbfe7db824a453d3c3ff598faa723edc736654f8d54ad1fa2c25f2b99ecd03023c3f84f2ab5581bff9fbb21ea79bdc543b2b7e55e543c9d11127ec97c01becee0300b31b845808c70487190dd3657676366670797d02593ffdf4d38a152b30b7225d58588835c5993367b66bd7cecfb9d50798cb3debf20e13d1f12e1da0463a151558eec220c0a2f1c30f3f2cd19ba82186437495969686f181a80bdd8f0dca28e262c778e83117420ca61f7ffc312f2f0fab7ab7dc720b96ac610d01d637df7c632c2e692823b74d9b3652d05dc1632da28682288e2b299648376dda04e1af7ffd6bdc096dd136ac988e1831027742f0b4da48d15b2da8026511e07efcf1c7b8ce821202c4e1c387a35e54171919892a70da7cf6d96758abc7db1b6161613eaaf3568b9bd7a80af815a568ddfd71b3431f5ff1c27f7572d3a991a0a460f34e45e9fcfa87a9e14d032a4a8bcf177b584eae91451fca25256794262dbc2d577ef0d1e7e7ce9dc76b02f8f647304ad737086810d8f2eafbee19e462d93f684e622e852fd943b33d5bb42e396e76d6e32bd6fe572715b06fd497acf7974ec36a3a1ad1728f03128fe73ccaa17f5b485ba7bf4ddbdfdced9f5fab8f231c5b80c19a31edccc70db037b35041968f5c646be760dfe1bfbdabb35cc82bca2f949efbf22fcfbc9cdfe9b187c3de9e324b79e26f2fde56f4e4a49743fff858d8776fcfca68f2b7cffedce9d8ce97172cc8d876405182eefce3638f3d78571b84b587bef4aea604c5cc489f7657cd6f3dcbbaf519aca4a56fcaf9e9be8e1df33fcf56fddeffe54ff6075a1cffe67345792eecdab29f77cc9bb5202b078d513addf6c7b9331eec8c0739c5fbfff2e43307421f7e302c6fcaac8c27feb626e893590bf23bcd78accfaa279f5c774cb9f389454f0febd55439bff7ebf7ffbe23e8c9b9dd3a342986e39e7494d3fbbf983565d6b663ca6d231feb7466ebb6a24e735ffc5f2cfb1ddab96ac18237b61d3886aa6366bc35edaece6af34c6c8e8e501a1b7a1b668a0f79e00cf9fe2ffe02a78e2941231f7bf0ccd655c73afd71eefff66f5a7c68d5cb0bdec84033d12d316fa54f33b730e93e604482791f6b84586a397bf62cd2df7fff3dea91eb33062136dc504113b339d4b09752eed650eacad91a58d255f43ae21e3c30c592186238ec65bbf1c61b9140ac865c388ebe9784090832b0648110b72608b08a8b8b214480e5acad0b222d6c38c41ecd4074858aa4608d6a4423b12144438cd8b163c74993264dd5b6fff99fffc182391e10ffeb5fff3261d6d806d8c721de4c872fd75e7b2d563dbffcf2cb050b1620b0164a3879b0087fc71d77e0bc42900d6529623452937449fe571fde1f3de4d5dd6794920388087051d8f6d2d8b1b3d769464a72b2168f8d56b7fb21ca57af18505b9c30f6a9c5eb72d62dd672c6666c2baa5a63c9578b9f7a7e0764fb67fd77ccc8e7569f3cbdd758e4c3fc926339590963ef17c3b3dff9ea8c56bee8abc5f7dfff54d6b66d8b13d4ac84c5eb8a8ee52fd6d490169d92a29c642d37fafe8475f92253be7ff5be21d14fadfbc6a5198e46b56d1774f2ccf99f7e3e71ecc4e9a3c7d5ff2171f8e793274f9fedd0e1baaa2df7e7c8400c71b5b43927e79d04d59bb14f651495a8463c3aa82867d62d7e4af3faa98c8cc54f8d1dbbf82b697349ce87c98243f7b46a534abe59f78e0358f4d87507d43a8a72b29e72f6cd3bebf2455fdab32ee79b0f67ab7963677fa8b6c7bd674b8a3e4cd65a1c7dff62ad6c49d15709f78f4d4858acd93e83e26393d79d39b02e7e76162cbf34764872963a71fa462d6de0de0781ba1a8ddebf5cb9e5dad68d9493b91fed548756b3e090601fad71cbc287cf6eb29a0ab2377eb14ddbf22f9496e1427b72efb60339194f4e99951314d4b679f380f29339c70e64fce9c959199ae0dccedfc74e418c183be785a9f75ebdeee55923feef8b621473516b50bc3e59558b9fb374e90b5307b76a666acaac68ddad6f90a2647f915fac146dcb16d776e41f2f3eb4fb4b45e91b766de392933fec6e10f5c2d2a573e2071fd8f6f294e539aa5240d9de9c03db3210dd65e017849a376f08a78ee5644cf9fd93df8744c2e0ba052f7d8f462bca4f5b3fdfb9552e4caae31e744eef9c34468d1163a7ce1974fec38c2cc0d97b1e8b00c5fb93a72cd876e046cdbfd8ae8dea7ae5e8b467cea777be3d468d1123a7ce493cffe15fd19c6dff387901d7eef5c988dc6f5471cf898deadac8fb22b2ea764d369922314163f108d7285927c2bc06099e0776e8d0012b16122342332a2a6af2e4c9587cc1f457cbb9b5266dbc4475eb7a4c5c5c37dd637c48f40d0b2fd8b0d8860121ed92d5442cf8e93a7ac247c3a1e3311772447e58d8fbe73fff8907b2089bb0a688a18611e64ddf9b29e87bcb82598c5dbcbe832a10140e1b362c2626068e040606c6c5c5e191f7e79f7f8eb7097ff5ab5f21d7c70a9f34c95b2da802cbef7bf7eec59a229e62e3f498356b16a246947aecb1c7908b6600239cddbc7933dedb803242496fd6bcc9b536a8e1ceece796142a4a5c52ea84db5a555ca8b8edbec8ac8f76289d078fbcb313ca7e93312161c9012532eec5d1218b9f4c9e3d615df19b9fc6b42fc7157347ceec6d4a505454e72d5bf62f7e2aeedaf7d7df818ba563b385de362832236787d2e657431f0abf2ed416a01751dab4e97cd55501e7bffd67837e8fa64e6bffef379f59f2cab36d7aac8e8f68517e6aefb1633b929fda8627d56d106865cc8ecb509f5ab73980f4e2bd0f0dfa959233212ef1801235fdc5fb762c7e66f684e73a7efa526813a5e71f57cd6d38eb99f8b8d9ad073df7fc1feebcb9cacc3820ead7070efc78e6f4a9b252c7f8a9282f6bd4b849fb6bafe91d7173a93a9355d9bc437323662f75b439016d8e8a54b6ecd8b638eea58eeba7de76fe470f0e7ef34efcec8c034ae7b8b97fb8ee956716eec7a4f2b37a0ae4bc3321f1d5035171d3ef0bd9f14cf2ecf86b3bbe3932d4d8a66f329e9abc04d355e4e3731f28deb2a171e380d379efc5252c8164faa207be7de99957664fc8297e737e4c2769cfec846d4ae7c8ce6d0eec5ff7d286df0d8a0d6b5db5674fbf1317f7ea31256eee8b215b16a35f833bae1e75f3ddffdd6fe1531f6524bcd2734e8fcd2fad3b90f4f7fe81adbeebd759f9683f4644dc1d9dae42537da336b699698f046a3a1a61c4fb80f450c3f551ed9b2b4ae1f7dbcee6743fd92bb855a3d63dba2b457b3c687a13f9a80e593e727583cb9e99a2a527aed9d8a985a2c8327fec9cf4c78784e0d43b5380e70c58a08a4dcf7c3ca469c5de0fa7e0fea373fcdf12efbeb96270b7823523d2b72ddf7deace9bc59c53adace458b67697baff74f93dfd87270e502e1497a8b7d435dc4a033b0f0e52d2776cddfdadb246e93c67cebdcf3db774e7eeef9b7cf9b9d2774ebb46658d6f1cb17269c0f993278f05dddd79e967fbb77d7faaa227d613352f3acf497f6b4848d3f2b2b36bb47aef9d933e7d70e78fe2fbced9b17f77e1a91e37d8c4d9265aa749da45a7f981d5aabfb14b1387f7aa1871e3676b627143adea079cd7fc3b74babcb5e65f597149ad9fc018ba6bffd7ef78e27cfbb1775e862bb14be70fefd5e2b7379e59133b1f8758bb2b3bab36e7d0fed3adeff96de273b6b20bc5a52670bb8d5eb408d11ea64bbc77880426384487880d30b5f5eddbf7eebbefc6ec865518e4626e8502be58c8cccc84c2edb7dfcee7cea66e8db4917a29ecd09d1e37b44de4180aee9b64e93a1e2de8421f6a88a830f85ab76e7debadb7225e448c8507d0185888a8b02118c56b10b8f9963d96b891a59b7549f8a845b2f0c4196162972e5db09e073b523506349e0b63d114f5fefcf3cfb0e9c38e8f5c2985c7495872c76a256a898888484c4cc429845715972d5b86e81367119c45166ebca089cd9b41ef6d38fbfdd7ef3f34e8378f3cb7e4f6a4459f7cf58fc4113d6d2565011541bf1d7b1f4a458e7e24f6eeb0800b852b10232a91af2f4aecdf7fc45f5e8c4356dac7ff4175dae52f2a75dda78b16652c8a539f8c6cccfd0972e756d17940dc7d9110771e3b3676c4dddd7061908becdcf7becacacab837c4d6f58179a9897775edda75c088c1d0db56a04213adc8c9a99fe2b17a925a3e2ae975a45f9c8c2a8e7dfff3d9c28d69ea952e2eeeaefe770c8e827067ee0f6751ec82aded5d89a95fad7b6ffa6fcecf993c7ad04373d6effe49bdc6685b7969d9ed7d7ab768deace4c2055c8d61b6a4b4fcaa16cdfbdf7e6b5999fa16817143aef1d099f6424ccd563d8b7a1c6d5e94fac9223c2c53b236818527070b3f78556d7eea1b8977dd15f7e724f51ea60d0c5cf83e4d938f88bdeb8e3e8361e1c047dfa95ee99bda1188113b2ffa2435f6aebbc64e9f3b382460cb6b881195c9afbff8db3e7725fee54594daf66ab6564a6d4f9bfbe67e9591fae747d42ab6edf9d9a5672f146e448ca8b4898bbda37f9fc1aacee6dc9fcb2f140f989a8a836319cf4d9ef349e7b8d41137342b0bea35f6215561f423f177f70a468b7ca3d69bcc843702351a8d3002f81e4d41ee690bbcf1da5690778c1c3ff2a17e6a0af15897dbb47ffddd79acce2fa1a386ce4b3fdfaa6de35a4931551e796fff8e78ce5382972335b5c84746746ca00a940baae0f4d1f3383d2f94b4ba513deff7effee18c8b5a6945cb2153a7226fcd0b8f0e8d8e9af8e775a7fc6a939b52f9b50311272a1f2f98bd4809ba37b20f5e9e563e5e346dc6e7cae07bc31a5704d8bfcffa63dfbed1bff9cdfd7153f7a3be364d9bc10612d822c7f6d71a7da1b4429344c6c1a99233c55a664083866a655adad1675a19179dc6e7d4f00b37cbaabf67cab50ba3d6c7b66e53137131dcffc2a3a3a3a3fafe79dd5eb7a6fb2d9036606f28d15803efc6f9dc39ac1ce2e2d2ba219a73a15cbd3caa5b4040e72153d5d6ac7961f4d0e8be13ffbcd76eb0e57752b354455bc2444c5bf8a976fc02ce3befbc834100353c591e376e5cefdebdf18adad8b163b10e022194f10d003e6c7de38d370e1c38004398d0ab98731e40f94ad82eefd544749e4b27a9015ab9fa43d0d8902587d88b9a1ceab992c05e5770b1a697f22817214228dc9adc76db6d5866933545bcc987ac7ffffbdff2b1b0a821ccc25a237e5306d5618cb91bf4d606691e825d7c25835813031dcbe36204c1e28f3ffe881553f91e1916ccf9828230252baf2d5ae03e5cfd62a67ffffeb0862fc2f0e517e2459c4bcd9b37871a1410f84219a5a4a09fbe7cf3d1ec475fda06e5c1cfaf4cbcbb6349f1e9b3da73523cf638556a578dd8cf9d3d879f692cd72e2005674f9e3dd75c69d1a11b72f6677f7feaf7bd549dc8c1373546e4adb4eb761dc4df159d2c2f6fa7cab5edfcb99372bd3977122f9ec0927614f9d0ededcbe461d9817529e39e7fdfa9ae464b7041168b070fe80ebb17b4ebe7808810a46d2dd42ad0598d1aa8fdb53f6dcac03447d180066a41a5c47eae4469d8b8fd6f135f6ca1f47f2a6dddecf8757f7829232e02f381ba85746adfed86cee7f3be2d2e2901cc165735bff9c61bae69135856aa7e9c2e3afa5e355875f34e4cc24e65c06d37a92c1ab703a3a34aeec992f2ff7c3edfd5c192726db5a04db3f2b3e7ce298e2b32c6bcd248e3bcffa911039dd596685e398f1c1da134aa3873f69c08cb65b2fdf9ac1ddf7d49df1c3df6f141fbef5a6aa4278cb9bdec34186a07605b56b5671b6937a547d3463839e25603ef6e9e0b683ff5f97b873fab2e944c1edbf3acf6539da576d588fddca973e7b14a8510bb1ad4aa0e379f046a341a61c97d404288d3dfc373e72e61edf0bedeb993478bcb9b34524aca9bb669d5bc51cb6b7f5551813719d54661f46b9b9e5613860d57308fd5890a8afac8552af01fb6eb029bdacfdb159c57d0579baf4af19662497963355bcef30abb1d776b6a46851a258404076996cf9f3a8aa3a01baf6b597e462be65443b9963d876567df9dbb71cd9ca9293919cf64c5ac7d008f126abc9577e83b58494fdf8f570063c35a36ebd02748d9714c3d35fbdfdcaeacfc5cd633b37294a039691f0cbe6e7fc2c0b1d9158dd130b820adb950522a4e885365aa53158dd53cd57bd154936acae1b88b4e45856ae068c129e42b47bfd59e7b6bfaa50d7bfe6e76f66fe337ae796d6aca9a8c675e8a59bbd08c7fd214b5458d9ba86d5753d8bc71fe596b7cc1cfe7cbafbbeae8b7b9a28b628d5bf69c9d9d1dffedc6d79e9bba06b83f8c59f14095471c9a66f5bbca1668ba38c42557aebaf2700c698c138489782e87f90e5a98e0b03e82791cd31c723165238245026565abbe568b6a5cde61a2f4bab16b20914d84ce23c794ec72a817845c4fbb277ce7421f0a1870a286bd2464a8e9d620d425a2a06749c2a3508c230b5f3423c444e8b96edd3afcda13462dac2177f5ead55848c7636e2c67424d3617cbc64328180f252d0dc36febe03cc1d364bc2784772e913560c0009c3fafbcf20a7e0d0705274c988043fc1c0fd4a00c89ee918b4d8fb544c62efec77dfbd7beffca33cf8efaecfe73987800002d0e49444154d95b9f5bf8e89d119da4a043bf695335e16860484b9b7a74feb47afd6e1375536b911fb5634d162fac1cfdf610e45137b5af5a97d33b4891741cd97151c56f4b2a25f98b1023b6897b6fd513d71d7aff8edf252b5a8daa26e290f35814c387825ada7e5e4dab49d88029359e6d73dfa2ac19fd34190228fb39c7c7316772d7befbec9c578fc3eef4b97f18d2fbaa86c5e7ec6a0086ab35baa9cf6dbd0efd74a4e0c00f60d53eb86dd4af7b5694e3c729615bcc8b3d755fd51155e29398aa505281f5e9464af15195459ba86b02be7fde8383c5da9c76f4345e9d6d5ef2ddce6fd592aa57eabf28f6e2aa55d1ede5a5fc72fb9973950f9c2a1ba837cd51a8fd355adf9439eabdbe79802cc28061b993a18073947470168b71abfef1447ba9bcfcc29973c54af981775e928769ca9237b297c74720536a6ada54ab489415afa81df9fcc73b819a8e4658d27bdd68150fe370976894201d71635becf33e4ffd345f0b66940efffdf8a860a5f9f5fdba1c2bd63a1db6b44d2da827d403c706b3103b8f3cfceb2b3740d16e78b2ffbef2935f5fa594e0bf26a177de75a3b65ca89dbece26c02e92622a240a8f2976ee58f4e2ba9b12830ebcbb683fa2c4b8b0a08a80b3aab6ae869bd88d6fbe531236f0d66e61e1b8575494b6ad4d7ec71ba4be9e988ec0f0dec8e0f2f216bf521f42e328363cb83ca0144b82aad73fffb0ebe3f7df5063b8fd3bbf3f36b0474bcd358d98961f60704ad26a63b1b9c9c5f14a9d90283cb1d9ba7fe563093fdf99b36e9d5a99d2542d5a52f0eee29c6e23fa75eb85e6ad39a6b4b90acb98ce204f53f37be7e888ad7f7f2f4bef88df78e6dce4ccfdf72a3bd7ac7c6c4cc19d9db6add35ec4549f7104147cf6ee36a55bf4adddfa8607add97feca6b6ad21f4bb05958a2ea554d34e3b12146af7120a5eb5c73334bc8e8f92b8ff91951d64611335c8a5ac5ebcb28e2b2675798789e84b979ed2fa57dd89dcf7a15e56d7d725c6848f5c09d730cef07a22c235fc420dee4e6478e15b600476ba1d4409f2dc16128f063d0aa18cd189a5bbf6eddbc35a4e4e0ede44c4cf81e2f544ac2c7ef4d14778d20d1dfc96046ec7f1301af749deec484bbce5a2cd780303670b7ef806a70a1cc18d14da3c68d0202ccebff9e69b595959b894238d3011cba5504611287834e851683f7ba6a451fbbbc63e3ff8fe47d6befad2b3890fcd516e7d29633e96de2ab4f5ff1d1b37eebca16fc44ddde2ee5576acd9f15cea17b3ef0b4a4b5a8a96c70d08bd50f1a3eac2fe17167c127c7f70fef4745cb18306dc1c5851a1cd11e29e2c2b208d1660085460c650373952021aabd79b8aa3f9fffc32fdcd64240bb6e71e1d74ad0c1655dda1a75a31a42b3a0d782868fe8ea31f4d997f7372cc8d2d0f7cb3a3d12d23efe8d4e4d8371f3ef268ca71346feab247eeebdda271996189141da7dedbb7bceaaa5bc27a1c3e72ac51e3463d6fe9d1b8b1de418e21aab64fdb50a333e9f8d717314d77e1e4051d5fbaffc08ae92a8bc103aeadf0e4e05dbfbd7fb092fdd9fe47c7240ceab86bfd2ecd38be456cd2ed91b8a04969479f9c9992fcfb9896a507767cdb7ce4c8db2ad7499a4847ec9f3c7171f2b3439b14e52ba103fa6a7db370eab28eb3ef2b4a7b41ad376e406069c569ad3dd8e9dc00514d1b7ab677585fcccc694adaccf99d7e1f7363e9816fbed538e62c9dbaf258d0f3cb923e9af454f67b89ab067ff85fa12dd4c78278a960e3a61bfade12da29c8376a176e3c742750d3d1080bee031242fcc03e5e80a96abf4b70eba6cab9fc6fcf756eef0cfff7ee3d19dcb555ab6bbb54ecd7ee3bb46151515199ae6a4135ebb13a5dcd576e4513094e3ffe6bf2c752a0d3fff6bfb39bf637136414aa52594ec347d162ea42bbfe6b963e171f3f6776fc58e40645c6a6cc1fd3acb4d8aeadbae96ab80097ed7a65f62baf88e1bbe317f6bfb64985a9d7e54a5b856a9161509f505cb54adb698b8b41b17ddb5d282f559af449885512d3173df1bf4177c7c646ee4cdff1f1b44f87febf91ad54d7d06269b4526170aae22acded164d1a23d32837a6759d0bedeefa60e9e984f81772d6e5c43e97f0dd9c941d9d0774c28f7c1437fc47c64b8b335ed21cec1cbf30be637985f36d6a71daefbda78e18f04e9c47cecdef7a72e951253e65cdb675914f3d15fbc20be991fd6f46731a96fd63f1dcc58ba5357d13c6f7c7f5b9f2d6d5efa6b88e5e4ca3a084c594fffbbfff43e2871f7ec04f76e0c5304cdc98cbf03b1e98cbb01a820f37a18934dee6c2bb49d0ecd2a50bf6d54eacfe37ec72d4bcbcc3446fc425f0973dba5c5793b4ec2557cf3291c0e88129fcb51ffcfa349e05e3336a84868805c514be65c166c2ac7b11d844c03174e850ecf1cbe1f8b2047f2105611c02532823173f9483a7d2f89b571022e16ea15a092c638110dfc1e0a3699c2a48e0f44029c81192c211d48b4faa21b1d96cc885b2bc2259ad65a3427969f1b9d2e2068dafbf3bf12f031f29f8283979ffa9731141cd9b76ea1bd75949cb4e7d3c7be5ba75ffaffff44fa62bcfccce787e5c064a07c53dff97b111cdce3a96303a1f7eedf13fa8cf6a94c98b5eefd5ecc2796394e8a84cc75eb5039a767a282e7247da674f277c36382e2e7267da8ecfe77e767f9f81da529a5e06368c1d77759326175adef6dedf9f7fe67f9fcd7821496d91a23cfbce28eced05b9bf4e5cf4f8fd51416a80a83f99d5349c3b2c29f6ead963df81834d1a370cbba92bde5cc5b0f17fec792326e63b871c7e7cdc1fd47464e2ebf1bd4a2ace7b72306adc7399539529f33fdbb5ebc6c953e3b6cc4fdb31303c5829bb1091f8def3ca33cfa665243daab9d5f7d951239dedc6bf65171c1db1e6fda43fa85d3fe58db5b7f59ffab7e9caef67673caef54ddfb8e7e78e8db870d68e85096c0e864daf56d357ab47557bf6c3c42ffeae3cf9bf69192f382b7ce7bf8a363c9e7100ef21dcddb363ef6571f74c4a4bf9c38adbd6c5771a181799b2233b757676ea63ebd68df007b5da026e3e09d47234c2365e7d718b14f7ad787af937cd7b0eec16a8577e60ed6b6fedca6fdeb9e7ad6d2f4c5af84ddb9b7f7d73dbab7ef8324d4feb9a48c0a08fdfd6366a7a4e37ed9c929d1d50250fcbfda5f7a6640f0da8c09979415b1b6bdaf9deececa1f896052f2a42b7a2b4a465cf7bd2b3efd66e6414fcfd8db2d2920b658a8b1a86f0e094ecdf94e0b6058b94b818e0655a339fb0a8ad2b0b4cf8383b1117d5527c59591edc27211b4715e5da1d51f9b538dc187f1a7fd1003fd0a6c44f38a35cdda2111e4ba8ae559497382a6d6a704a6b18ee45cb4ae090516e4cab8d77e89c3951d669fe9acfae6ba1fcb8fda3d1684f9b8ab272a541d31054e1f4af69135c714c7fc2e2b9234a144f9c9533c7cb42ff7f7b671323f97555f1f1b4a7c79e8f042548c402842d8191921db06281940558c15136412cbc228a9445221114294124c006565e24f6c642511691226111841d094511f22e8b286b582390f8b0b220b1e2e91ecf47b7f9559daed377defbd7bfaaababbabb7ace5bdc3ef7dcfbee7beffc6bba6effeb63fef8fb6ffdd9adddf7ffed8dbf9a5c11c4e5c130d9fd643bfc0ab9be7bed212fb74f2fdf44c0530cfdcae5694b5ffafbf2cb2f73f3857a58be4284677012782ae73e08803b207ccf365f24c29329cf80a42dff1bfb147bbcb853272df692bb73a640b59212c603a662b9d87e704920b115d0829884c79dc68f7214e2731b7ccca2d9bcfa241a9aef7ce73b7c46e9cb5ffe729380cb0715b837c65722a92cdf8fc37b5afb3431dc94e67f1f9917e50b397921988f8f70fb8d1e9147158f333e774cbe8e0fe0110626c4a7439e7986b7bb0d8cf15598c0916949f9ae44be8ce6473ffa11ff5f160579b323af0b7ff39bdf641bbc4cfcd24b2fe17228b7aacd4a23ab509f64ee14a21b6d285fdff3d9cf7e969b8bfcfaa6205abdf6da6bb48f5c0054e5a3d0fc0546be1aeee557a9993bd7ae3f75fdda9587f7f6f85db873fde68ddd07fc2fb1bbb7efdf7ff7cad5dd1b377677eedf9fbc7be8faf56b070feeeebf7778f05f5ffb833ff9f16ffdf50fffee934f4c33af3d797f8f972c1f193b376eddd879e2fd07fb77dee3dd263b4fddba718d5fb2fb77f626ef3db9b273e3e6d3fcdea128ef9ee13b7fe93c6f5e7dffe0eaf56b3b4ff0c4c24e9eba79eb1aef3b7cb0bff7de81f0c183fdfdf70eae3d7583a4fb937577514324094f5e399cbc6b6e5afd918d3ceaf09e4bfe99f171161e0983bf71462e8d2b55c57ef22f5f7be9e51ffff93ffcf0d3cf4dc4b87deb1a2ff8de3b183ee0cf7ef2effff1b39bbff9ec3357deff9f7ffecbcfbff2e39f7ee5efdf7ae197ae5eb97aedc6d3d7771edc7f9767408eb57bb07f67ff91a3cc2e04cf5ec4af4d64b9f2d48da7af3d9c5e9a898c07f7f6266f467feac62d6b78fdc6ad5daec1012f28bfd75cd9abd79e7a9a32c70b3eb87b70954bade4dda76f5e9fbc7ff1f0dedede015bdb7d7867f288b876ffddbde5a5b65c01f31458f86864e2f803925f4103ef509cb7de28cfcb200bff4fe76f7ffbdbbc377ab4cccac1a3df61fa0538af0af79726ff6c69abd6d1b2cc5b85dfa73b34939335aeeeecd0ffe94dbe73d34f18d87bede39ffcc7e3391ffa9bd75fffbd8f4c3a339ea3367fbe4ee7bd7ffdf827bf58b6f3e2ebfff4171f397a8d5d2feb8fbe21f578e6001a7cf4ea772f77106900f8e2249e4cd913cf68cd7cdd38e44e01ef53e4ff92e023aa7af26dd2e47ee31bdfe0799f2994620034780a9ec149c8ae7304b0fde0912612a0813b83939f2c0d8315aed6a4b6b72e7b6e771375361f03b732c26626b1d9f014005c75c540aa2de36baef9aabf260197976be9b1c8e1e22137b6af53670d46f598a3afd27d445e6b564d9aaaee459949318af0963e5e3bd6c45a5f787015a7f198e3c14a053ebacf4bcc2ccacef50587accbd7ca7317fdf5d75f278d8f42cf5b42db70cd0a549f2ef6539ffa14afa1f3599caf7ef5abbcb8fcdcf49e225fa608433e1df38b2fbe48dac8bf9c9155ea8afc49bdff70f2f7dce4e087f7f7efdce70bacae1c4eff479cf71fdcdd7bc0bfb9c9d5a573e137d924e9dedbb8fff9f39fdfb9737b9279878fbb74a21dde3dbaeb388dd06fe8e38047798777f7f7382945f728ca376681b88140af3add1959f7f6f706315fd4cd6dd0e90e693aef6847b3e46e17d36ad5dcbe751377e4ba105d58a52a76fffe448c77dff9f99dfd8918d33b9914183ee0c17fffe0f37ffa5defe7432ffeedefffdaee13f70eb8a372779f7745cd8eb577d86e62762110ea90ffad68f236f02bf7e847a7221ec938ddf7849c2e8047c33ab9ae4357962f3ce776725d9034fe2f5a25f386cfd9ad61de484a153d22260f89e5a59ed4ca18556099472305a61776b8107f2bf20b61f017ddf084392cf711f9037b4ef0986627239b39ce5b05f18f72326d417db226790bb25659bfce997cb04c6bd021ad7db50f7ee1adef7ffaedb77f3af9f776eb373ef6fccd271f70fb54cfa09b3fdf54bf7aa60ffece5bdf7ff3edb727ff15f5955bcf7cecf98f3c39b9ef7bbc9dc517a54ad7e1c14b05c933176fbee797194fa0605e59e60f1eee2352808f67f1aa342d267ba59b7ce79d77004cd1e856688959e2e4a76202762127b159b4e6b4b52e987f0e6da2943a7ad4d4c7cd541a45975489cbdc64c230b8f0dc56d4b56f127a977b814c31afbb71fc12e4855dbea410be469d06e008dcc3e33e366d13cf9bac88a569d3ff3ac5417446019a51ba3a95f2d96bb579abd41cf686cba20c6d8096977b8a9ff9cc67b80bc86fed6f7deb5bbc8390dfbc5463dd3a57787c156e85f2cf86fb886fbef926f744792b2477e399a873f1fd52bc8783dfecdca8e73823a54642fd96cc1c4e5f053876cb459990bbbffeeaf7be7bffca2ff091c8078f667aca32e0786f8787ea66969935cd39f184a52b4f128f37b6c4b45ffdc357bffbbbf76f7ef8f6e1f4ee689d715c67b6dfdbbffd851f7cef8ffef7edffe3bcb79f79fef9676edc7d776fd6902d5ef7b8a09719a01c1b00dd955d52f866de40e5509b5360fc22f31e1b5e1ee1770e7f559ef4ce227710f935a5d79ac757d1e9f885b94cdae6a4b814950fafeedefee5e73ef02b93e785f70f1feebfd7bc1273c6873cbcb77bfb179ffb009fbc9c3c953edcbfbbdeed0c3e607820f1fa189fc5e4899227b84f7ce2137cfa93d71ee908393ddf04cc2b72bc3cf8c61b6f7cf4a31ffddce73ea75b898406ab2d2f58dfd5d467e73eba7ce5b3c9dc549bc8c9fb664872983fbd3a546864d2adc1175e7881f7cfe9c66c9380cb06b4076d92c6ce75f49a357fe2707f8e17a3791f2bf98ef6a5f8e383975f5590a549d0cdea3e13468b0e86204756f114ddc4e121ab472d07e441cfdf3d7c712398ff84903df05b5be71a2c3848ba3ed369016967f987441dbe469bdba5443923cf0a08c22adca5e755d7f13ae3512f77327070e5f66dbea7ef0a9d727bd54f56e882669f4cb49ddb1f9618dd3f81fe780fdf7bb87bfbc3cf4ed523faee9dfda51e6d7da1308f93020b1f90bcb831f21f31af51aa8dbde2bcc63d6e4129de9759dee7b7f0f26efc441bddcec8f1784d8f2738bee88dbb1e3c81728785e77d4ecb5f3bbcdb8a2f50e4799637423c37fdf0cae654608775938deb756b8ec933061b69133958d312f5ccf2e7b44c806634ab509304481e077c0b741fd5a2e4d4d54953a67a44fe3ee613217ca9a6fa3f3215ad538ca7538fee4b3bad7fbb83f2b579cf6d80a7377cef5247fd222166d1b4d129f202313d2bf7d2b995c84d47fab9c18283a497a0326d2e03c01f52cf3efbaccec2720ce67aba81e756301ead99c15620a2598a808ba0401e9017e12a640fab2930f2e8e5260b1d02df2bc7b31b2f39f215223c5db20a3d034fa0bc3cc89befc9d1d3e8f8ea7a4eaf56f930e31347a2fddc9e1999be89d09adb449da75ea1939e50f9580f8e2ddc9c9f6ea661ec72f9197617026e28f2b0c0f25d337ca497dbd1fc91c158387170637acc2d9cbbc604a4e0bcbc0644cd651edc234b732245b9881cc467d1357574a4424251200a44812810052ea6023ca9f174a9274aee86f0e2b29ee6788e8364cfbca4c6339d9ffb464ed137216e0904aa3b52a70f31b192ae53c933c3eb6c133949df205666e454524115b0cb64f25f18bff2ca2b5ffc62f9b4d46c1a15f412f08c58f0934d32f82e18ee3ff30e561e1fdc59e48ba6219929bba0c4a9c3a75c8523eb956869386f3b275aa5268f5f9466b93ab109c59da740449ba74cf87351200fc873913d8bae4581f1472f4f677a46238de77a259b74d738be93575f7d95971c354bd5e6e52bba4c66ada0fc86a9ee99e1f5b4899c67fcaaf4e79170f0d262de7445ab7529de07cd9b09f844fa97bef425932b035e54e5dd787c3484ffef84db8afc3dc18739b449d9952b2f39f102aeb2f296569eb8a45697322da25dcacbbabd87ca03727baf5d76befca377f9ccaaead7bffe755e9ea60931499d6638d400a5890437d185ee0a5316d61c4f38417be74e4ea0b176010cee6c0960b9c16b463c568310c05699dcf8053008198b11a92960befa88f71670dbaf5613aeebc268334c11682c1a918385975e06e3f2251a05a24014880251200a5c5805dc5709e86621b81fdc2d12490e032c462e1657980f7af27a26ef4c8331296ccb4b9a9a020356352557ab824401b6248035c40b237205726d2b00af6bace76ee292bbd1f1063b3085b044b12e68dea086f81f41f4dd816a0d7b4b35869a4b26ba5f146f4b086cab4c6c4614880251200a448128b0bd0ad06669f36a2d6cdd54182813eb2e0d3c38d4e7a9948bbb8e8015539aa3e62b68a6d4d0b9e3d3b6899c4d0dd6f84924c160e66068503291b65a111760b201845814922b4d8fa8e4f1ad2a4afe3269c9890251200a44812810052eac027ede17b005348323f0d40f096842d55554e7adbc268aafd1ca8035a52147f2e7650ef29b204fdb262eb3274459a641b476556b910eb15c65c0ea0255bf09e12a5f3da2ec321b4e4e14880251200a4481287009145027c041dc1208f70d837a44d93edad7a93912aa67eabaaee00d6856636b5a133a1777f53691930c367f3a86a2f3721a157a1746836a3378ccf4e4483221f2d5230a6b87b151200a4481281005a2c0e556c0cffb02b6807e8cf4887db218a9d744212b5315861f711d525a93eca8c078b4495ed95dbd4d5c6dc97a2ab0864bc96d6e0d129d252ef8a93b8b354973559fcb3fd2d77a0f0151200a4481281005a2c0e5508096400711b0adad82f0788f48917eca205333bd3499c27d548ca3170dacbf4d448bc16eacf252d66972b1bd7c0a557e1e03ef5b86cac13251a4741723dc5842ea32c57b6f4d5adc281005a24014880251605b14a8cffbc6809131d82f0e9288d0d431237d1c350fa39099ea1a5750a754fe6cf02a6d223b3e5117d5e437aecf09cf902b2c5718de640fb87eda520d89ac9f5c81914bb2812662992bec2d054481281005a240148802dbab00cfecdabc80ad809a3f120420351a77461f7d6d8ddd0650478c01ae57371663dbf08debb479e0a4f9f3eacce3576913e7d56a78b6def45ef5308e320b2c575875443a2a779e25cd2da072e47aba6aeac2b32b7a44709a42c9121b05a24014880251e0522a404ba07309d8aa55c0aa31b05b41136adc9ad96056145397ae2451b94e1063b746459e975d5b9bc8096bd7d5b83a704dd08149ab9960650e8249ead0e0cae9d6a08366540d97a519a4695d1800ae7830c0b602704614880251200a448128b08d0ad01868db02b6007502000ddc193cfed9933d739cfd28625d110256cfa41901f871a64f68f237e1aea74d64eb6ab306b728459ca0e44a0a3357a0b14c6c185cae53cf436a03ea1a950353bb43667990e01035e1bdffc6351f1005a24014880251200a6c85023c957b9f60bb001a8029316008d5a8dcca78ce20c98a4ea8c0bcb6a49048314d82c90a9855dd33c0eb69139b8d728cda72396abe02612c834c5b039193f0d0e022b1161180ba4365c9d55ce590d634859aa8ad6aae30b31402644481281005a2401488025baa002d81762e403f80ab3e41d62ea1ca831bc6ae41935f0bbaac418d82e1156a805c5b679a3963b086369133b8bbaabbf7d99aa8f2b1029e22774a1ff58bc258728cb93cb86ae3c06aef2a5041b78cb8ee0e4963a286d2288b0bd62ac2758ad262a34014880251200a4481ad53403d03db762f51b15b8b0a98a25990c258250c0293b588b0d6027b5180464d98718f8434ab09e1cee3fbccb530276813d999bba8796bcfcb312f605707c6d550d99977fc93758f9d19e2c2f43da2199562226960004351615b2faab4ea0ac74681281005a240148802dba8002d83b66d803beb238e7f42badbaba06265f7cc7195593b5819b037605e8c76625b8113045ca4e1abbb4c4ecd5f129fa04da4229ba0bb5ab27493a60330dd45c43416b7195c12cd82376e002ecbd10536808922010c72642935258e4ce5b56da509c74681281005a240148802dba8004ff775db72b11e4485e91f4c0adbf6a099d2cf7529032dd4d8ea9289bbda38cddcf1154fd62636b5d8566da7ec2e043a0fd6803a726d590bdd75ffcfa4003cf95872d4052a4df995d7f68892c95c2c8c480159f1580fe5d80d880251200a4481281005b64e013df57bdb72d54bc8121250f30006304c0a57a6e69857be2dbc2b9b6c18b9b64b02d26aa6dccdd953b589755ba8d0b456660cfa7c85b084b015341817d15902abd6105c492ab865d4e551efa8454966a882307305b0e4c82ab977cd074481281005a240148802dba2807a09ef562e56037e068f7fd22a3008091000c81a28bbbac2c7550af22a028dc5ad8379720d1ced19873607d6d6267a8b1c83964b16b2013aa4aca2b2838cea10427d3043004624739bd6901c93004d1198cc2fa392c2580f128d03a24014880251200a44816d54806ea16e5beea487980e423378fcd30d9f00d6802463014d03ab94c9a6727585b1061431ee81a293ecf318eb6f13eb29385bedb7e4da924954e737590118c59523c0145d0ccd35968b55d76897b90cbb442b23ac04729c56c1948e890251200a4481281005b64f01f518ecdb401857c3ae3a0a48804202b615f4b89fd8d4f742f0c602b6000de5ccbcf3fcb9629bc8016a77357e02257b4a75c176857bcbc5602d78c0c1c181000cae9ac28ad98936662b50f91aeaa33a8bf9f1a3251a05a24014880251200a5c5805e819b43781ea82e50aa8f3235900526019dbcf52cdde922952c0d6802878c971a2e4256b36692bb6894d15b96cd7dd95b140b52457172c0650071746d5208505680dc987d1a2e468e0027a2bd2bcc0d19ca17c1232a24014880251200a4481cba4002d04c7692cae0621b58306f06246ac42ce34d0428e6a09d97e0f30e3644d103e4b7bda369163bb0f5b66dfe493c614014d372604b68bc464d217c280555fcb2984f50d4595edadd6c2560056e6943e6e2eb5848bd80d880251200a4481281005b64e017514deb61b0c4083c5544b8f81dbdb86944b9a32ed0258175bc13cec1d2e03546499ccd3e79cb64dd40ed8b11a2f81c6ea3cead2c817503e2e51864880190348a47702d837145d44a0b7142119be19f062041a8b9b1105a24014880251200a5c1a05dc607022e30ac01e741aa4a9ed1bb422953f0fbb9a8196c6b5aac24a70d4a418db0ac06733d6d3262eb3578e4d67a6ccaa0864ef227a7d1b22393075957a13115e95554a4da4b0192538842bc640c545ba605d31380a4481281005a24014d82e05d472b1670361b96a3f84d566806bdb27d78c0056c05131581557146c40a687372006570377062fd0cff5b7899c53cd960e0c1663eb0464003304c894c4347390600312c08ad634789360420c55235f2e966ac20635595364e11512888d0251200a4481281005b65a01b5193a82b06d05e07ed06340ca1a54d7090d70b200513600f6b0a46214ad165e39069e7296606d6d22c77043d61fa0468d7d7e4d9410d83aa4ac32d52992cc100330c92cb58602b2a4b95f14c64e0b1cbd1fb1965208ebe1a89980281005a24014880251e0e22b401b503729d72440d8a07672c258a2b215181352d4764a1c91aadc58b65419b98daddb16668a73fae8469913b789ec55cd530fea4615adb689caa514390c5cac5d303243eaa5e749c674c0c0bb7b13a01124288c65e09a54c83c8022722b00cb6d80dcd8281005a2401488025160eb14a007d09e0d70c1721b20b75a5a0ebbc24c07081b3847a0e698a939de0324b80e31d5d628d8537ad064aec53d719bb87055f6ad564c99727d184f2707523cb6bae8ae0af0601a3eac260abbbed3e049d8d9d98101635513c050545896e40ae46a0959a2d50d8e0251200a4481281005b64e01b519deb65cdb0ac0726939846dc5500446d8d6c9000de7683aa4eba8c23c57bc72bce1deada133c0eb6c1339a1ba2b83fe000a490b92ab4b326aaaa58397ab1c6155530299b88ac2908fd5eab55984616815e58bc1ca6d2cae8612665e7e4681281005a240148802dba780da09ef5b6e637135489bc1a39f6af2cccb9525a302b0dd1a52a11a5235d7b40be807d3451af4391b65d6d926361be5486ed17cbcca082be404cd4250b57d00cad6d610978930b4836e0d5dd68c9a45f866683aa4406371359430f3f2330a4481281005a24014d83e05dc5d68ebb5e530ae005c07b3e4d63e4f58fd89b113000c4d34a835859550ed204fc2f98e53b5891c69bc9d5242b53eade460baa248a90e4f9a821b40a649cd926b0c1016c0924071563403b02b605b41837133a24014880251200a4481ad53406d80b66d2c605b01582e53e843e4565b496381c6da05508d220672bd50dd9ec826a4846a1726d4e4d3e053b5895e98edaa0313a3dd57a6f2c2447d4884534b67a010ae8a88976d6e2292c0d006842925a022b8ac280c0f5654c0163082158d8d0251200a4481281005b645013df56bb73d1683357026fd0658212cae7105e2956cac843a8552720d94539780c16d86d3cc0fa639ba09b09e36d13be3006ac52a230cafe30934ae4f2e80a06aefd414826154195b316e33b4079372d98318016fa9ba0d564e6c14880251200a448128b0ed0ab8cde020c266ec56005e38d4fc29cd1850715f441b80af3bb1abfc466d451bf26cdc55da44b64bcba5fd19374047aa69e4e3c233041a570511570d6205842099a8224cc4f5bb0fc1301ece31033029d058bb808c281005a24014880251e0522aa04682a30934d62ea00ee59b7117086f0c905b194d3183eb52028dab04c88637d300a589dc905da54d5c7e2b1c582d5a9d5255208a7cea0b9d63a602669106a3e64f2e53000c918d250a83557d454d2a246b12a0617e46e46714880251200a448128b0650ad021d41ddb1568ac5c3a0da63804e88712c8aca1ea1a1b381346d3cdd41d0a13eac97361d6d02672183555063e64e5756698e6f03dc37444546f072001ece9c29a85659861a298c672df515b32af4c93029534131005a24014880251200a6cbb02b5f73016c06af88c33e2919f44f1b14de76746fd5f8d56ec5aaa635735e57a890ac0d555bec833b06b6813fb5d72061a329f0a2c466793dbcf6a18c455a7080f6696ac4ab935747140c5cc12232bd71bd35a84e601f1b151200a4481281005a2c02550401d0807e9814985b01e0ae11a382472b01154ce48a82922b76e43c5cd00ce6bacd8267200f75827daba4eaeb92a622dfa3aea0bdd11aa6bf4d2b58830d6836a6059834a1a5700ce880251200a44812810052eab02ee3a04066d43e26aa04903d40b8a375ed8202a5f0abba0dc1359e69e287f85e415dbc4792bb163f56415900c694673e5dace2b08af66d140f5fdf9155c0d121a802b122b2046d8b602b0863367447e4681281005a2401488025ba6006d46b3633302d5ad9859b81ac606b3c8f05d464707818ad802344806684a65448a397bbb9e369153b9afaab8398f425878f2051adc4cc1d5ac7a2b91b90c87e46295a9824ab0ad512fa1a8f24d0a38d4f071a34014880251200a44816d51c09d86376cc64021b95803f841b792c29ee21b8ae61be09a9e62e01d364009222b6ed236e4aede26b2d7f15eca093a9592459a11e06c448d7d5418ba4385744fb11601db55053158262a645e3545da6a45e57bd180281005a24014880251e0122be07e43a05a4e8d2b46d84cc3cb55a6b15d9a9666a2434a76d4ab54a692e0c1a18283a13592c7edd40a45dd8a696e758d2ba89829b862041a2cd2697d54a126a1713d0b5e430cb80f993c4acd8f281005a24014880251e05228d034556eda74b81aad21b086d3ec02208fc2d31fd5adb84e69b0d2b002448d1ba004917da8f2ebc5a76a13d98abb2e6dcbae41cd81342f30258e3f68b290ac099eab256aa86ec6bc77224639b683a4a30151200a4481281005a2c0b62be03eac1e44e43c4b262147054c4e238ff48b35646cd0d469aa91a64c818a9da950e33a7fed60f5179dc7b7c201061baf86d739c9f4818d0d58a8c7aa03af28d6a5c4684a9de8cc3acba43700635238360a4481281005a24014d846059a27771dc1a440b53ea34903cf3523000fd018c4f3481554d4b8026a56f75cf07033b7fc56d472d5fcca1837a077c5d8028c292eb767b4aea24ef3669a7c25386aa034bb0283649313370a4481281005a24014b8c80a0c765a23a442d5ea74302605e0a7dcd1ad44bb4e1b6114c21ad49a95eff13c46fcdaed69db4436d47454f35cf302bd5b19b0dc0ab496f9ea4a973e59bca39a6252a56ad4a180281005a24014880251e09229e06e8c73f5b8324e108915902076458eb80ea9a0f35dc70b0d829a265cd3cc6c0eaca14d6473b5df6adc1a321618741d0218bba619819e876948bb154c92a6c37566c402be498b1b05a24014880251200a5c5805d496f5dbeb79330d18742b293c68210779eda78660e4d6508f9b34256cd46ea44d64c7b5fd1ac4221daaa086c08d2b391ade2bd6640b27d2391528c7099e121005a24014880251200a5c3e056a37c6e9ecf64067175fad67418aaf8cb078db26adc9b70b18c17d54cc46eda63ec252378d3aeec38c2d99420d0fe9845a4a58514df1448534cbcb19d4a88b08d836c9e603a24014880251200a44816d57a0ef2b7a86338a74c8a00999aff9c6355ab1348431e9b20e095c107bdcc09d72437d8fd530d56db0dd065457b867b4edcac3d86da24da84953726c14880251200a44812870e91558b251539a930dd0076c57604a3cf2dd874d42334baea576b298c66d923d6ba3606d6d22bbecbbae86a96e8fcd5460acfa721bb25fba49abf98d9af342f3f8667adc281005a24014880251e0c22ad0775adaea3c9ea8430276ebc44a3aad21ed36c06e5dabc1bd3bc8406e7aacb34d64af7d77d530f35cf18e1aa866e37aa19e7708e0e134833e6426200a4481281005a24014b8dc0ad45e4d2735636005cc181012aed675fab426dfaea62c74fb044fdc34d8789bc8019ae66cc455c809062e32c2d490f32b0037a399d244e34681281005a240148802975581dacc356774c840097605ec129dc78c879ab283ee08a9d046ed9adb44f63ad87bf564657adc3352c1bc415d7190b47c35da54734e4014880251200a448128f03828509b3c9d779c71d48059c60695341e8f6a75d99a697e907474a360fd6d22dbed1bb241b249abae70cf580b870cfa50b3689fe9290d583eb39918370a4481281005a24014b8500a2cdf63d5cc79584773d4a0e17115aa09153b4113fbe9e69b59e6cf066ca44d64eb839d564f36cca03b4856759c6050a3839b9997e9890b139c191005a24014880251200a5c4c0516f6587d42cfe868e60d7ce486913b48ce9b02dfe4378b7ae219834db5891c635ea7d5f30d33cf9dc73792d5b48a9bb4c65d3eb39918370a4481281005a24014d80a05065bb1c19dd7cc8a6b72c3db3550f2b84b4e93e025e6f14e3803b0c13691ddcfebbd06f9866cdc5aad0fd568afda49f3fb0a61a24014880251200a44814ba6c0601f3648eae08321930656a9611a77a426a1c164573e33b0d93691630cb6683ade60a827c7993e6aed4642ce69c00a539a0a71a34014880251200a44818ba6c00a5dd7c8941aaa58a75e8621b34fb3682321e79c0dd8789bc831c67bafc1684ff68c046af8c61d1171f9cc9122094581281005a2401488025baac0f2dd5893d9b83e7ecff70cc983e4481187ce1e9c459ba8538db465f34227e547169a57eaec15cf8a51200a4481281005a2c0c55460b0811b24bdff79d193f2149c37c56b9d3d38bb3691b32decd5e625cce3a5d778b46aba7c669d151c05a24014880251200a5c6e05966fd1c633e745e7f15675618233cf129c699ba8832decd5c613c6a34b2e71961267ad281005a24014880251604b1558a67b1bcf198f22cbc2847394ee1cda449d762dddde324506c55d79e260b59051200a4481281005a2c0362ab0728bb670e2c204e45a26e77c553db736d1c75ea6635b26c7050127cdaf7383a34014880251200a44812820054edac92d93bf4cce05d1fffcdb440bb17c6fb77ca68b0f8275d5192c1e320a4481281005a24014b8b00aacab575bbecef2991747b40bd4265a94d5bab7d56679d180281005a24014880251200a8c28b05a9fb7daac916d9c65e822b6893eff7a3bbff556f32603a24014880251200a44814ba0c07afbb9f5563b2f792f749bd888923eaf11246e14880251200a448128704114b81c7d6123e636b589cdd6eda67db4140151200a4481281005a2c04615b894ede03cc52e439b38ef6c837c7aca4159424681281005a24014786c1578ac3abf135de5c7ae4d3c913a498e0251200a4481281005a2c063abc0d5c7f6e4397814880251200a4481281005a2c08802691347c449280a4481281005a2401488028faf0269131fdf6b9f934781281005a24014880251604481b48923e2241405a24014880251200a4481c75781b4898fefb5cfc9a34014880251200a44812830a240dac41171128a0251200a4481281005a2c0e3ab40dac4c7f7dae7e451200a4481281005a240141851206de28838094581281005a24014880251e0f155e0ff016b4c78787b8d5b670000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If all is functioning properly, this should log the new todo we\u8217've just added to the todos collection. The newly created todo is also saved to Local Storage and will be available on page refresh.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 window.app.Todos.create()} executes a collection method ({\f1 Collection.create(attributes, [options])}) which instantiates a new model item of the type passed into the collection definition, in our case {\f1 app.Todo}:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+ // from our js/collections/todos.js\line
+\line
+ var TodoList = Backbone.Collection.extend(\{\line
+\line
+ model: app.Todo // the model type used by collection.create() to instantiate new model in the collection\line
+ ...\line
+ )\};\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Run the following in the console to check it out:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var secondTodo = window.app.Todos.create(\{ title: 'My second Todo item'\});\line
+secondTodo instanceof app.Todo // returns true\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now refresh the page and we should be able to see the fruits of our labour.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The todos added through the console should still appear in the list since they are populated from the Local Storage. Also, we should be able to create a new todo by typing a title and pressing enter.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000004f40000030508020000007cb23f0a00001819694343504943432050726f66696c6500005809ad79793c55dfd7ff3e77c2755df33ccff33c93799ee759b8e6799e55322453194209151551d1604a089148a242033244a68a8a12f29c5bfa7cbedfd7f37bfefb9dd7eb9cf3be6bbff7da6bafb5cf3e67ad0b004b23213c3c18410540486874a4b5813697a3933317c914800029c0016e404af08a0ad7b2b43405ffe7b1350eb3e1e3853851d7ff49fb7f37507bfb4479010059c2cd9ede515e21306e0400d9ea151e190d009aa88f2f2e3a9c88f3614c17091b08e32b44ecf707b712b1e71f3cf49b636bad0373660020c51108917e0050acc172ae582f3f580f1e07008626d43b2014eec60563752f7f8237002c1e30472c24248c8873612ce4f91f7afcfe0313089effe82410fcfec17fe602f78407d60d880a0f2624fcfef1fff312121c03fbebf7c1015f7151413626f09d01f65bbc1741cf06c64c303eedef63647a20af0e8fd6b63e90b707441bd9c2980ee6bcf48f31b43bc04b3141765a306683e5bb416126443eec270453a8a7b9058c6960cce715a503fb9e38164221d1dfd6e18063eaeda3ab07637815211c23c3acfff2fda3626dfeca1313fd75ccfff20309c6c478e3617e36211246bfed419cf30936208ecb03cb6f84475b12ed248e351c1a6c7e3017c47bdf487d228728ffe913f57bbe44dbfca3fd6d0d61396c33922a3ad296c881e78864f30dd03782316c1b52ca3fd2f0af5c333cf8f79a86fb226d2363ac897ee083b1af4fa81dd1874479b6374197e85bd827c872a00f082012f8004f100a96011730053a40f7e0ca05cb436199170803c1f019c945f9b705bd881e45cfa1c7d033e8d77f6570cf031e0800de30fea3eb3ffac3721b90083ec25a7d40d4dfd1502c2875942aca14be6ac2a70c4a09a5fcb76d78ad65ed2f3eb0d50fee2b7ea05bfbc0fa5858e3de5f9e7b406ae45f7cd0c7f39f1effdb267df01ef680df5f86d475a965a9ddbffdff9d31460fa38b31c4e863849199c8bbc87e64377200d98e6c015cc807c856e410b283880fecfa3b0a019610bd42f470143081bde803627eff0afd3bde7f7929e61fc68106bc085e1e58c3bd424110dc16f0cf08f6bfad0ef85f5a626086273c6220cc35f9271e0776a10460efcaa3b4516ab09f611fa318502c401c25077b5c0ba501c7401e96fe1bc5ff9e8d38f0fdededd8df7309028bf03c42a27de2a3e1b50474c2c2132203fcfca3b9b4e0ddd2478ccb28d44b428c4b464a5a1610f75e220780afd6bff75488e1d9bf329f25000ec1eb986ce45f59e01900eafa0060ccfe5726e00200b31800b79f7bc544c6fed18722ded0000b28e1a7821970005e20047b4406280055a009f48031b000b6c009b8c16bd81f84c016c78123200564801c900f8ac17970115c06d7c04d7007b48076d00d1e812760048c81b760062c8055b00eb6c00e0441241005440b31439c103f240ac9404a903aa4079942d69013e401f941a1500c74044a8372a042e83c5409d542b7a17b503734008d42afa1596819fa02fd44201138041d821d218090442821b41026085bc461841f2202918848479c469c4354216e209a11dd88278831c40c6215b1890448722403921b298e5442ea202d90ce485f6424f218321b5982ac42d623dbe0b5f80239835c436ea330285a14174a1c8ea421ca0ee5858a401d43e5a2cea3aea19a51bda817a859d43aea179a02cd861645aba08dd08e683f741c3a035d82ae4637a1fbe0e77901bd85c160183082184578b53b61023149985c4c05a601d38519c5cc633649484898494449d4482c480824d1241924a52437481e903c275920f9414a4eca492a43aa4fea4c1a4a9a4a5a425a47da49fa9cf403e90e1915193f990a990599375902591ed915b236b267640b643b586aac20560d6b8b0dc4a660cf61ebb17dd849ec577272721e7265722bf200f2e3e4e7c86f913f269f25dfc6d1e044703a38575c0cee34ae06d7857b8dfb4a41412140a149e14c114d719aa296e221c534c50f3c2d5e026f84f7c627e3cbf0cdf8e7f84f946494fc945a946e948994259477299f51ae5191510950e95011a88e519551dda39aa0daa4a6a596a6b6a00ea1cea5aea31ea05ea221a111a0d1a3f1a649a7b94cf390669e1649cb4bab43eb459b467b85b68f76810e43274867441748974377936e986e9d9e865e8ede9e3e9ebe8cbe837e8601c920c060c410cc90c77087619ce127233ba316a30f6316633de373c6ef4cac4c9a4c3e4cd94c0d4c634c3f99b998f59883980b985b98a758502c222c562c712c1758fa58d658e9585559bd58b359efb0be6143b089b059b325b15d661b62db64e76037600f672f657fc8bec6c1c0a1c911c851c4d1c9b1cc49cba9ce19c059c4f98073858b9e4b8b2b98eb1c572fd73a371bb721770c7725f730f70e8f208f1d4f2a4f03cf142f965789d797b788b787779d8f93cf8cef08df75be37fc64fc4afcfefc67f9fbf9bf0b080a38089c1468115812641234124c14bc2e38294421a42114215425f4521823ac241c245c213c2282109117f117291379268a1055100d10ad101d15438b298b858a55894d88e3c4b5c463c5af8bcf4a3048984aa44ab4487c92e49374962c90ec97fc25252f152c7545eaad348db4b174aa749bf4171911192f99329997b214b2fab2c9b2adb21b72a2723e7217e45ec9d3ca9bc99f94ef91df5350548854a8575856e453f4502c579c50a253b254ca557aac8c56d6564e566e57de5651508956b9a3f259555c3548b54e75e990e0219f43570ecdabf1a811d42ad566d4b9d43dd42fa9cf68706b1034aa34e6347935bd35ab353f68096b056addd0faa42da51da9dda4fd5d4745e7a84e972e52d740375b77588f46cf4eefbcdeb43e8fbe9ffe75fd7503798324832e43b4a1896181e18411bb919751add1bab1a2f151e35e139c898dc97993395311d348d336338499b1d919b349737ef350f3160b60616471c662ca52d032c2f2be15c6cad2aacc6ad15adafa8875bf0dad8dbb4d9dcd96adb66d9eed5b3b21bb18bb1e7b4a7b57fb5afbef0eba0e850e338e928e471d9f38b1380538b53a9338db3b573b6fbae8b914bb2cb8cabb66b88e1f163c1c7f78c08dc52dd8adc39dd29de07ed703ede1e051e7b14bb0205411363d8d3ccb3dd7bd74bcce7aad7a6b7a17792ffba8f914fa7cf055f32df45df253f33be3b7ecafe15fe2bf16a013703e6023d030f062e0f7208ba09aa0fd6087e08610d2108f907ba134a141a1bd611c61f161a3e1a2e119e133112a11c511eb912691d55150d4e1a8d6683af82377284628e644cc6cac7a6c59ec8f38fbb8bbf1d4f1a1f14309220959091f12f513af26a192bc927a8e701f4939327b54eb68e531e898e7b19e64dee4f4e485e306c7afa5605382529ea64aa516a67e4b73486b4b674f3f9e3e7fc2e0c4f50c7c4664c6c449d593173351990199c359b259a559bfb2bdb30773a4724a727673bd72074f499f3a776affb4efe9e13c85bc0bf998fcd0fcf1028d826b85d4858985f367ccce3417711565177d2b762f1e28912bb978167b36e6eccc39d373ada57ca5f9a5bbe7fdcf8f9569973594b39567957faff0ae787e41f342fd45f68b39177f5e0ab8f4aad2a0b2b94aa0aae432e672ece5c52bf657faaf2a5dadad66a9cea9deab09ad99b9667dadb756b1b6b68ead2eef3ae27accf5e51bae37466eeade6cad17afaf6c6068c8b9056ec5dc5ab9ed717bfc8ec99d9ebb4a77eb1bf91bcb9b689bb29ba1e684e6f516ff969956a7d6d17bc6f77ada54db9aee4bdcaf69e76e2feba0efc8ebc476a677ee3f487cb0d915deb5d6edd73ddfe3def3f6a1e3c397bd56bdc37d267d8f1fe93f7ad8afd5ffe0b1dae3f60195817b834a832d4f149e340fc90f353d957fda34ac30dcfc4cf159eb88f248dbe8a1d1cee71acfbb5fe8be78f4d2e8e59331f3b1d171bbf15713ae1333afbc5f2dbd0e7ebdf126f6cdcedbe393e8c9ec29aaa99269b6e9aa77c2ef1a6614663a66756787e66ce6dece7bcdafbe8f7abfbb90be48b158f281f343ed92cc52fbb2fef2c88acbcac26af8eace5ac647ea8fe59f843e357ed6fc3cb4eeb8beb011b9b1ff25f72bf3d79a6f72df7a362d37a7b742b676be67ff60fe716d5b69bbffa7c3cf0f3b71bb24bbe7f684f7da7e99fc9adc0fd9df0f2744127e7f0b20e12bc2d717802f35705ee40400ed080058fc9fdce83703fedc85600e8ced213d84165209c584c6624849a4489dc8d2b00f70180a02be850a4b1d4c3348274f5fce08988298875915d8f2d9573935b9f2b84779b17ccafc4e0241822142aec2da22ec221ba28fc44ac58324d4242924df4935481f97b192e596fd28774ffe848295229be28252bd72bc8a962a56f5c5a172356f7531f52f1a2d9a47b4b4b571daef743a75ebf42af40b0c8e19128c348c998c374c864cebcd2acc2b2dda2de7add136ccb62c7654f648fb5d871d27e04ce68277a5388c3abce936e73ee2d145b8eb59ed55ea9ded93e0ebe767ebaf1d20172812c41dcc1c42198a0cfd1636173e12713ff24ad4e9e8e4988cd8a67854824f62d7117054e0984ab2d171979498d4d369c5e94927e44ecc67e49db4cce4cf22cf0639885cea5342a7d5f3ccf31d0a9c0b9dcf3816d917db96589d353f67526a705ebb4cbd5cb942f682f845914b52952655699767ae1a55dfa859ada5aee3bf2e7d43f5a66ebd5983c32df7dbfe77c2efc6351e6b4a6d3ed192d99a732fafadf87e797b75476367df8389ae99eef19e8687bebd4cbd8ffb4a1ec5f5fb3e3e3ce03068f5c464c8e0a9e1b0edb388914ba3af5f90bf941cd319379ad07ba5f49aff0dfecdf6dba5c95753ddd397dfa5cdf8cddacd99cf9bbdb758b05834fea0bcc4b834b39cbd22b732b37a6d2df1a3e127d24fb59f0d3ecfaf5fde88ffe2f6d5e29bd966e056cf8f933f5bf674f7f70fe22f8d4421975133e879cc3a29924c01eb4f5e8e9bc18b50c6513da261a64da07bc920c398ca34c522cf9ac136c2c1c2e9c855c0ddce33c9bbc9b7c5bf22f054f0b250a4b0ba08a9c84bd18b6281e2f2e2bf241e499e967290e694fe20532f1b2ba7260fc9f729642b5a28d12a8d2b97aab8a8b2ab4ec2abc0559d597d42e3aca68b9680d68ef698ce6ddd5c3d1ffd4306d4068b86ed46c5c6b1263ea69e66fee6611621969e5616d6aa3622b6ac76787b84fd96c307c771a787cef52e65aed98713dd02dc1d3d7409929e4c5e90d78af7984faf6f935fb57f49407a60589053b06688602805bc1266c3a723be457147bbc794c676c7bd8a9f4f584bdc3e427e94e3985032d771ccf177294da9796991e96e27ec321c4f0664a6655564dfcc69ca6d3ed578fa76decdfcda82ab8597ce94151517e795649d4d3d97501a76deaf2ca0fc78c5838bc297ae55095e2ebcf2e2ea760dfe1a4b2d6f9d08bc0e146faad7eb3698dd72ba1d7c27e3eee5c6cea6d1e6e996a5d6af6dc8fb8ceda21daa9d9a0f14bbb8bb11dd733dfd0f9b7a6bfaca1ee5f79f789c38103918fd246ba87d98e1d9d191a9e72c2f345eda8ef98e1f9fb8faead9eb6f6f6926c5a74ca7c3df9d9db93ffb7c6e7a7eeefdea221a8e7ecaf2e82af59ad447f94f029f293fff585fdc98f832f8f5deb7cacde42dfbef82dfb77eb46f27fe54ddc1edeaee2d1fc45f025a455420dd50c26812f40666996485748e6c831c8be3a7d0c23b53a650dda01ea5d9a7e3a7d76308643cc17491b991a58ff531db23f6fb1c959cf15cda5c3fb9aff098f0acf266f209f2f5f0bbf16f0b14094a090e0af9099308d788188a7c10cd101312eb13f7920012159287245f49c5c05f370d32a6324bb269721c72adf2d6f26b0a271439155be0af9625e564150695ebaa5aaacf0f791dfaa496a44ea25ea621a731ae99a8c5a1d5aa6da1fd5ac75f675fb74acf529f4cffa1c1114339c315a32a635713269371d362331b734af3018b344b55cb6f560dd641368236ef6d2bed0edb33dbbf74c8733474dc776a720e76e17399722d396c7e78cbadc89ddfbdd143cbe30d21de93c7f315bc8ff8fb18f82afa29fb1b051002438208c11a21542193a157c342c2e5c377231e4666475946d347bf8db918eb1d2710b7187f21412f61323138892ee9c591fb473b8ff5263f3c7e2fa536b5242d2d3dec844b86de49914c74e6cbacd26ce71cbe9c9ddc99534f4fdfcbbb947facc0a550e50ccb99eda2f1e23b2567cf9e3a57585a79fe6ed9a3f257152b17762e51547255c95e36bce27a35acfa584dd6b5dcdae37584eb8a37f037bedcfc58bf7d0b779be38ecc5dcbc6a4a6c6e61fadcaf7c2db4aefdf6a6fedb8df39f060b3dba0e75eaf4ddf667fc980ece0cba153c31e2346cfb55e6a8f07bfc64faece0daf6c7edb26c6ff4f8d8cf84ec0280070260500c70c00ec340028e80540600cce3bb10058520060ab0c1002be00811b0290caec3fef0f0820010690036ab826c50904811450816b2616c019ce90a3e0ec320f5c00f5a0133c03b3e01b9c39b241d29001e40ec54105d00de831b488c0208410a6882844059ce7edc3795d2cf21ef217ca0075063587964567a2df615430a5981d38c31a245524ad2163252bc09263b3c8b1e4f938165c0d851c453b5e0ddf46a944799fca90ea2d75340d15cd4d5a5dda513a5bba517a0bfae70cee0c3f184b99d498a6998fb2b0b2b4b1bab191b1b5b3c772c8717ce5bcc315c92dcfbdcbd3cf5bc2e7cf7f48002f302378572853d853444b54400c2fb623fe49e2bde498549374928cb4ccb46ca69cbcdc67f9568542c504256f6553152955c643783509f5324d51ad53da033a9ff548f5e90d980dd98cf88ce54ccc4d23ccce99f75a7cb1e2b576b0396ddb6f8f72d075cc701a726170f53c5ce7f6de0343a0f6c4786e7a2d784ffaacf851fa9b0414077e083e145214fa29dc38a22e0a171d11f3264e3fbe35513ca9fa28d7b1b2e30c290569d8f494139b27033357b37372434e3715509f6129fa58527bcefd3c43d948c5a98b069736abf2aed05dcdacdeba1654fbe57afe4dbd06ea5b1b77161b979a575b3fb4cdb76f3c60ecd679e8d6e7d16f33a0f144f2a9f03385d1d0173f26506fc8262fbea39ded5cc02f1d59d5fad8f079e78bc237fd2decf7533f06b7977e2eecbcde6ddccbffe5b92ff57bff20c69f04aec9d1c035076e200264811a3084eb0c1e70852109648152500beec1758429b00ea1211648ea77f413a022e816340c7d4450226411ce8834c41dc4029213e98ebc825c4329a0d251636861740a7a128e7d190920f1271923d5236d259324abc30a636f90cb913fc059e2e629e2f164f8624a6eca5b70fefa963a8e8681a685d69ef623dd517a2cfd3906718641c6302646a62ee600163a962ed630363eb649f6520e474e26ced75c15dcde3c52bc80f725df75fe740157413938975b111e12b90bbfc5f2c4d3248e48464b79496bcae0648665b3e54ce419e537145e2bf62b352b57a9e4aa261e8a55cb526fd5f8ae25abedad93a35badd7ac7fdfe0be6187d180f1ac29c24cc4dcdee284658bd59a0d9fadbb5d85fdb4238f53a073b32bc96107b7f3ee7d1ea3841ecf5aaf4cef001f6b5f433f27ffd480ae208a60cf90f63096f0c488a928ede8da58cab8f0f82789dc49b147468ec9275f49614d2d4ac79e48ca58cb2464cde5249e92ca43e44f15de2e8a2d913bfba5f476594c85ca859f97aaab642e575cf9502d58e37fed561de3f5f29b6af51f6f95de51be3bdc4468de69ad6ab36a071db50f4cbb367a2ef67a3e5279cc3d887af2f469ec33cc48f673dc8baa31f709b3d7c16f6ba63ecc70ce59be4f59ec5c665ccdff24b0fef46bd156eeb6d18eccee85bdf7bf360ee28f026470ed95098ebe285c6bd20196708529041c859ffc4ad0081e8369f8b9c74102902674184a82caa00e68164106479d8028468c20e9913ec80e141bea386a05ed847e8ad1c174c0f5946e5253d229b2282c25f616b93d0e896ba188c04be37f50f6519552c7d038d11ad119d35b3118332a320933cbb3b8b326b045b37b72d8729a7399719bf198f29af159f3bb0b44099e12aa137e2cb22c4621ae28e12b795e6a5c8645d65bae417e47d152e9a94ad6212775b446bee6aeb6894e1a1cc116fd76834ec361a31d1313d36673098b1b5612d6cdb63a76e30e214e58e71baef66ed41ee49eeede2e3eeffd54fd73021683ac838742cdc29e47b8442e4527c572c44d273c4aea3a5a916c77fc676a65ba7d06e7c9f5ac8e9cdc53be790605cc854f8a7c8bb7cea695529faf2a57a8787ad1b712aa2abfa27475ac26a696b5eef18de47a835b9277f41b939bab5af3da9cda193b261e94753b3d24e9bdfa48aefffe80dee0c450fcb0e4087274fdc5d2d8e844c16bc137156f7f4de94d67bf7b324b3967377fe9fdf2a2f487a0a54bcb8f5756d6d01fd93e497dd65d77d8207cf1fe6af98de7dbe6e6a92db6adbaefcadfcf7fdffee1f0a3799b613b72bb797be7a7e6cff49f033bf81d9b9db33b23bba4bb9abbf1bbb77797f7b8f79cf60af706f7f67e49fff2fe75f6d7935fbff6a5f77df6cfed0f11e31fe52b2b437c7b0008a70d971fa7f7f7bf0a00405208c05ec1fefe4ed5fefede6538d99804a02bf8cfff2e443206ae7196af13d1207719f1f65fc7ff007c47b8761da207480000019e69545874584d4c3a636f6d2e61646f62652e786d7000000000003c783a786d706d65746120786d6c6e733a783d2261646f62653a6e733a6d6574612f2220783a786d70746b3d22584d5020436f726520352e312e32223e0a2020203c7264663a52444620786d6c6e733a7264663d22687474703a2f2f7777772e77332e6f72672f313939392f30322f32322d7264662d73796e7461782d6e7323223e0a2020202020203c7264663a4465736372697074696f6e207264663a61626f75743d22220a202020202020202020202020786d6c6e733a657869663d22687474703a2f2f6e732e61646f62652e636f6d2f657869662f312e302f223e0a2020202020202020203c657869663a506978656c5844696d656e73696f6e3e313236383c2f657869663a506978656c5844696d656e73696f6e3e0a2020202020202020203c657869663a506978656c5944696d656e73696f6e3e3737333c2f657869663a506978656c5944696d656e73696f6e3e0a2020202020203c2f7264663a4465736372697074696f6e3e0a2020203c2f7264663a5244463e0a3c2f783a786d706d6574613e0ab11e8ef300004000494441547801ecbd09a09e5575effdbcd39973e6cc73c294040838308328da0a0262ab6895aa6d1ddb7a5b6dbf2bd60ed87bdbdaf6537b3b586bfb296a8b557bd53238a0d8ca205250482004089090900142c878728677fa7efbf9278bedf39e737248213907d6e6b0b3f6da6badbdf77fafbddf77bdfb1972f57a3df1e40838028e8023e00838028e8023e00838028e8023e0084c6504f253b9f3de7747c01170041c0147c01170041c0147c01170041c01472020e0c1adfb8123e00838028e8023e00838028e8023e00838028ec09447c083db293f853e0047c01170041c0147c01170041c0147c01170041c010f6edd071c0147c01170041c0147c01170041c0147c0117004a63c021edc4ef929f40138028e8023e00838028e8023e00838028e8023e0087870eb3ee00838028e8023e00838028e8023e00838028e802330e511f0e076ca4fa10fc01170041c0147c01170041c0147c01170041c0147c0835bf70147c01170041c0147c01170041c0147c01170041c81298f8007b7537e0a7d008e8023e00838028e8023e00838028e8023e00838021edcba0f38028e8023e00838028e8023e00838028e8023e0084c79043cb89df253e80370041c0147c01170041c0147c01170041c0147c011283a04e32050afd7c7a9f52a47c01170041c0147c01170041c0147c01170040e0f815c2e77788aae351602b9175bfcf6621bef5813ef7c47c01170041c0147c01170041c0147c011982a0878243c91997ac106b71ec44e64fa5dc61170041c0147c01170041c0147c0117004a62e021ef4c673f7c2096e9fdb68f6b9b51623eeb423e00838028e8023e00838028e8023e008380242e0b98d4e9f5b6b536e8ea67c707b7851e8e1694db9d9f50e3b028e8023e00838028e8023e00838028ec09446e0f0e2d5c3d39ad240d1f9a91adc4e3c3a9db8e4f873f95cd919bf15af75041c0147c01170041c0147c01170041c81172a02cf55cc39713b13977c01603ec582db89449813918967eed9cac7ba4e3b028e8023e00838028e8023e00838028e8023f0dc22f06c23d289c84f44e6b91dc591b7363582db89c49f879439a4c058e81fb6e258069def0838028e8023e00838028e8023e00838022f5a040e3bce3ca4e22105c07c223253746a267b707bc8c0727c81f16b3567139199a2b3ebdd76041c0147c01170041c0147c01170041c812987c044e2cff165c6af0590430a4c39d0c2a0266d6877c88e8d2530165fd3337e6d3c8513978cb59c76041c0147c01170041c0147c01170041c01476022084c3cc21c5f72acdab1f8d6b7430a98e494202669703b4e603956d5b3e56b7a46d51a953925a6d33be90838028e8023e00838028e8023e0083802530b815123cc519936aeb16a9f2d1f8363a9585b53889874c1edf881e5a8b58dcc468ea624c3cf14c799b6894b8e63c4ab1c0147c01170041c0147c01170041c0147e0458ec0c483c98c64a6683036f21b39088fca1cc788554d21627205b7e3c490a3563532c7e734d6da548d53653219e230543216bce80838028e8023e00838028e8023e00838022f5404c68f27471df5382a71554ccbce443848368a5937c6a93299494e4ca2e076ac5871547e86992902ba718c88676254a60446ad1a95191b74da1170041c0147c01170041c0147c01170041c814322306a0c392a53a646ad32a611d66e8693298e6393aa5185cdf2e427264b703b56f4d8c8cf70c62a8ec5cf4c492c16d319b14c71e29219452f3a028e8023e00838028e8023e00838028ec08b0a8189478cb1644cc77065f8563442c2e31791c908581363f14d6032139322b81d35566c646638a3164765c613600246c4b5d08dfc46ce215532025e74041c0147c01170041c0147c01170041c81170902878c0f1b051a39c2caf8461886198e8aa332c752819f91cf346a8a538538fac1eda8a1632333c3898ba21b39360756654463159cb836a64d785462e292a3aa3bd31170041c0147c01170041c0147c01170045e60088c1a348e3ac658722c5a8a566b44864f5155b1404c9b80141bd58d9fd132fe24278e72703b6a64d8c88c398d742347a01bdf08f8461b11336db6e2da8c359371c21170041c0147c01170041c0147c01170041c818923d018348ecfb15a2368cb682362a6d1e3d7c67d8e258d3f2ad36a2727713483dbc600128c32cc718aaa320123ccc8389cb8cae463023a93322a995a2f3a028e8023e00838028e8023e00838028e8023303e02e3448c5665844c59518415a91d8b337e55c6eca8c57198aa9a9cf9e40a6e3301e45845f1add6082086ce14c5b45cd3603246881f8b8d5365c24e38028e8023e00838028e8023e00838028e8023301104e2b854f2c631c2ec18c708aa44c7b9d96914cbc85b512a872c360a98e2a4258e5a707bc8d0311668a48d1313460337b48aca35018d1c495a1e135289f3d8d444f8b18cd38e8023e00838028e8023e00838028e8023f06240208e33e3f18ec547c6aa445851ea8d4ce3c492d056cc10568cdbcad08dc5513930276d3a3ac16d639498e1c4c50c6dc50c1117453772340d311f8e1533b599aa8c98843d77041c0147c01170041c0147c01170041c01476082083cab20d3848da015682b8a48193975c0387131a3a5a20432746371548ee94e36e22804b78d516286131733b41563a2911627cec13d2e9a8af18d88ab6cb61a998d1c1376c21170041c0147c01170041c0147c01170041c0110b040d4d068e49898551991a932be884c1ed7c6b49a86634c336b5522462d668463c9c94617275b87e2a0d1681199223d8723a6e546a856a30b42f57a8663455549d298a31292c9c89ba2138e8023e00838028e8023e00838028e8023e0083422104795d45ad108a958a0217e5c4b1545e5221a5b11c76aa52e15aa32c68daf2a098f6573aaf08ffec9ada11c231ed31230b1b8683484d1a66b1c118d7c3819a615632208a5c9ec1c641c829f11f3a223e00838028e8023e00838028e8023e008bce011182b506ce41b27438c5a8c99a247cd618eca17ec71151c15e3aa463a232681c9991fe9e036131f8e5534be88c662cc81563126807baca266a2b1369e2133684c714cd7f84e38028e8023e00838028e8023e00838028e8023301602e30790712d16e2e0135a4559b6a298e314ad4a064ddeec5843a312b198e858cc38939038a29725c7f1612316569b211a8be2580e613466556ce48c8c8c0c0c0cecdcb9d3aa8c90967529e68f5a659222249f617ad11170041c0147c01170041c0147c01170045e84082898cc0c3c661a9d093b518939d056eceeeeeee8e8686a6a1247c609434c60d490845af14548585aa6db48647a9e696bd4da49c23ca227b742d6461e178dce102ac64ce340c43466c58999a2a91a1e1edeb16307c5134e38a152a954ab55eb464cd8f41bd3fc005da3a995e546795334428a483e2b2d6b2b6e578d62e790edc6ea261f6b41d76a3572eb67234173f97cde1acdd889ad35eacab2755e02e3ab98fdd89a54323902ead5210d4a1231d2b3d242de3a1fd3ea9b38a247cd332a99222a701cff51a11333462ca6e3da09aa2336aa05c77f82008e8a5ebc2d34dac9a8648a9a11c7bf1137e3c488c5b404c431e14622a39229220fc7f16fc4cd383162312d01714cb891c8a8648ac8c371fc1b71334e8c584c4b401c136e24322a9922f2701cff46dc8c132316d31210c7841b898c4aa6883c1cc7bf1137e3c488c574a15028168b0f3ef8209fbffdfdfdcdcdcd52414649d866e8b198e267722bc644866e2cc2996ce9889edc8e35f8b1be2765f814c51111d3586e64c602fbf6ed632d2d5dba74cf9e3df0a1a582af688de10d92870f2da6e5c478d6f9583266caa0d48d8f4dc95b6e02322ec9b869d1261f5b4038238998b59521cc0e7cc468ce044c4bc6e19b59098b13f721d68d854146039129728aa06a36c597a9989680e3afb90099186181e3f8c7086480b22ac32d4308526991bbff6bf5819230d1b21568e67e425532928f73f819499992914c2e4909903bfe4252d8923bfe00e2fbbf16882d2b730f798be5b6b8908f85fdf3d790c91042c9f71f398ce5e660beffe021536eff61fa58f24b962c79f8e187096a4aa51233abc995ff8f4a8fc5b425a37dc68a468cc53781c94c14aebaeaaa23d33fed35d656a628be3121629a5ae38850add187acddbe7dfbb265cbb82c1949ad6aa9646898d64388e03569f4a89c5a11aa52d19854491d9b10a26375db4dac5153b1b6a4a53e180d81a4b4a46245c928470045681565c49a10d33e0bad562ae466591cc9c394a472c950859d58050e55ea80aa44c324c9141caa284288093f434bd25a0cca8ebfc171708e40c9f137cf011e7330d1b117e13f2a2a0737290a547997aa24691c6346f01f58235439fe8e3f6e10fb8c68bc0564a82241cb9d949be31974a622c9b80847164450252dc9585132ca1190b029ca6c2ce3fe0f268ebfbc08c7302844c79e23e741520439b52a8aa3a23165932a6cc22499a2b4d49604246c2a928c8b7064410455523745ebb949c2116d8a14cda698eeff6062d01938022a2e0a4972115439feb8103808136165394cd110008524494ccb05a0044c516292310b144956054195e1cf65a75c7c3a7bf6ecc71f7fbcb3b353c2ca4d25565715164cd268115644c0e84622ae6db469c6270f71744e6e479d036342c434601947846a8db65a7995c91b1f821b6e87868624c0060787c923d74cc087298e31656754a6aaf8d5073fd376293b322b5a32995c0e0a53d7455b8769051abeac914bd13a23cb6a0e616aad632aaa4a62e4d690c44c982ad59a053544ae44ad085464d3f86a080155c187b0862852a5fec327c994e4353a680864c494008a624ac59832382a53558e3fe038fe80803fb8ffdb7a8150d2528a73f316e04286a26ae548707cfff1fd47ce834bf8fe6fce00618068c32187293e88f9fe030886865c88a29896fbfe0302fefd07107009ad20f30d8898b6e5667cad3bf9983ebfe0984749f745f2fd1310886848b6c48042493840cbcd849e729892a768b4087229aa4ab43145c44ce8c99f8ed0c9ad613a1622260011d3c81b47846a8dce1092c7e333624f3ffd745757971695544cc696077c665132b2a31ca6aa289ab06839906ac961c23157903ab992ec987db525666c010199424b44632d1c924c495e8d8a63bd4206236a825c7c15e1232c79381026a62a8ac6911df82498e470b02675316319f1c531beac49172632aa52d3e22363364dddba818c098bb6919a7138d0d42a59eb142563f629ca1a3224b3009362acde581b141cff839fd34061e839fe788e7c0c58a0959bfb8923e751959c507cf924b48aca852d39451316edfe0f0e24733f151d7f5c4bc9c00122798b61054a020a0e84f8e4a8a8681c4c09585923878335a98b19cb882f8ef1654dba30915195da121f19b369ead60d644c58b4fb3f38900c5b1585a10128a6c9c02721434e95414ad1f10701c34488196e06230458b9ffcbcde448861be0d8aa9483198ce21b9e289290870361627054348eecc027c1249fbaf81396d379523c6a15c9191a6317a1612a1714568b0087b704353c590aa692b490241de465ff8dab8c166145748c1ea74aa64d32dbd224283f13ca3faf9db1d9a2955169634288b63c263234c589241a7de49147b8e116611698f5818981a3816b92ac0853b5701ac5e068594a4c16c6cfcd881192cf14c5543fb5c21bc5a4a2bd55dd332daab483c0c9f4dc8ac8489e3cd3ba6c8a4f6e5b8c066b96a58eaef810a225a086e04088465e0439322a924bc6ac19df3841dff13f88b3e31f3b0668e07e720ff1451b4a19cfb1225e2779f2d80329caa6f8e4eeff86550c9468c71f0f2119442a8e951b804648325314135f15bc663c1613edf81b8063611ef30d40234c1db4634968c71f1004946d9b0697aaf4d12f5a55e3e706bb1192cf14c574fcc1c1f17fc17cfee2cf243dc876a45281667e0bb91c8f8622b19393986e393f390270347c31e365221a8175ebd611d42000e759a558c5681171d13831310e4dd5a44a47e8e476d4316b8ea98a09d1c69162cc841e2769cf4500825cc6a17954725f5f1f1e604cd1e4f221d9c46350912e556a5d39451255723babb2a22c9023a61c19089344175acd89c80898a408c91bd32cc7b562c696651f3e0949e5528156df425d9a246043a068a64c05410450348e087e8232a61a151fa68a32853a1c12b5e41421c4542e6168120d510b075a2ab2295d3854c5bd856fc5d440c8d48ad4299a05f547cdc15431163049111230a6598e6bc58c2dcb3e7c1292caa502adbe85ba3449c08640d14c990a82086838925795e32f3440c640136d20c77099f001e81dff743b0206b953632e548d8fa4801547b5623afe60923a54c88412b99806608c124c03d0043284048c6996c531751a8a2d43ab03c823a95c2a6601424902beff089f4ceef8c780e054243089bd05012b1ef429f7ff8092b0021f604991f3ef3f07a0303f81103ee64214b5e86ce949180130a496242d8829f1fd8781d04fae1fdebe63d78fee7fe4c12776ee1caeed1daeaedfbd6fddd61d0f6cdcb66dc7cee642aea948a87b6080e92843662088c3c091b1e153fbd4534f71722b45f18d6eb4666621546b398468ab9a20118b414fb6f40c58cf5fcf6c3ed484154725c4b43c26a0c7494cf658b55471727becb1c76a16118320a73f312da6e5d49a9868724c69295a95c943640c528c9374d52e7c358d3508121c59909814c527a74a895a08ab55958af03376b82bd52c20633d174d95acc920451232d4421853c695cb0234b5da5c208c8935b508130b1a0884e4655355cae18b999111d3b4204493cba6ba9dd1c22602b1c1a016a5b83fb02549e7214870644162d2139f9c2a25356db5aa5211818c1dc75fc82877fce542f219b94a4ccb7f2c0734f328d1e4c2504e68ce26230823101ba41827c71f88483144311d5741039d38c2501cc71f04848cefff388ffcc73c84a2c0210728dfff858c72df7fd84348f219b94a4cc755d07224898926f7fd670aed3fcc1dbde52da4abd76d1ca896ce3feb94193d9d45de24923ef062b85e1b18aa6c7b6ad75d6b1f1adaf9f4f92b8f696b6be320172d7d0967ba35fbe4c16fd28441fea58af4d0430f71728bf081ba867fc6a98a6531a5a288b8689c510998315fc5c9931fcd935ba1a0f98386106d794c84bab113536e95f27e718ccfc92d6f8542c61a653ae369a0482db93eb34d1d193121609a807429c2142d4246ac335685a49238d6138ab4c8a7a05a3c2875c02c62e6e85224b786a0916f9451eb54c9a6152124af9c76310e1331095b1310a6a5e6d496d15291981033ddb81531d59c84c5918ca94058c71c7f83482819e6f11c39fe80636e93592354910497681533b9fbbf3c0d1c7cfff1fdc7f619df7f6ca765c7c8ec2d8023a0a8f2fdc7808a61d152021f41a42a984a14495605edfb0f20000e9890fbf79fe01f2f88ef9f6c149cd9def7f0c6a4bbfbf29f3fa7afbdb59eab27d5b06f54ea35fec995f2fd9d6dc71fb3706f3d77dd7fdcb164665753a9890d0737b04d669cfd8793dbdede5e6115208bbc4845718c1e8ba0395589c814cd48233fd61acbf851e41fe9e0d636352334782b8a208f091547e5c0c40f246044cc5495fc403439f36474ac6533612e85a4f99929c2145f1c0454441dc29814a1d9adccacdaa2688454285a8b52978cb54251bb9e386ac598ea0016d085290be46613c2ba21be3a006d7c14a54b4e6d9cab393183509ab029232290812de3e4d0b20c6dd6a0956450b48c88966572eb3992528f15618a0f53847214218c49113a1ea0da826f8454285a8b52978cb542113b14c52147cc98a8c3c18298b2406e3621ac1be2ab03d0c6c71a090e39b571aee6c40c4269c2a68c884006b68ccb882c439b35682519142d23a20f9876fc1dffd409f113b9078ee1fecf1ad1c22127091911ca410942625a74d0f10237308d900a45db2ba40e1fa6b5e2f8038b90516ec88850eef8030e8e442e872187c69120e4721449c025823ce623a664de68c04a5e8ae424298a508e2e84ecab5168f77f4111e32c940469cc3f08bf7fff99f2df7f707b6eb2ddbd7bf7fd4fecb9e2c25734e5f2e5a45aa8156af97a924ff2f59c960ac1412da94fefecda5baefc74f503c7cc99ce0fcd5a7d388696157e8263347efef27e5305b7e6363181ae8a4658ed381c55911b8196e851899869f6270971745e0534eae03585992aad7fe554c51b8198c68909e85898a238e99485cd9722b9ede01070a8951855d0e418212721a01c0fd3b54614d5045508c3376b322e5dd59a64b0951a574f4ccb549024c127571fa852eb70a0a50821018a1008c02161dc14a9320e4c12626a919c2a992597a4e5eaa1725930618c4023a9862842c009d6235a3288d11070a98a1c0e492ae4341dd40ef69f2a99a24a62544193acab322826b5c8abff1a57b075d04920a48829316504261c25d3c20efca09c26f8fc8b0c4c35a15a6829424880220496e19024264572e3a4561dffb08848c290dcf137c7c055e430700411b96808f77f210020024ae0081f3810312d193998ef3f02871c0cb5e2c881c89c4a8e67b9b99f38144d1823c2d6f1070af02109586021091698c2d038c848ccf117322972befffbf79ff0d18633b0522c9787c42b88daa3b2ffefddbbf7eaabafe6bae252a9c4fa550ff7efdfffd18f7e94eec151c7e0db371931a9a58a978fdeb761cb6bcf38bd391fbe03979282fe2ba398549baac9482e9f1420eb855cfdb885b3ef7be4d16d4f6e9f376736069564273376aa30ae86d4ae84115311c2fa1613d04a319ee260e160e5817f857f8639b58acf7b702b2710284667088ac641d28a31d1c8a79649924c4cc4b46ac999752ca84ad1a9b9087c7e62d1ec22a05a0838529724b9c4cae5b2bc47029234e330554b4e152a6650432027494b92f40d197298e24885d691c420556a2b553db0c6e050940c8a1092c1829812a64a623c377cf3e6cd03030374098e19548b12938af2d8bef14d4b1c74a5a846a1654d9d4146f2ea8fe94acb8a19e33265c3c9d452cc18b7564c5216645f5d42c5b44c0c42bd950cb908f19137c998c62c09496a21643623a022b5c8c455d0ea9be942581fa0e3d4a84ead5a343174d51399b5fed390d4256ffd1121ad8c296ef698366ddaac59b3a64f9f8e7d5920178165e4a7a8ff0b0a06c535425a684252cb4a3868801ab80d3f2e6ad5187454a14e5132e2c3d1ca85a99459c8b4029e62d22e458909586838aa557f52f8c354aae8f83bfe3889f903341e22b7d13a25072231e1ab0a79d1eeff868c1694d6af962d394c7132cb962a30345dc75f28091321294f032298aa25a78a2dcb3634640c43c75f5ea485e9fbbf79913c448e640e43118828caa9800e9a55294fa3567c2d645910b099854c2bd48a3911fcf946f4810f7ce0fbdfff7e737333f1ad2cefdcb9133bd8c7021cebb98cc354af10202a7e7a6070e9bcf0852a4e2150ce17aaf56a519fff855c21fdb2b97cf1c207366eecefed696a6a4244cd6170acfd07be75003154c8d537f5013a4348062d12c2961b210172124c721313470d493e08a56262aa3879f2e73db81d67a8c22e1680a304332632c5835207fe955751d0644388a369365a2e82296db82a322b0828971f882f261caca142514b020ec9fa8322d6e0d8ecaa39099053050702014c91631f531290706c5c62523123104a1a1ab489610a6192fa800049c2e24b928786b7b7b79f7bde79e43c980d719642adcec0e91274ae96e3f2887c0237ade0a2090adc21c03d02097f39a6838a60395c4e91cf55d14d72797e75428eda5aaa9a4ab3d5a057cbd5f3a9268307e3d4ae2c045ba9f5d4184dd76998ce8467a3d76934f4ea40dbc1449566681988510b2d853cfcd1a3a01868cc17c24c21e3433bbc59e3c79f81bd036bd6deb776eddae38e3b0eb721e15472277c698afa3f43083e129c30a4b03cd2056239eb51cb471c6428a6b2cf08a38e1d7dbe9a180492e45231426da956adcba0726a5f54fb8fe3cfbc9b4be02a4778ff77fc1d7fdf7fb400597d6ccb248a96fbfe8f7bd887bb20d29231942094002d5e4d522427b1cfc4f0226f7ce9521b0b4c21fccf3aebac3beeb843c1ad86c988e83f89118df5fd9f33b0c1c1c19e9e5e9dfa0a843807f424572df2059a6fcf21d5fabba76d7a68989f20d195164dc42a1441158e9014c2d0f44a92a2e153549401ad8f0033052175b39329aa459899a6339cb87672d24721b835948508c50c27e65bad0872cd6e4ca84a332a7e26b72296a1992433229ae92799d8beed4f3e78d30f1ffbe94f9f58ff28ce356bf19205a7ae3cfe825776ce9cc55668dd93ae72ed0ed0bb776c5d77cf0f1e7fe8ceed1b1fa1d8b760c9fc635f7eec29af9ad6339322ba34841168927dd1c19b296e7ffa89dbefbb75cdfa55ebb76e244c5b3867d1f285279d7df2797dddd34d8b86d479eb064574e9bc96998c6b98c850dcb265cbf4befe934f5e3914ceae4686f2d50251233163255f66751542fc48309acfd5f871ac40076bc447f9328f6d4be1aa12e81279120287db05ca690c9caf14f9d9090b340d33572630655004c05c65512f129b72125d2fe443e85ba6314267a4588484b921d4ad07250c730742b569a4344cf30562d57abe5628d3393a5008a177950db35628566bf54242b41c163ad7715408cd8b9570d74288a189b3ebf942b9542d5409767d68873f6bcd6dcd679c76daddab563dfef8e3f3e6cdc3a9f0287250c79d7024e5e67854c9f7c8cdff254c6ebe8d164549429827a36e32f27f89598e00ba5846ccb49eadffd32e0631256bd0d884363e458cab51f8125651c21a1d3d8c9b464b23d2c02992b0438e113a8c2e09193822645c026add6814a52b796c4ad8f10722300110c71fa7c22b6227c4af840f7c8851f77f791a0292910ab4f151c4f76217a55645b3eff80391e38fabd8ce062d2f528e8788239f214712a615f137f9952149d1647cfff7fddf3c447ea20d0aa782388afbcfae5dbbaebbeebac58b17d30d75c67279bef28cff23c3b1edfea1e1dece1e96c0a889f35bbe225792707a532f87afbb04b47b864270ab9d1ccbd8c132cbc4560d4521834d0892c41080b65cb5142130a24e5234425d92ae68728a468b4037c397b58cd8e42c1eb9074a09a6715090409c9b30cc98cf2caa18e6f6a0cf650804d2ca031ec9d39267ce0ce16530944e36b904e4016a0b81cdabefbdfdefff71dd75d74d1f1e3a75d6acc56d1d038f6f7ae0d61fed58ff58dbcc199db3664a1d7973059985b369dd4fefb8e1ef36fff09a39c5bd2f3b66c631d35bcadb1e79f8ceef3fb1e3f1d6ce19ddfd736911315a0c9d48fd4604f983ebd77ce5a62f7d6fcdf72a7dd5f927cdea5cd0f1f8de2d77def75f5bb63dded7de3bbd37b48baee4654143b69e98001c928a7c6c6cd8b0e1ec73cee3855bf57285c3d610cff26b1154ad5a28015f88666b09b7b12779a2436a882c5356885fabacbc7c914b28f2c4c04495e138960ffa24adab2725442b04af05de4c1d4257a0c04c95609627c1510ca7c1a1df35ac43546ba5f00f8d73624b6b84c7e88593579615b12ec17089c89a7b130880e907957c02d60bf5701f3ef1758d0b39aa49518659cbb50227b97ce1e3739250db871626f2b067adc233fceaf9b97366dd7df73d7ab438b34992cb89905f4143281711fb9e9c1c3ec95c14019c5655a3fabface9cb93da22977c7098b41b18546726e8ff66418a14c5110113423d5743cae193e889da823631eb8908f81283a04ba253ed90494b46a88d39aaa23992aaa4055f5568c55058bb88899635d382a92a726c8a2fdaaa68485510308d2f9a76918f1b85237904d42b04242c0bd4ca8874452b97a459b0a238e42498e4925743cae19304a6d937e352a1184c38fee9bc8303881944297e07fcc42035c4e0a4c839fecf7c9e0a1c791d39f88823f444930b6408f77fa1442ec2c0a1682e27daaa7cff915f0188088022014b00314d5a980890e2ad98a25490120d01c7b460aa8a1c9be28bb62ac75f181a9829fc87c0ffeb5ffffa9c3973b84e9860957b68b140ce5b45c1761cfc69821895c0b8d8dd73dcbcd9361d19229cda728e544f76ef1fda39b0af5ca9ae7f74fdb173fa5b5b5b0962b1afa9b40ea30e4dd2feb36ddbb69e9e678267eb4fa66f6ad46a45580e61c914e1c4745c34fea804ccc9938ec2c9eda88367c2e05b1e26f06739aa153fcee1e3011296b3aa56b4aae0b05390e413a840c3d46a87404c3fbdecdeb6f5eeabafd9f7933b3ffcf3af997ef16b92579e1b2eadfd8f5b9ebcfec6bfffcef757d573edd3fbba66cd4685f926c7941216f6ee7c62f57f7caef8c08dbffe1bbfd475ee1b9aa6bd0aff2feff9c1aedbbefe957ff8f27db96a67efecaebed9ea185ad619e8edbb9efce68fbe76efcefb7ff937de70e971af9ddd7a0acccd833ff9c683dffaf2e76fa8df5eede9ee9fd93b0ba61ae5a71d68fa8035f58411690892b11e12d52f5bb68cb873a85a2b128326d552522d27f952ad5a26c4ac609087b8e54ab5a4cc3e5b280687a873a1442e2986cb7e8be19a896aa5c405c38526644a95422d57ae96d02cd6b85700e00082333e1643be52a81781849097b0b41a7a4850ca4e1bde501d0e8aeb9c03f2b8b8703506f0e77245802f70ea4a648d7d0e6cb9c2bb48744d103b42cb1c0f8fd42b4de10b2c7d29130f57099b0989098ad35173ce5c45b758ced3ae0fedb998b54a708d134e3881a78bcf9e1d7c15bfd2d626825c0ed6e8fff8335561bed3840792f4de360855c9632513fbbff8886949ca947ebf4438184a571c4620c827eeff695fc27ad72894cb3255f0ad1b34a476f93d4884da424c7d908072ec582d446c47f2584052e322176ed61645b4240381a42d5e93818318497d16418e7d54e20e588b22c849c8901c7fcd8270336c29028ee30f0e86891c1bcf71ff071370f0fd07f720f9fec3d260bbd002511e6fbf548192ad233cc7241183264700bec950f4fd074062dc041acc49b5ff709aca67280f91a257af7ef5ab7ff0831f10e5d2edd8016cc6459093d83df6ec1bec9b112e5e38641a1e1ae41bf8fee1e1360e6e0e7e833ae4fe232f9283a9096d5cb2a06f14d022f037c98820d710e25c023107fa909d9fb402472db8cd603d2a40360d462006adc4b41d24c3bf71115ac924294a570d51c40fb4b4f021a650fefae8f77f3870cb8fdfb6e2d8e94b16240fac4bee5b1be48bc5194b175eb178c935b7dcb1e1d495a7bcedcd9a725462bf7974f54d85076fbcec752bbb969f98dffd7879c73fa19a2b36752d3be90dafbbff9bdfbef1d1d5a79d74ee5b582dea8cf92e3db973cd6dab9fbeefcc4b572e5f78cc23b50df7ed7e08ddd662d3ca45cb1ebb74e3edd7aebeebfe1f5d78d66519b7c30e03a40f22a02510fa9c02450ff975e7e4952b2bd591123f1325e57c8dab8d2bcc3a9e4e44c9c8094373798e488970f3f9729d0b8c8b5ce95baa11af72885ac915c3792907b1ecd8e192e0105bf26b53b86b36804e50cadecdc96aae56e672648e6475797738013ef0bcf302d87231328c4281709618b68a58886661f32f9104173e1338978be13b453e3d7c2c124157b9839ffd8f702b5cc88cf17a9e0b94395c6694e198165688ad934aa9ca807c68cfcdacd56bd5f90be63ff0c0037d7d7d6ceb38929609fb3b8f52e0f74838e04fae458417402b89a35af8f8823c531c646072d737a9a3a323f67ff866138216113675088a98a24a92ca657c1cff97964ca102214539a9f8326b348452dc1034094914d537c9c80e55748c5a98d4029a8a122697b03a2fda4c511bef3f693b07f0145f3665040b2438ca692bde7fd08583a48411a3168eba870a8d9246dd7f24830a0248a2058d1d8a54c9a0aa24a95cb58e3f680017b9e30f02eeff3883fc819c3542ce0a3227617d59514b4ccb5974d04c939698e5109842466b5332b2231935e4f883860108e1f8cb3d7cff0701f30d5b4aac20fbfcddb76f1f5f4b4c467c6eb8bdfdf6db79e3ce45175d8485d7bef6b5d75f7fbd162c6b6daccf5f795db95a6b4dbf41c921c7ca79e7edd0603557c8ef1d18682be5d83fb14cd286407f20e4c91a820d845648562bfb2aa265551a515c8ced506bc5517b2801aa8c18556c12328f5a702b2c84bbe1a2227926211073e222736655a2c995e0432887400b8f6122636f801f4fedae9fdc75ca507ecece81e4f6bb93fe9ea4ad35f46dff60f2d4ced9bb07560ee4b7fed74f92b7bd59a6b0cc02c09a8cef7efcae93e7255dedcdb947ef4d3a7a0acd6d88d5ca83b9bd3b6152f5c0e377e5f36f253cd092a05dd4e5ca0f3cb1b6eb849eb6ce96554fdedfd9d2cda3d9d01d2e0fed1edcdbdad5dabdac07818b726f80a9e1a851680872f8d60d68257a4540d2ddd5d5dad48229ae2ee63ed7f058a822879ce9bba473f56f5f7fc341f167febdf8928b0915b9f8b75e21e8ac716b2c4a00a7273bd16d4254c2580e77098f09842bdc004bc0cbb93077bc56f2c3855a330f822bd6b921979b65899b73450e7ff323cdd542a5580f77d0e72a21380ec7c224e2e2e17cae2929942b84aa5cffcc4972a5c4a5c8399e564594cd0931679215268a135b0e8b91a1926e95466ae9813156184f76684d586922cca8f0034308a48b84f45cd4cc5dc33eb4f1672d696e69ebeaeae271086d6d6d8a85f0a5279f7c72e1bc85cded2ddc95cda93dc7f478377e177e6600559849ad54e7528070928f9fb2cef88765172e410fbf6c30b1dc2e5dd93730f8f48eed3c649fdb04ccffe335884b50246971e1971283034d2d9d9988ffcb8e54a0e5df104a589059598309c1c2a415088ac843484b4650d106221598e123e8e06ff6ea9ecc924b5d76cc38c28859ad64e02020755936fb10ec0fe42484492689296841a45accca145570188b7e028769ed2233eafe13f7414dc071fc81d1f137c7c379e448c0221fa6488236b78436b7410cbe9c560e89307e255d385491c7be47915ae5aa75fc1d7f6dd4f889f9929c04ef82908f8923ac0c3153918cd4a149c8cbac9c0d0e84efff8208dc48b6905f24f85f73cd356f7ef39bf9e6c38ff8dff9ce7778bdc819679c71eeb9e7ae58b1828d6bcf9e3d80032c175f7c71d8f5c6fdfc0531dca95aab76b4846ff2e3242e391c2c8f0c54f90a9c7f7cd3f6f93dd3704292fc931cddb1f0a7091202f42af67fd130f16a6a91911d8a628a6fc54cf724436e7c495a71aa10cf6f702b10c1a2918801526d9c676aa9b25ad199623acb619aad56047c08d5e28e384d2ca956348b12ab3fb8e1f8915cdb034f2583b564f69ea4a323c8ecdb973cb9a7edd19dc727f5cdebd7630715122a545ab1bc7fd39c85739a5a381bdd136e554dcfb86a95fdf5daee7a4b8daa7b9fd844ebe685710f9f1edc3a6b655fb52d19cc0fe5ea3b87cbe151e023b5118af596faac85d377dcb195864267d2a4d6b146093b2a863e1d3c4112c1b1ed29a79c524e2a21cee0c49310b8caef44b970a9041700e7c3f7e3cb2fbf5c36957fee739fbbeedaeb2e7eddeb73e1ba6262c9b0743893486f80253a249e245e4c787639171887e357ae39068710c51282e6b980b8898356ec56b97b361caf6261a4ce0db8e16a62a6a23e42fb1c07874909a7bb3c388b7b7a39cc0dc16e814ba509659b2a213ce22ffd8797611759e2c44a9c2487409bb1d1f1a4562d71a20bdaa30f2dbc2e3bdc301ceee0e544badec4e3ade860b867d88736feac2595ea8ae5cb7f7af7dd4b972e8daf11aa1773fb06f60369b8359b30908bc8f901229d8f6afac687618ed1ebd5262e5ccfe578c25799837e662c8d759960ae6507fcd6e6a6f90b163efef8262e98efeeeec60de4c0b89f6816081c121ce570d8df9976735468aac6f77fe94acb2461b209888959d614b9ccc2448c5a5926b79ea80a3108920988430e07befa2f42b92c484c6d2143920a39094972d984460c1a0e627426c69f2a330e213131a5488e228daa5d2c488c5c042a545907d42839b56a5102e424f54a061d7f0071fc533f72ff0f6b167fb075a4a2c011531cd60e84569656135abeff186ec290dc5082d6de0521c4c8e1f8fe0320beff688901052e240f91e74043882942b97c0917a2087afaec33f783af2a722ccc9831e3da6baf7dd5ab5ef5ddef7e97fb6c49ab56ad3af5d45339229240a6157560d4cf5f9aa3b65aa90e8cf052db43a4fd83237cbf1ea98f6c7f62eb8ae367b33fa080c393ab8951fd9f5a06a2b1d01c49f2a89028aa4a088893d61c585608504485245dd1e4262c994cad098c4a9891c9401cf8627784bb22580ddc4ceb71add1104a081f24b3ffa6737d20a32e2e42c391c7e08e2a1a079bda3ddb9a8a5db3a7250bfb92999d49e7b4645a5bd2d591747726b3ba9363fbbae775b735858b8ab180aedc5a34c5a6d652b1af3fdfdb57e8edc907ad36fe2028167aa75385801ab2d6f11b19696e29f6767474b6b64d6b6b9dd6d2dadddad6d5d23aadb5755a5b5b475b7bcfb4b6a696677e86408be3176bd75c1002cbe43834b5d0fc04357d7a7f8d9b5aa9e20f4cb84d361ca9e590c0b541852e0d0d71af7cf883265d7ae9ebafbdee9b4430e1f263c6c52129512c514c8d1b6db952997774f11194e32ed80aa7c1c42fe1ea62ce52c3a38c42cc0997e0269f1be1555e85ea4879f3f7bf74dd8632b642374ad424f57bbef17f7fb465387dd07289335c629ef05c2b165b216906da10817262cb17013ac933a6c2c398e931edd4f9982b849b84d1e192663a39d6d0422c5fc88d84b09ed360ae9aae55c3192307be41ebb9191a815c95234c2eaddef2ed2f5fbb8d0111f5d30cdd0dc7e4ffeda155879fdcc16bbd77ee1f66e29e99b5e77b68957ab9a7bf8f9f2a89ace4ede49ce2eed9b59b68164f2832591cbe732334412e0faf2e73052cc3ae56783236c886df15ea23e1e83dcfaf153cd79adf35988472bdc6ef2c039572656068f6ec3938a78ccb8159802438b81c39ccd419c3371b385684097d48ff970572920c6aa1a10b87866cf950ab61aa75f230c2748123090d0719088af055ab2a59263742b131323424beda9241338ebad5224ca24a2ad046480c5d11e44ab2468ea4687520b5144c8949d16a6122a38630a2d6a5aee61020a98a1ca6ac39fe6068b04090842ab9e30f1af22511eeffb8044b063420c8495a9bf216315968722141e7fb0f38a4db8fef3f618bc649000442ce83ab9817057ff2fd2705047cb4b2b4888005e2bfb3fff018a7050b16f056db458b16757676e290f3e7cfc766067f5bbc5ad1b690e9803e311110dd542aecaf3c7322a5da38e78c806b0ff79687f9fabc6de7bee6649827576908f88024c7f9fca59538090de30896c61cb33153c54caea6e31c159389f993993e3ac1ad2122c8845a0c9fd126603270c4d42caa086d8468ab15412e0b781e84fc0f157c48be8b0fc16c5f71dcee99ddc9e299c9d2b9c9b2a5c929cb9395cb9265c7268be6270b66ee9adbdbb22cbc0214ff434bb99c0f9b1d7d4b77d6bb72eddd497b57d2d59774cd49fffa92695d9c00efca75b6f72e410c2d7292fa296276cfc2fcdea4bdd0dcddd43aa3b9674ef38cb92d3321ba9a5adb0acdf97dc99cae0592d470e803494dabfff0e93f2322e7c312e1eddbb773410507a30cb2c6fdad15a82a57f6d679f4319146212985a74905976d4c975d76d9d7affd7782283e9f895f388fe359e5b9a19fbea7b3b7bbafbb775aefa5effeb3fbb68f84288b06894cb94c98d0936f7b984c72c3c5f0e05d4ec9c3db8306b7bce537dfbe7d5f888658cce502d1e0c07ffecabb6fdd324c7db8ba390d3989b9137a57ab714f27dd0b2df3a0288e71b9a0b5922b13ed722d2dd16c85fef0585fae2d6634e1732033b4ddf7fc5567ff5f0f2042dc5d26e2a263f50a41322152355c0e4d19abd9a111051080e5ab6b3ffbb6deeeaedebe9efeee9ededeceeeee1efeffabbb778d3eb460b45618ca570637bff537deb199c83b8de731fe3343dbbffa3dddddbd6ffbf493078736b2fdbbafe8ec7debe7ef29dfffe5cede4befdaf9ccd0eefad499bd7f793b437be8a67fe0f163c72e5976ec318be7cceebfe2ffbbc766edf086561faaac5db39af375cd1ac7e6eb37ac6756471b1a1faeb9e5cb96f35829fc0a4fc34f086e77ec788a58935f189802965378b6174fe0ce273c998c7ba1c30f1ae173b73e922f33f55c5d4eb4cbd5ca257e934cf80500c7abf2ab072b6708f56aad73da345dea2307d662a42d5ac42161ca39219428caf9d5a543fa3f5ad8b195aecf0cb5c2c25113e45853911c9b704822d4227c64a021481824579584694845726875525f58a191913a0402a84358af68482ad844050192e4a9122d42c381837ae3fe031f31352a79c4489835fb348a58e3fe23015940577d86a9b620942852a584184938502ba6ec936bff814f076ca48ebfe38f0b0142ec157891fcc7fd1f0440232c5adf7f7cff4ff7736db9780584b65308dcc3f77f2193ae95677e89164afa303a8ccf5f106e6e6ee649c82d2d2d3c350a0b175c7001d60e1bffd6e6d2f09e4175b231e73b7a85fbb5b83071287c50ae7978fd92be6934cde46a57d45cd32b250d39fefc154d6e5531219a5c0462b4a2a272eb9215212463929211dfe4a70a719483dbb1608ad114f4ca916f2cdab4699a918188132a1439ed5173d022e04b58ce44def6b2976ceee94816cd4de6cc4d8e59921c7f7cf85bba28993b37593c7f4b47fbb4979e8a967d633353101db34e7d62a43a582ad6db8a497377d2da1bfe5abaea2dc5c15269db506ddaec97e0a6482a6187221de0536d69dff1951de5b66aa93369eb2b76f536f585bf625767aeb59d57ca6e1f3976c60968d14372569d08a96b14d88120b1363048d5134f3cb178d162ee4bad73a928116778ef4e91c736f1c29c70ea49949702957e92622f2468ec5c73cdbff03738b8ff6bfffef5d03f82492e9064d4f93ad7677cf8dfef79e49e7f9bfdb58fbfff9b6bab214e0f27b7009abea8a7104e2d099e785d4ffadd986e949af2e726e7e68adc884ba0c3792c414ed2bc22692d35d3228fa1e26ed82a97291383a68faa2a8553db70d857e1164e10a24f3c51393c078b3b7079ec55213fc2cb8798380225fa941d5acb925ff88fdb2e0bb74a7350ccedbc797ace25b27c3e303caeab65cc0c858bab43681c0f8daa72523ce18acf3ebafeb1c7b76dfafaefad5871e5b58f6c796cfdfa47df75524f8dd727350e2d1c5df3cedd5a7373fb39c939e132ed60940bb143a4110f6d1fec6f5df9a34de12dc10c6df537bfb0860e0e27adcb2ef85072eb67bff7f081a1ed7fec4b57adf9d4eb4ede74cb5f9cf1c60ffff6176edeb26be7aeaddb1eb8f307ef3f7d96cddae10d6ddd230fdf70c3776efed16dc4f60426b7de7ccbbf7ee5ab9b366e1c7568497d64d1e2c5b8103388cb91b3ef338881c1c16488bba9094eabc44a23e13a75265f07bcfc009106bff053017ebbe0d2f761cefc93ea107e88212eb3e510baca79fe505f771fb7b56053ee0a621014912241e3cca221029ecfc6ff51c194ac91cb1439c9464413d81427ad39b0ae15842006135d2d76f5445fcde1ab884c6823b56ff2324587e1abdbe24c64ffc1acaca96396ab21d981d9b8ff4840a0a92176099832884d54e84c3c16ac991604b58ebfe00219435eb48072fcddff718c897cfee22a2c3a52c6a3e06b5592fbfea365050e10beffe8c3029fd19e13e7020a8e98beffb3ac4882458841038e6808c08416a401b5f4dd3c7048288a80a92262324515b4f8e79f7f3e45686b085ac543e22f83f460c7ee9d6aab31c7e9c3614f85e39cdad3fbf73fb5f1b1197dbd04b7ea923eca699a44a31a8872db7f54958a3c93a1ae4e92cb9408724b92898b70c414f1c2c88f42700ba6c24e442617e2023aae3215634ab231d7948b6f34847e11c10e2e82eb904b060ece2a7afa99a7ef5b76ec9df8ffdc39495f7fd2d915fefaa75717ccbe3357dd77fcd219679d8130092d2d27b915c5598bcfda5f3c6ef58627f756425c138e1f3920e5154195daeaf59c5c1e3b7bc9d98891681a5d7500020b272e3875467deeb635db7343bcaea7482c17fe2a458a30a7d7e69db8e025f41049d419081d50517da048159cd0b334f1322e9e49dbd6de9aab70216e7812324f674a78dc789e9f850874d39b6809b40ece45daaf90fdeaaffe9afda5b5e1c6dcf00b1377c626c9ee249939734ed7a2335f1264734d95a1dbfefa3d7d1c74f6f45ef2db9fdb361c063ebce5aebf7cfbd95dfd7d3d7dfd5f7c701f77e3b2dc502fd7775ef33fce7debdfdc42ebc5de64d7c6effeded9bd7dfd3d6fffa31bb68341be36bced9e3fbeb4a79327d3f55dfa2fb76e2dd5ca85e1751fbde423d7defcb5b7f577f5f4f4fdf5771ea11fb5c2bebb3effbbddbd1cae9efbe5554f648656ddf6e3bff8c73bca0447fb1efef47bcee9efe61cf63dabf6f3521462dd70dc1b2ea80d31583d19dabf7b2f6ffe3d3034002c70eb6f735b574fc7b4e669b33a7a93e6ce9ed62e0e70a7713df3f0967ffd5fbfd4d3dddbd7d77de535ff3542bc5d48f66fb9f383e774d1b38bdef99e5b93ae62be5ccad787b6dd75d5eb39f1656897feeb2d5b399a0ecf970e70259ffdf6bdfc0e50af6efab78fdc70ee0a18b591dcacb77cfaa2afbefbfaed397e6ba83f7def37bf987ce8b52b6adffb8b3f4b7ee7ab7ff4fa135b98b5d6a6fea5a79eb9a2df668dc3531eddc46dcb84fbfc33cad038838e664d433b7ef9f2f35ff58a7beebee78e9b6fbdfd965befb97b153f4c2e59b8805704077725122dd03906168686d7b4b737f3f0c08181011c2af4b556e35a9ddd4f3f9d2fe29c1cb7b3e112aff2b34985df2572bc3299eb7bc30b9109e08944b9b93b808d22bf2c04e74931afd68be1ea72f8d5a4a5ad059b3ca2909c84b3e1cc6cdcb6ad8b830592fc1c31e843fa3fc288c926c2d8d18a8320592d6d51b4a6a1434be9f2449e4415090226840943c3911de554a916ac206092505411619813d97f427b698aed634a1d901d8a9a1108358a066da9880ccfe0519fad030848d7f80843abab6a51b4e32f34800b88948b300c293afe313e722db9a2fb3f0898c38089ef3f720c3989ef3fe00008637dffd4e6a3adc6f71fa1219f819623993b193ecfd5fe233b6a88e7687eed6b5fdbbd7b37ada8214d0aad539cc8fecf1437954a9bb73f81d94ce2cc3618e17c896301bed056aa1bb73dd5df965764cbc7b78d544da30e61038fbfffc0145f448636a61198126d5da218333392aab23c26a027793aa2c1ad709c3822360d19c4337c0cc2d14a509568b9a9aa94cb2f55cbd7387cd4645842d4b6f4f6cdbce8c2a7fa7bff73fda36b773cb57d60fff68181b5db9ffae1ba754f754d9bf9ba8b9a7b7af15a128abaf14fada3dbdad13f67d92f3cb567f1ed773c78ffc36bb76d5fcf1f04c51d7b97cc3df10d2ded7d68d12e395a105ab7e876b5f79e75cc05ad037dab7fb4f6e1351bb66cdecadfba351b56dff620ccb38ebb00817808a86084840572fa43ad804dd9b52d5bb6ac3c6925dfb4395b2c70e32921438118265c545a0a0fafe57fa28d03f70648919c8b312c51c4543845e528b248804a8497eb4c926f5cfde94fbdfbe73e927ce8ea5f3da95aa8f69ff6ae07b6eedab5fea6fad5bff3cd87064ab9cd7fbefce73e3efdd7576f7c7cd3bafb2f5cd0c245c6f5a4b3b530f8eddf5ff281bb7ef9af7ef3ac422d6999967cf21d5f39fd6f573f7ce7bfedfdd43bfef0860df564f3c797bdfaae577f63c3ae1df77cfb920fbceec41bb654f3c3fb37def2995fbee4c677fde4915b3fffceab7ee9fafdb5fc8e9bfee4c20ff5fee4c95d1b6ef9f5dfbce00fd60dfeccd086079ffef6d53b18daa63bbef0875ffdb9553b766e79f44f9634716a0d085cdecc05e5e10ae8c7bef7d7bd73e72f5c30ebfd5fba3b3c139a0086bb45136e302ee4eb054e1787c34db3212e27542b27d5effdd1f2f7de79fa5d9b9eda78efbf3ff63f2efcf0b73655926d7fb9ecc275577c6bdb13dbfef28a4b9264cf08b1666dd35f9cf07377beea1b9b766cbff73baffbcdd79df4bd8de96dc3c9457ff7b7efbbe5cafffb78a1b4ffae6f7efadc3ffbe0af5ef4d870ae79b8bef4d5ef4b92abbef7e05053ad76fb3f7eecdc4ffce2ccc10d37de9afcf945678e356bbc1c89994b4fdfd91ab343e33b7966d634349e917dc669679e75ced9abee5bb56acdeaf3ce3df7f4d3ce18e67a626e0ee6589f0f5cf4b883363cf198dd94b790d74f3ee9645d992c67e0e7129e0215ae1bc72bb8a0a65c6faaf0fc6a1c2ffcfcc1413a2073663f82214eef5923bc58aa5a18c61e2e000ca11fe10795f084ed7c6d68b83c63c64c5e748e9b611f07c699c9f16d727d7e500541110112456ae18cefff6644f2e422b4e465071992aa20d4344531d5072455a5e668570b4d62b1a4c4d40a348a18d410286a08aa85862035ee3f3051a42de52aeacb319ca093760f4ee3fe4315326a8b26482ac2914159a0d8b8ff98aee30f4a8e3ffe0008b88a5c08afa00813a772ff070a701020600238e499cf5f2d3a7221492ec2f71fdf7f701ef983efff5a20a001a18f1ed15a2c308ff0fec343407802ebd6ad5bc9492ceaaf7ce52b3c4d4a3dd1ac414fe4f397fd017524b76ed9c615540c8480368d6993e1705f5c95cbddb81b9747a9703cc0dd77dbb63d35a7af939b7ef570785ad127388d42a803181132b6ffc087432ec27a68450861181363d1484e3cc9c8c4e58f8ae4338f293ac2cdc7e8186db8d3997198546592e6585af17c4b4cb32e3e0e8773e0790843ab8a22ee4842be7dd1a28ecba7ef59b366e3830fdfff939f22d6316b76d7a92b6771ff6a5b3bef4781c35224f1eb8e69a188a9aefea51d9dbfb273db5d1b1e5d75ffaabb916cef5cdc3de3f57367bf2c5f9a46308c0c4c3544a36a1d5370e6f42cec8cfba0340000400049444154ef7ae3435b573fb665ddfdf7df0e007d5db3564c3feb9899273617daec2b29c232a221301638d8348222347733ce9c3da33acc1a0bd10b5128335d0c8f39e2fd3ebc9a27cf892015980a07b9c14036c1a4365c8d9b1eb5114285f7d326c9ec857317cf7c79927cf796dbde79dcf9f38f3fed983bbff7956f6edc42dccbe38346d6dff5a924f9e2efbc79f6b4429ee762d1cc48bd33f9d63f7cf4822fdcf9917b6e794f3fd762140a238f25bf77e3a72f3ab5b394ccfbd0fb92dfdfb09d70fc53c98a9bdef9aa9e72bde3ccb77c6ac587bf71fbfa8b2fca73567ccd7d9f396f4e3238783c5dac16067e72fddf27c939d7fce91fd7861f4892c79eac568f8b87560a83214aeb9ebf3249defbd6f7b7fef16fffea05cbc335ca446ebcb07724c711f4de1ffccd551af0573ff857bffec62f9ed49e2be20c44b7ec3c0886673c830bfb11b811916dfad6df271fbbf18ac59dc5e2b4577cf8e3e7bee25f7efcb153a7d1e11bdf7276a9b9bafc35979c93dccad9f8f0a65530bfff6be7b6e4f3f34f7feb27565cf98d3b1ebef0923a4f913fe9fcb7be3939efa6fb7f63e197af7adf87d62cd8f42d6e77e5eae8a4ffa59f7f53f22b5fb9e7cd1f2efdf957938ffde9098591fbf63284832ff06d9c35f6c9108d869b40d9bd70a978683ce09a43b978d69e191a372d33400ef4d9f3cafc6058e31158e122eae051e9f5db23e925e03966ad18ae3a98316bc6ae9b77f1d840b0929b85c74aedde396d5a3b27b784fe3c7f3adc6b8d8f850bb40979c3c5e9f4ac16600bab6c84c7283321e53ad7a9576be9d5e7bc35196fe45d42f591eeeecef5eb1fedefef47923eb088d40a39348b02023e09018aea06450838e4e6f646c814b996a415651915f121442b3761b542113e2ad628348956b4eaa1d93d1023974c30971a574e15493d370ec4f8fb0fb512b621d31034a6e043902042571af61f460a13013e20d92ed44f63a61a07b60e3a8c4121833c55320e533439346210a149c7dff1c715dcffd3a5c77260bdb07cc86ddb3142cb8a9c15a485a31cf49027896fb43826accd84227c54540cd0a7c9f71f6070fce50c99ef9fb89cc0f1fd9fe5a3a4a5674b0c629ccfdff7bffffd5ad492074c961b774e91630d26d6481013c11f53a43dbcf670dfc09c9ece8497de72651c7b40f81613eef4e38b386438bfad2683bb7677cc6e475e5f00b04f8b87fcfc557f1056dfa40553ddc382684161b9c432391610188b197a7c5040f494c88f44700b6a13c742c2a61217a1ad28ba31673ac584d07c88a36966f288307922197e8398bc0797e2bb20b9e439ba2c36b74c3ff7bcf9aff939b91ace0d93eb2787f6edd33503e8228c298ad442cb2d087d8bc5d679c75db4e4c4cbd87a10c332625cdbb99ff709a562d8943a5d52afd40a628542d3cb8f39ff9ce69f17075d8c7369c4c0d0001c84ad931ac8a8be8818a76dc71f7f5c08ca0a2355d613bb1e4f3a2a727f2a0767e97fd470d6c615a2294af48bbe35266a896889f478201083219ada9524af39e7c2cb56bc6979e7c567bde19a0b1ffbf93f58f8cafd57fee3efbfe515bbae4cf6f3a0a114c6224f8302219e6b4ce33cc42959ded2ba2059b3eaa18dfb172c68e66e544eff3adb4b9c20730698ce53521982d753e27899c33fa2f19e643f4787a167e7cce80a914d88c2b969966712d1d10b7fe192b7beb43a70f1c557b42de50542e10534078716a6261c0d761cfb0b8faf5df18d2ffc9f5f3ceb980f5eb3faf72f9a47731c3472ed71a5d2d431cb867b5c6f3b43e38091bb82b9129af78a7245addc28e119c0e51247b715a2cde6e626becb84171735d593dd95f2e0001d6e6ae11c9ecb4bd24114cad5117efbe82df248e87468859e64df10cfb662147b8a7dcbdef2bee56f78f7e5c99a8b7ef4ffceac7f26e153ba52c8972acdaf78cfc792d75cfda5e9b935e7fecde9dd6037e7c215c995d7ffe45d279f3feaacf1bd095708179c8777a016b889371a1aa16c786058346b0786c62b956fbfe5e655f7de7bced9e7d0dddb6fbb6d7078f09cb3cec3458abc6b4943cbf38ba2662d5ca55d4f9a71244e6b893fc10bbfe5e53dfcb8d9d3b76278707f810898ae845f49c20dddc1abc3cfd2c54aa95ce20964e1bae57ca1c27f5ceb5ce378bc580bcf01e327062e54065766b498cf619077def6f4f4605feb516b13df0e634b7f8a829eb8ff4b9dce68b160045a394d608a9c2ab505ad840c4dc054115a7b82ba6139b55aef18944d35448e0c664d52b5c89b1d593ee4fe230b0863931c3bca2992c6df7f10405e435307d47aaa1aac619ca151944d64c4a14892223902ea06c28c5732084f64ff913a161c7f4070fcddff71032d4696184b89dcf71f40001392ef3f3883d60898d8c62b5a2829a78ae4fbfff3f7f9cbd58ecc853ef8c05c4b15cc0f0f7fb498ac93e6cff8e7effce7fffca54b896cf9b2cb174b563f41579d5b0479f86838d42df02daa5ca9b6b484679a9026fef9cbf2a17be4d66dfa2c8e08e8c64413624ac672f1e362e8cda112a6503994d4d1a90f11dd2449c014f74445cb6322a651a1a8a4c9868e096815d941f4ed8d48554cf1c931221a5d64b81481ab2579daf0934f3ec9337520883051275e95a2e4f15d8af1d4a2ce97578451e1c206824c02034cc1444c5f2bd51016e0905061b9629c9c8e7169048da24ebbfc68842e4c14d1d248a54e27cd0e16a8b2250181fa92a54bb91cb456e3f1569c9cd1c970e327774472425620b2088f02e24950e1b80cddb152a8e5848d7b55c3f39e381fac723cfbe48ea7ebfb36af79f8d62469197ae4c7ff96246fffb55f3ca16dff6a4634522dcd3fe54349f2bf3f77c3762eb6d8fbd4937b867967ed9ea4f7ad1ffbc2f57fb8f7f2537efea6c71978bda927b9eefa1fee638def7fe0dacf24e79c38a769e94bde91dcfad7dfba9f953af0d0b77ff7d6e4b2b39794c3c5d3616ce11540e90aaa264d2fbbe87dc9b7bf3fd071fc4b4e3e75c5827e5e769b1fd9fabdcf7de6867bb784a1a5e10943dbb9e991a75b4e78cbef7ef293e724df5db7959d258c84f9c556a9e5b28ffff81357beff1deffbd837eef9ad396168953c17223345c8118c71016d982062ddf036a27c61e91bde985cf9b7dfda43e83778df3f7fe8d637fff2993d338fbf28b9f5ea6bd7942b7bfef3b31fbf35e92ce58aad4b4e7d6772cbdf5eb79683cb7d0fdff8dbb726979ebd285c89cb55cbd5e24b7ff95dc99a35c9fbdeb93c9f0ca6bb10bfb2d09d8e975ffac1e46b1ffac857affcd02b9b4b78eff44b7eeffdc9272ffb93ebee1e09b356def3d89dfff993c76cd6081c0a21a6e63eddf4e15d3f3334d603131ecfda81a1ddb7eaeebbefb9fbcc33ce3ce5d4535efad2934f3bf38c7beefae9ba071f626eb94a268d6ad92b996ad642789d1397cc10802e597c2cae888fb181e2ffdc1682330fecde43bf6a9cfeb237a72fa50a713a316efa7b0a93304cfbd8c169c28c700298e6f49353fb1a87e78c9113637ed128cf9cd18fc3cbff69059793272ba6926f3f2bff978a4c618d44cfc9314bae8f46d1e4149194307d100d9f313636aad52a5d242942631c0f552b146541b9f85451a40afbe4681d72ff51afd4675420d012fed024591e75ff4152b5340741515d8538e4fe8324c6350ac75f5038fef20a7911b9005111dafd1f2858685a355a6e146186859a26df7f8085e4fb0f4e020ebeff6b0f217f017ffe323a4ed116ce9ff35fb7df71f33d0f7111323fd58f54eafbf60f6dd8be6bf5fa0deb1edb3cc2fb3bb802aba994e7f2b9f41b05398ae413fcfc3db8c784ef18248a1982a2b6a3988869d55a0ea1249983a529f9ef9138b91d071843390368cc37948d0991a1e3a226188336d3d4426b6f85667fe1f3463e4491a4d6f521249a5a125a14c3c67cf02ba3d54248912adbb591a7c83763d54a8b5cadcb5fa9c272fc9d805a15d522b4d6bc8ca41d3c90c9207c55218630896a72f59647491181744eebdc3f38ccf5c78c9c474885f7d30e97b823b2349cab9578554b389ea3550d41061b736a39730b572f9709c1f8d1293f2d49fef4b293ff14d1e597ffc38d972f5a56fed8391f79cbb1bdc98a37bdf74dcbaf7aed6fbd62db351fbcfbab9b4ebdfcb84f067b7ff61f8fbd6b399725e786f6974effd057ff6df8f2379efceb373ef209e2af5dabff7951ff5b9139fb83d7fccbf97378e4f2fffef1d5bf74c6d933de1b143f78f58f7e6141473294104ef3d0e3e112077e34ca386bb32ff883ebfef4a3af5baeb3d78b6edafca553ab4f7ff1ffb972df9f9cf6fa93e68e10a5710f6d3ebfe5e64f9cf781af055bc9e5dffcec89749fc18457fd96f8a534a9762ffdb5fff9bf3800453a0c8db8b65819d1b5663c533a576b0a15e19541a8d52bd58bfff2b68fbcfdecc5d343e7cef9e017bef8c6f93c95ebc35fbcf2156f7fc5d5ef4dce79e7e549b28f1b4d6bc9311ffbafcf5f71da39ddef090dffd6d5b7be71411b4f054b038eeab463dff0ad2fcd9e76fa79d56a786c732f3fd531b4704df1e2377de24d9ffa9dd6d79d369b1b83091be75df847b77da1ebec77bc926bbc95deff859f9ef7d2f09c638616a246ce5a0976ab1cd362fc678656a6f3bcf0c966ede0d08e3f7179734bc709cb8eab8d70809d7fc969a7f6f7f7cd9f378fc370bac3db67d96019143f279273f21e9e505dae4deb0e8fa7e7e71e2e48968371cafac4f627e6ce5d1082687e4ae0d7645e575e08971ef336276e6d6669f1bcab702e1b80e50897dbbc510dcb8c5b6f396707d570640df8b55a7b7b07eb85cf7b5ac1fff1703c99216bd51cf0fb83ff1cd2ff2570503c2c0a4cc92c4c68966ada95b021283894308a2424d5344c68d4a50b130ecb0d2d31b1236109c0a7163108aa180ec6558490296b9a8664444d9323498289ba6831ad28c28a6a5a3258c33234b5248aea091c89695cc8c087c6befa0381bc1a25171f01d110d462244e52b71e6210611232e46a9d5a5381696661421b08083bfe8ebf5c451e2517122d6f011f154558d1fd9f752410c8b5547dffc13db441f9fec3aa010479089840f8fe6f1f3d00c2560326e627cfc7fe432bb4c86db4a72d9ef9c9cffe534bf7f4b35e7ecaacdeee6a7978303c76b3fcb2e5cbb8d48d3728b6b4b736a5cf80a44bf8b03e345187b61e8a80a9ae6a7e6301689a430c023108c948515ac69480acc1b4a2682936d6cac814ca0fa0f03cf5d8d0947d2b66084d1232102411c89028926b95ca1de501a9e0810c0e0931f67758d0562b3ef9030f3cf0b297bd0c195c4773892b70b8c18f2b08c3d41735aa5454d3f4444b42fda796044daeb6f87e86117238b422bf44004245635ad3d6165518370169610d01925a940cbad8a76332a2bed99766ab82206dd8b061e5a92be7cc9e87a9e0ed235cc7cf1d91f48933c0628557b1522e73bf27d7e2d6bff02fd7bcef7def5534ae162d0799cf7ce61fae78db15d552520caf8d25ae0a87bd3c2297670811f195f339ae3ea56ecf9ec1f6ce0e22e0bd03d58ed6366ea7ac1647f6ee1b2c36b5b734731b6bfaab54911fa978523353c305cb556e56e62ad9fce0fea792424f5b3311348f882eb1e6eb23034323f9a6b6693cf68a870e15b83798e70f25e19490cbaa6bc51c77cdf202222028ef1ddc9f6fef6a23603a30b4da50a1b9f9e95bfe62c9259d1b9e7a7717f7ccd6cabbf655daba5b9ab8d99633d83045c5608b0345d63f960e31341c128fc12fc304704b6d65cffe6146d5111e2b4c5c1a8636b8776792eb69697b6668f84652d9bf7724e9686fe53781678616c23d26919b82c71fda33b356def7d49ec162aea5a5b7a33d9a35a2ca70c16fb8d297f97c1643cb95f25c7d9dce5a185ae84f851ba9c3d0d259635444a5078706c8c56a53ae69ebe6cd77df730fef37c773c00dcf6735ad3ce5146e236176d0e079541cf4d29f02f70757f8e9046cd20bc54bf512531d62600e7a0969e9366fbf057cae8a0fa261e29a9bb76d7e62dffe7d73e7cec5edff9bfeafd54ac7c3fc1edc3d60629922be0d8d134093606ad543200f1f01ddc824758a88694520c3dc99598a246ad1e22549e454692b90184508e9429390818316348af404f917d8fee3f89bb730ddccb5723992a69e5c5e4795bc118e69b9ff6b8db040b47ce451f13a8266054dcecf5ff77ff364f77fdfff41409f746c7110f886763c6892ed8410fa7c44e085f4f9cbf0b9e58ac7df703de6d6ad4f3cb0716ba57dc66597be66cffec16317cc5b71fc31232365be0631ea7ffaea752bba7911c94cbed5830649eb489f1160053e02932a8ad02079c71d779c70c20910d492a77a2113ada8045a45ab9580543423d030c945c094308471d2ca03b10fb4aac88d10539c499217aebaeaaa23d315a6246ec88a1982e2a81c989a5d72ec884e659fe19b80f85211932b7567cf9e9d9942ec20236be478926854982afb0a223e1c08f1a585d320299b2892a825a9450871c8d5133810ca45d0846ac94954d10406b1208e29c2479816c547469d911d144908f0dd68e3c68d679d792ee25c0dcb037fd27b5179c450786d4c787e1171598d58263c622aa91557af5ef5f297bfbcc0d3901bfee8ce9d77deb962e5895c529ab6ca011fb75712da72b324010a57f2d22166a2d8d4d4029bf0a5a54404493ccdf590a5e6a642294fcc4f7f4374cbf5c5844d2174e2594539640a1cf115785256a9a9c645abc57c89db0f8af42ad79c2fb612312159c87118580a2fd925b4e65948e95392088a3895642cb952a199ebc29f19dadefbff69d6b2d7fc9f2fdffaf67ffcc34b96cd0e1716136db535718ac878c31ca467866c0b1ce00233ff1d6a686c31046d0c2ddd5140bf946b6a2238255e3b38b462a99521c7434ba3f8d6d6024f68fed9a1d573bcba9747191f6a68cfcc5aa1d8dcd1da51a4859f99b530340ed48b5c40fdec8616ce560fcc5a185a8d6b9b0f0e2d9d35e2f56868e9acf163517757d78f7f7cc78c1933b42ec8f1bd5d3b7776f7f67342cc23b12abc1d8869e2b037fc7a02befc780228d484d9e16a65a6207837148fbb6271b11de34ae1de6002df5a7be7b4471e7e18fbf830960fdbffd1256144cb8781d22a5b3c334fa2081f829f729081a0485b24b54b2e020e55c84320468e1d8ad442c0514e5146ac9622c9e465875af5873c349026c9983509d079094b521d48c714f8e86974f06905ce64db7fd455faa9e1d04f3ae9f80302f3a53985001f721182081a1992a6d8dc060e5552045b84c7dfff1d7f00248198e015a4318ce2938b70fcc1017cb460f11fd17239c0c115e55442121a78e14bcbf71f7010746002321449dadb859e6a2d0fde9926dfff010a58c0810424722d1170a81280319ed46a2d2ba7282314272dfee13b63a9c44fd8adad2d337aa66ddabd77c1c285bc04f1d4e38fe3b488917350d4dc525cb7714ba93c30ad3d3c534ac36750240d50b030c678ffa7b879f3663d0c05815113a6327c389885a9dc6aad381142eab11da321264f7a1e2f4b66620e7b9ce84a5d3976e2a2d11099c4aa308ed110244d09b52c247de51293f986a96916015f8b0d020ec27440eb073e1c12f27c4bc6db54c488cc125eca142aa8c327a92124a58e00b40625029a56542b2d681425894d1a525bea12342a24d4d5312491e72e5f7ecb29110bf158578ec73837e4a0806893bb343952cb739d32310df798b29d709016829bbffbbb4fcbd4a8394f2b0abde0f253fe232e25aead87e70a57cafc74c4edae1c018717b472a29bc65fe16095f095071c85e08953c1f06a591e23141efac4b771c24922eb709447541a3e26b1c5c8abcd650e94c3f9286127f1318f914b15c36d99bcb887009d8b7043c7b93f21bcc09577f58c32b4692bdfb1eede0b079a7be6f775706d2d6ff4e1ac9603634e2859cb21302fd64be1266462ba706f6dfab4e1a931b4ccac1dc9a131273c386af9f2e5b8163ba95c949f181f7becb1356b56cf9fbfa8735a2b8f016372394e06e7a65c989c70c971811f1e6ae14e69ae8d67bd105a865f2fb82a1c27c21bb845371fde3ccc25ebfb86b40afefbfe8f051688927e0386c675b0cffa82d63209ce94eef2f051a1484e15cb4a84e4550bdf985840113e0439095d689276038aba0e02535a9854c1240574d29e60ed85baff30b4148c9039fe8080b79020987dbc057cc845cb19e442d0cfc9feeff81fddcf5fc7dff1f7fd3fecfebeffa75f0cd8eab9df8a2f037c1af24130a3373c42eaa4c58b3b5ad3abbd926253a1de9ccf2f9a3e63c3039b66f687eff94087243b09b93e29c6fafe9fc27ce093055ac27ca0c434454bfac49198e531131a3ef961245a396cddc3686e222acf5770cb500fd9fc5832c61761450c425b927d2b1a9111139ff93602015c47eafa34a20a4f22677ae419d442c8bd90912b488cefac5c88082d0ba685302a78a77411834617d7e48b0b16e050a55cbae4d252ad4c59df28a28b000926450819475e4c5ad4b722ad0a0ea84f7bf9e92315965088444b658eadc22379b9a0b8c4ab590090a02e5fe4b5a45c38ca01e03baf7847a5a95ce2716d9c4512ffe1d8bc449557e070ad2b87962c1322511e2d1482903a0f4ce676ccf4d2da5a9e07ddc22678e4788eb89197e68667e7d2cd0aaf0f0a10e4b83c95e3612a0a21aa40819095a8269cba1274137673c12fa6b11d8e84c3d5ad3c42375dcee12ed47078cb495f958e96c2839d896cf55460ae9a1d6b68c5fe390bba195f2d0c0db16a21dc2b1cce22098f19db0867b6f57291234f86c65b7fa6d0d07e66d68ef0d02af5e1e38e3beefaebafe76e5b392afebf68d1221e04f5d0436b798a383365fe8c00341c5c01178520e19cf0f1021333023ef7a51c73cc31ac0b24291eb6ff63d35a87c060bc5eb48268826e484c2b1119754cbda5abf10aa54a7650947d38486ab9c98e3e7ba0b55a25a6e1238c222b140201b58e808d1142326a1d1949220301130e32d2451d0efd999cfb8f064e4e3fe9b070d340340af8241ba0706644701013028ebff906583dabfddff1c791f01fb91cde050d986078643e7f1d7fc79f4d4c6e80e369676315fbfeffa2ddff997d3c0107e0239bbca9b965c99c594b664dc749d89df8d93fbc67a2509837a76fedaa2a8fea406c82fb3f90b2dcb09f4958ce7028c2ccf0c5111353c8905bd16a8d3001e33412139169d47afe38cf57703b568f0de88c007ca5463e9cc62a3831ff8072c33f4cbf7980b61bb4f02a04e1339d24399f0cc244801c4794187c64540b4755a8f0d9890c04b530cd2032582089d06647519288a939d4f92d473ff26127d5085fcd495491234982c03809618a12c3267cfb815096d1e2fa7eae7fe8eceb1c1e08175e1248f274a5a61c0f1dc75a75846732f12460dec312caf498c352423ede74932fd7f29c888603589e3fc5ff04b95cc45c083128170d53411448b0aae798eb4db0d8e099b7bcdc852307aedce5ee319ae0120b5e8ed494e4608457aa32ae4071fd717808315f5f218b44d5c4e9693c9ce3f65bae4eae85389b4b97d30b90c3d38c43445d4db8c6b9c2794699c33eae67e63898c761557912166bd0877624676da45eefede9c1b57856198f9592dbe36f1ce4b6b7b7a77e1a32bc14a733ff97bbc2818fc75284266ff4fff4a29d56fc0301d2e1f97f70d3344052a8498b0a0c689184597204b458c8b588b4a2e1ab1682d6c9e933553025a95a72f832428e80acd97a84a39122498bc890a4254931655970c1a10a48d584ec93c391984ca9168eaa50a19f9a082cc0542bd0c8a85d11f447457500313587fa73bbff60968668cef177fce5b4c2419e29f773ff170ee4da34b4a2010a940497ef3f20809f0008499b1bfbdb21bffff8fe034abeff4faacf5f1c9849c133cb95f28e5d7b36efd83373d68c1317cc2d715720df78b95d8b6f1ae1a1a5d5c573660d27e1f13dc89326e8ffe91239f09dc454606a3f51add1f126a3ad4602522417d3aa4464f8563b2a3fb63019e803dff99ef3ae0862c302c240176dd0339770c8c521176d794ce02808901b41ad8a106c8be42438ca4540df7ffffda79f7e3aba783f093e8d3243246a631a1998e290934c1e493e8d10e06b25b1a5688a2464a42519721555a526300581a46c4a129ace6090ce238c160254912409073e6224b309071572c4e04360e4c1071f3cefbcf316cc9f3f541de15a6484c3f12b07ab448b88843791264de995a25c31ca312e4ffbe156d470681ace4739b0aa37f19425058fe160b3522872ecc9c36f91e0a095dfbfc39b790855a9e3a65b6e9a4c4f61e9168170786e52b5c4c5c5e12ecc70284a3517b4726e4cbb1ca3a60f26e68b374ff10da3d458386365940c8b9ef118e0423202903481500022c9953976261cd60db20c943b87c343827d684778d68a85a68d9b36dd7cf3cd5cf48e5b2a2e9a3cfe1fd6469a6cc9b01ca0c95920f4934ad608490214b594c81120a74a4c082d4649624192f021604a5e8a9261e50a0ab5424eb2e5292d857ce8a242c22c32549160c6b41a12879c64f248aa218c4faafd47fd5457c91994e30f0840c16c327d9a628a720001a5d984062bb95cec6326891df88891cc261c73305529a72d8939fe8695e30f02beffb064485a20b6947012169a2d31115a8c92641d992341c8972048b6427dffb72d48a001ce8b7cff61f8b8078eb17dd7deadbb79d069fbac05b38f9f376ff1dce95cc426b8f852a2a749f122cae67ce1f6fbd7dd74d30f4f5e38a3a3a30300f1557d6f112d156888d49143ededb7dfcefd62604ea248129132780e4a783655cc475d451112838e0915c995a8a245e50779a10fd0999ca271441ff5fcc83d50ca86cadc180da1a2313573c6c745449b18044c8989203702e1b8687caed7e571ac1499272d3ca607023bcc3739b40864d4a2e6326e5dba9a5754a852c28dd0429d22b56a54eaea27c6a5850046a015ca528b304504a8a2082d0e349224aa48f0499247171a31089a469133dbf5ebd7cf9b3bef252f3d75a8cc2b6cb97f158934bae4bb13af5de13950ac2142cbe0dfe1893edcf2182eef1de1d2612e53e6649567dd727b6b6885a70923caf51221920d10211e1e931c9ee944ecca6db75cf01cae300e3f3ed129ba455c4ad8c91b5f58b0b5f0365d1e27a4289660955b6c796f757896153a6450dc8a498c1c8645804c5b61d2c295db5c45cce20fa130b178e86d815b66812c3cc19717d3f0a02a447d68477cd69880bebee94fefdcb961c37aee21897f47c7fd8ebaffd307d6023e04418260c9886605051f3d18bb6a8d53054749f2e24845ea2852c40e62b633600aa656a5840f9a091b087c121c72299a301c682cab8a1c53b171686b05498c2040124dd14c19138e92e30f3e8ebffb3fcb81d5010eb67c2048f886560d025a7acfede72f667dff61fb72fcf12efc4d9b3c84fc4d5b13b4efff2f86cf5fb6027e4bdabd6fe0eec776f4cf597cc96bce79e5192b572e9a37bbb7b3582a94b8ff36fde34edc22dfbdf94b1f983c7f7adfecb973be7ff7da6478a8bda5096f012b3992b62f76303c0a17c23e344c3d500a3a93d092e365f8715132e2c4c2d0b118b438c6cf10560b91a1c5398af981af7dcf790fb4b06556b4e5104623a08f2231c929c61ca6d098f0552417addc8afac4a2681c23d6ae5ddbd9d9a9a97ace077bd40df64fef5f76c2090b172eaa5446ca951c07b03c4d89178f8e948828c33510848f44a544a99c7d92557060aebe0c07b8054e45c3c96a38e1e564361c8d22cbedb1f0c2db5b086b42a09abe3d96735d5eb04a3ccaedafdc974b34fbffb3772680551567df3f77cdcd1e960081841d6417441051141014b18aa5f8e282565c80f222506cb52ee5b3b662b188828a4a7da575d72295aa88452448c10505644776020921907db9fbfd7ecf99e47073ef4d58b48a728e783267b633f3cc9cb9cf7f9e6544f9584e09e28d7e24d91c788a212e02573496a99d2a30c115240422e583c4fe559c3ca1978c7016344c414ea0f173fe2e08977382c84f59f14815c00018d02c26b821cee5b58b9ab3205ebbd9b51f6ad4985076a77defde7ddb76ecc0b9d40f3ee7cd06981430296052c0a480490193022605ce360a008b3864a873e7ce0a03730f0f8074d8f20e8f01cd1a8fa4aa30915cea91bbba8cc89a0811ed425e1ed55dc587c718c457798cc71f36f07ddbdcd6d55b868a24755779081b8f2a60dc23e255c1f054c2d1d72f7f790bf04a0c4a791750495e287f444428a80a9920e24a809c804141660030229100c1d7f39fe4d7b34969152656dc1ce1ec488ef0444429c8907cbc5c049a54000e948a4406ca861e505ecd0fc942e5ea2695b0a34c941456a2499254c3445a2a92654a48eda2088c03606ad68b2339057d4ab9802fe4c15133f21fcc7189f1e9ead364651b5bec59315b07475a3857cbe1430a8ae75a2b47e0869c004b202d1b414872e5d416e9b4b4429aedc521157e8cd117269e8367019774436c7381a6224f0de01217992a1e9b21919513a991efd20db123c0c7b174d982e5aee844938a952f8dd105bd34184a402052e4441e92f064650fd9bd3490445c3b0b64b673282add0978703625c7f7a09f6c76ed871a3526085eacb35ab569d5ae1dab46fd1392692053ffa7f8ad995dfb31ae90e6a899a3a6ff7c9f293fd9e6843427a43921bf1ff6f827f9ad0100e6ce9d1b0d73540c2053051452d1018404c353d5637806039a924dd560c4a86c3faefb7f1ddc1a643d49ba44e48f78342a21de485261f5a8c26433228d405545a5e0b6909c502a8aae58a28adf969057b33809cbe933802db12a95c367044c11446500f00778e32f52c7a033a08969acf8de459088e812efc358a5621e8e6851546e115a8a5eadb83f4232298e8925206e7ac9ce8c01af096e160fc3082899a19a9ca8832c9547c921505aaa02c30a1214776a7406bc6d418118780aae448466b7f87d166e7ef41c7c7443c0866a16f0136c292788da1d56e91afd0870e28e20564029ea92e0c520ce88d9b0c15113205264bbc870f5ae2147a713aa6bf48cb7816ce99a18cbe2410a2d619450c502d627cacc0272e91ad9e989c8587915f989e0a5b257c051b7aa6b02e3a56bfca0d13554a205e44b5fa09ede355168a62d487c11ece293998c626e0f81a4185406f39a5dfba1472da0790295c8d64f7e42fe84bf35b36b3fc615d21c3573d4cea89f6c73429a13d29c90df0f7bfc53fad6708863401b2360001f234092024d2a4f4cb06ae43172c6cca652a3ef143fa5fcd135fc97627e009bdbf09e18645501ee464065533148fc7834c2228dd42f15087f346208a84be5c4e6f6dc3e7d80ad4867f5d186450790522b680e64851b5e31224537177d5d312e05ce3a781019298b2fa00e484a691db371ac0e38140b526a431557002137e492440045fd96206e7d417508247999df0e5ac4072b5d00bf62082b75f9d1c7c5da15f3559fc82849058fca99395481316a101b57a91f8500c181a11046b3989f03f90437e2e28924b2da81c5804c8ba8ef4a63ccae99a3664e48f35b3397117385347fd7cc9f6c931b31192d9387fc69b2c72080755f7e999e9e0eb00cbf949a31318676b18a31e25592ba837f5459956a3caa48e3313a400615c93d6640c5ffb077b0d8997b814b8dc6298c1a1da33284a71ae188801dfc08a4e4f819346b45871859a01f0d58fc072311f3dbd1a30c8846af1dd1ac4835e5404920248817d1ac804a621096e252583c21e9e2554bc04e02e095df518edc718800d46a45d5d7cb2139385142d02a124a0c5b71538cc8921357f1601c0a3a79745844446bf5c489412a530534cb5f79998890d18ce6d81c72eb425387e6e198589a2007e5581db873426f9a0a382fc707dec6c193d93573d4108a9b13d2fcd6cc65c45c21cddf35f327dbe4464c46cbe4217fcaec7104c0311ec144e161e3b17e3065a4fe6402df13b885d6f5904ca5d69527223efa911875f18a9ae0f1182352b467f9d11709a9c05331ec045f220395e35a054e5a381b0781ab0f27669cb08a3a3270144748f8be23806cd76eb5e3d1540c41458a2b1aba9acd87ffa6804855e5511c36a10aec6549f18adf249bcfee15cd5af1088ca1ab9f0620f125c45f24c70057bc2561752a0abe6806cb91cea2336dc1efab8882692348983b001a080c5446f5970d1be0328e8db9518d57748825b7d93573d4cc09697e6be63262ae90e6ef9af9936d722326a365f2903f71f6584739707d5cd1c0273c46e55177e2eb79349254b688cc466accaa22527ff0c7ffbacdeda9f6b02e6a121f9e643c46471a49bc5a85abefe21fd8e6e7e45449107351bb1cdfcaffe05af16fc41136f846c22993a8e6635848664de4a3218e56b6849c2808e3f5c8e275702a217258314d056a62ba8b0280f86d02877a052dfb10ae06ed569bc7ee778ae52dcac80065d16fd6fd34e92ac7e271d8cf7f98e3a2728c56b49c7383fb610b18150359abf81eb688cd2e3ace363bf2e48003accb69b2bc976e2065f68187ade825cb19b6683d037dcf94ae1d3b5c50545eecf772162e46cabadab7c8a3c1ec628e8cd81c72e3844b3f3f1751239add407e65932ce7344806bc5f410af16fa5dc6701f8752fce3c211c1709362446a142282aaebcd0f6663c2823c62ba25e0e795571a828927aec9039f3d70ea9c48219856ef621a449a8918bdd2fa6c5e20b4b2e94d231a8660f42b61b443ccf3b681ca3469b7829558914dfec9a396ab2029813d2fcd6cc65c45c21cddfb53a7eb2356b6283a4ac662d4c46cbe4214df61826f3bbe2fc7148138e6e14ce8a8e5120c880422a9bf1a8b48b8d4815a09288981fe9e3f70a6e4f926a6a8462123466523d912a893bb5851c8013d08f6016a0159e79c14c70a72187dd27c7c00638f3181f52a044413f825705e08ac72507004740243ac1a406f11becb70381ec3ebbcd498180df879c56b48e11a8a27d8cb6b01fb8c999398039702a4acb18e43a3427425da7cf86aab2085bb9b096158d62dd1f941cbb83b12e4816f92d27f9381107236016374d02f542011b47cb020fc1c9ba2761abc527325c201bb04eba2647f9fdf05dcb3b74303e3ea15bd7ee313f1be9b479991430296052c0a480490193023f750ac07a1dca39589057d0b0694393d13279c8b39c3dfe0e397fb1a707d4d4be22961395183332267faef2c74c8aaee464b24594fa9e1fbf57707b4a7d8b3930aa06634079246c546bc41b81f024918b2218640b117ce840a997ff2cb8fe156d61c1b3b8f915f357a7e80be3e618712876b7e8308bc3270a20e393c35701ab9c6de3c0b036e475828345186847ef18756671248cb633a7f088b92dd83488c2b29c6c4e4d80e8005260f031c6b61cd8c3160e2f13988b9c56d48f911c83bd096a4adceb05e8224ec4a817a76882b9b1f645a1d921d6bd219f9c3d2b424b30b86849b31f84d4f94ce85a7149499bb66d1313133947cb20be1930296052c0a480490193022605ce360ab8dab7ff72ddba26a1c626a365f29067397bfc5d72fea7827d58730c4c141394aad498493fdef5eacc05b78aa68ae86a6ca2a94caa4a32b245e451f1d5a93e947bf5d337d11396b355b16a454a8afeaa60cdb880d56345028ab23247cff8035e07070471cc8ed8b9027efdb8260e88e32781a5a04bb46d516105c08a422b857c76bb38a0b289952ec6b5887a030e3fbac9a2638b7d2d8ea8f472885a39e207c1314ea7d0e713a9ae85136a71d24c0a0859a02c5261d1c745484ced4069149381ad406c01c480696a14ff5762ea4b5db8bea2cf744d1c628979f00fdc3530b77e4274c440988f26054c0a981430296052c0a4c0594501679cd3e3f5c247998cd6b7e42139221161c69edd3b77eed8d1a1f339e7b43c87d31ab1d0fa963c24ec267ca7e221bd019fd50d231c87b045e4cc9879f97db89b393df6b8b4b8cc07c31bf0e24c06cb2ebdf9e277468e8b8c0f35494b3b6df6b8b4b21479500097aff0d86e77d062d79c0e5e014fef47d0835f589f0f561d4dc8b484a44609f1670a7bfcdd71fea0805ae8266a4d315249211c0d5c8954493153a3eafbf145fc00e056d1f494486514216084a36b50a9e1f7f03c3e39a015d5631603147fed3e5dbfd8e7d71c22050d7af05fec2587d85f06f85490a17a91b23ab09625993ac5ea13935c64ac56c4b862ea295ace485ae563b572540f27bc8a24d50a0e9673746d1e5b00635c80a9153b5a8ada6d5e1f1898aab0f4150d64dee1087192103e60420156105e863314e0b1d87c3a90ec0a50e6bd5242d4a401c6ba5766b0b29c2f2b2261ab530393237416e33f5e4a11a36b005f1b98fa74bb2676c63400e7cfd46a074183c6395297887abb765c8e1e4e7b336c52c0a4804901930226054c0afce8290047b268d13fb76edd9a95953566cc4d76fb09d84839c430c0d18a27c568ad3996a31dfbe388e43c7190014b2ebe34d8fbb71e4bfa8d37fe821f8ad1b207350f8e53ec018ebb3078c8071ffefdd7eb379c92925a2010e8756eafe97f987eaa3c6430000475e6edddf7f9a79fb66ddb7655f6c70957b8329bb7c265a9136726a7cd4306b19fb39795163a962e7686ac49f1f1e21c152d41af3be8b0f92e1b9190ecb404fd1ea7e594d8e3a2c272f8d6d4c464f0717c9ccbe1708a911d66788180dbeb2d2dafa82af6edc83beab7fa3ab64b8769b5c1869f347b5c5c5258b5ab2ab41b299335b1597ccb21e9f1ff7c5b3b52a425ba101169e565bef3fb54744d0e66cf74db12f6275ce0e9746593b406c6a8fd34387f4463e1eb089f64c4159e1a1e56d9540ce168d01b9e393a7c1a45a22bf97e624eb02afdf71a018dc22b0fa778787cccb0caac6a88a82722bf91932d1d31c006502201658b07646a09b2b7c3b229a7ed88ddab83c364c5e51119651576d8318265e8e5785ae611257537c99c21640ff941930864391088137a38df073ccaae1a13851be25584a86c7c0175c19c20528ecc15412e67f8c821ba4ebb8da36d715ae4c5b3921ff35feae2351c592b9ac97caf21f69e78252899435b41dbe21c09a00b9c16556604c19215cf4c16eb8e6f76af58be6cfbf6ede5e5e549c9c99d3a761a3a7470bb8e9d445e1cb2bcf8e2fc3bc6dd4127c2bbc6b616426707bb69d48cc8b98eae612dbc7ecbc6737bf5b40570b0a5dd32f697c98949cf3cf334cadc75750d0a88cb689a18eb4200fdc61b6f44a75c73cd35292929d1f1668c4901930226054c0a9814302970a65160fffefdebd6ad9b3a75ca9b6fbeb56ddbb6eeddbbd7df42c48b080da219ad98dcc8947defe504328fc61736c0b909fbf3026ee154b4d4cabf17c675d5424927c368296e444408c80160b2fca1998f3f3efbf1c78d761ececf6f9595d5a17dfbcbaf1876dbb83b9ba6358ac968297902e2063bf2052405881d508eabe1218f1ccea7efa70a6e0f1f390ccb78aa3c6410efa6aed0d1a2a3aeb8f84307f352931b94141436cbc8b46026c72194a7ce43d2356415b0b3fe77de4e2b3edce0c28bb516999add89cc047d429411b5433945ff7ca5ac59cbf8cb878a459e037e57d8e398a316c11e979505cfebd7b1f270d9d11277feb1520f2756222056ae6644b3cfea74c6a725a76efa7a6faaabac7946433f87743ae44c1141d661a316933d2ecfaba85aa615ec2944265b26c793b83a0ebb4a7bea696dc321ad519a969f6f6fdfd1013f7fe87d7fc0de357de586e436e90d2f3446ad1ecebf9eae35af98a0ed5f24f307754b8ffecfad691daf2ac87ae15427a408a0c4c11a7d05873845266683cf173346846fb2830246115b45265c24e76f4c488c28a1a701708c891d1d308092ca7c926856950acf4c4cf863f48bceb4981f0cdc420845eb708a288286c7d41f56f9553d466d4620a2ac9c30cbe7ec40d397b36a396fc76277e0338af963b1f804a1b274a1e08b260302d4394fcc5cb162c5f5a347df3c660ceb90fc87c144c8e2c0bd2f4e8c75642bd32f00f2e480205cf55256b0273b7c38a112456764b47e511bc6d5aec05fb6d628e80a6dfcfaebbcfcc39919995dba75123fcca4308191fb061d5e9495d919449b82d2a0e2a0554e150239b32e20016659e1659a283b9794553c3367ce679f7f9e9494949090c0f25a565a9abd72c57befbf3bf0924b264d9afcd6c29717bebd70ec9d775ac3ba868457bc42a3806245ab199d6c64c8f8b78aec1ac876e13fdf7ef6d967efbc73dca8eb4721a3e61571f12e1676f1585547d72cce806c06c4c6b69ac7e36137e3e69bc71883525555f5b7bffd6df1e27f8d18f15fc1b7b99b3ecfd1b22ee8dedc78a3195014a828d8f9cd61578fee59a655f4e94c8940e9b68dfbd33a76c948fc96f40be46cdb589ed4ae73d6696feed451c377d6c2d3218f59c6a48049819f360576eddad5aa55cbf4f4f42e5dba6cd9b2f584e096dd7d3996a036a315931b99999b9d1328d702714f14673ddc24974d7f5c78ea925bccafca5dee0faa12fee764182dc58d008d398a913302e1daeef9cddd68f3befbde7b6a68e0f1bc5eef96ad5bf9f7d7bfce7f7cce9c11575d19c168c188e99668b063f07e8817619d84033278c8c68d1b3769d2448e7838e94b013ccba9f39068d0f983b68e6dbb16161f7dfaa9f9bffdedd40e1d3b705a066fa66da7ca43d235d0261a809e97e7b56cd6cc76cdc8104a8c45851a777d2b41c89ed6b0c15523923e5f9dbbf02dd72f6e6093c06245cbf8a478c88f0a3c4905be960e4b5cbca581d5565e19a8f206ddc140a5dfe7f1053c6e4f6ece81ccb61d36ee3d9ad524a465a5206bb1fbd0d9151e327cd4f4532f22d9636f79b0b8c86b6be4b4263be35212aad617e7c535ceb8f777da0bcf6bdfecd71a35d0ec7108b202ce2002244bc9e1386f196cab316a7571fef5770d64eb1b22084171b82ae078eafd40eb93e2fc8daeb149f2daebaf2efbf7b2e39c3221eaa8de549000336ad4e8d1c3afb83cc4a9a0619c7fad09891667d465609f684c744ab894e2e1f979e455e131516f3e13234ee1b3fc2f355f112ebcf2e898f0d4fac34659021117f051b47c4177b89162a838e2c72fca1cecbb20906473d1873980d5c6e7f597997ffef2cb2f9b376fbe223b3b606772014e81839c0613e4cc1ed490a9c34b58ce0d02f161f02a038f5816a515998bc0649c2f834d11ebfa590f35bfdfcad74659ac048a4b2b9ab6c82c2a2dddbc79abe664ef46268e15256371bc8c9a72c08956b44f44aa5c206f4e0062822b892926c308992babaa1ebcef775bb76dc37553f3e6194d9b366dd5aa15f7162d9ab76dd76edd860d93264ffae083a5cd9a360def9a60663a4bb5f8d30af8f93262760d67cf4b3efaf0b5d75fa7f2b7fef1d607ef7d40d77af5ea99109f507fd7681874126ded5817925bba430a0703ab7fea11b8fbce3b8b4b4b4b6315fa3671650bc7f4ebd76361d1b7a9e3cc2b1bc85b3363c69b79a20c7ffad7810fe7cd9fb7b222aa829c35af3cf4fcf2e8f8a88c6777847bfffcf9f396ef394d3a858da07bcddcf97357eeff16d4aca3866fd7c2936fcfdea5cf3fb5746778fe9ce52f3ebf1c7dc29c171f7f25a7f62c8dce1c5ed00c9b143029f063a1c0ce9dbb3a77ee4c6bbb76edba73e74e7edceb6f399bfc118c564c6ee44045d1ff15ac43410d879d8f1c6dbccf93281e342d985e711a04ba6e8e54cffb16ff919361b41437226c14b814bece61fdf0df4b977cf081d14e18ad3d3b762f7cf3eda14386a0f836fef6dbfff5af0f6a315aa0bf203e40b110c3ee0bd32cd817114184f39008154e09d9f276f28ba4f7d47948f840bbdfef488a4b494ed9bc793318d0ee4ac41e36243ca4a8a89e020f8988d0ef4762e859f25ecbd4146bf79ea1dc4396c2a35a4989d6b889253149a8e4f75a8e1e091dceb5773fb79925e4cecef623b116e6f7c43c24ec71912f7034e8b0c725c42526bb9292b7977b371e29dcb0fff086ed8757aedefacedbd9afbff8af35792587ca2b384604f6d825ec28a4151e327cd462764d6397c165c3510d7e5fc18af1e9aeaa15478b36052d532669e776d38a8a51bb14861c9a8885600883bff0518bc9f9c79c90e19c3f2481b5b52fd61c6f698e9734fb7c9dd3759f2ce71fdeb5152bb2d31aa4356edc888bfd91c6e98df9d3a871a374fd0fd1c9c9c9ab5666331b4f30219993b52f19385d6aa802a771a7be8852d1311119ced8c71f1edc429a98e453a366102ee2d1883ff900fb6f2856f8d001100565861094a7f951b71030cac6a2a804587c81598f3d8e310970312525f5eaabafa6711c48abdc40499900ff05033ef417502e104d161d2d0683403622a819964e97b56a5e502f6094f55050243e98e516b2b56e9d69b75a3232d24b4a4ab76edd86a329393d15b019f239bc2c1d788e425bdaef155b5e5ece072aa09a95859d33f46b58c39e7efa99f2f28a66cd329a356972ebad631f7b6ce61ffef8a7bfcc9c79f32f6f6dd2b871cb962d535353b83768d0c0e89a28f7b061453750ab16ed66960759af23ba06213ec95ef97f7f7da1458b16cd9a35e3fef7bffffd3fab3eb973dcb81eddbbd5df358c6a384a49f428eab8d49e25d85afd3372dd72cbcd18f0d48b6ffd9bfef5b7d7569d1a0c4869a36983e27e48cd04a387df5de0c097ffce294b48f97622437b824b732544d7e13ebc257fc3511d920476ae7c77e97a50ca295e81c2958b166d2a406be7a77bd9eda9ec429deec40a1f41479a9676da15e9048e5dc3b76be1498f5ce1eac51bbcf13a27545dc6b365d55aad498a96b761ed2e6f6aad19169df9a4df636634296052e08ca1407171716eee21056e9b366d825617f8b6fed6c15784335a757123bfcf5f5e0a8f84b7211ba654b6de05adf0f621b016d722b63889b4dad22ae79f0ca3a5b8117c94c04a21a22c387274cad4bbb1c5faf5d45fdf7df7af692dcc4c5cb26bc045fd16bcf4f77beebd979869d3a61c2b3c62305ab08be88cc225a126ebe0800cb137c3242b8287acee37bc0d04193c78706a6a6a38374b9818e24955fc8f2a707a3ca4eea8c5b765d37698cd1d1b3789f621b83d18c25f939cb871d23ca448a2ad76c42cae6debac1dcfd1720e58cacb420e87bf55dba0cd1a4c4808b6c8d2925343e5a596aa4a2df790b3e339ce8d9f863c7891c177d5097848d5b59e715a554e6eb92fe40ada8ebab597f679dff9bafc8335c7562c3bb47e75cefebd05414bb2cd95d8be7df3049bc3608f2346adaeaec9b080fbc4324fb4790325c1d42b1aa5f64e08dae3b4097768832ed6d08a067b0a711869268ebd7ecebfae0919ce1e8b363297473b7cc9c1dccb0e8966b2fe78929c7f78d746fd6254c3468d52d31a3400e3a6a6a5a5a53690bb3ce90f0dc0bcd78cb83682f38f9e907a0b4ef31681a7221e8d4ac327b311f963099c2e8ff67df52f82e811b48e48adbf51804c1fcb26f24770a2c6e93c0e3b92571d3c72fa161abafea0eff1c71fdfb26573566626cbf1c5175f346ad4751e4fa51d635c3e5948052e16f30b36af64a143575e6c6ce51c21515b616707475198ed52bff87812a5783e42f028d257966812d0b4f767b6c83a949b575a5c94d12c3d3fffd88eeddbba74c24a96bad00f96b51c586b17a35c07e8585c1f8b213e6e91f992b1f7b07cb3fb9bafbffe1aa9724a6aeae429531b242555fafc962a0f0ac1e7f53c6fffdebd9f7df619df092b299b730e6c815906c4fb15aeb4d0ebc7937320e080ebe4a3675500a21fef1aad5ef7f557f39e7d16d40c30667f913bebcb33cfcc4b4a4eb9fefaeb2bbdde7aba86498a606f9a5bc7a5c62e7c6308bda03973e6a8ec6fbfbd08296e1dae29fc6b468c9d30e7ab1b07b4aaa3ee5ad1ec23b39a613bf293bb4abff838bffdcf7a267e771d63661a67367518f9e8b32355d5fe4d6f2c5936b0fdb05e19a7f8aa63ef2c5bd6bbf315ddd3e34eb1e00f953de0f1687171d5380cee47b6d54f747d0bec1e3d82b202f35e86e1c42f3e51c38c746921bff47acddf69c5c61b34ad70fb6acd35b6d60c29dc92efbabc4b6241f626579fab6b295bc7c81c56951934296052e04ca5c0d2a51f6edcb81176c280679d3a7546e0a4da3b60c0c5fffad7bbefbfbf84471f2e6a0301bc4cf1531e2ed2c422146125bbf42c737571239f16edfdb062afecbac364708b7316fbecababd22e4a463aa6cc6e413381b8c037f19ef55e7bcffa19ad6a6ec482dd181ac0a1bfffeda5e2a2a2a14387dcfbbbdfc0a821ce0867b4d0745bb7eeab8f967df4fc5fff7acfbdf78bf2a7382481071471041c9e9d031b11768a1b167c90609c55cd432a0ac0d8204b18f9f3915e9ff7fc3ee72f7871c1912347901c128fd2f26d636f43c6e1b03bcbcaca72727288a7142e564e958744f5cd8e69ad66c9cb3fd8e3dc738f161578aa7c4e27fe55c0e072cc2408ed647848a36bde25efb4e9704ee868a116f489122a38363e3e545c6449019f6b169f57735769362f16659aa7aa5956d681954b1d578ca89f8734d8638ec96c64f57ffcd906c4cba50ce8a11c4b6995a5aa42b3b85d498ec6092d921b353cb779e36d9bf778f0db0a7f2a5e5ed18fd479c89a51d3e0b901f0515da3a7cc22f48e31d4f395fa1b8f68dc68600364266059c0b9f58edb82fb0e85aa7608f2974d09e6146e6ee0836373fe1113b2e9f62c1956a0ac0e8c25c08ce15ea8d9670a6bdeec83ccbccb0f6a3d7e6effd33fb58bae41307c329cbfd135f4167f76d595d75e7b2dad632e88d922afc29891bd0a10029801399416f079bd1e9f571cc5ea9cbf316ac684c48bb59a7e27bc47a324c58aab822a554dcb1356f5e3ca70a6835b6300c2c91a315a6aa88c0153a91179288edb28b4faedb2425bf000cc0a2707d88abd0437e489da5f6609b2cdcccc04989edfbbcfa8eb4679dc7ebca0b3beb13316445706cd651b56e0a110585237e147cb9975c1c15ea2ac59281eb368ca91b9b2a916b03ac4fc9e1807dacb22c425871c9b0bbe6d9e83d7387765e326e9478ee46fdfbeab73c7f6581da03bc1d2e914c56104ac59476f390000400049444154204f9bbc0bf00c42e6a781e37303d6ec152bd9dd61f5bf6af8f0d4c404f130277d43b3dafad24b0b3ef9645546860012da0305e4bbe017415a2fc6bcb2f703c66535c1ac98df196c8ec9c51146baf7accd5b76cc9e355bd4231a36520c31f7468d1ad26884c3f73d707fb72e9df8a054d7c48a464c705935c42d81e07c6c52e487a0ce4bfd341a3f905555eeebaec37ea6fafae0830fb0cb8d096e37fd6dca04724d197bee948d835fddf6c48d9d0ad62d9cd6fbba57f4a253177cf2e8ad03506be1cafdfc6f63fa8d5da1693dc68c6bb458d346e8b1dccab6cffdcdc429f349d17a8c9bf3e6acc99d922576e1f811ab2fbc67d091e746dc4bee418b77bdd966fd133dae7b94b4fb5efd6ac68d59cfdf3ce43f172f7879fc79c4689afb5ff70f7f31edc177ee195cb069e18353aed3ebd3b431af96be7ca3d477fc727ffeda5fc6dd347da31ef3dcc6d2f1dd934fb70dead57a45a5dbb3dddacdbdf4c5570bac5f346ffeb2ad7a42dac0b11347f795f89ce5cfcfdbdafce75d0a162c5cebba68e21363ba17ee5cbee0c585bb8af58c592366dd3f4c422eedc0a677e7cf5b824f84a67dae9f76dba54011caceded0ea4f770fcb7df7e965e4c99effeb6c77db11f7dc35ac8d56baf3c5d9b3d7e64bc9a1e3ee1fd92b5d2ad13c9b96befae2e2b554c23574d25d875e788af0eaf90fae76674e9e7577dbc2e50fcdd87adbacbb3a081caf58fef8831bba4ebc7b5807cdb3f3a9dfbddae467bd0f2e5cb24b1b38f3d9d129b1ebd7eb8dbe4565aed8bbf44f8f7dd87ad4e4f197b5217be1fa37ff387ff70d8fdcdbb7a15637955add7241e5dc05d2d1f623a6dd796ec1ec875fa67faef643ef993a32c3564dc91b7b97cc7b7935799af694da1b4636a6e28b379f5b90bd4b325c74f36fc7f4d7f71d0a57bef2dc1bab73246fd3e1b31ebafaf86644ad11d4ebf21d58fafc8b8b37303cae8b6e9e36a6bf0c62c1a6779f797149be4ed6ac3ed74fd2472792dad3668deca0d7a06e153b5ffccbbc9d19d73e34fe52402dff8ab7af786adee2ad5492d665dcb471bdf4ed86c26dcb9f9bbb506f99d665f8b87157f71204ac0f478beb2e2ffef7cb32c4693d27fef68eee0d59aeb43ac65d52f2d67faab9fa75d221aca760d3bf57ed73380a7669ee06cb963bd7e5b8b5b5efbe7ba4e7e0cbb2f4ce876796c2e66552c0a4c08f8102478f1efbf4d34f1f7cf0018743ce1c8cbefaea5778fc430ffd018f536ddac852ac2e982bf4ba84d142dbad0e6ee4d7073f148564fe09b415cd6458344fc21d9af69ca00bfe871512bca925972fc84f7bc46e4d3218adbab81176fc618178e3fb4bdea7e0edb7df297a77217baff3ce031f12838ba9c14306c1604d18370e70cb7fbfbbef0161b450b483650329d122714d82834e3c2fc13385bcf83d317848aa00f8007b1d8e92c222fd75b65b6fbd75f1e2c5f8d9425a3b62c48892d20acc54b5502579544ebd90c5ea459b4e4c1bebe7218daef92162503b9297ebf5fadab46a51515199979bd7ba4d2bb61304ec21f71021aea8f69e8087ace99afdf0a150bb8e5a419e25bd99bf571ffb976bacbdfa86ec6502b95cf1f81cd6ca4a20bca82696430a87ede021f412ebe121f10725ec319b135ecbe6ca60c7ee5957b66c72a0a432b7a8bc4fb3786bbc23d43829e0b05679c0a4fe2339db977ebee1e8cea26bba74d36129aca3c03d48628c1abb2970e8d15df3c386da03018fcfe776b7b8bd45e3f31a30ac4255869ad6daecee8eed029bbe1664cbf0336bf0346d0b1bb570ce3f6a42ca800eb9c5e27f491f2654076ed1b497ac8ac56146ba34fb0b320d0f9df354e89ca785b3977c919cbf316a11ecb1ea1a2ec0dcde0ae1d05145d0474dfc9e59420e11c283c661dcb13b46d0c568d670fe35a3664c4819a6b02b1af510232dd3ef2aa3ca1356485275e4121ef7d309ff38c0ed49d23be6e0a948ee98aa23bbd4bf20bc0cf009f8ed382dc365321e076cda9cd97315b245cd86cccb3efa3766df6cb619604c965c26a3d57ad38d37de7ccbcd7e1fe6b9a81a0b8664caa2730cc603f8ea16f71c782b46b3bb76eec83d7058d48c29c737037a45ebc5668b8b73262626a5354e631b333dbd5141c1d19dbbad6ddbb6b77bb138d035935956a9942d3511e9ea67dc622dcccac216d8a143898989b4aa5bf7ee5e60293b5eb42a6879e7ed45a8f2b35308226549a64d2e972b0082278d2a51df10137becebedf221c9b6a1e8b4b00386750256bdbb771d78eccf7f462d02e5ff70510fe1868d1a627cf2e82333fedf437f6cdfb6a50f3b069cd0b11fe6b77bc59f9b2cdd44420d5c01c85a52c72584928b7d05b9e2e35dfcab09c793c0d2af1e23eead078d19a7cdff6ceaafe75fdf3921ab857bfb6b4d7adf34e8be57b74d1a58f9e52bbd475cf275e9571f4f3ecfbd7b618b7e63473cfc8f5db7f7daf9eed3572aec2b75edff634ae7e9dab80f362ee8ecd83663f4959d534af6f97edfcaae95e7af7872ec8a27c7ccfce4b3098bc65d39a27d13a0eae2cf3ec97bf19209373d71c3c8977b766f3461c2130fdcfe72273e94dcec118fae98f9c99bd2801e376983ee5bbef1f656dad19d0509f1b55bbc6eeef5fda62c1e33f31f6f8eee5379609bd608b6e0f4dbd0bd9a485ac1e6cf35eda24ed500cb5d5a99386ae23d3d9a69ab5e7a6cd9829543fb8e21c55d9257bc75c382ad5923c68e6d95d1cab377e903b3170357c64e1b9ea115e714b9f4ca92b5e26573e7b906de3cae59ce076f64bfb17250bfabdbc4b98fee731f4ca32bcdcf1fdc7ec9ae835d06df36b0b5ab1934c97bfeded91bb286def3c88082ec9716cc9f91f9c813e0c66d6f3e3a2f3b3feba251375cd6c57d78afd624b3d70d43f72c589639e0bacb3b3468e1d2fceea3c55a6ecdef825672d47db0441f62bfbfcc9dbf75e1929ec3af1fd7be6d621df5d726aaf114ab316d86febccfca050b1f5bd4f2c991cdb7fe657e76eac0c97d059e55d443a5b95bd3868f9d98f0cdbb0b17cf6673a3e788b1231c9be72f5cb6fc9b21633aa7284ace134a4e4c39b8e6e5650bfff266934747d7f20bbaedcdbf2cc8f68c9a36bd8b7febdcb92f3f97d1e6eecb322a7666836c874fbcbf5f63f7de1cb67a8f5fb5475073c469c5ab172e6e3f70dcc48edfbcfb52f6cb331a67cc1ad626b1fc4849fb2bc6dedebbcdd1cf5e9abfe48d3543fb0dcb8a8ba4761a15ebc414c5e682171f9cbdd6ddf39efb04d972a1b6b061c9e29ec36f9ed8b4f4ed058be74f7ff5e1676f4b6132cc5d9cd673c43d237bbbb77e38f78df90f554e7e747467580d8663d9cb2f37bd68d4c411beb7e72f7e6dd937125fdfb878be5eb52b6dc035e1e2d9fd5fad65a7a479e5aec5395acfa1e93e7ed8ab3b1f23f371a2982193022605ce540ac04dc0f76cdebca557af9e27d3c66fbef9062e230209233a93b3293874a60e6e6476de270783e522b6854383a781d9b26b77a475ebd2a07371c5156981a5c0072dc4918adc030eed6872d5fba509378aa08035be5e6e04dedd6f09ecd9b387c69fdfbb970e7682bf99366dfef3cfc2058e9bf8abf5eb36c06875ed250bfbeeddbb61b374460b672982c239584324bfa40139f8030f09a81014263ca44190952b57da1df6a18307e347b9bca2ecba51a3366ddedcad5bf7a2c2129838322f5ff6317994e0414af9b1a0b501ceebe721c3bb0649602a73f3f3bc95158d1a37f3f82a0a0a8f64b6cd8401a43e69331211649dc0a313f090d2b590c71b5759a995156b5e5fa8b4d8d2ff123fae9f504e6ed20cea0761130ee7a16de81d7a9573f19b5a71b196406a29cc685d3ca40f714e08bf343446bad627d11a87d0dc89eab7c51d1fdaec6c6c0b96f88a4a0379859ec2fcd2f27c77e1b1ac965dcee9dcc48691951c646409e721d5a8816c796374d7aabcde23078fa4344a683ba583b3439227e8768a5089118248405a8f3fe408e12b16327bb49232cdeb71c3781ba316cef9474f487e54ed2fbc2463547d8587656a9201b6b71ece3f7cd4a2d96338ea975f7be5a365cb054ec8a5635482d257fe13b009ca18357ad4e5575c11d47740624e48e96ed8a557557d53d1e1316767389cf5fa895340f70925ba0f6ccbf9eda26102ba0b88e9b9a875ac5fbfbe45660b902d130be888462e61b23005752fcaf2e1704234ca022b5666df74f38de8227b288a0497d5132567d11fb6fb8362b86b459b980d11a72d3fff68e3cc0c2c6c5975aaa5c3d4c61205d4743af13ec5de9dc319d7b861a36385c7da7668ebe5981fa030da196053be45f6a1d82b94ed2cf1050548c5313afeae9478d36eb7f011630281441abde5ebffe7fa5bf0454c26d48b657623eb0d55baab6c18fe72219a46059b17d334bd4b6c49e19801ef06ac067939b97f7ee44f4989898dd3d3a99cee234455b3212e2e8e98f4f4c6f8a0faf3a37f7af8c1ff979e99294a353e3f7b03d2467642f901445b4280340daac6aed193496d13b0bb189d448c4a8d9994dcaacf8583b49d6d7a5f7081fc02ad5bf882a68dfbeb8c1bdbf170cd3d9fcd5cda6fcaf3dbc73deffbe815e21ffffd28e2db8d7f74c1074f8e2d95faca362d9dae6973be9a350cf1a9d66ace2bcfcdef3161f1c64993cfb37bc830eed5d2e745ee9a3671c49313da6cab7aa2934b7327cc9930ff9d4a9fd67bcc54edde112f7d3273c6e0e69f2f7c0c81eee801e95be7d280419fbc3d634003aa6f27cd08bfdc9b9e98b2581bb1e0aff78c1224d9aa15b76fd306a4acfae5d998bd356de0e46a6cab255e3ae6367e483c9e8acca669daae5d872ab486d522c2a6e31eb9bf979e6fdb9b2be9d9b8fbc6f7121492a564be9a86e67bdaf5d31fba34234ef3b89666cfad7433dc719a6ccdcbff89195d3aa669479b74eadebd038f153b3fdca0693d2fe89ce4d15cdd7b6acb767d935fda3731ff9fd9f94826ef1e7399002a5d5f406bd83d1570dbbd77f70e1257a1d716bec45477c52e2de872fdfde32f951655ec5c14a3fe8689057bf714ebf08d3cfae56ade214bdbf969accc297d6ffbedc1030f2c9bfdbbb52e7771dad09982cdb8eaa152d6c499f7774fd102e9fb16aece193a79e6c8ce3c3468ba70ad90a0faea72ffd3778953e9be1d8f6d9cba64c3d6d2d194a8b93c3b850259c33ba6d9edfee6cd356debaa2f2b2ebb5a0e51d0b47d3bf3fab5edddb72f858d2b6204351f54ef79f3b3e3fb93a35747d7b6a973577e7160589bce6d2e1bd306796a45456acf0b5d4b769594a318762006b515b8ad3cb0e871906d97c9b3c6b751d0561fe03ee31eb94d9f04cdb4fdd317acdd9af7cb265f3019da4f1c3f4c887ee99889395be6652fd97b6de736fa7020be16a1bae6d997b6f863bdc91575905a122bf6acccd72eedd352cfa8c5a577bf7a64f7357b976897ff7258dbcf172f4bbc75e4d5356d89ccac8a987793022605ce7c0ac0085d7ffd0defbcf3ce8e1d3b38d7209e7350ebb8f8055fbefce3d5abd7fcec673f43fd2d3c176c0cde7061b4ec4ac2569b1b39e02efebf63eb75dca0b3fa3a839012b44fcdb810b6a7ca76b1b5e29338ad10572976d94cc7614a20b9f2adaab84116ada92e51ad931ba10d01e45f88320598c2e92080809b123821bea1004422b9422916b1b22cd4022c74462b0417873e1b40066eca2af054315ae2c91746ac8687a408177005c3da456f2fcacfcd1b7debcd019f76aca8b87dc7f68525c74493cd627f67d13f3efa6839aacb86d8408e72442082b3e2fa79c870460b99a4d5929b73a85dc72e3b766c39a77397ddbb779ddfb3b7a822233844635bef1a9aacf5f390aa6b168fc78fcc160b6178424fa56deda7be8b2ed52a2aec0d1bd1235a1dcacdd1865e0537abeddfa3c52759dcee50411ee3486f63f2907610aaae712812450608c6e4e0b6bcc6cdac96b8224fa0b0ca1b57e6f11dabf21655f9cbaaac9640d3960d47746b565c51595ee96dcab008db5ccd43d200356a3404d63aba6b7e8fdf97ea4f9f90f8dab68a73f2add70d48c2f3176a92c2f68ab0d68b12b2c75bee2ed20a0ab524177abec2441ba316cef9474f4878dac0ad5ab8a816fede5a2e03cd154cd2ac2f306ab2075227e71f3e6ab5d963a9c1165a99fd0962241877bd4a7dce130ae38b71bafa49f6aa6143871a9c7ff484e48baa2e6efea98302e19c671d597e2ad1b86a125f05a89bb03e89552c4b1a3b30b2dfc3fedf15575eb979d3263e31baabeee0bae8ae5bacc9032e1e202a2b16cde90ff89c887e456dde237b2ed8f13297453797691bf205dab76e57ccde18aba3405bf10487fd00fa142892047c1e6b3c4e7dc4f13a06bdad32b2f83429c42acbb31cef2630517c56515b482c11f4a538104a4c4cc09b5451515165a53bce2a8b3d8ea1c8598583750f7550b788525960d0e9a04a91db6a36a71ba7cd983270f410481ba84c23457bdfcbb766b366b5ca7ae5e557fe77d2ffaa0d570ee9193e6cd8a5970d5ab962e592254b1014836f13e2e3e72d58e0ae720780b9bea0033d673f470a01e95149e677cd12e4986fbc2222a5aee3aa01b7c198e9f5805b04c33ad416cc004e5cfbce0a6dc42dc813d59590da42d3f24b7c65db3e10485913af32d764d27a746c56fdab6c4fc93062090c3a4f20af7e956a833a216fe4f2895ea7fcb6d99b0f5a30421b3b377bfae00b5e9cb262ccabf35a69654b6980765fcb9a627ad9b09bcf578642f495bdab81dcf194d36c4375059e03ab72b4fe37b4ada9afe28b452f2e10b5647659118e36adf9923d5a5a9f8ed508b8629be8bbf66c765c2f5695963cfd40b6fa1563962b7ca6b053cdfb362c9c0baad42f572aca477ef179d6b447a75ac5fd6c95eafba53a01f5cc7135e23ba1a721c5255b93e635385dcf1759bfe6feecf5d94b72f4b4ea5bd6e427ef57702a2a33391a8ebc7df8b2194b8add1aa2c91a085a0f957ab4d533b9058b36edac1e54fbab5f07946fa1947341feed3ba7699f89b5faf14ba78096b364c6f4252ad2a5db792776fed9d88107172c5b307dd90243e55b32448ea0c4611e2f7f6a5fa2963c6f493e439be6aaa6584c6a334591c1af5eb88c7d8b11d7760e1b65c89be8aa1e99947470f7869ca305c7980c4dfb1b4477253083cbcad93eb08b778cceedc8c625e4089fbab148ad95eef9b458eb726e967a45e1a2c7e76ef4384b7234f7c13fce482d619c1f7d684ba37eb7dd25683922b3fe12f36652c0a4c08f84029d3b77caca9a84612dde37468dfa45ebd6ada31b5e5252f28f7f2c74bbab7ef5abf11cdc1099c1865194200f5f2c6ee4c9dc35a5c240e93248d0af88b042d39bf54fb3bbc4859223d1e3fab9b5741ebc45c0ef659fdf69432411482d7bbc2875260b723ddc08424c945d7da150fb76ed385d62c3d79b07f4eb0faa9df9f863e3268c43c3edf159b3e060609fd67df1156d6ed7b61d120f30af1c9383a917968e988771a6061e4c6a182d58338387c4ed68454505ec22273282e73ffdfcf323478e4efef5af61b4aaca302b13466bf6dc59088449250f39a102a578257a7c2201a997870cef1ab81af4b8f1cbf5599d5a0d1bf6337c7aedd9b9c3231e5480e4d485cd9a0076a8573f0fa9ba16888bf37ff94d60eb3a6bdb4e5ab30c6dd5bf2dfd06d8db751026950b2c7fe508ad753bfb0b7305e5c2f5eddae2b73507d7d6c543f25ee8059b8aa91a5ddb5c62b9a26d56e0e821806ca3aac0405c3c350c7813e21bb54b0c38d26d7162647720b764e3e75b7bded1139e5404ae14d5794863d4e4c8db585d7336b1b7fb5deb059f547df852ee035392738ec4db42ce78a7207186afca5b5512b4fb0eeed2f6a327cd58d234f4a5455d319af38f9e9030f2b6bf090dd455eb175f87fd6438f9518b608fe99a2da8fde217bf58bb762d3c3a0d92b7e8acbf3c894c4b2ea6cdd0a143857be724169df38f9e90f894d6f39ab73a2950c312d799e1a793c0dac0f616db6e882f915fb26f6643e2299a00605cebcd37ddf4ea6bafa399ccdea4dbedc690e47ffee73a3441909e4202702722517233013173ad70bb1dc047dcf7f1319160b321c564fbc98bb3016624358b16b496d13ab395ad25fa2b9447488a4b295437c8402dfb0e1cacacaa48743a2b2baad21aa635cd68ea0d7850f3150420333ce0b58a5f3e3e7b30b9ee4a8a77d1525beb366dd6af5bcf67b0fab34f870c1c88c1acfec190464bd0af16cd10dec176a41cd246d77015c7d28c4236fea344e907850afdeb41471b21b126cac981aa5025bef630c3d52fc4b6170f18804d6cff8bfafff39fff04dc120d22c7cc83df285153623fcd094bac63f360d06bc7e15dc88788189d1d2155ecab06dcc6ce502fb8950a8f55b3f9c93d870dd2eefdba10db1bfd3d3ecf214d6b91e0886fd6a587f6680ec052c58b54565d028d37ee3fe6d79acb6cf757e5d524e87f3d6130f858ad14fd21f9aac90f6b97cd7cf8fe1ef3b5419f5ddd89c89ed70ed2567c76b84a6ba5de1451c801e2d05ef9cf26f77843a158c1f3d36e83bca062cfba7cad7dcf96d588a574db7b20dbe1d3665edd2125e7dd19339680346b2e03416a891d7aa62dcbde87bbc28c30e423f9dc825c555d5027e6e53608a38b22074e9e35ba167e92e3de73b6eff668ba9436ac0af17ea82e29987fa430d0191b564feebee25aa809ed9db06c5a64fd9a76f5fdcf5e1d56ad0a56c46c8ca415be390f90092e732f7e6de980bb87d1e393a312653dc7c9a15e5373af591f3dbbb649eb6b5aac27db8502ae9e639f18dfb726bbfa9bd877f4dd7daf2d5dffefbfa354fcaf0b7ba1e44c42c408561739ee2d595e15c7e7efd906b2f55c34eee931bd6cdade877e85be000643b1a9cd3e4ad381d70f287e67e1e219af347c784c5f650b2d753becd56daf2828a0991d5b348bef9ab66cf53e3e0b3517fcb20993ecaae9e1f1e1a86e99c2b931c685f4edd96bb53ee332aa73265e38f2971df6bc372fa7e7e469977c34636e975113af6debf22729b41c91d9a8dd0c98143029f0e3a000c0ecc61b6f58b76edd6bafbd76efbdf71a1248a3f52fbdf41298edca2baf8c5048561964a3bd6e6ee4ad92ada02931af6279158e3da8e55cbc69cfb99b6d36277e4b641d1bd2cde5705aca83ec9ecb4e3e2c19a22cedca4b85d1aa8f1bc15856dc09852e1f3a1470fbd717e65f70f1058088cb2f1972c5d71b02bec01373665f3a64308cd6f3f39fe7c5570ebf1290288c960842313cc3ffa63814815512b35b4126d58c96e2217b9fdffbe3e51fd36525bce5be3f67ffdc394f4c993245315a4f3e31e7c0810378d882808a68d85e9d7ffef9c254c2db9d888734bac6c11b48bbf71dc91b74f9a579f9c71e7beccfbf99f6ebe6996df6eeddd3b16d5bc14468df88083a74621e5275cde9089dd32ef4c1326ddb31ad25e70a6996019787aefd1f1905280bc2efd4d5b7635be8f9872c4555a17cf1d112bae15298e1ba78485138b46b4ea0980c20a854f3d8927bb6e974a4b4fc48a8343e0dd16a6599e6f657f98a0b2b0f1dcd2dccd91f9fd6099f5589f638873fe861aced3824d379c89a5163035d26842db26bd606b667b3032b5f2faf488dab82bbab70063d3ebf553f9753575f77695e7be3f303573d14f46a89292981c4e680e7d89c7f147b0ccd03b7d62bb99d7702cedf183502687bd6628f450bc036fcaaabaebde61a362198f5cc6650ae6eb9286e6c2406401fd43028aef2568a50acae0959c3aeab4fccbc4753e02c42ff2827c81ac00a2a1b5c384362e6d87c6cf7a0272cd248ff4d378ee9dead1b724b56aba51f2e7d6aeed365e5a5a5e565c515e5c5e51585eed2b2b252021e3e27961a163fc189522500d4caf6a0668dc36e9d9d19b6e55030b6863c7e77458507244c9deeaa7230b387a0d7bb69cbb66305f92ea7b3a2ac2a392da979932658cf8a0b29bbd527cac336fc2653279e5bf936448d99cd24a4b7b43c14ec7f617fd64700e7db6ffee3c8e1a3885d3076505de343389c9b3fe9ae4953ef9a5a5e51a9ba864b39d65941f06c9d32dafc16084c077e9020ba3641bc27c4099ef6727eb77e79515901a1eb709eb082ab789f0fef1a7265ec7711d34aed18c3c8669f58f2caef421d97ecdcf27e916d47fed3e3eb2e8980aa85b6f1de97d71594b9fd5ac721a335edc927ffb6aac8eddebfeeb5b1535668f78dedeeb2f7e83758d3a6ffe1f98ff7efdff4b75fa74c58a169292c2f5a7297cbc769da84dfcfdf54505656b069eeef26a08b7c79971812b3980d4fbfe4ba71dac6471f7da5c77d0f5ea0a3d92e97dfa1692bfa4d7c6cddfe8282fd9b962e5d079cdcbdf07e8b65f06bdbcbd0dc9d346784f6ca4d539eff38b7a860f7ba8f97aecbfd966da061df7c9aad7519202ab2fae5412300c85c5e5298b3fe2d916f7aca2a6b212f95ad6ddf4b712d346fce2bdbf20a0bf376ae59b3ad2e28abf2d7dced48f5dcab3fda5658e10968891d2fe9897ba9b9cfadd9595051519ab373d3ce425c0c77b87a60532d67f1d38bbe28282dccd9f6c59a6d05426e3612d66d299572081e9bf1f8e5971bf3f67ef1f8d4d9489905bc455db1eb8fcaa622eac81cf8e2c53f6617379dfce41333c75da4ed5afc97459bc87f9254aae3559060d9fc77d743839cf5ef2348cdba5457ee3672c775f8f9c0a6ee0d0b5e5cbeadb4a2a2306feffaf57be9b5276ffdf22f7616fae3325bb720af43d438e48a184162c4e676d9abcb37e5793c852b5f7d315f735d3ea023349431f29632602b5f791df96d4559696c6a4bad646e7ed9f83f0dcfd2562f98fee67a70ac5c6c5bacfad73b3b0b4a4b0b36fde3f5b55a5a3f4cb55bf5ee83eaf4c277d7977a3c79db96cecf2ed67a0e89dc9950e5f57b1da466e5c859b555bbe8c2763579e332dab449032af7b9a4735652999636b05ff7ac361ddaa4eb203a32734d21f3af490193023f2a0a207e14e112bff4b52f36a6d126c37f524c644b5ea0603ddcc89d0d7a0aa6622b9e7f28d51567f5dcd767eb61dbae02d7ee92a45d4509bb8ae2171dbae2a57d3f5fb0ff172fec1d396fe7b54f6f1fb1d937cc60b4eae246b092c2170adbfdb7dd721bf072d9b2653075e18cd6ecd94f3e396bf6634fcccece96a3476f1973b362b4f43d7a74d3706b658df3a1d40a36c78aab9ad13278c86e5dbb19385fc96f39c60297c8f7dc7bcf2bafbcf2dbdffe9630311c5b6a6423d0a56b37f94d38391e5275cd27b8473bb87fff97ebd667b6c81c73fdcd56ab6bc7b62df9f9b9720206563eb06782844ecc431a5db35e7e853b39146aa085d0b9dda5d936a3198e269eec1d7007a35adffabbb6b90ae6ce9f1caa4a0b59065f79421ed2a7f4bb43d64b5a26c55714c1ad5506ecdbabb415873c6b37146d587968d5ca6fbe5cf3f5fecd1b8fe5ee4f4d710dbaba9730b5b5794863d4c42f358ac9115db358b7edf6bff751a83225e4ac44413930b7ea9f37973f737bc5d37770af9c776be5f3b7953cf34beb0737b7c9ffdf36877fd5b9202f9e37c4e6fca3d963d85d24b79637aaff11b6bea269ef54ff93b028209c80f3af7f42fa3cdeaa72fe2bab2c2baba8aaaaacac2873bbcbcaaa2a2af9535959560154c000329cf337462d7c42d6fe0acda7480a30e467cb85cf34b42a6c5e8b0f312bb30fe12a1f3041b4d7711f6c0b55fa3d37dc7843e8b5d7396b8793b2b3576623cdbcf3f63bf47d479bdfc92a69471b17cf6b0e31cb05fc21f714274fb27ce2853818c2985757c0419f4216434ef5413e2cb6f20e91147374368ac4db767f53545cd4ac49e3b2aa324c35b23232dc6c50b1d3c50a0a44d64127f6f062ed815735562cd0a558b7d20a8c5b83595999b876d8b8711388f5770ffcee86d1a3fb5f7c7182dde5f17b3ff930fbb5b7dee0e707f4bb61e3c60b2fec4f5076d49c20635c23c885ac1a64cffe235fa70072b49e5123a16b21a450823ea51dfa2f0d6706210916bb64fdb78c24c1dbfa121fb36bd2643bc8bccee9a42f98ac9cb2b5177dd515afe7740d9df49cf6ca84de4d9e9cf959e13d178cdfb6b8a4f3884b9e1c2b8978963af230b0566b7ecdc38b1fde3b62c265f371893cf5e1a983a63f99ac9f73ebea3467df27da3597f46832450af498ba7cdfa318d6465d295aa3f0b81acd567ba7dbe68c983f65f1ef6fefaf92933bddb8ef93b26b2e99d0fb15391f0f5de8d261e7559683305794554ac40593172c764f969680a37151b560e3b0f3ba7fab366879ff1151597ba94ebfd2bb5ede336dc3b2f93396695a9fa11721925b30fdc98ca7ef16c014d6b5c436c3a68fab7c6cfeb2b90faf96724d879fdbbf73441e5d7eab03b0e365e3fa5e3d74f1bc65731ff8cd4513678ee99e317ee634bc25bf3c7bfacbfadb874e9bd5a1615cf7d1d3aef73dfd86e8df4a6cd6f069fd3bb7bdba4fd397b317dc9bed9a38eb89ee19bd46747967f192f90f2fc137efa88bd62cdc822857bf78e97101af2d76fdd55923fec4cadc68ff3f16ac750f9dfc87ced4db6bccc48107e62d9bb7a8f3cc912747a51a19b6bc49a7867a25c2f0a6deafe63f803c98509f9ba7e0355abf8cc6771efddbb1da730b16ce5dbb504fc81a3eab571bbbfbe0c2054b5404de9b86568bbb23479002a252e0d23e9af7b0ca3c70dcf4fee90c44db9f5f94b560f51bd371cfd473609fac9cb50b1e7626cf1c1383da09fa5bd95148bcfafe477c33feb86cfef4c6f73fa97c3abb3c1b664fcf960cae2e93ef1b2db3b9f3c87baeaf7cec8df9f7ea3da26dbfbfa3af64d07b6d0cc7f1fd8758a466dc3d0736ecd29a5ea314b95579cdb3e1b39c8b46b7d572decf71f56ca544c37a52acccd565cc3f26054c0afc8828805f129c2481e222da4c4cdfbe7dd6acf9b443870e1149ea91154a347475462b9a1b999a7ed19bc55b4ae19e1403b273803839b625581d2e84580e145365d31c3d5661b76417dd62897306ffb75f95861a6b1d8c563537027012ee4d4b4b6ff0f8e37f193ffe57b3663ef6f557ebeeb8f3f6737bf47425c83af5c4134f700773cefaf3638d9a34aa61b4447f182d3d8c390336d493430e1178c2f28960f3380f190cde72cb2d0b162c50a81e3a207500cda2a4bde1eb0d386d81c14313d0a01847258d1d3b56d8a8a0f59478484ccd7cf6407e5e7e7149795242427a568bcc362d3f59b5c2e2b0f4bff062d84361bde4b7f56478c8eaaed9aebce6c8ec59cd4a807e364b4220f4f60bbef1539d4d3384dd4364bd669563fa4c4b86162ab6f9e30205cd3a5a2e1b08ea8565ac93870c638f7794067aa695afdfb1d7a225a2a11d2aaf90e38611fdd81c290d535c7196166dbaf5eb77cede9d851bbe3ea2398249896989f15ac4a8c12a222a8aec1abc6b28d4ba616adecefcf84a1b9e99e7562cd28ab78ace23177c2aff9870fcf3683606af89fdc6407718fde3a3569bf38f989014f4df51afb7e499a7c3f91b5d63febef6c66bcb7128c5fc82d6faff7ad3f59bc4c86cfcc52f460d1b3204a3c9ba2624836e5ef55340f4bcebcf717aa946b52a107e57308618e322263cac1eb9475f28c7122956ab6101b09c8a24a092c2ef2a69cb962de3c78d639964f30d4b55ce0ce33bc580002d0b1cab118b3813d3751ccdb9acaed75e7f0d7c4b6dc52525cf3ef30ce84ef7e784ea065ac228b9c8313a004e2e74264431863597bad033c0fd80083da91faaa2758055afc861591cb1f245c51944b9e6ab2f1a62b5eff7a7263668d63223c0be14961d94a062d97be348205d082a2f407c0a0247334176fa70ac0754c5441665e93973e6e6e6e662019b7f241fe16a4262626545659c2b2e3d3d1d53618c5ea64cb90bb7ece15d4309db861908cb1f9f138a0f34095f8328dae87ef6f89ca6fcef5d2d5ab460b80fe51e9af3d45ca8e2b05890033757918772e7cd799a3dc2baba86528cd716fc66c7ce7e7dfab25519316d58eefffef797eeba6bd2b1634511493c366ad4e0a9a79efee52f6fe1c7203ab53ac6cfde96169f9c5cbd1fe377179555d9edbcaad6068dbb0c9705f6060d221bc06a27e5f1d21c51a0cef79d28c1ef2eabf2698ef830cdce5a4562a59f661b02394b27cd583979d6a3e17ac16c83549456d8135338a555425a5c4a6218340b6f4b00f5019c00ba126b0e740d4fac338c1eba5b732526eac05772792a4a3d015b62caf11822a3ebc613124ecf126b4cd62b4a4b351b3ffa463575be3066fd75e53ee9cc274da5da6fdab9e8bed96bfb3ff9e8d55a69a9c756376d29a59a1297789cbc8a2861c48b39823567ec7ae40db5c92a55a25105d1f4a13512a3a95dbbd5d54f1e0f465536325754d712962be041ae6e3bb91151c52248bdedcdfbe6ee1ef2f4fd979d7844355c6a9f42e6b0569a4193022605ce200ac047cd9a356bf4e8d1a81fc3f9ac5ab5ea3fff59cd56fbc8912359dc3957e2c9279f9c3061021c4874a33ffef8a3b6e774aa871b79e3d8d777e77c28dbe887fb76dd75893321c919e772da5155452f591c36fb0221af3f8818c007c0f507ee38af626437a40c75325a8a1b013d007930cde2f443d4f6deff60c9ddd3eec64a56b570dfc19cd699592afcb39f5df5ccbce7c2192da4980857e1e660e59c1cab81375fe4b7b04ec806c278c8f878fbfefd398b162da299aa2a88a33852302dce4a0c41374c29b4ca6cdd0a7dd353e2212d3e9132945494adf974d5c00197bef3cee27f2d796fe0c041636eb8e1b3ff7cd1fdfc5e8d1a348487c472ec247948ba065b894322ffc71fa7dc353631608d775a2c8581d0f55705efbccb9290103cb0dff6874996ad25a1345ba53f58e6b3785f5f64e9733e44b02325a983870c678f9f5d5f3014b792c1d28345478b8f16e71c2bc12b3360d56917256e244ac78e94eefae6d8beddc7060f4ae8724e8be6cd329a71d247c80a0f19316a10bb167bac85feb162eba2cd9df6ecd861fd3affb65f379ed17dba56be4ec0ad8e0c91e7cb3fb641bc9aad49c34087ce0b72260dc9e81f3e6ad19cbfc11e67aed60d0929aefe299c0c3bcfde01771e83dafe5b0e9c2ae76f4cc838ab75c2af260a3f543361a2bf1736411213121efee39f740dca6ace3f6242c26e3ffffc0b5dbb7695ef830d97a88bb9a79254203c9bcacf3dfa12cca25f04d4c5534d50fed25a62b8ab70f8dd888ceed10f12530b18fc202df8de5e8a14d3e70ae0a358e333b3f91db24af195cbea05cc95450b0d8950a84af3de74c38d7171ae2fbffa72e4b5d762966aab42dc8995bce6642b004428ba2eacb222c76585e05c3194316cecc55198750d756439f69517690860fd766cc2798dd8c6032d91936666b6ac2c294e6a9096d92cc3eb9773adb0f1c09215540be0e683b2e3f15e10acb891c25915d09817f2d382bf05602d42579a3c69d25d8b16bdcd4e6aa63353e17c7e5498be4ea7f3bcdee78dfac548762c71bd5fbb6bf8b1970d488cf4e92c7e12029c8eed39de351908c1e4f20d431a2cd94595599ef5af9af6881bf83abb065e469f859b2a117d279948706c7412312a35665275a4e0d8b074bbab41833019654d8a2b3956aca44694af2970da7fedaee4e4180d30ea8b957e9a6dc8ddb3dfd57e0867e6d4be0044d5e2e5e3a1da39aa9f6c02bc62a6d41729f8a7567a1c40ba56843c44d71df132a3915145232362d61f99a9e6f9a4331fa7cdf1504d25f5fcf5fbdc5a7109b2d5949418bdae5530ba2951448939829c09a6d71317fd86e355d66e7454c5b51a623c806c09933946d301ea31628da23102b5aba9d8b5dbdd67488f9341b6a8549f4ae618af36a34c0a9814381328b06bd72ef6cd71f95b5959b970e1c29c9c83175e78e1a64d9be6cfffebf5d78fe6909b1e3dcefdfcf3cf71951ca3b5e2eda43e6ee4ba069ddf2adaf4794961cbfdfd35874b240ec216b1ef8e2a98f015882fc4dc566747b252bd23babb7123520fa3a5b8114c45e1c71c164e2e14cee6aa2b87f5bdb0df5f9f9bfff1f28f76efde63c7d2abe67aefbdf7dbb77b7cca6f7ec3cb14a3c5cb44794db3d94525592c70fd605bbfdd1fe70fe7213dee40eb366d274d9af4f6db6fe7e7e70bfb6fb144a867c316226fc08d9023cee5adaa80cb3b251e124d43404e515999a7c2b7e1eb8d0d9b341c3af0b2accce6eb366df15455161f2d68d490835e81fa02994f868794aec18cf92d710307973df0a7d0430f8203e3d26dd67f2cb5bef5014c206218b08baf81cdef0d9406ac957f99e338efbc20666b763c33d7c7431aec71237f154e8aedced4f278e7d6c4a40277b2ff48b1f76879a0b0ec58ee9123f9fb2b4b0bd35bf74c68e02c4327576c7e1db0be218e2dc134b6f6a8e1bda6167b1cb4344f0afaaa8a7b75ec56daa05ddfaec9d66eddb49202cd0eb3a21f16c59832b0fcb3c4db5c9869a7b40c35f33982e1a3168bf3af668f0f5c7410433b1cd480109c1e78608b5771fe5058387fc8a6438553e4fc8d09495f468dfcc5175faead997a31fe3261860c1dc2ec178fad754d489a655ef552e02c02b74164ab3a90e4bbc58a02b4235b44004b343a10538ae732b025ce703803cccb4965a36fbcc1eb757b2bdd2c8dac8dec5f4879e6b70347c3384c0bca51b7ac27388a62cf8ccf01150224ace059d47d39ec3b8e8f2084f0d3afbb7c13d92dc5835a6646a623ab25a52b3cb8fe030593a05f3832f08b9b75be4bead7f3cb7945fc2e809fa57e947364738a7ad893b160213c68d0c0afd6adcb3990834d6f625252cbacacf3ceebddb459baa70a759a185da3a3bc8bbe701a1b4e1240d1f45d754db5a1ca2dce88d89c1128cfee9ef85dd6a85c355024c975778df5100de77af492a9e7914766a8aaa2ef6c2f45479a318a0259978e7fe2529318df2b055af4bd6154568368307f7a8df8098d202ad0a2c87772d729653eb92acd5c26054c0a7cef143878f0108e91d0177be38d371b34489b387122f78b2fbee8a38f3e7ae185177025d5be7d3b8e728dd92eb827b04b04a315c18d3cd46ce0955b8f26e327031e08869e9322e4e4051820981501c6a2b3c79f60f0cebe15724262bd8c563537c21f76f96176849b91cdf586690def79e09e7befbd5f18ad40684fce7e81bdc2b7c0c2c1e6d562b42c569c8feafa731c3361e32819b13a8be621bda595d678dbf8f1e381fadbb76fdfb76f1fde55141d5c2e57ebd6ad3b75e250bdee45c70a2bdd95623c798a3c248c11167525c5c5ab3ef978ccd85b915e7c16f745ff7e176fdebe79f17fb2335a65c243220111329d340f295de3344b0e841d7d5359b3169e471f49cdd915df885d05a41f620717a8d2d04b2beddcd57fefff73f4ed470b103442f688510be721c3d9e34b5a3873b66ef6f6e8e6b1db777b837b0aaa1c872a7db96581c3a5c1aa1298eda4e4b860794eeb4e71ed5bb76adab861035152422eaef39051a326c40ceb5ad70e4d7f7e70fbce63455dbaa6374c743e14bc60557cf3168e44c64f4e1961c86162439adb17282fa91c96d7bd79e3a6d1a316cdf99f64d74e8ff337262450fd8ae1575e73ed356c31d04ec0081cb9806d5a2ec2325ace0cb1023ddc48f82d6c261ce7fc6b4f4835c5cc7b9d14388bd4926fbf733cf85419b03ac43614f7ee745f0c6651fb00628a2457f47f017521a7c5e6e5b8706c52d157160d05716d27b981c4b295822633c7d1a241cc1415508bda0a425a1bdb7b4e517d966a8977307f6d0e6c491cf8b1a7a4be8a523f26b04e2c725152169779c05b27edc218569fd9e8258bc202a0564ef9b284707bcf4e8e85b3cbf9fc298afb3f716785272936d85c8e38745f28cb5a8f8eb5c7ebd1a5ada7dc35ea4c484a057eeb8bafb5bca294950f831730b3fee92172b69454e1ae507e65eae9daf66ddff4bbf0c2da3256997ce8021d3d7a5424bfb19431547ce3c68d23658575ce5b33c1a4804901930226054c0a9814f83e2870ecd8b1975f7ed9ebf55d7861bf8b2fbe18f9a4f1d63d7bf62c59f2019bd783070feeddfb3c23de0870ca6bfb0eed7ebc8c167c97806dfd4c478b880785958be62113e213e3135cf1aee346b6006a8ff813adacaa2cff963c64c0eaddb36bcfa17dfbdd21efc103b9592d9adbe2edad9bb76bd9b60d87559c360f19f2e32fcb86bbd0d0b265b6ff7c1ccad96d29ad0cc1f5b5eb10b86448e8b2417086fc87a9f1a9b2c7659525478b7cb96eeba6226feeb1aaf282724f5e49f06851c877c4e52ccd6c9ed8bd57bb366d5a67a4344e6a988074e9e4d963406c5ece9e2a4f7165b9bbca6f7105e2f1a92dad846b169b683632f823fcbacb118ff3a716e7b48e73c221c71eb51f23e72fbb1d016dfe8bff67aa251b8b4c74e02c1297e1c61ccccad157fa71391c4f8baf00364e6c98dadac16ce8fb23b364d34436f002e8c1a0caae6be68a5b2804b0eca1a07eecb00385d94a417118f427c6ee98b03ad01f4633592ab0d8393a16ab04147f398d8dd3c3d160060a532701a2752f4d6cb20186c946659206c616e51b5104c6973a28567cd689f9ae8dd3a845ce2a20580b7ac5a702475acb176cc30217708d6f758ee7911894453424c968a5b0fd78ea5de388dc6059314b0c3de7e0110e060ad2b540b0a2b8089b60fd2021d909a0ab27ea9a087ba32f349ac0aed8a24427a91824b7310f16ae2bbf196f52c0a4804901930226054c0a7c0f1468d4a8d1d4a95363bea86d5bf472ff3766928a8479e1409e1f2fa3058708d387ca9cf090c268c5e6212b70745b590e5f263202f838e1a584b543de0020feb63ca4d5d1e69c73da74e8b877fb5687cddab265dbb61d3a53394abcf08ea7cd43daad4e0bd66f714eedaae1a16b87c343c2d1525b350fa9a1ab1774e8878b9c127b8c3a6d424252668ad63268ed83bbff72675530d95bd5440b7913926cc929c9ae249703c90d7c2cfad190ec54d8639c93b568d586033c853de6b012d863fec3bbb048e165cf05d1382c3a5683c0dc6af618b6b48e51fb3172fe4c4891b09b57bd14388bc02da894af023869f321e314f74da2940baa452d5fdc425950ca0f6287211012c563f1eb14f40275f9d8b9d0c8402d03bb0301a3c052a9881ce21d1ec42667e88a5d862de0e44e1cb0199029db9ba800cb4e1237715ec5f7269f9b20c00088d822f4074a8b9d8198fc3a44562b925152c5ee444798487f39a996d70651537078c40d7908d84b1351a2962f9b9a692be8f887ef9a03f4afdbd646cc3ab02b5744a4f96852c0a4804901930226054c0afc5429800f28382ff82593d1fa4e78c876ed3bb53fa7138e4d85b9fc4e78481c1285f39002c5f1985acd1ec3997e4bf6d89e98949aa03512a56e5414431e3cd0c0eafa8367217bfc1d72fe22a736af7a2970161925a3638c5128dac8404ef14b8cf6b0f82b08f91c229264538ec37a80a4985f88d6be9dfd241d00834d396e967d12fe17502be9e809f30f0d79b0259252227434aad97d6c26599cb211258e93d19010f12a981345e7a02d8e22bc07ad63fdfc6547c021bad1e2a93910f45a1d9c6d1bf4b1430874c5099518958898546c6fc5d6c1227a176c7e7a451b9a8ed0483cf1895f005a74e6742d352161ff81031ef7c91da75aefd434134d0a981430296052c0a48049811f29057c7eff8eeddb923974c764b44c1ef2ac678fbf5bceff47ba267c6fcd3e8b8469380300128254d9ef12b751a266cbd9b721078ac5229b4522aaef5f417b9493f1b267f1712eadf81d40ed17afda1c3804b645db212086ef1e6bd029bac2164c5f512806b1c605025e0e65c3b39e606734263803c8177470f6b7c5efd041ae6061748f41b8183904319410e7c338f2a37e349b7177474598f203a229858c584f11142e5b103c23e04515c3168863e38bd3b2831e3122008d039c11fc82c57ff8ae354e6f7a282f6ff5ea955004956c6c35743d667a203270e8cf7e23581e121046d1454849164910d2a064235dc3a0800067b6497941f76c28a0c24d0499f54bf60d44031beccfe60224a31ac8887a0e9e21d821a01aa997fd0251092784513595f8aca2acc260c8de01860b224b0feab275d9d2102713624f2d2ad9223f67863058bc55b45d6809fb9bf8e122d9ec9a396ae6843cc1b7e6e72b31bf357319111715e6e27f96feae717e43527252d38ca6b03726a365f29067397bfc1d72fec22d9b57bd14388bc02d40ca2687f2843c886f596a71b01e0207a1461bc0aad50ed4d19d34699cf1035b06c641875ffcd7731c98df69e1385a0e1b13bb589f18ee069c6c4582d0006cfe208ee7e4d85c0a491d22a50d7830b2b5208bc55257c4c0c885b1bfe5541f5c57e1d35e4ec715ab5e303416b5924384c9b4ce1ff0621a8fcc18d782e2c25944ca889b01dd40651b9858cc7103bc556c62359b174c88cf7200b618199c215d6bde24c36f490ff871f90ce4a407a8cff00f6c8ae9ae0055f1c025a05597a0d34b502fbdd763c0c364147d6fee5206f13798556a821882511191c329112d6270e0b16056d9042059d0a86492b74a01c80430d6d5374883d116c78b0262a9806c244811065b5ea6474b8d0a17ebc8585a2fed05f532a6ba309d6214d5e1b6ea81d935a1ad396ae68434bf357319912d437385949f33f3774dff4d86df8a735a38bcc164b44c1ed2648fbf43ce1f33c87a919d9908a63b6b2e90a272308f5b24349151e84543184d5fdc3039023ebfc3eaf0057d281e835ef4537280404ece17738adc14a7c67639e016f37bf1b9245e92c50c57ac1e4043c81a2d3eceefe11197c8ba1eb2f8599613d1506f06d58aea3190157c0a5e42a68bbd2c077c8b0f3e015a3a46063af911c8da1d8065dc177054b99c750b9ef6f9049689a411e5653491b1e4e59d1207e6a5109acbe02f1160eaa6bd6744d720afd589a895d6e272593f204944aff8ede2478e0d00a4e200c6205d03c5e31b9ab8a01d508fd37e0c9a91d9dac0aad08a8ea29a2df6cb5ac06777e2bd5de068c0e2802c169b53ce22b33965d42c1cbf14c4485987c38c9a9fbd07c4c35c62238d705d460b8221ea66134087cb0ca96c3df879bb8ddd07d9c72020db096ad438c649a4b67eb62cf06a1df2313ab483ba44de6b76cd1c357342b2509adf9ab98c982ba4f9bb56cf4f36ba5326a365f290267bfcdd72fee009f3aa9f026711b8f5cb193636ac5aad3e5134f6da35277239202e9bac601611d822d115d91f6aa882891c7e0f18096d6691f2594146c01bf11485f0d411f288122b584cc307949ca06611fd63601bceaaf09ec05a0f126259e73c1d1b8ab0010149766f00f02c4ea040503e2b1ac8cc4f274e94052a23e7a5594489a62e3818f9afe837fb359cf361d08ff898978b3633ed156b7c5e2fa7f5222f06b0891fe690d5ec9a396ae68434bf357319315748f377cdfcc936b91193d13279c89f2c7b1ccb6f6bfd60ef6c4b3d8bc02d823a2c39ed604a8bdf8be41034c8ae3b8e8845b31589ab3889b221a0152f7172882c7241d45f6d0811fde0c60027fd204cf472c014601487f0025f45d756a48f8825fda8085b34878859bdf840160de760c00940e658706244e22895e27a0e3c0a0411634e11fd06384ddbef974a11db82b3c927fe9979b50d0d2f0499fa29ce405890378544e9d941e391f9d27071266545bc89d22c9ee8ccae99a3664e48f35b3397117385347fd7cc9f6c931b31192d9387fcc9b2c78008f3aa970267118180ae3620200aa68868c5d9891cca8d15aca81163f88a312d113822d6cff561e60055f17a8c7ab00f455a3f22d820bac728c0e29a088d5b2fe0177c89d12bc053cc4039760b0f51a2d6ca238260d458c57c53e4b9eafc6b2c4f423e31c611bb50597490e58262f1370538457359548cb15be3705b5036525f5471c515b3921723b10d88c5ad8d065007b6a3a05b398208e12e86c066d7cc513327a4f9ad99cb88b9429abf6be64fb6c98d988c96c943fed4d9e37a919d997836d9dcbef87f7f15734bf332296052c0a4804901930226054c0a981430296052c0a4c08f8d02689a5ae5f410f3aa930267915af29d77de999696e676bb2186c7e3494a4af2e102b9f6457c6a6a2a719cd2535e5e4e1ec264233e2e2ecee1c00056233e22ec72b9882f2929a12c055511225598fc2a5ed5a3ea57f9553d369b8db2842942f3a2db40415e6dbc373cbf6a2765a9d0c81311a65a55bf11afdaa0de154e076a30de451e93566aeca09b49abe83966ce2bf5cd9adfa05a4f141dd47a62ac4504ccf5ca5cdb5942cddf41be054507351f089b3c034430f9ab701e0c82a82b9a0f24dea495492bc58b262626ce9933a766b2987f635000355a9c117df79751ad0a84df392794f711635cc48487d523f7e80bfe8948eee1013f27d0ea91045452f85d256dd9b265dab46984591d78bb82910414ef458022dce1c3983aea478830313c925905b8731965553c3194a55ae3d12842bc5149789daa08494606a9577f976a8f6a8caa93da542af5abfce1a5d4bbc2e389a11255363c6778980a790caf5f355e4592aade450615566d506d5365b99bb432e8134e379356e6bc32bf41630d8958e5a04cc43a66d2caa455c46f939a126ae6409cf0f5c4a495492bb58630130c52a809430c73863b974a3232a848735e410793568ad7559344ad2dc6f430d8603591ce645a555555cd9b37af6bd7ae3415112ef788cb6eb71343920aa8b0caa3f2738fbe506e559104d4c5634d50fe422b62b8ab70f8dd8854f4fcc1ef67915cdb58e98cc9cdde1803403c17fbca8499cddc0933e98924acf210a01461eec4abb0caafca02fc547e55830a530979b848557592aa2e553f77f66ec9a022d5bb0813437ed54ee3bd44aafcaa2c8f942595fce1f5849725ac6ae3ceb4e64ec3d49dfa691561ee64239e8b80d147f2f3a8daa0e28d6c94254c59eeaa5f465962b88c3613afc24486bf57e55735a8305dd08b9ab4923969d2ca9c577c17e6370811c2bf05c2e67a65acc96afde46eaeedd0043a98bf836a6ea8df5c155634e1ae7e674d9e417d35fcbe98b482145c6a6e847f3b449abc286cd899cfb72b9ed9bcc7a4c0d925b955c88d4f9775cde01d0dbaa8d59f8f9c54f210cfe456fca59199001948522ba37a54b511a9caaa0ac3df62f9f00100004000494441541251dc281b5eb99187e246d9e80a492567f8bbea6a83ea827a1761d517154971e2c33310635cc4ab54e31ede36952dbc0daa1e93568a6e26adcc79657cb6e1a4206c7e83ac1ee67ac5ba6a10412da76ae950c4e16ecc1f231b81f078735e99b4827960562816026aa829644c18628c480211f3c7c816116fce2b9356e6bc52eb73381d8cef454d0ff5d111199ec7f8dcc2331b91dff9bcc2b461f6ecd9a6e416c2d6759d45925bb567a95673252f35c22a004ba1f6f378647e8384895149c44341c2cc66e26152f919e0220361925459022a9efa553cf909ab6f80e2d4433c0115e6ae0646e5a12c31dc55599278178f048837c2463b557e1e692d79788b6a27f15ce457055559b211a9eae4cec55b8c3a79d40b49062edaa3be7015e6ae9a4abc0a186de0d1a495492b66889a6f04cc790511d4d7647e8390c2582ba009cb85b95e41132e63ed852646d8a415bf626a9e70377f07991b26cfc0c7a2be0b026a5d850f5173c3e4afa083a20924523431690505f870982d6703df4e37cd2b2605ce2ec92d0ae26ad2ab5f50d6023e0303991019412332ab9ce461052195222a863091dc8957a9c6a3ca4312c555fde451eb0e6555a4515c6533e25525462349353210087f57747b8cf7861791f2faa5da60b48738a32f4641f55e92680f77a319e1658d48bdd6e337e2156514354830ea276c1047a51a8fe1af36da4624450c9a18c509a8b7705799558ccacc9d4b652060d2caa4959a0fe6bc526b85f1d199dfa0b15018ab0431e67ac58a011dd4e24fc0b8d44a62d20a0a3049d47a62d22a9c4960aa843f12366965ac272a0089d49c3169153e37084310935610814badb42aacee75d1cab4b90da752ccf05924b965de70f1cbc4ca4b007210564421c01e8f8a6432b12fa8e2c9a9c26a8629398cfa1a55986c7c96c4287e512511a902d4a9e2c94398b710af5eaa4af14615a35eadf6ef8db2045406b5ffa4e2d59e25616a086f836a30f9b9c8a3de4236c2aa2019543d04681565557b54fcff67efde7a6e5d8afaefbb2118147788b84351c39118134f4c38f4edac93f516d62b20e164bd256234e25e0177a0a86c351224213ef87ceefbbb56d9ffebde3041c135e7a83ee8595d5d555dfd1bd5d5ddd7758f316965213fefcd2c5677902c5640281e36ae760d4240de285d6cbe82c6e6f6368e76b4dd07f7ccb0e7ab3d33ec99c1d6f0bd3eb79778b77e0a811b7a73fbda6baf7973dbee0b0e84da29cd59cdc67c66e4ba3ac8a23bc9118b46a47ef2c7d4c83388d9e907a189aeb7b186934cf2d91c798ecdb898c33fed8cff7a9b8edee8e463a2d31af9f8cdfdf40d4d38f9e83178ea12c837c488e57ffccbb8a77c5df983dfdc19e14c4d74bd8bd5623571b27155306cbe3af343c947de1027d108cdc56a737b61d09e523c142797d8987d6de36ab13a63e08c936269ce3cba16abc5eaffeadcee3790fd5740fb9d5b6bf0a972436f6e7bcf292539fa9cef1cd002b453d1642e78258fc0f40ca61376a1ecd0401ead2b649925835fcac34728b47a7e434caf775f33160b38f1c96b926f2c32a3cb82aef884e3c769e89997aed38719972e99f13f79168c32b45ebe65503d36f1d18495f8e33fb37a4f1fd0f93963e12c56c1b258c161e3ca223dd7dd498b905d832d16713239a498917f16abd95f36b7ef3e68abb528e0d09e6b758489d8b07674c5b7a016abc56a62433c287b160d07b09c67667182a358419363dfb1583585ad9f42e086dedcfa7f6efb4f9926acdb0fd4dddc04f47421f0d5bae28b78a18fa379d20954c7b718d2cd9afae45f74f58efc65acc6c524402c3f1fa59fb28f9fa29a1df53947d3692ef8d18d158d39851da3573fb4436cb15aac42a050dcb83a73c5b940d0bb060b92f25e74b0a017ab4b9e5fac5a2fbb0fb646da7ff7cc008d294fad91c56ae264b1ea4c32fbb2d8c0a93ee36780429cfc68ccb410836d4646fefb93affef33fff73dfdcc2fc9972436f6e43a17723c25194a327d6eb15c108cf6ce213f3de2026cebc773ae9592114e3773aa1aba48b43379bd1b4ea1a9bd41f1d8b64fe908f6661685a46c9325a19dfe2d36d20ba33160ebec55957345d1c34c97b4b77bf998cc8ce62b558153f1b57d6c8ae419961f3151036b703416eb46bc80ced1dbb0fb659cc5eac79d28b15343a5a3c9a4316abd694da5eb358c161cfa27288d2591d01932dcf2370436f6e7de7f6ddef7eb7b3883d781eba8892cea96a4815347134a515fb10266254121bf90ba137fba39bb5a93b0164b3a340839ef223333e64569d4a02c31c3e62ca0c411833ffa335677f1d53a378919f893338b3209cdb7134c7ffc52a7016ab6275e3aab506875d8367fe99c088d87cb5b95d24cc3e227fb637b5d1c42750082d568b951838cf24d11333133067fc5c6406c38dab16d46275e69fa2e51233ef90b8da5f4bb6669f2f37f4e6d6334271d9eaf5fc03210fe27826d43e0a29fcc1ab67249a7a7b67954acf90c60e230a317c04be232cb36327fbf8eca4ab8b009bc96bce58f953a241e397c1c990673995f10767f8bad8379082a69ebc3a673023e2b39c3ff815bd741b8b7a341fc66073214c063f6bd18db2582d561b576260c260d72028365f49929bdbed0e8261f7c1d96deda76898c812c263f6d3f6d9c5ca1963b1daf3d59e45cb0c9773fba48b251e45e086dedcface6d67acae8ee0e892a68998bb594cbdf8761784a5954a62edd0a1898e681faa26f6bccdb6b1641a487d8eabd9d0ec37683e9c328d32a32372e6223ff3cae6694757f69b1d818b2eced955331974ba0885d862b558890dc1b071755947bb062d0d98cc0299e4265a16ab3327974b17ab70504fa85ce24497b271353820162bf100843d5f399bc1614e77ad1d11f2f0ccb658bda458ed9bdb52df33f50dbdb9b5c201e17e6bd92b3583c6e9b3f790930506b2397950e96eac0b93bc3a3b9eb3a2e9aad1a33b3272eea98beebc1b3f4f7092c966fea0c930ab379a0c8e21d4f3dcd7fa1c7992e4093417fc562ff564f01bb74c979de4d58d954bc6a2a5d4d4abb03f76d031abe9b246984a73c1c724afcece62b5586d5ced1a2c87c8099baf20008772b25a7e2827974837b703247cda9b162bf9b31d59e4b4cfc20467d694f859ac5a478b55e78d39839567620a12f8748a8bbf7105999705ab3ec4ad9f42e086dedc9edfb9058725ddadcf0ad7b4b6c3c8f28eb661e08cccc8c754938c19ad3e8dd455b2883f964966dcd0a382597928c6075d54467ee8ece82593627502e3de5ba6df1e378398331682f0d8af994d62d9c9a6e6f83ceab941fe1c77980d34ced0ba18a9ebe48f6592d919df70a63c146b6ab9919f4367876ef3d29b7a02e3de184f3e8398331682f0f853339bc4b2934dcdc56ab19a102ab436aee0b06bf00c83d2c5e6ab1648f5e45bcdc56a40987d67b19a3db785f33060162b4172399f2c560348e0a8cf435ae73732c37f67c6d58ffcc88f7cec631fdbffe7d6c7f454b9a137b79e5149766d93f3bc537e444f707baf28b88125a07b7e5394a78b268f1f93188309d31a9b7a9337567c442a97f7ba7a874f46616dec647f86306e63111b1a07cd2b046bec3797e6d57c0d81af569247cc5877a3defb994db4def19ffcf8b358dd4375f7992e56c5c9c6d5aca95d83728584a320c032394aa80c5dfe59ac162b0854c4c6ee83e79e0b0d7b6e0916447b66004e98402358e67cb258b501416612ef62058a60294ed0761c79e615c3aafcb9f55308dcd09bdbf9ceadc52fd6053ac232701bbcd0c0ea8ad86298abafc4aaeb51dd8e6b044a315412ce3e2dcd9141d4ac364a3e4cdda7159fcc69332319bcf0c7dacc8bd84c617a6794e1341cfe299fe262359f02e4c3044a8bd5c6953078b836674ded1ab44642a3f4b25895494263b2ca25872f5621b358955ef6cc20123a8404c8b95e7034db8b27d5449cf519511b571b57c5cccb1e57fb9d5b91fc7cf9e137de78e37989fff5defffaafffbad83c39e89a112f527feb5bdf4a6c88875a5ffad2973efad18fca925ffffad7fd874004d45ffbdad7def39ef77cf39bdfe40f5df5bbdef5ae1ffcc11f1437d1fea364040e7962f8e91246132620b7b2939865e35911bef2433ff443548c38bad164f8c0265d76d0ef7def7ba96b2a238f8e697b33567ea21b4beff0d9cfe6c5b7dc36049b3c4164936fbad8512b63878ca6b1f287d862b5584d0c4ccc0b1221b771b56b10029bafda1736b7ef3e68bfb65fb4c996248b8dcbbe4c60b15aacf67c550c58297b16ed40d59de205cf57ee17bff77bbff7810f7c004145fd6839bb868e507f17c5a746ebd17a98887742b9a137b7f39d5bb8cf033c84a6a3893b5ecf721e3ed73965d21df9d1f5a410ad6407914c4f101beea4b3d943c7c64d373b8c68a675d698f1338e26cfe1f1e7517ee3cee8f736fefbdd633ed45b57be8da91c685cf539d662b5586d5c4160d760f94132d97c554ed8dc7ee6c6c9126039e9c5cac2d933c39c2b4a2373c618be98412b8b1510ceb3d962258700e1d6cea2fb9ddbfb7cf05c755bdfb99dccd8775a644cabe2cc98fe2ebfdd57dddfe8934193a75b869dbfe3a7181dc0e42db091475b75eabe33831f6dc476f47ca08b932e9a0cba81345bb7c96427dd91219f562ac3c7645f3de3924c263e3b0a3a8264df9f2433f3d5951d4c65b15aac36ae20d0ba98b5b66b5072004bc89425d49baf00b2b9ddeab05ed4bb0fce7e5ac6101e7208daf269cf5dac60e24c120e432394c56ae264cfa27b162d99b434b67e14811b7a73db776ead0aa9011682c38e32f5851f58b249fb10499c9a6925109f91d427e0f0138e8f6ed0c63dc7c23965f267066a94a91b884b97714f7974f2461cc7704e999aeab22483a7ff439f7e36ebea0bbfe1b28fceb719eec444efb874f213ce2c7ab1ba7cbe8bd5c69518d835b8f9aa64bbb9dd66b1fb607b65996136dc22646abd8b5579a355238b2e568547b101164db4fa3c836d5cbd93cfa2beddf0f18f7f7c7f2d7912dd43e286dedcb6923dff4388dad6b3c58c2efb235ae1d5046c9f9e2376a6d4ab9916cee5fd273e81938f53c147cc736b74ef7cf08d9b9d8c9fef3a86af0b3f97f2339f33cea5ba928fd9334e7c9233962e3239930f7435a5b6744f3ba38b48250e3a1f10c95733b8582d561b5710a8ec1a84c3e62b20489572e3e6f6f691dd076d13caecef7b66d8f3952c21243ad7edf92a34d4732e8589fd1444e590c50a0e3d9280d296a710b8a137b7afbffeba6f42f7f4ce6a814874d09461d1baf03b9160d6dba28a1fe7a27b89b691276c29aa998ae9a0138d38f9e847ede78f5eeae9a2d9ccb78c27d39a4f2681111bf786731ac9b85a79e8c362059613b73ec7c50a021b57c5867ad7a0353238141b9baf9ec9158bd5ee83765b61502954e2b494f6cc1032e1b0585de2e4cc2d050c81c56a361d68cc9a7af5b0f21b54fbffdcb6229eaa6fe8cdad673ff263596068b9a0e74300723c455b1b5682bab5415ed14c1771be9309d6043c93a6782ffed6ff915b934d9693a19b0a6bf8652236157c32ea7c6b35e64f5df8e453c76f204db43af99121c99fe475e18f3c7e0325932e7ff28130221f4e7fd0e41b8bca62156e8bd5c69548d835b8f94ace1409cae676c1505a80890c59d31ad97d100205097c20b36786e204147bbedaf395a52157ec59f405cfed6592ad9f42e086dedcfaceadffbfa41c2a7a64553b8dac3ab4ae81496f1186c044b7ea1298de9abab283c0c94ef22339ea38c69db1868f60e41c2b5d75a35c7cc0a4d2701143333e6667b838d5593ee9382c5ce4e3c75cac068d898d3eca0b921b572270b12a2a1eaea9335a4e3ac41eca0f921b571b579bdb771f9cc482d833437bf160225beef9aa35d281507dee32d33c371ab432186e5ccd5e3c98bcd3e2caff1bf4e69b6fee776e0bdd47eb1bfa7f6e7fe7777ec7ff2de659a9ffc7b548f55c391a3462a58ce0ffa6ebff9e25d3ff59a717e1628c2f6ffaefa4fc79b3ff9b8b3c19f4d8e9ff028def7fb76b147f3fa0d88418515820afeeff9545b3cf31327ce8ffb36dac7c638d563e38d9ccff738b49ac51109598fc64870a073c2f27c3e7e6c55b05070e6a4c62e43980af49fe5ee4eeefb717abc56ae3ca22da35b8f9ca42688f100f655d98dca7f6cdedbb0fee99e1eed4b06786ce4e7bbe922df72cfabd3eb7fffeeffffefe3fb7ee2f4f955b7c737bc1c26105a71b694402c39f6632ce349238e6f93cec14469f3224931f95d360f4d43d334b3dfb330a66ef4e87c39fe4a9a3d535672ec347f06a64f2e7e227e30fc7a5789699e610f53e6ce6c3898341898d6f398373cab0b6589d9fef09ec6235f173c6ccc6d5ae4131d0aa3993157a96cf108bd562b5fbe0bcefb51cf6ccd00e624fd9f3d5993f0b8cb6dab26b75e790c5eaff162befabf63bb7e747f090bea1efdc7a0f69415a9f5040aba3fbbe5ca71f7484aef8a77c5ddeb522f05963c7e21fdd847192310419747c62e300ce8c8bcf4e3204d2d2ccbea6924df5c98f3eedf41e9841920ffd279f4a04b3f9465e7e276fc49c5cac82a8cf0bbd584160e3ca7ad935280c365f590e92c3e6f63694dd07c503281eeeb9164b7b0762b1824f802c561d2dc486b553f0a88b9f205aace000a53d8b5a2ccac3b3a880d9f20c0237f7e6568880e3e16b434c01d433bc1128a4a689b0dee6b92f53e83291232f5d022393b538d919c5533281b1a3891e4fe2333e639d7406a99cf6c7c3f8c63a3d69b838334acc194b33adc5ea82619f35e662b571550cec1a84c0649259179baf2eb96272ec62d59209876059acdab54f4cd02da2d98316ab4160724e9cc56af22d40f62c5a3c80a25483687d212654ca392f2f56fb9d5b9fe6f3e586dedc16d69e874dc4a3bb670a74cf87a2f5ce333329036d0110482634999a77a4c9e3632a3dc3d6648d4a4ccdd32619fc4ce147186568e392619905bd8d4505a77747a99049203fa375453404993cc14c1e3ffb499efe9f6365536f63f16db15aac04c3c6d5ae4161b0f9ca42682d6c6eb7b99cb9112cf61a11224e761f6c0385c99e1940519c7444e98cb1e72bb0ecf9ea92436032e7de3d8b024702b99cdb4b2c5b3f85c00dbdb97dedb5d77cdd5f6e1528f2a940191a3aedc1f85de144521c324515197438b60ed59aa964333be411633f9574338b73ead61c01cd7c38f9a392580e605ecaf0b3af973cfa9c2fe64c73d453bcb8f750972295c50a328bd5c6558b711651444b098d88f3701de1ef1a0ca2305caca031506c5cb587ee3e282a2e1bcde48dc9338bd5ac9dc56ace663041171b7b168586d29269af691da1e74cfb7261e5b70cf73bb77dac4fd537f4e6d6b3318706112c9ae7192a5ce6f9105a1628f4d13d7b9e660852c761a755c1667c353bd409a84ffb2343055f4d86057c921471d09868f92819340e7ef2c9f03cb17aa3f9a95919f9eccf7c672016c894f5a8f72e977192e83223536446f79c4b74e3b249b171172b986c5c6d5cb5765ab3bb06375f95b74b989bdbdb2c60b2fb6050c0c1362a3cd4e73e6bff5dac3aab84837ab19ae35698081b1cbb8c7ab11a706ee72c3a4b63894711b8a137b7fd3fb7761189a0533844346507844c8119713271e29f3268a5cc3207976166bf8c936e3401cd16e1c8a45586bad0e3e7f84c60868bc85534422f3b27ddb8234360689e901c7f02e1f4393be3c3e8e643f34a6600d415ff94412b2ce71b7a6466b82192346862f888c56a60e9f30a90612e56e23010d4ca84d310c344842162e36a60d9b82a1902a42272365fb55900e4b2be16abd9f2dacb00b25815277028af1633272c8bd5b91f15338b55c9a41a3ea2a8c5b558b576ce757462b5dfb96da77ea6bea137b7ad1c58089a22669e956aa20920f4f6dc54138d8f5957340b7124268466ba08627469a195e15bae687c02f8f35c9685a15bd2f77a77c7eef8d9c74c379792c9379235c78e2d043dd68c4b60fc249f11cfb7e227d98c70f2393f358d32ba9af89ac920f4366e36f1b3938cba21f41ab766ba99a2cb025a19fe62b5586d5c59324a4b63d72004365f0986cded22a1a58198d561efd87d1002edc5edb3c059ac061368cc89083dfcc5aa98393159ac5ea2b3a80f6bcb5308dcd09bdbd75f7ffd5def7a172026a3392b74822cf1cd6952934cbdd1b46c15436bea55539128d1a77ccc641ed229e643361b77ec8c71326de1c64d46175a5d57fe6404f31c4b334e32e3617e5627ffd0078a0944dc193ade77e5c0e9cf586b2cc2d9c4bf575dacdebaa5cc6701bdc56a62a358dab80a87f20070760d5eb2167c80b3f9aa853339e482d264e3c5aaad165c8b55f964f6e58890112788c50a084adb9045b458757e2b3002247cdaa716ab7068bffefe63f5cd6f7ef3cd37dffcc8473ee203f27fdeaa2fc565074757447432c9ab1f163f4b141351d17c9bbcfbd7e78ea38e3eeb6122de09e586dedcf63c46444a5b68e8a3cbec8526da732c7551eb5d814c179d7c62d495e83ec264c61a2d02bac8a04777689204f01bbd71938f9f7181783e8b3d7d4b9758320c2a8d8b83d635ef3a70d0b9a48e2663dc8b0f7a1b1affcee2db7e2e568bd5c69555b06b10089bafcad593cfe5cca127674269b16ad339f139e9c50a02c5497bf7c61504c48cd23944538152f5620507673375f82c56a0683f52172737756e37fd2d4f2170436f6e7de7d6d9d42e222f38a98748f4ec31f14b1c6884f44192969ad810c33c655a5dc9246fc965e7d1ba7167504443cc408c9cf635957a4f7e76b86a683499c64d38fab479f2d135676a276194dc2313dd589ae376f4e9cfc5a066364f99fc8c9ffc627562b2586d5cb5665b77d050a2770d860c402ec462152693ff1f42349cc56ab1da338355709ef1ced531fcf2ed62b55895338b873900ff9f9cdbf7d7922dd5e7cb0dbdb905842d7fde610ad3a1f13d0f2b97111b5ad4761f16cd0a5a4d60ae64c53afea08cc6d44c9e4d4d756325afab85d1580993c1e78926fbe41b6b7ca08b834f263bc64a3e3bb4f0d5f88d8b8f66213edd8c6459af92cd08f4f8cf723eeba23534fee0a36be8f19391eca8092c563e0b38288b151036ae760db616365f4dce2c2436b7db32761f6cef56b7e78a0d710219f5dd2ef2f6bbbbc56ace398b95a8284e60721f2377d59ce584ca62059057ec2c3a1ff4128f2270436f6e7de7f63ffff33fc5b7a50e0b87ec768b92020e429644b4066a7602c3d4356b8385f82c5cd447f7343e32ec8cee4383f9708ef5940f4da1b1d0cd252675fc530067ca298339ba0d84932e83b997fc62b5584d6c44a8cfb271b56b503c6cbe923f07841688a551a2c6c799b43f62177e4b2915f4c6d5c655213401b371058a3d5f9d611020272c679e59ac5e3dac7c93f6e31ffff87ee7b64ff6d1fa86dedc7a6f0602eb5fdd73ac8e11b2004291027aee852676deeee876ebc3eff93a23047ab67aaf7df77ff739880c4d007dcaa48b5f99e76af8d1e4f9901d329ad13973dacf4f7c3268a3a08d8ece0775161a8b9f24c9d4acd61c5d9cd1451b4b9d7c32d4710c845016ab705eac04c3c6d5aca35d8310100f12c5e6ab52a8d8004839334cf035a317abf059acda7305c69e193abd9c38cc7a4144b7884e194bc93907bfb271b5585953aff0b9fded48df7f1f47e086dedcfacead9ff6b2e0a5ce1e65a17b400e1b9971989a0f653a85e84aa526fae49f34e341deea6250224ede4024abc9346eba8d9b63c96467f8a74df4c98f3e7d4878a6a9abe1ceb186a98b644646719a63441795c56ab19a909810dab8da35282aa4887088d62c075ef88bd562d5563209a4cdc54639f1333be662b558b5bf9cf9646801b3e7ab139f93bee4e1c5aaac22608a9f97112b7f85ba6f6e7d7ccf941b7a736b852bf38e4540a34113df331e84a6957ff287ee3a6755a4d233214606dcd4c9cf494ed7d03d976d1591b4ae92c7c744b3df58f91047170be3c3f83683b243267e1ee28c9d2c13660dad4b19ddf838cd9d8cb186d664472f45657cc04f86faf883a98ccc6215b63059ac80b071553c5847772b70d7e07d8edd7cb5b9dd5a901fac0e79d2ea40ef3e282a0613c8943470162b6838630c3e9a438b9fc50a0295e267b12a9fc0449ca835c509da9a7a0ba97b26fa65c46aa6b0c4a308dcd09bdbd75e7bedddef7eb7bdb3c8ee6825dcddd0868651cb00315d88e1a347203bb69ce10cc40fc51aa28d2af9a1b343974c8ad5098c7b633cf90c62ce5808c2e3cfc927d6a098d99966f6133e55e29f63e91d67b233139fae938f1e81ec8c6f3397d37ff4391c7ae4874e80e462b5584dc04c9ce04c79187ebb0681b3580161f395b5702690012470d493baa70b317cf4086467e36ae36acf0cad917399ecf9aa7551bab8e4105dca742d56d098d4fa3c56fb9ddbfbd879aefae137de78e3b9feef419fdfb0be583d39e89a112f527feb5bdf4a6c88875a5ffad2977eebb77eeb477ee447fa1f8abff6b5aff1c19b7df537bef10d8b8a0a75cf6fa2fd17c9ba9c0010386434fd5533cee8a23d077acf7bde4397d8d7bffef56c32cb4e3415326a850c3bef7def7b9d06a8a48bc98e9381d1c52b5d7692c164877d511e9f27e37f7eb293fff9c966460c377cb983baa22b3efbdce30619f69b9a79a1fb0f9af9e041c08cd55cd4d95cac162bf1b671b56b5056d97cb5b97df7c1ce00b6c83d333836cc1969cf0c7bbedab3e8f7e8dcfe894f7ce2031ff880e506e1ceea0febb36be808f57751ac685a8fd6c344bc13ca0dbdb9f59d5b17487bcff96844d8e1f824dcf47af68cc0a98eaf8e4300ed4cdf3395689209a8956946e0cc888d3b02bab2333e68465ff8a3129f623e101efbe8f1fff49324f5fc277cca3456bdba2ad38c30220bbac637b4aeb1b35805c87cca8bd5c6550b4424b44e770d86c3e6abb284c0688d943ad4c39f9859ac0693c54a3e2948d497b3c1eccb17fea8c4dfb80aba6269b18240bbd2c6150494592f113873a27b6762e5b1f27ee7f6fea37bb2baadefdc82617e4f4f107b2f2a8211c2d7b367abbd984e06337ee0b9cef53e96bc148956a359a04b263b5d2c3511f8ad10926c26af2b79c6b3930cf50652c7670153c926223e01baa71d9e8f0face527197ce3a69e3fe99e32f86408df0ff5ff8d6f24c301a16bb102d16255fc6c5c85837ad6cbae41aba31c8228696cbedadc2e18ac9170100fbb0f5a23d098fdba6dc57a51162b20c0a7bca15eac3a830912a598294ef62c2a36c2c4ce0b136bead6b032eb2dcf2070436f6ee73bb7e0b02ad4ad8a9ae80bd3e2b1d98ccc80387c04a6459505f508332535d735f259d01c95e4b3d358f990a9911cfbc347247feaa2311b370788192b9bf14ff973ac53e6a467e8736ae86486d9d0d3a455197ee3cec4f58e30538b154016ab8d2b6130eb7768c465b9692e56834fe04c0e59ac26364034f4c6d51927ed470ff7dc53e6a4770d2e566dd0b38e10a262cf5740d8b368b9a27c2b4e3ae84ed218feff2256be07f1e69b6feeff730bd2a7ca0dbdb9eddd2320041f5a6e2a223def710268b7c34728bae69d0cfaf24c68f21a99e4991d5d1c340e45854c636556221815bd681c32730ac9b73eb0c62553b3fa943f69bd8d9b189bad31a3c7cf0e95fc1f797ca393218f4e3e5dcdfce12af9c56ab1dab8b210ce7577d2b3a610ca620584139f93d6b5f94a3eb90b94b7cb89cf49eb5fac162b61b06786ce2441b1e7abce724e6bf61ac828e58a68757903508bd52b86950f7acb3308dcd09bdbf97f6ec1e12ea7b6da857b373acdae730ff90e1973f34c57ca88a9a99450a88fc1e167333ee6d94467077fece70f0e95f864d2d2549e1a625c8a98798d6e76a83777a6e25c6afc51191fce71c95f64662cfcc56ab1ba4454717e8919cd5d834058ac2020694c0e99e413329baf0a92f2ea62058dcaee837b6628458887820151f698d868bde02f568b9518281e3a78880acd62660246537929b0daefdcf6613d53dfd09bdba276de430a68b443034297e75e6a74118f5f88e33b78e9aa6e8568d225a050195d32d104743112416bf8e9665f9d3f9874d10825977010f2755e355602c924363e1805279b69a9bd6bc58cdf7bd72ca0f5e664bd6a5dd42374e59ba6829eae992f995410ace18752f562059cc54af06c5cddafa1b7beb36d5d0044d9350896cd5792a7d23229308a16747c3964737b3bda3d548bd5dddf9d090ff59e198484d5d13edbf2e9ac825f6e59ac82a27cb2584d0e99b3990899f87989b02adab77e0a811b7a73fbfaebaf7bdad129a17cd77e39b4b00613a61a1d8176d42033cd813219bd6c9ef41c53f03325c92683c0895f17b374877f5acbe669b9a14f7f2ebd0dcd7e32e4673ae34323ceb83973cab34931f9937fd2c98cf1085ac94c3387d5a79f274d3e99dcd0357e0e2609a495004e73540fbf19a9d9cc1ab1d39f24a7b7a1b3333140a5211e5aceb1b1896844c46275f91416ab8dab5d83e587c963659ecb4ad97c55ca5dace0a0b46ace3d68e22781899fe16f5cb5dd04da608858ac3ae40c261b571315e7aa897eb9b0f2df9a7eec631fdbefdcfa409f2a37f4e6d6b3197718cb5bdd731ab4bd649ed9c04896c45410623d3a7e4db4f72df8883997248f8f5957ef3c3569cd586cc6c7acb04026fee86687007eef76d0fc9c71f37f7cc06f5ec4b2afab79cd2cc6875cc24728e4d5a7bca65ef28b1528fa1410ca6275c609643437ae048655bc6bb095b2f90a0e95cdede54cfb080226932bec2fbb0f4a9e70b05e80835eac444838c02462cf577050c449e0a0c5c934d18b15101498dc43755b5835f7ad9f42e086dedcface6d7b6ac70e88942c6a9644dc09e511b566b9d5de3cf2ba6aa66845258f79d2c96767eab113a7cfa341d1ece4cfd84920fe8c8b187ebae3cf432749267fca347aba19cf6075038d0fe3b3dea6dc28a33ed6f0d37de8468aa7cd934e3e3b53cfb871f2ad41d18b150416ab8dab5947e2011abb06276f6cbedadc2e434e3ca08544cd5929ad9a16515bccd4e9cefa1a3b1b571b571b572d87d6941531ebe85c5f2da5c5ea7b87955f4bde37b793b11f257ef88d37de78b4e37bc7f4a95c8c9f1c74cd8817a9bff5ad6f2536c443ad2f7de94bbffddbbffdee77bfbbe7c73ff88377b77abb1715f40ffdd00f7df39bdfe4d5bbdef52e4d34492bd3ba45279c40f214bff18d6f10f677ceb4d0ef79cf7b4e0134dd2cb4c21b978a82431161dcaf7ffdebf7bc77b19385fe761a9f4d4e62ba93f3e1e463f2844afe20bef6b5af5948e479ae97cd76f17c3322bee77cd9740e669f566ef4fc38fbecd045b3b658c173b1dab8da3558a2d87cd5eef07c6effb33ffbb32f7ce10b5ffce2173ffbd9cf7ee52b5ff9f297bfacf98ffff88f38fff44ffff4c10f7eb09cbcb97df74189653671f4f371b56b70b1dab3a8b4b9e7f652c1273ef1890f7ce003366551a17eb49c5d4347a8bf8b620dd27ab41e26e29d506eeecdadfda35bdf3cc1ed63c04760f6bcb6debaecc1889ec124101d3fc574d5f32a32191c62a7cc088ccd5326fb380ffde158fc53261fe2a30d7afadf2cd4041a37ddf1df28c964e7e4e7f658a07e8ec560a6c6028e72dab98ca5f7c44173a058ac16ab098f8dabd69ac5b26bf0b22e26db9c792694de39587df2939ffcf11fff7139cd6943544bc868840791a6f3a10f7de84cc5cd6873fbec05ed117dee8fe684c56ab1b2d8f7cc70c98db35810bad413278bd5ab8795fbedc73ffef1fdcead387faadcd0776ebd9fec90010bb4955f8ad48c6f01f4ae32b0c81088f6ee34f99a650ddb303e990a5dfb2e230a3e3a7e3214f1c960a2dbc2dba771c68e2e74c26af29d7ed00a3f5347670127797c74f268967b1f6b50343e82562322c8b03038e0287a13c30f13cc918953dd5cee95ee2a32e3187f16abc5ea8c818dab57780d5af8ae6d26a8fef77fff777f2112ad79c6c0ede42b3ff521259abeda1144aa542b1e78975dab37b7c3a7a810306881b4fb2010060798b4cfe22c56d68b380188224ed0f750bd15338bd5ac1db02c56e24179b5cfa2cd71eba710b8ad37b71dc2da50a548a048919ad19a97d3d829d3064326f91435f171a64e40ad50671071eaa2dd7c86ff8ceef8965724b3a9c6397d468f3fa7cf24a7e4612e25afabb9e48ce6cc22fea336b34f38afb29f3c3a9573be8d95f3a7fd64e253cc31c4a98b5eac40b4586d5cb5eec2e11db5063ffff9cffbd287d4eafee6668bf0c6d2df58a22de75ffaa55f7adffbde7753f9ea539ffad48ffdd88fc1a1ef77548302a1fed55ffd55e0cce758162d0df6b1de1456265bce2fcb3d9aeb16abdd0721f0686c4cfc882225993d332c5682e1d53e33d86df7cdedfda27fb2baa137b78e0ec2ddb31c84222d7abe05986e0ef3acab776e0318be4c415e4d377e7628e2933fdf738e8cdeec8f2e494cf5f047371fc6374d43249f87d1f1e3e43fb161e21b0b27fbf89ae73b55f4c818ab0cc80e3e49f2f973cae02b8bd562b571b56bb0fc100eb244f9ca2d0ee7a77ffaa77ffee77ffe277ff227dffffef7aba311168ebbaedc7253f90a26e6dbac9d4260a5f66d31a59bed6058d6552b961849c44d61657f7934aef0c364b182c09e192c0d65cf57d6c59e454582e4a0b62ea4cd72c85d7cbc5df0a1f46a63f5f65cf7dfc711b8a137b7f3ffdc8a78a787c1a345d2ed05d34652efc9c7d4854f176139b572227046189dfd6afcd145a7951d759c4bcd02b16ce655cda738f8f96c44fe4437eeb847267f22e2933975d1f1499e7468e028a9e49566635df833df8b9d71668c50ccabea7cc61c642ebd8306c9f1217086533397465e338e7ab15aac36aec480b5d062b9a031ebb738b9f4ce9a9a28f223496e6e7ea94e3def2aefd6dbfd8dee177ee1175c6e7b8b8bd3b8aff61afcd33ffdd39ff8899fb8bcb99df7b71ffef087413ae86dbe9a6c7f62529c04cec9bf0fabbb289a381c0ee2d58eab56e239f7a1cd7db10a8d6f9baf16ab59718b95989978b8a0f19dee83636756e5f734b7db50f6cd2dcc9f2937f4e6d6e54abc16cdbdc3848b80f62cb038d644b7f227e809e0cff3a1e8e419ec3922191c342d343efbeaf8e95224337ccd5903f1873376ac0df2ede24ce57336d108161a97cf9a2c8cffb48cab3731f2640868f64c0b9d6e7eaa471eade80d84c64d977d7cb432632566c47c68be4327cf20795af88d4b0b8dcfbe3a7ebac4c80c5f937038c41f0e9bd9d14b3e19a6f2399b6804b1c65dac16abe26da2a8d828668ab48dab175f83bd8af44ed2760bbd6e719a68467aaf7b6b6b50808543bb091ce6e60f2ee968d7e0aec1dd07ad026bc1ead83303104061df111568055df628912e5630698f462c56f2e75d946c791a811b7a73dbff730b0ae9a3ac51be98db8eaef804848e5e9c4b66898f39329619e6d80ceab15c3323e8f8234fb7d1ab87dfb863138133be2134cf71b383195f3d324323ceb93462b5aee675da49787c98199121afd03d71c039ed6b66f394397d4e98d858462b17fe60926f530f3f95f173b13a3fd9e8c56ae3caba683dfeafafc17ff9977ff1ff8ab500fd66925b9ca80378f4cffddccfbdf7bdef75c53dc76d159351d0ea544e1af3cc276754eb9ab9a438c2930726ab64b321ce5c342a498ecd5386eeac9d4b5eba8c4b3d3be43ff399cf78736bfa8a4b7e355354d0be733b7035d6e95b66cf715324a3a0d523333422f7ce59134bfe9d8c559f57739c7a306f5ef399229a72b80d0e239f05324a731f199c68c462556c0c208b55e1b171b56bf0cc21250ab131b9fd9d93afecb3fbe6d647f34cb9a137b722558c7a1e662f2c6a3d078a56cf3b4332e8f6d18043278f8ff3906613dfaa20193df6114a7c3519638d3c7a7cb0d38c6f544e3bf9961d3423e8b193933dd3ca7e7ea275a109478fcdc66d874b26df70d8c9fe6205997086c962256636ae760d3ecc57652d7badf5528d238774cb2df9b48eca3fc494573b5f75996fee7070a755878937b79387e1604d59591b570fe30a26ca62256c66af8f5eac044639e43e46f67cf5dfe7d2d68b38d9b328048a93ce2d0fe9971dabbb7d74cbd308dcd09bdbd75e7bcd21c39d0d1a16bfeb0a42c4e3d42cfa2d89b9c9d854f49efc51398da0954c2158bb67bcf56e33ba51321867e4472597ea8d491e910f39163f0fd5a76fc61df9e8512136745de34ff631c7264e66c9cc7031d37a38aedec56ab12a062e71b871058196cf2bb906fd5ab25791be73eb2da58fde4ce72f72e5db9ffdd99ff55fe320ca30b790affee22ffec2778cfb0f81a001163504d48a37b7a05026575f92f3ac975bc00a20a6d94683068bbaf582a82c5683cf6225240a128438698da03b99b40115368bd5620581d973271ec4cf99614e7e91f352c4956de5cd37dfdcffe7b68fecd1fa86dedcce731ac1ed598e5a014acf41a3c94c6493913185bee581df5944137daf7ab742e8a6a8ce3e017cbaea10c76701cd029ac08c15a18bbc5e4d854d1c040b6393050274b34926fbf986d9b8239fd8e9f3d83716ad4c916f8e59983a3bf7ee2c568bd57fc7e1c6d5ae413170e6abaf7ded6b38fdfd6d6f6e7b672b7bd4d47b6bf9cac4bbd39abb5c0a0a4da5e0d9dc0e1350c061f04128675ced3e0810bbf6620507a1d29944d8ecf9ea3cd741468189f58258ace4901b39b7fbacb73c83c00dbdb99defdc0a7d88c892dd39e585928294a1eba4c9b44eaa698d6e040ef972cd74319b4d75164e9ba9a8f5aaa75cfc61333bf8c9649fa951cc78bdc3cf9f74eb3ac546787cae776a023391935eacc03228459ff89cf462b558cdfa1518ca2bbc067de7d679c2bb4a79c9fbc9b9d07a7f6be23ff3333fd3776e2f20bcc2f9ca9b5bdfb9f51bd1771ffc7de9b68f84cfaffccaaf7ce31bdfd8dc0e0d31a09eedec1eaaebbe3cebc80a4aa0ed69e207f35c5cc3478cee584eb7a63a19c4e6abc56ae36ad68505759e612636760d82e81d92af6c22fbe67622f651e2bf37e047bb5f25e6ac585b9a229759b422b515eb7c663de363a24d3cbee761f868f23d3b2483838f8966015f2f3ab8588826837fda472bec93411023336335ae6636f3cd58d9c7279f0c823a7e447cf5e82294bbc1defea32fbdc64aa6dee6cbc37c982e042dbdc4d00a99c52a1c16ab8dab5d83f28330987cd59db65ad67297eb667bbeaba4f2bf98afa4a3fff88fffb024cb51dfb77ce548615cf392079ecaeda6cfbd997bb77d73e7aae2d28bfe9fe7762fccf930591a1d1a8df2bdcbed2cfffbbfffbb49190e6d5ce0a3dbb360326e0021fa19acc8a44e86e768f5c45536ffe75831abf08d712e7ddfb032629fbb4117ab62d227dee7eb13f171f82cf0fb7416ab3081cf622536140b0726d088d6b4a684503901f396b1ba0368cbd308dcd09b5bffcf6d47ae32880533bb260244b38a34ad224ba8ed30f96862bad4c9445c74352f854a63e18fcd566cfc316eaca1f32195f8d39bc14619f786c04ff79c63d3893f3e6441133f3a7f52c4c9e6698740fcf1ffa1cd730a84a964ffa16e839e35c97cc01c3f67ac4140ef49e7432af1a737830d81393211ea74cf392e566059ac26360a958d2b38f8a924e78959e03071cb523ffcce6ddfbcf59d5b2f75fd8a526bbfb8427bb7390136383fb506f10dfaa52f7dc9c5d2da64d99a759756dc155db47ef4477f94418565ccd34ee31a0bd3409aadf7c92d98331d5d2333c417bef0055f2a66c1dc5d59ef87bd1bd7b76a7ff2277ff2c77ffcc7cdfd9ccb273ff9c99ffaa99fca13beb5e9b016fde8776e39c0426ef0219fa98c590e40008c087780f024c6a69a635e8f038127ef7bdffb7898220b6c36a9a6831f3863fc79ac000e76f6c16e68c3910f014c430301144679fffbdfdf2c0667435c4a539b49e9cd1f0453e810883f342da363667f6a9c47b13aeda77bce71737bf00e9e1181099cc52a2804244299701a0273e36a56ebaec182e4fb9cafec44fbe6f66e7d3e5d7ef88d37de78baf77bd2e353b9d83d39e89a112f5277e62039c4432d3bf46ffee66f4adc8e05a2d03e6d87b655a371d07668b503443b370f59eb3882d31f9291b1a4f11547168a08324a76e293c1e94c131d1fc7b82cebe589b13af6a1fbde9a813298ae5918d7a945fa889f2e319b909a001f9c753a59b276e7cafd8f734acd88c6458c1d8ae48d682ef8a3cbf2cc9d2e7ab15aac36ae760d5ef2d5673ffbd92f7ef18b7e44eaab5ffdeabffeebbf7ee52b5f71ff1127a52c4b46162afd4a3e74f57ef9cb5ffee77ffee7845d14a9cb30ee842f92afbc24fcdbbffd5b7ff9ec0d4f89da7dd2702e728ca815cd322467881908930fffc3dc2e75fffd7d9124a54ab738a998cfccfed88ffd98da04e555b393d579453eacfeeddffecde8f267c73eeaf8a56b2a2e9fe133391993fd741fe676c29ffbdce7e00670a638d0e8e688e015e48ddede040105504667b3f5cbf2779adb4d41f9a77ffa271f9c4f9087c66d2c1f9ca1d987805a691f312e288835535eed3e089c3d33b46ce12030260ec564612f4ef0ad85c5ea7f98afc2d362cc8ee6aec15738ae7ccabff77bbff7810f7ca095a57eb4585cc31f3a42fd5d94f6b247eb6122de09e5862eb7bffbbbbfeba0e04824db3aa694056cc0e502cd0e2e3eef3e184d4c0922f97234f5f8c4a40fba64c86b5ef82c9f32991af9c612760de7144280f16ca6ab49de09c991d11068c2989a68baa6939de645523399e6d5a06af365814a3479d3c1c14f5757f619e7c3f017abc56ae36ad7e0e42bc75379c337695d755c72240db71d1c6947912dad1770e1746c9558945e6f129658bc5fad968b9ec95732982bf43ffcc33f18a8eb1c7544061b4b6d2c2392c15797335db430f5f250066ba0f21bc714e3623e93db3d0c75a376afe3b9c20e6b866096165d4d768ca889000b8259b40b3679c2c938b5cba8a3ab8b9117c9edb4b801043669791b6c9bc8dad824d3a00d07582ec9e16ef838a6dc9da1b9bf486e27d3dccd889300f779991a3bdc6607e041a117a771f135c9384dba15fbec80c637fcf6b268b829ace123cc8bf3e88c68ee3e08dbc54a6c9c38080ccdd6ecf037aeacb80b26ada9c5aa24d3d9550d90570f2b59622fb732c333e5862eb71ffde84705baddd7e65a16985c20507abe8e6319d8d7650d3b37fe2949d7ee6b774f66ecd0b57e3415ef609d30645e3bbd83426702d67a675b6af67930ab90e752a390342efb38f6fb7997cb08fbf7b6ef84f9c03e1f1c0834194470953c5a617c7c60c7498b4d024a96f9d67cb3632e6468d145f3135fb3b18ccbcf1c4e66b15aac36ae6e760d7a3b272349148abc246bc945b244f9530ed194312425054db85c5a975a292bca2468abe961be723bfdbbbffb3b774bef39bbb832357664b0d62075690a5fb3b10c2ad195b5a4355df9498057e86f9bdb59f08b502e879cf446b481ee2673ff5d5906b36338d6f4aaf9a0171f21d9ba1597aec970c634f321acfc9df6e4db67723b235e92b3e97a99b5b082733e60b6cbf0413156b33622da65580d5832f874f9f06d733be39ffad4a7b8678137f7b06d1646311735b7fb04c3441d3f647c5e867343f687ca002139f2aced3e082518821a4a7db213ff8bd59eaf2ca57269abe9dbe62beb9a4c6b7fe34a862959b5caaa5fd573fb273ef1897d732be69f2a37f49ddb7e2dd9b6ddd9c846222f9c74183913e09f787586b0433fd4cd08615aa964b35d2a79b42e7c328ca0f14f9afd38e34f32f936f4d839f97a1bfaa17d5d4a7c75cd74733bc5e6857e28f970be8ca49bb5b4a2c73e81c5eac479b13ae304321b5742e2255d83ae9d2e3fdecb3943389d777a309d395d0d5dceb9c8e8a5e8c2665776f339f3a12e8596b7b546714722568ec2648722011c63357af5bdde5bdf68cd9fe4d14e8a3ffdd33fed869ccc19877144e3255ffde33ffea3c3a210753f3428b1c6453417c6f3817d747c32b9eaeeea5aee8cae2b4cc6db7cf36bc9baca0f745b0b7c400fdfdf03fb7b6c08e44373cf7ed6082bf17352f39c7b3ee727182180ce5b928fae412aaed30ed6bdaad51ccb7783bdfd74209be758e19070e312d604fe2ffdd22fe9bdcc9185f3731f3aaff2f382cffdf88f63a58b7d3545b5395eeca71bff4400ff255d83e1a95eacc4c9ac9dcbe7be7125dac30714bb0667bd8749a9a0a451de78b9b0b27bee776ecbed4fd537f46bc93d900e085bb8052fb2adf99e93e10b6e055f3dcd6430e5d0916fa7a4eb1894240eba05139f3c3bea64665c043b0c1ab7bc9c85a9112c9041e45bfe50c97efc91615f1779bdd94cbe71e39b3ba6428bba920f64e2d025139fd862b5586d5ced1a2cff942bce7cd5dda65ad2981bd7c9a735b723fc916147979bcfa3f9cafdcacd96cdf21b2db4e2d6448b6e1c96add0f88ca347529324791ca3782de6a248409127d5b4ee5b77bff16b14ccc9ed7ff3377f23ecdd0695e6ce9ab1d0cd854d34cff1f3ffceb9fb82e35faf7c0d5defc9af17c7bb05e322b29f3f676ef71d630ebb1efbeb002798e662f46c66275d038503a632085cb03223b765233265b8a772bbef177b55ee664b9235c2ea684478629a7534a6d1a3f3270e3aacbcd1f595dddd07c5184ce0063db48f03aa3e081cb45a33fe62b5580906a504f56df3d5c6d58d63751f2c5b3d8ec06dbdb9ed44d50eddaab09db4eb4c2dad604a2bf22c99114e5e8d8f89685b221f270bf8759d32194952efd8449c039d346b237f6ff2ae4a1ed188e4f31f87f0c9cff961ea52c6e0692799ec24907b679dee62b5586d5c9d6b27faa6d6a02b902c2a0cba4175a14277fb9afbd57dbe79eb468ac64f5e5a23e9dae61255ba0bc3e2ca1dcc8b53ef5a6bba2c8d7d62d9c144642781463f6b02ba92c1477875e9ba68fdfab02e6996b0a2cbadcf65cccb52a3773dbbd84f52179be8641a3749cc9a117c3efd8ff6e6964c993683d5e1e057a3fce01657dd81f35f2fe3eac1303bc34cfd74e021564c79d90e735de8b3a65e5af307c9266efa33a324670ade242b98c662c1f45d8667be3950539d5764bca26781164ee3cedc6bc63f3f9493a638f2d91c79048719217f536bf0c4e7a417abf2c6c695480042eb6568446be78c93c56af001ced0ef7cacfcadf5beb92dc29faa6fe8cd6dcbd84e3981ebb997bd0167ea3282e7a9b224be82c644a8c9973d59e8f96bb03a15b190fd9ec592c7195df43c2f27a64991cc7882c661bfb1eab5616b2a747110c9e0a73bcfed4e3ee3f8c9f3369b35a3d91919fc0a0e9bcd1a870cdf4e0fe9263375fe98e362b558090665e3aab53938c0e4155b83be8ae9d7a4dc945c41d5fd9f373286bb8d55e056a394cd10f82e69be7b49322d3595de495eb092497ca1d7eb3e37288ad4d9bc3377ffce168da9e8e503231cf8b99ffbb9fe00988c7b1499b970a2815fedfda7af80fa50a83f95af9c15bc31e62d83e5cffbd1eeb2343bd9c737470eb825362313d124333740c2142f9ec461041f4dfed1dc2ecfbbd942c00d330b54d2356e735187c0cffffccf43408106157cc24ab3a635050702beecea2e8aa9f9305f19970caf1a851d92e66b5e5936d02ffee22f36710eb8b22a1ffad087709a3bf90b567d22de421bdaa07a7d04bb0ff6b9c0011a7d1662b24f0407bd5841030e01a55eacac1d65624384589b7616e02c56ad2350c0e7d6cea2b346967888c00dbdb97dedb5d71c5c8240a628354813d60666ab0261836fa7c169efc14c2c952c0c13319299553382cf0ec508b53276b23c6ea432f224d1eae19f74ba63e13256ba14114abe9963ce5f0c26a0c62730f5f0a70b91f375657fb10a87b05dac26680b920164e3aab5f36aac41971617a15ec799977b9153856ba18fdb45480c74c38c7605927571ca57dd9748761f43285444883f0956fbce2a0ee1ae4ca7417cd6dc275dbd481ab1b8e28c6b9b3f3ff64a990c9574bbe9e1686276216f2c1f44fe3496f4e8cf894dc49d996398a72eba7b9ad7bf4697f4e2b0409241846bb9eb716e8ffc650af8e45d0823385ffec48cf6655df740d7489c46643c3a1506dd6975699a2c048c686aa643d16f50715e2f154cf53810029e2cf4313dcc577ff9977fc9943fc64e92aea1f3a1417d888d355b09998acfd4d0fc21c9b1d1e243fe9b72fed4a4c5547610987d8ef883097ec65319fe4546ef58d87d70b1dab89accd69a6ae15835ad948856d662f55263e509e3c73ef6b18f7ce4233e59695f7d29b2318eae88e86492573f2cb2774c4445f36df2ee5fc183a38e3eeb611660ffe7f50dbdb9b507b7655af0705747e0d7b43ba26dba89795e281412737a6befd4851f9356ba085a59ab269f2e3e9a80427768bdec8c4dbd63810cfa5ee32dfbf983432b49ba087c16b269dcc652e35bb77ceb10432b3fe38f7cf3c58c9fe7d1e4118698494564079d6e63115bac16ab8d2bebe216d6a08b8ae42015b852bad2b816961c2c81ee30ddc434dbf9489221091cfba257796857c1132b8a64dceba82863c7c65ccec1fce0073fc8a6a682dfe88ca08de805e62852cfc2d4e55bcdd2da255fb1e0ef811d17dc93ef34ef6f86d546a482f68a5231103fd546e7467331ae5bf1c86b02a45c1d1459c8f911a39e71b502102b68de1b539cbc4d8505a0b9db7315866ef2081c63f144af84ec3d36ff99224f57cd8842b241cdba7d813cb13e35b542b123cbe892a14b4c9737c92ecf7968204cbdaca5cb7e9ceac6aa36471ece674d20997205bacf656ce2f8409945904123940b5661ab970f7a9bfee41ffc74f1771f5cac848120d9b86a5ddc2da7fb25b36b100e13159373ac17f44b81d5fd27b9d59308dcd09bdb7e2dd93e5aba0789ac178d10cd38f6c298e21b5dc49ffc01b28c493d023f7a6a1cea0d97cdd3f24937d6293fa3c4ac993f9d038c72fa9685d3662af1a7c6cc1f9c0b0ebaf21c0e4fc910206694c56ab12a1a678d3c15331b57b3fa5e55acbcb573f3993f8ae956e373ef4ed55f0e77dfc3542672ce7ce5b5ad2bd0bc399cfb988546d7bdcbefee0e93223b0fd7a0a1fd27ab5dc9828cfb0a0000400049444154d414892192a7ee02ec823a9fc89d37f7feb8d97eee739f73b5ee829705ea116474b9be6a4a7da5c149a1cd424dd717860913a3cb991c56636a36975ffdd55fcd1f4c46d40a4cfcff43648c926efcb180e89787f350efcce28c2b17511f470365e19c8b71bdbc0d8133ff1bf7cffeeccffa4de97c33dcccc2cb5e7f90dcf5d258044220fbc9bb667ffad39ff66e1c33dca6c601bb37de3c4fb73aff4f3a0e79c4e95e036146345f029a3cb9f0c7c3b196c1b4aa71365f85cf897ff0c69f7ab19ac859ac4445411226bb06e10010b07cfff395fcbc6f6e8bc6a7ea1b7a731b04f37c5713dd72edb626406bf6841b5dece2cb6b64f011959e0d5f6cb6d7b6f75377204093274697054cd6d0c9449729c89ccfa7c9e4ccf850b371b3993c453263b3b1d4c9a4a5a9e4cfd8c121a3c9669e2773277a5ff0fd3bf2118bd5623551519c6c5cc1e166d7a08b4df1e08e84e82e678dd49434648ce7f3952fc47a1559a24babb84277d373ef12639acfe72bbdbd7da59e3ca2a1f3c728eee106e255c395dbbff0852f70b2fb984303ddb4b243a6bf85f68e941d4ceac57c62e5761cdf2ef62e971d3265896ea79acdababe6c3dc4e4bb2edfa97cce0c082e1fcb5b65e7757baac352e3eba923f867617f59800931d46f0c3104713025d8fcfdcee8900cbc44eacc8b36f745d0d145680e203c90a3b38ba7ee1177e014a10703ff786b99adb0823b2439ecdb062900a3a3ca3fb5cc8f0593df28d3e9f57cdc64d26792a64c666638d9db43495b01a3b38ec68b2d9a796cc9de87d39b142a768d63a795ed3b8f93f7eb2f92856179b8d180e4ce5dbcc9d05ccc50a687058ac44c2c6d5aec1f2559964eba710f8ef87d34f497c77fc7668ba1167dd6108670ace49d7543f2c3e544cf549d8b36322ea3aebbafefccfff7cfe9f5b5eb561cc4e86d39e44111d7ff6aa98f1d5534638ced8d444abc7a62d2a7af811c9b063c4ea74a5309c8b1d2a63509732fe27cf8281a2131ecbf8e4c787213047fecee2db3288190ef1a80ce3c416abc56ac26908983c1a338bd54034c4cb8e95ffba467af197ab262203abdd64a211ae372e9c9230ce53f9cae5cad74dbde3b50bb862a9cb2dd9c1f9b55ffb3596bbb33d1f573cf1abbf5e4ece8d6efc6116ed6f9bddd6803f1912f34ffff44fbd75ecfba89a4ac28ca0fba5659c8739b9947b7e947e6ff9dec05dc57f5acd285366f1ebbffeeb19e7009974fd4cb46fed7a3f5c17fef86f50007a77ea6acde0e4dba7723b0160428911f4d8c91fb537c021802eb7bb7cfee11ffe616f6ec33c37d2c531163f5d53c72cdd297d588d4565f60b02334706cddda77362854e80247a66c454ba7dd6a79de88c342e0ef9ec248f6fa068fcd3323ef9d4eb1ae3238fa3248338c51e9599e9273923de9bb9f32da27a846b12cea6265a3d535bac162bf1506c8b8a8dabd6c8aec11285b4fcf18f7f7cbf732b2a9e2a37f4e6d6b3550b43c6141c9e8fb6cfe1a0d500c28f490627797cf9c5b3a2ba34f13382ee1992a6c20e8e123d63511cfb64dabd7086669fcd53974a119cccbdf9b7ece3e70ff99189a645fef4f39499dd9a0c8374f3e19489d6bb58814259acc4c9c695b5b36bb05c64515cf2959b927b8ba24b6dd37593e932832378be6dbe92455d2ccb66a71dea4ae0bbd9be48bef23151a9362e6b6a1c444c574476cedcee47924d0193181fc673f3cd197f2cddbd3acbf884596b698c62f8b8a0eaa2d82db1cb1e4525cbba9a69f284157f17cd8e2ef2f8841bbadae5168c0d776fe96e0f429c76e2d375533590fab430b4aec6322875f22c1b14fe7d520dad1741187ac458d3fbf9cf7fdedf1ebb84d7cb878c906c1f340a31587996a144b310a1be604511271cd0249b179ae57c3be788199f003e79e346abc9471b285d4de519ac5863271f48ce58d17ae9ea4d6c6c26af4ecc70083238c96be65b5d9af81941ef9961b1dab8b210146baa75d19ac2d93528364e1c9e39b7df21b8e569046ef1cdadf523625a45133a9a16983d297e34dc46cc22b4578dbca65ef26a7404e12cab4ff93172f9204ef9c63aed8fcdb4b2fcd0b11ce0dbf88fc04cfd343b6e44e8ca4f92799270fcd3b751d4a568ce589a0f5d3ae74e60b10ae1c5aa183e6b9868aa958daba098e58678e763e5ced3dffaba23f910bb4721dceed0dec7fa6b55579d9994aef2c3e410ef5abdf89d30a0d5cd30535e75ba7c9643c8209ecf570e4c5e9fba10662497a8708f4103f9a3d95ccd25cefbaeac97bd23ef52472b19df25f607b7b2ebf959e4ffe5c3a2a2d0351df7e16671ce25fbbe736b3afc219c0388bffeebbfd6cbb713c3e419f4da36ffc9bf486e773cf2ab577ca0dbac33159ebe01eb35353b33230eb8f19a6357e2c10a3f1a91aea6bb2b45ae2a8680b38b313e993e1ac458eef39a7d135fef7cd0e8ca298f53b3aed3661cea041e6e3a7afb5c26ae5e04abb1d94033344257639d75ccb4c68d841fba943f335f4d8a8b151016ab226dea8d2bcb64d7e0e40744b11151789467a225e47d730b8a67ca0dbdb92d327a2e12228e41087c659ecb9e60596c23638746b73f91f7fcd52e8520dfb3d8147124eef8a3dbf64657d1c5876892e30f4ef6d335dc7882dfca27df588d92fdc4d0f943920c2683eab19fd8c53732063a651a2b1f2e7c16f01532a77b59ceff6416abc56ae34a0cdcc21a2c0b35d35241373a37ab32524943e649321974bdf8be08aa26dfaa49a0daadccc578720be2dbc695eb16e35dc6d495714fd3158ef1b1d9b764f1730041bd3b6162fccf19c4257fe25c723b6b2cf3797607ba2c675fad79264f63b1e9bacb4e6e93a19b24619eb0a66eac17c9ed849932284fc679a6d884a7db29042eb9dd7765f109288315954afea375b9cabad6aaf9ecb9865fa2facc673ee38daeebb13f2f9fe110df162b3e30a8901c7f3439afced405abdd0717ab8d2b8ba23562495a2672c2649bce872ddb5d83107885b1ea53defa29046ee8cdedebafbf6ed797056c9c22be43095c343123da4ae7bc32fcb4aa49a66ee5909c1a7f14d10af9e94d525e1e3e7aec606a267ff24f9a4cf6d91c1ac17ff5a3ba9809ccbc126edcba46061114c964133dc217f9b179e15feca47ec181ca62356887184c16abe2ed0c8fa7e273b17a8760e5e7a0dce8bcf9742f2a92dda0d03e4444bf84e47ad67ac7e4b69aa49c20bf398dfdfddfff3d751cf95957b7b2d459f01d517f4b3ce9e2a978c826e3ccfa1ab02f8866ea62939d5ffee55f76341c3bbeefeae56def39a9b090ffd5de3cbbc899ce384046c97fccc96ce612dfef3bb8fea1b310931be1633ae94e6e77af7339f41fd8921cdcd00a288871184a231f6ee3ffe4e180d524e9b797fbbf91326274a6aa2932d8238316d1fd503fe011034f882999e2ffa80fa1373b388395dbb2cfa839fa287db1192723c49ec1aab9cc5a26ccf90b3e0f65fa2cf0c947e7cc8cf5e258cdc73a7822785ecd6036714eac12d0151ff16dedcc1c49f2bcfa54442bcdfd943197e19ff3c25cac06c9105bac36aeceb57959cbafd21a9460f7d792ef32e6d3e586dedc3a1fc0e10c7d348e8847b4533af4c80e89911f01bb7ebb0e61854c5d3d6f46cbaaf32c8d00ddd615fec8308baf37f9fcc14c77f8d9e70f7e326570f611748d8ea658f36293d6a99b9fcd0b9f57e4c9e06b8e0fac354784129f0c794d8482c8498ae86cd64b7e0416ab8102b1586d5c150faff01a944fbab99597d0ddeb105d6be35b0ba0902b26d7a1dd8834e59964dc9da494b1c0b2378adf51be62caa0d9311c82b5b189a3f7cc57de375221a34be179baad5c67887cd3c50857e9e268f2ead1dcee2f99ddf4082b6399cdb45c9559a6cb0e01f46045261a9f3f9a61c2e1e4d5a76e2e91e944cb3e9b64a8632a880a2d3847e71b5df238080541d17dd804d1e18fc8077592d97988556f9e5de9fdc1331ffc95b51fa0e6c0b7c5aa7931aea0a94c6c209ad7c818bdbd0fc1e7dd07172bb1f1e81a9c98d9b8da35285d58298a8c51ae9b9829e7c424f03262759f3bb77a04811b7a73dbaf258741bbe649e3d414e8edfa9a68116f01e05821a73c3a7e0b4373644ef953e65c5dd1d96ce8d37ee3b2397e8e1d8af1f3b31a27954ca1c79f14354ffbc92733c2319bc58c8bf9906e949147442f568bd584d310c5c6c6151c5ec935e807999c09dcd94c70ee663eeedeeff981a5be96291e30ab275d582fdefa7a73eb456beffd5224e006a5f67d5daf3469299a59885063e240f5b2eefee88ffec8fb4306f3474d587149c3f4add77b7b6fe576bf2d6c2c4e1278e8bf2fdc1ac215b7cfee4572fb673ffb59d7515a195437979abff22bbfe2ba8e1e9f35fd7d2f879b231ff2b3da75118664c8d31a1cf8f34c6effcbbffc4b06c92ba6acce1a4fd8f725ded947ce988cf6691a2ef97b0377ba41dd6714f32156f1938100955e53e3cffe856eef6b22d18ddb044f7fc85cfc1c3bc3cfb16ac653f98eb0a2f5827175fa866e9406ede31e07ce38c12499eef88fa9d03af9276d220416ab7058ac0aec8dabd68878684dddec1a94c9f73bb7c2e09972436f6e5b159e0d4b10e85915d089832893f65c6756d1ec403d0b1f3b369e688412ca3d7bbec824303b9cd3c3d06991e7439ef0a19d3219fcc62dbb8d0f6c9e7e66938c82d68b6001ddbcd08d752f722733f34263f2e162d3588b55782e56e1b07105815d8367be728de9fad46dc74ae92ed78d085cd2cec3dc22e7c848e5227822c8b310b6d11433f29dae41376d5e95ee4e7ff2646a44bd7367cb73b511876e0a84f986369793c651cad5f8e665746f32d115768c82569b8e7b323af9c9ed38e788e846a14ba5bfcac654d8371c8205748a6844743246c9073eb3d08cc62649fc4773bb2e7f49ee8fb1fd9df6298fff1025cc2cabd177fedd5fc9d0f067ff8b5ffc223706b77ba8fe1fac06372a8a116921d44c85db052b7c76d84c1ebdfbe062250c2696ca2d45ef5d546d5c1db96bd720048a8da028422647690efd0ec72acfb77e0a81db7a736bc7b55fb63bda3ed1a25c4e9cbda1cd3599e98d29d0277b4233faac33a82b9b17cbc36facd3268e5ec3a94f5a734af2c9608e18bee60c7de1732f0b3933344257c2e8e61ba14e586f7c135fac16abc2a378dbb882c665adddec1af49d552ffafc2d2e4ca6b8edc81eae436e4afe5a550ed185f3305fb9b97dee739f9b2fa96681ba8b2e9a592f7535bfa37ce5bda5ffb555b667c4d5aebb772eb9f57de8431ff2d995e5d47e5ad969c65d8e40a3774baff6921313cd79c468e54fcce19733ffeaaffeca88aeb88dae37077882feb55ffbb549269a8a5f36f673cd7d495833312af9c3316f8fa9a435183ebf063ff9c94f3248989d31c8389b023504187c26b7f39fba4f0738be8e9b2e0ead90c151a2cfba4175190bdfa7e0fd2d37f0ef35fe9ffd059efc696f9d09123be9b4467716da29c68ee6748d7afce7b14a987ab38b50f759eb8dff0c568d9b645aea99573e30c88de98d1e874f7e76c82bf1c7f2d8c4d11ba4277daff4564577ec638d18bee6745df88bd562b57165510482607867ae41597ddfdcfa749e2937f7e656a4daa56cd8c5ae54eeb92f5a342b90d28bc0c1b701a0c960ea2acae9ce06d033635d389e1712c8083e8e263b31b3d3583854e6f922997431e3a7a21e027f7cc024af89e0615d77a26f7f871681c94f8471d5e88868bd4ae3aa75b1a624c36616d4988bd56225de8050546c5cc141d9357897447ee007fc1a932c61af75995122f02513b5aee7b172ff1151244ff5b14317ad5779c17cc51f5729975896a977bbeb82c7a5bacedcae4b31cadcd01a8e2e02ff3bcded54bcaecc9ae1cc6ea680d6559a653fc2bca0d45824c9e023f031c92b845f7c0dd2352e9bcd9d35a539b2e9b6c92c83048cd528e6d8de9470e3b2e3e18289f8012a977c776ccf20ec0ef88f62450bbff91aae517c10dedf1aa5f9b23f63e19031afd92bd131e3a7a21e023fac62ee1a0488126eb00d9608fcc50a20626fe32a1cd42df05d83f7ebe6e53eb73785ad9f42e0b6dedcda77edcd327ebbe9c47784951fbf1b63bbbe5c907c04c98732987a93cf480647f7144832b18b00b1c6425cec9cc6b3902e57a78b16df2e7c4d7c3233bb997bba0924833e2517abc54ad86c5c41a0a58198956ba5605ab037be067de7d67d12082e36f0515c6c5cab106e416e44beceaaf9145600fce33ffee3f9bf67bb1491ef0645ebc31ffeb0b3296b2f98af58f0ffd3f8bf6da88c4b731fb3a2bd48ec82974bbef4ebdda91795c9932ca33605df5cf5334bba944b4e9e5ccd4e2a11f3d65433079a544ddff8051737b28969200efb6e2de1a053674a97cb210cdd6fa9609ef1a6c9c899b1cb575ea4fb1a33041a970c3b59363b1754afd335f3bf054e665c6a9a6a80675f6d2cbaeebaa0a3a8570d3aee655fad340a22c0ef79774c7fe7dcb79a9b177e4463a17326be7a9a09646774476bd7e06255dc4e6c6c5c0d1497b5336b6a0416ab81e2a5c34a82dd37b7ed0b4fd5b7f5e6561eec9c048e766e1cf12db2e75d6b321201be423e192aeec66acc643ad0a4db2e3b3298e9e228d19868968d15f3aeefbee862c158bc22ac182b428d1f6ddc74dfd6bbfb575796d3651f33ff11335fbac4ceb924a31e1974f6931cfe62b5584160e3ca5adb35280cce7ce5b6e3f662af5557e4ae08b7b57e9b97ca944bbed224a6a642a61c8bc06453568ca37ec135e86a3737553619e16dd6d4710ca7c86f3e4d972e53206650bd648cd5cd16d3bdf73bcaed5ffef2973335f3d5648d4d76d837163a07f201938071f9395a11ba5c6b59f88e72bb1cde87c2beb13285cebeb1e0f35de47640f511f84cf9e367ae7efdd77fdde5bf5b2b27d9679ccf460c04b5261fcc02b3f9e60653bb0f02042c7d4660099ff9bc7c468b1504c4c977b40637ae36aecaed270e68d91e5f2c5962af405c9528b67e0a811b7a73fbda6bafd97abbdd952bd542bc9b5b74309141580c36e08b3c6692c31f6433357632921d4cc4652ce38e7dbd4fd1e9662799d3267a0afbd1f9169d7a8b1c9dff750d53331a918c81d033c7b42efe67a4691218ff6794d11a3ba9a817abc12494162b512172ce18c6d9b8bac4c93b700dface6dffcf6db71a39b665aee9e3eb6f5925071f6efca9e7b3f63fe5ba052590fa9842b84479ab5930a81363393b9a05896658f94f6e5da55cba4e9bddb5c8f8ed65bfc04c60f29511fdcfb4bea16a2c34c9eec033116f1ddd15a56b63e5b3811addd0f9339f8bf7d87e2dd98b682ad921496ce87e4038ffd325e045ab71bb25e646f6abf9e63a1a26cd317eea636a9cf9cc673e6382403bc1a4a2199e5eded24dbe7afcc79fcfa5691218ac1e6a9131535fca15037915ec218963e26a5f813668fe5cc6da7d70307f26ae9259ac16ab47d7e0acfdd6604b6cb17a85b1f22733fbffdc16ed4fd537f4e6769e618bf879b6673b390f5e64ec1f3285e2190f5a9a20405e8d996e9bd06907be74714a2be87b1b7727308a989ae7582cb3af37fb64d064103d738a8fc64c3d3e31255d842ebe25c0be71d5a39b802679bedd69deab54e334290238d98c66e74ef4fe28b958c164b1dab8b212770d5a0b9286223994affa9b64571a4d79c3f509ad46cf8deef97c458cd9720e5d05dd45c828de9ddac85f700dd2f53fac8a550e30cba5b1a3cb2ad685e0cfe4761733c26e68248dd2652cdae8ba089b2f5dbdb4f8c6aca2171f13cd6c325ffdea57bb3ceb35d0bde09d243b68baaea95408338b93fa3849321c52d7cb887ba3bf07c67f9135480c62e4193728f5b1196d22ba3011e576ff2dad5fb4f23b58fe5724f4dffccddff8452ebff2f5e94f7ffa5ffee55f4eac1edd07fbcb64001a2eb74dc758ecab3115bde80b5684771f7cc1b85aac04f662256f3cba06672db7b417ab72ecab8d959cb0e519046ee8cdedfc3fb73654b9401698da4ae8dca02e3b482227a7ac0a474c35f9301d794d32d335ba59ce66028d3b2372265d7c83a2c7e6e9c3c8d79b29c2958bcf98cd11d17011637f9a97b1f095190bbd5801a18f66b19a78089389e78dab0051cf9abd1dacfa7f6ebb4db919bac39cb5af77fabddff3f2f6102b2aae52bd9e75114a18515a63cdbb53c116b667ae634a39f395bf0a76bdf4aa93914c9dfe30f5c10f7eb0afbca6557af4aed5ab4e0b9c35f2f756ef5e39b2104dab0bb626b1197172426bc13dd9cdd07cf1d98999273317ffcfadae8993ac19eb2ffee22fbca39ee937ae3a1fbcf97467362ecef3b9dd8b743fe0e47bc2e3bfa1d119e48c9f6beed78f27b7f3d9ec9413abc6a548dedf21375333ca074d06a3119ac6d524dfc7178c9ad9f422ddec4a14c112f254428033ece8c24fac11312f58255f6fa6c8540279e4319fc78a40c35dc6cadaf83676f2b97a7a2fbaf147862e01357e66475e33ffebc27f6873b18264b82d56450e1c266036ae66d51427b3f65f79ace4d5fdce6d99e1a9fa86dedcb67378a615169681e73a650a5b207af6d779561d9fa49583a68b50ac1cf4299f1d5d8cb7de106caa636624badca48b056395b535c73734be5ac98768967b165533fbac313ef264f4b2d958f80d47667cc6499ecce88e6ff9af1e7fc8186bb15aac36ae760d3e9aaf265794254a50ee36de3a76cfc1792a5f117373f3728f0c3bc94b4788c6f2fef0dffeeddff43e9faf5ceafc85b30f889814e796950574765c7afbbe284e79d58a26ecaf88dd785de794ee63c9b3c01fb59b5b132c37ce5ce8a233c2a62bba59b080c942ba686540404fae9edc4e856fbe2d9c4132aca585c38e1bfb5cbf594eec616e87d2e73fff798a8ab9a41bade6c3cffccccfb076c9edfc67d334834ecd316f98cd05d3b8275668165856b283c3b8a6cf97bc510c8d1392087341134087557473c464c15cc25c937d75e52156f8c6351653c93c15577a9fc14a2f07b2cf1fd686aecb28049a63039131169bf861d2dc71e8a287df34711ec52af9ec04456319a5b92c56703bb15daca051cc8b8d8dabe2214cce3841dfce1a2c296dfd140237f4e6f6f5d75fb7efb68b5803b61f345cdac002088dc06f77b184344f3a79eab3ba70863e6d6627834337a2a6d222a4cb3e459cc6bd18897fa7f0b6aba73fe8464f177d4aced4665e67ef39ee4812c87e6ee4e4e9d24c616c5efc61e17463b102c862b5713531000a4573d6bb263ace7de7cbb406bdf69457bdb955e77cb73b348ee5efea282194139eca576e65de007b79986ea62e76bcfacbc8a358f96b64375b83ba25ce0d939d31e2c6e5bfb461a1643bfe5041fb8b5c92e4d1ddd012189abaff0ec774e6738ca0ce1fef42dd2add03bda2a43876ba6192613cda8f3f03e1d4d5ab8400fb6883aac9377abac0f103c833f78996f1c705f81ffee11f287acd7b8e3b20b0e31bbf467773c88ee1a0e1d0cc7f6e13a0ae505137ae37ea90d73cf3bca671a9d38af0e6994d2a3824333576fa356c9fcbf8cf4265ecd0eaa321138d20d3041135e32483369c9a7c9ec48f39922c9ca61eda997147329b6a5de473327acc22a2d58d8b187f864ee6c4aaae8736f11b0b31f4788b938a2116abc1e70ea9b7715bac5a05adebd0103383cf3d546fc5d862f5526325c3bff9e69b1ff9c847ccc2d6a0be9452715b6a5d2316a17e58ec38311115cdb7c9bb7f85108e3afaac875998fd9fd737f4e6769ecb5af9686bdb0e61e5f76c15a1d9f342b46d8c0c8ee2438ac657c8e845c48fce661f2795eca48b361679b563448ac9d0a5a22683c014856884c2e6f069d1c541901fdfd0f8d9a78ba6c8546391cfa5b1a39927c41a37ddf8ba1476d8c7c9073419b4ae7c4368a21ffa436bb15aacc4c6c6d58dac41d16ea355e48d2e33684499449271ebfbd4a73ee55b9d5ec07a058a7695aa77f2951ba99869d79443c64eb47ddabda817b37e75892ebeba62383f22651462ecb86122f2819d0875bfa2e4cded993f275f7975ac8bbce9347ab90e5d4ece0157d0f21e31bac5b94bb5d1dd2d1ba21113186b98ce01acb183f930b7bb4392d1c52622da04cd85165def7521c00108b41770201f0800f672b3c54c970c5ae11e84fbe5a77c28b7fb1b66031130e8d47d9ac4fca5b7e70e08761ecdedb47c47977b9c0cab3bb7ee2fe7ace1287dd3b89cd0ba302299e6eb1341b71fc5a412fef9898e4fabb923cecf118d9f7dba135737b206172bf1b0716515c0416eb14ead97968cd8c069fda25b238bd52b80551ff1d64f2170436f6e7de7d6ee6b910b6b6bfb4424260e3edaee58ae2c53e0e3941d10298e9d535e572a239feec93fe974c7821c943c0e229ac1e87c1be76720bdc9342934626abdf1d9a45b335d74d34958f3949966ea9a955306cdc28c75f17fb15aac1ec69e280a968dab592f307979d7a0eb96db9d8b9359747f2b5174c3f4592370fcdd6f7c325ef3fa15e5a63fd943baf0a3c18493ef764745b33b52eae4d97415744f7356732355dc9d8493e2ea987ac2eaecb810fab2ab0468f41971f06790e43ffff33f131e1576349b5136b9a1576d6823ea359cd11d25cd884ba690abb4d21d0b2543fcbe73cb0e0e4f100acff9c0946be4694457838e037add4ea1cd3237345de63d2c20c607d7d41ca068acd4d3e5b0d7a77a9bb5e1662b21e6f53b6b6c06c565eef96082feaad994c91b574dde951e6e04e69bc6a7abe1e0c52fc75234650ea43eb44171aa633644ce445fb01ae7c708b16480198dc0a9c689cfe6ee838b15041451b771d57adc3538384c6c202ee96564fecff395dcbbbf96dc27f5547d436f6ead5e91ea202240cb686aa5ddaee75b9a90f2dc77c29a7c3b310e3a23c4d0c924df0eaa57d3de89a0950c4efcd603da5831493e3596aee459ce372a38e87cd6cc1f8419e1378a2681e638dbb9ae76747c024a4d7cc2f983c044d38acffe62b5586d5ced1ab40aca210ff3957ba32ea59b8cbbcd79bf422b766262d2975b99e2228449e52e13bd9daf34dd784956eaa592cc08cb485d6b5daadd06f1ddb8bcb0757973cd23cf3295bb51efc725e05ac5b2cc8678e87ff6e53a7618a4553e44e45b33e2559226826374ef2a254cfef833600e74394c8bb07165d43c296f77dbc4a18543e01257dcf357cd5d02f9d088cd6846a745a62607384c1e9e9cc7cf433208329c197f08b0c9db1cbbe476ba7a75911f0c4ffff15da1bd75f792f64ffee44ffc6f43ea3ff8833fd0a4e533050bf9132b7c3e181113cda5eae68e0e6704409efa5c9ec28aaee132b8fb609ffb62251e948dab591a420220569c357226875d83d0907364e09717ab3ed0ad9f42e0b6dedc3a0758d5a2191cc25a6de55bff43e3d42c230c6aa31261c36647efc9c7c4296b9c76c6fe08ebcd7e35fee8a23973e96d059e350bf99c7c35a6f228073f9f59e64f3449c4b847a671efacbc4d93413756ba43e32f5677482d566f7f076ce3aa78b8b535e886e3cf7add64dcdfdc82bae19c355834d5f5ba08b96dca273817acbcba74e6604722edb65c52ca72d93553741b113134fbe804f4d275e9f57fdb96e8be6dbe32b493b1b118195388b27dfee862d610d99f79cdb866c7c8a031bacddd9bdb14f1cfb90fed3ff269e8e4ab19571ee5e033f50c566edd21d0b5997c901a113df9dceb774f071ece3134482a1ce07c9e6b42d5f409e06ba211335f92987e2edb2b5f80cc46731997fcf8c32095ec732cfef4e20c4ad184f3ffe4632a8f72f0cb516cf2279a2462dc23d3887756dea6c9a01b2bdda1f1bf6d5c91692cc4986a5c9c1038ed8c3323ac37afaa4f5d34672ebd38f1a766219f875313ff510efe62f52832832d881432eac56ab1fa7eae41b97abf737bbffe9eac6ee8cdad834bbb2630ecb502d16ab48b6822a23ddf9a8c4f9e4c62e489a1a5b0f6e9fb9eb79e11eaa245f7e12ed558e90e8d20c9bed1d949374f74e52722da887c53e3e324cf074ccde16bea4a66e4110afbf98ca682363a42e173f6ef05ef7a11d959aca0b1584d3c141bc55bd1b2710507b0ec1af45ff574930188bcd10d2770f0bbf374ff99ac626f7e345f7909e93aa44b49453df7abd6234e05f80843186bae5871d42c18ce8f30b9dd79c9f922b95d482b2e816cb2c0bec27fe3b2df1c99c5894ee6a4fdfdadb7a0fe7298187ebae84cf19333d17275b977e28798d1bd05f507c6c406ab66149ee8f808256c29a299555fb0e24308e8628164fb4bd6cc0b076df7f1f299656238f82c8fcf8c28ba14f6953c4490a92be1e68b8f89030ac5678d6653cdf8d00823f267f7415000c1a77fe273d28bd59eafc483a53aeb48de40b77674c51727a268b1ba05ac7cd65b9e41e0e6dedcca05e0b0fedbdd2508fb2b4e1b49e7064c9cf8c4086b267feac64fb79d09ad8c0a9b63e4b449a6ae11b8d7bb53cc9f9cc9e639ee43adc63af91949f7b47fd23970da6f2e6430f56a9e743e2c56e1b0589db174d21b57a171836bd09fe9bad175d72a9ba1dd70bae7740bc2773bc2777ff3fd4f779ec9b7977c0540bf63d405296b68d88e7d047e4c44631188360ac228de0fbb251a88e48ca56bd2726bb9758daf893611fef49e73c6d5abe43f02bf49e1644dd395cf883cf7f34e6ee933eb1489e1f49ddb33f7ea2ddf1298d5c40d3f1f45be81aa1b2b1cc681d31974cd64188473c6e9be486e77d5347d46ce79d50c73fcbb31de7e4f1b71cf78ebe3480ceceef9be6dcb13e3069149ed3e1856c152f8e140261a7fb182064c069cc56a42224cc22788162b38c0070e676ed17cb5b1f2b876dfdcfae89f2937f4e676b68d499af30c4c97675d602a53a0edc79838e7f330345d7c757cf2e95a57c96721bac304237ab3a9b7927db5c344e3e28f4d1cf2f9d958d1c9a74b862e3ec5d3cea99be5ead63fc7c88fcfe832028e4272e6583e6ddcf8eac416abc54ae46c5c4160d76091e04ad3f74e11ee3fdd702c93b28d9b58d1522ffe25874c9ec91a61ff694df743d6a8cb4b32d2dcb87014628d85ee26d9b8721a67fccf3df8147d59b4d1d5e5e159bf388ad127efa1fd5db13ba1eb59eac69db108476741532f5d37e1bef8ca7f3f9da5d9dc09f0b012ad7e91dccea6ffb8884dc385092374f19be358c3377735c9eae602011674698eaed971ec99dcceac37e7fe963b45c2e7dcf5f609aaf1a3f344d34061c56d46d41e2b80c2f64446d97d1008ad0831008da2a8cf377ab18243eb71b182c08be42beb6eb1ba4daccc7acb5308dcd69bdb767d7bc9b9c70f34b3bbe86dbfb1fd740ed03544db0f198af89a59d38ccee039ca457d74c7266264a88fee43830d7a8ef5940f4da1b1d0cd252675fc5300670a7ebd539fbe258683c8bdec2c56e1b6586d5ccdb23da140dfc21a742972203359179bae61dd8eac8b694a2cde7012981c8278142b19db5dd1536a46a04a2c2388296e6eddb25cc9dc48fdbc9377b6dc30624393fceef2557f5dec479bb230433722e346511bce2b4aa3f3964c3f20eccf71698d0cc91c76e52edb4f90e09b3b4c1a453d5ddc3616a080a01e0cbbace60f9a41f6116a37730870c6d0f8eac6ad6ea0b36693d829135664109edd8c7d324d2722b17cc0d73405a39b3883f863071f8d594d1d71ce31072e32c4f2f3141e6646d4a79d68f2279f11cde045dfc21a6cb2661d80880b2603e985bf582d56e73a9d109a80c11926e2123f2376e16f5cfdaf6325d3eeaf25dfc5e2d3e587df78e38da77bbf273d97edd61827075d33e2456acf86131be2a1965fcbf88ddff80dbf7a62d511735668fb7718b27fdbf0104e0f4e51c9e825e3aca0e8f2ec7f76687c7f7e46d8aecfd4a96b47c75492a1a8b04fdeb8bc72ec43e75ecf6e0968b28f2f05188ee56ce2f3073e1d14861e3f939fdd9d2976c6874e5a0c6607c131d6e213c3199bf8ac11489dff8bd562d52169e36ad7a01cf2ffb377ef3dbb6d677ddfc3d1d8db470e36b039d840b063431212ce244855a88aa055abb6a152d557e07f2cf10a780548fec7afa0aa5468ab566d250828e5200e9621902809a740c0d8c63bc6606c6f038965f773dfdfb5ae3d3ceffb79bcd8de7bedb5d63386b6c6bec66ffcaedfb8e635c71c73cc399f673d0fb85ed91bf97954ff8690bbafdaa38eb5d482e6373f21fd4aaa474129551e64bdb2c6fa08e9818d7b0b144173926d2c539438c3effd92f5b5105eaff5ed735cdb3db53a0443387ca31314b3e5170eb4621bda17664b6563754fd1250cff8653ff8a3247b1413431b9505366ed756b18fbeada4ea12746231ac8d1c989859aa116921115594293617c04b9354a84e7b1b63b70a1fa3796e5d6b80a59b9359011c912ef70744908a653ccc521185d8dbcef834eae04ee3d83b93a735b4ef6fe6aefaf2c237b2f2a092e8d07b90f1e7265f97dcf7bded34f187553a07359d6aeb133d4cfa30898d7d57a40c6a350eed6975b67c5c22aefee37eef7eec4ebbb5ee0e1947467c2744757ebe5922fbbdbfcf44e330e02f7f41b0bc23770dca30d9ec804a977088c75accb7866dcd5e5e47f2ec530f1c0e658c6b17175958a0963f51d30d9a9e16566e74a3ef7bc6aceac1369cfabf53a624bc85db806dd95ad096ac7eba1c894e8596e961d78ab0763cad55c7177658da387287cb7793775b5a72975abd00b7e0d1ac2ee7c1d5a24f6e88ea549ae76144021b58c333aaef017646d770beb18db6194aef63d6566cded0b780dcabcc3f77cab36b43c4848e7b4477a63e9357a8779185a6cf040313f9c5c4dfecb5275314c3cc0cee921e0c89d59a74f93bdfa0e1873eace3866c70b1f7df624a7de69cebc9aa9d2585c76ae76ae4c833dafba16f635d85a61a5ddbf736b4adc52eed6efdc76e7e86e21296d44327c97d0cb76f178df5fca30b3bba2ba97b3f566334c3548eb6f5d89a86986e3b00d87d0a0791931a4a1696a2af93222f01dcdbe45e8a2b0c680a0e02b388d82c64e506f3a0c51f12d9e705e8c6cf859e6b451dbb9dab9322b9a0f7b5e7529ed6bb0e5e201d72bcf453d01aa3d9829d6aef362f3379e57143cc1fac7ab0ccdb040f9c339404f5c6cf58bb75ef527700d6a15551bd758bec8a91fe6daeed84d42f937a83f9b54308e1d2e2ab97d91d62bfa0695044fb61defd4706f19e4c189e87e37779c0cccf07d1f6cda77f7dfb93267aca572629ecc7ea639b3ee6d203b573b5732d07dc772d775c4b0b6049a24cd255d7724572561d73765e00e7db97dfbdbdfeec6dc2a291d0cb50bc31562615daf9cba5a64d973456577691df0911a9c2090087186666b34b5c61a244efcc61a3e5fc38de6e021e94cfc7a3b1cbdd9f103d9790d3fbc635f636323c7cf1ec1d517a1d818432bfef0c3b82bbfaee28177ec4476ae262793db9dab434ef6bcea9a9587f59adad7a07932499099e6c9ce959c740575c7911965e76abd978dbd73656eccbea27972b88e76ae5c3b32d3f2bb73356bcb3a4fcacfba87d9f36a5d5b3ef75c7965fcce77bef36d6f7b9b19e88768d4878200d195911d27befab278440a645434ef9ba7ff3b8f1075f65a0fc87814ca1dfa72dbbb40b3cad5b87e73603be5ed8ae66a746ee6dd21b077cf7c3175d930e1b375751675e1c01910384331163c8e5eef96662c0a90d4f035f11b0b677c29e80a470e0f49768e4bd71ac38ccb1767d6a0f8148c32b6de79ef457634e16c64257ce227ab778d815d9c331664e7aab4ec5cc9c39e572ed2f5ba5b6d33645f835d2ce6c9ac21cd19ebcfced5dc5ff6dabeef836eb52e0a79e89eebea2827e6866b4757b80b6ae76ae76ae686f9a0ecbd6879909675cf6c9e401457d0acb18f6cae3a845ddf94813bf4e5f6477ff4477bcd30d3bafb81ba2737137aba1870b5ae7033ded48768ae7684ea701743bea9a957fce0ab77f887b11a178880569c57ed9bf4e139aae9a8d76374381d0b3cbbb1b28153e818bdfa52076de76ae7aa0c3415f7bc5ad78af50261ef6bb049d2ba975d5ad83b5787757ee7aaeb65df07bb46baffee3d836c4cb9e91ad9b99a79b273d59e64eecbe606a47a9d3f9328c68a6703f3624c6e1319fec359affc12cafe722be7b7943bf4e5b62cf46dc47434cbd933d7eb358319ded984a3f96e100899ef4eab3d5708c7f076277c957c217cd3cce655d76872bf3a1666f1e06753189b975152662b135b38df06e23b6341e02ecebab2f942d89867a5d3dff064a4b373b573d5fcd9f3ca35b2af412bc35eaf2461afed92606d74d7b03274efd8f7c16e16732fd65ced9d2bd9686b71750dd9b9ea9a52bbd7ec5cc9c3de8b5a4394f6ea0c39d9e5f60cdca12fb77ee7d6bfeb682fe21e3c2f5dcc92f6a96a996ad284685a56dc87808c718936fc83a137fdf14d6dea760069b61568d0953f9c892159752e11061c9c3165864006167fb6e6dc5f476a1c0ffc3970827314c8851da239f1ef5c959c9dabe6ea9e575d6bf2b0afc175fd998991b1d7abbdb69b09731fb17e766fea46138ed014dab9dab93207d63d49f6cc999930ebfc397026877b5e7541ed5cadeb4fb3e530671e9179e55fefdbff5ab2cbf6967287bedc7a47685e76f57affc1b00e42bc13ea3e2a4df04956ef4834f5f6cd2a97de218d0e11050dce80dbc2921d9df4e174f2d5854033bee68c553c2d346c782b380e3ee55c261ec8e0bae81b4861738faf2e18604638e5e28157f4f26d2ceed96218c18e0519079e5a76a3ec5ced5ced79650ecc34d8d7a054ecf5ca22b9d77677079361df07e76eeb7eca9613ab84e931f7d3eeb33b57f6183b577b7fb5f7a2ad0c877dfb2c17dbb89a813bf4e5d6efdcb6c7ead1513a7a48d364ccb359a05eb8bb0bc3a5954bb4eed065939dd17da81aed76cd6e63711a48bd8eabd9d0f41bb418564ea3cce88c8239f0e7b8d25c7574a5dfd1211c7c216b57cd38ec7c190adaced5ce95b96132ec7975b88ef635e8d29093b9406671335b76aed635b9b574e7aa3ca867aa1ce6892e65cfabc90363e7ca7c9084bdbfb2379387d9dd75ed9821977bb69dabc73457fbcb6d4bdf2df51dfa72eb0a9708cfb72e7ba566a9b1fbec3be4ac0293b2d97970e9d95817105f9d8ef7ac6cbe6af6f80ec79abbfab2dbef861709244e9ac5c3c621ab371b076208f5bcf7757d0e1f131fa1638177f5728f036fdc56ba74e2ab1bab908cc54ba9a957a13f3aecc06abed490b9742c7020be3a9d9dab9dab3daff635d81a624dd8eb950cc8436bb2dafad09adc42bad77609293fdd9b76aeac9fdd91cd9ceeb37202996bcafcd9b9ea3adab96abf317bb0d6994093447edac585ef7925338f4bae3a89bbbe290377e8cbedfa3bb7d2e192eea9cf15aee9da2e472eef6c370cc870861fa8c60ccc56af2275b558848f3266e2861e1760e59226065d5c863f763a7a7172ac8e30e1dd93be3f6e82c0198b813cfa35d3444b274dcd8979dc0b037f1d77c0069a60781d44ea5af151c64c6762834cb9a4756885519c63a7c3b7e3d29b7b84096fc4e327089cb118c8134fcd34d1d2495373e76ae76aa650536bcf2b79d8d7e03a0d5a2ef67ad505523debade6ced52461ee3b3b5773cfedc2b99c303b5726c9617fb27335092939ea7593d6fe0d67f047735ebdec652ffbf11ffff1fd776e9da69bca1dfa72eb1d95c5aedbe4bcefb43eb26772fbae68724b9609ddfb9b6679be6c7c78201ac1c8bc46536f7c63853372397cd7d53b388e426d74d29f218cdb58686343d8a26250a3dfb1745c1daf21e06a253e63c63a8d7a8e334db6de891f7fe2d9b93aa7ea744e77ae9a277b5ecd35b5af416b8505476148cbac51a6cad8ad3f3b573b5732503137f67d70bde7ca867b6e0bac14ed3d83e49413d9282db33fd9b9ea062433b3f0ee5c494569699eb0dd71ac334f58ae5a3f777d5306eed097dbf99d5b17bfb96ea2335c069e060fb664f588d8c5308fbe16565d577ddbae21b4c470899c3e2fcde1306a561ba518a6ee6c85e3ac9a892478c0476d8e0b6d0e617a6794411a0ebef273dcb99ab320f3e5449676aef6bc320d2eafcdb9a6f635e81a291b2d2f3b57ad2465635695c31abe73556676ae5a5ef69ec14c68135242d6eb05a2d9bd78969a8cb55e67d49e577b5e35671ef779b57fe7d64cbebd7cc18ffdd88fddce78c17b3ffde94f1f3457845d33e341ea4f7dea53d1c6b8f4fad0873ef43ddff33d56c9679f7dd61f0442507fec631f7bf9cb5ffe1fffe37f140f5ff5177ee1177edee77d9e7993ed0f253320f868f07c91d9c808d6563ad15c36de15c195cffffccfe762c4f1cdc611034dbe74d8af7ce52bb96b2ac36707babd19ab38d98da57770fa691e622b6c43d01409234db1e9a2a356460747d358c583b673b573357360e6bc4962caed79b5af4119d8eb55f785bdb6effba0fbb5fb4537d916c9e6c6e1be8cb073b573b5f757cd0157cade8bb6a1ea99e201f7579e2fdefdee77bffef5af6770515f2d6bd7d819eae7519c355e57eb01198f42b9435f6ee7776ee57d5ee031346d4d3ce3f52ee7f2bdcecac977f8e3eb4d215b498711a737880db7da69f6d2b171f34d8788665e6b0d0c4f9c8d2fe089e72adeb833fa59e3b96f8fc5506f5dc5365205d0b8ea75ac9dab9dab3daf64605f83ad0f1693bd5eb526ecb57d5d1b67959096d5deb972e1ec3dc3ec2b5a46668f31b839c35676ae2461dd9bed5c594324e1aeed45f7efdc9ed783dbaabbf53bb7b332f63b2d564c57c5ba62fab9fceebeea7e461f878dcfb715767e8e9f637609c677810d9fedaa53f73b33f06c2376472f06be907cd938ec06d2ecba8d934ebec3c1cf2b97c181f4d5332e669c703a0a3b03b3df9fc499e3d5950e50d9b9dab9daf34a06ba2ee65adbd7a0c5415aca4cab847aaf5712b2d7765787eb45bdef83733f6dc5303dac216c974ff7dc9d2b39b127290f6333949dab99277b2fbaf7a22d265d1abbbe9a813bf4e5b6dfb97555581ae4c2e4704799fa80972cab49f7214c48cdbc228413c97d261c3c7238bb411b771d0bb2728a67066a94a91b48488771573e3bbe112730c8caa9a96e9524b8c63ff61a67475d7dc01b2e7d76b1cd706b4ef44e482b1e3959f6ced5e1fcee5ced79650eec6b70af572db67b6d77b3d8f7c1ee95ad0c73c36d864cad77e7aa75a3abc62aba73d5f4686e488b265bbdeec1f6bc7a94f7a27ebbe19def7ce7fed79267a1bb34eed097dbae64efff18666dd7b38b99ddeacfe80aaf4670fbf41eb13da55ecdbc2087ef9f7084158754e08c796fcdee9b0fdcb8e924be7eeb185c17bc908ab3981317525df1037bc709c79cb174e1144c31f0d5b4b4e5bbea8c2f239710763130e25713dcb9dab9daf34a062afb1a9487bd5e4982a5d2dab8d7f6ee23fb3ee836a1ccfd7def19f6feca2a614ab4afdbfbabb2a19e7da99cb89f4a516bc8ce953cf44a429676b9290377e8cbed3bdef10ebf09dddb3b578b8c64979a5658b62e783b1260bd5d54e12107dfc36c1b3eb24b514d2ad046279bb1e2ecabfac5a3977bbe6c9ac596789caef938118636e10db28a24ae562e63d8b99296356f9dc79d2b19d8f3aab9a1ded7a06b64f2d0dcd8ebd52d6bc5ced5be0fbadb9a0695a64a4897d2de339499f2b073759827ebdad28441d8b99a9b8e6ccc35f5e4e5cabf41b5ffce6d57c44df51dfa72ebdd8ff5b155606c6b41ef8724c8f694edda7025a8bb36f015cd7c19eb3799d21ac13b698e67fabdbf915b9326e5387c73a1066f25a2a9c071d4c5d6d5583c75c1f173873790265b1d7f3898e289af0b3e7c7803c5c9573cc580cc2886351e367e6371d9b92a6f3b577b5e9909fb1adceb9535d34c50f6da6e32b42cc88915b2a66b64df0765a049223f32b3f70ccd13a9d8fbabbdbf7269582bf65ef401f7edad24bbbe290377e8cbaddfb9f5f74b5a43cd1eabaa3b8d55756c5d9326bdcd300690dd5517617a6bea4a87014927fe30c71d62dc196b70069175ac7cd58d728801c8a5e132c6263eb2335c4875caab1d42e1c00f0fdcb99a6cccdce8541e32b9e79519b873d5acb8bca6d6d9b2da65ec923f99dcf36acfabbdb6effbe02c2c8cbd67e85e3c39b15aeefd55d7481b42f57a9799e67aa3612b93c33dafe65e3c3979d4e695bf1bf4ae77bd6bffce6d53f76a7d87feceed777ee777fadb62de95fa3baecd54ef95b3a5c65c6945f0b7e9fadbb338fdcd3abd0c0fc670eba63f27e5c79bfd6d2e7c1cf6e8f4b740c3fd75bb46f1f3038a9b10118502bebabf2bcba62f301c31f4f76c1babd8a8f12a063b9bf93bb740b446615402c549878b00bc2fc71173c7255a05220f6a201abe00e09af867cae9e7b777ae76ae3ec7796516c9a1497598574f3df5545787f99f6d1e7ee2139ff00fdcbb9d209b93e14dfee6bfae99ab643ffad18fe2cf35181f279df4ab3b8ac33568ce1795185c7d9a687c5d71f0c64a73bd065d4ac6c5179882e65a360aa31278790d96073843e1d53568acaec19d2b69940deb92fc3076aef6bc3207f635d89ee1515eafda14ed3dc37969dffbabd3fdd67d507d791fdc7b5169718fb3b69fd2742ecf2f57ef79cf7bf6dfb9b577baa9dcc52fb7875c9864909e4833220c3ecd38ee341671a0bd2c03ede00b593998f1c76515cc9e9aa62d78eee9cf28405dc61a241bc89dadce7de2199c519c718ae710e7d571f1d7c24573f41b143278e4c63ae8ef5c4d72cae134cbe73a671e975c79c6eb5c3b96a625e370def7bc5a2f93ec9dabc9436b9a39d3e5b07335d77e8bb9b4ec5cc949974c6b4b736610f9d9b97ac4f70cdeb6778daf17f8ccedee1aba0ef78eb91656df03872f9a5a694a64a3cd582111aede8fd2dcf36a12b57325038ff2bcf28e60ffceed3a5d2fed3bf4e5f6ad6f7d6bef17d5be997447647bb7e49da87727b2d357144daba4efa80cafe2e20f078e09b714f65eaaef9f7cdd601a62bec7eac20fb7807a4d9360faade686a61327a968e97bc7339aee101e27c28b8d6ddc62a353cc0c6a97f11b3af70ca3149b418d2206385f7876a1ee5c49da1dcc95e96a7137c114df33b3d5e68609d952f2918f7ca41b80fcccd435b7f1cdc9ae88ae0522f0ec2e1fbebebb9a6fa6193cfd9e96d59aba1a77f8c381e3c00dcad77564ac7cbb2e74f919877474158f814c78612498be1880c2a3936f52d1d27735f14dd3581d6c3117c3d55c51bb8c1f7fe7aaf3b8ceab9dab3daff6357817d62bab9fcbbf7b04a3a5d81e2350d36a1c683eb8d7f4b36c90ee26b317825834accfed61e07b7fb573655e990fddc74d09f38aed46ffe4cd2bc7f5ee77bf7b7fb975666f2a77eecbad15532eec24d45643dbd656584d17061b3804c8cacf25dfbad8f1571d083c352eca90b367c47c81a3939d6f3a6ae2c288b3da107c65d5cf6bf0ee1933e2257e88813e4e5eebb117c6e84c84c885510cd3644c24135e63ed5c3de2b9f2bc679ba5b82bd83d78f1b19e4d7667bf5a73ca8aef79555ad69c4ca2182bbe73b573650eecb57ddf07d73b6c37fd592bba460e6b45a0bcb59ee82d87eb5c5aed6ed6698e7e5e49adeb52c8257e88813ecef3de337808f154e6eda1e209964d4d18b3e7d134c464a6688b73629b6359f1439c911feb5c3984398373d676aecc8dce75c929214f76ae3cc3efdfb9ed8abea9fec29b3a9e3cdc8cb759b77abee635afe9e8d85d0c2e8cc121def72030ac98f0f9bd5cb67dbf2e52bedbb05b5ff02dbe405d707c46d75bebbe265f759a715aac4713334d34e3b2c5d9151b4ebfd8d24733ae1826cef4d545553c38a3d358064a7f7ea7379d357e76c7be7375d772e599d6375593c433ed33cf3cd35b4f936a979d819d819d819d819d81173c033e43bdee75aff322d593ad1b90afbbed79f6fecade4cb6678fb7f7a2b2611f2b210cd383dd1eb5bdf19dca9583dde5960cdca12fb76f7ffbdbbd1a740db8247ac01b5b82e659b4674e4f7721383de9e1b04b656bae5a93d4f8a6d353a287a2f473c93759c8ea5b730889e4d5406333a2ad78bdc319428826f27abcf062be743c8477e9cb91d71cefce956c742a9f985c79a6350d940f7de8431ffcbddffae33ff8dd759e3c1cfb537ff5579f7fbed6c67838e3ee5176067606760676061e7206bef61bbef90ddff4163f636947a178caed7e2a8cbdbf722f9693b67c6c1b4b69919fce51789b909dabbb932bef80f6efdcdebe4cdda12fb7def1bcf6b5af35fb2d01f35e5076d8de87c1d9160ea585c33bb3de93f544571e5b5ce64986eff4a69948df485b71b2e19ad95c28f44eae650b0e3cadebe77fa3b8efb1c68273d4252a7671e2000b38fefa7d357efa70b4dc0b802d4ebdb94fccc36fad34d6f8c6e958d83b574f6aaefc789857e6669ab961e964fcd1efff8e69f3f0cba7fc3eedf9576ac778f831ec1177067606760676061e4206dc68beec8ddfe4bee30664eff18a57bcc24f5d7acd6abf61c75200b357692fd4cfcde9c26733f6fe6ae7ca34b823fbf67e59ac4b63d757337087bedcf6776ead8c9600cf843ddd697a56911acd79685c415de12ba754f61c98ce7080e98f819c9d149b319ca4c410ae39f6c43931eb9de1d6f8d938f9ae76e37638077e1950376e4988dfb1a43331105fd3b272268138e1c539b62665b462187c861b23a64193823376ae262d52f762e4caa36ca7c6f3adb7e67e14d9bf846433f16b3ff3ff18fae197f9603bc6c38f618fb833b033b033b033f07032f0edfff97fe927936d12fc88b2db9c1fb273a7d3f4b82b80bd6738ec9d342727f253ae0e9cd92a8c1173efaf9e80bde8fe9ddbcfba2edda17f2df9dbbeeddb2c07d64ac5d22935b6effd5b6a9a6c08c3239c778166bf1501d31cb216d8f1c7617b00b08840d89e0ad25193e2c2173359bee19afeed5678bfc188e3bd0b1d088ede4abdec709cf4cf219ffe6e98c276143d84f0f53b2a6cb4d1d1f46f0cfabe6a68fc7082c5892f722238e9abd110e038f839ee5cdd855c99c9a759757f5e35f15c0be6b659fafe97e8cbad7fc9ca25641e8ec1de6567606760676067e089ccc0d3dff866b721bb11fb1ffb99bdbf722fde7b5153ddacd87bd1cbbda81ddaaffccaafec7f2df996c5f00e7db97dc73bde61dd948bde6f315c331e47191e65d5d93571ea9d773cf356a1490000400049444154ebf7cf7c7331c930573e1d609c4b1b595731a4d9b8a333e238089a3d6933b2d575155b22c075ac1375799f3711166775fccb183846c83809ed5cddfc7bcb8f6faee627bb9cdf2e0193c1acf07ec43b0eaf63defdd3ffd7f9e43fec6a3ed88ef1b023d8e3ed0cec0cec0cec0c3cac0c7cd77ff15ffbad311b15cfb7ea76506d51dabdd8bc69b617dafbabf67e9d1cf961acb982ec5cd998494bfbdb6ccd272657defeec7f2db9f97f537defef55ded4fd24e1be47b9e015d3bdefb4ec56c9a63edbd72a35dc81fbd9fd565276fcb95a28ccd5a237fea8f14280e3b0c7776ccc6268f4c68d1f9eb8eb503ce1ea35369abcd0e210541ab7754d57bfd31b875d48ea6c7c0ae9102f06bd0d0d3f4bee5c9df2f644e6cadbf1cef5615ed943c0fbd4dfafbeee7a676067606760676067e0c5cb804d485b14bbf6d9870015f75fb5f7ad76298cbdbf9284eedd12753557ed5876ae66ef2d154f64ae1cd72e3765e00e7db9f53bb7f6f15646eb42ef6f24257bd682f0160e36c32581c64b8d36c6802ba755384e7ccb713a57ebc69d41190d31031159f535957a573c1da11a9a8dd3b891b357cd1567d79c435b0da3141e4e7663694ed8d96b3c0741cd34574e7186c7dfb95a73f2a2e6aa27db756e770abc3517835fb875a5d864fcd2fffb7fc01f7e990fb6633cfc18f6883b033b033b033b030f2703dff7c3ffadbbcfab5ffd6ab57b9f9f1ebaba67f0d675ef199c11b7e9f2f0d0f60c065df724cd8ac25871888ddcde8bae39793172650bb7ffb5e4127b537d87bedc4a81ab6ebe619a7c63c3bde369af8f36b6e7b79e875db10a5b8d30cb2b9138935f1ca0667c9acdf2c68aaf6b9e187bb704c1548b247d7c4df6c4c01702c749c758f1d1e8880aae86372e9c4d219c6f2229eb55d2cc604ffc948b5917afb1e1931f5d634f9c44d25123ec5c3d52f3cadfb0edd7aae77c35259c5fdf6cfbfd1673a01fe0f74baffbbf9d819d819d819d819d81173903a7bd8a62cfe0f765ecdddb78749f62576c2adca4d8ed31f6fe6aefaf1ea9fd957d54fbdecbfdd50bbe6fbf7f4decff5fcfc01dfa72eb776e2d8bd682269fa966fec98acdfd185d27ad17704d36032dbb2c5208e778701fdfd15c39dcc7f752b060d6b16e8aa143682c76c712c81dbe122053560e707c1b08922fc1c28bbf73f564e4cac7d8999f87b9dd5f53f0cdd635e2adb94d86dfb9fd85fffb7f9b99f3308df9603bc6c31c7d8fb533b033b033b033f03033f0fdffd57fffaa57bdca6dc8975bf7207f0dc89ea4df9199add46c99ea121e63efafdcd30f79d05c733509dcb97a6272e5d278e73bdff9b6b7bdcd39b561531f0a02445746769cf8eacbe22723021915cdfbe6e9ff2e3a883a7bad07643c0ae50efd9ddbf9b629efbd20ecfa572b40f31ea77f65677dba63c3fdddd71e05d9fd5bc4bce2e74e13ded3203b3ed9e1a4d3534431f4d06825c29f11bdfb499f549a2d55077d3a835353d22f86d428f43043131f18b3ba710759f58b19412f5ced1849a915cd9dab39d78f4bae7cb3bd695e3df5d453336f2d7ffe31ed9abd3e9f19f2d00ce336f4180f6de83dd0cec0cec0cec0cec0c3cf809b8e2d8abd8a7f59cae8761aeeaded3a34d7fd09dbfeaa9dc9de5f4daeecf1da9e5de6aa1bfaced51393ab36480e67979b327087bedcfa9d5baf195a40ede06584ddb31fdb83dc809a16d969c6e94952d7da64aff86ab79ac46f50eb4e7cca0da74668a07c1bb7c0e2a43338be42e7128f934e9c33f7b9c39ce1d6b106442ecee239340b29412e931cc8ced563912befdb3a899dbee64f6ff5b21d85b7e63ed89aa8387e7af9fffb3fffd7cef843aee783ed180f39803ddccec0cec0cec0cec043cbc07ff6dffc0f36121ecf7cbf65d8bbcf7e8961e776d86bb967f5d5a8bd1097e1effdd565ae3a8f3b573636334f18d2f298e6ca4f37ec2fb7b7af4e77e8cb6dab616ffb4a0abbab5d936d61d5b44a7abfa56ec73f1c5d5d15c8bae0de1dba5426bf405ee1f9ea1afdde9975697551a91bcbf7b4941b9757a3f3c5577b9719125f9c336852e1987048c7c26e3846b1459e67d770f5f01b6bf4e17a2b6cbd1d577ccdc62d36b4e1e8ea88805ce03b572f6dae3cc43a179d2967a779d5b7dce646f3735e075a3af13f75fabda797a09cc63d0f3dc64b10c41e7267606760676067e02166a0bd87f7aa6e40eb9ec18da9fb547b89f621407fff337befafdcd3e7445de64ad7ecdf76ae9e805ccd566d4efa360e19b8435f6edffef6b7fb30d55b3d59986f8f76fc63c32d01e5a8054257ab67387b085d21f314b766f692d6105c863ff65c698dd51aa48e30e18d7efc048133160379f4571c6de24f679ae9475e5dc2d7b1d26f5cf66816c3e80c3e6a90742636c8944bdace95e4bc80b99a6fb6a5ba79d537db390bd64ab81f4866f8d55ccc679f7df667fff7ff65080fd3980fb6633cccd1f7583b033b033b033b030f33033ff0dffd8f7e3bc6c7585f6edd9bdcb3dc8f34d7fb609f6a45b5ee19dcb3207bcf20096baee6dcadb96a1bb673f504e4ca35b2bfdcce24bf6adca12fb7def979b89505d776bf835a46bcc7ea771135713ca4312c13f55a1a20389a0c657cd9f9f6b4c0f7f29b679c709abd776c89c937fd866bd1a1df3bcbf83deb169b3871149c43ccc833569a1d0b3c85d6b838f4090a03a7a75cf8a5264e63cd71ed5c350d1ea35c7958ed14aff3ca643007d4cd2bbb8af3b4fa828f7ef4a3ceb589a1e83aed1a5e8a32e38ef15244b1c7dc19d819d819d81978481970d371abeae7893cdcda93f81d19cfbaf0f642ee4d3ddfdab71453fb996e7071e67befde5f95a243aef65eb43963ffbcceabc72e57b3277f4817e76338cc1dfa72eb776ebde4b389ef31cfc96298e8107613dd2ac9805487ab43ac9e6c9c9e0ab23123a89569664066c4c61d82ae74268689e7808f4b38c762e038faec9e6391d738d723425e398d8b5f06f42ad3cc302205f8c416677476ae26698f66ae3cdcceb9638876bed93ac59a7dd76528a6843d010353f9a99ff89fcff0c3aee683ed180f3b823ddecec0cec0cec0cec0c3cac00ffec8ffe4c664cbee69d6cf24b72769f7e28176b628ee5935bb79894e57efe8ddb0e207aa21eaf63935b30f785274c231e9b091d9e1ecd9f3ecfdd5ced54b3eaff6efdc3a05b7973bf4e5d66ae5cbadef57bdf3b0a2b52632ac56ecbe67ba6efb2ed74a07ef1b691cbef856bade0bb2e3f7beb055af3571345b25d3c4773ef8f6dd2c9d7525ed6c85cf9923059971c5506cf36e9242c7553cf038830b72e2e70bc7a1393af89a87d876ae1ef75cf9e5a54eebcc2befc29deb9aa684fdc4cc2b5747f30127aff77ff09999840fddf88bfb238e711fd8ffdf19d819d819d81978b232e0eee31ed4fdc81fa5eb9b6dfb2bff7e32dc0dcb11776f6a3f33fba8bdbf6aef270f7b2f6a923cf1fb761f2d9eacabff853f9a3bf4e5767ee75616dbc47bc62ba33dc31cc016d3e14cee0767002dbe57052dc1750d3f05cd71493c1d8bb5663160b28739fa8333e2afbe6c60e3d2e91e60ac34c357fe3ad6ca59ed197af2a077e21cb0a1a7c9ab3278e3ce81eb1d32c19d2b0979c173d53f0a7598579e6c0dd489e8a36e672adc8f36d855e8553b2ffe8a9ad7e4b38cbe80b64193a559009aa3ff57bff33b2f7fcb5be07ff9dbbffd256f7ef37062aebeabc86aaf9c835d33cd061d026362187b464f7f70c6c3b18d72796813e721bc699ea33b55e33bc60a46bbbd2b4d9c31f2d2cc51333bc2e80f7e13ff05c767e835928973058bad00a69e3c8c7155707c575acc86808f91f8c490ef10f2ba89f3a2e233f49a9689730531a75948abef9a84d55e3907bb669a938a7c754d0c63cfe8b7709087ff82db042f0f6de23c8437cdc2587d5791d55e3907bb669a5cc6802b9ae98c3da31ff033fd0aff05c7095e1edac479086f9afffa5fff6b7fdbd6aec04f1251e8efdcea9d3d037bf60c1e5d2ef70c49cdddad8d0aa9f61e87fb20a961e220ab9570c6de5f1d72d289909903be7365ce1c72f21072e5127bd7bbdeb5ffceade9775339ad2377a458109b7316b516c766a4775db3a2c1f52aba7cdb941986823376df3c35a9b1e36b8e2f847de01349d6a2392e81103a7385141b77a571f16b56affcd5d6dbb8d16876bc6e03e1e97081c419dce86c7c9cf83b5752f484e5ca77dacebb7965719c79d55ec4c1fa66db3cf46f4a61da2ed4559d2fbb6d84e665ef70ea4d61d5c997e3eaeba17ae5e41b61ecfee190b3df3d5f5d79050e73e5dc6e8f4bc62106a032e3d69c9af2ca5fed03a7263ea37a08838cdaaac38eb0fa1e72a56bca9027e6ba1a2ee541c6eb12191d5d631f8c35cef4d533ee20197456fe6a0f33cef0198d3e8441466dd56147c8ab7ae76ae7aa0c348bd6b9b1e7d565365eda5c9d765ae77d57f7293b10f72337a9ee53bab2d56ca7efc43ef3ed5818e1ee62d122b0217b7f754ed5694fbb73655ec9c34c12fbde6c75fbe1c72557eb0ab6edcb0c3cf7daefb2ef73415a3729ac0b68f66c80342b90fbe6a7d935330eb5f907692e8ee10b553663a6e91875fd9b7ff36fe6efdc8aca0e5e6d12bbd47ba2d3ec71ee12b738ce9367bec40335154d35f7113cc3cffdfe6a781cf5d0d2818c7ef1c409c799c0565fb632bd49d1c998e31adf9886eed8c7377c6af8b8206bc65f633e70662cf8ce95243c22b9724dadf3aa37e2734e5d2c4e348e808bd996c21302dc93ad2fb716fa6ff9966f89304f1198d93d4b6822dc824c6f8e6a6534577b05fb60abd7275c5f6e4f3ef7c73dd86b182b67c5b3d38fa39ee1567cb50f9c115c7176cd7508f6aac31edfec9b90e9a5b9ba4c13217b0c4d659a1990cb18024fec0bfe3a56f6aa73c9871cf40f9c115c7176cd7588838e71c737fb26647a69ae2ed344c81e4353996606e43286c013fb82bf8e95bdea5cf22107fd036704579c5d731de2a063dcf1cdbe09995e9aabcb3411b2c7d054a69901b98c21f0c4bee0af6365af3a977cc841ffc019c11567d75c8738e818777cb36f42a697e6ea324d84ec3134956966402e63083cb12ff8eb58d9abce251f72d03f704670c5d935d7210e3ac61ddfec9b90e9a5b9ba4c13217b0c4d659a1910eebedcba43f901a257bffad59a3624fecccf997edae440dcaddc926683a4cbd6aebd4a37dc38f0f5fe6b430259ef83e312dece875d19df9ad3cb686f93317b9ed4906372dffbab9d2b73a0f9706f562d73f2859a57f669fb5f4b9ef45e35eed0975bc76fc2b53e5a8314b6058ba1cbbb1c351b87016f76f6ae0b623953376b197c11142ee38b938da0ab8595c16bf07cd357170f902f9ba114128461f52caac68a1027dac46014489a79a97da30386b3715260eb2dc87ad5bab867e82a364d853d5d73bc38b930a8c1cb52f5ce95e4bc54b972cae65c5cce2bbf8bdb0c71e214e4d967e8d26c9200159b0635646c888dc5a9ef8cb321b96487af75eed58333c65e094955cfe8030e92fbd4970a89878f573a97e3aef848adbeeb40431e9d7a6714cd6cf58b9aab0258e32cb6ea359e22ac8e3ff5c118af441a62ad57fcaaef8c1533ce28d43ba36866ab77ae76ae9a277b5e4d1e26152197f81032ba9ad02ac0ca34eff7bc046bbba127985901ee0778da5fd9b56bba6731ba37cd3dd4ebd76c045d362419bce0a3dc5e2502fb96fba03bdde13e3891e852d267d0370a63efaf24562939a58b5d337ce74a361ec2bc9ab9ba8dab1978ee23c3d5eee70dce4293b1d6b62f64215366430361d7cc38d42e1ec8e9da5a0c8b6060ab61bd53d7e5cbed3bdef10e8456a8d6bbe6dfd85c040654b333d8662ace342195387a69ae76d7390e5cadcb8218a7e538bc2eb211e2af6a69aeca38ca1acfa1b7a1e9c7419ec399181a71c62d98954f9363fc155fed38239e71884d73ca1ae76ad38c5318ba26ce9d2b39797eb932cfe7fc4a2f1d8faca336bdfd3bc970d71d9a730161cbbc3f72ebfb6dbf73ab2bc2ba17611ff07a87b31230077f10bbdfb935e8fcf2ed04c07d2df075dcd58eb686718821c2280c7f90556decf1628cf8da3ba166acb4ec83fe81301cc683d86b0cb94c0035a73e8c3b31df1267be0dc11e85c10759d5c68e967e222b3f4175fcd13ce0a376d0197ef8a5ce25bec690fbaa1932f83aee6a471829cd7a579c4df9800fb2aa8d9dfb1acfca4f507dd03ce0a376d049fce01be752f3e0cb2bf7150f197c1d77b523a430eeebb80785e1e3ac3a077bbc18233e1ce04d63adf8f0071cc764c31fc45e63c05756cd906af83aee6a471829cd7a579c3d0a830fb2aa8d1d6d8d67e527a8be1c6b5c56fe80e378e91be726dc40f9668c8e1d9a3b91afb5f65a1e62bb7fa93d9d76e702ba43b121bc143691c39e01028fd0dd3342fc14069f51c2f362cf7e2fe6f4324667f68d908628ced11c10214d46bd8cbdbf3a9c8512b273f580f3cacf38fcf88ffff8fe9d5b13e6a67287bedc7a9f64deb8a2d46c19615b8fb24b900b0ca830ac47d9baa6c9f6cd13ceb04eb5eac58703eb9af7850833169170608542e2add7f9a68380dff755b63867dce29f18e01d175afaba3aae097b62305cca0c65c61d3e9017fece95543cc1b99a275b7f57b0b9d47b718fbe76277a4ff3e3bc97d254b26d1dc63ec3f7f07a4f0ee7329ce11f70cd9b382b335accd5f6c62a30fd1905be2a8fd48cb5f60215be439bde55873da3ccb831b933f40eff2cf95073b58e38f61adec43c4751d813f31cf5ea1567ea9477ae76ae9a09f2b0e7952454262719ea03be73753f55a765bffc6464d75b96ba1fc1db5ff52f1dda93c0d1ba55b5cfd174839ebd0d4e38b0b2f75752b473d59c99fdf313b36fefaad9f54d19b8435f6efdce6dd7794b9e8c34e96bb22d8e9ef12c8b6acdae01cf78c3d75533c7e103573b7e3a538f4e48e7a341d9462c9ed189103ee33206cf77e2b90c1233feca69f47c134fb0ba81268689596f87dc28e33e6af07c2fc3c871d55cedf8e94c3de386145b83b277ae64e0f65c794095e4c955cdbcda4cb019447a47ce089779d7885fb82ddbf3e59654841e6fb281ebf35276a07a2d07beaec363d22acbf63bb7feb5645ef33bb797fc4bcd64c3479001a99e71438a70d5818cfb83e02b877d19e40836749ca903d56b3968eaba45763dbac331724c6af0a46ed29fa886cf48246304d399e6f06fc70fe31e34672c22e9dc144f84ea83668e6bd72a5b9c6b7d957fa9192d7c04afea14f31ac00c31eeabbedeabf8ca6137e84a1e3bfd385307aad772d0d4758bec7a74d957f9979ad1c2d39fa80e3ae145b8ea40c6fd41f095c36ed055646c4631ac75a07a2d074d5db7c8ae6ad957f9979ad1c2d32ffea94727445389cf1897ec07c157cea5e62a389a1d51f50cca9872d084a7c3a86b955dd50e9a7ee7968b3fffe3dea4cbc6c02dcc875cf7267725b730f8ecdf10e60e389cf612389885b7f70c7b7f65263485a4e249da8bbab8f697db2ef39bea3bf4e5b629ee3d1fc32c57ac9e0a437618e5c84a8ae04a505b2523e06846cbb1f785817de75c09f94e4db37129d0842b6ca3588b1b3771b5ae59c71b1747182bce2ee0c2e3d57b29fc6286b07b56e958d4f38db7718928f966f39de39a98e928069ab118bc949d2b4990bac72e57f60ac29e79e5ed38bbb3e9e45a37e714f7361d623f713ee7f7b62c21d538ba06612890d53764ea13e35c56cdec411ab1fa3efdb94f2268c0ab75a05ebe530fc808cf3d1bb8964bafc8077c5cea5d8fb7ae8397b15ebc5c159b711995430c751deae1ef5c1d3223870764e76acf2b73a0699031b5cccc151461e7aae4741d4da24ace65ae22f85d98361bed43fc360d7cf657a4da84b879b58faa9efb2f7208027befaf2473e7ca4c68daa8677fbbceab213c5eb912f62eb764e0ce7db9b5f6b9e0ad7ad52d82120457b7b00ea7c4c5b180e6e50ac90ecf315f358e5a579cec9533045d979c02d075198f71c357ce1a7f83a24dfc1da39a63e3e63bf10f339d15874c6f3aeb5804931a0e4459750e63e9453eb33ee33b3097cb3ca035e841b3663ae943d666f1dce55cd901acf9f4e05a32e54457b9ea5beefcc45738b0c75d53c5cf80d97ff4e5562f0565762490ec40f5ed9cabbeab1a421c35a99b7ee736ce61ac71cc779ad18c129eb1daabceed789a2bff01edc3314e300447f3c0b98a5fe560ce3132121f707418ab7da0d51c1dcc83d44a4867e5e4b8e2d92bfe80b6811a3afee5b8d31bd34033d6eabbdac3618c6c3a75058ecef087bcd2d690c6ce401bd955f3765c6fd136ca83db3187cf68a055e7c099b1567cb5c777a4a6b7aef5b82e6de4955633dad82b67c0c3b837e168ba2ec7fdac785ee37ba94ff3c019cd155fed43cc2bbfaedbe32c06cc437ed2095f39d9abe6cab9c4d359f107b40fc778392e9d0367c65af1d54688a32e8ce93df7dc03fdceadfb913b17d01fb965b819b1e7df4ceeb5a01f3502da337cf1177ff16ca586d39e81feba0f89bf6e12206b73ef192464dd33acc9d9b9928147702f6ab7b6ffb564a7e6967287bedcf6ddb25cb0ad8c3d56415a52cde0deeb0ca72552d33a1bbfae56554b001ca7c2d7f30311a58784f0381ce1384076cb47cf6090d169acc86afc565eb622cedcd929cc3d00ce8ecfa6ec18d10cca8633341b91814361f20051f446dbb92a1be7ac3c69b9b2c358e795a699d33b72b65911d2b1b319ea7624ecf9f6181e21f23071865f57b47c432e39b95f0a8ec2aac986877099322290d53e34f35557c67d68f0b1d771076714c32097fc87992b631540f1ac31176708ce949835571bb236d973a42b3eb4c0ea75dcc119a370f01afece5599d9b93acc903daf4ac85c41250458a9b9d6734d0107678c02c7c1d9c37f09af41f1d8931458ffe2433f4fd4bfdeafcb3dcbfec49ede1665efaf2444c694bd17351fcc8db2a1b6779de498274ff0be7d0e791b5733f0dcabd0abddcf1b6c91e27e584621b380eaaab42d1bbba6fab298c740f56a58ef025bf8ea9dbaaefece2ddbfad8632182606a666bae5702daca990b267c74e090a989a4cfe0ded2b3fab23d4b0c7e8befc45654c91612648d993df1844f53189522d49b2f029c66c8ca19e688ac9ad9f84595633aec5cd6e3c51f9d94a7c6efa01813c6eacbdeb992a272f280b9721d4d86b9f4d4ca8097673ffaa5e9627106f526ab896097c3d7f9523b23bedc72694b94fb341995bca60e6cb79423647ac321979aabfedff4efdcdea43f4367a895cb18420e386621adbdec037e52bca6397846f5659ce39bb2e625671d74f80916db03daa393d7f886cfd01907cd07f1e5b22a8fcbe037690e9e517d9907f8e8dfc459071d7ee47c1fd01e9d197126c33a343b9c31fa0fe23bfcd11fa9d1194ec610a6c9a8ec5cc9c3e46df25f726adecbd4b5eb6b7c877999cf4bcdcbf33e3a33ee25677418334a8e7905b29f9f6f52a33cc30dde288d1ea85ec78a50bdeaac9cf09b38eba03833d6edb6dfb925eb81d6afdd7ab875f7f13d966ff7324f29ee536a22f39dd676ce2d0c12cec0c15f3fea865447502bb32d69e3d128e1eaf64827de7d7bf630f8c0699e29a72a85d412071a37245a9c618ec8aa998dbff75773eecaa7a6b4ec5c35af6cd8f697db2eab9bea3bf4e5b62bc43ac850ac1dbdefb1d6c84eef05e19ea6d664c15ba1d4b3865a95d81ce3afdf3987a3377d9c7c2903d583b3f32d86894dd310f10593975a818714bfe680706341d2876baeefb1d8c33196a870e8c031d9c5b372e0caced5639aab9e6cd779e5c9f6725ea11de695a5d33498d2ce666a868d454d1cb67a7adbcda8e3841f384065f63dec5561c6cd18e6f0073fa99c7dd31f7c8c7ad5e33b08ceea3b38a33222c33ce007cd9bf8e5a1de431e5250c7a18f76e034e861ac98d529cfe8a3b9f6261292fef0c7a8577dcb585763cb91ce2864aff84173065dbdf0cb43bd87b1e6b8e2247ee00095c358901925e5ea610e7ff093ca722e061fa35ef5f80e82b3fa0ecea88cc8300ff841f326fece95bced5cdd9b55e7e9bacea86cbd337f1ee55c09d2bda950dd8cd836246e43b347aacbbdac23d23bfba8bef1765f530f3ebec8dcd7fba021e2c3dbf9a895c37d5073404c7b21c8de5f9d53b57375efe7285faa79d515b1eb9b327087bedccedfb9ed696d32e24265f7f4c2b0e4799663ac381002e7cbb0c0e1b7d23156323bfd6a22e3cbce2b1d75c8a1a6309a8c7a81caca1c8451ccc5938dc928ce98c5c38e96f2eacb9ee35aedb20151c8aa0fbe077c8ed740ba4673821911bd45555dccc0c9cca177b2813931300a607a356f42e04f76aeec06267bb2e4ae5faed6efb783eb95107b85412487828dc5473ffa513ba1abbf737b4aeef97d7c06774c767b8ed93fc509bc6ae735222b67febc6d9f703fabe6210052453575a3a4f32075c11c741219cd068d5357ca57edd5775c6ee11ff23663dde47b137ed0414b2a7cec22a9c689b61ee92d7664f5ca3949dc80d47539d6e019a925a2be858f39bee3352297be905c3eab26c24aceceebd277c56fb20be6a0a3791352d7e5588367cc513fe071f19a0853505ff5bd098f3c3a192b397b4639f057fc267bd51c0e50a17689d4157ed50ecc3711f52dfccb9853b8c9f726fca0d3a02b397b8ee8c05ff19bec55733840a5e3ad1e2423e6557b9838ec42ba857f19730a37f95ee27eb6ce1757bf52aba6f6d4534fb9fbbb19b9ad1bd71d4a9d0d476b6fe0b9a2fd06a43b5db8f73eeb7d70f6063886d654c7afd6bc09813fd97b8632b666636cc7be735536cad2a3932b137e7fb93d5db437973bf4e5d6c39545ca4c958dbe61324cd6591f35d9ad89d15cd80870efeab88fdd7a0ac14f04c2e68503a71f1f9e2f1a7b70cdae1975f820a363747c75b2c54c3f3e23df622eb6ec948d8b198dafe32a54780b965efce2540f9fade8a5c3a571f3c587b395192bdace959c3ce2b9f2886b3edc34af2c979e69ed273ab30e677633ed8da6d6c556ec2170a6995df36a0d1cbc6f6e35499d7b9eeb3dcb9fc03586c8539fd8f7375e29e4959dfee091d5077cf4070f498a0d1f6438e9c42986d10166af08309dc871d835afd6e7ce7bdbcac68dc6b7ae9a139be63a62bd5333c64e415d81afc7053c734fd5011ffdc167745e6cf820c34967c68ad928638f72b47438d6d47b8ae6e25c0f72eedcb93a656be7aa59d18cdaf36aae11d75457d39a9fd57ec973e5d6239ef62142b509712782b867b557b1d360c3fd7b87ea707c361a8efb6fb866bb2075f82034d3b9e93e189f78bedd0d352964a73cfb25cdbdbfdab97af8f3ca84dce5960cdca12fb7fd9d5bb9b078cd5b3d6b16bb954b57388225b22740172d7c9edcc2bb92b3f93246b35cc7ef791292c8e80c7f462f86c173194d0664624b761d371d1c85ad1eced88cf5581ab15ad71c4b8e439e18e688d24f76cdc3b8ec5cbd54b9ea478ee7ccda2b643bb91e5cd9760c4e59b6075d271702cfee379dacd1fd9d5b9ba1dbffceed611bbdee26679f64560cce568c983138e4c05f7fe7b63f78cbe5c039e8ac9aabcdabe62dfc3592f165e47275dc640f9a87b156ce65175fe0d4336ec8d5986fe28fefed31eb4d61f8b7c77f957f3586dbc7e53284d10c1c7ce55c764d96743d60cc312ff946541a22a95b3887b1c6b7786adece89b97278d5bc3aee1a5871a6b08eb572b20f9a2957e738c8aac31efc32ce078f7974d6b156db283557cd83bd4632be8c68f50e3ee01018a310ed92730863f89897fa07f2aa7f95dfa079cdd019e33b9c5bf09bc65d7d8bb67a70c62de3ae81618e42eee3b88a1cba70c6eb107fe2e3cb5899d9a91dec7181fb9d5b37203723bf736b8fe1a78afa6ceb36e4fed5afd1ba3725ee0e0b47e6086963c3eecedb3eca6dae7dd1d4e1bc7299bdcdde5fc9c964297be76ae615639d578f48ae5c1dfbcbad53734bb9435f6ead80e6a8f5d175db6ad87b3e3664deffe1f44e6eb266ed8b0f075edaadb95607ccecd16728e16a1c630d9f3d31b86626362eab4eb1a5c326c21e9de2a4c348bf38d9103672f668366e57699c6283d0497fe74a66cab39c3cd6b9ea28d4cacc81cebb990074f69b577a2d9a1e9267fb620f8159f3506b1e104cfcd9c14c2f047ea63fb78facf7529f88526f76f5a84def55e4477ee447567cc6bdc56b62582327b2ea1cec73e7e9293dbc084767f0f13af0c3f1d711f3fa9be66a148aa17ac6bd8ce41664e7eac1f3b673b57355065c50fb1a940a65f2c09696cbf5f0f65c3dfbecb308dda1d844dc9b06b12d691f0509775ff65ab6fb17afbdbfba3d5712b573d5de581e9e805c39845d6ec9c0732fc26f213d8fae56378e196b3d4b1eb0321b054d76cd8c436d8183a857c3763c9051d75ad7e5373adefef6b75b7c3db3890ac1e30ac32c87d46cc65b22e749c6d65fef8a8fcb2ac2569262503b03f7beb566374a8221c31f9742aa37109f510c05165e84ea3536e30e3f7b5cd0c6ae6be2491f389a90647166b8c0bc2ec7d5bb73f592e7cae533a789a1e9b432facb0af56aba4c9c2c4d67d3e6603eeac25d204e3d2f3f9fec2c7fd6dfb94d9357c3a9677f3376c881137fc0e124b8fe9ddb2f79f39bebe5a2ac2e9af821e7ce53d3c3ed4ffee44fa613ffd21e97d53dda748d60067c25e438f58173392ee4e07ec919b56238f0072c9289e7aa0e305c9dec6a9cfa3e130fb9aad9b82b3f5b3d5db91770f865f08571c959f9a37970bfe48c5a311cf803328649e4aacee08cc8ab51ef8a0fbf41351b25e3c0d78c5648f50ec838f836d0d4f187b3f2b3d5abfed819c34fa1188693ef80c339f8a229f58ecd405b7deb3ae0c3bfd4cc77e567aba72bf79b7c0b60eac8873857df837e5d97fc9062184ebe030e67d5bfc9bef42dd4031e98f2c16edc959fad9eae5c2e6388004fb93af22df6413fd94bfe685ef275050ee7323684d1b4437327f2c116ed95af7ca57b969d1b240e9a1b53ff4e321ca8e80536907b19bc4d48bd1e77dbc068761f7447abab1a38fb253aeb0669f64270e4ba567ef6b81cdc0be3c01f4d82c9161e5a810121350fe3724973c5d33988000f788821f2d56c9435570d1d53008c420a51afc7823c075eb457639edce63b2e07f79dab35b70f9e2b97c9bbdef52e3b3467aa1f7960aca57d9dae0c5d43cb505f16575320a3a279df3cfddf6480a8b3d77a40c6a350eed097dbde089a3d4adfa918ce81f77f2eb06c1c93a05500c72ad0a508ef5ad5649f24ce4b52df398968a68f4081afba130c7761b329b0119035d389835f0cba6802d31f4d0a087ce3e3a40f1f0e64ec686bcca36f2c5e49e1778cf82183178330f0d50a64e76acdd2e3982b4fb0e64991f7d3c82606a30933f3aa5d05d01a6afd6a5f521db3aec119635ff53af49ee9f72afcf62b074e035d8ebefaeae53b8e63e4a54e247cec1434c7c81e64e2b93a7a3a38077d6a97fcc83350867a1df1e075e81d97f0892d85d577b5d77153d0bb7335b9ddb9daf36a5f839757c1ba6e949fe6c943c895816c48fcdc505f29dca7dc8fda78407421b873d95beffd95d321157272de9a9d1e8f2757107804f8ced5939a2bc7b5cb2d19b8435f6ee7776e7bd76569e899d3f5df026a97df3b2df9cac6e9d96f9e00c73703932f3263bac8a6a94e61d5cf45ad573de5100fcd74e071d227358e89d73b78f1e45bd74a1bf2c45cefd4087320abbd73252d93a5ec353fabfd52e5ca0e40184d0ffb00b622e69e54ed09cc8d7e2f970d6fd7e25818ba2298186e8721dff22ddfc2b001a2c338eb3df7ad60bac20f9c7aa7d6bbeaac765dabfefa3bb7f3e576f661e39b7118f79ffed37ffa133ff113a399d7f85e0d03585963b8c9c6eca0c6650d237bf5bda40d92b1463871ae3aabcd653857ed7a8733be195c0eb1d55cbdc637fd711905c8808c03ff527f1c755dda077eca433b8df499312732b5dec8e9ac765dabfec146beaa33a3affc0963f5cad6a5e495cb28d4b5eadc6463ea1ac7abf6ea3bcae33248063c91a9e191d359edba56fd83bdaaad3a894056fe3457af6c5d4a5e6b18e1ea55e7263bda3af4a5bdfa260e19da2019f07aa786474e67b5eb0abf6aaf6aab4e2290d5779aab57b62e25af358c70f5aa73931d6d1dfad25e7d13870c6d900c78bd53c323a7b3da75855fb547cdefdcba7fbde635af71f7f40eee15af78453a6cb724769f6d3db621b8a3b961a9ddc5e06ce268716acefb595d0ae67a5f46d66c8716a16d0fdfbdbfdab99201f361e6d5cc0d5365a647d3e6a5ca950f12fbcb6da7e0a6fa0e7db99d5968ca2ae6ab056e56371b7a8b1d1cc8962f7cb5f761f0e67aefc3702070209b027cae042e14e0f9c2d3499fadb07118687466acc6d54cb3d88c953e1c3f0e833b3c235c3dbe0ce534d8f92a65eb9d777be7ced30fdb0045580cb9c7e4a5373bceced5639a2b1b8babf3cabdff30af301d235099cf8340c54c6817d2cc096cf3c19eef81f5aa817a4764f55aed1446b981d63af2e81c988ddb5853e7a24e07e7e005afc4618ffe7831f25a7dd9e332c67db1e7fe3fbe0ca58ef12de6baaa11f4ae318cd710e268aef1443bd4a37360366e3a53a73f0a38072fcc4a1cf6e88f1723afd5973d2e63dc177beeffe3cb50ea18df62aeab1a41ef1ac3780d218ee61a4fb4433d3a0766e3a63375faa38073f0c2acc4618ffe7831f25a7dd9e332c67db1e7fe3fbe0ca58ef12de6baaa11f4ae318cd710e268aef1443bd4a37360366e3a53a73f0a38072fcc4a1cf6e88f1723afd5973d2e63dc177beeffe3cb50ea18df62aeab1a41ef1ac3780d218ee61a4fb4433d3a0766e3a63375faa38073f0c2acc4618ffe7831f25a7dd9e332c67db1e7fe3fbe0ca58ef12de6baaa11f4ae318cd710e268aef1443bd4ab4effd6837b907bd3babf82dba5f4ea96fb617fd58f1db9c7d9b19cf73b7b7f75efa9ec3257f203dcb932c79e807dbb53b9cb2d1938bd84bba5fb79778d6cc65acf7206acb4808e5d537d594c4aa07a35ac7a818cbad6ba2ebfd1e1efdcf632af2bdc52384f8f0c473a4f749a14aca196d470753643973a4e867af5d53c142e8d051fcd9e1ec3479cced8c5904bf8f426d828c0e18c7ebeeb317638e113430a9af0ece2c91192f8aa83103ef15f6aae8780cc25fd4bdf065d6bcc62004e9c33d66440ef6a17432ee1d39b6043008793a1ce773dc6c73457ae200758aefa362b8140c768075032351d6fdb0808bcbf85db2f3b85abe9b870d6dfb99ded0e3565762dabfdb97056dff5776efd6bc986e828e2accd15cfee776e710e45efc4bc8e8516be8aaf763ac349073846f6e8640cb8e2abdd10c5bce2ab7d13e741f038d41a42738c011b4b7d281dda4dfc7a7339d8818d3535f092764b3c8dcbeb05e110298035b6c4078fb3368be1d23791b5eed06ee2d71bff6007768c53032f69f5eaba8ca771ebcafe5c3837f9ae787671de3eaede43e9d06e8973155fed7420a3506fcd7a47760c783623df5527f0797326805b34e3cc1013c3a56f226bdda1dd722cabf86aaff134e20c77a0d58b3f84d5f7607f2e9c9b7c57dc0ecd3dcb2dc9dddf3ecd3f8fec0684a0a9f6bed57d8dd1162ec7891cb33d03bcdb9cfb170584f0404df8d87bcf30b9dafb2bf3a409bfd66d1dcd19e0a3962b2bc3fe72bb9eac4bfb0e7db9f5beca646d75b3567a80c966c0a5c6158e334d48d31a8e1f0782a0e8cd8028a67ecdbc208cb1e3e3d039d34f4f20c68ac09ef7942127cf73c1e73543c3b86b12542b9a3814d873f9b1bb561b9797b1d281ccb1c0c7374eb2c5967831c30dc48e801c679a1084f0d1872028f00c88924e780882921ddeb8218d1581bd73f5bc73d55649ed1cc970efc225996067add743f60a9e6f810a723b09c6d8754d2f3c3b23fba6faa4b23c67660f790c387b9a1981d375eebfc7199d404de5d2762c75d5bbd68eba2e5ee1e39ed7e02b2d3bbe7ae76ae76a9d27ec3daf4a48d7087b5f832d1aad1512a2845cda7727571dbbdb900d40372635bb3d8077af6c45a2207dade5522f9cbdf70c6563efafe4c17cb0577cb2f7a25d32bbbe290377e8e1d6af7334e34dfd6cab00bbb580e181b05ff92859f00c4b275ced79cf0513ced63b1ccd034e70e568e2372ea3b1d404573ccd7ce31099b51b59d13496dec8696a1603029bc2c436fab9c45fe3812bf0c43b5e5e9a68f1a9a5a997317c3465c6ca572d18eee16b1e908b33235f822b4713deb88cc652135cf1d5370e114387232b9a62d01b98a6663120b03b2e84ca7034b3d778f01578e21d2fa6265afc972457ed1d8b4d2d9e89bfe32a2a071e67cd95d7e18acd843d84d7e7a47aedcdb1dd55fbb0d54e13398e3abb3006e792bdf2d968c361a79fb1f2f35a7dd31fbeaeec34b33d4ef853bd36408ef192ef94e955908d35ee8dcb4b170e47b7464d6949641d2b3bdf744230071c5b9732c73b76b2838fce997e8fcf461bce686684c76fdcd537fdf0d54ef38023ac9cecf465a33ccc108771cfaea70387e768882167d78c138239e0d8ba94f4ebcd4e76f0d141ee070d7a1d83369cd1cc083fcb7f466cab7e23365636feaaa3098728d96a439b33edc803698efb61dc7cf5c213191d4676be714230071cfb4cbf922bf3f64ffff44fffeccffecc8ac44b5963189b4e36c268660ca7d11b481d8e33f86a03579d3810e5c01ffd6253232883b38b8a6f9c44c24fd473d1a530d5f93272091c3bfe7034b3931d7c74563e1b6d38a399111ebf6056dff4c3573bcd038eb072b247bfd86688c14901cfae8f77aeacdb6e43ee418ec8d2adceae79d84b98db71c2d77b34be7bdcab5ffdeabfe97dd04d53b1dcd1e44b8731fb01c36922e8325ce3e228c3197b8d075f7904f70ce7d8f7feeadedf04910de7f4b3ce2be7d1d9340de65c97c6f1ed5c9b2d26529aa759f522ccabc6ddf54d19b8430fb75260b6cdf752cd16a096481b02cd9038e121839bb8703375d5e13bf3b86fa4f8cd6635be799f7e9a0d9d2647253e5f7c363e9b81af976fe78f9d7e3a9a23e87be634d95d696a763160a6ac4e532fd011cdb750b6b1e03b5777215736e5ed9feccbcd2b0fb497f3ca86c36488c66e17a51e7c365571d42b67ed85378d8739ca83c41ffc2a3ffde18c6f64b5a3f8d99ffdd99ff9999f31b147212f61fffccfffbc5e657d6a4d4d42fef93fffe7ba3efce10fe3fb374e88bcfffdefaf37a9ec8961ed9a9c002f73654629a21ddfb121f81d7bbdea865b8fee60c79f000ebde1eb5807a6e68c952f4461878ffebffdb7ff76f2309c9857f957d572948156b3db73d5d013c93a8ad80eb9f2038dc2fbc0073ed0b857eb04d7982fede79dab02689e245b0cec9a6b7dc8ed8139318c0be3c173f5e77ffee7bff00bbff0533ff553bffccbbffc4bbff44bffec9ffdb35ff9955f71151825653541a571afd6c0abf8ea35715e32d166ac7a4fe35d9b5781074ee055fe8139318c0be3c17335914fb487790527a80cf3d2d6754b6ffc89f3928930a3d70b51d8e10c65c0b1e3acf5817f604e0ce3c278d472e51ee4895d541e71d90ea1b5426dc722603b93f63f9691bdbfda7b5153c2dc38dd56cf9f43cc0d487b9890c19fc85c39d85d6ec9c0e9cf88dda9e2bd4b33dee268c6b3ad9bec9ee8a4c2b5d17b3836821aa79574f5cd4ea4a7c42eaac1c9c2f34d533d6b74b6de38298c3e3c3b7e3697e2d42baaf40b588d33fad9c890ec0ea4e3454e472fbbb1d87ae3032b8dcbee30310d9a6f8495bf73d579791472e53b5bf3ca9befce11c429eb5cb3fbcce5dd361bc16682ad97ed918f977b465b1fbb8dd9278d0dc9b6676a26dcce891f533d3aec75d7055f39d90d71a9bfeae02838d19c0252e257c2917501dff7bef7950a88c96cd2c2e3a8dffbdef7cac0ab5ef5aaaffccaaf847fe4231f41fbd22ffdd2192bfd893fdfc487c3586d1c7c837ad290e71ffee11f4ee492935afcb3c667e868ccb1e41be7c0075eeac70f27924ecd39169cf01456bc7704af7ded6bb9c4a91e0e7cec19eba0af6952fdf44fffb424fcd00ffdd0257f1d97be6648c6f067ac89c1131d8ef086a359eff866e49b3dc8700a58737488a453d7e038e10c5dfe28344300073c4ef5f816c361ac83be26afc4d5e3bbdaa3135397a7eb5ffff55f87bfee5c64fb3f9c8bd3f78ffff13ff6cfcfd241abac9a45387846faf7d8e7ff418673691349a7aeabfa698e6f7c9a90eceaf13df0c3735f39bc12510fbedaa31373c83771e2ebadac9a453878c6810f2c48c6ea3b369174a20d8e1f9ec24d789ceae114c361dc83be26af096f7cd7384727e6906fe2c4d75b59358b70f08c031f08a9cb3dc8a4d5ec7ee426c550dccbace45666b4f62456f8f63ff86cf7acf6395c0cda6e0ac11dadfb60c8ec67ba0faa7146933ea9f8c0f419332e63f891d58ddbe6474d934b3a3936165b6f7c84cac4839f2ffd7c23acfc86a08680b6fa6627d29136f4e01d4bbe69aa3b96f86cbd1d7bc8e817bf3a7e38f7e2840b357dc68c3bfaf891d5d91d48c7cb259d1c1b8bad377e79504f3c1d66f1e41b67e5df915c4d72b6713503cfddedae763f49a07bbcebb623b226ba205d0f1076a00ba66b460d39b74edb7d1c6417d2f0bbf6e0bd2bc284b0bba8c2f1e1ea38332e830ec1d6e519ba116b52c061175bf170493f7c38f43b16bd69c66f5c3a70c70e5478354431e084c4d10547dbb97a5273651fd0fcb187708cecc3bcea5ff26892a8d1668fd22e646ab83d87a6c2f6e3991ffb8bd3ebf6f162c439239ffce8473ed6d3a6e619798e9957e0289c59a70094b3fe3d2f76c8d43986e7e5ba6338589c7ac3ffddbffb776876519a0ebcdebac4f6effffdbf677fe3377ea39aafabc3d6ea95af7ca5e6302f2399de433c2bee82d29ce743b632b1a5a91643b8aebf69aeb8542e2384e8aa4e7f10cd159fa818d9c2f0f066cfea993f307c6ac64d0af05c1a7d9e42f3bdea15d3a097c7325e8d58ae6c679d26e1d9fdcc58c3243260f6d497fac5b3d6ab4ec77219f3213fa3dfb8294ccdb85488997ecc4bce2532cc72e5edc9bffa57ffcae8dffaaddfea51d61ff1fa07ffe01ffce00ffea0e5dd4de10ffee00fe223e0af638d4e910f2d639a7a57afe259eb552766bdab0ebbd2586b7d89436e52481fa1a8569dabc830cb559cc38813334e7cb49dab87992b7b8fdeabba9cb39f7df65901b84fd99fb8ccd54e0d0e7befafbab4e544aed8722239875c85ef5c3da9b96a11dbf5d50cdca12fb7f3dec8a56eaeb710a8c319702b85d5a1b5208e8543d7f06d88879f2fbe5eb4030e4970f07c79b518e5957be00c842092e1c32b70203bcdb12174e2e36872c7018e1d47ddb8e31b47a8f13bd23844e021d1e6583a3420431da7a187bfc663dcd1471b9d70488283e7ab57174185717520f8ce95bcd9044cae3c9895ab40b504664fae34a557ad706c3ef4eedc0303c40ea3cd25025b8d0f09642b70755d1f79e6998ffef5a73ff2ec5fbde1abbfdc6fee06c6f1d7889e79df87fffa537feb63ffe9f3befacb9fa2b0faaefaf07a4776860b473ef08b2ddac4e3a1d49ede512458af5f44f490f9755ff775f6ac1ed81c72be0411fee44ffec41382447dedd77ead669f6d7d039331225390b3f365174fc61a1b1125fea8e53bb8e6e88c5d6f383b5c4d4a59f9a3038fc9c01cfbc01fcdab788ea3d9b822972e9fafa5949732e2eb4079d1074e41ce6edc494264bd732c90c0e133723fe007cdf96a8a76f05df5758d0e3cf2e837d681ff80b9f2c42e3fe689fca4435ca1a630020b6008ba6ecf55cc3867a5cf92ab3ffcc33f74d93efdf4d36f7ad39bf82ac56f32ffdeeffd5e992faa39ae38ea833e24665d570fa1f8d538ca685ec51188282b1fa839787660fc21a4a93965d5c91e0e235b8d3ffaf94e3eeb8ac32efee1c08b768e2b8e5a97b2f2e7b8e0ec38eab10ffcd1bc8ae7389a9af86902c36f1aa8def85c2ac8191373e30219d96acdb3fc957354571cf6e88c3de3e2b0c3d59acaca8f59574c04cd6c0bb2db9697682ea88ea2fb51777fb6f53c66fb047b06b4c39e01018d8b4267ef1926576e64875cc9fce48ab173f518e56a7e00cd49dce56a06eed0c3adabd7fe63bd80fb2edab6beba1c79076696636ae2f874a3d74aca86032d1376c9d99a6c6f1357fce0ab2b4d8630a85128127648faeac6d2cbd635bed9c5932f4d2b389cdae0f8ec70b5d8e820a0c1d908866017b36608107fc69d08f5e61b6d6a86b27355fe3b2312f228e4ca996d5ed9ef3ae39df7ec39bf7615de8bdb4908980d7feaa9a7306d17307dbf6ddba1b65d38d810fb06075bd7b9f7afffeaaf4fdb944f7ff2131f7cef075efb554fbffa34d14ee5d31ffff0fb3efcf113dbe7d0bffcf87ffabc577ed1fd3d104765d53ff1cfdb1d75fb9b13e3fefeacdef062509f7497df7165e38bdfd17568e7fe536597aff661f68ffee88f1852843987f0fbbffffbc037bde94d217d66f4d082e35770fdf33c1ffbd8c724f30d6f78c3577cc557c451cb83da4f84e2fb5785ac30d2f8d55ffdd5ea38ba0cf4c10f7e90b8247b087195f9b167cd46674c81d071cd7a98b49933aea6e7b7c3b8f8986a0f2d386ac7dbb88c55ad5c51e8c19e0eda577dd55789a1d1db47a6e69d48828e14c1517cd9977d59cf45f3cd19d325efa7bba5d7015a1bbfe66bbee6e52f7f790a531b776c347ce2cf3cf38cd84a823885311cbd1d08713f406b69d53b07c2c0a47389382f40e13910af27a48b94d4394d8e74f453503b1c1c6532d6328879fbbc32baf3e8d4c8e4e4c7698290354f6608862bc81062932587231e8793fed0f4f2e528789af89aa212b932e7c5b8627306cb8f33e89aed0ce2508ba097ed5ca43fb9721e21ea68d33bf96464abeb5debf53cc22b989f3557133f9794f30d5fc1197d68630c2d44bdc6d311a967ac41863fc89aab833e4eb155ebcdabd147a1e6a137b07a8d0d52c1dfb9928a723ef5d55cb96ada53e975e1b86acaa1c9df456a7565e3584374e15b7f5cef6cfc7cadf9aed3762fd62576880ba7fb20844d41ad8b6f7b986c1c9a7a5d3270357cefaf76ae9a45b32b7e44e65517c8aeaf66e00e3ddc9a8e16c76ef62d5e56c3a6acd4c0812d7cd9ad6bf11174b57a96c7d537bb79cf6edd4c93be7541573a0d37ca8591b83a1dfc7cd549c1e3e88a93c28c45f6e0cb3197f0061a3e770518de4021d59089394e3a92a02bceced5239babbe403a5395c3dc0022b816fa41539b03e7da4ec22cb287707767b7cf6e67d68e84d7ba23c9d665f377deffbdec2b9f7edd07deffe7a78dc6dffae447fee4bd7ffddaaf7cfd6bbef8e31ffee0873f7eefc7feffd617bcec0d4fbfe1f4ec75de4d2ebea75df519fe8cef06ebb87a6b1af7cc3d5513cfd822c976740c87361c0f247e03f1f5af7fbda3ee123381cf919f0ec1f17ad8e0e5e196a3d2439dd4fddaaffd9a7fac2850ed4797ffeedffdbb6f7ce31bf3b5a9fad55ffd558fb54360fcf66ffff6b77ddbb7f96826a5ffe25ffc8b39903f3e174378b8e59e4279e095e109dc93f0777cc777fceeeffeeed5716720ffde553f6e3a0897bffff7ff3ef1c915e32aedeffdbdbfd7b3e5e4c7f3d57bdef39e2ef004897ff3377fb31da4a667b0a275684699111973b0ec197708f49d85ab4998c7570fbd086d52c7d1239f24d89e42cea93acd0d85dd40c5d3697225fee22ffea29338eebff55bbfe5187bd88bc9d7bffc749931341913e7f84e4e20d9143ef4a10fdd9e1ffaf898ceda6ffcc66f5c1eceb77ffbb77bd08da3ee447fe7777e27e370a2fd68f1377cc33724e8a9ec32ecdff99ddf9933584edef296b718f1cbbffccb05a000c3535edf4d185ac151c7897f864f38307b8e1d527eeaca5e39ab9d42be2bced6a530d26133a61e7cf55df997e3e63bfce24c9cda25de70794d3cc0f00298788010656260282b3e7663d55b9c7565a733f1681ef8079d06a5c6a82be5a9075f3557fee5b8f90e9fecd8134fb2e1085cf2828f1d1eb3dee1449bae03de81e84dbf5e767c75f72346b6c55341ebdeb4eeaf7a85677140687fd542a1e92ab01a30ba3baba9b5ac5dde07ed6dda53c5d9fbab9d2b1968fe34af9a3fa6932914ae9e6df34b3eaf44bbcb4d19b8430fb776edd6c49648e93041d56630dc9ebe65cebbbac994ad92d5305aeff37499e538bd471c5fb859de448fdfbbc0f1a573f015067def08c3478166fa0840e3420c5ab3da40387ce1f17bd718bfd85c81c50fe4853f57e61c57be6a9cae5806cd7ce11c3b846ac8ced5239babeef74e99f3eb9b55a7526db6d85574aecd8da687f3e8416e9d5738981ed29a273d1c726f47a26e2fa29e6f2fd9cfe19fffcaa7bffe8b3ef8c7ffc18f1ff3fb4b0fb87fb16c04bff0154f3ffd159c6d187319f18c03d8b8ba569c1db978d835c3b3ab9bd5429df8fb30fb4ddff44d907a1d2f42bef57efdd77f7d078ee34b1a29cf15b2e437187dc394340f1570e437bef18d7c3df8f967695d1d9ed3def4a6377974c1f159d83f4ce591b2875b0f215e257094f9bff377fe0e6552eaf5b80ca484f4b436e37a5ce1ee7972c6e58bec5fc1f5386ac437bff9cd6dda7c1df5e0ed9f14fa27ffe49f980ca9096fa5d9f979daf180e761124d48a989b9dfd8f433dbbe4b7b16f285c43f92ecb9ab09e3e1d6f1f215897de45bdffa561cb3c573b8413dcbf986d997d2c65577446a8e9ed664892f3501ebc5d76574a0e440a4d4174b228ed4d0f2f09bbff99bdffbbddfdb392aceea94b33b4d1eb01db24771e97206a5c2318a4a90d6464c65cd98ed32591fd52715a67db4222fb6b1e5e75ffecb7f8930f97195797e9efcccd3a3483a1cf3c19b14274884980e87c2777ff7778f6627da3c1189092672296a82898a7ba9f3eaa433e8e88c62364ed83ff0033f209fe5c7a4a2cc2ef26ab3c8175de74b6e4386c37038439ede018740739e82f4c2238f3dbe8cecb5beddb77846f32cf0196bce20c513b35a57c77e1973b155173f32afe1afb6ae14e2ac6af807505319fd83dd58ab4284f827cffbbe638754dfe55c9510d3db55e0aa71236bbfe1c2d465adb676396b7a35d7fdd57cefe5db3e07a1fb604fcbd07b9bbc0000400049444154f01488cc7d100168b98620d4ac46dbfbab9d2b73e351deb7cf0ecd34dee56a06eed0c3ad996abeca42cb25a345adada18b59c9b6c665b79262863374b1f31d9c8e25525782ea1902ce0e8f9f26840ebbb1e2d7953ef2ca170f0e02c134230fa751e2d05c71ccc63a29deffdd5722ebb114b3da40c3611418a343a01367e7ea51cb9547a04e9373c45ee7555dcdab365e71d8cea3fdb119826f4ad8f4fb1409b493e869d97e02ad5d17db10630f0ebc6f7fc91bbee6e93ffdc0073ef1c9cfd8377fc1cb5ef5f41b5e87e48f51622a49e5c856809a0a7df5202b9e7da6dfdb61c7874f57be8e85e128d48a0bdf038f67833e6df5c06657d4b1e8f5c040b67f4a0a5f57d797f9efdb5aa98033fca995f2c997179a275b1c0150b02df31ce8e763e5d0b39f47358f4386e6eb718ecd50e6e8d663a1404d4110e1777dd77735ae93a5d9b8f1fd6cb3071e037ddff77d9f3052a36f4e7aaef668e4e1931a7ba5352e9ab4e8f250ea731f5f3b394fb67afd13443e75a6e69990be3f8c241e61382eb84fdf687ffb6fffedbe883a3a4fc2d47c90369066f9c4291b6ab673e1510d876d74f6f47a44ec51d047dabe241bc5d06886f6b1d4e774763aba94c45370224a97e7378fc1ea0822ef9c4a85cfec5c0ea940a380562acad849fdbe3e978e05cd15e1b91432f9613bd8822c3f9a7c453b87d3c779eeae294f9e1d8ee33528f789dc9935794cb39872e51374130ccdcce90c3a3abb191ca31877c27606d79c8f6d027b7fe17c3581c9f225a89ee3ea6003d94a1c489c90d11c9c71a6df780d166763215746537334279e38641985811378e05fc6196df44733b54bbc212686f558f88efee804364af67026b690d11c9cb1ea0f4ea7ae04d57c219589597334e3e40827abae79e95bd7659c7065f44733b54b1c7938ecf558e0a33f9cc0d31867c7f8c090abfaba267eb72133d6542f9e5e4299ed2630d0bb03b555ce959e209c0d81432c95edf120d9eb7db0b5029e6ffc40cbb571d90495ec68f87008cd709ae31b1267e513416b2c8ef9aa0d34be0cee79e98a1f078d6f607671e60b67acfa83eb6ae87cd53344c7151e3f4d48f1132c0f7aeb2a7e4d250e230e02c134d7d8d8466c5c36cdf1ddb92a03a76cdecfe7f3ced55c53a9edfa3203cfada7977d4f246227e7b8ba1ad9192e57a00bb5a62d48b3501dee5ac581332a7cf342184d57f25ccf0ceb2c041f872f3ed028ecaef9ec99f1b32ec72f9889a166e3a6191f196734f355c7c94b53299ed181e068d22cf23827eab9cc7169b173dcb97adc73d5d6b979654fd02cea99d6eec1a26967dc04b0c380b4cf80b0d5adaaebdacac6f9e4479f79ef7bfff8437ff1c9af78faeb5ef5b2e716962f7cc5977ab27df6c31fd4fbe1f34f28af0aec9a8d38fa33ee8c1ead08cf4e9fe158efd43d169ade100a9e5e38f6ec0a71dd1968ae5f8f797a3db0d927a5e0290501ed1ffec37fe8f16362608717a7071584b7bded6d9a3844d40655206248ad6f741eadf3c2099f9aa1c0675c3fc2da58705e33aea6ad5e4f50866e53d8b8ba7c2b46f6d1359a0f8634a3a5a357f1cf0ea9ad1845e263a35edfb4e1131b4d33c4a7544c91c319ad5abed68a41334dcf579eb1fb1c0d8c39bd71d46b12708ad9175a4cdf247bb21d2fcfb73e7b6a9a96a350afa6529c7db665f7640b1f85490564cd18b29282ae9ed2654c3c27ddfb455705208dea1ee9f9c263992d939fc00ec7a769870399f33287d38a0a3f9c6882297455367384edd418d143757bf734d585ed0cb22b143a2e4da9feb99ffb394fb6e6e73ffa47ffc8e91bfdfbf4cfb88a3b9ce962c49ff83bea15cfe5e09897ba48f28a33b1d15c754679c69aded4e019c3ac795973c44987adac63c50f674f3ca3c3500ef8f0197aab33ea1a7ce23fc459fc27e9733978c11a31af3813c31a7ffab9cf58333a477663310e31d4bbd6710e9a0735cd9089671418ca011f7e5ed568e16befc47f88d36f8e98f3164f04574a8b0c478b80daf6c3fae3e6d52aa4d97ea6c5d6b5b0f757b2347bb676293b576685b971ba259f8bfccc7dff71cf55d7d4ae6fcac01dfa725b0ae65d94a9debba89ed9da550c0708a9c684dbe91e385d2d968f345d33903869ce58bab2e1d911c8c2f3520f275c1d2d4d8e0c0573e24150c4960e4e710231d18487af399a8cb3cce9e8561df6c4c9568a87516cf8b9a47ca6dc7b9f07d1a55e638b900e5cd9b92a4b2f76ae6c292ee755cfb470bd02503b5f6a7b08cf4ef6d39d23f3c74f73b56fd6dbbbf64ee5fadebd9d0d82aef323d65fff873f3f4da7bffc8b67deff9f5ef7d56ff89a2ffad30ffcd9273ef932ffb2cf6b5ff667cfbcefe3e71f56fef8073ff8caaf7b837f4b39c1d14fa7bdce6866a86717757facbc4f7b38bd11565f760f038e486c0ed08f95faf6380f6f8e91846778be36527a353dbd689e8fe5de2fdc7a84e005d49bbea720f65c171e1e7c46a3e023adf42af6613ee7427cca134311aecf75e927582f5b811b2866e30ece58c7f5d0e2f409cc37bd898d414d00c88251fbec69f3172da921738f06e1226017a65ff29cd8f466f750ed30f37de31bdfe803ac007c877cd39bdee4433482673ca5fccc1014d84025b007d179d0a2efa01c822c79e910796a86041229d455a7d8d22c5d4e6ba769e2d7eb7912b35418a58cc949f14c3d191b5f5ef5160c821fc6961fc70bd7dbd087fce872387e06d8e1600e2711f51c0e9b6fd7d79ce8688918c2072b1c2f110a9bac43802b38c8bd90eae834e113bf80dffdee7723f8197b3f0d2ef2082b67b5f5f2552be9abb3c31bb15a973263b1c3f1190ae424746e661ff8f92284678c4d01329cd5c619fdd348f7e7d5f8deae197f38bc94b3ccbdf9a9d9f19e7b3ee318e7788b47ade4aececeb7510eb12518ffecba73759a6f97b972cd9aae8a64f6cdd602ee826223f7dcdbdea36561d6e1d9b7c0b323f0babc0faebed9697264280675b2661f85c34e0767704c34d1e2af9ac0b3ccde5fed5c9d66c88b37af88ef724b06eed0c3adfd845dbb95c86c6b736061b254797fd34ea8150a82a3c60f4763dbc631a432bc658e2f1c194e33833b9b6f63e90aa70f6f4586f0cd4ebfb1f2e5d225111f98be459388ba180ab871c7c65ce3841b6bc64d0732f1b3c7d7b1c42f27c5cf37cd62deb92a878f5aaeec0004d639ca360decfe0ff3caae42e4ce298eed8226db936d75f3bcf9404d41a8b6513803cf7d8f0abfbff37bd9ab5ef1457ff689d34f407cf2137ffec71ff82bffd6eef96770fff299f7bdf7fc607bf2fe9257bdca3f2875a90949bfae944f0ef78b5e4f8c8718ea1c17cdb1e541b303f443bc667bbfea89a0b42fa9d78f103bde7edb73047b6aeabb1c7e3b57bde12edbe2f1fdcd37610f1ef4f38527eea1172266eeabd70c91a146e0a566cfb89aca01efdbafef1b981e6cfc4aea88ac465e2ee1cf4a4370c6d5bebb9a15465c7534fb66e2e116aee9c0bffffbbfdfcf307bdcf295d27745cfb7129b6fe34eae267eb85437500fb7317b62f783cd4ed6ffcfdedff46ab7a5579d67a2acb40c7638c83459549238454a901120770021a0410b213e81a147c712482121a3e88268d1c5286884808f000d5a8078112fb284c15860c946c209d9c9ac1246aac22e55a6c95751bfbdffcf33ce8c75efbdcff1b11d71ce79d66ccc3de698e31af35a73bdcd75af7def4ddcfe051aab83701f2e94d83cd3345d1e112fb1fc0b9718e566acdf2eceeaace96b9ec758993444f3438354ca5fb3c7cb1efe2f9bd379419967f9f81420931ef5fdea32b7983c9b25f38cff847b90f2fd39f8949ef7ccce65fbc5ef632f4ffc1b5802cb21f04c3cb9019b936d4bbde3cf903065e01cb7a8f167ce97b99aa69cab69ca679ecbe7c2175e0e70794e738eabb7324fcdb7f1a94f3c06d89c2cb77ac79f21e1f234e8396e5109f067ce5fd4b9da263b8f5c255c315c165c7f5c4efb94d06791ee5364ad91b6be32815ded9d628efc2e9218a74ff85e5f6daeccde3957ad3f9babf03d579f97b97252ec94b9c18b33f0014d90b3d7b5cfb5d24a14762954343bab6127b9731be812305e1376493df5cd661a5d02610220ff9e0c5be9e291704db1d363f46e2ccd7936aede8d05776d6a2cfc93e3c3678d8626c337d0e97f7a2e4fca53b3f9c10f13682ecf7baecca439d9fc7cc7e7ca1aa8dd6d1f797b73eed39aed3b8b06324fb6922fc4273e70d74a7c4bea9e0a282bad2cd33faeb4def9fc97bfe9bb7ee1dffddcfff7e970fd8fffe77ff87ffd4ffff64b5ffeae5ffc85ffe5e98399a7f26bbee7fb7fe0377cefd3539ce5887a9e9a0a453ee1e790e7b0f70f7ea7be1cd20f3fdbbc7b4ae934712258567afeb42af2228b3e4dbdf69d58bd86f14bb9a74f8f34ad8df00d4416dfc39e7798fd91214f3e8a57739ec4dc1a3df279158ca1172b440ef8a67439cf337f8961f604582c267ef968f6c06973ecd07a8915582dc41314cf9ee8c8da8a869b06e8412b597f79e53449bf7ce815a423c42f21cbc7ef727be5eb83037febd8efbee676ced5891d544d42cbd3cc3bd2cc5b4dfaa7cd78de04b8a1cddbe9132e13b86991fc8567d8a3a670e24d45a78021900d1476b20841f2191f2ec9cd8fdec60294126847a46cc432accea7cd317b913597cf3c7be8ed00cbb01d6dac029f877d97ffe61cd91c9a643b85dbbe8b7be6b0796e63d58d5b93723ee758e57fc6a6bff0c50abcc416884c708e8579967fcb35e1f409abcb13780dcfe7d42ce748cd4bce09e659e68f9af1f44a638982d5f536c4636cfa0b5f6c3e9960686698a058b2cca76fc479c61772fabc86e7936de336749e59cdff459f4b0ed38c67a85c72ab77e33650b1ea9667ce11435b20619c77421cd59a78f729c77cf7dcadaf08f0ee6bce62459472afafcc8949b8cc9599c123efb932150ea11d279fbbb96a21f774acdfe59519f8801e6e9dd5ae8356155bb87731c59b1c58ed103f27cad18fa79f660f75784b13bccb8455084d17560c4df5fc7561b8317765c15b03c194cba7b1305d7ad44ba6b108f43656b170836a9e63f1e44fcf61fe344ab901f472a631d03ce3db2ef88c9d7f1af5d28395f2bfe7ca547c47e6ca07dbc67de3b82270b4d8ddf6d1f31e7bfabd5cab0757494fb61e993c78748cc18e93341628ad7e5a64a85bb25870c069a6fcae2fffdf7fe0fff6fffe7ffe7f7ef1f96dd4fff1fffb8577ef331d2c5ffe8dbfe9d77ff7532cf1199b5b7cf8f48491f1ea9aead2c02cb77a4b092e7f9b63adefd9deb73a6d235e110e53da7caf5e3d4e78fceb593481d3c12c7952ed498c5ed165ac9e3de835fd995fb57fbde3f12381265bbfb5abb9b79d0b7972795f28c1f4617362da1b57f26d204d73759ad8cb785f49f5c5cec930e179daba645ea12395cd559ee993e925564756fb6b46ae5a5693f2494053acad3309ded9fae3cc72f33cef5f1fe9ad6c2ccd02fb8a698fd9d3d4e532026cdcfccd6107a4e339d934c2d3b49b34eda634f1f9f7abe6eda9b6d17b786f4aeb6db83c637218bfb92af6d4a4543bb49a1f2794a6d1c97248bf7c3cffb739fd72f27980096c2c21703bdaf4c2dbd1d25e3ef33450233656b5105f36368a339d0372fafc37d6855fdaa2e0d3b3c0f83cab0b8197dbf842ce3af142f2a7df58cb07a92458eff4cb7f9a469912bf7cf2c4e89d7f56452d36b753331f9a0bcf2d7dce330c20e3d5f9ab0bc12cb77a4bfb54c2891732dbc49acb875849b0dee93f7773e55c73c596bfc3d85dc93a0470243b779c627d94e38c73beab5d94ea8569e06205c26fdc075d63bb0f6e01436facee7d5b0bf187299bcf73ac7b7d75cfd5d6c6a6c2b1e168f9f61f571d9977fdda0c7cf4775f5e537c6178c79fe22aa6ee8208db3a4d97b0f1184d173e47ad3a1e53ac5ebc1a9f893a9f9a5d0d892f1abca31f994f58bdd8f41882399f63e92a1f4a65f8d414cb337f3238324f8c667ca9aad32059c16a1a65b1698a9d9e2146f39eabcfcb5ced8d6ec78ccfc25d97ad06ec41d8de54e017df535945592da551879f17571fad509ff8effd2fff9bffeafbbee523a25ff35ddfffdffcd7bffebb3f7affb9580bb2790eb75cd35418aad3d45c6c3910e397db627b116d33fddb1e21fdd7d01c042a5648ce11af1f61dfb655174b7cbe26458eb7d6b1fcf2d06b99e5f751154bae3dd97210dbb3347ef339b7acce1ce86baacf71e106cdd3da6ee36224a0ee6d6432e18a5f15febb7ff7effaa3ca48cd645e60a6c933d9dffb7b7fef1ffda37fd412b97dede9abb18a551bd19fad427ad012eb64ffdb7ffb6fff837ff00f60649e1ea2bc21d4340a6764fcf247a66f12f6c0df580dedb9370d32de5ef3b40cfb48625d0037e43c7b0ec4f492b658b51c7c4bd6e2c32eb677e89b0a4ce1181a3587bff377fe8ea9d06ca033ff6425e9ebaf9a0a878a8367f313df1e5f5664793abf523acc3086d82191a64199383d4dbba3cb4595727bb028e2f23463d2f627a31a17a98485f8b4c5bcd55497c362296125bec069a64fa6a99c1acd33369c407d7aa67c1ae979ac692e7c82346ab2e19a25303e807c2d677c1af534f3442a971c6a9e9e34f339634fcd30318da69279e36a9eb1e104f9636aa6d4541a775691f1172cf6e4e73c3ec06af3307cd1684e334fa472c9ade67c8869cab9f4f229709ed3e3c9349553a389ef5c3bef4d2ea4ee509d592d609c1a945ddead4f22ab5bf3742f0eab69e809d4308660518d958faeada988874f4db1f9d02870649e18cdf85255a741b282d534ca62d3143b7d396bca4448f988c2149b61636d8b78626a52e679d1e09b9f7cc2eac5a6c710ccf99c075d9b1fe2e153532ccffcf38ccc13a3195faaeae604c90a56d328f105c2c54e8fc7687e50736593eff2c60c7cb45a7d43f4c5e8b236b521ce162740a053d1b907747af4f95cbdf413581889a221569c4575b560829d7e62a717db69869f862d5e78faf241163b3e7f63e1d3c046e40f880d0bac79f11475c69652db8597153d0d5e7339706b1b01259ee69eab2fe45c795eb2971d00ad1e3a743d0c00f11d3670cb9137ea2d53a6f98fffd9afff4d3ff05f7c570f02ffe9affd8dbff937fadd5056a75bab192145d5153e9985003d8cadb771e3275baf6d417a0cf0e4e3fb8776e24583b1b19e823ca1f5b76d377acf1ebe343ba6d89e5b7a19d8ea8a03922ca547c4bed5693516a3eef4a7875f982becf382cf101b1756e2d5e7b8786f62d5ffe6dffc1b7abdcda4e7a29ffcc99f547b3f893157fd4964cff6649b2b0fe4c9fa5bc4c2fbdf488e07df1c6e44b10e8c7ffc8fff7107496f115d73f47aa2f69877e6b6d7d4c5ae6e444d05eef9d3c524260743db0bfec893ffd3334f8f823ff1133f61933de3fd96dff25b9679816aca4ad3c2f3a77ffaa73b6e1b4b86fe0b0e8d87c9a6bd193315ed8baccc95d7ceb6d4549cabf38d681e9878a58f31156d2946b8e12ef393b2cdf1fbeacbd379b4cdf96f9fff752db776f41ef51b5148efb7c72fedb634cf76b4b4fb4278f92c673bf79ffdb37f664b89d313289d3be178b528cc93eefdac0e0367ef04f9acb9719bab787520f3d734f5ae068617bed818750c305c54ccc501f9c8e4703a2f9658b9e76af3f6ed9c2b33efb4b2f851dc959c38d2e8ba013bb37ceed35d89c0fac4891f7fafaf9a96cd43b7b67bae1c27e6c471e26af974547d41d7edcf17adbb7a61063ea05f4bf6794f6ba08e7247bcf918b67ad3ecb322e783122673b1d09b9e6638be8b48b19d45a71ece8720cd2e3a787a85615832349a170d12930f8d124e092788872b794aa06d31105e3dfd99ffb617c8273dbced1dc6b02a077a252ce4dc769ac59e63154bccf0d4c3f910a4b9cc83108634c5d2685e34c80f73ae3c15d8f6f69d15f08b73358da72f9ae60ac60bb498809d2366b5079b2d01f779bc903d09e89d40ecb76abef4fff881ffece7fffd7ff8f2f7ffe73e49d24b79c6c6a891c369aaf103c9366e5d91a76758adab87cfd6dcfe18ef191bf6f46b8544e9a56e8686cbb36789fd0eed62e37bf6104ee029e5c77ffcc7fb9348eea30a928cb357b81e2fc52afcffe5bffc971ebaf47aab6694c886833ff9b89486f3d8e3b1fcc77eecc73ce17859674499e8f2b8d85b689e9ecade90f55254887033e071c88670f3a8cfca5396f5a513cd16b5bd36c134fa6345fe12af517461c80cedb4f514aaa96c5b385fb0de4d82df672630c40ffee00ffe8be7e2b7884d4ecfd89dbffefb6b0e6ab1f4a7bf9d25375dfe20b03face5af377b46b5533c2af7c19c799070fbd48cd917f688d7da8f335632cc951d0370a39b90e6e79ffc937ff2f6fc781af74fa12463833cae9ba2c7cdc9ff3c900cb4b91a8fa134cfa5fdc68e26539a1c3bce51c1b05d56fe6d541af5b6ab7117db88d5858409d234c43ca70194930f3fea1f3567ec862b5057e39e1a58ef7c8653e213a82f38cfa72d793f57c59efa8b86329f78f5191b4e330c840b599e7ce201e5e4c38ffa47cd195b32a7e789174bf68853e2196edc134792a5aceba2bf6828c9ceb1ced8709a61207ce6c04471f7710fe2e67486bb86e3bdd7c5bb55c5bbc171785c33a4ef3e48ffe27df05e33984f17a8cb3cdc73e578330926e7f1b8faaccd556b39a9dee5b51978bac67d20a5a3d6f5ce81db69bc0d8fd1ec08b66c82d3031ede163b9e8f0b683ca0e8524e7e38c1ce1ccbafe1a2f8c80156cbc188701a0c1f4d3c9f303d7ce699278d02eb0538b4d40b37d693e259b3eda2c13c7a1aab99e153ac3aa67cd4670e9af35c9e48583ef75c7dd6e6ca67e1ed4717caf6577baa5f79d5a5587c6c15d24264cc7a9f854fca4a7aff9cf5d7ffe75f7e7a6e7b7e2c69cd115e4d59ec1cf2546f4d53d77bcf770bb2394c9fac5aafa334ecfb8a9e4fd263e693c0f395f7ba8b028c6b379179d63af51cf6622d37ff3fd6538403db138567331f16784cf2c79678c25edf09a7f48bbb4e1f320fb79dd7f1ba94e5e3046c5c6b8ecb5c6d5c8115ff05f7b7fff6df6e209efe20564f9806fabdbff7f71a629e327c4396951c3c9279c8f47100374fb97ebdd976f9abc87266259ff2f4b8f83b7ec7efb02ddef19229c635bd369986dbc6a5d73c6b337399843c7d41f4f7fffedfef0b72b6d18678f54de661d25fa8ea9772f3214eaf8e315d9ee5ac7739f46f603dbbfa2573afa625dffc505644bd3663bfeff7fdbe73e13e7f8161c0fc7884becccf1ff8037fc0e9d3fcd0b4ed8e258636c71c5e36c7a36f9e6cb7a3374a639d3bba63a03d6835ffb8a37b299d83d1819e8d01bbe3dc17ccf3bf1c57672c5c49f9a8d77b7a6a9ecaf03b8be71f8fbdd39c3ec3c54e93bf5e609ad73c2fdb959e78fad321cffcd39cbd317a2f9e673e7065fe9aa75ef3f4d43c95e11caa1f7ba7397d86cfa861bdf034af799e79d2a40714e1ead321cff867c9b7f4c6e8bd78ce0758993fe6d46b6ec4ee47ad13ba137557eab3d7ace24f4deb16172b978ef8d642e1a2e02ef86a978eaec3e9318d826712cef3bc5fe749a3c0940007d810e1c67a52dcebabe7b70ecdc33d57bf4ac755c7db5dbf3603ef3ef47dadfb53f35dcb849f17b5f02e6d9a15cc7bf8f467396a062eb5b305f374f138806b5f2450d759d7e5a5c1d7bffe75d8754dafa3cd450d76157385c274bdeb229866bd914276f5b45de1b3ce50579e17e7f18d757a62f496c089912be9d32027c36b6ee80b2fbd1c4a6618d095186e7b03eac47ae3efb9fa5ccc9583dffeea38b14a2867a715526d6faab78eef746b5f13f4a13bb26504b1fbba6727cbfad637ba88b70a39173d273e35279e490ed504d38cc718eb7ffdd99ffdb55ffd6ae0bbbff29547fd73e8bb7c165b927fe48ffc91bff6d7fe1a7cf2702117fef48193e5b39034ea0b5fd373ace249cc8417d2ec79076e62f3a4b447d434b9cd2a3059408de7b6baa893692cbbdbe31c5ba59d98e6d4c3566c7d43b827c66932d9283684a1cc7bef3d7efa6c5991d1704b994fbdd56281f19a8a2b89da71b52ecdb0f9b14cf458e8410e833f63d3243e719a785931f1b87b4e3bc1ac92d178a17ace18c3d37378b1056ab6e1edd9f53e475ff7972d6d735c993354cfa790d5177ecd40e1f6a0b44ddd9ef9259003d989d39fb133d49578750edb96f864f3397b4ffd892f9af2d928eb2de4c29f3ef0628713548b3df93503ebbaf079eac59f38fd19bbc0890bb968ce2d5ac894f572501ef16217487689a5798ebef291f34c76fa24582c705ad54cbfae850f2cfcedd8530f9755750e2793d5421ef5566845b902386b7c18e454759e563bfe91ae367c60bc9ac6c576972017257c6b3c98deed0c43c3b9cbc2891bae3a7d1acc64784d5697f078e60b3f3172e3c26267a829b6def87b7d75cfd50e8f4f7e5c3983bef18d6f58a1398adcfad597e2bcc0e80a84d3a4573f16e7572450d17c0f9f7e3a8031eaf0598f043e0be5837b73ebe871357165b49bed00e795753cecf0ea08d30b60f02e6a300d92b8ab52d7d6765e9fede563354390095e94269fc87c1a0b23847e9a62f39c0f992250ad6b3968d2680232ac0b56f09a805a9e40e1700003eb55e446dfb67353d2f0cc418da4a7a1bfe7ea0b3957560076aebdac78676b3161bfb762c0bb8656c227f3bee7a39f7a15d73b5475cca3033e4d7a2b92f4c88574dd3c95c38bc5882d64236632cf391735fee2a657c92a7ca9eb2aaa2ed802cbb7739d1ae30de7e561a7cc64566cca69985bb92df39904ce9a4653bdfcb979da31961cdc6f9a0764ca6273969e243d17e9c52bf1e5a39967db22f3f8732c9a397b136e50cf785d7c125feaa7319ecb786e66a0275b3de3c3acbc2a578f3f4156e55c1d93266ceb38943c0d527dce553239b4bfe636ab0bd37ce6d340e6c78677b3c7a4afeb1c4b88d3c72836679a8d92feaceb528f0c9fbcb46ddd9e6ca77c04456d5b086252ce395e4d893cf33f43e28b4a39bc58cce35c65b2f9178ba99c635ddc1220e3df477cf4b3aeb337fc06ff51f0032aaadcaa6312ce59334c039cf9d7b5dee6019972fcc9dc73d56c3cce951b902b951bd0ae12fb5b71781feeb83159a298d57b7d652acc493366429a93007e6bc8780cbd6b6313680e31f75ad4e47caee7aadd7dd7afcdc0d32de7b5be5f0e3fdbc059efa286ac60dec35fdd37b7ae05161c1ed83adbdb4038d0f5424d836979ea42903e802ff6d420f5a6cf24c3c59e8294c92e02b2c6022e3ea7790ec54a635da2e476e135f13419ae46169b200d7c2a09eeb932639f8bb9da9b5bc7402f6001a7957daab61fad18009b13a8cb4a3dd2eab92381c01baa8e04bfadaad7e69f2bbfd66d275fef459360b11faba1544451fe877ff5afbcb0d5dc2b5cf80dffa7c8f7b13ff4433ff457ffea5f251e09d4cc7cca9ae53941516b9e3e2779c69efee13c5fe4993cc69efaf5a65c3ea72672ca6980649f30367ddb75c69efc469967fa4b3ec904be1dabf70c9fe78b7cbd17cd39ee636ef99c1a8c3265cd3772782d762639249bcf09ceb1c65fc68d3f3d17a5eb92c3c67a832fea127beae18fd56cd32e3ee5a9bef0a7ff199b9e7864b127ff984ffa8b67b2f94c5326d5f5aeabb11e7dc6bf187bea1b74f5fc4f4de4a3069fec92db6bb1e94bfe8c3df98d32cff417cf6402df8ed57b86cff345bede8be61cf731b77c4e0d4699b2e625879ff9999fb13c736ff2cb17ee3e6e5e0456236ac512314ce333260e91ee6b3513e003ad73e02da8babbad99a04cbad9c19135d5c4f7fa6ad372cfd5d6c61d1b0e517302abbffdc79535defde6b663f2b5fac37a73eb70ecdda6e970d952631c9d2e6afb2c308d8315afd0a72176615523d338d6358b85f1d3208bc5286124ccd958914f7dcf45170763c98a583156408d0f1bb7d8f7714f3f75e55c2c7f64f903db5eb164e7b6a4514f03e79f72fc3d575fc8b9f25978c79525c53e237f3aa4de972d5006f484c75864c0d597de69f0d619f54ea9598921a659ef6201e5c28fc133d17c8c7d0a7b2e8df2bef5eeb3bce5f32e896f5d7b4dfc088c58ec024b807203ad2b725d6dc5e3b6e4b0a8e536e5ba62186e7ba741564e26e71875cdc5d6ac2e167e6c2e9f7a139ca3bc1ff9fa93a6d805ce3c46c0bac26396f3c99fb8c0e5b67c66182364db3b0db27232029131ea9a8bad595d2cfcd85c3ef52638477937f0c30f9a621738f31811eb0a8f59ce277fe20297dbf299618c906def34c8cac90844c6a86b2eb66675b1f06373f9d49be01ce5ddc00f3f688a5de0cc6344ac2b3c66399ffc890b5c6ecb67863142b6bdd3202b27231019a3aeb9d89ad5c5c28fcde5536f82739477033ffca0297681338f11b1aef098e57cf2272e70b92d9f19c608d9f64e83ac8cf1ce56a05b52ebab7efbd142c8bde95e5f9916ebb173fd76ced5bd16ed98699df681ccd5ceb21bbc38031f7d48fc62f7a7265db68a0d9cf52e855ddad49813d7543f16472d527d029f614402759d755dbed1f1b5af7dcd65b4ab43d74ab5a7b89edcc2e54c033071aa5cf4c894e3374559cd27937c90c0652ce3ce5fef6bb8d87cd29c9ef00aff70b9850b97b6265cfe758dd40c4f632078db58d425ff4cda4c82e5bf5116359f42d4f75c6d4e9aa55ffe5c3983cc7c13dbf7947822ed17cfaee178a709bea503a049e3cd6d62e78b66c79237b77616be1db7558826bcaef898931c4e7ff159d48527ee852dd02bdc53f922a6acb0da776e31674ae1c7b192bdcd9f3eb31532bed1d5aff9ac4bc81998fe63735bd427f76f94c7fa926acec87228cf8fcd2793c5167e6e4b3ef1e1f96b563ef9b69cfa8fcdadac5ecc8dcf197e2a5fc4ef127dbf5be79989dea63790781acd8fc5a74ffaacc6e71919be78ae2b7e81e7be786d9e4b7ef527f49f7e23c6147ec947f34c294cffe2586ff3a7cf6c2f4367fb9a8fdeba96f9a9ffd8dc16f5c9fd4befb16edc4b3e9ae7367e6c3e9994d5059f3eb32d8d94ab3ff9b61492fe63732bab17733bf309979837b79a1645dd19fb0e853b1a938a5b929b945ff8ef1d8317b678216e58c9baf721771f746bcb8d6ceb930b26c6286e9169c2e39f3b9faaee89c03ce16462c3c00247ea0a4f6320f8b20628ff34e758852f7ffe8d524d391fca4a5694f910c417022700d2dc6bd1cfdd5c59bffde88ffee8fd9ddb0eec17eb0fe8cd6dd7c4cee7bd3b75dabb6a38b29b1d1ae7b94b80e27332d85580805e8da484bb588405e2d5623b4344c14f16cfbc4026f039164def45f3a7c907e8f3b9785860e1f1e5592cac4b3e09f81b57bdd8049af4db46cd784c1b159367984f039ddb78e6af97e69eabe6e1733757bdb3b5af1d5dfda19a3661c755078065472b8fd56470f553dff18007c7b7e678ee7cc79c51b042635102cca1a898ea0cc79c7a38fde933e532590e335c142672f533f1d1d6515e7c72cbe18cc2cb67bdc0199b72bd8fa34c304fe26180dbb9ed316a65cafcc79cfa37e6eacc730e9968b6a5d5736e44cd9379f4c9ed125bc83d57cd6153b4fa9eabe763ea3eae9ece7de53c832ec746c7cf6489bf00e7a09b91f586bffb60a561a32cdff77f6e357d32abd73deb5e5fb56c6b6dd65c9deb3473e5f67dcf9559fa62afdbede8bbbc31031fd09b5b7f2db925bb8ba333bf2b69b52b66cf846a8cf972629c4c570a7c97929e006ba68769d4752d36e734092e234aa658bc414fcf33874b86591157f29f1ed936020d1798ff9a97edc52b1b0bbee7ca24b46b3ee373e553ea8e5279fab3b71d57d60792efd7bdbcbfa5b1399a304d47a98fc3edf17de7d641a260287d2ea856b6720aab2db05a726da575361ff50b39f5993cd6e7776ef7d792e7790ef4985bdfb91d5fd463ec859f1e78119ffae1c4d597ed8aa404dac0c085d7ccede4535ef8c7591ab3d8318b5d02a766b881d4e9cf3a32c1859f1e78119ffae1c4d5f20cd43b0cb409810baff9a85fc8c573e33ecec97c4e4d646e6ae571ac8638a3a60184bc31d6b3e5d5f3a29f73e2ea06853756585d7840ad2c8df019fbdcff51863537e28b99bca6c95c7dfa9f785d8ffe67ecd98bafebf4b9e0533f5c60f5451f4909e81ab8f09ab99dfc422e9e1b37c3d58b1d33cfc7714fcf06523f3a4726387b31cafc5fc4a77ef839ee5d75e67062dd6d42203587352fe32628e4f419b3d1c7cc730c4ddfb9f55facdcb95ab420dda1fa6c0e7677535bc2c5035edeba4fa9e91370a6df7d90a6fb20a69b38c1e53ebed54e77c37ae94bb25a2ce0b698066e5d04946a8000a0593337cd62016523c2f96452bdde4b6cfc34621b08ff647a6c175cfe75913d7a26985b9a7bae3e4773652d777fe7f6f9c07fb5fa80dedc7686f77c6b3e5c6e7caee324c73babe19ddbde5fc1e3295d05306201c539705e377b2f4aaf8b736708c0531d99499812aff02cb6e672d3dc3b349a7c909c6156e9e3b961a6a7d16bbb1a0bdf7034cb19939e66b1cbadfcd5cb87c658f75c7dc1e66adfb3ed3bb7b6aee3eaf27f6e23ad1e00752b1875007982f08b75b173c8b6b54b7a38f2f484e3e70928a7cfa3f37acfd86cc55efc73433ef291eae5c67978fcc59346d772d09b007982f08b75b17310a81877cc7218934ffc3c01651a26e16a5d63f2574706c26322c502e1c0059fb90dd35c722b36b7f2c967c39de0cce4828b9d43b6c61ab31cc6e470c907a94cc3275cad6b0c70c66a3e87dec7d5bbd9bbe7aa436207c67d5c7d9273d0a7ae16214a6b0f2b1f1368d5e1778b5a7be8c2b43e015aff44ba793d453e0beef59519682aeeb9fa02afdb9d02777963063ea037b73ff2233fd277309cf98e78574367bea9d10c84d59a5d1a5c52354f9c46f89ef430c3a7673ebbce7695d940a70fff9e2b1af762928f5a29d5331fb8d18b2de129b769a5b1d1e7b371a7149b7f69e0efb9da7e3139f06773ae5a50b6ebfbcf66f6e3ded9863dc4127867db5adcb6046c516f6ec9ac42ecfad613fd9fdb56660295f0180069f5ffdcf9516fcd3d1bacf7e487811986f74792f7e5dbc78128f39f4f9af87c5ed42cdb37341793350bd9b85995fc59939dcac9901b7dfa67ed47cf5135cf6d39f16c4fd9633e7acf816a9e3e27cef345cd4cded01438c19a318fb9c5ac263b958d587ae1b3f7597bcfd5bb67c87bae1c0f9b04c061b3ba43e5c2dcc7d579367da6e6aaff73dbadd6176ead3adcbcd492ec7bb6b0f55b5fb575c3c2f7e616b05161e13531ddd4ac88dcd4b6ce099325502b3581eeec34704b29f85e5f35336ae59e2b078943f13b7e5cb9947df39bdfbcbf73db61f962fd01bdb9ddbb4a8726ec2c75e572a47a3f1950f76e13e96a4883514c5c18afd0e805e2c37936c542f229163616bdda678d05a6e99aaba6118b74cec080c273bc28b118807eb9c1f8fcc5c2025935167d29cd47b34cc81ab7d8785d0a1ffe98728069605de50668c28ff988bae7eab33f573df4b613bdbf6df5701e57fd02b38542ab434fbc5b17ee3378fb3a7275faf813132827736aea3deb3907740d4c36cd7ac74c3c86e6715bb2a2a9cc27e57ac7036dfbc984f18ffe986fe75cc9a46273dec36f61e22ff5c427ffb82d73267b54ae17a817b8e7ea79aa3e3a47eee3ea3eaece736778a7cc18a7cf873657b6dd8ac2d2c26d4869c5e2335677a2561a308db2b507a0a9b7354c6b1e0ed3f081e7467fafafeeb9724858a33a2a1c2a56b0ad7577cc603e2fc7959ceff2c60c7c406f6e7de7d60dc381ebb076869f931289c1770574dc7715e8f9d035b1231e28703ea75e5727ccf49842c65f3429d509d23756180f28e5b6e42f8609d4f832af1e5fc235cfb116029c9a35f9c02ba7062ef3c6bae7ea3b3857d6433b242c083aae7ce716e9d9d5ee837b64a584bdbf6d9f7a678b775c011e48fa9d644dbd7de7d659039feb2d18333e9f5663c30b095c78cdc2e32f1adfb9fdb55ffdead316fdeccff60f6fd39fe32ea471575f784da5b1cef06160b191e9dfc66f180a7ff43cf58ffe0b09a89533241cafbee4a67723a68999c9424e659e594dbf90f1afc55e7220532e3e2f9a905df833ab4ca679f4aceb4cfe125217b272c9f332164d4ce00c3995792eedd353c8f813234f879c3796e68bf832d06918be789efa47cf85cc27cd9a856b56ceed7a3bff056edb4f3db793cffc4cf582cfd80285d0bc8d2f26e7a0e11ce673ea1ffd17329f346b16ae59b9e476198be6322ea6905399e7c9677ee15f8bbde4b0d847fe0dc3cccfac30a7bee6e9b990805a3943c2f1ea3316be8c55acefdc5a4e7ccff77c8f55440b097725f753b7a43e7b85057a94759f7277c3374a77b71e80f1c8dd0769ba0faacf358f81ca2d3eccbfb54d37f199e885d5e3014cf5f8626b9e63155eeca9c19fc369564e0d5c868dd5b4b445c4c0194273ea756d13f0290b197fd1e4ac3ef33f63f1f934d6bd16fd0ece95f3e8fe6bc91d8dafd51fd09b5b67a993d3e734ae119da56a05ef2cede2a869a6bcff54c394f45d11307026bafabc67faae3e5d08b801a2d2088cc7008ab122295f1b4b577acee52604031b94c9f201e4898fd42c73b558cda721dfff664ed74724ffbac8ca0740c25db934e57fcfd51778aebcbf6d65d071b543e8177ff1171d30365c710d5586635a559c5d0956d755e06a512ff29139afb62e39dd1ab1de99cc19df5a6756291b319fc42fe6d05873db5802d39f3e8f0e0536e28997c3a54bf32c422a48a0fa7194f84725feb5fcdff9beff31ff7baece79362dcdccfb797afa19a3bee76ab3e1987c9aa9f7d7844d578cfa9eab7bae3603e771b223a4ded7ae57dd772c3c5a7b886a65e2778beef5d5bd16bdd7a2ce8873ddae79973766e0a30f47df107d8aaeae62022f173bcc2e6dba2a98f7f0e997d96a062eb53537e6e959ed003ee18b04ea3aebba7ca3c39b5bd83adea5531a7bf073b80ce36b72a0d4ac2c24e034abf7e491c478b1c07ce63fb1defcabf18b857bb6cc471d73a93994f3c9239517197c391b513e614a60e9d194cf93cb7b4c036f7e26a6c4d73ca3900b0934d6854762eeb9fa159cabbe4fdbbe702274e4ec9dad8108e2d5bdb9b55bf13e085f5db8ddea3317fabe736b4f29ced09eb8ce356e5df12fe2c8624f8cd1ccea113f7ee79678b2c063f8c93fe217c72af3c7fc4ffe357c26300d5231fa235357fc8b38b2d813b72d02918f187919eb94a54ff31a7f6a1efd37ee46b9e84ffe357c26300d52e1f6c8d415ff228e2cf6c46fe47ffa70aea95e480053ef8bfca999e034096f8b2efa937f0d9f094c8354b83d3275c5bf88238b3df11bf99f3e9c6baa1712c0d4fb227f6a26384dc2dba28bfee45fc36702d320156e8f4c5df12fe2c8624ffc46fea70fe79aea850430f5bec89f9a094e93f0b6e8a23ff9d7f099c0344885db235357fc8b38b2d813bf91ffe9c3b9a65a48dfb985ad0dface2d818f5fd5ee539e72f1b03b9a551c99bb587f271920d0d5cd14a9b71bd9d67b5b6fd010d75b1d73a93990a94f5ef335066f88d633ee9e61b1c0964c348df8e4f21ed3c08da57762185ff38c422e24d058171e89b9d7575fe0b9726adcdfb97590bf513ea037b7d6ebadf84d472fa91cfa2e1f9a40d8bbca2e34487a971545579f20c2ae1ab0a8e79e77ef608945897dbc9a34969a7e18a0e49f4fb165a2ab3c81b01125a0c663f8d0cb01a9395e53579ae901253d7f588858a303cadecd3e0b9f7a817ceeb9321b5fd4b9f25978c795b5427f33d93ac0d3ec8eab9e8acd806587d27a02c0c0cfdcbbf5509a6a2b0c205c9d72582c4d3e758527582c50996c51f8e17a53e63c7fe4f0f48bad77db356556e539bca88b3e5bbde331c3f16538ff6582c97f4ccac682cbe1b17782c07ce873387dd22c2437cdf25956634efd70bddbae334a5779026175a35cf41b7a3c66b8588c327f38370c10ae7e16beeb85cb61faf54e1c980f7d9a2917bb9018cdf2595663525eea7ab75d6794aef204c2ea46b9e837f478cc70b11865fe706e18205cfd2cbce7ea9eaba703e1f9d0f88c5eaf2c3cdc952c541447bbe27e54c2d630fd8d431a0c01269ce6c404f7faca0cdc73b563c371053b6ccc89721e579fdf757ba7c65dbf36031fdc9b5bc7b7b97065ec49cf41df939e231edf131d32ac26230ea895c5c663c476b57deeff28049f3993d3b390ae3e0916583e2593677912182ec3d9224befe41babd85379e21238fddb161ae4c61a2e877bae9a87cfe65cb570692ff786d67e8cecdfdeee3bb73ef3f31c7bf9cead5eb142ec74c5a7247b73cb646b6882f0b9861ede88d3d7b545d5f8f9006175329af3ffdcf6e5dbd77ce2cfd827bb67ab850cd47586c06d5d5d05aae3a7bfe47f89cae1529fb19711eb5267bbb1925dc63a7d861f63310b1f987e03c53c361732b0d885e812986024103ffd25ff4b540e97fa8c9dffdb6325bb8c75fa0c03c92e79c6bfe673a64179361732708e35dbb7f3cff3923fc3332a7ca937d6a3b2ae1238fd1ff3147bfa0c3fc6e613ff9a4ffc190bd75cc8405d67087c6e4b81eaf8e92f395fa272b8d467ec65c4bad4d96eac6497b14e9fe1c758ccc207a6df40318fcd850c2c7621ba04261809c44f7fc9ff1295c3a53e63e7fff658c92e639d3ec340b24b9ef1f9f47f6edd74bef4a52f7517739fd5a578caddeb594d4f2675e12d9f30eecb7eff885b4d2087049a959646adbb306e737cbaa76bc245552fe4c26752eca93cb158cdd39fc9c88d45102e877b7dd53cdc73751e4b27de21648aacdfee37b726e48df201bdb9dd51d2c96352f6b98e2e9fdf603abb60d71de43480a8aeaaf870fa625d98d2e710eee245a6374fbd95fcd57bd78a2f1f40087d796e5c64fa6235c5eaa53f7dce583837b56bba5a62d5fc6505abc9f00ab06da4d72c87f8c9c4c262d56dd76231ca72c68791e7b8e97308db84e7d07bae9e3eabfef6cc554fb986b374f0fe76c795bf296591d1eeb03e005a9a9c6b9d9381cf327d4057c02a04566b564fb9f093812b39c073c827feb5d845bdb7f9682b0ac1a7d9365e78cd653b2c6afa70595df8530f37564acd957875001fd8966a9643fc64539efc303007caf0c7c612accc1f18d6bb6dbff09ae5b971b39abed86572f28ba5d958291ba57abd818b72a3eb4d507d895dd434c072d6bb0c0b7cd4c7885a99a6107cccb6f1c26b2edb6151d38797c9c99f7ab8b1526aae2c8700fe546e74647c75e12773c19a8d75d61f1b4bb0b24c2e636d1b2fbce6b21de6367db87c2efca987f5c6a8cf12af0ee80a6c1b35cb217eb2294f7e189803e532dcd0539e3ec895f185e063b6ed175eb33c376e56d36bc2cbe4e417bb51621a62f57a03f8c03962394cf918bba86900c5fdc86ae15c33588d687a677bafafcc4feb43e05e5f99040786f281af45cdc35d5e9b81a7e5e66b7dbf1c7eb68f17b25d52755530efe1d32f5fd50c5c6a4733e6f9a8fe08589a4702759d755d7de7b627374f0e5d437b7edb668a822df1f5f6dce5929a46d7408f6134c4f8f4676c86e72897f0c5ce139846f862333f0d1b54bdaed77268131a0b6e5b22856f1b13344475a39ff5995b1a0c500e79de73d58c7da7e6aa95819d2201af6107d6748af9b4cfee769aecb116296d1f7b03948abfeae1686c9feeffdcb6d35bb5506a5e7064fc2928b01abf35d0892f1acdf33bb7fe5af2c61a28e46ce67cf2f0394a3852bdd8134c73c64e3c32a056161ee6f04c5f79645d973c4716b5ba4c1eeb0966085c3ceb3a134bb39047fd42ce114ffd040329354f066edc9101b572a6f49803c3b735a7e0d9ef5d75e67ce28ba6e68be39e89919dcd473dc1394a38f28c9d490e35cfd8894706d4cac2c34679a6af3cb2ae46996664cceab27dac27008a052e9e759d89a559c8a37e21e788a77e8281949a270337eec8805a39537acca1cd7943730a32ac3e733ef14553f3c571cf41c9cee6a39ee01c251c79c6ce24879a67ecc423036a65e161a33cd3571e5957a34c33326675d93ed61300c50217cfbafacead5584a6dad76ec95abcb9670178772e5fa96d13ace5facead6fd0b86df53d1a80a625cd49deeb2b736242ce79d03cd790baccf04583d9aa66e291e9d5eb9a2770f22d27da2ff0bd166dea9ab74f37575e3fdc7f2dd934be513ea037b7bde7ec48ea7de9f00e2f9f03751550bb7a3af8eaeaf321d82500efe4748a2a045d8e817d8684e71f4f0f774d114e8307c2eaf64d1a811875b1ba8ca509e0871b4b86e935bb6a18e5cc81bec062c9b28ad76594796aea4d00cba77908ab4b151f580e9af75c7deee6cac36dfbba63a34362fb54577bb965c4d622562715c7c37bf8b436825703e1c80bb646995beb9564f0a92faad1c3673d07218b223835f8fc91f41bf739e25db6e1393c6a9e2ddf6d69e60baf59263994ed25b7ba8a1a2e36f3d9d64c195e3e9a6d4b0e70a0d8463cc78d3f7bc38bd28ca9c6e7afc967e3e29569d6c43c6a90ca3481c2e3cb3006469e39bf18987826a7ff052f1f7cdb5214bc70a011cf71f3a93ef945e9aab71a9fbf26fdc6c52bd3ac8979d42095690285c797490c8cbce456d71938e6c9fab9d4fb88978faeb6a5583880071af11c37feec0d2f4a33a61a9fbf269f8d8b57a65913f3a8412ad3040a8f2fc3181879e6fc6260e2999cfe17bc7cf06d4b51f0c281463cc7cda7fae417a5abde6a7cfe9af41b17af4cb326e6518354a609141e5f263130f2925b5d67e09827ebe752ef235e3ebada9662e1001e68c473dc78b59b8e358cdb502b1377254faa3db522fb3fb74f6b947b7df57eae4c91b96a4e9a37d3d87d1c88b7666b3d79af45bf90736547dfe5c519f8b0dedcbaa4b66a779e3bf31deb2e047b32415ee6a8ab2d258d5aaf906261a47abd6ba6d1253cffc6c2888d5c78b2f1992c49bd1300e7588ff96cdc33e429feb994c3f2c16d5b16d8b8ba9a8aa571c68ecc7635be99b9e7ca7c7efb8f2beb0083da1de6bfc5843dd237697ba98ba42140c24a02c0feed6f26cbdcef24f3696ff67f6e853871dad1c4c363025bafa4a70ca8c397e61bfafecf2d7d5fbe4df986beac96dbe3d02fc62e9f329c068879149ccae9935db6714a60e5d43ce2735c2167f3c5b112cc1ce099f20dfda929e4938c35cd39cac8b665f934c4a97c319f854f09ace4a9f9626c639d1acaa571f223e71cc0e7fcb6ff34a7ff891fc7d25b7ac9e61f79c9a7344ee5f4f99cfe1865213563c22fc69ee3929dcd37f433cf3fe51bfab25a6ea5fdb1632d9f739491a7c904031b11a35c728b5c3e35d5793eeacfb14ecd422efea77ee68953bea1173bcde97fe233871337d61c34599d81a7207e639d3e27be84d42c36fcf6b64cb39037f489abb715f47de7f67bbff77bddbfbafb00f86e5e9ee26a026e55561aba3c36bb55797fdbfd8b273e124e0fe4a6eea61c9358ad2400f8885a8dd91a6918501652532d6af77d18b3d84051e9eff5d53d57ad96779c74607cf2e3eafece6d33f646fd01bdb975dc282e708e2ac0a4c04d0de09d67a40b93cfbae229c35db95c58f15db9c29ace524cd7c4baa6e1194f031b85a0418b32624c43f3d45438d00309e079f6399c2e0e670e040abd42d3286470867af3016425b67ce2450161fcb3cd3d574f13f2059eab3e0bef28dadf4f765c75f03c6dfcfb6215a2f4793c2eacae7f606b9a1875a090ea98297398cff41bab45cce970c18bcd730e01f5c61a53483ec893af3966cd31a2caed646638cfe54f0627ae37f16356178d66cc948fa364b8b1281f73cba43a0738cf91d36cac311b145369d0ea9379dffff4739ac77c663887e52f102e7c0ec06356178d66cc948fa364b8b1281f73cba43a0738cf91d36cac311b145369d0ea9379dffff4739ac77c663887e52f102e7c0ec06356178d66cc948fa364b8b1281f73cba43a0738cf91d36cac311b145369d0ea9379dffff4739ac77c663887e52f102e7c0ec06356178d66cc948fa364b8b1281f73cba43a0738cf91d36cac311b145369d0ea9379dffff4739ac77c663887e52f102e7c0ec06356178d66cc948fa364b8b128cfdc3cc712b45cd9dac69b5bf85e5fdd6bd17bdd7e598b9ee7d78d1f67e0037a73fbb5af7dcdc5b4aba48900d49ee22ce52de8cf33a7ae2eb2700f7e64e196fe177e56e3192299300734e17a1b6b4c9af47bc8acb7278d79bee8b3fccf1cc2e9db46389fe9cf6d3f738389d387056a9efaf26c4e744d76f2e9f339f9596dbbda7626f75c6d4e36b74de3f8d7e6ca5b595dc4eabe5b6b3ead0c34ad39f0cf6b8fff582fbe4fc445c57b9ddbfcab2d38fabf0bfb3fb75bb5d877c301ccb99a79c4318f7c81333c7dface2de67c73aba9bce813afbee4463c72b1673e27be984c0fbc882fb169d4cbe1c4bf7a73f538ee2719eb31b77bae5e9bb77bae3ac65e9b9f93bfe7ea9eab8e8717af2726a7f9514f1678fcce6dbc3b977b1f37c0ddca7bda9e87ddc290ee56fd9d644d9852efee837b2a6e816750264f19bc5f8fddebabcd55b3a7bee7cae1d13cec3869f5f5999a2b07fc37bef10d2b345959bca92f8500a32b104e935efd589c53914045f33d7cfa694e30eaf0598f043e0be5037a73db67815d2b6187af621fc07679784f14f1ed21a4779e3bbe91ce7f7a51bad2b0a5c177f5c4038aa8bd2fd5eb3deac6e280c98d5e93beb16816cb41573c717c4c436fbb749d396c5cb134cb3f3d07a30ceb955b86ea79e26162257ef9b3d57be60097e7c6c2dc73d5b47ca6e6cab3ab7cec53cb85dedf5a13f81305187bb07d5a6d8551d10456afd7d50d5f5def05b71699fed49cce8b4af9586f14cab90d677bc930ff8bb37cc6a4df58e9b34a73d6f167ef19187f3a4c9f4cd7a3db9909fc29e64ad4fc038dbbb1d63b6582b6bd7a4c5185a8efb9dacc049a99f6f23d57cdc97d5c6d0676366d663067ef7082f48b02141a75479afa0339076da9058cd50560cd60d5610dedf6d43ce8729fc203183729407117db3a47efbdbe6a1acf75e03d578e931d575638f01639ba3ebf73d5a971d7afcdc0b75c465f137d0a7e57e7c059b780c3ac604e5c53fd581c8b48f5095c012381bacebaaefe5af2796ba1719457f7e4b6c70fa44dee7cd0158fec94d03c7182f4ca13110000400049444154ea7817d962376f277f89a599fe3256e32209cae735fc9a3ffedc10f8dc469bd3b6e0c3f987912b7ceeb9fa8ccf95837fc7a737b7f69dc3a6cfd87a91eb144be3211646120034f6bb8ff76051be73abc6d8e3e7776eebd5b5b5576753fcceac351ff5c5aa576872bb787ef2ff73cbea74984ffc06025ecbe7e4933199fec4c88bff19fb363e7dc2e710afc5d2acd034fa7278f4214e1628767acdd3e1c227ae7e2d9f93a7bc8c553ea7e6d3e1d327dc58ea4bcea77f995797d8ea02d7b56602cdd3e7821bf1326e56a7619e97d8046dc265ac91d3bc16fb367ffa841916a2f95a6c8356d3a49cfed127cff8d73c1f7d44cd6a630536569ad313935520c170cd53ffc9f199ff122bfced7c0c5a29b1d5c8471f648240818ffe31173e717589c117cdc9ebbd8c451c99c91bb1a7cf233e7dc2b37dc3b341ab4b6c35f2d127cff8f3ffdcba2559b6e1dd73cfefdc22ddc2f69ddb02d5d627f8d65134bb0ff6197dbcb1dcd45affb45e0ab7e6d1eb7ef71a4e9f4f987eeb81167b6223d5ca860034eff555f370cfd5798c75907cbae3ca017fbfb97d3ed55ead3ea037b7cd41ef271d612e37f0ae83f57606fa2c279eccf57197a7ae951d91c3ae71645d2845e1bb4a22956231f83cc3bb32ce4702f0e35894e5a32bcc61589451726e13ca61bcd83cc56e2cccf979555888d30ca6ccea9e2b13f5059e2b9f85bb44da408fbbf6bb25056ceffb6f401d0097ba35d0ea80b5c5c90c8b0d6702b716d1b4fe586f5873bda743324ce4a26aae2e87d321e629ecb9e40f02c36934e3574f36e65486cf7a0e4fd6efcb621170cdd367645dd545c394e17bae9aa87396eeb9da6c04eee3aab3ac5366f566a9de7baecee364b314f82ccc55dfb9750fda1aa67b93754b6b92f87b7d75cecf89cd92d5e03d5726e1c5b5f4176cae2ea7f0ddbcccc007f470dba3e697bffc65c0539c4b000c9891d6f44d0d1c0f60607521b028d75651e1429089f34cac4b33c13cb3128b71a6a54f23aab16aa6999e927e1a58174d0026905800afd9a6a511580e8010255e48b858359e4699fe9eab2fea5c7ddff77d9fc75acfb7ee04b083c7c1a0fed297be8404fee6dffc9b046a1f96ab1d5417ecd8f81b7fe36fe0d5a7a6a88b9ee635bd58bda2f2f9fbffc3ff708935aed8e570f13f63d3e4032f7fcc3cc3d35c7851db9634afc59efc3956399c3ef06bdb7ed9966239bfa6bfccd57238e7e7c4177f7a8cfab28dc6bde7ea9eab1d1bf7716506ee73d0b5f1bc56ec2ab16be6afc8f5ca10dd77d85a8498f6ee4d48c531693502e86d7d4250f3a9fb79fd868fb47481eff5d53d570e0c0783a3c2f1b0e32afc7cd47cf4eefd733a576dc55dbf36031ffde6d26b8a4fc7f741a0d8cb278298bd8bd055c1bc874f7fa9af66e052bb6661d427b0108fec3554bdabebf26bc93ffcc33fec2076ac5bc15bcdfba3f32de56147bcd340af7795789757e1de6585e51c0f2c1626c3bbf2c26ce9e1aeb03933cca7abedf478c31977fa8d154fcf739849b1e5dc58799215bb6da141d66c63cf5a9712d3f6967f7c09b78de5166e5c9a7bae9a28f5676dae3cabecb882ed6249fa1d63fbae5f3c7638f504eb1792ed474fb08e2b5d8ee15ff7eb7e9d1ded3793c3948a43ee77fecedfd9f63a3df72e7133f01aa074d29dfaf38dc1f8d31396498cd8ffedbfffef7fed57bfaae92f4b7df757be52c8e9b9585d2ff2cbada12ffec8f1c0b98de3e58317f8183b7d3927bbf8a4f9d85ad4993f7d09bce1f998cf720614b1a7277da4fa457e49123c6dedb7ee0be4782031cd33fd91be841f63a7bfe7ea69669fe7f69eab8ec3fbb8723cec9cea4cd99c9cd7c3f35c9bbed853ffb93eae7eeaa77eaa758eadb0b671f751dcbfdcd46ca3db99df33b226716bd374b752fbe35242f0f48e287af72f7ac5fdcb3d0ee83e78afaf4c85b9320fad1b9b2bf3b9b96abd67f2efb9fa5ccc9513e19bdffce6fd07a5ba6cbe587f400fb75ffffad75defcc8263b7b97005ac09741174ce47c6bb1c00aea48524a389d705ab154c7c0e5d325ef36428244d407d8e9ba13a373ee5706ae06d48f9944c494ebf1cf21cafa96bd96a2a9758cc8668e8b7b78b3eff59f1bfe7ca6c34cf80620e9b935fd9b9f2c90ec3fcfbcead812c80ec3835dedd0b30b4dacaa9efdc0a71954c837748584f2cdb1e6e2d23846702689e785d179ea6c009ced84bd725f6fccead875b81c5aa1bfaa27fee7fea8a3febba2efa33ff19ce1ca05ff3edd894a778389f73ac753d7a5e7cced84bd7632cf1a90fabb769971ceacae7acf1cac7fa13905d3c5f1cebd4c0052ef6d1e7d49fb2937ff439737e1ce2124b7ceac3ea64c24ffd93f4b92bfeacebbae8cfd819e630fd9a6fc7ea2de4359f73ac373c2f3e941bf7d235fed43ce2d7c6c2d795cf59d7f5b1fe04394cbfe6dbb1059ee261e012bbae0b6f3e2f3e67eca5eb3196f8d487d5db7d97fd55573e678d573ed69f80ece2f9e258a7062e70b18f3ea7fe949dfca3cf99f3e3109758e2531ffee7fffc9f5b9ef928d66dcbedc93d884f35d0b3abda27b03db5aaddb9c462dcbf1a542ccdee83e77aaf050c3d8d7a4b26fcbdbe3227cd4f9373cf952364aba08e1907cc8eabcfc25c59bfdd0fb776cd1be5c3fab56413e17ae730557602235ddd7c5e0520e173be1cd09df942ba56ea45d2abf3f179212c560d2f7c1a0e672cdc28f16582499367f9c0346cf586693086501b4b2cde79383d253d41db82d74ba3a4c1376e676f3ee9d58d554ac62ab0a65e85ff7ce0c86ab1dc8845b52d7824bd1aa9eb9eabcfd45c5919d82f9e7bed2fb5dcec41cfb7ed3e2b86d6255b9d108ca957f3c2c4abad33a66faba77c0e7a1758d7946946062e63459e6ee758e18b2687d96e94395ff44fc93d7f28a0a6596ffa18b5b19e854f9ae92fa3e4906c9af9d47be6bfb1804515f8e83c6620e70247161e798e75cf5573d2fc345df75c9db3b143e83eae2ed3b2e364533470cfd52f75ae4c5ddfb905ce35833b91ffc18eb17850dfebab7b7db5b3ec035f8b6e1e6ef0e20c7cf441f58bdd9f9adca5edbc0184b7b4d2ac60dec35fc55f4bf67f6e7dd4b7cf639c183df5b962da4c6bfa36d6b5236cd18f9966fa48356564587d9ad445337ece98cc0dbd1064e55126075d42a61fce476fdbc5adf0044bef9df5fb7133446e2c8078fe35f324cb274fcde5bcf0d2a03fc71dd9404b46d4c5a4ae939f33653ecb0db3f2286bd34aa33c87f311db767dc1e6ca1964d3dac6fec2a46664b58ffa7a7cd5f49a576d1ec2e6d6a90103fe9a14deef7aa9bdb9bd3c83d134f9f84075fc48cdf0453fd9c99f38376f6efd5a32fcc6ffb93dfd1fb1d8cb58d3042600c6c015b123e7a3eb451ca9574881ab739bd5cc13af99e0f4d15533cf9417fc62f8453393d3f082cfe6455f62130063e08a9091977082bac607e20b5c9ddbac663e13207120c1dbfea7e6315cec251f9a8b6151e3cf66b1d307263843e0caf2d7bc84636615bee4a6b7f093cfb6fa34c4240e2478dbffd43c8637fa34e758afe14cd48b5d028109d2a8cfb2fc91af0d313e40d958679de746acb9c035139c3eba263bf913bf18dee8750d9ffe8ff871ac69021300631aa2ae91cb7921b32af6cc1fd6bb3ac359d53c0df33c0df38c0f5ffc91f181c682671bf817ffe25f20ad0414b7662f6fddc5601fbf1aae0f5bfd1e32acb8efbb61ed9d2d7d64804ff741b7394ce3aebed70ca6e27112eef555d3e2906b7da8d9c1f3d99c2b6bb91ffdd11fbd7f2d79e7f523f880dedcba3e3a81bbea75ad841dc7f0ae803e1774707794f7bed191ad592c4c8f8fc4334c2c6a9e7ad3f38f070ab97ceea8773c8dd258ea30ff0db1f7a5ba8629615901dcf8b72d6d97586243e0d54a7a6063018ad83c61bdcb9f7edb75cfd5f3547da1e6cacef51cdb5ef619d3795c21ad18d48aaeb0bab5885ad9c7523431ea47fc1a139fe73916beae13cc397dcd04134f030cd73b46ce2f465db6659ea7789e731b73e61f2ecf8d7ef13f1d4e3cfd9c970926cf73acd27b74282a7d56294fb7f063ec987bae9abad59b9947e69eabcdc97d5c9d67d97d0e7ec2eb959b9135864f575ba898434fa76abcf5c9fe96f2b93ec1eb6dd14279afaf4c4e7362362e6bb97bae765c6d51fdb99e2bbbf82e6fccc0471f5dbf21fa145ddde7045e6e78981601f8952dfb3070cdc0a576ba627ac61870050c03759d755dfd9f5bd7410938a05d43bb0a38ca3d0d5e30cd3eb31906d8aa5f8c4526e8b4119e38ffbaa601f4ae367a39aca657e2294fcf4cf43ef2799edb9289ba7cc49e634d4f90464d100edc73d58c7df6e7cac1bf232a2c731fef9db5f3cbceed152e4dc7958fc0e1fe7e899385def2c29922f6f2e656acd24a25abd66dafd5afe9c76792e789f7c2765fbeddf2e81cf7e27326f6e889113bcd6b398fcfbc9033b79964986c518ffac91e3527339f8b7efc25870bcfea0cacb790467943afeba2c96a9ef5be516fb88bcf3d573b1e367bf75c998a1d608ff37332f75c7d3873e53bb76eb2162aad55d4ee4aeabdbf7530b83d21cd091e06dcc2bcceadaba5117ef7c17077f0b3eeb88a31e8bdbeda8c9db314bee7aae3aa15e0597f67e7eafece6d47e61bf507f4e6d62cb826f67cdb65d47b2a0f6f8e515d5de0803ecb896ce28815ccde6de2f78e8b27ac978649fe044e094d6e8b7d7279d6f87c519710f5deb50ac14c0fc7a8792ecff31d6cfc3c2961f5f2ac596c23ea5530e54000cf5f13b64534f75c3d4fd51779aeac1bfc66973d6e4b7daf09e8a873a8e0db7ceb03c08af3ac6b9e4c62f56bfad6ac045624733bf11c0234c9cee6c8ba56e773e96dacc7f0a2ce3c610e530259cd3f6635fd65ac47cfc50616bb26e6cce1d4c3e573cecf89c59e855e1953b31a59d7ea7c2ebd648d98bede69ce3cefb9bae76ac7d27974ddc755d3624e9a969d4435cffa9eabc7b9323ffd7ff5730de396e43356bf5be4c6847763ea6e457cafaf4cc23957a6e85e8bb68031334d8ef9c16c3d8cfc22addb9fb7f2ae5e9d810fe8cdedbe736b32ba1004d41ef05c2b91800ba86b44b8cf6ce0690a997e7c5719cd7c4e3e8627cd709ec819169bcfc62d93d534ca991bbd84974f80e6e41bb7ba71093674a0de27f7f72f6f67256462bde758f75c359f9f85b9f2495ec7897d6441d07eec19d55b59fbd77a02c0f7e676fabe6dabd7b610787ab15b2fdfb915d5c3cf1625adcfce9ae6944d1fd075c6d69ce629f278eef51f80f6af80faf2ed63eca9ff587ce679e202d5a77f78b99dfac8e9a7c1282903ea8be7e9f3a43ea6743e015d676ccd699e228fb14efca8d1bbcd393ddfc04cf43ed60d34c317c7bd44d1284b6018481978e44f1fbd0a465d622708ab9547cdf8c7ed9d781a60a93eeaf3bff0679e274e3cc33376e39efac8e9a7c1282903ea37727852bf340f17ff1735cfa11f8d956613a2798ebbe6723bf52fe2948f75e2199eb1a56ddc4b148df25a6e6ff0a74f26e71079c6cc1f78d42cf69c93d7c69d55a3bf11db587c523ed6096638fdc95fa27429afe5f6067ffa6482c9ea02e60f5cbaf28f7fc41313f49d5bb730b72aff9ace2dd567af0480bb589faf69eed3d8be734b8c71e7eadf02593879fadd7db097ba7a9918422f7d408d4fb91a19bf1b3afdbdbe6a4e364bcddbf354dd6bd1efd871658d777fe7b683f0b5fa037a73ebaad7b3a5b9805db6945df59cb1789feb3887f16a18192e162ed6f52e3d1e6e72e9e1e9d3a8bd2325c0878db8d80c31c592d1c0f19a9465a8cea7d869e88b2a643c526eea8d4b99269e8f0207287b274c63dbf1f75c6d0e9ba22fe45c59197867bb2dddf1e3b7bf904a2b1275e064e0f39d5e8267e147559ada962640753ef1b072f29a29038b7ad42450572881e9c3ea33cf13532a67ecf08bfc6bb18b029e2dbfc533ab4bec94e9a7a9f9c9e7ea54be16db58ab81612197593df33c71e667ecb0aee180fab5d853f9e899d5255648cad5f9d73c67e05436d0b975a7f2b5d81c5667421c73ba61ce3c4f9cf9193b9c556e91ead7621795fe125bf3123b65394c53f39c8153d940e7d69dcad76273589d4923aa4f375d679e27cefc8c1dce4a73e0e273c62e2afd4202d59771a7cc679a9ae70c9cca063ab7ee54be169bc3ea4c1a517dbae93af33c71e667ec70569a03179f337651e91712a8be8c3b653ed3d43c67e05436d0b975a7f28ca56c7d62a1a2b44a51ef4ee4f356fcd627b0fbb2fa5e5f9907b367aecc4613ee3e7ecfd5d6b15bf776cc7c61e6aa7d7dd7afcdc007f4e6b6ff73eb29d1639be9704570f4afbef0cd97b3a2eb0525a6665109e29914de5546173e713cdca0ba260eab4f4df96c20bd6729564a97714f3d5c484fa7dbae5343908c26fecc7f78b165b5fac2375c3e70b96d3851092e399ffc99037ccfd5a7982b6f62b75f6073aed93b5bb5d9f6519f8582830768554113d0eb29b76f3711f85740ed85b7ffcfad654a0eeaf0d9e4aca96c6573e2c5d63b4dfce5af253fdb7cf44ee0f409ab1b6e3e8f1a82cc4ff1f0f439cc6721049573bb309771d39f9a094ef169b5b1902fe279d63bcdc99f86f9a837f499cf6bfca981333fc5c3c099c9251fbd2ba727b2e6457f6a2638c5b9adeb514ff0e8796698204ffc697876854fff421ef953035f3c6b3e6a52c62f8479e5d463261b1809087fe4e7b9aec0a93ff1f2ccedd1f36258acfa45ffd7f84b0e17cf9a8f1acc251ffe2ba71e59f3a23f35139ce2dcd6f5a82778f48c79913f0d8b55bfe8ff1a7fc9c128a767cd470de6924f51672c7c865ff417cf47f169b5d8646fc4a69c1e1052b6a7613e7de7d6adff4b5ffa52771f7af7417537265d9edf3415bc676fb733f738772e7a759e34bb0fc2c89a79bad38985b7882aaa5a2ff1ba6a6e8dd44d596c62fc04988b67b2c596033de570008367befac2375cfef0d228cf3cc76bcebfc06d6f3c1f59d535b1663ea706b3d8062dea8cbde7aaf9fcf6cf9583ff1bdff8c6fdd792cf63f2823fa037b79dc93ed302baf4c4c04e696729803141d500d2f5d1895d8866bd98ae9b78252cfce437d18db5cf17f1bd1f6bdcc5323fdfcd8e27eb9daac0f254e789112501203da0f4b91d9e7263e169169846d395aed8d367b1402131f03d5766f28b31577dcfd6e658193890cee36a9f976fed42165e0d9c98e0d45882acf7e4c3cfa1efde86ad775d2713ce2dc39359c8c6ba8c4b90467d7917f1620e174db194f88dfee4f87e364e7c0ac2ab81135fa22e394fd928cfa1f75cbdfceef49eabcd406047a6e67d5c9db36142949d5340b8fa9eab7336befd7365f46e3aeead5b47599954f45a7b8ceffe8b8c57dfeb2b73a298aee6e49e2b3360421c365fd475fbd3d17f97d767e0037a73fb233ff2236e60fbbccd9c849b9cce04d8121fdf2981ac57337d20eccca9970c2faaa67a7a38591a4d675ab8536ebcaec605c205960f8667b1b02e8101751a249026c1644b6fcc69029730f09803cf78b18062e870e39e89e9cdead1e739f4dd3bed7bae9a8d5fc1b9f2f1f68e2b4b93708bb9dedfb65e31f3deebc21e6861c092c231d3376ffb27b79ad60a5ef0eeaf25976debbfd548e19a2778c467ec27c48fdfb9cd56dde8aff9944cbd724baf1e0ec4ff52f1e913deb66b2a8fb9c54c760142e410197e7279c9e713f2172bcd37b67162e6c96286df88fdd87c1e3d4f73bd8fb9c54c76011946cefc451fe427e12f569a6f6cefc49c373f277e23f6299b97b6773c70f16cb8373ccb76b20bc83072e64051c02f155facdef699d82897edfaa58efba87ff46cb87bae3eef7375fe9f5beb0aa5efdcdabfee653e5b74b7822bee9b406f6b7b9ceb3bb726c1ed6cf7419a305ee1d00d377cae6130baeef5d5393f27bee7aa63a383c4d1f21d3fae5cf1eeefdcda116f940fe8cdad7795ae6e9da5c38ed12e8ee6c8f5147610ef0806e81564b140ef3c91f4cd6c02cf03d3efbda82e9e9469f08570c3ef2acc164fa32e375670f9d485a787153c717a18937e1a4af9a4d7859f1e5f609a62e5530ec46de33d5766e68b3a57d60ded6e078fef32798eb5b1ca795cc5b46a545b2860d4d61961e48aaebddb4c83d19b323c067f629a1864fcea40a3c053ce0159892987f4d3d4241b53486ef33c7d28c7175578fc949a4a5d672d56537dcfd53d579b818e90fbb86a1e9a9666637372cf559794c7ab8a99f962cf950d74f77157f201ab1adefa2adeef19599cb48cb19ea1a999128fc17708ddebab7bae3a245ac7766ca8913bae127c7ed7ed1dea77fdda0c7ccbb2f235d1a7e0bb3a0b7cbc4c5bf0c5ef3a7e2e49e19a814bed8cc5a84fe0b3ba48a0aeb3aeabff730b77ac7baeeb2877b80febda96eaedc91040c23c27586f7a5df9009864e9a75c38c6d935abf1009373ac62d58d72c90129a4e102c3cc67bbe162aa733e710c878b3e3ef29eabcdc68e8d76e5652691dffeb93abf73ebcc2aa58047597bb6efdc3a3628e1be978bbffc9f5b99db4c85b2efdcd29ceb2a18d3797de1912f326fe875294505d47de796db5ee14ed3e89a8d0554ce7c30c9ce7c900b9978b1d3c794cf595ff89aea59053067d4697be14be6b1be789e510d1ad3403185bc3856824639c5f0c5e7cce445c38b157dcc99e13ce75f568b1dff622c32db47cf179937f4a73f7c49a3e665ac429a87b0fad4cc27cd942798a6d873a0bace581879f235d575b5d591e1d517cdf88bfff837f4a73f2c24a6909a673e1334d6292e7ce2394c7982c4855ff8f92cff3c4fbe40755d2923cfa8b23d3597de863eeb8be7a93ffde1cc2373788cbdf4ae09e41c503fe6903f7e9ac9026ae5cc709e27ffac7aaa661538358d7ed13c3a5f9837f4ba94e503c4a81fc7f29d5bbc1babbba79b973f984c5fb16ceb7d2c80e9852d0cb84f5dfecf6dcfbaadaf88bb0f7206eef555eb96cd89d9bbd7a2adab1d211d334d8e99f98ccf95f5db37bff9cdfb3bb776dc6be5037a73db51dbfbccceeade73c266a7cffc6834a7a94b2fe0cad8673c9aae0870bc90f9d0e443ef545177a5a6d9330386a6818add28e76790cba173acb1d478fa0acf46012a7880a6135593a728255e6d509ecb5f57b894e8d370c0533229e730fd3d575fa4b9ea08d9ffb9ed10eaf8793a6e9e4b2ba1d61608cd987af1911613c398e1e98134ea1c6286f3299666cd019e89d3c46394d333fe6408261e788e7b5721e3571b2b873239f90522370aac3450b135639e3b3f9a13519b1f5dc339179866feba4e3cf3e5b98102f83117ff479f93294a7d829ad56dcb7acb3f07f5d95b0e8bda28174d5193d5bb9cf50e37963af17248337ffc89a7e7135f607c9e6336164679f4391982990f3cc7bdab90f1ab97039fe7ce8f8e9905e237ca455354cabad4cb59eff0c94f0fa4997f8c9a7e35b03c23d78b1fb3b130cae999fe6408224ff014f6bee84db07a39f079eebce7eadd649db381d2fcbccf557fc8d086586fec6ff8bbd5fadda2d61e5626f7fa6a6b3c33d35c6d2d87313ff75c99a2ce8e2ff65cb58d77fdda0c7c886f6e2f73d199b0273720c1f835d3b8f2b6f4772901c82eb19853237c8f0a859c86e1d504aee08527de28485dc61a13460a87d5852f9ff14079a6299f4b9e2f8e4b7f16219af36f50ccf8c48d75f1bfe76a93d31caed97c9ec7cca7982b5fac9de17ecdb8458fda81e1fd6ddfb3f52938b1ba51d476bdf7b7341cac3030e7ffb945e6b3752ae65c6b8669062628b06682c9902bc9e6df0b5bbd5ee17ef757be72196b6282d3f3c2eb7dcc6721c005c74486cbe7ac3f965f7851d307ca36cd636ee5aff71c3159e133992670e1d75c0e1beb745eec6bf346b0842fb82122c3a7f3c6d5f506bff08b3ec30d7d820c175833c164855723a7095cf8359703803c3d6712af9e667821c005c744861bebac3f965f7851d307b6ed27d075e659f3dcae62576f3307ea7a6c2e87f9c73cf20daa7ed164fef9d41c19389de7afeb0d5eef860ba4cf10d3702798e0d42798acf09914923e43cc6373399f83ce39934be08b2634c936564c64b8b1cefa63f98517357da03cd334ee995b58ef3962b2c267324de0c2d7eccd2dec9dad1ba23b147f7722b72dcd3e81f592963fec5ee95e06bb67a9c91a57b3f7ba7c2c3f7aa99b7f35c18beb9cd62aba8c45c3b0354c7ab178754d586f86f170fa34c263ce7bfa8be366b23adbf99fe6346733cde9bf9c67f29803a6dc80361350967ccdea36b62112571323efb9facece9513e4feceedb90b1ef107f4e6d6e75b4e48e7a759d8bb4ab8eb6657043840167feaebf2d91880e7c6c779bed8c49834cc69e078b22580d9b8783e69088ad2cc5f53c9537df2e1d3c758c40c291ff3a72f2440596ef42e79f4462cc97bae9aa2f617fc059bab3e17b75196029e63d53ef5dff1667b3dfaea55ac302ae14b7dbeb7997840a035877a51d3634e7c6ac20b19b8e8c9523ef2428a4a70e298d527e033fdb3c1bba56afe2793ec32ee469967cceae9273801fce9e6ea34791ceb92d572180fbc86e77c0a900a1ff573e8bbaa66fe5131277f327025f34bbd3c69ea3a017ccfd566ec9eab1d1b3b542ecc3d576660c7c966c32c554e66787a9ac813c0bfe2e7602b16dfb9b50831bafb91fb947b53bca7dc6ec4f7facaee3045ead699a6a57bb799893763f75c999fd6f95fd4b9b281777963063eb837b7ae02a6a3cfc01cf42e07978fb23a131274d5981ed07b76f5f919fef44923f67436ee02c73756fe272e361f35f3c22f3843e1e559b32864bcb1ce4c1e79fac8b6c5589a45dd737599c3cff25cf526b65db9efd37a852be716258fdfb9edb8f2ce96c61ac2ea01d39bdbb6f4f27f6ead66f2dfca66cc23dfa0f8ad811e3126d97c72de0bdb40e617cd197b8e95389fea3140268f7c5da7cfe970e1336cbbceac5ef3bf280bff84fe1b0b288d73c49ccf714f7d21e9177b6e4be2339331c002cf11136cdc64a7c3e97fc1179f17fd739e72f98cbf78be980f32d97c347328e109d68c49bfd8732c8269721b032cf01c31c1c64db64c1ef9537ff1a979193787290bff84fe1b0b10a29ecf1c462658b390a514ff9a26371a25cd02cf1113604e9f6257bfa1a9eb0dff9c37e2f4e32fe3be3816f21ca2e672cefcf4394739635fd3e097e139d023cf6de30ec73cf2a5b1de9a6ff85f94d38f2f76e39efec3c03944cde5064c0068eecdadff73db22c41dcd9ac45d492fc69a04503cb9e13dfdba67156b85935813bff5554fc5c8d63640f85e5f99105371ae0c2f6b9be7a97a9ab77bae3e9b73757fe7b643f48dfa037a73eb2cf5b4d695b11981bb0e3ab17dc6137628e33bd5d3bbb06a2a7d0e2496d5de91a68fc4d37469e62604a3e83d3d6922e3d58a289ab071693873c03496100c9c3f9e26417986f18186a02913647a7cfe29cffccfb1f2d48b54eeb932815fb0b9f2ced69e753c78ee3d8f2bcfb73b142d505aa35006aaad21ac339efadebfc70368f029ebbd44a551ebd5556f389f934f9ca63acd53d8733209d4e758a7261ea39c21b03c23e3d595919adb46780e1b2bfdc567e1d39f3ec8f4f5c239cff38c1ad6db589830506ef86213e7569d668109d4e758a7663e5306385cb631cf46192e9fc5d6bbb1925d7ce67f46cd0799be5ef8e279460d1bb1b13061204ffcb6719a3cd38c3cdd864fcd7ccedec2cb79560175ca697218af77cc340b014ebca8b6abdec64d06a79967fca5d6db58f8309027bed84236a2a6927fa466e01cebd4cc67ca80a872069491175c3e8bad77633d453ef8ccea8c9a0fb271eb8539c0f33ca386f53e0ff54e59489ef0b6719a04c2f35f33708e756ae6b37103a2ca1950465e70f92cb6de8df514f9e033ab336a3ec8c6ad17e600cff38c1ad6fb3cd42f6dae84b8ef14e896d49ac76dc8bda99b1152b186b9d757ade52e7375599fdc73e53831278a63e60b39576dd45dbf36031f7d50fa9ae2d3f15de9c4ee9237bc4ba4aeca2ea09a70cdc0a576c6629e2e7207f0a15d2450d759d7e5af257fed6b5f73d9f57ce27077dc7b781b965b4f80f81e7139c4d0c0c434b05ae1502c5c489e9aa2e881f9c34ab1d96ad2ab375c869862cb21d93928a6e6f498b38ccf5f57799edb8bdcb88b2df092de63ac4021cdcc4c8a9ac33d579bb76fe75cf59ddbf6bb8fb43b847cbc2719a7957da44e03e02d1aa4070b515ffecf6d3ebfeb77fdae8e1082962c40ccd6379a179ce00cbc845ff48f9efb23c940dfb93d3517e79a1feb4946a3be24f31a9ff8d4871ff598b3bce87fe67fe2c7c04bf8c76ed7b951c53efa3ff2a7e6352cb70203a57a0e37fe9eab7baeccc0c71eab69eeb9bae76a57a41d33fd9f5b772beb0a772bdfbcdd3bdb7e33194f0c5bd199408b3d5fa9759feae2d3d76b05f63ab7fb979b5af7414dcea208d4f7faaaa9d8e4686e3977cf55eb3773a2ecb0f9accd9533e8fece6dfbe8b5fa037a73ebf33f47aaab9bd3b8cf05bb0286bbea79308b345f7d46b8663348d6c9afe6b3175c7af90827509ffed308c1ab696482ef391003978053280d430c3e7d1a2326ab37bccfa590d3e7bfeddd40e56c14b18a58ce0a258c87f359ecb92d6181343c13c3f75c9993cfd17165dd60dfc9d901a36cc560572215e02caea495d6225b91a4d105a8e301eb8fe9e1e9a749ff629de7598bba341f7d12a494ffcffddccffddb7ffb6fd56dcb1c80155939866914e2783edb0a78e281c80d87875b6f8de4f6933ff9933ffdd33f6d05669e357ffee77f7ebd80a88df2cb9cab12580e35ffddbffb77db2ea36baadbccf8f0bffff7ff3efd635d92f8caf6e0c9c3db0adf9433c42ffcc22fbc8f78fa99581d88b9cc55fa7c368a0f5f6428bd0237caafc65c3d67f75186cba16ceb3db7e51197641ba29ec3c9c3db8a935f54a43ad0289f64ae1652e046b9e76afbe2dc23cdd23d571d36cd430761b3f49d9d2b976b17cc562f97f595df3372b926509f6b12f7afb645606b279a1c2875e169ba11dcebab7bae2ec79563e6737a5cb52beffab519f880dedc7efdeb5f77bf771c3bb87bba33299aae83806b1f32709298f853032b5d8577d11c99bfde404a18608507a6294a0ef19ac369f82f67bd1b2e50aa698a3d71394c4330dc0c2c9f26e1cc399fe5b0d872684ed26c0275c59f1a58e14c460f4fb3e10652de73f529e6caf380d96b7f8535bd9e35b72d94e1788fb25ee17aee72308409ec9a64f478577cfacbffb965a89cab9f477c5921690ac9f9c48f3ec9d23c7ee736fed4c06b9efe481fb5fcb13ff6c79efbff933ffb67ffeceffeddbf3b650cabf49a7fffeffffdbff817ff226042fefa5fffebe34fcd05cfeac217eb0af317fec25ff8b11ffbb1c6fa2b7fe5affceccffeec9ffff37ffef7fc9edff367fecc9fb9f8e7301fe0341f06a6f1f4e88389effbbeef7384bca6c7ffd13ffa47edc77278a3fec11ffcc13ff7e7fedce97f7a9efcc7e2bff5b7fed65ffecb7ff90ffec13ff827ffe49f6cc4d30abe6cfb342ff226b049fbd37ffa4f17dbc7705ffef297bbda5cccb9bde833d9401b327d7ccde135f31cbfe6c07c00b2d772f824fcac7e993ec6ca613ec0693efc98735dafe9e34f0dbce6392791ea177338f94f871ffd3f9dcf3d57bfa4796b6fbeb84f3b365e3bcedb5fa7e611fbcead7bd0f77ccff7b885292ec82e744e765754e2dec7021e537b1f3b8074ad431ac5d2a2675d0ec3783ebb1e0ea7690d13a6dc1225b0f512904ffa790a9c06396c744a75e376d582cf818897c3628102031986d50cd5ca3435391b02a939cd861bd01b4e0603e510d6dcfc9c78792e67bd1b2eb06d078ac50f37ee3404c3f75cb5ef7e4973652d77ff9f5b47d11be5037a73bbb3d731d4d9b8cfff34f7999fdeae8ff4305e2f9ca6c018277ccd62cd3299d88e51cdf18e5d185f0ef9137018a6d97e1a9f3fbed8524a566e9435e7e34a01cfcdb804cb933e138bc5f8946d11a69ccb53d3288bd5c46ba601f4366e9ef87cd2a81b42af716b169b95580eb032fe9eab6fe75c79c4b517ce1d618f780bd762c27eb9ac575a948caff7acad45ea4da9eb5deffff5f3ffeaa77ef2277eeadffcefba9fcb3bfefdfbbd67e1bb4a7fbd539ebd75c54c79361314ebf1b5a67c0267ad3759f5b6aee6a91c13b9a8b309ffc37ff80f3d98f91db93ffc87fff00ffdd00f9dff8be2740bbf3a57ba9fcb65149ca7e53ffec7fff88ffff88fbf53bc9f3d4a4c35f05b7feb6ffdef8ef2033ff00359fdb6dff6db0efabffbcdbff93717556f9ef08b73354de0973f57f331eedc2ef9d0c4fca5bff497fec49ff813363ce5520dbc16b5de533fcf4b6f268fca0b5fda937dc7e76ae96dbb3ec571556c1bb54dbb389fbdeb1a98c309e0b379cf55b371ce49b3fa344dcf65cd0f6dae6cbdfbced60c6e49bb0f7a67db82447ddeaaee3583493363f7faca247c986bd12e1a77fde20c3cfdb9b90fa4b8567af053ba80da6aef01ba6822c33d6bc1349eb2f486c5ea0a17de33619795f8a61146d208c9217d7c39e0914a9ef44afaf8f249c0369ffc1b5757f90362911b373ef1346d7579367a9e062d5c4d5c0e005b214565953f8c0cdf73b57df13c55dfe1e3ca47ddedd90e9bf6d18bc755ef6cada23a06dabfded362daa7fe5e657f6bca02ab35962e3243240e23ebc55f30c198a790fff97ffc899ffab95ff75f7ce94bffc9fffe8bbfe6d7f8b26f86f3019e87fae8dd579e4fb1cfe35ef43585e80d5ff4cf714fffe8e89ffed37f6a5bbc10387d1acbafd1fecccffc0c8d09994f5bc4f3924f7cb6f0f48d3bfdbffed7ff5ad71ffa437fe8877ff887137fe52b5ff9537fea4f7dfff77f7f0e1f3f57efe739cf0d0488cd33dc860f9ffe97f7b1fee28057a094783b3ae55967b56d99274096f25133fe59f2342795f861e0129b1e39fe5de4fb7dfdd5af7ed5a4fd86dff01bf0b9a9d30839fd9b93c80d04b42d855ff4739866faf269acf06b9af88b46a0823cf9f0f867c947c779bc0414587d899d7efcb3f6a92a871c1e7156a73fcdc8805a2916d858cff4ff9fbd7b8fd5aebbcb7adf161068292d7597434169258a8a78de8a5a148931463468340654c2c1434c836942e22126261ee239215623ffa0029e154f1135b2d5986c0edbe06e22180e221450d14d14e96ee5a07b6fba3f6b7d9fe7f7fe3ae75a8bb72dedfbbecf33c71fe3b9c635aedf357e73dce39e73cc7baefb7eeef0dffc1c1772720b60f2dcfcc60433d6e6c3e50c8fa671e3070387d8d10f9f587d9e9fdce6d81baec0f4f99305d4cae867accd1f3c479fedb61a9f83267ef29fc09c373f5d8072c8277db99dc7dd7ab81c124f3e3994cfc604851738b191f5aa953946e1396c3e6634ba5c77d4ae5fc84e531ededa93f843953eafd1ebbae6fe9606df776ee1f82e76cee7731d74627fe03ad88552ecbe0ec2e590274d1ba47c662cbd153cb29d52b8d1f3bcf657e6e4f154ddbc76d75c998de6e13d5f5733b117b873069ed92dddd9fd24917dce6749d9c1c30eadb321d039cb99a8cf0bf148cf36e7ac973e997025dcfca41f375104d9c2133b9892006f44b2c64d1f9fb933a67ce2d53bb762c9d230541a1703eb9a67b318b894d4611ae31e72d0dbd0f81bc7c7791a1d2edb04e5acc6ebbde6ea853557360d7b5dd910b4d2f6ba22b05f992d4b7b11cdfd5c68f61cc4c317a8aebce3ed6ff93fbef1fb5ef991affae01ff301efff012fb9f9ebe7c7cf1809c26730fcec8a76d423e75b9f8d272af2e7fdbc9f67497ff5577ff5c46eb77ff12ffe0519cdd981be90ad278b3cd43333f826f6a33eeaa360c59c7cf8877ff8a77ccaa7fcf49ffed39fd55cbdf3cc647218b76ccf39f3bf33dbad3f4761440dbf1d3626904cb2c13193e47dbd5b9f67218d3bccac1f8cdb5a93f6899ff88962f7bc3d9cc3e433239e419a87e7eabe51b89573b6657ec67bd0c1935b60c79e35db935e69dca234f75cedf9197e3c81c102c3378e8ff1f49e419a6baeaeb97adfacabb616ced8ca5ed55d9b660772edafbc55f75c85914afbb16bae9a07fb1973f204cfd5ed6b7e5577cfc053f4e4d6e725ce92ce8cd6bada7cb8eb0bf74ec09c3f67423ad5c69309ecee1109e4960626c0030a32db3ea769acb0de3daeaed134964064f95022c36abcdef47805c6749fc9b941475f330df226b377ce0da9e403d0970f4079cd5573a236876ae5f939573ea59ed7abefd69ed715be75e5b3f09edf3a1cd8eecd87e55ef1d68903f44ef1d9f9ede1dedcd5cc5e1c43a9462af3b93b81123f1ae045fffd3bbef69bfefbab7feccb1e7f8af612a694c5de086ead62909af9dff63cea0dcfb87b205dc5a6d93e185f01fddaaffd5a7f7bfc2b7ec5af605eefe4dcdf24ffd25ffa4b6988e3fd10d47ffdaffff5b5af7dad8787798efebbbeebbbbef99bbfd97d972fd0ee630fffab7ff5af04fec7fff81f4579526aac0ff9900ff9e44ffe64cf87fff5bffed7af7ef5ab7feecffdb994be82fb96b7bcc56d9b3f09f62b53943c7fdb6ffb6da2f4fac9d0affffaafff2fffe5bff8b1500309ef2f87e5e02f727de1d6cf2c517ec3377c831728ff02d59367385e1ac094dd6c360c0a2834df7a5ba4e7a5ff093fe1277cc2277cc26b5ef39a04eafc0145929e519b1039f8496d13d210f984e901b20ef9e0a98b0fbd7aeb6fdcdff10ebf8065d27c2ee0fbd2fff25ffecb39704fda7d7c60d0d7bffef5f9130bffb66ffb3633299f8ff8888f30b79e963b1feacaffdbbffddb1d9917f475af7bddb77ccbb750fefb7fffeffda9b6af943b4c3e5e085ff9fba66ffa267a13fecb7ed92f33c4ce2d9c215cf29a626794331efd4133c78b1f1cc0e4d3101bef7cf009b69e408957a70106375c9e94c526806346831f1cd83e7b207cb1598d0fa0e4c3e1302e46eff03563369f67b1830313db10a319e7ad472aa3318452a01a9f78307118a02c36cd30a3c10f0e6c9f3d103eb7acc2198e4cb33ceb3de3d107469fe71ce3e4006ccd01ef7c9a0782ad215032d99e8389c30065b1186598d144aacf79ba24b93c79e7b6e7819d34bacb7549727573d2a3f1c0163690261fd72c7a627578ae8309748da66b779b9c894586d5c45d07cb61f4d7feaa39bce6caeab2425a2acfe1baea0d258dabdc37034fd1cdad297086f28cd119b353a1cf75c2f8c16483c9602bb8d5dcb9d2e29ef5dd59357d534cc3ad53647abc33c268eae2907efb9389c5eb2d4f6072e86ccbd3c66bc685b70fbed848b1f498e1e93b3d25503b341af330c758feea6bae9e8cb9721edcebca6f6fb4ecfdbdaebf04eb2ed7abef6f775b578edab3dc5688d8d95dcd339cd9c1e8857ff8877fe8fbbef7ed2ffaa057bdea439ed923ea7ac7f7bde56bbfd59ded4b9f613fe0e5d67d3efc6f34b70e3316b703bef5ffe1d909d1132095700ee3996d26be62ea1ec6cd957bce8ffee88fdef9770fe981aadbce1911f8eeeffeee2ff9922ff9d88ffd583f3495beb1e02ffff22ff710f8b33ffbb3dd7135ba7ac6f58b4a6f7ef39bb322535efbdad7ba077377e7fba26eff8a728fea97ab3efff33fdf17cc7edfeffb7d2db0dffa5b7fabf3c01ffa437fc83d580ed57fe36ffc0d3f0df5999ff9999a7ff7effedde9f5cc597144ee7e75cd1c96cf9d7395e17d73e58ed1b779ffd93ffb67c9aa9d3d3eebb33eebd7fc9a5f33fe78f799fe070277d7a3fc27ffe49ffc949ff253fad52ee4e460457df1177ff19d9e9ffee99f4ef9c0ba6ad27c1ce0ce791fb8cf2314076e6265c5c4b9eb2ffec5bff8955ff995938f49f3e4fc0fffe13fdc5f35e37d64f097fff25ff6c2f914e36ffdadbf35cabffed7fffa1fffe37f5cc27fe00ffc81f93f36f5feedbffdb7fd9c955bebfdfae21b11092801fc5e57f10db13570e47802e1fd7a618a9a75d5b80fccd559df40059e733084aef1274853d49df89c273152a16f20783c63d2dcb85f7375cdd55de7f9d6ccac7f6721270d972a3b964e8cae47ae444e952e589693e2fdde0f4a51f667324c885dcbd2d0ebe290feda5fb5e1346f4d88b9baf6a2ed73661e5a57ed7b2d9e17ca5cf5825ef57d33f014dddc5ad0f6f1dda9760e85cd4b0bbdcf60f098e19d08e2adfb70f3d8d9b340f5e877acd3ab92060f1f6219de4a1ef109e895196b305078634960341d8bf0928f4fe0bc961e28b73493cfc436d0d68c4f9a39c63ce9b31a3e3dfe9aab9993f7e55c792a6b0df43a1ed695cd255eb11b909ba63702dcf3dbd655cf6fbda65e4777bcbdb8ba66e7216a70bcfa6677f2d6b77cddd7ffe797bcf4c7bce8fffbb61ffa5f3fe9a3dfeff167fc6ffdf6affd77dfff4e77b62f7aff577fcc473ae3bcf8f67917c3f1816fb77f8f6e1b8607ee1c375e48816922772c8107b37fe92ffd257744eed3e4af57a17773087ceaa77e2acd2d7753c11ef6ba11f20cf03bbee33b5ef7bad72189d5a6ebebbeeeeb3830cc07af0cfeb44ffbb44ffaa44ffae7fffc9f7b36e89ed36df37cf074637d6b3eb547857fedaffd35cbe367fc8c9fe15121de1d9a7b5723fea6dff49b7efc8ffff1f66a9e58ba9dfe9b7ff36fba75fc993ff367feba5ff7ebdef6b6b7b993f41cd2a3450f273ddd9580d8c9211c393c304c3376d013fcc13ff8073dcf64f81b7fe36ff4c0d6abef41f4dffffb7fff4bbff44b7dc2f5399ff33939b87bf1dd5df7ff1e90fefa5fffebfd3655cf3cffc13ff807b26a204afe6af7eae3f9537fea4fb563b8d373f4c295720bf7d2ec03f7ea7800db37a8d3fca93ff5a73c6cf700d6cf77f948c273f2aff88aaff0d4f7f7fffedfefc6d56a6792cf3ffc87ffd0045a061ed85affee60bda07fe48ffc118939905ffb6b7fadbbd9fff01ffe839b7c4fe0bfeccbbeec77ffeedf5d6e0602263738cfc06892e94a9ca6244b005fd761fe23b73fe64e4dfc419f79737e182ecfad876ba61f4c0997f38de29d8ff7ecd3406442a63ee47cf04c9966ba1aa871f384eb7d3639d02887713139748cd9a6c97cf3331cd9e6c3591d70e6e57c33fc3557ef7c3e3fcfc9b39c2bd79d7641ce3fce45ce36ce902e5bae4d1c0033df3b1aa6f40817a0c1cf4ff7899deb60cf78f52a39d32bed559083815bd5a3bd1f93d1c0dd6f0334f109babe23cb416e69307320c536107e34e3933f5e2f599e4056c3a7c75ffbab9993a77cae2c98ab3c30034fd1cdadcf693aeb998e3e9b71bec0a81524dc67399d6e909830beb392330bdcb695207de13cf19d92e0f46c4753ecfe0c12e3fde98445df39cb887693f9b3ca93c010077f3ec3f7024f6e933fc0506fcf6009525637ee30dbbf9c09f4e2d5cd865ad1bce66a5eebe7c95cf57f21f47af9f47aaf2b37665e2fcfdcba2b685dd93d787dedf23561afb24d89da4eae85d1426deba6b6bd081ba226f0c33ffcff7ed3b7bffd95aff9f09bfdc58b7ef8adfff9073efa635ea6f71ddff76d5ffbef7ef0d5af5acf6c5ff4feaffc71affdd0f7b3ef7ce493c958012c8c624f03d48c09ab67f70953ea557a5e349a9da7de4ff9944ff92b7fe5afb89575d3281c43e990bfe66bbec6d6c7ed687fe81baff6b2fec25ff80bfff7dbe2569358e1e946c834fa82ee2b5ff94a4cfa190be31923d2df18bbb9752fe737a53477d979ba657527f6c7fed81f7397989bfb3162b7916e778b7aed6b5febe57087e92f66913fffe7ff7cbc87906e23dd7fbac736faf6d4bbf3d97395a17acf6dc7a5f690d95da897dbe3cabe2dccc71db59f5cfe937ff24fba57f447dde5e931ac3b5b3f8ef547ffe81f553394a4dc4cd49bdef4a619e5d978fa35e98ffcc88f9c1c8aad0903e37638709f478cd88bd29ded9ff8137fa2939bbfa3f642b8e3f590d6b3f4cff88ccf18abeffddeeff584d6c70485fb9fe1fc7f516ecedd2de323a5e41de1a84df29edb9de7c667cde406f4724c02f37ae9422afbf57a97700e42807200767957fdb312c504dec71553977aafaba208b69e063ffac1674d09a74c16de39c048657cde559c8370e09a2bb3371372c6d3f5be9f2b233add79173b3977f762a7e1333e57aef6214ebf5d73bd9494cec394a27a66eb6ddbfea70d4f6e3de3ed72a697a1de6b7f651e9aab6b2fda3a99bd9c75f542d9b7f7e695ff55ee9b8167fe60f03ec513c35bb54e6dbdb1c31d1a52f16ed7ecac3a7c603e1fd2144ed39d43fa02c3e9c39d7987efdc2af6a077e6cdbf584d1aa368528627e7f8f11c1e53177d3e9a1d9766570b4d9867075b7a934f39644880578f7fb1c201a54398b1e2d5ca3557e6a7a9b89daae7e95cf92cdc8babb80ddecf6f7b4de33b8aea6e0bc3f6160aecf4fa92fff7ff7af187bcf4f6ce16f192f7fb1fb7ffa7eecd335b77b61fbc4e2e2f79c5c7bcf6d51fe491ed4b8abd512f7c6bf9e866758fd5886a02fc9cd08badb9f51b8b2278d5ab5ee549dd7ffb6fffadbbc7c675676babe426763eef8f572bbffc97ff72b5dbdbedef3ff8417a647aa3b82d7bac8d1ff7dffc3b070bd34cd356ec8d6f7ca33bc678757f1ded3e535781f4bfe137fc067f03fc2b7fe5afdcb17aa7ec71c7fcceb92a64eb07bb7dd5ebcf8fddd902c39b1fb782f2f9c7fff81fc77b6e0cc867fee2d714d1bbd3f6ec54d7e4f0ec3d4555c416ce3330fc63c933fe04c66d141f5bd8c54e08fe733ff77385b815df563e11983b5b622f7dc77b784d3b107fa53cf3c0ea805b18677ef24cdfe813ab39f8478ccdea3ebdfc159a3cc39a436e7fe4f884478f1f0c0c1efd7806f0fbd8e96b6efd016f3d93ca418324e336bce660bdef09be39aa6bae9edd1c3e8773d5c270e9f1fcd62ec2c71018d72657a8bae080da75eada5f992bf360aebaf9870f7bcba6eb9a2bf3f0a4ced5bc232e709e81b5ff3c773e598cb3a1e2b3190bdde940811d62bce76f80a613c4e6073b89e8edd685921e66329354383d3e9c3e4caf496f744c35068fc4f06f2ca41c6274719b1c26379a4ac7125f8698f1c999925b43eb7d1c7af36f9974ecb0b1066bf2c95fece4804f237cf2412aa3b9e6aab93527cfe7b97283274faf9a0d44af9d66a55b2cb84d67e4ec5381f03b7ee087de7f9d42def1436ffb9f6ffdf6aff9d61f38dcd9befc351ff7bfdcfc4f43cf949c6b6f8cb977acc7f73cb355258627249fa9f3517feaedb33e7f999c52ed8f87e30fb1b9fdb49ff6d37cabd3dfa6faf9a2185ffaf2f8d4b382be59baa31a659ccb0d79a7664843f8dbe31deb09b3e63ffda7fff40d6f78c35ff80b7fa19f8ff244fd75af7b5d4f38c54e78fed30cdc74df967acba41a8d8c0f0cd6e56f71357bf2dcf14e6f6402ca7e2ecb24c0a3ccb0df941a7e3c3109a61ecf729bb10267fd040ea0a97ce7777e27d258ffdbe36202411f6438957905fd95724a328fcad59ad5400f2e7cac5026d5f317102989d357efa31e3c9e5b19d6a58c12191f333c4dfc6dff33d5f094b13189a777c86722dff948091a0b983226988d6bc66c3e5c26d559e5acb7326e9b1f3cbdc4077c9f5bb1773a3c1ef3e6df71a38c8fa96b7a874cb395ba2a8df5b875f3ef981c70cd7acf9a32a9be7179fc2a34e88e6ac4f8c1f45bb3f1add913b5ae3a766f5ba0eba6b7a78d477ca4da758a86207eb0eb2ca64d8e5efb963478247cedafaeb9b20cac07f3f064acabde02577ddf0c3c457f966c0adc8ccdca76b2eb332d24dc3bdfea07f0c4ce8fe93b4b62d2a82bbd43c834677e8b4d1cc9649a85a487c5d20334eaf2914c9e09c4e6890fe395197472061a2b7dbca8f207c2350bdfc788d135b11dbb810c2ab0dc9070cafcd36f1f7a258dba924fc795405d6ce2c8f217a259c860b1f4481a75f948264f0c309ef8305ec9043339038d550ef1a20032205cb370fe42e0c4ea898d3750b1e5866492be90f4db875e194f40c9a7e34aa02e367164f9d36b1632d85d2b3d92465d3ef60a79ba71057a666b93e4a988dae7e2940a136937846dd6ecb4303d3f21466a022ffac00f78f18b6eee902beff7e2fffbfffcd6977cf8ab3ef8d1eef296fd908ff8d88f78a9909b9be09b905b9fc0adfda3bbd3c1a3c973ebe1f2491c4e066ffd90787fd7eaefb1fd87b7be960cf8c35a7f3cec8ed11d66634da066b3e18f8a7dddd4c35b1abdbefe6ad2dc24f718a1718967d0707c6e3357630e102840cf6cc3e5e071a897c9d783fd99b407923d93f487c1bfea57fdaa5ff24b7ec96ddca3d8f117a8d48584d5e59f46d71644aaf1837d0dd5adbba6fbf9cd977fcf36ffd37ffa4fbafc056f9f86f4d896f31e6bff2e97c79ee399a6341a34cf6e3b631a6b34c0a4071c9a983c65de8ed62bb5f51bfb13c47d5c8e4221d89e31ea12a83926bb397840b2c95fb3aefccbb3e106a749a02e361fb11865fcc3f16966ac3dd060fafcd5e1c6cd6162f5c6271e7f203ce31e7c349534b7da47fae10369ce2466e72018b3f3ac39b96936d6f04025be3c6326e70c9133d61e6870b269a6cf443db1c303c4ca04860b8109ea3ae77f13765b1264a5aee839809a3b8734077fcdf35862e333518bc528335038fe30d61e68307d3eea70e3e6b0f39c7c74d55b6078c63df8682aae502e945d4cf9f4f0d689d7254938817a5f0723bb0ef63738ae5f64731d74993b5f075dddba0e1203f47976d54bdf75509732d7ee72c3a48f1705208170cd72e0dfe124564f6c7c090bc4eb45c262610548bf7d6e727a2fec190c612cf9c8415d3e92c14b030318b77cf061bcd2c162266780cfe8e3450148205cb3f07d8c185d8d055c7365121453b7e74af32a0fccc0537473eb33bf3e95f7beea3ba8cd8b1d92bfb90fd3f49eec9d8cb4a430eda2006562e162bdbde9c5f62840149c619af8349d41f4169b7fc3490ccf3f4dfadee779caf3e6ac709bff2167e2192bcf8e059f031248d35943da34bd5bf0c63d781ab4b1e6b8aeb93227cfcfb9eaee547a5e23b7707b5df5f2797dd35812ee529034f46a4f086d2694d6f6cdf5eaf6afe5dbc7d0b429a939e4cd7ee583fca6d1ff7cbc377bd18b3fe0651ffe2af267cacb5efde33ee29d7f4279b629ed5d928ea7e661943b99fddd39fa9b4c6eb75f1b17887147fa8b7ff12ff60dccaffaaaaff255cf7e4aca5fd2ea524ae050ebf54d5d7fbdec3fe9112e90c0af1935aee194fbf2cf2ae783ff34fde14c5c580000400049444154b134074a8c62e6617f06fc0b7ec12f70efed979cdd7e7b56ec7fb8f9d37ffa4fab7fcb6ff92dd94e2daaf06102675e9e91a31f8d1c7afbebf2d5b5defe7af169ba47b53c34e74fb8bbc59d71f9cb7fce78074f7f6488d973359ee5336335221233e6699a9fd1d72b733ce7cffbbccff3969ca8f24fe38bc1635b78fca11ecd61ae766edb7fc21bab70b57c064fec8881e66a3407bd1065cf55ca1c60bd131b1953170668ae80c18d4bb97de087c74a3c3537b83a529e07cfd16c7e3be0477338f6ed3cfe5bb3319fca35574fd25cb9e87853fb68cc09c7c6c36ead9312de2d6ed7ac5e77679b80377edfb9d56cbfe4ef6be84d8beb60bf8c48a30bc3537dedaf4c427375ed459b87d9dfce55cc9ab17ee29f9f7335397b35af72e70c3c4537b7dec95d0bede6bbbbeb06a0ed5d27c4deed9d04ab9bb5f84e917077059af1344cb60f9ca1aef4dcb65e737c0a574f3ef97b83e509a4c1ef1ce2f381c71f08d39749b594e20342ca5f32e563145de1f2e740b3734ba39e585888ba126f204db863997191925180868003a3e7b6f5e5934fe16a4df98b8d0fe38134f89d437cf9c0e30f84e9cba45a4af1012173bce563145de1f2e740b3734ba39e585888ba126f204db863997191925180868003a3e796dee51f593efd3fb785ab35e5ef6c181fb69b04d4ee788d0b2872d8ff278ad8caec2c35c33613f42f7ef107dc7d77781bf6c11ff631af79e54df2caadf899efcd6af289579f71feba069c73d0ab0c4fa9441e6af7a56e6efd65b247b273737bd0172b31b176487e6bca3760fd5e9187b7ee36fdc052cf0009d2ccb83b87c3b81d5724ff89f5326532b125a3f67f17f9fd640f6cbd587eb7f91ffda37fe4677efd87405ea6099951ca216735fecedcb63edc70b01da427b1fd0fbdf31d6026797a664be359aba6b597d27f12dbaf49edb1fa8be572b8cfb3a1c753f33c878d9bb27a6bea552bd6b3843d01f677ce266d72d625b0dcc2f984d5296788add9afd78c4b90661fefce4dafae833e31d903b19343b1f7f9efb1366edceafb62f55604d2c093a7261caf3ee0c4d55b83d154c667e33dd6e60713346e3ee9c75393b2e6c11f5f89bf53333e87587ce356df175b329303303e4260094cecc6dbffc0ef9c0fb8e11ed013346e83a60f8bd2bc2fb681d42fa0b992ad4b986b993bd2ae71b0935e7bb69babe0edf3db3e528103a2ba6ece75b0d8ae8373af424fe932e79207779d0de30175bc41c7333e7fb8eb2c7f20cc4714a6ba2efa8090b064ca87b3ae30a0c9812640cf278d7a626121eacaf86bc21d4bf9e4c964fbc0f1a3e7b6f5e5930f4db19ae5133fb90169f04cc633be7ce0f107c2f465522da5f8809039def2e1ac2b5cfe1c68f0007d79d635b17a85a82bf106d2840502332ecc64fbc0198e9edbd6974f3e85ab279ff8c90d4883df39c4970f3cfe4098be4caaa5141f1022b6fd1effabdc370337e7eba7a4b4f27c6ed7f15a28ce7d162ba0cbe734ad724c1a647c7acbab7325bde505ab617ab134f9908d1eaf970925cff47ad3c797032cbc4075feac904a9e403c01fdf691f9e460c4f2a4c11bb770f58cbb35789a1230c468f8370f00be3c014a9a6bae9ea4b9f27072d68c97bb676b40bb2b60766f83db73f853b267ae24fa56f9c0577ccc6b5ef54e5fb4d5d9ceec71ec4d536994c1791c34634c363e83779e915bafd7dff7f61fdebac5752337ffbded16c3bb393f2be5777725d3cf0e25b8b39e1c1a7a6b2699017a470f7fcff77c8f5feefd9dbff377c2154a6f31647f6cd21ff1ea3a3868f269ae1e87be9386e01c15939ec06f3babfd6a1466b2e2e99dee2bac23d0eb379934bff22bbf72623515f7e1fe841b187e7bc6579f3d67c4469fd77d478d06a9d034904f1c343d57d78cbfe97ed18b7c17f737ffe6dffcdb7ffb6f77729b94f087b9bad53eaa72a88e8267dc6d72ee9df9d7b57dc621f2d1484b33fc216afbec1c0ef8e1b9ca73e64a33a67a626fe93bde8387b92a6a8e7d6718deb96df1a1f79a2b9373cd55aba2b50757fa931017d6f639ed97ec553c9b2568efd16646b3fdccb5bf3accd5ec039d69afb96a9db4b739afab17fa5cf5aeb9eafb66e029bab96d0a7ce661d7d83b1f463a3faafb1c051f463a6b0c0644150b3b6b140b2bc522699439e1a6e1931eafa4bf8d7bf49cad775de1eac94d60213cf1159e78657c6021f134dc66dcc10464139b9eb834d2d784f50e6f684d5d69267fa4520ec8c92781287a35c1c48ea740a45e855eb3dc0880f47825ff0235795e73f5a33b573effabf88c9cb362b67d76de9cdb7cf4bc42f34efc8e777cd007bef899bba9a2d41ff88a8ffa71afbef9abd1617a8650139eed5d1a4d5d690c148edc1853ecf804d21448a36c3efca9b73f2bf5255ff2259a70e3c25b3c4d569ff8899fe889a5ff9ad50f1459a8af7ffdebf3514fecc67b7e363f51935eccd67b02290d4f44bb99e49fd8ffb56bc3e74579ddedffb88bef05eab77c6992e1e7280663064f0e017c81348a5f1bf6e9c69bdffc66fff56b3c990dc19ffdb37fd6af4cfb72b2ff0aa8c0cff88ccf10ebc7aefc074518b16aef5fff87501bd05bbf9bcaff977ba7e79ff9337fe6e069449ef96f3cfe00be9bfcfeac60f47e4dda287fefeffd3d2991e10ded04f2c55ffcc5362e7e1bb9e94266321a601782623719c6372734959a930359b17ac3056a4e2ca6de1d9b5b7c2107cf4821c3df89b7a790add19cd870e2b0a1776c9994f3f0931e3eac1e7c9f3f4d657c282bc5ead5842335e1c9adde1d9b5bfcf804b68f90f1bc136f4f815bb37dc289c386deb16552cec34f7af8b07af07dfe3495f1a1ac14ab57138ed48427b77a776c6ef1e313d83e42c6f34ebc3d056ecdf609270e1b7ac79649390f3fe9e107bbee38d332f116763d022af0b5673015f63f6d8accd2b5bf9afda1b5a1ccfc74ce7f1ae6ead1dbe3fae79e19788afe2cd9766d7e7500f605336f09a709cf27bb6b3245f8de1b4eafb0bf7ceb6d03d30ceecb69de5d62cfdf531d9fad8739b3dd2fc49077fa53eedc26b0dc763e61fe933fb1ed1d1ec0c36a77869ac2e1dc3a467cf3a0eeee911ea6d1a4b9e6ca543ccfe76ab617529d75055803fd35b2fcfb7f6e09fc18cffcf59766c5c2f0ccd6f79ddc42b8e3b5bc679bc27cb620f0de15bdf2437eccf7fcf7bdaa5ffcd21ffbd11ff5ca0fe459946735ed6c628ad5556ff54193b2ac06536e9ff251cf33a8ad3cc7fa59267fe5ebb89c047cb5955b9a0d0efe1ede7ed9977d99fff2d41f339fbfe272c8676267e8c967069af93c68f01ed2baf1fb737feecfb997fe493fe9277987faf35dffab2de5affed5bfda2d5c6efd1a93acfce0b33f93fe5dbfeb778d957cc6ff90dbd6ece38d776bfdb99ffbb97ea2f9affed5bfea01ac87ae96cdbff937ffc65da837fee77ffee75b0945195d9e46ffd22ffd527fe3ed7f88754febffc8b59c3c0cff866ff886646ab7c49ff7799ff7e7fffc9f1f4fcb8f204fcfa8db9a50cab934e0d686663e93367038f0dff37b7e8fd71df9599ff55992f1ffdc9ab48ffbb88fe36f140bbeaed6d5f88ced61dc197104c3147be0f73c0f3e28270498b501cff1ee355fec386cfdc6139be7e80f391c78bd7bac89059462cf9a49693418f89c4fb15bbf71fec50e4ec0ed0ccefe343bff422670eb3736d6d60c3ee470e0f5eeb13a5e1a4029f6acc924d9f8d39ff32976eb37deb18313703b83b33fcdce7fcc81433e77c6a699810e391cf88e65fbc00dc4a7d8b3269364e3dfd13945d4dbbe859b2b91531019dec77c3ee182154ad8692abefd8973a64b98de4cd4731da46f8f8484e9d35cfbab6baeac87bd1f865b57ad9359423351c090cfe1baead3de9dd5850f33f014dddc76c66ce1869d0addbcc16af3e276ae3bbad62e1c4f366746b2f43404f990794b681668df164f0c0fdf10eaedcf3c4f24904f9a78e64c144d6562e13254c302cb937e34135bce4c74a52f24073c651abc66f99752f89aabe7f95cd91fccebee16eebcaedc9ea551fb2cbcdbd7b62613ebb516d8915a0953468609dfee316eaa977fe4c7fe8feffeceb7fee0cd377e5ff4e2f77fc547bdeed537bf8d7cf3e17d75fa9bcedb02e852e3c39a678dae43190d3edc10e333fc041a106edcfec35bcf273d837580e59020fdc11ff9a99ffaa97e56ca5b03d8ca9d3fbefc67d0c0d66cff7cd4015d8deb5bc1dec27fe7effc9d7f775b0a7187e6cbb79ff6699f969827ecf7a5bee99bbee9bbbeebbbbc82f71dfbf958260756935b0063949ff8137fa2079e9e15f7bff89822ffbbcfeff81dbfc3f76c4706f8ef707d25d8af3a9379d4ccd6c4fededffb7bbff77bbfd75d65e6652b557f0dfeb06779ee7cc4564a58ada996e13e7021c57efaa77fbaff99d69db9de6ffdd66fa5c49bcccffccccff4f18dd8ccf399e69e9f218b555768809d9b26b1121fdefea3d735fc1eebec999bc0894d9343b8de7c763e259072eac4eaf4e353602187b17429e9759d357ab31dcdf8eba2c76fcff4db273c3e9aa387873ff88f26be28e4e6e11ccae1b6f3d1b1673bb16429a74eac1e8d9070b694c0f8841fd6241e4f60b02e86e5399e01bc4299068ec70c1f1e7ef2ccbfd8702670a590c6cd395c6f3ea329962ce5d48fcdde5b7335fefddd90db06a720d72909b85d6f5f84b4a76f7f7293df8b5f0cfbb0d285afbdbe10e45c07059eaf8334c69abdcdec914a60623529f5a6bff657ed0f4db872cdd573beae5cfd7b15aefabe1978e61c7a9fe2dde33b578a0decda19271e59c13c86ef806b060eb5730d46bd81973912a86bd77579bcf0055ff005b067923eb76b693a57f640c699abe79c9ddaea457a1bf76c16e089ef7c27ff7c00249f3cc707bff5db47174fe376ba2c36ff3ce1cebc098c58568da52eb1d1c4f371f6891c2cb6b16894f8f07c66d9c1463622dc615e73f5029a2befa059573ee46e5dd9b858877dfe0df708d76340022bd06a81055a03ea1e0f126b8ab20e7fd6cffa59f8763fa662b00d84b792baf9b9e1ff9f1f7cdbff7cd14b5ffe323f5f3bfa7a772d8458d9b11b17fb43fff6df7ed0c77fbc40e0837ff24f6eac6291031ef6a12418bda8f1411ef2d7abdc64769b5bd85761ddddbde635aff9a22ffa22bca85dd26c86668e7d30d9612c9aa2f0a31f1fcf1edd28eaf2a34ddd5872a8b7dc069f6367acc96dc021767b960f0167afbbdb666f7f8f732d806487fc918a87fc6e6ec93eecc33eacd812d3b59b48a76577c2769feed5e7d86926ffc1620f638dfeceb96a44b5400b5ee656b587c6c6e2894c30fea32fa4b126e10187d8838f58821c528e0ff290bf58852c6598ac7268de478afdd19dabdb74de697e64d2e87bac4759de4eef1c23017e32d7dcb11bf7da6dbddef16172cdd59e73f8699e2b3f0edffec4b2b10f71a9ea2ed719c9d5aafd95f7b53f15f16b7f2d1e2716672aabc899ca1f8fd074ca9aeb2041d7413c9f6b7fd565ddfc3457a671e66af6b1d75c998a36c0a6e2793b57de14b6257e054392de32ea43b19dc3e80a84d3a4579f8b53742450d17c0c6ffeb56630eaf0ae87049e0fe5b811f9d1caa9d334b7c0ae9d8ce29115cc63f85ebcb97de31bdfd8d970ee15bdd21b7be74b0ca9ee2c002869e263aad3e89d7742589d000f90cdbb05c0c4d7c53641fc76cb7f8f42a3d0747f0b1f7a1b9a7f1a82399cc9a11167dc92d97a9e02d36f7ee334631e38e4a63965e7b931cf34d75cbd8773e51d34ebca3aeff5750664db7dac3a5eedf41436ffdd090887f1de8c5e7a7b080e6e6e3b79e9e50307c2eacdd73b9a1d788edd3e67dc3d2d3eb0078277a1d9e36e9c6ca751efe6e171187e187f52fbe55ffee59ff3399fe371e53827a301c67cf74e5760cbc2e33ff98c4fe6c38ffe017e620394934051531fc66d94c3583bfc907f5d07fd039e77e6b3f50f8cd5d03bc31937db9ddbb3c7131bd809c0bbec3c0f38d95869c23b87041335fa61d21fea89ca50bdf535eb3a8c55f3e036e4049e63b7cf19332c36303ed3c454c49e478f4950c8a4b4c73a388cfe01cf49600c456d7d4df5c339d43b9a6c776ecf1e4f6c602700efb2f33ce06463a509ef1c124cd4e887497fa8272a43f5d6d7aceb3056cd83db9013788edd3e67ccb0d8c0f8f4150c97307b1bc59548ac6b904b18b23b5877aa9ed3aa1bb46f9975c182ed2b5cb9d8ce75b0a8782178d738753b905dc7d328b004dad2a4995e80201f1a7864d7feea9aabbda20eb3f1a3beae6ce7bef00bbff0bab935b1f79547cf10eeeb7e92789fdb391f59736ad8a1c1ce53e18ed4190aa9004e64615dd3847d9683079cd73aeba5c723eb72feeddc473063318947563a33c64f6c3e047878469971cb7f72c0775c42f2d7d5714dda938351720694ae135b8f14459f676321477313765bc890ca8c02eb99263c39cf51a4c7eb4d7fcd55f3f0be9c2b9f73f78a3845c225705857b72ff2cd4ea8a209b4d7096f3ea690c15b5f1766f786c733cd5626286a63bb96c862c7019f6cea1d75185d53114b93acda768acf5bdef296aff88aafb067f23bc933ca8c9b5238a077c6bdb57c748c935564e25d8b558619fd817f4053d73800e1cd4fce73146926e7f1df5169a606140e34c9a6de3ef08c32e3a6140ee81dfdade5355737b37acd95b5a1b448aa679de0e16b5df57e310fb753f5a4cd9583ea32e44f8702ee6fed0d5ca1346d2a5ca74673ed199aa2f7e59ec158b38b9b710f7b067cfbc66b2ffa3e98abce03577ddf0c3cf3d1e07d8a778feffa24765fae0e17ad4ed6ea2eed35e19a8143ed2d8d516fe019542450d7aeebeacf923b275a761d141950137602ed3339b566abd37b75f4deb1350b1c3d72e3f4c4e33681868b9f0404c294ea9d4382f80907864f3cf99c93a44cbf358d3e03e53675039d8f85a0436e94091f377cb1e7340adc9e1ba7cf67ea122eff66a004aeb99a3939cf95bfe39ab9f24668aeec0c84d484fbb3646f3458cdc49facd84300bdfbcc3cec2f4ebd6a5e9a7972cb8440ddd62a5c139e7de7d6e89d72d0e30f5bb46d0bffe0b77c8bbf4616357f9f7cd69f3db3dd39c002a79e71634a2ffdeef2ab4e7e24f9ad6f7d2bd22f2d796c0b24cbadc0333e273981c0ce64622724cfb3bec07a2787913dec39fa7d8c675c0ef8ed36e3c6ef047657787b626ae656e01937e8160f067626133b21799ef505d63b398cec61cfd1ef6339e372c06fb719377e27b0bbc2db135333b702cfb841b77830b03399d809c9f3ac2fb0dec961640f7b8e7e1fcb1997037ebbcdb8f13b81dd15de9e989ab91578c60dbac583819dc9c44e489e677d81f54e0e237bd873f4fb58ceb81cf0db6dc68ddf09ecaef0f6c4d4ccadc0336ed02d1e0cec4c267642f23ceb0bac777218d9039efd59b23f977515734972f571d9827dd4e8aa14b67ff377467d7d06f6c9a3ab5535bebd047eae83f67ed79ec1e49b257332f5b5bf6a36ccc30b772feacd753db9ed3c735ffd143db9f5deb69a3d9304ecdd152b5b01cc0ed01cd1103851762e4840a399acc09e8546f69c730b8a9d7ac6e5d0fb2ab1519c8b1b3773755178518d0b4b63f37009979ea83e4ba3e75f17cc416cc7a29ecfd51a9789526c58ec1cd7e4cc47e1a9009327402330ffc6bdd55e73f5c2982bfb069b062bc4bd6eebcdab2975af2c5eadd81f388d2ab3ad81f131d5349b412a87d898a96f14b7854c010353631ab13af1c802f7d519eadd7ba92181f8c2c3332ef0ea57bfda32f65bc49ffdd99fedf78ac82a398c1e3951e1e776aee420b7929c846b3e508fbee3da47d741c56c2c6497c64da0ae1000db6d42f0f035578f66ea7636aeb96a55cc2239af9fa6ebcc4f480ed7ba6aa29a0df50be53dd8ebd81e43dd3ec45509ef3b32ed34e004ae53eda3aa67af42104300b7cf012a5dda8aed7ae73caf09ebda3c9cb8e1845ffbab6baeac0ac562789eacab47cbfafae79e1978ea9edc3af779975a9dd52d56938357239dce46d3a4a571022d8a201c5f60b16a1ab5ae34e1ad1981aeb3a604749df3e96c5b6e8377fe0dbaf39f2365d8b8f94ffeb9e9ca67f398e9cd678fc530abd16094ed73184b2ff1adea9d9e030b39cf0359831e3c6be6933f6637cb67e6676b76fe0dfa24cd954fbb67aefa0901cd1ee7dae29807b7b280f951bb77d584019380f1c9378d69d1b41e5ccbddf1f6e4562f2ba57dd2ae23d50f6bee8c3df86cabfbbe733b3ec0c6ac624aa3e6016fcd16e4a3a6bf8fdf63bd4b9861b68764988ccf4173277fa786726c27f921c707d8b863c44cec196f4d38713ee9efe3d36cfdb3c40c29abf74070cde91dcd9dfcc1278dba34a617332470f68cbc11add83316782b7968fda4d9f3b07d36ff2cf11cc51cd41802bb375c86677e33a319abe9adebe1dc88b7ace621bdadd90281d31c90db6ec20fe790cf4153d4c46ec3d11f3477f2776a28e71881cc871c1f60e383ace6f8501eacb6209fad2970f3e1cd3f4b6ca0864e7f1e777a531a68c6dab11b8f0618db7cea8aec3bb7760248ff1d1de00ac5c7454aadb83ca95ddad4ae53fb116e1a81343dd7ed5a3f8f73356912ccde609aba040ebf713e9434b0acc8d2bb4a5256130063d87ea641d3e4b3f9ddbb358d3556331646d93ee5399e7a896f55d7feeac99f2b3bb737bde94dd7776e5bf077d64fd193db9e5b360bb0939133855303a6dac9a2cf0b47d3a944d3677be9ebea44e65482a7a98875e263a2cc6781bad208c4d360e04e439d4f4753177d62357d67375891671a38074c7a3c9c1ee6ec18c90c0ae301cd46046838cc3c6014bdc9aeb96a366e67e5099c2b9f85ef756543d02a72bcadabb6089aed3cda8b84e7396dbd914d548ccd078d7a77edd8c467cd7d86e9396c4f181fa36bca9860363e348b5557267c64f8c17bdce1817218e6ac7f5fce95b14aa07c76cee51943332565cd8d31bb09cf916e7e6491d57bdce1817138448dfe9aab66e69aabc30ab9d6551332efa0260459a9b9eb794f218707c641e0f0f0e89fc3f7a07ce61ad4feaabf27422ab62bae59ed4f6c51303052a95738feda5f3527e6e19aab56d413bc6f778057796006de6903fa80ee5dedeaec29ea701ac5cc095457a56dd9e09aea7371fe42aa37f019462450d7aeeb9aff0ac87bbeed3b8d646a8635f73b6176ff699c350894f8f1c163a64e702bbc39db769adeb1b0bbd0e11f889ddcca8a926da96276cef0e4133fcd325197a1de6209901d4bc98c669463b23dc3c4650528f90085ece3a51f9f9ca72ef026fef6b84a63c7c2d75cb5424c510be0beb9f29076e6aa07b666cffe40ed9d25b6f79797c327e2786f965e411f6febc2ab99d37bbdd47a3db9c5b425aa779a4005dfde687648f861eed39c3db7bfefdcce7f051418cf0c67acf19911f389272ebdc0bb112b643bcf70c3dfe7397ca0fabd31577bde1ec693fc3e2289c503d75c35333327e7d7eb9aabf31a6b4eaeb96ad99ce767f3d75cdd373f7de7d685c9ff00e4af906cdb5cb34c577f61e40e56538df125dba694c6450ae36ad5c4a699eb60517af16a51805a996d09d075b02e4dbd98c0e0d9c3c44ff3c6ebb6344a6e6a0234cf98ad19e5986ccf307d5915980f5c48c7a2193f3e394f9d20874963c7c2335713c5330d30b10d91494a5da57acdd5619edf3773753db96d713e503f454f6ebd152d3be73b40f19ef4f996a9e99d3c9f7579b7eff9c27706518bad2b1f817ce8f773ced1e8cd9fa6584aa47af8892d87c94dd310e9cb301c1f53fe6443e28d85c91faf2937a0b4e1d1184b56baf8e029e1f2d91abc72cdd5933a573db3b5182c1baf7bebc10f4a3975b666aadb914c0dd858cc3605269b5efb0c589d26fea0412a2977ece0c6ad1ee5e887bfb5b9b927cf7ff80104f038840ff59db9157850ce70777a22e3772da479b8ed7ce6a3bd34d75c5d73d50cecf536eb7cc83d4ba3bfd695f9b9e6ca24542c8cd6c6ae75ddd2779c03873fe89f93752507f7b1a5e462e492a4d87bb842f99d643b93ba900197aad9475dfb2bb361aedabf5d736585581b568539696dec75f5c4cc550775d5f7cdc053f4e476fe9fdbeed66646ac75b8bb17c0a9c1bd1cb0f9ce1778b1ba9c7c7be704b618cebf9ac9c4c245e5a38e39d41cc8f22cab9af731f87236a27cc28d3be9d1944f209e66c7c2f1941b371b18a590b2d26cac033fc77bf09964c64460595597337266e6d03bb34139393439c3d42ca5d16bc6a89fd4b9ea496c337678723bcf6f0133a01748d3aec8ec797edbfc7b99149f77d0dcf99ddb9ba9bcff71dfec35d3ccd6eacc636e9d6eaa64a399ffdeb647b8c3dfe799d5986458d43976f3f7e1063af868dec7d4751e6bf8800c6932513fa03fcc5b5163728e7df69e87040a2c93733e9bbf0f97ccc147f33ea6aef358c307aeb93aac81999fcd5f73353370e7fc5c73d5fba8faf93c57f39ddbf60fbe762b6717351771e78aee693db385dd7bdb21a8ddf776e5725c61e27abb0e8a9a3dc0ec108891ea616adec7e09fd43dc3b5bfb206663d1c6663f6b1ad9343ef73beae2cf8eb3bb75ebb07ca53f4e4d696dd7a6d35f70cd3bc58b2ce80ad634db83bab59f404789f03091f9c1ed339178f8145c1dd1ba4c717cb0436eef8f49e51c713c48c8ff70f7def22b6e5dc5830506c396beefc4519977332faee5135fb4cab7cc4968f7af4b022963f59e30262e9f1b0d2b834c98c580e1defe0f40ce945e131b02818cf5f1d5f2c19cdf09ac4cd43fc30e3a3973e0dab72ce13063834ae79d0e430f98b9a6327a37fe2e7ca67e13357fdff81f604cd6d73e5d4698ae60e64ef90605d6a4514cd34c335efac91c38b9d26abf0f4dedadf903b87dd7bd6d73b81f9e7bcfd0ffcf80f1f930f8c1f6634c682672c607c066f0699cf24a9b743d01579a8776fe326483fbd931b668f9878ead10fc3a782d9c7854c7ce6c77ff433ba28b863cc7634f9cc5829d5f8c1e39c2c9f0469e09a77d6b79d8f3e2269dc648d32bd932d668f9878ead10f5356b9ede3dafe077efc879fd145c1f861466344b8e11a7d7c8a9aba5ecd7ca6490fd7bcb3beedbce6ea668eafb96a85b4c6f64a7b4ed655d7657f37e44a24b1c39ec173dd6bcf605aaefd9549b054ecdf5a279ab397b34234ed6d5a4b4ff65c39d2ab3c30034fd193db2ff8822ff01e3017de12ddc1f61e98bb1d5df1044eac7a3187774b3c7234de45c8f16caec7b9662670fce8c5367af5f08d3b9e0066720334f7b8f920e3d5a3190cec6369c46a5d1dd7f6493c39cc11d1d02b62f73c60b6bf669e5bb3734e4c36ceb072e0674eca6deae10b993c9fdab9f221f7ccc93cc5f5e52533665b605a605b16d3ebc615f6e4168981236d6e6c94e167f9ffdc1eb6867b8734fb24afcef037afeee387b4c0f0ed32d5b7fd37fcfece6dffe1ede847b3f50f606e853cacd15b3ee30f1472e0871c0190e63056cdad9f90d19fc78da11c31f0b0fe567ba39990f4c397c3f8dcc7e7302677ea7726e33321778e9bed2187c3585b73ee9a59d2f5b0cfe49cf2ac7f96398fcfe89fe5b85b7f670e0459dd991b7204c038643b81a349bf9b3413f52c73be4fdfa00d31431f3c47f3007f48524823eed83b73207860dc9dd8781ec6da9a731773e4d4877c6a1e8eeb3efdc4020fe4ac3787d19ffdeb3af05b7f670e040f8c2b6404c038643b81a349bf9b341375c8ed20defe13d540390cdefebe73dbc5dd776e01bb821edbba2469767db77fe3a0e8c5cf27b0ae59486ef1731da4d9fb9ce12985e419c0cc7e06d034e8e84b0c19af1ecd6080957af63345a991ac86d754124f0ed39b9e60f2297642526ac697fff803e349a38c73cdc61d7ef493ad71e1e1291b62f2c10c0634b73e1f64bc7a348381d298dc66745d732c058e788e6b47e955269f6231db5f33be03197f603c6f5c5e5073e5dd713db9ed55bbaf7e8a9edc5ad9de15ce8fd6744bdf33bab07a9e19d2f41c6fa6cc1b203d1e79c6dd337b7f5286c71f50e2d59d05466fdcc9c1fb737213b27dca2d1f98092c364d79f201f22f4f18031387c7b3718d389a72c3f0410ab9e6aad7fa099e2bbf3fe9146955d8255827ddd93a5ea545a546aadbcd1c6acd0393de3ee3c063f8dcca9fb9874c73f66fe87ac39b3938eb7a9899711f504e0e3b73b60f381f7acb707cce631df439d3ef118b7a57e76a1ccaa1fa81cccfb90d73cdd5b39fb76baeaeb96a06bc7daef7a0a950661e60d3723e1f3e3c573e5425b0f750b78769c7526d5b72edafccc09e9f33bee6cae2a93cf173f5f840af7fef9e81673e08bfbbffdd653bbb890eec7a4e79c8ca6c1434e19a8143ed0487516f60831e09d4b5ebbafc5af21bdef006275ff76cb222702307741757b33385b7c4dcf5d9e5d36f7e42b609ac640570bb251e7d9e14e683cf3066f413524af546769b510e25165f86ea9d5bfe0433d684900d9e340efaf1e4902d9f192e32e7f3b87aafb97a6ee7aaefd3f6320df68ec07836abeebd06203dcbd56c5d79357ba86b3d14ee2de3338e67f39d5b2642bcadf20f470e6ec773d0a41f7234c5eeffe7d6af25d72b44d9219af431b79dcf340f39d43b3e13b2c30b99ae31bc33b6c0a90f1acd192bacdefe8303a32faa1c4653ec90a339c49229f50e06c8766c5d077ef467cf62b73eac9eaec2ef8b2d81a9131ff2dcb107ffbacefa9872184db1438e66fbdf87cfb1a57ae023733ee0c6ddfab07aba0a39e790009f7375e207f0c13fdbb37e3ccf7a5d91a339e74670f09c900de0dd7cd8a771b73eac9e2e5839fb24c0975575e207f0584d38e6ac8f39688a1d7234e7dcce9ee7584ca543801ff669dc641b63a6398681321cc1f37faeface6d1b8c7e3059ceae4d0ea4624f32dfb9edb87c268bd4aba9abfd4cbfa58c490f285ddab8d5acdefb1fe2bd41a2d4abc613d7b5f5e1093984b7173ae8c79361b6d7feaa29ea459fbd2ef29a2b33d03a993576982bef8e2ffaa22fbafe9fdbdecb77d64fd193dbf94ccb2af1b9a05a31293d3b0dd3cc198da6ddbfe585efbde7ac04df86debc037bcec904933f015e6cab53179e03c0012698b102bae8f566cb33430ee3c981a073a25e9afccb0dd3b8a3c7283be7f13796a8ace83b46e298e131e5431fc05c73b567e9853b57fd2ea5fced0fdcebb66c7a7d5b57fdc51766764561f5145d8a6660708c3dc78189dffa02316ea777ef60e0e053d78ca857ec0c34a028357d2181f08c3b60343193cf9da3674573f0177bd6279e8102ea3de221ead03b21f1935b0e3b76e33d6e0e7aafb99ab9bde6ea5a57d77bf0fc2ed8e78de6a775f2be992b97a4362ace543e72f57b10ed91d473cd7285baf6575e0e73e5c2dddecc9c5c7bd1f663d6c653b26fefad7ad5f7cdc053f4e476be736be9776ae89ed379a113a8b3aaae8dbd5b7a9f548b9ad80086be7bc8e9629ba73a87ed59885aaf7a0ae5ce87673ebd63c9f267358199e7307cf9145bd7968d7872ae77ea1908b3f1ce0d7fcdd5617e9ef3b9b2056999591eede0a504c8b33b557b05f7b15e384dd8776e0994f97f6ebbf92178fbdbdf5ed7cffed93f9b035e733c6bc60c4ebf35054e4db07d36ae6bc7eeefdcce935b21692636502625305de35954f59d9ac8ea9dc37d9852d71efa8c77ec388f6c9840b9ed1a9f389f8debdafe077c9f4f26c2b77e9a3b2aac4b296aa711afde3ef7e1647be833deb1996346364c005fefd4f8c4f96c5c57fc9d78bb6d9f4c303b769a3b2aac4b296aa711afde3ef7e1647be833deb1996346364c005fefd4f8c4f96c5c57fc9d78bb6d9f4c303b769a3b2aac4b296aa711afde3ef7e1647be833deb1996346364c005fefd4f8c4f96c5c57fc9d78bb6d9f4c303b769a3b2aac4b296aa711afde3ef7e1647be833deb1996346364c005fefd4f8c4f96c5c57fc9d78dcfa7f6e5ff18a57d869b890f9b5645d8abbdcae6bf63f9a6ee75cb05ce3f02e64ae6e3db3d5d59e0498eb205cce6acabd87216e8fd4759ce0da5f5d73655d593c6aabc27a6821b5ae4cceacab9928e0b95a57f66fd793dbfd429cf153f4e47656a135aa58bb566debd8bcf43c138f845bb56a9f873909b6d67bc04583c123610ef8792708e1802f164f06e70f2b300d40c6472f9c46ade4596ec6ca1f4f5f6e80107c205e3db1372eb7b6647280f5ce677bb79d377f6c83d45b0e85a714a5379ce69aab276fae7c16de1f303bb4bdae6601db9454ac041b05b89513d9d6019ee781f5aa917af1e11db5710ee39cffae138fcf41d9b88d357521ea7c680e51f84a1a78fc270a286ac7c21332e0b1d933ff4e2ca0d431b1e55c573581de9dc3448d208de6ce27d9a11e9f83b271f3993aff71a039445156d2c0e33f5140513b169e90018fcd9ef9776201a58e892de7baaa09f4ee1c266a046934773ec90ef5f81c948d9bcfd4f98f03cd218ab292061eff89028adab1f0840c786cf6ccbf130b28754c6c39d7554da077e730512348a3b9f34976a8c7e7a06cdc7ca6ce7f1c680e51949534f0f84f1450d48e852764c063b367fe9d5840a96362cbb9ae6a02bd3b87891a411acd9d4fb2433d3e0765e3e63375fee3407388a2aca481c77fa280a2762c3c21031e9b3df3efc4024a1d135bce755513e8dd394cd408d268ee7c921deaedd3b35917237b0fcf6cdbde5cfb2b33d6fed03ecdccb4a33339f8e60a8f84afb97aaae6cac15ee581197866c3fa80e8dde872762b2ab0eb399d212b9d4007d7549f8b373052bd81e75191405dbbaecb776efd3fb73dc2ea4ce13431778f806cf1ddd16972b0c5efb6307d984c973a4de010ab7928421a0b3f9e3316ff31dfb81c0a899fde0c1b05399af12f761f6387133f39e4a0890f97678198ccb70f41fce47ff69cc3c9f69aabf7c15c759beaf53296b752af63a4261e06bc76de26b611b09709dfff70dbf35b8bc4fb45ddebbeff9fdbd9eeb44e66d7a239f83dd1ecd8fd9d5bbf966c88324fb39b9b0f978ffa50f43e9ce736df389f62a7466658efa43120c18e3de08648af2be767a9b92f76f3618693d280211bb741774d39f96ccff4f5a63fe0c862a7469e650ffb6f1ff8ce1c9ea5e6bed8cd87cbb3e1247ce7b80dbaeb0eed3efde1c00f03cd58f8510ed03bb603869c5860e37d5c9bdff83ecdb3e1d3709b94060cd958ea43a1147e9fbede420e38b2d8a99167d9c3fedb0726cee4c0d7f5409e0fc46ecff00cf1406e25b0eb0eed811cb6f9c69934d6d4e57090d5ab2bbeb16a9ef17ba2b92f76f3f39d5b7f55e412d6554c32f66c64eee53040cd922c5c6d9bd1535c7cdfb9ed3aa8abebe06c48f083dbb708e93a38354657fb1cb84b61bd8913b84a4a297fe0da5f5d73650694f7cdbaf20ebd9edc36e1f7d54fd1935bcfa62cbbce6ece95ede09db300bc097286ea996a4d4ce7357c1f22c6d02b708046c9273e864009c7d3f08969ac04f07cf6167313795be845958f409c5a93a15ad1a4e100538ea05373e3221d573e983916fcc4a6c9b6dc322f67bc81e004c469a689293dfcf8630814bd018c924f7c0c81128e6fdc98c64a005f73f59ecf959b5b33ec2566e5f5aaeeb616a944e29d43db430083f19518b5e64df7fd1f69d5752bb9a9780e33fee399db6e6eff02eb1d4d9e436a2abb37dcb8d39ba6dae11ff809dfd922b72c9c837a8e657026456d9f42e2efab69941d35fed9ea9dd8033874a54f93e781a9a94b0937ee30f1d5d75ccd4c5e73b5574eeb7333677cadabde53d75c7532b14206b8e2b75540023e87752552ae3d83993127d7fecaaa3015ad071b95e6e4e9dcb73bf6ab3c30034fd1cdadaf7398086707ef8db077c8bc4f0037847de5a3f9d21bf076c2abbd9784c7f7be1a8de68167b8359adc1a17682c35c3cdc37c8a4dc3c4d0f1c48a268ddec83c35cb8100e630b98d7f21e9773e78059f79c72b4a932c7d59a9f522474fa6cc58c5aa25233c7ecf037179068a65b8353b3782c65233d42c1f40292bb1690043c7132b9a347a238bd52c0702d870933fd96806ef7ce8159acc3b5e4a4db262cb4aad17397a3265c62a562d19e1f1f0d6942766788683f13b37cdc65233d42c1f40292bb17a3ff4433f143034de135d1f7b7738347a236f621e3f516c1fd6ae74efc97cca9e461d6e9b323c71f8c6ebb106201b0d9c6760eb6f831e55f1f98f5edfe4b37de231ca68c2e35f6e133efc8e4d53e0f800e162d3c4500e39f856fe687eeaddc712c62b3b87c17c46339e81d1347a03a9e36986df18b97dd26094837efccb4d4da00c0f238b4d9349fc8df4b6e8524075b100e59083d38f46339cedf0e3b3f530d968c633109fbe71776cfef11be779e009b6263cfee536430ccf0a791b7a73e0f802e34b265c6c9a891a5254b890fc63c23b1fbcb273184c36b1e319184da337903a3e7fb6988d6b1e7882ad098f7fb91532fe8082bc0dbde6ead126ed899f2b97a4b90efaf8cc1ae82f8f005d87ebe38fca75d0f571ae83fc8daeb82cce7510e81aeab2580e04b0d1cbe766a53ebece76e94cbfafcb78059f79d77d519a64e9b9e5a91718fdadfdf362cf20cf6bae7a5dd45ebb79dde735f2c299a234ef83b96adcabbe6f069ea29b5b53e0c4e1331ec02a9cda2a847d3a888c4f131f33bc858bb7b2b78f58ce4c9ca1f09da73a91a9e931f9e7d9d0790a54e03cd5703e00bd5eb1421438ff7c34c7d0f3cc69c2e5a086cb813267759e7a918e689e85c2c6c2cf5800fdd40dd7b1c45f73f5c29dabbee3247f1f907b1ded247a7d6721f953319b0cb55de67dd80f81d47baec51e7a8d356e673d26fd37ffc00fd4fb23ea0f6e67fd81997cf061f541b33d477f673ec58ec37332573bdb77099f8ffac0ccb15f73759819f37c60aeb99ab57798996bae6666ce67bc6bae9a934ea1fe9fdbc3feaa9d8fda25c95cd9995cfbabd9771de62afe9aabf6307bd76acd3c9173e51d71950766e0e6c3d107badfedaeb10decbacfe43053301bd7549f8b858b546f606b1e09d4b5ebba7ce7b65f4b767e6cddbbe5b3e237ee60c5e2f781d3103bbd9e6333211655489e5b0febeadd35e768fac1fc39376ef9d0cf5883c7676bf436f4d95f9712afae596c6917d871357af5282787f43b36cdd64f14f13557effbb9f20e6a1599fcb01cba5ff59c04ee2d46e377f606e3ad0dcd345e50e198f2dfdfb9f5faf62ca5173aacaec961f31b9f95679fd107fc5a725fb51df080bf90d2785893ec01cde4f98066f2dc1a64cd078e8ba024477c673e93430315b5c7da786bc2c304eecca734b6cfbb8127cf7735566285dc999bde71fe118fe5ac7cc073dc68c2c304ee8c4dfcae1ee3419ff39dfe867e80d77bcdd503f3b3e7f99aab87d7d2f37faefa10c451d83ff8a964b5cf5ed57dc9d62eae03d474ff86b7d9f3f55ad729bf16a10bdfc5cb8299eb60982666ae6bf498ae718379c2070d866d7cfee9238717052b79b2c2a4b9f657d75c59183feaebcabbe3faceeded7beedeea297a72dbf3cc66a2cfb7bceb9ce3e0482726c5c9488db96ddd3c3ba5413a618dbe3317bee79694983e1f12184f8f57a79971013e0c3b47c7cf883539d0c0e556af10a324c08f86bf2e7abd79a66fdcf89ecde245e5500e3431626974e1c9aeb97ab2e7aa67b6ad13bb843bd755ebc4ae68f697ed90a6c6db73682af0e88161d2c420e9ef54ea9af0f081d951b0de5dcf88f19af5c64f0d0c3e8c72e035ef73c0dfb83c3ec6ed3359d5bb6b51efedb9327ae59c61c752bd334fb9f9c91918cc76f02dfde8a62b1e739f43fec59e35676694d75ced3987afb96a6da8956b5d9984bd429a93cd845f587365ef6137d23ec719c027b3dffffddfef10ec6a5ca1e0ae5334f62dd7feca3c3433cd5bfb3dd774b3045f73d55a7ab2f7edde1d57b96f069eae27b7ce98def3ce05bdf39d082cfd61e2239d61bd37ccda88e16e06f048cd3189c9a7891e9c669c0f9ef83dd0c6020d973e4f757aa011e9cb1fb3731b9f217318c3ed93269f0465bbebfcafb97a3ecf95dd4c2f9917cbfd6a6b20d2adac0503771febc9ad7d43bb1fb5921ef0123b467f1e9655ffcf2dc3d95bb7ada48c542b9a9bc78c7e70cca12ef6acd9ffcfad47b8e37fd01718b99d31cae400686632561b244eb3f17822a7080c8fbfe60c114e73208b3a8cbbf58367dcc48790736fce335c0039690c88dc0e137b9f6642b6e1198f6786d579c2f54696de0c3740efc635b7f8ec433fe36ebcad369f7f3edbffa03f08c6015f573e93dbe4a0377120f1196fbddecace6d63bd33dc804d4ef8e413d3281bcfb87c066fabcd3796deb10d1cf407c138e0ebca679ba4d1bb41e2c88d779ef84a9e70bd9133c4e60fe4846f7eeb07e77ca8f5cee194fcd4398f6de0a0cf3c723b4fec981f34d30ca867a08dc71339254fcd7ae30fe1877113a7ec00e1fb7c129ceb0999ac4693f3e410f097c96ed55c985efef297fb3322fb1f455717af766e6a8ca22b9cc6d5ca93db762f7ae73a48337b21e4c602d3974c751af8da5f5d736519b490669dccba3aaca5e764aeaeffe776bf73efc44fd193db59a9ce6b2d5c2753ebd2da9d9a4657cf33f10a8c04d4f4dd6d72e873b2e6d4734e0ef9f799193d6662e179164aa6299066328131fc1bab5e771a9aca3c534dd31d88587a35c1e699e33178d9e659338c1f0dbe8291037d99d070de198a4d3375e33ac6a288e77875d15f73f53c9f2bff97a057bfd7d1eb35eb4adaad4cbded690eb50d0466c8f0341f2da9c7ffe0d3e71656d7dc5107bc35baa6c4e7f3789017d9c71cfce9678870fba1c802f17b94837e3b8cff84173bf5e6372ecf6d054f937217fc1cd7e0738642b6c328814329763c1b6b8e257e7a2796ec9aab6baeac87d6c62c8c0178f3332be79aab6bae66065a1b2d150b0338d7e77545d37d2ce0ea632f01545ca75c92da93e0db996066bf015ffbabe6eada8bda883e3d7bd1c76f91ebdf3b66e0297a72fb8637bca1ff03cd3458fddd7a39633a3362e6bece16bfb327a6f3a9de6485cc2ceed894d9aa9990f1c1078a1a9fadd755c8e82764f8832665791ec62a5620a074148eb1e40f8609d47882a9879f2ea0e4ebcaff9aabe661164613f89ccc553b83d6954ff54a09f01af9201cdf6ec39a01f03eea0ecb1948d3cbedc6c635d287e83fe2776ee9672b731f6e1f533d1a401a3bb6ae7642fbffb9fda08ffff82d0b1357d2c3f9ef3a414c821db295b0aeac463f21c31f34db21e743ec21b7870d333f786ae6cc2a7cf6cc36c14136e16312d8a384379fe10e39e87595c62176f31befdc0ad47b883df304dbe48c775619aa95860bdc12778c35b1236bb8f44302a39ca348139f20a64338e8756d7e6237bff18c32fe7a7f444cb04dce786795a15a69b8c02d71c758133bb2864b3f2430ca398a34f10962f69c4c94aecd4fece6379e51c65fef8f8809b6c9194f3e930c4db21d8b398f35b1e9d3a8a7e4a939ca398a34e309c44c1aa3ac6bf3130b0cbff18e4da077c6ba0f1f06da86e11cc627fd748d1e18cde0894dd6776e5db65cb0ba66c9d39f1491215d925ca47c026b0bd7e7b0f8be670be852f371991342df75703e61778de34986275360f5f01b175b9d20fd8ec52395c6baf657e6f39a2bebe17db6ae6ccfbef00bbff0133ee1138c387fe9004f6983a72b801f59407d2ede47914045f331bcf9d73162d4e15d0f093c1fca53f4e4d699aed35327267500ef95809dfe60e7a964f6f716c4adeae699a45e325df848cd620151b9551f3e5f2450c4e2c39cf98c27721c68e064f9970f46544ab1009e439ec615552cde3957acbaa8f1c18cbee3254e5fe6617a40ec1c54201fb8582326bbe6ea853557ee845b3f6ae5bcae9c10eb6a2734b573193c67b4032f641840491f1f461e64bb79c09a135560027b9d1bf76585af6bd77bf4dbfe9bf48ad2d4cb67f80d46830c0f232a65b1bbf7801b3d7d38b78d63042a9b0f23770287e6ee82e5335129135c73759eb76baef6e239cfcf66aeb9bae66aaf07b8f2de385fd94ebcfded6fb7c168a7516dfe6777d43ec41ea6bd597b1e02456c7b1bf8da5f99846baeac87d9633f79fbf69b457f95fb67e0297a72dbaf255beb6de5cd89b361187096c4f4395ce74db8b3c3e6672685c09481c131d90a6fb806aa469e47c17018fd8c1259b37c7aaf96e1e60f9e7535d6d4c8f2390cb48fc53cdca7e9a088afb9ea557e5ecd554f6b5b6361afb28ff7bce8f3fcd6a644b3ad09b245e2d72629ddcdd66b6fe1b8ec2af693dbf631ea422887290a3f7b9d2ddbfcc65b13de3efd4832c6235c4f6e1b34ff094416127fd0e8dab6131b7f5fbd3d33ac6e20f83c56823bfd2776f76e7d8623ab791e4bf868c207cd7dfe1328bc9094b9eda8945b73e8d57560b66786d587dcf6581b9fddf41e46d97ab82493d53c8fb535e183668fbbfd27f001ff893d68863fe43ffcd63768f521b7c8a2361e9ffc2776f35b0feb1a59cdf3585b133e68eef39f40ce85a46cc41d95726b0ebdba0eccf6ccb0fa90db1e6be3b39bdec3285b0f9764b29ae7b1b6267cd0ec71b7ff043ee03fb107cdf087fc87dffa06ad3ee41659d4c6e393ffc46e7eeb615d23ab791e6b6bc207cd9dfefd6f40b631b61f4ae6aeb37db62224ec3a8581312e52941857bd6a3c72f642e1f63f0c0fdb9e0e0419b8f657cd80fa9a2bebca5a6a3755dd2adaf8b95d57de53d793dbdeb9f7d54fd193dba6609e5b6ac29ddaba5bb3a06bfa8c67bfcff1d6340d1ea8882d2a1fb558ef87ea9aceadbd4334c5d2ebe506e391e1c6d2a457f34f5f329d6b26b7c64d939e98663c8b1d9f4c3495f289691ef868c2659ee6567b53a5197de09aab2769aeec095a457b5dcdc2b681686fd1928081762ab35f8969bfb27b0994039f0ffea08cdfbd332e87037f6bfca89ac0f16cc4a2124d0e3bfff1e7101e074c181f38e470560aa139788e4f7acd98c9677c00e5c08fbea86ab2f8dd3bf91ff22cff5bef9b6a02c3ea462cea46f198a114abc684c779c69aded1044659f35c0ba4c90756f658e9e361ca8383a672e0470fe8ad0ed435fce47fc8137fe3fbb81ca2d08d5854aac961e79f7fe133d68c2e106e2ce09043bdbb4e73f03cb869c64c3ee30028077ef4455593c5efdec9ff9067f9df7adf54131856376251378ac70ca55835263cce33d6f48e2630ca9ae75a204d3eb0b2c74a1f0f531e1c3495033f7a406f75a0aee127ff439ef81bdfc7e510856ec4a2524d0e3bfffc0b9fb1667481706301871ceadd759a83e7c14d3366f219074039f0a32faa9a2c7ef74efe873c7daedae64addf5a8a87e33d9f6a32b6f7b27cdf633ed85aefd5573357bb66bae9ef87dfb7e675df83c034fdd93dbee159d192dfdb94b312ff19d28e33164ea489aceaa3389238e194f4d583d9eee16c2c307d2f0e15c5d6cb91d7c848ca12e65f24fcfc140735c659e73b72b93c30026a3bfb57c94333cc301776ae6f0535647965b86d523ae399e9ab07a0eed9aab776fae6c23cc619319e6e3db11d566d8a35ab7b2d6835e388d5a8887b700a562fe6d3eec15bce83fe7e7fc9cd9c17008ef1a19afe6d06605b8a51fe907070eb2837f3ee7efdc6ecf7cc60d68dc62a759c84ee980b76759553fecb34d1aebe0831c9e789c87070e038d7e6bceb2dcb6a6a1f728674dfadcd40431137be8ba938f2c1c9e111f8e6dac436ca31ff2dc9e5b9fffc33e19e6b0f339fbe89dcc67c4c21b22bc4d62b2da693c80f7b833ca03fa86db028ce6c1a74ce2773dfcb3f1495c56e9d587b10efc7d6365b5c531a52dead075277f38c619ebe1d86d4e5954a39ff178eeb1f27fd82743515b76f0cf47bd47396bb2dae2983be7e4201bcdcebfacaaefd3c7efe43187dceef3dcfcb3f1a139cb0e632550c7ef1af9e637bfd9d5ca25cc754781cbc1358b52e93a5513c6f4132aae56ae59e1f8b90ed2c02e6ad7feca3c98e4aeef61738599b90a5f73d53c3cffe7ca1be14d6f7ad3f59d5bafd47de5297a72db7eddbbd7bbda677eddef398dc26a13848fa4c1a4c73b33eecf11f199e8c28bd2547a02860c7300f21c7f9ace2c98c1fc790a9c586908d44c73e3fed81f5f3e7a47131645df2160f21c4de3e6c90d5f0e671fbd1d7bb2f14c3fc772cd95397c81ced5fcfa94fcbdbead0afb89f9dc17d3f772db61cc5e076f33a11ede06423306397cccae754decadf0990ff58b1af106b06294d168f21987c0d4b7f29bf41478c0e677ce6175b9ed907168f4b1026212df5937dc1c6f9ac60a6fb7b383de891d659e9a7782c97f724b861f87c0d4e393e7c836bf730eab67ac09198746df7c0ccfd11c70c3cdf1d6db58e1ed7688ad6b62479967234ec880c97f724b8f1f87c0d46398e7c836bf730eab67ac09198746df7ccce439ca611a6e8e37beb1c2db6da2c60798d851e6996642064cfe935b7afc3804a61ec33c47b6f99d73583d634dc83834fae66326cf510ed37073bcf18d15de6e13353ec0c48e32cf34133260f29fdcd2e3c72130f518e639b2cdef9cc3ea196b42c6a1d1371f33798e7298869be38d6facf0769ba8f10126769479a6999001937fb975b9d1dbf3dbae4a9ed9022e52ca0860a47d08e0126c1f327b12fcb5bf6a7e9afc6baef67eb80563669e8c7d7b2ff155df3703efb465bc4ff46ef087335acdeac34910895157e09a81436d7562d41bf87dbc48a0ae5dd7f58ddff88d7de7b64faaaa1dd7dcf275b3e7be11c03b5dc2404d329ede27a3d7d49b061e71ce07fd9808d9053f7a7ccd04db3326e53931bde5561793cef5a5b46d278d80aef2a49ca1b766721bb24c34672ccc39a5f2119e5e13b8e6eabd3a57de3ecdb6da83d95ebbf9cead66ef2faf451f8a9fbf736b93e1cdd2776e99f8df6e7fd12ffa4579cede4873ef78c20d7dd02063ce9ae127b051a679fe7f6e1b770407bd66c30da8b9f51b173e2693cf84efaec89894f0e1a0eed48cacde4348f9a4996ccf9a46ac3e184e2c1056cf610eb8ed7c864f3303dde97f88cd6102cb769af56e32e690f3f60c938d267ca7d541d34087e1f6518c1e18c33bc79a94061cf49a7ba03d4a86090603530a3c84d7bbc99843ce04f8f20fd7dcf84eabf119fde48c195b60f821c7706263761ae31fb93dc3234e79d01f4f3330540000400049444154c6ca7f02cb6a9af56e32e601cffcc94613bed3eaa069a0c37069767d30bc73acd2187f601298f03dd09dfe6352ecd4051ec2c7bfb18a6daced73c65b13bed36a8e65f49333666c81e1871cc3898dd9a9c25ffdd55f6d87f08a57bcc27642498cd1e5aae43915c6bd6bbf96ec7286ec8791096c48d4ed3780fcd3771dac8b2ca0cb75b00d497b1b4c4a436f3e7dfb99badafcd02703c636ab7cf00adc40776a528e1e28aa21f867784ea97c46af29b07c1a4eb311abb73ecf896dc4837e9af56ecf98723e27a6b7b1aeb96a9e4dc87b69ae2cfeebc96dabf1befa297a72db6a9b67a466c4b9528d57e0f98c6726cb1b75347a614c213efb99b34f9f0315c5ca1b5bad39b19d4ac42abae410a69c7c30f917bb93c17320a06fac46c9bf71e1f2a1a441d2abc73fd921371a036d4d6395c381e7805768767a39977f9a6bae5e1073e5b37077bf5e385b076bc6cbeac5b542f68b7bdeafb46bb1b7e8759f3a7ed75b333ef4071ea3b7326e0386074639c056e6c0d775aedbf4e4a696439872f2995e00bf0be630569aad1ccd563219ff31dcb1e1ad199f43ec4401e1310c0c5fef6ec23bab04a246b9f13557d75ceda5b51752eb64960d70cdd53557b3060ee7b1592d2d983d51d31550bb1eb5697119723df221ac4b12def35b0ca07485aa592f7cedafaebd68cba3fa29d98bee43bef079069ea227b76f7ce31b9d829d052c7ddbf74e8866441319685b3fe7cae18baaa62cbcb3ead4f8098415fae9d505bb7318bebb8878a466facd6f4c933f9fc140d7833b639109e6b812cfe1ef6327ae994660cc88b33a7b1ef883cf3557e673e6ffbd3757760f66be356697d0ba425a4276097877b0f17df9766bface2d4d0b40b6b02dc5eb5ffffad9b5c87c30a039fb95e1d3d4359a7a0f9a62d31cf49a7de716e867934720eaec73f0cff390db41c3f0ec837c36fcf60f8b9ac3398c9be108cefe758d675955eb5206a7c13409811bc5ad46bdf9fb7c0e7c9e879c0f9afc0f9a9b51576ef7e1ed1fa6ccaa516e5c96cfd66f3eac7e36c738e2835e53992136c8f6708c6558bd036f6d1ebd2e074db283cfd63f80279f4c52663539d435a4e67d63d5359e0fe499e6a0d75476b8a6b1eef339f013786b73cdd5a34fcaf62c85f7243fe573f5555ff5552f7bd9cb5cad1453f1d297beb42b5475f7b11edb9ab7ee9f015734d729e4d462f1731decd1ae5e86ba869f3d097230cdb5bfbae6ca32689db483aa6e4d9ed7cf73b8ae6ceaae5f4b36ff0f94a7e8c9ed3ccfb446cd887dbc0238bb01bdab9d433bc161e847e019662b9b58a1a9ab679bb0d52f76f462e9e347632cbcf0f8f241163b7cfef2c1a7818dc81f101b1658f3e0296ac79652c78597153d0d5e7372e0d631024a3ccd35574fe45ccdef4f7a726b6d28760c61af7eebea76213cda3db787beb36e97562d84a652b89ab3de835bcc560e060ee29af94cef8cd85e277e4c84c0f769ea9d3aff71a839b1c3c734c4ee8d19b7d19f99a2ee8c6dd07763aeb835d0a4a179cd55afc2cc4ce09aabe6e13c1b98c859bdd75c3521d57b366e66eaf1892eb07b67e15defc1990a20acbe6faecca4cb90cd4ffb9fceea6f7bdbdbf0f621aec2ee72dbcc10d89f5cfbabdba9baf6a28ffe46f2a9ddb77b835ce5ce19788a9edcf69ddb66c13bc10e7ee3de1b98b9a30b3b8338b13a931ef47ae33be16a8e66ebb7a6b3f69ca0278786defe34c43c47333ec39767f5a49a5543944f8104db3fbdba2b4420b2a8191779c68d327a207ccdd57338573ea5f62ab4c6fa3ead646c26bcee6d2cdcbbd21068c2697cf8ed23c0e1ad167a1b8bfe12ec933ff9938b9d1d8921e03319af9eae0191454decf619dc289af3c076be7c3b1ae0bd811bba9cdf25ff392e518743de3e67ffad3f048ee703f96498c9c6182587f7126eb80772bb6fdcb2dae1077c9887f101a66b40e4783e904fa38c3edb07f409727e0ff13e4056cfde33e50e3fe0c33c4c9ec0740d881ccf078ebd51469fed03fa0439bf87781f20ab67ef9972871ff0611e264f60ba06448ee703c7de28a3cff6017d829cdf43bc0f90d5b3f74cb9c30ff8300f9327305d0322c7f381636f94d167bbf59edcba18b930bdfce52f6f57e3ef89ec46fa8c4038ecee17880fbb6089a2c777edebae384c63a0b62b7bff434f5057fcb5bf6a1eaeb93aac078ba4b5d4a63afc7c982b7bb6eb3bb79d46eeab9fa227b7ad48e7bb76f0bd8d9b9718b815dcb3d6f4c8eef780ce95e363a18701252b1af8a0b9edbff98c2ddee78e838bc2cb0156cbc188701a4ce376469e1c78ee3cf3a45160bd00079855b8b16e14b79a392e1a8c1c0e9ec66a66f814ab8ec953bd73d01ccfc9130973eed8010579e0479360e6a7e32ab6a86bae7eb4e6ca67e1a6d44bef4439af97f9f79b524db5dafec3be415dd9cce0c48f25cf3c2f1d86a03d07a6a843ec384c6ffa7875394cefc1676481736fccc1673c77d460bd07bde6d9f9705ccfe15cdd798c77e6dc31569f8fe84e9f6baeee9cc96baef6fab9d6d59debe1ce9573cdd579aeba1e75adef1ad755a9cf5e9bb1b9f6690ebef60c66e0da5f3d6d7bd17d0eb9f079069eae27b776a2eebeece69d0bdca47527e63e0a039b9d6e9cd24c6fa490b9e3a20cef3ac34c861fe7e163b627466f096c8c9c3289c58c0c8f99a10fbc34d2936d8cd44c0c77bc017562bdf1d75cbd20e6ca0ea0156b31f43d25afa00d04521df690d6ebab59e9b526c0c778ad156f13d709867de7b610f5dce174e317bff1d66c9cc6103954138c66780cd9c3ffcf2dc16de8a37c26365e3393cd479ef9ed034fece004d5db1f33cd9dcf993f0c7db0dab16398c9cebfa8cd1c5215bb7bb77ee383664c361ff9700e7a2776700355ef63c14c33302107fe30f4c16ac74e60e63bffa236734855eceeddfa8d0f9a31d97ce4c339e89dd8c10d54bd8f0533cdc0841cf8c3d007ab1d3b8199effc8bdacc2155b1bb77eb373e68c664f3910fe7a07762073750f53e16cc34031372e00f431fac76ec0466bef32f6a338754c5eedeaddff8a01993cd473e9c83de891ddc40d5fb5830d30c4cc8813f0c7db0dab11398f9cebfa8cd1c5215bb7be9fd5ab2efdc02ae5fcaf93bb7480f6945b9a7754556fbb6adeb1a5214be7d4b7b3c98de256caedd2e7364f4ea303025fdf023c3d3b03a84c733cf417363e48c0b8b1d43cdc4987817dcfc379f2c3e65bd6aa410fe309912def5243c51e53307183fcee3b9f3dcb881aacb61ac46563e33f48197c0846f5cfe89e16bae9a901f71aebc83ae27b7cdd27df553f7e4d63bd0a9c199b137a7b7997d7cefa8de607a010cde1b15a6419ac1ce089d5b9bd03e2b82693c6324c8048fd1e413994f636184cc33499a62f31c1f3245a05ad7e4a049a309c8b02e58c16b026a790285c3010cac57695cb52e6e4a1a9e39a891f434f4d75c3d91736507e0c5f52a2bb3aeda31e09d432be1cd3cee79e65fbdca61d782393b4452a6b723298a12a300f5de8977afd8db8847e3ce58e339ce450d3fcef113185f73d78db27bc30ff03bfc808b2ab7ea9864e3ac196e36d4937f5dd3db3c20530ebf9934ba1a5197a2399e9bdf631ddc2630bee6aef1952135e1c7f473bcaeaeb9eab550b75af66b3d2f53bdd75c5d73354be2ff67efce8375dbceaafe27489b867486de900b6a401150415128c5ab622f5a28502a8a6829a6c458b12c4b6c4a2dfb42cba6a44a42a7982ac52236d8f7c88f4641519ad0274650a410921f2a2a553ff97df6fe9ef3dc27ebdd7bdf4b129373ef59f38f79c61c733c633e6bae6eae77edf73d5d1faaf7093e67f79b33576e40adb5d499f79d5b18d337652c5134cff595b5993969c69aab732dead8b042330f0fc9babdfd7ed6b7cdc0c3f5e6d6b5c071ef81cd75a1e737f33257d2ae17ea9e187ba2ebc18f2690fea041765e019900cac486c71048761090951b70f02976a2348b95ea74899a3c8727c3cf8839a8916912a481b792e09cab27cb5ccd9b5bc700dc8eb3d4b04fd59abece04d89c405dbdb345fa22534702ec7fb88581fd9d5b7a0789d26ab8e65eebec15cf25decaf13978e23194f355db7985dbb85bbf7186c58ec990c56e3ee5d45b50941cb67ee3893a6c631af5dd7cbd070d4f8113fbb89ac493494d51405677f8efd8f405eed8cdcf28e3b907a29ce6f6d9e438106f7db8846fe4995cc66efdf4a6bc72bf69fe91a3bc963c96f3a57efb272e764c862c76f333cae433f350d4340377c76efff021b79a8db5eb196beb2f73bbd11339caf189bcd46fffc4c5a6dfdb58ece6679432df027837b74ff83276ebc387dc6a36d6aeaf46ba38666ef33f780a1ce5b5cd795cbdd1756ccfc9e3ced5e13bb7ee627693d5885af1094bd812ce0b5b6e91ee6b3513e0036e5e1ce0ee83f8ee6ed34c80af8b391049a9a9269e75942e82737dd5e49c733507d2dbeab8b2c63bdfdc3a0eef280fd79b5bd7a6de6d9a11972d75572b57aef92c308d63d751abd0a72176615523d3cc05516c57c3d1302c16a384bb3e72ee333664bd6a5d1c8c252bbc62ac801a1f366eb1139879cec5f247963f30db2b966c6f4b1af568e0fc530e7fced55372ae7c16de71e571773e23df87d62ce606e80d0f639101571f7a4783b7cea877949a9518629ae99d584039f0c3e099685ec65e855d9746b9dfbab7fc9a7cee25f1c6ebd4115f0223163b81254039034d57e474b51597db92c3444d6ea39cae1886b3bda341563693738cbae6c4d6ac2e16be6c4e3ef526d8a3dc1ff9f82f4db11338e63102a62b3ccce4bcf98d0b9cdc269f318c1132db3b1a646533029131ea9a135bb3ba58f8b239f9d49b608f726fe08b7f688a9dc0318f11315de16126e7cd6f5ce0e436f98c618c90d9ded1202b9b11888c51d79cd89ad5c5c297cdc9a7de047b947b035ffc4353ec048e798c88e90a0f33396f7ee30227b7c9670c6384ccf68e0659d98c40648cbae6c4d6ac2e16be6c4e3ef526d8a3dc1bf8e21f9a622770cc63444c577898c979f31b1738b94d3e63182364b67734c8ca30f31b10adaffa128d85907bd3b9be6a1db8d76f2619d95c9d6bd1e6a175da43325773969de0c6197888dedcbef4a52f7519edead0b552ed29ae27b77073440338439c2a073d32e5f033ad598d4f26f92081c358c61d7fbdb7e162f349b33de129fcc3e5162e5cda9a70f9d735a46678340682671b8b3ae49f499b4930f9cf2813353e85a8cfb99a396996defcb9b25030f34decfeceadfde2d9953f41bccffce0f9fe6daf79fbaf6e89ad42d47c3cfa7a736b6711b7e36615a2094f577ccc2607a73ff84cd48127deffcfed3bbfe4255b79231652c94afddddffddd18e2777bb777ebed348c398c65dbffeb7ffdaf79bec77bbc4721074da45aa96bac0275555fc6e2471fa699c08361267a0f3e3197fce881b1caffb6ba90835e73a7143ee4e07dbe55a6efc2bdebbbbe6b26877cfecb7ff92f0d5a6fe16335fe8eb4e73ffff9934043efb1a62bff093c189249c98f9f39959ef39ce78ccf446dcf8d2ffdf58a6a034b2f86b25278ce989d5278fb3f71bc7dc6f630f44e20cdf6c7d42cb7db0c3349b3f1446dcf8d2ffdf5eea8c1d91ef49a0475153882baf65877e3ed33b6e3d910d5b7f9e8adeb90f3902300d26438fa867be2fea33f38643bc3cd58405d058e0018cd13c1db277d56c36b569ef8b66c7d3eb7c51eb6bac043fec8c2e3d5dedcf6ffdc7667749d217047d355714b726efabe4cef18bcb0c5f371c34ad6bd0f39f74197f7dcc8667d72c0c418c52d324d78f8ebceab8a7f783c3593890d771f4f36a46678340682f3e15054f9a7d963153ef98f7ea2c687b29215653e04f185c087b1ceb5e8936eaeac6aceffe7f6dee17ecb3f57dfc57f488a6b6227b9e3d8fbc9673deb594e758cf37c4e7e9a7873e2bd25dcd501f684802cb6b5d4e02e19f977d5a09f6766572545738fa59967feed023e947cf8c7974fe1f48d5b6e61321ab9e56fbb0eb1e333b198c9a4def16f7b59e539db7bce553366421ed8b9eaf8ecb8b20868cfb680e8b8c2782c5123ed5fab07db62ade021d6ffbe90d23186b79904ea48cb050b881e11233175a97b48de7cbd09363f18c833e5d478659c6b0eb33ffb2f1f5df9cce36bf97806fbd44ffdd4c27fffeffffd3ff927ffe431398cf5255ff2257ffecfff79bd1c5ef5aa578d2c9f1b33396c6f21949ce19d4f5d8d183ec416a55608d26cfdf68c9ffa367d564f7caed24f028d58f330d6bff817ffe2b33eebb31e7df4d1dff6db7edb8c5ececdffcb5ef6b28eba7a6fab3fe8833ee80fffe13fac97ff9b795cd97d7ff12ffe45297ddaa77d5a99e73999db90f8f28c3fe099abaffeeaaffe537fea4f7df8877ff8effdbdbf371f07922d72e57472b58dc5aa959c6f9cabc6ad2b71587de943103fca71c687cb67c762b6e78e2d4aad1cf8c6da9ef94c7d9b3eab992bfaf61dfd609a7c769e19e21b3a7dcaba26aae6c8f0973ef5e2776ce478ee7cea2aab1b636774607bd63c78e633f56dfa62cfb96af6660e2ff7c5ec1773a5b7f5988fabfaf0cb5e76023afbf0ee533e99f540eb7c7477739f520bb70673175334bb47f757cadd07e7aedd9e3ad757cd556b4533697ecc4c73e512b7afdee75c3de07335bf8ad2b17dd69733f0103ddcba4a5ab23b819dcc5d315d19bb9ece791e6f9a1cd970fc689042e29bcad1d3c0913b761cea7235a1ec8a9c8f6474958940384ffcc1277d0e3396668c4063a58185e30185799afce30926b7192bf1f800bacaa70cc51645190fec3ccfb96affce3c34db6f85b9f229f51c57fe0f5b3bceaeb13e90497fee25071abca6a75c9af6664fbc16075618341d246e75c41c14ab9359656ab6b26cc932ab133c7ca5bed66f3efdd3fecf1bbee96bbfedfb9ff6dc0ff990f77fc7eb75649e29a7167e4f7f6d55556ffa981b7179aeb82bf8cffff93fff493fe927ed7cf6587a47bf3597fe3b87c1c56ac668be65e66af930645b3e8d32f5f0a5b13597f96f0d7c98ab1d3bdb42b6c7823319bee68cf5a37ff48fee488b77807dc7777c07fc637ecc8fd9b13fea47fda8046fa9b9e2560e6ffe5c4d62797a72fef22fff720fed8f3efa685d33d6cc4c83e287194d21f1e199abd1d4bbe71f9ec0897d4bcdd5f8bcf97375b92dd2cebffc0fdb38db820fab4753c8d65cfad77bced55372ae6c54771c9fb45a63b897d9ddee4dee5f801a6ec35b6f58cbf5acabd65b973b1a3cf7419aee83ad5ebab5752fc6ef75cbac7972a019c318cdd1c0c2f16998a7c93f9ea095927c662c7ae2f10174954f198a2d8a321ed879724b831442435f1aa3a78123776cce7aeb2a6726a3918cae3241c2794efe39a81b3787194b3346e06860e17840619e26ff7882c96dc64a3c3e80aef22943b14551c603b32d8d920629a49c6994d13f79e76a96676dd1595fcec043f470eb4c701df46ed34962221cf1bd0bedb4e95d2ede69101e7ebf132bd63973d077e64caf58563462bb9a7432b703ea85e9f7fb58d7e2c6d2859f71f341362e5e929af8396327b6f3b9f35f9d0f520234dec10a94407ab9c59727bdae1c1aeb9cab27f55cb5849d63a3e3ca732c60cffa5c3c6cef3b96e076b7cfce03641cac2d805696bb8edc1ae2f4eae1af98fff11d5ff935dff58ce73ffbd94ffbc11f78fad3dfe1fabbb5044aef7fd2f7ae233e9f70fc7846ca64f4e1bd1a4ee3d3cdaffccaaff46abaff64029949c09fd17efdd77f3dcdbe4fec71373e8c65c486c0cfb8a3dfb314262e643440585d3e9751981997668f35fc68f2891fcf921c4d696c9f98cb587ce406b0c22d40b0b1f7b19ac8f857bffad59ffee99f4e89773101f6b869720b4f1da91e0d10560f1fde0e3327c83dd6f0330fc5c68fe74b5ef292dffedb7ffb8ffc913f1233dbc54a398c85d9b15b30ca48c706101ecfed7f995b7afc43755c999373aeecfa87f9b8f2d1980589c3c0e5c2bac553ae09b126713f6a9dd3ddaaf589b3e9c6f515fe5c5f9981eee0cd9569bc71aef0e75c3d79e7caee3bcb1d33f0103ddc3adb1dc7f3346852e0a6c60534dca90ebbc8d2c7f7747aa999eb429ef41e145bc6651bdf636d57997a5911745235569a309eacd8c92743cd34529adc728e4f3663a56f2c354d8230931997b2acc4b6edc5aa0b99d8cb79483ff9d05f6ab60f7cced5ecafb7d45c591db232f9a6d7035bfef3ced63ec27b88c57ba506d3fb2c5cad78faed3372320e56151e08dbefb3c2d6b46e20ae6e25aa899f55693872f0d3ffc76bbffcebbffff9eff1fcabe4fc78f3fdf7c08758b6ca95e4be67207ee33498723be8f5e603fc949ff253bc79f33f28febc9ff7f3e289a7d7dfd98e06d83ec9280145ef6ca3e68c4b104e1926566286c71c7c305b3f3e135b48fc2196adb23d13c46f9c0673f049d358eacace87154da3dcefbffa377eeb93c567cb6787c069f24f79e35864c55efa6cfdf8344ae262d50a3e1fc0704a39c42788dff8dddffddd7d43bb902b976b1fcd29f9d4dcf9e089776fb15b134e967e34196a6e4d38e5f699b1d28b3df860b67e7cf0c516127f882550b66782f88dd3600e3e691a4b5dd9f9b0a269947a0bd99af19c714733215b13ce79fbcc58c2f1620f3e98ad1f1f7cb185c41f62cb6d7b2688df380de6e093a6b1d4959dcfe47fbff3b1fc27763c67dcbaf045ed7169d2e77ce358e9c51e7c305b3f3ef8dc0a893fc496dbf64c101fd6ebbee316664d6279e07ed4cd8b069e35437f754cacb897e15bc3f416d7ea857eee831e86bb0fce3aa7fb2059b1c2f3b9f6bbba75a627ebbe0cb49a8a4f16333cf2e093a7d81997a0ac44e16d606315983ef3c6dd9ee9271f5d979aed039febabd95f4fe1b9ea8039ebdb66e0217ab8f559e05c59e08e7e571f2bfbae056a78be671b6ee2e8f15daaf0c830de03032c36accbc5a858401336962b8ed1fbfcac34f271ee95c3bc3be5c34de078f24973991b9e7efbd3f06c2c988f62acf12f93f12c9666ae8f93274d399c73d5fc3fc873e5463ec795e5c2e571e518e87b1aed5375c780fdee7bb67a45f94d9d8e935e665a2820d5bd4f00065f1f56570b20cca1d685b9b712faefaffd7fbee1bfbdf005cfbcffb8f376beb9aef78d34f799f1ac773737136edc1b7181ea471f7dd4c3ed3ffb67ffec633ee663663536efcafee93ffda7343feb67fd2c9af1f9d7fffa5f7feff77eef8b5ef4a21ff7e37e5c3eb375af7bddebbc8df466cfd732d32750eff76cbebaf9effffdbf6762bdf58217bce067fc8c9ff13eeff33ee9f75c7debb77eeb377cc337fc87fff01f3c537df0077ff08ffdb13fd61e696688679ebfeeebbeeedbbeeddb5efbdad772f393573ff367fecce73ef7b933eee4c6ed9bbff99b5ff39ad73806deeffdde4ff2eff55eef952ccdb77ffbb77fcbb77c8b51f4028626961ee6a7fdb49f363ee5a9fe9aaff91ae34acf8ad3df75dbe4c92dcd6c8b6d6fa0cdc3077e3433576da351e42319079edc7c23f73ddff33d279f19c5b16a566de67ffc8fffd165ed27fec49fe8938b3c4753866a1b6b36d4cdc68ffff13f7e7b96e7e433dbf55ddff55dffeedffd3bcfb7bea4fd155ff1156f78c31bbcdb27fbdaaffd5ae78879e87fc69adc9a46f9d8833fe127fc047f7ded1c2c191abb8cc0dbe017bff8c5a37424984c9bc9f6fbbeeffb0c674708c1ffdc9ffb73fbfb82c987e6305794153cd0264c3e98c1bae07be7e03abf688a6d941b35c5e6166ea04bbc35079cf8c67c268742d234c4e8d3ec710ffe94877cceb93acc61f3b3e76de6f3c19cab56449274b7ed28f5196b3735d746d82542af4b01a5f311d084f7fa87be10bc6dbfbc0f9eebab5680e75ad461d65a681f576e2e371e5734735c39eadee6c7954f7ca471963b66e0217ab8750574b173e03aa66193e200553a6435e30930ceffae988e7e5d301e4e8f191f00991e0f90a5d784b9010a65e3dea8418e86f23ae28d3e9b1c4f864a2683b77ef2a1b15134c5c2358bddb9d1343a81def29c6dd4c553212b37b23c31e9f3a48c3fe7eaad3c57567bed02f3dfa3a95de08a8c6ccf0eafe9cae8fdad9d184e4f2cc4df802161642b48cdbd4a0eb70cbdcfffe0f77ecff73ffd5d5ef0bc67d25e15fcd53f6f78ed977db327db67dc7fb2753e3cdb6f5c5a778fc62909cf0a6cf3333a323e8658c1d42c078c66e34ea02737dff0f49ce3b9e5bddffbbd0b49e349e97bbee77b3c55bef0852fbc72bfbf8dfff93fffe7cffbbccf7bdff77d5fff89dce6e12ffcc22ffcb22ffbb25ff7eb7e9d27bdeb14ae46c40fb6fcfa837ff00f7a9229b0faaffdb5bff6099ff009bfea57fdaaf2445a757deee77eee3ff807ff6064349ebefec81ff9239e36f354db717eecaa07ef51bef295affca44ffaa45ffa4b7f690c4fb2cffeeccffec7fff81f8f0670aa927decc77e2c4173e539ea2fffe5bffcc99ffcc9812db639fdfd70a403e0333ee3333cd18d46aa1ff8811ff8611ff661c3ccb6c873b0de034e2f81e167ae74998757bce2153766fecb7ed92f2b96bf10cf997eeae9b694ca811ee079db6ce4c9edb69c3d66fb92add9f070fb37fec6df98fde88bd98ae3e7a33eeaa38c625b8cf2399ff339fff01ffec39254ffd5bffa57db83f35b38cdb3a3c573b223672bffd81ffb634cfec01ff8039d6b757dd1177d9169f7f9451922f75c69ce1c4efe00cde627367dce4880b89a7e9ae10487d8cc67acac662c6265fb6cfd819fd8409eb769f4d6356369de88cb21fdc65bdf586a85667c6aaa89d307f646e9a5c7270b2750ef583866fcf34ca34bd93e5b7fe03595c602280f39e499269ce692df9a7248b3f1d68c0f4033db52b3d8f46a656f54b1c864e59c40bd63e198f11795de67af6e9aee410ad20dc87dca532ede19070b74b9eb7d2c9e8672dee5b6be4a8377bf1b4dab14fa34ad61346918761f84e389d333194c3c7a575751134b532c1f65620b2f1009f02728769a62e1abd5d5b9beba9eac73ae3a26ef3eaee69cba9eb3b3ba61061ea2875b5716974b57499fcd387aba069912d720579ce135fb4c8b06eebd6833078b25d6a4efc9217d573a585702972a3ef4982e9a988058caae74795e8ec5448634eaf1e140cfb0818a456ac26a586f6eb38d0d5a560596245c0ef299d980e74a0d9f73f564992b17bbdb8e2b6b68fbb4aba1c3a007577bdc776efb6de48e2b821619dedf066c7b51560c8331ad4eeafa3f6f78ed577ded77bddd33def169ffdfb7bdf7877fc47b5d3fc85e75bde1dbbfec5bfec71b3dd93eeded5ff83eeff123f4dd77c887736578cd3eb91ffe90cff0e3404fc3a1ae6abd1ffdd11ffd055ff0055ed27ad8438edeeb5ccd47d70f0515eb452ebd97b45e5abef8c52f4eaf36275ff5555f6508217b943001378f559e881e79e4915ffdab7fb5876a21bef1fbd7fffa5ff7eceae1f0433ff443cbea4ffec93fe9edaed777bff257fe4aaf88bd1efce22ffe62cf42bfe7f7fc1e8f3d5eccf264f8fb7edfeff3b8e571f757fc8a5fe105a0177ddcfec93ff9271e8cbd3df6bab5dcfed01ffa43defed98f9e9fbdb075d633ff9b7ff36f7efee77fbeeb8687ab062d4f0f697ee489a1e7373bfd4bbff44b3db8da2ec03b6173a8fceedffdbbffd37ffa4fde4692791be9c1f2dffedb7ffbb7fff6dff62294553e53cf7ed1553e6a26eac62d64f4c9227d10b03377f4cae43273d728cfde8794bc58fe5b7feb6f9552e3e679980d9e5ec553ce6c94dbe433f9c730c9e7e33eeee39c1d26c7103fe7e7fc1cf3df9952efecc18ffff88fb7a3f71efca37ff48f3eef79cf1bb7bff377fe0e1fc7de877cc887201d0cf2a191984f5e7ef92fffe576e5777ee7777ac8f75f52f9f4e177fecedf799dc20de75d533a99b7d5335051bb3e28cb7cce11bd39cceccdb8c33cc1b9dafaf1df6e733c94d2e82707e2dbc6d2955e3d3ee186508fed8d78464936511bd435ca7c665b869fcc8b1d5ef3b6fc73be513ffebb77b6b1c019f1898cc5277df3a38ee1d910eab1bd11cf28c9266a83ba4699cf6ccbf09379b1c36bde36572e98ad799cf2966a7077346750eb2b8fb5c25bc978e2c55faeaf8c5b5426e7faca8cb9d4cf1ad2b4c40466aeccea39574fa2b9dabfdd28edb35ccec043f470eb0c77e19ba73873d195d4590d843def69f674474f03ab2d19c30132faf8f4f89e1bf3a92b1f5d486ec5c2db5f7362f18985e75354fcc693333dbe1c4455f2546b8601e951baa2355c6ee5cc3fa5dea2f4eed8e99d7129c5362e9c3e1ffef4e50c90e5894f5f02e30960e8cb8db8dc12c4ef7c26675139abcb211f750ee53039c79703f38ad8ed03e30dc1a17cc2f81997a0111b7de7369e62675c586ce3962799dcd40d579e9a6479e2d3cfb88d584873a20bd996e23db2c663f299d8fc09c8845837d07873ebb3701a2b0677b87039eb752f2456ac5a02ead62beac1162adff89afff6dcf77ab7abc3c50f227fd70fbcf7fb3cf36af573f564fb032f7cfe7a67fbb4b77fde8b1e79ee3b5cadae6625b47caecc95abd8eb329a785c5dc363caed921792892ecfa2af7ce52b3dd4fd9a5ff36b26d6567b23ea23ff9ffed37fba57b589abcd95e7460f7bfff25ffecb471e798443597962743bf9a93ff5a7124c9ee55602c2bd0d56fffa5fffebbd104ee3095694d7809e0f7bb8f56cd393ad0724bb49ac57821e3535a5e469ea133ff113e5e97bc29e6cbd06c47bbe65fbfeeffffe5e2ada77be2afcf7fededffbc88ffc48b1649e0fed592f36e7ef90fd15ae1f2e16e899d9978dbd0c142e1fb587f6dff13b7e87bf942e67cf573ef860f8affed5bf421ad77b548f9146fce37ffc8f7b482bd0df009b8a5e65e783579acf98b6b77ae63959b5ae7a6bdad89db97cf47a38f738fd27fec49f28f3fe96d8f37c2979f2efbd28a5945efce217cfdbf59cc7d37f0058acb178dacc8327bdaeeaa642ce25a6863fe2233e02ef11dac3adf9f491477aa4b99a3d6885cdc41f15cf1ef43ad71ecc5988bf4ef786d6aec7887df9cb5ffe6b7fedaf7dfdeb5fff011ff001f83c1d0096fb32ec593d323dacecdce2f3df9a70dbb2f962630e3831ffd103831b970693465d089f89cdf3921f1f5de981ac12c34ae4680ca1a4d70bdfa8d9fa2b9737be6e5c7b5c55f1eac175c54f1a015d6d4bbd073c9a7a331c5c2c0da62e75216d8ba692e7253f3ebad28f55628234d507cf11dfa8194f095cb93cc073e52f8ddd805c15159f2549d5c5d315af7b13d226b87ff5acee1adefd0e403a13010257f57877310ebaf0c5e213e7d3bd18134f3fb8fb60b1f8eec5a22af16acd3060084a9e0d97db8c9b526f517a77ecf4ceb894621bb73c69e4a9e61f0e90e5a999be04c6b390e6441771b92588dff94cce89c7a7a873ae1e9cb9b26bce72c70c3c7647bf43f4d4e8b25e9fb3da6abecb90cb81ad731a2bb0cfaeba5220e96992d16360673e4c79dd73f5dd8f26479458fe780c01263cb1f8d153f2cfa75838abf21c6c44b9a9f1489ef47c909ac36bea4a337a4049cf1f1622b6f3139673fed7c2ab5e209f73ae9ec273e533eff67b9f7fdb522b06cf48735ce1918ab591d27a02c0c0d7dcd54aee87fef7773dfd59cfb87eb2d5f3763fe207af4f877b4fb6efb22e2e6ff79cf779f10bdef1ca67565799e4390305d4534696f250d79b38e7f147c29ed03c08f5fdc689f54c68d9e4f9d024ec81c2fdfa9487dbf46dbbc75dbd8f5ebfe9c5374a027c9afec259a005d9c47affe959eb17fda25f14e31528bdb7ac3374fc277ff227e33dc835bdc97ec12ff8053dd9d2543ca2ffc25ff80b1f79e491ae2d1e02457901e859aec0649ecf3d5049c3633086a6e235a32f8ec233572641d3fcc478bad634444fb6136bc3fba6282665866ae3626a360f4585f1e9c72abe0df4a7c2f3148aa7b9cc7c52f2649b895af1c039298935ca787a9e272825603cfffedffffb93e795c5fd8204eb0ad7b399d9eae6dc1e748e1455dd4b727b5073b6dd83b177b6e3e314b3bd9ade06ef587f068ff441c38d7345a9e409503657f064151fd370c3001b37579b098bbad25dfbab39e733635d775e8d3e9a0989d12c9fc96a98cb288c4239dbb5a37495e7b5eadef9d52807fd0c3d3c66703e1865fc617c4cfec3001b97c366c2850fcf391f7ae49464bbae2b71f94c56c8c1643b6af4b35da3acab3c074fec419faddee13183e3cb70fc27134cfec3a46c2cb81c2e7b4710181ffa1cc6c735cd55d14245d1abcc7ac91ac6973ecef595e55973d25cc1e60a56f65c9d6b5113f2949fabcec7b3be6d061ea237b77d46d544f4f913ec62da939e9341d335d429d1ba9306a3898c771dc1140b23d388d50cf74ca88b52d14ccf53195e085edde8c536344dc9e489e4134e5fecb5fd0d7c265b4f79395643941b4189ed71c3c59683fccfb97a60e7aa5545c786a79a7d5c79496bdf5958e3e5efd8f0593812c6c06a6f038ad5aba424689573dbbb02dff87cfbf508fb43fff3fbfff7ebbfefabaeded9bed193edb3dff3fd5e787d425cfa18a251d46d02cde0baf0d228138c323ef1981d8bbc56ddab3c98fd9b7ff36ffc65b2a7dc62e7a7a41a2bdd8ceb378dbc4cf3b6d07f1404e3ad15bc7af507c3de9d1297c92156021eb77cbfd7e38d6f877ac7ebc1c66b43d3eba56b43d0f86b67d85fa27a7d1739b573d0dfa6fa1b57ef6009f00d0718ab0df457acbff937ff664ccdfe23d9d9aef8e6c40f17f953673e13abf791471e29f93cd5de96a86761d4b8de432295d946c3f901a7d7bce635c2872f87ed7fc0d71e57a98e4fb198329f8186e73f9937d64e69fceb323f529ad84bcf6486cb93607216051328919829f1d32cff948fbb07e70bdec23db5163be33a0df13e07996dd19cef0d92a56fe8348dbbf5c3936d4c8999b1029b1cfdf60f6fd961ac3c09943cb74f7c9a78754a355cf3101bdff6aa531a17df10871c0ee3e6963eabf4c35feac9460337e261ac4d8e7efb87b7ec9027014f02e59083aef834eaf24fa9c62869766c3c66e75f6cb2430e3b16ce3f7d56e3339e075e733470b91dc6dae4e8b74f78cb0e7912945e1a371db79e7e290a703d74f1d4e5c6d47d8ade7dcdc5aae54acdd630fefee8727de5f178df07cff5557365a22ee7ca249f7375795c3db073d5faad53ecac6f9c8187e8e1d6d9ebb3f62e9acd85aba46317af69fddaf74bc32d41f695d471efbd684f89617597cb62bb3af41c183656d70ba3d0f0c4ecdda0899f27ccf2194f3cf18c0ba79fdccaa7110ff9172b446f794eb64ccaa7ed85314d02bd1cda4699e34521e3cfb97a90e7aa95473babe3e4f2b872fc3b4eac1888ed59ef6fad24604b07c789f5410b206f901c633ddf5a1f585e64ae4e6014f88a7fa77778fad37eb041d53fe2e96ff8ea6f79bb777bfebbdc5ba65d773cebdd5ef4eecfbcd2cf6aa9d8a2eef9dc7f53b1c782b706c6c8677c0eb9153b0ec5aa3d67fa1d5a7f4dda39e2a9f51bbff11bbddcf3f069f49185cbc74fd7fa96e6977cc997f8155c02b166e3d1471f755210ccb83b1f32af7ccdad6f4ef625cc5ef1f90be15ffc8b7ff1477ff4471398703900ccd5371627b513d36b0abd1e65d54649596e932737df52d3d5cbc0e94ddf5f29fba3ebe129396b0e73982b5faff5429bccb8a369e848357ed7e380efd8c0b48f2630fdf094b6f190f93eae76e693d2bcc1ceb6347a555e0e331b8513ecdc9aa23d1bf5aa19aae53c09efd8192ebdcc9fc81e2c879c4bf5e0f9c4e78ac91c6f309f3d57b3158d72c8769a03c44e266d7b9ef9dc86671402b8fd9bcf21b751964f9a46af9ed1874c399ef8ad816f9cab1977e72376f87cceb9da73f220cf953c5d7c5a7bb83739cbd4ad885c2b5cb82c51dcbfdca76c45d86dee727da59755c5459bcfe57db0f50f9ecc28ada3e0ee9be7faca549c6b5193d071f2c0aedb6578963b66e0217ab8751ddc4f7a0e5cd7b5999aaeaa3dbd743574a5d3db15b087d53478257ef43d1ce69f67b8c0ed23b67175014aa09ab23c672c82c6ca303d99e6650e934f0235bd5ac95f145cfe61c329d792ab8a6703edfa9cab077faeac0cdad797c755776bbd3eedb37fddf289913de5ba8dc19e6c052ab6d4136fdbeb786835dce1d14ab1c5e8bd35c43b3fe3877ee8076739f1f47778e6bb3d3fedbdfa992f7cd17b3ee7ea4f7fe967cd3a183fabcfd11439e3ceeab6f04bfe523feb9b422c89fc5a923fd0f55bc73fffe7ff7cdfbf15e22deb4e63462f9f9ffdb37ff65ff92b7fc577387fd36ffa4d0efefe26b93f251555a090c96d72f0255ec5cb46dfbff508ed7dafafcefe993ff367d4bff137fe462fe8f85b7f7fcaa77c8a092fea507b603362a43dd5586a4cb9d58599d77d76965d899f7c809e1efb19a4e6a1c07c30e9730ef75fd1c00e8fdee8264be338d105e7a69e7cc2238eaf29a4b2f593b9240db4f5fc2773787ec6c954e45332e152e28c9c0b5d4be1c98d526f9f7373c397d8e453f8d66fdc40ea64a648efe3eec143d48cb5f93d2e3c5d8db5738047105f73a622abad390832a71fe5605d7bacf8f433aea81997e092bfd49345ee1167ac9d5e82c967c6220e8f78e730796e7dfee96f1c2bcf89ddfa4918a9ec7c06e3cbe15a724f13be9c136908bce42ff5337421d533569b93a6aec94773f2098f387eeb196e7dfee96f1c2b7d63c1ca6ccb241cbff3199c3e81fa469fc9a7345c0aba07d1774173e976e2c3ce38a40b9d4b47a387e96974b516d2a4bfed3e186fb523969eb8c558b1480205df58f1b3a6c20f4ea0a6572b7a6126f0b9be3ae7cac1f07ffbb8ba3eeeceead61978881e6e7d3ee70f0bbb72c17d16e84a17065c92ac96baea3934f14d9bae3eff131b16db558ca09568b11e12e2f9d0e8cd3f4f4d3e8d3b980036168dd8ae9e79e25bbd49c6d08327cfd1131037d6ce016e7b8b1598271e308a7c80c2cb3c5c3ee75c99b727cb5c5976b7bfec53781f5756f6f6b5279639ae60eb8939ae60cf5a0e0f0f061e00bcb9cdaa6584faf03e64562afe3fdd375a953b98567997e7bdcf7b3df79d5ab864c5675648e339fe69d2ab6bf20bef7a62d7685770349be7e3c5a9875bbf90ec95ec3cdc125712efdc2cb3fca490afe6fae9207f5aec49d5cf1d7b1d474f3c79ceb60ca98b8f5f18527ccfd67cbef295affcbb7ff7effad55cbf8dec1cf72bc4fe6cd51762fd4e327109000a93f1a7740e7a03dcff6a3bdb6bc7f95f67c87ce7d32ef38ad55f32fb6b5bb6a36145e00535c372ce5c73179a94436ec37eba696bfaf3e0c47bae261ca057671bae17de73e59c2a739e324fa92eb081bc6bc54c4afe3bd9f915e23647efa4249ff1341bfeafdadc9a13fa94331b87b96adcd910b18327ff3456d2ed417fe7ec0bcc7b1e1a71f4e3b03543028d92ed1e11de734540ac9e9c8b2df0468c8c57173e6361763ee339fea32f87e139c0bb9ed8abc156190d2e0ce433db75d02450efdc34a7d0c3253018038f6782ea9ddb61ac4c8a8581b0bae6f6dff98c275978f4e75c99bd3773ae38b8e9b8255987b807b9f39a5ea57b967b934b9f735c2f526f9fbe5daeaf7a42e6e63e08effbe0ac97e63ed8ba68ee83a2e0737d75ae452f8fab076dddde65ca117b96db66607d61ee36c9538577c6b6292e6d704f7aae77f15d58c35d10614a388d5a08d9c4ba0e7629cc16af09e72f9078624703f051e81b08031303984c34e13c0767929e734d7a58214b8f290780493ec4c862d5f4831bba28b858bd4a58b6b010fe000d71983906a684d3a885944fb1f44a38bd2690bf40e289c52bf90b51e0068a2706309968c2349a83af2cae0b9e73980056c8d263ca0160920f31524da3a61fdcd045c1c5ea55c2b28585144b431c66ae0ba684d3a885944fb1f44a38bde6f80b249e58bc92bf10056ea0786200938926ecb370cdc15716d7452ce7fbadabb563c5eaed7aa571b5161c8c79bbb77b97c75efa4fd83578a7e7bccf7bbfe02a6d32351fb5d8ebceab6ab0ae3070ed79a5292a319c2693d127dbca722baa5e62c57fe5e251c41762fda490a741bf66ecf98760eb61caf1fc988ff918d8af43f90f78acdbbcb69ddcf0cae8615d1e44fd10eea77ddaa7e559563e65f03b439ed068befbbbbf5bed2159ed1db2bae1e861dfe4f41f087951eccd03beafe9f6dd60bd6900bf66fcaa57bdca4f2e3b840ce12fab919edb4783146e214889f4643eb19a650528e51956179861bfe1942681cf474cc588c5eeb9c26b72c873f0a51ed340128365aea9c0c55a6efad2b2669900bef6ac2e251ab8a11da89352fc78d2248b977c9e04331601cc8a26c3eba07bd5554ef79f7c5034d36c14431f623d54fbb9aff660e3e635fed796f79ea6e03c998467f4d163741154d263261f58c1ef58983ecd60b2c197fabae2c58e6751f1b02e38f3b04045971256d34c334c9c5e9d2ccfc15b9fe6caf17ecec0f884f758e3a90baea4cf61f0652c1f7a75f9848bdafce419d035faf19cb168e034998cbeae94e339cdf2244eaf1e4d409d66f8341c32d104c627bc63c753175c499fc3e0cb583ef4e530b8a8cd371c9f80ae30309e33160d3c1a973eb7244fa4ee62ba3cca2ac8acba67c1dd67df22f741f7bbb90f760f6dac7d1f2470a951e4961e530e8034946291c2c3f48305c245c1c53650b8ed15522c0d7198793e94701ab590f229965e09a7d704f217483cb10d9dbf10056ea06289014c269a308de6e04cd273ae49002b64e931e50030c9871859ac9a7e7043170517ab5709cb161652fe34c461e6ba604a388d5a48f9144baf84d36b8ebf40e289c52bf90b51e0068a2706309968c2349a83af2cae0b9e73980056c8d263da4680493ec448358d9a7e3070963b66e0b1fbe21da2a74697634871743a68001b05b76980cff9221d3dfb9d6d18e908eb73be0eafb0703c668ed40cd3f08ca7818d826fd0a28c18d3d03c351526f4400218132f9f62d53b87c6a557681a45085c609ec96425b67ce245d5559ed736e75c5d4dc95378aefa62674791af2cce71d5c1d3f1506dfda178c69b268cf15338eff4f47b8bb0ad7fa7e7bce78f7ae13b5f07ddebbd165f2d8f02ad6976083cbdf08c45192ef0b2ce049f6782711efed1eb1f3afebccffb3c5d6140af320ec3207ddbd6cb43fff3ea3ffa47ffc831e08f8deb555fe683f4424f025e30d20b9ffcfde291474d73db4ffb7a7febed9fff1cc8337343ab2de05ef18a5738f5bcd1d58bf9844ff8049e5e357fe9977ee9cc95e767ff0d2cbeffcb87acdfecf573595ff8855fa8d95c7996f37fe4f80164df2bf6888e17520d846f9bab4fbcfe8f88bee22bbe428629d58e10ffd55047cb76832b29efb7aefe9d5860707cccce7c2e3e5e745f666e2aac8fa564dbc7d935ed333ee3334a297f5de3e9bf939db1ccc69ffb737f6e6663f64b7375636e13db5f3cfa4306cc90ed41c91cf6e0677dd667d9837e1bb93dd8666eff6d121e66ccb77e1c0289277f4d780207ccd112a30e6ce79851ee81aee5f776df8c75e35c6532e6f9e739e46866ac6166504ce5902132e67effd5bfa329b7cd8ce1444dfe64e75c3df873e53a69dfb55c99b58db3096e1d352b9980d32dded5b5750bfe5c5f9d736585ff30acdbf715efc49733f010fd59b2ab9e5b6c67be8900d4d6552e882e8e9a3dd1210f9f91b4f6128e9f75d8607c564cc234703e990f6e949eae61bdd5047d4eb3fdf5e295c6ca73a228e3277f4a64798667bbb2dafa30711a020934168c87273720c319cb404a7af5f6d72c870469c2f8ac0c1ac6b75df2c93c3d4ca9f79cab2738571e9066ae2ce867dfcd716571a39867bd2659f159b8a8d6e27073aef6d9f93c3638652805aae733f8f0b5df0f3df759eff8ddfffdde8744789fc53fe305effd5ecfbb3a60e80b3ce059e98ef9f8e7995ead606ef3d97c56856c3c1a5fbbfd822ff802dbeb5b5bfe6f9872d84ab19a4ac9009e0cffd25ffa4bfef751af6dfda55c3c599e29c3757973eb39ea2ffc85bfe0f9d6bb623bce2f18f9daad905ff24b7e494f4afe32f6933ee9933efff33fdf7f24ebff5ff5c4fbfad7bfdeaf2bdb299ea575e52fdccf50f963664f956ab26ff9966fe9ff41f53fc17edcc77d5ce37aa2fe944ff994cffeeccf7ee52b5fe95da2978a1682dc3ccbf9332aaf911bb44d53cfa6c1155b711f5e6d971c6c85ad56fcfdb6f7cc568dfe435a9f7d78ddcd79f480729893acca6d6c81947bae0cb433f79ed60c7cddd77d5d99ffd6dffa5b655ed4a464d23cedfb1f623d03fb21eb4969063a789a0d07f3a5277d69ef3ce1f119dece429a0aafd0fd80f6effa5dbf4ba08f0ceed883664f88ccc7ade69eabdd35630d793957b94dce948381db7086db7fe3c967cc6ff4398cf5b89e09d4e30fef71c3f55ed605de1ddb10db275cfe6209665b36460e7fc0dbf3124f3e637ea3cf61ac4b9f3d0f59a5197fcdadd9db9866d7c49a31778fb57dc2e52f56e06ccbc687f9194d80f232cf72987cc67cc70e3e8c55acfb4e40ed7ed46713d600b36670f586f17bcdd0dfc5b47ea877ee83f354cc70ee830d917ef0ac43ba6faa31346ad710c36188355bdb84e3d360b63e4c9c868904d2c078b8b102ea3d16aca4570b09479643f8c097a74169da0a384d1b32b8de992bbd93cf39574f8ab9b22bcf72c70c3c440fb75de95c119cc37dae635e9cf973059c2b42f385f75731b0cb04dcd5ca69af49b9af05346cad02e7eff26932692cbca628e3f2e9cc99f3a771b3dd63159b5eb81cf2dfd7a0780e5de92607798609b667fce44f33586ee599a76d3fe76acfcfc60fe05cf574dade54db896a9f85dbfb9e13d48e379ad9a756121832b527372b067bdc6303a583045f6939a26ed532f5f4beeb7bbef87f7de76bffdfff79fdc7634f7ffb777d8f17bffbb31efb7e203de7163a42b64f6b97f1d9aba5c8432d76afd2b6db988cff8131962f91fa2f73bce4fcc88ffc486710650e29473fc0588f3efaa89f953263fb7f259d19c861f4787a73fe455ff445df7a5deaf2c4e531b5ffe7b6fcfde7ae8f3cf2c8e77eeee7fa95298fac648de5cf92e70444fe86dff01b3c5b7a20f7d7d40ac67ee4e3cda15166748c1f64f6e2f7b5af7dadbf8c25b3751ff6611ff65b7ecb6ff10bc3658b3c14e1caeed5a4c17cecc77eac2f0cfbcd676e5e44234d9de73a8f9d1e6ec727bd2630fbc53c87e313ef51e263fc6fba1eda3fe7733e6767ee7ff7f17f1d4de6943ccdd8dd29cdb6988ddb3c7dcb975b29a51f3c390f5386dceca357bffad5af7bddeb2cac67934dd16d7bb005fa28c7f000f29f71471f9f585d9ef50e4ea31ecf3dffd36bde0e78f49bdf634d3ec8edbff18c75c86acc27cf61722b9fc81b8f93ad87f9cc5807fde45f0e13185fecd6dc98ffe5fc94f9ce73b68503be81766e31db7fe3c9bf3cc7ad28cd4b4657638dcf61db8b1d870133d641cfe7308a90cd0c1ee58d9ed3dbfc14151efdd6443656b9c5d06cfd60a07b93daf5ad5599fb577aa4cf5b5bff60dca4d48a6b9d0fb9ba6c8a725ff62305adacd43df7e2e995c0ace5c4ce7acce8e7faca249c73d501d9b1b18fab076ddd3e1f5b97f0595fcec0631fbd5ff6bd398c6b5fe1815dbb20eac24cc16c5c537d595ce390ea0d2c3b2281ba765d97970f2f7ff9cb5d0d67a3682ce2ab5be53ba0eb45022df175c5235d1ff19a1b27a88e7781d88f0742367f88d53bfac3588d8b24289fdbf06dfef802d562d57b1b6d4edb820fe71f464ee173ced5033e570efe393e7b37ebb0b1aab0133525ef144be3211646120034f6bb6b254cec8f30d518e5a33eeaa33a069c38f56a0eee6c8a7ffa0ffec0f7ffe0d39ef1ec67faaf72b6e61267582d36b783e7fffca66f7ae797bc84e67f7df337bfcb077c4032cdcb1c90db617ce2d553ee884d2316d863f996eca77eeaa77a7de765ec689e88cff75e17571e0f699ea9c48ef960c072cad3a3dde1056cebb01bf3f78983df4372a325b3b34693279f52729272e323e1c36af290730ee3b3538295f48e10e3faf5e67ed4ea524f560ee9376672d01f72b81ee79ec661297387a897a26de0e490e7341d9394be2f2da5837f86d5c6321b9e480f9ee333a90e28f0e0d9064e3d9a80dae2db28e65ce69d56a3d9db8bcc24a07edc716ff4d99ee1ed13de435cea67e8fc13b7d5d55b7018628f95ece07ff0d956b072d047ceb89a33c4804ddea87f229e870d194f60ba6ef369d06a9ac33696e7f609effc314565b21d0e7c82eadbf2d93c652905d48f3b6ee68771b76778fb84f71097fa193affc48d32635dfa8c0cf0fd0bf72027918f875c045c3ce99dbf4e3175cfba48d70aa79bd5885e45a0dac98e6f1d4533f7415104f180ab072b807e1639480224cfdb70fa7cc2f4ace002d56223d5ca0c91a6e1f29fa153263ed757339fe75c3d91e3ca01ef2b3cfee2c991e37c511f8ab309a32b104e935e7d599c4d915767d775d1bc0faffe75b862d4e15d0f093c08e5b1bfc57a10b2792be4e0b33aa3b8ca388560b566973ca0a3ca3bba7832d7c7b93c75add4d43b582c590ef10e204c650e53fa3cf5c273268f8fd1e1cbb128cb475798c3e0d916a032b94900169ba7d8190b8377b1ae2b2c1c03536675ce95f9519eaa73e5b37097481b6849611b5db3607bdfd3d4bd83e98dff694d33f52c83aec03b3df3d9cf7ac6d57f027bfd70bbeb3c305d0735ad3fd469c29ad37b88d5ac8ccfc4e2c362e1ed10732ff296e7ed34976ed9e2fd2613ec0796b732bceb71002a5e757a9bea4f8b7bb22d0d5ddb07e97423f34b57966b3328194c9995f9f15edd9f227b033ce480a2aaddc31e79e4114fb637f68e52eff60faba74c9efe7edb1f4ef71bc54595dbae45956740bd9533d6812f646a1734af5be7993cabed838974704ac987e8138ba7acb98f2b07334f7f4bccbcde1caa3140e5b2179f60f21f4dccfdd0ab1f73b66bda8334a31f877caa2337933e66c76e5eef2e07e79a5b8f89dc750e18caf09eab07f91c9cadd8db18deb58d4a79ce557bf9306f4f8ab9f21c6bf7b907cd1aa67b53eb255df1cee8fbcbabab1f25c16368f40e76a1a86bd63cbae0c8ed4fe9de87d115e6365854eb28a032b1e7facabc9d73e5a8785b612af76600004000494441541d57f70fc9f3df9b67e0b1173237f7bfa9ecdc69e622cb293cb755cd0ae63ebcfae1879a8143eda283516f60811ed94abddea9ebf2e6f6a52f7d699ff9b92af5219c94c83a3fd535d531800b595749604226ea4680cc7f62c7bfb1f48e2790897aeb47337cb6ea42120c393c30c570791223cb3facc92793b19ac0837e36fc9cab0779ae7a3ddb4ef7b06a6fc24e2bc780266cb99fc66982ef1371c046a97bbef258eb7015e2730d326f6ead8ae6c0081003ad96622ef1aca5766c813b3673fcd66bce0b5bc02bdc837f9e45c1972032d938ef5106d34c0ea377af3263bee0fae99ffee97a7da3d58f1e6fd9e001131b98da403059e0465c6f5687c0ad9fb1b6fe71fd336c7be14b10996c9c931d6a9ac9e136fdf080f01d72199b78ead1078a3de0c970a28083a6c0f8ad7f5cff3cc926d503b81c6bfc8b9a7ae790eda572f8b13d0c57c26395bebaae3c632ef18c781988193da039994f736b2e314629ea46107925ba3fd6e4b3c79a0d210bdfa8bf7279e3c36ff21cb035e1ea19e2e03f7afce4761988a937a03ee81fd73fcfa2267c8370b2c9648f3298e6727ba777f23cc82664c08c15989a55b1811b71a3647508dcfa196bebeff0f7ffaeb9cc5a96586fb855a9055abcf9cc2ee0c60428aecf7add9e7cfae6be4630358d5e261877310229c1ead642304df7f1cd13b4ec39d757e75c75fc384e3a5a0ec74c07d2dbfcb8b296fbcccffcccf3cdad1d715b7988dedcbaea392ebba2f9cc097039c358c777bd3347f89929d83554b32b265048ef33c78789a2170fe045b11d9ffcf17c8ad545209ff49a3356f9748585f19d69345dd30b81318d35bc2efe4805162e13a0ada087d54a3ce7f2c157748955f3141e96c318b62dc434787565f23fe7ea493157ded9eee3cafac01eb79298e30ad39eb51c517405d4c3dfdbf76b558a21b0fea00f1715beaca7975e54e6d5c4bbec5e82f1a7c9a4a8c973c7c2e33fb925d8b139e05ff18a57f8ff7b7c8bc171fe899ff8895e9ceed1092ea38a8d9f1cc67040b10d1d9e7c8a4d79639d40d46ccba55bce3b5b51f4a3cc24ffc9b3a8a9c77f72ab6bc7e6109f7e347b74e46554b1f193c3180e2836dbf0e4536cca1beb04a2665b2edd72ded98aa21f6526f94f9e454d3dfe935b5d3b3687f8f4a3d9a3232fa38a8d9f1cc67040b1d986279f6253de58271035db72e996f3ce5614fd2833c97ff22c6aeaf19fdceadab139c4a71fcd1e1d7919556cfce43086038acd363cf9149bf2c63a81a8d9964bb79c77b6a2e8479949fe936751538fffe456d78ecd213efd68f6e8c8cba862e32787311c506cb6e1c9a7d89437d60944cdb65cbae53cd976ebec7b31a2f4ba4fb9257557f2dd5a17649a737d65669aabd66f30c61a6c5671f873ae9ef26bd14e9fb3be6d061e7ba5709be24de3bbde89bdbcf075d9eada57bd2faf70cdc0a1761a63d41bf80c2f12a86bd775f59ddbae923d3acacdf9afd6047a02743e44c6f3013ce615928c265e17ac5630f139dcedc950489a807a8f9ba13ab7aee6a32f84beacb6182ec9720ee7936c784db693ada67288c5cc10ba6a6ecfc8f873aedeb673e5e09fe3caa77aed14e7977dd439e86d246037a97b8bdb71e59d6d1a3cc6daa2a3c2c2a2efdc5a7c70cb0498b54878ba0e3c7d8123d8b187ae43ecfece6d5fbebd7b2cbd4a231eeaba0efe97db523ef1fe5b9d2ffee22ff6e35bfe20d94f19dd1d5b60a3abb74fcd3dd6966d1e3ef8ecd84397e6219678ebc3ea6407fd95f42d3757ac4aefc6b10e795e6e48995c25f45639ae0ef9ccb8c08df927d0d51cee7a626ff31cc33107ceb9ba63def6e49c73f5b01d577de7d62f0bb88dba3db907391eaa01ab3858dde7b034d672ee5c8e138cfb57070f9e66ee837bbdb7d72aa25aae74a73bd757e6adf9014cce395726a16303504c8b03668eab0761aece37b7ed9a3bea87e8cd6d47a4eb9dc3549913d8ecb8baf51e1209eff99aa741215d2bf522e9d5f9f89c0c16abeeb3b41c46e3dcd8b170a3c49709264d9ee503d3b0d51ba6c1f057cfe773cec3d153d213b42d78bd629534f8c6edeccd27bdbab14ac95805d6d4abf01f1f38b25a2c3762516d0b1e49af46ea3ae7ea819a2b2b03fbc573affda5969b3de8f9b6dd67c5d01a6b565a04c3d4ab7960e2d5d619a36fab47791d742fb0ae51a6193270182b72bbedb1c2074d0e633ba38cf3e83ffee33fde6f14fb11293f8a8ba4a499def4316a6311a451a74f3c787aaf74f735e383c967f4858ff22ae6ba8ced28d19b0ce77c084919f9169cab3299b100a397467898b6316519169b78f044a58c4f3ff5cebf70e29445d5ac2b7eea210379ce5891db6d8f153e68665b360f8ff3e6777a30cdf4a68f511b2b713c59598d3ea6de949b89cfe7b6d8a2b6ed280f245e398c159932ab73ae9a9373ae3a1e663680394e3619eeb882fbce2db0d70cee44ded9622c1ed4e7faea5c5fcd21f490af45671e4e70e30c3cf612e0c6ee3799ec5a267c5fd4c2730bd4accc8d5c13ae1938d416e218f5064ff0cdedfeceadc49c183df5b9626a5ad3b7b1ae1d6143604633fa4835656458bd4deaa2197e9c31991b7a4290954b991c740919fde07cf4ce936ae10926bd7bd6f7c7cd10396301c4e35f334fb27cf2d49c9c27bc34e8f7b84336d02423ea6052d7e6c799329fc90d33e552d6a695c6ecc762f311db76e92d3cf1a437e6e93344ce5800f1e453334fb27cf2d47cabcd9573c770e5dcf7693523ab7dd4d7e3aba653462de7b06de93bb7405fbbf5dad676f59d5b9a592bc36c154ca03a7ec842741df423dbfcc6b97973eb4792e15ee1ceea0733b8b1c670c6da39dca83f08d2a877617b90dd31dccebfc0a9f31cab9ae9874cac2b1e388cb5f98dc7ed71f507c18cb57368dcfc477f104c6e0d5d2de4209bf0d18fedcebfc0a9731bab311f13207120c161ac83ffd65c868bbdd41f0c67ac49ac90891dfd41207098d2d8091c6cc773f387dc1ab13ac383ff36d9636d9f3bfc0f9ea2f21fdbed33e4363ce0dd3ce827f3ed590253eb3ac80ef95cfa63680a9c3ac3b1aad9b843ce58f1f9a847b6f98dc7ed90dbd68cc9363ce0dd3ce877920d374ccd62873c84ebbd3b37bd42aa6ff4df867bacf8c7f53f7836563ec5e6d3776edd3d15374d2f6fddc5601fbfcaad0f5b7d871656dc9bdcb0e69d2d7d64806df741b7b9b9ff96865aec90fb16df2dbbaec109443d25d70ccd49db38eb9999a873ae3a182e0f980761aeace5fef49ffed3e7776ef7e17ac00fd19b5bd74707656772d74ad8350b9e8b9dcf055d4f3bab7bdfe8c8d62c16a6c747e2192616359e7ad3f38f070a397ceea877781aa5b1d461fe33c4bc2fd53598129615c08d7fdbd276892536045eada407662c40119b27ac77f2a79fed3ae7ea7aaa9e527365e77a8e6d2ffbd8681f57482b06b5a22bac6e2da256f0019a80fa12dfc6c4e7b9c7c2d7b5c138a7af9960c4a30106d73b8c9c6f8c3a6ccb786ef1788edb303bff7079cee807ffedb0f1e8c77932c1e4b9c72abd4b87a2d2679572bb852f638739e7aaa99b7a66e69239e76ae6e43caef659769e834ff07ae566648de1d3d5162ae6d0d3a91a6f7dd27bddc3fa04af3792f25c5f99bae6c46c9c73e5d8b00636278e2b6b9b39ae6651fda49e2bbbf82c77ccc0631f5ddf217a13babacf093cdcf0302d02f05366d987816b060eb5d315a3dee009beb9f50b318e750938a01deb5d051ce59e060f98663eb3190c18547d632c3241a78df0c4f9d7351a40efd4462f87a9e99578caed9989de4b3ecfbd2d99a8cb47ec1e6bf40469d404e1c03957cdd8833f57ce8239a2c232f7f1deae9d5f766eaf70693aae7c040efba4bcb38fdef2c299823cbcb915abb452c9aa75db6df56dfae133c973e379613b5fbe9de5d11ef7e0b313bbf4c4881dcd6d390f9f79213bb731c930d9445dea4776a9d9ccf81cf4c31f7238f0ac7660bd8534ca1d7a5d074d56e359ef1df50c77f039e76a8e8799bd73ae4cc51c6097f3b39973ae1e9eb9f29d5bab948abb2de006a49ef7b70e066b3fa439c1c3805b583f89acd9d228d0fd3adc1d7cd71d573194e7fa6a560e7b96c2e75c755c7544edfa6d3b57e7776e3b32efa81fa237b766c135b1e75bc728ecb31c0f6f8e515d5de0803ecb896ce28815ccbcdbc4cf3bae7cf4d230c99fc029a1c96d62af5cae353e5fd425443def5a8560460fc7a8794e9efb1d6cfc7852c2eac9b366b18da857c19403013cfe9ab02da239e7ea7aaa9eca7365dde02fbbec715bea7b4d40479d4305dfe65b1f00569cbbaeb999c4eadbf4ad5909ac48c66de37108d024dbcd21eb9a3a9f436f635d8617b5f384398c12c86afc63a6a63f8c75e939b181899d2666e7b0f570f9ecf9d958ec2ef4ca3035ab91754d9dcfa197ac11d3d73b9a9de73957e75ccdb1b48faef3b86a5acc49d3322751cd5d9f73753957e6c787aaeabd86714bf2f96cdf91c1bb3175b7223bd75787b972ef3ed7a22d60cc4c93e398c1cc7a18f9545ab75f6fe559dd3a030fd19bdbf9ceadc9e84210507bc073ad44022ea0ae11e13eb3814753c8e887ef8aac99cfe66378d20cce133986c5e633e396c9d434cace8d5ec2934f8066f38d5bddb8043374a0de2bf7fb2f6fc74ac888f5eeb1ceb96a3e1f84b9f2495ec7897dd4776be5d633aab7b2f6aff504a0b737b7a3efdbb67ae9093cbdd8ad87efdc8aeae1671625adcf764db365a30fe8dab135477315b99e7bf7ff73db976f2f63b7fe71f1ce73e302d5db3f3cb96d7de4e84783515206d407cfed73a55e533a3e015d3bb6e668ae22d7581b5f6af4cee66ccf3b3013bd9775038de18de31ea26894496030903270c96f1fbd0a465d621b84d5caa566f8cbed1df1688049f5529fff81df796e9c780c77ec8cbbf591a31f0d46491950df91c395faa67938f8dfa8b90e7d6cac3433219a7bdc694e6e5b7f234e7959271ec31d5bdac63d44d128b7e57607bf7d32d943e41933fec0a56662f79cdc36ee5835fa1db18dc527e5659d600c47bff943942ee5b6dceee0b74f2698ac0e60fc814357fef19778c404f3ffdcba55f9dfd7dc527df64a00b88bf5f99ae67c1adb776e8931ee5cfd9fb7164e9e7ee73ed84b5dbd4c0ca1973ea0c6a79c1a193f3774fa737dd59ccc2c356fd75375ae45df66c7d5f99ddb8ec03bea87e8cdadab5ecf96a60376d952e6aae78cc5fb5cc7398c57c3c870b170b1ae77e9f170f34b0f8f3e8dda3b52027cd888139b21a658321a385e93b20cd5f9143b1afaa20a191e2937f58c4b99269e8f0207287b274c63dbf1e75ccd1c36454fc9b9b232f0ce76b6748e1f7ffd85545a91a8039b81f73bbd04d7c2c7aa34b52d4d80ea7ce26165f39a29031375a949a0ae5002a30fab779e1b532a3b76f08dfc6db113055c5bbe91675687d851a61f4dcd273e575b795b6c634d0d0c167298d59de7c699efd8c1ba0607d4b7c56ee5a5675687582129a7cebfe69e81ad6ca0bd755b795b6c0e5367421cb3dd303bcf8d33dfb183b3ca2d527d5bec44a53fc4d63cc48eb21c465373cfc05636d0debaadbc2d3687a9336944f576d3b5f3dc38f31d3b382bcd01079f1d3b51e92724507d187794f98ca6e69e81ad6ca0bd755b795b6c0e5367d288eaeda66be7b971e63b7670569a030e3e3b76a2d24f48a0fa30ee28f3194dcd3d035bd9407bebb672c752b63eb150515aa5a8e74ee4f356fcac4f60f765f5b9be320f66cf5c998d26dc7dfc9cab59c7cebab763e6293357edebb3be6d061ea237b77de7d653a2c736d3e18ae0e89ffac0375fce8aae1794989a45258867527857195df8c4f17083ea1a7158bd35e53303e9dda558291dc6dd7ab8909e4e67bbb68620194dfcce7ff0c496d5d407bee1f281cb6d861395e090f3e6770ef039576fc25c79133bfb0536e79abdb3559b6d1ff5592838788056153401bd9e72fb761381ff0ac85e40defdffdc5aa6e4a00eef26674d6556361b4f6cbda3893ffc5af2b5cd63ef04b64f58dd70e373a921c87c8b078f3e87f1991082cade2ecc61dcf45b33822dde563316f2463c9ef58e66f3db301ff50cbdf3b98ddf1a38f32d1e0cec4c0ef9e89db23d91350ffaad19c116e7365d977a824bcf9d61823cf1db707785b77f2197fcd6c007cf9a979a94f113c2bcb2f598910d1812107ec98fe77405b67ee3c933b74bcf8361b1ea1bfd6fe30f391c3c6b5e6a30877cf84fd97a64cd837e6b46b0c5b94dd7a59ee0d233e6467e1b16abbed1ff36fe908351b667cd4b0de6904f513b16dee107fdc1f352bcad2636d91db129470f0829db6d984fdfb975eb7ff6b39fdd1a80de7d50dd8d4997e7374d05efd9dbedcc3dce9d8b5e9d27cddc076164cd3cddd4c4c2b3882aaa5a2ff174d59c35523765b189f123c01c3c934d6c39d0530e0e60f0cca73ef00d973f3c6994679ec36b8e7f81b3bdf17c6455d78835f3d91accc43668513bf69cabe6f3ad3f570efe3ffb67ffecf96bc9fb983ce087e8cd6d67b2cfb4802e3d31b053da590a604c503580747d746217a2592fa6eb265e090bdffc4c7463cde78bf8de8f35eec432dfef668727eb9daac0f254e789112501203da0f4b91d9e72c6c2d34c601a4d57ba62b7cfc40285c4c0e75c99c9a7c65cf53d5b9b6365e040eab8b274c0cce7e5b3764186a7063626d81a3ed3bbf9f075e8bdb761d33b5d9b09e796e1662664c63a8c4b90467d781771630e074db194f819fdcaf1fe6c6cbc05e1a9818d0f51879c47d928d7a1e75cddfceef49cab9981c01c999ae771b567c38428734e01e1ea73aef66cbcf5e7cae8dd74ac46661d0557f45a7b0cdffd1719af3ed757e644315dcdc9395766c084386c9eaaebf6aba3ff2cb7cfc043f4e6f6652f7b991bd87cde664ec24d4e67026c898fef9440d6ab993e1076e6d44b861755533d7a38591a4d675ab8536e785d8d0b840b2c1f0ccf62615d0203ea3448204d82914d7ac36c13b88481cb1c78c68b051443871b7727a637ab4b9febd07befb4cfb96a36de8273e5e3ed39ae2c4dc22de67a7fdb7ac5cc7baf0b7ba085014b0ac74cdfbcd5856465ad809f5f4b2edbd67f5323856b6e708977ec13c497dfb9cd56dde8b7f9944cbd724baf1e1c88ffe1e2ed139e6dd7542e738b19d90108914364f8cae5269f27c81fac34efd8c611334f1633f88ed8c7cde7d2739bebbdcc2d6664079061e498dfe8837c22fcc14af38eed1d31e7999f8def88bdcae6a6ed1d1e387836dc1d9e653bb203c83072cc81a2801f2e3e58dded3362a31cb6eb873beea5fed2b3e1ceb97ab2cfd5fc3fb7ee44d6156e4f6e4376aee25ee6b34537a69a6af74d756f6b7b9ceb3bb726c16d6bee83c57693d5c561e3bd86d1abeb5c5fedf9d9f89cab8e8d0e12474bc718a0bc4d8e2b57bcf3ffb96dfe6fab1fa237b7de553a0a3b4b073b46bb389a209754d8413c473040af208b057ae789eca94f6002cf03a39ff7a2ba7852a6c1b727b8e1e72acc361f75b9b182cba72e3c3dace0192a6175fad150ca27bd2efce8f105a629563ee540dc369e7365669eaa7365ddd0ee7620f92e533f40d5b134c789a6d2aa516da1a0a9b6ce0823a7e89a779b698a4d79f01135bd304d0c327eea40a3c0a31c076425a61cd28fa626d93085e4369edb8772f8a20a8f1fa5a652d7aec56aaacfb93ae76a66a023e43cae9a87a6a5d9983939e7aa4bcae555c5cc3cb5e7ca06b6dae9bbb5f0acafe2fd9d91c549b727eb19f7af9a29f1ad5b3a84cef5d539571d12ad633b36d4c839ae123c79d7ed1dea677ddb0cbcd1b2f236d19bc0777516787999b6e08b9febf85e92c2350387da198b516fe0b3ba48a0ae5dd7f50ddff00dbe730b77ac7baeeb2877b80fd6355baab727430009f31cc1f4a6d7950f8049967e94138e71768dd5f000933d56b1ea4639e48014d27081c1ccc776868ba9ce79e3180e077d7ce43957331b736cb42b0f33897cebcfd5fecead33ab94021e65edd9be73ebd8a0846d4be7a64fca9d38deee6a3a416002bd4adfb915bbd75530a6d8038fbc91b943af4b292aa0ee3bb7dce615ee681a5db3b180cace07936ce7839c90114fece863ca67d707bea67aac02981db56d0f7cc95cd607cf1dd5a0310d1453c88d632568942d860f3e3b931b0d0f56f4313bc3f11cffb29ad8e16f8c45667be9792373877efbc387346a1ec62aa47908abb7667cd28c7283d114bb07aa6bc7c2c8cdd754d7d5564786a73e68863ff80f7f877efbc342620aa9b9f31941636d71e1231e87516e90b8f0033f3e937f9e9b2f505d57cac81d55b65b73e86de85d1f3cb77efbc39947e670197be89d269073407d9943fef8d18c2ca0567686e3b9f96bd555355681ad69f483e6d2f9c0dca1d7a54c3e408cfa722cdfb97de6339fe9c6ea7ee4e6e54d2c7da5bb52ef6631bdb045026e52fd24724b3bce3debb6be22ee3e8807cef555eb969913b377ae455b573b423a669a1c33f380cf9545da677ee6679edfb9b5e36e2b0fd19bdb8edade677656f79e13363bb09a46733475e10157c63ee3d1744580e3858c0f4d3ef44e15352581a24b33860603ab618095b23f839c1c3ac7f426c303159e8d0254f0004d27aa26cf6befab3f87c6ab0dca13de9e7029d1a7e14043c9c456cc3652b68de94743d640930301e69cab99db0773ae3a42fc88946760b8ddd7f1d30e55b712b280b05ca8396b234d7ca4dec19b274eaf4ea3decce07c8a9db1349534fc0398190ba36ccff49b2188dce02aec7ed19b606afe3994c9e6ef07dd5b746a5e055f9770b18894f7fa56ce3c277fbd83470fa42987ac361ef3c9b3a1e3f31ce6e07fe9b399a2d41bd4ac66ae4c2f3c39f0b9ee7ca3fd355133ca4153d4c8ea9d9cf50e6e2c75e2c921cdf8e3371efde459607c9ec3cc5818e5d2673304633ee03aee5e858c9f7a72e073dd79ced5395757c7c0437e5cf54386ce086b06d86cb81f59457897db3ac4caa4b5879b542b9f737d75aeaf1c300fe75ab47bc759df36030fe39bdbc35cf454d6d553179060f869ce935e4b7f675457d843ac40579cd1080f03856cc3f0d404aee085279e5190ba8c354c18291c56173ef90c0fc86a34e573c8f3c67105ee327332a0decb6639ec7938e7eaffea5c79f53afef367c6164c48b503c3b3abdd41d67b5a0c6cc7d92f76bd100ca5d503de7a4257dfb9cd413d6bafb05a694d76009a2ddc4ba066cad123a7241bff5ed8eaf50af79d5ff292ac34c7011effa22676f8ad193c26c001c74486b7f3f8ebba839ff0833ec3d9f60d329cc09ab3a57c8a9d5ad76802750d3fcdc92193edb9c5b7613e856cc3f0d4c56a36d6aed36c263c3c30436f9f0433f406ba984c60cd04232bbc1a399ac0819fe6e436fe3197fcf88cf936b9c431eaf4c0761effbbf9093fe8f175e10f4073c82bd1c5b89153cfe60ca8ebb239398c7fcc25dfa0ea1b4dc63f9f9a4306b6f3f8ebba83d73bc305d2678869b80d46b0f5094656f89814923e43cc657372de838e732687c01b4d6892cd583191e1c6daf5e3f2135ed4e803e599a671776e61bd7bc464858fc9680207be666f6e61ef6fdd8cdc957c06a476dbb296f094cb1950c3deeeea82ddb3d461b19abdd785ddbf7aa99b7f35c18deb1ce2737db5270a3ee7ca713587cd60874a0be93d5d6ffdb9b2483bbf73bb77c1257e88dedc7a6fe6bae628340bb03aec5a093b64d5704057fcd6d765f50fe0b9f1714d9cd8c498340c69e078b2490033e3e2f9a421284a337f4d254ff5e6c3dbc758c40c292ff3a72f2440596ef44e5d7a2396e439574d51fb0b7e8acd55ffb7ad8db214f01cabeec0c05b2b5855b4c904563095f0a1deefb8463c402037f5448d1eb3f1d6842764c0414f96f292175254828d63a6de80cfe8af0dee2d55f3df4cb2c3b833ca78c64c3dfa116c00bf6973b54d2ec73a6435390c0fdc86c7790b900a1ff575e8bdaa66fe51319bdf0c5cc9fc504f9e34756d009f73353376ced51c1b73a81c9873aeccc01c27331b66a9b299c1a3a789dc007e8b9f839e6379ba1f598a18dd87b0ee47ee4dad64f476573ad7577687759aba7566f7ee732d6a424cc5e5baf7a93a57b6f72c77ccc043f7e6b6a7c73e7a71d0bb50ce47324e0cb8332141570dd3371fd5e8dd5d70faed9326b7a63e9f099c118bcd7fe3c9247fe6d2bec4190adffe8d3ee31a6b6772c9ef716163d11475ce55733b73f820cf95a5c01c57be8fd18ededfadedddac0ffcf43a72d4d60d76711ab170cfbab03b8445c66b5ef31a9bacbce8452f6aad4390f3599f3370cec03903e70c9c33f026cc80bb952837a3d7bdee756e465eb1bedffbbd9f77b69e99fd3fb76e409e72697479a6a5b42c71eb41c2ee4d7dffb69b11d20a27b15ef7a9b90ff69c83e4e32e0684cff5950931157b65b8e767e373ae1eccb93abf737b7d36df553d444bd5ae80ae77cf79ce739a12b803d7c93c3cc667600480e53efe59cf7a56673bec4940172b9f99f55490dec517a90b4f0fb8c28aea595153ac3acf345d82c793324f32e3c2f26cdc78fe8d953f993ce53079e6af16852c1f9af1692c03e5df76e5c967e70fb7ede75c3d05e6caf7973a6e6d8b63e35ddff55d3bae3cbef6eb1d7a1d27d6160e1e6b057ac071f28217bce0077ee0071c367eb7c02161e571f9875e947d8a0fbc399889f0962ff9d41c3e808c570f230adeb1b7e162c7f36032cd0cb718aea99eb10e095c4beefd91de88473fe2ba2687dc76736287c4282903eabd8d35471f40c6ab8769d376ec6db8d8f13c984c33c32d866baa85e77f48e05a72ce55d3706f579e73b50f95f3b89a536f4027d49c3bd37c6bce55a3cfb15a0eedb83b7051535b9a7bb255beeffbbeef852f7c21e0a1b47551dbe2de6465e2d6a3f6fed6cdc80d48178da75f3eb3be6a684a24f1dcafcff555f3b9e7aaf93fe7aa15b2354fc795697932ce557bf3ac6f9b8187e8cded4b5ffa52d741973f47760f7883cdce5c2bbb26ba92c6d0f4a44703378f9d1b3d21b09ad87ce80117d9fc0b29365bcc8ead3902cd72d8fc84242b01e4a10c9fbfde72d8db8b2ce71d5be021bdcb5881a2667bcbb3a871b0e18d9b7f7cf99c73f57f6faeac0f4c78f3ec23ed764d2f692d448cab46aa15320fb461b73ac053ae9abe43c507e1f6a30278d6fde00ffe60bdd61f1d7eedd9b33e67e09c817306ce193867e0873b036e406e58d6635ffbb55ffb8c673c43b87b96a7567537209fa2f657caad19dca4dca1e8ddc2dc8600f7261a3eb0f03e75759beb756ef7c1be9aab57b33b17816637c7cd87d5c9468fd965f8fc755dae9190e57c19d8dd1f5ff865ac40bdd2231893a21a1ab6e134e599553e7021c5e6d3f60a19cdc41e9299e11a88acd873ae9a8ae6c1e4683e0873653d767ee7d6beb8a33c446f6e5d1f9ffbdce73a631d9a3ea7b1b8ef48ed339bb90a742130653ed7e9dd26fdcc20d95c29f299de3c29098c35fe61bce1c2425c6bf823bb90e191b082174b602c3c8dae3ce583a4419670fafd7e357dfe78b2c2f11280e5993966721e3d0d6cdc894d73ced5033e576ee4766efbd185cf81d1f186b48cd07cc31bdee0b8522c0eec5f1aeb808e2bcb0bc749ab0dbc034397cfcbf1023ddfbeea55af2260f8811ff8819a94c9aae9ad30d8e261a4d29a63f898347032f594f47521a709145bd78dfc90b91532ce0336bf43868fa43f8c85b951b3f51ba7cfe7c08fd51dfc6cefa546780eea92dc4dfa89bd8dcf73c70e163225ab9a3b64f84882c21f57b3f51b7398d8035f575b5426932a65fcae0f9a9a637e686e075d23dbfc90133b09c45cf23b24ab31070a7f5c4d82f41b8f555bada94c4a0d77d0130c5fd48db1d74e8f4dc2a1b91d32546fb7f104267670cc255faac91a822612187ee34dc66ffdc66325e4c0d775375fef8d1ae139a809ae5b8f4d9db12676cb365f3e3b76706ee339fc0ec96acc81648fab49907ee3b1e273e0eb3af069d4733dbfc4dba7fb02ab8a7bcaab5ffd6af5f39ef7bcf77ddff7ed96a4d973a9675a4faaad88fcdd90fb5751dee552b275cfa2815b9350c234ddefdc01e73e48cc76ee83b072aeaf66aeccdbcc15d2e49c7375db71f5a0cd95f55ee7c559df36035717e2dbfade1c7e6c03bb7641e48c9982d9b8a6fab2586123d51b586d470275edbaaef97f6e5d199dcf4e631a6968ba1a029ac8c02631f15b032b2e0462f3190d32ff01299100191e180dacf089df78f29c9cf5ce703b7f98a6d88dcba1cd39e86582997c9a849d733e9303f33d2d6d6f9a99409af8f21cacc9f99cab3d816ff1b9f2d29567fb2bacd995dac9b5318dd58693c512214ca0496335609f2a73e400ce2002c9bffef5afffd00ffdd04e55e25d90b39a89c7009197b8ae78f53c158f7e93e303e0f74072139bcff048581920309c151c48032b7ce237beb6b9ba482a61bdb05a33a02e879a07dcb8a3293c4d0eeac645ea4d8f4c29105632cfa72ee4688a4d13bf35b0c2b971e1d1cc7003522650e3d30fd6e413bf3181220725ac172e3ca02e879a075c0ea3293c4dceeac645ea4d8f4c29b07133cfa7aead29364dfcd6c00ae7c6854733c30d4899408d4f3f58934ffcc6048a1c94b05eb8f080ba1c6a1e70398ca6f03439ab1b17a9373d32a5c0c6cd3c9fbab6a6d834f15b032b9c1b171ecd0c37206502353efd604d3ef11b13287250c27ae1c203ea72a879c0e5309ac2d3e4ac6e5ca4def4c894021b37f37ceada9a62d3c46f0dac706e5c783433dc809409d4f8f48335f9c46f4ca0c84109eb850b0fa8cba1e60197c3680a4f93737586db1cae49103e34e373b61ef3ed18027728c552c1109a96ec00a5e2f664cd503e04913df47a0c7663eac52c3e2c9c8c00e83e18d6e443036c9cc6cdcead2dac5753cd27d02d3b4db11bf314381a82c139a81bb735527a6403cdb87bacbab6a6d834f15b032b9cc90e9a196e404a3903935bdb4e736574ced5fd05bca968de800770aeacf1ceffe7f6ea78bdbd3c446f6e1da97ddae19ad284cc3b49a777b84b956be25c0d61ef4bbb0cd1c00ef42e70c45d4d8a2da4eb69d7a0e175f5796143d38895c38c0bcf88c38f3f4660b1f5c6941bacc06e1280a18d3bef72cb61f2ec5d3419bef7c08ddb16c5e7538633683e9ded6102bdc69dcccb07d9769d73d53c98cfb7ed5ccdb3ae34fc8db1bae3c1ee6eff5a7028560c160a9e72e9bdb385e3e5efc4817d8edefbfc78e1346aeb8f563fb0aec8c23195f8a991133bfad63105526ecfb0aec6da9ee1432ca5c2440993a599589e87584d7ab510f561acc4d509aeedaff28c9c1c766c9a9dc361bb8a2dcf460fe345c54c3e01f58c45a01c3c316926b798439e5791f7e767e3f26f2c58d7f8ccb8f1ea64e75c990ae59c2bc7c33e9636363f1d3fd75375ce95a97ab2ce557b70f6631781216bcebed6dcd70d4d4fb6dd623cc1bab6b8e9b8cbb8efb837e975ccf4c1abfb9466bf0dd11f21e38dd23bded621782b107f67c4c1ed8cde3a840f993a0d3cab94e10ff7c16e85f5aa355bcfc00acc1f38d7576646b99e95ab190634cfb9320f1d6f6fb5e3aa5d70d6b7cdc0bdc5d36ddd6f32eff2546c60d72e73ba3053301bd7545f16173ba47a0357c648a0ae5dd7e593c297bdec655d13f5969beb549f57b9f061c280264dbd61a41378b0a6de421ccaf0d6f70498e61217580e7936eef88c394d1711e3eedc08ea2a9f4c2699098f493319966775b95de690ffce33cf726098b35a197fbd61649e46b9969c73f5d867a233f36ff1b9eaf1a339ef336f7bc469e5b8d28587ed53354c00c8a1e75eb8cf7dea6a954003e8a271e2001e8c3fe0033ea0b3d21aa29d8b6f393235c160bd64232e441d5fd7d61cf883cfd687c76a2bc3ba941b3152d761ac6bf963fabb35133efe97fa0c8d92e6b6fa30aee6580d38686ee4b7ff41bf3dc387ac6ed4373f378e75d0dfad211eab01430285c7ecadb8c4344afc60a0cd090c7fdb5889a73ee835cb67c24779183741fa116b5ef24f5c33e133d64e261fb572c82afdae938d8fe6580d38686ee473a83ee8b767f890d58dfa73ae9ed47375381e3a66dad1877a8e9934735eb89b588ff9b5c2ee53dd2f2cde3ca676fcd0b7fc2070ffa2a7c17882ea11b7bb15de3d6ee3c4d2e83ec8d33dae75cbb9be320f26c1e498c97093dc5c5dae03e347432076e633dc54cf7a2f80dc6369c6b4e661c8f950a7bfcc4160e2c095d1fdfc01866ab157ec43b616756a9c6f6edbefb7d5f7de39dcd6fd54e27d86e734509c42b04d833bdb3b8d61574f355eaf77ad7326a74f265c09373fe9c74d14812e1a7862075312e01bbd71d3c767eefc974fbc7ae7562c591a864ae362605df22f160397923a4c63dc430e7a1b1a7fe5783f4f3e70d9262867355eef39574ff6b972adb41fe7b8b26eb032402a3e62b7b6b0af3134ad45807060f05edd5aa328182599d86902f5aac764987a1b6b94c9b67e98d1d47ba8eb25ce1fc0548f7234d3bbf5b032a30c06f2d455ef3080fcd50acd60cd70facba8eb88abb12a9a40a3946d8261ea3de7ca3c9c737539031d271d33f59ec7957938cfc1ae1ba6628e90b94661061fe6aaebcc4475d28d035ec979fc23d3a835ad49dc6b3ca9babff8ecd5e7a7ea46b408691d4299b835c6ac40cef595096c193673d50cabcfb97aa8d6a2b3df4f7039030fd19bdb97bffce59e0f5d195d175c5b9b8bf05c37e3bb70c080cb07a52835d98021b7a62b4b9af41e09f2b9b16edc191468881988c9f6d754eadd7c3e5235344cd3b889c3db73f370cdd9b40d8c527a34e1c6d29cb4c33b9f83a1669e5b539ef1e9cfb9da73f2c39d2b4f9ef648fba8bfefd2b4bc18c654e3fbdb2a3cbd030618c6e83e056fdcf8ded95a7f88d5eb27a93ee8833ea825c82c71285b82d8898aa67a98e9a5efddf2045ecb1fab46f918751f6dcf916d92709a038a1efd7db3e3bf97829803af29f272bb86df51431e72483319dcd61c7ec0841c0c0fbca61075794ef826b7e6929f0dbc742ef020688819a8a8db6c87df51434eec21f9037f6866851c9060eadbf842d487e12ef34973c91fa662460c5c8e1b73e06fb31d7e470d791822cd24705b73f8011372303cf09a42d4e75ccdccdc36874ff9b99ac37e2ee9331503669602c317eb46f04ddff44ddedc72700f427aca55b73c13e28ea3e9a6a3763f72abaa49303cd00dabbb9e4f63bbd3f19cfb60ef033479d62ba47b99badcbadfc1c3a4d93cc6e2e45c5fed3969f6ceb97a5b1d57cea9f3d7923b086fab1fa237b7a6c0156ade613a2807e37d8ee8e2d5340d7659ec82eb1c566035cd5c073bb2f133bf3052333d4f4d7563a5d7d50597cc588969f032d1e44fdf589383580c9e261f63a5cf47145e8d6f5c3ccc215e6c2639eb55f20cc0933fe772d6256a307ee647d7e0c993493e6a82ff9fbd7b0fda2e2beb3b3f332a72684eddd0dd9cbb9b8320889c04e420e7108946891813c7182799c4924a158953b1e68ff9c33f27533549914a99190f33998a4a3499780251415008185191f39986e6d8740322cd41b1ca99cff37cbb2f16fb7e9e971739bdfdbe7b55d7eadffaaddf75ad6b5ff7da6bafbdf77d3fef9e2b9f853c28e742aefc36a9cfc56ea0bb56bb011f3a1ed3ce4073e695dfd9da799800ee81e93b10f5ba5f611583046c3b6a6ef8e9c58ff96056a76162fb21f514e26e951b4bad6b1d3a3cfa896764002b45977181111fd347fed778f43622907e86489f9f34eabcad1a389fc0f48e80cfe1f5c6f33c316006affc06b39dd11b85a0a880192ea09eb112d75437d6e8d9668e07467c4cefb93a9acf7bae2609fbbc3a8fcf411fae45c015615d07fae8eb3ac4944cf45608fa12903d838b63df346ecfe0d243dcf35662a3749d82f16a825ca56f9fa36e7f42cfa72e7563edfb2b79d8732503f2709eed459be17b7d5a062ea037b77e736b4935bf9be8b6efad802d881204741fd239501306f4ea9a738387781e36e663bb3a1f0d3f637be8b018d6b14e8b613d57e18e2592b918560166caaa418e6d0361b2e5b0f0d2efb93af773e52d6b73b20fae1d868faf8d429b89ee6675f9b8615df14cbcb3c5db3aa8fb1553af7fedd280f1769ffbdc876dfb8c26555dd598ba6ac22bbfe23628040a2b5d0392753f062bed1493c5c33cc433a459cdc776c855b3dae61c332480ac1e3f27c6d021a4810da14432c7af02cc9455831c5ba328986c79d31c3fc7eef75cdd98e7e354edb99a397504f679d539b2e621dc49ba266bd594ba6cf779f57973d51ad5ea544a4fc4c849783843a4fbd5b7bffdedfedea4ab8f3b5b9f05816b10ac17eeda849fe7ad48cdf66fb06b902e62a48d5675b62e79731dcc213e1260a8ee125933bce1dbf6f093edbebfda73b5ceab26467323bc993f9a5fee7965fe3ff7b9cf7de0031f68fe3b67d59b4280d11508a749af3e2c4eae48a0a279133cfabfa3c6a8c36b3d24702e940be8cd6dcff09a8536f1265f4b5800f6c1e37d2af0ccce346c4de278cf082d76640c7b5e885768f083f3b36af8a49f4fdd5805a30eb315437e320f17cceabf38f14c60a3c046878ba108f5369c71619a191dd01c5bcdb1858d9520be14c181e2a4c7e4165f7e306cf75cdd5c7265bbe06f515afeec27943e537b054073e615d0ec6a2d9b6d8a2934d8214f59c9f0a6ce0ffd280165d6ca9a0456523865585384e301ae37137c60acf4ae9ad536c3b5669587fcaf3e938d7fcd154feff07a136014e38eb7ba9005b9824c36f591fde78a8b1399323f7bae64e338559f93d83d57334ff6796532341fa442d99c564d1e7c9ab5dee755b9929349da219e2ce99ade96beb29aad0b4777b66d515c83dc88bae850f61d22621ad8a5074fb6ee7fda9f20f5ce1e8c7edf5fc989b2e74a12ccb4f37b2fdab9b6d7a765e068113fadef8be1c7ed2c70bc85ad5f61cdca6cfb34e19a814d6dfdc2a85760958c04ea5aebbafa776ead9826bd6dba7b4831c03d7781990ca979a821b092eacaa426bcf22beeec4adfa0ccd31b88b29aa071b36ddc024b939fe1e9157e0ef9346b0c89f306eb5237ae60461fa9a68c8437cd71822fb004ea3119cd26869a7baebedcb9726fd347a3762a35af9c143eeb9edef57617a3abf7b13e3b563e38b131f1ce364c8fa7c187597df8c31ff6a4d0098554e89d508163e273c861469078d31c27f11b87d31c90dbb5097332fc59e2acc67675c8d5da3b9ae1bfa0b112cf6116de893ed718c26c471f5ef955af779a031a7a6dc267999fb12df2a9d781cea049f6858e95c3c682333f31e6cd418d61e3669b66c56b3c67e6f3b3eacf1217edc4bcc6393e379ae181b3c78945b50e31e3ae7e3682314ca31e272b5e8ff7cc7c7e56fd59e24d1ed638c7e746333c70f638f11c66e1e5b9aec16b0c6182d187577ed5eb9de680f1bffa39cbfc8c6d914fbd0e74064db22f74ac1c36169cb9c339f433c718d81866eb22b2e1f971f579dbdbde76f1c5173374e3dafb55971597188cef13a9dbb6c1f19c90c1ae657aed25182207bb90e9a2992ba0cb164cd375109e3d4f1b95945defdac38499ecfbab3d57cd81e6557b57136966d7577d5e3959f637b73e8533940be8cdad954bb1263a6fcd51a5f531de331e40a6cce6951fdc126996d350f64c8893496ee6f4b332ea1a4caf496f74ca6a0c1e89e1bfb1906288d1c5c3c430b1d1543a96f822c48c9f3c53f2d6d07a6f323dfa7f9174ecb0b1066bf2937fb613033e0df38907a98c66cf55b99593732a57ddbb76d5f7597b375b9cf3396ada2ea87dee7612f4343e4da4c5749d3ced75d453584d89e421c07c6401ca61568ccc4960a329b6eabaf2bc8e9bb7951f3c3ed3acf569deb23dd1c30cbafaa18c6facba66dc214fb45d6308578f93cc375df51e6a8aa43a93398a461f6f2b3f787a57ffeb28a31c6f31c3af1ed28c323f942b133956810453afbd70630153c60966c53563563e5c24d5b9cab3deca785bf9c1d34bbcc1a779cbf6440f378d79f4fff146191f53d7f40e996655eaaa34d64dada3ff8f930dae59efa1a648aa8fbcdcf42934e86ad588f183e957cd8a8f9dddf89966556fb6277a18d9ea8732beb1ea9a71873cd1768d215c3d4e32df74d57ba82992ea4ce6281a7dbcadfce0e95dfdafa38c72bcc50cbf7a4833cafc50ae4ce458051254af9ef52a9859e763d4abcf21e3c783dd82d2350868cfd09dada677b9ddd9ceb82ea630fdec8834e178d759cd36391897aae1db05f1cf6dde5ceff462748d37cc7a1d4cd9fe27be0831e327cf946c1b7abd44c663664f65acc14cf8c93fdb7c2295736acfb0e7cae7d887eba3f179a9313ea33efdafe2bc12c65ece9081cf3e903b83e8afd075b8c0711269290ccfaab72e8e70cdc0a6369f30ea15d876470275ad755ddedc3efbd9cfb6596f4513404b9599eaec1d8cb700a995e96a36c7c323300a99e93eccb1dd8db643266b0878f4831330a3c97f7582096f9ca7cf2172420288c7ffca934dfcf99966fe13af26f1eb58f9df7375cee6ca6ec087dbb481fbec9c65cd2b8cc8e36d11dce2e23b253b139d3ecc3d6b8f4c0c03c44c00bfb9256b4b942cec2c6b5e4dd70a28d766caa9a717b3faac39869a8303277a383359ef66c413bd8d66c0783e04a3096c9af418f5c49f8769aee0d0761d6e7a373e6b8e1fcdc18171b27a383359efaa5ff1da3bfc80f17c084613d834e931ea893f0fd35cc1a1ed3adcf46e7cd61c3f9a8303e364f57066b2de55bfe2b577f801e3f9108c26b069d263d4137f1ea6b98243db75b8e9ddf8ac397e340707c6c9eae1cc64bdab7ec56beff003c6f321184d60d3a4c7a827fe3c4c730587b6eb70d3bbf15973fc680e0e8c93d5c399c97a57fd8ad7dee1078ce743309ac0a6498f514ffc7998e60a0e6d37e28d1fb6ae3bef78c73bec40ecc75c595c56909a6af7780156ae2918979b6134155dabcc650ed9b684c9ec7f06771d64d575903723aabb50eefb2b992915e54453d973d5b4695e4d7e64667082af56ae9c38fb9bdba3997a7ab980dedcf66c4c2accd7797ea6d93398662a0da058fe4a1a60f9c30378b8dfaf26608b493fbcaef499d05870d3c0ad209ad9e6874069447e66e5e5a755860ccf6ae2872bc54c20123e091a7778de22d51d4b0cf3fcc7f3af1756f0813d5737f75c75cbead3dcccab7615a68adf3599090418cfcb61db02c51ca8362bf03610cd8af63deb9e86ad5e8c1be3361f69e23989d41c1ec66bc6c0984a0cbc82fcc7c01bdb197478ca295cc5e7139e78c294bae6ef66a51f9ff5e68d5e6f65c5a329368261c2e34d13d61b33caf835b63ce015bc66cce1b8047505f21f036f6c1b57eff0f094192b5734136798b2ae40faf1b9f6d2ebadac7834c546304c78bc69c27a634619bfc69607bc82d78c391c97a0ae40fe63e08d6de3ea1d1e9e3263e58a66e20c53d6f5679ffed4873f74ed9fffd9a74793937a613c5c59f17828368261c213a126ac776248193fe38e0740c193a53c1c97a0ae40fe63e08d6de3ea1d1e9e3263e58a66e20c53d615483f3ed75e7abd95158fa6d80886098f374d586fcc28e3d7d8f28057f09a3187e312d415c87f0cbcb16d5cbdc3c35366ac5cd14c9c61caba02e9c7e7da4bafb7b2e2d1141bc130e1f1a609eb8d1965fc1a5b1e86d7353ea76b804b490e5d80fa7e50971bd71ad723b837baae3b1897a4ae53ea0a4140178dbd539a7d7f551e5ceb6f4ad5be173d9ff7ed4eb7bd9c9681a365ebb4be2f861fb781b56e91c54c691dac09d70c6c6aa72e46bd02dbf748a0aeb5aeabdfdcc2dd2bcefd9ea513e348995822f100a63a5e1dd3fd278d85a3e4a44f10c370f4313322ab8d3e3f13836678c38fcf786e8b81b8b1329cf8d7381bb1f889574d63cd9116ed34033cf3a0ab21f881758d9f3c0faf37668d21cf9b63cfcfe8d3b06dc46a03255063d47baeca4969d9e4ca19d40751aedcacd674db266fee3cf134611ebaefc5f7db5a8c7d867d4356e939f1517adf4bec37b70f78c00378701ecd5e8715468de1e7252f79c935d75c437cf7bbdffd094f78821f56e99a82f78fb3fdc37ff80ff16422b9eb5defba71b536c770c08c15c09f59bf8e48c96aa3c738ae5ff9955fb121f8a11ffaa11b6eb8415477bbdbdd66a0193ab08ebb7a0b0f93ecb4118b61c49b2136cd910d984836c77268882986baceac1ff306da0ca71793c39423d8f0ab9f7031cce819aee67ff88a97fdc17ff95de2fffe87ffc9edef78e39c7143f88bfff74fdef9f2bb7cef0ffda3ebaffde07ffc773f151eff87209f6f7edd1fbff4d77fed514f78f2c3bff5716966ac4393f7befbeaaffbba5b5c76d7bbf9defd4ffdefffebdffd47cfbec3c597904db487262bb33996e9c2c3efbbe65d2fffad177eec4f3e6a52fdc5673e73e57dbfe1b14f7dfa6d6f77fb43e7e9997cde5c1d6a1af42ffee23313ffa1ff341dece577bbbbe6e464409a4df33ffcccfff1d0473de61b1ef4e07a33541767e469c38d4920cf1bffba30ea7132820d3fdee23319717e8a2a5763be6a7232cc80717e2218d9808d9f13ad90f4eaa24a3387799a497c036d86d3350e57d9215feff0c09a99f89519b7278e58cc875d33ca004a5707d78e8650675b33ec9a32bfb925d6e58ac3b90b0d817d826b504ab86b0d414c7a1e5c07c75bd74156eb1e436fd741a75e5734cdf0869f6d46bc78f8495c6ce1d9f3ac7b9b46e43f27aba6b1f08dce9532cd00cf3ce01b22a5aef193e7e12963d6188efc1ec7cc10480c4c33505723568f401746bde7eae6922b1b9bfdcdad197b867201bdb9edecb5852d1d2671fb784057cffc74591ad220e3d35b4de8617a4b00ac86e97b5f9a9f161d3200af97134a3ed3eb4a1f5f0c30f30652e79f07a4924f209e807ef5637d9c188c589c3478e3665e3cd9ae1a3c4d01186262a32c0f00be38014a9a56647ed220e389153e8b6162eed8e9274efa024b8fd78ba4e433bdae89a7634fc3edd130c7259e2ba4924f209e844ff5f8b9c073e589b814d9224891f55166809e9dc3f3bc1cf609baa7f55c3c4d77b9305b7b1775fb2175c0bf88fbb33ffbb36f79cb5baeb8e28a2bafbcf29def7ce7cffddccf790ccf242b35c3effeeeefbecd6d6e03bfe10d6fb0c5c95613e0b3fdcae88f5c1ff318a566985273a3df68565bca13fde35ffbdad7def9ce77fe67ffec9f5d72c925af7ffdeb45c54ffe7968b801f10da4e6339cffc4d35b846bae46bf6a8a73865835e1dc8e20bd11e3471f3fe2d117f3465f00a3195ba063d9e8e3d35737903aff430e886f20f5c499ff31f7c1bff50dafabf996d7bd668618fd78d0a5e0d5e9574d18ffa6d7fcf13dafba3757cd18fce1b1e487f8adaf7fed3bdff226cdaff99aaffdebcffcdedb5c745b78a32f8019746c539ee89f8737bfd63df6af7ecbe39ef03ffed31ff39fdb66fafffcefffaf3fbbe9dfd6caad5aa1cf7ff51c177e8e8b6c34f1d33c51a3179f862ddcc186d59511a4e739fe469f52fda53807392fe68dfff862a8be29ae2f7a5e1d4f92197786e8b8a6693858d9e42a5e7d631e8ec3223bfeff9109fef058e247337a4a78a327432aa39fd8284ff49f9f0cb3aa8e5f5dadfce837fec74386eac69de6e8c7832e05afcebc386bba9af0901833380d1e4303b8beb46748e3aad4d5476fd76e35abf60c5931211bfdbe67587305effb2bf3caa46a5ec18a0973beee453bc0bd3e2d0347ff56d805556e7ffbdb3b5eb35f1db6223801e048373ff104f1e507afc0169178a0aed536862b4b737a60f5c36afc1b1ac6a4a16748cc493c01ac2eb6e1818981addef4635b008d05d7e4bf9835e9d5fc2861b65c6d78bdc9f0f09eab9b51aedcbbaef3cac767b7217ebccf1156f7ce16bedded6e676e007ad3b0b5dbc0db61b4ed8039b1b720739baa563415fcbbdef5ae8f7ef4a30f7ff8c39ff294a768f2e32ed1ebd9073de84104c6e2c710af7ce52b2fbbecb2e73ffff9ef7ffffb91ef79cf7bfefedffffbfc7be5eb7ed8ed34fda31ffd68fedd2dffe22ffee2d39ffef417bff8c53cfbb9ef539ffad4dffaaddfbafaeaab6f7deb5b3fe9494fc218e8d5af7ef5ab5ef52a37e1de063ffef18f8fc4171b3f704d21bdf4a52ff573af1905ff4bbff44bef7def7b45e8ce9cdb89ea077ff007c7968c80c3234737fd3b6f00264dbde11937901eae4979e4e2265b644db6c792a37c86874faccefff0d9a647ae31d4dc8c95a17afcaf02b8a69ae7cd58ab6dce6952d6b5ea4fe4c7e7ea3f271f7cff7b3ffeb13fb9ef373ee85d6f7bebdbdef8fa473efe89924296cf553f6331cc768e4557fa8f5e7fdd47aeffd0dffb91e7fcfc4ffe9bf7bfe79abbdef35e693ef3e77ff6f217ffe6fbde75b57978c57deff7d827ffb5afbfe52d9fff8b3f7fedfbdfe79f037cff7bdefd3d7fef1ffcc12b5e76c96597bfe9957f64d0473ff1681ab3fde3fffaca4f7df2138f7dca5fb3fb7ec54b7eebdd6f7f1bc36f78d0373fec5b1f7b626c05f9e94f7deae52ffe8da7fc8defbacf031e58a85e083ff53b9ff9c6d7fcd1a73ff5c95bddfad6feddad57bee445d75cfd76bdf7b8f2de8f7b8a786ea5eb57ffc3cf3ee9dbbfe3e52ffa8d3ff9c847c4f96d4ffbf6dffdcd175cf3ce773079dc539f7eaf7bdf97e12ffddcbf7bf4139efcaa97ffeec73efae13b5d76f9639ffcb44bef7237b75a931f1aa15ef38eb717ea431ffd18a1fefa7ffa0f73b07ffb7ff8c70ee7bffcf66f8ec6e174bc6278d96fbdf0fdd7bccbdd7e647ccef951c2222fe735cb33bc0a8ee5477ae0509fa13a3f69aaeb5afd9fc88fcfd53f52b37880fc23e363909a13f346b3e113a7515746d35848209f093495f0ca6356db118c1e38d427cb569da6ba2e3e4773223f3e57ff48cde201f28f8c8f416a4ecc9aade769e0407c62f51acfd87248ef51a9eb4bd71a4aa435d9fe04707ac6b757c174cd25ebef2a63ec493c90add9358e064fc30a061403c198f53a387b243c41b2752fd4b8fbfe4a4ef65ccd5c3a07e7d5f11cdfab5333f0d9d5f054c9f9d2e1f94d6b99690a5bef5ad1bc279cbb3ebc5e45d7bceb8337ef27d9ca0a6f34e935c7160363182a348d955bebc598e88531d86c2f72000040004944415434ddd9e627ff70e3d2c05356fd8a091a37259f1d2f6ff1f96132fe87373a4c4f937ecf95349e1fb9ea5356cfe77e38afec0c1cac5b449b0c4adb8b70b7b5eab60eead9f484675abaf575537afffbdf1f4363fa01b7bded8defc1b2525f77dd75e6d8431ffad03bdde94ebe93fca8473d8a1fdf0af67d602f75dd9dfed171614b46ec6ef6318f79cc777ee777ba29fd999ff9190e9ff5ac67dde52e77f9cddffc4d861ffce007dd15fbfeb37bd1abaebaead77eedd70ab818d69af8577ff557bd49feaeeffaae7594873ce421975e7ae9e5975ffec8473ef2610f7b9857b89cc3f40a0f365b01b8a2e940f0edd8564ca0a95e6d61253e0f70e4e881bce133df68f2a06edcf133000fb3528a79c50d97664c02591dda0e73282b06fed3e41c6edcd103853dfa629b9d6e1ebc4ea4bcdf03bfe91e575e75c3c7fff4fdefbd263e3ff0f81fcf67c8d59b5efbc7ee276f79ab5bb95b7ed36b5f4d99d5afffa75ff8930f7ff829dff15d4ffcf6efb8f67def7df98b5ec8f3831ef6888bef7ce7cbee7af7873dfab17ff9fffde547aefb900730befccc49ab25dbb7bcfe3577baec32e0b77ee53f7de2e37ffad7befb598ffab627bdee8f7effb57ff0fb1d6fd1aa030df7d10f5fe7ab11ee5ae7d8f176f4bee27bc99d2f855ff89f7fe1da0fbcefc9cff8aea77cc777bb217fc17f7c9ec334a818dc5b3efc31dff6b4bff9b7defdf6b73eefa77fe236b7bded777edff7fbe2f44b5ff86bc7f93c8af3252ff8d56f7ad823fee6dff981dbdfe1e25ff9f97fffc91b6e685c35cd8b7ef5fffde40d1f7ffa33bf57a8af7ff5ab5ef787af427ed3c3bfe51273fd2e77f36d6d4d8743f3d7ffd6dff63481c6e194abe7ffe2f38e0ef3bb9ef5c46fff4eefc0fff44f3eca674737c7ab19e6478167f43509e18ded78db98e4739d1b39276bacd103ba56fd8af56aa651af71c6231578fc0f7f867995be9acf9957630b9407205c90831b2ecdc410289eead103c31cca8a6134732c7878f440618c3eff6b9ed3a8b3cd559ef3038fff19717235cc8c9b3e7e8d0753b1f3717da177adb1625b96c39a78b7bec655c3ce08455357580d633801f6fd9554ec7bd1e646fbede6067c7eefdb1de65ece90810be8cd6dcf60cc78e908dbcd3b257ab6877483a700346e0360bd9a643419668bd724c88f66fa0c2d34f1c43059bce6a17fcef399fffc606a161b270a327e3445984f6471165b1a38dbf1c36d7aae560d651a3c93e29f18907baecab6e49ccbb9b221284e9f97ed82cf719d573616f39936373cfc46fa7cfb5d2e5b4db59b5b77b94d12ae7aafdb9662f634fccb46e6ea7b1c1726f0cb5ef6b20f7ce003bee58b1b4dfa04f7bef7bddffce637fb7eb29b614aef4b7fe4477ec488348af7abee332995273ef189f7bad7bd802baeb8c2b54a13f6d8fe4d6f7a935d915b6287accb817cdbb77d1b0f48bd9c189712508bd96db037b4fe64baa38b378af7cc575e79a5af5273d2cf89b915d5377ee337d27468c57f14d6b1ab7898cf3c938513a447a609c0e367f48531f9c4a789871b4b1dae399a068d9cb13495f139b830c6e7aa2fb663bb1bd395385bb5e6f801c616d8688a0d5f57b670a116553801bdef26bef32d6ff6d2f29e57ddc7dbce77bdfdadbea27c8f2bae9a188e7cdd94f9b05aefe441738ecbacf6eef719cffa3b482f577ff9e7ff1f7fcc89f3eb3ef801ef877ff0d9cfb9e8b647df3ef023db37bcfa0f68aeb8cffddef1e637defa3617b91ff69b5b5d8a48e0eb3ff881bbdce39e1ffbe8473ffea71fbbea7e0fb8ee83efffc07bdff343ffe4476f717c5e90bde2252f7ac8b73c4a6af8d1ecb826579ff8f8c7bd9df2364aef1ccb683ef481f77de03dd7f8a2f21d2fb9135bf5cffedb7fed07b1fddcd75b5977c5acd437fce9c71ef3a4a7d1f0e6d0bc6e6db8473cf6f10ff8e687e22fbfdb3d3e7cddb56ff8e33f7cf8638e7e60ac7742fdbae3130129d46f7ec423bdf57dfb9bded0c11e0570d3e1145e9a0fbcef3d1ffed0077ff0d9fff4a2dbdd0e7f878b2ffeb9fff3dfe456dd2738c74ba0684efee13499c48f79e2fca835c381b11dffa3e9b3c6d7150f97cf460c2748df70f51e59eee7e04d9fe0972357d23b9f57fe3595c103909668d7a6ee7bdbb7b8b81c7f44ff6ddf15729db2a4b70f21b357d14432f4e1e21baeeb5d3cb7aded3561ab01e7f8cd75104313df7570262abe7d51def4e613599c98d18c2dff615de999effbab3d575fbe796587668eede50c19b8806e6e65c1c9660dbde8a28b5adadaac5bb32c439effb502c294ad89a6a6fd343da6d5ad155393ed28c7e7f8692c4e783028abf193ad5a21c816ce369f8507b756aae38bead8f4c6d519cf7f7e6605e7d388d91ab7bb14561d63e6f85664b60a52cddb71ebc63fac35c7a5171ecd9eab7336576d1385b799573601f321cebcea869609bddeb60b7dd0e6ad2d457ebc2c4592b96fa469cb68d6a56788998d8bb9e12bc7be8d7cc73bdef17bbee77bf849af56883705f9a10f7d88cc0b585d7c1ac5e4f4cc3ea557a93478db1a6f7ad374382274df2bbc9ffcc99ff4daf6ca2baff442d86c4f4f3923025e02b3324a61378a683bbb1b6b631299b77135ca43318d3ca41c6cb8f67019c293abf0e8370e19ea5202f59e88f39c721d0bbfea939de82732c1a19fc31856e5a12d7d82b51e32a02e5757bff5cd7e6d779f7b7fe3273f7183979322befa2d6ffef3a7fe75f7908e653cac783cd4ab39b9f2aad3fb527f7dca7f7a0df1b637bec1eb595f54bee3c59774678bf78af89e571dbd536538430c764fe83ef0eab7bde5f2bbdfe3ddef78db3dafbc37e6fa0f5d6b96fa1e2fbd11fda3cf6e3b3f71c30d6e02573f138c57c7ee90c9d866927f6f861de3f5d75e7b7b67c82577ea580476c74beeec7d6c37b717dff9d2786f7ae50476205ff3b54717a619ab77c2f914a13bd289ff431ffc80507d29ba432bd44f7ee213de00c77078ddb51f3c51f391ebae13036501f8e35efee35973fc731203241bb72b9f7e047998f8b33dd40fbf3acf765c355cf5900175f32af3b051d671617ce6e1b1cd6a3c179ede4d9ca31f7e3559c7c28f26ab55b9fac18f0060b5fa89d9e833a13cb41d570d573de4f8f9e273d5d1713861ac3e1bb76331df260057164787f1ce76f6573d51c5b322e8192560ad6ecfe6cad5de83c3b63d96f4f657e387adab55c174fd1aff6c7920d8f75773d5eb725fc2e13d57cd2b33b379752eefdb7d6a7b3943062ea09b5b93d5eab9dec17607d87ad79d1e6c5a37b3d51237778cc7f411333c87b00534dbbc8d9e1253ea2da6695a55e1f834fc0c0ff059189d5dd578de1a3a71ced718c6673170a2b7b180899393f8c8fcf0591e34f1758d9fe21c0d9e60cfd53998abd93d145b53a5cfb17965e7e1b3f314dcb9a0767f4bd9bc82ed153439a1a1a4e977b62680ed023c9b984c3415584de097b1cf7bdef3bc4df53ed66f6573d53ea3ba29bae24651fbbd6bbda2f25d654cbb1c24cc7f60f586b701f2935ddf58f68b5f6f627fe7777ee7fbbffffbbd314ecf64f4e6ff89a3105432810b63c0343bc69a1b3112c37fbdea62cec9f0879af4c956ff27fa211b4d26d5239e7181e9da28d718c2ea3c8c7234754dfce376f8c08c357ef0431e6a30e3f3cdaf7f0dab77bce54dfecbdc6ed61deffd1ffc90d1e007e776f59f551a5f27fefa5bddd25f4b8ebce52d6fe59bc90f7ec423fd06d58de284542f9fc5a6395d00de579affebefbcf8314f7eda7bdef9f66f7cc8c3906e11ff3b5fc3b9d5adb255fb21eb7ff735471e8a2d5713e7edee70479a8f5c7fddd11dfb4df301f8f7fff65f333cdad91fdfacf2dcb17cedd77dad210814a432607c62603f5d07fc6c71788199dec88aeb1cc66f746f226e0c359f67d670be495467bab13ac0713211e670f2a0194eaf39cad1d435f18f66f8c08cd5109af8210f3598d56731a71ffe5033ce81d57fbc7af5b3c690e78967a3d79cae8d728d21acce7c94a3a96be21fb7c30766acf1831ff25083597daec738fca1669c03e37f1d65e3c73caf77ae11c5df0b58d8b5a97b51821e5936df7a7f0bb767e3c7d584b26b593e5d298ac765ae3dc95cef262456ae65c3037ceefbab3527e550bde7aa54c8c369f3ea5ccbd5c4b383c30c7c763776d8779e313db773565bda6047079bc7e10ed61601a900d6c1b0ae69c29ee5e001ab244d2b02011e599755b87b4582198b261e59691d8f1fdbfc10e4734699718b7f62c0633499e41feeb878406a4e0c46c933a0d0ab57bd262bfa7c36d6aa812b640c951905d6354d78629ea348df31a6df73551ebe24b9924c9fef19e615810fc858f389c0dd46faacfd0d27c1d819e8ed1bbfba987876aeb7dd0c0698420cfbac697ee1177e81955fdefa896c5708bde909c81a081e2bd8bda8da978a7de55879c4231ee14f43b9d7cdadae4a2386c78f2f1bbfef7deff38de2673ce3193ffcc33f6c7be41ffd1abd5106f78f12f9b56d0335ca6c8f56e74cf21f39b863c9e18ad3375626e134e37962a61f32bcfad41549bffa5935e164e1d5617c7ee0cdb813e7e7e5f3491f1887351b77fc47e613eed8d3ac38fdc4e06f267df0bdeff125e1abee777fff4c8effba157ccb1b8e7e853b651d3a329ff1ea72e5f7babed9fb9ddff703dff70f7eb8ffbee3fb7ec0eb505fd3bdededefe0b7a3eefa98d3fbf351cfffc59f8366880db8d7bdefe35527436f417d4b99ff3b5c7cf4fde1477fdb931ffd84a7f89ef0431ef9adde70ba79ce904f455401f5c597dcc90b585f7e86c7f9873ef0fe4fdcf0f1bbdcfd9e6e7dc5e3963b2b402a382c33a3af571350e2d3f8d6748cd81ce3ed8fefa5537a090c3ceaf14f1267a17afb7aab5bdd78afcb8a871335b7bef56dc4f0b18f7ec422d258c0c73ff6b170ce278c3eebbaf299e0f3f2c4e903ea713218939f3483453efe579cbecc64124e13333e0f879b71474f8334d6ea27c334e164e119e5b03931a7cf67fe139fc6e7933ea03e748e99fc8c4f608d73c5e9278694c8349acaf8049421c3c7dc67f59187b962d5bdeee8f3ace996d5658549971b4d978fb077b01d8e6b10cde1fe4a9c78d7237e5cec666fe3ba16afc62b67b80eea3dbc0e76216ecf13e6c1f511a3c924fff0bebfda73d57c33094b8579d284fc8acd2bc3ede50c19b8806e6e3ddb33ede4c28205b7f099976140af354badcb7216a6072abad223018b1d5e5d7ef90920672ccc217fa3bbcf7da6881c3fc5b9da362ebe45399ff0c423e6d3c6cd8f23a2e1810c66ab991f60c6e2305c0c691234160ce447adb9e7ea9ccdd51dee708799577071f6f9b6b9b18d68ae9a0fbda7c5c378cfce619f2f0fb05e86ca3cd7d71bce957fdac7fa0efb01adbb5caf7015b79aa35f6d6137a2eea56d177cb5187ec52b5e61504d6f5fafbdf65a7e14b2f64335d535c7e7473ef2915ffff55fffd8f1fe9b39be7f6788129ebd9466a3f85bcd7c368aaf43e7677c92395e5149d4d8ce58c58faf6c6cf52a9b7137b67a6998030aa0b9d11c79392ef8045a276af2936675183ef4bfea579f94278e35fc3864d570f4c8e3306f7caf3538a0ce27bd52fc407c1a1edefec6a37f01e8aa6fb8ffb77fcff7f9a1acdadf379244bf47f5a5df646aca6c6750643ed334967f7ae7ce975d7ef19d8e6eed2a17dfe94e477f1dcabf0c74e5bdbd197ad5cb7fc724f1b797fef0bfbcecd2cbef7ae4b74ffc939f9cdbb90c89affa8607fcee6fbed017987daf98ff7b5c7125d29f5376d8c4aff8ed17f9e6b317a4e9f9298663974715e78f7cdc13fc7ef80f5efe3b39ff930f5fffdbcfff6537f0febeb11be65bddfa36be396c2db5c17fe54b5fe4cdadef4277987c6e8e37ff8d55fdfb2f7ba9fb64f8bdef7ae735ef7cfbfdbfe9216372f77b5d21d43f7ce5cbdd9c1dfdd9e4df7e91bb5ff1100bd20f9bc5d3e11c6a7cdbd917c27fefa52f76be7b1620305fae1ecf1d5d4dae8a44131fd910f1c57c063e6f6afaf159333f87b6c3eb528a0188572ba78dab8b7e8603948d6d9a232fc7853e81d61cef8af58e93637f9f9da86b736c57fdea87f8c4b186cf9b9ad5c45c333fa7c589af14037c36e3a699e11a7d63bbfa81ad9c0988e1b135ee60204d7b06730ce387242e31eaa32977d377cd9ca72e437875e6ae5f465190ae59c435e104f1966ea0c21b73321acce8d7eb6064e3e2e9d5f47878e271443ce00f6df3bfefaff65c1dce8d2febbc6aeaeef56919b880be966ca9f26518cff92ca356221999b968e51aac8bd2423675b94b30b5fd313f347af9ec3721e3936cf5c067e322e32901e3c6af4334aefb043e9d1b5c192bcf4ce21b778603e281fcf3ccb67163c616dfb8c4e9d93a9615f33f3103ba3a7060cfd5399e2be17d41f36a3e77b785669acd87bd828fbbcfdd9bd8be30ccad7942ac10d87ca81387bd44d585f1779b8e5547d53def794f8cfd8d59973e0dd2af647fe3377ec31f70fae7fffc9f3ff399cf7cc10b5ee05ff411b9bf41e59ff921c8c98c92e1d48071bdb3f58f09fdf44fffb4e92d78ff0ed0377dd337b11dabfca8dd3ffb3bc92f7ce10b67146f8939d99489eac77eecc7f89f1de11a4ffc3080e1f819fd8c8e84f1c38c46d77818cd897abdcae8579cbe00d67ac4430ed0b5c63f3cb72b2ee6a3816fda8f02b90d6c8698e3e244d1ab50ae636174659effb71cff9de47bdfffe8cf7729bafcb9a3bbdcfd1e5ee7fa13caf7bacffde2d5e313ce367db85edf467ef0231e95490c87f77dc083fee015bfeb0bc6ee9c5ff2825f7edd1fbdca4cf077a41eec6f411d07e33ed35f217edb9b5eff8fffa7ffb981f2799ffb3ff005affff9fe111d4af7b1dffeb7fef66f3fff575ef3fbbf07dfed9ef77aec539e9687f4c652665caeaebcdffdddb1fb477ddc43dee2eb6ff999cffcf9373ce8c18f7bcad369c4f01ddffb775ffcfc5ffe997ff5bf517ab3fa1ddffbfdbe97c943314c0df0df3c5cc97b7fc3039ef7533f8151fc33457e1edcd79535dd276d427dcc939fca333fee9f3bd81ff9b1ff65a371386c0df4379ef5775ff46bbff4d3ffea5f30f1f56c3f0ceeb836b14596818eba38c3c38f6dcc69b9aaf7e8606efaac47bf9f83e55066e623087cb572e513693d17c0e03ed9e6007e537c9a311d0b2bcb758b76c7d2cd6ab7bbea7aed43f4aefbab042e4fbe74d34e493dfb3a0e158cb1802fe83ac827937d7fd5c7d47eaf0c97139f38d2e742b0e7eaabbe6f6f17da87b5d72766e0c68bf1897d5f0c396b5960ad2d7f3c63a660565c537d589c6048f50aac7791405d6b5d9737483ffaa33fda8aa9d7aa57dd3a281eeb9a1ad9795b6f194863af9f154178d6d0644c001ab5ae34e19cc3e376f5b96a0a0073188f71e3574d7ee21b748dbfe1d4040596edc46f94346b3c30be7a3c304f73626c39d7b5fad98c3586802ef59e2b49f872cc2b5be7c9ad8fd2c9d56761b8d644674af32440d04cf0ddb0343e4764d859c31ba5579a575c71459f9dae4da16f9b12a876f691e115d89ea6fa5043667403095e2f659a4659fde0ebca278190c466bb23990da766723cece7dc76e2fb6931e5ea33bd4181fc036bb37874c5af9afcc437a8de891f164686c0f82f36fa51aef1c4afbdf94973626c39d7b5fa6195a1def80eaa30d459e92a9ecc57cd08124f334dfe75ad4d78e557bcc6dfa07ad3f30c574f60d92215fa51e667e5d7defca4d9c4e6a5e5d1effd8effbe9aaed5cf66ac310474a90da7f6cfc01efd239dc77f26aa41914a8302abcf9a7fee4f367fe213be8adcb86baefee2331e27fd37fd05e64dded6f861a31b8286b79ffa97ffe2eff9cbcf17ddf6539ffce445b7bdadbbd9022886c9956185daebe5d372b56a3899d878bec5d7df827947bd392e03ad638d6161a8b32aecc1394f3364e2694e00fceb5a9bf0f1b0fb39f8396bda9a93728bf90ae7ca883ec1b51649c104fa7c63acf0575f7d75bf46c177bf6441c65bc95d68c2ed25fae50859d71d1a4e98d0748d6b53d7283409d67d882e4d17388060f651d3ecda37fcaac90f250d6cd07d7fb5e667c57bae9a275f9979e53479ee739ffbc0073ed059e064576f8a1301a32b104e935e7d589c68914045f32678f47f47875187d77a48e05c2847515e20c5f3276b53070bfb985bad30f14e54cf63261b3473bab6bf9f265b32eb1d1e59616be1e344c1c3f169e8f134c86cd5ada798f1838413abe95b7961459c99c3f898f478bde9619ec54f6050180f68362240c3c3e401a3e84d86df73751ee7cadf225ee795edfe3aaf2c583efd0edfecb238ba75a4c7d8becc9e7b839b42ed6f662fce95a26be5539a69ba52626043186bfc2369a6391e32cfad7516ef7cf43793b3d55c0b7305a366081cdddb1c9fbfadd118fc684696b8ae468195620ecf2a3f4eeac5e7b0b349af12c310ce1c433979883cd61e09e22347d35157e73341fa828775ad71a6ef2868a634d6d4f1e33680e4b023c5c098b52b72ba1a854c5963c8036694f5e273f895c9953fb3642360ac8e4b90e259e384911d05cd14b28a77b0ee51e331404e62b28d512369fc5b4477bcd39ddd11c36b975178f3a54ce41ac3e7cd15bde240fc59e31e0c6be61c30280f8ef196b73a3ad823e9716f82e652e4683aea6a321e24ca1d3cd917932baef2561ed44502843b521a3c66c4c9a6d645990cf905e54afcf9c9794ec6559ecb49218d18880706d31ce62a419ad5c91a67561d05cd1491ac251e037018089f23b9128c6311985a2948753c809ce01354a74980f19da09ea56200abb76b50cad95fe191157b181b7a9f88e2aae462140f039ce069c22e25982e61983475c189d5ed9718c2cabebfda7375339a574ddabd3e2d03376e354eebfe2bf3d6be6c036b3d0b1fb282b9091eade935039bda328451afc09217396b5f82eaba7a730b9bbb2d7c7a455833ac69556d0584c956cd861f3f78caa933542bcc5ba6575bd81a3afc196c27b6a25ac3c6ac31c313cf1a736154176121a5c7778c05a33947117fa2cffc131755ced3c399acc7db5805bffa4f13cfb0c080d516de7325455f68aefa1bc8acc676bec4e21ce93302fa04eb927fe72006df676a2f85b4bde833c27be4e197ab6404d581d9bb0cbf32a36182cf30c138199ef80bc2e327abb18d9fa127b0d5ffd9d88e7efc8fab196b3481114c13a84c060e6d0b86ec5053d79e2bc9296f1778aefc8cf605fff1794f7fe6b36e73d167ff699fc9cc669e5ce0b96ace74f6551f9e5ffbbc5ae7ccd9e4ea340dbef48e60d34ce02af3ce77bef3d24b2fb51fc3b81ef51de3e6aacb4dfbb4ded9ba8ad58befbe1448e9f2e4969887ae8f409a7dcf200f5fe89e61760b27dab66768939652b635d53ecdc0e0c4239826a69287bca909f0c68d5935a31c278d55334cdf4e26c3fcc0697858f9f193e7a96918a69c30565bf89c9a57f663fb9bdb3eafd3ea0be8cdad296b665b1f01c5f9e0b99dbc348361bd7833784dd63cdb33f55b5bf5e68761faf53de768f4e69f265b9e3b4386c7645b0c139ba621d21761383ea6f8c986c41b0b937fbc26ff802e0556a73196a874f18347c2c5b36af0ca9eabf32657d6c4e692fd419fb89900983631b60bdeeb6ae2239b0f0cf134f62b8afd875a97d21e0538eef9ec1d6c3c92d568921d99dd74af02a41987f4c7fd9fd5c434fa74359c66fec76afc8c208d661e563f639bd56a7ba255828d9fb15a6383e337b9629b4ceff8d973b5e76a33df66fe345b66cef80ef3337fe087dcd9eef36acea0d37235fc9eab2f61ae64f5c4f5ca104a1375d584ebb2e229986ad714f7aef6186a579ce3cea3bff8d03b5bbc2fdab4474a9f86b96bd6eca3f6fd956cc855fb37b5fc287215d873551edad59c37b9eaa0f6fab40c5c406f6e9ff39ce7d8a05b07bb5b9b8c98eb70772f80a5c1bd1cb0f2ad1778b6ba9c24f909ac6238ffd59c8c2d3ca34f6fe3ae350f9af91c5ef334065fcc7c8a27dcb8131e4d2306e23bc0b1d5154fb9e2b2815132292acd6c373c12b3e7eaab9b2bef630530f307b6b7987935bd6d38f41e32ba7c94bdbf3531dcf4fa2299bff6d4f4b0d5c8d6673d05337c7b91bae20ff16a081fda3644fcea90787cae2027e3363082d56a34f56e6abd0db7f2abb78dcfd103d375689b878d9fd57635dfe0ac22d57bae36f999b44fa2f65cada7cc9a9f154fba90f03eaf9a3693ba3d57cd90f23093649d366799ab317129f157005d8c1876857207ab17dfc565f669015ddda76542d3ee82de956bf61b70f7c9f5aa31f95f6bde34d56bafe6690cbe7d8e715d07c38ddb7ee9d874df5fddb839dc73f595995726fffee6b653efb4fa027a73dbc264e6c945ef30010b9675b3f551136e4d4c66116cb5f58c90f9e0f498d65c3c066605e3f94f8fcf96737878cd3907e287193f46a76f5de6b6981b0b067868dc56f3357e56c6d59b8c9e864013af17ceb638d5a38715bd25a171b3151b1e56e03d57e76caefaa4faec9a69ebbcf26f096ee69527f13e597aa079e5d9b9cf57d31604b698aae1f637d5f5361f06a719d9f018653ce03354c7d7846302f4f1f4319a1b9f090ec71d0f634b33b851b28a5f99d5364de3ce58fcacfaf898e1d738d3271b3ecf8da51e1e560ec71dcff9a18909d08fff18cd8dcf0487e38e07fa43dc2859a9695666d5a769dc196ba38fcf43753ed535d32783e3f3dc58eae161a55e26ab6d7c7ee09c07f2993e261c8f19f270dcbaf0c63ac48d92559a9559f5691a57ad1ceae3d519aad3a823d7e39d9ce4794c86c728f5325f6de31b0ece79a0b1d2c7842786210fc71d0fc63ac48d9295ba78c8563ff1318dab560ef5f1ea06cacf7aecebf10ebf8ec5647858391c37fff886a389090ccf4f8cde8dcf0c0fc71d0f634b33b851b28a5f99d5364de3ce58fcacfaf898e1d738d3271b3ecf8da51e1e560ec71dcfba06537629710dca83bd87fb589b131aef72db63605cb330780cacc0aeb9ae53ea78b63059ef78e335bbea752d3bed3a88df5c07f38907b235e8bebf92a53d57a6c43935af04b3973364e084d72f67509f7d97f52b7160ad5b343153302baea93e2ca61752bd028b6064eb63bd53d7357f2d595416caeeca9cb164b372e98a27b044eac558e0d42981f856bd300fc0f8a451c673cd9c0c3ffa19bd1886a76c8889073318d05cc7cd0f325e3d9ac1c07a2c0433baae39960c473cc73547c44aaf42b9e601b3fad7cce7aa59634e4c369e6165c34f4e26da221f3e938913c04c6c1dce3a6e7e8e463acea17a348381f5581ab15ad7cd25574e87629e5c39cbfa38f07e973bb90a2309ca955bd96cfb2b268e9a37ff9cec15c77f2d990cd37e05986600330533b2c8116b1ef68ea67dd26c89f0e327abb55e5de57fd58fcfc0f81c87f1231b7ec21b40b3e2c3e6eaea445c7833c4aad978ceb9fa6c021edb8dfff8b5ceedf82c804d3c3939cba1f3d010abf30d3e6c667886ba3036b1a59fe1c67c151ff6ae56d3bb9a10c4aff590819c6ce2c989ae49e94690556e37f84472a3a9f979ebc2f8bc438f73e06c029e0837fee3d79ac38d788668d004e1b3193ae5ea738e6ec88da6e6e7ad99d38cb755bff1ac6b151ff6661b3fbdab491e8c75a89924e464134f4e748d6c235887dee08904bfe2c3668667a80be3f30e9d878d9855a3c7d3c4b8b8bce31defb8ecb2cb34bbcef6c695c055c67e00e94eb5ebacfddb5cbfdc6736100dde15aa664e786b2f31fa7dcf203ffbfe4a129a4b6d7ec2eb9eb0f973f3ca9533657f73dbe97f5a7d01bdb935839de7d64793bbd9ec5954583dcfff687a873929730f901e8f3cc4adb9ce16caf0f80794787567d4e88d3b3158a9273626ab9f62cb0fcc09cc364d71f203e4bf38610c4c1c1e9f8ddbdd4b9a62c3f093ff3d5732539ee5e4fcc895093073c056e0705ee96d5ee95564c03b5ec094b098fa9bc9180563bf52d104a6b6e7c810b3c16936b63437793a7a0f902b9ad5966156f9cccf0667b82a63c67f1ed4998f1e18cd74212b31ead114dbaa842b3401b68331d94e1790f38da6d8d2a729e689243f630b9015cfd8c6d495ff431cb32a4703288d9bcf1862059e186ad63b1a003f9a625b9570a5d8e07cde44efb9ba716e94c93d57e5619f57331f8039bf3a7d305362d4a3f98a9d8306f524542440a5733c66f8e2b1df687951bb8f759d05bcb365186e0f0363ba66f1d63e6a18d7650225be3dccec8b5cb3dae7a869f6fdd571aaf65c7d760fdfbc324f665e4991d97573995742ddcb19327001bdb97df6b39f6d0175cf261d26b4c50e309b31359bd926fadcc95816f5aefc98ac4e602557006fc7c48def0fc38d92c398d18f4921d51b490f144381c517a17a8dcdb8a30f8f09d9e0ba269efc23c72726b734335c645687e3eadd73750ee6ca1da9a87c5eea8a4dc63a4fe69dad5ee2e6803dcaccabf9cd2d01f1ddef7e77b2f62598b62c3507affb18586ff5a17e0c47b3b165a2d43b18581de6a4de951ffda1cf31197d3ed5d3350e377e126438f546939f755c4ccd313fd48cb78d26db218151ea52624ec4c8c42b48b9f227da12e01b7763bee91a871b3f5f4ccc33f48c158887270f98d184bf9871575bde2a0d076f62a8b748e06c93ad78edcae4d0cf3a6ec31d6af2b3f28d35feeb9a78461f3343acfa2147b3fa3f0d37ee6a8ba930193e26cf1b9c0639fab07aba32398c61fce7b93af119f0c67f6e0ff5e3f350af2b723487b1116c7c8ec90ae0b579663f8dbbeac3eae98295433f09f045559df80c785c8d39e6501fb3d1643be4688a4dd355e69a6baeb9e31def387b06e4ec4fdc72b4f170373b572e0297a4d990681a456fd729b877bf39d454460fbbe4a9c7db51f74d6f02006e892780752f94ffbad6eb66784c36e685b1d11b3dcf46cced1c4e8121316936e332995cc1ebb81b277a955c01bc1d139f93ab46d97355666ea6b97236fdc44ffcc4feefdcf6219e585f406f6ee7398d13de7341b522299ed338cfc334b362d258054c7d4b099e8658133e363dba1b649ba13aff0478b62d584cf03c003cc004335640177d3160f8c4003c8c4f1e08d8ea5268f25f6c98c61dfdb1ea68c4baf0e3df58ac7285ef18934d9d1f3128f401bd7baecadb5a9fcbb9f22c7c3ef7e6553b866276147dfbabc3b163685e01f8346adf220bfba19439a0b44d51af6070024e36ccc6502447f6c7775026d8f4e2c7768369928d2d25db9ca8f109f0d91e5b1cbdc708a8c776f0aa390ae8f8fe1f09e4279c0c1930aedef066dc553f56a3e161b05e989fdcaef568d2ab15fa3d57e561adf75c1d4d8e7d5e9d72ceeee760ebc69764bd32cd4e5caff046399a854bc1746ece47908607fb0a7b0f5796ae35ae53484dc512c7ca0ec7f5a865568d67eb52e57ac476dd5ff1a08b071a8256c8fc342efde63a48b3efaff65cadf3ca7cd8ccab737cdfdedcdeebd33270e3a6eab4eebf326f7dcb36b0d6eb46a465101350c335039bda5cc4a857e055522450d75ad7b5fee6d6922a36277673d79ca6c758fe74ad98a67bbf6a9ab10d60e819ae5ddce6539d87d567266abdea299b78f8cc0f3e4d2372358639af77f8e2c9b6ae5536e289b9dea909e61857bce74a5a264be1353f2b3ea772b5feb676e6c6bc9b2d6ce7ddcc1f7826ccca135c7ffdf5575d7515c04ad13bbba56102ed7ed61a9f98d506d78c3f119fe627874c56db69ae56615d4a566b18f1ead5cf6938d93af4215e6d738e19d930017cbd53e313e767c575c59f88576fab9f9c6056db69ae56615d4a566b18f1ead5cf6938d93af4215e6d738e19d930017cbd53e313e767c575c59f88576fab9f9c6056db69ae56615d4a566b18f1ead5cf6938d93af4215e6d738e19d930017cbd53e313e767c575c59f88576fab9f9c6056db69ae56615d4a566b18f1ead5cf6938d93af4215e6d738e19d930017cbd53e313e767c575c59f88576fab9f9c6056db69ae56615d4a566b18f1ead5cf6938d93af4215e6d738e19d930017cbd53e313e767f0a187181b98abafbefaf2cb2f5fafa7ddbbb6f780033cdbbfcd5e4553577b9b2e5879a0d145965557a8d926e95228d7ebf2bebfda73b5ceaba68739b3ceab26d2b939afecebf637b79ddaa7d547ff04f605524cdfde5335659ddbad8c4d6bcf6c2ebae8225da6b205b47f1945663c3bc4a78459d15825619ad659b6b7bffdedf1ada79d33d9e257ff303eff64ccb38d2f06027ee0221c0dde10335671ea1d3fe264982d9e3eb7b38ae59f409742c3a1de8e058e07f2a98e2c92359e3d5737975cd94f7cde796573b0ce2b6f68675e79f77b9bdbdce6785a1dfdb9a977bdeb5d2695090c9bff926086d0dcfad6b7a6813d60f2641dafe99f0ee2471389094c9da673418db75efb76199ebe19082b301e69c48ea569d97d3b43630d0ff3c60aafa6315757ff0533fe1b37cd8cc5099ccfb1a5411a3a9f1decc436f18fad982798c955c788dfe4ca587baefae0f65c35ff9bf3fbbc5acfdffd1c3c67d72b0b9ad84c5db575b2a5cfb9ec6a82f1f71a5c23f00416ba3bdce10e6d4eec3d6e7bdbdb3af1db8798f3fc10b427b161e3c7dad8fe2acf965c7e141a3c5bfad6ea7c628cdb0a9f6d7c1a86f95cf733fce00d3d6331cff3f831f718666b44fadcf233b66934151a0e3b2ef1c0f1403ed59145b2c6c34fb28e65728587f3a9a6995c01c556ae60c319a241cb155bb23d57e747aefa64f7fab40c1c3d843badef8be1c76d60ad7bcc86998259714df561713223d52bb05c460275ad755ddedcfa776e5b1c5b299adf9ded2d046147adc98375c1f2a1993eaca96b3481341c4e13580b133e573feb58f0385f7131f0a3377e7a73d810c8d104d4d9aec7d8e1c4afc795091e508a3343cd9caf7ef65cdd1c73e59e6ae65873c087eb8abb9957cea03e5fbd4cd4cdbdc4a610bd6d8af9d0bb5f271493aedc01cae64c266bae5ca7e9f30f13d4dcf09da4646cc7677a03b152729b46737c8eedb1ea732a2664ab9fc6cd1c1ee72b2e061abdf1d39bc3c6408e26a0ce763dc6c35c6598093da01467869a69563f87c7db581dc20473ec6ccfd5d1264f4e666eecb99af92333fbbcdacfc1d68d2fd57ad5af570ee75577b9a69c6b4a33d0adac66d70b64ef755b06990752d2f4dde39aac2a63821f3fba601729207eae7df8c1fc77ef87899f5e5d3310929f340175b6ebbe68df5f49cb9eab991b4d952fdfbc72c7b4bfb995e433940be8cdade7559e11b606798e2529e14e486b99a58a66f6b8044dcdf859c8ca267d2b63f5ac7d2da634ada139d7c4631a57339f3d8783f1c605743528a0b8eef61c0ece959aac4191004dcff98a2141e1e905c80e9f47c68f6d9a8e7d62633e31878b816d9a3d5737975cd904f8ec9a933eebd3e695bb2fbd8a8fdb5e649d574c1ceced6e773b3541930d79a73bddc9959eb8b9646e18287cece968eecddc86f9e4dc5f13f10f0b357f7a8acf2d5bae563d6563c5b3cd7f9e8b21ac9eb701c377bc4ddafca83bd700abc1c4132eceacaa1bb77370e5452bb6520148afd8d6183a9c8666584e2eb9e4120ee93f6faed6d81cd7c4bce7aa3c4bf5cc933d57fbbcdacfc1afc07ae586f32cd7f659afacf34c366bfbfc445697b0f5faee4f2f69314e6dcba9b17ca670b5dbe0ba66fd67d8458d46c1638c5b93cfd6f6462f1ea4de064d661ddef7577bae9a3f4db0cea370fcb939af7c9fae39bcd7a765e06b7efcc77ffcb4be2f13ef91c3c6f3caf40a97207036b577b3c9061c5af9b9e0939ef424bc45b05dbb7dbc59db4a87d1b4bc62ac9885a789b4c8a657eb621e0f1b8ebefb01cd0dcff3aac9d5e81bcbeb2f1ac3f50d34cef3996deb75bb619a62435aee61b60e273f1d17a52687341d5783aadb113209d33b1c3ef1d9eaca3fe76218be6367a577cfd5f9972bb3c5dc6bceacf3ca05cf27ee78cd7ff34173e615bd998659e715a639d36932f3e7ccf38a156f76186a864de0e6b6e114f3b9b19a876a0e4def78586cc543acb9e1795e35b9e21fc87963d168fad61c9ef37c66ebf069300e96c658c4349a61293228cde44a938661c7d5a06a3929c830fd9a2b7a56c5c3b91127871d3b2b23eeb92acf7baef679b59f83e6c05778bd3ac39ec13326e7a678d6f56add337874d8fac689629df409ba8ea46f31b40cc65b2aad81f48e1156363ccf168134fc28add540ce1b8ba1a695135faef06cf19af9effe198e5caf8306c5775c22d14cd37135a8da5a6d14f1845bdb31b386b75eb1ddf7577bae4c8f2f7e5e99f9bffffbbf7fe9a5979a5ae695fac4b2760d0ea8ff0ac5ac6675623d24702e940be8af254bb795c5f33cc0da34b5350bb66b44c6a7898f19de8288b722af7ed8cefa886ff5a441aae931f9cf6743e7934681f3a986e9f901e8f5b265a2c0f9cf8fe638f46c729a7031a8e162a0ccb33a9f7a918e88a6b16063e1672c40d7d40dd7b1c49787f85589df73256fe74eaefa644f9c572ec99b7965e96c096b5ed5f46fdeaef3ca028d5778b67bf0e96fe615bd2e02db0e7b171a3e8de5393da06b6a1a9806199f263e6678def0465ffdb0e59913a3e0d5f434c8e2c4e43f9f0d9d4f1a253d5b7a383f00bd5eb64c1438fff9d11c878e779a7031a8e162a0ccb33a9f7a918e68cf5599d973b5cfabfd1c3407ac0c37aff5ea70cfe08cb660369f1d8b0b8442e65a337c8c1ae373dfec1978e81aeaca02b8fa749da2b7a222f7fd55fb46c929933276982b9a3d57f6a8e759ae7ce87b3943062ea0dfdcfee88ffea833bfddb98c98e856d256847069ea7e6f4d194dabc3a1ed187677c72a9fab1e8ea7997567c5fcf3dcb8c5433f630d1e3fab466f43775558fdeb52e2d535b32dec0c99cce8c530ca8921fd6a9b66d58f15713e573d9c13b2c605f65c7de573e5f1799f8bfcf7f98aa1cfa21fd9c6abfb987c466ec30ee795c784eba7bf7ed6193607d81ecec07d5e496fa7c39aabf2b9c9ea9eab3d579d4187e7e0e199b5e76acf9539a06cd6f675cdd7dbb2f325cc955b536e8d72e6f58a6c5ddf8e023d7efe7be275d06ead4592a68001311ba53bdbcd31d2ace7c8e0a26adc350f1b3cd7c1959fa1bf84b9e25329aac6ea30579ce630573427e62a5e900c37b95af5738c7bae6eeeb9f2b468ffcd6da7c969f505f4e6b6f79925a2e75bce70eb231c698150ac896acc71ebe8dd290dd2ba30fa563abce788293170274c3c3d0fea34332ed0cad2da1d3f23d6e481062eb67ac590fff8d1f0af8b5e6f3ed3376e7cef66f1ac1aa2186862d8d2e8c293edb93a5f73d573f413e7959d8715f3705ef5ded57e629d57fcccfb46de4e9b576978a627eb7da6a662acde73f68e229246c1ab31c7ada377a734c8de7fa6e739def3fe941858ad4933ef7f58a56908e3026c3984f5c6cf883579a081d3d7cb24fff1a3e15f17bdde7ca66fdcf8decde259354431d0c4b0a5d18527db73b5e76a9f57ce85fd1c6c4d3897d7abd3f60c56b6d64f87e074269bfd95a6e2f375edd8ecafac84f1ed6158d99fc06a7ef884f7fd95bc49a09cd8b3c187b9b29d8bdf7375bee6aacdfc5e9f98810bebcdad15b3b5402d1d164da7fd30dd07465a6d9d0f3491e54e17804702e324263f2907a719cf1b9ff875a01533345cfa7caad3038dd825a121d6d8c6cf90791887ab9f34e52141d1ae35735d7baecea75cf9e147b342bdce87b0edc519e6d5fc21e533cf2b43ecf3aa39332772a7d826e7e7d3bc9a49b539c6e655f341d7a425befc0c99933d57673807f75c9924fb7570aef5cea3afee9ec125a318aa3bc70ff70ceec7909bb0e77c77efda678a99c91fa369ff961236ca6836c73e0100eb402bfeeae6aaf8a776204ee7c35c456ec22e0373faaf79404eaee24bd1aa81d763af4906ac03ad78d537fae881fd1cfcaae4ca1e6c7f733bb3f1447001bdb99db3dab9dac9699d352fad0853d3e8f20ccc198b576024a0a6c713f0d073b272ea3d270ff9c7b71660c6169e77a1649a0cf99c48600cff8d55afc54e539977aa69f0d9d2f340b0f29ce33178d1e6b366183f1a7c05c367478da1e9282642b669a66e5cc7b8e7eae6982b1b8533ccab9e9d9b093ef7e6dbcc199f7bcfe379b017d13c6d5ee9f5b6412fbd5a9309cfb0baa6e7fa69a6ce6def3329151809a8e97963cb031ea878cfc943fef18d82195b78de85926932e473228131fc3756bdbd2bc6cc3bd534f86ce979205879cef118fc9a2bcdfc03a321ab60f8dc735532f75cedf3ca79e18cd8cfc1968bb271ceae5767d833b4b2a91d886bca897b86cef733ecaf085c67f7fd957d5ad7dc33e4aacf62cfd5799fab76ef7b7d62062ea037b7cf7ef6b36d1ccb423772b055c0ae1d98fbba9e9f25688d1859ab491e86cc3665566a4ef0d6627c40ad341c3fab1e9fc9e831f0caaf38dbf1b0192b5b0e01a5b11c63c1cf40bad20c0f60aa333cb23f96a52978cc68f65cad39bc39e6cacbd59912679857bde635273bdee640f3a1b9314e4a02fdf0cd969933f137c75c157373fe0cb92253ce3e57c47baece725eedb9dae7d52c35fb39386bd1d18a736eec19dc818bc467d49ad6350233ebff66cfe05e5def7a29d1acacb6ddd9e6b60940e35ca009ac26c6c277a6ccd27a0ee6aa98cf3e578e88c9e7cdd57aec7bae66eb5bb62781c0669edcbc72e58fa7fccb7ff92f1ff8c0079a15fe008a7a539c59185d81709af4eac3e2fc8d042a9a37c1a3ffcb1b461d5eeb218173a15c406f6e3d036e293489a55e1dc0d7b4fcc14e8664de6b990ac93c03d34ba60b1fa9992dc02a6fd59b6766040a5b7c98677ec627723cd0c0c9f25f3c185629e79d1b0ff9342eab6ce99db76c5bd9598d1fcce83b5ee2f4451ea6078c350715c80f9cad1193edb9ba99e6ea68b93afe4711ce3cafbcffecb9fb59ceab793fb9be875cdf619a48c655077acf097b4b03371681f7a596e663d5d1fb5bbd481b1d7ca466b640ef07807c6ededfe215b6f830cffc8c4fe478e87893e59fe158a59c77b93ce4d3b83c644bdff1aae98d357e30a3ef7889d31779981e601ba90ee407ce76cfd53eaf4c92e6cc3eaf9c17fb39d87c502b561eb59c7c65d6abb3bc0e0a493c62b39750ec49662fb4d95f1d1dc3f1bfa04336cee9db9bb5e7c12bb622ed6de07d7f2509656ccf55736333af908af973f39d571dc25e9f96810be8cd6d7f2dd91ada2da28c580dc380598eb1778f34e3e1e6fdca4f1ec960e681c131b965de70f95c3dafb8b17818fd8c1259b378ba06f0bfc69687d56726f153238b07b3c983ae229787d3341d9451f65c9d97b9f2baf50b9a577ef531e7c86973669f5773f6edb96a512a0fea7dbd3237d69c38893a5f36fc9e2b69d9e464cf9559515a5a7b9b48d5e766aedca36e66f21a67abc11c85267dd7d9c8f0d448e61d7bb6eb7ab262b29b5dae1cdd17942bfa3d5732d0677de679757ee4ca6e6d7f73eba33c43b980dedc96859eed35fbe140776b16ca9a9ef15859e0d644bcb592060f54d866c5edf8ecec5223997b8a3c2b0e5b7a246f709a706331a157f3afa6299889a166e3a6494f4c333eb31d3f59692ac5337e30fc68f259e4698ea4c7658e4b0bce70cfd5f99aabde01faaccf725e1d3d513f2ede257a06cf4aab39b3cf2be7a34c769eeee7e0be5e754e95877d6d7746ecd741eb833c7435693fa0d9357ae6c9cd74cfd0b5c0f70802ae2c2e0d3ef15642f3bf3dcfec6d1caf23c5038aaf21b06da7d1dee33cce5539d9f7573e77a99087f3757f653e3b4633b96b01f045eedb79d8cb193270c1bdb96d3d7516596ae72c92a0f8265f3c864c1d49d31568b239e298f1a909abc7a7691d1e3e90861f9eabb32db68d1f26e3509732f1a7e7c140735c459ee7ae1313c3004e467fecf2c698e1190e385133879fb23ab2d872583de29ae3531356cfa1edb93a4772e5d1e03eaf36f3b3498e5ce7791378cfd59eabd6b1e643d83cd9d7f67d6d37192ae7c8da2e987370bdf284f4a63c1dfd7fcf9524b4c7730675e959af3b7bae6460d6960b2d574e96e73ef7b9fb6f6ed7b360832fa037b79e0b5ad0ad0e9609cf4ebadfc3c06a79c147d260d277ce789e549766cf17dbc1f4bc8d5e99e731e1198be1f8a7e96cc40cb67ef1d907932d93fca739f27e937f3cbd710b58ddb8050faf71ae9ac64dcf1b7d31ac9ab0de3d5752a1c8e7059bab7edbb9cfabfd1c7422ecebd5f17a70b4e1361f64a365615fdbad0f32b35f07cd07b362df33745ecc3ea475436d927429010e73e53dadb7bb9d62fbfeeaccb9daf7a2f27396f3eafcce55e7cb5e9f96810bf1cdad45b627619232b77c48274ccfc9f061a08b379915d95666f49a7ae9d570603c6ff4e384782dab1e5f33c1ea33864f82c3c0f416dbc40f200b0918b780667e8070039da849397a20ab092387872115cfe83519eeb992849b7baefa5dee4c833ee27d5e49c87e0ece1ad8f468dd389cf07bae5a72e5a11307d8735506663d093455f679250f53cc99f32057fe18defab13aa27dcf3073de47dcb2d9fa70b884eeb9da73e561d0fee67656c513c105f4e6b69562de914a87e78b6abc32cf1ad734594446e3ce16c664e29990d599a166cfad33c4588ce2c7b65391ada2ab679330e5c4a399ff6ce7052cb7f8567ffac66a94fc372e5c3c9434480ed5e33fd926361a03ad9ac62a860dcf035ea159c3cb73f1a7d97375bee6ca4fa7fa13befdedcd3e7af53eaf24613f079b0fad2116847dbd2a21ad8d6a8b27665d3cf75c354fe65ab3e7ca0c314fceb33d83ef01f5cbdbe3bfd270f40f8a287dd680e3ddf70ce561df5f1dcd8ce3d2dad89a39eb831ebc1aafc0eb729ae10532af3ad8bd3e2d0317d09bdbe73ce73916567780a6bef3a18b87bc68f610311e33d795e1b3aa26c8dca94539f56a082bf4d39bd26e6f7878fc2035d3affc8a690a8ccfc180b0d527da221374fe334f3c87bf1e3b71cd34f984479cab439f1b7ee3678e71cf551fdf19727e9ee5ca6bde9951cd0a534509eff3eaf3ce873d57ad453355ce70eeecb9da73d51c707d5caf9b5d5875c98f8904ecd7c1a68a75f84b982b9babfd1cdccfc1fd1cdc9c532d38ea2fedbedd3f36bbffb564593d43b980dedccefb4c6bba8c58866625029a793d2baa977e049e1b7525707554e6ead8f324325750b6a367db0e1e3f1a6ef1ccd3170f32dbe1f3df1992063622ff00db30c39a1b9fbcadb685d471e145454f83d79c1878eb1801259e66cfd59e2b1968ce7ca1f3aa87f4fd7b86e1fe1d4eef7efd39040ca0001eea036629ec197fff362c867e04f9a1215668eaea1d323cff666c0ed91a257e34bafa7d577cf120d77f3316cebfb1e03470ff9e2ac036ccb0e6c627abd5969eb2e3c28b8a9e06af3931d0ecb9da73d56fddf779b59f839d0b9bb5c52aa1583d7a174a039f0bb9daf70cfbfeca1c987dec5f6dcfd0fe73df8b9efdbebd8cedf561062ea037b7fd3bb7a5c0fda19568c5989a7347a7093b576deebbb35df5707cb3507334ab7ed574d79a7eee601936f41a4fe3d6153f7e18c6d318b11a9349ae604cf164a8b9fa4f9f66c491591de647af12df289a337a78cfd561def65ccd3c31030ff3a35789df7325159d537baef6f56a5657a0eb45d343bdafedfb75d03458cf91260972d6d87dcf507ebaacecb99af96092b49e983383f75c959ff270eee7caf3acfd37b766ef19ca05f4e6b659eb89b8890bcf4e5a766280cef6deb5a647b69300d8aac78f05220c28ba141a78a339ee3f7adf1bef99d6e0acf06280d56230229c06d3b85dbd26063ed738f349a3ccf3331e60ae9070631d4b8e34735c30520c1b9fc62a33635b841d0513cd3506cdf1397122e1c949a9406ef8d124e8d869c436f8d8e828ff7baecae79eabf26062948a66c8cc25cdc17baef65c990ffb7ad5eaedbcd8d77697b0fd3a38fb01eb03ec6a2b27ce94702bea68e6fabeef19f65c59434c8fc37d637bb69933fbbc92812f47ae3a37f7fab40c5c586f6e7d87c7eaecac33db5cda5ba9ade618b813353ec679db9d1592c97a97155eeb0c7332fc781e7e3c8f4f8cde025831724a77746990236ba732436f7861e4a103190ce84a0c733b869a8931f17baef65ccdf468beedf3ca69b2c9c97e0ecac914f3641282dc73b52661b214d873d5b57526c99eabb9d0afd7e2e6c99eab72b26666cea3aed4b2b7e7aa29b4e7ea7cddb7fb8326fb9bdbcd9574d3fc9a1ffff11fdf505feea64f6533c4cac035036753bb654d36e0d0eafaebaf7fe8431fea84f74b1532cf51fc6a4e187effe6593eeccaca4a97e2372d94f1c87edf42ec9b00564fbf81b9e8a28b6ac23c546eb8e106245b1ed25859d8aa91f9c92786f2d39ffe343f69b2e587ace7a64cfa514d809e5b027a61b0c50376904711ffe55fc20a7ea2ed5951e630650ee102f69374e376ec96004e12a7dc73259f7bae8ea7d53eaf8e4ec6fd1cdcd72b8be4beb65b13f6ebe0be67d8f70cedf75c1af6fd953561df8bce7c908dafc0befdf77eeff72ebdf452db7863a94f2c6bd7e080faaf503ac613eb218173a15c586f6e5b830e9fe5f449b86f74cd563b4b313dfa72d39b3e803fd420f5a6cf490ec77615a44cb611903516b0f1b33acf43b6429d2e5662dbf09a789a1c4e8dcc36411a785512ecb992b13d57fbbcead430133a836aaa9d20fb39386901943d5773be002544bdafedebdc6892ccd934c9c1efb99a69d3c57dcfd56649314314e43a6df65c4d5a4a4527d7907bae24c4c55a42ca4f53e8669a2bf7cffb9bdbe6f669f585f59b5bd78cde8b4a47b3bc5d8849ef9d2adc72406321b0742af3fb0126ee8dd5c8fccc59c116c68f869f6c314a1809f34c1f79d4775c74f1602c51112bc60aa8f161e3667b93ddd1ff75e5395bfe91c50fb03d12dd744fdef16af29f463d1a38ff1c768cc7a67baef65c1d6d234c86e60c3073c63c69b69887fbbcdacfc17dbd7216742e00cabeb6cf5ad1dce86a35d79a3d57ed2ba4a5fc346df65cedfbabf6605d739b0febfecd3c41a6d9737501e6aa8562af4fcbc005f4e6f6d9cf7eb6b7f0ad0edd8baa5d51bacb0d97261ac0c26159d9e89129879fcce66afce4243f4860339671c7bfded370b6f949b3fa84a7f01f2eb670e6c2d6848bbfae2135c3f8f7d6ab0000400049444154a331103cc798d526fe9c74980413ff8c3256e32713f59eabc94959da7365569839eb1cc6ecf36a334ff673705dd09a334d1278cf55c9e9c42939836beeb99a3cecb9928a75bd353730ca7a8ac1f83d57d2b2e76a9d06fb5eb4f365f6bd66c88abfdcb9f225e4fddfb93d5aad4e2f17d09bdb9e8f4a856937ef4eed87ccc8998834bd7b31713d6f86ad6804f4ea567998d5c68f265b7eda7dc2c40a9e21125ec7e2b9e7d9f9a7a1a401f094f13032f37832255b40977812b032ee6a9b402ffd1ca3663ca6838ac967981f1a8566cf959cecb9dae79533713f079d0b160dc5e2b0af57f22021f2e0ec805b63f7b55d1ea4451ef6eba0b9d135d40cd95c4f35e567cf951367df5f6dd690e6863308afb8eec0adbd7bae24645d6f2fd85c39f0bd9c210317d09bdbf9776e2d13ae28ce90a9ad1aedddd578f9b2e0ae4c57203c524d5f4e47af49335d639be77c2668dc195130d9e20d0a8fcf3586d1d79b2be2ca266664c708345c60fc4f7333165e99b1e03d5792d047b3e76ae6433999f9bccfab12a29e7376cf95f36556bf7dbd9a7364b3564f96f65c3965cc93165b78b3dece556932369736e2ca26b7c8fd3ab8cf2bd3609f57eb595342d49d417366ed7bd1c9d29c35e76caef6dfdcfa68ce5c2ea037b7cdd7792769b7e11998550fefac86e7dc9ee764f1945601789e433b07e0559f9f2eae9d21f2cea77aaeb840d8887d2a3c188b6dcd894d133f9afc68f20cb74fd28ce70d337a1a5dade600bee16826664c7af18cedc456fcea8987c6587baef65cedf36a3f07f7f56ad6ded64ccb0210ded7761928155d47f65c1d4f8da3774d73fd7506b9fe763ddd73d5e9b3efaf9a0ff260afb5ee2d61e754fc9e2b19d8f7a2160d79b0b4eee50c19b880dedc3ee739cff1b4a32bae95c2e480a5c6c21108ab35bbe4b48d5b711ae6b3126106af3ef3337b9dc69d81563f33531b77e3243f6aa550d778e046cfb680473987561833faf8e90cc18f926dfe0b03bfe76a3e17c9d973b566609f579d2ffb39d89aa356cc90c0ac339a2d4dfb7a55723a71f65cc9409718d3c3dc98eb5178cf55675067d39eabcdd6a82b51c909376162f679b59e3e7bae663e044c92aeda9bfd2dfe66912bff68e84ffcc44f3cf0810f74147e7fabde14ffde274657209c26bdfab0f8b34491f3af04690e06e407a30eaff590c0b9502ea037b7f3aed26c86cd60575013ddf3d480ba67ab48cb280d46f13985f10a8d5e203e9ccf3e5126f9c916ee6c517be694611ab64cd43400d2e4830185cfe159f53c0fa09fd8607cfed9c20cb96a2c1e0a69fc68f2a097ac71b38dd7a5f0c33fa618e0f4ba8a0dd005f30faff1b0da7325397baef67925039db34e0a653f075b73f6f5aa7575e683b5a279b2594bf7b55da2f65c991b268605442acc19b302eeda1db9ef19bad6b4deeeb9daf7a2c7cbc6f9bf6f77faefe50c19b880dedcfacdadc70ce6bd0b8375704d4a24060fbb5a58225b31bb3fc4e009800cc7cfaad7c590c9e8c764f88d26a53a41fac60ae301a5d826f88dc3046a7c91570f5fc035d7b1c6045835d3e4079eb26ae0226fac3d577bae660e98304d45609d33d3dc73b5e76a26c9ac5a9826c63a67f6f5aa9c4c9634e13d57cd9f2eb8e1c9c99eab52d17934f367cfd5666fd679b4e7aabd5cb59cccb50923394a3bbdb0e9b4cfabaf6eaebcb9ddff5a72b3f1b4fa027a736b2e3a69bd5774deb6a2a995ced2790f29539e95aa7551d23bab4bdffa4e124e93bedd06579aee3f9bf76930f1adaaf03cb3a73c6d2c5de9792e367e3070316b160f204e7ca36816b9ba4b1a5ee130a55aa989272b1e0009b77269f2bfe76acf9549723c65f67975e3df7edbcf418bc3666ddcd7aba345765fdb8fefbae5a1651370cddaaf83ce17a53c0092e3babfef19366b48fb99e354edb9ba718f7adafe70cf95b5a5fdeaec512fb45cb52bdbebd3327061bdb9fdcbbffc4bd7daae2e73e3e70c192c4d35bb2a4fd6c624e074e247efca2331f8b9b4779738fe474c96ff6afcd8c259e5a76831f153f350ccc3d42ca4d16bc6a88bd988e209b305263c9ae239b2b909d3c039cf76307ecfd551a6f65cddf47bb97d5e351f4e3c2b75ede7e06166def08637bcfffdeff79d1abfe4b1b6dcf9ce77befbddef6edd3bfb5cbdfad5afbeeb5defcab0d5529ef979cd6b5e83b9e4924bfe0aebd5eb5ffffacb2ebbec8e77bce31bdff8469e01c170db9a0c58f7def296b7acfed775d21eebd39ffef4c433b61d7b6b6cf59a8dc1c5afbefefaebdff6b6b73dfce10f379678ee7297bb7ce4231f31f41dee70870e8aa6714fcbd5c73ef631facb2fbf9cf2f3aeed1ffde8470df7d8c73e96927e5fdb2541994f0a9eb95472ea55efb9920465cf950c980c9d8fce4d60a6cae4e738557bae6efc8dfd9eabe6c3acff67b9b67fe6339fd97f735bea4eab2fa037b7f61cb3fbe93da7f964e9911a20ec79d8cc2d7a4b95a2ab779bb053116675dc73e33b581e58b15d773f181a5d633b18a0e43f3fd91689aee204c24614801a8fe1939e4fa4e6f09abad28c1e50d2f30f33616b74401173fe8f8547bd407ef65cc9c69eab990fcd8de65bb3659f57f2202dfb3938eb89f5a7f56472f279d72bca2bafbcf299cf7ce6339ef18ceeacdcee3aefce7ebd72574cbc59affa43174d5a1f13c1d9afedfd090d313ce8410f7257d9faccbf63e1902b0c0d8606131f6ec4f7bdef7d641dbb7161bcf205adedb7b8c52d3a8a073ce001975e7a295bf7cc1ff8c007caedd99c833640f4298d0e08a918608c9831b0083beaf0d9e78ab932c77e62ae081a4bbd624d3914cf179fab996f738c9cc3679f2b4afa4ab6423d2d57098845bee74a1ef65c9909f260623817cc6a403137f679b59f83668213a4fd5293a49ce0e7dc097f41b962b2973364e0827b736b0d920ef36c26592b51175d186f86d1c46b126ba65f6de3316cb99de698e0c7c9ea33135d23c0280d1daf99cf75dcf4ab5563ad7c4eb25d952be65c73f55ff0917a35575c0c0ea1c3d145033756585d3001b5c24fb6939c1937c198e073bef14956d708c6b078f098f558348bbf4ce616d958abb7c6da73b5e664d2bbc9e19eab7d5e7d39cec1b7bef5ad7e3e74c51557986fbe59f3f55ffff52f7ef18bdd55deee76b77be73bdff9c10f7ed00d9e77b96e809da7ef78c73bbc11bdfded6f4ffcf6b7bffd36b7b9cdc5175ffce637bfd9cb4caf7f4d516f59bff99bbfd95fc5e7d67da997967c7af379edb5d7f27caf7bddcbfb4f9fe32c350dea76da6b520309c3ab5ab60c9933e4d070ee338df2a10f7d882dcd55575df5bad7bd8e4061282a7fb552c07a0dc44a00175d74d1a31ffd68a37b1dea2874398afbdef7beeb7af5a94f7deaeaabafe656187c8acded283dc6e2a6f9e10f7ff8918f7ca42315862c8981b9a3fed66ffdd6f92c1cb557cd5ed2ba3b15dbbdef7d6f5d7285495f2418c775dd75d791dded6e77bbc73dee2124a33876a30018c11b4ecc32efae38a598298d22c8805ad144068e89cf5e536a8ec91aaa81f4ce9a5cd708c690acd51bd3fadc589ac63db46aac95c77092edea7fc5bc69aefe3bc6c8198b205c0cc596ad5a9c8d1556174c40adecb9925279d8733573699d63fbbcdacfc1d690f2606e6c56c8e355e4a86ada584f3ce8dcdfdc4e5a4e0417d09bdb99315dc0a4a3e7cd78c533364cab0c6c92214703b0a257e3c3e9b375c14b9f87700b1999de7ceaade45fedd9707ef0c50360e88b73c645a6cf5693ad5efad5cf6a0be74ddd754560f0c40c8b8d0ca300738c9d5dc5103fb23d577baef679d51cd8cfc166c217b35ec964eb8cfbb71b6eb8c15da2fa5def7a97dc3ef1894f7ccc631ee3a6cbed9695ca15dd1d570b91fb4086d62b37a5ef7ef7bb7d7df7a94f7d2a8dbb3502ae9231a479dad39ef6e0073fd87da37bd1593f5b6fdd3a620cf4b8c73d8e1f0792ade322688564083ce9494f120c8dbbc134c4beba7cfffbdfbf7598c66df67dee731ff7a20f7de843c5efbe57fd84273cc1eda85b56b7b2a29a5cb98134f4d39ffe746237a20ed3400675208f78c423e88d42e0a8dd70f2ec3e53fd2ddff22d9c288653bb9776bbcbc9e31fff78072b2dfccb03e5fdee773f91c88c44e9c23ff9c94f7eec631feb16d7d0629e63771fee6d336f3494651e29866baef9ffd9bbb367eb93aaceff3f918000c1a1459c711667c119b51da2a33b8c0ea32fbaff84beab9b8af02fe02f20a26eeabff0de681b6945ad666ac401e7017046c5c0402208a3ba5fe7bca965bacf739e1f1455f054ed9517f9ac5cb9d6caf5fdec952b33bfb9f7793e801f56085a68759f5a7c9e68362e8258be457b041c85576434f556d064d4462410736ce290371662c645279fae265dbd744f3ba72e5a6ff5ae838bd5191b1b57cda373ee982c3b0705c9a39faf38b9e53e043effcd6f7ef37d7dcf13bf6dc169fce4a06b467c2ab5853fb121ee6ad9d358d45b954d5dfff5932dd12b5ef10a5ba58a1c47cbcac78857dd5ebd2392e1aa0598189956e25ecce3139014c8d3d5b4b120c33861a3248fd66bac066536194c1702c9f40db4fc21c60e9bc6426892613c8368833616997cc8e7d3ffe41b0bcd615a46615033f968cc1c1e1c0c84d970eadc5eace0b6586d5c99803b074d8472a3a4f119e62b3ff564e435af798d5453be92abd9ffd0873ee45426a719c871d7c5acafe6ea7255ab49c509f395af7ca58b5cf7a26e1dddafcadeecb8c6740beae7a9d2e3ab5ffd6a4da741b9d4cd2dfb3221310b81bced73e43c010319119f35233a5aa7eb10e888681427d837bce10d2c10e3063b1ffde847c93b917ef7777f372dfef033ff19ffd8c73ee69e96bc0b5ec68d8266f3831ffc207544b9fdfdef7f3fdf8c685a51e79bc724cf8e41a55ce0b8bffdc8473e923f2052dc2dab1b8b22cb5dc31a3494f82cb767d0e5b07b5ab4c774603696a7661cbcb0e2bfe158b08dc3349c937980b0cc014c877923a271b8ed4959400070d741780a039f850f081a08502f56bb67100fbbbf6a5ec81b67be324dcc118974f7a2e173e6904f1d2b19fba9a79eb29ab4f4a81f58403dfca123d4cfa2f090d603eb61221e85724537b7bddfb52ac3bdf7c4434758ad7b4fac69fd6e0354173e2d741b238175b3cbb87d558cd6952e223efbf1c9a3d5741576f08746505192a18ba34e179f0f9a08fca1c7cfe435794bc628f989af904f315d6298d9542b46199b9ab74a37020a7fdac144ab73153f627cd05cac162b1152bc2136ae80d06cda39088ac91530912eeee62b6bbcaec1ca79ac346b11d5a529a2dc5eaaed03a8b3a9a0ed93a2addff6d39a4ae117dfb190e5b7de965ffcc55f7427a9e948f9def7bef75def7a97631b7f8c6ba745910a3b4e86593650ab78bee9e20367889151bbf63496f3b65d1a3b676ee736831947d0a568949e22dfd0f9f63ffec7ff78dbdbdee68e579329e39224efccc993723b4fd86756a1385885a73fa9f5cbbffccb9e8b98b1d8e7186b4cb1a038f75261903a4cdcf432927be1864f8ce2f8cc07ea4922f0f5b6bea0fb801aa581d004489e6b90f5223ef9d638baca89151a87ae920c8338ea74f139af89c01fbab1e093bc6658ed3ab85815631b572261e7a0307811e7ab9bbcb9e54108bcf441cc1727cfabfd1ecc92d98a8830f9f145bf82a9903113d4f1d1c9b460c48f4e183df27a35b38f66d38acb4eccb18919adae34169a29e5d69d9b09898fa919ddb838d94c971bf18d9b7c2ab9974cf204c69f5c8a9f7df28d3bfed38d4e584d3e19c20a018ea9e3a393519fe3a213c61f794ccd198bd9f10d736c2e56b05dac36ae9a2ce1f0629a836e4785f7e4010fe852f4fbbeeffb7c41d7dcc717ffbe1cebac454cf6707ef3f808b5839c1aa78319011c5a3868a74abf8965e1677ee6679ceb70083b3da25321d005acfd5f09cac1c93990a4231f4e668da5a069b146a5a4e4ef3cb99ef50b61a3b84c2e07ea7250e40695ec208c8b36744fa189e90bc3a76f9d905dbd1a1a08e49d3f8d8836b4c23ef7f2216fc9286e5f7dfdd86f92997580c7a1126e3d0b8e332ab39a6e62e93adff204c10d674bf7db5458be3177fbec39aff6b0e0620d4d860feac486ce19fcb4f00968d2aa8b6360491e532f3a667406878f604a21a320b239f45d1fa8182b7ecf9e4d2af950737c187ff2337ef6c92394f19f6e74c2eafc27435821c049757c7432ea735c74c2f8238fa93963b139be618e4dcc6875a5b1d04c29371e2f561b57cfc4a1c0d8b86a5ecf7c693ebe38e6a0d5a1e7dafa3e04aee8e6b6ec6f91682580480b46c4bc3f3601ec75c28b647469c2de02bf1912ad6905c23161d44a8a116cc62783361c7e83a6c5a538088a6c6a2a68f28804d038f17b0f8766e1f4a1717b46328d420c9d623613e315ddfc899f03d1f8d9412c568b95a8d8b8da39288d080375f941543c27f9cab1cd21934d067d97f8ddef7eb7afd13a503931ba68c524e007a2befa4b46d2f377927c162e365d99ea4513f0bbd0ee3c7d45d9868618a65ec517b7def7bef74983247fe9977ec96d2d5dc7bcb1c0b2c3b367f174be91eb1038bace7b7c9301c850646d649c609d0f0dfafad7bfde9796112143664e1a389ea2dfd9a2119c21c0134da6f24dd357ac5dbd1ac297903d75ab433f82455351c8736cb062c143790abb1c37c91e813c26f9c9edf94f91ba3f91c5320c59f07b6643f3d370fd6167967d655acd19923c610ad408cd5d07771ddc75b03968369977e5abe6a0fa667e3ef3bd06c4620504402d5670283cc44c59bdfc8caf9cb9fd59609591adef43e05fdf79df27f1ecf8b33f88386bdb023671a6f49da89ae89a1117b508c0b999340761b58e89a8ebacebb2ff78ecb1c72cf6f24ed186e006c9f64ce7ea55d7889121490c3f79cde8e18fa9e13388c94811ac89aeb7b186934cf28d45b15eba332ee6f04f3be3bfdedcd31b9dfc85cf231fdf10e3094e3445859d0141f39447e3e41b62c44e7ef2d939f963aaa7d0ecd9c3a126fa7cc6f13099e4b339f28b155860b2586d5c99149337109a83c9ccd9a6e7f09b539ffd39e8ebb84e50ae3a25673f567417ea679f7ef5ca1f8752873709dc25a79fbc4aef0ea5be4eece8eb08eabed13996bcef1813f67bd1cea57e59ca8e1fbb3abf39f5490bef79cf7b9cf7ac2fce69ae5b3db8c71c4cf0dff9ce77b64cbcee75af63d05d285d075a7f9b8a8a03aaa147c69f5cf69b5eff8faeff4457af41dffef6b73b25f6678a79c267c29ee8277ee227a04dd270ec73c61fb5429009679ee8cd3716fc612a27d5e479c501c7cb1ffee11fb678f1c14f643dbe6f2053f777adca7b2cf876747f1dcaad2c3f3dafbf17dd876bacf1044d373c79e24f58198b9339a0977df7b4fef0151a627af940d21f826676e2e4851257679c0f5698f3b9a35bfbc22adae7d293f619114e7e0246f39447e3cc582376f293cfcec91f5383ad41318b0d443e8c3f7487934cf2d91c790f923f17fcd3ce3cfbe9437476e89241a735f2f117abc5aa3811871b57130c83c967610e5a779e78e209c95912e88b4288b310d0d415119d40f2eabbc52a1c1351d17c86bcf9d733e2a8a3cf7a988847a15cd1e1f6bffff7ff6e1e9697bd47b143f201687a57ddb7172622fb6092a16202db7f9091d90547eb4aeb079a70d39b1d7f4520dd1603347976f011d42fc6ca99594872e01c8b6ebe31859ffd7c78e0b8e3c339ee85fff993ff77e98c1b6bbe8d4666b1f2112f5617f1bc71b573501af90cf39533952b506ba4cb4faba6939523169b8e55f8ce571dd8fa7eacb39923a57397e32b5ab2226ff14e4622354fdde8e24b95ba7cff961d02ecb448b3ec532ba795dbe93aca1a5dfa15d29aa5bbc9a5548cc84f5d4c692238c0fefcd92a4ca7eb723575bd9e8816194d75ae92f105e6d6113ee49b2661ee199d7d6eb0efd9f129728c351ccf42d7178cf9ef82ba35850a49437840ba9aec40a67c459e2e0e79ef02e8b216141ce6929708f064bc6727c0c30c72a9e27be33861456bd741585dace3c0f1a128675c2d560059acccd373af65d299a462c39c058e6631b358c161b12a1e26b79f39e4021fb97a0fb73739f7fe724587db9ffbb99fb35a0f14ed30aaa51bfc59a23035c5995a577c4c492ab1934ea03a7e398be494937fa14b66e42fc66a5c4c02c44a8b0fa4efb38f9fa29a1df5f98ce5dc64a21b2b9af0143246afbe6b87d862b558858020d9b80a0480986ee87382c45cac044979ef5960258d3ba4c1f6225fe13bb9c196cd4f375f39e0d1edf3e25b1f13fb8d129f8c0364b9ae4fb0b11ef82ce5c96797dbed690cc4784ff140fb675c91cff9bc0ad27cc6a1de5370263ab111fe74b162846ef687bec00a7f9e7d86cbb1bb9ffb6782155d060df12962d5589c9fc70f93f08cce66f4388f20b3586d5c090cc130380809cd8d2b20ec1c9ca471e6a5fbe8fbf261b9e8e1716531dac3ad907b48b9a2dfdc8682f71f08d1260ad193a7ea2daabc978d4fccbe21260e9a581139b41c47acc532194189539930259f4dbde8c98c638765f4ddb148e68faee83248f43c4bfeabc74f0ea0e96693fc8c85836f4f5057345d1c34c9ac2d56f05116ab8d2b31603609869d8382010eeacf55be72dfd879e6225ff9122fafca7b9f6e6ea7d5734dfeecb3c62f1fe2a33f3bb9ddad8e789b674154c6b79e914c1f04f9cded61f20c54bb0e6ebefa648e12129fdb7cd5fe811b17f96af7573e17257c10205aac2e72fb43f6ed93eb96782002577473eb37b7be5ed5ee44964140c48ceaac384dcc38089b09b14506312aa3f540025374121eddb1df587ac766dba666f5293f32e34366d5a92430cce123a6e43679c298f91fad197fead1425cc8cf83e77f35b1dc5eac4031d82e56135113a2135a1b57132761b2584d6c20365f890738ccc469bee0c45fac069fc164b182492b7250b428b797289616ab1393c52a042e70988059acce7df8a38c95dfbc3cf9e493fb9bdb7359bca0afe8e6d6bb6d81dbeced9db7f500c7fb3327b47612f803d0bc43d23befc589f5be6dece028b4f011f8b6b0cc8e9dec374fd2d54580cde43567acfc691547e3b77a9121cf722ae30fcef075b16f20054d3d7975ce6046c467397ff02b7ae93616f5683e8cc19e853019fcac4537ca62b5586d5c898109839d83a0d87c25496e6eef4da87ad7c1d65038204c10594278cc7ada3a8bbf58cdce64b1121ebbbf9a85b53972cd7bd149174b3c10812bbab9f59bdbf6581d1dc1d1c4d044ccd92ca65e7c130961d54925b156e8d04447b40e55137bb8cd96b1641a487d8eabd9d0ec37683e9c328d32a32372e6427e9e2b9ba71d5dd9efe9085ce8e29c5d359341a78b50882d568b95d8100c1b5717f368e7a0a90193992093dc44cb6275e6e472e962150eea09958b38d1a56c5c0d0e88c54a3c0061f757f6667098dd5d734784dcddb32d562f50acf6e6b6d4f790fa8a6e6ecd704038df9af64acda0b1fbec1e72b2c040363b0f2a9d8d7561925767c73b24345d357a744746ce3d75d1ed77e3e7094e32d9cc1f341966f54693c131847ade659a9f234f923c819e05bfd94b3d19fcc62dd36527797563e592b1682935f52aec8f1d74cc6abaac11a6d2b3e06392576767b15aac36ae760e9643e484cd5710804339592d3f94934ba49bdb01123ead4d8b95fcd98a2c725a67618233734afc2c56cda3c5aafdc6ecc1ca333105097cdac5c5dfb882cc0b05ab3ec4adef43e08a6e6ecfdfdc82c394eed467866b9adb61647a475b30704666e463aa49c68c569f46ea2a59c41fcb24336ee851c1acdc15e3832e2a233f7476f49249b13a8171ef93a69f19378398331682f0d8af994d62d9c9a6e6f83ceab941fe1c77980d34ced0ba3052d7c91fcb24b333bee14cb92bd6a3e5467e0e9d1dba3d97ded41318f7c678f219c49cb11084c79f9ad924969d6c6a2e568bd58450a1b57105879d836718942e365f3541aa27df6a2e5603c2ac3b8bd5acb94d9cbb01b35809928bfdc9623580048efadca4b57f2333fc4733aefc11c1b7bce52dfb9b5b1fd37de58a6e6ebda392ec5a26e77da7fc889ee076af28b88125a07b7f5394a78b268f1f93188309d31a9b7a9337567c442a17f7ba7a874f46616dec647f86306e63111b1a07cd2b046becf72c3d57cf6b087cb5923c62c6ba19f5d6cf6ca2f58effe4c79fc5ea16aa9bcf74b12a4e36ae664eed1c942b241c050196c9514265e8f2cf62b55841a02236761d3cd75c6858734bb020da3d0370c2041ac132fb93c5aa0508329378172b50044b7182b6e2c8332f32acca9f5bdf87c015dddcce6f6e4d7eb12ed011a681d3e0050dac8e884d8639fa4aacba1ea8db768d4029864ac2d9a7a53932889ad546c987a9fbb4e293396d66248317fcb136cf456c1e617a6794e1341cfe299fe262359f02e4c3044a8bd5c69530b83b37674eed1c344742a3f4b25895494263b2ca450e5fac4266b12abdec9e4124b409099073bee068b6164faa8938eb33a236ae36ae8a99177a5ced6f6e45f2c3cbe7bff9cd6f7eb8c473deebbf9bbfb07972d035233e95fae9a79f4e6c88bb5a1ffef087dff4a637c9921ffbd8c7fc874004d4febfc457bce2159ff8c427f84357fdd297bef4f33eeff3c44db4ff281981439e187eba84d18409c8adec2466da785784afbce4252fa162c4d18d26c30736e9b2837ed5ab5e455d531979744ccb9bb1f213dd587a87cf7e362f7ccb6d43b0c9134436f9a68b1db53276c8681a2b7f882d568bd5c4c0c4bc2011721b573b0721b0f9aa756173fbae83d66beb458b6c49b2d8b85897092c568bd5eeaf8a013365f7a26da83a537c8afb2be78b77bce31daf7ded6b1154d40f2c67d7d011ea67517c6ab41e580f13f128942bbab99ddfdcc27d5ee021346d4d9cf17a9773f7bdce2993eec88fae378568253b88647a83d870279dcd5e3a366ebad9614433adb3c68c9f7134790e8f3f0fe437ee8c7e6be35fef1ef3a1debaf26d4ce540e3aacfb116abc56ae30a023b07cb0f92c9e6ab72c2e6f633374e9600cb492f5626ceee19665f511a993dc6f0c50c5a59ac8070eecd162b390408d7b617dddfdcdee6838755d7f59bdbc98cfda645c6342bce8ce97bf9adbeeabea34f064d9e6e1976bec74f313a80c99b60238f36ebd4fd66063fda88ade8f94017275d3419740369366f93c94eba23433ead54868fc9be7ac625994c7c76147404c97e3f49669e5757763095c56ab1dab88240f362e6dace41c9012c215396506fbe02c8e676b3c37c51ef3a38eb69194378c82168d3a73577b182893d49380c8d5016ab8993dd8bee5eb464d2d4d8fa81085cd1cd6dbfb9352ba40658080e2bcad417fcc0924d5a8748e2d44c2b81f88ca43e01879f707c748336ee3916ce29933f3350a34cdd405cba18f79447276fc4710ce794a9a92e4b3278fa3ff4e9674f5d7dc16fb8eca3f36d863b31d13b2e9dfc84338b5eac2e3edfc56ae34a0cec1cdc7c55b2dddc6eb1d875b0b5b2cc300b6e1132b5dec5aabcd1ac914517abc2a3d8008b265a7deec136ae1ee5bda85f373cf1c413fbd79227d1dd25aee8e6b699ecfd1f42d4369f4d6674d91fd10caf2660f9f41eb13da55ecdb4702eee3ff1099c7c9c0a3e62de5ba3bbf3c1376e76327ede750c5f177e2ee5673e679c4b75251fb3779cf824672c5d6472261fe86a4a6de99e764617914a1c743e2092af6670b15aac36ae2050d9390887cd5740902ae5c6cdedad23bb0e5a269459df77cfb0fb2b594248b4afdbfd5568a8675f0a13eb2988ca218b151c7a2501a52df721704537b78f3ffeb85f42f7f6ce6c814874d09461d1baf0db9160d6dba48a1fe742f722da469eb0a9a8662aa68d4e34e2e4a31f683f7ff4524f17cd66be653c99e67c32098cd8b8379cd348c6d5ca5d1f162bb09cb8f5392e5610d8b82a36d43b07cd91c1a1d8d87cf5905cb158ed3a68b515069542254e5369f70c21130e8bd5459c9cb9a58021b058cda2038d99532f3eacfc0daafd7f6e9b11f7d5577473ebdd8ffc5816185a2ee8fd10806c4fd1e68699a06e6e905734d3459c7732c19a8077d2146fc53ff97fe4d66493e564e8a6c21a7e99884d059f8c3adf9a8df953173ef9d4f11b4813ad4e7e6448f227795df8238fdf40c9a4cb9f7c208cc887d31f34f9c6a2b25885db62b5712512760e6ebe92334582b2b95d309416602243d63447761d844041021fc8ec9ea13801c5eeaf767f656ac815bb17fd14f7ed6592adef43e08a6e6efde6d6ff5f520e153db2aa9546561d5ad7c0a4b7084360a29b75094c6f4d5dd941e06427f9911c751ce3ce58c34730728e95aeba512e7cc0a4d2701143333e6667b838d5593ee9382c5cc8c78fb9580d1a131b7d9417486e5c89c0c5aaa8b83ba7ce6839e910bb2b3f486e5c6d5c6d6edf7570120b62f70cadc583896cb9fbabe6481b42f5b9ca4cf35c68d0ca60b871356bf160f2a8c595ff37e8c9279fdcdfdc16ba0facafe8ffb9fda11ffa21ffb79877a5fe1fd722d57be568d088953282ff9baeff7b964cff679d5e848331bebce9bf93f2f566ff37177932e8b1d3ff051adfff6ed728be3fa0588418515820afeeff9545b3cf31327ce8ffb36dac7c638d563ed8d9ccff738b49ac51109598fc64870a07bc2f27c3e79e8bb70a0e1cd498c4c873005f93fcadc8cdf7b717abc56ae3ca24da39b8f9ca44688d100f655d98dca6f6cdedbb0eee9ee166d7b07b86f64ebbbf922d772ffa7cefdbdff5ae77edff73ebfc725fb9c69bdb0b2c6c56703a91462430fc6926634f2389639eefc34e61f4294332f951390d464fdd3bb3d4b33fa36076773a1cfe244f1dadae39cf327c04af46267f2efc64fceeb814cf328f3944bd779bf970e2605062e35bcee09c32ac2d56e7e77b02bb584dfc9c31b371b573500c346bce64859ee933c462b558ed3a38f7bda6c3ee195a41ac29bbbf3af36781d1525b76ad6e1fb2587d6eb1725fb5bfb93d3f82bbf415fde6d63da409697e4201ad8eeef772ed7ed011bae29ff275b96b45e0b3c68ec93fba09e324630832e8f8c4c6019c19179f9d6408a4a5997d4d259bea931f7ddae91e98419277fd279f4a04b3f9465e7e276fc49c5cac82a8cf0bbd584160e3ca7cd939280c365f990e92c3e6f616945d07c50328eeaeb9264b6b0762b1824f802c566d2dc486b953f0a88b9f205aace000a5dd8b9a2ccaddbda880d9f21004aeeee6568880e3eeb521a600ea1dde081452d344986ff3de97297499c896972e8191c95a9cec8ce22999c0d8d1448f27f1199fb14e3a83544efbe3617c639d9e345c9c1925e68ca599d6627581619f35e662b571550cec1c84c0649299179baf2e72c5e4d86781955f8bf8fe336c1167bced1c2cde4e4c0a3c68ef3ab873f0399c831b57cdb573ff79d23b0721f02c72fbb38eabfdcd6d4bea43ea2bbab9157922c9fbb0998768fb831642ef87a2f5ce3bb3e4cd615952e91d1b79a6e68e34f998f864c86bb2460547d13c6d9289195fadd022136d5c322cb380d3585470ba3b4a8c4c02f919ad2ba221c8e40966f2f8d94ff2f4ff1c2b9b7a1b6bb102e062251836ae760e0a83e7295f3df5d4537ff1177f61ae297ff9977ff90bbff00b7ff3377f53befaf0873ffc2bbff22be71cf4c702defef6b717937ff6677fd6df41d0fce0073f887e16b9fda31ffde8affeeaaf7ebab99dabbff44bbff49ef7bc273f9b20dc987cfedbbffddb7ff5577f85a324e329fc62eaeffeeeef1e9edbfd6aebb77eebb77eedd77eedfffc9ffff3b6b7bd8d9dfee6c2f33407fffeeffffe7ffdafffb5eba08f693e975d0785f7ee1966ff263600a27e9ee620e3edd90c51ae6bb8e270f7a260d9bda890101ba0d8f21004aee8e6f6b1c71ef3737f312132e408c96268007502c46f6997b9e29029b39399782ab64a3aa964333b65bdb11ffae96616e7d4ad39021949ab8186462476f2eb1d991188a3996fa73ff398a39bc10bf7eeea52a4b2584166b1dab86aaecd248a98b9898873771ee1ef1c04c25dac1c65fff11ffff1bbbeebbbe42bb463ea6b5ef39a6ffdd66f9573fef00fffd0df2979fdeb5f3f8afdc50e7f0c8f1d67c537bef18d68c0fefaaffffad0843ff57ce548f3bef7bdefc77eecc7faecfa8cd093f71e98db1d381dc83ff2918ffce88ffee8cb5ffef25337577feff77eefabbffaabffddbffb7739a3569c57bff66bbff6cbbeeccbd0a9144ee889ab77bffbddfeaca067b17219faf77ffff7fffccffffcfbbffffb35693de771e57e9859a84e7096e57209ed43695cb5123fe73f45ac7ab4cc66413dc3cdb313c0f7c1a995e147abef627523f74c19f97cc37eceb162f3538f2bc2b9943f8bd5c6d5036352606c5c35532e52c4ddf97be558c9d5fb9b5b93e521e58afe5af2f77ccff7d82834676c626c83da1bb9dff7d7edc4cafc61585d9ab62cfded626b982e20e253efbb6166a0d995aedf763385ee6fe5d901a0c7bef74c68850a3e3bc48ce8da01119f0c6bec28bd9bc737d6c8f7778cf9c3313286a31bed3d5f2b3dcb6c9ef6e779db94b46b61931dc67b46f2f82cb083cf4943b333ba8bd562b57165baed1cfc2ce42b437ce0031ff8caaffc4a7909f1cddffccd8e735ff7755f670efee99ffea9a3e03ffff33f23e42e87c32ffff22f77b1e9dcf8ce77be13ff6ffff66f65b0dff99ddf413b18cbb152a584f6def7bef74ffee44fe4b72ffaa22f92fd1c925d023b707ee8431ffac22ffc4262c62adf52747be9fe56af7b635d04dc9732f2055ff0057c33c41ffcc11ff81b957226ad72bb4b633e94babff88bbf9896f9e288ee9ccc8e7cce5b43cba846e4300b922a0b389e455c199de786fee33ffee32ffdd22f351015a765f20ecc4691c0ffe11ffee12bbee22b9ca2ad14040cfa9bbff99bc0a1fe255ff22584c1c5c2effeeeefba25e6067cd09ef46bbee66bf8e09618a767072f0f61923c233cb1c601197a9e0ecd3d5e7163d741b0d803ec3ab8ebe0ae8332cfae8340901b2d0a9fc37dbbccbc7f2dd912fc90724537b7fd3fb776093607d62a991a2e9a9d0c5bc0701027138770088e4c4dc14d373b238399fd210847670a8d18994cb1135f73e8f1737cd63bc345e42a1a91ee4937eec810183a04d48d1b08c9f72cd9191f46371f4e9974f327fe2983565826762133c30d91a44111e3db6235b08449800c73b1dab87a31cdc1b7bef5ad3ff9933f29d47d1df7c77ffcc77d4ff8477ee447c43cfe7ff80fffc169cd05a6a3a673af3398c3181901e0b6f63bbee33b1cea4c07b4ff00900c23d4bfeffbbecf89d15150f673aefb8ddff80d57c1dff88ddfe890e974e7bf88a3c202610718f2dff00ddff06ddff66d0ec3cecc7a310dfabddffbbdd29403a1e3aecbe499837a6d327eeaa77eca21d0103ff0033fa0cbc9d037a8dff08637387e3bbe3a6452e70f83084c769c7b3966a7e8d849920fef7ffffb1977162d9e1d56d9ec125b6ff9f38ffee88f6c6b9c459d72bb61e6309bed753c35e77d41dad99e279e1a86ee875d1a07a663b0db603b335d270e1e10c89e05139e01d26211ad868f5a09ab68f5e676802c5605061c9a1ac5f0094bf1b3589d382c5625936a994414b5969d7bc26266b13ab1f29676ff9fdb59831e485cd16f6e9b395090704509c25aaec6d74447e8f53e263e1a5fefc8a418c764ab996e2abd65472bc3375dd1ace543f609b0307453fa56ef5ff9d9c74c973a22997c63a1e6d8913ad163cdb804c64ff219b1758b9f644f8493cff9a96994d1d5c4d74c06a1b771b3899f9d64d40da177b15aac84812224948d2b08ec1c140977f355f7905db412703073fc731be970a859cefcc11ffc41073c4d873a4125d5b83865caa912a1f45d1b379f4e92f82e637d9fd9bdabc3a49b5557c12e69bb074ebddcc5a0831f4906ddb5beee75aff3bd68e7400eb8b491eb1c02bfeaabbe8a583910e1ca941d5dae5e7da6ee57310de4fef3d5af7eb52dc8b77ccbb7e42a2324f15dea3a99f738380ed88c73837177b3d4d961dfa395decbb1f81ec4a501df02c1e9d7637a116020320cba40a608403ec38d05046bc4dc006b722f94d8818313be5e3e185d21a0200c81dfb89af98359d760156773fb6225301421aa40436020c4891a5f131db158dd20b558ddfebf0370100fbb0e9a26d2b27cfbe9eedb296eb90f812bfa5ab2d5ddc645b1ae0787ed88cd10da322faad06d89ec45a4634c1cb4f55ee49984d19aa9d842d92ae962874dcde4d59af1a3a934967d4063e128d92493982e8af874f9930097f22d9fd106e21e7efeb45d4b26756325cc2c999c610d5fdd28e89c57d35553e11e7e10f161b15aac36ae4cd29d83f286f2d9c95772914d8fbaaff21ad7d1543a32191dd8ec929d4bdd9db6817645e9842677f96ead63a79fbc9247bbff94279d3c7d7dd711d739d065a92e322ce8951bd924e9aa7372bbed859d96ab4e39b38d97d3a90327151c7301e1ee976579b2a4ed1a998ab33753ec90719e744c954b9dabc9b0c97f57ca4cf5089c24c937c7517cbd0c8a3123766d5b6ea7e8dc8b73ce41c7e657bef2954edd2cf80eb3b33731a759083048989f06d20b2b5dee7e71200928f2be6bad8b03c6e5360f29120831f45ffff55f838803686bc7ae83bb0e9a35bb0e9e73d0dc373b14b37bf757bb176d76982672853841c8b1cff79e416edfaf25370defabafe8e6d6bec4ee4111796888a06d4110ed93d022468d8f69ed17a9d1c927465d890ed664c61a2d0299458feed02409e0377ae3261f3fe3a60a7fe2ab4fdfd225960c834ae3e2a075f13f5d1c742ea9a3c918f7c207bd0d8d7f63f1193fd941e76d02f9acc6d7bb582d561b576260e7603947fdacf3955399439d8290916c25d1ae1c1d68e525d94cdaf1de8d7d9b4b0329f86ac2cad0c46c3bbee99bbee9bffdb7fff65fffeb7ffd2fffe5bffce7fffc9fa9db7c94af7aa3977c694ded438c66106d20f20eb48e8e8eac4e956991f159e350f7855e37c9feec93af193b3d72cc6155cd4279921d4698722ccf78599a80a6c3a44b5df611c418a485eff1311d7d27aec83b7c3aca9277a4ffd99ffd59df4c068e73bbae9e0b02c1921d4c6757c77bc7ef37bde94dffe93ffd2707604c328d45b1274274a6cd67b5713137b7c361e20a0d19b0f4392e5690090af1061c65b182001cc4467350b414278bd5ee454582f902070bc4ed74f98cf60c426bcb7d085cd1cded4ffff44f8b2a3b128bbd0d93fd471b171b20ab3b268ce20f4dde7aaf783f47981861849d012642b145b815b9b95f25a02b3efb9965938c68660dadee4d0f3a015d7493a16e2c7c46f893b772221a3f9f4d093479fce4d5e60c2df27a09b3c93e23e3c33846065f331936c9139b67d44b8640a3b3b3582d561b573b074b26cf77be9276fc1a567ef385dee69d9fadfae2ae6f0bbbb414878e7c0ebaf295c4ebb0e7c049c5dda3232842be8a96125d8dfabdab5b4a59d79da73fe644d169d0b78271e44f473e3faf2d4f4acb98c6ea62d3c74d9771bd2cf889aca1fd5897d9c9edae43fb323019e3a25d1173cc778fe9aaf943cb0f651d5c5d9f7a2ef7ba98be99ec1ed5b78859f35068d87a403b9ec9ed46e1a1d3b2e7928db9e72f5491775cf7835b0f6e44a628c28a96e7d2c513e76176dc3fb3e0a580e54cf150bebdec019d84f13b21c3014d1d6268676fc7758ae57c5a4040d36a8d33ca6085e0d5ae838b9508140c4271f70ce1d0d4d83d83d4278184034c5a3ecc1771a2a98819b5e662f5e9622539fb6ff32c3112385afdc072760d1da17e16c5074aeb81f530118f42b9a29b5b70db1974bf84b6600f8def1d5b67485d439b72760966a0c8537ad7420047ad30924c4d35194c44f26c6aaa1b2b795db4523156c264f079a2c93e794df4f84017079f4c768c953c317668e1abf11b171fcd427cba19c9b25e259b11e8f19fe57cd6456b68fcc147d7d0e32723d9511358ac7c167050162b206c5ced1c6c2edc97af6c77fc5da5ee2d61e54bb60e84ce8dada96693c3180bd24be73a329a7e38fa8e77bcc3d7744fda46ca09f97fffefff6d1fe00f05f747a10828f21575c44db63a72bb811c59fd95267f11caa9d2718e8c119d8a9d429de55229c73a79fad2b2c3360b1cd3eb104b9da433b33f1fe5cf3839e53a49dac0b1ec4f5ef9d3cd2cc7f444ec98119ca7e22bc4688f532e55bb0d0605797f23ca7fa50b19ff0f90b17c959ab0e7f5a7b31cdadde2428993374f729b7539999fc645f8fab1633c7fe0c0192a4ec2b72237b95d5e8a669f91cd5730dc75506098a1bb67686a9823f7e52bf374b12a8f2d56e64b19b81c5ecce0e09fb91dfd99639585adef43e08afe5af2e38f3f6ea5176d059ff0127f70693311d1ba4e669a45a7a6aef86816e297d7c6cec89c364f995377848789a0a89e2ecde80b7e8f903fe89e252675fc530067ca298339ba0d84932e838d9bfc62b5584d6c44a8cfb271b573503c3c57f9caa1f43caa3916ba7874af28cc2428bdbd27925a5d87ba9c04be82efc8e7c8ea8ad23da7fd96425e17452737d7bfec28a9934f65f2ad97df84d51489592f74f55cfe4320b7b84e869e7112be93279b33118c82e3c86a2bc307a6d821acf04ae1153798457840baba18f4379f9d8a9d9f996a2a713b3a3b0c02c1e1992e0143b84c66900c3f9d6c715876678be340ce6cdb290fc83e15ea74c9743e27e631c97312d3d13adab830eca9f3e1becf34f7c8044835e6c847f3648891397507fc6126af9eaeb18938f917587916c3c524c6b7530067ca2983a9996e03e1a48b990fc927a3771ee4948f9ffc859f0db15801276c17ab8dab9d839f49be92b49f78e2097f1e5fc693c9d51785008eae88e8649257df2dd69198888ae633e4cdbf662e8e3afaac87897814cacd775fafa4ccbb37cf6bcfa12ebfa8154d6b0f197b85963acc59e1f0eda2e2a37b9d4f20f9d4d9c46fc6a293677664847234a642a6e0b6104637a24d49f699ca662b68f4d8e7e7f03398fd7c40b346d823e865933c6692d58d3b9cd37e7e12d08bafce37b5a2b958cd67bd586d5c3547cc8b9d83e6c5e4a59923f0f9b4f295efdc9ef9ca21904d259c11e525f69d6cd1936365a7f92ce4a8db74f5c97ce50bb76c3a21c7d4eb4ce8bc4777727bb9d70e8011f7b1e419a7e26bc08e7cce99e5e4c9ed3ffff33f4fe039292e819f133bcf8911bfcef5ec1eb6750456d1275668f81b0e9e83bf26e8cecf7db01a99e648d8268f03f33edf1971d741c02e56e2040e1b573b078b01b578b8c8ede596abca57de8d8262cb4310b8a29b5bffcfadd70c4d004b2950d02649e858598789d3727bca1028c9a652137df24f9af12c9339671d9916f26a328d9b6ee3e65892d919fe69137df2a34f1f12ce1a5a97ba715b382f7cc8cffc217936c7487692c1d46cdce44f7070cee662b5584140d9b8da39280c5e28f9ca69cdc9d6df612add95cf6f03f9fff37d6917a196155b0defb3d5d1d564106afcba34c98f245a71c06613914dbdd18493cf0e3a3b9abd3b47908cd6955832b7aa9f5cdcd149c6445f34c7087e7e7a9bb0b97dd741f1b07b066170ce85dd5f9d7b4e1132f9f0e4bf50727bfe9f9f699ff53c9707e92c4da655bb9a40f921dd79f676b91731736193eec80f7dfa80a9d0620da14bddb8b36fb76aeccded0d4cf7972bbab9152b56f779af0f13f4cc4cb477849ac2ce7b2075113932ba8a728abaf0bd932eec82179356fc74f1c77eef968a60767415a6f8de7367b97175353a5df26aefb0e3a8b3d38819491e9f649c9e05dd70887c6bdce624667cf5c837d6f94efd56eaa622a3b7e74a5e337ff2ed94d1d513615221bf582d561b576260e7a09cd05c9025d00099fcf368e62bdfec95be9c00cb63676eef97abf93f1fae87527ac6c9ed7327dc337a768454ecd8ec0bc66e89d1e5765d3304234ce17300512e6d9d1aac1aabb8ca2c7a9c196c75f1e19c83e8d37e83264f38ffd5c3cf3135fbeaf16773fb6275c695c0a888a5624673e30a08d0b898839f446af757b7c96de264b12a9fcbbd724bf4c5bebdb799133f4bdc45e08a6e6e1f7bec31bf741222b6058028568a9ea1f15bb611d3d5ea3ecbf908646756fa135c2a17620dd18ea4aea1b3934b29562720b8d31dfbc90f73c64234132e5cc5a73bccec4c33fb19b930658873acec37ee6993c1e93af9e84621909dc56ab12ade36ae44c2cec1cd5793c6c58372ce0bcd49a125d8c99f279fd804d28d89a3b9b91d1a8b151036ae8060ae150cd53031a19a237aa72c56a058acce3028544ab34327f0b9c26a7f733b13f63ee28afe2ba0eff99eeff17ed197b814efcb21e2665fed9757129c1721bd9b8fee6f7598e1081c32245dfce28c2eda3b75eff5e912eb2f8bb0a9784f997d2a64fa3e181976bccb372ba8a48bc98e246b74f14a979d6430d9615f2e8ecf93f13f3fd9c9fffc643323461cbe3979e3d3ed5f1389cf3ef7b84186fd1ecd73a1d9d7e48317013356cfa2cee662b55889b78dab9d83b2cae62b497573fbae8362c012b97b86dd5fedfecacab87bd1e77bdfbeff15907cfb90724537b77e73eb0069ede9bd1d501026210efa7c1f83a3397cbd719c36d1f6f41411d124110923a619515723568f80aeec8c0f9ad117fc51894f311f088f7d34f7f0099f7ec6c97fc2a74c63911fe7094c33c2882ce08f6fc98c9d2c67818ade38a70f984a9e2066b853fe56e4a6ab11ab47402f8e3a9f6b465ff047253e49e3a209a3b38f1eff4f3f17abc5aa50294ece78dbb86ad29d982c569bafc483b2b95d2448116a684cae409cebcb2d548bd50d4a8b550848a1e68ec0985c5afcccfe64b10a10382c56e593f6bd5e2bef6f6ecba8f7d557f4ffdc9a1b50f09b87b01028ee45cb1dbabc672acbe02483193f79e9a6fb588ac20bad2e43d1258326df62a689c06f4e926433795dc913ce4e32d41b481d9f054c259b88f804e89e76783e3eb0969f64f08d9b7afea47bcae093217c3bd427ffcfc3ec8703155d8b154c16abe267e32a1cd43397770e9a1de510444963f3d5e676c1b0ebe0acdd66045a54cc7addb262be288b1510162bb16135018538690f26489462a638d9bda8380993abc54a246c7908025774733bbfb9058759a16e56d4445f304d1e8bcdc80c88c347604a4059508f305396b1ba463e0b9aa3927c761a2b1f323592637ff888e44f5d3466e3e60031636533fe297f8e75ca9cf40c7d3e1a3a996136f434695586dfb8f3e07a4798a9c50a208bd5c6953098f93b34e262ba692e56834fe04c0e59ac26364034f4c6d51927ad4777d7dc53e6a4770e2e562dd0338f10a262f75740d8bd68b9a27c2b4edae84ed218fe738895df063ef9e493fbffdc82f4be724537b7dd3d0242f0a1e5a622d2bb313b80563b7c84a2abf76408e5e2fdd9e43532c9333bba38689c74c93456662582512180c62133bb907ceb036b5c3235ab4ff993d6dbb889b1d91c337afcec50c9ff91c7373a19f2e8e4d3d5cc1fae925fac16ab8d2b13e19c77273d730aa12c564038f139695d9bafe4939b4079a69cf89cb4fec56ab11206bb67684f1214d09063777f65b70607c828e58a68757903508b55fbde170d563ee82d0f41e08a6e6ee7ffb90587b39cda6c17ee9de8343bcedde5db64ccc9335d2923a6a65242a13e06879fcdf89867139d1dfcb19f3f3854e293494b53b96f887129629e6b74b343bd67672ace458d3f2ae3c3392ef90b99190b7fb15aac2e22aa38bf8819cd9d834058ac2020694c0e99e413329baf0a92f2ea62058dcaae83bb6728458887820151f698d868bee02f568b9518281eda78880acd6266024653794160b5bfb9edc37a487d4537b745eddc430a68b44d034297f75e6a74118f5f88f75e5097ed97ba1982a04b40a132ba64a209e8622482d6f0d3cdbe3a7f30e9a2114a2ee120e4ebbc6aac0492496c7c300a4e36d352bb6bc58cdfbd6b16d07a73b25eb52eea11baf24d53414fd73c2f995410ace18752f562059cc54af06c5cddcea14ffe66dbbc0088b273102c9baf244fa5695260142de8f872c8e6f656b45ba816ab9bef9d090ff5ee198484d9d13adbf469af825f6e59ac82a27cb2584d0e99bd990899f879016155b46f7d1f02577473fbf8e38f7bdbd12ea17cd77a39b4b00613a61a1d81b6d52033cd813219bd6c9ef46c53f03325c92683c0895f17b374877f5acbe669b9a14f7f2e7a1b9afd64c8cfe38c0f8d38e3e6cc29cf26c5e44ffe492733c623682533cd1c569f7e9e34f9647243d7f8399824905602383da37af83d919acdac113bfd49727a1b3a3b1303541ae2aee51c1b9b8846442c56179fc262b571b573b0fc3079accc733153365f9572172b3828cd9a730d9af84960e267f81b572d378136182216ab363983c9c6d544c5396ba25f5858f96f4ddff296b7ec6f6e7da0f7952bbab9f56ec619c6f456f79e066d2d997736309225311584588f8e5f13edbe051f31fb92e4f131ebeace5393d68cc5667ccc0a0b64e28f6e7608e077b783e6e78c9bffe3037ecf452cfbba7aae798af12197f0110a79f529afa997fc62058a3e0584b2589d710219cd8d2b816116ef1c6ca66cbe824365737b39d33a8280c9e40aebcbae8392271ccc17e0a0172b11120e3089d8fd151c147112386871324df46205040526b7505d17563dfbd6f721704537b77e73db9adab60322258b9a251167427944ad596eb5368fbcae9a299a51c9639e74f2d9997aecc4e9f36850343bf9337612883fe322869feef873d74992c99f328d9e6ec63358dd40e3c3f8acb7476e94511f6bf8e9de7523c5d3e649279f9da967dc38f9d6a0e8c50a028bd5c6d5cc23f1008d9d839337365f6d6e9721271ed042a2e6cc94664d93a82566ea74677e8d9d8dab8dab8daba64373ca8c987974ceafa6d262f5fc61e5af25efcded64ec07129fffe637bff9811dcf1fd3a77261fce4a06b467c2af5d34f3f9dd81077b53efce10fbff18d6f7cd9cb5ed6fbe3cffbbc9b53bdd58b0afa252f79c9273ef1095ebdf4a52fd544933433cd5b74c209244ff1e31fff386130c2fd940000400049444154df73a6857ec52b5e710aa0e966a119deb854141c8a08e37eec631fbbe5bd949d2cf4dd697c363989e94cce87938fc9132af983f8a77ffa2713893ccff5b2d92a9e6f46c4f79e2f9bf6c1ecd3ca8dde1f679f1dba68d6162b782e561b573b074b149baf5a1d36b7ef3ab87b86f60fe6c2ee19767fb57bd1f6cf9fcd7dfb534f3df5dad7be5622b22aa91f58ceaea123d4cfa2f8a0693db01e26e251285777732b1777ea9b37b87d0cf808ccded7d65b97cc85e81d4c02d1f1534c573d5791c9e0103b6546606c9e32d9c7b9eb0fc7e29f32f9101f6dd0d3ff9e424da071d31dff8d924c764e7e6e8f05eae7580c666a2ce028a79d8bb1f49e38680e148bd56235e1b171d55c3359760e5ecc8bc936679e09a5c56ab12a8788845d079b29bb67983d467b8fe6c803d79ac56ab12a755ce0205a84cd3035efee573ffb71e52cfdc4134fec6f6e7d1cf7952bfacdadfb4941191068c15a28e3c417a0dd558e0c816877a7c9d72cd0a54b7c3215baf223230a3e3a7e3214f1c960a24bb5e5539cb1a30b9db09a7cab145ae167eae82ce0248f8f4e1ecd72f7b10645e323683522820c0b83038ea237b1c52a346e5159ac36ae6ede01150c3b07a58ecd5740181c0486f0d8dc1e2670681d81893841c72f6616ab993b6059ac4aaa30d9fd9595051ad5e593c051db8f8996c56af6ab8b556790899025ee22705d37b7be4c65aded58d86eb5663474ce0c3ba7ca6426b9c41f3bf8385333927d04b385e0a98b363387ff10ddf12daf329bab38a7cfe8f127fe34e723cf43bde912c8d53889cd5318eb3e9bd9279f5729268f6edcf3794f3ba7fd647a288ae3c6a98b5eac40b4586d5c35efc261e76069c7bc6876947f02a76432b968b15aac42e0c4a1e5462d66f08b1f2bda29537425434057b1b47330f416ab103871089962067fe30a08939607ae9959bb171d70cedc324021eec36a6f6e4f941e485fd1cd6d19c73b4284625e796f5af4a8e71d6aef84062cfc32949a6e7c11d9fb5776c89ff79c232328b34f265d9298eae18f2e3ecbe39ba62192c74f4bade0c7c97fcd61e21b0b27fbf89ae73b3ff4c8188b5764d8c12789ce9f53065f59ac16ab8dabe6e34cb7e68eb9b673304c365f416073bbe543d975d0bab97b06912039a8cb933031476ee2e399820fa5c5aabcb158ed5e540c980e9fcabefd9939b4ff3e18812bbab99dffe756e838ad0d1e25944e2f98926fbd27bf8c8c4f978ced6c1939026784d1d9afc61f5d745ad951c7b9a8592096cdbcaa791f073f9f8dc89fe8c61df7c8e44f447c32a72e3a3ec9930e0d1c2595bcd26cac0bfe3cef859d71668c50ccabea7cc61c642e7a070d92e343e00ca7662e8dbc661cf562b5586d5c890173a1c97281c6ccdfe2e4a277e6d444d1d819cecec1c9602726e8c56a90d9b83ae3e1028d9d8372084c76cfd0ee6b420531b1011ff964f66c8bd55561e5cfbeee6f6ec5ff43ca15dddc9afcf24269a23b4cb84810de31972f34d1adbe934dca20f3de910c3a79067b3f4d06074d0b8dcfbe3a7eba14c90c5f93703bc5f8c3193b7ac927c3543e67138d60a171f9acc9c2f84f2b3f1323dfccd7c4d79b3fe4f3533df26885e540685cf274c9e3a395192b3136f3a1e71d3a7906c9d3c2cf675a687cf6d5f1d3254666f89a84c321fe70d8cc8e5ef2c93095cfd944238835ee62b558156f1345c5463153a46d5ced1c7c60be121ee2e491cd571ff9c847fc8177a55c979feacded2d013ebb5d07771d348bc5c3ae83bb0e36178a07683ccab95d0e17b1adcbd626dea2b73c04812bbab9edffb9858580b6c2b58b95e3e6b4a32b3e01a1532411c3479344c4c71c197cccb1494649be75543323c31ff9193d1f869fcad844e08c6f993dc7cd0e1905ad1e99a111e7b33462b5ae9eebb493f0f8304f94fdcc9e385cd81f9ba70cdd79c6ec131bcb68e5823ff2f936f5f053193f17abf3938d5eac36aecc0b61d05c9b78b8986ba2e56606be30e7e06ffff66fffc55ffc85ff0e81ffde6a7fc5577cc5d77ffdd7fb9fcf1e9eaffccf0dd0f8b22ffb325ae1735fbe22f91bbff11b7ee9f4a33ffaa34681d59ffee99ffed11ffd518749ea0dfdaddffaad5ff3355ff3f039e8ffa5fbfddffffd1ffff11f6f2cbae4a311ba58fe811ff8812ff9922f193bef7ce73bffe11ffee1bbbffbbbfff00ffff0a77eeaa7a8f45c24fd472cfe97bbbffeebbffe833ff803cee8f2a725bef99bbff96bbff66b9399cf9d35bd4a9ffbe4ccc9c00fc78a629288876395fd91bf1877f88ce48371e749d1c32739b044e0901ca6e6299f1dccf8ea86c61f1a917be75337baaec56ab19a989938dcb89a5c81682aed1c2c2ad41327e596cf0e56fb9b5b683fbc5cd7ff736baf638fe2bf6912197019da6ec0ff078b6f57a4d82e906cb34252b0fa8f2ea53cef4ef4a63bffcf2d3edaff226b63119d0c9a1da364a1ff6f968c99e0bd4bf2e8f10167682ac91897857ccb4eefe0f1f99c0c3f9935d6ec5cc9cf2e843c0b1e8d18fbf946173d3b3f32e8fcf7eeaae76561fc59ac162bb1ba71b5737072c2a396af38f6455ff4453ff9933ff9fad7bffeabbeeaab3ef0810f488f5ff0055ff0f0dc4eebaffeeaaf9c84ff7f73bb4b51c23ffdd33f6d572797cab7b4beebbbbeeb3bbee33be8a27fe2277ec2c956822d213f24b7b320cd76a2be9bdb0df4cffffccfdc2690a9bffbbbbffbcbbffc4bb1e770fb277ff227f84691938dfb677ff667dff00ddfa0eb377ff3377ff0077f903fdff44ddff4c55ffcc5ef7def7ba1216b6d6eefb406875d0777cfd0decf7cd9fdd5ee45e5de17f4befd1def78c7fe3fb7b2fa7de58a6e6e1f7bec31a9cd990d16f32ace3ea373a0b3285a57ef5d5a116d50f49e7c02a99c46d0cac98f3336351b2583f58ebc66c391afab1a933c3a1f722c61923dc2e9db291f3d2ac486ae6bfcc97ed6aa71324b66868b99d63cd762b5586d5ced1c340b94120be27392af9c660ded64cb0d673fa74117b9ee3f1d147fe7777ec789d141d15dae2b4d17b02e579d12f9f9f77ffff7e45ff5aa57fdc88ffc08751f25a633c0effddeeffdcddffc8df58224953ffff33f77496b4f4cd21992e4e4403453364924e96a527ffffbdfef7a3675874f4ce5777ff777d9345fdca9ba6875dd4af2831ffc2057f9d6409c71196ba0bffddbbf35100be4c958088ce2ce961b2f7ff9cb59c0f78af3577ff5579de77febb77eebcbbffccb5ff7bad711535ef9ca577ef4a31fed6ccf253667bde0c6e67668c0012cb00a1f04ce620587c9e7e264e8c5aa1974c6c962d5249adcb2eb2040c264e2e462123d87587937f1e4934feeff731be60facafe837b716fb224fa6f61e57ade0ccf7ecd164c45fb3948cd5aee8c42f5e35d1e992a49b1175f609e0d3558738be4502cd029a402ad94986bcdeccb2898966616cb240806ef264b28f3f32a77c62a7cf63df58b43245b767241f67f8f9c00df23986b3589d282d56e267e36ae760b9e2cc3f9f937c65bd2f5fb962fdd0873ee48653bef2655d87bd9ff9999ff9b11ffb31e7435dce84ceae5ffdd55fed92d35dab7b4ee7cc12a07866818aa4e76bc3541c471d9bdd823a36ab9d9675957ba990f7a488eec42404eace9f641c44fffdbffff7d4fff88fffd81cf16563c2986f7ad39b1c95d375efca43b7c1beeaecb8cb677c275b87735eb91ca682e3f4cb5b84e255bd6333824d076037c606f5504edd38c6e58ff3fcab5ffd6a897d73fb2d6637582100054f74cb595861eac25fac16ab82010ebbbf6a8ec0011ae8cf796e9f391bd167d45c469bbf3cece333af9bcbadcbe7dc4f97a4e742f768e558baf874d5f80a7eb99d05348154d01164c84f3ef9ec6375ebe656f722704537b7f39b5ba10f0fc15aec8ae6825598ea3a6932cd936a5aa31b8143bef9335dcc66539d85d3662aea994568e5c21f36b3839f40f6991ac58cd73bfcfc49b7ae536c84c7e77aa726300f72d28b155806a5e8139f935eac16ab99bf0243d9397801c2739eaf9c1e1d0ee546b79df61f6e32bdd53613dd613ae939d03afabefded6f77b67491eb88e84295a4ef243b227edbb77d9bd3e9e4bda79e7aca45ae2331a65fba3aebd272c7eb06f50d6f7803ad9cef33451bda71d439d9336afecaaffc4aea2469e9a5f5ebbffeeb4eb0be27cca6d3a9132f9b6f7bdbdb7ee8877e88938626e9c88de96cccce177ee11772ccd78c1d7139fcfddffffd6f7deb5bffe37ffc8fecfff22fffb2833753ef7ad7bbbeeeebbeceb3fccffff93f8de87c9b039bdb0707d83e70b924303288cd579baf9afe4deddbe8f837497bf888c56ab12a42d4568173bf37b1819fccf38495ef54efcded7c0a0f24aee8e676a2507a52c49c40b4f21585bdc7c5c74417b56aef63c42e19f2f64c386470f031d12ce0eb4507310bd164f04ffb68a5f73d0862bdef41d36d5c4436f3cd58d96fe8642852c18f50e3ab4717a19051f880d66bac646e3b6fbe80ada9371fa60b414b6f5ac92c568b55f1bf71b573507e10068f54be729274a075d7ea0cf9b33ffbb3ae587d55989ff8ef7ef7bbfd3ce97def7b1fda9e80e7ce81bafef11fff11edb449b2d836c77d43184dd20daa5a21894fccf1b8944bebcced691153fa3e302deabe0bed086a44024ed70ec02cdc9afc3c165cb7b2d6e8d5f94646d3af85fdd4968c6b5b3f21668d8a1581cc577ee557ba1076e8359647c6378a43b851d015bdceed9bdb43a38f66d7413814c008d1b27b0638ecfecad6ae78d8bd6829f4ccede68808818f827ea4b07a26d9efbf0f46e08a6e6efd3fb7b6176010a66a213ba74744fc4e749aa25c1cb71c261f4dac09908ce65d5dcc8b4285d869073d63a1c7f849e703537ae34f6f061b05736422d4e99ecfd8e3c43f9f2b157c84929f296a66fcb473f779efda9cc7c92c9521b239cf7e33e4bf2d24172b90dcc5f9dfe274d35aac36ae0a15385c79bef2956367c26ffcc66f0c106754b94b9ef1ab5417b37ea48af30bbff00b6e38fded2562af79cd6b483a3aba2075b38a560a2717aa3ffcc33fece6d61c7440f5035a5a6e56098f64f2a97473eb27afe53df7a8a3ee14ea26d691fb177ff117fd86d6978da938b5faa3c7be0bcdb7fef632c591d4e500ec87bec67508f7135cf7b4be69fc6bbff66bbe5c9dba8b5f275e9b30629ed1952fbec79c1878cf7bde632c5f6666b98722505e2d996b6e6eeff30a07802c56e2a7f068eeec9e61a689d8284e8a99f2ed62051f50b45759ac20a0141b886266eaba9e2bacbc03dd9bdb1bb8ef2f577473db7b4a194ab4797f297147235afea5aadecdd4045ae90c7f5ed8e39057f446e0286cd64c0b27cc6f3b6f54341b374e63258cb64dc16fdcd1d56b5c5a273f310631154d322ca0496610dd146a5c4ccf951d9c7996eca79b4c66f32de3f98c6f207402849399264e6ee38f7d1c028ade081c253bf1e31050a2e3376e9cc64a00bd582d5685131c36ae2060aa8242315fd4d73907bbf0f4ecce81ae4941510e71d5f9a55ffaa56a8746ccae400987953c09bd00c4299cfc90d5af61d1b49c9935076432ca2dd8ff265fb123efd54bdee1930c757fd4ca4f7ff15db7faa92dc2d0bedeac973c49f693d4eb0bc63c21a020dccab2e37cebaceb8f4811a38ecfa07cce723fc4453be26abaaa2df7fadab333396bd0e8d1665dc3416332153e1e2d7a9e31996936ae1a7f73fb62250636ae767f35e9a844514a99d8905b4660b11a289e5bac98ddf21004aee8bf02f2773b6c1acc345b1f3b06bb1c33b0b50a47d397d370ec24c24b13d3656ff26a5dd4e3a35d14906fb7a479c167f994c9d4c83796cb043286f3bd32028c67335d4df2b286294126df3035d1743d4e767a2e929a0c92e9b91a54ed7959a0124ddee3e0e0a7ab2bfb8cf361f83d3b2dbd8bd562b571d5fcda3928273c52f9cacd6a09edccede555ff05ae7b51e95112f36a0ce1e027b12b729dbf17e560e98f157b9c72b833a7f3a7e247bcee6fbffddbbfbdf39e63a1836599f0ccedbe12cc94e32b4cf8e04e954137ae6aea7e378befa46a2006f1fd612abb402752b7c7988aa36903c9b7be51ccb8ffe4d64f8509bb64ee37c3c4bee55bbea5dc4ecca07e54ccb2e7e536c7fc34d75fa562cac3fa8dae513c1df9cded50f20185d5ae83bb67d8fd95e9208f9911a643f1204b483b9abb173d737ba9e311c44a6edfff0a48b83ea45cd1e1d6dfeab027f036bd750e28cded42d96e238edd804d8c09ef24238092a9a66be6db1b253376e832a2a9d89ad86dc89ef64376c06a7658f3eb29f61bab819a365c6a94f64fece3984bec24cf08fb19cf7ff6f9201969328830445b224d5ae3033b36736c1250b2cc3723b2991dcf42a6b1d0fde14dcdc632ee8940fe2f567058ac36ae760e3e3af9cae9ce815062bcc8574eaafeead2d77ffdd73b73227c59b7ff8d969822eb3a223a40f6fbd872bbbb5f7f1b99b03fa7ec182c134a83149942dccded8676394c575e95391114d9f437ab0c6ad5300a9bfe475cdf8e66992902cc72808ce2d4cab83ceca7b646546831e53fb685b0df06b3e0bc2af196db1da49d997dbdb939685c02840d67080f28f35b3836b7b716ef3ab87b0613c4beeed1c957bbbf322b772ffa99ecdbfde1432b854d48a700c4dd72760d1da17e16a593c203eb61221e857245bfb9edaf2537a3402fd959fbcdaea1fb3cdadf9c9fcdec66eeea668430ad54b289dfdd4ebabaf0c960a2d939693271c69f64f26d6836b373f2711afaae7d5d4a7c75cd74733bc5fc44df95bcfbbc8ccc23a3d3caf2d83f9f7de48d3b8a8dabcb88f117abf37359ac36ae6636ed1c9c1c52de7874f2955fbafaf6729fd4a3593bd2fb216eb3e99c5332ccc6d5231b57e57feeb522ef9e0114cdfd30099fdd33c06162384cdae62d5660512ee204a72de88b032b2f47f637b7b79ff3bdd5cd1f58ba92e2bdb857e63d6c778f686b3cbea047972c109337d1bada0720648de4d543fbf617c5f8e8b1d93b635ade17a2f115e3faf5145d43a087df7c1b07b23ff2f1f3ead6cc8d1d63b1239db1df2fb2a22fc64dc63326c372d6c6877ca64b86ee053f1f1ab4675cac16abe2241c36ae9a773b07af2d5fb9f2fddeeffd5e9fbef7dfbe1723737a711eed2a357e77b931cba2646ebe4573fbb520744c753479c5fd30015aae76b319cd66fcb23aad91c9025d1c74f635ad1ab436b787d8ae83e1b07b06389826edc7767fb57b51c1d0fef662ff8caf142762e6d1d9b7fbbfe2f26debfb10b8ae9b5b8bbd95befc0e1149cd516d38f163ce4972849357cfc99362cc38d9c151864e662c93d43b3611e740274d9127c9df9abca992473422f9fcc729410f3fc561de28dfcac43fed24939d46ccbdb34e77b15aac36aeceb913bd73b05c51f6b8cd349fac16ab33df0ebdb9fd8442ac1427c3dc75304cce38698a2d566516c800048d58ac06878bfddb6215026ddba49733665ee858f9ddcadedcf6f9de57ffeb9be3fb245e34fc9607313d09d1fb18eb28ced445bff79a6602be82c644a8c9b700b3803fc8781fcc42f6f1f592c7195d349973f1a64b663c41e3b0df58f5da346b2a747110c9e0a74b9e850bbeb1f0933762366b46931f19fc0a0e9b3d350e999e623ca49bccd48deb19d3a23ecfab8b7ccfcb02fe33e3dcfcff902c641fbf51704617bd5805d76225a836ae760eca09f2c9e410048ec0d87c55122edfaa95c5aaf5717080893869ed13399ad18b151c162b61b0fb2bb9745619b469d21c8956ef5eb4740199470a2bfe6cb90f812bbab97decb1c7fc39818010a01dbd2664679f641a77e2c2d13b73de6299ca4079ea2699d9720131baf81169a53296c78d54467e54868f337463cd881c4ebeb1a2092394c61ae7c788ae647a283462ea146ff46fc592c9799c24118bd589e162d564393199889a98299616abc56af355f9b3b9105d56af367736b7cf3459ac262a4aa185c7ee194c9f820401a2b63a8bd5acbc173964b12a48448b7974c6c9dd7cfb2863e567506f79cb5bfc3486937ebaa2be287edb82a32b223a99e4d5778b5fb5c44454349f216ffe851b8e3afaac87897814ca15dddccebb5b410c7a75047e4d59002d398a781ceff3844262ee15cb11baf063924917412b6bd51777920414baf8d12cb3333631c702197462d9cf1f1c5a49cebb4616b2695c5ae992376fe9b60ad21a3b3823dff3124e3ecfa3c9238c350f15911d74ba464c6cb15aac36aecc8b9d8326423901b1f92a284445f9b3fc0c19657272cdc56ab1120393438a0a98945735f5ee9e61e6d1622536c40340c2a47c224e26dbc4173f8bd58b12ab52c4d6f721704537b7fdb564a732533d38447c344246c0bcfb2e27c9e10f8e54d0d423868e9359c9a5e11aa81a73ac4557b330f2334acc9ab412d0641f7df22f6cd695e5a931f3273b3989793e0b1cee93499ef062058a7058ac8ac3fb70105d8b5533b77ae7e0a071e643b02893a916ab0059acc2a1d83831917034e596f20f7ab10a1ff505268b95d80896d6a9016ab182cc9987cbc08b55711232273e27fdb9c5ca9f0cdc9bdb7322dfa5afe8e6b6879ffb254d74cb40a735015dd3fbb0592989e18b6932f8880addb4b2a3a6db5aabaee95d5a3b7b4dbae4c9b0864e26bab1c89ceff2c9e44c79797c6b5c3e8c3c82ccd86c2c753219d154f2274e3890d144e77932b7b2375532231fb1582d5662a360285436aee0b073b090d87cb5b9bd0c190ea262d7c1dd33c890b387b157912504c6e40af8ecfeaafcb9fbabdd5f7d8afbab765f5bdf87c0d5dddc964fe511a976661174e277208c3ff937269956eb817284e38c4dcdf2d4d894b0665cbd594e0bcd0ecbd5e9e6db851d36c760bae37ff22c18689eebb45cc64c7dece4e4c88f3f11a7d80365e6f193ac8ec9c26275e2b958157b30d9b8ba0041f381f3eb42ec81321b571b579bdb771d9454cb0f250df5c55a7faecb8427e7e0ef9e61b1120f0a1cc4c3ee458b87a6c6c446f834771e05acfc92f689279ed8dfdcde04ee3de58a6e6ebd2fb400085901ea5d727b021cb41a3ef831c9e0248f6fb6775f1a86f819d1c4a7a5a9b09340f48cd5e2a1ab719b2d8d1bcd3e9ba72e15c2386c92b935ff49fbf8f993c164a269cd73e164f3b483a99061103f1f7046265a6fcf9ed8d84c5e9dd86205b7c5aa18deb89a4931f30567e7a039b2f94a24287245b131f97673fbae83676c40a33577f70ccd91dd5f890751d17e4ca8ec5eb46d6779430d13a1729d7bd152c7d6f721708d37b726835d45d973b6e69aa68adc113fba99a36e17620a8dbca4834f5e8d8e18cb17f2176351a99cf23835eb3a6dc66193c05dc7f4126e39ccffe67c2e9d66c78d085df999568f76ca346275c26a65dc48f8ae4bf99341f29aeafc399f6bec9ff2e3c0cd4847c11f79ec9af59f36e32479d731bd8d5517238bd562b57105819d8340987c82d87c0584bb29f48c93d2e962d59ab5589d6b7498cc9c6aa96da7b171352bce200693c5aa8d5c9800644268500ab7c50a0efff22fffb237b722e121e58a6e6e9b2adda58488f7e8087ce5bc6f19bc4cb691717a44e3a4e29de264eade2fa6c594454ead39baa52dba8a2e3e44931c7f70b29f6eefa2b289cf0201f28dd528d91f99fc21490693bc7aec2776e11b19039d328d950f177c16f01532a77b59ceff6416abc56ae34a0cec1cdc7c5518c8998241f2d43c9367f956d7e676c828ad238bd5ee19767fd58ca86e5ea0e590dd5f85c395ef45cff058fa2e02577473fbf8e38ffb4f99644c69427668f18088266644db8e5957869f5635c9d44d2d9253e38f225a213fbd49dac10c1f3d763035933ff9274d26fb6c0e8de0bffa81ba9809cc7325dcb8758d0c222892c9267a842fe4c7e605ffc24eea17385059ac06ed1083c96255bc9de1715f7c2e568bd5cc2001a3348f0a8c3809a017abc5ea8c01b4a89850099ce2e462fdc2dcb85aacc4803dccb91f6bc356cc0824842dcdc655f365b19afd4981a17e6ef7edfeb3d9fd6bc9507d48b9a29bdbb9cf94a720220d4d26421479bd47af97fc08b8c32cbb09d9a2b6aeee36d1325defe6e912a0db8a883f32baf0f5269f3f98e90e3ffb658764d0f226fb08bad1146b5ed864edd4cdcf9e0b9f57e4c9e06b8e0facf58c08253e99c56ab1824031b371b5735072100f70d87c0587cdedad2f8343b1115384c81bbb0ec2419993cf6225878810b13171d2dec3fab258c1040e206acfb658ed5e543c3c64df2e42b63c10812bbab9edffb90d052b4d1944335a5d97e4d2894e132ddb5ab0712ee4f5c62f416b8ecc297fca9c2b5c74361bfab4dfb86c8e9f638762fcfcacc6492553e8f12745cdd37ef2c98c70cc9e62c6c5bc4b37cac823a217abc56ac269886263e30a0e3b0745854898745126995081cfe62b9884d262058159ef9a3bbb0e864313e7cc278b557b2a38482fd18b55f3e562ee0c3e8b15285ea0fbf6fdcdadcfeee1e58a6e6e9be1de8799f0e89687d089836eb6f76e3579cc897eba9a6347028d462899ea4ee342260123c6f72e6ae8b4f0f98056f3a1fd5f32388d8bcfcef8803efdcc261905ad17c1c2bcf74237d6adc88dcc3c171a930f17368d1532a39b873d0515cdd307cdb1397e62a2594e0ba1605ef04726819e9d0cdf86be55bac17fb182529f1762f059ac8a9089a533c636ae8a199804c5620581cd579bdb2706761ddc3dc3ec5b24c9736fd3da3a7b27bd8bd562f5b9dd8bb6826f7d1f02d77573fbf4d34f5bc96425b9c901a955cdea8e838651c19accf4c6a432a70892d1679dc18c0c7f2c0f3fce6913476f0e9c34e694712cce88e1e3ccd0177c6e244feca431351346f7bc11ea84f5c65fac16ab8dabe6c54c34cd0b4ca6eb827fcebb936661e36ab1dab832715a5b2718cec9853ecbae838b55fb93739752849c9ce264b15aac8a01381424d6dc1393e2a4bdf7c9978b62d28a1f27f94721aefeeffffdbffbd792cfa5e12efdf96f7ef39bef729f578e4fe5c2fec941d78cf8546a47d6c486b8abf5e10f7ff88d6f7ca378fdc4273e41cc3ba757bce215dcf05f217b3f8716bbb47429fddda9f8982f7bd9cb6811f64d0073e3631ffbd8ab5ef5aa9a68162afff44fff8449978564cc04ba6accec641387e4c73ffe71769249971d62de1166c7a046a4dbe8cc12208f49171f616770e3f1d34fa315fcf1b6f76aa9a34966109dc37e926edc9edd746524e124172b782e56b761b571b57370f3d5e6f65d0777cfb07b864fce82dd5fed5ef473bb6f7feaa9a75efbdad7dac6dbb7ab1f58ceaea123d4cfa2743679603d4cc4a350aeebe6b633dedd77397d12e66aef759cee707a73e3d03bef6910f8776530e74d4f463238baa74092895d08106b2cc4859d9c192dcd74b93a5db4f876c1d7c42793eed498e926900cfa9424b058416cb1dab86a6a88849d8382010ee58dcd574151123ef3277ac059ac4e28162b3173864d2965988b1540ce3dd8623553a6d828b78065f7a24068fa5cc4cca4df172b566e1df6e6b69c795f7d5dbfb9950bba170547d9b35dbb89e14eb54c918c24625628f35b0b2abdabc34ca68c932e1a7f6430d30df7684c4d968d85483e015d2c188b57f88ab122d4f8d1c64d37ad6a5d594e977dfcfc47ccf3ced391c7673f19f5c8a0b3cf60cfd8108bd56205818d2b7367e7a030d87c35395348a0cbc0933fcbb125cfc56ab12a6fc061f70ced2b5a4f9b3b38cd97dd5fc141bad8bd683b8ddd8bc2c1ec1012e71c99bd68ebcbd6f721704537b78f3df6985bf8a2a4b3a85adc74728b0e2632088946185dc8632639fc413653632723d9c1445c8c65dcb1aff73e3addec2473da444f613f3adfa2536ff140e77f5dc3d48c46246320f43c635a17fe67a4c72430fecf28a3357652512f568349282d56a242e49c318cb3717511273b07054981a156365f99238343e0680e73e891d9dc5ecc2c5642e2ccb7c54c713261b35881a2b2589d5366f7a2cd97d9f70a92937ebeb1f225e4fd7f6e9f999a0ffef78a6e6e7b2f080661d73b21d169ef28222710c974ffa9cb7b56b48c4680bc1a335d5a177634e9ea6df78926ace053c4449f63b1dcfbecec93214906814f323e1a33f5f8c4947411baf896002de39eba09e8253fcfa8191fa7878a93cd6876c8283d2fe2c27f1c328b5538a895c50a08e267e36ae7a074b1f9ca5c906015f362733b1c0072b18eec3a285b82050ebb67101bada1f2e7c57aaa099fc5ca24dabde8450e2936ae702feac1b73c04812bbab99dffe7d6349025cba4d55697f6a36a1c78492227a7ac8a5fda251fa623af49465dd7e866399b095c8cc89974f1db068dcdd3870b0f33950fea0b9f717ac6ba66dcb11f3ffba72ebe3263a1172b20f4d15c7c2e37482d56cf80030af8a817abe63e28760e4ef6db7c35b9f7ccb793698b9932cc62b558150972c8acdd888996dd33cc7c990cb3584dcc0c14c0412f5681a00e909ae5617453ec0587d5fee6d667f7f0724537b7e5c1b993b4827a07d69a61b540cf9ae1ce014d3e3e4933013def56e50bf4299f9d264cd904ee6caa673783889e39c6c279a73abed1ea1e15910f0885e5dedbd5cc3e6b3c1c79327af9d358f80d47667cc6499ecce88e6ff9af1e7fc8186bb15aac36ae760e8a81f2cfe407cdc93f9baf0267737beb0834761db4b6b69e8a0a809841e64beb69cbee620519f9041aca6275c609da864dddde0f3e8b5573274cd433a7d0d783550bcdd6f721704537b78f3ffeb8b71dad22e680830a1a2e264344b45a530641b48d3be964a8cfec4aac1975dacc0e3e62e81908271576d8a7984cf43876a3f9cc9d1822574f7fd07992cf393c92c9d77ca09d1977248965bf67c9c9f3b9e6117465f3c21fccd38dc50a208bd5c6d5c4002814cde6eccec141234c6aaacf54b3589d49151a8bd5c5bab3ebe04c9c07ce1dcc4268f70c259612f26255d8b44f131bb31e452f56936901f5e860e53f0d7df2c927bff33bbfd3a4f6fb5bf545f1ff7de2e88a884e2679f5dde2cf12c59cff25487368040470d4d1673d4cc4a350aee8e676ee2a4d6374bb2581dbfb4284c98cd68b36c3c9e0283ea7687c858c5e44fce86cf68952c94ebae8d98b78f7966232e5113519ba98820f8d50d81c3e2dba777da38b9f7dba688a4ce1249f4b634793a99ebd71d38daf4b6167b10a46682c561b57668778100c3b0741b1f94a1e2e3fc8abe54fb5d81021850a3e94162b382c56a2a278283cacad62030d99d6d98999c56ab16aa151377700225ada7f9673a2f1958d2b205c2d56f2c6968720704537b77e73eb3583992059d88b9ca0c4c4e92463376fceb46bb1dee0e3945910298e1dc4c8eba24865e4d33df9279dee58b8182b5d06114abe8df33390ae647a28749e57a7a8cee19ae9a27b9c542e64a69959cdca69673c6fac0bff17abc5aae0397110453537ae66bec064e760390414776366f355981424532f564d9c16dce8c16450dab8da3d433bb4c9b7162071a2c48f1627e7c254ce990d12999d833059ac84843899ba3829963e9b71e5e676ff5a72d1785f7d4537b7224f207aef25c7354bd54a196dde9341ca3b78b52e92e44b7038e73b337432c9b78216dcd61204ad6408c46f3ea08d1593e47d63e94a9ee57ca38283ce67cdfc41f013bf5134f35c5d3ac657184c52add4c427963f084c34adf8ec2f568b9560b80d998dab4fbee7da395886911f64a46263f39569a2944b1100d9dc0e0711b2eba0f9a28403c294111bbb67d8fdd5eeaf767f25493ebbfd555a5bdf87c075dddc3efdf4d3d6da569739f8d9850c0da69aadca83daa8444849edea4e3e2679fc8275ec8cfd112696fd6afcd14577b6cc4edeb60a9e350bf99c7c75de3e90a32b9f8dc89f689288716fbccacef8a6d958e90e8d3fcf181a29329b4a4463e19c7c4c9cc5eac404208b951883c3c61510949d83e59ce685c982d87c058792b008298184cf6275810c942e38105bacc2e40299c56a10808c38698a2d56ad41b3129d28452f56b34bff6c62f5894f7c627f732bf61e52aee8e6d6bbd2a2101cdeaf0b4499cb56491311eddd6a490d933c99c4e67dbca5114dabaef88469758f81af39bb73f4e80e8de009fbd949374f74e52722da887c53e3e3b04f9e4d4ccde16bea4a66e4114af2eca3a9d0353a42e173f66f056f7a11d959aca0b1584d3c141bc55bd1b2710507b0ec1c9c7c22ff944f0693cd5772ece6f672a95a3c0c8dd875100261224864d4139f935eac767f251eac38b39f9463d1c2065f892f4e44d1620590173d563eeb2d0f41e0ea6e6edb6798ffb3316d67663280098d2f6b44ab350947a895d18d8f43b795e9b6ff5f55f0337e61339556b50446d1d0f171b2999f9a86cbe098c5ccbd93df58e99e92274d51f3b4dfb3c49cb10844e743bea5abe6676345ab732642ad2c562085c36235b174c6d8c6d5cec1724838888dc987276d06153617f9e48ca593deb8dab8dab86afd6d1e55e32890b9d84b2c5660b9c0e416aac5eadfbc7929af2e56e76c6a427df6f7ed1ffff8c7f7e6b6497a5f7d4537b71391b25870cc3b305dde7515a6eadeb563a2cff761e832a03abed99eaee04ebef91fdd869e11bdd9d45bd145463d77adf863331ff2b3b1a2934f970c5d7c8aa79d5317adb7baf3954171d4fce1155a4d004741cc33b6cb6cdcf823b6582d561b57c5c0cec122414e2857a8cb21d2c5e62b20c047d9dc0e8a5d078b07a9a3f5b71c223cf0a34d19b4b2580101328bd5ecf7ca2160991c0b9ce8c50a02e6d4b561e5a9b7dc87c075dddcb6eb9231650479616e0942675617bdad371698644618d1f2438656cdac69ea8a8f3e47b9501fddd3f8c89cba770d36e839d67d3ef4088d85ee596252c73f0570a6e0d73bf5e95b623888dccbce62156e8bd5c6d54cdb130af4ce414963f395bc3a20944e4b1d81337975b10a96c56af2c92c2e11d3142a8bd5395fa2777f0507656203201333888d2b20c06770780161f5f297bf7cff5af24d70df5faee8e6b63b96a2b9fbd2a127c4bb7fd0b4ff701216f475e1c3102d3be0dba4ca170a01b42e4432f1d98f4f1e5d4ea14e061f11adeea349862e8e3a5d5dc6d26ce8a11bab9327794d3419a39c3e904f910c9a58a6e2eb32cad8d4d49b009a3fedc0a2d5b98a1f313e682e568b9508d9b802c2cec1724839277a728526fee62b71a24cee5dac201026bb0ec261f70c762672852257b4172a870027be3889bf582d56b3be482357b8172d736e7d1781ebbab9edffb985829c284bca0bedb45a5c312f00c24fd29c21af974a1c34a61abfde6926a38b7af61b0b876ecc514f6cf819b9f02737489e63ddf567c61d9b8829f930fee0cfb38c62e3eae28f7adc38758739962372723cc41cfbe80167b182c6620584e69120d939d8fc3a275df8142a8b157c8030f964f355a10293ca999f17ab090fe094699fc1e9e6dfc56ae61134162b204c90888dd99f5ccca3c50a02ca62d55676a000481b9838ea49cecf2b56fb9b5b503fbc5cd1cdad505304a2e043c0051d3a08779e312535ef05e3938c6e45ec6eaaac77de53e19413eba21bc1667c4b08da28f80d8a8336629c86ee5dfee88ec0dcc7b2dc3b4b5d2c9c3ee4303b0a99462186ce2081ec207845377fe2d3ca427ede9a59ac6e2059ac80503c6c5c3595760e962e365f958737b74b11ad68bb0eee9e61f757bb67d83d83a5e1f9deb70379cb4310b8a29bdbc71e7bcccd6dab2f44106abb34673c0bf39991eb6a238b6e27472cba73e3057f4c0d9f41cc763f084d74bd8d359c64926fac91e7d88c8b39fcd3cef8afb7c7d11b9d7c4c745a231fbf673f7d43134e3e7a0c9eba04f20d3162f91fff62dc53beaefcc1efd919e14c4d74bd8bd5623571b27155306cbe3af343c947de1027d108cdc56a737b61d09a523c142717b131ebdac6d56275c6c01927c5d2ec79742d568bd5e76adffed297bef489279ef8ceeffc4e0ebce4252f515f140238ba22a293495e7db73822c54454349f216ffe15f338eae8b31e26e25128577473db3da79464eb73de39a07de4ed8a2673f96c9247607a07d30e9b248e4d0379b4ae3e4566c9e097f2f0110aaddedfa4e5ce67c662817c7cf29ae41b8bcce8b2a02b3ee1f8711a7a9e4bd7e9c38c4b97ccf89f3c0b46195a2fdf32a81e9bf868c24afcf19f59bda70fe8fc9cb17016ab6059ace0b07165929ef3eea445c8cec1268b38991c52ccc83f8bd5ac2f9bdb771db4d49a147068cd353bc2446c983bbae29b508bd56235b1211e149964f7a27000cbb9671627388a193439f691c5eaf693dcea5e04aee8e6f6e77eeee77acd101822b8f540ddc94d404f17025fad2b3e79a18fa379d20954c73719d2cd9afae45fe8ea1df98bb11a179300b1fc7c207d9f7dfc14d5eca8cf67f4383d0b7e746345634e61c7e8d577ed105bac16ab10281437aece5c714e10f4cec182a4bc171d2ce8c5ea22cf2f56cd975d079b23adbfbb6780c694fbe6c8623571b258b5279975596ce0549ff13340214e7e34665a88c1362323ffd9c957fff22fffb237b7307f48b9a29bdb50e86e44388a72f4c47abd2218e19d4d7c62ee0d62e2ccbdd349cf0ca118bfdd095d255d1cbad98ca655d7d8a4fec0b148e60ff9681686a665942ca395f12d3edd06a23b63e1e09b9c7545d3c54193bcb574f3fb5e447616abc5aaf8d9b83247760eca0c9baf80b0b91d0872a355436668edd875b0c562d662cd935eaca0d1d6e2813964b16a4ea9ad358b151c762f2a8728edd51130d9f27004aee8e6d66f6e5ff6b297d98b5883e7a58b28699faa8654411347535ab10e61224625b191bf20f4667f74b336753b806cb61568d0537e64c687ccaa53496098c3474c99210863e67fb4e6acaf636a142fe4e7c1199ca7209cdb7134c7ffc52a7016ab6275e3aab906879d8367fe99c088d87cb5b95d24cc3a227fb636b5d0c42750082d568b951838f724d11333133067fc5cc80c861b574da8c5eacc3f45cb45cc3c2271b57f2dd99c7d78b9a29b5bef08c565b3d7fb0f843c88e39d50eb28a4f007afde9168eaedce2a95de218d1d461462f8087c5b5866c74ef6f1d9495717013693d79cb1f2a74483c62f839321cf722ae30fcef075b16f20054d3d7975ce6046c467397ff02b7ae93616f5683e8cc19e853019fcac4537ca62b5586d5c898109839d83a0d87c25496e6eb73a08865d0767b5b59ea261224b088f594f5b67172b7b8cc56af757bb172d335cecdb275d2cf14004aee8e6d66f6edb637574044787344dc49ccd62eac5b7ba204cad54126b850e4d7444eb5035b187db6c194ba681d4e7b89a0dcd7e83e6c329d328333a22672ee4e7b9b279dad195fd9e8ec0852eced955331974ba0885d862b558890dc1b07175318f760e9a1a30990932c94db42c56674e2e972e56e1a09e50b988135dcac6d5e08058acc40310767f656f0687d9dd357744c8dd3ddb62f502c56a6f6e4b7d0fa9afe8e6d60c0784f3ad69afd40c1abbcfee21270b0c64b3f3a0d2d9581726797576bc6745d355a3477764e4dc5317dd7e377e9ee02493cdfc4193f97fed9dbf8e5d4776bd31922081b60027060d3b7724c3c0240626f4d3185622f80df802d6400e34d9bc8e3070ecc8b913060e085a003143fdbebe1f7b714f9d732f9bfa89ddb7795605c555ab76edaab3eeae7ff7b0bb714bad181b18ba20cff7becccfd863893d063e0bbcb397e6dac0dbaf2b9d7eb427b72f87445fb42259a49684fff8014b9ad3166f18d3c4678187c49e5c3fd5aa5a35ae3a075d435813ba5ea1003ab82693b33eb826bb90766d4710f5716faa56ac9feec8448efb2c9ac0644e113fd5ca7954ad3c6fe40ce63a234990a08fa738f9c615ca3c16adfc109b9f53e0406f6ee7cfdc220753da5b1f339c22735b8d98de62360c98d8c45e921c4b4931f97462958b857c3c63a973ba4e1348d3d68c31504593d807eb875a6c6c68ae4186f7c6f56dbf3a844c5f008ce3dfa23e31d38f3e2966cc69ee30b09ffd86b4a30c86568b13ab261fcf58ea27638349da9af9680ec37106eb87b63e17b536d720c38b73ed750899be0018673c16f589997ef449b15a55ab8490a1d5b84287cec119062e175daf9c20e6596f2956ab88907da75a65cf75e26c03a65a1124cbf9a45a4510c5219f8734cf6fd884bfceb8fae28b2fbefdf6dbfe9d5b3ea673e9406f6ef98e8ac5ce6d32df77b23e8213dcbc5724b8118b80f6fb1ba3dcb660ece12531c3a1c6b48a4f6ab5a72f79804d96f7bad486c78684b7f8d17fbaa05ffbc22c1806cca80078c3bfcfe273f9bc74014f4ed21e90be6e7a3d8d539f606a337eec339e6a7592eae633ad56c649e32a73aa7390b5820587044096ac51844ab0eb4fb5aa5628602236ba0fce3d1735d8735d6091a86706c45113d450969c4faa951b10ca64e1ad5648a12cc609981d8775e623d3caf5b3f939050ef4e6363f73cbe427d6097400d380dbe08211cb2ba29321575f1656aa76db7a5cc3c02586261aeb9f56146303b0684e2f8e21b99f963c36d3a74e74b8f0f196e7c22c8f90daf412c6eee0a7bd0dab553e0594571354aa568d2bc2603b3733a73a079923aae1f252ad5c495423abcab286572b95a9562e2f3d3310091e421464ce17188aeec5596a04339f11d5b86a5c19338f3daefa33b744f2e5f4e9b367cf2e5bfce2b53ffdf4d3e27332608b82bbe4af5fbfd62c60dbeaf9f3e7bff9cd6f58255fbe7cc91f04c280fcc58b174f9e3c79f5ea15e3a12df9679f7df6ab5ffd8ab811f387920130d863066f5b8cc11863c0da8a1fcd98367c57044ffae4934f68428f692bc68631e093b6f8017ff9e59734a7488a3d5892ed8dbe1c27d8bea80d8f7f7d2e6373d874814f4602d02763a30a3fe4a4f8c186227d391eccaa55b54a0c24e6091242ae71d53988025dafdc17bab6771f64bf66bf709375913436967d19836a55ad7abe320698293d8b7aa0f24e71c7f315f78b3ffce10f4f9f3e05d0847c37cdaa6001f9cf487c6ab4dacd4302ae211de8cd6d7ee616ddf3051e80224713ee787e97b3fd5e67dad836f669cb378560927e00daf80da2dd4dac4fbf74b45fdbea0727146d357348799d83b167c019cf2e6fbfe9fde4e3edbb47c760ad558e2dae1c80fd92cfbeaa55b56a5ca140e7a0eb038b49d72bd784aeed736dcc2a812c13572b264ecf0c3957b88ce48c119e980193aa1522ccb359b5620d4184a39d45fb33b7a7f5e05276ac9fb9cdcae8cfb4b062322be68ac9ffcb77f725f7ffe86303c69eb6aeb0f97ffc34142b30f64cb0d8839975e4fecc0cbc981eddd11d036d616c0bc6066c47149db7dae8c7b6b1c1de5636090f897ff2f48ba536f2f821810558faf393d8e479a9d20f24a95a55abc6150a382f32d73a07591c9045655c25c8bb5e2148d7766607f385bcfb60f653570cc2833504ccf471cfad5668c299441d8201a46a9538e959b467511713a746f35d050ef4e6d69fb96556b034a005c1c18e927ce1158bd5c47d084b188bb6d2401e27364fc0c16b2c0fb653fb9d7dc14c1bc7938eec25b91d31a4a5df690fd69e1e333098696391dc55128773fcc1739c3eb5f9c2db9dfec18e2ddd4d4da8cd9026afb16ec1d56af97cab55e38a18e81cec7ae562dbb59dcda2fba07ba52b43365c232439b5d5ca75c359c32a5aad0c0f6303592882c9e719ac7175cd67517ebae1bbefbeeb6f4bce42b705077a73eb4ce6fb3f0051eb7c6632835dfd01ce70730cd83ef91ed13325b5146d05b3bcff84c760f230267840beb706fbce079e7ef5a3f3f9ae233c55f00ec9713a669d3324abb497f43b4e782cd31755d83818c7405b8a2c6db69d7ed216601319b06300686f8ec36a55ad1a572860ea1c4487ae5788c052c9dad8b5dd7da4fb20db0429fb7bcf0c3d5fb14a10129eeb7abe520df29c4bd184fd14895c43aa153af895042a359d53e0406f6ebff9e61b7e12da6fef982d2822561a57583055f09e4820ad7552c9cb2c6d97688b3dc64c45725c4972d01103260fdef5ef78a8a5b96dc1f8746c3ad7c639af8d0631cbf0c24c273a27276dc750ad9065eae6e758ad50a071656c90770e3247a283b1d1f5eac25a51adba0fb2db1206264345c6a9d43383caa843b55ae264ae2d060c06d52a9b0e6a644e7d7c5af13ba8fa776e9d11e7f203bdb9e5bb1fd647578160d602bf1f42208ea760e6063381dcb9813d89a26d01f39d8cb26ac077d2343c99bff91bb916f189676d686b13bcc1bb12e193048f0db96373363a1eabe0b1b739bc1d5104936b1f1b2c198ff654c1c71ede8eb4b12de3710c18031cc31c0f187bfba249b552b76ad5b822123a07bb5eb1661209a4aeed0483cb029ab0425a648e741f440183047d50a66706e304297abeeaf98aa9c15ad1b3e81dcfedae24cdcf2970a037b7fccc2d7fbfc43594e8615565a761550da62a32516b840120c1ce3a0d526b912afd0060f4a37d2cd31c867ed35778004e665fb625b797650c9034b13b4130cee336ddc998eb7962193c2cf6f292d52a6a2436fc2817251b574460b5322ab6736a46cbc42ab6b58f928dabc655d7f6ee835958003d33b817471356cb9eaf9c231e08c9e72e93e2dc68c0a468d8b8ca5e1c4dae2daef8bb41df7fff7d7fe6d6d0ddcd0ff4776effe99ffe89bf2dc677a5fc1d572395ef95c54843acb822f0b7e9fcdbb3d8f837eba80570318667dde4cf49f1df9bf9db5cd863038e1fff16a83c7fddce5ef8ff032436219c90f0803db97f57168c7f06860d63f0efd9da9763c31bad1c03279bfc9d5b48ccec056092649cf8a10903e0fb726c18b3cfc5684930e8400e8919f60c009e22f627939bffbf5dadaa55e38a49d439d8f58a89e01e413cb8eaa2c96969efdade7db067869b5343cf0c9e9d7abe62b5ec59f4439fdbfff33fffb37fe796fbcbb974c437b78b161c5660bc910a34089fa2369c6958c421e7f761d3183c6db0d43e4da6437172bf33b3b9fed30ba4ef4ec3301eed690e26b79867090f6054b1713ccb3871beed978633e53103acdd161dc3d4814e31cbd81c0cccb4c15bb59a9fef14b65a257e66cc34ae3a07890167cd5cacc0993e01d5aa5a751fccfb5ea643cf0cee20ec293d5fcdf5d3c070ab757535f71c52ad1e562bde57f5676ee747b0c507fa995bde433221999fa8002617fbf3729e7ec002aae4a7bd55bc6b05c0e30d3f4cfeb4d518461bbac0062c8f590600937ee1f1a30d06b6a2a87f8a247d924f5e3cfdf81e1887586ec78fbd4d04b8756cd8b3be634f8f0eb25a29919f17b85aa140e38af9d239481874bd623ab038746d7743e93e483c20c576cf65b2b87700aa15fa2848b5f268416c30770c1e72e34789aa153aa052cfa24c16d2f62c4ac0345d50e0706f6e0911e4d8be36842480fc0e2f0686548a00e65bbef7c515d89588232f6d31888dde64f49386d35283f8a108ce48e4719ebe26d6214da6ff8c509ebee648ec4e26bd48a62f8ab6aa568b867ed690d5aa71650c740ea2405692cc8bae57cb5a9135b65a3965d44159aa95bbf6d404ec24ca1e54ada240d61c996a95f516417a16351e90c2a506e0fc0224545c731eaf56fd995b3ecdcbe9406f6e0d6bbe0f4bc483bd6712e87c3f24a636df99b1648099001868a39ab8ca3b52ede121497e874d116f3491a4387d6203af2b7801bd04d32f3678c603b5f6451318df1dd9041b0d1ca7982a815d60e34820b587d7bf9673fcb32f7d526b5f8cad5a552b82a171d539481874bd62223817bab6b3b9ccb51159d86b8810e2a4fba01b289af4cc8014c6894714cf183d5f214bcf57cb1a822639f7f62c8a382c20cbb9dd85a5f939050ef4e6f6ebafbfe6c7fd595b0914d65302251875dc83e1bdc2114932d81855d880d5d179484ed126fad40ff680f8b7896d750b33db5a8c0145c730f934d1cc01402e29bcfea9c51e3c9f17328f99e6365c86b76d4b439a542b94a9568d2b27632691c0a90406c86ce7117ce7a012a961b5428d48d1b8720fed3e48542c1b4dd68dac33d52a73a75ae56c86266063a36751d4203965dc6b9c47e09c691f9756fc2ec3feccad1febb9fc406f6ef96e8c4303114c34e73b5474c9f743605601431fec77cf29aa20cd61f0e3acc0a73c397e688e01f9f41f1b9ac093638307782c6908038604b31e69038681d75e1b46ae99b562c649d1147bfde779d3111eb071d5a3b9ef72718e25d8951157d8a4ed7c16b1fde29386f65badd0a471d5b872ee38673b07bb5eb96ebb60766d77b34093ee834a810e6ca38407f9dc67d97fab9567157520af56396ea9096103c32e435ead22ce71cea2991a05bb0a1ce8cdad7fe7965d8485c053388a50647500b052400a2609233f6dc02457961c5c42eadf15c7b6620c283a0963632b57a805679c193306e94ee050c1006af133b1fdc6068360468265c6a30873ccfac918d2d631f85cda4440aae4a70d988467c7068e4dba0bd0924e35830754abc8e2e7a52021ab1571a808e4a484534048801a021a5791a571e56288202622a7eb959b05822cf3ab5a65cb732f43906a659ca083ebaa313365a956733f3266aa958b8939fa10454eae6ae5dc99f3686ad59fb975a7be901fe8cdad33072d081a2326df9552046300a0d6ef4d2982e121ad12e34186850940d1b600cc684b2b30293cd3150c8f017cbe97c543b053fad4eee6d82daf7f48db3a246d1c1b9616e3872d041c6ff48b41c689bd4ef87e4b5e4b9f08c6313b4e8af492b614e1296a03a0d67ef509af1f6dc8ed825afab5685b5dd1160f6052f86a55ad1a574c199253a3731005ba5e110c5ddb8904a70620b383bda3fb200ab817bbcf224eb58a26a8911311387cb53266a626d5ea119d45f9b09ace2970a037b7df7cf3cd679f7d861059d1382b788274e1cb69922236d68a69c556114c915a729ab05082a7bda4365b6c43c7a04ffb8d9f38c7c62d9c7eb5a10a4c6e95e3d109e4ec8ba28c3619a1e334d77e3b061a6a20b87134de773980399e78b32f8cf5097f6a5aaddedc52f259a05eb54a6c184b8d2b75701d409ccec165d5421fc4e97ae5c4c91ab2a894d5b85ab9d52257b5723dc9be2c5019394087610000400049444154e20450ad1081e436c424aa569edf0c0c05511ff7a96aa50eeed7f7afd5ab57afbefffefbafbefa8a0f88bf794bbe242e3b305409c4da684fbe4dfc5a22498089e22dbcf997cf1d865c3cf390806b48077a73ebf7314424cb1618f5c1aeec862698efb1c88d5ade15b0d289b5d78ce624b11fa136f1462b0ca8c2069cb6c15862006feff6abbdbcce09c4f95dec1c9b6d31d3068724fb85015395771d306087442ec6867e9731506bd7f0371e6fc759adaa55e38a59d03988085daf5cabb39eb3660667cd44a56ae5a633f599b85aa18071e2deddb842016286e43984220995ccab153a703623579f6a8514ee47e4c6c9a1ceed3c7ed339050ef4e6969fb9e56cca2ec2bac0495d45c4d963e45d38c000960f2c69458e5940c869e3ecd2467ba69c7e7673fb4da700bb48473899fe2992ac9dbc7e182a5d83b1b15f8dc5d3e7e4c116f36813d08bc3c3466c5f14336cf11ccfe290a23ea78de394d7be5a4d4daa55e3ca39ebbc430d92b8735065106401d54a4db2fe6f250a53adaa55cf0ccc8279c69bb323bceb6db5aa56ae99c6430ec00f726eef6f4b66aa5e4e077a738b106cf97987499806c3f37d986b1966c144adf761a2990426c7205732631d3e2a8321296a8f4f8ae4f6a53d554e0cfbd2181b78464211ffd8db57c6405b18786cf4435fdaeb8756f0e4f0f60b0fc6833c6d75a2676a49fa1480337e3c3b66aa68150c1f7da80ace3871a21f720caa159f053a90aa152234ae3a079d0b5dafb2661a125ddbd932ba0fba7793bbe7121bc409ca90dfec22b7efeeaa55ce39d58aa8304ed0e414233759ce72844ab542908fec2c9a0fba60578103bdb9e5676efff8c73f12df4c75b4e090ed6ee1a2000360950438072c7a0283a42a73030ff278589aa7ed741e1bfca4edd6a163987d9d1b838f605f609f4592e6f0d3002669da40a6ad1dc1d816870e4ffb6a55ad121b02f2991a579d83c443d72bd6cf88e004616ab850c3c364d98fd9c23b956c026e5c35ae0ca1044ce30a297abe9a61a0205396b9ce54ab8f4f2b7e92f6bbefbeebcfdcfac9eee6077a73cb7b332460fe93fb3d96c7085601008925c0efbdc098cddb1d6dbdf5c1fbfd3a4e30f0bbd553eb9bbfddc741241803f0b4b12dbc29dfabc18bb1670cfac186a2d8c14cff8e131e1b30bd80e91dec18c8f5605f8c134b6c2c9a534c5b98b405d317b9f6dad01c868e00a46aa5ced58a60685c651e750ea200f1c042d1f5ca2594d84010d74c3581a728ae56ea53addc73098c9e193cbd4c1d325f006227d1b4612a71ce813735aeaa1573ea233eb7df467affdd57e0406f6ef9995b7eb517139ea5d3afb2c07e418e36ac8c21296e6d3c855065138be0c94f8c73257776e19085587b3ac2d21c1bfbb5adfd3a306df4137efa044f5e3cc7a0711e932abb9b7d85a40a4b9da4618a7142154daa55b54a4824841a579d8344054b843a8829ba062e7cb5aa566e255940dc5cd828133fd931ab55b5727f99eb493001d3f3d5d467e2651dae56ae2a048cf1f318b5e27fa1f6cd2d1fdf8574a037b7cc7052deb110d060a491e73b1e004566fee483bdce312b6ce277423889b836c73e2739aa82fd5ed6598425f34a7b784830feedcb31c85085878c21634ba7f8c146de11c2c48f9e31c61b982a52dacac3f8ecd8d0573045fc504b4352c600af0dcd331e48526caa95daa249b54284c695f1c03cba99819d83a735b6eb55d776e602eb03b3837592d901ee3e485444139471d180a956a8c11923fa500c267eaa150a988c9f6ae57a8226c4093945e204cc9c7aa3d489043f46adf20805bb0a1ce8cdedd75f7ffdf9e79fb3771ad91ead08776e68c168e43400a40a101e1c03fdb0e58489c45b33bb70a3d23e583fb4c5c686e61a647871aebd0e21d31700e38c67f298d929a47e52d4bfc6b389fcec8bda0c463f79f0544d1e1c03fd646c7996397ef0ec0e1cfb600db0ac56d52a0193388149da865fe720e2542b44e87ac55c980b4804511cf22cdda9028407c7403f8dabc655cf0cce91394d7abe725eb85c2c6b0855a454552bd4c8d27a59abfecced29762e659f3e7bf6ec52fd07a8e377582f5e2703b628b84bfefaf56bcd02b6ad9e3f7ffe8ffff88f5f7cf1857fa1f8c58b178c8137fbe43ffef823938a2634e7fb1b317f22992a4e0000186c28f2bf9a61d216ccf7404f9e3ca12d662f5fbed4276ef123a60936e4246cf0f3e5975f721aa0896d21f1c3c980de8957dae2471b48fce09f2897672419bfe3c48fe3779cf8d409dd8567eda039892a79fc333c86810dfe7d349e0bec1f68660c7c1190be7c16727d56ab6a45bc35ae3a075955ba5e756def3ee819802db267068e0d3923f5ccd0f355cfa21fe8dcfec30f3f3c7dfa94e986c29ed5b7f9ac0a1690ff8cc48ca6d56e1e12700de9406f6ef9995b2e90ec3df3ab11c20e864f829b9edf3d0360cce5c965300073a6f73b1531961a90935214c0a447fb8d0155fac918288a173e4de469e818308e7f70c63fc78925cd1d3fc6d3c6beaca5ca94a2801ef14055c606a62a7eaa9582e453ae568d2b270891e03ced1c5487ae57ae12048673c4a5833c7c62a65a45936ac57a6290902f6783eccb0b9f26f28d2ba53396aa150ab82b35ae508094f92280c989ee3ab5e26be5feccede9a33b9b1deb676e9121bf4f8f20e6bd28110c207cf9ee99d96e4c6b0329af785ce77c1f8b3d4b24981c8c07da62a31f2f961401f0ce102cf1a93d55dae35c3fdad0dc8ec8e5f10049d227401e03da4e3f8c3c63c09be3c4069e7e6dee786c3b6de0b1c1f8d4d59f32362cd5014055b542a26a65fc34aed4813cf3a57390d9e11a0270d1e87ad5b59d60608ea803f1d07d9039821ad9afdd56982fa46a8508e8e3ba415ead3c8311242463c638e95994d85013765e34614e1d4d2b9ebae98202077a739b9fb9450e6605b9b3c2227821993c6c36b18988e101904c2a3d90c718572ccd56c55e0f14d3447bfdd89763d0552ce33f3c40fbd9160c69bf0e0033fad2a7fcb49f7d4d9b89d3f57c34b03621ed3a455a99c2db6f1e9cda18e3aa5a2148b56a5c110699bfc18065ba51ac56d14771b28654abc406120537ae669cb81f6df7dc693371e760b57283ce3c0210153d5f2142cfa2ae15aeb7c48907dd2c1ae17f41adf83988efbfffbe7fe71649cfa503bdb9f5dd2342107c60d6262392ef7b3801b8dbc1034854e59d0c78f94e28eb1a36dae3366d61c030342461635fba652148136ac130d8e414e2d8fcc0ec171b8be6d37e626aed57337c3ac7e85d5e3f3471fcb187a7776cb0076b6f5b8a8e87a1625fadaa55e38a8930e7ddc499530052b54284a9cfc45475bd623db90994db34f59998fa6a55ad08839e193c932845cf579ee538adb1d7a00cc9b5424ceeba8150d5ea23d38a0fbae98202077a739bbf738b1cdce5c899ed84bb373a8a5ee7b63c878cdc3c6dcb92214991e48242f3380caf4f79c85904eb073efe1d0f0c4de4b1b11545d2b92e3224419e2b6df543739f1d57324b0e9f2619c3ec17fbc5267dc157ab6ab5449471bec40cc5ce4144a85628c0a29135248b8fca74bd32485c57ab156a98ba0ff6cce012413c180c00578fc486f305be5a552b62c078f0e04154503466123014498f42abfeccad1fd685fc406f6e8ddabc8724a0c11c1a0054f1bd1739d8888737c4e139785165ee0ca1485b0c4834495b6cc41850851301adc2db56ffe48e0792b66000c921c10058af1d957d69a08d661903bdc0e8d356e4bc6b8594f7bdab1ec0d43a486bc9a9a2b9802ac74691044e559e171b9b00f006af4ae6d50a71aa15c1d3b83acda1373fb3cdbc401052e720b274bd62f124394d0c0ca3052ccf1ad2b5dd1ded2455b5baf97f67840779cf0c8404b3c37dd6e9e35905deb5a55a2985eb49b5ca1a92b3191192f879445a19edcdcf2970a037b7df7cf30ddf76784a70bd73bf0c26ac9109921c2c0073d4c026c548a90db5f89c38c714785db1c86a038091b70ab7b40d3fbde9737ab6eb399ea5d6aef1af0df6799c8cc11ed3af8399f6f8a4a1f6939f589b3817d04a9b141d30f91ce7c4d86be330a8ca38a38906b6d200c667240fef1391e3536f98cdf168995abbd64f62802676b1f5ecc0e213608f806ab57c0ad5aa71d539e8fa9075cc956799295daf5c72ab153a909c35730f4afc6890f809dfb872bb51b46808a8561e72a249e32a5131678df87169c59f35fdf6db6ffb33b77ca0e7d281dedcf2dd0c7718a637b9dfd380d94bf29d0d1ab14a429200c4ba58de2298f72df0809c4bb48787b4ca779e146995bef0290f69c20336f269ab1f0ce07db703669ce9d7f1670cf03e1766faa7cae7ca53640c0e091e40c29e7cda53a416fb6a85147e0a0052b59a718232141b570406b3b873d099d2f50a1d4c5ddb5d33d947006892b582fda5fb208b273a305f10075cad881075401341cf57e840224e14074c9ca408ae56884042939354c7d2ca676f7e4e8103bdb9e5676edd533d76a0888b85451711ee84ac23e4145d5bd99b634f95451b32a3b4879c587bfd248f1f193f0f3b05e3c7f1c48f06f2e91710deb619cf7690586a3f6decddb63ad7a1b91d650c1933b53eb2bda479bcc1db763b0c1b4e9f136baf9fe4e957c6b1d929b85aa140b56a5c651e110fa8d1399875a3eb55d77656c8c4039890b09899e2ac7112b9c524b76de657fc34ae1a578d2ba783738a19917934e79753a95a7d38adf86dc97d739b157b177cfaecd9b3dd8a0f47f2a92cce2703b628b84bfefaf56bcd02b6ad9e3f7ffeeb5ffffaf3cf3ff7fbe35ffdeae656cfee4513f0279f7cf2ead52b46f5d9679f510463c9cc64de8235d6407b1afef8e38f18f3ff9c69057ef2e4c93400d3560fce70fba50909868600fa7df9f2e589fb0c3f7af0ff4ec3e39341427227670c9387642434713c80172f5e3091b067e4d4e2d35ddcb1d1233cdff3e9937330fe69e530fcfe58fff8a12d186fd50a3dab55e3aa73d085a2eb95bb43d7f6ee833d33787e602ef4ccd0f355cfa29e9feff3dcfec30f3f3c7dfa9485885d897c37cdaa6001f9cf487cd0b4dacd4302ae211deecd2d6bb1b7be7c83ebc7000f80f4fb5a6bad62e502f81d8c0662791bda963caf22b581c16cdac4203ea78dfe61b6e36160f2d3c631c883e9748edfa720c7c07e6d9bf1d38b36fa99bcc38e079acfbe70a8ab7880214d3f4b5fd44e1d28468a6a55ad121e8d2be71a93a573709917596de63aa34ad5aa5ab9861009dd079d293d33e48ce1d9c339b2bbd754ab6ae5d2b1e840b4103621296ecfabf71f57dca5bffbeebbfecc2d1fc7b974a09fb9e5fd2441a9106082d550869127407d57191b0cc4bc3bd5dea281ce72098f8d89b6ac8f3821c183e5b5a1213c369060975ad75398f8a10aac3139f6ee526012e3b439580f30dac383b507e3d9f7b1740a8607d0ca1e01d8e0213ac090a8d5ac5aa9c649956ad5b8baf90ec860e81c64e9e87a8508d181c0203cbab6ab093ab88fa0097102963766aa55e60eb2542b175534e9f98a9d0535cc5d4f14879cf318d152ad725ead56de411221055b058ef5e696ff4cc55eebb5d0d3aa4531eacc1536b74a6db2b8c8c70f3c4c729ce81f805b4370b6053333c35f689bb1392add3a5498396670c6239f623e724748ad6d3170a8329ae529e8eb9c4ffd63efa86ca83dd87ee7f34e3fd3bf363e140d338cd9165cad90a85a35ae9c77ead039e8b2c3bc7076b8fe288e8b49d6a26a55ad5460eae076434eccc01b3fec68d3c6e8d20603aa8ca5ce41d5ab562a307550196306be718508599623576656cfa21167ae2d110a704eabbeb99d2aede203bdb975c5e13b42008979c5f7a6460f79be43f53ba18805ef0a454e5b7922d2ef5ff183fd7ccf191b8252ffd8d8164b48f2f0690b8fe78c8d225d680f6f2b7212bc8ce3a718129ebe60f40f4f717ee7078e0d7d312a6cf0038f25d8f14c1b7852b5aa568d2be763a69b7387b9d639a8265daf50a06b3bdb07a9fb20fb66cf0c44028b03b9eb249a30476ee2e336c1a352b572dda8563d8b12034c87bb9cdb6fe750ffdd57e0406f6ef3776e091d6e6bd1c305c5db0b248bafb593774586a72d361c675d9105303106ebdf1c3e6dc1b6d20fb9cc92e301337d3a2a8be71878c74c8f8c476cbf191e368e47208fcd6c0b96c77262d58021d9c45151b4af85cff32e7e329838a1a1a33277cc905166a98d1a58660c8a13c6a2438a3d4519f26a55ad1a57c40073c1c9b2a891f96b9c2cb5995389a2f809d33998156c6a02ae5651a67135e36151a3739035044d7a66f0f49550012436d087f52467b66a7528adf8b5affd995be2ff423ad09b5b263feb82cb84ef30d1850582ef985d2f2882dd7db39ab882e47b476cc0dae3d0efa7b18101d30a0c8f7f7279dbd2109bf01431f6a4281f267ea8c55e1b5c39667d820178b05fc64c110f193fad1ca766d83bf329c253eb78b0779ce4b10793f0ac08f68b3d6db1870793d29766f8740c3e6fb0f638c49e56f08e99566078fc93cbdb16336cc253c4581de4c3e0533fd462af0dae1cb33ec100ccecb75a552be32d51646c1833465ae3aa73b0eb1573814424b062b08402bab6230252101bec266012b867065654129a1830aea58853ad900511c87bbe4207c283d8e859f417398b9e969f66671538d09b5bffce2d4a1058ee46eed9b9ed50258f018b11b530cbee2e0f191b57aef854e978b6a813b03c4eb4a7adbd9b87b7dff804c0646c008ab35ffd40ca93c72618309fc51ecda9f2b9a61f8d33863c1136d893683b758099fe2956ab6ad5b832069c8fcb1ce91c4490a9cfc4d56aee11a8419afa4c4cd55c7b1b57d5aa6786390bc43d5f65a100f42c9a7870f18c26440b98b4f0b167ed9dd115de2639337fd039d89fb93d7d4497b203bdb9255299cf7ccf4a2c1ab57c872426cf3b436cfc8e2db211a3dac31bbee4132fdff1c706ff3424e1c1ef7a9915f4157b70c6c06cc9d868a20dc0be1c277ee81727f0f18301093fe4fa776c601830c6e2f8b45fe7a73678c606063f009a542b94516734a956c44ce38a78e81c742dea7a4530180facabae9f599359425d63ab15ab28eb67b5729f754f21772f264e889ceccbd52afab8d71036d58a08410413584da63e1337ae6ea5ba7989f5716b95272dd855e0406f6ebffefa6bfefa30773684f0220720fa612c3a139812b9c97034a176f269329d8049ba02e0ed44bc79b729b6171dcac43e4de8d72a73fc600f760c0e4c6347483ec736edc5698259b055198ffe21e31346b7d8a43b495b6dfba5b65a552b636089c3c6150a387d3a07bb5e1109a4394796c539f3a55a55ab6cd64a4148b8291b42e4ae2dd64af6cca01ad5ca78500de2c4f58462ce7e89a56af5e8b4fae9a79fbefffefbfe9d5bc37b373fd09bdb7ca7c586c1775de42444e17b65f60331365905b061f233ed3992c2bb6750049f9abe7dcfe9c4d03f0678a06d761d783c6083073006e94b4015f68e0186f1e8100ff189070c684b15c9778900c706b0dfd8df189d7a24a70a3efee98b56ba82f719354bae1f1f137b01b5d54add665ead12278dab3967992f24e61d79e7a0eb61d72b8281f932e3044dbab6df4c95ee83b7df6eb3a7101508426080593d88198a6041b5723d51936a851a9ccd8c0d72cf24840d7ccfa20489fb2fca903e1aad78aea60b0a1ce8cd6d7ee6d6efab0877d744629d8847233612aa26c6c6bb5f6e80692ba015f69e5f53855b7d92eb61fab40939b5e449cb78f0a91f786df48fab34d4b9b5e11d8f6dad9a6631ce98ad4d8e411e64e26a852c51493cf599b85a55abcc5f0283d439b888d0f5cadde1141d6f96dc6852ad50007de65ec60caa56d9fa95024de65e9335a75a193faa54ad5c58dc83c00842a878ccb3d8b8722ab9e6905fbf563ffef863dfdcce09bec5077a736bf82201f399c4dc66861bc790becf848704c3604fcef761ec1fc6badf876103030f09c6033cdec0d893f020c6c6533ea4fe6942026303c00c1b6ac1da9093f4e9d8e84bfff0d83b36004de005f2e4697be3e5e416b3ac62f4a58db578a648ad6348158056d46206266153add4a15a35ae3a07bb5eb10e746def3ee81eda33039b63cf0c3d5f11034402fb2339e704cfb19e36a922f52c8a08bfd4b95d619b9f53e0406f6ef93bb7fc6d288420bcc8d996727b04c87ba3a3c8e464c7722a6a2fc62cf33660694b714958da177c7ca6afcc796a27760c36914fad0eed0532360272dbce67f471e433063d5084176f35819f7eaa55b59af1d0b86282740e22826b0b80f5a4eb153ab896bad81a24c1d54a298893ee836ea944c84c4488f10359ad669c4c95c4d50a0590627b36ab5673c955a28f43abfecced36b617e6d367cf9e2dd4872ef2a92c5d4c066c517097fcf5ebd79a056c5b3d7ffefc1ffee11fd8475fbd7a45b8bf7cf9925f2ec56fd306c3803ff9e41372be7322273142bc61c07d9822ff0780b6d8b0c8c293e06908c086a41f796c60729106cbc3d02f9e61f0465f9f7ffe394ec02f5ebc80a7231dda96a7a0df2fbffc92d9286f5bccb85190634073be077af2e409186f782651c53207b05f40fcd0107b9f053e6df19c67a72d181b9c57ab6ad5b8ea1c641674bd6259eedaee7ad87d904db667869e1958137abeea59f4fecfed9cccfff0873f3c7dfad455887c37b94c59159cb50bf0bec97bca6e1e12700de94097db7ffee77fe606c8cd8d3b1ba7559624e2834dda7b29450ef1603e6c3f18cff42c5eda935345737930018d3d0db1a7b8f0789e3698e12af6f645cc6143736ea718e05c9fb6a5883d375b6ea4d8383648df95d1d60b2dbccf85256e71888dcf65a7e43c2f1e6822c69ec78181b72d55fac73963085fadaa55e3aa73b0eb152b67d6f3aeed6c31cb7e873e6c2848b4f0d5aa5a718a203c5c433cf0102ac649cf573d8bf62cca5c78df733ba7f45e6e59462ea4035d6e7ff39bdf308b7887e9976d8892fd9840e11da60c5b91ef28b8d5c06b634e5b6ea19c74b5891fda129a1449bc8365b56247e71b6e2e8ae4f821767d678b193eed089fd833247bf1dd08fe61b867e65d2e4ef07ff27d639c77b05c4729e2d05b2ef66012ce3306fcf07320bed7f59206c3d87c5ec6e9b3f873a4b4e5b918273c4eec8b7ea702d8d8b65a55abc655e760d7abaeedd923ba0ff6ccd0f355cf573d8b724ebe8773fb0f3ffcd037b7dc44cea503fdccadbf2dd9db1d727099e47ec24a14ac46def7a65eb9a96edbea04635ad9449ff004b7f660aae0b18104c34f8c7f998c471bc7161c3f93a7d6aeb7fea922c9935bb4adc3b6a1e3046f2db7cf8b13dbeacd56e2f8c720cf1e7bfa4d43fba58a1ee5638f8d3c36d50a29aa152290963881319c1a579d83a70079f3db0a8887191bc1da54ab6a1505121baeb1dd07e75e3367ca9c53d58ab0f1b466206d4f4d8d2b3599e7b76ae559571d881f8053e9676bc5cba7feb664f53c971fe8b725fbfb2d1582ef98997b8417710696641127c193c39c4a37bffc0d1b480ed3b13722e179c7ab250c989ca23cf67820d7c62eec0b3f3804532b9f1e2de2011bb0f6d6d244fff2b1c13f55d853ab4feded579e678724d1ca2e1c033632b4f5fd2d3c66d5aa5a35ae980b9d8328e05ad1f50a29582d99175ddbd1817860d72036d40471583361d087bc5af5cc606c7886313c881064214f519b6a55ad7a16755ea003b38378f04c0e49f2942ecf648956304de71438d69b5bfe4badfbb1bb2f41c331258cf1244900194f92ca4715001e12102732fad132589b785e7cc2cf8e26a6e18c69dd6a9f3160eff861e6d8e227a4cde370fad1463f1a38da99ebbf5a552b03581dc4c646029bd883a158adaad55c67c45daf5c575d695d96cdabd55c4382bb0f4e290815e32464f6fac655e69452542b17969e45735c2130d0c433b9d162a8c85b356dacbdceb8e2fffff7cdad117e2e3fd09bdb44aac14d91ef14d91b88dde446b6df8bc093c09000eddd54f0e0f72bcaca7b4e3c60204f8e3d4cda82f32e14338a34c4262301c3301efbb29683204552dea96a036fdb7c773e799cfb5d290d19ad3e31a02806c406de04834fec1d09363e4546485b6d926343db6a55ad1a57ce0574706e667ec1770e76bd629d748eb8ba92776d676a304d500635b2cba84fb54207c4e999c1c349cf57c40329e749e60e73a467d19e459d20cd771538d09bdbafbffe9a5f7fa20aac142e0dd96273afe3d8e1bd0e86daecbb4c249b44c7d9564bdd92e30433dac20b6c659378ce306c12fb34090f136c5fe971e9cbb618dba37d65f071a243721f0a1e903cbc66da3878abf45fadd4417daa9593656a928832ba1a57068913471c4daa95526491ac565ddbb3a4cc2923ee3e181d9829a46a95a5c3d87045451940b542930409a05a71269971629028d1f56bf5c5175f7cfbedb75f7df515b39e5f6c49be247ecf1f0c5502b136da936f13bf0a4b1260a2780b6ffe451f1872f1cc4302ae211de8cdaddf07233a416c2e80b7c8f207e61e6864f37d21a1800d89efcca8c58c2a78498ab605f81d927ec8b1b72d3c188644db606af1139fd4c60336e0538b37fe1d0f0cadb4a42d001e0ffa6448f6450ecfbc656c5eba68e538e563eff342cae3419fb685a428b93c2f45dbda1766d5aa5a35ae98179d83ae21e4a4ae57aea244850b69d776a2024d5c2b8c90ee83890de64bd6909bf953ad6e7f1f4a6650b562eee4dcc8dc411035e959d4c5f63867519788e6e71438d09b5b7f5b32eb82472e770e31b382d51366fb5d8ec2858f8e4e249a0be0c5c9615874ec0e9bf090f126369ff6e945d222ad7448116fe0c92f3ead9afeb5773cfac18966f359d0e19c8df618572b3fcd6a654c1245e76286aa6aa54ad5cad5266ab82aba4659d5f5caf9e25a0dae560606f9a2090b4eb55216d7de0855ad9835736dc90a03a8562a33f599b85acd3975cd5af157c7fae6762e7a5b7ca037b73e7cde2f5104bb657a5b63e1b3c8773f395560064f9463030f30d1d656fa21a72de778738b7c97e6c99e226db1a7166f7eb70429b62f8a79bfaabd83a1564b8bf6cb18620fc0263e6d4bae8dad28921c4ffcc06043119f8e5c9b1bd35382e7dfd80baa55b54a5418278d2b74e81c747de87ac5fa403c746d5707a2a2fb60cf0cce089708ce2aac12e0ac15e8d3f395e2f47cd5f31593c5600090ce9dafac6d7e4e81c3bdb9753d2574387c6416a18ebc1742f9acbf92d8b85b47ca18cbc4274543333e59b0d22fb57ab615183f7836b7ad635bfce0330e6d9bf16b8f073aca734dcfae98368f1f0719fb8c4730cd766df2f85a9a4be2a15a4d3dab95b187268dab45048abbf36b31dbb5695c35aebab6771f6451757d70d1205ff6fab92f639c3507be67866a453c90d08178e859d478706a2436d4c7b9730d5af193b4df7df75d7fe6f62670cfa403bdb9e5fb423600429600e5bb10cf04306072f48197c406467b7866fb7c4f0baf13aae0694591841f4516a72f370ffd63e36cb15f31fef139dbd2c459a4fdc9fd1bfff08e4787e4f6ebe0c13e02bc3ea71fbbc00687f08e61eb875a9f5db3f8d49edc26d50a0dab95314c4834ae3a078901e281494102bb5074bd4207929a746d679a182768d27df0141a6f62033508129791ecb3d5ea6635b95d4f328faa1552f42c8a08ce170383a8f0ec4af1a33fb7f38c4d171438e29b5b260327307274c9d19c221383f9202fc620662caf9c4b624f915aecc9c1028cf54c3eede304e399a63dbc450da64f193d6f0746ad7d65fc0048870488db0c434095e3f4a9c11acbdb2ab9243909327d51dc0e693e3b0614c9ab55b53286678e26061ea071d53968186c758027c1bb30ba2ec100e465924b929320bb5ea903391a4625b12439a95a6d636f2a86441a542ba3481d94a571151d00e2ae57e8d0b3e8f6908c2c9e93b33701eeaed51ffff8c7beb945ae0be9406f6e597911c2f7992a92770b5481f3ce337a117cb1a1160c432df6f3e7547d7f6b2baa8851fb4a5bb743da92a8f2fb363096190f45fddb760e061e0fdadb97bde83fcf923b2a3690d893c7bf66cbd8b0a1a369635f8e61e1f1004fc2660e4fcf8e5f9b6a55ad1a57c440e760d72bc38035936060f1a438174fd75baa5899ab55b5221e108138e999c1f30c6a382f00249459ce30d50a7daa95e1617e90b3e87ce4e2ad02077a73fbcd37dff047995805087d8e17f9fe952224d2c803b2af84b79539063677554d3e1b8249d8a7169f60d6e5f0e0f881a4a8fde427c6c681e12718c0b0c977db426ae0718ae61ae7f1e7b3636c511b7d8263acabadcf855ffce41955c09c263ecbecab5a552be36d8647e2ad71852c24248a26040c4ca652f86a7592aa5abdfd8f4586cd5c6f9d6b064fe3eadcdc41196753f7c177ae33d5caf9955071d2657259d4a65a552b63c07b41ce7e5e048c99ecef5badf863b3fd6dc9a874211de8cd2ddf6f2184eb8b201103f0c6e8f7e8d6621f03de61b2c36143b49158e5adf2dd269888f4bb79da62e07769f2b1a10a9e5a79c70369dbf0fa37e2b501d323fe01b415d3d0e2e2136fb32df658fa5cf03c05f6d8c053cc18b0f1190124796cb2e5ebc741d2109b6a7592aa5add7c6bd3b8cafc757ea109b32cf328f3a55aa149b54a6c100f5ddb5d48d1843d25b1014099398faa95eb0972552b761cce24e8d0f39567b3e8606ce4c046cc542b1613d7938f4f2b17cfe65b050ef4e6d6bf73ab04ee9a13c35824fabdd151043325582c60d859a73d58ded9423136d37edaccd925d6a75d4ffff68bcf8c337e6828ef38cd616ca22b70c663438ad3bff6dac458d2a748bf905b6c2fb10788ab55b54a3805181b8d2b74e81c242a88842c17ae240915f4e97a8526aa54ad5020fb9d73a7fba03a3871e67a52ad3c53a103cb8bb85a395f96b9137daa15523cd2737b7fe696cfee723ad09b5b6738df0d33e1c16e0faa230376b6fb1d98f690897eda528c1f16503180a42bbf7b5e6c34a04779be4b0bb6153c6300933306cf7fdac0d82f3c7e3206f01ca73eb12181a905e0018c5bb17ddd589c6cf25cd8c03086c5277da90c7e6ceb087d0a9a509c63a0189f19272418cfb6029020173e361a441f9fcbb6b602572b5442876aa50e048652182189a51963d5aa5a110f5daf5c4b99235ddbbb0fb2cf22823ab03e007a666095706f9d6b85e79093543d5fbd7995c21a52ad1ef02c8af84d171438d69bdbd7af5f73fb6285621d2728bd89b9be8391c98b9336a995a4496e5c588a67ae439d84a72f3d8797993e61a8d56c62c8a40c4c2666f030e97ae11986f6984d0c495163b0cf2b20d7985af96a55ad1a57ce8b4c348a8b26a95af839ef26c643e3aa5a35ae9838eead098639b9c033751fac569e4fe629c508998c7152adaa9531800e06097beed4c438f1ec3d79d622495ac9cb687f0d71f5d34f3ff5b725cfad618b3f7df6ecd996fda00c9fcae27f32608b82bbe45c59350bd8b67afefcf9af7ffd6be2f5d5ab5798f19dd393274f18067f0a99efe7c0c42eada822f97ba7e4213ffffc735a61ccff04606ebc7cf9f2cb2fbfb408c683e9c58b1790b4c58336cc04da9243ea479f3058fef8e38ff8d1c6b6f8c1cc77ad34a1537a14608f5b0cb087a42d3c8093c1cd885fbf0693e0335abf57b3b9dfd3eb10ec80f99174faf5d999ae38d1189f58562bf4ac56a7b06a5cdd4cc6cec1ae572c925ddb5913ba0ff6ccd03383e73db6869eaf58137a164d3ca0c63d9cdb7ff8e187a74f9f728ca72ff2dd34ab8205e43f23f98cbb7948c035a463bdb9750dda7e97e327c1bdd1ef7598a5307e73c3a537dfd300e0b73690f9a647273a4cdb69a0a5668b0166f60558fc3898b4a2685b869a2a5a31b685a7088f8d6d9343da56036dc0d312836a8562d5aa71e5d420123a0709067470dde87aa5142ec273fd04479c6a35a5a856c4cc0c1b979490d50a41e619ac5a65ca181bae2dc8d2b32822387d9698c9f2fbb16ac5fdb96f6e5d33cfe51fd5cfdcfa3dc47cd4f9cd8473c0f7a2d8b87a7a6aa78a77aaae14e4d8b088302b48f9590b9a70372687d4c615c7b660f8d840da1686248604e399be246fea4e892a3cd017a3c298445f02727831fddaf6b6ddcdbf54e9d9b6f88774fc00dade18ddae8378c09e22feb5218f0d58ff38f4194f4dab55b5ba39a9130cc60c2031439c182d8d2b64e91c240cba5e39175c3cbbb667ad3036dcadb2d7542bcf15c8a23e864db5eaf9ca33987baef130cf6fc409a436d5ea805acddb8d8b86f9f61e346b8f831fc79b5bfeb32ed398ff12662e00cf04c9971993116bfc5ffff55ffffaafffcaa7eeeae05d949c1dc55baed80f1e1b00cd5956167b482dc3275674153f3ad10f2460e98b7ee39fda73d8b6fad166fa0427e15fecd8c43667d814c18edfaa9014c5b1a123709ed156cbf875e2636290f1a797b48a1f9b9057ab68a24ad58aa82072660cc334ae9638e91c9c0b9a31639080ab95e238711427d862b58a0ed50a29e67a4b6cc090e61403c3572b64a956330c7a1675bee4dc4b844cfca1b5e23f21fff6b7bffdeaabafe8084cbe247ef67097f77f2f636c2d772219f314bd215b0c06f09858928b671e12700de9dadfdc2a6b9452ca595c98546d81df8fc2f3b9e6dd29e7212212467b6c7cf742e0f27d3398150d03ecc95de5c1b45afc50a42d7e3c7d823126c1d310123cfbc2b3df67eb1f1b2cb101c063290f86b4b93c6624db02a8623c1ad08a7e675b0da8c53ecf48511ec68792d1a7183fd890b0a9566852ad1a57ccc4ce41e6028b0689c5a1eb153a20083a303bc0aeb15ddbd10159d0a1fb20b1e11e4a842cfb2945f4a9564c9c9eaf9635c4d86006c193d877c0aebdd50a41e67a7b58ad78f0bba4e50e45937969dad6dec5e7a3b0b98a37b7bc98e5fd2ab960c114934e33fdcd2b5c303cb92f6cc197dfdcfedbbffd9b7736960976141a2667d5f0ec4e0ecf27c7823b197720784872ecfd74634f119b54a5ad9ef5a981fda64706635b783a05c7e71c43ecadd515c6a665cc903e23c0ee04f19fe2d2173c297d81ab1522f8d154abc4839a249e1b570a429e395bad982f59fdba5e658e2c6b7554aa564c19e2c4c516bcacb7d995a258b6368c4d8bb690dd071b578441e36ace1a052177066566f52c1a95326bae562b2e3bfff11fff719737b7bcc225fe7d4fbb80f9ce16ec45573258901c4130208759f21401d7901efecdad1a4d2db6ccacbd8cd316b024e335ef24396df01d181f363cb31a9cb99defc9e4b1641500e77b68e60078daebc7cdd519c238f1499e1d1720a6479f020ff4455b8b191b45f8d8e887229ec19e9328cae30d26f6d850854ffb82b73b6c326618edb149db8ccdf193673cd8d057b5aa568dabcec1ae57597b5d33591600e2aeed28a014ee23d5ea141a37ef9ab2ff3283d87fdd4fab95d3a7e72be3011d386bcdb3259839255fad50a06751160d74582e3814596c490116df2bdfb6dd32efe5f0018d1ff2cd2d8fbdbcad85e163f3fd6ddee2e6b5adef693108c0266f6b2fbfb9fdeffffeef7ff9977fc1d81d979582e000d3230b87404c4ed12dc763dcc4dad03c2b114cf0f4a99f9c75ec371d4d3ff8a7a1f662cd665b6a490e758e076cef8ed901c7328fa6abf41e3fe93796b4d5bfcf025fadd4b65a35aea240e72052645eb8b0b8c8c89393b2ce805d9aba5e55abb9d71824eea7c446d65871b5aa562e1de8b09c43e0090f7840b001236313969dc655f4511975ab569e9c1f695c71f7f9fdef7ffff77ffff73c05af52c997347fe616cc1d558318fb8676e6d850d49250b12803962187099e7c48c035a4077b73ab289180e2c2a46a0b34d6fe72ab58fed55ffd152ff171c54a4734f3bd29731bcc0ac8f7a90272bf5b856497c50686442b313c091b6a01f2627d3a549ae8c7b6e0ac267ce764436ddccbc9b1716cc41f985a123ec3d3caeff300d8676c6078fdd3164c435cc168ef90e287221e7c76fbb5ad3c5524fce01fc63180b5a7cab101a8023342f01c0fadaa15e254abc6150a740e2eeb43d72b160752d77602c32d867d84a800bb1f49761f74fd740da9563d5fb96ef47cc58c408a9eaf7ef7bbdf71a9c90587c038977251d2f89cd9c26f8df5b3985d73f101dedcf29503095104e4bc740d2670c3c09b60e0c502f2005fde522bb9e4f2fff77ffff73ffff33f2f5fbee4276fd9449921f353a189fbab33879d95c903266755c512061b810d6db2d8536593d8a749f8c5464b7b5cfab22d0d0124fbcae017871a90c33b72f3f0f3196d4b15fda60960daa4881f70d2b4013b72fb5ac6af731ada049b690f9f4780d77fc683ab05db361e96be68ee48f4635fd54a4daad5124b4bec51dbb8ea1c3448880da470e94854b80676bd72a6b8d8bad256ab655f9b7bab73aa7165901030d52ae7ccb9ce3895e684aa563366aa95f190b585df93fc977ff9977ff7777ff7177ff1172c2fbc4a25df26f9dd9fb9a5ca5aaeac62723139aec84df262863181c5e413801f3c7df6e023b83c00a5e4720bd85a4a6a73cec05a56d5bffddbbffddffffddf7ffff77f9f9764b197672fd5300012b34bb0e40c031b72788714b01d61992a5005aa4015a80255a00a54812a50050ea5402e2602ee8a3cbeb79225cf95d2db26b53216c9298affe66ffe86d7b65c6ae2612be9ac02ef1a6424dbda8f80b9decbad9fcdeebd311f1bb5f3630b1f904f0886502026fefaafffda0bed36c71b893bad7757729925c7274c7280f6e9aba00a54812a5005aa4015a80255a00a5481c32ac075d467f7aa923c9794002dbdc44a7a95dde6de727515e7f12388e09aa536fc044b9359f578f1bd5e6e51d06be165bd147ad772b76af783914c6e8f1401211740159d42124cdc5735be3c546bb1bf8b596daa4015a80255a00a54812a5005aa4015f8e815c83d42901cb024a4e02a010958aa66d15a759bbc0de567ed64c03659c80bf6e72c77f9ab22eff5727b972747fabb5c6bf309cd4f543255743719b07757fd2f5514b5f7666b7e9701d7a60a54812a5005aa4015a80255a00a54812a1005bc5950cc1543bcbd8078b335dfd66efd4c1bbbdb32b3df78c8006cb5e4d36ca97a5cc57bbadca2d7ee9555b1ac3d67b368bd2dc298f0760bdf325bf2823155d87bb3153bc2e655a00a54812a5005aa4015a80255a00a5481bb28907b842039609b2edc6cb7c6328e61a9859ccc1c27fc8562aa345b8c532bb85cbb18df7ff19e2eb73fefc1a67660535c595c5ec3527b6bf88e7f7d8b3b8d6cab7f82ecc26d3c6328a80255a00a54812a5005aa4015a80255a00a4c05b8625814249f570ff1e59b2d4eb64d76996999aeb1146f6b6552fbd18007bedca2f8ee1d72f27e7e31b348befd90ac9afc39063eaf67b521a7a1a49fae8c78c9a9f26e2c9fb12d662d56812a5005aa4015a80255a00a54812a703405e63d22187021edde727749c45cfc8451e7d48687b12acc2c064f309b4cfecaf107bfdca2cb7bddfd16fba51835e14916c516c5f021b780287148b34a72fe1e29188b1807d8909cb6e20ca9a00a54812a5005aa4015a80255a00a54812ac04d411104c9055e593110409a96e22d7df34e2e780bf023194031bd07cb245ff8a518b373e07dedcff9f9c5f90f7eb9bde3881168b9314ec9528b37b045b1fe25536bf15c8e1921e27d551b8b69ae4fc388516109ee5556599a57812a5005aa4015a80255a00a54812a704101ae18d60a927bf520f7a291e2044bd5529c960ba64799d9f524a9b51803991467ade4a3cb1fe6728b8ef3aeb81495751a282b66d312ace52eb831dd4bc4c7bcd66212466f14e99a8499fdc20028ca8301c927003755812a5005aa4015a80255a00a54812a706405b862f8f882e45e3da80298b868dcc2b7ff6ec92df3d6facf519c0b1cc624c308687d99d91a2cf657557c80cb2d027939dc15c24f27061a4f524c5bc192d3706128120d5b1ed20178d7d50666de6969958441aaf0099ff12fc5f00555a00a54812a5005aa4015a80255a00a1c4a01ae06795e708a002e14276227a36ad65a9c4cdaec92f4188309c23b24ab246516839013d06a16af193fc0e5769103b1e64531b5e127109393b04c1e207953bd970805faa206e09d562b8bb6d506b3e52a6b43876a5b31adac023455812a5005aa4015a80255a00a54812a707005b862a88080fb0545ef1de629523579f0c2a418b0d84f87711b306bc1f0562dc062f25886792ce0be2fb728953be1d4280a2eb5da930bd2c4e2897e73cb159363134c1050f4f209f6523a810e73d1a5983b2d66343469865b8a607b11cf269a35af0255a00a54812a5005aa4015a80255e0b00a7807e1f17337993857950968622b4831b906bb20e47422b62f703a0598a6c12df76755b65aaa289ee3b7960fcb7ca8cb2dcf9fbbdfb9273c67135e90a2b25234e9f6b6f4f65ffa7d5bb8457cfcdb9b6d185dd11033308064ad38793ad56c16c5cdab4015a80255a00a54812a5005aa401538b2025c417cfc008ab7f792b7ff42e68e3ac1c45a6f99b75e6e2fb193016700e1651c49f20962208893859fc5bbd84cfb0f8d3fd4e59671f3a8dc097fde032813cde34466c9292e890fde56f0c10ba0c8a8b8bb2e808692001236e6b83a116fb2c9fb749a899b57812a5005aa4015a80255a00a54812a706405b83eccc7b7489e44ad98fb484871f22d589a6cdbc655801d2df92c6249f1e7a5ff9fb63fafc777b6fa8097dba56f1e7e5e02537c275035f200fc584c4e5f7cbabe6b0d2980c79e1c1befae9a693f7987472d96b42587911498cb93276993624115a80255a00a54812a5005aa4015a8028755c0ab441edfa2771373aa045e46c0005248f164a64d78ed93c3c773c885b198fc8e00b36969f10af3fbbbdcce8747ebe5421826606b6f153955e4132c98221f2d5d907ba1054f120fb9e81a04de78ed1463921ec4b415906363aef1b618bea00a54812a5005aa4015a80255a00a5481a329e0dd244f6d91dc047f0bdffecbd5834495800a807980d6b3287eeb65a0f42258728a33d1ce62406ab74caaae103ccce536422016174573c80528a5b9b5e6bb8c7ea8e2330693043092b45d2eb4d88404d84470d37ea4498ac993300c2ea80255a00a54812a5005aa4015a80255e0c80a70fb988f6ff1e64e724a54ddc2b7ffe69a2a200fc028586033b0ae422e9e67514c1e8093e02db0f6c6fa51a507bedc4ead5070de122d26c7925a550e390198cf551b014dfcc86d1b6c91dcbb6e8ab425a548ed64c41a6013b3094e74b32a5005aa4015a80255a00a54812a50058eab8077169e3f404cd194a2371448805582e4136cf1b6e1e23f1dc1070b92034cdadc961ee5bff771b945a67927bcac93c669328be014c5db9c8f9cbee0017ffad39f043014bdca4ecc481c5872c1e467d5b6d667097ff9d15a5b05aa4015a80255a00a54812a5005aac047af0077109f51308b608b02efab180b200577c9b7adf4b9cdb19414240fa0167cc7f45ec677f4f94b99ddc7e57677ac88923b61b060e6b49d45b00c60263e7ebd418a055c68b187710cd8982802b6b96478c19b367bf6183455812a5005aa4015a80255a00a54812a5005b60a7025815c728a26aabcc406c0cb5cc8ad8a65801da5d62eccb76380b94c4e03f1a3c8eff5728bb8b93dde451dec31a389c0e6c1548153e483c492db2c0c58ff766715795edeea769bdb17f904602d4ff4db2bb15dc4498a0555a00a54812a5005aa4015a80255a00a1c56016f2879fc5c58000b96993977168adb7c212d62a6658a00fa259fe01cce08ef02747217cb07b4b9d7cbadcf892e5e17054bae6ade2db117684f915a9224204c00241f700cc079791b27826d8e138ce197042f2358728a4d55a00a54812a5005aa4015a80255a00a548145815c58e0832700277173c1cccbea6e2ea9fd391c6f01764d3163136b90da9032c927005f797a80cbed5d14415cee935a4edd21b7453edaf9e3b5d8c0cc5ee60b5b783debcaabaf388c06a9a22813a073c9389c3d1657812a5005aa4015a80255a00a54812a704c05bc28f2ec01628b5e67c45e5bc0f3b26a318c805c905a19729d5b0b0ec032290390a168a2780b3f867f1ff8728b9a5e1195152c933c06880d2609b0f483e40a0a090ec0006ced34830f09a68aa437ec2d92e34d1c308d6d620e6f95a07915a80255a00a54812a5005aa4015a802550005bcb6288538f904e06de2ce02691e308b3158408c05d43a128aa67c34290232da906162ff58c0c35c6e112ed7c8ad52b33658b3140130e433f9f969e9fdd66baa0c3824adbcd00acc31cb2d574c1e0f0192c901260c6e61ffad0255a00a54812a5005aa4015a80255e0700a70ad98cf6c3124401c30ef9f62726acd2708a6cadae427e20da9e725674893b1b8e473d8629ac4665b7b9dcc87bddca28857be2d9872583bf3a5d622aeb02151244f11cc8709e97f4ebeb1382518f8dc39055c5fa91493932886b42a3c00271627005b5c80c5e655a00a54812a5005aa4015a80255a00a1c5601ee143e7b0045b0c505589c39579814c5340788036223983661a64dc600099e4966e6b3169c265bb0583e6cf1c35e6edff96ca8e305524b8b912ccdb18194279f453e5d3dc083b9a692db501cff3183c7e0d34f3f850193eb1340b2566c8ef10416edc29cda592cae0255a00a54812a5005aa4015a80255e0b00a786dc9e35b4c3e01d82257187172199cc08893c718608a8dcd21e3470fe78af2da64c0dbe2acba66fc60975b74f44e18b095c92a15c7781631e633f3220a6f511bb1de34c092a2b530d893dbfbbce2c290ec457b19728b4b4ed1a4c16da9ff56812a5005aa4015a80255a00a54812a705c05bc9ee4f92d2e39451366b7f0cdbf5e4dc35b34c76202708ab34a47b34a6ff19922609b682e19b0b5b94ee6c12eb78b1c08978b65449c8cd8aa18d88a8fcdcb2a00b7f3424b9186305c6273a18ddb305e71e197647348c192533469705beabf55a00a54812a5005aa4015a80255a00a1c5781dc5694605e61822700cf442b8bf3762af6be131c0300c98601d3a7588399eff2183cd2747f975b84bb7c09d460e6d154d1696e2d1f98f7523f39f002b00c692b8bc100b1801c039cd36318408a82e4132c98625315a80255a00a54812a5005aa4015a8028755c06b858f1f2c483e01d8224db8d7589cf92483054b9e22006f3809b0988ee6f024972a0d66fe4e8369fc20f8fe2eb7793c44f1de28a3469399bc98da48c9c7e34534c02a8a3a91375f5ed862407200625c097442911ec5f0606b05c90117b0b5cdab4015a80255a00a54812a5005aa4015389a025e257cea2d96210f8825f717b055e414832790d7385883d904571603b4995dc0505c52ccc2ef9aa5f6aac0035c6ef3fcc8e4057232627845142cc5e82be063f352ea55160ca367f289292ec93184b4c818640419d22c2e589be655a00a54812a5005aa4015a80255a00a540115c8b585a2384c8a1380df99bcb26a160c9878ebc401c0cf91a4a8bd634e6e6d8a8f027cf0cb2da27051548be00528dc34c39e223c49b01475c847e8b57602aa2069a8131a52cc4fd58261926213061052b0e429029aaa4015a80255a00a54812a5005aa4015a8021714f062828160c95304cca47d98dc5de18301162763933014e34ab01435805cf8300bd04cf2daf20f7eb9bdfb0323ab17cbd9646a4d2d1f92b7d9d88499805698c17865b54813004972c9a98521d7bfb521ad320f093085bf25fa6f15a80255a00a54812a5005aa4015a8020755801bc77cf214054b6e919b0b4d5205d8260db09c55b3181c104b189b8799231453b5251f1773df975b24f32a18102927afb2308bc45b86e67c54de48011880d35c6c2b7252181aca2c39ef781d52782d430a2619a6a00a54812a5005aa4015a80255a00a54812aa002f32e132c203745ab5be2cffea59632f9725f0de3ad75d64e1c5ffa49519f16d3c504e059d45ef29af3fbbedc6eb54029ae91d10e2ca38216b7ad16868fd0fb2d3c9856e6baca8536ce0113d34ac6dc6206665f549d03f2cdab4015a80255a00a54812a5005aa4015a80251c01b0dc52d08691579925514035225b97b7dd5e642d5e2c4e21c86cec3001e5dba8fcb2d32e566f85e02a9af6d7512c5b77ebccde61eeb5d375d4f2762f224bc81cd0326193c01b8a90a54812a5005aa4015a80255a00a54812a705981dc6204bbf9425234e17901de60e583df79add5de71c6a1c5f7ca69fb5ef6f7697c1f97db73cf832ede2427c018328c6d2d263fe710de2b6e80fef3dba4289a305800454972818c38f90460532c6f89fe5b05aa4015a80255a00a54812a5005aac04115e0dab23c7918c12c4e4c2b8aa6e080db9afd37baa9dd053a490e30610cb0c96424651e51fe00975bb4cb6d70e24535abc8e1b1172c786942d156f3b52d6d49a9b248aea50e35483e6bd385b5da8714a46ae15bac0255a00a54812a5005aa4015a80255e0680ae4e692070f13609545f200f8dde224c5699297b7e117109f691290112e4003c98917b36b2bded3e516452edf0063a0761a4b8611a020b5c11114863bad55bebf9d4ec029ea41869c865685d7a764727bd43e9d1654812a5005aa4015a80255a00a54812a5005dea940ee2f8299d396a28c38ccc25bd43238452e414bc354699cdaf43299498277930e77abae817c7baffbd0a3c905d28e663178828969425146b060c9986d6bad5a0c96625ac19b64c0dbaa906f4cfb4f15a80255a00a54812a5005aa4015a802556028b05c0573d5d464d6ce2ab02966290220df549ffe99c5896793056b462ea03678011a486eab267f25f8fe2eb73c70ee8a3e7c8a01d30632bce044bcfdb54fef24a741dadac5ac9a83099f91c868937c974c6d4115a80255a00a54812a5005aa4015a802554005727b9c82489ecbb1a42ab58290a79a3fbbe5ceaae080c5cfe20d332d0513c7d2aaa518fbeb01f7f4df922f3f3032ed5e17175e35b18cacc10174b4c5fa81b7963cae646c321bc672b60a9901c0841437af0255a00a54812a5005aa4015a80255e0c823070dab00000612494441540a2c9705a508299879b40a1990b66104f000d32e3e47ead0dae009f0398b8f0befdf2a3fd03378519cce2713bc806d5126392018e716b78cfd5a1bb30c66b1d720b5019aa528d825179b16ab4015a80255a00a54812a5005aa4015388202bbf7c30ba455335725989002f813f7e6b56d8a31bbc058451e307d4e7e8bcf31f2d793dfebe596c75eee81e78ae105dbe264c01627b0aff0b3a8fa5b63f9d4da24a4ae666daa0aaa4015a80255a00a54812a5005aa4015a802bb0ae40e49ed164f260692e402dda62879a1982a1dc63e7ed2d12e9866e26916e60ac17d5f6e9160de1297e2ac0a16ec165305088ecf30822d0fb390294e7063744af1734bbc835fcc5aac0255a00a54812a5005aa4015a80255e0a357c0cbe4f631b77c9805ec162729decd217779c733ab602cceaa2d5ecc34b8cefce12fb7e8322f8dbb58325513cc2af05254f4854f8fd3381f8f646c26d0260669525005aa4015a80255a00a54812a5005aa401538a7c0bc436293e216e8417ee66905293f19b17cf2c56cb14f1170016f6b65ae33bf8a5f2835a5e133c8ed31381f8c550b0f1983e94a6cad4dd2d02a5ba5bb80591b2782e48b71f8822a5005aa4015a80255a00a54812a5005aa800a6cef295b064bc954052c55e1a77df0ac9d38230919b7a9123cf6fced4df23e9f647b335c98595c708a0b9845f196f119270f93e252bb542d661a37af0255a00a54812a5005aa4015a80255a00adc51813b5e2f358b7100bd8053149c883ffb5bb58bc1d2ca62061c6399a5b818a7d5758287b9dca2c5f6aeb830b3b8c5612608d6bfc585dc76bd984dfbe5333b57758e5f9ab75805aa4015a80255a00a54812a5005aac047afc0f67ee8239fe3a94d9520c5d97092315bc8141790e2ec6bc1dbe22e0379b5e9c12eb728b2bd132eccb9a27c6a03f4b914d3d1964f1520296601dbaa300555a00a54812a5005aa4015a80255a00a5481bb28306f98da8709889f30015489671e3f5bb3c53e459bbcb3b83548c3ab05d775b945a6e54a79a168550c02e2e40233ab623f0178494b93a5b6c52a5005aa4015a80255a00a54812a5005aac06505e61574b14c558006290a52a4f61c73b96a71bb5bbc405a759df9435e6e5164f7c6b82527b3c55b46adc307cc1e77c97c48b376f1169b822a5005aa4015a80255a00a54812a5005aac0dd159857535b5d66521b40abe08049065faeb577f369197e974ced758207bedc22caf61ab94b2e66b328de32513c5501dbaaa5d3ad659a2ce0ee964bc316ab4015a80255a00a54812a5005aa4015f82815b8fbcd705a9ec34a94da8085a768d53498380636dc360fbfb40a7fe5e0e12fb708b47b3fdc920bb35bdc25e76710838059bb3b98739669f84e83581654812a5005aa4015a80255a00a54812af0712bf0ce9be1d660cb2851f88048b7301677c9734de017fba5d3347c2ce02a2eb78875ee7eb8e517e65cf11cbf7c30d36ce2c56c29dedd7269d86215a80255a00a54812a5005aa4015a802875260f702b9abc0b49c781a2f7c8a011a5f2e62b318a48b737c0cae195ccbe5168dcedd1877f9855c8ad3dbb66ad66e3f9bf7b5df7a285305aa4015a80255a00a54812a5005aa4015d85560f7f6b84bda7cb72a6440fa5a98a578c12755bbc6f17cfde08a2eb788b57bb154c4ddaa2d7999d9d6e613ba50159b05fc8c268b8716ab4015a80255a00a54812a5005aa4015f85815f81977c50b4d66d5c4aa771706cbad59c4bf50159b2b07d775b945accb37c6ddda2db965fc18167e295ef8a8ee6e79c149abaa4015a80255a00a54812a5005aa401538b80277bf432e964b31326ef92d83f12e79c149aa1e11b8bacbadda5db84c9eab7a5ffe4247e75c3da2cfb543ad0255a00a54812a5005aa4015a80255e05128b07beddc25f338e76adf97c7e1b926e9eb11812bbddca2e03b6f98e70ccef17e2a976be7277777cbd9aab80a54812a5005aa4015a80255a00a54812a701705ee7eb1bc6c79aef61c9fb1bdd320968f025cefe556f9de79c3bc6c70b9f68e5d3c8a0fb283ac0255a00a54812a5005aa4015a80255e0e350e02e77cecb36976b51e99d068f51c96bbfdcaae92f7247bd8b93dd8ff06737dcf556b20a54812a5005aa4015a80255a00a5481232bf0b32f96ef6cf84e0364bf8bcd23fd74fe1fca688416d26544bb0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Excellent, we\u8217're making great progress, but what about completing and deleting todos?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Completing & deleting todos\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The next part of our tutorial is going to cover completing and deleting todos. These two actions are specific to each Todo item, so we need to add this functionality to the TodoView view. We will do so by adding {\f1 togglecompleted()} and {\f1 clear()} methods along with corresponding entries in the {\f1 events} hash.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+ // js/views/todos.js\line
+\line
+ var app = app || \{\};\line
+\line
+ // Todo Item View\line
+ // --------------\line
+\line
+ // The DOM element for a todo item...\line
+ app.TodoView = Backbone.View.extend(\{\line
+\line
+ //... is a list tag.\line
+ tagName: 'li',\line
+\line
+ // Cache the template function for a single item.\line
+ template: _.template( $('#item-template').html() ),\line
+\line
+ // The DOM events specific to an item.\line
+ events: \{\line
+ 'click .toggle': 'togglecompleted', // NEW\line
+ 'dblclick label': 'edit',\line
+ 'click .destroy': 'clear', // NEW\line
+ 'keypress .edit': 'updateOnEnter',\line
+ 'blur .edit': 'close'\line
+ \},\line
+\line
+ // The TodoView listens for changes to its model, re-rendering. Since there's\line
+ // a one-to-one correspondence between a **Todo** and a **TodoView** in this\line
+ // app, we set a direct reference on the model for convenience.\line
+ initialize: function() \{\line
+ this.listenTo(this.model, 'change', this.render);\line
+ this.listenTo(this.model, 'destroy', this.remove); // NEW\line
+ this.listenTo(this.model, 'visible', this.toggleVisible); // NEW\line
+ \},\line
+\line
+ // Re-render the titles of the todo item.\line
+ render: function() \{\line
+ this.$el.html( this.template( this.model.toJSON() ) );\line
+\line
+ this.$el.toggleClass( 'completed', this.model.get('completed') ); // NEW\line
+ this.toggleVisible(); // NEW\line
+\line
+ this.$input = this.$('.edit');\line
+ return this;\line
+ \},\line
+\line
+ // NEW - Toggles visibility of item\line
+ toggleVisible : function () \{\line
+ this.$el.toggleClass( 'hidden', this.isHidden());\line
+ \},\line
+\line
+ // NEW - Determines if item should be hidden\line
+ isHidden : function () \{\line
+ var isCompleted = this.model.get('completed');\line
+ return ( // hidden cases only\line
+ (!isCompleted && app.TodoFilter === 'completed')\line
+ || (isCompleted && app.TodoFilter === 'active')\line
+ );\line
+ \},\line
+\line
+ // NEW - Toggle the `"completed"` state of the model.\line
+ togglecompleted: function() \{\line
+ this.model.toggle();\line
+ \},\line
+\line
+ // Switch this view into `"editing"` mode, displaying the input field.\line
+ edit: function() \{\line
+ this.$el.addClass('editing');\line
+ this.$input.focus();\line
+ \},\line
+\line
+ // Close the `"editing"` mode, saving changes to the todo.\line
+ close: function() \{\line
+ var value = this.$input.val().trim();\line
+\line
+ if ( value ) \{\line
+ this.model.save(\{ title: value \});\line
+ \} else \{\line
+ this.clear(); // NEW\line
+ \}\line
+\line
+ this.$el.removeClass('editing');\line
+ \},\line
+\line
+ // If you hit `enter`, we're through editing the item.\line
+ updateOnEnter: function( e ) \{\line
+ if ( e.which === ENTER_KEY ) \{\line
+ this.close();\line
+ \}\line
+ \},\line
+\line
+ // NEW - Remove the item, destroy the model from *localStorage* and delete its view.\line
+ clear: function() \{\line
+ this.model.destroy();\line
+ \}\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The key part of this is the two event handlers we\u8217've added, a togglecompleted event on the todo\u8217's checkbox, and a click event on the todo\u8217's {\f1 } button.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's look at the events that occur when we click the checkbox for a todo item:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 1.\tx360\tab The {\f1 togglecompleted()} function is invoked which calls {\f1 toggle()} on the todo model.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 2.\tx360\tab {\f1 toggle()} toggles the completed status of the todo and calls {\f1 save()} on the model.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 3.\tx360\tab The save generates a {\f1 change} event on the model which is bound to our TodoView\u8217's {\f1 render()} method. We\u8217've added a statement in {\f1 render()} which toggles the completed class on the element depending on the model\u8217's completed state. The associated CSS changes the color of the title text and strikes a line through it when the todo is completed.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 4.\tx360\tab The save also results in a {\f1 change:completed} event on the model which is handled by the AppView\u8217's {\f1 filterOne()} method. If we look back at the AppView, we see that filterOne() will trigger a {\f1 visible} event on the model. This is used in conjunction with the filtering in our routes and collections so that we only display an item if its completed state falls in line with the current filter. In our update to the TodoView, we bound the model\u8217's visible event to the {\f1 toggleVisible()} method. This method uses the new {\f1 isHidden()} method to determine if the todo should be visible and updates it accordingly.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now let\u8217's look at what happens when we click on a todo\u8217's destroy button:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 1.\tx360\tab The {\f1 clear()} method is invoked which calls {\f1 destroy()} on the todo model.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 2.\tx360\tab The todo is deleted from local storage and a {\f1 destroy} event is triggered.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 3.\tx360\tab In our update to the TodoView, we bound the model\u8217's {\f1 destroy} event to the view\u8217's inherited {\f1 remove()} method. This method deletes the view and automatically removes the associated element from the DOM. Since we used {\f1 listenTo()} to bind the view\u8217's listeners to its model, {\f1 remove()} also unbinds the listening callbacks from the model ensuring that a memory leak does not occur.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 4.\tx360\tab {\f1 destroy()} also removes the model from the Todos collection, which triggers a {\f1 remove} event on the collection.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 5.\tx360\tab Since the AppView has its {\f1 render()} method bound to {\f1 all} events on the Todos collection, that view is rendered and the stats in the footer are updated.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 That\u8217's all there is to it!\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you want to see an example of those, see the {\field{\*\fldinst{HYPERLINK "https://github.com/addyosmani/todomvc/tree/gh-pages/architecture-examples/backbone"}}{\fldrslt{\ul
+complete source
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Todo routing\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Finally, we move on to routing, which will allow us to easily filter the list of items that are active as well as those which have been completed. We\u8217'll be supporting the following routes:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 #/ (all - default)\line
+#/active\line
+#/completed\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d494844520000043f000002b708020000000d98739600001819694343504943432050726f66696c6500005809ad79793c55dfd7ff3e77c2755df33ccff33c93799ee759b8e6799e55322453194209151551d1604a089148a242033244a68a8a12f29c5bfa7cbedfd7f37bfefb9dd7eb9cf3be6bbff7da6bafb5cf3e67ad0b004b23213c3c18410540486874a4b5813697a3933317c914800029c0016e404af08a0ad7b2b43405ffe7b1350eb3e1e3853851d7ff49fb7f37507bfb4479010059c2cd9ede515e21306e0400d9ea151e190d009aa88f2f2e3a9c88f3614c17091b08e32b44ecf707b712b1e71f3cf49b636bad0373660020c51108917e0050acc172ae582f3f580f1e07008626d43b2014eec60563752f7f8237002c1e30472c24248c8873612ce4f91f7afcfe0313089effe82410fcfec17fe602f78407d60d880a0f2624fcfef1fff312121c03fbebf7c1015f7151413626f09d01f65bbc1741cf06c64c303eedef63647a20af0e8fd6b63e90b707441bd9c2980ee6bcf48f31b43bc04b3141765a306683e5bb416126443eec270453a8a7b9058c6960cce715a503fb9e38164221d1dfd6e18063eaeda3ab07637815211c23c3acfff2fda3626dfeca1313fd75ccfff20309c6c478e3617e36211246bfed419cf30936208ecb03cb6f84475b12ed248e351c1a6c7e3017c47bdf487d228728ffe913f57bbe44dbfca3fd6d0d61396c33922a3ad296c881e78864f30dd03782316c1b52ca3fd2f0af5c333cf8f79a86fb226d2363ac897ee083b1af4fa81dd1874479b6374197e85bd827c872a00f082012f8004f100a96011730053a40f7e0ca05cb436199170803c1f019c945f9b705bd881e45cfa1c7d033e8d77f6570cf031e0800de30fea3eb3ffac3721b90083ec25a7d40d4dfd1502c2875942aca14be6ac2a70c4a09a5fcb76d78ad65ed2f3eb0d50fee2b7ea05bfbc0fa5858e3de5f9e7b406ae45f7cd0c7f39f1effdb267df01ef680df5f86d475a965a9ddbffdff9d31460fa38b31c4e863849199c8bbc87e64377200d98e6c015cc807c856e410b283880fecfa3b0a019610bd42f470143081bde803627eff0afd3bde7f7929e61fc68106bc085e1e58c3bd424110dc16f0cf08f6bfad0ef85f5a626086273c6220cc35f9271e0776a10460efcaa3b4516ab09f611fa318502c401c25077b5c0ba501c7401e96fe1bc5ff9e8d38f0fdededd8df7309028bf03c42a27de2a3e1b50474c2c2132203fcfca3b9b4e0ddd2478ccb28d44b428c4b464a5a1610f75e220780afd6bff75488e1d9bf329f25000ec1eb986ce45f59e01900eafa0060ccfe5726e00200b31800b79f7bc544c6fed18722ded0000b28e1a7821970005e20047b4406280055a009f48031b000b6c009b8c16bd81f84c016c78123200564801c900f8ac17970115c06d7c04d7007b48076d00d1e812760048c81b760062c8055b00eb6c00e0441241005440b31439c103f240ac9404a903aa4079942d69013e401f941a1500c74044a8372a042e83c5409d542b7a17b503734008d42afa1596819fa02fd44201138041d821d218090442821b41026085bc461841f2202918848479c469c4354216e209a11dd88278831c40c6215b1890448722403921b298e5442ea202d90ce485f6424f218321b5982ac42d623dbe0b5f80239835c436ea330285a14174a1c8ea421ca0ee5858a401d43e5a2cea3aea19a51bda817a859d43aea179a02cd861645aba08dd08e683f741c3a035d82ae4637a1fbe0e77901bd85c160183082184578b53b61023149985c4c05a601d38519c5cc633649484898494449d4482c480824d1241924a52437481e903c275920f9414a4eca492a43aa4fea4c1a4a9a4a5a425a47da49fa9cf403e90e1915193f990a990599375902591ed915b236b267640b643b586aac20560d6b8b0dc4a660cf61ebb17dd849ec577272721e7265722bf200f2e3e4e7c86f913f269f25dfc6d1e044703a38575c0cee34ae06d7857b8dfb4a41412140a149e14c114d719aa296e221c534c50f3c2d5e026f84f7c627e3cbf0cdf8e7f84f946494fc945a946e948994259477299f51ae5191510950e95011a88e519551dda39aa0daa4a6a596a6b6a00ea1cea5aea31ea05ea221a111a0d1a3f1a649a7b94cf390669e1649cb4bab43eb459b467b85b68f76810e43274867441748974377936e986e9d9e865e8ede9e3e9ebe8cbe837e8601c920c060c410cc90c77087619ce127233ba316a30f6316633de373c6ef4cac4c9a4c3e4cd94c0d4c634c3f99b998f59883980b985b98a758502c222c562c712c1758fa58d658e9585559bd58b359efb0be6143b089b059b325b15d661b62db64e76037600f672f657fc8bec6c1c0a1c911c851c4d1c9b1cc49cba9ce19c059c4f98073858b9e4b8b2b98eb1c572fd73a371bb721770c7725f730f70e8f208f1d4f2a4f03cf142f965789d797b788b787779d8f93cf8cef08df75be37fc64fc4afcfefc67f9fbf9bf0b080a38089c1468115812641234124c14bc2e38294421a42114215425f4521823ac241c245c213c2282109117f117291379268a1055100d10ad101d15438b298b858a55894d88e3c4b5c463c5af8bcf4a3048984aa44ab4487c92e49374962c90ec97fc25252f152c7545eaad348db4b174aa749bf4171911192f99329997b214b2fab2c9b2adb21b72a2723e7217e45ec9d3ca9bc99f94ef91df5350548854a8575856e453f4502c579c50a253b254ca557aac8c56d6564e566e57de5651508956b9a3f259555c3548b54e75e990e0219f43570ecdabf1a811d42ad566d4b9d43dd42fa9cf68706b1034aa34e6347935bd35ab353f68096b056addd0faa42da51da9dda4fd5d4745e7a84e972e52d740375b77588f46cf4eefbcdeb43e8fbe9ffe75fd7503798324832e43b4a1896181e18411bb919751add1bab1a2f151e35e139c898dc97993395311d348d336338499b1d919b349737ef350f3160b60616471c662ca52d032c2f2be15c6cad2aacc6ad15adafa8875bf0dad8dbb4d9dcd96adb66d9eed5b3b21bb18bb1e7b4a7b57fb5afbef0eba0e850e338e928e471d9f38b1380538b53a9338db3b573b6fbae8b914bb2cb8cabb66b88e1f163c1c7f78c08dc52dd8adc39dd29de07ed703ede1e051e7b14bb0205411363d8d3ccb3dd7bd74bcce7aad7a6b7a17792ffba8f914fa7cf055f32df45df253f33be3b7ecafe15fe2bf16a013703e6023d030f062e0f7208ba09aa0fd6087e08610d2108f907ba134a141a1bd611c61f161a3e1a2e119e133112a11c511eb912691d55150d4e1a8d6683af82377284628e644cc6cac7a6c59ec8f38fbb8bbf1d4f1a1f14309220959091f12f513af26a192bc927a8e701f4939327b54eb68e531e898e7b19e64dee4f4e485e306c7afa5605382529ea64aa516a67e4b73486b4b674f3f9e3e7fc2e0c4f50c7c4664c6c449d593173351990199c359b259a559bfb2bdb30773a4724a727673bd72074f499f3a776affb4efe9e13c85bc0bf998fcd0fcf1028d826b85d4858985f367ccce3417711565177d2b762f1e28912bb978167b36e6eccc39d373ada57ca5f9a5bbe7fdcf8f9569973594b39567957faff0ae787e41f342fd45f68b39177f5e0ab8f4aad2a0b2b94aa0aae432e672ece5c52bf657faaf2a5dadad66a9cea9deab09ad99b9667dadb756b1b6b68ead2eef3ae27accf5e51bae37466eeade6cad17afaf6c6068c8b9056ec5dc5ab9ed717bfc8ec99d9ebb4a77eb1bf91bcb9b689bb29ba1e684e6f516ff969956a7d6d17bc6f77ada54db9aee4bdcaf69e76e2feba0efc8ebc476a677ee3f487cb0d915deb5d6edd73ddfe3def3f6a1e3c397bd56bdc37d267d8f1fe93f7ad8afd5ffe0b1dae3f60195817b834a832d4f149e340fc90f353d957fda34ac30dcfc4cf159eb88f248dbe8a1d1cee71acfbb5fe8be78f4d2e8e59331f3b1d171bbf15713ae1333afbc5f2dbd0e7ebdf126f6cdcedbe393e8c9ec29aaa99269b6e9aa77c2ef1a6614663a66756787e66ce6dece7bcdafbe8f7abfbb90be48b158f281f343ed92cc52fbb2fef2c88acbcac26af8eace5ac647ea8fe59f843e357ed6fc3cb4eeb8beb011b9b1ff25f72bf3d79a6f72df7a362d37a7b742b676be67ff60fe716d5b69bbffa7c3cf0f3b71bb24bbe7f684f7da7e99fc9adc0fd9df0f2744127e7f0b20e12bc2d717802f35705ee40400ed080058fc9fdce83703fedc85600e8ced213d84165209c584c6624849a4489dc8d2b00f70180a02be850a4b1d4c3348274f5fce08988298875915d8f2d9573935b9f2b84779b17ccafc4e0241822142aec2da22ec221ba28fc44ac58324d4242924df4935481f97b192e596fd28774ffe848295229be28252bd72bc8a962a56f5c5a172356f7531f52f1a2d9a47b4b4b571daef743a75ebf42af40b0c8e19128c348c998c374c864cebcd2acc2b2dda2de7add136ccb62c7654f648fb5d871d27e04ce68277a5388c3abce936e73ee2d145b8eb59ed55ea9ded93e0ebe767ebaf1d20172812c41dcc1c42198a0cfd1636173e12713ff24ad4e9e8e4988cd8a67854824f62d7117054e0984ab2d171979498d4d369c5e94927e44ecc67e49db4cce4cf22cf0639885cea5342a7d5f3ccf31d0a9c0b9dcf3816d917db96589d353f67526a705ebb4cbd5cb942f682f845914b52952655699767ae1a55dfa859ada5aee3bf2e7d43f5a66ebd5983c32df7dbfe77c2efc6351e6b4a6d3ed192d99a732fafadf87e797b75476367df8389ae99eef19e8687bebd4cbd8ffb4a1ec5f5fb3e3e3ce03068f5c464c8e0a9e1b0edb388914ba3af5f90bf941cd319379ad07ba5f49aff0dfecdf6dba5c95753ddd397dfa5cdf8cddacd99cf9bbdb758b05834fea0bcc4b834b39cbd22b732b37a6d2df1a3e127d24fb59f0d3ecfaf5fde88ffe2f6d5e29bd966e056cf8f933f5bf674f7f70fe22f8d4421975133e879cc3a29924c01eb4f5e8e9bc18b50c6513da261a64da07bc920c398ca34c522cf9ac136c2c1c2e9c855c0ddce33c9bbc9b7c5bf22f054f0b250a4b0ba08a9c84bd18b6281e2f2e2bf241e499e967290e694fe20532f1b2ba7260fc9f729642b5a28d12a8d2b97aab8a8b2ab4ec2abc0559d597d42e3aca68b9680d68ef698ce6ddd5c3d1ffd4306d4068b86ed46c5c6b1263ea69e66fee6611621969e5616d6aa3622b6ac76787b84fd96c307c771a787cef52e65aed98713dd02dc1d3d7409929e4c5e90d78af7984faf6f935fb57f49407a60589053b06688602805bc1266c3a723be457147bbc794c676c7bd8a9f4f584bdc3e427e94e3985032d771ccf177294da9796991e96e27ec321c4f0664a6655564dfcc69ca6d3ed578fa76decdfcda82ab8597ce94151517e795649d4d3d97501a76deaf2ca0fc78c5838bc297ae55095e2ebcf2e2ea760dfe1a4b2d6f9d08bc0e146faad7eb3698dd72ba1d7c27e3eee5c6cea6d1e6e996a5d6af6dc8fb8ceda21daa9d9a0f14bbb8bb11dd733dfd0f9b7a6bfaca1ee5f79f789c38103918fd246ba87d98e1d9d191a9e72c2f345eda8ef98e1f9fb8faead9eb6f6f6926c5a74ca7c3df9d9db93ffb7c6e7a7eeefdea221a8e7ecaf2e82af59ad447f94f029f293fff585fdc98f832f8f5deb7cacde42dfbef82dfb77eb46f27fe54ddc1edeaee2d1fc45f025a455420dd50c26812f40666996485748e6c831c8be3a7d0c23b53a650dda01ea5d9a7e3a7d76308643cc17491b991a58ff531db23f6fb1c959cf15cda5c3fb9aff098f0acf266f209f2f5f0bbf16f0b14094a090e0af9099308d788188a7c10cd101312eb13f7920012159287245f49c5c05f370d32a6324bb269721c72adf2d6f26b0a271439155be0af9625e564150695ebaa5aaacf0f791dfaa496a44ea25ea621a731ae99a8c5a1d5aa6da1fd5ac75f675fb74acf529f4cffa1c1114339c315a32a635713269371d362331b734af3018b344b55cb6f560dd641368236ef6d2bed0edb33dbbf74c8733474dc776a720e76e17399722d396c7e78cbadc89ddfbdd143cbe30d21de93c7f315bc8ff8fb18f82afa29fb1b051002438208c11a21542193a157c342c2e5c377231e4666475946d347bf8db918eb1d2710b7187f21412f61323138892ee9c591fb473b8ff5263f3c7e2fa536b5242d2d3dec844b86de49914c74e6cbacd26ce71cbe9c9ddc99534f4fdfcbbb947facc0a550e50ccb99eda2f1e23b2567cf9e3a57585a79fe6ed9a3f257152b17762e51547255c95e36bce27a35acfa584dd6b5dcdae37584eb8a37f037bedcfc58bf7d0b779be38ecc5dcbc6a4a6c6e61fadcaf7c2db4aefdf6a6fedb8df39f060b3dba0e75eaf4ddf667fc980ece0cba153c31e2346cfb55e6a8f07bfc64faece0daf6c7edb26c6ff4f8d8cf84ec0280070260500c70c00ec340028e80540600cce3bb10058520060ab0c1002be00811b0290caec3fef0f0820010690036ab826c50904811450816b2616c019ce90a3e0ec320f5c00f5a0133c03b3e01b9c39b241d29001e40ec54105d00de831b488c0208410a6882844059ce7edc3795d2cf21ef217ca0075063587964567a2df615430a5981d38c31a245524ad2163252bc09263b3c8b1e4f938165c0d851c453b5e0ddf46a944799fca90ea2d75340d15cd4d5a5dda513a5bba517a0bfae70cee0c3f184b99d498a6998fb2b0b2b4b1bab191b1b5b3c772c8717ce5bcc315c92dcfbdcbd3cf5bc2e7cf7f48002f302378572853d853444b54400c2fb623fe49e2bde498549374928cb4ccb46ca69cbcdc67f9568542c504256f6553152955c643783509f5324d51ad53da033a9ff548f5e90d980dd98cf88ce54ccc4d23ccce99f75a7cb1e2b576b0396ddb6f8f72d075cc701a726170f53c5ce7f6de0343a0f6c4786e7a2d784ffaacf851fa9b0414077e083e145214fa29dc38a22e0a171d11f3264e3fbe35513ca9fa28d7b1b2e30c290569d8f494139b27033357b37372434e3715509f6129fa58527bcefd3c43d948c5a98b069736abf2aed05dcdacdeba1654fbe57afe4dbd06ea5b1b77161b979a575b3fb4cdb76f3c60ecd679e8d6e7d16f33a0f144f2a9f03385d1d0173f26506fc8262fbea39ded5cc02f1d59d5fad8f079e78bc237fd2decf7533f06b7977e2eecbcde6ddccbffe5b92ff57bff20c69f04aec9d1c035076e200264811a3084eb0c1e70852109648152500beec1758429b00ea1211648ea77f413a022e816340c7d4450226411ce8834c41dc4029213e98ebc825c4329a0d251636861740a7a128e7d190920f1271923d5236d259324abc30a636f90cb913fc059e2e629e2f164f8624a6eca5b70fefa963a8e8681a685d69ef623dd517a2cfd3906718641c6302646a62ee600163a962ed630363eb649f6520e474e26ced75c15dcde3c52bc80f725df75fe740157413938975b111e12b90bbfc5f2c4d3248e48464b79496bcae0648665b3e54ce419e537145e2bf62b352b57a9e4aa261e8a55cb526fd5f8ae25abedad93a35badd7ac7fdfe0be6187d180f1ac29c24cc4dcdee284658bd59a0d9fadbb5d85fdb4238f53a073b32bc96107b7f3ee7d1ea3841ecf5aaf4cef001f6b5f433f27ffd480ae208a60cf90f63096f0c488a928ede8da58cab8f0f82789dc49b147468ec9275f49614d2d4ac79e48ca58cb2464cde5249e92ca43e44f15de2e8a2d913bfba5f476594c85ca859f97aaab642e575cf9502d58e37fed561de3f5f29b6af51f6f95de51be3bdc4468de69ad6ab36a071db50f4cbb367a2ef67a3e5279cc3d887af2f469ec33cc48f673dc8baa31f709b3d7c16f6ba63ecc70ce59be4f59ec5c665ccdff24b0fef46bd156eeb6d18eccee85bdf7bf360ee28f026470ed95098ebe285c6bd20196708529041c859ffc4ad0081e8369f8b9c74102902674184a82caa00e68164106479d8028468c20e9913ec80e141bea386a05ed847e8ad1c174c0f5946e5253d229b2282c25f616b93d0e896ba188c04be37f50f6519552c7d038d11ad119d35b3118332a320933cbb3b8b326b045b37b72d8729a7399719bf198f29af159f3bb0b44099e12aa137e2cb22c4621ae28e12b795e6a5c8645d65bae417e47d152e9a94ad6212775b446bee6aeb6894e1a1cc116fd76834ec361a31d1313d36673098b1b5612d6cdb63a76e30e214e58e71baef66ed41ee49eeede2e3eeffd54fd73021683ac838742cdc29e47b8442e4527c572c44d273c4aea3a5a916c77fc676a65ba7d06e7c9f5ac8e9cdc53be790605cc854f8a7c8bb7cea695529faf2a57a8787ad1b712aa2abfa27475ac26a696b5eef18de47a835b9277f41b939bab5af3da9cda193b261e94753b3d24e9bdfa48aefffe80dee0c450fcb0e4087274fdc5d2d8e844c16bc137156f7f4de94d67bf7b324b3967377fe9fdf2a2f487a0a54bcb8f5756d6d01fd93e497dd65d77d8207cf1fe6af98de7dbe6e6a92db6adbaefcadfcf7fdffee1f0a3799b613b72bb797be7a7e6cff49f033bf81d9b9db33b23bba4bb9abbf1bbb77797f7b8f79cf60af706f7f67e49fff2fe75f6d7935fbff6a5f77df6cfed0f11e31fe52b2b437c7b0008a70d971fa7f7f7bf0a00405208c05ec1fefe4ed5fefede6538d99804a02bf8cfff2e443206ae7196af13d1207719f1f65fc7ff007c47b8761da207480000019e69545874584d4c3a636f6d2e61646f62652e786d7000000000003c783a786d706d65746120786d6c6e733a783d2261646f62653a6e733a6d6574612f2220783a786d70746b3d22584d5020436f726520352e312e32223e0a2020203c7264663a52444620786d6c6e733a7264663d22687474703a2f2f7777772e77332e6f72672f313939392f30322f32322d7264662d73796e7461782d6e7323223e0a2020202020203c7264663a4465736372697074696f6e207264663a61626f75743d22220a202020202020202020202020786d6c6e733a657869663d22687474703a2f2f6e732e61646f62652e636f6d2f657869662f312e302f223e0a2020202020202020203c657869663a506978656c5844696d656e73696f6e3e313038373c2f657869663a506978656c5844696d656e73696f6e3e0a2020202020202020203c657869663a506978656c5944696d656e73696f6e3e3639353c2f657869663a506978656c5944696d656e73696f6e3e0a2020202020203c2f7264663a4465736372697074696f6e3e0a2020203c2f7264663a5244463e0a3c2f783a786d706d6574613e0a8629bf5100004000494441547801ecbd09a05f5575ef7f7ee39de79b794e9892000107c6805aaa1610c456912a55db3ab7be56daf7848ed8f7dadaf66fedb3adb5fa9e82b638be4265b06568ab80a8800981102040123242e6e18ebfe9ffd9e79bac1ccfefde9b4b486e08ae6ddcacbdf65a6beffddd6bef7bf66fef7d4ea656ab451e1c0147c01170041c0147c01170041c0147c01178d923907dd9d7d02be80838028e8023e00838028e8023e00838028e4040c0572fee078e8023e00838028e8023e00838028e8023707c20e0ab97e3a39fbc968e8023e00838028e8023e00838028e8023e0ab17f70147c01170041c0147c01170041c0147c011383e10f0d5cbf1d14f5e4b47c01170041c0147c01170041c0147c011f0d58bfb8023e00838028e8023e00838028e8023e0081c1f08f8eae5f8e827afa523e00838028e8023e00838028e8023e008f8eac57dc01170041c0147c01170041c0147c01170048e0f047cf5727cf493d7d21170041c0147c01170041c0147c01170047cf5e23ee00838028e8023e00838028e8023e0083802c70702be7a393efac96be90838028e8023e00838028e8023e0083802be7a711f70041c0147c01170041c0147c01170041c81e303015fbd1c1ffde4b574041c0147c01170041c0147c01170041c015fbdb80f38028e8023e00838028e8023e00838028ec0f18180af5e8e8f7ef25a3a028e8023e00838028e8023e00838028e80af5edc071c0147c01170041c0147c01170041c0147e0f840c0572fc7473f792d1d0147c01170041c0147c01170041c0147c0572fee038e8023e00838028e8023e00838028e8023707c20e0ab97e3a39fbc968e8023e00838028e8023e00838028e8023e0ab17f70147c01170041c0147c01170041c0147c011383e10f0d5cbf1d14f5e4b47c01170041c0147c01170041c0147c011f0d58bfb8023e00838028e8023e00838028e8023e0081c1f08f8eae5f8e827afa523e00838028e8023e00838028e8023e008e41d82d110a8d56aa36539df1170041c0147c01170041c0147c011384a08643299a364f9156036f333f58cfe33d5d85780777a131c0147c01170041c0147c0117004c646e0676da9f3ca5cbdf82a656c2ff75c47c01170041c0147c01170041c81573602afd455cd2b64f57264972b47d6da2b7b6078eb1c0147c01170041c0147c01170048e06024776f97164ad1d8df68ed3e6f1bd7a39bc65c6e1698d13501773041c0147c01170041c0147c0117004260081c35b901c9ed60434679c451c97ab97f12f3fc62f39365e47caced8a578ae23e00838028e8023e00838028ec0cf2602476a51317e3be3977c59f5c8f1b47a19cf12623c32c90e78b1f2495da71d0147c01170041c0147c01170041c818944e0c52e39c6233f1e99896ce3d8651d07ab97f12c300e29734881d1603a6cc5d10c3adf1170041c0147c01170041c0147c011181181c35e481c52f19002d4673c3223567b22992febd5cb21570e630b8c9d2b94c7233391fde16539028e8023e00838028e8023e0083802a321309e05c6d83263e752ee210546abdbc4f05fa6ab97432e2a4613188d2f34c7ce4d223e7ec9a496d38e8023e00838028e8023e00838028ec04b4760fc4b88b12547cb1d8d6f353fa480494e30f1725cbd8cb172182debc5f285f2885a233227b857bc3847c01170041c0147c01170041c014760c425c4884cc36ab4dc17cbc7e0682a56d631215e5eab97b1570e23e6d633eb394236c54f25c7407ffc926318f12c47c01170041c0147c01170041c0147600c04c6bf5a4849a69256443dbf9e83f088cc318c58d631215e46ab973116092366d533c7e6d4e71ae26364994c8a380c9594054f3a028e8023e00838028e8023e008fc6c2230f68261444cc65049662569d9190f07c97a31abc61859263361c4cb65f532da6260447e8a994a829d718c48023a22530223668dc84c1a74da1170041c0147c01170041c0147c0117889088cb8481891a98246cc32a61156ab1427951cc32659230a9be589245e16ab97d19607f5fc1467b4e468fc14b249b1249d124b25c72f9952f4a423e00838028e8023e00838028e802360088c7f4990944cd2660a22c5b7a411121e3b596fc78a48291a7f828963bf7a19713150cf4c71464c8ec84c026a02462473a1ebf9f59c43aaa4043ce90838028e8023e00838028e8023e00880c0211700f502f51c21697c230ce11447c91199a3a98c56d59411539f48e218af5e465c1bd433539c6452743dc740b42c23eab3e0247393b4098f488c5f724475673a028e8023e00838028e8023e008fc4c2130fe05405272345ad059ae11293e4965250592b40948b15eddf8292de34f18712c572f233efad733939c7aba9e23ec8c6f047ca38d48320df4646eca9ac938e10838028e8023e00838028e8023e0081c2904ea570563732cd7086a62b41149a6d163e7265b949434fe884ccb3ddac4315bbdd4af10686a8a3946525926608419198393cc32f924019d0a299554ae271d0147c01170041c0147c01170041c819782c0184b02cb32420559528425c91d8d337656caec88c93198ca3adaf1cb68f5925a218c9614df728d0029e854524c8b85a6c918217e526c8c2c1376c21170041c0147c01170041c0147c01178e90824171eb2661c23ac14e3184196e8646c76eac552f29694ca2193f502a63801c4b159bd1c726d9014a8a78d93248c06356825150bc77a8e242d4e125249c64953e3e127659c76041c0147c01170041c0147c0117004920b89241aa3f191b12c1196947a3dd3384949684ba6084b26cb4ad1f5c911393027201c83d54bfd3220c5492653b42553443229ba9e2334937c38964ce5a6b2526212f6d81170041c0147c01170041c0147c011382208bca85584091b411da02d29226664543de32493292d252590a2eb9323724cf7e81113bd7aa95f06a438c9648ab66492a8a7c549c6c0974c9a8af18d486619e8f5cc7a8e093be10838028e8023e00838028e8023e0081c12015b6998643d87acd1561da92cd34dca1b9dcc4dd22a1a8e31cdac6589183199124e4a1e3d3a7ff44c1f86e5e4aac06811a924c6e18869b111ca55058250ad96e25852599234e688846452f2a6e88423e00838028e8023e00838028e8023f06211482e1bd0b5a41132688fa0e22773c922a958c46875b05ca94b05e19471e32b4bc2a3d99c78fe31de7b31b092c0256909985832693484d1a66b1c11f57c3829a6259344108a83d939c038043f25e64947c01170041c0147c01170041c819f7104465b09d4f38d9322464c2699a2478c618ec857a724b3e02899ccaaa753621238daf184ae5e520b80d192c617519f4c72a0954c12a0365a5280d6e726813683c614c7748def8423e00838028e8023e00838028e80237078088cbd4248e6623fb9ba805652e55a52cc3192962583266f76aca01189a498e8a498718e2a317127c7920b80fa26596e8aa84f8a633184d19855b29e333c3cdcd7d7b773e74ecb32425a56a5247fc42c931421f914d3938e8023e00838028e8023e00838028e400a01ad16c6609a406a5d814a92036dc9cececed6d6d662b1288e8cf3806a02233eac922bbe08094bcb74eb8954cd53658d987bc49913b7f72280ac01c9a4d12942c924d33810491ab3e22499a2c91a1a1adabe7d3bc9534e39a55c2e572a15ab4692b05e34a67527ba46932bcbf5f2a6688414917c515a5656b25c158a9d43969b5437f9a41674b55a25b67ad6131497cd66add0949da4b57a5d59b6ca4b606c15b39fb42695548c806a75488392448cf0a2b490b7ca2769d54d1cd123c62995541215388eff88d08999442c492773c7a98ed888161cff710238227ac969a1de4e4a2595548f38fef5b81927895892968038265c4fa4545249e4e138fef5b81927895892968038265c4fa4545249e4e138fef5b81927895892968038265c4fa4545249e4e1bcc2f0cfe572f97cfec9279f6466eeeded6d686830ac682c41ad4ed1a331c54fc5964c1229ba3e09e7e88589db7b19ad0da3fd214cf1498a23224963b99e9914d8b76f1fceba60c1823d7bf6c087960a5d2e27a653250f1f5a4c8b7988b7ca2725934c1994baf1b129798b4d40c625992c5ab4c9272d209c9244ccca4a1166073e62146702a625e3f0cdac84c549d621a99b1406193544a6884982aad9145fa692b4041c7ff505c8241116388e7f128114509665b8a508412a2d62f77f8d3e5012261ab602cddc4fa84a46f2c9187e4a52a66424154b5202c48ebf9014b6c48e3f80f8fcaf0162c3cadc43de62b10d2ee493c2fef7d790491142e96767fea1a584f9f3e73ffdf4d33cee160a0571cc5b48d6d3a3310d4c5490b1a411a3f14d606288dcf5d75f3f012519702a2b954c31c93501113163ff7bc3eae97a0e06c554bc75ebd6850b1772728ca4fe6c889fa26126a150f7c351ff916b1d09a1a431c541189b3009a6282dfb7365859a8a24934938b220822c6949c69292518c80844d5166933236d991a55c62099865718c19e40e04c990a5e59ca9c051951054962a0393205370c822a986c024a46838078a0aff8db5f7ff6640925c381290598b252c756c428896bc629585a4152a7533984cc294051164494b3296948c6204246c8a24cda6988e3f9838fef20a5cc2a0109df41c390f922288c955521c258d699e864d9804539496ca8269859a8a24934938b220822c6949c69292518c80844d51669332eeff60e2f8cb8b700c834274d273e43c488a20265749719434a66c92854d9804539496ca9280844d4592c9241c59104196d44dd16a6e9270449b2249b329a6fb3f981874068e804a268524b108b21c7f5c081c8489b0b2584c8e14954aa569d3a66dd8b0a1bdbd5d4cc5499f4cd2e49acd242de6185949e1145d9f847394c231d87b49c267749248d2349ba4382252b49888e1dff55952e7d2cbe0e0a00498411053c70b53f830c59105f14d2cc5944d7e37c25d341f25e5454b26156b04c2d4d135ab304543c3973562295ab9aa898a934b596d95549655d80a92980923405059625a0d219234b9b2697c38125016348415a42cd51f3e81824c5e25aa6864204c001972618a232d9804134b3195e5f88398e30f08f883fbbf8d1708058d9a646cde025cc89054ae1c098ec62f313459ca158d8c4016e0c41250d2f137942014845e3276fc41c0e77f40c0433482206c9425697235a6cc9734d01056962c98474957e3170182391eb44a84e3f80b04a16710096461281ad08e53fcb925c1e3ae352db8421cd43a480d406b32044cc927693189a5a82cd1c6149164424f649888bd178366b4869900449246de3822946b748a903c433425b663c78e8e8e0e1bc3e49a0c44b23324233b8ac9455e32264c16b4fc40b92a118ef5a8198120c88ed927296b2812948b184c92b1c6fe79ad3e37281c5884485e85cab8d50a192b1701f19305491e0e84f8c4aa0304010b8a551f5923868f35a98ba9b22426be38c6373b7008c81023afa2651319b3a95c62ab465258b4b5d48cc38126574146444bc6ec9354d1c810cc024c9249f5fadca0e0f8bbffc74f21b88a398fdc463e868790549c9409aee3fe1f0f7c01951c89d060a581295453d84a00007dfe117ac4a061b8819ecd8af0cdf11010dff04491200108f1cd0e0441966507490913c371fc851eb1500216711cffe0287148790e49414426de052d1f138012169e49f5fa5c380499923c765011e738c5df9a3362dbad8122d4586ba96084a951c91d6faeefcb0e315811234330668a4866192dc2923222c531b29202a9528e78f2e0aaeb889b3683824fc91169634288b63849a46892e30994fbcc33cf70e905617a972404311d2042b4f12108ca45a05e0c8e5c4d62b1f8212233628414524931554f8a20b75e4c2a725355cfb4c89243c349d5dc9266131999923ab16c8a4fac0a20a3c69a65c91b1f42b40454101c08d1c88b2046464962c99835e31b27e83bfe8e7f9dabe015f255b9871c46b47969ca732c89d7499e38e9812465537c62f77fc32a099468c71f0f2118444a8e161b804648329514135f15bc663c2926daf1370047c33cc937008d3075d04e4a423bfe8020a06cda34b894a54702d1ca1a3b36d88d907c2a29e6cf0efec04860938778a854922be63219eedf1318e3e0432c3ee090548cbc01282219eb715792a88c3f24558c16914c1a27498c41937594c2313839a69658972409d1c6494a5a16c468419d4a2e0431eaa2f10f687a113e314ca3e1e82f0102721419814e968e3c49b274d15059c4f0312e9b62ca88e45507f155b48a83a3645240628a556d8cc80e4cd5d9e4d52231939679a39a2a60f266c1c4ac20b210d3112c68044c465a241116142a5a314c2a607c69294b76c8922e4c68595316314ca311336108b29285aae1c4b24096e30f1a04c71f10ea1dc9fd5f8348e3057c626709116347830e014b26054c1242c3107982f882dae47dfe112ce00314c4868ce39f9cd2810540e445c47242f952d221a1c153d0196d8e07210b64f9fc2f587cfe07877a473a5ee67f2a4f55095bb7ef7af4b92d4351b6b3a3bda5a1b8a734dcbfaf7fa87fa0b3b9b870e6949e8e36eedf332e08a88cd3fff18da47b3076a4aec128ff19314652902a361963c2d1483401234c78228983d3ee512a95e6252d5b7244424c8b9304f418817e1d2d972c16a3279e7822b81310534cad9274320b9a5c13134d8c29fc80d8b24c4b2a4983c827837411105392588320c0940589990c04b96429a868cb55969208a4ec30d18ba3d86a8ebcca953514550a62f0451b53c615cb0234b90c0f628231b1a61261624a0d51d1e20469c73f46dbf1c7317006e1604e826bc96de46fe24b32f69dfd4f3f96ab2c25e55ad010c4e68dd0b2234755aee32fe81cffa4db0813732acb4a3a9579919c4a32c404791a84b2482643723e84af521c7f834b84c5406459a2898521b165993c84a1eaf88340d2df9228c9f10451923619311d7fb913b1058d7d9260f5529e7fb0803a175456ac7eaeaf5278fd79674cee6acff3a6d6f847f6a15ab56fb0bc65dbae87563d35b873c71bce38b1a9a949ef101ba7fff3de648e1a515bea396218232b29af96c211914c1a6744026692afe4d18827e2decb18f5d628420042b4c54922e48d1ee854cb84c69a38c6e72020efc046463581509758c5488a29a7347504c882299ba24d1742c5299758468815e010904152411c724510635cbf27c13c20b5df2c1cfccc2445a8445940be5e060e812cb5c292625a4cb91827a9eac9ac95655ac69741ab034968c484585251b592007c25252c31d5c1544c06495953cd55b498c8903401e992b4ea899065559e5862524498208e659174fc010164049de36f1e2240ccc180c868791492c8b8ffa7e6283021082ed14aa66270f3f9c7e71f0d379f7f6c6ef1f9c7665a668cd4dc0238028a2c68b94d4a862cc2cb79fea1095cac5ff9ccfaa8a3f3ca372fed6969aa656a5125b4a85cabf29f4c21dbdbde7cf20973f6d632b7fde78fe74d692f160a6a6ff2cf8d0195840526afd8edeeee86090ec4040145aca438468f4698bc8854d28cd4f365d0f8a3d97fe9fc095dbd189a46a8019614419c24941c9103135790801149a6b2b66ddb46778a260656a3935a86a68d072411802f79291213a42842316210b26f5a789b99950a4923a442d24a94ba64ac1492f25a2b0e3163a20e1f0b62ca02b1d984b06a88af0a401b1f6b0438c4e42663354acc2014076cca88086460cbb88cc832b45983569041d132227abfe90367d5482229f5a4224cf1618a502c7963aa3ec906aa2cf84658118695d42563a590c40e497188113326d6e060414c5920369b10560df1550168e3638d008798dc64ace2c40c4271c0a68c884006b68ccb882c439b35680519142d23a2f79b76fc1dffd809f113b9078ee1fecf18d1c021260819118a410942621a74d0c9016e601a2115923657481d3e4c2bc5f1071621a3d89011a1d8f1071c1c89580e430c8d2341c8e54812804b0471928f988279a3012b79291213a4284231ba10b2af42a1ddff0585e10cc181b1ddbb773ffefc9e775f7c6131932d45955c3557cdd6a26c94ad6504228f8dd5a836a9bd636fa9fcf023ab164cefe5376e752e201364508462c3ff85175ed0ea657f77fef47f1016c308cb1f83a32c6223d0123d2291649afd234e1cb37b2fa996e0e8290e498d19c524cd038c6f9c24019d1426294e8c7c185d24896d8842c02157626441135b05e434c40c451d8e522ef23011860f813c41c6215404b962ca888cc3249896a904fdf8418118018455841517ebedafa76824b18c1841625224364e301a8ba94462b2541f62495aac1a2a960513c608b4ecc7260f4e8e245121d76410a320e05216311c82c488291a2641f5274bea2a9a982c6282555506c52457154351ed0ab61cff037d24581c7f7905315e243f2196e7c8b5e47816c384568c188409cbbb942bb3ca4dd1c8234390bb928b18b198522176ff1708c022c414c384a3180e04b1660030349914e602995c9371fc859e802276ffc797081a86720f8dc114500c5be092139295f23df87233d911b0700818374589890393e0f807f45f11f8f3d1f31b6fbc91a35ffc79a5a3e95c62be1179dd75d741e309f28d11e77f987cbd63c5b31bde7cf6390dd9f074548872fa5f09dda852ac44c3996c9483ace532b593e64c7bec99679fdfba6df6cc192c7bb8cd2f1855104e4559d894278b4905c45135ccf124436e8a404b4159d83fc008ed325a847a30c53c56c9a3bb7a490261748a20691c50b06492a8e7930bd6924912495ab9c4f4251694a5e507bd4252a0e313ea2438ca8580237549124b8cef01a9ef252049330e53b9c464a16206d50495282d4952376488618a23154a47188364a92ce9425ba192210921192c88690541c0e19dd11b376ee47b9d54496625a612b120798bb12645e34024ab41125d29aa50685953654c5e0599aeb42c69f6c591295990a2044c3e65dc4a313bb22079550915d3323108d55632c422c447de249334660948920b21b3290125c945269905adba992e84d5013a19ead5c955892686ae6a22b3567f0a92bae4ad3e22a49532c59cd8d6d63675ead4499326615f1688456019f9e3d4ff05058d62b35e034d486a58090735500db7e627931a35061d59a893948cf8703472612aa40632a580a798944b526202161a8e72559f18fed0954a3afe8e3f4e62fe008d87c86d344e8981484cf8ca425eb4fbbf21a301a5f1ab614b0c539cd4b0250b0c4dd7f1174ac24448cad38008a67289c962cab2090d19c3f078c79fbf951ffbd8c7eebefbee62b1a89783d1341eb1927e427b538e44ab112366f5b26b6068c1ccf0a73619c2e1b06cae52abe4f5972197c9c58f218be6cd7972fdfadeeeaed6d6d6f13c7fe2b12a88fa10b04a4cb9c17cfc370b3a4548062d02c2161b210162024c6213134705493e081d788a107d94e2a3bb7a19a3d2822029004701669248250f48edffaf7c8284fa0c421cf596d19a8330a511a5a43a55b1ba537cb460c2c11a2a24e5887008561f64b00607022641c54148912c38241180438c7d4c4940c249e312938a19815050d3a04d0c5308135407040812165f92ab57af6e6969b9e0c20b89f339fc384b75ab35da4895a033d50cfb94d9086e9cc1ee2509ce62721a33e25f86e690112c877dcd6ca6826e94c9f2eb0072e45663d5589a3fa0e85533b56cac49e31938b15d5908b662ebb1318aae51309589f811a346a1a156fbcb0e262a1443c9408c5a2829c4e11f350a8a81c67c2ef41432deb4c3eb3556f77d7bfb56ae7a6cd5aa55279d74126e43c0a9e44ef8d271eaff3421f84870c210c2f0880788c58c470d1f71902119cb1e14461d3b8c740813834092582a46a82ce5aa7419544ceecfd4fce3f8d3efe612b8ca04cfff8ebfe3eff38f0620a38f699940d2e2c39bff65e1dc73cffdf18f7fccea453e0633e96cd023cefffc88c0eaa5b3b38b8bf8a8d407fed646994a9e472b9eab42a8f676b62d7b6a90ad9ee6e6668a8315b723fce919f1f993a209e45201b554344c927afe8456f524209b82085a442a095f592214a38e58923391f444af5e0c2c6b7c8a93e493a55c11c4808e409250963a46fc546c492982b519114d2f124c6cdfd6179ebce77beb7ef293e7d73c8ba74f9d377ff6994b4ebee80ded53a6e2eb563de92ad6b31df4eeed9b572fff8f0d4f3db8f5b96748f6cc9e3febc4d79e78c6cfb5754d21892e0561049a607fc9584f93dcbae3f9071ebb6fe59a47d66c7e8ee7f039d3e72e9a73daf9a75fd8d339c9b4b45c511dd41cda822e95971fcb3849980890dcb469d3a49eded34f5f32187e7d1e1ecc56722c0b581494b32506492e2c10586d6433559ece7254b0ca0370b6c4fe648c7385950c4b0bd638e16066295ee464cb797e1ec00245c3cc945879d02856386c77d6f22c3ed84baae5b2616d53a230d64648319658c784b54c2d286198b39e95e2706188e2732c466ad96aae44e5a8402eacad2aac0aabb97ca55acb452c87c2acc3866a99b557be1cce878645120ba95a36572a5472155633deb4c3efb586e68673ce3a6bd9238f6cd8b061e6cc99f80f1e252fc29d7024c5f23d39987c8fd8fc5f3e29c7d32c892449494298276339e5ff12b318017431829869bd58ffa75c0c624ad6a0ade6e293c4b80a45464c2589c955eb18a1c9a2c5471e26b40276206052617409e8c21121e31250ad8c4651ba92c7a6841d7f2072fcddff710340501c0fac83a39891220fd1682217821879c6912591d19862a091054d3019fdfd4518318b11c0144610332d9292418c80802c438cf8f757c27169c19a54481a1f26c6e1cb0e04b94a4a183e85fafca35e7bf9e0cf8ba06ebbedb6134e3841dd94ec5caa0a9340df896f9d0b416edfc060777b9764ea63d6343c3c95a3f0c36dad141e8458e7ec19e47b3025f9182a9895172906167194452904b260e25dd01623a064d208b9b22357244bba100a240f90fbffab7625f9568194e4514d4ed0ad7db5768c964820199b30cc241ff49584105d4f209064e26a53a684f5433014773cb104acc3280e818d2b1e7de01fbeb8fad65b270d0d9e3975eabce6d6be0deb9fb8ef07dbd7ac6b9e32b97dea14a94b58359459e8f5ab7ff2a3dbff7ee3f76e9a9edffb9a13269f30a9b1b4e599a71fbcfbf9ed1b9ada2777f6cea044c4283154e2c05c26fac9352bbf71cf57ef5a7957b9a732ebb4a9edb35b37ecddf4e0633fdeb465434f4bf7a4ee502eba129605ac89291f3201d54a493c7eeddab5e72fbd9051532b95d92e090b1656f550d54aae8089b05ca9b2c9c98d311effc961e910b3c202a5c200cae6d9cbccb2c861d910365498ffa338af1615102db33ac995c330098b0924b215562bbc358364d8cf09f5ae621da2522d84ff50387b2e94c6fa07bdb077c2e86031c36aa7c0d28953a0ac70a80799fc89a9e56ae14a1b0ba82a3baa95282fc30cc96a8ebd189e20f943c45aca9b163af2b07badccfb4e6ad919d3a72e5bb65c2fe8a33709f457e8b2989007424328168180b288e5e410a22d0ba71dc3ff654df3beca22967caa7492e3f47fb3404d64441c62024c62554f05256b4e4dc852ae8991142d025a621054497468761c4c126172e1194704c51194652a269384c2ca454cb4ac99164c651163537cd1964541ca8280697cd1948b7cb25038924740b54240c2b240ae8c4857b462499a054b8a434c80492c7915a4183e41609a7d332e1592c184e31ff73b3880984114e3b7df4f0c52430c4e8c9ce37ff0efa9c091d711838f38424f34b1408670ff174ac4220c1c92e672a22deb1536ffdc7cf3cdfcc6c7ba626060801f85f1197654784f7140240ef2229a4fa0edf0e0000e5b285cd9cf77769d3473da7ed1baff847d177e42ae45bbfb0777f6ed2b952b6bd7ac3d615a0faf4ec61476644d7a2a089a828829e2f9e79fefea3ab83a92bc098f4d9871080ba840d7c749a6e58e48c03c1a61a2f75e466c8370b718c268e48d8ed93f15914b6f4900423449d196e46f2141930e2ad0c8683849588bd7dd5b362fbbe1a67d0f3ff88937bf71d25bde18bde18270fae93fef7de1b63bffe1dfee7ea4966999d4d331751a2a741bb1b58582f6ee7c7ec57f7e29ffc49d1ffd8d5feeb8e06dc5b69fa3c74b7bfe63d7fdfff28d7ffcda63994a7bf7b48e9e69aa188a5619e8adbb5eb8e507df7a74e7e3bff21b6fbbfca45f98d67406cc8d030fdffce41d5ffbf2edb5072a5d9dbd53baa7c254a12cc1a1a903d654135aa42648c66ac8b26de1c28538fc60a59a679111550a51a514650bd54a8935441983bcf02253a846251ea472da9564c73213e5c3c9ac7cd8bcac940b9ce9ca1591299473d54ca95240335fe55426bf0b0104bfd2e3d9d972ae960712d634ac3b2af1319bf8872aceaa856366e51abfe4f36a8db02d0afc7c50965ecab16fc2d209fb6cb970082fcff28955ca3025b3c1335c2b17c3130a7529b1e0a9b02e62cdc3aa276e353b451574f3a52ce57ad38e44af95836b9c72ca29bca36fdab4e0abf895662811c472b07affc79fc9428598800712d8e6160147be4a4c2099f47f7932921a9232a5df9910960555031addf1fb3fc2046b858cd82f58f0ad1a14a47259f08b5059a8ab0e12509c6c3e62493b92c702926a17b170b3b248a2251908246df09a0c1cc408aab30862eca392ac8095288298800cc1f1572f0837c39624e038fee06098c8b1f11cf77f3001079f7f700f82cf3f0c0da60b0d10c560c28d17962efdfdfd8c978b2ebae87bdffb1e6b18c4f01c93440c9a1818e16bac41efd937d03d296c0c1e320c0d0ef06cd63f34d4148b638d4029d85459b200534e0b0187225461c42490ccd5df1a2445981d11c4329e8c6524c931cbca3a56f1b159bda4201bb1f186a61188412ba8170fa4826f256992c6112d5d150487eea48f8999a4e80968e267effe5edfbd3f7cf7e21327cd9f1d3db13a7a6c5590cfe7272f9873f5bcf937ddfba3b5672e39e3ddef54cfa192ecfe6757dc937bf2ce2b2e5dd2b1e8d4ecee0da5edff07d54cbed8b1f0b4b75dfaf82ddfbdf3d915679d76c155783ca593659323757870e5fd2b763c76eee54b16cd39e199eadac7763f854053beb864eec275973ff7c077563cf4f80f2e3eef0acaa58d16ab81d4418465a14b20490db76cd972fa9225e5ca7081e57c54ca56799a2cd3e50c32960cb49c754626cb26074b986cb654e30c589ec358852a0b12b641ca997cd8f1602b8521194e6d85c503bf0a849b2b14c0712e8e746183bb34254e8cb1a9a21378610f67ffcbff7260cb793118b91ceb15162915c4c2720536ffe55191b369ac8c4af9f047231b6f1fe45922550a612a084bad70d60ce3b52c67c8d81e0280b0d1022b2c9ea272a14283bc6947a6d76ad5caacd9b39e78e2899e9e1e1db1d530619adeb973271334ae05fec41a447841f0b63888a35cf8f8823c531c446072f38ac0edc3a4ffc3379b109488b0a94390c4145992542ce363f8bfb4640a150829ca49c59759a321149205411390445175938cec9045c5c885492ea02929616209abf2a2cd14b9c9f9272e673f9ee2cba68c60810047316525e71f74e1202961c4c885a3eaa142a18411e71fc9a082009268416387245932a82c492a56aee30f1ac045ecf88380fb3fce207f20668c103382cc49185f96d410d370161d34e3a021663104a690d1d8948cec48460539fea06100421c11fc79c3187fb052f8ebd24b4747c7c5175f4c0fbee94d6fe220d921f1a77a8481a1e1a6f887625575b4986fbf0c0e5432b9ecdebebe667e128e4f1453160115ca1a71fe2797aaaab6860004de424ce996052d01cb4217a66223541c92a920019846a4042620796c562f6a18cd4eb65049e2544026c94926e909cb124dac001f4231045af4373da1ae1287d83a0c815d0f3f74c66076facebee88165516f57d4dc0433ea1f88b6ed9cb6bb6f495f76f38f1f8edefd4e99c2b23d81c1d9bde1a1d367461d2d0d99671f8d5abb720dcd30aba581ccde9d30c97a62c343d9ecbb78fe93cf512eeaccf5d4ea89e757759cd2d5dcdef8c80b8fb7377636c4d7b9864a83bb07f6367534752eec42e092ccdb30a8e6d004350d020e7c71202c20c0136767474753b111531c00e3ae49b87b9f679b22fe3452a6f6dddb6e377923de72d95b580b703eab56665551e57a0a4a00a7ebf3549b3508eb14b66758ffb0d229730985150d3b3bdc3a29678772d5065e9a91af7129860b2b2c8c3279b66fb2c30d955c395f0b97d132e5b0fa091b3b04163e43d94c31ca95caac4538a2c65e50b9c069b10caf046019c51e0fbb0a653a8a3d17b67b9021936a1586abf1960f56684fba6945ac14798e2cb3820c2ba53c6b36ce9d7173c79b3676af450d8dcd4cca6c887347500fbbf812af909f33734e434b2337a3d87763a30defc6efc23a12546146d5428dcd3ce63ffc8519307e3304ebd6b069c6d2958ee5ca52795fdfc08eed5bf7eeddcb494ef3ffe418c425481234b8704b89c1812697ca8cc7ff65472ad0726f08052cc8acacc184d09f070892c843484b4650d1042215982409f09157f5649658eab263c61146cc722503c7d465d9ec43303f101310269824a6a0059172312b5364c1a12dfa111da6958bcc88f34fb20e2a028ee30f8c8ebf391ece23470216f9304902b4b925b4b90d62f0e5b4724884f12be9c2218b38e97b24c955ac5cc7dff1d7448d9f982fc949f02e08f99838c2ca103315c9481d9a80bccccad9e0408c36ffdf74d34d575d75557b7b3b6f15bbe38e3b88cf3ffffcf3ce3befd4534f658ee56f99742fbdf4526c12304e593031ab422580ff87b26166a2d6c691afecabf2c41c2719280df7557838ca6e58bf756667abaa2701995259188749a11a4a241560c24922235a62e422a6aa52253143dd0efc95114dd28264888d23454b4e3c7114572fd6fe7a22d94ee526e3542e59962b3a95b4deb25c11f021944b7fd3fd494995a2ce9058edc9b5270f679a9fd8160d54a3697ba2d6d620b36f5ff4c29ee667779e1cd536ae59a329581d49a6254bfdeba7cf995e6c6477634fb82e12ff4a5d2df7d7aabb6b8d55b21e7d7e3da59b33256bb86360f3d4253d95e668203b98a9ed1c2a15b13c5c1d26596bac4d9d3369fb8f365350a84c1c543ad64861474962829822d87839e38c334a51393c48b26781875758cf67c2262467b4b2612c5d79e595b2a9f84b5ffad2addfb9f52d97be35138e7eb1580823805f15e34b283cfeb360604110f1223fce80850d148e85e1f16199c21a23cb19af225b25d8ad7083256c906061b8c6259870e08baea80d533e1b3aa153c2fe0c6f27e05e0ddb31613593e3341b6b9562393cfff22ffe4fa552ce3319f030cc5e505849d1362a1e552b05f664407be4a685af3f854b3be1160d7b4ab522ef10a082e1de8e376dec5e8bca95c58b16fd64d9324ef1268f91d4f2997d7dfd401aae47711a90737eac30e3fea8c42fc61c6223ac562972b63093e1350a25b6eae8b17831430773dc10f09b1a8ab366cfd9b0613d671a3b3b3b71033930ee279a0102870047311ca669badd1c159a2cb93a8492c4043121a40b21cbb206d3fe06609631452cb3d225579689ad2649b3b2acaaa228fb084bc608256541622a0b45822a63e52a091f2dc4300287249549e24f96cc121324262649112852a8ca95415549f2d064590548424b40254a8098a05ac9a0e30f208e7f70bb03434f1e42527e0261be24c723961f22402ee8c9f7e09b6b294b49692126cb24ddff8182206c8515341cc0214ea2e7f8838040102c497ccce5601ec6fccf0f6db7dc720bc7c3eebaeb2e0e5473dd65d9b2654b962ce1fb1356164510925304c97aff673e87cf434fdf301f773944e81f18e6c96bb836bcf5f9cda72d9ca106aa086835d09222549f50957894490526c20a0691ea0653a620246696658ad882094b86d8b2444800ba9e48491ea9e4fe3fde47cadc78ec1852230a27738d865040e50099feaffa4c3179c924341cfe06a34e372b691c98faf3dc5ccc774c6b8be6f44453daa3f6b6a8ad39ea688d3adba3a99dd1893d9d333b9b8be1dc1716d095bb8826596c2ae47b7ab3dd3db9eeae6cd06ae61f04c95cf724b2105041563add2f230d8df9eed6d6f6a6e6b6e6a6b6c6a6cea6e68ec6a6b6a6a6b6e6e6d6e696aeb6e662e3c145265afc806ae59a2741609918bf24179aa33e9326f556b9584216ffc084ab2ae147f10c12782ba850a5c1c121fd83265c7ef95bbf73eb2d3ca2861362b48b6d0e96293ca656b9ecc26132de48ce4350869b2865f67378400d07c0d80d09f7c5c3a2022e4fafd9cc302f2ecf55864b1beffeeaad6b4bd80ad5289013d596dffcff7eb069287e5d59815d181e6ac3cb03183fb9a80168c312833d17661a2ac945fef04a336a4c39359e6373e1a20e3a9c3aa392a3352d2cd67299e1b06e633f87836dd54ad82560cb26681d99a6f1a45e611382d36f9bbefbb5ef6ca1412ceb2886ea868dae97dcb4cad00bdbb7bcb07567ff101d77b0d78e76d3cab552576f0fdbe59a6ae54becc3ecd9b59be50a9e90a7b3d83ee33212ab185e0157e29012cdae9479bf1cc8c69f0d1e0e9b675996a3bc1d8e852b9d50aa555948f7954be5bec169d3a6e39c1a4a726006204143436e1c3b637816c70991519218fa90fe2f0bc404d48935d0d085a6201b3ee4aa992a9d38b4301ee04842c34106424694ab2c592636428b1f64d428f82a4b06cd38eab1d2fe1949a548c574212486ae08620559234645b42a800a4125c281b65c6b05044654bad4552e7ccb4200666cccf10ff3bc1013f8c44295d8f11732723f62f77f5c82290b5820e4300247de2226034d2ea461e8f30f38c4d3cfcb74fe6f6868983d7b364b17d62decc0f0d767d6ac594c8fea5975a2a68543fabf1ca090cff6970ffe18ad993619f3f320e74af6968678b0dab2735f53b6c4351bfd295441143ac6fc23c7b358f54c2655e754ac161953c9549caca468e44da63ef768738ec1eac59aa496abf149148c3601938123a63a43496823445bae086259609040d8df699c09272017cf80d9b2f8a4dd533aa37953a20533a2850ba23316454b16460b4f8ce6ce8a664fd935a3bb7161f814063e8a9662b914365b7b16ecac75645a3aa3968ea8a327ea981effeb89da3ad8c3d995696fe99e8f185ac4040ab5864ceb9a93dd1bb5e41a3a8b4d931bbaa6374c9ed13805a2a3d8d49c6bc8ee8ba677cc968a9a431d082a5af5874ffd3148cc6c88f0d6ad5b172f5ecc2a9f47bf2a774cca50150e5fd57881188f92b9a810aeec07cfab0f575c71c5bf7ce75f794a6602e601955fd479715f66f0271f6cefeeece9ec6eebbefc037ffed8d6e1f0184d812c3d38c9c5da823fe7988c3243f9f0fa2af6b9c24b9607365df59befd9ba2f3cee32264b391ef7fbfeeb573f70dfa621f2c301b4784dc1a22aa276d52af72aa85e2899dbf86cc470e6a89c29b19ce1b813cb9532f5e1e5581cffa235e12131d5b4ddcbffa6bdf7b37d88b0b02af1484dc56a6556413c0357c28935d2584d378dc73c9eb0b395555f7877776747774f576f675777773b2f65e7ff7fb36cd7c84d0b46abb9c16c7960e3bb7ee3bd1b595ac50b368cff54d3fa577cb0b3b3fbdd9f7be140d386b7fefbebdabbdff5e5e5a5c7bfd6de7df9433b0f36eda1cf9cdbfd570fd0b4a7eef947def170e2fc85279e306ffab4deabffef72ebb5c36b5a6db0bc6ae50a76c8d46b6c7cad59bb865e1da9692c35338b162ee2ee3e7e85a7e127ac5eb66fdfc6c32c4b48ba80e1145ea0c07becb211af7fe0d7a4b0620d0f76b5e16c89aee70020cb190e9415f8ed28628987e35558d632720651af54dbdbda5820e17b72608a889d3afcc91753ce49ae024939bfaa7448ff470b3b36d2f57745a53070540431d69424c6261c820895081f1968080206899525610a5292185a95d413093432528740007508ab150549059ba82040903c59a245a8397050af9f7fe023a642258f1801b3669f4211ab9f7f24200be8aace305516840249b2141023080772c5947d62cd3ff0a980b5d4f177fc712140487a055e24ff71ff0701d00883d6e79f033fbb0085261fe26338ff50340b98934f3e99db2fbc580c1f661f86492feeabfdbf1091444cce0c3dc6fc4f2f177299a13d0352af8f797a2b73d89a432783610a5df9f49af93d6d1ce12648f890f3bf26645549b4a10721da080430aba462ab9225212463929211dfe4279e3896ab97d15a9b0445082a46be3e69e8abb7905187598c0a342b6615072d02be8435871237bfe6551bbb5aa3b933a2e933a213e647279f1cfe2d981bcd9811cd9bb5a9b5a5edd567a2657f92cd1444ebd4339f1fae0c14f2b5e67cd4d0193575877f8d1db5c6fc40a1b065b0da36ed55e6dcc86387241560da5ad07372797ba9b952688f9a7bf21dddc59ef02fdfd19e696ae1d32a5b874f9c7c0a2ad49098812142ea6a05762008783606c9e2ad79f3e6cee36e488dd33c2c29c2eb89f3dc8de7bdc261df82c7f818a878aac45e08d0d8b9e9a67fe6dfc040ffb7fef55f42fd582db0874fabb3b5fe28fac4bf2e7f66f9b7a77deb531fb96555253e8216ce6ff144c5fe06af6266df81a763de6a1c3ffc508d42317b41744126cf65189e64d951e129366a581c35151a2891bbfedc48a970928c4546fc3e8042d877093fd797b9460142d489f79285970d700b86770be4b2c3bca3998ee349983aa59bd638ff17fff3fe2bc27525b67ab85293a5e69c62e24990e671f48936d314cebf85b54fb2696495a2fc29577fe1d935eb366c59ff2fbfb778f1b5df7966d3ba356b9e7dff695d23372d6c3ef1ed996a4343cbd268693849178c72562e3c4a269bb60ff61dd7fe607df85a0e4d5b71cb8d2ba9e050d4b4f0a26ba2fbbe70d7d3fb9bd6bfeeabd7affccca5a7afbff72fcf79fb277efbc6ef6fdab573d7e62d4f3cf81f1f397baaf5dae1356df5334fdf7efbbf7dff07f7b378e3c9f3beefdffbf56f7c73fd73cf8dd8b4a8363c77de3c5c881ec4e58899be6944dfc04034c88d26561f151e8687c351423a3fec86f3f785ae0bab1bf8b1008b534e270eb16b175506f143843809c53652851db9c19ece1e0e106353ee0a621024912240e3cca221029e2fc6ff51c194ac11cb1431c15a4411d81427ced93faef59489184c7435d8551368b306071992e298bc4c5161f8aab638e3997fb0296baa98c52a487660d6cf3f1210682a885902a60c6213152a936c0bd64c0b825cc75f70818c212f5a4039feeeff38c678fefee22a0c3a42caa3e06b5412fbfca361050e102fe7f9479380fa8e7abefef5afa75b09aa3fbdac2c62d110884113234692a069190e743e97dbbe7b27022306e008bff396f925b7baa3bf7fdb73ebba3bda1b1b1ba58bc143ceff2a943819288ba2e110431b41d282649249d5108e88975b3cd1ab170342442a26691c230cb238f3a08b28998ad52b621a0dc163bdb9140346ae8018c6f106c94f3af7ec7d0b4f7c909e9d313deae98dda3bc2bfde4995d9d31ecc54f69dbc60f279e7204c400bdf450bcb049253e79dd79f3f69c5da17f696c3836bd840608b83372997ab2bd6b0f770e2b4f9e7ab2114ade18a3a04eaa7ce3e73726dc696955b3383bcd538cfc37af857ce938439a93af3d4d9af525958a021544049d5812446e0849ac5815f0878b353734b53a6cc59a9f03e31aec047bc7b2f0b08ac64e28b2c3c49d739e5affddaafdbbf38375c8e09bf04703b85371344d19429d33be69efbaad0924cb13c78ff673fd8c3564557f765bffda52d43a1e1439b1efaabf79cdfd1dbd3d5d3fb9527f7852f4d869d13ee9eecbce9bf5df0aebfbd97d2f3ddd1aee7fefdf7ceefeee9ed7acf1fdfbe150cb2d5a12dcbffe4f2aef6eeeeee9ecbfff9becd856a2937b4faf72fbbee3bdfffd6bb7b3bbaba7a3efb6fcf508f6a6edf435ffeddce6eb6472ef8da23cfa79a56d9f2c3bffce28f4a3cfdee7bfa731f5cdadbc94eca071fe967c2603113366cc299a7f0905d8b06fb77efe50b38fb9b068039aedf34347774b5b635b44d6ded8e1adabb9a3ad88269e3c8d9d0a6afffcf5feeeaeceee9e9bcf6a61f0fb3a0ca45fd9b1efcf8d20e6a76c9fb3e785fd491cf960ad9dae09687ae7f2b7b3634edf2afdfbb99cda5f096b6b8e3bff0dd4759e8d52aebbf7ddded172c86551dce4cbdea73977cf303b76dcd845b403b1ebde52bd135bfb0b87ad75ffe79f43bdffce3b79eda48af35157b179c79eee25eeb351608dc8fe7ea10eb39fe3342d3d8454af49a9a76f2a245afffb9d72d5fb6fc47dfbfef817bef5bbeec117e409a3f67369fca09eeca52834f82f2519db869784d4b4b033f3571b417870a75ad56d934dfbd6347368f73b261c604cd8284254b998567864f0771042b7c1888151a733617ac02d828b2740cce13635ea9e5c30140f895a8b1b9119bfbf6ed2326e06c38334f068c4d68e3c4c81d1c6b240fe9ffd85185b18330b1461c04c172298ba41504adb2105608d58a974c668da454e0c88e6298e28315044c0246944418e678e69fb8c01025ed634a15901d92ea1108158a3c6529890c179d49425805641061e3230cadaa86f21c7fb03830998306e801916211620a31c73f890f740c5e184aeeff20600e032c3eff6858c9498edff9c73c9cd9f5dbdffe361f6cb1f9e1c5fa3f2ed1502c6edac6518c7460d705b39c196302e2bc49b55c796ecbb69ea60c071fd0d25fc62050f7fc09b0f0a92416f5a20babb008624df2964c11288a63752299649abc98a9d892101319266ef52238c6df364333055c8a8f4138f48d758fe8645202ea78e5f2ec8213988cbabfb1bb67ca25176febedfeaf35cfaedabe6d6b5fffd6bebe555bb77d6ff5ea6d1d6d532ebda4a1ab1b1f22a0c8621a832a1da2a9b577fac25fdcb667de033f7af2f1a7576dd9ba867f1024b7ef9d3fe3d4b735b6f4a045b9c468416830a3dbd1d27dde091735f5f5acf8c1aaa757aeddb47133ff56af5cbbe2fe27619e77d24508249b800a46085820a63ee40ad8985dddb469d392d396f028c5ee408ecb1f3c13e678480dbf8cf3bd482acdc5777e2447585a8af98e920538e4867d103613f2ac407884cfb447d1cd377cee331f78d375d13537fcda697cdfbef7acf73fb179d7ae35f7d46ef89d5b9eea2b6436fec5a2377d6ad247573cb761fdeac72f9eddc839b05ad4de941bf8ee1fccffd843bff237bf791e5fa26c6c8bfefabddf38fbef563cfde0b7f77ee6bd7f74fbda5ab4f1530b7ffea19fbf79edaeedcbbf7bd9c72e3df5f64d95ec50ff73f77efe572ebbf3fd0f3f73df97df77fd2fdfd65fcd6ebfe74f2fbea6fbe11776adbdf7a3bf79d11fae1ef8a9a60d0decf8ee0ddb69dafa1fddf847df7cd323db776e7af64fe717d97702044ea071e62f1c525b77d767bb67cc9a337bea47beba2cbc598da73d6e6c445cf2c9f1594cf60786c2c595b0f0e259bc1455eefae3451f7af0ec87d66f7beed17f5df7df2efec41debcbd196bf5a78f1eaabefd8f2fc96bfbafab228da33cc62a2bafe2f4f79d3833f77f3faed5b1ffdb74b7ff3d2d3ee7a2e001d4597fcfddf7df8de6bffdf865ca1ffa15b3e77c19f7ffcd72e5937946918aa2df8f90f47d1f5773d3958ac561ff8e2272ff8f42f4d19587be77dd15f5c72ee68bdc63ba4e9b978ff8c192edd345c32d56b6a1a6f9a3be7ac73cf5b7afe238f3df2c8ca15175e70c1d9679d3314be6fc9652416f3f806f78e385fc85e1b9328bf15d54e3fed741d1e9333b01ee6aa7d38da8757b0b35daa15cbbc050ec70beb5bb6c200995db7610cb1ffc618e1fddb95dc10f670016008f5082be6f09eba6c956f074f9e3c65d7ae5d72421c186726c6b7893541930541920aa80ee4c219dbffcd08ea2609a1212f3bc810102040a868d1c408c34452593242b91a681293ba24259654c4a09a40969aa05c680842fdfc03931231a858493dfda8ce70b0a63f63d0c9f947c22a8b2208aa3c1c19940592f5f38fe93afe425eb16071fcf10af77f5c82804b0005834b8090041ce2d4df5f0d3a62c9138bf0f9e7389d7fb8a2b979f3669ea978f126e711e8f4af7ffdeb7ad5189e40a308f2042571159236094320201f40805c1c86073c76c7a159b1c48b9668281c6aaf7094811b315c74e597418ece6fd9b26d466f071b2ff231ec8c67fe5771c42262070c7f3b2c0941d131e3209164266924c71fa4387ef9972879f03af84b34f4a2d4938d34da20c3d4184cb25281ee81232dd1249384f51f7d8f33e10a08438b4f12af22a0d532776eeb9593f6ac5cf9dc934f3ffef04f106b9d3aade3cc2553b943d2dcc26b64e1e09a048e219a968aebe85dd0dafeab3bb73cb4f6d9471e7f6419922dedf33a27bf75c6b4d7640b6d3c6d501c4c1544a12a1d5370a677cde9ed78fb539b57acdbb4faf1c71f0000be8bb978d279274c39b521d76ccf1c08cb889a405be060d30892d0dc2898326d726588ede9f078ca32836ece87bbe4bc0699371867f94d9f0c4c85ad9860201d60921bce82c53f96f38c1cbed31245d3e6cc9837e5b551f4eff7deffbe935e3febe4b34e78f0ae6fdcf2dc261636dcd11e5ef3d067a2e82bbff3ce696db92c2f1fa098e15a7b74c73ffefe45373e78ddf27b3fd8cba6682e37bc2efabd3b3f77c999ed8568e6351f8efe60ed56d65b9f8916dff3be9feb2ad55acfbdea338b3f71f3036bde724996dd9e9b1efbfc85d3a3818193a96225d7f7f06dff10454b6ffab33fa90e3d1145eb5ea8544e4a36ad101ac36378e7ac2551f4a1777da4e94f7efbd72e5a148e91f168ce876b86336c22edfd8fbfbd5e0dfee6c7ffe6a36fffca692d19367359d570808d83551c36e37415ff63dd123e62535d7fc73f449fbcf3ea79edf97cdbeb3ef1a90b5ef7cf3ffce4996d54f8ceabce2f345416bdf1b2a5d17dec6e0dad7f04e6ddbf7e0193cdacb3dfa1078bbe0000400049444154f5e9c5d7defca3a72fbeacc6f58ed35effae774617def3f86fccf9daf51fbe66e5ecf57770e584036c51efabbffc8ee857bfb1fc9d9f28fcc537a34ffed929b9e1c7f6d284031fb2a9ef35a6bbb0dc081731707a5c2ad9345e13c7cfeac95e3bd8342e0ed140b6e4182a257ed8a9f29e8170ce2d78547cc46e383ea5c75741795f23fb8693a74edef5fd5dd3a74f072bb959b8bbbf7b675b5b0b7b2faced788b5bb8ef848f853374ac69c2f9416a560db0855136cccbc8e890528da3847c2e351c10e4eb417823af5cae0d7776b6af59f36c6f6f2f92d48141a45288a1191410f009089054354842c02136b73742a68835242d29cba8880f215ab109ab1492f051b142a10994a2510fade75a62c90473b171c55820a8e6c681187bfe2157c2d6640a82c6147c080244a84addfc434b6122c06f6f4c17aaa731638dfd530715c6a090419e2c1987299a181a318850a4e3eff8e30aeefff1d06338305e183ec436ed18a16145cc08d2c0510c7ac813c4375a1c13d66442123e2a4a06e8e3e0f30f304c3cfe1ffde84729573da5fea55f58d2101fc6fc4ffdd1dac37703f6f54def6a8f4a151e3978f60827acf1280e40f04d7188f870ffc0aedd2d539b2914151409720cea937afe4446e098a4ea8c0a841c0c2249c34c0665a562b57a3466a871ecd208889ee0f8a8af5e0068fc4d92b0a92493d096145d1fd35562aa9ba1c5511702314b08dede80db91450c875ee78f3db1ba81cd877c43e3a40b2e9cf5c637e1073099326072c46570df3e9e0c641f3ea648920badde656d93cf37cd3ce992f9a75e816f218965c4387ed3cf6b9763316cc287a64aaa954a412c972bbef684d72f6d78b338e8629c3dcabec13e38085b25d510156a3136b18c18bf979f7cf249e1a93b375c6158e0d65c27cf7347849fbee3ff91c3afe51ce2890703f542b73e90cb928547796e5dd3181e977745d11b975e7cc5e2772c6a7fcb796fbbe9e2756ffec3396fe8bff68b7f70d5eb765d1bf5739b3b8631cf15189ac8dbc1289c9bf2d1a2c6a6d9d1ca479e7aae7ff6ec066e84f0fb7d7b4b813d207ec50fc391dffb07e17515d820e2e77b965b5d513f3ffe879a2d9ddc111e5dc3328b8b2b5cfc46fee25fbcec5dafaef4bde52d57372fe03dcbe13dbd079a16b00d3feeb79ef88b1b562dbef9c6fffd4be79df0f19b56fcc12533298ead028e8795cbc5d6a9d6dc93ba5b681a5b04dccce1b01adfd7e0d093dc28e24d5a253edc592ab39c686828e20ae1fdcec55ab4bb5c1ae06d895dc54676d2d8e78d1b912b558659dc76e779b15adcb45c57b46f901708d08a3df99e85577d78d1db3e7065b4f2921ffc7f536a9f8f9886cbb96ca1dcf0ba0f7e327ae30d5f9d945979c1df9edd0976d32f5e1c5d7bdbc3ef3ffdf523f61a7f1871857026307c0b24c7459a44d358ab84b732247a6d7fd3f8b4d003f77eff91471f5d7afe52aafbc0fdf70f0c0d2c3def425c24cf2ba9d534be1ababfd7c241ba5ac455c593d86f6181117aa956e31dc75bb66ceeea593c34d09f63894355c232385caa0a5e1d3616f2e542a9c06b1ec2d1b26caeccff388e5665832b5f0d2f5b600dc9593270a547f9122a06f911ababab0bfb1a8f1a9b7875685bfc5b03f4f8fd5fea54468305231a14a17a78463cc992a5b2cc09c8a50898e2406b4e50352c2657e31db3b2ac828891c1ac492a1779b323cb879c7f64016155183bd056d6d8f30f2a48aa695251e9f009d8c1384d138d00411cd54d8ac408a81a08d35ec9203c9ef947ea5870fc01c1f177ffc70d183bc41a80c43eff0042987d8e93f9878d17ba8f69503195576f1213e84d627221346d2a8689e488fecf347efaec29fff46ffff53f7ef972962e3c06f1c8815ff02c5ee37c3feffe09db327cdc3b3b5c2a178be1b23ef32a613cf3bfb0a574e04d56491cb502ba3ea85df02563b1f8c9249c4306d939a4d84b14084fed2f87406b93d550d2e22491a45121a9406fd5136188c47cdc88eea70f588a88293e314644a38e0c1f79e4400befecd24621044b08d459904851f27812490c5ab551e7e9046154f8d60aab089efc300513313d37a82054e01050e1f900e3c4548c053d85a2ce0625779ad18589225aa8202c752a697660920507028310a8cf5fb080133b7c599b6f1eb186e75190733cdc4ae037ee1c8f8ee1be75fca1c1d8acd53f458442f98d9cfb22e137737ee1afb0c1f2c2f61db57d1b573e7d5f14350e3ef3c36f47d17b7efd974e69ee5f418b862b8559675c1345ffeb4bb76f65d773efb617f60cf1ed963d51f7bb3e79e36d7fb4f7ca33de7ccf061a5e2b7645b7def6bd7d0cd5fe27bef3f968e9a9d38b0b5ef5dee8becfdef13803aeefa9effeee7dd115e7cf2f85f36da16de14dc931cc95a8f89a4b3e1c7df7eebed6935f75fa998b67f7f2d197ecf0e6bbbef4f9db1fdd149a163f7ff230bd73fd333b1a4fb9ea77fffaaf9746ffbe7a3313446809fd8bad42e3159ffae1a7affdc87b3ffcc99b97ffd6f4d034beb2c9b92656abbc628d4d0536a9a8278b99f0d2e66c6ec1dbde1e5dfb7777ece1d97ee0b17fbae6be77fecab95d534ebe24baef86efac2c95f7fcd7173e755fd45ec8e49be69ff9bee8debfbb75155b0ffb9ebef3b7ef8b2e3f7f6e382cc5c1b24afed5bff2fe68e5cae8c3ef5b948d06e25f435846539dd6d75efef1e85bd75cf7cd6baf794343812e9e74d9ef7d24faeb2bfef4d665c3a1d74a7bd63df85f0fafb35e63c2cc8545137765e23724fc54d3f0123a3cd96bfb9bf6d823cb962d5f76ee39e79e71e619af7ef5e9679d7bcef2877eb2fac9a7e85bb6abe3650bc387ae662c84b75eb377cd0a63febc1371455c8b7910ff670b1b67eedbbd877a55d9bf618a8ddfdd1d16622c62e205339d3044f9d8c169428f30eae2987af25b5595ed2fdac89e0f4bd6d294c9bd38bcfc5fee2d4fd643b37cfb45f9bf54640a0726507362cc12635683451c92484a983a88469236d617aad12a3b486aac611c832a4535971162f1c982260bfbc4681d72fe51ad5443158796f0874990e511e71f24954b71102455558843ce3f48625cad70fc0585e32faf9017110b1025a1ddff818281a651a3e146126618a871f0f90758083effe024e0c0ccccd43d6bc6d41f3ff0a3ef2f7f8a7362fc4a375caeedeb1f5cbb75d78a356b57afdb38ccfb51d95d291672e10e63808e309ee74f8453ee872bca1b53044949268924ad5c8b2114247320758cff7bd4f75ec6689f8195c225c937b08c0991a29349660c254504d1782aa1fb45d3c14c289a6ec451e99a6544934bc002c9e03e079e092c17025de5ca723c5385c50c8f3eca95163159c8e881802c2c27277d72955489d07a7c9111d5d06a0e53010e620813a089555beeebf388d9ded6de3f30c411312651eee987efb40c15b8955018ca540bbcd136fcc04ea9281eb037c27fc9e557f370c0acc433363f0e64dba2e8cfae38fdcf905d74e53fde79e5dc85a54f2ebdeeaa13bba3c5eff8d03b165dff0bbff5ba2d377d7cd937d79f79e5497f1d0cfef97fae7bff224e8e6506fb0b675ff3cd6f0f5df9f6d33f7ae7339fe6017bd78a7f9adbfb2e64cefff84dfffcfae9bcb8ec7ffdf0865f3ee7fcc91f0a8a1fbfe107bf38bb351a8c582ff1eab0a1023fd95328edac4ebbe80f6ffdb3dfbf7491764f2eb967e357cfacecf8ca7fbf76df9f9ef5d6d3660cf318ce3d16ce957effd3177eec5bc15674e52d5f3895ead398f0c99b027b6d51a573c1afff8fffc91606d2a1692c5cf2e5611d07e0cd6c996a316484372ba3562b57def257f75ff79ef3e74d0a955bfaf11bbff2f659bcfae0135fb9f675ef79dd0d1f8a96be8f2f7eeee3b247353ae1933ffef2d5672dedfc6028f8b76eb8efedb39b79f542fc4459693bf16d777c755adbd917f21b0a9cee86b869e1d8d7bc777cfa1d9ff99da64bcf9ac6e51cd605332ffee3fb6fec38ffbd6fe0189ec2476efcc985af0e6f0ba3696159c06e09ab990a1b2d18ffa9a6f1c14f3e187ab0d70e34ede453173534b69eb2f0a4ea305b50d9579d75666f6fcfac9933c3574bf319bec2c211321ac5cf3ec4ec9d85f7bc95aa6d9d6db813eb79ce8cc9c1d827797eebf33366cc0eab24d68a35b623391f164e87f1d26bae1731b478a940d85909c0b209c3552b5483ab71fd859d32500d9b4e805fadb6b4b4325e78a0a714fc9fc18227d3648d1a3c301934a00408fc7aff9780a9c894ccc24491611857253c5be8e95fc228129054d130a151972e4c3814879698d891b004e0938b1804593407e34a42c894154d4132a2a2899124c0445db49896146149152d19ac61199a5c0249d5048ec4d42e64e043635ff581405e85128b8f8068087231920c52b71a6210610232c42a9d5c5381696661421b08083bfe8ebf5c451e2517122d6f011f254558d2fd9f7124108835547dfec13d3441bdcce71ffa8e3f765c227deddcc99ff9e2ff6de8e83defb5674cedeeac948606c25b6f4aaf59b490630c7c82a0b1a5a978e0ef08ad2368388cedffe42269204053224908f0d1c8b2dce47083290183d192ca423845585276263ededf9ea351306d538365dc9229425823034110810c8124b10d54d1b1d4c1885c02590c60b8d096273ef1134f3cf19ad7bc0619a64875093dca2298536408c3d45f62b2944412829a2026029a5c820895c51f60ada4e1538afe5a2300a1a431ad682b8b2c8c9b80b4b0860081244132e8629f6ac888ea664f4596054158bb76ed9233974c9f361353c169873931c9ad04eac4aff8f9329f24215de2ce45f860e38dff7cd3873ffc212db754a2c520f3f9cfffe3d5efbeba5288f2e1f3293c3887ed1a5e34c5456d1ee94bd90c0784c8dbb367a0a5bd9525cedebe4a6b5333571a2af9e1bdfb06f2c596c606ae92f054cc7bb1f83181f79dd1359c29ab706188834cd981fe6d51aeabb98125122f5a2b30746bc37d83c3d962731bef16e066778efb395cf28ec2effc9c7cabe633dc5ce13dcd182ced1de8cfb67434f344bcbf69d5c15c43c38e7bff72fe65ed6bb77da0837b2bd5d2ae7de5e6cec622175ed845095d940fb6d812601863e9104dc321f118fc327400d75aca7bfa8768556b7839176baad0b481bd3ba34c5763f3c1a6f1f81895fbf70e47ad2d4d2cfa0e362d3ccfd3895ccc19bb69077badb46fdb9e817ca6b1b1bbb525d16b2c1bc299ac70188bfe7c114dcb14b21c908b7b2d342dd4a7cc65a6d0b4b8d76815cb8e034d8b7bad98296edeb871d9f2e57cae0bcf01373c9fd1b4e48c3338b04befa0c1a57fb66aa80f3f1471719f4f09e5f012cef2156a05ba3a2c72d8aa61cd42b5f90a0ce073703188868e6b68d8b2f1f97dfdfb66cc9881dbbf44ffd768a5e2a17f0fcc1e30b14c12df86c609a0093035ea2190878f00bf6f41489d24621a11c8d077669624815c847997b4543415480c4908e9421390818316348ad404f957d8fce3f89bb7d0ddf4b5623992ba9e585e4796bc118e69b9ff6b8c3040347ce451c97104cd087a79fefd75ff374f76ff1f63fe6798f30b176764b88fb069d39655eb36955b265f71f91bf7f40f9c387be6e2934f181e2ef1071230ffcf376f5dd4519b346952535353f82b328ee74fc6ce830f3e78ca29a7e08dc81333c32888e6d151fc649609288ba2a50e1f0e0102a6c4208c1367ee7f2a865616b111628a73c4e309da7b01d364d52d79484202c416b063b40838f84a8aa9a4f8c4047500c210e41233c64832152a868398feaec0d4e2448a12a647352c9127972c38d058b39e43404915a15c2411303125716298c81313c825206f1c68fb530793472b0950287c5454b7583bec4822c379b369536692cb8125ee8370862813ee4873cb802769ce48715d82970e93a8f004195bcb148bec028c10c84539c397ee41accaf11f7efa2f71cf828732ae75731b64385c112fb4b4146be17e4db1ad296cf4702a8d27e4b69603eb16f6458187d778f17302cfc62c6d221684f14ff02d4dbd7c8b92579be7a3c270855d111ef05b1a73797a327c6326281587c3c5f9a1f0297776044a95a142960af0b48c603b8d08afb952d3f63dfee5396fb88e66bce78bdf6be52c18fe10155b3a1bf25c29cff190cd8326b770b8acce9b08583ce5a8c9a19a46cf66e3a6b1ee0a4dcbb715f3bca08bca45ec6ad155d55c63730f7f67f9028a358d2b77b9626b078d0e3753124d63b3a4c23babc396c5984d3bd86bf996ce49cdc5e1f0219964af015f28932988225e54d358fe55d46ba169d541a0dbdf34f51ace78b06971af953343d3a74fbbfb9e7b585de06cf83cede6b2cada356be6ce5d10be63ca8a33932b72888c4ff994735c5bc2b94ab55c7c5637338cc16a78bf73f0711634ecc370228d5935dca362259389864b93a64e5ef7e03ade0d8065023d7878fe8fcfa3c8d0d0e0d2005185e113b04c16c3444c8d1dc635c3875c6204c89505d4258600b5820f81806aa8224275e31f4d24ac9a4bccecd820950a3204d92456ad5087490c0731981ae054003b564ff1895504b96421892ed550fdd51625892509a1d24d4c498c4b9e98402e016b14218ed50a0e61ecf987fa23e3f80302300a4fc71f1ce4c072393c8a002c40440c5624ddffc101a080c2e60d30f1f947be213f01a257ccfc43cfd2b49e9e1e4e34b02ce9eaeab8efd9e7078686f9c4c582593379cc61e9c29fd14243beababbdafff85aef87779860cb32b3868561963fe67ac21ac7107910af0b19362521f714468fab2d8986313e42605943caaf1d15abd80c561d73b89a38cc85a2a96583256b78963340441b3035974bfe605313593924b209718be6613083872356613b2e0cb38b40ec72ba90186a41e08c8a5daa8c327a82024a54e2e3402d25503d155aeb4a05194a46634399caa046db0a8624822cf4d1bd6dc051edd7939123f70f3cb3f3ff57116889b12fc28ce9715c3436b58c3c437447830aafdfddf7f4ea6468cb9121e6ac10921fec792850f7d844f2d71ff9a01c095133671c2874ad89309cb05de66161e563935846c7858e7b016ef9e2a65c3cd7a16f3ac17aae13936e2a395e13c5b195b3c2d571a4a6c09851d0e8e76b147c2f37fac18ae46f07e631e7a3927152ace49d0f021135e693c42d3da96bc77f5a317f73574cdea690d9f80677b88f50625c6cf7554a896af15c245a06aa87bc4fbb78e9ba6a57a6d229b469f703b7fd1a245b81677f7e5a253a64c59b76eddca952b66cd9adbded6c4bb16e85c3684f0fa6226744e3815966385ca5741f7af86326c8bb2e20d4b549c086f086bd0f0051e4e15ee1bd47078e9fe8f050688827651a0711dec33bea0354c82331d588aa04292982cfd6d80903cb1f88a4962014511c40474559c660392dac9c49406a62a003fa013d7046b54065dab0f34b90411f05522041c84513c2ee61faa4d9d151c7f70c05b0810ea5cf0511713cb1944401f91f9dff13fb67f7f1d7fc77f9cf33fd3029bf64c9204e687293dfc8a1b9d366f5e6b53bc931fe58bb95a43363b77d2e4b54fac6796d043a02610cd21a33d7f32996806d69c63930f5a499aa405cd45f607083e7492092d0ec48b0d66edc52a8e47fea8ac5ea8f121cb1e4dc6f8222c8941680bb26f49235262e2d36d46208013485dd30d593813313da40e261702261c6488a50e87c708dc8ea42c981659a8685d0181981e86703bfe3261010e2a8aa54b2c2de5ca94d58d24ba081060928440453514135a7ff6280b9abdc8b35e7bf67099375684a546a1c4435278b11567be0abcc11600796ae7cb81e1331de183f5efbbfabde562a9c0a724332c22381cc68f3f1c0f6333847d1600e1312a7c0885135ca8f273395722e2d34fd52caf8b0a5b38bc08401f810ce5b115122e80b3baa196194e1071c9818f9db09702942c4038a4141637e1b3203cddd29c601adbe1f5cde100122fa28ad76be12648d82c095f65a7a285f07a34962e7ab7169b1ca3352ddf3b7d7627edab86a621566127803a85a6b16ce3677e2ebef045c52a8798e83d1645c74fd37eaad726b869e5dad049279d74db6db771e3458e8affcf9d3b97dbf64f3db58abd6f7acafc19016838b8022e0a41c039e1e3052666047c7e7c3ae18413181748923c6cffc7a6950e81c1e478d108a208aa21318d44645431d596aa26472859b283a2ecc34152c34d76f477055aa355626a3ec2283242211050e908581b2124a3d2919124321030e120235dd4e1509f97e7fca38613534f2a2cdcd410b5023ec11a289c69111cc48480e36fbe01562f6afe77fc7124fc472e8777410326184eccdf5fc7dff16712931be0789ad918c5a3cdfff2557259c0141b1ae74f9f3a7fea24d4e173b423bcc733979b39bd67d523c187916116c5e621e77fcdb1c4a980e5148724cc145f1c31f57787d892966b044624609c7a623c32f55ae3e11c95d5cb68051b5e2901f80af57c38f5597092fcfdca75ff613811c4963fa18573c0810fe804f838101cb2602a862331f8c828170e0264a1820f89205745c82032582088903793444576541ceab8a396e9d88935c2b317812c624a24406096803049896113be2df165192dde3ccb31faf69ef6a1bef08a33560a5c612f6678031fd62ac35c7ce77d5abcae36a40185ed0e9ee9792130a7a9b2ec69842d142ef9f37f56315c68c885454631fc0acc833f2cae29004efcc58e5cb0c99ba378072e3f1a72e581f32214c15e27ef902ef295478e905026ed0a149f1409aff24217321f1f5d0b2571c99b2b30dcf2e6c011a5850fd1843366941c964c95a8c06d797e912cf1737dfc75764e7a1538edc67330d5f3a64d5caf0dd76add5d5db8162f8460a7dbfc9fad18ae1ec67e1a22bc14a733ff97bbc2818fc7928426aef77f2cb380c13f10201c9eff07378d9f8099e8a90325eac98f120998254640838558830849aa075fb910944e0c932c9892542eb184551602b266e351e52246a044ec10a0d192a498b20c9324812c20450c61d92786233199522e1c65a1423dd5115880a952a091898b9de8f9872a51ae60a70e8ebf3a021cd41d7200ba49dd4df71dd9f9dff16714b8ffe36ff8180128e478d02023f71313cf149324410e0907792415fbfc2394004790028b4083d0584340a822008cda091927fee0cc9f270c56aa956dbb766fdeb177cad4c9a7ce9e51c8c64f5ed50ce7ae7918e2a16cdef4a943519e4b32daa84145d3fe18f33f320aea4dea768011bab89e1693d88264a4486c7c08b2944cf1c52477447ed2c291a573d75f7ffd91b5f8a2ac090e0305dd2407da921036ba2094549c4cd6f3e1b0293173e64cc4009720ff533d252f1a010234317c0593c763a0c932c7452028c466e5c472683866103e49992257fe2d0b9a23c8555262d010b28316255a7d205422b9e8aa32e250b7679e79e6dc73cf6d6f692bf19ea7b00fc9e608fafcf9e4000f7b0d6c7770e3841f7be3eb225c4b61e304c70e59dc41c8f196dcf00c15af0ea83d87c3c2e12e066610a209f13b00586a3056595ff0db403013d648e1855d9ccf2a73853c2c3fd830a1204a0f5f7b617cb23c014e365ec2164edc83e12bf6e14bf1a190b049c299b050072655f676282e1c3da3d6e1ad5abcc32abcf1990f3062904a84eb2fdeb409ef357abbb5b575f9f2e5ddddddc1470e4cdc100aac40985e89716f62983c9c1120e013e3ae04724942f0d21568162d2210c0a50fdbffa992022ec5a020301cb04f4c208965828d29c414d0828f00490819a132c61447bad032454cc01a45a0481166cd5a41961937619955522ac4125312010234b18a56a19885696d115cd8912ec2d09428cbc432223bf0cd9aea8c962cd0116aac9212130749d927b6fa40a84472d15541702c20009340552997984012cb04b38998028af0112009213baa8098e248175aa688096a0b8a1461d660ca8ee3eff8cba9dcff6db068ac29a92143ac31a8240204e1a6a1a741c7b082696359d30576a48b0a3438cb32b18cc88ee32f588403980026bf03beb073cf539b776e1fccb44d9ff99a57bde6a2735ed5d8c45fcf70a8bf90e5a7db2cd32bb777db1a0a0d6d6d0fae78b2bbb908da327248fc376cd8c0457fca1d31a8a7c832825a2929425a461b91b2267e3237c9311a22458b7344e2895ebdd007c97a2b694c08d18a350c625efc441c5330c511416c04969349e3b37ad1b5633a4c7ff6e80908ece00ac4d02250c1081ceb42950553baf02540acc01f72b4502749ae0a95ba74312e2d04e4314c04ca42982c04c852a1e2402349208b60d6c8b5490482a25164d765cd9a353367cc7cd5abcf1c2cf12997b0a2e00a095716c27de9f04944d612548fa505bfcef2ad0ddacc69b2283fcce92e4e92b137c21ba3b86212ca61b181281b979c50a26620c16fa924d94e61db0313dc5a29844360bc5417f178718301865cd89ce1638fd49c17f9b26182391ee2587df019263e0819f64c88a0b80ec1a596d02c2ecf5356e8b4f030c4412f0e19b194a1266123285e1601595877f1fe5e5e0985a8376dc27b8d0ee8e999b463e7ceb56bd7b0de6059827fe2780ac7dcffa90663011f527d201832a21941c147e3da42688c930547015a8a2493ea2892c40e7c9b19b00053a352c2fbadc413087c021c62299a301c680a521631a692c6a1ad142431820041344933654c380a8e3ff80020a8121c7ff77f1b3e10047c43a386f18287401fd9bfbf98f5f987e90b1cc016f7037308420cbfe37ff0772e00d9b17bcff2e776f44e9f77d91b97bee19c254be6ce9cd6dd9e2fe4f8a94fff1af9b18fa7b2b080097f35664dea99367dfaddcb56e5caa586f00360606287582135ffe3ed1b376ee46484ba20194b574320c94fd2921107fb260c9d148316c7f829c2722152b4384724deffa7fd88d832234970455b0c6134f2f2753189492639f48431e12b492c5ab125352591348e11ab56ad6a6f6f17e256c9570cd13ba977e129a7cc9933b75ce6dbac99225dcaaba84ab5e1024b86b019c9fa806507cb105e5e4bc4c7df79ad2f1b311cc4e26b1f61ff23dca0e652359b1b41969d1278e125b73cb7869548fc15155e1ac587465870b0edc2dd18962be17c5878993225f22a2b1618e17d66bc988c4365580f4ba7727ce88d25073fc1b259136ed287cd132ea684d785b1d6c996f90e0d4b98b0c7c280cc94c2b5ff0a97705815856b3035be4f930f27d1c29226ef4d3b56bd8643e58bf9356bd6ae7af2496ef0bf62c68e37c41170041c0147c011786520c003f39e3d7b162e5cc87a92b5077192e01998d54e922319c5e42a8b2441496205631e6084dd1b4023a958fc24c720958c258f14b1ffd2c59132777876401c45c5b2006d491116a7f8524ce642d787f7bef73d3c3f874b1d9415ce34a117fe137ee40f8fcdfcaacf86034feae1693f3c7af3840d93df70c34b69251f8b05ed38844d024cf268cfa642500dd743c2233885872d090cf0a01f0c855d0c7e9265ada66e0e221857148cb0c6851594b5b940962a16f63bc2de101ac17ab8f3ce6bb4b01cabb3f7c1f222e8554ab521de7fca2fb81cc184c357e2392289283f84843b25dc000b2f4fe62de28512fb18bcff897701676b45560eac59f81d387cde90cd8ed0e8508b50ed616efdf336b02aaae18b83e175633423dc8f61ed1176442abc588a5d115e1a0b4459de88cc0e0dcd08273679535868329f4564ad12da8ff5708225deaaa1c2200140e4b07ac230d0f08681fc3015249317a48535519e57ead29cca1037fa397f46d32adeb463d56b3808ef829b3567de9c050b9832c676c8702c30ac715f8163cd9b763cce90de6bde6be16ff6cbe64fb63ba43be45172481ec9fef6b39fe5f16fc4c02a42fcf811960730fe928720a672958cd9fb056ced8198648c23b163151fddd58ba133cee6a5e453493302dfb2442b291a31631a31d0d71f1eccc36732c293370fd96c24705d7638ca14a1c34b7a799a0e2fc90aefe80d4fcb90ecddf174cfd339ff65dfa05aacf0850b6c044b784981f708b3800877dcd91c08a7a2d87608479fd840087b0be1f55e81082fbb429c8ee7813c2c8cc29b84d962603a8dc28b87d90d211924c25a29986291121ef551e1c19e635a5c7de7e5c1980c321c392f97fe7ff6ce04b0aae2ecfbe7aeb959096b08107610d0204841041150b18822966241455b5cc0f22220b65a6dcb6b6dc517054454aca91f69ddaa15a9d416b188042d54455985203b0412422064cfddeff77bce24879b7b6f42405b15ce882773e7cc9933f3cc9c99e73fcf32162e7e048e3e9a21dca4aa16f8428c4fb068b13bacd234da11c031b1401250071a2d000231370158630d0f4a10e90c5218bd6948c268846a1a2de36d40179a86503884993e8a5ca8868137f02746d304c5d034b2d3129192f02af293c04b050cda38c1456f9ae034691a33164d436b4d509cb405eae94d139d33ea82cc06d18c58bf006eb05c8340f2185406d4984dfba67b2da079025548c71a3f20cfe16fcd6cda777186347bcdecb56fd5926d0e4873407ebd03b2c6acc2607cf588c1121b1192153bad32c64423461e2367cc6cea6ef495c7cf287f7409a74df96fdbbd8457c8a08e8a7035222a9b4a61cf9e9f465ce4097a5091f09f460a1115544eec5e2eeedf1f5c827c45ef3478301007a5c2aec33ae3cc4a0c39509f42a54a0c3cc02b584ee9520ebe2eb11c179e5e31e5fa897b000f9157a02d251c3f17b12917975df0e0419c63c1b62352e0659c2a8eec4339ec1274c0ae0bf7e4004929dfee13290377011ce25a9822300809626722e5239913463f14d2cf47179e5e80018796738bac76700f28c2221a565219b36966af9903d2fcd6cc69c49c21cd75cd5cb24d6ee47c64b4d8addeb87163b4d5bed204034e180a602ac54857b7d415ce98888a73357eea69a77e1ae946c4c84c8a4a8c88a89f5fd7157efb5b1a001e46cd1408894e5119c2ef1af1880827b8cba1f378e945f949d4bcd8cdf7a3a4c4917aec69fbeda8ba0444e9ca8e7045e412e231078c00a441b822a88114c41d217c106385a10b4838c59e1ba013264a3c13736a1fe2112bda585e7c0963a98ea844640c189768086db01f91f3fa903c38f9e9b08890c5ea8943bd4c6432c015fecacb440884f21ade85c9ad8b3d1c9a87e352a882f813b672e4a2380fa300dc0afb005458d19b4d337b0db1963920cd6fcd9c46cc19d25cd7cc25dbe446ce5f462b82f5357ec22d87c78d9f0db3d9c6dd6f61e4bf815e2059032d5777ebcb13911efd93141578456df4548a91280a4eccea22e310fc21c6150008f1e42b5003bc6009e922131f0e1f3869048d31f006d6e67810228274c66ee50c47ce11d275bfd0bfa2649b0f23795c0d6ba29a05bc400bcbcb5124167c79a10165f3d9bda2fc247eb53036f1530194c388f117d90fc80493742c3f44070be52d39a148d4daf463c975352c5e8aa13c22150b18072c8476164217f010eec1b8508c57d4bc442c6436cdec3573409adf9a398d9833a4b9ae994bb6c98d9ccf8c96c10f1bdcafc11847a4f0d308e431e244227e1ab7547a7d7755b686ef1a457df5c87fd6eee54ceb575fb3490fbf65fc8c4e346ef16a15afb98a972d9b9fa3e7e586986c70383c2a68189f8b3297e85ee1e897a352d042d4ac28f79359130947c82716284e74b8302db7781d1c75802445cc43c01298cf208913e378808657e0909cef1eb45b6d1ebbdf29d62f18ac8384c4d05e3786d7b5c2c46f979fff3089412b0cc53571078c132f0b20042315ce7f04fe88dd0c6a68363b12218e9814cfc79cb3420eccd9833e008f15d531397a450e7a1430f6ed68da89a345272b4afcde00a04a0016e4168912a04c4c82107c416e3c1d20d082c4780cc05c4857b103d8897b3ec9808b0148214e04948f02109dee0b8d5f88b744060589916c4ac1e22f01853cfa8367448154340021af7a1c2a8aac0d5ba0800d8b1d718e00d4a3db30e1119b72e9165e0702e44109e80d62d4445d044f8a808d77806be935eac44b294ae47066d3cc5e9319c01c90e6b7664e236733436244999290d4a67dfa77655d3b87976cb369df4546aba15e0b637c15071e96700aa2906830c92a9bf153298019892aa2f247247eb33fff7be8a5918d57848e499498b71a4854b7b8525ac801f7097b2b4c29bc33fead608a613f420ebb4f8e4309e04a1b437d6080b0b7024804c18859bb030e5650026a5bdc0de27dcb6f87c7b5fbec36270f04f4731d45310c91080a622874f9e59878a08c30cf200b318a71684ec4324e9f0d6d32119710b05811a52fdde85ebc1363300354410283c36327021d4444620b2fbc3c07d973c40afc3f4048f7c765b5f8440a034f0edf2e4d1397f6df7cd30a8e1c8e8f4fb8e8c2cc98a35f1a6d06930226054c0a981438bf29c00e54fe91c3470b4eb46999f6ed5fd7cee125db6cda7791d16aa0d730592018ac6f03ec71c40ca472c6e4dc1ab8155d48cc1222b27d5d3fff7be8e58c6a1c93e8aa04758b2b3fd535223d3c83714b241b6ced336b02001ce85df19f05075aa2d025800567596282e214952e9c8521d0c0f6053533b1aae70176e9e51012d0082e801d18b784bc4e808e6ce7db510d0b22a864731f85349c158bc90be023884e991ce14449a0a400721c0010062ff83566a79f97098e41d2022e0247533bdea7694a60e305c92010c0b0067fcb02aab0b841e74c0e84e41c14398345c40e802c5164434e80dce8dbd0b492d2d24e9d3b272626e2355c51debc9a1430296052c0a4804981080ac4c775f9ecb34dfe16cdbefdebda39bc649b4dfb2e325a0df69af0bfc6b76630c34624fc1671233d26ea507763de32caf90623df52f4a228a268a7481c4d23eeaa5b46b6883c2abde6ae0ffd2bfd140a54b9e48c113cf320e740c548c0445cc0eab122c3409f0c0fbdfe80d7811f65bc118bad09e8c68f83af8058d70bee003ea0108596110845748e78c867b78b95bf1c61cf49f2a2241670f8511f1335286c5cb0f6d79f4358822764443f58f6a3722172190b27b5e0ea8c3b4020c12ac87544650a310fa58395d01d039780a104f1809628519c0c88b90d65e15f8036d334f13a20263adf70d30055c8804ce8123110cd9f26054c0a98143029104601675c9ccfe71165df6fffbaf6ed5eb245afda1fdabb6fefce2f775d7041d78edd2ed0bc5ebfc3f115b911f65d39f01a4d69b891a03f10f456049d2e279a20a8afa311c259e0a2957d36dc48f5c90ab141f67903f064a87c53380c0c47ba6141ec0a35e760f1b365b44eba2bd89f0ef9e4787b9f9b63ef1c41972de8655b98f3ca641339c4bbe0bd6cb6a4e4a4d444d77795d1aa7f400adb1816c23eb89aa87193dfc4a3910989ea56ccbbd1057e8329ff6df4a24873460d361e2162c4a34b5077c3afe1797c725009da611cacc2e768f7e92a603ebfe6103946d08317302f39c4062260113d2eacef030e07162bdca64cb1bcc02c463f748554cc2d44118d8f026861b5e2d198934e4416c2e98c000f4e87f1708c3d4211242c7c353c6ab7797d801c8ac2da4694c478872384c3650c6d396c12d5306c5bd03e032cf14e07b219997b78af3c219a6c201fddb7999ce82886fb0c3dab5303742136e2b3c4539998ef1b4d03d9d8004d67db34b1f5a102b850a3543b1009b8c5d1322434d8b453983f9cf666dca480490193022605ce710ab0562d5bf6d71d3b766464644c9c782be7a935dc60597a63ad6b1ca7ecc15694e396655dab59b2d796edb31dfbed98e402315f84e7124b47b6fdac27537ee68bbbec5bb564ffef238f6edeb2f98c76f1c002175fdcf7778ffefa4c976c764b612e0ee71f5abfee5f9dbb74cdf970cd75f1f1addb64b0392bdba767cd8d047c9adde12b29b5bdbb2c0e1d7a5702ac12c740043c1e8fc31abae67a6b52a21c50ed437bbe861b89d96b118cd6f1f2522c7c9b2425a3e2129fe472389ca2b8850e7d20e0f67acb2a2aabcb7dbb8a4ee009b66bb796e8a1702644e319ad92d212f72e4f682f1bccd6c4d6095daf4e8bffeb5bdab1935aa28bdd61ada2dcf7bdfe9517260773e6ba6d09071306fabb8f4a6b9edc1846ab314dfbd6f090751c71f1494684fa3e49954ddd251e8d6aea7bf0ac1f69b8c0c6dc3dcdfcd29822ce220fd4097f2a9c70e1e931e32ab32a21a29c88fc464eaceac5bb188801198643df30b0047d988a706424a202b13d7170a88ad8959351f08cc38e210a3d88850a6883fd01725208ae96e5044a728883650e9fe7db0381a03706b3af1bd290c82e824cad600f1ee2ac4a900840c5ca81f17ecd69b771c40b96e16c3ba0b506c2011359703626cf30270390e40049ac5de4c819e0144a656277035e126d3344399215f3778bf5cb5d7bd7ac5eb573e7ce8a8a8aa4e4e41edd7b8c18716597ee3d44e213b22c599275d7e4bb684478d3fcb81508728824532532a47a9b86c5cea6ed5b2feedbc716c08b8176fba41f2727263df7dcb3e8dbd5d73428208ed7a862ac8008e9f5d75f8fbe73c30d37a4a4a444a79b2926054c0a98143029f0dda2c0c18307396b62e6cc196fbcf197dcdcdccccccc86eb2fde5944f652b3aea9fd39b6efec201676ded8c68377ad5db2efdbf7ce617fbbe3f1c54d313d656b4ed00b6b989652fea74247a6c59a7cda752de692fdc482f9f3e6cf37ea59782cbf7d46c7ae5dbb5e3372e4e4bbef6892d292754d761b61d259ae1bb764171e2ba4ed678a5e8e1d3b1acd8d9c76c9c6009673204e1c2b7225261eca2f6896dcf4e4d1e2f4b4b6b2c30a3f513f37a296ec984de39807d4e7bd7f7d2ba5e468d3cb2ed7dab6d3ec4eb64bd11541d1443b9277f2add72bd3da5bbe7fb51d4d7a5e4157d5d36becbb86335ad52596be03bb561d2d3f5eea2e3c51e6e1c807744d9421b0686d589dcef8d4e426dbb6ec4f4c3dd92ebd95805bd9926d14a35579a4ba7a9556b4af38a97942b9b87f75751f799df6ccb3dae6235af354adb0d0deb5bb034eefc83fa8f4852dd76e49eed4aac5c00618ad8607a46a5a9bca9f6a0797c9f84195c6a3ff736b5af7ebf23b669fe980644c0b0bc51636dbc5f07d708c364679c0e2730803cbb047c7c7c7d00fc6ec358387849e06eb6b0cece888c142abcc8d842beaa9f0cca484ff8c7ed17f2ee59b412fb447912cbc618a2ee1290dc7557e558e519a118978564e5a01803850c6e2cc16dc12731a3d86f962256ff1090461dca08385e13c2290a79f9abb66cd9a09e3c7df3671226045fec3f0256471e0240b57603a7411739500430c3fca38bce2599984c1e858fa8b2e1a52166494a26716107c838085075da1ad5bb614141e6d97deaed7453dc49b1977c026486e820e2ffa646c36e1918ba7e5a3b58af365a0917e8425c397f91c6701c09dd2f2cae79e7efae34f3e494a4a4a484860962c2f2bcb59bbe6efff7867d815574c9b36fd2f4b5f5efad6d24977df6d0d6b1a321af1ad869e9915c533a4be4881702210d934a0cbd2bfbef5fcf3cfdf7df7e47113c63107f28ab878174b89b805a8a769166740d05e6cf0a2b15f035cbdedb68946a7545757fff18f7f5cbefc6f63c6fc47004cfeb64ff2b48c4b33db186f34238a029545bb771d75f5cecc302d93ce664804ca72b71e4cedde2b3df12bd22f9097bbb522a94bcf8cb346eff594f0b5d5f06cc8f36d7aa61efa7c852a06caf2b6ee7577efdb2df12b14720e3fba67cf9e0e1dda73525eaf5ebdb66fdf715af422da02b5eb1aeb9eae9bcdeac7521b9425957d7bdc3dea4bf6c223eb0efb2bb540dc5325198fb6ca67bf0fc9822e7b21569154bda22a716cc3eb1a2b6bcc25fb8159f77fb9ebcb77def9bbea17eae3f57a111f115eccca7aeae9a7ae1f390a8691b30f70cacffacf927fda25bb458b16ad5ab512179a8d0e8a8367db319c1b69cc928de35190de053d2e282b3dfecc737f98f5c08cce1776c74726dbabf8fc6c801b514b7674d3b0d7b56971e5af3ddba1555bdb0d634328a89c2cd6b8ea5851c89edaace97563923e597764d95b8eb13761d22b5bb7b17a2d9ad15a55e44e2cf2b57758e2e22d4dadb68aaa40b537e80e06aafc3e8f2fe0717bf2f30eb5ebdc6debfee3ed5a37b7b6162745c2a6348ed1f255044a4efa6ccd9dd664675c4a42f5a69282b816e90ffe427bf1056dd741ad7953cd1ec71e76c0892a59c0527ad4e92f1365fe7a18ad8607a4d134a08bef6ae11d15efa3228e67fe61e9781a462b6240da1cb6575e7d75d5fbffac29286ae450becd6afbd1f89b468eb84606563d0392a33aa21e3dc56c4773cb67043c783c3c3f3f7957784af4abffa32967f081fd27eaa1da1f5e72744af8dd86e3c6b3442202f84014b160dfb1d587e27842f68bce161f1e2205a4af3edcfb8a32a7ffc9b9fff7d9679fb569d3664d4e4ec00ec70ffa80df970901d7c64c5d94e1252eee9561e9313a91fe43b082a01b85305135032ff34d88362a33301b19563e1a9ec558a5a4ac32ad6dbb9365655f7cb1437302b6a5ffade88189fb3234c9024e14d77c22ef2100ad702889a845c93c30db414c54555dfdab877eb1233717fbf8366dd2d3d2d23a74e8c0b56ddb369dbb74d9b879f3b4e9d3de7d7765ebb4b4f0a60928a2b1ca6941c08f482966d37099b6e2fdf75efbf39f29fc2f6ffee5ddbfbf4bd3faf6ed93109fd070d3a818741285ba58414efed4073a07e4a87fea2778e6edb797979531897cbda17ce9c481037b2f3df9f596fa4d971628583f67ce1b05a2af78f6e1d07b8bb316afad8c2a206ffd2b8fbcb03a3a3d2ae3f99de03e9895b578f5beb3a453580fbad72fca5ab4f6e057a0663d257cb51a36be3efb57bef0cccadde1f9f3562f7961358a3d794be6bf9257779446670e7ff03f13af873e5fe165ee236bb3b2169c6de77f85177f471eddbd7b4fcf9e3da9ec85175eb87bf76ea6fd862baefbaac77413f5697860fcdaa0338d2634a086d542b6f4d4927dd85d9e757c23ca07ec463f76bcc5014fa218fa5bd09bc6db267a0c8e26debf6bde227ffdeb5a034bf6bbefbfb762c5bb463d59b277eed9fdc61b4b475c3d02a586bbefbcfb9d7fac940519ee1c0e81ed702a79ba259bfdc433822ebc9dfc3c75164b36cadcd5219f232ece95d264db17db58e4e3e21242410f8e861ab36447340d10850ebbe7ddb73b2437b566f6c1319ca5f8b8565aaab56865494c122af9bd96e3c74247f3ed9917a78702ee353958c2f0a2e85e8bc9689df4058e071df6b884b8c4645752f2ce0aefd663c59b0f1eddbcf3e8da753bde7e2be7cf4bfeb6bea0f44845a53ac702cb95c6335a410c885d36787cdc2e21bd8b6fe9aa5e73fce4b6a065c634ede28bb49325a8d408ab06b545a18e73c1390883a1168bd16a704086370d92c0f4d8976b8ebf688e97347b96ce03b9458bff4c07e4da9c354d9b346dd1a279f3e62d9af3a7e622bff8bf65f316d8ea7c98b316462ba2d72206a434a96e908ed305062a721657ca8b782a3a2522c37fe1e7378c5e68614c2a28e21bed8ff869a4373ec2968e03111c485e74c8e8094697e6c78d98a00d042b18d9e32f2c30ef89f96cba800752529a8c1e3d9aca71308bb2b5976702fc170cf810e7b2df205a5d3a1c0806e1c949a064d66c5d5aa2798135322b0be4b121a44542c3cb6d1d3bb6b35b2de9e92d4b4bcb76ecc815012dc215d0041390177c81793e0a6d7eafd8d3f072be33414d98b821b746700dd079f6d9e72a2a2a5bb74e6fddaad54f7e32e98927e6fee6b7bf7b72eedcdb7efc93562d5ab46fdfbe499314ae4d9b36359a265276844d3403cd3711d4b395242b4444d32004dfc6fffbc38b6ddbb66dddba35d73ffde94ffffae8c3bb274fee9d7951c34dc35a088fd3a2e4564f507b4b624ba3ff3372dd7efb6da84a370860fcdbfef6c7d73e3a333e2fa593a60d8ffbc6048b46f3bed6c8a1cffe99579e9012636fe50c5e634f7069ae84e832dc47b7176e3eaef39c81dd6bdf59b90936f40c43a078edb265db8a109f9fbbc16e6fc236c3d90eacf01e74a46aa9675d904ee0d8257cb51a36bae78ad72ddfec8dd7199a9a673cdb3fdaa0b54ad10a366fd8e36d52678445676ef47bbe42c6d8f43955e0998f737b82a6a59e6de79f7af139192b2929c9cf3fa2d04b5a5a2b24f60098865b8a3ab45ad7589d3124150d24bfc581574f0c3dd90eab5db21f29585dc6ea096fca69d10e5bbfa20ed8620a6ec1f0d3162789565b33f78bf5ad6b0d2cd945278ecd9c390b45eafb66de37ebbefba82d4b7672bc6be81583fff8d21f7ff1e0cf4999356b4671d13116655dc729e465094588d3e0926db49a550f825c79e5954d9a3409e7738893423a77d5caa81e39d3255b354d0eba0e59767eb113362477eb36b8115cfa9c961b514b36440f6f1adaee9ee21267ee466bf70bb4bc43968af290c3e1efd01960104c4808b6cdd0929b842aca2cd5555afe1167f70b1c5b3ff157b911f344f75a4c46eb62a7569d975fe10bb982b6e36eeda503deb7b754bcbbfec49a554736adcb3bb8bf286849b6b912bb766de3b43bce94d1425e47f7c1d7c18b100f94069b7cbf79937e09417b9c76cf5ddaf0cbb5f2728618c38cad56581507c6c8f5305a0d0fc8f0a689c218c1a3155c7ef8e888a3a23ca6ff6c80d1aa6f40fe70dcb8e6cd9ba5a6c2bba5366d22ffb8e8ff9144726acb16cdc78c192367abd7edb58801a9d7e02c2f119c76c44fa3d0f0c16c24fef723dfeaa938827611248bb8db30ed40119c0789b3099930359c183b382212d00c3ae09016a493fea06ffefcf9dbb77f91d1ae1d7cfce5970f1e37ee268fa7ca8e410cc30d3a017c44bb93dd0d995ac5f706425b71b72c42531038d6f898ce50be18d2e38059ce6a649c213f61a6e50687bbf8dbb5cd38925f50567232bd75cbc2c2135feeccedd5034b15ca42854ba6643e27bb18c638803fe2404c6cda702ec6078912b065d7de5d5bb66c412e94d2a4c9f419339b262555f9fc966a0fb3d7257d2e39b87fffc71f7fcc30674264df8b7330d184d35d0ce0afc0c68280f3b400b67734434e8a04839d6a1ab5deb8e5f3c5cf3f0f2ce2eb611f882bb2fce79e5b9c949c3261c2842aafb781a621bd16704575eb09aaefc2013c02faa79f7e5a657febad65c861eab1f2f4af1f33e99ea73fbf6548877acaae93cc7e9fdd8e31e0b917ca3efda0b0ebf57dbe46ad1546a6e11faedbd8c79f1fab88e6dff6fa8a55c3ba8eec9b7e86443cf1f6aa55fd7a7e3fb325769edf89800daa161757c368c3c430ec4f5befaf00cea27b50a65fde4b379cfec5a7ad596d06a9210bb65ef2d75a70ed0bf85bbc739de69a546784146f2f745dd32bb128679babffe83afa7031328715d5b8285d658bab19578deca9d3157c06e35cbdd1f5ad5e2d4fd7dcaffbfeca95ef6dddba9585c6e0bf7bf4e889d2947acf902197ffed6feffce31f2bf8e9f3f92020a6fc4cf2e142099848d1cf111b4c965cd9de6341b5738c4080d50bcb53cc2e439f941c5959b15f36dc587eb8c4394b7cf675d5a98393ddfa11c524c1ae06e202bb5cde4fbdcefe11eb5ac34b76f69f5e3a79f2e4d52346fcec670ff205024ce0e58d257bc67db33edfb869d5aaf7fff0c28b0f3df800cbbc061f80d6398758c303d4bf642b0ab0e4b18d3876ec58bf1f73f1ef652fc93e760c14847c25845ed9a44993a8b9c3612f2f2fcfcbcb239da7e4e86a9814b15939fd92ad9a06f38c9cc116081d3d7af8e28b2f3e51729cb3aced710ecea11365f9fab9919a25db825a164aeda79aa6bdf776eb6e17848e17cba1d8540ba0121f1f2a396949018069169f5773576bb0fd4c9d9eead61919073f5c651b792306b9e1bd561fa3e58fb334b7fa3ff878b3dd955846e58ee459caaa2dd5959ac5ed4a72b448689bdcbcd9c56d5ae47eb1cf831a3e82380642a3192dc607a443350c6d445f99bfc59816cd873565bb14b002fab2de7547f0c09150f5978c3af1370b65e4680c5b34a3157340a6ed6c27dd0ab975e42311983eaec59a7dae306de9efb53b32f288d6fb07f6dffd551b7c83ae461f83d1aa6f40b25d7ddd75d7df78c30d8c4019d170950292844315691fcc9fb08916afcfeda9c6e221b2d7c207a41a7ea7bd46f3cf8a49530faabb6a589eb6a86f2ac377603e0ea729648a20baba6be4517723f2f014b6f93ecc4864a2b5e0478bb12207b988662a17b63cb427e7097469d7ae1dc8e37bfdfa8fbb699cc7edb7c104884e27df038e36c42a4684bb8005ddd61e45343e6f076217997ad00d4307578e8e11b39a80d5212e004871a060266218a9b9a891b56bdb260f0f1beeaa16ad5a1e3b56b873e79e9eddbb62468f949cc9da293abf88488016ba20197404041229302e58ac396bd6a6a6a632b8af1b35aa496282b83193b6a1fc667de9a5ec0f3ffc283d5d384eea03056469e03390da8b418d6c270062f0a586690f7324763fe4c2d3b3eea2e08bed5f2e98b740a495cd9a2b8e872b3b01541af1ce43bf7cf8a25e3d30d8534d8308001b66284eb91107847cc7282acbd2536f502b9cb1ce5557bb6fbae94746ee77df7d17db9898e865db1f67dc43be19932e9eb1f5ca57739fbaa547d1c6a5b3faddf48afef0ccec0f1fffc910971ecfffe48f13074e5aa369bd274e6ebe5cd3c6d4165fbe73d1cfa6cec8e28ed67bf2d36fcc9bde239968f9d22963d65df6c0f063bf1ff320b9872fdff346a74d4ff5bee971ee3df4eae7736ec978e1b6abff7579f6cb532ed10b72ffede1514b527ff5f60357166d5bfaab1937e9e569dac457cb5ebe45ca3b15dc9fbcf6e4e45b676fd5537ebfb56c4a66b276967550afd60b2adb99e3d66eeb9ba1ff086c5ab6386bd50e3d9e3a6cd2d4f103243d6ff50b8b77b4f941afa2eca51b5c83a73e3531b378f7eaec254bf794e81933c6cc7b78a4c45cdaa16def642d5e8179615aff09b3ee180aafc9b30b3677f8ddfd23f3df7976157972b2eecb71771ef3c0bd233b6965bb972c58b0a1509e1c31f9e1b17d5b4a219a67dbca57972cdf40218411d3ee3df2e233c4d765fd6a9dbbddf479f777f5fcee0a00004000494441542e5efdc89c1d77ccbb57b712a85c3dff579b2f9c7affc86e9a67f733bf78b5d5f5fd0e2f5db1471b36f7f9f129b1cbd7cb8dbe4465aedcbff2774fbcd771dcf4295775227bf1a6377e9bb5f7e6c71e1cd04cab9f4a1d6ebfb46a51b634b4eb9859775f5cb4e0d197699fabeb8807668e4db7d550f2967ea58b5f5e479eb43e527ab3c8ca547efac6efb373f64886c1b7fd7ce2201d5816af7de5f7afafcb93bc69a3e63d32fa14daacd3837a59be432b5f58b27c33dde31a7cdbac8983a4138bb6bdf3dc9215853a5933fa4f98a6f74e24b567cd1bdb4d2f415d2a772f7972f1eef41b1f993214069f7f253bd73cb378f90e0a49ed3579d6e4be3a9e2cce5dfdfb454bf59a69bd464d9e3cbaafa001bd3bdade744dc93f5f962e4eed33f5e7776536d3c15414a98d57166cfab7e61ad843c7289ea26dfffce880c351b44773375db5dab931cfad6d78e79d637daebc2a436f7c786629a172ffb2257f5ab543c613e49fb5f0fe6e715a83751b5ef4ceeb42a4b461b37f7ee567bf9fcdb8d1b48c090fcf18ca0b54fd6f1cb2fff5a5921cd65e29be3640d5058b57c87790da67fa4377f54cb1ed8e1ae7d179e4e9b2dc250b16e9833f6df0603e74a199198e1f3ff1ef7ffffb57bffaa5c38189718c30400fe1371e79e43798f577ea241fa90a825a58d7e48c3504276c98c388b39128d61f762430b690d7a2dd77f81fa233c63f963dfe39586482fec43b35ed05611ff91ff654b08f9652f1a7a3493decae14635db3ea86ac0c652b8753c75ab2fff1ae80abbbeebc4bad6bfdfaf6b9a4775f52e6cd5b70e5d5c359d726df7537e8e5fdf7fff9d0830fb29202d4844586958423c663683d4b3625106403d1e1283e71d282d4c81afac94f7eb27cf9729c19206f6107bdb4ba9c83ad857f40b8a1e7e4117dc926edf44bb6d1348b078740a1fca347bd7e6ffb8eedaa2aaa8ee6e7b7e9d41ef3075816831ba96fc986c9e6a5e14db3e61f0975edae1515585ab6f6f7ed6fff6cbdb5ef8090bd5cb86a573c9ebbb4f252080f154215f49ac37ef83046be11bd169bd1b284b65569dd3233ae6ddfea506955fec98afeade3adf18e508ba480c35aed0174f88fe5ed5cf9c9e6e3bb4f5ed7fb227a8dead1b70d335a46d3408972e89ec7e773bbdbded9b6c5254dc5e71a81f6515b9bddddbd4b60db16812eb459408da877c560b4620d48e9d0ab6fb7f85f92021976f6db35ed25ab5afce83897667f913fd6fc6ecf042f784ec6752c46cbe8b598031290eff1cbb6b8de6b68c788d9348319c64f2cb40511728f41074d227bedd4801474752a44f3c3a448fdf5abcaa7f29c7a46bfabf3b4e169dfc6f87700bd34926c31fb40257295a32365ce11f100a3d766f7db437c623eb17db2694f2f58a4a00bf26e32633bf5da9f5f6553c4e0b665e66423c36abdf5965b6ebbfd363f9e1fc4065040022309b5309878900d7ec605a088d7b0d09edd5fe61f3a2a9a603cc7d0079ea001666303d199989894da22953d96962d9b17151ddfbdd7dab97357bb1785465d798c899c42d9fa10b48daf1381ddbc8489f3c891239c0549ad2ecaccf4823bd826a25641cbdb6f2d5bb326871d1d20078b007572b95c01209a0edcc5759958ab61aa6617e729223c621e969d0af440b1acd9bbe7d013fff77f082751b60cdfac25deac793334921f7f6cceff3ef2dbae9ddbfbd8a4c161072227bfdd6bc38f00edc5052285f3ad6146a94f16b13a4c0825a1e6d38a8f77f14f658c676b0735b67a94a43b0e9f3859cbfa78e67d59137a2664b475ef7cad55bf5b873ff46aeeb461559fbdd26fcc155bca3eff60fa25eebd4bdb0e9c34e6d137f7dcd917bee45a056ee405077f9bd273b636f9ddadd93d1db973c65fdb33a5f480efd71d30f62c5cb370d29a8513e77ef8f13dcb265f3ba66b2bb0c8f28f3f2c5872c53db73e75f3d897fb6436bfe79ea77e79e7cb3df84af273c63cbe66ee876f48057adfaa0d7f68f5d63b3b68c7771725c4d76defc6451306ce583e71ee9b6f8cef5f7528576bceea7ef675c8ac219256f4c5279a36b8470d07ed2eab4a1c37f581deadb58f5e7a6255f6da11032672c75d5a50b26373f68e8c3193267548efe0d9bff2970b96c3ae4d9a352a5d2bc93be9d20b4bd64a562d5aec1a76dbe4d679efbe9ef3fadae10347778a731f3fe03e9c4a53da7cefcaae2bf61cee75e51dc33aba5a439382171e5cb03963c4038f0d29ca79293b6b4ebbc79e0218e4bef1f8e29cc28cc1e36ebeaa97fbe87ead55bbbe378fd897bdaadd909baee9d6b4ad4bf3bb8f9768f9b5d3bb567adc7db8d42fa4f2fbcbdd853b96aee8336ac2e4ae9d13eb29bf2e518d5fb12ad369c40ffaafcd5efac4b2f60bc7b6d9f164564e9361d30708ff5dd9009516ed481d35696ac2ae77962e5f007aed3366d218c717594b57adde75f5c49e298a928b859253530eaf7f79d5d227df68f5f8f84ca31e4472df78323bc7336ed6ec5efe1d8b16bdfcfbf44ef75f955eb93b07e8326aeac3035bb8f7e7b125772ad4ed41cd11a795ac5bbabcebb0c953bbef7ae7a59c97e7b4489f37b25362c5b1d2aedf9f7467bf4ec73f7e296bc5ebeb470c1c991117496d515fd28929ba67454b7eb56083bbcf030f0974212078dcbc62799f51b74d4d2b7b2b7b79d6ec571f7dfe8e1406c3a2e5a97dc63c30b69f7bc77b8b5ecf7aa46afae3e37baaee58f5f2cb6983c74d1de37b2b6bf96bab76497a43fde2d9f2d19ed42137840b580e7ebe0128dca66acff23cadcf88963e36366a1a5f3773a0e0859f3db15963f84dbfa2932b6f7f114d9181da50dd5eef3ae2b6a9adf396bc9cf3e8cf72409853a7367f67f1ebafafd83e74ca809afabfbe34a2bd0a612bea53feecc52b7a8d99faf37eae150b162c7a7cf9bcc7c7468cf3987912a1ed838b36b8fa4c7ee086d4922d7fca629b234d95799e5f59675811bff8623b56918d21c5ae5dbb587f22a00e8ca9beae616c220c3bde40752980481384b9f287161e5d7f3858298217412fbc511cd7dcd5a477b7263d4aaaae490dbcc79e21c792e8577c321d4f76ffadd2395ead6b3ef61043d8ab5250805d4738c2e8257bdfbe7d54fe7bfdfac2c3b2aecdbafffe3f3c9fc592fdd3293fddb27913eb5aefde179361efdebd30737e393681154e5f8bd9614410e3d5352ad0f78e58b26b29b276ed5aabdd71f55557a3e45011a8bc69dcb86d5f7c71d14517951417d3187891551fbc4f1eb5e748024bb6887fe0021a5cb2eb360daec67afc48a1b7b2aa79b3563e5f65c1c9a3ad3ab483f345f8a2b8918697ecf0a6057d1e07a295f212cdeb0b959558065de1c7be1efdb156ada9709005e468019a24de11d73997bfa195946809f1b6f272380459f86b7b0d39404c468ba60d48b4c421eb71c625bb2ceef8d017ce16b660a9ef6459a0a0d8535c585651e82e3e91d1bed7053d5bb95c361b7a2e786316bfd9f5325ae14d737b3dc70e1f4b699ed079463767b7244fd0ed94fd64aac5b801b378fc21cec06162d2fc1eadb41ce9911b42c762b4620c48fad8fee24b3c5b1bc2e33234c9a06f41d7cb68d5edb5c80189c5d7abafbeb27af5fb7a6d65f813049433dcf84f8fc27f3284ae1d390a7e36bcd7e423aa1d90bc5ef8acdaa01753735169e129dff578f8f2fa5d6f4b43f5d70defc5df313b3d7e1ccf8995204ee8e0de51f40a6edab4a96dbbb64017c607d800a529e26491b123e3464614a72979bd9e356b736ebded16d4c53c3c8a0c86490d3d3451f1b2fb83623c834b3bd93b72da0a0b8fb768978e950bdf478d7c87d200364c4c4e2726fe6c07399c712d9a353f517ca273b7ce5e84af4c9cb80890ed06d910e183133761a89ccae864faa5d6d45dbacc6eb7f02d329d225342b56cc28f26dc8e472f32c92e0f01694da8ca5d6dc3f886c01e0c5a72bc98aae94d62eb003703180af25117e4e5ffdf63bf4b4a4c6cd1b22585d37cc4208a94717171a4b46cd902fbb3ff7bfc778ffeea7f5bb66b07e2412115f0277594ad001b3b03fc104934d2a67a82c2816a968bcea2ee46a79392dca1ff65c3b5dd9dfa5d7aa9f08e1b97b2c531f90f736ee9c28f1b1ef878eeca81335ed839f905dffbaf903effd7e348ef32e5f1ec77174e2a93f2cab7ad9cad694f7f3e6f240210adc3d3affc3eabf73dcbb74e9b7e89dd4386c9af96bd209293d4a96316ded329b7faa91e2ecd9df0f43d596f57f9b47e13676a0f8e79e9c3b973ae6cf3c9d22710c98c1fd272c7222a30fcc3b7e60c694af15da41ae1c1bdeda919cbb531d97f78609c40850e1db87c953a2027d183676bce8ed461d36bc08b963874e21d2c761e4f65bbb4546dcf9e23955ab39a4dfeb4c98f3ddc57cf97fbc65a5a36f9a1297d85cdcc50521b4d43393175c2ec4786a6c7691ed7ca9c45556eba3b4e932d54f93f31bd57f754ed78ab1e9999ddf859b9fbbdcd9ad6e7d29e491ecd95d9475bb5675761d980c4c2bfe614225bb87fe255c231eb123fad596613d04b66bf4cf6d279502f2d7c7ea9698a5d6ad06bc2c353864a8d2a772f8b517eb3c4a2fdfb4a74fe9c3c7a70b5e996a1edfe77accc2903eef8f9e143bf5cb5e0171b5cee92d4117385f9263440a58ca9731fce4cd1022d0f2c5d973762fadcb13df9d1346de90621414de8f5f0b3f78a6bb601dd4f6c9db962f38eb2f13c511b3cbb850219a3baa7daedfe366d346dc7479f555e355a3c8a6ada81dd05033bf71b3080878d10d1839a0faaf7b9edf92983c8d1b7bb2b77e6a2b59f1e1ad9a967a7ab267642225259d9a4cf65ae157b4a2bd0d0381483da0abd541d5a361fe8d26bfabc299d1476d13bb8ffe4c7eed007416bede0ecec0d3b0a7edcea530643d7a953460ad1874e9c9ab77d71ce8afd37f6eca477070228118b699e03a9cb3fd0ab5c590fa9e566e5beb585dad0feedf58c5a5ccbccd16333d7ef5fa15df3e3919d3f59be2af1276347d7d6253273e52ebd07273c307e904889d3d369ab96db60ddfaa8a112d8ddf2e59ca23e13e64d196aa39e69afe71dd85fa60d48d1eb1fdddea1527c4dd827e5a75d7a610b487ee1a0aeeb566cd8573936b3ee38cffd20469eeef91f6fd0b4619327f6edc4d795fed0acaa990b483083c6123961c2cd6fbffdf6975f7e89df4876a0ea230a73fbead51fac5bb7fefaebaf47b5a14e36d6355938ac1c8ac677873604cbafa832e8ebda214ff98bc737e98ca1cec7e94b594ad03eb3cd653823abb60fb1567d141702066059ca3e1a4c5b20c5f366b57f98c5de96750da520d95b67ed13118f6851452fd9ac94521f4088cfc6ba4614c422904a6e5858d750b82691a53a600fd8754d73967bb4c7d02567edf7728e5bac255bca14750f1bc62d6f2f7baba8a0e096db6eb15a02c74e1677eed2ed64c949611c02c165cbdf5af5fe6ab4cb8c1d4374c739ad5a1e6e70c90e6f1a7c09fe800e1ccbeb7cc185bb767cd1ad57cf035feee9d36740004b5a167cc58dd4bf64f32a286534cdc2319785f99694143ac5e2a9b26df8b76ff050adb2d2deacb9540ae6213f4f1b711d7c8e76709f169f6471bb83c70a200fa452bdc626a6e879c462b4685a124bd6e1dc8216adad96b8939e4071b537aedce33b51ed3d59ed2fafa688b4f6cdc65cd4baa4b2aadceb6b25bd16f2c0aa34c0688535cdeff1fb9af85bde93f85a6ee50585d69b8624e109021518bd37d937f572ccb8c75be13ea915156b492ee95c6a1ecd68c51c90703b819f68e1c216383f6b85f4152198a459e10b1add6bd103322ea07db8762d962e0c0606a20c0219b7fa60d05fc105e1cc871f7d3472d435a8be84f75af880b4612071de8470eee25c6eb4da1f111135df9658a688b094ef8de181a8e4fbd75efbc5b66dcca290405d61dca3c98153f921970f1131b74573fa033e27c21b91ee79186c166c69e0e5457d0a9e85d35ebb76ec52c21e06f3b16017c61b1e4bf07746e018158f351ecb69f14288514d87f40cbe308115ecedf8b17fe7830307203314c39a905894a06fcbe41c4a4c4cc0641f55ddaa2a779c55e66ce48be4acc6dba08732285b84218c7a44dc1429db389acde996c999b78a2124c0462a293ac65ef4d96cd68c0e19afbcfccaff4cfb1fb531862fe35123470ebd6af8da356b57ac5881a8070093101fbf383bdb5ded0e80637c41fc99f007c12653b8bc8ad738c5da1243c068a2a9945af4128c99a101f4c2370bcfc1557fb07cc3db6bb431b723115021a1495b4d2b2cf595e7be2b98a1365d65aecda4f5eedeba6671b5a7843135a0904b04d3e8a14c1bde038901c1a72b87b09adadb0ccf1ea34d5a9433fbca4b97cc5833f1d5c51db4f29554407ba87ded63eae153579faf1c9db56bfbd570eaa76e9c651d6a0af01cfa284f1b7473e7daf22a3f5db6245b34c7d80d43bc9156fb197bb4d4fedd6b204e65ae68dbf4695d836a6a1fc5ae30b5ff40a08b1e628c72c5802be6b8f6a1cd4b17011bf4e06a821b0abf389648ebdda3cee37eb6b4f47dad53da3571b51bf0c29d187218b2b56a530bc4f44223cbd7dc1fff79c18a3cf54675cd98bef061c52f47652643b3b1778e5a356745895b43b8508b311aa052efce7a26b7808db49eea87aa7fcd3bc16a6d95fe14d0ae6bcf54ed63b1183b15740a68792be6cc5ea1125dbaad5562cfeb270d3b9cbd2a7bf6aa6c432b4f3244f6a0a461a2267fea06d11c5bbca290ae4d75d5502c26b5c19a48d1d62d5d05301d7363cfb05e86bc89ae9a9e496909b0da9c77bce80483216d904174570223b89c23afe920f2f7ec42368290237ce8c622b556b6efdf255aaf8b33d42b8a97cd5fb4d5e32ccdd3dc877f3ba74929fdfcf823db9b0fbce35e81431199e57584966d6abb487ee903b5febaa5aaa1a213a149cb567a2f285c5bd323b1da5ba9a1ff57132a7373f910b4ec398fea09b4af9d5e0b1d68d68cf3d879f019093d3ab5a821897a6b6db1e7fbdf9e3d7b64644cc3b805dbc871e37ed8b163c7688a949696bef9e652b7bbfaa73f9d8263cc880ca2cec3ce5c00b50594018449c58886fd33b5aecd2ffca84c96569640586c5658d144f8df5697a758e27c2c8ab6248f739cb5fc19569d80dfcb169fd3c66e6420b56c415193274534c47a281adc987e7230003b8296e825bb6bd72ef8ced9f8c5e6c1832e675d9bff7ff37e3a79324c2d6ae4729841d0f2e9e68dd4b94be72e2c983e6a8b00862594ad50e00bfe76a871ac251baf3f95959530121c690060fbf7271f1f2b3a367de60c9a26e9720c4270d1a2857bf7ece52e79c8c99acc53b8faf13562c90e6f1af220e8b3e3d38ded7a74fcfeb5371414ecdfb5e74b7fc81bc7ee27f4d5b99106966c844798ab1a4db3c425f83fdf15c06abf730fad75baf6d13f2d0387d8bb7413f68500b37fed18ad6317fb8b8b04c6c00fecd9eeb3b741a88536bac18de85e98214d24a345d3b695584776ce081c3f0252695e1d18861d7db3803721be7997c480a3a52d4e34e40fe5976efd64c725775f8215319c4c74af85335ae14d73b6b277f945c7ec0fabdf7b29ff973392f38ec5db42ce78a7402df6aaabbdd5a541bbeff01eed200a8522ae0329c3c144335a31072444b6fd5168a08231b9a89fc23886b48619adf05e8b1e9068c9fd70dc0f377c2a9b233a17a54bf9784646bf9ec6780e86aefefe08d19bc12a26acd7ea0ec87a7930bd9c73ea52cbf69c538d8ad1186649764cd813603f020904a01e091b5211b1bdb3586fbbf5d6575ffb33ca63ec21b9dd6e54767ff4a39bd0346406a02c860f420d72337e3035a974bb1d7c55b83ae19be086483845738cf1c7060faa596c1804fc5a7ac7761d6ced1106f33c620eecf691649381520e1c3a5c555d99e874565556a7364b4d4b4ff3063c6862098bc707ab05bc56f19006d60074216f65b694e9db6aebd8a9d3a68d9b98e9d67dfcefab870dc36885d9071924afa5695484a98f77b0a120def3699a4d842958c530edb053c0ae124a6eec7691092ae01e400450d5a12a5ca8600aa307042f970f19825dcaa0c183fefad7bf825e480672555656890897cf94dd27274c880ebe8241af1dd5d7900f210f737bcd97a64aaa73ad452fea53ac738b1f0da217c97ca2868f4bee3372b8f6e0966264327a193ecf114d6b9be0886fddabb7f6781ec841a58b5c4505c13e5b0f9ef06b6d64a8fbab0b6a6fe87f3d7027b5e1446de4d4dfe4eba63faa5d35f7d1877b6769c33f1edd833b7d6e1caeadf9f868b5d641bde954663de680a5d45ef9d736f71443e74be1afb3ae83145bb96f63a1d6b54ffb1a96b42cf7ef409751b3e68eee9692f7ce9c392b8012b5c180085a62b73ea9ab720ee0da253d8cb5957c6e61d95459502766701b84d179bc61d3e78dafc320cbe965793bf77a345dce1256048e5c6a7ec98385c78a033de1233df9074aeab0c548fcc3b26991e56bdae8879f1f1d56ac8a56c6ac8cdc2b7e633128022ed3bdfcb59543ee1f498b1b47259ef59c22877a4dedb57672f4ec81fde5bce6da74f96b170ab8fa4c7a0ae5a53a2171c0f8fb07dc58b6e99f7f42efeb6f97f5450f8dfb113d58f3c4299f63f2aa383e7f4f2ed0c53378f2b313fbdab4fd8ffc14899f4dbd2b9ada00e5b461138694bcbd74f99c579a3d3a71c0296d2947ed31e795454554b37bdbd6f117a6ae5a7780cf428d05bfa0ece45366e84677186da997d4dace9c0d5affc9e93539132f1bfbe36efbfebe38afcff45957bc3f6751af71536fececf2272938149159660f42d1c9aada8af02bb15ba3eb16febdd6bc5fff13d55e685e599b21b15bcfd455852d1e7efefe8cda24e36fed388f9d471f6feec325fe012d65547b2a040599c1a0009cf72db7dccc0995afbdf6da830f62f85efbedd7e678e9a59760caafbdf6da089db19afb6c7eb10a892803556c7cca880d252b93185168f6a52777d46c3ff3e1097b18d4f22edfba2f739bcde6b425b04d17d28667c65b9d968aa03c0917ca62cdbeb976fd1059d7448dc1ae39c5952f8f8a0968f4927dd58811a097ac17ff30f8f2418ccca123afdc32721391f90be60f47ddcb1eca7aeef73c3d6ad4b5a841a07ecdae8d54c5a67965cf3e54df92ddef7bdffb60f56a9aacc42f5c0f1e3af4f4a245b366ce504d7be6a9a70e1d3c841b0308a88886e2f4f7fa7d0f86a4314bb6d134e44d34ada0e0c8d06b86171c3bf1e4938fcdfad9ac8cf65d0eecdad3e982ae300eb24ecb066dfd4b36150a6b9ab8afbea04be8dd555aee09ad3daecb34cb906b4237fe488400c23007ed3d2ef47d991b7ae111cbc9ea50a158d0066fbe826e347acde04662305ae8eb5b431e5b729f4e3d8e95551c0b95c5a7221ca92ad7dcfe6a5f4971d591e3f9c57907e3537be018c06577c0fb084bc17e6cfd8c5678d36ca9f6e773026bff5c51d924ae9a75bfd219f4f8fc9c79275c916818ba34afbdc5f702d73d12f46a892929e5496dbcd6500c462bd680e445819f34287b594cdf8994ae3e46cbe8b5980392aebff6da51a36fb84160378a32c214c95853031f10c3863b63b8daed09b8bdf084e1bd566740d62e5a359fd839fd4788733e04ce71159d59d12c157ff2d89ca037e50396a3ca25f204ffadb74cccbce822240f4c3a2bdf5bf9cca267cb2bcaca2aca4b2a2b4a2a2a8bdd65e5e565443c7c15e018a65b0102522408c3cade85668dc3aa8a03a2e4f8ad20fec63d7e7765a507a84399eeea0a409187a8d7bb6d7bee89a24297d359595e9d9c9ad4a6552b2c58c44e9f735445bfcb86f731ca446795cd13e60586353b538c5ea41c832e1bc43407a278eb8d378f1d3d0e0f25e76eea4d63fbe6687ee1b47ba7cdbc77664565956a9a7ecc93600a001b3391e028c161ac31003991f406b1998c13c0e4e5382a3d783d1ebff818907cc4151ec1156378d3900c614383a00523224019cf21e444158e35a7be0060e2962e9d622aa9f34f4fafff49b698db6a5b1f7c796351b9dbaf75bf7abca62d5cf8c78f4ebadd0737be3669c61aeda149992e7bef81576adaecdfbcf0c1c183dbfe785fca3d6bb0e264c2d1927b5d3359d3eef975d6b6a2f2f2a26d8b7e710fea62d7f48ab1e71db3e62dafb869b2b6f5f1c75fe9fdd0af2ed5e14aaf6beed2b43503a73eb1f16051d1c16d2b576e042fec5dfab0c572e56b3bcb51ae9af6f418ed955b67bcf041fec9a2bd1b3f58b931ff2bd6818aedfa778ed66b886831e9c1834c0f4c54515a9cb7e92f22a1f09457d561ad55b6ce038662bfbdf8e957720b8a8b0b76af5f9f5b1f5651f96baf76f6e5ddebdecf2daef404b4c4ee57f4c1867fd1efd7ef2eaaac2ccbdbbd6d77318ebaba8d1e96a6e52d7f76d9a74565c579b99faecf2d12728314376e2f93e7101db4e6e7679f6d2dd8ffe9fc990b7628eebcf61dc6dfd8e51bb7eb46eac91cf874c96f734ad2a62f7c6aeee4c1da9ee54f2edbc6738da452dd3718bf20c1aaac77364183bc4dff4014923154d7bf33eec775fbc1b034f7e6ec25ab73cb2a2b8b0bf66fdab49f567b0a36adfe7477b13fae5dc7b6e475b0b0e821a207e516762fab5e5dbdadc0e3295efbea9242cd75cd90eed050fac85b4687ad7de5cf48602acbcb62535b2fd6a3b5b96acaef466568ebb267bfb109a022015cfad1dfdede5d545656b4edcd3f6fd05207622ed5a15f7fb4db96beb3a9cce329c85d999553a2f5b93a127aaae7f56b3da466e6c8fb688736f8b22eb579e3d23b754a050bf5bfa2674652b9963a6c606646a76e9d5aea28293233c3e93286d3e6ece7566ecb2b2b2edaf6e9a7059ec6d5ad667eaa79ad02d76ad0c76c6f6df5e46f77f910f62c78e69dbc62867051eea66dc5f2649d711e334f625b9428b5556fbe9d9b57b06df5925f666da845fde1c59fef7104084cef306e1184604f0a4d018cd46343177833b1aa661961f247988f95b9358ef3d158a091c3f8837735ef234c332c38ffd8c72fc9e873a0ff8ea3b63d45aebd25897b4a12f696c42f3bf2fd970efc20fbe00f5fdc3f76f1ee1b9fdd39e60bdfc8f075cd8770844fb09e257bf28fef003fbcbfeafda7163dcd926dac6bf3173eb570fe934fce9bb7766d0e02d25b26de0e070d0fccfe64102d375643d1a7a877c9bea8d7850690531218dc841e3e94f7f39f3df8ca2b7f7ef0fe9fe1648c94e4e464231b919e9917c18d347ec9a669223908590f1dc8fb74e3e7eddb66c0c3c46971b9db76141415c28d60926e702346d322966cb4bd239a16fafef7ddc9a150532d845ad41ecdf605ca7b68590838e42a1cf55ffea47d51cdb2ef4f0e55a786ec575f1bde6b0d305a346d68fba4f8ca93ace35501fbce6a6dcd11cf86cd2737af3df2d1da5d9faddf72f08bad27f20f3649710d1fdd57973a348ad1aa699a16dabecff7f7f74355292167153a648145d57fbdade2b93b2b9fbd8b6bd5e29f54bd7047e9733fb6be7b5ba7c2ffe974f4a73d8bf2e338442206a3157340324891bd585eaff947dcfa8aa6bd5df34fe28ce246305a0d0c48b4f67c15d595ee0a0474e5708c5515c42b2aaa2baaaa2aabf4b4aa2a3c13c06845f75a9d0119f11d9ebb3f61e8cf8b801f0734b26c5e8b0f4109e35dc0b80003c1b438e1b285aafc9e9b6fb939f4da9f71499c929c92b3360779c4dd77de253a58889e39451299b698cbd81c621a03778fe4422ce96556c39717e75682bde1e945bc2cd32fce8f91f0a093ea7388ac07c92aba5eb97b77a1f6daba558bf2ea72946233d2d3dd6ce7207365ce0603e9a802d3325101f6b31d6ab1021fc4c2845a606012ccc8688795e4d6addbc04dbff8e52f6e1e3f7ed0e59727d85d1ebff7c3f7725efbcbebac22c09bcd5bb75e76d920a202f79d401f0c2225206d02bab1b105f012c485629a6a5a887d648117520f7dc1c0b532b21cb10dd297247d79610591452566d3a4cae80dd78f859574455da3075c7de97a4ed78869bfd75eb9a75fab85733f2e7ee0d229b9cb4b7b8eb962e124b989f9feb147c12d5a9b1b1e5dfee8fe31f75c958563b1998fce1c3e7b61b27ede8babc7d3073ed46eb8a277ab19f240ef99ab0f3c8e714b5448d19a87a7c97eb9047b8f3b9e1e933563f9afef1ca412927bdc72e0c3f21baeb8a7df2b0f4aca98ecb2919754550021d694b3a1ac69974ecf5eee9e2e350128e107207bebc84b32bf521db4827fc9667757294e0f2d2fbca64feae655597356695aff1183d954cf9ebd30fdd9fb85230e6b5a62a791b327573d91b56ad1a3ebe4b9b451170fea19914797c0e81cf6a967e3068c1eb17cf1aa45bffcd9e0a9732766a64f993b0b9f632f2f98fdb2fef611b3e6756b1697397ed604dfb3af8b8a94a4668c9a35a867e7d1fdd35ecec97e30c73575de5399e97dc7f47a7bf98aac4757e0e16adce0f54bb72b965367004f89686cb1cbd75f15758995b9f9c137b337b8474cff4d4f1ad377e2d4618716af5abcace7dcb18da352383faa5343bd1471569af7f3ac5fae909f69fd6f9b81ef353d904755bee7f89f4fd27e9fbd74d186a5fa8d8c51f3fa76b2bb0f2fcd5ea11230911f5123b08aec411e10a1a04b7b7ff1a32af3b0c9b307c9067fe71f0ccec85ef7fa6c6ce0fb0ceb9f91b721fb5167f2dc8931a8cdd9230498fac4d10f3fe69bf3db5559b35b3cbc5079467379362f989d23f75dbda63f345e4673cfb10f4ca87ae2f5ac07f51651b75fdf354032d4ed0ec43f352116a9e977cfa1cd7bb4b41b94ae5d4d56cfe68ff3068feface5fd23cfd5a78312eee8b76264a6d8c7a6bff0e4a2e58be72c973c69d3e70d486f4cddec76d93da8955625306371f68794205e0adc7b3e8e6caf7e4b5de23a8d7c74aa0f9f637354776a6821e2562d629cc7ca93d277faa4618f66e72c9a9323dee9c6f55fbef45058c166542880d5e8451765c2a6479083940103faaf5fffef6eddba45dcaaf9290ad5a2bdacaf4e5eac14021c4cc676b86c7e6bf7a55df697e2ed65acab6a69da3d443c2dd912ac0e17ea5b0e34b864bf0c552359886503cd62897306efe9ef4690d3c825bb498bd405f39f9c3ce5a7f3e6cedbb271cb5d77dc95d9af6f4abc8ce0a79e7a8a2ba0e289f94fb6486b2e2bb0c81e64134f563a99caea5fb21dc1db6fbf3d3b3b5bc136e8c0862370053dba2d5b366352cbd28f96874131ec19264d9a244b6fe3976c9d1ba13a1cb85878f4687959555c7c7c8bb66dda74ccc8f928071593cb070da2aa68b69d66c9664fb46ed36cd78c3e367f5eebd282f8a0cd921008bdf5a26fca4c675aba3002c8c7d67fe4983dd792ae854a6cfeb840515a37e7b02b3d3013a23822bd063704daa98fd1da551ebc38b562d397fb2d5a6275b93f545129c7e880d96c8e946629ae384bdb4e170d1c78c1feddc51b361d1b704928392939de96d028460bc62614ead8ac49c1eec2f82a1b4ebd16552ed34a76883e0b4187163259f2cf0344b4f95bd96fd1326564c560b4620c481ef4dfd5a0cfb1b9706da763b4eae7212d4efb1bafbdf6feeaf719ed5051afb15e7386b5aeb0237d69b3fee8873fbceada91f2d9d4ed356340d2e7fa63e7c50565a8afbfb546992a127e557c2a2946908ea80dc4d54f1589b8a2bf448a588e844560d6552211752bfcaa6e6ddfbe7d0afaac80164ce06da85b8986152e4890f1e1848254040dd8e2a1bce9b2ba5efbf36b00184a2b292d7dfeb9e71848bad13c023d14b9901e8bb7611005815d1d11cb32758abf75766310e320b69083e541468c3aa4284852988e916323540432acfffcd36618c0f9fd4d129bb66e9f1e601707755f9e10b7626ce7e039591763c80b10808872a6525d45b5142cc2448f3edbd34f2fcacfcfc70aa5f05821e29184c444b0799c2bae65cb9698eba05e3c63c6bd38770e6f1a7a7236f1ab425d1097884d3f27c2882716dd5b0573f48cffb9b76ddbb60cf923f9479e7e66115471582c4872daa8c423f98b9f7ed6af79eb6b1a8274af2db8ebcbdd03fb0f604b29e2d361d6fed39f5ebaf7de69274e9c8cb8c5cfe6cd9b3ef3ccb33ffef1edcce9d1776b52fce5e5d55a7c72720ddaf6bb4f9657c3cf18092a9bbb1ceb3f7bd3a69115608a92e7b5b012ea7d53e36ef8dde5b85d77c48729dfd47930d6fdb3ac43206fe5b4396ba7cf7b3c5c750b9c5b5956694f4ce1b412896971298961bc77785d0208007198e24aac3dd824fc66bd715405dd9a2b3151318864f354967902b6c49453292446978db9399e25126bcdc62acbca341b6bb7514cbd2f8c597e7db91b9db9d154aafba6ddcb1e5ab061d0c2c7476b65659c33522f6d794a55252ef114791551c28817b307b154d3cf9af1c81bea92558a44b501a2e95d6bdc8ca676dd5ad7fcf278021c6243e6ca9a52c272053c48c66c8deb11f55804a973df7868d1deab9f7df8aad3f7a8b865ab37337b894cb87506e599d74d6ae8c97d68e6a2fe0fcc1bdb5ee333306815d666231a282babc4e9235d652441e1bae33c561e9d0471fab776ea4133a653801576debc79e3c78f17b38d50e8a38f3efad7bfd6b1cbc639277cf6f8ed5cb870e13df7dcc3da144db00f3ef8a067d7eeac6b6cee234360f164e574e20bd4e29343022cda9bc7b6ceca5f25bcdcd10117eeb9c29990e48c7339ed366c19442b0b07b48190d71f6407d00787eb0fdc7549c5e88b3cc6bad6c825fb6f2b97df7fffcff5012975cc3f78b08dee6d85f8e8ebae7fe685e7d8e78307460f1b2fb8a870c0449c76c94e70c6e11e7ad9b2655453351ce2285e05d0822929ec814a875d81561d3a64547a7d8d5fb205ac31a96bc1928aaa8f3f593bf8f221ef70bacedfff7ee5d0a137df3271ddfa8f3961a65952337cedeaf2c918dc885ab2239a26a4c69837676dd2f41f2706acf14e8ba538109a705df0ee7b2d9c5679e8a0ed37d32c3b4a43a9b62a7fb0dc67f1bcf99676c925ece2c6710e456dafb1b15b1fa3f5dcc613577f2fb35bb0ecf0c9e325c74bf24e94e2db0c4cc8d994e8d9c1a59f3856b667d789037b4f5c393ca147b7f66ddba5718290f4f669192dcdfbea873b977dd163df975f5ab714de715f8b3999b3b58a8d825e1416406cc43fc8e1d56cad9a05baf5cc3e3cedcab697c764b4a20764bb7f7594678d7f0a08c1e88163b9f213c5c6db0e37cc68353020f14d37e5a7f7c84a593b60d4f008bf82721313127ff3d8a3684ad637202d41ff0b5959175e28d23f461ad788c0d823450d4275cbc8a6225ca38370b37a20a202bf6aa3f2977a92c255c5c3af4662785bbe96f879237b41ffd185e310764d80057e877c61e0067dbf03792d3fd1cc0a85aa35efad37df1217e7faecf3cfc6de78234ab9b66a041698fd694eb19ad27106e003732f3b8fa07b8bb6178217e08004b4bf30290174d829cdc14fece1788d18fb811d9074b46bd7beaab424a9696abbd6e93868d7653f484204b680a8f834ecb87f148822b6fa780400fb006c5821305d148fdfbaa2ebb469f72e5bf6163b5eed9ced1490636d60203a9dce4bfa5d32ee8763d94e61d2125078aa6972a831bb23581dd258ac23031cb985abf8daa6c96012d0259fa2ec62600ca83b285329a42257c227407d4d03102158e622f963056e930c5089759309b3de076bf20b50097bd4ee6ada344cca507bc7951c2b55ee463c5ffbc059ffb5bb92936354c0282fd6fdb3ac43febe83aeae57e35ab86e80e3ad11109d8ad5cd51f32b825d8b99273a5118dc3aa9c2bdd549901fd165d7e50d45bd38eaa1d80931cb8f9d157141accac4ca7c8a36a762b1f245a4f97d6eada414e9484a4a8c56d7c91c5d9528a2c4ecc1dab317e3a2df70aac8ba958e2ab84e458c1feafc4d32c7a83a482c46aaf1688c48dd622af7ec75f7bfba7763a00b5a6f0d648e1c5ebcf9cceb26d5f58b3788aa0af694e8ab18f50f4b8a9523729cc7ca53970461059a51fc1dee61cb0cc7595555554b972ecdcb3b7cd965976ddbb62d2beb0f13268cc71770efde177ff2c927381c8b2696ec5b8af6312e3c4322ede71032d11a132b18b6b151ccfa41fa457f29ddfe715971fb838334075ea2d021d09d8bb11d288b86c815c4e4455fb8329a786fb8c8cdd21ebeae3566c9bef6ba1b065c7ad992ac17577db06aefde7d6e9881da0020e83cbfebfd3366b0b23be404495923b16a3ded928db678974e9da64d9bf6d65b6f1516160a7fa71fed525bb0fc657d66abf1873ffca12bce09f54413e24c966c0c5ad97ead2c29765778b66dddc2416d23870e6fdd3e63f3966dfecaaae30505293d9be8a76a076372236ac9166bfbb0a6512714412cc386963ffcbbd06f7e05a31fd7d2667d73a5f52fef728b1d5898535f539bdf1b280b58ab9f5c68e5781caf1c1817de6bfe387f7d8c56b34035e0cfee6c5211efdc919854e44ef61f2bf11eaf0814979fc8e7f4bb835565c52d3bf64968eaacac280f7805c4b2e70cdbd308464b6b931cf45597f4ed9e59d6b4cb800b93ad175da4951669769631dda7b6505cff6789b7c543bb94f6a134e514299ad18a1e9087061d10c773d2349caa05bc3631118263177d16516a0148c210ca806e98d1aa6f40025cc78dfde1a79f6d081f21117146c78811578b7598389f8d3d20696ac453e7f0cff305bd70ecbd3ef1a18d850c84618770c3222a5d4881113488a114e0018be390c7ebc5a9f6f85b6ef67addde2a373316531638539e074938f03e82c3b1a01cf98220066b7c449fe2bb9841c3d37ebbf8ef502e3f42882ffcba931291bef078506b97dece91d19ea72b3db849611ee4861e30cbc7e60b354cdc95f14d487e71eb8c0c91ef56ca474a2e9b0892cec13268b80e1f3eecf38d1bf30ee56157939894d43e23e3924bfaa5b56ee9a946041fa3693454be36114eb34c588149b45d354dd5a1da0d1b20fb1482d570210ef2d1340a5715942d8afa9bc6b486b0be01d531ca79ecb139aaa8e82bfb01d189668aa240c6d0294f0d3589f15fa540db01378fcb681a8dd6ceae12e7500fa2a5261a358d0b6794b9714546e772a5dd3c6e42cb707db5e83c66ca7f8c02870f1fc1fa1c5d80d75f7fa369d3d4a953a772bdfcf2c1efbffffe8b2fbe88bd3e7ebd38d2a49ef78bfeb65ad72c56f18c2b0a07f8c6c47d315ca0be64ff3a7de875b92792b162647504dae0891398831f1939325276e8441f833fc1e0dd03dd808af075adf14b76cb664d67fdeac1fb1f7e0085342c0b0e1e3e287adce84358e44011d1dd6143906553d6c5da9db6d32dd9982fb0433165ca14b0dcce9d3b0f1c3880edaba203a7b175ecd8b1470fbcd2679e283e8e07519886686ea481259ba6510f479cb5a8a2fc5f1faeb9f5f63bbe3774e0279fadbfb4ffa09db9b97ffdd79b69eddbc91ea457438942774016c98dd42cd9fca9db34f6d8d144b14df849459b769e39bf6b92b727be39b0918d4f5162077da07350daeb42ef038f3806f6172ec121472a46f41a8c554c46ebf2767147767ce1ed7d114753eff506f715553b8e54f9f2cb0347cb82d5a5d03929392e5891d7a17b5cb7ae9d9ab56ed1a24932fbbe8d64b432bba6fd206fe7ee13277b5dd8b259a2f391e0a51fc5b769eb488481132faeb413f626a4b97d818ad2aa910599ad398e937ad6c368d53720eb6b9ac14336dc6bf5f1908cfaef8f1a79fd98316c2eeb6704425a1977b06202d389537d0b5ea3bc18bfe83c6c3d03927e3a6fc2f9a23976e7dd530020f2fde1b858ec3370cb48db75533cfc35226e4016a3dbf781439c169b3714706017c24892e955bc3d486e308f88415036e358164617105d500ba26ec42c78daf63b453b4d8a25ddc19c6a73a0b5ebc0a9234fa254c67ccbc64d08ffc2563c8c31130b280a3aa9974c19fa2b980e400d0c5404e9b80cc4072488dbc2515c72360bc6fb401cb175b423d0b1b898bdecd44476105083f3783dbabce48c9b469909494dc05762af16b2565496b143806a31a088e6b1fd414d4bab71ed228b45034ddb99bb6be06597d59592c8978450fef8f1e322bb89251555e90888636cc79e37dfa1d950930226054c0a7ce72870e2c489975f7ed9ebf55d76d9c0cb2fbf1c0983d1847dfbf6ad58f12efb56575e7965bf7e9718e946e49f1facead9bd47c4bac64f81282c88b2eaea2cf3777cc94ec178c325ff29d51a9a0f02c2854f5595a7a2b2e22b7223c086037b7169b6cf1bf41e3e54d0be7ddb389bbd5de70e9dda760bc6cb99060d2fd9f57123e2ddc862f1e2fd67f57b967fe584f2765bcaaa4349495ad76e812baeb48fb846fa062360395152b891c6f75a594559f1c960815bdb56e2cd3f5e5d5154e129280d1e3f19f215bae2ca33da26f4ceecdab173a7164d9b35494e848b6a3ca3c57979470eeef35463eceeaef604e3fdf176a7937d65f16a2dd8029105d8813f169733ce130876e8d9dee980153b0da3d5f8a67d1b784844407ff8c38ba6e69831c99c0b11d401012538fad6bd0a734c0b168220718e8c47594b3c1933c2857567d68441f78b29a1ae3c25b6f78850f0f2808698c38e1e17621074bb60efc57a0fb92627048bf2981460b173840a06ecc0657ccffbc827e6f7721c171192755378f68c403b64a330b9c7e7441e5d570bf78ec014f1ef212634360e57124989a01c2de815f3448e2512190ee7cf023202381ac48bb1a4a013c6395bd2342b52f7336e1a47c504cb4bd841a1e5f867c57f7290a60582952527f503bba4cdcc8234f5744d8bad51826a01e004addffa4612b2979807ecd497df4c37296052c0a48049816f9c02cd9b379f397366cc6a74eedc79dab4ff8979cb48e470ca88758d0599f5061d0359b2655dfbce2fd955785eabac866d40d91cd94de492cd51d267be649fe2461cd62e3dba75e8d279dffe9d583374ebd8b16de79e7694cff152e415773da75bb263732330003033b6a438dbe8ebb51baee758092f1c8f536c7bc195788c869bc15791c18d34b2d7909da52427a724593b842c7ddce5be52676928d9e36b6909785df196e64d5213e3e2f5a689420cdc08fbb867c06869b6f48edd905728460b424306e01bda71c2da09a7a4ab77e1471b3b02079bcee27ce9b48c56239bf62de1211d7200d0f912ce178d1d60075aa5e0059b0f2985d8c88bde14b0055ff1627bcf39920854108b3097a21b2652bba0172c23ba55227441681008621a480ab8430a2287782b862597b3644459d7167072250d5c048a906d28b4b498af04f08b87003e1699bb84c50f00792c427cb012f3078efb90d1c82680c836b82b1abe3a84407e83822baf0d8aaaa547fc3487c03554113d374136944c5d813fdf7cd31cc0bb5ab97af80704382184a79871930226054c0a9814386f29c06696a84dc3b77eebd7b56fff920d9fdeb9738faedd2e8039401602cbf1357023729c372c500d371272b0a17b8a1bf1d9e146f0aa7a86dc08ee8be4400961b4e213925c718126a8de73f0b5680d8af63d8c8ec9687d351e12cb83f3259c2f400d35300c335018d365887c2c407b441c211f5a9bba86183e8dc11ce251048907e7382a8403f8e0d815743ef95f508bdce713e61f265a8007641d24e81fb866f759f003efe403640f44a42728748926978daf32688be311a4972886e9e7423a020e515fa31ad4c36b7570c64b90090164c3560ccf88d1bf60202a25e712c9219bc889bca2b04643a8245e4b1091307750af6f4bd39a242420c3f6b81b77acc8f9f28999ed34296052c0a48049815314f0f9fcb9b9b94d5252bf13ebda39bc649b4dfb2e325a0df7daa9cfec5c8f9d2f3be29800c2f30345c40a0f6c209a509c011372a0fb25d215641aba1483fe660300870e161fe7b3c86146c81b7131875f66c00b52488e79c44ba735888340c007e627e87c0149e2704381c59f185c0126d0f9c255b22fe8c0dbbac5efd0518c801db617803036b963d75d78e1c484f2513e4385948250220525f114521efd8ec02c0198fc4644e3b7b0a31227ca9be0268f58d200b74046886e005bdf7cd35ab44c3b5250b06edd5a2882d61c325c5d6e4d0b448a05fdf5b368b14103948932aa9052a4b9dc10d220ca95a671660e119ce9cbf3faf69c86740adf6d1042ba0ad539a2a22407b8033d42328a818c68eae29006084831522e8050b4f68861d804ecf45945764f670838449b55a461415d3a2698555c26884d9368cd89048c114267f156de273541ca85b3036e9b4d337bedcc06a48c23d1b13007241f95f9ad99d308875b38125392d35a37f7a398f0ad5fd7cee125db6cda7791d16aa8d7622befb3649f83e17c412f70ca1c938bc69887dec55bb61d97c430ba683a05b02cc1dd9db284d770850c770a138b2c569c0ecba9914e0bc7b2c8d98d70d83e319e0938918ac082c391fb83687fcaf1313c2465889c25e0c1d0c58234056b1911e4a0c18b0d0cce8f390012078f724a8c58d60092b06a911cb2a6cb21be08d1edd890c183db45ef538442088c405560211ba0474c626a8e8cc49533ee4438b2c60f82e22fff7f2b9ad6a655badfd232e0477c09a6a005a8cff10ff0213aa8248a9b034125ba0c8c56026b68bd9e02e021a3a8e4719567c4e1069925ae2321fa4517650b1a02cdf1075022288fdbfc4741a01fc12da4d039201ff00cbff9d81195c99ba43cbd06dc904764eae23d7ab294a8808f14a14325a92fb0863ed5c5614018de20ad309b66f61a83c41c90e6b7664e23673143a239c006a19f35f23bb2ae9dc34bb6d9b4ef22a3d540af9d8330a59e269d37e8057e57e41e6cf538c4c51ffbfd9c918514048f7f019fdf6175f8821c16852c44d39d2ec2e33a393dcb29920f9c9fd8e5a017bb15810b9201d1d11421896ed6220635161f6e8ef98963315d554cbc9589d37334d0802da21d06260180c0f32295c16685f3aac4938570d23a08820ff22352b13b4043182d72f2969cf90260f2f984ef165901fa654cf958d3202c9034400d0fa15c06832d22886f4fd320afd589b084dae2b84cf7232dc2139c2320d500e1b16cb1de05691a300d0f6ba405eda0363c52625484d4c5463f412b1a8af69cd810e157c5eec4a1a4300a018b03b2586c4e809bc3e6945eb3e0a53a88a1908e77e8353fe012010f41ec94108f496f41308455a03c1d0fd1a5822d71c6c85de93581ab140facd47b2d88c738a08d1f4c8a6fb8908fdea11e9425121bb36966af99039289d2fcd6cc69e4ac67480e78f96ead6be7f0926d36edbbc868d5d76bf5b0fae760f2f9825e70ec0d4b8c650987cfc2bf7af13bc1963b1886bd74985211b9209391dd7b391105a6d7e1f7c004a370c686bb9c47c9894f58b0b0ed1ec48f8747f48ce474130cedc5ffbb4554c4e0cbf10880993ffc37ac2e5a4bb81db6a1ab14102ed8ee0d808ec4d21e16d96745490ce8e1c4159960212435548b2451a602e820c1111534bf1c148b53010440bc5c14cef45d7f31c201c288a332386fdd9b59c86a36cdec3573409adf9a398db04764ce90e6ba662ed92637721e325a721ce17913ce17f4c2563bd614764083c58fbb3fc40338e60394003174998958e2cb5157e28a4c0e5361671fbb7b1b62009ceb71bc2a3a4336cd1b0452c89ebd43f089a84389fc00c1821f2d2e8be6104189174f62e2003d1870828038df9114911948a141cc5b44fd1d68239bf89857704417c7de53288217161cf28997335e6d4345095104ea6de225c00eb4e221d14b735079a436545c2cf6399398fc41bf4cd566d3cc5e3307a4f9ad99d38839439aeb9ab9649bdcc879ca689d37e0054efafc0860131b3c3e3a40085940224857aca86921424178c1112f1cad8b8d3e8a4ea2910555c022f80e4383cb87ae931f214a10f5307494b0ff4629ca0b9f0c80c0f0046421a6183817c40c5f348ff88928074d2331a110890ca08357e22e3de403c3c05ca12f0632411a034cc1a85f7c3293172d302c2a38e4051885dc066d291ea37091f820730988d50bc7da0251c43004f8229e9a11cf608c6336cdec3573409adf9a398d9833a4b9ae994bb6c98d9cdf8cd6f9c1d14b2bcf17d9cb92fff707317930834901930226054c0a981430296052c0a4804981738b029864739ee8b9d5a67a5b73bea097fbeebb4f1d9888a362450c9bcde676bb89bb5c2eae2aae7e8a3363fd2eb7547e9fcf67c4c9c35df588c3e1201e9e9f72485479a2e3eac1f032d57b8d728cc2c9c34bf9c97bc3eb468abaa5eaa32a4662f8bbf8a952541ea386aa9eeaaaf2abc7c3ebc0832a838a48417a7b551e0ae4a78a1331ca2745c549346965d2ca1c577c0804e3bb30bf41353f98f315a3424de044a049f85c6adc326905298cb5923163d28a310311a2e755956ed28aef483151ea233ac768555555959292022c610b9ebee64a502885088d05b4709803819cf3e7cf27e57c08e70b4aaba8a8607c13f8fe89d3b5c415cc50df3f718fc7c39574ee9696961a4b8bca6f4c1f94a0e26a7ca8fc46693ca5665bf210379e35e2e45475506f57efa528f2ab7455386394faa874aee175a34c9e229bca438104f55e5288738bfaab674921aeaac455c5c94309aa1cb2a93a7057bd9a7429b1b69e64204e1e55a0919f14d2f969d2caa49539ae1803e637684c11e67c65cc938a26e6dcaee860ae83d041ad9b5cd5aaaae68d08fab0169bb432690505585bb99a219a02986a60e7f13507a34c1509bf820e7919294620253cae7e728d0e7ccf24720d8ff83947524f24a26e855fd5adeddbb7cf9a358b0595e980bb30f4aac12a6e4c222a9d44ee1227a2987e9e224571272ac2552586e75153924a57d9989b543931afeabdc64b89a857182fa290f0f2f9495077c3d3553954955713278f7aafcaace2e16586a713573fa3db480a6f51d5238f8aab77f1d3a8b68a87d727a2407eaac2c3f3a87aaa7495dfa455384d4c5a99e34a7db3eabb831a041537bf4145190812113169a56862ccffd12432524c5a99b4327906be82701e2ffceb30d2d57cfbcdd2ea4c652f175e78211c1ac219ae1101152452b8a5222aaef2a8fc5ca38312f5902e421f3d84c7498074a47055f1f0ab9148e4eb0de78bec05aa31a7ab1d62e28c5a234e3ad2063558b965c4e951057818be04e25cc960f0dc6a01284057730000400049444154209d44158893485ce5a74cf579a877a9fcdca264959f77a9cce4249d9af093f2c9afde65d4816749219d3caa1cdea5f2f308e5f014e95c4957ef259d3825a8749e5585a892b94b5065aa0871a3fe94aceacc2d9e32e2a41bf4e1961137ea4921aa1cae643069658e2b351e18458c07735c99dfa09a37ccf9ca9833d59030e776260a731d546b3757b5e63236182750862b1f8efa76b89ab432f89cf381567acf9b97480a9c2fb297193366209c61c9e4b3870670516a3a50b3032944f80c8828865bfd544b2c89dc52e9c42941a55342c4e3c6b3e1851b79c29f8d2e90bbe40c7f577d75504d50ef22aedaa212799cf4f00ca418213c0f89c6b3ea45a4a8672950554fe5376965d2ca181b2ac2353c98e3cafc06190fe67cc5fc6910417d207c1a6aa2269d1463da37b245a4ab4f493d42dc1c57e6b85243c81830e6b88214e71b7f05543b23bb1753f6a23e9373e4aaa41c6aa950a85dad132c2744087c0fa4d35ae2c64c419c1425d950e96a878c441e54bb23a413c8c34a63c45539e1792893fca4abc0bb5465b8aa38cf5207550e798c325565c2cb57f5249d3cc4790b71de4e5cd581ab2a41bd8bf792933ceaa7baf2d3789614e359e2bc8babcaaff2f0382926ad0c9a283a9bb432c795f90d1ab38d9aa3f8469828ccf94a4da1cc9f10844162ceed6af9801ae63ac87820847f236acd25112a197c85492b83e538cf69c5646286680a9c2fb217ec5e50c5637660ad55c09db8dae282284c1346223fa3f390810f895bc6461a3f8987a787c7295cd19a3ceaa5467e5ea45ec7953ceabdea59f55e553195479563a48797493c3c5dc55539dc329aa64a23c5785df8bb8c4432a87aaafa44fc340a51e598b43269650c09630899e3cafc0619154c11e1f3123fd51c18916ed2caa41533865a0d191be63aa8c683f1bdf081983c835a53144dc2e3e71bad4cbb17c64074385fec5e18ee0443dac097401c72a874903d117e326584a71b7135b72a48404ef213a71083a0ea71f21b4b35b78cb8da59519f1f399995547ed249244ef9ea5daa0e2a855b9460d4c1a89bf152ca218f4a573524c52847954c664a23ce2d82f1ac4a2745b59d3cbccb88f39372b8cb8304a30ea4ab3c3c6ed487448291c7a495a22d3431690511cc71a5c603df917c81e637a8cfb1e67c65ceed7c0bcc0f7c1dcc937c1dc4cd75905161d004caa8498314935650031ec3a00f3f8d38e3e7dca615ad33433405ce17d9cbd4a9539d4e279323d30154506b2793022cb811279def41d1c8b8a5a612954edcc8a0ca614e31520ce2466753af503391ca6fc45539aa4aea417555198cea1985abfcaa40128d771121b3519ff074b219f557e5183f55f92a73f8232a3dfc5daa7c935626ad8cc1638e2bf535457c38ff9fbdfbdbb52d3bea3c5f180b04c60585cd7f1b6ccadd5243dd94d442dcd645dff593e48d259ec02fc0dbf45d3f8025aa25240c0663126c8c29ff29b06584a8b25c767ff6fe6606c373ed737cb0338ff39c1543a9913163fce2cf881523c69873aeb5cfaec1c2527fd6109c8d95e5b3b57dd648a12826258c2de6acb11bab8dd5594fce1a823ecbcbe452fce21600e795ce2b7f3b777ff7e243bcb47b79f7d29b019397c43d1157225df6d4a7148741680d194538c7e323f0d1fd86646471c20fdf50f844e8b78ac2a02bd32ed164d303a0f5c1d033db1b3d2d39307c52e33fba96cf00b4d199cf86864f5b4c3d0c7e9c30f4c7a7df285a8389d8586dac36af760daa155bafd4584d6d8c2826ea3602676b7b71d87d5032b4cf22c4043d31b1abb68e36561d303656f24110b472436268e8ce6fe8860ad7f69708dccbbb17bf7b71ffda41640ef42a4bc77759621fc247e0d48b14421fa71b0c98c9a7f0010aeb898f3316495df0e9191f5c465ff8a3333eb5f9009ce904c7ffd3cf2ce63ff089c9d6cc346fe73282661a0c65821eb4a1d193e6e11b8d73fa90e6cbdcd333f83064b358cf50003d8e7e63554c0acbc64a1c36af760d4a83ad575393115bdbdba4aa0fb39bb452303756622249ce386cac3a634c1cc407dd99e4c71eabfddd8bcfe2b6ddcbbb9752d3539042a0bab9bbad9c19eac999219c3098f1c35be7bd91202895d1fab64cb2306878b0c1e34fead319de6878e0f484219ea03e3e55985a3a11f101c89e7a1ce0c607daf213069fddc4f563f7c4e0c3003f9a7a78c23afa8b834b431b2b21da58951b9b57b34666bdec1ab43aaa21888ac6d6abaded92c11a290ef261f7416b4434aa1be8b615eb45db580982985437f41babce6092e43141b6bb46e05edebdccef5e04a06c70e028182ed117a695a39a0c66c2367c04a64af4a4426bafa1c1a7c1e588a43c3dd99a343534c8d18f888f087fcaa231b34b0f028cad74c63ff1a7ad1373d2637ae260141d6698999e4b52b5e16777266e74c0546dac046463b579250d66fd0e8db82cb75d8305646375c6a11a7bbb8f9c9893debcda58b5e9cc3a42c88a3d3308c27bed7ce5f1f1feeec5e77269f7f2eea5b707266fc5a22dd44ab9bb5bc7a64a3f3e4233344f55d173071c7f16394c786a4716078d033c78446aad8a11898943cf1cddf2ad0f29bbf05dd69ff893369add607476b7c0dbf8e92192ff83c7671d061e1d3e5997f9c355f88dd5c66af3ca4238d7dd49cf9a42681b2b4138e373d286b65ea9270f89f2763be373d2c637561b2b69b06786ce24854234d4582796c2a2b76a00b4d72f5666b4ed12817b79f732ffde8bf93bacebe5babcefc8eeb2f3fa2ddf7a985b8b64ad8d982eb5960af15138fc74c6c73c2fd1e9c11ffdf98343243e4c522eb56799189722665e239b1ee2cd9daa38971e7f44c687d32efc0533b6f037561bab4b4695e7979c71b96b5010365622a0684c0d99e25364b65e9524d5d58d9568d4761fdc334325423e940c88aac7e446eb05ff3588d5feeea5857fe9efe5dd8b69cbe6799320c5d17605842177f07a340c02bfb5d19d3d8efd556f1904208bd0888c2c4c34a4214a22480d1f27bb01f207932c1aa1e5120ec282ccab6c0508136c7c6889324a4f527a6f4bc034fcde9ca4016d341f1ad51b028b30946f2e35f40ccd7c611241d0865f94ea375682b3b1923c9b578f6b68d7e04326a815a2615d6cbdaa4a0b4831119c5ad9828ebfb112908d95fd573ee8db97a5c79e195a23f770beaa326c7f89c0bdbc7bf9e4273ff99def7ca72db3e375057168a5416830f5e808b4d209339713be30463ba6a72dfd61d0a95271c22070e23744aa9214ffd496fed30a8c76fa73193504900f332f9c4ce44316c76ecea413323e229f4ffe49531838e5a4105a98b98ca93ffd3c69f830b971fab9b19acf4b94d01babcdabd6972533ebb498b4a65a4a6136561babaded670eb40dcd5edc0aaa8f0970e2ad299cdd07ab2dd36facda8b5ff2f96adfbdb4bb5dfa7b79f7d29b018b50daf5441c2d11a30b8a9589a92114b2e84a5897686f2df0110a1f260de1f1311b9aa72300638bcef36d86a14e18f147363d46f17b439295b19bffe3033e8e4bb0f4a39bd7cc627c6025cd080d5e7fe25d92824fe7c64a341e22b5b17accb1cdabd6ddae412ba2506cbd120755626b7b71281fca8d6222556c3ab3076dacf6cc2007a48424294fe652aacc3967cf57c5a7e088ccb6db08dccbbb17bf7ba99876cf2010ad9c2ed1b24459b1a82a2e2d1ec794c11bea72965c78cc911d7c7aa6bff0fb18328aa6277f464f80f8631731fc64c79f5b2721c39f98fc99c9a66dfa0c8d0fe3334053de586dac4460f34a10aa1216cbb9be4a8fd6518b6563b5b1128129b9e54331d14faa9cfcadedb3070991b6fb6011108a726362b2792532b3888405fd5ac66adfbdf8706fdb4f7eea539fbae5be7b9cef7def7b17e52707dd65c48bf4fe0dca6043dc4a7dfdeb5fffcffff93fffd44ffd544f807ee2271eeed9944822e8f7bdef7ddffef6b779f5fef7bfdf251ab265800e1c203cc17ff9977f01f6553452e89ff9999f3901e816d52cadec12d168268860f79ffff99f1f79efa7270d7dbd0d9f4e4e62bae9e2c3c9c7e40991fc41fcd33ffd9353143ccf8dd2a9ae393fe51b8bf89e6aa4139f7e52b9d1d3b2f4d343164ddbc64a3c37569b57bb062b14cfaf575ff8c217befce52fffdd63fbdad7bef6f77ffff7dffce637bff8c52f2a2f78ffe13ffc07e25bafec085bdbdbf2761f5458661347ef9961cf57cf3a8b3a8afcf44fffb473a00613a1973ff50818cde9f4d39ffef42ffff22f07d33fd9d2d3d0d011fa1fa28d27642ff45c22ded9765fef5e14888ef5f50a68d1c447cc938c461b0a334f58254774fc0493d5cf03d7303860276600866e313960e8d61f76e39f98d37f34856064f37f7a82d94d76fc1f647a4e7e6e8f06e2a72d0a53351a70b453cfc596d1268530a49f50dcc621cc005cde62d26f28b5a73f1bab09dd199c8dd5e6d5bbb7063ffbd9cff670c452750a698d0ffd5bbff55b971aa25618dd7a75d6b1933eebedc66af2646bfbd6f696c3250eaf776ddf772f3edfdb762fbf7bf108d066d9fcd16da571eaed1cbd6d18ccec1fde7e9c5b6fcbc639001fa6465661a544c347c70f43273e0c26ba3344851867f4184207d6c34312446bfc4c1c9d069cf0f8e8f0689a7ba342168d9f922c1287a161e2f0a0fdf1172fc1365645e3312a1babcdab27d6a0a75cde673aa6ab06de70226c30e86f7deb5bbdb9bdc335a816a94222d3a3bbdee2468b89d5b4f54a10aab15bdb8562f74155423e68d60edabeaca1f5a58a3c89de58dd73ac24c3b6db08dcd1bb17270c0ba02aa05e884597d12ecf5b14b013530581893f7af071a60fa0d788779f73caa26de1c37f8eecf8965790e9d4e39c3ea3c79fd3e70727de6e79984be18d34979c7139b388ffa4cef403e755eac3a31339e79bad9c3ff587894f30c710a72c7a6325441babf7605e7de52b5ff9ea57bf5afe7bffaeb6f87a556774f4473ffad10f7ef08393dec17c8e38a57aeb027f38276690afd01afc933ff9935ffcc55fec5ea56f9a99913b193de66ffee66f62a2ab5d4fceab08d44f04068fffdac4aae99709cdd4ec5cea9b6f4198b9974801267461f41bab89db046763b5795504a69724ad2384f478b5d6e0be7bf1a9ddb67b79f752be7aaa81d06c0c9e6a0887e4d6a36533bee3f219a3794226efc93604d9d391f0e79b8ac1509b7e986469c6d40f1f9d6c3e8c6f2e99089f87d1f1e3e43fd830f1d9c2493fbe4bfa11b98d1e0c5bbc32440f3e243a7f4e0cbeb6b1da586d5e5dd6a015f4733ff7736e51fca2e3e77ffee7f5bff44bbff4a10f7dc8091e6dc9b8a5b9ab35e84d8b24513ddca598be5e533de28886bab4f54a4a08c2d67611d87dd0d2d0f6cca04aecf94a26280efaeaa49858230ff9b1edd911b897772ff3efbd741c9f8094311d4f31658cad1771f24b23fc3663db0f3c3ae204a3d35f4fc9c8a2934a8f3ecea5a7012c9d79d5e5b338f8f99c3fd1d91df760f227223ecc298b9e799d74d1c0d112c92b97d9baf067be2c1a1a9de3cc28319a57f5f98c3991b98c4e3420c78782339c2e7369f02ee3e837561bab7724affee11ffea19f5f3ba3cb2b49eb0d83570d29ef47939893f6300d45c4f7599c39899ef572d2afc41afce33ffe63776ede3bb98de1bc26327d794cffb18f7dccf42ff335d9ad57c5eac9556968ebd59391d9da3e11684db5f16dacde91da5e30adbe62fb5e5883eaeabffff7ffde3320bb4c7b0dc22527117a5b0f8ce62dcd1ffee11ffeeeeffe2e1880fed254631c4311d161c2eb6f5be6f011b593c6e103cef813a77e988877b6ddcbbb9776cad2b1b710e228d73df9909dc514ed5384092689010ccddd7074780a7b6a0283832685c6a75f1f3f598230c377095c018a3f9cd163143e0c55f99c4e348286ecf2d9250de33f29768d0683870170896f149d6c7eea078fd68c1684ec264b3f3e5a1b5bc1e8cc87e63b74780ae149e16797141a9f7e7dfc64c16086ef12b838c41f0e9de9310a1f86aa7c4e271a0196dd8dd5c6aa7c9b2c2a37ca9932ed45f2ca5fe7b36138a0cb28bd32ddb7a4a29910e75953d4d2ff7aaf417f1267fe12a35098b20823cc1a6d5bd5ef1a1404e568d7e03bb206b7b64b27b9f422f56a63f54ac74a2ddd761b817b79f7d2bff762fe76d03654cbde4682d61797f8001d3e3065bc3e24223ee660c8628ecef48ce62e53327a063fd6f361f89099187f708646b83ceda60733be7e304323ceb9008c7543cdebd41378e635338281d7c69f64714efd2ee33791d18f189d0f5ade8e6d0ebb4cc9f0073fdee6f9f013199d089cf12db564077fceb1b90c2641bd76ce258bf586a89a683c62df028f0f339a7e18b2671c2efa47e789397dbec424874709228b973936d3534f22e3e7c6eafc64a327863f3056fe3ab09b133f7421d8adcb3c677264fff0873fec7b658eece5c0e5233b3324bbccbdea79f5f9cf7fded341536eb2a2d1ad5d61f1bb17f736e55e9969cada199f9336b46bb0dc98e439e373d21babcdab72606bbb7531351c3d2be8e4bf8ab1dadfbdf8d46edbbdbc7bb1173a34784a21b9db173d8d88d6cf537f989e984ea45484f0f898b7349df8960764f4e84768f1f52da1c1b33b3e5866e31b91534fbea5074d099a6c98fca4271f9a4bb41e1e98087a7466b7851d26df70e609cdc64a648ab3986cac36af44e05c835693d3b9264f6a46116e5d5aa1e8d6ddfdac4121326b91317191a9a609c8639cbeb3f54a86685387c56a6bbb54693f6a7d9533d11bab3d33544faaa59da3d012436f5f7e584ef774be32eb6d6704eee5ddcb1b6fbce129a043b9c9ab98aa2442eae37489c6b142e6a8aa861a3df923722a416ba942d0f6c878eb897b7456521867f023924b8dc68447e4438ec5cf43fde95bdb40f8e811011bbaa1f167f0a31327b530632e6652b7768d6eac3656e5c0250f5fd7bcf237c71c3d7ff6677fb61b18d3545eba759109bff66bbfe69b54cea9b3ee5efb35f899cf7cc6bff7220efdd6a580088598888c772f88ad5702a29d6be49218b35e36561babd9ac0b859468532e85f4b2a5a1facdab89cf6b162b5bc9feeee54cf5e87b79f7d2132fcb5b73ec88100277f04e5d2ed130ca41db068c958076fec0ef46c2253a59c8de5410c4493f003ed9292bf834c0d08006185b1186e0f30187ce14d2303a6900206b4883497fbee16477f08fa8078b0de18f7eb648a50abf39069b3e3d9cd1e0238c6eac8adbd96fac4a8f7bcb2bbf7be93b51566237307a9ce8969e2573576b70e22026b2a2cbaa4a3fe8dc7a251a22b3b55d091507d1503f23d0bb0f0a822626560a42f5406fac6448fbac50583bf244ff18aa7b895593ddfe12817b79f732bf7be9eedc32a840b4d10a8a4a61a84a1a0dd3e17e8ef8231b410abe03ca0c519b4e7d1a4e9d89e867f9a1b58b3f74a6073f40faa91ac194373afcfc49b6a11336e0f1b9d1e901662227bdb112968952f4199f93de58dd43acfceec5df1cf3597bd5e0d3d77ac910e18f26fbdd4bb73738f7b006e7772f0fb1f877ffaeb04c4cfccd31e1aab618dd7ad5eef018aab74aeec404f34c98e16f6d1799526862b2b11201b974e686e4c1d43656c5412f26e7befcca9daff6772ff3519ec4bdbc7b99f4b5ce350b5b06cf16d293637c4c74e9aef7b641d2b79774f70f83838f89a6019f367461a5211a061f0c3ffd680d0d830083195bd97599ce7c632bfdf8f06110c4f123e2eb4716a13d187bfb5db351b6c2344ab34b1ee6c30c21481905436b1bab8d553959e63ca6d55bdf61901ef799577e9e6e157bbde0805e6f3da285c84d8ba17723568c16edea89e033544df0a1b06854aeb6eaf9830383838f89fee1ea951fdcd3609a7a3ab3755baf38433fd8dcbae483b07cfbdbdf7e47ea15fd5ffbdad74c442bc208febcdbf58a15fe8b4376c5616bfb8f9e5712a6b47c7e5ef5f98abf9897d2bb0f3e6b0d6eace4c66b995795bbedcf08dccbbb17ffde4b7b6acb5ee5b511b6d41122128d70698bb200aa95e1a38db67b85097c9175796944b2853f3adb6ee38f72b686ce8744e2cf680ab332ee0d819fec39c7a6137f7c48834bfce8fc4910279da71e80f8e3ffadce730ac044d27f2b9bd1b387cc07ccf1736c4d048c9e743e24127f46539809ccc144e8933de7b8b112968dd5e406424eda1425e4e495dfbdc813bff430eabcae575e86e81fac043ef3cabd87ef2e976f93db043597f8d1e57f39cfe8d7bffe750fdeba2f72804b21245b7e75e30dcf2ffcc22f107779ea8c064b2d9d4360e618025f7f6921bffad5af7ef39bdf34649ad975575609f5afd930eaefad4d34c02ebf7b291ae139fff18f7f3cb54480b937844b43ac9cb16a0dbae7f9c637bea1f7de461340aafca0a868f8361a3da4fc3b3302cbbd749e7a9a203e2643c521e52e4f1f72238c809bbb5943b24b33d364110026a551c813ff50e9073ef08153cf690b3d1fc449375faa8ac3f4f9301fcaa81d22c093b14a67e6c2a7bfb0a3a9c52f382ec3fce8b14a7f3ea73f5bfa4b83cc07fcf1733e17b2318d9e74f34a24fe8ca6302b988389d0277bceb18f3efef8900697f8d11b2b41db584986f7485eb577f44fac484efbc27fffefffbd7b7ed5cf3f94dc9fb80453bbeee7df7bf9c94f7dea53add897d3b7f19cb64e0ebacb8817e9dbd22087b8957202f84fffe93f5990364245aa0da9fd1ec79e545ac809b4c63dda00ec522efb5b9f3052195fc3278880d1e8ec121f0607414974781c76318df2842ddb3f29b4efd0e33394c264cd825d49a9a4c64f164c59d10310b7c53a42a1697b70e5f1cbf7f21b915dc4e821d841c45cf04796e6997b6b6363b5b1dabc9a35e87b627ff7777f67c37098564cf4d6b2c3aba56a795a4ad68b4564ed58749a95e59fb37403a0b7c71074b763855ace2f9257c43ff7b9cf11612b9d6e5498eb9e01eda3d1324dbfd711d528981fb15ed9fcfef66ffff6bffdb7ff6682ca8bca46a77b036e7cf0831f345f974ef6e6f5ad6f7dcba81055aff8c0741c4c4110103d263f79ae7ff17aa5407de10b5ff8e217bf2802f4082fbb02484f7307608b69268ab32aeaa651c965d12762943934a47eea5b5e0190c53f6b3bbc7909bb08987ecefbc8586734821b68d100664b26b0ebd2ecb20bbcb55d6c771f9409724f1c24922626720621f7b4f233fec66a63f5fc7aa5a2aa3c2a8ca634298c2a8f9aa3b954b46d0aca2398fde5d39ffe74ff5c32b00c7cb29d434347e87f88a6ae927ab21f26e29d6df772f7f25ffecb7ff1d1b6ebd8872a1faa4649e3d2678fee0310629798551cf83642e2f1c1d41d78186097173ecd27265583cf96acca9ced1080f27426eb125e764a4726f20dd3259aace9a4a77941baa410a6796554cf7f1a8844c39b0e0e7eb286d24f391f860f8626657463b5b1badbbcfac77ffc476bc4532e9b8467ed169aa3bc1dd722b2dc540984a55786206a30b69cb9f1b094702cb1d6d7936bd07dcbdffccddfb85922c890db06ca11f433d78ab6d22d5276718cea815d3a79538e20f5c3d52bb70aceeef64215a9b70a2662e2cdf1ed693ddca2b0abb9713204604888cc949fdcd31b4dd625da7d45058a6c51ea12868633af1cfd6dcc7ffff77f0f46a17f39a76d9b1544712645278e38a0c5d3904bb7317a0121f86faa57d49265d48d19cdc4dd2621b4e6ce1986f4383e05565c9a8b51844fcdbd1c8b3cd9da2e3e6272ee65d1f89a008a1b42cc3756e2b0b1b26a7eb87a753f79a5b05706658b474b2a2442ab1e163d254b8182bc9fbb977bf9dd8b8fd9e76a6b44d866a66fafb5fd60c60f133fcef0ed55f876c7530f599a295494f1f5f030987a789cf4a733d3e984d1c2938547a707016f942c110d9dfef4b81c858e117389ce073d3a1f20d3ac4fa7514c3382c9169a2dfcb18530347de69a4bfce210ff44e26facc46d63558ebdea79d59d860fd474ccc509cc3ed165446bc46897d642c75c3dda5ac0b7d7d2d3da7c720dba7978f3cd37ed4c1ffad087dc3c90ca6e47bdfaf4a36be5985e4bb323380d2eff4d6b909f7e76ef04cfa8e7767afa676a63cb043597f9c6a2533b439ab09860a38fee5c633505cae8b3ea95f72d1a9d6ed83477116ca5b398dbb0c533dfd0087c0a6126b613014c433f700d72ec4ffee44fdcfb998eb92b981acd64b38e60a5cf1dc7dc69d68b0f7e48f77ba6df3bab2a21b51a9a36f1d1a399402368304a27e51a1adf683ebb8c30f4ac586d6ddf586d5ec901aba6353e4bc6fad25a56afcd1a7c28138fadf2fef6d5f39817cceb77f9f03ce91d9fd5e88c387b259e399c693827dda5feb6c94e4cfd49d83c62b6d3343a7d437ff6677fd6df1c93e8a5b5bdc4f673d2058120fe191018606be0563625c0a41249e789471bc287a104dd163534fd71c69f30f936f4e839f946337dabdf90165fdf65b2b99d60f342df226fe74b49b2694b2a7af4036cacce386facce3c11995731af1c6d1d163d23f4697668ee63ede8ac7cc547b4acf0630e9f14716f12bce8c7bc5d835ffad29758c1f77e061846419bc3b1e53976a30134560277a927e5cd8020ffcaaffcca9987e859bc39094c557cb72e7d346e18f0e9bccc65e69557d94567d717af69e03985f98c484f18ffde4b9cf4a011530363baebb88d404ee60f1ab2d8c699b9e755b628c7f75cdf1de04c39d97c40d74c99b6bff88bbfa0d6ed4760b2f4a404ecfc1ce3e74334409e3405da04df3b3accf25c6f8836b6323af9ef329a5df40583934e7cc42556e1d38cd6d2df1412dcda5e1c04a718ea1f43b5b17a38ae6c5e950cafc41af43edc1bf55ef9fed11ffd91f2523305845e99fafddfff7dc75dc8fbf9ddcbbdbc7b71f890a6e5ab3b75955d69c399a75faabf86af077bbc7a784206836957187ccb1edf938f9038e88a637c781af461c62e821e0ad9351a7f2c7649030c3adf1a2592fef883a1df10bcd17486cf6e7c73c7d44865221f60e2908531840fb6b1da586d5e590b973588d35681eff0da313a8ca139d05b4d464736be8cb24e7b3f60482382d31af4a31a07774c37007ae2f0f43fe01e2fd38f93e69868fc387a8d2d187b18715f82b2bad504fe80a1ab098670d07a7af01ddfed7908b72ed59c07ab8f76f5746625fcf0997b003dbe97f038d0689c7a2267acdc4be0003f2baffccec7ab27b71036693e50a24d04f2013f0ecd66411b3ed893b102f665b607ffde2ee6a29d945e2b26be41ee437163c934553417c3e21007dd5c584737537d984c4022c8d2e6674e5bdbcbb7dd07c5a19c29df9eb506f137561bab8a4905eaac57f1b7bf44e08edebdd8d46d398a885e14a4887a319cf831e58d850433e0f07a7c4cc42889931efc864ecc68bee8c43f0d9d346d3c099f4e7d784416e1f31f07f8e427384c43da283cf584494f80bc3dfb6437561babbbcd2b3f44e97cdf31da8a70908db6543bda767e1d7ee7ec611271447634af6e9c6bd03b07772f5e14f445a934748c9e9e3855d96277f83169cb5c43c01a667f8c0be132bb97358eef51851fa933edc36d2229a1f9a2b3f90ef362b472f460f8ed16de1511ef5efa7dfcb8813f754c6cf9e00ec72d44fa8d9e0e34054398868a4380bc3dfb64613411a09338dadc15b1b3ccda113efbd9cf9a7b46f5f4102f0ee9c7a401c7834f9c9e6e660e3222e45c227c03cd50eb85f5d3689e3404590b839e986c6d9f4f6d635528a4c7259736af8ac9b9a65ecb58a990fbeea55279f6f7f2ee654aa1442fe33d11b1f86d69d3c318f21444b9c4d7d098083d7c6594869ea01447db3f0de9c76f21e18c2c7ade6680b92448e77882c6a13f5b8ddabd5c6a64711061f0939d273a279f72fcf0bc4d6797d1f40c06bf864367b3c6816916e321d930d3e78f396eac365692417b8df3caa2f0e5283f8bf4eb73af477c01cc87ee44ebd8aaefc88bc6d40b8583b87333bc532c3cc2a553b207f38fa1fad75839d3bb35b288887408d63337c7e24ed246fd0e2407dce7384f87d15b9b1deb09a20922f43e8efe7016af9e55affcc2c4cff4295155469687aa41077a7a5c3ab8fbcda85fe398b8de6d58375ad9229ee72eb5aa19227e31a1817e346df95c1de3a4fae6e6cda540e53900f168041134074c9f751f44111034fcc0f3598c2c29d1f63ec7c6cf4a762ff5ca28cc449e2c3dfc4468bc65f1577ff5577d769acb7e8ff46bbff66b9d2458a7f6122b82f83e56aa1ac5a17368789375a96d6d170d811522d128733656e2d0ba90e145c625626365fdca96e2832e67ee21563efd6db711b897772f6fbcf1465bbe10c8fe4b5d708969c8bed2f2c0b136a6b05a21894c048d565306995a3d2560646122924ae4823794c8e04764f8174c48fdadad64f1115ab6c6f98bc2007a7cc8e9873f438873bee9df581507a1131fad00223656c56432aaec12995737560ea34ebacef4ad3edf0e72f4efe08b636a001dd9d1fdf8db737ab463b77ce8fc0d707905f1e69b6f82398ec37413524fb0fb07abcc2d931b860ef4d632421839e35cdef19772607c3e1044a40d4db3a336e2cc4974d5c337bedc39cccd1841c8948c1e07778778fa796ebe30ce97114eff2d8144b841ed85ce2bef5e10c097dac88abfb16616e648b0598cf329644b3c8dd2504cca2b110070f7357cda0ac5388f70cb4103e2b65ef9ba9ae00b666a616a14f2c15d8ab0b3e2d66b3279fc1704d3873c45f29fabc43ffef18f1b6dcae54cc8b265f89843f7b9d4c7347a91c54f0fb721b7b68bcfc6aa3c3973e9a437af5afbe2d0da79e5d6e0be7be983bbf4f7f2eea5273a2de9fab601fc2ee537da66508adb502b8b60eef2dbb40ce1e368a49245908a537f794200a091c58fa6999ed189391a60d0c1d27f597246c9a6908674b28b9f2cbc8d8dac1e8cadd18333f8e60b1c3ecfa3e11164675211e94127cb62b08dd5c6eab5cfab4eb40ea6cebb16829fa9382863cefa726939b47660ac115b8e1e4d0a8d8039d720b0fb07ef31e48f83af51049dd108c76eb7169408af467f7af49de6bdaf002bfd7068d0a8e555aa9cb05d9eeb17dfcac521e86f64f51625d9fc07d08c1274e7c301c777776b304d414fdca85b0ee62a0244d0093ec8bf7d176434eb88266208a77ae5c7396e02e931da2d449ec07000872d77115dfa97554869c22202cc51e88f13902d0839a01f82a05fbf80f1962024ced42b212538b1e2d5c8b2db6da7bb97fcaf27028f26481b58bed18fd0f86f54c4a8ca1cbb238b0e163e004e3e18dddabeb192632589f4185a86c80d996c68f3aa3568bd4c7c5eef58950fdb5f22f0afcf0b2f033fca657b090d11673fe51eb386f336f9f04745bb8cb8f41214477f12368998ed168d4edfd0fccd318bbf7d826f30d1883615078b980a28ba320a39fc8909189a78c4d071524b3c73e93c359f74b66818fc5889d965fe54bce83f7d4bc3a93391f8d363e60fce250e86f25c1c9e856952ac6cac365665e3ac9167e5cc6b9c571ef93b799f371e8edaea58876f076e438acfacbe2763e5af037ba1e1f50841b1228b6821a39d807fe3377ea33b19a3f123ce35e878cd9981018c2768cd9b93fc2c6f63a21debfddac4684b5bfd44e443bd9b0a2f1f3099d39f73a1a432c2497f67397f3029497ffea499b65ffff55f1f9fd3d374fcec44944420d9a4662e822602740a4baac008ea5d22e8947b450087a1acf741a08b27fdde2065716661e8339ff98c2f86818d60227ada3efad18fe673b6a637dadc79fe977ff9976ef032c7cf893c9a66c1710b34781ad0d328892e374cc425cc856ff4f43c9199c5937935866e6395fe166caa528e46cc67745a3cfd19f0c822e8c48f133d3d26f1cc257b6a3ee96674e253587ffa9042fce612a0386cac446363f5fae59587357d5b55a5dabf39d692d7dfcbbb9726dc9d7acb1b1d51c95661bbf484634a21297c8b01061f51239b14c0e8ac98ea31a9f274ad22ee922c3c266de830d1b3fd9c4fe36072c6683e74995d3e60ced33e98d1992d7d98a45c6af9337a70605cd299e7611ea08f6de6e50a9de0c66a63251f36af9c5cc5e13cac8bc91c826d36469fbf06dd3c789960f152626d924ddbe874e0c67759b49fb5069dddfb8293a333a3f2b3233b2984e6e506fab65eb9fb62b45ac48ae612becfd7c99b5a9cfe9e18e693f54a1cf8c9047198f1a14bfe0b423ad100dad42b9e576430c324f5887a88ad9fb8e807f6ac7ae52bc1dec6b80f24387623fa080c357d759275d128ec799b5a0ed4f2d9bc7c3a53035bf5c58a380c5a88dca6fa3d92db3c3781de02a17dc98ddbbd11e21830af9a7bce6c6d1793dd076585383c995793277b6610a5e7afc13b8995386cbb8dc07dbd7bb1690941d5b3c25144e2b712e2cf2617130cff0cdf80638e4e9768fde85483c66efc00d1f4d05c9facca9ead530f7a148269f989084f0343d18147733bf7f830c4c89efe3ca87e9cc2c0466743a71bf9803316c3e47fb49e27fa61023f39c7a6307689a4393de89951aa9ea52767c66ea631111b2b41281413e7883ea38d55f179323fcfbcf287c2dca2f4b5ab82d6d1bf14758475b475a49e8cbd5d83be7be6271f7e952199c976daa6aa2335d9943852b3fbfc35e89ced3b603064e129d1e88cd07b8311ff5c83fe50b22f9e3194e9ec82f119ed9ec4e1db9dc38bac41ef70889c7ad0a39003bff55bbf45f3650d7a69f3b5af7d4d0402034c0c8988ed473ef2116797797d81f9641cf08b0087a97a329e6e332837d487a8a7d63f52e9c683f8192b973cd1fb044d817b02f2643ee0fb581925ded42eb1e20c25e50085304feac9250048bd969f88f0199ab9b392cef8602de1d19333837fd0f8360671c29ec4e4c619ab2c3eaaf9d732dee580bba43c9d19d2e75bae8e9ff1f3331a80c5fa649fd433ce67177263f5ac986faccadbd720aff6dd8b957edbeee5dd8b275eaaa19267497b12d6610207ad1717fc983038e1f1a5be1db42197f82941e39372a9f5740d337a6c111cfd30956f9ca1e9a793e0c812a1d6659847f56fe9c7cf1fa3838926057ffa7962b29b4e0ac9e6c3898936bab1120a4d3c37569b576d8132413ec88ad660ffe8a4e329cef43068fd43f63cd60afdacd3cb1a74f7d2691b6634443b3d5be61a3ef159d7add9a9272d76e61cf4dd6638281377922e6fd11a71da1ceed167bdf2b6c4eb05aa8cb2c256046d68aa1ceebdb278c17a65229ca1c7719f9e54b188933f79a29f18c27bfb94cf330a9f143ddefcd0c37f2ee99f5faf44a070d150fcbbd4a7b0cfcb103dd5378ea1d30fa315ab7c28e67adfeeebef0a90d5704821804d01cd49670bb1721f28a42c0e6d765bdbcf581564317cc1bc126422e11fa2fffd6b503ea7304cb40f055eef522bfea79ef830b4e1fb04d198838936bafbe0c66a72e3c79b577d10db5f227077ef5e1429a5b35235e789aa988d27be8ad6b63730b54cfa0edea53886410f38cdfa133f4a2ea1c71fbca12ec39c3ae384bc75cc68b61aa20481994b88518b70991e4474869ec48c6f239894cbb18573ebd239770097fa8dd5c6eacca8c94384c868af565ef933c7fdee65de30b4949c891d7f7d71a847f233b5a6394b09e1c778be68a439fe2695aa4ecfbffddbbfed86c4e2827c915839c9f9617d3703dd42f027857ce08c7708aca0f3d3bd9373b9d73bcc5df038bdf79823e0398bfcc119024de4affeeaafcc25e771e8445bf519ed772f058103349bda9ffff99f83b1051f2c55b9ed6d89c814017c8d78ce8f69447c8473861750e3434a8ce6867b212f9a889ff50a5ec498c61f3ca3a4f2a78f462fbc386e4e7c438c1b94f497dcc6012267cbc37afc21d04d2166227dbea763f897588924253086b6b66fac4a8fcdab594705a405555f70264443187de5d6e0be7b393fd9a1efe5dd8bdc35e77912869ebb6a43e8cb560d20c50763148d830f6f336b3b71894e79430a6b97233bfb1071437c406890e38fcbf4277b3a834f43f86cc1904d3fa31a3a7f206170e0f5a3ff01f478a771fa06c3d089c956980b9f38be0673baf7a87863f5d6db33d1e873d9585df247668a89f85cf8af685ef9949d77e7b06e1668075c3d7e337dce1a34e409bd55ec648c0e4f497a7a8a8fffe2b1ea5549fee8c9ea3b8823d484f1aa1ac27fd60da91bfaecd6433694637c406898e38f4b1af4799e863147039a6618431a0efa617a8f2dbaafde45273b717053415c1f270c73cfa95730c15860b1fed1f8433408766b9703f9ef8ecea780061be729e97384441b72e9f64f02bb05f20ec75de2e73ef739dfbbf3937d5300a041e3ea8bc4ea2c9ef46f6d7f4e5e6dac36afaa572d5b4b4cb69c35016d05197d5c82afed1a6cfadb5f22702fef5e3ef9c94fda84ec88b25c4d2ce34b7acc886ae52c86e127550f9978cb667afc11446bf0336a086de10d1f3d7a305d863ff9270d937e7a8646988efe4959cc0033afc0d96d683008a3f586b4e801e30488189d17fe454fe2973810d9584db427e61b2b317955f2caef5e1c5b1d6a257307df8ebc7d9ade1b74fe7679592fe688634bf6eac36f4bc8124c09a24b677dbf54118ab4951830dab3d6a017358ed4de0ca461fa442c37af83ba19a816f9675ebc49e03fe4a3e287b70d66c4b41ed81d548ef1a1da951bd59fdb7ae555526f51d24027424f9bfe139ff84413afa7d341ffaffffaaf391c1e67e20043ffc73ef6b1ee4666fae7dc8b4c7dfeebfff44fffd42b91ecba2c08117abfa2e906e6d4c3447f0cba3818ca9fb3279bce4bac6873f752dc7c947eaccfed1789d52d666bfbb3f26a6325fde4f96d1c6ed7e02d66f3eaf5c82b656affe698857069f7f2eec571c1cccf7d0b8d636b4494e23d090b063f001b6de5035853111aea49245a1d213b78b26dabf883a1169f78f8fcc14c76f8e9af0c8541b3483f826c34c12e2f3a693b6573a979e1f30a1e06dfe5f8405b734468f161e05d2234444e12446fac0441db58dd675eb95bf0e93b9a3bd1b6f611d60b5a6fa55865931b909735e8c80b4f1cff218d1e9b4876827756f64e00cfba7bc13508ef6e2491f450feb8701f8ee3fca1796a11dfd21f9e0ff9c356abdbb99c7bfc6fc9cf5ce0d1f0c347a848a4dc0839ca03b0dbd1bfe044e3c3f06774b288c32298be38309a063a45181f9e4582c0c51340bbad5798dd9c50921e5208fa0dd1ef7e0c910f7a34e7356f60f4381a6f93650e009d87a3f08c150ff9e99ecdd7d57c8df0f39fffbc7bda7c26ab3d2b56134f56aae708d6a3097639b10aafc71f597848fe90c2ff37c58a2c3c7184862802f48cce46f93080620ef310b5dd0737566ffff554a9d2da942a9b5756a8385826cfaf57ffa65889f0b6db08dccbbb973ff8833f68831482ca7db188d6773929e512ad46cb450bb2b27ecac68749703027fec49ce53e3a9d993ef567f7495b04e3e7673d4e22a942e3e44f0eb83cf5870f33e0984915131ced96ce8aa1b11ebdb1da584d3a0d317922036fe363548bff6ae595df8dd89c9c5c9d6bbbe54098b5e3af1939103bcd77407f720dfad1bc772fde3c74db4064942084c2bf16d20fcd273e88a19f8c95370ffce1000d1dd9e1e7e6c10f69f2f051cdc3bf700fe3fb6696fce0a3c1facd89e37e9fe38bd42b07f77eb34effe8499c0fbff99bbf99754300f802e80f8e9dffd64db731c5c104bdcdc86ef8d4a6709420cebcf26d2e5261e09bbb1eade54334cc59af6c0d7d07acb88dff812ff1b9c5d0c68a098a003dfec05a1ef6319db537bbd41a8a3f7b047fe2c310afc7492455689c66fd645e850f33e098498d5dcc5b3a2b8347449fb18a39b2e37ffcaca0e35fe688df679a6fd16132bdb13ae3b9b12a4fa4cd9de795aab2ef5eaa30677f2fef5e2a8b7629d5013d655a2ce2205a2a3da19c323acba69b9fd1a3b24423b4620a83be601ec7df7a4209e6d033a53f29783ea0f57c60111d0627bbf8f48c0fe8d3cf74c26868a3081ad0544567eb01f1889979c1e0f0e1a293ad22b3b1da5895339b5722d01ad43bc5b6d23bcee27484758a6d3509da73d620fc1c8bd1a4e86925a2712c58fd8bafc14ecfa333afa647e4ad2968523a248b8389ae776313beda125d0d41f30aad07ae5eb9d5e96d49da38736ac6bcad573434534884e835eb683d80218d0f2fb20661f830b72bc471c61f97a70f8dcebcdcf6b8e7ec47ff2c26f568fcade75338c31f3a008be105d6df067057c60dfab52763b5b55d645e30af36561b2bcbea612d3dd643746b56ad88d66be509cc6b9c578f31d8ee5f237047ef5e7a3468bf91ebf6ddb643498f831692761a741c97533acfe50119ffec539892e18fe6e18f66f874e218cd8193c69c368ec51958cb784c5ff8dc08df448646180a8c6ebe11fac046e36fac36569b57ad8b59682ebff4a52f791ee65d47c7568bc5cd007e67eefea91605e7596bd017b7bcac70d225a2914d30254ec37ea4d1cd80e0bfe01afcaffff5bfb23b556e8ed4f4f3dc0f69286f75ebfdb92d48b71cfc0fa9e7430ed043ca0d4c7500fe07d6ab5ee6345f3a2720f4507bfbefbd88de9b6fbee9dd0b8bc59003c09a4b91e91f7c641ae705d7e01ffff11f1334a9749e333291fff81fffa35ee3dbc461e69521826cf903d37ce8cf4c9f7341dfc62a87c75678532ee04699d3b33b34625ab10d8339b0fc9994bbf09f955734bc60ac287cc1bc7a56acb235a3ec9e7339f96ccd04e3c709bffbe0c6aa1c1087d645b974f6b310ee3356fbeea5c4b8f4f7f5ee45ea5b27eeda2ba69687a77168c554131aa3081c7c0b060d8369a8654316a720f6240f8de38e1f2025f8382ee989999e6ce11099270430c9a673f4806904f586c60797302e113c6c08ade1bb44e8f989481c1d818336aa65576f88362d0c9d69d063c2c3c09b51fe8369388918c5df586dac1eb2ea6ef2cad7ba9c533baa9ab515d165eb4b3260a29fb506ad9a6e15609c98d18fabea5f7fa7d1c3fb175f83be88d53a758c6e79f2678eda0d59a70f9fd0e35a669709765db212b2433fa6a159ef4661d496a969d5a807458ffce62820ec9265177f7c70c9961eecac57387d352ebc5e4b1c21807c2042f6d1ce0fae575545b7646641c48c88175b6afd24865a5e3dbf5eb9610326abf9fa9c7b483db7d3432d9d86a89a5885cf163e0c9f99f30686ad276305ac71460f5fb63cf2b6b63f04442b6e856863559e88c9f3d76029b47955febc4eb17a5c13db5d237047ef5e6c2af6215b45695d24d011567efcb6d8f67b85207c04e42d06d368f894a470644f40c860170058b610173da7f23424cbd51922c5b70bdf253ecccc2eff31930d10067d2237561b2b69b37925022d0dc4acdcaf7ce52b0e131ef35b321d973bb93ada3acefa17dcfd75ddf84fae41cfd23efbd9cf7ac531c762caa3f544fc912efa5f7c0d3aebfb03beec92cd87ec76d496c95e0538d9b3a21972b7e387e6f403c4e476b22e39ef6b54f0385313d053a0d06073292cfe80989ffa64ba890bc85cfacd89d74dd51c82f094ffd55ffd955ffe6422113e183d23f0e26b9039ff808cdf0bf541d03353c3f196ccdf044bbf19199de944e0648b93e830c170b894cfeeb84c8488967e3ac779c4ccda04bd716a2ef49cb1620847a3244393572e3181cf584112b9f05de2c3273b3d66b201c2a04f2440fe9002d0c6a5d103839f7b991e1fc2439e18ccac205282d046367a148e3f1700d8c66a632502a5ca198abbcdab7df7220d6edb1dbd7b517c1d080a4165b7726c49782a896e6dc0a89e4aaa860e43aaa78098e96969258bc61f0c66b2d98ac67449734f40c30730444387157c8dad083d7e34bbf3f43441bda1349b119afeaca0116443ceece2d3df1cf58319df286c8ec96eac365622b07965ed3cb9069d5f3b315bc5e8965839f3ac35e8d97cf706e1ab2dc064ad3e4cdbd5bf690db68ae9e98681aa5ca22a4e7f8f8b7235849fbd6408a3071b1fd0306e87fac45fa45eb19e787af41abb95267aa63541971c98933d263ce6f8c0c3225030f17fe01a9c7fac932c55cddad4f88066cbad263fd3432d5a84473f1174314fc3c42a11fef0d97d9dfb40bfa0ad2a729b6f859178f36d2efa5e1fd1c656f519065e5fc38f7832af0ca5706bbb506cac044196d624c6e655a128375a2996ea8bd4ab576e0dbefdb1efffbf2f02f7f2eee58d37deb081b55d59f6325e2fe3db84a20b0c0c02c04ab8e0476af813cb548d9e94a4071371b1c5eee837fa2c3ad9f4843975a2a7b57a5de65bfcc4b9ed129dff0d0dd365f4601842cf1c93baf89f92a60930fe8f95911a3d89e837561393a2b4b1921532e7cc619cf7725ef9dd8b67f0de364c56233ac5227cddc849d7fd09fa596b900678a3ea1258475e844bb453b25f905372c99067d52bffd88b2dd9bb17b269989e156f24bc7c1813ac388bfbd989571ff9ec7c8fa9258ef02bf656779fcbf3eb953fa1f6e52f7f9948f748e9e1796ae9fcf8c73feef2c1c0dbcd67eddf9c71658ee3d8190a73e173d1034bfc0c26a64bfcea9578ba5b705fd1148a2d0c9de80f7ff8c3a32d911f7d0d7ee31bdf70a466e2622bafcc5d787d8e3e976c414e9dcc79bd36fe44cf941f071fba735d1407cc3314591cc13027207c86d097b95790c39cb670c637c45889861c3d90b55441a607207e22e8008830cfcfab895b732135fe440fdf652dbbe8914507231b3dceb81ce6d083d97d50dc3656f241fbf1e6951ab27f73ac0fe2ecefe5dd8b8fbf695b907377aec0a9505301611453cb55eb6999940580d763265b453ef5d04c16a7d28c7ed4f1502b0962ba3c6db1d2b6977e184818043e647c3466e2f19b42b268437c0b408add53368051f899a3cbf8384d2a4e3aa3e9c9d039c7d37fa3301babe2b0b112817bcbab7eb361e24eaee6ae7768766045e8ad2c6dd614c0ed1a04ab4a102435b914ed64dc9a7d9135e856e4eb5ffffafcbd2ce668ee108f66c8c1dd217eea1e5bdcb37ed9a25f0face113ecb222960f3fb05ef91e1d2b6e1e2819711c0ab5a9279c39eb15b546e1190d83d6d0bc2d624460f43ce133649c896dfa89f844dc4c36ca8dc2dbed100c717756c435b24cfbf3ca9a1ffaeb7de9ce5f1d40bba1f27db67ffcc77f3c634539719a49a1534227732e2fb620318d9a0887f56822e5c3599f31e9cc1f7c30ad79210c9db1a2f3940d0053941e24ef6f0d6eac36af2cab16d1793ef981f58a48ebf15559832df0ed2f11b897772ff3efbdc86c1b8cac9d5e2ab731e8f10548669f9cb62e7c4c3d7c411cbc4b98191ad934a7334076c7226792c567143d3a4f1f06df68aa806b179f319b23227311a37f2e2fb6f0b5b185de5809421fcdc66af2a1984c3edf675e39af775c160d6d8efe0ecd0eac1eba6b1d9d9fb5069d47bd30e96d090d6073dca7016d48ff226bf06ffff66ffd812c7f6e0b9e27ec76684ea14b5f76eaf8cbcaa3bf0ff5ca1448c16859ac6f2ecefabffeebbf8e869c9af064bda2c43fd4c8ba3572ea196d1cf8d8c73e36a623a40dbb7efc4390896295f3c513cc2f55bcbb2838d5c39165ab89e49b7b0fb71cf0f4a4a43e1f30bdfc8124921eb4a099a30683cf197db4d741f0253666a99e38bb59acf787e31085e5b4480f292fa33c31a52755971a72ea8936bb6c315a3be70b83593e20068c18fdf15d5e6ca56d2c8e9e94d4cfe845f6f42d1f006888460c1efd9c58b132808bc527f32a7c73397d3bfda170da058fbfb1da584903392937668d5cf244f69ed965f43db8063d9fda772fb3d287b897772f25684fc54c5e2a7bb2254df1d538f414d09ecc0d1f52421b258bd0a43bfac4a7c710cd2d06c4f9f42e2501682efa349c4fcec637a3f35409263d6946b708473f6d388367dd50cb353d9983199f71c2f36764c7b759cce30f0cbb1bab8dd5e695d571aec11697a3aae533ebc53958aafcc05891f5f0be5fbf24ebf86bcdd2d6ed84bb8279c3f39c35e82b5b7e7fcf9c46274fe841d383d0fcfede5b91db7ae5af15e3678bdde6028fa684636e6f28898ff964bde298db80f4c0e40342a3397fbaac8ee1cc3a02708f67b45b0e8438b088e0008208cd449e5faff8e9ab6b4c67882c113a69c89f6e11d1f49885513d37cc910f3e536084e613416b54854f039d38d5464473c1e49e83c56398dffaecf28194b9f8a54d97931b2ea756f3213d9897bcba8d55183dcd39438f89e09808fdb4a17f60ac00d81a7fc8b2d51cf3273d3867ac6020d9354a16a1a5e7c4a7c750dee65e73899992e8462169608b2c5a1bdfd01bab8d55b9215bee39af1e57c676d708dccbbb974f7ef29336b3b61fe55219450b46d5bca8544ff15b27d5d3930e4fbc323d859be0452764b6d21c9dc5b1951efa39133e3a58cec41f1143a73fe83c893f1b4093aa279baab11effb43b48e0f4171ffccbbc4e25f976f107f374a339a6a7a15b9de9c1470c3d867012a1f6f4393ad829fba8e3ad8ff5e2dbc6aa6016a289b0e8a13756c2521ccee2f0ac5879e8deef5e9c5c1d76d51667df6822389ebbfbbe56b1c529452f317773e2d71a9ef4934d43e6e616c2f2f1f2c1db89d3a55389170ebe3326b161bc46209e6ce7ef2ebdf7403864d3866815b4aefdab2f99c61f62681c602f3480f9af7779ae414caf8fd8ead72604938d9898b8f42a83a096f5e21cedee8be76704088e1eca45c04d0ed9a993135530d3f7752f1a049c601ed2662807d01ffde847fb4361d93504f6d5af7ed5c11a676295b84b048b269587c5aab0cfe718e1af9c718f098ddadae8f1f32737485a76cf0f31643ad1cdc81cd18cea6f639548c8fa04f5b77a9e8c55fa738386cbbc4e25e9bcf883996fd92d1fd2d3d0adcef4e023861e43388950cbd6f81c1dec947dd4b1b1da583da493f4387303fd1ae7955bfa7df7d2f23ffb7b79f7d2531c6551cd454b74b48cef4912c225da285a1985c1d1042b1a5f83318a881f9dcec24a243dc9a25b667a9b6582612ad67a18b2988a381aa1d1397c52646f7d23db060c40164d90aa6cc1e7d2e87109d9dcb39b6ff10d69f46cac0aa3686cac36afac0ef92019ce35e8d27d82d690c3ab33ab83eff0fd49625f8bf287b01caffdd31f5ffce217d197bc125b47db6459a1a1464fd7bf3db700004000494441546bd6a8b70aee94faf93ee5d58708773e8ee004fde2c54b80fc7109834e953b28845b177cebdaaa273bf5ca6b1960009e10c987fcd16785f3deed809105a86e2030bff0852fb801ebc689067af0334d368e2993351104d94bbde2891714d98227ae8d1e34116ebb4933417ace7a852faa824373b74f34c0d036d3478800ebddbcf12a8544bc7ac2871f30bbf859f7616967ac3863149ecf08527e21e393d2f27fdc4e0f187f684830df086a86e8890f70e6954985b98d153e1111088fd6460f9aaaad57e22c3e1babcd2b2bc8a2d0cf1a7975d7e0c352df7613817b79f7e2772fb619454d362bf1671c62e254fadb72d0d6bf6d061fa76a884870f420066f2891c1277bf24f3ad9d170b1952c85086db6a59c1f4386c20c3fcfeb13d4e77097c9a29b8ecb644fcc8834e4b27662c6f36c5dfcdf586dac5ee3bc7273e2c58543b3aa62697472758a8d46e0e81dee5b26604ef9de63b83cd78b03b4970f8ec2c9220028392fab30380efa5e32d88c9dc53597ee6afab1be51165b746cd14389ef41f5f85fd1abeee5cc2c7984fb1f3ac31399e95035749302e3390d7cf647058858f2f3ce27d9e280e64f7369227e4283997b8ca2cb0d34a6bb2097670c934d0f3e4fbc3c3159533611226e667cb3ce9039ba0f813ccdb9acc1fb4775c0b87ace9d5d1c373f7a82c04d16317a101a0dfe629bd14498a6cdf9d84d298e172f38dac42a9aa03b43c111ab046936d4871b8d8fd08a6a1f90cb31141d201ad268fdf0e924dbe5696b441027662ee9414f3b3168de8e2d51021bff11492592ff83373453000899c8f02f9834a7e1620b327e7ab2b5b1da58dd555ea9f6fbeea54ffcecefe5dd8b32aa747ab2a538228440af557f1d08866f676a14075e99285e3d154b0a1d460fdf7652a5565811a4c200c4c74168f32400f259b60c85a739dfe8c141e7b3cbfc41f0139f66b406d05cc8ba7cb4f9d6f686ff08797820d11070fe2030d16d0f2ee94f4f3a71a80a33fc67f99f6f44b4e280a06763250ea227263ecd3e8b8dd5ab98570ee5f3e4dee7e8d374a87566ed3345c7716be1d9bfe6904dc40dc0650de2d8969cc50992120a7d477f84f5480f2671caa58a23bb9d0cc717a51c8e696e6565117e4ee196aa3f138c03ff9c35e83721ac9382ccf9668183d0d2ecce01ed1d88bb080a9dda99f6f5aad2983fe1791e9e2a1cb446d065798e1001b688640ef12bbff22bbc258bf360f2ed5bb894c71449b1a2c4cb285386c771dfa2c1b3426731877f34fb1df85e2e21a6fe189d35e8d68e1e1cb229494f1af42203fc99cf7ce64ffff44fdf7cf34d7f9accfb34cd17c62099766f0376c6ca25557a464d6d6ccd5c58441bdada2e4ae22020cfda473656e2a3b536111b2b1110072ba89a560ae95b53af6bac4c70db6d04eee8dd8bd386146f1b9b93bdc530b4e874d9f298608d4884dd971ea327bf43494be8d433fa076c34fdf5f8238beee6213d798b137f7a1af279385de6d2e05dc6d1e7338bfc89268b18f760ce598f6ff8294f7668fc8d9520681bab72e3def2caafd5dd5438c57664eff02d1f9ee4e0bb4bf11ec081f8760d7a45e39600c6c1d7511831346de839d90bf5d0f85d9e52984428f1630f3d737d2ef896bcbefa8089aece383b6ad4d233fa2f763ba0ebf149918d4e0aedf6c619cb28cea507fec4273e41f373ead54420bb4c6491547476c73d3acf5947275b7c00fa936598a45c3e59affce25fe445e3b40b3caa101ca03f0d7ab4c922c6990137eabec507edeece016be2dcdc9b4efd198da169a8c60ea74bfc2739f87dbe74dee6d5c86611581bebe800c90e8dff64ac3890484476714efecc97ce534f0a4f303a4fc69f916da69751eec59f9e867c1e4e975919bccb38fa8dd5c6ea55cc2b356adfbd3caee3efebeee5dd8bedd92664e99abd5d5606a395549788689bcd943f789860f3e443ed43936a283e0da4c8d28fef724a7fb6f4f1070f497f7a92cd13c8fc4444b3c8373d3e0e3df0f460ba1cbe4b4361068fd0c2d38f2642967584d6e6fa887ae870f4e9d95889c6c66af2a1dc28df1e7265f3ea7ffe4fef1f1c6467a538c2ba1419b1eac88b46681de8ad2cf7124fe695d7086e8400924d4fb707c3a16700d1f2734eea6c91d20ce9bd55f06165ab3a43161e47bbd42be76c6f603cdc31445c4fc3d0089ed04f033e8bf4e489217ca3de4288467ff88b868949789c26fe9c7a456d119858e5899e7e86b4d6234e0d07c1443ea08783e9fec13d869b22a322f0acdace68af95f84c4373249e360a9baf1b126e78d302267af85a18e0a1116000666acac5796bbbb0947ba5cde4a160ee3e584c24896c39e373d202b8b11281bb8d9504d8761b81fb7af7d246a24cd8d2c4c21e6349205a1568fc76fdf82e8101c22346367eb2951eb43622748e9253274c430378947b10cc9f9c49e769f7562a5b273f25530a73602c66a8cb537f73a107d3a8cb93ce878d5571d858956fe5d249df615ef9e5ba5f8038e03ac23ab6d63bd45a772233fc62e526c1911a7f4277598312cc2fc55b83c906467750a6b6a37c276674b6288cefd25d842f6221e80193ae67de9e9f516e182da5fb56987b988b4eb0737649e983b1ebf4ef66c98ffbb554199db927ebef9e994bb610c5478fa3b014077c8478d29cd4d8726974e2803014736c0144532bceee34000633b660d0fa9938c24d8eafe4e1339d12bd9678e65c1a1dd313f0b475e926a77fe3c5ad4b9c47355bdbdf0af8ee83e543a93e8b6552117f927363b5b19a1cd8772f25c3a5bf97772f5317a664ccd320439ecc898b22a247db4431d1f39488145a8f1f1d3e5949163e0dd194c06846d369b4967efdbc2dc1cf1682c83c291cbb98e1937549d628fca9e79445a74daf26ea39564f3fafd02d0f7c0d7ee6580da51f33be3e185934597df31a591c6d7cc68fc63ced864f43b4293c8a6eac1e9e8e6fac5e95bc7242ed8ff94ae3f2b9e3af75741e797da6f88eb60eb521f5b76bd062f40371ef617a1bd0f1f7a2e7f140febd6ac5d8a20ddf799d337e1fcf90c61fabcfd00baec16eae98b6f6e927487f2dfdfa99637cf3e22d9f9dfec75b43f91c3e59c817a957604580067a4caa9e3fbc4257970a4251857499f5a6e0560a5249d1b3fe22f58a1271f31ec647402acdd4661711471f4d2d5a3b6325febeab26da3e65825bdb8bd2d6767178c135b8b1da583dab5e5570b63f237047ef5eec288ac86cea6d84138b29b561f0ed64610c0d517d8101c077893e6553785ab9888fece8440c86f8c8a6fc549851fd0c3dcb87ce19d942379798c4f14f4026eaf11b9dfef42d0c0e221fd2b3b12a6e1babfbcc2bcfc69c59f54eb772a0e37be7e0a1fbdd8b837e8be8396b50a5a2cd17b168b3cace037ab2fa39463b34bb57f1cac5ad8b433cebec4e6d210ecc96de506b16e1321aa19dd9eb2d040770bc8799b930d71d4284beef9bd1ec77fc3cf437b8fc1136df404b211f9a787efec66ffcc6e912a98b0f67daa0d513c114014ed240d519cc4c8ca122e0a5078220915c1dd8692b434fd62b2634e03ecde69effd163713e11a354b9ed117f13c487d466b288b924ce7a73bf0dbe5148fd0cb98cbef06f63c54a4ce2f49f009c69593ffbd3b760a7adf43c192b8ec1b3a57f969f86b29595b135f8643756e2a06dac4a0ca1d8bc1284d67e6b5029dedfbd3c2c92ef6f3ff9a94f7deafb39efee559bc169e3e4a0bb8c7891dee71a6c885b293bebeffcceefd8602c0f300708fb1c985ddf1332d519e1b8601b0e63b4a789764143b6f3b61c7516df5e056c9fa3ea946d8bc50f4350a31f9e5de6dc55a373af27af002ee9c797a6ccd19c4e7cfe08543be2d0e367f8d9eaa8a2677c70fe4053981e04c7688bdfd0e8c4a70d2071fe6fac36566d219b572fb206bd82d0dc3f58417e0462398b9e3262cbd1fae360fa8ac68bac41485f00b30c5b92b4293e9a758aee0d894b18370c1a7cc5cd4aff11eb1587f95f05708b2201e8e433bb99362f7723680e38e8eb615c9aa0bf72a615015ea1e9a14483a4e7c5eb15b51452cb1916c5c10419426854a993001a135e7a18521bddf0e02b7a2e7f88dace4f821416013d43b4a55326a08df67143fa8a9a6982f95c383c757e6af8d67651d2761fdc33c39eaf142e85fa87385fa92d6abe5aa4f90bfb117a15a91ef1918f7c447552603ffde94fab4b169da1c7c5f744770e0d1da1ff21da7842f642cf25e29d6d77f4ee4558ed2ec227156c363698b6d2615e228b1fd20e0a6f94481c34a6bec3447d9761d0c4d39f2d1cb231d189071b7ecc8b3fb90179da42e39cfe8cddd18998960fe30ffec88e60760df1473f6e9cb2c31ccd1139391e628e7ef4c6ea0cd7c64a345a4792e4755d831e6db48ee6a3b779cf7c2febf7f96bd09e274a30763e7b18cd74b649d8ae6a38ef465e514e2d5bec36119736439e743f935dfd4c363770a61a58fe97f91a9d29a761c45d6af067ac58740303330f776018d2f3907bf9e912e6940d73519e6cc8277dab5e3541163b375c4cfb44b8c4964f8775dad8c2a43cf1b1123fe6c51f97f9464f9ed4932d3ef84323b411e9527fcef7c4c74f7f7681cf4bf4297bf16df46711f249df9ad78ccee57cbec45be3d9ca8798e8f088ac0c384e60bd160071da42e36cac04471cfa70375622f09ae595473f1e2a29836add1ffdd11fe96b668ad02b41bffffbbf6f6b80fcc33ffcc3dffddddf950cf0fa4b53af700c45448709afbf6dacc47ccbf0e3e5d0f90030fec4a91f26e29d6d77f4bb972aa3cfa9a5de4e239a086f4262aa869e121562c8e8caaecd0cbf7219ed52ddc4b154f45a821174c68741b3829fd1a4588c93693a5d6a94c02302a0c72e7f92d59f3e64175e83c90a0de814a63318afc8e64f7c520de5e7a39a872d6763b5b19218e5c3e6554be905d7a0c3ae1dc51d8b5ff6ebd1adb516dabf29afdc2a6894589208fb939fb6d3ef7341d39fce77a35e29142ce6395a7de006d3b6499702524cdeed7ac528439e598a80b9e715c7cc1d1f2114ef78bdb2bbb3abd20a72a69930d3ec1ac517736f57f0b9a117a8adeda584504488d8ee83a22169f55a19524c3656022208739e29201babc262af79c8986dcf88c0bdbc7b79e38d37dc0856328402a16fcfb372ce637a43ad22340ca49d29ba2deac21f55c3a710b3658970896e345bc309133e5b83e7d8d8c51cfea90720ff8d361da3d1e163a2931a7cfc644fdfd0c0e1a347e1290b906f8881e57ffc8bdd13df50fee037774a38d325bad18dd5c66af264f3aa6468cda2cf35b56b509e4c10446663b5b5bd34684f291fd0d593732f1bfadc77caa5f09b5753733656f2e7e5e795a745fbee45d82fed5edebd7437af84493eb47a5449427723212e1d8f0ad0dcfd63f6f4886ce76c2b992cda50604330f888f42034b6f0c31875273db668c031a4a7c7257cb66046960643f181e3c749edcccbd0e9c3d8250b430f00cde1693869a3e75dfee8c447036bcca1c77f6a8d9e3ea0f3736ce1981d595286025ffcc4c7d1488dcf1bab8d9508948788cdabc725b86bf0adb7df6ac5d6abd6853532f5b6f552bd1d7a63552d5543365685a2dc68dbdd3383f5d2fe22389d43e2bc0763954bdb4f04eee5ddcb1ffcc11fcc97f04c5e9a3a52d74b561c55bea060228cea0dc5c794e2c14e3a407d7c27ef64d3a63ff91759a383bfd8ca2e2600189dcfa29fa51f3f413d59fd3947d37119263afdd1c0d36036561bab33ffe5c62c10f4e6d5aec172e05935eae46fac3656e540a5a3bd69f7c1d97011cf5a231babc99309d73dc4ca9754f7ddcb7ce243dccbbb9726dc133b25c0510c3d07b2462d0384a711f1c13ca58889334f2c4eda3e04d66e14bfdb0c4c2d591cb2e98c866f6874b2fba42dc8fc818fa6616852aca4b9298c6ff1c96688ecd8c2b93c71e906498f0f99aa8d95406dac36af760d8a80852013a68644c79c9ae37263b5b12a1f761f3cd7c549cb10bbb3de22da58ddd6908d95c4282c9dfd5c6e7b3202f7f2eec5ef5efaab350ac7dcbe4b916e06f4a253c6c4716915b515214624d8e02f84d1f48f6cdaa6af6c3114608c9ef8c18c0fa9d557f2020c73f8886963021833ffa35d4e011d552378c1cfc437561b2b49b279b56b501a6cbd3aeb6174f56116488b6563d51e3a3be0c66acf0c72e05c178ac91c335a35971095338634ab0cf8ac3f8dbede79e5b1d1be7b2901cefe5edebdf8f8657ccba6371296018e370c960a5a50f02734688bc4a5d179e208d61b89d183a381e123f05b5aa327fd2dad640db14b677897632b7f3a1ea1f12bfd30f0342732fee00cdf10fd0c6968e2e1f5398319119fe6fcc1af19259b2de2d17c1885cd0518063f6dd159d9586dac36afe4c0a4c1ae41a1d87aa5486e6db73b4806fdee83eda1e280101355427acc7eda3ebbb172c69893c99dc76a7263893302f7f2eec5ef5eda44bb3710822a884bc41cbe631ac5573e10ca4a22c12ac145101d51a1a9077bbeceea54980ce94fbb2e334d7f46f3e1c46465ac2372e6829f79a5f3d46328fdcd0ee0228b730e7519069d2c4203db586dace48664d8bcbaaca35d83968698cc0299e2265b3656674dae966eac8a837e52e5922786b4cdab89036263251f04e1b53c5fedef5e4af54b7f2fef5e943f33770323bfb52e8b85e3456f122a916780666b21d2cd8f514c787d7a3c154093d5a3477c3016d5298bee40133f4f70c2a4337fd030d41a8d86c161423f4f23dc480c1e121ea0b9e01b25ab85c1cfeedcbae4736e642b9aad04bb6c5ef48f1ef44c164196666052cd2526bc214c431bab22b6b12a1f267f36af84a285b66bb0b2337566eb95dc1093aded22200ee5835e58f4bb0f564b5b2fc5a71ab2b1720ea9a8ca9cce24af6eac66af5c6222702fef5ecedfbd98bc6cee586f9dbbac1422e47ab42c773998c1c70c19335a7f2a69a895137f3443a6bc23accbb3ddc2f8004064f043a7c7e8dc8a241e60dc1bfde1538839b610c0a3bfcb7482a5279d2ecf696eac36565262f34a10760d9e6950b998fa506d09b0b1ba2c998dd5ec2922539bbdc9e5e6d50461f6e8b7c2f4f8bf8d9530dc06e1758a955baffdddcb99f3d1f7f2eec5c72f9bab837317eec0819ed2e9298e937a2ba137069684cb64d1f0f831f1290c4c6a741a0dcf567c4422bde520a2d16374f8301afee841d33f267ab2020f36747a7885a08dfee6d2bcc80213e9e954b6f27f6c2134b2e944838dffa73f1babc7506dacde5a479b5756c7aca95d83a2f158aede2a8953a3ac9aa161d01bab8d9508d4e4c3ee83e79e2b1af6df366221da3383e01413d1b89c4fee27566fad96fddff747e05edebdccef5e64bcedb32561bb75dcbfd0e2d33d00fed0082b47ffa46cfb3140371bc403a73fd9c1208c4ecf4a3e4c0fafc5bfe84c89d15b7e3acfb9a4449f3f644f5b830708a307888ed85815b18d95384886c9e7c99389cc64ef701eb2ea66296d5e9551f51b2b71d8bc9afadc929115e73e72ee141bab8dd5651faf92943953552ef9b37955645edd58edef5ecae14b7f2fef5e4c5be19b371be8f3a94fab1dc6f60023cb274cf6120da727886843d12d0634029f92f40328312e691b598486e9698a9e48344fb285337834663d9df8d1e75b94f8a3131ead1f3fbb4c368b19c2c90700f4e87789ce9f8dd5c6aafcdcbc12815923e85d832d8dad570aa620a8b708adf552a58ddedabefbe0a57e4a1859b167866a48c1b1765a471b2b11503a0a4e673391e972fbdb08dccbbb97f9dd8b10544122f4b2a4e71908a9a3b800c4bc60ba1cfcc85a7e682d3d8830f871e83ce932b2bd2d5bc9a68788cb9c3c7bccf8e31b3c87c79f27f9d91deb2919d3118d36946fa32a07b2ab3f6d6dac36569b5722b06bb0faa0986cbdaa264c8155300547499727111babd9133756a5c4b98f4c45954227bdb1bae758797cb6bf7b910097762fef5e7cfc154df347ab0bda6c2d95064f442a19fa793a824e163e598795f0f8e8020a8f86091f46ef492d007e348b239b429c64c160d0f15d42e6a13e3de36718f8a4ba3c65f976da850c139f1e0d1d01d913659899af217c184c2d4f26866c41e2ebd1c0d1f0b355a3d91d3d794b277cfe6cac36569b57bb06ab337a354465508baa0fc32f445baf046462b2b19afdae9d657266f81b2b1168ff9d986cac2c9c8755f44a9daf7278fb4b04eee5dd4bbf7b7154725e2c711d9d2decfa0bbf18b53da061f45d860f109f92c42b13e103c74767d4d080a3f527267fc690d1b325abfa5cec9e7874222c9eb64e0c40b08ece149efe0f1d019c57d35ff8994b3f7a635586d46facca4389b179b56bb01c38e35021921e5baf04676bbb7c2813d4cf334fda65ea771f9c75b4b1128172e6cc0d4c97f244ff7ac46a7ff7d2e77be9efe5dd4b25cf1308445b661c74db06a274af17267b89a77d1d438dbac4348a831fed321ae0e44f94f1d1f30606dd53107c764796f2f3edcaf0c17a2b42303ff5e9c42195b7e17134fae3438e2d7c98110ce3d23a4ff6d4834e1691481c743e20c2d753ce223d1b2ba1d8586d5eed1ab410aa15fa6a4855a28ab1f54a4cb4aded822043ca07f4ee83968938e8f7cca05668931bf77cbe920fdb6e23702fef5e3ef9c94ffec44ffc44cf2a944b81882e221dbbd186f02ba3988d564de2c7b9c802e034a41f3cdaf2d3531553758e469c7cf493faf3c728f164d174e65bcac3a01161020c6cdc1bcea924e57aedd6073ae3937d843ccc253abba763004df356cfc88e337106ef32b51bab8d55f933092f209327113830674e6e5e55133656b7b9b1f5aa985cd6ced67661911b9785b3b1128129a7677c4efacca59386d9bc7ac7f3eabbdffdeefeee45542fed5edebd781a3ac79da195ad790a68c9a11d982c45bd30212c45cd65b288f3a96aa10ce049c9e0c3744927cd61f013a10dbf633a9d1a3e8c3edfc8a2f3a721fc29b2f8c0e1d100e10703c99ff086f0073f4ffbc224cb9f7c0046e443fa8786cf16918d5571db586d5ec9845d835bafd44999a06d6d970c9505315121bbb446761f148192447c4466cf0ce58950ecf9eaf9e7abd266fb4b04eee5dd8bdfbdb87f6d914814cb4629b16c863634a1318aef12a1472bc10398d1f086d283c009167e90238ec3eea81a3e8292d356b2faac5c7cc02492b988a1291fb5632e4e7d9a4f3a0e0d177cfc981bab89c6e4461fe525929b573270635556dcaea9335b4eba88dde227929b579b575bdb771f9cc282d833437bf1c444b57c2dcf57fbbb173be36dfbc94f7dea53b7dc778ff3bdef7defa2fce4a0bb8c7891de3d49b0216ea5befef5afffdeeffddefbdfff7e4f3b7eeee77eae14f764289a3ffff22fff5259fcf6b7bffdcffffccff1bff39defe42a82727c0be37def7b9f6fa0fdd33ffd133c3de8d103931efc9ffaa99fca4acea832946834c0eb194a96098e8191fd999ff919fc6ce5032ba460f4b62e76a35d826505518bc94f7ac038e089170c9f9b178b1a8e38e831c1e03980ef12fe11f2f015bb8dd50f1dab0f7ce003822fb68ace4ffff44fabad022bcef1fb40fb1c0d4dfc99fbd6b7be054f162d4fc2c3a4a78caaef13bfe495cfb14f90ac8c7209465616e1672b9d675e490f76e139a681c94f5610b598b779c5c9e685d048955798e5952cc277a93d42decaab7c682d446fac3656524e9ea84be58c7c2b6736af2cc35d832250cd7cefd42b55d447d3deba67863d3354afde8df395ddd9c120fd5ffef29723f456443de2231ff9089823c1a73ffde95ffee55feea4aa7fb2911afed011fa1fa28d27642ff45c22ded97677ef5e2ee1b365e228434304b8bd0c632bb54a61942d04d84516e7c440861f91d14f307a7a3a255fe2e91f2b9886880c271a9378aa1247e7fcf011f989483ccee9e79376c1ce96dad19f5180e107ce96fed4ff3ac5ca7675fb199d813a63721b1ca367e88ae7eb1aabcdabcb67edd3df35584cb65e5515adfdaded67fd2c316e6b6c7bca2b142b8f115fe37d706bfb4babed9e42eeef5ece12117d2fef5e7ee7777ec7bda6fb42bd27c4d24e8944f7e4bbe73a9efc098a27d686bc09e98d447874187c187a2cdd9e46f70683ac6a9b094fbed363083ebe2a26057320fd7cc0a4969e30a90a967ef7f1a35329ecde3a9ff381dd7ca3279f11b4ddfa0f9f78042bf9c6282b74e293c58f76d9dcef2a56dffce637bbdb1487f938fa8c3a6a88769faf0fc8e7185d4a90f5800458e8f0e161c4dca7ac7769c89b90f4c3642b0c3e0c3d8c9215739f6cb2e5a1216fded263083ebe0f911b39907e3e60524b4f9854054bbf0ce1403ad96ab2f99c0f7cce7f7af21941dbadfff067ac58c9374659a11380ecc6aacf7d63b579b56b504d507feea45ed94fadfacae059db55481575f677009772a37d197fcf0c7d1b4564da4dee36566ae6be7b910697765fef5e9ca2ccdf714daf34385d75a470e97485c61c00ce894f24d986d0e14f3d38f86923a20d387a2c268b397aa2934d8f9e726e8439691c78edd49fd4f0d93a3db9e55f7ca01f26a973eeb9319e8f87c0b9910f7389184fc6bd6cbd6763a532da4df5ee10b4f69b667aceb7391610f47dc66af3aaf5b86b500466751493b3469df4c66a63d546a66c963308ad7d0151fe3cf21ee8d73baf1c467bb4e42eced1dc31fd8c097a6335f9f09e3d33bcb47dd003c17df7526538fbf79f17af31ad1c389b2a133ffff33fdf34d196075af51c3e8e37339808e5037f7e1b8356710c51e5090a9a6078ab0bd3103e3c425acf01d725597d3ac300c44f270de9c46417cdcfca7a7cfab3957e307e921d3fd3afcfabfc81193df9df79221fc67f7a4effd1cdfd7e62e576c59b900f7ef083cac437bef10da92292db36021b818dc0466023f06e44c05efce10f7fb883a90d68cf0c9d851c3f3af3ccf964cf57ef46fabd063aefe5ddcb1b6fbce12187b3be25d1097e689fe2148e6e2aac9f38301de561d07dde2d2abd4baa46363df0881e9c8471996c6a5d9eb25d0ec0653e9cfc11099603989736fcd32efa9c2f917c3e6513bcb8c7d6459620a9996f7e26351a4c1c263f11f1f5e8f772acbc69e19e57fcbe9df595cffff997fefa2f39fc92db77ffc7ff78df638e0df1921d58731b818dc0466023f07222f0d1dffedf7ff57ffb3f7ee9977e89399ba99db43d37ebeda1974d79f6ee36564880c4931abecbb6ddf49cfc90177c60cc7c60e83cc38cdd914de1c5bd5b5982445ecb33c3cb8cd5be7b99c43b897b79f7e2cdc32ffcc22f586c96d3dcd90b446f212a01966b2b16df5b8bdebab4fc0a1958004b373d339a4e3080de72540ea2f15dcedb0f8bbc373cad6a7c7ad0dabc51610b9fa0a174f20713063387c39f6f48c2a71f1f2cf11c40f3d368e2e3f3e02b49ec8e6c98e682ce07dab8a41144bfd2b1f2bca7b72ebe70ec6b6326f5c5373f67522fbff9db79ffeef1a72f43bc7c1fd6e2466023b011d808bc8408d8683ef4b14fd877bc78f1b6df97c7fce2a52f92f51662cf0c4e2c7d107356b141778eea4c120df37ac76ae2f012d2f21532712fef5efaf75ea4be3c70e8eff83ee76f97735770327d90f11183e9d3b55ae636603098e91f02383a5568c46052454f7c97438f9fe3b3d1dcbef88f0993ec4967b7e92438741af4d9ed26247c7349cff84079b2f97062924d7ffc1383d66806bb60c6dc102119458c6fef5eac6c18c5cd56d11f2af0844395fcfffedfffe7c1e997dee695cb102fdd8535b811d8086c0436022f2902ffe7fff57f7b20f8b33ffbb3f6209b913f9fd31eea50fed2f6c1f67a13eeecc1ee9c133087e618e4eccbf77966f871c56adfbd3cb920efe5dd8b23b2d2d06a2c10f356c1728d6edd2a1c2d6330b4e262018741b786e3741c4f3611785215a0e11bea8d0aa974d28618bbe8b1387ca3e9c721986ca371f20dada17b5ac334bbf336261fc64ffe8b033c3e1a3fbb88f48707c8c3311abfdb8c6800a3ec8ee7f983d9bcdecbb192097dcfd85cc40aada13df73277b4fee5b7472f1e4c0ff1f27d588b1b818dc0466023f0d2226057f5f3fd0e27edadb654bbb93303a22dd8deda8edcdeda5e3f3b2f57e3ebf7ccf0bac6eaa525e42b64e85eee5e2c6c277b6d96b7636b4779cce82a057a8ef5d1640d4527ae70f88c3bcdc7ef234763c210a9b8848f9f0ff8985a3ae1b5f0f1f32700b56791caae21fcec92c51cbbf1736630cd3a7cd6d3c968e27ae07c40d04f24a954a51f8d19fdeac6cadfee30df89a14975bbe227fb5edcbbfceef71efebae5cb6f0f761f4d0ff1f27d588b1b818dc0466023f0d222e0319f0dc87ee41ec697c7cebd09dddb98766d983d33149fce2a9758613a9fbc96b1f2eee5a525e42b64e87daf90af3f8aab9e6ac875cdfa47538596ee880eb2e8eedaf1317bf2111d3e18712d3a7fc28c368b0720b5e8911d1a12003febd90d1f3fe5d6217fe2eb4fdf92050b43a1965d1cb421fe278b83ce257d340cbb171f8c661aff41e3db7ed283cedb00f9acc737fa0ac5cafd099f6f63d5fef1f6bb97879f9fec7f1b818dc0466023b01178f72260f7f40763dca2f8f54bfbf59c136cb5687f45a6fdb7b341bb70fb6ff8f8edcb7b66785d63655edb6e23702fef5ebc317003a01c541404c2528fee088e0333014257115487f89d7abb3dc044a48d884b3440041a33b5e9c956f4f810c0d060b2858f993f7cc08cd6e31b0d8fafa171ba91c807300d5f9f89302e01b4938fd6d283c87478c8d72c56bd7579325622609fe813af7f0ccc4bedbefbbffe9747704c0ef152cdafb18dc0466023b01178b911b0e7ba7bf165309b7bf730f65f7b904b3ddaef33672f6e43373498390360723c3e66b41e9fd4f007ffe43e089f09f8888713c31d9f198ac38f3d56fbee4566deb67b79f762e65270de42a80b43e37bdbd082071bdab2ef86c732d6d07a801633a212838faea131d1e1e974a9cf567843151a30b602c3e0f3c425fdf0d91a1fc8e2e0c3a487adf0e92185afc7cf2e3e9a86f864539266a35a3a23d0e33fcdf96c88d4d0f8131f43438f9f94a4470ff01e891567bc97e78fc6e73356368cfe759762f508f1e393fd6f23b011d8086c043602ef6a041ef6e8fe65e4be17f0e499c190bf87f9b837ed99e11ecf577df4db5f22702fef5e1cc11d52bb937696750a478b05be9337ba933dcef0d591f8c0d1c58e78c7df6e0c067fca020c061f7d91a5f011f2163f001fb4b1353422f16c716030cd853802267e80e68589d0930d83cedcc866e8c48c9e3033c7573156ee4f266e3eca3356bd8d3159f736681b8920fcafefdaae7e0cedbbfe52f2a3e9217e0c4eacc98dc0466023b011785911b0efb833b105db98fcf13144fb757b342f6cc1e8f6683f8c197e047e43b347b777633683d9fbe2a7f0b20fc2b002b06786e2f35e8b551fe5f69708dccbddcb3c7137ff0ea912d4fad76b9868182f703baf63e244e3b7bcad79b49fd9c103844f9c4e7cf8f487470f26d9fe5a48181cc54295218bcea2b71ce9a72a9dd5a68b7e7a864f9b36be8dff880a1c9df00021ebb33b9c537f3e0318c5d7e79b5e73f90ac54a109e15ab0f7ce003c5ca1c11b6907ebe5f3f91796904bb991ee2a5995e431b818dc0466023f0f22360eb61d4eb17fb54b4fdd70e6bab6d4fc7cf2bfb148e076deddd6818c83d333c2b56afcdf9eae5a7e52b61f15eee5edc4ef84d76a7d5cef4558ae84eea73cbe1938b8fe86944008b040673f0084c1cfc98d1291fba4273c1c06ba77e97f98049840fe939e9d1d98a0d133dfa5d8eff34e093a29c9ed633267af0f910139d6c9743d3104dcff880d0c6567a02f061ecc2640b73e807c9ef7f230493d164d31306ad9dfa5d86c73ce373d2a39fc2e1a37bd34203804bfeebbda2e956adf7f8865e727bb0ebbfc79d2ce2253bb0e636021b818dc046e02547c0e3aabe05f0ffb3f76fed9a3d7755ff0f224136898108210462e20e34eeb75194033df0c0679213af8be7c1f301fc5f2aee8d7b05258a2289401008014c809f68feafb5dedde35b99f7eabe0289a4bfdd771d548f1a353ea33eb3ee3967d59cf75aabfbf1b0dfb175f0dc03b40e76e0566139c096481a2b2cd0d28c6fdd6c2d8e84b74f689d15ab4bfddaec19beb27375ffbd97cecc4bfda63cbdb896fa5f6c77fcb6aa2eadae31d81b0e4de7a8371feaf169d4bbbc75d1ef32ce10292abe58fcfcf76d06134597bab17cd3025336aeae46c7b84da8bd598949bf373199a4ef6d4d4cc7020b6fac720bbbd1e8aa94e7f48d357ffc73e1c337307a4fbd66f9941be534ba3a22a410fc576aaefa23fa1d45872f5bbf9ddfad192337c76bf1305770caafd00f8ef94bcd8fbf6ee3e9e539289f7b7d9f81fb0cdc67e03e03afe50c58777a74e93733b7cebe68cf60fdf2c7fd5b61ef7b86f6242f9a2bfc6bb3bf7a2d4ffe2ff1a0de94a717d364e7ead6f0a237072e0385605bdbf4c8a6b8db8aba92cfb6e9698a85696298ac59485db0d8b6f5349ab0b13c5de499406c9e3d75a4d735ffe50c3456fa78510013205cb37003ed1831ba161b6fa062f17a914c526a02e94f1f7a258dba924fc795405d6ce2c8f217a259c8b0587a248dba7c2493270698271eb624e0954c3072f6ac526c63d1e0bdd8b072e822d0fcfcff7d38eadff962dc861ef89dcfe13ee27d06ee33709f81fb0cfc8ecd804791c6b24ef5d3cb5fde75b075f3b20e1aeb5c076139b4a6b74fd004c22d8b2da3d659e9c189d58b8d3750b1f36792be90f4a7cf0e3f01b1924feb7b0275b10041e41b32579b813b3867e04d797af186a337f1aea57e0fa459e8e93c4cd3c5d05618e972c2d0c080b258b8589719bdd8db6f2dd2c4a771f97559169b7fc349cc28fcd3a47795d2e0f97b8b40a3d0f4bb31f14621de5879762cf81c90409a6e01d2a0e92e80bff564de583baeb7d15cf99d96c7a9fa82b932099e523657ce87cd9583851da93fedf095f9bf2a7de52289c732f09cb8ff7b9f81fb0cdc67e03e03afe10c58851d951f1bb636797a698d6e5d6e0ff0e49ec1cf39fb59126b9cd8fb9ec124bc64ae7411bcdde7ca21dccb6506de94a717b7807e9fc126b5ed7b3bd76e133d51749be82caf6eb2e2bb06608178cd7898c9e90367a82b3db753af399fc2d5cb277f77b13c8134f83387f87ce0f90361fa32a996527c4048f94ba67c8ca22b5cfe1c68cedcd2a8170b0b5157e20da409772c1b17291905680838303db7535f3ef914aed694bfd8f8301e48e34f4c9e39e0fd7858f9c0bafa6606087b30e3f6d9cf7e56f8fffd3f5f99c78787711f871e90ccbddc67e03e03f719b8cfc0eb3a031e5a5abff634d23a755907c9b69e9a0aabd5f97bbc2f5a07f11638faad7d27d685b7fe3eac828f98be15b9baae69e419969b0273a309b78e7388073aae348d9b1816a2aecc5f131608944f9e9251906b06a6e776eacb271f9a62974ffc7203d2e099cc33be7ce0f903617ace32a906e203423a2ec9940f675d614093034d80fe3cc6c5ea1572ffbd17f3705bde94a717278a77edde52f44d82b3a76f1e3ad5e04e23274adf42d09b2c7cdf72382f61b1f4ceb37deb92be538d46885e757a3c1f4c9e9db262c7b7694eb3cf26ff35596136ae1ccaad1c60277dc745231f7c9af1c8e59f9e86e77ce8358d885f6e6fdfb9f2fd4973b8b9f2b3c23ec7cd95336173d53730e6eae77ffee79bf39ffed4cf6df27fc7c12f3f1f71e03971fff73e03f719b8cfc07d065eaf19b0345ba71c136093faee77bfdb3a65fdfacc673ee387cace3d831d48eb9ad52acd66227ecdfb9ea1f9b19f796de66a1fee1d6c06beda3be935be5c609e81b3ee0b10cc0ae6c435d5b7c5958c549fe0e1477d1e49a0aeb3aeebc77eecc73efad18fdaa7dac73b4667b6da69ddf16a768a9f2413b7806952aac7039a2f327437a96bfa1c341792793e8d556294baa6d4bcf098f4672cdc3d8b3fbd04c8c240f99cfad3339ce6c41b7af3a0174e33b2a1d7145519dfb83b70bd13b3faf2ce956f5d1add103b5ecbc3053757bea99780c4349d2a1ed8c83efce10f7bade59ccce78bc4c485d017a8b9d893d4bb66ca627ffde31ffffaeff91e5181c8537cfa9f38659e0dbad8c2130f6ff40b4f30cdff53ccfcc9fc6fc9f22999d5930d3c69b8d85396f23e579b9ccbd4dde7cab9714ec289ef7365062a9b9601fc892fcddbaefb35688aec4cfc1f2f2d5540abb695a8f59dc02c59925a3a3dbdb46e6e2dd344922999a4d46c8d1e0fe479c6c2ad83a25a88c9c2c09bb36778f5e7caa7eca7456c579c0f1ffbd8c7d4151f13a0767d7de4231f71e67800fe811ff8017b189f23bdfa527c8987d11508a749afbe2d46897c36f06373b81c08964f4cf548e0cb5b9efd07ae5f5ed357d0cdc7ef1392982b16766576cadab076d9ebc2eb5574796ac7000acd70df5a687283d39fb1183e173d936cdd2c161289d91b827cba85c18d4b0faf9cfa1313346e4a9e1d2fb7f87c84cc7f7c37417a9af4afd35cf50d4c73b56f631c7b0baae9f2cd4cc7eb7a6ef6d655531da37641ae8eef12452a53ba8fa48ca9b77a0ccd70b19ab76e4fc6a65fd77c2ee0cc415765e33e279efdcbedd49f78ca343597c37a2f7c0ea70f4c53da01f5973257592d93352fcc063df99181334f4ce53e574da9d938c17daeced9b8e0fb5c3521ea4dc58bf0048137edbc72d4ed075a8f1e761bbffeebd623ab30a0ab1f814e630e236fd7fdade9f73d437365625fb3b97244f7729981b7de315f3abe9466b72a0ebb670d6f37a0ab82790e3f0fd70c5c6ae725a6b373e08bfceee5fbbffffbdd199dd032b15957c3aef9b6ec9aed5f6f79770afa028b9540a4a6a2a9163ec347fa81cf333e8d7ab27c30f32f9f34f133d154165b73bd59f109ecb87650298577ecc2632e357e21c49ae9372efd45b3b1f0afc25c399764a29473ef03343b52bd805f79dc5c79627162583cf042ac16fbee05ffe8f4701ab7ac9eb5ae53b06609a41c095cf8ba22c3bff6e33ffe7bbefbbb05027d09736aceb1c267ec17e37fd1ccf0e4e19ae710f03916bcd8f08b98f5f23c43d624080f682a6b0630b739443ea86ff4e758e1d3e7568fb9f85f34333c79b8e639c4c5c7b88b0dbf88592fcf33644d82f080a6b26600739b43e483fa467f8e153e7d6ef5988bff4533c393876b9e435c7c8cbbd8f08b98f5f23c43d624080f682a6b0630b739443ea86ff4e758e1d3e7568fb9f85f34333c79b8e639c4c5c7b88b0dbf88592fcf33644d82f080a6b26600739b43e483fa467f8e153e7d6ef5988bff4533c393876b9e435c7c8cbbd8f08b98f5f23c43d624080f682a6b0630b739443ea80ffd8ffee88f7aa1e65b173f18622512de1bb4162f269663f5b9fedaf070b07e2181db9f2869a57b18e6b12cb6e67a81d6ebc0d6f16d00520a7fedf70ccf66eaf99ee132037abfe273e51b95fb772ffb9806de94ef5e3a056d525da52e480576f502ba7c53a1869da600be4b174f8fa96ecbabd9669746c86269c2049dee0151e38bcd5f5d3e48b130a094120670219555632548936c39743bcbb328b53731640a1ede6d08d65b92f5aad9920574959ba602af6bc74b5308c00ddf2c557f45e6cab387641439dfce95fb3e5e9e9b2bcde6ca438e39d947e0d978ab57b865e9acf9af7982e15b41ccb9b095e418b10b1f98cf052c2a9327f59790298b7d18ecb1c427460cc01b6518634e1ee31e945fd9b92a0d7539afbe801d057e5d67d4c94f10b8cfd526a419bbcfd566e07e5eed023cafa69d2727b8cfd59373d59f8ad165d9b2c806ac50db33605a7f13b42e3b03db33e8855befee7b0653f192b9eab27d3bce5599dfebcb0cbc29bfb5efcab779ddafa49b85b6b06db5f104b0bdac02ab69d2038ff403333e8ddb4db1b94d9fbf5a71b5a4e9b281e3d5a2f88c07f89706bede9cd50d9d5853f899c33ccb8189dec602962793f8c87c78360f9af8bae6539ed3e0095ec1b9f2f9ca5f9eeae6cac38c3c3b46bd48f3d0fff1e2a0dcf73b46afbb3a37e89b5e0f337a5b6ec3f49a45a9957a5b3ca6c13f89171b48d3108f66cfcc6f631be5e47310257c3e8d9bd52d5f927a73bbd48b5a3e817cea552f87f1c0f84b9e259980a6de539fed3ce793584d9cc98eb1e6047956a73931d99400b7f968c20fdd4ff1979ccf51e0452dbd40fef5aa1b6bfe81f1973cb3bd8c5b733e8b054ebcd8c08eb12665407de679c18f96cf94b0def93456825b1eb3d8796eac45d5a5390dff7ad53b46bdf1c0f8dca6e97012d0d47beab39d7e3e89d5c499a45973823cabd39c986c4a40f87c34e187eea7f892d475fa0f3f063db829c81c366ebdeac6aab7b1e8c74f1f399fc2eb3df5f1f39c0fb0d8409ae536419ed5694e9c7f0eb0f0f968c2096ef992d47bfa0f2f6af904f2a957dd58c07860fc25cf924c4053efa9472af33cf162033bc69a940135c3ea34f1fd39194baa65c81ffaa727b30cb5ceb61e59b312ebb59c796114dffa655d6b3966a2b79a60eb60e2d641bdad8362b955f261a2371e7813f60c6fa3b97afe59ddff7d6b06de5a45dee25e47d437034e5697686f353a71f786c341bb5c910ae0820fc7d784bda1c7036e01dd20d2e39175eded08c1c6e2198fac70c81cbfd87c08e8e18db271cb7f39e0bbe908c95f97fb94717714cbc1283903cac69d1e298a3ecfd76faeac10e6a7f9ef187d71ef78fd2c994717abc2e3c43cac1f40f58569f9899ce6d4c3174db26980f0c96fe856a939c4a7bf8d3a79b892c325b7d307ce5f0d8b224e1f8e1f13a92eea968f51576ef5175ef3459abad60b844f7e39ef28d29cc7781b15b31a5038dce676fac01b65e39ec9e89d3ecf7a8b9a52577835305c26692efc4b3475cd19089ffc72de51a459cef33fa3d2ac06140e34c9569f3ef046d9b82985037aa77fb47c3627454d99f8ac75d55b3dfd23fdd6b9f4124d5df3dce827bf9c7714e997f3fccfa8798ec470d08c597dfac01b65e3a6cc50eff498487551538edf28c0f0a9bff02fd1d43567207cf2cb7947916639cfff8c4ab31a5038d0245b7dfac01b65e3a6140ee89dfed1f2ed745e75449624eb91e401eb11609d6a05c7b760a9ef7b061f77fb1ca0b9029aabf8d772ae1ce3bddccec09bf2f4e28d827b81e377fdc3dd059cf4e1ce7e9b781a5dee17617aa0a22b3d127091e0d5cd696f2cd26f2ccd5bfeb9df177ceb829c4f799eb18d8b379c3a4f78f9c899c393e3e6e38868c4927537d4cc07d8580cc3e590264163c1403e6acd5776ae3c8dc8b06384cfb9f2c4d25cb5f89ddfc6387ca505b59a06f0b66c7cb8d8705df042c2694eb7707ab826d93c0ba926bbf8632ab77c6e6ab18597c345afb958b2f0f47a1f829ff3794e7fc60e7708d50281f431b7fe02d32c8406165bd7a5ae49a0c0cb0d50906abcb23c91c34ff20f5e8fe5d1e321bc1c1e5c0e9f1353e6d970c3e3337c72dcf9d0c0d50281f431f39c3e317e21e172883cebf498c8e5062848358dd2580072f849fec1ebb13c7adce7eaad1573f3667ac2cf66ea7e0ddecfabc753c105e5aae9dce8f2415fae41cdd66e6fd0d2b7668d6fb5b5669159c5acfbba6834e995d6b2e140eb9dd8fb9ee13598ab3ed37b7d9981b7eec5978ed7ace91ab6cff656a34d7f5b70d736e048818e773b7b32778704dd329215c84793460d173541b1ab372e014fbc02dbfaf7ed07ac94832e9ade22342eacebe4e1c4a527b66f66e8cb19031b57ac51e8d5fb96a671914ab161b13baee5cc4731d0c60244291d75fe8d9b38dbf4ea790af9cace951f0f93c3e6ca7ad0b1487b73456081d99bbc161bab85a2abf764f016a1f887eee7854cd10aacc614a54e504482f467d485493c87f506e24fbc71e79fe632b490935f5456e7f1ce278765f2959dabf23ceb1de0325c6f20fec43bea1de339279489d527bfa87aef73f5304d8fa58fe03e573b43eee795f3a2b32270bf069b0db535c8c264d1b486567bd7b6f597c03ad5020db7760395d6afa2ee7b0673d21c9a10f8759aab679ff7fd9f2f9c8137e5e9a5edb5a770f705a7b549c0a85dff5dfc9a6dd303f5aa091451b03acca76944c20c75299a99b382d3607afa476e5c836ac677b1e54fa09967e130e7f191eafc1fb37bf886014883e75c1a78b8709880ac717318d61ce640d6b8f96cac5776ae5a14cbd9b158003a5e58d7f2775cbe6939e7aadf87a1c1f77823646f55f17bab3a9ce7f8e92dc970751a5811180f689e9a0bdeb86470e234e13944a6993f12566ef9ba4e4f18393eacdea0f0a9c173ae170f17726ac2299fe4e7994f3532e7023503174dbcba327f3238b12e20bc6c23d394f6049ab73cfdf8cb58f191d90e2f1f1afed57af170b253134ef9245facba6cab35732eb0de8d35cda20065fe04f06440780ec49834a53d81e62d4f3ffe61a463acf848753e35970f0dbeba58f856933ee5193bbe5875a36cac9c0bac77634db32840993f013c19109e0331264d694fa079cbd38f7f18e9182b3e529d4fcde54383af2e16bed5a44f79c68e2f56dd281b2be702ebdd58d32c0a50e64f004f0684e7408c4953da1368def2f4e31f463ac68a8f54e75373f9d0e0ab8b856f35e9539eb1e38b5537cac6cab9c07a37d6348b0294f913c0937938b1c80ab7fec289db33682231ad5ffb09024d38bec5bdf5aec51abf75b0bd449ef3b1fc29346a646bba810ac7c36fc29ea16979bbccd53ec43bd80cbc294f2f7df3d061c32e54176d9768b52bb66f09a62108ef1b8c9a5de4ee20789a8a58f702260a1e8e4f23104f8384b7998631f3d18413abe92905c28a3c0b8773c0a4c7c3e961a33b4632b1303e13f8c1e8f90d6bf310a937d96b39577ee3e59c2b7f53df1cbae96fae3cba343f5be79a9696256fd6b7568d07fae621e6568317ae2448bf2670f12468557b88795e668238f1a5b95840791efdf06fcdb3be8c9b86a0d14f6578fa8e779e0b249bf2761e927d19e7aa3ccb8af94a39d43c31e66cc23bd2939f2cb27ac7ae191398c3256afafb5c3533a6eb3e573b7376b6ec3ce974bacf9519a8bc517365cdb5f4f8b131c5da6d49b24ef570a2ab3d8369b9ef19da9f9813f3039b2b05563b613657f0eb3757dd22eef56506de94a7174fd88edc89eed9636f175c039de84e7dbdd3e07b221fdf15921e59337d0e6182fc911e27d4174fa3e459541f461a78b1b021f0c4c8c60578ea128b57609ac8629135f118a51c38109712a0cc9fa082a457970f816639082c07bd1b37137c398c6f72d2236be669a0f913e48f2cb18d9be7c62a4a5349032c16deb1201b17681e7a7db5dc3cc3d07bf5c507496361f0ad0b46c85e7dd128e7968b801253592f1eae2bcd43e4f3583c3ccd2d4e70d16b8e29b6266cf461e0d63f812ee5c9582178f5ac1602e095dbd8c878b2cafcf118b54239ff64c87ad31368a6798c78d67b8efb248ecc0dae99e7e99f001fd958c8531f4e500ef95c62c9ca73560b01f42a422eb191f16495691a42ad50ce3f191250a727d04cf310f0bcf71cf7491c991eae99e7e99f001fd958c8531f4ea04bc907485f175979d6540792e9556e6323e30b51cfbf58b54239ff94c886484f50ec3cebad398da80b3ef570cd34a77fc3e1231babc42e9e0990e381f47519828fbaa63a90ec2183fb5c3d9f6753f17acf55ebe03bdff94ecb9ce549dd1ad79bb57e27b3f54b572786f3e4b7ba0e8a65928fd816c7d650644d3c4629078919489726a06c9dc55490f4eaf221d084f36c2dd6bb7133c197c3f83609e99135f334d0fc09f24796d8c6cd736315a5a9a401160bef58908d0b340f62e5a0141b592cb2264f8c420c73202e2540993f410549af5ece9a709ee5a077e366b2e3d2bc97cb0cbc294f2fce09e78127754071de78ab612eba4e60bdf84ecdcd11de9987578b8dcf4760faf39b8a69f4e6bf58ce48f578b8d872586e9a86485f86e1f898f2271b893716267fbc267fa0b4e1698ce58874f1c153c2e5736af0cadb6eaedcf71d8ea9702c1da36f5a6ee7cabbaecb5cede3bbbc35b7b7b06ca8f180c2f9a2894fa937cd592357f0f34c5317bc66fee30712a85f32d693b9cd790e3ce19ae18be706ad77fae6a1decb583bae34995f348f63be2cff9cab89e7b95497c9e93ffd40bd7328ea523f99db069a4351277f9f2bb351d9849f73ab6bfc7dae9e4fd55b73729fabcdc09b7c0d5a86ba522c55fddf2fbe8a69bfd1baafb64ed1588b5ba3e331f73d8339b99d2be7d565ae306ff7b97208f772998137e5e9a5c3eea9d7765c1376de03f6b5f1ed77914adb5f3c40e36280dd358062617a56f876c6a2e0047a2fb13404c5d208c4143b1ea3682a816a628cd8f1f9a81563e17912376ea426ff02e33b70bd97dc4e3da5a642a32e643e79e2013573e52b3e5716006948497dce55fc8ec5edded1f56d8c2eb8375bde788985f7ddcbdeb08aedcd1f201c062ab7d8164dd725f6b9fce1e5abc2244d609ee3d353e68f0f2778329660fc30e6c435635603c3b7fa98735c4ce5728c99e8c2a75797fff4cf229fbff92ee4e233cd435af7b9bacfd5f32ff4eee7d593d7916b64fc89efd7a069b9dc7fcef939f15776aee4e95b97f60c96216b503f33e601c69adbfa2543787b069a563ab178b8a6c52b507dae8331e9d58ab5cf5af926ef19de5e73d5a776af2f33f0d66eecd2f19a359dacaed81e45fa16c201ba7a3d91e33b58d8354f93accb5b97371fc2bbc5c0e931f499606051dd0ef8a7c7174b068fd724e6af8e1f331fbdf469d89633901e28b69c353984732ecf64627b08d1c4f32c1ffaf2544f0f2b46e143d6b880587a3cac6cac643ccba1e31d4ecf905e141e038b82f1fcd5f1c592d18cd7ec88d4f163e6f3f2b9b212145bcee516c6bbe97be365e5c06b326f6db366285be7605db735727c6f106ba67cec7c88e2a35630e1454556a75f549a87b0c7c0cb1bca892ffcfcc76f743e307ecc34dce0c7a19e1de97c8a5abdacf25993be9428232ff5d9dbb809d2af77b961ce1c12af9e7e0c9f0ae63c2e64e25b7efed36f745170c798ed34f96cac946afcf09c93e593200d5cf3c9fab1f3d9f9d6b8c91a65bdcb16738e9878f5f463ca2ab7f3b84eff0ba4e471f400004000494441543ffff11b5d148c1f338d11e1866bf4f914b5ba5ecd7cd6a4876b3e593f76dee7ea618eef73d519d239769e69afe679255bcb93d27a0758e35eb40e7ab0693ff0db5b075be0c43eb90e72de1ec03a289f3779cff0aacd55b7b87b7d998137e5e9c5c56997dcc17b63d13e5513563b595dd5f100865e5d083e52136eb75dacc0692e7a17bf92bfe18ae5939ebfd846993f062ed5b0c086cec710f384153ce5e3506ffd0c65fc63ffc38114bb1ce8ebc2673e3d1f7aa524e35ff1b9f282ea9c2babd49373156f79708c5ecbd1b45438466fbfd404fbee05c6ec8d6f585de9ad9ea5b1f29c7e427feb23e4d45f707ae4c0e50da2ae068d9fff7cf4221b65b11838325ca0a869f40ec7e713ff127d5d626f35f36752599eb7fa5b1f21a7fe826ff597fce91b347efaf9e84536ca62317064b84051d3e81d8ecf27fe25fabac4de6ae6cfa4b23c6ff5b73e424efd05dfea2ff9d33768fcf4f3d18b6c94c562e0c87081a2a6d13b1c9f4ffc4bf47589bdd5cc9f496579deea6f7d849cfa0bbed55ff2a76fd0f8e9e7a317d9288bc5c091e102454da377383e9ff897e8eb127bab993f93caf2bcd5dffa0839f5177cabbfe44fdfa0f1d3cf472fb251168b8123c3058a9a46ef707c3ef12fd1d725f656337f2695e579abbff51172ea2ff8565ffe96215dbe51f106ad751c16bbdf7bb1465be330d6652b9d1a6eed16d8dad792cd0a7fdf333c3957c873aece3d43f3a9567c04db3f68c2947d2ee1cb7ecccca7ff7fbdbf7accee5e7dc10cbc294f2fce2de799b70ef6e56dc77bdbd139b7b71d34bd81d8243959d3e391b79827de294e199e3fa0c4ab698c3e3dbc1c5c1ecb4dc8e9536ef9c04ce0f994279f72c097271906260ecfb3718d384db961f8e4ff1acc95df75e958bec8b9fadce73e67ae9acf569aeabd51d635de42b537caf0781afca9cc709a9ad567d4895fdebb71c9cea8132f878dabb7f2a2a84b6f39cce736eaa2d7a4a13f472c0ab39c2fbdb7fe42a68157f2ffadd61b97cf8b6297c3c6a5acbc28ead25b92f3b98dbae83569e8cf118bc22ce74befadbf9069e095fc7fabf5c6e5f3a2d8e5b071292b2f8abaf496e47c6ea32e7a4d1afa73c4a230cbf9d27beb2f641a7825ffdf6abd71f9bc2876396c5ccaca8ba22ebd25399fdba88b5e9386fe1cb128cc72bef4defa0b99065ec9ffb75a6f5c3e2f8a5d0e1b97b2f2a2a84b6f49cee736eaa2d7a4a13f472c0ab39c2fbdb7fe42a68157f2ff62ead6e5ea5ff9955fe997365fbe67f03063a9baef194c82f2f2b9b2fad3bc1e73b5b3eb0e9a81671baf2fef7474d1f2bcbd7a77fdebaaec4ea109d70c5c6a9b518cfa04de374402759d755d3ff6633ff6d18f7ed45dc6a65c5604ce66c0698da909635c09ba30b0f35eefc92f049809ac6405140bf029166e940c3595e9e1424ae9b1f3a142d203e55062f16538ffe53c7db10b31d6705dcb277fe43c31a54db3e1228bba1d57ef5770ae9c36e75cb9fb77b0f1de6f75747879f67ecba9d2db2c5fb684135b42343ffce10f3b558891ea73710aaf3e35e1054e93c9933ec87835d9af7ffce35fff3ddf33f0d8f9c0cf3326e70b4e93cf89316b16729b4f82065a7df1cfe78cc5d45cf8ad666e174db12381297529314f6264e213a43cf9276309f08d7b09bf74cdf0e2f3a5e4bca13756201ede3c60a6097f29e39eb1dc2a0d075f72a8b74ce062939df8ec2ae4d6e71cb7e16e35f99c7c63cdbfaee5337dcc8638f523a739fd5f841bf78cc554848c8fc9f982d320a70fabd755c86d0ef3cfb93af14bf0c53fdb5bfd3c6ff5ba22a7b9cd8de0e2b99013c067f3e53e8d7beac3ea75c1caad4f027c5955277e099ed5c231b7fa988ba6d891d3dce676eb791b8ba908b733b12429ef78c73b2c5b8a35a881befeebbfdeeec5c20ad023db33d4ab0b692dae99a195cefa05dff70cafd9feca59e11b399b191ff7c73ef63175a51343ed5cfac8473ee2acf012f6077ee007ec619c1bf4ea4b71b2617405c269d2ab6f8be1229f8ffcd01c06e480593e31d523812f6f7953be7be9dd86cb5be91b0cc054f6ed4798c6a7d8de9d66b7007c0f06bae0078bc7ed7edf5430d1cc9f808358759f13de2d09e60013106be693865eef83e9f1fb2d1ce6c981a0c4841837ff6e7698c69d3edb33e7f91b4b5456f41d630eabf3291ffa80deb7ef5cb9b677d41e63cc9ea71764f30074d3df0c632a8e1aa876290e9f7cf859c0e33f985697e9cfd813532ac506bae017385054bd291f221f4be15306f49cccf27972f47c682efe1c6ef5e7a08d42a69c235ea22ebd8ff26795a8e596c3197b62bd0916ae57eccc078a522f2470860f9f9a9c97cf93a3a7bfcfd57dae3adf76fe3421f7f3aa19b85f839713c3e9614e6eef57addd369d6dfe44597fad5680450ab660598285c340b6f73d43f3b0b9b2c3814d6653f49acd55077baf2f33f0a63cbdf4b3894e713b57b89dbd7b04dc9dc2bcc04e7d4dbdb02bc1e63eacb766b13d3cc0f1d36872c80756d27445c10c91693299e641fd3c0786692235052ac8f2c777d7e389e910e01d4bfac21b974c81e709ef18e98d323da0993e9ef3e90f4be6559b2bb7f82f66aec8bcc9d85cf906c6abaf8e5d6d8da96c3941c22d3f09269e46c870fa5323b6e6e9933edb30934515324fcd62e7034c53609a992c9672b169360ab18254a71fc69c63851fd4075f537d3b56b289cb6126177d7c1a09d42ce71c2eb9115cf8620bec184f1f7c4d3e05a6597a977c12a7c9534dac20d5977c30c94e9f07f5c1d7549f1a38c3fc37d634b7fa53539e98d3a7d833cfd2189f3e1fb2626b5e3405a6099fb1e1724893899a5841aae71956278b0f234fbea6fad4c019e65fa07a9a5bfda929cff4f329f6ccb334c69ffe64e590ed4553609af019bb71813499a889953387617cb2c60a3fcadfe26baa4f4d79165e7df1b9d52750173b7dc9c4ab971b9c73e3e2a74976f1894c53a0109aa5970f419a0cd344aa8915a47ae386d5c94e1fe4c9d7549f1a38c3fc37d634b7fa53539e98d3a7d833cfd2189f3e1f2be9377dd337a96bf67b2fbd50b3ce5a9af17a612b721a386088d6620b5f9af82f661da414bb75f0cddc339884577faefa4ceff56506de94a717dbf4ae5257b8d266ddbd006f46fa4602ef3c8631f1be6d10d516dfd33c9e068347c21cf0dce066b69b084c833ffd61a5b72680109a8dd5b89a79969bb1f2c7d3a70184f776211f7c09144bace852e40037569ac7ce879f91d3d45b0eeb0244e92d2a8d832a1fa4b18a7d95e7caadffc9b98aef609babd61e93e9a8fbad7dccde903557ead6a1bd958f472a276e8952c7bfa89ecf45b971e3d7bb21009af1f3074e3c7ffa78e0e289c7243863e14b592ca0d4bbd8e55c6f02bd670e8b4a733a94558227ebf95c948dcb2a7ebd1b02a0194f997fa30fcf3f46ad5c3c1b057f89ad79d68b7d7079aee7162ee7c79e6755ce670e8b4a91790eb7c79278f57c2ecac66dacd5f99fb197a88656a701e6bf28a0a833165ec8c0dc06160b28f18b2de7baaa09f49e392c6a82349a673ec92ef57c2ecac6cd6775fe73a0b9445156d2c0f35f1450d4190b2f64e0b9d95bff2e1650ea586c39d7554da0f7cc615113a4d13cf34976a9e77351366e3eabf39f03cd258ab292069effa280a2ce58782103cfcddefa77b18052c762cbb9ae6a02bd670e8b9a208de6994fb24b3d9f8bb271f3599dffb967b0065989f0fe12a675d6172f9ad6321ac0cad57add0f42b7c611b796b5468bbaef19ceb96a3edfee73d5a972afcf1978b6cd3aa92f1dbb3833099cf5ae6d646557b5265c3370a95dba18f509ec472381baceba2e3f5dfab7fff6dff6737eb2ea547685ef5207e291802607378bf6fde9c37a754d1350d32c56f3528434167e9ed38b9df989cba190f8f566d828c869e65fec798c1d4efc72c841131fbe9d13fce9f30ace95d3a6e3926ab77e47e4e6aeae4bce805e24506f40edb471afd7cbc42f4d3a49fabd9742b6e611285b904efc22cd17c3a7e166b8dbdf7b2987c6525f8adee5f3e458a7f989f329763532c37a1bba5e4ce1673eb7f84bd1bc28f6e4c3e5594a4b72e45205ce4229fc45fa7ad35f7064b1ab91b7b297fb9f3e30712617beae97e4f992d8d333bc215e925b099c7587f6921c4ef31367d258abcbe122ab57577c63d5bcc55f8ae645b1271f2ecf338753b35481b3dce7ea45e7c9394be1fb5cddce959d896f632c49befceff7109c758ac548b385c9efbd602cf4fd8080e5ac8713a489c5f78b31b028cb19c0b0dd42755daddd854c1348609370aef5aff19e61c7bb79d88cd5f5aacd957decfdf75e7c3497f2a67cf7e2c9dbb5ddc5ece277658601bc4971ddf686a32686209e3e1243afe00318c5a95fb3280c309c9e86cfa3fce151a737019ab0b729c0862856dd4deae49331442a9a341c60fe8d0877ed352ed2587af1981d4bfec5a6c9b6dc322f67bc81e004c469d6c410c4cf1f43a0e00318259ff81802251cdfb8318d9500fe6dcc558fb51e5d9a2b4dfe19dece15deaad032a30e20034fd60fa263731c5ec8001e5e3310b9aec7fe679af9446a2ab7b86cd79ba6da2defc22ffc3c46e4290be7a06e8d8c0c6752d4e95348fc8beaf92456cf3fdbf16733b74b5782759db951265e6fe2b25d6f9aeafb5cdde7aa936475e7c9fdbcea02394f8f31f7b96a2a362127b874bd64ae2c4c16bb04e1d6412fe36a5abcac7dfe8a260de56f6f1db4d829c25b07e197ac836ff89ee171aa5ea1b9dac97307e70cbc294f2ffd9ca8cbded51b76e9c26a770ac08efff233a04d935ebcda092dbc0b1ed61b06762318cf70984053ddb84063a9199e3c5c5662d300ddc8f0c48a26ac37719e9a9469e08e8ba0328d66f8cc875ec167def1526a92a52f2bb55ee4f4f9e303c5aa25233c1ed63b4d7962c6331cc69fb96936969aa166f9000a4fb775b1690043c7132b9a347a238bd5a4c4f7aecbad7c3f30f660fa58dab2dcfe8c325e894f396cad0a13c06a82c03498f833b6456efabaaa4f9f62314a581dce1f361b662f52ef39ae5f00f5a3088a81f0d334ae40bf366aba3429357b87a74999e6c4cce75fef7238795d670ec33cc3a767034dc327e787919e1f4b69c79f98a0f0803ae753139e3f01bc21c62f76f35060bcba22b05875b1c0723871fa6934c3673ef4ca99c330d962e70ff8b07cd6925c3e818b3f5b4c63856b5e788253135e0ee5b6f0780974ce3c863e9c24f8020d3171b8669a18ca91c3ba941def70b6e3e7f3287fa637153ffff33fffe94f7fdab410cc33506cfac63d63f38f3f31cde9a399f3a909cf9f00de10e3cfd83405c6ab2bba14585d2cb01c4e9c7e1acdf0990fbd72e6304cb6d8f907a6298d06baf8b3c53456b8e685273835e1f997dbc2c7b3423e867ee5cfab8eebffdd5cf5dea40795d6c1d6a3dfd23a48dc3ae80dfd6f751db4505a13396c8d76c85b2b87cf7ce8159a1659b782f49a64616e7976a79a9ea1b2b18a554b5b787cf3308de685e77c6acedc9837969aa166f93c8cfa36df5f7508f77a33f0a63cbd386057c8bef1d0ec8cef1ae80d474c9af898f1ae07bc4be2f411cb99a10bac3716f43448353d3eff3c1b3a4f1a25bd587a381f805eaf58210a9c7f3e9a33f48dc49a30877ce072a08c51e749837444fb360336167e6301f4ab1bae63896f1ee24f25fe959d2b3f1e66a353ce8eddd7f18ec882e1cd969c1dec56cdd65a754ba97a6fe8c7d017f2a23ab717f5c6e7360d70e28d553eeb8d9fbfdcfece637150d3e443f3233ff223ffbfc7e2b1249fb9998dbffb77ffaece5ffcc55fa4ffd11ffd51363ff3333f03f3cc21bc4cc637fa99ffa9d1ebace00fe099288dfb648d7c923fa3ceb14efec1faf9a6679a489e318ff64f7c7f45761997de0f7598879ffee99f5eefc56dcdc0e644136e4435dc25d3e8f134cb2acdd98b39cd2fb915fb1ffec37fe8637ab2f7f40f5f6acd32593e18655995cfc8465913303fce19f393c3f417e5e9bfae97cc5539e4b658cdb05aecd98bf9cc673ef30ffec13ff8c11ffcc17ff24ffec93ffec7fff8877ff887ffe93ffda72ef3864b3c9cff6d7d8e75e9d5dce8f9601438be21465e34299fd45f94cb6121c09777ae182a8dfb648d7c923fa396e7ad92ec3e575ffc5c515a2b7b74f136cdd2dcba6915eea6d13a45e646aa00340a6c65177bdf33bc2173e5a3bf97cb0c3cfc2ac89b533c85770b70cdbb4dc06e04705b76f3e066b127f5f6b2dd26c8ced87026624529c2c7d3e38bd585572369d2c37ad3c4cc1f1f4e1f165e9e7a99e45fc28d3bffc622deb81d48c74b9c8f5eb8b160bde99195e5d361521ab4d804a7fe55982b4b6939dba097a7ef10a48a37c3eabe4ff0760a686ec3960dcc3bdff94eef92e9adbe457598deba6d910eb73c9f6f0aa7293c3d3c0d6638db53738b0dd128753de99fe7621d0599bd8ecfa5d86ae4fff81fffa3a930b403efc3ca53f8273ef109210effdbbffddb35ed05c9bef99bbfb9fce7bf1c3061fe2f3a963406b59594d8dffa5b7f2be5c5b30cebe239b7e131d3dce6c3249fba96a790786039e773f2e1eac5d2dbfe12bffbddef56c75ffc3545653e0d70621a0f6f3ff4433fb449c8e4a2c97f393c7a7c818f46bd75d1f731490f9e1eb8f547e60f30c927d9f8ba22d52fe28baddefc5cf4c55efc35452dbdd37f783e2927069ed4a4f798fd2fffe5bf849db18a3ddfff7c2c9ee1ffea5ffdabdff88ddf289683923e5c8d09cc5f73581a0a4db2f134f180ae17f169aaa7b9e8e32ffe9aa2323ff339f17c524efc224d7abd95e5a35986e303173d1233cd2d66924f5d4ffae7b9d8f43987ab177bd1bfae73650d72d23a51dd99bfe11bbec1edc2e2e5868c77336f9ddafffd6215b696d1bf64cf601aef7b06f3d65c55b757819d6feae6a7b97d5bcc5597debdbeccc017ac7c97bed7a9693173c177442e7e27ae13ba1b41a4735ae9a4c7d44c83ec8692be8d3edc370f9498be6d10184f8f57a7d9b8004f8672d01b4f0954031c68009af142da74c64fc35f17bdde3cf369dc78c78e54440957ca8126466c2fecf164afdf5cf5dce278ad0d9b2b1bca66186fa5b45434c3b0620d68ae60600c7e6f43fd09fe5ff9ccaf3ea97c8cfa3fbffacb0fce8ff8d9f25f537d46c1d3dcf231a7a67c4a6f98436754077bf23ff1133f21dc728874b66cac34fffdbfff77e00ffec13f88176b36cc8cbfe059ef93e352e2cd0310264e5fad17e8a4b2c34e461f7f51eac5448657177846c1c8b32e708c66387e35303cffc80b5fd3eedc86c943dd7a01ce6a6539845fc4e07fe9977e49bd49381d1605e08ff3eae16c7c5259e63e441f93f47ca63b164039a3e098d51b71ca34f1ab8161cae147fae1d8a5d7fc48e0450eb799cce792cf85674e906623a6c953dd5c793cfe77ffeedf51fec93ff927bfeffbbeef8ffff13ffe67ffec9ffd9b7ff36fbaadb9b47ff2277f72e134e7280feebf5373b57181afe05c75c82f3faf4a95723917759fabcdc93ec12fcb5c31517cf7e27276f776d2baf7faf9de86d3d50a65cdb272c1f73d834bbbb9b251311bf0e3143e549b2bb7c7d76cae768c7770cec09bf2dd8b27ecb6adcef8b6ecce7e13110fe06d5ebb24d46984e89ade55317db129c92e3c26c3f1c58ad2c550019e1c082f93e98554f04838cf610c9ff4349ac26990c369d48dbbd834524daf771a26affe5cd96d6fae76c707cc83dbbd63b1bb3ae74d974356c7130887dd04d363b63e0d20f7467058ef2f7deae77ee5373eff99cffefab7bfff5b3d89d2e865aefcaedff56b9ffae42ffcc6fffdaa5ff9ff3efffe6f7d27a62e5101f5f0a3fe0bde23601afd76dc02eb85958ddbf398e32d5c17f00bbff00b9e223ef0810fe0ed387df4e91f43bfea677ff6677de3e473ffceeffc4e7c3f3ce61db66929bcdcd49a067d72dcbad2c0cb791bf7a2e2e1346a21caf4a70f3e2510ffa47e9e179f79325132e180cf67fc9303f966c33ecf3c9852fa95d327ac9e67387efefb2e6b690cb05d9ec3f5c6c3f16ab64afc1e0b37744a02cae1e991ca3c9fe409042a99a4576b8e0f239d48e6e75bbee55b9c2791ea92d15bc1041a179e0608abf1f39f3e715d69e0f90cffd44ffd94cbf6fdef7fff073ff841a4520edff55ddff55ffecb7f69e6e3775cdc60e4860e6bdefa1775cb0b7951cee35f34d03c4bacba64e08d553e1820acd69c7f811defba02a7cff0c6a581e3d59acac6c5a4ac2b2541fc93fa624f7f32659ebaea1d0ff01c1f8e54e3272837cd9592d19cff3440584d30ff62e98175054e9fe1b2dd71c5177bfa6352d6b5b4e39fd4cf331f1a4b989b4c6f4980d623f76a5deed5bd1d70adb945fb06066ffd828d95a6251b16d81ea034842bf8adf527d6c5277d3ec2df903dc339578f93f4ac3ae7e7c4afc25cf5532167b6776c06be606d7e8d67c4e9e8d6d095ef30357b52efdaaeeef06d647719d37809add73e1ec6d3b8ceed1ec29a70bf6637de28f8c5c279025d159465c239267f7563e985752d369c67b13cddb9f0dcc6376ebc5a6e7c08c868600243c0e5ac1983a4dfb8cb506fb1c95603ca577caefa4c9b2beb41f9dcce95e37574d6098b87ed8e2fe831f48ed7efbd581b7afbe5a85b5d7475806af85c0fc63c44ffc683ecf3bff9b99ffda99f7ef7fbdeff7bdff16c2bf0d59ffba54ffee2ff7af895118bd3af7df6373eff4dfe2f4c3e993f847ca13ffe51fb0563c9cab88d0e3f191b3f43c7e2bd5d87bf217cf142f007fec01ff0136280c3af4bcdf3bffed7ff8afcd0873e947fcf1b76a57a3dc9f81d68fb54b6ef7def7bbff55bbff5cc87e0539ffa148df7df3e053ff9f01ddff11deae6caaf4338a37eeee77e8eb9a9f616dcfcfbc9b439e0392831c675ae1ad76addb87e0dc9c7dab8c4157a7952d2089198cbf37def7b1f30e7cd55325b58bd1223eb4f8b32999b2867052b864694a4a39086581a4f2f89d50ef3939ffc647ff6c0a01ef69c451b6ba34f8ff1037bcc9b04679a49709a4963a337b44966cbcdb1db889f0e301f7a20acd614a2f67d8ecfdaa7207f56c24d97239dbfb982391028a6c294f649c904bffcc9722ef63caf0c21d033b08b4bd4393f7da1b458a796c40c64ad35d5f271b09d571b8bc01925d0fd9327b1a9ee0493bc714bf8e1683ffff97d82d236e72687b20cf5f2e4a0e9b380634ac6e70854e323abcb670c10de5cc9815b7c38e7e6e4749ba6d8ba722b9f93495cef599ff9ec2836d6988d3b8686cf65a09c91c08ad86498e1349a63ea3deb33b7d3ed3e57e72c857f7b7325d6c5e29274937492bb8a61579c4f07df1e4313bf15198ea12fca9dd675b1b55bec8bd641bc8b423837b1ae29517280e3d52e3ace0464f913bc4e7b0647b7b972686f97b992eabd5c66e04d797a71f9d963b59e397701b706d727de8c682261677658ad57dd7ce9ea5652f38c0d777381bb30f2e4d08d209f869b73695096433ef4c5aab3c2a7d19526878dc5f6122bb090f8069a5eb8828c6fa0986a8cc381d795cf2b385796dee5e9f3956707fee45c11982b6fb9d4b0581b2c93601fe0d0609b48e1eefe8ade13b7c663028ff5eff9f6f77ff3cffcf42f3dfc81fdaffacdcffcec277ee3f7bef7dbdefd759ffbf4cffdc2ff7af68716beea6bbeeebdef7f6f1bae96b79c5bfe1b22fce071bc4d1c9e3ef178e021cbe75bdb9a0e0ab0bc8db753f45b00dff66ddfe6e83ab5f4d228c6b550d94d8afad0873e8411d5eb6a53e47709fac5fd47ed57d979fbe19c0f7ef0839a323151ffec9ffdb3cb0ba11ffff11fff337fe6cf78ed6d887ffdaffff512b6e9570ce1e9a5513279c8fef93c7b536e17fe17fec25ff8cffff93fdf8e2b36377abfadfedffedb7fe3b0f2f18f7ffc4fffe93f6def9b9be3f281fa9df28b8c73328129d5fe4ad5bff817ffa2133b43517fe48ffc111b714d4f2f9186101eaedec19698dab83b64f84593d0d38ba11daf59dac791ad874993d05316864ccd1650e6dfc7e4ccff47ffe81ff9108b55ffa7fff49ffed49ffa5376f3b01c8af567185e3415979cf36fac623d1e7c31f323c49778b787e329e5cffff93f6f43c6b9b1faa0ffe25ffc8bc0e583fe137fe24f78c6a6548cfea24fd05944d06c7ccff77c8f09fc7dbfeff7d163ca19c8d9e8f119c2e550ece6275e5db99d93e92f3ef4ba14a02e78b99dfce979e19f8d7a935b86ea3376787cc335eef241c697d89955c32d0740211e3fdc58f5c259a9c3e9974f7c83aa6f7982c7a1ee73f53073cd8f0981dd6cad41ae11f76717be7b971bb2e2ea36939ace70bc350b43d9cda1fb46eb7237f6ad839e645ebe0ed2bfc97b0673beb932156f8bb9ba2cb50fe7d0bdbc39dfbd788be0aaee19c3e7ee2ea076eee2bd50d4843d85ef94b027705a27a3f19642976b9e86fe8c85ed7eda00a5ef697eb15d1e67ac34f8cf730ee5c09f00d99b0f8135ab0dc45f2c3efdf906a5dc5c9ce5cf44143d867efc8e97030dbe6ca7c10b8cacc6bc8273d567da5cb9e39f73e5d66fae24bfb9f272dd22d1e1389662cd9817c0de7c133b6451dcd496162b478b778c5a3999affeddef7adf777dcdfffce9879f1013f46bbffca94ffccab115f8dddff01ddff1fb7c90b9e5cc734b7bfc43e46309a8cf52d4ea17c5b6103a22b1865017d2572b7fe80ffd21cd3e6b87097714f57ef0831fd48514682ac4fec7fff81fcda4df2278cf7bde63ba6cdcf1c41ffad0876838f8e34e781b71db4daba9bdbe5f9ef1dd8e8db2adb3588f3abeac10687a6d3179b22aa57302f10abeedb80deb93e3cab0587f4bca7eda87f5dddffddd2e2b62df6f78b2fa57ffea5ffd8dbff1373af965789159e96d67ede0c9fefa5fffebce76834a43cefffedfff7bce7eacce374b0c3dec7900b0b1ceaaef5ec43a1083fed13ffa473116123b7583fe9b7ff36f34db9a9f0715666b3bee34f3e4c34dc23e3b7abd32442ab043f36cc9c40c9876f5bffdb7fff6affc95bf4253921d78757325aa8fc913944ffc0fffe13f2c79a7aeefbb1ca3acecdabbb75ca6c2132c26d93963cc9f3caffc5cd6657e5c4192dcfc1848ac7c64d2e138432463744fc566d2e1f8bd948f7ce423341d421fb4f344263bc118d24bdee944e963f56cdc07ed49d2a4f904cfb47d82b939a9e85995462473dfa4392d7fffeffffdcdd8e62d01fd93c79b09f1f4c331d52f8f2d1ff542066efdc7a4a7941b5c9ef55e70fe72200ea73ff1464c733af0bf909aca9363e1ef73d5f436450f33f5e59eab5655ef839ce7b0e1dc4eb76770b7e95ee402bfdd33b82edcba5bdf09e4c6c13dc11554b3da1dfbbe673009cd95f9dc5c61de167325cfc753ef5e7dc10cbc29dfbdb81db8b01d7a7b17a0b3b63d90335b093bb3c36d7329e3015d70b1e3f938b77465a8de1078383e7d9e183e7063a5af2b7fe2532f1f1a028679269ea651d2f03c79cac67a703cfe2ada792ce5ac36d0344089011d029f34afce5cb53097b3ed32b0b9f23063aedcaacc4032f9d3382837fd7893a0ab6f5d6c08baf527566f9b624551982315585df377fdae6f7cef777edd2ffccccf7cee379f3178e56bbeee9def7fefb337f7f914354f9ae107f747ffc7d0675543e03722fd04f33c7d1cb2a6a34be6c0edf96c31bd9ce6d32a68692cd6c1eac5db713696aece2bcabff497fe9255b0d135fd45daa657ac0706328f2edea0176867ef6b0d7b7a934f662f6e53eefb1669f829ac3691706e1d4e1986b92998978feb61c38ed61affbddffbbd7d70f93b273d38d9fbfeb13ff6c7181a77b266ccb8d2302d644c7a9ab29cdb9a73f07bdefde8116cdb4de9ef47cbc7e13b10a42fafd49e00c9f83b58f3c9ad8168f659e81d76ee99d84dc22699c62ea4bdbeaf59fa2a06e9156c43f79f96c04845f24657c29a66b8e9b241f79c239fbadafdb4cbf7f42864534166c69aff1e06ce196b961e0779ebadb0edd4657e8c2249e1e7fcf0f428b5c3e9eb35561dcedffb7b7fcfe138debe0659e6ae41c7aee6a9eb3cc1304eb03e41693ba5310cf709faa03d46762c78bdcd39e004f6fd8fcf8b732770b164fb5ca6478e07182a4021f3ac0ba9b7584c659e9a61e0e27ff17c16f985fa9c4fcf136fdc72d0b571cfb14e2c44a1442ab0bae68e2b41e483fab9e645fee381f4c58e6f887caa8da5b7b29c35c38090614d519169d49569ce63d1357e78e3a67c92479ee30a51224fff696695263d52532907e4f4270fa7070a491f6e5c277f6b7a814e78676f0b2ec6dad4be05d33a4ee036db373075e1b3a28723b70e32cfbf9b461ab851d4b09bc3c9631a0b399e09191e23192507034d0320d50a417a8046111b193ef3c10b39fd35d3eb6ae862d51ba2e38a4f9f27a6fc191a2b7d5de54f7cead31030ccf3cc0dee48d530cfc5c634d6a3e543cef99cc752ce6a032d162831a043109ba6f9890cdfbf7b697a2ff55bf7974bc76bd9b465715c9d9a70a053ca595bd35adb49d9b985ef94c20315b145719ba7f395432737e02602d3d388a5477283d3841b8b6637a9f425b31c6a366e9ee98969e659ac3a4d519a4af9cc0743a3c9b3ccd33c481fcb8e4b0b2ef0ed3b572d18e6cafbf5e6df71c16aef17f5b63b7f3cf48795a60549b34075e5e4ffcfaffecf9ffaa94ffcfc2fff9ff7bcef3bdff9756f5d4abffb1bbee53bbffd5b3efbe94f7de2139ffcf46f3c73d85bd5ad340c377ab87a39347a231675c9a137a9f3b1e116e2636d2cfb3cc01f13cba7de3e416edeacebb523b710e6e0fd37a5d3d24ffb585369f281e3f3b17f25f8f0873fac19436937df29679492ecfb81b6adf94f5f54b5ae948d5b92e7b84bbb2df29ffb737feedc013071086a1f252b39f81e403e323c3716047e6b42ed4a51f327a3f74c82a72f43b533c40fa1d1c83cb2b3c50f7af55818e911c843543fb344bcb98215fe6acabe6a681262287dc504fb56c1a30b4d05ef41c8f730bafa09c6f4674da9d974d1ffe5bffc977d76cd952e8c2f91083a465bf9a6a219c35728cf1913855f0e0dc1d33727f0e6a758bc11373f05fa3606f0e592c3c92ddea36087d39d84db3e68297567a3e4d909d69963924bdb53e51e5dca6a691b25a69a8962aafffedffffb1e5d9c9ffe56b26d5f7c75ca73ae2e3cc1ca0231b0ba115f345769d4f917beb1d69b1b3e70ced54593004973f1bc283563ca305ccd44b9f00feae39e16267ba49f553597ff25cff27fb07e2c0bd4caad118b4ab31cc4a6515f8e6b9af9a4a999db624f4d5817cdc5f3a2d78cb91d8b8972e1a72faa9a2cfeec6ddc1c2efc83eff3b240045c6d5d76a7d20414779b6ea46e68db3338b7bb0bddf70ccd83ddc83957ee789babed855ea7b9da997307e70cbc29dfbd74cc7bf27683e829b94df99652b2788c2e75b71257c24583575c4b79ba7834d3e4b9b17485f1e1048d55947a9a7875b23c05020aa5aef2215060b1789af19464dd0a69e6093cda3c1cdde9032f4f5859fee5f630d26348ced32031d5676e09f2c12bff2fe6cafe66f36631586e802d914191e604eebd2fbd6d8d1d92129639406309a12fed9613d87ab6254db30df173cdfffed42f3dcca11f18fbd9fffd2deffff6effada9fffe94f7fee37bfee5ddffede77bfe3173ff5c9fff5f8f364ffebe77eee9b3ef0f0ab2fc5e676f1ccf0f47f18f50bb7957a5bed965bfa9377209a8e82c6a7e9f9c48bf9edceebc5f3b1dcfa1682d8f6b4b1906db5cfe79972ee19cf3cd310db1d7a11cec10b21b3aad86d7be58fb1ff6e14ceeda1dbb8dfe64cc02dff36b5c6ed6b045df17e4e096e1bea15be4f8ac05b79648503601953f776cae635595f986c0e2f321a093b21fda8526351960f659b698719f9c1c7ef9118facee1431ffa902704fb6c9b78254169e4235c996787b60721bc83f2734d66a93f517deae1beed91def8c0e60ae863f2b19a0dbd1b4b57e13e11bc51ce192bc926247f3356b32e3e8da526f0f372e7fcd4d5585d65cd8f73c327e270fa9515b27902e7e188dd09b60f9a1edf09e68316b20f5afe8adc66b8b44bb8d81273c8fffc9fff7367822ffafcc09ecc69922d3c3d12b3baf0f3d8eb4db0d89ac4403e050e8f0fc417a5ce1f3831cdfc01456fb6f48fda67635df894d5752dff07971b9f7906d4d30b3fc712ab779e406e17cff9c4275b6ccdd367fac63dfdeb2a87dca6211b269b3fa064822ff6e59ee9a769d0479babcff209e41f2e1fb58211ae0e9ff95f722b36fd63e8c3942a8beded8c73db1ab4476ecb53978353ba7599a0a8d67ad7a0fbfcd63e5d27ee0a150828ad6bdb1b34563e34e32965e5daa1ef5acb13f968f39aec191ccee6aa4353bfe27375ffeec567745bde94a7177b293fcce0b2749ab6dd7195ba6ebd17ec67c4bb5c31346afa7832d88606307df15df362f1c4789e01e1b0d8c6d215cf1fdf6583111bcebfb18a15d2b5941e99bf3b081375399470e30e539e79e28db571f3c12c7f78b18e257d7352fe62f32ce7576daeac079b2bb7fbdbb9b26192f38ed1366bd8b2d1ca61f3d4b13b52a5450268657ae41e303ee6397ec73bbff16b3ffdd987ef827ff3739ffec44f3ffc30d5071e7e44ebd73ff5c94f3c3eb93c84fe9e77bdabdfda2fd6163f7ff53019ac4e7301e97529b09a60e5917eb6ccfb8cf0563eb5471733e38d7821648e118f84fd949779f012bd0f1443d6e6b237eb316a21f13d87c8b35f51b06765a55711dbcae7a9465394525427b966fcf2c7c00fc1cffdfb6dec98f4dbfa53f624e326eed742d25cea9c9dba7832bf6e7111d424535c419a7e6ba2b431fb2c0cdd571f1dafa643f86b7fedaff9312a07ee7b06df0c788031b1e6b33cd51c4edc583e8806eae9a5ad583b75bf1cd263de25b693d3e6be7c6e3d314d6c5f4418284dfac2fba0bf98192bfccca1cc2ff393acfc1d6993ece945e00ec7b92787b671e929cbc7635ecc4eb0726e5c5d0d679e31fb045ff241cf7f3ebe2972a7f2b9f89139e3124c137824be60ae3094fbdc354f9cf3a2f2442ab0baae0930cd0f66f8f4472ac5565fe6aade7280f3d958f536dc45738e9be0c9d8977bce3f590eeacdc9792c273f2510a60ce439c3c7fe67378733e7f0e92f44e9d8ab5fd7b96a4e5a6abbeadd341c727772978f7b6cb7508cfb52f876cf2084d2ddcc55e06e73bb0ebac4ce75905bd7e6d677994ca317df587818c35fedf23c63dd6af8c4f37f5bec191cd1e6ca31be2de6ca0c77aadceb7306de94a717a7a98bd0e5ddedc025a7687689c2ce0f3705c0ecc0e3353bc54f7d3398c6d92f102600f2ef326e6f84ef6aa929767a8cde8db57cbaa2f2dc58949dc4e3e995c4ba601acd70039dfe98c52ecfa296c3e6073fcc44731afeafc85c59e43657bd72de31dece955b6d621b47cf2d9b2b8f3dd60c07e8f6edb838b0556fc91cde529ae69bdef3beaffbdafff9b39f793867fcdde49ff91ffffb9def7ac7e77ef9b3cfbec1f9aaaffec6f77cd77bbef1619394613ec586f10ac19673bc52883a10b97c9098c5d6c474c88ed19ec32fd93bc60f3efebefb83cb577f758f6a3e533e7ea88cde172ff3d4dc534a7afec89387fd2a45ff3fa007153f3765c5b23755dbd37b5ef23c40c3d383871cf0eda4b36a2ce69a6140739b57b1f502caf221eb89c29bf51e2af4e6491fb6f6f36ccb9eec2220236e279dcceb8c12508b9d67f93450793a43fc30927ccc9b2f257c6de5ef2063fafae5cc79c7c5cd4adf24f85c966743f7a5044dfa1ce086366f175e860a99d2b4481e4632c947ddb38470f825532190c009af561a0b88e7b9f979ec7fe095127044fbbc903d6c7438f399674ab397cf39b1d3b0ed31d519c5706977b769dca541ec832e56ada996926fd28ceec7f9caa154c54e73fad08c3ff5173e8dc04b6c8322139c63611ee5cfe64ad73ce32fe36a2ae570c1f339f986ce137ffa3fe9c3e449cd78bdca25b77a376e03cd3ffd8e2b3e4d3e049aca8e0baff930d2311666fa469c677c21a7cf8bf07c08a63156f8917b45e7aadcdc93bb4680ae4a3ff6d992e40ed3a46dcf8039d7f4d66533b075506fb6adf5b7eba090c4bae0ad830dddcabeb59e553e40fb01b1454d13cf073f5c731a63bd227b0607f2b69babfb772f9dd297fa4d797a712db9c22d9f6da7cc420f33f8b0ba9deb26c8294ed3db8534bb02f15dd22e57eb374d573e379aeaf977a977c1b8b6f16d2f28974f636108ba052c99c622d0db5892093768b9358a9a277f7a0ef3efa044ed78e54c63b879e6b35bd519bb6349a35e7a3997ffeffc5c19d1212c99e6ca7ddf91da06e975eb1f2e550b4379aaedf66cbcec7e74b56d4a53ddfad7e211a67416add772fbb5effab60f7ccd2f7ef2173ffbb0547efe7fffea2f3ffb3ac20cfdde6f7fffbbbe16fd4c3f67560a1ff543d0639d2ddc127ecb8f596c0e85d7eb48019f45bf58dfdfb99a40af10876fb3a8d89d7bfca857ed343093b68699f051f0f22186dbcdfbeb5b48bfa3ef3df772c6f4935adec7177586cc870cbecca1c792db71c994d3c4278bf17b14fd72052b456e6a69ccd3d14d069c1a1813992c66b19a8a7db06bc416c1e991be10639901bf8c618bec0f76c9cdfb7e7f21ba499886c3f2e9f7889ab759190e5ee6f49ae5600ecd8687cc1eabc6179bb3b3d47461ce8f69020f907023768cbe49eb4bad8dd8589264a8d0af8e546f7e1e250f47d41062373ff2d4bbc349905b63ed707ab62973275881673e7dd04e1e6e67daa7e77228dbba603ece0d7fa7db28bb1fe23b96f259ec6978d1e82a24cfb3b7704c6ef39ca6aef180d23c037a27b864826f1e923d843d16fc94d360f2ac77fecf83ae9f23fed4cce796e7ac179ff30c03c878751a7521987d8ef596f6a984132f64b689359727b19260bdd3bf9673e5ecb55ebbe7b83460e770b50bc19ddc24b8dee1de56b8eab72eb7e66208dcafd497759040efd6f7f0ae914631ee9bb66770bc6fbbb9ea12b8d7971978eb679d2f1daf59d3a5abd89aabbb627b2ba0e96c1eefa835dd055cf9ea784cb17af16a7c26ea7c6a52ea25be68f02e98bae8c3eac5a6c72c3d86e758baca8752193e35c5ce9f0c8e2c3dcc722b55751a5dac60358db2d834c54ecf10a3f9eacf9535cfb174806a6fb9dcb87dfda286fb2cf09687f387793015e1ada36a38d212bba5f4abbef13d1f78dfbb1ebeb259f9ea77bce703ef7ff7d73dd3b71e0b5760753e8088709a79e6af377dcaecd3cc6a63e2cbdf27e88b17cd0f7ef0837a8134ac6c1c1d6f5fbcf84bbb0d5a3ebdd1b7834c5f176cf1b3765a1d156f8014dbfafe8c188d22dcd711bef8c29bcf52b5c41ab46d340d1f7569ccbf71b7731d4fa6cb40c6b5a21b1703a87bc2cc2a4f4f083ff4433fe44fa22195647d05419f869bdfa0f83b7fe7effcc88ffc080dde67adeeff913cc73539fe36802ef320ca41fde00ffea03f9c950f1e6997dc5f2d93cc193b8d21e237a5021f927b9cab5eb23a6a1a6e79c23e35df5f69fa6dfe78389f024f4f5d46c7174e0ffb144cbb8fb8cfbda9e883109b89dad03ffcc33fec17dc8b55574ecdedfca439e7a77c76389c15b27c1c4e33e934c3c8f03c25d2100b31c99d60ce1ffcd2de24e4e98396b64f70bcd87c84789c366f1912e06165b8dc3415589d06200ba7c933d9784de5d1f2a13a3517fed4c0f38c6f68b5321f8049639df8a2d19ca658f583d1e3e1c0159a523a3d69ca791aa0c0794e8fd7aba99c1a4d7cfa3479261bff10769fab2f6eaecc676f492cb8b0abc9aa84a96e6d6a2d86cdb9bab5acf517c610b4beab5d777cf0b0aeed1390c3a7a6d87c681438324f8c66bce51ed81e006645afa651169ba6d8e91916feeaef195eb5b9326ff7723b036fcad38b4d98837799392f035dc3ae70a0ebca2da3eb13433f81755754b7037a9aba5a8f61d7add8e9c5767de2a73128bee1f0e5832c767cfec69a0636227fc0106181352f9ea2ced852eab8f0b2a2a7c16b2e076e1d23a0c4d3bc6673d56b7ec765970fab4d827ac7dbe15b7a5bb35ba1d5957ad57b5308eb7aa8bff6dddff9fbdff38eb6375ff3f5effbc0fbfca9dd45012de73185cc67cdb901c3858c29374d399c9ab09d2b609f67fbde2f974f0388ed64b3cdb505f74a3eb786d856bb6659a9f77401773e389d22311c3c03f44b26965e4ca5d3dedc3e31575f381b8deb394760d9f2ec28d4fbe2c2572e9a3ff1133f91becc7d7cfe574db5ef6462fc4ff0641ede6418a3e94188cc2eb93f8185e9ff09710ef81d714dc5e87cfc3f36484d4f2f18d79ada73825f13ca4d53292a4d4c0e97ba87a8268d2c07bff1e253e0e06f162fd639f9b18f7d4cce1ed53ef4f83f87eaca4d5420a6c3e7e97fedf441acb7fffb92724f0b9b0a9f45b13e8b73c6882b7acb4db3f3ea9c9f65723b3ff4bebeeb70fc48e1944c7638fb6dfe9d60a2a684fb86ca64c62fedf313f4d9f541fb2aa943de79c54a97ff52d387bed9c83fc38d75f64e90cf9a977958ec04c08b3497e3d2bc65163be7184de5ec8db938206f99a29e8c7dc8e0c9fbd5e358ba36ca89cb644c83ce67cd8dd83913af0e14fe224dbdab81e1852f36461d030c1715737140de32399cce8b2556765ec173a0af197362ccd93bc117795eb1522cfa6e3b1eff5a9bba6fc0baf0db1b6cbdee363efebe6768aecccfe6e4359babc7d3e45e5d67e04df9c9316f052cf68e7e97fa896d53347b8b6067a0842dd8ee147a81666e38becba6581ae6a71ecea7d86132985e6118469269e6390d12532c321e93129f20be81d4794aa0633110523dfd99ff8e17c8273dbce31dc6e42f077aa5dc849cc74eb3d873ace5c6f0d4c3f910a4b9cc037f861d97581a4d3f240668e26d71e0cd9517baf1fd00b1baed35c130bdf506dfcdceb1c454ef6da2666f19016b95b2456bbc3ff8f4be0f7ceda77ff173effa9677fb8347a766f821f231b6456eb1d9aa6f4b9a5bfd193bec6981439b89cbefb434aec71b47caadff161058accda2584f0b29f19a04f16d2ebd1424b00df5df417a12309c9db18224e3ecc78afc2d2cb185fbd3c076d57afd0c1b376407a26e14e4fc319af1eaf18518cebed673d73ffc87ffd016d6eb760299e8b581eebd3b7f3899ff84fe49593978783303f6bbfe5744324d56b6d10ed089e4883a5ef9f8cb607e42cc5e9cb32e0c99a19dae1ffce007cbb6832dcf5bbc4928491f81ffa5d1ff29a9f8412f936383e24f2074defa2f74cab0da70e75cc1f2d4e5cf6af9a5767f03cdb430f42cd409ecd145c265b5a9f0c5d4ed54f4892ce780e11af78b9f1fd7a0bf9d2d1987e379cc145d0e4732e5b30fb46663a9c79783a73ba79013e9c90fba2f0c1f2d9f5d833e2c67051f1f1987990f63f4c617186eb8cdf3348072f2e15bfdade68c2d81c68a3ff162c96e714abcc08d7be248b294755df4170d25d939d6191b4e330c849743804f3ca0cc73f8567fab790c7d164bff38d4c3671affa4bfdef90ca7c40b2cfc82234fff624ffd4543acf71c6bf95086d30c03e1ac16cb271e504ebe3c6d4bfce498d71600c6e56c3dea1e4eef5bd0706b19cd93ebe0b956b6cfd93a28b0588cab359e3310ff90d66371f1b688b7a6c36875f73dfa731ddfba0fe4931e36ca056358f16142af84c9ce3d00cd62cfb18a25667eeae17c08d2f007968f108634c5ead2bc6890987c04168b49894f100f57f29440c7c21faf9efecc7fc70be4931edef10e6358950fbd027b01f76ce0fb3fc70cbc29dfbd74bab8b09d5570a748f31003775a5b0ee1f480b367b1e3f938dbe201459772f2c309769ada670c17c5470eb05a0e4684d360f868e2f984e9e133cf3c6914582fc0a13d4db8b11e148f9a1d170de6d6d358cd0c9f62d531e5a33e73d09ce7f244c2f27975e6caeeca26f5711a9ecd95e5c131ee0661b191b6621daa6cf9794e3c2cb12d2a98948ff53bbee53ddf7cfe08d9d97bea894fcfc3e1d9e28d39cbe973629ad3c7ca57946f2a6c4053c6c094091cbe6f664e1fb3e1a32470a33cf3a4d9abf1f4fea70edb441fa8fda5cdb727463f46e57f15e4097b015f3e36c7a694ccd38bb3e2e229a5f2c16fdc331ffcc6dd31fa2f5c8c65209e7ef8ad47088cff97b04ba62395a1ffcdf04999c7ad8de21142c170f318e347cb1cd7f77ddff779e875081e2a1ad776d97f82c9cd030699625c5f5b7deff77eef3619f3ecd835632e93a0b70cfd9286ffaac596c5313a105f5e992b4f53fd198017cd95585d9e5e6c687c7cfd77283e859ffcc99f74ea4adefc5cfe1bc79827a7a2192bcfdbda582f9a1f9fa90369912613ebc7083b1c7378399c6e1d34e7075dd4e66a1f748cde977c82d2e656a164dbc30f5c4aba36cf4805b3fa9c5be4463c35277e887f5e4efec4fa4f9fe1e2520e97db34a7cf89cf3cf1e9018595fa74c833fe51f205bd317a2f9ef30156e68f39f59ae7889aa7323c93277ba7397d868b9d26878e6b9adb1163ce3c31e901653e27de588f92affc5cf596adf5b1b552edfd9ae2f2896f7d0f973f6c2d86d5eede5dcee931adbf78576b981e3ed7eb3ccf7510e670df33bcb273d5477faf37036fbded18f5a5836e167c76d718debda67b871a73e29aeadbe2ea4276bd0db8c8c3405d675d97d79fdffffddf0fbbc8f5ba8c5de1b0d3d4e58ae9e2ef8e9066bd9142762b712ce1b3ce50579e17e7f18d757a62f496c089912be9d32027c36b6ee80b2fbd1c4a6618d09518ee7803eac47ae35ff1b9eaf595b4954e36f9db924abea6b302d0b4b706d6152f9cbe13c32a02f3b16f7bf47b66b8e513390c3462ccf869c627bbe54b6f3cf0eb1ffff8d77fcff7e081dff3fc2f1d2750e3e71946def291cb0748a30e27a82e87f16b061672e1e96d97cda72f40faa5144a278ca5d186de546f8816cece43260257a73999d238c73a7b4f3d5b09b0557c82a7e74c009f2699bdbb3c4ffed4b37520941e095c479a4ba011ab91acc89c3fdc28270b906d88f078e715c673630278b1baec153c674a726402624c35463999ac9cb792672279893da92f96c643fb396319aa1735ff42c66f7e0cb17c4a80663e807b4587d34ca6698864e917b2f0015d8a66b13ee8de3598f3bad4b739c48c9f667c9eb7fc99cf052ff6ccadc4ce9aa77232e991cb074813a93e4bfa34f8354f9f5bfed49f9852f38c9d6126f5de6ac65fc61a7febb9b12e1acddbb1226f798c9243407de6fcd0fdbc5cf835cfdc682ffc65e8cc2e1ae46d0e31e3a7197f196bfc99cf055f34fdc7b57cdc39dd42dd4ee9dd42c914e7bf6bd665eed2835d56962d1a4abdc960e104ea8a2ec0cd8a7e77e3649a78bdebbaf086cb84ecc448cdc4309f056a26c6c4bfe27b86cd49475afe9b10cd1ddaab3357561f6788c5ce87eb0701d415d9026aa7cd473ef211a70ae50ffcc00ff83edc61d2ab2fc5a982d11508a749afbe2d46897c36f06373b81c08964f4cf548e0cb5bdeacef5e9c8e2e2d37029f96797441da72c1ced74e59bd0006ef84866990c45da2dd50fa0c7a93918f659b2013bc284d3e91f934164608fd34c5e6391f3245a05ad772d0a4d104645817ace03501b53c81c2e10006d6abc88dbe63e7a6a4e199831a494f43ff3acd9583b22b7250cd8623b54573f835dd08561e66eaf9c2e652c4c724806356efa2751f497f8660f045a51c9e2cffea39d43bcf93cf33e6749b262b0eb76563ad2b8797f029ada0febe6d7bee18c379fdef86d8b86a2604d3cc993e9c46bde3aa6bbd2f9a2b4f0246ef99248d90c62d194dbc33564a9e0d32d4758eb5513a1627f9397a3eab890d67502ff81d637c0eeaca298691d5b255d61b2804ef4b9ea6e83459ec7c9e9c2ba4ac3848e94573c581cc10a6c284cc67f9184b2c3ee5784cbcf9116b7e2e9a33e1a2a421996e4a97de1dd18bf88d7b82e6a70ffa1cfd3499b3c03025b0fc335c48fca91ca62c16d37c0298a5141f73f2f0e6f0e276197d5603f49593819fd30f67510503543fe7aeff1675661873eb900f2570e6df10eb6d1e9029c79fcc7dae9a8ddfc65c994feb8edaefbab8482d40b6806aa4e282c5bbf45a91add7181803478a0dd3639400def2ad8ea4d184ef7b864dd1c0ab3f5732bc97db1978eb91fdb6ef75625cf66e0a2e5dd7b02d8813b7a3ebe70dba41746bc0bbfee3bb11e0812efe62f928f84ca6678b8c27a899a15a2ca55e7cb8f07043c0c8052690dec81c12231b8b1e9ee772230b67d8b86a057fea0d91b3ae322478f5e7cab251c20e1f563b90918ec892e07d950369aeea82bdc9c003cd431faeed174669f9b790d02b98f063e7b3de34d5f1a7069ecf34ace21f5d1f3604999ffc86004e9e58a9171f2ebc7131e92329e3a7c9f04993dbd85bff865efef33f6337d672a8f7ace7334d9e178dde8d05d7db21745cf3099c7a62657cb8e18ac5a48fa48c9f06033f69721b7bebdfd0cb7ffe67ecc65a0ef59ef57ca6c9f3a2d1bbb1e07a3b848e6b3e81534fac8c0f375cb198f49194f1d360e0274d6e636ffd1b7af9cfff8cdd58cba1deb39ecf34795e347a37165c6f87d071cd2770ea8995f1e1862b16933e92327e1a0cfca4c96decad7f432ffff99fb11b6b39d47bd6f39926cf8b46efc682ebed103aaef9044e3db1323edc70c562d24752c64f83819f34b98dbdf56fe8e53fff3376632d877acf7a3ed3e479d1e8dd5870bd1d42c7359fc0f496216f582c4378b55d8af55778cf427d2783c16fbda60cb70d80e9b70ec204f73d83c969aa2f7385dc5c2578f5e7ca372aa57aafcf197883be7b710bf006a283ef6681718a3b95f76d491a7b59bc429f4694db871a9966677cdfa8e0a761586c6385919a9ce9f3a957ad8b9bb16445ac182ba0c6878d5bec02f3c9b9d8b6e9e5af77c72b96ec3c9634ea69e0fc538e7ffde6ca538a29ede96573b51b440b4fb5396cd13aebe6ff7cd3566fbcba5824cdad1b5e79913fbe41175bb3ba58f8b6b97cea4d708e52ec6d4d53ec02671e23645de131f99fa314bbbac0e536e50c6318ee78a741564e26e71875cdc5d6ac2e16be6d2e9f7a139ca33c1ff9fa2f4db10b9c798c807585c72ce7933f7181cb6df9cc3046c88e771a64e564042263d435175bb3ba58f8b6b97cea4d708ef26ce09b7f688a5de0cc28857d1800004000494441546344ac2b3c66399ffc890b5c6ecb6786314276bcd3202b27231019a3aeb9d89ad5c5c2b7cde5536f8273946703dffc4353ec02671e23625de131cbf9e44f5ce0725b3e338c11b2e39d0659391981c81875cdc5d6ac2e16be6d2e9f7a139ca33c1bf8e61f9a621738f31811eb0a8f59ce277fe20297dbf299618c901def34c8cac90844c6a86b2e56b39f2cb5e6b6d63710eca7035ad9b72e23eb55ebbaef193657f62aaff75ced73bf8373061ede7f9ced2f0b9e67e0ac775f405630cfe1c31da166e052bb7a31ea13d8834602759d755d7ebaf4a31ffda87b47db77973d8dda19dfd63cdcb1d30004ee1a17fda2c66fbab29a4f26f92081cb58c69dbfde17e162f349737ac22b5dbd9ae5165fb8b435e1f2af6ba466781a03c13bc6a22ef967d261122cff8db2a8f914a2fe32ce955bff8eb7575ffc9d09f2f1ad4bf87c25e64c2b814e393f9a224f85dea9d21cfa99d173b1a12f6a6b0f464973e245a5bfd56066059c7af8d77efcc7f77b2f40cea73ec3f1426658d78bc6bde58b5df8acc637ca04b7feeb12d2b114b28427b88d4dbfbac07c86173effe92f4c2117bd26595d054e5017b2decbb8b7fce9536c56e3f3890c5f3cd715bfc0c6aa793baea8e9f586bf48ffe92f0e855ff269a0ba0a9ca0ae97e456d47203e653ac7a9e759d8234a77ffaf12f32cc64e39efa863b3d4f7ceb3f7d6eab1be2a26fa0ba0a9ca0ae73ac97e3171ddaf8467989ffba2e39376e3e2fc961512fd2dcfa539e51c39754e391405d05ceb0ae178d7bcb9f3eb39d674354dfc69efaf019983eff17c5a65fdd403bc617f94f9f7275e16a82fdde8bfd80df5eb354915989bc5f03bcc4c4039a614bdb7eefc59a156685df3ab89f20685ddb1abdbdc4127833f70cdbab9887cdc92b3e573efdfbefbdecbc1d7853be7bf1f177ccced77dfbe1c2762aef0cee06f1b0997dfcc6c38dc3e54d40af4616dbede0f4e12c16d3be1c7ef47878661088d43cc7e2dc371bf9d350d20078ca781859787c87502cac4b6e094419f78c4da0977ec7a8198fe9a062f20cf369a0f318cffcf5d2388a0e53ecdb62aefc0cb10394733f615cdd9c37271db8d5a2c3b7ba002d428131355703ad3a3139dcfa083f1dac52d387f3512b53f2197e887fbeed0ebf68ac4c5eee733a4c1990cf7a81338704ebd58ca92e9f7a4f7e18a0398f3d46ad08acbe389c7a78473dbea833cf39cc705198c8d58fc45ba3dffae496c3198597c37a813336e57a6f4799609ec4c300b71d63a35f72c8fc8c3af5f0a2c6e78f5f5426f8ba341735b2ae9ac3292f3eb95df22c440eebbdc426586f0369c6e7566fcca5d6a4d931be28ff8bc3a98717357ea32f9339d4a5f9ff67efcf9e756bf2abde4fc26075655b340204025408a4a247251a1d643a21420887c171027c4e9c0863fb70e5ba30e1fa277ca50b874f381ce10847f89e1be04804601020da02a106016a107d23904a55420432c7b2ca9fb5be7b8f376b3e6b6dbdaa4eefbbf79317b9478e1cbf91bf996bce99399ff9acb51785895cfd48dccfab17d3729fabcb79655e5a495b8bebf52882b44e9d6bee7dcff026efafba8ddcebcb0cbc294f2fbefbe8c8dbbc865d0cdd20dab2eb8d07dc4a60b5db87bb46bc661afa0a9e03527d1bdbc596038d02a7cf1fc35c49337f1aa4dee590dea0c8732c813489f5c26930b004328745e9e223a4713587f3a7c784690836d6eb31573ebd68aeac0d70cf2ae75cf5ba66bb933625a6628b2eacf40959bde78b9d303ebd7afa40b1ea33f6d46ce862d5799e9af947e6f6e4588db2d88b6639dc8ea56be396c3195b601a7c5d91c6d21cd6e4a31993e763c48be3c2a7cf247d090f9fb175f1c9441dc6876f63f139d4d588f399fed4cc536f392f076ec8732c5d69c6a729b6c034f8ba22d30f4f1f936721cb41536f26e9d5956934974f381335bed8f08bc897fa9ccf7c9e1bebd4cc73e3d63bfe1c4bd7723bf329b6c0347a157c24a0393c7d4c9e8f11f7f3cadcdce7eac579bef30478279f57d65c2f5ed4ce64ab926568ef4facc85661f96f5db6602978355257ebbb6618b975bcfdc0d671025df489f5c26930f07dcff0ce9c2b3fb87bb99d8137e5e9c525eaba6dc36a165ce1de5ab856f1ae5bb8eb19b33709f1944e68582ca0e473eaf3d1c5596fb7039e9a919984ebd5c5e17c2bb2dc74f526244d3e30679815acc473c34c4fa34b3e8d856f381afee58c494fb3d8e556feeae54363acd766aefa6b6366a967150b46c7eef75e76c8ed9c68da12056e6b2b629baae969fa0437a6cfd29029e770f904ee32caf4456535873336c304d59848fae140fcf099dbb0ded37f9eb92d07fcba4e107eb22e760ea561ac31cb614c3e977c90ca347cc2d5bac65c8e45f331f4c5e3876625b7e197f48378f8cc6d58ef25b7f4320196e10645ce7364cca53e8f284fb5b1e6b91cc6e470c9a751a659563185acf78c2dd533abd2c0d00f07120f9fb90deb3dfd7346e6b61cf0eb3a41f8c9bad8399486b1c62c8731f95cf2412ad394db18600c70c66a3e443e0aaa3191dc8603f1c3676ec37a4fff79e6b60c1f867c798a9e20fc645dec1c4ac3586396c3987c2ef9209569f884ab758db91c8be663e8fd1afcb8d96bcd3539be1da06e3df2060608dff70c66a0a9d85cb5ff89b4457998a9c70dd86b3957ce8a7bb99d81b73ec9bbedfb8499ee5fc20367bdfb60773135e6c435d5b7c5d9897c3c4bdf022ef2c85ded094e996f97fe893ff127083af56de29deeb00c9deb81b05a532c60bfae3e711ae1dbca276372f1c4371630bc813085f498219934c63a137b887cf40994ea990f5c26e55cc2c429ab6b3ee9b371a724cbbf34f097e3da21e8caf3920ff24ce3d33d573d81948cb3a8f4008c2eb9c17d34eba70ff8cbc834e1ceba8ef1c77eecc79a49f9f77b2f8042f3e422bddec045b3c053360d90401daef9dcfff7329964c281e199e4331e38f1396efc63ffc71de334c08e7dfe1766f9dcfa6cdc333659cec340b631f31c48a0be585d7cd24fb6f093876772da5e341793350bd9b859e579d664a77232e4469ffe51fbd6e6afe66d3e8b2df094dde6333190d534759dfeafd02cdb5768329c60cd988d9b55c99f35d9a99c0cb9d1a77fd4dee7eac51de93e573b497686989370a7cac963341752337de2dbd8931f5e60cc3c0712a8fb019dcd347585fbbd97966f6ba53f0eee3739052a489fa6a96baa2d557e51d36b19eb9a258c4fbff762b106345b078bd58cc91c6e5d16db4a177f2ed6180eea02d5e1d3e735d8339c07f8e43122df6973e54cb8ffde8b9fcba5bc29ef5ef6b6c13d027606bb8c5dab4e8b801ad68b7489d26014f315c62b347a81f8709ecdac907c8a858d45aff669418169ba11a869c4225d3330a0f01c2f4aec6d6e62f1f98b8505b26a2cfa529a8f669990356eb1f1ba143eafeb5cf9646b730537571e729adbe6aabaa5456d2578122395b357e098c7ce8fabeaadaee3c42783af2081eac0c9c08daef6f4beaee9173b25a09cbca6d80b93067febdf58f4958b5b7a5df8136b5e985353ef59d75b1d7fe2933995c3138f11727b2cf321bb55ae17a817b8cfd5e354bd38274d48b37a9f2bf370bf0677a5ec2439999d2df7b93aef36cd55cbb1f5ba3b8cf5daaaa4b65af5bb9a643498fb9ea17930572ddfcd927d4b7b1ee0b59cabce937b7d998137e5ddcb073ff841f7cd6e134ef47316223178d8f6bd8b41dd0300a64b0528703ea75e5721d3630a197fd1a454df8e552c1e50cacdcdabe42f8609d47882d5e34bb866b1f072cbf3d4e8dd31c22ba7062ef346fc1999ab3e82929e4cbc5729cfdebaf4e7c8ac9a78b979f112a62180cd838fb29a0def5e5a18f47af7924f9bb361a0353870e135e923ab89a72970f5c9c305fa9b639ffb155fa1e9250cd0e8756515b35860fc8937ca459f98f249fe32d069182e6ab1a7fed67321f349b366e19a954b6e97b1682ee36276ece7f15ef8cccf542ff88cbde4b0d85bfe62720e1a2edb6acca9af797a2e24a056ce9070bcfa8c851ba53acdf0020b3995759dfc6237c4ade67498fe92cf85bf98dc9a5f3c4f3d71bdf32cfc5673b14d3f123847b9786e128a5a1358d4ac2eb1277fe2333643bd97d85b9ee034b9c5cba7d8537feb5ff8ade662ab59b9e473198b262670869cca73b8e917729bf625f69243a35c7c9e34a1bcf0a7f325819ae758850b99cf25a42e64e58c852f63d1c404ce9053097ff7777fb7fdf77bdef31e6ba815ca2a86acb67e59b6c234962ad8e34def5ed4ad5fcce31b05260ef33c17f1563a02bdb0ba751f6e05af1e7faef5c5ea5a78b1a746ef399c66e5d4c01c36e2cfc89e410e25562661877326dff1ee60693ade65fe199e2b5f6bbfbf7be92775d66fcabb17a7a633cf5b05170c600ad44aa7ac0b7ebc4fe2ebc5d0770663ce3730bd9d108edfdb8fae0a9b6040541a82780ca0747301289f1b4b577a1749b9f1c1c0e5bc7c0079e219c20a41c7d2f5f630e4e358baf08f92875ffb01f0c4e503206151f1f2cf27cfc64d33feb9fcdfc97365557080cd83e3bdcc55fc6d6d89aae802aa5b8a6ef95b86fef2c9bdd846493ccfc8f4f39f32664d609ad3e1b9b1a63f7d6e1db2222eb773380cfda52bc1eaa232597d3bca4ca689513f97ff9c03a77efec8f898358169ce119f1b6bfad3e7d621ab463c710cfda54bf32c1dc8990f7c3b8a902795f8e7f29f3e9043faf96b2a1b714d601abd69d4cf8d357d519a63ced1b3d235325c2df6d2a57996a23259fd649e4f2a593d97fff401cafce9e75f26f8f318934d5373b1f3292a0775fad3e7d621931c4e1c437fe9d23c8b900a12a8be1d25fe5689bfcfd58b197c397b9f8eb9e2a958552d49f73d431b0f3b8dfbfeca243831b6bf7a3c4deed57506de94a717b706fb547f55a38dbb69b04dc76802784c4d18400a896f67bfd87c088408c71320e7096016cb873893799ef9149b8f5885bedb593ee53ccfe51c5f0e0c179b201f58e988304cc2c8f4e569447cf8cc6d9e7a8590a5a909e7b6e3ea30f1f9e7298a0f065f029a8d08ecb8003ef84ce679e6c350483e8042ffd39a2b9f61302cd64b980e2a9fbdc9d9e6001f4edfafd0c4dce234d303692eb1e3db555c340bc7273873c0a407289534403c407ff13c7d0a544f73e2f92ce70c9743cd91e31be2e46ff3a977e32e3670f28b1512ceffa2d970f804a7e78e0ba054d200f3a7bf789e3e05aaa739f17c98e4830907cefae41b62e262d531cfe5363db07cced8f1f95f340bc727d888c08e0ba054d200cfe573f129703ea767033d978f2196495873ccd28854dfe653d4e93f1fe0e4173b3eff8b66e1f804cb07d83102944a1a60fecb13089f3e05aa37ee89e7b3584c3870d627df101337ae3ae6b9dca60796cf193b3eff8b66e1f8041b11d87101944a1ae0b97c2e3e05cee7f46ca0e7f231c432096b8e591a91eadb7c8a3afde7039cfc62c7e77fd12c1c9fc0b8d6a01635ab9eb509e333352b14fed3ba0e5a43b70e5a43cf7510565ad9e5238d30525311ab6e050f9f6bf4a3e445af10b2344c34e1dc84c4779870fe7a61517cd297c04604308be5439cc93ccf7c180aa1a70114fa9fd69e412cc3c57650f9c04a47842955fec8f4e589e9b890676e69ea1502a427d684e79cf25e9f33f0a63cbd788a75d274faba3bf494df198654604ffcce9e66879e26193d127626c1948f3d2fdea2e81225963f5e9300135e2c3e0c50f2cfa75818af94e7b011e5a6c62379d2f3416a8ed7d495667a4049cf1f1622d6e8f9cb39ff47e1432f90cf6b3957fd45978e316c369ac366c082d1ccb4b4a8b7de8c014ebc4f6705d655ef9a81f9d04f369f346708ac88a2a93e19f83636fd3e313da374956726d3c4ab374ab6278fb9e831cafce13900e1ea47e18b5eb81ca65fefc401ce80429f66cac5ea5dd7a3f63e57f7b97aeb4ceb3cd94912b89f57a6e57e0dee1eb2f3610c70e2cfc05c3933db27b4673022a67d42bc6f0a6094fb9ec10c9c73153ee72afc5aced5e32970afae33f0e2b3902bfdc9b5bb05f0d8bd60b8ebf3e126f1b2605ec2877b6bcdc0a576be62d427f079792450d759d7e52f7bf8bd17b887041b7abb5529d9b9b69517a2d9961d1956931107d4ca62e33162bbf53cf6bf1582cf9cc9e9594897628205964fc9e4599e0486cb70b6c8d23bf9c62af6549eb8044eff8e8506b9b186cbe19d3957bd2de9582ebff7e2f32d47b44fb9f47a38a137e76abce3f2ede1be5e0c3b3d3ad2f36f8e990d27a77a9bf5d6bcc893bfc5b7b169e26f7dfabd173cf079ef7bdfc6a5bf84dcc69e1a810946029857e45cefa272b8d4b93da9ac4bdd101b2bc3578c3bcfdb58ccc207a6df4031b7cd850c2c7621ba04261809c44f7fc9ff1295c3a53e63e7ffeab1925dc63a7d868164973ce39ff339d3a03c9b0b1938c79aedabf3cff3923fc3332a7ca937d6adb2ae1238fd6ff3147bfa0cdfc6e613ff9c4ffc190bd75cc8405d67087c1e4b81eaf8e92f395fa272b8d467ec65c4bad4d96eac6497b14e9fe1db58ccc207a6df4031b7cd850c2c7621ba04261809c44f7fc9ff1295c3a53e63e7ffeab1925dc63a7d868164973ce39ff339d3a0d4f47b2f79faff5eb649c0b72a01562bb5627982d5d6ac62d57dfa16afd93ab84dfc7dcf60669a5eb5c5fdddbbbfbaffdecb7e8e277853debd6cfbbea78e3db5eb3abf6709bb0b204dd3792380bb1da8e35d0fc5ba2ad2b7fd0db7fb67a2374fbd95fcd57b5b829fa710faf26cac70fa6269c4e2059e3e672cacb7da650c4bac9abfac6035015e01768c5df68d1b3f995838e78e6bb1786539e3c3c873dcf439841dc263e86762aef6d6c588f2dffb96f2415a2aac4c67416a96617c4c4a755113d47b2a632eb5e61cf27f7294db284c655197b12c720491d3c42c5b7c183f7db8ac2efca99f674acd95465107f081948d581d3fd994273f0ccc8132fc53c612accc1f18d6bb63bff09acb76f8d48797c97cf0a71e1e039f255e1dd015d8916a9643fc64539efc303007ca65b8a1a73c7d902be30bc1c7ec182fbc66796edcaca6d78497c9c92f76a3c434c4eaf506f08173c47298f2367651d30073d0bb0c5f1d2b6a659e85e063768c175eb33c376e56d36bdee7aa397c13e6aa75ffb20e7a44f1ff925916ad4a95d6fd73adc7dff70c2e9637647fd55de25e9f33f0b0513bdb9f123ccfdd83d886778fd6ac605ec24fefbb97b6e6ae795b6a378bf3b95c7abb7de8a5c1b82ad24c0cb4cfa629443337cd30a09ca35cc2177b9a4f73c6de1aeaa554afab946e73e8101a0bee582285e34f0166055fefea33b764670ef9fc4ccd95372af26c12f61c12e9a4c2ab7d8e450378e5120634cda13fe402f86003f6e3e8587af782ef60b7a169cfb1890268b60539f14573f1d1ccaa907cd4fd7f2fc05ec29c39e09573944bf8ade772bbc46a269e6120d97c925d72a8f90acd29c8b0ba6c6feb8ba666990f0305062ebce6ad7e21e7880b5ffe27d810676ce66a65022066e19ab739247b85e6146458dd40b7f54553f3c971cf41c9cee6ad9ee0c9b1cef4125c9425b0d80d345920d9ab73b88c9555e48933c9b07aa3775cab2f9a9af50e0385072ebce6ad7e21e7b80ba79f6060439c0c9c786440adcc27cce191bef2c8ba2e798e2c6a7599dcd613cc10b878d67526966621b7fa859c239efa0906526a9e0cdcb823036ae54ce9360786afd69c8247bf17d599f3892f9a9a4f8e7b26467636a7dffff76201b55af9ff5e8c6525b229f2004386b45af9ef5cc223015dea12d8c78e16b2feef177c4b3940a9beef199aaba6c59c6c42def973e57cb8ffcdb17e7c67fda6bc7be94d4597716f3c86776dfb24beadb0daedc0c95d576f1b60b715bc1b8d0b402180cd2690269e7f3c3dac16abd074930aabfb49a4118b5117abcb589a007eb8b164985e13a631ca99037d81c5926515afcb28f3d4d49b00964ff31056972a3eb01c34dfa573e5932dc765062a1d634707b7a4556bc6ac090cbbad6c298253aae169803453d6b5fae417f530ea91093e7f24fdc6c52b29c33531b71aa4926c607aa04c62609a4b6e75a92b99ac06c27a6ff1f2d1d5b124834f7d239ee3e6597df28bda5869f0f96bd26f5cbc32cd9a985b0d52992650787c99c4c0c84b6e759d81631eac1f4bbdb778f9e8ea588a850378a011cf71e3cfdef0a23463aaf1f96bf2d9b878659a3531b71aa4324da0f0f8328c819167ce4f06269ec9e97fc1cb07dfb114052f1c68c473dc7caa4f7e51baeaadc6e7af49bf71f1ca346b626e3548659a40e1f1651203232fb9d575068e79b07e2cf5dee2e5a3ab6329160ee081463cc78d3f7bc38bd28ca9c6e7afc967e3e29569d6c4dc6a90ca3481c2e3cb3006469e393f19987826a7ff052f1f7cc75214bc70a011cf71f3a93ef945e9aa576d01b2f2fa93fdadfbbed2ecdb01db3358a7ee7b86f61be6ea7193f2e2ffbed37c73f6570ef65e6e67e00d7af7e23ed2f6d449ef32705368eb3ff2323bf8943d2ae8151203f7ccc0a7de35d31008cfbfb1306223179e6c7c26977c4a83f21c0bc69cf96cdc79022be5b07cf08b5d60e3ea928f7a699cb123e71c28c965889c3fbcc9f994cf95cfa5f897b0b5a1340099781553ddefc3f898cac2706232a52332330a3db7e7febf1762bdce2275f8d2dc42157fea312bf89417fd5eb90ca414785a0d07f45e7c1aa8d8892f2635050e9c7ae42b3cf5ae3c97c3edb842365cf83636c1cc816575c9e7e25fefc5bff0e7c68a572b1b05be359960e0d417523e0b9f12583935b7f81c57c8d9849fd3cf1ca049f90afda929e4ed8c35cd39cac8722be10906362246b9e41699263c2670d19f6385c91a7a5d273ff23487f139bfda7f9a42dece58d39ca38cbce4531aa7f2c97c163e25b092a7e693b1485da766cd57e8679e38e52bf41dc8793802cfa19f8c9de61c6564396732c1c046c42817ffc8e553539de7adfe1cebd42ce4e27fea679e38e52bf462a739ffbf172b26072b9a55f2fcbd170f4b482178b562cdeadd4b62513d5cb50e26086f456ee5a53cd7e52dfdf8964e60452c8165f1367681ad9e42de457b86722e6199efc0dfc97375ffbd979d96277853debd38471597a2b3163005701301786b11e90cf686219e32dc65ec33123cac0e032ee39df4754dc3b3cb9e06360a41831665c49886ee33984ce88104f03ce553acfacc8140a157681a85039ca1de7c0059892d9f78514018ff68f346cc954fb936573efdda949e0b5878f5ba2e8c35635d4da61a13a96e81415286d795723510ce3359ccc99f0c5c21ae6802d527f3a2fbf19f696ef3c9adba90e5af09abd71bd80cd455d4a9193365bdd32c7063dde7ea3e579b819d1e01a7cd8599f27e5e5d66e63e579773c684ec6cf9199cab9da85bf77de86619f270b2df7b6985baef19b693d95cbd39fbab9d277770cec09bf2f4e216a074ba07e03d09f437b6dbc4875d214a7f6f9b4c487c73076f8bcf0749a33e310d87f8621b318dba3432f4a444437ceacfb1eaa259549e8668dc3e4b284fe6d21392679a615d618169446d2c4053612230005376388dfb1acc950fae7c97d46ad15cf9ab2ffb1ab1b734e6c1aaa6849b9fe7f016424029563d9f13bfda536f63e5738b794e937fcadb5a2cf2b99c9ff349df10c29572c0c3f1a766585778fa80fae467f260fd49cfd5f2dc58792e8704cba1dedb9a0079e679c14ffaa4590e1b1a0fc79f9a615de1e519589e35670228c84fd85360b1f9cc3fa0964f82b03ae56d5dd72bf27fd267c75ef8d2c0c3859c9a615d6181ca7378268042f9097b0a2c369fc7615fcc46580e09964fcadb9a00f95ccecff9a45f0e4b030fc79f9a615de1e519589e35670228c84fd85360b1f9cc3fa0964f82b03ae56d5dd72bf27fd267c75ef8d2c0c3859c9a615d6181ca7378268042f9097b0a2c369fc7611ffebf17c0f2aab61ef5e81256b7f2aac32dc7b072df33b4213115ed495ee3b97afc81dfabeb0cbc294f2f7dac6e9fea14879df78ac980dd05c2e7ad213d01d25b0b51627b42681f0feb6a3a75d1e081420045d4de78e8f526646319b11b969a8f267d63d12c9683ae78cef1310dbde3d275e6b071c5d22cfff41c8c32ac576e19aae789878995f8e5cf56ef99035c9e1b0be3e8c48ad295f892271ea3885ace9fa6b9f23a5e0e0de7932dcf2a7dc6bf713dcf10585aac31d59ab7786f06ea3d350fabd3cb371e73c853add43bbcb14e269c786e13604e67bc7cc69cfe17878d753acc7f0e1b68e1d3c424089f9e27337c9faba66b73be791e739fab66a089da6cdccecfce4373783faf9aaecdd2fdbceacc31214a78f53b79aeac47d26b1d74567b98e9773291d6c17e07a6f5578d89a7d7140b58bfee7b864fd39e617b21536d9e8dd2cf6b7b06f34fb33d4ffaf63cc37a3f25fbab4ee37bbd1978f1e1c4da9f12d0ed83d5ed7da455e7e106f3b2605ec2876fa4d40c5c6ae70d467d023bce48a0aeb3aeabffefc5fd7d4747d305bfedb833ac5e5d005eed2c8c473a4d319da6c309aad338bf8bcd4d7df2a78f28bdd35fc66a5c240159793e899ff3c717a86eacf3181d42c7a237dc5861e40a1fa357dffa90fd0cce951ffa12f63b2dcd8f4fd1e4d98b1438de3906a7d7358c1745cf477138fddecbce1602e43607b718b3429c72fa5b1fe2648162c9fa75174d7f7cec73bfe22b2e3ef859155262f1cf61bd97b132794efff6f9d3678915aef99c4f992fff94d3dffadce68f997ef8e213af5e792e9f9327d62c87f813ebbd1d37ff9f923f7dc28df56acfccab4b6c7581eb5af3927f7cc7325cb6979cb3aabee8236ff597b13aaeb713fb6acde913964021971c4e9f4bfe29a7bff5c933fef4b9e08b8fa85935e2451f59d43040768e7562bd17fddbf14c73fa841bebd59e7a574a6c35fed607992050ec6dce31173e717539c317cdc9ebbd8c451c99c92b624f9f5b7cfa8467fb0acf06ad2eb1d5c85b9f3ccfb1925df26944f5e5f75eac4a48a57d8b85c9da0a5bb690d66b1b6200dfead6bed9103416afd67764ebe07dcf60669a43c012dffcb45f0a23df157375ffbd173fc1dbf2a6bc7be9c87b026eab0ab75bed3c2668bbefa93a9ecc8d201203a739b1d85d15f1dd32904ab118b1798645d5354fce4f8e45593ef4610ec3a28c9233ac2cb778b10d24766361f02edabac2623130e5a3d3c35f1e03f2792de7ca92d09c748c6e104d88e5a1c5465d310fc0eae6074319b678ac37acb9de4b6c9e918bba68cae174883963634a60fad36738708eb5585d67ecc9e7bc7a6ef9d43cf598c8b32e1c4319fed4ce55cea7ff18a062dce5393c8606b93a7032a7327cd653022b73c3c0354f9f917555170e5386ef73d5449db3749fabcd46e07e5e759575c9acde2cd5fb8e9d2bdf08d89ec17ad4257fdf33f8a9598eed46acceed49dee4fdd5ceea3b3867e04d797a710db8187c3f12b04d773dec773fba489a9434dbd9f77dca4260516e2b7ac3852045c17926ae79f1d4d42b96dea5983e4d7c589d667a4afa69e03401984062817293e434023b2e408842a316122e568da751a67f8de7ca3bfa7eefa5b9f27b2f9e674cda377dd337994fb5ff0de69bbff99b6135f1f0781ab14fea69f0a2f249c3817e3e27a6fc4b3ff0038d75894d9f0f5c26694efd6dce17cde9b37ca6b9e4893fc72a561ddfb8cf1dfb6760aece7c64be798ebfcfd5e6e7f2b3b8cf959939afbb13dfe76ad791f364d7f8cea5fb5c9df7db4f7eae4cb2e5c6ba63c135b7304fb562fdb53645ea6d3f60b196009c263eac4e03c453d24f03a709c004f73dc3bb68aefcc8eee532036f7dc7e3d2f1c934fb9c83c3e5f30fcc3e4dd455c1bc849fc66f8efdf13ffec75dae6e07ae5e9f70bce73defe93286dbb2ebf58601ef9276eff016222ce77860b13019bedb0d5b7ab8db4dce0cf3e9b6323dde3563dce937567cb7a76126c5967363ed5655ec8e85a63cd51dec5923c777bcbb5de24bb8632cb71deffcdf6973e5162ff3e60a6eae3efad18f9a87fee8a4bf2416ef1c3357fe3bb08e45082c964c14d0bb1753fd955ff9959a67f1e9a6b3749f88eb3a3fef1c6f8813fb1a404cb185c4243b3df1fff9fbbeaf2f8ced2b64063a3d4b693eaff04fb9b100853ec3b09ad525873c2fe3a6ccf3a7ac2f9ef425fc0acfdb7c768c8022f69267a4fa497e4912307fb57f621ae2535fc2b7b1d3dfe7ea6166efe7d5711dedfc01769e3c9c55c779783fafba663727c01b3b57dff11ddf61f5b1f29a012b75ff5ba5df7bb1ce9a255f0ff37b2fd662ff01a50d8342e9f323621a6b1c416bdf177ee1172287ef7b0673f53aedaf9c1bb631561c17cb873ef42175c50f1d50bb0f7ff5577fb573c636e61bbff11b7dfbdd4e865e7d29ce198cae40384d7af56d314ae48b811f9bc3e540b07c62aa47029fdaf2a63cbd7cf0831f74429bbbee14804bbd26e0e480fd0823e3dbd4daec16928c263ebd5ae966514d46ff0acf76cf69c4cefcd1e945b321caa7c78fe90b69944226d66cdc723e73d045365e936dfe25701b8b39bb6a9e9e3032be1c3ef373e5a2dde1f7fb2d7270db929b2eb9c17807a2a9f476c56506d3b880f790438c3127ef7ffffbf56abaf602c3bb1a2f7c02b5f25c6cbd17cf53bf8716bff7f279ef7b5f5de9cffa499fe7f239f973ac93bfe0cb31d6bc6896c32b3c2f3e941d4520876cc79f9a5b8c79523fab7ccebaae9fd29f60e6c0d97c756ccac59e81f99cf376ca4e1ebef89cb1972ecd4b2cf1a90fab935df40fd2c7aef8b3aeeba2bf1d8b2087e9d77c756c81a77818b8c4aeebc2dfe7ea3e579773f25d7d5efdbdbff7f7fc40156f602c64d62987630db22a755c185bd2cbefbd24b35a4d036c1db4cfb9ef194c91f931b1803abce6e60affae98abfbefbdf8d9dd9637e89b630ede85edc4557636239dbe3e95073a95cf39da765f480f3f7a91f4ea7cfa9d10b11878e1d3b87eced86e2e64f16522873479960f4cc3566f98a6ab516d2cb17837bbe9bb1499772c78bd344a1a7ce3e2c3e50c77681cc2c62ab066c7a5773e7064b53c39138bea5832a47f47cd557fd145921e5d242649393b16370873a269756c81545b15ceda4292405d9912a8bcec79f817b3fae4e19c2f21e90b39c70ae730cf1c66bbd8395ff41b0ba0596ffa18b5b152c693cd79388764f58e99db99ffc6cae10caceb741e3390675123372e708e759fabdbe9bdcf5533b09327703faf2ed3b2f3e432519af7b9fa34cd956f076cb6b756fad0ed5c43e156dbd6ee56644c1a6b19a67519a6b9ef194ce96b36573b49ee6033f0d62779a33e79b0ebfcbc1b86b7cfd0ac605ec24fe337c73ef0810f78e5da96dd01baf2dbd6b77f75a277d4ee02617701cc34d347aadbf2b6dfed6e729aa43ff9398bcddcd00b41566e650d2164fae17c04d214589da01c5e1a3ffc9b3e43cd8d0510cfbf669e643bf677e05cb9cb3f1cd8e3a1398b3a349f5449b52ed8e758e619e834ebb89c0c0e536d4e000ecec380772f9ac46a6bb65ad10cc763ce664bfba3f0c5323f1cb8843fa9ef950be5f9ee6503010dbdd8251098e00c812b4b40733ecfe1047a1bebac73db88354fc33c139c3ef1eadc0abce0485167f845738ef51cbe1d6b86810980318d5ed7c8e786181fc80716b83ac359d55ce09a094e1f5d939dfc899f0c6ff4ba864fff5b7c3bd634810980310d51d7c8e5bc9059157be60feb5d9de1ac6a9e86799e8679c6872ffec8f84063c1b3bdd59ffeb7f836769ac004c018b8b2043497c373f8921bb7c24ffe85efe33fa7619ecb2dd9d9cc6dfcad6763e5a37e527f313cc5392fa58134054e0f8c29f049d92b863bf32ff3d5195efccf7cceb14e9f78b5d8933f71e6984b6ea7267c11ccfcdbbffddb61cb9365c8d7c62cb5bd75c108f1701280db3859c57c8bacac565bb622317c885b07e1ade9c30099d23ac85f780910bf097b0607db0c3415ef8ab97226dcbf39d64fedacdf94772f7efc2ececed77d62e1c4ed06d18c780be1ea855dcf7d0ad276b658981e1f49c630b1a879ea4d6fac78a090cb9b19bde369146ef3c97f43f4c90a3dd9300ddce5c78d7f5766c7d5f10ac1ab95f4c0c67a18f531cf3c61bdcbffcce735982b6f5d9a2b6f5dfa3eb103f42db21d6f936fbd69c9093c89055e7a63aaad1f7ad59a4a0b0f5048e0acd363ceb271914f8e35b7f9a75c8d9fe674db2867ef897338f30f2fcfc417ffd3e1c4b9dd321b45d73956e9bd5aaf37d9c4b955dfc68eb9cf5553b77a3373cbdce76a73723fafceebabfb409383afdce7ea3203a605f353ce556baec55a71c56dcfd062649d7a39c10f6bfd7dcf70ee4f3657ed6d5ee3fdd5ce813b3867e0adcf154ef693c4bbafdd5ecfad88f815cc896baa6f8beb1ca93e814f232281bacebaaefebf976e07ce785b58a73be07ed1670f2776ec3d037449dc3ea9dfc6b627362ec3c261207f40731aa06635b772584dafc4d39c9e99e8bde5e7b663c944cd79bd1b650c411af50e39f0ce9f2b674e693b2e274073e5ad8ba3eb77c808e2013c6c0ed57a1de37eef45a037f8ce101abfb5df92735b3fccd4cb4f0a1b3acdf8c834b79858d7028b5af3fcbd17bfbe9fc9f4354fcfbae6799bed85a15fc8e9036752efa3eac5278ea7c3f8c9cede5bfc9c7efc25870b5f4a69c297715fa1d7553ed3143bcf7a5f5117d8cc5cf2cc24c3f94f99e7f8c95e31d6e97fd1cfe7d4dce2528abfa477c9e7d4dcfa186e5627a0cce7c9ba24a73973ce047319ebf4997eb2b3f7163fa71f7f19ebc297529af065dc57e87595cf34c5ceb3de57d405dee76a33f086cf95df7b69d1f17b2f96a4d6266b9969b175b13c3961026abd612b97972dabd35362609afb9ec15c6d87634e9a99eaaec130cdbb62aeeebff7d24fed52bf29ef5e1cb693b80718a72c7c7e92d1194c63bf4ee3ccde34112b98bd9dd015ee0280011a26f913b87834b92df6c1e551e313025d42d47b5b2204333d1ca3e6898f39dfa2c4cf9312562fcf9ac536a25e05530e04f0fc35613343f31acf559f663d3957ad160e7f1b20d86230265e5db1c6e86a014e7362cc590a19f3d2e3e15fe4596be69366bdf16aa5aed598334fb8dc529efa9319a6bf8ca5a9f7f48c996cb1f19aca737a9af239e7e7c485af3e4741d61c094456e773e9d5d58897f062cf3ce15379eac3979afe32d6ad67cc6417074de5cce1d4c3e5d37151c64cf318fd5685af2baa6675b1679de7a597e09c818bc399e77daeee73e5f438cfa8f0fdbc6a5acc4613b28ba8e6595fe6ca57c51e623e7ecf6021f64d018b94d23ee1be673003a6e576ae6c8dec79de84b9ead8eff566e04d797a718a3bbffd21c29e2b1c3fec7a00ece0dbb277a7c02361a442a3d02c36dc0ce689c9a7d8c6128b349c3afec448027ce2e5105f6ca3d34800169e0ff1f07203e649b066e4fc0da78b4fe6f3993f81f21acf95ef8f7af7625abc66812f738557daccb520f948aca6baf73940784bd43462d33cda5c7d90420a4f901e5373b164c369d40d97b83acd89c934f1896baa034fc6a69fe676dc624ffef4091b8e8c665de93515b87cd4d3a46fdc8650cf275cf8344fc6e6796a8ac50b87ab970f265c174ca94c19783216798925ae3cc79f3ee1c6a25f57b19a0afc98ce43358d21d2341619309ff063f48b13297db2b05ac933accef361a4fb5cddafc197578a93e13c37eee7d5ed75647e223ff9b9f2d6855b6bae25096e9f606d1a6eddd7b44cc389b7a6c7eb0ab4beabb7a6e389b7d6ebd2e403ccf3b20e8a9dbfe1f24402f3993f81f21aef197ec6e7ca8fe95e6e67e04d797af1d4eeaa738d9902d895a6b83e35c77b827741e2d57ba302178b2fd6053c9fae7f3c3d5c2c7d1ab5b71c7af161232e36434cb1643470bc266519aaf329761afaa20a198f94837ae352a689e7a3c001cadeead0ec7875e58354cae4b599ab3ed972801da3da31f65403b726ad0656f4eed3770b18bebaa864b072f2a732cdc91023573f04bf2ce34f379d974fc4315306c6e4847c923f7d4ecda2f2b9c4d6bcc44e99cf34356f8f37be81cea33b95cfc536d6ea4c1a517dbae93af33cf19940b1f35973e0e273c62e0a38f962ab2fe34e997e9a9ae70c9cca063a8fee543e179bc3ea4c1a517dbae93af33c71e667ec70569a03179f337651e91712a8be8c3b653ed3d43c67e05436d07974a7f2b9d81c5667d288ead34dd799e789333f6387b3d21cb8f89cb18b4abf9040f565dc29f399a6e63903a7b281cea33b95cfc5e6b03a9346549f6ebace3c4f9cf9193b9c95e6c0c5e78c5d54fa8504aa2fe34e99cf3435cf1938950d741edda97c2e3687d59934a275c79a6b8156da39ecdb0118d8ca7baec56231f73d8339313f6fc8feaa13e65e5f66e0cdfabd1797bdfdb72970eabb65acbef0cd91db8acb03a654d72c2a413c93c281f189e3e106d53b71587d6aca6703e5b6ba58295dc63df570fa1e33765ca78620194dfc99fff062cb6af5856fb87ce0cff05c79ded884b418c80190adaf81e9f269d69a3e694e1fd9b34a51fdd9ca7edcfd6f95d6a40e2dc1962be493383d71bdd39cfc69988f7afee7efbdf8ff5ec6079e1c37f3d36478fa27f3d1bb72fa232fe32efff4b9c1271fbe8d4d76facf3c716eb79e17c3dbe14ecfb739eec5b3e6e9039749f50605564e3db2e6457f6a2638c5b9adeb564f70ebf9646e62f1a761b1ea27fd9fe32f395c3c6bde6a1a7d0395c6ea537f3bee939e64277f9bc6e9798b170be8ad3e3d2f866757f8f4c4d49ccfada651f0cac4c3c099c97c96c643d86379f5b8e94fcded58f35cd7adde50971c68629ee4df4e6e79aadfceb8b7492e309fe7f2d1bb721e17f2326e439c9a094e716eebbad5133c3927944ff2a761b1ea27fd4ffef27b2f9eaffacba880f5ab63f14883ec5bcd30d212ac69cd55b72ed36f1d2caa7cf412afabe6d6fd2dd689df903d437b958ebd037fe7cfd5fdf75ece9fd4f09bf2eea5ebd6271680d3d7f1c7c05dde0026bed971cdbb5938cb0b696b0b63f02935c3c24f3e077563ed13024c6f481a77b1cccfb72be3c97a2b22b03cd579624495737a8cd2a73278ca8d85a759601a4d37ac624f9fc50285c4c0afc15ced7bc697b97283d8fc58755a786802ea2d5a63ce5ee42d9fe0e43191b9d515b33ab0a8cbb87a13a82f9f260a59d4739a7832b1893195b379fa9cbde381135f34979ca7247b8c7b2b3666e1a772e4ed5c9dfe19e673f285c7abef737599f9fb5cddcfab5d1d5d7735efd7e0390397ab6633f629992b26ad47adbf9a4acbd0dec060b68e5b7fb737b8ef193657affdfeeae1b4b8979b1978539e5e5cf68e7ddf1fd5f4b0e1faaf8409e2dd3edc4d90e98bd50414bdf399a7c78070321840e64fbf9d71b1e32915b6f847fb17794a8046179e9570cd79e2e187c8c742439f267fbdf47089a9e10c45a459ce98868e87a7a92b37e14a78bc41df5d73e5fbc43dc879f7d2778b3b22df3f6e42ec69cedf3108231df22d8fbcf029e32fb885f0e27f6a6efdebc54f060ce35b682f39dcfa94cf45cfa7f047cb171fe1cf3ccf729e7fbdcb47f376ac691a74b1354ffd39d605bf7aaef49e3ee18d3b2b6098a6837d453e17cf53cfa7e6a3e57daeaed7c27daeeee79519e872731dedba3baf97fb3578de039b22eb8e05a835d797024c9185a9b5e9be67305d97bdcae60ab05eb727a179bde7aad3e65e5f66e04d797af1e98573dd3edbf10fbb00fa2403e9f601bb187a06c0b42fef29a258bdbdb54076bb214be0e97ffa34357952a6c1d32bdcf0466f2cb6481a75b9e1e1f2a90b4f0f2b78e2f43026fd3494f249af0b3ffddee4a429b6bb40b8637c2de7aa4fb99a2bbff7d2af48aacfb93209f6616dc5f676c232b34feeb72aa751632e780cb70c5707e80b99b266f543cccb773ee5f0a07e2cf1279e12c86d9e1885b87a7c4c248c7fd0bd3cf0e963aad3a8e513265ba1b9cf95d9b8cf95196812ccc6fdbc6a369a906a73b2f3a4de2ea2fb5cbd9973e5a85bcdbdf9b7f2ba8b6a2abe12a6c658a79a99fb9ec1c2dd36c67ec6ccd4344b6fc2fe6a57c71d9c33f0f007c5df84d2d3b92dbb0b005677d2875d09ee0e7053e1da68eb0f606082981cc242f4ea22cb9f27323d109f67bc712f636585249bcf62bb5c75e58f0fab0b692c4d436f5c5d1d4b87b9583c0db2703c1ca346a6cf273ecd3b76ae7c46b5b9faf11ffff10eade3ed7374d8fec081ab3da8d03b4c6b83b72e308d0583c6cc17ab576993b14f0ac586e3db6a20294ffe564f439c9eb86660a3d47bd6eb02e6f9e0f2b8f5a9c6e7f3483f6c89328fcf21815ac967b1e94f3eacd6351e185e2ce6d48c8f549f63e97d9b7a81c4e90b09670b27d075624d254de36a124ca3ab39293c3e1c9f7e26c0997ff8f4e79066216934954b2ce612ab39fdf0b27d9b7a81429487211f870837169c40d7891fb51f974f8269ca6786f159c9b97064829a97e32556748d0f2f64c77e6a84e47f898d8f1c5eb617cff8f94f0fe852e80b09670b27d075e247ed7dae1ea6ae49bbcccf7dae3e25e79559b518596aadb04e5d05636d32bd4a5d36e8d62fd83aa557a1d78b846ff70cf4e73a78df3398a5e7e6ca44bd2be6cac3edc30ffe5e3e7e06de94772f4e5f97719fb23b5fdd2c7a53d1b90b9b161acd69eac203ee11f8ae01b1703c663e34f9d01b4b4d49a0b4398ea1c1c06a18e827727e8ab01cdca7ea4d86072a3c1b05a8e0019a6e589a3c0b8f571b94e7f2d71b2e25fa34aff75c796e71a46adf2d6ec168ea9a2bb5471a75ebd3f0c9eb524e8de5e46486d368f24953577c9e631a6b21a767e4c96c8813c02b428a5abd1cf83c76bed89fe1cfa88d72d11495b22e753923f50e9ffcf4d3cc3f464dbf1a589e91eb2d4f4d6563d128a7a7de0ba319790278e5c1f1c8015e0e1df57acba140e4c68515bcbad89a310f7d47cea296ffc9cf164833ff98dc5603cb33925ba03c1f463dc6d5a59c9e7a2f8c66e409e09507c797a320e1e5c0f9b1f3e3722810bf712f9aa226ab77f3a37758d7f0f4409af9c7a8e95703cb3372bdf83117ffd333fdc99ce6f562ce828c5fbd1cf83c76dee7eac5849db381d27c13e6aa8da905c89adb1ec05aac589e904a7b150cacbeef19cc433b9f37677fd5a571af2f33f0a6bc7b71babbf2fbf4a247827d926146609704a0abdea66958ef34ac606e7a4ffe21f2917151654503d02b8026d0b81e1286d3e4090be793ff46410a4923d0b869e815584d9ca663c134d683e225a609d3f064958fc08d8b242b36e78b4ffebaea7db47f9103ac973e4dc7b8a3185f6c3908d12c317a05a30934eedb9c2bb77b3e796eae3c9c782783d7bb3c2d8d9a343ee5a26f68df3f2e67b21e695a41e180dd86124e03c7a487f1d58d75898d3c351cd2643b3dcd304365e30e03199646cd1337d0f4f38c793bfc3c17db88720bc4ab2ff90b549673c712532c2caa3aabcbf1469e1a6e69768c81f189cf718737d062894f7c1b7be63c1fb2e7f886e0390d100e0c5f340295c83425a6361646ef6a402907e031f4c56950f3a1fbf1d0d264957ff52576e3d62b1678f4f8b8f9994f5d34ca62f38c793b3c4d49aa974f38ffe1869846a0f2e4b834a2f4aeceea121b796ab8a5011eed1ffc1be512bb719743c3715bec0537d0f49a79c6bc1dbe211a7af9e4a3aee0818b46a0b29ccf71d3eb15553d9ff40f912f4f8353a3371f204d607c625d983c8767b8588213dfc69e39cf87ec39be211a3a4d39c08162d5178d4025324d89a98bd58baf0694f93f447ea273c5a775e7f33ffff361df0e28076b9f972d6cb70ec26f731d1472bb0e32b4ba6d9d3516ac266eaddcda7759ebd3a85bbb5fb33dc3bb68aefc08eee532036f5dd5978ed7ace90d83abd4c9eab8f6b601eeed44972e1c208b3ff575f5c9079e1b1f17f3621363f6e9080d1c4fb604301b17cf270d819492a9cb1393a79a6c7cf8f431163143cadbfce90b0950961bbd5b1b3de792346e39d094831078638589015db763d5d53c34281f59c5d367d871451af1d33d57fbeb2e12e8fbc4c065ae1c9162096915b9004dabc8ba28f749ed059f9a8b49feafd0eb52e61088b9c5939d02a42237f583d7cb52b39ce3624efe64e00a3170a977eceb3a01fce99b2be68a7c9643b9453e87eb5d7d82fb5c99b473de363917127f9fabc7a9fab8bb44b3749f2ba78772999fcbb4dce7aa29da445983bc81d93ab8ff8b0cb38578eb2c52b19eb6861298cf64ead66b4c6bab7aeb2f32dc7a9dcf7dcff06e992b79decb6506defabce1d2f1c93477599e576978bb0dcd4a6be1704df56d71ed21d527f0217a2450d759d7f50ffec13ff8e0073f0877a9f7a983abd7b56de3de918aeaf309cdf3638935012167178cc19f3e6972d3a5c0c65de0462c96603ee16512cfbc70fa136778f16f7464bcb1ce4c6ef94b0efc698a7a57cc951f7a3f35b3e11d4bf3e3132cc7e5b32b8700f7eea513ac572e7dc445e3efe8e39d18b0dab2c1edfdef7f7f13a5d6db167c1b71e42b702169d4ca1c6081310f1d2f9b409af3ff7bf9dcaff88a47c95b9ff6cd2793a266526f21f0622fb8cc5f91ffadcf723ec79d4f036ddcf197719fcc0799ecd65957e4e9738e72c63ea7c19fcea7e785afebf4297675438bbad5d415bf9c4fffa2c64c3ffee2f9e458c873889a39c0999f3e9960ceaee91772faa48c99600ee3eb3ac74ab39ae0394d5dc52eb173dc321c33fdf8cbb809ea1d06ce216a4e93f9e95320e6ec9a5e6ffce9733213cc21a55ab9f8a459fd0a4d5d9499a82ffe392f93e9c7175bf87338db3417879167eca981ebba1ce3a9215886131778e191179f625767fba4662366a2be8c5bd4469c7e7cb915fe1cce36cdc561e4197b6ae0ba2ef9fbff5e927903e3658ef58b4069dfd2120ff71e86d283875ee0f33eeff3ac5961329aad837d2477df33989fe6d6fc9cf8ddb8bff270eb7b22ce103ff10f7de843ea8a0304d4ceaeaffeeaaf761a507ee3377ee3affb75bfcef940afbe14e7124657209c26bdfab61825f2c5c08fcde17220583e31d523814f6d7953debdf408e1c2ee8e6012613f33c099ed138bb05e7ce7baebbf1b81a6b24f3558ed138bf44c900acd1e008444369626c093060f2bfc03a286d3ec926b2c2118387f517ce6b99cf1910d41e3b8304a7a7cfe29cffc311bab63d78b54f8bf3673e50dcca63ad05cf90f2b3b4637027701b5e2d86135ec528c79b2de859ab210b1bb8cf10abeae6a4cfe8ff48b150e3ec73a35f10f468f560342caf9e2a39932be7c165befc69a6621a7ff19351f64e3d60b5f3ccfa8e1e664ca409ef08e11561605e41f397ef9639469e6833c43609ac8f903175c3e8bad77633dcaaf3e17cf9af3d16cdcf117cff84b6dc4c6c287813cf13bc669f24c33729ecb1fa3f049331fe41cea2ae75905d20c97cf62ebdd58c92e3e89e753733e9ae9c75f3ce32fb5111b0b1f06f2c4ef18a7c933cdc8792e7f8cc227cd7c9073a8ab9c671548335c3e8bad776325bbf8249e4fcdf968a61f7ff18cbfd4466c2c7c18c813bf639c26cf3423e7b9fc310a9f34f341cea1ae729e5520cd70f92cb6de8d95ece293783e35e7a3997efcc533fe521bb1b1f061204ffc8e719a3cd38c9ce7f28fb1ee6ccf603d62db7a045bb585dff70c26c19c28f6309b2b9313a9f7b59fabcea27b7d9981b73e4dbc747c32cd2e4b0ebb62875d9c615d95dd4d34e19a814bed64c574ca0ebccd772f1ff8c007dc357a247001b8230ccba72d3ebefdab21626860629a6de55d36c5220bc1eca2a2c7cf1f568acd56b3bbd286cb105f6c39243b079dcff498b38ccf5f57791ae8cc67e32eb6c04b7ab7b13b46fa99143587cff05cf5b8ef4024e08d4a47e4650b50130ebc3cdd5e2ca2f4bd78011c82b44dbb9b23f1577ee5576e81e103675bcda7de78cd3481e7f0c48b3df5397bf7f279ef7b1ffefff3bddfebdd4bcaba5e810984cc7ffa5b3ecdc987d50b9f06b9f2a4ff99ff89170514780937c4a9bfc5673273c876e9ddf2b73e422e632da5c0e999e1f8cb40291be24c2ffeac2f3eba2e399c79de065ec25f117b9b4cb1b7feb7fca9790ecbadc040a95e8ebdd8c853bf908b3e93d54ffabf229f4be025fc3e57cdcf7e1c359ba5fb5cbd33cfab6ffff66ff763b2982a80df7ef1e19a9fa062fd555b9b7af1d2076dd62c4d4acd09342301cb99d73240584d160e3c741c857e82684da47c5ed73dc3bb717f757ff7729cb36fc137e5dd4b57bb7b81cb726f4e4cc3de36c02e57d76d73d353fe9a91c2bbdabbbcbba1d4c54778fbe0d37f1a2178358d1b049e5e2c0646c2aeab3430069f3e8dcc93d51b96a76665fafcd534dd860898c03446c12b62910a258c872969167b1e4b5820cdbb71aefadf8b37570ed333b0c7951defd68096ba2dfc00a55ab1a2c06a9855cc70cca55e13107b36e19aa74364f5c9dfe2c5eae2ec1ee767b421900a4dd9861fb98fab32d970c93239497c3e3bf6f5e6b051c43600069e7e0ee99fac47023b107865cece40dff4eb8cad5717f05c5d57e1ea6575f2f08ee2e41715a90e34d63b7cae7cbee3ac709297ed92ef109eac91a6579487ff376aae7656fcb4e68a78650e4d6c3cfcfa9d573b52c7e8002be1e76a9a26a47a0e270fbf5173653d75adb9753b7017e96ac0cdad5b1c4d6b3a653c650bf17dcf60429a13f72b33f65ace55c778af2f33f0d6e7a0978e4fa6d9cd8bc3ed5d6c3b92ddc53027aea9be2dce4ba4fa046ff3ddcb7eefc50ebeedbbf4dc0bdc140086c8c04962e24f0dacb84edae2c3d320f31f48894c8607a681153ef1275e9ef209eb95a7fa923fb29b5af90c97438753e0700eeac66d12d2772c792e0783165b0ea7a6d82546706a6a722e37cd62810d373032191e78f55cf59a254dbfd302f7424653381cf09996079534781f62859d7b42bcbe47bafdf5ee05565a44cf3a52dd89ad6b787a20ac263b35b7f8d45cdebdcc244dcd578c6b9dfbb37ff6cf927dfdd77fbd6f519ffa5763bdb30dbc5aff0acd676cae64f84ffec93ff9b66ffbb65ffecb7ff96ffb6dbfad84d5cae558ce39d75b868fc24f04cfdfe9e4884cbfb100004000494441548a70b6f4c9e82be6e4b9b13e6373f58ffff13ff611efaff815bfc2446d72ca6acd811de0bffc97fff26fffedbffd4b7ec92ff91dbfe377203f81799bd527107b99cfcfd85c6d5a963330f29c87f84b9e29177bea5f8df5ee47f0497a36fa7238f33cf16d3ee5706a6ef1a981d75cf22301e127ff491e57ce97943e49cf327c32cf73a0f358c26a439f9a5b7c6ae035cf39f17b2f9e43def39ef7b43eaaad8facdc5eac4a80260160c11a6675f9bd971e7b5a07ed91dc9ac2945b9a2f7b001abd8d3bdc5aacb9f57ad8e81cd4adcb04c2cfb55b2f71e39e639583c040866175fca98115cecb619a0d3790d2a0c0722b079a07a3d7627f757ff7d28ff252bf29ef5e762abb78bab46c55cd055e734fed7abb11e061bcde690a8c7185d42c362bb1a29ae2f12e42185f0ef9d37018ee5e50e0f8fc91c596529a72a3ac391f17303c37e3122c4ffa4c7a63834f09945b39871b77b19a78cd34801c1a374f7c3e69d40dadd7b8358bcd4a2c075819ff19982b0b4383365736a035fbf42bdc02536d31409e6bd57a81f06d545d1ffb897ff72ddffae7fe5fdffaf7dc4753ae7e2178f9cfe9307c8a23d5450096b409e24f4d9866e43445c5cf6db24b6f7c63cded76dc984f6aae4ae5a9f7272f7b5efcbb0319a8a3265cce67f3533e57b61d9e15ffd5bffa57e758e177da5c5d327cfb7355e0653e778cb305d25c9467739aa2d6f54e9b2b8995dbea0b58fef19ff2f36afe01750301f7b96a3636214dd1d91c7eb7cc9543e873908ec53ad8926a55f26954ebbeae48607b0378abfcc9b7ce628a6d69d68ce17fdf336c0edf4573d54ff05e5f66e04d797a71cadaadbae077f5eeef9ae3f7ff8a981dd869ddad215e887b41b8335eafa836dff88b270d667acdf9081c3fcf9e0aca8df8cc87a64cfab1356e39e423767abc129f1e960941c7a56e147cc90bc784cb398190c07c021bab103e46a49c3f135de5a0ab11454d4f707ad2342e12568a45b29dcf3c3ff9b9f2b73b3656b87cbcafd837c7cebf9eb15fadb1345a1413abf135d581baa6ffec1ffd9effc77fff57fed60f7ff4dffcf0bff410899fc334f9a85b774fabe734f1f4ca3402874f4f9a720b9c9a33e7c6a53963e78957ced8700eb7b8c339fd696aaa0334ca3c91c3f1464c79e1f5ea7a083eca739af887ec8ffc371692c7a96944fc340d123fbce6adfe61a463acf9a76cac1313d0cf307d4d75a071778cc8e1f473b8f099173eabe734f10fd93f953fb2b1f2d4cc30707a6e204a58b9c4625e3d16c1c63a7143c7c00a9f9aeac0f800f2cc0d5ee6179ebe3c1f9d5e5ce6cf69e2e995693616b2dcf2d42cb7c0f47ae381b0e625f6f4d475c68673b8c50c37eea3fd7dae5eccf63b6dae7a4f6ee1b3e4ddae4d9fbe75706bebd6dcce13bc41ef7b86e6e79db3bfeaa773afcf1978539e5efa74dfb9681f0c9b02d8550ab87ad5b04f38d4784d6f27ec9ec3e9930957c2644a9ab98922c0d3c08b1da624c0377ae3a68fcfdceda34f5c6a9eb9158b4fc350695c0cac6b6f57307029a9c334c6bde4a0b7b1f00f8e2ff3ec18cb364139ab69f4be5be6caa75c8f87f5f0fbfdbe36d6ec795d70ce95c359d99b044cbb8abac2ab81e1b7943ffa5dffb76ff9ae1f7911f09ffd1981343cb74739a34ee713a7c1b44d0130a7c3890b5c7dfac3352ffac84b9de621e0e5c66bcce604136eb8f165f88a1c784e135e7320fed573b5212e519a72abb7fc37624771abbf30f4853ca9afabbab11ed48fa5718b426c4e30efbab96a022f3313e9d04ebee64f3957649b99309331ef9cb9ea706e8fb46cc79fc77b6282e71cf0753da9af6bf5660603373aacdce7ca246c9ee177fb5c6dcfe027db5b174767a9c57b03036f2d6e156efd4d73df336caeec5b5ed7b9725cf7723b030f7fbfe24d289ea43d00b81d745370c836afe1b6e0989eb69b0db89dbabbc39ec285f778800472a3d784bbc5000a32db7c1a2bacf71c57d7348d2510593e94c8b01aaf373d5e81313d48706ed0e96ba6413e64f6f1b921957c00faf20128cb138f3c73c6f05457ca073e7d84972d12c82d0dcc1f0f28c8e56994c6ca53ef39aeae78a0b1fcde0bcc01bfdf69813162d98eb7c8f9648bbe5bbf45a2418be5e6575f1a1da3581115a095f2f653cff15b3ea7f9d847bff3fffa2ddff3b0ec547ef2677d01ab979fc816a8277de12fa5d77fe5409066f9688a8d3cf182a7bf681214fb233ff2233ffcc33fecc9ed0bbee00b7ee12ffc853fefe7fd3c33494f334f53fa2ffec5bff0d70ecc95281f137ec9977c896924489383705daeaf7fffefff3dc61f6dfbe8473ffae10f7f98e7cffdb93fd7403ff4433f84f11775bef00bbff097fdb25f566cc9c03b46cce6a4a1a5c776431b659350784dfe46213684417fd12ffa45bd467bc8f2982b29917de4231f710ec8e48bbee88b1c3b011305e040e39cf9f93fffe7e7df5c39fc7ff36ffe8d73c6e1ffeb7ffdaf35db55385ee78cafa4e3e9b3522f16309c4119b2652e55f3e9407ef12ffec572e0cfed077ff007f172c0bff7bdef65d8b865057310bbcc7fc12ff805be2b8f6f50757a43ffbb7ff7efc80ce118bff88bbfd82fae948c3ab79a30c3cb09c0241fbd97a8f87ffb6fffad43f61d4bd36baafd283b1912a7190e4869fc059ff9d0d0139c1a02255e9d26dbe9e34551169b600cb0d8e1c0c99f03e173cb2a9ce1649a1d57bdb778fac0f479a61f0e9c9a0b3ef3d9b19f1a02850f529de6f41f0f5016bb7163a6397d22e759f80440b1c0709ae5a3793b3fcb41afa219537d991f82fc775c98692e3887534f706a1e467a67cc9524db9658ad5ad424e69af218a3e9de02b7026268880974b999b45ab50ee291dcf094c8b01aef0e931eafc0983776cfe0d83757e6d084bcf3e7eafc5abb6cefa51978539e5e1cadcbd5eec416c4b9ebacf5a41ec60f930d93c15dea783708b53b88e20280bb7da4d75468b875bf488f74794c53178747f9c358f327138bd75b9ec072e832e369d7b271e1d3075f6ca4587acc78faaed5046a0742b3ad3c5cfeea77ef5cf518e3d0ceb9b24feda8ed3bed11691cb5636c55d3b5f9b73c58005ade3651c0e30af862e17f6cfef8bffeb73ff2d99fffc5bfe47ff6b3a67fd0fcd077fe777ffd7bdf7a74f9ac9ff8a19ffd65f6c2fe36459ef99f4b2fb7cb706946724d73c9a171919469c89493193f4f51dff99ddff9033ff00389d5fff01ffe4373f5bb7ff7efb625ddb1d8aafabd6d133519e03f7efd2dbfe5b7f815f0f2a7f99eeff91e8cf75a7ff92fff65b1349e5e6cc7fffedffffbbff137fe469b69e074f8e7fffc9ffb45f0122ecf7a4ffcdcd05ff5555ff5def7be57acb2a87ff48ffe91acce21fc7cbfe66bbec6116d1e5c027e73fd9ffdb37f76ca98fc86dff01b7ef5affed540b354dabfea57fd2a8f07cdc3c3489ffdd99e6cfda28b878d5ffa4b7fa9e3f52c918f63510ce7e9854373425f6ca3f3fceeeffe6e0379ec31cf4b00fe3dbfe7f708f9ab7ff5afee77b1f4f2ff7dbfeff7491ee6a37cc7777cc73ffda7ff74818021187ec5e37f69da2848267ff36ffe4d4f4153fac3060ec463524cca3cbfebbbbeebc913a03fb74a3393a25c1df2dc81d7eb107eedaffdb5fe6734fa87697a2cf0796ee3362ebc4c9e9c2bca0bbf3416989b1a539d6d3944a659c8396e587dc99318a9cc199ee739168132659a31f8735cfc621b223d9972c90193cf65dccb9c6cac0bdfb8abc9a65c0e8680e73f4d51e92ff8364f02a4420f1735cf9834f34f99267d35993226fcc83d0c91fe71a8d776ae5cb6ee4e165c0b969bad8375f8181b562b14ec93025dfb3bc8e79e81febe67706b7aedf7575d11f7fa32036fcad38bdb814bbd4705f702d73c6c2ef076f93080c78c7755c413879b3bb21e09048a9afe8c2598060f5f62193e4a5ef009b8291b6b1828bcb124304dc722bce4e313745c0201b5d83470c32db6814ecd7cd2ec18df6973e5d6bfdcc297b9ea4fbed258207bf1d25c692a3ed9da5cd9836e7eda169810a5e584181eff133ffc5dffcfbff63d8f7bd8cff92fff977ff82b7ef6c39b9007cd0f7ffb7ff7d7bfff7c74f9f71ffe39ffa7ffed57e912cbe14173f884d5156325b8d513205bc803d3ac6b268da5b9e48935e3ed713d1ed88bff9a5ff36bcc805bbf3f4be531e3affc95bff27b7fefefeddc40feadbff5b74ce67bdffb5eaf32884deff77ffff7fb53541e03bef44bbf74e68089f5fcc09c926163e1edecbd0478dffbdee725804cc4da311bda2fbbfbd89e6073b2e312ebf1f21cdadb1b3f17190ab78f978fc00dc10defe1c1039507546f78beeffbbe4ffd17ffe25ffc037fe00f38164ae67fedaffd35db7a17b2adb60dbde3f22e85d226de717912e0d95c652e6ab92d4f403169f2f160e0158764bcea6903415f56c586e9b395bf8f067efdaffff5a64897471409fc8dbff13764c2c17388e746cfd29e2aed5a3ceff98f93c5f2f4ccb0ccbd2c72617a1cfadeeffd5e9933947979dae77dcbb77c8ba72c9360c279eaa5748cf264655099949b713b013c7bf87989da09f0b55ffbb5bdf9115229ca0fdda38bd3c021f4f0ef61cc73a30718af957a40ea90370fc2cb0daf0cc76380f8f0f4cdd8e91393ece4c3273f9cb9400579e1cf1c36ee42888bbae43c41bda7665d0da44b412a81870c8e6b703840b6b130c3f169e22ffacc9b8787c18ee1e0930f177ec194f8878cef73f530852fe6ed333357aea636126e56fd5c34fd2034d59271b7f1e8e246e1da0794c71c1f167102bcd2de063f0c246b7d64d29a9ea15b9670a4e6d67aa0f51d09a8c5a681e9d59ac5f2a73f35f349b375394ffaacc6a7c7330c7353c88c8517a89e5ed730c13478f821f28865f828794df6571dddbdbeccc09bf2f46237d6e9eef8adebeace6fb5a2a9b727f8ae3d24268c77d90cf7b12841fac279e269f24f0f4fe3120d23157a4cd767b811ed60f26795a70b58d7c5dfa732e333ccbf1cba1d7070087a7b8b824c592d9ce798d3bf3c09f4a62937b5827ce7cc556f549a2bb839d13c7f167663789b54a505c9a7598ed17ed1d19916bd42ba5f3bba349b999856f7ba3ef6b19ff87fffed1e5d74fee7bff9cffec3977fd9c35f02f8d80f5d1e5dfe7f3ff4919ff57ff8dffcafbfe47fe493ec178f25646d11b2ddf6e2c941d39cfae17d8a390d507999a47f1f36888aa8f4b04d673bd7affddaaf6d74cba7a70b0f0c1e2a3c5dd8d192d19816cf185e77f0e180fcedbffdb7fbe29049f378e0a1826743d8c53ae1bd4930ed0fa3be1cd789e7aff4faa3c6621521627d154d0e9e373a969c0b294f7bee0d9dc64fd676bca1edc5eda18be269d9feb22ffb326f7b6026f6e2be2bf5addffaadbe1625abdffc9b7f33de881e00fc7cbdd3602556b1e7968fa3b6bf7fef7bdfeb64a0bc94872379b9915d97b9822529130f429e9a6830ab998747021ef07ee7effc9d1e5d60c5b4fc993ff3679c75d2c047ca4da09438037ccecccd6dce063503641e267fe5affc95a2847bade421c4cec64fc1e5d94fd637fa4cc8dffdbb7f37ffce81cb09a08b8349f34ceb04f018e30458fe05aa3ddcaabd4ce3596e7ee27e4c9ea34c85a71764bc9af2a78b1702ec5c85571edc8f9fc54f89cd955832359c67cd98b0fabc068b2238f534cd7c86c3b71a8234ea64e7883b2ea4329f9f2e6e08e1c03ce19547fb9f867f56a238c0e771c5d4a5becfd5a776ae4c6f2b2ce0b285f9fbf8067671599be0dec0a4b49659bc7451ea75f7a3749b750f27681d8409acd434e73a78df333457e6647305bf2be64ac2f7723b036fca6fed5b6b9dbb2e69d77cb8b9402a484dfc260819b6e9699dd6140ef7c891bec070fab0fb48cd3cc98abde85d39f927d6a4a7d4a40c2fe7f8fcd5e3c3e36b3e1ed6c321c8844f87c3b3832d3d7cf994438604e9e75f2c2b40298406534106dee173652727cfa6315cf3f1b01e0ea185a4f549f35ca82cdb98c89ff53ffcd3ef7ef811bd281ff9f0e3bb96eb5b979ffcf047fe87fff6bffaafbffc735e7caa9afa34df564057feed125e1a3ffcbb71c3135cf833042633d0346d3bd2d8f2025e41d43b8d8d29de37941ac21288f9f22fff72e434f33187e10ec776c776bccdf7a937c936f718a57c7ae5e2f4e3794ec5309e4f438f0494d230f419eb94732c0d91c0ea1ee3f5880b4a971db9dafb0d6b559af492f1382179cf6c276fac04ea931f093ca739f50f49bfb4f2da64dfe0424ab245f4bd8faf923214ebb104f6980d9395b97729ed4e92e13dfb9579027c5f03f320e7314c6c3f443cff3ce172eb04f00aa5663cfde504c09fa567244f533b07f44aecf7fffedfef8b762967a8f9d3c50e4a11789e579a234f4fe4fcc3c9d20c03c3d3cf3380df5cc1f4354ffd059f7a26958b0649c66dbce6b0de4f063f1cd57daedede1cbe5be6ca05be3d436b935b847b1ddc82eb9c69cdbdef19ccc3e6aa393145e60a7ebde7aa5bcdbdde0cbcf531e1a84f1eecfe1e386b7b05fe9815cc896baa6f8beb16a93e818f1f2281baceba2e5f6bf9c0073ee046667bea13884e719fbeef3288b78b158bb7b17031c8139f46970ba66d3a104f4c9312607b7a628acaa771279ebeb1287beb6237c6960c0368c663f2e733db4cd48d0b945b9a7c908ad886ce36b7988e9da61cc43e463c1c7b396b9ec7159fcfcff85cf9a13b8a92b12168ae6cfe1caf8fa2e5aff8d8db2138c7ac07ea7eef0530578a4fb38801dfd8e9d0fa205f881386acd9a8d67cd8377cf8affe9fbff507b7c3fdeccffbf2ffe3fb3ff67fffebdfffd69baccffac98ffce87ffaa3ffe57ffb55ef79d02b025fc43e1ac1b28d19ef7fabfc9c2fff723cf0b98fbfd2b0a1a78fc9105eec9ffc937f72e23bb8cfc0677e06fee81ffda39d8d6eb9cecf1288d9e9baac3a9f350185e05693f8964faf57d7ed5845d1747d35c483fbdbbb061fb2396273bbf5c46438ff53393d4dcaf25c48407d9bff34332c1fcdc7d4ee73f53031a6c244bd0673e50b99d6291f6d58ac2d43967b6b99f5cba1a92d5e486bdce3b13e9c4b562beb973d0392d2f77261514ea4ad8396b9fb9ec15c99baed4fccd5bb7a7fe5e7eb39d63dcd99f0a10f7da8f341ed30ab5d11be6c4c661bf38ddff88d3ebf7356d0ab2fc5e981d11508a749afbe2d4689dcd09ac3e580593e31d523814f6d7953be3966d69ccd6d73613fad1e4b76cb78dcca3e3c9fe009dadf6be29bf1b0bae276934c3381ba586024ff350ba9ab470bfa6e5beaf291d86e43c03cf1614a65fed2838b6dac72881755fe40b866e1e73162742df6dd3857aec6f2efe8e073ae5cde1e63ac07ee028ed46c984f18ef82d714e5e905d9258757ce26ecfa447ef6e7ff8f7fe2639ff5735eecd03eeb633ffe7dff97bfae73e5633ffa1f7eec7ff10dfffbdffa3fa578ebb965b674f914807ff07cbc135df839d6ab395057f70be17fe48ffc1147f1cddffccdf8affffaafefb8d2cc9fcc8af8a7fff49f8e7faef6ab2fbe9b446c69f439bdaf0c714eec737dab2613bfdf6fc545fa7d74bfc2f1a55ffaa57e715fb3f4c4fa42915fdef02ae0fdef7fbfe6787fe4ca2ff77b1bf0755ff77523cfc0b095e6b9a17fd7effa5d7dffcaab956ffbb66f6be8acc4aefcb93ff7e7e4efcf0338960ef90fffe13f6ced970ccd86ee974fbc58f8866ff8067c697b99e02b673489f1be87e6b74aa4ed558326be2fdafdd6dffa5b25701ea05e65fe80f9d954e89ae75ffa4b7fc96f92381cdfc56a2cb5a9fea66ffa26579f6c9d8dbe5d26e40ffda13fe4bc5d6ce6be00e6d75764fe07ffe01f743ea714d54d204d89799fe6cb635e82c9769edc9e2bbe7be687eb358bbfd9e01b655ff3355f43c9caf7ca1c88cdd3027df5cedf3cf0cdc0f24fd63999267ef39300199f66e73032817ab8e95a5357d7480e8b1d5f6cbd272e875b1f9a64132c36feb1ff85269cc9f8338727fd3997f3c23ba8f8f9346e694486cf7c36d639d070b66b3269dc1c163b1ed055ef89372e32cfdbfc0b5c6ce1ea0afe026a9e39a4b9f86bde8e25363e1375e322375038fe32d639d0307d3eea70e3e670e6b97c74d55b6078e35e7c3495340f618fa581e21ffb1faabd56b50035ae858c5c536d09a319b664b7aeb9cc75c1ad65e79e4154eb606bdc651de4268461b1dd2ed2c7b74f2003c2f87250bf667b0647f4ae982b79decbed0cbc294f2f966d7b17c7ef82b4376a37a0d9d379f342d3c5ec128d71dd6268340165b170b16e22f462e709179e263e4db712bdc5e6df7012c3f34f93de5da67b07cf3e65297fb821ca997863e5393e072490a6cb55da34483e78e35e3cf1effcb9b24d3fe7bfb9523b162b81fcfd86465f7ab172d8765b18cc95dafc3b1fcc00acf63312d54faa05c9e1035bc686f13ff9b95ff4f91ffb17ffdf974f2f98b3fcd87ffce8d7fdfeffddeffca2177f7d5897d85330e6e47d6a323e71bd6aabd1c90ce3a7d912bbdec06afe34ad8ba27ed36ffa4d9d6f177f9e7e7702e9f75e6c8e01df77b29b37cf565933d99ebb28b56208671170ced539ee73f94f93494df81cdae6d8b88a0727cf0ffdcd2bc7324f4f530273505f78297598347eface739acd15ece4d1856ff4ea7cd49ae9fbe9d43484526fccf0048bc5ac20056a02cd555d91f04649e3879540e6ddbbe2239739b729cd46c79846cdb3292a566fc9fb9ed8a296581a538d994358edeb6a8a8f8a3dd07a0a557fe4231ff141a0dae954ec39b706aa5c8eeb7426987f7c0c12986700b979e399a0aeb0fa1563e5bffa322efed6739a73acd3013fcde5d8e327ceffd49c984fe515f9136cac6c63900006687e80e1c64d9026ac7ec558f9afe656ec98fb5c3515cdcca665b374f2af982b7aab4fe11620372b57ba0f08dc51fd80faa8a8fd80a635cb9d90cc55dc9ea14bd8daed8395ad836ee03439dff70c9bab168277effeaa93e45e9f33f0a63cbdb80574b37661b77def2ed0f6bdad40b789cef26d7a4c567cf70bb85b83663c0193d307ceb0587a6ea75e733e85ab974ffeaeba3c8134f83387f87cba44cb8746892f93eaee6ed308094ba67c8c42132e7f23d29cb9a5512f1616a2aecc5f13ee58ca274fc9287ad70c4ccfedd4974f3e34c56aca1fee5b61610b0640d3a348eb871c68e26dc1c3fc616b03a0d0d89371b36c742cc56e7bc1336c09792cff939ffdd99ff5e20157df51fed37ffcf06ff99fffb1dff7c59f43863e7d309ab77cd16d3b0ea707f838d6d567fadcd4679ea7c3ed58949e40ac829e492c840d519217ecaf7be1fbb3bc659e73e298fc0b3c73d8b11084450de7335ef38237b45fabd07b8eb8d8484d3fb848fe4a7a3fd94e0cc7e8076a3bee9d86a376ecc69a21bdf73342acf1c5ce6afee5965bbd0bafa99ee72bf072bb68f00cd52bd9f2c494b9d3d281346ef9c067e68ed196459248e092cfa628be13c0df1e7009ec5802863628ac2e8dea724b2313819e2a5d38debcf9c51b6fc9fca45c74e5b6fce90bb9e4134976cb6ff4c7d0871df3939af2d14b064fa309c7177be2c4d5175e5399cf89cfb14e7eb89c179bde28048aa6bae63498f27c50bc1cf749cd7c2eb1f8c6ad7e2eb6649603301f21e5b058990c03392f76793e64fc32e70b267eb55e6fe336d0a3fc81c9e715b109366e213b96f1c96ef9c6ad7e2eb6649603301f219fbeb9f204d2fa6588561fd7970f2c60f731d8fa28194deb94479d32bcac83ad8ff99884d63b1abceb14d35a1c3fdcdac71f08d38bc254d7451f101e964cf970d615063439d004964f5d8bd52b445d99bf26dcb1944f819251f4ae19989edba92f9f7c688ad52c9ff8e506a4c13399677cf9c0f307c2f49c65520dc40784ec78cb87b3ae30a0c98126407f1ee362f50ad9d71f34ef6533f0a6fcd67ea7ac27ef8edcd9e346e0b40074d9d974ea60d220e3d33b2ffb8c84de7906ab617ab134f9904d8fd7cb8492677abde9e3cb01165ea03a7f5648254f209e80fef491f972306279d2e08d5bb87ae39e1a3c4d0918621afecd03802f4f8092e65d3d577df5c5b19cf3e0886cf2ac168e576985535b2a86f11e80353ff6b12ff8393ff962c57d94bfa8fed37ffc91f7fd177fec7ff52b3ebfa847e583836e750fcf91ea0586cf3afd9853ac4b7359cd33fef45c0e23d3f8235780ef05c56f143fee3ff5a7fe94ef9e99196b67b3d49f0bdb88ce9636cd9794725e56eb0556d234e886d6bb3cc31bbabfe55538fd869e8f2e58da5ec88427ee97cbfd4c6de5f977c8feb6d82596a76f55217d51aad85ebe795f772a75f98219a6d25827c69cc7fe24bed59fcccbf3ea218b932f738f070f1d2f4701cecc3b07fa225fbfbb7f3a509e3febcd465394b2da51fb8a9defad31cc733e4e065d7ffecffff93307bb2e0fb72e22b21e901e52fcf8fc6b5eea27e787067f199773fce940a3b99246bdd8ba1a659860fe672c5ec1dcd6679e091eb52ff4eb6ddc5738dcc636d6f82763d36c149a0bdef1a6bcd563ee73d5bcbd63e7cacf688b8e4bd5daea19c66aebe272a7bdef19dc5eda93b4f73045664c69aef4da909825abc0eb3d571df5bdbeccc09bf2f4d2617ba2b5a771c63bfb7bea6df585910a198c74310c03a28a85170b2bc52269945d5178bd7cd2e395f40f618f8fd4342ecb346229e5901e59483c72fc7263020be19309b78d3b4ca037cdf4dc1eb378c81fa809370918d8d0cb07b3fc914a1a24cf614054b170390395fc91348a583ee54600a4efc031f40562e04fc95cf934cbda60cde006372edcbb8886eb9336d8e237acf9127fc1aff9396f3d6d3e867cec3ffcd887dff75ffc37ffcd973d7cba8fb1d548cf4109479e18437ff27a2bf802f556e6f352f2904f5d98c605308bada95eacbf87abd756fedc911378e3e1c9c1af94981c25b7f6f1859b315f1332519ae78e4db36288e5f0927bf1ef99cfc4407a098739f84147fa3e524a4d6785dfc13887d65514202b1f4d75804881de09e0fdc72cdc80febe966f3af91bca1bcbe1fc9dbff3779c7ede45bcf7e51ffeea1ce87fa05f6efed71abff2c1a7325e536291e7b15f7023965eb1426a16ab1e3f26d07fe7f2833ff88332dfb832f70b3f65ee2f26e30de1c7aaf633ed210dc6fb3199b72599677f6eae13804c910ca5ff6aa61340a0b24c6053a4693be5ef322f73814e0f3f14829eb21ecd1eaa33f6167398ff93b8219ed4701b1f5e3e78439fb16582478e5f7ae99960869ff3a7a9cc87b252ac5e4d3852134e8ca9f78ccd2d7e3e01f57c84bc1a9f9e024ffde9134e1c36f4195b26e53c7ee9e1c3eae1e7fc692af3a1ac14ab57138ed484975bbd676c6ef1f3099c3e42e6f9243e3d059e9ad3279c386ce833b64cca79fcd2c387d5c3aff0f78989db54eb60eb91dbaf6b1cc62b623f1deb20cf165c9770fe9ac35b97918a26cdee24e96bc27a25599e96754d5d69963f524983e4390c88a257c38b8595fc917a15b17c84e70fa4c72be91fe31eb62b348e288d584ab1e9918f110fbfef8aa9d0e395f9c042e269363ff8e1e5f310f9524f5c1ae55913261e6fe8e5835cfe48a51c903c0bb9d797197853be39e6f30c1fc43a78e71cecbb22ce0f678fa776a7145217be13c5a906f705a4f89d76c5229d5562f9c0ca62873bffd2c39c77423f46bcf8aa5863ddfad39cb915a2bed517cbffccc12716787a3cacee1885c3b9d13b467cf3a086d3c3349acbff9d3957edaba46aaedcee3bc68e4eed60cd3c5e6d99712cb6a7b0e501f6b59c94e607b681c3c76ce99a15c66a544df99b7ee5e7fdf7ffe0c7bfe8731ef53ff9133ffca33ffa0d5ff7c7bef64b1e0ca769798bb9f589bfd5b4f22d818139c734caa5b751fc478d996cd001ffb588dfb4b67ff5ebd77eadc57fa2e20bd3a6c2cede7ae964b65de6292b5f2db315f67f80f8dfe55d383e7df75fa6e0fd12bccdbdcdb449e87f3e99f9c0b26ac6ce635c62cb1fc36a1a4db67e25fdd543fb6df2867392fbf1792d20313f5c3b6ce931f4abf09e49cac40fd72f66783cf3b707fdd796940ed6ff1ee34cf02d737f6fa0d1d576e126c4a6fc2ffc85bfe041ced9057bb7e3d9c07fcbb80304baf0fd979136f4b03f0fd0581d574a98e71995e664a66c1ecef9112b8133732f589cd2cbdc7fc5439f27a59f9d7c4ac9317a1431157eb8a642c89466c3e31cd94e00f340d009d01f9b3ef30cfb3d190f7b9e9abcad72dab8fb9976bfa1247fdf226b02cf9fe3798c1c12202ff872bce76c9c395c7851e75879660e77a4b79a4c92a5099fb9e191c59efa139fb1c30996f3096efd89cffc670e742c855f70b94d5314cd25870baff71c2bcf4c167babc924d9fc9fcca7d8537fe233763801b75bf006ce95354b715d9b0d57ab5972e5baa5c0d6623ca642d02d0b4973ee19fad885c03ad8efc034b7d5f4ff7ff6eeedd7b62dbfea7b198143194701dbdc6f55f856a400a50a106510c8dc04210a2889ade4215214f290a45e4aa93f226f25451009e5252f79e489808814458298328612d860302e5f00c7180376f946840dc4e07cd6faeedd4e3f63aebd7daa4e957dcedeb33ff4dd7aebedd77ebfd1e718b38f31e75a6b733bf561fe6549e68ac6c3dd03e81566281c4e43ff6ebf67e8addbe1bc8beeafb6febd0af7be15785d9e5eba2c5dfc0e3bec9a7471c25da2eece35b334ce1578972e4d81c5e20d09f2314c5fa07d3d9e18268b37bcf557439ef9e78369586d4c3464fc345598279255fad2355bec7c4ca567958fe269f469f08670b9f4e177ec5ad902b7566ebf3adef6c57ec5c55bada1a3361b6ead3cd2607aef768c990877c89add4294bea1be6d351efeb2dff29ffcc91fffb3fff377fdc817ffc2f7fceb2ffaf2fff61bfefbffe0df7de31356b1db86b7f154d5f87996020f2c69894ecde913ce90c63093fa4eaa9319761f03fb2d05cf303e6bf73545bf07cfc14f6ab9fdb544049cfdff2dee563d45b8ddc728cff38cdb6577f3fedf7a7f834bac079b399f35742cf9ec78ab79fa1daf5c178d3f8d457649ed1943a9dffccddf5ceaf3e945559e4c3c806902bdd6be91e8bb88d653eaaffccaafb4a93b64f5f7c36f9e543d26f993687da8b11a3c87f80b5deee67373afcf9fb2a717562dbbff098755dfd2b4aa1d5a3e69e669aaf5293c9cfee44f3d4cc047e55e2c0778a95c5555be5c4a7213e3b9d401768c045ff7755fe7427038dce64999e7ed092024c3ca5bffbef7bd4fb8bf9fe655d0e2dd07f88b0e9e5e5603701edd78fa8ebd1a0a8709a601686ae1fad5909e001fce160320f5f9c3da4b3466b39da6d8c7b88732e6331ea836802c3c9fb30678fcc5bfd8791665a81552de1cc2cde6330d40530bd727d6a727c08791e901649af0cb3589d35fb021cfea6ceac95cab938966a84f0f5f3c1f256fbc8e863b96a6165bde1cc28be599ed6257437afddca611123695fe92ebd1f5659a928a9acfb0299ef88ba7a17dc7bb569b57d8c3897dca145e947dcae72cb0b79af39ec154fb38b07db03d7d7b193e4d6e66f9c0c8d7f39ec1b1bfebd6eafe7b2f5eb5dbf6c67bc7eddce7ccec1a0e9c7d3b3d660d73e286fadbe6c243ea4fe01e341268eaec9bf299ebc73ffe71d8a70b76dcaeff3e45708c2ee33e75e83a6f16e9faf7744e0ff0c4bbec0121f900483e79ce077fea4f1f533cdd23f6de516cfe79c25d5a0964acaa72e92b6c9a783ebb051f165b2e1a2d3ebc4f1d3ad8c832c21de6bb62adfa75ea2ab7aaad95d3c971e9f1768b34ee56317605cd4d1ea5a11ef6d660d9dd93394398f8ff5e4cb5cd580de4b915b556cffa7ff5cfffd9bff8a25ff9650fbf516dff88bce0db584a9e7a8d5854e05f7ed777f9ff5e60c0fff772eb4379ea29e7632a7cd6906d3ee166f50d9da56e731dbb4feef5170d99f5b17aa6fa6caf63b180488f7ff434fcdfd25a3d4f7a39ae4ce6d3011a3a5d7de1e315541bff6a43caee726b78c62a959ed8d95b3d594dd9fa201d32d211155e3dc98665f1bb1c6ee5b5a69474b65b526ceb43364c76795d3ee7b5f26229c96be1f0a558ae55b55c942ef0964225d5633665c718f69ee932e7e9216d27c07c0ab9d4ef25f0ea23adb31434a5c8f0327c11b9f521185edea2e2c3d2dd1e6f53fa92d2038b3df16dec72153b13e0e53e09a63f7d9097b532ab31cc334c56bb0c5f448a5dfdc3622fb96872b8af9555b214ef8ab5dafff7d256e5b57359e9ed562ef6ee3dbcd6deb2f0342ed8de00095ce6def1d2b82a1d32818dcf5b96374318d3fe0ebbba9169e285bc9ef70c5b078b6355df156be5c5b2e1bac69d0cf7ffefc5095c7bd3def39c7cbbfff6f6c165ef23c3aeccb0a91ae6397cf8f1eb86814bef72c5e84ff0169f5e3ef6b18f519e276bd7731739cc5361801e0ec09ddc1b626a69ccf23c71d7060d5e6faa8b2430bea9f2f616536d73cbf37416a29df55c664b9dcf8e4b48a96f9d2b6c9e40f500970b1b5fde53d39a54035e3b6b8ba93feb3c7105d3a84d7fd6b935391d12a4172bca6b5acdfa307e5f20c0dee5dbd7cd026ebc4439df4ce97da005e0a5736ac1cc3dbd746371f67843bd28bdd6ec5bc48b0d88ca67438cffa4f2bd1ff8c0436d8f4f2ff99ffd729de1673d0930454d3fe6741b5e1480d49ffa864d5d72359ccfa24e1fb8e119fb727cd650f812355cbf8c4fd6505efdc2cfbc99cca1e1adcf85591470d6990ff245b94efef43c7d326ff62de2b3864296a8e1fa2a7cb25f2e60e1014c299abaad2de6c93edb199e0e796eea92ebe44fe71573eadf3a5ed240f5cc1358e379e63d719a5919367bf2f01cc68f39dd8693752c333f673715a09f2c7cf1bf08a601de0a9e7940c80a783478a3bbe45dcd2fa9b3e0d3b9a8f12ff13ca3e81b9e7a64a92f9e17bed969e673d6f016f1620367a21cd69f7586bff55bbfb559fbb5e6430426dde4d8a7001b13a6cf5028313db7d8ce0c7b5049b97d9006b697e1338799230dcffdd7b02d8f320d66b2ee01d2af8f2c90677ab34053a7cf89d3cc3c309f0d31b5327250db8931093a3a53ab1330b5a32e2a41fce9b659a9e3b385df816be503d6fbd34b2fd0d93ffbc0e6a45e49ec234627a553560f3b46d8891eee909dfd480d7012874d6d08fb50130feca44f8f4736e541b90b9bc972318947d6ba62e3179b0f011e5e96e5adfed580efb884e46faae35ad9ab41969c018d5e7fea0d45d1e759ae5303d7c8046acb029bda105ecd3b8af478b3e97f2ed7ca27581d97a49a6dc01bbd471dc77b96adb6f6bf7ac393b1973cc9bf44d3d43c81f0c9abc4506b0b5c96f8f4b751270fd7726065b8fef481f3d7c3c95286e3c7cca7a85b7e59806151d35ff897689a5a46207cf2ab39ff65398ff1362a663da089bdadedf481976579cf62cc4e9f67b3ab2a521fbf1e18ae923417fe259aa6e60c844f7e35ef28d2ace6f99f5169d6031a079a64eb4f1f78599637a570c0ecf48f96cfd6a4a829139fbda966eba77fa4df749e2feaa22970b340f8e45773b17358cd899734874bffe07b5fabe36c3f57d8ca6c0d1fd7e9be56cff6411b90bdc9e2d8987ca302b457faa605df0d83fe7ecfd012b5561664f73616d0d2bdaa6be5a8efed76055e97a7175f923abf1dbfeb1fee5dc01b44b8770a37fd34a65c03617aa0662a3d1270e5e0f5ad299f0072b930b7fc33bbc74f140aa741cea73acfd8f2e2e9f579c2ab47cd2fca9b8f23a2114bd6156e980fb05c0cc3d5902641b960201fbde1bb68ad7c7ae1e8d4ec8905eee3ab1d3bb0e6c605aeef5ea42f7062c2edc4e1c4f042c2694eb7707ab821d93c0ba927bbf8636ab77c6e7ab18557c3456fb858b2f0f4661f829ff3794e7fc60e7708f50281f431b7fe02d32c840616dbd4a56f48a0c1ab0dd0907abcb63a91c34ff20f5e8fedd1e321bc1a1e5c0e9f1353e659bae1f1193e99773e3470bd40207dcc3ca74f8c5f48b81a22cf3e3d2672b5011a524fa3950b400e3fc93f783db6478ffb5abdb1636edd2c4ff8d94addafc1fb79f5782ab8a05c359d1b5d3ee8db6bd0a6ec0759db7385b44f0178b8dd16d66cbef77b06f72d5babee615aabf816ea155b2b07786fb72bf0c67bf1eddcabc4b8e6dd677b52efa6bf5b70d700e0307731ecce9ecc0590606f190df53df1f73e0217954f62b139e8979720be40b7d13e2dd8225743517d8a90156ceae4e1c4faeaef5b0eb89a79c2f28a95855ebf6f69ca8bd428f161b13baed5cc479368b9806aeea8f32f6fe26cd3ebe729ea9db056be81a94ecf301d8ba163811d8b226d30fbb4b5cd66f76d7d3a6bb84da8ad28c1644ce25ba87a4c51fa04b7fa332a3c26f11c361b883ff199ba74692ea9859cfca2b23a8fb7a9f84589fdf95dabd5d371adc8b3c26902f7b5baaf9573a045704a74566c4d1adef6d377fed48f04eee7d5d670cb725fabadc9ed1915e343341b904dd31e6abfb62be9fd5c806f60da49f16dd0acdabb815afbd762ed6259ddef19accfabb456cf5ff0fbbf6f5a81d7e5e9a5db6b4fe7aef06e523156c2f5dfc56fe8ca370c34abc768a2e0ee71f597277e86488d267356394881a137441ac64b6a180fc773000cf1f918c2278fa9e553793400be63e15c381e2e1c26202b2f5c49f186274f861798cf72e55f204da0593d461305ebc3f347c20c4d698699cb0b2b40c3d018220de325ad3643389e03609827acc1271fa9cfe7b1baff6fdfbab455b8f9ae0c9f7e95947e9faada60f6a9ea30c1b0ed79fa707d1a586b970ae84dd50317bcbc04f064409855a0c034f347c2da2ddfd4e90923c787f5f3874f0d9e73b378b89053134ef9243fcf7cea9139176818b868e2f5b5f993c1894d01e1551b99a6b22730bce5e9c75f72c547663bbc7a68f8d79bc5c3c94e4d38e5937cb1faaaad37ccb9c066976b9a4501dafc09e0c980f01c8831692a7b02c35b9e7efc43a623577ca43e9f86ab87065f5f2c7cab499ff28c1d5facbe2ccb957381cd2ed7348b02b4f913c09301e1391063d254f60486b73cfdf8874c47aef8487d3e0d570f0dbebe58f856933ee5193bbe587d59962be7029b5dae69160568f327802703c27320c6a4a9ec090c6f79faf10f998e5cf191fa7c1aae1e1a7c7db1f0ad267dca33767cb1fab22c57ce0536bb5cd32c0ad0e64f004fe67165fb209c18639ffa82ee83f64a1ba274ede9f6becac0c36da3300159fb2f5c49f186274f861798cff6dcfc0ba40934abc768a2607d78fe4898a129cd307379610568181a43a461bca4d56608c773000cf38435f8e423f5f93c56f7705c00b263e15c1978b8709880acbc390c1b0e73262b6f3ecb95bf21314da0590ef7765981d7e5e9a56f1e3a78d849e344e9b4ab77baf42dc1340461b7b9e91bee84c3d3d4c476e2f2d9271fa6d208cc1f03ef6485a7698a3eb19e67a72faca9330d9c03263d1e4e0fabc43192750de00143bc5ea3e1b07588ac7ef8555d2b3f43dcb1f7c9569f729d6bd5cf926d9f6b59da963ce46caf1a0ff4cd43ccad062f5c4b907e43e0e249d0aef610f3bccd0471e2cb70b180f63cfae1df86677fc99b86a0eca7323c7dc73bcf05924d79bb0ec93e8f6b559d55c57cad1a1a9e18730ee11de9c94f1659bf63378c09cce11235fd7dad5a19cb755fab9d393b5b769e743addd7ca0ad45eabb5b2356bb621cd6ebe6611f0e73730181abded9b4caf19c289f5f77b068bf0eadd5f39a87bbb5d81d7e5e9a5276357bb678f3d317b2fe844f7366169a6c1f7643cbeb789f4c886e9730813e48ff438a1bf78ca926751bd1e69e0c5c252e08991e505789a128bd7609ac862910df118ad1a38105712a0cd9fa086a4d7570f81613508ac06b3cb9b09be1ac6b738e9910df39468fe04f9232b6c79f35caea20cb534c062e11d0bb2bc40eb20560d1a994fb322cdc2c8863c31da3efa22d6ce5b2e9f96d95931b5cdf6895a53691e439fc5e20da7b9c509e6b6e198621bc2b20f03b7fe094c694fc60ac1eb67b51000afddc646c693d5e68fc7e835caf92743369b9ec030cd63c4e7b2564c34e1799efea5c347960b79eac309aa219f4b2c5975ce6a2180594dc82536329eac364d29f41ae5fc9321017d7a02c3340f01cf67cfbc4fe2c8f470c33c4fff04f8c872214f7d3881292d1f207d5364d5d9501f486656bb8d8d8c2f443fff62f51ae5fc53224b919ea0d87936db701a51177ceae186694effd2e123cb556117cf04c8f140faa6a4e0a36fa80f247ba8e0be56cfd7d952bcda6be523335b8f6ffedb07ed41f626678267127b59b8fdebf3b50fdaefb60fc2b7fba04478d99541b9bcdb67313502c5ebe9f50486f36c2fc657ff347898f3f86e12d2231ba69768fe04f9232bece2b95c45196a6980c5c23b166479819645ac1ab462238b4536e489d188610ec4950468f327a821e9f5abd910ceb31acc2e6f26f8f486f7765981d7e5e9c539e13cf08e0068ce1b9f52588bae13d82cbe53736bb44f329c7f7dc2612a1f81e9cf6f2aa6319b3f4db19c91faf170b1d5b0da0ca5485f85e1f898ea271b89970b933fde903f604a83f569e45295293e78245c3da706afbdaa6b65db38d7cadfd7dfcb77f9d4dcbd854d548f7fb8b378bcb7b868e2535ac334678f5cc3cf334d53f086f98f1f48a07f49ae276b9bf31c78c20dc317cf256d76fad6a1d94bae1d579acc2f9ac79c2fab3fe77ae279aed45572fa4f3fd0ec1c8abaf44fd6b6447328eae4ef6b65356a5bf0736d4d8dbfafd5f3a57a634dee6bb515789dafc17e22c052d882776fd0cf05b4efebc7b747c70bb9df33b83f794deeafbcdcf7765981d7e5e9a5c3ee29d6edb821ecbc07dcf1c7038648cd5b493c807491d078d7008a850958e10132517002b3f0194b43502c8dc0fc4f1e6e4819a8272e767c3e7a4d2e3c4fe2f2461aaaa1c0f80edceca5b6534f69a8d1e80b994f9e7840cf5c7b37ae9547173f3fd6275b0ed9e1f8f46bdfbdec1356c7d8277f80fb0f18a8dd62b768a62eb1cfe50f1fbe6addd2dd7a8e4f4f993f3e9c20ffb03e0dc1f861cc891bc6ac07866ff531675e4ced728c9998ba3daee99f453effe4bb908bcf340f65ddd7eabe56cfbfd0bb9f574f5e47ae91f127bebc3f4cb3ebcb7ac285dcaf414bb1f7d29fe3b5926ebf6f691bb21ff5099add1cb62bd95e69ecbff77b064bd13a5890ee675e9ffbab4ecb7b7f598137eec62e13afd8d01b8133bed3bd6f211ca077046f16f80e1676b34e93ccd54260ca271fc287d363f646838145d1e0f9a7c717cb041e6f48dc7d7ffc98f998a54fc3b69a81f40007b89a0d39847396d76c32b13d8418e279560f7d75eaa78735b17cc8ca0b88a5c7c3da7225e3590d1def707a86f4a2f01858148ce7af8f2f968c66bc6147a48f1f339fb7b8563ee5b20ed556fd7a4f2c3b7643e66deaf6336df704b0a9db1e39be4f101ba67c9c7c88e2a3d730e14545d6a75f549a87b0a7beed99f8f2c9e5fcc72f3b1f183f661a6ef063aa67473a9fa2d6afaa7c36a4af24cac84b7fce963741facdae36cc5943e2f5d38fe153c39cc7854c7ccbcf7ffa651705778cd94e93cf72a5d4e387e79c2c9f0469e0864ff68f93cfceb7f2262bcb66572de6cc9878fdf463aa2ab7f3b84eff0b3ffff1cb2e0ac68f994646b874659f4f51eb9b35cc67437ab8e193fde3e47dad1ed6f8be569d219d63e799f6ce3caf54db3ee89b7ffba033df1ee7775dfa0d4cd85fc86c7fa4fc7ced83ed7de73e98f3f641c3fb3d43f71bef90b5ea2deede5f56e075797a7183eb5da083f704efd41c06ba7b8ef79681e916bf107ca421bc7713b8b71e7a587feadd286bf1d215cb274db7fb65a1c99f1b5ca9e12ea1f903f384357acac7546ffc0c65fce3fcc3815c6aa06f6a79a7e743af5564fc2bb3563ecdda5a855bf6d6c7c1eebb175b9de13ef10deb6bfbe4d2eea83da79fd0dffa5cf4672c9cfe04e54a76e60dcf7f3efc9165592c068e0c17286a1ab3c3f1f9c4bf44df94d85bcdfc99d456e7adfed647c8a9bfe05bfda57efa92c64f3f1fb3c8b22c160347860b14358dd9e1f87ce25fa26f4aecad66fe4c6aabf3567feb23e4d45ff0adfe523f7d49e3a79f8f596459168b8123c3058a9ac6ec707c3ef12fd13725f656337f26b5d579abbff51172ea2ff8567fa99fbea4f1d3cfc72cb22c8bc5c091e102454d6376383e9ff897e89b127bab993f93daeabcd5dffa0839f5177cabbfd44f5fd2f8e9e763165996c562e0c87081a2a6313b1c9f4ffc4bf44d89bdd5cc9f496d75deea6f7d849cfa0bbed5577f0f2abe81b11961347b9358f7cd7661f87ecf6035daa3bb2de9be65f73c665f87fbab9d4e77b015785d9e5e9cdf6eca7b47e876bc4ff73beff7a93f4d9f406c81bc77a4c7236f314fbcdb62caf0fc012d5e4fe3f29b1e5e0d2ec5d526e4f4a9b67c6026f07caa934f35e0ab930c031387e7595e19a7a9360c9ffc5fe1b5f269566bb5df7b691d7ef2277fb22532db4e53df27c12703dba8f689327ccee22f0e86d3c06b67d489139ccc899797ece44fbc1a96d76ced455197d96a98cf6dd4456f48437f662c0ab39a2fb3b7fe42a681d7f2ff6cfbe5e5f3a2d8d5b0bc94b517455d662b723eb75117bd210dfd99b128cc6abeccdefa0b99065ecbffb3ed9797cf8b6257c3f252d65e147599adc8f9dc465df48634f467c6a230abf9327beb2f641a782dffcfb65f5e3e2f8a5d0dcb4b597b51d465b622e7731b75d11bd2d09f198bc2ace6cbecadbf9069e0b5fc3fdb7e79f9bc2876352c2f65ed455197d98a9ccf6dd4456f48437f662c0ab39a2fb3b7fe42a681d7f27f2bfdfe12a6587b933d48f353cdfafb3d8335b10e7a7b74f751b05b1abd7b15408b7f1dd6ca51dfdbb902cf6ebc4eeaede32e5a3eb757efae7f53b5bd5318c20d0397de198cd19fc03d6824d0d4d937f51ddff11d1ffde847bdcbb8295715813b75c0a98f6908635c03bbad77976ff6e417729ac05a5600b747e2e14b92620dcb9261b3d32fa4929a8da407aaa1c2e2ab70feab797a35c00b916bb8a9d5937f2b508fa96c9aa58b2cea36afd90eadc0e5da31ce99523bf998791aaeb60a38f5302b3dbd5e73cee8910a808530f7d64f6088f7519613c3f0a77eeaa7304d61d27ff1177f314d653b55021ffad0879c2a333f37a7f0fa53135ee03455683606b8c518b27ff95ddff5de0f7c60e051f8c0cf33e6499f34f99c18b3e10c2f3e094ab4fea2c9c7ec78a0e1c26f3573bb688a1d094c39ff33d7896f630bb9f02ff129efa90feb3755f89937fc766a9effac2efe5b874b3d646f27ef19db71e53f3eb2ec179ce6d487f59b2ae4722c1354fcfac44fe63a436ef1c53f876a686af8049f6dde33b652f5990422c92ef5e08b3df50bd954e12f8a5db54ffa97e28cbdf837751b1b530dd3143b729ad3ff45f83616531332cf989c2f380d72fab07e5385dcd630ff9ceb13bf045ffcb3bdd5cff3566f2a729adbda082e9e0b3901dcf0dbbeeddb003be69a87190e9abdcc96649f7aef7bdf1b637b0a0b31a5b79de935027dfb60b1c43cdb28f1407d7b5c53e9056ecf5dc825bcfdfda29f27876cdbb24b149933e525afd93c4f7e21c04c608d6ce631f3345cfd694e3dcc4a4faf5f3b8f85f90ebcbcf5676da73ebc904bf81762ad3cc2f916cecd8c17f7539ffa54e7432f7abd53f1231ff988b3c287b09ff8c4273ef8c10f3a5e7afda5750b642a6076b280feb6c912b9d486c3d580b1bce1b31fb9c5ff7c81d7e5bb973dc13bf3fa0603b0887dfb11a6f15a76cad2b8123a2ff1ce4862439858a3ec9b0abc61fe0478b1fa5e21bcb31ce60013101be69386deec83e9f1fb2d1ce6c981406c7a79f3c74f73ea939d35cf5f2e515989ed18e963c663aa873e8079b7afd53ee5da5ab57a0eadb5dad07b41cd1450ef821c3ef9f0b380c77f30ed2ed39fb127a6d48a0d74d92f70a0a866533e443eb6c2a70c983999d5f364f67c682efe1c6ef567d2b2906967c64bd465f651feac13b5da7238634f6c36c1c2cd8a9df94051fa8504cef0e15393f3ea79327bfafb5addd7aaf36de74f0b723faf5a81fb357839319c1ed6e4f6fdcaa6633f72d3d99e2e0ad363895dc99e6553b605c707e0fb3d43cb6bad5e87fbab0ef6de5f56e075797ad9cf4d7a8f80bb5b75def733942d0aecdd016916f6aee1e63e4cd0b0d8de68e0f8690c39e433cf483dbecf06d2ecdd2a9fe9cd324c1369285043563f5e3d617d17309f80d9f4f33424d396ab9a778c0498e901c3f4f1afc05af9f4c211b544f03eb83ad7ca81db636a7d96d09ac06d3f0922f5d308193ef9f06e744e9ff4d98699ccb990791a169b60b1f9179866268b3d6b48b32cc41a523fcfb0fecc15469e7c43fd6dae641357c34c2efaf8348a69485361f1fab3ce9c57f334c98a85b58ba64056f8959766fa6a4813a927d6ce1a86f18bbde8c73f463f74b7b90aaf9f3e70ab9f3f9feac48473c87fb599bdf0e9f321bbf8e0b3c51798267cc68613a7c9534fac21f5977a30c9e2c30fea836fa83f357086f917a89fe6567f6aaa33fd7c8a3debac8cf1a73f5935647bd11498267cc62e2f9026133db176d6308c4f56aef0a3fc0dbea1fed45467e1f5179f5b7d027db1d3574cbc7eb5c13997173f4db28b4f649a0285d0acbc7c08d2649826524fac21f5cb1bd6273b7d9027df507f6ae00cf35fae696ef5a7a63a31a74fb1679d95313e7d3eb6f5fde5318cbd498f0cdb9e1adabbed5fb0b67d3c4c6c9bd68f376c5f436edfbfdf33589f77e35a3dbee6f7eeba02afcbd38bebb6db56e7aed6cdbaab1a6f49fa4602ef9a8731f1be6d1005d3f7c13c0d068f8439e0cdc22d6d6f22300dfef487b53e350184d02c57790df3ac36b9f2c7d3a70184e303f1fac502da43b2e3fb56b9d234cbd95085d5b0294094593258a37150afcc5af98b2e0ecad1b5ceadc6e352fdcb7e6bdf96b34fc89ad5b70fed53f978a476e2b6287dfc8bfaf95c94cb1bbfd9a50068c6cf1f38f1fce9e3818b271e93e08c852f6db180d6ec625773b309cc9e352c2acde95055099eece77351969755fc669702a0194f997fd987e71fa3d72e9e65c15f621b9efd621f5c9eebb985abf971e65997f359c3a252649ec3edb1245e3f9f8bb2bce55a9fff197b892a2abbeec90000400049444154b53e0d30ff4501459db1f04206e636b058408b5f6c3537554f60f6ac615113a4313ceb4976e9e7735196379ff5f9cf81e61245594b03cf7f514051672cbc9081e7666ffcbb58406b62b1d5dc543d81d9b386454d90c6f0ac27d9a59fcf4559de7cd6e73f079a4b14652d0d3cff4501459db1f042069e9bbdf1ef6201ad89c5567353f50466cf1a1635411ac3b39e64977e3e176579f3599fffee19fcde8b3da83b0dfb945db88de97ecfd0966db9b656afdbfd55a7cabd3f57e0d96dd649bd7dece2cc2470f6bbb691b55dd58670c3c0a5770663f427788bbff7f2b18f7daccfdabd1da8cdfbc21e0f00cc6ed90df9bb48dcb5c7ebc380297d9a80fe8c35bc3421e5c2cfb3c783f899f319ae8642e2379b615990d3ccbfd8f3183b9cf8d59083213e5c3d0562323f7d08e257ffade77908c442f2bf8d2de9d953560372752ed756c06cd8390357032c046f03a837e5f4d8c75dfdea4b1a62bff4a2174b4ce9d4f28628b6df7bc9797b1e81b60de9c42fd2bc153e0d37e96e7fefa51acaa5bf34b3abe7c95ca7f989f329763d32c3664bdd2ca6f0b39e5bfc76342f8a3df9707556d28a1cb95281b3510a7f91bed9f4171c59ec7ae4adece5fea70f4c9cc9856fea2575be24f6f40c2fc54b6aab80b3efd05e52c3697ee24ccab5be1a2eb2664dc597abe12d7e3b9a17c59e7cb83acf1a4ecd4a05ce765fab179d27e72a85ef6b75bb56fdde8b2dc91ea7d9aa9c759acdc8ed4a8f31fdae0b4c600a6fc3425a5543583860d83e08b7c7ad6faafd176ebf6bd61058ac14edbfc0ab7acfe06077bcc056a9956cea9db656ce87fbefbd3cbc6c6f6eafcb772f3ebde83ed5c9ea8dc095d9c90ae0ad89cbb54f381a62bac8f1f491187acd6c00a3f16c581406184e5fde47f9c3371b7d8b6208bb690696a258bdbca24e3e1943a466d89b1a4c5946b86bafbc48b9f2c1ec58f2979d3e4db6d5967935e325821310a7d91043103f7f0c81860f60b47ce26308b4707c7963ca95007e3b6be567883938b4be6351aa37859e6dcafb58c8c396d036a30fe0034ff60fa2e3e638bc90017cfe27088f495008b23d69519301c3553b26beded15df8599dc7b87403675435c49cf5243e7d4a1affa27e3e89f5f3177289da30b09007ddd1e6392ea6e189ab760c40537f5fab96a2d580ef6bd579d2f9797b2e351b7f5fabfb5aed0c19e852aa8f3ca7cef3eadc07ed4a9a0fdd88ed83fdde0bc1e7711fe4df3ec85f16e6f77b068bb0a57033604134e43b64ad3a73eefd65055e97a7977e1ed445eb8c0cbb7461bd931570c78f276881bab061b3f84e68b3f1ce6c53d3185e7886a7c690bebc40b9f4a51b9f67b16998481d4fac19ca6536b258c36a208039ac36b26986cf7ae8359acc3b5e4a43b262b9e56916989e4c5bae62f58a111e7fae037175068a65786a0cf1e505caa56778f2676c1a2652c7136b866a301bd9cf131b527a80f1219647176f4fab9facd6d6b22f6d9061bc164e396c979a062623084c83893f63dbdea66faafef42916a385f5e1f957db528c3f63d314381f205c6c9a18ca91c38ff237d6c4b05c673da2b4b38661b230c13c03d394bd44177f519872851b5e788253139e3f31bcf0f1ac908fa10f078e2f305e5f33a5c1fa6201ca91c3e9a7310c673b7e3ea71e269b669e81f8f4e53d63f38f3f719e179ee0d484e75f6d4b319e15f231f4be56cf76d2fb5a75829de74678fcce9ffb5a5993ed7d363e9fa160f6e11adc9e05b4c7e9ed6b86db1f61fb577b689a9f751f2cb67d502c4398c3b90f4eb35ce7be4cafd1b4c9b6ef531a92155b557ab3c8e9c9b4e52a56af6ce1f15b93c486179ee1a9396b13522e3d43c3eac98a4fb16998486d0a4fac19c26623b70ed540608a43f5e4398d61f8ac875ec367def1521a92a5af2abd59e4f4f99fb962ee7d2bf0ba3cbd385a67c6bef130ec0ceb1a700b6b1893263e66bcb30aefb43b7dc47266e824eb5b0eface547d277dfe79963a4f815a7ab19dd0f920e9cd8a15a2c1f9e7633843df486c087310ae87ab8132469fa759a423dab719b05cf8e502e8d797ae63896f1de24f25fe1dbb567eb6d8275bd5dccf19abdc51fbdf8efbd9c26ffdd66f7543e63bfddbdeee7299b5384f2a177bd18fbf8dface9ffcc9664fcf13dfce62e64f19d6df462deff42f72cb2707c7bb3a9fc417b76511f5055dab557566bc3dea0bb36a3b46b1f7b5da4aded7ea3c974e7c59192b7661eee7d58bcea2fb5a6d65ce332adc9b8fbf3666f7b1079df70c1e60eef70cdd515807772cae38abd4fdcf65adf0afc35a59817bbbacc0c3276717eaed0fe719387bf734fc316b981337d4df36779c48fd09dee2efbd7cfce31f778af736a100ef146eafbb3cc21d3567fcb902bb546e631728aa903c7b1b4a0f9bea567e1721fd307fcaf2560ffd720dcfe7d4982df5adbf292d5edfb0d8ca2e5019cb5e0d53ae86f4676c9a53bf28e23c4f3d9c0959790155c54f4f134fb3f53931fdaacddf99b33a877b08f1091f4da7160de054d1cb0bf087fbff5e4ae1d4f28b92663ffce10f2bc3ac5eebd3e513c7e823296f35d39f9af09869caf5f2df7b79493d171fc355f8f2da5ee4c9a1a9971c57cea57e914f9a8bf2259e73a3098f093c199bf82535bc24d6549e67ff56f4d300a57eb2b6d3bf9097d4b91aa67c89e7a9098f093c198b34fb921a5e126b6a157278d27f9a277d90f7b57a8beb765fab979f4be739fcee5dab9eeed4ff255ff225f5fd78b393c42e664bb24fc17ecbe5c4f6358c6d8ba67d9066fbe0f0f6d334fc69f402f576ba736f8d1c6f16d68a6dfb4ed37e0de7702a5743fa3336b7a2c2f534c4799efaf8cccfda2efa1d230d139e6a38317d0cabfcd35cf07c4e9eb2d41de9e95ff1f1158929b6632ff0f3b5561e71efbff7d29a9ffdebf2dd4bdf4874e43dcd3bbd9cd670a4334f73b6e9318fa3876f3f6890cec8e93b65f17df34089e9db0681f1f4787d9ae505f83094d76cfc3236e44003575bb3427691e0a7e16f8ade6c9ee9cb1bdfb72b7851a5a8069a18b134a6f064afea5a793839d7ca5b7f2b7cae9545b02f6af680d60a8e8cd1db4826839f5416355960c38b3f874b9694f1f99f9ab901c37388bcf0862f72c83ffdade69699d2b14baa9d0e9b2de31768adaaeaac6d4c79555525eb81e173f696c79cce8b8a9ffe5673cb148bbfafd5b9e69d3317e6be565b81cbcadccfab5646af598dc09367d1bb6bad3a10bbb0db53f703ede0f6a978bd87197dfb75b34db5cbd763763fd08e167fbf677865d6aa03b9f7971578f67fb55ed8576fe8e70bbb95f71ed12d7b5778bce3c5bb894702fa34424c4defed607a3c9c92ecc263321c5fac28530c35e0c94478954c2fa48647c2790e63f8a4a731145e6dc369f4e55dac40a452d39b9d86093e26d98ea5434302fa34a59efeac87e7fcc9e6138fc9707cb1664d31d4802713f916656bd5962f0aa0ef7d9f67dfb47856f1e985a98e05c613fb8a86c68f8db52698ed7f03c9e62f046e76388dde94166fa8cd070f6380f8707a782d657c6253f364a29dbcd942e2c3917ae404a6f818ae9d3ee16980b09efe21eb53799b4a03afcee1a2e2e178fd83fbe7b456a2846bf3bcf8ac86878a9faa79bc4098559ec345f179ccf3acbbe42d2a8d29ed67cd2b24e71ca7370c2f2fb78a79d2fff4991288d7c3dacbfdc9b469a4d3448d070cc78723f5f809ca65b876fa84a701c27afaf917bbe36d2a0dbc3a87ab36be62167bfa9f3ef8951daf476a2ff727d3a67951cde3193e990859ae0ceb3181f94f0384f534f39f1ed85400339fe1e5a5a9309a6231a73e655329e7ffa4bed8d39f4c9ba7a966c7039511bf922e899aadce620b9c4f7a7d1a20aca779c8fad4f9dc541a78750e17150fc7eb1fdc3faf6bc5d356a5f9ff5e60fba0a4f6a63ef4b125c10a306c1f04da0791a284e033d93e58c1c8f8f6b5f6d661537c0cb7e7be3ef70cd66d6bf5b848cf3afcd6e7c4ef84b5f2707b967ac7adc09bf6e65778513a655db14e5c8769e8530a276bd7703dd254df4860341809a4ef9d82439fd6b75cbea9e04310afa7c72c16deb7196486026956098c514fb99af54666a8ed5b91343d3088a5d7139c3cf33e7dc1ab364f02c330300dbe8651037d95d07414ab506c9af53462df8d6be5a9a66f5d3cbd9c6be5d03aa8b6a87ac7083c5ba6e7ff60ec10f1c3ed1986daa22eb8a847c99bbaed37e9cbd3068629aa3ee782619a6217987eb28104eb81f9a7a9bfcd75ce9e9ad30ade90e66cf8b3f2f9d33c067d8e6b35cf72ed58e6bf7a96e5be56f7b5dad9d85971f6ce1ceb733fafba30eb5b8d7395c2f7b53a57e9edac955837a6edb63620fba9b729bb92bdc9ef64eec9c414e5fd9ec1fa9c6b65bfb62616e795bfbff2eadfdbed0abcf149dbeddce7cc788f2b3670f6bbcfe87d508f397143fd6d73b222f527709d47024d9d7d53dff11ddff1d18f7eb43f91aeb0eed401cade1776e3de970009cceef69dacb792adc9199bb2283d1332b1f8405185f039f5a60a997e21e32f9a94fadb5cc5e201ad5c2bfe6298408f6f05eac76f0aa8f8a6f27f27ac9533c73a54a76792b0ffd7456d3ec452b3de89814712a4c774ca99752c1d1acdedefbdb44f134b31dca65e3f1e209bc6509b6678b198d3d6f0a73efde9f77ee00348bf00f38bbff66ba7cc36f17c027a6d3e539e655c6a38f5273e636f73515e7c96f434b9c5e75164a2d74a1778249ef05fec6498c4f5973aa7bff0c40b5cd915507ffa9fb1277fe233f6d4bf1c57439a27f1a5feb3e653dfe15c722df6ac135e7b91fec2d39f791bd23ce97fc652363c4b5dd41caa27fe25f862726b7e3a9b4d9fec8c6deaac73959cb285d36b2fd25f78ca053665f822ff3376292e359cb1a7fee5f862726b7e5675a9f98c6dea926bb1175bc3da8bf4179eb85c405373363ccb88cffcc2bf28f63657e96ef99718665ef6d5907e532be049ffc54eb670cc4860ca7e711fe3f75eec595a35dbaa68347b93ddaadf7bb14379b0e93606202623c8b0bdcf76e697398769609af50448213140b83d1d7ee5ef193a5e7d4bf1ae58abfbefbd78bd6edbebf2dd8babbdebbcab541fc05b14d8250dbbd14fe669de69fda87af806a60bde143e5254b180a8dcea2f9f10b4e862f161ce7ce6793ad0704b967ff560bacccc8a35c473c8535e7cb1786f4062f545cd07337dc74b9cbecac3f480d81d54201fb8581993bd5bd6aa9f2756bffd00d67bb8edafbb6cad1cb5d686da46b21ed0ec28fa53b361e46518b95ec61cc85236859f06584bb3fecc9ee6c1e5f9870566f3313532b0e1a6c688caeaace18c1a2e7bfa706e278e11a29d7c18791670199e53f04bd6eac1fdb022d64e063eb34f90c6d0ec7dadb662f7b5b214ce07bdb67369a7cd18b3f7b5b208f7b53acf93f0e7f67ed5aeda3730b05d75bff7627b1dbedf33b806bb0f710fd3bd59f73c5da4d6aa7b1bc3576fad3ac67b7f5981d7e8f75e7a9be83ed52a38dd9de5fb795057421819ee52a1bcfc6c68b1e3f9b89b1795a17e29f0707cfa3c313ce172a56f0a4f594b03ab878680619e894da5294b1a9e274f399ff14cc8caa5182d0789a601907a8d203d40a3898d0c9ff5e0859cfe86e94d95ba58fd52745cf1e9f3c4543f43b9d237856fdb48efdb15200d81cfa5787a3889a7f433c43007cf2d308def5ef07cfcde0b7f67087d9efa6679ba5fd100a406eb1ba689c4443ecadff856334d51f3a41c4eff18fd46578aa216bbe9799e3e42e68917a5cf077f896d2ae7a6ced8f9cf33b75b3e9fc592a514a8c1fa531359c6f034c827fdc7030fee6f3e2e265a5380593d1f4c6d9e86ab334d81f88be7b3c837eb733e3d4fbcbcd5606a79cf5c2716a251223558dfb0d8c8b284a77991ff78e0c1fdb9fff852e033d4cb65b6b69a0dc3409a020d2f9e055ef4f937359f699abdcd75f2c4675e535a241eae9e6922cb189ee6c9bc2957db83fb73ffe94b81cf504f5fe03445cd274d813417cf4bace19c9b9a8f61b8ecc34ff2f92c56881679faafb6488234e99131cb35fdc9c3e98bd5a72fdc54e6c516384d55adce8b7fb3f9d05c620de7dcd47c4eff799eb9aa6afa69049ad2323ffda7892c63981e88c93366fea6861fdc9ffb8f2f3cde8ed3de97e1f641fb17c63ed57d4bfb208cb7c7ed1b181afb5756e1f4db0719e6d9a69906b60fb6ffc2f6be93c7b4e722c73339f7f462f5124d036c4337953e0d19cfc8f0590f5eece99f275e2b3540a05f8a8e2bfeac0153fdf4ad83d9d2e1e1da8e310d01c33ccfdae09ff7b5baffdecbf317ed4dffbef11ef126fa151dec9b07c707778e3a770d9db50d7d93e064ed948d7731d0e0819ad8a2f2d1d3bb54ea1b7a13e96233144b6f5696bea94086cb65b837a9f4c44017ea6a2baf1aa64f33cf62f5693231d4aa27a675a03184ab3ccda3f6a14b337de015582b3f4fec783b4c18b85dab76a9f698f580669fd08baacfe764e0864d4db94fe6b6d324fb593fc52c63518fde6fd420f6e25fd2e5daec990b79a9a1d9b34f93cf3c2f6ef1a2aaf09c45def2d35f94f1e7eceabfd489cfb97e81867956495169569bd834facb714d339f340d735beca9099ba2b9785ef48631b7b99868177efaa2eac9e2cfd9f2e670e11f7c9fb70522607d19f50dc718ded7aae5baaf5567c5b91ace0de45a537a4cfdfdbcda6afcac6b45d9be0cd861618f3ded47f6a6fb3d8365d97dc8eb7c7f651deeed76055e97ef5e3af23d797b83e8c9bb9bf21e12a641ee01a6b712cf0f170d5e7345e5e98dc6304d9ecb652a8c0f27900e5f947e9a787db23c05021aa5a9ea21d0e07c68c65392298f9e669ec0a3cdb35fd09f1ebf3a61ad7a806a7b4cf5c603d5a3e4418367587fd696201fbcf685582b1f446ddd6c9f1db5a480cfb42445768cbe755124bd4fb37cf7e260c34802adb5aa6c5b48c04edc663cbe4dda709a139bed53b76462cd86e373bb78669ecf02178b193e730d9ffe599db9aa93461b269b27a0993d631be673f229eba749f0e072e3b3d880be1a80ead16b866223d32073bb789aadc5275b6c43823c970b731efb8b8e6b1ae1c362e70f6899e709377c9167fa6944698f36579fa6ca7bc1c2f3cf4738c13c81b2d45f620de3932db6e1e953a0fe3cf6171dd7347c86cb95a7449ad96cf369f822cff4d314f86873f59967405f0d40f5e83543e191699065a947c607f4f1c916dbd06c9ecbb5d8f181f8a2f4e98113972b4f8934b3865aebd3307cf229eba749f0e072e3b3d8807ef5578f5ec38bd587cb9bdbc5733ef1f480566cc3d367faf29efe4d9db9a6211b269bff63aa5764ad1c977d4adf36646f6a41fae900478a6f5f065a84f67a1b9cdd6d7b1fe589db0705021aa5587b1ccc4783f3a1196f96ec95bf67708c5b2bb8a37e87afd5fdbb17afd46d7b5dbe7bf1ed84abd465ecd2f5098793d55a60603d8c8fa4c1a4c7bb983dfd376588cf04c68b32d4f860b4f072099c3f4d970a66983fcf3356085b4c9a47fb67fef8ea313b4d5814fd59e7a9296f9e0cc556c3a9099b7d55d7aabfa1ecd8ed0dd64aef90b5d6bff5346c9b046c9fb5f06d6f769f524f4936e52d488f9745c883f4b1cda7616ea7e7f0c0a93c6b0eeb976b2180287dd94f3ea6d927fbd29d75e6139f95fec9d86617dbb0c0e96fc1ea5f6d85e0e710589fe0321b99bf296e9385f5cb75c61652f6938f69f6c93eff1def7ce2b3d23f19dbec629777b14f82d5bfda92e1e710583f1f0c3cd9c973db30ac5fae85cca1ec271f93ff937dfe3bde34e50a9f6eb70e66173b659e864f82d5bfda92e1e710583f9f3c273bf9b3e6b07eb9163287b29f7c0ccf692eb8743bde66cb153edd2eb14d2d76ca3ccbb89081d5bfdad2e3e710583fc33c273bf9b3e6b07eb9163287b29f7cccea9c724ce976bcf1e50a9f6e8b9a0fb0d829f34cb39081d5bfdad2e3e710589fc09edb7d02651b934fd64cd992ec59f77b06eb6359b656f0eb767fd5b1dffbcb0abce916ea32f7390f2f9777c3facb3b0272d776b8a1feb6398991fa13b8078d049a3afba6fccdb18f7ffce34e7a6f04de11ea1dddeee991ae070f06ddc286091a92f1f4fe32bda1597a3d1c98f3453f13e2b39d7a7cc304a7670c4f82dbc2cc56dbea07909504cc1630cc070897e8494dcae981a2564686b72555cff48602bf406be59ce910a4e8f75b009f66a9cd062029413c127692781d4df9542f0d520852f31843f6e10f7f38f2dc84c2eb859c9af123092e9a18ca5b3ed2df1cf3a7c6ccfa9b63fdf1b1899ff4bfe4ca3ff3e9376c56c83c6352c2277fe2a6ca351970b19acff431a7d59862f34c90e16281b07eb281c7c937f8344b7466b9352976fd2a39c39b6d0a2e2f907360fc0231da34e147eebe56d717ab65b9afd5651dce73e9c49d4be779783fafcef539f1bb6badf637c7fc7f2fb624b72bf64d87e3a145df1e0ad41c9a7b18bff162e7daefbd4cb37d7037faa6286f37683eedd1afe73d4387bf7b3643ed1dbe56f7bf39d6cb74e95f97ef5e5cc68e7cdf72c05de4780d76f37a591a57f83466610c0dbd6f5d9cfd8061dfc0148bf18e10bfd8de5fc46aa6d410a65c3d98fc8b3d8bc17320a02f5759f22f2f5c3d9434487afdfc935d6aa3e996bd597db9aae18c2d175e83cff28aad7e98e01dbe5636066be5283ca89c6be517f7b70e816e17cedeee320ddea6d2ec85a7c1d7a61f180f4cd92c86e7708234b77dcadcf46a0853ae9ecd02d9aec7acfec99625d934a7d2d4fc4fb7c596ebd4cce7129b525f9bdbc07820ff139c55c5a7b9edef6b755fab9d549713e9327422ddd7eabe563b072eef633b5bf686f336d7ca4e74d997db9bd8da55355beafd9ea145b61497b5c2bc0ef757e73976c75b81d7e5bb978f7dec63de8fdcb67a3b707bdd196f150c91816eca77318c2faa9eb2f02e9bf5f805c21afd664dc12ebcf1f07c9086e94ffec434f9f31906d4af7f32169960c795b8bc4d4d03b41469f28427bee8e779e12f3e855fd641c8e76badfa62bdb51db6aff0d7e3f59e5264047cf1a257215eaf367f1a1fee432f437f9e12ffa10f7d685b9740b8f013f0b96830135ff486da196e3887f9ec2b97f3ff7b39031f5c9e7fba5fd462c73f4aaedf0054db8b342b2c410e3b9cdbd8537feb89e9d0061abec867b2805e5b8a133ce94370f2d3cf67b3294ffe73c0a77f984987f6a4ffa9a7bc688a9da6d98b66e655dbe12c699e6fd1e7e2bfbc399fb34fd650aeea792bf8f40f57e78b624ffdada6d8698096e2b69e33d7f4c2b50d4ff0a40fc1c94f3f9fcda63cf9cf019ffe61261dda93fea79ef2a229769a662f9a99576d87b3a479be459f8bfff2e67cce3e5943b9aae7ade0d33f5c9d2f8a3df5b79a62a7015a8adb7ace5cd30bd7363cc1933e0427ff6ddff66dc26df46bed62f53dd808f1c302615b58dfbd2085e0dbfbf0bbc718e67cbf67b03ead70fbbe45db3dc989dfe16be5d5f73b516e54bcee9ffad4a7f43565037a27d5473ef2114fdabea5f9c4273ef1c10f7ed0f1d2eb2fad9f493115303b59407fdb64897c96f871385c0d04ab27a67e24f0f96dafcb772ffb94ddab6505dd976b805319e814778aecae9a7e029f7c88a221d6689aeadb09d86520767ab1f4f1d3c885171e5f3dc862c7e7df5b521a5846fe80d8b0c086174f6e676c25755c7855d1d3e00d5703b78e11d0e2695eb1b5f270d23abb6e61bd95b11a3bde0edf25776e3070ad59bdf7885d96a630fa9853397c9935cc2a9f0df3696a782631d506f78960b1b77d26278f59ecf81843ed9c8d29e3cbfba29e8cad862fd05a2de3651d545edef3882e9acb114d3f1e987f86730386d3c72cd6f045f8be56f7b5ba9f574f5e1dc80b6ff83aacd5e3713fdc84b8e9b4db7aa7b21f9d7f09737bd6f62921b09deb7ecf601d5e93fbabce937b7f5981871bb50bf5f687f3bcddcb7727d14ea6c79cb8a1feb6b99f46ea4fe0938648a0a9b36f6abff7d2a1790070ef7e624c43b1ddb21bc2de205c21988bde6c3c4d81d39cfa53c34a96f4e13c4b7dfa9797edea9c8fc0781a19eb3185640563aaa740c3d33f7d9a89238b5a5ee42d2ecbf440f8e765adbce85b937ebfc521fb0cc071f9f84a61be78a1715c7abc33adb5f2ad4b584fd68f8d65e5bb9787433a3ed508a7b4a71ac2979bd153339c787a201cd8f66c089fbff7d22fc0c497f7b3c5a5fe1c62abea0cbfe0cb3aec58804d0d44cef325f59465fa6c5fa24f90f3dbc4e701b27aeb9e29cff00bbeacc3ea0436351039cf971c7b59a6cff625fa0439bf4d7c1e20abb7ee99f20cbfe0cb3aac4e60530391f37cc9b19765fa6c5fa24f90f3dbc4e701b27aeb9e29cff00bbeacc3ea0436351039cf971c7b59a6cff625fa0439bf4d7c1e20abb7ee99f20cbfe0cb3aac4e60530391f37cc9b19765fa6c5fa24f90f3b0df7bf11cf2a55ffaa576551b937dcac6a477df4269cfc29f98188fd4dbd3f5acd26c1fa441deef195ea5fbabfbefbd74c95cfad7e5bb974e6517b6ab1a76c16f21620cbb95ef693e3db21b7aa03785f978b308035a6e34f045f338fff0e812ef93fee1a2f06a80f5bd85c16930e5ed9e7b35f03cebcc934683cd021cf6ad025cae47c98366c70523d570f194ab95596c157614420ccf1a0ce7b93a9130e7a2000d79e1a749d0b1d3a86df831e8e131ec6dae954fb33cd26c1d648465f106518ab604d85654c3002703db5462ce7eb1c893874fbde1e979511a5edab2e34f6c78fa0c179e72b8daa6397d4e7cd6894f0f68653f1df28c4f73cec698bd78ce07589b3fe6d41b9e9e86a7323c932767a7397d868b9d2607b3c034b71963ce3a31e9016d3e275eae47c9d3df775d3ce753ec1ce2f5a7def067ad3987fad56678e28bcf3ccfa861b317bde1e9163eebc4dcd7eac955baafd5eb765ef994cd1ed4fed83ea8f7dcd2a34bfc17621fccf3761fc47b09da137b2da6d9fe4e83549bcacf7b0095bf92f70cef90b5eae5b8f75b81d7e5e9c5eda9ebaabff3ede0cf8bd3d0acdea5a8efefa0630cf5bb5d5e6c9aa2d2c019a6c90d9611aef1018a9d27462099f7856609b4b01ecfa7c20c613dbd369e035ca03ebc63c12c5c2cacd194777a86f9634a31cf0e0d5f330b30d1e793ad7ec7b5d834fa69e00cd3e4065780a1f6055dabfd4d7d95843b167ff50553736ba585fbc6667882f3a73cc3a6ba2d4ba39f099c4f8cbedb94f8e9e7b3d80c6f7371a82d63fe5999ca3fcdfc0d7306962bdc94d9f11c864ffe82059eb1e53d3566f34936cf554eaccd04a6d92cfed633cda28a2de43697d9da3cf3179e43fe6922e3ebf1ab39ac4f369ec3b0a917e133054d794ffd7295623eabbcbc2ba0d8cde26f3de75f547d21f9c70c1b6af33ceb8c67f82879b6080d47ae661a586f4a1bcf79f8e42ff84c417f7b5cf98b2ac53c57b9a9cd86f349afbff524cb671a4c86273f4ca62d63fee58a871f25f7b56a19ee6bf57026588bce2b7dfb8e5d0fb61fd9077db856fb82ee83b77bf4f67495841f77e3fb3dc3cffffd9557e4de6e57e075797af146e0e0f52e4b9f10782a307471fae400763fad61cc0218bcf71198a62bb9b712b1bdd110f7a9433e9ece0932c1d318f289cca75c18213dcda72916195f887e00bf1a90f486800a9b7a903eff3d1600a94e405e3d1c089bd5d4c6a763e7a6a5e199831ef94aae9583f20d8c4500ea1dacc36fe85e64ed61a51e371bcc6e4730090267dfb6a4f749737a4a8234f1c38ff4b37ba3c922ebe7d0ec3c4f3ecf9839d34fb32cc84b5baef139bc849ff2161455ded59321f19c876990fa1d575329e3878161b262317da20f60f0b5f898938797ebe2b6c0f8e74e6ffc8baf8d32849fd3cf4e8998f5135f40516785a7f99ce743893ceb6f2a65fc30304c562ce6be56ad46eb70ae4cf864ee6b755f2b2bd075b4ab09f8fc5e830ced3b7a3fbaec9ec106e401588fd4307e07a6bb089afb3d8335b10eafe1fd95a3beb7db1578f84f915e87d65b835b7377e43e75e806dd81f709446f103d72205d24f100251e100817cb47c3b774d3278e27689861b928cbc2072e3c5c8af22e3081f280c81c1223cb650a9ee76a230b17aba7d16bf853df634cb5d513bcf3d7ca06e3585a84361b0732d2e1fb10cb57f00ea4b56a0af629171e681d7a71fd1e3f46b34551f6496ab6b79faaa6a92fead4c0f399264f3ca03dc967652a593e8923e327302c6f6e971a1ef33cecc1a78fa196e780e1197bebff18f4868fe16d5e26e3d357d5d9cf27717afd45533d78406bb6e15967c7353e40acc11b06f4b7353f889ef31285f5257d983bf02a396b28d76203a2aaede4290d8b3df9c7246f5a8194f167ae3c9b9d26cfea842f7c89564fb2d546ac95a8d804e9e776a901afa549ffa40992ec8c4db6d8c0e9f364de5b7dce672f70b1c3c045533d78406bb6e15967eb333e40acc11b06f4c59ae579f179cc735fab676f68f7b5b2025ae709601bfa25bfe497d88660bd4717db9913a9e767fb543b3e7efb3565b8db00987efb60a7e8fd9ec1e258a8dbb5c26cad1ee71f3ec91dd96ab7b0c86e2de8e1adbf97299e2c9ca19e46afe14ffddbbcbfda8fb557f0bd6f055ea3ef5e9c703ebde8b09d5b00c6f9e754dbd37c1af7b278ad4f3b00626f1f7a38cdcef8be5139350c8b2d571869c8993e9f66f5a6b8c9a52a626d9fbec0f847ee216fb10bcc27e762bb4daf7eb33b5eb1647a5678fe69f4d3c0f9a71cffeaad95a714ebd0d3cbd66a6f10dd82d45b2bdbcca537d4ce4f70d3c4eb8b45d2dcbae1b517f9e339102cb661fd63e8433db7c3d5d36c82334bb1b73d4db10b9c798c904d85c7e47f6629767d81ab6dca19c630dcf14e83ac9d4cce31fa868b6d585f2c7c3b5c3dcd2638b33ccf7cfd97a6d805ce3c46c0a6c26356f3c99fb8c0d5b67a66182364c73b0db27632029131fa868b6d585f2c7c3b5c3dcd2638b33c4b7cf30f4db10b9c798c884d85c7ace6933f7181ab6df5cc3046c88e771a64ed64042263f40d17dbb0be58f876b87a9a4d70667996f8e61f9a621738f318119b0a8f59cd277fe20257dbea99618c901def34c8dac90844c6e81b2eb6617db1f0ed70f5349be0ccf22cf1cd3f34c52e70e6312236151eb39a4ffec405aeb6d533c318213bde6990b59311888cd1375cac617f5dc69edb5e5f22d84f07b4b36f5f6eef4e60ea7ecfb0b572aff26aaf55477aef2f2bf0f059d1857afbc37906ce7eef0bc81ae6397c78476818b8f4ae5e8cfe04ee412381a6cebe297f73eca31ffda8f78e6edf7b0ed63be3bb350f77e0340013ef1a173d32e5f8ad5556f3c9241f2470c925effccdbe08179b4f9ad3135eebea35acb6f8c2956d08577f53230dc3d34804ef188bbad49f498749b0fa976551f32944ff795cabfe2e7ef5efe35267827a7ceb22171cbf73ac021afa032f62357aa74a6bb8ffefa5cd869e58bfbd076e183f4c80a97f943c7b8c19066635e5a2fccdb1f77ee003f8fee397a24e3da61af2092748dc8fc3f90f01bc0ae39face7f499ad90f11996287cf1d914deea792124f55aafe009804b6c89d6ffacfe53e673e90b5fbae5029a2a7c02609ab7829d1e9ef61d5d6754432755ffdd7529ea250a5cfc914dc59f85996af8a2d88a6f8525ed8afb59fd8bbaed2bef52cf6a88ff59ebc9e45243f5177bfa9f9e05d6a7872f3ee9c7bfc830934bece5789fd4dcfa5fa2f25cde8bde7053054ed0d48b8eeb963f7d663b4fccda6daca9c29b82cfc091642f8a4dbfbe5cf90c2f7cfed35f98422e7a43b2a60a9ca02964b397bcb7fce9536c56e3f3890c5f3c3715bfc07235bccd2b6a7ab3e1b7e83ffdc5a1f0eae9ff7b81dd0ff805181738b19dc8e76b80b71d3cb03fee6f3bf3b6e32d08e93d212c1cdf3e0bef2708dad77ac780bd83993ddbeb79cf60ddb6565b9377f85a39137c0bd7e971ffff5e760ebf2edfbd78f93b66e7ebbefd70123b957706f766e13cd63ccd7be3707913d0eb91c5f67670fa70168be9be1c7ef47878661088343c7371ee9b8dfc692869003c653c8c2c3cbe43281636a5b604a2e43d631398a5df311ac6633aa8983cc37c4a741ee359bf591a47d1618a7d57ac959f2176806a761baafefad6bc35e9c06d0c1d7e9b599b1006d00297de50945d273e875b9f8bc3a90fe7a3d7968bcff01c12182e97ef8efe8fc7e61926fda3cdcb7c72bbd499b37a365b963cd76f96fe9ffc937ff217ffe25ffc9b7ff36fa65c6d814b6f28e379ec317aede23fc69fc3765c5eac6277d4f34989bf75686ab5153be7f4862773fafce00ffee079741b2ee4b35aab4b9686abd9d029da91e6af12feadb0bfaf8abcad5ff8e9b03529367db874f598453d1a3cbb950c2faa32a66cf8729fd361cac0e777ad2e559dc7f8a2faab6d55ddd7ca82dcd7ea7256fc9c9d57cec376d2f6e2ce468f2248fbd4b9e7deef195ee7fb2be7c9bdddaec0ebf2f4e267101d7c37af6117436f10ddb29b8d07bc95c07a6f1fde35e20dd3d0d7f01c90fadbd82eb61c6834387dfe18e65a9af9d320cdae86f49222cf5c0269129b85d3606005640e8b32c54748790d87f3a7c784690896ebd558abfea28b43b337c03dab9c6bd587ebdbc9dad4e9b7c1c35a1f81340b630a09e3d3ebdff36f7ee82f7ff2fffcdfbef96f3fbc728f6d1aa3f0c9e78379887dec6f35f32f501fb3e1401536e493a7e1a586db5c0297d7ec2536db3466b565040c2f790d63f27c8c78f024c6a79fc9f25eeafc5b7feb6f7934fbc7fff81fc767a25f6d61b3b58bff73fa4d6b75e6aac2c5bea89ef1d303f339eb61854f96c6ac865face1f0f43e8e75a49e91308f11cfd6ca50a3cf045edee1dc2e7c267a7cb1e107bbc7963ee7b39e17e53a35f3e4349ff06d2e816908ce7ad2679bc6ac865f2ec3e1e963f27c8cf8accfabd59367267abc1e19066ae9e5c59ff5c49c9af0a999a7a9f9846f73094c43500d69d2679b06dfd472190e4f1f93e763c47dadaccdc3dafebcaf953dd7172f7aaf8e5dc936b4ef4fecc87661756e5fb66169783dd254fbbb6118b97dbcfb81ede304a6e8139b85d360e0fb3dc33b73adbc70f776bb02afcbd38b4bd475db0dab557085fbd6c2b58a77ddc25dcf987d93104fe98486c5025a3ea73e1f539ccdf676c0d330329370b3a6389cdf8aac36537d1392261f9833cc0ad6e2b961a6a731a59e72e14b47c3bf9a31e96916bbdaaa5fbf7a68e47a65d6aa1fafb24a3dabd8303a76df5dec90bb1ba0699b0fdcf6b6bd36bfe9697c7e16ff9e9ff8ceffe57fff4b7fed333ffe839ff9fe7ff1fca633e53ef15d8af8f99cce91cf3c8fdfb711bbf0c023f18ca46f38cf8ba61a9094c38697da32c96d35f09cedc0fc632e7db173c856ae31ab614c0ee3f3476ad320c3f5a6c600e7b12c3ca0afe536fc9c7e78e98707cebcc8d37f7a1a5353e2377582f06dff64ae2ffff22fff9dbff3777ef5577f75faadc999e5b61e626d9a5515636acc25d6f031f4d9edbb612db7e1e7f49bd6eaac6d98f20bb1563bbaf318cb3566358ce9c02ff574bcd33009d717b2d93396b2d880be86a41f7e4edfd7ea61b5ac46fdd6e7f55cab0ebf3d17f6d301faf623dfc000e1fb3d83156829b656ddff44ba457958a9c71bb05772ad3a4feefd65055e97bf39e6c6dd69bd4f1aac02dc5ab82f0f77dec32e03faf82e895bcd2e923ce95d422eadad6f3c12d325d72c2b8c7021e54a13c69315bb7af2344ca3a4d596737cb2e54a5f2e3d4d823093e5a5ac2ab11d7bb1fa42167bbb0ee9570ffdade6f4813f8f6be509446d3c35db61750286b0da34cf27703f19ec07907ceb02775cc229d5e3d1c5a75f707c9f500e6fa3c5c36db4bb95c1c4277b16fb13dffe67fed2a71f9e5fb59ff9573ff9333ff315cf3fcd15b8d8f083e47147cfa7e1b02199be76e1cf7a9e4b1e3ed9cd10134e56dee54a6f786ac2294f9f98f1622f3ecb95ed7c0c8b2a64b9d22726d012c4671e1fc66f78d67cead3e86b4fd6ff7cf28dfae7bfdace44d30394d579fa63564f7cccf802f5fc13842f794fe74256cf977cc997bcef7def8b244b59f88e313e329c7eb55df466f301b4f9c078e273f63676b5958b609a47bf87b53a35e19c9fcc955eecc5e752db7c566721cb955eaf551b30cfc06abe68aa41af99bad489a95d786286cf27afb9f0ab6d79e75f94e1a909138f4f16331e79f159aef4f3312caa90e54a9f98404b109f79fc89d3acb6d510309b0fa0952b8ca739676f6357dbf24e9389e1a909e7fc64aef4622f3e97dae683cfad90e54aafd7aa0d986760355f34d5a0d74c9d75f6211a52b337f90542db131f7bb14fd3f470bf06637bf28b9aed6b6d6161bc5f8081018d1eced0308d7d707b747708f1c962c62305eae71366f20adc33384cc7f5b0526f3e46c377ec5aed73d55eaf7bdf0abc2e4f2fbe6d70d6bafcdcaac29da62e45a74537d37af84bbff44b3ba7c3ad113dbeebb6d3288cf7d603e7d9db9014c502c2e12e15d97d5a405319f97843a9063cbd214f6e02e7894f735b1bbe635173fe344c86ab5faef9a79c67b59175d4c0eaa4a98677f25af50d7b75f62bf8d6c4b16cad607f8fd271b5863da2580daf853b42bb08fc633ff663fa7d464b6c8fb107ac8fd996d30e84a41195f24d9a9ff8f63ffd973efdf01fcad4feed2ff892e7fbdc62cddce22719fe89cddee65a0dcf721dff4c9f6633f13ff2233ff2a33ffaa38edd1afeb25ff6cbbee22bbea2854ae6b83a5eb19ff9cc67c87efcc77f9cd2c9f0cb7ff92fb78c64f33f9de38bfd47ffe81f5976afceaffff5bf7e758a3a35300da557c4892a90f9affdb5bfd6469ed24f8be19de7943ff4433fd469c9703e9c4f9c39e62cdbf9f01b7ec36fb0c7f77a15420358044bb17570744e0c26b59cc3c58edf546bc54446ab24d7aff815bfc2b725f94f5f521a191daceb94d2814897d50ffcc00f5c8ed429fdeb7eddaf33ebe9fa9ffdb37f46f92b7fe5afcc508f57f6e545e4995b3202edcbbeeccb7ee92ffda52ad40cf978c53967425f6dfff49ffe53593ce17ba16908bc0ae75ae539bd29c71e9955e25b3c4d6b9543eb29440b273bfd87f3fc2caec19beb4b166ef9ac9e984bde34a71e8e7cb29ed55f489a8b679ac827fd6f6bbbafd5650d6fd76debf92e5dabea6f3b76c5390a8c37016fb37a7bb16f63ec4dfd763ec659e4daf486e921072fb07b066f1402db07456548efdda09d3d4c23f635bf67b04a5babd6d09abcc3d7aa9a957d6fe70abc2e4f2fde0e5cf95dd5b02570d96b5dea86ce603c01c6050feb3b69e2e1f4c4f30190e9f185a43714c20dd028f1c0931ae434940f018f9f7ce015168e67a86532fc287ff8a404bf7a8aa5a91e3eda62cfda901cf81388aace86619e1a593590e5991b5c3dabf3e76cadf62d8a1adc75296c3500caf3f684ef60c378cd6d999abde97bdb12eb3f0b2bb659fd799b62e8b6a9296751b3ef79cf4ffdc00ffee8177dc9affeb5bff4d9171d69bee833dffea73e793cbabce7a77ff8177ee5973fff3c6fb75f7976cbc233db522c91d93c935d62935d34a7c3f469322100fc86fdf77ddff79d6205fcd6dffa5bbfe66bbe06f958cec3ad9e97db2f9cfcc37ff80f6f955ffbb55f3bff7316ae66bfbff1f7fffedfb7e6bff7f7fe5e643504a691c8efa3ffb5bff6d7f63a9ad2fc91c0dff13b7ec7fbdfff7e51dff55ddfe5063dfeff796c1e6f3c8a984256039fd3df4be9003d0c1455ff77ffeedfdd0116ab7ff93ae43f93f378658c07dc73f0f907ffe01f4cf9f7fededf73dff0f55ffff5ce405968c4bae17851557e248ce6c923f50821d60af895fd5ff36b7ecdaffed5bfbae25ffed2a4e1e979efeffc9dbff3db7edb6ff35802ac4280dbd77dddd7adb6bff257fecad63999a3f8f71f9be179ecc3b20cbf48c35f5b3dc3a77e3e00c13c1b169b5eafd1e8e3f5f41b8613dce68a99bfa86153dae9b3ec17ffdb7a6e6b3835e134b7fc6d0d69aae7563f1f8066f5373cf59cb5f3a08a4526ebb812e8cf583866fea2864d69a7cfa9bff0865ab900ca70e9e69926324df8e44f5c0d694e7c6ae603d02c57c362d3ebb5f3a08a4526abe604fa33168e99bfa86153dae973eaf13620db539f07199efbb26bbc8f0fdaaaec533dded0789e41d2d38c378419deee83edd4998789d3f3b1b9ebc5eac512c09ce18678b185174803a4297643b1f0e32dc33bf19e41cd1dc28ed7b0e3051c97d6f10e9ffa9f97b5f2e95535dcfb73055e97a717a7ac3ba43d6177825a0817a4eb73bc61df9074faf62945eb05bb232136a4775b9686becb40aca9044e713c3da6ab0513104b0953e6799bcb940a69f4f3e140cfb044c5220d613d6c36377dc758d2aa2ab022e16a50cf5603ee32a687fbe466b3424edef09dbc56ea77a43ea9d25b1f5f2cd851d4ecf75e90ed463498d6caa15990d650c8a5b55d6de3f9e9cf7cfbfffac94f3fde53ff3bffe97ffc27befa173cdbc0bee8337feb4f7df2bbdff8d6e53d3ffd433ff28bfe87ffeab773b3f1d8c6e65301f898d2e51fa6df1678cee6b3c0d33399fe45b94cd1bb4ffde11ffe6107fec10f7ed0570dae0bbf23fedddffddddffeeddf6e417ecb6ff92dc9f49ffce427a7f4e50ca5878d293d0cd0dc36d9ffc6dff81b1e347c9af8fb7edfef731639ae1d4bc758ef75f9966ff916cbfefef7bfdfb70abe1f50c0f77eeff7fa2ac6c3cf6ffc8dbf51b51ff8c007909e0d7c69f0bef7bdcf771a2a179e835e0197b5faa66ffa26621bbc472c657b7d3dc9785afbdb7ffb6f23fb36e3b20e4f1eddd676c77861caee102c8be27ff36ffecd2e1f4fc20ec1d3c25ffecb7ff90ffc813fe00939d9aa72448ec243b5af9556952f619e3c52a90baf86b07e2f8de78b5ec4bd341e93bc886794d7c287b8fc7fd5affa550e415e157ad12d4bdf6259198f2e0e41a01b29d782d9effcceeff400a3542f4d6e2f3faf6898a7516d784b9703724774e262f5da422ea029bdc0e127cfabd3e4d4bfa8fe97e8e75f31b9ed180b3ceb197e512e3e69f4f309ef78678bb9c5d5a0d71672014de9570fbc6319bfd9c2c71bbea87e9ae5bae8e77fbaed180b5cc64becc9f3598a78fd7cc213cc16738b97a5a9459da0a929f3d9b18c5f85c58e377c9b6be572f39ea6793fec31a65ddb6604c8eb0dd0db08ec1dd8fed5be9cde1b4ef530b153d3e8eff70cd6c18258cf5763ad7a89effd65055e97a7176f04de0576236e15bad4bbe6c3de0e0cbb7def2eb6b706773ff470808c1e63981e40ceb3a97c4c11732b163efd0d179b7fce7a975f51f1275ecd62f1d520692dcff9945779943c4b975b35f31758c6a2ccc614bbd9e5e523b6bcd549934f21d58c24cb139fbe02e60960e8ab8db8da12c49ff5ac665139ebabc1ed60797bb00caf66b378c37e24a91d2b258764def4cbd54695e6dcb4da56eda4ffd75fefd14599ffea5bbeef9f7fed57fd7b0fe2cf7cdb9ffae4f71c8f2effe6877fec17fc77ffe537fefac78baced909b98fafcb74de2f307c209e0d580490f9c26f08b62d327d67ffff77fbf071287f987fed01ff2448761e5dedd8f12f90ee47bbee77bbef22bbfd25387a41e216e956e94fd1892fb75cadff49b7e530e0fe53e366e36f2bffed7ffbadb62ebefd1c5da56b3f972554f7a3faae4b57303ed9b160ca5cdc6edb26f0c6cd85e0e55f92932531e063c90c8ee91a6d88e5788e1e92935a5bcbffff7ff7ee525e82b0b37f1be0e92ee761df2e47f5907caa6eab98d01344f023dbafcc13ff8072bc921f85ac312a9443a4f17a2ceaa5a5e895465b9bc2255e54829cf23e55ffd670d486ebd3492badda9aabd341e2fdffffef72b63b156f277fdaedfe5c0f908b7c22e1f793da2447a214c791cf5a042007b9271abc44a3d91dcce750e27d657c3a93931419a0ea4850ac7eb0d4f4d98c9852fb6d90b4e7ceac95296eb5233b290f8699ee4e7b3e30290133f647a6a1d082e790b9c4f0eab613e780d1fd0cf7fb8a9788617bed8662f38f1a9bfcd5b9d69f485ac4e4c9eb77c190b493fabc4cbb5dae2f39cb8d98bc6ec6a988fc06203fac50e3715bf32cebc53765c97bc9b0d349b67f5609ad267bb3a3179def2f6a0363597647b93b73e6f5f3e62c308f4818bf7526f14deb4a5e85b977e54ac3d8e984cdf3e282a9e7e78fb20066f4823aa26163f1f18af2acaf6e5307efb2f41198ba28c2976b3cbcb476c79ab93a61a0aa96624599ef8f4cb5b461a0c7db5213bd292c69ff5ac665139e75354794fbc9ae9f1d5c0bc26f6f481f152507ee1d6eafeddcbf3e57fd3bf6fbc33be897ee506dd9876aa7977e83c735e3a50a4067b52efe446d2d324a3c7c0ce5198f271e6e1f75b5a2751623b7d31045d1ef06287014afef9140be3b5ea1c96516d7a3c525e7a9e48c3f186a6d24c0f68e9f9c342c4ca9ebf9af37f143ecc02f9d04c8f81ab3025fc6e5cabfea24bc718b61aad61c765236965da63f46d48c831c0cffcd4f7fedd672fd783fcc77ee4f1ff57f9ccb7fde9373dbafcdb1ff9b17ffd27fff3ffe26bfe9d87d8f9d8841e1c9eb7d3396ce6c1f4b18932ac3f1938d9d927a8bf4421e5ad061fba1bfa52c29d7dbc9ede5dacdfd6204b3040d9dd76b9f06eb2ddce4e10cf444376d7ee71e8ebbffeebad67b37acdec8e25460d7ea8c98fab35e400e8dbe97d8710bfd9871ccf359b8adc5a79acc27cd5577dd51e5df2f44593073337e50dcf755855027d33735987fcf5ea1f5e49a5639e491ab38e8bd857461df5aab2986689b35a556415169f26e6e4cd1ae6e6a5d90f9c147ebe3467acbb22afef7c647798ac3cd297ae93c1f3aa8bbd147adfd5fce13ffc87ad243dfff80eb3287d47d7709a78bd8ce9977a1acc707a8c367f780e40b8fe51f86c16ae86e9373b718033a0d1a79972b16637f5a87de326380df2b6c2a2a6df714dd954750e2feaa25fa2f19861517045cebf10fd8e714cca72c162cfa8cd4e1098cf724d09a459488c61cef31f73ea879bdd719d51a6aa1308ebcb72d12ff578cc70b1186dfe706e18205cff28fc393dafe4ed8ab3a5daa9abfcbc67f01ef850e2fd9ee1f5bebfea1cb8f7971578e2b3bd8be27318f6062170ef14c37b67e99d428f397143fd6d739d23f527f0016124d0d4d937e5c7e83ffef18fc3dd827b9b70b7aa2477aeddca0b31ec961d19d6931107f4da62e331627beb799c7f23049f3993d3b31053132cb07a2a26cfea24902efd195579275fae624fe5892be0f4ef586890cb355c0defccb5f2a22bb863d9ad989b66c7e20eb8be93b0ef5ee8adbcdeace3f2f996edc1a1c14e8f8ef4431ffad03636e6856ff37b98fa91fffb7ffca67ffa6cebb367bff76b3ef6db7fe6cf7cf27b9e3dcb8a79cfbffdb19ff8c96ffccffe9bdff1a50f7be162c37a9ea5c83cfea73efde95ffcb55f8b07defb810f2caf59ed0cb98dfdb37ff6cf26bbf7f715f842acc0377ee337ee0ccc7fe767007939cfd39f5127339c5bb19dd89833aae1e97f7bfed39f3ec3b7b1f9c4bfc8e72c63fa4bc86d2cc1342faf9f4cf8a5e69833f598dc6ef58f09ef6bf56c05b64a4faeed3b73adfaff67d5e66388dd24a8bf5d09b05be935db13acef67a131a2faf42ddeb07db0871fc3fb3d8395b10e359bfbbbf7feca772f3e8172d3e275ffd4a73ef570423c3687e65fbd93ff231ff988d383f2139ff8840fc51c3bbdfed29c3f185381709af4fadb264b64791b0e036a20583d31f52381cf6f7b5d7e72cc8dac57abcbbb15eccac71bfa26a19f8f0cf719bc5794a63b7bbd6f36fa5232acef7a28960f7db7bf61b9300c5d33343c31a5ae37c4f7c525a67ae689472e2f9c7eb5554f192ff5172bc46c75ae5a26d5d3f1c29816a11a3a4695e34521e329df816be5356d0d15b9b572252bdeb15b2b021795b572f17b8031e5e7867dfedd5bbc58db866b5e782b09b8e4c8801a7c320f53bff88b7ffa67def38b9e3fbefccc4f7df7fff4c9e7ea877f7fe627fef9fffb1ffd87ffb54797337638b72e6cbdec2a7cb03d6eda1e229fe75df69837657aaef9866ff806c7e57f3934fb47fec81ff1e2de7a9a728c7fe12ffc05e04ffc893fd1cac08fa91e8ed1cf11fdd5bffa577d0cffc7fed81fa3fcf37ffecf9bfde37ffc8ff7530a64bd3d01a7d2d067f67e5a8c58f303517e70cbf9e3637b654416abef58f47843cd9760be49f0a362fb72dcabe3f1d2feed07cffa9247debed2d9aff2737872ddbcee7feecffd39e6caf6eaf33f7385cd7af577744eeccb5a9d4747ec27ac1c9d1f06fb3dbfe7f73034b47f347446b59e642f6abe83724dadaa169378b55d021da99f46f3bfbbbcef7def9b6635fceedffdbbcfe2b94dd39af819b06ffee66ff622fed13ffa471dd7a73ffd69bfacef4ba70f7ff8c394cbeb4f9ff9b51cdf44f90142a4582f22a5b368f57829fd39017f20a128fded9acfb373a31ac2e9315578c6c2f1394f9f72bdd9da85311c2f76b33cc79ffeb73826bd7eb5859b65753a9734a62cb7b9c600f384e713beaf550bd56ae85fdbb572ec2e67ef54f6d6f6e2ee19bc39bb12f1ded09c8d35626f8c78ef27ed56fbe8cdfbc0ed3e482f1ccf07e67cbf67b06ed6f95db7565ebe7bbb5d81d7e5e9c5a5ebc4ddadbc3378b7e616a55bf6de3e7a6b70d9c7eb7b1a4983d760fcf4ff3f7b77f76c6b9797f51da2a2342441104104ed06e545104540a1442d15cb4a5131652a39b12c2ba91c24e913abfaffe823aa5295931ce434a7292ca814a050856041038ad0a2802822efad10c108763e6b7df7be9ed1f75c7bf743bff93c7bcf7130f635ae71fdaedfef1ef39ef7b8ef39d75abbdbfafcf15ab840c3f48662cb0b035aa09eb23a978ba0d80cd3e77f5bc3ea49a0a7d76bf93381ab3f2c9df62879e87896e8ecdfca6be5f6716be51a7dae555b82fb06c782071c88cbbdc7187b80edc13ac0097a5d5a93f356c39a747b04d8421ed648fbb4cf79c7077ffa3f3c1fc5adffd55ffbc05ff92bffe35ff89c876ff084706b6a3e986e5f4a349e2cfe56bfd4ab2d663ee52ad0549e659fa7d8dd3a3bde7086299d241cac92defae436e5996bcac253eafd0c98df9df8aeeffa2e4f237e71df8d7b75e67fe9e9fdb4971e0800004000494441544e855b6d267e9bdc8db22749cd9df7b77ffbb7f7f7af4cad7efa1c800bdff1e2d708b465c49ff5778c486782f364ca34e7d1cd1048c633d2506c29fec49ff813e7fbe88c723867c8a656f3669bda70558d2180577c2fcd7ce86147444633bea8ccf527bf29b17eb4cc8f93d9d73dfff8c3ca7a4fa19ed3f47ff24ffec98a917d55f1c9b3bcfadce24f3d3e4d7afd59c3f485a7293ccf537f2e45fa29575bfa7ca669b8bcaba7f05bfe56bfd46746b2dbfa13ac9ee5220eeb6182c5c25afca9cf3ffec95c792ef6d4230dd7d25c7ab3d590ec499fd50310dcd7ea63b856ac5c436cd3ae1e761f1fdc7890eb4a626fb2daae45ded10461c0efbd20013dcc81de23d0f6c17e4f06df269eb261fba38b834b47fae1047a7abd5696f6c4f461e9b4347a3e253a7bb6f349c36db92819c6eb4d315cfde5c24f4f60983f305ca061c76528b6bc30a005ea2925e2b35c04c5669e3efff8b386e1047a7abd963f13f8e3b4568f79eedd87acc06bf47b2f3b357d02610d9c707a38e09cb373a7d1bb1c609ac2a777eae39dc44e538d0036552c10cf339e1ed6f3d1f8e08701215a1ab1187db178b90c01fcf0ea4c6fd85b4896eac46bf405164b86cc53afc9324fc3c7a00781a69e577eadfa8cd90ad41cb585d21e17e0e12603d84d4378c30f7ef01dbff3436e0c0a7ae8ffddaffdd2d77cc3dffccb9ff7f0bfc71cfa376ea34fe7e1dd346022e7d8f0917ef6f3dca6e8f917d514728103b71a27890d92b85ffb2976fa485f9860a674522538c5539e79fdba889b7855f9985fb84ff7fdce775164daea09ebfd6131027fe7ea1bbee11b3cf9788651de56e321e6f9715583e1664fe747e1c30a38abdd0d185661faf2ba09f047d57cbde055760776ae03d96a6352ace728fcf286370454a2793831a572df6f68ef7ad7bbfc31835ad8cd8447c1aaf2e7c82e9e67553c358234cc1baa2d520faf786e69a6a42f85e2e1939f73561b02f3a777381e23fd8aff377dd337f98d1762df8cb9389069c59e6b35d2d4a3e4d91b6738be4a12c3c84b6d4d15355cacbed6ec2d5e3da63a961ce0001e28e39937fe9c0d2fca30a61e9fbf219fe5c56bd36c88b9d520b5690285c757610c8c3c6b7e3230f14c4eff0b5e3df88ea52878e14019cfbcf9d49ffca24c355b8fcfdf907e79f1da341b626e35486d9a40e1f1551203232fb53575068e79b07e6ccddee2d563aa6329160ee081329e79e3cfd9f0a20c63f43620ef2f6fdbf67def6ed71fd7cfc7ede8b7ec53f8b04bf176a8fb3d83a5b34aafc9fdd5c3e9726f372bf0ba3cbdf424edf05d0b6077f3b0ab46bc8b82fbf5b0b7842998124ea31742b6587a2d9ff486f3efeab358bc96bf100d2e517c57254c2686308de1f0a3c7331fce0d0960adda0cb58e1160920f31525f0df4c3a52e0a2e36f3b06a0d85144b431c669e0f259c462fa47a8aa5d7c2e90d81fc05122f16afe52f44834b144f0c60323184690c871f2c1e1b9e739800d6c87cb2e58652ab06534cb467618fffd848fcdb9673e24ffee4fffc77fdc7677772a7fedffdda2f7fe9d7ffadbffece87bf7335bd5d2d0c100fa7c97c7a8264b3a51f13264eaf4f96e7424e7d1a4ca4a1dfa7a7f43beb3072b16ea37ff2f1ff75f1a7ab084cf9cb54809bd7f2e6005bbd53b9bceed14be7d6b93fa6ecf7cd7aa28e5f2e21b0efc17a867cd7bbde85593d5ef19e1fcaa86faa44f07c4c692b006fe8e79d307ed40a264eaf57b3ff50c54f85f52a7774fdee3ebd581a604767a1382c571a7d2d73381fe91e323dd6664ab3adfae1b46ff9966f411a5695bf8f2c244f3c8c51951f15531519a676e2db1acee253a651fc4f3cfeb733bdcaa59ee18b3c7d81a9d46ffdd66fadfe0af36afac303ad951791ffc2e13498c812a5197e7e286fac2d869ea0963e876143f88c85e9f5f1e1e51d5fc862c9a69fe77211c369329cbea994f3dc906781672cd9f2864f7dfe984843603ee112159b1e3605d7d2e7307c1b2b8a3e9fe1a24ede94b69a4d8581792e17259c2693e99b4af9e0f8e8b9617512a7d74f13b8d5a7e1908921309ff0193b4f53702d7d0ec3b7b17ce8ab61b8a8932f1d9f80a93030cfe5a281d364327d53292f9ef620d74cef35cf451e66ec4dfa3430f0b80d7e5cf6c1f64ddbdf651fc4cb8bd487ed9bc3ae33705170b1182dac605848b134c4e12e2930259c462f840c5f2cbd166685379cbf40e2c5e2b5fc85687089e289014c2686709ec30f168f0dcf394c0f6b64e9311d23c0241f62a49e464f3f5ceaa2e062cd6a61d5c2428aa5210e3337157e08b8b70f5d8137f6890fe55fb591734273a238210087d74913d8a71ace21b71d1d3c6518e93ceb82d279b98b0b1ee36cd36b050678c6d3c0d2e14b5a943262aa87a7a1c6841e480063e2d553acfeaca1bcf41a4d5984c005e6994c5562ab275e5453d5f968f35aac95bbe4ad954fbfb6a46d3cd6a4ad08d856f4083eedcb7ed7b3156bddccffdb5ffda52ffdfabff137bee8e193f835e247fd43789fde99e2797e923781a970e170d9474e795bd5326632e58663fc3e9fddd7cf05f9af3c9ad57b90f807ffe01f38557cf4fece77be13a3f94a644ae1d5ec21c74f13a5f40d0359ce8f116fac926f21dc403b91d812a419a87ef7c7dd07ec87c40854e2974c3a21f55b2b408a5ea0b995b41af234e53f5dc1782ae88922de63922f82f0fd8160e03cba1cf44e861d9d7558c1a6b427f3fa83c88e82b92790346456c9fff2e958fcde4e2419e04f36fbf512e05255ff050dbe29bdd8d2a57c9c79a33b5fc49d57966bc5bfebf13ffa7c23e0406c2f9efb1aca035e49eb7fe5577e85a7a3f3e885a97102ea4fe6d9f4e33fd3dc9ee747210f3edaea0febd30cacda187d6059c64c799b25f17251ded696edcc0bc973e434cb35664931b51cea4fe6f9fcc3bfd3dcd633c339ac7e8170e173006eabba680c63a6bccd92e17251ded696497d0e709e23a759ae314b8aa995b4fe649ecf3ffc3bcd6d3d339cc3ea1708173e07e0b6aa8bc63066cadb2c192e17e56d6d99d4e7005f3cdba6edbf3e507395736d74c96a8f6e87badf33ec4e666bf5fadc5f9d27de1d6f055e97df7b710970bde87477f080dedeec9de0ba60086bc8cbd373a4707c38cdf8ac98d0e403a7c97cb8d91e9f60b3f504c88b7f6fd1e5ca7351b2a75ffd94c8ea0cefb8b23af561e234040a28178c87571b90e17249a4a5d79ffe86d590204d189f95a4617cc7a59eccd3c394663fec5ad9068a1558ec3c6d03f9b895a4d11bda15388b32d47cb2052b46193efdeaab003eeed8f0daf083fb731ef8ca2ffcd4fffb477efdb37ff7e3dbe73ffee62ffe9b7ff35f7de3dffacb5ff0ec371c2eb1f311381c383d2fd8e98aa99d5b5db5c5879b9dde2f8d0c3f3778f6ef9ffb737fce9da89fef726fede9c57f1be219c33af835158be33761fc5abc25aa7e4f32297d85e29edb7732947e5365cab2a86159569b2956dff66ddfe637287c7be36ffbee784d85bdb8fec31337fd7e4fdd9ffa750f6df3f6df983051951f3cf3bf25ba15e87f41f1eac8e2e7be3c00c0febeca72e1cfe315eb479e7ca9e22948ef17d33d1db91127f33fd5f46c437f39ba9eb5cea36b1d766803672e35f0f120e467d21c057fe9dc7cf0b1567e06af6724c76bea2555f56c538a8e94a107b08e74a981960e7f79699cc3e78ba8b0adb3a80b3e0dc3be66f19cf9fddffffd1e6094eaa5f15af87f6cccfa89beb9cd0718a6395f8b5b9c32befa31a2c2f81323c75f309976eb1fbf7a66fea40ff1c917fb12cf04faf9c3b7fa666ffb025f1e5b8a3c5386ab1343b09a4f8c1c7fc1a7e72d5e3d337fd2e792ebd6e75c87acd2ccdff0d49cc798e6ec890d635e9eebf40957bf58813b96135fd6679a00e56d9dd5b07a667ec60e5f7215fb12cf047afb94be7db06f5d4e6cb7720d742dd2c3ae2d7e12d51558883769fb78562fda0745d1ebed8ce90da5c00844ba74e0c3f1c8529cfa707b659e0a108527c6c3f1810c978ba7965e7ffa1b56438234617c752a2c8c6f7dca7b624ab3aad257c9ea7905d6cab2dcdb65055e97a7176ffb4e6e7ddfa85808a77e7cefb1bd554ce1bbac20e1debade0386a2e8f7c620f66eb1d9bb59010c69f45ab9facb4ba2e4dd5bae8c34787a2db05cc5a627c3e7bfbc5d3bf002cbbb1a4c8505729e673c7df5d30cabad3acbe5d8bb04bcc5d7cae57e75c28e4bfdfaad557f67acb5f279b66d80de96e341c5edb22dc19e641d7aaddd7152b65de99b25bec59ff5157ffd7ffa37ffd737ffd82f7dcaeffca4ffef933feb7ffeeffed7affa2f9e7deaa6004dd4b97571187fe2349876c172a5cc24a6d918fdea49a9ce3397573cfeb6ef887c67e219c603cc073ef0817e46cbb27890f0fb2afd1aa8c0f2fa0ac5edb8ff88fda2fceaaffe6ae721cd99775165f112f88ac0f3c63ffa47ffc85fe832dcb1543fbd271cbd0798be91e0e61748901e36fc5ff29e7c3c78787aa15109d2238d1392ff729d2b337fbf65ee69446a0e1a3167bfcee13f3081b7da2f3a3a7f32db33496ee512a5c584cf9e73aba4c2be4792e29def7ca76792ceab62d9de56e591c60315bdd6ba713b8f347ee9d4d09abfa8782fa29746d4596d589f0f301ce3ff0065eb0f94a9bf43c07bc994a7c117fd8640f5546738fd6a98f8e44f3c2532fef4dc6cebc3ad5cfae94f4de4e91373d12f76b9aa33ffd50c68f92f04c0544f247c1e7be4a987f92cd745bffa69167be61d9e72e6a7e766ef6b75aed85b76ad14663f6aebd71bba62f829006f3d18e3fadc3d808f96ec6bfda995f4aef386edefae3fdb07e1f6c1fb3d436b6889b4166df7426faffbabce0d87736fe70a3cbb6d3aa98f1eef121c387b5755fe9835cc891bea6f9bf727527f02779c91405367df54ffdf8b2bfb0e8dc67d6a7d6f756773b348a0fb5d53f1486f00bce18913d4c73bcf8a3d73f5e629e37cca3bfd255779919db8625f84cfbc676df07920155f55c93a168c92e0fcc3c926aef26a40561b7049117fa9e13cdeb2e8d3ecd897eee44f1fb5d14c6f582e2ffa0af6a0d25ad9ce09dc910b81e39d63707a53c37851f47c3421ee32f53b5b081a063e04fffb7ffb73ffef277fee673dfc68728d6637100bdc14906d32c3d3b3ffef05f91bef7f7ffff1cbdc7258490dcfd817e1522ca9e189bd3bec9496c26689d75ee4e3b5b08f3a01fa66e0e223f02ce9253ec9264ee9a9d203a417c5f36756cab0cde04b37b2c05bff980b4fec057580f6784faa995c341d6febe0e83cb4580d81f185bc684d6e79abd47af2e1b65ca70f5c55cebad2ddfa28a0908eb77a72ab3f05bd3456af3b9e025fe489bff89c56b03782077b32cfb13dc221b5e50debb30a9c24dcf02535bc4473d61f26ceea52c3e99f617d85ad47defae479e64a767acee192b72cf5177de4ad3e2bb3e93f6cde277d6e739d3ee133c5addeec64a5a8b0f5a7a0f0a51828d0f0e21f73e1132fd78b62c7031513d07fd8bc8bbdd473e14f9ff099e245b199d457d87ae4ad4f9e67ae64177f827cfc7f2f3d63d8ce5c105c7c4c69ddb7605c4660db16928618c0b7bb19b60fd2b8aa849104f28af5767e12b7b7e61fa6170e17a8171ba9d7924d53bafc973a6562d9855403a6da9ad2e3f5c2e32f35302c24417d9a6a36bb76f2a78f289ae92fb9ca8b7c727d4efe45fe78fe3b10f83cc6d624cd47bf56f7ffef652ff709def8a98f937d5571df2438359d4ff0de241d6fa79a1ba9783217829d7f3099a1d961e72b59676d7c6f57a4562c863ecf307d53f3e10cdfe6a2ac1e53610ec3a264c9b943586df162f314bb5c18bc376d5361e1189832ab577ead6c09ad496be502d182d81eda6cf4350b02ac6f7d309ffc7bfecb1e5d6c1e9b0d1bf29972b381d98ebff857c3e9105360e298524c7ffa0c07ce5ce96d963ed8f3cc60ea4987ccf529f7e8c230cfd5101379f6396028c3b76be5e346bf86dea3cb6291158689141eb8f4abfcccf510f3c10fdae37dcbe4b65efd8609a68fd19f4737d966cf633c634f3e67ef4de994cdf0ac36abe9abcab3c198252d0a9fe1ed5ae1373b5b9fb6f6d26022cfec272ee3e91053a0dedbdf6be187c7fa6598e9b3bdf40d6ffd63ced8f094c0da939ea79ee0a23963291bbe99b5ca87fed1f2996dc3db7ef5e74f1d73c6ae4e9ae9096edd224f7eb1737ed2a1ecf517e786a70f26f2ec174b19beafd5e33abd25d6ca6734ae1bf620cd7ed44bd37dc2fd9ec1e5c8b2744fd2bdcdd60adf7efd3aacd57911b8e3adc01b9fa08cfae841974e3ee73534bcebe6c395e3b1619ec387dfae6b18b8f44e568cfe04ee412381a6cebe29dfbdbcfbddeff6116ca7fe1ec72931f5aa05f43180778bb70d125848329a2701d29b8a78b1f32f4b6fc53c7b4f96f4d44fb31ab2d5179260e478606d298891d51f36e493c9ac1678d1efc0abbf9eb8b2ff93af95ef557a8d94641b687d9086fdd00e3cd06946b3f32d60f13dba38160f6cc4be7bd90d019ff39662db3f5e131e983e017e51934d83b9e04c7cf7f2a98f3fda34904fb3975cf33f73a531b5a4cb75ea333c65c303a7265cbf14977aa63febb90dc45449407fd17f58ff3c8b5af809c2c9caf5a29ee6f678cf7a2ae6225bc8c07205d67fd86339732d0a38f3ce247ec732594ce1171c5996859f209c6cce6755c334042fd7cf67b2850c9c9a70fd0e3380ac9ee95749568bbdd52f570e1b3ee939ff4059e05b1039fd59cf05d39c491bde6a2eb2850c2c57603dab62034f6226655c1470ab5fae53ff61fdf39cff2db8cd35ffc4eb295743b6b7caf1b35dc8c0a909d74b04e4394de4f8654c507fd124d6aff233f54bfce736fd097cf792a00f0bf4fced44ee5b7cc6a1873dd2f82214b64f01c26dbefa86edc834db07dd08b50fb6950f0f94b161b89e55f721977b80e9bb5ba83f032ffab7f83d43f57703d3f13a960e614b34b0633f8f17fe04af95d7b70fc5bceefe348bbea61240efb4f1bba04e127732ef7def7bfdccb633c78768fa4b735e614c05c269d2eb6f9b2c91cf123fff4b801baa8160f55455fd48e063db5e97ef5ebcfcced44ed9be9170be62dcb07ae53a77f15bdc7d2361562c5e2c59df48cc07a399c503f81e5de6933f9e4fb1a6e4e599de70b9aaa7770e8c87cb45cfb990d583196f8a3fb1060b4fafaf1864209e73f5e06b66c5ea790a0fab61861d0b310d3eb77059dee26be5f1a66377807e0eca7179b777b0f1decf1dd4b62ec3b62bcab0a116beed374befad7b2a89a707ce59b2f93faa1e926a307eb8a9faf9f329f60c2cb6fed44f73664796e28c1a06564364faac6ef1ea21ae4d6378e2cdee58360b9cf8ac5654c73bb7d3673887faf9afb6f8c4f35948fa69ceecc8dba83900624f41fa39a73c9d772c454d9f72fd66772c53ce2d70562b6afee94f9fe102ebe77f5fabad8f3519beaf554b713fafac43efa99d1231866ffe3d486c1bb2fbd870e7d3cfe8e2eda7703c81adcae68bc7dcef195a96ee495aabee67f0afde5a75b0f7feb202afcb772fef79cf7bbcf91d7ccf064077e186c06ebe23937599f04e2824990b4a3c0dacd77af3d493bddcb3eb541ab1337f747a362c05ff9256c3595b590a99d8f0a2df7199223b7d4ce55f01b7b19873aa61fe70b18046560d9ff8b5b261ecf0fbfd1635f8fe449ded2570dfcf186a3e9752b00f09601a8f2b3dd2f875053cc671f9bd67b386db848631b0960098e63235fed4dce259d19fbff7d29730b2e473f642b40feb4f4076d6b9e1cb630b3cc5c3c025765317becacd4e004c739be2acf3457856f3c953af95f1d23775d1dffa57cfc967a87f796c81a778f8367653b79e179f33f632751b4b7ceac3fa0ee7a27f90ded7eaf9c70a96a2e5bdafd5e53c39df0b27eee469dd2efcfdbcbaace19b59ab7df7e2273f6d64765226f620bb526726c683a26dcb10760f13d0dbada601b60fd2f438444fa30c2dac6f38b121cda97fe5ef191cf20eff72ec2dce5b70adeebff7d24b73e95f97ef5e7a1b7b633b71b5bdab2d87b76bdf24742a9f0bb4db7d213dfc9845d2ebf3f1c40f8bd5efe99f6c1a6f8633b68b0b417c95a8214d9ed503d3b0351ba6c1142b9758bc8bddf494f4041d0bde2c8d96065f5e7cb89a6151e50acb556043b3da2bb056fd596487e6d1e55cab7e78cc31da95db98f57685b33f3f717c5c8f67f7880f01cf5bfc65f624c33917b459c3059eb9c29b022873b88d9df345bf5cc56e76c78881e54a397fc34b961c92353b666e67fdcb052caac05be73103791638b2f0c833d77dad5a93d6a7e5baafd5b91a3b85eee7d56559769e6c8906ee6bf5715aab3e386b9dedd1b6247b930fddba1fc063603b2f7cbf67d809b9b56a4de25fe1b5da81dfc156e075f9eee5fcbd1707ef5ad06d7df7af3d12e0bba1075c41f4d34c1f993232ac3f4d9aeabe3f7ece94994bbd1064ed56a6065342a61fcec7ec1e450a4fb0f29e593fcf9b2172b900e2f937cc932c9f3c0d57f3c22b83fecc3bb2442b46d4c5a4a9939f33653eab0db346e62adf90cceed2a1f9a48abe29b8df870108d208f44b50f5020126ee7a03be7b31a4d4dbb3f3370cc76f6ab2933ff193e1dd0a3435ec4f8df9ca456cc0eccc67024cbf7a02d3a729643dab8b6ce1d32f5d20bec0f519ceaae102373ccdf3d14f16883ff193e1ac4ecd4c4ec30b3e8717fd2a3f3dcbbbded445761ece059f3e05aecf70560dd38f4c6c2a1e78b9ffc5f3122ef6f4095f0c97ebaca1bc17fd45b0daaaa17e05185ec2a71f1f882f707d6ecbd870811b9ec7928f7eb240fc899f0c67756a66721a5ef039bce857f9e959def5a62eb2f3702ef8f429707d86b36a987e646253f1c0cbfd2f9e9770b1a74ff862b85c670de5bde82f82d5560df52bc0f0123efdf8407c81eb735bc6860bdcf03c967cf49305e24ffc6438ab533393d370f87def7b1f6c4bb50df9a5175b61dfba60f8f46125a0f5a18c5dac3f6a8f11586fdb8ac4f041b60fc2db37870132adfd5d22e11540bc6d3a8d3e7d86868903c4f3c79ffb78b8a4c4fcf5dac2679b667a9a72cdb028fd6972e68a9f3365e6ab0db3762b7b5bac9533e1fe7b2f7b11075e97ef5ebcfccee64e6bd8f1c34edc2e102d876f21bc2b60a7784ff68061b1303d3e12cf30b1a8799a4dcf3f1e28e4f2cd8cd9f1345ab9f461fe4b216fb94c0d63e0de7edcf8f74eeeb8c4124b81d76be981e50234b179c266573ffd8eeb15582bdfbab456be75f1f3c43ddef829b21d6f076bbf69cb093c89adcc6536a6defe61b6ad05b36f030a3995a71e3edbf2229fcc35b7f9a75c8f9fe6745b9673f6c4399cf5873bae66e92ffea7c389a74786cf3ecf3397d9042fd1379532f1d9bf24fb7dad2eab7a5fabce9ccec3fb796535f61eb93d37ee6bf531bf5eb5e73e6ef5ffc1caef9ea1cd68bff762e5edd1f77b86f3fe646bd5bdcd2b7c7fe5d5bfb7db1578e37382dbb98f98d91e1038fbae8c5d16eb311bc20d0397defb1ca33f814f232281a6cebea9febf972e07ce78b7b04e77c025c3edfe053bea3dcd0f036cf54fc6764f4cd0c386f0c4f9173b0d6076bdecd5b09e5e8bbf786662f696cff33c964cf4d523f6cc353d411a3d4138f0d65fab4ead8ecb09d0fa7b2c7174fd050c8278000f5b07bd5951fbbd1781bec17786d0ec6f8e6da3121b7e58a9e79f7895fac247a6b9c5c4a616f8e0750ccfdf7bf1ffbd983af50d4fcf62a7a99297f4f40b397de04c9a7d543da48e5f3f7eb25bcdc9bc483ffe52c385afa434e14bde97e84d55c934c5ceb3d997f405de1e7bcc66e73fe59379c95e92ab634ca36f78f13935b798f80c84cfe1cbf594975cc5ceb3d997f40fc91ecbbef8c89b49b38faa27d661fc642fc9751ecb453f9f53738b2b29fe525e792f3ea7ded445530dd334fb923e73d92f3e319b0ddcfa8c077608737bf3faf96462785b4fe499a8a8336fcc6281e981f1e1a6a669f6253dfd422e7566d2eca3eaed7a5ef5ffbdd874fcde8b2da9bdc97eed00ddbad89e1c5d406f366ce7f265cbfaf494ed8334e77d88a896e87ecfd0fab41ae1db35796baed5fdf75e7a5d2efdebf2dd8bc3f626ef01c6290b9f9f64f46ea7e969de99bd6522d630fb76c254b837000cd030c99fc025c390db621f5c1e353e21302544bf6f4b8460a68763f43cf131e7b728f1f3a484f5abb361b16534ab61aa81009ebf216c65685ee1b5ead3ac27d7aaddc2e16fb3846d0663e2f5b536d136e03427c69cad9031cf3d1efe459ebd613e69361bafd79a5a8f39eb84ab2de5a93f9961fa4b2e43b3a767cc648b8d37d45ea4a7a99e737d4e5cf8fa330bb2e14820b23e9fcbaca9325ec28b3deb844fe5a90f5f7afa4bae5bcf98c92e0e86da59c3a987aba7e3a28c99e631fa8d0edf5454c3fa62cf3ecfcb2cc1b9021787b3cefb5addd7cae9719e51e1fb79d5b2588d16646fa286677f592b3f2af610f3a1f70c36623f296093d2ba4fb8df335801cb72bb566e8ddcf3bc0e6bd5b1dffbadc0ebf2f4e214777efbbff97aae70fcb0f703e00ebe5bf6ae1478248cd468349ac5865bc13c31f9145b2eb1c83ef9883fb129027ce2d5105f6cd96914000bcf877878b501f324d83072fed299e293f97ce64fa0bdc26be5e7477df762597ce2055fd60aaf7533d786e423b186fabecf01c2dba2a6119be6d1e6ea8314527882f498868b251b4ea32f5de2fa34272633c4276ea80f3c199b7e9adbbcc59efce913968e8c6653e90d35b87af4d3a42f6f29f4f309173ecd93b1799e9a62f1c2e1fad583093705536a53069e8c455e62896b2fe24f9f70b9e83755aca1063f96f3d04d23459a729101f3093f463f3b91d2270bebb53cc3fa3c1f32ddd7eafe1e7cfe4e71329ce7c6fdbcba7d1f599fc88f7eadfa7f66db736d499cbb4fb0370db7ef1bdaa6e1c4dbd3e34d05dadff5dbd3f1c4dbeb4d19f201e679d907c5ce5fba3c91c07ce64fa0bdc2f70cffc9d7cacb746fb72bf0ba3cbd786af7aef31eb304b0779ae6fd6938de13bc37245ebf6f54e062f1c57a03cfa7f73f9e1e2e963e8ddeb71c66f16119179b21a658321a38de90b20af5f9143b0d7d51858c47aa41bfbc9469e2f9687080b26f756876bca6f2416a55f2caac559f6c39c08e51ef187baa81db93d6036b66f7e9bb0d0c5f5f5432583bf95399e6648891eb1f829fb7f1a79bc9cb27e29829036372423ec99f3ea76651f95c621b5e62a7cc679a86b7c71b5fa2f3e84ee58b62cbb53e9332ea4f3753679d273e0b28763e1b0e5c7cced84501275f6cfd25ef94e9a76978aec0a92cd17974a7f245b139accfa48cfad3cdd459e789333f6387b3321cb8f89cb18b4abf9040fd25ef94f94cd3f05c815359a2f3e84ee58b6273589f4919f5a79ba9b3ce13677ec60e67653870f1396317957e2181fa4bde29f399a6e1b902a7b244e7d19dca17c5e6b03e9332ea4f3753679d27cefc8c1dceca70e0e273c62e2afd4202f597bc53e6334dc373054e6589cea33b952f8acd617d2665b4efd8736dd05a770efbe9000c6ce73df762b198fb3d8335b13eafc9fd5527ccbdbfacc0ebf57b2fdef6eebf2d8153df2563fd856f8d5c56bc3d604a7dc3a212c433291c189f381e2ea9d989c3fa53533d4b94dbfa629574c97beae1f43d66ecb84e0d41329af8b3fee1c556d5fa0b5fba7ce04ff05a79ded882b419a80150ad1f0333e5d3ac0d7dd29c3eb26795a2fab395bddc7eef85893da9434bb0edaaa9c813a7c79f9bd97ce24fc3732a7cfede4b7f7c2cfe36d7f8db224d5df44fd643b676ea910d8b322cc5a999e014e7b6a95b7d561314fb646d34259d7fb11baeb697f3971a2e9e0d6f35658f5f8844b5538f996c6024b03acf5cf35cc8e9798b179b5b7de6e5ba189e53670d2fe72f792f9e0d6f35984b3db2ac9d7a64c38bfed44c708a73dbd4ad9ee0d633e649fe342c56ffa4ff8bf84b0db29c9e0d6f35984b3d459db1f0197ed15f3c6fc5a7d56293bd2436e5f48090aa3d0df3692a7c7abe883f35b79ecb255c3b2bb9d493a0fef4c434bce84fcd04a7f8b45a2cf2498c2cb6d9694efe34cca790f059cfc95f7eefc5f3953f86695f06ec5ff97ba441f653cd30d2166c68cfd5b72fd36f1f2c4a16cd2cf1a61a6edfdf669df835b967e85ea563efc0ebdfca6b75ffbd97f3951a7e5dbe7be9d4f48905e0f475fc31706f6f0013dfea78cfbb5838cb0be9d616c6e0531a86859f7c0efa72ed13024cdf909477b1cccf6f57c693f5ad88c0ead4e7891155cde9315a9fcae029970b4fb3c034862e58c59e3e8b050a89815f81b5dacf195fd6ca0562eb63b3d97e13d0db1586c55eb0e185a14976f223736b2ad9fa4bd425ef1c80cba7890f151cdfe1842f9a99e31364187fc1a7e0e26c38263007c34bcd53a631bc30e5bdf0236fd7eaf43fa34ebef032ea2feb7046bd48134f795f2b8bb0550a5fd6f3be565b81fb5a9d2b60595a19fde59c213b95e18ba65853afe47bd0d1b51fb5ff1a6a6d43fb0606b37ddcfebb7b83fb3dc3d6ea95bfbf7a382deeed66055e97a7176f7bc7be9f1f35f4b0e1fd5f0b13c4bb7cb89a20d3176b086866e7334f8f01e1643080cc9f7e77c6c58ea7d4d8e21fed9fd5a9001a537856c20de789871f221f1b0d7d9afccdd2c315a6873314916635634a1d0f4fd3546ec2b5f07849df5e6be5e7897b90f3dd4b3f5bdc11f9f9e316c41df0f93b0661a443bee591173e65fc053fecd58f77f6a7cfa939f94bdec980611a86e5ba8d7d923ff57c1a3e5a3efb0879e61d17419a27eb21becd9bc32d7f5bcf99eb82cb7bf19fc6ecad7fb3f8c980617c07d27155cccbf1a9e7d3f0d1f2be56d7f7c27dad5e7e2e9de7db7dadee6b6505ba34d9776c40edb97e28c065cac6d4de74bf67b04a977b95ad1560bfee9e84e6d55eab5d3deee05c81d7e5e9c5a717ce75f7d90e7ed81ba04f32902e1fb03743cf0098eecb7b8a28d66cdf5a20bbdc9025f0f43f7d9a863c29d3e0e9356e78d9cbc51649a3af363c5c3d4de1e9610d4f9c1ec6a49f86523de94de1a7df3739698aed2a10ee185fc9b5ea53aed6caefbdf42b92fa73ad2c827b8b6e2ff6699f6d669f08b6e524abc7a4d787c710a4591f7848f0f8d43165c3fa8798e7dfed54c383fab1c59f784ae0e5d92fb966858737641e3efb347af584ab6195dcd76aeb765fabce8ad6e17e5e5dde473b4ff04d61ee6bd56ab420f5d6e4955f2b47da6eee9b7f3bafaba8a1e647c2f418fb542b73bf67b071771be37ec6ca34b44aafc3fd55e7c0bdbfacc0c31f147f1d5a4fe76ed9bd01607d277dd83bc1d5016e29bc37baf5073030414c0e6121664d91e5cf13991e88cf335ede4baeac9064f3596c6f5753f9e3c3fa42ca6528f5f29aea583accc5e2699085e3e1183d327d3ef169deb26be533aaadd5affffaaf77681d6f9fcdc3b64007aef7a042ef30ed0dbe7581696c183456be58b35a1be73ead171b8eef56a39df5e46ff534c4e9d9360c2c4bb367bf29609e0f2e8fdb793d3e9f47fa619bcf3c3e87047a2d9fc5a63ff9b0ded4786078b19853333e527fe632fb26f50289d31712ce164e60eac4865a9af21a124c63aa35293c3e1c9f7e26c0597ff8f4e7906621690cb54b2ce6126b38fdf0aa7d937a8142b487948f29c2e58213983af1a3f643ea49304df5cc303e2b35178e4cd0f072bcc49aa9f1e185ecd84f8d90fc2fb1f191c3abf6e2193fffe901531a7d21e16ce104a64efca8bdafd5c3d2b56897f5b9afd5c7e4bcb2aa36235bad1dd6a9ab61ec4d96576bca0dbafd0bb64f99d5e8cd22e1db7b06fa731fbcdf3358a517ad95857a5bac9587db8717fede3e74055e97ef5e9cbedec67dcaee7c75b1e89b8ace5dd8b2d0184ed3141e708dc0f71e100bc763e643930fbd5c7a4a02ad9be3181a0cac87815e91f35384d5e03ad56c323c50e35916a0860768ba6019f22c3c5e2f29cfd56f365c49f4695eedb5f2dce248f57eb6b80da3a56badf41e69f4ed4fc3276f4a3b35b69393194e63c8274d53f1798e29d7424ecfc893598a13c06b428a5abf1af83c4e3ebb3fc39f51cb72d11495b2297d3523cd0e9ffcf4d3cc3f464fbf1e589d919bad4e436db968b4d3d3ec85318c3c01bcf6e078d400af868e7ab3d550207279610daf2fb661ccc3dc51b3a8d57ff2b305d2cc3f26b7f5c0ea8ce416a8ce87ac475e53dae969f6c218469e005e7b707c9e0509af06ce8f931f524381f8e5bd688a9aacd9ad8fd96153c3d30369e61fa3a75f0faccec8cde2c75cfc4fcff427739a378b391b327efd6ae0f338795fab670b76ae06caf07558ab6e4c6d40f6dcee01ecc59aed09a975af8281f5f77b06ebd09dcfeb737fd55be3de5f56e075f9eec5e9ee9ddfa7173d12ec930c2b027b4b00a69a6d9986cd4ec30ae666f6e41f221f196faaac68007a0d3004caeb2161384d9eb0703ef92f0b52481a81f2a6a1d7603d719a8e0553ae07c5734c13a6e1c92a1f81cb8b242b36e78b4ffea69a7db47f56036c963e4dc7b8a3185f6c350831ac307a0d630894f74dae95cb3d9f3cb7561e4e7c278337bb3a6d8d86343ee5a22fb59f3fae66b21e69da41e180bb0d2d9c068e490fe3ebcb75898d3c351cd2643b3dcd30436d7987810c2ba3e1894b34fd3c63de0c3fcfc596516d8178fda57e81da6aee58628a8545d5677539dec853c32dcd8e31303ef199777889164b7ce2dbd8b3e6f990bd882f05cf69807060f8a211a845a6a930bd5c18b3eb01ad1a80c7d067a741c387e9c7434b9355fef597d8e56d562cf0e8f121eb339fa668b4c5e619f366789a8ad4af9e70fec3a59846a0f6645e1a5166d76775898d3c35dcd2008ff60ffe65b9c42eef6a281db7c55e7089a637cc33e6cdf0a528f5eac9475fc303178d406d359f79d39b15553f9ff40f91cf4f835363361f204d607c6253983c8767b8588213dfc69e35cf87ec457c294a9da61ae040b1fa8b46a01699a6c2f4c59ac5d703dafc1f223fd2b5e2d3bef38e77bc03f6d301d560eff3650bdbed83f09bdc0785dcee830ced6edb67e582f5c4ed95dbfb2e7b7d1a7d7bf72b76cff0365a2b2fc1bd5d56e08d77f565e2151bfa86c1bbd4c9eab8f66d03dcb713bd75e10059fca96faa4f3ef0dcf878332f3631669f8ed0c0f1642b00b3bc783e690894944c5f9d983cf564e3c3a78f5cc40c296feba72f2440596df42e6df49c2b52de6aa0a90621f07285890153b7b99a6a1d4aca4755f1f419765c91327ebcd76a7fdd4501fd3c3170592b47a4d942da452ec0d02eb229ca7d527bc1a7e66292ff4bf4a6b43904626ef164a700a9a94dffe0f5bc35ace6b898933f19b8460c5cfa1dfba64e007ffcd68ab9a69ed5506d912fc2cdae3fc17dad2cdab96e5b9c0b89bfafd5e3527dc855a255baaf95d343bbaccf6559ee6bd5126da1ec41be81d93eb8ff8b0cb38d78fb2c52b39fb6871258cf64faf66b4c7bab7efb2f32dc7e9dcffd9ee1edb256eabcb7cb0abc2e4f2f3e39f04ef6f6f6a6dd27fadeccb00f2134b3f1047dea7fead358bbf42d22dcb5a35851780c1e038b9ae71cf0f94b74fa34ac92acf2ef8ab35c42f2a4c9ff920b993f1ed831c29ad90aa8e6eadf9a20e3f5afde5af9a6c571397c1f71c1011fa1594fbcc5b156c8f7bdef7d6ebb2f3d19c6acbfd03f8c198ed79f9a7cd2d8ab6ef5cb42f3a38f3fdb5a96f5f33f6387f32c4b95d357c3939a97d433fda999a7d99387b70ef167bf9aa7397db63e1fcd5aa9e7e2b9fa5fc4dfd76aafcb7dad3a7f767e9ee7f68bce9f17f1f7f3ea7e5e7dd86bfb93d7ab1ffcc11f745269b65adfc05cf626cf1836ebf66b1adb937dea7ecff07ade5f3d9e26f7eeba026f7c5b7a9df928c6decc4507ce7e9f95226b7d9237dc507fdbdc5c22f527f0234091405367dfd48ffcc88ffcedbffdb7095c11baf5579e4f29c2ae0817deddadab46fca77ffaa7778b4f13cfdf27163013323e341d2f1e76a13114def5084e7f7ad2e47ff19c6697aaf2767b5dae4bece903579522cb7bebe37078765cd5af06fee30586dffa6be5a7c27aed1cb853a8b5f29dbb25fac0073ee018edac69fc875f0e13f60d0cac15023858cddaf67af9df2a59b9a1b10eda30c6e974cba791e851fef06d40b853fae4c56af140fafc0dfd6f95bffb8bbf18f88df7bfdfff56799bab10fa02cb8bd4e6f961b17a72282f1321e57a796ccac5defaac9ed313d6962b7cae4998403b79c59cf53cda3cf3b9f086f7b5baacc9d6fcc2dfd7ca0a689d6fc0fdbcfa88af57e71a5ac9fb7bf02338af3cd5f88f923ff3333fd346dc166c3f724eb2f26d4cf70636357b96c71b9b5a18ffa99ffaa9b6f8fe72a658bcd65e2f166e4f1772bf67b03ebb6783bb5fbabd2f7a2baf9593c1e7adf6472feef77ddff7e96b9d2a5dedbfeeebbece7b90f2bdef7def977ff9973b1c7afda57577642a6076b280feb64917f93cf3c37018500366f5c4d48f043eb6ed75797a79f7bbdf6d293b77bb4c0c5b502fa1731a0f183ad7633aefddda22e1969eb258c3428a3514d563839069169bad21fd621b665e6c359cfc42925500f2d2c6e76fb61acee345ee30175ee0a5bcdb5881425a99991435874ff05af5865195025caf3b228f28404338d05eab37a5a7b74f041c82b21d970b3db1a717a74a4ae2bd0333c7371b9feca23f632728ef624f4dce9e5e3cb4e03dbdfc9e2ff9920febb9da849cc5bc884fb3324a7a5b5efcd93fe95f20d9a5cedbc04bf8457febb3634979d1e79fe76dec6d3da7c66c8181acce74e3234ffd656a3e99ac1f7fe67d115e54e63bde86facbb1dffa9cc597fad4e47fcb9f9a17e195b462aae796bfafd5ed9adcd7ea7e5eed1cd8e971bb267d276333d5c8fcf68b07156f28cdfeabb737f50b301e4808ec598680e1048691807dcd830d10d69385030f13476be34600d164b07ace7b18c3dd96242bf0ed78cfb003d9b1eff0dfb26b757f7ae9acbbf4afcb4f8ef56ef766f33edccf7a5a8b301ef676dd7bb84fe2376cd5c83ae3f57cbaa034c5473881fef49f46085e4fe34d82a7148b812bc0fb2a0d1e834f9f46c664cd86d55901fae9f3d7d3885aa26a9605af89e5ac51c278389fc59ec7121648c33331fc7659abfef762056bd64af35985c715a0e3dd1ed036a3b77fe835ca00a64f190df9e8d3849fec470262cf21dc706e31eb4ffe162fd694b64a4e1ede519c7c21fa487d20a63a4f72fe679642ea97e513b056aba16a57e759cf0537a4afcde1e4e11dc5c93f0fbaafd5c3095fbbaf9575b008daf32579f8f77e5eb5204ff6f7b5da39b3f5b19fda4cdd9e62ec44eb013bac6f57f4347628b3dbcae136e2fb3d83856aad5ee1fbab8ef1de5f56e08dcf982f131fcd706fd1c0d9efee0d59dbbd8e21dc3070e9bd5d31fa13bcc99f1c7bcf7bde23d69bdf1d7cb7ef0ed0d0450160880c9c2426fed4c09a6b4ab7bcf034c8fc07522293e18169608d4ffc8957e76a36ab4efda57e244db127ae860ea7c0e11cf4e56d11d2772cf9ac06e6c556c3a9d90256985e139ea621e78fd35af5354b753a131409f7858ca1ec70c0675a1e54d2e07d881576d609f1f53dd2e5afef5e2abb1b91b3c71bea455d70c3f873ea45faf8acc297ef5e6692a6e19bc97bd6f066f0adff99ebb7851d888cf5059ee6c3b79e4db50eb7c7187f6ae00d4f7da4fec91a4efe23c3b7fe1f99cf56e9c93acf75b8f5af8653738b4f0dbce17dadee6bd539e094b01427de49124870c1a706def07e5e7d64e795dfbcf21ce2279cdb1ff5f64d56762bbb12604800d8b0862dbb2f58ecaa251545836c1f3cef73906dfd622ff700f64ab3e51dee1ea0bdfea2cf414f53a03e3db244edbf975c4d9d1a4923f5f1a706d638571b3ccdd20da474e0c9f040eb1036e4738bd338c6d54cf9965dabfb772f5e9ddbf6ba7cf7b2d3d7c9da39ba6f150cf7d46eb60b013d8c370ba72930c6d9dfb0582b4b265654ab3cde9b07c65743fe341c867b3f17383e7f64b19594a6da281bcec7fb1c9e9bbc04ab933e93beb1c1a704aaad9ac3e55dac21de300da086f2e689cf278dbed466e56d586c566239c0daf84fc05ad9184ada5a795c69d8a75fe136e37a9b01126eab00b498e1dba8a6d6a73ffb4d9d267056291b9e829357cf04732e7c3ed51c39cd6663cee134856caa5c738bbfed3f616b25f525fb8681d5dff0be567b652d486b32705fab2dc5095ab1fb5a6d1d5a9c7389b638d39c003e87f7f760ab71ae096c3f3af7c1b654bb926f5df0edc591c4bb3780b7cb9f7cfb2ca6d8b666c318fbecfd9e616bf8365aab5ec17b7f5981d7e5e9c529eb6ed51b7eefdefd4a3a3edc4504765a77698817622adc196f56d4f4174f1accf486f311387e9e2e316514059cf5d054492f5b79690cf3113b3d5e8b4f0ff324989e43b555bc704c383e8190c07c02cb55087f1929e7cfc4543598c29b15353dc1e949535e24ac158b14389f797ef46bd55f1b2b57b87afc5ae47e72ecfcfdb3fd6a8dad7ab7ef42f00df5817ca6470ea79fc38537db7dc0a3d3b3df247e91269e5e9b66b990e5cad3b0da02d39b8d07c28697d8d3d3d4191bcee116335cde47fbfb5a3d5bedfb5a9de721acddcfabde23de4d9a05316c4d60ccf07dad5a28fde352bd226b65df7144f6235bdeeddef4f1db07b7b76ecf6d79f192deef195a9fb7cefdd54efe3bd80abc2e4f2f7dbaef5c741f0c3b7ed8bb14f0eed5c33ee1d0e30d7d3be1ee399c3e99702d4ca6a5999b28023c0dbcd8614a027cd9cb9b3e3e73978f3e716978d6562c3e0d43adbc18d8d4be5dc1c095a40fd3c87ba9c16cb9f00f8ecfebec18ab364135eb69ccbe5dd6caa75c8f87f5f0fbfd7e6cacd5f375c1b9560e676ddf2460baab682abc1e183e9591631af2dc3dca19753a9f7826a2c69f0e275eae29c7f0c9ea497d53ebd33c043c7ff819b335c184cb357e195f5403cf69c21b0ec4dfd7eabe56f7f3ca39e0bde6ad717f0f5eae0f7b776c65dea66bb57b06677bdfba38525b2dde3730f0f6e276e1f6df34f77b86ad95fb965775ad1cd7bdddaec0ebf2f4d293b4cb81773eecce15b61c5d38ba298fef020147ba3ac0c916852cb605354cd0dd3c4c89e42096c630ac375b0d094c4d4309671ea66c882fbb14e9f1c36430e70a28b69256031223560f6b7902ace2970b49569de58d2160b8588270e4e9b3a83c97d410d6572a4c69b83a0dc3fad590c054c70e94170f843fec5af5c9169947419b440f87c5565247f1e8f770afe053cfee1b302fc16693a509d7b7bf5e62234f4fe2f4a53efbf8421e55cf7eeb8667794dc1fa94f10da729d76ce31bc2d9e61379c10498530f9f1a827c2e1ac30b8f599de51d538a8bfe36efa2ca95db890b996c7562c2faa2e412d8307cf279c60f673bcfc2a7c94a7fea2f1a0ef42532f5126c76f594774c292eb1b779172570b1272e6432c38e0513d6c342e21b4e333ecff8e16ce789bfe0b29cfa8b86806705987a09369b2c4db85ed2dbd8c893274e8fd46e71218faafb7bf0be56cf3ecfba9c931fc179d536b47dd0034cfb54fb20fc31df07db43ed83f77b860f7bcff01659ab2e4af7feb202afcbd38bc376a6ee5b08578461bca7f6dd070fbb7cb8b2b8ac78936bb09e0fa6456492666b4ad31d70faeeb9f5e54a6faa9b6f51e7a7057895e44f5faed5201683a759def4f9a80aaf574379f1308778b199e46c56cb3300af7eced56c4ad4307eeb636a787532c9474ff0165cabfe46be83ea01666b05f4bad8996d21f6a19aa3a819ee93e0e793cfee53e3c9a659c8b3e0c7a9307fb2fa8bcfc4cd6e98ccf00486ab679e8590255e0fd0745c619ad570f121a84db37ae6bc8c79e29b5ae03c9bda6c3c1966b861b1275e9699e4834f6cb8dac6a429646eab679ed34f53a0210d7dc3e933bcf86492c3a93c3dc7e7b9c28a359c6753faa6e2b31a9ef3c203cb32937cf053a669a84f790186ab679e856478f6781afae5028a022e3e99e8a7593d859f7c9e18ed0c9c67539b8dcf7cb8e1191ede71cd241f7c02c3d536264d21c886ab679ed34f93d29086bee1f4195e7c32c9e1549e9ee3f3cce70c9c6753e52588cf6a78ce394cbc2c33690a3f659a86f9a4292446bf7ae659c8c4530234f4cb0514055c7c322976ce17cff1799a4d502c3ccfc7993766e3331f6e58ec8997652600013eb1619ac5fa89009b9161fb66fb911f0df01732c3762553ed4d64f77b86cb5a59a5ee4f2ce3abba563b5beee05c8187bf1dfe3a3467b62b8227691702cd5d784fd59df13080b714e3bd2be289c32d14598f0ade2aa2a63f6309a6c1c39758868f92677c026eda720d0385974b01d3742cc22b3e3e81f2d277e183d3ac9ec596083fcd7cd2e443962790d5f8f4f84ff05ab9f4af86b01aceb5f247c96c18347a5879ad95a1e6932d07a278c7e5e78f3b28e13e51339b4f1b4fc3930f9ffcb04058a0066879c68723c7035a7ac02cff807ef8d1f28d879ff8648b4d83d460fd43056fa28664cb25102e503f1c3ff3935fba3376783594683e86d57ccb2f1608070a597fa999e6f4646e98665318b8bc79aef8a62e9e9194e3e7397d203e3c7de662c72f5d9af1691a5e3025be9a016dfec381f10bc10bd4affe699a6af6d49cb1707981b05ea0065c3c234f1ef3a426fea297a8d8f1310d5b1382694e7ed82c5ccd80963e7eb14038402664fda5669aa66e359b2a5179f3849b6deae21949301e331c9f26fea2cf9c7efcd29db1c3c9d20f9b85ab19d0d2c72f160807c884acbfd44cd3d4ad6653252a6f9e70b34d5d3c2309c66386e3d3c45ff499d38f5fba33763859fa61b37035035afaf8c502e1009990f567cdfd3794b62d1b53b96c46c486956757eaffa6b44f015a9e09046adddbe0878164ed8f6d73c3db0769b6d7b70fa67985ef193aded62afcd65fab5eca7b7f5981d7e5bb973eb1e834eddb896e559dbe80e6ed8ab73a3019bedb5c8cd830de53be773e92a027fec7e887ffcb053f9ccfa929165fdbb71cf87035e4436318ae98d3bf3af134b02cb0ec703554a1d972a913a67996fbf11fc3c522160bcba54f9f262b8900ed6dba561e6f5a2bbf9defb8ea2f6be5c01f76a4c73d09ae8d897f33bdc0a2dab436044e264c797eaa77265daedcf2d19f9f149eb1a72cac5fc6c231f3194e3cc1f88b724340de4519d6c6bcc8e1961758d4ea9cc9c93cb956e73acc79e131a7e6be562dce7dadb602f7f3ea7ce79eefb896e864ee6bf5315f2b3b912d75ffdf8b1dcab72e9e46f0b6e0cbff51d6a6dcdead6f2fbedf335807abe13ea75747dfea01afc65aedb8eee05c81d7e5e9c5270a9e405c1adcad865b05a4d62d6c9f3a8c0fb853c77b0f180a87310de1024d9db1b0b753e1f164c55ef47cf24f6c484f6948195ecdf1cb351ed354b91a765cb04af08630cf0eb6f2f0d5530d1912a49f7fb1c201ad90e58ad76b6ff1b5eae7895babb09a0d3b2ed8254f6f87d60fb485f76959e4054f8f1f0686a79fe77c32374cb321a676c6c2135cf8e7f2377c649f46d430e547831f0febd9e7a37c768c81ca9bff594378fa4becc9ef5846167b1e3be692ebf6b84efd3c57dbf464f9a731bcd534f5dbe5d96a62f30c1b8e84e789bce0e9f1c3c0f0f4f30ce0cf63a76f78ea2ff8d433a95d3448326ee30d87cd7e34f8e1a8ee6bf5e6d6f0be562f3a3f6ff9b7cb5a9ddffcb737f970cdde04b7e13ab4f6dcfb3d8375783defaf3abdeffd56e075797a71ba6b6e4f5d11bcffb56e55e37d7a015814578a931f765f6ed66dae9e921e66b2752c9c1e1f4e1fdeb719b263ea09f04c30fccb8554438c296eab61b52d69c7125f8598f9e44ccc0d36a52d361ed3b1d3c8356cc8c7ac406d35e0d3085f3d486d9ab7f85af906a60afb7cab05718c0e21bc3bb9862769aa66537c0e9ffd4b36e6c4c8271dd274c7567f3285c48c9f55d9cfd95b5c315312a489199fe79c93a59c3e729a9c9b1d99e65426d3976bc342369c4fcc930e69f800f589771497a8931f5ededccefe456ec53ee950c6dbbc27538ae50d9c810926232857f5d49fb3279e5b602169f800f54ded28f0daa24e7e78b3a732fc22b7629f7478c8f7bccd99322e06cef904cf839efdbbd894e50a5f622fca8639cf7f9a2aa9cf27e7653f95b39a66b3a7ff9965ca0ce963c69f0e4b7aba512e7660518133f08c35ab952b5c9fe6166396e2565325f5c5e65c48fafa931fcefcc9fe456ec53ee9b0a497bcf165696a19473e197bd610ae9f49e197a9666f356a46d617b2a3c06bb9d98fce7b86fd3999feda988dc92e6c6faa1775bf67d84ebd75b32656e6155eab87d3e5de6e56e075f9bd1707ee6edbe9ee1487ddbff6048f847b1b7857007dc2e16291fef25621a8e54366b8552dd67024930d0b69aa771a3d40a3af1ec5e499406c9edd70a73735ffd50c942b7dbca8ea07c20d0b3f8f11636ab11dbb440a1088378b84531a02e94f1f7a2d8dbe96cfc77bad7c58553d92aa0196576b68abf07b2ff6069f6629de81d0c078dfda775c3d809dfb0dcd86b04f97e9db84faa4b91d283ef1b628205c084c70d1179260fe8096fe824fd2d459c393fe9c575b9e15109ff9f8958109f34c8f59ae33d170b20dd367a25fec7880585b60b81098a0a9dbfa1fc21e5b82acf4353317d0f0ac21cdc5dff03697d8f84cf46231da1285e32fb9ce44c3f4f9e8c3e5cde1ac73f5986ab6c0f0f25e7c0cb5340f618fad44f18ff3cf34619291c0594353679d0486abcd902641fcace291f30f4f7fe64a93cff065983e13fd59e7ea11ab2d305c08cca1a9e93169f4b504f1fa9aa90b6878d690e6e26f789b4b6c7c267ab1186d89c2f1975c67a261fa7cf4e1f2e670d6b97a4c355b6078792f3e865a9a87b0c756a2f8c7f9679a30c948e0aca1a9b34e02c3d5664893207e56f1c8f987a73f73a5c967f8324c9f89feac73f588d516182e04e6d0d4f49834fa5a82787dadffef05b64f95d746466fa8b77f3515b687b6afbde49e81b27db03deeb20f72dbdedd9e8e491f2f0a4002e1866da3e75e8f31b5d8b7e33dc38edd91861f6f19de72f7576abbb7db15785dbe7be9c6d4f13b4df70d83619f64748da0e9dceded6a16f09ec403a6e07e87a6a8e4f500004000494441542481d82e2286e3e1f485d078c38b3584bde14b512c5216020dd0f8a4c1f0d9e5032f90a0fa33d157331f95f02428eff82e3a25ea58628aed4ddb71e91f2a78fe0354c02bb6563ee572d496c2f6d0275b56c92f426cad3cdb38eaed31ed4c31c38697df9dc068f60c9a9ae173f8703f310c3c489fa7188fd9ef663cce3fd310e027bb807c226fb3cf27c0274d51d3e78f1cf36496a2ce29fa487d600c5918df713d4ade58d83357b1399f1873462d35726b927e51e3271e9806739bddecd9f8a4419efafc91a7c35200e9eb4f9e7e538131f92335fe017d6ec0992b3ee7134f1c4810de9accb3d9f1130f9cceb7d9cd9e8d4f1a2487e9f3478e997f207dfd3945bfa9c098fc911aff801e1f3e73c59fb99625715127b9359967b3e3271e38b3dc662fd17a3e698a9a3e7fe498f907d2d79f53f49b0a8c210be3f9eb6bf8c0990b33db134f1c38355b93f48b1a3ff1c03498dbec66cfc6270df2d4e78f3c1d9602485f7ff2f49b0a8cc91fa9f10fe87303ce5cf1399f78e24082f0d6649ecd96cbee634bb2ddebdb8fec4d7e2ea0ad0abedf335899fbfd9593e7de2e2bf0ba7cf7e213822e16de09974f0bac882b851e0f74435fdf62c5f7800173c01bc6c3ae2f1a900f1cc0a4e776ea0de753b89eade707b1f987f13d54c49f35c4e703cf1f08f3a9927a25c5078454bf62aa472e53e1eae74073d69646bf585888be162f9121dcb12c2f52311a500a38303db7535f3df914ae3754bf585fa718866d0980a1871082760e35f4a7c6f0be6909f387ed108046f3abbffaabdc6c151d4bb1e7a76861db588d1b0d3c8d619f9c2d368d7eb1855c7843add8f0fa33579acc8709ca1b9f7e1a43ca86abb3587d2dfe49cd7c2eb1f8f2d6bf28b6625603301f21b002167be2d3ffc29f355f70e95ea227286f49d3874519be28b644fafb5ab514f7b56a1d3a1feee7d5ded7bda72c4e6fabf17befdcd76a6bb2b5f2515afb97a9761f7b533fde6c8782ed8fc4ed831e6f60ebd91eba7db0fd311fb3ed8334781b1ca6bd387eb8bd8fffc32ef8b80fd28bc2d437451f101e564cf5703615060c39d004564f538b352b445f9bbf21dcb1544f818ad1cc6e18989edba9af9e7c688a35ac9ef8d506a4c13399677cf5c0f307c2f49c55520fc40784ec78ab87b3a93060c88126407f1ee362cd0ae98f3ac0f776aec0ebf2dd4ba7ac27f80eded9e342e0b4004cf5ad88294c1a647c7ae7253d4cef3c83f5307ddf78e443363dde2c134a9ee9cdee1b927cd2082f501fcf0aa9e509c413f03c7d9cf4ab815b75d2e0e52d5cbfbca7064f43fc98eab7a6e1df3a00a65ea5b5ea5b170775ae83b5f20063b770bc5abbafbeed76cc3e4533a59dfc43d86320bea847c903c6eb7b788e2cf631e28d5c85479e794f719acdce73b189f5696e63538e9ffe450e978c3997d754b3f5ab2acf4fcc5a55cf8e22f058d7b3da56d57dadee6bb573c05268e779d2397cf63b732ee2349b9de7197b6ace44a7667ce0c97e59cc5e7079199e9ea7064f23706dcac53655d4301966c7158fac190297feccdbd473f98372b3f37c91c36d6ccaf18127fb65317bc13bde33efa9c1d3085c9b72b14d15354c86d971c5236b86c0a5bfe4dda6d31eed19c66eeb91c65f1bbbdf33d8a3776fe32ea59b194bda5a99455aa557fefeead9f974ffe74357e0d9cf717e28f9d18e7abb72b9bc6f3197f739c179d5801b062ebd3b4e4cf7d903defc61a0a9b36fea477ee447defdee777fcaa77c8ad35d0dce787d4fba0de10bc9c43b641ab2da7800f32243efa8a6a65ff84232cfa75cd540690a9fd2f0c263d29fb1252a2f3d40c6a1d8f8537f7a9e9a132ff5d6c12c9c6664a93714551b5fde1db8d989597d346be5fc61c59f79271bc3806f60f070bf16e9f438b1051462aba0d71b3a555c04457dd5577dd53618a5be494c595efa0edf70b12799679af5c4bff1fef77fea977ee980a95bc3c5de4e95023f90f96a287682f98f7f91fe63ce2ff5b92cabf324abad02d6efd8079e345cec294b598a2d4582f4177c29e6490df2e3c7737eb2fe5bb21a1e4a39da6403264f7c19de4eddd7ca125d4e83adc9656afc00419a1676f86238fe41fda6af3917cfdf562cf193aff52d593d99af9f6ce049c3c59eb2945ba281cc0d13170bbfc26bf5bef7bdcf61b685bde31defb0153ad86e5a901db861bf0963abf29fbd20ed6b7a7b9621b285da3e5854fccc81fb3dc3654dba21b13217fe2db8561e687d0be746c58bfb7ddff77dfa9a5201bdb7c9d77dddd739557c4bf3def7bef7cbbffccbbbbdd15f9a7309c32a104e836c085c9a2c31cf123f0e87ab8160f5c4d48f043eb6ed75f9eea56f0fac9d773eec32d129eb86b5b7bd29bc59cdd4be8580fb1602d0f06289bdcc70fa3316c30773eae16c5d41161289e1a306c37cf287cb4b0faf9dfa13139437254f15c2dce2f31132fff1b2c3f434e98b35c463aaededbe56fd0cf1d6794bbab5f27e8edcf6394d4c5be97ab3e1c03486ae23deba6380b5896986cdc25a6ff8c4868bba65ced9e10b386b30555bdee7c4b37fa538f5279e324d4318a89f60ccdc4e1f38c119fbd1ac159fda6c9f13cf6abb9d9df202ce3a4dd5ee6b755940cb82b9afd565590c5b995b705fabfb5a7531e94c3857036f93d5eccbb0dd56b34fd98900bcddcad4a3e4d9cf1a25bedf335819cd3a747ff2caaf55a7d0bd3f57e08dcf394ef6a3c45dc199ec523ebcbb81dec37acc891bea6f9b1314d93b79e04d7ef7f29ef7bcc7b5c3e9ae1237eb7ad879df2dbb61f7ebb7bc6bc71e2d8aedf29109c6b0f0191a6af83ce331e7b0bc5db3e65f3d94ab73260f8e47cd0d370b546760c7b5834ac9f62cbb1ace9eed4256c39997cf45b35cf84ffc5a397356a733a1e2918ae9575c7c1ed0d06cb825f2451c46c13db130714665b5ef5e9c307c340e6d3c678f3f051b962ee5c84c1a26b8c5bffe633ff67bbee44b04027d09736ace5ce1d3e7cdf85f34333c79b8e199023e73c18b0dbf88d92ccf33644382f080a1b66100735b43e483fa467fe60a9f3eb77accc5ffa299e1c9c30dcf14171f79171b7e11b3599e67c88604e101436dc300e6b686c807f58dfecc153e7d6ef5988bff4533c393871b9e292e3ef22e36fc2266b33ccf900d09c20386da8601cc6d0d910fea1bfd992b7cfadcea3117ff8b6686270f373c535c7ce45d6cf845cc66799e211b1284070cb50d0398db1a221fd437fa3357f8f4b9d5632efe17cd0c4f1e6e78a6b8f8c8bbd8f08b98cdf23c433624080f186a1b0630b735443ea80ffd0ffcc00fd88f3eedd33ecd36aa99b28589f5f3028640434f32fde4884dcab645d6b72e046469b60fd2b40f3e64badf333cdeefb538ad556ba2772fd47dd1c3323d36b269109bed9e21bd7b86349b9d52f8c7e9feca372af7ef5e7a8dcefe75f9eea533cc55c099e724d360272260ca13bc1e764602f84ecd9eec31a2f49dbe409f8bd008592c4d98c0149380a8f1c5e6afaf1ea45818d02aa93a5d86aaaa5c09d2245b0db260f22c4aefdb12647cdf9ce4009badc866f5a684074c559ba1066f6ac74b5308c00ddf2ad5bf65d7ca275b7e3ccc11d906f41e691ca0fafdde8b61eb6303b0319cb86de9eccd6e7882e15b410ce734f9ebc7e09b3ac17c2e6051f9a8d9a17915d60361afdd93b16529632667def0b21886f5724df961d74a766558e46a103830bcf2661bb3ec869a97cc75fcb44a7feb431c19b8f83ca9bf8418c6147b26dad47c9a5d16c3b0fe456be506c5b1f46727e633e7528fcf3ff2ec13c42cbb616d4ce1ebcd167886178259d4985bfd980b28f64c3493656c76599611f3a2b5ea1c9bc32569c3cde63fcdc9af98658fd18f297cfdc567c3c0a20c632efd23fd21a7e29862cf449b3a6b86976518735fab96faedbe562e02bdee6dc730608772cd8cd7b7ff2680b7cf6ec3ea9278bf677855d76a67c21d9c2bf0bafccd31ef7cb73efb0b1296a0dbfd2e04fd8507d85dac46aca7490f3cd20fccf834eecc8acd6dfafcf59a2b4b9a2e3170bcbe5bfcf100ffcae0df6ccefa522736147ed630cf6a6062b65cc0ea64121f990fcfd6c110dfd47caa731a3cc15b70adbcbeea57a74bbfc3b4abc1be5ae918cdb6803ec368c3735c70c7657dceffedb86f69ba69d8b737864216db6cc369089ec48b0da411db50d4c91b6a69f064a7e742c6578303f93b7fe7ef147bdbfbe8ee0ffc813ff0155ff115fde474a9eb13c31b06f4f2ce6a358c07cc3e59674526f8e99ffe693fdefd87fff01ffedaaffddae9b39de7c92f36908695e1bff817ffe2fbbffffbffd01ffa437fe6cffc19c348fd9335f0cc01980628975ebbe513983afdc39e379c453bbb32a76f560d8f960fdd8e2b7f4cb6679dfffa5fffebeffddeeffdbccffbbc3ffb67ffec04406ea71ea9cdf3c4670de32be921e6f90ae4b93a13e84fcfac848c070c691e8c9ee213983afd871f831edcb4cc03fa79d2ac86f1c0f8dca6994fe6cd9efaf8e9e7032c3690466cc309f2ac4f73e2fc1752cd7aad5c090ce71f9f003efd8717459679209f664f9ff1c0f8dc76ecf329bcd9531f3ffd7c80c506762c0d27c8b33ecd89f35f4835ebb57225309c7f7c02f8f41f5e1459e6817c9a3d7dc603e373dbb1cfa7f0664f7dfcf4f301161bd8b1349c20cffa3409da77da52fdea4b893c96d89b3ca0baaa93d97313eb5dc089f194edd1f6b5fb3dc3b926ada1befb995763ad765077b0157863c71df54a82be19e81ad1b707b0933bdc21bb85456a80333e6c6a43d8b71678c02583a6b707011ed9d43e1d21582e9a7864ad9be9f8c5e64390e7b22cafeb14cfd580c7180ac91feeb838200d57832c39031abdfed41b8aa2cfb35ca706ae9109d4960536b521bc9a7714e93bc6f49fc8b5da5f719154f360637b7033ea78cfb255debe55dff18eb17f3cc99f516f687eebe7bff3bbbfedfffceef7fdba98c7bdf3f1df67b89078959468bbd4c987ebcfa893dfac2ded333fb4d9f0dc79fff37ffecfbff55bbfd5477a7255a11e5e20108e5fa2487d51b77c8cbe76abbff0862fd234b55920bc9053b0a348d31a86cfa8931906340e0cf35c7ffa9c6be5c1e95bbee55bfee5bffc972985036fd9b5aabcbdbe9fe0b55adefb5a7dd8f3eabe569668abb4f376ccf91e7cf5d66afba6ddd621db98fad6a5bdb21f21b36bd7eef70c2d516b654d766f6307b774f8e74bf5ec3fa48e17d53a77ef4183877767b27b95ee79129bc5630c85e40f7fe2efafd47f6fb72bf0ba7cf7e296ae93cf19095b0867a136ec6c76523a47f5663bad9db80d31a6f4f4054e4f139f805e83393cc99bc56b7c9800ab219ccff89434f8e9c51a4a5d3d7269e5bdd4930f3d81109a6281f2e297d7d4301f53abcdd4f08ebd63c999be21870ea1da044e7fa98d5e233e6b103e1e30d432015643b81fbc09b7ed5527cf86f43e2f37f4ace2d3acbe81f1d197ef22228bf56363c0da79abc7c750335bbf4fd730e1a69aa5d7f09ff4811ffddfbfe3877ff9c1f4377eed93beca1f8bc1d3e8d33fcc3cdec73fd33fbfa78f7c9cbcfa176bea9237e742fced91feffe6d583ffc0073ef05ddff55dde026ec1ffc25ff80b29cbabd7e679e21c56f334855743b3f562018da0fe611d9eb74bcde887c4cf3f89078a02c4ae8f7ceef1f06fcea7bed98b7f0253b77c0ea64ecd86d317abd7aa27ac4f537838cf2a4f76f1c961fd677dd667fde93ffda73d5812177bebd954b302351a24d01450c6e54d9c26bd5e9b1ed0561bbd96e049deec63c46f6fad6e8fa514f1793e997735345b2f16d0ccd6dffa37d52cbd4683049a02ccae9f559af47a6d7a402b17203c8747fa09de6c539914ab6f389ff14ddd1ecba9cff3c9bcf910375bdf7051d39c9e48823478edbe56adc6ed6bf1715d2be69a6dcece68976c7fb44f79688937e5a2dd17e618bb9b2d0c681ff42c17a601c281ed83f77b86cb3d837dbf258a87dffa6bb51f2facf27bdf0abc716ff16aaf8853d6a5c1933ae064d5bcab35c081031d3e0d41b7e32e1c09683ae31bea7be28f848bca27b158b3f5cb4b1053a02cbbe8ac86a2f0a2b282653c7918b374409f1cd0573306e620b663d1ef5384f232d18a0d8bdd71ad663e9a741a5052bd462330fff23e6adfea6be51b98eaf4ad8b837220868e05762c86b6b176059b3afcb8b93f74a6fae46f3c26fe61fa79433ef01ff8a1ffedd9a38bc1bff77f6a9acfad6df2b9fcc1f641ffe85fff24937e0ed307e20b3c718cfe333ee333def9ce7702bff88bbfb8a330143e7d56c878fd94348ff41b7516a5ffb06b55e03c65593b3d274b39ff86859c7a4c53977efa394c19883f71b6eb4da59955e204e15be6b7bb56ee48fc08dc677ff667b33d634f7f78edcc1e1eb323c53ca9473675e9a79fc394818f78ad849f6b28512ddbf3784f7e51623fec7975f117bb767a3e4bfcf80f41517ac4937a6453977efa394c19883fb190b3994a83846be1935f08017c5fabe74bf5ec7579c5d6cad3880dc84e6a0fb55fdb95f43e6bdbef0ae2dba09d0ceddd3b43dabf166b17cbea7ecff08aadd55ef13b3857e075f9eea54b83a76d6f6f97007d1705ef7f0db628c870b3983480eb425104f07840db8276fb4b330753c83dfdc3f45d8cf8c477f5c15780e1f4c2ab99673c4de9f2c1a731cb302b9aaa2d167ffa4c5f461a514851e19c8bcd67b9a483138745c5a431255d5104f0784023a8d10034733044ca0b7408f46ad3f8c4c38f362f5b2b1f5c91557fb984f896462e1b61bfeb22515b45894cf9bec2865155fb94943edc96f9723ecd43ff811ffae6eff8b1377ee9f23ffe677e9c79b34a0a57db89e78fd408ba8319360c67321e0817c227109f89df7b79fffbdfef66c8fad82397eb977ee9973cd2f872e6d33ffdd3dd4cffbedff7fb66358df5f1eb2b1e802d1ad25afdc13ff807ada42cd3549b5fe7f8955ff9154a293ee7733ec7ef75d0d4d8d2a40fd79b2dd646eec7dbce2c9ffff99f2f4bf53fb779f6afb2b5caf68372bffff7fffe5ebb8a17a2c1bffccbbf9ccc0d81473847a7f8f212f0f2344b208b633febb14a3ff3333fe33b3a35fceccffeac33aa67fb1effe2a7e7b375f8f99fff795fe5f911760b2ec5781a2ba36005c8e5e3b49ffbb99ff3e786acd234f404bff00bbf60114c392887e6b83a16a9f11e7b5ad5ea67fbcffed93fd34b27e948d5aa84189fbf970623af7713fe0bbee00b7a0585688e8589068423e1c7f987b5e2a33ff986e3d3108c0f1be60368e7f1c6d78fbf68e22f1aceb7fce9c6a45203facd0e0317bc1a8835b31dc2f03c0b1cffa0beafd5e34b6f1d5ab7fb5a75f2588d179d57ae93dee0b6210da6d430de9b9611e9c265ff72e1750972d979f3fba08bf6ed3e88c14bc1077629d0f397a832da37f169f0a73e65b10466c3f8e5ca2746ac06270e8b8a49634abaa208e0f1804650a30168e6608854038084e955a2f189871f6d5e76cfc0938c9e49b9f2c11b768c0cb32a913e3d3e0de6d4734823aaf2f2c9b9d88e7ab984c389c31c30f7ef5eacc96d7b5d9e5eecfa6e1a3a7e78a7a353a493cf5962bfdfe58306ee4c72e1e8f44ad95b0843b305ed56b8210c741e8789e70f6b4e680256401a21fcf32136a59e4ef16ccd12570387f4d51c9f1e3605bb19e5230b4f98612599a5e1b075c87fb378fac869e42528fb8e659aff546be56abeb572b9872be9456b156f3fb03ece07eb6077716950bfd87eaeecdc71b93574d3bfeda714e27ee6677ff9839ffa399fff19cfde44cf34bff043dffcddc7a3cb27fde62ffc8e2ffcac621e3f497db8c779bebb5f3ca936f53ccb877c5e6bb6edb0be61f8798667ff224f1eeea7111cb5452bd021ffd00ffdd04ffcc44f9cb15e7a3f5ae6f4582ef7ee7ebfbc9f5898d2ff00fbd55ffdd5ef7ad7bbc8229d6664ee8fa77157ed69e1733ff77363accfc4b7eb29cbdffffb7fff36cbd77ccdd7bcf39def54bfb59af38ffee88f2a6043c0717dfdd77fbd73a0a3d64be1af05fcd44ffdd42953c01fffe37ffc4b1eff32754af7f4fff01ffec32ffaa22f526a4a3c9927107fcfd4038fbbfc1ffbb11ff314d42c434d3afca95f5eeb2cd019f54ddff44d7b7d9bfde11ffe614f207eb44f2043328f16d6a7d9db97e31fffe37fece5f8f37ffecf7b92a1b1c239ffb5bff6d70c35757a224232f43f94fdb13ff6c700bcbc3ffee33f6efd311e75bc73ffdedffb7b3b84ca66fe655ff665a2f2d117ab676b1803372c6afc86cdd6ef78371b303b666eaca6efdc28e3f216a2c788ba3d6752169bf85653780ed370d39a5a0d86917a3e89d360ca95cf70218631645316189f15dc6cfd99377132b3177db3d377bc392f6f212939dcae43ca6213df6a0aafce69b8694dad06c3483d9fc46930abedc485986ad6d4660b8ccf0a6eb6fecc9b3899d98bbed9e93bde9c97b790941c6ed72165b1896f358557e734dcb4a6568361a49e4fe2347aef7acd3b542ba30b08a52b30de076aae243e6b30b45bd1d8bc802ee66476349785c4dd33b864092ccb8bf6419e4cccbe86f70cedf56faffb2bafd44e9b3bd80abc2e4f2f1e035c1abc63bdcf7b247042b816f4b6efddde230d8dd54973f2c8e903e9bbac84c7138bf50e69769ec0c9f732140bd3c3c552c289613e89f5d5dc308dbcc5d2775cf9d0ac06c0949e063fff3963ccb2cab3a4e1b7ec5ad93c1c4ec7d2b347653b4035eb1ddd6e88dddac2ad5598c636e018914e0fd735216bf686b6317d5b11a6d9fff00b3ff47f7cf78f3ddecffeeefff6bffe6fbef8773cecb5da077fe107bef9bb7ffc8d6f5d3ee9377ffe977ed77bfe87af7dbc017bf6e935378dcfedf68667528a07b7e779310feecff7c5f083cbe1132eb67efe05fee44ffe24dea7fe3b164f0b9e19ec76ee622d889dd22daf2f04feeedffdbb7fe92ffd250f39f41eedc82cf2bbdef52edf12fcdedffb7b6d96fff49ffe535fc5fce00ffee03bdff9cecc29bff33bbfd31dbffbec2ffdd22ff58d019907837ff24ffe89dbebb31e75aefe78439be8f77ccff7c8f2855ff885be7050927037dffb7b653b16216af6c7c77cf923bb9b7bfeb2f8cae23bbee33bfeea5ffdab5ef1fcddaffb12c34bec06dd9389975e20a54708e65ff9955f49b6458357cc700c8df5715e79cc934b52bfb2627116bbdacaeb81c4ac14bed2712cb3b5921e5dd4a3f2487d3594f17c399c9316d33a7b391cc85ffc8b7fd1c9e939c7bd0b676558a2f23ac6dc804a8a1788f7c511d2539c4717219682b373fe5ffdab7fe50950733e785929c9aa1fd030f9c0e34b7439de62c9e2cf23ca27e6c9d804e54aa03ff5c3a77f4a4cb32faab3d9524c532ee4c967b85cc0792ce10a33058805b4479bfb5a3dfc9f5aadc67dad7e5be79573a96dcb55ab0dabfdda3bd4dbdcaccb32e0c2b86f60909a77b12b12400f5bfced830072fbe0a3fc7ecff0c65a5990b7dd5addbf7be934bef46f7c9c799978c586ce5777a85d087a7bbb61728c5d0260b3f8ae203b76bccb0a5edfd5c4543e02d3fb766251d398cd7fb13448fd78b8d86a586d8652a4afc2707c8ccb53358fc4cb25307fbc217fc09406ebd3c8e5884cf1c123e1ea393578ad5cf8acca8ba747aee1df5e6b65db38d7cacde25ebe3e216b1fdac66c87c01b7ef083bff9ff7c6f8f2e8efedf7fcf4ffddb47f283378f2ebff50bbff29ffd2f7ff3bffffcdff1707f7336fa36fbfa4de5d3b01ac2f881f01cf063d2b8b575e7ea5ed6d7207ab7ec6e82bffddbbf1d7007fcc55ffcc5e9fd5814c61dad0715f7d3be4c7073ec637ed8b208c98dc66bed7b863ff5a7fe945b610f279e4cfced635678cf0cd5e9d1c802fa8cd07db6e71cb66e8b3d215092adf8aa5580b663873de79c593c937842f06791cbe2143df55e385f95f806c37382b2fdf6882f8be89dfc6ec72965f178e3d89dbadff88ddff847fec81ff1d045e05b179e663da479544b79e90d6bd55c2f918372ec868e0bb64a67fd138b7503d7d7326a30ec9c21b0e07a6b281030559421cd5e0e0bc8dc0a48fa0ddff00df45e0e0f4e39f7459617650e9e886474801e96ac6155d9ed4431716743d9938cc3e7e935ea31e68ffed13f6acaca67553dfacb718d27ebb51e03d44c69ff3f7b77d76bdb965ef5dd1631f8a5c4950b4424e4aa44a2ca20056c63645bb664092c25be218a9c282f5282f05ddd58aa4f8072951b5f47f91008616c1c8c10b2801232c6855005db44bee0458922ca808d459180ecfcd6faefdd4e3f63aeb5cfa95355ae73f69afda2efd65b6f4f7b9ed1d718a38f39e79a6bc367df30e6e2f9a07e4abfb5327bc995833e4de6174dc55c729d553da67dd5e1e799a6894c62f21f3fd0acfe0db99eacad403e73089ffcc57349cf28fad6a1d94bae1d579acc2f1aa476c98559969ceba79c7efc83cb6354fee3079ad52f760ccd193b1ea8cd64ca0b7ff17c4edf3a347b59871cf469f8935d3425bde44a599ff3b2cff39ccd2426fff47d8a02db5edb8f5cc5ee7b36a3f67dfdf8f6e87821f767066bd5b3d95bbf569d2df7fe5c8197f2eaa5636e2ff74c63083bef010f3df1802152732b89ef91dd4542e30a018a850958e10132517002b3f0194b43502c8dc0fc4f1e6e4819a8272e767c3e7a4d2e3c4fe2f2461aaaa1c0f80edceca5b6534f69a8d1e80b994f9e7840cf5cfb28ae952760ef667967cb51386487e339d89e61a8791cb4030db7e5e8f10fe4bffbb52f3c1cfdabf6afbef85b0ffc173fffee4f5d7efbd7ffd5fff7e3ffed7ff7475e7f9cc350cb8afee2393e53ca72e1c309ccdec612c417fb0bbff00bdeadf7f949edeffc9dbfd35bef9e837fe4477ec4136d7a4ff0f4fe07188631f57fe24ffc09bc5723a5f6c8ee4588d73cd5530aca86d6adf0be7ae14585f381466c02ffcd8b67e5a2eae3cb552c7e59d298d5ecf189dbe0ab87c039e93384a60c297dd681812b9bb2a3f329502f39568fd7153e6ae04c20b0f0f5a767b3a69a3d8731fae9636401b44f7ce2137a2f48ca5b6caf5e9a323bc33415ec289c96666bfc2d3eecd50bbde68768e8855902b1b017665ed5b80378e15a0dbd26f12aa8618bd0aba96ac6fba532e7831fd97225d6a791ce148c19c69cb861cc7a60f8561f532eb85c40b8c05b7ca9ed517e8d4516cef3f449dc2c3eab8e0b69580de3d3538e0f27307b1b5bbaf8e132a69f67b3eb81e15b7dcc99371fbd5c05dee2f4faea2fe416177ef199ff4359f7b57a7d7e5a8adb75fecad78a837d67cf0c7dd282c4c0eeaedd4eedbf18f73d0c7cf27043ca403d71b1e3d9b6a703b63c3c4fe29e0d220db7d7c7f70050ecf93c73ea290db5fc0b994f9e6601bdbcda47f199e1ebb8560f8b7b6f372bf0ceef4edc4c7d706277dbdd467985f7ae86610df31a3ebc9fd43070e95d6c18fd093c8646024d9d7d537e45fe339ff98c479cce3fef64749951f60ea5ebcde5e49d0c7c97a8825d630442f09e6bbb446ff534c4f834b77a7c56d3d093750db38d2fa3b799f351125c3dd39c359cc7b21ad27316eb39b5441d17dcf19ec77ed63c3da544a7ff62693e546be567aad4d6caeddecfced087008eaba740d8a39b6331b4ce6d15ceb7303d07cf7cf434fd207cc8e0783b27dbf2c36d600f535ffcf9ffe56fff3f0fbbd963fbc66ff9233ff13dbff3bffeedfff3d51fad7c207ffb5ffdc6bffdafffab3fffbdbfffd5ef96f061f24afffa9900f38ea76f35fce37ffc2d9ffe34f2dffdeaaf06e82f9a530f6b04da5ffc8b7f31f37b7f5f810fb0023ff6633f569473e93cafe0b975b219a601306eb069c23bcfa739f5e153133e7da609f0a1192e57c361c3b55b3d19325e9f3212c6cc277cabbfd56472d1cfc7ecad3fe6be565bdbfb5a75eef9e55b9bb2fdcbd09fdcb0715b191f0b039a13a6efbdd8a4f076281f9cdacded71f148327bbd7efba0778bda07dbcef0cc617bf7b9a7bfd867868fe2f39533c1e38d3ba19fb87727f5b56e359d4b7e1981cca7ee3ff9933fe95d302715bdfed23c08614c05c269d2eb6f9b7491af333f0c87013560564f4cfd48e0abdb5ecaab97cf7ef6b32e7b6bd745eef276c177e3e83236e547d865ef22378b31d4a704e24f8dd8ee08c5d268736e98c9f8e9975dece943598ad58319060c4f7d3ec878fd34c3c0792c04cb6eaae33a7d127ff8d7ca03c4d6ca5f15eb4eed2a427671127859eb000df1b06347c63b7617986b9e9e46c378f562b62980603df281ffd2dffd9ffff77ffa4def3cd745afff9ddff8cddffcd1fffccfffd01f78f84969390c03a7fff82ffdcaaf7cf3a73e65e8d54b00bec4564921994c633ffbd99ffd5943dffd70a7bbd4ec7b0e9ffbdce7ccfec00ffc80b7e41def5ff92b7f259fe7fa1ffee11ff65b5266ed8ebe2ed29fab4a6ca3b5923e12f12b5b34dc7efaa77fdad49ffdb37fd68fe052b3cf437ef1177ff1139ff884df22bbd47caead2c3e7f78328bdf67f381895856febf9a4f7ef293fe6040959cb97eeee77ece1f10f3dd7ddf72e9e8d463e3a73cf3fa0cc452784dfba33ffaa3787f87cdb7f6fd76591f3a11f3d4fb4cc337793c0af8ddb372f95e8affaad2513816cce9091735de17fdbff0852f54aa299f4df96e7ddf92af669f84f82307be52ef27e2d6f49e3f0ebf51e63316b13e4cf3d3ece7e8e7e2ef2ef82938e4bff497fe1201ac86bffc97ffb213de9f0d281746e50ed34902d7fcb2995f1ef37b7769f4f197e38a9ca6233d35040d970b339ceda9cfe1cc756ac217cfdcea0b1c73fac0e3cb72c9bb58a0a95bcf699e8bcd39d99b35294fcd9bf32a660260c772e63a35e1854c7f9b37e6f439fd9fd427bea43b8fe57de24b91cb3bff65affef140292efcc8098034975c0d4ffd42a65f7653daf886c59efc93fac4977497d8694ede3dc1b5ef79dadb6ab6a76e9e7cdc5a73f32c617b72b3751fb373c1ae6b3b753dbe3d9ad84d38dccb1be9e8471a8ab2c1a539f77a38719a6140b87ecf3345a567359e464b9c3fbcd9f404aba7d885a4348cafe6f903f3a4d1e6dcb0bce3a75fb5f2c2e3294bb17a30c380e1a9cf0719af9f6618a88cd5b6eca6762c054ebce33aa3cc6aaba758af49eeaf5e5a99b37fe7b7144ef6edc3ce2def5b784272684e083ddc3bee707710678cd308dfa7102d8233ac73bd77323a4787cd76b370b2c2279f3f93789e5d12d32b237d27284c5c6d69ce5cf8f99c9a8a94cb272af30f9bca5fa043eb18e7796aaa8da663af1e78f5742ccb6bdd3e246b6527b85d2ba443f6a98be3b20da471bb6fad3ce0f6098c5bbfd5d807f76e10f606874626c47ea08791f695f02bfe5bfec0b7fece3ffdf7af1ef6727da7ff37bff5afffcc8ffcb95ebaa437c78d4f1bd2a4eff27ccc353dcdab5c079ffef4b968e69ca6d9b0a7642f007cffc1572660ebd301fef13ffec7fd2853163eec258a58211e9791c23dec5a2ecd94afc8f737ac4c712bd6196297c59cf55be78639af36e4b0aabca220f01b50cbe2c7f737fec6df58964cf49d87b99db94ae470f6b3eedc10a24def323154f36237bb7a30b0be56ec708186274f7f9e275ee178f5e295d2777dd777e1fbb5312f158a5a9fa782f7e320de7972fabb3515e5c5a7572f7e2e802fbd385e2f5a44790163e8e87c19c9125d72f99533cd45e197ca7c4346b88f1cbd8d67797bd9d6b1574f793bcc136f7d54385c55d57f8b331cdff0b256676c8298f14feacd568390e16abeadedd494a2fef618cfe37d0e2f2f93376b9abdad077f1bbbc28a6a28f63cafb62639d0c48c7f52bff5497fd673e2e53df56755709ab2bf1f9c7f26cfe957c3f2bea7ff5995a8867c3e726b6587b2e9d889dc54ed4d2e7387e3ee643f6a5f765ba3715f7569c37dea0250f666848b5dc8f64178cf157c603edd33cffbe18b7d6670aa6cade08fd05aed9cbf8356e0a5bc7a71b46e10fba5a91ebe316e016e0a7a5873b5f7588f74c1c7b752c5d220350226a64ebed8e989613ef1198a45ce0766a5e5536cfe617c8549974fb37a3ccfd50c0b59ae784c65e42fd159cff4cc57038190e93fcc6b65937bcfb5ea46ef9319628f89dec3c0688e1d6e41600fe52d14992d10d30ebaed1013fec66ffcd87ff48ddff0b0d637eddffed6af7fef0ffd4f7ffa0ffd3e5b483e7a8db0d870b3453f998b4023a00f17389fc5ce301f3cfd3ccd8ef774eb99b50d0fe9c307376eaf49fa4197687dfeac7c6706e90bdfbe43028c0feb5969de1ab0c20cedc1676d1c3c3157953e7d60c705f80d0a53fd2de3c48635c3354a98e1198b31f4035500ec67ea8c5586eddfc1dab90b5724c3c2f57edcfa7c1298a509eb3b191a2ed6b01af4e957e4a9819d96bd5cf4198ebf73e03325af31d4c6a132f2c9df6979fbe3582efac401dfbc37f4a334ec4b2fa5f621982c5ec0787122d66b958ad40f28a01a5ce37e9fd6875dfe3c834f843c3f5dea5f9162abf9d1e615364b5ff1d5991e9e4f7a7cd9e3934d73eac37a1a2d7fe056839ce7adfe3df3e69983706db9ce58bca1be74177d26c5cef0a22fd66cfe86da933ec8f8fad627db70b1178ca4d1f20730170d729eb7fa87acc767cbc59e3ee134ab219fc7d0579f4b630c2ffcf49918aeb6624f7d98b26329f69277c5c4d7dfd65cec7219e6295c1b8ec79cfa79221fe5efe84d355b7f9b37ab66e799cf43e4eb75c6c0f17a37223bb506bb36bd5001dccd602fc65ca76ead9a1077a43081a9edd78666df731fa4bf3f33582bed23b756957def2f2bf0ce0e749978cb865e6d3b2217b0e6192b80f10e841b84214ce3b9a7a7169a2e75b7153c0d8129b8584ab105eaf327c08bd5d36bf86e4c1c6082e50ad0d05703862706e0304f0e0415669626ff6ac394777a8c76d63c7fb9446545df3112c78cc7a841a30f603eea6bd5c670ae552bb6b5dab07dabdd687ddb0ff1effcceb77dd36fbfdaf30cd7feed6ffdcb4f7ffffff85f7ec7c3e3bbdd45ff54ecab8789cd064ee5a690270fb7ed4d00841f85af4a2a247eb3eae979dd2224f0306db66f72031a0d7f3fe59ffaa99ffaab7ff5af1a5a905eedf8f2fd6c299d4ede267c0c7ab5c7f73b667d779f726b45e9af1e4f09983d1bc64fe4ccb258a59e5932d1abd0333a134a450248ffcd25e07c6ea7efe8fa2a7c82c2d5e31bf0b0d77278ad4fdb78226378c23edf28247e38d05a8545a559e531160def57b67cf082690d4b51e01975f971ccd307297e1c3ff3333fe332a497d7bbb0fe10b30b538596a895a7efaf337b3de3850d0dbe5c941cfc5addd60aef06e2b562b7915e0d5652798773a8ce4d059a6aade0cbb11792cffb59ab9467a2fc97aba94b96cbec42e257db6decc5677973307baed5b214a5a72f24102e76b8a9c502abe7c9ece9ef6bd532be9cb5728f75197aaba58bd16980e9d363372b17b8db63d73e3e40e3a236dbd6dcbd0be6406356c8fd99e16d5aab6e0ef7feb2022fe5d54b6f30bbe05de13060215ce1b0be45819df15df6b05b8087214a98a0219c0966fc34480ef85d39691ac20ca7d9dd2a0d5e2b96613e9186023564f5e3d513d6770862772ce90b2f2f99b65cd5bc63a4c74c0f18a68fe77cfac38af968ad9577b31c514b04b74338d273ad0c3d5bd47a97ae35e99d36fca3e063dff94d0f8f9247fb9ddffc37bffee91ff81ffefbfff4e18fea6ab7b1e36dcff9a469188e4f893f7d0cab613ec03467e0f0a5860edc4f3cde9f9c027c71c243f06af0d0e0c3165ba6dfe0b256962871bfbe252373e7832f6c744af7b085f43541bdc774864232a4a1dc79955526c3861eb597a558a41afededffb7b65d19f7ab3a6f62192a14f1bfc9a16e0630465c8eed15c88df92f237948b457a47d3d766ac800f3a3ef9c94fe2897b51e7e5500f014cf0fe3f4aaf3ae0b3e5a33051f30ceb53c6877dfa6101ad89d76f787fee8c4c3b3586add57e1cfd8e591acbeb5329197d8c1353ef77ffa4e8ffebecd50bdef758fcc8fc34fdb07c3e43502e070b7b1de8a000e9f4f45e17b5b05e3845c69f1a0e0de9c3d300e162f5d5164fac21f5f1c39834b7faf10fc18fedd4c09990994cac9f06397cf261b1859c3ee9571b41cee34f1fb262e703648b2f30cdcacb67fac46922f5c41a52bfbc61fd622ffaf134b5db5cf8fc173b8da961b3175c9df11536cd5967fec516321f4338f28c0d1798263c0d102e364da49e5843ea9737ac4fb61aa61f4f533b35d5894f9f583f8da9e1930f57e7703ee9cf3a2ffce9e3327417ea5e87b737e91bc2b6a786f65c1738ac6d1f0f13bbcdeac71bb6af2145c5df9f19acc34771ad1e7fe6f7eeba022fe537c75cb71e92bac2ad810b1b53efa9ce3b19fd8e2981772ffa3d54320f34f89430bd539f1ea601dc17c476497467e1d01ad3e0c5ce1f36953f597c1a7c3500799eb5d1e0a55eaeeae4301f750a2c164f5f3a3e8b4d63a8d13034dbb1c0f1409efac82a39ebf990af953d43e55b2b0f7fd6dc7324a0f7d4ebd78aec2ead15c6815b2bc7dbdbf0c2359b4dfb4dcb12d3c33afc9ffd27dff2d3ffc7973efefb1e2f9fdffe0f9e7cff8b3ff33ffee93ffc6d4252ea053e87e7433f4c1f06e21599c36a48130f5ffc27e373d19872feeb1da9e6482d823f97ecbf6ef48513bfdae4d917ef6d7b8ff87ebe5e8d64ee39d8f3b42facfb96858f35ac9e77f799f72d0baf0de4f2302dc40b066e9aa764b356db4b022bef3301bfd1c44d5b85c0d60abe64f1b313bb2cbe012f560139b81c087c98208b5ddf7339b1323ce2fbcf2e4be1e87ca5c7a3bf477c9f2f513a2e653846ebe04bff5b1fc7eeabf91ee5fffa5fffeb4a7520b017005e4ef8dfe85730bd29c30e505e7fe36547840f3b28ad9fa313cc0b18ab21afe25d71f104d9d6a7f71aa31f87ffb5b3922cdd7e1cd69698b22c16dc8b4c57ae147e70656fb98418ca4b39bd707f38c12b377ff68079677eff698c6f19558fdab62667ec055f34557589a5a9a44b2cb28607e4d55a13c391e162090a899c3ef1a2d2cca1d886cfe1f2363bcc67f594abe35d1979d25cd6e1c95c170df3d3b3e2ef6bb57538d7f085ac95c3d4da709d096e656e6e2e7cf70a775a371cf72be78c7ba9fd97ccbd0bffe667069af63ecee73e283ce7d2d1f0772be86ef0c29f193efc6bf570a2dcdbbb57e0f7fc85bff017decd7c6d47dda1ce1c2703370cbc9fde46926ce036caf3963fd1e339557323687f7291bb35b8685dbd6e0df8c70bf9f7f49b2734c878d50a8401e6fa34803b0e9e8f58533c2991f105e2e9f91b3e383efeefefdd2cf06231f9d300c9dc77d4a0750bc39bedf9a944a264f14c96c62c9c0f81a1141da3db9f1b96d8f88a2410d8a36a7bb3433055205c461ab3f97cc8d7ca8a9d6bd55bceea57b6b572140e9606df5a39460ff1d6a41f9fa18dc1517b92b6b07e0a9a282dac1fffad7fe03bfff06ffccacffdb37ff9a57fffa57ff9ef3ff6e33ff6e7beffe3af3ec1a3e7f986d847cb579e27fe0fbffeeb7edd4720f04ddffeedf39955627d8c7ef5201d5dbf28e5cf67395e355cf40e8d00efa7e9695eac37ddbd73ef61dd73b0e775bf4164f6139ff8c49ffa537f8a43fe5e12d8e76cab9a8f382c9147fc1ffaa11fb28c5e15f4d5d27e6789a727636e94be11aeb7f27ff24ffe492f247c06e2158227f84ae25c336cadacb9ec0f398e2cfeaf462f12ca229d4a987be696ce57e1612f5a94ad243f474fe15e93ec9001c50871683cc90049318a57cceb121ed6d0074d66f9682a17eb7f59f1ad779f235907af8868d4298a95b3c5511bf6dc4f9c15cd0e6aa415f02b6d78af4cbc8d7a6a64f4b2d001fa4c26de8fc31af6e350463f0ebf6fd68f83676b05b0f58a481996e2939ffce4f2fae60fde0fda52389fe3f55ee148e4e7c8dc52f83932b7a45ea1690c6b9480feac33262bbc1a5ea98ff310536dc5a6b9f599d573fe179f92962e7c7ac233bc68e673e19fccfb66cd8e2bd9fa657fd2b33aef6bb5b505ce9fdd7864fccb5c2b374657ab9b8c3e606500abb1670680c0cee5aa37eb76ea16844c6f2f03f069ec77dab90fde9f195a5e7d6be57cfbc8ad95f3c11ed75563d708e81d4b3dd03b569ef4bcff655f705f32a57fb29d53c301fd0768ab44ec056f087c75db3bbbce57d1d75ae716387b979629cc1ae6c40df5b7ad077afd093cb451627a367d9c7ca76bcafbaf3ffee33f6efff6a375e27a6e702a280376237053b0d38bb1bbe30d4d512688770ba02146c60f9fc30c63f4d3e00d97570ab978ca122eef921297d7bb2c403c52a32f0a06bc9bd2ed69e5110c570fcd7cd227582cabf3d8579bf0d59c55e61f9eb5eae7583d9e0e5b2ba79323d2ab76372cc0f1baf59b723dfbd11074dff7146825ad4907bbbf984cd0650c84c56aefe0fff737ffef7ff33b7fe8db1f3e19a374b2edd2a5897c887cf479887cddc8c687cdecbf79d95f4cded40928c5e6840796b7a9c80b368c2faf15988929ebe6b9dc0a78a2d59fb1a5b6749eecada7930d13690dad5b0cb7f1c81e8efd74e2195e3c577356660186ce3d595caa868f410fbf42869745cd13a7f78353959aede59b3a4149e572747ed64c9eac27991b88b259e516497f592bfca5cd73a9098603a74ffaf14086f3f1e3702a2ad8a1e99f5c2be2e957cfe9196e6ad84a5a34a4cbd9b5301e40329c1e58dea6d25cb0e16285ffeeafd5598f4a5633dce1043ec05a71d62e3e31fafb5a9d8b039fc373d1f0f7b53a17e761a55e9f573e416dd84dcfe5e37667f53457a8de8dcb5d14f096937ba31ba3db14b1fb1e1ee966cbc12d4bdf3ee84d96f6c19cf5f4647a18d8bedf634082e1367a9ab7f599c1013ae4d66ac788a97d38d7ca6dad37bf9c09f7ffefe5f5cfea1b5ebd5fb8f1db0a9ca60ecda969ff0e7795ea5dcf48572fbe2b9cb2531c308bd73bddcdeed43f35a62e3c43e4348670798172e94b373e7db16998481d4fac19ca6536b258c36a208039ac7eb26986cf7ae8359acc3b5e4a43b262b9e56916989e4c5bae62f58a111e7fae037175068a65786a0cf1e505caa56778f2676c1a2652c7136b866a301be9fa070c29ddfa3d17da2ddca657bfd99a7b046056dfd61bc66be107e5effbfdfff1c75fbd8b4f360d4c56ecbbf4af1ff51e62dfed3f7d53f5a70f8606a385f5e1d553aeaccc8e3f63d314381f6be2ed796b6e4d222fc762b97c3260ef3c3d6d99fb3c213e5b7baacf3dac6ab918d6164b76f127400af1e103cf0ea15e6a4c3fc4fce36105f8eca89ddb703c3718a3c162ede8bdca5a0d04702134b01346d9dc169b26933cf535531aacbf3d16a4a804e9a7310c673b7e3e040ab6da1d35d934f30cc4e77f9b2bfff8612bec1835af8b048e0786c7cfbfda96623c25b2d83499c4eb6ba634587f7b2c485109d24f6318ce76fc7c4e3d4c36cd3c03f1e96f73e51f7fe23c2f3cc1a909cfbfda96623c2be463e8c3c1e20b8cafb070b16916355254b890fc63c2673d78edac61986cb1f30c4c53f612e9e3f3678b3971c30b4f706ac2f3afb642e60f68c8c7d0b77fadb6f7d9f83ca43a76773cbd8d49ef26a0d7dc13dc9ff56e5386db1f6117757b689af7dc078b25a614cb10e6003f647a6cd31885cf7d995ec3b7c9b6ef531a92a5af2abd59e4f4f92f57b17ac5088fdf9a24ae4e783cc361fc599b61b9f40c0dab07d0aa4a6c1a40ea7862cd90c66c64b18694780258baea7c707ced5f48fab31ebc86cfbce315654896beaaf46691d33fdabff37cd5f0de6f055ecaab1707ecccf0ee05d0b955df35e04e611893263e66bcb30aefb43b7dc47266ebe4c3772276a6ea3be9f3cfb302f214a8c179eae17c007ab3ddc556bfd97c4ccdd03bb51bc2d5a087ab8132677d9ef938229a72c172e197ab52d797ae631182ff28ae9577b3fa984efdbdb3d5ca78dfbd67f7ed9aedb5fab652bddde59cddbe3b25cf0b4e7fcb9f4cfe6380132f7bce9b8d9f7f2117cd7cf017fd45b91a1602b49ba68457c97853da628731bf3b6b25e359f02a8c37d56c3c72fc89d39cfd45bfa8d30d6e18d89a18ded7aa35b16eade486f7b5eac4eb8cba9f579715707a6c655ec235e8787d16da7e6da7b635b75f7b01737f66e819c33a58160b65955ef2f35577ce7b7faec0c33b1ce7f8ab82e7b93b11dbf0f678c3da9e720ce186814befe919a33f8127d1c81e499b5ddf94df1cfbec673fdba37997847b8487f51377e002f1e722d0745be916636ab1018ca842f23cf5b0293ccd2ec213f3e75cdeeaa15faee1f99c1ab3a5bef537a5c5eb1b165bd9052a69d9ab61cad590fe8c4d73ea17459ce7a98733212b2fa0aaf8e969e269dee75a396756e7702f42bcc3c7bf738c067086e8e505f8c33e2590ab744e151fc79bf59b63ca30abd7cec7aff0fa0494b79aa6f0a7263c669a729dbf39f62d9ffeb4d937d4708935bcad61757eb93e4b7deb79e63d8feee44fbc1a22bf5a6bc56db555c6977b8c17fdeabcf0e7b13c899185ac9eb3b6e18a9c783c30bc1a22d9bec1f3d484c7049e8cad8c2ff7182ffad579e1df90d7d499fac9dad274d459bdc17f354cf906cf53131e1378321669f60d35bc21d6d42aec88be5c9fa57eb2b6d3bf32dee0bf4aa67c83e7a9098f093c198b34fb861ade106b6a15beb4b5da6f8ef52bcd7abf39661fb42076315b927d0af681f089ed6b18db160ddc026e1fa40f6f3f4d4386d70bd4dbe9daf8e223c79b85b562dbbed3b45fc3399ccad590fe8ccdada8703d0d719ea73e3ef3b3b68b7ec748c384a71a4e4c1fc32aff34173c9f93a72c75477afa577c7c45628aedd80bfc6aad9597b83e85f348e3877bffcdb1165fff523e7be913890ebb57f34e2fa7351ce9ccd39c6d7acce3e8e1d30f1aa43372fa4e59fc3e81c1c09dc4f1f41cf4699617e0c3505eb34b5dc6861c68e06aab1e21bb48f0d3f037456f36cff4e58defd315bca85254034d8c581a5378b2b775adbc3839d7caadbf153ed7ca22d841db445b2b38d28d03d0db482683e363a62c6ab273f6c1fdf1c11419cf0133fc483f94119fffa949996c780e4ff2c8e71cf2cfe75673cb4ce9d825d54e87cd96f16bb4565575d636a6bcaaaa92f5c0f0397bcb634ee745c54f7fabb9658ac5dfd7ea5cf3ce990b735fabadc06565eee7552ba3d7ac46e0c9b3e8a3b5561d885dd8e3a9e7817670fb54bcde8b197dfb75b34db5cbd763f63cd08e167f7f66786bd6aa03b9f7971578fc93af17ee6d1cfafdc21ee5dd237a64ef0a8f77c4780ff148409f4688a9e9dd0ea6c7c329c92e3c26c3f1c58a32c550039e4c8457c9f4426a78249ce730864f7a1a43e1d5369c465fdec50a442a35bdd96998e06392ed583a3424a04f53eae9cf7a78ce9f6c3ef1980cc7176bd614430d7832914f51b6566df9a200faeefb3cfba4c56b15ef5e98ea58603cb1f73368fcda586b82d9fe37906cfe42e06687d3e84d69f186da7cf03006880fa787d752c62736354f26dac99b2d243e1ca9474e608a8fe1dae9139e0608ebe91fb23e95b7a934f0ea1c2e2a1e8ed73fb87fa0b512255c9be7c567353c54fc54cde305c2acf21c2e8acf639e57dd256f51694c69ef995748ce394e6f185e5e6e15f3a4ffe9332510af87b537fb9369d348a7891a0f188e0f47eaf11394cb70edf4094f0384f5f4f32f76c7db541a78750e576d7cc52cf6f43f7df02b3b5e8fd4deec4fa64df35ccde3193e990859ae0ceb3181f94f0384f534f39f1ed85400339fe1e5a5a9309a6231a73e655329e7ffa4bed8d39f4c9ba7a966c7039511bf922e899aadce620b9c4f7a7d1a20aca779c8fad4f9dc541a78750e17150fc7eb1fdcbfaa6bc5d356a5f94a216c1f94d4ded49b3eb624580186ed8340fb205294107c26db072b1819dfbed6de3a6c8a8fe1f6dc97f3cc60ddb6568f8bf4aac36f7d4efc6158abfed4ca59ed1d5b8177edcd6ff18a74caba629db80ed3d0bb144ed6aee17aa4a93e91c068301248df9d8243efd6b75c3ea9e04310afa7c72c16dea7196486026956098c514fb99a752333d4f6a9489a5e3088a5d7139c3cf3de7dc1ab364f02c330300dbe8651037d95d07414ab506c9af534623f8a6be5554d9fba78f572ae9543eba0daa2ea1d23f06a995eff83b143c40fb767186a8bbae0a21e25efeab6dfa42f4f1b18a6a8fa9c0b86698a5d60fac90612ac07e69fa6fe36d7397b6a4e2b78439ab3e1cfcae74ff318f401d76a9ee5dab1cc7ff52ccb7dadee6bb5b3b1b3e2ec9d39d6e77e5e7561d6b71ae72a85ef6b75aed257b256623d98b6dbda80eca76e5376257b93ef64ee958929cafb3383f539d7ca7e6d4d2cce5bff7ce5a77f6fb72bf0ce3b6db7731f98718f2b3670f67bcee83ea8c79cb8a1feb6395991fa13b8ce2381a6cebe29df7bf9cc673ed3df2652584fea0065f7853db8f7214002b37b7c27eb56b23539635316a5674226161f28aa103ea7de5421d32f64fc4593527f9bab583ca0956bc55f0c13e8f1ad40fdf84d0115df54fe1f86b572e65887eaf49a24ec7fbd509b37b1d4ac7762e09104e9319d72661d4b874673fbbd97f669622986dbd4ebc70364d3186ad30c2f1673da1a7ee9577ec5d75d90fdc5e429b34d3c9f805e9bcf946719971a4efd89cfd8db5c94179f253d4d6ef1791499e8b5d2051e8927fc173b192671fda5cee92f3cf102577605d49ffe67ecc99ff88c3df56fc6d590e6497ca9ffacf9d47738975c8b3deb84d79ed35f78fa336f439a27fdcf58ca8667a98b9a43f5c4bf015f4c6ecd4f67b3e9939db14d9d75ae9253b6707aed39fd85a75c605386cff99fb14b71a9e18c3df56fc617935bf3b3aa4bcd676c53975c8bbdd81ad69ed35f78e272014dcdd9f02c233ef30bff5cec6daed2ddf26f30ccbcecab21fda656c093fe8b9d6ce19891c094bff44bbff438f30dbef162cfd2aad95645a3d99bec567defc50ee5854d8f310031194186ed7db6335fe61ca68169d6132085c4941d6e4f377ceb9f193a767d4be1d84ffce15cabfbf75efc8c6edb4bf9ecc5d5de75de55aa0fe02d0aec92863de827f36abe4bda9457fc5df0a6f00f91af3f2d694145c5d45fde214823161fe6cc679ec839d0c0c9aaad7a305d6666c51ae239e4292fbe58bc1b90587d51f3c14cdff112a7aff2303d20760756037778000040004944415415c8072e56c6641f95b5eaf789d56f3f80f55edcf6d75db6568e5a6b436d23590f687614fda9d930f2328c5c2f630e64299bc24f03aca5597f664ff3e0f2facd02b3f9981a19d8705363446575d670460d973d7d38b713c708d14e3e8c3c0bb80ccf29f80d6bf5e07e58116b27039fd927486368f6be565bb1fb5a590ae7835edbb9b4d3668cd9fb5a5984fb5a9de749f883ddafda55fb0406b6abee7b2fb6d7e1fb33836bb0e710cf303d9bf5ccd3456aad7ab6317cfbd6aa63bcf797157841df7be936d173aa5570ba3bcbf7fba0ae843032dca54279f9ddd062c7f3f1342f2a43fd52e0e1f8f4796278c2e54adf149eb29606560f0d01c33c139b4a5396343c4f9e723ee39990954b315a0e124d0320f51a417a8046131b193eebc10b39fd0dd39b2a75b1faa5e8b8e2d3e789a97e8672a56f0adfb691dea72b401a02ef4bf1f4e2249ed2ef10c31cbc6e81697cf682e7e37b2ffc9d21f479ea9be5e9794503901aac6f98261213f9287fe753cd3445cd937238fd63f43b5d298a5aeca6e779fa0899275e943e1ffc25b6a99c9b3a63e73fcfdc6ef97c164b9652a006eb4f4d6419c3d3209ff41f0f3cb8bffbb898684d0166f57c30b5791aaece3405e22f9eaf22dfadcff9f43cf1f25683a9e53d739d58884689d4607dc36223cb129ee639fff1c083fb6bfff1a5c067a897cb6c6d351b868134051a5e3c0bbce8f36f6a3ed3347b9bebe489cfbca6b4483c5c3dd34496313ccd937953aeb607f7d7fed397029fa19ebec0698a9a4f9a02692e9e9758c33937351fc370d9879fe4f359ac102df2f45f6d910469d22363966bfa9387d317ab4f5fb8a9cc8b2d709aaa5a9d17ff66f3a1b9c41aceb9a9f99cfef33c7355d5f4d30834a5657efa4f1359c6303d109367ccfc4d0d3fb8bff61f5f78bc1da7bd2fc3ed83f62f8c7daae796f641186f8fdb273034f6afacc2e9b70f32ccb34d330d6c1f6cff85ed7d278f69cf458e6772eee9c5ea259a06d8866e2a7d1a329e91e1b31ebcd8d33f4fbc566a8040bf141d57fc5903a6fae95b07b3a5c3c3b51d631a0286799eb5c15ff7b5ba7fefe5f50fed5dffbe738f7817fd960ef6c983e3833b479dbb86ceda863e4970b276cac6bb1868f0404d6c51f9e8e95d2af50ddd44bad80cc5d29b95a54f2a90e17219ee26959e18e8425d6de555c3f469e659ac3e4d26865af5c4b40e34867095a779d43e7469a60fbc056be5f7891d6f870903b76bd52ed51eb31ed0ec137a51f5f99c0cdcb0a929f7cedc769a64eff92e66198b7af47ea706b117ff922ed766cf5cc84b0dcd9e7d9a7ce679718b175585e72cf2969ffea28c3f6757ffa54e7ccef50b34ccb34a8a4ab3dac4a6d15f8e6b9af9a46998db624f4dd814cdc5f3a2378cb9cdc544bbf0d317554f167fce9637870bffe0fbba2d1001ebcba86f38c6f0be562dd77dad3a2bced5706e20d79ad263eaefe7d556e33dd78ab27d19b0c3c25ef6b41fd99beecf0c9665cf212ff9f9ca3adcdbed0abc94cf5e3af2bdf27683e895770fe5bd489806b91730dd4abc7eb868f09a2b2a4f371ac334792e97a9303e9c403a7c51fa69e2f5c9f214086894a6aa874083f3a1194f49a63c7a9a79028f36afbea03f3d7e75c25af500d5f698ea9d17548f92070d9e61fd595b827cf0dad762adbc11b575b37d76d49202ded39214d931fad44591f4decdf2d98b830d2309b4d6aab26d21013b719bf1f83669c3694e6cb677dd9289351b8ecfede299793e0b5c2c66f8cc357cfa6775e6aa4e1a6d986c9e8066f68c6d98cfc9a7ac9f26c183cb8dcf6203fa6a00aa47af198a8d4c83ccede269b6169f6cb10d09f25c2ecc79eccf1dd734c287c5ce1fd032cf136ef89c67fa6944698f36579fa6ca7bc1c2f3cf4738c13c81b2d45f620de3932db6e1e953a0fe3cf6e78e6b1a3ec3e5ca5322cd6cb6f9347cce33fd34053eda5c7de619d05703503d7acd5078641a6459ea91f1017d7cb2c536349be7722d767c20be287d7ae0c4e5ca5322cdaca1d6fa340c9f7ccafa69123cb8dcf82c36a05ffdd5a3d7f062f5e1f2e676f19c4f3c3da015dbf0f499bebca77f5367ae69c886c9e6ff98ea2d592bc7659fd2b70dd99b5a907e3bc091e2db978116a1bdde066777dbde4779e2f64181804629d61e07f3d1e07c68c69b257beb9f191ce3d60aeea83fe46b75ffecc54feab6bd94cf5e7c3ae12a7519bb74bdc3e164b51618580fe3236930e9f12e66affe9b32c46702e345196a7c305a78b904ce9fa64b0533cc9fe7192b842d26cda3fd2b7f7cf5989d262c8afeacf3d494374f8662abe1d484cdbead6bd5df5076ecf6066ba577c85aebdf7a1ab64d02b6cf5af8b637bb77a9a7249bf216a4c7cb22e441fad8e6d330b7d37378e0549e3587f5cbb5104094beec271fd3ec937de9ce3af389cf4aff646cb38b6d58e0f4b760f5afb642f07308ac4f70998dccdf14b7c9c2fae53a630b29fbc9c734fb649fff8e773ef159e99f8c6d76b1cbbbd827c1ea5f6dc9f07308ac9f0f069eece4b96d18d62fd742e650f6938fc9ffc93eff1d6f9a72854fb75b07b38b9d324fc327c1ea5f6dc9f07308ac9f4f9e939dfc597358bf5c0b9943d94f3e86e734175cba1d6fb3e50a9f6e97d8a6163b659e655cc8c0ea5f6de9f17308ac9f619e939dfc597358bf5c0b9943d94f3e66754e39a6743bdef872854fb745cd0758ec9479a659c8c0ea5f6de9f17308ac4f60cfed3981b28dc93b6ba66c49f6acfb3383f5b12c5b2bf8a53d5f75ecf7feb202ef7a84bacc7de0e1e5f26e587fb92320776d871bea6f9b9318a93f8167d048a0a9b36fcadf1cfbec673feba477237047a877747ba647ba1ebc30e811364cd0908ca7fbcbf48666e9f57060ce17fd4c88cf76eaf10d139c9e313c096e0b335b6dab1f405612305bc0301f205ca2273529a7078a5a1919de96543dd31b0afc1aad9573a64390a2efb700decd529b0d4052827824ec24f17334e55dbd34482148cdcb18b2effeeeef8e3c37a1f07a21a766fc48828b2686f2968ff437c7bef9539f32eb6f8ef5c7c7267ed2ff922bffcca7dfb05921f38c49099ffc899b2ad764c0c56a3ed3c79c56638acd3341868b05c2fac9061e27dfe1d32cd199e5d6a4d8f5abe40c6fb629b8bc40ce81f10bc468d3841fb9fb5a5d7f582dcb7dad2eeb709e4b27ee5c3acfc3fb7975aecf893f5a6bb5bf39e6ff7bb125795cb16f3a1c2f5af4eda140cda17986f18d173bd7bef732cdf6c13de89ba2bcdda0f9b447bfcc67860e7fcf6c86da877cadee7f73ac1fd3a57f299fbdb88c1df93ee580bbc8f11aece1f5b234aef069ccc2181a7a9fba38fb01c33e812916e38e10bfd8ee2f6235536a0853ae1e4cfec59ec5e03910d097ab2cf99717ae1e4a1a24bd7efec92eb5d1f4c8deacbe5cd570c6960bafc16779c5563f4cf0215f2b1b83b572145ea89c6be58bfb5b87408f0b676f7799066f5369f6c2d3e06bd30f8c07a66c16c37338419adb3e656e7a35842957cf66816cd76356ff64cb926c9a53696afea7db62cb756ae673894da9afcd6d603c90ff09ceaae2d3dcf6f7b5baafd54eaacb8974193a91ee6b755fab9d0397fbd8ce96dd70bec2b5b2135df6e5f626b67655cd967a7f6668912dc565ad302fe1f9ea3cc7ee782bf0523e7bf9899ff809f7238fad6e071eaf3be3ad822132d043f92e86f145d55316de65b31ebf4058a3dfac29d885371e9e0fd230fdc99f98267f3ec380faf54fc62213ecb81297b7a9698096224d9ef0c417fd3c2ffcc5a7f0cb3a08f96aad551facb7b6c3f615fe7abcdeab1419011fbce85588d7abcd9fc6877bd3cbd09fa7c47fd7777dd7b62e8170e127e073d16026bee80db533dc700ef3d9472ee7fff772063eb8bc7e77bfa8c58e7f945c3f01a8b6e7342b2c410e3b9cdbd8537feb89e9d0061a3ee7335940af2dc5099ef42138f9e9e7b3d99427ff01f0e91f66d2a13de97fea292f9a62a769f6a29979d576384b9ae7fbf4b9f82f6fcee7ec933594ab7ade0f3efdc3d5f95ceca9bfd5143b0dd052dcd673e69a5eb8b6e1099ef42138f9e9e7b3d99427ff01f0e91f66d2a13de97fea292f9a62a769f6a29979d576384b9ae7fbf4b9f82f6fcee7ec933594ab7ade0f3efdc3d5f95ceca9bfd5143b0dd052dcd673e69a5eb8b6e1099ef42138f9cf7ffef3c26df46bed62f5bdb011e29705c2b6b03e7b410ac1b7f7e1f78c31ccf9fecc607d5ae1f67d8bb66792137fc8d7ca4fdf77a23ca8f8b9ffc22ffc82bea66c40efa4fabeeffb3eafb47d4af3933ff9937fec8ffd31c74bafbfb47e27c554c0ec6401fd6d9325f255e2c7e1703510ac9e98fa91c057b7bd94cf5ef62ebb9f9615f45cae014e65a053dc29b2a76afa09bcf3218a8658a369aa4f27609781d8e9c5d2c74f23175e787cf5208b1d9f7fb7a434b08cfc01b161810d2f9edcced84aeab8f0aaa2a7c11bae066e1d23a0c5d3bc656be5c549ebecba85f556c66aec783b7c97dcb9c1c0b566f5ee11bb2c4d61f431a772f8326b98553e1be6d3d4f04c62aa0dee1dc1626ffb4c4e1eb3d8f13186da391b53c637f7453d195b0d5fa3b55ac6cb3aa8bcbce7115d3497239a7e3c30ff0ce7060ca78f59ace173f8be56f7b5ba9f574f5e1dc80b6ff812d6eaf1b81f1e423c74da6ddda9ec47e75fc2dc9eb57d4a086ce7ba3f33588717f27cd57972ef2f2bf0f0a076a1bef2e13c6ff7f23d49b493e931276ea8bf6d9ea791fa1378a7211268eaec9bdaf75e3a342f003cbb9f18d3506c8fec86b01b842b0473d19b8da729709a537f6a58c9923e9c67a94ffff2b25d9df311184f23633da690ac604cf5146878faa74f33716451cb8bbcc565991e087f5dd6ca0f7d6bd2f75b1cb2f7001c97b7af14e683171ac7a5c73bd35a2b9fba84f564fdda58563e7b7938a4e35d8d704a7baa217c79183d35c389a707c2816dcf86f0f9bd97be00135fde2f1797fa03c456d5197ec19775d8b1009b1a889ce71bea29cbf4d9be419f20e7af109f07c8eafd7ba63cc32ff8b20eab13d8d440e43cdf70ec65993edb37e813e4fc15e2f30059bd7fcf9467f8055fd66175029b1a889ce71b8ebd2cd367fb067d829cbf427c1e20abf7ef99f20cbfe0cb3aac4e60530391f37cc3b19765fa6cdfa04f90f35788cf0364f5fe3d539ee1177c5987d5096c6a20729e6f38f6b24c9fed1bf409721ef6bd17af433ef6b18fd9556d4cf6291b93de730ba53d0b7f62623c526f4fd7b34ab37d9006797f66789b9eafeedf7be992b9f42fe5b3974e6517b6ab1a76c16f21620c7b94efd57c7a640ff4403785f9b85984012d371af8a2799c7f78e912ef9dfee1a2f06a80f5ddc2e03498f2f6ccbd1a789e75e649a3c166010efb54012ed7a3e441b3e382916ab878cad5ca2cb60a3b0a2186670d86f35c9d489873518086bcf0d324e8d869d436fc18f4f032ec2b5c2bef667949b375901196c50da2146d09b0ada886014e06b6a9c49cfd6291270f9f7ac3d3f3a234bcb465c79fd8f0f4192e3ce570b54d73fa9cf8ac139f1ed0ca7e3ae4199fe69c8d317bf19c0fb0367fcca9373c3d0d4f6578264fce4e73fa0c173b4d0e6681696e33c69c7562d203da7c4ebc5c8f92a73fefba78cea7d839c4eb4fbde17bd69c43fd6a333cf1c5679e67d4b0d98bdef0740b9f7562ee6bf5e42addd7eaa59d57de65b307b53fb60feabd6ee9a54bfcd7621fccf3761fc4fb11b427f6b39866fb3b0d526d2a3f9f0154fe563e337c48d6aa1fc7bddf0abc94572f1e4f5d57fd9d6f077f5e9c8666f52e457d7f071d63a8dfe3f262d3149506ce304d6eb08c708d0f50ec3c3102c9dc179a25d0c27a3c9f0a3384f5f4da780e7081faf08e05b370b1b04653dee919e68f29c53c3b347ccd2cc0449f4fb6fa1dd762d3e8a781334c931b5c0186dad774adf637f55512ee58fcd5174ccda39516ee139be109cedff20c9beab12c8d7e26703e31fa1e53e2a79fcf6233bccdc5a1b68cf967652aff34f337cc1958ae705366c773183ef90b1678c696f7d498cd27d93c5739b136139866b3f85bcf348b2ab690db5c666bf3cc5f780ef9a7898cafc7afe6b03ed9780ec3a69ec3670a9af29efae52ac57c5679795740b19bc5df7acebfa8fa42f28f1936d4e679d619cff051f26a111a8e5ccd34b0de94369ef3f0c95ff09982fef6b8f217558a79ae72539b0de7935e7feb4996cf34980c4f7e984c5bc6fccb150f3f4aee6bd532dcd7eae14cb0169d57faf61dbb1e6c3fb20f7a73adf635dd076ff7e8ede92a093feec6f76786affff3959fc8bdddaec04b79f5e246e0e0f52e4bef10785560e8e2f4ce01ec795ac398053078f71198a62bb95b89d86e34c4bdeb908f57e70499e0690cf944e6532e8c905ecda72916195f887e00bf1a90f486800a9b7a90befe1e0b80542720af1e0e84cd6a6ae3d3b173d3d2f0cc418f7c2bd7ca41f904c62200f50ed6e137f469bec791fabe55a9c7ac17b2d9930f9ba5f44e737aca9866c79b3d79b3bffcf8e1cff8cd2ed7194bff1c5fdedbece9cfbe5c17e63c8a334bfc98332abccaa73cfdabe7d27fe0b55aaed6e4be56e7b9b1d5d86a9febbcd9fdd4ced8fd7cc55ef8b9a5b9f89ce7433f9d0bd3597189ba782efb257651d363567fce679f7ef5539e0ee3ab739e67856916b55c67ecaae570e14fcf337b3e675f0d17e6ace4cc123fe68c0ae776663ffd2ffc9965f5f3d951d38fcfe7e270aef3a256c919bb9a2f9e3ba29ccfecf99c7d355c98f328ce2c733ef527ceadbceb1d459a31f3997ec745b9a3363b7ecae7628b4a66df31f4abcb9e196c405e00eb911ac677607a8aa0b93f335813ebf0029faf1cf5bdddaec03bef3fddce7d60c6455b6ce0ec5de1a6306b981337d4df36e72ef2e1b23e800f582381a6cebea97defc5a3b927f25e5a54211cf0fc1adf4b02b70c3cabf401ccad2659fa4c325cec29407633e2731190950bb8f89ce63914abd44d899ae77832fc32ee18916912a4c9791a820fff5a3973b656708710e9ed2b439b8113c381f88e7eef8cd23b5ebf5e3cde9000af59abfdcdb1bd7b4a708b636e79e2f401c55c3478649a40f8fcde8bffef2599d81384d39ffcb22cd702c9b40d03984206e6f0a03ef4e1b34e4cc3729dfd43e4efca5a5dea91b4fa4f10ae9e934fb9fe14c0e7f0be565ba57ecae7e23c2ed5fdbcba9e785bb1fb5a758658907329baa6b64a2ffcbcf2fac76b957ef5c0866ba1ec4af671cbe2d1c59e850990e1e109ec6e64edd180cd8ba0a56e1f84231bea89f76c608ae0053e336c5900ed23b156f7efbdf4c3baf42fe8b31717aa772f3afeee145dba2ee3bd9a4fe322774e6bbddb018872fbd0c369f6b2a14f544e0dc362cb15ee66c1993e9f66f5a6b8c9a52a626defbec0f847ee216fb10bcc27e762f923ab1fd8f18a25d3b3c2f34fa39f06ce3fe5f8b76fadec0ad6c13670aed5f9bd976dae04edbe678fd46c24fa53f9483f746dc9a668c2f5e9f1dac9c4d7e3038b3d678bc5449ec3d5d36c82334be2db9ea6d805ce3c46c8a6c263f23fb314bbbec0d536e50c6318ee78a741d64e26e7187dc3c536ac2f16be1dae9e66139c595e67befe4b53ec02671e236053e131abf9e44f5ce06a5b3d338c11b2e39d06593b1981c8187dc3c536ac2f16be1dae9e66139c595e25bef987a6d805ce3c46c4a6c26356f3c99fb8c0d5b67a66182364c73b0db27632029131fa868b6d585f2c7c3b5c3dcd2638b3bc4a7cf30f4db10b9c798c884d85c7ace6933f7181ab6df5cc3046c88e771a64ed64042263f40d17dbb0be58f876b87a9a4d70667995f8e61f9a621738f318119b0a8f59cd277fe20257dbea99618c901def34c8dac90844c6e81b2ed6b0bf2e63cf6daf2f11ecb703dad9b72fb7772730757f66d85a795679bbd7aa23bdf7971578299fbd7ce6339f71efe8f1dd65ef46a077c6f7681e6e69680002778d8b7e51e3b79a59cd27937c90c02597bcf337fb1c2e369f34a727bcd6d56b586df18577d783abbfa9918661208d44f08eb1a84bfd99749804ab7f5916359f42f45fc5b5eaefe257bf8f564ad1872a3e7b3184e35fef2c0f1b9b021afa0446aca67e3b4a6b787ef6922131b0bd27b20de9c431b7fc34c0ac80530ffbecc5472ef8fee397a24e3d866c7c384153ef1f9f3eb3153ebe2cfae73c3725e40c4cff9eb52deafdfb97e5b6bf949a33b21aaaf33debc964b1859fc7924f7c78fe86b5f77f2ca7fe3d6babaa276be373869fca27f1ab425fff58e79989d9963790781ac3f7c4a74ffaacc6e71919be786e2a7e81e7cfe2b975aef8f5efd37ffa658c29fc528fe1595298fec95c6fe64f9fd95e5267fb9c8fd9a656f9a97fcfda16f5fefd2befb62fefa51ec3f318dfb39e4caaea824f9fd95646caf5efff580a49ff9eb555d593b59df5846fd7e764ce52fbe5318ce7015f80b155496127f2fe1ae04d463c6018b69df9ff5e6c58487b5658387efb7e9fd820dbd7b647f730b0ec40fb1db0583899d830b0c091a6c2d37c849e19f6acb283ed70e2c33b64c3dad777adfcf4efffdfcbeb1fc53bffbe94cf5efcf83b68e7e53efd70d13a6577a6768370596a5ecdbb71386509e8f5c862bb1d9c3e9cc562e845c18f1e0fd7bf40a4e1998ba64f36f2a7a1a401f094f130b2f0f80ea158d894da128892f78c4d60967ec768188fe9a062f20cf329d1798c67fd66691c458729f623b1567e87d801aad90b1bf5d7b7e6ad49076e63e8f0dbd8da78308016b8f486a2ec3af139dcfa5c1c4e7d381fbdb65c7c86e790c0f0b95c8f1eefe193dba5ce9cd5b3d9b2e89baadfec438e7757dbf0a29f0690f13cf618bdb6a8fcc79c7a78473d3e25fed6a129fca23091eb1f8977b2dffa544f0e67145e0d9b2d8b7e9aa6e26fb324bbe8170bc8b8637caefe522cead4c38b1a9f12bfbc7368ca705198c8f58fc47dad5e2dcb7dadeee755978f7ed7c8d6c475f4866b90be9db4bdb8282f4590f6a973cfbd3f33bce4e7ab6eb9f7feb2022fe5d54b7f61a387d7b08ba11b448fecd6657f85c3ad04d6bb7db86bc41ba6a1afe13920f5b7b15d6c39b4e870fafc91ccb534f3a74196ab1ad24b7ac92550dec466e13418580199c33c4de5565e43e1e1fce931613cc18eebed58abfea28b43b337c0bd5639d7aa8f6bda8ac87a8003f680026bbd43d6ecf9c14e189fbecd2cfd63dcab58ff9cb14d9d3e9862f5f1a766fe91fa9853132ecbf84b3dabe13697a9e5ad8633b6c034f8a622e5321c36e46318731e63189f3e93f4153c7cc6362596be16c61be6390d30ffc831a7265c96f1dc8681d5107fe632b5bcf1676c8169f04d45b2351c36e4631893e763c4abe3c2a7cf24bdbe96fe8c1d9f899ea6d8f0ebd077feca163e87a6ca389fe94fcd3ccd5e6ab8cd25300d7135a42936db34f8a696cb7078fa983c1f23ee6b656deee7d5bbfe425d2789be73f543785ed9737df0a257a15dc936b4cf4fecc8f767863d8738b77b3ed1bfa8e7ab87abfade6e56e0a5bc7ae961bd07568be0ecf7a9451780e757588fc7ec9384784a170f2c16d0dc50e0539f8f290e66e50278ea233309376b8ac3f9a9c86a33d5272169f28139c3ac602d9e1b667a1a53ea2917be7434ab19939e66b1abadfaf5ab8746aeb766adfa6b6356a9d72a368c8eddf75e76c8ed70343d12056e7b3b2241bdd95aefb4e5d07b69f8694e3eacaf9101999cce9173c873cadbd87ce8b39af2f487cfda86c717b5d8dc56c3929e9e23cfd8e162e720509377cc6a18536cfc7c006d1a26e17a5363f2d74706c26322c502e1c0059fb50dd35c6a2b36b7eac967e94e705672c1c5ce215bb9c6ac8631395cea416ad3f009d79b1a039cb1868fa10f82644058ec70207ef8ac6dd8ece93fcfdcaa279f4d9d20fc645fec1c2a43ae31ab614c3e977a90da347cc2f5a6c60067ace163e87dad5eadde7dad3a257662bce1bca2d1da7301bf1da06f3ff2090c10be3f33588196626bd5f34fa4479487957a7c007b2bd7eae12cb9b79b157878fcba21bf52629e81b3df7d1f59c3bc860fbf83d13070e99d9d98c7b3f41de0228fdcd59ee094f99b633ff1133f41d0a9ef6583d31d769ccef540586f2816f0bcae3f711ae17b944fc6e4e2892f1730bc4498427a99a19834729d853d443efa042af5ac07ae926aae60e294f50d9ff459de29c9f2af0cfce5b87608a6f2bcd4833ccbf85aaf55af402ac659547900c694dae0de9af5d307bef4a52fd1843beb3a467fb0b295547fdf7b01349a271f68361bb8681678caa60112e8c30dfbbacb43f1bffaabdffca94f4d3f99a970607826f98c074e7ce68d7f9c7fd7314e53f6f517e564cff9c4b77a8b0de4390cdccaa6792e91a8696e719eb7fc99e80d9a0227d8306679575bcc7ab2533919327cce3e485f1fcb397bf2c3c07908f062030986cf61e2a64efc06cdea798326c309368ce1b0224f267efe342773869c51b0762a0dcf63397153678ac50616fb9ce6d4df869cb9e0999cb617cdc564c3423aae91799ebd29edc29462d9379b38cf73f6e487671b33cf8104fa8b55fe455df019924fe15558c81b348927d83066b9aa27cfb3273b959321c3e7ec83f4eb745ef5bd97b66f7be5b77eebb7fa26a70a35a477d3f40df5b62a5fd4f4b18c7dcd16a6e6bef762b3060cdb078b7d38a4d74f02973dfa853f3358d256e671851e9ed302560ffe70ae9533e1febd977e4c67ff523e7bd9a70dee1170a7a9f3d569e17c05f4b059d8ed8006a359ac305ea3310bc487f36c5985e4532c2c17bddebb0505a6112b444f0320dd566040e3395e94d8dbdac4e2f3170b0b64552efa4a9a8f61959095b7d878531a9fb775adbcb3b5b5825b2b2f725adbd6aabeed76db21f2820d2fcca969f6ec9bad8f3ff1c9e06b48a03e7032b05daadeabf74d052e0e294d35bb1e10bb2c0fd38f0d83bff5c7a4bff8e790fe16e779ce9e9a57298f7f9aad8f3ef1c99ccae189c708b93d96f990dd2a370b340bdcd7ea71a95e9d9316a455bdaf9575706e9ca74a0b753faf6e57e0be56e79a749eb41ddbafbbc3d8afed4a7abb55dfd524a3c1dc9f195a076bd5f6dd2a796ee99907782bd7aaf3e4de5f56e0a57cf6f2d9cf7ed67db3db8413fd5c85480c1ede3b13ae845e0060ba548002e773ea4d15323da690f1174d4afd6dae62f180566d6e5e157f314ca0c713ac1f5fc10d8b85575b9ea7c6ec8e115e3b35709597f1ebb256bd05a53c95f85ca53afbd4a53f47e69102af361fbc84690860ebe0adac56c3672f6d0cf68feff99eefc9a787b36140143270e10d9b8abf680a5cbf58cc02cfffef659fbd9ce99eac67e1b35a968b3e41fa5b7c494436c3706ef33cf5b79e0b994f9a0d0b37ac5deab9e4a2b9e4c5ac3c60fa0b9f79b9a6bf68167ba961b1b7fc1b0c33bf789e7a8266e7bf90c085372c3cfea2398ffdb93a1772567596f4643dcb9bed25f63657fa5bfe92e82c267c3a5f92de7a2e24a0d76e53c4eb2ff55c7215bb032c6a4360fa59c5a4bccdfb646ce499eb39fc06c30a583d4b14afd79eacedf44ca33fc31f221fdba5ce4b2e92f9e789990f30fd857ff47ee267f464eca586c5def2d53093336978f5dc6a089a9dff420217deb074f1170dff4baef467de859c4af8177ff117ed3b1ffbd8c7eca17628bb18b2defe65db0a7b46b755c1b6a73e7bd1b77f718e07c2c4619ee726de4e476c16d6b7efc3ede0f5e3cfbdbe58530b2ff6d4983dd319d64e0dcc6119bf2ecf0c6aa8b02a093b9cb3f88e77074bd3f1aef2dfe5b5baff7f2ffd982efd4bf9ecc5a9e9ccf3a9820b06b00a7aad53d6053fde3bf1cd62e83b8331e727307d3a211cbf4f3fba2adc8c00516908e23180d6cd05a07c2e97a9f42e926ae38381ab79f500eac4338435828ea5ebed21e5632e53f847c9c3073e009eb87a00242c2a5efdf9e459de34e39fabffc3bc56760507d83a38decb5a996dead2db8a6a78a0beade896bf65e87b5fed8c2d45e2f191e9e73f65cc86c034a7c373b9a63f7d6e1db222aeb6331d86fe3295607d5199acbfcd32936962f4cfd53fe7c0a99f3f323e6643609a33e373b9a63f7d6e1db22ae38963e82f538667eb40ce7ae0db2c429e54e29fab7ffa400ee9e76fa82de386c03466d3e89fcb357d518663ceec59991a19ae177b99323c5b5199ac7fb2ce2795ac9eab7ffa0065fef4f3af12fc798cc9a669b8d8f91495833efde973eb90490e278ea1bf4c199e4d480d09d4df6689bf55e2ef6bf56a055fafded762adda6eecaab6a4fb33430f1e9e34eecf5716c1f9b6e72bf8de6e57e0a5bc7a716bf09ceaaf6ff5e06e213ca6630c013ca6210c2085c4f764bfd87c088408c71320e7096016cb873893799ef5149b8f588dbedb593ed53ccfd51c5f0d0c179b201f58eb88304cc2c8f4d529233e7cd6364fb342c8d2348473db717598f8fcf314c50783af00c332023b2e800f3e93799ef53014920fa0d17f596be5f7471916eb43980e2a1f9fe4b467efe1001f4edf5768626e719ae9813497d8f13d555c340bc727386bc0a40728b534403c407ff13c7d0ad44f73e2f9ace60c5743c391e34b71f2b7f534bbbc8b0d9cfc628584f3bf68960e9fe0f4dc7101945a1a60fef417cfd3a740fd34279e0f937c30e1c0d99f7c29262e561ff35c6dd303abe78c1d9fff45b3707c826504765c00a5960678ae9e8b4f81f3393d4bf45c3d52ac92b0e1989511a9bfada7a8d37f3ec0c92f767cfe17cdc2f109560fb0630428b534c0fc5727103e7d0ad42fef89e7b3584c3870f6275f8a89cbab8f79aeb6e981d573c68ecfffa259383ec132023b2e80524b033c57cfc5a7c0f99c9e257aae1e295649d870ccca88d4dfd653d4e93f1fe0e4173b3eff8b66e1f804b61b7b509b9a5dcfdea412efa9d9a1f05fd37dd01eba7dd01e7aee83b0d6ceae1e6584912d9758a01d3c7ceed1699a1502a4616208e72624bec384f3370b8be293be029611c02c960f7126f33ceb6128849e06d0e8bfac6706b10c17db41e5036b1d11a652f923d35727a6e3429eb5a5695608909ed8109e73ca7b7faec04b79f5e255ac93a6d3d7dda157f99d61480df68adfd9d3ead0d324a347c2ce2498f271e6d5a728a64489e58f3724c084178b0f0394fcf32916c66bd5392ca3daf478244f7a3e48c3f186a6d24c0f68e9f9c342c4ca9ebf9af37f143ecc02f9bc956bd55f74e918c356a3356c056c18ad4c5b8b7efbcd18e0c47b77566053cd6e18980ffd64f3497386c09a289afa93816f63d3f7eaeb1265aa3a3399265e3f7db6278fb9e831daaa82e70084eb1f85af66e16a987eb31307beacb5ca4de07dad5acfad6a2bb37efc7dad9c87adc6d664abb45331e6be56f7b5dab9b1b3652749e02bb95f71e839a16786eeb43d27c4ef7701eecf0c56e05cabf0b956614bfaf6ad9583bab7db1578f55ec8edc457c2ecd6bf2b9f5bb8ebb31b41fd797f841b062ebdf315a33f41ef976380c7997775e9fdcd31df7b817b91e081ded3aa923cb93ad101317a188f0ceb0d89037a6db1f118b1dd7a1ee7df09c1677ef12cc4d4040bac9e8ac9b33a09a44b7f4655dec997abd85379e20a38fd3b161ae4720d57c38773adfade4bc772f9de8bf7b71cd1dee532ebc509bd95d7e31d97df1eb63d3834d8e9a1f7f7947ff0077f701b92d5e8bcede1d8b0a9c886cfe1dbd833fcd6a7efbde0816ff9f4a797579466b89081a61a4e3365b3f30920e92f38e6499fdc6ef5335f54059cfe4d5d620b2ce3f06d6c3ef1cff92c7529cee14206ce5cb3ede89a8ad40b7943cdcd667bf1c9ed127b513e972bd925367119874baa7f927fce27fe8ccdb09ae36f634fcd9423814b0d97fa9b3d538fc9ed563ff3456192155bd2910d2f3ec878fd25f6e44b711bbbd48b7db0bb5f83af17d3525c7e162d4ebc5eb3745bde81a6cee5cd674c81faf8e92f3fa34b54b92efd193bff55d56cb6cb952cf2cd3598bdc4a68f7fcee72c23fddffa5b7febdbbeeddb60ffdfcb1e3cc8da9500bb955eb33dc17a7bd672f5ee5b3cb27d700ff1f767062b63596a36f78feef3d5fd7b2faf7f8ceffaf7a57cf6b2c7f7bdead8ab7653e7ef59c2ee0248eb74de08e06e07fa78d743b1ae8af41851e19efe0dcde669b696bf7e9f96e0e72984be3acb154e5f2c8d58bcc0d3e78c85cdd6bb8c6185d5f35715ac27c06bc08eb1cbbebcf193898573eeb8168bd756333e8c3cf3a6cf21ec101e437f37d66a9fbac8a8fe7dde523d485b859de96c48c32a8c8f49a92f6a82664f65cca5379c43fe4f66b98dc2d41675c9659323889c2666d5e2c3f8e9c35575e14ffd3c531aae95451fc0075296b13e7eb2294f7e18980365f83d6309d6e60f0c9bddb15f78c3553b7ceac3ab643ef8530f8f81cf16af0f980aec480dab217eb2294f7e189803e52a5cea294f1fe4daf842f0313bc60b6f589dcb9bd5f486f02a39f9c52e4b4c29d66f36800f9c19ab61cadbd8454d03ccc1ec2a7c73aca8b57916828fd9315e78c3ea5cdeaca637bcaf556bf812d6aa7dffb20f7a89e27d34dba25da9d6be7feef5f8fb33838be5853c5f7597b8f7e70a3cbc8e7f09adc7f71ef7f5ce78fd0edcef17ba7d20dd1d60f705c06cbf83684a781abc163f7db71e51f30c1778fa884d630ad002f594d5b95c04e5ca303d99e16d0dab27819e5eafe52f0aaefeb074daa3e4a1e359a2b3ff30af954f54b6565e879c6b65e8a8ed7f8e050f3810ef69f9dd629fbdd81eac039ca09f4b6bd296a96f59f6e94dcf1c5bab3d7c4c9f80fea2b9f8d0a72970fe6467ecf864993c990b69b6ec09cedae6696a9e04f1a79e499a72e9a70f27d097ab61b9606dfa09e2d35cfaf409f44ffaac9eea9cfff8c24f7ea90ba95f2ec372e99b3aabe293a1a97912c49ffac2a7379c3e9c407f5b0f529b7e82f8b39ee1f409f4f10de753cdc8eabce56ff54b5d483d99d87cf4699a5a3d8669922d17c162618d721aa036bde1f4307d82d2159b263c41b2fc2f7dfa04fa661b2e2fb7e525b8e56ff56491ab2d663ee5d227286f7d9aa696cbd46261ad635c6da59bde707a983ec1eab9e82788cfffd29bcaf3d45c7c564f8956cff85bfd52afb698dbfa139c55ad9efcf5fc09160b6bf1692a40bfdac2fa85a7315ceca94726a84f73e9d34ff6a4cfea29d1ea195ff87843fb946dda2e6cf7f1ffbd78e1da8e6c6f92c21666b7220803fd1f2f80a9fe9b177a2f63b60f22cf7d30a544ed83c09e13380c27d0d3eb35b3707be2dbf4ccd03a38ba36fd8fca5af543b9f7e70abcf3a475b26f1fee930aa7ac43eb138fe18053d93bf15dea7ab7034c537dda00779b70c1bb0034029861b1403cff787a582f56e3831f065ae7346231fa624da9c110c00fafcef486dd6e64a94ebc465f60b164c83cf59a2cf3347c0c7a1068ea691dc2fa4ac5075683e14774adbcb3e5b8ac40ad63ece8609bcd7a201c79c1cfbd4b8a3ff5e74698c3d96f2314b228825383e71949bfbc8f11afaa0dcfe15653f86dc8f82ac901c65f6a6b2a8761b2f07c364c19bf7a0c3b9664f0a92fe39977fe6427bfa8e54d89cfdf907e79f1da341b626e35486d9a40e1f1551203232fb53575068e79b07e6ccddee2d563aa6329160ee081329e79e3cfd9f0a20c63eaf1f91bf2595ebc36cd86985b0d529b2650787c15c6c0c8b3e6270313cfe4f4bfe0d583ef588a82170e94f1cc9b4ffdc92fca54b3f5f8fc0de99717af4db321e65683d4a609141e5f253130f2525b5367e09807ebc7d6ec2d5e3da63a9662e1001e28e39937fe9c0d2fca30a61e9fbf219fe5c56bd36c88b9d520b5690285c757610c8c3c6b7e3230f14c4eff0b5e3df88ea52878e14019cfbcf9d49ffca24c35abb701d97cfdc9fef67d2f6cfc76c09e19ec53f767869e37ac554f299e435aab97f37cf570badcdbcd0abc94cf5e7a85edf09df71eb85d0680be772c7a0adfcb00b27897471a7d4b870f278669d2eb0df38779baead277b1e5899c1e08f7dccc4a833580deecf06d0d663b16408af485541eacad86d5539df1f9d33f647d7c3366b11d4b623d7d1a82348acc1f0fa7d13fa67d95174e8c9f1e69f895af95f7a54aad367bc3f059c3be0fa38cb00f5efad4a510b15646abbc8ad7f70e595bceb0dda80d69fc456f68eaa2478a9a670e69a607b464613d8dfecc351c4873e233363e4f5883370c230b593d86a64e3e01a67a1a5e34663553f9c0f31f5fe03480a98b1e29709ab2acb6e927cb3cbdfecc357c6a4e4c5f9b7fa969b4ea2718062e7ac32a1c1fa0e419bed598d5f097633ff9c5ae36b3177dcef3b9afd57dadeee79573a06ba7eb65d7d1e53a3dafb570d7fbc92ff66b775e49d13e68f7f1bac88e666ff29206690a46da9bd4669fd257527b312caac0ed7d34c3e73e386c1f0c4bc12743216dd3f3a721909a066e18ce9f1ed0aabfc070627d75d2106b15ac8f57791afd99174e8ca749af375c2e9eab0d9926727a208c071e56eaa3f97ce57b2f8f8772efdeb502efecafefa2dfba81d357eb0915707c704709f8d422d2e5e1957dbc133ddc35e3868287f561c0658371a5e9b502033ce3696059f0252d4ac69852f71ecc628104fb448579ef3a98e270d6505e7a8da62c64708604f900aa125b3df1a272a8ce479b17b156dee5da5a79f76b4b6a036b41ec04e1f59bba305316584f3359efdee129c39b429e78b17936756a96ebc928e4c9371cb3e118ceb7f554c32a215efde1c25715705bd545631833e56d960c978bf2b6b64cea7380f31c39cd728d59524cada4f527f37afee1df696eeb99e11c56bf40b8f03900b7555d34863153de66c970b9286f6bcba43e0738cf91d32cd79825c5d44a5a7f32afe71ffe9de6b69e19ce61f50b840b9f03705bd545631833e56d960c978bf2b6b64cea7380f31c39cd728d59524cada4f527f37afee1df696eeb99e11c56bf40b8f03900b7555d34863153de66c970b9286f6bcba43e0738cf91d32cd79825c5d44a5a7f32afe71ffe9de6b69e19ce61f50b840b9f03705bd545631833e56d960c978bf2b6b64cea73802f9e6dd3f65fbf48661b3abff7727f66b83f5f9d27de1d6f055ecaab17b700adcb2000f72a42ef9d002bd2437cd8dd4483cd6a42e25b38788ff87c9034fa13d370882fb68c69f49591a1574a340f995ebf8b10af2f5753f0a2f294a2bc1c80ea64ae3c2179a6193615a64f230ad6f234d498080cc0941d4e9ab760ad7a97abafc7383a7ff5c59ed13af4ee9d3d46db3b79a69ec3db8a008d52e0f417fc66cfc462f3012e78ef02e2ab27e56d5fe073353fe793be3278665b2ef8722cab01afbd2117656d260fd65ff15a49ca369ff9bfcaf4fa938d86d596f2b6cfe40df59788ecf409af86958187e34fcdb0a9f059db2d9e09a0117c604f81c5e653ae13ab2781a96a6bf6b62740bea1fe277dd2af86a5c6c3f1a766d854b89a9fc3330134e20fec29b0d87cca7b62352430553dcddef604c8e76a7ece27fd6a586a3c1c7f6a864d85abf9393c134023fec09e028bcda7bc2756430253d5d3ec6d4f807caee6e77cd2af86a5c6c3f1a766d854b89a9fc3330134e20fec29b0d87cca6b03026c40fa3e75691b8231edbcfa70db31acdd9f197a20b1143d93bcc56bf5f803bf77d7157829af5e7a5bdd33b7531c76de6b16037617089fb786f40448ef888812db2b849ee361532da7291a7ccff4784013854f63d62721cb2563372c3dbd217db96816cbc1543c9ff8986c775ca6ce1a96572ccdea4fcf419661b36acb503f4f3c4cacc5af7eb666cf1ae0ea5c2e8ca3132bca54e24b9d788c266a357f8dd6aabf9d5f3abf4f6c93e87db2e5f57a4691b6167b4cbde12dde3b6dcd9e9a87dde9f57b8473c853af353bbc5c27134e3cb70930a7335e3d634eff8bc3729d0ef39fc3122d7c9a9804e1d3f36486ef6bd5726dcdb7ce63ee6bd50ab4505b8ddbf5d979680defe755cbb555ba9f579d3916440bafff30af95fd4879ed83ce6a2f66fa4e26d23ed87760da7ff598787a43b180fdebfeccf0357a66d8b390a5b6ceb2f4f3da3383f5a7d9334ffa9e7986cd7e559eaf3a8deffd56e0d59b131b7f5540b70f56b7f791769d871bcceb86790d1f3ee16d18b8f4ce1b8cfe049e382381a6cebea9febf17f7f71d1d4d17fc1ec79d61cd9a02f07a67613cd2698ae9341d4e509fc6f95d6c6efa933f7d44999dfe92abbc4802b2ea7c123fe78f2f505faef3181d42c762365cae30728d8fecf5b73e645fc7b5f2435fc1bed3d2fa78174d9dbd8305c73bc7e0f4a686f1a2e8f968760effdf8b83dad942d030708b316b343d46ec61e2d6873859a058b2febf17c37ff7abbffacd9ffad4c5073fab429eabc739ffc52f7ed1edd581ffdedffb7bfd1d9b8f7ffce340fa4c9e8b7dfffce9b3c20ab7c86edc16d94e6ceaf4acf2d5dfec34179f86c2070a9cde307cf6d304eacf1a9ec394975cef9977b99ef38c3f7dc2e5d257f9933e91f515b6bec04d6d98c0b0bcf1175cc64bdeacea2ffac85bfd251701e5fb897db3e6f409cff652c3e95391f515b61e79eb93e7992bd9e939874bdeb2d45ff491b7faaccca67fcfbc4ffadce63a7dc2678a5bbdd9c94a5161eb4f41e14b3150a0e1c53fe6c2275eaee762c7031513d0bf67dec55eeab9f0a74ff84cf15c6c26f515b61e79eb93e7992bd9c59f201fffdf8bfbe4c73ef6317bb16dc8ae644aebb905636f85dd519134eeab00beddcdb03d9dc6e6154612c87b7f66b008ad21608b6f7d7a5e0a233f126b75ffff5efc046fdb4bf9eca523ef15708faab00b1edf790cf4b8efb12f9ecc8d201203a739b1d85d15f1dd32905ab118b179864535354fce4fe6a2ac1efa30876151b2e40c6bab2d5e6c89c42e1706efa26d2a2c1603533e3abdfacb6cf9bc956bd543b683ed18dd205a10db439b8dbe4603ac6f7d3094619bc766c3869bbdc4e619b9a88ba61a4e87983336a602a6ff27ffe49ffcb5bff6d77efee77ffeeffffdbfff8ffed13ffa07ffe01f7cee739ffb999ff9992f7ce10b8e6e59d23b253a43f0739826e7f5270f375c0d31916af8d99ffdd97ff80fffe1194bd9f0abbb5632aef2fcc79c25ad4e9ae9abb6de39e085abcba721d966178b39634fbed4eb179b4fc3538f893cfbc23194e10fe75aade640c7587f1e63f8eca7ece8eae7d66cc3d3071379f68ba50cdfd7ea719dee6bd5e9f0cef5fb213faffc46c09e19dc903b8defcf0c7e6a362c4f23eecc3d93f46cb3b5c2b75fbf84b57a754edfff79f70abc94bf39e65cf7f6b3df8f047a39ee92e8ecef226959601abd860917b2c77a7c384d3e2e21404bec4a8313e8f31168369c609af19571d11728040f03d2c1a2d2f319084b9a9e0670c8a73e4c59de624fcfe93f8a6be5338773ad7c02e078915ba2b6797c9f48106bbef7d28b5bb3de03d3a70ff73805471ac69c1af8e4397ce36fff8bbff9b9cfffd36ff8f87ff383dff52d8f9ed9e6399c897efe593d38bc6e89c703987c867fedd77eed977ee9970cbffddbbffd0ffec13fe800fd7cffc563fbe55ffe657f96e0fbbffffbf329f6f39ffffc3fffe7fffc7bbff77b3ff1894f88aacdd350f2c8aa800bbfd41f69f6125b78b1b79a93379bb814b7fecb5b3d8634ab476c0ea7a7d9f8d3f382a7df527cc7777c078db66339730d5f3486ac22f38489f5b7c7922cbe0a3b16fcea393517be234d503d7a0d73c9756ae034652c5138d930593e850c1792c9a9219b26bec0e1fca731641599677a7d9a529cfa7015c2676ce2c502973a97ab7af4daf4c3791ae61f5fc60cc3c986d3273e7121b7fcf202e903c3f99fc7ce2a32cff4fa34a538f5e12a84cfd8c48b052e752e57f5e8b5e987f334cc3fbe8c1986930da74f7ce2426ef9e505d20786f33f8f9d55649ee9f5694a71eac355089fb189170b5cea5caeead16bd30fe769987f7c1973b0efb84bfb849cd21d3b81edbbbf36866c8f6e43f77fb968f0c997c21e77f209ec6b781838f777ccfd99a1256a7d2cf2877cad547b6f97157875c55ed8b76fe85d0d67679777ef3777be7a607555c30e19bf03873db81b9adda716643de0ce07a391e101bc2889e6933f9e4fb1a60878a6375c2e3c4db715180f978b9e7321ab0733de9458620d169e5e5f31c8403ce7eac1d7cc8ad5f3141e56c30ce93fd26be55dae8edd01fa7d62c7e58dae0e36be8fe3ad405b48cb05db66f6ceaea136cd053f4e3eccd27fe36ffccafff6537ff3ef7ef15fff5f5ffc673bb1d213b481e5839c3f6624809fe7e3ccabeec1fff5237bb13e3bf2086efabbbffbbb7ff8877ff83bbff33b3ff9c94ffed13ffa47e1effbbeefc37ba1e2531180e1b267570a7db3678f5c0d0936bbd840fc9cdfe0993201bc6389d7d796eee2d9f1367b66599daf0d5efd3b7f3ec5ce7f352c97a9f4d39cd99167c6a2d603ab21327d56b778f510d7a6313cf166772c9b054e7c562baae39ddbe9339c43fdfc575b7ce2f92c24fd346776e46dd41c00b1a720fd9c539ece3b96a2a64fb97eb33b9629e71638ab1535fff4a7cf7081f5f3bfafd5d6c79a0cdfd7aaa578c37965896c43761f1bee966bffdf8bdd168e27b055d9a9b72f8b3285bf3f335893b7fbf96ae7c61d9c2bf0525ebdec1d084fedb073bd5580dd11dc085c00b07b81a13e3dd2303d922c5e6c7a6e9ae1ffcfdebf3eedd6e5559d270aa264524a8272d622934366352907b1000fa525a2a8154dd92a6d5774056d952fba827ea1cd1fd1efd008a3bb22fa4557743761452b56698b528a088a20078f90a299c92113e8c444c8e40c8a0afdb9efefdee399b9aebd9f7c844cd8cfb3eff962ee31c71cbf317f6b5e6badb90ed7756fbc5eb6643104f119e64303c4ab898588054e5e6c6345164b53083d4660b1486283e6a3a968d2e3c394c3f9947fbdc44a6361f8a8c990b0584da571f9144b20449d1e599ef448b27881e9ef07f9e59cabfe8a8bc43ce2827d73ec7eb3de63ae30ae45e2072c423d39c3543069ce2776b0de47fc8fbfe9bfffba6f7f778d9fff37defb14b2277079bea07ffce42f59a388deb870e2f904f2d1eb150bec19deeb5ef7bac41bebe33ffee3ddc920dff9ce77aaf1c5c267896fe862f56a0ed75cc8923c79cee559af7a63cd070927130ba751a7a9391c7feacb617c5de9c3d5f309a4173b3e1fe2f43537ae267c899d065f607abce670cdc4e10d31b07cf2513716fd7c90f042e04b3e35d3c3ca455f0ee3b34a1fae2668dc407accf87c883756fa5373892d841e2f70b1f813d74c1cd65b7360f9602a8d45563e05c27a8b6d5c78b185a487958bbec0f159a50f571350beb83f01f1c64aaf7e5aac2e254f818b459eb8e69df4bedc0b1fe6ea85e3ee6537572d9716479f67f739d626372a9627eb296cc16a696e3db5b60a815b7f456dfd6dcd4ddc5a4c43a0a6c1082c1649dcfa9e06a309e3c394c3699ec36b86e6f659982b1fca43b9ccc0f372f7d221eda4e008546a3617764d6f18606487ebe6c841eb90c60b111b8fa457e7e3c9074ca3ee6d46b269389cb1f04e0a709960d2e4593ef04e28611a0c7fb5b14acc59667a3ed220d005e3f58a55d2e0cb071f2e675894585161631558b38dca73fe91d56239138b6a5bf048e3aa91ba9e85b9ea2fbac8c79b16896d5bbcbb30279a2e2fbac2505b0bcffa7c8ad6564f0954eef81ffbf63ff7756f7ee18fb8fddcafbcfb5ac07b969c5f08b9efd54c059c6385d70510e410a9ee299d1bb3399ffa8ffdd88f7563d3d7e7c4fec00ffcc0f77ccff7b44bb8edf195336f66e8c5befbddefd644cebfac7c7c42befffbbf9f6ca34bcc1d91afa57dd3377d93373f6c459de33690bf225054b570e5477ff44719129c7a7c4df5bbdef52e025f78e3697443fb19cf7a29a5fa9ddff99ddffaaddfeafb726f7ffbdb29f59e73f5233ff2231cce6d29dc3ce06d32e777bce31db6b7a9f857ffea5fe10d7497df7d266a1a03bdf5ad6ffd966ff9163f25a2a90b6f2cd8d6896afee5c9b63c93991f3f01f2eba37ff00ffe813f1f22c93ccfba9cd3976158bdb20d0790ab4f1e96d56dc8f4c039d63957d3e430dbf8d3b9aee98161b1ebcd2746dd5c51c69315357d4cbd778e8fb73166f599ff25b6a802ebca73f5c8c065acc88d0b9c633dccd5edf43ecc5533f08bd9af3a6be5b0b5d269fc5c43612b2f4d6bb7930c8c49d3dada190ca6b1aee90dd3608a7db86678f9ce557bc8437dcec0f3f2bb17dbec78eef23adc657d2782eeb077414f602f57d307601a58412a05de624a5d1bcb79846d4f3e3214928faec6c5a729364f389966986d7a7cb1405df953d2e44fa02b3df370faf140b884853416b0fc09600e62c9d2ab318d0567dbb89a8a71910a5229f0165336741ae3360fa73e1f5d6d8b9034c5e60927d3847b6a951eef0b6330d24aa3e969167fbf78515b240a14d5f78f01d7345dd6c04a4f4f87b75cb9a27ec70fbcebe75ff5d11ff7eb3e704f61c97ec50f7ffb9ffb8637ff540177f5bffba10ffac48fb8b7d528fce28f8c9fcf7d0a8f9ec487173b0d6698e6c33eecc330aed75dacfb2363b0b2d88ff9988f71031369ac37bff9cdaec86bbaee576cbe57341857e76f7ad39b3ef1133fd18f67f26722c45d9f9b04a390e1294dec377ff337d3e7a3761b20eaa33ffaa3e1a2accdaeddcdffeffffdbfffb28dee795ce8ffe6dffc9bc7e7a32916765ff196b7bce5b7fed6dfead3ff3b7fe7ef74f9f8199ff11904b09ba5b7bded6d85548be2f6fad7bf5e33cf6d8b0939e7ca9d6adbf2711ff77186d854f8669d622a7ee36ffc8de560b7f9b66ffb363727e740fe46d0effeddbfdb17d0f37403569ec4679ed2f63785669e83adf6a5be37bef18dcd61e472d36cdccd49201eaeb958cd530f27a0cf33c178e08229e779896dd0f4d320c703f30fd71c2ecfc506d4e596f3f211951e03dff248a5d870ca8bbfae62c727d63cf5177fbd09c60317cc87467de6303cfd348d1b5fec891b2e1e6edb171b8857974975b6e9319ab7fc34f9a451d75cce8b1d5f60234e7ff1d79b603c70c18b3dc71a9e9e0f65db02c4177be2868b87d32f3610af2e936a214a7a0c7ccbdf4bdee3334d79f15fecf8021b118ebff82315e4f8138b469df545000040004944415472b669f9f374497152751af164ad3730047a9d6a9cf12c55ba9eb80e12b4f6b59c0d5be3b60eb68612f054e3f536b41a43a02bbd45369c7e3c1016ebc2404863012feb6b069bf98ccf5533ff509f33f0bcdcbd7802e1acd196f724c3feea10f5c462a7034f265c97d0d88f695cda764cc2c80e541afc8e580e1dc67c760a482fc4f18cef20d714bbb1f0c6122b6ae372139b0f6c44510d513e1b4b0ec3791a65fe42f88b5598140b978f58a0b18093ef14b6fc75c134cfec5cd99672b3991689e6cacc9cf3d38d8af5c0f5b7a5c246c19e94c3422c6cb6b1e5ad0d47d228035b78c6fffb77bde97ff88637df5ffeffea3ff2bffe2f3fe503ef42e87fc5bbfee99ffb86ef3c6f5dfed5bb7ed59ffee2dfb2c03bcde34bcc61ccf96477e2479e37faf8646ab1f2ffc88ffc487b8e6df707c7fcf4dc3d861b095b4ad088ab316f78c31b6cac8b72773b9ff0099ff0111ff1113ee5f2992d7d38fff100a5f2755ff7756e4e5efdea57737bcd6b5ec3d07b062f4378a651cbc49f3bb3677ad3623d2e07bccfeb5ffecb7fa9697456cd3fde588d8bd454bc27f1ca82c0df21f091e9a57157e0264dce9ffaa99feace2437af47dc2949a33ba27c3299dbedb63c712a4409e1e0f64c9eeed9dc7218dd2ef45ddff55d3ff8833f68927fcfeff93d76b3fc2f79b6a5dec0b875112b49b1ae3cdc8fb96f7403d39f55e0bfc436624ca35f70dbfec4b97a113de7dba978a2be1cd49573aea62f870cd527ff38eed1ee512f729af0997f789e94d3e71603cf6dfc988b7f7c9ee75898cc5f44df400d91b8fa69634df93057e767f744fc30579b81cd0fc6fae5a40d388959bf9cd39c645a7391d6a9f39ac1698478d70c76cbd6f17eca0f33892473263cd7c1133fcfd70c2fc7eb2bfbc3769e07b019785eee5e1cae0e66c7b6fda08b3cc0118e57c3bac200411ad3e48cd0a1ee2ca3a40174a5119b0629164f9320cfe69a861e0f4c93439ec37a693a49d103d39fb1ccf33f3dcf6d117589d56c2c3ea2c2640aac9e1e60feeccf95656073e5ea70f9dbba2e5c6c17fe7eaafead6b4ab83984895ddcf76686e07c83dfc50a07fe27be9f2a4fe97efeabbfa55b17c4bff9a6b7fff8a77ce2af857ee5bbbeed3d6f5dfefd0ffdc8affceffeeb2ffa8f3ff8ee222fabdc880105a8ab6c614ca43acdc8f2b9ef7ff434f1f4b4387921f08ddff88d6e5cefdfa6bc5db84b6717f76e6c5cfa675848ef615c85bbd320700b91edc6129b12dfb8972e439831aba68b78bb6e7a6f5d8ce82b52b9a975b98ffabefbf2699ff66933719fe3339286b48b2d64632115a46b7d1fa251dc260957dc03b875f139fededffb7b2de718325bf1e11ffee1bec0e6f6c92f7f3c1a88d79595e64063557bfda26b53e176ab71d506ead6e5f33eeff32486b1dbc8d928de1a79d1e48f22e4af5e9e1ea06ae609b89532f96231eef16cb5bb2c9b6fae306d2f9902ab91e1c0896ff5188579fec4e17c74e50fd43530fde91f2e369fcca7292acf61bde1ea869866bd8072f2e1f1c0255673fae1a7e9c76772abc728922c4ffa70e3ea6a2ca0ae81e9f14fcc399fcca729ea92ff9ceb6d8869d60b2827ffc4714f0dabe987ef6d1ef6ab6777bff201b524398ff9f834ad443dfbb087589e9c3f9d317a08e534e82679d709d62fa75f756bf7d6419a731d6cbda3e1d33a181e4fbceb1f095c62f357d373109b80b271a707f83ffbd70c32df5cd9a2e50f6f4e9eb5b9f26501693f94cb0c3c2fbf7bb1d90e7b3730805d13eead48fbaea3ae7971ecd144c6102b98de66c0f830321f00cf247f02874147f2620105e939b45a48984303618c4e0328c86a9ef8b0d8bbbefbdef879d2c3eae559b3d8466c204c3910c0f3d784cb470de7d9362e0756f3a12999180e0a6639e09fb5b9eaf709f25c6ef759df355b2480ae2a00c562a08e7954ffcc77bde9d11cdc097ee45d3f75c7fff03ff973dff0d6e3adcbcfbdeb477ef6bffde3ffbb4f79fc749ee64ef6b8d4acc6d535c12e6e6ef90c0a5c8d94a725f00bbee00bfc59645f7c7257a0d7cd896be56ff8866ff05fbeb8acbfdd96dcf0595d3279a29e92ccb5bbda17ccb6036bd2bbfa77030357885f7bff0703dcbf60da2ea0dfcf74d794e1a380fb7f968c164f7fd3d92dc1481b82f70db16e513657ee43dc27d07b3d4280bf37bb9bdbb3e4595778ca8bbe81bc3949c024bddb30c0f7d6cef9599eba52badd826da9ae18b57738bfeff7fdbe4ffaa44f3a63d70b280da786733b31e62cf7112f69bfca39fd9cb36a4478bd01cc99277c2a4f7df852b7e1e758e1d373bd818b83a6f234bd90f239e7e7c485afa6572ecd9175adcee7d22bb61181ba5663ce3ce15379eac3979afe3296e6c53366b28b83a672e670eae1f269bb2863a6b98f7ea1c2d71555b3bad8b3cef3d24b70cec0c5e1ccf3799e2b8fcf9ae1f39ac1c2ea0d4c0b53d709ade0e19d722db5d6e5d6dc16e26ae15baf1fae199ade57c05cb5210ff566e0d102b9f6fb04384fe51338eb9db3762ec39cb8a6fab6384a911dd2031e5d8481baceba2edf3cf9922ff912df20eadeda7edcf1dfa1ee38c7b7733b3be80a4f6c5bd200eb3a638dd8f6e6333d3e86e7898b5d0ecc8550e6b371cb6475432c014d7a099ff9177bf28d5bddb8023774a0def903e7f64e3cbe1c9e85b9ea79957c24e92b466ad885bb54ed54b01b9234760feb84669f88ba4795b69d8cdeae62c1807fe7effc9d5be0f12dc0dc5e00effefaffcbd7bff3d1a531c1877cca9ffeac0ff8efbfe1ad8ffeaa83980ff8b91ff9b19ffea23ff2dffea7bff685e36b9ef3b9131efefffa2d6ff99037bce12eedb7bce5d7bcfef5d3a7c1dfcbeff22999b3fe8aaff88a7a1fea97d10c7cd1177d511fa29c07c26dc5769581f1f4177cab9955fbcc45af79cbc7dcd6896778c612c75fa290f1ea69eeb917c67d227ffa4c9fd5f481c8a769c63fcc555371ce4353b7f97c98ab7342c29b93b3eb9cc35b7c3b9fb3d275abf75ca9671c165c0f68d434d6264b95b5cc9204bb15f18e45cd0ae063917231a36939b37e05d4785194ad836a64fc1674fae7fc9ac19436279ba5e6ed7eaa5eb8c0d37c76e6ca67ea8d9c2b169fbebf52a3ae481250db6dfcbf0876186f69beeccbbecc13b7ae70d497d22510ab805e384d407d5b8c12f968e0c77f09734d39102c9fb2aa1e09bc6fcbf3f2cdb14e013bbc1dcce651ed48f6c9e135bd25e8a5aaddda130b17c10461b55d99b2938828fa30b2d82e9ad363d2f0c47718c0fdd6a5d84e28ea347c84f0a4c953567a89d5f2d94bdb7cd26f2060fcfc376eb9c5c36d6ff923f3c703dbde97c55c39f5bfd7b94ad3c7516d93dda8582d3adecc439f913b1c5d4acb8cdae1375c97fae77ef5affa773fff01bfeaf1edcbcfffcc5bffec37acf32efac77efc27fe8b3ff8dfecd685838172737e49ca191e7f3b4ab2a216bb7cc49ef88ffdb13f76eaeb2a0ab6d57ea4dedb8fdff5bb7e972f9211e3fb0694371b5e9860d2fb017abfdaffcccffcccd3d35f00f34317ef553efff33fdfbef1d7feda5fd3fb855ff885ada3c5a6f752e21ffda37fc493737cbf4879ed6b5feb27f818bf8cf7ed322f4f7cabaa906d8bdecd891fb148c6fb193e9b2bebfa5ffdab7f7543e7bfedf5452f7fddcb27fe07fec01f403e6d5bfc95303faf6f5b8a3515be27d654e4b981caf089b5efb3f9c990e92acfb68e619e7c78eab5b32ddc97c7bc78d984d3acabcf5453f8b637ab69ea2d4abdb9a24f731b3b077a3859b8ba71615d4fc3f5165ed47c80f191f9941b7cc6268839f93c63ce1c4ebede1cd2c08686370fa7a6de18f534f499dcc662a66fa32831f1e9a739f33c710e8517db70173e52bdfc1b4b5d6c82a22eb14fcca1b14e7d0ee596edc69a439a7a17fb3057e6e79760ae4cbb35daf9ca19d559ba4fcae9a2eb0deb11dc35837cac534eb62e3a2dd35d33c0a2f0deba6f1dec84fc70cd6006ccc9e6aaeb2573f572bcbeb2153b4e1fc066e079b97be9d2bf9d20ec04d105baba1d7d8cd9e936c6a941819b2fca626bc6171e3f7db70d6c3b0d397294fccfb1e835c5d2cf132eb118b5d8fc8997cfd26e2ce60aac08997ebcc0b0de34e9f1d39fd858e3294b69838e49c350ac625c8c42590e35e30b8f9fbe58c395cffd54bdd4b9727e2f31a3b4f4dece15be712dc9f4c675afe2140f5b2d04caa71fbde091256cb55066db725ed7affcd08f7ed5cf7fffbf7d7cf712b9fa277ef2473ffff7fd89dffd51774fd190f9c0b9cd07031775e218e2c22ffa489af83cd5e6f01ffec37f08f8935c66f2126b91fb9ccff91cbf15f17aca4d48bf8169a0b35e3ec89c0330c3e62a7dfb06dc8e44a068366e64caf274b1eeb7fb7e2be28e08b3af8d8912524d7fe7f298a9a9b657d02c379f6fce3e471f627ce3c20d2d3d38723e9cc3f87561c2f5e65cac492b994ffff44fdfa009567b140a172b4f40b9b7bffbe8f9f8cd8fe252c30f5ddc32f5eb1a776efe8601db344b66396386a7c9b9ba41c74c03140b0c9ffe91eaf93f6d2c9adbb1b25aec7cf0c49a155879e2b8e3ef25ef3157e9c7b30a034f1bb7aedb7c1aa57a3e4b727a0c4ca0841b4833bee6457f6a60a3d0df8e7589cd13a9148251600559f31c77fcbde461ae5e8173e5436f09eb772fceb1ad8380738e5390b3ca6e5ac2f434d6ac9d6661faad83f616b6b7eb20b275509758e74f860aace86d5d2e81f869f4a6193f3dcdb0d861ca52daa063d23014ab1817a3509643cdf8c2e3a72fb654615ba4e48f1ca6d7145bf26cc325d6286afafc8997cfd26e2ce60aace49360bcc0b0de34e9f1d39fd858e3294b69838e49f3f0bb17f3705b1e9dbb6f3b5e614cbb85cb08a07d2b066e970530b6ba1ab0ab3971b41be96dcfd38bc1a7d40c139cfc660f0f7b73a20ecb01508cbb58e6691a7d3c193eb23cd5c8fc459dfa48fef1941b4b17cf05a6d174dc36d6e903170b141203970390be9ab911f9bc2ce6ca33f5264a7dce9513441b8bbfbfc678743dd18545d71c8ff1ab3ee8854bb599dd819ffec977fdd6dff95fffde8fb9fbcd491d40b87a649726232f1acd31bb88899903d01d05de458f8b63ef34dca2e0177b6a3cf5d7f491e9558ac5ac202ff864ce13a8e1ba70f723a23bafc78181f3ef1fc4b8cdf063773b897723127011ef8f6e59b0eb3dc32f8c7c2e976ef6d87e16df28f4154a20d2d335f8b22d9b2bfcb92db7ca18e37a264aec66efb5af7dadbf04e0473eea15cd3299fe3262bc5a3edeb778b3ff87fed01f02c8fca2a66347efe5f35d14195c09af5ed7c9847313a57932e1d3ed32eebdfcd19e73ced5a30cee0db3adbe68e68f4f9061fc059f82d313aeccad4064cc25e7f1d35f98859ffcc887b96ade56071ee6ea9c01b8b259d2846b86c744bef4fd8abef5682b29a665e8f2fb4ca462fdddb581d3e9c33583393163aff8eb2bdbf8506e67e079b97b71d8db7877d84d81a64b6dc77f25ac2bde21e16c824c5fac26a0e89dcf3c5d548593c100327ffa0eb3e9c76314b634f7f62fdc91d3e8c2b312ae394f3c7c17795f68249c06c6e9a5874b4c0d67a837cd72c634743c3c4d5db90957c2e30dfaf29a2bdf1fed46ce432cd886b4457bf96eede909a82e258c1cfe800ff8d05ff5732f5c1cdfabeeaa9ffec977bfe1b77df11f79eddd1fddae1435dc2a78f13f352f32ee64c030fd164e7f71cb40fe0832e6d64757fff188db86f23935a7a7175004ad07f93784b70705aaf17dfdcc70a70f6c56f703fd53efa25f5397ff1d85e1277cc227686e436e318d72cb637c594bdd4ff301a51cec8af2d1f4f7c7eee90fb8dd96f8cbb644aacf7c7836903745b0aee5e3c2c2b7d7fc218498c213c4d0fbcac7577ee5577ef5577f75b199bb8bf365b98ebbeea01a9166393c0d9fb95db04115e4193b8dae930fd70b4f060ce34595d26dec13f953cfa7e6bde5a31bfd990bcf3f4dfef5c201f5edb8d33ccc5573f83057e6a14968977839ee57d61d0b506baef3954d700a55ac4d4e686d57eb72eb6f182f046ee1d6842dc434619e5d0f004e38f17086d3a7c9532f19dc094a0d17985e5d57fa861e9e06d0959b70253cdea02faf6b06dbf8cb7b7d65ea1ecaed0cbcb06adef6bd92184fd91d7876411b35eca0ea4906d2f1063bd23a9e311d639d118ad57b3ead6f7e12b8da9b3e4d4d9e9cd3e00be186377a63b1c59fb9e131e5539758fac2f1c4e96164fa6928e5935e177e7a7c81698a954f39940ffd2b72ae7acad55cb9b8ecd2567dce95097151d575d59e225b20f7a4f97eb17cf57ff2ab1ead2b7d22827efc27def5facffdaffef79f74f7d49f26877ac363808ade29310dfdd8f085a7e08fe577ffa689993efe533ee553ac7caecb7d85cc37c44e1f9becdb4a3e775f4570d7919ee07e5b1e3dfc9bb31705b03739a665237aabd3d7bd16e56f6709f7bb0e3ff940365706f21fd2b72f89cd3f67e372f6eec5af62a4e1ef83b5edd534958df89878e1e398d24f12db527fa47851d67b3f67b48d5e98bcf6b5afcde7a56c4bca526d0f2973b53f886c203fdab1999a0a992df51f6552f67790cf3ce1344043bbcfe97ef23efaaef29d31b3c4d6abb0dccea8f018fa136f0690f1ab038d024f39076425a6cf2bfd3435c9c61492db3c4f1fcaf145151e3fa5a652d7598bd554cb279cb25a57794e536ccaf098f9eb85abf556d6bbe68698f2a2a18c7998ab87b93203ef8ffdca3ed66aee5986d3a63d4d5371865463ac53edb10fd70c4e9b5dc6b83e313335cdd2f3707dd53ef0505f66e039fadd8bdddd25bb03a03be976fadd553b3bf414c1043936baf40734e162c31cea1582d1452616e0894c0fc4d328f162c9e08d951592663e8bed70d5953f3eac2ea4b1340dbd7175e52f1cbf583c0db2703c1ca346a6cf273ecd333b57ae5937572ed9dbb4b6d705a22d822d3c365ced46851e696df0640ba6b160d098f962f52a2d547a4569aac35bc03efd751ff2d7bee3677ec3afbe3f7c7eeedfb9d2ff839fffc59fff9b1e7d61697a408872effac2a56db6f8048db83a906639dcdbbc705986279b3fe0ddcb677dd667b94be94ea3bb0551a6c52d4d13e5cfa99984c615e2b11f133f8ef79fb7c0fed4b2a697337eceee22fb6ffdadbfe502ddcd00ecbd8d7b067fbb8f4011ebeadc6b04b1858b7241ef9ec7726268ffc9fdb975f4a2dc54f809bb3fe2ecc58bb71091eab611681bef477861ae6a9e6e52f5a311ff17a47cdc5379d3e2e333a24f90ad9fce779830d4756e8b9c8d6e5bdc96fcf37ffecf735633bf4c856f79216dfb1bdff8461be82f01985ef71b86f0b53793d9e62fb7599dfb893facece3f0070cdcb0798dc3d0b588fb37e24ffee44f4e79ea0974352d271fae2bfcb4b92a964f022127d6544e7f4d826974f14f333eabf8f43301ca2787e576f2e185a4d1542eb19833b7d3b3ae53aff725eacb3f7d21676ca3c49c9832b17a39134cf330574decfd3c3dccd50be7abf6e1ed27a6e6c44d571afb95a6c5c8526b85d58cb136dded678fffbf176754eb179975aa707abd48cddb6b06fa731d7cb866304b4f9b2b13f5b298abf3abceed030fb519785eee5e3afe3d4e760ab0bf3a59b8830f9b85308d7381837f7cbb48fb378d4b16e702b14ff3596c97fe943b6c38736b5c3e9a615793c4bac4e2375639e4a3b79c8d4b5f56eaf5c63444db52084fa3c0baf0c58ae2b3b1f2dcb66765339fb68dcfd45c5906cac7fc6c36ceb922506c946d771d1fd6bca7ef7ecdefb2d50d0c608a5a3cf4622c0f34eae193fff037fe6ffe9b1ffd8affdb5bdef5c11ff4013ffb2b3ee2fff847ffbbcffc75d75b9d46c927cc7f09c4cc932c5c0ea5377d99ac5eec05f871bcdde6cd6f7eb3dfc75fbe1ca5cbcb99d6c5f9f80d86abf95eb3d84c3c43e577fc8edfe1b2dbfd802b754dbfee705fe44ea6bb173245c2fe6898d97343e20d8342e9c730aefb4da6581acc6a7a372d7ebb8f79ede37723f0ed3616355e3346dd67c1ca6f4e6ca9fb0a77560d6d75ff988ff998dff25b7e8bdd203d19ffdffedb7fbb97516d8bcdd9b674f742a0d0bb9d38a7a2b1e460d2dcb4b853eab607cfd664baab71a75433075809cb53aced55fb38dc2f29091c77a6dd704fdcaf722873753e79aa3727709af4e31b6239d028c8f7ea43b6514e93fc6386f33c7398ffc5a76d5cf87a6396a7fc33cfb3de626386759d783970c66f1ef027deb8277fc98146c9ff8c3d31c146a4844f939319cef38c5a9eb94dd97665a85e6f4c63155b489ef5161b33acebc4cb81733e79aa6fb7b121c6374afa3cdbaef7eab3ad2836dbd3edc479522e6afe63ce1c8a55aff7742b162344c95cb3fc63864fbe903cd5cb217e739283fac26bc6a8f36fe8a7f9b830f594a495c87aedac622d16a2ee591bc61ae74c6b8582fbd6403f3bdc3503fdd6415ddc8caeb6fa3f5c33b4226caecccce6ea89d70c0495f5d67c16aeaf1ea7f6f0efdd0c3c5ab4deb793d121cd73c7f6b06338acab82790cef7e495c3370a91dcf18f5091ce191405d675d97abae2ffdd22f857b0e716e6cc7f976d3767482f18935d3381d646214603c59b1985383dfa0859c86e1d5048e90c2136f14a42e438c0977443574e170c9b38d07ca13283ce6ccf389e3929d25dbf99fe6646733cde9ff7e9a2bd7ac9cdb283b40a3206d8edb15bcc5c64d8b7cf47a39604f83d59a3416031bd5bc156b6de8ff7bb145642d3c80e6896bfefcbffeb11ffca95ff1511ffe1fd5855c59c8405db74db1914ffbff5ece716f315be14b206cd36c8873b45ed7ebae987d1670639d75599d4c18cf8483b5b04f767c3e05369cc9ec7ed89cb72dc404e1f4b075faabbeeaab2cc3fe9c71e133992670e1d75c0ef3676b689fb82b00e4f8f994830cfda0bf6d4943a06bb82122c3ba125473709b6427319976aab377fa85d73bde3e66db9d7f7c16cac60568ca215c33c164f9542f64e0c2afb91ce61f73cb0b996618381338714324089fcef3d7f522fcc22ffa0c37dc09325c60cd0493155e8d9c2670e1d75c0e00f2f49c49bc7a9ae18500171c13196eacb37eaffcc28b9a3eb06d3f81ae33cf9ae77615bb7a9b3950d76d7339cc3fe6966f50f5134de69f4fcd9181d379feba5e84d7bbe102e933c434dc092638f509262b7c2685a4cf1073db5ccee7a07316b2ffefc569c16976b7464e6842146bd3b0d3883318b2d1ab5bbc2c645b07bbce217eb86630456769aeba2c813763cffe5cf94c3d796cdd79f8ff5ef699de3df47a1e8a4b1c576376591b0babc3eec861bbaf1a0ee88a3ff575b99e03f0dcf83812169b18938661d77ff1644b00b371f17cd21014a599bfa692a7fae4c3a74f57ab0c296ff3a72f24c0961ea67718d31bb1245fa973d5af1a6ca38d75716f0680cb5cdd4df7fd3ad452a43e016cf118f301bffad77ee46bee7e2512e31433fc82e6296e944fd3eb52e61088b9c5939d020b9e5713fecc979f97f8ca936dbc737cecd9b82793c9251f515e3b74b3b7d873b8e9ed3f46b182ae1750de63aeeeffa2009fd7bef6b5eac5de3a0b8c1cb8d5dfb9dfcb74f96e983b8ac61a79df7fe7a3c0264486dd86a59920209ff8428a529727601b0dd412327e56e94fcf986ae38af5e531171f0b39017c99ab737e4ebca88d78019a17bd90a26e796265821317b2fa047c6ade473f72f04ffe91d38f3f19b8a217b8d4cb735d27801fe66a33f63057db379a13cd0bf32ccf95dc14675a4f372c4cb055d8da645d865b8ec3ead674a4f270cdd05c750df33ccc956d7c289719785ebe39e662ce89dea94181cd02a00e03ce0e2e323a350078ccbdfc919e466ffa4e283006efecd385119c7f02a40293018da27625b458cd70f9a427c827ffe12e43d3d328e909006503d11897400d1ba512a3d64c0f88ca337fbc289e4ab100d97cf416db70f88b7e9e80ae62db96f7ed5c79226e5bcad33b1603858de582b571f13412f666809e00e8ad4bef0ada76bb4719ba361258b11076a9b4a76298619ae1f845e14fac5761959b2ecd8b26fda59e06bfb1e693676eeaf199a4a7a92b71e3aa15fc3c87994c1f28e7938f3973a364383e73354d9f91af78f92b613e14772ff1428a9a4fbc5a6195db133591ea4bfe98caf8f9e4a917508f3ff5eb4aacce277e9e42c24cb25a60399f7c0c7d03555ffc911b2bc1c68a5fd47ca6cfaa51e673d1d360e6194e73f24cf2c9535781e30bc9675d89d5277f192b8df0fc0361f5f818b10d547df1476eac041b2b7e51f3993eabe5f0443d92c33cc3799e3c937cf2d455e0f842f2595762f5c95fc64a233cff40583d3e466c03555ffc911b2bc1c68a5fd47ca6cf6a393c518fe430cf709e27cf249f3c751538be907cd695587df297b1d208cf3f10568f8f11db40d5177fe4c64ab0b1e217359fe9b35a0e4fd42339cc339ca725c91be96c2d49962a8b917b1580a01b544b58eb54db15766a2548bf75b09b9cad830fd70ccd950969ae5c906cae5af19ffdb97273dbaef2509f33f01ec7f3d9f10ac35d5eef8c60eb603b31600ff62423ec4480df3e0d3bf835159ae684d5de72a4c723159a4e16dc8444369626e038d9539378b522ca58e1349c0b692c5618387f4a3ef35ccef848fa3465824c8fcf3fe5993f6663d1f0d48b54e057cc5c7903b3a90e3457be59d4365a662c186ac5b6b778c0e7e284af77758b4a7c5897d870b189cfd83498ca04e99118a51c34e7835c6fb1e51caef71697cf6273d8584ff499d519351f64e3d60b5f3cf17e34e26f077fcdd77c8db5d6cfe5ddc01871b985f309974f86b955a759600275fa5bcd7ca60c5096f3ac02390c6f1bc79f6325bbf8cc7f2392cd0799be5e38e733ff73acf50227ce471472db782f79619f4c33b211d5e758a7663e5306385cb6314ff504694ee77ac71472f159f8463c7d900f73d5bc990a6518a8697ef6a93dccd5e6e7e53557d2b6eeec9ac17ae4a36c3d82b7be3f5c339813c53c6cae4c4ea4397cc5cf55bbf7437d9981e7e5dd8bcb71e7faeec21d009ac39add2a00ae5ff18e8aa6e9822317ab49391fcdf4489a3ce79318194fd0b878c72172b1f79247b70dc3348d3bbdaecc4f4d64673dbdcb6d399fe376b19e267c86dfc64ab89cf903cfec5c79d9b2b9ea472fb6ebee12e0fe472f619bd08b17a0cfcbd32f27c7a6f4894fc874c577d1d0a3329ee39f189b40c8c533bed8024f1fbdb7fa595d6235f92b80324ff8e4c38d357c1f7137167efa5b0d7d82ba6e731b1f50a711d82f3d4cef6b5ffb5a3f82c794e4348b8d2778e9fe6245ddea67758e9598bf82af4bec2d9fa6c4860bb9e86f35f419d6759bdbf8803a4d59cd7ffcf4257cf2425ebabf400eb7fa6c1b7d632546c6a7596e271f2e70985eb9e86f35f40d54d76d6ee303ea34024ffff1d3ebbd60212fdd5f6cfe179f9a8d3effc4c8f834976d472a690a1caeeba2bfd5d037505d2f7d5bca6afec25f24563204425e445302a78fa85bfdac02e9d59a6d3ba03c8d4fa357192e64db32fea2c16332076e7343c607c2f402d5f31f9fec893e429ec8175be0e993ff727362d46b0d529c2a3d5c6ba3fa0b2b480b966f9cba40b7a8f9ca004c6fd9c23f5c3334bde6a13934278ac939af735e1973d5963ed4e70c3c2fef5e1cfc766be70297dd7b736222f6b601b6c7dbd19b9deef2d78c14de91a0e6c3335ecd473881faf49f46085eddf9a89391400c8c84dd0fa48131f8f4698c98acdef02eb891d3db5278db2b25bd4ccad9286215b1488512c6c3f92cf6dc96b0409a97e35cf5c7a924af981fc5832ef73040dbdb97cdf4b6b4a85bcc803dddc4c0f1294f7cc60e9f40ecd9846b6ec498d5277f8b17ab4b5926270fc7139cfc7dc45d15a90ec494e749e2f3394729a47aa35ce6cafb962ffcc22ff44b7d7f686bb1e7b8279e21f0227375f121564e9f5b9c005f99c3c9c3db8a937f1cf47e9fab6565c41397cca55e1378982b33b609b9c5eb7a98ab87fdaa9d6147fae57c75cecf89b70b9d7bd7c85ff07e653db598f6d5202b119f6ac072ec37306a1a2b147e4b39dc42fc70cd60a29aab57f0f555dbf8505f66e085e7a0978e5f4cb3c39bc3799c87b7ca6a5676eed0846b062eb5c315a33e81afa34402759d755dfb9b630e7e57f05dbe4b4fd3490110820c9c2426fed4c04a17fd02e16990f90fa44426c303d3c08a1ce24fbc3c97b3de0d1728551828f6c4e5300dc17033a06edc26217ddb92cf72586c399c9a4da0aef853032b9cc9ca799a0d3790f23f68aefaad4b79da016c20dc93334d8670c0332d372a69f01e6285ed7542bcbe473afd21fdcd315869e93aeb48b5a80b9e1e08abc984074e72f8d4fccc9bdffc216f7883107f7cecd7bcfef5174dcd97326e9a53ffe258ef6cff43632ffa5fb2b99273693722dc3c47d6dc468d3cf95f189ed5c6fd85f9c8ed61ae5efa1c3eccd5c35c39d03ad6d43bb42fe79f7bc9a3f3f64bc1bfecfbd5dffb7b7fcf23337f74a4f5516d7d9495d5caaa0468ba51012c58c336cd1b18eb261e16d50d4feba06b9ed6c196da2dbb815d0300c5b6d6875b8ba7410e73a354d324569f6b773ee5708e45566020c3b0ba244f0dac707e3f5d3394fff2944fd8a0a5dd966a6edb01cdf2196edba739f5eff3b97273fbf037c7ccf0a53c2fef5eda656dbcbdad7d746f153477d7aeb713013d8cd70ba72930c61e5fb358ce64624535c5e3edf430be1cf2a7e1304c53d4c9e78f29b69492951b879af371d8c073332ec1f2a4cfa43736f89440b99573b87117ab89d74c03c8a171f3c4e79346ddd07a9fa9b9b230484c69aedcd2d43c7f18d7a2586d3120805b2a0025663887f167ef342fd25b575159cde10475cd503e17cf33365cce177ec3e1e776d1d49cb2b1e6763b6ecc2fd95c2ded657201cb3ffe61aefaacab1fe66af3602a56463eccd539039b964d1430f2545e785df5c63f1c83cdc63927b0f5c84a0a28d6d09654ab92b72eadfbf8adef0fd70ce75c75a1f23c5c5fddef1d0fd575069e97bb1787bdab553b3ad01cf45d49181feec0e8bba45dd6c70bd115eea25cafa8e92f9e3498e935e72370fc3cbb2b2837e2331f9a3229e7c62d877cc44e8f57e2b78d3221d08c6f14b8e48563c2e59c4048603e818d55081f2352ce9f89aec6d285d72b6a7a82d393a67191b0522c52e07ce6f98b9f2bcf303656b87c7cff78df1cebed4d17eb611a6bf02edf35f135d5817ca6470ea79fc385cf5c7def74f7384d799a269e9532cdc6422ef65ef2c24dd734f7f62fbcacd06cdc4becf4f96cacf9133c112385d40b2b626baa03e303c88bff1c2e3c7d79de3b3dccd5dddc3eccd5b933b4bf3dec57db2b9a8a8763b0334fe79313774a89f9a59fabfdeec59277bb36bdffd6c1adad5b73db76bc411fae199a9f67e7faaa4fe7a13e67e079b97bd95b05d7c1b029b05f3a4a0147af1af684438dd7f476c2d573387d32e14a984c4933375104781a78b1c39404f8466fdcf4f1993b7df4c4a5e6995bb1f8340c95c6c5c0baf676050397923a4c63dc4b0e7a1b0b7fe7f838cfb6b16c1394b39a46efcb65ae3ce5badfacbbdfebfb8658b3e775c139573667656f12305d31d7155e0d0c9fcac83135795a269fa89ff27614cc1657b1a7c3895fc44194924fe045ea3cef021edf848cd99c60c2653bfebde6c0739af09a03f10f73f530570ffb957dc0b1e6d07838062fe7871d1d9b9997e95ced9ac1dede5b175b6aa9c5f7ff926d2d6e156efd4df370cdb0b972dd02bf22e7ca763d94db19785eee5eba93763a70e4c3ae5c61d3d189a38bf2f84e1070a4b3039c6c51c8629b50cd045dcdc394480e626934c36abde59040d7349470e661ca9af84637447afc3019ccb9048a2da5e580c48855c34a9e00abf88d85242bcfc68d2160b8588270e4e9b3a83c37a826ac2e55985273796a86d5cb2181aeb61d685c3c107eaf73d5932d32b78216896e0e8b2da5b6e2deefee5a614f2b312f82f5767991265cddfa7a898d3c3d89d337f459c71772afbabb8ed1e40960c2ea94f135a7a10ce77cc1d9cef3f40f37ca621be8d46378c693bd08d69b2c4db89ae16d6ce4c913a7472ab7b8907bd5c35c3dccd5a3e70e977df261bf72ec3c1c83f7a7905fe6f355cbd0d6413730ad53ad83f0fb7c1d6c0db50e3e5c33bcd76b866764aeda511feacb0c3c2f772f36db9ebab710ce08c37877edbb0e1e76fa7066715a71902bb09a0fa649649266734ad31570faaeb9d58d955e5717dfa2cea7057899e44fdf58cb412c064fb371d3e7232bbc5a0e8d8b8739c48bcd2467bd4a9e0178f9732e675da286f19b1f5dc3cb93493e6a826770ae3ccd72eb62a3ba81d95c017d2eaef82c21ae6f2ab6a2a2b927c18f3bef2eb89578609a7bfa096f6cf0fcc9aa2f3e454db36632cd13682e9f791642967835b0ed0ad32c878b0f41659a94c8396f44b1c8cae3b817e6e171cfddbff5be4fe6cae8970ccfa11baba1f1352fdb783a4cb324f5b65dbab6a5195e7cce714fe5e9393ecf2556ace63ceb52d7159fd5f09c171ed82833c9073f659a9aea9417a0b97ce6594886678da7a1df584051c0c52713f534cba7f093cf13a39c81f3ac6bbdf1990fd73cc3c3dbae99e4834fa0b9dcc6a429045973f9cc73fa69526ad2d0d79c3ec38b4f26399ccad3737c9ef99c81f3acab7109e2b31a9e730e136f9499d4859f324dcd7cd21412a35e3ef32c64e229011afa8d0514055c7c322976ce17cff179ea4d502c3ccffb9e177ae3331fae59ec8937ca4c00027c62cd348bf58d008b9166eb66eb91af06f80b9961ab92aed626b2876b86cb5c99a5ae4f4ce32b75aeb6b73c8073069e97ffefc59eed8ce04eda89407115de5d757b3c0ce04dcd7847453c71b88923eb56c1a1226afa3396601a3c7c8965782f79c427e0a66cac61a0f0c692c0346d8bf0928f4f20bdf49df8e034cb67b10d849f663e69f221cb13c86a7c7afc2ff15c39f52f87b01cceb9f247c92c18346a587acd95a6e2c9960d91bcedf2fde3364ab8a7927af369e1a979f2e1931f16080b540025cff870e47840490fe8e51f500fdf5bbe70f3139f6cb169900aacbecbe025e4906c6309840b540fc7cffce437dc193bbc1c1a683e9ae57ccb2f1608070a597dc999e6f464ae99665d18b871f35cf2755d3c2329c7cf73fa407c78faccc58edf7069c6a7a979c194f8720694f90f07c62f042f50bdfca7a9abde5373c6c28d0b84d50215e0e21979f298276ae22f7a03153b3ea666734230cdc90feb85cb1950d2c72f160807c884acbee44c53d7ad665d0dd4b879c2f5d675f18c24188f198e4f137fd1674e3f7ec39db1c3c9d20feb85cb1950d2c72f160807c884acbee44c53d7ad665d0dd4b879c2f5d675f18c24188f198e4f137fd1674e3f7ec39db1c3c9d20feb85cb1950d2c72f160807c884ac3e73b6ee587d2c5b16a6c6d224d62c3dab92bf3046609d02943c13e095ae6df0c340b2d6c796b9e1ad83345beb5b07d3c84117bc35d17018cd62f9d39f9af9a4c9878c150c64353e3dfe97f89aa17165de26949ba6526ef29c66db5bf2db46a0ed12f54b3057f7d93d54d719785edebdf4c4c2fe6a027a3bb1dd1150ec8278bd70bbb5c315c6880de3dde53bd89076dfeef8ef82efff2f17fc703ea7a6587c656f39f061b1723056fef32c99f8fccb13af091b05160597c31c1a4b9e94348f07bffb5773b19a8b855fa973e5f6a6b9f2eb7cdb5bdd5c69de4dca7db95b91eed7a4c7c4dd7215f3d26bb1f7418f16ad358196b19830e5f9544f57bd39dc62ccf9a4f08cbd0dc16cc45905cefa36f0ec1d3e81711785af8c01302fa54e46b93c6772324f9cab731e36d6c2634ecdc35c35390f73b51978d8afce23f73ce29aa2937998abf7f95c597aaccefbff5eac50debab81bc15ba32fff47598b786bb75ae0c3358319ebf2c6754e9f8ebad9035e1973b5ed7a00e70c3c2f772feeaadd81d8d15dad869b05a4d2256c77dee303ce0ef8ce1ac2614c4db840ca33167638151e4f56ec45cf27ffc49af4949a94e1e51cbfb1c663ea6aac9a6d172c13bc26ccb38d2d3d7cf994438604e9e75fac7040296463c5ab95677caefa3e71731596b366db05770f6385bedb98e3c505dcd3b2c80b9e1e3f0c0c4f3fcff9747d30ff35319533169ee0c23f96bff054d2e8d3881aa6fcc5e0fbcd7af47c94cfb631507af33f73084f7f893df96dcbc862cf6dc75cc6baddae533fcfe5363d59fe69346f3575fd87f26c15b179863547c2f3445ef0f4f8616078fa7906f0e7b6d3d73cf5177cea99542e1a2419b7f19ac37a7f31f86eab1ee6eaa5cde1c35c3d6dffbce55f2e73653d6af5b109ad4d1eae599be0165c7c6beec3358379783eafafdabd1feacdc0f372f76277579c209c111cff4a278b786f1b0093e24c71f2c3aecbf5bacc5553d2c34c368f85d3e3c3e9c37b9b61744c35019e09867f6321e510a38bdb72586e1bb46d892f43cc7c7226e606eb52161b8f69db698c35acc947af406539e0d3085f3e48659a677caebc8129c39e6f3521b6d12684772557f32475552c8a8fe1a37fc9c69c18f94487345db1559f4c2131e367d5e867ef2d2e992909d2c48ccf73cec9524e1f394dcef58e4c732a93a91b6bcd42d69c4fcc131dd2f001aa136f2b2e51273fbc71733beba7b915fb448746bc1df7641a62e306cec00493113456f9549fbd279e5b602169f800d5756d2bf0caa24e7e78bda732fc34b7629fe87037dee33267cab81838e7133c0e7af4ef62533656f8127b51d6cc79fed39449753e396ff45339ab69d67bfa9fa34c99217dccf8d361839e6e948b1d5854e00c3c63f52a8d15ae4e738b311be2565326d5c5e65c48faea931fcefc89f5d3dc8a7da2c306bd8c1bdf28756dc4914f8c3d730857cfa4f04b57bdb71a3923ab0bd956e095dcac47e735c3fe9c4c7f6dccc26415b636558b7ab866d84abd79332766e6153c5777bbcb43b99981e7e5772f36dcd5b6dddd2e0ebb7eed0e1e097718382a809e703859a4bf1c2a04957cc83437abc56a8e64b266217575a4d10334eaf2914c9e09c4e6d905777a5df35fce4063a58f1755fe40b866e1e73662742db66d37900404e2f522e1949a40fad3875e49a3aee4f3fe9e2b0fabcac7a072808dabd4b454f8dd0bec6996e46d080d1cdf76750376ae37346bc29e2ed3b708f5a4b915283ef19628205c084c70d1179260fe8092fe824f52d799c313fd392fb73c4b203ef3f14b0313e6991eb3b1ce818693ad993e13f562c703c4ca02c385c00475dde67f17765f1264a5aee8b9809a670e692efe9ab763898dcf442d16a36ca070fc65ac73a061fa7cd4e1c6cde1cc73f9e8aab7c0f0c6bdf8682a69eec2ee4b03c5dff73fd284494602670e759d7912682e374d9a04f1b38a47ce3f3cfd39569a7c862fcdf499a8cf3c978f586581e142600e754d8f49a3ae24885757745d40cd338734177fcddbb1c4c667a2168b51365038fe32d639d0307d3eea70e3e670e6b97c74d55b6078e35e7c3495347761f7a581e2effb1f69c22423813387bace3c0934979b264d82f859c523e71f9efe1c2b4d3ec39766fa4cd4679ecb47acb2c070213087baa6c7a4515712c4ab2bfd7f2fb0fb96c6b590d15baad47dd3356c2db386b6aebdc83583a8d6c1d6b8cb3a68a0adddade998f4f1a2002410aed9327aaef5185d8b7d395e336cdb6d69f8fe92e199bbbe92db43b99d81e7e5dd4b17a6b6df6eba370c9a3dc9b0cbc234edbb1dae18c031890774c1fd862481d84e229ae3e1f485d038e0c56ac20ef88628166914020550f8a4c1f0d9e9032f90a0fc335197331f99f02468dcf19d741aa86d8929b683b6ed52df65f0f80b54c02b6cae3ce5b2d5a6c2f2d0932d8c15657365fdb0d55b63002b41ccb0e6e5b713188592a6a2f918de5d4f0c0377d2c7438cc7ecb719f7fd8f3404f8c92e209fc8dbd1e713e093a6a8e9f3478e79e228459d5df491eac018b230beedba97bc30b1e758c5e67c62cc19b5a1919b93f48b1a3ff1c03498dbd1f59e854f1ae4a9cf1f793a6c08207df5c9d3af2b30267fa4c23fa0ce0d38c78acff9c4130712843727f3ac77fcc403a7f3ede87acfc2270d92c3f4f923c7cc3f90befaeca25f57604cfe48857f408d0f9f63c59f636d94c4459de4e6649ef58e9f78e01ce576f4065acd274d51d3e78f1c33ff40faeab38b7e5d813164613c7f75051f38c7c2ccf6c413074ecde624fda2c64f3c300de67674bd67e1930679eaf3479e0e1b02485f7df2f4eb0a8cc91fa9f00fa87303ceb1e2733ef1c48104e1cdc93ceb6d2cab8f25c94a04a891d626df0b68a9821fae19cccfc3f5959de7a15c66e07979f7e20941270b47c2e569811971a650e3812ee8ab9bacf86e30600e78cd78d8f94501f2810398f4dc4ebde67c0a57b375ff2036ff30be9b8af83387f87ce0f903613e65522da5f88090f2974cf9184b57b8fc39d09cb9a5512f1616a2aec41b48136e5b362e52320ad01070607a6ea7be7cf2295cad297fb15ea768862d0980a69b1082568e7270bb82efad0b0d7fd80aa184bbb1ec9686b2d8f3295ad8325649034f23a427678bbdf810eb525f784da5d8f0ea73ac34990fe7b91cd24ff352c62a76392f769e1babace21bb7fa69b125b31c80790a81192ef6c4c89c17fbc41cce7c60e217d7eb6ddc06bd973f7a925ab87af90430e50984f1756d5bc6df4beef409c6376ef5d3624b462d8a06988f66392c36cdadff85d754e673e286c3cc33300d41e3c6a79f46f369b1f84ae316f2c41cc86ef9c6ad7e5a6cc92c07603e4260ce8b3d3132e7c53e3107e4c913bfb85e6fe336e8bdfc61bfbabb8bd8e732fc30579b93f61333636db224f94b62ba5a49ad4d6e6360cb136c7d24d6fcb00ffb30eb1a2caa3574eb20806c1d0ca4c15be0e0d6c1d6c7e1adb34098be15b9dad0f101e16261c92830e79af19a1ce281e543530e8961e1ea4ab106d28405021b17968c02e40307a6e776eacb2d9fc2d5cb277eb935273cf1670ef1e503cf1f08d39749b594e20342da2ec9944ff987cb9f03cd995b1af5626121fd5107f8a19c33f0bcbc7b69977507dfc6db7b3ceab05b00baba78d58549838c4f6fbfa487e9ed97b01aa6ef8d473e64d3e3f532a1e4995e6ffaf872808517a8ce9f1552c9138827a03f7d1c3ccbc188e54983376ee1ea8d7b6af03425608869f8370f00be3c014a1ace783e6990f1488567392ce7b69d7e79d297587abc5e2425cff4ba964fdb9e86eddd30f7259e1552c9138827e1a99e8fccbb45a1e1569e6a8b070d32db2e4476b9838cd95334cd98ea6e8c93615aa4ef14f7188f4913a96ea039c78ccf618613c7ac779eb73ecbe1129b72039de35ef046c15ff0b6f71cf7d4e06904ae4cb9d8ba96a7264ca6de76a5415634814b7d8e5bd763f99d72bdf37c9ac36d6ccaf18127d61b45ef056f7bcf714f0d9e46e0ca948badaba86132ccb62b1e59d1042ef5396e5d8fe50f73f53057777b903dc42ef1b05fedd879bf1e8346b1e8986dc5e2d53a683d724be3af8dbd5fd7c1d6c4731db4563e5c33f8446eaf197ed9e74a560fe576065e784a74dbf70b66b62e06cefab2d6eac2a82b70cdc0a576a461d427f07c2212a8ebacebfa8eeff88e2ff9922ff9e00ffe6017ac36aabdb34bf09af08564e26c32cda6623c807c9aa1f34e5dd3e7a0b990ccf369ac72a0d435a5e685c7a43f636164e3d20364c62a36fed49f9ea7e6c41b7af3a0174e33b2a1d7145519dfb8db70bd13b3fac5cc95dd86157fe6306786016f60f0b06981ed1e7a3dd30a6b0af1b88b5edd5ee4c649c8f77ccff72095dff49b7e93fd4754af6e8087f230030f33f030030f33f03003bf8019680db2dc7ceff77eaf65cb23b3d7bdee75af7ef5ab5baa342d856e63ba6841dedfd4dc352d55b0bb1a5180454a6d5d13629d9289e6d64118130fc4030fd70c9739e982e46531573e7a6fe1ec393edc6ffdd66f5557240fa85de77ceee77eae5dc55b9a2ffbb22ffbd44ffdd42e6fd497e26206c32a104e83ac095c8a51621e0d7cdf1c2e0782e513533d1278df96e7e59b633d5f37778e7cf8433ff443edca0e6c17acbda4d385efa2df710e3b7db4bbc334c362897dcc62c367ecf0a98739b3d5bb32f289fe64676e8b2ab7339f30ffe54fec69011ec0c36a1bae291ccead6dc4370f9de6d2c334cffe5c39f5b72de6aa97ec35ab6dac49360ffd9f95b6970676dcc2af7ad5ab92791bc387d827feee77bffba33ffaa3dde4fcc44ffc845380d3816291386d9d297658fe02f069c58743ccad675d17fed437fa291bbe00435c7c3069ea7aa21e5986c54e53c2f55e709a3cd54fd48caf779a62cfb132af2e93e1c0136375cd79fa93398798ed809004f3099c56694a78388762ebbaf5c9ead4147ef24fc4cbff8c3db1a815fc995b7c0ef013733bf5294fd9f005702b876c2ff92c8d81f4f33ff5e1d3e7c48d5bf8c93f11bf88ff7c04562eb945e600a7bfe4369362e7906c2117c0ede233ffba9ea8476e94e96f7dea3a13c8f3e49f885fc4bf7c44ad9449cddb1c967f82394f7f3267aab31d10f234ffba365660640ec54e53028d7ec167b8ae276a7e917c23aafb9eb3d507b0c24ad25584112d31561ceb91550909bbae80adc56e78da966acb9987b0962a9af31a603ffdb70efa82596bfdc6a5e776eac3fc1b25e57372cdb06bb697d1f5d5aed9f6993e0033f0c222f73e9c8e9d110267ed403510660573e29aeadbe29844aa4fd053730c70dff31e557aef5ebef44bbfd4f1efe0377a97e6dd3c387d084002cdc08577e4d317582c7d64fa852f707c9ef1c8b3d9b87cf2ccdf3e3a4d3cf3983c9f36c4520ae473c68685b7eddc622e357ec395d2333e57f69ce569072879a40db14298879e0760ea0d9876372a18c05a420cd855629cd0e177bdeb5d9ffdd99f6d7ee04d1ae54379988187197898818719789881ffd019b054598f2c52fff81fff63d7d0d620eb8b9b16604b95de6e602c4c40b540372d30bd45cab8bd752168ad3faf6d2c585bc429c5a629db567c18b0ea59da0269d69b808ff02d7ff55e6aca0d47acf98c5f33c870799edb1bff6cce95372a0fef5e7c4097f2bcbc7bb1d9f65417a6ce1aedbb30d2016c7feda9031e8e543b26dd9d77a78edfa1ae6b4f2c90f39c0f81b17471001cccf32956ad2c162eb6d14b0f06c45eb2ba0f7d74f8d134901cce272b4535ae3363217bb2a2b9a70e7250306a6ef7ad4767b46d975e789a6776ae6c6973e516a58d92b382c434571e59d9164faad448b555a1286f5d2c0fad0d3dd9faaaaffa2a5d3ffcc33ffc199ff11996047a6ed5568b01a45eccdd60374fef2c5797c05bcd6deccc81c6bad5dcfa601207d44a0e01f5dc6ef95373e292b9c46aaedce6b6109a4b4a8d7b0aa639738b54a7079e86b33a636ff3b98dc55c123b354ff31c9f3893132788873704a6729bdb4208a64ff63487f14fd437509a0b6eaca2565f349a9758cc65a053f334cff18933397182f8461c838c0fd40b9f824b4a4f7318ff44fdc5bf2128375651ab5f447f09d1cc27fec53ddbae8be6d630cf6d91e6cad3c64aa0f732c498d361ceebcd363ee513f1cc4f8717d1eb3a43341b287e83c65f3c17789a9c38c1255673e5696325d07b19e2564f49b373fb02016b418fcc2e1a266f7ef39bbde4b7e27cdcc77d9cd58ad24d8835c80d4c835a7dba66d0eb772f7b4b603d2250ac6bf0ae497c6bc0ba6620eb941a06bab189bfac83691eae1936572f97eb2b093f94db19785eee5e1cb14e0d7b616a22ce1d174fe08077eee8f4a1a6d92dc13d7dc78ca7879d1d8acd6dfafcd58a134a9a4e3170bc5a149ff100cfd2c0d79bb3baa1136b0a3f7398673930d1db58c0f264121f990fcf4e769af8bae6539ed3e0099ec1b9f2f9ca5f9e4efd36d3ea02bb2141c2726e023dc3d85cc16d17c16b5ef39a361cd34bfc37bce10de6cd0ae12b64ba2c1e0229171ec0e8aa1e138887171bc074c3b3667a753e2d8127c6a46969d4a5b47c02bace25b371c79f6ec87ad5f1d9c218e592836643f34f83996c3960e61c5960ca7a73bef89c9e024ff362e7b326a6d2881c9a0782b03a417342a6a40174c5039ae536fe745bef9cb3a5c12873284ab3a1f9a7c14cc6ad1c30738e2c3065bd395f7c4e4f81a779b1f359135369c4f23c7109d33427ba94f204c6039ae536fe745b2f4d7ce3c218650eeb05f24f034fc6ed61aeccc6c35cfdf2ee57ed93edf0b718f3c452cebada9fd3d89f15ab8ccfd4ed87aebe03e68b5e6e48ac4d9896637ab734adb316237ceb786e6e4e2c4678b2d668b10fd70ce79c34e1eaae675e1973b58d7a009b81e7e5eec51b034fdcede28e73d8e903b6739f6f45f6a00250baa037536b3a4da4071447458707014f17cd3ce99d7a7a3a4200c7d3c4772c9175aa8a5f6cfe69f69663791a74f9dfa7f0281fe3ce7fdbc513997efe398b2dcff2cf9f067ffa6cac79b65dcd893ad0289726ab5f82b9f2286b73d5ad886df9d11ffd51795a2ae4efe72b61f9e0e937576e51605bed299785c4a242c3cd0d8f583e6e87f4c2f61c186819eb62cb5aa2a98c875b60d4174d3c81593af19af47c9ac3f9006121e13461e4c9230b47022fa2d155ce94e7b84fc4f92cb7b6abb4c31b2e527df121506e7d4ecf6132e2f29f21125ef3f43ff5e1cb58c85b1e731ade4beec63d63d3a81fe6ea61ae2efb860979917d663bea8b681ef62b33f072dcafec093bef6d13da90f373bf6c9a28cb8a5b97be27c6c182e2eb4056194a67183730fd76c545028c6f9db2b65abf5ae398a447d26c4db7ce8add3ad81f56a6dcfabb75dc02a7c46f1de40fa7e7d96a7e5ecfe42c50aad22bb7e9f142bab6e1b3b1e6c9bfd9201b68944b73b9018a711b8bf8cca7b1c412c0cdc372285bbd62d5f1e75c6d3e5f46d7574dd4437d9981bbab8a0bf58b6fce3370d68e5bfe9815cc896baa6f8be301a93e81b3402450d759d7d5ef5eece80e2d47451b4806d484ede576f71d301d3ca75e57cd02a7479e38c37c56cf27660908843bccce1c12c46f5c607ce2e5b38d9a9832fda9c1f0dc40b9ad2ef6765b08dae46770aefa1da40c6d97bda84db0182e39f2dd0000400049444154009af84e5bcef5e6016f27b115ed6f3470cdf4701a3567b1f47e00f3699ff66976a40c9baeb09a52977525feb6a6d17ba9c91692559ac29f88d33fcd27bef00c37c413fdf53e913f63e1db2417987f9ad51b1458b978e25fc4b66d3feb27ea6f3d93c5e7bfac729b4fbca672faac393d6656e1537fc1294f93e1c5e63cff8510542e9ec869eaaa390ce456fd44fdad67b299683ecd279e204de03687f7ca5f72c8619ea721b26d39ebc846597df13c35759db6a75bf889fa5bcf6417c3d36d3e348d88397dd6dcb86748f8d45ff0c5b3e6ad0633ff8530af5cf4c869ea3a6df339eb27ea6f3d935d0c9fe843d388424e9f358bd25452cef6d45ff0c5f30ccc873ee7ea99df0df3b85c3cd1b37d2c79f4efe996acb560fa04a92d2edffeeddffe911ff9912d465696be36e6c199b589a69b165729d6b2346e78f018cafc2dc402e118c3b55ed32015b1466f1d342230fee19a61d7369b13e06531570fbf7be923bbd4cfd1fff7e21ce16edbceea30ee48b637036604685e68083aec9d0812d07416a8a9e6431f0917954f62b17aab372e414c8146d949a7d83c69f0a2b2828d985b3c8cd97080a729c48ad8ba600ef46d8b9a26cfc665a2141b16bbed5acef7ae77b7760adca06a854660fe8d9b38dbf4ea790a7916e6ca9b96f294735b640d68aeac162d1bf274eb62edc1b75ab40e5102e1d56e60e0fb297954d5dc02890daf9ef8898191ead341c898f96094f99f784304742d2aabc4271fb3407adb5b133ef9338aa6defc7529c497b9c2e0a799db2d48b37a826c2fcdc8399fbd73586fe23387f0a202d3ebc5682a81d3f38cc23fccd5c35c6d5779d8af6e8f97e6a443e9169f47d325f6d9d9af2e9fafada8c810d06b2dd886b4a5d56d825e0ba2ba4763d61ad8fa6219b2525b71d45625bc95c837965b49312dd04c5abb370437582f4dd706ac34615d270f2756b7ea3d5c33bc8ce66a9ff8033867e0f97af7d205ab53801db7cbeee6020f201ddbd3d4e5b0075cc51645108e2fb058358d5a579af0a99940d7ada60474dde6d3a9a7dc86cb217d839ef9b78d6a82c6cd7ff9e7a62b9f93c7ac379f732c86594d83514e9fcb587a89ef55eff12647c8ed3c9035e8c5b3663ef95b1bd674d22f1f8012b63098101a0b838100056ff1b03ce8f5dc4b6d09e1564d00a88b25f3ddb34ffee44fee5adc12d5452a6008b216addb5a1701ab6429e19504f92027b8f0d39f9a0b9ee6123bcff4ea171f6ee181f4999c561bee04130ce88533096f962e81356f739becf4995540bdc0e94fcd054ff334cff4ead96e8bce90e140fa94d51be8164c30400367127e98abe66d5334f03057cdcc6dbd291a7898abdb598ad9140dbcf85ced78dc438a9ddb05ee5c31f35bd252f2a637bdc9d7ba5ab084b052e389dd6f588cacc518eb97050b502c4c0480f54b3d8d269f04d638205b7a2b17dcfac8f9820596241eb6f83e6fd70ccd89ba29bacccf396fcfce5c9def5ebeeddbbecd1ee213576c45b51de3333ff333ed5194cfcffff7f2c2a382f6e9576add9b87b60eee92dda18ba9b6d7f696609aedbbce2cbbc4d70babedf4789a8a58670126ca9e7ce84a438fa7c114aba6574f53177d62357d8716acc8330d8c8f498fd79b1ee66c1b090c0ae301cd460468386c1e308ade64afbcb972849b1f730534570ef29e7539d77b1b8377e49b014fbc4c8226be6929aa95c6521739108fcc415d17a0e0356912a861ccba8059dd05dcff27509895f402959103f4f8796e41c54f03147b67f138cf9463d268e2ef92789c151ee68fcf102e4a333c311e4989bf9085c4ebd29ca6a63a30cf34259033816656f7f2bbff3f0bb322164e307260fe1858ec693b59e446e199720c65185f1a31d9a6cfad6dc9304cbf708003fe42661eaf4b739a9aeac03cd39440c3116ca07bf9c35c3d1c83777bd6c37e751e1a2ffd186c51d8ec75000a57eea6f5bee85d33b066fa561c0b903545b1d6b4e60a743d0ac757b334e8dec0f455311a7c0e6a45933eb1fae19ac1247475f44a9a2b1bb5e2d753c3034f24d7fb4a052f2c72efc32ddc417b1ec36107aa81e0958ef99a70cdc0a5763063d42770951909d475d675f5bb17d80edd9e4d238d9a61cdf31685ecd4749aa0899f0f1eb33a815a11de7dce190bbb8c1eff22b1cbadac28f35463ce9ce1e573e67c97c4e35286a5945e4fdb52329adb8af8277ae64f5c56d9a7870b39b7b7b14afef44f132fb0c48033167eaf7365b7d91080cbc1468957cbb3fb90e19e6c190b8f94b3450550906a0e18bddcd47ef7d27f5ba977c5bed42ab8656c204dbd17cc9ce706eae2354d7c020cff7aa70152d23416cd62cb67fc8bc42e07e24661524ab7392f9f046b36ae3a077cb1c98c1e932ccd9433495c334c5f5605e603a7e170f29198d33fcdc35c3dccd5c37e65061c4d1d32e7318277d2fba11ffa214fa9baf03d95e9318139a4b9f00b5c6fe701b10bcc477dc62e30bea827c6de2a67780b4ef19c4fd9ad40ef25d534530e9c3eb7d8c3ef0ffff00fff988ff9185d73c8bcedb2127dd7777d97bf1266cefbc58bda5aa3d73aa8562c61bd69e973c1a4b40eee150db1de6afec5025b077dd6adcebae2d5180260f889eb7b82ea565251c5d2e379c69c9a299fe8798e4b59603e7021177e3e39af2e811c96c6190bbfd76b06e1621b2293fce3d5cfe05c9def5ee0effddeef755b6bf790addadf21f8844ff8047f91c847ff5cbd7b795efee698ddd495a8c3decedd0eeadced22b5dddd130b18afd76e0d54f0fde142075b7a3c4127176205bfbfaad16985862d7cc6f6972ee8e7b9586221cbad04f496dbea528a5f3e67b61d937c2edb452cb63ca7e98f2de623373ee523761a8c4007f3333b576e4564783b57d60fbc33bed9b345f2b7bad8c67807bc9da1fd016fc6287d438c5211e86d8c3f0ee35c40d35bda162433b34b73bd9d3e74d52b10138fd18c0fd7ab5630f9a8e7b32e603ee139008a5ef562c7c42f763c90f9e9b6de75c59cf9b3d25bf8a90feb554e3df1edfcdc6a32bcf0f3c72fa5467f98ab87b97ad8af3a16ec091d3ebf9863f09def7ca7d39a3fd2e8dc9e4f47dc892fc7e08eca53f3fec6670e4fc3670ea7e6e4dfdfd8b896061794ef78c73bdcc0d857316ae4396f161a674b2b8ef5a56b06bd3e881668bdf0ae19ac47fd454d7ad70cbe72c6ad35babf302656080638af19e81fae1936575d77f9389a2be09cabf3ca419712f30c5e5f959edaa7ef5ec57f43e7aa46d33df36ff80dbfc166dab5a6794ec0f3f2eee54ffda93fe54ad44e69b776cadea7eb3887f101fb6ebd278fa4c18b05ecfdf9043013c3f957e3170b6ff4f536ee5973d0cc73bce6d3187c39f3944fb871971e4d2306e2cb79b1bae2294ffceccf9595a9b95577ef217fbf6c317bd504316a77292d2ad609d8d68952db76b129ed2718b85b1767bd4ffcc44f342dad4369d45d4ef184eb825792e103f833fcc29f9a050ab9e0a26e634ffe69f84c609ab235ca2d5357fc13f1190b2fd500e645621b3187a7c53e8dbff537d0290e6f8b2efa937f1ae630cf69904a999ff95ffc9315351c58542117cd8bf894cc4c804b2ce6257a66357181b95d3c694efe69b8642e3e9a4f63eaba1d6b7ca0d13351bf88be6d99863287a7c53e8dbff864788ac3e73c60949379719c587dceed9dc55398baf27c228efc05ccd5dbdef6b6be8994c343fdbe9a01abc96b5ffbda7d22e7fe60b979cb5bdee2a19899c75b560cdaa7406f3571f549d3c244007323c05b8faa4559d7ce9a8678d70cf4989afcc31706bf75dfc2f71c5e333c6d66ccdbb339573e7dcf1aec243e6b3b835ad1b42180da2e44a33c57ef5e1e7d1dc5f6bfb24b47a95dd36676cf0ab824752270f4b6edb03d8326995db94b794f3e840fa7c7d067828145d1e0f9a7c7174b068fd724ee50891f331fbdf469d89633901ee00097b3268770cec6d59b4caced22d0c4f3848b2d4ff5f4b0a2970f59e316cb1f0f2b1b2b19cf72687b87d333a417856f5c51309ebf3abe58329af19a6d913a7e0ccf7c5e7cae1cd264bd636919e0d022c1c14d8b67669cc9343d15b36c1048c989a0d5c509c2d9a1a28bf264c2f1ea0a71a715cdf0c2a7c7d4bb7ab1638a4a69dc934facbef0f31f1f93157ce63f4d3e691a653ec8f0c920f3499c06aef9c4fabef3d17576e326135b57cd46893c47ac777521c95603e173bb62d25ff8f98fdfe8a260fc986958c177233dfe04e783099f0c329f924ff3c4fc13d435dcb8351b31c1c68a3c475cec457ff2baea3db72b26ff0b3ffff131f7360f73f51ec7e6333e573de5393feba7e1f684eaa7697e31fcfbdbff973237db6295698b768c68c2f607c04aa7c0ad77d6202b8e5ea4372d1e96e1ad3ed61d4c6ead83b911773df00b5b0799b786f2b10e6a1a228ce7bc6b004de33ecfd70ccfda5cf9a41ecaed0cbcf06cf8b6ef17ccec941138eb1dd5c80ae6317c74fba889bc2d7629a4fa048ef9c80efe7a57d7b5ffefc51639f21d961dae643b8c75c5133877389831646a981288474e8347ce934649dfc1af99c9f8e9377a398c2f649e0066b9657b8e9b0f8d02aba71906ce6d69c46a5d6dd7e99378396c8bf2cff69c878bff3c4f8dd86d63fe647386950b3f7db9ad1e2fc40b96e5d98d87ed1a695f12659da0f1acc24ea2172910067a800163e0ba846b5ae3f1d6954ffaa44f62825108ba346941c2d8c7d435ebbdd3bd67b94435ca1ccede399c20b3e96b6602bf94a117722bde40174dcdf75a97c625b7a7599de2cbb81b287ebd6708cdd97b6ab65df95cf2c944d76417415133dc4027b8e0db26e6c54b69bcd7a13339c56762e710f1eb3d43c8cede53b349c8ea924f26ba26bb088a9ae1063ac105df36312f5e4ae3bd0e9dc9293e133b87885fef194276f69e9a4d4256977c32d135d94550d40c37d0092ef8b68979f1521aef75e84c887d73ecc50d1f7a7f6133e023f8a88ffa28b572ee1bb0b5e99ffdb37ff6d11ffdd1d60bcb8af508e3e681d258d641bcb5e93ef4d19b19387e7acb90a8d641fad6c156bd965a38c0935b18d014b5753387b6114e9c66186839de1a5d547a56e32927de5abcdef404cba7d885a4d48c2fe7f903f3a451e65cb324c74fbf6c8d0b8fa7dcb40430cbedd99c2b37b40fef5efab8cffa7979f76237b5d33b59d889dbdd7baa0163f6d49fa627109b23474e7a3cf216f3c43b3c28c3f30794787587d0f4c65d0e8e99e526e4f429b77c6026b0d834e5c9a71cda96b09a9e58083ccfc6ed904e536e183ef9bfdce7aaef0adfce95f5e09cab7efad6fcc0a6a85b11773b66c6d45936fadc3515bd1c2c456a5100a67b1e58491356eb8da42ff6dee6aeca27bd7ab1c331a7721a40592685608070e3c6dc49ef8b5b32ff26504f536ef129e10a4d003f8c29765d4081170de734f134e5bc51f2592c405f3e8b8da96b3ec813d77b2aa70794c6cd338658819743cd7aa701f0d394dba9842be503e7f9987e9ee6eae77eee47dffdae77fff00f75683cccd5b917854fc61ef2cbb85f6dff94d27bc513002f45ff7c6a3abdec24b3b96a367cd6ba5a85ad2f1d1d5d1b8cf7a48ca0b5be276ea2b6d63bac5abb631eae194c547365d29e87ebabf3307cc066e0852704efc3e9d8c92b70d6adf198959dc13170cdc0a576f462d427707d1909d475d67579f7f2255ff225ce112eca6d2681231fb0eb636ac218c7c02eeb9d23f49efc424e1358c90ae0764f3cba9b0f374a8631d32fa494ea8da407caa1c4e2cb507de666dce9c30b211bae6bf9e48f9c27265b9a0d1759d4edb87a7f19e7ca6e736efbe5ad8b5b0bbd6a1b45691e62ac0d9ab6c86e23798facba09711e0cdb285d6498d7bdee7530c62ea43e0b134dfc0ffee00ffe8dbff1373efdbe20a784c5fed93ffb67ffe49ffc931ff1111ff1f6b7bf9dffc77ffcc72f30b733e4e23fabf1c5362ef33ff367fe4ce69827faf885df5ff92b7fc56ddb9ff8137fc20229818ffbb88f63fb44712699ab95862b8d33e4c4c9a6d17c5ada17fe343907ba1bf8f1e65cf8332459f513f9620996db1278a2fe34840b17f234f104cbe1a58ce5bcf4e7ffefffd79ffd37fffa8bbfe44f7fd0fdef6e457df3dff9db3ffe633ffafbffcb3f1af87d5ff84796eaccc71857c9e4fff07ffa3f33d12ccf25004402f6e3b77ec79bfe579ffe99bff2033f700365bb9a38dc288b459e78fa0187d8b7fcddaffd8e7ffa8ffeedfd6dff07ffea5ff35b3ef7777ce6e7fef6659b32ff9167f3f43ff139f4a9cff07ff99ffec2dbbef32d7ff08ffef14ff8a44f99edc68af9e99ffac9ef79cb9b3fe4d5affec4d7ff2775cdf362788efb37fef2577ccf5bfec51ff823ffdbd77dca1b4efe740837caa939f1f417408311fb34f104059ecd33e4c4946b9efa73e8f897f8eee5dfffcccffcec077ce0877cc8a36f439d3eaf6cfcb33ff33336fb855fc7de6dadc9f03395f7e41ecf429f63ad8ffdd88fbd4c7e1f8ab3ee5bdffa56bfb1265688ad2c2db2ce063134485d9abeb4ecb0727aa739f5612164d6e29a0d9d1e167259f4b7beb7b8773d40ff7c5e3398a273db9ffdb9b2573cbc7b69273febe7e5dd4b2705bbacd21b0cc044b8a47300876976694eb35300be83dc5e0edf59dc5feef7a6a223217f020e62d5cd32de9902e6001388d5cc270d7d39e8da9b010ef3e44020363d4dfef8694e7db233e7f91b4b545662db46fa98f198bb8d7ca5cc9553bcad762b62bb6cb5b982916d2fd0cd49f72ae6aa9b5e6f63fafb2da2ac40ddde84cffafbbeeffbfc37647ffdafff75d7044274291c5ac360817ff80fffe1fec80ce5777ee777b69ea9158281bbc8c76f15c213dcf2ad5b0912abcfe672f0ff5bfdfa5fffebbff44bbfd4ed936f2f5844537238876e45d4153fb7338793bcc49e51273e43e0cac6d25c9ef039163e9fea75056e7d26c833419e1c0234c96a4e73e670e696587de6206a9af8b94d9ff39a40b8d8777cefdb6cea87bcead5dffd967ff1e20ee758e1f97cffdbbe7b26ef75ae7efaa77eeaebbffaabdacf3fe5537ff3a7fdd6cfe696d5b625e63f74aefeedbffdd9bff2e7ff9ffff45bbfe9233ef2a3ba6979f5877ee837ffddbffdb57ffdffcb5099ff8b6f69c9a82b8b3da34e4c40996cf5c6c2c0043ff9e33f66c3ffe9b77cd3f4f87caa333907bd733b9c27c8f3aef7bee03980c526ab99405d0e35cfdce679e6903e713c3ce5f0c065dc6d578217779809f004fc936fffeaffcf97ff8f7f49f90b5ffee57ffeebdffa4334ffe61d5fffe57ffe1befcea18fb3ba87eff1296c12de4f9a46dcb83ffb38a59b717ff2adfff85fdc7d21e128379a0ff8f7eff8461bf76f8ecf9a9ce75ff84bdfe2abc3e9dff9cd7fed2bbefefb7efee7dff5bffca5aff8eebb2f145fb7f79ce77075e1ea01eb8e87475655263eacd66e8b0edec2e1d6e5cefdfe52c16a05385a6914213c03f792bb6f556c4d7fb86668d2cc8f05bde97d85cd551ffa437d9981e7e52f26fb4384766807bcebf5fe58b01384a2d9ee6e5efa638548b2345ddc871d189a31eae9bb02a66966b9e5e394344d43a48195e9d36432bd044ebeb43102d9165b3e171f8262cb508872ab415eb6b1edba97dfe9993768f87eaa5e6673e5d46faefca1498b87cdf12316dbd242d29c10740f73fe86d5130ebdc9e8695a8a58ede220a6b97267628527aba90b50ef5627feeffffdbfeffbd05ff9955fe94f6ab272c3f3c55ffcc5a2bef66bbff6bbbffbbb25f0c637bef1733ee77304fa86eb5ffc8b7ff10bbee00bbee66bbee6ddef7eb79fdc7cfee77ffedffc9b7ff36d6f7b9bbf57f3799ff779fe001a4ffe399fb5cdf9baaffb3affab40869ffbb99f6b43fef25ffecbdffffddfcff9cbbffccb39940046027a4b38933c23c3f58e27bbd59fb1b070fa4c564f83899c86e1ad27866c9ae162eb2deacc2dbcb102ea97c8333f631bab1cf0352f9ed3e06ff389393d87fff9b7fd93d7ffe64ff7c2e4cd6ffaa7af7fe3a79d5b94a6d8f90790f169defca66f7bc3a77dc6077ed007fd8b6fff274cd2a8dffe5d6ffd87dff8f5bec4f5eb5ef3e19ff3bb7ecf7ffc899f8cf9a6affb1a51fff397ff0f6ffcacffd4135d6f243ee4551ffa37fef25ffc437ff48fff47bfeec3747939f357fec7ffd717fce12ffa75af798dfba26ffebb5ffb633ff2231ffb1b7fd36ffb3d9fff9a8ff8f59739344a39e0bfe16bfef60ffec03b8cf25f7cd17f15ff59bfed3ffb9ffedfff8f7ff9fffbfe9ffec99f7cd5877ee80fffe03bbdedf957effc810f79d5ab5efbc96ff8ecdff59f7fd007dd5d9c795df38eef7bfb67ff67fff93ff996bfff43effc971ffbff67efcd9fedacae3bef2b090458124242424268444c923066c60c0219300e1ec0768c89e74e7757ded7f40fae4a25f939ff80535da9eaaaeeb7de29ed729aa4d389633b360663b065630b04069b790619894188d9c280447fcef9dcfbd5e239f75eae0d888beede556cd6feeeef5a7bed75f6f83ce75c2d5b71e1273e79e3c6ebefbbf3763a75fa391be81df67f72f5f79fdcf6d82967ada753b874f8d2a5eb2ffae8c1737bf35a1f8c09c56d5b1eddf4931f6d7ff28979872e3ce98c33571fb796cb2106a1edd8fee43ffdddfffda18b3f317fe1618fff664ba51d79ec1a743172e7adb7fc6af3264e40c7bdff03318ed0e9bb8d924f108f29f9b6852c6eb163331c707b17dd20aa8cea03eada475753e4e147d6b2f81be5eddfff978ddb171c77c905a7cd9db9ebf1bb365eb3e9aa5f1c7cf9c950770f7fb3e08dfcdea2677aa7f191767aff1f6eabefd240bb3b36ddb179fd07d6cc2d2f4b0638bcbba0472376864dbf72d3f58f2c3beff2d9fd06763d75d335f73db3ff0a3eeb45eb8f9b79d5c607565fb43a9f1d94419956127f830fc7bd832af697dc5bd85f6c130499bddb0b8c1c8ad482a3854c525605b99d198c8fc15126b7487c0c94f87b3d569c0ad29d26240253e5f6c2f0e5393a277206379dcf25049ca3394f3278344e15042e391cfe1cee3cd5f0ef85c3472687031f190e02275174992ae0c858c682c185e31213fbdad43e34f12c43fa80ae36f5301c709a485bfa496dece0278aea82c3b739ec44570e45121c0cda2ffa822c8ea04d72413da9fe4caa5811cfea9bd70f3ce7691632826f54d818e8113931e4efe81b2b7b4ac731c24e431c905191c3aee38647ce0643912a1163458ed657bef2156a6fbdf5d65ffef297e270c091d5427ef2c92769ebc4134fc4195a59bb762d9c6f7ffbdb545d72c9257cdbed9a6baee11339e9a493680232c5b3ce3a0b27e1f04f53c1ffcc673e43137c39edab5ffd2a3896f52afe806890f73c3ce1e35e44674f39e514becb46ef5041a00b3ac06589a601ed02bac82026fdd77e82608b82688147570eba20fa03326aacb40c8d04079be6690bbcfa40510ea036c991e5939be23fc5a8ab5b63a5ae4dc0442057973c6d5965bbe4e1a828df56f424fe603fba0824cd824717f9e59d3bb94e9cb9e1821933f6dbf493eb9e7ff619ee0f90e1d404826511b43afe70c8d6c8f4e93330f2ccd3db0f997f281cee033ff8d63f7df0dcf3172f5dfad0bdf7f00da8cbfffdff317fc1c2e34f3ef5a73ffc01ef460e5db4f8be3b7efdc273cf1d327f3e5f9a7cf0de7b3e70da19b4f2c803f7f1bdaf830f39e489adbf41ebecf32fe25dca9db7ddf2dd7ff8e6e5ffe1ffdc7fe64cbb633ce1eb0fe093dbb6523ceab8b589c301071ef8f93ffb4f14e1e01857260847ac58f5c273cff08a866b15dfc8a24708e8e22dee41a03bdffc6fff65daf469b3e61ccc85e7baabbebb64c5cab987cc7be6e9a7a05dfdafff6bf192a5b30f3ef89107ee7fe6efff3bf679428016c9761f7be4e16f5ff90dbeb4c68d6beba38f62965658f3df376bd633db9fc2ed5e90a74fdffae823d20e5fba6cdb962dd0f8e219572fbe27f6e31ffc1bb7a62396afb8f7ce5f73efd2327e6a9f5c019c7e4dc2719501838093783ed61ca4d6a44a14ede08ebb366f1f5af0d13f3a756ecfcc8cc56b369cb9e387cfbcbc73a8b7abf4c6e4965b7f74fdedbd0f7dde8ad32f3ef7d819433befbafefb9bb7f45e3b1fb868dd273e72caf4dfdc78ed7d4307efbcfbc11d2bfef8f3eb678d5cd51efac5d53fbdef0968b396acfba3f34f7adfb4698fde74edc6bbb732f7f65f70cc45179d31fbf19baebe63e741cf3db2f5654cad5e79e08ebb1f7906abebcefff809336effa76b1f983973d74b2fef867dd6473fb2fae03d4f701ebde5da1fdfa14b677cf49cb93ff8e68f6965e3df7f73fb459f3decb19f0c57ad3ce3e2f5c74c7ffdb5076fb8e68607b7d3e6ac035f1ddaff48984480cfb417b7a76e7970f7828f2df7cb724f7dffaa7b97ad58b0a3ff12efb0133f30fdca5bb6ee3e6ac9f4deac3456e4c82665e785b51d991d997fac8391c3dec4beef2842d7676408fcc54bcf038c5bf6a0faefbab0c7b18388f348cecd5d0e8ad844aefb2076c01900e0c808a8b311b433c37b34567c9a2d7522b067fe772af6b122939651eb12c034663267aa8333bd01e9323464726408c129222726e188bb9468132d0c6a532372b4af4d109bc00eba80e272e4630d01444e6404927c5a419643ae1bfa894c13d0105cb982a3050e5f15709d910f885039933c56fe335e89030b74640492b1f2b116fb04fd25272cec555e7550a1161a277b3a4b2d38b51efafda3c9d86143222cbd1daebfdb21b845f1a5acc30e3b2c3471397e40c8240e13bc48c1325f7de636b26d1b67a72d975e7ae9f2e5cb8f3df6d80f7ff8c39b376f8623f9bcf3ce3bfae8a357ad5ab572e54aee8a1ffad087f8a9cce9a79fceb6c79ea735f2d8a751ee3c18e42ec46f5ad6ac59c31b9b9b6fbe199c77357479debc79b4824d1d4046d7edb6dac101fb88627069b66597a121902a0795f84f9576200447880c0e473be2da971f1ff447903c1c6514119475469b68559b7aa5ae0ec47e74e1903af6b16613e0da97df6bb2ff8176ec004ad38eea984520512b7ecfedb72d59ba9c1723b3e6cc59beeac8bb6efba5767a46fb661574551975eda45ff7def1abc38f5876f021f3e6cc9d8b917b7e7d9bfedf76e3cfd79c70e2c9679ecdab8cb32fb8e8a835eb38bb73b1597ee4d1985a75cc710b0e5b149b7c85ec9107eed5e6a30fde0f19239b7fb6f1a4d3cf5c7be2c98b961c71fec59fe03ef0e0bd77d738c021d9174c3dffec0e72ae1c9563137078f5c1883de7c28f5cf2275fe416c46b1c6e294f3dde3b689ad67ee0e43ffef27fb8f0139fa2f8bb97777ef6dffdd967fff4cf162f5dc6d567fbe3db8c1b55fc62e7d2cf7ff9f23ffdb3454b96f2eb205db245fddfb4f13ac89ffed29f7eecb2cf7ff20b5f41e5e61b7ebafcc8a3b82522cf9d77e8473ef99943171e16da272eff2206a5e1e72ffb5f2dbbe063978273df9bd97f9041377580bcdfe9493dae709250e0279d2251ccb80a6eacc8c341b68fe1bcf8d473438b56f3ba4d0ef8d1e77cf8b495c3dbdfce07b9baec5c7fc9e59fffd479331eb9f1da7b5fdcf9c0c6cd5b665ffc275ffed2a7d60f3d71c78dbfe1ef68bdba7dcbdd5b66aeb9e0a3a77375c10e465e7ce0da9fdef7d4baf33ff5f9cf7c78f6d63bbe7de393203fbe7beb31e77decb24f5fb0f8b97bffedfb7c8bf2d5679e78e4c0933f76d9c7cf187ae2817b5f5efda9cf5f7ec6b25d776cbced357ebebefbd5d9477de8f2cb2f3975e18e1bfef53abe188659b2df62e78e9e4b5ff8f486198f6cfae1fdb3cebde8f8e943d3b9f31cfd2257979deb2ffd939eb70f6fc2db17eefbd10d0fee38f5c39ffac2a7cf9debd7e046d622fc7c6efbf343072ee05902f25ddfbdeac5633e72eeb1b35fe93fd97b7dff65aba6bf7cffb6e1dfa518671c48b29b1933e09923548173f74020b120bb4fb9b7b2f5c0640f723f722b615f632fc608b5c868b94da3cbe605280ea76fb267d3ad01440eb8b204f8e0ba244e8e296ac1c9913d0320ecdb6706fa4b07131f83309963e527d8f24e04a6cabb179f52304099c3bc1571e0223b7099d2cc5b383e7d3746544110278723995a644c6984bcda9103025ef920b60bae4d4ea51090f3264715759159e032cd3425dfa62120c0f14d883e48d03d6a11a00d3e7d118fae1cfb1edf508fcfcafa80ae9cc91f2bf6033cc75bb66784f4977ef1ba83ee4090c38dc598f08a96275eaedd5c66d02538242c645b6293c88e852c0e1226b20782205ab068ceaffc69fada6baf958c7b0c032e27d67223c2025538c0cf405587af508ddb2e08bfba81c02b172d68908f9ee1a196b8723cd4540c56418eb978b4340598988430683f5a310e620c41621fa1a39ba202794c2127a5e9d80f022720b2ed56c518d41fab50d119d53b7d8cc12a68c75c3c96633376f8da186f1b7e7df34d30f79f79005f003bfddc0fa5b69a45173ba3c62a46e0c40863f8e9279f3cf6f8de179f74e0c28f7f5207e246ec83f0c264f30d1b7917c45ce69dc6a59ffb12b5bcf7e04fa35cf7fdefc8e4a1ede38f6dc9d7dbd0eac4eac083de8705febc05fcf4e2e59dbf65121d70c0817c250c15bf9dc5098d9fd7f336e6c96ddb161fb14c97780782ab5cc328f2e6876f9a6187eb16dfefe25d903e50b5fad8febb1d1e01ac59cbdba1a79ed8c65d4b0b7070f8a96d5bb951f11535413ce18ec4a3088be695667ca0f1b534fe84edd34f3d01829f300f38f0a02396afe45b675896a6bace80508c63c820c4448e55d1eac44a5d398995a662b00ada31178f659b03ecd8b109f0303b72c7c3d42a68564e9a98f6ea4b2fbe7660ffe8fdfa335bf90dcc8c476ffbc5a3fcb5faa1a1971ed872d0c51bfee8c0c777dc7fe3ed0f3fdc3b0b732edc8fa3e1924b2f3895b72b31b563cbe3434bce3e65e99cd75f9f7dd1972edff9ca8ca76e787c68d159a72d9f0f67fd8623fffe9a8777bc3e6b68fa8a0fae9e3f6368ee11d337ed3afed8d933a6af3e6ec9a62daff67f9db26cc3494b7063cd86b337fffdc6275e1c5ad97f28b0e3b1ae4bb32e3a74c6d08c85871ff2dc4f7b555bf0f6f5d7f5f6d9839ec28d358b5915679f7bf6922b37f64eb124ba4ffedc134f4d5f741c77d6e7eebd7af373475efef105af3f3a4ca096c1543fe844d898c7084568c6b30e00d664361acfcdec41ec473059b411d005a1c8aea4357010dec65005c246c0eee099815b906706af43a8c08446c2543b33102b373e2283bc0f9caffc705bde89c054b9bd30a5594718ca0c6864277c729615e67fa63d31a2482d0255f29151e77c009e05480e45f915871c3b36143b1841a6d6149ca2766c081c833820ae715d05b151f80818b4a86c73fa06d3b6e0d8173856691f5c0eb86d89ef4bb162cf205024047605729e6f91d377ae31e006844dc2a75fe0d4223366dc5a38221025f7156ad9994820cae016e520074188aeea7048d807e7872816c9fddd4b8a0aa8442b0255c83d0ffa3ec81ccba05af223a715118a988aacfdb1386934fd0251b64a59756d7670f9e4d42657a83ee89576b00901b91ab4283eaa2cd956b45fedd4b6e474728a241d48d3089a1ac40739f1cd98608d9bc073cfec60d8906b81170e7c6b8bbf6d55db8a292ce833b5b64b3eaa11de69f067b5f8f98aef0daa051b1accf911c8fc4317f2d665f6c173f9510a5f15a3157e858f85030f3a487eff75cd62fd17a99e2073d3e03b60fce6247fd40b1ffeeebffc67be9676d9bffb8ffe15b2fdf7ef7df10c757eea434e95a6c879e66c1f9179a3d3cf87bf80a74c4e82a60f7c878d221634880cbeabffa72899693d6a3ff16530fecf1f141c2ef747ce6b8546a35449a3cbcc74ec90e4cfe8ff3247d9fe56d9a6c5fd5050d42020493239b2849af7296fe0c897537507e5d8b14a876d45190255e908b2fe547c54af2090a87adf9cd97c8ff09969c7f66e15bdd1fedacffef19f1f5d79fe1fafc2e79ef1a1598b172e5cc0ff172e7cdf8b43b3b6df75ed559b772c3bfae4d5279ff6cad51b7bd738fecce3bc255c5d3408a00fd3670cafa2af3dbb63c7aeb9d37a9ff6f0db6c9665d47aef42764fe3bab0dfb4ddbdabc22efeb60affd87c2f563dee50ffdd17ff9f3684a15dfd8748bd12f5c5a5978666f7358676bdf6fa8c5ed5221e0641c35baa5ee79b6bbb4662d2ffb4f1add7403ff5845ee995db36f5bee1f63fbff960ff5abae51bfffcc4e59f3ea9573bb26af58955b567d3fe329698e0e4e1802bb3d7786971bf4696e61ec46d042372d892d8a4d88bdd8030e83eaeb3c8d9dfd565bf2686eeddedcc60ac883969d45819cf9c79882132e4c979be6abf7be97f92dd6caadc5e1c972c043c6574da9b3b645d20e0b004786b17afccbcc190133b595c9800dcf29d2a709806e4d811d7b8e1d72cb8ab8ccc3c2d908f7d8de873fc777962eea98b40954f17341e1fb4e39b19d5416c1a9bb193271398b28f692b7d9cfcb162e1262083b1f28a424ea7122b1f59b10dd077ae28f48ec8f0948bbb047b093b0d7cfa8e3564dec0b86160815a6572640dc221516b1a94453a38df1f83bf7efd7a4c71d4e0b91a3fdfc78dbc7e09dfb6e0c44ef521b418c42b40ec3cf8e083fcc2479f41b413274528229072dc41d63e55ea5a44d607ed74f868692a78d58d7d041216c8e5939b449007ed035aab0fe174ec5024553f6d2b7c05729206e10fb6ab56fca728a21672fa189caaf095c78ad59db7fe92533e7f0d3976aef9f63ff37bf155471f8b22093c82f64582531b23e92f46f8061a5720be48c6cfd639941b871f7ee75fb0cc0d449bd5beba47af5dc71f1de6a507bf710781c097bb962c5ff9fe534e3338dcac66cde679f99e4f0d4eda05e7cf0f7071e217327c0f6de1e2c36997dfbe73bbe09a317fe1a2430e3d74e76f5feafd287ff90ab47c153377fefc74c7b859b495b85abde58dd0e2239682f8331bdfd5c4087f0660f69c835f7ce1f90f6eb800ffa1e136b57ced6dc472ef28c9cb9f411a0eec7fc081fc1900ee93b8b760d1e2be9f5be19374a9f61759905a71851e7be4e39323d2d1b5bf12620781f456c6555aac76d2968e69bfdfd49ed947513fcd292e38e1a459b7ffe87b3fb8f913179e3277c62b8fde72dd03bb874e3dfe88d75f7c00ce9c0573871e7e71fe51e72e9ef9cacddfb9f2e1054b17bdbc6368d1691b3e78cccec76ee24dc7f25e7c8666cc3e08537a45de53e401e2ed9b1f7a61f9aa39cf6ffcf6358f1d79fec50be60f6dbee99e1d471c33efb7bff8c5bd43b3d62d9ec6cbe7112d74fabef61dc34976ba077f71ff8ef5abe73d7af3edbb87e62de40160ffd749078fb8b468ffdff13bad87162e3b6dd7ce5dfc8de3975e5dd2ab7a69deea730f3fe0d55bbe732555472f5938b4e9a6fb9f5eb27afece5b366f1dda7f75dffef0bc9bbb68feeedbb6ee1a5a76ce659f3e65d7101fc9ce87375ebb65d9a5171c33736857efca245b9ffaa1ab7d0426e6e4e9bb3187e367c19e826cce9ee5bee399815d892d8c1c26387b134cce0036880a02b8fb3e3955f5ccc0fed5ce0cc66a9f3c5fd9b596d7084ca1db0bdd76994060e673c86394bb0ab02818142e1b70943d9bc2f11651759535822e5aa4d8970fae2e55f0c95d77e423532b4724f6c195e52ba38e59f93444153242da8d7ddb820ca26c47ec2f2ada51d1b690a9950fc164bbc8f0d5a551752554be4dd85f6855575923f6d4a683db1775b5490e482bf291a9b5ef22b1afffe4f2c559fdf5131c23da673bc12cfb011c04ee2454294346856b0cb89b0ddd71b7a0cab73190b1508f1776199c5465385873f7a2396a6b0e93e728b4be62c50a76af9ffdec67e79c730e6df1b7c2d87b4e38e184bebd9e4ada0241d6a0d622db962a2b57aed4e0d9679f4d47aebffe7a0d620a3e1c72f8241ca04522290e211ced6b901cb28a916146462045b767a55f0b685bfdfa5ea61d8bc86917049954752b5f8312c8abaeb284b4ab6ef8e0cab1491139662b33ba08e0da975fdbd5261c52a75d90f0538b6e8fda4fbc88b8ffee3bf88d078ad1e51b50fcbb259cbce5547e6d975a8c9334927f0d46fed16b8fffde3f5d8911be36f6ab9b37718d9937ffd0fbefba83df87acfff0c57066ecd77bccf1d20bcfcf9d7fa80d9183af3e6edd2dbff819f7933ffad46518c72b7e88c2d7c996ad3a92972a7cab8a7bd1e7fee315b64ead1c759111b88c7133e1d7f0fc3a7fd1114b5f7cee397e97027ed6872e64409e70cae9bc96e17b68fc14e799eddbb9e7f01bac95ab8f4ef7f5df6240d43b893fc14c732fbfbcf3ae5fddca37c48e3a6e1d84ca7fffa9a7f377d5aefdeeb7f0ff896d8f71975b73c249dcdc66ceecfd298ea79f7c823f5a70c2696748e3af39531b1ae1e2ef9bf137d0b8ec9d78c699db7eb385afb7693f4de0a77daf391cfd3714929149c8e6729011c8b56351390d095a243755fbcab6a22cc7b690114882b6a54c3e169f2a98a4280eedb7f4931f3fe37bdfddf4afdfbca3af3e7df5591f5f3377e8d59778e5f1fadcb5179ebaf55b575ff9df7b55fb2ff9f0c58b0fd97ad4d0f59bbef18d4d43d37b67ed877f76cbc9670fcde8bfdfd0acf9fc932f5cf3f8b736fecb3736a2386bc5c7cf5c3a7fc661a73ef1ad4ddfbd7213c8f4451bfef894a11d3f199ade7b17d703f86f5aef7cd22b4e1f7e45f3f00ddf7df8865ee5d1e75dca976bf96621ef630eeebab4e8f5192f1e356f68f377af5c7dc1a74f5df2bd6bfee11be8e0ed451f5d7cc88cf9a76ef95f37fcdb3ff4ccf4c05ea687087397af1eda7cef33d3a62d3ca8f78d5bf003661f346326ffd0cb8c69af6e7978f7feeb170fdfca122e38892d2072cfe17e8a2c0e56f741b6895e8bfdb7285e5d78d9c29e85cc02eeef397deec65a0d998dcc751b8e88ba180151aefb204606f741c8e0b68b10be6472f744773472f750eda8685bc8d4cac79a29fed84d98d8575742e5db041c08d0aaaeb246dcf16d3a387c7075b5496e5fe423532b4724f6c195e52ba3ae9fd4e2aaf611d26eecc3974caebc176265f45ade89c054b9bdf024c39fbed17f0fa6080c6b70462db2a316c1816b31031a81c12adfc9a0ecd08f1c9b7e3f152d9f8e8093689703a5d300d91f2480d316cc38a0fdf0c5339dc4336db08f4d40a6509ec4a45dda02a78f72b0acb5f8801d75e1f8968686f04ddcb6c849f611cbc87175d2c6cafee22a7df15a627cc0395121737fe0bd04b514794de13b0a709e60b179a008935a04af22e4d9a222b34b91824326891061762c92eae214f9872ff9bb6177de79e75ffdd55ff1c7c1bef7bdefdd74d34db4cb8ff2f9693e34383d2b231b2ad62c6a2a787cb0961c23d5e0b265cb366cd8205f8e9657af5ead037ff9977f696d6d317dc13eb855f6889c626d570e46c0e32702a9da51eee01455d4661ad2d56a932a127c72f1daaefe581bdf608e8aa31e3b08a4f8896c2b3a605be1531b5942d5d51f55c4b5167f5091c375827bc48a238f8a1198fcb29c6f6af1eb176471f3ea030845127634b27cd5eaf0c197ae3c5223279f71d60bcf3ffb8fffef7fe3ab56bc8538ef231fe32f80a13e67cec1fc14fecaffe7bf9e76ce79b515fef218b7145e95cc5bb050fbfce8ffb96777fce3fff77f111c6e35679dff61feba006d8d13ab4b2effe2cfafbf963fdccc1d06e3b478fafa0f1d7fd2a9c8bcd2c1c24d3ffdf175dffb0e457e737ffe473f816fc8fa6f4ebf404cc8e9da083674dcfb4ffcf9f53fe4e686f10d177f829fc7a4cad89e78da077fb773e76d37fde2faabbe0b871741b40b8720f0631b6e4d54f1b396411a7f51001a7fa880efbfdd7bfbaff0f3d0858bb8f6f04a2abed977e3830c1e593744901148e3c4aaf261aa82b5e0d1b55f566993bcd3ae1c74c1b5a641f9da84a34dc08acb44b1a30b3e7dde311fffd2311c005fe3fdd54107edd7776fff25ebbffcc59e9f6b2ffcec9ad77ef7eaeefd66ceec5d895f5f76c697bf7c1a2faa595c796fddc3670c7d76f9f05ca345edf31db0d33efab9d376bdf2bbd7f8fd3ab71108fbafd970d9daddbbf9593cff8c3096a61d71ee97bee02c9879ce17bfac87337be0d02b8f72b139f2f35f389baf36ce983913b3d41eb0f4bc2f7f91ff0fadb9e0b235bb5ed1a57e8b73cef8f8173ee8ba71c467d7f2b46a173fd7ec3541a36b2ffc5ccfff6907e067cf4edfc39e15aa67ad5e73e0a6db1eda79c1cadeacc1f303569c77d9b2dee07cfad7b7ec9ef7819507f61e4ef5a823af591030e2a8501ee96f77bd624f61af616f6567613f65af719fe5d282ec9981dd877d9cdf5ef61a183933d0a2fb7270b66098d988db9921b1cad9661f3b5ff58743cbde10813d4bde1be0b756e8ad08fda45073673e481248952d920f26c625207915783821886055cdadbae38e3bf8a7fa9039e1514b8e77cc7ccee241c405735508593e7996891811d14ebfd3bd73248ac872621926606c22d486aa8c229ec8d7a68a70106c1159ff415cc582ab18500b3168bbda91a31d09ba5773ed4ffe58318aec2939fefb76c59820e3bf5b38dd8409ce8031e614036a84223b0d3276f887eaf9535d0c1eabd899b08fac9016838426628eba5b5a8e1151e74d081fb7cd614d1cbedba15ab612594e2c776cf24b1e100cea27b44ad072dc0e07c116351b372aae1d2c08929362104512083439182149a00ab9e6eaf6296fc0e1cbac6ef75a1a392ee827456882226af578e53027c776ababc1a94a43558610be36c92190106c11191a090472c5b519902a520cf6cdbc83b1a2a19dbffd2d3f65d14f9a8e932214ed8855ca72ec14bf77e78f32fb1bfae054d92f842a43e8758daf623ecb63eb697c0b8bf6e460bfd7e2eeddcf3df72ca7347e4f631c86f16267ac58fdcb37ff7ffe1af2273fff15def0f056e7e083e7f27c7bb8c5918b0466406c9117505cba6854c49c6d83c9cead060e55b4f5c2f3cfe127b5d51f7eb1c3eb9d9eff231f562c8390b4a6406e6dafef236f2935a827016d74900f62928f8c8a32763495b0549b0155af0e40d38e1ced48a08a22397fe14319265572524b5110245d004c5bdaa71641bc635f265595a37d99102c2a20a7a12aeb8955af3cfaa3ff71ddd067bf727eef231ce9635f7cbbe7e0139bbe71d5f39ffef28573fafedb8b69d3b67ffbefbeb7fa922faded0d995ebf6a9efe221c7ef8e116ed1a394c7216f9871f7e98bffde8d5859d850767e4d646f6cc40941064a26b11267cf7ac2a87e00e4e31493ec59c0dda99819810dbf756ac3824f0109689c0e78ef3e424e705029f2f0392414282f9f5af7f7dddba75d0209077924f6fa952a0363405f2c16473e0bd86fba9ca00f80042ae5cf380086f6feab5371552862c9f16fda5c8d2c042c0204e0e48154f3e98eae024644004f9e010b0009ea0f1d6020b10c4c9e1834417198ebad028a20b279e2083e08f6d59cb2a4391842e08821c7075e163a183631c5c3e2d6ad3a232fc70c04d20d8b4d72070ec453c44574e72db7d6fc58ab94defe88b31e4f6826c7fe93b371c3ac5ac235786af6c94ccb35f220477330b01c1dae49845667af716987ea2c8ffc9b96678d38003129b344d2d49dc9ca25ae6705c32fac49e3fe09c11e9a04c3d894cad9e80a05bfd4c2b54c9b136ed828bd022728acac9e12401d2a2bd06a498562caa655fcc41a88a1602493b92edaf76d2d01f1c2bece809adc42565726a6df43d172b3ce767f76f2556bc1ef1ea924fe4cd63d5fba361f3f8d3c9ec606a91a3d58be4f4e9730e9ecbd5a583530c32d6b8caa70c21f7226c52f493c2c2702bfd1d9d86f2995205879c6d9c7753558b1fc040b3b647e86fbd70b8f9a4c5a930ae06634534048d7042a44095b122e6320d5768e27e22104cd692ab2b8822084c9b43d614b5cad64ade6fe9599ffddc795c5de4685f5d7238154f11212dda8ab93655490e488bd3179d71f967cef26b63a595f9175ef605be3ea77a727551d4072da4565c8e7d8146e24d8b0f5b3941f236869cfd97bdd53383bb6dce0c28528511f77d0486253202ccc820edcc4034f6c95839845ade89c09e69dfa9782b4526adea0a35672a5205920452658be48389a109485e0556014197036b935bc5bb972baeb882539d5e31cf3b77891cdc99ff1edc413092e33b53429584855ae749989a751181862e1c05b554e9f0a95225fca804ef7064920fb6a52e3802c9b6e27cc7a004727098c983a70aa1f657fb932d563e4bd0677d6348182b3630fbce4813418089cc9b0a048ac68a7b0b0245f9283efbecb37c0b8b81c4ae034e52304717819c6455648470224757be3879124694c34c8b1547aeed5a0cd32a4d6927ba08c1ab5c7525c4667407f14e43d5a0b2adc707f9a90a1f219cc8d10d2dea200111c24c2ffaf57b6c46d12e74f831251edd8a5739ad74f883f1412b1c846a645096d9e14babbad566e4e876cc5234757c0bbf8343b62d04ab2ad3aa8a6bbc838fa53bd896cd0de2d5207fd2807fd0937f7f86ab517004b4cc35a22782716054fbd10d4db35a0818ddf0c7f2332a95a94d55c4b5dfc1c7d21d6c2bfec44e8c57238372f54a23dbb66d93569db1aad36e743b66299ac6e27770c8b68510b71146b55f752bbfca55b7f2c7976b7f4795e38f76e4d86e9541642a84c07eb168d19e7f4f292a10d89e1e7ae821bea28cec5ee3a58563897b0d64f623361a0808eab2edb28b553e3255aab897c157172178953122935c824d802328832bdbd6143933784ea0e389dbe48c557bf7e2e0ece453e5dd8b4f291ca6e64e579fbe3b767de6e194e6c987539d2a9e8830cad1a20a1c8444515d04a6ba88397c75c1912190d08d4c2d766293da588083dcd718b6af3f2068c94417011c0bdaa45ddb22076701c23772b5f4533c7c74c101c5f55c591cdd744a413bc8eada16b4c91f2bb60463e5ba8fe73cf1d27f360ffa45ee06c0ed851ec1277a700041c8d9ccb29f294013472009f648fdeb47f2ca81566f4170a8ed6bef7906dce1c78e4da4565cddc8d46a5f3cb5d1aa4838d42a47577eb4aa7d64f9a94537b2b51dbec6c3a128819c14bccad59f3e6b98195c30bae280d5786ac52b0799daf4d72a75a3153e480891a32b3f5a692b38baa9ad32cc51f1ca414ea72abfca7048fa036ec272f0200882e4cac9e3c9200732b5e96fb5102d4174d3ae5ae2d1951fadb4155cad0ebeeea453f84b62fce39e1d5ce3b146510239297895ab3f7dd63033b86074c501abf1d48a570e32b5e9af55ea462b7c90102247577eb4d2567074535b6598a3e295c34f02d2a9caafb2bee90fb809cbc1832008922b278f27831cc8d4a6bfd542b404d14dbb6a8947577eb4d25670b53a38a09607f10e5f027984aa2b08823ffcd5ca3eabf70e273e23cb27777f41e04ec24e0ac79cbd86fd9d9d885d893d5a5db66370c824ae3aedcce03984f84cb5f39563a0e59d084c95772ffcee85a58123ac7700a2c0d2a08cc09201e253072706b253a5e2891d2ac83015228b6816759bb32173c0c15640b0107e5a11b4a83f18a4a88715efd8b4cab69203ea4fa7a1da17e23016c74e419eccb17223a9b1f2ad8b01e10b5a46c37732c87e658bdafcab2f72b0631cc0d93f56ad5a6594b251a182ec1e13c1566a2e3fdb984c4168c1abca9bcaa33657c1b4328e7bd5878eae0ea0dbc1e36db5af9d711ad25a4c4518ec663545ad4c418a697d50711c64d4e62a9856c6e942f5a1a36bd3e876f0785bed6b679c86b4165311063b584d512b5390625a1f541c0719b5b90aa69571ba507de8e8da34ba1d3cde56fbda19a721adc55484c10e5653d4ca14a498d60715c741466dae8269659c2e541f3aba368d6e078fb7d5be76c669486b31a5c0519893342b61ed6635052e5390625aaf2a6f2a6ba443ab605a19a70bd5878eae96d1ede0f1b6dad7ce380d692da62274fca7584d51647fe411587e299ed623b013f1bb97430f3dd4cb0c2a5c48d856cc5187e9d61c04a67b3d9661467617c342f8c84980ca751f54b7e2edcc4034de2bb16aef5e32bcab3055fee6987de6d6ce5ff970f2237354650e7b1ce7b4ea5ac0b21e8e884776f8599bd46545c0acb836cd0111b82cb94050c4266d7937d03e202dd6b6bc5cb948c9479da40fe4b69503377c6538b1695bf88f1d64b51048fa133b727009dcfee28f3ec8a75f8983fda5a1c91f2b96fef491f850b4efc86c0fc62a7f0499ef1ffb17c9dc3960bad9b0afb3617075a198af9651eb76e2be5537367036271164b448d9de8287135d0412b8318fae6d8dc5c778e52383e84395b1ac1b1d3e45526a6d4b1059bcda4126c53e329c3ed6cb3a76ec0b2069d07ff8daa19616d35f8a54c5abca916943da4426455779b02dc8246cf6e9c37c64dbd5cfc83207f91048a9edb41b3e1c7d4e5bdaa7084750596bc8e143200dfa1f0eb5da272751a44a81bcc58a68906a1c907b916ab11a7b5cb1b6efb57195b9e0e7c287c547e3e7d5ffe8ba9f5d870f199ade3af895fd7c23670c4806d78e2a80e13bd7a485235f6bf18d2249be3e9393006390a27c40abc8a925c50e32b56cca56f1448cb304fb14bb0c39bb123802fbaf1715f8ece96eb8fc6db1ecef8367066adb99c1f3d23e7cbeea0da6960622303c0f07f0b70438b731a15073e6b338a0096444ecbd6fb5a8d0c999a520e455e0e99120825535b7cabf39e6f19dd6592658053a4f23c051241767e170591114274f0a59243629229363811c1a934a39b8821c08b468aeaebe29cb518e418aa4f82fdf86d22fc8b1ec95233e44c048f87d93c33e23e36168a372301e1f60ca1714d7a079c816216b93a2a1b02d686f3d568ca5386fbb2089159719a34d43ca90b9d8c0046708192baf8556f1bb17fe9cb1a6dc9cec45dda294692842876351426882e3e7958c0c39eda62ab842e5c478c820e12bc7602523078f6e0499a3dae98032c73125bf3617e368755ab46aacbc92ab1bf053155c81aaf816b321ab184ec52b3904f91aec906dae53d501b5197f62a10a1d8e4509a1098e9f573232e451db15975039313e969d8a577235124e049914434b55079439aacf09728713e310625670fcbc92ab1b68a52ab80255f12dc64356319c862eed7d00004000494441548a577208f2d3af6a39ed7638d11df427cd55017e5494c92584167c1ca1929161c6db540557a89c580e19247ce518ac64e4e0d18d2073543b1d50e638a6e4d7e6625c2df25139ec2fbc7be19f6df0811a5a3e2b0447c57d90ab0b387b0d3b51f65f6add616d14d9ddca5cdd51f7d3ce3e883a6dd9907c2cb0df657faf96dd07e343048c848f4cb20a21cd218ccaa13968fa80967c4171f2a4904562932232b9edda85ea9e96d54286408be6eaea5bc78ece00da2ec2a48a557bf7c2273298a6caef5eb89d336a199a0c53560d2727882b0871011784032e1f9c41cc9b07ab28826b04191c2d8a24ec809094d3168ac8e0b6eb34b35d65ec63b3af3aac8b0a64106c3afd621f5c7f34284719adf40b449bd50e20090ed6c0f501241c656aedbbb4d8949fbe18103820f2519f9cb1cade405f943bb1e20d8c7da796b72ec41c81049fdb2f08321b92394c372772121100070c4e914415b92072bfbeb7bf62501c043955c8b150f110acad36076590b4ab7d7213b88922427c401621af3e0457cbe22067d08e3ec466eca82bbfda945f71982410fc11a7586352fdac789c848f5c6d0eca20e1689fdc54ddab1c6408e6d587e00826ed7438e90b1cede8436c060741b7fa6c55f5b936041ebebaf295631f4ef008d6d6b606e5da6e6c229074436be4ea8a27efc4a16ac58d0e67d08e3ec4665a0449df014d80d5e780e2e1ab4b2d8232b94538c12358ab6f80a441b9b61b9b082455c895d5554ede8943d55211a4c319b4a30fb19916d5955f9d915f71982490162be23056acfa411ace8c9505e3995ac71246c079ebc2860b42723f02641341f62d0ab56c4fd967dd8f300512b99d198886e7931a2b62b8af9eaf32969a5023d0dbc26bf96d916353a1e64c5a9a004902a9b245f2c1c4780524afc2effbee85d58121ee91ddb18e3f14990f2c0ae2cae2e4d0689179123e4570f8e4c80ab1dce177da42c554f92016adaa3645b00961d0316af52dfe2300ea1242cc2250d40e82b20d8dca91193e825a714383832ee94ff81451dc9bb1e2cd499ca469640698fee85bdebae03c55fa8600539adf164306e1dd0bffc42403cfee4363bf41462077a3aab960c8e1880cea8eca07ac0d8d6a3f0e6839b98a1d756b2b28a265e48e6320dab7aaca2a764cc54ef8f139a682a8ab4ddbed706cc2aad022585b8bc821d75660068fac7a8c840f123b55b62110990a123a72e5a44a66c78d8ecd8e0fb1135cbe4634180e8232796811fa957b7039716654fb1d5d2d4491daaa1efb0145b48c5cf12a5b655ba12154fb831c6b47e5d862a75d0d0eda19c4f5ade2caf17954fbfa1f5d544c837e86d3711ebe9615c8ab4de5ca094da666a3d2e16b7990133c8a58d320b9b57da0fbf18dc557370d8d6abfa3abfd28525bd5adada0487c0b19bcca166d2b55081d53b113be483515445d6d4ad060741194c9438bd0afeced808f3cf2c882050b28baed62ca1d87dc2f8c71c6f0f50b083465d5c92bdf7d2ae7f5d8445017c1fd6b708396ecb91fafe0b733c3248f557bf7c2a01d4c53e5dd8b533a6f390804339f1c9c84cc64ee448725261c6a913d88c3e7ad8bd31e15dfc0a84b150b0139c5e8bad0a04ba20a1f9461c61f10edab5b9d01c70204f8b6652bdab75d64fd810907103e79ec4bebf80687862ac7b6f4a18363019c04a7baa765fd97f3aec78a9b4627563cb5d24f72fce7f642478c155b82b1e20d4c762684fc4bc6d16537ca1d063b14a1b94575706ba9b2364d2b00cab7165941bcda14d75af2e8ea2d1c13bd5080698f54d13e55146b02efb42547fb32c381292e27f663b0ea0e7262077ed58d4d549463502178ec2b8877fc8f0a42f8ca2d562d560e8f0c928c3d10e436ae9c53354a2d568e8dc4248304413955899578cda9a2c81873dfa1c81b18b62155103a7b8d7b131396a5924491bd1875e47a6600415702a6eaa60cdece0c355644e93d1d2b874acb3b11982aef5ebef6b5afb11c70c4671c33cf99db06822220b23882551557cb1c82ea2e31c9ab2232097e6ab189cc740a8e1c3b8014e557bcca70740c3b9111f0937c545d4009ae6ba84b4ef7c7e9a3362184aca9419b1d1c82666b5b9d38a092202393f4df2899d3f7e09d3850945ff12aa3981fae20db1602afe9aa4d5fc4fbb9f8db4dfbcb4e834afce73d0cbf7b5117f54e7297cad1104102b8b204c014ab20ad728240130f5fcbe235aff81f2057fbca1849d31ddfa8aa7c8b95a36e3808d49a53458a2c074482428f519a90130bd195338887df3733dc965a83ba953341b9da57461137c847b55ff9831c75c3d1c238763a7c8aa4aa4e7130267206f128f6ac8cf83f8e0fe1f4e9a3f7b772aa7d656a5bac8c7027862d560e8c3a7ec692277facfc706b4eefd8a11e78e081c58b17673784901fbad8d9ec835e3fdc9ba8f2dad3d9e3b8f3bce93ee8de871d8c641f746b1b551710a6fba02ad90755a7180e824539f045dea36786c91c2bc6037f5e88530a839f2093933cb42010790618b759126f69befef5afaf5bb70e1a04f24ef28b275429501b9a02f960b239f05ec3fd5465007c002157ae794084b7374d95bf39c61b893973e638d9985dce373e3964024aced2c010e12fb150a4163e7f154402b27f7dcbd033ca55e789883ff846170eb97cedc00109075d389eaae55759cbe0ce7c972df92e76be098140ebc8e49583ba36fd4b26caf8ac9ffa133b70c06928fd451d9bf65d3fe5d81d8dbce762c5e4ecc48a275eacf8138c159f0e31210e04ea9e7beee1fb638c1fd608a2c1025165fec63f36890ff1a4513891b9f38070ffc10e1c7491d9b12460191c2daa488e2554c0f90451041ce4fb7180cb19e4836b2a1cec4003d443715b74dcd2162e21eb8f3e777ca87d890ff2b18cae3bb1fed4fe56594ee2830f91ab7df016ab16ab36aeda1ccc5a3469d72bf602d72bf605f682acede0756d673ab3fbb0a7b83823b3667a0361e983e97ecd27ceb700e460160ebb1867417064704064f6320f88c8ec179df340f67ac99d7db0da41667dce59628a9f1908e6e48c158ef151b6d489c05479f7e2bff762e79dea5506b1c89989d527b2e74810a677e523339ec03dc6510c475c7ee5b8c4c8cf7283a24d57fb702058d5b1135c3fcd61aaa229e4f8a30314ab7df9724216b41783f1a196246e2b14d3ba32bed5be878f50e34071afc58a8b04deea67bcf5786d2fec3ecf0c888f4ea252636591aef1540332451f30688d2d87edc42d8aaac8f451d9cd86625a57f6a44e1ceaf6a6ec4542c78c55c5ab2c0753b452653936adac3f70202b77ec04878357e671555336a1cf3a09a1da974fae050541b5b053f91dd956c247506eb11a8c5b8b9563a38d2be250e79161216f73702faf57de2568b4b35e813b7fd95fb8dbb0efb095f001f919b1d77833e1f3aab2ceb3ef70e7898cae7b93cf35ea3e05276703f1ecb9c1e1382ac8695d95ba0fea838a10aa7df9faac3f31a2567c833328db8a465454c6379bab6d75fc8749b21584ca4f1fc131452bfaa6ac1d9baef6ed382af13376266dacdaef5ef8bc06d354b9bd5c71c5152c132cf43c69e80cee4c63873e4f237802c170674c5726ba3934449643589d09c141aa1c02fcd8f7c350513be480753990efd36b9ca93691d317df9cc47ffc44113bc1ebe4a789f810fbcedbb1ec672178cfc58a4b05fdedc4ca7fe3c538182bee243556bc9da0d68fc358f9be02d9986bd337391dfbe3c74a3b6d5cd5083005de73e38a0fbdf3b967fc80334eda1c6ceb555bdb9d23d937292626d983002bceb071e19d24fb205f30ce3e3bfeda9e3303b70b99753fc58e71a077f4912e4b0bc7f3498d9504f768cf2468414b0c275bacea3e3bc158d917fa95385439b192362a073e293179af8cabdf2b56dc78db37c7fca06b3e556e2fbc7b6104b0207a4e6256647104412628ae3e72529b2529d32c534524d3264682c7b2c6c145aa4d106ad5ad3260521c13090d1cc4be2074709a930fadca807a62adfd45aefe634adcf5115923e290e39288b582a8601f59fbca358fc3d1d21f1dd078906a331d8453651b32971f53be55d07f08691a752e36c1698e5a105dd29477183d11811f8320928d00b9b1f24d4efc9766bb32d5d2cf49152bdcc3dbc4a4c6aae2c62add475026efc42a0625242689956d0597d66235eab86ab162789088431b576d0e3212320c982f14df95f58a33e8f8eb1584dea81d395ef3c1e16dae250c66aae0886725e48a025ed701641a62bf40371d8753658a49f2b50f181a38c5772556710967b29aa55f4640ff130d6a95e37090c44a15f158365672201887044195e4fa309963d5debde4c3aac2d4fa9b630c53e63f8b852395c1cd13536486b5239b5a0410702600321c4042e6f470a131827014e070e387a01170108ad811d48e6d81a0053f1c7535153bd048289253151f28c2a1888087562193c0292290e32782eac80a20c8d492f00dbe7dc71a490e36b5400e081f0e7cbcd57f68241055a8059fb4b1e2fbc1f8495f0663c50e614f132b049e90d13b7012321c528d15b717123761c8bc7b814628c8132bf86c307c7799af57412381a802028e16201c40aab0834c5be41449fef5330410ff3a8d46c041e06387bc67ba6fc7b64050811f8eba3d8b7d5c15f208e0f101103e45043cb4aa47ede31411c8f1138176c9911594a925e11b76ec3bd64872b0a905724074e1c0c75bfd87460251855af016ab16abdea86ae3aaff3b0767509b83c4813419d6abc17d90458c358d69cba0c549f64d739820ac69e4c8e0ecbf54c1a758cf0c80fd3db677f6e89c19b0cc5ee37ee4d6832e7690b36d2980b3259153458233d63e28879c7661aaae0f7dd52977669884b1e2d36969300253e8dd0b1392232c7398458169692c901540c43de67a646726cb578039c801a456be463418dd4a9029ad4380665b081d3bd5b816d4c5d554a1856f1d9c22389cf44eff01d5952007b932f7a558b1df8f152b4ec9c6b0132b5ebc0cc6caefa1c11f3f56d0d025aaa4441e0728a6ad36ae884c3f42bd71abd06235feb8224a2d560e95379d832d562e68c4a1c5aab3b6679d21386f651fe444e11e31fedaee95a37268974b8b7b81ce8090f0936b8f73dca540102634ec00e69060a752ecd8a9c635a5aefdc52c7c72daeae09ab5457b670ef9adc44af7c86b1c6c3a3ee84f870308ad760744307d0f41c1b6625c3279f8127a56068c6b41ddc913abf6eec50fab934fa1772f4c126ed5f6df29e4b46128e7c9871c4639c397045f0e5a2c55e48072329d7c3a021e0e06d5b52d65408a5886af1d6bc9a9c21a6de11564924f3e94c1156857dd286a47cbea621f50ff11d25f74a1d5bec8210f0759fb3283ef03b1e2711789300ec6ca27fd83b162abf055009f4562c5d33e4da1c55334b4468d95ba28c2414620f749213649c8b1cfcd0a9b80727c23a12e3238b57200d5d50765408afaa31d6bc9a9c2026df906033e76c84de00ab4eb13c1286a47cbea621fd05821a02b195d68b52f72c8c341d6becce058c688ba54b55819e1162b47451b574c4f824034da1c24149370bdcaaeca5ee91ec116835cd7433e3e4098e0ecf2145deb90c1d94128ba8fd847649276dcadb0ec9a205f0255edcc60283ab1da27cf57f6b4e59d084c95772ffe6adfe3bb0b07394b804773654303078129c1aad1e103ca0c9e686a2a7634a21d40844e5bb41bfbd48e25abab1d39d5267212f695f54d5975573d64fdb72a204565043934849c3eaad5f15f23761342fc4f2bd18a1d55c8dfc558f9f264ac58516b28d20b7d16cc5f1b131c2b56feeea58d2ba264dc10c68a15f8be31ae1c12638dab8462d4710518428b5542d16245284c6d5c394788064bcaa4da07b98de0d59bee835c51c6d907bdc068c43eda5fd7469aa0a89c7d16da58f2a48d153e93de3456f4749c583917c68a15f6f7c9583142daaff6fbc3e70dd95479f7e202e1e0ceed9c39c01290d90e874327eb23892725c84c1508f0c90161223b739431084e8e6ea60d72cf441f471123c8b52d2c631f2dedc3d10e02384c716414551787465217812afc918016ed565d09d4c24f1f298a83d829116d2a63070ea9f6b1fa4f159cf762acfc68c68a15b53ce11b2b5679140a87088c152b683c7be385836f51d87b78e391b71fe822d3906f24c8e1c3f4cd03646504707541e0a3953727e0280276da82837d6ab50f473b08e078258e8ca2eae2d048ea2250853f12d0a2ddaa2b815af8e9234571103b25a24d65ecc021d53eb658f9591096162bc609a98d2b06037168739020b8764ddaf50a0fc7da075d065debd8713afba97b28b55a20ef9d1806ce0c18713f6a6706e2c09e4b1cc68a15e7997d35568c969606233055debde4df7b61f433c459269233253cf49367f9a888d386d8b906796cb5281fd969635574b52c4782eda6459c5117dc3bcca83e846fada65034691f75db05b48f0836a710fb2976da0227a52de47d35561ca327122bff78a51fcd4462c55b17036e9e487674c5c321ce108c3c39297ce436ae8c0671206e06875cb9c58a51441032f75bac18276d0e3a1eead8609090b22221efab6b7be642fa88e090507827f6416e9b69772273103ecebce9dacedd26cee7b36b6706229c6818ed04d30f3ab5fb4cacdaef5ef88807d35479f7e280e6d66e08586b786be19188218e9c81ce5b0864f8e2309912c8b9f13361902b5f3bee164e2d5ac126b9a04694b1ac0f58a86f45e21bb5be0941d007f958c626a62c6a1f6b20e1c3a1d62d1c01dce6e0c46710f9f813ddf8a6ffe4f1070e6ded4bb162f320bd69ace010049e0413c989c40a3e8fca7862ea1335de842093838360071983e23e9943ce1b15df7254be7678ee8805df7e2060935c5023ca58062761a13ebdce1b0faac0fb941e473b14b18c8c29abc4b106123e1c6af1c7b6c06d0e0ef6f519443e9ce8c637fd278f3f7068abc5aac5aa8dab36071903ae3f591f2866fd99e4eb15fb293b351babfb353b26fb05324b2202c9fdd475929ec21fffcc40df5916d465f7711347c0a6bac824ec2b90bba723e88338edb63383a1784fc7ca2eb4bc1381a9f2eee56b5ffb1acb0193d92586f5c5c32b4505e2e21a4191558322eb0b7995e5b03ae4282f6dd026b86d21444e4320aa6007fb382347599ace88939340067dd313711d0e53be45f2b41e3b69374c68f6d7f880d3d97d3b56f9db6235ece3c44a3e819a82b1729c64b4201084716215668b558b9563a0ad57c4c1c130eadc017419671d6eb1da0762c53d848f7be267861cb25957ebfa6928b4d3ce0cce9d3a8ff6ed58312adaef5ef8d03b69aabc7bf1c904d39ef98fccd280cc886758289023530bc8791d0e088978298393e0508b20aeac4d238b8a76d445ce32c4531015e5a08b0a391c0440b62b6404123683a385eea06fe8826b1f5d64143105225f97628722a6ecbbedaa2b4e15093b532a563ef524b6138c15bb11f134f114cda7837e5e6d5c118736aeda1c641969eb15eb495bdb59579d0e2c98ee35ee4d8c10e243153851da3762c55ec0ab66df362bd33b7a6a1fed327b04fd452632eeb389036f66d0a538156245dff9f449f4579998902618ab2935ae324e88554b350253e5dd0bbf7be1dcc96c61ed6001ad2110040147ce132fe692875a10a719828ab153f954a9123e882ac13b1c99e4836da90b8e40d2b738df3128811c1c66f2e03a6c515de4f866402a87daf41139a97290f5dc16f78d58f967c7dc503bfd22080616a1c62145c3387562958e23b4581904f2cc3e6312bc8e9936079d2c2d560e0fc74662c25a9ac539e3a7c56a9f8c15e7753f6ec6001d24e5a3afc3201c6a61baf302caafba8c93be997666e84569df8855fbdd8b43ba934f95772f0c626635b75826bcd39b9c04ce51d5158422d1e1a92139324cf82e2520f50981b7e1f03da6b88260cd09230745712712326d09c21cab2daae46359df500141d6e7f883809fe0b64251cfc9dd0bc1491894494eb2080e4d7f100091d112c7ff29182b9e7ef10d434244dffba16ab11ade53dbb8623cb43948101c09ac0f442373a4ad572c9baea5aeb76d6d270e8c8ab60f325f48c6018129c3d87067f7650b3b6f8b15f12108fd508d122b706a09ddd48c95cb6ccb3b119842ef5e5829584c5d3e72b2673244766e787ccfc60c181505ceb5d656dcc32e78e69876623f640cba549983471739ada716443c391600752cb514c742c0f5199bf8a36cbb710f8e2df6ac8cc870906d4bddc8e0ea562dc0a828d856074f7fd1ad76e24c8c50ab7d73f0e822e34ca736d1b0b6da09621774297c8a22e4fa8ce5c48adfba00c63d38b6dbd319916b5beada10329ca9132be2d06235c171d56235eaac64be0ccec116ab16ab1a0164c6896b6cc50149a322e0efeeb8f23730b8e1fa8033c8edcc908f52c1cfc80fb1c5ca93467bf7c248184c53e5dd0b4f3b58269c1ebea940e64c49441094b9fdbb1a02c267dc90a8ca1335e615325a568943460bddc16588aae8464680897deda8ab2754e92782322de200393808edc2c72620c5e014a992133e02493ef691514197d61148f8acfd3eb1578ba09d162ba29158b1ebf03d66be970c4232922d5684a28dab3607b39eb0feb89e24266dbd628d6d6bbb6b2939e32132c23ebf0ff2c0945d83bfa2c6fb7c64bacf9a49c749edcc4034486ca3c6049975c33da55fd36235fc0307cf750e9b96d7084cad772f6e242c1c1e40992d6ebdcc1682e2911d50991c1a6405725274c541d0c56c8a5101d73848b5a90a5521f4ecf6dbd21f9dd1a67e528b7df955cbb62a6e5bea566695b146b1dad779c1b40541591f5aac8cc39bc68a5fceb4584d30560cb016ab16abb65eb93ed7559a51d159f341982c2d56932a56fce1163f1796b26cf7ee11ceebba878a83b8d5a6e8672d1e237cd6b199aa3a42006ddab304c5baa753ec8c1f10926dd5186aa48dab1a93c916abf6eec54fa4934f95772f99f6593272e3a78a27644e6c729f960122d72725c82e07e4e24c7b755968e483a0a5cc72804ca2569bd49aa882439eb725e0b1890a7cfdb42d65f9eac241171cc56aa7ea22536bce02874ca3e6d8c72b6497487012ccf4d135d476c5c9a5a1ab4d72fb155d10527c065706acedca070157a60b3dcd7d2256fe7b053c6923f917c988aa6f6f7c02879c7fd3c07fff841cb232b5f0d5f5afd08890039263849c442df629c237699f3cff660bb86d21a0029f5610d22eb27c7529a24b2dfc6aa7ea226b8d9ccd9b1cc7ccf3860adfa0819310f0019bc8f029ea8378682d562d566d5c3906da1c74244cfef5ca5daced83ece3edcc4010ea3907f96d3c5f79406a798dc0147af7c282e8719f3c932db1c8315a0e3823cf09193282e76c38102c6a8d2255e2c80c5c712c74d4a35b8d875375070dda686d6b2c1f5c556dcb59447382a88357024812b8b5c9ab6fd24010744f3b2d56c6adc5aa8dab4cdb1a0a64e78820d3a7cdc1ac21082d5604a1aeab161d4b1dbcc5aac5aa9e2b9c3eac278c932c3e015bacf68158f150a3fd7b2f8ce44e9a2aef5e7c53e136e01b8fc8d91b7882e21240ce558785c02adf3620330dc03985b07f90202013500439e2d817878fece4411d0e388232b91f861c7441c8d5a58ab628228047b62d8f3ee01491e1d04af501be8aea42d3943855b4129b14a995808c3fc641991c23ca0af181628b558b1563a38d2b82d0e6a06b886b8e72d60a8ae06dbd629c90b2f6b658110163d2f641e2d0ce0c9c4c582b48ac159e855c43088e38e3447ceac4ca09d2f24e04a6d0bb17bea3e242c9a0671a3001dc4a037642032e93e3297c6a511141062407b736453954a1ae7ddb02415730ead2826ba4e38f6ec0ac6d0dfa9376631321491fe20f78fa1245dba50a7fc8e346d50d18cb0a3a190f01631f39c169b1221a2d5604c179c4206973d0f955279df171a8b458111f8290f5a4ad570e156262aaeb738b558607c171a51d8953efff2d56994744a3c58a2064903036723ee9cca3773d56ed772f7c048369aabc7b618c92382ab1f423100864c381c05b0b41462d377b7198ca2e793e5d7658d727cd200e7aabd055c0a6386b0432ad80db2808322d8ad8b44fe3a21b42dea860d9a70e5461a1faa0c3d821c1b11568c81a84a01d04bc42577fc4d1d2827ef6cdb458f542d26245101c0f6d5c3995da1c74b968eb95eb705bdb5922dcd1da3ed8ce0ced7cf54e9c197a67919606223055debd5c71c515bc7b7179250808e46cc31ce25979eb94b3ca930ab25b3534652f061d3ca6826310d0ed0d8122b2b5b615448e7cdb0a1fc7d22e60f06a27fe536b77a855962f88ac56f8e2f6bdfa860c59be720c565d08fa86109afe8b77daad7cabf407dcbe6304672c225bdb62d5629571d2c69583a1ad57757d70f161dd609c2823506cb16a6bbbc3c03dc5f1e038e98c8dec6b6d5cb558d53150c7896329671eaaf666acdaef5e88f6609a2aef5e7c53c198636fab4f0d91bd48109a0c4d64f9823c5df308e5399b5d81218e0cdf8062160eb8631a1c818416b81c6a796a9bb6b0004215397c8af011e0c3892e16a812872c2ea2d9f48baaea43da45174efc978f055a894c2dbe69903c36c1912193c4e33f66a9ad3e20eb67da02a177e8a24595e48e9fe02024b4e2738b558b1511701c22b471d59f826d0ef67ecb4728582bda7ae5bc608e64bd75beb8de466eb122502d568c8a6cc18e0db7dd766630329e3d3c874cda5839925b9e084c95772f7ffee77fcebb97749b61ea2521c77156796ba9420027671c8b033af9dd2a224b3097c3c95bddda167cf16a072d38e177dab25d4008fa33965cdbadf6915524b7adda475cb22fd42a6b5f1930093b2d562d560c0c8644e2900922e86871f885d3c6559b830c0c864a5dbb1c2483eb618b558b151160a8b080206431116cfb2061711f6f67068644d258ebc9be14abf6bb977cdc55982aef5eecb34fec18d69cab907320b3d6ed935bb838349e520882e48945955d505c6dc5ddaad125a90b82ae3695e15b159b38306a5b30f507be321622a3452b5ab60bf14d1c5d1b42376d8180b3025aa58c3a08324c4db558111f528b15e3a18d2b22c060687390c1401cc8db7a4510dadaee78605eb0e3b877b8561019109303a6c5aac58a08b09f324210181ba3ae21d96b5c6fa1b57145b85a1a8cc05479f7c2ef5ef817f45c52f3e882e901624e68b2c82a308b9836c808519186d6a80220930d727463df569c8ada744e76dad243dbc59a76344bae4ae63302607065f3342147ff2b5f23e655b1c34fc7f5df1cbe6edb3b8ae96f8b95c1c9e7de624504486d5cb539e8186030b88ef5c7c570d6d6abb6b63314b28fb47d303b887b7426085172f36db1220e8992f2be1a2bae79eddf7ba9fb85f25479f7c2c7cf6c77da73fb4760a083f086c18592708027403e71a7482dba08aaf84622763042a2161c01dcab4bec681f1c3bea5245bbd8944f316de98fdb183238b26dc1c7b22af107243855d8874c42465d3eb9ce002a8863597fc04dd4a24b8e4dd495f12106ed0b6438e05a53b69516ab16ab36ae180319066d0e128ab65eb148b6b59ddd81c1d0f6c1ecb6eca7c8c4845582e191fdd47db6c58a33468b95e7ab8c8d26d4084c95772ffceec54dd4bb0121f0144e1121876f416ac1593e1058565491e6126c0491155c68cca18d6fd3754a8e0d91d77629da34f66d541f2ac756d23a82ce74f8e99736ab1daab46fef207474416a954539c8ea2290a0b558b5583136180c6d5c75e6519b834c0d62920992c58dd1d26255d764d7d2162be3409ea1d219275491dab84a1c105aac180f04619f3c5fb5dfbd38d43bf95479f7c2f247cfb9c030be49168d05c70bdf24b844d600656b41c5cb0fb580f0c9b5c393126474c991a31e0e93aaea227ba011d7131039dad41f643898a556190e084d90e7c90d1789f061c287605fc0a945972407dc767375d167ddb02d65da52d1a2fdc27eec20a7b308e86219325af645103e558054b55819b1162bc743c64f1b5784c289d6e6a0cb4ed699b65e313688495bdb890071703c901316f2b60fba963a5f8c8f6b488b15e7101755468e6792f76eacb257362111982aef5eeaef5ee83ca3d9633df39ca24b2102635d99514e319cf005650a2a935723563973c46319a6c63dc252ac6990860f1050093fb276a8cd55447509712ff6e56b10306d21408e7d8bda84a61d6d52acdd6cb16ab16248b4714510da1cacc3c0e522eb836b8b8416abce9469b1ca9e42644cd99b28b6719520648f1e0e53ff7f2d5684613008fb52acb87ab5dfbdd431af3c55debdf0f1339a5d07730be7c0819ca593a7389cd49d09be31604a505417193eb820380625a3159bd4caa72d7104557ccb810a093bd4068743028f1d64eca7099facc08716593b78858035ecdb17fb852e64547c3a655bfa9fb61048e86a13195afcaffeb458f543d562353c8fdab86276644eb5394834facbd5f09298358a5913190e728b558b151130311eda3e58f75ca2c1feeb464c88da9981e01813a2d1399f4c9d580dcf96f6bf374660aabc7bc9ef5e18f16c9f4e09b65b8efb1d99f87807008f8cc0cc211f55d7fd1882970dd4256b5fdd7010a84d4e2bfa901c3e49bc635323d40ee2daac7dd108b9fea05bdb0a1f821c7208ca0a2d5646acc58a383018329e334e12998cde20bd51353095dab87244dd7efbed8f3df6d8f4e9d3f947a8f85b88871e7ae8ca952b67cd9a45c412dbf163f5cb5ffe72e9d2a5871c72480df21d77dcb164c992c30f3f1c900f82dc599fcf0e9b4e6a0975bdfad5af7e851bcb972fbff5d65b172e5c78c41147c8c94a85c15ffffad7f3e7cf87632fcca1919e7efa69aca1586dfe01ebd50b2fbc70efbdf77ef0831f4c5bb16c5f6c8ef18660881c7b14ed1a7cce7ff8295efb0ea7a3c8e990cf82e6a89a78ac20672e38e041146a5ea35463a50cf32dc6caeed8626d2b080439e41094158c15728d4f950715414818276fb16ab1ea4ca536ae88806b0ef9db3b07dbef5efa6b4f37db77debd700e20d5fe89988333a4f26603b93ef5711781c39204c779a829462109c42788c8e0ca0e566404708c681f028b3b45ac45178104c87e498e8a329ed81048f8c880e6d80457ae6f51c463133e3279fcb4a8ae2dda10883e40408e7d8ac8fad362d562e5f86ce38a08648e20bf2d73901b0bd7954bfae9dc73cf7dfdf5d739ac33c7273e07596148ce5f17077cdb6fbffd58ee30029275007c22eb155729bc4277cd9a357c4b0181e41870f520c7d401071c404ea2095a878340dab973e7d6ad5bc1df62acf0812ed0166e2c5ab40883afbcf2ca6f7ef31b10da9ac87af5da6bafe1094cbc425db7113ab102c12039cdfdbeb1c266fa8e2e7648806d6d370e8c01024b6288b658111342319139d862d562c518e84f9d51d62bf137cd3df19a57f220526bdf8bf27be0dd0b5b3b637af7eedde60ac83501b269554459328f24bffad5afb22fb298f221b1ab7946777b631f02474660e850a51c322a72d40d3f386d2193b48320075c049b55b6ddf800595deda45d3d49de6b60e4d02007beeb9dadc4c98adbaeb9ed62244d2b58db373f7c658a29544286206e7c5aac8c678b551b57755e0ccecdc139f8c8238f309b8e3df6584277d0410771ebb8e69a6bdefffef7cf9b378f370f1cbed96978b572f4d14743e365c88a152ba882fcd0430fcd9d3b97172cbc7b41800948d5f1c71fcfbdc2f727bc42c187fbefbf7fdbb66d2c7aab57afe66d8c9f917ee20f0be33df7dcf3e4934f629f86e0b0481e76d8618b172f56e0dd053ef05e62fbf6ed728e39e618edc3e10dc9dd77dfbd76ed5ade17d1d6e38f3f7ed75d776196e299679ec993c2471f7d94d6b100995ed498e81b9eb3b01c75d4515c51b89fa04e43b887334f3cf1c4e9a79f7edf7df77989a223589e3d7bf689279e98f58ac587fbdeb3cf3e4b13cb962dc38e4d6cd9b2e581071e602fc093934e3a0990226d7137c393e38e3b8e382013645a21ec449276f19980dc79e79d04442677cbc48aee9330d589a1082ef9f9528b2c473f9131a22e1c05f230e54b16b75164f86d6d6fb1ca186be38ac13065e7208f0326febb97bff99bbf59b76e1db1622923ef2416bd5171407173d6d53e309ca58860a26244ecfd9f4f07845cb9e60111dede34e3affffaafdf5e8be35be32ad2215404d96204c8ca154f2d02bb8ec508166bfed4534f9d70c209ef7bdffb5802f8f05e7ae9253609087cae68b1c1bb34f0f8903d926d0384ed99a6f90c90e173c200e7e341066477a49621858c414cf1640599241f010ec6e143a0c856a41db66a75f1c111a02e34aaf0411c755238f893ad311c4dd10af6c983e30f329e20d82e0439f84c431af70919327118ec6f8b558b9563a68d2be7e9db380799f24cd83973e630c698a44ce4e79f7f9e65812335ad9c73ce39dc3738b53337b9997013e0a2c2f4679e72bc46606a73e6e6cec0299f7714ac6f1cd0b9b4f0a52936393e358accdff5ebd7d304570ed45949688b2ad72b4eea1068886f887145617d7375c2198cb054d204370a1c3bebacb338e273a5e13e80db18e47282ca073ef0013c41c632cb267c56c85c18b857d03a8a5c4230c237dc88a1eb151730cde22abe716502d1197a4da338c9958650e0069ed32e9669aeae57faacffdcee56ad5a854dba462baee178425fb825e2c9d9679f8d65ae31200b162c4017b2ba344754f1935ade9cc02420f84ce4e9a9b16a6b3b9f089faf23a4ed83cc5ca2c18865c2b236b63343c6063161ca304e5813986bed7cc508795bce57449287534c43929b9132f611c849049cc479efe73fff398baa34f2c1a4116c52a51c41b351b138911c07a08d9a0744787bd3bb7f7ba13f04dd5ef5e3bfe77a63b1531b5081a5a423740814d9dd376cd8c0e6e765804d97dd8b29478ecc9403a7a88c8033c87c180c05061fcb934ec24706d15b64e62aea8c03b67f709c918f2e3266c19121c0b4ddb48535c8eac261c4a88bc33a860a206d91c74fccd22e48dcd64f0824fb8e0aed6204e3f6ab7230ab4bfa86c1ea3f55e01ab75decb458b55831b4dab8725ebcf539f8cc33cf104f7e259271b563c70e8ee9bc3ae0d8cd0c65afe2eccebd85170bdc5298f29cf599899cc55940b80c708da18ac33d9394b33e27f2238f3c92858e4500b3dc0a4e3ef964bc4591e3a6e70914f11c90e9cc9b13cff7cc77ceeeb48865ceeb1ceeb18c4013dc70e20cdb210e73be87c9419fd7445c96f007fbe02c5cb4c24dc65fcbf056e4d4534f05a74508fcc2c79fcab8f4e12a665d5bf087bb0184d34e3b0d1902412014f071832ef30a88751bff7192aee12d34d62b3ce44242154b34df2b3392d8246eb8411fe9882fa34e39e51404ba4c3cb9ccf06e871b0b2076b0461334e7150e9f19e182b8c4eb17ecd4b5b1adedc4878fd5cf9d685024f111332a5aac1c9fedcc401cda99c17523eb15eb3cf3c535e70f385f31a858c4b0466295532067f699233031493027787bc18ea63a82a04da42a2d06ef20f104bc23a788f0f6a677f9772f76b5766910a9b5e3cbd145e824d656b646764a04365aec882083f391238088db0a20bb235351158ad682802b53a58c7ac5b5406e5becfa91f1019044bbd1c5b81c7d080e0d5c503fc901b58f56e50b625f1c66daa20a9b5194439139665bd50eb2ba08aa8820eb03827c738cd322765aac08458b551b571399834489599358f110d7c9c80ec726c4119cd9049829e6b86280b1a3a088c064644784c35ae78445917324677dc8d75d77dd4f7ef2931ffce0075c36989bbc3cd9d44fdc886814844d145d644ef65c063048a2484ead1cdae25d10cd71f4e73e837dde4bc0e742c5a11fa6ee915345c21f2e66a8b3d7da1d7bd133dd5f25f4edfaebafbffaeaabf18df74b209c75d085cf0b281425f7edf52ecc08c44497b25ee1de6db7ddc63ecd5d28ddc70d70c8249898458b5abcf21d91fd05c42c324183868ca24cba16a620b5d86c6b7b5bdb1d278c19c603b9939741224e4e026420b558110a22d36295f5ca71e2ca6364d82310184b1389556f6c4d38758ebe14558d30614b7b8883ba83c81ef6de92f6db5b0d75dbb1f3ec4ca9f87dc3219f3c0953cab1a9c09ec44442e651a5c38822034b19dce506419c21c53204481294e350238f1d7064107741641069eada841caa48cad88f8c40bbf055148f9fb1a94bd4524573f0e33f1c648cc051b636baf0c5e3a746e203bac8faa02c1f90225a692bed8ae3738b558b551b578e0126c504e720d70c269771e3c8cec19db7198022d8e1589fa33ca0f30ee31ccd9159399992bc61a08a633a3837102e1bce62d42fbef862728ace5068d6a2cec19d22eaf80c81af8a51e5ca891d2cdbae1c2e2d58e07b5c7048fcd685d720d75e7b2d2f31b48f05ecf05d351773beeae60d8a5afce432c3f2ab57ae39faa63f34a7717491b1e3cf6caca50a4512ed920392c301e7eac28f5856ad5a85e255575d25ee1a0599be600d104fe8af32b99e60072dfb6e152f7c6022e31b389d95695b691783ba44bf906d4e0e4592b236831b87f4055c45db428b2a546293e690e5681319321c75ad455617be78fc841f19e3e8c2442b72f50166da4abba880c731702c543b361d3b1491e1a75d09e4eada841c4092728b1571201a848ebcc5ca5010938c49c7c9141f578465e2c9b5abf2732a56a8c54a7b5319c5ca899d0aee4df9dd79f7f256a260c8b4d0b1d3095c984c80bffddbbfcd32cdad5799c5c2db308a2ccdc82ca62ed920084c2112a07c84fa54d5e624f086247c3916b1896539e0aa600d9cd66dcb151c0eb5fa068eac3f085481bbb489839094c9e58703137fe453051e7edee4c851177ff4417ff441fb91e1e30f7c528b154168b16ae3ea0f9e831ca91942ce41c278cb2db77019e0d8cd2fcb1f7cf04126236f3c7849c2f7b5a071b0ceb4e5bb6120241637be31c594641cfac31866318772de33a0ee77c9b89670a9e0250cdf83e2c6c277c3485c932070ed410bff79d5c0eb0b6da28b412c6b040ebfbcb78a6f9af1fa05192751e7ef0da04573ae0ff8809633020eadf3c287de4178f8e187f95a57d61fec53cb77d2b8d5e0dbc68d1be911df01e367f4f2f10a2df8e498725d45365620b605812f95d13a5f0643c62b726ae30f7cdbc2015760049ac67982ec2f6d8809cda185ae3e530b48b88c3c38883e2093b00f820fc8d86f6b3b112080c6b0c5ca81c1d82014edcce01c7478b43303717085748d629080441e3f56c67022393fd9e7b89ba3ef382a70a89d08b31a91df416a716fca7bfb6f8eb10f91e8a102391b79643edd20e02610706505f2086cb491fbf01b32b428b343b353f22cf32ffee22f18340c1472a6134b4c64d69ac45d0e4547181c8c84905af954690701449afc30a30e42bb31151c0123a8a72d75c96d25b8457254c831a51059c426d29c0d996bb9ca2258e8f0c5055bac120d3e8b162b87711b5799770891df740ede73cf3d1ca67d4bc070e2172cbc4660b1c2c28d37dec84863d1e3a5077f658bc334f80d37dc008d6b0c2f5848fc4e83df9650e47e425b90cf38e30c1eb9f146822b07b57c2e37df7cb3dfc8e25cce2ffb41fa0e0eefa07c7c34c4e289ee8a152bf89d090679f983aebfa4e7888f0adf3523978387fc3e1e6b24f6302e1edc3af8636510f0814b1177307ac41f12a08827acbae905820e1899cd9b37e31bfed00aaf5090f196cb001cae0ddc163092bf81a66514d7af5f9f39c8a585259d5ef0a30b7a81c0cffaad858f35f8fc296a562d7c06278689276f966ebae92641fac28d8ebf3986337835e8735bdb890cb122efec41461bdcc467d76245285aac1827048129d9ce0cce91cc14c3e21a489eda378d15eb12bfd073bf40d12b0445c61b32390b2c4b1c7f828bd7c8bc1be749133408e483499ced83aa7014c81530ab4cae4c0e9fdc24aeac1bc8f1a7ca0111dede34a96f2f7e247c2a2416c79a53a4d6ab8b5591299afa7a3d451287009ef6f19c2fa002b93b6bda4220a1a2d0c9893e2ae4e07e1211dede0fa6596b116811681168116811681168116811d8c722e0f99e4e29701950a6d849b933789da056c422b99710049ec5f0e2851f348204544ecea545151064ad49aeb9c6a945480e01d924ae1ccfd31df0c855407e1bd3bbf6bb97f1fb605046bd1858454ead31d254f008690284e7017cb43c98cca5a523608dc4a5c5cb09b94827c726487204f969ab092d022d022d022d022d022d022d022d022d02a34680d3bfb887d8e439be4690499ecb03f2a8c9eb87a6623c7614e28cb4d406af4247a5564d0679efdd5e0884e7fef1bb6dbc46658e5a356a7c0593db224584801d812a1a0564587021913cbeabd6c29f08ad715a045a045a045a045a045a045a045a04a6780472c254488ed049048a43262042a7aa16ad35aa155751bcd6560459950e380e7f2ce6a8f83b04eebddbcb443a400427726f49a0eb0723982a9aab08b29713ed77aa28caf7ea623e11871ba745a045a045a045a045a045a045a045a045608211f0cc0939874fe5c1a3a95717f3c1da413b95a33383486d3716e2805a9dbcd23a55ef56716fdc5ee8f6a87712fb6ced589c4ec8068b2026ac8d887b9041701c3255f0bdba28eb61cb5b045a045a045a045a045a045a045a045a04de7a0472c254488e3098c6b9ba0c9245f4b0530b5891da0bf0718aa992d621a75661fcda0ef9ad14f7c6ede50ff3af8600d91453163b2f52a81d21bec9ff7d0f5349ea6a9fb132ce752b3e34a145a045a045a045a045a045a045a045a04560e211e0f0295921793d942a8f7f75c1c8a0caa84865a66998ca83b522a99d84c2bb797b2170a35e122aeec7109a45f2c1585b55f1b110f0bc6091438ea2a01f92887227a7cacb8f787cebd05ab145a045a045a045a045a045a045a045a045a046a09e3023238c9346bdc68c0ad250c74e107d486d7010ab82d462e42a54958aef35f99dbdbdd0bddfeb70dfe1778a090a38c9a2b24565f08083021fb62ed52ac1fa637d108b9023a8488eae725c6a428b408b408b408b408b408b408b408b408bc0f811e00c294121b9827712080a80a64e71041efebbc6297604ec8844a098d6238b24efe09d62686309bf2f7f2c3be3e0efeced659c866b15fdec5c096acf538b0ab245658d08a6d6e25839b4dc4ce4588cba361d2578c5d505b9dd550c4bcb5b045a045a045a045a045a045a045a04fee00870f8545721b98752728fa02956a153d529566647a64591da7405a9b51882488ab556f05dccdf85db0be1a897814ed1e85482d1815699c83247157ad4d1121fb32f525219446b14699a04cd764110288a232324af02724b2d022d022d022d022d022d022d022d022d0263458023a8550ac9113c732298288e887bfe3f080e227bd86f94685740211e060ca2003e3e3248e8f0dfa1e2debebdd04f4fffa3f6c7f08520b982cae82a7472143b08453ed4411c5007bcccc801a99716b49220a40a9be0f1bf530cde8416811681168116811681168116811681168144804363955344e0a8493e6aa2aad65aac48b446056931842a04d725ab04453a84805540ab16f78ebcb76f2f9d5ed1e77a13486df02a28939360268f20d8ab1e2df189d21635085e5a645954570eb4ce5d45455d5557192dab105a6a11681168116811681168116811681168111827021c3ead55e0e449d113a9798a54551cb983a418a1c3af06633642ad4506b7aa23584c1e6690bd2fecd5db0b1dcea1bf763581e8d4ca2757888ac53e3c7c8d5126871399cf92a2b70b646f1d55d0606e321473698186a2491a662922db8a725591d6f21681168116811681168116811681168116815123e0e994aa9c5aab9c436c1550510b50995cc2a842c06a44d9b690d32882a91246b03754a9d5a9a238163ec87cbb9077e4f6423772b81fcbd1b138c11552343a144d9a1d29edf93fedee298c487c8a835797209a42111a3202c95ae5e469545a2d2ab7bc45a045a045a045a045a045a045a045a04560ac087038b52a02c59113eb9eff03e61252852acb1e44f65819b9a55404390e0417d193e455084121463a782d4e8453f91397df91db0bcde33187fe89fb5199f616f51811e9e4143b89cf4f2df0c81d81226d7139e908280a2290e09863aa0f0c6715d76769ca2d6f1168116811681168116811681168116811182b021c2c6b9545f2246a9539a906544e3e2874540675632a820d75f25a8449f10f4b6f45f74d5b7ca76e2f9d86e9433de5a7f8a6829d278f801d8bc9698b0fc9b7250115c0e193c3f172224d7ec5758f5a98e89283082a988b9327c949b1092d022d022d022d022d022d022d022d022d02a346c04366aa2c7a6a35a74ac1632a320229a072452a27b8fce4e0b11cb083584c3e41015a655a7c47f3bd747ba97d20649d137f9008837cabc8a922af4247a6c8274413e4de58902b8885dc64fc2cbdd2d82864921694ff777b67b41cc98d03c188f3ff7fb223ae56b9aa85c9eed68c5633b3b6920f50a100b29b392f8dd8735cf62212d343a4794feb2b2420010948400212908004243009f0d55a87349115ff5dfefa9b8fd2ac94102944102be89e29fad72943f5298825269d2bfb482b5add9d961e2a5e30bdf43eb973260162cc454084489578e8704e4af9a9a2b3107130b3779958d25333822d881ffbc79a263ab12b8dd50a0948400212908004242001099c11c877e92c91fef85a7d5b29bdcb5f7f3b8720122bd2548d605b3447d55c4e9e293ab1228754ef82ea8fee17ad574e2ff3ca0131c700d2c674a60aac9a5344e7e7a107912dfc72ecad264d6498699abd594d539d0e9a86f4b46d8a37db2001094840021290800424208163027ccda656814eca6acab76bcc084a88c62976bd6f5cceef83e257231a2358f4bc672ffefbf0e925b79d1ffdd7d7a5b95b661add14bdc7fc727956fc88bffffe1b112729b3cad479135eac1131fd59daabdca5fef5d5ac4a400212908004242001097c7302f93a850062a6d1a4080692342362226e89fb2ecedc633a31118d15a946dfb8ee6abef1ccbdede1d3cbfec838b95b3ffaab1133b6b3264ed2b9f22b725a4c3422134bfae32466a58785de63aa3ffadea71ac4fba65fff2c435b9bdf7618242001094840021290800424702b817caca6758949592931a554c4c7b98894da59c1835ae511c4fd1de25c9bb301fde4f8bce9258ceefae24f7f58640b82edd5294537cdef91ce8c2b71a281c8e32825f69f5f38768f3c2b718a683adfec5f330c8fe8214d151290800424200109484002123824c0b76b4bfd948d5834ce8cf99a4dbac7c5244d1b9d4d23f2dcc429ce74dff016c121b7747e49cff3a6175e37d7631e402c91cb333ca41f417fd254b33023ea54c4ccefd486e8fef34b0f41ec3187a439feb2e2e3209698d425010948400212908004242081bb08f45336bbaaa788eeca376dda98460e2326fd67baa755f0e8a47d73340dadd6c4699c22fa69ebd9d3cb2d170ba30c0c744e7c31f734bfd0fc4f5cd213673e65fe934b7c4ee628661b741d1a5a4a8a53c1e1983d703e512d0109484002129080042420819d009340fc0a34291fba683e68a3e734425a07918868152791c3a94657a4b3ab2f80939495f45dfe597f5f39bd040a330074a2711adb1066d1598874f27b64c688195d918668aab32d7ecde894b2382dfda489390d5d319bd9428c4f0961948004242001094840021290c08704f8a0a50ddd3845f4bef2351b935831d3362ca2cd8854f302d15d7d6d1caa33c6a7a7a25b9e2c5e30bde4ce9d13f6dbce6a7561b1116a8973f133d0c90093e62c9c889ad9c5c48220a6ad630c3af1ed809fffadcb3c8a526257ab751412908004242001094840021280403e38270ad29a11e88a3960a01353254e519d12d5c637e3a7c9c94bcc2b4d877489f3b5d1d9d29ebdfa68e781d34b2ec637fd2ee6ada8ceb8544973547ab29226368dce6f1293fffdd88f8eb715277e870a44e69314d18959496b52aa1f914348a788265d04a9510212908004242001094840028704f2b5895f91349a7411a433e6e3b6293adb23d015ed41cc9e3ab3a7ef10337a2e9c196735ba5b76b1747e55fac0e9e5c357cc259910e824edcdbb3d3d31f113679a1f8913e247670e496423bae7b72d7e1afefaebaf38d1899c199145154d4cf314a43c8298ea4cd51290800424200109484002123824c0076d4ba48d534493e6e316dd889343e2a01bdb1cc16a0fdb63f61c4e384bf1e9e90befe92c3d47bf667a090e3efa2bf6db52025c9a679ae6a067d2884f4a0f9ad368486752aa71d29fc8d3e70c13278ba7d08f9348bac4a42c1ade33ff4a4002129080042420010948e098001faead912e31292b6deff2e75f668ffaa4c4744c11dd749638689638ad67368dd857b66356ec3d8f765e33bd2cb7cafd3b3994c574d094dac0aed0671a89c8b17362499a8d7132a57462e9b1759861e22f8bed31114b4ccaa2e13df3af0424200109484002129080048e09f43b96f2fcb8ad9e227aaeec229de3079a2fe1ea364464b1b1629e89a661c6433f0d2f5f4f9a5e72ffebaf7c1a662c1ad8653bd57067f0e007885e443a6bb28bb43a028d484c430ecf13eb443445344eb1e8a42e0948400212908004242001091c12e083935235a2718a68d26cc9172fe98cd3ac462cb169444ecb2115a47dd07c3dcca544c38c1f36cce6dfd44f9a5efa96b91b83010e579dcef4d1a9964828336954504aca21f8c4e59f5cd290c50ba07314824392e689e8f8d154118d11179aaa5102129080042420010948400293001f9938bbc649ac6867be6ca3292526ad9e029fe66a1ae6961c455a41cf7c449ca4cb6a5bfdc3b6561f249e3dbdf41ab92d13c274d0f1618158d26242843e5307b34a741c4e4e9c3ae9b278879aa479071c445f69a68ba6c7280109484002129080042420815b08f48336cde83a4da788fe703193d0561d31f57e082f107fbe4953fa971b515dcca7a58f9d5e72b74c025ca67a11dc38a90f5e00000b65494441547fb6a53f69fc2cc49272607e09e69629528a998d1c928d49fb5fb644c7e96a4f9d889a8825368d70494002129080042420010948e0d304f864cd76c4129b46cc457f9d0e27f1ab2348a7c3963a497b1462496988b9f87516411be6e3e263a797dbdf3b74981ce696892cd5b0665c694f9d29b22b6d71984948b325220b7389a9c649e47caa3529116b46b0eabf1bfe958004242001094840021290c001817c8b4eb7296289a4f9a6cd969622f645433a6769a6d515ed8cc3f63af30dd129ede6ab9ca74e2fb939dffa1525327d00c55948ed4eb687382347441aa2bb1dcdaec4ac3ad988b3c4fc2b0daf549fce9a8869d651484002129080042420010948e01602f32bb71a91c8ea39efc63ffea69a3c711948ea3096ccead43d8b739a7226691f3145f44ce9c77c4e7ceaf4b25f2917ce9c5004d1388020dd772d4e7e090698f8d1d945e4a84e2c3d3c62eaecc22192f6c578564a6702df280109484002129080042420811b09f0ad9be65dd4a494d8452969454b9887f3093d17a5e510d2f91a1c5e27e285ebe1d34b6edb4fffbbee0926f67248c1ede730ae74506198e9a3e721e8c4ae9c164dac9866f514d12e094840021290800424200109fc0e817edf220ee3622665e5b98b6044c1affe706ea19f5bf440d2bb62f6ded5ffb9e6874f2f67af95eb312a4c91e69875d84bda7876607c66980aceef7fb29f9495864524c54c44e0a01ba78866b5f3ddf0af0424200109484002129080040e08e4837671eb20663a757625655557bc578eff4da6d543c1218d11ac3447b0653a98382f89cf9e5e82a09ffb532f97a794183ffd88452f5b92b26bfec34bf666b5449a482707d2d038ab7d0455fa6b225a5a7c530948400212908004242001094c02fda6ad59a78212696245fcc3749ae86ee93fbfd45f44cfec968abee12268c09c7a697b5cfa8ce92517bbfec46f030868c6ac83088854abcb254e86164afc0bcc3c24ba2927e0246623a5fa9c89d9c813e9ef4315129080042420010948400212f84d02fdb245cc989393e2a0eb2c3e299dd54df379bc6c6c89e656fb94e94c33fa7071e061e96bcd5fdfee5f7bee725a2704fc99564f3175b624c5412c1ab36d7b95d2d2b0a4dd159f8513bd976afe6cf58f0424200109484002129080046e26b07ceb7796e080599da56856db9a46c4fc597efb33d3a9e79645d3968848b57a113460eea5e97fb97ed2f492f7ee30c01d9a56cc9e98f5116fc6afffb6fe437336742f8f98a5f932f5fb2638f4341e9aad2a242001094840021290800424700b818e07b319f32ca633a5561135df2aff186366a9ba623967392d6d7422a66e27a5256dff23c433fe9763d7ef9ddb1ece038b0f9474964e75451eb46bce894f35b147e1b0656e6ce7dc55b32f10a726da280109484002129080042420813302cb67246d351133f69c9a15dd5b07113f8275a8cf4c0ea45a3d45ce9ce9abf4f1e4f088b7611298274fa77a117b8ad318519dc3497787e7526d5b5f66e9a7a1d50ada9a220ecda5c7540212908004242001094840028703c08549694618c6a98988ffe6fdfc8797a66dbb70282556cc33a7bfeb3307ff11f179d34bde7ef9d03f4beb23f6743ad1a453f0acfa3305e2de8cdf2a5b6a72d4acb6a4908004242001094840021290c027087448c8de5d4fa70d9889081eda14f3226d8903dbdf73faa04331dbd0b3adce43c553a797dc648e014b3a4bd588c3b4a588ea9e5907b1fb7116b3e9143f9ade56cf79373ef097365309484002129080042420816f4e80696187b0fb751671984e137d18631efabccf2cc5219da55d2f6d343c3abe787ac9f5e65470a8315b9a6296a29714768bdf27cee652c66ccf14f4b4a15b14129080042420010948400212f81c813924e484a6bbe07cfc19bb2b26fe74d0f88d4bdbd2df34e242ef559c47c7d7ff57fbf38641d9f1a0ba7c292d7ecc36cca3d054d9d28d94d8d5c755cc6a0f41342ecdf515129080042420010948400212b885c0fe05bb3b3907b3a58aa5547ff657cfead4bc679c9a3db625c49f137f4d0b4f7ba7fdd37f7166bae8a68b98297a77b8e0f4e3345daa4b6969a3d9280109484002129080042420812f2170e3fc405b9b2bf20ed14d116fc63ffe3f5b9686651769afd3669c255d9abbebd1e205d34baeb40f038b33d35dd799a29af34917737ff4d236fb17f467a5337fd96e2a01094840021290800424f0cd09ec030040cefc545b42349d1ba7d9b6c56cba88a6f3598bded34327e613d66ba6975c6cffe85f9cb314bfd50ace5cd23e68f75b8ae86a5bc55eaaa3908004242001094840021290c0ef13982304a7d5a9e853ea54a4849eb1e7ec6d4b7f53b67c98ee0dddf804f1074d2fb9ed32335ca494da50d1432e9c596aff14d1cb5ab62c5553094840021290800424200109fc0e8139632ce7b45441435344d354cf9cebd272ec617a61527a747cd9f4928b1d8e04bb399d5def0ec8ea57cc271e9a653dabcb69ed51484002129080042420010948e0ab08ccd98333af9d562bb2abba629ad5d7559e4e9c9df50fcd561f2d5e39bde46efb9c70682e6d3345ef4ec1b554b1979687ee9dddb288db3b978da61290800424200109484002df90c0ed9ffeb3f34c03b0d58ac54f4a69364cdd0636eedbeb2fbbea3f4dbc787ac93d0f0780dd5c9cc3f4d09c28db5031ab872f73d6d98d1f36b4532101094840021290800424f09d097cf8e9bf37ec0e00eb5714ece2901e9a675be22ffdcb43bbf1f9e2f5d34bee7c3600ecfee29ca567fec277b64dbdb42de9ed9dcb465309484002129080042420010994c0e184d0ea14b373eab39ef86daba0f93a9d1be7e117fed2f6e8f48f985e72c9b391e0d05fcc259da7eda559dde1dedbbf9fa0230109484002129080042420814f1058e60a4e38342f4aedafe89b2cce925e9c99d261734f7ea6f853a697dcf9707280c5616937af9dbd5ad017a5f62ce2135b96134c2520010948400212908004be27814f0c03175b66696ad8dee2a4736feb4f73516acfd3c41f34bde4ced723c161753777079a8bbfa417c46fefbc38c4920424200109484002129080042e08dc3e242c9d4bda47ecfeeea4f9d0bc38a4a597883f6b7a01c1c5b47056bad7bf78d0d9512ff9797ca804242001094840021290c0b7257038571c9a457456bdd7cf81675bfaac97883f717a09880f4788b386331fb8d7d5f903dcde3977a9252001094840021290800424f0fb046e9f1cae3bcfaa677edffcc386763e59fca1d30b143e1c21ae1baeab373ee2c9bf878f938004242001094840021290c019815b868aeb9eeb6a9efb61c3d9bb3dc7ffa3a717107cc91072cb2187c43fbdf1f0344d0948400212908004242001099c11f8f4e4f0e1c60f1bf24ab7f49cbdf9d3fc7fc1f45216b70c12b7f4f4c0887bfbe75eb50424200109484002129080049e49e0de01e396fe5b7a9e79c7eb67fd9ba697dee4f691e3f6ce1e7e28beea9cc3c3352520010948400212908004be3981af1a216e3fe7f6ce3feaa7f9574e2f25f8b9a1e273bbfa50850424200109484002129080045e4ee073e3c7e776bdfcb27d817ff7f4d26b7ced40f2b5a7f52515129080042420010948400212b891c0d78e195f7bda8d577844db7f647a59d0387e2c404c2520010948400212908004be1581ffccb8b2fc6affcde965b96453a79aa2504840021290800424200109fc0708fc57a794b39fe67b4d2f67140e7d479d432c9a12908004242001094840020f25f0dd0692bb603abddc85cb6609484002129080042420010948e06504fef7b227fb60094840021290800424200109484002f710707ab98796bd12908004242001094840021290c0eb0838bdbc8ebd4f9680042420010948400212908004ee21e0f4720f2d7b2520010948400212908004242081d711707a791d7b9f2c01094840021290800424200109dc43c0e9e51e5af64a40021290800424200109484002af23e0f4f23af63e5902129080042420010948400212b88780d3cb3db4ec95800424200109484002129080045e47c0e9e575ec7db204242001094840021290800424700f81ff03a4202ce09d9a95b90000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When the route changes, the todo list will be filtered on a model level and the selected class on the filter links in the footer will be toggled as described above. When an item is updated while a filter is active it will be updated accordingly (e.g., if the filter is active and the item is checked, it will be hidden). The active filter is persisted on reload.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+ // js/routers/router.js\line
+\line
+ // Todo Router\line
+ // ----------\line
+\line
+ var Workspace = Backbone.Router.extend(\{\line
+ routes:\{\line
+ '*filter': 'setFilter'\line
+ \},\line
+\line
+ setFilter: function( param ) \{\line
+ // Set the current filter to be used\line
+ if (param) \{\line
+ param = param.trim();\line
+ \}\line
+ app.TodoFilter = param || '';\line
+\line
+ // Trigger a collection filter event, causing hiding/unhiding\line
+ // of Todo view items\line
+ app.Todos.trigger('filter');\line
+ \}\line
+ \});\line
+\line
+ app.TodoRouter = new Workspace();\line
+ Backbone.history.start();\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Our router uses a *splat to set up a default route which passes the string after \u8216'#/\u8217' in the URL to {\f1 setFilter()} which sets {\f1 window.app.TodoFilter} to that string.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As we can see in the line {\f1 window.app.Todos.trigger('filter')}, once the filter has been set, we simply trigger \u8216'filter\u8217' on our Todos collection to toggle which items are visible and which are hidden. Recall that our AppView\u8217's {\f1 filterAll()} method is bound to the collection\u8217's filter event and that any event on the collection will cause the AppView to re-render.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Finally, we create an instance of our router and call {\f1 Backbone.history.start()} to route the initial URL during page load.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Summary\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We\u8217've now built our first complete Backbone.js application. The latest version of the full app can be viewed online at any time and the sources are readily available via {\field{\*\fldinst{HYPERLINK "http://www.todomvc.com"}}{\fldrslt{\ul
+TodoMVC
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Later on in the book, we\u8217'll learn how to further modularize this application using RequireJS, swap out our persistence layer to a database back-end, and finally unit test the application with a few different testing frameworks.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Exercise 2: Book Library - Your First RESTful Backbone.js App\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 While our first application gave us a good taste of how Backbone.js applications are made, most real-world applications will want to communicate with a back-end of some sort. Let\u8217's reinforce what we have already learned with another example, but this time we will also create a RESTful API for our application to talk to.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this exercise we will build a library application for managing digital books using Backbone. For each book we will store the title, author, date of release, and some keywords. We\u8217'll also show a picture of the cover.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Setting up\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 First we need to create a folder structure for our project. To keep the front-end and back-end separate, we will create a folder called {\i site} for our client in the project root. Within it we will create css, img, and js directories.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As with the last example we will split our JavaScript files by their function, so under the js directory create folders named lib, models, collections, and views. Your directory hierarchy should look like this:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 site/\line
+ css/\line
+ img/\line
+ js/\line
+ collections/\line
+ lib/\line
+ models/\line
+ views/\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Download the Backbone, Underscore, and jQuery libraries and copy them to your js/lib folder. We need a placeholder image for the book covers. Save this image to your site/img folder:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000000500000006a08060000002bf0d6660000000970485973000006dc000006dc01c549096b00000a4f6943435050686f746f73686f70204943432070726f66696c65000078da9d53675453e9163df7def4424b8880944b6f5215082052428b801491262a2109104a8821a1d91551c1114545041bc8a088038e8e808c15512c0c8a0ad807e421a28e83a3888acafbe17ba36bd6bcf7e6cdfeb5d73ee7acf39db3cf07c0080c9648335135800ca9421e11e083c7c4c6e1e42e40810a2470001008b3642173fd230100f87e3c3c2b22c007be000178d30b0800c04d9bc0301c87ff0fea42995c01808401c07491384b08801400407a8e42a600404601809d98265300a0040060cb6362e300502d0060277fe6d300809df8997b01005b94211501a09100201365884400683b00accf568a450058300014664bc43900d82d00304957664800b0b700c0ce100bb200080c00305188852900047b0060c8232378008499001446f2573cf12bae10e72a00007899b23cb9243945815b082d710757572e1e28ce49172b14366102619a402ec27999193281340fe0f3cc0000a0911511e083f3fd78ce0eaecece368eb60e5f2deabf06ff226262e3fee5cfab70400000e1747ed1fe2c2fb31a803b06806dfea225ee04685e0ba075f78b66b20f40b500a0e9da57f370f87e3c3c45a190b9d9d9e5e4e4d84ac4425b61ca577dfe67c25fc057fd6cf97e3cfcf7f5e0bee22481325d814704f8e0c2ccf44ca51ccf92098462dce68f47fcb70bfffc1dd322c44962b9582a14e35112718e449a8cf332a52289429229c525d2ff64e2df2cfb033edf3500b06a3e017b912da85d6303f64b27105874c0e2f70000f2bb6fc1d4280803806883e1cf77ffef3ffd47a02500806649927100005e44242e54cab33fc708000044a0812ab0411bf4c1182cc0061cc105dcc10bfc6036844224c4c24210420a64801c726029ac82422886cdb01d2a602fd4401d34c051688693700e2ec255b80e3d700ffa61089ec128bc81090441c808136121da8801628a58238e08179985f821c14804128b2420c9881451224b91354831528a542055481df23d720239875c46ba913bc8003282fc86bc47319481b2513dd40cb543b9a8371a8446a20bd06474319a8f16a09bd072b41a3d8c36a1e7d0ab680fda8f3e43c730c0e8180733c46c302ec6c342b1382c099363cbb122ac0cabc61ab056ac03bb89f563cfb17704128145c0093604774220611e4148584c584ed848a8201c243411da093709038451c2272293a84bb426ba11f9c4186232318758482c23d6128f132f107b8843c437241289433227b9900249b1a454d212d246d26e5223e92ca99b34481a2393c9da646bb20739942c202bc885e49de4c3e433e41be421f25b0a9d624071a4f853e22852ca6a4a19e510e534e5066598324155a39a52dda8a15411358f5a42ada1b652af5187a81334759a39cd8316494ba5ada295d31a681768f769afe874ba11dd951e4e97d057d2cbe947e897e803f4770c0d861583c7886728199b18071867197718af984ca619d38b19c754303731eb98e7990f996f55582ab62a7c1591ca0a954a9526951b2a2f54a9aaa6aadeaa0b55f355cb548fa95e537dae46553353e3a909d496ab55aa9d50eb531b5367a93ba887aa67a86f543fa47e59fd890659c34cc34f43a451a0b15fe3bcc6200b6319b3782c216b0dab86758135c426b1cdd97c762abb98fd1dbb8b3daaa9a13943334a3357b352f394663f07e39871f89c744e09e728a797f37e8ade14ef29e2291ba6344cb931655c6baa96979658ab48ab51ab47ebbd36aeeda79da6bd45bb59fb810e41c74a275c2747678fce059de753d953dda70aa7164d3d3af5ae2eaa6ba51ba1bb4477bf6ea7ee989ebe5e809e4c6fa7de79bde7fa1c7d2ffd54fd6dfaa7f5470c5806b30c2406db0cce183cc535716f3c1d2fc7dbf151435dc34043a561956197e18491b9d13ca3d5468d460f8c69c65ce324e36dc66dc6a326062621264b4dea4dee9a524db9a629a63b4c3b4cc7cdcccda2cdd699359b3d31d732e79be79bd79bdfb7605a785a2cb6a8b6b86549b2e45aa659eeb6bc6e855a3959a558555a5db346ad9dad25d6bbadbba711a7b94e934eab9ed667c3b0f1b6c9b6a9b719b0e5d806dbaeb66db67d6167621767b7c5aec3ee93bd937dba7d8dfd3d070d87d90eab1d5a1d7e73b472143a563ade9ace9cee3f7dc5f496e92f6758cf10cfd833e3b613cb29c4699d539bd347671767b97383f3888b894b82cb2e973e2e9b1bc6ddc8bde44a74f5715de17ad2f59d9bb39bc2eda8dbafee36ee69ee87dc9fcc349f299e593373d0c3c843e051e5d13f0b9f95306bdfac7e4f434f8167b5e7232f632f9157add7b0b7a577aaf761ef173ef63e729fe33ee33c37de32de595fcc37c0b7c8b7cb4fc36f9e5f85df437f23ff64ff7affd100a78025016703898141815b02fbf87a7c21bf8e3f3adb65f6b2d9ed418ca0b94115418f82ad82e5c1ad2168c8ec90ad21f7e798ce91ce690e85507ee8d6d00761e6618bc37e0c2785878557863f8e7088581ad131973577d1dc4373df44fa449644de9b67314f39af2d4a352a3eaa2e6a3cda37ba34ba3fc62e6659ccd5589d58496c4b1c392e2aae366e6cbedffcedf387e29de20be37b17982fc85d7079a1cec2f485a716a92e122c3a96404c884e3894f041102aa8168c25f21377258e0a79c21dc267222fd136d188d8435c2a1e4ef2482a4d7a92ec91bc357924c533a52ce5b98427a990bc4c0d4cdd9b3a9e169a76206d323d3abd31839291907142aa214d93b667ea67e66676cbac6585b2fec56e8bb72f1e9507c96bb390ac05592d0ab642a6e8545a28d72a07b267655766bfcd89ca3996ab9e2bcdedccb3cadb90379cef9fffed12c212e192b6a5864b572d1d58e6bdac6a39b23c7179db0ae315052b865606ac3cb88ab62a6dd54fabed5797ae7ebd267a4d6b815ec1ca82c1b5016beb0b550ae5857debdcd7ed5d4f582f59dfb561fa869d1b3e15898aae14db1797157fd828dc78e51b876fcabf99dc94b4a9abc4b964cf66d266e9e6de2d9e5b0e96aa97e6970e6e0dd9dab40ddf56b4edf5f645db2f97cd28dbbb83b643b9a3bf3cb8bc65a7c9cecd3b3f54a454f454fa5436eed2ddb561d7f86ed1ee1b7bbcf634ecd5db5bbcf7fd3ec9bedb5501554dd566d565fb49fbb3f73fae89aae9f896fb6d5dad4e6d71edc703d203fd07230eb6d7b9d4d51dd23d54528fd62beb470ec71fbefe9def772d0d360d558d9cc6e223704479e4e9f709dff71e0d3ada768c7bace107d31f761d671d2f6a429af29a469b539afb5b625bba4fcc3ed1d6eade7afc47db1f0f9c343c59794af354c969dae982d39367f2cf8c9d959d7d7e2ef9dc60dba2b67be763cedf6a0f6fefba1074e1d245ff8be73bbc3bce5cf2b874f2b2dbe51357b8579aaf3a5f6dea74ea3cfe93d34fc7bb9cbb9aaeb95c6bb9ee7abdb57b66f7e91b9e37ceddf4bd79f116ffd6d59e393dddbdf37a6ff7c5f7f5df16dd7e7227fdcecbbbd97727eeadbc4fbc5ff440ed41d943dd87d53f5bfedcd8efdc7f6ac077a0f3d1dc47f7068583cffe91f58f0f43058f998fcb860d86eb9e383e3939e23f72fde9fca743cf64cf269e17fea2fecbae17162f7ef8d5ebd7ced198d1a197f29793bf6d7ca5fdeac0eb19afdbc6c2c61ebec97833315ef456fbedc177dc771defa3df0f4fe47c207f28ff68f9b1f553d0a7fb93199393ff040398f3fc63332ddb000000206348524d00007a25000080830000f9ff000080e9000075300000ea6000003a980000176f925fc5460000202b4944415478daec9d77981cc59df73fd5dd13766667773647ad5659424808140822639291ed038303d867c21df6399be70cbe33773ecee6cebcef6beefcdad8069f23af0d46261c180458e210390b09adb4caabddd5ee6af3ecece4eefabd7f542b81b2044648f53cf34ce8ea9eae6ffd52fdaaeadbca5d11e800621c2b0753920ed0780c87832ea51630720c87832e23d6310c0ead1c03f01880c7003c06e031008f956300fea58ab3d7a302ca02abd887daf57faf54d021b8ae39feae946dff1d05b2e0e50fa0bb35d845403190022ffdee89cade2fabcc5b7a00b66c80ae2ea16d03fcf60e8f7416acd0e1bd193b009632e0a14004324350c803f67e5ea40076051082965785ec285861ff9adbfa46836d833d4e19a0dddddc87b5eb390705a05d0a03c330ebe32ef33fe372f9973d1e7b46f30fffe9319a01abe8304a9b028a40d9e6bb1d816c1ee65fe5f2d4cb825dadf64f22ca203108675ce672c6552e57dde8e1d96087776a57041249f8cae75d5ad70856d98efb805defe3d054d881a184b06eb370ef0f6c4e3cdfa2f335a134a6500254805da1a05ff006c16e5610302ac7a84054a17b05ab56c1a09863550a86049240adda71075dc2e7beeaf16f5fb7a99fac2027680d2bd642df2050ed4b4bc197184fd00360552bf35f65feb5628a2f5d52a06583f0d2d2007d2b053701ce54859d05b202158a5211f20508d80ad5e01fd3c0b070cd373c6ebad666ea5c85db237b3553cebe6c89aba1320e9f5c60c1648b91d51ec914543528562ed5dcf3df1edff89c4de56cc5fd776a5a370a67ce513454c3e66ecde9275a3c71bfe6ecb98a7416fed7f75caeff84c58466c563f7695a3709679da2082af8edc39a8a52b8fd361b6c2395156530ae114657697e78a766c66445c0819228cc9faf78fc418fb9332c9ebcdfa3732b7cead316fdfdd050a5983cdb62f244819470ef4f3dfab7c2f9672b56afd304038aef7ec5462978ee779aa5cb8433e72926352a7efda006815f9d6063874017f68291bb229070570464772fe908c896ff09482c8acc99aee48b7f6dcbe25f3872c17c4b963d1490d9d394cc9da6e48a0b2d59f574404a63c84953951447903bffc596995390d157033269ac925f7cd796af7dd6922f5f69c9550b2c79f4a78e8483c869b39434d72bf9d5adb634d5217f7fb525d21110d91c90e4ab011953abe4d53f38f2998b954c6956521446ce99abe4e23394ac7d2c2067cc56f2d5cf58d2588b4c1aab64721dd2f16a40c216f2d94b2c1109ca73bf7704906f7dc3960b4e5302c8f76eb0e5acb94afedff76d2929464e98ac646c1df2eb5b6d993046c9df5e61896c0c886edd3d36fe2bb14fdfe47a4612a68e574c9e0eb6051571f8d16f3c6aaae0955702f40e08d77fc565c15916afff39407383a2e042455c9973c7295e5921bcb04c38ef348ba75ed0fc6191e6c2f98ae7173a5495433ca698395971dde516841414ccff9614c3f3cb84b73642eb630e0bceb2386596a9fbcf3ff2987fa2457b375c7799c573773bf424a171bae2ad671cee7e54f3e3ef78fcf131cd79272bfefd7687ee7ef8ce176dbe7dab4d2a0db9028ca955bcf9b8c3b4898acead70ea098a6b2fb520aef0b28718078ea685a00377df6ef3b51b1da245c6000f27a1ac4441b1a2ac54b1a653282b01e2505301990c046c88c42012865406b23958faaae6c62fdb9c3a4b91c9819b8658c41c4b65606bbf6fe34a205a0e8e0d7d43108b9af0295a048d358ad9c729ee5da4993109c6d44028a88845a1a25441bb3071be4dcbc30edfb9dde38f7f164e3ec1b8f79228d457010973ed820bd5e54099a2bc44d1d32f64b2b075c0dcc7bec2b47d8631b6050309786cb1666b87662405e92c4c6d56b46e14362df168ef12feea4c8b156b84d54f6b3677416519746e858e0e617dbb50590c75558afff88e43c886c1040c8f40be008951d39064ca483c21d8b21efe67a9f0d65ae1f4998a81617869b1e6b516e31ae74c375ef9b4132d4aa3f0c62ae1a99735830961cd3aa1ed254d4f9f505c0ce36a61c94b423a09c9b4f93f0446464de7766e85b79ed6acd9248ca9560c25cdfdec4fec68edcb89c44b14956570edcd9a0bce77e9ec112a4ae186eb2d9a1be094cb5d2e394b71c78f6dfa06e1a2eb3db239b870bec5c93314f33ee51208c0f7be6f337bba62e25905162d11664f5794c7cddf54954151d8bc87824019dcf14b8f73af7139f714c545d7585c305f71f9d73d7afa85780cc68d578c6f54d454c0df5c69f1dc1b9abffb57cd25675aacda2c9c7c51818b3eeff1adcfdbfce9f70e2bd60ad77cc2655c83ffbf1aea2b211a8170103ef2258f7c01aefd8c8588100e02debe0154ee8a40c228cc6e0efac1ecd6011818163c179a1b8d7dab6a0277185e5d299c3a4f418962a04358b952b8e66697477fe2306daee2c9478453672962cd0a0684a75f12ce9aab5021e8de0255e546128bc290c942b40842c530d02bac6f87534f3466821161f91aa1b60a8a428a92124826211c8240396c5a25a433307e8ca2280a6fbc25040370fc290a1474b6085b7b6162b3c2b6215204498175ab84ab6ef2b8e3668b39b32de295b065bd50165384c326e8de5b467aaf0022262257715f5635900682e025c08e621a372c7869b0c7035d5032afc0633f7538fda30af2264ef386fcfa710386e44115834efa43c59c515d32e065c18e0125a6ae37e27f8ffa52b1ad4ea9395f3c7ff4a1fceb648c14a3400640bb6057ee18a950002f03f64458b95838e54a8ffee76cc2e3145e1bd8e5a69d5e6e9f3aba0f000fb0281bdc3cbcb54e983456511c0371dfbf8900e5403a056b3609d3272a8221d319073227b26f00c58c1b89fabdbdb711990b4e0950633ca157785b0f8a1967621909c202db01ed1953b1bd7860171b89f7d2fe38588c432364bce3012517f6967408991115bde0b9077ccd11679fbda48c47ead9208ca953e8bc196f12d849a52340debc0f6d8281b59a89a728ec41ff866cff9584e161d321b1265fd53260c57cd50c9bec0971e86a01ad85c649cad48b18951ced065720de6cae8732264586c0d3fe98fa0052295e01e839f8e4de3e01b44a61cb3ab8e5279afffc964d710dac7a53181a816010664e522c7b5d68ac5194d6c30fefd69c324b418910f314c9b4901c85bc0b27cf32addb3a20b46e86b0032bd6c0c4b126985ddf2e9c304591c9c04feed59c7192a26a0ca834acd9282c7d410828b8f2728be7160bcd350a4f43779f70ca2c85c5db24f92f9d0f540a24048b5fd26cec109e7c4173e91536cf2fd374f51a001f5aac993e49f17a8ba03da8af86df3faaa97d114a628ae6060806e0b595100dc3a466c5cf170a8d35c6836eec147a06149e168a82f0fc1b4243153454c1e29784aa38dcfb8466def18ae61ac573cb343ffe85a6b60296ad14b239134bda36cc3d4de10dbd8f00b41ce85d2744c270d7ad36cb5b84bef59ab3e62a10c8e460d506080615f5d5267be27a8a59534d38128bc2ece9165571a1a9d6f78a1aeaaae1d20f590c8d98986ed2588516786da5505d6182db684151562abcb64a983959110cc2d80608852cb60e40382858369c33d79c9bcded5fdc76d81dd15e9d8832c9cc7011500a0c43360b613f41a9355825d0b3d9646c9c00747643e32448744151088221e3242ccba897d6c6716c8bafb6dbac28746d84fa06c8a5602809b58dd0df0d9563a077b3b189b5b50a42d0bd19ca4b2054029231f7aabd1d49e0f7a8ec3b0e5496b183a48c9195bcdff0c00e8f49c87728da9769d7771adb7edb96acb4767af7763818376d24a8b8d6ff1fe55f3365aea70b6005fd735dd0e267c33dff98650eed11400d76d483908620a65103e0e5ed43f5e47bf7c2ca3237f4f2f3c2d4718aa20804232658cd678d44854accf754ca0c8b70603409c5d52023309a31363054066ec278f470c8c48cf92c0442666c6d59901d368e0505d92108c7c0f33bcecbed7a6f3b67493cbdeb14c4ae15c1ae70d9da1e61d5fa0aba7a5de2b1512e5990c40e16d03d41043968c9ddab045a7e636ef991a6226e524ba7cc508c1da3b8ef314d7db5a26f482814a0b41802010806144323904c09a5c5501a530c8f08991cf40f19633f651ce4f3b0bedd7c9f361e6cdb24279aea4c1a6cd96ae1f4931433662b74e210267da22ead1b4a59beba9cf19346e8ecf1b8eb97258c4a13777ee72da69f388cee09189372e020ee7d719178265a9f331dfa8784d68db0aeddd8c50d1d424797d0d609960d5d7db0a1cd44f5b99cf0e7178578a951b775edf0d272e3208e9ba0181c36e3eba67a456931acef80c79e15a64f526433b0729d30302cac6d1354e4e08d9a5282aa75b8f5474574740e32efe27e2ebb7488c717b6531f1f65fe351fe3c5672bb06a0b668ae2707b6111d05938679ec5b409c2ca75c2451f526c6917148a19272aaea8551485e1e95784a666c5bab5c22feed77cf1d38af32eb058f99aa0a72aaebdcc221400c781744621982c88a715d99c999fa82a57d821c5ef1ed0ac580b979eafcc1cc6c1ce55890217e61c9fe41bff1e65c185254c9b94024b73dfaf9771e517225c71d34779f667bf63dc8c3cde9620d87218bdb00fa213f28d7a444142e8ef3549d05083494ce29ad10340672b0c8f08c71fa78c0309f9238cb4ef38b4ef3c94ff59ed345ac999114e57bb49e44e1c6bc2a543098e95d2585187458b8b99d298a67972019db4701a0a24360917dd783d531b3af8af7f598425363a671d462fbc3b40b50fa8036eea6d195bcfcf9a1401430735b6341e336680972113f61c4a68225ae10434d4ba30e0e08e2a94e3dfebd802cf3c3987ebfecfa5fcf86f6fe7c2cf0dc0c680b9effd04d0fee7bfb3ffc197933da7a5a5e0076e1a6539885688eba1f08c3b557e1da5918246320a116ba786ef740dcbb71ada9ff4783b3adbaa66fcc4c521c67526a7a990a48db86a47875b607942a5d3c5fae1b3d8d457c318de446928aeb3b014e8fc3ec7d63967dfb7e0f9eb2b6c93482b64fcd969c08a98200e20580d5ed234d8cbf8d1b31fbb694cfca342901b32bf07aba0d067ead9800aeedf4cf6e15c3d92b2898e7799d3f8205fbfad0906227ce8c234d95715179e6b11ab52787db2d75511ce3e970c680f55f631083643610ba49641a0045400d12994558264d78353822abb1adc1ea4b019252ea24751763978a3101a87522124dd626297f02cc8ad3112976d31e96df5deae75d228ecaa206b5ade647430c2d41927b2e0fce779fe79c52feed5fcf52714e5150a2fb1674dd8bb0a8b316a2a340974da001a3d119c0af052a8a259267dabb71ae9941c4a8f62454f07a7024510c2c743780a143a8d24174d319da114046a217c12e45aa1d06fe2a1f7b858e211b5637855d7d1ba6e887955adccbcd421dd26dcbf08ce3a4fed181d1db00a2b1bf090c443269eb10210a8037710f428ca9d85143ac11d302b78b2ad0882645782ce987a76d4a8ae3768ced5a3fef82c6d824cabc8fc663bfc45ca80e6b453d3f428e1aefb66b0baebbf691e2870ee47157f581c61c99f2cce5b308ad76b1fccbcb0059203c9ee7014b9761f0485a4df04b7dfa89eceed003dbfc58067d9662ce60e9a3af96e7093e00e99ebea94913c7d38d2cbfba3b30adb16ec7801bbbc801dd2200148ba6446d652593793de912a13fd1769268f8bf0e0339510963d06dad63e6d2096c91c28c7bc5b811ddf2dff372cdf1b3bbe7bf3ebedf2d9def179fb35b67db6df1307a22c0f1c8bd75f6be4eedf8d2795b6a1c4051bc2c1344a2906462accce9914cc9c5a424b5b395ebb6005f5c1ad4c605f33ef4750b11ae0ee071dbefff3028dcd39163e59673ab6082256076e3ec3d6e1308c9afaf5d516c3a9389b3ac210957703c023ac14201ed3140a2ee77ca287defe148f2f2a820670d408f1780979af9c44d29869db4a912944d8325802617d0c40af47f1910f097fbc3d0dfd1e65f1304b96d5430042a100a18026ef0649a6cc90d2f320182e2597f7f688d4d125814a21050f27948714cc3ece667d77056c8278cc43eb2ca94c01579b99be6cdec1f51c3c2fb7476b759401085a2bbc9c059e6252431fe95c296d6ba1329e275214a2a8288aeb1a151e1c2a1008c670b6a5bc8f7a00772e798815e7a9adab65795b2d8e9547d90eb6a5cc42f71cacef2aa7a4a48450b0f08e85e8473d80e2dae0b854c6126cecae2493d5a45279f2b961eaaac0db002fb5545255324c754906f690e63a7a01c4acdaaa28cdd33b1ca32f11663891c2cbf75134115e780d36f6cd607c6d17e3ea818c3a06e0ee5adf581724eb96d03b00e9749eaaf82838f0d2ba3a54783a0df17584c680ce1f93c07764dab1a12c96279b0f90d58de47279664d1c46daa13df55784ac2dd497b442d19ec74947b7042a08075d5c4f9176ebc86707682a4bb0e4d54a7ad373280fbec6d9b30b3060ed4d888f6e15760ba3e4bc127a471aa98dbe482a0b2fb4ff35a9d12453aa5fa16636e851fb1880bb1dc56b48a5a1a08b69d918a4ca799c4d4363192c9c467ae0293e79ee00a4d55ed31cd651adbfaed9ae91f7ca181d6ca12f518a57fa5556ad6ae5a4fa3f33fd42d0bdce5e7326472d8096e581a56859334c774f3fc944374ee905ac6a2b65b8e31e6efa720612d63e936c47af04167be4868b58df534f2ad1cae68e3ec64f3d9b458f3dc23f7eb685aa99165e9fbdcf8cddd109a00bd4c1932fc758d622ac5bfd0a33679dca9267b770f5398ff357d7835e67edd71ee5c3ba4aff7d55b4c20e17a04c20609939e96d3bd763e06d0d32eff27ade58dec3cc1366e0149fcc095577f2cbff2ac0b0839bb250fb5e3033f2c10370dbde96da02f92eb8e74f366faef668ac81e3a6c6c8e75c220d0efffacf499e7b0ba2b1722430936b3efc263fbe7d18b236de80b5bf3be43f60006a855de682687ef74778bae5c3e8f079d4d45432617c1333671e472412251e8db2bc6519fff6dd1b58fec61bdcfc25b8e9db233064e30dd907b2c068c4f9a0489d6d03d57936bc054fbf3995eefc8d7ce11b9f60f68ce82e5507068678f1c567e9e86ca3bd23c9693346b8e9b610acb3705336ea005767391f08f04240acc0c27ba13df78f9cf7915b98356dd7a6dd71c71d3cf8e083b4b5b591cbe5983061021d1dfd9c39b3127a129057070cde910fa08015102876f9c9cf205d7e1f5fbdf10a823b55b9ebaebb58b87021a9548a7038ccd9679fcd39e79cc3dab56b1933e16c6636bd017d8ff8dba038fa0054552ebff919a42a1ee19b5f5bb0fd502693e1c9279f64e9d2a55c77dd758c1d3b96d5ab57336dda3442a110aeeb32e1b8e3d9dab21882a00b471b805a61d71778ee51589db98defdfbc6097c3a15088582cc62db7dc82e779ac59b3861933663077ee5c72b91c3535352cfa9f4e9aeb721000c9aba30b402ba0c9f4080fbf328faffccb8dbb1ccbe5723cf1c413ac5fbf9e9e9e1ea2d128757575141717934c2689c56234343430b6719470c75ab3efef20cb110ba0aa7279f4e7503df906c654bded9852cc9a358b4b2eb904dbde7340d7bff90f9c593b02e9831f905947aaed03583f1067d6ec0bde7138180cd2d4d4b457f0163fd74ba1e3361a4e002fe71c5d005ab6c6ed008a66337346d9019f3f380a8b175ecdc5e7a661d4e6a0f7381ca900aa80d0de0991b2595497eef83d9bcd92cfe7f779fe776fb98df3a72fa26a8ac24b1ddaa2ce235385438a811108471b7675cc5af3c8238fd0dbdbbbdbd3b6f60ef3d51bbecb94d0b738ef0ad05b1cb00e6d59ddfbc7896cdbd818d45050789eda732e2ee891cc415e6a77f939128970def91fe3de7b7e45c0b19838713ce1d854d2e9146e6623cb5bbae968bd871f7c0f18b40fcb8ac4f70f809e605528b2bd41c271175b34eec89ec7a6c3e918a1d27a001e7ef4792ca20443693a36ac27102aa3b921c492a5ab89a72f2531a889cdbc9fbffffae71853d9c7daf5df64fa49fab02c6a7fdf00688fd1fcf2e77116bf58c745670c73c587fb08873cb4bb6b2395006968eb1bcbfc3367b3a64df3fd9bcfe41b5fd21409d43af0d892a95cf4c3d55454afa2bc3d41d31970ebfffe0f66ccbd87cac0229efa8d6388173e481228caa26f4071f965bdfcf1813c1d5d11be7d4b0236ef0aa055ec91ee85b6fee9dc7042313fbef361fef12acd82bf01b6009530794c2ba7cf9bcb82b372fce09f6cc8c237af59c40b4be0e91565887250e182e19039d488e07d33326b57dcf4b504975d3d42db169bad030201f54ee98b6a1e7fad8a29275d4f7b2f74aef827165c0a7aa5833718c05b1564d2198aab2e4e5112d5044b35badb26e8c0a3cf04b9e2b20bf8c17f4d80320fa53f28006ab00302d52e895702bcf84680cf5cac21b143cd945658f5053a56c043af7e944f7dfa5c7efbab5f71ceb41550a610cf07db1118122aab2aa9288f43561047f0124118ccf3cd4fbcc113af3791d9a8b022de910fa068c3694a894be75a38fdaa3cb3a7e799f7111719b07c70c16aceb3ee0db8f9d717f285afff84471e7e1367cbb55cf849d09dceae2d712016ea616464d46c2000b00419b4993e771d91c000f73e5e0335fa903707fcc501b46c8168819ffeba96791f9ac2caf52116ff72088a32a8b887dd5820af0bdcf31bf8e103d772d935f7b0a6a585ce572fe0c6af01c30e7a3721513c9a2695c1ccc0f9c2a95d0b4270f2f461ee5b520e59b08ef438d0aaf3f8d3bd8a67367e858b2f75993631c2e3cb9752f4c63354c50bb40f84e91a39935ce07a8e3bf50456bc7c1fc5f9aff2ed2f9915a5dea8857a3b081a02c108b942605747a10ca0a7ce18e6ae878e67f3b20d8c9d9e8721e7c804502981bcf066db5402e1127ef67faf66734f84071ef908c3435da436f7323c12a6a6aa94ca602bc31bff8d539a9fe7fc4b8044006f54ed6124a1d8d85d4eefa0075aa1d849532d085919b23281256f6ee2da799b60e80895404b41622d4c39ee743e7bd197796d659e154b3ecef16392a4221328e4478917f520b956e2455dccff1850aa906e5f6d77079e0041e8ea49a24443b142d23b67122c66cec831a57133cbd786405bdb79128f3c15763cb465f17a4b969ef442f25b6ee4ea8fb651510f7a7089e18a89f8afbc05c3165e5aed75b985b20472821d6ee4f4933ac1d688ec4818e8944dac36cf9927a649e71a20d5cafed3a41f08803ec31065182e83b4d978725877770521180d70db0f9ee1cb573ec48fee1c853e076f486107b421bd485a86a56d673bb637a976348c0418cd4499352901d95d4f100bc84328e45090c82107d37bf4c25618465270df3d9a96b78c7cdb1143a96e47393c7b034316ad1b2daaab527cfb8b66359497548668475b687d1041822d0c0c1613b0f34c6e18868cecce4452521c249fcbee4f9f1ca4043a90ca089dbd90ca1a6ae0de61a82983f20a68ae53a8880f64d6eccd960364d890341447148fdc21d48e076fab7d28da644a5858d7558ee3785455a521b7fb0b168534ae77e881f41e01d429435b7cc3d714de000c26215e2a2c7e491853a3a86c82271f34dcd127cd501487c02966079d0918aed2fc9ebb58a72ca64c2840710eaf4f1d3078db08cdb6779a561081359b63382a0531410f5abb95c074a640be60f810e45d9140656c9e1a30b6b0aa02aa6a1413c728c482ee2e88141beebea5af0a411b7279a1226ea889038e21ea8ed7ef64bbb26ca7efb46c10db0778d03a303ddab68d3964b6287b499f8e25ee8207f72d29e743b337421464f06dcdf2b96cfa065dc281bc7150c9772b8cd13e3da76d36993b1163f8550eea2ba0fe620569c8a6209182ce2e4365dc3d00ebda84f10da05b0dc958280493c628ca4a201637d7dcb63f9b14dbd9dcf687b3c5b2cd7dfcf21ea124aab9fcf3bec827e1fe3f9ecca8fd31ce9875abaf0dca642144b02b052a3cd80c8b9e0f337f7a3b542bac518d9bb051ce81cbe2dec9c78a60f972617804ce3e5bd1d36e80286b32ea89673c1adbe85f02be74d886a8239180e56b84c111211c546ce917ea2a14e77e58f1d8039a4c0e268d534c1ba788159b765a61bf5b2ddffbf3ce27d228655ecbd67b74f785c9e482b4750778e8c9725a7a4ea63a9ee5f2d39fe1a61b0629f63c7015d8368b9f15ac78116d6d7359b4e2c3bcfed2d3cc99fc1c3ffdd7112acb049d3a60a7b5f7e56d2a089b3609590feaeb158bfeac0904a0b45c51a4a03406cd0d8a701082c57e389531aa6fdb3ea8911da04ad250dd6573d0ba51c80b74760a25c58afe84303008e79da2c8bb90cbc1846685d2427d9d7a279db2805de321f928fff0ef6378f25997aa1ae1c3a7249933a387e5ad359c304531ffd4ad485691c946786069905f2d6c6263f24abef0f14d4c6ef8330b1f18e1a3e7293ef5a93ebc7efbf00268880b8d64a5b61a7a83e4286cde22a40a862730560cfd83108f415d2dd4d728e26f27bdf69d9d6db1838ca7d897b43c6407cd43080646844891e1ba1f491ab25acb822b3f6ea1537e3fc4fd98346b0cab1d75490cc5f0dc3ce5cd39886823719e426f0d205aa31ca11056fc694905bf5d1860daf402377cb287ea99801720bb314880fcc14400fbb9c0528cdd51dbe88c037ee3b386c8a87f18367508bd8342b6a07010a64c50d4552a420ec4ca76af8adb57936ee3870eb09d806cbb6df45951b6a9ee532f0bc74d50d4d6f94c2c0a54ac009e82aca1a1d2de8eb1b6d60a3bec91cc46b9fbfe122e3d6f80bab959e8013711c47234962578de4125a60e6d85aa52fe43a4827ea35d18ea85951b8554ca3cab63e258282f834256d1d868985376d741b66d40136d08c754004686614baf30a94911f059c65f5e214c18a3a8aa36c4df998c61c4b47d1a52376f1c5120e8873762a288d15128aef5708705db760e17dfeaa1ad501501cf0fa4f1a5a1ac02ce68529085e10103cacab5c2f84676cd8aec3c9de998f7c4089496fa6086a0bd5b78ea6561429332bc652138f5620b7a04376b40cb7ac20b2fc3bc398a544258b51ece9aaf8c8313c304f7d672219114021b15b66d3167ee4ea18b063b68844067386026cb776d8db4a58c13f2b2fe983ab0fbe7bb59164810163e2c041c287870f65ca86952dbbdbb0c9b3a6d6d8600fca4e90650f1a9dcbb7b84e222452a63a47eec38c3f7a3fc58714b87cfdb8a717cdb0270309d373c0cfd83c2d87a652457bf4712b8d710528c3d53dbd432bbfb91b7f8b671e61468a8566c4dc1b3af69ca3741499121779b37db103166f386d07697603f07757566db56acc48f5993c65e6f7b9e5c63e34ea2efbe2d29a2405b4277bfa1776e1af34ec2dbbf88041ec8a862fb130c73c669746e00d71512a3465a8e9fa6d0593f22b04c8cb9d794960289c0a2274c007df1f9162abf07c9d2fe33e7823ef0ea3db48187272deddb52dfd39287c626ff80cf08e5260dc85e66ff525aca827c0a2221a8ad34f650f6b263dacb9bffdd59b58f1c097cb7a41ab0e2beca26dfb5e9b30fc83e91dd4935e6a93beff6dca3c507719fdc7b574a1ca013881dc3e2a04af2ff0f00962ffc1598143a920000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Just like before we need to load all of our dependencies in the site/index.html file:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+ \line
+ \line
+ Backbone.js Library\line
+ \line
+ \line
+ \line
+ \line
+ \line
+ \line
+ \line
+ \line
+ \line
+ \line
+ \line
+ \line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We should also add in the HTML for the user interface. We\u8217'll want a form for adding a new book so add the following immediately inside the {\f1 body} element:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1
\line
+ \line
+
\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 and we\u8217'll need a template for displaying each book which should be placed before the {\f1 script} tags:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To see what this will look like with some data in it, go ahead and add a manually filled-in book to the {\i books} div.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1
\line
+ \line
+
\line
+
Title
\line
+
Author
\line
+
Release Date
\line
+
Keywords
\line
+
\line
+\line
+ \line
+
\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Open this file in a browser and it should look something like this:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d494844520000032e000002660806000000bacfd41e0000000473424954080808087c0864880000001974455874536f66747761726500676e6f6d652d73637265656e73686f74ef03bf3e0000200049444154789cec9d779c54d5f9b89f5b676667fb2ebbb0f4a2880236441415151011633762418de597a651a3c69268621263349644f38d1a6bd4686c51638cbd022a207644e9bd6edfa9b79cf3fb636696ed3b5b50d0f37c3e87999d39e7bda7dde1bcf77dcf7b40a15028140a8542a15028140a8542a15028140a8542a15028140a8542a15028140a8542a15028140a8542a1f866d13af9bcb3578542a15028140a8542a1e829b2b357b38d42da5d77dd20defbfb1f79e4c33afcf487074ddc7f7b5552a15028140a8542a1507c47987ee56f3830f8257f7afd123edff5cfdc366a08271e705c2e29254502a2c5ab84b62d275a3a13b04d61a9e8d7376b3b4be7d9b44e33656dd2d1dafda307725a7fd173392dbfca42623b59da2fd9b502d99bcdb4760b74dbf4a675b937da91d3f2cf6e4ad2da7cdbee27d9c8caea3ee815399dc8ecfc76cb5aaed673414de4f44c58fb22bad1639d16e9c26876e9f21ddc073db8297a434e9bf7416fdada65e33fcd3feab6aca66fbb29a9959c76beec919c2eca95dd694d1b25ba25a7b510d973216949b43907ba2fa7cd6fb2979155918e33642fa763b9b2fdafba2051b6fca09b725a7ed03d411d0f517632dbcdd5c52fba2ea7ed4c1d66cfb29b3a95d66539ed7cda23392d3364791f74c2860d9b0008ed378f9563fec9237b8e64c2b871a5a4741001f82d5e0520dab4b864de1c34717f8a8a0a01882712595645a15028140a8542a15028da26a35fd42cd81f7f68844824021022a5a8784d5eb5f4ab04b4b6141720a5b4141616207bebf18a42a15028140a8542a150a4292c2c8027ee2732fc1a80202925c5005cb619531addc73ab4b828140a8542a15028140ac5f624128d42cae2e2d25a6911e9bfdbf458370e9ab8bf575090dfad0b4b2911522045cac7b2ab161b29259aa635964bbdca747d53af9a96f1b7d71af36725474ad034340d34740c4347d334745d6f578e42a15028140a8542a1d87ed4d5d53367eebcfd0107483679cdbc7700a75d8b4b77140e2105d217b8ae8be7fbf8be6c54080c43c3340c2cd36c7787af9432a59e48899402d7f511be8f100221257a5ac9d00d03cb3240d333956da67448996984c8428e896e18187a4a89d971951781134f92f424664e8890d1563d259ee3e27a123d1020607ced95dc81507db1fd10b80917c71318a110c1eddeb712cff5703d911a4b7d7b5f4fa15028140ac5374090e696169fe67b5ddadfe3d215a494085fe27a2ec9449263475430be7f31430af328cf0db1391267556d03f3d757f3ecb20d0483014cd36c2583b485c4733d928ec3902143e8dfbf829292528a8a0aa9a9a9a5aaaa92f5eb37b06ad52a02b68d699929cb0adb2c306829799ee7914c3a5454543062c4700a8b8ac8cbcd251289505b5bc7f2e5cb59b76e1d01db06dbc230522bb01d4f791138c900430f388cb1837358ffca73cc8b582d941789e76ae40dd89de1830a897cfa1e5fc5ad1d6bc12e3d1a6a1a88f926b945b984cd5eece766b2c304a4be63f7c54e8bc04ddaf41b3b9edd07e5b175ce2b7c14b5b6a3f2929ad7e1bebba6c6f2f3f92c4d5a4a795128140a85e2db4730fd9a515abc74d2492b343db6b848291142e0382e7d6c9d1b8fda978adc0052f8203c64b48e7243a7bc4f9809e5f99cb46b3fae7867115b930e966d37cac8bc3aae8b65594c9f3c99e2e2427c5fe0fb8248a4814020c0c0810319326430a3468de2adb7df26e9b8d896d5ca2dcc755d0c4367f2e4c994979721444a4e2211c7b603f4ebd79701032aa8acac62f6ec3924920e41dbc630bbb30213c4eb22445d8168ec360dc33409e40409078c9e6d1c921e516710479e792cfb98f5bcfaf6d3cca93309365dbc499786c4307e78e54f5279ae7d874f2306b6be832861d223e20ce4941b2e6146f10a1eb9eecfbcd61020275be545fa446b1a88fa6084f328ce69d2a7ad64dfc6f35b77dd71fba23b489f442c412ce1e1a527996618d8768070d8a63775c08eebe111710671ec8f4e4bf5ed072f30afde20d093be4db72d9ef470fd4cdb4cec4080dc10a979fdcb0bd3633997cfa306b6b5138fa542a15028148ab608d05c697149292d19c5a57d8b4bb68a8b9002d7f5e81f30f8cba1bb13922e6e6d43bbf9cbed20771eb6073f7de373b6f81ea699b2980821f17c9f801de08823a662981a914824b54fa6511b70d0740d0d8d706e8823a74de3e5975fc1f35d4cd342d7d3161bcfc7300c8e38622a76c0221a4dc94166dab54d4e5e7e2e471c71042fbdf4328ee7626b1a86d195c7b9824434cc01175dcdccd17dc8cf3c0af6a36c59f925735f7c86673fac251436bbafbcb415925fb688a79f4d9e6f10e97bf8f9bbb2cf400b18c9f8a141fef7a14f289bbe963ed14811c7dd763b2794c186277ec9e52f3590979372156c2d3bc47fb6b610b103f54597f193d439651c70dc311c357134c34b52f775bc72359f2f78937fffe7032a75ebeb515e7a7b9ea5db36e1d8ef31fdc03d18d127848620ba79051fcf7d99275efc8cfadebc9e42a15028148a1d158b94c262928a2cd64c6981b62d2e5d420af05c876b278cc08c56934cc63b2e10adc70ae6f09bbdfb73fedc159869f72c84c0751c261d7210527ac4635e7a81b22d65f6a0689a86e7b95896cd81078ee7f5d7dfc2d4537b5e841038c924871d7e28ba0ef158bc13391e966571d041131ae574497191125f58940e2c273f00e0914808ec6098b211fb72fc85a319fcd7abb8f5138fbc80861b8d529ff0d396190dc3b2c80907099adb5cfadc448268ccc51529f7392b106c635b50caca1371013340617ecba19424eaea49a0630503e4367b2a2f706209a209174f80a61b044221c221031d40fac42371e2aec0cf3cdd4fe7c90d35b51ea5e5c45d3c99ce93132237d8dac2a41936c19ab7f8db83210e2a5ccbab1f2609db36be9320127570fc54e005ddb4c8cd0f75c915a895ec85719adbcddae90b2948c4e2c41d1faff149bf4d416110621d8c539be52c029a4bc2032d10a624cf4443e24523d4c40598214a0a6dbaece1241c1ab4d1fcf0a69f32a9a459ab09950e61bf4346f1d253ef2182169d8e6b4a60e779a4c0896fcb031abaa1630542e4853aac6cd6f3a159db6efc29934a9b7ea1132e1fc1c4099ff1e4739fd2bcd3d26399ae775e663eb63b96212cadebf35d372d82b6869774537353d3b14321f272ccd67d996d7b150a8542a150f4881e595ca404cf7399de374c998ce1d6d602b025e6501977d9bd24dc9877494d8c5ccba02237801f6fa06f6e21d3fbe5f25a95836198b8be47fffe1504834162b138a4239209211a9fb06a1a8d51c0344dc3753d42a11c2afa57b075f3166cc3c6777dfaf6ed4b6e389c96036fbef9369ee7b5d986a95327e3ba6ea39c2d5bb660ca2ee8732dfa69c5bd5770e5ebd508b30f87fde2f7fc744c80bd0e1d8a316f3149cf64c82957f3934306539a630009b67cf93e4fdfff24efd719844c4922a25171e8e9cc3a7a7f46f509805bcb572fddc9f5ff6e7e593759c011bfba8d33479ac835ffe597bf7d9e958ddfe633f1677fe2d0d27c2caf86afdefa37773eba80483080a909e2118b11d3cfe3f4e9fb32acc0c0ad5ecedce71fe7a137d662864d92c96226fff82ca68cea4fbf82001ae056afe0ddff3cc2836f6fc6ce31d110c42336bb1e7d16671cb90f83f3349caaa5cc7ee69f3c3c672b81961626e91117c339fe8c69ec63d6a37ff8010fae4d5230fa58ae38fd30f6ec1b0499a476f53ceeb9e95116fb01eccc0ab1cdb9d824625d1bb2ef59db595f58f84e1ee34e399769fb8c606859180348ac7b9debaf7d06f394abf9699be3a4a1fbf9adcbad5fc85c6f1f260fd688cdbd891fddbd1acbf0283afe46ee39a614963dc88f7e3b0f3faf2bca8b24190db0efc5e7a594167f1dafdcfb10fff9600dd5ae4df1a0918c2eddc84a2d80854faca18371cdb5d1e964ec736d74e9138b0519356316a74cdd9b618526c824759b37f0d53b8f70e78b1bda198b2ece87a66d2b05d8c2db0f3cc4730bd750e305e9336424c3b5afa8b30db4c65b379fa9d7dcc5544bc3af5fcdfbcf3dc2bdaf6fc00eeb38c976c6f2d78fb3d2cb656427f3fdf01fcd62caa801f42b0ca2236958bd90d7deaf65c8c107b277450ec437f3d18b8ff0b7e7972373ac745f76a5bd0a8542a150287a4a078a4b76025ccf67529f105eb41ee1b9006c4ef8dcba702d97eed58fdd8b7358521be74f1f6de0827d06d13798cae345eb39b44f881737c7d17513df13f4abe8473c1ec7f7fd741d44a39524c3366b496af92784a0a2a21f1b376cc492e0f93e15157d492452723245a74e3dbc959c37df7c07d775d1b4d4b506f4af60e3868d5d7343916d79cfe804f20a290ea5bab77e533d42d7d0858b97534a89e5d0502708168429dbed507e7c85c3ea4b9f6653d2a4ff49d770fdf7faa6657bf85621056e0c8f4013f179ec39eb12ce1c6942dd3cfefcc7e758a7db298fc03439a5f9b8491f02458c9c722ed759b55c74ff727c0c86cdfa15d74c296eacbf553c9c43cfba9a11f9d771d5739bf0b402468f1b4685094887a4b009140f63d2d997a26db882bb570a02ae64e81957f3cba9258047a4de27b76417269f771545c9abb8e5238f5cbbc9d2ad8d7ef273c6f3b39f4f67370dfcba2d6c71429416dbc4e202824de6605b7d2c9b7cdee61874d6174b49eaa51c30654f4698002e49cf22a8d751ef7a14b43b4e4fb24a6ba39cb696f7df2e65f29983c919b5177df5656cf40bd963cf942961f5bb8ba9374df23aa96b33844b326f1cc7ec9d1afbe50fdfce0373a384c336b9a624bafe33e6acd509044ddc88ec645cb7604abdd33c86b0d8fdfc6bb9f2e07c4050b779337e7139c57d87327e6c29773ebf9e567abd9438d12ece87166d5bf5f0addcf9663db939261671aa962f643306415323d1f49983e593f44d02f9839938eb12d870057f5bea23fcf6c6d26697333b9fef63f61b41fff47c77359bbcc1e3387e70aa88ef83112a67ef132ee4476b2ee796cf0541af8bed5528140a8542d1633a302d74bebcd2d010becfc0a08688c690420030baac90cbbf37893f3dff16270e29e49955755c74d4c18cd1ea110d350008e133201c42f87e6a63bdf0c90d87719c64eaea2db48796e7b240aa9cef7b8473729042a4f63b089f70388ce338cd64c4e3f1667232f8be977ef5c949cbe9c2d2b215c3cebb8527ce6bf241ddbbdcfdc42af450085bd7587dcf257cff6e8bdc823cc2c5e3b8e4f7a730bc640f762f7c92d5de78ce3eba2fe0f0f93f7ecf1f5f5a4b420f909fa323294a0bb419f2bd9f71d8be25905ccc03bf7b800fdc20b9a68feb662e1ae1addf5ece5f177b544cbd9cdbced9958283a633e6915b59183a8c59538a81380beefc35b7be5347f9f4cbb8e5cc5d1870f409ecf9bfdb59d0b850ace7d55f5fcedd2b0a99f1db1bf9c1b030fb1e3210fdcb15240b0e66d6d4126003ffbae23a9e5eed5336e54aee386f04fbccd8978279b3716cbb89cb56cb3e9518050328d3005670ffb537f0ca160f8c10f979412cadb331c89cefd396eca6b4d7178b99dfb49dd75ecedd4b5c8c6088fc5c93da76c7e92956d6b555cec6284cb0faccc10c2ede8b71a54ff174c370c60f04d8c8bb1fd7625a993d67a93a3b0d111adc6d35d5ac104579db9ed44be1a3970ea50c802d7cf4452d662888a1497cdfa2a87f7f720d4162eb1ad6151cdcc9b8fe850f3b1dfbbfb0307c08a71d9c0f4479f7d65ff297053106cefc03371f5bda58ef56088f64dec42ecd87966dfbe0b36aac50909497a686a99ba91fa766bf03e9fe5e5ec851bfbb917386e5b0f74103d117ad40182df2348ec9c15cd4c5f9fef74d63f9c51d3f65bf002cbbfbe75cfd8ec9d4eb6ee2fc11367b4c1880b17019c9c2aece7f8542a15028143da5679bf3d39be173a4dba8700088daad8ccc733969fc181e9cf331671c38963d44355e7df5b6b29a4650b88d1615910e639c71e9d2348d77df9dd7eea50f3c70ffc6b281a081903275b4665a3171d3abf88c92d2b43d4ddfa7ac32a9bf0381b49cae985c5ae6addbc8ea5a0f23a798017dc2507020175db88c4b6f9e4b8396c798d32ee647d34790d7ac904d8e0d66f95e0cd180e4673cf3d606cc825c8a35d9a810a608b2cbbe0301974ffefe775eae34c90fb5ac86c0f52481b0c1d60fde63f539bb32cc28637889cec785a3190810ff9cffcdaf269867b169ce1b2c3b7317465a83185d6e307f7d53591ab656c7575fd5c0b022c225b918be0f156318044005336fbc9b994d8b14f5a750176c12127ddbd69d1668f89b16b2a06a2ad34a8671fe5ffec2d4796ff2dc332f326fab4faeddc4a1aa5357b136beeeb42f0ce66d6e5e9f405e98b02171e2414677304ecd2f97292748547fc8ebab6672ce90320e1c57cacb6bf767171dd8f83ef32ac10a6736954bdc8860974befe5eabdb62d6ddd85b770ce9f9713cc351acf3302bd49f4b4545f48e113730771eed597734010beb8ed026e48763eae9fe46691276f141500892f78edb328c12c361b49df43efe27c6873e8dada74dfc6bcb1f56df331a7388c21249ed13c4f202f4c8e8893a8e8fa7c37e2abf97c33ec370802610b43ab63d9d21a185144b02007437463fe2b140a8542a1e8313d7215d365ca6dab219e24e0a70e7bccf0e59a0dfcfbcb3a4e3b602ccf7ef00543461630aac06efc5ed37522f144caed4b4fc989c7124899f277d2349d430f3da4715fcbb67aa51637f1781c21535696782c258774de442289a6a5377bebdb1497b6ce6711422044eae97d32994c5b753a6f7bb3be6af27ec5933773d51bb52025397b9dcfed571c40de98694cea339b17fbcde2a2e923b0fdb5bcfeafd7589c1cc0313f98ca202d1d2a41d7d29b85451317a8d6f589472114b6d8f39c594cfcea2ee62703cd43236feb2c30adf4535f996e679af435b36aaa26f19cb41f9aa6a7fa365357aa98f7d202363771e7110d4b69300c34e1118bbb08c32614682dd6d056f2d0d57f60f5f1c770cc94d10cd97f0617edbf2fcffef23a9edca291d3e49c9a56eb59d9dc95ac533aea8b2617116e126dccf91d8f531be5243a9659c3fcd796f383f38633e0e0891cb06e2436b061f6076cd14dc24ddcc43aaa7263bb340351bd9a4a26924b19fbec51c8536f44b0831d14ce665c3bcca3351eeada66f4ae36bb2dcbf9d0ac6d3aa27a2d35403e65ecb347114fbd5e8f1534d0b59445d6173a569b01db257ed3f9d85633d2f74e766d6e59d6c3f132e275a0c5f5b29dff4ddbab5028140a85a2c774f03855769e3489ae1b2c6d48201108df45f82e4b6ae3dcbab8960b27efc7f7fa5a5c7ee401fcf9cb5abea88935e69152b03c92444f4715d3759d9a9a5a7c5fe0791ebeef118bc588c7e3c4e371128944e3fb582c8aef7bf89e87ef0b6a6bebd272521bf7ebeaea1be5789e4f6aa1ba6dbf4c66d33fa442277b69397575f5e8e9854ad7528b9e9312814d41493ee9936a10d220bf7f59eaef356ff2e40bb3797bf6c7ac6f345469789b97b0112038861913fae0d447a8a94be0367b6c5bcfbb7fbd95ff6e02c2fb70c1cfa751e626f1da5861266316bb1c7138830112ab595c25f0367cc65a80e068a6ef574cb241d0f7a0c98c00f0d6b2688b97c5a6621d3f535772096d7e9fa71f7d9c871e7982c7fef3062fbff105115de2864673d24f2fe42747ef8ae5f8ad950f3d44ae58c9abffb8850bcfbb8e273602f4e5807d4bc115a905713b7d2c12316a6a23a9549f44b4cad1795fb49efc12e1eb9d8c53dbf241a25b0675f35fe66317e83f831fec1f02d6f2eabb5b316c8da66db1c21a4b6e398f9366fea0319dfae76504c23a5a269f6e60d67ec8cb5fa55a376cd6859c35be0ce2091cd97c94dc4ec7d5cf62ec7dbc2d4bd90c101acdf4fdfb2009d3a7b8a9d699aa9b2f0072e85312c0f7b3980fa681de743c751da3f653de5e95923aeccc8b38ff9021e4e9e0f816e1f2518cdfb304e1743cb2dbead4fa33cdd0f17b65beb7a41bed5549259554524925953a48d9d1b3a86242605b16b3aba2ecd10764dacd2b2794c3cfa6ecc628670beed62a86e71572d9b40904b6ac447ab15461c3e6cd4a0fdbca4147c7344d2a2bb7120e87f07d1f4d13e8bac030f4c60df919a5c3f745da5222304d932d5bb66019669b725267bbc0fbef2f68b30d9ee722846c94639a56d75cc55a74f6b073aee7815325563844c6bee47ff50673b7bad42d5b45847ee40e3d939b6f3e98f5b110439a3e3ddf3a9727e71fc525e373d8f78737f0e8f92ebe6ea12fb997f36fdc769a85882ee1d15bffcde89b4e60c8b013b968c6275cfdfc66b639d4e733f5d77fe1201924151f40b2f2b9e7f8c2b308d4cee39f6f1ccd358717b2df4f6ee2b11fd36846d8f8e2337c92d4d15bace85b77878e593987c7de9dc6e507e631f6acdff08fb33c5c6962690ef36fb8985bbf900c39e1348e9b500494b3eefd6b79a6aa79bf697d8fe5c6df1d46b8be8aca9841595f009f2d1b22083d7561d9461f577cff7afef5fd261f381f73fdc56fb43d3cedf68581d6b29d48344350d3d938d1ba5caa8f7402f1453c3ba781bd0fcbc300e4923778af4ac3ca696dbd307372286c254c366bad1da867f65d8fb0ff1fce64afd040a65ff01ba65fd0461daa3b1b57133bd1791e2b3987a73f3a8a0bf7ce61fc8f6fe0e11fb7be96ee57b1742becd7df64af8baee7e21bafe2f6cf3b9e0fb72d13849b1d34a361db35bc7ad7d31cf0fb13d9c5ac60f2795730b9e9feb0f807fce1c2bbf8d46f7efd6c6e4f89446a067637e67be7743eff5bb757a15028140a454f69f7bfec8c2b4e47c9f325966df166bdc19a64cabd4bfa1e15b6cfc8d806bceacda9c3016b2b19deb08601b640fa1e9aaeb33022793b62609a1668609a36d5d53544a2318410b8ae8be33a388e9b4e4ddebb0eae9bda1f535d534b6d4d4dbb721cd763afbdf664fcf8714c98b01f13268c67c284fd183f7e1ce3c6ed83e37a082188c66254555661d966566ddf9634341c6ab634a4169c7a907038848d47fda665cc7de64e2ebbf12dea0301b4258ff2c747e6b3b2ce27b762282347f42590ac67c3978b5893d0b0020916feed3a6e79ee63d6d4fba05b1832ce862aadd5b92662e3cbdcf164ca397fd049677178910459cbe70b57b1b9c10523b5508f6ffe9257effd3dd7fd770b76c0c0087a7cf5e0efb8e1e98f58d3204103bf6e35731fbd896b9e5c8761eb59e8bd1a6630c9c7775fc70d4f7dc08a1a1730b1349fc8e6956c1226862ed8fae142d6b89058fe019f56b794aa61ea31d66d8963e697d0af6f21d4af63c1d3b7f3d7053182a6d6bc9f3b9cc5ada7b1d6595fd85a6b991230ac4ec6a90d77b12673c108b82cfdefaba446c661e1f30ba9b30cb42ecda92649b308d4cfe6a69fdfc483af2f625d5d139fa4641debbf7c8f059b7caccec63560606691c7b2e3bcff97ebb8f9a977f964e96a567cf9191fad4d5d537a2e021ddbaae295bf3ec2ec550df83854d7bbe87627f3a18db6a19b989b5fe2ba4b6fe7b1d94bd818f51b3b345eb98a85ef2c266a66331fdb981f99f1e895f9de922ce67f77c75b25955452492595be8329fbff815b631d34717fc7b6adac04188689f005856e03d79547c9976e6358e4b6d04d8b7acde28a4d792402612c2b751d2124aee3e00bc1f0e1431a2d2c4d0f8b6c7688a4ae237cc9f2e5cb304c13db0aa0eb5aa31c2125c3860d45d349451c6b2227753d8194a0e91a488d152b56903a684feb5a0f0220716249e25ef3729aae635a2601db20b55d43e23b2ef1a48f9fc9aa69e8ba41306461a5ad0caee39274b6e5d12d9b7010e20d0e1e1a763848c8003f99249214804e283780ad0b927117c71364b67068ba8e655b04eda67b01245ed22591b98696ca130aa4f3489f68ab6b258824251836f9e1cc017b2de4a4af6707ed94e2e1b944631ec230b0a4c02f9dc24db79fc6602a79e68aab796a8bc44f7ae9430e33f53009068c36346a41229224d9a6e7904138d72019695ae72cfaa28d7666faa7c371d2da2a27f1120e51170af7fb217ffef978726bdee0973f7f94f5a68dd1d387ef52904cba38eeb6f6903ed3c80ed969c5b69371a5f33c528099978bbbb592064fa2d9151c7dedef396b8446f58bd771e1631b090475f03de2090fd787403848d0684336cde743fb4df371925eabb1324c8360c0c4208bf9d8ee5866d12fadca4a9c6882b80f7a20485e40ebd6fc5728140a8542911d8ee33267eebc138138104ba76893f77120d1aee2925128b2c1b26d5c3749c049707e7e3dfb069220d2d1baa4848cc2a01b2c4c06b8a73e9fa41d221048f9ce675cb384486d90f7bdd4592c3939398d8a4a868cf2118bc5d8b8711386a11308069b6dbc1742e22493f8bea0a2a22fa150282da3a962a1a5c329fbac5bb71e21049665a5ddd4d4a2a3f710249dbe9c78dda5cc1892973a8da6610ebfb9e84156e8e913ec777a246ec264cfcb6ee467bb5ad8210b70f8e8ffaee44f0be204ad9da591122711e690dfdeccff1bea138f24d073c3e91384d6f2d865bfe3bf35662beb9f42a15028140a454f70ddec14979e85434ee324930402015ccde0965a83f1568449a138c34d973c5dd02074967b166fc743cc7773c90905095856a31ea191b2a6e89a9692a33bac5bb79edcdc5c72f3c20483c1941b9a14241209220d51a2d108013b88655ba938489246ab8cae69d88100aeebb076ed3a0a0af209e786538a92d44093388e433412a5aeae1e3b60635b16aeef77c3daa2e81029f1cd3cca8b524a4b7cc3873cf3f72758224c027a1b51ab764a2442cfa5d49229a5c5d9cac267eee5afef47b0034697eea56f16098685dcb08acab20194e686812495cb3ee2a5c7fec58b5b756cebdb32660a8542a150287636dab5b89866d78f4e332d135d37f15c17d77511c2470889aea7dc6c2ccbc2b2ac762d1a99059e9429f72ec773f15d0f3f6dbdd1340d4337302c13dbb4d0749d8ca89621931be5481fc7f5f0d27b59a414689a8eaeeb98a681655b085fe08b94d2a2ac2ddb012988c75c3c9976a50998d83df69ddad190387187a40fa061da660bf7bc9d05899b7049fadb1414cdd0b1ed6fe39829140a8542a1d811f03cbfa71697ae5fd4753c34cdc7304c42a150fa0c95ec173b8d16135d436a3a013d80b432b1b964a3ac94bb18cdf6c1b427470883806d10b0ac4647b194d798c017e03a4df7e374fd0c174536e804739a1fe4f2edeb670d2b18a09983a5a41b1bbfbf6934cc80dd66b8c16fdf9829140a8542a1d899e81557b196e5847070dbdf9faf5028140a8542a15028145da25dc565677c56ac5028140a8542a15028be9df4aaab9842a15028140a8542a1506c0f7add554ca15028140a8542a150287a9b761597ae44d7ca9cb5928adaa5c2a52abe5d640241e8badeec10538542a15028148a9d9dd4b98b828b8e19c8f4c38712acd81da3786fc0eba0944e2a685602fc18c828f80ed28564e51a3e99ff09a0e3c6530000200049444154bf7e6809918444d73b3f002e5b83498f2d2e42087cdfc7f53c3ccf43f802a13417c5b7085dd3d00d1dd334b14c13c330b2ba09150a8542a150287664a494f8bee00787973363ca2ed805018c600d04aac02902df035d342961001a7835202bc1d98a8c57a1e14341119a6961e76aecb9d7402e8bb85cf7e83284e89a41a4233ad89cdf3942083ccf23997438e490494c3b723ae3f7db8f9c9c70af544ea1d811884623bcfbdebbfcf7bfcff3c18205040236a6692ae545a15028140ac54e4bc65b6afcf010a71d3d0c2dba02a2168bdeab675d7236d366ce047330f81aa9a05d064807dcd520b6222a97e3ac5e8d6e9510712c5e7eed7f9c78ca58ece163b0fc1013c75770d28a3afe35772b86a1f78af2d2d62993c6a04103aec9a6b1beefe3382eb3669dc955575dcd90c143b02c2b6dad5149a56f47b22c8b61c386316dda91545555b178f162745d6f741d5328140a8542a1d8d99052621b926b4edf8592502586390c6bfc4dfce4f7cf71cd4dcfe16e5cc1e14756803041fae06d066709884afc2dcb7096aec3defb1aacd13fe29905714ebff40ede7b6f39274cc821d86f20489f117d2ce67eba95fab8e874cdb466edfa2748f9a7b96d240ff0ba6d711142e0ba1e071f72083ffef14f1af7b9a84dfd8a6f2b524a2ebcf067ac59bb86cf3efd145dd7318cb6747f8542a15028148a1d172925424a0e1e95cbd0a101644d1df6815743209f705e2102b8fec18f9832f9650e3de6006434a33b682005ee8a350426fe19bd642400192794d73f6fe0fa1bdee1867b8762e404c92b0d71f4b862fef6d2e65ed927dc2d5f978c3f5cd2719876c474a444292d8aef049aa631f9f0a9241d07df176ace2b140a8542a1d8e9905282104cdda71843d461168f8640210037dd7423874f9ec26ebb8ec0ad6a003f097e3c6575d104a27a2d5ad19846a505e0fb279fcc05175cc0885d7623afdf68d8b00addd230432687ee5b4c7e905e593375cbe22284c0f55c0e3ae860264d3a0489525a14df7e344dc3344da64c99cc4b2fbfc8e2c58b308ce656172f13a44274ff7ed0340dc330b02c53b9a229140a8542a1e875a494f4c93318bd6b1ef835e8657b367e575e5eceebafbd8a9b88622e3817d950077a20bd51df40446ad0c27b3593a7eb3a77dc710749c727105d4e72e1a5d8e509741b4afa04d87d608079cb1c344df6686dd365c525636df13d9f934e38094dd39152b499f78bc55fe2fb7ebbb27cdfc7300c4a8a8be9dbb75c6d7656ecf0e8ba8e65591c73f4f7f8ecd34ff14dd16caf8beb7a8c1b378e9c9c9c6e5f231e8f535555c5aa55ab30d2d1cc140a8542a150287a838c97d4aefd6c826113cd017fd37cd02cb0f3414a8c5009969024e3096ce1a47dc152561a3490d14a52e79f3451423408d806b2ce0529403a68bac4b07476ab08f2fed204dd74f66aa45b8a8be77b8c1e339603271e88e8c0452c168b317efcf87665bdf1c61b4c9c3891e5cb97535955c5f061430987bfa688647e84b54bd61318be2b657653cd4f92acafc30f1792b3d36f5ff836b565c720630d3964d2241efbd763ac5db706d3341a15978cff662291e8f6350cc3a06fdfbe141616f2c9a79fe0f93ea6da4ba35028140a85a2979052d2b7c840d77d8cd23ec8e87264e552a49f5ad30b4f2005e8f916683a08271db3c843efd30fb1643ec9b7ce450a01b2e93a5a43c66b31f2743424e0a299928a62b35167e889c5a5cb6a8f1002cff538f5d453538a56072e62beef35dbb4df323534d4535454c4a851a3c8cbcb63e9b2e5c4e3f16e37a62bc8868fb8e7a687f8b4a179fd65ed1caebfe84fbc5bdbb615697be26f7e995ffff01afeb3a1a3037fb297f14db6e5db8c61181886c971c71f8fe77a08b1ad7f355da3baa6ba47f23361c66ddb66f7ddf7c0f3ba3f1f140a8542a150285a22a5c4b234c0c7080530fb0ec0ec3f086bd0e0541a3694c0886198fd0780f040b8203d100ebaa163ef3614b3c2c1aa70b0fa27b10738e99424b04b186b507fa49b04e9a1499f5050fbfaf7b8a4ac2d3e9aa631e99043a193bd2d9eef375bd4b5a4a1a11e807038ccc0810389c7e32c5db69cb16346b7ce9cf8927baebc8137b7a65ccff4705f464d3c8eb34f9d487ffbdbb10f40cfdb858953604841164fd7e39f70d305f75276f52d9c3ddc6e5b86bb1d2bfb2d42d3ba7633a5ac2e3a874e3a945b6fb9192fedf2a8691aa661505555454971498feb2584209c9343797939955b2bb12ce532a65028140a85a267482953c61329528a857040b461cb10cd1cc19ae083a66384729b67c858520448df4bbb8b0920f3bee775efd24a4888d4de9603274e4437f49479a8037ccfeb5071c9cdcde5de7bff8e6559d876804020806ddb6d6796496a1af239fcaadf3273a047d58af778ec6f7771736810377d7f1056571ab283a2e50ce3889387f59a0c59db1bb5fa76e3ba2e6fbdf516471c7144a3f2a2691a0b162c60bffdf66b57a1310c834020c0d83df7e48b458b10a6485b620cea6aebf07c0fd3e8b9a22184a07fff016cdab849292e0a8542a150287a0f1ff03d9c648244b587a649ecb085611a18868666a69cbd32ba8994a0a1a5a2aafa690f2ab7e93a49e27a022120b720486a4f0c482741b421d92b55eeb2e2e2ba1e679ff5830e5dc432787ec78acbf4e9335a7d367bce3b1d48d40986c3e416d8e4ee7d24271ff42ad72dd94c9241587e256fddfa6beefbb80e5fcb63c4d473b9f88c71141b92c4da3779f0ae27786755042d7f2c3ff8cda54c0e6c932a635ff2cf5fdfca97075ecdaf0e03bcf5fcf70f3fe5814d0d1825a39971ee8f3969cf020c2489d5af73df5d4f32774d9460bf7d39eefcf3f9dec85c882ee21f7fbc8b7756d6909010acd89f99179ecfd441413424b115af70dfbdcf327f750381c19338eba2b339b8bcb9ba256b67f3eb4b5ee2909b7fc7e4f01a5ebcf3af3cf1c1261c2d8fb13ff82d974feed3e689a1edca30da6f8b1efb8a7fdd7a17af2dde4a9c20bb9ff747ae3a0466b7d18745c996797fc961ef5fcfe3037fc9cd670cc5c661c5c3977343e539fce5923de9feb6f4af174dd378ebedb7f9c7430fb376dd3ace3de71c00eebbff7e5e7bf5357efef34b18376e5c9b655367b8989c7aea695c79c515d8b6d5185d4cd7356aaa6be8d3a74fafd4d3324dcacacaa8a9a9561bf5150a8542a150f4084dd3d0808dd50e089f4debea58fa512d4b3eace6fd5736f458feb93fdc83432ede15197141805317616395d39ef9a64b64bd0aca44130be584183d7a74879bf233f89ed7657f363f4b7f7eaf6631733f89507e503f020046017b9d7a35b7fda800d6bec42d373ec0bf0f18cbb98356f0cf1b1f66e5fe3fe20f178f2010692058624024dd2e6f2befdc793bef0d3a87df1d338440c35ad0820c9e762197ed5d48ed7b0f72dbed7733e096cb3830f0158ffce99fac3de0026ebcb482dad9f772db2df7d2efe68b1827aa59b136c0f46b6e63725184cf9fba857bfffe367b5d378d3ec9453c74f3136c9d7c09375f96cf92c76ee4bebbe7b2fbaf0ea5a4cd5d4692860f1fe1c9d57b73d95f4f64845e4b9556d4a9d2d226edb5852d2c5e6670c4affecc917d7d9281620cc36fbb0fcb5ae62dc1d40650ffc2a754ce1c4a8556cb922fa2f43f6a30a1eed4f11b424ac9b423a6118f27f8cf73cf3546b57b77eebb9c327326e3c78f6f57f14e854636d873ec9ed8011bdf1798a64cbb9199545555f59ae22284a0a2a282ad5bb728c545a15028140a452fa0b16c934332ea51dac72232264cb0cce2d3395bd092827cdd489dd3c8b644e6bd060289dfe4bd27c141205d49c004340ff0706a6238d551966c48a0f582e692f5e6fccc86e169471c99aa7c561697d41e97ae24af83f0c97855fcefd73fe4acb3cee0cc0bfec44bf17d39e1d07e6937318bc201fd29cdcba574e4240eeb9f605d6582c4f25799e7efcf5927efcf903e25f41b3a84a2ccda4f4659f4e84d3c523f8dcbcedf9fe28c6660943066dfdd18d0a782d1d34f634ade97bcf96584c48ad798ef8de7cc13f76560693fc61c3d8b29399ff1f2170da93ed102149596505c369409474ea070f3223639905cfe061f88fd98396334e5c58398f0bd4914ad59c0ea0e024fe9c11cf4e83ad6543a58057de99fdfcd056b3b6dc9d4b7a4ac9882a272ca72f476fbb0755e93c2318732b87a1e1f55f9c8d82a3eaa2c63fcae79bda14c7fad08e173fc71c772fcf1c7337fde7ce6cf9bcff1c71fcf09c71fd7a1b5103256178303271c983ebb2595df30741a1aea89c562bd56cf6030485e7e3ebeaf022d28140a8542a1e819baaeb1a6dae7aba57598ae4bbf3e363a82feb9418a6c0bc3363003068180412860901734290a5a94842cca0316158100038301fada36a59645b96d516a59848326f9c382904ce054d513df5c4f3ce2b368a3df1879b52764bd1ace282e279c707c564a0ba4a28a75b6f86bab4cbb98451cfeb36b39699081d3b0914fff771f77feee31fadc7806c3c51a5e7fe01efe3d7f25b5ae85293d860849b2a69a64ee5e14b6d552af920f3f80c2c94328696f83bf5948453e7c5c1327ee5593cc6b22cb2ca47fbee0a3ca182dd52d235448c05f8d2b25c9ba6a620dcbf8fdb973b665d07621e248c869ebba1ab97b9ecb25331ee41f37fc9467fa4fe2f41fce62d28040cf1483266d696b5464a2ed3e6c6bb4f5a23d9932f451fe3b7f0b9386ce674de1386695ec9c217b8510249d64e3d92b492799d5bcd5f5d4192bdf3bf618de7afb4d84108dee62a669b271d346860f1bde6b752c2f2f67c5f2e518463bfbc0140a8542a150283a21a34048745ef928ca8852417840888a0a93dc629b48ad439e6190838ea981a969e8682025be10e89a86d434a2c247f82e2e20005d40616180c27e1aceda1a92b549fc84e0dde51e953108f44230adac1497949b984f6e6e1e2347ee86109dbb8901cd9e42674bc7a15f7582f9051416d95054cca1c74ce2c5abe6b1bccea5f0d37b7978c9482ebde55ac614d4f2dab557321bb0f30bb01a3652eb4145cbd65a839979e96416dd713bb7965fc7d53306b4dee4efd5b0b656a3a02487504e3176c3866db2bc5ad6d7691494e6b476e3d23306310d3bbf909ca2295c79ebd98cc876cd691430fab88bb8e9a84dbc7bfff5dc75475f46fee168faf5443768d296d6a63641d5dcb6fbb04df442f69eb107ff7cf815e6ac594acef86329df09bd98344de381071f64febcf91c7becb1003cf7dc73d4d7d7f383b3cfee709e67ce74d97dd4ee0483217cdfc734cdb41b994955651503070c6c3fe04417292c2c42885e08c9a15028140a85e23b4d2642ea6b5f243965bf20ba15a5bccc62e0c020b5cb6394eb261adb5cc47c2931348d11e5e5f42b2d65532ccaa7955b18d6a78ca24080647d3d8b376ea5688849d84ee24624c295780978fac338866ea0697a8f2d2e59b98aa5ac2d3ed38e4cbb896519cfccef86ab98df91ab188244a481fada2a36adfc88971e7f858db9bb3034df0029911284efe078db94a5e0f0c3d99bf7f9c7e3efb1726b0d95eb57b121b6ed7bbbdf247efaf3c3a97bf276febd3ced162593546fada6b66a0df39fbc8f57136399ba5b2ec1e153186fcce7a1a717b2ae72139fbff030afc5c670c4ee1dbb4805871dc65ede1c1e7a7621ab2b6ba9d9b286151b6348c0dff20e77dffc00f3aa9bb7dbad5ac292f57524440e15030ad19d284e2b1dd0275e574d5555552a55d7e3b41c9a76dad2667ddbe9c3b6d1c8dde368267aaff2d07b36071ed077a78beca6691acf3fff3c7366cf61c68c191c75d4748e3a6a3a3366cc60ceec39bcf5f6db9dde608661609a26130f9a88e7350fff6d9a261b36f47c935b065dd3282e2eeee41e5128140a8542a1e8184dd3d0759d86a4ce8373637831895fef32e1985cfa14dbb8ae44905af1fbe987b8fb8f18c1a1b366b1cbf1c7b3cba891cc3ce73c4e39fb1c8e3c6022d3468e66fc6e83193f2d0f1381ef08fc98cf0b1f2759b25960183abafe35585c329bf25dd7e58c3366352e6eb3a1b3a862ed9569132d40616e2d6ffcf122de0030f319b0fb01fce8ca93d925a0c301b338fec33bb9ede297700123a7828979065a780c3ff8c5a9dc7fcf83fcf29528040672d4d5d7717a69a36072763d919f4efd80dfdef55f0eb87a14c306c479e17717f32c101eb03fa7fce21cc6e56b68ecc6ac5f9cce7d77ddcd2ffe1723d06f5f8ebfec7cf6cbd7a083d0c35aee58ceb9fc24eebbf71eae7a2e025a1ebb9d7c35571d9b838cac63c9e2a5f4890a08fb087434040d5fbdc45fef9a4fa50f46d148a69d7304035a6a065e3db36fb9ac895564177ef2c7c3b67d6f15b7db96d6f5d52969af0fdb6b983d84a9470ce0f5f70ee5a07e3b9bda929adb53a64ca1b8b884830f3ea8512138e698ef3170d040c68e19dba9653163759939f3345e7bf5556cdb46d7534f142ccb646be5568a8b8bc9cfcfef95fa96f629a5a6a6a6d1254da15028140a85a2ab641417c33478e1d3247bf4d39936c6a0a84ce7f0b34a78ef811ae2f53ea6ade10bc1aee5e5ec3670207e7d3d5e3048c990e1d8d5b5243f5f44bc36ca8a6403c513e28c1c1dc48ff97811c1d2f570ff9c38a669a1eb468fad2dd0766032eba089fb3b993f8410249249f2f20af8df0bff4bbb8965a78c3cfaaf7f72e4b4d6218f3be2a5975fe0b499a777a9ccce8fc48d47a85c780fd7fec3e4c2db7fc6d81d3a3c974f22e622225ff0d42dffa0ee94df73c13e3bdfc6fc0cba6e2084dfe2333d6ba5dbf33c62b118277fff6492c938c140a0314299e7fb482119356a14a1502f0caaa6b160fe7c82c140e779150a8542a15028da414a891002c771b134975f4db399b09b49b0cca06eb5c7a74f34b07659022721993c7a77fa969690f45c3c5dc34b2688b93e0929714309f22734d07f2ce06ab80d82755be0ca7fc7d91c311a8f8ce84c71993377de89401c88a553b4c9fb3890e8d0e292b1b678aec7cc9933bbe42606e9455b17c321771855ecdb8aa866f61f2fe6de557d187fe6658cdaa19516c059c3d3bfba8617b61431faf89ff0b3bd775ea50568a5b4a43ecbde52a8eb3a966571f48ca379fcf1c7f04dab71e39b691878d263d1a2450c183080a2a2220281ee2b1d8978bcdb65150a8542a150283264ac2e9665e23892dfbd94e0323fc4a1be24af5ce3e0cb0aa8fa32c4e60f3c2ccb6149f546926eda4d5ed30816498a7771281813c70a4bfc18b811c1e2351e37bcecb2296260db66a3274a6fd0a9e2e2791e03070ee2a4134f4abb8965af88f47a54b16f2b7a09875ff730877fd3f5c8167b28a7dffa08df35bb587b64a28b9d74f2c9bcf1c6ebd4d6d66018db6e52d334d175c1faf5eb59b3664d9795f9e6d7d2d4592e0a8542a150287a856dca8b85ebc2ef5e88f3c57a8b330eb0282c80a2a106a5a34c845347495222a486aee9e81ae81660f8882424ab359c06c9d31f383cf2a14f52585856cad292f142e90dda5d01652289398ec3befb8e23949383eca21212080478f63f4f77a94c389cdba5fc0ac58e806118141614b0c71ea379f3cdd7314da359bc725dd7b1edd459390a8542a15028143b0a19c542d3521e234f7fe23267b9cb317bd94c1965d2a740a29902dd90e81a48e1e3035e12a4a351532778ff2b97e716fb7c5569605936b66d66e51ed655da555c3ccf279974d8638fd1cc9c39b34b9bf2339c768a7a26aff86e90da8c6f71eaa9a7b172e50ad6ae5d038065294545a15028140ac58e4da33b57da025319f7f8fb6c9747de4f326680c12e6506fd8b740a43a009a84b4836d5fa2cdfecf1f146495d42c7346d020113d34c59597ad3d292a15dc5a5bea18181030771f2f74f61d0e0c1696b8b3a4342a1688b4c74b1912377e584134fe481fbefa7b2aa92dc70f89bae9a42a15028140a4556c8f4b690ccba26e66abcb7dc67ee52aff13b00b46d6e66ba6e347309f37d913e772efb7debb69ddd83de761597430e9ec4f9e79fcf6ea3462185e8915fbe42f15d2073939f70fc090c1f369c7f3cf800efbdffde375d2d8542a15028148a1ea1a51595560189a544f83ec2f771ddeecb2f2e2ecaae1e6d7c661d34717fe77fff7bb9fb575728140a8542a15028148a2c38eaa869598543ee7de7338542a15028140a8542a1e86594e2a25028140a8542a150287678d481103b28beefe1b9aeda5ba45028143b00eab758a1e81a99a85296ddfd4397158a9628c56507249988535d5dcdca15cb89461abee9ea28140a8542a150648daeebe4e6e53268f030faf6eb4f2f1fe5a1f80ea314971d0ccf75a9aeae66e9578b193d762f8a8a4bbee92a29140a8542a150648df00555555b58f2d5970483414afb94e1fbd987c65528da43292e3b18beefb166f50a46ed3196c143877fd3d55128140a8542a1e83285c5c58472c27cb5f80bcacafb2ac545d12ba8cdf93b184208220d118a95a545a15028140ac54e4c389c0b4894af98a2b7d8ee1617292542080cc3d8de97c2f77d745d4f1f90b3f322844037944ea95028140a8542f14d9159570a21009aad2f33a7c4f714d18b713ff49d7bf99b15db557189c7a254556e6d8c2ad1a7ac7cbb5d6beb96cd788e832f7c8a4bfb909313de6ed7cae0fa8275d5492a232e68501432195c1ac4327484947cb2264aff229bb27c7bbbd745a15028140a85627b21a5e499679ee18b2fbe60e0c0419c7efa6998e6b773c741c6ad2df3d0bdad87efc9649240a0e711d3be0bca466fd2e68ceb0deb88eb3a54575552585484a669d4d7d5e13a0e96ddfb8b78d771109e4b7e6101524a6aaa2ab12c0bcbda3e0a432ce9f3c2a795cc5b19a1342f4051d84203eae31e9beb12ec33384c7d5cb0b9c1a5b23ec9af8f1b464938fb9bdbe8e087c0f33cfef5af7fb5fbfd31c71c437e7e7e579aa35028140a8542d121ab57afe1c30f3fe4e28b2fe6f1c71f67f1e22f19336674a7e532d68a9d01dff7310c83c71f7f829b6fb985ff77fe794c9d3a95b5ebd6116988505454444e4e883befba9bf9f3e7f3fa6baf5252d233d7fe6717d4e0f9022944f75ceaa444d3754c43e7b8fd8a7a5497a6685ad72d4a52767facb3d53db68be2e2fb3e9b366ea0b0a010cf75314d0be1fb1d2ec87b82619a789e8f1412cf73c9cbcf67d3c68d54f41fd0eb2e6a5f6d8a71ffec4d8c1e98cf1163ca89267d628e8fef437ec86654ff7cb6d627f96a730d078f2c63e18a1a966d8e5232ac20fb8b4889e7796d7e954c26911266cd3aa3d9e7f1789c071f7c90e79efb0fc71edb8bca8bb789d7ffef0ede1bfc43ae386e10568f8409ea3e7986a7179533e3fb07516e76e1f39346b3e1d947985f7402e74cade8613db617edb5e3bb568716885a3ef9f7632c283a8eb326f7fb9ac66e07ec87af85ef6abbbb8aeaa75e41d4f2d153d9fe2e7f937ddecbd7f62b99f7f8132c1ef27d661d584aaf3bc277a95f7b48fafff8c9175ddf69d6e5cb973178f0604a4b4bd97df7ddf9e28b459d2a2ea66521fceda7b8c456ada6f0f3cf40376898782081822eacb5da20735ed3baf5eb58b66c19bfb8e24acc5ffeaadd35592412a1a4a4042965b7b729aca8cfa3202f841530f185a0a9944e654a896ee8388e475d7dbc5bd76f0b4dd3b9efbefb78ee3fff4929549d605a16679f7516c71e7b4cb7cfbcca76bddea63ad5d3c57ee5e64de4e7e723848fa6ebc4625182a19c5ef3076c89aeeb04432162b1289aa62185202f37ccd64d1b7bf53acb36c77860ee260e1ed5074dd3595519a336e6e2fa125f08a2098f955b6208291933b0082141027e2f3a307a9ed738295cd76b4c99cf66cd3a83679f7d8efafafaace489c8629ef8cdd91c7dc8c11c7cf0c19c72cf0a22cbeee5ac29c772ddbb7508bf96456fbfc347eb13f4b815a28ad977ddc1639f42d0e8e2e754b1e0a9c77969511d3becb39bf6dad16bf263acfb640eefaf88b4df07dbbb0eddc1af62de138ff2c267b55fdfd87d9dfd9058c49f671ece49377d44b4a7b2b219e30ecbef80e3df94deecab9ed0a29f1a7f0727a57e078ff9d53bd47ed7ce9beccedcf3bbf0bb9ceddc6c39477a7a4fb4bcb6d70b73d0ddc4db8f3dc62b4ba2dbe737adb37eed8d3e69bc56eafff86c58ba7429a3468d02608f3df660e9d2a5ed2ee8bf0e5e7bed75365dfa73920f3d4ced7df7f1f95557f7387259669d2aa544d775c239394821b04c13dbb6b04c13cb34090583d8b6cd8a952b1bf3779778ed2622755b89472a71a25524d3c9895613adaf2452b79568fd56a299d766a992485d2591da2dc46b37f5a8ed2df9ef0b2f909393435e7e3ef90505eda6bcfc7c2ccbe2a5975f02baeff7d6238b8bd903c5a56aeb164c2b25d6f77da494f8bea0ac6f59b7656643499f3236ae5f87e779681ae8ba81611a546ed9426959cfaf9df404f7bcb39e034696b1b12681ae436dc461637d82d2b089a9c196068ff282101a2651c725eef8dbe5b4e58cd9b53d93dc9967cee2c107ffc109271cdfa9e565f13d5773c7bc619cfb9b9fb16f9985dd772081441983060fa65fbed98329d846bdb7becbf35f588cfbc358f2b5ae7ebeb5176bb27d68af1dbd46f22beebfe22a96cc7a940787e5b6f9d4a1591d6435af5f7106bf792f7388a946b0cf30c68c9fccb1a79ec4218343bd3abe3b121df703d845831933f168ce38e744c6f5e9e1f34c234cdf414318f4ffd93bf3f0a6aab481ff922e4917dab0b40d7ba0206151820b044589e848d551ea061117e2373246bf51e3b85075d43aea50751ceb4a411d823a1a9c5122a350bf19b58e28114629ae4150c29e82408ad0dc344deef747d2d29626dd525af0fc9e274fdadce5bce7dcf39e7bde73def71c6d66e78306dbf08ce3d1e575b0b324b2ac9a2307d8f1f12b3cfbd2dbacfed14728a50fa34c5761bbed72c6f56a5a924dcb49e2dbfa76f0815b38a51fd4aa86d3ab27965f57d2c9bad71a6dae9bcdeb4802e46a9276d2beaeab83478b2e7e562d515d5dcd8e1d3bb9e28a2b00c8cdcd253d3da389317334d9f9f22b9cb97c394a651275b28c4aa964cafefd7cb2e229c219433875dae51dbaaf52a964efdebd2c5850862ccbf82529b2c85428048d6c2299c8407271f1834cfde0ac4e2d0a55179609d41ca2b626f2b7227a7f8064a5223220df64e8b83eadc8e8b842a9201c96a94b64943f70d55557515151d1a61917140a2ebbecd24692b79fb6da1e097515fbf9e703d4060264f4ca2420f9512a933874a88681838774e87eed2557db9f1ddbb6929e9e465d3040aa4ac5a18387f8f9c0017a75d275eadfdfee43979b45f5a1c8ec8667770d237255dc346d1899aa245efa7827415949c425502654178985e9886b675252fce6b4de186a6e13d5d6d6f2d4534f35fcffe69b6f71cd3557c70d9e5bf7f94ff439f721ccd3c6a16ef8f5621e7ae9e2c89f81760a1f9310bb3f7d07b7ea34e69fd4ab5187b9adbff774c325563eba53869f38b4ef67d0cd61feef4f213d78889fb67cc57f962fe60f572fa7e0c1e74ce4a426000020004944415498372df7d87d79c72446390c9dc3fc3b4f233358c3de2d9ff3ce92e7b8edd31f78ece5bb999cdd89577f8a0ef3637fc59cb80c74909e50075ba10bcb4a3e58c9e2a757e23feb5aeeb95e8bfce37b2c7cf119ee42c71bf74d24b3a1409a9553ddb618eda02071b4a36e26bc8e344b3b25ab87e86bcfe5bdf7dee3cb2fbfa2aeae8e70f8706f7df4687d93788e2953a6f0cf7fbec38a152b010806838442750c1e3c84abafbe2a215e367ebf44381c222323035996a9a9a9a1fadfff46bd6c19ea68cc745896a90985480a853854aba2efe0c11d4aab3ebee5eb6fbe61dfbe7d6465a471d79c198c18ace527ef4f48a1101929c9f4ceeb47e586cd3cf1f272366cd8c09e3d7bc8cbcbebb0bb58a02ecc4de7eb4009eb7eac262b2d99ba908c420113f2b3e9a54e460a8623e12fb28c2c2b4011e90bd60643e4f64e674b550da5cb7fe850be5b4296c3cc9a39932baf6cbba6844221429d9881eb5c8c4b076251ea82417c7bf792a5c946f2fb512814fc7ce067060c1a7c5496428648a6b5fd07b063db16323233094812e91919ecddb31b755a1a29291d1f5975fdf033a70eefc38fbb0f110ec390be29cc39a37fc3f16f77d47042ff2c6464641992921484c232490a18d8bb7daf42652b4b4cd4cfb8340e78f3fb25aeb8626693f356ae5c492010886bb8d4d4c23ee78dfcca19f97ff06f5ee5afe77eca6fafb433fc2927c5635bb828b88bffbcf4040b967dc6f61a25d923cfe6dadb6fe7f2b1bd605f050f588af9f6f4c7b1cf3bedf0a86568379fbcb301f5c4ffe1c4cc46f96bebef515df8a9fc5e2e5bbe87eaa092ace16772d51d77613e312b32e254b787d54bfec2f3ff5885e720f4d24de18adfddce3593fa452a7aa88af7ff5ccc0bab36b2c3170092e87bd245cc36a5f2f93bff62ed8ffb09aa0762bc6a1e7fb876020d7dd938f955c692b7436905d9faf7226c0bd7b02700a8b59c7cc9adfce1b753c869f408b794cde6ecb2c8dfe31f5ac1b3a65e2dcb506fd8660de744c304b215c0c4299c577831ffbce73a1e7b643e279ff804e7f7d9cf270b4b78e1df95fcb047027a715ad1621ebf308fa456cb74371f3cf9475efa78035bf749400a39a3cf66e6ffdeccccf19a262381fb5c4f619de166d3be102aedc95c6cbd931bce1944c39a2c71d30ab3efc3fbb9eafeef38ef9925d80c99286a37f38af53afe96730faffce93c72ea9b9958e5903d9c134f1a1f2987532773c6a85acc372ee78df53733f98c60c7cb20f8038baeb2b0f2f445386ca323f969adced4ed65cdab7fe1b9bfafe2c70361927b8fe18a3f9572537e8c677c96920dcbfec2a38bffcdc6ea30a8b54cb9e5291eba68c0e146bc255d8a294706beb69467bc7c84f6c629b318f91bb5b36959850fc5cf575b742f8aa2d744ee7efd0d942949918ef199e3c9f8ea53eefe6a1ddeba898c4889514e75c116dbc125d764b2a6c37ad1c1b6a631ad954dac321e5d13e3b9f4614747db9798cf33725edc76b9a5328f97b796f429965c1d699b9bdf3ffaac5efc6413dbf74b8082ace16735c9832c6de1ff163cce0befaca7aa36997e23f52457d334f6a4b3bad602ad95eb116572664da7ebdddebd7b59bddac5bdf7ded36a9f69e2c4d39838f1b4237e7ff0c13fb275eb56743a5da46882b571ef138fdada00fff9f863d2ffef5f641c3a489f433564fafd64a5a6a20092150a6ac261fce130d5c009675e415e07bd6ceafbaa692a154aa592276f99cdff5c7b35d29e83a8b3831008802a95c0cf6a665da8264596297df30352a25e461d9d7591c33269aa24bede7200d7f7d5687ba751e3af65488e1a05324a45e41c8532127a100a85494a8a2ca32cd5864852c8a8529509f7f00985424775d3d0b6da1e099b71a9adad459da626204910b58afbf4cb2535014bc5b58754958abe3979ecfb69376ab59ada80844aada23610e8b0e172281022582773480aa144c9b6fd079973fad026e75c3ca12f6f7dbe9bc6fe7dc9490a2c670c6068dfb61b2e6da9f8b22c473f870d97b434356969ea46ffa721c709f26f4cf639f7f1f835f9a4a240d577004907e3257e90ca676ee6def7b45c7dc7d39c995b8d6b7109cfdcf10483973ec024c284ea4247c4f584bc1ff3cec67426fdf6c4262e18edfd3d75d874fef7aa09f49577f289fd6916dcf51786bff100c64c3f5f2ff81d77bd01e7def41037e7c3a615cfb3e08e9bf12ffc2b378d4983f0417ef8fc6bf6e6ff9687af1e4b5af557fcfd891779e6eba19c6fbd8547f2d3f869d522fefcd2fd949dfc77e69da46e35bf93a33e0f47c8db91b448a2cf84cbb8f5916be9d72bccee35aff2f84bc53c3ee61f94980e1b01dacbe7f3f0affb938c82746d46ec328bd586a50ca4e0c659fc6d8e9d373ef272de0c3fdf54b8d831e83714179d44efd021e4fc3e24c9356d28d39fd9b4663dbb87cde5c1223d69d276d6bef902cffdee7b7e7ef105e68e3a5c27c3b5d9182df731372fcc0fefbdc0a2e2df21f57e953b4fce44d186b4fa4cbd8d3bcfba8a071e798973ec3792fdf69f58bc7312458f9ed3e4c5dfd672485267924a884020841cf675bc0cdaa923937b497cb3e877dcfe7a1d53e7fe811bc76613dceba3d780c3ab20367fc6c11f5fe4fed2ff9077dd833c777a1ef2de6df806f569d2801f99ef56e468ad3c5bbb3e2d5699f95bcd5f3dc11fff163b5f6dd4bdc328484a695c110e51b53f48ca8061f489573fa2346f0793c35b3ba1171dd1fff6944d9c320eef6c59ee8eb62f6d789e31dbe55e2db78fc11fe2e42d0647cad5c1b6b939d167f5d3b0b9fcf15e3d69fe6dac5af2ece13c641c60cd1337f3f07b199c672de657f929ecaefc272f6d6c64b87456d76210b35c936394497877a7eb5da4ff27f3cd37df603018e23c9196d9b87123a150a85303c510198c95243fb22c3362c408aa3ef994fe9b3793aa54d22f3595f4a4a486a65d0a87914221769c7516933a68b4f8fd12b5b5016459262d23f25e3df3d413d9fee9977cb57a3de7de7811a13d7b49ea3f908f5efb2763c69fc0b4d34f66d14a17c1601dfbf7ef272929899494d4267db1b6a050280886c2f80e06a909803a3d834008b6ed09b0fd273fba5c25c15098606d64d62549013bf7d492a14e424646aa0d515b174ee81e863d39383f81312e918d2691233ba44604efbee8c6fa720b87c39d96a5da5f873a358943525de43eb24cbf5e4d9572eaa8de4c1d95b865e84275b1addcc3332ef1f3d4d62508533483199e9fdf30b25517c77009ef5fcd5fffb99709450b99fbabbe28815177ede13fb316f14f770d93274ee34f2ba635bbaa8e5d1fbfcba67423378ecdecc4ef9035ea2ca64d898cc21972b7b3eafa957cf06380894356f3d25b3b19f29b57b8e74a1d29c0c409439036cce1d5973e63f69f4d68a2f7c8d49d8af1d4d1a83891bc9dffc2f5f250ce9d712e13d381b129ac79ef762a3fdf45f0a46124b59adf8cb8f2b627ad1494648e389da92322d78e1d99cd8fe57358fef90e6a4d9a06171655bfa1e4e70f6ea6bcb165688914ed498c50c317eedd046744666c32874f62cac4c3239ce1fdff6947999ec6199347a362229327eb515c7d034bfffa5f66954ca1de49b3df59162c9744ee7ffa6923096dbc8625aface1b713a691e56bc3f353f6c574db9d4cb9ba98071f3940a66b1ba715fd89739abcf9e39443b88edada0052f0207b7efc9cb79f5bca2ee518668de985827d9d2e8386645aa933c613d6f0d23fb633f4372ff3c0b5c39a8edafa5b7ec6d2c12a0ed08bc9a79cc689fa0c1434f7293f32dfadeb6afcf26cf5fa09b45866b26f55ecfc059b4a1d8a93afd6d29f78928c3f18f5fc56249396914672c37b3bc0166709653f8e64ce0b53e9d330b21cbb7e346f07eb65ed9c5eb45dff95d2c126f951fc1cbb6ce46a57ab65dc5c6ea043ed8bec6b3dad58edb271bcbac5328ff7dc63d15caef0beceb5cdcdc91c761aa74f8ab46113faefe4d3ebcb23ef9641ab79f9fff633dcfa1c77cf8ea63fbe0fee775c54d6cbd2495d8b45cc723da1e5326978f6ed7aef3445a3d160369b713a9d6cd8f03d175f7c1169692d0cd034231c0ef3c1071ff2c9279ff0eb5f5fc8c0810301485276cce3e6c0816a3e5bb386ac37fe4ebf9f7e224fa1404e4a2245a924180e2329142880902cb3d5ef2769e448c6df68ed505a007bf6ec46a150a0502a19aed331e7da6b7965f9fbfcf1bedb1974ca18a8f1120e8448091ce2bcb997422f157f2e7a88cb2ebb14556a0a076b6a90a3fdcd2143da171e21cb91816e801aa98e749592a1b97dd8eeade6832ff771e6589991033251a72a91822156bb7d7cbffd20d34eea4bae2695900c4a85e288f081ce521f9cdfdac6eef583e4e5ef953363c60c3adadf3eea312e29a92afc876ac8e895495d30885aad664f9517954a854a7df4bc860392c49e2a2fe9e9690d4b301ffcf92039da8ecb90ac5450170a130cc904eb64eae4c8745d521c97aea8fdd62164202cb7c570896f9874c5dae9b5bbbe644b5d1dfb1e2e64eac34d8fa5ecf11326e3c840c1ba5dfc67c58f64187fc798cc4efcde8ce49c7cfa71909f0ed651bbb3921febfa70d669dac30d71ca00264ed0b0787525bb6a4d688e102c05cdc06c90f6e10bc890ae8094de0cc882af7c7ec240a82df96d93bcada70501b67ff8124f2ff9375f6ed9833f2983d400a49cd8069fd13696597be8589902eae19c35218b37be588f3738a5e540dc142d134ecce6a5b5df50553b0d755bd25281b2dfd9fcdef62ee647fe8f9fc6ddc1a3e7e4345d8a345e397cfd10979efb50c3bfc9da495c5b328f1903938fe85077a60c5ad31129731d3f04fb70d6696d5f1a5aad9fcd3586552cf8dd2cbe3def522ebffc12a68dee7db8016f21df6dd2d538e5d9faf52d13d8d9f6fcc5cb57fcf47f62ed83ffc39dabea5d5026307fe5d34cc90464891fdfba8f9b9fdec1d90f2ee0ea118dbaee09d093ae696b0eb1eec119dcde383fce5b63964d7bcaf8301d6b5fda9b56e3761968b1cc5badcf6da04df5bb83cf3ba5df0872eadf2dbbbe617bb80f530db1e3013bab6b6de188726d5b4edaf0de3912bd5ecfcd37dfccf2e5ffe4f9e79fe7b2cb2e47a71b1ae36c3870e0007ffffbdff1fbfd58ad56f2f20ecf7a74741b8cbcbc3c2ebee822f64c9e4cedead5785ffa2b297575f84321c2b24c6d3420df535343f5c0818cffc31f5077a2af3978f0e086ceb97777158f3ffe1825258ff2c0e30b38f3c47cfaaa54d4d5d4a0f61de040ddf77cf2b507c5c0313c74df7da4a4a4a0898e5b77a8dfa59009856160bf3486f44ba52ee0675f751dfeda10b5753275a188bb98ef60906fb71de4eb2d07494a56b26d6f800d3b0e71f208d064a624dc7039dac1f9477d1f97949414fae569f969b797f4f474eaeaeac8c84867c7b6ad0c1936fca8ecae5a5757c78e6d5b494b53478c96a4640e1e3c8476e0c04e4d5bf6c948e1606d1d4aa5027fb00e757212dfec38c849837bb5787e4d6d8803fe10bdd39251a5267ebd8f44cfb8b40b192083b3fef0147347351ecb53a0eed7bbc5d54d823b2a58b13993336e1d4366277e6f8e42998c129950279435293519051221590614a048469514f12795a14df96dabbcada515fce115eeba7f29ca8b7ecf83778da1afbc95b7ee2ba6a20df968ab0c0de7efaa64a30479fa5c5248dcdaef0d449c72a9cf6a8bd45bf7ed31f0c307d8b87613b52860c37bacda7501970f3aacdb71cb61f86f78ec8e53c94e4d272ba73f03faa475cd6a3cadd41985a70315569dcfeca79631e5b37758fab75779e8b72fb374ce029ef9cd68d21531f2dd165d8d579ead5e5fddb2aced59d9264ebe9471d31f40fae8bf507a59302266523623d3005962f39b7773d3333b39fb8f0bb87d6ad3ce617bf52491c4d7ff34f4739be54793cf945865d381d5833adcbeb433ade6ed728b651eaf3eb735a104b6cd47e421a9511ea2ed931caf1c3aab6b6d91a983efbb56df7131c8c8c8e0ca2bcd7cf1c517bcf6dadf98376f5eccbee192252f3374e810ce3ffffc4ebb8835a7776626df7ef915eaba3a544a25ca482e08cb32ee830791c68f6742d13cd4bd3be7f1a2887a0a29140adc1b36f07f1f55f0c8fdf7a3004a1e7d943ffde90192929309d5d571f7dd45dc74c74364b7b0674c471624502a14f883214e1da921af772a5b76fbf9e8abbd2429155c3165008372d42880ed7bfdb836f8d0f5cfe4d4517df9764b35ef55eea5577a2a678ce99350c3a52707e727741f97cc5ebde895958de49750281484c36154aa54b66fd9d225cb0237469665766cdd822a3515391c46a150e29724b235bdc9c86cd9c0682bc9490a86f456515b1722501b6650ef345eff6c0fd535473e202918e6cb6d87f0ec0bb0dd172058d77ee32125e5485ff0c61c5e552c1cf3d3f8bc442087c3c8406affb10c561e62e36605fd753a740d9fa168335baa3741767cb8922dbdcee0c2d1199df83d3ea9030c0c4bdec7baff7a0f0f9e0777b2669d8f9461e3e91fbf4863dfb7d5fc764cde96a8d95ac936f45c75fd454c1a339211fad1e81a575d450a192a90aaa5662365ed94a1761b2b9e7b839d29a730f3acbc98a37e1d2ed3e02ed67d554df2d0b1e4c53a47daccaa2f0e909a3f1e6d4a5bd30ab3ffd3a7f8d3fbbdf99fb24558f3bfe5f98797b1edf005f1cb21730863c68d63cca8e10c6aa3d1d2913268adcea4f61fc760e53ebe58bbebc8899e98cf1850a63364f24cee7ce6359ebdb40fdfffe30ddc52ec7cb75e77e39767fb75bdfeba38f96b8918f98a9f7e0a59c3c773caa9a772eaa9a772ea84916427c91c5cf71c773cb399331e7c963ba6e6341b994b8cae764d5ba36c213ff1caa69d654cc7db978ea4759838651eb33e3723a65c47a76d4eed6f4097bc8fb5abb7c55c64b3b3bad66ee2b5130966d0a041d131a6964798c2e130870e1d64f4e8d1318d9660073bb33f6fddcafadbef40b16a15a9b24c30da0ff10583ac0f85505d6966d2c30f75da68a9a7bedf6a3af32c325355ccbcf61a16d917f3d6b265e4e6e6a21b3a94acac2cbefde65bb2b3b212b6878d2c2b50a0202559c9d0dc744e1898c9c4511a669b06d0bfaf8aba50186418d8270dfde00cfc8110defd01b47d3319d0373ddae74bfc3a92a15088606db0cd9fce6e34da6dfbb8f4cdc9a5a6a686603048925219f5970ab3dbbb8bbcfe033a7cdfd6d8eddd150d6c91a3eb6b07494a4e4ec81e2e00d3c7f561f1aa2afa66a8a8aea9439793c9bd6f6e66dcc074a6e835e466a6b07d5f806f771d225999842a4541b2424186ba8ebc5ea91d761b6b89a3ea2a969449bf4cd8b3e6df7cb6653053869c81e5c21c6efbdb5ddca7bc9e8b27f427b566171edf30cebf682c19be66ab8ad56de783f26d644fb9137de3a1b4603b7f6f05a56632d75f3a801b5f2c62becacaf9f9b0f1dde759bc7d2057fec1185949aa0328fbc4cf6faf50c7e46d89b48163d0b214c7e277e87dde487a2babd851d3e884d4019ca84bc6f9ee8bbc31e63246b29b7dfdce64faa87df165a8dec4baff66915e7788bd5bbfe6e37fbec9c75bfa30fdc17bf8556e524c37a9f694e94fff59c212dd799c9827b3f9bd45bcb4ad2f17dd31b1c939073dff65f55a3f19811dacfdc7421c5543b9e6e1d322e7b421adf081b52c78ec7db266bfc09563479174eff5bc3fa78c9277a6f0d4250348ee60dd894747ea55ab75a6cf19fccf4539dcfad2eddc1f9ecb8527e6907c70378786989836ace5677c4edf75bcfd19e48fcc232de8e5bf3ffc0c99fd88f4cf5ace776b72641c6ca53c5bcb47ac328b97bf66aedfc15d153863e4abd5726c6e798676f1def36fb36f8c95f3b5fbd8b4615f5420157d870ca59f3231f5a3abda9ae6b456366d2de37a3adcbe8c6d7f5a8733d17299c7cbdb11c491eb68b4cdcade93997bd9406e7cf976ee09ff964b4e1940eac12fd9daa8ec3aab6bcae6ab71b62654cc77410732187dc7c762ddba4a4e3c715ccc9904a552c969a74d64f5ead58c1c39b2e59b746010d55b51c1d6e79e27fde041140a05817098a02c7340ad4635f1340c975f4ee0c7ed948f9b82cf5b15f33e1a6d1e273ff908da0bce6d53ba4aa5927038ccbcdbefe0913fcde7bd152ba90bd63166f4686afc7efaf5eb47b02e48589613ec491499ed09d6c9f4ed95c294317d484952129621140e531b0a93ab51716abe86b7567bf9fcfbbd6467a67150aa4b68507e3ddd119cdfb918974e3e8c818387e0f9f107944a257228444a7232d5fbf7d33727b74b5cc6eaeaeaa8f6f9c8484f23148aacba50170a334c373c61698c1d98c9f07e3e761f0821cb0a76fb029c3aac37be9a5afeb1660f6159a65fa69a7495829fa55afa6526733010a96c89ae53b1f67189755ea7481e4081f5723efad35b3cf50f13136f1fc7a9b73dcffc3e4ff182f3cfdcfd4a0892b2197ece2d4cfdf55832ead3ad7713d8f66fdedb91cd1977eb9bb800b4f7f75651a433eec667792cfd099eb3dfc7bf0e41a66e0ad73d7e3bd78eedc4468b8a5e71f3abeea8bc2d903a720e0fdbf6f2d892bf70a73312e3a4ca1ec0b821d10dc6947d30dd7e076bef7f9685f77d0a29399cf6db719c951e4b862432fa64c2ea57b8eff7af00a0ee379c7193aee391472ee7ccd636a06c47992a537dac5efc20afec0ba3d24ee0f207eec27a7266e41c652ff24f1947df8f1773dfef83400afd469fcd4dcfdccc2cbdba8d6905d8f4fa93ace4024a679f100924d65dceed973bb12e7c9ed567ff11e3bec43d8b8e9441c33fadd4995eca4c4ebe7501259a5216be59c2dd8bc3a01e88e9f69331e56b5b7cc6a78fdbc0874b96f2f44f412099de23a7f2bfc5d7322215823fc6c8775c3946e06da53ccfd4b4928f986516277fcd3aba757b63e70bda99beb48db59b65ea6a1770dbdcc6077298f9e2eb585312543fbaaaad6946fcb2697b19d7d3d1f6e5dc71ba76a7554facf63c6ede9a0fa4c491eba8b4cd8a74c6ddf83ca59aa759f0f7bf70f7ab91362c7be0499c3d2c233263dd495d3b83a6efcd568955261d315ca2eff8960887c3ac5fbf9e59b3664154c68f3ffe984f3ef984c1830773c92597929191cea4491379f2c94fd9b3670f3939391d10e2707a87b66c65c7abaf72e0e38f9181bd494984b3b349193c98de279dc889a79c8266c408942929bc75d1358c1d3b9681175e0040ca081d49bd7a11706f44f647a6ef76fcb8994f6fbd9b4bdb68b8c06177affbeffb030016cb756cdbbebd614626253925d2bfede0be2dcd5128201c86605d9860304c52b282d4642575a1c8a69261194275322949a04e55d23b2399da3a9964ea18d82715ad4645a0364c5252623b9b473b38bfadb6478b61b337def09bda471f7ba24309d7531b08e0f96153c3b2707ebfc4d0e1f95d12a81f08486cfdf107d46969c86119bfe46758fec8842fc5ecaf0df3e7f7b610ac5390ac5072d05f47665a32e9aa64940a0587024102c1307d7aa5a2c95030ac9f9ab34ed0c40de26f8ee4af61dd179f337ec2c9e4698f9ca1aaaeae66f1623bb7de7a4babf77aeaa9a7b9ee3a4b8b7e984787209b16cee6ba774ee5d937e6313eada3bff7547a82bcdd2c438c3d178e3edd580ed2d7fc79e68dacbd6809afce1dde8e60e944d013eae0b18028a7a34f7796b978de89e0fbefbf67e5ca726eb9e566fc7e3f6fbef926dbb66d63f2e4c97cf9e55791388859b3e8dfbf3fcb972f47a954f2eb5fffbac93d82c1202b96bfc5f40b2f26581b7f3f979a5dbbd8eb727170f76e149999a4646b48cfcd21232f8fb47efd484e4f6fd2817e2d5bc7193903a8dbf313034afe40eebc9b01a8fdc183db7036e1833524e7f4e3933d3b995ded6957de6539b252ee8e1d3bb8e9a6ff252c87494b4be7e79f0f92929cc4a2171631704062bc88ee7f631bf7cd3a813ebd52886c5aa784e64e806139d2639795ecafa95fbc49418d146460ef647c9292fb5fddc02357766cf3cde628144afef1e69bed0ece9f76f6d91d1e349f77d7ed2c58f8d26544d6d7ac897e0e35fadb0f48090bce6f4eaa4ac5804183d9b16d2bb22c93999ddd65ab8ba9546ad2327b71b0ba1a8542c180c143ba64ff98b45425f3ced7f1e7f7b650e50bd0273d15a552c1a140c4cf51a95090940c3ffdec47df3f9b2923b2db65b4d49394a4241c2702cfeff7f3c8237f6af53e47634184b8d47af8bf7f79e97dd6058c4aebc4ef3d959e206f4f90a127d01de5103ec4f60d9bd8f695830ff76770daf8dca36cb4209e7f5b11e574f4e9ce3217cf3b216cdfbe83c18307b173e74e962e5d8a46d39b9b6eba098d46c3942953f8d7bffec54b2fbd4441c1f9e4e7e7f3d147ff39e21e8743065a27bd7f7fd22fb9a45d321edaf3130059975cc0cec79ee5a7254b39e99b8f519f3b95fdce9504a2c7db8b42a168e80b3ffcf04354ae5fcf39d3a6f1fe071f30fea49308277063c64c4d1edffd944a4e1042a194c8da368da24feb170aaa5f5f2125393962c3c8109253d97c08b67a8324291318d7dc8383f3131ee3d298ccac2c4e1833965028d4e59de841838750d7bf8ea4a4a42ef1f7ab273559c13d17eaf8afe767feb96e0fbbf6fb23bb018521372b99137233387394a65d9b4e3647a95022c7580e39393999d9b3af24140ac57dc8f5c7bbd378a9dd5ccebfabfa30f5fc91a83bf17b4fa527c8db1364e809744b39d46ee295a2dfb1c2d797f1b3eee3e6538ef63a55e2f9b715514e479fee2c73f1bc1383c1309e975f7e851f7ef801a3d1c89429531afa572929295c70c105e8f57a56ae5c89dfef67dab4e67bb8813229a96d23f61d2410754b5a336a3228a0f7f4880c35bbf7341ceb0c43860c61c890210d9b715ae6cce9f43d9b93a7aae693cff751176adb2692e146331a0a1994c929a892c29ca5cf8a7355fba9ab0b4626808e126db53d5a7415bbddf6bbda071e7cb8854382ae46f2d7f0f597eb19357a0c03061de9405c575747201068d36a16c9c9c9a854aaee9f79110804028140f08be4ad375ee3828b2f69d555acbdbc96ad6358a3f1f7f413f299f4c9bb1ca8fc9acfcfbbbc21d4623375ed7615abe7704cb1dcb06432446664ba7290fc97c8830ffc81274a9fed3e573141d7909c9c2c0c11814020100804bf78a4a87592d2b73727972f65d7f272d6df7847c2b683a8374e9a7f0b124fe7f6714916864b77a15028502a954852ac15e3050281402010087a3ede5d3b230b0475d1567e35c8d4207342c9fd84eaead8f5f16a72675f867284aee198e0d8a0adb64797c6b808da4f525232790306b0c1fd0dea34355aed0094e2797419c1604777001308ba9fda5a31c02138360987c284c3890b7016f43cfc7e3f5fac7531eea4095df2ac93517020bafad6a04b7f8daa4f6f262d7e16808aebfe979d9b7e0020a50b366714249eceede392245c91ba8be49414060c1c445a5a3a1bbefb9635ab3f49cc4692c720adad1d2e387e494de9d0f6e382639ca414f1eef925a2542a858bfa71898271274d20272f8fba2e1824cccbcccbcb9871000020004944415464d3c10348c83cd957d7e2396a148cecdf3fe1690b124f5b6d0f11e3d20351a020272797bc3c6d9b97111408040281402068375de44d2513d90ba52b8c1680535f5bc8a1b9367c55bb639ea3c9cbe594859ddb97507074e8d472c8c270e97e42a110a104ae132e10080402814070bc9031f5742ef87e4d778b2148109d0ace17312e028140201008040281e068d056dba3e555c584e1221008040281402010088e029d73154b4ee2abafbe4aa84002814020100804028140d09c4e2d879c9494c4e9674c49a84002814020100804028140d09c2ffeeb6ad379315cc5c49294028140201008040281a0eb69abed2182f305028140201008040241b72182f3050281402010080402418fa753cb210bc3452010080402814020101c0d84e1221008040281402010087a3c9ddb80b28d4b9209040281402010080402416768abed21665c04028140201008040241b7d1495731b11cb2402010080402814020e87a3ab51cb240201008040281402010f424c4d44a0fc5ebf5f2fefbef77b718c70db22c73de79e7919b9bdbdda208043d8ae5cb97535555d5dd62088e53264e9cc8f8f1e3bb5b8ca38ed02b4157f24bd52b10864b8f65c58a155c79e595dd2dc671c5b265cb983d7b76778b2110f428aaaaaac8cbcb139d2c41c29938712243860ce96e31ba05a15782aee297ac57200c971e4b4a4a0ab22c23cb320a85427c27e03b140a75f76315087a24555555cc9d3bb7bbc5101c67ecdfbfbfbb45e856845e09ba825fba5e8918971e4c381c16df09fc96651981402010080402c1b189305c7a28e170185996c57782bf05829e8ecf5988566ba6dcd7d2c14a1c4585e87585944b475d3481e01842c2ebb2632bd0a3335720d44520383e4880e1e2c365b751683251683663b158b0586d943acab059cb69e9dddbd5f82a9d945af428140a147a0b65ceca6e91a3b3d4bb8a894f623e024177e12d33a0506831184d984c06b40a050ab51ea3c984d1a043ad50535811e95aa975260a0a4ce8d4f5574b782abdd1bf356871b3c12bba6182e3111fe5d642ec9ecedce3b0bea8b53a706fc01bff028140700cd139c34572536ad25160d751e4acc0e97060b7dbb19715a1ab28a5acd2db2da31c1a4321b6621be381f1d662ac850634dd204767e8ee9989e3f55b20e80e7c1878f23b0f95ae0a2acaed988702a6522a2a2a70557af0aeb4a295a2868bc186dd6e455f6fb878ecd8ec9e485baad161306abb2917024117e37552b2f06d4acadc1dbf4783bea8d1e80c187509934e2010f4003a61b848b88a0ab8cd65a4cc61c3d8c432d05258eaa444efebbe990e75f4adaf8e7f5a4fa62db11b55ab1660bbf034866a7ba3d168183af1728afee146aa3f6feb024ecb3b9737abba3fc6e488ef9acfb8696844eedebd9b7e9f74f757d4789ee34cedaf78755718be7f92d3f22ee4cdea04c7b848e5142814680a1dcd46e57c384d6a74b6ca0e18df129525a6c8a8bac2847d6d2906b511bb177097a0579b702452313ca5e8d5461c6258b1c7a235dab0e86337461a930d8bae85e33e1725661bae46f5457d0cb76902413cdc0e27ea49d96cb097e0eac8a8674bfa9230e90402414fa0e3868bd749d1535b5015d82868690050adc762331d9ee990dcd86d162c562b669301a3b92cdab8f8709599d129142874161c6e297aba03ab5e4b41a92b62fcf85c94d9ac58cc260c3a3da6a272bcf53eac857af46627e54546340a1dd68a237b853e9783a242033a7339eef2224c3a350ab501abd38be47160356a5028d4181adcdb243c0e2b8585566c96020c7a13458def2bb9b15bcd584b4ab09a3411b7349d0193cd15e9e8b6286f0477a9114d2c1ff628f5ee4df16610b6bc7635132f2a65f7b4fbf8bbeb5bbe5d57c18b962cdebd7e2a57fdcd133d4f0664e41e32e3d1f41b64e0943f57f0edb7df36f9bc77df58543917f0c80bf77146567d3ee8743e6251fdb60573e7fc130e23b971947d84f6c975ecdae5c4726221a58e124cc7dab49f2061680cadccfaaa7518f56af0ba70141562d015522ef97039ca287707a8aa28c662b1b5ec42d3c9b64620e811482eec958594d98b195fe5a0e4884aebc565b76250281a0694bc156558f40a1486523cc4d11749c2edb062d02850684d945436b28a62f64d62f72f845e0904dd47870d17a9d2810bd017e863be90350603119bc68bd35c80dd508cbdac0c47b903b3c786a9b00c0f1a8c563bf659d9a0d663888e4aaa757a74c612ca6c463478b05bed688bcab03b2a70390bf13e7a3e66bb17d41aa4ca0d6ca8b453692ca2788e09bda6f9188b041a2d52e57ab6543a70facc382a2b596072b3d062c6e6008bd3c3e6d70bf02cb451e606bc0ecc967274c5a594da9d9499dc3c6a73e089deafc25640b164a3b4a88832a78359d99057504679a911753c7989f8ddea745a8e10b311adc66cf8fecd3df7ac60c8c3e5bc7ceb059c323897dcc1e39876c333bcf1f034026bbfc25b7f2ed5ac7aea6a260de84bdfbec3987afd6b7cef8f1cf3ad2ae5eaa9c3e8dbb72f7d874de2ead2550dd7c53eb685377f7f3186617de9db7700a3a75ecfe22ffd0db2f9d62ee6faa9a3a3d74de5fa056bf1c5893b51e70e263737b7e947252357bdcbbd73ffc82a9f4cc4fca24369b41ae7a2ca66fa1c032eab99d2381e0abe8a120a0d512355a3a7b0a4e248df69a99222a38947b7c0fa2213465b2592d789cd5c440bf6343e57196683367a4f03e67a43bda5f45da54dcf2d6b3c1be4a3a2a410bd5a8142a1c160b6131d038823b70787d5844ea340a150a33598296bf4428f299ba71483c684cd5a805ea745a3d660309735a427e838925a835672b3de2b011a8cd652ac7ac8361563b79762d135bfa2f36d8d40d013f05538c06246a7b7503c1dde2e71366b5fb5182d45581aedb9a73559b0150c8dfe175b5f029576cad556caddeb98affd88e2a2fa01ca787d1362f62f845e0904dd47870d179fd74b00506bda308cec2ec556aec15ca08bfcafd663292e44fd5131252e0950632cb230744319f668c749aa74e0292c40074895a594b8bc54d84b282929a1d4e1433f75126aaf0f8dc18449072a9d156b612136bb1d9ba1796ba246a33744ced35bb0990d68357acc5623481a0a6d668c5a0dba020b063c547a2550eb29349b298cba6fa8351af079f049805489c3b9058d511b9986d61828d443953b12d3135bdec8719dd941a5ab14631b0c97583307355fbece2707c6716dc1a066c7531971c3cb2c7bbc80dcfa1997c02656549dcfa26fb6b1f18387c97dff0e6e7fd78bbc653133673e45c0bc948dbb77b3c9790394cde4dab2ef097bfecacc994f21cd72b069cf1e363a7f0b0b6772ed820df8fe7d2f777c3082c73fddc3eedd9fb3e8f4afb8f78eb7d822cb84bd6f3277e6bd6c2d5cc8d7dbf6b0d1792dd58fcde4fa37bd2de6a3de1889372373c4cc91f72dae9f792f5b0b17f1f5d6dd6c72cec1f7d84ce6bee58d3be3121b353aab037b819bdbcc2554b6d401f79451505082642967bf2cb3bfc206a5051436b774d4064a5c15dc3a54c554a7178fc314db55c1ebc05c60c36376b0cb2fb3bfc28aafb800734b3e5f5e07e682627c1667247d67016e5b21b67a7f8ac0069cde421c5e3ffbd795a22db762757ae3caed2bb7612dd753e69691650f0e5325366bd4386f4536a9fa23ca3545b83c5e7c5e07fa0a5b243d41a7506bf4184c6d8f6149445b2310743f5ecacb0d584c6a404341b195a19f95606f6120a923555965b0622b34a0d51a282c184ac0e38e184571fb26a08dd1bf107a2510741f1dde80521d1d6a907cad0fb37a5d156c0968d03652728da1003d4b71557ac1a8436db0621df514a565951497e971397c1416475ee092bb128fc68cadc88aee88bbfb5047e589df86a88ff00d57abd5a81a4730444f8804c11a29b21b703b4b29aaf022797cf547a86f3a7d6e1f11b32b72ef6c5dc490892f6fdb68dcd9ae9f2968fc2d49bb39400e83731ab951b5701e32c0087e7bc72cc6f602c61670edb83bb9ef6b1f1b76dbf97ac49dac9a7b3259b20c63afe58f77da99b2e85d3e929d9163bf3d855ee1308c9dc31fef58c294452bd8f25816aa6d9fe078fd4d52cf9fc6290f7dc256807098aaf717f249f6b5ac987b3a39a9d1eb6e5ec4390bdfc75b6826b7b17c51b93f9d3382dcc6991f7b2fab3eb88591f5c68a1c6e9227effb657c9a7d2d2be64e26471591fba19b17724ed9fb54cd3093db5239402bc68b16b3dd8e537f09e662139525fa26473dce322af5c5b86dc6c80ca3c14a697119fa52276e5b11fa16ef191f6f7929151a2b2e9b29a21b062ba545a5184acbf19a2d34eebe7a2bca22e75aa3e99b8a29779991746a224387a3b0155b30680043215683155ba58f0dded8726f29d3a0de5281ddee405d5880b1d4dd50c3e3cae60054e3b15aa3aea01a23663d1455fac02c02c73b4b7b625812d1d60804dd8edb81bdb2028db93cfa830fb56a03a5a52e6c65c6cec7a934ba815aab06c98724b5a56fa26963ff4220101c2d3a3ce3a2d117300af054b85b0f5e9624c087b7b10f8c3ada2034bca5f5986de3a9729452e1a9c081b92126404222e029c7ddcc87c6d7954b824a6eec6623455e13c5a525d81a8f82aaf5586de3f13aed91d1795f25e5de4914151922864b02e46d6dc625a5d72072a8a6cad7c2717f15defdd1ffe530a8b218d4abfe780aa92a90a56af66cdc0d39f9e434babe5ffe6054d51bd8f2dd6ec8cda75fa3fbe68c188caa7a23d2c98ff2da82b391563ec295534e60e8b8f3b9d9fe257e5966ffc6dd04b6bdc03943f3c8cb8b7ca63cb289c0818d54f95b9e7119fbc77759b3660d6bd7ae8d7cbf7e2df9e13091a380dcc8380b87f16ddc13330d6f4d47665ca2680a2973cc417ad48cad895f9784d7ed05adbe8931a1d5eb50fbdcb4c1766f119fdb4b60cb534c485344dcb1140a46dfbd8180cf4df3aae2f344d36f787baad11a0ce8ea273c559ac37fd71be952755cb9fdc632ca5f2f4072165130ba37695a2396a8fb595cd902d1f49bbdc925e89655047fc9744bdb281024140997d34391d389c3e1887eca292f194f95a3a44517db44a419f96a4bdf442010f4243a1e9cafb7503c5d45b5b31887a7a51324dc4e276e0934462379b87156360e6ef721a94651d868694f5d611153252745363b1af3e151168dce405ef5db14d91b1949be72caca5b4c3821d4bbd1d82c8616465ad418aca5d88c5eecc5259496b930dacb298ac6e7244ade78ab64a947cce2f4ac2f78b97cdb11c7bf5f7225e3275a5955139db16976bfc804442a7df3b360cf46aa1a5dbf67d33602592730785436ecdec89e46d7557dbf8d40f60852abbee7c088dbf9eb3b9fe1d9bc9e7fde9e43f9bc7938b684c91e918b2aff1efeb36b173b77ee64d7ae5decfcee33d6bc793b63525bce4fd6a0e10c1e3c9881030746befbf58a1e6f3a53526fc8f4cacf4135e21efe537fff9d3bd9e55ec367fff83de3d4adaf2e160f8da90cc7adb0d06ca3dc1788feaa46abd780d7ddc4e7daebf62069f41df673d6e8b5a846cde7bbc67138fb37b3b9a298e6de8e1a5d34fd860a255159564469dcb7ba2aaedc695e373e7d314e9707c9bf8bd5c55a9c375ab17b5a914dd5b1fc0a124f77b48d024142f15560f716365b9914748556c657bf4d491317d4c8a08c243533cc3b68a7b7b56f2210087a0e9d580e598bd9ee648ef623ae2bb0606facf87871951553a135a15783da5044f15478afb8ac217ec0536ec7575082a5b18f8db6005b01acafd4636ed473531b6dd8c6c3fadb0c982c25949516612eb4a32b885c2c111d38698c1495a751474f6ae1c440936ba4c35f9244a0ba027bb91b8fcb41a9d3033e2f6e57056ec987d362a15c13d93c4eabd3a1f156466263da20afc75e88c1688bbbdc63abab8af53272f78326be997729d73db392afb678a9dafa35ef3f6d61f6039b987cf7dd4c56c5588d2b920003a75fc3d84d4f70ff92afd91f0ee3fb7a09f7fd7913f933a73365fad58cddf404f7d9bfc227cbecffcacefd4f6c22ff8ae9f4fbf401665f762b4b37fa09a7f6232747854a954556aa4cbfa9d770f29e67b97fe15aaa64991aeffbccfbf5242efcf357f863c4b810279f0dc7e5c3f9c8315dc3c9bb9fe5fe45ffc51b0ee3affa80bb2e9cc8af9ff89a9a0ec5b834468db1c4c93ccddb2c5c7ff8575da11583bb185b596433535f6519b662377a4b6187dcc400b405568cde126ca52ebc80e42dc76a1c86b1f8c82598b5261b265f1945f668faae52ac3607ee56460587c6913bafc24681c982dd2d815a8b56ab46add2a051b74f36410788b6312d95a524d1a461d268a0daedc6eb7151ee969a1c4f445b231074276e7b29be821606087526cca3e0a392d2460b7f68d0e9b2a92ab7535ee9c6e528a6a4c20b5e17aee8be7147e80bc4346cdad23769a97f21f44a20e859a4bcb9f46f729bf17f27bf7eeb0c79fcd06c396fe82879d2d4e9f28c59b7ca8bd7f99b9eb77fb5fce4acf1f2a849d3e5597366c9b36e5d2c7fe76fe1761fde20cf78f2bb230fec5a29cf9b3e545681ccd0e9f2bc0ff7cbb2ec97bf5b364f9eaa424635559eb7ec3b79bf2ccbfbd72d9317cc191509901835477e725985bc7ee57c797a36327933e427577e27effa6ea53c7f7ab60cd9f28cf9cbe4ef767d272f9b3f5dce06397bfa7c79a5fb4379dea46c19f2e44937bc2eaf5b3947ce530d95672cf84ef6cb7e79ddfc4972767676449e86cf28f9860ff7c79137c277f327c9aabc59f2cafd4766b39e050b16c8dbb76f6fe5b349ae78f12679fa989c0639b2f24df26f9eab9037d59fb3ba58ce574d909ffbe2f035af9854f2a0dfbc276fdabe5dfee2ef77cbd3f3b322f2678d91a7dffd8afc45f4dad8c756cb2f5e3d591ea43a9ce64daf7cd120d737cb8be58bc7e444cb24479e70c55fe48a4d2dc8bf69b97c4516f2e417bf69397fab8be531aa09f25fbed82e6fafb85bce574d969ffba69d6934fa2c58b0a0850ab7529eaeca936f58ddb432fabf9b2f8f0779e8adebe4fa23bb3e9c2fcf18951d49337bbc3c63fe4a79574b0fcfbf4ebe75a84a9eba327ae5e627e5f1aa49f2e25db22c7f375f1ea59a2abfbebf5e2d9e94678dcf8be6234f9e34a765bd906559dedf38fdbc49f29cc5df4564dbfca43c4a35497ebd4118bfbc72baaa41f6d8726f9697dd30551e1a7d8ed9a3a6cbf3561ece514cd98e486fbfbc6caa4a1e3aef3b3986e8827a76ad965f7f72969c0732aa49f2ad8b573679defecd87dba5e9f357ca9bfdb2bc6be51c79944a250f9db140ae74373afe64e47867db9a458b16c98b162deaba3c0b7eb1ecdbb74fdeb76f5f8ca3fbe5d58be7c8a340ce9b315f5ed6a4e16bf46e0779d4ac27e5959b23c7fddf2d90670c4546354a9eb5789dbcfad6f1f2d0a937c80b3edc1c69ef1af4e569f9dda5d17b44dffb9b57bf2edf3a3efaae5ebc4ede2fcb71fa262df72f6459e895a07b89af57c72e6f2efd9b0c5c0a9c0f4c054e03c6003a2017e805a42862182eb597ce9cdd4576d1f1801787ad146d71e3bd3924bc15a5581c469c657156926a230b162ce0a28b2e429665140a85f84ec0f73befbcc38d37ded8c92723101c5fbcf0c20b00cc9d3bb79b25111c6fecdfbf1f80debd7b77b324471fa15782aee278d5abb7de788dcb665d7519e0076aa29f438dfef60352275cc57eb9f8caad147b4ccd7c72d568755a74066dc2561fe9f69ded8fb36f39d63e2e02814020100804821e4f879743fe25e3f378d9f0b60dabbd8ca242233a35f8dc4e4acbbc984b3a1af1d09486188f184bfb8aeff67f0bc345201008040281e0d845182e1d406775f2a164a3a8a880d1d705403594a9e6224a4a8b8e5819a533888eb640201008040281401041182e1d428bc9e6c065ebba146a6b6b1b6609ba3b36e478f90e06835df7c004826398fcfcfc06bf6981409018845e09048947182e3d94f3ce3b8fb7df7e9ba4a4a4ee16e5b820140a317dfaf4ee164320e871e4e7e73361c284ee16432038ae107a2510740dc270e9a18c1d3b96b163c776b7180281e03867dab469dd2d824070dc21f44a20e81ac4aa62028140201008040281a0c7230c17814020100804028140d0e311868b402010080402814020e8f18818971eccf2e5cba9aaaaea6e3104c72913274e64fcf8f1dd2dc67181d0554157d2165df57abdbcfffefb4749a2b621cb32e79d771eb9b9b9dd2d8a4020384e10864b0fa6aaaa8abcbc3cd12112249c8913273264c890ee16e3b841e8aaa0ab68abaeae58b1822bafbcf22848d43e962d5bc6ecd9b3bb5b0c8140709c200c971e4e55551573e7ceed6e3104c719626f81c4237455d015b455575352520887c3ddbe5f56f3ef5028d4c5252410087e4988181781402010088e71645906201c0ef7a8ef7ab9040281201174bfe1e2abc45154885e5748b9d4ddc23445f254506635a1371451d9c3641308041d47e8b6e078439665c2e1708ffc1608048244d141c345c25be1a0a4508342a140ad3751505880c9a04367345352e16dc7bd346871b3c1db037b0f6a2d5a5f251b7c6d954dc253d99ebc0b043d11094f859da2026d44bf4d36ece51e24c05769c7aa53a050e8282cb2d32e55ef49b45bb705829e8f2ccb3dee2310080489a483868b1aadc98cada8903c5414949553ee2ca7a2b282624d39779f6dc2d6d6614c8d0e8351db3131ba18b5568fc1a86bfb051e3b367ba48327101cbba8d1992c14171744f4bba8044b810e35a0d16af069a6b3609d1b67890553cf54dd5669b76e0b043d9c9e30b322665c04024157d3395731b5a6d90f3acc450564b301a7dddde60ebc5add29297a063e1725661b2e5f770b2210240a75932f7c2e8a2c768c762756c3f1a0b402c1f143db635c6a58fbfb51683427f0fbb5522be757f1eab9794c5cb0b585e3bb78ed575a4e7bce13373d61b80804824492f01817c9e74302347a0d4dba363e1765362b16b309834e8fa9a89c985e2631cf95f038ac14165ab1590a30e84d1455d45b0a129565562c561bd642036a859e524f07d2963c386c85982d562ce6426c0e4fe38331d2f7e1729451ee0e5055518cc562c3ee899faebbd488466ba65c183a8263019f8b2273319a6207b658464b8bf5dd47459111b54281426fc3e9890c67481e07169d0663d13bbc536242ad50a02928c3edf3e1b25bd0291428f4561c9511fdaa2c2b40ab2bc4ee8e0e87486eec360b16ab15b3c980d15c161d3490f0baecd80af5e8cd4eca8b8c68143aac15be56753b56fb217455702cd0e61910df2a4adfcde6920b54bc59fa2f7cad9c8f0cc82d1f8fd82462c64520101c3d12ba1cb2e47160b3bd4760fcad949a758d8e78b05bed684bcbb06b41aa2cc230e17cccfa5d54589afb9ac439b7a01cb3a51ca3cb4da9015c561d936d0eac9556741e3b3687017b85151d12169b1957bbd3f651612da044efc0556a408d8732e330deae3fec75c44cdf682dc56a5f42a5be18bbdd881a0f7673ec74d55a1d3a9d168d18b816f474bce5d80a4b5197382932c6aab071f4acc44999ab3fd761c4a88b5cafd6ead1ea2dd88a7f8d413d8e12c7304ab406741a0d6a4b29654e07853e132643645657afd753505a8445af06bc38cd05d80b2ba8b0e84072536a32602a04778505b55a8354b9810d6a3b95e6228ae7384123c5d7ed98ed07425705c7046d8d29a97af72956659979ef3e151b4d4ff1d6960bb034da26a66ac5bddc7caf9d0fb6c1e06966cea83e7cef78c7e2c925100804892201864b80ca521b9662274b3e82190b56b3cb6244dbe8252f559652e2f252602fc10de0f3a19f3a09c9eb45a2a9f110f75cb59e42b339daf991506b34e0f3e09340f279f0b89c94380b282dd4612cb2a156b79e7693be88c78ecda1c6ea36447fd751601e05a5d1e371d2a759a7a6b57475660795e6ce97be40d0b50470155b787b034c777b918c9ae6551d68adbe1b282c9a85edfc529c1e33561d486e076e8305bd1a4047a17512b71597e1928c98d41a74461d81bbcb28f79ab1687db89c12e6e2685be12ec556aea1a84c17f95fadc7525c48f1f9c594b82c94194d987460575bb11616a0292c044f298638ba1dabfd0084ae0a8e195adfc7650bcb167ec5c85b16326204dc7cca633c5cf625331f1e479a4281bca58c6be72e63f0e31fb0edca3cb6be7e0797dc12204b0e478fbdc5e0c73f64ab3987ed8e3b99714b80ece88c4bac74050281209124c0705161b09562d7ea718fbe0d97cb87dadaf40cc95d894763c6566445d7c21da4769c5b6437e076965254e145f2f81aae561bac149bcab8ee92613826dd406959091603f85ab95f63bc150ed607b4e89ad8528dba691a63ccf48fc8533bd215087a2e2a8c25e5984a4ddc769d09b3da85b3c96c6a84d6eabbda548465e8044aca2ab194e8a9b4bb315a0d0ddaa52bb432c966c3ee923019dd382b8d4ccd5e4299d383c5ecc68999e268489dd755c19680a6c9e088c650809ea5b82abd1035aed41a75c3fd5bd3ed58ed874070ac70d87d2b622cb4f42d7dbd90855b4fe7b1821cc26138fb8e69fcc1f2349fdcb19069d9325b573af87ac4cd94cd1a416a1846ccba973b16ae6411329e15aff3f5885b289b958f4a86fc59f772e7c2952c92e3a75b1feb22100804892071312e7a1b8e0553a95a62c1d6cc195c4222e029c7ddcc47dcd7c212c871cf95dcd8cd468abc268a4b4bb03559d24887a5dcc3bac537a0772fe4ba0906ac15bef6a5ed930089982ba4c64dbf1df910088e2534066ce52e9e9ceae3ed2b8d981d474688b55adfd5066cb6f16c292bc1e5adc4e13161d6373a515b80cd28e12c73e1a9b0e3b594505298c767654e5c154e2834d2b0148824013ebc8dd352478d95182b7db4aadb31da0f81e058227eac899fff2e5ccab603e55c79c210860c19c289973ad973c0c9d32bbcc8b21fdfd66ac81e44af86ebfa312857852a2c51bdf500640d24abe17e390cca51a192e3a72b1008048924a1c1f93aab9d05537d2c315b71367ae76b7406f2aadfa6a8f14a63be72caca3d47dc23deb9be721bd6723d368be14877154f39e51e0d064b192ecf87dc3a6a0bf65217eaf6a4add7a2a212678ca5c1e2a6df8e7c0804c71cea88f1327f928fa5571ab1389b1a2f6da9ef3a7311532527454525780a0a9bcdcc6831598d48e54514d9d5584c5a0c363343d797602b55636e145ba3311ac9c38db3b2919e4a3e24d5280a632cadde9a6ec76a3fc43083e058a1d5d5c4f67fc033e52a66feed33d6af5fc3679f7dc69af56bf8c7f58358fdec0b7c1f4e257b4436546de540c37507a8aa0e104045affc2cd8b30d5fc37d7dec3e1040925b5bc54c182f0281207174ce70917c40009f54ff7ad761b59731555a8ad96cc713fd556db4611b0feb6f3360b29450565a84b9d08eae2032e42a4940a00de74a1281ea0aece56e3c2e07a54e0ff8bcb85d15acafaaa0a4a4021f80c688a560143abdb6d5b41ba3311561c9ab66a9c51a59bd4872535e98d2d0fb0000200049444154ee016f25956e0f529cf4dd12683450ed76e3f5b8a8d0dc18375d8fbd1083d1864bf48c043d1529b24260837aab0d145554306ffc16965c62c4e238bc67519bf44c5b4051a19acf9678292cd41d919cb6c08649fa8c4a8305831ad47a0be6a15578f4661a2f64a63614fd3f7bf71e1f575de0fffff539672633499a64d2364d7aa10d94d2402d0d542088d200d206c525804a57769780ae54d795a8df95baab6bddd5a5eeef8bc49fbaadb82b11b75240a0de6840d0a2224191864bdbf4429bde93b649264d9399cccc399fef1f27bdd20b2d499bd2f7f3f1984766cee5733e67784c1fe7cde7c6bc19f0d4bc85fb56bd6f69a8275e359f9afecb1d546f8efddb8ec70fffef07e8b72aa78fa3b57c6c5af25d5ec8bf814f548c63e4c8911415153172e4582effc427b860ddc37ce7f90463677e828b777e97afd4bf46dc26d8f8c4d7b9f7e53eacf51937eb135cbce3bbfceb8f5ea7d3ef65d3926ff07f5fee8363cd4a262232c8c28f3dbcc81e5dc26effed43f69e1b8a2d602397dd651f58baca26faf76e7f60968d802db8ec367bcf43fddbb72fb577cf9a6023609930cbdefddbcea0a40d4bed3db30a2c14d859f72db51b12473ed676fed6de7d598185627bd99d0fd9e54b6fb3c59109f68605ab6ce7f2bbec04b0c5336eb177dd75a7bdedce0576f9be0a1da1bcc3ddd9aa07ec6dd30a2c44ec841977d9fbee9a66275c769bbd6fe92a9b38caf5836adf6627472276c20d0becaaa3dd87b576d53d97d948f12d76e991ab62efbfff7e7bfffdf71fe3bf85c8f1ebe8e8b01d1d1d47d89bb01b7efb80bd7b5641ffeffb4ebb60efef7bfb13f6ae69c104a9809d7cc35d76c1d20dc1696fe1779678e12e3b6dd64376fb61afdb6997de768b7de8809dabeeb9c1debdef877ce0a12fd8fb6e9966275f36cbde72db2df696bb1e087e733661573d71b79d11c1129961ef7e6295dd5b8ba3fdb68ff6ef877eab722a1dfdb7badf82050bec962d5b8ef05a66bf34113beed34fd9756fdaf7b2fdd645d8c8e5dfb32f6fd962573cfa253b6b62be056cd1e57f633f7e51bebd60de0b76cb31f61de9b560c18293f02d89c8e9eeb1871759e026e03a600670097001500a8c02f280b039427049ddf4d18f0d7a4292a3fbc10f7e00c0dffffddf9fe29ac83b4d6767270085858527f5baf18639d426e7535f7de8e2b5a737fd5665b0bcd5dfea82050bb8fefaeb8f31abd8c9fffbcb5ffe924f7dea5327e3ab1291d3d8e38ffc849b6fb9f5662001f4f6bf7a0e789f009203be00a588c8e1b5b26c31ccae7c67851691a1c01e328bd750f9bbb75e222203614017a0141139547cd95c6aea5a292d89d35c328f25ca2d2203ce1e30a6646f58180a7f155c44642029b888c8a04ac69b69fc5903cdb72d64c9bc63cfc827222746214144dee9145c86b8891327eeebe32c723a2aa95e42eb19f03ca5dfaa9c4ae974faa82bd89faabfe974fa547f3522f20ea2e032844d9c38918b2ebae8545743448e41bf5539d5aebdf65a7efef39fe3baeea9aeca3e9ee7316bd6ac535d0d117907517019c2aebefaea535d0511790bf45b95536dca94294c9932e5545743446450695631111111111119f24eb8c5c55b7536f8dd035997338793877bfe86535d0b1111111191d3c6897715cb6c1dc06a9c61fcdda7ba062222222222a79513ef2ae6e40d6035ce30faee44444444448e8bc6b88888888888c890a7e0222222222222439e828b88888888880c790a2e222222222232e429b88888888888c890a7e0222222222222439e828b88888888880c7927be00e5d158300e38c308a251a67ffb48039b2d994cb07f50af9d0b24c14bf1d6e3990f6e36300ce801aff738ce1511111111914133388fe526f8d3db0e5bdf806ddb2c2d6fc083dff3e84d821319d8cbb961700c60836b5b0b894e48a700f72d16920677041081157fb624f78013ed2fb39ff5c175c13ddb0401277370116e181ce7e0734444444444e4ed1b94e0e216407b1cca6fce70c5df64f8f0673c9efc9dcf97ea3cf624c0c91ea00b593006c806e3069fdd1c48a6e08a5b33fce6458b3bcabca5a29c42e8ea80f7dd94e17db766b8f58b1e9e0b6ef480fbca81ae6ef8c73b3334afb63885fbeb0107d743444444444406cee074150b41679765ed46cbe27b5d2ebad661cb4b96823c83b1c008704718d865f13ac02d35100692c01e0bb9067f87c52931d061837d45063a2d740325667fcdb7596efbacc77fd4ba8c39cf409fc5f7e1d535b0b30318d5df3a92266821f12c7e3b38a34c70adc2feb2f20cfff0c1342bdeb0343e1766e7eb964c1784ca0c6e12485a186128b096541ac2aec18ceddfe70371cbed9ff3b8fb0e97b24b0c99563b78dde14444444444ce3083135c7cc8f8303206b75cefc0790ebb577974f740d158c3ebcff93cf4338fcfdde63272bae1b1effb34afb75cf96ec3d851b071bbcf7b2f7278ea319fca4b0cbd49f8cfaf67f8e4471d26961a9e7cc4a7798365468521cbc0833ff7195100dffaa60b6ed00a33a210ce1e077b56fa7cfbfb3e53cf338443909f0b575c616878c2e392a90e4f3fe6b1a50d66ffb5c3ae5d30b6c870de7487f3ceb5d06359bcc063571b5c5b6958b5d6272b6cf8f77f743106feb0c8e7b9e5962b2f354c1a67a87fc2070b0f4c737123e0a707e5db151111111139e30c4e7001627986be345c7253864ba73bdc34c370c14443d36b964f7cc9c301d66ef2f8da975c3efe950c13c71ae6ffb7e5de2fba7cef218f3ffeafc35df778ccfd84c3ab6b2c9e075ffdaecfc73ee870f35d192ebec0f09dff85affe83c3f8d1c1d8133cf68daf89842192059ffa3f19febc0a36b55a2aa61aa251f8f68810fff1039f8bceb73cfe8c4f76c4f0df3ff178f6e761265d96e6efae4ff3e02f433cffa4e5afffc963eee75c3efb1f1e4fffd1f2f5cfbbfce78f3cfefe66874f7fdde3ec31861f3c6af9da675c269e650887095a76de5a0f351111111111790b06ad3353c60b5a3ecace319c37055c0746c4e03b3ff2282e823ffd29cc8e76cb27ff31c3f5331cfef2eb30a5630de90c8c8899e0dcb30d7f7ad5f2c7e5966bdee3f09b3ffa3cbcd467d61586e71f0d51343c0848179e67f8f8871d88184807d7cd1f06cf2fb7bcb61e9a9f0c71fd0c878af2e0d87ffd8ec71517396cda0e1fbfc9e10f3f0ed1da0de3a6185efb5d881fffcae7bb5ff5f8e9933ed75c66b8e75b21b6ef82af7edae55fbee1d2d30b7d6938abc4d0d410e2fc730d5bdae0f269863b6e742066f09283f5cd8a888888889c79062db8ece9b56485e0c7df72b9eb8b2172b38381edf16e28cc3730cc50586058bdc552980fc4a078042412107621270f72a2d09380641f3cf7679f2f7ec6e5f27243a20f32bd909713eceb4940db2e82968e7cc81d0e21177676425e2e30d2909b0de38a0dd32f302c5eea3375129c550c912c435e2e8c2830b0c972ee152e2b7e1ee2abdff2f8e9af2d974d0ba62bcbcf853145405750763a03a386038586e1f986d65d964412dada837a687c8b88888888c8c019b4e9905d07dabbe0c9677cda36fbecee81de2494951a9ad75b363cebb1699ba5fa4a8757575b562df3d9b80d4616c29636d8bcd9b26e9365e430185d64b8efab21222e7474417c37a4d2d0b5270810dd3d410b0f11d8ba0e7efb9ce5b53596f75e68688f43e3333e2fad08a6fa7af794a00fd77b2e7228c88597575a7ef3a24f479765f55a4b4ba34feb4ecbb0617076093cdb68e9ed86eedee07a58d8bd2708555bdae0b5653eab3758ce1a65e8ec0eeaa3b55f444444444406d6e03c62fb10cb378c2c843bbeec33f3da0c5b5a2d230ae0f39f74281d0b151fcef0c11986ef7dd7656707547dd223d907b3ae70b86caae1d2d919c261f8fa7c97e9530ce7ce48b3f459cbf42986e1b1e0324585901d0dfe46b28042f8de0f3daebe3dc3d51586aadb1d665e61f870ad47eb2e4b2c0fce3ec770ce3843f108f8c4c71cfef0b2cfa7fecde783573aacdc68b9ac2a4dd59d1e73ef74f9e54f42bcbac672fb47339c3db6ffba3e8c1909b93910cd820ffd83472a0d77fc8d83b5966816c1581b11111111111930871b421e7eece145a99b3efab1a39ee8ad18017ef7e10bed5f04b2ad1ddae3162f03a5e382f12b45e32113873fbf6eb9fc5203f986f6cd96d75fb7dcfee50cbffaaf10e75f6278fa1796cbcb0d79a506da2dcb1a2d332e3198086cdf0a45c3839697ec282492909b0d9161d0bec3b26e135c7e51d01d8ddd9657565b4a8a203b62c8cf87ee6e8846203c1c36acb4f426e09cb30cd9b9f0f26b96ac30bcabc280812d2b2c6d3be0dc5283eb424e36745b58bbd272ebdd1edffbb2c3bba73bc446c2d67596c2bc600200eb1fe5cb73f270a7b4bff5ff4a2222222222ef508f3ff2136ebee5d69b8104d0dbffea39e07d02480ecaac62d60f56901f732e8c714cb0ce492f90055e278472e1f2ab1d885bbc2d9611136146b6615767b07025d930b3da813d166fb3c5cd85caeb1cd86db17d30ba34c84c23c7027d903b22b81daf078a4a0c45e70581c5db6971f3605a85095a4112e025216f5470bed70e675f100414fa82fd17bf27f86c77829f8171930ce32611ac0393062f0105e742f40dd8ba03de7bb1215a0a5e0b8c3dc7402f787da8bb9888888888c8001a9ce9900df816e83c647bff03bd970012fdcbcb87c1df069914fcf68110932618fc6d6033fbf77b2960c701cbd1ef0efe787b1b7c52fd7f436f2edb4b122c6c7940ddbcfef37182207590031b42dcc3ec77c0df04a5630dcfd5bb40505f5cf0baf61f2322222222220367f01eb16d3040dfcd3bf692267e1f64e5c1f4eb1cf287814d1d72800537046e1641eb0dc1677368c11eb8d9e046d83fcec4826bc08d06e770b42e5c6f914dc1b06130bdd210cd02ab8526454444444406d5a02d40694c30c356eb1b96b3461bfc1438854098fd5dc772085a4b72a07303b4aff139b7c2e07610442ab7ffd50df178b0c864de78825e6e0970f208024a94a0175c0cb6ad00dfb78c9b6482e37200037bb643c642ac34280f036481ed04cf3f4c083a1a07bc34d0baffb388888888880c9e410b2e4e016c5d0b5ffb2f9fbab92ec38a616593a573376465c185930ccbff6219576c281803dffeb14f45b9817c4b9e67e8eeb574ef8154062e2b0f52455bbba579234443f0ea6a387742b008e4ba4d9669930d8904fcd7629ff75d6c283a0b4c2fac5e6f79ee8f96b0818f7dd8e10fcf584a8b0d9e0fdb775a2aca0d0ec16402222222222232340d4a7031066c049e69f459bfd9f2f41f7d6efc88cbf3cb7db6ed0882cb92677ca64c32fc6585c5f760cc28f8c9af7c4a5e80fc3c43e958c80ac34baf436e1426951a7ef0a8655c713023d8fa2d96d67683e75bb2b3e0f9972d638b606c113cd368298ac1e2a77c2e7d97a1b4d8f087e53edffd1f9f9211b0fc754bb22f580bc675e192f798378f65111111111191216350828b13821d6b2d3951b8ff1b2eafacb0ec5ce733e3120316127db0f20dc8ca328c1965f17dc87886f2b2605ae3bc5c983ec5a12866195f4230cb970fa347c18def77e8dc1dacc9326982c1b7f0d2eb96512382452173d386c202cb4b2b2d179e67c8ca820963211271686b876896c571e1aa4b8273937d68dd151111111191216e50828b9781fc1cc32d1f305000e78e352493306a2460c1f761da7443eb4618193384c2b0657b30f570d736c88e4056047ccf50511e74e3f27da8fd3b07ebc3d862c3d4f3fa07a5e442c908c398b1d0d7039ddd5032ceb06b3b8c3c0b766c0cc6bc4c3ddf4004b66f340ccf87483ed804c12c635d1c7b06011111111111396506678c8b1f74076318c1d4c5a160657beb8309f78f65ef8192b1c1b1f8306e02d00b0523f66f73428005e3826b01a73f5ff40fdccff4427247b05e0c3d10c98192c2e0fdc891e0ef8651c5803590013f0da3c7001ef8bdc15a33471ddae2839beb41c4872cc038d00e5ecad5807c1111111191936870c6b8388081179fb7949d6dc8ce81ac1ca00f52c9a00525921f7ceee981dc9ca0267bba61d828b0bb614f2218e31229844c57304359341284985412c211e84d06e123190f06ec6320d909d1bc60314a9cfec5200fe01db0a68bb7776ae4c3b5b678e08ec8d0b6298795eb46b06d478658de1e3e787d376e561abf350b8b554b8d88888888c8493038c125589791a5bfb7fce9354bfe30a8986a987096e191277dc68c32ececb4a4d350300cc261c80a1b3a7743778fa5601814e419e2bb2d893ed8d5190ca29f7c36a452b06e53f0f9fc73c0750dcdeb2de347c3889861f92acb7b2f364c9d6ef0bb8e59d52372f233ac6a2ee09555c33967d26eb27d8feffcb0907bfe771adfffea6b4cb9288edf1ac6fa28bc88888888880cb241e9f0643d302178f714d8d569695e0f6b37413a056f6cb66cde6669d9028e0bdb76c21b2db07a83a5afcff2eb172cb102f06d704ee32bc1c0fb0b261a3ae2d0d60ee3c7180a86c1bacdf0e4ef2d5326199209787dada53d6e59d3623139279e268cb1989210dff84e369bb77470e975bbb8e9c64e1a1eddc498d81eaeb8fd065ef8fd089c923446d3288b888888880cba416971b116fc245c75a9c3f9132dafafb554bddfb07593c560987a91e1232586ec282cfb93657ca961ed1acbff3ce6f3e9bf365c33d3e1f5972c7e99e18e9b1c22610885a03761b040340b3cdf90ecb3a4d25034dce0460c8b1ef779750ddc78ad81e489270adb3f26e6ddefeae673f7e472fdac7cce9fd4038ecf23f5cbf9d89c1c3e72f75ff1fb858b387b6a0a6f6b56ff201c1111111111190c876b96083ff6f0a2d44d1ffdd8514ff4568c00bffb88fbad85500488003906ba2cbb76405e0e44c6025d40068805c76f6986f86ecbbb2e30c1e0fc0810057a09a62bf609da874cff7bc3be41faf40161d8b609f6f45ace9d104cbbfc76169534c6c7c90db1f499614c1ed74be97969fc6e87d0d8345d1b2c555ffc24656337f3dff396e25817bfef381aaf9c3cdc29ed275e3911111111917788c71ff90937df72ebcd4082e0e9bf17e839e07d02480eceac62048b507a292005745bac0f23470021c86cef1fc00fb00bf060dc7818976da033984e3938ef382e988431e38188c17606d327bf9db127bee7e2243caebbb91dda4364761b4cc8e26d0d513029cd373ff5321fffbf37f2cc6fffc4acdbda71d73b41bd454444444464c00de2a4be066c3a9883d8a6318ec14b1bbc848731e9fe43fa8f71d2783d69bc761fcf3707d4ea80324c7f0af1d3044d2e6fbe13af07bc8e607cccdb1d306f1c8be719bcad61bca4c1ec8d782ed069983efe25de7f7986a52bfe8a15bf869dbb3cdc4270b383699f454444444464e00c5a8b0b78e0e4123ce9a7219d0836bb8093132cc20290350abcee20687809f0bd20b858827c92950326027d9dc1f6ac2248ef0c8e730193c53156631970b6c725f79c0cef1ef704b5df1c0fed39bc7f562fc93f1b665ded905764f076daa07e2222222222f2b60d5270b1e07b98c21b20ab14d25ba1673984f3c184b17e0fc6c9c726d741281f53580399566c7a23c666b0fe1e8c3b1cbc3d10391b6322d8de15c11cc8d172e85b1d34c6245740267e40bfb393c3c7e01665b17a45137b3a72289b7a11d75ffb3ccf3f6ff89fc53e7ff751c3f01106af0b4d952c2222222232000627b8580fdc3cc00f420b1662d781df037d1b3039d3c066c0db0936854dbe8ac1e2e45662fd2e4c6a2b649d034e16249ab06e0ee45f09386053903d0d426320bd1d52ede09e8265ecdb3254cfca6747f68778e64f2f52753e5c71b3435fa7c7f77e68f9ca570ca6eb64b7058988888888bc330d4e70312ee061bb9604f3223b61088f864c07f87b3099726c7a0b64dac18942b2198bc5265f073f111ce7e6065dc4bc8ee05c7f4f505dbf375824c6c90eb6b983d8dbed68da7dde73792fadc672ff235359b5ed6794b6a7b9faaf0c0f3f93c3b3bf74b8e6fa3d783bd45f4c44444444e4ed1aa4a60a076c1fd8e4fe01f87d9bfac387c1f636416657d0c5cbef0b4e312ea4b606a1c5718391f6998ee098d476c87443a63328d7ef81f42ef05383770b07f20dae6b716369dce169dc880f360cdd1912bbd73072f485ecd85d14cc0a90ed73ded9393cf1bb9110b55aa0524444444464000cd253bf0d8a36e1a075c484835697bd9f9dfe6d38416031a1e0bdd37fdc41efddfdeff795b1f7bdcbc9e88c651c0f420e7f79691c3f5e740e3dbd2ee467c08568562fc618da778f80dd400f5c5896cf8a96e1789b2c4e96a618131111111179bb4ec1e01038dd46ac3b63e1c74f8498ff8334e34afb78f4e9d1800bd990e36c26934ad0168fc29ee0f831a31ce23d31366c8e42ae9a5c4444444444deae53145c4e336988e5f9a4d319aefa682b3b76f5d0b0341bc642c8ec2616cb27e50da7ab1b0881ebf49048e7b0b5231fa26a71111111111179bb145cde02afd5f0a1f75b7efaad5ed8e551188bf2ecf231108648244c24ec93ca64d1dd0384c1f3202b5a405fcad3372c222222223200f458fd5618834d7b842229e881e917b8acdb3e0236402ccfc3f793f424d2647c200b92a910192f84e7f59d6ebde2444444444486240597b7c280ef1bbc3e073cc3a4b13be9ed2ba0650d8c8ca5c8c98e909d9d4b260384a0a3334d382b8f90e3682117111111119101a0e072bc5290372c45c9e8125e692921e4a4306e08d7313806e88375db86939f9f4f242b0d99535d611111111191d39f82cb71b21917421946e675b17efb4812499f9e9e14a9be38a38bc07b031a578ca4283fcea8fc04f4e92b161111111179bbf4547d9c2c060c8c2848b1239ec7ceae28f1ae1ebcd44eb2cf853fbe04eb774ee59c926d9c3d064868908b88888888c8dba5e072221c18373a8b64269f1dedd0db9ba228b60742d0b87634263a85b1b1b544ce023fa5af5844444444e4edd253f571b21670a1302f45321526e98fa3af2f45f9b971ec26d8d4534dc4d9ca98fc66c8d6d87c111111119181a0e072220c44b332643c436f6634a9643be30bbb78f6cf23d9d1fb6e8667bd44e5f434b4ebeb151111111119087ab23e110e64d27be8f3f2d9b17b1c25b92fd093843f6efa3b7af6743379d49f289e0efe1ef754d75444444444e41d41c1e53819001f7a7a21ed0f63c5fa2c8a420d6ce89c4047fa3df4b6ff865bae6e875ea36e6222222222220344c1e5b819c840bc1b525e217b3a56b0b3ab00afe0b3ac5cd9ccc5637ecd9459e0ef08f5a71c111111111179bb145c8e93e378e01856ac8eb3bd7517dd5ddb0915cc64654b01f1cd0f71f76712d0e5a8b54544444444640029b81caf611e7df16cd6b58ea1a7ab998d9b77724e59254b9ffc05fffcb72b28bad0c1dbe9aab54544444444640029b81c8f0c301a9e7e318fe52b2c6b57fd890bcb2fe7d9df6fa5e6aa06aa3f09fe5a0734265f444444446440854e7505861cdfe046d3506821ec80f5a19720e2e581b7298b790bb2d9bae1f75c386d1a6b36e533ade83ff9f2d7d2b02d846f1d8c514731111111119181a4e0b29705c7013336456a1b3cf4df2e4dab3cc615c3056579a4fa32e48c0df16fffdacdcbafb5909b379c759b73b9fd03ffcb77bf95865e17afdb605c8516111111119181a6e002412b4b6106accfa21fc1b2151fc08f5e43f1b923899d339e91175e404e4e2eb1dc5cbe74ef72fee3df3fcf2b2fbfcc573ef13277ffcb6ee874f13a5d506811111111111914677670b1e0bac0a8146fbc06cb9acad89efa22733ef751a64fcd3de8d0f6f64e5e78e1f76cded2c2a6cdddbc67ea6eeefe6604d63a647a5cb5b488888888880ca23337b8587023405e9a4717c3a6be7fe69a0f7d8df2f30ffe4abef7bdeff1c4134fd0d2d2425f5f1f13274e64f3e65d5c79e14868ed8294ba8789888888880cb63333b85870c2168665f8af85d03bfc113efbc58f9075c021f7df7f3f8f3efa283d3d3d44a3512a2b2bb9eaaaab58b3660d674dace4c2f12fc3ce5f80ab89d9444444444406db191b5c4c51861f2d849e11bfe09feeba7edfae4422c1d34f3fcd73cf3dc7c73ffe71264c98c0aa55ab38fffcf3894422643219265ef02eda563c0359e0a7155c444444444406db99175c7c833b26cd1f7e05ab12df64fe97af3f68772412212f2f8faf7ded6b789ec7ead5ab993a752a975c72097d7d7d141717b3f4b75b281ddd0761b029ad34292222222232d8ceb8e0e2847d12ad969fffe952fe71de170fdad7d7d7c7534f3dc5ba75eb686d6d25373797d1a347336cd830babbbbc9cbcb63ecd8b14c18b787e8e635103e45372122222222728639e3828b29caf0ab1fc0a8f33ecf594587ec3386f2f2723ef8c10fe2baee11cbd8b5f161ae2cd90dbdea26262222222272329c594fdefd937fad6b8f513e7de69b76676565317efcf8a3869667feb083f4e66f32761a787d675cee13111111113925cea8e0e2b83e99cd40f6742e9c5a78dce777ec81671eade1baab7b618f0b46d3208b888888889c0c6754703161cba62d905358cea882fddb93c924a954ea98e7fffbd7bec9b553965234d9e0f51cb95546444444444406d619155c8818da77433477ec419b7ddfe717bff8053b76ec38ec696d3be27cf6f3ffcee4c85caef908f85b43e0a8b54544444444e46439fd076958300e38593ea40d9e67e0483314677974f741ca961cb4392727876baebd81c50f3d4038e470eeb9e710cd2ba3b7b7874c623dafacd8cee6e687b8f7eb40878b228b88888888c8c975fa0717cfe28c30247764118d6570ad4f66b78b710f1f2fe2bd79440ac600f0f35f3d8f432e59915e36bfb18e70a490d2b1119e7d6e15b1de1be9eaf0c9bbf031fe4fed6d9c3572276bd6fd13532ef683a424222222222227cd691f5cdcb37c7ef88318cfbc309aaaf7c5f9c80776128d78f89983c385b1402fb4ec9cc015574e67758bcffc2f5fc9e7fec127db4249089e7cb68caa6faf62c4a8950cdfd4c5f8f7c137febffb987ac9438c0c2fe5373f0a4146ed2d222222222227db691f5cac71d8d96ef8f04d3bf8e9e329366fcbe15fbed6051b0f0e2ece308fde1dd0b26b0a9f9f368cef7effe7fcf3ad3ed77f02d80a8c84f3ce6ae6bd975ec2f533fab8f72b2e24e19f6e5fca1f9f8565af16624d08134d43fa94dcaa88888888c819ebb4eff3e46f32dc7d571737d5eca665ab4b5bbb85f0c1835c8c05727d1a5e2a62f2c59f64d30ed8f2ea57b8fe46f05f0fe17584f1566631e97d865bafeb213fd727abc0c7dfee9215825ffd2e8b8fdc34937bff7b22147a18ffd4dcab88888888c899eaf40e2e3eb8610ba33274fd29cc0b2f87f99beb7ce8dadf9dcbf806674c9acdafc2923fff15b3fffa6a1e7ce001ae3aff55283458af3fe4842c745a46168d64c4f018242d3664f1bab2a023c53f7df4659efacb7812eb0d4e8e778a6e5844444444e4cc74da0617eb839b03e467d8b206de7b6b8ae953525cfaa10c479a35a20000200049444154b6dde90f35e094a658fb327cb97e16736aff8b5ffcbc89d0d63b98750bf85b42077f0321c88bb4b27bf71e70fa2727732cb6c365ca256bc909b7b3b8a1188a7d34b59888888888c8c973da0617c7b5909b66417d0997be7f32afaf8bf0cc0f3b213b818979b8e3d2a4fc340ffd08befdf81ddc74fb43ac5eb1822d7f9ec917ef02e221ded4e3cb422cb7979e049061dfb4ca7ec681085c3625ce23cf0e8724385ac74544444444e4a4396d07e73ba33d7eb9d8f0bbf5ffc875376638ffdc1c1a5e798eec977f47512ccda6f628db765f495ff8935c70f9345e7df11186a53ecbbffc430ae386f0f6389843c3870fe1ac1cfad2e18307e01b2003974f8d73ff9277b171f91b4c989282ced3f6eb131111111139ad9c964fdec65848599a5aca0847f359f8ffd7b0b13587c77ff121e29ddbe8d9b883f8ee28c545058ccc6a26befe3fa8287d9e6b3f087485f1f618386c8b8961fdf6e1ece8f0c037180ee811e640c44990b41379b66903775cba013a4fda2d8b888888889cd14ecbe0e218e85a03932f782f7f5bf5195e7a3dc5abcfdeccbbceeaa6276722e9d41e62d9add8be6662d9dbb8e206a0c060b7f7770f3b5c68b140166c6bedc6581f86196cef01fb3b1c2e9cdac7e4711b79654d047c0763c0aac79888888888c8a03b2d830b210fdf71f8cb8a24adbd8f92dafa456afeaa851163c0ef7816270bc8e97fa51c883b78bd66df9895c3318e853e8b1b1dc77b2fde02ae8fb5eebefd7e8f4b5e498a2b2feaa5b76f2cf43403ee910b1411111111910133f0c1c507370414027d402f781e470d0dc72d0bb272c37cf3dedff1998f2de13bdfdf033b43789d0637ec632df8dd0e741f70ce31aeef847cd81d664f2297f2495d903cf804eb0029884442a46d8e16a114111111113989067c5631270abb7be091877c56bc16f4a37273c08d829bcbc04c231c71685eef30aaa8877ff97402ba1cbc6e030e78be83ef9fc06db996f68e6184dd14e78d8d43e2301535903f2c8b545f72ef471111111111390906bec525043d09cb961dd093b42492b0230ec585307c04948e36981c82009304eb05e3448e67ac88ed856139865f7ccf52720e786deedbefb515b5acdd369c50c8a3a8a817fa0e5f6076c427e369014a11111111919369c0838bdf03a38b0c9fbfcbe0b5434737c40a2ccf345ace2a368c1c0f4f3f6129cc878ba71a864520348ca0f962efc22a69f0521cb149c3ef71983c310dc3faf0769ae30e2d8e734858f20de4c0ea8d79844c0fe459fc8ec3b4da18e84da449a52db85a835244444444e46419f81617138c6931edc15897a21150546c38f72c837560fb36c81906a9343cf7674b960b7d29cb8898a17804844350986f888dd95f1e4920138419c705ebf6079b0ee7f8fa6b59c00113011302af1bac0fa158063c78e4d9e1bc7ffa7ac805db71c86df94004767664888653c1c0ffeec35c43444444444406dce0cc2ae6839307b890e984500e9005a60fc68c8031d719e885640f74f5c0966d9048c2f67658db6239672cf8cd904a42240293ce3214e6435e2c28d3840846e7f4005ef0decb1cbb5a8e1bd4e3870f59f2737d3e7c677f134f373cf6d3cbd8e3dec0fbcabfd1dffa63c004cd32ee480b233cd8084b9f8f72c5944d30cae0ecf1c974b99890da5e444444444406d3a0041727179a965be2bba1b2d2d0ba29082085e30966e3ea033c88664334078ac798a035c485f75e6ce8ea8257565b127d166b0d0d2ff88c1e61b8fa0386271ff749f4c1a4b30de79f6dc81b06c60337bbff6e9cfef201af9783a61fb0164c0aca2ff4d9be33ca4febb368d91e66c9d3c359d13a9951b1e779e25987f3a665312cea41c680ebf2f4931627368c96964b38bbec03fce2f95cb67fb08705ffb69b91851e7ecf80cf71202222222222071894e0623dc8cb8570143ae3f09b177dc26128586dc836509007a5630dd12cc81ad67f5232e862e6ba30bc10aebada800dc6afd86e436f1292db614cb12165615d8b65c72ed8d56569ef806b2a0ca90cf4f5c1c45283f12d63461bec012d31d6065dc32eae009b72f9d23d6378faf7198a8a7de6cd7c9a774f6de595e6625e7b6938575cde864d1a12c9283b12593cf0e078d677cf64cecd6bf99bab56f2e8e3219efddd0866cfde19b4fc8888888888c8a0199ce0928489e71a08434f1bdc78ad43f71ed8b8d5d293864ddba1b3dbb2ab03627930ba240824b191fd05a4819efef55f00d781dc6cc88dc215ef3341ad53866407b4ed32b4efb6e46443660fa433f0dc8b3e8e031fbbd9e067fa1b7362046bca24c16b0de1e6f6f0a5dbb7f2c5bf4d31bcb40f727cc818aeb86a277e5b182f1ec2842ceeb03eb2a3c318166de796e9dfe2f6f7b732ea42b8f1c36192ebb306664633111111111139aac119e3e28097007a2127178c0bd9c360d459fda12309e904ec8ac386cd96351b2cafae811096c9130da3471a2221c82b0c8a3ba8cb5717608399c1a25198301126844dd03d2cdc7f5c8f816cf0f700061c03cffeda72c14443c968f093169b702928ea02cf40870b9d2e7e7f5032c6c31a8313f649f5e4d2b6d565e1577632fa9224b442666d164ec8279a95c4f3d44d4c4444444464b00d4e70d9cb80ef134c739c26981d0c3006c24ed0d232fa2c031943e70e787d3d6cdd0eeb3759ce9d00c353904e1ac68d039b3ea45c0b64c0b5402ae802e627c1846177176c5d6b9934de108e045dd772a241cb0d360852bd098812c68d104c22900a06f887b3c0b7fd5395655c4c32c9a73fde43266eb1ebc3f81e1837187be3795a825244444444e46418dce07204d682d7bf0025c9a045a47004bc6fbc8124c4db01075e5f6339675c30c9d79be6edb2fdb38b59e8da0d0505c1f81822b069bbe5372f5a268e37581f9c085c7e9d03ad964c12dc08243dcb1f5f844bdf6de8e9b2ac5c0733ae30c12c6516dc3c78ed154b57b725bcdee0ba0eefbe84fd5320fbe0660159e02782e0745c53338b88888888c85b764a82cba1fcfe56135241888915066351de7b51304ee6d0d9c1a07f3d97303cfc734b3804690f2a2f81e2f1860ba71b2e7cb7c1c6c18660fd7a4b6793e5e22906c7053f05236286774db2382970304c9a00e170b03e8c71c06682f5644617190cc18402fe9efdd73759d011875d1d9609630ce1acfef0222222222222036e48049703f916e8eb0f0ffdddbf0e0d2d10b4c078bd70e164183bcad0d603bf7fc967f806c8cf06df834ba707d32c275390153ee064035e1f8c1e6d200379f904ddc5ba836e644e34b8c0b871ec6feac9f44f1660f697e13b96edbb82b136e3cf0aca1411111111918137e482cb5ed61ea67bd881fbfba74e3e7f4a30303fbf18b2ad432663e9da034e787ff0b9e07c134c18d03f581fd8175e80a07b581a9c10d81cf8e553c1c293d75deb60d207b4a41cd015ccf6c1c89861c69541e051681111111111193c4336b81c93e91f2bb3b7fb560ac68defdfe102b6bf0565ef0c67fdbb8e5aa403a91ec88940c9c860bc8b3d527a72826e65a48219ce8e789c8888888888bc6da76f7039943920a0ecdd749c3315fb19c802ae7e7fd085ccebe6b0ddd40ea5d0222222222232b8de39c1652098feb1335dfd9fb5448b88888888c89070e28fe67ef7b18f91c3d3772722222222725c4ebcc52534560fe027cac93bd535101111111139ad9c707071cfdf3090f510111111111139228de2101111111191214fc1454444444444863c0517111111111119f2145c444444444464c85370111111111191214fc1454444444444863c0517111111111119f2145c444444444464c85370111111111191214fc1454444444444863c0517111111111119f2145c444444444464c85370111111111191214fc1454444444444863c0517111111111119f2145c444444444464c85370111111111191214fc1454444444444863c0517111111111119f2145c444444444464c85370111111111191214fc1454444444444863c0517111111111119f2145c80f8926a4a4a66d3103fdcce2616cfada6acb49a86e449af9a8888888888f00e0e2ead0bcb31a684f28a4a2a2bcb293106132da3a2b2928af252a2264af5b22089444b2ba9aaaaa434baf7ec242d4dadfdef6394d0ccea56a516111111119153e51d1b5ce29473dfaa169a1a97b1aca19ed91380ca3a962d5b4663530bad4be75092ec0f2ee5b5d4d7cfa16c6f7069a9a7b6be852440ac94f28a92537417222222222202103ad5153892a54b97b266cd1a264f9e4c5555d5719f5f52514bcdbe24f266b1ca5a6a5a0eb33fdec8fcd9b534962ddbb7297ae4624444444444e42418922d2e0f3ef82077dc7107b5b5b5dc7efbed2c5ab4e8b8cb889597133bda01d1522acaa2d0dac8e2b9d5949756d3908cd3b878210dcd7db42d9b474d4d2df52d873937dec8c2da39d4ccaea4bcb48ccab90db41ee63011111111111918432eb82c5dba94bbefbe9bd6d6200ab4b6b6f2852f7c81a79f7e7a50ae978cc6284936f34a6b12885131a78e39655050398ffafa3a6a4a0f3da385fa39f594cc5d48fde265342ea9a6f59bd731bb5ed1454444444464b00cb9ae626bd6acd9175af66a6b6b63e5ca95cc9c3973c0af178d95515e59020bdfdaf1c9a63ae637b652553f9f6680789cb21997916c6d254909ea55262222222232f0865c70993c7932c5c5c5b4b5b5eddb565c5cccd4a95307ed9ac7338625d9dc444b6c36b573e7503a6835121111111191030db9ae62555555dc7befbd141717034168a9ababe39a6bae39c5350b2449d2d7d240f3216bbec4355db288888888c8a019722d2e00b7de7a2b454545ac5cb992a953a70e99d002102b2da7b8ebfbccad6fa6b2b62ce81a166f60614329736bca4e75f54444444444de9186647001983973e6c08e694902c9244978d338946412e8dbff391683aee6665a5ba039594ec501fba315b5d44efb3e5ffa5c39954df3a8298fb36c490bd58b170f5c5d4544444444e42043aeabd8806b6d64f1c2f92c6e031ae733afbe81e6037a75255b1a58b8b00968a4aeae8196648cf2dadb98dc3487cada26469b65fbf72f6ca02559c6dc86a5dc3dab84a61f7d894fd535513a6f21b3b546a588888888c8a03187d9167eece145a99b3efab1935e19111111111139b33cfec84fb8f9965b6f0612406fffabe780f70920f9ce6f71111111111191d39e828b88888888880c790a2e222222222232e429b88888888888c890a7e0222222222222439e828b88888888880c790a2e222222222232e429b89c9024ad8df5d45695513a7b19c9639f2022222222226fc319145ce234cca9a6bee5ed9491a4a5a9158068492934afa675006a2622222222224777e60497d625ccfffecf98bfb0f9c4cb68a9a7b6be85245162a5e554940e58ed4444444444e428866c7059ba7429dffef6b76968681890f29a172f217a5901abebe7d378227dbbe28dcc9f5d4b637cffa6e880d44c44444444448e65480697071f7c903beeb883dada5a6ebffd76162d5af4f60a4c3652df54cdc2fa794c6b5bccfc86f82107b4d2583f87726328ad6d2209b42e5b484d99c194d7d1429cc6c50b6968eea36dd93c6a6a6af777394b26695e3c87f298c1945432bfe98054946ca6beb6869a3973985d594ec5ec85fdc1a77f8c4c751965b397d030b782982965ceb243eb252222222222300483cbd2a54bb9fbeebb696d0d468fb4b6b6f2852f7c81a79f7efa84cb8c2f5b0c35b3292dab61de2cf8d9fc25878c4d29a1a2662e35d30ed85259436dd584fe4f312ae6d431a70c0a2ae7515f5f474d69b0a7afa99e86e81c1a9a97734fc973cc9bdb40103f5a5932bb8afaf279d42f5cc8e286c5cc6ea9a5b27a212d00d118c9a6d5ac6eaaa7a9622ef36eaba42ca6361c1111111191c31972c165cd9a35fb42cb5e6d6d6dac5cb9f2044b6ca5a1a19c9aca2810a36ade1c26bc389ffac30c753991d810299f436d75392525e554574da0afa5390845cd75d436c4985d55da5f781935f3aa893e378ff98d50525e496529444ae730a7ba9adafa7a6acb155c44444444440e2774aa2b70a8c99327535c5c4c5b5bdbbe6dc5c5c54c9d3af5c40a6c5e4c7dd33262b3f78e9589138daca6aeae91da85156f7f9cca0105444ba2908c934c426be33236f6c52839607facbc8a321ea6b1a9152a624481682caab1322222222222c730e4824b555515f7de7b2f5ff8c217686b6ba3b8b898baba3aaeb9e69a13282d49e39216e62e5942656cffd696ba72ce9e379f65f39750153bf2d927a67f8c4b320924698d037baf110dc20a5145151111111191e331e4820bc0adb7de4a5151112b57ae64ead4a927185a80f832ea5baba93b249c9456cf61dae73ec5fc25ad54d594f46f8d128d423279c8946327b8ba64aca28262ea59d214674e697f0592719291c9545794001a882f22222222f2560db9312e7bcd9c3993dadada130f2d40737d1df1aaf23777c52aad64f664786e7e1dcdfb82498cd2d202da1aea69686aa671f13ce62f6b85d6461a9b5a4902b118743537d3dad248437332c834470836d1f2b9cc9b014fcd5bc8de89c65a1aea8957cda7a62cf89ca4bf614644444444448e6ac80697b7274e637d0dd59f7b8a650b17b2a4f9c07490a479493d0d2dc0ea6f525d5347434b128852316f3e37f07d6eaca8a62e399bdaca322694c788c793408cf2dadb98dc3487cada3fe3bf5ac7c246e86bac636143332d8d8ba9ab5f0d1b1b58b8b88938a5cc59b28cfbca1633bbb28ad935b399db54c392c5d59490a479c9fce0fc8679cc5bd2acf6171111111191a33087d9167eece145a99b3efab1935e19111111111139b33cfec84fb8f9965b6f0612406fffabe780f70920f90e6d7111111111119177120517111111111119f2145c444444444464c85370111111111191214fc1454444444444863c0517111111111119f2145c444444444464c85370399678138be75653565a4d8356b917111111113925dea1c12549ebb2c5ccaf8e618c215a564955751595e5a59456cc66feb2d6e3282b4609cdac6e3dd5a9e5e07b3225e5545655535d554945591915d573a85bd6c2f1d532494bd3f17c172222222222a7c63b34b84429a99c4deddc6a8a8950b5b08186250d2c6b5ac6bc58035fbaaa92daa6b7f8881f2ba5bca26470abfb961c7c4f372c6e6459c31296342ca3b1a981b9a58d7ceeaa322ae736bef5f0d2524f6dfdf1861d1111111191936fc80697a54b97f2ed6f7f9b868686132f241a3b644329b3e75651c06a96d437bfe507f668f4c4ab30e0de744f40b494eaba069eb825ca8bdf9c4d6de35bb8b37823f367d7d2181ff82a8a888888880cb421195c1e7cf041eeb8e30e6a6b6bb9fdf6db59b468d180959d8cc74902b1b21807e59178230b6be75033bb92f2d2322ae73670c44e54473c3649cbe2395457cfa1b6a68af2b24ae62edb9b0c92342d9c43cd9c5ae65497133565d4b59cc0b58fa884ea797399cc46eae735103f6a7de2342e5e4843731f6dcbe65153534b7dcb40d54344444444e4e4083ff6f0227baa3cf9e493b6a4a4c402fb5ec5c5c5f6a9a79e3aeeb212cbefb2c544ec0dbf4d049f373c646f9b8065da5df6b79d071eb9c13e70cb9df689ed7bcfbbdb4e063be381604362e90c4b64965d9a38c6b1db1fb0974526d8bb9627acb509fbc29dc596690bec066badddb0c0ce98d1ffde26ec0b77dd60efdb70ec6b1feb9e0edef982bdad004bf19d7679c21ebd3eb6d33e7419b6e0b6176ce22d7c07222222222283e1b1871759e026e03a600670097001500a8c02f28070e89444a3a358b3660dadad07ff7ffeb6b63656ae5cc9cc99334fa0c43e9aea6aa999b7841f3d07372c7881ed3515941cd0dc926caa637e632b55f5f3690688c7299b7119c9d656921c3cbee5a8c746cba89e3d9b8ad22890241a8b41bc85781292f1165a1a97307f491575d5a554ccad251a3df6b58faf975a94582c28230e7094fa1c5af0c0d6434444444464600db9e03279f2648a8b8b696b6bdbb7adb8b898a953a79e608911ca6beba82f29a3f9fccfd1d818273ae7e02392cd4db4c466533b770ea5872921791cc7cead2fa779491d7397b5926c89ef3b3b5a3e8779950bb9fdc6b3597cd99dd42d9c4f4d39c48f51def149128f03b1126200b18a23d6e74d670e683d444444444406d6901be3525555c5bdf7de4b717131108496baba3aaeb9e69ab75770592d8b17cca0ed4735d4361c3c223d4992be96069a0f19a81e3fcc14c8473d36d94cfdec0ae6b65632af6e3eb59507b6d69452d3d0c2f207eea4acf9fbdc7e51397396c58febdac7d4b28cc62e28a8a8a62cca31ea731cf72522222222728a0db9e00270ebadb7f2e0830f72df7df7b168d12266cf9e3d20e596cea967c18c383f9a3d8725073ca0c74acb29eefa19730f9c692cdec0c28696379571b463e30db5cc6928a3b6a6fccd5dab5a1a686889515eb390c696df72d7e48dd4d735123d8e6b1f5d9c867975ac661a73e75510fd7feddd6f6c65e581dff19f4bc0775f84b9513233ae4a3346211a6f69c425abed38bb6ac7ab14c66d50f0068531d0844b92dd982a29374ad571fa67e3dd4a8d1535c52ba51a5356c5411d30a9084eb2c9182528a66d5267d3559cdd343150690d44e2cef0823b4861ee90e0db17b6673c307f603c30cf0c9f8f74743cf79e7bce73fd6abe7a9e739c9c7a3cafe17b0100c0b956dc52b135d75e7bed19ded3b24ebb95e4485aedb59b3a7a33323599e9bedb323c3c98c5d97a7a9354fa1b695c75573ef7995a0616c652afb53237b394a1e9e995d3b4931c5939e5298f9d6be7c8a1b94ccd2ea6b7672113334b49ab99c5f9b974fdc65cc6efa9a47f7220d56a7fea83db335be939edb54ffc9d5eae99b9d1a10c3dd0ceaebdd369f4ad664afbe4e3a9f4d752ad26871617d35c4a16abb7bfb6710000c039764e9f2a76761cee3cf3bdfb3b5fb87e6b2749a77bc71d9d7bf6ffbcb3f61cae67eed9d5e94e3a9b76dcdaf9c2fdabaf3fb3bfb367d7b64e77d2c9b65d9d3dab8f1d3bfc37fb3b5fd8b5a9936ceaecba737fe76f0e9ffcd8ce73dfebecd9b1a9936cedecf8e4fd9d1fefbfb5b3b57b5be7fabd3fef3cf7e33b3adb92ced69dbb3b77dcf1c9cead9fdcbbf2e4af535cfb84df69d7a695efb47d6767d7eedd9dddbbafefecdc715567e7ee3d9dfb7ffcb2cf9d623c2b5fe3d6cef6eeeeceb6ebf7767e7eaaef050000af9357fb54b1ae9384cb8b1fbaf1e637a49200008037afaf7df5bedcb0fb961b921c4ef2c2eaf6cb753f1f4ed22ef21e17000080f5840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb89ca7da4b73991c19485f6d340bed733d1a0000787d5da0e1d2ced2dc5446077bd2d5d595ca402353b34b6927692d4c65a4b72b5d5dbd191a9dca5cf35c8ff50c557ad2d35ac8632dd50200c085ef2de77a00af8f4a7a07ea19abcc65eae1e9f48f8ea73e585979a7a79a567557f6cecc64a45639c7e33c73959ebed4fa7b93f9733d12000078fd151b2efbf7efcfe38f3f9eeddbb7677070f00ccf52396e97d67c46eb53e99f3abfa3050000de6c8a5c2a76efbdf7e6631ffb581a8d466ebbedb6ecdbb76fe3276dcd6774782cd5b1e9344e162dadf94c3646521f1e48adb72f03a3b369a695b9d1fe54babad2d5d7c8ccd2cad2acf6d274eabdd5f48ffe79fe7c7c2095aeae540727b3d86a657eaa9edeaeae74f58d647aa195a49585c9c1f4f40e656a717569577b31538d7aea2323191ea8a57f7832f3ad2469a7393f95c6505ffa8667323bda9f6a576f46e65a497b29d38da10cd747521f1e4a637a69dde0db59981c497da49191a15a2a5d7d9958ff3600009cc78a9b71d9bf7f7ff6ecd9936673e5e69366b399cf7ef6b3d9bc7973aebdf6da333b6973368da18954c66732da7fb29996a54c8d4ca5676232533d497b6134b5abff4986fb9ec9dcf84c26e7ff766e4b7ffa7bd7969cf5a5a7af9ec6d875a955fe7ec6a72fcf784f2dbdd56a2af5894cce4c67a83590815a3549d2d7d797c189d1d4fb2a499a99191eccd4d05ce6eabd497b311303b50c0c258b73f5542ad5b4171ecb6395a92c0c8f66ecd699a4dacedcc860c6fba6333f514b254b99ecbf3c5f3f3afca934a66b999a1b496fdaa93786ad220300e08251dc8ccbe38f3f7e345ad61c3870203ffbd9cfcef08c47323f56cf9f3eba9085c5664e762b7b7b6122e3f3cdcc4d8d677c7c3c13d3adf4eddc914ab399767a3234ba3b9b1e9dc8ccd2eaf18bd359acd5d3574992de0c8decc881d9c9ccb793a49adefede1c797432b3cd2469657ea69de1819e950f2f4ea4315bcdf060efcabf2b7da98f0da5f2e858c6e7939eda40067a93eede918c0c0da531359546753a8de94a46866bab2bdf7a3338bcfdd8f85b4b599a9fc8f8cc52daa9a47fb49181ea19feca0000a030c585cbf6eddbb375ebd6e35edbba756bdef39ef79ce119bbd33f3e9b3b77b6f3f06d03193e6e79d531edc5852c5507d3181dcde8e86846c7273333379fd9d19550a80e8ca6beed87199f5c483bed2c4c2da6bf5e3b7afb4cefd04876b4663235df4eda0b9959e8cfce4d8f6672662969cd6726c3e95f0d89e6fc5c9e3c524dcfbac99f6a6d307d3990f9859568ab24a9542b47cfdf9c9bce4f8ef4a4b767fda88f9da0521bc9d8403377fdfee5e9e91fc954b3969a700100e002515cb80c0e0ee64b5ffad2d178d9ba756b262626f2fef7bfffcc4f5aada5313b9f3b77b6f2f59bfa333cfdca6720b7d3ce91a5d92cb68e7fbdd55c9da3a9d4d2685c952727c733df5cc8f4d24086fbd61dd83398467f3b3393f3599a9b4ab33e9ef1a1adf9e1e44ce6e76692a1fe1ced88763b492bcdf5d7aa545762a572e2a56ced563b493b277ffa716feab34bf9f13d9f4cdfe25db9edeadaca7d3100007001282e5c92e4965b6ec9bdf7de9b3befbc33fbf6edcbf0f0f0c64f5a5989972fec68e5819bfa539f393e5eaabdb56c3df4f58c4e2d1e5b4ed69acde4ecd2d1637a8747b3b33d93d1d1f12c0d0ea5f7b833f46460a43fedd9d18c4e55521fe849ad319c6d3f194f63a292e175f7d654fbfbb3358b9959581716ed56dadddb33d47fdc94cab1cff4f5a43b0b99993f498c2ccd6676a99a5a7d32f34bdfcb1ddb9fccd4c4fc4997c60100c0f9a4c87049926bafbd368d466363332ded56da599de048924a2da37373d973d593f9caeff7a73ebd74f43ff695fe461a57253ff94c2d03f5f14c4e8c6678682abd83eba6557a06333a54c90fbfd2ccd050ef2b2ed733d8c840fb8759a8d553ab2495be7a86b71dc852df70d63fc8ac521bcdd8cee4e1b1c9a37ff57e69762aadc1f1d4572f77dcb8b3ba546deba13c501f597932597b31b3b34b4973210b8b4b69b5e6323e3e97569254fb531fdc9edebe13471000009c6f8a7baad8d9d1ced2dc7426c7677328473237d6c8641aa90ff6a5d25abb41ffc97ce5a6cb4676bb8600000c0f49444154333f7d471a238d8c0cf66574767f5af5914c7ce573b97d6e57f64c4d67f8b8fffb5733d0a8e7aa567f064fd404d581348677a7b5561f955aea23d72783b51cbf00ac37233373698f8c6478602eb5be6a52ad67667a283d696771663c93f3c9918c656c6632a3437da956063231774fdac38ddcf69bd58ced1c49a3d69b6dadde95e56c3ded2cddf57be95bdc9de15a35ad7623d3e32fbf2e00009c9fba4ef0dac50f3eb0efc50fdd78f31b3e98f3416b76248df678a686dcf90e00001bf5b5afde971b76df724392c3495e58dd7eb9eee7c349dac52e152b533373d3c9b0e70c0300c01bea025d2a7676b5e646539f68a6b7a795c59eb1cce8160000784399717915daadc5cc7f7d3ab3eda14c8cb96f040000de68665c5e859ea199343be77a140000f0e665c6050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008af7968d9ee0c08103f9ee77bf7b36c6528c6baeb9265bb66c39d7c3000000566d385cbef5ad6fe5a69b6e3a1b6329c6430f3d949b6fbef95c0f03000058b5e170b9f8e28bd3e974cec6588af1d24b2f9deb21000000eb6c385c3a9dced1adababeb82d803000065392b37e72f2f2f5f907b0000a00c1b9e71595e5e4ea7d3c9f2f272bababa2e883d000050960b6fc6a5fd54969e33e302000017920d87cbdafd2deb675e8edbbff09ddcd0f3b654abd5bced6d6bfb6df9ed0f34b2efb1c327ffdcfafd6377e6b7b77e200fb64e73dce1bfcae7ffe13fced85fbdcaf39e640f000094e5acdd9c7f8a039274e777ef9ecbddbfbb29397224870efe75befda7ff329fdaf944daf3dfc86def3ced45d65deb54c7b573e0503b39dd984e7b3937e8030040495eff1997d5198c4b375f962d5bb664f36597e5ddbff54ff32fee9ac9bffbbbdfcf9ffcf1ffcce1d5e35a3fba271fdff99b79fbdbdf9eb75fbe339fd8fba33cb7bc9c4e924e8e5de7c4c73d93fb6efc70a60f3e9f876ebc3a1fdeb7944ea793e7fee2bfe613eb8efdf8debf48eb55ccbc000000e57843ee71e99ce8b8cabb33387c459effcb6fe7f1179693030fe51337fe9b3c3df45ff2d3a70ee6ffcddc9ad6176fcc1f3e7420cbcbab332ecba73a2ed97dff7486b75c9aa1e9ff93076e7a67969b0fe60f77ffdb3c3574577efaf4b37962e6a379fe8bbbf389079ba71eaf70010080a26c385c4e7fcfc8b1e878f9fb976ebe34397428ed4e27cd4726f3834d1fcd17ffe07dd9dcddc95baffc68fefda7b7e4fb938fe4c0baa562a73e6e7555d9eaf90f3c7257bebfe9a3f9e21ffc4e365fb29c4bafbc357ff2e92df9c15d8fa469c6050000ce1b1bbec72539cd0cc5d1f75e79df49eb8967932dbf93b77677d27ae2d91c79faeebc7fdbddc77ffe8a2772e0c8a6a3e73ae571ed2bd6ae94cee98e3ddcc9e6ca6bfca20000c03971d6fe8ecb49ff12fd7267e51e95971f77f889ec9f7d3a9bdfb72b97753a39f4aecde9bee223f9cefff854debdf6f9e77f91a7daefc83b9fffb3a331f2d6531d77c9cf5696a5adcde85cb139ddeffa48bef3bf3e9d2bd6aedb7a2abf78714b2ebb64399dce09c6bbc11bfb010080b3ef0db9c725499e3ff88b349bcd1c3cf8741effd1b7f3e5db6fce7f3838907ffda9dfca25cbcbd9f27b1fc97b0f7e397f74f75fa6b9bc9cf6c1efe55f7de01fe4ba2ffddfbcd039b6dcec94c72d2fa73b4772f0a9a772b09dbc63e747f2de67bf9c3fbaeb473998e485e623d973dd8e7ce03ffe75daa718af70010080b29cb5c721affd67ff15fbe5e52447f2bffff93fcad56b1feade9cbff7be0fe63f3ffcb95cff7796d3e9249d777c387ff6df0ee573a31fcbd59f7f36c9e65cfde1ff94fffef9abd3fd8b1f1c3de7f2a98eeb3e940f7ef05df9679fd999eb7efa70e6fe78edd88fa736b6fed8f7e692b5a7959d60dcc2050000cad27582d72e7ef0817d2f7ee8c69b5fd509f6eedd9bebaebbeec4cbc4ced3fd37bff9cddc7efbed67f7370d0000bcc2d7be7a5f6ed87dcb0d490e27796175fbe5ba9f0f2769bffe332ee7e1de8c0b000094e5ac85cb85e442fb3e000070be3bab332e252cf33a1b7b0000a02c1b7eaad8af7ffdebd33e55ec7cdbbff8e28b67f2ab0000005e271b9e71b9e69a6bf28d6f7c23175d74d1d918cf39f7d24b2f657070f05c0f0300005867c3e172e59557e6ca2baf3c1b6301000038a1b3f207280100005e4fc2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a0786f39d91b5ffbea7d6fe43800008037af5f25f9f5eaf65292e5d5adb3baa5eb041f7a4b92ee249524bfb16ebff67365f5fd8b5fdfb10300006f02bf4a7224497b753bbcbab5d7ed8f9c6cc6a59395c279292bd5f3ab2417e558e874565f070000d8885f67255c8e247931c7665fd6665e3ac989978aad4dc72caf7ee0a2d50faf8f96974ef259000080d7626da2e4c5acc4cbfa656347978b9d2c3ed6665b5eca89a3652d680000003662ad39d6b6b55997b51e594e5edd8ccb89a2e557f14432000060e3d6ba636d3ba31997f5d1b2fe9e97bf15e10200006cdcda13c4d65a63fdfe35cdb8acfd7c518e8f96133d910c0000e0b558eb8df501b37e7fca19974e8e7f6e72578ecdc0acdf00000036a2f3b26d39afec9193c647d7abdc0300006c54e774fbff0fe9c7ae033ec578140000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Not so great. This is not a CSS tutorial, but we still need to do some formatting. Create a file named screen.css in your site/css folder:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 body \{\line
+ background-color: #eee;\line
+\}\line
+\line
+.bookContainer \{\line
+ outline: 1px solid #aaa;\line
+ width: 350px;\line
+ height: 130px;\line
+ background-color: #fff;\line
+ float: left;\line
+ margin: 5px;\line
+\}\line
+\line
+.bookContainer img \{\line
+ float: left;\line
+ margin: 10px;\line
+\}\line
+\line
+.bookContainer ul \{\line
+ list-style-type: none;\line
+ margin-bottom: 0;\line
+\}\line
+\line
+.bookContainer button \{\line
+ float: right;\line
+ margin: 10px;\line
+\}\line
+\line
+#addBook label \{\line
+ width: 100px;\line
+ margin-right: 10px;\line
+ text-align: right;\line
+ line-height: 25px;\line
+\}\line
+\line
+#addBook label, #addBook input \{\line
+ display: block;\line
+ margin-bottom: 10px;\line
+ float: left;\line
+\}\line
+\line
+#addBook label[for="title"], #addBook label[for="releaseDate"] \{\line
+ clear: both;\line
+\}\line
+\line
+#addBook button \{\line
+ display: block;\line
+ margin: 5px 20px 10px 10px;\line
+ float: right;\line
+ clear: both;\line
+\}\line
+\line
+#addBook div \{\line
+ width: 550px;\line
+\}\line
+\line
+#addBook div:after \{\line
+ content: "";\line
+ display: block;\line
+ height: 0;\line
+ visibility: hidden;\line
+ clear: both;\line
+ font-size: 0;\line
+ line-height: 0;\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now it looks a bit better:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d494844520000032e000002660806000000bacfd41e0000000473424954080808087c0864880000001974455874536f66747761726500676e6f6d652d73637265656e73686f74ef03bf3e0000200049444154789cecbd779c54d5f9f8ffbe756676b6efb20b4b2f8a286043445151011131762316d4587e691a356a2c891a9318a3519368be1f35d6a8d1d8a2c4187b055440ec88d27bddbeb3536e39e7f7c7cc2c5b6677670b0ae6bc5fafc3ccce9cf3dcd3ee709efb3ce739a05028140a8542a15028140a8542a15028140a8542a15028140a8542a15028140a8542a15028140a8542a1507cbb689d7cded9ab42a15028140a8542a150f414d9d9ab99a19036fe80fd849002290442488410e4e5e5eed09a2a140a8542a15028148aef3e73e7cdcff4712e49254502a2d5ab04c8a4b820a4400881f005b9b961002afaf5cddaced27936add34c599b74b476ffe8819cb65ff45c4eebafb290d84e96f64b76ad40f66633addd02dd36bd695dee8d76e4b4feb39b92b48c6fdbfd241b5959dd07bd22a713999ddf6e59cbd57a2ea8999c9e096b5f44377aacd3225d18cd2e5dbe83fba00737456fc8c9781ff4a6ad5d36fdd3f2a36ecb6afeb69b92dac869e7cb1ec9e9a25cd99dd66428d12d396d85c89e0b494922e31ce8be9c8cdf642f23ab221d67c85e4ec77265fb5f7541a26cfd4137e5b4fea07b823a1ea2ec64b69bab8b5f745d4ee64c1d66cfb29b3a95d66539ed7cda2339ad3364791f74c221130f04da283041928a8a00fc56af029099fe1bd2f7df6facefa79496a2a2c22caba05028140a8542a1502814d9515353db5c7919485251f1da7915992d2e42929b1ba6b0b000d95b8f57140a8542a15028140a852245616101874c3c30adbc04492a2906e0b2ddcedfe43e96718f8b10e29ba8ab42a15028140a8542a1500084482a2cad951691fa5bcb6871c9cbcba5a020bf5bd6162925c98dfd491fcbaeca9052a2695a53b9e4ab4cd537f9aa69697f7bad297f5672a4044d43d34043c73074344d43d7f576e528140a8542a15028148a1d4341417edaea1222696d69adb418245dc5326eced7806e291c420aa42f705d17cff7f17dd9a410188686691858a6d9ee0e5f2965523d91122905aeeb237c3f1928404af49492a11b06966580a6a72bdb42e99032dd0891851c13dd3030f4a412b3f32a2f02279620e149cc9c102123533d259ee3e27a123d1020607ce395dc89507db1e310b87117c71318a110c11ddeb712cff5703d911c4b7d475f4fa15028140ac5b74090964a8bcff63d2eed5b5cba8a9412e14b5ccf25114f70fc880ac6f72f6648611ee5b921b64462acae6d60c1866a9e5fbe91603080699a6d6490b29078ae47c27118326408fdfb575052524a5151213535b5545555b261c34656af5e4dc0b6312d33695961bb05062d29cff33c1209878a8a0a468c184e61511179b9b94422116a6beb58b16205ebd7af2760db605b18467205b6f3292f02271160e841473076700e1b5e9dcdfc88d54a799178ae46de803d193ea890c867eff375ccdab916ecd2a3a1a681a86f925b944bd8ecc57e6e213b4c40ea3b775fecb208dc844dbfb1e3d973501edbe6becac78dd60e545e92f33adc77f7e4587eb18065094b292f0a8542a1507cf708a65ed34a8b974a3a2985a6c716172993e7bc388e4b1f5be79663f6a7223780143e080fd95847b9a153de27cc84f27c4ed9bd1f57bdbb986d0907cbb69b64a45f1dd7c5b22ca64f9e4c717121be2ff07d4124d240201060e0c0810c19329851a346f1f63bef90705c6ccb6ae316e6ba2e86a13379f264cacbcb102229271e8f61db01faf5ebcb8001155456563167ce5ce20987a06d6398dd5981096275111a5d8168ea360dc33409e40409078c9e4511951e8dce208e3efb78f633eb79ed9d67995b67126cbe78932e0df161fcf0ea9f24f35cff2e9f450c6c7d2751c2a447c419c869375fc68ce2953c76e39f79bd21404eb6ca8bf469ac69a0d107239c47714eb33e6d23fb4fbcb06df79db72fba83f48947e344e31e5e6a926986816d0708876d7a5307ecb81e1e116710c7ffe88c64df7ef822f3eb0d023de9db54db62090fd74fb7cdc40e04c80d919cd7bfbc383596f3f8a2d1c0b676e1b15428140a85429189002d951697a4d292565cdab7b864abb80829705d8ffe0183bf1cbe2721e9e2d636b49bbfdc0e72f7117bf1d337bf60abef619a498b891012cff709d8018e3a6a2a86a911894492fb649ab401074dd7d0d008e786387ada345e79e5553cdfc5342d743d65b1f17c0cc3e0a8a3a662072c1a1b937290e9766d9793979fcb51471dc5cb2fbf82e3b9d89a866174e571ae20de18e6a04bae65e6e83ee4a71f05fb8d6c5df515f35e7a8ee73faa251436bbafbc640ac92f5bc5d3cf26cfb788f43dfcfcddd96fa0058c64fcd020fffdc827944d5f4b9fc6481127fce94e4e2a838d4ffd922b5f6e202f27e92ad85676887f6f6b256227ea8b2ee327a873ca38e884e33866e268869724efeb58e51abe58f816fffaf78754ead637a3bcf4f63c4bb56dc2f1df63fac17b31a24f080d41e396957c32ef159e7ae973ea7bf37a0a8542a1502876562c920a8b49725f4b0ba505da3980b22b48019eeb70fd8411988dd52412b18e0b34d6630573f8f5befdb970de4acc947b1642e03a0e930e3b04293d62512fb540d99ed27b50344dc3f35c2ccbe6e083c7f3c61b6f63eac93d2f42089c4482238e3c1c5d875834d6891c0fcbb238e490094d72baa4b848892f2c4a0796931f00f088c70576304cd988fd39f1e2d10cfeeb35dcf1a9475e40c36d6ca43eeea72c331a866591130e1234b7bbf4b9f1388d51175724dde7ac4030c3b6a0a49527e2026680c2fcd6432989d7d51347c70a06c86df1545ee044e334c65d3c019a6e10088508870c7400e9138bc488b9023ffd743f952737d4dc7a94921373f1642a4f4e88dc605b0b9366d8046bdee6ff1e0e7148e13a5efb2841d8b6f19d38914607c74f065ed04d8bdcfc50975c81dac85e14a3a5ddac9dbe9082783446ccf1f19a9ef4db14140621dac138652c6711d05ce21e6881302579261a12af31424d4c8019a2a4d0a6cb1e4ec2a1411bcd0f6ffd29934a5ab49a50e9100e386c142f3ff33e2268d1e9b82605769e470a9cd8f63ca0a11b3a5620445ea8c3ca663d1f5ab4ed969f32a9b4f9173ae1f2114c9cf0394fcffe8c969d961acb54bdf3d2f3b1ddb10c61695d9fefba6911b435bc849b9c9b9a8e1d0a919763b6edcb6cdbab5028140a85a247f4c8e22225789ecbf4be61ca6414b7b61680ad5187ca98cb9e25e1a6bc4b6ba2e45a0615b901fc58037d730b99de2f97d7ab1c0cc3c4f53dfaf7af20180c128dc62015914c08d1f48455d3688a02a6691aaeeb110ae550d1bf826d5bb6621b36beebd3b76f5f72c3e1941c78ebad77f03c2f631ba64e9d8cebba4d72b66edd8a29bba0cfb5eaa795f75fc5d56f5423cc3e1cf18bdff1d33101f6397c28c6fc25243c9321a75dcb4f0e1b4c698e01c4d9fad5073cfbe0d37c5067103225f18846c5e16732ebd80319d527006e2d5fbf7c3737fdabe565dd440147fdea4f9c3dd244aefd0fbffccd0bac6afa369f893ffb238797e66379357cfdf6bfb8fbf1854482014c4d108b588c987e01674edf9f6105066ef50ae6bdf0248fbcb90e336c92481433f9c7e73065547ffa1504d000b77a25effdfb311e7e670b768e89862016b1d9fdd87338ebe8fd189ca7e1542d63ce73ffe0d1b9db08b4b630498f9818ce89674d633fb31efda30f79785d8282d1c773d59947b077df20c804b56be673dfad8fb3c40f60a7578819e762b388751964dfb7aeb3beb0f09d3cc69d763ed3f61bc1d0b23006105fff06375dff1ce669d7f2d38ce3a4a1fbf96dcb6d58c43c6f3f260fd688cebb951fddbb06cbf0283af116ee3bae14963fcc8f7e331f3faf2bca8b24d11860ff4b2f482a2dfe7a5ebdff11fefde15aaa5d9be24123195dba89555a000b9f684307e39a6ba3d3c9d8e7dae8d2271a0d326ac62c4e9bba2fc30a4d9009eab66ce4eb771fe3ee9736b633165d9c0fcddb560ab095771e7a84d98bd652e305e9336424c3b5afa9b30db4a65b379fa9d7ddc3544bc3af5fc307b31fe3fe37366287759c443b6379c393acf27219d9c97c3ff247b398326a00fd0a83e8481ad62ce2f50f6a1972e8c1ec5b9103b12d7cfcd263fcdf0b2b903956aa2fbbd25e8542a15028143da503c5253b01aee733a94f08afb11ee1b9006c89fbdcb1681d97efd38f3d8b73585a1be38f1f6fe4a2fd06d13798cce335d673789f102f6d89a1eb26be27e857d18f582c86effba93a88262b499aedd692e4f24f084145453f366ddc8425c1f37d2a2afa128f27e5a48b4e9d7a641b396fbdf52eaeeba269c96b0de85fc1a68d9bbae686223379cfe804f20a290e25bbb77e733d42d7d0858b97534a89e5d0502708168429dbe3707e7c95c39acb9f6573c2a4ff29d771d3f7faa6647bf85621056e148f4033f179ec3deb32ce1e6942dd7cfefc87d9acd7ed54a0b82439a5f9b8091f02458c9c723e375ab55cf2e00a7c0c86cdfa15d74d296eaabf553c9cc3cfb99611f93772cdeccd785a01a3c70da3c204a44342d8048a8731e9dccbd1365ec5bdab04015732f4ac6bf9e5d412c02352ef935bb21b932fb886a2c435dcfeb147aedd6ce996a19ffc9cf1fcece7d3d94303bf6e2b5b9d10a5c536d1988060b33998a98f65b3cf338e41677db18c845eca4153f6668409e092f02c827a1df5ae4741bbe3f434abb50ce5b4757cf04e2993cf1e4ccea87de8ab2f67935fc85e7b274d096bde5b42bd6992d7495d5b205c1279e3386edfe4d8af78f44e1e9ad748386c936b4a1a377ccedc753a81a0891b919d8ceb564ca9779ac710167b5e783d571f9a0f08eab66cc12f2ea7b8ef50c68f2de5ee1736d046af9712a7b18bf3a155db563f7a0777bf554f6e8e89458caa158bd88241d0d488377fe660f9247c9340fe6026ceba0c365ec5ff2df3117e7b6369b3dbd99dcff731078ca07f6abebb9a4ddee0719c383859c4f7c10895b3ef4917f3a3b55772fb1782a0d7c5f62a140a8542a1e8311d98163a5f5e696808df67605043344691a9832b47971572e5f726f1c717dee6e421853cb7ba8e4b8e3994315a3da2a10600217c06844308df4f6eac173eb9e1308e93485ebd95f6d0fa5c164896f37d8f704e0e5288e47e07e1130e87711ca7858c582cd6424e1adff752af3e3929395d585ab661d805b7f3d405cd3ea87b8f7b9f5a8d1e0a61eb1a6beebb8cefdf6b915b9047b8781c97fdee348697ecc59e854fb3c61bcfb9c7f6051cbef8fbeff8c3cbeb88eb01f27374244529813643bef7338ed8bf04124b78e8b70ff1a11b24d7f471ddf44523bcfd9b2bf9eb128f8aa957f2a7f376a7e090e98c79ec0e16858e60d6946220c6c2bb6fe08e77eb289f7e05b79fbd1b038e3d89bdff7b270b9b168af5bc76c395dcbbb29019bfb9851f0c0bb3ff6103d1bf5a49a2e050664d2d0136f2cfab6ee4d9353e6553aee6ae0b46b0df8cfd29983f07c7b69bb96cb5ee5389513080320d60250f5e7f33af6ef5c008919f17c4d23a1b83f4f93e996437a7bdbe58c282e6edbcfe4aee5dea620443e4e79ad4b63b4ecfb0aa2e53391ba330ce9ab30733b8781fc6953ec3b30dc3193f106013ef7d528b69a5f79c25ebec34446870b7d754b34214e56d7f522f858f5e3a943200b6f2f197b598a1208626f17d8ba2fefdc93504f16d6b595f706827e3fa173eea74ecffc2a2f0619c71683ed0c87b77fc92bf2c8c3270e6efb9edf8d2a67ab7417824f22676693eb46edb879f5763858224bd34354cdd4cfe38b5f81d48f5f78a428ef9ed2d9c372c877d0f1988be7825c26895a7694c0ee5922ecef7bf6d1ecb2feefa29070460f9bd3fe7da774da6de782b178eb0d96bc2008c45cb49147675fe2b140a8542a1e8293ddb9c9fda0c9f23dd26850340d46e63649ecb29e3c7f0f0dc4f38ebe0b1ec25aaf1eaabb797d53482c26db2a8885418e3b44b97a669bcf7defc762f7df0c10736950d040d8494c9536a528a899b5ac5a79594e6ed69fe3e699549fe1d08a4e474c5e4d23a6fdd26d6d47a1839c50ce813868283b9e4e2e55c7edb3c1ab43cc69c71293f9a3e82bc16856c726c30cbf7618806243ee7b9b7376216e452acc92685304990ddf61f08b87cfab7bff14aa5497ea8753504ae2709840db67df83e6bcedb9d614619c34b743e291ccd4080d817fc774135c13c8bcd73df64f9d9bb31d21ac4e87283051b9acbd2b0b53abefeba068615112ec9c5f07da818c320002a9879cbbdcc6c5ea4a83f85ba60b390e8dbb7eeb442c3dfbc888555539956328c0bfff217a6ce7f8bd9cfbdc4fc6d3eb9763387aa4e5dc5327cdd695f18ccdfd2b23e81bc306143e2c4828cee609c5a5e2e5d4e10affe883756cfe4bc21651c3cae9457d61dc86e3ab0e903e65782154e6f2a97b811c16e97dfcfb5fb6c5fdaba8b6ee7bc3faf20986b349d67047ab3e869c9be90c227ea0ee2fc6bafe4a0207cf9a78bb839d1f9b87e9a9b459ebc515400c4bfe4f5cf1b0966b1d948fa1e7a17e743c6a1cbb4e93ec3bcb1f5edf331a7388c21249ed1324f202f4c8e8811afe8fa7c37626bf8620b1c300802610b43ab63f9b21a185144b02007437463fe2b140a8542a1e8313d7215d365d26dab219620e0270f7b4cf3d5da8dfcebab3ace38682ccf7ff82543461630aac06efa5ed37522b178d2ed4b4fca8945e34899f477d2349dc30f3fac695fcbf67a251737b1580c219356965834298754de783c81a6a5367bebdb15974ce7b308211022f9f43e9148a4ac3a9db7bd455f357bbff2e9dbb8e6cd5a90929c7d2ee4ceab0e226fcc3426f599c34bfd6671c9f411d8fe3adef8e7eb2c490ce0b81f4c6590960a95a06ba9cdc2a2990b54dbfac41a2114b6d8fbbc594cfcfa1e1624022d43236fef2c30add4535f996a678ad435b36aaa26f19c941f9aa627fb365d57aa98fff242b63473e7110dcb68300c34e1118db908c32614682bd6d056f1c8b5bf67cd89c771dc94d10c397006971cb83fcffff2469edeaa91d3ec9c9a36eb59d9d295ac533aea8b6617116e026dcc851d8f538672121dcbac61c1eb2bf8c105c31970e8440e5a3f121bd838e743b6ea26e1666e621d55b9a95d9a81a85e432513c9a58cfdf62ae4993723d8c10e0a6733ae1de6d19a0e75cd18bd2b63b765391f5ab44d4754afa306c8a78cfdf62ae29937eab18206ba96b4c8fa42c7ca18b05de2379f8f999a91ba77b26b73ebb21e8e9716af03adae97edfc6fde5e8542a15028143da683c7a9b2f3a44974dd6059431c8940f82ec277595a1be38e25b55c3cf900bed7d7e2caa30fe2cf5fd5f2654db4298f94821591047a2aaa98aeebd4d4d4e2fb02cff3f07d8f68344a2c1623168b118fc79bde47a38df8be87ef79f8bea0b6b62e2527b971bfaeaebe498ee7f92417aadbf7cba437fd433274b297925357578f9e5aa8742db5ea392911d81494e4933aa906210df2fb9725ff5efb164fbf388777e67cc28626439586b765299b0082639831a10f4e7d849aba386e8bc7b6f5bcf7d73bf8cf6620bc1f17fd7c1a656e022fc30a3311b5d8eda823190c105fc3922a81b7f173d601044733fd8062120d82be874c660480b78ec55bbd2c3615ebf8e9ba924b68cb073cfbf8933cf2d8533cf1ef3779e5cd2f89e81237349a537e7a313f3976772cc76fab7ce82172c52a5efbfbed5c7cc18d3cb509a02f07ed5f0aae482e88dbe963118f52531b49a6fa04a24d8ecefba2ede497085fef649c32cb07896e19d42d78854f5ca0ff0c7e70600858c76bef6dc3b0359ab7c50a6b2cbdfd024e99f983a674fa9f971308eb68e97cba8159fb11af7c9d6cddb0591773cef83288c57164cb51723b1d573f8bb1f7f1b62e630b406834d30fec83244c9fe2e65a67b26ebe00c8a14f4900dfcf623e98067af3f1d4758cdacf78677552eab0b32fe1c2c38690a783e35b84cb47317eef1284d3f1c86eaf53dbcf3443c7ef95f9de9a6eb4572595545249259554ea206547cfa28a09816d59cca96a64af3e20536e5e39a11c7e36650f46395b71b755313caf902ba64d20b07515d28b260b1b366f557ad8560e3a3aa6695259b98d703884effb689a40d70586a1376dc84f2b1dbe2f52961281699a6cddba15cb3033ca499eed021f7cb030631b3ccf4508d924c734adaeb98ab5eaec61e7ddc443a74bac7088b47dc9fffa4de66d73a95bbe9a08fdc81d7a36b7dd76281ba22186347f7abe6d1e4f2f3886cbc6e7b0ff0f6fe6f10b5d7cdd425f7a3f17deb2fd340bd1b894c7eff817a36f3d8921c34ee692199f72ed0b5bd8ee509fcfd41bfec2213248323e8064d5ecd97ce959046ae7f38f378fe5ba230b39e027b7f2c48f6932236c7ae9393e4de8e8ad56f46dbb43c7ac9ccb13ef4de3ca83f3187bceaff9fb391eae34b1348705375fca1d5f4a869c7406274c2802ca59ffc1f53c57d5b2dfb4bec773cb6f8f205c5f4565d4a0ac2f80cfd68d11849ebcb0ccd0c715dfbf897f7ebfd907ce27dc74e99b9987a7ddbe30d05ab7138966086a3a1b27da964bf6914e20b698e7e736b0ef117918805cfa26ef576958396dad17664e0e856d84c916adb503f5ccb9e7310efcfdd9ec131ac8f48b7ecdf48b32d4a1bab37135b1e39de7b1127379f6e363b878df1cc6fff8661efd71db6be97e15cbb6c101fd4df6b9e4262ebde51aeefca2e3f9f0a7e582708b8366346cbb86d7ee7996837e7732bb99154cbee02a2637df1f16fb90df5f7c0f9ff92daf9fcded299148cdc0eec67cef9ccee77fdbf62a140a8542a1e829edfe979d76c5e92879bec4b22ddeaa37589b48ba7749dfa3c2f61919dd8857bd257938606d25c31bd632c01648df43d375164524ef440c4cd3020d4cd3a6baba864863142104aeebe2b80e8ee3a652b3f7ae83eb26f7c754d7d4525b53d3ae1cc7f5d8679fbd193f7e1c13261cc08409e39930e100c68f1fc7b871fbe1b81e42081aa351aa2aabb06c33abb66f4f1a1a0e355b1b920b4e3d48381cc2c6a37ef372e63d773757dcf236f58100dad2c7f9c3630b5855e7935b31949123fa1248d4b3f1abc5ac8d6b5881388bfeef466e9ffd096beb7dd02d0c19636395d6e65c13b1e915ee7a3ae99c3fe8947338b24882ace58b45abd9d2e082915ca8c7b67cc56bf7ff8e1bffb3153b6060043dbe7ef8b7dcfcecc7ac6d90a0815fb786798fdfca754fafc7b0f52cf45e0d3398e0937b6fe4e6673e64658d0b98589a4f64cb2a360b1343176cfb68116b5d88aff890cfaa5b4bd530f528ebb7c630f34be8d7b710ead7b3f0d93bf9ebc22841536bd9cf1dcee2b6d358ebac2f6cadad4c09185627e394c15dacd95c30022ecbfef31ac9917158f4c222ea2c03ad4b73aa59d22c02f573b8f5e7b7f2f01b8b595fd7cc272951c786afde67e1661fabb3710d189859e4b1ec181ffce5466e7be63d3e5db686955f7dcec7eb92d7949e8b40c7b6aa78f5af8f316775033e0ed5f52ebaddc97cc8d036741373cbcbdc78f99d3c3167299b1afda60e8d55ae66d1bb4b6834b3998f19e6477a3c7a65beb7268bf9dfddf156492595545249a5ffc194fdffc06db10e9978a063db5656020cc344f88242b7811bcb1bc9976e5358e44ce8a645bd6671d5e63ce281309695bc8e1012d771f08560f8f0214d1696e68745b6384452d711be64c58ae518a6896d05d075ad498e909261c386a2e924238e359393bc9e404ad0740da4c6ca952b491eb4a775ad07019038d10431af65394dd7312d93806d90dcae21f11d9758c2c74f67d53474dd2018b2b0525606d7714938dbf3e8964d3808b106070f0d3b1c2464809f481049084027941bc0d60589988be309d25b38345dc7b22d8276f3bd00122fe1124f5f434be609055279a44f639b6bc58924241836f9e1f4017bade4a4ae6707eda4e2e1b934463d84616049815f3a855bef3c83c154f2dc55d7f2cc56899ff052871ca6eb61120c1819346a413c922091d173c8209c6b908834af73167d91a19de9fee9709cb44ce5245edca1d185c2037ec89f7f3e9edc9a37f9e5cf1f67836963f4f4e1bb1424122e8ebbbd3da4ce34b243764ab1ed645ce93c8f1460e6e5e26eaba4c193687605c75eff3bce19a151fdd28d5cfcc42602411d7c8f58dcc3f521100e123432c8a6e57c68bf693e4ec26b33568669100c981864311fdb1dcb2cfaa54d5989d31827e6831e089217d0ba35ff150a8542a1506487e3b8cc9d37ff6420064453a9b1d9fb18106f5771492b14d960d936ae9b20e0c4b930bf9efd030910a9685d52425a61d00d162502dc579f4fc20e1108247de7d3ae59422437c8fb5ef22c969c9c9c2645254d5af98846a36cdab419c3d00904832d36de0b217112097c5f5051d19750289492d15cb1d052e1947dd6afdf801002cbb2526e6a6ad1d17b08124e5f4ebef172660cc94b9e46d330975f5ff2302bf5d409f6bb3c12376eb2f715b7f0b3dd2dec9005387cfcffaee68f0b6304ad5da59112271ee6b0dfdcc6ff37d4271689a3e786532708ade3892b7ecb7f6acc36d63f8542a15028148a9ee0bad9292e3d0b879cc24924080402b89ac1edb506e3ad08934231869b2e79baa041e8acf02cde898558e0e692130a12b0ac263d4223694dd1352d29477758bf7e03b9b9b9e4e6850906834937342988c7e3441a1a696c8c10b08358b6958c832469b2cae89a861d08e0ba0eebd6ada7a0209f706e38a928490d3489e33834461aa9ababc70ed8d89685ebfbddb0b6283a444a7c338ff2a2a4d212dbf811cffded29960a93809e216ad52e8944e8b9945a32a9b438db58f4dcfdfcf5830876c0e8d2bdf4ed22c1b0901b5753593680d2dc3090a072f9c7bcfcc43f79699b8e6d7d57c64ca15028140ac5ae46bb1617d3ecfad169a665a2eb269eebe2ba2e42f80821d1f5a49b8d65595896d5ae4523bdc09332e9dee5782ebeebe1a7ac379aa661e8068665629b169aae9316d53a6472931ce9e3b81e5e6a2f8b94024dd3d1751dd334b06c0be10b7c91545a94b565072005b1a88b2753ae340113bbc7be533b1b1227e690f001344cdb6ce59eb7ab2071e32e097fbb82a2193ab6fd5d1c338542a15028143b039ee7f7d4e2d2f58bba8e87a6f918864928144a9da192fd62a7c962a26b484d27a00790563a36976c92957417a3c53e98f6e4086110b00d0296d5e42896f41a13f8025ca7f97e9cae9fe1a2c8069d604ecb835cbe7bfdac610503b470b0947463e3f7b78d8619b033861bfcee8d9942a15028148a5d895e71156b5d4e0807b7fdfdf90a8542a15028140a8542d125da555c76c567c50a8542a15028140a85e2bb49afba8a29140a8542a15028140ac58ea0d75dc5140a8542a15028140a85a2b7695771e94a74adf4592bc9a85d2a5caae2bb453a1084aeeb2d0e315528140a8542a1d8d5499ebb28b8e4b8814c3f7228c18a3d318af705bc0e4ae9248366c5c18f826c04df41ba90a85ccba70b3ee586479612894b74bdf303e0b23598f4d8e22284c0f77d5ccfc3f33c842f104a73517c8763024ec20000200049444154d0350dddd0314d13cb34310c23ab9b50a15028140a856267464a89ef0b7e70643933a6ec865d10c008d640a00a9c22f03dd045b31206a0815703b2129c6dc858151a3e1414a1991676aec6defb0ce48a88cb8d8f2f4788ae19443aa283cdf99d2384c0f33c120987c30e9bc4b4a3a733fe8003c8c909f74ae5148a9d81c6c608efbdff1efff9cf0b7cb8702181808d699a4a795128140a8542b1cb92f6961a3f3cc419c70e436b5c098d168bdfaf677d620ed366ce047330f81ac9a05d064807dc3520b6212a57e0ac59836e9510712c5e79fdbf9c7cda58ece163b0fc1013c75770caca3afe396f1b86a1f78af292e9944963d0a001d765d358dff7711c9759b3cee69a6bae65c8e021589695b2d6a8a4d277235996c5b061c39836ed68aaaaaa58b26409baae37b98e29140a8542a150ec6a4829b10dc97567ee4649a812c31c8635fe567ef2bbd95c77eb6cdc4d2b39f2e80a1026481fbc2de02c055189bf7539ceb2f5d8fb5e8735fa473cb730c69997dfc5fbefafe0a4093904fb0d04e933a28fc5bccfb6511f139dae99d6aedbf01449ff343743f200afdb16172104aeeb71e86187f1e31fffa4699f8bdad4aff8ae22a5e4e28b7fc6da756bf9fcb3cfd0751dc3c8a4fb2b140a8542a150ecbc4829115272e8a85c860e0d206beab00fbe1602f984f30a11c04d0f7fcc94c9af70f87107211bd3ba830652e0ae5c4b60e29fd14b460290764279e38b066ebaf95d6ebe7f28464e90bcd210c78e2be6ff5eded22bfb84bbe5eb92f6874b380ed38e9a8e9428a545f13f81a6694c3e722a09c7c1f7859af30a8542a150287639a494200453f72bc6107598c5a3215008c0adb7dec29193a7b0c7ee2370ab1ac04f801f4b5a5d3481a85e875634a6496901f8fea9a772d145173162b73dc8eb371a36ae46b734cc90c9e1fb17931fa457d64cddb2b80821703d97430e399449930e43a29416c5771f4dd3304d93295326f3f22b2fb164c9620ca3a5d5c54b07a910ddbf1f344dc3300c2ccb54ae680a8542a150287a1d29257df20c46ef9e077e0d7ad9de4ddf959797f3c6ebafe1c61b31179e8f6ca8033d90daa86f20223568e17d5ac8d3759dbbeeba8b84e313685c4162d1e5d8e571741b4afa04d8736080f9cb1d344df6686dd365c5256d6df13d9f534e3a054dd3915264ccfbe592aff07dbf5d59beef63180625c5c5f4ed5bae363b2b767a745dc7b22c8e3bf67b7cfed967f8a668b1d7c5753dc68d1b474e4e4eb7af118bc5a8aaaa62f5ead518a968660a8542a1502814bd41da4b6af77e36c1b089e680bf79016816d8f9202546a8044b4812b138b67052be60492b0d1ac8c64a92e79f3453423408d806b2ce0529403a68bac4b074f6a808f2c1b238dd74f66aa25b8a8be77b8c1e339683271e8ce8c0452c1a8d327efcf87665bdf9e69b4c9c3891152b56505955c5f061430987bfa188647e84754b371018be3b657673cd4f92a8afc30f1792b3cb6f5ff82eb565e7206d0d396cd2249ef8e713ac5bbf16d3349a1497b4ff663c1eeff6350cc3a06fdfbe141616f2e9679fe2f93ea6da4ba35028140a85a2979052d2b7c840d77d8cd23ec8c615c8ca65483fb9a6179e400ad0f32dd074104e2a669187dea71f62e902126f9f8f140264f375b4868cd562e4e96848c045332515c56693ced0138b4b97d51e21049eeb71fae9a72715ad0e5cc47cdf6bb169bf756a68a8a7a8a88851a346919797c7b2e52b88c562dd6e4c57900d1f73dfad8ff05943cbfacbdab9dc74c91f79af36b3156947e26f79851b7e781dffded8d1813fd9cbf836dbf25dc6300c0cc3e484134fc4733d84d8debf9aae515d53dd23f9e930e3b66db3e79e7be179dd9f0f0a8542a1502814ad915262591ae0638402987d0760f61f84356870320d1b4a60c430ccfe034078205c901e0807ddd0b1f7188a59e160553858fd13d8039c544a10d82d8c35a83fd24d80f4d0a44f28a87df37b5c92d6161f4dd39874d8e1d0c9de16cff75b2cea5ad3d0500f40381c66e0c081c46231962d5fc1d831a3db668e7fc57d57dfcc5bdb92ae677ab82fa3269ec0b9a74fa4bffdddd807a0e7edc6c42930a4208ba7ebb14fb9f5a2fb29bbf676ce1d6e6796e1eec0ca7e87d0b4aedd4c49ab8bcee1930ee78edb6fc34bb93c6a9a86691854555551525cd2e37a092108e7e4505e5e4ee5b64a2c4bb98c29140a8542a1e81952caa4f1448aa462211c10196c19a2852358337cd0748c506ecb0c694b8a00e97b29773101a4dff7bcee5d5a090991dcdb72f0c489e8869e340f7580ef791d2a2eb9b9b9dc7fffdfb02c0bdb0e100804b06d3b736699a0a6219f23aff90d33077a54ad7c9f27feef1e6e0b0de2d6ef0fc2ea4a437652b49c611c75eab05e93216b7ba356df6d5cd7e5edb7dfe6a8a38e6a525e344d63e1c2851c70c001ed2a34866110080418bbf7de7cb97831c214294b8c415d6d1d9eef611a3d57348410f4ef3f80cd9b362bc545a15028140a45efe103be87938813aff6d034891db6304c03c3d0d0cca4b3575a37911234b46454553fe541e5365f27495c4f2004e4160449ee8901e9c4696c48f44a95bbacb8b8aec7b9e7fca04317b1349edfb1e2327dfa8c369fcd99fb6e07127582e130b90536b9fb1ecda987bcc68d4bb7906010965fc9db77dcc0039fd4e16b798c987a3e979e358e6243125ff7160fdff314efae8ea0e58fe507bfbe9cc981ed5265f42bfe71c31d7c75f0b5fcea08c0dbc07f7eff531edadc8051329a19e7ff9853f62ec040125ff3060fdcf334f3d63612ecb73f275c7821df1b990b8d8bf9fb1feee1dd5535c425042b0e64e6c517327550100d4974e5ab3c70fff32c58d34060f024ceb9e45c0e2d6fa96ec9da39dc70d9cb1c76db6f991c5ecb4b77ff95a73edc8ca3e531f607bfe1cac97d329e18daae0ca3fdb6e8d1aff9e71df7f0fa926dc408b2e7057fe09ac3604e863e2c4ab4cefb4b8ef8e0269e1cf84b6e3b6b28360e2b1fbd929b2bcfe32f97ed4df7b7a57fb3689ac6dbefbcc3df1f799475ebd773fe79e701f0c0830ff2fa6baff3f39f5fc6b871e332964d9ee16272fae96770f5555761db565374315dd7a8a9aea14f9f3ebd524fcb34292b2ba3a6a65a6dd45728140a8542d123344d430336553b207c36afaf63d9c7b52cfda89a0f5eddd863f9e7ff702f0ebb747764c405014e5d844d554e7be69b2e91f52a281d4d2c941362f4e8d11d6eca4fe37b5e97fdd9fc2cfdf9bd9a25ccfb3442f921fd08001805ec73fab5fce94705b0ee656ebfe521fe75d058ce1fb4927fdcf228ab0efc11bfbf7404814803c1120322a97679db78f7ee3b797fd079fcf6b821041ad6811664f0b48bb962df426adf7f983fdd792f036ebf8283035ff3d81fffc1ba832ee296cb2ba89d733f7fbafd7efadd7609e344352bd705987edd9f985c14e18b676ee7febfbdc33e374ea34f62318fdcf614db265fc66d57e4b3f4895b78e0de79ecf9abc329c9b8cb48d2f0d1633cbd665faef8ebc98cd06ba9d28a3a555a32d25e5bd8ca92e50647fdeacf1cddd7271128c630fccc7d58d63a6f09a63680fa173fa372e6502ab45a967ed948ff630613ea4e1dbf25a4944c3b6a1ab1589c7fcf9edd14d5eebd79ef71dacc998c1f3fbe5dc53b191ad960efb17b63076c7c5f609a32e54666525555d56b8a8b10828a8a0ab66ddbaa14178542a1502814bd80c6f2cd0e89468fd23e169131618265169fcddd8a9610e4eb46f29c46b627d2ef351048fc66ef3d090e02e94a0226a07980875313c5a96e64e9c6385a2f682e596fce4f6f189e76d4d1c9ca67657149ee71e94af23a089f8c57c57f6ff821e79c7316675ff4475e8eedcf4987f74bb98959140ee84f695e2ea523277144ff38eb2be3c457bcc67cff40ce39f54086f429a1dfd02114a5d77eb291c58fdfca63f5d3b8e2c203294e6b06460963f6df83017d2a183dfd0ca6e47dc55b5f4588af7c9d05de78ce3e797f0696f663ccb1b39892f339af7cd990ec132d40516909c565439970f4040ab72c66b30389156ff2a13880993346535e3c8809df9b44d1da85ace920f0941ecc416f5ccfda4a07aba02ffdf3bbb9606da72de9fa9694155350544e598ede6e1fb6cd6b5238e6700657cfe7e32a1f195dcdc795658cdf3daf3794e96f14217c4e3ce1784e3cf14416cc5fc082f90b38f1c41339e9c4133ab41642daea6270f084835367b724f31b864e43433dd168b4d7ea190c06c9cbcfc7f755a0058542a15028143d43d735d656fb7cbdac0ed375e9d7c74647d03f3748916d61d80666c020103008050cf2822645418b92904579c0a22210606030405fdba6d4b228b72d4a2d8b70d0247f581012719caa7a625bea89457c166ff29b22aff684ac57c369c5e5a4934ecc4a69816454b1ce167f99cab48b59c4913fbb9e530619380d9bf8ecbf0f70f76f9fa0cf2d67315cace58d87eee35f0b5651eb5a98d2638890246aaa49e4ee4361a6967a957cf421144e1e42497b1bfccd422af2e1939a1831af9a445e33596621fdf3051f574669ad6e19a14202fe1a5c2949d455136d58ceefce9fbb3d83b61b1147424ea6eb6ae4ee7d3e97cd7898bfdffc539eeb3f89337f388b4903023d530c9ab525d3a8c878e63ecc34da7ad1de4c19fa38ff59b095494317b0b6701cb34a76cd90bd4208124ea2e9ec958493c86adeea7af28c95ef1d7f1c6fbff3164288267731d334d9b47913c3870defb53a969797b372c50a0ca39d7d600a8542a15028149d905620243aaf7edcc88852417840888a0a93dc629b48ad439e6190838ea981a969e8682025be10e89a86d4341a858ff05d5c4000ba80c2c20085fd349c7535246a13f871c17b2b3c2aa310e885605a59292e4937319fdcdc3c468edc03213a7713035a3c85ce968e43bfea04f30b282cb2a1a898c38f9bc44bd7cc67459d4be167f7f3e8d2915c7efbf58c29a8e5f5ebaf660e60e71760356ca2d6838ad6adb50633f3f2c92cbeeb4eee28bf916b670c68bbc9dfab615dad4641490ea19c62ec868ddb6579b56ca8d32828cd69ebc6a5a70d621a767e21394553b8fa8e731991ed9ad32860f4099770eb319b79efc19bb8e7aebe8cfcfdb1f4eb896ed0ac2d6d4d6d82aa7999fb30237a21fbced88b7f3cfa2a73d72e2367fcf194ef825e4c9aa6f1d0c30fb360fe028e3ffe780066cf9e4d7d7d3d3f38f7dc0ee779fa4c973d47ed493018c2f77d4cd34cb991995455563170c0c0f6034e7491c2c22284e885901c0a8542a15028fea74947487dfdcb04a71d1044b71a292fb318383048ed8a28e5ba89c67617315f4a0c4d63447939fd4a4bd91c6de4b3caad0ceb5346512040a2be9e259bb65134c4246c27702312e14abc383cfb510c4337d034bdc71697ac5cc592d6169f6947a7dcc4b28c67e677c355ccefc8550c413cd2407d6d159b577dcccb4fbecaa6dcdd189a6f80944809c27770bcedca5270f891eccb07fcfdc9f759b5ad86ca0dabd918ddfebddd6f123ffdf991d43d7d27ff5a91728b9209aab755535bb596054f3fc06bf1b14cdd2397e0f0298c3716f0c8b38b585fb9992f5e7c94d7a363386acf8e5da482c38e601f6f2e8f3cbf883595b5d46c5dcbca4d5124e06f7d977b6f7b88f9d52ddbed562d65e9863ae222878a0185e84e234e1b1dd02756574d5555553255d7e3b41e9a76da92b1beedf461663472f73a9689de6b3cf2becdc107f5dde522bb699ac60b2fbcc0dc397399316306c71c339d638e99ce8c1933983b672e6fbff34ea73798611898a6c9c44326e2792dc37f9ba6c9c68d3ddfe49646d7348a8b8b3bb947140a8542a150283a46d334745da721a1f3f0bc285e54e2d7bb4c382e973ec536ae2b112457fc7eea21ee81234670f8ac59ec76e289ec366a2433cfbb80d3ce3d8fa30f9ac8b491a319bfc760c64fcbc344e03b023feaf3e22709966e1118868eae7f031697f4a67cd77539ebac594d8bdb6ce82caa587b6532a20528ccade5cd3f5cc29b00663e03f63c881f5d7d2abb0574386816277e74377fbaf4655cc0c8a960629e81161ec30f7e713a0fdef730bf7cb511020339e6da1b39b3b4493039bb9fcc4fa77ec86feef90f075d3b8a610362bcf8db4b791e080f3890d37e711ee3f23534f660d62fcee4817beee517ff8d12e8b73f275e712107e46bd041e8612d772ce75d790a0fdc7f1fd7cc8e8096c71ea75ecb35c7e72023eb59ba64197d1a05847d043a1a8286af5fe6aff72ca0d207a36824d3ce3b8a01ad3503af9e39b75fd1cc2ab21b3ff9c311dbbfb78adb6d4bdbfaea94b4d787ed35cc1ec2d4a306f0c6fb877348bf5d4d6d49ceed2953a6505c5cc2a1871ed2a4101c77dcf71838682063c78cedd4b298b6bacc9c7906afbff61ab66da3ebc9270a9665b2ad721bc5c5c5e4e7e7f74a7d4bfb94525353d3e492a65028140a8542d155d28a8b611abcf85982bdfae94c1b635054a673e43925bcff500db17a1fd3d6f08560f7f272f6183810bfbe1e2f18a464c870ecea5a125f2c2656dbc8ca4403c513628c1c1dc48ffa7811c1b20df0e0dc18a669a1eb468fad2d9039309975c8c4039df41f4208e28904797905fcf7c5ffa6dcc4b253461effe73f387a5adb90c71df1f22b2f72c6cc33bb5466d747e2c622542eba8febff6e72f19d3f63ec4e1d9ecb271e7511912f79e6f6bf5377daefb868bf5d6f637e1a5d3710c26ff5999eb5d2ed791ed1689453bf7f2a89448c6020d014a1ccf37da4908c1a358a50a8170655d358b86001c160a0f3bc0a8542a1502814ed20a5440881e3b8589acbafa6d94cd8c324586650b7c6e3b3a71a58b73c8e13974c1ebd277d4b4b48782e9eaee125e2445d9fb894b8a138f9131ae83f167035dc06c1faad70f5bf626c89184d474674a6b8cc9d37ff6420064453a9b1d9fb1810efd0e292b6b678aec7cc9933bbe42606a9455b17c321771855ecbb8aa866ce1f2ee5fed57d187ff6158cdaa99516c059cbb3bfba8e17b71631fac49ff0b37d775da50568a3b4243fcbde52a8eb3a966571ec8c6379f2c927f04dab69e39b691878d263f1e2c50c183080a2a2220281ee2b1df158acdb65150a8542a15028d2a4ad2e9665e23892dfbe1ce70a3fc4e1be24af5ce3d02b0aa8fa2ac4960f3d2ccb6169f526126eca4d5ed30816498a7773281813c30a4bfc28b811c192b51e37bfe2b2396260db6693274a6fd0a9e2e2791e03070ee294934f49b98965af88f47a54b1ef2a7a0947def828477edbf5c8167b2867def118ff6b76b1f64847173be5d45379f3cd37a8adadc130b6dfa4a669a2eb820d1b36b076edda2e2bf32dafa5a9b35c140a8542a150f40adb95170bd785dfbe18e3cb0d16671d6451580045430d4a479908a78e928444480d5dd3d135d02dc0f0110948546b380d92673f7478ec239f84b0b0aca4a525ed85d21bb4bb024a4712731c87fdf71f47282707d94525241008f0fcbf9fed52997038b74bf9158a9d01c330282c2860afbd46f3d65b6f609a468b78e5baae63dbc9b372140a8542a150287616d28a85a6253d469efdd465ee0a97e3f6b19932caa44f81443305ba21d13590c2c707bc044847a3a64ef0c1d72eb397f87c5d69605936b66d66e51ed655da555c3ccf279170d86bafd1cc9c39b34b9bf2d39c719a7a26aff8df20b919dfe2f4d3cf60d5aa95ac5bb71600cb528a8a42a15028148a9d9b2677ae9405a632e6f1b7392e8f7d9060cc0083ddca0cfa17e9148640135017976caef559b1c5e3934d92bab88e69da040226a699b4b2f4a6a5254dbb8a4b7d430303070ee2d4ef9fc6a0c18353d6167586844291897474b1912377e7a4934fe6a1071fa4b2aa92dc70f8dbae9a42a15028140a4556c8d4b690f4ba26ea6abcbfc267de32afe93b00b4ed6e66ba6eb47009f37d913a772efb7debb69ddd83de761597c30e9dc485175ec81ea3462185e8915fbe42f1bf40fa263fe9c493183e6c387f7ff821deffe0fd6fbb5a0a8542a15028143d424b292a6d02124b89f07d84efe3badd975f5c5c945d3d327c661d32f140e7bfff7da5fb575728140a8542a15028148a2c38e69869598543ee7de7338542a15028140a8542a1e86594e2a25028140a8542a15028767ad481103b29beefe1b9aeda5ba45028143b01eab758a1e81ae9a85296ddfd4397158ad628c5652724118f515d5dcdaa952b688c347cdbd55128140a8542a1c81a5dd7c9cdcb65d0e061f4edd79f5e3eca43f13f8c525c76323cd7a5baba9a655f2f61f4d87d282a2ef9b6aba45028140a85429135c21754556d65e9d75f110c0629ed5386ef671f1a57a1680fa5b8ec64f8bec7da352b19b5d758060f1dfe6d5747a15028140a85a2cb14161713ca09f3f5922f292befab141745afa036e7ef640821883444285696168542a1502814bb30e1702e2051be628ade62875b5ca4940821300c63475f0adff7d1753d7540ceae8b1002dd503aa542a15028140ac5b7457a5d29840068b1be4c9f12df53442fc6fdd077ede56f56ec50c525166da4aa725b5354893e65e53bec5adbb66ec1731c7ce1535cda879c9cf00ebb561ad717acaf4e5019714183a290c9e0d22096a123a4e4d3b58df42fb229cbb777785d140a8542a150287614524a9e7bee39befcf24b060e1cc499679e81697e37771ca4dddad20fdd333d7c4f241204023d8f98f6bfa06cf42619675c6f58475cd7a1baaa92c2a222344da3beae0ed771b0ecde5fc4bb8e83f05cf20b0b905252535589655958d68e5118a2099f173fab64feaa08a579018ac2161a501ff3d8521767bfc161ea63822d0d2e95f5096e38611825e1ec6f6ea3831f02cff3f8e73fffd9eef7c71d771cf9f9f95d698e42a15028140a4587ac59b3968f3efa884b2fbd94279f7c92254bbe62cc98d19d964b5b2b76057cdfc7300c9e7cf2296ebbfd76febf0b2f60ead4a9ac5bbf9e484384a2a222727242dc7dcfbd2c58b080375e7f8d92929eb9f63fbfb006cf174821bae75227259aae631a3a271c50d4a3ba3447d3ba6e5192b2fb639dadeeb1431417dff7d9bc692385058578ae8b695a08dfef7041de130cd3c4f37ca490789e4b5e7e3e9b376da2a2ff805e7751fb7a739407e76c66f4c07c8e1a534e63c227eaf8f83ee4876c46f5cf675b7d82afb7d470e8c83216adac61f996464a8615647f1129f13c2fe3578944022961d6acb35a7c1e8bc578f8e187993dfbdf1c7f7c2f2a2fde66def87f77f1fee01f72d50983b07a244c50f7e9733cbbb89c19df3f8472b30b9f9f329a8dcf3fc682a293386f6a450febb1a368af1dff6b756885a8e5d37f3dc1c2a213386772bf6f68ec76c27ef846f85f6d775751fdd42b885a3e7e26dbdfe56fb3cf7bf9da7e25f39f7c8a2543becfac834be97547f82ef56b0f49fd1f3ff9929b3acdba62c572060f1e4c6969297beeb9275f7eb9b853c5c5b42c84bfe31497e8ea35147ef139e8060d130f2650d085b55606d2e735addfb09ee5cb97f38babaec6fce5afda5d934522114a4a4a9052767b9bc2cafa3c0af2425801135f089a4be954a694e8868ee378d4d5c7ba75fd4c689ace030f3cc0ec7fff3ba950758269599c7bce391c7ffc71dd3ef32adbf57a4675aaa78bfdca2d9bc9cfcf47081f4dd789461b0986727acd1fb035baae130c8588461bd1340d290479b961b66dded4abd759be25ca43f33673e8a83e689aceeaca28b55117d797f842d018f758b5358a909231038b101224e0f7a203a3e7794d93c275bda694fe6cd6acb378fef9d9d4d7d767254f4496f0d4afcfe5d8c30ee5d0430fe5b4fb5612597e3fe74c399e1bdfab43f8b52c7ee75d3ede10a7c7ad1055ccb9e72e9ef80c8246173fa78a85cf3cc9cb8bebd8699fddb4d78e5e931f65fda773f96065a4fd3ed8d175e80e7e15f39f7a9c173faffde6c6ee9bec87f862fe3cf3484eb9f5631a7b2a2b9b31eeb0fc4e38fecde9cdbeea09adfaa9e9777052f277f0b85fbd4bedffda7993dd997b7e177e97b39d9bade7484fef89d6d7f67a610eba9b79e78927787569e38ef94debac5f7ba34f9aae95fc3f3e1b962d5bc6a851a300d86bafbd58b66c59bb0bfa6f82d75f7f83cd97ff9cc4238f52fbc0037c71cdb53d8e5c965ea74a29d1759d704e0e52082cd3c4b62d2cd3c4324d42c120b66db372d5aaa6fcdd2556bb9948dd3662914a9cc62a12a9e43456d3585f49a46e1b8df5db684cbfb6489544ea2a89d46e2556bbb9476d6fcd7f5e7c919c9c1cf2f2f3c92f286837e5e5e76359162fbff232d07dbfb71e595ccc1e282e55dbb6625a49b1beef23a5c4f705657dcbba2d331b4afa94b169c37a3ccf43d340d70d0cd3a072eb564acb7a7eed8427b8efdd0d1c34b28c4d3571741d6a230e9beae394864d4c0db63678941784d03069745c628ebf434e5b4e9b5ddb33c99d7df62c1e7ef8ef9c74d2899d5a5e96dc772d77cd1fc6f9bffe19fb9759d87d071288973168f060fae59b3d988219eabded3d5ef8d262dcefc792af75f5f36dbd58931d437bede835125ff3e055d7b074d6e33c3c2c37e35387167590d5bc71d559fcfafdf421a61ac13ec318337e32c79f7e0a870d0ef5eaf8ee4c74dc0f60170d66ccc46339ebbc9319d7a787cf338d307d070d6150dfdc9e6f1acc628c3b6287cfc19ed29b7dd51a9960c39c47f9eb03b3797f652dbe55ccc8c3cfe4d2cb4e61745ecb9e6cd94f71be4cff0edef033f62f0527308cbc9db1ff76243d9c7b9d91f5dc6c3d477aa15e2dae6d54efb839f8ffb377ef715195f903c73f335c66b8c828cae08d112f9837220bb492b0a475375dec176986d185455b8c5a5dac282a0d2b376b757537834a174b17b62c6a352ddba5add46ed8156b13ece2909719f332a67006e6f2fb63400199010610d2effbf5a2b19933e73ccf73ce79e67ccf7339674b27efabe6582c16f6eddbcf8c193300d0ebf5040606350a66cea6fd2face38a8d1b51ab7db0399d68d46ae28f1e65c7969538820cc44e9aeed57ad56a35870f1f262f2f1fa7d349b5a2b82699b2dba1414ce4c47523f9e1877399f87642bb2685b2399c58ab4e5253e5fab7aa6efd00be6a95eb867ca35bc7f5db72dd1d57a955381c4e6c1d39ca1fb8e9a69b78e79d775ad5e2824ac5f5d727374879dbb536f6e8d0ae623fff7c9c1aab95a01ec158956ad46a1f4e9eac624084c1abf5b595be6f3ff6551a090c0cc0566bc55fa3e1e48993fc7cfc383ddad975ea3f5f1f21521f82e5a4ab75e3077315c3f41aee983498608d0f6bb6eda7d6a9c6d525d089dde61a0be34dd74e1f1fcfd5697d30d43426aaa9a961e5ca95a7feff95578ab9f9e6548f83e73efbe42742af7e841b278d417beadd693cb2669aeb9fd63626de2d3be6f75fe71b4d1c7fbab047830be6d6bedfdd031777f9e8ca34fcc4c9233f43e4adfc29eb12026b4ff2d3de32dedb58c083a91bf94dee2ab227e97fb93fde6eb9298741b7f2a77be208aeade2f0de4f78fdf955fcf1fd6f79e285fba70e142e0000200049444154b94cd78e9f7ebf486e7ce2efdcd87119f0527738065bd08965e53cf139057f7d83ea845bc899dd17e7775b7966f5dfb897485e7a681cc1a70aa44939d92addd483a2e3b4e1d8ecf063a4c9b6fd42bac9f9da7d6dddba952fbf2cc366b3e1709cbe5a1f397244a3f11cf1f1f16cdaf43a5bb6bc01406d6d2d76bb8d880803a9a93775482f9bea6a0587c34e5050104ea793aaaa2a2cfff90fda575f455b3766dae1745265b7e363b773b24643ef8808afb6553fbe65d7575f71e4c811428202b8f7d66b1916d1979f0efe8462b713e4e74baff03e7cbefb7b96bdb091ddbb7773e8d021c2c3c3bdee2e66b539b8e39a4850c367df590809f0c56677a252c1d8a13a7a687d516a1daee12f4e274ea70a54ae6bc19a5a3bfa5e81ec3555b162e3b75ee5bb394ea7839937dc404a4aebcf14bbdd8ebd1d2d70ed1be3e2c558145b6d2dc70e1f26a4a70ea5ba1a954ac5cfc77fa6ffc088b3321532b832ddb75f7ff655ee25283818aba2101814c4e14366b40101f8f9797f67f5c36f7f26764828df994fe27080a1b71fb74ee877eaf3aff75531bc5f084e9c389de0e3a3c2ee70e2a38201bddaf653a86e618a89fa16978603deaaab1566ccb8a1d1726fbcf10656abd563e0525503475e9bcbaf5e73fd7f44fa7afe7ef5fbdc9eb296212b5fe3e1d1cd7ca9f600efad5946deab1ff163951a5dd455dcb26001d347f78023efb0e8b687f9faf227599b1d77faaea5ddcc8ed777a31df73ba2831be4afb5efd79d0b3fbdf900d76f3c84a5564dc8902bb8e9ee7bb9313ac475c7c976880f9e5fced32f6fe78713d023329e19772ee0e6f17d5c07badd44c99f1fe6b9ed15ec3b66057ce87d6112b3aef4e793d7ff4de97747a9d50ee0d29bb279f096b19cba96f5905fb5bbf47ab5ad5a8c1bee63fe331f73c80a68fb72f175f378f0f678c21aecc2bdf9b3b82adff5ef9847b6f0d4953d9a4f437d601b3284e88bc6a25301e3e299fc7fd3d89493c6138ffd898ba397714de851763cf338cffde773be3da4003d88bbaf8027a786e3d362999a79fb2f8b59b36d37c6230ae047d8c8abb821f32e6e88e9d9e84ee0910f579271ed37ec396247d3f762a665dcc3ef1307726a4e168fdb7270e4bf0bb969e1ff98fcb7e7997f5130aa9aef599791c63fc27258b7643261f5d58cbb72d00d21fac2185739c45ec6840b6ab871ee465efae22e2e9b50eb7d19d47ecbb337ddc61b973fcb3fe78f74e5a7a563c676988fd72f67d586ed7c77dc816faf51cc58b2823b86bad9c7096a76bfba9ca505ffa1c2e2006d5fe2ffb0924792fa9faec49b3b97dca6238863ad294f4ff9b01ff650666ef277c1fec665e538e9395fad39f7eaa87a8ce3fea29750fbf9b82e8caf8821a8ec7dee2ffb8c83b6710cf373534eb6da66ebc1e76f0ee663afcf0b2feb9a865a2a1b77653cb2cacd7e09659fb7f58bdbfde95ace63bddc5c997bca5b73e793bb74795337375d7fddbe5abd630f3f1e5500152143121ae5c1a9ece5adbc2779eef52f30d5f8d2276a04be161a8f3d69efb9d68c96caf58c32b9a2aaddc7dde1c387f9e0830f79e0819c16af99c68d8b63dcb8b833decfcd5d8cd168243232d25534b5351ed7e3494d8d95f7b66d23f0ad7f1374f204a127ab08aeae26c4df1f15e0ab5251e57050ed706001865f3183702f7bd9d45fab066834a8d56afef28759fcee9654944327d0ea6ac16a058d3fd69fb5cc9caac5cfe964c52b6fe357d7cbc8db5617a7c34980c6875d7b8ff361b985bebd02a8aaaec110a6458513b5cab58c4aed1a7a60b73bf0f1714da3acd4d8f15139d1f8ab3bbc878fdd6e3fab0f0d6d6decd1612d2e3535356803b4581505eaa2e2d03e7afc3b60aab8b6f0d768e81d16ce919fcc68b55a6aac0a1aad861aabd5ebc0e5a4d54eadcdc949c58e1a3595474f70ebe5831a2d336d6c6f8a3f31d3b07f9faf8f8adb26f46750efd6072ead39f09d4e67dddfe9c02520404b4080b6c1ff07e0f430c8bf215de2433c79f350fc51a1e9dd1f9f139e367e82cfff76170f6ced4beadd7fe50abd850f0b1ee76f772f23e2c5458cc781dd663f635c8ffde0365eaf0864fcedd18dba60b4f57dffc1bf26f3a6b1f476ee67c7dabf9277ef7286bcb4884b83abd9957727f7be0457dff108770d853d5b9e26efeebba87ee6efdc312a001c27f8f6935d1c1e7a3b8fa68e26c052c68665abf9dbae415c93f1071e1b1ac04fdb9fe5cf6b16927ff106b22fd4b698dfcbeafa3c9c915e6fb6850fa163af67de63b7d0a78703f3c7eb7972cdc33c39ea651ebff27410d077fa9f78f4b7fdf0454560df20f765e6ae0ef31bc06fe6cee41fb7aee5a5770f32f9da6abe7ae743f60d4ce7e1fb2ea497fd24cea1a1f838ab5a51a63fb3e7e32f300f9e43ee7d2308507ea4f495e7587567393faf7e8e39179c3e261d353a2ebded21e6843bf876eb733cfbf09d28bdd673cfc5c1a85ab1add0897fe49e849b58f4d81a12d7ce45f7af2514ec1fcf7d4b131bfdf0b7b61c7cb4c1f863c76ab5e3741cf3be0cda788e5cd643e1ab67ef6441918d89731e64ee681db5878fd1a3ffe959109beee3daef56b370c57b84a7e5b2eaf2709c872b393630b451057e66be5b48474be5d9d2f703dc9559758bf9ab57fbdd3fdce7ab95e7de692a7cfc1a1e0827311dadc5afff60423d1d1f759ad683be0e633bce0b6fceffb6948d873276ec6f3eddded62fadd89f6eebe51ecdd78fb5df7ac89b1b67a6cbcbbab9a9ba7df5d3e0392c7e600401d5956c7ffea9d379083acec7cbeee2d1ad414cce78985f0df5c3fcf926d65434085cda7baeb9e1b65c7ddd9489c3dceee3ce75fde7e4abafbee2a28b2ef2b0479a57515181dd6e6fd78d6270dd8c55946a9c4e27c3860dc3b4e37dfa7dff3dfe6a357dfcfd09f4f13955b52b0e078addcebe8404c67b19b454572bd4d458713a9d0404b97e57af888de6c7f7bfa4ec832fb87a6e12f64387f1e93780770b37312a6638932ebf9867dff890da5a1b478f1ec5c7c7073f3fff46d762ada152a9a8b53b3876a2962a2b680383b0daa1f290951f7faa2652afa6d6eea0b6c6d5eae2a382fd876a08d2fae0c4895263a7c6e6e8d0671876e7c1f91d38c6c5f5a0499cae27a4ba12de75a31bebcbcde170b43b2d966a1b5a7f1f4e2a36d77a9c4efaf4687c524ebca017132fe8b869e8ec36f751eee91617cf796aed14847e3d23183274e8a93b5b360f818be3e807fc7dd361c6def70c737ed51b3570c1bd87786fe6b36cfaa68acbc64d62c996494dbe65e3c0b6cdec09bc94b9a383dbf13e845c90c0a478d75db88bf43fb27df61bbcfd9d9571860f5853bc1f43fa3a725222f103c68d35a0ecbe95f56b3e62d69fafa467dd3a822363b93476241aa209dfff6f3e7c6110575f7b35e30281d17e7cbc75019f7f7280da0b07e3d3627e833ca6b72ddbf2434df0b0cb9938ccf5ddd1513abe7bf356367eb28f9a2b7b9eeac2a2e93388a143239a9cbceed3d01cbfbe17324c0b9f7e63a6f65a578b4df090f1c48f3b7d87d371f4bd3694691c132e1b8986715c76d90854a9bfe7c5bfef64e6e3f1d477d2ec93701bb75de75affe57151d82b6ee6f9751f73fbd849841c6bc5fe53f7e6ca3fde437ceac3e43e769ce00f2b89bb6f09898d7ef93d9483c3464d8d15a5f60487befb847fad7a9103ea51cc1cd5031547da5d06a736d3c23173e9f08f59f3f28f0c4a7f8145b70c6e7cd7b6baf97dac9c30719c1e5c76491cd1238250d1b44ff999f96ef95cf55c9e2d7e7f2ccd9699f3d876f7f9ab6d9c6abb877cb5b4fd71173aa9aeadebf9adf225202800df53bfdb56f6bef638f9df4571eb7313093d7567d9fdf1d1b41eac4f6bfbce8bd69fff6ae544a3fca87e765f364ecb872d9671d374035ed52fce632d6fcb5dbd7c698cb6d932f7b4dfdd699a2ec791f6d5cd4d050f8ee3f2f1ae3a6c6cbffdbc3ffb4dd76fcbc00f78e1ada30cc958c5fdb3eab61f13ca37af7fc8e7f56969e7b9e68edb721dde7c999cdaf76dfadd69ac67cf9edc78e38dbcf6da6becde5dceb469490404347383a60987c3c1db6fff971d3b76f0dbdf4e65c0800100f8a8bdeb7173fcb8858f3efe98909736d0e7a79f0857a970faf8e0a75653eb70a0a854a800bbd389b1ba1a9fa82862e66678b52d804387cca8542a546a35432223b9f5965b58b7b184c50f2d60e025a3a0ea200eab1d3feb4926cf49861e1afe7cdf235c7f7d321a7f3f4e5455e1acbbde3418da363cc2e974dde806a8526c046ad40cd287f2e3410b6f7f79842b463b89ea1f8cd65f8d526be7836f8e51fee309265dd81b7d4f7fec4e50ab54670c1f68affac1f92d3dd8bdfe26f99b5bdfe4da6bafc5dbebedb33ec6c5cf5f43f5c92a827a0463abad45abd572c874108d4683467bf67a0d5b158543a6830406069c9a82f9c4cf2708ebeb7d1a7cd52a6c7607b57627b5362736a7abb9cec74397aebaf8cd2b4ec0e16c4de0e23930e98cb9d36b0e7cc95e9b8d238ffe1f131f6dfc99dfa16a1c049d3950d07680f7b67c47d0a577322ab81def37e11b36943e9ce0a713366af67fce77b65012e2fa9eae88fdfa336e6c4f0a3ef89c033557d2f38c84f9d173800e94231cb33a2150057ebde81f0265c7aa7100f6d6e4b755e96d795b60e5c7ffaee1afcfff872ff71ea2da27087f2bf845b7a2cf682bcbac2dbc2b53403b8484b121bcf4e9171cac8d6f7e20ae5f5fc646eb5853fa15a69a49685bb32d0da8fb5c45d6fccddcf8d85bfc34e66e962686359e8ad45339ec7a84e4ab1f39f5bfbe7dc773cbe3d95c3bc0f78c0beaf694414be78812fc19dfd6869210d7faa9a1b5236671f345dbc9bb73265f4f4e66faf4eb9834b2d7e90abc997cb7ea5cf5509e2d7fbf79d6fdadcf9fa77c79defe4f94e6fe8e7bb6d7774119cb9fdef82bf1c18053e1bbe287b8ebaffbb82a378fd4610d2edd3be03ce99cbae6249fe55ecb8286f9796d9edbb2694b199fe65dfdd2d66d35ac978166cbbcc5e3b9155a757c7bb9bffdfa0c23acfeb7e5c057fce80865e245eec703b6f75c6b8d33cab5753969c5efce99468c18c15d77ddc5c68d9b78fae9a7b9fefae944460e72b3341c3f7e9c0d1b36505d5d4d464606e1e1a75b3dbc7d0c46787838d392923874d965d47cf00107d7fc1d3f9b8d6abb1d87d3494ddd80fc1faaaab00c1840cc830fa26dc7b5664444c4a98bf38366134f3ef9048f3fbe94454fe67145f4507a6b34d8aaaad01e3bce715b393b76fd806ac0281e79e821fcfcfce85977dfdaabeb2e9513bb0306f409c0d0c71f9bb59a23161bd535766a6c4e6c765777b163276af9baf204bbf69ec0c7574de5612bbbf79de4e261d033d8afc30397b33d38ffac3fc7c5cfcf8f3ee17df9c97c90c0c0406c361b414181ecab3462183ce4ac3c5dd566b3b1afd2484080d615b4f8f872e2c449fa0e18d0ae66cbd0203f4ed4d850ab5554d7dad0fafaf0d5be135c18d1a3d9e5ab6aec1cafb6d32bc0178d7fc7cff7d1d12d2e6de2040822e1c195ccb9a0e1bd3c15da3ebd9a9ddda476df3b6cf93e9809f34611dc8ef79b52a97d51e3c4de8e93d5c7df17150a76a7135081ca178d8fab3fa9135a95dfd6a6b7a56dd57ebb8e7b17be883a298bdc7b47d1db69a4f8a18779a715f9686d1a4e2d7fe0732a14081fa1c78f8e9bfbfd1457a75ceab3daacfae8be2d01bee33815a57ba84105bbb7b2fdc014a60f3c7d6e7b2c8721e93c71772c3aff4042c2fad13f34a07366e369e19851fde0c501ab1dcaac95af12ffd1ebbcf88ff53c72fb0bbc786b1e7f4b1f49a0ca4dbe5b73ae7a2acf16bf6f693ead6d99d9c643bed41eb7df9fc091cb59717dad2b993e3aa20200a7c2f7afdccf1d7fdbcf558bf35830b1f1c5615bcf938ee4f9fc0f60c49c26f9e93994787765e3c5ec415ed72f6ddc56d37ab9d932f7743cb776431d58379f91079f0679a8ab9f9c9ecaa1bde75a6bd2e4e5ef5d8bbf716e040505919272239f7efa298585ff203b3bdbedb5e1f3cfbfc0a04106aeb9e69a7677116baa5770305f7f5986d66643a356a376e50287d3c937274ea0c4c430f6be6cb4bddad7e34555d75348a552f1cdeeddbcf5ee3b3cb670212ae0f1a54b59b264113ebebed86d36eebfff3eeeb8fb1174cd3c33c69b0909d42a15d5b57662a37a12decb9fbde66ade2d3b8c8f5ac58cf8fe0c0cd3a2027e3c5ccd87bb8f11d92f98d80b7af3f55e0b5b3f3f4c8f407f268c0aedd0c0a53b0fceefd0e7b804f7e8418f101d4ab5824aa5c2e170a0d1f8f3e3debd9d322d70434ea7937dc6bd68fcfd713a1ca8546aaa15055dcf5e0405371f60b496af8f0a432f0d35363bd61a07037b0550f4d1212c5567ee20a5d6c1979527f9e188951f8f59a9b5b53d78f0f33bb32f7843a7671573b8fd6bb85c47703a1c3801ff7ea389509fa4e27b15fd2223893cf53788bec1cd1d37b5ecfbef1beced3181a92383daf1be67fefd2f62b0ef113edb79f0f4cdf3dafd7cfcd931fc06c7d0cf7391ba5f6f8bf9f52ebdcda9327e4e2523b8697612e34745316cc448221b1eba2a3f8234a058942677cada98869a4ab6ac7a89fd7e97704342b8dbbb7e5e9769ed013e2bb3e03b6834e1ee9651be67fba7c7f11f1a435fbfd66ecbc1d1f757b2a4a417bfcb7f968ca15ff3f4a3af5279fa0b9ecb21d8c0a831631875c11006b63268f1a60c5a3a66fcfb8d21427d844f4b0f9cd9d0e3761f03ea400c97ddc03d7f2be4a9e450ca5f7e896f14f7f96ef9d8f55c9e6d3fd7ebbfe7217fcd71932fcfdbf72364480c97c4c6121b1b4becd828743e4e4e7cb68abbfff63d13729fe2ee89614deecc75ccb9da39758dba99fc782a9b369631ded72fde6ceb340f65eef6786ec26dbace4eddecdfef22227d8f50fa41a5db4936db7baeb599a77aa2830d1c38b0ee1e53f377981c0e07274f9e60e4c8916e83965a2f2f667f361af962c1dda8b66fc7dfe9a4b6ee3ae4586d2d5fd8ed68526e64fca38fb43b68a9577fdd7ae5150904fb6bb8e1969b79766d01c5afbe8a5eaf2772d020424242f8faabafd1858474d8336c9c4e152a54f8f9aa19a40f64f88060c65dd0935957f6a75f6f0d36bb039c30203480111141545bed1c3c6aa56fef60faf70eacbbe6ebf87924ed763bb535b5adfe6bef8346bbec392ebdc3f4545555515b5b8b8f5a5dd75fca81f9e001c2fbf5f77abd2d311f3c5037b0c55937bf762d3ebebe1df20c17805f8f09a560bb89de411a2c553622c38279e095ef19332090f8113dd107fbf1e3112b5f1f3889afda078d9f0a5f958a20ad8df01efe5e771b6bce59ed2ae6134c9f6038f4f17ff8686f04f18609dc36358c3ffee35e1e52cf66dad87ef8571de0876383b926693441c79acc2a66fb91b7dfac44177f0f231ade4aab6de3fb2d50f7bc8cd9c9fd99bbfa3efea4c9e09aa150b1f9690a7e1c40ca8397ba6692f2823ad4737e7bd8bd4b6f7302068ca22f2ff2cf82d7e935398a5e6a13fbaa1a2ce0df9fe8485f5edbbc9a97465d4f14668ef4b9825f5f70c4731a2c7bf86c670881b6931c36ee62dba657d8b637945fe7e6f02bbd8fdb6e526d29d39fde7b9ee72327131deee4fbadcfb2a6b23749778f6bb4cc891f76f241693541d67d94befc0cff340de2e647e35ccbb4625b8ee3a5e43d5142c8ace748197d013e0fcca6e4d67c1e7f3d9e95d7f5c7d7cb63c7136f8eab168f99d009fc2e298c796b16b0d03187a9d161f89e3073d27025930637bf8f137b7fc6bf3e82a151e104d41e64e7b73f43701f5cd767cde7bba574049d68a13c5bca87bb32f394bf265dbf6b0fbcc36b6ef2d56239368d3ced07d8faf4bf38322a836bfa1e61cfee237509d2d0db30883eea8e393e3aabae69aaa5b2696d19d7f3ba7e19ddf66d9dce44f365ee296f67f090aeb35137ab7b5dc69ceb0730f78505e4386ee7ba4bfae37fe24b8c0dcaaebde79abae96c9c2d25caed6f811719acfb8d77e7b3cf3e273a7a8cdb9604b55a4d5cdc383ef8e003a2a2a29a5f891737510fbef30ec6554f1378e2042a950aabc341add3c971ad16cdb8382e9a3e1deb773ff2e698788e1d34b95d4fcfbee15cfc97c7e83be5ea566d57ad56e37038c85e70378f2df9135bb7bc81add6c6a89123a9aaaea64f9f3ed4da6a71389d1ddc93c8d5da536b73d2bb871ff1a342f1f351e37082dde1a0c6ee40df5343ecd09e147f70904fca0fa30b0ee08462ebd041f9f5ba62707efbc6b8b473670c8830f0c377dfa256ab71daedf8f9fa62397a94de61fa4ee93266b3d9b01c3b4650600076bb6bd6059bddc1e0c8211db68dd1038219d2e718e6e3769c4e15e663566207f7e258550d2f7f7c0887d3499f602d811a153f2b35f409f6e584d575b075f431e5ee392eee966b17dffefc26633aef2e2966e5cb57326ec11862fff8347f0a5dc973affd99fbd7d9c147c790c43f30f1b7a309aadf6e7d3781caffb0759f8e09f78f68d405a0adefb74815c898b94ff144e03256ad7d887f9f84e0c878d29e5cc02da3dbf1a045550f8ff9d57a9bde66f847ddcaa3f30ff3c4f3cbb9e735d718278dae3f630c750f18538772e582bb295df814cf3cf43ef8851177fb181202dda5c187a0d060f8601d0f65ad0340db670863c6a7f1d863d3b9a2a50750b6a14cd5fec7f8a0209775471c68fa8e65faa27bc9b838d8b58cba07432f1943ef6d053c94550bf8d167e455dcf1b7bb983942dbca6d59d953f417de600a2b660d770d248e9cce82e9af91f1ccd37c70d5622e3dd271fbc29b3238f53f2d1c333dd4c15c3c2f8fc77baee099571ee7fe0207680770e5828bb97268df66f7f1e56376f3dfe75fe4af3fd502bef48a9a48e6c3b730cc1f6abf73936f8fe918c6c116caf38a9e2de4c36d9979c85f930b5ddb61f7f982366e5fa9a4f47b27b69a3cfe38a7e10761dcb0ba880cbf0e3a3e3aabae69c273d9b4be8ceb795bbf5c3d26b2cddbaae7ae3ef798b7a637523ca4ebacd4cdaa40c6cc7d9a153dff4ade86e5dcbfde5587e9065cc85583835c2dd6ed3cd726d0f877b345eecac49bc0a5ee37be390e87832fbef882993367425d1ab76ddbc68e1d3b888888e0baeb92090a0a64fcf871fce52fef73e8d021c2c2c2bc48c4e9ed9ddc6b64dffaf51cdfb60d2770d8c707874e875f4404bd2e8c26fa924be8396c186a3f3f8a936e66f4e8d10c983a0500bf6191f8f4e881f59b0a9cd5aee6bb7ddf7dcffbf3ee27b995810b9ceeeeb5f0a10701b8edb6342a7ffcf1548b8c9faf9febfad6cbe7b634a55281c301b53607b5b50e7c7c55f8fbaab1d95d0f957438c16e73e2e7035a7f35bd827ca9b139f1c5c680507ffaf6d460ad71e0e3d3b1179b677b707e6b638f6687cdcefd7d7acdd2279679b5e17a35562b3f7cbbe7d4b470d5d50a83860ced9481fa56ab82f1bb6fd10604e07438a956aa193c34aac3a762aeae71f0e7ad7ba9b5a9f055a939516d2338c097408d2f6a958a93d65aacb50e427bf8d33348c5e03e5a1286f7f43888bf29a5ba8acf3efd8498b11713def7cc162a8bc54241c15ae6cdfb438beb5ab9f2afa4a5ddd66c3fccb3a3963dcfcc22edf5589e7a299b98006fdfefaeba437abb380d6e9eb970f675613928bbf8f30d73294d7a9ef57386b461b07447e80ec7e02f8194d3d9d795652efbbb23949797f3c61b6ff2873fdc45757535afbcf20a9595955c76d9657cf965996b1cc4cc99f4ebd78f8d1b37a256abf9ed6f7fdb681db5b5b56cd958ccafa74ea3b6c6f3f35caa0e1ce0f0871f72c26c46151c8c9fae2781fa3082c2c309e8d307dfc0c04617d085ba482684f5c776e827fa3ffe20faecbb00a8f9f607beb9e82a1c27aaf00debc38e43fb9965f9a14d79773a5d33e5eedbb78f3beec8c4e174101010c8cf3f9fc0cfd787679f7b9601fd3ba617d1c2972a7968e670427bf8e17a689d1a9a760274385d57ec4e3547abea276f5251a5d432a0972fc714350bd7efe6b114ef1ebed9944aa5e6e5575e69f3e0fc49575de5f54df3ec7b1790f7cc9aeb71cdaf5955f777b2c1bfab01a5c306e737e5afd1d07f6004fb2a8d389d4e8275ba4e9b5d4ca3d11210dc8313160b2a958afe11864e797e4c80bf9aec6b22f9f3d6bd988e59090df447ad5671d2eaeae7a856a9f0f1859f7eae66443f1df1c3746d0a5aeaf9f8a871781881575d5dcd638f2d69713d676342048f6a7ee0ad7f1fa457c2142e0868c7fbdd5577486f77484377d015e5e038c98fbbf75059f64ffe7b3488b818fd590e5a90fddf5a524e675f5796b9ecef0ef1e38ffb888818c8fefdfb79f1c517e9d9b31777dc71073d7bf6243e3e9e7ffffbdfac59b386dffce61a860e1dcabbefbe77c63a4e0f19685960bf7e045e775d9bd278f2d04f00845c3785fd4f3cc54fcfbfc8855f6d437bf5448ebef606d6bacfdb4aa5529dba167ef4d147f8fc8b2f489c348992b7df26e6c20b7174e08319837b86f3bf9ffc09ab05bbddcf35b74d83d1a7f51305d5cfafe0e7ebeb8a619c6077faf3fd49301eacc547dd81e39abbf1e0fc0e1fe3d250704808c3478dc66eb777fa45f4c00803b67e367c7c7c3aa5bf5f3d7f5f15395323d9f9c3cf6cfaec10078e56bb9e06e4007d882fc3f5415c7141cf363d74b229b54a8dd3cd74c8bebebecc9a9582dd6ef7b893eb3fefcae0a5e6fb37f98f299489d744a16dc7fbdd5577486f77484377d025e550b38775f7ddc99663bd8999f910775d72b6e7a992fddf5a524e675f5796b9ecef8e71d14531bcf0c23abefdf65b2ebdf452e2e3e34f5d5ff9f9f93165ca14468c18c11b6fbc417575359326357d861ba87d7c5a77c7de4bd6ba6e491f5f7019a8a0d7af5d69a8321f3af5597b180c060c06c3a98771de76ebaded5e6753e11a0b3b3e3982cddeba87483a1ab468a89ca0f6f543e3e320614488876fb59dcd56eb6a003a4b5a1b7b34db556cc1fc3b6b16e53edacc47a2b329d555ecfaf20b2e18398afe03cfec406cb3d9b05aadad9acdc2d7d7178d46d3f52d2f42082184382f15bf54c89469d7b5d855acad0a75910c6e70ff3d70f850c6efd8ccf1cf77f1c9e4e9a7865a7c8fadcd5dc5ea9d1e53ec3c356532b85a643af326f9f92877d1832c5bf154d77515139dc3d7d7570211218410429cf794bae8c4af772f2e7ef3450e6c7c932fe6dedd618f83a80f4e9abe8a8ed7bee7b8f84ae0d255542a156ab51a45713763bc1042082144f777f0c07ed704419df428bf2a9c54e164f8e30bb1db6c1cd8f601fa59d7a31e1679ea33f1cbd0dad8a353c7b888b6f3f1f125bc7f7f767ff315da002d7dfbf6472dfba3d3d4d67afb043021ba5e4d8ddce010bf4c0ebb0387a3e306388beea7baba9a4f4b3f64cc85633b655ffba2e278ddec5b03937f8b26b417e30b9e02e09db44cf6eff91600bf4e7838a3e878ed7b8e8b8f7445ea2abe7e7ef41f309080804076ffef6b3efe6047c73c48f217a8a5b9c3c5b9cbdfcfabc78f8b5f381f3ff9ed391fa9d56ae9a27e4e5231e6c2b184858763eb849b84ed314ba30000200049444154e1c1c1ec39711c05277fe91dd9ec325a5444f5ebd7e1db161dafb5b1878c71e98654a8080bd3131edeb7d5d3080a21841042b45927f5a672e27a164a67042d00b185cf7072ce7c8e99cc6e97e919aee79267daf75c427176b46b3a64095cba9edd6ec7de81f3840b218410429c2b82265ece94f28fbb3a19a283b46b70be8c71114208218410429c0dad8d3d9a9f554c0217218410420821c459d0beae62be3e94959575688284104208218410a2a9764d87ece3e3c3c851a33b344142082184104208d1d4a73b3f6cd5726eba8ac9949442082184104288ced7dad84306e70b218410420821ba8c0cce17420821841042747bed9a0e590217218410420821c4d920818b104208218410a2db6bdf03285b39259910420821841042b4476b630f697111420821841042749976761593e990851042082184109daf5dd3210b2184104208214477224d2be7a9aaaa2ade7df75d9c4e675727e59ce0743ab9faeaabd168345d9d1421841042887392042ee7a9ad5bb7929292d2d5c938a7bcfaeaab5c73cd355d9d0c21841042887392042ee7293f3f3f696de96076bbbdab93208410420871ce92c0e53ce6703850a954389d4e79eda0572184104208d1396470fe79cae170c86b27bc0a2184104288ced18d5a5c2c94162e65655119e8f5e8b45ad0e818131f45e57603d9cb13d19ded14956da6307f310f145540540acb1666903c35faaca7a3b3d8ed76542ad5a99617796dffab1042082184e81cdd237051cac99b3199a564b361fd12e24e45062636674d63f1ae79cc83b31e30e8a2a73237db4c51d102b82d9bb4a986b39c82ced3b0a5a0ab2ff6cf95572184104208d179ba41573185d2c5337860672ccb57cf6d10b400843375c93a164659b07455f2eaa7b7d57655023a8fc3e1c0e9747a7c3db8ed69e64f8d6350df5ef4ecd99341e3aee7be97bfa1ba7eb9bd4f13177e35af1cf4bc9e2e79adfa883b06b9d2ddab57e3d70befff92aa1f567145df5fb1fe8003e7eebf10173e95578e79bfbd66c7b828254c0f0d2532b51853a30f2c6c4eea474c4e194a9bf79c42d98a24468486121a9a44e1a77924f49b4ca109285fc1f87e491477e40963cc637cbfc9149b5a5e5408218410a2b3747de062dac2e2fc4a348973490c6fe673ed706665c49f6e6d51ca29ccc924332b8bf4a40426a717506a01b0505a904e4c6828a1319914972b758b1793357e04d3f34a5dc18fa594829c2c32d3934888194f526e0926144ca585e4a48e677cfa664a722713191a43d6f633affe2ca5c5e4a62610935e4279492e4931fd08ed9740d666138ab198acc9918486f62321aba42ed852301667919a9a454ee67412c62791db70bd4a398559e964ad5841565224a1a1a184c624909453eabaa06d36bd2ee57993891c914e891717a9f517da9efef616a6327eda4acc931e62c3875ff3f567efb0fa361d9b674f24b5706fdd72002dafab6bfec0095cf2e777f8faebaf1bfd6d7d680c9ab0293cf6dc434c08391d74b4779bee1cdf92c9ec4263db775473940a8a0b76a07fec5dfef7bff5cc1a359525ab17127faef4611442082184684697072ecaae6276025189516ebb82e9a2a371c5342636cf9e41d1986c562d5fce9a0dabb9ae328769a90518d11197b68a55d78580368a31c35d4d245a431486d8852c9f1b870e23855945e8e72d67d59a4dbcb57e0ae69533985d6806ad0ea5ac828a5d4594c5ce233b259e285dd387092aa0d3632ddb45e5ae62b6589259fddebb2c9b50c1daccd9e41443caba2ff87c7522c6b539149403a66266679660c85ec29255eb5936a1829539c518ebd6b73d67064bad192c993f9fe5ebd7705d08e81397b161491c5ab7e975852edaf0080c867042bc78e6618b2d08c7fe434ece160c8fbec9f37fb8864b22f4840d1ccda4dfff8d171f9d84b5b48c03f52d0d58d8be3295f1fd7bd3bbf76026a6ff83f26ad77a8e6d5f41eac4c1f4eedd9bde83c793ba62fba9ef1dddf697c69ffd651b079d4e1c8e1f78256b1a170dee4defdefd1939319d822fab4fa5efe8c77f67f6c49175df9b487adec71c73930f004dd840f47a3d616161a75f354e1c0737f3c09cc56c3beac00938eb023087c3c1b1d202d21b6c63765e2947bd697101d0843029259a9d0b669357ee7e9f58b6af2035a12e788d7495d5198d1c4a19b99393585909bb16273139a70cc5bc999cd98b6926cec6525a407ac288ba7526905e1fc037b7fdd2bcc6cb16346c0daadbc7fd42090d8d2421bd90ba7b031ed26da4382b8998c8504243fb3122219d82b2066b749736631e099149e4644d677ccc0822fb4592905e706a7b42082184383f7579e0623199b1025a5d2b6e1797e79353a22339b16eac897638b3b2a7a0d9b19415a50aa02576fe2c222a0a28aabb4052ca8a314e49c4002865f9acdc696647d10a56ac58417eb185a809b168cc1674d1f1c41b40139146dad4a9cc5db58ab9d14dfb8769d10d8f66820134512964244713ae1b4e725a2c58754ccd48262e5c87213185688c949915d046312539992986ba404aa7038b118b022865146fa944171beeea89a61bc3d4e160ae709589fbf49a510043f21ade7b6b09715e7463abbfc86e38d6a5e16bd59745ec383e865b7e33b0c9e7fe44fdfe055e7df23784030e8713ac7bd862ba8667bfaaa4e2ed47d1bf7d0f0b361f04e35a6eb86125d61b5fa4c26c66cf6bbf87fc1bb8f5990a1c3ffc9d9933ff8a32f39fec3974888ad76e876767724bde6e2c250f72f7dbc378f2fd4398cd9ff0ece5bb78e06e57b0e738f80ab7cf7c10e3ff3dc3aeca4354bc760bc79f98c9ec570e369b8ffa50c25d3e4f7f5ed7e2e27080e95566dff00095fff72cbb8c66f6bc762bc79eb881db5f35b95d8fe7312e5a0cb7ad665562390fcc5e41597317e0c60266cc588192b281ef8f1ce1fb4d19903f839b9b463ada6816bdb5898c080d13d67fc3176be2ddf7623415933e2387cae4d5fc6fff11bedf948665e90cd29bebf3652a267dc6522c29eb5cdb5f9f48454e2a39a57589b556b0c53485d5dfece7fb7797a02f59c0822d268fe9b694e4905512c5f28f8e70e4c8e7ac8edf45ce82baa0bd85b4598fefa044379fb7bef8861fbe5943d48e1cd7f68410420871deeaf2c1f9daba560dc5a2d0d2f07bd3ce1d545a75e81b5ca9e9c624329c57d9b9cb0c7106b4d1b79116954f7e4119d9cb87b3f3550b53b35ded35d68a328cba6432e6a771e6307b0b1a40a3d3e0b9014383b6c9021aad064dc3910a1a5702ad00ba38e6af8aa67c731eb93bcc588d96fa4fa81f3863a9b0e00abbb468341062d0a36931bdedd3b045a26137a9fa574531739c3022c29ca72fea9b59ce75e53f8cdbef9ec9e81ec0e8df70cb987b7868d731769bd7b26bd83d6c9f7331214e278cbe85c5f7ac25fed9cdbceb7ccdf5d9ed97d0c3e180d1b7b2f8eee7897f760b7b9f084153b9837f16bd82ff3593b8e4911dae8b5d870353c933ecd0ddc296399713e65ff7bdbb9e25f199120efedf8de81ba6af2eddefdf3a0c7dc3cc8f7e80ed6fff8128475d3b8bd3d1284f074bf2795f770b5be65c4698c695ee47ee7a86c4fc124cd7de88beb972a0a5e0454ff2aa556c1e7f33b3974ee0dd45c31b7d6adc5c405954361fcd8d739d05d1692cc92e607cfe16cae70e6778b3ebf4cc5492cf0e5d1a6f65c413aead5be7fc7c26e697604a9e45c39e99a61d05ae65d3eab61f9fcd86b792b11ab4b89a41a2c8c89e45b40e889e4a5af40272ca2c5498dca7dbb84c87b672078545c568a62412bbe4230eb4266dab01cd186e4babeb22aa8b25390a16975920b9b9fea442082184381f74798b8b2e2a9128c0b8bda2e541ca5605b0606ed8d745ab430368eb07d1339ce48c31988bf3d961dc4e31c94ca88b8714ac588d255434e92b633175621f14a59cc2f4c92c36c793bd641119131a5c426ba348cb1883797391eb2ebca58c12732cf3e745a33d0be9f53456c33f2482302c982dcd7c5e6dc274aceedf384113424448fde7fef86b00e538872acca01f4a5883ef860d8b4063d98df11b779fed41b9782945f957a1bcf11829f1c31934e61afeb0b68c6aa793631587b0563e47e2a070c2c35d7ff18fedc17abc025375f3634e462fde4c6969e9e9bfa25b18569f76574170aa979717db68697ccb29baa92c5f9d82b27236398dfa7529982acca01fde28c0d24719d0582a5cad735eb05498b056e633b17fa8ab3b566828972eaec06aa9c0dc649d16a319c2a31adc14d0121e1d8da1fe5e824677fadff5c1bbf538660fe9566297b1617522d62db9ccb87430fd474c26b3aefb99c7b459ebb6dfe4068152f72784104288f35397072e0c4f217b9286e35b9652dcecd86585f2cd9b295740171b8b9e0a3697351cdc6ec1aa89624aece93bb18629f39960dd426e4e11baeb624f75a5d1458c417f7c0bb985e5a72f802c25149474d0a0e966584a7258501245464a74335d7ab444a72d2123d644d1d215e415ec24f6a90dccaf1b9fd399e96d698c8b66e80d5c1ef229cfbf613ce3f3f2e753b830eef76cafaa1fe3d2787dae86183f7a0f0d017305a606df375754620d19cec0e13a3057606ef03d53792556dd50fc4de558862ee0efaf7fc40fdf7fc1a60561bc917d2fffdceb206458189aa139bc77e000fbf7efe7c08103ecffdf477cfcca0246f937931f2064e010060e1cc88001035caf7d7ad47d7ebaa5a43e08733a9df4181a8666580eefd5af7fff7e0e7cf3311fbd9cc5688de7726b892e7e19ab3360edec1c4a2ca75bdec2a374602ec7dc6059738511ab2e0a9d9733dae9a2c2d1442de4c323473852fff7fde77cbe319ba6bd2075061d981a06340a6505b9e4353770e6140d7a0fe9d69a2bb04465b3fead2f38b0ff7f6ccdd6b379c1028a8c2da4cd8b315b4208218438f7757de04238c9abd693a2dfc19d3332296c189460a2b460293bf4f10cd782367a3ed913e0eda505a7c609184b8ab0242e24a5615f9af044321261575914c90daed0b47119648c815d0f4c645ae60a0af272494f2dc490e8fab215b05a69cc5a979e53177456142bb8fed360b146ff5337bea66e85d6e33b282a29c7585a4cfe1623584c54ecdc4eb9626173662625ba7862a30d841b0ce8cc6594d5b5a8b4945e63612a09937328f5e236744b635c1c3d2e2527f74abeca4e26eda93729db7b1073e52e4afe7a1bb316ede1b2fbefe7726d93b1210dbe8fd3c9c0dfdcc2e83dcb58f8c22e8e3a1c5876bdc0437fdec3b099bf21fed7a98cdeb38c87d69661018e96ad65e1b23d0c9df16bc2de5fc4acebe7f1e21e05877f1ff47a2d1a4d08211ae833f1662e3ef4140b9f29c50c541d2c21fbb7e399fa67d79d7cafc7b8384fe7437fd5cd5c6c7e8a85cf7dc2418703c5fc5fee9d3a8edf2efb8a2aafc6b834a4256ee17ae6e9b6b076d7e9770d536f23ba62293905aef2b0941590b3b482a894295e751303084fbc8d58d30a72f24a31018aa984acc9173179e9995330874fc86082a580dca2baed97e6b320a7980a8de72822c243baf5db739891944961b902da70c2f51ab49a10749ab6a54d0821841002bac1181700c21359f5d187242e5ecc8ad41816138ec110815e3f9c29f31792762af83090b67e234ad602664fdbce98281de85258b77a2a8d7bbeeb48cc48614a594a933bcbc399bf610396cc2cf28b16b3336212f356ad21395ca17cf30a0a768295a52cddac67fed4e150b699e2fcb5ec0258bb943cc32c12b4a5149481555b40414904c9119514e5ed042b14e46f2622258a8aa202cab0425e3e3bff94cdbcd85456de3c8d8adb96b06cfe548a53b7535c91cd94780dd6d8708c2b7259b0f67883e0278adb36bec5f27877e9752da598cd5418351cb7d2e6e7ccb434c60560c08cd56cedb19c3f2dcf2669c921ac40c8d02b99b16a2bf75f3bd0f5fd06d3213beac68c385c2bc131209dd5eb15eebf6f3aa3ee3b0e21a3f875e66ad6dd3104274358bddecafdf74d67e4fda73f5b9f39943e2c67d527593cfcab21fcd1eada66eaeae54cebe3c0c90c56afb770ff7de95cf4f021208cb13396b361d1c5f8d7b5b0341de3429359bf1a7feec4e9709cea2ae6743a71f4a9dfc6ef18bba8e136c6a2713a4f07396e5e5ba48d267bdd424a2e5d7c7a862fc35cd66db0b260411283171c8790314c99bf9e0df3bd0d5b80f059acdf60216bc1cd8c7cc00ce8894d798a8d4be2ce3c5cc29359b3de4866fdf6f5b1a42cdbc092382d786ae0f390ee7056b17a67263913fb73a71542a22691b67e55ddf1eb216de69ddee75908218410e72c5533eff9bdf2e23f6aaefad535673d31e71f13c539f9e8b3173578068782697b3e99c5b1ac5fee61c6a876fae73fff495252124ea713954a25af1df0fafaebaf73e38d3776d21e13420821843837fdf7df6f70fdcc9bae07aa81aababf930dfe5d0d28dda3c5e53c652959c052631aef369a4c4d4bb8418f215adf69410bb4aec5455ebd7b1542082184101d4f02972e64319aa9d892c382c265cc9b1a8b4103968a2de41798495ed48e2e42add0ea99b044ab49790a21841042741e095cba90216d1d1b951c162f9ec1a5775a4113c184e4f92c5c329fb8563c8fb3bd1c0e479777af3ad75e851042082144e790c0a54b85133f770d6fcd3dfb5baea9a9014e072ff2dafe579bcd76f677a410420821c479420297f354626222fffad7bff0f1f1e9eaa49c13ec763b575f7d7557274308218410e29c2581cb792a2222825b6fbdb5ab9321841042082144ab748307500a218410420821846712b808218410420821ba3d095c84104208218410dd9e042e420821841042886e4f021721841042082144b727818b104208218410a2db93c045082184104208d1ed49e022841042082184e8f6247011420821841042747b12b808218410420821ba3d095c84104208218410dd9e042e420821841042886ecfb7ab1320bac6b66ddb30994c5d9d0c718e1a376e1c0683a1ab93213a80d415a233495d2184680b6971394f994c26c2c3c3bb3a19e21c241722e716a92b446791ba4208d156d2e2721e33994ccc9933a7ab9321ce31478f1eedea24880e267585e80c52570821da4a5a5c84104208218410dd9e042e679965732a2346a4536269eec3328a7353191f934a8972d6932684e8520aa6d24272a68f27267d3b5205082184108d49e0d2014c050984868e206172124949098c080d25b4df78262725313921867ea1fd48ddeeba0cd118269098184f84a6fedb0ac6b2fa81af3af4545061964b16217e192c9464a552686ccf3a4ed701da7003545460ee90b409218410e716095c3a8085681efbf073de7b6b139b36ac22390298b0848d9b36f1d67b5ff0cd8634f4562b00dae8b9ac5a95c6706ddd978d45e414195d77577506a263f55d940b21449b9936b362ed165616947bbf8e537580169d219a5819ab2c841042344b02970e101e9bc1ac5391c8997413324839ddc4729aa59415b373d8d9a0db98c6fd6a8410dd4c79f11634b1215414ada4d49b86d2e6ea800e4b9d104208716e91c0a503e8a2a3d1795a406b206eb8164ca514e7a69210934a8962a1b4782d25e556ccdb97929999d37c77134b2905395964a6279110339ea4dc12ea3b9695e74d26d2dd78192144e7524a29da3585e54f6533c65cccca334e4413a58559248486129353860298b61790393e94d0843c8c78a803ac562a8ab348880c257444122bca1a44454a39853999646665919e94c0e4f4024a2d706a8c4cea78c6a76fa624773291a131646db7485d218410e29c2081cb59a46875e8ad15ec322b808eb8b425a40d8790f86c56ad5ac2ac33ba881829cc2a423f6f39abd66ce2adf55330af9cc1ecc2fafef011180ce184c82d5a21ce3acb8e57212519c3f059644f822d2b37d3f8318de1c4cd9a4fca9806efc4a790911851f77feeeb006b5921259a34367cf42e0bf53b589a5b822be630b179f60c8ac664b36af972d66c58cd7595394c4b2dc008a0d5a1945550b1ab88b2d87964a7c413a5d3485d218410e29c20cf71398bb4bae1444fd04341eb9657caf259b9d34c62d10a2a002c16a226c4a298cd288463485ec37bc99d99622144f34c94948c21658916d092989d46c4af5752543e8bf9c31b2fe94def4f4d741a1953a3d10253122358bca50213a02bcf27a744c7fc6575118e7638b3b2a7b074c6525694a6b03c2e9e78031469d2489b9a886eea54d772d15257082184f8e593c0e52c6bcb18166b4519465d3219f3d390f1ba427423e5c51496ed40975e52f78605ada682fcfc523296c77915ac34d2a06544abd78262c1aa8069e70e2aad3af40d36a01b93c8705e65e72e33c4e9d0001a9d46c6ca08218438e748e0d28d2958b11a4ba8b0a461683088c66252d085cb287e21ba8642e9964ae6af5f4f7c83f3d29897c0454b57b263d17a123d0e7af386b5ee450114cc163835b04eeb0a56d048a8228410e2dc26635cba315dc418f4c7b7905b587efa617496120a4adaf5d00821447b587650649e426c93e0c430358d31c7b7b06273c3912e1a345ab02a4da61cb37ab7695d6c2c7a2ad85cd66094bd62c1aa89624a6cb8772b154208217e212470e90c56c0aa347b6d62556874d1a20b81e31515988da594942b8d3ed7c665903106763d309169992b28c8cb253db51043a2ab13bdb1309584c939de4dc32a84f04a79611e96c4e833bb831926901c053b56e6537eea9cd4618808c15c5244495939a5c54b59b1dd0ca69dec2c33a1d04c1d006e031b6df47cb227c0db4b0ba89f68cc5852842571212975636bac80b5c9f7a5ae104208712e90c0a523994a292e5841b119d8b992a585250d2e6040319650505006ec242fbf04a3a263ccdc14a2ca169094b30bbd6ac7e9cf0b4a302ac399bf6103f326e9292b5acc82fc320cd9cb49aebbb1aa98cd54184d1cf7f2eead10a22d2c94166672f3036fb3a3a080cd0d4f6e14ca37175162042a567273661e254605d0129bbd8829ace5e6c93793af2493111f4544b40e8bc50a34ac033ec3fe753e053bc1ba339f8292728ca5c5e4175540650905c565583090b67e238f4515337bda74d233d3c9dd95c2bad5530947a17cf30ad7f74b96b2747339f5ed3252570821843817a89a79cfef9517ff5173d5afae39eb891167cfcb2fbf0cc09c3973ba3825e25c73f4e8d1ae4e82e840525788ce22758510a2de7ffffd06d7cfbce97aa01aa8aafb3bd9e0dfd580222d2e420821841042886e4f021721841042082144b727818b104208218410a2db93e7b89cc7860e1d2a7d8c85102d92ba4208214477202d2ee7a9a143873276ecd8ae4e8610a29b93ba42082144772181cb794a2e448410ad217585104288ee42021721841042082144b727818b104208218410a2db93c045082184104208d1ed49e022841042082184e8f6247011420821841042747b12b808218410420821ba3d095c84104208218410dd9e042e420821841042886e4f021721841042082144b727818b104208218410a2db93c045082184104208d1ed49e022841042082184e8f67cbb3a01a26b6cdbb60d93c9d4d5c910e7a871e3c6613018ba3a19a203485d213a93d4154288b6901697f394c964223c3cbcab9321ce417221726e91ba427416a92b84106d252d2ee73193c9c49c3973ba3a19e21c73f4e8d1ae4e82e860525788ce20758510a2ada4c545082184104208d1ed9d1b818ba58ce2dc54c6c7a452a27475621a538cdb29c84a627c422e65dd2c6d42885f2ea95b8410429c6fba307051306d2f66456a24a1a1a1f41b9fc4f4d4e92425c41033399d15dbdb321854879e0a2accddf0d75ba3476f29a3c2626de517148c6532105688f651306e2f2477fa0857fd92944361891105b094159215134a68680ca9b985b4a9aae94eda5cb708218410bf6c5d18b868098f4f2663de54f468485cb68197d7bfcca6f736911d52c2e269d3c869ed6d449d81e8587de726d74bdaf0e144c7b661f0a1b1889c22d7059610c25b5a0cf1b3c8ce4e74d52ff317322bd18016d0e97558749358f6ee47ac5f348bf85fe8b8f336d72d420821c42f5cd77715d3ea9abc6120797e222154b0b9a8a2d517f01a6d4727ac0b584a59313b879d96ae4e8810e70a4da3172ca5e4661611bb6a3d69d1e742a5218410429c3fba3e706986d562c10ae8a27434bab4b09452909345667a120931e349ca2dc16d2f0fb7cb2a188bb3484dcd2227733a09e393c8dd5e1f292894156491999543566a02fd42c79367f462db8a91e29c54d233b3c84c4f25e75563c30fdd6cdf4269f15a4acaad98b72f2533338742a3e7ed96e74d2672443a2512e808d1324b29b9e94bd165af66aebba0a5d9f3cdc2f6dcc9f40b0d25747c0e9b8daedb298ab198cc984826e7bec9d61549f40b0d25727a01e5160ba58599c48486123a3e8be232d7f95d56309d1131a91496d7dd8e51ca29ccc924332b8bf4a40426a717506a015030951692933a9ef1e99b29c99d4c64680c59db2d2dd62deeea2fa92b8410429c0bbadd74c88ab1989c9cb7b18ec9604972c36e10460ab38ad02f59ceaa7050ca7299387106b3a3fec7a6594dfb7a785836b184d99925c4bef5114ba2a134eb227e9d534cda7b69188c45e41447b36a531a0614527266b3b3cddbb6b07dc10c5644ade6ad25d168315230f922b6d47f6c2a76bbfdb8b425a41515511695cdaa557168315298ee7ebbdaf0080c8670423408213c319790939a8f66e17ae6c7b96b69f1709e2f5ac7b29d23b99358620daeef6bf551e8a3669191fd1ba2b5a358587c112bc3c760d0e9d0ce5ac2f22dc5a45ae29910ed6a558e8a1a4ee29279cc1aae054c6c9e3d83a2299bd834cb004a3979d326322d153eda948246ab4329aba0425b4459f23cb253b6804ef15cb7b8adbf90ba420821c439a19b042e56caf273c85cba85a21d3065d956fe9712477883eb0ba52c9f953bcd2416ada002c062216a422c8ad98c42e3e0c1e3b2da28a62427d75d7c2868753ab018b128a0588c18776e61c5e644964c3510372f03adb6e56d37ba0c32169253ac21eda3e8baf70d245e1705f9759f7bd83e4daea75adaae21790def2577cc1e10e2dc6565e7d24cb654c0a40a134a9caee9a906b474be453375fe75e4ccc8678b319934032815c55444a710a5053030352d960796ae65a71247bc564744ac01ebe2024a4cc9cc0ab7b0738b4272765d5d559e4f4e898ef9cbea6ece6887332b7b0a4b672c6545690acbe3e289374091268db4a989e8a64e05631e091eea1677f517207585104288734237095c3444672c61953e8a8a4b1f60e7cee368d31a2f61ad28c3a84b26637e1acd0d4755dab0ecfc55d1946fce23778719abd102b866e5d146a7913da1803b6fbe88e2d8db58b26c11b3a2e1ffd9bbf7f0a8aa43fde3df359364864b92412e19b98e021245642ca8b1580d8a1ab56abc5083eda963b5ed58db3af69cd6d4f6b4b1d778cecf36bd58636b8f635b3596aad156192dd478aa6d548e46010d607508571dfc9200002000494441542a09084c80247b9299bd7f7f4c8070070d64c0f7f33c79e6b2d7de6bcdf064b3dfaccb6edfc7f1fa6a7bee51962647317e87b502fafc99b3f0943dd6bfb37d7d0e11d91f1e667e673eb36a2fe15b5fbe84ebbd4ff387cb77fd8ddad7ef9b775684abc79d45cdbd4b98f7ddc92c7970253343d3b685a0f117869879ebad3cb8f80ece98b9922797cc6456c183449f6ce1eacb57f22497734bef94beb6c5cfb33a59c8a83e09aaf0c473388e4759bc742d9c528807f0147ab69d3df6756ed9d3f94b4444e448915d735c8ebb817bee98c5da076fe4d69d06635b2449b62c62e54e63b4dbdb769dbebfd7b2d60a1eb8ee3cbeb7f60c6ef9d17709cfea7b15309eabfff42acffe32c4712ba27cf9ac33f9da73ed075477b2dd0292ec7185d2bdd67f009f4344f65fe1346e98ff343f9cd5ce93d79fc7758fec3a436d9fbf6fde6984c327b2fade1a16b72de1d196595c7e5c9f8245e7109e99e4897b17d3f2fc83acbdfa3b7ce7a2512cbef7095e7aee09b87026db9622495a403b6bfbd6e5cd8415af67f7e3b9f6796ed9c3f94b4444e448915dc105187fed9ddc31ab9d07affb1a4ff4f93fb770dc898cdaf424b73db0627bef4afb22ee5dd4b2cb31f656b67dd1adfcfba2c984e74ddb75b848cb2216b51432edea9ff0f4ab8f139ebc9a076b17e33990ba8f1b8587253cb187a5c1f65aff017c0e113940de4c78f9cecc761ebdfe3c6e7c62c7f0b23fbf6fe32f8f302bf924dffbdecf6839e7a29d7a668a9875ed4c928bbec76d0f789837ab8869e1cb19b7f4677cabd6cb6533b7ffc617ce9cc92856f2c4923ee709ab9da4673217cedcfdfaccfb3ab7ece9fca53f738888c89162e0838b95192ad59edcfa67c4f15c7be71dcc4a3ecaf5d73dc0d64b06ef2961c227c2d26f9dc52537d670ef5db771dd671e60fc39993f7926337f8cdc77d96492e4a6e77970d10a5a5e7a84da275ba0bd8d958b9f63c9dae7a8a9798e7680c299cc3b6732e3278fda67dd7d15ce8a306fd4261ebdf16b99d583ac152c5ad4026b97b064650bd65eea5f614161016c5ab992b52d2ff17ce1e7f65a6fcb039fe1ccf36ee5255d9988ec5eb21d0bb0b69e5ebcd3883cfe38379db89a07ffed3c6e7c64fb3d93f6ebf7bce81c22177a58fce05a2ebc70d7016545e78499955cccd269f398e605efe4795c3e6e2d2d932fa3ef4266de69116e99057fbbfdde6d77bd6f59f420ede77c8779bdd52581649fde957d9d5b12edbb3f7f81ce152222726418c0e062d1f6dc23d4fe6c116b81c5b7dfce038b7affd239fe6aeeb9e36cf8db9739f3bc1ba979640516c711993f9f9bce1ec59207bfc7bfd72e61fc2d3fe1f222b05a1671efbd4b80c5dc75ef225aac3d972d3ce7166e9a69f1e0bf5dc2f50fc2bcc8458c4a2ee69195a318e749d212bd84d32ebe8e5b6fbd955a2bcc3db74cc3bb97ba77e13d831f3dfe4be68d5ac4974b8e61fadc28d671e319376d3ced6badbdd63fde5bc88937cc63f2927fe7e25b97326efc897badd75abb96952d6d6cd28db3457662d1f2dc03dc5eb3884d2479fef65bb977ebf9a57d6defdf3856f3e0f541cefaccadbdbd2afbf37b5ec8acf0d59c7876987376f7fb5f7806375c7e19b76c4d1fde69ccbbf642e65dbb730feb78aefdc3e3fc70f2235c7fc9955c77e375dcb6741ebfbfe7228ab058f1440df72e86e4a2dbb9fd89159930b28f730bece9fca5738588881c19cc6edecb7df8a1fbbb679f7bc1216f8c1c3a7ffad39f00f8fce73f3fc02d9123cdc68d1b07ba090755fba2af71abf55deebc68e79be71e9974ae9083e5483f5788c8fe7be6af0bb8e2aa4f5f0174019dbd3f1d7d9e7701d6c00f151311396cb4f1dc2370f9191f8dd0222222924db26439641191ecd5fedc6ddc58bb96f1a3da5931ea16fea0dc22222272c8a9c74544641facf6952c7ef21116252fe447b7ec7b4540111111e97fea71f9089b3871a2c6188bec87a28bfe40f386816ec5c0d1b9424444b2817a5c3ea2264e9cc8c9279f3cd0cd10912ca773858888640b05978f285d8888c8fed0b9424444b285828b8888888888643d05171111111111c97a0a2e222222222292f5145c444444444424eb29b8888888888848d65370111111111191aca7e0222222222222594fc1454444444444b29e828b8888888888643d05171111111111c97a0a2e222222222292f5145c444444444424eb29b8888888888848d65370111111111191aca7e0222222222222592f67a01b202222220747575717cf3cf3cc403763078ee33067ce1c3c1ecf403745440e330a2e22222247a8582cc6bc79f306ba19bb78f4d147b9e0820b06ba1922729851701111113942e5e6e6e238ce40376317e9747aa09b2022872105171111912394e338db7e8c3159f5282272a034395f4444e40866db76563e8a881c28f5b88888881ca16cdbc6711c6cdbc61893558f2222074a3d2e22222247b081ee59518f8b88f417051711119123d4d6f92d7d7b5e76ffd8c98b374fc1e73b8e9b5fecda47f956fe30a788537fb56a37dbd770ffb97e4eb933bed7fa34c745443e0805171111912354dfc9f97bfd493cc7cf9e2ce4b20b3d3cf2b38524f6511e07e0c0b7ed504e44e40029b88888881ca1f6b7c765cd5f6a78aea082af7ffb8b8c5ff4331e8eefbcfd9bcc0d8e66f8f0d104e7dece73ed6cdbdefac4adbbd9b6f7fa145c44e48350701111113982ed7bce499cfa5f2f65f257af62f2e472be3263253fbf7b099d5bb7c7efe29a2fd453f0f5bfb17add32eacadbf9db9b49706c68b99bcf7efe110abefe0c2d6b97f250793b8bde4cee57bd2222074ac1454444e408b5efb92d365d4beee6ee968ff31f6523b1ed91ccfe8fb3b1ea7ecef389ccf6550bea583ae92b7cebaa49e4d9f94cbaea5bfcc7540fe0107ff241964efa2adfba6a221ea78089577d8baf4ff5c03e7a5c145e44e483d072c822222247b0bd0fcbb2f8bf5f3fc4ea4d9b9877dc783c1e20992409fc62c1f7987d5501ed2d9ba0702c058e9399bec248c68ef2e07192b4afded3b67dd52b2272e0d4e32222227284da678fcbc6bff1f3051e3e75ff0bbcfaea8bbcf0c20bbcf8ea8bfce9fab1fce317bf66859d47c1a402686ba17ddb7eedb4b527493a79e44f2c80b52d24b61d37c1daf624967a5c44e42050701111113982ed6daec9eac77ec93f0b2ee5fad3c73162c408468d1ac5881163f8f8e73fcf096f3ec42fff6131e6bcebf9d8ba5ff29fd125b463b1ead11f70c7cb491cc7665cd9f57c6ced2ff9ceef96b2d1ee6475fd8ff87f2f6b8e8b881c1c0a2e22222247a8bdaf2ab692fadfbcccc84be6726cde4edbc75cccf527afe3b13b16d036722ef7fcf67ab8e74a8e1f7d2c17ffdec3f92717e0c1c11ed1bbed375772c298897cf2f779996d5a554c440e02cd7111111139426d0d0bc6181cc7d9e9f158bed4b09a1b1c07e338d83b6c1fc9958fb530d7181cdbc6947c89df3c73439fed3fde1640f24fbb817b1abed4e7b83fc218b3977a155c44e48351701111113942ed7cc3c76c7b141139100a2e22222247a86cedddc8c6368948f653701111113942f5ed71d9d3b0ad817a141139509a9c2f222272844aa552fb5cdd6b201e53a9547f7e4c11f988508f8b8888c811eaecb3cfe6f1c71fc7ed760f7453b649a7d3cc993367a09b21228721051711119123d4b871e3b8e69a6b06ba192222fd4243c5444444444424eb29b8888888888848d65370111111111191aca7e0222222222222594fc1454444444444b29e828b8888888888643d05171111111111c97a0a2e222222222292f5145c444444444424eb29b8888888888848d65370111111111191aca7e0222222222222594fc1454444444444b25e4e7f1d68e1c285fd75281111390073e6cc19e8268888881c74fd165c00e6ce9ddb9f871311917d983f7ffe4037414444e490d050311111111111c97a0a2e222222222292f5145c444444444424eb29b8888888888848d65370111111111191aca7e0222222222222594fc1454444444444b29e828b8888888888643d05171111111111c97a39035169fa8d63c0de3c10551ffe5cf9b88f7f7ba05b212222222272480d487021f5ee80547b44b0370d740b44444444440eb981192ae6ca1f906a8f08faee44444444e42348735c444444444424eb29b8888888888848d65370111111111191aca7e0222222222222594fc1454444444444b29e828b8888888888643d05170120515f8edf5f412cb1bb8d4dd45596531c2827661df2a6898888888864617071c01870e783bb10dc437a7f2618dc2e70ec4350f75070e7000752970d6e0fb88783db7b80fb1e24adb5418cf1132c29a5b43488df188cb79892d2524a8201bcc64b794326897803a594959512f06edddb22ded4dafbdc879f6696b72ab588888888c8c0c8bee062320f9debe1dd7fc17bef39c4ff05bfbb334da7052e4fff56e7ce0597019c4cdd8e035d1ba1a71b70efe7417a3281050f2c7bc9c1da022e6fef317b3936b8dde03ec6e01e04a476d30ed78efb7c580982fcf48d384d8d0d34c4a2544c004a6b686868a0b1294eeb82307eab37b8042344a3618ab70697789448348e05e00b102cf1f75fc344444444440e50d605177721ac4f40f08a14b33e93e2ca2fa779f27f6dbe5993664b17b806f55345bdbd2b0c02e3cebc760f06ab1b667d3ac5df5e70708f32fb7528d73068df009fb83cc5273e9de2d3df489376f7f6bc6cfd5c83a17d337ce58b299a973bb8866d6f07ecd88efee22f89102af6ee71bbaf344228b09bed8946aa2b2234f61936e6ddf36144444444440ebaac0b2ee4c0c6768795ab1c6eff7717d1dfe7507caca130df601c60786faf453e999e8e310677c0e0f69bcc10af229319ee75b4c90cdd1ada5bded7dbe331c664869d050cae1cb8e6ab69de6d05d70803066c1b5e5b01eb3600a37a8f3dc6e02e32b847f40e252b3299e16b6333dbcd312e6efc669a65ff72687c3697af7dc645aa1d1863708f36b88f0233ce50380cba7b20d76d305bdb3dc1e02e806b6f4ed3fc26b8fda6df86c3f982417c7b2be00d5052ec85d646ea2acb0906ca8959091aeb6a893527696ba822148a108def66df4423b59130a18a528281624a2b63b4eea69888888888487fc819e806ecc286940d237c70d5275d709c8b4d6fa4d9dc0123c718963e6bf3e063696ebec6cd88198687efb6697ecbe1cc998631a360d51a9b334e76f1d4c336a5a7183a2df8af1fa4f8c2a75c4c0c189efca34df3db0e679518f20cfcee719be185f093dbdde0ce0493e1c3e098b1b0e5759b9fdd6d33ed38436e0e140c8159b30cb147d39c32cdc5d30fa779a70d2ae6b978ff7d1833d270dc0c17c74d72a0c3a1eeae34efb7c1b9a5863756dae4e51abeff1537c6c073f7db3cfb8ac399a71a268f35441fb5c1817ba7bb717bc0ee39745fb9e5f5e1b79a79b53500f82809d7108ede47537115d168095ec06aeebb479c68388abfa696a81faca64a82275f4045f11a1a421a522622222222fd2ffb820be0cb37247be094cb539c3ac3c5e567194e9868685ae270fd37d3b880952d696efba69bebfe33c5c43186ea7b1ceef8869b3b1f4cf38f3fb8b8e9c7692aaf77f1da0a87741abefb4b9bab2f7271c54d293e7682e1177f80efdee862fcd1999e18d26c9b5fe3c9054f1edcf01f295e7a035a5a1d4aa619bc5ef8d9f01c7ef41b9b938f777864a1cd208fe19e07d22c7a3c97c9a7f5f0d94ff6f0bbbfe4f0fc930ef3be9ea6f266375ffd519aa7ffe1f083afb9f9affbd27cfe0a175ffa419a63461b7e33dfe1b62fbb9938ce909b4b66eecbfe8d50eb375e5f31c1523fd4ee5f79aba986eac656caa2d534032412149f751a566b2b167e34aa4c44444444fa5b560697543ad3f3517cace1b8a9e076c1701ffce2be344523e1892772299dddc317be92e29367b9f8c35d394c3bbb879e140cf765868a151f6378f1358797df70b835ece64bdf49e176c1f9b30cf5bfcee1d4cb52f8f20d271d67b8ee4a17780c6c7230060a86c2f3af382c790b9a9fcce15337a799343e338cec3bbf4833eb6417cd6f3b5c77b98b2f55b8997c610f63a71a96fc6f0e93cf4871ea77d3fceb2d87734e33fcf827399c34a59bef7ec9cdb77ee8a67ea64db207c6f90d4db11c2eb826c53b6d70fa74c3e72e7381cf906e7130877810df81cc61b19a9b88fb2a885486091cb41689888888886c977d735c802d9d0e7939f0fb9fb8b9e91b390c199499d89ed80cc30a0c0c350c2b342c7fc7615801e083a2e1d0d505b96e189c0f83bdd0d10556129e7dc9e61b5f76737ad0d095845427e40fce6cebe882b6f7c9f47414c090a320c70deb3642fe10608461c820185b64987182a16e81cdb4c930ae083c7986fc2130bcd0408bc3a4596e963d9ec3777f92e64f7f75386d7a66b9b28221307a24d09e39764f0a461d050c331c5560687ddfa1cb82b6f599761cead072a02c2c92f118cd3bddf325a1e59245444444e420c9be4b6493e96159df0e4f2eb4695b6db3a9033a2d280e189adf72787b519a96f71ccacf74f1da7287371a6c56bd072386c13b6db07ab5c39b2d0e2386c2d1230d3ffd6e0e1e376c6887c4a6cc04f9f62d9900b1b923d3c38307de7d139e79d661c90a87334e32ac4f40e3429bc5cb324b7dcd9c9a19c3f5f1935d140e81975f77f8db0b361bda1d96af748837dab4ae73183a148ef1c3a24687cecdb0b933531f0e6cda920955efb4c192069be56f3b8c1b65d8b839d39e2cfc17d9852f10a4a8fd312aa3cd6c8b2a8918b5b1f800b64a444444448e64d977996c83afc03062187ceedb36e79d9be29d5687e185f0b52fb8088c81922b535c7496e1ce5fba59b701cabe90c64ac2f9b35c9c36cd706a458adc5cf841b59b19530d93ceea61c1228719530d47f52eb33572180cf2661e3d79c030b8f37fd29c7d6d8ab34b0c65d7ba386f96e1ca489ad6f71d7cf970ccb18663c71a8a86c3f557bb78ee659b1bbe6773d1992e5e5fe5705a590f655f4c53f945377f792087d756385cfba914c78ce9add786d12360c860f0e6c1c537a6e9ee81cf7dc685e33878f3c8ccb539582cc0b2d85dbf886501c9edaf7d3e686f6ea635de48acd9da61bbb72442643abc7a7390d25035b535955494470994151fc4c68b888888c84759d6cd71b1db332b8a353d9ccbfa84433a0581b1860bcf84e14550f7ff727869a9c3e9a71ac833fc7d7e0e4b973a5cfbed1489cd0eff73979ba7ffece2f4a061c860c38fbee6e2bc8f1bce3ac5603c70d27139e4e5c1ef6fcf6190174a4fc90c45b3573adc7c8d8b8b67bb38fd6403ef43cd2d6eae2d77f08f84411e0369687a24879c1c9830c9f08ffb73e8ec8263c719060d81094586bc5c38b124b3b4f28a2773685b0b930206b71bec8d0e7ffa6d0e2b5f7748f6c03ddf733173860bdf08f8fded6e86e51bec75fd782397ad5a1ba9ababa1ae0d48545315f512ae28db76b3492b1ea3b6b609809a9a18c5913282916b98521ea63452c363b727b66faf8d511c2ea332b68044284ccd7ddfe48686f3b9255a478516141311111191836477eb57e53efcd0fdddb3cfbde0800eb470e142e6ce9dbb5f65d3cb8683bd79f71b9dcc1de48d8f4c7f900d740279906e07f71060a8818443ba13dcc702ef41c1a93d3c79570e675c62a0dbc01687f4c6def2beccc47ba71bccd04cd5aea1647a103c4017a42d32f78629c8944d6fea7d3d844c2fc8d6328599fd9d34b88793f9069399ed0ccbbc76d6839d02f788decfd493f94977817b122c5de85072759af79f73e33dc6908e83fba8cce74c27d97b3f982b1ff7d4f5fbf53d8bc8916ffefcf9cc993367a09b212222f2813df3d7055c71d5a7af207345ddd9fbd3d1e7791760655d8f0b066c07d8b8d3fbbd17f4e92ea0abb7572217ecf720d50dcfdc9bc3e40906fb3d7052dbb7a7bb81b57d7a3136651ed25b735377ef63ceaec74e5bb0c3b82a03e9defd71417ae736f6cd13eedd6c7781dd0281318667a36e20d35edc9950b6b58c8888888888ec283b2f939dcc047d77febe6f696227212f1f665ce0a2602838dd3b1570c09d03ee3c32bd37645e9b9d0f9c06f720707bd83ecfc401b701b737b30ffd70477ba71b860e8519a5066f1e3887f04693222222222287abeceb7121132a7a52d0fa2f8771471bec6e700d0372d93e746c3099de92c1b0f16d58bfc2665289c1bd814c1c73f7fe6c8644227393c9fcf1643a9abac0954f26a078c97444f9e0bd6560db0e63279b4cb9c180812d6b20e5802f90391e06c8036723a4eddd84a0bd7141ba0768ddfe5a4444444444f62e2b838bab10de5d09b7fdcaa6a6d2cdd02278bdc961e326c8cb8393261b5ef93f87b14586c2d1f0b3dfdb94040d1438e4a70d9b3b1d366f81ee149c16cca48ab6f50ecdabc09b03af2d8749133237817cb3c561fa14435717fcaacee6131f338c1c07a61396bfe5f0ec3f1c720d5c7da58be7163a048a0c691bd6ac7328091a5c807310e6d38b88888888c87659175c8c01c7030b1b6dde5aedf0f43f6c2e9bebe6f9576cde5b9b092ef50b6da64e36fcdf32073b0da347c1034fd8f8ff0905f986c018c8cb85c54b61881726070cbf99ef30b608bc1e78eb1d87d6f586b4ed30280f9e7fd961cc4818331216363a8cf441dd5336a79e680814199e7bc5e697bfb5f10f8757963a58c9ccbd60dc6e38e5e366d7b92c2222222222d2afb22eb8b87260ed4a87c15ef8f50fddbcbacc61dd9b36679d62c081ae24bcfe2fc8cb338c1ee560db904a1b82c5306450e66ef733a6ba18e97318ef27b3ca970d478f82cbe6b8d8b829734f96c9130cb6038b973a8c1a9eb929e4901ec3b04287c5af3b9c749c212f0f268c018fc745db7af0e639b8dc30fb94ccbe5692837bdf15111111111101b230b8a4535030d870d585060a61d2188365c1a8118003b60dd367185a57c1089f212717de590363271bdadf83411ec8f3809d36940433c3b86c1b229f75e1d830a6c830edb8de492943c03fdc307a0c243b60e366f08f35bcbf06468c83b5ab32735ea61d6fc0036b56198e2a004f01385d6456196b67df2b088888888888c887927d53c3edcc7030869259ba382773677bc7ce3c77e5011de01f03398300178c9d007442e170c8eb9d50efcac93c9a1c70e7026e30aecc6bf22095822d6b61f4a44c9d9ec1e0ef9dbc3f6204d89b605411f8fd0652606f81a347836710d89dfb3121df06f7a0346e5f0fee513db88bd2b873d2fdb2325976b0686d8c12292b2650d1b0c3aad12222222222fd2deb828b7101065e78dea1bd1dba93600665deefb620d9456625b06ee86867db50ad2d9bc9acf4d50d9b3743d20206432a095d9dbdcb0e9bcc319c14745a99d75602e89d5c6f6d043c99fbb7384ee66690e9eeccca618e93793fdd93299eb6333d39bbed6d4983fba8146d6d8378e66fe3b9ff77a379e291a190efe03eba07e3986d751e5a0962e172a2f10f730c8b7853664934af3f00cdcbb72d90262222222272b064dd503193b92f230bfeeef0e2128782a15032cd30619ce18f4fda8c1e6558b7d1a1a7070a87426e2ee4e51a366e82cd1d0e8543a130df90d8e4d09584f7376626d14f3906babbe1cd96ccebe38f05b7dbd0fc96c3f8a361b8cff0ca1b0e677ccc306d86c16edf6753f7c85590e28de6425e7de3288e9dbc8941769a5ffccf307efc87e9dcfddd254c3d3981dd9a9be9453a94c3cc5aeba9befb315a7dcd84aa8b3fd831e25122d120753525f802414a0250dbaf8d1411111111d955d6f5b838e9cc70ae9953e1fd8d0ecd6fc1ca16e8e9867fad7658fd9e43fc1d70b9e1bd75f0af382c7fdb219974f8eb3f1d7c85603b997d1a5fcd4cbc3f61a2614302dad6c3f8d186c2a1f0e66a78f2ef0e53271bac2e58bad2617dc26145dcc10cfee069c21807e3cfe187bf18c4ea773670ea05ef73f9651b89cd6f61b46f0bb3aebd947ffe7d382e7f0fe610f7ba34d7d5e33dad90e5d16a1a3fc8d8ae4423d515111a13dbdff2f65beb4444444444f62cfb828b03b605b34f75f1d94b5d944c87b239860ded0e06c3b4930d5ff98c8b7917ba382e60283bcfc531630d8f2e72b8fe0ac339e7b9183d124e2e367ce74b6e2e3ad345c974c339252e2e9eed624e89e1e2d92e2e9d6df8f23cc3cca9864f9eefc265e0b515503cd180f5c11385e364e6c4cc3c7133dff86f0f6f2c2a804d6e48c11fa3af7061c99bccbde512de7e2d0fd7e81e481fa22e17ab91685339b5d12aa6b7d5511d4bec54a095c66898a03104224d58406b432da1628309d6102741635d2db1e6246d0d55844291ed43ce2c8be6ba30419fc1f84ba96eea938aac66a29110a170988ad2202515b5bdc1a7778e4c7931c515f5c42a4bf09900e1869ddb25222222229285c10532734786e4c3c429864b3fe526c7c09041866f7edec5cc530d430b33c3bdceb9c030f97838698ae1b62fbb38e7132ed802274e37945d6a281a03bee130341f46f9a1e868281c06478d80d1e30c81c9862143c13b182e38d3c50f6f7271c24483fd21af9ded169bc8e77b78f2d7293cdd3dd83d86d4fbb9e018eefac6f38c1b9dcbf77e7b0ee904b8061f9af594130d7510aa20501ca2ea7c78acba7ea7b9297e4a429584a6f779a73444a46c42ef2b1f25e11ac2c550585a45345a432890d9926c8a12f3868935bfc28ffdcf52551923f315b6525f5146345845b4b696ba581d15f108a5e5b5c401bc3eaca6e52c6f8ad2545249d535a514fbd4872322222222bbcacae0624cefa4f8cd906e734875c288e1e0c987d49ade49f22948bf0fe936183b1e4e3cc54077efb6cd905e07e98eded75bdfefea9d706f41bab3b75c6f3da3c7c371d30dc6e95dc1ec43b0d36ee84a73c115eb3976520ff62683713ba4dfcda17032dc7ec3cb3cb7e20c163e331c33218dfba0cf346a25160b122af5023ecaaac24c78a19a68f3ae253f486cf004c344ca83f8fd41cacb26908c37674251730d91988f8ab240efc18b095595e37db68aea46f0074b290d802710265c5e4e241a2512547011111111915d65dde4fc0c93591eccc93c35ae3cd23d404f0a636c2037936eec6e7065020a9d6ec00d2e67d763b8f37ac7a0f56426c7ec9cd7b61ea363fbae1faaf52e8774dac0bbb999d75bbf6537b0d13063fc62e69c7e310b965dc2d8bfdecba8c234238f718305a98ede95d5fa53731dd1a6067c15b1de3712783dcba9a96924525bf2e1e7a9f43980d7ef052b8165416b6303ab923efc7db6fb826514f3108d4dad50e2c30b787d5ecd951111111191bdcad2e09206d7103257fa3dd0d39579db0db80643aa33f33a6f54a6bbc490e94eb1d3994ce290b95f4ade60301e486eccbc9f37127ad665cab90193c7a15e97d8e97033e4d81433c73e4ae4f6f1b07e3073ceefc47ac970fed92ef2471ad2eb9c4cfbfa8545637d9ccafa7a4a7ddbdf8dd70439a6aa9a86ea7aca7c7bdefb83d69979b0008bd604b0b50e6f26ace055541111111191fd9750c2df47000020004944415485c1c5013b8d197629e405a0e75de87805720bc0e4e2d81d1857018ef526e41460868520d58ad3b30ae3a470ec2d18f75190de029e6330c683d3b92c3329c61b84e4f24c678cb50c528983d0bdb1773606f7c83c962f6b62cb86c1144f3b994f9efb3ccf3f6ff86d9dcd673f65386ab821dd4eff2c959c6820da5a4ecd4ee124501e66facd37505ddf4a59c8dffbae17af172c6ba725c73ee0dd257d25251411a5be294138d0db002b81e5994279891fd0447c11111111d93fd937c7c549833b1fb033a105077c17c0a02098c198c11f074f31e416023d38d66b906ac335a414069f82c93b0e069d0a05656077e1e086823361c827c0e58141d361e805e03e2ad3f33210da52949f5fc0355fbc98852f8e24fe22ccbac2c54993e0ceff71c0db7fb777698ed690280bee3a142b504ac51478b6ba86e66dc1c4472050485b2c4aaca999c6ba2aaa1b5aa1b591c6a6562cc0e783f6e6665ae38dc49aad4ca6d943b0f1062ba93a0b9eaaaa65eb4263f15894445935a1dedbc858f476cc8888888888ec45f6f5b8183790c669afcfac8becca85dca321b501ec2d985410a7e71d48ad079717ac661c1c1c6b29d85d9972ee21992162e90d997ded2d400ed89d990927ae4199f70efeacf8dd5b6ff3f1d33b69350ebffee334de78ef3102eb7b38fb12c3430b07b3e82f2ecef9e416d26b3fcc78b1048dd108a19b9f2271692df58108e5c55be38b45737d94581c48de4e79c84f4d7598b2809792aa6a2e2dbb81cb4a1ab8aab68e48698cc6261f898405f80946ae614a7998d2c87ff3ababeba96d84a4af86da989f725f1335d1e5b00a6aeb9aa80e0509d7376085c3549436102cf6812f447d5d397e2c9aebab33fb5345557d2d95e5c5f4fba835111111113922ecee0ffbb90f3f747ff7ec732f38a0032d5cb890b973e7ee57d9f4b2e1606fde4b93d2999e170ce06c9ba49f19e3e5649e1b77e6394e66b8d7d6de1397bbcf7357666de5be8786dee3b97a67cd1fe4392eb6c19d6b437e2ad3bfd5e186a40b9c1eeeff678805af5ec4b9811bb9e6dab5e0853b7e348ab7df1bca2f7ffe36f6aa1c9c9dff855cf9b8a7ae3fb86d1691c3c6fcf9f3993367ce4037434444e4037be6af0bb8e2aa4f5f0174019dbd3f1d7d9e770156f60d15c3015c607233c1c2e4667a5db6be76f5be872b135e4c4ee6b9abb7dc0ecfdddb9f6f3bc6d6e76e0ec5c47ce34a438e8bff5b3c96dfdf7f2c1d9d6e2848811bbc799d186358bf69386c023ae0a4e20296c58f22dde2e0cafb90eb328b888888881c21b230b8eccb21bad37c3f718d81df3f9a43f56f7a181b4832ffe9a301370c82c1aed5a4babb684b78614ba6fce8512e121d3ede5eed85218776c53311111111916c75180697c34c0ff8f26d7a7a52ccfe542b6bdfef20b660108c811cb3099faf80eef451b46f0672c0edeaa0ab6730ef6e2800af7a5c444444444440c1e5a04bb71a2e9ee3f0a79f74c2fb6986f9bc2c7a6534e482c7938b27d7a63b95c7e60e2017d269c8f31692ec4eeb5f4744444444a4972e8d0f3663707ad2e478baa103669ce0e6cd35c3e16df0e5a7b16d8b8eae1e5236900756770ea9740ee974f2701b15272222222272d028b81c6c066cdb904eba206d983c661d9dc942e22b6084af9bc1833c0c1a3484540ac8810d1b7bc8cdcb27c7e53a146b0788888888881c16145c0ea56ec81fda8dff683fafc6fde4b8ba31ee1cdc2e83cb004978f3bda3282828c093d703a9816eb0888888884876507039849c941b72528cc86fe7ad3523e8b26c3a3abae94e26387a24a4ff058dcb4630b220c1a882aeccfd5eb241a289baca728a03e5c474977b111111111900597265fcd1e060c0c0f0c26ed626f259d7ee25d1de41ba7b1d8326c13f16c35beba671acff3d8e190d747d98492e16ad0d755497fb30c6e02d2ea5acbc8cd26080404905d50dad07702c1f7e9a59de3ad0a965c7cf64fc414acbca292f2ba5a4b89892f230350d710eac9516f1a603f92e44444444642028b81c6a2e187b741e56aa80b5eba1b3b39b91be2d90038d2b8fc678a732c6b712cf38b0bb3fcc3f8f177f690591ca728af050561b23561fa3a1a9812a5f8c6fce2e25d2b49f97f8be00c112ff87684b7fd9f1335d5ad74843ac9efa58038d4d312a038ddc3cbb98d2cac6fd0f2ff12891e881861d1111111139d4145c0e21c701dc302cbf1bab3b17cb1e4b32d94d705202a7055a3acaf1b8de657441330ceaa7b9f95edf4e6f04a8a82ca390e5d4479bf7fb82ddebed8fc6f4935d3e13e00d505e13e3d1abbcbc707b0591c6fdf8648946aa2b223426fabf8922222222d2bf145c0e3503debc14a9b4a1337534ddd67ac60f6b67d14b2358db3993a3f216533aa307d61fbc7f1a2b91c0027cc53e76c82389466a23614215a50403c59456c6d8e320aa3d96b588d785292f0f130995112c2ea5b2616b32b068aa0d130a47089707f19a626ae21fa0ee3df2535e55c9145611ad8a91d86b7b1234d6d5126b4ed2d650452814211aefaf7688888888487fcb19e8067ce4b820d5b385647a026b378dc53fe49f7458f0cfb6cfd2b165331f1bf5224533c08ebb0fca7d5cac781d91c85324a7df444d45a0cf9638d170147f4d2d513f584d95044fbe808ae2353484761e26b697b265312a42314a1a9ba909426338c0e9913ac24d6102f12891ba20d18630012c42910a1a0fb8ee7d0894525208cb9b62c4ad728289ba3db6a7245c43387a1f4dc55544a325788913ade8a7768888888848bf527039840c800d1d9dd0630f65d95b798ccc89f1f6c6096ce8f9389deb7fc7559f5a0f9da69f6fe192a4a92642a8aa9efb9e854beffa276b4225f8fb74b7584d355437b65216ada6192091a0f8acd3b05a5bb1d8f1a27daf65bdc59457545012f002165e9f0f12711216588938f1c67aaaebcba8290f505219c1ebdd77dd07364acd8bcf97394602602fedd9f9c0fddb0e11111111e94f0a2e87948114243643777a18f68665a47a0a9958f8555e7fa9998f8dfe2b53cf07fbad9c7eee6df1108cd410f517d37cfccd343626f086772c61353711f75510a90c13d8cd11ac03285b190dd25c5f4365432b563cb16d6f6f304c55692dd75e760c75a77d919ada6a424148ece37807c62291007c7e7c00be923db667973dfbb51d22222222d29f34c7e51072b9d2e0322c5b9e604debfb6c6e5f434ee179bc1e2f24b1fa416ef97217b4bbfab9b7a58fe20875779d45db7d2122b11d67a45b5824e3319a779aa89ed8cd12c87b2d6b3513ad28a1b2b594aa9a6a22a57d7b6b028462715eb9f78b1437dfcdb527070937240ea8ee7d8a37d0d80e8525e5147bd9477b0ee07389888888c8805270399486a6492606f166eb683ada9b59b57a1dc71697b2e0c93f73ebbf2d63e4492ed2eb0ecedc96ad02e128779d95e0be8a30f57d2ed07d812045ed8f51d977a5b1448cda587c9763ecad6c2216211c2b26120aee3ab42a1e2316f7110cd5d2187f869ba6ac225ad388f700eadebb04b1aa1a96339dcaaa12bcb0f7f61cc0e7121111119181a5e072a8a480a3e1e917f2796599c3ca375ee4a4e0e92cfafbbb8466c728ff02d82b5de0eee77aad049024616dbd140f108ed67296f510151551e2bdef7a4b2244a6c3ab3707290d55535b5349457994405971e6301690dc8fb29645b2bd8168ac9978631d35f57148b4d2dcd8c0ab6d0d54573764e69ef84a08954d2150ecdf67ddbbff4c3b6ba5a1b28cf2872ccebfab8e48716f4cd94b7b9a2df0f9a0bdb999d678230dbe1b0eac1d2222222272c828b8f427dbe0ce4be12eeac13d368d7b4c0fee613db887f7e09ed443ba258faabb06f1eedb7f67f294e9ac68292090f75f7cfbb624bc9783edf4e73f47e62ef335d531da80c6aa2aa2b1de9e844088badaf3e1a96b099684a8ae6bc6a298cad8026e39df4fd37ddfe4869a260255b554f8c18ac7a8ad6d021aa9a98d11b7f65cd65756c52da759dc775929155108559653643552d7ec6782c7227ef76c8a4b2b884422d45811eaaa8278f752f76e3f53553d6d248985cb28aba8a0a2a29cd29232aae2a5445f89130b176feb5dd95b7b025e1fc1c8354c690a531a69221098be9fed1011111191436d778392721f7ee8feeed9e75e7040075ab8702173e7ceddafb2e965c3c1de7c40c7cf6a0eb85c60fc3d74bf070ffec54dd31b69c616c109c5f97427530c1e93c3f7beb399e796c090fca370724fe2da0b9bf8e54f1260b949afdfcfde16573eeea9eb0ffa471291c3c3fcf9f3993367ce4037434444e4037be6af0bb8e2aa4f5f0174019dbd3f1d7d9e7701965615fbb06c837b580a1c9bfbef83866517627bcfa168d2087cc78e67c449273078f0107c4386f0cd3b5ee147dfff1aafbefc32ff79fdcbdcf2ad4db0d14d7aa31bdc076d4abe88888888c8614fc1e58372c0ed064675f3af25d0d054cc9aee6f10bef953cc98366487a2ebd76fe49ffffc3babdf89d3b27a331f9fb6895b6ef7c04a17a90e3746a1454444444464af145c3e0807dc1e20bf87f975d092bc95732ebe8de0f13b7e9d77de79278f3efa28f1789c6432c9c4891359bdfa7dce3c6904b4b643b751681111111111d90f0a2e07ca0157ae034353fcaa163a8ffa235ffdc65cf2fa14f9f5af7fcdfcf9f3e9e8e8c0ebf5525a5acaecd9b359b16205e3269672d2f89761dd9fc1adb5114444444444f68782cb8172c08c4c715f2d740cff335fbfe993db36757575f1f4d34ff3ecb3cf72dd75d73161c204de78e30d8e3ffe783c1e0fa9548a89279c48dbb2859007768f828b88888888c8fe50703910b6c13dba87e79e8037ba6ea7fadb9fdc61b3c7e3213f3f9fdb6ebb8d743acdf2e5cb99366d1aa79c720ac96492a2a222163cf30e81a393900b4ef741bcd3a488888888c81144c1e500b8726dba5a1d1e7ff154be52f58d1db62593499e7aea29de7cf34d5a5b5b19326408471f7d3443870e65f3e6cde4e7e73366cc18268cdd8277f50ac81da00f212222222272185270390066648a277e03a38efb1ae346eeb4cd1882c120175d74116ef79e6fc8f2feaa8738d3bf093a354cecc3b2e20d44ababa8692ca1aeb19aa077dffb88888888c8e14957cffbab77f1af37d7fb08ce386f97cd7979798c1f3f7eafa165e1736be9597d3b63a6433a79b033a345bc214a65991f630cded208d1581c0b48344509070cc60428af8cd2d07a909b72b078fdf8134d2c4f5803dd121111111139c8145cf693cb6d935a0d0c9ac149d3861df0fe1bb6c0c2f9212e38bb13b6b8c11cec6590bd044a43545595518487b2ca6a426501bc80cfef23e13b9fbb5e69a6be3a44a9ff2037e520f1fa8b09960406ba1922222222720828b8ec2793ebd0f20e0c1e166454e1f6f72dcba2bbbb7b9ffb7fffb6db3977ea02464e31a43bf6dc2bd3ffbc3b3c9068a43214a5245a4f5863ab44444444e430a1e0b2bf3c86f59bc03b64cc0e6fdbb6cd9ffffc67d6ae5dbbdbdddad626f8ead7becf144f25e7cc05fbdd1c700dd04d27138d545654e1abaa23b2a7d09268a436122654514a30504c69658c5612345496e03506531ca13e9e199a65c5eb08057c9454fe85bf5497e235065f592dcd89048dd110016330c561ea9a124082a6da32fc8172a2cdbd43bbac66a29110a170988ad2202515b53426002c5a1ba344ca8b29aea827565982cf04083724c08a531729a722142654514ea42edea7f1164db56142e108e1f2205e534c4ddfcd2222222272d8fa684fce77c0b8c09567438f219d36b0a7158af3d26c4e42b7b3e3b8aac1830773ceb99752f7e0bde4e6b89834e958bcf9c574767690ea7a8b5797ad6175f383dcf10360839b018a2cd01a23525e83b7ba9eca923df5b4c48986a3f86b6a89fac16aaa2478f2055414afa1a1ba9edac6a3b996124a0299fdbdfe62fcc52122559f24e83d91eaba63a8f60709f87c784335d4d6d7519e28a534e803a0b8b898b29a4a42c55ea095fa8a32a2e50d348402603553531aa4b41c9a1b4278bd3eaca6e52cf74669aaa8a4ea9a7af0593484cba82eaea3b126889738b525c7f0d8b6e64789d4058936840960118a54d07890bf561111111139343eda3d2e6907d730b03af260b0c13dd4c649eff9de2a89ce7c3c434603f0f813cff397279a787ae13f78f8c107c8f50c23307e148b9e7d83e7ff783c0dbffb18af2e37fc47e41a2aaefe1c2bde041c7bcfc1e8a04ad25815e267cf36d1d4dcca9ea6b25b4d355437b6d210ada6baba9a9aba04c5679d86b7b5150b3fe5955751f86c0df5f1def2cd75340743147b010294874fa32d564ba305e023501220f96c2db15680048df516155b27d434d71089f9a8280b645e7b8b095595e37db68aea46f0074b290d802710265c5e4e241a25e2ab2352e7255c11ec1df916a0ac62caf6f627e2c41b6ba8ae8f63e1a5a43242a9af7fbf491111111119181fe9e0e21e67f33fbfcbe773df3d96dffd69145d5d6edc9ef42ee58c0374427cdd044e9a3e83e5719bea6f9f49d79a9371bf3d0b7fce35bcbce83f299e7131975f5aca95b3dab9edbf36935cf353a69df2396a7f7507279c9c03a981faba3d9454c7f8e959164f5d5b4ac50ec3abb6b39a9b88fbca8854565259594965752df50d8dc42a3341c1575a4968c20b54d7366161d1146da62414dc367d26501ee6b4443dd1460bac26ea9b4a38abf0596aebe39068a49e0a4a7a83446b6303ab923efc7d3a7f7cc1328a69a3b129b3cc9917f0fabcdb8edfda50c7ab493f811d3abdb61fc01b0c5355dacadd971d83bf244cb4354850c145444444e488f0910e2e8e71b16ebde1cacbd712fbfb167e72cf60cc187b9772aea1693ad741fcfda99c367d287f7dea2fdcfa699bb9d7c33917c2459f81c8bf3573c6a9a7f0db9f57e09fe606cbcdd7af5dc078f7bdbcf85a12c7e4f4bdc63ef47c4122b1467e7a5682c7e6955051b7eb1ac81616c9788ce6c48eef275a7bfb68bc412291e9acaaada6b1b589ba782915c57d0afacb889458d4d736126f88d21aaaa6babc88176aeb696ca887f212b6e508cb0212b4f6adcbebcb8415efeebf282b6101167b5efd38402816e7957bbf4871f3dd5c7b7230332f46444444440e7b1fe9e062b7186eb9a99dcb439b88bfeba66dbd03b93b8ee5320e30c426b67824533ef6055ad6c23baffd279fbc0ceca539a437e4927e3d8fc99f307cfa820e0a86d8e415dad86bdce4e5c013ff9bc7dccbcfe38e7b26c2b03466d75c74e87833e1e5c7a72578685e09a1fa1dc38b2f10a4a8fd312aa3cddb87932562d4c6e2dbca042a2a39cbaaa7b2b29a785939811d8ee0a7345c8215aba432ea2554ea2718a960c2abd5446abc54f4995be32b29a18866ea9bfa040b2b81e5994279c9eed767f615fbf1d0447de31ec2483c462cee2318aaa531fe0c374d5945b4a6718f43e344444444e4f0f1d10d2e36b8731d1895a2fdc55cfef9722e9fb9c086f6edd3e78d6d708dee61f56b50ffd22554cc3b9bdfdd7b2fb38f7f0d8699edf361721cd8e83062e408861fe503cbc1c97148b7e7c1866ebefea99779eaffc6d3f596c13578d7a168079595c0a2b78303c01ba4b2a1815ba6afe2becb4a08d5c5b75dd87b4b2244a6c3ab3707290d55535b534945799440599f6e157f1995e55e5eb8af95f2f2c02ed5f9cb22945a2fd0140c11f482b73844c58436e2c5153bdcd9de1baca4ea2c78aaaa96a6de06c463511265d5847aabdba1ddf40e552b6ae7a15038b33299d54c2c1687d6269a9ae324120d5457379000f095102a9b42a0f830bd498d88888888ece023195c1c1bdc83818214efac80333eddcd8ca9dd9c7a710a67bdab37d4802bd0cdca97e1dbd1f309477ec59f1f6f22e7ddcf71fe5560bf93b3e3b79703f99e56366dda02aede39f82e0767839ba9a7ac6470ee7aea6245506473689616b3883744a9aa8ed14e9286aa08b5b1de9e94c4d609faabb86fde3104cb23bdbd2ac554c61670cbf97e9aeefb2637d43411a8aaa562876b7f1fa59110d3cf8f50b6bb4ce02b25527115555bd3873748287c29a17070a7917201c2f50dfcb4b88e8ad2322a4215543685a8af2bc78f45737d35b58d908c555155df9c0923de526a1aeee51a7f8c6b8ff71128abc52a0e302118e81dce6611bf7b36c5a5154422116aac0875553bd72b2222222287a3ddad7195fbf043f777cf3ef782033ad0c2850b993b77ee7e954d2f1b0ef6e6033a7e7f32c6c175548abbeef1f3fd3b0b59b3f63d36beb019df0ca015f042771b3cbc109e7ffd739c7be5ff63436b9c775f3e9f5b6f5c87cbce21d565307dbe3df7a81e1e9e3f86c66523f8ef6fbf8abd3117c7011c708fefe1873f3c8ee75ec961c103afe3accdc1763ee0f262ae7cdc53d7f7c3b7f0c1256261225635d172cd7c171968f3e7cf67ce9c3903dd0c1111910fec99bf2ee08aab3e7d05d00574f6fe74f479de05581fc9fbb8b88e4ef3973ac3ffbef5152eb82cc5f19306137bf55906bdfcbf8cf4f5d0b2decb7b9bce2499fb054e387d3aafbdf04786767f956fddd88d71e790dee2c2ec7c13491b72f30693ecc9859e3eef1b2005a74f4bf0ebfa1359f5cabf9830b51b361eae5f7d2b0d755051a3d0222222222287cee17af5fc8119e340b74353bc985c6f01b53f0fb1aa75308ffcf962121bdfa363d55a129bbc148d2c64445e3389b77e4449e079cebd0868cf25bdc5c0cea1257364de5a73146b37a4c13618fa8c087381c7d585e54c6451d3db7ceed4b761e321fbc8fd22d15049a8a695803f41b3bf8a7ae5161111111139843e72c1c565a07d054c39e10cfeadeccb2c5edacd6b8baee0c4719be9183c919eee2df806b5e2249bf10d7a8f5997028506674d0e36ec3eb438401ebcd7ba19e3d830d4e074f6d9bec1c549d3924c19bb8a575778c076610c99a16487092bd14ce363319aff7f7b771f64d75dd877f87beedd37bd4b96b5b26c4b0664871a0517db60820dd81063ca4b086982039e404ac093944232cd7468299340c8b49d661a66dac20470a7e46d12c01443d2da602292106cc240a6716d32c6f208bfa29564cb5ac9bb7bf7e59ed33fee5d6bf5b2926529d64ff2f3ccdc39cbeeb9e71e2dffecc7bf97f38b9fca97ad1b0100e059f69c0b970c7453b75af9bbef7732367973661efd60fec55b1ec8da73937acfd6b486922cedbf665ac9de56ba93d5519f785fb59a64ba497be4fcbcf2b24792769da6693ff5f37aa29d15e7cce4d5974e6672fabc64e2de24edc52f58a073defae58c9d46a10500c099a5ac70a993f640923549a6934c26dd6e8e1a0dc76d28195a3698fffcbbdfccfb6ff872fefba79f4c760fa4fb4495f6609da649eafdad64e1de01c7f8fcd6409dec1bcc9353cbf2928bc693cec16f685a496692e1e181cc364b0f5e030300001c5351db21b746927d13c917feb4cef7efeefde7fdf6d2a43d92b497e5e46c233cdccabddb5b195d37910fbf6f2a196fa5bbbf4a5a49b76ea5ae9fc1afa4dde4f13dcb33d89ec98f9db737993ac28d56c9cae5439999eeccff4f0000e0692a6bc4652099986af2c8ae64a2d364aa93ecda9bac5f939cb53679de862ad5d2f402a69334ddde3a91e3592bd24c26cb9756f9f34f3639e705497767fbc4676d8d34d9f6a3b33230d0cdba7593c9f4912fb864b8ce5cf7597e002500009c018a0a977a22d9b0aecaafff5a95eee3c99efdc9ea554dfee26f9b6c5c5fe5ec4dc9edb73459b332b9ecc555960f2703cbd31bbea8fb17994dba33597448a39e68e5859b6793e5d3e9eeae8e3b5a5aad4362a9ae92a5c90f1e5c91816a2259d1a4de7384519b2a999c9acdcc6c93b49fa567500200c019a2a87049d55bd3523dde5bebb26e6db26e7d950b3756695ac98e1f254b972733b3c95f7fb7c9503b999e69b2767595f56b93c18164cdca2aabcf3d70bd7492ccf562a6d54e9a763f6cf6b48e6fbe5693a49554c349359074f7274d9d0cac9e4bbac917b69e956b2fdf9e2c4b9a3d87fcb3ea24c3c9ee3d7319199ce92dfc3f75cfdf040080d34e59e1922475d25a91a49dcc3d910c2c4d329454d3c9b96b9373df502593496722199f481ef95132d549763c9e6c7ba0c90bce4bea7b93994e323c9c5cb4b1ca9a95c98ad5bd6b5603e9adec9948d2ed7ddd9d3bf66db5dabdfbf89f7fda64e5b23a3ff7cbfd219efdc9fffae2cbf364fba7f3aa97fc87fee84f9554bd6199f6d94db2b69b3c98dc76c748aedaf250325aa5f5649db9f176aa01632f0000702cc5854b6b59f2f7ffb7c9de7dc935d754197ba817206b36a5b71bd774926e32b22419599aac3fb7ea8d86b493575e56657c3cb9eb074da6a69b344d95af7ebbce86b5555efbc62ab77ea9ced47472d1f3ab5cfcfc2a2b96275537692f49ef37d1ea5f3f497732076d5dd034493593bce4923a3b768fe48bbf3f9407760ce6cbb79f95ef8fbd30a3abefc82d5b5bf9b17f3a94e523dd64ae4adaeddc7e6b93d6eae579e08197e5f9ffe48df9f33b9665c79b26f27b1fdb97b3d774534f14b53f02000014a9b87069bac98a65c9e048f2c4dee41bdfa9333898acfa41952555b26a45f2bcf3aa8c0c2543cbfb6feaf4a698b5dbc9596b92d7bcb64a9adefa95667f95c94ed2d9919cbbbeca4c93dcff40935d8f258f8d37797c4ff2933f5165662e999e4e363faf4a55373977439566c1484cd3f4a6865df6134933d3ce87fed3b9b9fd6fe6b26e7d9d8f5e777b5efae2b1dc75effadcfdbdb372d52b76a6e95499ea8c64d7d4503efb879bb27dff75f9959fdd965f78cd3fe4e62f0d64eb37d7e6ed6fdfdd1bf90100008eaabc70e9249b2fac92c1646267f233af6b65ff93c9838f3699984d1eda913cb1bfc9637b92d52b920de7f48264f5d9fd0bcc2699e83fff2549bb952c5b922c1b49ae7a55d5fb17cf54e9ec49763e56e5f17d4d962e49e69e4c66e792bffe4e9d562bb9e167abd473fdc19cd5e93d53a69374c706d25e36910fbdfbd17cf09d3339eb79d3c9d23a99ab72d56b76a7de3998eede8154034ddacba7b3646479968f3c9e9fbffce379f7b56319bd24f9999f1b4c67fbd0c9d9d10c00009e038a0b97b492ee5492c964e9b2a46a274b9627a31bfbd1d14966a792c7f6263f7cb8c97d3f6cf2ffee4b06d2e4859bab6c38bbcaf040b2624def72074df91a4fd2f476061b19492ed89c5c3058f5a6870df6cf9ba8922549fd64922a6955c9d6af3779d1e62ae76c48ea4e9366aa9d55ebc6936e95ec69274fb453f743a9aaba69aa2aadc13a3313cbb2f3d1763ef51bbbb3e1659d642c99db3694d6409d91a14eba5dd3c40000e0e9282f5ce655495da7b7cdf16c7abb8325a9aa64b0d51b69d9b0b14ae6aa3cb12bb9677bf2e88e64fb434d2ebc20396b2699ed5439fffca4993de4ba4d92b9a4dd2499e94d01ab3b493598ec1b4f1eddd6e4a24d5506877b53d7968ef4466ed2f4426a722a19c960dac3e96d2230d35be03f3894d44d7fabb2b976aa4e27ef7bcf44e6f63669b60fa6ee2655bbb7f61827c32f00000d7649444154a6dbf5084a3819c6c6c6b275ebd6537d1b274dd334b9eebaeb323a3a7aaa6f05008a526eb82ca269926eff0194e9f44644d6ac4d5eb5a94a3ac9dec793b4927bee6bf282f37b9b7c1db66f57d3df5dac49c6f725ab56f5d6c76438796847936f7ca7c9e64d559a3a690d27af78432b196b32d749dac349a7dbe4ceef2457bcb4cac478937fb83fb9faaaaab74b5993b4572477dfd5647c7f93c1ed55daed565efab21cd802b94eda434986927aaa174ec7b53533f0945b6fbd35ef78c73b4ef56d9c54b7dc724b6eb8e186537d1b005094d32e5c0e55f7474d32d38b98d56b7a6b515e79696f9dcca1bb8325fde7b90c269fffb3268303c96c37b9e665c9fa4d552eb9bcca252fadd2ec4d9a8164fbf6264ffc7d93cbb65469b5937a2659bbbaca8f5fd4a43593b452e5a20b92c1c1def361aa56d2ccf59e27b3615d952abd0d05ea270f7c7e3594ecd99b3cb6a7c905e756191ceac70b70dc060707d3344d9aa649555567c4b13bbf480f0078ca691f2e0bd54d92e97e3cf4a77f1d1a2d496f04a63b995cf2c2e4bcd12a3b2792bff95e9db37e98ac5c92d4dde48acb7bdb2c776692a1c1056fae92ee74b2614395cc252b56a6375d6c7f6f1a596ba4f701e79f9f03433d73fdcd02aa03d7a85b4d763cd65b6bb36963ef9ac03353d775aaaa3a638e4de3f94e0070a8332a5ce635cd11a6872dfc797febe48bb7f416e6af5c9f2c695a999b6b32fe64d21a3c103e2fbab8ea6d18d05fac9fe4a97849d29b1e369bb406926669f2bfbfd67bf0e41b5ed74a35bb602465c154b0663a397b7595ab5fdd0b1ed102cf5c5dd74f8db82439238ec205000e774686cb3155fdb532f3d3b76692f337f57fd04ed2f44750e67738ebffe8a8976c253313c9d2e1e49cb37beb5d16fddba3d59b569699de0e67fe468113e30f7d0038f33d37c3e550d5824099ffd671ee545ccf2543495e7b6d6f0a59777f8e384ded50fede8213b370c4e554af4da9aa2acdd4837978e6826c5cf9ccaf23c400e0701e2472b254495325ddf1a43b11bf597816d575bdf8b1f317f9e7eb5767cd9a3559bd7afeb82957bcf9d7f3c7f74e1efbfd49ea7b3f9e2bce7973bef8c431ce9bbc2bbff5ead7e523773dcdeb2e72142e0070b85333e252ef3ff6391c99df1d1c647e8462d135237593643857ddf457b9e9aa55c9f474c677dd9d5bffebbfc9fbafbe2f9dbffdb3bc7bd331d69e2cf8baae8f765e2763e39da4690e8b106b5c00e0c49c9a718181f392d64aaf67f21a38ef94fc5f06a55a182e8bbd9264e5e8c68c8e8e6674e3c65c74f91bf36b9ff94a7e63e31df9d8c7be95a9fe797bbffbd9bcf7ea8bb376eddaac7dfed579efef7d377b9b264d7a1b7e34473d6f2c7f72fddbf2b95dfb72cbf597e66d7ff2e0d1aff934ee190038e0948cb8b42ffee1a9f858e00cb4f08ffd23ae19e98f90e4d0b530439bf386b75f98dffe83ff93fba6aecc8f8f7f29375effe18cffeae772cf6dafccf0b6cfe697df7a7ddebbeece7ce1c5fd74699ad4634739ef739fcfb72efbf94cdff477f9cc95c369c6be94f75effe1ecfbd5cfe79e5bafccc8fd7f901bdf7a7d6e1cbd339f7bebe8a26b5c0080c35989019cd69afeb4aca31d9b45ce5bb16e65323e9e4e5d67e7d64fe78e55efcaefdc7865d60dd559b9e517f3b10f8ce6ce4f6fcd583f7eeaa779de7c248d6dfd54ee5cf5aefcce8dafc8bae1262bb6bc2bbffd81d1dcf1a9add9798cfb06000e665731e0b4f6b4475c9ac3771fdbbb6d77327a65560c377962dbae4c3f7c537ef2829b0efe800bb765e7f4aacc8fb81cf5bcce85fd6965bdf8d8bb6df7a2e78e4dd659b7c4880b003c5dc20538ed1df549f439f040da83be3f7d7f6ebbede1acbbf29fe5bcbacefe0b4733bcf95df9fab73e900be72362ef4379646634e78fdff4d4fb571dedbcc17be63f2849b262f3ba0c5ff8ce7cfd9befcf45f371b2ef913cd4393b9b468e7edf00c0c14c15034e6bf3a328c79a7635bef3a1ecdcb93363630f66dbf76ecb7ffb951bf21f775f937fffaf2ecd70d3e4ecabdf99cb767f22bff9e9ef6667d364726c6bfeed9b5f9e37fd97bb7b8bf77b1f76ccf386339d5d0f3fdc1b51b9e69db96cd727f29b9ff95ec6ea3a533bbf910fbee98abcf977efc9a4696200705c8cb800a7b563eec2d53449a6f3edf75d9d4be7bf37bc2e2f7ac55bf2c9af7d283f7d7ed33b65dddbf23ffe783c1ffa77efc9a51fdd9d645d2e7ddbc773f3472ecbf023df3ef059473b6f783c6f79cbe6fcc2bfbe3a3f75cfd7f257bf759473e76368917f13007030e1029cd68eb9c665e8eafcd1fd0f2ffaf3f9e9594dd364e5a5efc927befa4bf9e441e7d56936bf2f7fb9ed5fa6aa7acf7159f4bc66655efe91afe6fe8ff6bfdf34197ac92fe5935f7b4f3e71d0e7f6aeb3d8ae62c205000e67aa1870da7ba64fa82ff5285c00e070465c80d3da535b1e3f8327d4977a142e007038e1029cf6fca10f00673ee1029cd66666668ebec6e5343ccecece9eea5f2b001447b800a7b5ebaebb2e5ff9ca57d26eb74ff5ad9c14dd6e37af7ffdeb4ff56d004071840b705adbb2654bb66cd972aa6f0300f8476657310000a0782775c4e5e69b6f3e9997030000487212c3e5da6baf3d59970200003888a962000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b000050bc81c57ef0975fbfedd9bc0f0000e0b96b36c95cffd54d52f75f4dff95ea086f1a48329c6424c99205c7f9af47fa3f1ffcc7bd770000e0396036c974924eff35d57f75161ca7171b7169d22b9c6e7ad5339ba49d03a1d3f4bf0f00007022e6d20b97e924333930fa323ff2d224479e2a363f1c53f7dfd0eebf7961b47417792f0000c0f1981f2899492f5e164e1b7b6abad862f1313fdad2cd91a3653e680000004ec47c73ccbfe6475de67ba44e9ede88cb91a2653676240300004edc7c77ccbf9ed188cbc26859b8e6a515e10200009cb8f91dc4e65b63e1f1b8465ce6bf6ee7e06839d28e64000000c763be371606ccc2e351475c9a1cbc6f72950323300b5f00000027a239e455e7f01e59343eaaa7790400003851cdb18eff1f2a6a563bcda213ec0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 So this is what we want the final result to look like, but with more books. Go ahead and copy the bookContainer div a few more times if you would like to see what it looks like. Now we are ready to start developing the actual application.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Creating the Model, Collection, Views, and App\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 First, we\u8217'll need a model of a book and a collection to hold the list. These are both very simple, with the model only declaring some defaults:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // site/js/models/book.js\line
+\line
+var app = app || \{\};\line
+\line
+app.Book = Backbone.Model.extend(\{\line
+ defaults: \{\line
+ coverImage: 'img/placeholder.png',\line
+ title: 'No title',\line
+ author: 'Unknown',\line
+ releaseDate: 'Unknown',\line
+ keywords: 'None'\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // site/js/collections/library.js\line
+\line
+var app = app || \{\};\line
+\line
+app.Library = Backbone.Collection.extend(\{\line
+ model: app.Book\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next, in order to display books we\u8217'll need a view:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // site/js/views/book.js\line
+\line
+var app = app || \{\};\line
+\line
+app.BookView = Backbone.View.extend(\{\line
+ tagName: 'div',\line
+ className: 'bookContainer',\line
+ template: _.template( $( '#bookTemplate' ).html() ),\line
+\line
+ render: function() \{\line
+ //this.el is what we defined in tagName. use $el to get access to jQuery html() function\line
+ this.$el.html( this.template( this.model.toJSON() ) );\line
+\line
+ return this;\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We\u8217'll also need a view for the list itself:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // site/js/views/library.js\line
+\line
+var app = app || \{\};\line
+\line
+app.LibraryView = Backbone.View.extend(\{\line
+ el: '#books',\line
+\line
+ initialize: function( initialBooks ) \{\line
+ this.collection = new app.Library( initialBooks );\line
+ this.render();\line
+ \},\line
+\line
+ // render library by rendering each book in its collection\line
+ render: function() \{\line
+ this.collection.each(function( item ) \{\line
+ this.renderBook( item );\line
+ \}, this );\line
+ \},\line
+\line
+ // render a book by creating a BookView and appending the\line
+ // element it renders to the library's element\line
+ renderBook: function( item ) \{\line
+ var bookView = new app.BookView(\{\line
+ model: item\line
+ \});\line
+ this.$el.append( bookView.render().el );\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note that in the initialize function we accept an array of data that we pass to the app.Library constructor. We\u8217'll use this to populate our collection with some sample data so that we can see everything is working correctly. Finally, we have the entry point for our code, along with the sample data:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // site/js/app.js\line
+\line
+var app = app || \{\};\line
+\line
+$(function() \{\line
+ var books = [\line
+ \{ title: 'JavaScript: The Good Parts', author: 'Douglas Crockford', releaseDate: '2008', keywords: 'JavaScript Programming' \},\line
+ \{ title: 'The Little Book on CoffeeScript', author: 'Alex MacCaw', releaseDate: '2012', keywords: 'CoffeeScript Programming' \},\line
+ \{ title: 'Scala for the Impatient', author: 'Cay S. Horstmann', releaseDate: '2012', keywords: 'Scala Programming' \},\line
+ \{ title: 'American Psycho', author: 'Bret Easton Ellis', releaseDate: '1991', keywords: 'Novel Splatter' \},\line
+ \{ title: 'Eloquent JavaScript', author: 'Marijn Haverbeke', releaseDate: '2011', keywords: 'JavaScript Programming' \}\line
+ ];\line
+\line
+ new app.LibraryView( books );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Our app just passes the sample data to a new instance of app.LibraryView that it creates. Since the {\f1 initialize()} constructor in LibraryView invokes the view\u8217's {\f1 render()} method, all the books in the library will be displayed. Since we are passing our entry point as a callback to jQuery (in the form of its $ alias), the function will execute when the DOM is ready.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you view index.html in a browser you should see something like this:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d494844520000032e000002660806000000bacfd41e0000000473424954080808087c0864880000001974455874536f66747761726500676e6f6d652d73637265656e73686f74ef03bf3e0000200049444154789cec9d779c54d5f9b89f5b676667fb2ebbb0f4a2880236441415151011633762418de597a651a3c69268621263349644f38d1a6bd4686c51638cbd022a207644e9bd6edfa9b79cf3fb636696ed3b5b50d0f37c3e87999d39e7bda7dde1bcf77dcf7b40a15028140a8542a15028140a8542a15028140a8542a15028140a8542a15028140a8542a15028140a8542a1f866d13af9bcb3578542a15028140a8542a1e829b2b357b38d42da5d77dd20defbfb1f79e4c33afcf487074ddc7f7b5552a15028140a8542a1507c47987ee56f3830f8257f7afd123edff5cfdc366a08271e705c2e29254502a2c5ab84b62d275a3a13b04d61a9e8d7376b3b4be7d9b44e33656dd2d1dafda307725a7fd173392dbfca42623b59da2fd9b502d99bcdb4760b74dbf4a675b937da91d3f2cf6e4ad2da7cdbee27d9c8caea3ee815399dc8ecfc76cb5aaed673414de4f44c58fb22bad1639d16e9c26876e9f21ddc073db8297a434e9bf7416fdada65e33fcd3feab6aca66fbb29a9959c76beec919c2eca95dd694d1b25ba25a7b510d973216949b43907ba2fa7cd6fb2979155918e33642fa763b9b2fdafba2051b6fca09b725a7ed03d411d0f517632dbcdd5c52fba2ea7ed4c1d66cfb29b3a95d66539ed7cda23392d3364791f74c2860d9b0008ed378f9563fec9237b8e64c2b871a5a4741001f82d5e0520dab4b864de1c34717f8a8a0a01882712595645a15028140a8542a15028da26a35fd42cd81f7f68844824021022a5a8784d5eb5f4ab04b4b6141720a5b4141616207bebf18a42a15028140a8542a150a4292c2c8027ee2732fc1a80202925c5005cb619531addc73ab4b828140a8542a15028140ac5f624128d42cae2e2d25a6911e9bfdbf458370e9ab8bf575090dfad0b4b2911522045cac7b2ab161b29259aa635964bbdca747d53af9a96f1b7d71af36725474ad034340d34740c4347d334745d6f578e42a15028140a8542a1d87ed4d5d53367eebcfd0107483679cdbc7700a75d8b4b77140e2105d217b8ae8be7fbf8be6c54080c43c3340c2cd36c7787af9432a59e48899402d7f511be8f100221257a5ac9d00d03cb3240d333956da67448996984c8428e896e18187a4a89d971951781134f92f424664e8890d1563d259ee3e27a123d1020607ced95dc81507db1fd10b80917c71318a110c1eddeb712cff5703d911a4b7d7b5f4fa15028140ac5374090e696169fe67b5ddadfe3d215a494085fe27a2ec9449263475430be7f31430af328cf0db1391267556d03f3d757f3ecb20d0483014cd36c2583b485c4733d928ec3902143e8dfbf829292528a8a0aa9a9a9a5aaaa92f5eb37b06ad52a02b68d699929cb0adb2c306829799ee7914c3a5454543062c4700a8b8ac8cbcd251289505b5bc7f2e5cb59b76e1d01db06dbc230522bb01d4f791138c900430f388cb1837358ffca73cc8b582d941789e76ae40dd89de1830a897cfa1e5fc5ad1d6bc12e3d1a6a1a88f926b945b984cd5eece766b2c304a4be63f7c54e8bc04ddaf41b3b9edd07e5b175ce2b7c14b5b6a3f2929ad7e1bebba6c6f2f3f92c4d5a4a795128140a85e2db4730fd9a515abc74d2492b343db6b848291142e0382e7d6c9d1b8fda978adc0052f8203c64b48e7243a7bc4f9809e5f99cb46b3fae7867115b930e966d37cac8bc3aae8b65594c9f3c99e2e2427c5fe0fb8248a4814020c0c0810319326430a3468de2adb7df26e9b8d896d5ca2dcc755d0c4367f2e4c994979721444a4e2211c7b603f4ebd79701032aa8acac62f6ec3924920e41dbc630bbb30213c4eb22445d8168ec360dc33409e40409078c9e6d1c921e516710479e792cfb98f5bcfaf6d3cca93309365dbc499786c4307e78e54f5279ae7d874f2306b6be832861d223e20ce4941b2e6146f10a1eb9eecfbcd61020275be545fa446b1a88fa6084f328ce69d2a7ad64dfc6f35b77dd71fba23b489f442c412ce1e1a527996618d8768070d8a63775c08eebe111710671ec8f4e4bf5ed072f30afde20d093be4db72d9ef470fd4cdb4cec4080dc10a979fdcb0bd3633997cfa306b6b5138fa542a15028148ab608d05c697149292d19c5a57d8b4bb68a8b9002d7f5e81f30f8cba1bb13922e6e6d43bbf9cbed20771eb6073f7de373b6f81ea699b2980821f17c9f801de08823a662981a914824b54fa6511b70d0740d0d8d706e8823a74de3e5975fc1f35d4cd342d7d3161bcfc7300c8e38622a76c0221a4dc94166dab54d4e5e7e2e471c71042fbdf4328ee7626b1a86d195c7b9824434cc01175dcdccd17dc8cf3c0af6a36c59f925735f7c86673fac251436bbafbcb415925fb688a79f4d9e6f10e97bf8f9bbb2cf400b18c9f8a141fef7a14f289bbe963ed14811c7dd763b2794c186277ec9e52f3590979372156c2d3bc47fb6b610b103f54597f193d439651c70dc311c357134c34b52f775bc72359f2f78937fffe7032a75ebeb515e7a7b9ea5db36e1d8ef31fdc03d18d127848620ba79051fcf7d99275efc8cfadebc9e42a15028148a1d158b94c262928a2cd64c6981b62d2e5d420af05c876b278cc08c56934cc63b2e10adc70ae6f09bbdfb73fedc159869f72c84c0751c261d7210527ac4635e7a81b22d65f6a0689a86e7b95896cd81078ee7f5d7dfc2d4537b5e841038c924871d7e28ba0ef158bc13391e966571d041131ae574497191125f58940e2c273f00e0914808ec6098b211fb72fc85a319fcd7abb8f5138fbc80861b8d529ff0d396190dc3b2c80907099adb5cfadc448268ccc51529f7392b106c635b50caca1371013340617ecba19424eaea49a0630503e4367b2a2f706209a209174f80a61b044221c221031d40fac42371e2aec0cf3cdd4fe7c90d35b51ea5e5c45d3c99ce93132237d8dac2a41936c19ab7f8db83210e2a5ccbab1f2609db36be9320127570fc54e005ddb4c8cd0f75c915a895ec85719adbcddae90b2948c4e2c41d1faff149bf4d416110621d8c539be52c029a4bc2032d10a624cf4443e24523d4c40598214a0a6dbaece1241c1ab4d1fcf0a69f32a9a459ab09950e61bf4346f1d253ef2182169d8e6b4a60e779a4c0896fcb031abaa1630542e4853aac6cd6f3a159db6efc29934a9b7ea1132e1fc1c4099ff1e4739fd2bcd3d26399ae775e663eb63b96212cadebf35d372d82b6869774537353d3b14321f272ccd67d996d7b150a8542a150f4881e595ca404cf7399de374c998ce1d6d602b025e6501977d9bd24dc9877494d8c5ccba02237801f6fa06f6e21d3fbe5f25a95836198b8be47fffe1504834162b138a4239209211a9fb06a1a8d51c0344dc3753d42a11c2afa57b075f3166cc3c6777dfaf6ed4b6e389c96036fbef9369ee7b5d986a95327e3ba6ea39c2d5bb660ca2ee8732dfa69c5bd5770e5ebd508b30f87fde2f7fc744c80bd0e1d8a316f3149cf64c82957f3934306539a630009b67cf93e4fdfff24efd719844c4922a25171e8e9cc3a7a7f46f509805bcb572fddc9f5ff6e7e593759c011bfba8d33479ac835ffe597bf7d9e958ddfe633f1677fe2d0d27c2caf86afdefa37773eba80483080a909e2118b11d3cfe3f4e9fb32acc0c0ad5ecedce71fe7a137d662864d92c96226fff82ca68cea4fbf82001ae056afe0ddff3cc2836f6fc6ce31d110c42336bb1e7d16671cb90f83f3349caaa5cc7ee69f3c3c672b81961626e91117c339fe8c69ec63d6a37ff8010fae4d5230fa58ae38fd30f6ec1b0499a476f53ceeb9e95116fb01eccc0ab1cdb9d824625d1bb2ef59db595f58f84e1ee34e399769fb8c606859180348ac7b9debaf7d06f394abf9699be3a4a1fbf9adcbad5fc85c6f1f260fd688cdbd891fddbd1acbf0283afe46ee39a614963dc88f7e3b0f3faf2bca8b24190db0efc5e7a594167f1dafdcfb10fff9600dd5ae4df1a0918c2eddc84a2d80854faca18371cdb5d1e964ec736d74e9138b0519356316a74cdd9b618526c824759b37f0d53b8f70e78b1bda198b2ece87a66d2b05d8c2db0f3cc4730bd750e305e9336424c3b5afa8b30db4c65b379fa9d7dcc5544bc3af5fcdfbcf3dc2bdaf6fc00eeb38c976c6f2d78fb3d2cb656427f3fdf01fcd62caa801f42b0ca2236958bd90d7deaf65c8c107b277450ec437f3d18b8ff0b7e7972373ac745f76a5bd0a8542a150287a4a078a4b76025ccf67529f105eb41ee1b9006c4ef8dcba702d97eed58fdd8b7358521be74f1f6de0827d06d13798cae345eb39b44f881737c7d17513df13f4abe8473c1ec7f7fd741d44a39524c3366b496af92784a0a2a21f1b376cc492e0f93e15157d492452723245a74e3dbc959c37df7c07d775d1b4d4b506f4af60e3868d5d7343916d79cfe804f20a290ea5bab77e533d42d7d0858b97534a89e5d0502708168429dbed507e7c85c3ea4b9f6653d2a4ff49d770fdf7faa6657bf85621056e0c8f4013f179ec39eb12ce1c6942dd3cfefcc7e758a7db298fc03439a5f9b8491f02458c9c722ed759b55c74ff727c0c86cdfa15d74c296eacbf553c9c43cfba9a11f9d771d5739bf0b402468f1b4685094887a4b009140f63d2d997a26db882bb570a02ae64e81957f3cba9258047a4de27b76417269f771545c9abb8e5238f5cbbc9d2ad8d7ef273c6f3b39f4f67370dfcba2d6c71429416dbc4e202824de6605b7d2c9b7cdee61874d6174b49eaa51c30654f4698002e49cf22a8d751ef7a14b43b4e4fb24a6ba39cb696f7df2e65f29983c919b5177df5656cf40bd963cf942961f5bb8ba9374df23aa96b33844b326f1cc7ec9d1afbe50fdfce0373a384c336b9a624bafe33e6acd509044ddc88ec645cb7604abdd33c86b0d8fdfc6bb9f2e07c4050b779337e7139c57d87327e6c29773ebf9e567abd9438d12ece87166d5bf5f0addcf9663db939261671aa962f643306415323d1f49983e593f44d02f9839938eb12d870057f5bea23fcf6c6d26697333b9fef63f61b41fff47c77359bbcc1e3387e70aa88ef83112a67ef132ee4476b2ee796cf0541af8bed5528140a8542d1633a302d74bebcd2d010becfc0a08688c690420030baac90cbbf37893f3dff16270e29e49955755c74d4c18cd1ea110d350008e133201c42f87e6a63bdf0c90d87719c64eaea2db48796e7b240aa9cef7b8473729042a4f63b089f70388ce338cd64c4e3f1667232f8be977ef5c949cbe9c2d2b215c3cebb8527ce6bf241ddbbdcfdc42af450085bd7587dcf257cff6e8bdc823cc2c5e3b8e4f7a730bc640f762f7c92d5de78ce3eba2fe0f0f93f7ecf1f5f5a4b420f909fa323294a0bb419f2bd9f71d8be25905ccc03bf7b800fdc20b9a68feb662e1ae1addf5ece5f177b544cbd9cdbced9958283a633e6915b59183a8c59538a81380beefc35b7be5347f9f4cbb8e5cc5d1870f409ecf9bfdb59d0b850ace7d55f5fcedd2b0a99f1db1bf9c1b030fb1e3210fdcb15240b0e66d6d4126003ffbae23a9e5eed5336e54aee386f04fbccd8978279b3716cbb89cb56cb3e9518050328d3005670ffb537f0ca160f8c10f979412cadb331c89cefd396eca6b4d7178b99dfb49dd75ecedd4b5c8c6088fc5c93da76c7e92956d6b555cec6284cb0faccc10c2ede8b71a54ff174c370c60f04d8c8bb1fd7625a993d67a93a3b0d111adc6d35d5ac104579db9ed44be1a3970ea50c802d7cf4452d662888a1497cdfa2a87f7f720d4162eb1ad6151cdcc9b8fe850f3b1dfbbfb0307c08a71d9c0f4479f7d65ff297053106cefc03371f5bda58ef56088f64dec42ecd87966dfbe0b36aac50909497a686a99ba91fa766bf03e9fe5e5ec851bfbb917386e5b0f74103d117ad40182df2348ec9c15cd4c5f9fef74d63f9c51d3f65bf002cbbfbe75cfd8ec9d4eb6ee2fc11367b4c1880b17019c9c2aece7f8542a15028143da5679bf3d39be173a4dba8700088daad8ccc733969fc181e9cf331671c38963d44355e7df5b6b29a4650b88d1615910e639c71e9d2348d77df9dd7eea50f3c70ffc6b281a081903275b4665a3171d3abf88c92d2b43d4ddfa7ac32a9bf0381b49cae985c5ae6addbc8ea5a0f23a798017dc2507020175db88c4b6f9e4b8396c798d32ee647d34790d7ac904d8e0d66f95e0cd180e4673cf3d606cc825c8a35d9a810a608b2cbbe0301974ffefe775eae34c90fb5ac86c0f52481b0c1d60fde63f539bb32cc28637889cec785a3190810ff9cffcdaf269867b169ce1b2c3b7317465a83185d6e307f7d53591ab656c7575fd5c0b022c225b918be0f156318044005336fbc9b994d8b14f5a750176c12127ddbd69d1668f89b16b2a06a2ad34a8671fe5ffec2d4796ff2dc332f326fab4faeddc4a1aa5357b136beeeb42f0ce66d6e5e9f405e98b02171e2414677304ecd2f97292748547fc8ebab6672ce90320e1c57cacb6bf767171dd8f83ef32ac10a6736954bdc8860974befe5eabdb62d6ddd85b770ce9f9713cc351acf3302bd49f4b4545f48e113730771eed597734010beb8ed026e48763eae9fe46691276f141500892f78edb328c12c361b49df43efe27c6873e8dada74dfc6bcb1f56df331a7388c21249ed13c4f202f4c8e8893a8e8fa7c37e2abf97c33ec370802610b43ab63d9d21a185144b02007437463fe2b140a8542a1e8313d7215d365ca6dab219e24e0a70e7bccf0e59a0dfcfbcb3a4e3b602ccf7ef00543461630aac06efc5ed37522f144caed4b4fc989c7124899f277d2349d430f3da4715fcbb67aa51637f1781c21535696782c258774de442289a6a5377bebdb1497b6ce6711422044eae97d32994c5b753a6f7bb3be6af27ec5933773d51bb52025397b9dcfed571c40de98694cea339b17fbcde2a2e923b0fdb5bcfeafd7589c1cc0313f98ca202d1d2a41d7d29b85451317a8d6f589472114b6d8f39c594cfcea2ee62703cd43236feb2c30adf4535f996e679af435b36aaa26f19cb41f9aa6a7fa365357aa98f7d202363771e7110d4b69300c34e1118bbb08c32614682dd6d056f2d0d57f60f5f1c770cc94d10cd97f0617edbf2fcffef23a9edca291d3e49c9a56eb59d9dc95ac533aea8b2617116e126dccf91d8f531be5243a9659c3fcd796f383f38633e0e0891cb06e2436b061f6076cd14dc24ddcc43aaa7263bb340351bd9a4a26924b19fbec51c8536f44b0831d14ce665c3bcca3351eeada66f4ae36bb2dcbf9d0ac6d3aa27a2d35403e65ecb347114fbd5e8f1534d0b59445d6173a569b01db257ed3f9d85633d2f74e766d6e59d6c3f132e275a0c5f5b29dff4ddbab5028140a85a2c774f03855769e3489ae1b2c6d48201108df45f82e4b6ae3dcbab8960b27efc7f7fa5a5c7ee401fcf9cb5abea88935e69152b03c92444f4715d3759d9a9a5a7c5fe0791ebeef118bc588c7e3c4e371128944e3fb582c8aef7bf89e87ef0b6a6bebd272521bf7ebeaea1be5789e4f6aa1ba6dbf4c66d33fa442277b69397575f5e8e9854ad7528b9e9312814d41493ee9936a10d220bf7f59eaef356ff2e40bb3797bf6c7ac6f345469789b97b0112038861913fae0d447a8a94be0367b6c5bcfbb7fbd95ff6e02c2fb70c1cfa751e626f1da5861266316bb1c7138830112ab595c25f0367cc65a80e068a6ef574cb241d0f7a0c98c00f0d6b2688b97c5a6621d3f535772096d7e9fa71f7d9c871e7982c7fef3062fbff105115de2864673d24f2fe42747ef8ae5f8ad950f3d44ae58c9abffb8850bcfbb8e273602f4e5807d4bc115a905713b7d2c12316a6a23a9549f44b4cad1795fb49efc12e1eb9d8c53dbf241a25b0675f35fe66317e83f831fec1f02d6f2eabb5b316c8da66db1c21a4b6e398f9366fea0319dfae76504c23a5a269f6e60d67ec8cb5fa55a376cd6859c35be0ce2091cd97c94dc4ec7d5cf62ec7dbc2d4bd90c101acdf4fdfb2009d3a7b8a9d699aa9b2f0072e85312c0f7b3980fa681de743c751da3f653de5e95923aeccc8b38ff9021e4e9e0f816e1f2518cdfb304e1743cb2dbead4fa33cdd0f17b65beb7a41bed5549259554524925953a48d9d1b3a86242605b16b3aba2ecd10764dacd2b2794c3cfa6ecc628670beed62a86e71572d9b40904b6ac447ab15461c3e6cd4a0fdbca4147c7344d2a2bb7120e87f07d1f4d13e8bac030f4c60df919a5c3f745da5222304d932d5bb66019669b725267bbc0fbef2f68b30d9ee722846c94639a56d75cc55a74f6b073aee7815325563844c6bee47ff50673b7bad42d5b45847ee40e3d939b6f3e98f5b110439a3e3ddf3a9727e71fc525e373d8f78737f0e8f92ebe6ea12fb997f36fdc769a85882ee1d15bffcde89b4e60c8b013b968c6275cfdfc66b639d4e733f5d77fe1201924151f40b2f2b9e7f8c2b308d4cee39f6f1ccd358717b2df4f6ee2b11fd36846d8f8e2337c92d4d15bace85b77878e593987c7de9dc6e507e631f6acdff08fb33c5c6962690ef36fb8985bbf900c39e1348e9b500494b3eefd6b79a6aa79bf697d8fe5c6df1d46b8be8aca9841595f009f2d1b22083d7561d9461f577cff7afef5fd261f381f73fdc56fb43d3cedf68581d6b29d48344350d3d938d1ba5caa8f7402f1453c3ba781bd0fcbc300e4923778af4ac3ca696dbd307372286c254c366bad1da867f65d8fb0ff1fce64afd040a65ff01ba65fd0461daa3b1b57133bd1791e2b3987a73f3a8a0bf7ce61fc8f6fe0e11fb7be96ee57b1742becd7df64af8baee7e21bafe2f6cf3b9e0fb72d13849b1d34a361db35bc7ad7d31cf0fb13d9c5ac60f2795730b9e9feb0f807fce1c2bbf8d46f7efd6c6e4f89446a067637e67be7743eff5bb757a15028140a454f69f7bfec8c2b4e47c9f325966df166bdc19a64cabd4bfa1e15b6cfc8d806bceacda9c3016b2b19deb08601b640fa1e9aaeb33022793b62609a1668609a36d5d53544a2318410b8ae8be33a388e9b4e4ddebb0eae9bda1f535d534b6d4d4dbb721cd763afbdf664fcf8714c98b01f13268c67c284fd183f7e1ce3c6ed83e37a082188c66254555661d966566ddf9634341c6ab634a4169c7a907038848d47fda665cc7de64e2ebbf12dea0301b4258ff2c747e6b3b2ce27b762282347f42590ac67c3978b5893d0b0020916feed3a6e79ee63d6d4fba05b1832ce862aadd5b92662e3cbdcf164ca397fd049677178910459cbe70b57b1b9c10523b5508f6ffe9257effd3dd7fd770b76c0c0087a7cf5e0efb8e1e98f58d3204103bf6e35731fbd896b9e5c8761eb59e8bd1a6630c9c7775fc70d4f7dc08a1a1730b1349fc8e6956c1226862ed8fae142d6b89058fe019f56b794aa61ea31d66d8963e697d0af6f21d4af63c1d3b7f3d7053182a6d6bc9f3b9cc5ada7b1d6595fd85a6b991230ac4ec6a90d77b12673c108b82cfdefaba446c661e1f30ba9b30cb42ecda92649b308d4cfe6a69fdfc483af2f625d5d139fa4641debbf7c8f059b7caccec63560606691c7b2e3bcff97ebb8f9a977f964e96a567cf9191fad4d5d537a2e021ddbaae295bf3ec2ec550df83854d7bbe87627f3a18db6a19b989b5fe2ba4b6fe7b1d94bd818f51b3b345eb98a85ef2c266a66331fdb981f99f1e895f9de922ce67f77c75b25955452492595be8329fbff815b631d34717fc7b6adac04188689f005856e03d79547c9976e6358e4b6d04d8b7acde28a4d792402612c2b751d2124aee3e00bc1f0e1431a2d2c4d0f8b6c7688a4ae237cc9f2e5cb304c13db0aa0eb5aa31c2125c3860d45d349451c6b2227753d8194a0e91a488d152b56903a684feb5a0f0220716249e25ef3729aae635a2601db20b55d43e23b2ef1a48f9fc9aa69e8ba41306461a5ad0caee39274b6e5d12d9b7010e20d0e1e1a763848c8003f99249214804e283780ad0b927117c71364b67068ba8e655b04eda67b01245ed22591b98696ca130aa4f3489f68ab6b258824251836f9e1cc017b2de4a4af6707ed94e2e1b944631ec230b0a4c02f9dc24db79fc6602a79e68aab796a8bc44f7ae9430e33f53009068c36346a41229224d9a6e7904138d72019695ae72cfaa28d7666faa7c371d2da2a27f1120e51170af7fb217ffef978726bdee0973f7f94f5a68dd1d387ef52904cba38eeb6f6903ed3c80ed969c5b69371a5f33c528099978bbbb592064fa2d9151c7dedef396b8446f58bd771e1631b090475f03de2090fd787403848d0684336cde743fb4df371925eabb1324c8360c0c4208bf9d8ee5866d12fadca4a9c6882b80f7a20485e40ebd6fc5728140a8542911d8ee33267eebc138138104ba76893f77120d1aee2925128b2c1b26d5c3749c049707e7e3dfb069220d2d1baa4848cc2a01b2c4c06b8a73e9fa41d221048f9ce675cb384486d90f7bdd4592c3939398d8a4a868cf2118bc5d8b8711386a11308069b6dbc1742e22493f8bea0a2a22fa150282da3a962a1a5c329fbac5bb71e21049665a5ddd4d4a2a3f710249dbe9c78dda5cc1892973a8da6610ebfb9e84156e8e913ec777a246ec264cfcb6ee467bb5ad8210b70f8e8ffaee44f0be204ad9da591122711e690dfdeccff1bea138f24d073c3e91384d6f2d865bfe3bf35662beb9f42a15028140a454f70ddec14979e85434ee324930402015ccde0965a83f1568449a138c34d973c5dd02074967b166fc743cc7773c90905095856a31ea191b2a6e89a9692a33bac5bb79edcdc5c72f3c20483c1941b9a14241209220d51a2d108013b88655ba938489246ab8cae69d88100aeebb076ed3a0a0af209e786538a92d44093388e433412a5aeae1e3b60635b16aeef77c3daa2e81029f1cd3cca8b524a4b7cc3873cf3f72758224c027a1b51ab764a2442cfa5d49229a5c5d9cac267eee5afef47b0034697eea56f16098685dcb08acab20194e686812495cb3ee2a5c7fec58b5b756cebdb32660a8542a150287636dab5b89866d78f4e332d135d37f15c17d77511c2470889aea7dc6c2ccbc2b2ac762d1a99059e9429f72ec773f15d0f3f6dbdd1340d4337302c13dbb4d0749d8ca89621931be5481fc7f5f0d27b59a414689a8eaeeb98a681655b085fe08b94d2a2ac2ddb012988c75c3c9976a50998d83df69ddad190387187a40fa061da660bf7bc9d05899b7049fadb1414cdd0b1ed6fe39829140a8542a1d811f03cbfa71697ae5fd4753c34cdc7304c42a150fa0c95ec173b8d16135d436a3a013d80b432b1b964a3ac94bb18cdf6c1b427470883806d10b0ac4647b194d798c017e03a4df7e374fd0c174536e804739a1fe4f2edeb670d2b18a09983a5a41b1bbfbf6934cc80dd66b8c16fdf9829140a8542a1d899e81557b196e5847070dbdf9faf5028140a8542a15028145da25dc565677c56ac5028140a8542a15028be9df4aaab9842a15028140a8542a1506c0f7add554ca15028140a8542a150287a9b761597ae44d7ca9cb5928adaa5c2a52abe5d640241e8badeec10538542a15028148a9d9dd4b98b828b8e19c8f4c38712acd81da3786fc0eba0944e2a685602fc18c828f80ed28564e51a3e99ff09a0e3c6530000200049444154bf7e6809918444d73b3f002e5b83498f2d2e42087cdfc7f53c3ccf43f802a13417c5b7085dd3d00d1dd334b14c13c330b2ba09150a8542a150287664a494f8bee00787973363ca2ed805018c600d04aac02902df035d342961001a7835202bc1d98a8c57a1e14341119a6961e76aecb9d7402e8bb85cf7e83284e89a41a4233ad89cdf3942083ccf23997438e490494c3b723ae3f7db8f9c9c70af544ea1d811884623bcfbdebbfcf7bfcff3c18205040236a6692ae545a15028140ac54e4bc65b6afcf010a71d3d0c2dba02a2168bdeab675d7236d366ce047330f81aa9a05d064807dcd520b6222a97e3ac5e8d6e9510712c5e7eed7f9c78ca58ece163b0fc1013c75770d28a3afe35772b86a1f78af2d2d62993c6a04103aec9a6b1beefe3382eb3669dc955575dcd90c143b02c2b6dad5149a56f47b22c8b61c386316dda91545555b178f162745d6f741d5328140a8542a1d8d99052621b926b4edf8592502586390c6bfc4dfce4f7cf71cd4dcfe16e5cc1e14756803041fae06d066709884afc2dcb7096aec3defb1aacd13fe29905714ebff40ede7b6f39274cc821d86f20489f117d2ce67eba95fab8e874cdb466edfa2748f9a7b96d240ff0ba6d711142e0ba1e071f72083ffef14f1af7b9a84dfd8a6f2b524a2ebcf067ac59bb86cf3efd145dd7318cb6747f8542a15028148a1d172925424a0e1e95cbd0a101644d1df6815743209f705e2102b8fec18f9832f9650e3de6006434a33b682005ee8a350426fe19bd642400192794d73f6fe0fa1bdee1867b8762e404c92b0d71f4b862fef6d2e65ed927dc2d5f978c3f5cd2719876c474a444292d8aef049aa631f9f0a9241d07df176ace2b140a8542a1d8e9905282104cdda71843d461168f8640210037dd7423874f9ec26ebb8ec0ad6a003f097e3c6575d104a27a2d5ad19846a505e0fb279fcc05175cc0885d7623afdf68d8b00addd230432687ee5b4c7e905e593375cbe22284c0f55c0e3ae860264d3a0489525a14df7e344dc3344da64c99cc4b2fbfc8e2c58b308ce656172f13a44274ff7ed0340dc330b02c53b9a229140a8542a1e875a494f4c93318bd6b1ef835e8657b367e575e5eceebafbd8a9b88622e3817d950077a20bd51df40446ad0c27b3593a7eb3a77dc710749c727105d4e72e1a5d8e509741b4afa04d87d608079cb1c344df6686dd365c525636df13d9f934e38094dd39152b499f78bc55fe2fb7ebbb27cdfc7300c4a8a8be9dbb75c6d7656ecf0e8ba8e65591c73f4f7f8ecd34ff14dd16caf8beb7a8c1b378e9c9c9c6e5f231e8f535555c5aa55ab30d2d1cc140a8542a150287a838c97d4aefd6c826113cd017fd37cd02cb0f3414a8c5009969024e3096ce1a47dc152561a3490d14a52e79f3451423408d806b2ce0529403a68bac4b07476ab08f2fed204dd74f66aa45b8a8be77b8c1e339603271e88e8c0452c168b317efcf87665bdf1c61b4c9c3891e5cb97535955c5f061430987bfa688647e84b54bd61318be2b657653cd4f92acafc30f1792b3d36f5ff836b565c720630d3964d2241efbd763ac5db706d3341a15978cff662291e8f6350cc3a06fdfbe141616f2c9a79fe0f93ea6da4ba35028140a85a2979052d2b7c840d77d8cd23ec8e87264e552a49f5ad30b4f2005e8f916683a08271db3c843efd30fb1643ec9b7ce450a01b2e93a5a43c66b31f2743424e0a299928a62b35167e889c5a5cb6a8f1002cff538f5d453538a56072e62beef35dbb4df323534d4535454c4a851a3c8cbcb63e9b2e5c4e3f16e37a62bc8868fb8e7a687f8b4a179fd65ed1caebfe84fbc5bdbb615697be26f7e995ffff01afeb3a1a3037fb297f14db6e5db8c61181886c971c71f8fe77a08b1ad7f355da3baa6ba47f23361c66ddb66f7ddf7c0f3ba3f1f140a8542a150285a22a5c4b234c0c7080530fb0ec0ec3f086bd0e0541a3694c0886198fd0780f040b8203d100ebaa163ef3614b3c2c1aa70b0fa27b10738e99424b04b186b507fa49b04e9a1499f5050fbfaf7b8a4ac2d3e9aa631e99043a193bd2d9eef375bd4b5a4a1a11e807038ccc0810389c7e32c5db69cb16346b7ce9cf8927baebc8137b7a65ccff4705f464d3c8eb34f9d487ffbdbb10f40cfdb858953604841164fd7e39f70d305f75276f52d9c3ddc6e5b86bb1d2bfb2d42d3ba7633a5ac2e3a874e3a945b6fb9192fedf2a8691aa661505555454971498feb2584209c9343797939955b2bb12ce532a65028140a85a267482953c61329528a857040b461cb10cd1cc19ae083a66384729b67c858520448df4bbb8b0920f3bee775efd24a4888d4de9603274e4437f49479a8037ccfeb5071c9cdcde5de7bff8e6559d876804020806ddb6d6796496a1af239fcaadf3273a047d58af778ec6f7771736810377d7f1056571ab283a2e50ce3889387f59a0c59db1bb5fa76e3ba2e6fbdf516471c7144a3f2a2691a0b162c60bffdf66b57a1310c834020c0d83df7e48b458b10a6485b620cea6aebf07c0fd3e8b9a22184a07fff016cdab849292e0a8542a150287a0f1ff03d9c648244b587a649ecb085611a18868666a69cbd32ba8994a0a1a5a2aafa690f2ab7e93a49e27a022120b720486a4f0c482741b421d92b55eeb2e2e2ba1e679ff5830e5dc432787ec78acbf4e9335a7d367bce3b1d48d40986c3e416d8e4ee7d24271ff42ad72dd94c9241587e256fddfa6beefbb80e5fcb63c4d473b9f88c71141b92c4da3779f0ae27786755042d7f2c3ff8cda54c0e6c932a635ff2cf5fdfca97075ecdaf0e03bcf5fcf70f3fe5814d0d1825a39971ee8f3969cf020c2489d5af73df5d4f32774d9460bf7d39eefcf3f9dec85c882ee21f7fbc8b7756d6909010acd89f99179ecfd441413424b115af70dfbdcf327f750381c19338eba2b339b8bcb9ba256b67f3eb4b5ee2909b7fc7e4f01a5ebcf3af3cf1c1261c2d8fb13ff82d974feed3e689a1edca30da6f8b1efb8a7fdd7a17af2dde4a9c20bb9ff747ae3a0466b7d18745c996797fc961ef5fcfe3037fc9cd670cc5c661c5c3977343e539fce5923de9feb6f4af174dd378ebedb7f9c7430fb376dd3ace3de71c00eebbff7e5e7bf5357efef34b18376e5c9b655367b8989c7aea695c79c515d8b6d5185d4cd7356aaa6be8d3a74fafd4d3324dcacacaa8a9a9561bf5150a8542a150f4084dd3d0808dd50e089f4debea58fa512d4b3eace6fd5736f458feb93fdc83432ede15197141805317616395d39ef9a64b64bd0aca44130be584183d7a74879bf233f89ed7657f363f4b7f7eaf6631733f89507e503f020046017b9d7a35b7fda800d6bec42d373ec0bf0f18cbb98356f0cf1b1f66e5fe3fe20f178f2010692058624024dd2e6f2befdc793bef0d3a87df1d338440c35ad0820c9e762197ed5d48ed7b0f72dbed7733e096cb3830f0158ffce99fac3de0026ebcb482dad9f772db2df7d2efe68b1827aa59b136c0f46b6e63725184cf9fba857bfffe367b5d378d3ec9453c74f3136c9d7c09375f96cf92c76ee4bebbe7b2fbaf0ea5a4cd5d4692860f1fe1c9d57b73d95f4f64845e4b9556d4a9d2d226edb5852d2c5e6670c4affecc917d7d9281620cc36fbb0fcb5ae62dc1d40650ffc2a754ce1c4a8556cb922fa2f43f6a30a1eed4f11b424ac9b423a6118f27f8cf73cf3546b57b77eebb9c327326e3c78f6f57f14e854636d873ec9ed8011bdf1798a64cbb9199545555f59ae22284a0a2a282ad5bb728c545a15028140a452fa0b16c934332ea51dac72232264cb0cce2d3395bd092827cdd489dd3c8b644e6bd060289dfe4bd27c141205d49c004340ff0706a6238d551966c48a0f582e692f5e6fccc86e169471c99aa7c561697d41e97ae24af83f0c97855fcefd73fe4acb3cee0cc0bfec44bf17d39e1d07e6937318bc201fd29cdcba574e4240eeb9f605d6582c4f25799e7efcf5927efcf903e25f41b3a84a2ccda4f4659f4e84d3c523f8dcbcedf9fe28c6660943066dfdd18d0a782d1d34f634ade97bcf96584c48ad798ef8de7cc13f76560693fc61c3d8b29399ff1f2170da93ed102149596505c369409474ea070f3223639905cfe061f88fd98396334e5c58398f0bd4914ad59c0ea0e024fe9c11cf4e83ad6543a58057de99fdfcd056b3b6dc9d4b7a4ac9882a272ca72f476fbb0755e93c2318732b87a1e1f55f9c8d82a3eaa2c63fcae79bda14c7fad08e173fc71c772fcf1c7337fde7ce6cf9bcff1c71fcf09c71fd7a1b5103256178303271c983ebb2595df30741a1aea89c562bd56cf6030485e7e3ebeaf022d28140a8542a1e819baaeb1a6dae7aba57598ae4bbf3e363a82feb9418a6c0bc3363003068180412860901734290a5a94842cca0316158100038301fada36a59645b96d516a59848326f9c382904ce054d513df5c4f3ce2b368a3df1879b52764bd1ace282e279c707c564a0ba4a28a75b6f86bab4cbb98451cfeb36b39699081d3b0914fff771f77feee31fadc7806c3c51a5e7fe01efe3d7f25b5ae85293d860849b2a69a64ee5e14b6d552af920f3f80c2c94328696f83bf5948453e7c5c1327ee5593cc6b22cb2ca47fbee0a3ca182dd52d235448c05f8d2b25c9ba6a620dcbf8fdb973b665d07621e248c869ebba1ab97b9ecb25331ee41f37fc9467fa4fe2f41fce62d28040cf1483266d696b5464a2ed3e6c6bb4f5a23d9932f451fe3b7f0b9386ce674de1386695ec9c217b8510249d64e3d92b492799d5bcd5f5d4192bdf3bf618de7afb4d84108dee62a669b271d346860f1bde6b752c2f2f67c5f2e518463bfbc0140a8542a150283a21a34048745ef928ca8852417840888a0a93dc629b48ad439e6190838ea981a969e8682025be10e89a86d434a2c247f82e2e20005d40616180c27e1aceda1a92b549fc84e0dde51e953108f44230adac1497949b984f6e6e1e2347ee86109dbb8901cd9e42674bc7a15f7582f9051416d95054cca1c74ce2c5abe6b1bccea5f0d37b7978c9482ebde55ac614d4f2dab557321bb0f30bb01a3652eb4145cbd65a839979e96416dd713bb7965fc7d53306b4dee4efd5b0b656a3a02487504e3176c3866db2bc5ad6d7691494e6b476e3d23306310d3bbf909ca2295c79ebd98cc876cd691430fab88bb8e9a84dbc7bfff5dc75475f46fee168faf5443768d296d6a63641d5dcb6fbb04df442f69eb107ff7cf815e6ac594acef86329df09bd98344de381071f64febcf91c7becb1003cf7dc73d4d7d7f383b3cfee709e67ce74d97dd4ee0483217cdfc734cdb41b994955651503070c6c3fe04417292c2c42885e08c9a15028140a85e23b4d2642ea6b5f243965bf20ba15a5bccc62e0c020b5cb6394eb261adb5cc47c2931348d11e5e5f42b2d65532ccaa7955b18d6a78ca24080647d3d8b376ea5688849d84ee24624c295780978fac338866ea0697a8f2d2e59b98aa5ac2d3ed38e4cbb896519cfccef86ab98df91ab188244a481fada2a36adfc88971e7f858db9bb3034df0029911284efe078db94a5e0f0c3d99bf7f9c7e3efb1726b0d95eb57b121b6ed7bbbdf247efaf3c3a97bf276febd3ced162593546fada6b66a0df39fbc8f57136399ba5b2ec1e153186fcce7a1a717b2ae72139fbff030afc5c670c4ee1dbb4805871dc65ede1c1e7a7621ab2b6ba9d9b286151b6348c0dff20e77dffc00f3aa9bb7dbad5ac292f57524440e15030ad19d284e2b1dd0275e574d5555552a55d7e3b41c9a76dad2667ddbe9c3b6d1c8dde368267aaff2d07b36071ed077a78beca6691acf3fff3c7366cf61c68c191c75d4748e3a6a3a3366cc60ceec39bcf5f6db9dde608661609a26130f9a88e7350fff6d9a261b36f47c935b065dd3282e2eeee41e5128140a8542a1e8184dd3d0759d86a4ce8373637831895fef32e1985cfa14dbb8ae44905af1fbe987b8fb8f18c1a1b366b1cbf1c7b3cba891cc3ce73c4e39fb1c8e3c6022d3468e66fc6e83193f2d0f1381ef08fc98cf0b1f2759b25960183abafe35585c329bf25dd7e58c3366352e6eb3a1b3a862ed9569132d40616e2d6ffcf122de0030f319b0fb01fce8ca93d925a0c301b338fec33bb9ede297700123a7828979065a780c3ff8c5a9dc7fcf83fcf29528040672d4d5d7717a69a36072763d919f4efd80dfdef55f0eb87a14c306c479e17717f32c101eb03fa7fce21cc6e56b68ecc6ac5f9cce7d77ddcd2ffe1723d06f5f8ebfec7cf6cbd7a083d0c35aee58ceb9fc24eebbf71eae7a2e025a1ebb9d7c35571d9b838cac63c9e2a5f4890a08fb087434040d5fbdc45fef9a4fa50f46d148a69d7304035a6a065e3db36fb9ac895564177ef2c7c3b67d6f15b7db96d6f5d52969af0fdb6b983d84a9470ce0f5f70ee5a07e3b9bda929adb53a64ca1b8b884830f3ea8512138e698ef3170d040c68e19dba9653163759939f3345e7bf5556cdb46d7534f142ccb646be5568a8b8bc9cfcfef95fa96f629a5a6a6a6d1254da15028140a85a2ab641417c33478e1d3247bf4d39936c6a0a84ce7f0b34a78ef811ae2f53ea6ade10bc1aee5e5ec3670207e7d3d5e3048c990e1d8d5b5243f5f44bc36ca8a6403c513e28c1c1dc48ff97811c1d2f570ff9c38a669a1eb468fad2dd0766032eba089fb3b993f8410249249f2f20af8df0bff4bbb8965a78c3cfaaf7f72e4b4d6218f3be2a5975fe0b499a777a9ccce8fc48d47a85c780fd7fec3e4c2db7fc6d81d3a3c974f22e622225ff0d42dffa0ee94df73c13e3bdfc6fc0cba6e2084dfe2333d6ba5dbf33c62b118277fff6492c938c140a0314299e7fb482119356a14a1502f0caaa6b160fe7c82c140e779150a8542a15028da414a891002c771b134975f4db399b09b49b0cca06eb5c7a74f34b07659022721993c7a77fa969690f45c3c5dc34b2688b93e0929714309f22734d07f2ce06ab80d82755be0ca7fc7d91c311a8f8ce84c71993377de89401c88a553b4c9fb3890e8d0e292b1b678aec7cc9933bbe42606e9455b17c321771855ecdb8aa866f61f2fe6de557d187fe6658cdaa19516c059c3d3bfba8617b61431faf89ff0b3bd775ea50568a5b4a43ecbde52a8eb3a966571f48ca379fcf1c7f04dab71e39b691878d263d1a2450c183080a2a2220281ee2b1d8978bcdb65150a8542a150283264ac2e9665e23892dfbd94e0323fc4a1be24af5ce3e0cb0aa8fa32c4e60f3c2ccb6149f546926eda4d5ed30816498a7771281813c70a4bfc18b811c1e2351e37bcecb2296260db66a3274a6fd0a9e2e2791e03070ee2a4134f4abb8965af88f47a54b16f2b7a09875ff730877fd3f5c8167b28a7dffa08df35bb587b64a28b9d74f2c9bcf1c6ebd4d6d66018db6e52d334d175c1faf5eb59b3664d9795f9e6d7d2d4592e0a8542a150287a856dca8b85ebc2ef5e88f3c57a8b330eb0282c80a2a106a5a34c845347495222a486aee9e81ae81660f8882424ab359c06c9d31f383cf2a14f52585856cad292f142e90dda5d01652289398ec3befb8e23949383eca21212080478f63f4f77a94c389cdba5fc0ac58e806118141614b0c71ea379f3cdd7314da359bc725dd7b1edd459390a8542a15028143b0a19c542d3521e234f7fe23267b9cb317bd94c1965d2a740a29902dd90e81a48e1e3035e12a4a351532778ff2b97e716fb7c5569605936b66d66e51ed655da555c3ccf279974d8638fd1cc9c39b34b9bf2339c768a7a26aff86e90da8c6f71eaa9a7b172e50ad6ae5d038065294545a15028140ac58e4da33b57da025319f7f8fb6c9747de4f326680c12e6506fd8b740a43a009a84b4836d5fa2cdfecf1f146495d42c7346d020113d34c59597ad3d292a15dc5a5bea18181030771f2f74f61d0e0c1696b8b3a4342a1688b4c74b1912377e584134fe481fbefa7b2aa92dc70f89bae9a42a15028140a4556c8f4b690ccba26e66abcb7dc67ee52aff13b00b46d6e66ba6e347309f37d913e772efb7debb69ddd83de761597430e9ec4f9e79fcf6ea3462185e8915fbe42f15d2073939f70fc090c1f369c7f3cf800efbdffde375d2d8542a15028148a1ea1a51595560189a544f83ec2f771ddeecb2f2e2ecaae1e6d7c661d34717fe77fff7bb9fb575728140a8542a15028148a2c38eaa869598543ee7de7338542a15028140a8542a1e86594e2a25028140a8542a150287678d481103b28beefe1b9aeda5ba45028143b00eab758a1e81a99a85296ddfd4397158a9628c56507249988535d5dcdca15cb89461abee9ea28140a8542a150648daeebe4e6e53268f030faf6eb4f2f1fe5a1f80ea314971d0ccf75a9aeae66e9578b193d762f8a8a4bbee92a29140a8542a150648df00555555b58f2d5970483414afb94e1fbd987c65528da43292e3b18beefb166f50a46ed3196c143877fd3d55128140a8542a1e83285c5c58472c27cb5f80bcacafb2ac545d12ba8cdf93b184208220d118a95a545a15028140ac54e4c389c0b4894af98a2b7d8ee1617292542080cc3d8de97c2f77d745d4f1f90b3f322844037944ea95028140a8542f14d9159570a21009aad2f33a7c4f714d18b713ff49d7bf99b15db557189c7a254556e6d8c2ad1a7ac7cbb5d6beb96cd788e832f7c8a4bfb909313de6ed7cae0fa8275d5492a232e68501432195c1ac4327484947cb2264aff229bb27c7bbbd745a15028140a85627b21a5e499679ee18b2fbe60e0c0419c7efa6998e6b773c741c6ad2df3d0bdad87efc9649240a0e711d3be0bca466fd2e68ceb0deb88eb3a54575552585484a669d4d7d5e13a0e96ddfb8b78d771109e4b7e6101524a6aaa2ab12c0bcbda3e0a432ce9f3c2a795cc5b19a1342f4051d84203eae31e9beb12ec33384c7d5cb0b9c1a5b23ec9af8f1b464938fb9bdbe8e087c0f33cfef5af7fb5fbfd31c71c437e7e7e579aa35028140a8542d121ab57afe1c30f3fe4e28b2fe6f1c71f67f1e22f19336674a7e532d68a9d01dff7310c83c71f7f829b6fb985ff77fe794c9d3a95b5ebd6116988505454444e4e883befba9bf9f3e7f3fa6baf5252d233d7fe6717d4e0f9022944f75ceaa444d3754c43e7b8fd8a7a5497a6685ad72d4a52767facb3d53db68be2e2fb3e9b366ea0b0a010cf75314d0be1fb1d2ec87b82619a789e8f1412cf73c9cbcf67d3c68d54f41fd0eb2e6a5f6d8a71ffec4d8c1e98cf1163ca89267d628e8fef437ec86654ff7cb6d627f96a730d078f2c63e18a1a966d8e5232ac20fb8b4889e7796d7e954c26911266cd3aa3d9e7f1789c071f7c90e79efb0fc71edb8bca8bb789d7ffef0ede1bfc43ae386e10568f8409ea3e7986a7179533e3fb07516e76e1f39346b3e1d947985f7402e74cade8613db617edb5e3bb568716885a3ef9f7632c283a8eb326f7fb9ac66e07ec87af85ef6abbbb8aeaa75e41d4f2d153d9fe2e7f937ddecbd7f62b99f7f8132c1ef27d661d584aaf3bc277a95f7b48fafff8c9175ddf69d6e5cb973178f0604a4b4bd97df7ddf9e28b459d2a2ea66521fceda7b8c456ada6f0f3cf40376898782081822eacb5da20735ed3baf5eb58b66c19bfb8e24acc5ffeaadd35592412a1a4a4042965b7b729aca8cfa3202f841530f185a0a9944e654a896ee8388e475d7dbc5bd76f0b4dd3b9efbefb78ee3fff4929549d605a16679f7516c71e7b4cb7cfbcca76bddea63ad5d3c57ee5e64de4e7e723848fa6ebc4625182a19c5ef3076c89aeeb04432162b1289aa62185202f37ccd64d1b7bf53acb36c77860ee260e1ed5074dd3595519a336e6e2fa125f08a2098f955b6208291933b0082141027e2f3a307a9ed738295cd76b4c99cf66cd3a83679f7d8efafafaace489c8629ef8cdd91c7dc8c11c7cf0c19c72cf0a22cbeee5ac29c772ddbb7508bf96456fbfc347eb13f4b815a28ad977ddc1639f42d0e8e2e754b1e0a9c77969511d3becb39bf6dad16bf263acfb640eefaf88b4df07dbbb0eddc1af62de138ff2c267b55fdfd87d9dfd9058c49f671ece49377d44b4a7b2b219e30ecbef80e3df94deecab9ed0a29f1a7f0727a57e078ff9d53bd47ed7ce9beccedcf3bbf0bb9ceddc6c39477a7a4fb4bcb6d70b73d0ddc4db8f3dc62b4ba2dbe737adb37eed8d3e69bc56eafff86c58ba7429a3468d02608f3df660e9d2a5ed2ee8bf0e5e7bed75365dfa73920f3d4ced7df7f1f95557f7387259669d2aa544d775c239394821b04c13dbb6b04c13cb34090583d8b6cd8a952b1bf3779778ed2622755b89472a71a25524d3c9895613adaf2452b79568fd56a299d766a992485d2591da2dc46b37f5a8ed2df9ef0b2f909393435e7e3ef90505eda6bcfc7c2ccbe2a5975f02baeff7d6238b8bd903c5a56aeb164c2b25d6f77da494f8bea0ac6f59b7656643499f3236ae5f87e779681ae8ba81611a546ed9426959cfaf9df404f7bcb39e034696b1b12681ae436dc461637d82d2b089a9c196068ff282101a2651c725eef8dbe5b4e58cd9b53d93dc9967cee2c107ffc109271cdfa9e565f13d5773c7bc619cfb9b9fb16f9985dd772081441983060fa65fbed98329d846bdb7becbf35f588cfbc358f2b5ae7ebeb5176bb27d68af1dbd46f22beebfe22a96cc7a940787e5b6f9d4a1591d6435af5f7106bf792f7388a946b0cf30c68c9fccb1a79ec4218343bd3abe3b121df703d845831933f168ce38e744c6f5e9e1f34c234cdf414318f4ffd9bbf7b8a8cafc81e39f192e335c641485f1c68817cc0b441668256149eb6e1ab69166185df8a12d46ad2e561495869565adaeee6652e962e9c296456da665bbb495da0dbb626d825d1cf232635ec6046698dbef8f01046406184048bfefd78bc666ce9cf33ccf39e799f33dcfe5f40feef8a0c136ec634fbafc18eca8ce2cabe69c16f66fdfc053ebfec587df1fc7ee17ca7997dfc8823fcd20ba57d3926c5a4e66bea9af0717ff918bfa41ad6a18bd7a62f975a50e1e7bad69f3b1d9fc18e9847435d9b6cfd1ae3b06cf942ede572d31994cecdf7f8099336702101e1e4e6060509360e64c3af0c2062e7bfd75944a1f6c4e272aa5928463c7d8b975158e201d71936778b55ea552c991234758b3261fa7d3498dd9ec9a64ca6e8746319113d78de4871eca63d23b891d9a14cae67062a9aea2b6daf56f45ddfa017c950ad70df926b78eebb7e5ba3bae502a70389cd83a73943f70e38d37f2eebbefb6a9c5058582ebae4b6994f2f66b6becd1a95dc57ef9e504b5160b41bd82b1986b502a7da8aaaa665084ceabf5b55778ff01ecafd413181880cd6ac15fa5a2ea6415bf9c3841af0e769dfacf3747890c0fc154e56addf8d158cd887015b74f1e4ab0ca8775db0f60752a7175097462b7b9c6c278d3b5d3c7c773755a1f0c358f896a6b6b59b56a55c3ffbff24a3137dd94e671f0dce79ffe4ce8950f73c3e468d40def4ee7e175d35dffb4b433f16ed9317ef006dfaae279ecfc5e8d2e98dbfa7e4f0f5cdce5a33bd3f03355477f81c85b782cfb2202ad55fcbcaf8cf75f2fe081b4d7f95dde6a728a84132200002000494441542687ff7a7fbcdd72530e436ee1b1bbe309b6567364dfa7bcf1fc6afef4c1773cf1c27d5ca2e9c04fbf5f24373cf1776ee8bc0c78a9271c83ade8c2b2729efc8282bfbe494de2cde4cee98ff3fb6d3cb3f66fdc43242f3d389ee0860269564eb64a37f5a0e83ced38363bfd1869b66dbf901e72bef65cdbb66de3abafcab0d96c381ca7aed6478f1ed5643c474242029b37bfc1d6ad6f0260b55ab1db6d4444e8484bbbb1537ad9d4d4987138ec040505e1743aa9aeaec6f49fffa07ef555d47563a61d4e27d5763b3e763b55b52afa464478b5adfaf12dbbbffe9aa3478f121214c03db75cc38888fefc7ce867cc763b417ebef4d1f6e38b3d3fb0fc85d7d9b3670f870f1f46abd57add5dcc627370fb5591a084cfbf371112e08bcdee44a18071c335f452fb62b63a5cc35f9c4e9c4e05285cd782b5563be17d02d967a866e5ebdf7995ef96389d0e665d7f3da9a96d3f53ec763bf60eb4c0756c8c8b1763516c562bc78f1c21a4b706734d0d0a85825f4efcc2c0c11167642a647065baff8081ecafdc4750703016b399c0a0208e1c36a20e08c0cfcffb3bab1f7df70b71c342f9de5885c301babe7edc327140c3e7dfecaf66e480109c38713ac1c74781dde1c4470183fab4efa750d9ca1413f52d2e8d07bcd5d4989939f3fa26cbbdf9e69b582c168f814b752d1c7d6d1ebf79cdf5ff11191bf9fb951f705bea7a86ad7a8d87c6b6f025eb41de5fb79c35af7ecc4fd54a34515770f3c285cc18db0b8ebecbe25b1fe29b4b9f647d4efca9bb9676233bdfd8837afcff1113dc287f6d7dbfee5cf8f9adfbb9eef5c398ac4a42865dc68d77ddc30d3121ae3b4eb6c37cf8fc0a9e7e79073f9e845e9109ccbc6321374de8e73ad0ed064afefc10cfeda860ff710be043dff393997db93f9fbef16f4abf3f86553d888b6fcce1819bc7d1702deb21bf4a77e9f56a5b56f49bee65c1339f70d802a8fb73e1b5f379e0b604c21aedc27df9b3b922dff5efd887b7f2d4e5bd5a4e437d601b328c980bc6a15100e31398f2fbe96cce4de789471fe3c298e55c157a8c9dcf3cce73fff982ef0e9b815ec4df5bc093d3b4f8b45aa646def9cb12d66ddf83fea819f0236cf4155c9f7527d7c7f66e7227f0e847abc8bce65bf61eb5a3ea7f21d333efe60f4983699893c5e3b61c1cfdef226e5cf43fa6fced79165c108ca2f6073664a6f38fb05c362c9d42587d35e3ae1c34c388393fd6550e719730f1bc5a6e98f73a2f7d7927974cb47a5f06d6ef78f6c65b79f3d267f9e782d1aefcb476ccd88ef0c9c615acdeb483ef4f38f0ed3386994b5772fb7037fb3851c99e5757b0ace03f54981ca0ee4fc21f57f170f2c05395784be792db740471bc2de5e9291ff6231ecacc4dfece3bd0b4ac1c559ef3d59673af8ea2d778ee2b7a09a59f8febc2f8b25882ca3ee0beb2cf39641bcf083f37e564b3b6580f3e7f53309f787d5e7859d734d65ad9b82be3d1d56ef64b28fbbdad5fdcee4fd7721eebe596cadc53de5a3a9fdca5cb9bbab9f9faebf6d5da9d7bf9e998195010322cb1491e9ce67dbcbde6499e7be34b0cb5bef48b1a85af89a6634f3a7aaeb5a0b5723dad4c2eabeef07177e4c8113efcf023eebf3fb7d56ba6f1e3e3193f3efeb4f7f3f296a0d7eb898c8c74158db5d6e37a3ca9adb5f0fef6ed04befd6f82aa4e125a554d704d0d21fefe28005f85826a87831a87031330f2b29968bdec65537fad1aa052a1542af9cb1f67f37f37a7613e7c12b5c60a160ba8fcb1fca266d634357e4e272b5f7907bfba5e46deb6ba381d4e02543eecde77828fca4df4ef1340754d2dba30350a9c2815ae65144ad7d003bbdd818f8f6b1a6573ad1d1f851395bfb2d37bf8d8edf633fad0d0b6c61e9dd6e2525b5b8b3a408dc56c86baa838b45f38fe9d30555c7bf8ab54f40dd372f467236ab59a5a8b19955a45adc5e275e05265b163b539a932db51a2a4f2d8496eb974489365a68feb4bf1a7461af7eff3f55170ebc4810ce9dbf6c0a52d07bed3e9acfb3b15b80404a809085037faff009c1e06f937a6497a90276f1a8e3f0a547d07e273d2d3c64ff2c5dfeee4fe6dfd49bbebaf5c166ee2a382c7f9db5dcb89787131137060b7d94f1bd7633fb49d372a0299705b4c932e18ed7ddf7fe86fc9ba711c7d9d07d8b9feafacb96705c35e5accc5c135ec5e7307f7bc0457defe30770e87bd5b9f66cd5d7752f3ccdfb97d4c00384ef2dda7bb3932fc361e491b4b80a98c4dcbd7f2b7dd43b82af38f3c3a3c809f773ccb9fd72d22ffc24de49caf6e35bf97d4f579382dbdde6c0b1f42c75dc7fc476fa65f2f07c64f36f2e4ba877872cccb3c7ef9a920a0ff8cc778e4ea01f8a220b07f90fb32735787f90de277f366f18f5bd6f3d27b8798724d0d5fbffb11fb0767f0d0bde7d3c75e857378283eceea3694e92fecfde44b8c43e79277ef2802cc3f51faca73acbea39c5fd63ec7dcf34e1d938e5a0d17dffa2073b50ebedbf61ccf3e7407e63e1bb9fbc260146dd856e8a43f7177e28d2c7e741d49ebe7a1f9d7520a0e4ce0de65494d7ef8db5a0e3eea60fcb163b1d8713a8e7b5f06ed3c472ee965e6eb67ef6061918d49731f60de580dd623c7e935f0d42c88cdf7b1f5fbb52c5af93edaf43c565faac579a492e383439b54e0a7e7bb9574b4569ead7d3fc05d99d5b49abf7ad6efffe13e5f6d3cf74e51e0e3d7f840a8c270cc8adfc0a1847a3a3eea34af077d1dfa0e9c17de9cffed291b0f65ec38d072babdad5fdab03fddd6cbbd5aae1faddf79c89b1ba7a7cbcbbab9b9ba7df5f3d0b92cb97f14013595ec78fea95379083ac127cbefe4916d414cc97c88df0cf7c3f8c566d655340a5c3a7aaeb9e1b65c7ddd9489c3d8e1e3ce75fde7e4ebafbfe6820b2ef0b0475a56515181dd6eefd08d6270dd8c359b6b703a9d8c183102c3ce0f18f0c30ff82b95f4f3f727d0c7a7a16a373b1c98ed76f6272632c1cba0a5a6c64c6dad05a7d3494090eb77f5b2b8187efae02bca3efc922be725633f7c049f018378af703363624732f9d20b79f6cd8fb05a6d1c3b760c1f1f1ffcfcfc9b5c8bb58542a1c06a7770fca4956a0ba80383b0d8a1f2b0859f7eae21325c89d5eec05aeb6a75f151c081c3b504a97d70e2c45c6ba7d6e6e8d46718f6e4c1f99d38c6c5f5a0499cae27a4ba12de7da31bebcbcde17074382da61a1b6a7f1faacc36d77a9c4efaf56a7a524e3aaf0f93ceebbc69e8ec36f751eea91617cf796aeb14847ebd2318367c78c39d2d9b87c0c571ec43febef908e3ee7d86b9bfe98b1238ef9ec3bc3feb59367f5bcd25e327b374ebe466dfb27170fb16f6065eccbcb1c11d781f42ce4b647282eb2edc05e13fb163ce9bbcf3bd85f1ba0f59577c005dc606725323f103c68fd361de730b1bd77dccec3f5f4eefba750447c67171dc6854c4a03df06f3e7a6108575e7325e30381b17e7cb26d215f7c7a10ebf943f16935bf411ed3db9e6df9a12478c4a54c1ae1faeed8280ddfbf750baf7fba9fdacb7b37746151f51bc2f0e111cd4e5ef76968895ffff319a186cfbe3562bdc6d562133c6c0209e34fdde1741c7bbf1d651acfc44b46a3623c975c320a45da1f78f1efbb98f57802f59d34fb25decaadd7bad67f697c14f68a9b787ec327dc366e3221c7dbb0ff947db9fc4f779390f610798f9e20f8a34ae2ef5d4a52935f7e0fe5e0b0515b6bc16c3dc9e1ef3fe55fab5fe4a0720cb3c6f442c1d10e9741c3665a39662e1ef909eb5efe8921192fb0f8e6a14defdad6b4bc8fcd270d9ca017975c144fcca8201434ef537e7abe5b3f573d9767abdf1f478b65e63cbec37dfeac4d536df790afd6b63ffe7c2735d6ba9edf0a5f028202f06df8ddb6b0efb5c7c9ff3e8a5b9e9b4468c39d65f7c747f37ab03ead1d3b2fda7efe2bcd279be447f18bfbb2719a3e6ab58c9ba71bf0aa7e711e6f7d5beeeae58b63d52d96b9a7fdee4ef374398e76ac6e6e2e78683c974e70d561e3061ce083396fb97e5b067fc80b6f1f6358e66aee9b5db7fdd850be7de323bea84f4b07cf3577dc96ebc896cba461dfb7eb77a7a9debd7b73c30d37f0da6bafb1674f39d3a7271310d0c20d9a661c0e07efbcf35f76eedcc9d5574f63d0a04100f828bdeb7173e284898f3ff984909736d1efe79fd12a14387d7cf0532ab13a1c98150a1480dde9445f53834f5414b1f332bdda16c0e1c346140a050aa592619191dc72f3cd6c78bd84250f2e64f04563a0fa100e8b1d3f4b1553e6a6402f157fbef761aebb2e0595bf1f27abab71d65d6fea74ed1b1ee174ba6e7403549b6d04aa940c090fe5a74326def9ea28978d7512353018b5bf12b3d5ce87df1ea7fca7934c3ebf2fe1bdfdb13b41a9509c367ca0a3ea07e7b7f660f7fa9be46f6d7b8b6baeb9066fafb7cff818173f7f153555d504f50ac666b5a256ab396c38844aa542a53e73bd862d6633870d87080c0c689882f9e42f2709ebef7d1a7c950a6c760756bb13abcd89cde96aaef3f1d0a5ab2e7ef38a137038db12b8780e4cba62eef4da835fb1cf66e3e823bf67d2234d3ff33b5c8383a0d3070ada0ef2fed6ef09baf80ec60477e0fd667cc386d38f93fc7cd246ed812ff8de164a627cff5315b1df40c68feb4dc1875f70b0f6727a9f96303f7a0fd280f928c72d4e0854805f1f068640d9f11a1c80bd2df96d537a5bdf1658f8e9bfebf8ebf3ffe1ab7d87a9f109c2df027e316de833dac6326b0fefca14500f23715c082f7df62587ac092d0fc4f5ebcfb8180deb4abfc6503b19755bb6a50265bf2bc85eb0851b1e7d9b9fa3ef62595258d3a9483d95c3ee8749b9f2e186fff5ed3f819b1fcfe19a41bea75d5077a40c5a3b47ccc19ff39d3594c4f8b64f0dad1e359b9b2ed8c19a3b66f1cd941466ccb896c9a3fb9caac05bc8779bce550fe5d9faf75b6639d0f6fc79ca97e7edff4c69deff71f78efa2e28e378eccdbf92100c38cd7c5ffc2077fe753f57e4ad216d44a34bf74e384fbaa6aea9e2f3bc6b58d8383fafcd775b36ed29e353bcab5fdabbadc6f532d06299b77a3cb7419b8e6f2ff7b75fbf1184d5ffb61cfc9a9f1ca14cbac0fd78c08e9e6b6d715ab9b62d276df8dd39dda851a3b8f3ce3b79fdf5cd3cfdf4d35c77dd0c222387b8591a4e9c38c1a64d9ba8a9a921333313adf654ab87b78fc1d06ab54c4f4ee6f0259750fbe1871c5af777fc6c366aec761c4e27b57503f27facaec6346810b10f3c80ba03d79a1111110d17e7878c069e7cf2091e7f7c198b9f5cc36531c3e9ab5261abae467dfc04276ce5ecdcfd238a416378f8c107f1f3f3a377dd7d6bafaebb144eec0e18d42f005d3f7f6c961a8e9a6cd4d4daa9b539b1d95dddc58e9fb4f24de54976ef3b898faf92ca2316f6ecafe2c211d03bd8afd30397333d38ff8c3fc7c5cfcf8f7edafefc6c3c44606020369b8da0a040f657ead10d1d76469eae6ab3d9d85fa9272040ed0a5a7c7c3979b28afe830675a8d93234c88f93b536944a0535561b6a5f1fbede7f92f3237ab5b87c75ad9d133576fa04f8a2f2effcf93e3abbc5a55d9c0041243eb08ab9e735be97a740ddaf4f8bb39b58f7bfcbd61f8299387f0cc11d78bf3985d217254eec1d38597dfc7d5160c6ee74020a50f8a2f271f52775429bf2dbd6f4b6b62deb771bb867d18b2893b3c9bb670c7d9d7a8a1f7c8877db908fb6a6a161f9835f506106eda870fce8bcb9df1bb83ae5529fd516d547f7ed09f01d27a828dd4b2d0ad8b38d1d07a73263f0a973db63390ccbe089bbe2d0f8071212368081a1015d331b4f2bc78ce2472f0e58f57066af7a95848fdfe0c57f6ce4e1db5ee0c55bd6f0b78cd1042adce4bb2de7aaa7f26cf5fba696d3da9e996d3ce44be971fb03091cbd8295d7595dc9f4d110150038cdfcf0ca7ddcfeb7035cb1640d0b2735bd386cef79d2993c9fff018c9adb2c3fbd8793e0ae6cbc983dc8ebfaa59ddb6a5e2fb758e69e8ee7b66ea813ebe6d3f2e0d3280f75f593d3533974f45c6b4b9abcfcbd6bf537ce8da0a02052536fe0b3cf3ea3b0f01fe4e4e4b8bd367cfef917183244c755575dd5e12e62cdf5090ee69bafca50db6ca8944a94ae5ce0703af9f6e449ccb1b18cbb3707759f8ef57851d4f5145228147cbb670f6fbff72e8f2e5a8402787cd932962e5d8c8faf2f769b8dfbeebb97dbef7a184d0bcf8cf1664202a542418dd54e5c546fb47dfcd967ace1bdb223f82815cc4c18c8e030350ae0a723357cb4e738910382893baf2fdfec33b1ed8b23f40af467e298d04e0d5c7af2e0fc4e7d8e4b70af5ef40ad160ae31a3502870381ca854fefcb46f5f974c0bdc98d3e964bf7e1f2a7f7f9c0e070a85921ab3194def3e0405b71c60b495af8f025d1f15b5363b965a0783fb0450f4f1614cd5a7ef20b3d5c1579555fc78d4c24fc72d586ded0f1efcfc4eef0bded8a959c51c6eff1a2fd7199c0e074ec07fc05822945554fca060406424910d7f43e81fdcd2716365ff7fdf645faf894c1b1dd481f73df31f7801437d8ff2f9ae43a76e9e5b0ff0c9e7c7f11b1acb00cf45ea7ebdade6d7bbf4b6a45aff05958ce2c639c94c1813c58851a3896c7ce82afc085281d9646e76a7ac9d69a8ad64ebea9738e07711d7276adddef5f3ba4cad07f9bccc84ef90b168dd2d63fe811d9f9dc07f782cfdfddaba2d07c73e58c5d2923efc5ffeb3640eff86a71f7995ca535ff05c0ec13ac6444733e6bc610c6e63d0e24d19b476ccf80f8826427994cf4a0f9eded0e3761f03ca4074975ccfdd7f2be4a99450ca5f7e896fcdeef3ddfab1ebb93cdb7faed77fcf43fe5ae2265f9eb7ef47c8b0582e8a8b232e2e8eb87151687c9c9cfc7c3577fded0726e63dc55d93c29add99eb9c73b56bea1a650bf9f15436ed2c63bcaf5fbcd9d6291ecadcedf1dc8cdb749d99bad97fc00544fa1ea5f4c34ab7936c76f45c6b374ff544271b3c7870dd3da696ef30391c0eaaaa4e327af468b7418bd5cb8bd95ff47abe5c78178a1d3bf0773ab1d65d871cb75af9d26e47957a03131e79b8c3414bbdfaebd6cb2f4b24d85fc5f537dfc4b3eb0b287ef555c2c3c3891c3284909010bef9fa1b3421219df60c1ba7538102057ebe4a86840732725030e3cfebcdeccb0732a0af0a9bdd014e18141ac0a888206a2c760e1db3d0bf6f3003fb06d65df375fe3c9276bb1d6badb5cd7f1d7dd068b73dc7a56f5838d5d5d558ad567c94cabafe520e8c870ea21d30d0ebf5b6c678e860ddc01667ddfcda567c7c7d3be5192e00bf8d0ea5608781be412a4cd53622c382b9ff951f881e1448c2a8de8407fbf1d3510bdf1cacc257e983ca4f81af424190da86b697bfd7ddc65a7246bb8af904d32f180e7ff21f3ede1741826e22b74e0be34fffb887079573983e6e00fed507f9f1f850ae4a1e4bd0f166b38ad97ee29db72ad124dccda8c6b7d2aced7cbf15cade9730276520f3d6decb63aa4cae1a0e155b9ea6e0a741a43e70b16b26292f28433de7b797ddbbf4b62460d018faf322ff2c78833e53a2e8a334b0bfbad102fe038989f4e5b52d6b7969cc754461e468bfcbf8ed79473da7c1b497cf77851068abe2887e37db37bfc2f67da1fc362f97df84fbb8ed26d59e32fdf9fde7793e720a315a273f6c7b9675957d49be6b7c93654efeb88b0f4b6b08b2eca7f4e567f8a76108373d12ef5aa60ddb729c2865cd132584cc7e8ed4b1e7e173ff1c4a6ec9e7f137125875ed407cbd3c763cf1e6b86af598099dc8ff2587317fdd421639e6322d260cdf9346aa7497337968cbfb38a9efe7fceb63181ea525c07a885ddffd02c1fd705d9fb59cefd6d21174b295f26c2d1feecacc53fe9a75fdb61e7c97d7dce4abd5726c1e79da0fb2ede97f71744c2657f53fcade3d47eb12a4a2af6e08fd949d737c74555dd35c6b65d3d632aee775fd32b6fddb3a958996cbdc53de4ee3215d67a26e56f6b984b9d70d62de0b0bc975dcc6b5170dc4ffe457e81b955d47cf3565f3d9385b4b94dbdf022f3258f71befcee79f7f414c4cb4db9604a552497cfc783efcf043a2a2a25a5e891737510fbdfb2efad54f1378f2240a85028bc381d5e9e4845a8d6a7c3c17cc9881e5fb9f782b3a81e3870c6ed7d3bbbf960bfff228fda75ed9a6ed2a954a1c0e07390befe2d1a58fb16deb9bd8ac36c68c1e4d754d0dfdfaf5c36ab3e2703a3bb92791abb5c76a73d2b7971f096342f1f351e27082dde1a0d6ee20bcb78ab8e1bd29fef0109f961f41131cc049b3ad5307e5d7eb8ec1f91d1be3d2c19d312842c78fdf7f8752a9c469b7e3e7eb8be9d831fa8685774997319bcd86e9f871820203b0db5db32ed8ec0e86460eebb46d8c1d14ccb07ec7319eb0e3742a301eb71037b40fc7ab6b79f993c3389c4efa05ab095429f8c55c4bbf605f4e5a5c075b671f53ee9ee3e26eb90ef11dc8ef3267f0ded26256bd7c39e3174613f7a7a7792c7415cfbdf667eedb60071f0dc392fec8a4abc71254bfddfa6e0295ff61db7e0d13ef1bd5a40b407bdf6f952290e8794ff144e07256af7f907f5741706402e94f2ee4e6b11d78d0a2a297c7fcaabd4d6f0bfca36ee191054778e2f915dcfd9a6b8c934a3390685ddd03c694a15cbef02e4a173dc5330f7e007e61c4df164d62a0bb34f810141a0c1f6ee0c1ec0d00a8fb0d237a423a8f3e3a83cb5a7b00653bca54e97f9c0f0bf2d870d481aaff38662cbe87cc0b835dcb287b31fca268fa6e2fe0c16c2be047bfd15770fbdfee64d628751bb765616fd15f7893a9ac9c3dd235903872060b67bc46e6334ff3e1154bb8f868e7ed0b6fcaa0e17f5a39667a2983b970fe1a1eefbd92675e799cfb0a1ca01ec4e50b2fe4f2e1fd5bdcc79746efe1bfcfbfc85f7fb602bef4899a44d6433733c21facdfbbc9b7c7748ce0502be57959ef56f2e1b6cc3ce4afd985aeed88fb7c413bb76faea4f40727b6da35fc696ee30fc2b87e6d11997e9d747c74555dd38ce7b2697b19d7f3b67eb9323ab2dddbaae7ae3ef798b7e637523ca4eb8cd4cd8a40a2e73dcdcade7f65cda615dcb7d1558769069dcf1543835c2dd61d3cd726d2f477b355eecac49bc0a5ee37be250e87832fbffc9259b366415d1ab76fdfcece9d3b898888e0da6b53080a0a64c284f1fce52f1f70f8f061c2c2c2bc48c4a9ed55edd3b37fe3464e6cdf8e1338e2e38343a3c12f22823ee7c71073d145f41e3102a59f1fc5c9373176ec58064d9b0a805f64044a4d08b5dfeec56971b58fedfffe073e987f1f296d0c5ce05477af450f3e00c0adb7a653f9d34f0d2d327ebe7eaeeb5b2f9fdbd29c42010e07586d0eac56073ebe0afc7d95d8ecae874a3a9c60b739f1f301b5bf923e41bed4da9cf8626350a83ffd7babb0d43af0f1e9dc8bcd333d38bfadb1478bc366e7fd21a376d913cbbdda70bd5a8b851fbfdbdb302d5c4d8d9921c38677c9407d8bc58cfefbef500704e07438a931d730747854a74fc55c53ebe0cfdbf661b529f055283959632338c09740952f4a85822a8b158bd541682f7f7a072918da4f4de2c8de1e07f13767aea9e6f3cf3e2576dc8568fb9fde42653299282858cffcf97f6c755dab56fd95f4f45b5bec87796658d9fbcc6cd2df88e3a99772880df0f6fd9eaa27a4b79bd3e0e6990b675e37968379377fbe7e1ea5c9cfb371eeb0760c96ee0c3de118fc3590723af3bab3cc657f7786f2f272de7cf32dfef8c73ba9a9a9e195575ea1b2b2924b2eb984afbe2a738d8398358b010306f0faebafa3542ab9faeaab9bacc36ab5b2f5f5627e3b6d3ad65acfcf73a93e7890231f7dc449a3114570307e9ade04868711a4d512d0af1fbe81814d2ea00b35914c0c1b88edf0cff45f720ffd1f5c0880a5fc3bf65c74258e93d5f886f563e7e103cc36fdd8aebc3b9dae9972f7efdfcfedb767e1703a080808e4975f4ee2e7ebc3b3cf3dcba0819dd38b68d14b953c386b24a1bdfc703db44e09cd3b013a9cae2b76a79263d5f5933729a8365b19d4c797e366258b36eee1d154ef1ebed99c42a1e4e5575e69f7e0fcc9575ce1f54df39c7b16b2e69975d7e19a5fb3baeeafaad1bf6b0073a70dce6fce5fa562e0e008f657ea713a9d046b345d36bb984aa52620b817274d26140a050323745df2fc98007f25395745f2e76dfb301cb7101ae88f52a9a0cae2eae7a85428f0f1859f7fa961d4000d092334ed0a5aeaf9f82871781881575353c3a38f2e6d753d676242048f6a7fe4ed7f1fa24fe254ce0be8c0fb3d554f486f4f48434fd01de5e0a8e2a73d7ba92cfb27ff3d16447c6cf8190e5a90fddf56524e675e7796b9ecef4ef1d34ffb898818cc81030778f1c517e9ddbb0fb7df7e3bbd7bf7262121817ffffbdfac5bb78edffdee2a860f1fce7befbd7fda3a4e0d19685de08001045e7b6dbbd25875f867007a4dbd92432b9fc1b8ae90f3cbde433de5728e156fc552f7797b29148a866be1471e79982fbefc92a4c9932979e71d62cf3f1f47273e9831b8b796fffdec4f9815ec763fd7dc368d469fd64f14543fbf829fafaf2b867182dde9cf0f55a03f64c547d989e39a7bf0e0fc4e1fe3d25870480823c78cc56eb777f945f4e0081db601367c7c7cbaa4bf5f3d7f5f05b9d322d9f5e32f6cfefc30078fd5b89e06e480f0105f46860771d979bddbf5d0c9e6940a254e37d321fbfafa327b762a76bbdde34eaeffbc3b8397da1fdee23f8650265d1585ba03eff7543d21bd3d210d3d41b79443ed5e36dc7b075b8ff72576d683dc79d1999ea74af67f5b49399d79dd59e6b2bf3bc70517c4f2c20b1bf8eebbefb8f8e28b49484868b8bef2f3f363ead4a98c1a358a37df7c939a9a1a264f6efe0c3750faf8b4ed8ebd972c75dd923e8dfb0d7da7ff16ed5df300a83e6868f8ac23743a1d3a9daee1619cb7de724b87d7d99c566562e7a747b1d9dbf6104947a3160d851394be7ea87c1c248e0af1f0adf6b3d9acae06a033a4adb1478b5dc5162eb8a37671de232d7c24ba9ab9a69add5f7dc979a3c73070f0e91d886d361b168ba54db359f8fafaa252a9babfe54508218410e7a4e2970a993afdda56bb8ab557a12692a18deebf5f6efc1ffe61fd70d4d4f0eea0186cc75c53b6ff80addd5dc5ea9d1a53ec6c9832195c2d325d7993fc5c94b7f80196af7caafbba8a89aee1ebeb2b818810420821ce79e6ba5695b0df4ce2c3ab66a1502a49fce4df04254cc0b0795b87d75f1f9c347f159daf630fa0f495c0a5bb28140a944a2566b3bb19e385104208217abe43070fb82608eaa247f955d7ad78cc5f1ec57ae2178e7cbc0b0093c1d8f099f875686becd1a5635c44fbf9f8f8a21d38903ddf7e8d3a404dfffe0351cafee83256abb74f0013a2fbd5d6ca0d0ef1ebe4b03b70383a6f80b3e8796a6a6af8acf423a2cf1fd725fbda170527ea66df7a6f5e369717ac66e8adb3d9b568293f7eb2ab6139bf2e7838a3e87c1d7b8e8b8f7445ea2ebe7e7e0c1c3498808040f6fcef1b3ef97067e73c48f257a8b5b9c3c5d9cbdfcfabc78f8b5f07ed06880000200049444154391f3ff9ed391729954ae9a27e5652107dfe38c2b45a6c5d7093501b1cccde932730e3e4e8f69d7c33e282d39651a3206ac0804edfb6e87c6d8d3d648c4b0fa440415858385a6dff364f232884104208d16e5dd4a3ca89eb59285d11b400c4153e43d5dc051c3718dd2ed35b1bce45cf74ecb984e2cce8d81817095cba9ddd6ec7de89f3840b218410429c2d82265dcad4f24fba3b19a293b435f650b6f4a68c71114208218410429c096d8d3d5a0c5ca4c545082184104208712674783ae4b2b2b24e4d901042082184104234d7a1e9907d7c7c183d666ca726480821841042087176eaa3e905c0bbef6de7e723475a5dbe5fdfbe5c3ee932003edbf5519bb621d3210b2184104208213aece5e2d79891f2fb762fdfd6d84306e70b2184104208213ae4ddf7b6b72b68019891f27bde7d6fbb0cce174208218410429c196de91ee6ee7b1d9a0e590217218410420821c49920818b104208218410a2c7ebd80328db3825991042082184104278f272f16b1e3f6f6bec212d2e420821841042882e511fb4780a5e3ad8554ca6431642082184104278af79b0e22e78e9d074c842082184104208e12d77414a6bddc63c91a6957354757535efbdf71e4ea7b3bb937256703a9d5c79e595a854aaee4e8a1042082144b76bef335dda42029773d4b66ddb484d4dedee649c555e7df555aebaeaaaee4e8610420821c45949029773949f9f9fb4b67432bbdddedd491042082184386b49e0720e73381c28140a9c4ea7bc76d2ab1042082184e81a12b89ca31c0e47c3ab42a190d74e78154208218438977564e07d5bf4a0c0c54469e1325615954178381ab51a541aa213a2a8dca1236745129a339da2b22d14e62fe1fea20a884a65f9a24c52a6c59cf1747415bbdddeed17fb67dbab10420821c4b92af9ea696e3fabaaaa6af1fd77fefb6e9bd7df33021773396b664e6119396cdab894f886c8c0c096ece92cd93d9ff970c603064dcc34e6e518292a5a08b7e6903e4d778653d075a4c545821621841042885f931ef01c1733a54b6672ffae3856ac9dd7286801d0326de906164599307557f2eaa7b755775702ba8ec3e1c0e9747a7c3db4fd69164c8b6748ff3ef4eedd9b21e3afe3de97bfa5a67eb97d4f13afbd92570e795e4fb7bc567fcced435ce9eed3a7e9ebf9f77d45f58fabb9acff6fd878d08173cf5f88d74ee395e3de6fafc5312ee6126684861299568ca1c90726b6240f2036b70c73bbf79c99b295c98c0a0d25343499c2cfd69038600a8506a07c2513062453dc99278c7e0d13064ca1d8d0faa242082184105da5fb0317c35696e457a24a9a4792b685cfd523999d9970aab5c55c4e616e1659d9d96424273225a38052138089d2820c624343098dcda2b8dc5cb77831d9134631634da92bf8319552909b4d56463289b11348ce2bc18019436921b969139890b18592bc294486c692bde3f4ab3f536931796989c46694505e924772ec0042072492bdc580595f4cf6944842430790985d52176c99d117679396964d6ed60c12272493d778bde6720ab333c85eb992ece448424343098d4d2439b7d47541db627a5dcad74c21725406255e5ca4d65f687bfadb5798c684e9ab304e7e904d1f7dc3379fbfcbda5b356c993389b4c27d75cb01b4beaeeef9032770d19fdfe59b6fbe69f2b7edc16854615379f4b9079918722ae8e8e836dd39b1358b3985faf6efa896982b282ed849f8a3eff1bfff6d64f698692c5dbb8884b3a50fa310420821440bba3d7031ef2e6617109514e5b62b98262606574c6360cb9c991445e7b07ac50ad66d5acbb595b94c4f2b408f86f8f4d5acbe3604d451448f743591a87551e8e216b1625e3c1af4146617113e7f05abd76de6ed8d5331ae9ac99c4223a83598cb2aa8d85d4459dc7c72521388d2347f98a01934e158ca7653b9bb98ada614d6beff1ecb2756b03e6b0eb9c590bae14bbe589b847e7d2e05e580a198395925e87296b274f546964fac60556e31fabaf5edc89dc9324b264b172c60c5c6755c1b02e149cbd9b4341eb5dbf4ba4217b536029d4e4b8817cf3c6cb505e1f87fc8cddd8aee91b778fe8f57715144386183c732f90f7fe3c5472663292de3607d4b032676ac4a63c2c0bef4ed3b944919ffa0bcc6b59ee33b56923669287dfbf6a5efd009a4addcd1f0bd63dbffd2f4b3bf6ce790d389c3f123af644fe782a17de9db7720a3276550f0554d43fa8e7df277e64c1a5df7bd4964acf984e36ef201a00a1b4c787838616161a75e554e1c87b670ffdc256c3fe6c00938eb023087c3c1f1d202321a6d63ce9a528e79d3e202a00a61726a0cbb16ce614db9fb7d62dab192b4c4bae035d25556a7357298cbc89b92ccaa4ad8bd249929b965988d5bc89db38416e26c4ca50564248eaa5b672219f5017c4bdb2f5dd374d982c6ad4175fb784028a1a19124661452776fc043baf5146727131b194a68e8004625665050d6688deed2a65f43626432b9d93398103b8ac80191246614346c4f08218410e7a66e0f5c4c06231640ad69c3ede2f27c724b34a424d58d35518f6476ce54543b97b1b2d40ca8895b309b888a028aea2e90cc65c5e8a726a103cc65f9acda656467d14a56ae5c497eb189a88971a88c2634310924e84015914efab469cc5bbd9a7931cdfb87a9d18c8c61a20e5451a964a6c4a0d58c24253d0e2c1aa665a610afd5a04b4a25063d654633a8a3989a92c2545d5d20a5d180498fc90c98cb28de5a89264eebea89a68966da483056b8cac47d7a8d98015dca3ade7f7b29f15e7463abbfc86e3cd6a5f16bf55745ec3c11cdcdbf1bdcec737fa2fef002af3ef93bb480c3e104cb5eb61aaee2d9af2ba978e711c2dfb99b855b0e817e3dd75fbf0acb0d2f526134b2f7b53f40fef5dcf24c058e1fffceac597fc53ceb9fec3d7c988ad76e83676771f39a3d984a1ee0ae7746f0e40787311a3fe5d94b7773ff5dae60cf71e8156e9bf500fadf3fc3eecac354bc7633279e98c59c570eb5988ffa50c25d3e4f7d5ed7e2e27080e155e65c7f3f95bf7f96dd7a237b5fbb85e34f5ccf6daf1adcaec7f3181735ba5bd7b23aa99cfbe7aca4aca50b707d013367aec49cba891f8e1ee587cd99903f939b9a473aea1816bfbd99cc081513377ecb97eb12dcf762341493313397ca94b5fcefc0517ed89c8e69d94c325aeaf365282663e6324ca91b5cdbdf9844456e1ab9a57589b554b0d53095b5df1ee087f796125eb290855b0d1ed36d2ac925bb248a151f1fe5e8d12f589bb09bdc8575417b2b69b39cd8498966016f7ff92d3f7ebb8ea89db9aeed09218410e29cd5ed83f3d575ad1a669399d686df1b76eda4d2a221bcd1959a263a8991bccaaedd4688d7a18eb995f4a87cf20bcac85931925daf9a9896e36aafb15494a1d7a490b9209dd387d99b50012a8d0acf0d182ad4cd1650a955a81a8f5450b9126801d0c4b360750ce55bd690b7d388456faaff84fa8133a60a13aeb04b8d4a0521ba7054ada6b7631ab74834ee2655ff6a361b3941181161ce5317f52d2ce7baf21fc16d77cd626c2f60ecefb839fa6e1edc7d9c3dc6f5ec1e71373be65e4888d309636f66c9ddeb4978760bef395f737d76db45f4723860ec2d2cb9eb79129eddcabe27425055eee49f45afe07fd5642e7a78a7eb62d7e1c050f20c3b3537b375eea584f9d77defce67497aa68443bfbf81f0c6e9ab4bf707b78c20bc71e6c7decf8e77fe4894a3ae9dc5e96892a74325f97ca0b999ad732f214ce54af7c3773e43527e09866b6e20bca572a0b5e0259c94d5abd932e126e62c9bc87b8b4736f954bfa580b2a81c3e9e17ef3a0b62d2599a53c084fcad94cf1bc9c816d7e999a1249f9d9a74dece4c40abae5be7827c26e5976048994de39e99869d05ae65d3ebb69f90c3a6b753b0e8d4b89a41a2c8cc994d8c068899467acc4272cb4c5418dca75bbf5c83ba72278545c5a8a62611b7f4630eb6256d6b015534b7a6d77511d5c49112054bca4c90d2527f52218410429c0bbabdc54513954414a0df51d1fa20658b1930616cdcd745ad4105a8eb07d1339294cc688cc5f9ecd4efa0981426d6c543662c58f4255434eb2b633274611f14733985195358624c2067e962322736ba845647919e198d714b91eb2ebca98c12631c0be6c7a03e03e9f53456c33f2482304c184d2d7c5e63c070bceedf384115424448fde7fef8ab00f3090e5718217c38618dbe1b36220295690ffa6fdd7db617f385cb28cabf02f39b8f929a309221d157f1c7f565d4389d1caf388ca5f239928668d16a5d7f098feec572a202434dcb634ec62ed9426969e9a9bfa29b19519f765741d0d0cbcb8b6db436bea581661a2bd6a6625e3587dc26fdbacc182a8c103eb24980151ea54365aa70b5ce79c15461c05299cfa481a1aeee58a1a15cbca4028ba90263b3759af446d04635ba29a0461b1383aefe5e824a73eadff5c1bbe504460fe936c72d67d3da242c5bf39879f150068e9a42565df7338f69b3d46dbfd90d0273dd9f10420821ce4ddd1eb83032959cc92a4e6c5d46718b6397cd946fd942b9193471718453c196b2c683db4d5854514c8d3b752756377501132d5bc9cb2d42736d5c43571a4d4434e127b69257587eea02c854424149270d9a6e81a9249785255164a6c6b4d0a5474d4cfa5232e30c142d5bc99a825dc43db5890575e373ba32bdad8d71510dbf9e4b433ee3f937f5a77d5efe7c2ae7c7ff811dd5f5635c9aaecfd510e347dfe12160acc0d0e8fbc68a4a2c2123193c5203c60a8c8dbe6728afc4a2198ebfa11cd3f085fcfd8d8ff9f1872fd9bc308c3773eee19ffb1c848c0843353c97f70f1ee4c081031c3c789003fffb984f5e59c818ff16f203840c1ec6e0c18319346890ebb55fafbacf4fb594d407614ea7935ec3c3508dc8e5fdfaf51f38c0c16f3fe1e397b319abf25c6eadd1242c676d26ac9f934b89e954cb9b364a03c6728c8d963556e8b168a2d07839a39d264a8b2a6a111f1d3dcad1fabf1fbee08bd77368de0b52a3d380a1714063a6ac208f352d0d9c69a022dc43bad5c60a4c51396c7cfb4b0e1ef81fdb72c2d9b2702145fa56d2e6c5982d218410429cfdba3f70414bcaea8da486efe48e995914360e4a30505ab08c9de1098c54833a66013913e19d65050de304f4254598921691dab82f8d3689cc24d85d16454aa32b34757c2699d1b0fbfe494ccf5a49c19a3c32d20ad125b9be6c012c169ab2d4a5a7e182ce82d902aeff345aacc9ffd48dafa95ba1e5c44e8a4acad1971693bf550f260315bb76506e36b1252b8b124d0271313ab43a1d1a631965752d2aada5575f9846e2945c4abdb80dddda181747af8bc9cdbb9caf7352487fea2dcaf61dc258b99b92bfdecaecc57bb9e4befbb854dd6c6c48a3efe37432f877373376ef7216bdb09b630e07a6dd2ff0e09ff73262d6ef48f86d1a63f72ee7c1f56598806365eb59b47c2fc367fe96b00f1633fbbaf9bcb8d78cc3bf1fe1e16a54aa104254d06fd24d5c78f829163d538a11a83e5442ced51398f667d79d7cafc7b8384fe523fc8a9bb8d0f8148b9efb94430e0766e37fb967da78ae5efe35d55e8d71694c4dfca28dccd76c65fdee53efeaa6dd4a4cc532720b5ce5612a2b2077590551a953bdea2606a04dba9538c34a72d7946200cc8612b2a75cc09465a74fc1ac9d98c9445301794575db2fcd67616e31152acf514484877487efc86566721685e566506bd186ab50ab42d0a8da97362184104208e801635c00d026b1fae38f485ab2849569b12c418b4e174178f848a62e58447a43f0a1237de3eb98b3173267fa0ea2a334a04965c3da6934edf9ae21293395a965a9cdee2c8f64c1a64d98b2b2c92f5ac2ae88c9cc5fbd8e14ad99f22d2b29d8051696b16c4b380ba68d84b22d14e7af6737c0fa65acd1cd26515d4a411958d40514944490125149d19a5d608182fc2d44a4465151544019165893cfaec772981f97c6aa9ba65371eb52962f984671da0e8a2b72989aa0c212a745bf328f85eb4f340a7ea2b8f5f5b75991e02ebdaea5cc4623157a15272cb4fb3933ad8d71011834732ddb7aade0b11539242f3d8c0508197e3933576fe3be6b06bbbedf683a6447dd9811876b25380665b076a399fbee9dc1987b4f40c8187e9bb5960db70fc3c930d66eb470dfbd33187ddfa9cf36660da71f2b58fd69360ffd66187fb2b8b699b67605d3fb39703293b51b4ddc776f06173c74180863dccc156c5a7c21fe752d2ccdc7b8d06cd6afa69f3b713a1c0d5dc59c4e278e7ef5dbf83fc62d6ebc8d71a89cce53418e9bd756a963c8d9b088928b979c9ae14b378f0d9b2c2c5c98ccd0852720249aa90b36b26981b7610ba09dcdc64d26b217dec4e8fb8d403871a94ff1fad2f8d30f176d0aeb36eac9aadf7e781ca9cb37b1345e0d9e1af83ca45bcb6ad6eeca2277d240eeb04048d464d237aeae3b7e3da4cdb8cbfb3c0b218410e2aca568e13dbf575efc47ed15bfb9ea8c27e6dc63a038379ff09cc58d9ec161c6b0239face23836aef030635407fdf39fff24393919a7d38942a190d74e787de38d37b8e1861bba688f0921841042f45c252525245f3dcdede75555552dbeffce7fdf45e9a8e5ba59375e07d400d5757f558dfe5d03987b468bcb39ca54b29065fa74de6b32999a1aad2e1c5d4c7897052dd0b6161779f5ee550821841042743e095cba91496fa4626b2e0b0b97337f5a1c3a15982ab6925f6024657107ba08b5419b67c2126d26e52984104208d1752470e946baf40dbc6ece65c992995c7c870554114c4c59c0a2a50b886fc3f3383bcae170747bf7aab3ed550821841042740d095cba95968479eb787bde99df726d6d2d702a7891d78ebfda6cb633bf238510420821ce1112b89ca3929292f8d7bffe858f8f4f7727e5ac60b7dbb9f2ca2bbb3b194208218410672d095cce51111111dc72cb2ddd9d0c218410420821daa4073c8052082184104208213c93c045082184104208d1e349e022841042082184e8f1247011420821841042f47812b8082184104208217a3c095c841042082184103d9e042e420821841042881e4f0217218410420821448f27818b104208218410a2c793c045082184104208d1e349e022841042082184e8f1247011420821841042f478bedd9d00d13db66fdf8ec160e8ee6488b3d4f8f1e3d1e974dd9d0cd109a4ae105d49ea0a21447b488bcb39ca6030a0d56abb3b19e22c2417226717a92b445791ba4208d15ed2e2720e33180ccc9d3bb7bb9321ce32c78e1debee24884e267585e80a52570821da4b5a5c841042082184103d9e042e6798694b1aa3466550626ae9c3328af3d298109b4689f98c274d08d1adcc184a0bc99d3181d88c1d4815208410423425814b27301424121a3a8ac429c9242727322a3494d0011398929ccc94c45806840e206d87eb3244a59b4852520211aafa6f9bd197d50f7cd5104e051546b96411e2d7c14449761a85fa8eace3541da0d6eaa0a20263a7a44d08218438bb48e0d2094cc4f0e8475ff0fedb9bd9bc69352911c0c4a5bcbe79336fbfff25df6e4a27dc6201401d338fd5abd319a9aefbb2be88dc22bdebeeaa46474c5c7837e54208d16e862dac5cbf955505e5deafa3a10e50a3d1c510276395851042881649e0d209b47199cc6e88444ea7999849eaa92696534ca5ac9c93cbae46ddc654ee572384e861ca8bb7a28a0ba1a26815a5de3494b65407745aea84104288b38b042e9d40131383c6d3026a1df123d56028a5382f8dc4d8344acc264a8bd753526ec1b863195959b92d7737319552909b4d56463289b11348ce2ba1be6359f99a2944ba1b2f2384e85ae6528a764f65c55339441b8b5975da8968a0b4309bc4d0506273cb3003861d05644d082534710d7a3cd401160b15c5d9244686123a2a9995658da222733985b95964656793919cc8948c024a4dd03046266d021332b650923785c8d058b27798a4ae104208715690c0e50c32ab35845b2ad86d34031ae2d397923e1242127258bd7a29b34feb22a2a730bb88f0f92b58bd6e336f6f9c8a71d54ce614d6f7878f40a7d31222b7688538e34c3b5f85d414742367933319b6aeda42d3c7346a899fbd80d4e846ef24a492991451f77feeeb004b592125aa74367dfc1e8bc277b22caf0457cc6160cb9c991445e7b07ac50ad66d5acbb595b94c4f2b400fa0d6602eaba06277116571f3c9494d204aa392ba420821c459419ee37206a935238999180e056d5bde5c96cfaa5d46928a56520160321135310eb3d188192dba9475bc9fd295291642b4cc40494934a94bd5809aa49c74227ebb8aa2f2d92c18d974496f7a7faa62d2c99c16831a989a14c192ad1518004d793eb9251a162caf8b70d423999d3395653397b1b2349515f10924e8a048954efab42434d3a6b9968b91ba420821c4af9f042e67587bc6b0582acad06b52c85c908e8cd715a207292fa6b06c279a8c92ba374ca85515e4e79792b922deab60a589462d23ea7035984d58cc60d8b5934a8b86f0461bd04427319257d9b5db08f11a54804aa392b132420821ce3a12b8f460662c58f4255498d2d1351a44633298d1686514bf10ddc34ce9d64a166cdc4842a3f352bf26910b96ad62e7e28d24791cf4e60d4bdd8b1930633441c3c03ab52b584125a18a104288b39b8c71e9c13411d1849fd84a5e61f9a987d1994a2828e9d0432384101d61da4991712a71cd8213ddb474a24f6c65e596c6235d54a8d46031379b72cce2dda63571718453c196b246a3eccd262caa28a6c669bd5ba9104208f12b21814b57b00016738bd72616334d2e5a342170a2a202a3be9492727393cfd5f1996446c3eefb27313d6b25056bf2c8482b4497e4ea44af2f4c23714aae77d3b00a21bc525eb8065352cce9ddc174134989829dabf2296f382735e822423096145152564e69f13256ee30826117bbca0c9869a10e00b7818d3a66013913e19d6505d44f34a62f29c294b488d4bab13516c0d2ecfb5257082184381b48e0d2990ca51417aca4d808ec5ac5b2c29246173060d69750505006ec624d7e097ab386e879a944952d24397737e18a9da73e2f28416f1ec9824d9b983f399cb2a2252ccc2f4397b38294ba1bab66a3910abd81135edebd1542b48789d2c22c6ebaff1d761614b0a5f1c98d99f22d4594e8818a55dc94b58612bd19501397b398a9ace7a62937916f4e2133218a88180d269305685c077c8efd9b7c0a768165573e0525e5e84b8bc92faa80ca120a8acb30a1237de3eb3c1a55cc9ce933c8c8ca206f772a1bd64e438b99f22d2b5ddf2f59c6b22de5d4b7cb485d218410e26ca068e13dbf575efc47ed15bfb9ea8c27469c392fbffc320073e7ceede69488b3cdb163c7ba3b09a213495d21ba8ad415429c5d4a4a4a48be7a9adbcfabaaaa5a7cff9dffbe8bd251cb75b36ebc0ea801aaebfeaa1afdbb06304b8b8b104208218410a2c793c045082184104208d1e349e022841042082184e8f1e4392ee7b0e1c3874b1f632144aba4ae104208d113488bcb396af8f0e18c1b37aebb932184e8e1a4ae104208d15348e0728e920b1121445b485d218410a2a790c045082184104208d1e349e022841042082184e8f1247011420821841042f47812b8082184104208217a3c095c841042082184103d9e042e420821841042881e4f0217218410420821448f27818b104208218410a2c793c045082184104208d1e349e022841042082184e8f1247011420821841042f47812b8082184104208217a3cdfee4e80e81edbb76fc76030747732c4596afcf8f1e874baee4e86e804525788ae24758510a23da4c5e51c653018d06ab5dd9d0c7116920b91b38bd415a2ab485d2184682f69713987190c06e6ce9ddbddc910679963c78e757712442793ba427405a92b8410ed252d2e420821841042881eefec085c4c6514e7a53121368d12737727a629b37e0705d9c94c48cca3ac87a54d08f1eb25758b104288734d37062e660c3b8a5999164968682803262433236d06c989b1c44ec960e58ef60c06d5104e0515c61ef8ebad0a27dc544685c9d2c62f98d197c94058213ac68c7e4721793346b9ea97e45c0a4bf49801535921d9b1a18486c692965748bbaa9a9ea4dd758b104208f1ebd68d818b1a6d420a99f3a7118e8aa4e59b7879e3cb6c7e7f333921252c993e9ddcb6de46d4e888890befdae47a49ad1d494c5c3b061fea8bc82d725d600921bca54697309b9c9c2457fdb26011b39374a8014db806936632cbdffb988d8b6793f02b1d77deeeba45082184f895ebfeae626a4db33774a42c4822840ab61455b4f9025ea5eeec84750353292be7e4b2cbd4dd0911e26ca16af282a994bcac22e2566f243de66ca834841042887347f7072e2db0984c58004d9486269716a6520a72b3c9ca4826317602c97925b8ede5e1765933fae26cd2d2b2c9cd9a41e28464f276d4470a66ca0ab2c9cace253b2d9101a11358a3f762db663dc5b96964646593959146eeabfac61fbad9be89d2e2f594945b30ee584656562e857acfdb2d5f3385c851199448a02344eb4ca5e4652c4393b39679ee829616cf37133bf2a630203494d009b96cd1bb6ea798f5c564c5463225ef2db6ad4c6640682891330a283799282dcc22363494d009d91497b9ceefb282198c8a4da3b0bcee768cb99cc2dc2cb2b2b3c9484e644a4601a526003386d24272d3263021630b257953880c8d257b87a9d5bac55dfd257585104288b3418f9b0ed9ac2f2637f71d2cd1992c4d69dc0d424f617611e14b57b05a0be6b23c264d9ac99ca8ffb17976f3be1e1e964d2a614e5609716f7fccd21828cdbe80dfe61693fe7e3a3a7d11b9c531acde9c8e0e33a9b973d8d5ee6d9bd8b170262ba3d6f2f6d218d4e8299872015beb3f3614bbdd7e7cfa52d28b8a288bca61f5ea78d4e829cc70bf5db536029d4e4b880a218427c61272d3f2512ddac88278772d2d1ecef3c51b58be6b347710479ccef57d757814e151b3c9ccf91d31ea312c2abe8055da68741a0dead94b59b1b59834530213635cadca515123495a3a9fd923d580812d7366523475339b67ebc05cce9ae993989e061f6f4e45a5d6602eaba0425d4459ca7c7252b782c6ecb96e715b7f217585104288b3420f095c2c94e5e792b56c2b453b61eaf26dfc2f351e6da3eb0b73593eab7619492a5a490580c944d4c438cc4623669a060f1e975547313525a5eee2c38c5aa301931e9319cc263dfa5d5b59b92589a5d374c4cfcf44ad6e7ddb4d2e83f485e416ab48ff38a6ee7d1d49d746417edde71eb64fb3eba9d6b6ab4b59c7fb299db30784387b59d8b52c8bad1530b9c280395ed3fc54035a3bdf6298b6e05a7267e6b3559f42ba0ecc15c554c4a412a506d0312d3d8efbff9fbd7b8f73aabe13ffff3ac9cc2408cc4441268a42bc2069954edc62498b2db1d212b596686b09b6bb84ad5d626d4bec8dd47ebfedb4df6d8dbbbfd6b8d525f6b2a4db0bb1b24128b10000200049444154b4127dac92b622b1d525b6b48c82258895082a012f644098136692cfef8f93819961ae30c384f1fd7c3c8699c939399fcf3987797ff2b99ebbe26cd2afe04a6b03e7cf9e46f1dbab58bff7466e6e6c65d3a33a37aea8c4aae763dcb1be81d0f72a8d33d64bb879c5b5dc75d35d44ffbc98ef5f7125574e83d596a52cbdee6a1aaebb0e76ade403fdc496bee21720b1420821c498502515170bb382dfe5be2933d8e1fe3a9b361dc0bab4fb1ec51d5bd8d57023c1d0527a9b8eaa0f61dfd07db378fe91957ceba97d1477b502c6aa3cd6594b593177159ffb47170fce0ef0ddef7d939b6741eb00c7eb6aef936bd95a9cc2b46e6b057469e66cb8a2cff47b1ae83c8410836161f637d63037f651befeb98f728bf577fcfcc6e3ffa206fa7bb3ce0d71f3f9f388aedac2e26fce60cbea1dcc0ecc3a5a099a766d80d977dcc1ea4ddfe3cad93b7874cb6ce6d6af26fee82e6ebe71078f72232b2a53faf66e7a8addc506a674a941355c763597b0964d5bf7c1150d58004b83e568f41828b6f415bf84104288b1a2bae6b85c722b3ffede5cf6adbe8d3b7a0cc6d62952dcb59e1d3dc668b7ee3d7efa7ebffbeacff3cb4f7f986fefbb9215dffd26c1b95d3f054ce3e65f3fc313f706b8e4f9389f9bf701bef864eb90d22eb6ea40913e5728ed37fd219c871062f01a6671eb9adff19db9ad3c7acb87f9f483c7cf501bf0efcd3a8b60f03276af8ab269ef16d6ee9acb8d9774d9b1f16a82b38b3cb26a13bb9e5acdbe9bbfc137ae9bc2a6558ff0e7271f816b6773742992a20eb4b2af6b5a56a3b262b5f43e9e6bc0d8d247fc12420821c68aeaaab800d396dec7f7e6b6b2fad35fe4912e656ec3f99731e5c0a37ceb97cf1feb5d695dcfaaf5bb8e3b467ffbb6aebf832fad9f4170f1ace3878bec5acffa5d0dccbaf9fbfcee998709ced8cdead8262c4349fb922958d8c2237d2c0dd66ffa43380f21c410598dcacb3766b7b2f6960f73db23dd2b2f83f97b9b766388b9c547f9f6b7ef61d7d5d7f5e8996964eed2d914d77f9b6ffdd2c2e2b98dcc0adec8f95befe1eb312b37cc3ef617df307b3653d8c1235bbac409bd95a26506d7ceee7d7de681624b5ff14b9a398410428c15a35f71d18da152adc5ce66c4692cbdef7bcc2daee5964fff92ce8f0cd62b82042f83ad5f9fc7476f8bb26ae5b7f8f4a77ec9b4ab8d26cfa2d11839f0bec522c5034fb17afdf3ecfaf383c41edd05ad7bd9b1e949b6ec7b9268f4495a011a66b3f8ea194c9b3165c0b4bb6a981b62f19403acbded8bc6ea41faf3ac5fbf0bf66d61cb8e5de8fda4ffbc0e0df57060c70ef6edfa334f35fc73bfe9eefae5a7f8c087efe0cff2c94488de155bd101bd33bc5867117af861965fb69bd5fff8616e7bf0d8339306f577de7835a16b2d6c5abd8f6baf3d7e4059e3d541e61637b175d6626659c13a6331379ebf8f5d336ea0eb4266d6592156cc85c7ef5a75f4a9f7bbd6afa6f5ea6fb0b8925c112876e95d1928b6145a7b8f5f20b1420821c4d8308a15179dbd4f3e48ec9ef5ec0336dd7517bf5c5f69e99c76333ffede07e1f1cff1810fdf46f4c1e7d1b984d09a352cffe014b6acfe365f8a6d61da8aef736323e8bbd6b36ad51660132b57ad6797def7be0d57af60f96c9dd5fff8516e590d8b43d731a5b88907774ce17c4b915df18f32e7fa4f73c71d7710d383fc78c52cacfda47d1ceb957cf7e17b593c653d9f735f40d34d71f44ba671feac69b4eed3fb4d7f9ab581cb6e5dcc8c2d5fe2fa3bb672feb4cbfa4d57dfb78f1dbbf672401e9c2d440f3abb9efc257745d77380224fdd7507ab3ae34bebbe4a1bc76e56dfe262dea7eea8f4aa0ce6efbc81b9c19bb9ec8341aeeeedefbfe14a6ebdf1065674d63eacb358bcf45a162fedd9c33a8da53f7f98efcc78905b3efa713e7ddba7f9d6d6c5fcecc7d7d188cef38f4459b5098aebefe2ae479e372a2303c416e82b7e49ac104208313668bdbc56fb9b077e71e4aa0f5d73ca33234e9d5ffffad7007ce6339f19e59c88b166fffefda39d8511d5bafe8bdca17f93fbaeebf9f0dcb14962851829633d5608f176b37efd7aaeffc8757d6e3f74e850afaf3fbe218da97c848f2dfae4c78036e070e5eb50979fdb007df4878a0921c469632f4f3e08375ef9f6a8b408218410d5a44a9643164288ead5fae4b7b82db68f69535a797eca0a7e2ef516218410e294931e1721841880deba834d8f3ec8fae2b57c77c5c02b020a21841062f8498fcbdbd845175d24638c851884c6eb7e4ef6cdd1cec5e89158218410a21a488fcbdbd445175dc4e5975f3edad9104254398915420821aa85545cdea6e483881062302456082184a816527111420821841042543da9b808218410420821aa9e545c84104208218410554f2a2e42082184104288aa27151721841042082144d5938a8b104208218410a2ea49c54508218410420851f5a4e222841042082184a87a527111420821841042543da9b808218410420821aa9e545c84104208218410554f2a2e42082184104288aa27151721841042082144d5938a8b104208218410a2ea49c54508218410420851f56a463b034208218418196d6d6d6cd8b061b4b3d18d528af9f3e763b158463b2b4288d38c545c84104288312a954ab178f1e2d1cec671d6ae5dcb35d75c33dad910429c66a4e2228410428c51b5b5b528a5463b1bc729954aa39d0521c469482a2e420821c418a5943afaa5695a557d174288a192c9f9420821c418562e97abf2bb10420c95f4b8082184106354b95c462945b95c46d3b4aafa2e841043253d2e420821c41836da3d2bd2e32284182e527111420821c6a8cef92d5d7b5e7aff7e983fdd3e139bed126eff53db00fbe7f9f9fc46def39f2ff5b27d0fbff8909d2beecbf59b9ecc7111429c08a9b8082184106354d7c9f9fd7e159ee49e471bb8e15a0b0fdef3188501f647010c7d5bb7fd84106288a4e2228410428c5183ed71d9f33f519eacf7f395ffb38c69ebefe137b99edbbfc64dae739934e95c5c37ddc593ad1cdd9e7fe48e5eb6f59f9e545c841027422a2e420821c41836f09c931cc91f6e65c617163163868fcfbf7b07ff71ff160e776ecfad64c9bf24a9ffcae3ec7eed3912be561e7fa108aa0cbbeee79f3ef320f55fd9c0ae7d5b79c0d7cafa178a834a570821864a2a2e420821c41835f0dc96326d5beee7fe5defe3cbdeb32997cfe6aa2f7f103df11f3c5530b6bfb42ec1d68b3fcfd7175d4c5d7922172ffa3a5fbed40228728fae66ebc55fe0eb8b2ec2a2eab968d1d7f9caa51618a0c7452a2f42881321cb210b2184106358ffc3b274fef2c307d87de0008b2f9986c502148b14811facfb36572daaa775d70168388f7aa58ce92b9ccd79532c585491d6dd7d6d1b285d2184183ae97111420821c6a8017b5cf63fce7facb3f0895f3ccd33cffc89a79f7e9a3f3df3277e7dcb79fcef0f7ec8f3e53aea2fae87bdbb683dfabe56f6b61629aa3a265e540ffb7651387adc02fb5a8be8d2e322841801527111420821c6b0fee69aec7ee85e36d62fe496f79ecfe4c9939932650a93274fe57d9ff90cef7ce101eefd5f9da91fbe857f78ed5efe6f7c0bade8bcb4f65ff9de5f8b2855e67cef2dfcc3be7bf9c67f6f657ff930bb93dfe5fffbabcc7111428c0ca9b8082184106354ffab8aed20f9a3bf72f6476fe2c2ba1edba75ecf2d97bfc643df5bc7deb36fe2c73fb9057efc71de71ee855cff330b0b2eafc782a23cb9b2ed471fe79d532fe2233fab33b6c9aa6242881120735c8410428831aab3b2a0691a4aa91edf2fe4b3e9dddcaa149a5294bb6d3f9b8f3fb48b9b340d552ea3b93fcb8f36dcda65fb9d472b2013e7dcca8fd39fed72dcefa2695a3fe94ac545087162a4e2228410428c513d1ff8586ddf85106228a4e2228410428c51d5dabb518d791242543fa9b8082184106354d71e97be866d8dd6772184182a999c2f8410428c511d1d1d03aeee351adf3b3a3a86f33485106f13d2e3228410428c511ffce00779f8e187319bcda39d95a34aa512f3e7cf1fed6c08214e43527111420821c6a8f3cf3f9f254b968c763684106258c8503121841042082144d5938a8b104208218410a2ea49c54508218410420851f5a4e222841042082184a87a527111420821841042543da9b808218410420821aa9e545c84104208218410554f2a2e42082184104288aa27151721841042082144d5938a8b104208218410a2ea49c54508218410420851f5a4e222841042082184a87a52711142082184104254bd9ae13ad0638f3d365c871242083104f3e7cfef77bbc4672184181d03c5673134c3567101b8e9a69b86f37042082106b066cd9a41ed27f15908214eadc1c667317832544c08218410420851f5a4e222841042082184a87a527111420821841042543da9b808218410420821aa9e545c84104208218410554f2a2e42082184104288aa27151721841042082144d5938a8b104208218410a2ea49c54508218410420851f56a4623d1d2b60ba07c7034923efd9926627ec7ced1ce8510628c92f87c12243e0b21c4881a958a0b1daf8c4ab26342f9c068e740083196497c3e71129f851062448dce5031d3c45149764c906b2784184912634e9c5c3b2184185132c74508218410420851f5a4e222841042082184a87a527111420821841042543da9b808218410420821aa9e545c84104208218410554f2a2e42082184104288aa27151751f50a491f76bb9f5461b472a093cfc409799d38fc69f4d1cac630d1736962410f4e579896d3fd648418d3462ff60c29ee165a48847d381d3e52551b537472e9d89889e347e93992911021bf0787dd853fd682dedb6ba39dcf8ad12fcfc5e9aefa2a2e0a340dcc13c1dc00e6f195afe91a6613a8f229487b02986b80a1a45506b305cc93c06c1de27b47909e4b130f7bb16b1a9ad543389e263792114c6f211ef0e0727bf0b89d58350d4dd3f0244f3c4a591d1ebc5e0f0eeba03341ae253fa83df331179a6637f2eb7155ae9313b7c783dbe5c0aa59f1a575ac760764b733b8a30e3e9f2d89303e8f07afcf8f3f10201008100c478904a32357a9b0dab1175ad85ee82d019d5c3a41c46b43d334ac4e371e8f1ba7c381db172175521760f0f745542989cfc36634624f3e9320e2b7a3691a9ad34f24d17779707cdcedf9f7dbf5771b76b26ccf0f3568758f373697cf88837e2f6ea70b4f204a7ad8428615bbcb8d3db79d216773d815c8c443f83c1e7c7e3f814080403044341123144c31f8d252a725ec236a0f134da448856da4a33fe7a1aff47c2d41f644cef9342bcfc5db43f5555c34e3dbe137e095bfc3abaf2a727f87ffbeafc4611d4c96e14dce5c0b260d5046da4a41db7e683f029807799076a340c402cffd59a1bf05266be59815aa0c6633982fd0308f033a7ac987a9fb7b8683d5e121d0dc8cb711f084690e0c25600c5581a4df4bc4d64c3a93269dc952d8b68a458d2777d3acae10f17810e760f39d8b138ae706d5c254c0c5dddb72b464d2a45371fcd3014f94743a4da625477e5d10bb0e36870bb7e3c4cfe17879127e27ee884e309126954c9088c789c7e3447c3ac9547a0885d7d058ed4e5c7d9e8c1587c74fa8d9470316bcb134e974866c268a23f335ae7105489f68c686705f449592f83c6c4623f6d8dd7e42613fd38139cd51c2febecb83e3e26ecfbfdfaebfdb1cb8dcf613c8d1b178d388054fb41207132932e908cef4ed5ce519be9e61abcd81f344b2399cf42c518f036fdc413899269948108fc789c7c238d251622df9c1c748bd8558228bd56e03ac384369f22d1f67c39a1eaf6523b8865cee9f7ee5b9787ba8ba8a8bb901de2880eb631dccfd54071fff5c8947ff50e66bd1126fb58169dc30255469bd631c6866e377f319a01f81b99fece0f1a715e629daa00e653a135adf84f7dfd8c1fb3fd9c127bf5aa264aeb4ec759ed719d07a103ebfac83ec7685e9cc63f980eef9187e56ac80c53a62351683de423c55c0e17561eb4cd9192016f3611fe1a48f2a6488f8436406f9e1daee0e11e82782da3c210295927df84e41271bf1b2f8013bd164146f8f82d4e60e9388b8d14735525bbb9fafdd4bd83f1df626889ec8a78821de17519d243e0fd3f9315ab107ac56e36fdb3a94f2a0e7df6f2f7fcf2755bc586dc7bf66f7d2dc3c07b6c74e2ce654259d4cd8cbed1937b1440877b7d3b6e38b2689380b4368b42a902bf4bcf6bdbd7622593dfdca73f1f6507515176a607fab62c74b8abbbe6422feb31a9c176a344cd4d01430a9d22a3611a3256daa86d9a161b66bc6108246cd184e708e660c0d9850d9df5669519baa19c31a1c1aa61a58f28512afe4c13459030dca6578f67978ed4d604ae5d85335cc8d1ae6c995a10a8d9a313ce23c63bb768189dbbe56e2b9bf2b324fd4f2c54f99e86805a66a98cfd5309f05daf91a0d67c29176a8356b689df99eae61ae87a5b797c8be0066bb36b2c32d00d0c92582f87c4142012f2ea78770ba0014c8c4fc38340dcd112051e95bd6b309824e3bde6886429fef05b0e1b017f96d3048bc4bbfb4cd1dc0dd35d0e92dc4830102c1005e97134f3845be732cb7cf89d39f24157663d31c041ffc3d89b00f97c3474a37c628073d4edc9134e94865089cc343a433ff8918a96c91bde966028110f11c64a36e6c7d8ca9b5b98e05e55e591db8bb7eb8d075b289202e9b8666f710e95aa01632c44241027e0f2e47e779f5a29022dcfc0c9685cdf81dbd27ebf087f176cd989e251e0a100806f17b5cb8fdb1eec17cc0ed3912211ffe409080df472891ebefac7bbb109582b0b342d3d7ff83deeee3346ef8f67ff4b82f3a2db120816088a0cf855573121d6a96c4a927f179d8e2f3a8c49ec1ca67bac4dd9e71f556feef7dc7c7d9e30c439ef4de5a6f4e361676958be3b55971fa2324d27df474f479bc63f38f9c8114d96410b74d43b3f5b8375de59384ef79098b37745c83150056278190e7d8ff8b7ece45cf44090422648a4532cd01fc81300f3f72fc6ba93cfddf8b3eb75567792e446f6a7ff3c02fd49b6fbe39a4af5ffdea576ab03ab69ea53a9eadedf54bedae55cf3d5ca326db506a7bad52caa2fefc408d3acfae29f5f73ab5e57f6ad41d9f31a9d79eac55aaad4efd3a5aa3fef50b66f587ffae517f4fd5a8c75799d591965af568ac461dfe4bad7afda95af5d57f36a91752354a656bd5232b6bd4f7be6a569b1eac51cfaead5180bafd1f4d4abd5aab54ae561dfc73ad9a3249534ffeac461d7cae56fdeb17cceaa17b6bd4a3b11af5e4cf6a947ab156ad8b99d5eb4fd5aa5ffe9b59fddb97cc6ad7a65ab5e03d2675d9c59a52caa254a14ea9576ad5ea7f37ab1f7cd9acb2ff53a3d6de6d568fdc5ba3f6fea156edfb63adfae3aa4abe7f5ea3f6a46b15a0023e9352bb6a55795befd7a6e3d95ad5b1f5ac415fe7a3da36ab658d28cbc20daa4d29a5f6ac52732cd3d5f2cd6d4aa936b57159a3a269a5da69ecac362c6a50ccbc536debf2fe3b97ac32b6f7fb5ea5f6ac5ba2a6838246356ff96ab5adad676676aa950b9ad49275fb8d436f5ca21ab1a8851bf6ab3d9bd7aa65d351cc5ca8ee5cbb56ddbd6489fab73fb4a80dcb672a2c0bd4bab636b567db6ab5b001d5306789ba73f546b579e32ab5683a8a8645ca38e47eb57a0eaa61c946d599f4ced58b54d39ce56ae3717939fe3a2d9f8e62c13a75fcaefbd5da7928a62f5277aeddacf6ecd9acee6c425916ac55fb2be7b56ad132b5764fe7a156a899a0e6adda737c32eb162a0ba8a6953b7b6e513bd7ad522b962c540b172e548b96af521bf628a5d41eb576e174356f5565ffb66deaee39166599d779dd07dabe5f6d58325335ddb9b9725e3bd5ca3928a62f579bfbb8266d1b9755ee4b5be745548b1a51ccac5cc73eff1fb4f57a1fefdebca7fb7dd9b952cd9b77ecffdcc6e50bd5dd3d2f8718945ffdea57129f4fe7f8acd4298b3d4a29a5b655b6afdddf7776f66feb12778d3c748fabc7c7d9b675f3baec3fb43cb56d5ede3dde28a5da76ae35624ed38a2e71eae463e1da799d65619bdab672915a74f7e65eaef960d26b53fb776e542ba6a398b948ddb9fad8bd61de6ad5dbd5ed3bf60f35eda307540b2cddafdbf1aff5772ffabf4fd5589e9f6e06139fc7d2d79a356b94de76b8cfaf375e7fadd7af356bd6a8df3cf00b05dc085c03cc03ae00de09388029c044a0b6fa7a5c00db448d623b5c716307b72de9a0f52d78e7451a2d5b1481af94f8fd938acffebf12db9e567cfaff76f0e0efca5c1bece0b18c22142971a41d96df5962f5a365fe5fcc187bfdcd7bcb3cba41f1b1e51dfce677653efeb9127ff99b62da39464b1f258e8edfb6d482a50e6efd72073f7bb88cffcb1dfcfb4f4a7ce787257664e1bb3f2af3ed9525befafd123ffa7599f9d7b7f3e3fbccbcf0a2e29f3ed20e0df0d4138ac55f29f14a09bef0dd1237dc5e62f38b8a4f7ca983df3d55e6bacf77b02655e61fbfd2c16f9f2a73d1f91ab5b51863ab073702e2c4599df8fc7e7c9dc3106c3628e430e66a5b7187034cdf1e235e6935d25b12e47c5e1c03be17ecde382d9b57b1a4a9c013f72ce61d361781f8b1154df44c8448d645d063b429595dcdc4ee8e1274dab0bb3c781c60710409fa7c84e271bef2fe265c9ecea6292b76a70bb71d6cee1021bf1b973b402cbe8886d624d13e9ad51cfe042d9968f756a21364710509f95cd8ed2e7cdee9147359f280de122592c9938e478844224413059cf3e660cd1fdf8a97cfe528765ebb6eac38bc0182ae2c0f3d94c1e6f7e3b103d928a1940dbfd751d9cd49a0d987f5896622197de0edb938a18495a0df55e92d71e0f5cf1cc4d916c9c69b898482f88271f0af6263e775ecf3ff81b5d7fb18ea31c05a2fe4c865a244923974acb8c3213cfd363f8b6a21f17974aefb70c49ec1b2da9c5de2eed09d589e8aa4c37efc013f3e8f13db0537f0000b5999683e363fe36463e15105b2f120e1428858c8d5f750bc7e8f07368703971d1a5c4142fece7b3313f22dbdf62e15f2f93e62ff50d31efc9dedef5e1406b84fd5589e0b5133da19e84d47c9e8f2775ea871c9a56036c1241bfce0a7251acf86471ea9c573553bfff2f90e3e32cfc4cf57d630eb83edb477c0249b3114c17981c69f9e55fc759be28ea099cf7ea303b30916ccd548feb086f7dcd0816da2c6bb2ed1f8f4c74d60d1e08042d3a07e023cb559b1e545c83e5ac3276e2f71f1346398c2377e5062eee526b23b159fbed1c467fd66665cdbce79976a6cf9430d33aeece03ddf2cf1f7171557cfd1b8f3fb35bc6be611bef959335fff8e99e4ec32c57638dfaed192aae19a251dbcbc17dedba4f1cf3798c0a651daa5d046b24a6973138ebbc826a384d379f49c31c4a793d5152438f31ea2b1169a634e328902be66fba0de0b60730588b7f808c5c30443f7f3d3a597d392df4c26eca2d092218f175b67496175e00b058fa50d586ddde757f43656d76a3fb68fcde5c7c503e47305e87ff0c5c9eb9217abdd0a7a015d073ddb42cee627140e1a15bc7ed82a85562197a7b7fc1a932ac151b948f94c9a978ab66ee38a6d2e2f4e1e20d392276f1d687b82678a761cdd3e870ca61667c1196826ece965df81fe0f71fc7dec96ba2b48b327c6d21b2e20316719d15884806b105912a34ee2f308c7e7be0c43ec19527227d1d0736279b2e089244854e28d9e4b12f6ddc0adef7091dd9821eab69d742cec9c54526c69c69bd2096462fd961803a5d763920a00563ba0ebc61cc51ed7d05a89e97aaf2b3a0e356dc780c780feef452131f07d1ad3e5b9382d55658fcb5b87157535f0b3ef9b59fed51ac68f33264e160ec299f51a4cd038b34163fbcb8a33eb011b344e82b636a835c31913e10c2b1c6a03bd084ffcb9cc573f67e6bd2e8db622741c86896718db0eb5c1ded7315ad2ea61fc59506386d7f6c3c4f1c0648df1e3e0bc468d77bf5323b1aeccac19707e2358ea34268e87490d1aec525c3cd7cc730fd7f0cdef97f8f5ef15739a8ce570eac7c3b96703adc6b1db3b60ca59c0991a67d56be45f57b4e9b0f70d231f2355281e0d187a96b8df4d38efa1391a21745ccb9a137fa889bd8928e95c9a04fe63ade1fdbd57cf123f3a77c2862b102393dbc0f299f04c733319ddf8685bcc67c9f5684ce9752cf3a04fcc86cd32c4c9a6c3a6d22b854e319722dbe3bc0abdacbb6973fb6802b62733bdb6ca1d7716ba0e14c8773db6d5766c82ed00db8d4252671065e5e00df87f68200e02a91c9b572dc399bd9fa597bb089ef07265e25492f83c7ad7bebba1c79e536538f26475f88826563093eddcd339efe2246361278b3348d89de32e5fb8ff89df833cde60d99c5e6602b97476e0deb0614abbbf7bd1ef7d7a5b96e7e274503521f828cd68c17ba3151e7dacccdedd650e1c82c33a381d1ad917153bd797d8f5aac2f70113cf6e576c4b9779e955987c26bcbc1776ef56bcb04b3179029c73b6c6dddfacc16286375ba170c09880d9fa9651401d3c64b4206281575e800d4f28b63cafb8f25d1a6f1420f358994dcf194bc9ccbed41823f0becb4d348c87bffe4df1f8d365de6c556cdfa1c865cae45f534c980017d8617d4671f8201c3c6ca48782036f1985f6cb7b614bbaccf69d8af3a768ec3f68e46724ef88cd61c70a145221822927a140df5de40e5f98797a9270288ecdef3eba5fffef2dd0924891eb96a88770780e148d1628bbcb4543314524d9e5237b3e4974884fa3d2bbee5ec853603a9e135a8e7378d81c2e1a5b1f221cef52201552c452b9e3777604882c6984a707d7e56f73bb69244bb2a5cb49eb0574cb4c7c6efbc0db9d762cb4901cc6aef7c1fc1fea572e452ad7b5307c897834234b5e563b89cf556748b16720b924b1210c431af13cd99c469b7be583f0c9c6c2a3ac4e0289380bf2f7e00bf5fddc94411f6fb09c019a1758684d36d3fbfa283ad96492ac3e7c69f7772ffabf4f6fdff25c54b7ea0bc365b0d56b4c3e13fef9ff94f9f0873a7839af98d4005ffc17138ea9e0fe7807d7cdd3b8ef5e33afbd09de7f29a11761c15c13736669bcc7df416d2dfc6bc4ccbb2fd5b8785e3bebd62bde7da9c659959e83b3cf847156e3bba50e3813eefbaf121f5cdac107dd1adea5263e3c57e3e3a112f9d715b68970c1851a179ea7d138096eb9d9c4937f2d73ebb7cb5cf701137f7b4931c7db8e775989f03233fff3cb1a9e7d5eb1f4131d5c30b5926e19ce9d0ce3cf006b1d5c7f9b31defb9f3f65422985b50e632cf7b0d0c904ec68ce302dba8e6e9d89bf73092b5da7d89a269eca92cb2488267350c893cda48f3da4caee25e485675a9cf8bbce4f18e0bd7a264c2092e95210e44927b3342e32967eb4ba420467167962a9077fc458bbdee74fe2ac04291d8e5b0658d78162f7d7f22dc7c610e75331729e66424ee3779b0d5ab359f2b90ca9ac4e2eeec3e50e31a8f2b89281de1fcdd8f9cff1acee10a12678e636eb3826000020004944415476179e408458348cdf17c7e175f6b2b70d6f2cc99df3f2dce3f3136be91ee40b3dba46acae30cdf3e0b7cdb1a3cf33c8a5e214bc1102ce81b7db3c61028dad3c10a8ac0ea36749a572906fa125dbd7faf83a3ac5be5bce06fa7fc0f1f7b1eb7d7978f36344229567d5d8dc04bc33718cfa0316c480243e8f9c53127b8cd6709d5e862be92d44c3491c9595cc7ac6dd9e71b5e7ef5df71f6a9eba7f72ed54201d89f034161684bcd839f958d8e52260b5fb89c717a2ffd44fb0eb07efaed776c0e3f57ebffa66c71f4fb2c4fe044bbd01e2dd627f9e4cac99b4dd83d33ac873d175f462b17b99d1e3b5feeec540f7a91acb73217a33aaab8a95b618df5fd950ab9e5d5ba336afa951fb371a2bbda8976a55fb33b5ea7f7f51a3d48e5aa5f6d6a9d737d5aa74bc465d701eea6f0fd728b5a756fdf68735eac09f6a95da57a7d4b65ab561558d2a6fad556a47ad7a355dabda9fad55af3d59abdeda647c3ffc975a55da5eabf6fdb1c638f6df6a95da55a7d4d65ad5f29b1a95ff438d6a7dba56a96db5eac09f6ad591678cd5755efc6d8dda9a3456c751d95af59735356a4bb246a97cad527b6bd5eec76bd4a6448d2a648cd5704a5b6b55614badfaf30335ea1287a67eff63b3dabfd938d6cb1b6ad4a14dc63e7dae5833c4556bf6ac5ea2665a2c6ae6c2256af9ea6dc756e5d8bf41ad98d3a0a051cd59b65a6d5eb744355aa6ab852bb7755bb9a36dc332b5f0ee6ddd0fdadf7bdb36aa658d2840d1d8a4e62d58a0e6cd99a316f45c8d64cf5ab57c5ea3025463d312b5aab232d5b6b52bd43c0b0acb3cb562ed36b55f29d5b6739dba7341838206b5e0ce756a67db3675e74c9465ce42b568d972b57cd922b570d1dd6a6397255cf6ac33ce7bfac2956a5b9b52dbee9ca32c8d9dab94f475b136aad5772f528da0b0cc51cb57adeb92e72e796b5ca8ee5eb74deddcb85a2d6f42c14cb56cd5666305993debd48a05d3950514d317a8151bfa4b5029a5f6a88d2b97ab85739ad49c050bd5a2458bd4c205f3d49c054bd4ddebbadf0bb57fa3ba7b51939a3967815ab464915ab47c55f76b3ac0f6b66dabd492a6060516357dde7275f7f226357d4e2fe9a836b573c3eaca354759e62c57ab8edb47f5f3ffa045b5f4721f7bde9796cc72351d54e3bc456af9f2656ac9b2957dae7026fa772a571593f83c7cf1f9a853187bf66c5cadee5e34dd88d196e9aa69ce1c3567ce1c35a769a66a046599b7b68fb87b7c5cedf6f79cedb2ffddc6fe83cb5325de2c34e20dd39bd4bc050bd5a2450bd5bca6e96a7ad382ee65975227110bf7abcdddaee54eb57fdb4a350fe35a2e5959c9774f7d1eaf4ded5cd779bc456ae5869d6a4f977bb364d5c65e5716334e7b9b5abd7ca16a9adea01aa7cf5473e62d500b172daf9485833cd73d1bd4aa654dca72344e6f56fb7b7b6da0ff1f7d6dabd2f2fc7423ab8a0dffaa62bdad8f52fb9b077e71e4aa0f5d33a4dace638f3dc64d37dd34a87d4bcf4d82f2c1de372ae309c59a0da33fa80c1c06eaa0d40ae6f1c0040d0a8ad261305f08bc0af5ef69e7d195355cf9510d8e68f096a2b4bfb2bfcd98d8a98e8036c148da3401a3d66f01daa0a4633c7ba0ded8b774a0f2fb788c56b6ce7d1a8cf7ab52e569cc5ae5386dc099c6efea0d2877807972e59cda8daf521b982f86ad8f29dc379778fd4933d60b344a39309f659c67a948fffd60a689982f7d6350d7796cca1271be8378601bd9701fad7742bc8dac59b386f9f3e7f7bb8fc467243e0b5175c67e793e98f83c96ac5fbf9eeb3f725d9fdb0f1d3ad4ebeb8f6f48632a1fe1638b3ef9318c887db8f275a8cbcf6d805e7dab8a695056c0fe1eaf570a8c521bd056797c712d945f858e23b061550d33a66b945f05d5716c7be908b0afcbe38e0f18df4a9de5f291caf79ae38f5d32e63477cb5ba9f27e4c50ea99c7aee595b997ed2628ef02c7548d27e266c0c82f66a3d0efdc470821aa92c467218410a3a83ac3b03226809a270ebc647eb9087513e1ddd798a89f00ea488f1d14986bc05c87d13a88f1bbd6f3c025308f03b38563e398159835305b8df7300c4f4c564760c20478b747c35a07aafde48ff97653c0189f2da35d851805129f8510c344ca733154555971d134630597dd7f5798cca095c05c6f74fd9bcf340a2ff399c630839a7360ff3e78e18f653807cc132a5f0d46f7beb90e0aad70f00098ed95e1058069a2f17ef3a44ac137155e7d195e7e5919af592ac303ce84b75aa1f01698cfadbc6782b1cda48152fd9ecaf14c506a87521e4a65aaf40e54293d472a1621b91d5e4a4489a77b9f5029841839129f8510274dca737182aa6fa818606a805776c0b7feb34c346c664223fcad45b1ff00d4d5c1bb66686cfe8be2bc468d8673e19e9f9571bb34a8574c2c691c3cac38f8161ce980392ea3e96eef1b8aec4b60ad8167b7c3c5d38d878cbdb04bd13453a3ad0dfe3351e6fdffa071f6f9a01d86ed2f2a9ef85f45ad06377fdcc4938f291c8d1aa532ec794de17669983881c2519c18ab036f304e36181fed9c08f1b625f1590871d2a43c1727a8ea2a2e9a06ca028f65cabcb85bf1bbff2d73c34d669eda5ce6d57d46c1987caccca53334fef29ca25c8273a7c02f1f2963df08f513351c53a1ae16366d85f15698e1d0f8d11ac5798d60b5c08b2f2bf26f6894ca8a7175f0d45f1553cf86a967c36319c5d93648fcb6cc7b2ed370346a3cb9b9ccbd3f29639f049bb72af4a2f1ac01b319ae789f76fc586921841883243e0b2184184d55577131d5c0be1d8a33acf0c3ef9879e639c56b2f94997785060ada8af0b7bf435d9dc6b95314e5327494345c4e183fce789af2bb2f3571b64d31cd8eb18a4c19ce990237cc37b1ff80b1e6ff8ce91a65059bb62aa64c321e3a36be5de3cc06c5a6bf29de7589465d1d4c9f0a168b89bd6f80b5ce181a71d515c67bf52223bbaebf1042541189cf4208214653d5555c4a1d507f86c6a26b3568808ba76ae83a4c990c282897a1e9dd1af99760b24da3a6165ede03e7cdd0687d15c659a0ce02e59286db650c13289721f44f265419a6366accbaa432f3733cd827699c3b158a8760ff41b09fa7f1fa1e987c3eec7b09ca65c5ac776860813d2f699c550f967a506d18abd8b432f00c5521841803243e0b2184184dd537f5b06c0c376002c6d29835c6939355d9f8d954071c02fb54a8190798e0bce9c0616898047567009ad13288065a0d986b01336826e377eaa0a303deda07e75e6ca4693903ecd38036983c19ca07604a23d8ed1a7440f92d38e75cb08c83f2e15e56bde9e53ccce34a986ded98a7b4636e2c61ae290dcbca37a7ad420b89b00fa7c347eab45f424427978e11f23a71f8d3fdaf88a2e748464284fc1e1c7617fe58cb49ada0a2e7d2c4821e9caef0d1272a0b714a487c1e3d632a7e0a21c489a9ba8a8b66023478fa29456b2b1c298236ce78fd880ec536c00a1c8143ad1c1d0af0d641a0ce58cef2e04128eac019d05184b6c395652d35e318aa030eebc6ef7a01a84cded4f70316e3f9004a190f1b2b1d31569751ca78bdd46eec5e2a1b2d85bdb6e695c07c56077bf78e63c3e3d3f8c57f9fcb230f4e80890af339ed684a3b9ae6c8d1c9a713447c36344d43b3bbf0787df8bc1edc4e276e5f90683a778a9720b46127cbf6fc48a45a20130fe1f378f0f9fd04020102c110d1448c50304561d8d3b36277b9b1e7b6d3ffe9e8b4847d44ed61a28914a9b08d743441f6642e81d58ebdd0c2f6827c7a11a796c4e791542015f411cff5b57da4e2a74e2e1d27e4b1a2691ace70b6ef1c26bd58350dcd1524966a1986b87aaae3b610e274577543c534e3b95facfba3e24f5b14f513c03d4b63faf91abf7ab4ccb953345edbaf686f878609505b0b75b51afb0fc0c1438a8609d03051a37040d15684d7f71b9334675e00478ec00bbb8cdfdf712198cd1ad91715d3ce8149368dcddb1457fe83c6ac776b945b07cc6a9f4cf51d6ccb36f0ccb6b3b870c601c6954bfce0bfcee4ce9f3771ff37b770e9e505caf95aa39572c4863158b17bfc84ac29a20f25702732243d5663939e2319f671c3554e122bd2a4236eac23958dae6c0e5c6efbf01f57cf12f5ba69a69954328adbd6b9214f32e821dc12263cfca962b539700e743a7a0bb14416abd706587186d2e4432799aedd89cbed80ccc91d4788a192f83c82f24922f73f44de962510e9e529e223153fb1e2f0048834a7885ff500db63cda4c3093cb69efbe58837ff9622d0146c26e83dc9bc8c52dc16429cdeaaaec745958ce102b32f85d7f72bb22fc28e5dd07e04febe5bb1fb5545ee653099e1d5d7e0ef39d8be53512c2a7ebf51616b309eecbc6317649e312676bef3228d370bb0f70d9876ae46c3047861373cfa47c5a53334f436d8ba43f14641f17c4ea19d71e2a595a629347b0ddff9c13876bffc26efb9e6756ebc613fa935bb38d7f61673972e64e31f2761b2b7a39d8a563deb71a50f581df8a229d62eb2f2f45d7e429953d7726f1df61a924e26ece5f68c9b5822d4a5f003b0e38b2689380ba3d8725720571889f316e2d493f83c72b28924d6390d6c8f47e82b248f681cb1da702d9c4763eb0334278f7fa6869e8992b42f64fab0e4a3dae3b610a25a555fc545415987abde63e29f169a70378177bec69bad0a0d8d59976b7cfe5326165f6be2128786f7c3262e384f63ed7ac52d1fd3b8fac326ce3d1b2e776a7ce3b366aefb80097793c6d56e13d75f6562be5be3faab4c2cbc4ae3738b35665faaf19105264c1a3cfb3c382fd2403ff1124b2963ccf5eccb0ef2d57fb7b06d7d3d1c304307fc2abe996bdd2f70d38a8fb2f3d93a4ce7b64369b4668edaf1358799c94bc49bbb74c9eb59e2a100816010bfc785db1f235300c893890771691a8e903147239f8e11706a68ae28b9aeef0ffa094622043d95616a0e179e50a69761693ab944109f2f4828e0c5e5f4104e178e6e6b8905090443047d2eac9a9368eeb803403e49f89e97b07843f4da006875120879b0a193cfc409f99c38fd4952613736cd41305de8e79c3bb3d2423c1820100ce07539f18453f4faa8ac5c1cafcd8ad31f2191ce53c844090422648a4532cd01fc8130a97c7fd7b8bf3ce648847cf80341027e1fa1446f1743889125f17984e819e22d3e62f1669af62688a406f991bd9021160a12f07b70393a63934e3619c263d5d03407a174013d17c76bb3e10e25c9f5d34e65f3840935c11391688ff9730552d12cde909bee4d61fdc570fa8e9d838edbfda551201df160d5346cde18d942814c3c8043d3d09c41122dc63e2d312f76878ff8498dcf1542548baa1b2a06c6d8e4f113e1a2c91a175d6e8256c5f8711a5ffb8c86652ad00a74c0d5d71885ca384de35b9f3371d93b35780b2e6bd2b86c0e7018638c751926346074fb7776ff9b34300345a016aef98089f7cf565c3c5da37c92cd3ce55d65429f6967e6051d588eb4536ed7281faca5666a3b2bbffa14deaf5ecab77f72353f6e5e87e98c12e5e228d51f1d1edc0db0bd25454ef7e1b2e649fabdc47d69d20187d195ef71e1f141361dc41d081388de4fb4f276bb2740c81be1a7e9ce03eaa4435e9af504d9b01b6bd045c1710d696f8c54d4188ed6ade8c827f00752b83359a22ec8041dbc379420d812c4918b134ab888a78338d00984fcbd8e8cd25b126400a7d7492f7d4b00d85c2e40276fb5a1b76c67bb354e8b3f4cf39224d80afd9eb3831c315f804c284ddc6b43cf0470bcd747d05b20e9e99613b2a914b6e60c2d215765e85d8878dc893799c1da1c27e1b1027992bebed20b60ed358f3ae9a09788334126eac24a8e98fb021e1af20d17e2e4497c1e7e85740202111c4e9de605616e8824c9fb02f43f182b473c18c71e8d11b783de12c675f935f89d7b4807a22493059cd724c8e675b0e5b10692a4a29e3ee3a4c141a07901cd37c488a4c324bc95bd73096204883bf324baeede5f0cef277626f4c1c6edfed3f084e344121710b1bb70d86c58035162c904be82078fcb38b2d3e9c41b0d13704ab7b7106341d5f5b880b1224ce908940e4269afa2e3304c9e049689d0b1a73209b3034aaf43692f9c370d2ebb428323956d07a1f41a940e557eef7cbdad32a15387d2e1ca7e9574ce9d0697346968aab242ce492897ccd056e29a8fbdc18517b7533ea0a19915a5576a68980177ddfa579e7cfe4a1edb30096d7a09f3a8551fadd86c805ee992cf4609a56cf8bd8eca662781661fd6279a8954c62ef41bfaf51612c997b0b9edc67e36173e27eccde67b5f04c0eac4e7f7e3731847b5da6c50c851d0412fe4c865a244923974acb8c3a15ec65c43219fa7d8f9de01ced5eef2e07180c51124e8f3118ac7095963fd9eb39e8910c9ba085612b7ba9a89dd1d25d8ad102c908d07091742c48e565afad0ef35a6f73cda1284125682fece633bf0fa670e70be428c0c89cfc32d4f2ae522e0b10236bccd41a63f1d21def71c7900f49628914c9e743c422412219a28e09c37076bde88b7366f94d8222bbf0dfa09341708350f546901b062f73613686ce581e664a56759a7259ac011f21d5f91ea2f86f7133b071fb7fb4f031cf88273d89b8a5586d7d970b81d149f8819bddb14c82475fc9e91981b2484180d55d9e3623c95ec88b1b28b069aa98e523bd0de81a695815aa3f42c1f0193510072d80c98c1a48e3f86b9ae32c6a1dd187cddb3bed6798c43c7de7a52b937294a250d5ea9357eefbcca6660bfc6bba76d62fe7baf67dd731fe5bcdfaf624a4389b32f30830e1d872a2bf79c123a850260b36303f299342f156dd8bb7cf2b6b9bc3879804c4b1edc031dcf7863215b4007ac58b15aa1c161effdc3bccd4d38ee229b8c124ee7d173053afb64acae20cd9e184b6fb880c49c6544631102ae5e52b41947d607b9c296b5f29ecefc0c74ce0532e4f162ebdc6e75e00b05bb1db3d8d28c37a513c8c406fc6030f035b61d9fc77482678a761cddca5e693d14a345e2f3b0ca2688b7a4b1f95395170a582ddb89463384627d2f9ca2675bc8d9fc84c2411cbdee61c3178db1c0b1988c23427c10750400ac6ec2e126eebfbd99688b9f88234d24eba3d96de5d898e0ce24fa8ee18596be6367612871bb9f34001cbe20734221e2191d8f3b4bb2c5cdbc869f124be608f8b324f1d33cd873174254bdaaec71811298c683b91e4ce3a0e388f1a5ca603ac358f3b2e308d44c31d6e2348d8372c978addc6e6c6f3f62ec5b73a6b15c4da91d6acfaeecd77e6cfdcd534c1d3233fe42987dde5a7ef2f337f851e20c9ece95f9f5afca1c7c0b6a266ba7ee69cfb93499566870fb705a015d070ae4bb0ec5b0563e480f6636a6d54930d4443e1937c647175a48e5e7100ef7d10ba16789fbdd84f31e9aa31142dd5ac51c04523936af5a86337b3f4b2f7719733d7ab039bdcc0472e9ec892ded3cc039eb40319f2557e8f9b663a9599c41c2ee1c77f9c2dde7c69c407abdbea5a0033ab2fab1a80e129f878f4e2699239c4c9248242a5f29529126f62622f412f2babc53a7984b91edb14fa1eb72c985025657232fdd1322961b7cae1cfe6616585e221649d39288a207fcf4b2ce59bf31bcbfd839a4b8dd6f3901d8bd84dc3ac958865c3a4e3e1021e26be4e958924c3a09be9ef3728410a7b32aacb8282897d0ea17a24dfe1c5ac327d0c6bd0badfe4ab4095781f532b4faf950e7801a3bdae4cfa335dc0413e7a1d5cf85339ad0eaaf429b78055afd4730d57f046dfc3fa04db802adde8736e103680d1f809a49c61239a758190dceae63fb732dbcf5e6eb38675dce473e04e74cd7f849a2cc9b7bcb98cfe4143c47a040aa39ca769a08371bad7a36b79b46b2245bba4eae2ca05b66e273dba1d283d2f543bbb14fe70f565cc12821779e787384682c833b9e22dcc7d8e2422a4430e52414e8a562934b91cad970056264721b583ef325e2d15e26f83b03342fb0d09a6ca6f7f9ea3ad964b2cfe7a60c74ce76978b86628a48d75576f249a25d27cf5a9d04127116e4efc117eaffd903035fe35edee3b463a185e480b52221469ac4e7618dcf8534f1bcafc7aa5a462f4253eb43dde34e0f36878bc6d68708c7bb7cf82fa488a572955fb2c4223942c93477363d4d3810ef7d5191ded8bd34071a697dc08f3fe620e4eb3d36f517c3fb8d9d4388dbfd9613464a78826ef4549870dc4ac063c715f233fd9908a1a815bf5b7aa785184baaafe2a24a609e0894a1fd154081ed1a18e702ed0cb433de071627d43600ed28fd59e8d88b69bc07ceb802adee1218f71ea8f742b90d8519ea3f00e3df0f260b8c6b8209d780f92ca3756f34ecedc0b7a09e25cbaee7b13f9d4dee4f30f76326de7531dcf75f0aacc3d8d6a8f7f661374f3aecc5f780ce82950942958a85d515a6791efcb639767445995c2a4ec11b21e004b0e17034b0371527d5922593682692ce433e43a6258f4e81642040cae6c1ed72607738b0e55b68e9d202a8eb18136e2bbf145bd3c45359729904d1640e0a79b29934cfec4d1389a48d4a80cd4dc03b1347af0f4db1e38f2759627f82a5de00f1ae1502f26462cda4ed1e3aeb4e7a671e2a063a67ab2b4470669127967af047e2c463617cfe24ceae950c5dc76af7138f2f44ffa99f60d7825ad7d18b450a057d50e9f596479b276c8c390f048d9571f42ca9540ef22db4644ff54344c5db9ac4e7618dcfd9789482b7970fe40e0ffe99c6ea5e5d1b5dbac64fab3b44a8099eb9dd85271021160de3f7c571789d804e36da4c3610c66377128a2dc7fe448860a29faa8bae53381a78acb843619a68057f88ce4780a1eb95f8a41ffdbdaf189e73f6173b8710b7fb49a3f3dad8bd213cfad3b4b802b8ac607506f04fdf4bcee9c725f51621c694ea9be3a2998112aa3569acbb69aa85da73a0e34d28bf85d6e142b5bf0c1d6f80c90a7a168542e95ba1dc66ec671e0f9a054a6f1aef2dbf05d440f9b031a0d934ce786db466c5bf51e67def3d4c5e53fcf057b3d8f6ea4338de68e7831fd578e0b13358ff3f26aefec85b94f6994f22119d7c3a493c92642f4552412f5e97dd58163897038797f8e6147e57d7a63e07c1641a3d18c4ef49e372dac0162099e89c9469c5dd1c61a1f7566e70a759144b10f2a4c8b4d82a1fcc6d38dc76729130c1fb5b8fd64f6026cb3664883a32c4622d0044632962fe6656ccf171d70d1eb2cba2c4c23e12be34896c3371b74eeefeab706617e177d928e82112913e5adcec5ee2d96d78c361223e0761ec381c0eec7627be7084a0cb58cf2c9b8c10cb4091669a9331c23e27b681ced9ea22925e8bee0f72cfd796926e5a42241ec3672fd0928c10cd40d11623967212707971f1100fdce0c1ba324ab3d74a3ad26cac861669266e0de0f3bafa49af8f3c5a3d44d3abd0fd2196bec346f3bc20219783e90547f76121428c3489cfc3149f8d27c6076eff2d858531928e10bea33dd33ad9649c540e28de852f60271a09e221dd2d7e3a835ec2a975140241a23ffd1ab7a617b0229ec06fd7c9c60378c3597c29233ee8ba1d3bad3c14f011224ec4efec124b7572e92489489227b2107386f0fb5cd89c7e9a1765d02b2d2a85962489689ced00d166628e107e6fdf31dce771f6113b2bc90e2a6e83addf342ac7b27908f91751e86cfdb1ba080417426f954221c469adb786a3dadf3cf08b23577de89a211de8b1c71ee3a69b6e1ad4bea5e72641f9603f592a55860968803a3a09d498d0a98c9f35b3f133ca982dd9d93a673277f9d964acddd9f5d050399ea9322b7384c7649535ccb56598d861f46f1d3243d104aa9d5f6c0cb0ee99ebf890e336962cdd0756f8de77a7b0f3d509dcfb1f3b29bf5483ea79874c13315ffac6c8e6f984e54984a2d89b235d5600d3c9a7a304126e92318f1422420cb3356bd6307ffefc7ef791f8dc87b7557c16429c6a8389cf63c9faf5ebb9fe23d7f5b9fdd0a143bdbefef88634a6f2113eb6e8931f03da3016cc3f8cb12c4be7cf6d805e7d43c5508009b45aa3e0d26a8d56bdcedf4d95d7301985a35663fc6caaecd7ed67f3b19f8f1ea3f36733a76022099aa9043526feb2e93c7ef68b0b3974d80cf51d60066bdd61344de38d0393e0007008dee5ace7b9dc599476294c7527b9eee72956480569ce797a8cd7b66277d871b8fa58594c08711a91f87cbac6672184180baab0e23290d17ad2fc89314d859fadad21f2a376ce731459f3bb7300338c83334cbbe938d2c6de8215de32f63f778a89c2211b3b775b61fcc817dcc3a990cbb3fda110c1789a6c4147d775f22d09c2913c7e7faf6bd20821c61489cf42082146ce69587139cdb4836d6299f6f60eaefa449e7daf1f22b56e1c4c851aed00365b3d474a67d17a10a801b3e9106ded67f0ca9bf5603dbd5af41cc1241bee76910d7b79c799e3186773e28f16f045c2bd3e3c52082146d5db283e0b21c4582015971156ca6b5c3f5ff1ebef1f86d74b9c69b3b27ef3b9500b164b2d96da32473aea387808a8855209eaac0d148f944ec3bb63c7134a90c9eb28a5507a8e743c78dc529f4208510dde5ef15908214e7f127a479aa6a1da4bd4588ec02178f73bcdbcb06712ec04dbc412e5b2cea1b6763aca401dff3f7b771ee754792f7efc73b24c0ecb30619d200a712b51ab44ad92d6b6c42e32d6b6a48b255d89ddc8ed46ecbdd5b4bdf776dade96b4f7d73abdb7fe982ebf4bbc5d88d296d8568956ca68b5c46a25b811d44200750208930166e66426c9f3fb2301666056189885effbf5ca2b9073ce73cef3c07c9f799e7ccf73303a2d148a168ac5fc58cbba104288b145e2b310428c29327039dd342895348a791314352e9eb38ff67c0d99176086bd9389136c4c9830894201b0c081962eac55d5584ca633716faa10429cbd243e0b21c49822039733a913aa2777e298ed604bc681c5d48966b66036699834200f2fbd3a8d2953a660abea82c2485fb010429c25243e0b21c4a8270397334815cc602930a3ba95edcd33e8304ab4b575d299cf317b2614ff01c9e76630734a8e59533acacf1310420871da497c164288d14f22ef19a4d04083e9359deccd55b3af5527d7da46b1731f132e82bf3e09dbf75dce058e5739ff1ca0e3d493a88d4c8ca0d781a669680e3781c6143d9fb56e906a0ce2f30708f87d041a92e486b23d97a421e0c31f0c110a05f0071a48f62c40082146bdb1199f815c8a58a80e775d8cec90cb174288b1c532d21770d631c1b9b3abd87c600a7bf71fa0bdbd938bec87c102c91767a3e99731c7de84ed3c28ed3bc571a591a2dedf40ce17614d2047a221cc5dffe425e7c810f79597facac6fcd4357a684a857191a1d1ebc56f6f2211700e627b8e78c04fdc97a429e00020d3e8c11370918ed7218b890921c69431169f31b2343525698a3fc016877fc8e50b21c45823dfb89c414a0166985add89d169c5289d4b3edf89fba21c6a17ec6af36133bdc23953d230e1d4effd34d24d38220962e100fe408868538265b5ad8a1245570000200049444154241a93e559372345247c2f8ea09ff2e3219df8824e9ac2f5341983d99e2691cca1dbf5a3e774381d18e9d409337f4208319a8db9f80ca03bf0fa02f83d35432f5f0821c62019b89c691ae855050a458df6c26c3a8dfdcc9ddaca862766b0b7fd0d4cab7a12efd55db0ffd4ff6974779050f7273fdaddf85db6a3030d231d25beb30697cb716c17971bc79e04b19431e07674275eb7c103c110f12c409644631a4fe848472b841063c8188acf3dcad239c140e50b21c45824039733cd0485aec3e48b53d87bf05c1c9336d166c05f777d82b6c387983feb6fd45e0da5c3e66138d9f11d548e74ce415dd08d0e1899143bb1e3741cdb4fb73bb1b387542637e07670e06f8cb284bb789fcb4b201822e18b130f3a87e1da8510e20c1b43f1f954cb174288b148062e6790065082b676e82a4de6b9ed55ccb424d8d1328f035d6fa27dff9f59fab6fdd0ae9d96470418e91871673d91ca2c9c91cb013a8e1ebd5865b62f670cb81d00a79f686c39f38d87b9eb27bddc382a841063c0588bcfa75abe10428c45327039a3342840ee107416a772f8c073ec6bada158f3259e7f3ecd55e7fc89cb164369afe5343c9539432c9221d418c059f944d72b1d64f73ed0c86100badd3ee0760023d5803fe22496d9ccaa250677dfe2c117cd0cf7c50b21c46936b6e2f3a9962f841063910c5cce2093a908268de7b6e568cebec6a1d6662c3537f07ca686dcee35dcfe850e68359d86d9bc1cc986068c5003be63e9d2e82e37b5e4c8749bbd33721972d4e276ea036e87340dfe087a2888dbe126184fb266093c100a1fbb79540821c680b1169f4fb57c2184188b64e072264d2e92cf4de0a5ec39b4b5a6d9b97b1f17b8bcacbfff0f7cede3cf31f30a13c57de6619ecd33484723243df504ddfad1cf0c0374971f5fed1e52a963095eb9748a3db57504dcfa80dbc9a54964f46e39d84efc0d11161819b292332684184bc6587c3ed5f28510622c9281cb99520066c3838f57b3f939c58b5bffc615ee37b2e12faf10b83e81efb3507ad104c371cfe75106e9c600a1940b572e49229120118f110904886601dd4338b2984c344e06800cf16896c591081e7d10dbed6e029e1c4d4d996367cc65d03d013c32b32784182bc6627cee5e52af039101ca17428831481e40399c4a1a66bd0ba62ab09a4095a09df2f0b01a8abbaaa85f35815776fc852b162ce0855d535830f3fbfceb37bbe0550b256542d3862f1121dd5087fbd687c973370ffca8db860577b0c359fea33310239e0b12f2a770e839f0c789078e8d3afadfee24108f930d86f007ddb89d90cd3a88c48292472d84185dc6617c861cc97894c6a656c84569883a09f9bd38f4c1952f8410638d0c5c8683029309b4399d74be0a6b7e6e26b5b5c8b9b570a9ab9ace7c8189732c7cebdf0ff1d4331926554fe3a5dd93b8e55dbfe4c73fec827633c5431a9a7978b3a75da1268cd0407bd9f18462c44f76bbdd4b38e63db90b144288d36dbcc7675f88982f44eca4ca174288d3eb0f7fbcef84cfde76bdf7a4cb9381cba92a6998a7164095f8d55dd0f4dcbb28e96fa7f6a219d82f98cb8c2b2e65e2c449d8274de2ab3fd8cc77bffd65b63cf514fff6e9a7b8fdeb07a1c54cb1c50cc3dc290a21c4594fe2b310428ca8f7bcfba6a37f6e6b6b3be5f264e072b21498cdc0ac4efef10c34a55c3477de46f0d60f71f5e5937aecba7f7f0b9b36fd85dd2f67d8b5fb106fbafc20b77fcf062f9a28b499877d264f0821ce6a129f8510625c9281cbc95060b601d55dac8dc1aefcd778fb7bbe89fb929ecd79e79d77b26edd3a32990cf97c9e0b2fbc90ddbb5fe3ad57cc806c2b740e7ffa8110429cd5243e0b21c4a821a962234d81c9aa607281ffdb08edd3eee14bb7dd4c55b75d7efad39fb276ed5adadadad0751dafd7cbf5d75fcf0b2fbcc079177ab962ee53b0ef0f609645dd841062d8487c164288514552c5469a026d6681bb1aa16dfa1ff8ca8a771fddd4d1d1c1830f3ec8c30f3fcca73ef529e6cd9bc7d6ad5bb9e4924bb0d96c140a052ebcf4f5ec79ee21a8825297748c4208316c243e0b21c4b8260397a1286998cfe9e2d1fb606bc7f788fcebbb7b6cb6d96c545757f3cd6f7e9362b1c8b66ddbb8fcf2cbb9e69a6bc8e7f3d4d6d6b27ee3cb3867e7c10aaa73589f64268410672f89cf420831ea48aad80832594b746415bfffdbb57cb1feb61edbf2f93c0f3cf0002fbdf412d96c96499326317bf66c264f9ecca14387a8aeae66ce9c39cc3bf730faee17c03a42951042887148e2b310428c3e922a3682b49905eefb19cc7add97396fe671db340db7dbcd4d37dd84d9dcf7e3955fdb79376f751c8476494318ac5cdc872ba8134dc7a8b38ff4d58c1fd2ae623c91f80c1819e20d0d34a552c49b7278eaa344037612c77f1674a38ff4b52231e874917615e3d9188dce23a0b2b8cc4bfbedb8afbee184cd555555cc9d3bb7df4ef1a147f7d2b5fb7bcc5900c5fc9919331a9926a2e13a1c9a86a67b09479bc818a7f38429a2012f6e8f17afc785ae69689a86379e3be92275a797ba3a2fce41f7b4069954b6f7cf9b6244eaec689a86eef2e0f57a70399d787c1112bd1d328e0dbd5d8518a5c6687c2ecb918c86f079bdf8fc7e028100816088865823a16082c1474e8354d84783234c432c41226ca7a9e197dcfb95e33f8b913e993e4062fb9821b15d8c67f28dcb2099cc250abb81095773c5e553877cfc81c3f0d0da00ffbcb41d0e9b413b33cb6cea4e2f817a9da6e803dce50e531ff09ec699b61c717f1d11678c64d28b1d30d25102de20a7d26fe8ee10d1e8100ec8440945ddc41a1cc7d555c7e9f513d213441e88e16d6c22eed5211bc7ef7e1f37bad36c4c47f19e253354436e572146a9b11a9f31d234d479a8a79e44bc01cfd1d893251ef4124e85090fbaac148db1347a9d1dd071859ac80693049d3f46bfa9db67a193b95089ed6389c476319ec9372e83a45915bb5e868953ddccaa39f6b961187476760e78fcb7bff93dde79d97a66ced728b6f53deb777ae8e8804d3fcdd32f468a682287b3cecd91fe417705686cf4e13853333fb924117f8864bf93807acf4ecf5147d83f0ff6c468489dceafa38410a7c3d88ccf06c9701db7263d34c642dd062d000e7c0d7122aedc10be71c991c941cf30dfdb672773a912db8510a3830c5c06cba6b1ff20e893e6f4f8b8542af1873ffc81bd7bf7f67ad89ebd39bef4e56f33df16e6ed3743e9150b9846faa166069958109f2f48285087dbe525dc940372241bfd38350dcd192056c92730d231822e07750d49727d1e0b60c7e9c8f3403048b45b2e82dd13c0d3bd37315244830102c100756e17de70822c06d9649490cf85cb1f2711f660d79c047ff72762611f6ea78f846190696a24e875e18934d114a9a4c039bd448e5c7fac91443acf9ea67a028110d1cc60da43af74ec3a7a5fd7d19403234d341420100ce2f7baf1f81b7b76a2469a68d04f301221e82da72c684e37ded0c3647a2d33db675be69231c23e374e7f8274228cd7a9a3e96e82f12c462646d06347d374dc955492a1ee4f36d9a35db3c928a13a17ae4082743c88c7aea1d9bd44ba77f67dd62f89fc4a2046d4588ccfd938e11fedc45617a2ced1cb76dd4520e43d3a50e82ffe18c906028108c97c9e647d007f20ccefef3bf1b34416c825690c0509f8bdb89d47e26f459fdb24b64b6c17627438bb53c5146826305595a04ba358d4a0af1530ab8a1cca43a7ead9c34c9c3891b7bf7309b135abb15a4c5c74d105e8d52edadbdb28746c67cb73cdec4eafe107ff011c3033d2431600b231fc81049e649a063724834ede188a114c05f104a3449b125c9f72e176957b24dde9c2e989100e79b067a3d4f571ac5377136e5c46fcc6bbb8e59226a22b1a688cf87139ea081d6db60c8dbe00c95013d13a3b463280f38d3e8275591aed768cd436b6e95152fe30f5cbe274cd9c85c348b325eb2c5f8bc34e36b58db4112519aa27b1c94fc47f0b5ff505716762d4051b0846ef22e5aa271af50c2e2d2e13a33eba13e6af20e4d1217de275602fa74a447d4d34059ce5140faf1baf0fd24d419c183485eaa83762a4c31ef4a09b9cf3469aea1a4934b8c9a55a4e2cb3f0873efe1d02d8ed0e8cd41676ea31e2b910b15480b8dfcd3f05fc100e128867083705707f38446328457048fba70939ecc7b5ab0b3dbd8d6d9928f1ba30f1749068dd957c351427d8e4c7de6ffd06d9ce420cc5388fcf462a461270d5b98e0d4e8e6377bb2b7fcaf61f7f3c21a2511775f1247a7d9498b7fc13f9deb71fff5986a83f8aa3a191a8038c5418f79537e27735d314308806fbda26b15d62bb10a3c3d9fd8d4b51619a0a465b154cd4304f2ea18a7dafdd9f6bafc636e91c007e7fdf63fcf1be140f3ef4577ebbe6d7586d5371ce9dc58687b7f2d83d97d0f4bf57b1659bc6bf8496e1ffc82779e1254095faee78cf24dd85cfefc757b9734fb7db2197216700e878c201e66d6b245a999131523132be3a9c031e0b8eba28a9cdab59b620c7c33ffa3097d8dd04a2a9a3b33646324224ed26584936d6ddf534ded140d065c7e1f6e27582cd1924e8f3118a46f9ca5b16e0f61ee919751c2e371e07d83d21427e0f6e4f80c6e8526a5ae334f49f43709c3ce9683d9150105f300afed56c4a36e0d1f55eaf23a437124ad8f1d7398fb661a0de87fe703d91a401468a587c27764f25f7daeec6e7823de92c067d94f986cbfb684b1dbbcb5ddedf1520e477e3b0bbf0073d60d8f185fc781c769c7501dc64486519e2fe06baddd5a35ded4e276e07d4b883e5e31d6e7c75f3219b2acfb8f65b3f214e83711e9f73d92c792a3ff7034937f41f7f06c94835104966698a4688442234c472b8162d44cf66c9f5b3cd4062bbc476214687b3fa1b17f37925fee767761eda349bbab7e4b8f95dfbd06d454a859ee3394d01ed90d9378febde7a35db322522fffa566efd7c89090a1c16b87f838bba1f6d65faace799b6ab95b96f81effce71d5c7ecd1a6658d7f3e7bb2c501815dfb780dd4338ea261d6f20dc94c5c8e4a05b88d2dd4182f37f4443638afa4617c9580e5fbd6350c702d8dd01a2291fa1689860e827dc75cb95a4b29b4986dde45249b2d4613f328da33bf18582c7ce0de8f69e79cabde567eb8e63fbd8dd7edcdc4d3693833ee72e8f67c315a827eced7d3ee9f8ebc8269bd899b7f7c8e7b6bbeb707137c95416dce50db9740e83726282ae438df3d84da427d4addfb6d44fa8b7aeebd8bab7756507e3a4f63fbe5d4f6c07dd01180686716c7b7ff51362388df7f8ac5782a0911bf8d7c301e38fc739a8731ae91419bb9f5038c8f147e4627d6f3b764e89ed12db85185967f5372e4a33b16fbfc607dfbf97c45f0ef3c39f4f449b533a613fd3e422edfb20f3da652c5c30993f3df047bef6d112377f1adefe2eb8e96310fa789a375f7b0dffefbffc382e378361e62bb7ac67ae79357f7b3a8fd22cbdc58f33ea683033d244fd1ec2592ff50d11424767678e70e10f2d604fac81a64c1331fcc75663e9ef58234d3496a9fcc58e3bd04832b39115f3614b7d3d49a31c58f3d93499e326d00ce314e676743b765b39989f368601e4c876bf6edd5eeeb0741d7417c1d002b2f1282903c8a5486417120ef7f3bc8401ff1d469193a99f10a760bcc767bbab8ef940a6293df0ccf640f167900c0cf29904e9e3e26f2e6bf4bb4d62bbc47621468bb37ae052daa571fb8a56de1f3848e615337bf62bb0f6cc15d01430a944e2c999ccbfeab3ecda0b2f3ffd6fbcfb7d507ad642f18095e2f3555cfc168d8fded8c6944925aa6a4a949acd5459e0be47aab8f9fd37f0839f5f08538b6827f6bb678cbd3283924b8408265c84027d0726a72fcc22234e3814c5ee3f96e7daffb13952b104991e27f5120e2f847c7976c7e17653934f1089775b44331ba72131b4670118dd77cf65c9310fafe7f4750e768f875ad2c453dd4e6ce4306cf3f1791c808e3bd840c893255a1fa1a13189279a20ecea3bf40fe6df61f4187afd843815e33e3ebb02d42fb6d11aafe7e898a00783743c4eda184cfc191cbbd34d6debbd84a3dd064bb9048d894cbfdb24b64b6c1762b4387b072e25305b15cc2ad0fa372b9b9eb2f2b11b4bd07a2c5d402b6998cee962f7d3107fe2bdf83ffc36fe77f56aaebfe46998aa1dcbb7b6286851cc983983e9d3ec60289445516cad82039d7ce5434ff1c0dfe7d2b15dc334b178862a68900c38d05c61528681a1cfc7ef77563619e45b9b8826d26492311ae219c86549279b8e3d98cc5147a80eb6a45cf8dddd02d800c71ac9308148b2db129e599ae2696a979697fbd4dd2182f3f33c7c8b177f244ab4318ccf1fc755e9980c2a1360f43825e47b7e964da58eae84934d3492f1d6137295ff6eb7436b3a4d369324d1eb93d60c0cf2fdce041e7f1dba3b4cfd2278a0be91238bb1641251727511022e801cf1408084dd8bc7edc4e17462cfa648658d3ecbecbf2d2b5fe31f778d3d9aa1b2adfc36d4fd8f6f57638059df81eb27c4b019f7f119c0813f1a6799e3616ea90b10edfe8b3359928df53439bcb8f4c1c41fcaa93ff93cb9eea967c77da67b428416c0965bdd7803111a1bc2f87d519c75ae7eb781c47689ed428c5ed6dfdefd2b75e0c08121bdeeb9e71e35588567a7a9c2d3d6117b75a5ac4abd60556a276af7d3a8d75f54a5aebe6caa528726a8d2b36655485995da6a552a877ae101d4273eb2583df6545eadfef566b5f28b28b51755dcd2b34cb507f5f3c8c5ea1bb72e502a8b2a563e2f3d67562a8b7acf8dd7aafff9ae43a9565461cb295cffb3d306ddcecd6b96a9f9369b9abf64995ab166abea38b2a165a3ba7d618d825ab570f91ab579fd32556b9ba796aceab68f52aa63e372b5e48ead3d0bedefd88e4d6a792d0a50d42e508b162f568b162e548b57ac515bbb17dcbc4ead5854ab0055bb60995abdb94329d5a1b6aebb5d2db2a1b02d52b7afdbaa5a94521d3bd6ab958b6b14d4a8c52bd7ab1d1d5bd5caf928dbc2256ae9f2156ac5f2a56ac9d23bd4a6966ec5af2fd77bde92553dcfab3ad48e8d6b2ae5a16c0b57a8d5eb7bd6b9afeb28d77d93ba63e902357fe162b574d952b574c5ea6ee577a8cd2b17aa9a9a1a65a3d206a060be5abeb1b9f732fb6ccb944aaf5fa916d7a0a85da2ee58bf55356f3dd60e4b56ae535b9bb7aa752b17ab1a50358bbfa5a2bf1ecafe2bd5bd7febdeaef7aabfdc5bb9bedaa56ad5c61daa79d31ab56241f9fa97addea45afaad5f8b1223e79e7bee91f83c06e3f3511d5bd59a154bd4827935aa76de7cb570d162b564e98a4a5ceca6bff8d3bc51ad5ebe40d98ec6b5cdaaa5b7cf9452aa79bdba7df1bcf2cff1bcc5eaf68d3d8267efdb24b64b6c17276530f1793cbdd6ae5dab8c8ef63e5ffb5fdbd7eb6beddab5eab777ff4a01ef076e041601d70097024e601650cd09dfbb1f1bb8745effce1b8734da79e8a187b8f9e69b07b56ff1b9e9503a34a4f28793a6294cd30aacfab9836fdf5943f3de576979fc10f6ab812ca043e71ef8ed43f0d8f39fe49d1ffc3f1cc86678e5a9c57cedf3fb30952c143a34b46ead679ed5c56fd7ce21f9dc0cfef35fb7506ab1a22a3ffee6b95d7ce73bafe3d1cd16d6fffa79d45e0b257592cbd798aa315fb67f185a61ac4a13715d4234b09574d835f0ee674c9658a801477da4dbd3990db24d0d04621ee28dde319032d09ff15ebfb16beddab5bce31defe8771f89cf129f473f89ed2363bcd76f640d263e8f271b366ce03defbea9cfed6d6d6dbd7efee78d4d984a9d7c60e9473f007400ed95575bb73f7700c659b9aa986976913fc6341ed9fe456e7c5f814b2e9a4862cbc34c78ea1166dabbd8b55fe7d5836f256ffd2c97be71014f3f7e0f933bbfc4d73fdf8966b6503c6c423bfe216525b0564d24df6585ae6e9f6b4001de78798e9fc65fcfcecdff60de659dd0725636fdb8954b04a9cf0449f558f846c7e174e0748ffdd559c67bfdc4e821f1598c26e33df68df7fa89f1e7ac8bce9aa6a05391cab8b0ea5368fcaf003bb313f9dd1fde43aee555da76ee257750a776660d33aad2e4b67f178ff331de7913d06aa57858ebe3c9ca1adb9ba7b1f740114a1a1a1c7b9899096ca60e0c75211b523bf8e4b53ba0e58c5579dcc9515e42b4bc74e3e890cb64d9766f8860b491b0cf8353875c3a4e4363167f6434cd1e9e9cf15e3f313a487c3ebb496c3ff3c67bfdc4f873d60d5c4c1ab4be00f32f7d331faffb024f3edbc9d31b3ec0ebcf3b44dbc40be9ea3c8c7d4216954f639ff02ad72d016a3454b38512f4de292aa00a5ecd1e42532598aca1dabb6d3f60e28acbf3cc3f77275b5eb041c984a6514e5510836764484423c4b7c1ce5803d1ba08c151b2cca4331867a311221caee3925bf2609bc7227f98484318cf601f3f308a8df7fa89d141e2f3594a62fb8819eff513e3cf593770c152a46432f1f7e70cb2ed6be97ce53602efcd30fd1c281dd880a90a985879759a2067a2d8aef5fb4465cda420af30ebe7f2e6ab5e067309a5cc47b797dacc543b3a79eb95edb4e7e7405b1a30f75da0e89deea42e18251d8c8ef495f4c281371423191ae9eb385dc67bfdc4a820f1f9ec24b17d048df7fa89f166740d5c4a60b60053292fe5d70ec522fd764a4356055593ac7cef078ff0858fc4f9ef9f1c867d168a2d1a666b09a5a074c804ddef4d1de0fc264b090e5a39dc3109f7c5ad60f43c4099804eb0d92c74a9893d73ac8510622c90f82c841062848daae7b8987438d806f7ac29f1dc33e5efe9cd13c1ac837912dd92924f81cd447abb895933dbf8fae73aa0d544f190062628964c944a27d12466c5fe0393b19a3b79dd9c1c74f472a11a4c995c4567de38f25721841833243e0b21841869a3eb1b170bb475285ede0b6d86a2c380bd39a89d0ad3a68373b6863691720769802a96f39087928bacda61f2448d3fdca9705c00c53de653cf0ad0152fbe3a0d8ba5c8cc99ed90efbdc009b61285e2997cc09910420c1389cf42082146d8a81ab894da60f64c8d2fafd028ee870387c05ea37828a938af5663c65c78709d62ea14b8ea728dc936b04ca63c3d56aa14d205c54efa9c322bb599987f61174cce53dca70db95334998eeb8c4b1a4c846d3babb1686d50ad281de865565083f68e2e3abb1498876772520821ce1489cf42082146daa81ab8a09573a6b5fde55cea99d36166adc645e769281334bf0a13274367173cfc84a2ca0cf94ec574bb46ed74b05a60ea140dfb39c7cac3000ae5ced2640665ae749c074c43cb07508009341b6816281e0255028bbd0045b867c334de71f5769804eac071d52a0136d877a0806eed2cdf583a72cf77134288a193f82c841062848dae810b40094cd580190a2d6099085481968773a6c339376ad00e461bb4b6c1cbaf428701cdfbe1c58ce28239504a43a701361b5c7c9ec6d429506d2f97a95928dfd9d30614cb7f2e1606be2c93b97c1dffb346316552890f2eaf4c211e82dffe662187cd4b788bfb3b95d9450db4f2b49f798682e945d809eb1fd3b9eeb25d304bc374b844a1d58c6691b93d21c41821f1590821c4081a750317d324486d56e40e82d7ab91dd55eee0a6cea5bcda4b1e28823e01f489507b8e569e6d33c39bafd2686d852ddb141d7985521a894d25664fd778dbbb34eeff5d898e3c5c7cbec625e76b544f06ad08e609945bc254291f28b6d363e902a540eb04f715259af7e9fc265a45a6d94afcc1693c979dcf2cfb63acdb60e2750baa98ac17a1a081d9cc83f72b4cf6c96432d770beeb5dfce1b14934dfd4c6aa6f1d64c6d422a5b651b53e821042f449e2b31042889134ea062eaa08d593c0aa434b0efefc7809ab156ab6694cd0a0a61a9c7334f42aa89a5c39c828a73098cd306d2a5cff360d54393f5a1dd26837c06886736a353a15bc9451ec7d0d5e6b55ec3f006ff7687416209f870b9d1a5a4971ce6c0dd56da64fa972eac1551e509d66bebaf21c1efc4b8199b525ea6f7890375c9e654bba96679e9cc6756fdc8332343a0c9dbd1d55acfedfb96c3f7403c10fbcc8c7ae7f9eb5bfb3b0e191e9f8fdfbca338b42083106487c164208319246dfc0c5800b2fd2c00a6d7be07def3471e830ec7c45d1d605bb9aa1e590e2b50360af86d98e7287679f5129a00b68ab3c5f00309b60d20498a4c3756fd1ca35eed4300ec09ed734f61f544c9c0085c3d05580871f2f6132c1473ea0512a54260bed949f596040316bc13ca98dafdef20ab77dbc9369ce3c4c2c4141e3baebf751da63a598b3a05914e6c97926e89399acef67e9d53fe4967764997505bcef83568ced55c3b3628e10429c21129f8510428ca4513770c104c50ea01d264e02cd0c1326c3acf32a9d9a015d1df05a0e76ec56bcb043f1f40b604131ff428dd933346c16a89e5a2eae474a412ba0ca2bcfe83accbb10e659b572fa81b5b25f9b0613a07418d0c0a4c1863f292ebd50c3311b4a86427598a999d90a450d0e98a1c54ca9d2116b5a11a56998ac253adb26b1e715338dffb68fd9d7189085c28b55982c25f42a836251d21084106388c4672184102368f40d5c8ed0a054a2bc8c6617e5d567004d03aba93c9337fb3c0d0a1a2d7be1d9edf04a336cdfa5b8681e4ceb842e43e3dc7341751d57ae020a6056406739c5a06480668583adf0ca8b8a8be76a586de5d488897a79661055eea8db3b40c78ad946f926d5cef20da4d62a28a9ca523805339a61f0b94fb551c829d4762ba52268e6726e77b1288f3813623864b359366cd830d297316c9452dc70c30dcc9a356ba42fa56f129f85108320f1590cb7d13b70e9835250ac3ce00ca33ce336753abc65ae0606e4f6032678f605c505e796179139615d185559bd4641eb41a8a929e75f63835dcd8a3f3faeb870ae862a81c9066fbcd1045945c100b30d8ca2e2af8fc3b56fd0686b553cff122cba4e2baf82a3c05c0dcf6c51b41e5258b76b98cd26de700dc796d82c81b90aa8825247b9639647350b7172eebfff7e3efce10f8ff4650cab75ebd6f1918f7c64a42f63c8243e0b21ba93f82c86db981bb81caf549995a3b3dc49daa796739ddf7c65390ffbf8d567a0f2bc002bdcfd7b85d5025d45f05e03b57335aeb85ae38a3768a81c280b6cdfae684929aeba4cc3648652274cb76bbcfe6285a9134c685c3c0facd6f2f3073413a842f97905b3676a68946f582d1d3e767ead0a0ee4e0b5038a79e76858ab2a9da31062c8ac562b4a299452689a362ede8be3e409ee129f8538bb497c16c36dcc0f5cba2b29205fe99c2ae905c7778a509ee12bb6c315f361ce2c8d3d6df097274b4cdb01532640a908d75e5d5ec6d3e8842a6bb7833528e661f66c0d0a503d85723ac2a1729a82492f9fe0dc7339369558a8dc8caa1d2ba3645234bf56cee59e7b5eb94c21c4c929954a689a366ede953ae17b88314fe2b31067a7918ea7129fc7977135703942a95ed20fba6faf2ccd79ad5405310000200049444154c965e51b3fa7d4c20465a25050b41e0693f558c77ae9255af986d4cacda0c0d1ce1128a71f7481c9026a22fcf181f283cd6e7ca709adabdb4c5db75403958719768d456f2d77a8d2290a71f24aa5d2d1193d605cbc8fe78e51e2b310670f89cf62b88dcb81cb80b44a2ef691f4804e38776e658319509519ba232be85436f55ba4093adb60a20d1c33caf9d47dfedf3695d316e82cafa0233f03429c1ae948c61189cf428c2b129fc5703a3b072ec7d3ba7580473e1ae24a98a50254016f7b473945a178885ed3208e273fcf429c9aee337a239dfbac691aaa6327bb3be771de94932f473afa6e243e0b3166497c16c34d16aa1f2e958741175ba1d886b4ac106750a954eafbdd7888f7d7da993a752a76fb91f7b95cfbee2ff3cb74fbc0c703a5f40fb9d6f16e7ed332c07eed5bf8e65bdfc937b60cb2dc3edea5631c66129f851831129fc5701a996f5c4a8706de47f44eda4e881e8ecc80f599935c52808deb7ed6c4cfaeab817c9ed6bdcf70ff8ffe852f2c7a0123f97b6e993b406e73b73f974afded67906d3540a9133ab93193432d31e6e449db09d183c46731dc4666dec932074c53e475322fcb9c11f9271362b4eade31f6f5029832eb3c66cd9ac5acf3cee3e2abdfc58a9fdecbbf9df718dffad6a37454f6cb3db19a4f2fba84e9d3a733fdfc457c7ad513e4944251bea15cf5bb5f965f7fe866627b0fb2ee435772f3af77f65fe620ae7944487c96f82cc43091f82c86db887ce362be64c7489c5608310e75ef4c7acd49aeccc0717cae75d585dce8bf886fdf751f2f74bc89d7b7fe8ecf7ce8ebb47e29c6b3ebdf8cedc5d52cf77d884fcffc2bf75c5ee91a95a294ed67bfd8dd3c7ad552f23ffb3b3f7d930d95fd1d9ffed0d739f8a5bb79f6fe37a1bf74179ff17d88cfccfa2b31dfac3e73a84792c46721c47091f82c869b64fa0a21c63455f9dabfbf77d5c77ed533a7406b2b46a9c49e0d3fe1b19a4ff0fdcfbc89995525a65cb68c6f7d71167ffdc906b295ceb534c8fd8e74c2d90d8dfcb5e6137cff336f64a64d517dd927f8f61767f158e306f60c70dd420831d6497c16c34d561513428c69839ed15327ae6e937b711fcc7a13d53645cb8b7bc9effe196f9ff7b39e27b8e845f6e46b3832a3d7ef7ec64595b48572e7967b715f9ffb66db4bcc9c20337a4288f14be2b3186e327011428c79fd3ee998630f3cecf179fe25d6afdfcdcc37d531a754e2d045b3b05df809fef4e817b9e8482795dbc5cb9db338b7f567478fafe96f3febb3474e0440f58533b15df471fef4c817b8f848e777f06576193398abf77fdd4208311e487c16c34952c5841063da9159ba81bed66fddb38b3d7bf690cdeee4c527d7f35fc18ff0dd7d5ebef6f92bb129c58c451fe7aa7d3fe6df7ff2047b94a23dbb81dbdfbd909bfecf33e59b43cb271b703f1b79f6eede5d9eb1f37e9cabf6fe987fffe993644b253af6fc99db6eba9677ffe059da250d410831ce497c16c34dbe7111428c6903aef2a2149067d3e71671e591cf6c33b9f48defe5ce07beca92735579979937f3f35fb6f2d5f0a7b8b27e1f30932b6ffe216bbf7115b697371d3b577ffbd95a79ef7b2fe463b72ee23dcf3e40d337fbd9f74867db479d841062ac93f82c869b0c5c841063da8039d4558bf8c54bbbfbdc7ee4eb7fa51453aefc143f4e7c923b7bec57425df83936bef84f685af939017deea7a6b0f01b095eaaaf7cae1455ee4f72e7039fe2c73dce5b2e479ecc2c8418cf243e8be126a962428831ef649f803c5adfa56314428c17231d4f253e8f2ff28d8b10624c3bbaa4a61afa139047ebbb748c4288f140e2b3186e327011428c79d2910821c4e824f1590c2719b80821c6b4cececefe73a8c7e07b5757d74837ab10429c3289cf62b8c9c0450831a6dd70c30ddc7befbd98cde691be9461512c1659bc78f1485f8610429c3289cf62b8c9c0450831a65d76d9655c76d965237d194208218e23f1590c3759554c08218410420831ea0deb372e6bd7ae1dcee28410420c1389cf420821c6ba611bb8bce31def18aea28410420c2389cf420821c6034915134208218410428c7a3270114208218410428c7a3270114208218410428c7a3270114208218410428c7a3270114208218410428c7a3270114208218410428c7a3270114208218410428c7ac3f61c97871e7a68b88a1242083104033da745e2b310428c0c798ed6f01ab6810bc0cd37df3c9cc509218418c0dab56b07b59fc467218438b3061b9fc5e049aa9810420821841062d493818b10420821841062d493818b10420821841062d493818b10420821841062d493818b10420821841062d493818b10420821841062d493818b10420821841062d493818b10420821841062d493818b10420821841062d4b38cc4498b5bcf87d2a19138f5d867aac67cc98e91be0a21c43825f1f914487c164288d36a44062e145e1991d38e0ba583237d054288f14ce2f3c993f82c8410a7d5c8a48a99aa47e4b4e382b49d10e274921873f2a4ed8410e2b4927b5c84104208218410a39e0c5c84104208218410a39e0c5c84104208218410a39e0c5c84104208218410a39e0c5c84104208218410a39e0c5c84104208218410a39e0c5cc4c9c9a588857db89c3e12c64996616488474284fc5e9c0e37fec614275b542f85934d4609d5b970fa9b86b1dcd12317f7e170f849e446fa4a8410e3c1d91353c67fff20c47835fa062e0a340dccd560ae01f3a4ca6b9e86d904aa7406ce3d19cc166028e72a81d906e6e960d68778ece964a48806bcb83d5ebc1e17baa6a1691adef8a9f64c761ca4d9963de9510ba9b08f06479886588244d84e53438cf429f7200699541600dde184f436b2a75a24904bc56908b8d0340dcd15a0319ee2ccf7edc7ea06a03bbdd4d57971eac35fb610bd92f87c1ae548047d4433237705c31b5306c320d31423526747d334749707afd783cbe9c4e38b90388d216938fb0721c49933fa062e5af9ad7d3fbcf20f78f55545e61ff0bf77166937c0641bded399ad60d200553eb752d0d1025d9d8079908574953b446cf0dc130ae33098f44a9915aa04663398cfd7304f000abd5c87a9e731a72e47dc5f47c45e4f53b289a6649adcd6d52cad1d8646b43b717b1c277fbc91a231964677d8011d57a8896c3a82fb543bcc4c94503483818edde9c6e33cc5f22aec6e1fa1fa100b8005c17a823e37f6e1297af08ed6ad4c7787884683b886e3978ce3ca16a257129f4f9f6c9cc84fee25d2983e8d27e9dfb0c694c19d11a7d74fa8de470d36ea1a9b686a4a924e36e04c7e951bdd019a4ecb0cd1f0f60f42883367d40d5ccc35b03f07ee0f14b8ee63053ef88522f73f52e2ab0d450e778069c2309da8327bc704d0cce5bf9b2782d109d77db4c09f1f57986769832aca34155a0fc05bde5fe02d1f2df0d1db8a14cd9599bd23f59a08ad87e08bcb0ba4b7294c538f5d07f4bc8e6163a488267238eb8efd92adbb023436fa700c43c7a49f52193932b9532de3f8229344fc2192dd3aba61ed7f8f5cec19ebd4bbe9a56e63a26c31ae487c1ea6faf5221d8ba32fac615b3442f2ac9b41d07b8655471d61ff3cd813a32175fa1a632442b910e2d48cba810b16686955bcb853f1bd7f3611fd8505d7051a35d51a9a02a65766c5aa29cfa4cdd1303b35cc0ead9c4250ab95d309666be5d480c995fded9519b5395a39adc1a961b2c0b22f1579250ba6191a68502ac1d32fc0be03c0ac4ad97334ccb51ae6199554855aad9c1e716e79bb76be89cf7fb5c873ff50241fb6f2e58f9928b4027334cce76898a781769e46cd54e8ec02ab59433b72ddf334cc53e0965b8ba45f02b3431bc6740b3b4e479e078241a2dd72b0ec9e009eee11db48110d06080403d4b95d78c389cad7e7069958109f2f48285087dbe525dce7f4d7e0f735920d04021192f93cc9fa00fe40b89c1260a4898602048241fc5e371e7f63e597e94a3eb2cf85cb1f2711f660d79c047b949f23196b2491ceb3a7a99e4020742ce5c23048c782b8ed1a9ac34ba47b47984bd2180a12f07b713bbbd77d60b9648cb0cf8dd39f209d08e375ea68ba9b603c8b918911f4d8d1341d7730410e834c532341af0b4fa489a6481d0e4d43737a891cad475f6dd84bdd9e48120bfb7077bfc7a8d7ba1ccbe5760512a4e3413c760dcd7ea41dfa6937218e27f1f9f4a4c31949a2291f8dd17a16ec8911e9e52693a1c59ba307f51d138e8fa7bffbd3893165c87dc340f166b0f4ca3cd191018d41aa3148201822e873a36b2e1a32399ac29e72fab32b443c532edfc8c40838ed78c24de576e8b30e47ead84fffd0679f2484184dacbfbdfb57eac08103437add73cf3d6ab00acf4e5385a7adbdbed46eab7aeef71635c38e52dbac4a299b7ae26e8b3ad7a129f58f2af5cc1f2dea6b9f31a97d8f5a95eaa852bf69b0a8fff892593df2bf16f58f8445fd79b55975a6aceafe468b6affbb55bdf69855ddf649937a2961512a6d55f7adb2a81fdc66564ffecea29e5e675180baf5e326a55eb52a95b1aa434f58d5ace99a7af4171675e839abfa8f2f99d5bd3fb6a8fb1b2dead15f5894da6e55eb1bcdeab5c7acead7df37abefffb359ed7ad2aa165f6b52afbf48534ad994ca5529f58a55adf94fb3faef7f31abf41f2d6add1d6675df8f2d6acf2356b5f72f56f597d595ebfea54535375915a0023e9352bbacaab4b5f7b6293c6d558567a70dba9d9552aa79fd32350f14d4aa452bd6a8ad1dc7efb143ad5abc402d5bdfa29452aa63d332558b4d2dd9d8a154f36ab5d0364fadd8dca194ea509b96d72a16ac523b2a4776ac5fa4b02d56eb3bd480fb9ea063bd5a6cab9ca77ca56add92796ad1eaca111d5bd51d0b6dcab66895daa13a54f3e6756af93c14f397a895ebd6a93b962d53776c3ebe322d6acd4254cdb24daaa3f2f7758b50cc5baa56aedbac9a9b37ab950b50b6c5eb544ba5eeab972e57eb9a2ba7dc7cbb9a0f6ad1eae63e1a73b55a006ac1aa1d4aa90ed5b275a35a310fc5fc656ae59acdaab965ab5ab5d8a6a859a496af5ca33635b7a81d6b96a81ae6ab955b3b54f3d6356a490daa66e132b572cd26b579d36ab5741e8a9aa56a7dcb406dd8b36e1d2d5bd5c615f38fb57f9f75d9a15a766c52b7cf43317f69f93a2bedc0a235957638beddc45872cf3df7487c1ea3f1f98896f52bd4ed1b3b94522d6add629b62e16ad5330a0d35de28d55f4ce82d9e7eff91d4093165e87d43c720e2cd893a362d3f56b6524aed58a396d6a298bf426dea504aed58a5162d3a120b3bd4a6154bd41d3b9452aa59ad5e542efb687b756c56b72f5ea1360f548701fb87fefa2421066730f1793cbdd6ae5dab8c8ef63e5ffb5fdbd7eb6beddab5eab777ff4a01ef076e041601d70097024e6016500d5847df372e80bd5a23df05d7bcbfc0e79715683d0c975ea8917a4611f84a913f3daaf8dcb78b6c7d5cf1a97f2bf0bb074bbc2b58e0a1a4221429d2d9052b561659737f896f379673afbff1e312f76f547c604581df3e58e2835f28f2f7e71573679767fa2872347fdb66055b15fcd3bf14f8c5ef4bf8ffa5c07ffebf22dff9699117d3f0dd9f95f8d6aa22b7fdb0c8cf7e53e21defe9e2e7779a7969bbe213efee821a78ec61c587bf52e495227ce9bb45de776b91cddb151ffae7020f3e56e2a62f16589b28f1f1af1478e0b112179ea761b552cead1e5c06c4a038eaa2a436af66d9821c0fffe8c35c627713881e5bbdcb484688a4dd04bde56432dd5d4fe31d0d045d3ae82e7c7e3fbeca9d9abadd0eb90cb9de26ce86b26f6fd20d841276fc75cea3e505ea7de80fd7134982c3edc5eb049b3348d0e723148d121ae40d3136779090cf8dc3e1c657378f7c264d1630520d4492599aa2112291080db11cae450bd1b3d941dceba16377b9cbd7e40a10f2bb71d85df8831e30ecf8427e3c0e3bceba006e32a4b2e070b9f138c0ee0911f27b707b0234469752d31aa721991b521bea76176eefb17b8cfaae4b0edde9c4ed801a77b07c9d0e37bebaf9904dc98da962c8243e0f778b664924dc04bc3a60a7ae3ec8bcc723447bdcea32d47863f41b13ecbdc4d3afbc6541cf9872527d838efda4e34d9e74b49e4828882f1805ff6a36251bf0e860e43264920d44e2e5fb173de110e5cb72e00b2fa5e6e106e299ca75a763a4dd015cfa0075a8e8ab7fe8bf4f3aeb72f98418352c237d01bd2914cb5ff9bb2ed078dd656036c1743bfcf75d456a67c27df759f15edfc567bf58e0dd8b4cfc729585cbdfd6455701a6dbcba908aef335fef6b4e2a9ad8aaf05cd7ceedf0b984db0f83a8df84f2d5cfbbe02f66a8d2b5ea7f1a90f9ac0a6c14185a6c194c9f0d866c533db217dbf850fdd5ae4a2b9e534857fffef22d75d6922bd43f1a9f79bf89cdfccc5efeae2dccb349e79c4c2c56f2e70ed378afc63bbe2ed0b3556fed0c215f33bf9c6e7cc7cfd3b66e26f2891ef82f31c1aa984851b971578790fbc7181c627df6702bb467197421bc621a5dd1d209af2118a8609867ec25db75c492abb9964d84d2e95244b1df623715c77e20b052b7ff1108eba49c71b0837653132e55480de4f32847d7b914d36b1336fef71ef8ddd5d878bbb49a6b2e0b1a303ba5d1f7a5e72b70374870e460ec300239d2263f7130a07710eb5cc4ac1c7dfa3a3eb3ab6eef5d68f243af4bc862387d9dd7edcdc4d369383baa1b561f773f75f9713731b74076018180692e82d8644e2f3f0c667d231a2a926ecfe44e5831cba6d1b0d0d49428d9e6e3f9e438b3703c584dee269f7f24fbe6f3831a00c2eded87005ea097b7b39de1da4dedbc82def3b9fd8c2e534344608b8cbdbecde3081795712694c1188b84845d378826e7420db6f1d4ebcdceefdc3c07d92b3af8a08214ea351f98dcbe1764595057ef143332b6eb3306942f9c6c9dc21983a4583c91a536b34b6bdac983a05b043ed74e8e800ab192656c3441dda3ac0c8c3c34f94b8ed0b66dee8d6e8c843a11daa2796b7b575c09ed728cfa44d8149d3c062867d2d503d0998a13169029c5bab71f5a51ab1f5252ebf18ceab055b9546f524985ea3c12ec545d79979eef716bef1c322bff99362e182f272385326c1393381d672d95d0598350d98aa316d8a46f6354587017bf697af63d83a45234d3496a9fcc58e3bd04832b39115f3614b7d3d49a3dcd5e4b36932c7fd6e6b947fb327eaf710ce7aa96f8810ea361bd7ebb906bb6fafc797efb7c876bf0ebd325819d63bf8e148076b6090cf24481f57f7dc492ff17c12743b765ba58ea7d086a3a22ee2ac20f179385bd32019cf108ec789c5629557824464017b6291535a51eb5463c2b0f50dc3c249209161f3eae5b8d23fe1962bddc7ee71d4dd84420bd8d91821994d11cb78f1bb0651873e194776e2ccf5494288c11a7d0317ad3c83b7bf15ee7fa8c49edd250eb641bb012ea7467abb62c78622bb5e55f8de6ae2e96d8aad4d2576be0a33a6c2cb7b60f76ec54bbb143326c3ec991a777cc382cd0c075a2177b07c0366ebe1720775a8ad3c83880d5e7909363eac78e605c59bafd0d89f83e443259e7caebc94cc1b2e2be708bce94a133593e0a9e7157f7ebcc48156c5b61715996489ec3ec5e4c970be03362415ed87e0507bf97c283878b8dc69bfbc079e692ab16d87e2bc591a2d87cad733bcff223952b10499ee1fd9bd84c30b215f9efd72b8ddd4e41344e2ddbec4cfc66948e4c8254204132e4201f78093f243d9b737768f875ad2c453dd7a092387619b8fef54965deeef9c4e37b5adf7128ea68fcd59e612342632a7e57c47183dd614c892631e5e8fe394da70a4ea22ce32129f8757ae8968d687e7b8b5d59dbe200b5aefed199787e85463c270f50dc322932091e93ef9b6936843f268bd9cfe308b8c38e170844c9defe8374cfdd5612023d12709210636fa062e25b04fd19831153ef9af256e78678197b38ae935f0e5cf9a70ce01cf070bdcb448e3ce1f9bd97700ea3e5bc4c8c3e2eb4c2cbc5ce35a7f01ab15fe2362e6eacb342e5ad4c5fa0d8aab2fd39856e920664e85097af9dd56054c853bffa7c8db6e29f0368f46dd2d266eb84ee383a122d9d714f66a38ff028d0bced5a89d0e9ffe8889479f2af14fdf2a71d35b4d3cbf53b1b0ae8bbae545c2cbcdfcf1d7169e7e4171cb870a9c3fa772de129c3303264d04bd0adef3f972bef7273f664229855e4539977b1819c9308148b25bb25096a6789adaa5213cf6f2bafdc1f9791ebec58b3f1225da18c6e78fe3f238c030c8b736114da4c9246334c43390cb924e3691362a1352f92327ea7fdf132fccc0c8e7c9556ee0d0dd61ea17c103f58d1c59d425938892ab8b10e8367bd6ef441960b7436b3a4d3693249136ca1d5b1fc7e89e10a105b0e55637de4084c686307e5f14679dab8fc6cc1dbb90ca1f8c5e2e2adfe318a3fb1b00d9d4b15cef6ca2918cb79e908b01dbf084ba756bfffeeb620c98b4777cd942f44ae2f3b04a471bc8d5f5f2cbbfd38b7f3e3c1c69e8163f87166f068a6fbdc5d31e31e5a4fb8681e3cd890c0cf27d7e1362e49a88442aab84d93d04eae6e374751b3c38ea08fb741ebf2b8bcfe73cfa71bf75a8b4419ffdc320fa2421c4e830a2ab8a159f29bfbfb2d1aa9e5e67519bd75a54cba6f24a2f6aa755756db1aabffecaa2d48b56a5f654a9d79eb4aaa6a8459d7f2eeaf9df5b946ab6aa077e6a5107ff66556a6f95525bad6ae36a8b2a3d6b55ea45ab7ab5c9aaba9eb6aa7d8f5ad5e127cbefed7fb7aae236abdafb174bb9ece7ad4aedaa52ea59ab4afdd6a2b28f5854ebe356a5b65ad5c1bf5955e796f2ea3adb1fb0a867e3e5d57154daaafebed6a29e895b94ca5a95da6355bbff6c514fc62c2a972caf86537cd6aa72cf58d513775bd4eb9c9afad3cfcdaa6573b9ac97375a54db93e57dfa5cb166a8abd6746c52cb6b5180a276815ab478b15ab470a15a7cfcea62cdebd48a45b50a50b50b96a9d54756eb6ad9a86e5f58a3a0562d5cbe466d5ebf4cd5dae6a925abb6aa961debd5cac5350a6ad4e23bd6ab1dcd7def7bc24a55cd1bd5eae50b940d946de10ab57afde6f22a2e2d9bd41d4b17a8f90b17aba5cb96aaa52b5657aeb3436d5d77bb5a6443615ba46e5fb7b5cfd5699ad72f53f36d36356fc97fa9fbeeae1c53bb44ddb17eabdab1698d5ab10005f3d5f2d5957336af57b72f9ea76ca098b758ddbeb1f7925b36af53ab96cd2fb7e5fc65ea8e754d6acbfa956a71cdb1f29bb71e6b93252bd7a9adcd5bd5ba958b550da89ac52bd5fae6ad6ae57c946de112b574f90ab562f952b564e91d6ad39153f6d3de1d3deab64aa5d2ddda7fe57ab5a3a3afba74a81deb8fb4c352b56ae30ed5dcad1d96addea45a8e2bfbc495e7c4687626571593f83c5cf1b9456d5abd4ccd0755bb64a55ad7e387ae5bbc03357fe91d6afd8e16b563c8f146f519137a8ba71d3b7a8b2943ed1b522a3d8878d3bdae3b36aea99cf7487f70629fd1b179859a07aa76d152b562c572b56cf92a75fca2921d9b56a8058bd7a813d684ecb50edddaa0bffea1cf3e4988c19155c5867f55b1ded647b1fef6ee5f755effce1b8734da79e8a187b8f9e69b07b56ff1b9e9503ad4fb46557e42b166a7fc7d50096807aaa0d80ae649c0640d728a623b982f005e8529d77671ff2a0b6f7eaf069d1a1c56145b2afbdbcb3776aa4ed026974f6d9a4c7966c9067440d1a0fcec8129e57d8b07ff3f7b771ee756751ffcff73a459aec7b3c8bbbc608b2d1661b180002224202710e4008d282588a42da24d1ad1a641c9eb69105d9e6792fcd22a4f7f6d45db244ad214d1368d889ba08424086a07b9094164434e20c8408c6c16cb36b635b667e64a23ddfbfc71657b663cab3df62cfebe5faf7969b9f71e9dabb1bfdf39e79e7b4ee3f57cac5eb623fb7459c79bf5c66accaa514e3fb0c07a6dee03a306f6c58d731ab07eeafd603f0f9edb64e2fd409d377f64473b5b512f827da1759ef50a635f07b37560bf70df84be6731d31488b92f20197a814254baecc4d4d8b87123d75f7ffd98fb487c46e2f31c57ce8489e8319201c7f83b0b719a4c243ecf259b376fe6969b6f1a757b6f6fef88efffe0c92c36a3ca6d777cf036ac88ddd7f8e91df4bc1fd067deac620a0c133830ecfd46c2a8f703fd8de58b9bc178036a5578f2c126ce5fa330de00b3766c7bbd0aec19b4dcf141eba17e242f571b8f4dc7975dd7197a195941bd713c36a80fafe3e07c651f61bb0d8c9de05aa9d892b403567db15b49ffc83e42083123497c163352896c0a827169b40831d7cdbc860b80d998bb7f7ea3f76c8c5d8d0ab474c2e51b6cb0d3b412e1e0e46282bdd97aafae5b8ff62630ea600e2eb86eade28c01f53ec0de38d686d5eb57e3f8b24fe4d4aad0de0e97fb14ec81fac0c99729668f32a097ad31e0322f8d9895243e8b19a29c8d128a977039cb149cdda4a5dd22c49c372343b252d60c2eaffec6c4660755077ba775e9dfbe00ecad8dc7f9d0b41c0eec81977f68c0722bb9d9dbad2103f685606f81720f1c3a08766763780160ebb08eb72f02bb06f695f0c66bf0da6ba6f55e6b6378c00238dc03e5c3605fd138a6ddda6653c392eb44d8ac64582f41dd6086fe06c494d38b641231d2db60472a4e322b4b3f8ad949e2b39829f47281dcb75364f400f1eed334c39910625acdc82b2eb62e78fd25f8d4170ce2513bedcbe0d779930307a1a5052e395ff1eccf4d562d5374ad8007feddc0eb51d069d251571cea33397418aa35b8ca63ddc6b37b9f496107684df0cb6d70de1a6b91b197779aac5babe8ef872fa40cde799962c959a0fa60db76932d3f366956f081dfb1f1a34d26ae658aba01bbf69a783d0a1b27901cc5994773e10f27298493d35d13214e8ac46731533803694af2fb15e28c32e31a2e4a81d90a9b7206db5f3579e2c706b7de6ee7a9670dded86325c6f426830bcf57fcfc7913a30e2b96c27f7ecfc0f9347476285c2ba1a5197ef61cccd7e07c97e22b1b4d562d03ad15b6bf6652daa7a81b26f35ae0a95f98ac5c022b97c0a69cc91207a41e37b8f222856b99e247cf1afcf3570d9c8be0d9e74cf48ab5d680dd0e57bc5d1d3f565a0821e62089cf420821a6d38c6bb8d89a60cf4b266d1a7cf9b376b63e6fb2f76583ebae5060427f057efd1b686951ac586a621850ab2b3c6e983fcf5a4df9f20b6d2c7198ac7662cd2263c0f2a570ebf5360e1cb4e6fc3f7f8dc230e167cf992c5d642d3a367f40b1a0cbe467bf36b9e42d8a961658b3125a5b6decde075a8b353462fd15d6b17a85299fd75f0821662a89cf420821a6d38c6bb8d46bd0d9a6b8e3bd0abae0bc950a5d87a58b01130c03d65dae28ed80c50e455333bcb60b569dafe87903e6b5424b2b187585d7630d13300c88fcbe0dd38095cb1417bfa5310bf47c702e52ac5809955e3870089cab146fee82c567c19e1d601826175fa0a01576ed502cec84d64e30fbb166b1e9b11e851062ae93f82c849edae07d000020004944415410623acdbc5b0f0d6bb801ed58536336592b279b86f5dcd602f482732534cd036cb06a0dd0075d8ba0a50d5056cf200a545363d61a3b289bf59a16a8d5e0f01e58719ef599ad6de05c0df4c3e2c5601c84a5cbc0e9545003e3302c5f01adf3c0e8b3864c8c771ef67975ec8e01ec4b07b02fab636faa5beb1e0821c46c24f159cc16e53ca96800b72b40461fe135504e07703a8364cad35a5321c424ccb8868bb2010a9e79caa4a707aa1550f3acf7ab3a54fab1e691ad426f0f4787021c3e04b458d3591e3a04151d68835a05fafbc01cb0caadea60d6a04fb75eeb658ecee7a91f005aad69394dd35a6cac5eb56697314debfdfa80b57bddb07a0a47eccdab837d618dddbbe7f1e40f56f3b57f5bc1f7bed50e1d26f6e50328538d3d87e8942b934b4608f87c04824142a110a17084782a41249ce194c46c3d4f32e4c3e3f5e1f3bad1944229852f3d914fd329659344fd4e945268be08894cc15ab2a19c23150be2520aa53c841369f2a7e60428e665e62f210693f83c55748ad91431bf03a5140e4f8060284428e8c7ebf6e00bc539f98907478f61a55c9a78c8657db6374030186cfc04f0b9345c91fc902572a6f2b34fd6c4ebeec049816da5236732fc35682e1f7ebf0f974c4726c4ac31e3868a296bdd2f1efba1c94f7e65d2d90ede8b156bce527ce3fb062b962af61e30191880ae76686e869666c5818370a8d7a4ab1dba3a14e58326fd1578f3807593e6dab3a15a8597775aaf2f3807ec764561bbc9eae5b0c8a178f60593775ca6b8f87285d1336e554765ebacf142a18bad2f2ce49cf30f32cfa8f34fffba80bff98f757ce9fffc8a0b2f2d63949aad5eca533d8c412f10f77be9a69b4c3a8ef7e83cf725d2611fd17c94e8947f689974d04fcc952297f3e100f44292902fccc4529986d317a25bcb917cfc4b78a231c2fe466671780946bb29261fe67e4784ee7000e794d71f282689243da4e24e996253880689cf5345c3e50b12d132c41f4fe18da748f91a91a69421ecddc07a5f8967f3313c271a80c688614e6f80b09625fed003b8a2495283579bd773c4e227d76c3995f173c27577b8f078076587e1af01cd1321999ce20a0a214ea91977c5c5ac5bc305de7621bc79c0a4b01d5eda090355f8cdab26afbe61527c0d6c7678632ffca608db5e31a9544cfefb69134797b5b2f34b3b21b7d5bab1f3ade72af69761f73e58bd42d1d50e2fbf0adfffa1c985e72bf47e78ee25937d6593178b26aaedc4b3955226cad9c467ff691eafbeb69f2b37bcc96fdf7a80ccc69dac701ce69abbdfc7d33f5c84cd39803a0dbd7ab9a89f8fe7bc245291418d16002781789a98bb3cf5575cf43cc94c1997dfc3918fd4dc21128900cec964314d035aad87a11b46786f0a9573c4821172327c408821243e4f316d8415139d7ebabbaf826d09e2f9136c404c2086699a3672a342f312099fc49a28a7217e4eb4eec3f3c429cd1b4288d362e6355c4c3074587fa58ddf7f9f0def3af05fafd8df63a2505c7ca9e24f7fd7c69defb5f11697c2ff1e1b67af523cb2d9e443b729defd1e1b2b96c0a56ec5fffe633b375d6bc3bb4ef16eaf8d5bd6dbb8deabb865bd8df7ad577cf44ec5db2e54dc7ca30d9b825fbe08ee7315e8279eb14cd31a73fdb68b0ef1c9bf6de585cd9d70d00e35f846f259deeb7d99dbeffb2d5ef9650bb61503503f85975c4a69a20feca0d51fc13fd26509cd4d28e26b342e748aa93081409848c88fc7ed239a2d0365b251af35d4cb1d215db412a95e4c117239f046b323347c1cb89c151e0f8749168e255e873784f754260ebd40321222140e13f479f006138de4a953ca258904dcb8836932512f0ee5229c2d914f8409852384031e34e5265e2c934b25c8142aecce76130a45f8c22329a2010fae608642268acfa5a1340fe17409bd9822ec75a09486e7e8b0bbd1becb463dfc6edca10c857418af43a11c3e62797d02db85985e129f4f0f5d1ffcff7db4f85586728e44244c28e8c3e372e38b6628717c0c4b1627fac10592b11c388e04ead16299b56d22f1335964fcd83c1531efb8ba8fa39423150de0397acfcb48e733b92a08214ebd1937540cacb1c9f33be0dcc58a732fb5418fc9fc798afb3fac685d09f4003578f7062ba9cc538a4f7dd4c6456f5570182e5aa7b8e82aa00f6b8cb501ed5d5897fd8f5cfeb729b00315a019365c6be39d6f33396f8dc238c99e2263a741e4c303ac3dbb466b75006340611c6aa669e5005ffce453f83f79219ffeeabbf997eec7b0b5d5312aa7a6fda8e753e400b7dfcd08fd7a00383c1eeb4929453094c19b2b10f7402eece2ea488a703e8c2f9626915bcedd78f13606036b4e374e778848b7eff8b2350fd1c45da4373cc4dd176449de1b27110be276fa899c92715d0025d2413fc940966cc8650d91f379f005a0900da1690ef4fc36b66949f2c128dd77a5a16f2391948764368c0b9d5024480e07de709c70f221f2ee6e92490f7a2147777e2b3bb414e97284543e443ae8e19e5010a26142e922d16c08cf9d1112910251c768df650887d38d56d8c6b66292b43f4aba1026e9bf94fb2369c2d900da98db83a3fe1e85385d243e9f5a7a314db47b2bacbb8f8847037418297e3976930c2771c613249da0e7a3782edd40d0bd8bec9018e61df3ea493e162298b23ea794fb3679cf93048f6c1c232fb88ac909c44f2f1a25d281d163f3d83171ec983766ddc7fb9e35074ebdc0d692cb7a63c4f31142cc3433ee8a0b5833c2d4ab503f04f5dd26b53e58bc085a3ba0b6ab7113660dea6f427d37ac5a0d175da1a0dad87608ea7ba1dedb787de4fdfec60d9d3ad4fb1afb353e67c56a78cb3a85321b33e49c04a36e87fe3a1b6edbc739e70d601c5428bb49fdf526bace87cfddf30b7ef4e23bd8f4e422d49a3af653d47c2c974a5400cd31813f773537816090c0918689c301e522651dc049207a075d5be2a48bd6ee7a2145c113c23d4a4674fa93e49f7d90bbd695d9f2c09d5ce0f0104a9ec80d9f1572ddc1413760060906c3240ac3762bc489641c04fdaea3e713ea0ea06de9269603a7c787cf05adae30e1408048324978c5eb14737162e9223a1ade6804dff1ad301c6e8f75ac3b4424e8c1e970130c7b4177108804f13a1db8fc213c14c997f431be4b0d87cb85c7095d9eb05596d343c0bf164a794a8cb75d88e927f179aa55c84683044341023e378eb36fe561dec71753dd8dfb5bb491e3175f24962b914dc688c562c45365dcd75d85562a4d2ace7aa24952a914a9549a6cee1182833b97c6c80b7ab93881f8c9b8b1f96462de98751f87e670e3f11d3b60c2e72384985633f28a8bb52a59d59ad94581b2b5501f00066a286500cd56f634aa60b312207d76c00e36f3f832ec2d8d310e03d6e0ebe1edb52365f41e3bf4a46a6f33a9d715bcde6cbd3ef22ddb81038acb57ff8cebafbe85c79eff2d56fdf7832cedaab3e46c3be850eb6dccdc3305b4c62573bd3c8134e6f0124d7a28a4e344b325f4a235b4e9e8665f94d09a4b8925f284626ef2c902de71c6413b3c2192f90091649470e44b3c74f7a5e44bcf928b4e66fc742bdeee4137ae025024ee399b8f0f7aa794cbb2a3e218720f8dc3e3c7cdc3e4f225f03ad0b0be93a3e39f3d61ba7d09eebef56c52577d84782246c833521d8ebfa746d3345a07ff79d0d8418771becbe3cf5c7302ba8eae33e220eca1db47aa9f10a793c4e7a9d58a2f762cc6e9c534d1c0addc738187c2d339e28d9b1387c72fbd90a7e808128986711d57e6095e9672fa087806f50a8d11cb261a3f27129b873ba19837bcee133038dc4e3c1f0821a6d38cbce20275b0cd077b27d8e641ad6afd9806d8daac392f6b55685a6acdc5699b0746dd7acf18b0b60f54ad7d9b1658d3d5d407a0794963bf8163f36f9e6666af9df9e7c0db563dc257ff631f5f49b5f14cd1e0bfbe6170e830342d5653b6dab3c3ed672d50cc16c6ef81d30b24835ea2251fddf11811dfb0ae2bcd4324b28e1d8918b9529e54d147d03d4659a9e2915ae00925c8159fe4deb5b0b5bb9bdca9b85d43d78132a5c1f95a6b345646bd23d3452853e4d9073f82bbf025eebed4638d1b3fe9ba8cf35d0a31ab497c3e9534578078ea3ed6b28d07a29951af3ae8e8548a190ac34256b9743201d6813f3c6868d998b16c82f1f38462f314d47dd24e513e10424ca919d87031c1a8a33adf875afc5154d7fb51f32e4175be03d5be1eb48b509dd7438b0b9a9ca8c57f8aeaba1d3aae43755e036deb509deb511d57a03a6fc6d679336afe65a8f62b509d0154fbb5a8ae6ba169913545ce6966a060490bdb9ecf7378ff9bb82fbe949b6f80e56b145f4d19ecdf6d605fc0d4ac23e00ed17d632b3de96e8eb62386d029a4d3147428672284336e22a1d1af86b88251aed3d344a3318afec008bd7c4794c9a7320cf948878f68f42aa8347ad1a698c3eb651905d2831775d1cbe8ad6b09784769381433648a831b563b48c67327b97ec1c4be4b21662789cf53169fc7e268dc973846b074b83c2cebf936d1e4a08ea9728644a678f29f5f4c93cceb63c7b209c6cf138acd5350f7c91f776af28110626acdbc868b59077b0760c0c0eb80098e0d30cf03aa0dd5f67668754373173080a9ff126abbb1cdf741db15a896b7c0bc2ba1d30f463f2676e8bc16e6bf136cad306f1db46f00fb42ab776f3aecae11b8b193bb3e720b9b7eb284e24fe09adb6c5c721e7cfe5f4dd0a6aaafd1493099e62ee716eef687480e59a9b1442ed14dd6e9b3ee53d1752a3d59929902c55c8a78ba08e512855c96a3138339fd44031acf3c542210708df9c97a2e4a28961b3460a144365d60d91d47a6652e93097bf186c65800532f03951172f7f18d1fcd13a5fb3a78bc3bc1919c55cc2429fb6384dc478e1afa77805ece128b356645737809f9d7e2725b89d4e1809e4281523147a650b68e1bf6a1952155d28f3d8cf95deae324c2f1b60b318d243e4f617ca611e3862b938dc57886566e8cf88fae53353c0469de089175b0f5e31e7ca118897894602089cb6f05bca131ecf8a8a2eb8d415fc337e90512d1344e9736662cdbba7b62f133ab7d7c9cd83cf99837a1ba1ff9be2a438f1bedf558f940083173ccbc7b5c941da863f6a4ad79376dcdd0bc1c6afbc1388caa7930075e83da3eb069a017303131f5e7c0e8b7f6b3cf07d50af5fdd6b1c661a0098c3e6b40b36d9ef5dea9bfeb7264fb0cde7e751f2565f2e56f5ccc0b6f7c1bd7be01def55b8a8737b5b1f9bb36de7df361ea7bec27ff594e3fc9c20bf8a351620117519cb85c2e9c4e3781688c7063753387bf9bfbae0af0b95b7d143e1227110d900a644915ba09f88e14e6c01709b1aeec1d797ae5217ad872ffd52c88afe33a8f13ca65346f826ccc7f74fae572b14081916e24d52965d324e3197603d958940461427e375a39473a1927b10d204e34ee20120ae071b808a7b3e8e130415f168fdb018e10e95400273a85748c440e2a74d39d4e100db8d1d0297e693deec21d043d0eca7a8454ccea59f444ee626d208c2ff2b77cf50fb2c4f350d11224322e82ae22c9780e2a9088a77185dc149209f254201e27f7c068dfe5fd5caac749e6a1a79820997511d072c493db6007c4535bf884f3b131b6e78887bc32b398983e129fa7283eeb14b36952f134bba9f0ed90179fdb85d301a5429e226eeefd7a9a58d009a3c42f076ea299c72887c2c41fba9f7bb237725f32d5b841dd312886c5c9a4bc433ebd944d914ca4d801ec880608a41b0b45ea658af9c7c9bb1fa1e4183b2f24bd13899f7132a930fe3162733133564c3c3ee64db4ee7a3143229107209ec870f6067864b4d7f10c67af1ffd7c841033c7481d47cddf7cf86bd5f5376c9854419b366de2f6db6f9fd0bef5e7178171688c2ad51bc30414601ebd09d4baa1d3b49e2bbbf51cd3ba5bf248ef9ccd3ee8b9cd9abb7370d1d028cfd6b82bf3145ff33714f666033a6ad6f5ad5e3b546c600ef0b5a7433cb6f5266e70fd0977ddbd0734f8bbbf5eca2b6fb4f3cffff80ac68e26cce1bf215b07f60bf79dda3a8fa19c0913d1632403f2e7b31033c1c68d1bb9fefaebc7dc47e2f328e6587c1642cc2c1389cf73c9e6cd9bb9e5e69b46dddedbdb3be2fb3f78328bcda872db1d1fbc0de8c79a30bf0f6b5a9623cffb017de60d15c3046ca09aadc4a59aad5ebd23af6d8df7b059c9513559cf6d8dfd863cb71f7b7eb48c23cfed9cfa81caa06c7568b2f1f39fade2dfbf760ebd7d76e8ac811db4963e9452ec3bb8080e02bd7089bb93e78b0ba9ef34b1b59ce4bc9f53ae44360541992352883394c4e7991b9f851062ee9b810d97f14ccf4ac627cab612fefd9126625f196095abc2c62796037698076db657a955fbd95dd6e0b0b5ff8aa536cabd0e5e795583f9a73e714f44391b2510081109874938c332b7bd106214129f8510429c3ab3b0e132cb0c80a3c36060a0c6faf797d8f3662f99c7e6c14a68520771383aa9d617d273086802bbad97fe81365edfdf09dacce8d1d3cb0572df4e91d103c4bb65ccaf10628e9803f1590821ce24d27039c5ea25c52dd79bfcd7dff7c19b75163834363fbb029aa1b5b599d666836aad8543bd4033d4ebd0a27551a9d667cc6fc719485332750ac9903503991042cc0173213e0b21c4994442efa9a614e6409da6d62af4c2e56fb5f3f2ae45f00a383aea18864e6fff0035036801bdda44adde44bd5e996da32e8410627691f82c8410b38a345c4e350586a1a8576c50579cbf722f7d952e8a2fc2624795b679adcc9b379f5a0d6882fd0706686ee9a0c9663b1df7a60a21c4994be2b31042cc2ad270399daad0d15ec5b9dcc9d6a293265b15656fc26e53d814508197df5848676727ad2d03509bee0a0b21c41942e2b31042cc78d270398dcc9a1d9a6a2ceee861fbaec5f4eb06bdbd55aa9532cb9740fd37907b7e314b3acb2cedecb7d61310420871ca497c164288994f22ef6964a240c1a2ae2a7bca1decedd128f7f452afee65de79f0e39fc1f6bd17738ef30dce5e01f49ffc206abd9822ec73a29442393d8412f9612bd5ebe4136102c110a16080503c47797821e53ca9881f8f3f4569d2e50b21c4cc371df1191833bea2e7498403044321823e2f816876e83ee36d1faf7c21849865a4e172bad960d5f216f45a277bf6415f5f95258ec3d004b99796a3b40b59e97889d6b3c0a89ee4af47cfd31d8c53f6c7f8fa83ffc05dce020fdde323983ed63429a582f8132e62a924c9541c6f3a4830591c5446896c364736fd385bcbfaa4cb17428859e374c667183bbe5222150c92f626482593a43209dc693ffe58a1d13934def6f1ca174288d9471a2ea79169027658d05145af36a31baba854aa78ce2b63ee849dbd015a6dafb3a2b300f34efede4fbd90c519cb908a8608862224b319ee5ad6432691b3129b9e2716fd36ce701037002e026117d96837d923394e73e20b84087abb265fbe1042cc12a73b3e0363c6570a49ba330e827e67635f0f91a887addd51b2e5096c1faf7c21849885a4e172ba29d05a6ad4ea8abeda72aafa3e562fe861f34f17b3a7ef6d2c6cf919becb0760dfc9ff6a344f98c8e065ee1d1e82ee563487b5188b5e4892ded185dbed3cb68bdb83737786547e68d3431b61fd96f1ca17428859e534c6e7c1468aafe542866d95a1ef393c1e965572a40afab8dbc72b5f0821662369b89c6e36a80d1ca652ef64cfc15538e73f4daf0e3fdef9fbf41e3ec4daa53f61d9e5601cb64fc1870dcf56650a6527feb0070dd08b7976e0c0e53cb69fe670e16037f9e244867b8d5dbe1042cc2aa7353e8f4d733869a540b630fcfa7599b23efe762184988ba4e1721a2900037afb60c068e7f9ed2d2c69caf0ca8135ec1f783b7dfb7ec01defda077dea942c11a01752a45dddc41a5749f47219d0700e696534aec69c40e61b5ebe1042cc16d31d9f87d33c6182cb7a7828122757062893cfe4d88d139763fced42083117354d7705ce2c0a6a503e04d5fa028cfdcf531be8e2dcae8ff1eb9f16b86cc57f73e18d606c6f3a05ab321749c58a4412515c8d7734cd0194d007b751f4323ae0704c36f31d5fbe1042cc1ed3199f47e0f091c83d8223dc4dc897c1e3f3e3ca17a02b40c0a58dbf5d0821e62069b89c46365b1d6c8ae7b795d9557a1347cb2eda97bf875f17bb28bffaafdcf7857ee8b19d82debc32b9781c3d122770ec761634b78765a42896758e5d6929526619be4925be91cb174288d962fae2f3e8345780782660bd286708ba2aac0947f13a26b65d0821e61a192a763ab5d7a994e7f1726905bd3d0576bcba9773dc3e1efbfea3fcf9ef3dcf924b6cd4f7daa7b8374fa7908c91f37613f66847dfd375d0dc4102cb7693cf1fbb9fa55cc8b37b999f9067a20d97d1cb17428859635ae2f344e9e4ba23a49df792ea1ee91ec2f1b60b21c4dc200d97d3a5062c87279ee9e0d9e74d5e7ae1275ce2b99acd3f7c9dd0fa0c813f02e3251b4ce93d9f3a85448848de8dbb9c2393c99049a7888542244b80e6251abb9162324d118022e964891b6331bcc332dfc80d9171ca174288d9605ae2f3316377f4e814924142591fa96cfcb8d83cfef6f1ca174288d943868a4d254361d706608109cd36300de8c36a1e76407d670bdd5f9cc7ebaffc904bd6ade3c59d9dac5bf27ff9cb4f0dc01b4d18a60da5a66e204221eec7f3f12d547898c71f18b461dd3ff08acb7aea0aa54897c34482799c5a198269d2a1c1e3bdcae4d24912d91e282789275d44823e9cdac4ca174288196186c567cbe8f115bd40269da390cf517486c9e4fc0c19c13bdef6f1ca1742885968a48bdecddf7cf86bd5f5376c9854419b366de2f6db6f9fd0bef5e71781716852e5cf6826d86ca09c0354df80af7fd74efe853aab96c15bdd1d542b35da5636f1e9ff7d881ffd0ae6772cc46cbe84bbdf9be79fffbe0cba9dfabe09f6e6d93ab05fb8ef949f92106276d8b87123d75f7ffd98fb487c96f82c8438fd26129fe792cd9b3773cbcd378dbabdb7b777c4f77ff064169b51e5b63b3e781bd08fd5add407f40e7ade0fe872c5e564190afb821a98065f7b08b2cfbf17437b37cbce5b8ce39cd52cbee4adb4b5cdc7317f3ef7ffddb3fcf5673ec1d65ffc82bffad02fb8ef2f0ec2013bf50376b09fce5b3e8510e20c20f1590821e61469b89c2813ec76606995dffc0ab27937bbaa9f24fcf1f773f9c5f387ecba6fdf019e7efa87bcfa5a919daf1ee2ed171fe4becfb5c24b366abd769424452184983a129f8510624e9286cb8930c1de0a740cb031053b2b7fcebb6ff9149e0b867e9d9ffffce779e4914728168b542a15ce3df75c5e7df54daebd6431947aa0aa24290a21c45492f82c84107396345c26cb045bb309ed35be9080be85dfe0639fbc9d9641bb7cf9cb5f66e3c68df4f6f6a2691a3e9f8ff5ebd7f3e28b2f72d6b93e2e59fd0bd8fb28d865523721849832129f8510624e9386cb6499a096d4782801bd8b1ee5cfeebdf9e8a6fefe7e9e78e209b66cd9c21ffee11fb266cd1a5e78e1052eb8e0025a5b5ba9d56a9cfbd68bd8fdfc266801634012a310424c1989cf420831a749c365320c857dc5003ffa1ebcd0ff39627f79f390cdadadad747474f0a94f7d8a7abdceb66ddbb8f8e28bb9e28a2ba8542a2c5bb68cc79e7c0dd7f20a3483599d9695cc841062ee91f82c8410739e345c26c1d66cd05f32f9ce4faee44fbb3f39645ba552e1f1c71fe7e5975fa6542a317ffe7c962f5f4e7b7b3b870e1da2a3a383952b57b266d561b4575f84e6693a0921849883243e0b21c4dc270d9749504b6a7cef2bb0f42d9fe0ac25c3b62985c7e3e1a69b6ec26e1f7dc2ff37773cccb5ce83d037cb872194f3a462dd74a7205e48e39705cd4e48391dc01dd6481652f81dd35d1b21662f89cf27e174c473c919428829708645e793d0985ce6e57d0e3c97bfe7b8cd2d2d2dac5ebd7acca4b8e9477b1878f573ac5c07f5ca696a33ea7992211f1eaf0f9fd78da6144a297ce9f24916ecc049816d257db215a2984d11f33b504aa1b9bdf87c5edc2e17de408c4ce924ab35cb682e1f7ebf6f8415af85101336dbe273394f3a11c6eb5028cd47a2386c7b29472a16c0a95c04e32972a73c2e4e209e9f742e996cced029e64b63bc16429c89a4e1324136bb41ed5560dee55c72f182491fbfff306cda1862c3bbfae0b01dd4e99866b34c3ae827e6e8269bcb92cd1528bff020772c6b3df9a21d2e3c5ee7091ca8e1f205897407e8a2157f224b369ba3908be3caddcf064f88ecc9b6a96611cd1321990ce396868b10276cd6c567878740384136f311d654b6708f3f426ef0dff34e2fc14894e07541a2e12027146a27559ff1e2f914e492c9e68c629248b2883eda6b21c419491a2e13a49a4d76be066d0b3c2ced3af6beaeeb54abd5718fffcca73ec70d173ec692b58a7aefe8bd7e534acf93cc9471f93d1c1985a4b9432412019c53f087b2765265680c39dce9271a5c03bb53c4f3929a841013372be333a039dd38d7aea575db03044269865e4fd0d01c8e938cb393a8cb589f3345b964c2e752ce110b46c89547792d84386349c365a25a15fb0e82367fe590b70dc3e0d1471f65cf9e3d231eb67b4f998f7de233ac6d8df2eedbc178bd096ca76b5133072e6785c7c3619285638d01873784777002d1f324c32142e1107e8f1b5f34d348a03ac5549840204c24e4c7e3f6111df572c864f61d89d6486a1a1a3aa55c9248c08d3b982613f5e2502ec2d932e805929110a17098a0cf833798189accf402c97090702c46d8670d47532e0fbec8168a2396591ab5dee55c8a68c0832b98a19089e2736928cd43385d422fa6087b1d28a5e10967289fc0fe9472a4a2013cae0019bd71ce7e37ee508642ba318cc4e12336b82137eaf9e5a427529cb966657cb6387d7132f7ad63f7c3418289c2d8ff8f478d7f657289202ea550ae10a946bcd70b29c26e27fe78ce8a39e51c89489850d087c73538d68f67bc5ca253cc2608fbdc786359b2313f4ea5502e1fb149e78c32b954824ca1c2ee6c37a1d03dfcd5e707bf8e902c8e762e63e40e21c49c7066df9c6f82b281adc5800145bdae60b419305bea1caa40d51c7aa9bbadad8d77dff03e525f7f90e6261be79d770e5a879bbebe5e6afddbd9fafc2e5e2d7c9dbffbff80fd764e6b4ad43c44137791def010775f9025796f9c442c88dbe92772f4348a24022172912c49bf033d17c2757580b0bf4cda9d2218cae0cd15887b20177671752445381fc635fcb34a93d87724c514ddc91db0f65e225e0d0a0ef4fc36b66949f2c128dd77a5c1610d574806b264432ed00bc47d1e7c012864c3b8d0c946fc74eb290a512f5ad843d9b581ac3f4126eea19c3f707c99b54747a9770887c3899edfca0e2d45ba1c21950f910e7ab8271484689850ba48341bc273678444244f7852fb1788381d38f5025b4bd637a439dd68856d6c2b2649fba3a40b6192fe4bb93f92269c0de218f3fcbcaefb48c10000200049444154c8683331a7ccf5f87c84e6c01b4bf360dec3ddf704887a72c4bd23cdd4511a33fe79c34992d90cebf36e3c8db1a79acb8dcb1b231af1e2a048329cc4194f9074829e8fe2b9740341f72eb2a17186708d9b4b7434a783527e1b053d492ed24de6e920b1e0dddc1f08e3298e30f9c81839c31b8e134e3e44dedd4d32e945a34cead1c1af8b2483239dcb2ba43c23e50e898e42cc1567f61597ba896d01e8bd2dd0a6b0b71b98f5d1e7ee2ff775d03a7f0500dff9de537cf77b799ed8f463bef9f5ffa4b97501aed54bd9bce5059efac60564ffed32b66e53fcafc85d043ff007bcf832601aa327de53c4e94f927ff641ee5a5766cb03777281c34328993fdaaba7e762c40a1ec23e2bab689e6e12ff1027ecd640731308060934ee1cd71c0e2817298fd42538997d8faa504876138b84098493107c90a77371bc9a86d3e3c3e782565798702040249924a22588641c04fdaea39f19ea0ea06de92696d341cf934aefc0e1755a7fc43b3c04dcb0bb5042679432df76f128f5d670b83dd6feee1091a007a7c34d30ec05dd412012c4eb74e0f287f050245f6292fbeb680e371edf913f18341c2e171e277479c2d6f14e0f01ff5a28e5ad5ed131cf4f8839e60c88cfc7b808a5d27c64cd361ef087488d7419a4101f3bfea1e18d8658b32d41b2719556cfa72806fcb8003d1f27962b914dc688c562c45365dcd75d85569a58fc183b976838dd1ebc4e70782344825e3cde1089e41d74f5a4898f34c6eb8472068df31aed5cca38468af31e69b80831579cd1575cec6719fceb571c6c7a7a39fe7796b9fdbd7bd15aeb18b5a1ed3965027d50dcbb866baebd9c6d4583d85f5ecbc7ffc4609e09ce26f8fe6637fe075e60d1d25fb370670fabdf099ffddb7fe0e22bbecee2e6c7f8c1434d509b96fe3c1c9e10c97c8048324a38f2251ebafb52f2a567c9453d94f3394af88f7548692e029170e3859768d243211d279a2da117cb305a8a734c62dfa35a7187ba89fa464e2a1aa0398edd0b53ca65d951710c1953edf0f871f330b97c091ac9a95c2863a5716bf85997cb79b48ce1658e5d6fedb831d99aa6d13af8bc1a3be827b4fff031dfc77f0f9a13d07574fdd8f6b1ce4f88b9e24c89cf47397cc4335fa4e0b9873b03713c19df90cde3c63faf0bcd1326bcf601e2893cdd0937b9549940b7d539a217f2141d4122d191af824fa4f132562e391a639dc7e2abc313c4c3c3948a6560d8259713ca194ce05ccac7c77921c49c71465f7131958dbdfb14bff3db7bc8fcf0307fff2f6da895c671fbd9daebf4ed85e29b1772d5ba76fefbf1eff2e71f34b8fd43f0eef7c24dbf0b91df2bf08e2bafe0abff18c479b11d743b7f76f763acb63fc84f7e59c1544d23fd5d7a6ae90592a962e385034f2841aef824f7ae85addddde4742b4d544a058ac33ac4745db78e0f7a89967c74c763448e5e1d18e5b326baef099f8f0e94290daeabe6b09294665d210a47d6514a27c9eb40394fa67415d14149755aea3d554ee4fc8498a5e67c7c1e81e60e934adfc5b2673e8e3f921d7af561bcf807809b60641dbb5371b2c52c2982342ea6a3a3532966280c8bf5e5894c4f3c815c32f2093970b40eaedfb0324f30f69ed4b9082166b533bae162ec54dc776f0fbf1d3a48f1753bbbf799d03c74ac803281f906999f2d61ed657fc4ce3df0da2fff8a9b6f05e3b926eafb9ba9ffba85f3dfa9f8e0865e3ae71bb4741918bbecb434c1f7fea785db7ffb3dfcddbf9c0b0beaa8e3f3ee2954269fca501cfc96c347347a1554ac5e7ca7c7435725432c3d686c42294d3c53a69c8910ceb88984c6ffc37832fb9e2887d7cb320aa4f383b2955e466f5d4bc0eb04343ce138116f8964778c7822873799213ac65cc3a7a3de5367f2e727c46c35f7e3f3c89cfe0499bf59c78e873ece9706f5288d1fff2cae4094ebf434d1481247f0d8bd6f0e9787653ddf269a1c340140394322539c40adc6cf2583aa34e8b01265d6e01b611ae49389bd27772e4288d9eccc6db818606f3661698d9e9f34f3f42f9af9dd0d06f41c1b2ea00c856dc500affe12d23ffd2d8277be8b7f7bf041d65ff04b58a08e8db76e32e180c9e2258b59b4d001ba89d96452ef6981fd55feecfdbfe0f19fafa67fbbc2d6563fada7a9e7a284628d19650028914d1758764704afc35a4724bcb6c296bb7d04634992892881601ab7d709ba4ea5274b3253a0984b114f17a15ca290cb52d01b1d8095231f34f6be23d40c9d8a756567b4bac39084a879a2745f078f77273832d1563193a4ec8f11720394498742641c3ebc1e174e970b47294f7e502fdcf032c7ae7723210fab6385a1c71f7b98ecfec3be43f471064a8c7f7e42cc0967487c46d7291f77538786279ae1ebefeb1a32726afcf8d7e0f413f1c3d6bc9be0a07b3b346f84c83ad8fa710fbe508c443c4a3090c4e5771fa9cab06035acaae3e492a3efe6f347672a2b6512147ddd44dc474f77c239c3e1809e4281523147a6a00f799d75dc33f6b9705c181642cc116764c3c534c0de0674d678ed4578c707ab5c7e61952b6fa961eeb3359226d85c555efa05fc65f246c2912ff0e877f234bdfe07dc780718af350dfdf69aa0a3b5c4c18387c1d6b8c7d36662eeb773e1152fd1d6bc8f5466192c3338bd53d7f4b0e5feab59e0f4e0f3fbf17903245d09b249bf35e258f310cb3ec2bdd79579f8febb89264a04e209024e70f8bbb9ef2a9d876ef5114c42281a60999e235570e22c654824f2408e782243d937fabe435785d7296653c4bbd3f400d9ee6e9299e15380ea14d2311239a864bae94e171ac9d245389de51fdc29823e3fc15090683e443a15c0eacfd370799d145351c277dec99d77dec9adb7aee7d2e51ec2d9d288658e7e8e0b50d904893c54f209129902a54286783c07951c89789a42a9403a91204f855cfc6f79e8eb93d93fce777e3ae83b8c7f871f7d274e320f3dd904c96c91522e453cb90d766488a77294c73c3f99ee53cc0d674a7c2ee7d2c4bb136c49c7e84e65290e09824e82c90cf70db952315efc3bc2813f12e27d911043ef497713cd3cc67d373ac93f743ff7c4f3b8ba13049da01787c6f3e2887ff48f934b8e9e588a483842241c249c09904a857072fc678c9d331c782277b1361fc617c9e3723987bd5e37cab98c963b841073c54873a8347ff3e1af55d7dfb06152056ddab489db6fbf7d42fbd69f5f04c6a149953f959432b12dacf1c57f71f299cf77b16bcf1b1c78e6108ecb8112a04175377c73133cf5eb3fe086dff9ffd95f2af2fa2f6ee4cfff642f36a3895abf420dfaf6ec4b07f8e6c695e49e5fccdffee5568c03cd982660827df5009ffdec5bf8d1b34d3cf69fbfc6dcd384619ee0f435b60eec17ee9b826f612e2a918ac47176c78e8eeb069d52364e28e5259df0cd82e1606399ebe7274ec4c68d1bb9fefaebc7dc47e2b3c4e753af40cc7d01c9d00b14a2eef17717e20c3091f83c976cdebc995b6ebe69d4edbdbdbd23beff8327b3d88c2ab7ddf1c1db807ea0aff1d33be8793fa09f91b38ad996d7f96e4af13fdbff940db7d6b8e0bc36325bb730ef17ffc312c7003bf769bc71f05a2acd7fc45baf5ec72f9ff906edd58ff1177f5245d99ba81fb6a1862f526640734b1b9581661818f4be026a70f5c565be9cbe881dcffe86351756e1c019f9d59f52e54c98ee6298fc90ee3f0da7cb89cb33fb67de9aebe72704487c16420831ba332e3a2b6542d5245f74d3ac7592f8c7103b4a6d7cebd15b281f7883de1d7b281fd458b6a48bc52d05cadbff1aafeb296eb809e869a67e588db2b2b262fbae85ecd95f0743a11834e2c006adb67e74f35c36e75fe10fae7c050e9cb6533e63948b25b67d3b423899201af0e2d2a05c48134f9408c6667f0fe05c3f3f21243ecf6e65402feb8de9da851062ea9d710d179b829e1761ed5bdfc1eff93fcacf9eabf2cbcdb771d15987e86d3b9781ea611cf34a9895028e796f70cdfb802e85b9ab0903464e8a26d0026f940ea14c03da1566dfa0edfb6d5c727185b5ab76b0f5c556306c28853554414c195738cd937a8468d4cf057757a0750dd705a3c4e251465c887a9699ebe72784c4e7594a2f9249c6486f831da938497f8cf04c9e5a5e08316b9d710d179aea18361b3f7f5ea7d4b791eaeb9f24f45b4516ad0063ff666c2d405be3a76a83b28d7a9f1a7345656533a16262d756f18ecb5e03bb8169da8f6e377aed7438ab5c7b691f7d9595d05b00eca317284e90135f24452e32ddf53855e6faf989339ec4e7d94973e10f27298493d35d1321c41c37b31a2e06d89b8005585326f641bdce984969d25aa0657e339ffbbbffe1a31f48f34f5f3a0c7b9ba81f50d89b0d4c138c4336187c6fea389f6f6b32e0603387fbe7e339bf07f4a1079836a00aadad4d0c986d43c7580b21c46c20f1590821c4349b51d321db3438d80bdff8bac1f3bfb2aed3dbdbc0ae817d3e53334d65ab8dc2761b4b97f4f2177fdc0f3d36ea8714d8a06ed8308c13f84aec26fbf6b7d36caff2969565e81fa1a20a3adb5ba856f4232f851062d690f82c841062bacdac2b2e4dd0db6ff2da1ee8d54dfa75d85386650b60e122702d57a836ac04a98359b7c6214f662cb2d907ed6d8a473f6fe23c07eabbed273f2a403379e98d853435d559b2a40f2a231738afd5a0563fcd0b9c0921c45490f82c8410629acda8868bd10bcb97283e71afa2be0ff61f024797c9a69cc959cb148b57c3138f982ce884cb2e56b4b742533b56f798d1286400ea5546ed32337a6dac3d7700da2bd4f7aa4927459b6d58323614b4c1b61d1d34a95ee83031f68fd02ba8a0af7f80ea8009f6d3bc06a510429c2489cf420821a6db8c6ab8a0ac31d36a9f35967ac92258b24c71de590ad306bbde80b676a80ec0969f9ab4d8a1523559e4502c5b04cd4db0a053e15871ac3c74a066254b9b1d4c7b2371eeb74d6e3c8089b5e2722ba826a81fb256786e72d4a00edfd8bc90eb2fdf0ef3c1dc3fecb40ca015f6eeafa13557ad1b4ba76f7d372184983c89cf420821a6d9cc6ab8001860eb00ec503b004d6d400ba80aac58042b3628e803bd177a7ae1b537a05f875dfbe0a5a2c9392bc128405587d65638ff2cc5824ee8705865aa26ac3b7b7a81baf5bc5e1bbf5a36bb558f7ffdba49e77c83dff948a30bf1107cf3bfaee2b0fd7dbcd3f3d946efa2026575fbd9179bb0a80e3be0b1a734aeb970272c55d80e1bd47aeca826e9db1342cc12129f8510424ca319d770b1cd87fcb326e583e0f3294a3bad04b76035d66c2f15a00eda3cd0da60d90a65f5b6d9e11d97297a7a60eb3693fe8a89692a324f1b2c5fa478d77b15dfff96417f05ce3f5b71c1d98a8e765075b0cfc3fa266c8df2817a1f43a62e304d5055f05c62b06bafc67f255b28ee6a26fdc4429e2fad65a9e3291ed96ce32deb5a68d7ea505360b7f3c4f74d6c8e768ac52b38dbfd5e1e7d6a3ebb6eeae58b9f3ec8e205758cde19353f8210428c4ae2b3104288e934e31a2e661d3ae643b30607caf083670c9a9ba16b9b629e82ae0e70ad54682dd0d2de3848b78630d8edb07001ac7f9702d31a1f6d1e52f4e9a0ef8215cb1455135e2e9aec7913deec31d9b71fdeed55546b50a9c0b92e85324c562c5798837afa4cd31a7a709917ccaa9dfbff66054ffcb0c6926506ddef7982b75d5c626b6119bffad942aeb97a37a6aee8d735f6f4b7f0e0bfad66fba1f710beed257e77fdafd9f8ad2636ffcf2282c1bd56cfa21042cc02129f8510424ca799d770d1e1dcf3143443ef6eb8f5061b870ec38ed74d7a0760e72e3870c8e4cdfde0e880e54e2be13916370a18007a1beb0b00761bcc9f07f335b8e69dca3ae3aa42df0fbbdf54ec3b68d2360f6a8761a0065b9e31b0d9e003b7298c5aa3b3d081b566810ef55213f6f9bddc7ff7eb7cf2f7aa2c7455a0cd809ae29af57b317637532f37a19a4ceced15e669edb46bfbb8e3f2bfe7eeeb4b2cbd046efd9d66f4ed2d5333638e10429c26129f8510424ca719d770c106f57ea00fdae683b2c3bc76587a5623a9e930d00f6f96e195574d5e7cc5e4972f4213266bcf552c5fac686d828e055671438614f400a635f38ca6c19a73614db3b2861f3437f6eb55300f8cc380029b82cdff6df2d67315cee560e82666bf9dae253d5057b0df0e07ec188d44ac541d53296ccd06d5def9ec7edd4ee2aff6b2fc0a1d4a507ba9055b9381d6a253afcb300421c42c22f1590821c4349a790d9723141806d6349a0358b3cf004a41b3cdeac95b7e96829ae2c01e786e3bbcbe0bb6ef34396f0d2cacc280ae58b50acc8161e59a400dec2650b58618183aa86638d803afbf6472fe6a4573ab3534a24db37a0631ad44ddd70f1acdd85bb16e52ad5a379036b7806136a6c2a9d951bace1fff612fb5b289b9bd19a30eca6e8dedaed765893321a642a95462f3e6cdd35d8d29639a26ef79cf7b58ba74e974576574129f85101320f1594cb599db7019856942bdb1c019bad5e3b66011bc73b5021dcafb001b3cf7a2c939abac49648e9b17c66ccc5e6342cf41e8eab2c65fd30a3b7799fce0199373572b4c036cad70f5061b944c6a3ad85b41af9bfcf819b8f26d8ade1e935fbf0cd75da3ac59704cb077c0afb69af41c3269deaeb0db6dbced0a8e4db16980bd056801a3df4accb254b31027e6fbdfff3e77de79e77457634a3df2c8237ce0031f98ee6a4c9ac46721c460129fc5549b750d97e18c46af1c552b493a1658639ddf71a9350e7bf8ec33d0582fa0191efe8e4973130cd4c177052c5badb8e472c5256f539865309b60fb7693037993cb2e54d8ec605461914371d1f926b62ad8509cbf069a9badf507940dcc9ab55ec1f2250a8575c3aa71f8d8e7ab16d85f8637f79bac59a1686e69244721c4a4353737639a26a669a2949a138ff539b282bbc46721ce6c129fc5549bf50d97c10c13a83492536378c1f0a408560f5fbd0f2e590b2b972a76f7c20f7f66b0f015e89c07461daebcdc9ac653af424bf3a08315d42bb07cb9821a7474620d4738640d53b069d607ac5ac5b1aec45ae3665475ac0cc366b2eb4d6b2cf7eab3ac32851027c6300c945273e6d1348fbb0e31eb497c16e2cc34ddf154e2f3dc32a71a2e4798e608c30f066f6f4ccd79c185d68d9f9dcb609e69a35633e9390cb6e66389f5ad1728eb86d4c6cda0c0d1e40858c30f06c0d604661b7cf7716b61b30d37d85003837aea060d35302bb0d8a1b8ee5a2ba14a5214e2c4198671b4470f98138f7339314a7c16e2cc21f1594cb539d97019976a8cc53e323ca00aab563736d801b3d1437764069dc6a6318bb441b517da5ac1b9d81a4f3deabf6d9b356c81aa35838efc1f10e2e448229943243e0b31a7487c1653e9cc6cb80ca70625c0236f4d72264ca3062dc0bbaeb78628d40f31e23088e1e4ffb3102767708fde748f7d564a61f6efe0d5ea1aceea3cf17224d10f22f15988594be2b3986a3251fd54692c065def817a2ff2cd0a711a198631faa3be89df5ee660c18205381c471e5773e5cd9fe03f0a7de31f0f1885bfe74ae7cdfcd78171f6ebdbcaa7aebd81ffb37582e58ef22889718a497c1662da487c1653697aaeb81887c6df478c4cbe3b218638d20336ea9864c3045ab9e62b59be724d17542af4ecf915df7fe07ff1d1eb5e44cf7d87bb578f33b679d073c3186b3f9d528f0ea6795c929b3563a825c69c38f9ee841842e2b3986ad3d3efd4b4126c9df273223f4d2ba7e55726c44c3538318ef603d0b9f42c962e5dcad2b3cee2fccbdfcbbd5ffe367f75d6537cfad33fa2bfb15ff9a70ff2a1eb2e60d1a2452c3afb3a3ef4c59f52364d4cac1bcacd31f72bf19fefbf9dd49e833cf2fe4bb9fd3f778c5de604ea3c2d243e4b7c16628a487c16536d5aaeb8d82f78653a3e560831070d4e26238e496ef4c0317cac75cbb96c089ec7671efa1e2ff6bf9d8b7abec587dfff17f47c2cc5738fbd83d6971ee42381f7f3a1253fe61b173752a3696294c6d82ff5303fbaec0e2a5ff9395f7e7b2b66e95b7ce8fd7fc1c18f3dcc73df7f3bdacb0ff1e1c0fbf9f0d21f930a2c1d750cf57492f82c84982a129fc5549391be428859cd6c5cf61febd11c65bf8e259dd0d3836e18ecdefc259eeafa7dfeef87dfce921683ce0befe2d37fba941fffbff6ee3dbaadea4ef4f877ebc8b69cc4b6429c4479401408a03640948687288f28530aa285220a1475fa40b49d567d4dc5dc3b20e6f6b69e4ea7237a3b1d71076ec5b49d8a01a6a2012a66a6204a3288528ada02518080d204a23c009924444e62fbd892ceb97f1c397112e7ed244ef87dd6d2d2e3ecb3cf3ec76bc9e7a7fddb7bdfb39472e39fab7180e586fe09979726f95dc767f9fe5f5cc8e41693b6b99fe5efbe3e8567934be9de4fbb8510e27827dfcf62b4c9ac624288e3da01ffa267ee39bb4d65d54698f241da5a4cb6ac7a8781f53fe643b37ebceb01e6aca27ba083a15ff4f6594e9fd3485bb0feb955566ddc6bd9729fc1e456f9454f0871e292ef6731da247011421cf7f6b9d2313b173cdce5f381d53cfef87a267f30c00cc360db9c29b49cf6599efcedd79933f44faab28e0d835398d9f3e31dfb77ecab5cd32b430702a0edb4c9b4ccf90c4ffee66b9c3ef4cf6feb06d6e99d9ce2d877bb8510e24420dfcf623449aa9810e2b836f42bddfebaf57bbad7d1dddd4db9bc9655cf3fceff8dfc39dfdbe8e76fbe3a9f16d3a473e167f8c0c6bbf8d63d7fa4db34e92b2fe5b6ab2ee0a33f78d91a1c6a1d6cbfe55a18e09df5ebad5fecfc9fe103efdcc5b7fee579ca86417ff77f73eb47cfe7aa7f7c853e494310429ce0e4fb598c36e97111421cd7f63bcb8b6902033cf79585cc1ffaac6532efbff063dcfdc4ed5c33d3b48a4cbe819fdcdfc3edb1cf33bf6b233099f937fc90c5dffe002d1b9edb79ac7d956be9e1631f3b8d4fdfb290ab5f7982dcdfeea3ecd03fdbbd9c9310421cefe4fb598c36095c8410c7b5fde650372fe4bed5ebf7ba7da8fbdf344ddae77f9ebbb29fe3ee5dca1998a77d85a7567d19a5ac7502f65ace6ce7826f6759ddd5f8dc3469f67e8ebb9ff83c77ed725cab1e59995908712293ef6731da24554c0871dc3bd41590c7eab3fc6314429c288ef5f7a97c3f9f58a4c74508715cdb31a5a679f02b208fd567f9c728843811c8f7b3186d12b808218e7bf28f440821c626f97e16a349021721c4716d707070df39d4c7e173b55a3dd6975508210e9b7c3f8bd126818b10e2b876f9e597f3e8a38fa269dab16ecaa8a8d7eb5c71c515c7ba19420871d8e4fb598c36095c8410c7b5b973e73277eedc63dd0c218410bb91ef6731da645631218410420821c49837aa3d2e8b172f1ecdea8410428c12f97e16420871bc1bb5c0e5b2cb2e1badaa8410428c22f97e1642087122905431218410420821c49827818b10420821841062cc93c04508218410420831e649e02284104208218418f32470114208218410428c7912b808218410420821c63c095c8410420821841063dea8ade3b264c992d1aa4a0821c44190755a841042bc178c5ae00270c30d378c6675420821f663f1e2c5c7ba09420821c45121a96242082184104288314f0217218410420821c49827818b10420821841062cc93c04508218410420831e649e02284104208218418f32470114208218410428c7912b808218410420821c6bc515dc745082184104208f1def49ffff5ab235abf042e42082184104288c3b660febc83dee78565cb0fb8ec31095ceaafcd0663dbb138f4f1cfd686f6be35c7ba154208218410421c55c7a6c7a5f6e63139ec09c1d87aac5b208410420821c451776c06e7dbda8ec9614f0872ed8410420821c47b90cc2a2684104208218418f32470114208218410428c7912b808218410420821c63c095c84104208218410639e042e42082184104288314f0217218410420821c49827818b804a81742c88c71d24ab1febc608804a2688cb15225b39d62d1142082184181bc65ee0628252a0b581d601daf8c6639642b381691c85634f00cd0e1cccb10cd05a409b049ae320f73d42caf90c89b01ba5144e5f905028d47804f1bb1db8a305ac38c5898b222bcbc74bd4a2532a94f7beb59423150be0520ae5f0134be5281dc953d30ba4c27ebc3e3f7e9f07875228a5f0670e3dea70b8fd04027edc8e036ec43eaf8910420821c4f1ce7eac1bb007653df56d862d5b4135990cf62b7ef3609deb2fb7e1180f6675f40ea735815903c3b08e6d9ad0bf05ec1ad834c03c804aaaa04d01eab0e28f26a79da2681907c6c0cef3310db03701a728289bd4b7b1cbd5d79ac0ac8351dfb9cfe172f982441c3912f7de893b96221d74eedca8e789271a77f34e375e9f6b740e7a34945244535ed2091723ddd73bdc7ec25d0e72a927b8d71ba32bec1fb1dce8a890090588bbd3e4f37e9c805e4c11f647389c30c2e18d924a1dc40efbb9264208218410c7bb31d7e3a275c0e60a78afab71d1a76b5cffb53a8ffdc6e0f6449dedfd606b1da503357a576805d50850b471a00fc2459faaf1dfbf37d1a61c5804619b083defc2251faf71c9a76a7cead63a75add1f332745ee3a0671b7cfd4b358a2b4d6c1377b603766dc76872381c23dfc83a7c4423de1ddb1cc7cbdd6e254f3c1425bfdfce0cebbc5b8ef489e90552d90aee8097a1b0d0e109934c06711dad6b7ac0d74408218410e2f835e60217ecb0a5c764d55a933bfe878dd47d763ca72a3ada14ca042681365ba1b561f574cc50686e85e652568ad75465a57b4d5356ead684467927685aa3fc2c6b1f9b1d6efacb3a6f96c1d6a940593d2f2ffd0936be0b4c69d43d43a14d55689d8d54b2a9ca4a5f9b696d57b36d7cf5f63a2b5e37c93fddc45f7dda46ad0798a1d0a62bb493409dace89808835568d2146aa8ddb3145a3bdc7c4b9de26ad05ceac8a6c301e84552f13c38f77167ad174945c3842311427e2fbe5072b71be332d95823f52ce827100ae1f7c728e865f2a9085ea576a4a2957349c21e85f226280ded5ec9938c460887fc78dd1efcb12c6574caf914d180074f384b3113c1e75428a79f7841072ae4d349b2c501ba735d84c35152250e904e291d21188c100d07f07afcc47215abce6408b75228779874516f9c7e9a88c7452091a7b2d77d019cb85d033c1189902aeecc4773fac2f8865f5ebd402a12261c0913f0ee76be410f9e50866ccc8753b9893cf224e95810af3b4856d729e59244fc1e7cf11cb9782305ceed273ed4fe43be264208218410c78fb1972a6640cd804e27dc78950dceb0b1f5b53adb7a61f20cc52b4f1bfcfcd13ab7dca4d1b940f1f03d06c5374c2e3d5731630aac7ddbe0e2f9369e78d8c07f9ea24f87ef7fb7c6173f61e334b7e2b15f1814d7982cf4299a15fcdb7f184cea801fdea1816605269326c2ec99b0fd55833bef3138fb0c45931ddac7c3451729b2bfac73ded9367efd709d0ddd10faa48d4d9b60c664c5190b6c9c31c7845e93f48fea6cea862352f30200002000494441540ffb15afad32686e52fcddd7359482df3e60f0f432934bcf579c3e5391faa50126fc6c9e86d602c628a6c30114e261426907a053ce3f4ac1fb14a1bd962e930905480573e4c26ed08b24fc5efc4128e622b8a9900d07887bd364e31e1c54c886dc5c590a032e7ce118e1c43d241ab5b9fc61a28138f7e686ea2f918aa4702592a45ca0176278e75f49c8b3868cdf83a3b89295a51499408c4c31422a309fdba31922b910be488248ea5e0a9e2e5229df81a74595d384c2597cf922092fe4236e2e8ca6891422f8222952b92c8b0a1ebc1eab4687db83db172716f5e12ca708ec655fb7c34b2c7913992befe5e6f7e5487d2341321ec2e30a10dd917d5722190c938fe648059ce8f930ee0b83440265924e277a61252b1d290aa1185d3765a84e9e824b2fb2bcecb6dae272522eaca4a8a7c847bbc83e17221eba99db8311bca5348143bd264208218410c791b1d7e30238db14035538efe335be7a538d9eedf0fed31485974dc27f5de7c9df9a7ce5efeabcf67b93cfffef1a8ffcdae023911a4bf226d1789dc12a7ce31feafcfc3183bf4bd6e9d3e1db77193cf694c975dfa8f1f0af0daeff5a9d175e3539659ad513c3b0b1252d4dd0d20c5ffe9f35eefb0f83d0ffacf17f7e5ae7efffa5ceaa227cefc706dff9519d5b7f58e7c70f195c7675959fdcadb1fa0d93cf5e55850e78f669934ffe759d37ebf097dfab73ed2d7596bd61f289ff51e3d7cf1a7cf4eb3516670d3ef3d7359e78d6e0b493154d4d408d511be3329c3796229d4e934e67c8e57f49685f435a8a09a25927a180db7aeff010ee0ae278ba8b785e87629268c6452cec69dc243bf1ec3646665f37cf7a21413c5f26978a138fc749a42b78165e80a35cc1e176e3754187374234e4c5e5f2120c9c09e5c2618d19c1e121180a116c8c7677389d502951d1add6fa626166ad4c922a347a5c0a694ac100eefdee0bae408ac2b29f71d3bc0a4fdff949dee7f4124e0d4d7c007a3e4ebce825e2b792c91cde2e92ff9420e271e2f2faf1bba1c51d21120c124da5f8eb4be6e1f50f5d4f072e8f179f0b9cbe28d1900faf2f4c3275231d3d1912921f2684104288f788b1d7e302d4ea56cf87e754c5197341b3c12427fcf3bd75a64e865ffdaa09ffa22a5ffc7a8dab16dab8ff4776cefeb32ad51a4c725aa9629ed98a3fbc64f2e26b267f13d1f8cab76a6836b8e22245e65fec9c7f6d0d679be29c33149fbfde062d0ab69a2805ed13e0d965262fbf01c5c7ec7ce2963a734eb1d2c8bef5cf752e9a6fa3b8c6e4f31fb7f19590c6e91fa93273aee2e5dfd839fde21ae77fbbceeb6f987ce802c53ffcd0ce39670ef2edaf68fcafbfd7c89c6b305085935d8a42d6ce9537d5d8d00d17ce537cee5a1b3815f57526ea4886942e3f416f71af9bcbf91c6b079cbb8cd1707a037878907ca14cd99161a5d377c86338f462819233443416b102835dec7923ee7001ba8eaeb3ef88685f9c3e62292fc54c8258ae8c5eaa003b53bb1cde089133ef24912cd095f4904f570876b90e685f00a7374caa10249a8a1189dec3bd37cfa7505e463ee6a552c85326b03333cfe126188dec3c36e070ee3a1669a4a1390ed7ce324e6f082f0f522e5500e79e8585104208214e3063b2c7657b9f49b31deefba1c6376eb533bed51ad85ed90613db154c504cec50acdc6032b11d70c2d449d0df0f4d1a8c6b83710ee8ed077d009efea3c1ad5fd3b8d0abe81f805a1fb48db3b6f5f643f726ac9e8e76187f9235a3d8c62dd0361ee8548c6f859953150bdeaf483f6e70f6e970f254686956b48d87491d0ad699ccb94863c57fd8f9f60feb3cf4a4c905f31460d23e1ea64f067aacbaab3598721230517152bba2bcc9a45f87eecd563b8e68d002809340641f2945ba359ea43c3c867038ad1b6c8703bda243a5c2a1ce30aca33350ca52dc2d46a91c81e9987704007a9154c847aceca72b1127eadfbdcbc943283a8fee74825c29479a107ee701ecab1749a54b8d374ebce124f9d2537ce34c58ded5455eb7429c817291d26ee7abeb8771be0e27ce16ebef2184104208f15e30f6021765f5b06cee81c7961874af37d8da0b7d3a78dc8ae21b266b96d659f79649f0521b2fad34792d67b0f62de89c081bba61fd7a93d5eb4c3a27c0b4c98a7ffab69d160ddeed81ca566b807ccf762b80d8d66bf5f0d0026fae86a79e3679f94f26179fa3d85c81fc1283e75758537d9d3bd7cae1fae07c1b1de3e1c5574dfefbf706eff698ac5c6552ca1b94379a4c9800b35db0346fd2b70db6f559c7c384addbada06a4337bc9c3358b9c6e4e4298a2ddbacf61cd5bf4829b323356a38a7cfc7548a640ac3eeb4f50a7acb99047d2e9c6e17f4e4760c64df93038763841bf31db32f7b99daf328b1547167f053c992cc960ef384f6e4745bd30357b25122590fd1b077af019b3b1863a19e21164de10ced0cecf6bd6f85423abb73d20100a79f58ec0218b07a895c5e2f1d0359e29961c96ee50c89835c5d521f5ebc52a6c22cfcc7d334d642082184108761ec052e0638db159d13e173df34b8fcc33536944d2675c05f7dd1867b06f8aeaff1d1858abbefd2d8f82e04be58471f802b2eb271c1d98af343359a9ae0bb718d057315731656797ca9c982b98a931abfa24f9e08ad0eebb9a519980877ff6b9d3fbbb9c69ff914819b6d5c7e91e2fa689df22613671bcc3e5571ea4cc5d449f0853fb7f1db170dbefc1d838f5e6ae3d5b5261704aa04be5427f6258dfffa773b2ffdc9e4e64fd4983da3715c03a677c2f871e06886abbf6a8dc7f9dca76d98a689a3196baccd28d21bbff8efd13da21749c632b81ae336741d18b03639bc31ba16c2135d4986e29a523645251027ec01a73fca8d1d6bb93310249ece91cb26490cbf29c789dbdd41773645b650249fee229e2b43394fbe50065f94e83c587e8b177f384e321123144ce10e78b0fa63f6cde9849e629172294f7697e049271f76a13c310aba8eee389350c8bde3420cf4e448658b94f26912991254ca14f3397654e10a100dc0f2828790775888b29f7df57c8c703c3f2cc9ad4c2e5364ea8d517c4e6b4d96c899033c7db39f503c452a192318caec1817a40f5dffddfe6e437f8f1db516768ef329679394fc5d443dfbbb26420821841027863137c6c5e8b166142b3cdcc4e68a49bd06ee998a8f5c0a93a642fa0776fef88ac985e72b68563cb3d8ce2baf98dcfccd1a956d26fffa238d5fffa78d0bbd8af1e314dffb2b1b977f50b1f03c856a8173ceb0d3dc0cf7dd61a7d501fef3ac54346395c92d37d9b87a918d0be72bd80489db346e0e9ab826436b8b823a141eb163b7c3ac398adf3d60a7af1f4e3d59d13a1e664d553437c1593e6b6ae53f3d66a7fb1d98e356681a185b4c1efaa99d55af9a0c54e127dfb171ee021bce4eb8ef0e8d896d0a63e3e82de452cea54925d3ac05d6c68204338dc509f50aa5c213143cbfa4ec04bd9425992c00904866f14402443239f44884903f87d7e30467984c3a880bc0192095fb118462dcfec9100b6f4b110fb8b83339746407beae38d704beccb5be1c3726d344fd59f20527958a0e7888651fa7128e90b8f776be9cbb82db5269422e9d523641aa003da524a99c9ba0234f22b512d642229d2711f6e18ddec499c108fe68826cda37ec8c1db80301ce4c270885cb04e219ba1a018833d0c56d1704b9e35a3fc52f2548c682a48339d2c52e82fea1fd9d04a261ae2984191eb7ec735f5f05e8e1e9db2f6462621e0bbd2ea85470f892e4e2016bf489c34b3cf74bf450843b6fbf99dcbc9b88a792045d3ac54c9c641e06e8a22b932416f4e018fef74864f144dd56432a69a2913c2eca942a41d2e9b0f5f7c0b98f6b228410420871621869feaaa6871f7c6070d187af3ca88a962c59c20d37dc704065eb2b2681b16de48d26d86ca09c58fd4106d0073443bd07b4f1c0040515937a1f68a7026f41fbf9551efb919d8b3fa66050c17693fa964679a735f0de1c0435c13ab46d02d62fda2d403fd475acb561daadb2f5ad8df7e3b17a4186ca7458fb9b75d026615dc1016b3b13adf7e666306aa07536cea96a3deafda0cd81579698f8febccea6df6a38662bea25d04eb2ceb33ec0befbc16c6d6873371fd0753e9a4a090fb31301961513bbdcf48bd15024ee791fa9f06b14639e63dd1831c62c5ebc98cb2ebbec5837430821c47bdcd2a54b59307fde41eff7c2b2e5d88c41aebbf153d761dd51f7351ebdc35ef703fa98eb71418161025b76fbbc71435fef07fa1bbd124d60bc05b54178ea67764e9fa530de02b3b6737b7d107867582fc656eba93e14370d369eed7bd65dd7d935c54a41bdb13f36a8efdec6e1f18436c2761b18ebc03d43f1744a03acf6a25941d95019218410420821c4aec6e66db2690dd0d7daf6bfa4893100cd6db0e04a1bed13c01cdcad80099a1db466acde1bacf76af78aeba0b582d6c2ce712626680a3487b50fa3b0a2bd39081326c002bfc2d10ce6282f3479ac1cce045962ff2a805ed9fff81f218410428813d5980c5c94b266d85affba894d035507addd4acdd2265ac18536d14a03b34f832defc0ea670c9806da84c6a3c34abfd29aa1d203dbb682e66aa47f01b6366b7f6d52233099016f6d800d1b4cebb39646fad644d8de0395eda04d6fec33c1da6653601eec90141bd4ab502f43dd608cfe050e4e259f6a8c43c99248e50e6fa148b12bbd44361927b312d6a613a472727585104208f1de34f652c5005b07bcb90afef6ff1924621a13a6c2ab05932d5ba1b919ce395db1ec05939953151dd3e1cefb0c7c5e05ed266d75c5b63e936ddb61b0061778adae95eecd26c5b5e0b0c34b2b61ce2c6b11c8d5eb4ce69da9e8ef87ff9736b8e4038ac92783ea83956f983cfd3b9326057f7ebd8ddf2e31714f55d40d787ba389cfabb07108c1cb09c6e90b932c8649eebfa838580e3781488a622475ac5b2284104208714c8db9c04529305b6049dee08df526bffe9dc1b537683cbbcce0ad77acc025b3c460eee98a1756981875983e05fefd5706aee7a0bd4de19e01cd4df0fc2b30de01a7bb153f5e6c32732a385ae08d0d26e5cd8aba61d2da0ccfbe68326332cc980c4bf226939d907ec2e0fcb314eea98adf2e33b8eba706ae49b0ec15137dc05a0b46d3e0bc0faa3dc7b20821841042082146d5980b5c6c76786795c93807fccbdf6b2c5f61b271b5c1c2f31498d03f00afbe0ecdcd8ae9534c0c036a7585d703e35badd5ee17ccb531d969728a0b6b962f03a64d816b2fb3b165abb526cbe9b3148609cfbf62326592b528e4f8aa626287c9f3af9a9c7386a2b91966cd8096161bdd9bc1d16ca5ae2d3acfda571f60d4d75d11420821841042ec69cc052ef51ab48f53dcf811051d30678642d7614a27608261c0bc058af25ae8742aec4db0e16d9879baa2e72d686d81e61630ea0a9fd74ae3320c887ed68669c08ca98ab3cf688ccc1f0fae498ae93360a017b66c03d74cc5a6b7a1f36478672d1886c9d9ef53d0026faf559cd40e2ded60f663cd32d6c3fe6710104208218410421c96b13734dcb0d2c198803575b1dd5ad9de34acd7b666a0175c33c0de0ad860e62ca00f3a2641f33840593d37285076d09a000d94cd7a4f33d46ab0fd1d983ec73a66cb38709d02f4436727185b61ca5470b914d4c0d80ed3a6434b2b187d23cc4a36c27968ad753467156d4a156d6a1dcd5e1f9599c9c6a24a2688cb1522db583ebebcdbfb13834e319b20ec73e38b170f7adf522e4934e0c11dcac9ec6042082184100769cc052eca0628f8fdb3263d3d303800aad5fa7c5087817ec0010c426f0f3b52b5b66f039aade986b76d83011d1807b501e8ef6b4c3bacac3acc1af4e9d67bbd023406d7eb5b80166bfd16d3b41683ac0f5ab37f99a6f579bd6a15af1b564fce88bd2d75d04eaad1ddddca53ff7d0a0ffcdb747ef5c8046833d1a65551a6da71cc2347a7944b11f53b504ae189edfd46bb9209e0500ae58d90cc16389458c3e1f61308f87137169f74bafdf8fd3e5c07bd18a54e3997221670a194c2e18f92cc16ad1bfd4a9e743c845b2994f2124966281ce5c0c8e972522eac3d846be4c0e5f5e12aada42c518b10420821c4411b73a962ca5a9791c79f31f9c3cb26ed13c077b662d6c98a5f3c66307d8a62e316936a153a26405313343729b66c856dbd261d13a0a34d51d96ad23f009bb65883e8cf9c0d8383b07a9df5fe7da782a6298a6f989c320d263915cb5e33b9f8038ab317288c9efd3675af6ced355e2b76b0fcb59338f5f4adb41a75fef95f27f20ff7cfe39e6fbfccdcf9158c7293d58b74c4d2cc1cb8fd61e25d59528b1e6465b28b5c2c8ddfb97bb912a9ae271800e645ba88045c8776346f94546ad7f7e9f4a1b5dbe50fd3e5c8937ae21ebcb13891c05034e42314eba2947a90db9d51ba22410eadb587ca81cbe3c5eb82d2a1eced74e339ba0d164208218438618cb91e17b36ea5739d3b17366d3129be01abd64175105e5f6fb2fe2d93d206b069f0d64678bd042bd7980c0c983cf99c89b3030cd3da27bfdc1a78fffed314ef56a07b339c325dd1310156af87c79e31997bba42ef875756996cae98fca964a2c61d7a34a1948972d9f9fb7f6e65fd867739ffca4d7cfcda2d6417af63ba733b17dd7c0dcf3d33099bab8a3a1ad3283b9c78af59c8d49e07e9caecb906889e4f90715dc32cc071d0bd234790c301b48cd026c7b16de798ba484208218410ef1d632f7031c1d061d1f9363e7b8d0ddf3c085ca678b7c744a1387bbee2eb9fb6f1c98fd838c3ad085c6e63f64cc52f979a7ce13ac5872eb7317d32ccf728bef5158d8f5e6ac3374ff1219f8dab17d9b8cca7b87a918d6b1629bef649c5b97315575d61c3a6e0a53f81e73405faa14714a6698d8939f7ac6ddcfa7f5a786d693b6cd5a006bf482de323bed5dc70dbc758f35233b6e955a81ff991fd4e7f8ce83c783a9ea0b04b9a52856ca24820ea63d78e189d523a423018211a0ee0f5f889e52a804e399f221af4e00965c8c67c38959bc8234f928e05f1ba836475a052201d0f35de37f60978f084b31433117c4e8572fa8917462b676a6fedad904f3652cbdc61d245eb787a314dc4e32290c85b295f953cc9688470c88fd7edc11fcb52dedbb9e6b6368e592613f5e1520aa73744aa38ec5c46ac6f04a51401a7034f284e3a57de910e7740fb0a21841042bcc78cb95431b0c68e8c6f83d33a15a7cdb7418fc9f856c5ed7fa1689901f40035f8d095d64d7fab52fcedd76c9cf57e05dbe1ac798ab32e00fab0c6c01830a1032b2d6b283dcba64003068026b8f2521b979c6b326796c238cc7113c63a83e85f543973768d96c12a4655616c6bc23ea3ca8f6e7d96c0ad73f9ce4f3fc44fba1ec736ae8e3170a4e34737e1ae2be8ba36493c17231d688429a53449c2a43c6576c9ea2aa70985b3f8f245125ec847dc5c184d13298471389ce88595ac74a428846274dd94a13a790a2ebdc8f2b21b005d77e02c1758bed67aef7079701457b2b2942213889129464805e6737b34432417628fecb583b5d7f646f04552a4725916153c783d566f89c3edc1ed8b138bfa7052221549e14a2449b9402fc4f0cebf9290670d69ef9ee78ab38532504a27c94763a47e9e2711b9839b7de02ea5f13bf756dfdbe4c2c37b6b748ad92cceae3c85a8176bcbbef6951c3321841042bcb78dc9c045296b503c83c03613d380ce49801d6a6f3706f0036c02ea30f31498d9aa608b359db2b5df411c5087e9a7002d0a73cb3e06dd1f20a3ae61ebaf73e5759b61b39dda5685b29bd4dfb4d3717a953bbefc229fffc1b52c79ea0f5c71d366b4376c56bb8f1807ae4017e1a917724f578644208c0b9d42228d3b9ac5b5fb9af70e0fc150089fdb01e8389c4ea894a8e80ebc5e3f7e37a41c1122c100ce601080ca661743d5385c1efc01372d775ac776badd785dd0e18e100d5937e9c1c099dc9e2950665f81cb00f9ae10a15d46f857281401ef81b4177038f0c5c2cc9a9f24558812f73ad00b694ac1286e402f2488e7cb0452718a00950a9e8517a0972b38473cd72231c01dea221ef60041fcae0aee4529e2f90a3ed7deea2ba3e3de710ec55484ae4a94546c2868d9575bcae8b890243521841042bc978dc9c0c55a3572d09a794b81b23553af02d51a4a19409315dd188360837a2fd0a7011ad8cc3debd09a1b3968556b70ccee19724375f4eedcf5b05a6f33a9d715bcd964bd1fbaca1ab045b1e094e7b9ecc2ab797cc5c798f9e4cf98d25167f26c0d74a8f50e0bcc4693c3472c368f7b6ee92251081177e788178374f91c7b8e3477fa88a5bc14330962b9327ac94a13db5115e0703a76b991de63e887c3012dfab03d76dbec02741d5d1f7173430bbeae3469fff0022512ded9dc7230edf546889c7927896481aea4877cba42b0cbeac1d08b054ace10d158644758b15365c473dde35c7c417c2df7502a55d02bfbae0f60a0d04520ab13ce277709daf6dd162184104288f7b63137c6c55207db78d0dac1d60ab541eb611a601b67cd495c1b04fb146bae645b2b1875eb33a36a6daf0e5a65ed13ade9c4ea55689adc2857dd393ff25166f66a8c3f15ce9df94b7e7aff667e9c1ec7ef4b060ffdc260db76b077aa1d533c8f3677a88b2b5ad6928ce728a413e8e1109e910aea4552211fb1b29fae449ca87f8ca729edb7bd1e42d17974a713e44a39d28476ccaea6a33350ca52dc2d3db0725073165b1306389c8e03aaafc51321e62b714730467e58b9d1698b10420821c489690c062e26187554fb35a8ceafa13a3e816a3d07d57e316ac222709c856abf0c9add6077a13abf8eeab801da16a2da2f8271f350ed8b506de7a1daafc2d67e156afc075013ce43b50751132e45755c0af649d6146647998182c9cdac5c5160fbbb9bf09c3d9fab3e0cd366297e9a3678b7db409bc89159e7c515a02b3c959e074384926ea2c19103924a364a24eb211af61e17e94907d25e7730c6423d432c9ac219f2ed28e7747b99daf328b15471671f4d254b325b3a88069428e9f308f95c07569fc343389de28af29d04a3d91d6bc28c4a5b84104208214e50632f7031eba0b5010654df044c705e09ad5e50e350e33e082d1e68ea00aa98fa4b50ebc636de0fe3ce43359f01ade7437b008c7e4c3468bf14c65f02b616689d0713ae04ed24abf7e558e8ae11bca29d9bbe74354bfe3099d21fe0a2eb6c9c3307eefe57131ca3d817a4eb54f49d295bbe688c79f44028ca8e0c2c5d4707f4a172bace404f8e54b648299f26912941a54c319fa3a8d328bbc761ac890e466ec4c1af14af5780813d8e03fa9e9feda7bd00b8024403b0bce021e4dd19de387c51a2f360f92d5efce138c9448c5030853be0691c6dcf7305a814cb8d8043279f48a0871384ddfbaf6fa8bd0e578854ea1af47b43441ad3541fd0be4208218410ef51da489fdd78c375ff7bf669a71f54456fbcf10673e7ce3da0b2e6c6ef5be34f46a29435c8437f0dfa5e808157a15a82dee7606005cad431fb7e07832530b6c3c04a185c8d39b8da2adff702e805e87f11f4e550ef86bedf43ff4bd6b3be1cfaff08f54d8de8e0e8a78bd9faeb9c7c6a1dc3be88e75e3989d3a63ec3e9b30d669f01fffef038c6d59b39ed030398bd23c495aa05db94db0ee0283aa5dc43fc24fe037e9add84cbed668ec785a3d38dabb8818b6311ce9a00954286d40f7ec0bdcb37d3bdba826b8e9bb3fc3ec8ddcfddff783f797b806f7ec14ee6fedf5239f7662e2927f96ee2595e5f5da276968f733d9d50ca7257d75d2c7d7d039b2678b9f8dc394cd890267e7f8d50ec7aec4be274259e65655967e6b9e732b39ce507dfbd87dfafaca0cf3917bf77e6b09e129d72ee21923fb88b4757f6b261c3763a5d6ece9ad389bd9227938cf3dd0756d0f366894d4e176e8f07f71c37fa88ed8df0055f6763209703b76b03afb823442fee1c769d3ab938e8437f2547e6e18779b43881ab1229a2674131f35dba763b57079d9ce573517ae8bbc4531972d92c05f73749c5fd74eeb33e9d42c6ba0eaf57b6d379968f733d90bbfb617ef5e07f5172cdc17b968fabae1f69dfe3a1df4b1c2bafbefa2aa79e7aeab16e86104288f7b8356bd6307ddac10f2f78bbdc8d32ebfce2a1477e01d480ea088f1a501be9aebde9e1071f185cf4e12b0feaa04b962ce1861b6e38a0b2f51593c0d8dbb45f0aa837d2b81460ee18a46f0db837add74ab35e635a81ce50ef894d1bf6dad698226c58d5d0a8cfd618357f84578134145a93016d35ab7fab5783011b98551e782ecce3cb3fca87dd5fe5a69bdf0107fce3f7a6b0e6ad09dcf57fd760acb563eefe17b2b5a1cddd7c64db3c0af45c106700b2950c7eb9ef16e28859bc7831975d76d9b16e86104288f7b8a54b97b260febc83deef8565cbb119835c77e3a7ae03fab11634e9c39a366be8753fa08fbd54314cc006aac90a2c5413d89a76beb7353ec366052fca6ebdb635caedf25adbf97a471d43af358e78d002285b1dec365e787e26f73d702abd7d1ab4d7400347731f4a29366f9d045b815e38c7d3ce8ad249d4d799d89a8dfdd63f66e93a0eb70797042d420821841062148cc1c0657f8e7e6ad7e1b0cd80fb7e6927fee32a33dd032cfef53440835618675b4f6db09fee8a03b65be5a74fb151e975b266bd03c61ff9c06a54550aa4e229f215a854743cc1b04ceb2b841042082146c57118b81c67aae06c33a8566b2cfa44997736f5927dbc1566805d6dc5e96c67b07e123ddb003b68b65efaabe378f3dd76701c673d2e7a814ce2662ef406881522a4ba3cc7c5ac64420821841062ec1ba30b509e38ea65c5d597995c79491f6caa33d1e960e9b24904beb8929696265a9a0c066bcd6ceb858e26a8d7a1d9d1c1c060fdf80b2b5d6132e5f0b16e85104208218438011d6fb7c6c71fa530ab75ec2d83d00b0bdeafb1faed49b0069c6d750c43a7b7bf4acd009a411fb453abdba9d7078eb7ac382184104208218e18095c8e340586a1a80fd8a0ae387dc646fa063a28fd093a9d838c6b6da1b5753cb51a608777b754696a6ec36eb31d8db903841042082184382e48e072340d42db84415cd35c2c2fb9b0db06519a1dcda6b029600056bf7512edededb43457ad19ab8510420821841032c6e568326b1aaaa546675b0f6fbcdd89f77ddbe8ed1d6470a0c2b4c9507f1df22b3a99dc5e614a7bbfb5de8b104208218410c78117962d3fa2f54be0721499289482491d83bc536963634f954a4f2f4d831b699d03cf64e08d8d6773c1fbde64f674a0fff007b9e8a534d170947b9eee86a9f3b8a92b4532e2dd65a5fa42324a574ec749057c3112511fcee195540aa4bb62c48b61b2d9107bac89babfed4208218410e28477fdc78307bdcf438f640eb8acfca47fb4d960e6b466f45a3bef6c86bebe41263bb7831df2aba6a11c7399e15c45cbc9600c1ee69f472fd0154a5009c4f9f9cffe899b5c45eefdb29f50a6b2a348391d229074a1c7a07e000005e149444154134fa748a513f8322142a9d2b03acae47279729927585ed14738c67eb60b2184104208310a2470398a4c13d06062db20fa6013ba3193818141bc732a98eb605d6f9016db9b4c6f2f42ebe18fcdd78b395cf12ce9589850384a2a97e5a6a93d6493797400bd403cf628ae48080f006e821137b95817b9a118c4e1c21f0c13f2758c7c90fd6d174208218410621448e072b4297034d7a8d5157db5690cea9b3965620f4bffd8c93b7de77252f3f3f8175461f3e1ff691cde0851ffb0a42fa79790a70587d34a14d38b29326b3bf078762677393d5e5cdd59d2855d7b4f1cfb5949727fdb851042082184381c12b81c6d36a855b733506fe79dad33718d7f8e5e1d7eb7eeb3f46edfc69953fec0d405606cd746e160bb4713158a151781c61817bd54602d4edcae9de51c4e374eba29942a0821841042083156c8e0fca3480118d0db075563022bde6866b23dcb9a2db378b7fa41fa36ff1b377e6233f4a923b2848b5e4c937177916af4c2e8950ae0c0b54b7cd3e88d91f12a4208218410e21029ad69afdbcc7af590ea941e97a34a410d2adb60b03e91edefae60634f07f58ebfe4d5578b7c60fa93ccbd028c77ec8d2867349548c74b449361dc8d4f1c8e4600333c46d12be880c3e94408218410428843b1b7e0e450831690c0e5a8b2d9ea6053ac5859e1edf226b6f5bc8dbde3725e2d755059ff736efb5a3ff4d88e406f4b857c22811e4d101c3657b1c3e3652a154ac37a57f44a890a53f1ba65d08a10420821843874bb07298713b480042e47d7843a0395565697a7d3db5364edfa8d9ceaf1f3f863ffc9df7c660593cfb151dfa88d726f8b4e311527efeb22e275ecf84cd7c1e109119cda4da1b0733c4ba558a07b6a80b057021721841042087178868295c30d5a400297a3a7064c835fffbe8d652b4c56bdf607cef15ec8d267de24bc284bf08b60acb2c1688cc9df41a7980c132d78f054f264b359b29934f17098541970f888c5afa094ca5002a0442655e68a781cdf6e718bbe9f212ffbdb2e8410420821de9b46236801199c3fba0c85e6a8c244139a6c601ad087151eb6417d5d335d3f6ae5cd35cf70cebc79fc695d3bf3267f9f6ffe6d15deb2639836941abd44b1622280f796a719e0419eb873d88679ffc41ab7f5d21d4e93a94488860ab81c150865c88487e59351219f4991ccf540254522e5261af20f1bd0bfbfed4208218410421c3e095c468309361ba819830cbe053fff8946e1b53a33a7c2fb3d6d0c0ed41837c3ce77beb58d175f2e31beed2456af1fcfcd1fb99fbb7e58853e8dfa3685d24677748b279a438feeaf94135f344d665fdb8351d2c128e943da2e84104208214e749d93261df27eef6e7cfb80ca4aaad8e132149ab38e6aabf2c0bdf0d5c447f8cd86efd33ae75e9cf39ea2f3bcd5ccb97c23ef3f7f2bb7ffe38b5c74891f65d4f8d6175ee4aebb2b56d0b2591be514312184104208218e1effc24b78e891bdff143e92871ec9e05f78c90197971e97436582a601530679fd65c8153cbc3d782b915b3ec182b3c7ef5274f3e62d3cf7dc33acdf5062ddfa6d7cf0ecaddc76470bacb251ebd546bda745082184104288a3edfa8f07c93dfd0c9b366fde6fd9ce4993b8fee3c183aa7fa4f9ab9a1e7ef081c183aa45082184104208210ed175377eea63808e3542bcbff13cf4ba1f18182970b1032d584ba8b70e7b1e7aed686cdffb7298420821841042087160aac00056e0a2b33358d1873d0fec2d55cc040ca08e35916f156b14861ab6bd76a45a2e84104208218478cfa861052e03c02056ec51c38a450cacd863c4312e263b03971a56c05265d7a0a5be977d85104208218410e2600c75940c62052f43814b8d9d818bb9b7e063a8b7a5cec841cb50402384104208218410876328e6187a0cf5ba0cc523061c588fcb48414b15994a5908218410420871f886e28ea1c721f5b80c0f5a868f79b121818b104208218410e2f019ec1a6b0c7f3ea81e97a1d71abb062d23cd482684104208218410076328de181ec00c7fde678f8b39bc10569032d40333fc218410420821841087c3dced61b0673cb2d7e0431de0b3104208218410421c2e737fcfff1fb9a9940353272a700000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This is a complete Backbone application, though it doesn\u8217't yet do anything interesting.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Wiring in the interface\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now we\u8217'll add some functionality to the useless form at the top and the delete buttons on each book.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Adding models\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When the user clicks the add button we want to take the data in the form and use it to create a new model. In the LibraryView we need to add an event handler for the click event:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 events:\{\line
+ 'click #add':'addBook'\line
+\},\line
+\line
+addBook: function( e ) \{\line
+ e.preventDefault();\line
+\line
+ var formData = \{\};\line
+\line
+ $( '#addBook div' ).children( 'input' ).each( function( i, el ) \{\line
+ if( $( el ).val() != '' )\line
+ \{\line
+ formData[ el.id ] = $( el ).val();\line
+ \}\line
+ \});\line
+\line
+ this.collection.add( new app.Book( formData ) );\line
+\},\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We select all the input elements of the form that have a value and iterate over them using jQuery\u8217's each. Since we used the same names for ids in our form as the keys on our Book model we can simply store them directly in the formData object. We then create a new Book from the data and add it to the collection. We skip fields without a value so that the defaults will be applied.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone passes an event object as a parameter to the event-handling function. This is useful for us in this case since we don\u8217't want the form to actually submit and reload the page. Adding a call to {\f1 preventDefault} on the event in the {\f1 addBook} function takes care of this for us.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now we just need to make the view render again when a new model is added. To do this, we put\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 this.listenTo( this.collection, 'add', this.renderBook );\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 in the initialize function of LibraryView.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now you should be ready to take the application for a spin.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d494844520000032e000002660806000000bacfd41e0000000473424954080808087c0864880000001974455874536f66747761726500676e6f6d652d73637265656e73686f74ef03bf3e0000200049444154789cec9d779c54d5f9b89f5b676667fb2ebbb0f4a2880236441415151011633762418de597a6d1448d25d1c424c668d4249a6fd4d8881a8d2d6a8cb1574005c48e28bdd7ed3b3be596737e7fccccb2657677b6a0a0e7f97c0e333b73ce7b4fbbc379effb9ef78042a15028140a8542a15028140a8542a15028140a8542a15028140a8542a15028140a8542a15028140a8542f1f5a275f27967af0a8542a15028140a8542d1536467af668642daf011838594122925524884140c1a307087d654a15028140a8542a1507cf359bd762d9a069aa6a16b3a9aaeb16ae5ba5c924a8a0444ab570990497121adb4082118d87f000015fdfa666d67e93c9bd669a6ac4d3a5abb7ff4404edb2f7a2ea7f55759486c274bfb25bb56207bb399d66e816e9bdeb42ef7463b725affd94d495ac6b7ed7e928dacacee835e91d389ccce6fb7ace56a3d17d44c4ecf84b52fa21b3dd669912e8c66972edfc17dd0839ba237e464bc0f7ad3d62e9bfe69f951b765357fdb4d496de4b4f3658fe47451aeec4e6b3294e8969cb64264cf85a42491710e745f4ec66fb2979155918e33642fa763b9b2fdafba2051b6fea09b725a7fd03d411d0f517632dbcdd5c52fba2e2773a60eb367d94d9d4aebb29c763eed919cd619b2bc0fb264f5dab5a089f4ff5c41928a8a00fc56af82f62c2ecd9596a2a2420062f17817aba25028140a8542a15028142d49eb1700abd7ac41430708915454bc66af5aea55025a668b8b900cec3f80c2c202646f3d5e5128140a8542a15028148a148585050c6130abd7ac81a4c5c5030cc065bb9dbfc97d2ca3c54548f155d455a15028140a8542a1507ccb1149434988a4c2d25a6911a9bf335b5c060d184841417eb7ac2d522637f34b91f4b1ecaa0c29259aa635954bbeca547d93af9a96f6b7d79af26725474ad0b4e46620740c434f6e0ad2f576e528140a8542a15028148a1d4341413ec3860c61e3862d2192d696d64a8b41d2752ce3e67c0de896c221a440fa02d775f17c1fdf974d0a816168988681659aedeef0955226d513299152e0ba3ec2f7114220a4444f2919ba61605906687abab22d940e29d38d1059c831d10d03434f2a313baff222706209129ec4cc09113232d553e2392eae27d1030102c6575ec99d08d5173b0e811b77713c81110a11dce17d2bf15c0fd713c9b1d477f4f5140a8542a1507c0d0469a9b4f8b4dceb92d9e2d255a494085fe27a2e897882e3475430be7f31430af328cf0db1251263756d030b3654f3ccf28d0483014cd36c23839485c4733d128ec3902143e8dfbf829292528a8a0aa9a9a9a5aaaa920d1b36b27af56a02b68d699949cb0adb2d306849799ee79148385454543062c4700a8b8ac8cbcd251289505b5bc78a152b58bf7e3d01db06dbc230922bb09d4f7911388900430f3a82b18373d8f0f2b3cc8f58ad941789e76ae40dd893e1830a897cf22e5fc6ac9d6bc12e3d1a6a1a88fa26b945b984cd5eece716b2c304a4be73f7c52e8bc04dd8f41b3b9e3d07e5b16deecb7cd868ed40e52539afc37d774f8ee5670b5896b094f2a25028140ac5378f60ea35adb478a9a49352687a6c71494720731c973eb6ce4dc7ec4f456e00297c101eb2b18e7243a7bc4f9809e5f99cb27b3fae7c7b31db120e966d37c948bf3aae8b65594c9f3c99e2e2427c5fe0fb8248a4814020c0c0810319326430a3468de2cdb7de22e1b8d896d5c62dcc755d0c4367f2e4c99497972144524e3c1ec3b603f4ebd79701032aa8acac62ce9cb9c4130e41dbc630bbb30213c4ea2234ba02d1d46d1a866912c809120e183d8b222a3d1a9d411c7df6f1ec67d6f3ca5b4f31b7ce24d87cf1265d1ae2c3f8fe553f4ae6b9ee6d3e8918d8fa4ea284498f883390d36efc29338a57f2f0f57fe6d5860039d92a2fd2a7b1a681461f8c701ec539cdfab48dec3ff1dcb6dd77debee80ed2271e8d138d7b78a949a61906b61d201cb6e94d1db0e37a78449c411cff8333927dfbfef3ccaf3708f4a46f536d8b253c5c3fdd36133b10203744725effe2e2d458cee3b34603dbda85c752a15028140a452602b4545a5c924a4b5a7169dfe292ade222a4c0753dfa070cfe72f89e84a48b5bdbd06efe723bc89d47ecc58f5fff8cadbe8769262d2642483cdf27600738eaa8a918a646241249ee9369d2061c345d4343239c1be2e869d378e9a597f17c17d3b4d0f594c5c6f3310c83a38e9a8a1db0686c4cca41a6dbb55d4e5e7e2e471d75142fbef8128ee7626b1a86d195c7b982786398832eb98699a3fb909f7e14ec37b275d517cc7be1699ef9a09650d8ecbef2922924bf6c154f3f9b3c5f23d2f7f0f37767bf81163092f14383fcef039f50367d2d7d1a23459cf0a7db39a90c363efe0bae78b181bc9ca4ab605bd921feb3ad95889da82fba8c9fa0ce29e3a0138ee39889a3195e92bcaf63956bf86ce11bfcfb3fef53a95b5f8df2d2dbf32cd5b609c77f87e907efc5883e2134048d5b56f2d1bc9778fc854fa9efcdeb29140a8542a1d859b1482a2c26c97d2d2d941668e700caae200578aec37513466036569348c43a2ed0588f15cce1d7fbf6e7c2792b3153ee590881eb384c3aec10a4f48845bda68330d329bd0745d3343ccfc5b26c0e3e783cafbdf626a69edcf32284c0492438e2c8c3d1758845639dc8f1b02c8b430e99d024a74b8a8b94f8c2a2746039f901008f785c6007c3948dd89f132f1ecde0bf5ecd6d1f7be40534dcc646eae37eca32a361581639e1204173bb4b9f1b8fd318757145d27dce0a04336c0b4a5a79222e600628cc6f3d9492785d3d7174ac6080dc164fe5054e344e63dcc513a0e90681508870c84846d1963eb1488c982bf0d34ff753797243cdad47293931174fa6f2e484c80db6b53069864db0e64dfe363bc42185eb78e5830461dbc677e2441a1d1c3f197841372d72f3435d72056a237b518c9676b376fa420ae2d11831c7c76b7ad26f535018846807e394b19c454073897ba005c294e4996848bcc608353101668892429b2e7b380987066d34dfbff9c74c2a69d16a42a54338e0b051bcf8e4bb88a045a7e39a14d8791e297062dbf380866ee858811079a10e2b9bf57c68d1b69b7ecca4d2e65fe884cb473071c2a73cf1ec27b4ecb4d458a6ea9d979e8fed8e65084bebfa7cd74d8ba0ade125dce4dcd474ec5088bc1cb36d5f66db5e8542a15028143da247161729c1f35ca6f70d5326a3b8b5b5006c8d3a54c65cf62c0937e55d5a1325d732a8c80de0c71ae89b5bc8f47eb9bc5ae5601826aeefd1bf7f05c16090683406a988644288a627ac9a465314304dd3705d8f5028878afe156cdbb215dbb0f15d9fbe7dfb921b0ea7e4c01b6fbc85e77919db3075ea645cd76d92b375eb56cc8ce77276d009cd5879ef955cf55a35c2ecc3113fff1d3f1e13609fc38762cc5f42c2331972da35fce8b0c194e618409cad5fbcc753f73fc17b75062153128f68541c7e26b38e3d90517d02e0d6f2e58b7772c3bf5b5ed64d1470d42fffc4d9234de4dafff28bdf3cc7aaa66ff399f8933f7278693e9657c3976ffe9b3b1f59482418c0d404b188c588e91770e6f4fd195660e056af60de738ff1e0ebeb30c326894431937f780e5346f5a75f41000d70ab57f2ce7f1e66f65b5bb0734c3404b188cdeec79ec35947efc7e03c0da76a19739efe270fcddd46a0b585497ac4c4704e3c6b1afb99f5e81fbccfec75090a461fcf95671ec1de7d832013d4ae99cf3d373fc2123f809d5e21669c8bcd22d665907dcfbacefac2c277f21877daf94cdb6f0443cbc218407cfd6bdc70ddd398a75dc38f338e9386eee7b72db76111f3bcfd983c58233aef667e70f71a2cc3a3e8c49bb8e7b852583e9b1ffc663e7e5e57941749a231c0fe975e90545afcf5bc7cef83fce7fdb554bb36c5834632ba7413abb400163ed1860ec635d746a793b1cfb5d1a54f341a64d48c599c36755f86159a2013d46dd9c8976f3fcc9d2f6c6c672cba381f9ab7ad14602b6f3df020cf2e5a4b8d17a4cf90910cd7bea4ce36d09a6edd7ca65e7b17532d0dbf7e0def3dfb30f7beb6113bace324da19cb5f3dc62a2f97919dccf7237f308b29a306d0af30888ea461cd225e7daf9621871eccbe153910dbc2872f3cccdf9e5b81ccb1527dd995f62a140a8542a1e8291d282ed909703d9f497d42788df508cf05604bdce7b645ebb86c9f7eec599cc3d2da187ffc702317ed3788bec1641eafb19ec3fb8478614b0c5d37f13d41bf8a7ec462317cdf4fd541345949d26cb79624977f42082a2afab169e3262c099eef5351d197783c29275d74ead423dbc879e38db7715d174d4b5e6b40ff0a366ddcd435371499c97b46279057487128d9bdf59beb11ba862e5cbc9c524a2c87863a41b0204cd91e87f3c32b1dd65cf6149b1326fd4fb9961bbed33725dbc3b70a2970a378049a89cf63ef593fe5ec9126d4cde7cf7f7896f5ba9d0a149724a7341f37e143a0889153cee77aab964bee5f818fc1b059bfe4da29c54df5b78a8773f839d73022ff7aae7e76339e56c0e871c3a83001e990103681e2614c3af732b48d5772f72a41c0950c3deb1a7e31b504f088d4fbe496ecc6e40baea6287135b77ee8916b375bba65e8273f673c3ff9d974f6d0c0afdbca56274469b14d342620d86c0e66ea63d9ecf38c63d0595f2c23a19772d094bd196102b8243c8ba05e47bdeb51d0ee383dc16a2d43396d1defbd55cae4b30793336a1ffaeacbd9e417b2d7de4953c29a7796506f9ae47552d716089744de388edb3739f62b1eba9d07e635120edbe49a92c60d9f32779d4e2068e2466427e3ba1553ea9de63184c59e175ec75587e60382ba2d5bf08bcb29ee3b94f1634bb9f3b90db4d1eba5c469ece27c68d5b6d50fddc69d6fd4939b636211a36ac522b660103435e2cd9f39583e09df24903f9889b37e0a1bafe46fcb7c84dfde58daec7676e7f37dcc0123e89f9aefae669337781c270e4e16f17d3042e5ec7bd2c5fc60ed15dcfa9920e875b1bd0a8542a150287a4c07a685ce97571a1ac2f71918d4108d51a4481e5c39baac902bbe33893f3ef726270f29e4e9d5755c72cca18cd1ea110d350008e133201c42f87e7263bdf0c90d87719c44f2eaadb487d6e7b240b29cef7b847372904224f73b089f70388ce3382d64c462b11672d2f8be977af5c949c9e9c2d2b20dc32eb895c72f68f641dd3bdcfdf86af450085bd75873cf4ff9eedd16b90579848bc7f1d3df9dc6f092bdd8b3f009d678e339f7d8be80c367fff81d7f78711d713d407e8e8ea42825d066c8777ec211fb974062090ffcf601de7783e49a3eae9bbe6884377f73057f5de25131f50afe74deee141c329d310fdfc6a2d011cc9a520cc45878e7afb8eded3acaa75fcead67efc680634f62efffddcec2a685623daffcea0aee5e59c88cdfdcc4f78685d9ffb081e85fac24517028b3a696001bf9d795d7f3d41a9fb2295771c70523d86fc6fe14cc9f8363dbcd5cb65af7a9c42818409906b092fbafbb9197b77a6084c8cf0b62699d8d41fa7c9f4cb29bd35e5f2c6141f3765e7705772f75318221f2734d6adb1da727595597a99c8d511867cdd983195cbc0fe34a9fe4a986e18c1f08b089773eaac5b4d27bce9275761a2234b8db6baa59218af2b63fa997c2472f1d4a19005bf9f0f35acc50104393f8be4551fffee41a82f8b6b5ac2f38b49371fd0b1f743af67f6151f830ce38341f68e49ddb7ec15f16461938f3f7dc727c6953bddb203c127913bb341f5ab7edfd4fabb14241925e9a1aa66e267f9c5afc0ea4fa7b4521c7fcf626ce1b96c3be870c445fbc1261b4cad3342687724917e7fbdf378fe5e777fc980302b0fcee9f71cddb2653afbf990b47d8ec356100c6a2e5240abb3aff150a8542a150f4949e6dce4f6d86cf916e93c201206ab73132cfe594f163983df723ce3a782c7b896abcfaeaed65358da0709b2c2a2215c638edd2a5691aefbc33bfdd4b1f7cf0814d650341032165f2949a9462e2a656f16925a5797b9abf4f5a65927f070229395d31b9b4ce5bb78935b51e464e3103fa84a1e0602eb9783997dd328f062d8f31675cca0fa68f20af45219b1c1bccf27d18a201894f79facd8d9805b9146bb249214c1264b7fd07022e1ffffdefbc5469921f6a5d0d81eb490261836defbfcb9af376679851c6f0129d8f0a47331020f619ff5b504d30cf62f3dcd7597ef66e8cb40631badc60c186e6b2346cad8e2fbfac816145844b72317c1f2ac63008800a66de7437339b1729ea4fa12ed82c24faf6ad3badd0f0372f6261d554a6950ce3c2bffc85a9f3dfe0d9a75f60fe369f5cbb994355a7ae6219beeeb42f0ce66f69599f405e98b0217162414677304e2d2f972e2788577fc06bab6772de90320e1e57ca4beb0e64371dd8f41ef32bc10aa737954bdc8860b7cbeee59a7db62f6ddd45b772de9f5710cc359ace3302bd59f4b4645f48e113750771fe35577050103effd345dc98e87c5c3fcecd224fde282a00e29ff3eaa78d04b3d86c247d0fbd8bf321e3d065da749f61ded8faf6f998531cc61012cf68992790172647c48857747dbe1bb1357cb6050e180481b085a1d5b17c590d8c282258908321ba31ff150a8542a150f4981eb98ae932e9b6d5104b10f093873da6f962ed46fefd451d671c349667deff9c21230b185560377dafe93a91583ce9f6a527e5c4a271a44cfa3b699acee1871fd6b4af657bbd928b9b582c8690492b4b2c9a94432a6f3c9e40d3529bbdf5ed8a4ba6f359841008917c7a9f482452569dcedbdea2af9abd5ff9c42d5cfd7a2d4849ce3e1772fb95079137661a93facce1857eb3b864fa086c7f1daffdeb5596240670dcf7a632484b854ad0b5d46661d1cc05aa6d7d628d100a5bec7dde2c267e79170b128196a191b777169856eaa9af4cb53345ea9a59355593784eca0f4dd3937d9bae2b55cc7f71215b9ab9f38886653418069af088c65c8461130ab4156b68ab78f09adfb3e6c4e3386eca68861c38834b0edc9f677e713d4f6cd5c869764e4d9bf5ac6ce94ad6291df545b38b08378136e6c28ec7294339898e65d6b0e0d5157cef82e10c38742207ad1f890d6c9cf33e5b7593703337b18eaadcd42ecd4054afa19289e452c67e7b15f2e4eb11ec600785b319d70ef3684d87ba668cde95b1dbb29c0f2ddaa623aad75103e453c67e7b15f1e46bf55841035d4b5a647da163650cd82ef19bcfc74ccd48dd3bd9b5b975590fc74b8bd78156d7cb76fe376faf42a15028148a1ed3c1e354d979d224ba6eb0ac218e44207c17e1bb2cad8d71db925a2e9e7c00dfe96b71c5d107f1e72f6af9bc26da94474ac18a48023d15554cd7756a6a6af17d81e779f8be47341a25168b118bc588c7e34defa3d1467cdfc3f73c7c5f505b5b979293dcb85f5757df24c7f37c920bd5edfb65d29bfe21193ad94bc9a9abab474f2d54ba965af59c94086c0a4af2499d54839006f9fdcb927faf7d83279e9fc35b733e624393a14ac3dbb2944d00c131cc98d007a73e424d5d1cb7c563db7adef9eb6dfc773310de8f8b7e368d32378197618599885aec76d4910c0688af614995c0dbf829eb0082a3997e4031890641df43263302c05bc7e2ad5e169b8a75fc745dc925b4e53d9e7ae4311e7cf8711efdcfebbcf4fae74474891b1acd293fbe981f1dbb3b96e3b7553ef410b96215affce3562ebee07a1edf04d09783f62f05572417c4edf4b18847a9a98d24537d02d12647e77dd176f24b84af77324e99e58344b70cea16bcc4472ed07f06df3b3004ace39577b661d81acddb62853596de7a01a7ccfc5e533afdcfcb098475b4743eddc0acfd8097be4cb66ed8ac8b39677c19c4e238b2e528b99d8eab9fc5d8fb785b97b10520349ae907f64112a64f7173ad3359375f00e4d0a72480ef67311f4c03bdf978ea3a46ed27bcb53a2975d8d99770e16143c8d3c1f12dc2e5a318bf7709c2e97864b7d7a9ed679aa1e3f7ca7c6f4d37daab924a2aa9a4924a2a7590b2a36751c584c0b62ce65435b2571f902937af9c500e3f99b207a39cadb8dbaa189e57c8e5d32610d8ba0ae94593850d9b372a3d6c2b071d1dd334a9acdc46381cc2f77d344da0eb02c3d09b36e4a7950edf17294b89c0344db66edd8a659819e524cf7681f7de5b98b10d9ee722846c92639a56d75cc55a75f6b0f36ee081d325563844dabee47ff93af3b6b9d42d5f4d847ee40e3d9b5b6e39940dd110439a3f3ddf368f27161cc34fc7e7b0fff76fe4910b5d7cdd425f7a2f17deb4fd340bd1b894476efb37a36f3e8921c34ee692191f73cd735bd8ee509fcfd45ffd85436490647c00c9aa679fe573cf22503b9f7fbe7e2cd71e59c8013fba99477f48931961d30b4ff37142476fb5a26fdb1d3a66e55c1e7d671a571c9cc7d8737ecd3fcef170a589a5392cb8f1526efb5c32e4a4333861421150cefaf7aee3e9aa96fda6f53d9e9b7e7b04e1fa2a2aa306657d017cb66e8c20f4e48565863eaef8ee0dfcebbbcd3e703ee2864b5fcf3c3cedf68581d6ba9d48344350d3d938d1b65cb28f7402b1c53c33b7817d8fc8c300e4d2d779b74ac3ca696bbd307372286c234cb668ad1da867ce5d0f73e0efcf669fd040a65ff46ba65f94a10ed59d8dab891def3c8f9598cb531f1ec3c5fbe630fe8737f2d00fdb5e4bf7ab58b60d0ee86fb2cf253770e94d5773fb671dcf873f2d17845b1c34a361db35bc72d7531cf4bb93d9cdac60f2055732b9f9feb0d8fbfcfee2bbf8c46f79fd6c6e4f89446a067637e67be7743effdbb657a15028140a454f69f7bfecb42b4e47c9f325966df146bdc1da44d2bd4bfa1e15b6cfc8e846bcea2dc9c3016b2b19deb09601b640fa1e9aaeb32822792b62609a1668609a36d5d535441aa30821705d17c775701c37959abd771d5c37b93fa6baa696da9a9a76e538aec73efbeccdf8f1e39830e100264c18cf840907307efc38c68ddb0fc7f51042d0188d52555985659b59b57d7bd2d070a8d9da905c70ea41c2e110361ef59b9733efe93bb9fca637a90f04d0963ec21f1e5ec0aa3a9fdc8aa18c1cd19740a29e8d5f2c666d5cc30ac459f4b7ebb9f5d98f585bef836e61c8181babb436e79a884d2f71c71349e7fc41a79cc3914512642d9f2d5acd9606178ce4423db6e50b5eb9f7775cffdfadd8010323e8f1e5ecdf72e3531fb2b64182067edd1ae63d7233d73eb11ec3d6b3d07b35cc60828feebe9e1b9f7c9f95352e6062693e912dabd82c4c0c5db0ed8345ac7521bee27d3ea96e2d55c3d4a3acdf1ac3cc2fa15fdf42a85fcfc2a76ee7af0ba3044dad653f77388bdb4e63adb3beb0b5b6322560589d8c530677b16673c108b82cfbef2b2447c661d1738ba8b30cb42ecda96649b308d4cfe1e69fddccecd716b3beae994f52a28e0d5fbccbc2cd3e5667e31a3030b3c863d931defbcbf5dcf2e43b7cbc6c0d2bbff8940fd725af293d17818e6d55f1f25f1f66ceea067c1caaeb5d74bb93f990a16de826e69617b9feb2db7974ce523635fa4d1d1aab5ccda2b797d06866331f33cc8ff478f4ca7c6f4d16f3bfbbe3ad924a2aa9a4924adfc294fdffc06db10e9978a063db5656020cc344f88242b781ebcb1bc9976e5358e44ce8a645bd6671e5e63ce281309695bc8e1012d771f08560f8f0214d1696e68745b6384452d711be64c58ae518a6896d05d075ad498e909261c386a2e924238e359393bc9e404ad0740da4c6ca952b491eb4a775ad07019038d10431af65394dd7312d93806d90dcae21f11d9758c2c74f67d53474dd2018b2b0525606d7714938dbf3e8964d3808b106070f0d3b1c2464809f481049084027941bc0d60589988be309d25b38345dc7b22d8276f3bd00122fe1124f5f434be609055279a44f639b6bc58924241836f9e1f4017bade4a4ae6707eda4e2e1b934463d84616049815f3a859b6f3f83c154f2f495d7f0e456899ff052871ca6eb61120c1819346a413c922091d173c8209c6b908834af73167d91a19de9fee9709cb44ce5245edca1d185c203becf9f7f369edc9ad7f9c5cf1e61836963f4f4e1bb1424122e8ebbbd3da4ce34b243764ab1ed645ce93c8f1460e6e5e26eaba4c193687605c75ef73bce19a151fdc2f55cfce82602411d7c8f58dcc3f521100e123432c8a6e57c68bf693e4ec26b33568669100c981864311fdb1dcb2cfaa54d5989d31827e6831e089217d0ba35ff150a8542a1506487e3b8cc9d37ff6420064453a9b1d9fb18106f5771492b14d960d936ae9b20e0c4b930bf9efd030910a9685d52425a61d00d162502dc539f4fc20e1108247de7d3ae59422437c8fb5ef22c969c9c9c2645254d5af98846a36cdab419c3d00904832d36de0b217112097c5f5051d19750289492d15cb1d052e1947dd6afdf801002cbb2526e6a6ad1d17b08124e5f4ebefe32660cc94b9e46d330975f5f329b957aea04fb5d1e891b37d9fbf29bf8c9ee1676c8021c3efcbfabf8e3c218416b5769a4c4898739ec37b7f0ff86fac42271f4dc70ea04a1753c7af96ff96f8dd9c6faa75028140a8542d1135c373bc5a567e190533889048140005733b8b5d660bc15615228c670d3254f1734089d159ec55bb1100bdc5c7242410296d5a4476824ad29baa625e5e80eebd76f20373797dcbc30c16030e9862605f1789c4843238d8d11027610cbb6927190244d56195dd3b003015cd761ddbaf51414e413ce0d271525a98126711c87c648237575f5d8011bdbb2707dbf1bd616458748896fe6515e94545a621b3fe0e9bf3fce526112d03344adda2591083d97524b269516671b8b9ebe97bfbe17c10e185dba97be5e24181672e36a2acb06509a1b0612542eff90171ffd172f6cd3b1ad6fca9829140a8542a1d8d568d7e2629a5d3f3acdb44c74ddc4735d5cd745081f2124ba9e74b3b12c0bcbb2dab568a417785226ddbb1ccfc5773dfc94f546d3340cddc0b04c6cd342d375d2a25a874c6e92237d1cd7c34bed659152a0693abaae639a06966d217c812f924a8bb2b6ec00a4201675f164ca95266062f7d8776a6743e2c41c123e8086699baddcf37615246edc25e16f57503443c7b6bf8963a65028140a856267c0f3fc9e5a5cba7e51d7f1d0341fc330098542a93354b25fec34594c740da9e904f400d24ac7e6924db292ee62b4d807d39e1c210c02b641c0b29a1cc5925e63025f80eb34df8fd3f5335c14d9a013cc697990cb37af9f35ac6080160e96926e6cfcfebad1300376c67083dfbc315328140a8542b12bd12bae62adcb09e1e0b6bf3f5fa15028140a8542a15028ba44bb8acbaef8ac58a15028140a8542a1507c33e95557318542a15028140a8542a1d811f4baab9842a15028140a8542a150f436ed2a2e5d89ae953e6b2519b54b854b557cb3480782d075bdc521a60a8542a1502814bb3ac9731705971c3790e9470e2558b12746f1be80d741299d64d0ac38f851908de03b481712956bf978c1c7fceac1a544e2125deffc37f4e064000020004944415400b86c0d263db6b80821f07d1fd7f3f03c0fe10b84d25c14df20744d4337744cd3c4324d0cc3c8ea265428140a8542a1d8999152e2fb82ef1d59ce8c29bb61170430823510a802a7087c0f74d1ac840168e0d580ac04671b325685860f054568a6859dabb1f73e03b93ce272fd23cb11a26b06918ee860737ee70821f03c8f44c2e1b0c32631ede8e98c3fe0007272c2bd5239856267a0b131c23befbec37ffffb1cef2f5c482060639aa6525e140a8542a150ecb2a4bda5c60f0f71c6b1c3d01a5742a3c5e277eb599f98c3b49933c11c0cbe4632689701d201770d886d88ca15386bd6a05b25441c8b975efd1f279f36167bf8182c3fc4c4f1159cb2b28e7fcddb8661e8bda2bc643a65d2183468c0b5d934d6f77d1cc765d6acb3b9faea6b183278089665a5ac352aa9f4cd489665316cd830a64d3b9aaaaa2a962c5982aeeb4dae630a8542a1502814bb1a524a6c4372ed99bb5112aac43087618dbf991ffdee59aebdf959dc4d2b39f2e80a1026481fbc2de02c055189bf7539ceb2f5d8fb5e8b35fa073cbd30c69997ddc1bbefaee0a4093904fb0d04e933a28fc5bc4fb6511f139dae99d6aedbf03849ff343743f200afdb16172104aeeb71e86187f1c31ffea8699f8bdad4aff8a622a5e4e28b7fc2da756bf9f4934fd0751dc3c8a4fb2b140a8542a150ecbc4829115272e8a85c860e0d206beab00fbe0602f984f30a11c00db33f64cae49738fcb883908d69dd4103297057ae2530f1cfe8252301483ba1bcf6590337dcf83637de3b142327485e698863c715f3b717b7f4ca3ee16ef9baa4fde1128ec3b4a3a623254a69517c2bd0348dc9474e25e138f8be50735ea15028140ac52e8794128460ea7ec518a20eb37834040a01b8f9e69b3872f214f6d87d046e5503f809f06349ab8b2610d5ebd08ac634292d00df3df5542ebae82246ecb60779fd46c3c6d5e896861932397cff62f283f4ca9aa95b16172104aee772c821873269d2614894d2a2f8e6a3691aa6693265ca645e7ce905962c598c61b4b4ba78e92015a2fbf783a6691886816599ca154da15028140a45af23a5a44f9ec1e8ddf3c0af412fdbbbe9bbf2f2725e7bf515dc7823e6c2f3910d75a007521bf50d44a4062dbc4f0b79baae73c71d7790707c028d2b482cba0cbb3c8e6e43499f007b0e0c307fb983a6c91ead6dbaacb8a4ad2dbee773ca49a7a0693a528a8c793f5ff205beefb72bcbf77d0cc3a0a4b898be7dcbd56667c54e8faeeb5896c571c77e874f3ff904df142df6bab8aec7b871e3c8c9c9e9f63562b118555555ac5ebd1a2315cd4ca15028140a85a237487b49eddecf261836d11cf0372f00cd023b1fa4c408956009492216c7164eca172c69a54103d95849f2fc93664a880601db40d6b9200548074d971896ce1e1541de5b16a79bce5e4d744b71f17c8fd163c672f0c483111db88845a351c68f1fdfaeacd75f7f9d891327b262c50a2aabaa183e6c28e1f0571491cc8fb06ee90602c377a7cc6eaef94912f575f8e1427276f9ed0bdfa4b6ec1ca4ad21874d9ac4a3ff7a9475ebd7629a4693e292f6df8cc7e3ddbe866118f4eddb97c2c2423efee4633cdfc7547b69140a8542a150f412524afa1619e8ba8f51da07d9b80259b90ce927d7f4c21348017abe059a0ec249c52cf2d0fbf4432c5d40e2cdf39142806cbe8ed690b15a8c3c1d0d09b868a6a4a2d86cd2197a6271e9b2da2384c0733d4e3ffdf4a4a2d5818b98ef7b2d36edb74e0d0df5141515316ad428f2f2f258b67c05b158acdb8de90ab2e143eeb9f9413e6968597f593b971b2ef923efd466b622ed48fc2d2ff1abef5fcb7f367674e04ff632beceb67c93310c03c33039e1c413f15c0f21b6f7afa66b54d754f7487e3accb86ddbecb9e75e785ef7e78342a15028140a456ba494589606f818a10066df0198fd07610d1a9c4cc3861218310cb3ff00101e0817a407c2413774ec3d8662563858150e56ff04f60027951204760b630dea8f7413203d34e9130a6a5ffd1e97a4b5c547d334261d763874b2b7c5f3fd168bbad63434d403100e8719387020b1588c65cb573076cce8b699e35f70cf5537f2c6b6a4eb991eeecba8892770eee913e96f7f33f601e879bb31710a0c29c8e2e97aec636ebee85ecaaeb9957387db9965b83bb0b2df2034ad6b3753d2eaa273f8a4c3b9edd65bf0522e8f9aa6611a06555555941497f4b85e4208c2393994979753b9ad12cb522e630a8542a150287a869432693c9122a958080744065b8668e108d60c1f341d2394db3243da922240fa5eca5d4c00e9f73daf7b9756424224f7b61c3c7122baa127cd431de07b5e878a4b6e6e2ef7defb772ccbc2b6030402016cdbce9c5926a869c8e7c8ab7fc3cc811e552bdfe5d1bfddc52da141dcfcdd41585d69c84e8a96338ca34e1dd66b32646d6fd4ea9b8debbabcf9e69b1c75d4514dca8ba6692c5cb890030e38a05d85c6300c02810063f7de9bcf172f469822658931a8abadc3f33d4ca3e78a861082fefd07b079d366a5b828140a8542a1e83d7cc0f7701271e2d51e9a26b1c316866960181a9a9974f64aeb26528286968caaeaa73ca8dce6eb2489eb098480dc8220c93d31209d388d0d895ea972971517d7f538f79cef75e82296c6f33b565ca64f9fd1e6b33973dfee40a24e301c26b7c02677dfa339f59057b87ee916120cc2f22b79f3b65f71df4775f85a1e23a69ecfa5678da3d890c4d7bdc1ecbb1ee7edd511b4fcb17cefd7973139b05daa8c7ec13f7f751b5f1c7c0dbf3c02f036f0dfdfff9807363760948c66c6f93fe494bd0b3090c4d7bcc67d773dc1bcb58d04fbedcf09175ec87746e642e362fef187bb787b550d7109c18a039979f1854c1d144443125df932f7ddfb0c0bd63410183c89732e399743cb5baa5bb2760ebffae98b1c76cb6f991c5ecb0b77fe95c7dfdf8ca3e531f67bbfe18ac97d329e18daae0ca3fdb6e8d12ff9d76d77f1ea926dc408b2e7057fe0eac3604e863e2c4ab4cefb0b8e78ef061e1bf80b6e396b28360e2b1fba821b2bcfe32f3fdd9bee6f4bff6ad1348d37df7a8b7f3cf810ebd6afe7fcf3ce03e0befbefe7d5575ee5673ffb29e3c68dcb583679868bc9e9a79fc155575e896d5b4dd1c5745da3a6ba863e7dfaf44a3d2dd3a4acac8c9a9a6ab5515fa15028140a458fd0340d0dd854ed80f0d9bcbe8e651fd6b2f4836ade7b79638fe59ffffdbd38ecd2dd91111704387511365539ed996fba44d6aba07434b1504e88d1a34777b8293f8def795df667f3b3f4e7f76a9630efe308e587f423006014b0cfe9d7f0a71f14c0ba17b9f5a607f8f74163397fd04afe79d343ac3af007fcfed21104220d044b0c88a4dae56de3ed3b6fe7dd41e7f1dbe386106858075a90c1d32ee6f27d0ba97d77367fbafd6e06dc7a390707bee4e13ffe9375075dc44d9755503be75efe74ebbdf4bbe512c6896a56ae0b30fdda3f31b928c2674fdecabd7f7f8b7dae9f469fc4621ebce571b64dfe29b75c9ecfd2476fe2bebbe7b1e72f0fa724e32e2349c3070ff3c49a7db9fcaf273342afa54a2bea5469c9487b6d612b4b961b1cf5cb3f73745f9f44a018c3f033f76159ebbc2598da00ea9fff84ca9943a9d06a59fa7923fd8f194ca83b75fc9a905232eda869c46271fef3ecb34d51edde99f70ea7cd9cc9f8f1e3db55bc93a1910df61ebb3776c0c6f705a629536e6426555555bda6b80821a8a8a860dbb6ad4a715128140a8542d10b682cdfec9068f428ed63111913265866f1c9dcad680941be6e24cf69647b22fd5e0381c46ff6de93e02090ae2460029a07783835519cea46966e8ca3f582e692f5e6fcf486e169471d9dac7c561697e41e97ae24af83f0c97855fcef57dfe79c73cee2ec8bfec88bb1fd39e9f07e2937318bc201fd29cdcba574e4248ee81f677d659cf88a5798ef1fc839a71ec8903e25f41b3a84a2f4da4f36b2f8919b79b87e1a975f7820c569cdc02861ccfe7b30a04f05a3a79fc194bc2f78e38b08f195afb2c01bcfd927efcfc0d27e8c39761653723ee5a5cf1b927da205282a2da1b86c28138e9e40e196c56c7620b1e275de17073073c668ca8b0731e13b93285abb90351d049ed28339e88deb595be96015f4a57f7e3717acedb4255ddf92b2620a8aca29cbd1dbedc3b6794d0ac71ccee0eaf97c58e523a3abf9b0b28cf1bbe7f58632fd952284cf89271ccf89279ec882f90b58307f01279e7822279d784287d642485b5d0c0e9e7070eaec96647ec3d06968a8271a8df65a3d83c12079f9f9f8be0ab4a05028140a85a267e8bac6da6a9f2f97d561ba2efdfad8e808fae70629b22d0cdbc00c18040206a180415ed0a428685112b2280f585404020c0c06e86bdb945a16e5b645a965110e9ae40f0b42228e53554f6c4b3db188cfe24d7e53e4d59e90f56a38adb89c74d28959292d908c2ad6d9e22f539976318b38f227d771ca2003a761139ffcef3eeefceda3f4b9e92c868bb5bcf6c03dfc7bc12a6a5d0b537a0c1192444d3589dc7d28ccd452af920fde87c2c94328696f83bf5948453e7c541323e65593c86b26cb2ca47fbee0c3ca28add52d235448c05f832b2589ba6aa20dcbf9ddf973b767d07623e248c8c9745d8ddcbdcfe7a73366f38f1b7fccd3fd2771e6f767316940a0678a41b3b6641a1519cfdc8799465b2fda9b29431fe1bf0bb63269e802d6168e6356c9ae19b2570841c249349dbd92701259cd5b5d4f9eb1f29de38fe3cdb7de4008d1e42e669a269b366f62f8b0e1bd56c7f2f27256ae588161b4b30f4ca15028140a85a213d20a8444e7e50f1b19512a080f08515161925b6c13a975c8330c72d0313530350d1d0da4c417025dd3909a46a3f011be8b0b084017505818a0b09f86b3ae86446d023f2e78678547651402bd104c2b2bc525e926e6939b9bc7c8917b2044e76e62408ba7d0d9d271e8579d607e01854536141573f8719378e1eaf9aca87329fce45e1e5a3a92cb6ebd8e3105b5bc7add55cc01ecfc02ac864dd47a50d1bab5d660665e3699c577dcce6de5d773cd8c016d37f97b35acabd52828c92194538cddb071bb2caf960d751a05a5396dddb8f4b4414cc3ce2f24a7680a57dd762e23b25d731a058c3ee1126e3e6633efdc7f0377ddd19791bf3f967e3dd10d9ab5a5ada94d50352f731f66442f64df197bf1cf875e66eeda65e48c3f9ef25dd08b49d3341e983d9b05f31770fcf1c703f0ecb3cf525f5fcff7ce3db7c3799e3ed365cf517b120c86f07d1fd334536e64265595550c1c30b0fd80135da4b0b008217a21248742a15028148a6f35e908a9af7e9ee0b40382e85623e56516030706a95d11a55c37d1d8ee22e64b89a1698c282fa75f69299ba38d7c52b995617dca280a0448d4d7b364d3368a869884ed046e44225c891787a73e8861e8069aa6f7d8e29295ab58d2dae233ede8949b5896f1ccfc6eb88af91db98a2188471aa8afad62f3aa0f79f1b197d994bb1b43f30d90122941f80e8eb75d590a0e3f927d798f7f3cf62eabb6d550b961351ba3dbbfb7fb4de2c73f3b92ba276ee7df2b526e513241f5b66a6aabd6b2e089fb78253e96a97be4121c3e85f1c6021e7c6a11eb2b37f3d9f30ff16a740c47edd9b18b5470d811ece3cde5c16716b1a6b2969aad6b59b9298a04fcad6f73f72d0f30bfba65bbddaaa52cdd50475ce45031a010dd69c469a303fac4eaaaa9aaaa4aa6ea7a9cd643d34e5b32d6b79d3ecc8c46ee5ec732d17b8507dfb539f8a0bebb5c64374dd378eeb9e7983b672e3366cce09863a673cc31d39931630673e7cce5cdb7deeaf406330c03d3349978c8443caf65f86fd334d9b8b1e79bdcd2e89a4671717127f78842a15028140a45c7689a86aeeb34247466cf8be245257ebdcb84e372e9536ce3ba124172c5efa71ee21e38620487cf9ac56e279ec86ea34632f3bc0b38eddcf338faa0894c1b399af17b0c66fcb43c4c04be23f0a33ecf7f9460e9168161e8e8fa576071496fca775d97b3ce9ad5b4b8cd86cea28ab55726235a80c2dc5a5effc325bc0e60e63360cf83f8c155a7b25b4087836671e20777f2a74b5fc4058c9c0a26e61968e1317cefe7a773ff3db3f9c5cb8d1018c831d75ccf99a54d82c9d9fd647e3cf57d7e73d77f39e89a510c1b10e3f9df5eca334078c0819cf6f3f31897afa1b107b37e7e26f7dd75373fff5f9440bffd39f1f20b39205f830e420f6bb96339ef8a53b8efde7bb8fad9086879ec71ea355c7d7c0e32b29ea54b96d1a75140d847a0a32168f8f245fe7ad7022a7d308a4632edbca318d05a33f0ea9973ebe5cdac22bbf1a33f1cb1fd7babb8ddb6b4adaf4e497b7dd85ec3ec214c3d6a00afbd7b3887f4dbd5d496e4dc9e32650ac5c5251c7ae8214d0ac171c77d878183063276ccd84e2d8b69abcbcc9967f0ea2baf60db36ba9e7ca2605926db2ab7515c5c4c7e7e7eafd4b7b44f293535354d2e690a8542a15028145d25adb818a6c1f39f24d8ab9fceb4310645653a479e53c2bb0fd410abf7316d0d5f08762f2f678f8103f1ebebf182414a860cc7aeae25f1d96262b58dac4c34503c21c6c8d141fca88f17112cdb00f7cf8d619a16ba6ef4d8da0299039359874c3cd049ff2184209e48909757c0ff9eff5fca4d2c3b65e4917ffd93a3a7b50d79dc112fbef43c67cc3cb34b65767d246e2c42e5a27bb8ee1f2617dffe13c6eed4e1b97ce2511711f99c276ffd0775a7fd8e8bf6dbf536e6a7d1750321fc569fe9592bdd9ee7118d4639f5bba79248c40806024d11ca3cdf470ac9a851a308857a6150358d850b16100c063acfab5028140a8542d10e524a8410388e8ba5b9fc729acd843d4c826506756b3c3e79bc8175cbe33871c9e4d17bd2b7b48484e7e2e91a5e224ed4f5894b891b8a933fa181fe630157c36d10acdf0a57fd3bc69688d1746444678acbdc79f34f06624034951a9bbd8f01f10e2d2e696b8be77acc9c39b34b6e62905ab475311c728751c5bea9886ae6fce152ee5ddd87f1675fcea89d5a69019cb53cf5cb6b797e6b11a34ffc113fd977d7555a80364a4bf2b3ec2d85baae635916c7ce3896c71e7b14dfb49a36be998681273d162f5ecc800103282a2a2210e8bed2118fc5ba5d56a15028140a85224ddaea6259268e23f9ed8b712ef7431cee4bf2ca350ebdbc80aa2f426c79dfc3b21c96566f22e1a6dce4358d6091a4783787823131acb0c48f821b112c59eb71e34b2e9b2306b66d3679a2f4069d2a2e9ee73170e0204e39f994949b58f68a48af4715fba6a29770e4f50f71e4d75d8f6cb18772e66d0ff36db38bb5473abad829a79ecaebafbf466d6d0d86b1fd26354d135d176cd8b081b56bd77659996f792d4d9de5a25028140a85a257d8aebc58b82efcf6f9189f6fb038eb208bc202281a6a503aca443875942424426ae89a8eae816e01868f4840a25ac369903cf5bec3c31ff824848565252d2d692f94dea0dd15503a9298e338ecbfff38423939c82e2a2181408067fef35497ca84c3b95dcaaf50ec0c1886416141017bed359a37de780dd3345ac42bd7751ddb4e9e95a35028140a8542b1b390562c342de931f2d4c72e7357b81cb78fcd9451267d0a249a29d00d89ae81143e3ee025403a1a357582f7be74797689cf979506966563db6656ee615da55dc5c5f37c120987bdf61acdcc9933bbb4293fcd19a7a967f28a6f07c9cdf816a79f7e06ab56ad64ddbab50058965254140a8542a150ecdc34b973a52c3095318fbfcf7179f8bd04630618ec5666d0bf48a730049a80bab86473adcf8a2d1e1f6d92d4c5754cd326103031cda495a5372d2d69da555cea1b1a18387010a77ef734060d1e9cb2b6a83324148a4ca4a38b8d1cb93b279d7c320fdc7f3f955595e486c35f77d5140a8542a15028b242a6b685a4d7355157e3dd153ef396794ddf01a06d7733d375a3854b98ef8bd4b973d9ef5bb7edec1ef4b6abb81c76e8242ebcf042f618350a29448ffcf2158a6f03e99bfca4134f62f8b0e1fc63f603bcfbdebb5f77b5140a8542a150287a84965254da04249612e1fb08dfc775bb2fbfb8b828bb7a64f8cc3a64e281cefffef752f7afae5028140a8542a15028145970cc31d3b20a87dcfbce670a8542a15028140a8542d1cb28c545a15028140a8542a150ecf4a8032176527cdfc3735db5b748a150287602d46fb142d135d251a52cbbfb872e2b14ad518acb4e48221ea3baba9a552b57d01869f8baaba35028140a85429135baae939b97cba0c1c3e8dbaf3fbd7c9487e25b8c525c76323cd7a5baba9a655f2e61f4d87d282a2ef9baaba45028140a85429135c21754556d65e9975f100c0629ed5386ef671f1a57a1680fa5b8ec64f8bec7da352b19b5d758060f1dfe755747a15028140a85a2cb14161713ca09f3e592cf292befab141745afa036e7ef640821883444285696168542a1502814bb30e1702e2051be628ade62875b5ca4ef21e2118c70e18ebe14beefa3eb7aea809c5d172104baa1744a8542a15028148aaf8bf4ba520801d0627d993e25bea7885e8cfba1efdacbdfacd8a18a4be48b77d9f6cc1f31736ccc3e63e837f39a1da6756fdbba05cf71f0854f71691f7272c23be43acd717dc1faea0495111734280a990c2e0d62193a424a3e5edb48ff229bb27c7b87d745a15028140a85624721a5e4e9a79fe6f3cf3f67e0c0419c79e61998e63773c741daadcd308c16afcd49241204023d8f98f66d50367a938c332ed3007595c4e6d554be7007838e3e1a74d8326f1e89cdab08f41bd663d9ad711d07e1b9e4171620a5a4a6aa12cbb2b0ac1da33044133ecf7f52c9fc55114af30214852d34a03ee6b1a52ece7e83c3d4c7045b1a5c2aeb13fcea84619484b3bfb98d0e7e083ccfe35ffffa57bbdf1f77dc71e4e7e777a5390a8542a15028141db266cd5a3ef8e0032ebdf4521e7bec31962cf982316346775a2e6dadd815f07d1fc33078ecb1c7b9e5d65bf97f175ec0d4a95359b77e3d918608454545e4e484b8f3aebb59b06001afbdfa0a25253d73ed7f66610d9e2f904274efe1be9468ba8e69e89c7040518fead21c4debba4549caee8f75b6bac70e515cfc482d1b665fc580230ec2d9b602aba802af3e825558d623b9ed6198269ee72385c4f35cf2f2f3d9bc691315fd07f48a12d69c2f3747b97fce66460fcce7a831e534267ca28e8fef437ec86654ff7cb6d527f8724b0d878e2c63d1ca1a966f69a4645841f6179112cff3327e954824901266cd3aabc5e7b1588cd9b367f3ecb3ffe1f8e37b5179f136f3daffddc1bb83bfcf95270cc2ea913041ddc74ff3d4e272667cf710cacd2e7c7eca68363ef3300b8a4ee2bca9153dacc78ea2bd767cdbead00a51cbc7ff7e9485452770cee47e5fd1d8ed84fdf095f06d6d775751fdd42b885a3e7c32dbdfe5afb3cf7bf9da7e25f31f7b9c2543becbac834be9dd55065decd71e92fa3f7ef22537749a75c58ae50c1e3c98d2d252f6dc734f3eff7c71a78a8b6959087fc7292ed1d56b28fcec53d00d1a261e4ca0a00b6bad0ca4cf6b5abf613dcb972fe7e7575e85f98b5fb6bb268b442294949420a5ecf6368595f57914e485b00226be103497d2a94c29d10d1dc7f1a8ab8f75ebfa99d0349dfbeebb8f67fff39fa442d509a66571ee39e770fcf1c775fbccab6cd7eb19d5a91e2df6a560c3a3bfa3dfc4fd91b16a743b4cdde74bb1779f841ecaedbedc0ed0759d60284434da88a6694821c8cb0db36df3a65ebdcef22d511e98b7994347f541d374565746a98dbab8bec41782c6b8c7aaad5184948c195884902001bf171d183dcf6b9a14aeeb35a5f467b3669dc533cf3c4b7d7d7d56f24464098ffffa5c8e3dec500e3df4504ebb672591e5f772ce94e3b9fe9d3a845fcbe2b7dee6c30d717adc0a51c59cbbeee0d14f206874f173aa58f8e463bcb8b88e9df6d94d7bede835f951d67f3c97f75646daef831d5d87eee05731fff14778fed3daaf6eecbeca7e882fe6cf338fe4949b3fa4b1a7b2b219e30ecbef84e3df9cdeecab9ed0aa9f9a7e0727257f078ffbe5dbd47edbce9beccedcf3bbf0bb9ceddc6c3d477a7a4fb4beb6d70b73d0ddcc5b8f3ecacb4b1b77cc6f5a67fdda1b7dd274ade4fff1d9b06cd932468d1a05c05e7bedc5b265cbda5dd07f15bcfaea6b6cbeec67241e7c88dafbeee3b3abafe971e4b2f4be152925baae13cec9410a81659ad8b685659a58a6492818c4b66d56ae5ad594bfbbc46a3713a9db462c5289d3584522959cc66a1aeb2b89d46da3b17e1b8de9d716a992485d2591daadc46a37f7a8edadf9eff3cf939393435e7e3ef90505eda6bcfc7c2ccbe2c5975e04baeff7d6238b8bd903c565f333ff4741898e2e12b80df578c222d21060f0ac8bba2d331b4afa94b169c37a3ccf43d340d70d0cd3a072eb564acb7a6ee94978827bdedec04123cbd8541347d7a136e2b0a93e4e69d8c4d4606b83477941080d9346c725e6f83be4b4e5b4d9b53d93dcd967cf62f6ec7f70d24927766a795972cf35dc317f18e7fffa27ec5f6661f71d48205ec6a0c183e9976ff6600a66a8f7b67778ee738b71bf1f4bbed6d5cfb7f5624d760cedb5a3d7487cc9fd575ecdd2598f307b586ec6a70e2dea20ab79edcab3f8f5bbe9434c35827d863166fc648e3ffd140e1b1cead5f1dd99e8b81fc02e1acc9889c772d6792733ae4f0f9f671a61fa0e1ac2a0beb93ddf3498c51877c4ff67efdce3a2acd207fe9d1960868bcc8802e305c40b365e482dbc252149eb9aae65a60966893fadc5ac8dd50aa332b532ad34dccda4d2c5d255cb22b6d2b05d5a4c4d0b2b0c2b044b845440c51943988199797f7f0c7799010610b7cef7f3195f99f77dcf79ce732e739e73ce734e8797c1b6d29eba6a8c64e2f4feadbcbaf95f1cfa598fc5d587eb22ee21eeaf3318daa5a1261beac9c80f35ede0337fe1c6ee50a9ec47976b517f1d491bcb5e73b4b86c362e23ed205783b815a51d5706af161d9c574d613018387dfa0c3367ce04c0cfcf0f0f0fcf06c6ccd5e4ccdb5bb9f9c30f91cb15982509a55c4ed8c58b1cdcb31eab6720a113663815ae5c2ee7c2850b6cdc9884244954188d489284d562817a3691846d2079f9f2158cff2cbc4d9b4299ad12a6f2cb5496dbfe2fab0e1fc0452eb30dc837183aae89cb363a2e93cbb05a25ccede9e50fdc73cf3d646464b468c605998cbbee9a5e4ff2d6d352dba35d978ae90fedc67afa2b3c460ca63cff380a0f1f2e649d24287e3338b156aeb5f8697b70bab0000f0f77cc5526dc944a2e975de6d74b97e8d2c6a553fff9a194203f6f0c976db31bf925e50cf053f2e084be7829156cde7f862a495e9d4c098bd9e60be3ccd24e85c271735a630c35b6892a2b2b59bf7e7deddfefbf9fc2bdf7ce71e83cf7edd7e7f1b9f559a2260c4555fbeded3cbbf976db7f4dad14de2e164abef8981ce5485eb8be4bbd0e734bbfbfd60d177be9e84c19ce73b9f457089acb0b8b6fc4a3ea32603aaeb30000200049444154e74f65f3f987c93c35e74326add840fc04bfffdd1f6fbbd8d1439fb9bcf0d848bcaacab970ea6b3e7e6b037ffde2275e7cfb09c6aadbd03eb90611f5e23f886abf0438c9b550069ba1037525956591fcb74fa808bf8f84055aa49ff7f2faa6bff33841bcfbf428bc6a15d2484fe6423beda0a0fd6845d96cf732d2286e57ef6ba4be5ebbecddbb97efbecbc66c3663b5d6f5d6070dd235f0e7080b0be3a38f3e66cf9e4f00a8aaaac26231131010c89c39f7b4cbae5b151546ac560b9e9e9e48924479793986fffc07d5071fa072b3f9315b2589728b0585c5c2e54a25dd02029c8aabc6bfe5d8f7df535a5a8ab7a73b8fcfbd8301015ace179dc768b1e0e9ea4257ffee641d3fc9dab73fe4f8f1e39c3b770e7f7f7fa7978b99cc561ebc2d08e4f0edcf06bcdd5d305b24643218d15f4d17950bc62aabcdfd4592902419c86c7dc1ca2a0b7e5d3d38555c4ee2873f3995eea690242bb3eebe9be8e896d7148bc582a50d33706df37171629788caf3a731fce74db4e347517ee27b70f5e0eca16c7a3ff42a0a8fabe32cae5028d0f6e8c9e9c253787a7961321af1f0f4e4c2b91254eeeeb8ba3a3fb27af8a75f09ede7c3cf2597b15a21b09b2b73c7f5a8bdffc3e97206f6f04642429240a19061b14a2864d0ab6beb7e0ae5cd6c315133e352dfe1ada2c2c8cc99773778ee934f3ec1643239345cca2ba13475217f48b5fd1d307f1bffb8f50b1e88de42bff5a92c1fd2c44b5567f97cf35a367ef025bf94cb5107dfc27d4b963063481728cde09998e5fc70d34b6c891f59376a6929e1e0c7c7518dfa3f42bceaa5afa5df57d785f3694f72d787e73054c9f1ee7733f73cfa385121deb61127f3390ebdb58ed7de3b407e1974090a63e6434bb87774775b41b71493fef272de3c90c769bd0950d0edfaa9cc8e70e3eb8fff4de6cf17a952f562cc3df13c75df086afbb20ed22bb727af53715551b06b2971af7fc53913a0d272c39d8ff0d40361f8d6cbc25349b3b925c9f6ff61cfeee1d5882e4dcb5063d87af72364f808d43260541813a7ddce4709f378f1f917b821642db7f95ce4e0ebab79f33f59fc74ce087461e4d2645e9ae28fa2599d96f0d92b2bd9bcff3805a546c015df41b770f7a287b97b98a6c14860e9e1f5c4de91c389520b4aed0ddc1efb187f8eec4ded9e2c0ee3b252fadf65dcb3ec4726fefd2de2867b21ab3cc9d6d879fcd33781adab26e25bd3e6d9d383ba1f21d70fb3e921742ce3aeab246ae187bc7bf461c68eab725e07553ff1c63d317c72d31bec8c1b644b4f7365c67c81afb6ad63c3ae03fc7cc98a4bd7c1cc5c95c883fdede471b89ce31fac634df27fc8335841a525ec2feb79766acfba46bca9ba64570e4ff42dd1a7a374582e38d0999df45d77a6a1aeac971da7ab2575af1a5997513cb1e35de4ae0a5bc7f8e66178667fc113d9df52641ec500573b7a325735d90ebe75af175f395d2f9c6c6bead39c6eece97850b99d7cf1e1b4b3ed8bddfcb43de7b05d6e4ae78ed2d6547db22797336d73e3f0abf36ad3c113fc72d108c8f0ee17de200d92f1149f6e7c89373f3e4a71a50bdd8375b81868e87bd2d6bad604cde9f50a9ddc5cdee67277e1c2050e1d3acc934f2634db671a356a24a3468dbce2fb152b56525050405050904d3555950ec3714465a589cff7efc7e3d37fe379b90c9fcbe5785554e0ede6860c7091c928b75aa9b05a3100036f9e89bf93ab6c6a3aceee4a2572b99c57fe329bffbb6f0ec67365a8d455603281d20dd3af2a664d51e12a4924beff19aeaeb60ae4ecac8b649570572a3876ea1287730d68bbba535e5149a0af0a19127299ed1999dce67a60b15851286cdb281b2b2d2864124a3779bbaff0b1582c57f5d0d096da1eed36e35259748a2efd7a5179f207b05a399f7d0adf3b17e31e785dabc36a0b6e4a25dd7cfd293d5f824aa5a2d26444a952526932396db85c3659a8324b5c365a9023a7f06219736fead3e099db477423e5eb12eaafef7351c88819d7933edd5a6eb8b4a4e04b9254fda9335cdcdd55b8bbabeafded8ee4c0c9bf3eeac8a779e9defeb82143d9ad278a3247919791f5f7877972af96398ffe8d9bfd0c1c4e5ecddf1f5d4bc03bcf301a2b16b3e50abf1e4bd17e3ecef360f403210d9660b4f67bb7be7f64d13d23e8269de1e096bfb1f1f175f47bf719c67855706ce3433cfe2edcfae0b33cdc1f4eec798d8d8f3e4cc5ebffe0c1c1ee602de3a7af8f71a1ff033c376708ee866c76adddc4df8ff5e1b6d8bff07c7f77ce1f788397372f23e9865dc45faf6a36bd63abd73c5c21af3371a1c067c45d3cf2fc7d74ef62a5e4ab6dbcb479392f0d7e8fd51175468076c60b3cf7a71eb820c343eb695f67f6da30d75e4c5a388b7fceddc2bbfb8a98784705df671ce674eff92c5f7a3d5d2d9791fafba090ca5ba0d35f39f1d5514afadecf8aa53adc8dbf90f9fe9b6c7828975f37bdc9fdd7d595496ba59a31314f73bfbf959ff6bec91bcb1fc2d8751b8fdde085ac0571f98cff2b8f85dfc333cf6f2672cb42d4ff5a45f299d12c5d13d9e087bfa57a50a8bc70c382c96441b2ea9dd7412bebc8d82e46be7fe32196ec3033fefea75838444dd5053d5d7ad6ed82d8388fab7edec4b2c4cff19fb7820d37f9235d2844dfdba741037e65ba9b91a3397d36f7bebb3d9d55349bbe1aaa7efea7fd74b5b0eed52143e15abf205ca6f86215ae3dfbe2e3a87c54d3b81d74b116b4a15e3853ff5ba31b073ab69e695a6e67db9716e4a7dd76b94bd3ed63d54f0ed266872be572b26d6e4c755e9def7b3f2b9fd4e15e51c881b75ead4b83e725be5afb30cfedf56462ec72fed0df9592ac8fd89c57cf70696b5db3835dbdbad8d189b5a4cde5ced6ff93f8fefbef193e7cb8831c699abcbc3c2c164b9b068ac136186b345620491203060ca0f8e017f438791237b99cee6e6e782814b54dbbd16ac568b1703a3c9cd14e1a2d1515462a2b4d489284bba7ed77f5e6d0107ef9e23bb20f1de5d68553b19cbb80a2472ff66dff88c1c30632e1a61b78e393c3545599b978f1220a85025757b7067db1962093c9a8b258d19755516e02958727260b149e33f1cbf90a82fce45459ac5455da665d14323873ae124f9502090963a5854ab3b55dcf30bc969df3dbcdc7459240aaa840b254225328a0cad496a56e6da6466f56abb55a89ce0b63a830a3725370d968b685234974efd2b0528ebfae2be3af6bbf6de82c66fb566edd8c8be334b5740b42574d00fdfaf7af1dd9323b305cac170ff18f8f2e3062e9ebdcff876ec881eb1e3fc7e7b3dee0a39c72c68e9ac0aa3d131abd65e6ecfedd9cf018c3c2215e6df81ebcaf0b6742986d146eb8df2f1c58f0099ffd6c6254e02136a79c2170fe5612a2837005468d08c4787c2edb367fc9ec9723a83902d52b289431a183501282ff997f73f8ed3edc7ac7ad8cf20086b8f2d5de25647d7d96aaebfba26836bd9e0ee56d4d5caec8f11a7013e307d8de1d12ace6e7b4b97cf8f5692a2334b54b5894ddfbd0bf7f40a3ca6b5f86a670d55ecf00157c935342d51db6191baf7ea3091b5537c269bdf8792b743a92716307a1641463c7ea90cdf933effce308b356875133dfda3d3c86983b6de1df3432184bdebdbcb5f52b1e1831016f7d0bf24fde8d88bf3e46d89ce5ac78fe125e870b19b97415910d7ef91de8c16aa6b2d284b1aa8c733f7fcdbf36bcc359f960660dee828cd236eba0369a66cacc98815fb1f9bd5fe833ff6d9eb9af6fc351db8aa6f3d85856cc25ba30f6c69184e83c91d1784df995e96ebeae3ad667b3ef8fa0499d49fa03f6d357d5506a8b83743517ffa8eb252aaaaa577ecb5c70f774c7a5f677dbc4a9d4d524fd1cccdc37c7e3533bb26cbf7c346e076b646d5bbd6879fd971bcb1aa447f6ab7ddd4886c3cdeab8b1dc8053ed8ba46f3e2e7bedf29861aa2675ee28dfedd1582e6b69dbdae6c678f51dc94da36d6dd8881e67f862419aedb7a5f721defef422fd6237f0c4eceaf887f990f3f161b26a6469635db3875dbd0e6c5a27b579dfaadf9d8668341aa2a2a2484d4de5f8f15c6ebf7d2aeeee4d0cd034c26ab5f2d967ffe5e0c183fce94f53e8d5ab17000ab973ae07972e19f8f2abaff07e7717ddcf9fc75f264352287095cba9b25a31ca64c8008b2451505181223898610b639d8a0be0dcb91264321932b99c7e4141ccbdef3eb67e98cecaa797d0fbc6c1505e84d564c1d5749989f74f872e4a5e5efa2c77dd351da59b2b65e5e548d5fdcdc0c0c056c52d49b6816e8072a3190fa59c3e7e3efc5264e0b3ef4ab9798844704f2f546e728c55160ee5e8c9fda58c09d777c34fe3864502b94c7685fb405ba971ce6fee60f79a41f2b4bd69dc71c71d38dbdfbeea3e2e4aff408abe2fa4c78d4158ce9fc5b79f1f67b7be805bcfbe7804e95a1d9eb3988c46ce1517e1e1e18ed56241e1e242d9af65f86a9d5fb9ec229761b658a9b248549925cc926dba4ee160499724397fd6a60458a596182e8e0d938ed83bbdf2ec779c329b297d6e1ae39f6b78cff55c05563caf7414349fe5f33d3fe339e621067bb5e1fb46b8f8f6a73b659c2f335379268b9fcd3e848fd4d635c4ae3d19354243f2a12cce5646a0b942305734bdd4602c456f92c04306ae5de9e90dd9fa0aac80a525e96d91bccdc705267ef9ef66fef6d67ff8eed4392a149eb899c035a4056b465ba8b3d6e09c4e01553fc24778f3ee374729aa0a6bda11d755cb8810359b33bfa7b87202aa96c4a50479f75b581cb79ba8e73fe5fcd0475913e9db702b52477a38f62cd36f7db6f64f17ed68ee5b1dcf1dbd5caee850b74507cdd511a3d7b7fc54e543f8c8966f0dadd2cde6dee107d8f8d02c7e98389d1933ee64c2a0ae750d7813e96e515d75a0cfe6df6f1ad39996a7cf51ba1cc77f9ecc15ffc763076a96a08ce0854ffe4698172019f939e5691efedb696e59b1913903ea75dddba19e744c5b73996f57dcc192fae9497dc4ae6e5aa3e33a9c6b5f5a1b57fd76196852e7cd96e716d0a2f2ed647ebb761f806fcd6fcbd9eff9c5eac3f8e1f6fd01db5ad75ac2157a6d594a5af0bb73253a9d8e871f7e980f3ffc88d75e7b8dbbee9a4150501f3b4fc3a54b97d8b56b17151515c4c6c6e2ef5f37ebe18ceb0180bfbf3fb74f9dcab9b163a93c7488a2cdffc0d56ca6c262c12a4954563be4e7979763e8d58b614f3d854ae57c3f2f2020a0b6735e5452cc4b2fbdc8ead56b78e6a58ddc1cd29f6e4a25e6f27254fa4b5c32e772f0583eb25e8379f6e9a771757545533d6eed54bf4b2661b142afeeee047677c36caaa0d460a6a2d242a559c26cb12d17d39755f1436119c74e95a170915378c1c4f1d397b9610068bc5cdbdd70b9dacef957fd1c1737bfdef8cf798a92ad2bd00ed162b970811e83fc39b5e661063cbf1d571fdf5687d95acc6633a70b0b707757d98c16850b656597d1f6ead5a6694b1f4f57ca2acdc8e5322aaacca85c147c7fba8ceb03ba34f97c79a5854b1516bababba0746bff4d09da7bc6a55548009e843fb59efbafab3f962743d5bd6b93bb9b549dce60cf492fc63d3218af367cdf1899dc05391296365456859b0b328c5824099081cc05a5c2b69e548216a5b7a5f2361757d54f5b797cd93bc8a72e66c5e383e9261590f2f472325a908e96ca50fbfcd92cf28ce0aff3c395f6dbfbbd16dba25c6a92da2435d67d6b0c7ceb25f2324f50890c8eefe5c0d9c9cce85d57b71deaa1df7c5e7c3414b59b07debe3de8e9e3de31bbf134536664f94e1458557f66afff80b02f3fe69d7f6ee3d907dee69db91bf9fbfc4178c8eca4bb2575d5913e9b7ddfd0b4acadd9d9c641bae40ee3ef89c7a07524de55651353a126d81d908c9c7cff091efcfb196e59b99125e31b760e5b5b4fda13c7f5df1dddfd8dd2a3e94f983ddd38b17b90d3ed4b2be36adc2e37a97347e5b9a511b563db7c451a14f5d250dd3e498ef4d0d6bad612999cfcbd6bf637ce0e9e9e9e444747f1cd37dfb07dfb3f898f8fb7db377cebadb7e9d32790db6ebbadcd4bc41ad3d5cb8b1fbecb466536a394cb91db52815592c8292bc3386c182396c6a3eadab6152f3299acd6b93ee7f8713edd97c1f3cb96210356af59c3aa55cfa07071c16236f3c4134b79f0d167513771668c331b12c865322aaa2c84066bf0efeac6a9920af6655f4021973133ac27bd7d55c8805f2e5470f8b89ea01e5e845ed78d1f4e19d89b75812e1e6e8c1becd3ae86cbb5ec9cdfaee7b878df381ef79b6652fad379e44a25b2f24bf8f756f1f3eabf2255d919d26c272449e274c129946e6e48562b32999c0aa311b5a62b9e5e4d1b182dc5452123b0ab924ab30553a595de5dddd9f1e5390ce5576690b1caca778597c92f35f18bde4495b9f5c683abeb956bc1eb53b7ab98d5eea7fe73ed8164b522016e3d861020bf4cde49193d828208aafdf441ebd554b9a9e2f47f3fe15497714c19e4d986ef1de3d673387d5d4af9f64851dde079d519befa568f6bdf61f470ac52fbe1369b5ee7e46d8af2822c0ad171cf82a98c1e1ccc00dd2082ea175d992b9e4a301a8c8d46ca5a294365217b36bccb19d71bb93bdcdfeea89fd33aad3acbb7d9065cfa0cc1dfde33c6931cf8e6126efd87a1756d695c562e7eb19e55e95df9bfa43788edff03af3df70185752f38d683572083870e65f075fde8dd42a3c5191d345766dc7a0c25405eca379967af9ce8b19bc780dc83c0b177f3d8dfb7f3ea741f72df7b971ca3fd74375f761debb3f575bde63d07e96b0a3be9721cbf2bdefd8671636828a1a1a1848e0846ad9028fb76038ffefd24e356bccaa3e37d1b8dccb54f5ded98b646de447a1ce9a6953ac6f9f6c599b8ea70a073bbe5b91176e5ba3a6db35b8fe104b9949279a8d0ee269b6dad6badc6513bd1cef4eeddbb7a8ca9e91126abd5cae5cb650c1a34c8aed152e56467f6d782028e2e7914d98103b8491255d5fd107d5515472d1694d1518c7eeed9361b2d35c86432ac562b113787e3e5a6e4eefbeee58d2dc9a47cf0017e7e7e04f5e983b7b7373f7cff036a6fef763bc3469264c890e1ea22a78f9f07037b7931ea3a0db3237ad2a39b12b3c50a12f4f2714717e04985c942d14513da6e5ef4ece651dde76bff7d242d160b5595552dfeb4f5a0d14e3bc7a5c7cc3f73e2c7a3fc7afe27ba28ad2865125d2a0b39fdd62bf45ef0b8d3e1364749d1d96ac716a97a7fed2a142e2eed72860bc01f87fa907ca0986e9e4a0ce566827cbd78f2fd930cede541984e839f972bbf949af8e1ec655ce40a94ae325c64323c5566fcbbb839bd6cac29aeea52318517ddbde0dc57ffe1cb530184058e23668a2f7ffde7e33c2d5fc0ed237ae0567e967c7d5f6e9b3a044f7da35dc5ccbff0595a21eab0c7d0d51f4aab6ae5f7cd20d78c65c1f49e2cdcb4941794b1dcd61ff276bf46f22fbd887e6a8c6d27292790fb384e6f178b73f236857bafc16879879dc91fd37562305de5c59c2eaff7805b4f42825c48ddbd897707df4530259476bf993f5e57ea5806c309be3de28d87f932170a8eb1ffa3f7d97fca873fae48e00f7e0abbcba45aa3d3f39fbfc55b411309f19738b9f70d36177663eaa3a31a3c53967f84439915789a4e93f9deebec2ceec3bdcf8db43dd382b8ac9732d9f8623adeb3df247ac875289e5c40fadc24567f1cc6fa3b7be2e264d9718433e5aad932e3338eff9beacb239b97b0cc7a3f53427c71292be172600413fa369dc791ddbee55f5f42ff607fdcab8a38f2d3afe0d51d5bfface974372787675933fa6c2e1df674e6287d8d967e579dcd20d54eba9ad56363cbd37296bdaffd8bd2c1b1dca62de5c4f1d26a8194740bec437779fb948f8e6a6b1ad39c6e5aaae31a9c6e5f86b43eaeba4434ad734769bb0207725d8db659de752cf7dfd58b856f2f21c1fa0077ded813b7b2ef28a8a7bbb6d63579e3dd389b13caee6f811309acfe8db7c7b7df66111232d4ee4c825c2e67e4c8511c3a7488e0e0e0a603716210b5282383820dafe15156864c26c364b55225495c52a9508e1ac9f0193330fdfc0b6943c3d01715db0d47a3f5e786579e473bf9d616c52b97cbb15aadc42f7994e757bdc0de3d9f60ae323378d020ca2b2ae8debd3b55e62aac92e470c7d6d6639beda9324b74ebe24ad8601f5c1572ac1258ac562a2d56fc344a42fb6b483954c4d7b917507bb9536634b7ab537e0d9de19cdf361f97b664864c4ebff875e43d1a8d87cf65e4c65fe9aa7627ffdf3b30cf5c808bdac7f9b0ed60369b31e8f5787ab863b1d8765d305bacf40dead76e710ce9e545bfee7a4a2e59902419257a13a17dbba22fafe4bdafce619524ba7ba9f050caf8d55849772f17ca4cb6c2d6de65cade392ef69e6b132e3d99143b837dab5258ff5e04a3960c25f4afaff182cf7ade4c7d9927b65a40a1a65fe45f18ffa72178d6c45bb34ca0f03fec3dad66dc13ba064b005afb7db3c83c18baf0555ef458cb862d4ff3efcbe01514c6bc979670df90361cb428ebe230bd2a67e56d02b7e0b93c17778117df5ac763a9361f27a5ba274303ab0f1893fb10b1e4513297bdcaeb4f7f01aebe8c7c6028e11ef66450e0e9e30587b6f2f4e2ad00a8baf763e8e8793cfffc0c6e6eee00ca56e854eea6e750f20ab6965a516a4730e399c789bdc1cbf68cbc0bfd6f1c4ab7fdc93cbdb80a70a5fba05b78f0ef0f334ba76a615c264eec78854f984ce2ec813647e2a0192c99914aecebaf71e896958c296dbfbc704607b57f345366bac8bdb8e1918dacd624f2fafbab7922d90aaa5e442cb98188feda26f3f8a6a1c7f9ef5beff0b7f355800b5d83c7b368f97d0c7083aa9feda4dba11c03286a469f376b9a49875d9d39485fa38eaef982fd74412be33716927952c25cb991bfde5fff862f776fda41ac6b3b958f8e6a6b1ae158372dd7710dceb62fb70e0d6a755c35d86bcf1da6adf1408a03b9ae4adb2cf360e8c2d748d4fc8d8dbbd6f1c4365b1ba6ee753db7f4f5b4cd58b7b1ae8da3e1ef66b3d8d38933864bf56f7c5358ad568e1e3dcaac59b3a05ac6fdfbf773f0e041020202b8f3cee9787a7a307af4285e79e50bce9d3b87afaff36e0156ab95cba70a38bd6d1b97f6ef47022e281458d56a5c0302e87a7d082137de8866c000e4aeaea44cbd97214386d06bca640054375e8f4c695baa5779e2249692f39cfef9245f3cf204d35b68b840dd72af654f3f05404ccc3c0a7ff9a57646c6d5c515b95ceef4b92d8d91c9c06a852ab395aa2a2b0a17196e2e72cc16dba19256092c66095705a8dce474f574a1d22ce182995e3e6e68354a4c9556148af6ed6c5e6de7fc96da1e4dbacd2efcf3fcca352fae752ae21a2af24ff0d363d104f555e28244c1c95f0978f17ddcfbdab1c8db80c964a4e0e79f50b9bb2359252a8c15f4ed1f8c9b52d9fccbada0a2d2cacb7b4f516596e12293535661c6cbdd050fa50b72998ccba62a4c55567cbab8a1f194d1b7bb8af0811a874efc8d315694f3ed375f336cc40df86b7b5e71df6030909cbc85471ef94bb361ad5fff37e6cd8b69721de6d5a18a13afcf66dec7a1bcfa6e3cc3dc9dfdfe5ae55a90b79365b073e6c2d5a713f5603cc6cb772f2473ea5b6cbbbf5f2b9ca5db836ba10cfe2f20f474f5e94c9d8bfc6e0f727373f9e49334fef29787a9a8a8e0fdf7dfa7b0b090b163c7f2dd77d9363f8859b3e8d1a3071f7ef82172b99c3ffde94f0dc2a8aaaa62cf8729fc71caed54553a3ecfa5fcec592e1c3e4c594909322f2f5cd51a3cfc7cf1f4f7c7bd7b775c3c3c1a74a0b7ab8318e7db13f3b9f3b80d086270de97b5f70ae6fd85d22defe0e2db9d83e7ce30db90dfaab44b9284d56ae5f4e9d33cf8e022ac921577770f7efdb50c5717056fbcf906bd7a5ed947738665ef16f2f4ac81f87471c576689d1c1a2f02b44ab61ebb24e76279cde64d32ca8d55f4eaea82de2867d9b6e33c1feddce19b8d91c9e4bcf7fefbad76ce9f70cb2d4e0f9ac73fbe848daf6fbe0bdbfe9ae5d59fcbf5fe5f0118dbcd39bf31ee41030858f2223fad5e828bc588fbd829b8070d6873b84da154aa70f7ea4299c1804c26a3674060bb1b2d00ee6e72e26f0be2e5bda728d69bf0f170432e9771d9645be72897c950b8c0f95f2bd0f550133640dd2aa3a50685428ed581075e454505cf3fbfaad970da771ad3092af3f9f4df45740d9fcc75ee6df8fe5ae55a90f75a90e15aa033f460bdcc2fc74f5098bd93ff5ef464e430bfab6cb420f2bfa5083d5d7d3a53e722bfdb855f7e394d40406fce9c39c33befbc8346d395071f7c108d4643585818fffef7bfd9bc79339326dd46fffefdd9b7eff32bc250c8e52dde62d5a3470f3ceebcb355325e3e771e00df9828b0583871cf42f49fa463b9643bd7c1547dbfb5c864b2dabef073cf3d4bd6d1a3444e9840fa679f31ecfaebb1b6e3c18c5e1a7f7e3cef866f15582caeb6bd6dea799fd66c1454b3bf82ab8b8bcd8691c022b971f232141455a190b7a35ff335ec9cdfee3e2ef5518fb985ebdffb1273d9afb86ada7f89587d7a070462ee6146a15074c87abf1adc5c64244c09e248feaf7cf4ed39ce5eacb09d0664053f6f1706fa7972f3759a561d3ad918b94c8e64673b6417171766cf8ec662b138cce49afb9d69bc549e4ce33fc53e8cbf2d18551bbebf56b916e4bd1664b816e8143d549e60ebd287d8a3efc6b0594ff3f08d577b9f2a91ff2d45e8e9ead3993a17f9dd3e0c1f3e8cb7dfdeca4f3ffdc4983163080b0babed5fb9baba3279f264743a1d9f7cf2091515154c98d0f80c37902b142d1bb177121312c86574bf772628140cd8f906978f1ee3ebd03f8083f3f05a4a606020818181b58771c6cc9ddbe6301be3af3470f0eb52cc96961d2269ad37a3219340eee28a5261255ce7ede0add6633657d92680ae122db53d9a5c2ab624eea1ca67563cd7c42d414763ac28e7d87747b96ed0607af6be7201b1d96cc66432b568370b171717944a65e7cfbc080402814020f85d92f2ee7626df7e67b34bc55acb7675107d1b8dbf771911c2d86f3ee3c8add3294ddf0fc049ccad5e2a56439d4fb154bb6532d866643a7290fcf7c88a679e626de2ab9db7544cd031b8b8b80843442010080402c1ef1e63b523b8efc408caf30bb9f0e371db0d1f4dedbdb650639c34be0ada9fb61d40e9220c97ce4226932197cb311aeded182f10080402814070ed5374f68c6d83a0763ed5bd86f2ea8087bcf23c55656594667e8b64b170e6cb23b5f704ff1bb4d4f6e8501f1741eb51285cf0efd993e339dfa37257a1d5f6442ef2a3c3a8eae0835105828ea4b2520c7008fe37b15aac58adede7e02cb8f6a8a8a8e09bccc30cbd7e4487e4b50b322e55efbeb5efc12544246fa0cf9cbbf9e291a5141514d63ee7da0187330ada9fb69de3a2104b913a0b1757577af6ea8dbbbb07c77ffc81af0e1d6c9f8324ff07696eef70c16f173757a78e1f17fc8fa37015bf3dbf47e472b958a2fe9b02da501a000020004944415444c6d0eb47e0ebef8fb9030609fdbdbc385176092312a5fbf6f37dbfebaf7846858ce01e3dda3d6e41fbd352db43f8b85c83c890e1ebeb87bfbfb6c5db080a040281402010b49a0e5a5125613b0ba5238c1680d0edaf73f9fe38f4c525769fd1f8fb71e3eb6d3b97507075689b8f8b305c3a1d8bc582a51df70917080402814020f8ade039fe2626e77ed5d96208da8996da1ef2a6be143e2e028140201008040281e06ad052dba349c345ccb808040281402010080482ab419bb743cecece6e578104028140201008040281a0316dda0e59a1503068f090761548201008040281402010fc36e9aaee0240c6befd9cbf70a1d9e7bb77eb46c4f89b01f8e6c8e116c521b643160804028140201008046de6bd9454664c9fd6eae75b6a7b08e77c814020100804028140d02632f6ed6f95d1023063fa3432f6ed6feb0194c270f9ad535e5ecebe7dfb90a40edac0fd77862449dc7aebad2895cace1645201008040281e0aad392e561f6de13e7b8081cb277ef5ea2a3a33b5b8cdf141f7cf001b7dd765b678b21100804028140f03f85305c040e71757515b32ded8c383054201008040281a0f5b4c9707169e1966482ff6dac562b32990c4992c4b59dae028140201008048286c814ae48962abbf75b6a7b8803287fa758ad5671ed80ab40201008040281a00e99c2b5c1b529dab854ac33b6433690b97d0deb7764839f1f6a950a946a86860553782090f87591a8afb644d9bbd99eb4922777e44170346b97c5327d4ac85597a3a3b0582cc864b2da9917716dfb552010080402814060a3b1b1626fe6a5a5b6c7b571608b31978d3327b28678766d5bc5c85acba098dd8b6f67e5b1477804aebac1a00e99c2c2f81276ec580231f1cc9b12789525e838eacf14747667ffb7721508040281402010d8b037c3d2dcb2314734b954ecea622473e54c9e3c12caba4d0beb192d00fe4c59b59565c1060c9d255ecdf6b6aace12a0e3b05aad4892e4f05ab4ff35e2a68ca48fb62b1a8d863ea3ee62e97b3954d43c77ea3546fadfcafb458ec3e9946bf9973cd8c72677d7ae0dafd73ff11de5f91bb859fb07b69db5221d7f8591fe53785fef7c7c4dfab818d399e1e343d09c148a1bdc30b07b6a0f862564636c75ce19c94e9c8acec7071f9fa96cff6623e13d26b2bd18c84d64748fa9a4b4678529d8c8e81e1349296efe518140201008040200c95265f7e32c9d6fb814ef61655221cac88544fa37715f3590d9b16175b32dc65cb6272c62d1e2c5cc9f1acec4f9c9641a000c6426cf67988f0f3ec31691926bac7e3c85c5a375ccd89869337e0c9924272c66d1fca9840f1bcdd415e91463a438733b097346337afe6ed2574c24c867188b0f5cd9fb3364a6b0624e38c3e6a7939bbe82a9c37ae0d3239cc5bb8b3116a4b07862103e3e3d085f9c5e6d6c19294859cc9c398b49583483f0d15359513f5c632edb17cf677162228ba706e1e3e383cfb070a62664da3ab44dca6b2377e3448274f34977a2935ad3d176f439b57d0ea36f5f4fc984a7d975f8077ef836834d316a762f18cf9ceda7aa9f03683eaccef98004dcf872063ffcf04383cfdea787a2f49dccf36f3ecd38ef3aa3a3ad71dae3d29e452cd85ed0fa8c6a0a631e29c907f17b7e1f3ffeb88dd983a7b06ad332c27e2b6b18050281402010089aa0d30d17e3b1148e00c191c1769782a94342b0d934c5ec5e30931d43e3d9b06e1d9b776de2cec2046e9f934c016a46cedbc0863bbd4115ccd081b6291255603081a1cb58b770246a0ad8be78077e8fac63c3e68ff874db644ad6cf64c1f61250a93166e791776c07d9a18f101f1d46b0baf161824650fb61ca3e46e1b114f618a6b3e9f37dac1d97c796450b484881e8ad47c9da1449c19604927381e214162c4a27307e15ab366c63edb83cd627a450501dde818499ac31c5b22a2e8e75db3673a737f845ae65d7aa91a8ecca6b335d54fe010406fae3edc49987cdce20e8ff4342c21e029f4be3adbfdcc68d017ef8f61ec2843fff9d779e9b8029339bb335330d1838b07e0ea37b76a35bb7be8c9fff4f722b6ce1e80f2432677c5fba75eb46b7bea3999378a0f6bd8bfb5f6978ef95fd144912566b3eef2fbe9de17dbbd1ad5b4f068d9f4ff27715b5f25dfcea1f2c183fa8fabdf1ccdff8157a3be90050faf6c6cfcf0f5f5fdfbaab52c25ab49b27ef5fc9fe8b562440aa36c0ac562bfacc64e6d78b63c1c64c2e3a33e302a0f46642740847962c6063aefd3c311c48644e78b5f11a64d3d515931cc66c564c9ccafa4238b6722a1313b23196ec2661c14a9ab0b3316426333f5c571d6638f36b0cf8a6e2cfdcd8f0d9e4fab341d579dcc3071f9f20c2e76fa77a6cc081dc05a42c9ecab0201f7c7c7aa00b9f4f7276bd10edc956b091f0a0a9242c9ec1e8613a827a04113e3fb9363e814020100804bf4f3add70311497600254ea160c17e7269190ae667a64b5af896a20b3e327a33cb886c44c23a022346e360179c9eca8ee2019b35328981c492060cc4e62fd91120eee4824313191a41403c1e342519618508784111608ca8079cc9b3285851b36b030a4f1fa3015ea81218c0b04657034b1d343f0570f64fabc5030a999123b9d91fe6a0223a309a180ec1223a882993c7d3a9303ab0d29b51a0c05188c80319b943d85a843fd6d2bd1d4439932104af26c3ab12f6f09462070fa663eff7415239d58c656d3c9aeefeb52ff5afedd0e0e5e1aca7d937a37baef46f09fdfe6839726e10f58ad12984eb0a7f836def8be90bccf9ec3efb3c758b2bb080ab670f7ddeb3145bd435e49092752ff0c497733f7f53cacf9ff60d6acbf619cb59313e7ce9197fa00bc318bfb361ec790fe148f7e368097be384749c9d7bc71d3319e7cd466ec598bdee781594f5130ed758e159e232ff53e2ebd388b05ef1735998e1a53c25e3aebee57cfb858ad50fc010bee7e92c2696f70aca08413a973d1bf78370f7c506c371cc73e2e2a026336b121329727172492dd5407bc20999933133146efe2646929273f8a85a499dcdbd8d25185f0cca71f111ba064dcb61c8e6e0eb3bf8ab13885f93313289cbe891fcf9472f2a37918d6cc647e536bbe8a53983f730d86e8adb6f8b7459297308784cc6a614d79ec299ecca69c339cdcb70abff4252cd953ec506e437a028bd38359f76529a5a5596c0a3b46c2926aa3bd19d94c970e92ae8ee3d3a339e4e76c26f860822d3e814020100804bf5b3add395f553dab61341869cefdbef8c8410a4d6afceaf5d4d4432319c8071c39560223035185c4302f3889a4e46ce2d70de4c80706a6c4dbe66b4c79d914a8a7131b378f2bddec0d2801a55a89e3090c25aa460f28554a94f53d159436014d00ea91c46d082177f746561c2cc15460a8b9438de38c21cf80cdec52a1548277a01fca66e56d1bf56724ea2f93aab91a8d255cc297005fa9ae53dfc473b69eff001e78741643ba00432671dfd0c778fa989ee3255b3836e0310edc7f03de920443ee63e5635b087b6337fba454dbbd076ea48bd50a43e6b2f2d1b7087b630fa75ef4465978909d3bdec7edb609dcf8ec415b67d76aa538fd750eaaef63cffd37e1eb56fddec36f10f97a3a45d3a2f0ab2f5fb5dc5fcc1d805ffdc40f7992039ffd85606bf53c8b646d90a6a2f424be50dfc79efbc7e2abb4c9fdecc3af1399944ef11d51f835a5079a335efc98be6103bb47dfcb8235e3d8f7ccc006770b7627931d1ccf970b47da6a41c83c56c527333a690fb90b0732b0c9301d539c9ec441f53c3e8d0dc35f551d665c12e393d2299e3e9bfa2b338b0f26db9e9d571d7f583cbb3e9d8e2950856d1a2498d8f8d984a8819029cc0b594242b681bc62fb7217ac55a32a3cc8f61d2928274712baea4bceb644b64d80722831f3aa9788aa43991e0c2bb30d30bda9f5a4028140201008ae05de4b49edd0f03bdd7051074712cc410a0ee4619ce7efd807de64048c9418a8b371546a9ba151e344cf40a6c70e65e58a240ec64d6737d35955fdac1113a68274f20cf308ac6723198a8da83baa3f64cc65fba205ec09dbc0a65521946c4c2729bb46f660e6c50e6547f20eb2978530d2944d7a4928716b4350010687f2b67db700473e196ede01f89247894142ba62c55c0925263ffcd4001228bd09f0aef17771c34d09182f712eaf04fcfae32b49b5331bbe0302501a8e539063efde098c37ac6147d2f3bcfcc6f3443f1f8bc9f706663dfa226be60e459f770e53e19b44f679b3a14c03f228ae90f0adaf96eaf40d59b99b2db7d5335d94de044812b531d7faead8fedfaa385a837a0aeb3645137efb0212223f22b24ea114e79580dfc00606965f70204a439e6d76ce89380d79c5980a9318df33a9e18de03c4a8c50bf08190a4ac03fb8dea0800aff9090ea9b80525daf0c561befa64b943890db18ba965d9b56b226690533572ec0e4174a74fc5ad6ce0b712c9bc9cf167fa37267acfefc06f7c91008040281e037c18d2386b5fa9dafbf3ddae2673b7da91803a3899fa0e4d29e35a434e9bb6c2477f76e728da00e0dc58f3c7667d7776e376052063339b4cef2089c1cc738d31e5624ec407d67686d47471d3014bf4b7b58b13db76e7ec4904e727a3b394d3781213d8125e9c1c4468734d1e15211326f15b1a1c5ec5893c8c6e42384beba8bb86aff9c8e94b7391f1765ffbbb9c9fb1bdefaa4e08afbb96f4573fdc83f73a0bcc6c78546be1e20e14ab7fede50924771bdf74bf20a31790fa4f7403594e45152efbde2dc424ceafeb815e762e8bf847f7cfc25f9278ff2d1125f3e897f9c9da7ac780ff045d93f81cfcf9ee5cc99339c3d7b96333f7ec957ef2f61b05b13e901bc7bf7a377efdef4ead5cb76eddea5fa7edd4c89546dc848924497febe280724f0794df867ce7036e72bbe7c6f3143948ef5d61ceab0b56c8a852d0b124837d4cdbcf907aba12497927acf96e415605207a376b2a7ae0ef64719bc8cc3a5a594d67c4e6691f5613c8d5741aa03d5506c33686c18c94e5ec1c6a61c676a51e2e7406e55491e86e078b67d7a94b3677e646fbc1fbb972c61474133b239e1b3251008040281e0b74fe71b2ef8337dc336a2fd0ef2d0cc456caf6f94504c66f21a0efa85315005aa9038e2c7c1676b926bfd040ad27760885c4674fdb534fe91c446c2b1ec60a6d7eba1a946c6123b148e3d399edb172592bc7105f3e76c2730d2f6b20930996888a95a9eda0e9d09a3096cffd47bacc11fd5fe35d5019a2e1d64477a2e05992924ed2900433179470e906b34b07bd122d2d561848604e21f1888ba249bec62638be42dd83e87f08909643ae1b4dc9c8f8bb5cb18125644f07dfc74e6bd9a46f6a9224a0a8f91feb718663f7382b14f3cc14daa46be21f5de4792e83de93e869c58cbb2b78f71d16ac570ec6d9e7ef90403664d22ec8f731872622d4f6fc9c6005cccdec2b2b527e83ff38ff87ef10cb3ef7a84774e18b1ba75c7cf4f8552e98db712ba8fbf971bcebdcab2d7332901ca8bd289ffd368a6bc6c732477dac745aa4b87df2df77243c9ab2c7bf36b8aac568c25ffe5f129a3f8d3daef2977cac7a53e2a462edbc623ea3d6c3956f76de0941842f2d690906cd387213b9984357904474f766a9918807f640ca1c589246ccca4183016a7b378e27026aeb9720b66ff71b18c3324b3624775fc99492c4948214fe9d88a087020b7df8104664e5dc4f65c23a8fcf1f753a2527aa356b64e3681402010080402b806968a01e01fc9862f0f13b97225897386b1127f020303f0f31bc8e4b865ccab353e0299b7ed438c8b97b0e0f6030c0d56833a9aad9ba6d070a5979ac8d868266747371a591e48dcae5d18162d2669c74a8e044ce0910d9b99ee6f24777722c947c0c41ad6ecf6236eca40c8de4d4ad2168e016c59c3c6c0d984ab3249ce06932a99e4f400a60714b263e311304172d26e02a283c9db914c3626d898c49117e27924740eebefbd9dbc9855ac8d9b42ca9c03a4e4c533394c8929d49f82c4152cd972a99ef1134ccc879fb22ecc9ebcb6a78c2525e41528b964a2d5eb679af37101e83573137bbbace38575f14c5d750e13e0dd3f82991bf6f2c41dbd6defd7db0ed95aed3362b50582b5d77c366d33f2c4d2190c5e7a09bc07f3c7459bd8fa603f24fab1699b892796ce60d01375f7b62dea4f77d6b1e1ebc52cff433ffe6ab2c53967d33a6eef6e4562269bb6197862e97c862f3f07f83262e63a763d73036ed5332c8d7d5c68b4eb57c3fb1292d55abb544c9224acdd6be2f83f463c533f8e112825a9cec8b1736d165508f15b97913e6665dd0e5f810bd9bacbc4922553e9bbe412780f6572dc3676c5396bb600feb3d9b6cbc0e225f732e8c912c08fd0e857f970d5c82b8b8bff74366f2b60514dfc7ea144afddc5aa912a7034c1e7406e7f36b0e9c82212c6f7e4211378074f60deb60dd5e5d7816c25479c4fb3402010080482df2cb226be737dff9d7f56def287dbaeba30bf3f8a494948c22ffe997a677018293e90c4a29450b6ad73b063541bd9b9732753a74e459224643299b8b6c3f5e38f3f262a2aaa83724c201008040281e0da253d3ddde977e5d64aee9a75cf5d4005505efdb95cefff1580f1da9871f99d62485fc29a8279ec6bb0999a0aff403f0243fc3ad409b925332ee2eadc55201008040281e0f7c8d43f4db17beff2e5cb4d7effd97f335a1cbe305c3a11434109797b1258b27d2d8f4c0925500986bc3d24259730fd99362c116a01f5974e09da07a14f814020100804828e43182e9d48e0bcad7c684c60e5ca998c79c804ca00c64d8f63d9aa3846b6e03cceb662b55a3b7d79d56fed2a10080402814020e81884e1d2a9f813b670339f2ebcfa315756560275c68bb8b6fd6a369baf7e460a040281402010fc4e1086cbef94c8c848fef5af7fa150283a5b94df04168b855b6fbdb5b3c510080402814020f8cd220c97df29010101cc9d3bb7b3c51008040281402010085ac4357000a5402010080402814020103846182e028140201008040281e09a47182e028140201008040281e09a47182e028140201008040281e09a47182e028140201008040281e09a47182e028140201008040281e09a47182e028140201008040281e09a47182e028140201008040281e09a47182e028140201008040281e09a47182e028140201008040281e09a47182e028140201008040281e09a47182e028140201008040281e09ac7a5b30510740efbf7efa7b8b8b8b3c510fc4619356a148181819d2d86a01d106d85a023116d854020680d62c6e5774a717131fefefe9d2d86e03788e888fcb6106d85a0a3106d854020682d62c6e5774c717131f7df7f7f678b21f88d71f1e2c5ce1641d0ce88b642d01188b6422010b41631e322100804028140201008ae7984e1729531ec9e834e379f74435337b349593187d1c3e6906ebceaa20904824ec54871e67612668c66d8fc0388264020100804828608c3a51d284e0ec7c74747f8c4a94c9d1a8ecec7079f1ea39938752a13c387d1c3a707730ed8ba21cac07144468611a0ac79db4841768de3ab1a3ff2c82b115d1681e07f0303e98be7b0bda02d61d4b5012aff40c8cba3a45d641308040281e0b785305cda0103213c7f388bcf3ffd888f766d607a00306e151f7ef4119f7e7e949c5df3f033990050852c64c386790c5455bf5cb083841d05b6d155752021a17e9d940a8140d06a8a7793b8650feb93739d0fa3b60d50a10e0c2154f82a0b04028140d024c2706907fc4363995d6b895c897a5c2cd175532c751832495c90c0917acbc694f683e9188c694c52c990c9ea7f34e82262d992d3c1333f39abd1a922d8a96f4318f9890c578d614b51bb4905fa9d44c8aed4c9f069abc9686b3c8ee4cd4f44a71ac3cef64c4b6b6873fc460ec76adb53a26b9edc943d2843bdc9dbb19e4c67aa4b536d40bb49d751d8f25926d3127bb8b94417b1658c0a5d627e2bef358ffe7012b1113a34d57554a38b20263183ceaa3e57d0116d93402010fcce11864b3ba00e0941ede80155202307aaa03893941573081f368774a381cc942da4e79a2839b086458b129a5e6e62c8243961318be64f257cd868a6ae48a7666159eec68904d9f39769154ac6eff891b367cf72f6e4497e3cb485184d2af3864f2229bfad617730da6924ee5c4d84a6bd035633eb8393369d9c3dc98f87921893f304d362d3688b9d754da39d44e2ced58c715697fa0c56a7b67b465cbb1833d9716c32eb5e8d6768490aebafa888c5646e5f4cb88f0fc312b23102c507925934da079ff08d14e0a00d3099c84b594c78900f3ebaa92466d733108cb96c4f58c4a2c58b993f359c89f393c93440ad8fcc9cd18c9ebf9bf4151309f219c6e20386766c2ba8cde75977a8d8b9ba73ea43516a14bab14bc919be94d41f4f72f6e48fa42e1d43feea5bd04dda427e27c874051dd636090402c1ef1761b85c458c2a357ea63c8e9518013523e7ad62de40f00e8b67c38655ccbe62894801db17efc0ef91756cd8fc119f6e9b4cc9fa992cd85eb31e3e80c0407fbcdb618856a30d42abd5a20d0a4237661a4b7766f042d03e962ecda87512d61f4e226ab8d63603a1194e54e261f4e8499ba6411b53f71cc6c3c406699894aa77f0de95e83356336db8a6fa391dd356578f9ee627325c339c98980874bae1e882744c8a4bb5dd2b4a252e6a2919fa9ae722888b9d842e488b46a56178541235134745694b9914a4422693a18d88256e92165d5c961d2768152aadd6a6136d103a9d0e9d468d2648836d52cc48fece3822749aba59aaa844b28c35ba4a6c98e6a4a6e2c967679416d5f06af96d6f92b63c8220950c992a88889a7436ab1ffbe96ea9fe294a232e6a2987f5d5b2c54610a4912193a9d00e8f2229cbf1e87a51ea6a3234310e9ff92d6138f801444f2770e06ce227c09ef5bb69784ca33f2367c7113db4de3761d1c4460654ff65bf0d30656f275d398f5d5fee6399df41d6ac48c7667314b37bc14c760c8d67c3ba756cdeb5893b0b13b87d4e3205002a35c6ec3cf28eed203bf411e2a3c308562bdbb5ada8c9e7e5abe3084a5bcdcefcc6f7e3aaeb998aa049cbeb956d7bf74c644469d04c4aad572e7358add310d1d4f49f3e83b89877d0be7098b4c41822744168837444c4ac26e3f0467419b1c4ee2cc26119ce4f64b8b65e9dd16889589a4a5a6214c3755a342a2d63e2d2aaeb9e83baeea8eed56f9b04028140d02e08c3e52aa2520f24645ccb7d588cd949ac3f52c2c11d8924262692946220785c28ca92128c40e0f4cd7cfee92a4676c4f232958e6931d761389c5afd23bc93a84971e447ede46c85c4c58c58f4cb2711b5d34844dc24484ba266d588312b8954fd24e222340ede6bd421c94f62d2a4d51863d2b828495ccc8883c4494c4bccb1856938ca61cd720ee7649193b585e169314c6b623ac868d8479a662987f38bd017ed449711476c6a11e427316dda1654cbb3b828559011ab27756fb1839d9b8a796bac7bdd52b1ae23f8ab3e862dcbc7d80c97fc24a6c5a4a24bcc4192242a4e26a14bfbabadc354b493a849cbd1c7a4dad2923a899cb869c4d55f5663cc67675404b1f9316464d41b95351d27ad2886b422898b8797a2d912654b67b3fab193ee96eabf11fab43862d37424e54848523e3b23b2888bdde960243b9f9d8959e896c6380cf7b74331e9e943890e53016a22e3e71170643d3b9a707571a67a2a43e6113b25047fff10264706602accb31945b94924a4ab991e596de1a806323b7e32ca836b48cc04ff9030c2024119308f7953a6b070c3061686a8dab1ada8cb679d2e8aa56372589d58cf28cf4f645ad44e34cbb3a8908a488bd29376dcd4cc3d2563e2a6a1ca48aaebe4e76c614bd118e2265db9f4d098b38534c368e2627457ea36288aa51190b1e530a79a29c3c6e27da469967338bf88a2b469e4acb993d89c18d2728a28ca5a8a31298e2d3938aeeb38a87b02814020687784e17295698d0f8b292f9b027524b17171c4c5c511f7cc3ab67df429efc58538d5196a2d1aad06f47a8c40515a22199a5892e222d0aa40333c96c4a55a3212d3d08f89639a2a8da40c3d60e470621a4c8b2542e3f8bdfa3fedf9a94964e996931437060dd5cf2dd79195944a0e8072344b9746a001d08c216ea9ed5e7e63a195c3888dad7b2e4a0745597af25313c9d22d273146870615baa844568f7634fcace68e1ddff2e38f3ff2e38f3f72e89364feac5acfa46949b638836248cd394ce2242d188b28d2abd06a405fa4a72823890c4d2cab63abd312b19cb4c3a92cd555e79aa988d4d808a23322d899d66869967218cb1363d0696c3a58bd3488aca4340e34ab9fa6d3dd52fd3746a5d2a03a95c1962d3bc9c85131263107e3e11882ec3c6fcc4a24313f82e5d37e273e2eb9296ccfdec39af9f3993f7f3e8b92725129f3484aca6c9f6d8ceb154d959f0a8c064c46283e729042931abf7a0d807a68240329e1c8b192da57956a6587f8ca34cc672d93964fc2b86575adc1919fba852cdd5256c7e850a14117b39ae5c394cdde530d8f234a9b41625a1160242b69274511714d2eb33216e563506ad036b9044b85364883a9a80863736558398cd8ea3aaad24d42a7ecc3b4d808b4802a68383a959e1cbdd1615daf0be7caba2710080482f647182ed730464c980ad2c96bb42edd507c75b64bd6e71481568b4665fbbfe9d47a46b8d739ac0f7ae238267d0e450c27769a86b4a4c3e8f5192465a8888ab3cd4c387ccf5497d2a29c22d0eaa8dfedd5ea8250e973d09b40a5d11254afa3a2d1aa409f8fde442354681b5975464c9ccad28336a85ef81ab4414df67c6ac3d104e96c4bc4743ac64c8a2131e9cf68f625b2330730eac94a8c61b846864a3b86697149e454f755f4f9d56951d585a51d3ebc9efca748cb0fe23a7d1a5b1aad2351a9b404d5538256a705fd097efedeb17e9a4e37143bd2bf8362a48a48226dc7248ca94b9934a82beeda31c434b9dccd16d3e1c42d9c32fc8bdbba5eeddd253a0323997b0a89dbb68dcd9b37577fde63d7b2a194a4ace7607bf8915c4175413719010325f5e350a951022a6547bbf537cc67954a85f696772836bcc3ea549bc1a1cfd7832688ba9aa52548ab4285c9c13d40359cd8a8200e27655064cc2229d5c8a4b8089aaaa12a8d16b5494f5193b6814d06a5568b7fb365b8719db1a5a9de9fd541daafeb4d8763ab7b62537b814020687f84e1720da30e188adfa53dacd89e5bf72368482739bd4d8746b40c630ea9a9a7f08f984610a0d169515ef7023f4a1252cde7e2494e662c67b84ac5f0d858b41989a4a62691a6892276b8ed97dce17bb5fd2c155a9d068a721acc0214e5e463d4e8d028c1a82f22bf5e67213fab08aaef358f128d4e0345f9f5c2d753d474cfc73e2a5b274ba582a29d51446d51b13cab02a33e9fac8c24a2826cc26882aad352e7f44356d2521233ea466813d3d2485b1d446a6c2c69f5c4301a1b76c83bc963fe0000200049444154f4f97ad00e65d010c7fab187da61bed97fcf989f835eb79cd4c3f9182bce7268b996d4ff67efeee39c2aef84ff7fce3c90635526a03241056215895bd9895bec6417575275256a95487509d62e61d535966e49ed0329bdef3a7a6f35eefd53e36e5dd2d6de935d2d138b85d45d24ed3a125b5862a525766809604b1c5bc9605b12acce89cee4fafd910cccf3030c4e1cbfefd76b8ce43c5de79ce47b9defb9ae73e52e1f91cc2033e7e204633a2bb61ce0e0c1c1669864f2db6939742d0bfa8dc831fbba955c7ce459429b7b3fe962c2a443c1e877193b20e11e9dba050b98c17e36b7f5ca5c8c3c05d35cae5d507f7c2b1dad7ee73993c990397880adabe7f04230441afde8f7ecd8473847366760f4fa0e0e9c5662f37ab1a6c2c41311e2860bbf63f00fa86ef7e1aa7b9150243d3039c8c40826c0e975a08fe5333c8ce1beeb420821de5b92b89c0c05a0600c7a6d5230e873d15237158eecdfcfa1f69768dd67f499ae5feac37731ecfeea226e5815a279ddbddc76eb7a665f792100edeb6fe5f2abd71edf30acfde4b219b2d92cd96c86743246d0e3e22bd9c50403a596138bcb87231bc41f4a92058c6c1c9fe33c1c4de53b98360f3e6b02bf3f8ed5e7c3565eef88cb9559dd3eece926fce1143920970ae36f4a63f3ba4beb2abc4853204ac6284f0b6670f8dd43765dea6f9ec78f3ddd4420922687413a1a20f0c270578f0646365b3e265932a9184dbe30af36787159c1c81914743366b30e18a423019a5e2e60e4c0e2f4e3cc850944cafb920ce1f347491fbd9b5bbab36bf54568b2c4f0f61ea9acf022a148f9d864e30443199c7e17978e747c8630fcf137482762c407e9d6924bf87139bda521b1750b168b8e6e32631ee45a32130d92307bf03b4b033c4c76fbd6af237fe520dd35672f64e95cd8fe68987d473fdc75cc9e359543ad2db4b6ede3a58d0f12da76083a76b2b3adf48cd5801800432636fa7c3f6b16c2f30f36d333d0587b6b0bf92bbfc6f2525828859f7ecb8f47ace87f9e7b06ae70fafd34ec8d104c1858ddfed2e72d9c228741261aa0e9c55261869b0694634892267f0cdcbea1136bb393507819d9af387005a2e5674b32a46241dc8e95241d21c21ecb983ec3c319eebb2e8410e2bd2589cb78ea78898dcd21361e02763eca83eb5b7b5dc080d1de4a73731bb09375e156da8d3a2ebe6b3973dbbec0f56b773343db7e6c7a732bedc685f8376c60f51533686bb98f2f84db98bde66196966fac1a870eb1bfbd8323c779f7f698022f2cbf889933673273e6795ce4f41135dcb4a46278ade5592c5e62f126cc113733358d53667a49399a4984ca0fab63c5e3b793cfdbf1b9adc7563de27265563fb17800424ea6691ad39c61f0c788077a2ecbe7e03042384ed198e60ca107e2c4bc63b848b6fa88453d649bec4cd34ec11906e73c8eb6a20c94e7a91bcf2b1f93999c77899798d9c7a658001b60f58679c09ec03d4d43b7d8f0251c0457cc21974e93b37888c602e83dfbe28e610bc709f5bf83acdbf0479a303fe5c5576e76d1eb1ab0a77cd86d562c763f595f9ca8c7328ae33384618f7f8698ef46bce18177ae2dde08514f8e267b6980027b20873716c133e090a789865ec4e2f1621be305e1fb4f9e97d6afe2d35f7d9eedcdcd6ceefde5c660dfe6165adb81fd8ff2e955eb686d37009d056beee15a227cfaea4f133696e2bb6c2eb3e6d791cf1780de316017ddbf0ad3bc130a3bc334b7eea3fda58d845bf6c36bad346f6c23cf6c563ef90c5f9fbb91db6fb889db56ddc6bdbb97f3c4e3d7518fc1becda1d2f2ad0ff2e0e67df4b4cb8c47ac18f23c5b3df81b3b8836c5c85abcc462fef2e7f4141c611d77635de93b36dcb4d28af0f8edbcba57c7edb30ffb1c9fc51325b523882dd584db36936933cfc31988630e6c211df761652c9fe1e10dfb5d1fdbaa8410429c206d90f76abfffd477dff9f8df5cf39e1746bc779e7efa6900eeb8e38e092ec9286442d86c519a32c9315f741c954d92c85a71d82de50ba22c11879590374dca671db7a2beafa583d8ec319ab2493c27f0db13870f1f1ebf328909f75ec68a5cdc8dcdef20910e0cdb922826078915424c2eadadad5cff89eb869cfed65b6f0dfafef35b135415dfe193cb3ef549a01378bbfcf756afffef040c6971111f0846368ad7e126942c8d7c968d37114c59f138ad135db40a6190cda4c8e996010f1a0b71d2195932e938c14002abdf23498b1042884149e2223e10747b13d1a085886b1a9a760a565f1a67248e5fae90004807edccbc2686d51718f6a17d214e06231dc475d135442c4d848ff64f15420821faaa99e802083122ab9fb4e13fc1959871f863a44f743593942d90460526ba14e2834ab78748abd04417430821448593c4e503ecfcf3cf973ec642881149ac1042085109a4abd807d4f9e79fcf25975c32d1c51042543889154208212a85242e1f5072212284180d89154208212a85242e420821841042888a27898b104208218410a2e249e222841042082184a87892b8082184104208212a9e242e420821841042888a27898b104208218410a2e249e222841042082184a87892b8082184104208212a9e242e420821841042888a27898b104208218410a2e249e222841042082184a87892b8082184104208212a5ecd4417404c8c9ffce4277474744c7431c424f5b18f7d8cd9b3674f7431c4389058214e2689154288b19016970fa88e8e0eeaebeb27ba186212920b91c9456285385924560821c64a5a5c3ec03a3a3ab8e38e3b26ba186292397cf8f04417418c338915e26490582184182b69711142082184104254bcc991b8e4dbd878efad3436dc4aab31d185e9cb68df46f3ddd7d378f9bdb45558d98410ef5f125b8410427cd04c60e262d0b16d23a15bad4c9f3e9d998dd773d3ad3771fde50d345c7d1ba16d637918b48e19ec67ffa10aacbd4d3398916f637fbe30ca050cdadbe44158214e8c41fbb6f5dc7b93ad145fae5fcbfad6760c20dfb69ebb1ba6337d7a03b7debb9e31859a4a32e6d822841042bcbf4d60e2a2537fd9527cabaf630626ae7c68034f3ff934fff9e3ff64cdd456eebbe106d68ef63662dd6ce62f9871728b7b9cf4fa0b99bf600c0f1fb6b7b0b6a574812584385e3ab32fbb85356bae2cc517ffd7b8e5cad9e840dd8c3af27557f0d00b2ff2e43db770d9fbf4b9f331c71621466264c8e426ba10420831b489ef2aa6d7f57b63364bfd573295fd6c6ed93fea0b78933ede059b00f99708ddbe969df9f776b3d9780097cd8ca66968ba15a73f46a63ccd4847f0dacbd32c0e7c91f4807362a482d82d6ee247271864a23e9c561d4dd3d02d0e3ce124521f8af79ea9cf0bf997b877550b0b1e7b9295f32743d0780fe5a23835ad140b8efe99b1bb8324b227b8ee4c08bbee2032d87a32216cba83e8896e635c18c45d3aba3b71726f2e65e304dc762cba568ea176dc811899e3d9e870c7b6372345c0ee20901a6223b958f9fc0fb6ae34419b86a6d9096732441c1a664f6290989f25ead4b1784ff2f113424c5a139fb80ca290cf5300eae6d6d1e7d222ff12cd6bef66d56dd773794323d7dfdbca90bd3c869cd7a07de3dddc7aebddac5d751397375ecfbddb7a320583b6e6bb5975f75aeebef572664e6f645dfb716cdb6867e3da5bb96dd5ddacbaed56d66e6aef3d7188ede779696384d67d050e6d7b9055abd6b2be7df8edee5b773556db6db49e48a2938de07147d003490e2bc5e1541396e88db883e95245e6f69172c538d8d9c981888384cfddab623348c7fc381c5fe1e55caf6a281dc2e58d630ba7e9548a6ccc4dc6efc69f94aa4a4ca0fc4bdc7bdb83d4ad799cbb864a5a06fdbee5d976efd5cc9c3e9de98d6bd9dc5efa1c1bed1b59d560e5ea7be3fc30743d33a74fc77a5333fbf2795e5abf8a86e9d399de78371bdb4adfefb6e69bb035dccafa7de5ef81b18ff56b57b1eaeebbb9edfacbb9fab6665eca031874bcb49eb5b736d278db665aefbd1aebf406eede961f31b60c15bfc625560050c7b24d073878f020070f1e60cf8e308ef45770fbe2726362dca409baae216c780827f770e0c01e92610f46e4469cfee4d82ff82d6e42d1204ef348331a647323afddc48b8463997e458e10d9dbf30f2beec0628c589044ff0f4526463069c51b70920d3b47537a2184e8a3e21217a37d236bd73e4fe1621ff72feddd0da29df577b73063f5c33cf69dffe4474f5ecba1476fe6f6f583a50fc3ccdbb191db57b5327bcdfddcffd8933cb4703f8faedd483b94ba696d9ccf9a87efe7e1277fc433beb9c7b1ed3cdbbe7033a1196b78ecb18779ec3bf77325478e4d1e72fb755cbaf27e565e08532f5bc3638fddcf2db387dfae5e3f8bd9b3eb996a1aa418a33dded92c164f1341af0d3360b6790878e6908ea7c9a64244b32e820127165dc7ea6a22e4ca120da730304807ec3802193cc165d4f7be0eb4054865d3845d56740c0c03d0cd58e406b79828875a597beb7db0e63bf82f1dea8338d4f7cde0b27b9ee0a185c08c052c985d5a5e9f319719736fe1a1352e16fb1fe36b17835e7f31b3ebeab8f496fb79f85a13a61997b1707e1d50c7dcb91772e5fd0f71cb853ad0c1e6db6fa6e5e2353cf6f0c37c67c3e3dcf8da5a6eb8b5b9148bf43a8cb6fdecdfdd42db82d5ac597e1973eb8ce163cb90f16b7c6245794de8160b168b058bc58acd66c366aec36c35976f321964a27e9c3d2db89a199b2744cfbd8e5c3284c76e294d33dbf18453835c8867887a2ce8f640af0bdf1cf1262756fd58ab70cf4dff5c2288bba755d86cc31d4c94a66542d8cd4efc3e1736ab05b36ec6ee09933e5a9670dfb2848ea75578a8fdcd11779bfbb62c18497c5633ae586ef8e394cb9048d7e36ef2e3b6dbb05a6dd8dd01a291d5d88df4b1fd1eea58a683d82c4e7c6e1b9a66c6f9d0ffc3ef291fcb4c08bbd98ed7ebc466b363b3da70f96364c91271b9f8f78e3c4fb9acb82299c177d7548febce46d2e163adf260900ac760c932e6943f5f6657008f394128deb769261d0e91b6fbf1d9c0ea8b8ff9680b214485242e05dac26b5975bd8db3ed6bc9fb7fc89e1fddcf65bd7a91196d611edd7988ed2d2142a110e18d79e62e5c80e9d0a1815d97869b579fcbb54b97726dcfc5475d1de4dbc91b60e4db69df1926b4b91d039d4b57fbb8ac6e6cdba67d3d6b379a58b9747eb9229fcd95371ebb806098edf737d276672ffd0e3ffed1fd0c791d360aba3d4034e2c37674a369a2f12c36b70dd269721607d6a377eacc581d1672a9343974acfe04d9740cbfd342ff22e8661db2519ce65398f9f1af90f384f0db25731113a1c0ce075711dede46dbfe8e21ef580fff7dabe73aff8d4cdd1ee6d9722b86b17f23fbe72f67ae0e309beb562ee0506b849d06401db316cca6b0bd99d60e803c3b9f3558daf340cdbe306b5beb587a65f9e68c7e21b7acb916d3f60709bd04f5f32fe3b2d9609ab59295d75dc75d8f3dc65d751b878d2d43c52f189f5851d2c1bfffe529c7ba8a4dbb84cfe7bc449a1ca53265c2b8bd316ca1344a293a0f84b1c53f8f2f9a856c148fab899c37566add8db948f76f893532443d4e7c192f8944af5682c25ee2592ff1ace270328039e2c11dce40268ccb15c4f0c64beb4cf821e4c21d4a978fc90bc4cd0192992cb96c145bc28f2fd653163f194f94839d8ac3091fb926179eb1f6471b727f0d9c7e17c4c3f4ec9e910a13cbb9f03bcdc31f27b303bf4727ea71e30b45882733e400b32b442ce2c50a231fcb8e174858c31c38982272d3f43e4536f22f933437914ca748a722d8e35edc61036f3cce8afa3a96c533c4bdd62177d9e2f661cf4488a67b5698221cd7f17aedc7ea01dd81df6b2119ea95e0184942d12cce80a7b40fbd521f218418ad0af9014a13f37df7f3d88cb9ec777c959d3b8fa0afec3b47617f1bed754bf1f95732d8e3a8c618e6f53f369f7d9bd771eff64314daf34069541e7dfe4ad62c6ce6b39fb6b3718197fb1fba875be6437e84f5f5d6b16d13bb0b3398dd67ac805eb739eb2e1d72fbfd8db41fe3ce4813f6b8085b82247c368cb001bab94f52a29b75307218806eb194161b6a7d160f899c875c2a8cd7e9c6654d910ad8869a5b8893c4c482af6d6061f806befad91bb85dff114f2e1df88d1ae9fba62ff473cbac45849adb587ecf5cda5af6b3c03bffe8f763f6b55e16ac5d4bcbce87b86cc17e9e6d5bc0c2a92d449e6de796a5fb7996a5ac2927121d3bb7f35aa18e19bdbe5c75175fc9856c62e7ee4370691d26c054673a1a3d468a2d43c5aff155c7929604c1f24d885c264924b01297db463ae1c36af5124b7bb0582d6064c9e6742c6648677364136112661f499f033380b38978d28361d5210714b2c47c4e7e9072b2251dc4d1bb6b93a981a690179b19b0fb080642d8c371b6196152b626d2fef23aed3e424d616ca11869b70ea6067c3e67699ad981c70681548eac112a95c5ef2cb504db7d840221eca138598f17cb680fc730fbab7bfcb87517e1440ea74b27198a833b5a4ac6cc432f07365c9114a95884703482bf69257bf375cc5beca52914c463d3873f965980067c7e27560b0303b4a99140e0d831f1076c844231325ec7a8765937bbf03bfc04626902011b46324cdcec236e33881c9b0bbb2f802d14229af611b0955a8862869ba8abe7c4da00f9014a21c4d854488b4bd98577f1f8430b39d4b28ab5fd3a631b1428b4b7b2bf5f1fed7cc7c0cbe661e735f6b1feb6abb9efd065acb9ff1e7c0b7b5f05cce696a75fe6856f78b9705f84cf2eba9cbbb7e5c7b4ed42de000a0c3942e9b0db1fc37e8cb76c0cbfc341902692713f76bd6f9272b44cb981c9cc48cc761f419f8597a371b9c7262646dd7ceedaf023bebe30cfb3b75fcd6d1b0776f31cf1fba6cfc7e7bb98d79a43ecec686353fb42965ed86bc6fa2bf12d28b0b97927eddb5b3874cbd7f8da7533d8d9bc9997b66d866b1770b411b96000790ef5de965e4a5674d3e0fdb9468c2d43c4aff1a563b6da4a5dc46c361c2e2fa1f09d985f0895eec01b3952212f767369500eb73f4cbadcff2a97c982c5d6abcba88ec56eefd5a2fb2af18c9579b938917e0f47e8baa574115e66b15920f70abff965799df49e6645cfa5c915cadbe817ac0ca0239da5f0eaa35c72cab181062efaca5e0ab934d9b184d761f617dd8ecf6d261e4e92cb250827743cfe72cbd470cb0118666c6e3fa16882744ed179304ec01267b9c34b3c378a6369326319e29916dd6ce975ccc16cd1219761148fb7f4ac00a7df492e122165e4488613587d6eacfd2b05ab9b80334b389cc220472218c7ecf5e390867721c409a8acc40598bdf2311e5a98a7e5b6bbd9dcabcead9b7531338e3ccbbdebf71dbb90ceb7d2dcda3e601dc3cd9b6f5dcb175ae7e25b3e7fe0c5777b2baded75ccbfe5617ef4f233f8e6be464b7827a6b16cfbc219986863f31043830dbbfd31ecc7783252419c362f294f8c54cc87ad5c30b3cd86399bec35924d8e4c325b7a7f98f5e5e21e6c763fc706a7293de7621a63c223c4b8d24bc9cbd716e4d974fbd5acdadc377919cdf76df6523f0b0bcf72df7d8fd27ee575fd5a66ea59b8720185d6fbb877bd89e50beb99ef5bcaacdd8ff2d5b0ce8d0b8e7dfaeb162c6006fbd9dcd62b4e18790aa6b95cbb60f0f199478a2d43c5af933e2486aea3975ec8463d78223a4da94e8c5c8654228cc75a4ac4cc5633647b270606a97080504f92626a20148f130f5a89f97cc47b5dc81b468e6caf7fe73239b05ccc451f29afb35771b2e90c86d9867998e779ea6c164cf31e608f52a89ebfc307389068a26f8f568354d08533d0f32c4e2996e9e57986dbdf52ab830f4b22442c16266ef6e02baf7cb8e5723117bac5dd67ff758b036fd04f839124911dc5b11c8691cbf619f23893ca82d986790cc1d9ecf4e3cc458924138492567cae81dd85c1822be0c2888549a563049336fc3ebbd40142881332f1898b51ea2a952ff4dc469ccdcac71e62616113b7dfb69e9e4b06fd521fbe8b61f7571771c3aa10cdebeee5b65bd733fbcad22dcf42e966e4c8f3160a148e6ca7a5751fed2f6d24fc6c3be43bd8bf731b6d87b6110a6d230f50b780e557ce65f6dc19236ebbb7ba857e96cf38c2a6557797460f32f6d1dada0e87da68dbdf8e31ccf6f7195037158eecdfcfa1f697d85ef7f7c36eb77dfdad5c7ef55a5e3a912b936c14b7b309231023e2b56164b364b359b23903ddeec7638e130824c81a06d9781381b805af7ff8cac76c77614987f18792e430c8269af0857338fdaed177c110623c14f21880d1135ef4f9f89f7986d517bf46cba7af66d5c663bf9934aaef79fd95f8af35b1b3e510d75e3bb04359fd953e161676b27bfe72e6eba0cf5dced25987689f7b23bd0732d3e7fb59b3109e7fb0f9e8afdeb7b7b690bff26b2c2f6fae00147ab5ae8c145b72f9c1e3178c53ac00c0381623b25932a9184dbe30af367871594b2db205dd8cd9ac0306e94880a6970b1839b038fd387361029114394a5d877cfe28e99e2c001d5dd7b1fa22345962787b8f5456789150a49c3c64e30443199c7e1797ba7dd8d34df8c3e575a6c2f89bd2d8bcee63cfed0dc2e2f2e1c806f187926401231bc7e7380f4753ffc10274cce62c2f849b8824d3a4131142c90236970d9de1f717009b079f3581df1fc7ea3bf62ce170cb999d013cfa0f70bb7c44e229d29934e9649480b789972d6edcd6d11ccb61145ea429102563948f573083c3efc60ae818643399915b9d74077e17447c7e92763fae2102bbd911c0438c4053908c2380c73a72f1841062381398b818746cdb48f8d1560e013b1f7c90f5ade53b9db36fe1f187ae80e73fcbe557af22b4711f0617e2dfb081d557cca0ade53ebe106e63f69a87595a0f467b2bcdcd6dc04ed635b7d26e0c3d6fdd956b58bdc0a0e5d337707b0b2cf75fc78cc24e36ee9fc12c5381f6c80d345e7f1b6bd7ae256cf8787ccd7cf461b63d807e19f73ff30d96cf68e5b38ef368b8398271e16c66cd9f4dfe9031ecf667eb755c7cd772e6b67d81ebd7ee66d6ec8b87ddae71e810fbdb3b3872023f9c9d0a05f861bec08b5ff938e7cd9cc9cc9e3f578c9c6e27180f634fb89979ca29ccf424b08763348df490bdc54b2cde8439e2629a565ace164a10f348da22de2b06eddbd6f360a8952314d8fee05a9a7be24bfe50f91ec76bb4dc6e67d1ad6bcbad2aa3f99ed7b1d0770b175fe1e3cac1beff759771d7d21b59d3937de8f359bef25a96afecdfc23a9b954f3ec3d7e76ee4f61b6ee2b655b771efeee53cf1f875d463b06f7388e69d50687d900737ef2b252323c416182a7e8d4fac28c9f3d48de71d8d13e75de22566f6b12916c00658bd611eb027704fd3d02d367c0907c11573c8a5d3e42c1ea2b1007ac8c9344d639a3b862d1c27d4bfef906ec31f69c2fc94175fb9d941af6bc09ef261b759b1d8fd647d71a21e0b58fdc4e201e859a7330cfe18f1919ea53b1aa3dcccd4344e99e925e5682611720cb82963f54658e74a13f8cb8bb8e8e341729e6622e55836ecfe96e6c0e3b793cfdbf1b9adbdd639cc72662791d4169aac299adc9770d179177191d34f5cf7b225112a75b51aedb11cd41c1c4608c7291ad39c21f4409c98d702ba0d8fc74672e5453802838df6d6e72461f7b9d0f7e670f43c4334e86c767c7e0b2f3c95c315700ddb522f8410a3a10df25eedf79ffaee3b1fff9b6bdef3c288f7ced34f3f0dc01d77dc31c1251193cde1c393fb81db7cebddac35eee1b1ebfaff78eee424b16212c984b0d9a234659254c27da4c91e2b84f8a0696d6de5fa4f5c37e4f4b7de7a6bd0f79fdf9aa0aaf80e9f5cf6a94f029dc0dbe5bfb77afd7f27604c7c5731218478dfe860db46587ad9072369114208212a49850c872c8410952bbfed5e56850f317b469e7d33d6f0a4e42d420821c47b4e12172184188191dfcfce675bd9bffc219e5833f28880425424ab9fb4e19fe8520821c47193c4e503ecfcf3cf973ec6428c42fd754f92fee3449762e248ac1042085109e419970fa8f3cf3f9f4b2eb964a28b2184a870122b841042540a495c3ea0e4424408311a122b841042540a495c84104208218410154f121721841042082144c593c44508218410420851f1247111420821841042543c495c84104208218410154f121721841042082144c593c44508218410420851f1247111420821841042543c495c84104208218410154f121721841042082144c593c44508218410420851f1247111420821841042543c495c84104208218410154f121721841042082144c593c44508218410420851f16a26ba004208218438393a3b3bd9ba75eb4417a30fa514575d7515269369a28b2284789f91c44508218498a4e2f138cb972f9fe8620cb069d326aeb9e69a892e8610e27d4612172184106292aaadad452935d1c518a0bbbb7ba28b2084781f92c44508218498a4945247ff344daba8572184182b79385f08218498c48ac56245be0a21c458498b8b1042083149158b459452148b45344daba8572184182b69711142082126b1896e5991161721c47891c44508218498a47a9e6fe9ddf232f8ebdbfcf4f3f3309b2fe4f33fed1c61fe2c4f5e55cfc7feedd541a61fe4bb7f63e1d2c732c36e4f9e7111421c0f495c8410428849aaf7c3f9c3fee5b6f1e8b375dc78ad898d8f3e476e84f95100639fd6673e21841823495c84104288496ab42d2e07ff2bc4b6a91ebef4bfee6476eba37c3fd37ffa57b8d97e36679c7136f69b1f645b9ea3d3b39bd70e326df8ed49e22284381e92b80821841093d8c8cf9c64887d6b37733fb78cb973ddfce347f7f32fdf6ce3ed9ee99975acf8871853bff43cafbdf14ba2ee3ccfbf52005584f66ff277776c64ea97b6d27e68374fb9f3b4be5218d576851062ac24711142082126a9919f6d29d2d9f64dbed9fe577cd17516c5e2597cfc8b576044ff85edb9d2f457b744d97dc13ff2d5651730a5783a172cfb2a5ffc880950649e6d61f7059fe3abcbcec7a4a672feb2aff2a58f9860841617495e8410c74386431642082126b1e1bb6519fcec5b4ff1da91232cbf7036261350285000fe75cb7d7c7cd954f2ed47a0ee5ca62a557a7c85b338778609932a907f6da869236d570821c64e5a5c84104288496ac41697c3cff32f5b4cfced775fe4e5977fca8b2fbec84f5ffe294fdf7e2efff3afdf625f710a532f980a1dede48f2e97a7235fa0a0a670faf953e1503bb9a3ebcd71285fc090161721c44920898b10420831890df7acc96b3ff8063ba62ee1f6bf9cc599679ec98c193338f3cc73f8ab3beee0cf5e798a6ffc8fc13957dfce5fbcf10dfe77a48d3c06af6efa271efa7901a58acc72ddce5f1cfa065ffb8fdd1c2ebecd6bb1fbf9ff7e2ecfb808214e0e495c84104288496af851c5f613fbf6cf39eb869bf9f0947ed3cfb99edb2f79831f3cb4858eb36ee6f1efdc0e8fdfc445677f98eb9f44709267000020004944415430b1f892a9985014cf2c4ffbf64dfcd939e7f38927a694a6c9a862428893409e711142082126a99e6441d3349452fd5e3fcc6712af719752684a51ec33fd2c6efa413b376b1aaa5844737c866f6fbdabd7f4078e2620a737dec5e389cff45aeffd689a36cc76257111421c1f495c8410428849aaff0f3e56daab10428c85242e420821c42455a9ad1b9558262144e593c44508218498a47ab7b80cd56d6ba25e851062ace4e17c2184106292eaeaea1a7174af8978edeaea1acfdd14427c40488b8b10420831495d71c5153cf3cc335457574f74518eeaeeeee6aaabae9ae8620821de8724711142082126a959b366b162c58a892e8610428c0be92a26841042082184a87892b8082184104208212a9e242e420821841042888a27898b104208218410a2e249e222841042082184a87892b8082184104208212a9e242e420821841042888a27898b104208218410a2e249e222841042082184a87892b8082184104208212a9e242e420821841042888a27898b104208218410a2e249e222841042082184a87835e3b5a2e79e7b6ebc56258410620caebaeaaa61a74b7c1642888931527c1663336e890bc0cd37df3c9eab13420831820d1b368c6a3e89cf4208f1de1a6d7c16a3275dc584104208218410154f121721841042082144c593c44508218410420851f1247111420821841042543c495c84104208218410154f121721841042082144c593c44508218410420851f1247111420821841042543c495c8410420821841015af662236dabde73c28be39119b7effab3a9dea8b0e4c742984109394c4e71320f15908214eaa09495ce8fadd846c7652281e99e8120821263389cfc74fe2b310429c5413d355aceaf409d9eca420c74e087132498c397e72ec8410e2a492675c84104208218410154f121721841042082144c593c44508218410420851f1247111420821841042543c495c84104208218410154f121721841042082144c593c44554bc5ccc8dc5e2219e9ba81218649311fc2e1b564f0263a28a314e8c4c82b0cf89cd1e20f57edf192126b5898b3d638abbb914d1801b9bd54dbc62638a4126119e3471fc2823432ce8c7ef7162b5d8f184531883bd37d1e52c9bf8fa5cbcdf555ee2a240d3a0fa74a8ae83ea53cb7f7334aaab4015df836d9f06d535c058b655846a13549f01d5fa18973d898c4c8248c08545d3d07427814882ccc98c60468a88d789dde1c4e9b0a16b1a9aa6e18c1d7f94d2ad4e5c2e27567dd4852093ca8e6ace6cd88ea6594ae575dacbc7c986c3e9c461b7a26b3aee84816eb1427a2fa35bebe8cb998a06703b9db8dc1e3c5e2f5eaf175f2044d0173a7949856ec1924bb13737d8060c3289284197194dd3d06d0e9c4e0736ab15873b48fc840ec0e8cf8ba850129fc7cd44c49e6c324ad06341d334349b876074e8fa6060dcedfffdedfd6f3316d2eccd8e3568f58d3766bbbb14073d2e1c363b4e6f88c4b8850c1d8bdd8125b397311773dce54846fcb89d4edc1e0f5eaf17afcf4f281ac6ef8b33fadad220157013b2040845e3c4036612a127f9c197fabf17257d3cfbfc3eabcfc50743e5252e5ae9e5ed3fc0ef7e0dafbfaec8fc1afee3b16ede36a0ca34be9babae852a0d50a56d2b059d87e1dd7780ea51aee4dd528588097ef992c2f81354e9e57596a922545743f5791ad5a7005d8394a3aaef32e341b73af13635e1aa079c019abc630918639523e6711134379148264824d3e4f634b3acfec44e9a6ef71389f8b08db6dc9908fe486654779872d879644f86543241221ec133077086482412245319b25b7c580c305bed38acc7bf0f0365897a6c388206be6882782c4a341221128910741bc4e28931545e63a35b6cd887dc191dabd383bfc94d1d265ce10489449274328435f915aeb17b491c6fc1c6705e448592f83c6e2622f6581c1efc010f7380c6a61001cfd0f5c180b8dbfffbdbfbdf662b7687e5384a742cded463c2192ac7c1689c6422882df1793eee1cbf9661dd6cc5763cc51c4f469a90d38a2b6225104b108b4689442244c201ac8910e15476f431d248118ea6d12d6640c7e64f904dddc4d60dfdde4b07b18fb9de7fffd5e7e283a1e21297ea3af8430eec9fec62e1ad5ddcf4d96e9efd7191af84baf95327549d324e1b2adfbde314d0aa4bffaefe1018efc0c24f75f1fc8b8aea19daa85655350df27f84bf5edac55f7faa8b4f7db99beeeaf29dbd9efdfa10e4df847fbcb38bf45e45d5b463e580bee5187f3a3a60d24f5ac65262a488c473585d76cc3d5bb6790987dd584ef2a68fca25097afc244779716d71f8f10e1341cd4e3fde72cd3e7ebb60900eba58fe9485502c84ab5f456a760488061d18131aa9f5befb6b7111f0cc818e28a1e3b98a18e379119549e2f338ed1f13157b40d74bdf6d7d2cf541ffefef20dfe713aa5e74f3c0f72c2e9a9a1a616ff8f8624e453248065c7c3ee9201cf5e3e8b3db16dca118415b6e0c37ad726472fd8ffd60ef1d4f51df7ff5b9f860a8b8c4851a389c57ec7f55f1e017aa883c5183edc31a75a76b680a38a37c57ec744a77d2ced1a8b66a545bb45217827aadd49d60a656ea1a705a797e73f98eda395aa95b8355a3aa06567cae9bdf65a1ea4c0d342816e117fbe08d3f0233caeb3e47a3ba5ea3facc7257857aadd43de2dcd274edbc2a567da59b5ffe5a917ca196bb6fada22b0f9ca3517db646f574d06669d44d8377de85da6a0dada7dc7334aaa7c2cacf77937e05aa2ddac9ed6e01804126eac3edf6e1f7bab0db9c041239204732ecc1aa6968562fd172dbb2918ee2b359708592e4865c16c08cd552e0873e1f915eedd266871747ef4067a488f8bc787d5e5c761bce409c6c4f5f6eb70d9b27463ce0c0ac59f16dfc6fa2013776ab9bb851eaa3ec73da7004132482e52e705627c19ef247c3c4d3053a124d78bd7e221948871c9887e8536bb61f0bca83d2ad387a5f5c1806e9a80fbb5943b33809f6ae507349c27e1f5e8f13bbb567bf06918b13687a19d392263cd6c1376bf50470f52e989126e2f7e2f5f9f038ed383ce1bec17cc4e919a27e371eaf0fafc78d3f9a196eaf073b10e58ab027a119ea7330d8799ccd8df7fd4bbff362900afbf0fafcf8dc7674cd4668ac4512ef3d89cfe3169f2724f68c5636d92beef68fab77f1bf1f1b1867071887321983ddbd39d158d85b2682cbac63f30489268668e918727dc79e3fb279e3a4633e1c660dcddcefdcf4968d1178f4554c2eff801b5600e836bc7ee7b1cfc530fb62244378bd41928502c9262f1e6f8067360f7c2f9e65f87331e4b4caaccf85184cedf79ffaaefae31fff38a6bfef7def7b6ab4ba764f575dbfa81df44fbd56ab7ef94c8d3ad38c527b6b955226f5d25335ea5c8ba6d4afa7a8b6ffaa516befa8526f6cab55aa738a7a3a54a3fee973d5eac7ff51a37e1daf51cf3757ab7752b5ead9708d7afb67b5eaf7db6bd597ffbe4abd12af512a5dab36afab510f7db95aeddc58a37eb1a94601eaf39fae52eaf55aa532b5eacd976ad58c3334b5ed891af5e62f6bd53f7dae5afde01b35ead9708ddaf6448d52bfa9555bc2d5eaf7db6bd5fa7fae56fffc856ad5beb3562dfe5895baf8024d2965522a3745a9dfd5aa96ff5badfef58bd52afd5f356ad323d56af3376a54c78f6bd5a19fd4aa9f3497cbfd648d3a98a85580f2baab946aaf55c53d831f9bae5fd4aaaeddd3477d9c8feadca5eeac4799966c559d4a2975b059359ae6a8d5bb3a95529d6ac79df58a8675ea406966b575599d62de036a4fafe51f58d15c9a3eecb24a1ddcb242cd0105f56ad1ea16b5a7b37f610ea8758b1bd48a2d874babdeb142d563524bb61e5607776d5277ce41316f897a60d326f5c88a15ea9f7f9c525b57cf539816ab2d9d9deae09e16b5a40e55d7b8423dd0b243eddad1ac96cd4151b74c95567958b534a2ea56ec503d9b3ed0b24c3534ae563b069465e0715a3d07c5e22d6ae0ac87d5a64528e62c530f6cdaa50e1edca51e684099166f5287cbfbd5bcec4eb5e960cfaad6a879a016351f1cb8992d4b940954c3ba03fda7a8035b9ad59a154bd492254bd4b2d5cd6aeb41a5943aa8362d99a3163597e7efdca31e693429d3a29ee33ed2f4c36aeb8a79aae1815de5fd3aa0d635a298b35aed1ae29874eeb8b37c5e3a7b0ea25a568f625ef9380ef939e81cf43c3eb2eb60dff372609d5ab4e8d8676ec7ea25ea91fe87438ccaf7bef73d89cfefe7f8acd47b167b94524aed294fdf7478e8e21cded32bee96cad037ae0e8cb39d5b16f59a7f6c65eadcb5ba6fbc514a751ed8548a390d6b7ac5a9138f859b16f5d4859d6acfba656ad923bb0639e6a3d95ea73a7c60875a3307c5bc65ea819663e786452d6ab0a33b74ec1febb68fae502d36f53d6e03df1bee5c0c7f9e2ab13e7fbf194d7c9e4c7f1b366c5046e7db43fefde1f76f0cfab761c306f5fda7beab80a5c035c022e052e0cf002b3003381da8adbc1617c07cba46e15db8746917ab567491ff13fcd9f91aa93685f74bddfcf736c567fe4f377b5e54dcf6bfbbd8f8a322d7faba782ea9f007bb79e75d58fd40372dcf16f93fe152dfeb7bbe51e4d9ad8a4faeeee2fb3f2a72d367bbf9d9af14b36796eef4d1cdd1fedba65a304d81bbbed8c513cf14f17cb18bfffb9d6ebefead6ef6a7e1fe6f17b96f5d375f7eb89b6f3f5de4aaebdfe5f1c7aa79e5378abffbc4bb5007db5f502cff5237bfeb86cfdddfcd8d9fef66d76f147ffb852e7eb4bdc875ffd8c58678914f7fa98b1f6e2f72fe2c8dda5a4a7dab47d703e2f8e936dc1e0fee9e6e086633e432949ed5d67104bcccd91b2652be6b64a4a264dc2eac232e0b165784d4ae665634e478e1d1e55c64b6e38d1c1bd1c4480609a6edf89ca57b4ababd89f023217c363316bb13a7154c561f3eb71b7f24c297feba01bbb3e7d6948ec566c76101b3c38fdfe3c0eef0128e2ca32e1f2334c46d35ab274a2a19ea7b97e83899ec3efc6e3b168b1db76b0e854c9a2c60a442049359129120c160905034876d51237a76e05dbc6c2643a1e7d8f5a1637579f1d9d3fce00749cc1e0f4e0b900ee18f9bf1b8ace5d96c789bdce82f34114c1a234fcf44f047757c1e7bb9b5c48acb336f147b5b201d6922e8f7e1f645c0d3cc8e9ee338e4e7401ff43cfafb75b036721932c910c15806031d47c08f73d8dbcfa252487c9e98e33e1eb167b474b3ad57dc1dbbe32b538144c083c7ebc1edb4613eef469e6209eba24dc79ecf38d15878548e74c44720e727ecb70fdd156fd8f581d96ac56e813abb0fbfa7e7dccc836c6ad0d6a55c363b44ec1febb6477f66873b17b911ce5325d6e742d44c740106d3d55d6af2b77d58e3c28f4075159c61867ffdf76eeacf82cd9b6b717efc5dfee11fbbf8c4a22a9e5c57c3fc2bdee5dd2e38c35cea8a603b4fe3a7bf50fc7c8f62adaf9acf7cad8bea2a58bc5023f6ad1a3e766317e6d335fefc428ddb6eaa02930647149a06534f83edbb146dbf81f4b335fcede7bbb96076a99bc2d7feb59b859754913ea0b86d69159ff15433f7da7739f7231a6d3fae61ee655d7cec9e6e7efd1bc5958d1a0f3c5cc39fcf7b877b3e53cd57bf5e4d6c4191c2bb30cba2918ad770cd8a2e7edb017fd9a0f1f737568159a3bb5da19dcc94d2ec2010b1938e850824b2189952179f1ebadd876fdea384c2299ac23692d11cee26cba8960530dbbd44526efc91003eff37f9f7959790caee2219b0934b25c9e2c2dc5353e856dc7edfb16d03bab9eff31583f5d5d52dc7e631db3dd8798a6c2607c377be3871bdcaa25b743072180618e91419b3077fc0574af086612e575ab94c96c1ca5b7aa812ace583944d2678b560eed3afd86c7761e32992a92c597da4e9515e2e58b0f6b90e194d1667c2e66d22e01c64de913e430c3c8f7db66ef7d1e40cb3f2c6f38836de49281cc46b1f4591c48493f87c92e3f350c621f68c69732770a3e7f8ca64c2198c122dc71b231323e0be91bb2eb293de9124e4309f702cec79a8a4906ac21537f026c3c3d618236dafdf432a00e816c0304acf28f63b867a39a61b838ee838d66d5b475c070c7f2e72d191cfd3a4aecfc5fb5245b6b8fce96dc5941a78e2e16a567fb986534f293d38997b13a64dd5e0348d69751a7b7fab9836153043fd19d0d909b5d5f0a1d3e1433abcd50946015e78a9c8973f5bcd5fda353a0bd0f5369cfea1d2b4b73aa1e3f794eea44d8553a7434d35bc71184e3f153853e3d453e0dc7a8d8ffe9946744b91f97361563d98a6689c7e2a9c51a741bbe28285d5fcf2991aee79b89ba7ff5bd1d8501a0e67eaa970f65940beb4ee77bb60c674609ac6f4a91ad9df2b3a0de8f843a91c27ab523c1a308c34118f8340d6495328887fc09d351b1e7f031dd110894c82289e6377c3875bd6481339faec8419bb374c32b395d5f3e0e5a6269246e9d2b6904d93e9773365d0becca3de313366d3181f361d37e556290c0a9938e97efb951b64dc4db3c34d03b037961cf4aedc80bd300c2047b6f7ba75f3b1076c47985eaa240d4651578ede889fa19158f1c633ec6abe135bfa9bacbcc48eefb8872b13ef2589cf1377ecfb1a7bec79af8c479974ab9b50740df3d8cba33dcf5d9c602cec61b2f90838323ce80e0cffe0f728d7375a669b8b794026911eb9356c9cb63ddcb918f63c7d20eb73f17e503121f828ad7407ef0f7978f6b9221daf1539f216bc6d80cdaa91fe8de2406b37edaf2bdc9757f18bbd8a3d8922afbe0e674e83df76c06baf295e69579c791acc3c4be3917b6a3055c31ff3903b527a0033ffa75205f5e65ba53b8898e077afc0d617146dfb1497fdb9c61f72907caec8ce5f96869259f091521f81bfbaa48aba53e1e7bf523cff62913fe6157bf72b32c922d93714a79d06e759a035a978fb4d78f3edd2f65070e44fa54afbb71dd09628b2f78062d60c8dc36f96ca7332cf88d96a410772713fbeb80dbf77e82672ab3bc0222346c01fc1ec711c9d6ff86573a4a271327d36ea2410688442e90e94c56ea7ae102718eb75c99e8d111ae3af5119bd67cf65c93107e7710dc7393ecc563bf5f91f1088f4aa907271c2f1ccc099ad5e822beae1c5d135f99b1d0eea49134bf5da692387619a87db611979bacd828914b1716c7a1fcd6768589938f14cefcaf05522a1a40c7959e9243e579c31c59e91646284c7d00de9a497c96c2bdd732f5f089f682c3c4ab7e18d46589c7d14b77fe8df4d19f5fa46cbe6a569b1897cac89c1c7473148c762a48df1dbf670e762f8f3f4c1adcf4565abbc305c04f3548d33a7c1dfffaf2257ff4d17bfcd2acea883bbffa10aeb39e0b8a98beb16693cf68d6adef823b8fea11ba3008b1756d1385fe3639e2e6a6be19f82d57cf4231a172c7a972dad8a8f7e44637ab9e5e0ac69708a5e7a354d01a6c163ffaf9b2b5676718543c3b5b28aab176adce4ef26fb7b85f97438efc31a1f3e57a3fe0cb8fd962ab6fdbcc85df715b9eef22a7ef5aaa2d1f52eae3bbb09dc59cd7fadafe117fb142bffb68bf3ce296fb708679f09a77e08f42970fdaa527fefbfbfb50aa514fa144a7db9c78541d26b41b305481906863e0f4fcf10568641219f20124f93494609c53290cb924e268efd4895c585df052fa76c787a3f9f30c2b24632803798ec55116449c4d2d42f2b0dfda8dbfdf8e6157861a5134fb03476bddb13c3560e52060c1806d8308042dff7b2a9637d88b3f1301967137e5be9df6633e4d369b29924f1b44126e2c6eef033aafab85c80c17f9ab1e73f03e90e3ffe0678f9f3769cde20e150008f3b82d5651b646e33ae708c07166579d4ed219cea1be473fd9a46747b80a645f0c3a6f0d1df33c8c423e45c41bcb691a79b9d01bcf5799ef296478731d2c4e319c8a648a5871a1fdfc0a030f49db3913e070c3c8fbdcfcb33bb9e23182cff568dd981d7350feb84ffc0821891c4e793e73d893da5bbe1068374573252840231ace591ccfac7ddfe71b5ffbf7bcf3fd632f5bd72ed9123110cf2222616fb5d5838f158d8eb20a05b3c44224b30fedd83aff78577ef633be2fa063f5f43b3e089c458617981952e2f913eb13f4b32dc44c2e2c4a68f725f0c03a350e85b67f47b6fb87331d279aac4fa5c88c14ce8a862dd6da5d7df6dad55bfd854a3766da851877794467a51afd6aa775fae55fff3dd1aa5f6d72ad53145fd7e67ad4a446ad479e7a27ef54c8d52076bd50fbf55a38efcb456a9435394da53abb636d7a8e2ee5aa5f6d7aad713b5eadd5fd4aa37b6d5aa3fed2cbdbefdb35ad5bdb7561dfa494d69ddbfaa55aa7d8a52bb6b55eafb352afbe31a957fb156a93db5eac84f6bd53b2f9746d7f9cd0f6bd4ee5869741c95ae553fdb50a3da62354a656b95eaa855af3d5fa376466b542e591a0da77b77adcab5d5aa979eaa51175a35f5df8f57abc3bb4aebfaedd61af5d6ced23c438e5833c6516b0eb6ac50f34c26356fc90ab5ba65cfb151390e6f556b1aeb14d4abc63b5bd4ae2d2b54bd698e5ab26e4f9f913b3ab7dea9963cb2a7ef4a875bb67387bab31e0528ea1bd4a2c58bd5a2c646b5b8ff68240737a9d58bea15a0ea1b56a8e6f2c8547b36ad518b4c284c8bd49a4d7bd461a554e7812dea81c5750aead4e207b6a8039d7bd403f350a6c6256ad99dabd5ea3b97a925cb1e513b7a0de172704b69bfe72c59a7f6742ab5e7814665aaef19a564a883b543b53cb24cd583c2d4a856376fe955e65e65ab5fa21ed9b2471dd8d1a25637a0609ebab37957690499835bd49ac5739409147316ab355b87dba0524a1d543bd6ad564b1a1b54e3e2256ad9b2656ac9e245aa71f10af5c896bee7421ddea11e59d6a0e6352e56cb562c53cb5637f73da6234cefdcd3ac5634d42930a9398b56ab475637a8398d836c4775aa035b5bcac71c656a5cad9a07cca386f91ca4546a90f3d8ffbca492abd51c50f58b96a9d5abef542bee5c37e408676278efe5a862129fc72f3e1ff51ec69e833b5ad423cbe69462b4698e6a686c548d8d8daab1619eaa07655ab46988b83b30aef6f93ea77bcdff4869fed195a91c6f9694e20d731ad4a2c54bd4b2654bd4a286396a4ec3e2be75975227100b0fab5d7d8ee5017578cf3ab588d2b15cb1ae5ceefe865c5fa73ab0a5677dcbd4baad07d4c15ee76645f38e4147162bedf61ed5b27a896a9853a7eae7cc538d8b16ab25cb5697ebc251eeebc1adaaf9ce06653a1aa777a9c383bd37d2e763a869155a9fbfdfc8a862e33faad860e3a3d47effa9efbef3f1bfb9664cd9ce73cf3dc7cd37df3caa79bb7f790614df1c7ca22afd42b166a6d41e5404de06a640771eaa4f054ed320a7e87e1baa3f0cbc0e533ff62ecfaeabe1b21b347847833f29ba0f97e737971eec54ef80765a69d355a751cafa4d4027741b947e7b606a69deee23e57f9f4ae92e5bcf3c75a5e55577f9d798b5f27a3a8169a57fab3f40b10baacf2cefd3bba5bfee4ea8be00763fa770dcd2cdefb755a39fa7d19d81eae9a5fdec2e307c3b58d5e9547fe40fa33ace93539aa0ed2222de3da40343dcbd13e20364c3860d5c75d555c3ce23f11989cf42549cc95f9f8f263e4f26adadad5cff89eb869cfed65b6f0dfafef35b135415dfe193cb3ef5494a11fbedf2df5bbdfebf13302a6f54310d8a0a38dceffd7285d1dd0974967fbeb8168aaf43d73bb0b5b986b973348aaf83ea3a36bdfb1de050af9f3b3e527ae9eea997df29bfd60c5c7777e999e63e65eb2e2f4f1574f72f63effaaa7a90e955506c07eb391a2f44aa815279a92e55fa3df30821444592f82c8410620255661856a50740ab4f1f79c8fc6201a69c0e1fbda68aa9a7817aa7df0c0aaa6ba07a0aa5bb8394feadf55f7137549f02d5268ef5635650ad41b55e5a8671f8c564f50e9c761a7cd4a9a14f01f5ee89aff3832647a97fb6f476156202487c16428c13a9cfc5585564e2a269a5115c5efbb5a2aa1ab46ea89e5a6afaaf9e56aabcaaa795ba19d4cc84c387e0959f146126549f56feab2b35ef574f815c1ede3c02d59672f702a0eaf4d2f2d567942bbe73e0f5dfc26f7fab4aef99cadd03a6c19ff290fb13549f5d5ee6b4d2b42a0d941a765706aa82ee77a13b0bdd452af40c542823433c1c24b6175e8d868824067fa0520871f2487c16429c30a9cfc571aabcae6240551dfc6e3fdcfb6f4542816a4eab875fa514878fc09429f0e7733576fd4c716ebd46ddd9f0e813451c760da62a4eefd678f36dc59b7f8277baa0d15eba75d7f10745fa55d06be0177be18239a51f197ba55dd1304fa3b313fe2d5ae4afff42e3ac59a0bd0d7b7fa378e17f14b51adc725315db9e5358eb35ba8b70f00d85c3ae51c571548ee2f8e8565cbe08695f64a24b22c40796c46721c40993fa5c1ca78a4b5c340d94099e4b16f9cd6b8a1ffd4f911b6fae66fbae22af1f2a558cb1e78a7c64aec6cf7ea92876c3d93360fde622961d30f5740deb3930a51676ee865375986bd5f8f606c5b9f5a09be037bf5564ffa0d15d549c3205b6ff5c71ce5970ce59f05c52719619a23f2cf2b18b35acf51adb7615f9c6778a58ce805dbb1546a1f45b03d5d570e95f6903fb4a0b21c42424f1590821c444aab8c4a5aa060eed577c48876f7dbd9a977fa978e395228b2ed5404167017ef56b983245e3ec198a6211baba35ec3638f594d2af297ff423559c6556ccb6501a45a6083367c08d575571f84869ccffb973348a0a76ee56cc38a3f4a363a7beab31ad4eb1f3578a3fbf5063ca1498730e984c5574fc01f429a5ae111fbfb4b4ac51e0e48eeb2f84101544e2b3104288895471894b77174cfd90c6b26b35a8830bced1300c987126a0a05884868f6a645f8533cd1a35b5f0db8370ee5c8dfceb708a09a698a0d8ade1b097ba09148be0ffbb2a5411cea9d7987f61f9c9cf53c17286c6d9e740e12d38fc2658ced5f8fd413873161c7a158a45c5fc8b3430c1c15735a64f05d354509d9446b1c933f213aa42083109487c16420831912aefd1c3ff9fbd7b8f73a3ba0ffeff19692fb36baf777c5df9822d30c4e26a71b508099603c4728058242556d2268836296a9b04a5cfd3a0f4aa24bf16a57d92286df32092b4883e4910b809a22458101c44128248529009c43250906dc05a1bdbb3b67777a495e6fcfe18adbd6befcdf6da7bf179bf5e7aad563373e6b2f6f7e89cf9ce39a6956ec04caca1311bac99938569bdb73501dde0580c0d2d800d962c037aa07d2e34b5028ad53388024a03d81b013b2836eb779aa05a8543bb61d1b9d63e9b5bc1b114e88579f3c03c000b3ac0e150a00ae62158b8089a5bc0ec1962d49b21cec3de52c3aef5615fd087bda386bda1362e23df4c597a9e54c48fcbe92733e5871031286613847d2e9c81ecc823a21845d2b130e18017a7c34d20913fa911548c629644c88bcb1d393ca3b2249d16323e4f9c69153f2549924ecca46bb828364081e79e11747541a50c4a8bf579c580722fa00215e8eee2702ac0a1834093359ce5445004f80000200049444154c18350368056a896a1b7a73eaca5629521aad06358bf1b3a507f78d3d80f345bf30308614d3656ab58a3cb08617d5eebb356af99564fe190bd7935b0cfa9d2d9d9c2533f5dcaf7fe63113ffee14c6813d817f6a108e5f03e4f1d83523645ccafa1280a8ac38dd7e7c7eff3e271b9f0f843c4b3c5d33c04a1868302db4aa762af3ab96418bfd78b3f1020180c120c8589a712844319f471df9f8ac3edc151dcc6c8a763908ff8893b22c4531932118d6c3c45e1642e81eac0a1e7d9a6cb6f2fd2e925e3f3a9a49309f94916875b7eaae2a741319b24ec5551140557a430fc11a67da88a82e20e91c8e4c721ae9eeeb82d49d25437e952c5146bde2f36fd5cf0abdf0a66cd04cfc50acbce5278e83193450b14f6ec17f4f541fb4c686c84a64685fd07e060b7a07d26b4b729e80704bd657867bff590e68ab3a15281d77658bf9f7f0ed8ed0a85d7054b17c25c4de185ad82f75ca670f1e50a66d7a8873a2cdbac2a5b0bed6cd93a8773ce3b408b59e35ffe7d36777f7725f7fedd6fb9f0521db3d468f5529eb234061587374058cd107f2485279523ed55ad45469174c4cf2d6b5ca4eeca928d79504fd5610ca439717b1ce35fae5120eef310254a261dc7a3f52f28910e7989e42344c67fafa89a13d768a763e449a40aa83e0d507185b394c227b95f870bb7c709b9932b47928e978ccfa750294decde4728690582b12166113f55f11315a737482c9a21b9e641b625a2642329bcdad1eb1549461fa70cac0c4509f94ef25826286e4b9234b54dba3b2ea266a50b5c7121bcb35f50781d5edd017d15f89f9d829d6f0b8a6f82cd0e6fef81ff29c2b63704e5b2e027cf0ab4766b66e75777406e8bf560e705cb15f6e9d0b917962e52689f09afed84c77e2eb8f03c05a3175e7a55b05717bc521428ad275e5b298a407134f0f7ffd2c2ce37f771d5ba77f8d02dfbc96cdcc122ed10d7dcbe9e677f3e179ba30fe574f4eaa9c7d43ea03af1c7333cbc41e5b9af0408e74e5fcfbd3aee2d24835cc4c7e7721e12a9f080ca0fc0813f9e26e6d227b0e74ea7a89f8af396a4d34fc6e753a7904aa3ae6a675b32c67021f994c61155c3bd7e351d5d0f124d1f3ba786918b9376ac67d9b81cc7648fdb92244d5693afe122c03460cd55363eb1de866725f8ae57d8d7255050b8f85285cffc818d8f7ec0c6bb9c0abef7db387b89c2c39b059ffcb0c275efb7b1683e5cea52f8db3fb573e3b5363c2b15aef3d8b8798d8deb3d0a37afb1b17e8dc2a73faa70c5850a37adb56153e0c557c0b55c01e3c46b2c21ac9ceb2b2e3ac8e7ffa999ad9b67c1013b54e1a1e40b7cc0f31ab7def541de78b109dba23ea84dd493a30efcd1082bd84e323ae096bc5120190e120c850878dd780209723a40895c32845b517086ad67344ad904419782e28e531cb87d2840281623e4ada7a939dd78c3b921d2d20c8aa9107e7f8870d087dbe52592d50f2fcb2742044361427e37aae2225e3ca60028a5897c633bcdbe30437600aa2e82612f1a06a55c92b0df852b902613f1a0294e42597d8473ee3f943cc95090602888cfedc21bc930e45459c5243e4dc5158891ca96d0737182c118b972995c3448201821531ae91a8f748c4552613f81608860c04f3835d4c590a4534bc6e753c4c891ccfb4924a3acec4c11cb8cf12bbb9e23110e110c78713bfb639341211dc6ab2a288a937056c72826f1691a9e709ae208fd549a374278253c1d8b1ff5fc9c4e265ec017f630b82b6ca418cef0b173cc717ba47de864635e544541f32528e83ab96410a7a2a0b842a4f2d63af9840f87d34ff2a4f27325499a2c265daa1858b9c933da60f93c85e597daa04b30a345e10b9f52685e0c740155b86e9d55a9b4280a5ffcb48d8b2e50e0105cb452e1a255400f568eb50933dbb16efbf7dffeb7296007ca4023acbbd6c67baf109cbb4cc13cc96e1e738749f8537dac38bb4a73a50fb34fc13cd848c3e23eeef9fc33f83e7f215ffab7ebf84e7413b6d61a667982da8f4e2f9e76d896cf5034fcb8d512e9808fa43f4b36e8b46ee57bdd78fd50c886f0042304e3f712af6feef00609fb62dc9fed2fd0201bf611355214221ed4901bddb98eac2f41266ea5a30daa3a4a2902c10c9e5c81b81b72212757875384f2219cc524e1949b6436841383603830646694914f91035c3e1743dc5b024073bb018392aa61e4b7b14d4d920f4488de96064d1ff19c9d1449f883e4c259923e0d2317c479b59f904f27ed1d7424143219b4688e7cd85d4fbd0b934cbaf0a573a8d12429af0a9448fb87db5f1075c86334c8867cc45c297271372a45129eb379e4b8ffe09274f2647c1e7f7a3605c1184e9741746d845b62694afe202327631549869238e209920e30f211dc97ae23e0da453618279dd671ad4b512819a0955083693271efb071d2e224185d4bf49604b16c8494afbe7631458220495789d4c0d5478ae123c4ce9431d6b83df23ebc9124b1d4d9c41c6e9c9a861a8c9348a7f0eb5ebc6eab6497cb852f1e21e892b7bd25693a9874775cc01a11a65681da41a8750aaa3d306f2e34b7417557fd21cc2ad4de815a272c590a175da940a5beec20d4f640adbbfe7bffe7bdf5073a0da8f5d4d7abef67d15278d74a0545d447c8390966cd0ebd35d67d782fe79cdb87794041b10b6a6f35d07e1e7ce54f9ee717afbc87279f9a8bb2ac867dc29a8f2a9a0618f55bf28538e18c46c0e7ac2f76118cfa519f8e12abe72e8c18fa8d3ca9f476348fc35a4f73e3774167a134f42000aa0b7f2080df6995aa6a1ae84574030cbd48311727962e62a0e2898487c8b906bd54a2dcbfed28e7ea707bf13aa1d91922e4f7134e2609ab8911cfd9c8c58815dc84ea3b57dd51125f8f131a5409ea149221227a98c4e146cb3046bcc60c7d8c5a8a704a2514e82fdb892fb06294f395a45343c6e7f15622937113f4aa80862f1a62d9733192c33f230f80918f13cb95c82663c46231e2291dd7ea55a8252bde6abe38890d2a8f870204a33ae1e8688d160015872f4ab0a38b07a3e9fa9d65837c3c8533ec3fb62135520c1f21768e3d6e8fbc0f70e20fada23393a8a7d769383d4eca4f27acbbdbe8e4d20601efa978364892a4893029efb858b39255ac915d14506c4dd4fa80be2a8a62028d56ed6956c0665580f4d8013bd8c4b165d89bea390e7d56f2f5d1edb5fe32ba8f6c7a52476f13d46a0abcd568fdde7f95edc07e85cb97fe86ebafbe994d2f7f90253fb98f05ed35e69f6d0703aaddf5917b4e0b035d0734071a50ca65d95ed6700cf8e6adb97db878905cbe049ed1cab336d40b3a06a0a2a2aad0ee740cfd655ef31049ba29a4e344b2258ca24eff3d19d51d22ea4d70fb2d67935a7507f1448ca07b883d6a56c9c61847d852ebdbf41fcf68e7ac93a3840fad7fb9eac41f0e0d2ab39c8fe2cb1804738951bf188c7e8db5638f319b624bd9817350dd2b7b0fa58922e3f3b82aa448e6b368814cfd031db5791bf1788e7062f881538c429ea216201c09e11c720d0d7f3cc15ae747c9396324c7d0460040f51089ace4decf4589e703c49c5962053f518fca919ce0fe5d0c1fc3f5fcf0b1533f9eb83dc23e009cfe10abc261923903afa7403aef6175fbfd24d245828102690244c77aee92244d7a93f28e0bd4c03603ecb3c0d602d58af51226d85aad312fab156858608dc5696b01b3667d66f659cbfb2ad6ba0db3ade16a6a7dd038bfbe5edf91f1374f33d16d67c63970c59287f9b7efeee5dba9569e2b9afce74326070f41c33ce5f4cdf65ccc92eb82768f1f970a1806a0531a988aa1d6bf488fe5694cd54528bc92523a69e547eb7932a5554422c3dc85300a24031e22252fd1788cf0a05e3127c14c9117eebb0357e15e6ebfd46d3deb7114cde5630550cc164e6c68e751ced900caa50245fde8cd8eecadd91522e229f2157f64f0b33127b0bf2137d10dc0408e7e2c4d0e323e8f1f835cba48249d26954ad55f1932b19574a6620c11f2066c69502e66281cb58e3e70b8645d477577b0fd1b6112c5b11f953310656df37612b12cf9541c2318608871ce468ce123c5cee38adb23d61380c347d863904ee428669394823162fe0e9e4ba4c965d3e03ffab91c4992a6b249d8701160d65066ad4799f76994f68fa0b45c8232eb3d2833d7807a11caaceba1c9090d0e94799f4169bf15da56a3ccba065a57a2cc5a83d27625caac9bb0cdba0965c6652833af4499e54799792d4afbb5d030d71a22e7343351607e13db5ece7368df3bb82ebe949b6e8085cb14fe2d65b2afd3c43e9bd3308f804e261a671b2b8944ad5e3dcde3a18302e9fcc0872b758ce615f83d0ea8df4119f8a5dd5aa7ff8d8a3b1427ec29918cc688277278921922c3e416eb9930a18c8b707088864d3143a6a8e10e26c8159fe2ce15db49c68778c0df1524bab699ae7494a19f573728a4d3c3ce9b32da393bdc6edacb19620347d929a5890f7c785675114c25595bfa06fef0c8730f8c7e8d87d8c6e5a0993ce9515b459274aac9f83caef159cf922cf98f1a55cbba8bb0b2eb91c171e7289ad34d47d723449203befceb19129962fd9702895891703acbdd2b9f23124c0e3da8c8501c3ea2c10eba1e0c10483809fb878e4d23c5f01163e771c4ed11eb096b4f78431e8c4c84485225e875e00e0758b6254638ae12f0c8bbd392349d4cbe868ba881bd0d30a1ef2d4080b60e5adca0b4a2b4be1b9a5dd0d80ef4218c17a1da896d86175aaf44697a17b45c05b37c60f622b0c3ac6b61c67bc1d60c2d2b61e63ab0cfb17af726426715ffda59dc76c7cd3cf9abf9147f05d77cd8c625e7c237ff5d803a8e7d8dc6505f764b64233efc0f1aacbd2745b8deb050dd11a2abe1f168e2f08832c54c12dd1723e802d0703adbe9cc24c9e40be4525162d9129472e4f2250c74d2c12019cd8bc7edc4e174a295f2e407f4001a06d603b7f55fca5d59929902c55c8a78ba087a89422ecb96ce2cb158d66a04681e82be1538879c34c5412099e636c7d3dcee0b921cd820a0442e1125ebf0d2df7632fa8fa16eb47356dd61422bca3c7dbb97402c493211c11f48e31ad8c8300c54478064723dc6fd0142032b6ac3c02897d175634cfb1bea18356fc4ca390f86ac91718c02994c114a79f285d33d89a8744693f1795ce373211947f70df185dce925b0c21add6b60a7cbc0f8a97ac28457c296cfb9f1066324e21102fe244e9f0b3028c4a3148211bc0e17e1c49d389e0e134a8dd074310cf4c38147c5138eb0922e0884e99f020cc3a8c727e3f0efc3c5f0a26ba4d8791c717b847df45f1b872f8cd7788ebc3b885b05d51524b0ac93a22b805bb65b24695a997ccfb82876a086e84a5be36eda1aa1712154f7817908a5ea46f4bd09d5bd6053c128201008e325307badf5ec33406986da3e6b5bf310d000668f95d06c6bb13e9ba8a7e2f79abcfbea1e4a8ae05b0f5dccd6b71fc1b9b78ff77d50e1c1275bd9fc231bd7dd7488da6efb49ecc4a0944d938ca5e9a44c26e4c3e77658c302178be0f4917c2143c03db0abcf49289dc508850878b3b85d1a6841d2a9fe8732553cd118eb7d7fc22d9e2c1b1229c2de0cb9bc56ff62aee1f43828c62284eeed3adc3e8115dcf1548eb83347229107209ec8900844b96b959fafdce2a570479c44c44fca9f25558892f41814ef5d83abb081805b4337c2a462c3f4b8397c240b5bf14522c4fc4e2238703a9d381c2efc911821b7359e59211d2391833251a2e90411bf0b6db47356ddc4b20f6304427ce30bb7935d791bb16402bf43279f8e11cf41594b90c8b808ba7db87984076ff1a2de1327ea53c9c6a2d66868b128493588dfe71e617fc31ca3ea259ebd0f2310e6f6f335a2ab4384dd4e96e9cec169219274aac9f83c4ef1d99a313ef8b9c7d1d727483bc3f80fdf993628a493648a40f92bf8830ee2b1105eb283e2a72be42392d9841e0c11bfff0bfc49762d772553041c068564105fa4803f63c507c370e0a08b47827ec22489055c0362a941319b26154bf3740112ae3001bf1bcd1520ba218751ef51d1f36952f124db00e25112ce3001dff031dcef750d133bebbb1d53dc066dc47dd4cbd2bc84031bd0fb7b7f5437c1d07a18aa512849d2943654c751e30f1efc5e65cd0deb8eaba0279f7c925b6fbd754cebd65e9e0be6c1110ea9564f13500071f82150eb814e61bd57ecd67b84f5b4647fef9ccd3ee0bdcd1abb7360d1502fcf567f2af314e764990af64613daaad6fdad6e3b946d20faf8deb341366db9911b9c7fc66db7ef0615befa0f0b78e3ed99fceb3fbf81b9bd0171f45fc8d686fdc2bda7f6984f588954388e231a1b30029841291b2798f2904e7865252249e36ce3c68d5c7ffdf523ae23e3f330cea8f82c49d2e93696f83c9d6cdebc999b6fba71d8e5dddddd437efed3a7b2d8cc0a1fdef0fb1f067ab106ccefc11a96a5ff7d2f604cbe5431046003a5d1aab89446ab57afff775bfd336c56e5a83458ef6df5f506bdb71f797fb88cfef7764ec3832428b61a34d8f8efdf2ce1ff7def1cba7bec30ab0a76509b7a501485bd07e6c201a01b2e71cde2e5e21c6a3b04b6a6931cf7f334d33321a245ef51f9da2a0ea703a77b9891c524499a42647c9eaaf1599224693a98840d97d14cd44cf327c6b618fedfc30dc4beddc71267998d4f2c04ecd002adb69d542bbd74ea2a1cb2d65fb4c086deadf1c64e15669cfa8a7b3ce9c512db1e09134a6629e806866150caa788c44a0402438e492349d2b422e3b324499274ea4cc186cb14d3075a9b495f5f95351f29b1fb9d6e329b5a6031342807d0b459546a73e83a083480ddd64d6f5f2b6fed9b05ead4ead17386d23cf5753785888ff367b7d0a2b908c475fcb1c89093474a92244da833283e4b92244d07b2e1728ad54a0a375f2ff8cfaff5c03b35666b2a9b5f58048dd0dcdc4873a349a5dac4c16ea0116a356852db29576a53f0afe3c01b4e912b1908211046916c3274cc509f92244993c199159f254992a63e197a4f354541f4d56868ae40375c7e819dd776cd8537406bab619a06ddbd7d544da0098c4a03d55a03b55a79aa655d4892244d2d323e4b92244d29b2e172aa29609a0ab5b20d6a0ae72dde434fb99de22b304fabd0dad24c4bcb0caa55a001f6edefa3b1a98d069bed743c9b2a499274e692f1599224694a910d97d3a9026d332b38163ad85274d060aba0d81bb0db146c0a5086d7de9ec3ac59b3686eea83ea441fb02449d21942c6674992a4494f365c4e2351b5434395796d5dbcbe6b1ebd86497777854a5967e17ca8fd0fe45e9ec7fc593a0b66f55af30948922449a79c8ccf922449939f8cbca791400105e6b657d8adb7b1a74b45efeaa656d943cbb9f0cbdfc0eb7b2ee61cc7db9cbd08e83df9246aa39822e475a0280a8ac34d309167f05ceb06f944087f204830e02718cfa11fcf723d473ce827100a130e070904e3e4061720499234e94dcdf80ce87952611f6e5f8ad271972f499234b5344cf4019c716cb06461132fec9bc5eebdfbe8e9a970ae76081a20f7ea4214f542166b599acf0273cf49b62b8d3cd1401cdd1fe381a04e261ee1fe3ff1a23b8aa4fdd6505fa554005fc243361fc1459184d74b40cb92093ac7b05c271d0c90f6e7c8061d0014131e3c411785b40f399898244953ca148bcf1825b2d91cd9f4e36c71048ebb7c4992a4a946de71398d8400ec30bbad825169c43097502e57709fab2376c08e6e3fcdb6b75834ab002d27ffeca751c8e2886548458204826192d90cb775749149e4ac5e37234f2cf2088e50006b7a4827fe90936c244ad618cbf202999c8eaaa987f7e9703a300af9637afe24499226b329179f0154075e7f9080a7fdf8cb9724499a8264c3e57453406daa52ad29f454175231f6b27476179b7f3d8fdd3d5730a7e937782fef83bd27ffa751dd21c203677ed4dc045ccd871b1a4621497a7b3b2e97e3c82a2e378ece0ca9bc31ea7254275eb7c1e3a130e91240894ca28027dc5fd14a92244d2153283e0f2a4be518a3952f49923415c986cbe966836adf21cab559ec3eb004c78c67e936e0973b3e41f7a183ac58f02b3a2e07f3907d1c76767405a553d01df8426e54c028e6d98e86d371643d5573a2d149bea88fba1c1c041249d6733fb7b8bc04436132fe34e990731c8e5d9224e9349b42f1f964cb9724499a8a64c3e53452004ce8ee813e73262fbfdec4fc860c6fec5fc6bebe77d3b3f7a76c78df5ee8514ec91401462145da192556ef8533741d50710caac5eabd7dba31ea72009c0192a93b58613ccdfdf70ef1e0a82449d21430d5e2f3c9962f49923415c986cb69a54015f48350a9cde6d0be97d9d3d54eadfdb3fcee77052e5bf4132e5c0be6ee8653302b739154ac483811c459ff4455eb15e4c03ad0d0310055d3465d0e60e4e304624e52c517b867bdc183b77bf0278be37df0922449a7d8d48acf275bbe2449d254241b2ea791cd56039bc2cbdb747695dee160d72e1adadfcfef8aede83b1fe0ae4ff74297ed14f4e6e9e4e2718c701cff91746954979b0e748a037aef0cbd884e076ea73aea7228100fc450c321dc0e37a1748e07d6c3e3e1c8918747254992a680a9169f4fb67c4992a4a948365c4ea79935ca7a0baf9516d1dd5560fbce3d9ce3f2b2e9b147f9cb8fbfccfc4b6cd4f6d8c7b937cfa0908c91f34409b9d5c39f1906a8ae00fe8e4ef2f923095e7a214f67878fa05b1d75397a814c511d9083ed24108fb1d2285292396392244d25532c3e9f6cf992244953916cb89c2e5560213cf15c1b2fbc2c7875ebafb8c47d359b7ffe16c13519fc7f0ce6ab36188f673e0f3328248284f32e5c7a8e4c2643269d22160c922c01aa87486c2dc5649a220045d2c9126b63313cea18966b6e821e9d6cb678648f7a11d513c4237bf624499a2aa6627c1e58d2900d9151ca9724499a82e40494e3c954b0ab7d305b40a30d84093d58cdc336a8ed68227a4f0b6fbdf1732e59b9925776cc62e5fc7fe4afbfd8076f37600a1b8a327e890885b80ff7e79ea6cc833cfe8d010b567e9d379cd65b6730455a0f110ee471a83a04d2a483475a1d232f77124ca72985c204426edc4e28951cc4522199472d49d2e4320de333e8e4d24912d92ed093c4934ec2012f0e756ce54b92244d35b2e1321e04d86ca02cae50791b1ef88e9dfcd61a4b3ae002571b957295d6c50d7ce96f0ff2fc6f8bcc689bc36b3b6770fb07becbbf7ead0f7aecd40e2a28f6f1cd9e7685b318e1d1d6d2f08453a44f74b9e62592f29ed8014a92249d6ad33d3efbc3a4fc61522754be2449d2d4221b2e27cb54b0cfae8230f9defd907df90398ea75749c3b0fed9ca5ccbbe4025a5b67a0cd98c117befa02fff0e53f67cbf3cff3379f7c9ebbfeea00ecb753db6f8771ae14254992ce78323e4b92244d2bb2e172a204d8edc0820afff35bc8e65decaa7c9ed0e73ec2e517cf18b4eadebdfb79f6d99fb3f3cd223b761ee4dd171fe0aeaf34c3ab36aaddf671efc99324493aa3c9f82c4992342dc986cb8910606f06dafad898821de5bfe4ba9bbf88fbfcc197f39bdffc260f3ffc30c5629172b9ccf2e5cbd9b9f31daebd641e94baa032fee9079224496734199f254992a62dd970395e026c8d026656f9bf09e899f3109ffdfcad340d58e55bdffa161b376ea4bbbb1b5555f17abdac59b386575e7985b3967bb964e9f3b0e751b0cb41dd244992c68d8ccf922449d39a6cb81c2f01cafc2af727a07beea3fcc59d371d5ed4dbdbcb134f3cc1d34f3fcd1ffdd11fb16cd932b66eddcaf9e79f4f737333d56a95e5175c44e7cb4f4213987db2629424491a37323e4b92244d6bb2e1723c4c05fba23e7ef163d8dafb15627f7dd3a0c5cdcdcdb4b5b5f1c52f7e915aadc6b66ddbb8f8e28bb9f2ca2b2997cb747474b0e9a937712e2c432388cab8ce6426499274e692f159922469da930d97e3606b34e92d09feeb5757f199e8e7072d2b97cb3cfef8e3bcf6da6b944a2566cc98c1c2850b99397326070f1ea4adad8dc58b17b36cc921d49daf40e3049d842449d23424e3b32449d2f4271b2ec741995fe5c7df8605effa73ce9a7fd43245c1ed7673e38d3762b70f3fbdf23bdb1fe45ac701e891690863a5a7fdb8422ac9420a9f36d147337dc8eb2a4d27323e034691743c4e369f279dd5f1449324831a99a33f0bb95127fa589131e85491d7559acea668749e00f5c1655edbabe1befcfdc72c6e6a6a62e9d2a523568a4ffe62377d3bbfc2e295502b9f9e36a351cc928cf870280a8aea2592cc52344ee50ef324835edc1e2f5e8f0b55515014056f5a3fe12255a7179fcf8b73cc35ad41315f1afaf36c8a984f435114549707afd783cbe9c4e38f91196a9369ecf8afab244d5253343e5b7472c9307eaf177f2040301824180a134f250887328c3d721ae4237ee28e08f154864c44231bff2e8ffcc5d19fa5289c481d2063fb942163bb349dc93b2e6364b39b5477022d9773c9c5b38f7bfb7d87e0c98d41fed7861e386407e5f40cb3a93abd04a32ad9e4e3dcef8e100d7a4f614f9b4e3ae023e64c91cb79d100a39024e80d7132f586ea0e934c1ec706c524e1a49b54dc71d4b9aa38bd01c26a86d8e329bc892c69af0aa53401f72dac731778aa90c47b86f4501df77595a4496aaac6678c02719f87285132e9389ec3b1a7443ae425928f101973597912a902aa4f03545ce12ca5508e90f35f516f1cf059f8440e54c6f6a944c676693a93775cc6486914ec78135a67bb59d07ee473c330a8542aa36effe52f7e851b2edcc4fc150ab5eee17bfd4e0d151568564f71f78b912799d171fadcf4d70faa2b4822e1c771ba7a7ef41cb14098dc889d80eae04acfe1231258069d29e2f953793b4a92a453616ac667835cc4c7e7721e12a9f080460b80037f3c4dcca51fc71d179da20e83c3fc509f9dc8a1cad82e49d2e4201b2e63d5acb0f700a833160ffad8344d1e7df45176efde3de4669dbb753efbe75f66457384eb6e05f3ad06b04df4a46606c55408bf3f4438e8c3edf212c9ea804e2e11c0a92828ce20a97a3e815148117239f0c573e8c36e0ba0e17494793c142239201741f304f10cac4d8c3cc95090602888cfedc21bc950c2a0944b12f6bb7005d264221e34c549e8873f2115f1e376fac91806c56c8290d7852796251baba7c039bdc4fa8f3f95205328d3998d120c864916c7723dd47ac5aea20e771c591d8c02c97090602844c0ebc613480cae448d02c95080502c46c86ba52c284e37def0d314872cb334ecb5d47329227e37ce4086422682d7a9a2a86e42e912463145c8a3a1282aee7a2ac9f1ae4f2937e8ba967249c23e17ae6086423a84475350342fb18195fdb0e797437e259026d4548ccfa534916f6ca7d917c6e71862b9ea2218f61e6e288c147f8c5c9c603046ae5c26170d120846f8af1f1ffb59a604e83912e110c18017b7b33ffed60dbb4cc67619db25e9c43cfaa31f1f7efdf4a92c3f7d2a7b52e59dd9a96202141bd89a4c858962910000200049444154e853a8d514186e04cca61a07cb5011836b98d6d656aebb613da907eea3b1c1c6b9e79e83dae6a2a7a79b6aefeb6c7979173b0b0ff0d5ff0fd86767a29b2c0094520482193cb9027137e4424eae0ea708e54378424992d90c6bf22edc2eab46529d2e9c9e1891b007ad94c437ccb64ed54d24711be975f773fbf9599277c649c402b81c3ec2872f5b91843f482e9c25e9d33072419c57fb09f94a24340d23bf8d6d6a927c2042f4b6347df317e0300a6c2939ad63716894f2db28184972e128996703c402b7f3057f087731852f142794bc9fbc2b4a32e9195b5a5c314534b91d56dc49d8a342e1d8e340b3522592fe2cd9a0d34af1f0baf1faa1900de1c4201bf611355214221ed4901bddb98eac2f4126ee46cfef3fb6cceaa3c3fc1d82689a0323bf85ed6a8ab41e26950f920eb8f9936000222182e922916c10f747c324c27942c7b57e81b0433beababa500bdbd8564c92f645481742247d97f285709a50368036e2f98df13a4bd2f198e6f1d9c8a7c8012e9feb48e3e4289adb5d7f571a39fe78c224932e7ce91c6a3449ca6bfd8ffce075477f56241948e28827483ac0c847705fba8e806b17d9a0413234dc3219db656c97a41373f34d371e7edfdddd7dd2e59dd9775c6a02db6c30ba9ba055c13ed344d4861fbb5fef69a379c62200feebc7cff0a31fe779e2c95ff28307be4f63f36c9c4b17b0f9e9ad3cf3d0f964ffe332b66c53f8dfe1db087cec0f79e5354098c357bca793eac21f08e0af3fb9a76a1ae845740340c51309b26c5b8264bd47c6c8a728fa7d3847dd161cbe24f917eee3b6953a4f7fe3a39cafb90926f3877b6d8c5c8c58c14da89e6cacbaa324be1e27e4d270b8bd789dd0ec0c11f2fb092793fcc57b57e2f6f6d78c2a0e971b8f03344f9870c083db132491dc407b579af8c839044729534846898543f8434908dcc7b3b9381e551df238c26a82704623e0731ebe86c1a81ff5e928b19c01469e547a3b9aa79e7badb9f1bba0b350c2609832afb878986ba9a2b9dcd6faae20e1801b87e62210f280a1e10f07f038349cbe206e8ae44b1ce7fa06aae61a745d35a713b703dadd216b7b871bbf6f0594f2568feb88e72749a7c0348fcf7aa94499fafffbd114e223c79f3132f27162b912d9648c582c463ca5e35abd0ab554421f6199818ced32b64bd2e47046df71b19f65f2efdfd678f2d985f8deab73eb07f6a036d730ab83db738a007aa0b86719d75c7b39db8a26b1bfbe96cffd99498b0047033cb6d985ef1b5b99bbe077ccd9d1c5d2f7c2dfffd3d7b9f8ca0798d7b8899fdedf00d54971bf05340f91a49b423a4e245bc228ea302044a9ee10a115df209ec8134db8c8a574fc51c798b605d0dc4192793fe1648450f85eeebffd52f2a517c845dce8f91c257c68fddd38aa137f387464df80aa0dce531e2a3f5b751c5947730770f320a5a20ec3f65d1ead1957304ac43b747fd2d1c751ca65d95ed606e5736b6e1f2e1e24972f81db5aa017740cacc404558576e79187488f39b711afa57acc79abaa4af3c06b5d5fc138a1f58fbeaec75e07d5011806867164f948e72749e369bac767b51e040d7df4af87a3c61f8f734cfb340a798a5a807024c4d15be8a9e1971dd9a78ced32b64bd2f179f4473f3ee6b3f7adf19e707967f41d17a1d8d8b357e1f73eb49bcccf0ff1b5efb4a22c368f59cf36b346cf1e28be7321ab56cee4278fff88bffc7d935b3f09d77d006efc03087fbcc07baeba927ffbe7008e8bed60d8f98bdb37b1d47e1fbf7ab18c501a868a1fa7d5e160661448063c444a5ea2f118e1c3bd33fd5c04c22be94cc5c916b3a4081c198d65a46d8d02c954b1fe8b863b9820577c8a3b57c09668949c6105d672a940f1a80e34c33889be1d55436bb682f9296318804e69e071ab9a5561a92aa82e42e19594d249f206a0e7c9945611898c305fc2a87f8749e444ce4f924ec2748fcf9acbc70aa0982d8cdeb33d5afc19230383723143e1a8f8ab978c1197c9d82e63bb249da89b6fbaf1f0eb7d6bbc27d5688133bce162ee50b8ebce2e3e143c40f12d3b9d7b05340ece15500430c324f39bf9acb8ec8fd9b11bde7cf16fb8e916305f6aa0b6af91daef9a38efbd0abfbfae9b59334c9ada4dcc5d769a1ae0c73f6be2d60fbd9faf7e6739ccaea11c5bef9e365abd0745cf8409655c8483c30726a73fc26a234d249c440b1cc9731d795b9d7c2a4371d04ebd4422aba06cf5ee38dc6edacb1962e901836896d2c433c7371780317075bd84ce32bc9e535739681e0f1d1448e707ecd8d0319a57e0f738001577284ed85322198d114fe4f02433445cc387feb1fc1d268fe33f3f493a19d33e3ebb8244d736d3958e72b84d308841219da6608c25fe8c8de674d3d1f50891e480c6929e2191298eb84cc67619db2569b238731b2e26d81b052ca8d2f5ab469e7dbe913f586742d7917401c554b02dea63e78b90fef507097cf47dfcc77df7b1e6fc1761b67224dfba41c07ec1bcf9f3983b470343201a04b5ae26d857e12f3ef23c8ffff7527a5f57b0b5d64ed3091ae4820e145784bc6160a82b08049cf54506e5ae2cc94c81622e453c5d04bd4421973d323199c347d8075bf22e02ee01016c946d8d5c84602c376008cf12d974818e0dd6709faa3b4c684599a76ff7128825492622f803695cf58ac9a0de01c6a05d4279f067a57cfef04838a54c82a2374ad865fdae69d05528502ae6c80c39d39a814179c49ec0a38f43754788ae86c7a309fa0763296692e8be184117804e3a1824a379f1b89d389c4eb4529e7cc918b6cc91af65fd36fe51c738e832d497593f8e77fda3afab314aafefe8e72749e366dac767000781649adb1c4f73bb2f4872e017674ae41251b20e2f2e752cf1072bf5a75c461f987a76d467aa274c78256cf99c1b6f3046221e21e04fe2f4b9465c0632b6cbd82e492766bc47151b4ae30f1efc9ed8b76fdf71bd1e7ae8213156d597e688ea8b8d13f6eacb370af14aa310db113b5f445c746e93b8fcc2d9421c6c11e64b7651cd370ab1b551081df1cae3884f7c6cad78e6f9b2b8effb2f88bb3f8310bb11b52d83cb149d88efc4ce137ff7b995429410b5fae7e6cb76214a889bd75d25fefd1f1c427421aa5b4ee2f85f9a33e6ebbceb81dbc48ae666b162fd6de2ce07b68adefe05fb9f1277ad6a17d02156ddf1807861d36da2a37999587fcf80758410bd4fdd21d67f7debe04247dab6f759714707021074ac14abd7ae15ab57ad126bef7c406c1d58f0ae87c59dab3b04203a56de26ee7ba15708d12bb63e7c9758dd8ca079b5b8ebe1ad62bf10a2f78d4de2eeb5ed02dac5dabb3789377ab78abb57209a57ad171beeb853dc79c706b17ec3d7c5b3fb0714bfc93aef65ebef19bc5fd12bde78ea817a7988e655778afb360d3ee7e18ec33af767c5d737ac142b56ad151b6edb2036dc79df80f27bc50b77af12edededa299fa3500012bc41d4fed1abacc61af655e1436dd2dd6b623e8582fbebe69abd8b5f5c875587ff7c362ebaeade2e1bbd78a7610ed6bbf2492df3f9ef5ef168ffc6ae0757d44fcfc91faf1756c10f73cf586d8f5ec03e2ce95d6f1df76dfb362ff88e7b75f4813e7a1871e92f1790ac6e7c37ab78a07ee5c2f562e6b171dcb568855abd78af51beeacc7c501468a3fbb9e12f7ddb152341f8e6b2f88fd437d268410bb3689bbd62eb3fe1f2f5b2bee7a6a50f01c7a998ced32b64b27642cf1793abd366edc288cde9e615f7bdfd933e46be3c68de2070f7e4f001f02d601ab812b810b0027b00068e398fbee471a2e953537ac3baed6ce934f3ec9adb7de3aa6756b2fcf05f3e071953f9e1445609b53e59eef38f8f237dbd9b5fb6df63f7710ed72a004a850e9841f3c09cffcee0fb9e1f7fe0ffb4a45de7a7e2d7ff9677bb0990d547b15940157cfbea08f1f6c5c4ceee579fcd35f6fc1dcdf88a8fff7b72fede3effffe5dfce28506367dff7788dd0d98e20487afb1b561bf70ef385c85a9aa40cc753ec9e0560a11d7e8ab9f362552e1388e686cc0eccc06a56c9c60ca433ae19d0229032399eee737756ddcb891ebafbf7ec475647c96f179f293b17d624cf7f39b586389cfd3c9e6cd9b070d7f7cb4e18643fee953596c66850f6ff8fd0f03bd404ffdd53de07d2f609c91a38ad916d6f8514ae167af7f8675b75439ffdc56325b9ea6e5f99f315feb63c75e95b70f5c4bb9f18fb9e0ea95bcf8dc43ccac7c96bffab30a8abd81da211bcad1939499d0d8d44ab9af11fa067cae0055b8fa629d6fa52f62fb0bffc3b20b2bb0ff8cbcf4d3969e09112d86c80f1af846c5e174e0744ffdd159a6fbf94993878ccfd26432dd63df743f3f69fa39e3a2b3a208a808f245178dea2c12ff1c647ba9951f3e7a33fafeb7e9debe1bfd804ac7fc76e63515d05fff073cce67b8e146a0ab91da2165989995155edf3587ddfb6a602a28706432331b34db7a31c47236e7dfe00faf7a03f69fb6539e7674ac2144ada11b2707bd5862db236142c90411bf07a70a7a214d3c5122109b4cbd872766ba9f9f3439c8f87c6693b1fdf49beee7274d3f675cc3c5a640d72bb0e282f7f071dfa7f9cd4b155edcfc612e3aeb20ddadcbe9ab1c426b2921ca05b496b7b9663dd0ae20763560c2d095a2009ae0edd2411461c24c05d13360f93e1b975c5c66c592ed6c79a5194c1b8a8295aa208d9d5124938c91de06db537192be18a14932cca43394e629234c24e2e3fcdbcbd0bc8cd58108b17804cf58a71f98c4a6fbf94993838ccf672819db27cc743f3f69fa39e31a2e34d4306d36fefb658352cf462a6f7d9ee0078bcc5d04e6becdd89a80d6faab6203dd46ad4719714665c526a02cb0ab4b78cf656f82dd4408fbe1e566b79d3647856b2feda1a7bc18ba0b807df802a5a1a94e7ca124855072a28f64080ebce114b9f0441fc7a932ddcf4f9a14647c3e33c9d83e81a6fbf949d3cde46ab898606f0066630de5d703b51a23564ac7ad099a6634f295affe8c4f7f2ccdbfdc7b08f63450dbaf606f341102cc833618f86cea28fbb7359870a09143bd33709fd705c6e00d840da8407373037da275708eb52449d25420e3b324499234c126d53c2e36150e74c3430f98bcfc5beb3ebdbd15ec2ad867302029f92434db28bc6e63c1fc6efeea4f7ba1cb46eda00236a899364cf3042e895db077df4c1aed15deb55887de210e548159339ba8948dfe5f254992a60c199f254992a48936b9eeb8344077afe0cdddd06d087a0dd8ad43c76c9833179c0b159456ac0ad20051b3f2908f271759f4c0cc568547bf29709c03b54efbc96705a88257df9e4343438df9f37ba03c74812dcd26d5dae99ce04c9224699cc8f82c4992244db049d57031bb61e17c853fbf53a1b617f61d04ad5df0644e705687c2bca5f0c4c382d9b3e0b28b15663643c34cacee31b35e481fd42a0cdb656676db58b1bc0f6696a9ed518ebb52b4d98eaa8c4d055a61dbf6361a946e681398fb86e81554a0a7b78f4a9f00fbf8744e4a92249d2e323e4b922449136d52355c50ac9c6965af954b3d7f2eccef5038f72c0561835d6f43eb4ca8f4c1d3bf1634d9a15c11ccd5143ae6426303cc9ea5a02d3a521e0650b52a4b9b1d84bd5e71eeb31d5f3e80006ca03483d200b583204c68d0aa50838736cfe1facb5f871920f61d755a26d00c7bf655511b2bd683a51337bf9b2449d2f193f1599224499a6093abe1026082ad0db043753f34b4024da09461d15c58b44e811e30baa1ab1bde7c1b7a0dd8b5175e2d0ace590c66012a063437c3796729cc9e056d9a55a6d280f5644f3750b3ded7aaa31f96cd6e1dc7bf3f209835c3e4f7eea877211e841ffce72a0ed9d7f35ef7dfd77b171550ac6e3ffb3c01736bb01d363da372cd853b608182ed9049b5cb8ed220fbf624499a22647c9624499226d0a46bb8d86640fe05817e00bc5e85d20eab829bbd146bb497325003b505d456e858a458bd6d7678cf650a5d5db0659ba0b72c104221f3acc9c2b90aeffb80c2633f34e92dc379672b9c7fb642db4c506a606fc1ba12b67af940ad8741431708014a05dc9798ecdaa3f29fc9268abb1a493f3187974b2b58a03dc3c39b6dbc6b651333d51a5415b0db79e231814d9b49b1782567bb3ec0a3cfcc60d78ddddcf3a503cc9b5dc3ec9e54e3234892240d4bc66749922469224dba868ba841db0c685461bf0e3f7dcea4b111dab729b428d0de06cec50a6a1334cdac6f6458290c763bcc990d6bdea780b0f2a3c541851e038c5db0a843a122e0b5a260f73bf04e9760ef3eb8cea350a942b90ccb9d0a8a2958b450410ce8e913c24a3db8cc03a262e70b772fe2899f5799df61127dff135c7171892d850e7efb9b395c737527c250e8355476f73671df7f2ce5f583ef27f4e157f98335bf63e30f1bd8fcb3b904027bac9e454992a42940c66749922469224dbe868b01cbcf55a011ba3be1961b6c1c3c04dbdf1274f7c18e5db0ffa0e09d7da0b5c1428755e169f3ea05f401ddf5f90500bb0d66b4c00c15ae79af629d7145c1d8079def28ec3d20686d81ea21e8abc2d3cf99d86cf0b10f2b98d57a67a18635678101b55203f619dd7ce1f6b7f8fcc72bcc7196a1d584aac2356bf660763652d31b501a04f699655ad499cc54f7b2e1f2af71fbf525165c02b7fc5e23c6eb4de333628e2449d26922e3b32449923491265dc3051bd47a811e689d018a1d5a66c282b3ea959a017dbdf08e0e6fec14bcf286e0c557a001c18ae50a0be729343740db6cabb84129055d80b0469e515558b61c96352a56fa41637dbd6e055ac03c0428605360f34f04172c57702c04d310885e3bedf3bba0a6c03e3becb763d62b6245a92114055ba349a57b069d6fd949fccd1e165e694009aaaf36616b30519b0c6a3599862049d21422e3b32449923481265fc3a59f02a689358c661fd6e83380a240a3cdeac95b7896025585fdbbe1a5d7e1ad5df0fa0ec1b9cb604e05fa0c85254b40f41d55ae00aa601740c54a31300d501ae14017bcf5aae0bca50a8dcd566a44ab6af50c22ac8abaa717541ab137633da45ab11e206d6c0253d487c2a9da510c833ffda36eaaba40bcde885903c56ee576d76a728a33491a0fa55289cd9b374ff4618c1b2104ef7ffffb59b060c1441fcaf0647c9624690c647c96c6dbe46db80c4308a8d52738c3b07adc66cf85f72e55c0007d2f6083975e119cb3c41a44e6987161447df41a015d07a0bdddcabfa61976ec12fcf439c1f2a50ac2045b335cbdce062541d5007b331835c12f9f83abae50e8ee12fcee35587d8d628d8223c0de06bfdd22e83a28687c5dc16eb771c5951c1962d3047b13d00466af5531cba99a25e9c43cf6d8637cf4a31f9de8c318570f3ffc301ffbd8c726fa308e9b8ccf92240d24e3b334dea65cc3e56866bd578e8a55496ab3ad5ce7f75c6ae5611f3dfa0cd4e70b688407ff4bd0d8007d35f05e091d4b152eb95ce1922b14840ea2015e7f5db03f2fb8ec42059b1dcc0accd5142e3a4f60ab800d85f3964163a335ff80620351b5e62b58385f41c17a60d53c7464ff4a13ecd3e19d7d82658b141a9bea95a32449c7adb1b11121044208144599163f6bd3640677199f25e9cc26e3b334dea67cc365205300e57ae5544f2f38ba5204ab87afd60397ac80c50b143abbe1e7bf3199f306cc6a01b306575d6e0de36954a0a971c0c60ad4cab070a10255689b85958e70d04a53b0a9d60e962ce1485762b5fe30aa72a40cd326d8f58e95cbbdf42cab4c49924e8c699a288a326d7e0a71cc7d88294fc667493a334d743c95f1797a99560d977e420c917e3070797d68cef32fb41efc9cd5012dc246b52ae83a04b6c62315eb05e72bd603a9f5874181c3952360a51ff481ad01442bfce8716b62b37537d850fa06f4d40d4835106598a729acbed6aa5065a5284927ce34cdc33d7ac0b4f8399d2b46199f25e9cc21e3b334dea665c365544a3d17bb3f3da0024b96d617d80151efa1eb1f41a7be68c4226d50e986d66670ccb3f2a987fdb76db3d216a85823e8c8ff039274726445328dc8f82c49d38a8ccfd2783a331b2e4753065480fd1f1de7489866159a80f75d6fa528d40e32641ac4d1e4ff67493a39037bf4263af759511444ef7676569671d6ac132f4756f403c8f82c4953968ccfd2789303d58f97fa64d0b52ea87523afac249d46a6690effd378920f7568cc9e3d1b4debffb994ab6efa73be5be8197d7bc02c7c8dab1c37f19ffb4759af670b5fbcf606fe6ecb18cb1de6a7ac18c7998ccf923461647c96c6d3c4dc71310f8ebe8e343479ed246990fe1eb06173924d013473cdb7b37cfb9a762897e9dafd5b1efbc6ffe6d3ab5fc1c8fd17b72f1d25b779c07bd31c693d83529701421c53c94d991c6a19634e9cbc769234888ccfd2789b987ea786c5609b255f27f26a583c217f32499aac06568cc3bd00662d388b050b16b0e0acb338eff20f70e7b71ee16fce7a862f7de917f4d6d7d37f7d1f9f5c7d3e73e7ce65eed9abf9e43dbf46170281f540b91871bd12dfffc8ada4761fe0e18f5ccaaddfdf3e72996338e60921e3b38ccf92344e647c96c6db84dc71b19fffc644ec5692a46968606532644e72bd078ea373ad9b96b32e702e5fbeffc7bcd2fb6e2eeafa219ffac85fd1f5d9142f6d7a0fcdafdec71dfe8ff0c9f9bfe4a18beb55a31098a511d64b3dc82f2edb40f9dbffcdb7dedd8c28fd904f7ee4af38f0d90779e9b177a3be763f9ff27f844f2df82529ff826173a827928ccf92248d17199fa5f126337d25499ad244fdb6ff483fc530ebb5cd9f055d5d18a649e7e67b79a6fd13fce3a7decdfc26935917dec6973eb3805fdebb9952bd7235c7b85e7f255cda9ce097ed9fe01f3f7535f39b056d177e822f7f6601cf2436d339ca714b92244d75323e4be34d8e2a2649d29436e61e3d71ece836faab7b60c1bb696b16ec7f7537e59ddfe6ba65df1ebc83735fa5b3dc4e7f8fde88eb19e7d6d316acca4d7f75cfb0eb967a4ce6b7c81e3d4992a62f199fa5f1261b2e92244d7923ce74cc91090f077d5e7e8d4d9b7632ffdd3e169b2607cf5d40f3f24ff0935f7c8673fb2b297d076f5616b0a4ebdb87b76f1f69bdc697fa770440dbf2f9349ffb717ef2b34f735e7fe577e04d7618f358aa8e7cdc922449d3818ccfd27892a96292244d69fdbd74a3ddd6efeadc41676727a5d2765efdcd26fe39f431fe618f97bffcb34b69168279ab3fce657bfe95bfbdf7d7740a414f693377ddb48a1bffcf6fad8743ad9d8dba5e336576efdc69f5d8793fce65bbff95bffdd66f289926bd9d3fe5f3375ec54d5f7d891e99862049d23427e3b334dee41d174992a6b4514779110228f3ec9faee6d2fecf9ae773c1d51fe49b8f7f81f54b84b5cafc5bf9ce77bbf842e48fb834ba0798cfa5b77e8d8d7f7719cd6f3e7b645f23add7dcc5073fb89c3ff8dc6a6e7ee971b25f1c61ddfeca76987392fe7ff6ee3dcc8dab3ef8f87774598d2fbb2bc79795ed102b37ac60122b0dc1e26a0502562034a2102c4a5b2bd0360a052c689b287dfb96a5b788f629116fa111506aa59446894bad70b3020e9621c10202566e58cecdb29dc47212c7f265776777259df78fd1dabbf65ebd5a7bd7f97d9e671f5d66e6cc99d9677fbf3d67ce9c1142cc74129f45b349c3450831a38d3986ba6535df7a66df88cb072eff2ba568bbf2137c25fb71be3a64bd3aeae24fb2f5e95bd034f3390123aea7da58f5f92ccf7436be578a16efc7f9ea039fe02b43f66b96234f6616429ccb243e8b6693a162428819ef749f803c5d5f25310a21ce15673b9e4a7c3eb7c8151721c48c767c4a4d35f127204fd757498c42887381c467d16cd2701142cc7892488410627a92f82c9a491a2e428819adafaf6ff431d433f0b5bfbfff6c9f562184983489cfa2d9a4e1228498d1defbdef772fffdf763b55acf76559aa256abb166cd9ab35d0d2184983489cfa2d9a4e1228498d156ac58c18a152bce76358410429c44e2b3683699554c08218410420831ed35f58acbc68d1b9b599c1042882691f82c841062a66b5ac3e5da6baf6d56514208219a48e2b310428873810c15134208218410424c7bd270114208218410424c7bd270114208218410424c7bd270114208218410424c7bd270114208218410424c7bd270114208218410424c7bd270114208218410424c7b4d7b8ecb962d5b9a55941042880918eb392d129f8510e2ec90e7683557d31a2e0037de7863338b13420831868d1b378e6b3d89cf420871668d373e8bf193a16242082184104288694f1a2e42082184104288694f1a2e42082184104288694f1a2e42082184104288694f1a2e42082184104288694f1a2e42082184104288694f1a2e42082184104288694f1a2e42082184104288694f1a2e4208218410428869cf7636765adb7921d48f9e8d5dcf7c9656ac97ed3edbb510429ca3243e4f82c4672184985267a5e142f585b3b2db7342fdc8d9ae8110e25c26f1f9f4497c164288297576868a595acfca6ecf0972ee8410534962cce99373278410534aee71114208218410424c7bd270114208218410424c7bd270114208218410424c7bd270114208218410424c7bd270114208218410424c7bd270114208218410424c7bd27011a7a752201d0be27107c91aa759865122138f120df971bbbc8492054eb7a8610aa79c4f110d787087724d2c77faa86482b85c21b295b35d1321c4b9e0b51353cefdfc20c4b96afa355c14681a585bc1da0ed6398d9f651a560ba8fa19d8f75cb0da8089ecab0e560758e783559fe0b653c928900afbf1fafcf87d1e744d43d334fc99c96626272e8aec2a9f76ab85422c48c2152391ce928d39c925d214279d410c4a853200bacb0dc55d94275b2450296448843d689a86e60993cc1438f3b9fdc4b101e86e3f81801fb7defcb2851896c4e72954211b09922a9dbd1a3437a68c87412997261e70a2691abac787dfefc3e376e30bc6c94e61486a667e10429c39d3afe1a2992fdd07e18567e1c51715a567e13fbf5aa3db008ba3b9bbb3dac1a201cadcb752d07308fafb00eb380be93713220e78f2570ae31858f446990daa0e562b582fd4b0ce02aac3d4c332749bc9ab900905883b3bc9e573e4f2452a3b37b0b6a30927d1e9c6eb739dfef6468164ba88ee72023a9e688e72318e77b209b394229a2a61a0e3747bf1b927595e83d31b24da196525b032d24924e8c5d99ca2c7eff8b199746f94542a82a719ff649c54b610c392f83c75ca19e25fbb9f78b238853b195d5363caf8f688db1f22da19a41d0781648e5c2e4f319fc09dbf9debbc617253d243d4dcfc20843873a65dc3c5da0e072be0fd5095b7fd41950f7faac60f7f5ae7f6448d633d6099d5a41d357aef98059ad5fc6c9d0d461fbced63557ef20b85759136aea22cf3e0f0abf08edfabf28e8f55f9d8ad356ad646cfdec071cd86c347e1d3375729ee5258e69da8070cad47d3180552d90aeec0897fb2754fad0d8802000020004944415498643288ab0989499f5419154a95c99671729179e2a128f94189aea9f977a0b2672ca90f32ccb1cd88b2c53945e273938e6f18c574067d553bbb5271f2afb91e047d68587505888596c1813489c2d49d8cb311ca85109333ed1a2ed8e0d061c5d37b145ffc730ba96fd9f05ca4d1deaaa129607ea357ac15b3276da986d5ad617569e610820ecd1c4eb058338706cc6dacef6cf4a82dd5cc610d6e0d8b0dd67da6c60b65b02cd040837a1d1e7b0a5e7e1558d4287ba986b543c3baa03154a1433387479c6f2ed72eb4f067b7d778f259457e9b9dcffd8185ea6160a986758986f53cd05ea7d13e0ffafac16ed5d006eabd4cc3da06377db646f119b0bab4260eb770e276f5f24024426ad0182ca72f8c6f70c4360aa42261c2913001af077f2cdbb87c6e504a4708062344c301bc1e3fb111bbbfc6bfae914f100ec7c9f7f692ef0c130ac7cc2101469154344c381221e4f7e20b251bff4c37c623073d784219b2311f4ecd4d6448f915f2e924d9622f07729d84c3d113432e0c83623a82d7a9a1b9fcc40727c24a9e64344238e4c7eb1e7cec63abe4d3c4825edca12cc56c0cbf5b47d3bd4432658c529a88cf89a6e97823592a18947249227e0fbe788e5c3c804bd3d0dc7ee2c78f63a47338ccb1fd2a4f3a16c43bf81ea3618fe5c4586e4f384b3113c1e7d4d09c03e76194f326c4c9243e4fcd7038234faa102499ea64e58134f1616e329958bc39bed1c831e1e478fabf3f3e35a64c38378c156fc64b6ff4130d34680c0ac908e1489448d08bae7948942ae4623e73f8b3274aa664966f94d284dd4e7cb19c791e463c8681631c253f8c98938410d389fd3bf77e5bbdfaeaab13fab9efbefbd478559f384f551fb30ffba3f6d9d593dfb5a9054e94da65574a39d4afeeb5a9f35d9a52cfb6a8c7bf6f537ff52716f5f24376a57a5ad4ff246ceaef3f63553ffd4f9b7a366b533fd960557d05bbfa61d2a6ba7f6d57af3c6c57b77edca29ec9da942adad50feeb2a97fb9d5aa1ef95f9b7a6c934d01eab37f6851ea45bb5225bb3afa2bbb5a345f530f7dcba68e3e69577fff19abbaff2b36f5c3a44d3df42d9b52cfd9d5e6a455bdf2b05dfdf73f59d53ffdb955ed7dc4aed6bcd9a2de7889a6947228556951ea05bbbae79fadea5fffc2aa8adfb7a94d775ad50fbe6253077e6a572ffdccae7eb6a151efffb2a9fd39bb02543868516aaf5dd5770e7f6eaa8fd955f589f3c67d9e95526affe6756a1928e850abd7dfa376f69cbcc66e75d79a956adde6434a29a57ab6af531d38d40d5b7b94dabf41ad722c53eb77f428a57ad4f69b3b142bef52bb1b5bf66c5ead70ac519b7bd498eb9ea267b35ae368ecc7aca9da74c332b57a43638b9e9deace550ee5587d97daad7ad4fe1d9bd4cdcb502cbf41ddb16993ba73dd3a75e78e930fe690ba6715aa7ddd76d5d3f8bc69358a656bd51d9b76a8fdfb77a83b56a21c6b36a9438d63dfb0f666b5697f63973b6e53cb41addeb07f8493b941ad04b5f2aedd4aa91e7568e756b57e198ae5ebd41df7ec50fb0fed5477ad7128da57ab9befb8476ddf7f48edbee706d5ce7275c7ce1eb57fe73dea867654fbaa75ea8e7bb6ab1ddb37a8b5cb50b4af559b0f8d750e871e5bcfa19d6aebfae527ceff88c7b25b1ddabd5dddb60cc5f2b5663d1be781d5f734cec3c9e74dcc24f7dd779fc4e7191a9f071cdabc5eddb6b5472975486d5ae350acdaa08646a189c61ba5468b09c3c5d37ffa69e1949832f1dcd0338e7873aa9eed379f285b29a576dfa3d676a058be5e6def514aedbe4bad5e3d100b7bd4f6f537a83b772ba5d47eb561b559f6f1f3d5b343ddb666bdda31d6318c991f46cb49428ccf78e2f3b9f4b371e34665f4748ff873f0959787fdd9b871a3facebddf56c0ef01d701ab81ab8137006e6011d00ad8a7df1517c0d9aad1db0f57ff5e953f5b57e5f03178c3c51a85c715e1bfacf1e387149ffcbb1a3b7fa1f8c4ffadf2bf3faaf3be48952d7945345ea3af1fd6df51e39e1fd6f9bba439f6faf35fa9f3c3ad8a0fadaff29d1fd5f9f0a76afcfab78a0b169b3d7dd4383e7edb6107470bdcf21755bef5dd3aa1bfa8f2cfdfacf10f5faff17411fef11b75fef6ae1ab77ea9c637fea7ceb51fe8e7dfbf6ae599e7147f747d3fb4c3c3db141ffdcb1a2fd4e033ff58e3839fadb1e339c547febcca8f1eaef3fe4f57d998adf3877f59e58187eb5cfc3a0dbb1d736cf5f846408c8b2b90a2b06303eb5656d8f6e58f7299d34b387562f62e231f275ef412f19b83c9746f27c93b13443c3ae81e82a110c1c69d9abad309951295e13ace26b2ee708a09a25927a180fb7879e1ce20fab64ee2797079fdf8dde07047880483445329a2e3bc21c6e18d100d7a71b9bc0403cbe82d1529034621413c5f26978a138fc749a42b7856af422f97c771af878ed3e335ebe409130d7971393d84223e309c04a3217c2e27ee40182f250a657079bcf85ce0f44589867c787d6192a9b5b41fce90c85726740e75a707afffc43d46231f4b05ddedc6eb82766fc4aca7cb4b30b01cca05b931554c98c4e7669fd132d9ac97b05f079c043a232cfb459cd4905b5d261a6f8c516382739878fa97ef583934a69c566ed0719e76bce9a598ea241e8d108ca420b481edf9043e1d8c4a89523e413c63debfe88b4531abe522185b4bfbb6049952a3dec534456f188f3ec631348c941f46cf49afb9b17c424c1bb6b35d81e1546be6257fcf451aaf5f01560bcc77c2bfde5da36321fce00776fcd7f4f3a79fae72fd6a0bff75978dcbdfd54f7f15e63bcda1089e0b357ef998e2373b157f15b1f2c9bfa962b5c09ab76964be6ee3cd1face26cd5b8e2f51a9ff8b0051c1a1c51681ab4cd858777281e7f0e8a3fb4f191cfd6b8e4027398c2dffc6b8db75d69a1b85bf189dfb3f0c990954bdfd7cff92b341effa98d4bdf5ee5cd9faff1ec738a77afd2b8e34b36ae58dec7e73f69e5fffc8395cc9beaf4f6c3eb5c1a85ac8debd65579fe00bc65a5c6c73f6801a7466daf426b6293d2e90d932a0489a66244a25fe3ee9baea450de413ee6a552c853268073208eeb6e82d148e3838f58ca4b319320962b6394cca100c3ef6402eb0ea39ccfb1a7d739e4de1ba73780877bc917cae073a203ba539ff8b8e4411be82e1d8c0a860146b140c919221a8be09e68998d824fbe4747d7751c838f5b1f18e830b40e039b39bd21bcdc4bb95481c0c4cee1e07d8f7e2ca78e6dd05d80616018c8406f3121129f9b1b9f29a64915723843d9c6171574c72e12893cd1a46fd09fe7c4e2cd583161b8783ab8fcd3cf0da70694f1c51b079e702731ff30db7b2374fa93dcf4c10b49afba9944324ed86b2e73fa6384975d493c59201cf7504815f145bce84079d46338b5ba83f3c3d839c93dd2810821a6d0b4bce272ac5bd162836f7dc9cafa5b6dcc9965de3859390af3da3498ab31af5d63d7f38a796d80133ae6434f0fd8ad30bb1566ebd0d503462f6cfb559d5b3f65e52d5e8d9e5ea87643eb6c7359570f1c7805b327ad0de69c07362bbc7c085ae7000b34e6cc82f33b34ae7a83467a739dcb2f85d77580a345a3750ecc6fd760afe292b75979f2bb363effa51afff363c5aa95e674386d7360c942e0b059767f15169d07ccd338af4da3fc8aa2c7800307cd7a342d291a4552e952e383136f3849beb495f5cbe1d1ce4ef286996a7acb454a27fd6f6b98ffd9930af98895fd7426e24407f5c60dbbaff1ae3becf6e6fd16e5c1f5d01b8d95a6dec10f0309d6c0a0b794a578d2b1574e7b8ae7d3a03b713a1ac7388973382d8e45bc26487c6ee6d934c8674ac43219d2e974e3274b36be9203e9f8a466d49a6c4c685a6e680a37e16c891d1b6ec653fc1a375de93d718fa3ee251a5dc99e649c7cb940bae427e419c7318cc81858893397938410e335fd1a2e9ad98377f030fc704b9d03fbea1ce9826e033c6e8de2738add0fd6d8fba222f84e0b8fed52ecccd5d9f3222c9807cf1f807dfb14cfec552c980b8b176adcf9791b0e2bbc7a182a47cc1b300f1f3313d4d12eb3071107bcf00c6cdda678fc29c5dbafd0385881fc963a8f3c694e25f3a615e61881b75e69a17d0efce6b78a9ffca2ceab8715bb9e5694f275ca2f2be6ce850b5df0605ed17d148e769bfb43c1916366d27efe003c9eabb36bb7e2758b340e1d35ebd3dcdf4885423a4b69f0574e3fb1d82ae8357bbf5c5e2fedbd59e2994117f1cb1912d90a956c9448d64334ec1db3537e22eb0ec7e9f3d141914c615096302a188ee5042733edf268fb747be9387c3fb154f1449f65254b325b9a92fd0d3086cc2950a6c232fc3ed7a4cee1d93a16f11a23f1b9b92a3952e520be93e656770723ac3c7cffd0b83c41938d09cdca0d4d51ca922d0dee7cdb432a913f7e5cee508cd54686582c4e29103c7e8569b46318cbd9c8494288b14dbf864b1d9c6d1a0be6c1c7ffbace7bdf53e5f9b2627e3b7cee4f2db89782efc355debf5ae3ab5fb1f2f2ab10f8d31a462fac799b8555976bbc3954c56e87bf8f5bb96a85c625abfbd9fca0e2aa151ae73512c4c279304b375f1d2dc03cf8ea7fd478d74d55dee5d308dc64e1bd6fd3f870b446f91585b3152ebc48e3a2f3353ae6c31fffbe85877e53e796bfadf3fe775af8ed1ec5aa403f819b6bc46eb6f2fdffb6f1d8538a9b3e52e5c2a58dfdd661c90298331bf416f8c09f99e3bd3ffe07169452e82d9863b99bc8c8c708c7f383060b95c9658a74ac8de2739af3f64796f7b2ed263fa1788a5432463094c1e3738161d07b38472a5ba4944f93c894a052a698cf51341a1d52bd033b1a7ddd532b6660f4f65269dcc0a17b6374ae86073a930c4cea52caa6a804e28407f59e8dda5106389d70b858a45cca932d1a66621b611bdd1725ba121efdac177f384e321123144ce10e7846389995131569bc3186a954ef906d8cc12f00940b27c67a97b3494afe4ea21ec63c87a71cdba0f33ffab118630eda3bb96c218625f1b9a98aa90495c030fffcbbfd8496c3b6786250fc9c58bc192bbe0d174f87c494d3ce0d63c79b531918f48e7825c4a8e488c71bb384397d8403cb717b06351e5c0162419d5fdc5d2618741fff7ad463689c8311f3c338729210627a38abb38ad51e375f5fd86a578f6db2a91d1b6dead07673a617b5c7aefa1fb5ab9f7fdba6d4d376a50eb4a8571eb1ab5ccaa62e3c1ff5dbefda94da6f570f7cdda68efcd2aed44b2d4aedb4abad1b6caafe845da9a7edeac59c5df53f66572f3f6457c71e315fbb7f6d57b55d76f5d2cf6c66d9bfb52bb5b745a927ecaaf01d9b2affd4a60effc2aed44ebb3af24bbbea7bd49c5de7b9076cea898c393b8e2adad5af37dad4e3199b5265bb5207ec6adf4f6cea91b44d55f2e66c38b527ecaaf2b85dfdea5e9b7abd5b533ffe77ab3ab4c32cebf9ad36d5f588b9ce8833d64c74d69a9eedeae60e14a0e858a956af59a356af5aa5d69c3cbbd8fe4d6afdea0e05a88e95ebd48681d9ba0e6d55b7ad6a57d0a156dd7c8fdab1799dea702c5337dcb5531ddabd59ddb1a65d41bb5a73e766b57bffc8eb9e3253d5fead6ac3cd2b95039463d57ab561f30e73169743dbd59d6b57aae5abd6a8b5ebd6aab5eb3734ead9a3766eba4dad76a070ac56b76dda39e2ec34fb37af53cb1d0eb5ec86ffa77e706f639b8e1bd49d9b77aadddbef51eb57a260b9ba7943639ffb37abdbd62c530e502c5ba36edb3a7cc987766c5277ad5b6e9ecbe5ebd49d9b72ead1cd77a835ed27cadfbff3c439b9e18e4d6ae7fe9d6ad31d6b543ba8f63577a8cdfb77aa3b96a31cab6e506b6f5eafd6dfbc56ddb0f64eb57d6097a39cef9e21c776972a14079dff3b36abdd3d231d4b8fdabd79e03cac55776dddadf60f3a0feb366c57874e2afbd499e7c4747626671593f8dcacf87c486ddfb04e2d07d571c31d6ad3903fba41f10ed4f2b577aacdbb0fa9dd138e376ac498305c3cedd93d5c4c99686e28a8e238e2cde063ddbdf59ec67e07f2c1a939a367c77ab50c54c7eab56afdfa9bd5ba9bef52274f2ad9b37dbd5ab9e61e75ca9c90c31ec3a073305a7e18312709313e32ab58f367151b6e7e14fb77eefd76df35efb96e42ad9d2d5bb670e38d378e6bddda93f3a17e74f885ca7c42b1e6c4bc1e5407ba8116a81d06eb1c60ae061545ad1bac17012f42db9bfbf9e15d36defebb1af469704c513bd458df69ded8a9fa409b6beeda3217b367c901f440cdc07cf6409bb96eed48e3f31ccc5eb68175dacded55adf13466ad514e0f30cffcac0e42bd0ad6058d63ea377f6a3d60bd049ed8a2f0fd7e8d571eb2a25fa8512b81f53cf3386bbd8c7e1dccd28a75c5c1719d6731dd14897b2e2315de4931265d76a239366edcc8b5d75e3bea3a129f91f87c8eab6423448d38a9a073ec95853843c6139fcf250f3ef8201fb8fefd232eefeaea1af6fb9f6ccd61a9f7f1a1b51ffb1066c4ee6efc740d7adf0318d36f56310dea0a3874d2f78d8451eb017a1a8f2fb643fd45a8f6c1d60d362e5da6517f1154f5c4f25a1ff0d2a0c71d1f315f6a0379b9aff16a3bb5ec9ac1d0cbc81ad41adb6381dac9751c9cafacc32cb7407d2fb8976a6c4b5901b3be58cda43fb08e10424c4b129fc5b45426978650421a2d429ceba65fc3054035e6ee9fd3e83d1b65d57a2fb4b4c155d75960af3213e1e0e4a2c06a37bfab19e6abd506f51aa8c105d7cca73853875a37606d6c6bc1ecf5ab726ad9a773687d30772e5ce5d7e025a8f54fbe4c31735400a3628e01977969c48c24f1594c13955c8c70a28cdb55a1e8ea2423ed1621ce79d332246b9a3983cbbe6715162b6835b0b69997feadf3c0ea68bcce01db6238f4123cf3b33a2c36939b75ae3964c07a1e585ba072188e1e01abab31bc00b0b49adb5be7835507eb5278f17978fe79657ee7680c0f9807c70e43e518589734b6996b2eb3682725d7f1b098c9b056865a9d69fa1b104d6794c826e36476c19e7482544e1efd28662689cf62ba302a45f2f7a7c91a41129d6768863321c459352dafb858dae185a7e10bff562711b332b7037e5b501c3a022d2d70c5a51a3b7ead38bf43a37d097cf95b757c5e0dda14ad358da3dd8aa3c7a0af0aabbce66d3c070e2a8a7b40b7c163bbe09265e643c69ed9ab58b95ca3a707fe2d5de71dbfa3b1f075a075c3aee714db7eaeb06bf0fb1fb6f0d01685bb43a35687fd2f2b7c5e0d0ba7911cc56b8fee261049518ca4ce764d84981489cf62ba70053394e5f72bc46bcab46bb8681a28076cc9d7796e9fe2473faff3c11bad3cbca3ce8b2f998931b3a5ce8a4b357efda4a25e83258be0bf7f50c7b51dda5a35dc4ba1c50e8f3c017374b8d4adf18d8d8af33b4077c073cf2bca07356a75c5ac1678f8378aa50b61e942d892572c7442fa813a6f7ea386bb43e3a11d75bef2cd3aaef9b0e30985d16b3e6bc06a85abdfaa9d3a565a0821ce41129f8510429c4dd3aee162b1c14b4f2b66ebf0f57fb0f2e8938a979fa9b3fa6a0d14f4f4c26f9f8596168d258b14f53a546b1a5e0fcc99653e4df9aa1516163a1517b8306791a9c3e245f0c16b2d1c3a62cef97fe9328dba82479e502c9a6f3e746c4ebfc6bc76c523bf555cf17a8d961658b6141c0e0b070e82de620e8db8e66a735ba397a6cfeb2f8410d395c46721841067d3b46bb8d4aad0365b63edfb3468874b966a18062c5a0028a8d761e5551ae53db0c0a961b3c3f3fbe1fc4b350ebf08b31cd0e2807a4dc3e7358709d4eb10fd230baa0e4b3b342e7f7d6316e839e09aafb16429f476c1a1a3e03a5fe395fdb0e075f0d21ea8d715975fa68103f6efd138af0d1c6da07a3067b1396cbe0a21c4b94ee2b3104288b369fadd7a5837871b3017736a4c9bf9e4645537df5b5a802e702d05db2cc002e72f03baa17d3eb4cc0634b367100d345b63d61a2b6816f3332d50adc2b19760c925e63e1db3c17501d0030b1640fd082cea00974b832ad48fc1e225e09805f56e73c8c458c7619d55c3eaecc7baa81f6b470dabad663ef7400821662289cf62a6a81448c78278dc41b2c6309f814a2688cb15225b39ab3515424cc0b46bb8681640835f3cac387c18fa7a419b657edf67406f0fe63cb27dd07598e343018e1d055acce92c8f1e855e03980dd55ee8e906d56f96db6780aa42b7617e362a1c9fcfd3380438cc693995321f3656eb33679751cafcbed66fae5eab9b3d85c3f6e6d5c07a5e95030766b1f52717f0edff5cc20ffe772eb42aac8bfbd19436fa1ca24d57219f8a12f4fb09864284c361c291288974926824cb94c46ca3402aecc7ebf3e3f779d0350d4dd3f067c6b33783722e452ce042d334747f9464b6683eb2a192271d0fe1d63434cd4b2499a130350740a920337f093198c4e7663128e5d2c4034e344dc3e90d120a87098702f83c5efce104939f7870e41856ce674884dde6be7d4142a150e32788dfade38e16863c22a799fb9eacf1d7dd898b22bbca034772f267d0dd7e02013f6e998e4c881963da0d15d3cce77eb1f9678a5f3eae689b0bbecb3596bd4ee3be1fd659b248e3e5438afe7e689f0b763bb4d8350e1d81a35d8af6b9d0deaa5139a2e8e985570e9937692ebf10fafae099bde6e7cb2e02ab55a3f89ce282c530dfa9b163a7e2edbfa371f9551af5c36356754496b62a3b8bed3cbaf33c2ebaf408b3ea35fef53fe671c77fade46b9f7f9c155756a897ed662fe5540f63308a24023e3ae9249b49e03b3ecf7d994cc44fac1023d6f49d56c88402c4dd69f2793f4ec028a608fb238c2f95e9b8fc613af53ca907be8637162712686416a78f50ac9352ea5e6e7746e98c047135bdfe40294534e5259d70c9149b4234487c6e161db73f4454cf9278208d2f9126ed6f449a729688ef3aaef197d95188e33ddd00344a0c73f98244f41c89bbbf8c3b96223df869f3469e786272cd96a98c9fe3aebbd38dd737283b9cfc19d0bd5152a92657500831a5a6dd15175533870bbc6905bc7248517c0e9ede0bfd7df0ec3ec5be1715a5e7c16285175f86674bb06bb7a2b757f1e3ed0a67bbf964e7a7f742fe51f3c6ce375cacf16a050e1c840b9668b4cf8567f6c10f7fa65871a986d1034f3cad3858513c555268b34f3f5b699a4273d9f8877f9dc5bee75fe5cdd7bdc2ef7df010d98d7b59e23cc6db6eba81ed3f9b8fc5d58f76067af5f2b1009fcdfb48a6a3831a2d002e82890c714fa5f9575c8c02a96c0577c0cbc02e754f986432886b22594cd70187f93274c130df3551254f3c14252fc307841842e27393e9c33c31d115a0b37315ec4a92289c6603621c314cd7f5e11b15ba8f686412cf443903f173bc753f394f4c69de10429c11d3afe1a2a06ec0356fb6f0473758f0ad84c0b51aaf1e5668685c7ea5c6a7ffc0c247df67e1f56e8dc07b2d5c78bec6a607157ffc218d77bfd7c2928570a547e36f3e69e5fdefb4e05ba9f16e9f850f5c63e15a9fc607aeb170c3351a9ffaa8c69b56685cbfc6824583c79e02cfc51a18a79fb19432c75cbfe98d47b9f59f1dec7cb00d8e58a10af7a576f03edf33dc78dbefb2fbb1162c4bfaa13685975cca19625fde8323102530dc6509dd4338ea6f342e0c4ae908c16084683880d7e32796ab001572319f39d4cb1325533213a9514a13763bf1c572c3347c9cb85dbd3c1089902a9e48bc4e5f18df54260ea3482a1a261c8910f27bf185928de46950cea788063d784219b2311f4ecd4d2457a6908c108e448904bde89a8744a9423e9d245bece540ae937038cabf6d4a130b7a7187b214b331fc6e1d4df712c994314a69223e279aa6e33d3eec6ea473d9a847c083279ca59889e0736a684e3ff182318ee5429c5d129fcf0cc318fcf73e52fcaa40254f321a211cf2e3757bf0c7b294393586a54ae3dd7191543c0fce81403d522c33978d277ea64a8c1d9b9b11f34ea9fb18ca79d2b120dee3f7bc0c773c13ab821062ea4dbba162608e4d9ed30a172fd0b8f84a0b1c56cc99a571fb9f6838960287812abcfb3a33a9ccd234bef0290b6f7c8306c7e08d2b35deb80ae8c61c635d87b9ed9897fd072eff5b34b002bd801dae7ba78577bc4971c9328dfa247b8aea7beb44ffa49fe5175671f4f553efd7a81fb5635bdacf5db73e4ce0d615fced37dfcdbf776ec632bb46bd776ada8f46214d1ef0043c0cd3af0780d3eb35df94d384c2597cf922092fe4236ede124d132944f0c73324f38bb9091fbec66060dde5c1e50913edf49f5ab6ee25965c47e6babbb9e9b21ca9f50992f1101e5780e8948ceb0228930905480573e4c26e73889cdf8b3f08c55c185d77621476b14b4f5108c5e85c9781ee8d44d35e52b9086e0cc2d110799cf8220922a9bb29783a49a5bc18c53c9d8547d9a3a7c954a2a40b6132212fb78443108b10ce9488e5c2783f1a25192d12738e742ec3385d1ef4e22e76955264023132c508a9c095dc1ecd10c905d1475d1e1af1f728c49922f1796a19a50cb1ce4761e56d44bd3a60c070f1cb79805424852b9124e502a310c37be575843cfbc90d8961be51af9e14e2614269733fe5fcfd14bc5b090d2c1c252fb84ba971c44f1f3a6532c19163f3e83171f498376addc73acfba139751e4d1b2dbfc62d8e311424c37d3ee8a0b9833c2d4faa076146a0714d56e58301f1cad50dddfb809b30ab557a07600cebf00de78b5067d8d6547a1f632d4ba1a9f07beef69dcd06940adbbb15e633f4b2e80d7afd4d05463869c49a8d7acd053e3ba0f1de4a24bfaa91fd1d0ac8ada0b36da2f852fdef21b1e7aeaed6cd93a1f6d590deb14351f2be532bd80ee1cc7bfbbba8760284470a061e27442a544c50070118cada57d5b824cc95cdd28a6297ac37846c888ae408ac28e0dac5b5961db973fca654e2fe1d4e9dcf0d94bbe3334e806cc10a1508464f1a4d58a09a25927a180fbf8f1843b83e8db3a89e7c1e5f5e37783c31d21120c124da5882c7981523e413c53c240c7178be23fb51586d3e335b7f5848986bcb89c1e42111f184e82d1103e971377208c971285b231cab9d471badd785dd0ee8d9865b9bc0403cba15ca0cc58cb8538fb243e375b2fb95888503844d0efc179e107b9971bb82bddd9b8bf451f3e7e7117f17c995c2a4e3c1e2791aee059bd0abd5c9e509cf5c652a4d369d2e90cb9fc2642833b9746c90b46a5348ef8c998b17932316fd4ba8f41777af0fa4f6c30eee311429c55d3f28a8bf954b23e7366170d344b0bb57ea0bf8aa6d501bb993deb7d60311320dd56c00a16756a19d696c618877e73f0f5c9edb58132ba4e6c3aa9da5b14b59a062fd8cdcf0367d90a1cd2b8ea8247b8f62d1f60f393bfcbf93fdec0a2f61a0b2fb48201d5aec6cc3d4da0372e991b9571a431a78f58ca4b319320962b6394cca14dc717fb6384975d493c59201cf7504815f18d310edae90d932a0489a66244a25fe3ee9baea450de413e3691f1d30e7c9d836e5c05a044c27b219f1df44d399f634faf73c83d344e6f000ff7922f94c1e744c73c27c7c73f7b237f4bb707000020004944415474fa93dcf4c10b49afba9944324ed83b5c1d4ebda746d7751c83ff3d68ac60c018e7f2d423d75d806160180c3b087be8f2e1ea27c49924f1b9b91cf8e327629c51ca100b7e905b2ef352dc9e27d1b839f1e4f865140b949c21a2b108ee53ca3ccdcb522e3f41efa05ea15162d978e3e77862f3c94e2be69d5cf771181c6ec79f0f841067d3b4bce20235b0cc016b1b586641b5cffc5175b0cc36e7bcacf6816d913917a76516d46be677f57e73797f9fb9ae6d9e395d4dad1fec0b1bebf59f987ff30c535d56e65c046f3a7f13dffcaf837c233d9b5f94eafccf7d758e1e03db02ad694f7b767a022c074ab9e2d83d70469154c847aceca7331127ea3fa9eb4af7128dae644f324ebe5c205df213f28c5256ba34500bbce124f9d256d62f87473b3bc94fc5ed1a860154280fced77aa3b132e21d996ec2d9123b36dc8ca7f8356ebad26b8e1b9f745dc6389742cc68129fa792ee0e9248dfc67276f1e55876c4ab0e0606bda52cc5934256a53c9900eb24101934b46cd45836cef8795ab1b909759fb029ca074288a69a860d1705f51a5adb0d680b3e85d6fe11b45957a0b5bd1d6dee35a0bf11aded5a687183cd85b6e0d368ed3742eb6ab4b6b7c1ec95686dd7a0b55e8dd6763d96b6ebd1e6fc0edadcabd1da826873df89d6fe4eb0cd37a7c839c3ea68b0b0855d4f1638f6ea2b782ebf92ebdf038b97697c335de7d50375acf368ce73043c613ad738389ce9e4783b620883622643d1804a364a24eb211a1ef96a883b1463b59121168b530a0487e9e51b50a190ce3264974e3fb1d82ae86df4a23599d3e7a3832299c10f75312a188ee5047d23341c4a59b2a5c10dab3da412f9493ebf607ce752889949e273d3e2f3689c8dfb124709964eb7978ec3f7134b0dea98aa6449664b93df7f2943aa608c1ecbc6193f4f2b3637a1ee13df6e6af28110a2b9a65fc345d5c0da0ad4a1ff054081f33a98e5056d36daecb782c303f676a01f653c06d50358e6f861f6d5682daf87596f86b600d47b5058a1ed9d30e71d6071c0ac9530f73ab09e67f6ee9d0d07aa04d7b4b1eee60fb0e5970b29fd12def6210b575c025ffd0f057ab3fa1a5d845219d6b9b67153204c6ac8931acbe4939de45c7ef33e15c3a0f7708e54b648299f26912941a54c319fe3f8c460ae00b1a0ce2fee2e130cba47ddb3918f118ee7070d582893cb14e9583b302d73856cc4872f3cca03308d0ad03b4cee3eb5f1a37b6374ae86073a930ce4ac523645251027ec19d86ae8ff014625473cde9815cde9231c588edb632652a7130e178b944b79b2c58ab9dd493bed1d5225e3c4cba8e7d21823118eb55c88b348e27313e3338d1877b20ab9789c5fe0604d3470fc3955278720dd1725ba121efdac177f384e321123144ce10e98016f680c3b35aa184663d0d7c98b8c22c95806975b1f35963d7a607cf133a77f768cd83cf19837aeba0f9cafdea1db8df479b47c2084983ea6df3d2e9a15a8a10e67cc79372d76b02f86eaab503f8656f5a2fa9f87ea41b0e86014512894f104d47bccf5ac73407340ed5573dbfa31c006f56e7340b36596f9ddd4df7539bc8375defa966eca9ae2ebf75dcece17efc77db09f77fdaec6bd5b66f3e0f72dbcfbfa63d45eb24e7e5fae00a9e24e02b118f1a09b182edc6e372e9787602c4ea4f1743367a093db5605f9e207fd146f4e908c05490773a48b9d04fd038539f147c3acacf8869f5e7988c36cbbfd2dcc4bac64b5d705950aba2f492e1e383efd72a554a4c87037921a94731952892c07805c3c469208e18007bd9227934a90dc0590209670120d07f13add4432398c4884903f87d7e30467984c3a880b8362264e320fbd74d29949120b7ad031287ded1a3cc5b584bc4e2a469474dcec59f446d7b13c18c11ffd67bef9f11c8902f4ea4992593721778954220fbd904c6470873d1453490af4422241fecb239dcbdbb9d248902ac0e1529254ce4d50cf9348ed823d90486fe373aecda32ccf9308fb64663171f6487c6e527c3628e532a413190ed0cbfd611f7e8f1b9713cac502253cacbf27433ce48211e297130fb1ec662ae10889bb6fe796dc1a6e4ba51b37a83b07c5b004d9b46fc8decbb934a9649a3dc09e589060a6f1a048a342a9f00005cf26caced1f342ca379ef899209b8e1018253697b2a3c5c45363de78eb6e94b22493050012c92c175e079b46fa9cc872e135231f8f1062fa18aee3c8fe9d7bbfdd77cd7bae9b50415bb66ce1c61b6f1cd7bab527e743fde82855aa35860968803a7e13a87943a732df6b56f33dcabc5b72a077ce621df4de62cedd39b86868946769dc9539c5d7fceb1a567b1d5aabe6f5ad2e2bf45a40f5f3eded61363ffa7edee3fe33d6ddf412e8f02fffb888dd2fcee52bff6f37f53d36d4c9bf214b2bd61507a7b6cea3a86423448d38a9a0fcfb2cc474b071e346aebdf6da51d791f83c82732c3e0b21a697f1c4e773c9830f3ec807ae7fff88cbbbbaba86fdfe275b7358ea7d7c68edc73e04f4604e98df8d392dcbc0fb1ec0987e43c550800534bb99b834bbd9ab37f0d9d2f80e8b991c359bf9ded2586fc87beb89f7c7cb18786f65ea072a8366a981cdc2af1f399f6f7dfb22babaadd056052be82ddd689ac6c123f3e108d0055778da78b2741eb5bd0a4bcb24e7fd6cba32b93484648e48215ea3243e4fdff82c8410e7be69d87019cbd97992f1e9b22c856f6db211ff463fe7bb7bd9f8a3c5801566c16ccb3eaa7d3d1ca8e870cc5c7fc9220b952e27bbf7e93067ea13f77854723182c130d14884a42b2273db0b214620f1590821c4d499810d9719a61f9cad75fafbab5cf391322fbdd24576f32c580a36ed084e671b7db5f3387c14b081d5d2454fff6c5e78b50df4e9d1a367548ae4ef4f933582243a65ccaf10e21c710ec4672184782d9186cb14ab95353e70ade27fbed40dafd498e7d47970c712b083c361c761afd3576de1681760875a0d5af4767afb6ad3e6b7e30a66282b83622a6cce40268410e78073213e0b21c46b8984dea9a669a8fe1a36471f74c1556fb0f2ccfef9b01b9cad35ea7583ae9e7eaa75a0058c3e1bd59a8d5aad77a68dba1042889945e2b31042cc28d270996a1ad4eb1ab55e0bd4342e5dfa32ddbded949e8205ce3e66cf72306bd61caa55c006af1eeac7ded28acd623913f7a60a21c46b97c46721849851a4e17226f541ebdc3e5c8b5d3c5a7261b3f4a1596d582d1a160de885675e3c8fb6b6361c2dfd503ddb15164288d70889cf420831ed49c3e50c52552bd8aa2c683dcc73fb17d063d4e9eaeaa3afb7c2e285507b16f24f2e60615b85456d3de6f3048410424c3989cf420831fd49e43d83141a6830bfbd8f972aadbc7c58a772b88b5adfcbccba047efe083cf7f2e55ce47a910b97003d931f446d94d244fc2e344d43737909270b273da9dea0908c100c850987828413792a27175229908e06f006d294275cbe10424c7f67233e03a3c6578c02c9489050384cc8ef2318cb0d5d67ace563952f8410338c345cce340b9cbfb805a3dac64b07a1bbbb8f85ce636083fcd38bd1f4152c753e8de37550ef9be4afc728d0194a5009c4b967c39dac7315b9fb163fa1cc89a649391d229074134fa748a513f8322142a9d2a032cae4727972990778b4624cb87c21849831ce647c86d1e32b65d2a110195f92742a453a9bc493091088171b9d43632d1fab7c21849879a4e17206290558615e6b1f469f1da37e3ebdbd7d782fa9a0f6c2deae200ecb0b2c692bc2acc9dffb691473b8e259d2b130a17094542ecbba8ec364937933b11905e2b1fb714542780070138cb8c9c53ac90de438dd853f1826e46b9f78f9420831439ce9f80c8c1a5f29a6e8cc3a09055c8d75bd44635e1eed8c91ab8c63f958e50b21c40c240d97334d03bda54ab5a6d15d5d4c9f71900be61de6c15f2de0a5ee37715ecb23f8afea878393ffd5e8de08d1c18fb9777a09791ce84ef3612c463145664f3b1e8febc42a1e2fae0359d285a14d0f7d98e7b78c55be1042cc2867303e0f365c7cad14b3ecea1dfa9dd3eba5a3374fba688cb97cacf2851062269286cb9966816aff317a6b6dbc74e47c5c73b6d365c0cff7fe115dc78eb27cd12fe9b80aeac7ac4dd8d9c9d9aa42b1e22210f1a20346a9c01e9cb85d27d6d39d6e9c1ca0501acf70afd1cb17428819e58cc6e7d1e94e170e8ae48a275fbfae5031c65e2e8410e72269b89c411a401dbabaa1bf3e97279f6b61a12dcbee43cb78b5ffad741ffc096bdf7510bab529794480514c937177126f5c25312a1540c735a495d1b81a731a99efe4f2851062a638dbf1f964ba3742a8e330774713e42b00150ad93c0770e1768ebd5c0821ce45b6b35d81d7160daa50390a7db579d45f7d926a7f3b17b77f86dffeaac8ef2cf9312bd640fd39db143c95b9443a5e229a8ce16e7ca3eb4ea08c31b88d62543000a773a299efd4f2851062e6389bf179184e3fc9fc269c914ec2fe2c5e7f0077a108ed41826e7dece54208710e9286cb1964b1d4c0a2f1e4ae0afbcbafe06cd9cfdcc5efe5b7a5762afbfe83dbfead070e5ba6a037af423e91c08826089eb89d05dde3a58334a58ac1892b2d252a74e09f50e21bbe7c21849829ce5e7c1e99ee0e92c806cd0f952c21772fcb22317ccef12d174288738d0c153b93e6d6e8adcce299f212ba0e17d9b3ef652ef2f8d9fcc3eff1577ff8240bafb0507bd9dae4de3c83622a4eded749c4ab1fffce3040f78408761ca05038713f4ba558e0404780b077bc0d9791cb17428819e3acc4e7f132c87746c9b8d693ee1cee1ec2b1960b21c4b9411a2e674a15580c3ffa452b3b9e543cbdf3975ce17d0b0ffeec05c2d76409fe29d49fb64053eff9342826c3440b1e3c953cd96c966c264d3c1c265506741fb1f81a4aa90c25004a645265d6c4e3f84eca7cc33744c6285f08216682b3129f4f18bda3c7a0980a11cef949e712a7c4e6b1978f55be1042cc1c3254ac99ea1a56bd1fe629b05b40d5a11bb379d80ab5bd2d74de358b1776ff8c2b56aee4a9bd6dac5cf84ffcf517fae1451b756541d39a3710a19808e0fdec367ab99707be3c68c1ca3bd9ed36dfbac369329508d15001975e8150864c78f078af0af94c8a64ee30545224526ea2213f2e7d7ce50b21c4b430cde2b369e4f88a51249bc9532ce429b92264f301868ce01d6bf958e50b21c40c34dc456ffb77eefd76df35efb96e42056dd9b2851b6fbc715cebd69e9c0ff5a3132a7f5a5360b180e6eaa7ef45b8e7fb560a3b6b9cdf016ff0b4d2d75b65f6521b7ffb374779e87198d37a1eca7e0537bdafc057be5401c34aede0387bf32cad58571c9cf2431242cc0c1b376ee4da6baf1d751d89cf129f851067de78e2f3b9e4c1071fe403d7bf7fc4e55d5d5dc37eff93ad392cf53e3eb4f6631f027a30bb95ba81ae41ef7b0043aeb84c565dc33aaf0aaaceb7ef86dc93efa3aebf9b8e4b16e0bce802165cf10666cf9e8373ce1c6eff971dfce3df7d8e477ff31bfeef1fff86dbfecf113864a576c80ad63379cba71042bc06487c164288738a345c4e9702ab1558d4c7b38f43aee0617fdfad443efb11aeba7cce90550f1e3cc4f6ed3f63dff325f6ee3bca5b2f3fc26d5f74c0d316aa5d5634498a4208d13c129f8510e29c240d97d3a1c0ea005afbd99886bdbd7fc5bb3ff005bc970d3d9d5ffdea57d9b46913a55289dede5e2ebef862f6ed7b85775eb100ca87a14f93a4288410cd24f1590821ce59d27099280516bb82b955fe2d09dde7ddc7676ebd919641ab7cfdeb5f67e3c68d747575a1eb3a7ebf9f6baeb986a79e7a8ad75dece78a0b7e032f7f0fac32a99b1042348dc467218438a749c365a214680babdc9d84aef9dfe32fd75f7f7c514f4f0f3ffad18fd8b66d1b9ff8c42758b66c193b77eee4b2cb2ec3e17050ad56b9f80d6fe4c0935ba005eafd92188510a269243e0b21c4394d1a2e1351d7b02ee9e7a11fc0ce9e2f12ffebeb872c76381cb4b6b6f2852f7c815aadc6ae5dbbb8fcf2cbb9faeaabe9ededa5a3a383cd5b9fc7bdb817eca0faceca93cc8410e2dc23f1590821ce79d27099008bbd4e4f59f1dd5fbe994f77de3a64596f6f2f0f3cf000cf3cf30ce572993973e6b078f162e6ce9dcbd1a347696d6d65e9d2a52c3bff18fabea7c07e960e420821ce41129f8510e2dc270d9709d01656f9c13760d1eb3fc7eb169eb44cd3f07abdbcfffdefc76a1d79c2ff57f6dccb3b5d47a07b860f43a81448c73be94c43a29821200f343b2d954c104f4427554c13709eedda083173497c9e843311cf256708219ae035169d27a131b9cc33079d78af7aef298b5b5a5ab8e0820b464d8a5b1e7a89fe7d5f64e94aa8f59ea136a3512015f6e3f5f9f1fb3ce89a86a669f833954916ecc445915d6563a215a2944b130f38d1340ddde3c3eff7e171bbf105e364cb93acd60ca3bbfd0402fe619e782d8418b799169f2b0532c9083ea786a6fb49964e5a5ece938e0771696e428934f9298f8be388e793ce2513cd1906a5427994cf4288d72269b88c93c55aa7ba0f987515575c3e6fc2dbbf7a0cb66c0c73ddbbbae19815b43331cd66854c2840dcd9492e9f23972f52d9b981b51d8ec917ed74e3f5b94e63431db73f44b433483b0e02c91cb95c9e623e813b7f3bd779c3e426dba69a41746f94542a82471a2e429cb619179f9d5e829124b9eccd2cebddc62d8128f9c1ffcfbb7c84a23142ab43c422214e2bd44ea83e63c5f326e49289e68c528a68aa8431d26721c46b92345cc649b32bf63e0fb3e77959d47ee27bc330e8ebeb1b73fbbffbc21779cf8acd2c5cae51eb1ab9d7afa98c02a96c0577c0cbc02824dd1326990ce26ac23fcafaa4cad019b2b92b402cb40c0ea4491424350921c66f46c667407779702d5f8e63d7970986330cbd9ea0a33b9d938cb313a8cb68fb69522e19f7b154f2c44351f295113e0b215eb3a4e1325e0e8d8347409fb374c8d7f57a9def7def7bbcf4d24bc36e76e0a50a9ff9dcdfb1dc11e3dd3742fd051b58ced443cd9cb85dbd3c1089902a9e680c387d617c83138851201509138e8409783df863d946023528a523048311a2e1005e8f9fd888974326b2ee70f44652d3d13128e75344831e3ca10cd9980fa7e62692ab805124150d138e4408f9bdf842c9a1c9cc28928a8488c4e344fce67034cdedc51fdd4669d832cb23d6bb924f130b7a7187b214b331fc6e1d4df712c994314a69223e279aa6e38d64a99cc6fa94f3a46341bcee2059a371cc010f9e709662a6318cc4e9273eb82137e2f1e5a52752bc76cdc8f86c72f913646f5bc9817b438492c5d1ff8e478c7f15f2c9106e4d4373874937e2bd514c13f1b80824f266cca9e449462384437ebceec1b17e2c63e51283522e49c4efc117cf918b0770691a9adb4f7cc239a3423e9d245bece540ae9370f816feef57077f8e922a8d742ca3e40e21c439e1b57d73be02cd0296963af46bd46a1a8c3403664b8da3bdd0a7865eea9e3d7b36ef7ecf0da4efd980dd66e1924b2e426ff5d0dddd45b5e7391e7d723ffb8af7f02f7f0fbc6ae58ca644dd4b2cb98ecc757773d3653952eb1324e3213cae00d1e3875122190c938fe648059c18f930eeb70489042a643c6942e12cbe7c918417f211376f89a6891422b84fde577902eb0ea794a633b50796af27ead3a1e8c428ec62979ea2108ad1b92e034e73b8422a98231776835124e1f7e20f423117c18d412e1aa0d348538cf9d0235e2aeeebc8059264135e2a8543a79659fdde08f50ee374ba300a8fb2474f93a9444917c264425e6e09872016219c2911cb85f17e344a325a2032a1f58b445d4e5c469147cbe619d25d1ef4e22e76955264023132c508a9c095dc1ecd10c985708e7a7c3e64b49938a79cebf17980eec417cfb0a1e0e5a65b82c4bc7912bee166ea288f1aff7c9114a95c966b0a1ebc8db1a7badb83db172716f5e1a4442a92c295489272815188e1bdf23a429efde4c2630ce11a339718e82e27e5c22e8a468a7cb493ecf610f1d04ddc1e8ce02d0d33f9c82839c317491049dd4dc1d3492ae543a742fa7b833f974885863b96dda4bdc3e50e898e429c2b5edb575c6a0acb3c30ba5a60b686756e1d551b79eefe4a772b8e394b00f8ee0f1ee6fb3f28f0a32d3fe73bf7fc3776c73cdc172ce2c16d3b79f8becbc8fde7eff0e82e8dbf88ae23f4fb1fe7a96700551f39f14e1157204561c706d6adacb0edcb1fe532a79770aa70bc57cfc8c78917bd44fc6656d1bd9d24ef4c10f1e8a07bf8ffecdd797c1b679df8f1cfa3c3524e2ba795a48d55da1295d05aa5d0080ad885d2b85c518112952b2ac7469c117b50752fbcecb215cb6fa95860eb02bb519785aa0d109785468586b8a5252a2dc43da3b42551d2234ad2c4722e8f0fcdf3fb6394c4767c264e7ce4fb7ebdfc52a49979e6996794efa3e799679e0985c384ca778ebb3d1e28e629f6d7253892758feb20976a20118b128aa620bc96cdd92441b71b6fa08e3a1fb87c51a2a110b1548a98bb9158c643b8de777c9f918610ee071b48640d305a4837edc413f45a3fe23d01427ed8932b6030409a6fbc74807cbbf1f803d6fafe08b17000afc74f381a04c343281626e8f5e0ab8f10204f4b8111ae6fe0f6f809d41dfbc1e0c6e3f311f04265206a6def0d10aa5f028516ab5774d0e31362923907e2f3093e22e92656576fe3dbf511d2fd5d06c925078f7fb809c623546f6b2455be4a6bb4a4c987eaf101464b9244b640732a41229120992ee2af5d86bb30bcf831785de2c6eb0f10f482271823160e120846684cada4b2ad89647f63bc4ea9cea07c5c031d4b114f7f713e200d1721268b73fa8a8bfd7c93fffe818707362fa0fe6d456e78f73edcae126677eff69cd2c051c8efabe6aab75fc1b6bc49e2efdfce973f6f324583d701f76df453ffedadcc99ff2cb377b5b1f86df0f56fdec6a56fba8bb9ce0dfcf64e07748f497f1e9e4084544b88582a4e34760777de74392d852d64e3018a2d590ad49fe89072fb08c5a2e53741e2a900b9a624f1e60246be080355719e11ac7b9c0b7fa481785dff958a1b707b4edc0b53c836b3b3c3d36b4cb527508f9fbbc9b614a05c39157345ac6adc1a7e56e9f31e4fa36f9a83e7db7dd2986cb7db8dabe7719557304e69fdbe63be4f2e07b717300c0ce3c4f2c18e4f88c9e25c89cfc779ea48666e2717f82c378692043275bd160f19ff823edc8128d125df26d9d84243a39f6cba48a8c1ea1c31722de43d6162f1feaf820fa7f132585d723cc67a4fc4574f204c80bb29e48b409f4b2ea75467308c63299e1ce7851093c6397dc5452b1bfbf62b3ef481bd647e77986ffd702a6a9179d27ab6e9258eee83fcab4b5956339ddfdcff4bfef6a326377c1adef96e78cfc720f6f11c6fbdf24dfcd77f84f15e6a07c3cedfdcb481c5f6b5fce1c90eb472f4f7bbf4cc3272a4d2f9f21b0f814823d9fc26d62c81271a1ac81a5635d151c891efd321661886b57d3848bc5047433241ecf8d58101f635dc754ff9780ca048a1675edd1eab92725b5788a2b11a0a4d295a0ca0d842a6b08c788f4a754cf23d5a4ee5f88498a0267d7cee87db1f25ddb48aaa47bf4c7dacb9f7d587a1e21f007ec2b11af6a49334e79b4913a67c311d03838e7c865c9f585f1ccef4c4c3a84bfa3f200f1e57cffcf549f31463ef691d8b1062423ba71b2ee62ec5cd6bdaf840e420f997edecd9afc1d97bac80d2c03493cce3f358f286bf60d75e78e9c97fe0bdd783f9b483d20127a5672bb8f86d8a8f5e778499d34c2a2a4dccdd762a1cf0ab872ab8e103d7f2ef3fbc1066955027d7bb6750919674867ccf8f3c75c4e3cba0c3eac5f706025476644834f5189b506822992952ccc48866fcc42243ff301ec9baa7ca130c52458ea6961eb59551c4702d2114f4026e02d124b16081544382646396602a437c90b986cf46be47cfc88f4f88896af2c7e7fe79eb1bc9dc5ac3ce3bbfcc1d3d7a94868e7f165f284eadd1443c96c2133e71ef9bc717a0aaed5ee2a91e130014333466f2c3c8d5d075498f2cf5d8ac40916aeafa9906f97462efe91d8b1062223b771b2e26d89d1ae677d3f607279bffe4e463d799d07662b8803215b6855dbcf824343df67ec237be83ff59bb96ab2f791266a913e3ad1d1a5a3573e7cd65ce6c0f181aedd094da2ae040277ff3e13f71ff1f17d3be5d619b5a3aab876964e34412e519650028d0dc94a36a658ca0c77a8e487449070fde5447389122d51827146ec21ff48261d0d1d64c2a93239f4d936cca43b1402edb4cce287700761cdbd1e0ebf693330c3aac2b3b03e51d7a5588ee409c865ab8bfa19163136de533298af509227e80224d9108194f1dc1800fafcf87a7d0424b8f5eb8be690e9eef7285dc278f1df4defec4cb48d7ef538618430c9418faf8849814ce91f88c61503ce9a60e37817886bb5654f61a393574fc2bf3d613ab87275afc847bdcdbe10ec688d5c0135f0e501749d0988c130ea5f0d5fb8f65a54fb0ea93d521ea92e39fb6b41c9fa9ac9069245fd740cc7ffc70875d67783cd096cb51c867c9e48c5eef9b3d9f1dfc5838290c0b21268973b2e1a24db04f056676f3d273f0d68f7672c5d24eae7c5f377abfad5c6982cdd7c9f37f82bf4f2d271afb4ffeef172d385efe24cb5782f992a377e9396086abc0c18387c156bec7d3a6d107ec2c7dd3f34c75ee279da9822a93b33b754d1b0fdef266667903d4d5d753170c91f235d29caab7461cbb03249ad7b3a6b6c8ddb7dc44bcb14028d948c80b9efa066e5e6670e7f5758453108987a832b2a4735ebc850c8d8d2d409664638662ddc0ebf67e2abc41be394db2a18936a0b9a18154a6ef14a006b9a6048d59e8c834d0d0942b57963ea24dcddce64f13aeab271c09136f89d0940e61f5e7b9f105bde4d371a237dec88d37dec8f5d75fcde50b02449b0bfda639f031ce423537d2d8021d2d8d34667214721992c92c7464694c36912be4686a6ca4850eb2c96f72e75d23593fc92f1eeb5186c95ff0f02f92a45aa0adb99154739e42364d32b50d766648a6b314073d3e99ee534c0ee74a7c2e669b483634f2605382867433f95e41d04b3895e1e65e572a868a7fc778a88f4558118bd0fb9e743ff1cc066e5eeea5e5ce5bf86cb2055f4323612f18f9def13cdfef8ffe21ea92e3079626168d118b86896642a4d311bc9cbc8fc1eb0c0f81d82a96b444a98bb5e0f379fbbcaf19e05806aa3b841093457f73a8387f76f78f3baf7ed775234ae881071ee0861b6e18d6baa567e680796844e98f26a534b6d9dddcfe432ffffcbd4a76ef7d85d6470fe1b90228006ee8dc033f7b001e79f693bceb43ff8f03853c2fff69397ffbf97dd84c07dded0ad5a3f4ecf3bbf8d9ba45649f99cb37fffe09cc56275a031aec8bbbf8fad75fcbc35b1c6cf8c9b3e8bd0e4c7d8ad3d7d866605fba7f144a61322a908e25f136248e8feb0683427392483a485363dd04180e3698c93f6f08b200002000494441547e7ce254ac5bb78e6baeb966d075243e4b7c3ef37224fc97908a6c2517f70fbdba10e780e1c4e7c964e3c68dbcefbdef1970f9912347fafdfcb79b9ab1999d7c70e5473f08b40347cb7f477afcbb1d30cec959c56c0b4afc32ad7868fb17b9eefa6e2eb9682a99271e64ca9f1e629ea78b5dfbddbc72f0ed7438ff82d7bdb986271fbd87e99d5fe2ef3edf89b23b281db6a1fa3ea4cc0467c5543aba9cd0d5e3730574c39b2f2df2fda6d7b373cb9fa95eda09ade764d19f51c54c94867c94965edd7f6ebc3e2fbec0c49f796bb21f9f1020f1590821c4c0ceb9e8ac94864e4d4bde8fd33d93c6ff88b0b330959fffdffb28b6bec2919d7b291e745335af92b915398adbff95a0ef11def51ea0cd49e9b01ae0c9ca8aedbb67b3f740094c85a2c788031bb86ced18fa4236b6ece09357ee80d6b376c8e78c62bec0b67b6344538dc443417c6e28e69a4836160827267e0fe0643f3e21243e4f6c45c0281ae5e9da851062f49d730d179b82b6e760c9ebdecac7ebbfc0e34f77f2e4c60ff2faf30f7164ea8574751ec633a580eec8e199f20a57ad002a157ab70313faaf14355001af140ea1b409d315fa688fe5076c5c7669074bcedbc913cfb9c0b4a114d65005316a7cd126361931e2f17a2eb9a9035cd5d486e3249271fa7d10f50433d98f4f0889cf13949127934ad0b40d76a693a4ea1344c7f3d4f2428809eb9c6bb8e02861da6cfcf11983c2d17574befc1522efcf33672198073662ab00a696ff3a6d50b4513aaa067da2b2b269e8d0d8dde7f1d637bc047613adedc7979b47ecccf076f2f6cb8f72b463111cc901f6811314a7c84b5d2c4d3636d6f9385326fbf189739ec4e789c9eda33e9a22174d8d754e841093dcf86ab898607700b3b0a64c3c0aa51283564a23560115d39c7ce3df1fe20b1f69e23b771c867d0e4aad0abbd3446b300fd9a0e7bda943ecdfe630e1a093c3edd3085cdc0646ef0db40de80497cb41979eda7b8cb510424c04129f8510428cb171351db2cd0d078fc03d77993cf394759dde3e15ec6eb04f6374a6a974d9c86db7317fde11feee73edd066a37448810d4aa60dd33c8522b16bf61f988ed3dec96b1715a1bd9f8c2a9839bd82ce0ee3d85b21849830243e0b2184186be3eb8a8b038eb46b5eda0b470c4dbb017b8b50350b66cf01df02859a8a55411aa04bd638e4918c45d64761fa54c5ff7d4fe37d0d94f6d84f7f54805bf3fc2bb371384acc9b77143afa4f708acba4bb74961f70268410a341e2b31042883136ae1a2ee61158304ff1976b14a5fd70e010782a350f6435e75729e62e865fafd7cc9a096fb85431dd058ee958dd636639912e28753260979979c4c6920bbb607a07a57d6ac495a2cdd6a73236154c856d3b67e050476086c63cd04fafa082a3ed5d747669b09fe567500a21c46992f82c841062ac8dab860bca1a33adf65b63a9e7cd8179558a8bce57681bec7e05a64e87ce2e78f0314d851d3a3a35733c8aaa39e074c0ac990acfc213e96100dd566569b383b6972bce03b6918d07d0584f5c76817240e990f5846787a71b4a70cfc6d95c73c5769806fa409fc3320117ec3bd08ddbd969dd583a76cf771342889193f82c8410628c8daf860b8009b619801dba5bc13115a800d5010be7c0c2eb141c05e308b41d81975e81760376ef87e7f39ad72c0233079d06b85c70f1f98a59336186c74a5339b0eeec390294ac7f97ba87ce96cd6ee5e3bfefd2cc9c66f2a1d5e52ec443f0b39f2ee3b07d056f0b7cbddcbba84059dd7ef6b91ae69460276c78c4cd554b77c17c85edb049779b1de590be3d21c40421f1590821c4181a770d17db3468d9a2291e84ba3a45619755c1cd5a8c35db4b075002f714704f85aa85caea6db3c35bdfa0686b8327b669da3b345a2b329b4d16cc51bce3dd8afb7e6ed2de01175fa0b8e402c58ce9a04a609f825512b672fa40e928bda62ed01a5427042e33d9bdcfcd4f5315e4773b69faf56c9e292c61bee711d66fb4f1da9a0aa6bb4bd0adc06ee7d7f7696c9ee9e4f36fe202ffbbf9bf47a6b1fb3d47b8fd6b07993bab8479645ccd8f2084100392f82c8410622c8dbb868b2ec18c69e074436b117efba889d30995db14531454ce00df2285bb022aa6973732ac210c763bcc9e0557bf4381b6c647eb438aa30618bb616195a253c30b79cdde57e1d536cdfe03f0cea0a2b31b3a3ae0429f42999a850b14ba474f9fd6d6d08337044177dab9e5d685fcfa77ddccab3269b8f6d7bcf1d2024fe4aa78eaf1d95cf5e63d6843d16eb8d9db5ec1daff59ccf643d712fde0f37cecea6759f773071b1f9a4338bccfea591442880940e2b3104288b134fe1a2e065c789102271cd903d7bfcbc6a1c3b0f365cd912ed8b51b5a0f695e3d009e19b0c06b55789eb9e504ba8023e5e70b00761b4c9b02d3dc70d5db9475c49d0ae300ec7955b1ffa066ea14e83e0c5dddf0e0a326361b7ce4830ab3bbdc59e8c17a668101a58203fbb423dc72d3cb7ce5e39dccf675c05413ba15575dbd0f738f9352d1817268ecd33b98e29ece74f77e565ef12d6ebaa6c0fccbe0fa0f3931b6578cce8c3942087196487c1642083196c65dc3051b94da81a330751a283b4c990ef3cf2f576a0674b5c3ab45d8f1a2e6b91d9a279f03079a25172a16cc55b81c306396955caf21056d80b6669e71bba1fa42a8762a6bf881b3bcde110553c03c0c28b029d8f81bcdeb2e54781780696874bb9dca796d505270c00ead76cc7245ac5409ad1436a749e79169ec79d94ee33fec63c19b0c2840f7f315d81c26ee0a83524986210821261089cf420821c6d0f86bb81ca3c034b1a6d1ecc29a7d06500a9c36ab276fc1f90aba15ad7be1e9edf0f26ed8be4b735135ccee842e4371de79a0bbfaa4ab816eb06ba0d31a62601aa09c70b00d5e7e5e73f16285d3650d8d98eab67a06d156457db41ddc38b1bbb06e52edb46e20755680a9cb53e174db5186c1e73e7584eea2466f77629640d9adb1dda5923ce24c88d1502814d8b871e3586763d468adb9f6da6b993f7ffe58676560129f8510c320f1598cb6f1db701980d6502a3fe00cc3ea719b3507deb6588101c5fd800d9e7e4ef39af3ac49644e9a17469767afd1d076102a2badf1d7b860d76ecd6f1fd55cb858a14db0b9e0cdd7d9a0a0e936c0ee02a3a4f9fda370e51b1547da34cfbe00b557296b161c0df619f0d4139ab6431ae77685dd6ee38d6fe2c4149b26d82b800a30dbad8a591ed52cc4a9b9efbefbb8f1c61bc73a1ba36afdfaf57ce4231f19eb6c8c98c46721444f129fc5689b700d97becc72af1c9d5625e999658d757eebe5d638ecbeb3cf40f979014eb8fb171aa703ba4a50f726a85aacb8ec0ac5656f54e82268076cdfae696dd1bc61a9c26607b313e67814afbf5863eb041b8a8babc1e9b49e3fa06ca0bbade7152c98a7505837ac9a874fec5f55c08122bc7a4053bd50e1ac28578e428811733a9d68add15aa3949a14afa549f2047789cf429cdb243e8bd136e11b2e3d991ae828574ee5e1057d2b45b07af84a47e1b225b068be62cf11f8dde326b377c0cc296096e0ca2bac693c8d4ea870f6d85841a903162c50d00d3366620d4738640d53b0b9ad1d9c771e27ba12bbcb37a3aa13699836cdee57adb1dc8bcfb7d214429c1ad334514a4d9a57ad4fba0e31e1497c16e2dc34d6f154e2f3e432a91a2ec768ddcff0839ecbcb53735eb2d4baf17366154cd136babb356d87c1e63c51b1beee1265dd905abe1914385e3902d6f0832eb039404f855fde6f3dd8ecba77d9505d3d7aea7a0c35d01d30d7a3a87dbb55a14aa528c4a9334df3788f1e30295e2773c528f159887387c46731da2665c36548aa3c16fbd8f0804e386f7179811dd0e51eba6333e894170d9aa40d3a8fc0541778e75ae3a907fc6edbac610b745a33e8c8ff01214e8f54249388c46721261589cf62349d9b0d97be548f0af0d847239c09d3ec860ae01dd75843144a87e87718445ff2ff5988d3d3b3476facc73e2ba5d0ed3b79b1b39af3679e7a3a52d1f720f15988094be2b3186d3251fd68293f0cbad406a52348c90a711699a639f0abf1001fa8f2306bd62c3c9e63af8bb9f2bd7fc9ffe68e0ebd3d60e6bec595def7f2d3d621d63bfa04fff4f677f1d5278699ee00af52318e3289cf428c1989cf62348dcd1517f3d0d0eb88fe49d909d1cbb11eb001c7249b1a7071d50f9af9c15595d0d141dbdea7b8efdb7fcd176a9fc3c8fe829b160f31b6b9c7bf4d73b0f50c0a6d06687d52253761c6504b8c3975527642f422f1598cb6b1e977722c02db4cf93b953fc7a2313965428c573d2bc681fe0066ce3f9ff9f3e733fffcf3b9f88a77b3e6fbf7f20fe73fc2d7bef630ede5f58a8fade5d3b5973067ce1ce65c50cba76f7f8ca2d668ac1bcaf5a0eb15f8c9876f20bdf720eb3f7c3937fc64e7e0690e23cf6342e2b3c467214689c46731dac6e48a8bfd921d63b15b21c424d4b332e9774c72b9078ebe63ad2b2ee4baf045fcf39dbfe2b9f6b7f0fab69ff3990fff1d6d5f4af3f486b7e27a7e2dab431fe6d3f37ecf3d9796ab46ad310b83ac97be9b87dfb0928e1ffc91efbfc5852efc9c4f7ff8ef38f8a5bb79fabeb7e07ee14e3e13fa309f99ff7bd2a1f9038ea11e4b129f8510a345e2b3186d32d2570831a1e9f265ffc15ef500ebcd983713dada304c933d1befe091ca4ff06f9f790bf32a4c662e5dc5d7be389fdfdfb19142b9723587b9deb14ab8b0b191df577e827ffbcc9b99e7d2cc58fa09fef98bf379a471237b86c8b710424c74129fc5689359c5841013dab07bf4f4c9b3db149fdf07f3dfc20c97a6f5f9bd74bcf803de59fd83de3bb8e879f6745472ac476fd0f58c8bcac316accaadf8fcbe01d72d1c359937457af484109397c46731daa4e1228498f0067dd231271e78d8ebf38e17d8b0e145e6bda59e45a6c9a18be6e3baf013fce6e12f72d1b14aaab88b973ae7735edb0f8e6f5f39d87acea78fed08801917cec375d1c7f9cd435fe0e26395dfc197d865cc65b17bf07c0b21c46420f1598c26192a268498d08ef5d20d7559bf6dcf2ef6ecd943a1b093e71fdfc07f443fc2bfeeabe36f3f7f392ead995bfb71deb0efbbfce31d8fb1476b8e163672f37b97f19efff7947573a8b5b321d773d1c1de175fb47aecea3ece1bf67e977ffcfee3144c93f63dbfe52befb992f7fefbd31c9561084288494ee2b3186d72c5450831a10d39cb8bd640079b3f57cbe5c73e73cde3756f7e3fdfbbff16569ca7ad55e6ddc00fffb78d5be29fe2f2867dc03c2ebfe15bacfbea1b70bdb4f9c4be065bcfd5c6fbdf7f211ffb722def7bfa7e9aff6990758f55b6031c9310424c74129fc56893868b1062421b720c75452d3f7ae1c501971fbbfcafb566e6e59fe2bb994ff2bd5eeb99e80b3fc7a6e73f8b52d67302065c4fcf64d95733bcd050fe5c6b2a029fe47bf77f8aeff6daaf958e3c9959083199497c16a34d868a092126bc537d02f2787d958a510831598c753c95f83cb9c8151721c484767c4a4d3df227208fd757a91885109381c46731daa4e1228498f0a422114288f149e2b3184dd27011424c689d9d9d838fa19e80af5d5d5d635dac420871da243e8bd1260d1721c48476edb5d772efbdf762b7dbc73a2ba3a2542ab17cf9f2b1ce8610429c3689cf62b449c3450831a12d5dba94a54b978e7536841042f421f1598c3699554c08218410420831ee8dea159775ebd68d66724208214689c46721841013dda8355caeb9e69ad14a4a0821c42892f82c8410623290a16242082184104288714f1a2e42082184104288714f1a2e42082184104288714f1a2e42082184104288714f1a2e42082184104288714f1a2e42082184104288714f1a2e42082184104288716fd49ee3f2c0030f8c56524208214660a8e7b4487c164288b121cfd11a5da3d67001b8e1861b4633392184104358b76eddb0d693f82c841067d770e3b3183e192a2684104208218418f7a4e12284104208218418f7a4e12284104208218418f7a4e12284104208218418f7a4e12284104208218418f7a4e12284104208218418f7a4e12284104208218418f7a4e12284104208218418f7a4e12284104208218418f71c63b1d3d2d60bc03c3416bb9ef86c33b05fb263ac73218498a4243e9f0689cf420871468d49c385ee97c764b793827970ac73208498cc243e9f3a89cf420871468dcd5031db8c31d9eda420652784389324c69c3a293b218438a3e41e17218410420821c4b8270d17218410420821c4b8270d17218410420821c4b8270d17218410420821c4b8270d17218410420821c4b8270d17218410420821c4b8270d1701c516d2f1107e5f888c31d6991100c5a6105e6f984c71ac73228498d4ce40fc9fd8f1cb20dfdc48acde8f2fdcccc9456290cb2489047d0413b931c8dfc90a13a1bcfbf99e9da9efc9c4fefe89a18ccd032807a341d9c0361dab59d55dfe7cae821735ddddd6f233baef698001a54e86dfb433c13e05980e1c81d2d1116c7b8614b24da41b637cf9ce9d542e5b41bdcf5d5e6250c866c887b2e49201dc78f092635bc13796d91d01837c4b115fc0dbffd27c33e9c604f16fdccf1e572d373736100dd771fcf0473d3b2da4a2319239f05020fbe8363a80daf5ad34873ca794a4db57477dbd7b04791ebc4c841815129f478941a1b9895432ca2df7b641550db5011f1e8a14f205f0d7118ec589d6f9385361eb84d18fff238f5fc365906f6e229d8872cbfd6d54d6aca03ee0c16d14c8b514700723342462d49d561874e30d04f1e6b751f0f7bf86c7eba1d0b29362e874f6337a3cbe3aeaeac07b5ae55d24138d50883711f18d4ebe7a3bf97b367adf93def5df99fbfe89e1f8bf5ffeea8ca63ffe1a2eca7a39ba1f5a0f82726a3adb150fdd5de243d7da704f03dd357abbb33b417783695afbd61ada5bc161079b1dd0c348a40becf381123cf398e6c2c50ad754303b4e1c8f36c1e104162b28684a87e855fa7627e81298a513db9c2e6f3044d4dd4cf2ce6fe38ba748f7fc116d644924cbdd1e1e1f81e004fac19b4f114b054827bdfd56ea6e5f1d910637cda9fbb93310a7215277062bff224de17a12be34d96c1d1ec0c8a588d445299c46aaee408c546a041b0c5126428c0a89cfa3149fdd78ebc2c4dc1992f7a609a6b334d595ffe71a799ae221aebfda4ffae6669a13c133fb7ffa0cc4ff11c7afe1a78cef58b9dd9f26984c933e566e850cd1e0755c5d57604b4b82c069149adbe3c33f6091b8f1fa0304bc903ff55d8c2a7720463a7d9a89149a48dc712f054f8e48628016dbe9e8e77b366adf933ef5df99fbfe89e1b8e2f29a116ff3c72d4f0c7bdd713754cc5e09fb8b10f86037577dac9b0f7da1c47d0f99dc922c71b81d6c534669471a9402a6802a5780f6a96074c2551fede6b78f6aecf3875743d96641db0178db07ba79db47bbf9e8574a94ec60ef1138ed53a1ed107c717537b96d1adbac13f980def9184d6eb7bbff4acf1d24160d1c5fe69e28bf768b5912e118d9212f015bc7ed3ad30766b490ca14f1d50738d62c74fb233436864eb3f76b04865d26429c1e89cfa3747cc7b8fbb922ebf6114a6658bfd2cda3df0813cb9ef9f1bb1326fe1fd35fb979eb69685806db1a49b69ce1329b700536b45cba09f7b24ab6a5129ca9afdc192936a9ffce39e3aee182035adb34cfefd47ce3af6ca47ee4c0ff1a45e50c85d2c01cb05fa0b0cfc0ea495ba4b0fb1476afc23e1dec550aa5c0be406177617d7681c2ee01bbbdbc7eb5b58dcd01abbe54e2e502d8e62a5056cfde93cfc1be03c0fc72da8b14f62a857dae5599daab14f669603fcf5aae2eb0f1f95b4a3cf3674df641277ff9311bdd6dc022857da1c23e1bd4f98aca59d0d9054ebb421dcb77b5c23e136efa7289dc0b60f72ab47986cbd8c8914a64c13348143172a4621122d128e1ba00c170639fc05020130f130e870987eaa80f87a9ab8bd36214c8a6a20494c2176bc1000acd8d44fc0a15489ee8a12a66698c458984eb08f8fcd4c5331430286453c4eafdf82319724d51821e85f2d49168318022d97423995c077b9a1b884462a4f20c93413e1d25148a128bd413f0d7116f2e5a693686f12985f24548e78cf2e1a789fabdd427b31407dc16c083cfdbc1fdd128a9dc8968ef094608f62c5ea385543442241aa13ed0e778437efce12632f1201ee523faf3df908e8708f842640c6bbc75b4ce4f30d14c73a21eaf52285f1d8963f93fe532116284243e9ff9f80c809750439c25ec24d590e178e8ed376e0e27860db4ed00068cff43c523a090ed15bf068fe93df6170d134d2488d679504aa17c01ea62d97eee31199861f45d7bb0d8cd0071b91ff914f51e37fe70827473a1479e0a34c5827895c21308f7aa03062bc36195c970cf57b18574225c2e6f2bfd96c62891688c6828805bf949e6872ab82ca996108da9066af6a4499c7473c850e77d18df8bbe7a7d4f8eed66a0f33148fdddb7fe7bacbf744fe75c9c42798ab3cef9b3bb7fac0f1c3830a2bf7beeb9470f57f7d3b375f793ce7efff48b4efdcc2f1c7aae07adb739b5d62efdd8dd0e7d9e5769fde70afdd42f1dfa6f3f63d3fb1e766add5ea17f9a74e87ff9925d3ff43f0efde78c43ff76ad5d77b638f57d8d0e7df48f4efdea234efd954fdaf40b1987d639a7fed5ed0efdef5fb1ebc77feed04fae7768407ff9e336ad5f716a9d77ea438f39f5fc394a3ffc23873ef48c53ffcb97ecfadeef3af47d8d0efdf08f1c5a6f77ea0d8d76fdea234efd937fb3eb7ffb2bbbdef5b8532fbfd2a65f7f91d25abbb42e5668fdb253dff54dbbfece5fdb75ee970ebdfe36bbfed5771d7acf434ebdf7774efdbbb5e57cffaf43ef6e766a40474236ad7739b5b9b5ffb2e97ed2a9bb9f9e3dec72d65a6bbdf566bd0474e5b2157ae5ca957ae5ca15bab61a5db962936eefb15afb865a8d6bb9ded0aeb5d6bbf5fa15d5ba76ed8ef2c2adfab6652eedaabd5d5b9fb4ea0dab6a74ed6d5bcb69b4ea0d2b2b35d56bf49676adb5dea16fab4157afd9525edeaeb7aca9d6d4dc56de7e875ebb72b55ebfbb9cfc162b8fb56b77e8d61d9bf5cdd56896acd4b7deb545efdebd45df5a83a6f62edd5aded75dcbd095ab36f7caff49dab7e8d55568d7b1e3dcbd562f7355eb355bdab5d6ed7af3ea2a4dcdb1e369d79b56566a96dcaab7f6d8fed6556bade5836eabf5ee0dab743568a8d2b56beed25b4fcad80e7dfbf21abd6a837504ed9b57e92a5c7ac5a656bd7bcb7abdba1acd9215fad6f5ebf56dab56e97f7ba8456f5ab3a47c3edaf5eead77e91595e8ca65abf4ad776dd65b36afd52babd154aed45692c32c133129dd73cf3d129f27687c6edfb2a61c0bfaf99fdbbe59afaa4453b5fa785ced3f6eeed643c6b041b71d49fc1f3a1eb5b76eed15bf868ee9ed7ad3ea6a5d7d2c7eb56ed02b2bd155ab078e67fd955bfb8ef57a65159a9a9bcbe5a58788dd03c5e576ad75ab5e5f7bacfe68d75b6f5fa957deb6a5477eb6ea9babd1ae9a95fae6b5ebf586bb6ed6cb2bad32d8d43a74190e5d26839faf5e65b17babdeb0668986f2f9db71bbaead3d51b76d5eb342dfb66380822c6bddb046df7cecb897bb34cbd6eade7b1aeabc0fa79eeafd3debfd3d19e27c0c7a1e7bd77f27a77b9ae7e214cab3a7e1c4e7c9f4b76edd3abdfd85e746fcb76edd3afdb3bb7fac810f00d701b5c09b80d7013e603e3003708ebf2b2e806786a2a30bdef4816e3ebfaa9bb6c3f0ba0b152d4f69227f53e2370f6b3ef7cf25b63eaaf9d43f74f3f35f9bbc3bdacd03594d2c51a2b30bd6dc5ae2aefb4cfeb9b1c45103befa5d93fb36693eb8a69b9ffddae4435f28f1c767358b17583d7df418bbec7282ab023efbd7ddfce81726e1bfeee69bff55e2ebdf2ff17c0efef507265fbbbdc457be55e2073f35b9e67d5dfcf07b765ed8aef9c47bbba0121e795073e3df9478b9045ffad712d77fb9c496ed9a0fff5537bf7ec4e43d5fec665dc6e4e37fd3cdfd8f985c78bec2e9c4bad97594ee71e929104f914ea749a79b68ceae273cd890e65c9258c643b8de67bd77fb893484703fd840226b40ae9158939778c45f1e6ae6c1df77ecea20c91b2d4912d902cda90489448264ba88bf7619ee4211b7cf47c00b958128b17000af3740a87e09145a4eeb9e11dc7e42e130a1f2dd7a6e8f078a798a8695db603c42f5b64652e55e16a3254d3e548f6fc86dc15b9fa265cb5a56d51479f0db377289274024d572bc57cec82648e40244ebace10dee40038db72589fa3d780375d4f9c0e58b120d8588a552fccddb6a081cbfbbd41a4f1df482271823160e120846684cada4b2ad89a45c1f176799c4e7b355d26e3c1ec0285264b0b859c01822860dbe6d1f83c67f868c476e8fbf57fcf20c15d38d16d24d3bf104cbf7e7790284fcb027d74fde7ae9a0391e261c0913aaf3e3b9e07aee6605b7a71b4edcdf3248ec1e382ef7acbd8ae45251e2c5188db1c049f59a2fdc402212a23e9ca0a96935556d4d24b2c521cb70a83219c9f9727bfdd4d5fb7095df1bc53cf96c924453befcbd885137e81c3105329900913a37e0a1be214af5a30952bd264c1baa1e32465c4ff5fe9e0c713e86a883074bf7b4cfc588cb539c69e3efe67ca0bb645df2f7bf46f1daa560b7c11c0f7ce7ce1255f3e057bf72527775177ff1c56ede5b6be37f6f7770e93bbae8ea86391e6b2882ff02c51f9ed4fc69abe66fa3763ef78fddd86db0fc2a45d3f71d5c797d379e198acb5eabf8d4876ce0527050a314cc9c0e8f6cd13cb51d72f739f8f0974b5cb4d81aa6f08fdf2971d5e536723b349ffa808dcf85ed5cfcee2ece5baa78ea210717bfb59b2bbf5ae2cfdb35ef5ca6b8f55b0e2e5bd2c9573f67e7efbe6ea7e98d261d5d70be57d1927170ddaa6e5eda036fae517cf27a1b7814a55dfacccdcc03e0ad231418781ac742b6999d1d9e5ef7687802f5f8b99b6c4b8182bb896d9ee029dfc361e45ac87bc2c4e251ab61d04b3f01ce0b180686c1e02da2c17882c45301724d49e2cd058cbc7579fbf83e0251a24bbe4db2b18586463fd9749150837758db02780211522d2162a938d1d81ddc79d3e5b414b6908d0728b66429507f62649edb4728163db16fc0ede97d2f527f6381ddde13eb78026102dc4d215f04248a8ab347e2f3198ecfc719148b80c75b9ef463b0b8090c12c386dab667341b2afe13b43e1b2c1ef58e5f2707b35e31bdbcbc982b628578376e3754fa869a68c4455de2c4cdf946be8978e87a3e7b4980dce62cc9a067d0d83d545c06e86869a03e6310c9360e1965ddc11041d71de4f3450a85a1caf0e4d47a96c990e7faa48ddde0b28ecb1d88d250d7c84dd75f407ad96a928d09228141b6cda549b534e30967ca1f1471bbb6914c6689359e3c31c4c0e77da8e5fd1c738fc4073f1f43d7c103a53bf4f779f07331e2f21467dcb8bce272f8a8a6c2013ffa969d355f71306d8a75e364f110cc9aa960944255370000200049444154ba6256a562db4b9a5933010f54cd81f67670da61ea0c98ea8623ed6074c0838f997ce50b76de1c50b47740f7519831d55a76a41df6bc8ad5933613a6cdb666acd9d70a33a6017315d3a6c079558a2b5ea7486f30b9f46238bf0a5c158a19d3604ea5825d9a8baeb2f3cc2f1c7cf55b257efa1bcdb21a0568664e8385f380362bedae6e983f1b98a5983d53517855d36ec09efd563ece7ca5e8a13e3ac84c3586753f49a1671bc2edb17e60bbdd1845038ac5118d3dee953c061df90cb93e6d946261f4ef083c1ec08c1ca9709078a18e866482d849f365fa09c76ad8934ed29c6f264df844afca60db1a3952e97cf98d8740a4916c7e136b96c0130d0d640d2bbc761472e4fb1cefc9e3b14772601e3c2eeb7c087136497c3e4b059d6f26db0695c1107ef770e2e6c0316c44317788f8dfafd389476e3fd1580d85a614d6ad8c2d640acb88c74fbec2316832be10c9f4cd2c611bdf3e766fc420b17b3871d9e58f120fe6f946283ebc0961dc5627d4299561cf3c9c561de92392c9b365ed6afcb93bb8e9f200d181ee33c120db9427ded4541e9191269dce9049d4b0279d60c0cd7a1cd3a0e77d04df8b41cfc790f5f760099fdeb91859798ab361fc355c94d583b7bf0dee7bc064cf8b26078fc05103fc3e456ebb66c7c612bb5ed184de6ee3c96d9aadcd263b5f81b9b3e0a53df0e28b9a177669e64e8705f314b77dd581cb0e07daa078d0ba01b3edb055411d3a62f520e282975f804d0f6a9e7a4ef3d6cb14fb8b907dc0e4f167aca964deb8d41a23f096cb6d544e833f3dabf9eda32607da34db9ed7e4b326857d9ae9d3e1022f6ccc6a8e1e824347adfda1e1e061abd27e690f3cd56cb26d87e6fcf98ad643567eceea19c9371d1f56d0932718a48a1c4d2d3d6f622c62b896100a7af1f8bcd0d67cfc26d0935901fca41fe6c7675f0e50d5762ff154ee44e3a798a131933fcd033a99a7dc6b57ccc48866fcc422035786be509c5aa389782c85277ca26137f8b6455ad299ded3627aea88c7974187d563e30d04a8ecc89068ea31d8add04472844fc7327aae5e2c50a49aba89348db598f8243e9f2545320d49b65143bcc18a45c3899b03c5b091c4dca1e27f8f8f7a64f774e2919b4034492c5820d59020d9982598ca10f79f4223c8e3b7faf5cb75cf60b17b5871d9ed27924eb1bcf06d42b14c3fe3017a28e6c91b358483de6197e18087713a75643e4326dfb3136d27a9e400931c149b491542275d74f085a2d4b4dddbbb6c4e1c468fed4f3eefa7fabd18ec7c0ca7fe1ec8e99e8b1195a7382bc65fc3c504cf4cc5dc59f0c9bf37b9f65dddbc54d0cca984bffc0b1bbe4510fc5037efa9557cefbb76f61d80fabf286174c0f2ab6c2cbb547165b81ba713fe2561e78aa58a8b6abbd8b05173c552c5ecf27fd079b3608adb7a755500b3e07bff5de21d3775f38ea0a2fe261bd75ea5f850ac44e1558d67065cf01ac56bce5354cd814f7fc4c6c37f32f9ecd74cdef3761bcfeed42cabefa27e7589f86a3bbffc8983279fd3dcf4e16e2e5854deaf090be7c2b4a9e0ae80f77dde1aeffdc98fd9d05ae3aec01acb3d8a8c728fff49ffcb8c1c8df126bce531a3860174588bdc81380db5707f4323c7da35f94c8a627d82881f3c75315656eee4dbf52112e9669a338d247b05380f3e5f257b3229322d39b2e90612cd052864cb976663c46ae0892f07a88b24684cc6098752f8eafd587d4d83f378a02d97a390cf92e9d57832c846bc287f9c16c3c0702f211cf61d2f888eb66652991cf96c9a64531e8a0572d9668e27e1ad27560f4fb4f809f77c08c010db1ad9389144b647a556a0b92947d5ca18418f35a77c7449070fde5447389122d51827146e3a7e5f90c1f17ab6d7793b763e8ea7da72e23e9f42a6917c5d0331ff506522c42892f83cba8cfe7e0a17688ed713badb60f9ed6962e51ff0ee41e366d900316ca86d4712ff8fe7729078d43b7e0d15d38b344522643c7504033ebc3e1f9e420b2d835d5de8b7dc8a3427123c8a8be5b17abce58c0c14bbf3fec1e3f2b103717bc3a4522b30ee0c13edf343be982b94e3be413699c4882489f88653868397c9e0e7ab48261a2418e9bf2165149b49249aad659e2091fa25f80678284d2e95a458df4f63c0574778093c9848d2b73a19ecbc0fb5bc6fbdd6fb7b37c8f918a20eee5bff8decfb3cf8b91849798ab133a6b38a959eb25e5fdee4d44fae77e82deb1cba75b335d38bdee9d45d4f38f5ef7fecd0fa79a7d67b2af4ab8f3b7573caa12f380ffdec2f1c5aef76eafbbfefd007ffe0d47a6f85d65b9d7ad35a87369f766afdbc53bfd2ecd45d4f3af5be879dfaf0e3d6ebd13f3a75699b53effd9dc34afb59a7d6bb2ab47edaa95b7ee6d085871cbaed51a7d65b9dfae01f9cbaf3096b769dedf73bf4d34dd6ec383ae7d47f5ce7d04f3539b42e38b5dee3d42ffed6a11f4f3b74316bcd86537adaa98b4f39f563773bf46b7d4affe68776ddbac54aeba54d0e7de4716b9d0167ac19e1ac35bb37dda56f5d59ad014d75ad5eb172a535b3d88ae57a5935dab57cbd6ed55ab7efd8a06f5d5ea9a1522fbf6d83ded1aeb56eddac6f5b59a3972c5bae57ae5aa957ae59db6bb6acf62db7eb954b2aad99b46edea037dfbaa4c7ac625ab76fbd5dafa846e35aa257aedda237afa9d1d5b5abf5ed9b769467f9daa06f5e5ead5da0a95eae6fded4aab56ed73b36dcac6b5d68aa56eadb37edd0bb37dfa5d7d4a061895eb576b36ed5d62c5e4b5c2e5dbde2f69366f0da7d97b56cc98a557acd5d5b4fcc02d3ba49dfbccccaefb2d577e92d1b56e92a57b55e71fbd65e33d7b46f5aad57dcb6b577a2836ddbbe59afaec22ae3aa1a5dbb7cb9ae5db64c2fef3bbbd8eef57a4d6d95067455cd2abdb63c3bcad6f5e5e375d5ea9bd76f3df97cdcba41ef68dfaa6f5d82762d5ba157ae5ea3d7ac5ea957acbc4d6f6eed91fc20652226b7b339ab98c4e7d18acfed567c5e5ea901ed5a52ab971f9bf571598dae5d79b3be6b4bebc99bf51b37fba4dc5f0c1b64db91c7ffc1e351eff875affeddbd43c5f476bde5d665bab2b2d2cadbf1bf257af549c7d7ae776cba4bdfbaa2b25cafd5e8dae52bac72aba9d6d535cb4716f7fb8dcbad7acbb1b85cb542dfb661876edd7abbae2de769d5ed5619edde7cbb5e555ba36b6a97eb952b57ea55b76eea3d13d7806538bc7a6ee073bd5bdfb5bc52572e3f31f357fba615da756cb6ae2d6b7435e8aada957acd9ad57ad5eadb4fccb27622737af3da557a09e8aa15b7eaf5bd2a8d1ef512e8252b6fd31b76b40f79de47f4bdb86d83cee5fad673039d8fa1cf63cffaafa5bf744fe35cec1e56790e4c66151bfd59c5fa9b1fc5f9b3bb7fdc79f5bbae1b516be781071ee0861b6e18d6baa567e68079a8ff851a6c36501eaceb41267014a880521bd8a701d3151435a5a3607f0df00accbcb28bfb6e77f0d6f72be8547058536a2dafefb16eecd49da0a65bbbb64dc76a91bb8076281958cf1e9869ad5b3a587e3f0dab97edd83a95d6f6ba04f6395833cc7458cb9965bdd7fbc1ec06fbdcf23175597fa576b05f044f3fa0097ea4c4ab0fdb715fa028e5c13edb3ace5207835f07b3cdc0be74ffb0caf96cca27fd5c90ac674b2e795a4f2c16fdc991f05f422ab2955cdc3ff4eae29cb26edd3aaeb9e69a41d791f8cc391d9f47d768c7a302e958126f43a2c76c4d0685e624917490a6c6ba539e93e55c613487f0d443a6d844dd192baca1cebbd453fd194e7c9e4c366edcc81597d78c78bb3f6e79029bd9c907577ef4835811fb68f9ef488f7fb703c6f89b554c81a981d63e9f972b8c523bd05e7e7cb113cc57a0bb1336ad757071b5c27c0574f789e5a54e606f8fc71d1fb45e4ac7eae5cef2abe3e4b44b06bd8758292895b7c706a5be79ec595fd9fb596e037317f816291e4cd9012bbfd8ad4affd83a4208312e497c16a3ac9889d2908fd2d2eb3e0b375e9f175f60a899c504600d69f3054e79a64f212692f11986b57503a87dc6d053e69b1d503103aeb8cec6cce9a03bfbaca0c1ee007b0556ef20d67bd537e112d8a780ddc58971cc1aec0aec6e6b1b46e189c9ba13a64f872bea14ee0ad05da79fe678703a136489a11501a338f4fd3f429c71129fcf79a3198f8af902dbee8d114d35932b1a188641a1254d3c51201c969efb01155b482552648b502c1af84391e14d9d7c3abb64f0f32ef594381bc665c345296b069717ffacb1d94195c03ed3baf46f9f65555ef659d63003c70268dd0b2ffcce8405609f5efeabb42eefdb2ba0d806870e82dd5b1e5e00d86658dbdbe7942bbe45f0ca4bf0d24bdafacc551e1e300b0eb741f130d81796b7996e2db329d07ad04339990d4a5d502a40c9649c9e81912966532453db60678664aaf9f41e14297a33f2641a13346d839de924a966295d31b6243e9fc3ce403cf2459bd8745b805cbc9e4b664d618ac74f3859249488cb83fe0663b4d094bc893707ea89b7444935f8cfdcd5a9a1cebbd453e22c1a7f43c5005b25bcfc3cfcd37f9a24e376a657c1b32d9ad683505101975dacd8f247cd79558aca85f0ed1f9904030a666a669414878e6a0e1d86ce6e5816b0baeef6ecd7e47682db014f6e838baaad878cbdb04b53b344d1de0eff993679db1b14f3ce077514b66dd73cf87b8d53c1473e64e3e10734be2a45c984ddfb34c180c2c629548e938c2718a13117a171ac333219b97dd44753e4a2a9b1ce891080c4e773da1989475eea6269b2b1514cf25ce08dd054889c9d7d0d75dea59e1267d1b86bb82805da050f644db6bfa8f9f5ef4daebfc1ce235b4c5ed96b558c4d0f982cbd58f1c76734660916ce879ffccac4bb1966ce50f8164185131e7f1aa6b9e1629fe207eb34e75581db05db5fd214f62b4aa6664a053cf227cda279b0681e3c90d5ccf340fa7e932b5faff055291ede62f2ddff32f1ce812d4f6b8c0eeb5903763bbce92deae4b1d242083109497c1642083196c65dc3c5e680bdcf6ba6bae1fb5fb7f3c4339a7d2f98d4be498186f60e78f6cf5051a158385f639ad05d5204fc306d8af534e52b96da98e7d12cf662cd2263c282f970fd35365a0f5a73fe5f5cad30353cfeb466fe1ceba163d3ba14b32a358f3fabb9ecb58a8a0aa85e042e978d3dfbc15d610d8db8fa4dd6b64607a33fafbf10428c53129f8510428ca571d7702975c3cca98a95ef565009172d521806cc9f0b68304da8b94251d809733d0a87135eda0de75dac687b05a6b8a0c2056649110c58c3044c13629fb0a14d5854a5b8f4b5e53b3fa781778e62e122e83802ad87c07b9ee2d5dd30f77cd8bb134c5373e9250a5cb07ba762f64c70cd04dd8e358b4d1b43dfa12a84109380c4672184106369fcdd7a685ac30d988e3535a6c37a72b236ad7fdb2a8023e05d048e29800dceab068e42e51ca8980a28ab671005ca017627600765b3de5301dddd70782f2cbcc8daa76b2a781703ed30772e9807617e1578bd0abac13c0c0b16826b0a9847fb99f5a69fe3b04f2961f774619fdf85bdaa84dd511a95996fc6a3625308af374ca6fc28df429ff79383412e932412f4114ce446bc6dbeb99158bd1f5fb859665d111393c4e771c3c837d318adc31f881f7f22f848964f567deb2221c4e432ee1a2eca062878f4114d5b1b7476809a627dde6940473be0063ae1481bc787021c3e045458d3591e3a041d063015ba3ba0fd68795a4b65a5a1bbe1a861bd378a58cfe9058c56c0653d1f406beb6163a54e6b7619adadcf4b5dd6ea25d3ea29ecb737af04f6d9ddecd933854dbf5dcc8fff6721bffaf97498a1b12fe84269757c9f678e41be3945acce8d520a7f7ce01fdac5a67adc4aa102511a332d9c4abc77fbeaa8afafc3579ed6c4e3aba3ae2e780af3ca1b149a53c4ebbd28a570d7c568cce4ac1ffac52ce944189f52281520dad844cb59ae9c3c5e0f85969da750466ebc8120defc360ae7d08f0831b9487c3e938a64a22152f961aeeef6e22db6b0ad384040196af97019059a931142a110e1709870a89eba509454767cb60cfad6454288c965dc0d1553d673bfd8f03bcd1f9ed2cc9c0ec14b15d5e72beeb9cf64e17cc5be564d5717544e07a7132a9c8ad68370e888a6723a54ce50140f6ada3be0d556eb26cd2517406727bcb0cb7a7fc96bc06e57e4b66b162f80391ec596ad9ab7be4171e9150ab36dc8ac0ec836b39badb94a9ed83a9bd75c7c90296689effcf72c6efddf1aeef8ea532cbdbc8859705abd94676c18831b5f5d84444386d4d577b3adb181e678ba9fe925f3a41aeea703a8893610adf79edade023152a9deefd3e953cbb7b72e42833b4beafe3b08c41344eb8fb5868284e30de45377738b27464334c4a9e5f654b9f1fa0304bc903f95ad3d3efc6737c3428c2a89cf6750a189c41df752f0e48824867e7e89dbeb2710f441f6d4960f4b314bbcbe9eb43f45b6e944bc355a12d4d705c8249b49477ca7b183d1d7b72e12424c2ee3ee8a8b2e59c305deb8145e6dd5e4b6c3f3bba0ab13fefca2e6c55734f997c0668757f6c19ff3b06d87a6a343f39bcd1a4fa5f564e7e77741f609ebc6ced75da83850843dfb61f14245e57478e145b8ef779aa5172b8c7678fa79cdfea2e6b9bc464d3df5da4a298df23af8fa77a6f0e24b07b8f2ba57f9c0f5ad64d6ed62a1e73057ddb482cdbf9b83cddb853a1bbd7a6e0f8115b554b5dd4d43d3c973ab1bd9244dde155403eef1d443e57603ae7ef2e41edb7c8eab4212e2ec92f87ce6e4d24db89755b22d95203b2eaeca16698ad6f38d7c8854b27727913b1027d5e0e1ee9b422472e322b3428873c4f86bb868300db8fa4a1b9f5861235803f5d7280eb469148a4b2f577cf163366e7cb78dd7fa14f5d7dab8e03cc5fa8d9a4f7f50f1ce6b6d2c9c0797fb15fff8393bef79bb8d608de29d411befbbdac63541c5fbaeb6b1e26ac5176e54bc71a9e2bdcb6dd8143cf91cf82f54609c7a8da5b535e6fa8daf3fc457bee962ebc69970d00edd704f6a0bef0ebec00d37bf9f1d4f56605bd805a533dfa5e7a98b13ab810713c93e639d8b649239ea63417a5f8831c8a7a384425162917a02fe3ae2cd45c0a0904d110bf9f1879bc8c48378948fe8cf7f433a1e22e00b913180620be944b8fcbebc4dbd1f7f2443ae294ad0a3509e3a12a336f07aa0fc16c936968796f922a4cb15ac914b13f57ba94f66ad215fc52c8db12891701d019f9fba7886c240c7da7cb0bccf024db1205ea5f004c2a47a56defda6d78f7c8a7a8f1b7f3841bab9707c38dcb0b615620c487c3e438c2ca996108da9066af6a4490c74838691271d0b118e44898443c4d2f9612e2fd21c0f5a4382fd319af2e558984f13f17908c69b4f1efe9a4fd170771b95f55182fd3c08d2178a52c313241aca71148396c62891688c6828805bf949e6a1984d130f05f08533e43271ea7c6e943b40b4a980914f130d7a50ca4d209a399ecea0f5cf60754921dbbb2e12424c3ae3aee102d6d8e46933e0c2258a151fb6e350306d8ae296cfd878e3958ae995d67082775ea7b8f812b86c89e29fbe60e39d6fb3c161787d8da27e85a26a1178e6c0f41930df0b550ba07216cc9e0b0bcf57f82e564c9b0eeea970dddb6d7c7d8d8dffdfdebd07b955dd091eff5ea91fd7763f046edbd760f0c5768200638b6088c8409037662c66c9a01920a892d945ae640651bb3388a9daa0cc265b62d63523a6c88ed88289c89089a88145c406c4860c82b137a28020080f79260635182c630332d8701bbbbbafdefb87fae576b7bbdbfd7077fbf7a95249ad7b747424bb7e47bf7b1ef7c2d50ad5494eddad7e5025f0a725fee5a7659a8b25aa2585f2a146a829fce4fb2f71ce598dfcf5cfbe41c500cbc299d8af53c717da4c736794706ac887cbc589e2c3671f368a908fe3f525d1431122b104515796bb03f1faf428d58699e9a4331323e30c12bac5c5ea254bd1cc2cbbfa166f98a68a2d9f61d7befadfaa6647cd76d2998e9130fd24b26ff2b7faf3fc209038a9f534c719b5bd369cfe18b19bdb41b5e3e8fb9caa6e47778689069cd8c811f3c7d0825162f114e98487fcddd7e28de547fcac765b73df571725ed08127bf44e9cb9c7d8e2f451ff6a4f50df314cb2c924b6509a4c3c88d7a5a18efbb5429c3a129fa79e918a83cf8b6ef711da0c4f8513239cb03048f9dd84b510b15894583c829bae711eb7e10a27885e0d684e9c7d0b4054cd8e66f7110db9189e9b18e904bb00dda98f7c4576cd81a31dbad2097226908b11883b08452344136952b7db01136c1a666617fb32711286977826c34f5c591ef07909c4c197c8b1f75137b9070244b39cb0ff19ab2f3155db317d911062fe99756b5ca0be234ca508148123356a55e8580c3440f9e3be05a20087800aac3817562c50e0f3fa769df5d74de00d4d38eb5ca059a1f6f90916758e53b562c5d25be1da1b0ec3e106ca5f28280d352a1f36d0fea51277dff606dfbde78fd8f1eb57d97ccb61acef5beaed9e362a9a3b846fd9153c104a1071fbd030c944e2e88124daf06bdeab763c5e6f5fe766a2da6c60e4304c1587c3854b8798eac7ef7163f37800300e6bf457a36a765c6e9de67bebef6dd3751c1ab4eb7e025e072ae0719fcf0f1219f2788feb3007154887bc788f59e16f90c9028ef1b41750559c411f2b2f8912cb04083b54cc4c9c9c27800e989908e1741e772c4c16c030b05ffd55ccbc816dc4cf9a2508e8de10619f1df0e0d20cf48d31c26903a7365a7d794cf481cf908df90919016241c7c08f82d1db92c7441bf9c78310334ce2f354cb934c3af0455440c51df2b3f28a30b1ac8fe0d0a52eb91881b88a3fdb1f3374dcdef32132cee36878823713b8364222e7c5afd7479fb30e1fc3cf5d0118463d43546da3451e159b0d30f2f5a4c1c8914b270827dc443c3ace60005555b1d91cb87488da7c03f1dfeb77725bca8627e0c5a9026e1f0ebc64f22668a3f73ffa187d89dd66c7e11aec8b8410f3cfac4c5cea57252bd677765140b134512901a5328a52051aebbd67b50816a874033d56c00a96daf175589bfae63894ea93af870f34f5d7d13df8d249b5de52a35251e0c3c6fadffddfb215f85ce1d2735f63d315dfe499dd7fc88a7ffd394bdb2b2c39cf0a2694bb8774fc534975120caee7813b4244325ec27a8a70d643c8a91ebfd2dce6241873904d4408a6f298b9fa30fd4055d43bb3a1ddd9714b3f54159acd21af187658034c13d31cf1709f669ca13871d7d00239228ef3b86322ed75f8f19f7f2f91688650d44e3a6ee009d5676c9bd90c399b9740d03f90560c3246fcacc77d16a70767f303e47206a671e2fa000a9910eea4892f1d3d26693b715b84982d243e4fa96c9c582685cd9bec7bc2406dee24124913883a07624f3e15675741433f66838fc1c834d671a84f1bf6adbc847034832f6c2713cbe2f43b468c6f36ad1e9d4cc380114f2ff5c56f9b868d7a9c0db9a26cf9a3f3887ff55622d1303e47bd0dc3fb075555691eba297c5f0113c688e763f725b20c5188f96d564e15830a581681b50d2c0ba05cacdf6a55b02cacef79592e42c3d2fa5e9c960550add49fab96eac74bc57ad98633eadbd5544ad0b8a4af5c6970ffcd1956ebb6b268156c58f1243f7bf830ff185fc82bb92adb7f51e5c85168e850a6ed6acfba37c4e6e67d44c32932f108a6cfcb887bd79859625e27c1bc8b50244cc035cbb7c21ab3bd76bc81f51c8c4748e552c4f10eecae666252c825c90e9b7e624c68aa41bd63566deab8ea6bb6fb093a73dced09327447d1a9698b10d34de2f3d431492772041309e2f178df2d4932bc9e83f1304367f69a8609988cb6bbf158c701501d0402ebd9170d93ce6788e75c7847d9c0cce6f0b01ec8a572235f77cac8913d08ed4e4fdf888d8e2f99e3cd9fdf8a3dfb005b2e71e04f9dc4bcbeb9d6ff082166d42c4c5c6a50ada0b45d8fd2f15f51dabf85b2601d4adb95282d1b415d8bd2b6099a7468d0503afe1ca5fd2668bd1aa5edf760e17a94b68d28ad97a1b45d87a5ed3a94455f4169b90ca5cd83d2f27594f6af43c3e2fa163933ac8a024b9ae8dc9de1e86787b05f7c09d75d03cb572afc2c5ee5b38355ac67303dd711d0dc847ccbe87acc8b37aa13f08cdc2118c900fea49d806fe43371b3cd78daab7b825c6d26080662d8bc8367316dba83655d4f118c65073b67234934999b400372e4ccf5789ddaf8ea53edf8e23136e7efc513480eacf39992b60831ad243e4f697c3652c4f29ee316bfeb1e3febbb9e223c6427489b5da3990c8951ae9f32d6f181babd7db1301826e7f68c3ebaab7b095ddf4e5732c248f9473e1925cd7a4221573d9ee6922473361cbe28e9dcafb9fdfc7dc422e9095f6c77aef53f42889935fb12975a05acad40154a1f0235b05d0b0b1ca02c4459f83568b643633b50a266fe1b940f6259e4828597a1347d19165c0e6d6ea8f652c30a6d5f87455781a51916ac87966bc17a66fdecdea970b08c67731bb7dcfa4d76bcba84dcabf07b375858b706eeffa71aa85378aed13431ccc161766720c87abac01b60600696696202667f39d3a4d0952296cc924bc789247260e4c9a653644dfaca1ef7365018b51113bf52bc690085e3de67607ac2b0373f517b01d0dc04dcb02b63c7eb18ec0e556780c07ad8758703972f4c3412c4eb89a1bbed7def76fc670530b2f9811d70d29108a62f824f1fbbbefef6aa9a9758ec7acc87bcf8fb7e9c8cebb5429c4a129fa7343e6763110cf7083fd07517def3eb3b41f6c7309b2b886f59178ff9fcf55d0ccd2cc9640ef21932d91cea18c707c298e626e85179e5a13c1e8f7e82d6697862096ed793f8fcf16366141be908de600ecfa309027de1c9345284c37dbb93d99cf8dce7a3db350662f6b0407a4c77619a8377278ce763f72527ee8b8410739d75a4e76ebee9861f9db7fa4b13aae8fdf7dfe7a28b2e1a57d9daa77f579fdf3c1245a94f2236df869ed7a1f0169472d0fd321476a3d44c6a3dbf81620eaa47a1d009c53dd48a7beae57b5e073303bd6f80b90b2a07a1e715e8fdb7fabdb90b7a7f0b95437dbdcfcc4f47b0f456386755856ac3465efedd99ac5ef6025f3aafca795f86fff3f84216569a58fd9502b5ee11f24aa519cbd23bc7f12e26b9d4761e0cdfc3cf9287d0749d35760db54347cb1ee0caa09fb52d606412c4eeb98787761de6e01e036d8dce5a9713520f73ff8f1f26dde0e687df6b20f1f08b181bb670553ecad6c84bbcb7274779ad930df60ec825b92f741f3bdf3bc0a11607576e5843cb8138e187cb788337d2b0234c28f2129d7993151b36b0229fe49ead0ff04aa781b966032ec78a211db7493eb59de83df7f1546737070e1ca543d359bba68306234d221a66eb23bbe9fa30c7219b866eb7a3afd131476caf9fef393bfa1672a9e8da017ea7fb095cd931e47beae04a8f13f37729128f3fce53d916ae8bc408ac856c622ba1619f55a583b54e8ddcf6ad84630952c92419fd87c46466002c00000f0c49444154c22e3a4e589f492651ff1ede338ed2b1d6c9063ba4ee7f9c5f3df634396d0d8eb54eaebb71a4d7ca794731bab7de7a8b55ab569db08cc4e7f19b99f86c908ef9f1def638d9a336d6383660efe85f6c63924d44883cf812fb0ebec48e3d36d66c70b0a6630d9baed33990bc8fbb7eb495d88bb061ad41b66cc7b1c1c906fb06dc273abe663016ae5891e7e9033712f2afa5e544cd5475dcbe1b59938b12dafa304f3f9d60fbc30ff2f08b0dfcc98371b66e1a1cb52fe79f66eb9fde462495e5402645caf4704f7813e51df711ba6f279d878ed2b1d6815e7e8d6828c2cece031c6db1e358032f3eb895e8ce4e0e1c6ac1b9e54f58f1db91fb9f6b8c07d97a82bec469fb1d0f0eeb8b6cb37425af383d8c273ecf277bf7eee5ace5139fdef971fe204aadc22fb63ff10ba00c9446b89581f248bd42e3e38f3d52dc78cdb5137ad31d3b7670d34d378dab6c65f762a88eb6ad8c0254faa60928406d6011687d4167adfe58b1d61f53ab77a4fd67e72cd6218f2d7d5bd00ca91afaeab3f4adca9ce6ab8c5515ac8d55682dd7c7b7baad50b040adc4232ffb7866d77fe41afdbf70cb964f40851fffcd52f67ed4c27dff7b2fd57d0dd486ff0b595ab15e74787adb3c05cc94079b1b92460297fcee1662da6cdbb68d4d9b369db08cc4e7519ca6f1d948fa099861629ed1f77414424cde78e2f37cb273e74e2ebd64fd845ff7fa9bbbb0548bdc70f3776e007a819ebe5bf790c7bd8039fba68a51032ca034d63b2ea5112c8d837f5bfa9ec352ef1c9586fa634b5fb9631e5b071f0fd4d1ffd8cab4778a8062a9408385d75f5bc13f3fb28aee1e2bb495c10a6a530f8aa270f88bc5f005d00debec6decce9d49e5831a96a6ea98f5cf5aa689aadbd1246911621e91f83cf7e3739e541cbc2e495a841073cf2c4c5cc632f3530726c37236fcf3930d84ffb1c40abdc0b6e796035658000b2dfb29177b3968a870b45efeaca5168c6e1b7bf7abb068fa3bee296564888563a40d300c13bbc727dbfa0a715a91f83c5b19a9201e8f8f80df4f54f323798b10622e9a8389cb1c53025b6b9552a9ccc66fe5f9e45037c96716c0d9d0a07c81cdd646b172265d478006b05abae92d2de4c3cfda409d6367f4cc0c89c816ae70b80966fcc44276d9154608317b9d46f1d934b2a49f8a93343d4442b2639710626e92656bd3ac9257f8e6a61ad75ed503872a9c6153d9f9e662dc7fd649737323cd8d558ae5268e74437b23542ad0a4b6532856e65e5aa9f948e47da7ba154208312ea7537cd63c09f2736b904808218e33c742ef1ca428d44a151a9a8bd00d975e6865cfc78b612fd85a2b54ab26ddbd25ca55a009cc6203e54a03954a61aecdba104288b945e2b31042cc2992b84c3705aa55854ac10215852f9dfd293d857672ef4087adc8c205cd2c58b08872196880cf3e2fd1d8d44a83c532136b538510e2f425f1590821e614495c6652115a5b8a68cb3576e5341a2c45146b03568b8245010ab0e7a333696b6ba3b9a954dfb15a0821c4f493f82c8410b39e242e33a856b64243998ed62edeffb8835eb34a77779162c160f912a8bc07e9dd1d2c693358dad65bbf9e801042886927f1590821663f89bc33a886020a2c6e2ff289d1caa75d2a46573795e2a72c5803bf790ddefff46256691f71de5940efe427519bb9387e9786a228289a035f3483796c0932513f1eaf0f9fd7832f92c6185e8991211e70e370c7c98ff426631d174288596e5ec6e77c8aa05b47551414cd492021115a0831b749e232d32cb062791366b98d4f0e434f4f9125b6a3d000e97797a3a81771b6ed5d9acf816a7192ff3c6686903782e10ef3e8cfff9e5bb42c0fdde6c29b18ecfaf2712feea84e381e23168fe04c78f1c67243eac8934aa549259e6597618ef01e631c174288b9625ec5e71cb1501c2d1027fdeb9f73abf60af77a7d248ecb7c841062ee90c46506d56a8015ce682d62161b31ab2b28148a38d618d43e800fba3d345b3ee4acb62c2c98fcda4f339b420b2789077d787d0162a924b72ceb22194dd7cfea9919c2c1a7d0fc5eec00e878fc3aa96088547f1fa86ab83c3ebccef691df64ace342083107ccbbf86c82331c25e076e270f988446f6559214f4e121721c41c2689cb4c53406d2a53ae28f4949753340f73ee195decfc6d079ff46ce0cca6d7705d5a82c393ffa7511d7e02432f8f6c73e0b537a3daea971e33b33112fbdab1dbb5c1227607dac124f1ccb167efd431ae5636d671218498f5e6537c5675ecb6a14f9868d707f1ea936eba10429c3292b8cc340b944b472954daf8e48b15688b5ea6db84df7cf09fe93e7a84f397becab24ba17ad43a056f36bc3733c81a1a6e7ffdaac9662ec33e6ce8da6039d5a663e32019392d278438ddccd7f86ca408850c02112fdad8a5851062d692c46506290055e8ee8152b585ddef37b1a421c9decf57f259e96bf41cfe7fdcfc1f0e438f322d970830b371127a8870df593ed3300015ed98feb3ef6c9fac5711429c46e66b7c363271825e3f91679f628bc3435cd6e70b21e6b08653dd80d38b0265308e40b17206d5cf76532eb5b3bafd2f78ebb759be72d6bf72d166a8bedf300d5765ce110fe7084483e87dcfa8aa0dc8630eed034d0313b0d96cc7d5208410f3d7fc8ccf36879770d24b301dc475c5dd0442193c51c771e33d420831155e7f73d7b4d62f89cb0cb2582a6051d8dd69f071fe10b6a68f6959fefbbc956bc7d8ff4fdcf90fbdd0659986b37906e948043310c133649e806a77b08c3839c364f04c5e0e8365b874e9d68410a78ff91e9f6dce10919ba3b87332e42284983e37feb167c2afd9fe4462dc6565aad84c6aa9503016b0277f16dd5d59f6edff94557617cffccb2ff9abffb49b25eb2c543eb54ef1d93c936c2c4cda19c2ef50079e334d50ed5e3ccb0e92c90cce9736b2190e2e73e37348e22284388d9c06f1d9a669d85dba8cb60821e62c495c664a19580ecfbdd2ca9bbb6bbcfbf6abac735cc1ce173ec4b73189e7cfa0faae05a662cde700936cd4472063c76ea4492693241371c23e1fb13ca03a098637938b25c801902311cbb3391cc639ac6733c798523dd671218498b5e6637c36d2c46349b2fd794f2e4124e322ecb74fe587104288192553c5a65255c1aa96e08c1a345aa056851eeae9612b543e6822f493057cb8f705d6ad5fcf3b1fb4b17ec9dff1c3bb4af05103d59a054599ba8908d9881bc71dcf53e0319ebd77c881f57fcf5ebdfe50f7c549187e02de0c9a6a803741c23774df198374224634d505468c484c27e0750d59303ad671218498054eb3f86ce65344033fe0f92d2bf9ea662776dd892f1ec525cb17851073d84883de8d8f3ff64871e335d74ea8a21d3b7670d34d378dab6c65f762a81e9950fdb35a0d2c1650b412c58fe0d1a7ad64deaeb062195c686fa55828b3f0ec06fefa7f1ce1c57f8745ad67526b5cc7963fc870dfff32c0b452393cceb3799656ac171d9ef68f2484981bb66ddbc6a64d9b4e5846e2b3c46721c4cc1b4f7c9e4f76eedc79d26b5c2cd52237dcfc9d1b805eeaa7957a80ee218f7b0153465c26abaa603da30cb52a8f3c04a9dd7f4055fd06cbd674605b752e1deb2e64e1c245d8162de2073f7e93bff99f7fc9ae37dee047df7b833bfffb17f0b995cae756b04ec7069b4208711a93f82c8410a78c626d1cf558ad523aa93a2571395935b05a81a545defb774865ec7c5cfc3efe3bbec5a5172f3aa6e8e1c39ff3f2cb2fb0ff408e0ff61fe16b177fc19d7737c3bb16cadd5614e914851062ea487c16428853ae56298d98bc9c6cd20292b89c9c1a589b81d612dbe2f041e1aff8c637efc271c1b15fe7fdf7dfcf934f3e492e97a35028b07af56af6ef3fc4d7d77540be0b8a8a748a42083195243e0b21c4ac313c79994cd20292b84c5c0d2c8d356829f30f51e839f317fcc5f76fa26948919ffef4a76cdbb68deeee6e5455c5e572b171e346de79e71dce59ed62ddb96fc0a7bf04ab6cea2684105346e2b31042cc3afdc9cb64931690c465e26aa02c29f35014ba17ff92ff76fb7503877a7b7b79eeb9e778fef9e7f9ee77bfcbca952b79fbedb7b9e0820b686e6ea65c2eb3fac2b51cdcbd039aa05a928e510821a68cc46721849895a6226901495c26a6aa603dabc48bbf82b77bef26fcc3eb8e39dcdcdc4c6b6b2b77dd7517954a85cece4e2ebef8622ebbec320a8502cb962de3995f1f405f5e8046a815a7f44a66420871fa92f82c8410f39e242e136069acd29baff17f5fbd9c3f0f7dff9863854281679f7d963d7bf690cfe759b46811cb972fa7a5a58523478ed0dadacad9679fcdca154751f7bf03a36fb42084106282243e0b21c4a9d5b178f149bfeeb34f3f1e5759190b9f006549995ffd12967ef92f3967c9b0638a82c3e1e0f6db6fe7dbdffe36d75f7f3d975f7e39175c7001adadad03e50eed7b8c554bbf801ef9eac7cb4878d0342f4963ecb262fce47b15f389c4e7e14c72a92801b71ddd9bc21ce1783619c1e7d47186b3a7a07df3d3dc8eab26d9a003472033c2ff1721c6e6bafa2ab63f9198d06bb63f91c075f555e32e3f1fa2f3cce8db5c66cf611b8e4b7fffb8c34d4d4d9c7beeb958ada35fa56cc78b9f50da7f3767af874a616606bbcc5c8a58d08da62828aa8b602c456e3a23929921e673e170ba7039eda88a82a228b812271fc555dd85dbed4257c7dd087299fcc8cfa7e284dd36144541b53b71b99cd8751da7274c72a497cc6313ff5e8598a5e65c7c3e3616d91c1ebc3e1f3eaf1ba7dd81cb172135e978a4a2399c68b94ef2a3c47c9b66239fd9c76cf98d2dfdd5b0e75331022e154551b007474f2e8d84bbde76879f68f2055e8807716bf5cfa2792224b343bf448374cc875d51b0b9822472c3ea320cf286a42de2e4ddf8c71e52cfbfc0f6271263de52cfbf30e10b568e3489b7f1f1c71e294e4df385104208218410e2c46eb8f93b7f0898400fd0db77dfffb817288c94b83400cd800a2c1872dfff58ed3b2eb380851042082184109355020ad4131793c164c51c723fea78780da80215a0dc579995c1119a5adff342082184104208311965ea894b012852cf3dcad473912a7d9382474a5c6a0c262e65ea094b89639396ca28af154208218410428889e81f2829524f5efa13973283894b6db4e4a37fb4a5c2c8494b7f42238410420821841093d19f73f4dffa475dfaf3912a8c6fc465a4a4a584ec482684104208218498bcfebca3ff7652232e439396a16b5e2c48e22284104208218498bc2ac7e61a43ef2734e2d2ffd8cab149cb483b9209218410420821c444f4e71b431398a1f7271c71a90d2d443d49e91f81197a1342082184104288c9a80dbb55393e1f1935f950c6792f8410420821841093551bebfeff03250386d0aa96b6ce0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You may notice that the file input for the cover image isn\u8217't working, but that is left as an exercise to the reader.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Removing models\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next, we need to wire up the delete button. Set up the event handler in the BookView:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 events: \{\line
+ 'click .delete': 'deleteBook'\line
+ \},\line
+\line
+ deleteBook: function() \{\line
+ //Delete model\line
+ this.model.destroy();\line
+\line
+ //Delete view\line
+ this.remove();\line
+ \},\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You should now be able to add and remove books from the library.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Creating the back-end\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now we need to make a small detour and set up a server with a REST api. Since this is a JavaScript book we will use JavaScript to create the server using node.js. If you are more comfortable in setting up a REST server in another language, this is the API you need to conform to:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 url HTTP Method Operation\line
+/api/books GET Get an array of all books\line
+/api/books/:id GET Get the book with id of :id\line
+/api/books POST Add a new book and return the book with an id attribute added\line
+/api/books/:id PUT Update the book with id of :id\line
+/api/books/:id DELETE Delete the book with id of :id\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The outline for this section looks like this:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Install node.js, npm, and MongoDB\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Install node modules\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Create a simple web server\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Connect to the database\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Create the REST API\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Install node.js, npm, and MongoDB\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Download and install node.js from nodejs.org. The node package manager (npm) will be installed as well.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Download and install MongoDB from mongodb.org. There are detailed installation guides {\field{\*\fldinst{HYPERLINK "http://docs.mongodb.org/manual/installation/"}}{\fldrslt{\ul
+on the website
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Install node modules\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Create a file called {\f1 package.json} in the root of your project. It should look like\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \{\line
+ "name": "backbone-library",\line
+ "version": "0.0.1",\line
+ "description": "A simple library application using Backbone",\line
+ "dependencies": \{\line
+ "express": "~3.1.0",\line
+ "path": "~0.4.9",\line
+ "mongoose": "~3.5.5"\line
+ \}\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Amongst other things, this file tells npm what the dependencies are for our project. On the command line, from the root of your project, type:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 npm install\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You should see npm fetch the dependencies that we listed in our package.json and save them within a folder called node_modules.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Your folder structure should look something like this:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 node_modules/\line
+ .bin/\line
+ express/\line
+ mongoose/\line
+ path/\line
+site/\line
+ css/\line
+ img/\line
+ js/\line
+ index.html\line
+package.json\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Create a simple web server\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Create a file named server.js in the project root containing the following code:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // Module dependencies.\line
+var application_root = __dirname,\line
+ express = require( 'express' ), //Web framework\line
+ path = require( 'path' ), //Utilities for dealing with file paths\line
+ mongoose = require( 'mongoose' ); //MongoDB integration\line
+\line
+//Create server\line
+var app = express();\line
+\line
+// Configure server\line
+app.configure( function() \{\line
+ //parses request body and populates request.body\line
+ app.use( express.bodyParser() );\line
+\line
+ //checks request.body for HTTP method overrides\line
+ app.use( express.methodOverride() );\line
+\line
+ //perform route lookup based on url and HTTP method\line
+ app.use( app.router );\line
+\line
+ //Where to serve static content\line
+ app.use( express.static( path.join( application_root, 'site') ) );\line
+\line
+ //Show all errors in development\line
+ app.use( express.errorHandler(\{ dumpExceptions: true, showStack: true \}));\line
+\});\line
+\line
+//Start server\line
+var port = 4711;\line
+app.listen( port, function() \{\line
+ console.log( 'Express server listening on port %d in %s mode', port, app.settings.env );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We start off by loading the modules required for this project: Express for creating the HTTP server, Path for dealing with file paths, and mongoose for connecting with the database. We then create an Express server and configure it using an anonymous function. This is a pretty standard configuration and for our application we don\u8217't actually need the methodOverride part. It is used for issuing PUT and DELETE HTTP requests directly from a form, since forms normally only support GET and POST. Finally, we start the server by running the listen function. The port number used, in this case 4711, could be any free port on your system. I simply used 4711 since it is unlikely to have been used by anything else. We are now ready to run our first server:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 node server.js\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you open a browser on http://localhost:4711 you should see something like this:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d494844520000032e000002660806000000bacfd41e0000000473424954080808087c0864880000001974455874536f66747761726500676e6f6d652d73637265656e73686f74ef03bf3e0000200049444154789cecdd779c54d5ddf8f1cfad33b3b37d171696de4414b021a2a8a8808818154bc48226965f9a4613359644f398c4188d25d13c8f1a1b51a3b14589b12b164005c416e9bdb7ed3b3be596737e7fccccb27d670b11f4bc5fafeb2e33f77eefbde7dc59ef774eb9a0288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2285f2fad9dd7dbfba9288aa2288aa2288ad255b2bd9f660b1b698068fae2d1e38fe8de435314455114455114e55b67defc052dbd9c4d324991247391863f25b4dc72d2287149272ca5bd7b65dcced2fe6a5abb2b65dca4a3b5fa8f2ec469fe46d7e3347d2b8388adacd2fa961ddb20f36633add50d3addf4a675b8345a89d3f49f9d8ca4b5f86babaf64122ba3cf41b7c4692766fb1fb78ce36a5d0fd4204ed782b51ea21325d6ee261da8cd0eedbe8dcf41173e14dd11a7c5cf4177b6b5cbfaff347ea9d3b11afedac948cde2b4f26697e27430aeecccd9b4b045a7e2340f22bb1e24158916af81cec769f19dcc6364b449db2b641ea7edb8b2f5b73a1051367da193719abed0b9406d575166315b5dab836f743c4ecb2bb5b97a86c5d46eb40ec769e5d52ec569ba42869f83766cddba1d6896c01493cc4104e037f92900d1d2ff86f4d44a1c3dfe080a0af2333c04455114455114455194cc545656354c5efa91cc41bc567eb69eb81c3dfe08f2f3f3f6fc112b8aa2288aa2288af2ad5455559d4e5e86914c523cc06df2d303bcd6c6b8288aa2288aa2288aa2fcb78448262a2ebbf391f438178d567aac1b478f3fc2cbcbcbedd41ea59408299022d9c75276b03fa494124dd3eab74bfe94a9e34dfed4b4747f7bad7efd8ce248099a86a681868e61e8689a86aeebadc6511445511445511465cfa9aeae61defc0547000e9068f033fdbb0338adb6b87426e11052207d81ebba78be8fefcbfa84c030344cc3c032cd5647f84a2993e989944829705d1fe1fb08211052a2a7920cdd30b02c03343d7db08d920e29d32721328863a21b06869e4c62f6dee445e0c412243c8999152264b4749c12cf71713d891e081030feeb07b9175165b1e708dcb88be3098c5088e01e2f5b89e77ab89e48d6a5bea7f7a7288aa228cad72048e396169fdd635c34406b2971e9302925c297b89e4b229ee0b4a1a58ced53c8c0fc1c4ab243ec88c4585f55cbc22d15bcb47a2bc16000d3349bc520d542e2b91e09c761e0c081f4e9534a5151310505f9545656515e5ec6962d5b59bf7e3d01dbc6b4cc64cb0abb5b60d092f13ccf239170282d2d65e8d021e4171490939d4d2412a1aaaa9a356bd6b079f36602b60db6856124efc0f6bee445e024020c3af278460fc862cb9bb35910b19a242f12cfd5c8e97b0043fae713f9f22356c4acbdeb865d7ad456d612f54db20bb2099bdd58ce8d628709487def2e8b7d96c04dd8f41e3d9603fae7b06bde9b7c5667edc1e425795d877bed97accbaf16b22a61a9e44551144551be7982a99fe9a4253db6452795d074b9c5454a891002c771e961ebdc7ef26194660790c207e121ebaa2931744a7a84195792cb59fbf5e6ba0f96b02be160d9767d8cf44fc775b12c8ba913275258988fef0b7c5f1089d4120804e8d7af1f03070e60c48811bcf7fefb241c17dbb29a750b735d17c3d09938712225253d112219271e8f61db017af7ee45dfbea59495953377ee3ce20987a06d63989db90313c4aa23d4b902515f6c1a866912c80a120e185d1b38243dea9cfe9c74e1691c6ad6f0d6fb2f30afda24d8f0e64dbad4c607f383eb7f9c5ce7e60ff8326260eb7b4912263d224e3fceb9ed674c2b5ccb93b7fc89b76b0364659abc489fbaca5aea7c30c23914663528d366b1efe1e55dfbedbd65d119d2271e8d138d7b78a98b4c330c6c3b40386cd39d3960dbc7e11171fa73da0fcf4b96ed27afb0a0c620d095b24d9d5b2ce1e1fae97333b10301b24324afeb5f5e91aacbf97c5567605bfb705d2a8aa2288ad292008d93169764d2924e5c5a6f71c934711152e0ba1e7d02067f3eee0042d2c5adaa6d75fd123bc8fdc71fc84fe67cc54edfc334932d2642483cdf27600738f1c4c918a6462412498e93a9cf061c345d4343239c1de2a4295378e38d37f17c17d3b4d0f5548b8de7631806279e38193b605157978c834c9fd7ee3839b9d99c78e289bcfefa1b389e8bad69184647bece15c4ebc21c79e58dcc18d983dcf457c17e1d3bd72d67fe6b2ff2d2a75584c266e7939796a6e4974de6d3cf649daf91f43dfcdcfd38b49f050c67eca020af7eea13caa4aca54f5da480d3efb997337ac2d6677fc9b5afd7929395ec2ad83c76887fed6a12622f2a8b0ef313543b3d39f2f4533979fc488614253fd7b1b20d7cb5e85dfef9af4f28d3adff4ef2d2ddd759eadcc69df61da61e7520437b84d010d4ed58cbe7f3dfe0d9d7fe434d77ee4f5114455194bd9545326131018326490bb4dce2d2215280e73adc3c6e28665d058944aced0dea6ab08259fccf217db86cfe5acc54f72c84c0751c261c7b34527ac4a25eea0665f7921e83a2691a9ee7625936471d359677de790f534f8e791142e024121c7fc271e83ac4a2b176e2785896c5d1478fab8fd3a1c4454a7c6151dcaf84dc0080473c2eb083617a0e3d8ce9578c64c05f6ee0ee2f3c72021a6e5d1d35713fd532a361581659e120417377973e371ea72eeae28a64f7392b106c615850b29527e2026680fcdca655298957d71047c70a06c86ef4adbcc089c6a98bbb780234dd20100a110e19e800d22716891173057efadbfdd43ad9a186ad47a93831174fa6d6c90a911d6cdec2a41936c1caf7f8bf59218ecedfc45b9f2608db36be132752e7e0f8c9891774d3223b37d4a1ae40cd622f8ed1b8ddac95b29082783446ccf1f1eabfe9b7c9cb0f42b48d7a6a713b8b80e612f7400b8429ca31d1907875112a6302cc1045f9361deee1241c6ab591fce08e9f30a1a8d159132a1ec8e1c78ee0f5e73f42042ddaadd764c0f6d7910227b67b1dd0d00d1d2b102227d4e6c1667c3d343ab7db7fc284e2866fe8844b86327edc7f786ef697342eb4545da68e3b277d3db65a97212cade3d7bb6e5a046d0d2fe126af4d4dc70e85c8c9329b9765a6e7ab288aa2284a9774a9c5454af03c97a9bdc2f49451dcaa2a0076461dca622e071485ebd75d591925db3228cd0ee0c76ae9959dcfd4ded9bc5dee601826aeefd1a74f29c16090683406a919c98410f5dfb06a1af5b380699a86eb7a84425994f62965d78e9dd8868deffaf4ead58bec70381507de7df77d3ccf6bf11c264f9e88ebbaf57176eedc89293b90cf3529a7b50f5fc7f5ef5420cc1e1cff8bdff19351010e3e6e10c68265243c9381e7dcc88f8f1d40719601c4d9b9fc635e78f4393eae360899927844a3f4b8f39979ca118ce81100b78a15afdfcfadff6cbc5b3791c789bfba870b879bc88dffe697bf799975f5efe632fea77fe4b8e25c2caf9215effd93fb9f5a442418c0d404b188c5d0a99772fed4c3189c67e056ac61fecbcff0f89c4d98619344a290893fba884923fad03b2f8006b8156bf9f05f4f32ebfd1dd859261a8258c466bf532ee282930e65408e8653be8ab92ffe9d27e6ed22d0b485497ac4c410a65f308543cd1af44f3f61d6a60479234fe3baf38fe7a05e419009aa362ce0a13b9e62991fc04edf21b6782d3698b1ae85d80f6d6aaf2c2c7c278731e75cc294438732a8671803886f7e875b6f7e11f39c1bf9498bf5a4a1fbb9cdb7dbb298f9dea14c1ca0119d7f073f7c700396e15130fd761e3ab51856cfe287bf59809fd391e44592a80b70d855972693167f336f3efc38fffa642315ae4d61ffe18c2cdec63a2d80854fb4b68d7acdb6d169a7eeb36d74e9138d0619316d26e74c3e84c1f926c804d53bb6b2e28327b9ffb5adadd44507af8786e7560cb093f71f7b9cd98b3752e905e931703843b41554db065afd473797c9373dc0644bc3afd9c0c7b39fe4e177b66287759c442b75f9eb6758e76533bc9debfd841fce64d288bef4ce0fa223a9ddb098b73fae62e0314771486916c476f0d96b4ff27f2faf416659a9b2ecc8f92a8aa2288ad2556d242e9905703d9f093d4278753508cf056047dce7eec59bb8fae0de1c5098c5caaa187ffc6c2b971fda9f5ec1e43a5e5d0dc7f508f1da8e18ba6ee27b82dea5bd89c562f8be9f3a0651df4a92b6bbb52479fb2784a0b4b437dbb66ec392e0f93ea5a5bd88c79371d29b4e9e7c42b338efbefb01aeeba269c97df5ed53cab6addb3ad60d45b6d47b462790934f612859bc35db6b10ba862e5cbcac628a2c87da6a41302f4ccffd8fe347d7396cb8fa05b6274cfa9c7513b77ea7572ab6876fe593e746f10834089fc341337fc685c34da85ec09ffe309bcdba9dec119892559c8b9bf02150c0f04997708b55c5958faec1c760f0cc5f71d3a4c2fae3b70a8770dc45373234f7166e98bd1d4fcb63e498c1949a807448089b40e160267cef6ab4add7f1e03a41c0950cbae0467e39b908f088d4f864170d63e2a5375090b881bb3ef3c8b61bdcbab5504e7ed6587efaf3a9ecaf815fbd939d4e88e2429b684c40b0c135d85219cb06afb75807ed95c52a127a31474e3a88a126804bc2b308ead5d4b81e79add6d373acd75ad84edbc4c7ef1733f1c201648d38985efa6ab6f9f91c7850b22961c387cba8314d72da39d646844b22670ca71e92acfb354fdccb63f3eb08876db24d49dd96ff306f934e2068e246643bf5ba1353eaedae63088b032ebb99eb8fc90504d53b76e0179650d86b1063471773ffcb5b6896d74b8953d7c1eba1c9b9ad7fe26eee7fb786ec2c138b18e56b16b30383a0a9116ff89d83e593f04d02b903183ff367b0f53afe6f958ff05bab4b9b6117b67fbd8f3a7c287d52d7bbabd9e40c18c3f401c94d7c1f8c5009879c71053fdc782d777d25087a1d3c5f4551144551baac8da685f66faf343484efd32fa821eaa248210018d9339f6bbf33813fbefc1e670ecce7c5f5d55c79f2318cd26a10b5950008e1d3371c42f87e7260bdf0c90e87719c4472ef4db287a6cf6581e476beef11ceca420a911cef207cc2e1308ee3348a118bc51ac549f37d2ff5d3272b15a703b796cd0cbef42e9ebdb4c10bd51ff2e0b3ebd143216c5d63c3433fe3bb0f5a64e7e5102e1cc3cf7e770e438a0ee480fce7d8e08de57ba7f4021cbefadbeff8c3eb9b88eb0172b3742405a9803603bff3538e3fac0812cb78ecb78ff1891b24dbf471ddf44e23bcf79b6bf9cb328fd2c9d772cfc5fb9177f454463d79378b43c7337352211063d1fdbfe6ee0faa29997a0d775d388cbea79cc141afdecba2fa1bc51adefaf5b53cb8369f69bfb99def0f0e73d8b1fdd097af2591770c332717015bf9c775b7f0c2069f9e93aee7be4b8772e8b4c3c85b3017c7b61b74d96a5aa61223af2f3d3580b53c7af36dbcb9d30323446e4e104b6baf0ed2cff769297643ad95c53216363ccf9bafe5c1952e4630446eb64955abf5f43cebaa5bdacec6c88fb3e1c2010c283c9831c5cff342ed10c6f603d8c6879f57615ae93167c963766a23d4babb8f54b34214e4ecfea65e0a1fbd78103d01d8c9674bab3043410c4de2fb16057dfa906d08e2bb36b239ef9876eaf5cf7cda6eddff99c5e16339ef985ca08e0feffe257f5e14a5df8cdf73e769c5f5c7dd8cf048e48cefd0f5d0f4dc3ef94f05562848b297a686a99bc93f4e8dfe0ea4ca7b4d3e27fff6762e1e9cc52147f7435fb216613459a7be4e8ee1ca0e5eef7fdd3e9a5fdcf7130e0fc0ea077fce8d1f984cbee50e2e1b6a73e0b8be188b5793c8efe8f5af288aa2284a57756d707e6a307c9674eb130e0051b58be1392e678d1dc5ac799f73c151a3395054e0d554ecde56d3080ab7be4545a4a6314e77e9d2348d0f3f5cd0eaae8f3aea88fa6d0341032165f2d19aa9c4c44dddc5a7939486e7d3f0f764ab4cf2df81402a4e479a5c9aae5bbd8d0d551e4656217d7b8421ef28aebc623557df399f5a2d8751e75dc50fa70e25a7d14636593698250733500312ffe1c5f7b662e66553a8c9fa843029c8b0c3fa012e5ffcf5afbc5166921b6a7a1802d79304c206bb3ef9880d17efc760a327438a743ecf1f493f80d857bcbab082608ec5f67973587de130865bfd195962b0704bc3581ab656cd8a159530b88070513686ef43e928fa0350ca8cdb1f6446c34d0afa90af0bb60b89be7be84e131afef6c52c2a9fcc94a2c15cf6e73f3379c1bbcc7ef13516ecf2c9b61b74a86ab7ab580b6fb75b16060b76343e9e404e98b02171624146b6514f8d7797de4e10aff89477d6cfe0e2813d396a4c316f6c3a82613ab0ed63169481154e0f2a97b811c1b0ab1fe6c68377dfdaba8befe2e23fad21986dd43fcf08f406b3a725cb420a9fa8db9f4b6ebc962383b0f49ecbb92dd17ebd7e919dc13a39232805882fe5edffd411cc60b091f43df40e5e0f2d565d4b83ee5bb86e6c7df7f5985518c61012cf68bc4e20274c9688112fedf8f56ec436f0d50e38bc3f04c2168656cdea559530b480605e1686e8c4f5af288aa2284a9775a9ab982e93ddb66a6309027ef2618f69cb376ee59fcbab39efc8d1bcf4c952060ecf63449e5dffbea6eb4462f164b72f3d1927168d2365b2bf93a6e91c77dcb1f5e35a761f57f2e626168b2164b29525164dc621b56e3c9e40d35283bdf5dd894b4bcf6711422044f2dbfb4422916ad569ffdc1b955583dfd73e772737cca90229c93af832eebdee4872464d61428fb9bcd67b26574e1d8aed6fe29d7fbccdb2445f4efdfe64fa6ba9a912742d35585834e802d5fc786275100a5b1c74f14cc6af7880858940e3a9917717169856ea5b5f993acf94d43e333a554de239a97e689a9e2cdbf4b152ce82d717b1a341771e51bb8a5ac340131ed1988b306c4281e6610d6d1d8fdff87b364c3f9553278d64e011d3b8f288c378e997b7f0dc4e8dac06cfa969763f2b1b77256b575b65d16027c24da08dbaaced7a6a613b898e6556b2f0ed357cffd221f43d663c476e1e8e0d6c9dfb093b759370836e626d1d72fd796906a26203658c279b9e1c7a603ecfcf896007dbd838937a6d731dadfea1ae2dceded562b165783d343a371d51b1894a20979e1c7a6001cfbf53831534d0b5648bac2f74ac16276c97f80dafc7964e23f5d9c9ec9c9b6eebe178e9f03ad0647f995eff0dcf5751144551942e6be3eb54d9fea24974dd60556d1c8940f82ec277595915e3ee65555c31f170bed3cbe2da938ee44fcbab585a19ad5f474ac19a48023d35ab98aeeb545656e1fb02cff3f07d8f68344a2c1623168b118fc7eb7f8f46ebf07d0fdff3f07d415555752a4e72e07e75754d7d1ccff349dea8ee1e2f931ef40fc9a993bd549ceaea1af4d48d4ac79626252725029bbca25c524faa414883dc3e3d93ffdef82ecfbd3297f7e77ece96fa862a0d6fc74ab6010447316d5c0f9c9a0895d571dc465fdbd6f0e15feee6dfdb81f0a15cfef329f47413782ddc6126a216c34e3c810100f10d2c2b17785bffc32680e048a61e5e48a256d0ebe8890c05f036b164a797c1a0621d3f7dac6413daf1312f3cf50c8f3ff92c4fff6b0e6fcc594a4497b8a1919cf5932bf8f129fb61397ef3e4430f912dd6f1d6dfeee28a4b6fe1d96d00bd38f2b0627045f286b8953216f128955591e4529340345ba3fdb2687ef14b84afb7534f2dc707896e19542f7c83cf5da0cf34be7f4408d8c45b1feec2b0351a9e8b15d65879d7a59c35e3fbf5cbb97f5a4d20aca3a5d7d30dccaa4f796345f2ec06cfbc828bc6f684581c4736ae25b7dd7af533a87b1f6fe72a7600844632f5881e48c2f4286c9875268fcd170059f4280ae0fb195c0fa681deb03e751da3ea4bde5f9f8c3af8c22bb9ecd881e4e8e0f816e192118c3da808e1b45db3bb8fa9f96b9aa1e377cbf5de5427ce572d6a518b5ad4a216b5b4b164a66bb38a09816d59cc2dafe3c01e2053ddbcb24259fc74d2fe8c7076e2ee2a67484e3ed74c194760e73aa4174d6e6cd8bc5be6615b59e8e898a64959d92ec2e110beefa369025d1718865e3f203f9d74f8be48b594084cd364e7ce9d5886d9629ce4b35de0e38f17b5780e9ee72284ac8f639a56c7ba8a3529ecc117dfca63e74aac708874fb92bf620ef377b954af5e4f84de640fba903bef3c862dd110031b7e7bbe6b3ecf2d3c999f8dcde2b01fdcc65397b9f8ba85bef2612ebb7df7d32c44dd4a9ebafb9f8cbce30c060e3e932ba77dc18d2fef607787fa5c26fffacf1c2d8324e70790ac9b3d9ba59e45a06a017f9f730a379d90cfe13fbe83a77f447d33c2b6d75ee48b848edee48ebe7971e89865f378fac3295c7b540ea32ffa1ffe7691872b4d2ccd61e16d5771f752c9c033cee3f4710540099b3fbe9917cb1b979bd6eb346effedf1846bca298b1af4ec05e0b3736b04a127772c5b28e3d2efdeca3fbedbe005e7736ebd6a4ecbd5d36a5918684dcf138966082adbab279a6f972c239d406c092fcdabe590e3733000b9720e1f956b5859cd5b2fccac2cf29b05938dced60ed430f7812739e2f7177270a81f532fff1fa65edec23154b457af2676bcfd75acc43c5ef8ec64ae38248bb13fba8d277ed47c5fba5fceaa5d70781f9383afbc95ab6ebf817bbf6afb7ab867b520dce841331ab65dc95b0fbcc091bf3b93616629132fbd8e890dc787c53ee1f7573cc0977ee3fd67f2f19448a4666077e27a6f5ffbd77ff3f35514455114a5ab5afd5f76ba2b4e5b8be74b2cdbe2dd1a838d8964f72ee97b94da3ec3a35bf12a76241f0e5855c690da8df4b505d2f7d0749dc511c9fb1103d3b44003d3b4a9a8a8245217450881ebba38ae83e3b8a9a5c1efae83eb26c7c7545456515559d96a1cc7f538f8e083183b760ce3c61dceb871631937ee70c68e1dc3983187e2b81e4208eaa251cacbcab16c33a373dfbd68683854eeac4dde70ea41c2e110361e35db5733ffc5fbb9e6f6f7a80904d0563ec51f9e5cc8ba6a9fecd2410c1fda8b40a286adcb97b031ae6105e22cfebf5bb86bf6e76cacf141b730648cade55ab3e79a886d6f70df73c9cef9fdcfba88130a24c82abe5abc9e1db52e18c91bf5d88ee5bcf5f0efb8e5df3bb1030646d063c5acdf72db0b9fb1b15682067ef506e63f7507373db719c3d633c87b35cc6082cf1fbc85db9eff84b5952e6062693e911debd82e4c0c5db0ebd3c56c7421bee613beac681a55c3d4a36cde19c3cc2da277af7ca8d9cca217eee52f8ba2044dad7139b7791537bf8cb5f6cac2d69ac7948061b5534f2d74176b702d18019755ff7e8b64cd382c7e7931d59681d6a16baac1a259046ae672c7cfef60d63b4bd85cdda04f52a29a2dcb3f62d1761fabbd7a0d189819ac63d9313efef32ddcf9fc877cb16a036b97ff87cf3625f7293d17818e6d95f3e65f9e64eefa5a7c1c2a6a5c74bb9deba1857343373177bcce2d57dfcbd37357b2adceaf2fd058d97a167fb08c3a3393ebb185eb235d1fdd72bd3795c1f5dfd9fa568b5ad4a216b5a8e55bb864fe7fe0e6aca3c71fe1d8b6955100c33011be20dfade596923a72a55b3f2d724b74d3a246b3b86e7b0ef14018cb4aee470889eb38f8423064c8c0fa1696860f8b6cf410495d47f892356b56639826b61540d7b5fa38424a060f1e84a6939c71ac419ce4fe045282a66b2035d6ae5d4bf2417b5ac74a100089134d10f31a6fa7e93aa66512b00d92c33524bee3124bf8f8e955350d5d3708862cac542b83ebb8249cddebe8964d3808b15a070f0d3b1c2464809f481049084027941dc0d60589988be309d24338345dc7b22d8276c3b100122fe1124fef434bae130aa4d6913e75cdf61527929060d8e486d30fd86b1227b53f3b6827130fcfa52eea210c034b0afce249dc71ef790ca08c17afbb91e7774afc84977ac861fa384c8201a3858c5a108f2448b4d873c8209c6d9088343ce60ccaa285f34c974f9bf5a4b5b49dc48b3bd4b9907ff80ff8d3cfc7925d39875ffefc29b698364657bf7c978244c2c571779f0fa9671ad9213b95d8b653afb4bf8e1460e664e3ee2aa3d693687629a7dcfc3b2e1aaa51f1da2d5cf1f43602411d7c8f58dcc3f521100e12345a884de3eba1f553f371125eb3ba324c8360c0c42083ebb1d5bacca05c9a6d2b71eae2c47cd0034172025aa7ae7f455114455132e3382ef3e62f38138801d1d452d7e0f718106f357149271499b06c1bd74d1070e25c965bc361810488d46c5d52423a61d00d1627023c54934bc20e110824fbcea7bb6609911c20ef7bc967b1646565d5272a69e9e4231a8db26ddb760c4327100c361a782f84c44924f07d4169692f42a1502a46c3c4424b4da7ecb379f3168410589695eaa6a66e3aba8f20e1f4e2cc5bae66dac09ce4d3686ae7f13f57ce62ad9e7a82fd3e4fe2c64d0ebae6767eba9f851db20087cffef77afeb82846d0da574e52e2c4c31cfb9b3bf97f837c6291387a7638f504a14d3c7dcd6ff977a5d9acf54f5114455114a52b5c37b3c4a56bd321a73889048140005733b8abca60ac15614228c610d3254717d40a9d359ec5fbb1100bdd6cb242410296559f4768245b53744d4bc6d11d366fde42767636d9396182c160b21b9a14c4e37122b575d4d54508d8412cdb4ace8324a96f95d1350d3b10c0751d366dda4c5e5e2ee1ec703251921a6812c771a88bd4515d5d831db0b12d0bd7f73bd1daa2b4494a7c3387928264d212dbfa292ffef559560a9380dec2ac55fb2489d0b329b66432697176b1f8c587f9cbc711ec80d1a1cfd2d74b826121b7aea7ac675f8ab3c34082b2d59ff1fad3ffe0b55d3ab6f54da9334551144551f635adb6b89866c71f9d665a26ba6ee2b92eaeeb22848f10125d4f76b3b12c0bcbb25a6dd148dfe04999ecdee5782ebeebe1a75a6f344dc3d00d0ccbc4362d345d271daae994c9f571a48fe37a78a9b12c520a344d47d7754cd3c0b22d842ff045326951ad2d7b8014c4a22e9e4c75a50998d85dee3bb5b791383187840fa061da6693ee79fb0a891b7749f8bb1314cdd0b1ed6f629d298aa2288ab237f03cbfab2d2e1ddfa9eb78689a8f61988442a1d4335432bfd9a96f31d135a4a613d003482b3d3797ac8f95ec2e46a37130adc511c220601b042cabbea358b2d798c017e03a0dc7e374fc192e4a267482598d1fe4f2cd2b670d2b18a051074b4927067e7fdd34cc80dde27483dfbc3a5314455114655fd22d5dc59a6e278483dbfaf87c4551144551144551940e693571d917bf2b5614455114455114e59ba95bbb8a298aa2288aa2288aa2ec09ddde554c5114455114455114a5bbb59ab8746476adf4b35692b376a9e952956f96f44410baae377a88a9a2288aa228cabe2ef9dc45c195a7f663ea098308961e80517808e0b5b1954e72d2ac38f8519075e03b481712651bf962e117fcfaf19544e2125d6fff017099369874b9c5450881effbb89e87e779085f2054e6a27c83e89a866ee898a62beb0102000020004944415489659a188691d187505114455114656f26a5c4f705df3fa18469938661e705308295102807a7007c0f74d1600b03d0c0ab045906ce2e64ac1c0d1ff20ad04c0b3b5be3a083fb714dc4e596a7562344c71a44dad2c6e0fcf60921f03c8f44c2e1d8632730e5a4a98c3dfc70b2b2c2dd72708ab237a8ab8bf0e1471ff2ef7fbfcc278b161108d898a6a992174551144551f659e9de5263878438ef94c168756ba1ce62c947356c4ecc65ca8c19600e005f2339699701d2017703885d88b235381b36a05b45441c8b37de7e9533cf198d3d6414961f62fcd852ce5a5bcd3fe6efc230f46e495e5a7acaa4d1bf7fdf9b323959dff7711c9799332fe4861b6e64e080815896956aad518b5abe198b65590c1e3c9829534ea2bcbc9c65cb96a1eb7a7dd7314551144551947d8d9412db90dc74fe308a426518e660acb177f0e3dfcde6a63b66e36e5bcb092795823041fae0ed0067258832fc9dab71566dc63ee426ac913fe4c54531cebffa3e3efa680d678ccb22d8bb1f489fa13d2ce67fb98b9a9868f79e69e3a62dcf92ec9fe6b6b07880d7e916172104aeeb71ccb1c7f2a31ffdb87e9c8b1ad4af7c534929b9e28a9fb271d346fef3e597e8ba8e61b494fb2b8aa2288aa2ecbda4940829396644368306059095d5d847dd08815cc239f908e0d6599f3169e21b1c77ea91c8ba74eea08114b86b371218ff27f4a2e100a43ba1bcf3552db7def601b73d3c08232b484e718853c614f27fafefe89671c29deaeb92ee0f97701ca69c38152951498bf2ada0691a134f984cc271f07da1ae794551144551f639524a1082c9871662886accc29110c807e08e3b6ee7848993d87fbfa1b8e5b5e027c08f255b5d3481a8d8845630aa3e6901f8eed96773f9e5973374d8fee4f41e095bd7a35b1a66c8e4b8c30ac90dd22df74c9d6a711142e07a2e471f7d0c13261c8b44252dca379fa66998a6c9a4491379fd8dd758b66c0986d1b8d5c54b4f52213aff79d0340dc330b02c5375455314455114a5db4929e991633072bf1cf02bd17b1e54ff5e494909efbcfd166ebc0e73d125c8da6ad003a981fa06225289163eb8513c5dd7b9efbefb48383e81ba3524165f8d5d1247b7a1a8478003fa0558b0da41d36497ee6d3a9cb8a45b5b7ccfe7ac33ce42d374a4142daebb74d9727cdf6f3596effb188641516121bd7a95a8c1ceca5e4fd7752ccbe2d453bec37fbefc12df148dc6bab8aec7983163c8cacaeaf43e62b118e5e5e5ac5fbf1e23359b99a2288aa2284a7748f792daafb74d306ca239e06f5f089a05762e4889112ac21292442c8e2d9c545fb0642b0d1ac8ba3292cf3f6990846810b00d64b50b528074d0748961e9ec5f1ae4e355713ad9d9ab5ea71217cff718396a34478d3f0ad14617b16834cad8b1635b8d3567ce1cc68f1fcf9a356b282b2f67c8e04184c3ffa519c9fc089b566e2130643f7ada0d333f49a2a61a3f9c4fd63e3f7ce19b742e7b87746bc8b11326f0f43f9e66d3e68d98a6519fb8a4fb6fc6e3f14eefc3300c7af5ea457e7e3e5f7cf9059eef63aab1348aa2288aa274132925bd0a0c74ddc728ee81ac5b832c5b85f493f7f4c21348017aae059a0ec249cd59e4a1f7e88d58b990c47b97208500d9f03e5a43c6aa3072743424e0a29992d242b33e67e84a8b4b87d31e21049eeb71eeb9e72613ad36ba88f9bed768d07ed3a5b6b686828202468c18414e4e0eab56af21168b75fa643a42d67ec643773cce97b58d8f5f56cde3d62bffc887552db722ed49fe8e37f8f50f6ee25f5bdb7ae04fe631bece73f926330c03c330397dfa743cd74388dde5abe91a1595155d8a9f9e66dcb66d0e38e0403caff3d783a2288aa2284a53524a2c4b037c8c5000b3575fcc3efdb1fa0f482e830711183a18b34f5f101e0817a407c2413774ecfd0761963a58a50e569f04765f27b524080c0b63f5ef837413203d34e9130a6afffd312ec9d6161f4dd39870ec71d0ced816cff71bddd435555b5b0340381ca65fbf7ec4623156ad5ec3e851239baf1c5fce43d7dfc6bbbb925dcff4702f468c3f9def9d3b9e3ef637631c809e338cf19360605e06dfaec7bee08ecb1fa6e78d77f1bd2176cb31dc3d78b0df209ad6b10f53b2d545e7b809c771f75d77e2a5ba3c6a9a866918949797535458d4e5e3124210cecaa2a4a484b25d655896ea32a6288aa2284ad74829938d275224130be18068a12d4334ea08d6800f9a8e11ca6ebc42ba254580f4bd54773101a47feffab177e84e4888e4d896a3c68f4737f464f3501b7ccf6b3371c9cecee6e187ff8a6559d876804020806ddb2daf2c1354d6e672c20dbf61463f8ff2b51ff1f4ff3dc09da1fedcf1ddfe581d3991bd9496359813cf1edc6d316455771cd5379bebbabcf7de7b9c78e289f5c98ba6692c5ab488c30f3fbcd584c6300c028100a30f3a88a54b96204c916a8931a8aeaac6f33d4ca3eb898610823e7dfab27ddb7695b8288aa2288ad27d7cc0f7701271e2151e9a26b1c316866960181a9a99ecec95ce4da4040d2d39abaa9fea41e536bc4f92b89e4008c8ce0b921c1303d28953579be89643ee70e2e2ba1edfbbe8fb6d76114bf3fcb61397a953a7357b6deebc0fda88a8130c87c9ceb3c93ee424ce3efa2d6e59b98304fdb1fc32debbfbd73cf27935be96c3d0c99770d50563283424f14def32eb8167f9607d042d7734dfff9fab9918d81d554697f3f75fdfcdf2a36ee457c703de16fefdfb9ff0d8f65a8ca2914cbbe4479c75501e0692f8867778e481e798bfb18e60efc338fdb2cbf8cef06ca85bc2dffef0001facab242e21587a0433aeb88cc9fd836848a26bdfe491875f62e1865a02032670d195dfe39892c6e996ac9acbaf7ff63ac7def95b268637f2dafd7fe1d94fb6e368398cfefe6fb876628f169f18da6a0ca3f573d1a32bf8c7dd0ff0f6b25dc40872c0a57fe08663616e0b65589068baee2f39fee35b79a6df2fb9f38241d838ac7de25a6e2bbb983fffec203a3f2cfdbf4bd334de7bff7dfef6f8136cdabc994b2ebe1880471e7d94b7df7a9b9ffffc678c1933a6c56d93cf703139f7dcf3b8febaebb06dab7e76315dd7a8aca8a4478f1edd729c9669d2b3674f2a2b2bd4407d4551144551ba44d33434605b8503c267fbe66a567d56c5ca4f2bf8f8cdad5d8e7fc90f0ee4d8abf643465c10e05447d856eeb4d67cd32119df05a567130b6585183972649b83f2d37ccfeb707f363fc3fefc5ee532e67f11a1e4e8de04008c3c0e3ef746eef9611e6c7a9dbb6e7f8c7f1e399a4bfaafe5efb73fc1ba237ec8efaf1a4a20524bb0c88048eabcbc5d7c70ffbd7cd4ff627e7bea4002b59b400b3260ca155c73483e551fcde29e7b1fa4ef5dd7705460054ffef1ef6c3af2726ebfba94aab90f73cf5d0fd3fbce2b19232a58bb29c0d49bee61624184af9ebf8b87fffa3e07df32851e89253c7ee7b3ec9af833eebc2697954fdfce230fcee7805f1d47518ba38c24b59f3ec9731b0ee19abf9cc950bd8a72ada0dda4a545ad9d0b3b59b6dae0c45ffd89937af92402851886df7219f66cba6e11a6d6979a57bea46cc6204ab52a562eada3cfc9030875e618bf26524aa69c3885582ccebf66cfae9fd5eec3f91f72ce8c198c1d3bb6d5c43b3935b2c141a30fc20ed8f8bec03465aa1b9949797979b7252e42084a4b4bd9b56ba74a5c1445511445e9061aabb73b24ea3c8a7b5844468509f6b4f872de4eb48420573792cf6964f742fa770d0412bfc1ef9e04078174250113d03cc0c3a98ce254d4b1726b1cad1b32978c07e7a7070c4f39f1a4e4c167d4e2921ce3d291c56b63fa64bc725efdf50fb8e8a20bb8f0f23ff27aec30ce38ae77aa9b98457edf3e14e764533c7c02c7f789b3b92c4e7ccd5b2cf08fe0a2b38f60608f227a0f1a4841fade4fd6b1e4a93b78b2660ad75c760485e9ccc02862d461fbd3b7472923a79ec7a49ce5bcbb3c427ceddb2cf4c672e19987d1afb837a34e99c9a4acfff0c6d2da649968010a8a8b28ec398871278d237fc712b63b905833874fc4e1cc98369292c2fe8cfbce040a362e62431b134fe9c12cf4bacd6c2c73b0f27ad127b79337acad9c4bfa788b7a1692575042cf2cbdd5326cbeae49fea8e31850b180cfca7d64743d9f95f564ec7e39dd914cff5709e133fdf4d3983e7d3a0b172c64e182854c9f3e9d33a69fde666b21a45b5d0c8e1a7754ead92dc9f50d43a7b6b6866834da6dc7190c06c9c9cdc5f7d5440b8aa2288aa2748dae6b6cacf059b1aa1ad375e9ddc34647d0273b48816d61d80666c020103008050c72822605418ba2904549c0a23410a05f30402fdba6d8b228b12d8a2d8b70d02477701012719cf21a623b6a88457c966cf3eb675eed8a8cef86d389cb19674ccf286981e4ac62edddfcb5b44dabcc024ef8e9cd9cd5dfc0a9ddc697af3ec2fdbf7d9a1eb75fc010b191771e7b887f2e5c47956b614a8f814292a8ac20917d30f92d9da957c6a79f40fec48114b536c0dfcca734173eaf8c11f32a48e4348865e6d32757f0595994a6e99611ca27e06fc09592447505d1dad5fcee9279bb57d08611712464b5b45f8dec832ee167d366f1b7db7ec28b7d2670fe0f6632a16fa06b8941837369a95664bce5326ca9b6f582839834e829febd702713062d6463fe186616ed9b53f60a21483889fa67af249c4446d7adae279fb1f29dd34ee5bdf7df450851df5dcc344db66ddfc690c143baed184b4a4a58bb660d86d1ca383045511445519476a4130889ce9b9fd531b45810ee1ba2b4d424bbd02652e590631864a1636a606a1a3a1a48892f04baa621358d3ae1237c171710802e203f3f407e6f0d67532589aa047e5cf0e11a8fb22804ba6132ad8c12976437319fecec1c860fdf1f21daef260634fa163a536d4ffdaa13cccd23bfc08682428e3b7502afddb08035d52ef95f3ecc132b8773f55d37332aaf8ab76fbe9eb9809d9b8755bb8d2a0f4a9b9ead358019574f64c97df77277c92ddc38ad6ff341fe5e259baa34f28ab208651562d76edd1dcbab624bb5465e7156f36e5c7aba414cc3cecd27ab6012d7dffd3d86667acf69e431f2f42bb9e3e4ed7cf8e8ad3c705f2f86fffe147a77253768702ecd9bda04e5f35b2ec316e9f91c32ed40fefec49bccdbb88aacb1a751b20ff662d2348dc766cd62e182859c76da6900cc9e3d9b9a9a1abeffbdefb5799da79fe972c08803080643f8be8f699aa96e6426e565e5f4ebdbaff509273a283fbf0021ba614a0e4551144551bed5d233a4bebd34c1398707d1ad3a4a7a5af4eb17a46a4d9412dd44637717315f4a0c4d63684909bd8b8bd91eade3cbb29d0ceed193824080444d0dcbb6eda260a049d84ee04624c295787178e1d318866ea0697a975b5c32ea2a966c6df1997252aa9b5886f399f99de82ae6b7d5550c413c524b4d5539dbd77dc6ebcfbcc9b6ec610cca35404aa404e13b38deee642938e4040ee163fef6cc47acdb5549d996f56c8dee7edfee3d819ffcfc04aa9fbb977fae49758b92092a76555055be9185cf3dc25bf1d14cde3f9be090498c3516f2f80b8bd95cb69daf5e7982b7a3a338f180b6bb4805071fcfc1de3c1e7f69311bcaaaa8dcb991b5dba248c0dff9010fdef9180b2a1a9fb75bbe92955baa898b2c4afbe6a33b7538cd72409f587505e5e5e5c9a5a206a769d5b4722e2d1e6f2b65d8328dec034f61bcf7168f7f6473d491bdf6b999dd344de3e5975f66dedc794c9b368d934f9ecac9274f65dab469cc9b3b8ff7de7fbfdd0f98611898a6c9f8a3c7e3798da7ff364d93ad5bbb3ec82d4dd7340a0b0bdbf98c288aa2288aa2b44dd334745da736a1336b7e142f2af16b5cc69d9a4d8f421bd795089277fc7eea4bdc23860ee5b8993319367d3ac3460c67c6c59772cef72ee6a423c73365f848c6ee3f80b153723011f88ec08ffabcf27982953b0486a1a3ebff851697f4a07cd775b9e08299f537b799686f56b1d6b6699116203fbb8a397fb8923900662e7d0f38921f5e7f36c3023a1c3993e99fdecf3d57bd8e0b1859a58ccf31d0c2a3f8fe2fcee5d18766f1cb37eb20d08f936fbc85f38beb0393b5df99fc64f227fce6817f73e48d2318dc37c62bbfbd8a978070df2338e7171733265743637f66fee27c1e79e0417ef16a9440efc3987ecd651c9eab411b530f6bd9a3b9f8dab378e4e187b8617604b41cf63ffb466e382d0b19d9ccca65abe8512720ec23d0d110d4ae789dbf3cb090321f8c82e14cb9f844fa36cd0cbc1ae6de754d83569161fcf80fc7ef7edf2a6cf55c9a1faf4e516b65d8da89d903997c625fdef9e8388eeebdafa52dc96b7bd2a44914161671cc3147d72704a79efa1dfaf5efc7e851a3db6d594cb7bacc98711e6fbff516b66da3ebc96f142ccb6457d92e0a0b0bc9cdcded96e32dee514c6565657d97344551144551948e4a272e8669f0ca97090eecad33659441414f9d132e2ae2a3c72a89d5f898b6862f04fb9594b07fbf7ef8353578c12045038760575491f86a09b1aa3ad6266a291c1763f8c8207ed4c78b08566d8147e7c5304d0b5d37badcda022d4f4c661d3dfe0827fd0f2104f144829c9c3c5e7de5d55437b1cc9291a7fef1774e9ad27ccae3b6bcfec62b9c37e3fc0e6db3ef93b8b108658b1fe2e6bf995c71ef4f19bd574fcfe5138fba88c8529ebfeb6f549ff33b2e3f74df1b989fa6eb0642f84d5ed3334eba3dcf231a8d72f677cf269188110c04ea6728f37c1f292423468c2014ea864ad534162d5c483018687f5d4551144551945648291142e0382e96e6f2ab2936e3f63709f634a8dee0f1e5b3b56c5a1dc7894b268e3c805ec545243c174fd7f01271a2ae4f5c4adc509cdc71b5f4190db81a6ead60f34eb8fe9f3176448cfa4746b497b8cc9bbfe04c200644534b5d83df6340bccd1697746b8be77acc9831a343ddc42075d3d6c1e990db9c55ec9b4a5430f70f57f1f0fa1e8cbdf01a46ecd5490be06ce4855fddc42b3b0b1839fdc7fcf4907d3769019a252dc9d7326f29d4751dcbb23865da293cf3ccd3f8a6553ff0cd340c3ce9b164c912faf6ed4b4141018140e7938e782cd6e96d154551144551d2d2ad2e9665e23892dfbe1ee71a3fc471be24a744e3986bf2285f1e62c7271e96e5b0b2621b0937d54d5ed30816480a8739e48d8a6185257e14dc8860d9468fdbde70d91e31b06db3be274a77683771f13c8f7efdfa73d69967a5ba89659e8874fbac62df547a1127dcf204277cddc791297b10e7dffd24dfb676b1d6a467173bebecb39933e71daaaa2a318cdd1f52d334d175c1962d5bd8b871638793f9c6fbd2d4b35c1445511445e916bb93170bd785dfbe1263e9168b0b8eb4c8cf83824106c5234c84534d514222a486aee9e81ae81660f88804242a349c5ac90b9f383cf9a94f42585856b2a525dd0ba53bb47a07949e49cc711c0e3b6c0ca1ac2c640793904020c04bff7aa143db84c3d91d5a5f51f6068661909f97c781078ee4dd77dfc1348d46f395ebba8e6d279f95a3288aa2288ab2b74827169a96ec31f2c2172ef3d6b89c7ab0cda411263df2249a29d00d89ae81143e3ee025403a1a95d5828f57b8cc5ee6b3a2ccc0b26c6cdbcca87b5847b59ab8789e4f22e170e08123993163468706e5a79d778efa4e5ef976480ec6b738f7dcf358b76e2d9b366d04c0b254a2a2288aa228cadeadbe3b57aa05a62ce6f1d7b92e4f7e9c60545f83613d0dfa14e8e4874013501d976caff259b3c3e3f36d92eab88e69da040226a6996c65e9ce9696b45613979ada5afaf5ebcfd9df3d87fe0306a45a5bd4332414a525e9d9c5860fdf8f33ce3c93c71e7d94b2f232b2c3e1affbd0144551144551322253c342d2f7355157e3a3353ef35779f5ef01a0edee66a6eb46a32e61be2f52cf9dcb7cdcba6d67f6456fab89cbb1c74ce0b2cb2e63ff1123904274a95fbea27c1ba43fe4674c3f83218387f0b7598ff1d1c71f7ddd87a5288aa2288ad2255a2a51693621b19408df47f83eaedbf9f8858505991d470baf59478f3fc279f5d5373abf774551144551144551940c9c7cf2948ca643eefece678aa2288aa2288aa228dd4c252e8aa2288aa2288aa2ecf5d40321f652beefe1b9ae1a5ba4288ab217507f8b15a563d2b34a5976e71fbaac284da9c4652f9488c7a8a8a860ddda35d4456abfeec3511445511445c998aeeb64e764d37fc0607af5ee43373fca43f9165389cb5ec6735d2a2a2a58b5621923471f4c4161d1d77d488aa2288aa2281913bea0bc7c272b572c27180c52dca327be9ff9d4b88ad21a95b8ec657cdf63e386b58c38703403060df9ba0f475114455114a5c3f20b0b09658559b16c293d4b7aa9c445e9166a70fe5e460841a43642a16a695114455114651f160e670312d5574ce92e7bbcc545fa1e221ec108e7efe95de1fb3ebaaea71e90b3ef1242a01b2aa7541445511445f9baa4ef2b8510008dee2fd34f89ef2ad18df37ee8fbf6ed6f46f668e21259fe11bb5efa2366968dd96314bd67dcb8c7b2ee5d3b77e0390ebef0292cee415656788feca721d7176cae4850167141838290c980e22096a123a4e48b8d75f429b0e9996beff1635114455114e5db2b9148b061c306dc561e5f6e591603060c2010e8dc2c5f524a5e7cf145962e5d4abf7efd39fffcf330cd6fe6888374b736c3301afd6c28914874ba2c1bfa36241bdda9c52baea50aeaa8c4f6f594bd761ffd4f3a0974d8317f3e89edeb08f41edce5d84db98e83f05c72f3f3905252595e86655958d69e4918a2099f57be2c63c1ba08c539010ac2161a5013f3d8511de7d001616a62821db52e6535097e7dfa608ac2997fb88d36fe10789ec73ffef18f56df3ff5d453c9cdcdedc8e9288aa2288ab20f8bc7e32c5fbe1cffd17b30e7bc82ae6918968614208444ea92f8b1a7b0ece2abd87ffffd0906831ddec7860d1bf9f4d34fb9eaaaab78e6996758b66c39a3468d6c77bb746bc5bec0f77d0cc3e099679ee5cebbeee2ff5d762993274f66d3e6cd446a23141414909515e2fe071e64e1c285bcf3f65b141575ad6bff4b8b2af17c8114a2735fee4b89a6eb9886cee9871774e9581ad2b48eb72849d9f9bace34f7d823898b1fa962cbacebe97bfc9138bbd6601594e2d544b0f27b76296e6b0cd3c4f37ca490789e4b4e6e2edbb76da3b44fdf6e49c21a5ab13dcaa373b733b25f2e278e2aa12ee113757c7c1f72433623fae4b2ab26c18a1d951c33bc278bd756b27a471d4583f332df8994789ed7e25b8944022961e6cc0b1abd1e8bc598356b16b367ff8bd34ecb3079f1b6f3ceffdec747037ec075a7f7c7cafc083ba7e9fe44159f3dff240b0bcee0e2c9a57b7eff8aa2288af20d138bc5f8fcf3cf319ef80b59efbd85a119844a4cfc0a01ba86d94327b6cdc578eb15a2bec367175cc1c1071f4c2814ead07ed6ac59cd800103282e2ee680030e60e9d225ed262ea66521fc3d97b86ca94ab0d1cc45070e306ac90975ed0bebf4f39a366fd9ccead5abf9c575d763fef257adde934522118a8a8a9052767a98c2da9a1cf272425801135f081a466937a694e8868ee37854d7c43ab5ff96689ace238f3cc2ec7ffd2b9950b5c3b42cbe77d1459c76daa99d7ee655a6f7eb2da6535dbad997822d4fff8edee30f43c62ad0ed30d54b5762ef37013d94ddf9b86dd0759d602844345a87a6694821c8c90eb36bfbb66eddcfea1d511e9bbf9d6346f440d374d69745a98abab8bec41782bab8c7ba9d5184948cea5780902001bf1b3b307a9e577f51b8ae57bfa45f9b39f3025e7a6936353535ed07f3ab58f2fe077cb625ce7fe5d16a4df7e797b3e8f967787d49357be4cf9a88b2f98b797cbc36b267e22b8aa228cad7281a8d327ffe7cdcbfde47f6dcb709064d426113336110cab509852d8c844e28d72210b208cf7d07efe1fb983f7f3ed168b443fb5ab56a1523468c00e0c0030f64d5aa55added0ff37bcfdf63bdcbda896573704796925dc3d675d97672e4b8f5b9152a2eb3ae1ac2ca41058a6896d5b58a689659a8482416cdb66edba75f5eb7756ac6a3b91ea5dc422653875e524528b5357415d4d1991ea5dd4d5eca22efdb3d15246a4ba8c48d54e6255dbbb74ee4dfdfb9557c8caca22273797dcbcbc56979cdc5c2ccbe2f5375e073adfefad4b2d2e66171297ed2ffd2f79453aba48e0d6d6e0098b486d8001332fef74cc4c14f5e8c9b62d9bf13c0f4d035d37304c83b29d3b29eed9f5969e842778e8832d1c39bc27db2ae3e83a54451cb6d5c4290e9b981aecacf528c90ba16152e7b8c41c7f8f3c6d39ddecda5a93dc8517ce64d6acbf71c619d3bfddddc6122b78f4ba1b5839f329660dcece700a3d4164cdfbbcfcc17a8263cee0b4517950fd252ffd7331d52dacddebf8f3993a30fd0d8fc42d5fcabbaf2d223ee66cbeb37fb8c947b8bdf715455114257373e6cc21eb9959142efc800a4ba32ae6d12b601108c0ce3a1f0d280e69b809c9d698874052f0c19be0b8cc89c739e5945332da4f7575355bb66ce5ffb377ef714dddf7e3c75f0997042f4451136fa458856a0bb576a8dd64d84ac75a296ea5da16472f7cb11b966ef2c56d6c74d5e15637b6e970df3969a75f6ceb60fdaad89f1df4b2a53761ad85f5167b91f46668ad89d750811348727e7f041495bb2814dfcfc7233d34e7e49c4f02f9f8799fcfe7fdf92c59b20400a3d1c8b061c3cf08662ea6ddfb8ef2dad864f45a2d3eaf9780201d9ae97378bb6235bee16662172ceed379b55a2d478f1e65d3a6225455a549515055159fd70bed622215ff8de45ffe329ff92fc49fd7a4501e9f8abbb181e646ffcf9ad6f303046a35fe1bf267dc5e6ebb96ffeeb846abc1e753f1f467963ff0bdef7d8f975e7aa9473d2e6834dc765b4abb92f75e4f638f7e1d2a76e2d5727c9fbfceb05957d2f8e97e02868571f4ad4f88c8dd027d182bd75bc6f113f8bcceceb06121785adc04eb74349c6ce0cbfa7a469e6703fe5fef1d23c2188aabc1dfbbf1a9b39169461df72f98c2085d005bf61ca445d5b6be4d15afc79f0bd397a19d01015de7c3b4054367c744cdcdcd6cd8b0e1d4ffefdc59c65d77a50dd9e4b9fea7d254f72acf561d6c5f3fa11d318deb93c673fabe9297fafd7bd8f3c9082e0bf37fb63ef7513eb1fe871aebe73402678f78ed6ebf104208d15b870f1f6656e58b68820271dff45d6ef9c32354e66573b2722709359fe1f3b450b7f71576df9bca0f6d4e7c5e0f6ffeed314efee2c7386fb8b9c3733ef7dc73bcf38e158fc783cf77fa5fc31933a69f91cf111717c7d34fff838a8a6700686969c1ebf5101e6e262ded7bfd32eb56539382cfe765f8f0e1a8aa4a636323af7dd6c49efa304246fb0798ab3ef03435e1d186d0d0ac634c78789faed596dfb2efdd773976ec18a1c343f8e93ddf615af8788e1c3a82e2f5323c2890d1a6b1bcb5ff13d63dbe9bfdfbf773f8f0614c26539f878bb93d3eeebf3902b4f0e6c72e424302f17855341a5dfbbc5000002000494441549835d5c0487d204a8bcf9ffea2aaa8aa0634feb660738b17e3e8611c703452b8fba33ebdef8ea8aa8f3b6ebf9dd4d43b7bfc1aafd78bf73c7ae0ce2fc7a50f0ddde6239fe3fad75f193f7f0e8d1fbe0b41c3f8e2552b931ff83301c32ece5dff808000c64f98c8e77507183e62046e4561d8f0e11c3dec441f12425050dfb3285efbe84b622f0fe36367033e1f98c70471cfbc09a7f6bff77923511342515151550808d0e0f5a9046860d2e8de25c169bb9962a2adc7a57dc25b5393c29225b79f71dc33cf3c83dbedee5de0e239ccab8fade72f3b2af9f4248c8c8863c9032bb96beed8d37f2c9ea3bcbe6d3d1bb757f271bd8fc0d157b2646d21f7470762dffe33b21f799dc36e403f9e6b6f5dc12fbe1fc7b82e8a70e4d907b96df7615c2d5a422fff26dffbf14fb933c63f66b5dbf2f81ad8bf6b3d05c5ffc2e6f2817e3c713fdac0af92279e2aef81a2a5dc50e4ff79e6af2af89fb94779e9a997381c9ec877e326d2d65fe275bdcf4baf1c64427c3c017bffc5a9818601c308330e3bfdf97ff91ed51f2b8cbf6e21d343b5808f2f6bab78bd6e2457de300fc72b552867bcc3eef60b218410bdd7d0d0805603da600d862b67a19c38cec8e8991cfb6719003beffe2e295b77317caa7f41ebd2bb96b0f4891d94acfb2d0d0d0de79cefe8d1a3bcfaea6b3cf8605eb76da63973663367ceec739ecfcf5f83dd6e27222202809696e63ebfbfe66637afecd9c37f4e8ea645178a67f8385a8243193666947f744d00b4282a1e77139e8613447d7309a63e8eb2696b3887e87468b55afef8a3a5fcd7dd6928874fa237b480db0dba60dc5feab923494f90aa52b8f3058282fcad8dbef6baa83e95105d00fb0ed4f35aad8bf1a343686c6ac63c4e8f0615adc67f8c46eb4f3df07a7d0404f8a751569abd04685474c1da7e1fe1e3f57a2feaa2a13d8d3dfaadc7a5f9d001465e3e89e64fde039f8f23d6038cbb358710f315bd3ed7f908d6e91833cec4b1234ef47a3dcd6e059d5e47b3dbdde7c0a5c1eda5c5a3d2a078d1a2a5eef849eef9c665671cb368d618cafee3a4fdf8bec0000df7ce9bc865637a1eb8f4e40f5f55d5d6c7e9c02524444f4888beddff87a07691e4dff1891bd9b7e9017efa7f70e3fdbfe28753e1c38abfb0e9c73fa4e991ffe5fe2b43406de2dd471f6065a987f9f7fd82e5571968397a82911383010d61b36e63c5c3773376a40fe7ebdbf8fd965ff2fb2b77f0dbeb47753a542b78cab7c9fade2cc6a807a9dafa2736fd743d97ffdf6aae1bd1d46d795a3efe1bab0a5fc1949ecfc66f98508fd6716272d8197fd8e317ff865fdf328140340c1b3f1c3882cfa7e26bff25f71ec3fad21bb8afbc99b99355feb3b7b3cf48e1b39a37710ebf9245d3da869f6931c424931aa38196cfb19cf3a2eef60b218410bdd7d0e0bf997ab4d14b78cc4cdede51cae46be750abf5e2f17888fdc17f73f8c30f68a8fb1c8fc7833ecc80c7eb45f57a3b0c5cfced3f9577df7d976baeb9a6d7e5b1d96c78bddef3ba510cfe9bb18ad284aaaa4c9b368df7df3bc1c19166b441c1848c1e47905e736ad4894769c4e36ee42aefc7988c33fb7cbde66637aaaa1232dcbf9cc6376363f8ecdfef607df56d6e5c9e8cf7f05102264ce2e592a7b97266140bbe712d8f3ef31a2d2d1e8e1f3f4e4040004141c167b4c57a42a3d1d0e2f571e2640b8d6ed00f1b8edb0b7587dd7c76a48908a39616af8f96667faf4b80060e1e6e66b83e001515a5d94bb3c7d7af6b180ee6e4fc7ecb715155509b9a50bdcd680202a0c57d3e43ddce5bdbe7e6f3f95a3fc4be17c6d5e4411f1c4083e2f19f4755193bf2cc2fe5fc2b4633ff8afe9b86ceebe93cca3ddde3d2f57beaed1484be13afb2a5ec20e68c27c84b8d20089833cb8cb2ff1eb66dd9cbd23f5c8fc1f51a5b767cc665198fb3faee29e7cc043662da37983fcdfff35591063e7ef61e76ffe7739aaf1f45675fe5d02be2591037031d708df1332a973dc30b1fbb9963eebe3cfa930eea19c9d7bf369b98e9c3d170ee585bddd8cb983a35bcdd1ffb1412be37a5dd115e8eefdbc33e359a85578f2190239d7f46f536def8d447f8f5571176c6d7a4bb0a43b259841042f4af868606bcc061ad9698cba3a8f8c90a66dc96caa17a15b7db4ddd1b355c9d9681769401b7db4de2c31ba87e7c33a34e1ca3b683e4fc51a34671e79d77f2d4534fb17f7f2d8b1625f768f6319fcfc70b2fbc48555515b7dc92c4a449930008d0f62df5a0bedec5ded75fe79586f1348498d0068712a8aa040406e36b69c1a30df00f97f2a9d41f3a40f80848fb66df6f941f3eec44a3d1a0d16ab93c22827beebe9b27765b58f3d04a267fed4a683c84cfed25c8dd40e27d293052c71f7ef62b6ebb2d055d7010271b1b515bdb9b66b3b957d75655ff8d6e8046c5c3309d96cb8c617c76c8c50bef1ce39b57a9444e1c813e588bd2e2e5d50f4e50fbd949165c3d06e3a860bc2a68359a73d207ce575b727e770bbbb7dd247ff6b967f9ce77be435fdbdb173dc745673273e8dd3a267c2d02ef912f1877b9912f9ef80dc113a7302c627aafcfd7576e45e1b0e310c38685f813b6020339f9e549c68deffd9ce56d02b51a3c5e1f2d5e95168f8a47f577d7057431a44b55fbbed6a60af8d49e042e5d0726bd0d5c9a0fbec5c79e30e2678f3f1d90044d64ceac5114bffa165f345f8ffee09b7cd41246fcec091d4c5fece6b317b7f0a7c7fec53b070ed314309c603704c5f4bcd72770dc54c6729223273d3d2acf8ce94bb9eb9a4a363d7007ef25a6b078f1ad2c9831ba572babfa1a3ee2356b339189adc148a71fbd97e3b5ef735c7f395f9f1c22a18810428801d5d0d0404b8b97c688287c5a2d298fefc00be82f9f46737333ef943ccef4dbd3081c3e8ae6e6664aaf99c274348c43d3618f0bc0f4e9d3f9e10f7fc8eedd4ff397bffc85db6e5b4c44c4651d1e0b505f5fcff6eddb696a6a2233331393e9f450adbea41e00984c26162527f3f52347b01e55d9f5ee097c81c1b4280df87c5ebc2dcd0406eb701dfc98312d47f87eec157d5a9ba64d7878f8a9c6f921a783dffffe77fcf6b705acfefd26be193395313a1d9ec646f427eaa9f7d452b5ef533493aee4570f3d44505010a35aef5bf769cd1a8d8ad70793c686601e1b8cc7ddc4319787a6662fcd1e158fd73f5cecc4c916deab3bc9be03270908d45277d4cdfecf1bb8761a8c1a11d4ef81cbc54ecebfe8ebb8041b27634afb05ce27f2197fd578bc478f3261868903053f64dac32504858debf5397bcbe3f1f0799d9d9010bd3f680908e4e4c906c64f9a745edd9661c38338d9ec41abd5d0d4e2411f18c0bb9f9fe4eaf0911d1edfd8eca5bec9cbe8904074c1fd3f29c185ea71e9d9c53bbf66cb474ff0d3554fa24dce21ffa7573246b553f6d02f79a917a7d76803d1a2e2ede9dfbe7e2a4b37ec226eef3f78f26fdbf8d5f71fe7c97b36f13f193318d6fdab0115e5f3fd1c6a39c9a1f26dbcd77e574d19db0eddc89ddf0af7e7c1788f61fbb881908828c6c8a2334208210658636323cd2d5e02ae98c141ebdbbcbde551667d7f39a3a366d0dcdccce2dd16ecafede1f87bfb686e6e66b416867bfccb2974351df2f0e1c3494dbd9337de78839292bf919b9bdb69dbf0b1c71ee7b2cbccdc7cf3cde73d44ec6ca186517c60fd045f50084141c168b401adcb5e7839fac9bb5c1efc259937cdc030ecfc56b0d76834a792eb3fd8bf9fe75f7e898757ad4203fcb6a080b56b5713101888d7e3e1e73fff19f7fff857180ce7aecfd7970909b41a0d4d2d5e622347611a1dcc0167132f5b8f12a0d5b0246e2293c7e9d1009f1d6de2b5fd2788983082d82bc6f0de0117cfbd759491c38299776558bf062e5fbde4fc3ece2a16fab5f9347cb484636fec62b4498fafb11ed3643d1ffff6bf897ab8184d3fff41b7a7aa2a9fdb0fa00b0e46f5f9d068b434290a8651a3193ea2e300a3a70203349847eb68f6787137fb983c3a84d2bd87b96c4c088661677e844a8b8f77ea1a40aba161b81773988ea0c0defd21070575bd80d2e959c5ba0e4c7a3ace50f5f95081e089d73025f029deac3944cb55fea159b41ce4f5374f10346526138221784234e1daa778a3fa0b5aae3a73a858a3fd2dea984edeb264e68669c13b9c880e3efab6eb75a727e501403b0cf3d76fe727d72d24b1f06e1ed8f17f7cf0bdd55cab0962b80e1497d2c53a2e1af411379062f49c2e93f738ef3cff128ea93772e355a77b7bbcae3a3e6bd43169caa85ef5e8082184101742585818ef4cbb02fdce27a97e6a3bd3f481bcf5620568b4bcf4d47634409856cbd7f45afe352b0a8346a5450bd669d3090b0bebf6fc93274f6e1d41d2f118039fcf4743c34966cc98d169d0d2d2c7c6ecc1e30dfcf5df9f71a8454fa02e189fa78580200dee2f8fd372e4008951a3f94eecd50406f4cf0d628d4683cfe7e3fa6fc6f3ef575fe5f6bbefe25b0b1650b66b1746a39191234772f8f061de7bf73d0ca1a1783c9e7e99b555553568d01014a8e532e33074410134357bb962d270c61a7478bc3e82b45a268585303d7c38c71bbc1c3aee66fc98114c1c33acb52dd8ff63402e7a72fe40ade33261c90ff8f0fdb7f9f2c8478cd4f9d069544636d7f1f9637f64f2b29ff6f9bcdd711efaa235b1456d9d5fbb8580c0c07e59c305e0dbd16114573a18335c87abd143c4b8113cb8f313a2270d236efa288c2382f8ec989bf7be6820501b802e4843a046c370bd07d3c8e03e0f1beb48bf0d150b18c1d81170f8f57fb1f7403871e6afb32c6522cb37ff8cdfe832b9792ad8caff42f1679348fdc5751834a0099bc77f258f63c59695acf2dd4752cc38024f3a69305f4fdca42b19cf93fcbdf81f8c4e8c64b4d6c1e78d5d5c6f62d7c5d38eeabe3c2d5fbcc4537b616aa489909643d47cf4258c18cb88002070223111813c55be99ffbbf2362271726cec37499c7a9c57dacf2a163c0243fb58d1eb41a785c090500cc3835aab0315f7d1837ca919cdd74649778b10428881979393c37a60bc17661edc8feaf660d668d01bb4781bfdb7e302f43edc2e2f97a92a6aa0ca5b13afe08beb13c9c9c9e9f6fc6fbef9163131d19df62468b55a66cf9ec3abafbe4a646464c727e94357c0de8f8f50fae661dc81c3d168b5789a157c9e1602151733c668b839318aa9a6737b3cce9756abc5e7f391bbf2c73cbcf6373c57f10c9e160f57ce984163531363c78ea5c5d3824f55fb79a9097f6f4f8b4765ccc820e2ae0c2328408b4f05afcf47b3d78771948ed8a9a3287bf510ffa93d8a61440827154fbf26e5b71988e4fcf3cb71399f5f8646cbe5b9ebb1fd389561610d68952f196d08e1d37f96e259b28c4043f7117e6f793c1e5c274e307c58085eaf7fd6058fd7c79488cbfbed1a574d1ac1e5634fe0acf7a2aa1a9c27dcc44e19cd89c66676bc7e189faa3276849e613a0d5f2acd8c1d11c849b7ff8fadbfffa63a5bc7a5b3e33a1538919b3217f3f2da3236ecb89e392ba3895efe677e376c1d1bb73ec43f1b6044441ce9bf5fc9dd57b5e674684670ed8a4dfc7654218fecfc2d3f2ff6817e12d7afbc96ebbf7d0fbfce3ecaef1e5bcf4f9ef247e93ac344a2cdadb36f9d7dbd1f7593f0a719d66d793c47f7f3e2634ff2a7232d4020a323e793f5cbbb99160c10c6f52b7f4cf5aa3ff3c843ff86a071ccfe7e340953bbfb843be2a5e1c849d05fc608895b8410420c0263c68c3915bcf04f1fd33f7e9f008d86e6e35eb4011a7fcac131151ffe5c890fcc333894f06d727272ce5893a5233e9f8fb7df7e9b3beeb803f0b729f6ecd943555515e1e1e1dc7a6b0ac3870f63eedc39fcf18fffe6f0e1c38c1bd7f7b4009fcfc7c1130a4fef3bcc1b5f34f97b7a1a8f303cc0cbf8e1015c317924575f7639978d0bedb75e968eb40569ab1efa0500f7de9b4edd679f9dea91090a0c42abd5f679dd96b36934e0f3418bc7474b8b8f80400dc1815a3c5effa2923e15bc1e95a000d0076b193d3c90668f4a201e268505337e940e77b38f8080fe6d6c5eece4fc9ec61e1d952468f90f329a0b7eb7ae4f176ed3f4e9877cf4935422a6e80844c5fec99784ff6e2721533a89c8cf83dbad60fff823f42121a83e9526a58929532309d69ddf98c7b33535fbf8c3730768f16808d46839d9e461444820c3748168351a1adc2db85b7c848d0c66d4700d53c6ea898f1ad56512ffd994a646de7ce33fcc9c752da6f1e77649b85c2e8a8bb7b262c58fba3dd7860d7f223dfdde0ec7610a2184106268387af428ebd7af67cc7315447e6025203800d5877f65f540f0babd7c38238623890b7b14b400d4d6d6f2cc33cff2a31ffd90a6a62676eedc495d5d1d5ffffad779e71dab3f0fe28e3b98306102bb77ef46abd572cb2db79c718e9696162a7697f1eda445b43477bd9ecbe1fa26deaa3bc1912f9b1816082375818c19a9676ce830460fd711121c78417a173aa2aa2a3e9f8fcf3fff9cfbefcfc2a7fa080919c6975f9e2428308047fffa28932676336ca48756fd5f1d0fdd1145d8c820c003f8d7873b834ff5b7d8552dc71bdb866f6968545a98343a90138a9655dbf6f3706adf16df3c9b46a365c7ce9dbd4ece5f70c30d7dee71c9fde94a363db2e536a009686c7d34b4fbb90950fa35c7a5bd90886984affc1d1ffd7625815e8590af27111231edbccfdb119d4e4fc888919c74b9d068344c0c37f77bd0021012ac25f7e608fef0dc011c27dc840d0b46abd5d0e0f68fdfd46a340404c2912f9b983ec140dc3443af82963601015a7c5d64a7373535f1f0c36bbb3d4fff76630a21841062306adff3b2ff6b733a3c66ecd8b13d0e5a003efbec73c2c32773f0e0419e7cf249468d1acdfdf7dfcfa851a3888b8be39ffffc275bb66ce1a69b6e66ead4a9bcfcf22be79c2340abedf114abe34243f8d655dd4fbd7c3168349a536de15ffffa57bcf5f6db242c5880e585179879f5d5f8fa31f763c42813ef1f09665c0b78bd41fe052739dd0e575bffa3aa8006820203fd318c0a5e35984f1ac07ea885006dff65e77fe592f3cf27c7a53dc3753770f58ebd784e7e49d0a8fe1f22d6dee470339e091e0202022e68441e1ca8212f29829a4fbfe4e9370ff3c5f126ff6a403e30860612651cce37af18d5ab4527cfa6d568513b990e39303090a54b53f17abd5dfe92dbf64bf0228410420c7d63c68ce1e1871feeb7f35d73cd4c1e7ffc093efae823aebbee3ae2e2e24eb5af82828258b87021d3a74fe799679ea1a9a989050b169c730e6d4040cfeed80f5266b319b3d97c6a31ce7befb9a7dfaf61d2b9a8facf313cde9e2d22d97ef16c8d0adac02074013ee2a787f66bb93c9e167f07d04572d1d771e98c2630e882072d6d2e66233d366224b11d4d997581e9743ac68e1d8ba707516d606020ba0bd0f32484104288a12d2c2c8cecec155d1e73f9e597939595d5e531176469868be4744eb17a6aca64f0f7c8f4d74df27be65ff8e542be0a06643a6471e10506064a2f8a10420821c405d6169c9cbd15fdafa7b14787d33204044ae03250341a0d5aad1645710f74518410420821faecd01707fd1304f5f3aaee62e8e969ec7141735c44ef050404629a3891fd1fbc8b3e44cff8f113d1caefe38269696919e82208d167cdcd7283437c35f9bc3e7cbe8bb7b89db8f89a9a9a78a3fa35a2af9e25bf6bd1adf3cc7191a14803253028888993261312328cfdefbfc7ebaf567da5c7879e8feee60e174357705070f7078921272048feedb91469b55a19a23e246988be7a16e34c263c72935074a3a7b187e4b80c421a348c1b67c4641adfe3690485104208217aed020de352f1af8522418be80949ceff8af37abd78fb719e7021841042082106a3f34ace971c17218410420821c4c5d0d3d8a3e359c52470114208218410425c04e737542c3000abd5daaf051242082184104288b39dd774c8010101ccb8f2aa7e2d9010420821841062681a6d1809c04b2fefe1c8d1a3dd1e3f76cc18ae9fff4d00dea879ad47d790e99085104208218410e76d47d9532c4ef96eaf8fef69ec21c9f942082184104288f3f2d2cb7b7a15b4002c4ef92e2fbdbc4792f38510420821841017474f868775f6baf39a0e590217218410420821c4c520818b10420821841062d03bbf05287b38259910420821841042746547d9535deeef69ec213d2e420821841042880ba22d68e92a7839cfa162321db2104208218410a2efce0e563a0b5ece6b3a6421841042082184e8abce8294ee868d7545ba562e518d8d8dbcfcf2cba8aa3ad04519125455e5c61b6f44a7d30d74518410420821065c6fd774e909095c2e51cf3df71ca9a9a9035d8c2165d7ae5ddc7cf3cd035d0c2184104288214902974b54505090f4b6f433afd73bd045104208218418b22470b984f97c3e341a0daaaacab69fb64208218410e2c290c0e512e5f3f94e6d351a8d6cfb612b8410420871293b9fc4fb9e1844818b8bea920236945ac168c4a0d783ce40745c2475956672d72760b8d825b2965352b486074b6d1099caba5599a424c55cf4725c285eaf77c01bfb436d2b8410420871a94abe25a9d37d0d0d0d1d3effc28b2ff5f8fc832370516ad9b424910272d9be6d2db34f45060eca7316b166df0a56c0450f180c31492ccf75525aba12eecd253dc97c914b70e1488f8b042d42082184105f2583601d1785ea354b78b02696f59b97b70b5a004c24ad7d8255912e5c0355bcb6e96df50355800bc7e7f3a1aa6a97db437bfe4276d26c2e1b3f9a51a34671d99cdbf8d98e0f686a3beec05f986dba919d87ba3ecf806c1bf772ff65fe728f1e7de6f6ea9fbf43e3a71bf9e6f86fb1ed0b1feafe3f32db94c4ce137dbf5e87392e8a85c5616144a495e13863878bf2e409ccccb3a2f4fa37a7602d4c667a58186161c994bcb189f80989943880da42e64e48a6ac3fbf30f64dcc9d904899a3fb4385104208212e94810f5c1c15ac29aa4397b09c045307fbf5512ccd8c3bdddba2d452929745564e0e19c9f124661453ed0270515d9cc1ccb030c266665156abb41e5e46cedce92cde54ed0f7e5cd514e7e59095914cfcccb924e75b70a0e0a82e212f6d2e7333cab1e427121136939cca735b7faeea32f2d3e2999961a1d6924ff2cc09844d8827a7dc81622f23273182b0b009c4e7585a832d057b590e696939e4652d267e6e32f9edcfabd4529293414e612139c9118485851136339ee4bc6a7f83b6c3f2fad56e4a24627a06963e3452db1ada5d3d0e94a43177d1069c0b1e62fb6beff1de9b2fb1f95e03e5cbe6935672a0f53880eecf35300f5081affde125de7befbd331ecf3d148d6edc421efeeb43cc0b3d1d749cef353b535f91c5b2127bef7f511d516c941557617cf865de7f7f1b4baf4c62ede655c40d95318c42082184101d18f0c045d957460d109910d9e95030434c0cfe98c641f9b2259446e7b271fd7ab66cdfccad75792c4a2bc68e81d9e91bd9786b28e823898ef27791e8cd91986357b17ef96c0cd829c929c5b8623d1bb73ccdf3db16e2dcb08465254ed01b50ac366cfb4ab1c6ae2037358e48c3d98b092a6030e2b6eea36e5f1915ae1436bff232ebe6d9d89ab58cbc32487de26ddeda9c807d6b1ec5b580a38c655916ccb96b59bb711bebe6d9d8905786bdf57c95794b287067b2363b9bf5dbb6706b281813d6b17ded6cf49d96d71fbae84de198cd2642fbb0e661b73d0827fe455e5e05e65f3fcb633fba99af851b1937f92a16fce07f78f2d70b70575bf9a2ada70117951bd2983b710c63c64c617ec6dfa86df29fe744652169f3a73066cc18c64c994b5a61e5a9d71ddff3c733f7fd710f8754159fef5376e62ce29a29631833662233e66750fc4ed3a9f21d7ffd7f59367f46ebebe693b1e9754e74f23e0074e32663341a19376edce9ad4ec577a89c07ef5bc39ee33e54406d0dc07c3e1f27aa8bc968778d659baa39de971e17005d280b5263a859b98c4db59dff4e5c9585a4c5b706af11fecfea9c4e0ec54a7e62321bea60df9a6412f3ac28ce72f296ada183381b57753119f1d35bcf194f465b00dfd1f5ab379d796c71fbdea0d6dff18430c2c22288cf28a1f5de4017e5b6539693cccc8830c2c226303d3e83626bbb33765636fb26e22392c9cb59ccdc99d3899810417c46f1a9eb09218410e2d234e0818bcbe1c40de80d3db85d5c5b449ec5404a426bae893e8aa5b90bd155155058ad007a62b397126e2ba6b4b581a458cbb02f4cc00c28d62236d438a92a2da4b0b090a2321791f362d1395d1862e28833832e3c9df4a424966fdcc8f298b3c787e93144c530cf0cbac8543253623019a248498f05b781a4cc14669b0c98135289c18ed5a9803e928529292c34b706520603b8ecb81440b15256518721d6e41f89668826290a9c36ff67d279799d288039650baf3cbf96d97d18c6d6d6c86e9febd27edbf84e2955f5d1dc7dd3e4b3f60713f983c7d9f5fb9b30013e9f0aee0fa970dccca3efd6617be1d7185ff8092bcb0f817d2bb7dfbe01f79d4f62733af9f0a91f40d1eddcf3880ddfa7ffcb1d77fc09e58ebff3e1e1c3d89efa3e3c7a07776fda8fcbf20b7efcc2347effefc3389dffe1d16fece3c11ffb833ddfa19d7cff8e5f60ffee23ecab3b8ceda9bba9ffdd1d2cdb79a8c3f7d1164a74f63e4fef6fed71f1f9c0b18b65b73f48dd771f659fddc9874fddc389dfddcef777393a3d4fd7392e7accf76e6663422d0f2e2bc4da5103dc5ecc92258528a9dbf9e4d8313e793a138a9670d7d9918e3e86d5cf3f4d66b88e79db3ee0ed2d719d8f62749491b1248fba94cdbc7ff0189f3c9d8eab6009191d8df9729491b1a40057ea13feeb6f4bc09697465e756b61dd362a1c0bd9fcc1413e79792d46cb4a565638ba2cb7cb92478e2592f57b8f71ecd85b6c8edb47decad6a0bd9bb2b9ebabb018b279feed0ff8f4832d4456e5f9af27841042884bd68027e7eb5b7b3514974277e9f78e9a2aeadc068ced5a6a86e804a2d845cd3e27cc36a38fb997f4c8228a8aade4ae8fa266978ba45c7f7f8ddb66c56e4821333b9d73d3ec5de8009d4147d71d183af4671da0d3ebd0b5cf54d0f90be80630cc267b630cb5e59bc8af72e2b6bbdaf6d09638e3b2b9f0875d7a743a08351bd1755bdef3d3be47a2fd30a9b6ada238a9671ce1e3d4d38dfa0e8ef3b7fca7f1fd1fdfc1552381ab6ee2eee89ff0d0be13ec776e65dfb49f5079dfb584aa2a5c75376b7eb295b847cb79597dcabfeffb5f63a4cf0757ddc39a1f3f46dca3151cf85d28baba2afe5eba93e09b17f0b55f55f91bbb3e1f0ecb235419eea6e2be6f302eb8f5753f7c9484472c1cfaee9d18db97afb5dcffbe671ac6f66ffeaa07a97ce14744fa5afb5954df19efe990a5887f1beea6e2beaf334ee72ff7af7ef8080945161cdfb91363479f03dd052f4652366ea47cee5d2c2b98c7cbaba3ced86b2f2fc61a99cbdee5b3fddf829874d6e61633b7a882dae5514475c6831b62000020004944415478ceae392c455419d2793e330e93bef59cd945cc2fb2e048594afb91998eaa62ffb1e9add78fcb65fbf329b8cd7afcdd209164e62e25c600c424911eb3923cab0b9ba3f372dbd719d0d75551525a866e6102b16bf7f2454fcab619d045736f7aeb1051432c2991b0c6ea82948ec6930a218410e25230e03d2e86c80422017ba5adfb2465b702b870b61feba237a003f46d49f4449192198db3ac882a7b2565a430af351e5270e3b65bb09d3556c6e5b8806350945a4a321259e38c2377ed6a32e7b56b42eb2349cf8cc6595eeabf0befb26271c692bd2206fd45286f57b91ac1a1e18cc385d3d5c1fe26078e13ad3fa3822e94f0d0b6fdc104eb00a59ec3362718a732aedd6bc74d0b47e7da8ffd83cef67d88726d01a54537a03cf330a971515c167d333fda6aa5495539613b8cbbeeaf245c66c264f23fe21efe1077bd0d4753c7392757ad29a7babafaf4a3f46ea6b595ddff41706a94571faed15d7ecb298624d66f4e45d9b08cbc33c67529386c4e30469d11601923cde85c367fef5c1fb86c0edc7545cc9f18e61f8e1516c6756b6cb85d369c679dd365778229b2dd4d013da69818cc6df7127486d33fb705efee7a9c5d945b895dc7f6cd09b82bf25972dd14264e4f24ab75f859976573b75effac1b044aeb430821841097a6010f5c884a2577818efa8a02ca3acc5d56a82d2fa75601436c2c466c945bdb27b7bb70eb2259187bfa4eac796136f3dc15e4e79562b835f6d4501a437834c6fa0af24b6a4f37805c168a2dfd9434dd0197258f9596483253633a18d2a327267d2d99b10e4a0b0ad9545c43ec9fb793dd9a9f7321cbdb5d8e8b6eeaed7c23f40d1e7bc67ecefedac752b97af60fa86c6ccb7139f37cfe8e9820c64c0d05a70d47bbd73b6d75b843a3981c6500a70d67bbd7396aeb701ba612eca8c5357525fffb8fbd7cfac9db3cbd721ccfe4fe94bf1ff0113a6d1cbaa979bcf2c5171c3c78902fbef88283efefe5f59d2bb932b883f703844ebe9cc993273369d224ff76ecc8d6fda77b4ada823055551939751cba6979bcd276fe8307f9e283d7d9bb2387ab745d7f6edd31c4ad6373266c5d9687c575bae7cd146900672dce76c73a6d76dc86480c7d9cd1ce10694217b98ad78e1de358dbe393b7786b772e678f8234980de0681fd028588bf3d9d451e2cc293a8c5d945befb4e18acc65dbf36ff3c5c1f7792ed748f9ca9594dabb295b1f72b68410420831f40d7ce08289948ddb483556f1c0922c4ada072538a82e2ea0ca1847941ef431d9e4ce83170a8a4fe509d82da5b8125691da7e2c8d2981cc04d8678d24a55d0b4d3f3b93cc68d8f7e07c16651552bc299f8cb412cc09fe17bb01b79b33b95bcb73aa41e7467183ff3fed0e3be37f5af36b5a4fe8aeafa2d4528bbdba8ca20a3bb81cd86a2aa9555c9467656131c4111b63c6643663705ab1b6f6a874575e7b491af1897954f7e1367477392ebe91d791977f3defe6a690fee767b11e3884b36e1f963fddcbd2d51ff2f59fff9c6fe8cfca0d69f77a5495c937ddcd551fae63d5e3fb38eef3e1daf7380ffde143a6dd711371df4ee3aa0fd7f1d0562b2ee0b8752babd67dc8d425df66dcbf57b3f4b6153cf9a1822f782c46a31e9d2e94501d8c9d7f17d71efe33ab1ea9c609341eb2907bcb5c92fee0bf93dfe71c17f5f4fb30de7017d73affccaabffe87433e1f8af3457e9a34875bd6bd4b639f725cdad3337bd53656182ad8baeff4b3e6a47b89b1159057ecff3c5cd662f20a6c44a62eecd330310053c2bdc43a0ac9db548d03501c167212af21b1e0dc29984df33299e72a26bfb4f5fad545accc2bc3a6eb3a8a08efa2dcc6ca3c9624675152ab80de84c9a843af0bc5a0eb5dd984104208216010e4b800604a60e3ded74858b386c2b499acc184d91c8ed118c5c2ec55a49f0a3ecca46fdb8d92b392658b2a898e3480219527362771e6c877030999a92cb4a69e7567398aeceddb7165e55054ba869af005acd8b8851493426d7921c535e0a680827223d94951602da7ac682bfb00b616b0c9bc94787d35c55670eb8b29b68493125e47e9a61a7043715139e1a991d84a8bb1e2864d45d4fc269715b1696cb86b11b67bd7b22e3b89b2b44aca6cb92c8cd3e18e35612fcc67e5d6fa76c14f24f7ee7e9ef5719d95d77f94e27462b3eba877d3eb7566bacb710198b46433cf8d5ccf6fd6e792bcf6306e2074eaf52cd9f81c3fffce64ffebdb4d87ec6bcd19f1f94f826f52069bb729fcfc678bb9f267f5107a25dfcedacc13f75f8ecae56cdee6e6e73f5bcc8c9f9fdeb72d6b2a6359cfc6ffe4f0cb6f5dce7fbbfdd74cdbbc9e45637da82c61f336173fff5906d7fcf230308e594bd6b37df5b504b7f6b09c9de3c259b37e9db95f45f5f94e0d15535515dfd8b66bfc17b356b7bfc62c74aa7a3ac8e964db2d7d0cb94facc272dd9ad3337c9997f3c476372b57263365653d8446b3307b1bdbb3fb1ab600a6a56cdbee2267e55dcc78d00918894dfd33bbd7ce3ef7cfc594c2966d76b2daae6f8c2575dd76d6ced643571d7c5d94dbc44636d76491377f220fb821347201e9db36b6fefd765136674ddfdfb310420821862c4d07cf05ed7cf26fcd377cebe68b5e984b8f83b2bc228cb9abdbadc1a1e0a82c22ab2c966debbb9831ea3cfdfdef7f273939195555d16834b2ed87ed3ffef10feebcf3ce0bf41b134208218418bc2c160bc9b72475babfa1a1a1c3e75f78f125b4be666ebbe37bb7014d4063eba3a1ddcf4d8032387a5c2e512ecb4a0aece9bc7cc6646a7a4c6623e618e3050b5aa0673d2eb2eddb560821841042f43f095c0690cbeec45691c7ca9275ac488ac5ac0397ad82a2622729abcf6388500ff478262cd163f2790a218410425c3812b80c2073fa13ec56f258b36609d73de0065d38f352b259b5369bd93d588ff37cf97cbe011f5e35d4b64208218410e2c290c0654099885bbe85e7975ffc2b37373703a78317d99effd6e3f15cfc5fa410420821c4254202974b54424202ffeffffd3f02020206ba284382d7ebe5c61b6f1ce86208218410420c5912b85ca2c2c3c3b9e79e7b06ba18420821841042f4c82058805208218410420821ba26818b10420821841062d093c04508218410420831e849e02284104208218418f42470114208218410420c7a12b808218410420821063d095c84104208218410839e042e42082184104288414f0217218410420821c4a027818b10420821841062d093c04508218410420831e849e02284104208218418f40207ba006260ecd9b30787c331d0c51043d49c3973309bcd035d0cd10fa4ae101792d4154288de901e974b94c3e1c064320d7431c410240d91a145ea0a71a1485d2184e82de971b984391c0eeebbefbe812e8618628e1f3f3ed04510fd4cea0a7121485d2184e82de971114208218410420c7a12b85c64aef234a64fcfc0e2ea68a795b2fc34e6ce4cc3a25cf4a20921069482a3ba84bcc573999951895401420821c4992470e9078ee278c2c2a6139f984c72723cd3c3c2089b3097c4e46412e36732216c026995fe6688ce3c8f848438c2756daf56b05bdb125f0d18b161734a934588af0617969c344aece7738ed37580de64069b0d67bf944d082184185a2470e9072e6278f8b5b778e5f9a7797afb4652c281796bd9fdf4d33cffcadb7cb03d1da3db0d803e66391b37a613a56f7db1bd94bc52bbffeeaac14c4cac7180de8510a2d71ce5146ead6043716ddfcf71aa0ed06330c7102bb9ca42082144872470e907a6d84c969e8a44ce65989749eae92e96d35cd5142ecba3a6ddb0315de7a711420c32b56515e86243b1956ea0ba2f1da51dd501fd563a218410626891c0a51f18626230747580deccec283d38aa29cb4f237e661a16c54575d9562cb56e9c95056465e5753cdcc4554d715e0e5919c9c4cf9c4b72be85b68165b59b1289e82c5f4608716129d594ee5bc8fa3fe712ed2c63c3395f4407d52539c487853133cf8a02382a8bc99a1b4658fc26ec745107b8ddd8ca72888f08236c7a3285d6765191524b495e165939396424c79398514cb50b4ee5c8a4cd656e463996fc4422c2669253e992ba420821c4902081cb45a4e80d18dd36f63915c0c0ecf4b5a44741685c2e1b37ae65e9394344ec94e494625cb19e8d5b9ee6f96d0b716e58c2b292b6f1f0e198cd2642e516ad10179dab6a17a4a6608e5a4aee02a8d850ce99cb349a98bd349bd4e876cfc4a5929910defa7f9dd7016e6b09165d3adbf7becc2a631505f916fc318783f2654b288dce65e3faf56cd9be995bebf25894568c1d406f40b1dab0ed2bc51abb82dcd438220d3aa92b8410420c09b28ecb45a437441133cf08c53d3b5eb116b1a1c6494269213600978bc879b1284e270a26cc295b7825e542965808d13107164b34a96bf5809e84dc74c2bfbd81d2daa564479d79645f467fea62d2c94c8a410f2c4c08674d850d0760a82d22cf62207b5d6b84a38f6269ee420a961450589dcafad971c499a154974e7a520286a424ff71315257082184f8ea93c0e522eb4d0e8bdb66c56e4821333b1dc9d7156210a92da3c45a8521c3d2fa840bbdce4651513599eb67f729583943bb9e11bd510f8a0bb7028e9a2aeadc068ced2e60884e208a5dd4ec73c26c033a4067d049ae8c10428821470297414cc18ddb6ec1e64ac7dc2e89c6e5503098248b5f8881a1505d5147f6b66dc4b5fb5eda37c5734dc106aa566f23a1cba4b7be70b76e1440c1e9825389757a7fb0824e4215218410439be4b80c6286f0688cf515e497d49e5e8cce65a1d8725e8b460821ce87ab8a52e74262cf0a4ecc49e944d7575058de3ed345874e0f6ee5ac29c7dc7dbbb42136162336caadedb2ec15176e5d240b634d7d3ba9104208f1152181cb85e006dc4a876d13b7c2198d164328d4db6c38edd5586a9533f6eb676792190dfb1e9ccfa2ac428a37e59391568239c13f88de5e92467c625edfa6611542f4496dc9265c0931e70e0733cf232512aa3614517bea3b69c01c1e8ad3528ac55a4b75590185954e70d4506375a0d0411d009d0636fa986c72e7c10b05c5b44d3466b794e24a58456a6b6e8d1b709ff57aa92b8410420c0512b8f427473565c5859439819a0d149458da356040b15b282eb602356c2ab260570c442f4f25d2ba92e4bc7d183555a7f7175bb02b51646fdfce8a0546aca56b585964c59cbb9e94d61bab8ad389cdeea0be8f776f8510bde1a2ba248bbb1e7c81aae262cadb7fb951a82d2fc562076c1bb82b6b1316bb02e889cd5dcd42b67257e25d14292964c645121e63c0e57203edeb8037f1be5744710db86b8a28b6d462af2ea3a8d40675168acbacb83093be6d370f4796b16cd16232b232c8df97ca139b9330a1505b5ee87fbda58082f25adafa65a4ae1042083114683a782e68e7937f6bbee15b375ff4c2888b67c78e1d00dc77df7d035c1231d41c3f7e7ca08b20fa91d415e24291ba4288a1c562b1907c4b52a7fb1b1a1a3a7cfe85175f42eb6be6b63bbe771bd00434b63e1adafddc0428d2e32284104208218418f42470114208218410420c7a12b808218410420821063d59c7e5123675ea5419632c84e896d4154208210603e971b9444d9d3a9559b3660d74318410839cd415420821060b095c2e51d2101142f484d415420821060b095c84104208218410839e042e42082184104288414f0217218410420821c4a027818b10420821841062d093c04508218410420831e849e02284104208218418f42470114208218410420c7a12b808218410420821063d095c84104208218410839e042e42082184104288414f0217218410420821c4a027818b10420821841062d00b1ce8028881b167cf1e1c0ec74017430c5173e6ccc16c360f7431443f90ba425c48525708217a437a5c2e510e870393c934d0c510439034448616a92bc48522758510a2b7a4c7e512e67038b8efbefb06ba186288397efcf8401741f433a92bc48520758510a2b7a4c74508218410420831e80d8dc0c565a52c3f8db933d3b028035d983329f64a8a7392991b9f8f7590954d08f1d525758b1042884bcd00062e0a8eca320ad322080b0b63c2dc6416a72d26397e2633133328acec4d32a80123366cce41f8afb7ce88d165c5e672f7f0050a76ab24c20a717e14ec9525e42f9eeeaf5f92f328b1d8510097b5849c99618485cd242dbf845e55358349afeb16218410e2ab6d0003173da6b814325724614447c2baedecd8b683a75f799adc500b6b162d22afa7b7110d6662628d17b6b87da437451113db8be4437b2979a5fe069610a2aff498e396929b9be0af5fb257b134c18c1e30180db80c0b58f7f25eb6ad5e4adc5734efbcd7758b104208f11537f043c5f486b39e3093929d402836ca4b6d3d6ec0ebf4fd5db001e0aaa670591e35ae812e88104385ee8c0dae6af2b34a89ddb88df498a1506908218410978e810f5c3ae076b9700386480367342d5cd514e7e59095914cfcccb924e75be8749447a7c72ad8cb72484bcb212f6b31f17393c9af6c8b1414acc53964e5e4919316cf84b0b96cb2f7e1da8a9db2bc3432b272c8ca48236f97bdfdce4eaeefa2ba6c2b965a37ceca02b2b2f228b1777dddda4d89444ccfc022818e10dd7355939f5180217733cb3b0b5a3afcbeb9a8cc4f644258186173f328b7fb6fa728f632b266469098ff2ccf152633212c8c88c5c5d4ba5c54976431332c8cb0b9399459fddf6f6bf162a6cf4ca3a4b6f5768c524b495e165939396424c79398514cb50b40c1515d425eda5ce6669463c94f24226c263995ae6eeb96ceea2fa92b8410420c05836e3a64c55e465ede0bb8a333599bd27e18849d929c528c6bd7b3d1048a359ff9f397b02cf27d9e5e7af6588f2e8e4db0b02ccb42ecf37b591b03d539d7f0edbc32d25f49c76c2f25af2c868d4fa7634621356f1935bdbeb68bca954b288cdcccf36b63d063a738f11a2ada763bca3abdfeecf4b5a49796628dcc65e3c6d9e8b15392d1f975f5a670cc6613a13a84105d715ac84b2b42b76a1bd9b33beb69e9e27bbefa09d6d5cce001628935fb5faf3746628c5c4a66ee4dc4e8af6455d9356c3045633618d02f5dcbfa8a32d25c71cc8bf1f72a47464691b076054ba3f48083f2654b285df8344f2f358352cba645f35994067b9f4e45a737a0586dd8f4a5585356909b5a0106a5ebbaa5d3fa0ba92b8410420c0983247071632dca23aba082d22a58b8ee39de4f9d8da95dfb42b116b1a1c6494269213600978bc879b1284e270a67060f5d1eab8f64614a4a6be343416f3080cb8e4b01c565c75e53416179026b93cccc5e91895edffdb5cf6806d94bc82bd391be37a6f5793309b7464251ebfe2eaecf59eda9eeae6b4ed9c22b29fdf31b1062e87253539045850d16d81c28b30d677fd580eebe6f312465df4ade92222aec29a49b41b195618b4925520f6026293d96070bb652a3cc264e6f203cd68c7b4d3116470a4b4d2e6a2a1452725bebaada22f22c06b2d7b5de9cd147b1347721054b0a28ac4e65fdec38e2cc50aa4b273d2901435212d83711df45ddd259fd05485d21841062481824818b8e98ccb56c344662bbee416a6aead1a79f7984db66c56e4821333b9d8ed251955e1c9bbd3186daf24de4573971db5d807f561e7d4c3ab9f38a79e0ae6b288bbd97b5eb56b334065cdd9caf3d47e52ef6b98d98cf982ba0dd6d4ec3ec4eaf7fb6eede8710a22774c4aedacebca2453cf8c02296e99f675bcab9dfa8eebe6ffa79d92c0d9f4f61b195d4d591584b6dc4de1b732a08322fbc97d8bc3c4a6bd611176ba3c21acbbcd052b656d8599a62a38214725b53fa1c3555d4b90d18db455086e804a2d845cd3e27cc36a0037406dda9daa3bbbaa5b3fa4b082184182a06578e4bd47236af9b87b3348bbcb306632bb871db2dd8ce1aa3ed729c9bbedfe5b14a2d251989ac71c691bb763599f3dab702cc2cddf1362ffff95ea26ab7f2c0fc78722a5dbdbab6dba5006e3a9da1b4cbebf7e27d08217ace10c3f2edcff3f03c1715cb12c9283b3743addbef9b3e86cccc68ea8a0ba97158d9659f474a54bb034d0964c6ba292faec15e558a73e92a562519a9292ea7bab21c16c6726a2a12b702b870b6bf96de1face8751d8fe7eab66ee9a4fe12420821868ac115b800e6f48dac9be7a2342387f276ffe61ac2a331d657905f527bba77c565a1d8623fe71c5d1debb2e4b1d21249666accb9c345ec162c7603314bd7f3fcdbbbc98caca3b4a8065d6fae1d65448795f24ea606ebf2fabd781f42885ed2fb839755b12e762d4b24abfccce0a527df37734a36f3dc15ac59b3017b42d2593d3326e6a5c7e2b6ac21bf4447ea3c1331992984efdbc083457a6e8d3dfd8d37c4c662c446b9b55d3da1b870eb225918dbf1fcccddd52d9dd55f729b430821c45031f0818be21f2ae572b7dd463493be711df3dcbb589651425b93413f3b93cc68d8f7e07c16651552bc299f8cb412cc09fe5b9e6effcdc8ee8f75bb71d757516aa9c55e5d4651851d5c0e6c3595589d95141656e20230c4929a108939d2d8edb5db33cccb26d558cfaeac1cffec414a2d168b1d9c56ac363b4a17d7af55c0100af5361b4e7b355586ffeaf2baf69234e213f3a8969689101d73bb5000a5ad7ad1c790bd7b372ba2eb28bd2b91acb2d36b26f5e87b6e4a207ba18e9a52270b179e3ba0cc9490c93c770dfb625289d1833e3295947027f6c85b693f91993e269bdc79f04241f1a955efed96525c09ab486dbd9c1b70b7eb5de9ae6e39e1eab8fe02a92b8410420c0d0318b828382acb28da60c109d41414506269bdd3695ecae6750be08507884fcca2b0ac168528b2b76f67c50223d6d235ac2cb262ce5d4f8a0914bb85e2622b50c3a6620b76a5f3630d09b9ac885528bd6b11cb4a21353b09a3bb86329b91709d1bfbd645cc4dce202f2f8f222593cdb931e8bbb8f639f471acddfd67528d161eb86e0a33976c458932131e63c6e554babcbe596f207a792a91d69524e7ed23dc1cdde57515a7139bdd41bd2c9c2dc45914ec952514145aa8c74d55411ec56df58bcbd97a8fa38ed265d7303f2dafb557a527df7303f3329712bd2093848ebeff863896a7dc4a6e5bf4a18f21357d21a9e967f7b09a49dfb69b8723cb58b66831195919e4ef4be589cd499850a82d2fa4b806dc96020aca6bfdc14837750b74567f495d2184106268d074f05cd0ce27ffd67cc3b76ebee8851117cf8e1d3b00b8efbefb06b82462a8397efcf84017e182725972c85356b331e9ecc5738726a92bc48532d4eb0a212e35168b85e45b923adddfd0d0d0e1f32fbcf8125a5f33b7ddf1bddb8026a0b1f5d1d0eee7264019f8a1624208f195e1a0b20c52e22e8da045082184184c06c974c842083178b92af3c92a726236baa835e6b24de216218410e2a2931e172184e886e2b251535186c5bd90b5b9ddcf082884104288fe273d2e97b0a953a7ca1863217ac094b48d0f8e0d7429068ed4154208210603e971b9444d9d3a9559b3660d74318410839cd415420821060b095c2e51d2101142f484d415420821060b095c84104208218410839e042e42082184104288414f0217218410420821c4a027818b10420821841062d093c04508218410420831e849e02284104208218418f42470114208218410420c7a12b808218410420821063d095c84104208218410839e042e42082184104288414f0217218410420821c4a027818b10420821841062d093c04508218410420831e849e02284104208218418f42470114208218410420c7a81035d00218410425c184d4d4dbcf8e28b035d8c33a8aaca8d37de884ea71be8a20821be6224701142082186a8679f7d96d4d4d4812ec63976eddac5cd37df3cd0c510427cc548e0228410420c51414141a8aa3ad0c53887d7eb1de8220821be82247011420821862855554f3d341acda0da0a21446f4972be1042083184f97cbe41b9154288de921e172184106288f2f97ca8aa8acfe743a3d10caaad1042f496f4b80821841043d840f7ac488f8b10a2bf48e0228410420c516df92ded7b5e3ade36f2fa7f5fc1a85151fcf7eb4ddd1c7f886d379a98f397031decff82bf7d6b3cb3377edae5f524c74508d11712b8082184104354fbe4fc2e1f272ad95061e0d685ff9fbdfb8f6febaa0fffffba926cddfcb295e687d524add5d2124169ad5220e26754e8880a745107c562bfa26eb0080644dd808af1d9d0d846c5f61d5547f944e5c72206ac0a05a2f281468596a850880aa5517f1185fe8892b48dd2348d9c5fbeb6259def1f574eecc43f133bb6d3f7f3f1706ceb5e9d73eebdcefbe89c7bceb9767e78db7d5446d91f0530fe6d83f61342887192868b104208718e1aeb1d97bd3f4ef0604b904fff9fb55c78ff6dfca074f2f6cf728367090b162cc173c39778b08be3dbcb3ff98721b68d9c9f345c8410a7431a2e420821c4396cf4392725325f7b824b3fd9c9a59706f8c4554ff15f773cceb1feeda5f5acf99b0c2d9ffe397bf63f493ad0c5cf9fee015587dd77f0971ff9212d9fdec2ee179f6063a08bfb9fee1953be4208315ed27011420821ce51a3cf6da9d3fdf81ddcb1fb2d7ccabf887a7d11577fea9d18e9ffe2571573fbaecd699eb8e4137caef3129aebf3b8a4f3737cea323ba028dd73274f5cf2493ed7f92aecaa8557757e8e4f5f668751eeb848e34508713a643964218410e21c36f2b02c83df7d6d237b0e1de243afbe10bb1de8e9a107f8cae62f7075670b5dbb0f41eb325a9432a7afb088658bedd8550f5d7b86db365abe4208317e72c74508218438478d7ac7e5e0cff9afcd763ef8dd8778f4d1dff0d0430ff19b477fc3f73fbc8c5f7fe56bfca1de4ccb252db06f375dc7dfd7c5beae1e7a5433f35ed5022feea6723cdd0a2f76f560c81d1721c42490868b104208710e1b69aec99ebb6f676bcb6a3efce60b58b870218b172f66e1c2a5bce5231fe1b54f6fe4f65f1b2c7df78779fdfedbf9c7d4e37461b06bd3bff29f8ff4a0549d0bfc1fe6f52fdece3ffdcf131cac1f634fe68bfc7f8fc81c1721c4e490868b104208718e1a7955b1a7c87cfd1116fdf10d5cdc7cd2f6a5d7f1e12bf773f77f6e66dfa21bf8c6373f0cdff800af597231d77ddbceaa2b5bb0a3a82f6c6cfbfa0778edd257f1be6f379bdb64553121c42490392e420821c439aabfb1a0691a4aa993be5fccc7727bf8a852684a511fb47d111fb87b3737681aaa5e47f37e8caf6ff9e880edb71c6f80cc5bf151be91fbd88074bf88a66923e42b0d1721c4e991868b104208718e3af9818fd3edbb10428c87345c8410428873d474bdbb311dcb248498fea4e1228410429ca306de71196ed8d6547d174288f192c9f9420821c439aa5aad8ebabad7547caf56ab13799842885708b9e3228410429ca3def9ce77f2a31ffd08abd53ad54539ae56ab71cd35d74c753184103390345c8410428873d405175cc09a356ba6e09e69190000200049444154ba184208312164a89810420821841062da93868b10420821841062da93868b10420821841062da93868b10420821841062da93868b10420821841062da93868b10420821841062da93868b10420821841062da93868b10420821841062da93868b10420821841062da93868b10420821841062da93868b10420821841062da93868b10420821841062da93868b10420821841062dab34d5442f7dd77df4425258410621caeb9e69a11b74b7c164288a9315a7c16e333610d17801b6eb8612293134208318abbeeba6b4cfb497c164288b36bacf1598c9d0c15134208218410424c7bd270114208218410424c7bd270114208218410424c7bd270114208218410424c7bd270114208218410424c7bd270114208218410424c7bd270114208218410424c7bd270114208218410424c7bd270114208218410424c7bb6a9c8b4b6fd22a81f9e8aac673ecb3cacafd939d5a510429ca3243e9f0189cf420831a9a6a4e142f5f929c9f69c503f34d52510429ccb243e9f3e89cf420831a9a666a89865de94647b4e90732784984c12634e9f9c3b2184985432c74508218410420831ed49c34508218410420831ed49c34508218410420831ed49c34508218410420831ed49c34508218410420831ed49c34508218410420831ed49c3454c7b954c00a73348b63255253028e75344fc6e5cc11cc65415638218a51cc9b00fb7274a61a61f8c10e7b4a98b3de38abb9502e96800b72b4076dac61483522e79cec4f1e38c1299788448d087cbe921982c600cf5da5497b361eaeb7331d34dbf868b024d03eb3cb0b682754ee3ab5dc36a01553f0b79cf05ab0d184f5e75b0dac1ba00acfa38df3b898c528e54d48f53d3d0741fd1548ed2644630a3402ae4c3e3f5e1f3bad1350d4dd3f0654e3f4ae92e1f7ebf0f973ee642502a94c7b46739e941d39c66797d9ec67972e3f5f9f07a5ce89a4e2067a03b5d50dcc1d8521d7b390be928019f0f7f2048301422140a118e2688871393d7a8d09d382b05765486cac0a0944b13f73bd0340dddedc5e7f3e276b9f006e264cfe8048cfdba88694ae2f384998ad853cea789079d689a86e60e124f0f5f1f9c1a774ffeff3bf077074e8aec288f37680d8e370e4fc08c83413f5eb7075f28416ec242868ed3e3c559dac1b88b39e12ae45311023e1f816090502844281c21914e120967197b6d695088064838a324d259b25107b9c477b8fbd327bf96a6783ac73cc3ea73f1ca30fd1a2e9af9edd80178fe1978e10545e919f89fafd6386680c53eb1d9599bc0a201cacc5b29e83e087dbd80758c89f49915227678f2b70ae30858f4469a0daa0e562b582fd2b0ce02aa4394c332f83d134177f908c562f8db005f9458683c0163bc2a64827ee28e18b97c8e5cbe4865fb063adbceeca2e99e08a95418f758cb5d4a114995c6d4c354c1c3addb4b14f23972d914c176c0972097cb912f94286f0ee334c0e1f2e0759dfe319caa4c3ae8c61b3708a773643369d2a914a9548a78c02093cd8da3f21a1fdde9c633ecc1e8b87c4122b100add8f12773e472798af904aefc67b9d6132277ba051bc77511d394c4e7093315b1c7e90d128906690756c4124483c3d707a7c4dd93ffff0efcdde1c2e3759e46894ec49b36ecf8128d3898ce92cfc571e76ee26adfc4dd19d61d2edca753cc89641449f85cf8532ea2991c99749a542a452a19c5954b902c94c71e238d02c97411dde90074dc911ce5c207d872d749af15e378c65defcfbcfa5cbc324cbb868bb5150e54c0f3fe2a6ffdf32a1ff8788d7b7e51e7b3891a47bac1326b82326af4de310b34abf9bb753618bdf0d63fabf2f38714d6c5da9892b2cc87ae97e1ed7f52e5ed7f56e5cf3e53a3666df4ecf51fd76ce83a0c9f585ba5b84361997fa21c30b81c134f4707ecfaa4b5584c468154b682cbefc1d19fb33b443219c039c9591f57c9130f46c88ff1c3b5d31b2134420475f822841a35fbc41d824131eee7431b9d243209fc2755a40e6f9474dc8b31a5915a1f7cbc4e3fd1603bec4b93389d4f11e3bc2e627a92f83c41c7c754c51ed075f3ffb63e9efae0e4ffbf43fc7f3ea3ea45779cfa9ad34f2cb60276244f2fe64c4b06f9a89f9bf25e92e908de4187ed2490c8107757c6d16955a15439f9dc0ff5dae91475e6d5e7e29561da355cb0c1c12ec553bb145ffa7b0ba96fdb705facd13a4f4353c08246afd83ccc9eb4a51a569786d5a9994308da347338c1f99a3934606e637f47a3476da9660e6b7069586cb0e693359e2f8365a1061ad4ebf0d81f60ffcbc0e246da4b35ac6d1ad6858da10a6d9a393c6299b95dbbc8c2df7eb6c693cf28f20f34f1777f6ea1da052cd5b02ed1b09e07da051aadf3a1b70f9aac1a5a7fb9db35ac2d70e34d358a4f83d5a94dee700b000c4ae93081409848c88fc7ed239aab0015f2c9202e4d4373854837ee2d1bc53461b7137f224f65d8f7023870397bb8371c2635e0beb4c31bc23b30d0190552e110a17008bfc78d2f9aa5dc3f963be0c61dcc908d7a71682ec23ffc19e968008f2b40d630c728877d6ebcf11cb97863089ccb47bcbffce924d9620ffb723142a108a91214135e1cc38ca975784e04e521e92ebc033f5c1806c574188f434373fa880fac502b79929130a1a00f8fabffb88650c9128d3d8a7d758ca06be86c5dc128fe8105338aa4222142e130419f076f303938988fbabd443a1220180a130a0688a44b231df55027a25111f6376886fb3b18ea3a5ec8f55ff8af93ae8b41211926148e100e78d0353789f116499c7d129f272c3e4f49ec19ab727e40dc3d39ae7e947ffceaa971f61413502663a8de9b338d85039552f81d3aee609c746e983b1dc3a67762fe913b94a59809e37568688e93aecd40e50cd1db7661f7474ee9b0024077138af84efc5d8c702c463e41281427dfd3433e1622188af2a39f9cfa5ab6ccc8d762d86dd3b33e1762284d3fd8f85df5f2cb2f8febeb7bdffb9e1aabea13e7a9ea634d437ea93d4deac91fd9d442074aed68524ad9d56f37dad432a7a6d433cdeaf11fdbd43f7cc4a2f63fd8a45477b3fa7ec2a6fef59356f58bffb1a967b236f5f30d56d55b6852f7246dead8ef9ad44bbf6a529ff92b8b7a3a6b53aad8a47eb2dea6fef33356f5f00f6deab14d3605a89bfec2a2d40b4d4a959ad4e1df36a9c50b34f5e0b76deaf0934dea5f3f695577df6e53f7246deac16fdb947ab6496d4e5ad54bbf6a52fffbef56f5ef7f6f55bb1f6e52abde6451afbb44534ad995aa342bf57c93baf33facea2b9fb2aae28f6d6ad3ad56f593db6d6adf2f9ad48bbf6c52bfdcd028f7776c6a6fae49012a14b028b5bb49d5b70f7d6eaa8f35a9ea13e78df93c1fd7bd4dad6d43d9576f51dd4a29b577835a616f57ebb6752ba5bad5d6b56d8a8ef56aa7b9b3dad2d9aa587e8bda3ee0fdb7acd9606e1ff1bd4aedddbc46b5838236b572dd9d6a7bf7c985d9a9d6afea506b361f3493deba46b56157abb71c547bb76d526bdb512c5fad6ed9b449ddba668dfaf75f14d49675cb15f6556a7377b7dabbfd4eb5ba15d5ba628dbae5cead6adbd60daab31d456ba732933ca8ee5c816a5db355f567bdf3ce4ed5b1629dda7a4a594e3d4febda51acdaac4eddf5a0dab412457ba7ba65d336b577ef36754b07cabe6a933ad838ae0d9d6bd5a6bdfd49ddac96835ab961efa9d96c5eadeca03ad6ef3c798bdab97983ba79cd6ab57af56ad5b96e83dab25729a5f6aa4dabdbd5ca0d8dfdbbb7ab5b57d8957d65ff791f6dfb41b565cd72d571cbb6c671ed54eb57a0685fa7b60d734ebab7ae6d5c97eefe93a83adb502c6f9cc761ff0eba87bc8eb76edb3bf8baec5caf56ae3cf137b775dd6a75ebc9a7438cc9f7bef73d89cf33393e2b75d6628f524aa9ed8ded9b0e0e5f9c83db07c45db30c83e3eaa971b67bf3ca01fb8faf4cdddbd60d8e374aa9ee9d9bcc98d371f3803875e6b170d3cafebab05b6d5fdfa93a6fdd36c4391f4b7eddeae0ceadeae67614cb3bd52d779eb836acbc530d7576878ffde3cdfb78826a957df0793bf5b591aec5c8d7693ad6e733cd58e2f3b9f475d75d7729a3fbd8b05f075eda3fe4d75d77dda57eb0f1bb0af813e05a6025f046e0b5800b580ccc039aa6df1d17c0314fa3a70fdef82755fe764d95ae23f0da5769141e57843e5de3670f2a3ef62f35b63fa4f8eb7facf2c39fd6794fb8ca7d7945245ea3b70fd6dd52e3ce7beafc4bd21c7bfdf9dbebdcb345f1fe75557ef0d33a1ff8788ddffd5e71e1f9664f1f358e8fdfb63781bd193efaa92adffe519de0a7aafcc7376bfcdbd76a3c55842f7ebdce17d6d7f8cc976b7cfdfb75aeb9ae8f6f7cd5cad3cf2afef27d7dd00abf7a40f1a14fd778be069ffc628deb6faab1ed59c507ffbeca4f7f55e7bd9fa87257b6ce5f7cbacabdbfaaf3aa0b349a9a30c7568f6d04c4e9d3dd04824102fdc3101c0ea89430e76aeb78a321da772449357a8d8c429a52c08f6bd4f782d39fa2b06d036b3a2a3c70db87788dc3432875624513231f275ef410f6997d4aba2746f2d60461b703a7c787cf057657987020402495e2d36fefc0e3ebef9ad271ba3d789de0f0468804bd78bc2192a94e5abb322486e9567305d314f289c1bd44a7c9ee09130978703a3d04fcedf4948a9401a390209e2f934bc589c7e324d215dc2b57a0974fedc52b974af4f49fbb41745cfe10614f91bbefcee30806f13981628248d641d0ef6aece626140ba03f10239e3746df5e4a1149eb84839ec6dd1217fee0f2311c6d0fc5548c78244c209c82e006b6f69fc761ff0ef421af63e4a401d646a544299f209e2961a0e38d46f08dd8fd2ca60b89cf5373de2722f68c95ee700f88bbe3777a65ea21170d120c0509f8dc382eba9e8dac667d3a76627ec699c6c2e32a145361a29508c98867f8a17823a6070e970b8f135a3d6122c1fe6bb31cca8521ef2e55cae56162ff78f31efb951de95a5446b94ed3b13e17c236d505184ab566def2775facf1eacbc06a81050ef8cab76ab42d829ffca409dfd57dfccd27aabc6fa585efacb771f93bfbe8abc202873914c17d91c66f1e533cb25df10f612b1ffba72a560bac7aab46e66b36de747d15c73c8d2b5eadf1d71fb0805d83430a4d8396b9f0ab6d8ac79f85e23d363e78538d4b2e348729fcd3576abcf54a0bc59d8abffe130b1f0b5ab9f43d7d2cbb4ce3f15fd8b8f46d55def4f91acf3cab78d70a8d5bbe6ce38ae5bd7cfe63563ef76f56326fa8d3d3071738350a591bd7aea9f2dc3e787387c65f5d6f0187466db7429bcc26a5c34b34e5a1984910cd95314ae6109f7eba274c78f96d249205624937f9748540cc39a6f702383c2152850091549470e40ebe75e39514cadbc8473d540a79caf871f4d714ba8b40247c226f40770c9e5f31d4585ddd79621f872788878d944b151879f0c5991b5016dda98351c130c0281628398244a261b381370247a3d2aa94ca0c555e735225b81a27a99ccfb1abc731685cb1c3e3c7cd46f28532657db4ed691eed71e21af439642cad383bee508ca86f887d47fb1be2d4eb3828774f98982fc98dd75f447ac55a12c93821cf188a24a69cc4e7498ecfc39980d833aeeccea0a3e7f4ca64c7174f936ec41ba394211ab89e8fbec643716b9e84d771c6b1b07f52494f21863f6b10ca2747ac3146cbefa4492a00e84ec030cc398a279d43bd11d38d2157741c6fdeae51d38091af45253dfa753aa7eb7331234dcb3b2e478e299a6df0ed2f5b59f7191b73669913272b87617e8b067335e6b76aec784e31bf057040db02e8ee86262bcc9e07b37538da0d460f3cf0db3a9ff9b895377b34ba7ba07a0ce6cd36b71ded867d2f61f6a4b5c09cf3c06685fd0761de1c60a1c69c59b0ac4de3aad76aa437d7b9fc52b8a00deccd1af3e6c082560d762b2e79ab95277f64e3f35faef1fd9f29567498cbe1b4cc81258b802e33edbe2a2c3e0f98af715e8b46f92545b701fb0e98e598ac4af178c0308aa4825ea2651fb1449cc8293d6b6e82910ef6a513e44a39d2044ff4868ff45ea348eaf8dc09079e50927c690beb96c3a3b11879c3fc68db532e523aa93365c8b1cc633e30070efb38279b4e98c65d290c7a4a598a271d57658875371dde001dc08e4c7ec85eb9538ec230800ae58169eb8e13136c47d96e56920663a82bc76ed4bfa1d1b808654b6cdbb01677f10e6ebcd243f8b4972b136793c4e7a93bf7838d3ff69c2d135126dd152091be99e5ece0b6fe791767180bfbd9dd61a2de125f0a44479ef83dc6f4c6cae1f6b31c28e58aa3df0d9ba0bc47ba16235ea757647d2e66826913828fd3cc1ebc035d70cf7d75f6eda973e8281c33c0edd2283eabd8797f8ddd2f2802efb0f0d80ec5f65c9d5d2fc0c2f9f0dc3ed8b347f1f46ec5c2b970fe228d5b3f6fc36e8597bba072c89c80d975c4aca00e1f357b10b1c3f34fc39607148fff41f1b62b340e54207f5f9d879f34979279c365e61881b75c69a1750e3cf27bc5cf1faaf3729762c7538a52be4e79bf62ee5cb8c809f7e715c70ec3e163667e283874c4acb49fdb078fe7eaecd8a9b860b1c6c1c3667926f38a385c4e74a0928d10ceba898486bf45ee0a445969648846523882dee3fb8dfcde0a857496d2a04c7d44a32ba0c7ec81727a3cb4f6648967067c642f67488cf36954c6c0dd2b652ab4e33bade5382786c3e5a1adeb6ea2a9011552254b325b3a75675788f89a3678686cb7fc1d5e2f6d14c914061cb451c1b02f27e0758ebeddedc44e81cc04de7a1fcbdfd0884a59b2a58195e12e5289bc2c7939dd497c9e76c6157b4653ca901cc730a4492f93c36df6b9373e089f692c3c4e77134aa75855be8d4064f8e7a68c39bdb1728788adb2d3958931f4fa2806c54c86a23171798f742d46be4eafdcfa5c4c6fd32f0cd7c1d1a2b1703efcd5ffa9f3ee3faaf25c59b1a015feee6f2cb89682f70355debb52e3abb75bd9ff32f8ffa686d103abde6a61c5e51a6f0a56696a827f8d5bb9ea328d4b56f6b1f97ec55597699cd7b873b0683eccd2cdeff666603e7cf5bf6bbcf3c62aeff46af86fb4f0eeb76a7c2052a3fc92c2310f2eba58e3e2651a6d0be0c37f6ae1c147ea7cf40b75defb0e0bbfdfa558e1efc3bfb64674ad951fffaf8dc7fea0b8f183552e5adac8b70e4b16c29cd9a037c3757f6b8ef7feab3fb7a094426fc61ccb3d210cf221279a3b4ac13030f4e504fb97b0320c7aba72a4b2454af934894c092a658af9dc89875439fd44fcf068c14d70e0fc8451de6be4a384e2f9011541995ca6485ba7b9f4a3ee89105edec30337fa08c6cdb5eb03c10cee469032e09465800d03e819fc5ab970620c71399ba4e48b11719bbf3b1cd0552c522ee5c9160d4aa9001e6f8431d5c78d020cfd68c6fe7f4ea57b23443ae0d19b3cf84271928928c1400a97df3dc4de0efcc90cb7ac2c735b2048b23038c8574eba35a27ba2c456c2bdb1e4f1e71994b2292afe3821f7e8db1dbe28a1b62e36861aabc31845b2d912940b148ac3ad8f6f60d0337ccfd9687f079c7a1d075e971f6dbb8f78bcf1ac1a8797907f39ae297fc0821895c4e7c97356628fd91b6e30c47025a340229ac1d558c9ece4b87b725c3df9f781fb8fb74c833fb9f6ab908bc779083bab227e9c9c792c1c7012d09d4152a9d518df0a121ef8c17be0b91d35bda1afd7f09c045319d6381fe0467f88d4a0d85f269f8c9173fa70eb633c16c3c0e8e9195c679cf4da48d762b4eb341deb73218632a5ab8ad51e37bf3fbfa5493db6c9a6b6dd655307b79a2bbda85d4daaefd126f5ebefda947aaa49a97dcdeaa5879b542e6553172d43fdfe4736a5f636a97bbf6653877ed3a4d48bcd4a6d6f525b36d854fd8926a59e6a522fe49a54df634d6aff834deac8c3e6f763bf6b52b51d4deac55fdaccb47fdfa4d4ee66a59e6852851fd854f91736d5f5509352db9bd4a1df34a9de47cdd5759ebdd7a69ec898abe3a86293fadd5d36f578c6a654b949a97d4d6acfcf6deae1b44d55f2e66a38b5279a54e5f126f5db8d36f56a97a67ef60dab3ab8cd4cebb92d3675f461739f6157ac19e7aa357bef5ca396dbed6af9ea356add9ddb4facca71708bba7945ab8236b562ed9d6adbe635aacddeae56afdf3e68e58eee2d6bd5ea5bb70f4e74a4f7766f556bdb5080a2ad43ad5cb54aad5cb142ad3a793592bd9bd4ba956d0a506d1d6bd486c6ca54db37ddac56da51d857aa9b376d57079552dd3b37ab5b56b52a6855ab6ed9ac76766f57b72c47d957ac569d6bd7a9756b3bd5eace5bd5d6014bb8ecdd6c1e77fbeaf56a7bb752db6f59a1ec6dfdab940c77b2b6aa3b6fed546da0b0af50eb366c1e50e601656b5bad6eddbc5deddc7aa75ad78182e56aed866de60a327b37ab9b57b52b3b28da57a99bb78c94a1524aed555bd7af53ab5774a815ab56abcece4eb57ad54ab562d51a75ebe6c1d7421ddcaa6eedec50cb57ac529d6b3a55e7ba0d83cfe928dbbbb76f506b3a5a15d855fbca75ead6751daa7dc510f9a86eb573cb9d8d738eb2af58a7369cb28f1ae1efa0a00a435cc793af4b21bf4eb5836a5bd9a9d6ad5babd6ac5d3fec0a6762646773553189cf13179f8f3b8bb167efd63bd5ad9ded668cb6b7ab8e152bd48a152bd48a8ee5aa0d947de5a661e2eea97175d0ffe7e280fd6f35f71f5b991af166b5196f68ef502b57ad569d9dabd5ca8e76d5deb16a70dda5d419c4c2836adba073b9531ddcbe5eadc43c976bd637ca7db261d3eb563b37f7a7d7a9d66fd9a9f60eb8366b366c1d726531f3b0b7ab3bd7ad561dedadaaad7db95ab172955addb9ae51178ef158f76e511bd67628fbf138bd4d1d1ceab5d1fe3e86db364debf3994656159bf855c5865a1fa5e9071bbfdb7bf51f5d3baed6ce7df7ddc70d37dc30a67d6b4f2e80fae1a1372af309c59a03f37e501d38063443ad0bac7380b91a5414b56360bd1878015aded4c73deb6dbced8f35e8d5e088a276b0b1bfc39cd8a97a419b6b666d998bd9eab703dd5033309f3dd062ee5b3bd4f87d0e662f5bff3eade6fb55adf13466ad914e3730dffc5d1d807a15ac0b1bc7d4677ed5bac17a093c719fc2fba7355e7ad08a7e9146ad04d6f3cce3acf530f27d30cb3cac971d18d3793e371589bb5f432ab49d627498de3b215e41eebaeb2eaeb9e69a11f791f88cc46721a69d73bf3e1f4b7c3e97dc7ffffd5cf7bef70ebbfde8d1a343befef32d392cf55ededff967efc78cd8c71a5f4707fcdc0d18d36f55310dea0a3878d2eb8d0aa3d60d74371e5fdc04f517a0da0b5b36d8b8b45da3fe02a8ea89edb55ee0c5018f3b3e647eabf5d7cbbd8defb653d3ae99739a0795add6783f16a89d5cc681f5957588ed16a8ef06d7528d075256c02c2f56b3d2efdf470821a62589cf420821a6d0f40cc3ca9c006a9d37fa92f9f51e689e07575d6ba1652ea8de93765060b581b519b37710f377ede4846b609d05563b27c6312bb06a60d5cdf730014f4c56bd30772e5ce5d3d09b41f59d799aaf3415ccf1d932da55882920f159083141a43e17e3352d1b2e9a66aee0b2e71985c50a5a0dac2de6ad7feb7cb3f2b2ce378719d8ce87832fc2d3bfacc3f9609ddbf86a356fef5b9ba1d205870f81d5d9185e0058e699efb72e68547c4be185e7e0b9e794f99abd313c603e1ce982ca11b02e69bc67aeb9cda28152231ecaa92c50eb835a196a75a6e91598a68c12d9649ccc0ed8954e90ca0d3da152083179243e0b21ce98d4e7e2344dbfa16280a5159e7f0afef9ffd64944adcc6d83df1714070f4173335c71a9c6b6df2996b569b42e81dbbe5dc7ebd1a04531afa671f898e2f011e8adc20a8fd975b7ef80a2b80b741b3cb6032e69371f32f6f46e45c7728dee6ef8bfe93a6f7fbdc6a20b403b063b9e553cf06b4593067ffa010b0fdea770b569d4eab077bfc2ebd1b0701a95a3383dba0b7f3845319c9aea9208f18a25f1590871c6a43e17a769da355c340d941deecbd779768fe2a7bfae73fd0d567eb5adce0b2f9a1563e6be3a975daaf1bb2715f51a2c590cfffb933aceadd0324fc3b5149a9be0e127608e0e97ba34be7e9762591be87678f63945f98046adae98d50cbf7a44b174112c5d04f7e5158b1c90beb7ce9b5ea7e16ad378705b9ddbbf59c7b900b63da1307acc670d58adf0c6b768a78e951642887390c4672184105369da355c2c3678f129c56c1dbef66f561e7d52b1ffe93a2bdfa88182ee1ef8fd33d0dcacb164b1a25e876a4dc3e38639b3cca7295f759985450ec5854ecc5564ea70fe62b8fe1a0b070f996bfe5fdaae5157f0f0138ac50bcc878ecde9d398dfaa78f8f78a2b5eadd1dc0ced4bc16eb7b0ef00e8cde6d088abdf68bed7e86172d7f51742886944e2b3104288a934ed1a2eb52ab4ccd6e87c8f06ad70c9520dc380c50b0105f53a745ca551de050b1d1ab626786e2f2cbb54a3eb05986587663bd46b1a5e8f394ca05e87c85f5a507558daa671f9ab1b333fe7807381c692a5d073140e1e06e7328d97f6c2c20be0c55d50af2b2e7f8d0676d8bb4be3bc16b0b780eac65cc5a68bd167a80a21c43940e2b3104288a934fda61ed6cde106ccc55c1ad3663e3959d5cd9f2dcdc051702e05db2cc002cbda8163d0ba009a67039ad93388069a0dac4d8015348bf93bcd50adc2911761c925669ef6d9e0bc10e886850ba17e0816b781d3a94115ea47e0fc25609f05f56343ac7a33c4715867d5b03afab02eeec3da56c36aab4dc8ca373356a5403a1ac0ed0a909df14b8818947249227e37ae606ee415518c1299788448d087cbe921982c9cd10a2a46294732ecc3ed891e7fa2b2106785c4e7a9734ec54f2184383dd3aee1a259000d1efa95a2ab0b7a7b409b65bede6b404f37a003bd70b48be343018e1c069acde52c0f1f861e03980dd51ee83ed658d65233d35055386698bf1b15a03179d33808d8cde70328653e6cacd66bae2ea394f97aadcfdcbd56377b0a87eccdab81f5bc2afbf6cd62cbcf2fe4bbffb3849ffc702ecc5358cfef4353daf13c278f413997261e70a0691a9ad383cf1f20e0f7e175bbf106c22472a5b3bc04a103274576942723d70af9548480cf47201824140a110a4748a49344c2592a139e9f8ed3e3c559dac1c887635088064838a324d259b25107b9449ae2999c02dd89b3526047453ebd88b34be2f364aa900d07489586db3e59f1d3a0944b11f1e9689a863b5a1cbe84193fbaa6a179c224b3850988ab673b6e0b2166ba6937544c339ffbc5e65f2a7ef3b8a2652e782fd768bf40e37bf7d459b25863ff41455f1fb4ce85a626686ed23878080e1f55b4ce85d6791a95438aee1e78e9a0394973f945d0db0b4fef367f7fcdc560b56a149f555c783e2c70686cdbae78dbeb352ebf4aa3de356a51876569a9b2bdd8caa3dbcfe3e24b0f31ab5ee32bff3d9f5bbed3c11d9f7f9ccbaeac502f3799bd9493368c41c7e90b12d1b324ee4ee34de7c9f87473935122130d70fdd56ed237e7c8c5bde893558c811c5a68ca4a00002000494441542e3c5ee7c4a76b1449f8bdc48891cd24f03afa3794c9847d440b51a2139f2bbac3857bb4c3310a24d34574bf03d071477294236798afd38dc7eb82fc99a523c478497c9e44e50cf13beea6ec28128a0ff114f1c98a9fe8b87c21e2b12ca9ab37b2231923174de3739cbc5f8954ec5e7a808e708cb0ff0ccb3245715b0831b34dbb3b2eaa660e1778c365f0d24145f159786a37f4f5c2337b147b5e50949e038b155ed80fcf9460c74e454f8fe2675b158e56f3c9ce4fed86fca3e6c4ced7be4ae3e50aec3b00172ed1689d0b4fef817b7ea9b8ec520da31b9e784a71a0a2f84349a1cd3efdda4ad3149ad3c6bf7d65167b9e7b99375dfb127f72fd41b277ed6689e3086fbd71355b7fb9008bb30fed6cf4eae9a7d43ea0bb0824b26cead479e84b4122f9b3d773af4f780bc9201ff57353de4b321d1950f90138092432c4dd9529ecb9ab50aa4cc6710b71f6497c9e3cc574067d452b3b5271860bc9931a4774079ed52b69ebda482c73ea33358c7c828c7335ed13528ee91eb78510d3d5f46bb828a81b70f59b2cfce56a0bde0ef05fa3f172974243e3f22b353ef1e7163ef41e0baf7669f8df6de1a2651a9bee577cf8fd1aef7ab785258be04ab7c63f7dccca7bdf61c1dba1f12eaf85ebaeb6708d57e3baab2dacbe5ae3e31fd278c3651aef5b65c1a2c1637f00f7ab34304ebfc652ca1c73fd86d71de633ff6167fbfd2d70c80a55f85e6a1beff13ecd0d37ff313b1f6bc6b2a40f6a533573d44920166539bb48c506dc92378aa4222142e130419f076f3049be0250269f0ae3d1345c11738e46399724e4d6d03c094a03df1f0e128ec709fb1ac3d45c1e7c91fc10c3d20c4ae93081409848c88fc7ed239aab1cdf56488609852384031e74cd4da2744a0250ce10bd6d17767f84213b007537a1880f0706e57c8a48c08d3b98211bf5e2d05c847395118eb9bf280552e110a17008bfc78d2f9a65c847659552f81d3aee609c74ae4c259f20148a93efe9211f0b110c45c996473ac72395b1443a1220180a130a0688a4873a19424c2e89cf93c4c8932a0448a66274ec4b13cf8ef1237b254f32122614f4e171f5c726836226824fd7d03417915c05a394c2ef70e08d64288dd04fe5f0458974c003f1c449f3e72a641345fc112f83bbc2468ae10c1f3bc71cb747caa3422eee43d7341cfe24c54a857c2a844bd3d0dc61d205739f42d28fd315207546e3738510d3c5b41b2a06e6d8e439f3e0550b355e75a505ba147366697cf6231af6a540175085775d6b562ab3348d7ffeb885d7bd568323f0ba0e8dd7ad008e618eb1aec3dc56ccdbfefdb7ff2d1a58811ea009ae7d8785b7bf417149bb46fd0cbb79eabbeb443ed2c7f28baad87bfba8f769d40f37615bdac7facffc0aff672ee30bdf7c17df886dc632bb46bd678ada8f2e1fde56d851c852320278f43299a09f5420472ee4326fe5fb3cf80250cc85f186a28412779068bcdde90b11f1c7f956ae3f41835cc44fcc48538c7ad1c31e2aae6bc9f9936413e670b4415547394d3094c59b2f92f0403eece2cd9134e1421857294524ed21950be3c22014090e3932ca28a4c9036ebf9b21ee2d01e0f0780083b2eec028ec60879ea2108c125b93014765c4637651221908918fe448f91d18f910ae370708fb2b647c834a42319bc511cb5388781a43ef22a4526efc993c7a2c45daa703653281e1f20ba10f5946835cd84fdc9d269ff0a05322e9bd88bbc77dc1853873129f275e259786501c97db20b62acaf5f10ce5408891076395488553381349524e300a513c575e4bd0bd975c28412653c17d6d9a62d90047193d94219bf00d1b274d2e42b155c4ae4f12cf4549fb1b7b97d22409917297490fdc7da4183e42ec4c1b638ddb23e7e18ba688a72f22eef4e07238d04309929934818a0f9fc74cd9ed76e34f4409b9e5b6b710e7826977c705cc15616abd503b0cb57d8aea3158b800ecf3a0bab73109b30ab597a0b60f965d08af7ba306bd8d6d87a1b61f6a471bbff7bfdedd98d06940ed5863bf463e4b2e8457776868aab142ce19a8d7acd05de3daf71fe0e24bfaa81fd2d0ac8adaf3365a2f852f7df4111efcc3dbb86fcb02b4f61ad6296b3eea381c80d1b8255f4c10c93a08fa5d8dcd6e42b100fa0331e28db10b23867ea3403ab30b87d769eee7f01070c3be6279e84500743781609080cb4c557738a052a26280512951ca2788674a18e878a39121c65c43a55ca6a7ffbda31cabd3e3c3e702bb2b4c381020924a11d193231eb3918f132f7a083732d73d3192b726080faa042b145361a29508c9e38d96618c788e19ba8c8e3491b44e38d89fb60b7f70f928c72bc4e490f83cd1ca64b31e423e1d70e08f85697f284e6af839f200188504f17c995c2a4e3c1e2791aee05eb902bd6cc65b873f41b253e7de709050ac4224365aa30540c7e98f116aeb62632cd3b8b36c5048a4714502a736a4468ae123c4ceb1c7ed91f3001781f00af665938de1750e5c5e173d0f24cdbbdb54c8670c82bec9981b2484980ad3f28e8bf954b25e7365170d344b33b53ea0af8aa6d58126b3f6acf782c5ac00396605ac6051a7a6616d6e8c71e833075f9fdc5eeb4fe3e889b79e51e92d8a5a4d83e79bccdffbcfb21538a871d5850f73cd9baf63f3937fccb29f6d60716b8d451759c180ead1c6ca3d678541a502389c3880723ec7ae1e07ce019fbc1d1e3f6e36922f94c13b5a7ae61b2bc50a06a0a3a3ebd0ea720efd61dee1259af250cc2488e6ca18a50afdf764744f98982fc98dd75f447ac55a12c93821cf10393acc948d31aeb0a537ded35f9ed18eb9429e327e1cfddb7517814878509a3d8518feac41289f1cf583c1e8e7d8716a1973691eed71e21a54f74aefa1982a129f2754314daa90c311cc365ea8a0db779048e48924875f38c5281628398244a2615c43eee1209048b2caf521f2ae38a931b41100d0bd44a31ddc71538c442148dc95235e0c10f3ea9c1813dc9fc5f031bc52183e7656c613b747c803c01508b32212219537f0798b640a5e56b67e8b64a6442858244390d8588f5d0831ed4dcb3b2e5003cb1cb0b6806516547bcd2f5507cb6c73cdcb6a2fd8169b6b715a6641bd66be56ef33b7f7f59afbdae69bcbd5d4faa0695163bfbe13eb6f9e65eaa8953917c31b966de29bdf39c0d7d3b379a854e7fbdfab73f808d8166a67ef69cfa51cf92e68f50670eb80610015ca038762e88d0fd263998da9bb09473a286752e6f8e84a816c7905d1e83077218c22a9a09768d9472c112732a857cc45285b62db86b5b88b7770e3951e73aec7491c6e3fcb8152ae787a4b3b8f72cc06d0532e52aa9cfcb613b9d9dd61a2de125f0a4407cf8d398dfc867c4bc5000c64f563313d487c9e3806f94c896826433a9d6e7c65c9c63bd8978e3344c81bf04e839e5296e249fb54062e975ca9a07bdad8755b846469eca5720563acb2ef2219cf5148273042418658e76cc4183e52ec1c57dc1eb19e009c7e225e834c324f2997a21c8a130fb4f15032433e9781c0c9f372841033d9346cb828a8d7d05a56a32dfc385aeb07d1665d81d6f236b4b95783fe3ab4966ba0d9053627dac24fa0b5de00f356a2b5bc156677a0b55c8d36ef8d682defc3d2f23eb439af479bfb46b49600dadc77a0b5be036c0bcc2572ceb23a1a2c6a66c793058ebcfc12eecbafe47d7f04e7b76b7c335de7e57d75acf3390bcf11a8908d25d84107d198d9abe7f07a69a348a63070726505c3be9c80d7098d3b28033fb49bfbf4ffa0e309278878cba4627112c93cde5496e830638b2bd908e1ac9b486888864d294bb6e4c0134a922f6d61ddf25da412434cf0778788adb2d3958931f47c7583622633ec7353463b66a7c7436b4f96f8c05576ca19120327cfea6e42e914abcab711888cfcec81d1cff110ef713bb15320336aab4888c926f17942e3732547aa1c3869552df32e4247d7dd83e3ce491c2e0f6d5d77134d0df8f05fc992cc961abf1449c64b4432396ee97888682835f4a2224371fa8985dae8da1824987411090c1d9b468ae123c6ce71c4ed11eb0933277c612f46364a34a513f239f14482b43f1a2792d0097ae5eeb410e792e9d7705135b0ce03ead0f73ca0c0712dccf280361b6df65bc0ee86a656a00f653c06d57d58e6f860f61bd19a5f0db3de042d7ea877a3b042cb3b60cedbc16287591d30f75ab09e67f6ee4d857d5502ab5a58b3f63aeefbcd224abf81b7bedfc21597c057ff5b813e817d8dc6501f76cbe4a27e021b0d56ad4f1369342c744f94d84ab837963cbea24c299ba2e28f1372033870b95ad9974d912d14c9a763c4736528e7c917ca1854c88442641d3ebc1e174e970b47b94061400fa061604eb86dfcd2d39523952d52caa749644a502953cce778745f8e783c6736021c5e42fee5b8867c688a93602ac31ae703dce80f911ad820a04c3e1923e7f4d1df7632facbd030da31eb9e08e1e53d3c70a38f603c452a192510cce01ed8c8300c746790546a35c6b782840756d48681d1d343a5628c29bfa1cae8f045cd31e7a1b0b9328e51249b2d41b940a178b61f222a5ed1243e4f687c2ea61254fc437c2077f9082e3757f71ad8e932307eeade08910e78f4260fbe509c64224a3090c2e5770306c5448c62288acfe926925c87f38108e1f4084d17c3a0723cf0e87823513ae8826084fe478061188df8641cff7db8185e728f143bc711b747c8a3ffdc38fd117cc643143c213c3ae8ee10c1f67d94dc413cd26e11e29c32fde6b86856a086eaca98eb6e5a9aa0e97ca8be0cf52368550faaef39a81e008b0e46118542194f40bddbdccf3a07343bd45e36df5b3f02d8a07ecc1cd06c9965be3655b3e20fd479cb9b8f51d6145ffbdee56c7fe16e5c07fa78e71f6b6cbc6f36f7ffd8c2bbde7784da8bd633c8c4a09ccb908a67d8470fd9b01fbfc7692e0b5c2a81cb4f6a5b96a06760579f8b702687110e13f4e5f0b81de0089149f74fcad4f1c6e2acf67f94ebbd393a936922be2cf982a3f1c1dc81cbeba4148f12bea3eb78fb0496b3764b9e842b4f3259002091cc920cc6b87945802f5defa3b83641321a201dc8912ec648790d4a775c8dbbd849d0e3a0624448c787e97173fa4915b7e38f4689075c4471e272b9703add04a271c21e733db362264e320f3dc488659244036e1ca31db3ee219edb84110c73db676f24d7b186782a49c059a1908993c8438f234932eb26e4f1e3e16e365eef435f9f20e6d7c9c563e66a68f118293d44c0ef1921bf61caa8fb48e436600423dcf81a07b19561221e17ed15d7e06121424c3689cf13149fcd27c6876eba97caea24195784c0f13bd306c54c8a6c09e8f912819093443c8c8fdca0f8e90efb896637530985497cebb37c34b78a9b5369824e83622a843f5a249035e383613871d2c5dda1001152c483ee01b1d4a094cb908e6778a00849778460c083c31d24d699c768f4a8540a19d289143b00123192ae0841fff0313ce0730f133b1bd98e296e8363c43c1a69397c44829d54fa7b7f740fa1f06a18aa51288498d186ea386afac1c6eff65efd47d78e2ba1fbeebb8f1b6eb8614cfbd69e5c00f5c32314a9d61826a001eaf824507342a7327fd6ace6cf2873b6647fef9cc53ae0678bb976e7c0a4a1919ea5312b7392c764d535ac4d75985735ef6f1db5428f05541fdfdd1a62f3a3efe58f5c7fcb9a1b5f041dfef38b8bd9f9c25c6effaf9dd477d950275f21cb3cac971d98dc329fb632e94802672c3e60053083722e4128ed2593f4492522c404bbebaebbb8e69a6b46dc47e2f3305e51f1590871b68d253e9f4beebfff7eae7bdf7b87dd7ef4e8d1215ffff9961c967a2fefeffcb3f703dd980be61fc35c96a5ffe76ec0987e43c5508005b426b3e2d29acc5ebdfedf2d8dd7b09895a366337fb634f61bf4b3f5c4cfc7d3e8ffd9ca5998488266a981cdc2ef1e5ec6b7bf7b31478f59a1a50a56d09b8fa1691a070e2d8043c051b8c2ddc293a5f3a8ed56589acf70ddcfb3ac920d132bf94e1aafade3743971798659594c083183487c9ea9f1590821ce05d3b0e1329aa97ad2fce9b12c856f6fb211ff7a1fcb5c3ddcf5d3f3012bcc82d9963d547bbbd957d1e188b9ff92c5162a471decdca3c39cc9afb82752a55466c7dd11c2a91cc58a816118940b69a2f132c1e0906bd20821ce29129f8510424c9e19d8709961fac031af4e5f5f95ab3f58e6c5978e92dd3c0b96824d3b84c3d1426fed3cba0e0336b05a8ed2dd379be75f6e017d66f5e8b9c219b6dceaa118f5f39af9b398e570134c5408c4a3433e3c520821a6d42b283e0b21c4b9401a2e93ac56d6b8ee1ac5f7bf7c0c5eaa31dfa173ffb625d004767b13f6a63abdd5660e1f059aa0568366bd959ededa0cbc3a4e7c9134f9b281520a6594c8a5c2a72cf5298410d3c12b2b3e0b21c4cc27a177b2691aaaaf86cdde0b47e1aad75a797aef02d8098e7935ea7583a3dd7d54eb403318bd36aa351bb55acf4c1b75218410338bc46721849851a4e132d934a8d7356a3d16a8695cba743fc77a5a29fd01163a7a993dcbceac5973a856011bbc7cb08fa6e679d82c96b331375508215eb9243e0b21c48c220d97b3a917e6cdedc579be93474b4e6c965e34ab0dab45c3a2013df0f40be7d1d2d282bdb90faa535d602184788590f82c8410d39e345cce2255b582adcac2795d3cbb7721dd469da3477be9eda970fe22a83d03f92717b2a8a5c2e2966ef37902420821269dc467218498fe24f29e450a0d3458d0dacb8b9579ecefd2a9741da5d6bb9f5997c0af1f8667f75fcec5ce17b86809d07de683a88d529ab0cf89a669684e0fa16481c1cf5a372824c304822142c100a1449eca78b657f224420182e1089148886028417e7002420831edcdccf80c540aa4237e3cfe34e571a72f8410338b6daa0bf08a638165e737b3ede5165e3cf032c78ef57289e308d820ffd4f968fa652c75e4b05f00f5fd67d8ae340ac482092a813877862a641351bef5511f1567894cc05ceaab9c0ee24f7ac915a2b82991f4f9083a726443ae316caf900905c904f2e4424e004a492fde909b62c68f2c262684985166587cc62893cbe5c965eee5516770dce90b21c44c23775cce22a5002bcc9fd78bd1db84515f464f4f2f9e4b2aa8ddb0fb6800bbe57996b41461d699cffd348a399cf12ce968886028422a97654d5b17d964deec75330ac4a377e30c07311f0fe9221076918bc6c81963d95e249bafa03bf4e3793a5d4e8c62e1949e3f218498ce665c7c06d09df8022182ded6f1a72f84103390345cce360df4e62ad59ac6b1eaf9f41a07b8707e17f7ff76212f1e7b03e7353f8cefaa3e3870e69746f784890c7cf2a3c343d06d3fded0308a2932bb5a71bb9d2776717b70eecb922e18a36e4777e1f318dc1b8e90290394c9268b7823fd15ad1042cc2033283e0f4a4be714a3a52f84103391345cce360b54fb8ed0536be1c543cb70ced9ca51037ebdfb2f397ae430cb17ff86b6aba07ec43a01999d5c415528569cf8c31e74c02815d8850397f3c47ebac385837d144a9551b783936032c56abec5f56e1fa170846c204326ec9a80b20b21c4593683e2f399a62f84103391345cce220da00e478f415f7d2e4f3edbcc225b969d07db79b9ef2d1c3bf0733adf79008e6993f28800a39826e38a116ff4c219950aa0e31c548b357afb2ac6a8db01700549a5d7b2dc78806fdd31c4c45121849801665a7c3ed3f4851062269286cb59a541152a87a1b7369f232f3fc9feae566aad9fe4f7bf2ff2fa253fe3b255507fd136094f652e918e97882443b81aafe87aa3821c58071a150c40773846dd0e60141204e32ed2a56dac5f6db0f1462f815469a20b2f8410936c66c5e7334d5f0821662269b89c45164b0d2c1a4feea8b0b7fc1287bbf6626b7d37bf2fb552d97327377fbc1bba2c93d09b57219f48604412044e0c9746777b68a3426940ef9d512951a10d8f4b1f753b144904e3e891301ea7877026cf9dabe1de48f4c4e45121849801665a7c3ed3f4851062269286cbd934b7464f65164f979770b4abc8ae3dfbb9d8ed63f33dff8f7ff88b2759748585da7eeb04f7e619145371f2de18618f7efc35c300dd1d24d0b68f42e1c400af4ab1c0be363f218f3eea762a45b2257dc0186c17c1449c0ea34459c68c0921669219169fcf347d21849889a4e172b65481f3e1a70fcd63db938aa7b6ff862b3c6fe6fe5f3e4fe8ea2c81bf81fa53169888399fc719149321220537ee4a9e6c364b3693261e0a912a03ba97687c15a5548612002532a932abe271bcfa18b63b3c84bc1572b9d2891c2b25746f08aff4ec0921668a99189f07a63464436494f4851062069207504ea4ba8655ef83f90a9a2ca0ea700cb379380f6abb9b89ad9fc5f33b7fc9151d1dfc61770b1d8bfe9dfff3cf7df0828dbab2a069133710a198f0e3b9e9017ad8c8bdb70dd8d0712b3b5de68fae509a4c254c2458c0a957209821133ad1ea1879bb8b502643391c2118f6e07141b9ec249e0ecb386a21c4f4720ec667a890cfa448e6baa0922291721109fa70ea634b5f0821661a69b84c0405160b684b7be97d01eefc8695c2f61acbdae0b5ee79f4f65499bdd4c617fee9308f3c5e62cebcf3787acf1c6e7ccf77b8fdcb7d70cc4aedb086669dd8d1d3ee480e2332da5e0ebc913499d3ddeef0114dfb4eaf80420831d9cef5f81c88900e44489f56fa420831b9fedf8f7f72ca6befbcda77dae949c3e54cd535acf3aba0ea7cf75b907bf23dd4f577d176c9421c175fc8c22b5ecbecd97370cc99c367ff731b5ffc97bfe3d1471ee11f3ffc08377fee101cb4523b688509ae148510e2154fe2b310424ca9ebdef7dee33f1f3d7af48cd39386cbe95260b5028b7b79e671c815dcecedfd0ce19b3ec85597cf19b4eb810307d9baf597ec79aec4ee3d8779cbe587b8f94b7678ca42f5a875c27bf28410e215edff67efdee3a33aebc48f7fce5c32c335c3354369c9d4b632155ba6ad2da35519b54a6a55e2a5325e99eaee32eb8d7177b5e3de8cba2ed9dddfdab8abbfc6cb6f19d755d2b24aaab6a41524d556a65a25bd32b415067ac900854c8024279739dfdf1f670209242181d00ce1fb7ebde6359939e73ce7791ec8f7c9f39ce73c47e3b3524a4d4ada713913024e0f30a3978d0db0affb6f79dbbbbf42e8cac1d5f9ed6f7f9b4d9b3691cd66e9eeeee6b2cb2ee3f9e75fe6cd57cf855c3bf48cfff403a594baa0697c564aa992a153c5269a80c32d30bd8fff5b0f9db3efe6735fbc95b201bb7cf7bbdf65e3c68d747474e0f57a894422bce52d6fe199679ee192cb225cbde88f70f0e7e0d445dd94526adc687c564aa992a253c5269a8031af8f1fd443c79c9ff385b5ef3abea9abab8b071e7880071f7c904f7ef293545656b273e74eaebcf24a3c1e0f7d7d7d5cf69ad7b2ffa92d500656af368c4a29356e343e2ba5d4a4a61d97b1b00c9c17f5f2d0bdb0b3eb5fa8fdfb770ddaecf178983163065ff9ca5728140aecdab58babaeba8aebafbf9eeeee6e2a2a2ad8bced05020bbac10dd233ae4f32534aa90b97c667a5942a393a556c0239dc165d39e167bfbb81cfd67c71d0b6eeee6eeebfff7e9e7bee3972b91cd3a64d63c182054c9f3e9da3478f3263c60c162e5c48e5c5c7f03eff0cb827a8104a293509697c564aa9d2a353c5269031af8f7bbf07f35ffd575c32efa46d86412814e2965b6ec1e91cfef1ca2fefbd8b37fb8f40a74e4318ad7c6335c1b89754a6812adf44e766f2d07a559389c667c0ccd2585747734b0b8dcd79c2352952311f4d277f170fe19de8bca231e85cd17a5593d9791a9d2740717199e70ef9085df78e5336979595b168d1a2111bc52d0f1da0f7f97f61e1522874bf327d4633db4c2a5985df3030bc1192a966b2e6b93c610ba95884503842241cc46b18188641a4317fc6497a0311aaaa220446ddd29a645b72437fdfdc406d950fc330f006c3442261828100e1ea5a9a863a64121b7bbd2a55a2ced3f86ccb934e25a88e44a88e4689c562c4e209ea1aea49c49b187de43469495653e74f52d7d04453d24773ddff70cf174efeae81cc99b4011adbcf1b1adbd564a6575c46c9e1b4e87b1e98721d575f356bccc71f3e065b36c6f8eb559d70cc09c62bb3cca637102156e3a539753f3f0825a98945cee1485b9ec66815b58106d2e9083ec0cca48845e29c4dbbe10d2548a5c6704036452215a2a1ce7f5259bd04225112de266aef6f2052df4c63c40bb946a2a1f7727328c3b64c8ac805324235e67a55aa449daff11933435d55981a6a686aac237c3cf6e4688c4748b624498e3aad16ea1b3278ab7c809760a2995c3c4d3cf02dbcb70cf82e712619d5d87e3ed1d8ae2633bde2324a865bd8f7024c9d15627ef989ef4dd3a4a7a7e7b4c77fed2bffc2db976c66de628342c7f0a37ee786172fe0f19ee3e117b38554539e405588fef6c11b8c515f5f8dff951af9c9a7a98d26488f3808e81ddce8f9ab48462b617f03752de7f2729452ea5c383fe3b3493a59c5e7d361ea1b12033a2d007eaaeb1aa90de6c770c5254f360f83c3fc50df9d495635b62ba54a83765c46cb6370e80878a72d1cf4b56559fcfce73fe7c08103431eb6ff409ecffdd5d758ec49f2b65bc17ad1058e897ea89949b6214e75759c44ac8a503042b2390fe449d74709180646204643713e819969201ef4535597263fecb1003e02fe6eee8fc7490d988be00bc7080f6c4dcc1652f118b1788caa509048b2891c26b9748a44759060b491a664189f1120fed35fd290ac2614a8a6c934c936d7138f0409d736d35c5b9c02178850db9fff867a9a32ddec6fae21164b90ca8ea63ebcc586dd8b77b87c34e7c1cc904ac488c5e3442321c2d1fac18da89921158f12afad251eb1a72c18811091c48364874c33376c5de6d30d24ab4304a24d649a9244025e0c6f8878630e33db403cecc330bc848a5349c6ba3fb9f4a07acda55324aa8204634d641ae3847d06862f42edc0c67ed8f2a5d13f09d4843a1fe373ae91e437f7e2a94a50e51f62bb37482c1139de511829fe98e93a62b15ad2dddda46b624463497e76efa9df35e5807c9afa449c58344228d01f7f8b86dda6b15d63bb52a5e1c29e2a266038c0516641af41a160c0702b60961538da0d3d32b885993a752a6f7bfb4a1a36acc7ed7270f9e5afc23b23486767077d5dbb79eca9569ecf6ce0dfff0938ec64a2bb2c00e41a88c69a08a733d485201d0ff0fa4403f19638e1788a5473136f6909120ada2d9237102410ae259908e3cba5a81ae6d8803744b27e358d37ff80dbae6c26b5b68efada28417f1589e3d596a5be3a463ad14caaca87998e11787d35f1aa1cf53e1f66cb2e767953b44493d4ac6ea477de7cfc6686c772013b2f7e1fb9965d64cc14e9440d4ddba3d4466fe34bd57142d906aae275c4533fa02558432a151eddb4b86c0335a9bdb0782d89b01732a7e6039f3d552255dd4c732c604ff18884885443a6392370f73000002000494441544e0093e644153566039964186f3c443e7033cd55f534d585c8b7b49d9a66dfcf87f97788e1f3f9315b1e63afb781c67c828696188dd1107f198b42324eac314bb23946e84309ea132dc4c7b47f8684df7752bd06f16676b12b9ba2b12a4963264eaaea1abe946824de1cc53762f94659cf4a8dc5248fcf664b03692058153cd13939892f142afe941b39fe8413a45241aa1ad3786b523444ecdfc8f7bcede4efb2a4a229fc75f5a4fc60b624095d7333d1602bcd3193547cb86d1adb35b62b551a2eec2b2e05c1310bcc8e32986ae09c6e2185e1d7eecf77cec033ed22007e76efc3fce2de161ed8f25b7eb2e1c7b83db3082c9acfd60777f2f0dd57d2fcdfd7f2d82e83bf49ac26fae14ff0cc738058c337bcaf246f90ea6894eae29d7b5e9f0ff259f2268097703246e5ae7a52c51119b3a5816c751581d31e0bfeaa142d3bd6b37a699e07bff921aef48588a55a8e8fda98e95a6a3321e2c5c9c6de500df577d4110ffaf087224402e009c48957579348a5f8c29b96128af4b78c5efcc110613ff8c20912d130a1708cfad42acadb1ba91b790ec149bac9a46aa84dc4a98ea720ba9eede93ac25eef90f94878eb4934f98856058ed761aca61aef8335d4a64d305b6868dc8b2f5c9c7bed0b511d84fd991c26c3a4f9baab86a94b2fbe60c8de3f1823110de1f70589c6c360faa84e4409fb7d04aa6284c8d292638cfb9b787dc141f5ea0b0408f9a13c14b78ff787a8ae5a0cb9167bc475c4f229750e4cf2f89ccfe5e8a6f87b7f3a99ba91e3cf28992d75d4a67334a76aa9adada5ae214f70f932bcb91cf911b699686cd7d8ae5469b8a0afb8382fb1f8afeff9d8b27d01556fca73eb3b0fe2f514b0fa06f7e70c013a217bb0921bdf7c1dbbb216b57fff663eff698b29027e17dcb73548d537773267fed3ccded7cea237c1d7ffed0eaeba7e0373dd9bf9d50f5cd05712d75bc01726990a9169ac23d99cc3cce6614088f286e2c4177f93bafa166aea83a41bf254d7f847752c802f1423d5524d2295249ef80e3fb8ed1a5a723b482743e45bd2e4a8c2d73f8ce30d509d889f3837e0f50d9ea73cd4fc6cafffc43ebe5094107791cbe661d8b1cb937908c66a4846861e4f3a391fb974337bbb7d83e673fb425504b98b744b0e42f6867c268f893d31c1eb85f2c0899b484f29db8875e93da5dc5eaf17cfc0ba2eee609ed1fe27d7eba9f5e0f503a689699ed83e52f9941a4f933d3e7b8b41d0cc9ffecfc3d3c69f706054e734332d647d5112c938271f916f187edb89736a6cd7d8aed4c4baa0afb888e1e0e021830fbcef004dbf39c637be3f1563a175ca7e8ee9053a0f42f6e5252c5b3a9d5fdeff0bfef62316b7fe19bced9d70cb4721f1b10c6fbce17afedf7f44f15fe504d3c9176edbcc22e77a7ef7783762b8868a1fafa8e3c1cccc908a8649e622d4d4d592383e3ad32f4834b194fd0d7534679b69207a623596918e3533a41ab2c50f3e42b17ad2d96dac5d0c8fd5d49036edc0da9dcb903d6900cd34cf626cc7ebc3e7b183f939639a409edcc07c7b7d7683e5f58237483cb1945c638a1613c8b7d0945b463239c2f3124efbef5042cea47c4a9d85c91e9f7dc12a1603d9e6cce947b64f177f46c9c4a43bdb44e6a4f89bcf99236ed3d8aeb15da9527141775cac7d06b7af6de77db123645f74b2ff90807bf05c01438069164d8fce63f1b57fc1be03f0c2e3ffc0bbde0bd6932e0a87dd149e2ee38a37197ce4e60e664eb3282bb7b05a9d94b9e0de5f9771ebfbdec1bf7fff329855c038b5dd7dc5f88a2328f9a604f1a62089d8f08129509d64b9d9483291c2173d31cf75e463f3b43434911d74d208c9e432e8b64777fca110e5dd4dd4360e584433d7485dd3d89e05600edc3d9f234f2591f0b96b1c7ce1301564686c197062338fe9594c75d80f7809c5eb488473a46a6aa9ab4f134e35910c0e1ffa47f3ef503ac65e3ea5cec6a48fcfc118352b3cb437d670bc4f308849a6b1918c399af8333abe40888af67b48a6067496f24dd4376547dca6b15d63bb52a5e2c2edb858e0740bccefa3fd776eb6ffd1cd476fb6a0fdc47401c332705cd4cbf38f43e3efdf43f4436fe5bfd7afe72d573e0eb38c13f3ad5d026dc2dc79739933db07a6202ea1d05e06877bf8c207ffc8fd7f5844d76e03c7d4c22b54409374cc8f114cd2629a98dec544a381e22693eef666524d19b2e906ea1ab390cf9149379f783099bf8a44153cd612241a1a10c04e73ac994e12ab4d0f58c233477363868a55f6729fde5082f8e26e1ebc2d42b43645aa3e4975b49160b16132290e8031e894d03df8bb5c4bcbf19570724df56423352482f6679f0fda331972d9344d433e69cdc4a47bc491c093f3e10d25a9590ef7d7d4d3bf184bb62945beaa965810204f632c46932f423814c01f08e0cbb5d09233874d73e4ba2c5ec63f298f83aaa1b8cd7e1bebfe27d7ab799a51dfd3974fa97133e9e333809f68aa91d5fe07b9ad2a466ae01fcee448d7d7d0ec8f10f48e26fe604ffde9ee263f70ead949df79c309124be1b1cf8788c46aa9af4b12ad4e11a80a8eb80d34b66b6c57aa74b97f72d78fe4f0e1c3637add7df7dd325a7d4fce96bec7dd13f6ea6d718b3ce316d98b3cff38f2dacbcbe4ba25b3448e4e11eb49a7f4b5b84576ba45f2c833f7231ffff00a79f88fddb2fec73b64dd67113980141e1b9ca6ec47be5f7b857cf9f34b457248a1f8bdf594532487bcfbe61be4bffed92fd28ef43d7616f97f72f6a8ebb975c36a59ecf1c8e295ab65ed869dd2d5bfa16d9bdcbeac5ca04296add9203b36af960a4fa5acbc73c03e22d2b56d8dacbc63e7e044473ab66bbbaca94000a162a92c5fb142962f5b262bd66e909d03136edd246b97570820154b57cbfa1d5d22d2253b37dd2ecb3d089ee572fba69dd226225d7b36cbba15e502e5b262dd66d9d3b553d62d463ccb56caaa356b65ed9a55b272d51db2bd6d40f29bed7257aebc73f079a54bf66cdb504c0ff12c5b2beb370f2ef370f9b0cbbe5dee58b554162f5b21ab56af92556bd70f48bf4b76ac5b26e5e5e5e2a1580720b058d66c6b1d3acd61ebb245329bd7c98a72848a9572c7e69dd2baf3443dac5cb74976b6ee944deb56483948f98aaf4aeac763d97f9ddcf3bb81f57a8ffce69e62fe2a56c99ddbf648ebf60db276a99dffd5ebb74bdb88e56b133571eebefb6e8dcfe7617c3eae6ba76c58bb529656964b45e56259b67c85ac5cb5b61817071829feb46e93f56b968ae7785cdb216d437d2722d2ba596e5f5169ff1e57ae90dbb70d0a9e436fd3d8aeb15d9d91d1c4e7c9f4dab871a3985d9dc3be0ebd7c70c8d7c68d1be52777fd4880f7013703cb81eb81d70001603e308353aebb9fe8b8f4bce5ed378fa9b7b365cb166ebdf5d651ed5b786a0e5847c794fe78320cc131bb8f3bbfefe76bdf2ea7f5c04bb43d7214df75400ef042cf7ef8c91678f8e94ff0f60ffc1f0ee7b2bcf8c715fceda70fe2b05cf4751918036acf39bf979f6c5c48faa9b9fcdbdf3f86d5e6468abffece45bd7cfdebafe6a11d2e36fff869e4800b4bce70f91ac70c9c4b0e8d432d9caf32d406af2415db4926193cfdeeaf981c0d893afc35b5039ece6c926bae23d610a6b13e721e4c1918c9642fdff96be3c68ddc74d34d23eea3f159e373e9d3d83e31267bf926d668e2f364b275eb56defdae5b86ddded1d131e4f7bfdad68cc3eae1fdab3ef27ea00be82cbe3a06fcdc059817e4aa628e05057ed160f0ebdd9fe5e6f7f671e5e553697aec41a6fcf1d7ccf3f5b2ef9097978ebc996ef75ff09ad72fe5f147ee667acfe7f8bb4ff760385d148e39304e7e489905eeb2a974f7baa177c0f706d007afbf2acf771b5fcbde1d7fa272490fb45d90553f69e59be2d464e3b40c5af8c68b3fe027103aff576799ece553a543e3b32a25933df64df6f2a9c9e7828bce8621d023b46483b8bd33a9ff8f187b7353f9e9cfdf4dbeed253af61e207fc44bc5bc72e69665c8effe67c2818779fb2d40bb9bc2316398272b1bec6e9dcd81c305b00c0c38f1303307781c5d9872195b5bf6f0891bf640db2b56e449278fbd84a8bd746369c86773ecba27413c554fb23a4cc00bf94c2375f539a2b5a5347a7866267bf95469d0f87c61d3d8feca9bece55393cf05d7717118d0fe0c2c7ecd1bf958d56778f4c91e1edffa7e5e7bc9513aa65e466fcf317c5372487706df9497b87125506e20ad2e2c18ba5114a00c5eca1dc5100ba61b48e780ed871d5c7d55378b2fdecb63cf78c0726018d85315d4e899599a52b534ee82bd0d75a4aa6a8997c83293817823dbcc04c9641557ded60d9e4a964793d4d625098ff6f103256cb2974f95068dcf17288ded1366b2974f4d3e175cc7055701cbe1e00f4f99e43a37d2f3e21789bd27cb9c8bc03abc15471930b5f8ea7140de41a1d318f189ca8643a05b707a2fe68dd7be004e0b11e7f1ed56879319fe1ede7c4d279ddd0ba1230338874f500dcd1ba02a9e22134f4d744e86e0279268209d98e87c9c2b93bd7caa24687cbe30696c9f4093bd7c6ab229ad8e8b054e17300b7b29bf4e281418b1511ab332289be6e65ffefdd77ce6c38dfce7778ec14117853603a7db4204aca30e18786fea69ceef705970c4cdb1ae6984ae680773f001e2007ac0e371d12b5307cfb1564aa9f381c667a5945213aca49ee3e2f0c2910eb87b83c5534fd8d7e99d53c1e905e734064c4a3e0b1e0799dd0ee6cfebe0ef3ed505ed0e0a470d7040c17260596750254ee1d0e1e9b89d3dbc7a611eba86c8a80133a797d1d36df67f544aa9f386c667a5945213adb4aeb8b8a0a34b78e100749842970907f250310b66cf81c00203632a7603698214ec79c863998b2c9d307daac1cfbf2df85f0585fdceb39f15e0159e7d69362e578179f33aa17be804a7782cfa0aafe403ce94526a9c687c564a2935c14aaae36275c08279067fb5d6a070080e1f055fb9b0252d5c52613077113cb049983513aebdca60ba075cd3b187c7ac6222bd50e861d82133abc3c1e2cb7a617a378583c6981b4587e3a4c6d832602aecda3b0397d1013304ebf010a382067476f5d2d32be01c9fc149a5947aa5687c564a2935d14aaae38261cf99360ed973a9e7cd81791506975f62200e687d09a64e879e5e78f0f7429913ba7b84393e838a39e076c1ac9906be8b4ea48709f4d98da5c309e22c369c871d639b0f2080030c0f182e281c05b1c0e5eb8302dcbd7536375db71ba6811c3ea95816e0818387fbf0ba7bec1b4b27eef96e4a2935761a9f95524a4db0d2eab80058e0980138a1af0d5c53813230bae1a23970d1cd067482d901ed1df0c24bd06542eb2178362bbc6a215819e831c1e3812b2e3198351366f8ec340d17f69d3d1d40c1feb9d077fa6c399c763efe6b8330739ac507d61487108fc24ffe7719c79c2b7953e8ebc5d145030c7bd8cf3957604e01f6c2e687bddcb8641fcc37701cb3e86b7762b8746c4f29759ed0f8ac94526a02955cc7c5310d5a7608f923108918e4f6d90ddcac45d8abbd740305f04e01ef54a8b8c8b047db9cf0c66b0ddadbe1b15d4257b72062d0b4dd62c11c83b7bed3e0be9f5a7475c315971a5c79a9c18ce96014c03905bb261cc5f481422783962e1001a30742575bb41ef4f2bfa932b2ad6e1a1f98cd53b9c5ccf73dcca6ad0e5ebdb48ce9de02f419e074f2c07d82c3379d6cf67a2e0dbe939f3f3c8dd65b3ab8f3ab47983bab80d55152eb2328a5d4b0343e2ba5949a4825d7719102cc98066e2fb4e5e1578f58b8dd50becb608a01e53320b0d0c05b0665d38b0799f61406a71366cf82b7bcd500b1e747cb51834e13cc56b8a8c2a047e0b9ac70e06578b95d387418de1636e8e983ee6eb82c606058c2450b0c64c0489f883df5e0da30488f932fadbb88077ed3c7bc0a8b9a773cc0ebaecaf158a682271e9dcd8dafdf8f98065da697035d65acffef45ec3efa0ee2ef7f968fbee56936fed4c5d65fcf211a3d688f2c2aa5d47940e3b3524aa989547a1d17132ebbdc003774ec87f7beddc1d163b0f745a1a317f6b542db51e1e5c3e09b010bfc7683e79b5b4ca017e8283e5f00703a60da1498e6851bdf64d825ee31300fc3fe970d0e1d11a64e81be63d0db070f3e62e170c087df6f60f515070b7dd8cf2c30a19073e19cd6c1976e7b912f7eac87d9816e986a419fc18d6f3988b5df4d21efc27009cee9dd4cf14e67baf710abaefb06b7dd9463fed5f0de0fb83177978dcf8a394a29f50ad1f8ac94526a22955cc7050714ba804e983a0d0c274c990ef32f29366a26f476c1cb79d8f3bcf0cc1ee1f167c085b0f8328305730d3c2e9831cb4e6ed094827640ec9567bc5ea8bc0c2add863dfdc05ddcafc38029601d030c7018b0f597c26b2e33f02f00cb14a4cb49f9bc76281870d8096d4eac62436c1805c43070b82d7a3aa6b1ff4527f5ff709005d79b9083be67cb70b82cbc652685824e43504a9d47343e2ba5949a40a5d771e9678065612fa3d98bbdfa0c6018e076d823790b2e31a0cfa0ed003cb91b5e6c85ddfb84cb2b61760ff49a06175f0cd27b52ba02f48153801e7b8a816582e18623edf0e2b3c2158b0cdc1e7b6ac454af3d3288d80d7567177871e3f460dfa4da63df40ea2e034b8a4be1f439314c934f7db283bebc20bbdd5805309cf6dcee42411f71a6d478c8e5726cddba75a2b3316e448477bce31dcc9f3f7fa2b3323c8dcf4aa951d0f8acc65be9765c86210285e203ce30ed11b75973e04d8b0c30217f0870c093cf08afbad85e44e6947561a4b87a8d40fb11282fb7e75fe3817dadc2af1e112e5b642016383cf0fa9b1d9013fa4c707ac02c08bf7d046e789d4147bbf0f473b0fc46c35e0547c039039e784c683f2ab8771b389d0e5e773d2796d8b4c059069481d56537ccfaa866a5cecc7df7ddc7873ef4a189cec6b8dab469131ffef087273a1b63a6f159293590c66735decebb8ecbc9ace2a81c3d7623e99b65cf757ee335f63cec93579f81e2f302dc70d7cf04b70b7a0b10b91e2a16195c7d9dc1d5af33903c880b76ef16da5a846b9718389c60f5c01c9fc16baf101c3de0c0e08a4a70bbede70f180e903efb79050be61918d837ac5ac74e9cdf2883c37978f9b050799181bbacd8382aa5c6cced762322880886614c8af7c2247982bbc667a52e6c1a9fd5783bef3b2e03590274171ba7e2f482931b45b047f80a9d70f5625838df607f07fce6518bd97b60e614b00a70c375f6329e660f94b9071c6c40a11b162c30a00f66ccc49e8e70d49ea6e0f0da27b8f8624e0c25f6156f46354ea4613984d697edb9dc8b2eb1d3544a9d19cbb2300c63d2bc8b9c721de2bca7f159a90bd344c7538dcf93cba4eab8f4131962fac1c0edc5a539af5c62dff839b302a68883be3ea1fd1838dc271ad6d75c69d837a4166f06058e378e803dfda0171c2e90a9f08bfbed079bddfc760746ef8091ba01530da41be6fa0c96bfd96e50b55154eacc5996757c440f9814ef93b961d4f8acd48543e3b31a6f93b2e3725a46712e76fff4801eb8785171831390e2085dff0a3ac54d2326e9809e0e98ea01ff5c7b3ef5b0ffb71df6b4057aec1574f47740a9b3a30dc924a2f159a94945e3b31a4f1766c7e564c68006b0ffab31ae8469f54119f0d69bec290a85a30c390de264fafbacd4d91938a237d1739f0dc340baf6f27c4f2597cc3cf374b4a11f40e3b352e72d8dcf6abce942f5e3a5f830e8423b143ad09a55ea156459d6f0efe616de57e163d6ac59f87cfdef8bb8e15d7fc5ff643a4f7f3c6065bec10dfe77f1bf6da7d9aff331bef2e6b7f3e5c74699ee30efda308e338dcf4a4d188dcf6a3c4dcc1517ebe8e9f75143d3ba536a90fe11b061e7245b0278b8f17bcd7cefc672e8eea6fdc013dcf7cdbfe133cb9fc14cff8cdb169d666ef3809f2d6ba4fd4c72ed26889cd2c89d3773a835c69c39ad3ba506d1f8acc6dbc48c3bb9168263a6becee4e55a3821ff644a95aa810de3702f8099f32f61fefcf9ccbfe412aeb8ee9dacfdee3dfcc3250ff3d5af3e445771bffcefd7f367cbaf64ce9c39ccb974397f76e7efc98b20d83794cb88fbe5f8f1076fa5e1c011367df01a6efdf1de91d31c459e2784c6678dcf4a8d138dcf6abc4dc81517e7957b26e2b44aa94968606332e49ce4e2081c27cfb52ebb8c9ba397f3b51fdccb335d6fe0b5ed3fe5cf3ff877b47fae812737bf11cfb3eb5953fd41fe6cde6fb9fbaa62d32882951b61bf86bb78e8da55747fef0f7cf70d1e24f753feec837fc791cfddc593f7bd01ef733fe0cfab3fc89fcfff2d0dd5f3879d433d91343e2ba5c68bc66735de74a6af52eabc26c5cbfe23bdcb30fbcd983713dadb312d8bfd5bbfc3c3e51fe75ffffc0dcc2bb398b964355ffdec7c7efb9dade48a8dab35cafdfa1be1dcd67a7e5bfe71fef5cf5fcf3c8f3063c9c7f9da67e7f370fd56f69f26df4a2975bed3f8acc69bae2aa6943aaf8d7a444f4e5ddd26ffec4198ff06667884b6670fd0fdfcf7785be5f7069fe0f267d9df5d4eff88de88fb999717a72dd88d5bfed983c3ee9bebb498374547f494529397c66735deb4e3a2943aef8df8a4634e3cf070d0f7ddcfb179f3f3cc7b43150b2d8ba397cfc773d9c7f9e5439fe5f2fe462abf8f177ae67371fbf78e1f5f3ed27eee27fb4f04c08ccbe6e1b9fc63fcf2d79fe18afec6efc80bec33e7b2c83b72be95526a32d0f8acc6934e15534a9dd7fa47e94e7759bf7dff3ef6efdf4f2eb797671fddcc7fc43fcc3f1f8cf0b79fbe068f0873977f8c6b0f7e8b7ffcceefd92f42676e2bb7bf6b19b7fc9f27ec9b43ed939d763f0fdd1c78fe797bc42ef231ae3df02dfef1bb8f92b32cbaf6ff8a2fde7203effaf727e9d469084aa9494ee3b31a6f7ac54529755e3bed2a2f224037db3fb59c6bfabff3cce335af7f0fdfbeff4bacbc58ec5de6ddcaf7ffa79d2f253fc935350781795c73eb37d8f8e56bf1bcb0fdc4b946dacfd3ce7bde73191ffdfc72defde4fd347f65847dfb1bdb61caa49452e73b8dcf6abc69c74529755e3bed1ceab2e5fcf0b9e787ddde7ff95f449879cd27f956d327f8f6a0fd2ce4b24fb1edd9bfc430ece7040cbb9fcc64d9979b78aea6f8bd0865a14ff0edfb3fc9b7069dd74e479fccac949acc343eabf1a653c59452e7bd337d0272a9be6bc3a8949a2c263a9e6a7c9e5cf48a8b52eabc767c494d19fb13904bf55d1b46a5d464a0f1598d37edb828a5ce7bda9028a55469d2f8acc693765c9452e7b59e9e9e91e7509f87efbdbdbd135dad4a2975d6343eabf1a61d17a5d479ed1def7807f7dc730f4ea773a2b3322e0a85022b56ac98e86c28a5d459d3f8acc69b765c9452e7b5254b96b064c99289ce86524aa993687c56e34d5715534a29a594524a95bc71bde2b271e3c6f14c4e29a5d438d1f8ac9452ea7c376e1d979b6eba69bc92524a29358e343e2ba5949a0c74aa98524a29a59452aae469c74529a594524a2955f2b4e3a294524a29a5942a79da71514a29a594524a953cedb828a594524a29a54a9e765c94524a29a59452254f3b2e4a29a594524aa992376ecf71d9b265cb7825a594526a0c4ef79c168dcf4a293531f4395ae36bdc3a2e00b7de7aeb7826a79452ea34366edc38aafd343e2ba5d42b6bb4f1598d9e4e15534a29a594524a953cedb828a594524a29a54a9e765c94524a29a59452254f3b2e4a29a594524aa992a71d17a594524a29a554c9d38e8b524a29a59452aae469c74529a594524a2955f2b4e3a294524a29a5942a79da71514a29a594524a953cd7449cb4b0f352b08e4ec4a9cf7f8e1938afdc33d1b9504a4d521a9fcf82c667a5943aa726a4e342df8b1372da49c13a32d139504a4d661a9fcf9cc667a5943aa72666aa9863c6849c7652d0ba534a9d4b1a63ce9cd69d524a9d537a8f8b524a29a59452aae469c74529a594524a2955f2b4e3a294524a29a5942a79da71514a29a594524a953cedb828a594524a29a54a9e765c94524a29a59452254f3b2eeacce45b684856130c54d3649e611a6696c6da04896884803f44b4be85334d6a88c4c9a55324aa8204a2cde3986ee9c83756e3f74769ca4f744e945293c1851353267ffba0d464557a1d1701c300e70c709683735af15569e0748058afc0b9a783d3058ce55c16383de09c034eef188f3d97cc1652b108a17084483888d730300c8348e3d9b64c3efc64d8953be35e0b2dc96aeafc49ea1a9a684afa68ae6b2073d62d8849b6250780d71f80cc2e72679b24906f69a42e16c4300c8c608cfac6165ef9b6fd44d900bc810855551102def14f5ba921697c3e87f234c5ab4965272e07e31b5346c324dbdc406d950fc330f006c3442261828100e1ea5a9ace61481acff64129f5ca29bd8e8b61bf751e8217ff042fbd2464ff04fffded029d26383ce37b3aa71b1c0620f6b945a0ab0d7a7b00e72813e9b51b443cf0d4ef05f31838bcc5348bc402a7139c971a38a7007d43e4c331f898b397a7315a45adaf86e67433cde90cf99deb5955310e95e80b100afbcffc78b385fa860c5ebf0ff0124c3493cbd4123adb06339b2291ca62e2c51708110e9c657a45be5035899a044b81a5f11ae2d5217ce393f4e81d2f9bcd1b4a904ac5098ec71f1927a5add490343e9f3bb9466abf730fb5f599737892918d6b4c19dd190944a2246aaa29c743557d33cdcd6932e93a02e92f71732846f33919211adff64129f5ca29b98e8bb31c0ee521f4fe3e6efc681f1ff84c81fb7e6df1a5ba02c7bac031659c4e541cbd630a184efbb3732a983d70e347faf8d5238273be31aaa41cb3a0fd30bce97d7dbce9237d7ce48b050acee2c85e7fb9a642fb51f8ec9a3e32bb04c7ac13f980c1f91837660ba9a63c81aa137f647b8331eaebabf18f43c3e43dab34f264f3679bc6c949a6a98d26480f68e8c6b5fdedcfec2bd6a80f3044d9ce8bb4d5a4a2f1799cca37844c4323de65e5ec4ad592bee04610bc83c3aabf8a64b412f63750d772ee2a632242b952eaec945cc70517b4b50bcfee15fee5af1da47ee822f82a83f219068600738aa36233b047d2161a3803064ebf614f21a830ece9040b0c7b6ac0f4e2febee288da42c39ed6103070b860f5e70abc9803c75c030cb02c78fc19387818985f4c7ba181b3c2c039b73855a1c2b0a7475c6c6f372e75f0e92f1578ea4f42fa41377ff551077dedc04203e74506ced9605c62503e0b7a7ac1ed3430faf35d69e09c09b77dbe40e63970fa8d719c6ee123e0efe6fe789cd4803958be708cf0c0886db6908ac788c56354858244924dc5cbe726d98638d5d57112b12a42c108c96187bf46bfaf99ae2316ab25dddd4dba26463496b4a7049819528918b1789c682444385a5ffc63ba381fb93a4830da4853328ccf08101f947e9e74433d4d996ef637d7108b254e4cb9304d320d71423e03c31fa1766043984f539f88138b4608050696fdf4f2e90692d52102d126324d4922012f863744bc3187995d29002b00002000494441546d201ef661185e42f126f298649beb894782846b9b69aeadc26f18188108b5c7cb315c1d0e51b6dfa7694856131a788fd190653931973b186b22d31827ec33307cfdf53042bd2975328dcfe7663a9c9926d5524d7daa86a5fb1ba81de22693b1c59be3070d1f134e8ea73ffde5a93165cc6dc3e9e2cd68798be344fd1d1a9396fa38b17882787508af11a42e9ba73919b6a73f07133466edf4cd6c03b1808f70b2d9ae8761cbd05fc611da8761db24a5542971ffe4ae1fc9e1c387c7f4bafbeebb65b4fa9e9c2d7d8fbb877cc9f36e79ea672e99eb4364975b443cf2fbbb5c72b1df10f953993cf10b97fced9f3be4e0436e91ae32f9df3a97fcd3e79cf2ebff76c99f9a5cf2abf54ee96971cb7df52ee9fc835b5e7ed82d5ffc84439e6b728964dc72ef9d2ef9f72f3ae5d19fbae4f14d2e01e4f31f7388bce416c9bae5e8efdd327f8e210ffdd025479f72cb3f7dce29f77ccb25f7d5bbe4a11fba4476bb6573bd535e7ed82d3ffe57a7fceb5f3b65dfa36e597183435e7bb921221e917c99c88b6ed9f06f4ef9cfbf714ae6172ed9748753eefd964bf6ffda2d077ee396dfac2fe6fb7f5cd2daec164062d50e917d6eb1760e5d377d8fbba5efc9d9a3ae671191d6cdaba512042a64f9da0db2b3ebe43df6c89d2b96caeacd6d2222d2b57db554e09195dbba445ad7cb324fa5acddd125225db27d4d85b0f44ed9533cb26bf372c1b3423677c969f73d45d76659e1299ec7cea96c5a5929cbd7178fe8da29772cf38867f99db247baa475c726595389b078a5acdbb449ee58bd5aeed8717261da64c332a47cf576e92a7edeb41ca17295acdbb4435a5b77c8baa58867c526692b967dfdaa35b2a9b578ca1db7cb6290e5eb5b87a9ccf5b21464e99d7b44a44bda766e93b595088b57cbba0d3ba4b56da7dcb9c223942f9735eb36c8f6d636d9b361a594b358d6edec92d69d1b64653952be6cb5acdbb05d766c5f2fab2a11ca57c9e6b6d3d5e1e0b275b5ed946d6b179fa8ff61cbb247daf66c97db2b1116afb2f359ac07966f28d6c3c9f5a6ce2777df7db7c6e7f3343ef76bdbbc566edfd625226db269854758b65e0647a1b1c61b919162c250f1f45f7fdd724a4c197bdbd0358a7873aaaeed6b4ea42d22b26783acaa4058bc56b67789c89e3b65f9f2fe58d825dbd7ae943bf68888b4cafae576dac7ebab6b87dcbe62adec385d194edb3e8cd42629353aa389cf93e9b571e34631bb3a877d1d7af9e090af8d1b37ca4feefa9100ef036e069603d703af0102c07c6006e02ebd2b2e806f8641772f5cffbe3e3ebdba8ff663f09acb0c5a9e10625f28f0cb87844f7dadc0ce47844ffe431f3f7dc0e29df13eb6a485446d819e5e58bbaec086fb2cbe566fcfbdfef2b72ceedb26bc7f6d1f3f79c0e2039f29f087a785450bec913e0a1c9fbfed7183a70cfef26ffaf8e1cf2ca27fd3c7bffdbf025fff6e816733f0cfdfb3f8ea9d05bef88d02dffb5f8b9bdeddcbf7bfede4b9ddc2c7dfd50be5f0f083c287be50e0c5027cee9f0bbcf7f30576ec163ef8d77d3cf0b0c52d9fed636393c5c7bed0c7fd0f5b5c768981db8d3db77a74332046c55f95a265c77a562fcdf3e0373fc495be10b1d489d5bbcc742db59910f1883d99cc1baaa1fe8e3ae2412f78835447a35417efd4f4fa7c90cf921f6ae06c2cfb0e255347a2c947b42a703cbd584d35de076ba84d833f142112004f204ebcba9a442a45629437c478427112d521fcfe10d55595746733e400b3a58eda748ee6542db5b5b5d435e4092e5f8637971bc5bd1e5e7cc1909da7608c443484df17241a0f83e9a33a1125ecf711a88a11224b4b0efcc110613ff8c20912d130a1708cfad42acadb1ba94be7c754875e5f9050e4c43d46c397258f371020e487f250dccea73f4475d562c8b5e88da96acc343e8f778de6686a0a118b78011f5535712a1fa92535e85697b1c61b73c498e01b229e7ee14d4b07c794336a1bbcf8ce38de749349d5509b88531d4f41743ddbd37584bd60e6b364d375d436daf72f869309ec6cf9a94eaea2fcc13a1ab3c57c671ac8846204bda72943d170edc3c86dd20537974fa992e19ae80c0ca5af605ff20fbecae0d54bc0e980393ef8cf1f14a89807f7deeb26f2965efee2b37dbc6bb983ffb9d3c5556feda5b70fe6f8eca908c14b0d7ef7b8f0c79dc2dfc69d7cea1ffb703a60c58d068ddf7571c37bfbf0cd30b8fad5069ffc80033c061c110c03664e878777084fec86cc7d2e3ef8f902972fb2a729fce37f16b8f11a07993dc227dfe7e053512757bcb3978b97183cf16b1757bcb18f1bbe5ce04fbb85b72d3358f70d17572feee1cb9f72f2775f77d2f83a8bee5eb8c46fd0d2e4e2e6d57dbcb01f5ebfd4e013ef7580cfa0b04f30c6b14be90bc548b5549348258927bec30f6ebb8696dc0ed2c910f9963439aaf0f5c7716f80ea44bcf8214c321522d35847b2398799b5a7020c7d9231ec3b845cba99bdddbe41f7def8425504b98b744b0ec23ebc80d7e71dfbbce4010778fd5e30f39826989916b2be2889649cc058d32c267cf23d3a5eaf17cfc0727bfb273a0cce43ff61be5094107791cbe6a16a6c7538f0dc2397e5d4b90d5e3f609a98263ad15b8d89c6e7f18dcf641a48b534e38b3615bfc8e3f5eca2ae2e4da23e3ce0d7736cf1e6743161a8783a30fd336f1b4e0d28a38b371e82b11a9291218e0fc5a989d473db7b2fa561d91aeaea6b8985ec6dbe489258e535d4d6b710ab0dd292ca108e87f002b911cb706a7607b60fa76f9302c3154429750e95e41597639d42990b7ef80d276bbfe862da14fbc6c9fc519835d380e906b3ca0d76bd20cc9a09f8a0620e747581db095367c0542f747481d90d0ffedee28b9f71f2fa90415737f475c28ca9f6b68e2ed8ff32f648da4c98361b5c4e38d80633a601730da64d818b2b0cae7b8d41c3668babae804b2ac0536630631acc2937609f70f98d4e9efa998b2f7fa3c0fffe5258b6d45e0e67e634b8681ed06ea7dddb07f36703b30c66cf34c8bd2c7499b0ff909d8f716b14cd0ca9866cf1838f50ac9e74761b6b17c3633535a44dbba9e9ce65c89ef4b7ad69ff654f2a1a26998b5053574b62c068dc90e71aedbe431e6fdf6f911b980f6fb1b332ae77f0437f036b62d29d6d227352d9f367bcc4f319f0faf0798a653c8b3a2c89b2a80b82c6e7f1ac4d937463966463230d0d0dc557134db54bd9df507b562b6a9d6d4c18b7b6615c04883565d9b17e0dc1cc77b8ed9ad0897b1cbd211289a5ecadaf259d6ba1211b211a1c45198665f6efc42bd72629a546abf43a2e863d8277a81deedb62b1ff798b231dd06942306090d92decd95a60df4b42f59b1d3cbe4bd8d96cb1f725983b0b5ed80fcf3f2f3cb74f983b1d16cc33b8e3cb2e3c4e38dc0ef923f60d98edc7ec06ea68873d8288075e7c0eb63d283cf18cf0c6ab0d0ee521bdc5e2d1a7eca5645eb7c49e23f0866b1c944f833f3e2dfcea118bc3edc2ae67856cda227750983e1d2ef5c3d6b4d079148e76dae743e0c831bbd17e613f3cd16cb16b8f70c97c83b6a3767ec6f75f244f4b4313d9815ff9222493cba0db1efdf2874294773751db38e0227eae91baa63cf9a604f1a6208958e8b483f263d97728be70980a3234b60c6825cc3ca66731d567b3ecf248e70c84a868bf87642a7362cc32df447d53f69c9caf9f39684d811c792a8984fd6755871355167581d1f83cbef2cda472d5844f5a5b3d501d6769fb3d83e3f2189d6d4c18afb6615c649b68ca0e1c7cdb4baa2e7dbc5c816892e56623c9642dd9aaeae35798462ac3e94c449ba4943abdd2ebb858e09b693077167ce2ef2ddef1f63e5ec80973cae1affec2416021843fd0c72dcb0dbefd2d27070f43d55f1430bb61c58d0e965d657043b40fb71bfea9d6c9754b0c2e5fdecbe6adc2754b0c66171b8879b3608ad77ef79401b3e0dbff55e0adb7f5f1d6b041d56d0ede71a3c1071205722f0bbe1970e9ab0c5e75b141c51cf8b30f3b78e88f167ff9558b5bdeece0e9bdc2b2aa5eaad61448ae71f28b1fbb78fc19e1b60ff671e9c2e2792db8682e4c9b0ade3278f7a7edf9de9ff8a80311c15b863d977b1c99e924b1daf480c942399a1b3354ac4a10f6d9ebf6c71777f3e06d11a2b52952f549aaa38d04c37e304dbadb9b493565c8a61ba86bcc423e4726dd4cc62c0e4875f79f68e47d4fcd9889d9dd4dbe7803873794a46639dc5f534fffa22ed9a614f9aa5a620346cf461c28037c3e68cf64c865d334654cbb611be6186f384162293cf6f91091582df57549a2d5290255c1612a337f2223c51fcc2132d53de81873e01b00b9961373bd734df564233524829cb60e4f29db80fa1fb92ce66927ed9d9cb65243d2f83cae32a93af25543fcf11f88105d0c0fd6d60d889f638b37a78b6f43c5d34131e58cdb86d3c79b539998740f7b25c4cc37535b5b5c25cc172656b598407040e7c15f45b2dacb233fc8515d1d38fef5886528d6c1b0edc328da24a5546998d055c50a4fd8ef2f6e73cbe39b5cb263a34bdab6db2bbdc85eb7f43ee696dffec825f2ac5b647f99bcfca85b9a532eb9f462e4e99fb9445add72ff775d72e4776e910365223bddb26dbd4bac27dd22cfbae5a566b7f43eee96830fb9e5d8a3f67be71fdc52d8e59603bf71d9693fed16d95726f2a45b5a7ee292dcaf5dd2fe885b64a75b8efcce2d3d8fd9abebecbedf254f36daabe348c62d7fd8e892271a5d2239b7c87eb73cff2b973cdae0927cda5e0da7f0a45bf24fb8e5f777b9e4d501437ef97da7b4edb0d37a619b4b3a1eb5f71976c59ab1ae5ad3b55dd654208050b15496af5821cb972d931527af2ed6ba49d62eaf10402a96ae96f5fdab75b56d93db97950b54c8b2351b64c7e6d552e1a9949577ee94b63d9b65dd8a7281725971c766d9d33afcbea7ac54d5ba4dd6af592a1e10cfb2b5b27ef30e7b1597b6ed72c7aaa5b278d90a59b57a95ac5abbbe98cf2ed9b9e97659ee41f02c97db37ed1c76759ad6cdab65b1c723952bff43eebdab784cc54ab963f34ed9b37d83ac5d8ac06259b3be78ced6cd72fb8a4af18050b9426edf3674ca6d3b36c99dab17db75b978b5dcb1a9591edbbc4e56949f48bf75e7893a59b96e93ec6cdd299bd6ad907290f215eb6473eb4e59b718f12c5b29abd6ac95b56b56c9ca5577c8f6fe538e50df5d83ca76a7b46406d4ffbacdb2a76bb8b274c99ecdfdf5b04aeedcb6475a07d4c3eaf5dba5eda4b44f5d794e95b2577255318dcfe3159fdb64fbfad5b218a462e53ad934e8976e40bc0359bcea0ed9bca74df68c39dec8b03161a878dab567a89832d6b6a14532a3883703cbba67db86e279fbdb8353db8cae1d6ba512a462f92a59bb768dac5e73a79cbca864d7f6b5b274c50639654dc821cb30a00e466a1f866d93941a1d5d556cfc57151b6a7d14f74feefa51cf5bde7ef3987a3b5bb66ce1d65b6f1dd5be85a7e6807574e88d623fa1d8f0615f0fb2804ea00c0aede09c064c37202f143ac1f92ae0259879432ff7dde9e28def31a0c7806342a1adb8bfcfbeb1537ac0986e9fda311d7b64c9037441c1c47ef6c04c7bdfc291e2e769d8a36cfdfb94dbc74ba1f83466a3984e1730cbfe2c87c0ea03e7dc62997aed57a10b9c97c3935b84f0870bbcfc9013efa506852c3867dbe52c7433f27530c70c9c4b0e8daa9e55a9c9501bbc92546c2799a40ed9a9f1b171e3466ebae9a611f7d1f88cc6e7492edf142761d692aaf69d7e67a55e21a389cf93c9d6ad5b79f7bb6e19767b4747c790dfff6a5b330eab87f7affac8fbb1237667f1d531e0e72ec02cbd55c50cb004683be9fb628351e802ba8a8f2f7683f512f4f5c0b6f52eaea834b05e02e93bb1bdd0031c18f0b8e323f65ba1bf5dee29bebb4e4dbb6032f832b20185e2f138a070721e07b657ce21b63bc0da078185060fa69c809d5f9c76a3dfbf8f524a95248dcfaa24e5686e80689d765a949aec4aafe30220c5b5fba71547cf46d8d5ea86b29970ddcd0ed827764338b0711170baedef0aa6fdee74815500199870c17e8a3316143a0167f15807f6a85f1fa7a67d2645eb81e9d3e1ba880107a0d07bf669aaf3471e30f3f61c705d97469d97343eab12916f4e12abcb11f0e7c9f86b68d47e8b52935e498664c3b0577079fe4f82c30946019c33ed4bffce59e0f414dfa7816b01b41d80e77e63c102bb71734eb7a70c386783b30cf2ed70f40838fdc5e9058063867dbc730e38bde05c082fbd002fbc20f6779ee2f4805970ac1df2c7c07951f198e9f636877152e33a1a0ebb312ce4a06051a2ff026adc99599aea6b69dc057b1bea4835eba31fd5f949e3b32a15663e43fa9e069acc6aea6a5ea115ce945213aa24afb838cae1c567e12bffd7a22ee9647a053cdd22b41d81b232b8fa0a831d7f102eae3028bf08bef9438b70c88099c28c82c1d14ee1e831e8e9836521fb369efd8784cc5ef0bae0f15d7079a5fd90b1e7f6094b171b7475c1ff6db078d3b506f32e01a31376ed161efcade036e0c31f70f0d01621506150b0a0f5a0100e19383883c6515d78bc01aae22932f1d444e744a9b3a2f159950a7f752339fdf755ea8252721d17c300f1c096b4c5eee785077e6bf1de5b9d3cbcc3e2a50376c3d8b8c562c915067f784ab00a70d17cf8f1bd16feed30738641602194b9e1d127619a17ae08187c6fa3707105783db0fb052177c8a0600953cae0e13f0a0be7c1c279b0252dccf341c3fd1637bcd6205061f0d00e8b6ffd3f0bff1cd8f1a46076dbcf1a703ae1fa3718a7ce95564aa94948e3b3524aa98954721d17870b0e3c2b4cf5c277bfeee4b1a78483cf592cbfde0081ae6e78fa4f50566670d17cc1b2a0af60100ac2b429f6d394af5be2609e4f58e4c75e45c68205f3e1bd3739683b62aff97f45a58125f0e893c2fc39f643c7a6f51acc2a171e7d5ab8fad506656550b9103c1e07fb0f81b7cc9e1af196ebed63cd6ec67d5d7fa5942a551a9f95524a4da492ebb814fa60e6548355ef34a01c2e5f68609a307f2e206059b0f43a83dc5e98eb3370b9e18556b8f80a83f697608a07ca3c60150cc2217b9a806541e2e30ec48285150657bdbab80af434f0cf31b86821747740db51f05f6cf0722bccbd040eec05cb12aebad2000fb4ee35983d133c3341bab057b169b7df95526ab2d3f8ac94526a2295dead87963ddd80e9d84b63baec27278b65ffec28033ac0bf105c5300075c5c097442f91c289b0a18f6c8200618aee2aa354e301cf667caa0af0f8e1d808b2eb7cfe9990afe454017cc9d0bd611985f017ebf017d601d83051781670a589df69489d395c339a580d3d78b737e2fce8a024e57c17eee81524a9d8f343eabf345be85866435c140354de6109f817c63357e7f94a6fc84e65429350625d771311c80018f3c2cb4b7434f371853ecef7b4ce8eec25e47b6073ada393e15e0d851a0cc5ecef2e851e83681a9d0d70d5d9d20bd76ba3d26481f749af66733cff1f53ccd36c0632fcb29623f6cacd063af2e23627f5fe8b5772f58f648e190a3790570ceee63fffe296cfbd5227ef4df1771ef4fa7c30cc1b9a017438c91d7101d7779d2a904d59108d5d128b1588c583c415d433d897813e724669b2da4621142e108917010af6160180691c6d19ccd24d79c2259e5c7300cbc9104f54d19fb910df9340db551028681618488d737d2726e0a40b64557fe526a208dcfe3c524dbdc406d950fc330f085aa89c662c4a25584832122b13ace7ee1c1e163582edd485d2c609f3b5c4d341a2dbeaa8904bc04122d831e91339ee73e5ba3cfbb0f3f1976e5fa4b72f267f0062254554508e872644a9d374a6eaa98613ff78bcdbf117ef78430733a84af32a8bcc4e0eefb2c2e9a6f70b04de8ed85f2e9e0764399dba0ed081ced10caa743f90c83fc11a1ab1b5e6eb36fd25c7c29f4f4c073fbeccf57be0a9c4e83cc6e61d10298e333d8b15378e3b506575d6760b59f36abc372ccec6367a69cc776cee655571c618a55e03fff6b16ebfe6729dff9f2132cb926cfff67efeee3dcaaeac48f7f6e320fb7d34e7b4b3b6d5aa00d166cb040531008a290ca532aa041ac049f083eac615725f8faad845d7777d49ffb8bbb3fddb03f5da3ee2ee9eeba06bb2e415482b6185424f844aa202965216d81665ada66dacecc4d26b9f7f7c7cdb433d3796ca7f3d4effbf59a5766724fce3df7f6d5efc9f7dc73cf358a8dd628e5a99ec6a0e789f93cb4d34e3a15c373749dfb22a99097482e4264c2775a2215f0117526c966bd68809e4f10f486185b57a6e2f0066957b3241efb06ee489490afdeb3681e0291760a8907b94f0bd31ef2e398f0f6038504e1849b64cc214b6c0a5127f179a2a838bd01c26a9ad863493cb124496f3dd214d3843c1b58ef2df24c2e8afb4403d00831cce1f1135233c436dd8f339220d9ff69f37a9668ece4d29653193fc7dc76cd89dbd3af7718fc37a0bac3241213dc4021c42935edaeb898356bbac09bd7c0eb074df22fc18e5dd05b81ffd96db2fb3593c22b60b3c36bfbe07f0ab0fd659372d9e4274f99680bac273befd805d96dd68d9d6f5aa570a0041dfb61c5728505f3e0c5ddf0a39f9bac394f41ef81677798ec2f99bc5030515a4ebcb7521413c5d1c017ffdf1c76bf7280cb36bccebb6f39487af32e966b47b8f2ce77f1d4cf176173f4a24cc2a85e36e2e39eac877832dc2f690170e08fa588ba4a137fc545cf91489770fadcf4ed52750589c7fd38c6d38ba92ad06cbd0cdc30c47b13a894251a089395e903420c20f17982a9433c31d1e1a3bdfd72d81e27963bc104620c314c55d5a1930ad543387412cf449984f839d6b60fee274e69bf21849814d32f7131c1d061fd65363ef42e1b9eb5e0bb56e140a78982c285eb143ef9011bb7bfc3c61b9d0abeeb6d9c7396c2435b4d3e7aabc235d7db58de06eb5c0a7ffda7766ebcca8667adc2351e1b37afb771ad47e1e6f536deb55ee113b72bbc798dc24d37d8b029f0fb17c0b54a01fdc47b2cd3b4e65cbff982c37ce6ef9b797eeb7c3864872a7c37f10ceff0bcc8c67bdfc9cbbf6fc2b6bc176aa7f0924b3145e4fe9d34fbc2f886ba2ca1ba0886bdf5e442a7900ce1f78708077db85d5e229912502213f15853bd5c615205ab23d50b49824e0d4f243344e2a3e17494792c1422913fd6f16a9e209e53d971e87912e120c1508880d78d2710af779e3ac56c82b0df852b90221df1a0294e429922b9788860284cc8ef46555cc40a25b2c938e97c998e4c3bc160987f7a2849c4efc61948934f47f03a5514d54d2855442f240979341445c57d74dadd70e7b2de0e9f0b57304d3e15c2a329289a97684e1fc37621a696c4e7c9a1ebfdffbf0f17bf4a50ca120f870806bcb89d2ebc9134458e8f6189c258779c2711cd82d617a8878b65d6b6b1c4cf4481d163f344c4bce3da3e8a629664c48ffbe83d2f431dcff89a208438f5a6dd5431b0e626cf6d85558b1556adb341a7c9dc390af77d4ca1f94ca013a8c2351bac4e658ea2f0b94fd8b8e04d0a1c810bd62a5c7039d08d35c7da80790bb02efbf75dfeb7296007ca40236cb8cac6dbde6c72ee4a05e324478a8c5d06e18ff5b2fa9c2acd955e8c5e05e370230d67f6f2f5cf3c89ef336bf8fcbf5cc33fb73f8aada586513e35f9a39e4b92055c3e17438ceb01a0b9ddd62fc52481601a4f364fcc0dd990932bc24942b910de688a78761977e2c1539f0cac3a5c385c41c2eddee3eb56dd44e27790dab0893bcfcf90b83b463c1ac0e5f0113e25f3ba008aa4023e12fe0c99a0d39a22e775e3f5433e13445535f4dc76b6ab09728108ed77a4a07b33e1a49b442684139d603840160d4f284628b1899cab9d44c28d9ecfd29edbc64e3549aa1426990b920ab8b92b1880488860aa402413c47d7b9878384f441bee5c06d11c2ed4fc76b61712a47c1152f91009df3aee0ba70865fca8236e0f0cfbef28c46491f87c6ae9851491f66db0f65ec26e15d061a8f8a57590082570c4e2241ca0e722b8d76d20e0da4366400cf38c78f524170d12485afb29661f26e7fe2981be8d23f40bce42620cf1d3834a91947ff8d83c724c1c39e68dd8f6d1ceb3aae1d0f36c2b3aad37863c1e21c47433edaeb880b5224cad02b5c350eb30a976c3e245d0dc0ad53df59b30ab507b1d6a1d70d60ab8e052052af56d87a1b60f6a5df5bffbdeefa9dfd0a943adbb5eaebe9fe52be08d6b1514b3be42ce49306a76e8a9b1e1d6fdbce1dc5e8c430a8adda4f66a030bce832fddf53b7ef1c25bd9f2d345282b6bd84f51fa582a162903aa3686afbbaa0b7f2080bf2f31d134281528e9000efc91db58f0448c54c12aaee793e4dd415cc3f4880e5f82dc330f70c7da124fdc7f3be76b6e828913b9e1b34cb63dd0ef06cc00814088787e50b17c8c705a23e0731e3d9e60bb1ff58976a25970b8bd789dd0ec0c11f2fb0927128496bf4a211b239a2aa0a3e28984f11e9f85a1b9dcd6675d41c201370ecd4520e4015dc31f0ee07168387d41dc14c815f511cea58ae674e276c00277c8aacbe1c6ef5b0dc51c4546db2ec4d493f83cd1ca64220102c1007eaf0bed9c5b789077f1f5647bfdfe1675e8f8c5d789668b641251a2d128b16409d7d597a3168be38ab3ee4882643249329922937d8840ffc1a511fa05bd541843fc64d4d87c32316fc4b68f42d55cb8bdc73e30e6e311424ca96979c5c57a2a59c55ad94501c5d644ad17e8ada22806d068f59e46056c560748b71db083cd3cbe0e7b537d8e43af35f97a70bed65747d7b18f9e54eb6d26b59a02af365a7ff79d653b7050e19215bfe1da2b6ee6d1e7dec9593f7980250b6ab49d63071daa5df5957b26805abf64ae97c6d08d691e220937f9548c48a6885eb0a6361dddec8d105cb98e683c4730ea2297c8e319651eb4e60e92c8f909272284c2df60d39debc8159f211b19cffce9663cedfd6e5c05a040cc7d0ef7f47ba798cdb0b3ac0db8874673fb70f120d95c113c1a2ad639393affd91da2dd1be7ce5bce2179f9c789c5a304dd43b5e1f87b6a5455a5b9ffd7837a011d463997c71fb9ea00741d5d67c849d803b70fd53e212693c4e789d58c377a2cc6e9851411ff2ddc75be9bfc535962f59b1307c72f3d9fa3a005084742388fabf3042f4b39bcf8ddfd4685468865638d9f6389cd839d50cc1bdcf631e81f6ec7de1f0821a6d2b4bce20235b0cd05fb7cb0cd816ac5fa310db0b5586b5e562bd0b0c45a8bd336078c9af59ed16b6defad58651b165acbd5d47aa1b1ad5eaef7d8fa9b93ccecb233f70df0e6b31ee25ffe633fdf4ab6f074c1e0bfbe6b70f808342c5626ec69cf9acbc76aa090c98f3e02a7e749043c448a5eda6351c2de414357aa9b70782d3be351b2c51cc98297806b84ba9285be56e00ec6c9167ecaddab615b7b3bd95371bb86ae03258afdfb6bb59eac0c7b47a69360bac0330f7c1c57fe1bdcb9ce6dcd1b3fe9b68c722e8598d1243e9f4aaad34f2c792f35835a260000200049444154abd9cefd91f4b0571d7474ca8534f94121ab543c9900abe10bf59b5a36622c1b63fc3ca1d83c016d1fb753d41f082126d4344c5c4c306a28f3df85b2f813280bde8b32e72294f96f4599b71ed40b50e65f0b4d4e6870a02cfe24ca828dd07a35cafc2ba1652dcafcf528ad97a2ccbf09dbfc9b50e65e8c32ef5294f97e947957a12cb80a1a16594be44c320305da9ad8fe5c8e23075ec775e13a6eba0e96ad54f897a4c1810e03fb4226e63902ae20ed3734d3996ae7681e31804e3e9522af43291d269476110e0e7f35c4198870b59e22128952f0f98718e5eb5322974c3360979a9748e47228d747d12698e6f1b0943ca9fe0f75d14be8cdabf17b86491c0a69d285fe89d54e12b1ec493ebf606ce752889949e2f384c5e79168f5fb124708969ad3cdd2ce878924fa0d4c95d2c4d38593df7f214522a78f1ccbc6183f4f28364f40dbc7ffb953d31f082126d6f44b5ccc1ad85b01037a5f054cd036c01c37282d282d6f816617342e007a31f5df43b503db5c2fb45c8ad2f446987319ccf781d183891de65f0573df06b66698b316e66d00fb19d6e8de54e8a8e2bf613e777cfc66b6fcaa8dc2afe0ca5b6d5c742e7ced5f4d50276aacd1412091e20ec713dce90b9218f0a4c622d9783b1987d7ba4f45d729776648a4f314b24962a902948ae4b3198e2e0ce6f011f1ab3cbda988dfef1c71cf7a3642309aed3761a148269567e96d7dcb329748873c7882233c00532f01e521faeee3931fd51da1fd6a78ac3d4e5f9f55482728f9a2045d7d9f1af83d402f658846ebaba2691e82bed5385d5647aa69d099cf532c6449e74bd6e706edb43ca049fab19711cfa53e4a4738da7621a690c4e7098ccfd463dc602532d1284fd3cc0d61dfd1e7540d0e41aa274c782d6cbbc78d3718251e8b10f02770faac803730861d1f5574bd3ee96bf0263d4f3c92c2e154478c65db3ac6163f33ea3da3c4e6f1c7bc31b5bdef7c95077e6eb8bf47ea0f8410d3c7f4bbc745b10335ccce94b5eea6ad111a9741f500184750aa6eccde57a0ba1f6c2ae8794c4c4cfd59307aac72f6b9a03443ed80f559e308d00046b735a1d936c77aefd4df7539b4fd066fb9a29ba262f2cdef5ec8f3af3d8c737f2f6f7fa7c2835b5ad8fa031bd7dc7484da5efbc9efcbe123917f1e5f2442d4ef248203a7d389c3e1c21f8912aa3fdd4cf3b573efe57ebe748b97fcc763c4237e92fe0cc97c3b7e6f5f651ade7090b525cfd0cb2b0fd0c913f75dc1c2d85aae763ba05442f5c4c9447d47975f2e15f2e419ea46529d6226452296a603c84423c40911f4b9504b59528918f1ed003122318d70d08f5b73124a65d0432102de0c6e97065a9054d28f039d7c2a4a3c0b65da694fc589f85da8e814beb11e57fe36026e8d921e2619b54616dde13b58ed0fe10dff3dfff2e10cb11c94d538f1b49380b34022968532c463299c4117f9449c1c6588c5c8de3fdcb9bc8f757a8c440e3a0b711219277e354b2cb11d76422cf9049f763c3ac2f62cb1a0475616135347e2f304c5679d4226453296a283320f073d785d4e1c1a14f3390ab8b8fb3b29a201070c13bf345c44d28f520a86886dba8fbb3237706f2259bf415deb17c362a4939e017b2f669224e24976023b237efca9fa8322f51285dc63e45c0f51d446ee17129eb1c4cf18e96408df08b1b9901e29261e1ff3c6da76bd90261ecf01108ba73967033c34dcdfb134e7ac1ffe788410d3c75003478ddf7bf0db95f5d76d1857455bb66c61e3c68d632a5b7b6e111887476852ad3e4d4001cca337815a37749ad6ef8addfa1dd3ba5bb26f74ce66eff7bbcd5abbb37fd550afcf56bf2bf3145ff33714ec8d06b456adeb5b5d7628dbc0ece5db4f057974db8d5ce7fc33eeb8732fa8f0e5bf5dc2cbafcde3abfff832c6ce06ccc1ff42b656ec6bf69fda368fa0940e11d6a324fcf2f55988e960f3e6cd5c7bedb5239691f83c8c59169f8510d3cb58e2f36cb275eb566ebee9c661b77775750df9fee33fcd60332adc7adbfb6f057ab016ccefc65a96a5eff71e409f7e53c530011b288d56c7a5345aa37a7d7fdbeaef61b33a47a5c1fadd562f37e077fbb1df8fd6d1f7bb9d533f5119145b0d1a6cfcf63767f1efdf7e035ddd76985f053ba84ddd288ac2fe438be010d00517b9e6f35ce10c6abb4c6c4d27b9eee7842b92494240d68814e23425f179fac667218498fda661e2329aa97992f189b29d09fffe5003d16ff57296b3cce61f2f03ec30075a6cbba9567ae828a970c42abf7c898d5297c6cbbb55987bea3beeb1286522f8fd41c2a110714748d6b617420c43e2b3104288536706262e334c2f68ad06bdbd55d6bfb7c8ded7bb483f3a07ce8406e5109a369f4aed0c3a0f030d60b775d1d3dbc2ab07e6833a3d46f4f4529eecc349d2ba9f58bbccf91542cc12b3203e0b21c4e944129753ac5654b8f95a93fffa4a37bc5e63a1a6b2f599e5d008cdcd8d34371a54aa4d1cee021aa15683267501e54a6ddafceb38fc298aa64e3e11b45620134288596036c4672184389d48e83dd51405b3b746437305bae09237d97971cf227819b4d61a86a1d3d5d34bd5009a40af3450ad3550ab9567daac0b21849859243e0b21c48c2289cba9a6806128d4ca36a8299c77e63ebacb0b28bc008bb50a2d739a9933672ed52ad000070ef6d2d8d44a83cd3619f7a60a21c4e94be2b31042cc2892b84ca60ab4ceabe058e6605bc14183ad82626fc06e53b02940195e7ced0ce6cf9f4f73532f54a7bac14208719a90f82c8410d39e242e93c8acdaa1a1cae2d64e5edab3981edda0abab42a55c62591bd4fe07b2cf2da66d7e8925f37bace70908218438e5243e0b21c4f4279177129928a0c0a20515f6965ad9d7a952eaeca256d9c79c73e197bf8197f65dc81b1caf71ce72a0e7e42751eb852421af034551501c6e82f1dca027d5ebe4e221fc8120c1809f602c4b697025a51cc9b00fb72f4971dcf50b21c4f43715f1191831bea2e78887fc048241025e0ffe48666099d1b68f56bf1042cc3092b84c361b9cb5ac09bd3a9fbdfba1bbbb429b76041a20bb63198aba8633b51d349f0d46e524ff79f41ced8118255f94ef3cf00fdce1c8b3e92e2f81d4b1d4a4980ce08b3b8926132492313ca9008144a15f1d4532992c99d4636c2be9e3ae5f0821668cc98ccf30727ca548321020e589934c2448a6e3b8523e7cd17c7d7068b4eda3d52f8410338f242e93c834013b2c6cada0571ad18db328972bb8cf2d61ee825d5d7e9a6dafb27c7e1ee69cfcbd9f7a3e83239a2619091208864964d2dcb1b493743c6b756c7a8e68e4611ca1002e009cf8434e329176327d7d9ceac0eb0f12f02c187ffd420831434c767c06468cafe413b4a735023e47bdac9b70c4cdb6f60899d218b68f56bf1042cc4092b84c3605d4a62ad59a42777519157d3f2b1676b2f5d78bd9dbfd66ce68fa0dde4b7a61ffc9ffd3a8ee10e1fe8fb9d7dc045ccda89af530163d9f20b573012e97e35811971b47479a646e60eaa10ef1fc96d1ea174288196512e3737f43c5d7523ecdf6f2c0f734b79ba5e52cc9bc3eeaf6d1ea17428899481297c966836aef11cab5f9ec3d74168eb94fd1a5c32f777d88ae238759bde4572cbd048c23f609d8d9e0deaa44bee4c01772a3027a21c74e349c8e63e554cd894607b9c258a67b8d5cbf1042cc28931a9f47a66a0e9ac993c90fbe7e5da2a48fbe5d08216623495c26910260405737f41af378eea526da1ad2bc7c7025077adf42f7fec7b9ededfba15b39258f08d0f34952ce76a2f5ab247aa904a838066419f5ab3127d0f30dae5f0821668aa98ecf83a9ee1081a59d6c0ac7c896004ae4d2593a70e0d446df2e8410b351c35437e0f4a240154a87a1525b8871e039aabd0b58b5e053fcf1d7792e5efe13d6dc00c64b0da7e0a9cc0592d102e1780467fd1d55d580227aff1c452fa1039a36de9eeff8fa851062e698caf83c04cd4b3cfb105aa89da0378ddbebc399cbc3023f7ea73afa762184988524719944365b0d6c0acf6d2fb1a7f83a5ad31ee62dbb9e3f161650dafdafdcfb4f3dd0693b05a37925b2b1187a3886ffd8ed2ca82e374b495228e91cbbd252a0c452bce3eaf886ae5f0821668aa98bcfc3539d7e6269bff547294dc05966652882471bdb762184986d64aad8649a57a35c9ac38bc5e57475e6d9b97b1f6f707979f4478ff0171f7c8eb68b6cd4f6d92778344f279f8892f5b41372ab47dfd375505d01fc4b3bc8e58eddcf52cae7e858ea23e81e6be2327cfd420831634c497c1e2b9d6c7b9894e36e92ed43dd4338da762184981d2471992c556019fcf8e9569e79ce64c7f3bfe222f7156cfdf9ab04d7a7f1ff09183b6c30a1f77ceae4e341c23917ae5296743a4d3a95241a0c922802aa8748f4060a891405000aa412456e8846f10ceaf9864e4446a95f082166822989cfc78c3cd0a3934f040866bc2433b1e362f3e8db47ab5f0821660e992a36910c05bbda0b0b4d68b481694037567ad80ab55d4db47f7d0eafbefc732e5abb961776cd676ddbdff1d9cff5c26b0d18a60d4599b88908f9980ff73d4f50e6411ebbbfdf86b5ffc0cb4eeb57673049aa14221cc8e1504b1048910af69fef55229b4a10cf744229412ce1241cf0e250c756bf10424c0bd32c3e5b868fafe879d2a92cf95c968223443aeb63c00cded1b68f56bf1042cc40435df46efcde83dfaeacbf6ec3b82adab2650b1b376e1c53d9da738bc0383caefaa735136c36501cbd545e83effcc04eeef91a672d8537b95aa994abb49cd9c0e7fffa30bff803cc6d3d03b3f122ee7c478eaf7ea504ba9ddafe318ee6d95ab1afd97fca0f490831336cdebc996bafbd76c432129f253e0b2126df58e2f36cb275eb566ebee9c661b77775750df9fee33fcd60332adc7adbfb6f057ab08695ba81ae7ebff700ba5c71395986827d61154c836f6f82cc73efc050af61e9b98bd1deb082c517bd899696b96873e772df979fe16fbff069b6fdee77fcd5477fc7bd7f79080edaa91db4837d326ff9144288d380c467218498552471395126d8edc0920afff307c8e45ceca97c86d03defe5920be70e28ba7fff419e7aeae7ec7ea5c0aedd8779cb8587b8f74bcdb0c346b5cb8e229da210424c1c89cf4208312b49e272224cb03703adbd6c4ec2aef25f70cdcd9fc37dfec0d3f9b5af7d8d871e7a8842a140b95c66d5aa55ecdefd3a575db4188a9d5051a4531442888924f1590821662d495cc6cb045ba309f3aafc531cbacff82e9ffacc469afa15f9e637bfc9e6cd9be9eaea425555bc5e2febd7afe785175ee0ec555e2e5af13bd8f708d865513721849830129f8510625693c465bc4c50daaa6c8a43d7a247f8f3bb6f3abaa9a7a7871ffff8c73cf1c4137ce4231f61e5ca953cfffcf39c7ffef934373753ad5659f5a60be8786e0b3481d12b1da310424c1889cf420831ab49e2321e86827d792fbff8213cdff325a29fbd69c0e6e6e6665a5b5bf9dce73e47ad5663fbf6ed5c78e1855c7ae9a594cb65962e5dcaa33f7d05e7b232348259999227990921c4ec23f1590821663d495cc6c1d668d05334f9feaf2ee393ed9f19b0ad5c2ef3d8638ff1e28b2f522c16993b772ecb962d63debc791c3e7c98d6d656ce3cf34c569e750475f70bd0384507218410b390c467218498fd24711907a5adca0fbf054bdef869ce6e1bb44d5170bbdddc78e38dd8edc32ff8ffface07b9ca7108ba67f83484528e64b49df624c4f2297cf240b313524af971855412f9243e6daa5b23c4cc25f1f9244c463c973e430831014eb3e87c12ea8bcbbcb85fc37dc9f5c76d6e6a6a62c58a1523768a5b7eb197dedd5fe2ccb5502b4f52cea8e74804bdb83d5ebc1e17aaa2a0280ade54e9242bd67090677b511f6f83286492447d1a8aa2a0ba3c78bd1e5c4e271e7f9474f1249b35c3a84e2f3e9f7788275e0b21c66ca6c5e7528e543c84475350542ff1c2a0edc52cc9a81f87e224104b923de571710cf1fca4fb92f1f6193a855c7184bf8510a723495cc6c86637a8ee06e65cc245172e1cf7e70f1c812d9b836c787b371cb1833219cb6c9648057c44b57632d90c996c9ed2f30f70dbd2e693af5a73e2f6384ee0832a4e6f8070bb9f0534e38b67c864b2e4b3319cd9fbd8e00e9239d99c6a0651dd611289102e495c843861332e3e6b6efca13899f4c759597e82bb7c61b2fdbfcf3b3c04c2110257078884029c50a81d577b468be713d0978cb7cf282408270ae8c3fd2d84382d49e232464aa3c9ae57a065a19b250b8ebdafeb3a954a65d4cf7fe1735fe2ba358fd2b65aa1d635fca8df84d27324d2259c3e377db39054579078dc8f6302be28ab275587ca808f3b7c44022ba123492c275d931062ec66647c0654870bc7ead5346fbf1f7f30c5c0eb092aaaa69d649c1d475b46dacf04f525633e96529668204cb634ccdf4288d396242e63d5acb0ff10a873cf1cf0b661183cf2c823ecddbb77c88f75ec2df1a94f7f81d5cd11aed908c6ab0d609bac879a69381d651e0b8548e48f25039a2788a77f07a2e74884820443417c6e17de48bade81ea149221fcfe10e1a00fb7cb4b64d8cb21e3293b14b5dea9a9a8e814b309c27e17ae408a74c483a63809654aa0e7498483044321025e379e407c6067a6e749840284a251425e6b3a9ae274e30d3f4161c83a8bc3b6bb944d12f1bb7106d2e4d311bc4e154575134a15d10b49421e0d45517187d2944ea03cc52cc9881fb7d34f5aaf1fb3cf852b98269faa4f23d1bc44fb2772c31e5f564622c5e96b46c6678bc31b237def5a3a1e0c1088e747fe7f3c6cfc2b918d07702a0a8a3348b21eeff57c9290cb812f96b5624e294b3c1c2218f0e276f68ff5a319ad2fd12964e284bc2e3cd10c99a80f87a2a038bd44c7dd6794c826e3a4f3653a32ed048377f1575febff77984461b86319a1ef1042cc0aa7f7cdf9262836b03519d0ab50ab2930dc0a984d350e97a1620ebcd4ddd2d2c235d7bd8be4771ea0b1c1c6b9e7be01b5d545777717d59e97d8f6dc1e76e7bfc397ff3770c0cea47689aa9b48fc0e521b3671e7f9191277c7884703b81c3ec2470fa340dc1f241bce90f069e8d920ce2bfc847c2552ae2481601a4f364fcc0dd990932bc24942b910cec1fb2a8ea3ec500a49da133b61f5dd843d2ae435f4dc76b6ab09728108ed77a440b3a62b24fc19324127e879625e375e3fe433219ce864c23edaf524f9880735e4a6e4dc40c617271d7353ca1d3cbeceea23c3b43b88a639d073dbd8a9264995c22473415201377705031009114c15886482b86f0f130fe7088dab7c9eb043c3a1e7d956b4ce90ea70a1e6b7b3bd9020e58b90ca8748f8d6715f38452813401bf1f83cc86c3331abccf6f8dc47d5f044533c907373e75d7e22ee2c31cf502b7514478c7f9e50824426cdfa9c0b777deea9ea74e1f44489843d6814488412386271120ed07311dceb361070ed21131c650ad7a87d898eead028e6b693d71364c3eda49f0a100ddcc97dfe10eec2108b8f8cd06778423142894de45ced24121e544a241fe9ff77814460a8637999a47ba8be43a2a310b3c5e97dc5a566625b087a5713b428d8e71998b5e1d7ee2f75b7d23c773900dfffe193fce087397ebce5977cef3bff4963f3429c2b96b0f589e779f2bbe793f9b78bd9b65de17f85ef20f0be0ff3c28b80690cdff19e220e5f82dc330f70c7da124fdc7f3be76b6e8289dcd1513d3d1b259a7713f25abd8aea6e27fe0f31422e155417fe40007ffdce7155d3a054a034d490e078ca1e55269f68271a0ee10f2520f0004f656378541587db8bd709cdce1021bf9f702241588d134e6b047ccea3fb0cb6fb519f68279ad541cf914ced44f338ac2ff19a1bbf0b3af2457486a9f3cd170ed36e15cde5b6cabb8284036e1c9a8b40c803ba863f1cc0e3d070fa82b829902b32cef23aaae6c2ededfbc2a0a2399db81db0c01db23eef70e3f7ad8662ce1a151df1f88498654e83f87c8c936032c5c7576ee77e5f90e4509741f2b191e31f2a9e489095dbe324ea5769f55c9282df8713d07331a2d92299449468344a2c59c275f5e5a8c5b1c58f91fb121587cb8dc7019a274c38e0c1ed09124fdcc682ce14b1a1e6789d509f41fdb8863b9612da5071de2d898b10b3c5697dc5c57eb6c1bf7e4b63cb53cbf0bdadc4c677ec436dae615407e6738a09744361df4aaebcea12b6170ca29fbd8a7bfecc608e098e06f8d15617befb9f67d1923f72c6ae4e56bc0dbef8f7ffc085977e87c58d8ff2f8a606a84ec9781e9a3b4822e7279c88100a7f834d77ae23577c866cc44d2997a588efd88094eac41f0ed5fff01049b8c9a762443245f4420986ebe2b471943daa1957b09d8877e84e450554edd8bd30c56c869d656dc09c6acdedc3c583647345a8774ea57c09ab1bb7a69f2d703a8ed631b8ce91dbad1e37275b55559afb1f57bd807e42e507cff93efe3ca80e40d7d1f563db473a3e21668bd3253e1fa57989a5bf4ede7d17b7fb63b8d3de019b478d7f1e27aa3b4468f5fdc4e239dae32eb2c912fe766b7044cfe7286801c291a1af828f257919a92f391a631dc7e2abe60ee0e6418a851230e892cb09f5198ce1584ac7c77921c4ac715a5f7131151bfbf62bbce7dd7b49fffc085ff9e71694338de3cad9e6d5e8de0785d7d770f9da79fce4b11ff017ef37d8f851b8e61d70e30720fcc13c6fbdec52fee51f03382eb4836ee7cfef7c9415f607f8d5efcb984ac350df4b4f2d3d4f2259a8ffa1e10ec6c9167ecaddab615b7b3b59ddea26cac53c85410362baae5b9f0f788814bdb4c7a2848f5e1d18665f632d7bc2c7a303258afddbaa6a5627a55a578842e1b5145309723a50ca912e5e4ea45fa73a25ed9e2827727c42cc50b33e3e0f41758548a6ee60e9d3f7e00b67065e7d182dfe01e022105e4b473246a690214980fac5747474ca8534f941b1be3496e589c7d0970c7d401a5a73fff60daaf30463ef491d8b1062463bad13176397c2bd7777f2eee0210aafdae9d86f42e3c0b9028a09cc3548ffa68dd517ff09bbf6c22bbfff2b6eba058c671ba81d68a4f6c726ce7b9bc2fb3774317fae41d30203638f9da606f8e1cf9ad8f8eeebf9f23faf82853594e3fbdd53a8442e99a6d0ff2dcd4b24723994ad517c87dbcd82729a68aadfdc84628a58ba44291d269476110e8efec5783c654f94e6f1b0943ca95cbfde4a2fa137afc6ef71002aee508cb0a748a23d4a2c9ec59348131961ade1c968f7c419fff1093153cdfef83c34872f4efaffac65e7a67bf846bf11a5d1e39fc5e98f70b59e22124ea0058eddfba639dd2ced7c9848a2df0200a534f174610cad1abd2fe9d7a47e1f2b526225de2196413e99d87b72c7228498c94edfc4c5007ba3094baa74feaa91a77ed7c8073618d0796cba806228d896f7b2fbf790faf53b09dcfe76feed8107587ffeef61a1726cbe758309074d16b72d66d1191ae826668349adb3090e54f8f3f7fe8ec77ebb829e97146c2db5493d4c3d1b2118adaf280340914c2acfd2dbc27834eb3922a1d5659eb8d34b209a20118fe00fa470791ca0eb943b3324d2790ad924b154014a45f2d90c79bd3e0058eedbd1c8658768193a65ebcace706d87011da2ea8ed07e353cd61ea76fa1ad423a41c91725e80228910a06496b5e3c6e270ea713ad9823d76f146e709d23b7bbde210f6a6399819f3ff632def283ce21fa281325463f3e216685d3243ea3eb948ebba943c51d49f39d772d1830736af4f857e7f011f6c1b69c8b40bf7b3b544f98f05ad8768f1b6f304a3c1621e04fe0f4b9fa9a3228580d6aea287dc9d17773b9a32b9515d3710ade76c2aea3873be63e43d3a0339fa758c892ceeb03fece68778d7c2c1c17868510b3c46999b89806d85b80f9555e7901defafe0a97aca970d9cd55ccfdb67aa7093667851dbf83cf266e2014fe271ef97e8e86573fcc0db781f14ac3c0b3d700adcd450e1d3a02b6fa3d9e3613f3809d3597eea0a5713fc9f452586a30b94bd774f2c47d57b0d0e1c6ebf3e1f5f84938e364123e6bc6b1ea269a7988bbaf2ef1e07d77128917f1c7e2f81da0f9dab9f7729d4db77809242018f1b354cf92cc3b7014d3c4e339204b2c9ea6e41dbeecc0a7c2eb14324962ed293a814c7b3b89f4e0254075f2a928f12c94d3edb4a7f2f5ced2492895e11f5c49025e1f816080482e482ae9c71acf53717a1c14921142b7dfceedb7dfce2db7ac67dd3237a14c71c83a873fc685289938f11c947371e2e93cc57c9a582c0be52cf1588a7c314f2a1e2747996cecefd9f49df1948ff1fd5ff73b87b1eff38befc748e4a0331327912950cc268925b6c3ce34b16496d288c727cb7d8ad9e17489cfa56c8a587b9c275251da93190a0382a0834022cdbd03ae548c16fffa68f8c241de150e32f09e741791f4a3dc7b8383dca6fbb82b96c3d91e27e000bd30309e1786fcd23f4a5f72f4c092844361c2a100a1b49f64328883e3f731729fa1e10edfc1ea5c086f3887d3e918f4f7da618e65b8be4308315b0cb5864ae3f71efc7665fd751bc655d1962d5bd8b871e398cad69e5b04c6e171d53f9114c5c4764695afffb3832f7c6d017bf6bec6c1a70fa35d021401152a1df0bd2df0e41f3fcc75eff9bf1c281678f57737f0177fb60f9bd140b54741e977f6ec4b7af9dee633c93eb798bfffec368c838d982660827d452f5ffce21bf9c5330d3cfa9f7fc4dcdb80619ee0f235b656ec6bf64fc059988d8a24c3311cedd1a3f3ba41a79889114c7a48c5bd33603ad84866fbf18913b179f366aebdf6da11cb487c96f87ceae589bace27117c9e7cc4357a71214e036389cfb3c9d6ad5bb9f9a61b87ddded5d535e4fb8fff3483cda870eb6defbf15e801baeb3f5dfd7eef01f4d3725531dbb21a3f482afceca54fb2e1962ae79fdb427adb13ccf9ddcf68d37ad9b55fe5b54357516efc13de74c55a7efff4779957f9147ff96715147b03b5233694c10f2933a0b1a985726f23f4f67b5f01aa70c58525be99ba809dcffc0f2bd754e0e06979ea4fa9523a447b21446ec0f09f8ac3e9c0e99ef92b6fcdf6e31302243e0b218418de69179d15c5848a49aee0a2519d4ffc1f83ec2cb6f0df8fdc4ce9e06b74eddc4be990cad2b6052c6eca537ae96ff1389fe4ba1b81ce466a4794619eacacf0d29e33d87ba006868242bf19073668b6f5a09babd89a7b990f5ff6321c9cb4433e6d940a45b63f1c26948813f17b70aa50caa788c58b04a2337f0470b61f9f10129f67b612a097f4fa72ed420831f14ebbc4c5a640e70bb0fa4d6fe583be4ff09b672bfc7eebad5c70f661ba5a56d15b398236a78859cea3cd798d2bdf052c5030f73460c0d09da20934c16bc5c328a601f314ccee7edb0fd8b8e8c232abcfdac9b6179ac1b0a128585315c484718652fc540f1389f838ffce3234afe4ea4084682cc2900fa29e6166fbf10921f17986d20ba4135152db61673246c21725349d97961742cc58bb8fd1cb0000200049444154a75de242430dc366e3b7cfe914bb375379f53304df5960d172300e6cc5d604b4d47f2a3628d9a8752b233e5159b1995036b1ab67f1d68b5f01bb8169da8f6e37baecb43a2a5cb5ae9beef299d09507ecc357284e90036f3849363cd5ed385566fbf189d39ec4e7994975e20b25c8871253dd1221c42c37bd121703ec0dc042ac2513bba15663c44e69dc9aa0696e235ffaf2cff8c4fb52fcbf6f1c817d0dd40e2ad81b0d4c138cc336e87f6fea28fbb7351870a891233d73719fd709fac00f9836a002cdcd0df49a2d03e7580b21c44c20f1590821c4149b56cb21db5438d405dffd8ec1737fb0aed3db5bc0ae827d2e13b34c65b38dfc4b3696b475f1977fda039d366a8715b041cdb0611827704aec26fb0fcca3d15ee18d6796a06788862a307f5e1395b2def7a71042cc18129f8510424cb5e975c5a501ba7a4c5ed90b5dba498f0e7b4bb074219cb1089ccb149416ac0e5207b366cd431ecf5c64b31be6b5283cf23513c71ba0d6613ff95901aac98ed7cea0a1a1465b5b379487ae704eb341b536c90f381342888920f1590821c4149b56898bd105cbda143e7db7426d3f1c380cda02932d5993b3972a2c5e013f7ec864e17cb8f8428579cdd0300f6b78cca857d20bb50ac30e99195d3656afea8579656afb9471778a36dba0ced850a005b6ef6ca541e9825613e3c010a3820a74f7f452e935c13ec9cfa01442889324f1590821c4549b56890b8a35675ad96fcda56e5b046d4b15ce3d5bc1b4c19ed7a0651e547ae1895f9b34d9a15c3159a4292c5d048d0db070be82b6fc587de840d5ea2c6d7630edf58ef3806d7cf3014cac272e3783d200b5c3d6139e1bb42ad4e0bb5bcfe0da4b5e82b9601e18745806d00cfb0e54511b2bd68da553f77c372184183f89cf420821a6d8f44a5c000cb0b50276a81e848616a00994322c5f04cb3728d00d7a177476c12baf418f0e7bf6c38e82c91bce04230f151d9a9be1bcb31516ce8756cdaa5369c0bab3a70ba859bfd7aaa337cb66b7daf1afdf31993fd7e03d1faf0f211e86effdd7e51cb1bf8bb7b9bf581f5d5440b186fdec8b4d5854839df0e8932a57aed9054b146c470caa9d76940619db1342cc10129f8510424ca16997b8d8e642ee1993d221f07a158abbac0e6ee10aacd55eca400dd439a0b6c0d2e58a35da6687b75eacd0d909dbb69bf4944d4c5321fd94c1b2450a6f7f87c28ffedba0a70ce79da370fe390aadf340a9817d0ed699b0d5eb076add0c58bac03441a980fb22833dfb54fe2bd144614f23a91f9fc173c5d52cd19ee4a1ad36deb8b689796a0daa0ad8edfcf84726366d1e85c2a59ce37a078f3c39973d3776f1f5cf1f62f1c21a46d7b45a1f4108218625f1590821c4549a76898b5983d6b9d0a8c2c1123cfeb44163232cd8ae30478105ade03c53416d82a679f50fe9d61406bb1dce5808ebdfae8069cd8f360f2b74eba0ef81e54b152a26bc5830d9fb3abcde69b2ff005ce351a854a15c86554e05c53059be4cc1ec37d2679ad6d4838b3d6056ecdcf77f96f3e39f57695b6ad07efd8f79f38545b6e597f287df9cc195577460ea0a3dbacade9e261ef8b715bc74f87a42b7eee003ebffc8e6ff6e60ebcf161108ecb346168510620690f82c8410622a4dbfc4458755e72ad0085d1d70cb75360e1f819daf9a74f5c2ae3d70f0b0c9eb07406b85650eabc3d316d72be805baeacf1700ec36983b07e6aa70e5db14eb882b0afa01e8785d61ff21939639503d02bd5578e269039b0dde77ab8251ad0f166a58cf2cd0a1566cc03eb78bfbee7c95cf7cb0c219ce32b4185055b872fd3e8c8e466aa506940613fbbc3273d479cc53f773db255fe1ce6b8b2cb9086e794f23fa4b4d13b3628e10424c1289cf420821a6d2b44b5cb041ad07e88696b9a0d861ce3c587276bd53d3a1b7075e2fc1cbbb4d5e78d9e4f72f400326ab57292c5bacd0dc00ad0badea064c29e8044c6be519558595ab6065a3624d3f68ac97eb52600e184700056c0a6cfd89c99b5629389681a19b983d7616b475424d8103763868c7a877c48a52c354146c8d0695aeb974bc6a27fe57fb5876a90e45a8ee68c2d660a036e9d46a320d41083183487c1642083185a65fe2d24701c3c05a46b3176bf5194051a0d1668de42d3b5b81aac2c1bdf0ec4bf0ea1e786997c9b92be18c0af4ea0a679d0566efa07a4da00a7613a858530c0c1d944638d409afee30396f854263b33535a245b5460631ad8ebabb07541ab13763dda45ab16e206d6c02c3ac2f8553b5a3e83a7ffa912eaa2513f3a5468c1a28766b6e77ad268f38136222148b45b66edd3ad5cd9830a66972fdf5d7b364c992a96ecaf0243e0b21c6a0582cf2f8e38f638ee7814ed398699adc70c30db4b5b54d75534e5bd3377119866942adfe8033746bc46de12278db0a057428ed076cf0ec0b266f38cb5a44e6b8ff2e667df51a133a0fc18205d6fc6b9a61d71e93c79f3659b542c134c0d60c576cb041d1a4aa83bd19f49ac92f9f86cbdeacd0d569f2c717e1ea2b156b151c13ecadf0876d269d874d1a5f52b0db6dbcf9528e2db16980bd096802a3c7ea98e551cd429c981ffde847dc7efbed53dd8c09f5d0430ff1bef7bd6faa9b316e129f8510fd497c16136dc6252e8319f551392a5627a92db4e63abf759d350f7bf0ea33507f5e40233cf87d93c606e8ad81f75258ba42e1a24b142e7ab3825902b3015e7ac9e460cee4e2350a363b181558a4295c709e89ad023614ce5b098d8dd6f307141b9855eb7905cbda1414ac1b568d23c7f6af34c18112bc7ec064e57285c6a67ae7288418b7c6c6464cd3c4344d14459915afb559f2047789cf429cdefae2f36c325be2f34c35e31397fe0c1328d73ba7faf482c19d2258237cb56eb868359cb944a1a30b7efe1b83335e86f973c0a8c1659758cb78ea15686aecf761056a6558b64c812ab4cec79a8e70d89aa66053ad1d9c7516c78612abf59b519563751836933daf5b73b9579c6dd5298438318661a028caac799d6d1d3d487c16e274d53faecd965731756655e2d2c73487987ed07f7b7d69cef3d758377ece5f0a734c1bd5aa49e711b0351eeb58df74be62dd905abf191438da3902d6f4835eb03580d9023f78cc7ab0d986eb6c28bdfd46eafa4d3530cbb05853b8fa2aab43954e5188136718c6d12b2ec0ac789dcd1da3c467214e1f86611c7d9d0e834213f12aa6d6ac4c5c46a5d4e762f74d0fa8c0592bea1bec80591fa1eb5b41a7be69c42a6d50e9829666702cb6e6530ffbddc3664d5ba062ada0338bbfa308312966f317fdd38ec4672166955aad36e5c986242fb3c7e999b80ca6f4eb00fbde1ae74a9846159a80b75f6b4d51a81d66c869108349a728c4c9e97fc565aaa70f288a82d9b393dd95959c3dffc4eb9144ac1f89cf42cc58d3ee8a4b77a11e9f256999a964a1fa89527f1874ad136a5dc899156212f5ef1c8f7bd5b7f0eea51a0b172e44d3fa5e5770d94d9fe63ff2dda37f1e30f25fe132c74dfcd7c151ca756fe373575dc7df6c1b63bdc3bc4ae232c1243e0b3165fa0697867ced192e3edfc37fe4bb87ff5cffd77ef179c472dddb68afc7e731d53bccabc4e7a93535575c8cc3a3971143937327c4007d1dc9b0f78c1826d0cc95dfcaf0ad2b1740b94ce7de3ff0a3fbff179fb8fa05f4ecf7b973c528f79ef4fbdd30462aa753ecd4a1dec90d5b6e94d729ed1825c69c383977420c306a3c33478acf3b8ec6e75176d26f5f2395d3e9a8c7e79389b192b84cada919776a38136cf3e5e7447e1ace9c927f3221a6abfe89cb703f00f3979ccd92254b5872f6d99c77c93bb8fb9b0ff357673fc9e73fff0b7aeae54abf7e808f5e7d3e8b162d62d13957f3d1afff9a92696262dd506e8e58aec87fbe7723c9bd8778e8bdebd8f89f3b47ae730c6d9e12129f253e0b3141c6720503acf8dcd6d6c692b3cfe6dc8b3770f7371fe6b3f5f8dc5d2f77f057ff3a20967ee4ebbfa2649a187d317ac47245bebd71607c360c83d2af1fe02383e2f341b9e232ad4dc91517fbf92f4fc56e8510b350ff2ffb43de3352bf42c2e07b619a56b121702e5fd8f4435ee8790b1774fe371f7bef5fd2f9a924cf3efa569a773cc0c7fdefe5a36dbfe4bb17d65317d3c4288e502ef920bfb8f836cadffa2ddf7c4b3366f1bff9e87bff92439f7a90677ff416d41737f131ff7bf9d8925f92f42f99964b6d4a7c16424c94be7836fc3d23c7e2f380724dab7847e05cfef7a61fb2437f0b17747e8f3fb9edb383e2ee6df5f80c7d6b151ac511ca3df8204ff68bcf743c34647cfe937ef159ee71997e64a6af1062461bd39ce461cab5b6cd87ce4e74c3a063eb377872c187f8bb8fbd85b62683f96beee0f39f5cc22fbfb195a271acf31d4bb9be24a9b835ce2f177c88bffbd815b4359bb4aef9105ff8e4129e8c6fa56394760b21c44c27f1594c3459554c0831a38df98a8b79fcea63a51dfb60c95b686d3639b8632fe5dddfe29a95df1ab8837377d0515e40df159711cbe9e7d6a795599d5b69c7be61cb16bb0ddae64cbf2b2e4208319146bfc705e0f82958fde3f348b1d48acf565d2396d3cfeddbd3d1f83f6cd91e9336759c072a2685242e4288196fc4252c39f6c0c301ef975fe4d14777d3f6161f671a0687cf5d42f3aa0ff1935f7c9273fb9288d22e5ea92ce1acce6f1dfdfc8291ca353edbb723005a57b5d17cee07f9c9cf3ec1797dc9c9a157d8a52f66853a72bb851062a6ebbb4231ec12f07d0fa41d5ceeb8f8dc46f3aa0f8e109fadcfcf1fa95ce3b3d6befaaee88c149f9bad8558866ab7c4e7a92553c58410335adf5594d12eeb7776eca2a3a3836271273b7ef328ff187a1f7fbbcfcb5ffcd93a9a4d93c5577f908bf77d95bffec6afe9304dba8b5bb9f7a6cbb9f1fffec1ba79dfdad9a8e59a29b377f76eeb8a8af7835cbcf7abfcf5377f43d130e8e9789ccfdc7819377df9d9a3379cca340421c46cd5ff1e97915e3b3b76b177ef5e8ac59dbcf8dbf480f8acc280b8bb1706c45d9d638353a395b3e2f32b14bb0d96acafc7e76ffd96a261a0effd693d3e3f47f728ed155347aeb8082166b4b12db759e6a93fbd9a757def35b7f1a62bdec9d71ebb8f779d555f42b36d23fffc1f9ddc17f908ebdaf7016dacdbf81536ffcdc534bff2d4b17d8d54aeb99377be73151fb8e76a6e7ef631329f1ba16c5f3234cc310921c44cd77f3066f8a5e6adf8eceefbd0a0f86c18e680f8ec1e144b9bfae2b3610c88cfc7956bea8bcf570d8acf1f66dddff42f6b0d661943b51789cf534d121721c48c36ea3d2e4d57f3ef2fee1e767bffe909f3d77d84afa63fccd70694333057fd293fdd71178a6275a2c39633e773f9dfa479b1bd6f1a844993fbc37cedb18ff0d501fb1d7e1a822cb72984982d243e8b8926898b1062c61bf11e9719f82a1da310623618f58acb0c7e155343121721c48c36f8a160b3e1553a4621c46c301be3d96c3b9e9946121721c48c271d8910424c4f23ae2a36435fc5d491c4450831a3552a9591e750cfc0d7dededea93ead420871d22a950a30bba6f356abd5293eaba737495c841033daf5d75fcfc30f3f8cdd6e9feaa64c885aadc60d37dc30d5cd1042889326f1594c34495c841033da9a356b58b366cd5437430821c420129fc5449307500a218410420821a6bd09bde2b279f3e689ac4e0821c40491f82c841062a69bb0c4e5da6baf9da8aa8410424c2089cf4208216603992a2684104208218498f62471114208218410424c7b92b808218410420821a63d495c84104208218410d39e242e42082184104288694f1217218410420821c4b427898b10420821841062da9bb0e7b86cd9b265a2aa124208310ef29c16218410a783094b5c00366edc3891d509218418c5e6cd9ba7ba09420821c4a490a96242082184104288694f1217218410420821c4b427898b10420821841062da93c44508218410420831ed49e22284104208218498f62471114208218410424c7b92b808218410420821a6bd097d8e8b104208218410e2f4f4c80f7e784aeb97c44508218410420871d22e59b776dc9ff9ed33dbc65c764a1297daf3e78071782a763df3d95ab19ffff254b742082184104288493535575caaaf4ec96e6705e3d054b74008218410428849373537e7db5aa764b7b3829c3b2184104208711a9255c584104208218410d39e242e42082184104288694f1217218410420821c4b427898b10420821841062da93c44508218410420831ed49e22284104208218498f624711150ca918cf87139fda4f5a96e8c0028a5fc381c01d2a5a96e8910420821c4f430fd1217131405ecad605f00f6b9f59f950a761b98c624ec7b1ed81b80f1eccb007b33d817815d1de7674f916236452ce8445114348f9f402050fff1e375aa38c339ac3c45c3419eedc59992b5e81472c5e1b7163224223e1c8a82a27a892432144ee5a1e93912412f6e8f17afc785aa28288a823775e25987eaf4e2f37971aa636ec488e7440821841062a66b98ea061c47b15ebaf7c3c143a0349a547a147ef6608df75c6f439d0b66efc4edcede0866150cc3dab76942cf4168b083cd0e9863a8a417ec4b801a3cf76b93552b149a5bc0281f3b1ed38086466085024593da61069c7d7b239835306ac73e73b21c1e3f2135436cd3fd382309927eedd8463d4b3456ff36af39717b1c13b3d3c95048104eb849c61c0cf5bd5e757a09b6ab64128fb1c91da13de81db2dcc428910af8883a9364b35e3440cf27087a439c4c1aa1bac32412e3f8c028e7440821841062a69b76575cec0b607f09dcb756b9f20355def3891a3ffa99c17db11a477ac03667827654bfbac21c50ea098abd05f40a5cf9fe2a8f3f6d625f32b60cc2b6103a0fc0dbde5de56defaff2fecfd4a8d9eb575efa8eab053a0fc3273f5e25bfddc4b6f0583b60603b2692aaaa437f91553d8443eea3dbd499f26db794251a08931df5628675dccda7fac0f41c897409a7cf4d5f5aa8ba82c4e37e1c93754ec77c4e841042082166ae6997b8d000073b4d76ec34f9d2ff6fefdee3dc2aebc48f7f9e73323399762e299d76d20b348502d1024d6d812097a62b4a50942020712f36dd75dd785bc35e34eccf9fcebaeac65dd70d3f710deb2dacb206b9187757085ad6b0884457680a1452296d5a0aa4b4a599b6337366929cf3fbe364da693bbd4fcb00dff7eb35af5cce739ef324f9e77ce7f97e9fe72f35d2df77e03d53d1dda95016301df4f90abd137ba6638e42f72874b7b253bc7a959dee354bd9a95b1dcdf62ed0f566fb79f6399a0356fc7983172ba0f52850f6cccb93bf836daf02339b7dcf51e8bd0abda7994ad6abecf4b5b9f671355fe3e3b73458fbbc45e1e116fee20f35eafdc01c853e5ba19f06ea7445f73418a9418bae50a3e39ea7d0bb60e5cd0d4aeb4177ab939b0e07609448270ae03acc9db551221d8b10894609077cf8c3a9036e8c2be4e2cdd4b3508060384c2010a7685428a4a3f894da9b8a56c9a7887815ca97a43c7a7ab5402a1625120ee0f37809c4735430a814d2c4825ebc911ca56c14bf4ba15c01124503a852c8a4c89586d99aef231289912e73940cca9928a15094582488cf1b209eafda7da6c27894427922644a46f3e367887add049305aa873c17c085c73dcc83d128e9d2be7c34973f827fecd76b1449472344a21182be033e6fc88b379c2517f7e3521ea2f7fd9c4c3c84cf1322671894f329a2012ffe449e7ca29902e70990181dff717f274208218410af1f932f55cc84ba093d2eb8e91a0dced1d8f56c83dd0330638ee2e9874d7ef8930637afd0e959a2b8f77693d2068b2b962ae6cc844d2f9b5cb658e3c17b4d02172a060df8872fd6f9c80734cef228eeff914969a3c532bfa255c1bffd87c9f46ef8da5774d0edc064fa34983f17f63c6372ebed26e79fa3687140d754b8f45245eec70d2e3c5fe367f736d8b215c21fd4d8be1de6cc509cb344e39c05160c5864bed960fb56786740f1ec7326ad2d8abffba48e52f0cb3b4d1e5e6d71c5458ab3e72ad23f36c182ef2dd2d1dbc09cc074388062224238e3040c2a859f50f4fd82f0215b57c88683a44379f2110f182592011f811094f2513c54c94582247c1972092f4eaae4c21eae2e470037fe489c48f27692cddedc8108b160823bf2a3fd974947d3b89329d26e308a717c8baf26ecdd4836e0c5595ac7ba729a6c304eb614251d5ccc2db12cd17c187f3449347d07456f1fe9b4ffe8d3a22a19c2911cfe4289a40f0a510f97c432448b51fcd134e97c8ee5452f3eafdda3d3e3c5e34f108ff97155d2040f71aec7e9239e5a41f6ea3b58f9963ce94f254925c278dd41627bb3efcaa442110ab13ce9a00ba310c173498868b042cae5c228ae639d334d311ca76f4596da8c99b88d126b2a1e7b2c6e1795e23a4a469a42ac8fdc636112e195dc128ae22b67081eef772284104208f13a32f9665c0057a762b80617bebfcec757d4e9df036f3d4b517cca22f2d70d7efe4b8b8ffd5d83677f6df127ffb7ce7d3f337977b4ceaa82452cd160a4069ffafb063fbcdfe4ef520d060df8fc6d26f7ffc2e2fa4fd5b9f76726377ca2c1e3cf589c31cb9e89614c6d495b0bb4b5c247ffaacef7ffc324fc5775fef13b0dbef4af0d9e2bc197bf65f2856f36f8f4d71a7ceb1e932bdf5be3dbdfd059bfc1e243d7d4a01b1e7dd8e2837fdde0c506fcf9971b5c777383d51b2c3ef097757ef6a8c97b3e59e7ee9cc91ffd759d071f3539eb74454b0b5067c26a5cc6f2c5d364321932992cf9c28f091faea4a594249673110e7aecd74e2f91be10ce87fb48140c28a58865ddc423dee64db20bef01353287bb79368a4912850af974824422413253c5bbec629c952a4e8f079f1bba7d5162611f6eb78f50f05ca8144fa86604a79750384ca859edee74b9a05aa66ad8a3f5c723cc5b97225d6cceb814339443413c473c17dcc134c5d5df63c5a22a0fdffa41dee2f211498f2e7c00462141a2e4231ab093c99cbe3e52ff9c24ea75e1f6050878a0cd13251a0a114ba7f9ebcb17e10b8c7e9f4edc5e1f7e37b8fc3162613f3e7f8454fa26bafbb324253f4c082184106f12936fc605a837ec990fef998a731682aec174177cfd8e06bd33e0a73f6d21b0bcc6473e59e79a651a3ff8a683f37faf46ad0ed35d76aa9877bee2374f5a3cf1acc5df44753ef6b93aba06575daac8feab838baeabe3ea545c708ee24f6ed0a04dc12e0ba5a0ab031e5d6df1d40628ddefe00337375870869d46f6b9af37b874b14669a3c59fbc5fe363619db3df5d63ee42c553ffe3e0eccbea5cf4f906cf6fb078c7c58abfff9a830bce1de1f31fd3f93f5fd2c92e3519aec1e96e4531e7e0ea1575b66c854b1629fef83a0d5c8ac6660b7532434a778090af74c8c395429e4dc3aefd6a345cbe205eeea250ac50716659e7f21f770d87512a52768589c5a37660b09f836fc49d6ec030300c0e1f111d8ecb4f3ceda3944d12cf5730ca55605f6a97d317257aeead245345fa525e0a992aa13ef7519d0be0f245481743c4d271a2b1dbb963e5628a95d514e23eaac5021582fb32f39c1e42b1e8be6b034ed7feb548e395e638ddfbdab87c617cdc45a55c055c0737164208218478839994332e7b062d5a1df0fdafe97cead30ea6b6db85edd5dd30ad4b4187625ab762dd168b695d800b7aa7c3d010b4e830a513a6386160088c6178f87f4d3efd099d4b7c8aa161a80f42e714fbd8c0106cdd8e3dd3d105534fb35714dbb6133aa7023d8aa9ed30b757b1e4ad8acc0326e79f0da7f7425baba2732a4cef56b0d962c1a53a6bffc3c1e7bfd6e09e9f5b5cbc4801165d5361f60ca0dfeebb568799a701d314a775292adb2d860cd8bac31ec7490d5a0070118c1e26a5c8b0eb492a636308a7cbbec1763a31aa0654ab1cef0ac30606c3e51ca5036294ea49588e796f0060944887fdc42b01fa9209628103a79cbc84638bd89a49922fe7c91026e03a8a738d12e94cb9f9c2852f92a250fe059f3a17d6f4f55130ec1067b852a27cc0e7358c13f8bc4e17ae36fbf710420821847833987c818bb2675876f4c3fdab4cb6be60b26b00060df07a14a50d161b1f6ab0f9258bd0151a4faeb378366fb2e925e899065bb6c20b2f58acdf6cd1d301b36628fef9f30eda7478b51faabbec02f9fe3d7600b17bc09ee1a10d5e5c0fbf78d8e2a9df595c76816247150aab4c7ebbd65eea6be9423b87ebed8b35baa7c213cf58fcf7af4d5eedb758f79c45b96052d966d1d101f3ddf050c1627037ec1eb4af8705bbf6d841d596adf054de64dd468bd3672a76eeb6c7734a7f9172766f6ad4582ebf9f5e4a648b63eeb48d2a46dbb984fc6e5c1e37f4e7f716b21fcc89d339ce8df9ded5977df4f6ff8478bab42ff8a9e648e5ca27f8810ee6f2d8cb03577331a2392fb188ef90019b2714679991251e4be30aef0bec0e7f6e956226b76fd10100578078fc6218b66789dc3e1fddc33912d931c96e952cc963dc5dd218dbbc5aa1ca3c02afa765ac85104208214ec0e40b5c4c7075297aa6c11f7fd6e45defacb3a56231bd1bfee2231a9e39e0bfa1ce7b9629be719bceb65721f89106c6305c75a9c6c5e72b2e0ad76969812f2674962c542c5856e381872c962c549cd6fc2ffa8c69d0eeb41fdb5a8169f08def36f8bd95757ecfaf08aed478d7a58a1b620d2adb2d5c9d30ff4cc5997315bdd3e1c3bfaff1cb274c3efa0593f75ca1f1cc268b8b8335827fd620fe673afff5ef0e9efc9dc5ca0fd4993fa7795d1366f7c0d429e06c85f77edcaec7f9e33fd4b02c0b672b76adcd04329afff13f687ac428918a677137eb360c0318b60f397d71fa96c1837d2946e39a722e4d359820e2055720c64ddd9bb835182291c993cfa5488ebd29c785c7d3cdd65c9a5cb14421d347225f814a8142b102fe18b145b0e6661f81488254324e3894c613f462cfc71c9ecb05fda512957281dc7ec1934121e24679e3140d03c3792ee1b067ef1731dc9f279d2b512e644866cb50ad502ae4d9db853b482c086b8a5ec2be3121ca11ce350a712289c29824b70af96c89de9b62f85df69e2cd173877978658070224d3a152714ceeead0b3246bfff037eb7d1df636fafc57d753e955c8a72a08f98f748df8910420821c41bc3a4ab7131fbed15c58af7b6b0a36ad1a88367aee2dd57c0f45ec87cd5c1ff3e6d71c9450a5a158fdcede0e9a72d567eb64e75b7c577bfa9f3b3ffd4b8c4a7983a45f1e5bfd078d7db15cb2e54a836b8e01c07adadf0fdaf38687742e0423b15cd7ccee2e6151aef5dae71c96205db21f9199d95210bf70c686f53d080e27d0e1c0e98b740f1ab3b1d0c0ec199a72bdaa7c2bc5e456b0b9ce7b79756feddfd0eb6be020b3c0a5d0773a7c53ddf71f0dc3316c335f8f61734962ed170f5c0f7bfa233ad53616e9bb88d5c2af90ce954864dc0a6788850b6b939a151a55c7c90a2f7c7545c609473a452450092a91cde689068368f118d120ee4f179eedd765a00001c19494441545de08a90cd847003b882a4f3df84709c5b3e1866d967d224826e6e4d8d5ed989bf2fc1b5c18f729d3fcf4da90cb1408e42d145b56a005ee2b907a846a224efb8858fe6afe233e90c61b7413997245d84fe728a74de43c85920995e079b209929908cf8f1c556706e284a20962497f18ff9c44e3cc120e7669284231582892c7dcd00c415ece3331787f8ca75014a7f9624150f9109e5c994fa080546cf77118c45b8b618616cdc72d873fd55a09f876fb98469c9452cf3b9a15ac5e94f914f04edea13a78f44fec718e128b7deb292fca21524d229426e83523641aa00c3f4d1974d110f79718efd3d9239bc318f3d906a8658b4809b0ae56a884c2662ff1eb80ef39d0821841042bc318cb77e55cbbd77dd39b2fc9d571f5347ab56ade2c61b6f3caab68db5d3c1dc3dfe410b340d940b7b3ec80406815668f4833e15e85050b5680c827e26f012745d54e3fe6f3ab8ec7d0a4614ecb168ec6cb677d985f7d608a80efbd25a07f67fb4db80216818d87bc374d96d1bbb9aafa762cf828cb6e9b6cfb71aa04fc7fe0687ede34cb35f5b3bc0ac83ded3fc4c35fbaf3104fa02787a9585fff71b6cffa58e73bea25106fd34fb73368639fc3c98d689be70c7517dcfa75239e9657e32c8ea5272bf9b7e31114a24bc6f211d799652dcfb5a0f464c3277df7d37575e79e56b3d0c2184106f720f3df4104b162f3ae6f31e5fbd06cd1ce1fa9bfee07aec3beac1e6dfc098e7438031e9665c50605ac0ce03de6fded0378680a1e6ac440b982f417d047ef13d0767cf53982f8155df77bc3102bc3266166397fdd0188d9b469a8f8e83fb6e18ec9f62a5a0d13c1f0d1a078e716c3ca18f735c03733378e6281e4eeb803d5e743b281b6d23841042082184d8dfe4bc4db6ec027dbdf3c85b9a98c3d0da094baed6e8ea006be4800616e80ed05bb1676fb05fab033b6e80de0e7a1bfbea4c2cd015e84efb1c2660477b6b043a3a604940e16c056b82379a7cad9cc80259e2c8aa80513d72fd8f10420821c41bd5a40c5c94b257d87ae1790b4d07d500bdcb4ecdd2a7d9c1853ecd4e0373cc829dafc0fa474c98057a47f3afdb4ebfd25ba1da0fbb7781ee6ea67f015aa77dbe3ebd1998cc8197b6c0962d96fd5e5b337d6b1aece987ea1ed06737cfe9b08f690aac632d49d1a0518346051a2693f4173836d542ba5987922399ce9fd84691627f46995c2a41761d6cca2449e7e5db15420821c49bd3e44b1503b46e78f139f8db7f3149c6753a7ae199a2c5ce5dd0da0a179cad58fdb8c5dc5e45f76cb8f5fb267e9f822e8bce8662f7a0c5ee3d3052878b7df6d4cad61d16a54de074c093eb60c13c7b13c8f59b2d169dab181a827fc9985cfe36c58cd3410dc2ba0d160fffcaa245c1efdfa0f1cb55169e5e45c38497b759f87d0a8de3085ede605cfe08a95284d4919b8a63e5f4108ca62945d3aff54884104208215e53932e70510aac36585530d9f082c5cf7e6572dd8d3a8fae3679e9153b70c9ae325978b6e2f1b516660366cf847fffa989fb31e8ea5478e6406b0bfcf66998ea84b33d8a6fdd6d31b7179c6db0618b456587a2615ab4b7c2a34f58cc99017366c0aa82c50c17641e34b9e83c85a757f1cbd526b77dc7c43d1d563f6d610cdb7bc1e83a5cf87675702d8b10420821841062424dbac04573c02bcf594c71c2bf7e4967cd5a8b6deb4d965da8c082a16178e679686d55cc9e69619a506f287c5e98da6eef76bf64a1c60c97c5196eec55be4c983513aebb5263e72e7b4f96b3e7294c0b7efbb4c5cce9f6a690536b8a69dd16bf7dc6e2827314adad306f0eb4b5696cdd01ce563b756df985f6b9c63013beef8a104208218410e260932e7069d4a16b8ae2a6772be8860573148601337b000b4c13162d515436418f4be168812d2fc3dcb315fd2f417b1bb4b681d950f87d761a976942ec431a9609737a15e79fd3accc9f0aeee98ad97360780076ee06f75cc5f697a1e77478651398a6c5f96f51d0062f6f529cd6056d5d600d61af32d6cf915710104208218410429c90c9571a6edae96074602f5decb077b6b74cfbb9d60a0c807b0e38da010de6ce0306a17b3ab44e01943d738302e500bd05d04169f66b5aa15e873dafc0ec05f635dba680fb0c60087a7ac0dc05337bc1ed565007730fcc9a0d6ded600e8eb32ad9389f436f6fa0bb6ae8336be8bd0d7447634256269b8caad9106e77985c73fbf8ca01afdf180c4ab92411bf077fa274cce796f32962412f9e705e560713420821843846932e70511aa0e0d78f5af4f7c3c830a876fbfd110386870027300203fdec4dd5dab31b68b5971bdebd1b860d600ad4876168b0b9ecb0b2fbb0ea3068d8af8d2ad02cae3776026df6fe2d96656f06d918b157ffb22cfbfd46cd6ede30ed999c71675b1aa09f5667ebd6767ef1df6770e7bfcde6a7f77540a7853eab86b2d4de6b9e3c06e57c9a58c089520a6ffcd037dad56c10a752285f9454aec8f1c41a4e4f80603080a7b9f9a4cb132010f0e33ee6cd280d2af934f1a01ba514ce408c54ae64dfe8570b6412613c4aa1948f682a4bf11407462eb78b4a71d3717c474edc3e3feef23a2a12b508218410421cb349972aa6ec7d1979e0118bdf3c65d1d501fef315f34e57fce87e93d93315db765ad46ad0dd012d2dd0daa2d8b90b760f5874774077a7a2bacb626818b6efb48be8cf9d0f2323b07eb3fdfa2d6782ae2b4a1b2cce9805d35d8ad5cf5a5cf636c5f94b1466ff11877a485a579d674bddac79f634ce3c7b17ed6683af7f771a7fff8345dcfef9a758b8b88a5969b167914e5a9a99134f2042a22f477af95dac4bf5918f6708b80e6c5726ddf720c3c0a2681fd1a0fbf8aee68b914eefff3a9339be71bb0311fa9c05d20fde8e2f9e201a1c8d86fc84e37d94d377718b2b465f34c4f18df67839717b7df8dc503e9eb35d1ebca776c042082184106f18936ec6c56ad8e95c4b17c2f69d16a50df0dc66a88dc0f32f58bcf09245790b683abcb40d9e2fc3ba8d16c3c3163f7fccc2d50da6659f53586317debff52cc5ab55d8ba03ce98ade8ee80f52fc0fd8f582c3c5b610cc1d3cf59eca85afcae6ca1a61c7f34a19485723bf8d2d7db7961cbab5c74f576de7fdd4e72776f66b66b0f97aebc96c71e998ee6aea14ec532ca4e17be6b97d1db7f177dd983f700310a49b2ee6b9907388f7976e424723a81b671c6e47c6dc739a9be242184104288378fc917b858601ab0fc228d0f5dabe15f04c12b15aff65b2814e72f567cf20f353ef86e8d733c8ae0bb34e6cf55fcf8218b0f5faf78c7bb3466cf80c55ec5e73ea6f39e2b34fc8b14eff06bbc77b9c6957ec57b976b5cbb5cf1890f2a962e545c739586a6e0c9df81f72c05c6f147149665d7c42c3d6f379ffec7369e7da80b76e950871fa557f36eff7a6efcccfbd8f8642bdaec1a344e7e65bf2b1027b6081e4e2429ee97a65425972c118cf9d97f22c6a09c89120a45894582f8bc01e2f92a605029a48985bc78c35972713f2ee5217adfcfc9c443f83c217206502d9249849baf9be704bd7823394ad9287e9742b902248a13953375a8f15629a49aa9659e0899927d3da39421ea75134c16ec94af6a81542c4a241cc0e7f11288e7a81ceab3e67735af59211bf3e3560a972f4cba34e6b38cdbdf38ca69822e27de70824cbeb2371deea8ce154208218478939974a96260d78e4ced84b37a14672dd6a0df626abbe2963f55b4cd01fa813abce36afba6bf5d29fef6131ae7bd55c11e386f91e2bc8b8141ec1a18133abab1d3b246d3b334053a300cb4c0d557685cbed462c13c8579827513e66693d89fd638777e9db6911a664d61ee6ec131a7c6373ffd28c14f2fe40bdf7907dfee7b006d4a0373f864c78f1e227d57d1775d8a443e4e26d80c53ca195244487b2bec97d555c9108ee4f0174a247d50887ab82496215a8ce074ba308aeb58e74c530cc7e95b91a53663266ea3c49a8a0700c370e2aa1459b3c97eed747b7196d6b1ae9c261b8c932d45490717734b2c4b341fe6a0ecb56375c8f146f147d3a4f3399617bdf8bcf66c89d3e3c5e34f108ff97151261d4de34ea648bbc128c6f12dbe9ab0772319dfc19f15571b15a09c495188c549ffb04032fa1556fac153ce10701daabf97c947c6ced6189472395c7d058a311ff691c39d2b39664208218478739b94818b5276513c23c06e0bcb849ee98003ea2f370bf801b6030d987b06cc6d57b0d35e4ed93eef182e68c0ec33803685b5f33045f747c96ce868430daebe7e07ec7050dfa5500e8bc68b0ebacfaef1958f3ec19f7cf53a56fde2375cb56207fa06cd1ef749e3c41dec23d27b09b7f765490623b831282633786239dc07ee79eff4120a87f17b9c8081d3e5826a99aae1c4e70b10f040da19251a0ae20a8500a8ee7033da8dd3ed2510f4d076ab7d6d97c783cf0ddd9e28b1b07d931e0a9ecb2dd922150e17b80c53e80b13deafc2bf4ab104f88e66bc80d3893f1e61dee214e9628c84cf8951cc500ec5f000463149a25021984e5002a856f12ebb18a352c535ee672d11073ce13e12112f1022e0aee2599e2651a8e2771faabf0a069ebd9fa1948ed2578d918e8f062d871b4b05033792a4268410428837b34919b8d8bb468ed82b6f29505a2b8d1a50aba39409b4d8d18d39021a340680411dd041b30eee436f6de6a0d5ece2980333e446fb18d877ea098d5eb3683414bcd862bf1efd967560a762c919bfe5ca4bdecb036bdfc7dc9f7f8f99dd0d66ccd7c180fac098c06c2239fdc4e38bb8fde63e92c530094f9e4429449fdf7970a5b9cb4f3ceda3944d12cf5730ca769ad8deae00a7cbb9df8df441a51f4e27b41963ce38e0b01b300c0c63dcc34d6df8fb326402631b9449fae673f3b18cd717257aeead245345fa525e0a992aa13e7b06c3281529bbc2c4e2d1bd61c53ed5713feb419fc51fc2df763be57215a37af8fe00868b7d04730691426abfa0edf063114208218478739b74352eb606685341ef02ad1dea23f69f658236c55e93b83e028e99f65ac95a3b980dfb3db3661faf8dd86d1dd3ece5c41a356899d16c57dbb73ef229660de84c3d1396cefd31dff9c10ebe9599c2afcb26f7fcc864f71e70f4a8bd4b3c4f344fb88fabda36914ae4296692189130def11a1a25d2613ff14a80be6482586092a7291d71bc5ec2b1456ccd24c997f36408ef5d5dcdc060b89ca374407a60f598d62cb6170c70ba9c47d55f9b374adc5fe62ba1388531ed26662c42082184106f4c933070b1c06ca0baae45f57c02d5fd0154fb05a8aecb501dcbc1791eaaeb4a68f580c38deaf924aafb46e85c86eaba14a62c42752d47755e88eaba06adeb1ad4d4b7a13a2e447585501d57a0baaf00c7747b09b353cc44c18c56d6ad2db2e7d5ed78cf5fcc35ef8459f314dfc998bcbad5449fc6c9d9e7c51da42fd24bff5d61c2290fb1d0f801493517239af3128bf85e17e94947335e4f28ce32234b3c96c615f6ef6de7f2f8e8edff09f17469df1c4d35472a573e860194291b8b08fbdd47d79fd34b2493e6aacaad8462b9bd7bc24cc8588410420821dea0265fe0623540ef044ca8bd0858e0ba1ada7da0a6a0a6bc1ddabcd0d20dd4b08c27a1be156d6a00a65c886a3d07da2f82ae20984358e8d075054cbd1cb436685f041d57837e9a3dfbf25ad85a277455172bfeecbdacfacd0ccabf814bafd7b860017ce3bb163827702ec830a81afb52b6fcb1388be887708cbd195886810118a3ed0c83e1fe3ce95c89722143325b866a8552214fc9a0d9f6a0cbd80b1d8c3f8863df29dea802c3075d078c83df3bc2780170078905614dd14bd8b72fbc71fa63c416c19a9b7d04220952c938e1501a4fd0dbbcdac19f15a05aaa34030e83423289114912f11cb9bfd1f13add61d2e96b31ee08136d2e537d54e70a21841042bc49e9e3bd77d38dd7ffdff9679d7d4c1d6dd8b081850b171e555b6bdb3fd8f527e351ca2ef2309e85c1c761f819a89561e031185e8bb20cacc15fc14819cc3d30bc0e46d6638dacb7db0f3e0e4611869e00630d34b6c2e0af61e849fbd1580343ff0b8dedcde8e0d4a78b69430d4e3fb381e958ce634f9fc659bd8f70f67c93f9e7c0bfdf3b85298d56ce7adb30d6c03871a56a439bf999a3b88a41397f0fdf4e7c95efe4b6e3f67858e075e3ecf1e02e6de1b27894f33aa05acc92feea57b963cd0eb6aeafe25ee0e1bc801ff23fe01bfff4030a8e209ffdb083ec0f7e4975e94a2eafa4f862f2519e5f5fa67e9e9fa5de1e28e7b8adef361e7a7e0bdb3b7c5cb674011d5b32247e50271cbf01c7aa047dc94759573198bb7429732b39befac5dbf9f5ba2ac682a5047c73c7cc941854f2f790faea6dfc64dd005bb6eca1c7ede1bc053d38aa05b2a9045fbc732dfd2f96d9ee72e3f17af12cf0608c3bde281ff6f7340bb99c78dc5b78da13257659cf98efa987cb427e8ca7f364efbd979f943ab8269926761e94b25fa4ef80cfeaa487f3fc6ecaf77c91443a4b3e97a3e8f92ce944809ec3f66750ccdadfc3f3d53df49ce767a917f2dfb8979fdef55f94dd0bf09de7e79a1bc63bf7f530ef255e2bcf3cf30c679e79e66b3d0c2184106f721b376e64f6ac632f2f78b9b2156535f8d13df7fd08a803b571feea407dbcbbf6967befba7364f93baf3ea68bae5ab58a1b6fbcf1a8da36d64e07f350cb7e29a0d14ce35280b5b748df2eb8b7ece74ab79f63d981cee8ec89a68f79ae3597081bd33534fbd39a55f32779174853a1b798d059b7e7b7067418d6c0aa71e763111e58f31edee9f9382b56be024ef8a72fcf64e34b1ddcf6ff36626e72601df80b699de80b779cdc314f00231fc215845c354b40eebb853869eebefb6eaebcf2cad77a18420821dee41e7ae821962c5e74cce73dbe7a0d9a39c2f537fdc1f5c010f6862683d8cb668d3e1f028cc9972a860568a05aecc042b580d6b2efb5d67c0fcd0e5e94c37eae35dbedf75cdff77c6f1fa3cf754e7ad00228ad010e8dc77f3b97efdf792603833a74d5410767eb204a2976ec9a0ebb8001b8c0dbc5daf26934365b68ade611fb9fb40c03a7c78b5b8216218410420831012661e07224a73eb5eb446873e0fb3f7690f8568db99e61eefed92c40877698a2bd407d6488ad5527ecb1dbcf9ea9511d70b1f105274c3df981d584aa164927d214aa50ad1a78431159d65708218410424c88d761e0f23a530357a749ad5667f9072abcb27d80dc03ed30071c6a172e5717238dd3e8df0d3840d70618aa4de1c557bbc0f93a9b71318a64932bb9c417245e8c92eef3be2e562513420821841093df24dd80f28da35151bcf74a8bab2f1f84ed0da6b99c3cb47a3ac18faca3adad85b61693917a2bbb07a0bb051a0d687576333cd278fd8595ee08d94ae4b51e85104208218478037abddd1abffe2885556be0681b810158f2569df52f4f878de0ea6c609a06034335ea26d00ac688837ac341a331fc7acb8a134208218410e2a491c0e56453609a8ac6b0060dc5d973b63138dc4df977d0e31a614a7b1beded53a9d70107bcbab3464b6b270e4d3b156b07082184104208f1ba2081cba934029d1d23b867b9595376e3d04650ba035d53680a1886f52f9d465757176dad357bc56a21841042082184d4b89c4a565d47b5d5e9e9ec67c3cb3df8deb29b8181114686abcc9a018de7a1b0b687195d5566760dd9fbbd082184104208f13af0f8ea3527b57f095c4e210b855230bd7b8457aa9d6cebaf51ed1fa065641bed0be0912c6cd8763e17bfe545e6cf06864ebcc8c52867884562dcfef056e85dc48abe34a9a86fbf9dea8ba9187d79031755f0c749c6fcb8c676522d92e98b932845c8e5c21cb427ea918e0b218410428837bc1bde1f3ae673eeb92f7bd46de55ffaa79a067367b562d4bb7865070c0e8e30c3b5071c50786e16cab99039aee7683b1dcc9113fc798c227de124d560821f7eef9f59e12e71c7470384b3d5bd4d2a9930c1948744264d3a93c49f0d134e97c7f451219f2f90cf3ec89aaa31ce358e705c082184104288092081cb296459800ed33a4730465a30ccb90c0f8fe05b50c5da0c9b0742b4692f32bbab04ed275e9b6f94f2b8133932f108e1488c743ec78ade7e72a9020680512411ff09ee68182f001e42510ff9781ff9d118c4e926108a10f6778f7f91231d174208218410620248e072aa2970b6d6a9371483f5598c183b38635a3f0ffd6f0faf0c2ee5b4d6df125852831d27fed3387d51628131495f2e1f616f1b4e979d286694d2643775e3f5ee4bee72797db8b7e6c814f79f3d711e6127c9231d174208218410e24448e072aa6950afed61b8d1c52bbbe6e29efa180306fc6af38718d8b39b7367fe86de2560eed127e062074613554a5537c1668d8b512eb209171ef7be764e9707175b2996ab08218410420831594871fe29a4004c1818849ad9c1da0dadcc70e4d8b8731eafd6decee08e7fe3a60fec80417552b670314a19b29e3ed2cd5918a35a059cb8f78b6f9ab33152af2284104208218e93d25b0e79cc6ad48eab4f997139a514d4a1ba1b461ad3d8f3ea5ab6f577d3e8fe739e79a6c4db66ff9c855781f98aa319e54ca432994499582a82a7f98ed3d90c60c6c62846150370ba5c082184104208713c0e159c1c6fd00212b89c529ad6004db1765d95972bdbd9ddff328eee77f14cb99bea0b3fe4339f18827eed24ccb65429249318b124a1316b153bbd3e7aa9521e33bb6254cb54e9c5e791a215218410420871fc0e0c524e246801095c4ead8e06c3d576d6576633d05f62d30bdb38d31be081fbff93bff9a3b5ccb840a3b14d9fe0d91683523a41c1df47d4e7dcfb9e6180d31b26d4bb9562715f3d4bb554646b6f90884f021721841042087162468395130d5a40029753a70ecc829ffdba93d56b2d9e7bf6375ce0bb84871e7991c8f21ca18f80f99c06135193bf974129152156f4e2ad16c8e572e4b219129108e90ae0f4134f5c45399da50c40996cbac2558904fe03e216e308252f473a2e8410420821de9c2622680129ce9f58a64277d6609a052d1a58260c6287879dd0d8dc4adf37db7971e3235cb06811bfdbdcc5a219ffc067ffb6062f39302d0da5262e51ac940ce2bbf96186b98b076f1d7360d13fb3d1633ff5443264ab5162e1226e6715c259b29131f964542964d3a4f2fd504d934c7b888503630afa8f745c082184104288132781cb44b040d340cd1961e425f8e1b7758acf3698db0b6ff57632325c67ca1c075ff8dc6e9e78aaccd4ced358ffc25456befb07dcf6b51a0cea34762b943eb1d52dde581e2376a4562efcb10cd9c31d0fc5c88462648eebb8104208218478a3eb993efdb8cf7b75dbcb47d55652c54e94a9d05d0d54678d3bef808f27dfcdff6cf907da17dc816bd12fe8b9703d0bdeb58db75eb48b5bfee9092ebd3c8032eb7ceec34f70db37aa76d0b2439fe014312184104208214e9dc0b2cbb9e7be43ff2b7c3cf7dc9725b0ecf2a36e2f332ec7cb025d07668ef0fc53902f7a7979e4d3446ffe004bce9fba5fd31d3b76f2d8638ff0c296329b5fd8cddbcfdfc567bed206cf69d407f4099f69114208218410e254bbe1fd21f20f3fc2f61d3b8ed8b667fa746e787fe898fa1f6ffdaa967befba73e4987a1142082184104288e374fd4d7ff03ec0c0ae101f6a3e8e3e1f0286c70b5c1c401bf616eaed631e479f3b9bc70fbd1da6104208218410421c9d1a308c1db818ec0b568c318fc3874a15b3001368602fe45bc3aec250638ed74fd6c8851042082184106f1a75ecc0651818c18e3dead8b188891d7b8c5be362b12f70a963072c35f60f5a1a873857082184104208218ec5e844c90876f0321ab8d4d917b858870a3e46675b1a8c1fb48c063442082184104208712246638ed1bfd15997d178c484a39b71192f68a9214b290b2184104208214edc68dc31fa775c332e638396b1352f1a12b8082184104208214e9cc9feb1c6d8c7639a71197daeb37fd032de8a6442082184104208712c46e38db101ccd8c7c3ceb858631b610729a3333063ff84104208218410e2445807fc991c1c8f1c32f85047f9288410420821841027ca3ad2e3ff078d81ed029f6f62be0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This is where we left off in Part 2, but we are now running on a server instead of directly from the files. Great job! We can now start defining routes (URLs) that the server should react to. This will be our REST API. Routes are defined by using app followed by one of the HTTP verbs get, put, post, and delete, which corresponds to Create, Read, Update and Delete. Let us go back to server.js and define a simple route:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // Routes\line
+app.get( '/api', function( request, response ) \{\line
+ response.send( 'Library API is running' );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The get function takes a URL as the first parameter and a function as the second. The function will be called with request and response objects. Now you can restart node and go to our specified URL:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d494844520000032e000002660806000000bacfd41e0000000473424954080808087c0864880000001974455874536f66747761726500676e6f6d652d73637265656e73686f74ef03bf3e0000200049444154789cec9d779c55c5d9f8bfa7deba1d58587a93aed800054b1444ec25c68ac644a3464d6c89d144a3bf14a36f4c4f34af46b1c41a63c96bc7164005ec0594de6197ed7beb2933bf3feebdcbeeb2e5eeb21834f3fd7c26773967e69972e69879cef3cc33a05028140a8542a15028140a8542a15028140a8542a15028140a8542a15028140a8542a15028140a8542a150fc67d1bab8ded5af42a15028140a8542a150ec2ab2ab5fb39d421a20da5e9c317d6aef364da15028140a8542a150fcd7f193eb4ee5b7afff9065236fe5d671c38904829c78d00951324a8a24a38bb4fc9500ed292eadc8292c1503fae76d67e93a9bd665a6bc4d3a5a87ffd805393bdfd875396d6fe521b1832c1d97ec5e81fccd665a87057a6c7ad3ba3d1a1dc869fbcf1e4ad2dafdb3c32bf9c8caeb3de815395dc8ecfa75cb5baeb6eb825ac8d935611d8be8c1887559a41b4fb35bd577f21eecc24bd11b72da7d0f7ad3d62e9bffa7f5a51ecb6af9670f25ed24a7839bbb24a79b72654f7ad34e891ec9d95988dc75215949b43b077a2ea7dd3bf9cbc8ab48e719f297d3b95cd9f1ad6e48946d2ff4504edb0b3d13d4f923ca4f6687b9ba79a3fb72dacfd469f63c87a94b69dd96d3c1d55d92d336439eef4117fcfc962780a958c3fbd05fef4fa115060892515404e0b7f91574627101324a4b49493100c9542acfa628140a8542a15028140a45fbe4f40b1efa5f1aafbb015d0880101945c56bf1ab657f251d7c3fd5017fc6f4a9141717edfe962b140a8542a15028148aff4aeaeb1bf8d1753770dc71c78d26a3a47880dbe6d703bc4e2d2e0a8542a15028140a8542b13b89c7e390b1b8b8d994d34772fb5c343ab0b81833a64ff58a8a0a7b54b19412210552647c2c6537fd21a594689ad65c2ef32bb3edcdfc6a5acedf5e6bce9f971c2941d3d034d0d0310c1d4dd3d075bd43390a8542a15028140a8562f7d1d0d0c8c2458ba7020e906ef19bfbdb019c0e2d2e3d51388414485fe0ba2e9eefe3fbb25921300c0dd330b04cb3c31dbe52ca8c7a2225520a5cd747f83e42088494e8592543370c2ccb004dcf35b695d22165ae13220f3926ba6160e81925a667ca8bc04db9389ec00885081a3d10d12b754a3cd7c3f5047a204040ff22daa1f8eaf045cf63355f150a8542a1503413a4b5a5c5a7f55e17adcba862f920a544f812d77349a7d29c38aa8229034b19565c40793444652cc9bafa26966caee5a9555b08060398a6b9930cb21612cff5483b0ec3860d63e0c00acacafa5052524c5d5d3d3535d56cdebc8575ebd611b06d4ccbcc5856d8618141cbc8f33c8f74daa1a2a28251a346525c524241344a2c16a3bebe81d5ab57b369d32602b60db6856164566add535e046eda66c0de53183fa480ed0b5fe2fdb8b59b177dedd569620a8d48ffbd1839a498d8274b5899b676cf62500a7c5f8261607c698c5492744303f569891688d2b7c8eab94fa4f468aa6b22e19b444ba244cc2fcd2074c2173d8f259efb05cd578542a15028145f0682d9df9cd292dbdba293556876d9e222a5440881e3b8f4b5756e3d667f2aa201a4f04178c87803e5864e79df08d3ca0bf9fa5e03b8f6df9fb23ded60d976b38cdcafe3ba5896c59c238fa4b4b418df17f8be20166b2210083078f060860d1bcab871e378fd8d37483b2eb665ede416e6ba2e86a173e49147525ede0f21327252a924b61d60c080fe0c1a544175750d0b162c24957608da3686d9cd959af488394338f1e2b3d8cf6ce4e5779e6571a34140df8d8bd9f6ea6c90249d115cf4e3cb33d76e5cc4277103dbeae576f869eae31665034a31e3b524849e9ff22205c9c6269a1c094690d292207aba89ea26bffdfc6688b29200b9a7e13b491a1ad2789a4d495998b6ddeafcbec469f4187ec99ff9f1b41089b76ee7923bd7112e34bbafbc488f983398d36fb992634bd7f0e0cdbf637e5380704f9517e9934aa448a43c3c9199bf9a6160db0122119b2f4c27da1df338dbb764dac3f5737d33b10301a221684a7d01f355a15028140ac5978500ad9516978cd292535c3ab6b8e4abb80829705d8f810183df1f3e9e907471eb9b3acc5f6e07b9e36b13b8f4d54fa8f23d4c3363311142e2f93e013bc05147cdc2303562b158669f8cc8b5c541d335343422d11047cf9ecd8b2fbe84e7bb98a685ae672d369e8f61181c75d42cec80453c9e9183ccf56b879c82c228471d75142fbcf0228ee7626b1a86d18dcfbeed85cb97bd17eb3eef3adbcbd6dbed102e0dfe646ebcef3b8ca59247afb991e7e221c25de97ad227168b30e3aa5f71d1e41054fd1f57ffe049eaa75ccf3f2e1dd97e99750f72c94fdfc40b6ba4622ee149a7f2cbab673322b9881b2ebb9fad91109606d2774974723f53bf47d21ec5ac7d43409c77e6afc10b9a20778a74df25d2f7f00bf762bfc116308629c3833cf79e4fa83b7326879fa6c1e9c741279dc031d32732b22cf3be26abd7f3c9d2d7f8e733ef50ad5b5f8cf2d2dbf338dbb769271ecf9c832730aa6f080d41bc720d1f2c7a91c79eff98c6deac4fa15028140ac5971d8b8cc26202066d9416c8e300caae90023cd7e1c669a330e3b5a4d3c9ce0bc41bb182616eda7720172e5a839975cf42085cc7e1b0436720a54732e16517323b526e0f8aa669789e8b65d91c7cf0145e79e5754c3db3e7450881934ef3b5230e47d72199487621c7c3b22c66cc98d62ca75b8a4ba7089c448a78cac513a0e90681508848c860470d123795229e707145c65dce0a46288ae878f1388d299f8cdea6615816e148304ff71d49aaa19154b6ce8290d1c2bad075bb7c27452ceee0f8998008ba69118d1a484dc76821275ed740dc08525a124073533434a6f18d004545c1ace22049c534c67df38719a5a5190dcd69a03a1e6fb60b824d346265ea8fc57185c00f8f67ce79dfe01bd3fad3b6dbd2737122633abcdfdc4ad7c11efb35260780a6f798bf3a8993966c6f3baea606d227194b927405bed861250886824482069a6113ac7b9dbfcc0b31a378232fbf972692b51c760be1d0a44de4a2db2ee5b0b2963734427d8671e0a1e378e11f6f218216f9cda33cf2488193dc9107347443c70a842868f968766e6c4676d2c59359d9e110d1a0d1bec52ad7b75b2fe5b03e2d6fe844ca47317ddac73cfef447d0ea35eb60be4a412a9124e9f878cd561b9ba2e21096d6459fdb7996ba6911b435bcb49b99db9a8e1d0a511036771ecb7cfbab5028140a85e20b61972c2e5282e7b9cce91fa19f4ce0d6d703509570a84eba8c2f8b34e75d5197206a19544403f8c926fa478b993320cafc1a07c330717d8f81032b080683241249c846241342347f89d5349aa380699a86eb7a8442612a0656b0bdb20adbb0f15d9ffefdfb138d44b272e0b5d7dec0f3bc76fb306bd691b8aedb2ca7aaaa0ab3dd73393b19849d2f22a52019b31835e702ce9eb33f238a0cdcdad52cfad7a3dcffea46cca88d8e2015d3a838fc6ce61e3795717d03e0d6f3f90b7770cb635b1871f6f57cf7d0a1f4091b408aaacfdee6897b1ee7edfa763f8fb7f84721b36eb893599686dfb89eb79f7e90bb5fd9821d31d1e8ba5da41dcc712772edd95f639ffe419069ead72fe6aedb1ee45d91aba39cd37f7d17a7036c78984b7ffc2aa931a7f1ab1f1c45f98667f8d9af9ea72a60432a4968faf7b8fa6ba53b82c301602297ddc1772ff0b31ffb35ca0ebf8a3f5c3401dbfd9c7bee7a8fb8de8713aefe1e6756b437be3e896431736eece87ece9a2271522126cd9a800dd42f7987f0193fe18e76c75503bf8c232e9ecbac7183282f0e6220896f5dce827f3dc6238bb6634720294672f239b3d9cf6c447fef1deeab1444bb651691a4e301f6bfe2828cd2e26fe2a5bbefe799773650ebda940e19c3c43e5b59ab05b0f04934753d8fba9c6bd227910832eed8b99c3e6b5f46149b20d334546ee1f37f3fc81dcf6f69b79d99796cb3d771e771ced1fb31b440c3a959c98227ffce030bb71388b475b76bd1b73e0055bc71effd3cfdee06eabc207d878d61a4f6390db681d6fc4a76345f759c7401079cfe6d66ef378ae1fd2218406ad32bfce2a78fb2d68b32a6a33e474cd2e9528eb8782e33c70d624071101d49d3fa7799ff763dc30e39987d2bc290ace4fde71fe42fff5a8d0c5bd9b1ec4e7f150a8542a1507c5174a2b8e427c0f57c0eeb1bc28b37223c1780ca94cf6fdeddc8d5930730be34cc8afa24fff3fe162edb6f08fd83993c5ebc91c3fb8678be3289ae9bf89e6040c50092c924beef67db209aad243976584b32df47851054540c60eb96ad58123cdfa7a2a23fa954464eaee8ac5947ec24e7b5d7fe8debba685aa6ae41032bd8ba656bf7dc55643b5e3652e2c460c4dc9f70c3ccd2e67c56e9480e3fef7a4615decc754f57610103bf7e03bf38be7f368f876f1553e42670858717ee4399e5d0d420081645e837f6702eb9d661fdd58fb3aeedeaa96d3b2c9fb46f12281ccaf4b957c2966bf9cb2a41c0e9a25d4f6dc18f4ee3c6abe6305603bfa18a2a27449f529b445264bc0fb3b84df53479e06c4f2030e8bbff810c0b00a3a7b077c9b33cdb9046941cc98f2e984820fd09f73d6470cef9e39a2d239a19a6a424d3ef983b92b3ce9e808d64d5c3f7f26a834dd4aa65c163cf12295dc9c2aae9dc7ccd81e40c0352ea043abd9f1d0fe1910a4fe6a8092650cf5bafad25715467e35ac4a40347516102c2212d6d2203c673f4777eca5e853770e30b35c8f6c6be3b7346b8a40b0ee0847d3383b9fa813f70efa23891884dd494c4377fccc28d3a81a0891b935dce2353ea5de63184c5f80b6fe4478714028286ca4afcd2724afb0f67cade7db8e35f9bd9495f9712272e197ecef5fc785619e0116bf489968de6c80baea3247d1db7bfef11b55b0c489bbead7be037dcf15a23d1b08945929ad5ef528941d0d448b5fc96d0de7c5de923fc3e1c34731f4699002e69cf22a837d0e8da8c3eb7b33e6fc3cb3ecb8126201d5ccda660e8019c3c3453c4f7c10895b3ef299773f1861f70fb2782a0d7cdfe2a140a8542a1f8c2e8c4274a76993440f83e83831a229d407a2ed27399d8af881f1c7f18b77fb085e7d654f33fef6de1fb730e6172ff92e63c229d60505043f87e6663bdf0894622384e1adff7f03c173f1bc2b8a5e525b3c9decfdef7709c3491701829442694b2f0894422388e83e779f87e6675944c2649a552ad7e816c5d1e8ee310cecac9a7efad531b844bba681a736796024996def143ce3ceb22aeb87f253e30e8b853d8c74a938a4ee19bc7f5071c3eb9ef46ce39eb424e3ffb62ae7fa18e70a1c1fabbaee41bdfbc92ef5d771357fee4515603944d607cb1d64ead2daf34f2f28d9772f6b9d772cf1a8030fbce188c9e4e77dd2edb472b1a443f0d600df7dcf863bef7bdef71d677ef6783dd32125725ffbcf9075c74e9557cff77efe04674b6bdf008ff5afa096f3df5186fd4eae01433f3e2d318a5c759f4a7bb78adca6fd3de4cf2d32ec5334ee1d02850ff1af35eab211cd2d06d0bf7936778fc954fd89a6cdb63d9e57d9008d723bacfe14c30809ac5bcb631c5dabcc6b591976fba9cb3e75ece4dcf56011a234e3a897186dbc1d8e792c0696aa4a67647aa6d72337bacb2490a1fbdcf70fa0150c5fbcbea314306862611c2a264e030460c1b4499e190ca631ee533d7d2a50771d62185409c377f7315dfb9e2067ef95c7507f3278bf048174c63eeac32600b8f5c7b29e77fe7522ebd7b158200fb1dbb3f458e83df49dfdef9b8162b6462e8a0e91aa66512b434f29aaf8e6893e732ce3ee75b9c7efd4b6c2f3ea88b3e7b8896657f7a39677de7cf2c4d67aeacfaeb559c79ee0fb96b1580cd84698330d24eb7fbab924a2aa9a4924a2af546ca8f5ddb9c9fdd0c1f962e8e936ebe2ceab733a6c0e5eb5326316fe1079c73f0de4c10b5788db53bca6a1a41e1365b5444368c71cea54bd334de7c737187551f7cf0d4e6b281a081c8ba0689ec1e16d7759be5b4ed4fcbbf335699ccbf0381ac9cee7c3e6f27abf43df48a890c06487ec2734b6a0916586c5bf82aabce1dcd186b0813cb0d3e8c4c669806a43fe6c9d7b760164529d5326e716e32c8c4b3aee0e239a3286825dd266cef5cedce4dd6b0f5063effbc0e4694102e8d60f83e74d92e9377b6bccbd29a59cc2e1bc185bfff3db316bfc6d34f3ecfe22a0f5a6de7d009468384b226142bf5118ffee15d846111347c82079cc559a37552efdecfbdef3622f669515478b8d2469782945fced1738601b0e1d997588d4d0159f740cb26a8a548b51df4ecf3eefcbec4710a3868e6683460fba237d9240ad9f7ac8bf31c578d40d8e1f317e7b3fed8b3181a1ccab8329d0fb7ef3cf6b98352dd9860f4d57773fde41d3b6edc776fe75bbf5b4d306a349f5304fa0e2550668448e1937087f0edeb7fc0414158f6dbcbb8259dc73c8ae691a7601c1500a965ccff384e308fb8c399793c8921005470c6ad7fe58c96194a0652ac0bb609492ef8586e1eb61ac7f636dde7335f85c4335ae7091444088b24a93cdeaf259b5b973592ebf9a4120e1c02818885a135b06a651d8c2a215814c6103e74b3bf0a8542a15028be3876c9554c9719b7ada6649a809f39ec31c7671bb6f0cfcf1a38eba0bd79ea9d650c1b53c4b8a21dab5e4dd789255319b72f3d232799482165e6abbca6e91c7ef8a1cdfb5a76b42bb3084a26930899b1b22413193964f3a65269344d021ababe437169ef7c1621044264169de9743a1b56b9ebbeef68507b975ad4936956fbbaa4ae6537118bcc7d99292b9c14daa40bf9fe9c51d8fe465e79643ecbd38338e1fc590cd1c8dfc75e93f84ed6caa1e9adfbdf49bb0c6d2df75fff4bd69f7c0227cc9cc8b0a9c7f2fda9fbf3d48f6fe6a19a5c190d5dcb2dda771e0bcf09b2f7517b673ccbf6bf84bb1fba64c7cd7ec771fb1d25dc70d93c369a3ab2ff340e2d0758c3f36fd56059c156cfa0bde7d1ec0ad6d97de1e1164f65d6680da8e28d855b094cbeb47be32a35f01c32eab4de3c9f5ae7e960c1de4e9b00d00c44ed7aaa994e947eec37a1987fbc1ac30e7652b8b37994571eadf9b0d676a377b53b8fe58e394a0d8b5f584a650bf72ed1b4922623a78ce5aad111b51ba9030ae9c77e134af8c72b8d5841035d03217c7ca163b51b88bdcd7c6daf1bb21befd74e653d1c2f275e07dabe1f3de8af42a15028148a2f8c5d72154393e8bac1caa6141281f05d84efb2a23ec96f96d773f99107727c7f8b1f1c7d10bffbac9e657589e63c520a56c7d2e8d9a862baae5357578fef8b6617af44224132996ce5de954c264924e2f8be87ef79f8bea0bebe212b27b371bfa1a1b1598ee7f940cb4dfe3b36fd432674b29795d3d0d0889e5dd07437f902204cdfb200bed0f0b77ccc4680e044e61c584aba49d07fc6918c02f036f269958f5fb982ad00c1491c3bad2f4e638cba86149e695334b05fc6b8b1e1351e7f76016f2cf880cd3b8c5a3bd5e9b91d9c87d28afcdaa51b21a2622d2fdf773b975f70338f6d05e8cf41fbf7c17462c47d806246540449c762d4c73d7cdf251d9ac8d72fbd9cef1e3786109264e5462aabb637a7aae628d90ed59b6a48eb1ad293944dde37e35ab4ee2d3e6cd4b1f47ccc875ddf17ae4fe98187311260eb22166e85c22ec735878e69403ae153b6ff410c03f02b595de3b7b3a0ded10e2ba2b1e2f60bf8fa19e737a7337fb78a404447cbe5d30dccfaf778f1f38ca23f62eee59c37a51f2453386d36d0b8793c2f2f9f3c552ba904084d64ced4be4822f42d6db161a9bd79eceb3be6285142956ff3c4438f72ff838ff1f033aff2e2abcb8899067acb67a1eb18f51ff1c6ba8cd411e77e9f0b0f1d46810e8e6f11291fc7947dca10addcc03aa2bd672bd10c3d8f79ecf560137d0ffaab924a2aa9a4924a2af542ca8f5d8b2a2604b665b1a026ce84be20b36e5ee15098efcd1ccb38a70a777b0d230b8ab966f63402556b915e2253d8b079addac3b6c2e8e898a64975f576229110beefa369025d171886debc213fa774f8bec85a4a04a669525555856598edcac99ced026fbfbdb4dd3e789e8b10b2598e695add7315030cbf8695dbe1c0812693bfff0baeb8f53afef0c962fefeea71dc704431077ef7361ebe84e64ffa5b9f7f920fd326666a118f2f39862ba784d9ffa25b78e842175fb7d057dccdf71f5f478c0144879fcbaf7f7d089b132186b5f822afef54e78ff8dd676d9f61db96ea58f55db42b2591434fe4d69f7d8d48630dd509837efd017caab6c4106e9225ab05fbee65b3ff95bfe381848b955cc04fae7e0c79f4599c34ad042867d3db37f2cc5d37717936842d52129c7c35f75e3b11a3ea256ef9c5d3548702c884c588c90300a8fe64250d9a4eb0cdf92aed3d0fd9224ffbf7058e57c6e15fcb38fe6c7a7d09959ac05ad5f9b8ee20cad77e7a0707270581ac2f5cfdbf9fe5e3b48ede26eeb2a4b505c30c8729deb941adfa64071a5970e7834cfde5b94c0e0d66ce653731e7b29d5b216bbb9e4776aaeb3c567a214fbc7f0c97ef1b66ca25b7f0c0253bd7b5f39cba8e3f7cb29087df9ccd0f0e2e60eff36ee2bef33c5c6962690e4b6eb982dfae12445a4554d3b0ed3a5ebef3090efaf9a98c362b38f2826b39f282165992eff0cbcbefe4a336ba763eaf9d44223503bbab799cd6d1bb1dd55cc7acee6e7f150a8542a1507c5174f87fed3917a0ce92e74b2cdbe2b546830de98c7b97f43d2a6c9f31892d78b5959903fbeaab19d9b48141b640fa1e9aaef36e4cf246ccc0342dd0c0346d6a6beb88c5130821705d17c775701c379b5afced3ab86e667f4c6d5d3df575751dca715c8fc993f761ca94039836ed40a64d9bc2b469073265ca011c70c07e38ae8710827822414d750d966de6d5f71d49c7b66a78e94f0fb2605d133e0eb58d2ebaedf1f9bc9f71cb13efb3a14982067ec37a163d741b373cbe092360600552bcfb979bb9fde90fd8d0e8836e61c8245b6a34c48a87f8d5834b58dbe013ad18ce9851fd09a41bd9f2d9a76c48695866db3abd3cf4550d23d879bb74cbc0d2136caa4a62169631a07f31346e62e9137fe04f4b1384024d2cfcf39d3cb7bc16178d60d822d928b00c9faaf7de65830ba9d5eff051ad861d0c52100d51100d110db559edeb069a94f84629a3ca330bc1eab575f8ba06ed8c7357f373a7fbbe87df6f0a470c06d8c82b8bab316c1badd3716ded2e96a869420f19e0d7f3f9fcbbb9e9be9560eb3b8f73b7e64b36691681c605dc76d56dcc7be5533635b4f0494a37b0f9b3b758bacdc7eae279190103338f3c969de4eddfdfccaffff1261fae5ccf9acf3ee6fd8d993aa5e722e8681ea7f9e0af3773cb3fde614d9d0b98589a4fac722ddb8489d1deb3d24dccca17b8f9ea3ff0f082156c8dfbcd0395ac5ec7bbff5e4edc6c671cdba1fdb1ee7a1e1bed3da72ed13083ddefaf4a2aa9a4924a2aa9b46b29ffffa7de196bc6f4a98e6d5b7909300c13e10b8add266e2e8f5328dde6b0c8eda19b168d9ac5b5db0a4805225856a61e2124aee3e00bc1c891c39a2d2c2d0f8b6c7588a4ae237cc9ead5ab304c13db0aa0eb5ab31c212523460c47d3c9441c6b2127539f40ca4ca423a4c69a356bc81cc8a7756f04b348df2399f2707d08341f1229f1d22e29c727738ea38e655b84022d37664b5cc7259dcb03e8964d24a4231d97647ac775340d5d3708862c2cbd9d3a759f78938387861dc96c9af7d329626909864d612477805ee7ed92be4b22e9650f29ccdd370906b207fb099f64327b801f99031ac3610bc37789273c846112095b186d6697f4d2342604e826d1a895098b2c05a9589ab4042314246ab5ff355b7a0e4d091fa91944a2f64ea7c9b7bdaf391ea527fc9cdf9cda0fd6fe9defdef806c990898ec4ef685c833a8e18c30fefba8afdcc465ebef107fc7585036818b6453890d9a781dc799c7b8c14a4d32e8e2bb2078de6daa363876c327be8f398475d3d5301664114777b354d9e44b32b38eec69f73de288ddae76fe6f287b71208ea90cf3c26b347c40eda99433b3bec9a8f93f670bc1d7dd3741dc33408064c0cf298af9d8e7517e3b2535989134f91f4410f04290868f9bd1f79f657a15028140a45cf701c97858b169f0a24814436c55bfc9d0452bb7c8e8be77958b64d2d61aed9a673616123fb077c10d9685d52424e61d00d96264dee6a2c206d87086495a38c2202a66de1a7d3ac58b19a8a8afe99f0c4d9b35c72e4948f44ac89ad5bb761183ab66d67ce6261871c279d66e5ca555454f427140a91091cd0b2531939beebb369d36684105896957553ebc1e244370985cd56e7886416bc3691b607abcb962dd1306d1bb39d3c9a6513e9407f94b29d3a3108b738025d4ad0ed20857673866cbd5db44bb708b75771eebe66100c1bece4616558440a7694db690e19010a73a1bc9adba21388869a8f87e970de1936052dc280ed2cbbe57d415af667c62199a0bcab5e799f3ac3202441a26514c3f6c655fa38ad2e68d8e15076f1deb2de9dc7b9e7e8d8810076a0fdbbdd99471de79138e908d37e7c1bdf19ee938ca5d0a391ec986fe4c557368365668475671ed345df35033b68d04eb16cd3f299af9d8d7557e3d2b6ac86150e6135ffbb9bef4757fd5528140a8542b15bd9b570c8599c749a402080ab19dc5e6f30c58a715828c948d3a5401734099dd59ec51bc9104bdc28e15090806535afba3432d6145dd3327274874d9b36138d468916440806831937342948a552c49ae2c4e331027610cbb632f19224cd56195dd3b003015cd761e3c64d1415151289460804022035d0248ee3108fc5696868c40ed8d89685ebfb6a65f25540f8c8810773683f40aee2e5f71a300cb3eb39ddceed7623707de9906058c82deba8ee37883ed10890a67ad5fbbcf0f0233cbf5dc7b6be0afd5428140a8542f155a6435731d3ecbeff8b6999e8ba89e7bab8ae8b103e4248743de38a63591696657568d1c82d2ca5ccb877399e8bef7af859eb8da66918ba816199d8a685a6ebe444b50d99dc2c47fa38ae8797ddcb22a540d374745dc7340d2cdb42f8025f6494961e595b147b1ec22396f091e80423161d78a0ed8c1424e32e1e1a56c86e656df9722371532e697f8782a2193ab66d62b7f5e95328140a8542a1f802f13cff8b71156b89eb78689a8f61988442a1ec9917f92f8a9a2d26ba86d474027a0069b5f0e3c8cacab88bd16a1f4c4772843008d80601cb6a11850a90025f80ebb4dc8fd3cd335c147b2e9a4924b2637ae7ff5c7582911d7e5b5f9df9a06106ec764dac5f9d3e2a140a8542a1f82ad32bae626dcb09e1e076bc3f5fa15028140a8542a15028ba45878a4bbb0eff0a8542a15028140a8542f11fa0575dc5140a8542a15028140a856277d0ebae620a8542a15028140a8542d1db74a8b87427ba56ee50c84cd42e155655f1d522170842d7f55687982a140a8542a1507cd9c99cbb28f8fe09839973c4708215e3314ac7b174660000200049444154f705bc4e4ae9648266a5c04f808c83ef205d48576fe0c3251ff2d3fb57104b49745dcfaf0d79b0cb16172104beefe37a1e9ee7217c81509a8be22b84ae69e8868e699a58a689611879bd840a8542a15028147b32524a7c5f70fe11e51c3b7334765100235807811a704ac0f740172d4a1880065e1dc86a70b623933568f8505482665ad8518d7d260fe69a98cbcd0fad4288ee19443aa393cdf95d2384c0f33cd26987430f3d8cd947cf61ca8107120e477aa5710ac59e403c1ee3cdb7dee4fffeef5fbcb3742981808d699a4a795128140a8542f1a525e72d35656488b38e1b81165f03718b4fdf6a64537a01b3cf3803cca1e06b64827619201d70d783d88ea85e8db37e3dba5546ccb17871fe739c7afaded8232761f921a64fa9e0eb6b1a7864d1760c43ef15e5a5bde3f58c214306dd904f677ddfc7715ce6ce3d97ebaebb9e614387615956d65aa3924a5f8d64591623468c60f6eca3a9a9a961f9f2e5e8badeec3aa65028140a8542f165434a896d486e387b3465a16a0c7304d694dbf8eecf9fe686db9ec6ddba86238eae006182f4c1ab046705886afcaa55382b3761ef7b03d6c48b79726992b3affe236fbdb59a53a685090e180cd267545f8b451f6da73129ba5c336dd8b8f93132fe696e3bc903bc1e5b5c8410b8aec721871eca25977cb7799f8bdad4aff8aa22a5e4f2cbbfc7868d1bf8f8a38fd0751dc3684ff75728140a8542a1d873915222a4e4907151860f0f20eb1ab00fbe1e0285440a8a11c02fe6bdcfcc235fe4f0130e42c673ba830652e0aed94060faefd0cbc60090734279e593267e71cbbfb9e5eee118e120057d421c7740297f79a1b257f609f7c8d725e70f97761c661f350729514a8be2bf024dd338f28859a41d07df176ace2b140a8542a1f8d221a5042198b55f298668c02c9d088162006ebbed568e38722663f71a855bd3047e1afc64c6eaa20944ed46b49249cd4a0bc0374e3b8dcb2ebb8c51a3c7523060226c59876e69982193c3f72fa53048afac997a64711142e07a2e33661cc261871d8a44292d8aaf3e9aa6619a2633671ec90b2f3ecff2e59f6218adad2e5e2e4885e8f9fba0691a86616059a672455328140a8542d1eb4829e95b603071af02f0ebd0fbedd37cafbcbc9c57e6bf8c9b8a632efd36b2a901f44076a3be8188d5a14526b792a7eb3a7ffce31f493b3e81f86ad2ef5e8d5d9e42b7a1ac6f80f183032c5ee5a0697297d636dd565c72d616dff3f9fa295f47d374a414ede65db6fc337cdfef5096effb188641596929fdfb97abcdce8a3d1e5dd7b12c8b138e3b9e8f3ffa08df14adf6bab8aec701071c40381cee711dc964929a9a1ad6ad5b87918d66a65028140a8542d11be4bca4f61a60138c98680ef8db968066815d08526284cab084249d4c610b27eb0b96b1d2a0818c579339ffa48512a241c036900d2e4801d241d32586a533b622c8db2b53f4d0d9ab991e292e9eef3171d2de1c3cfd6044272e628944822953a67428ebd5575f65faf4e9ac5ebd9aea9a1a468e184e24d241443291a0725d15f6e0619458dd6d7527b492eb93aa6fc02f2825f215debae056bec5f31f1673f8cc71142a5db15be4ac21871e76180f3ff2301b376dc0348d66c525e7bf994aa57a5c876118f4efdf9fe2e2623efce8433cdfc7547b69140a8542a150f412524afa9718e8ba8fd1a72f32be1a59bd12e967d6f4c21348017aa1059a0ec2c9c62cf2d0fb0e40ac5842faf56f238500d9d282a22193f518053a1a1270d14c4945a9d9ac33ec8ac5a5dbcb5621049eeb71e699676614ad4e5cc47cdf6bb569bf6d6a6a6aa4a4a48471e3c6515050c0ca55ab492693edd75bbf843ffefc5e3e8ef7ae4b5a4bb9b2fe4d7e79e5edbc55dfbe05a9bb48378db7c779d039ac7ffe115e5ca713e881d2e257bec84f2fba8167b6747628d1571bc330300c93934e3e19cff51062c77cd1748ddabada5d929f0b336edb36e3c74fc0f3fe7bc75aa15028140a45ef23a5c4b234c0c7080530fb0fc21c38046bc8d04c1a319cc0a81198030781f040b8203d100ebaa1638f1d8e59e16055385803d3d8839c6c4a13181dc11a3210e9a6417a68d22714d47a655b49b796ae196b8b8fa6691c76e8e1d0c5de16cff7114274989a9a1a018844220c1e3c18dbb659b96af5aef4678fc1af7a919f5c723b1fb6af87b540925cf128d79c7301bffd38f3953ef5f1eff8e6d9e77056abf43316c75a948a2de7d1ebbfc38f5fdc4e5b67bcceeee16c64e17b3e930e194aa007fdd20b46337de60cc6167d752c00ddd5fc3356179dc30f3bbcf99dc8bd07a661505353d32bed1242100987292f2fc77595f2a25028140a8562d79152668c275264140be1a089f44e092f85e6a5d1f0d0f05bfcba681a18a12846b410235a881e29408f166652380a9a0fd2c924bcacebd8aeb7bd5bae624264f6b61c3c7d3abaa167cc439de07badbf46b7251a8d72f7ddff8b6559d876804020806ddbdd69d29e8bf470f3d8a02d1b3f60de9f5ea6168d81d96bc1f1dfe52f77b9598b5692cf1ffa1977361ccea81020536c7cf31fcc7b683e2bebbde63219619ddccbe26c7a93f7bc095c343cd8a36e69e1111c75da881e95dd13715d97d75f7f9da38e3aaa59f9d0348da54b9772e0810776a8981b8641201060ef7df661d9a79f224c91b5c41834d437e0f91ea6b1eb7b5384100c1c38886d5bb761596aaf8b42a15028148a5ec2077c0f279d2255eba169123b6261980686a1a1991967afdce75d294143cb4455f5b31e546ecb7592c4f5044240b42848664f0c482745bc29dd2b4deeb6e2e2ba1edf3ceffc4e5dc472787ee78acb9c39c7ee746dc1c27fe7d112496afd2bfcedcec759b4214e70c0fe9c74e1851c3f268a8624b5f135e6ddf918ff5e17432bdc9bf36fba9a997dea78fd373fe56f1f34e06b058c9af56dae38e7008adb8a76d7f3c8f5dfe29e9847b0622a675c7e21b3860433723ba893d43a9ebfe34f3cf6ce361cad80bdcfff7f5c3511482fe7f60bcf0160d4257fe6c715cf72fd2f3e65fa4d3771ca600b648c8f1ef93b9b0ef936b397dccf965c1b0c9b7038a3c0795b5ee5f125c59cf28b83293300e9d3b44db2ef776ee2f0a77ec673ad1adfd93d0097cd6fbd8733fedb8c08027e75bb6352925ec603b7dec96bab6a49a3111d3a8d93bf753e478f0a43fd027e7ae50b1cfaeb9f31b3eccbbd4146d3345e7fe30deebbff01366edac4b7bff52d00fe76cf3dcc7f793e575d7525071c7040bb653367b8989c79e659fce8da6bb16dab39ba98ae6bd4d5d6d1b76fdf5e69a7659af4ebd78fbaba5ab5515fa15028140ac52ea1691a1ab0b5d601e1b36d53032bdfaf67c57bb5bcfdd2962ecb77c5b72f9ac0a157ec858cb920c06988b1b5c669b58fbfa7e4bd0aca45130b85434c9c38b1d34df9397ccfebb63f9b9f873fbf4c7ec683fff377361e7419b75e5d41fd82bbf9eded7733e0d7dfe700fb73fe7eeb03ac9d7a31bfbc6214815813c132038c22269f793dbfbdb80836bec0edb7decb3f0fda9b6ff56923dce8c7e1975cc39c412e9ffde3d7fcf57fdf60f2cdb3e9eb7454e7f718f3c9833cbe7e5faef9d3a98cd2eba9d14a309240602c57fee13af60b81a61bc8ed83193bde656024139921b5f249ee5f3385cb6e1cca874bdbeb698a55cfbd44fd7e177248bfac6b961661fca973192f63bcfd749bec9ddd037037f3e63b29c69d3f8210743826dfee57c3aaf536c7dcf05b8e2869e2b317eee2afb7de45dfdbbfc7fe5d3e9d2f0f524a661f359b6432c5334f3fdd1cd5eecd456f72fa19673065ca940e15ef4c6864837df6de073b60e3fb02d394593732939a9a9a5e535c8410545454b07d7b95525c140a8542a150f4021aabb639a4e31e7dfa5ac4264508f6b3f86861155a5a50a81b99731ad991c8fdad8140e2b7f8db93e02090ae2460029a07783875099cda382bb6a4d07a4173c9fb93796ec3f0eca38ece343e2f8b4be77b5cda4b5e27e19373a4d7cc67893785734fdd9fc17d0630e9b8b9cc0c7fcc8bcb9a48ad7e99c5fe54ce3b6d2ac3fa963160f8304a4c008be24103e95310a5cf98c3f8dac0149baa533bbbdbe921fa0fee4f599fa14c993d8de2ca4fd9e6745ea7160ca3c737b1a1dac12aeacfc0c2dce25243d733ee43ba0646bf43b8f0eaf3985a6a805fc56b0fbdcfc8338f615807de71b2f1239e5912e088e3c711e9052dd5ddb298779263396c54287ba59331d10294f42da3ac7c04d3cfbc9099a18f78e9b3586fb827ee5108e173f2492772f2c927b364f112962c5ec2c9279fcc29279fd4a9b5107256178383a71d9c3dbb2593df30749a9a1a492412bdd6ce603048416121bedf3b8123140a8542a150fcf7a2eb1a1b6a7d3e5fd980e9ba0ce86ba32318180d52625b18b681193008040c42018382a04949d0a22c64511eb0a80804181c0cd0dfb6e9635994db167d2c8b48d0a4704410d2299c9a4692958d24633e9f6ef59b23afee0a797fbecd292ea79c72725e4a0b64a28a75b5f86baf4ce748d275b5a40b26539c6bbd59ccc042c1fbd571925e2de9688b7bb952a90dbc72ef5dfc73c95aea5d0b537a0ceb620f8a1e2a22e0afc3959dd599243ce7db5c79ec3ceebbe5529e1c7818675f3497195d846c4eadfc3f5e740ee38713a26834b6dbcfa665afb2a26806670fe88df8cf2e5b172f21bed7398c0e65264dde63629532b458f2694d82afe2b2590841da49379fbd9276d279cd5b5dcf9cb172fc8927f0fa1baf2184687617334d93addbb63272c4c85e6b637979396b56afc630be22fbc0140a8542a1507ce1e4140889ce4befc719d547101914a2a2c2245a6a13ab7728300cc2e8981a989a868e0652e20b81ae69484d232e7c84efe20202d005141707281ea0e16cac235d9fc64f09de5ced519d8080bdeb5fe1f3525c326e623ed1680163c68c4588aeddc480565fa1f3a5ebd0af1a81e252eca62dd47b5061025e3d9b1b348afa4408868bb09ab6eeb80780a066d1dd3cb0620c57df7e23938aea997fe38f58d05563b49c51abb33ac3e84621134ffa3eb71db38d37eff90577feb13fa3af30d1f171fc3687f300e0b2edfd8fa85a5fc335e73dbee3f2af2ee38fd7ff89cb27048124eb16af2332f974faf58677905bc9e22571469f399ab0d6cd31f11ad9da080525a15d3c3668cf43d334ee9d378f258b9770e2892702f0f4d34fd3d8d8c8f9dffc66a7f33c77a6cbf871e3090643f8be8f699a593732939aea1a060f1adc6b01278a8b4b1079047c5028140a8542a1e88c5c84d4f9cbd29c7e6010dd8a53decf62f0e020f5ab1394eb261a3b5cc47c2931348d51e5e50ce8d3876d89381f555731a26f3f4a0201d28d8d2cdfba9d926126113b8d1b930857e2a5e089f79218ba81a6e95f8cc525636df139f6b8ac9b589e0e437ed655ac3bf81db88a6966004bd4b1665313078f9cc914e336ee7f620a97cd1e48fdc207989f98c4c5e30b081947b02fbfe1be47f7e1e263c652e034e0940cc296122941f80e8e27da973ba8e376053aa9d3ab59c1da543983cbc2540c2a46ff3c8e17de8b326d336fbeb39ed113749ab47206cbc5fcedfed54cfed6b94c3df3f73c746656b8b785a7aeff196be7fe36abb400ee763e5d2718746839bd616ff12a97f076e348ced82bb2438dea604c00f06bf9f4fd158c9f5c4cfddb0f31bf692fbe3926da1bfbaaf618344de35ffffa170b172ce4e4934fe69863e60019e5f9c9279f64f8f0e11c7ed8619d2a2f8661609a26d3674ce78dd75fc7b25a5b5db66cd9c2b061c37aa5bdbaa6515a5a4a535363731d0a8542a1502814dd45d334745da729ad336f51822b8f0ae237ba4c3b21cab68f62b88d12d3caacfa44761d3475d428c61f7f3c2218a4e0bda58c1f7d0265657dd0d7ad23b56e2305456b2899dd8889c073247e42f0ec071e2b2a05818089ae7f011697dca67cd77539e79cb9cd8bdd7ce82aaa584765da438b8ee3d81941fe72e7a34cbbfd02e6fef06cfe76e75ff9e173090203f6e7e46b2ee4c0420d8d499cffc333b9e7ae79fcf8a538040673ccf53773f6417339f9bd3bf8ed152fe00246b882e905462bb9536f1cdb61bbb4d0d80eea94d4bdf9027fba7309d53e18256398fdada3185418e61ba78ce27feef909df1351c69f7d23578eddc48ae52be91b1750dac5c2d3ad615d6384a125bda2b650b9f46d1a469cca98686ed2e89475302600c8246b9fff3d3fb8b709bd641cc75c76290795e850df0bcdd94390523273e64c4a4bcb38e49019cd4af309271ccfe02183d97bd2de5d5a1673569733ce388bf92fbf8c6ddbe87ae68b8265996cafde4e696929858585bdd2de3e7dfb505757a714178542a15028143d26a7b818a6c1b31fa599304067f62483927e3a479c57c65bf7d6916cf4316d0d5f08f62a2f67ece0c1f88d8d78c12065c34662d7d693fee45392f571d6a49b289d9664ccc4207ec2c78b09566e867b1626314d0b5d3776d9da02ed0726b3664c9feae4fe218420954e535050c473cf3e977513cb4f1979e891bf73f4ec9d431e77c60b2f3ecb59679cddad328a2ef0b6f0f4f537f1e929bfe6ba69855d5a4de45728e4713ee8ba81107e9b6b7ade4ab7e7792412094efbc669a4d349828140738432cff79142326edc3842a1501792f240d358ba6409c1604f8e0f5528140a8542a1c820a5440881e3b8589acb4f66db4c1b6b12ec67d0b0dee3a3c79ad8b82a8593921c39713cfdfb9491f65c3c5dc34ba748b83e29297143290aa73531706fc0d5709b049baae047ff4c5219339a8f8ce84a7159b868f1a94012486453bcc5df4920d5a9c525676df15c8f33ce38a35b6e6240ab13c5bb5346d1bbf8dbdf6551ed304e1c5bf09572f5ea2dda2a2d996bf95b0a755dc7b22c8e3bf6381e7df4617cd36adef8661a069ef4f8f4d34f1934681025252504023d573a52c9648fcb2a140a8542a150e4c8595d2ccbc471243f7b21c5357e88c37d4941b9c621d71451f35988ca773c2ccb6145ed56d26ed64d5ed30896484a473b144d4a6245247e02dc9860f9068f5b5e74d91633b06db3d913a537e85271f13c8fc18387f0f553bf9e7513cb5f11d93d51c514ddc518703cb7dd7d7cdef9b5e243f87ff71eb21b5bf4d522175deceba79dc6abafbe427d7d1d86b1e325354d135d176cdebc990d1b36745b996f5d97a6ce725128140a8542d12bec505e2c5c177ef66c92659b2dce39c8a2b8084a861bf41967229c06cad2122135744d47d740b700c347a4215dabe134499e78c7e1c1f77cd2c2c2b23296969c174a6fd0e10a281749cc711cf6dfff0042e130b29b4a482010e0a9679ee856994824daadfc0ac59e8061181417153161c2445e7bed154cd36815af5cd7756c5b875e09b5a05028140a8542d13be4140b4dcb788c3cf1a1cbc2d52e274cb69939cea46f91443305ba21d13590c2c707bc344847a3ae41f0f6e72e4f2ff7f9bcdac0b26c6cdbcccb3dacbb74a8b8789e4f3aed3061c244ce38e38c6e6dcacf71d6e96aaf8ae2bf83cc667c8b33cf3c8bb56bd7b071e306002c4b292a0a8542a15028f66c9addb9b21698eaa4c7ff2e7079f0ed349306198cee6730b044a738049a808694645bbdcfea4a8f0fb64a1a523aa6691308989866c6cad29b96961c1d2a2e8d4d4d0c1e3c84d3be713a43860ecd5a5bd419120a457be4a28b8d19b317a79c7a2af7de730fd535d5442391ff74d3140a8542a15028f24266b785e4d6350957e3add53e8b567acdf700d076b899e9bad1ca25ccf745f6dcb9fcf7addb767e1f7a3b545c0e3de4302ebcf042c68e1b87146297fcf2158aff06722ff929279fc2c81123b96fdebdbcf5f65bffe96629140a8542a150ec125a5651d92920b19408df47f83eaedb73f9a5a525f9b5a39d6bd68ce9539de79e7bb1e7b52b140a8542a15028140a451e1c73ccecbcc2217ff50fe95028140a8542a15028145f7a94e2a25028140a8542a15028f678d481107b28beefe1b9aeda5ba45028147b00eabfc50a45f7c84595b2ec9e1fbaac50b445292e7b20e95492dada5ad6ae594d3cd6f49f6e8e42a15028140a45dee8ba4eb420ca90a123e83f6020bd7c9487e2bf18a5b8ec6178ae4b6d6d2d2b3f5fcec4bd2753525af69f6e9242a15028140a45de085f505353c58acf3f23180cd2a76f3f7c3fffd0b80a454728c5650fc3f73d36ac5fc3b8097b3374f8c8ff7473140a8542a15028ba4d716929a17084cf972fa35f797fa5b8287a05b5397f0f430841ac2946a9b2b428140a8542a1f8121389440189f21553f416bbdde2227d0f918a61448a777755f8be8faeebd90372bebc0821d00da5532a140a8542a150fca7c8ad2b851000add697b953e27715d18b713ff42ff7f2372f76abe212fbec2db63ff53f98611bb3ef24069c71fd6ed3bab75755e2390ebef029edd3977038b25bea6989eb0b36d5a6a98eb9a04149c864689f2096a123a4e4c30d710696d8f42bb4777b5b140a8542a150fcf7924ea759bf7e3d6e07c7975b96c5d0a14309047a16e54b4ac9934f3ec9b265cb183c7808679f7d16a6f9d5dc7190736b330ca3d56f4bd2e9748fc7b225ff0dca466fd2ee8c6bef017597f4b675543fff47861c7d34e850b96811e96d6b090c18b1cbb2dbe23a0ec273292c2e424a495d4d3596656159bb476148a47d9efda89ac56b63f429085012b1d080c6a44765438afd8646684c0a2a9b5caa1bd3fcf4a4119445f27fb98d4efe43e0791e8f3cf24887f74f38e1040a0b0bbbd31d8542a15028145f6252a9149f7df619fe3dbfc57cf559744dc3b034a40021245297a40e3d8ee5dfba82b163c7120c06bb5dc7faf51b78efbdf7b8e28a2b78f4d14759befc33264d9ad865b99cb5e2cb80effb1886c1a38f3ec6af6fbf9def5c7801b366cd62e3a64dc49a62949494100e87b8e3cebfb264c9125e99ff326565bbe6daffd4d23a3c5f2085e8d9c77d29d1741dd3d039e9c0925d6a4b4b34adfb1625297bfeacf3d53d768be2e2c7ead93cef470cfada4138db57639554e035c6b08afbed92dc8e304c13cff39142e2792e0585856cdbba958a81837a45096bc9e7db12dcb3601b13071772d4a472e2699f84e3e3fb5018b21937b090ed8d693eaface39031fd78774d1dab2ae3948d28cabf1229f13cafdd5be9741a2961eedc735a5d4f2693cc9b378fa79f7e86134fcc5379f1b6f1ca9fffc85b432fe2da938660e5dfc29ed1b63e51cffbff78902525a7f0ad5915bbbffe2f059254e5672caf8ab0d784214494c7a042a150283a21994cf2c1071f603cf027c2afbf8ca11984ca4dfc5a01ba86d95727b9d5c578f95912bec3fbe75ccee4c993098542ddaa67f5ea550c1d3a943e7dfa307efc78962dfbb44bc5c5b42c84bffb1497c4baf5147ff231e8064dd30f2650d48db5563be4ce6bdab47913ab56ade287d7fe08f3c73fe9704d168bc5282b2b434ad9e36d0a6b1a0b282a0861054c7c216829a54b9952a21b3a8ee3d1d098ec51fdeda1693a7ffbdbdf78fa9967320a55179896c537cf3b8f134f3ca1c7675ee5bb5e6f7759b44b8b7d29d8fcf0cf19307d7f64b216dd8ed0b06c05f65e87a187a23d97db09baae130c854824e2689a861482826884eddbb6f66a3dab2a13dcbb681b878ceb8ba6e9acab4e509f70717d892f04f194c7daaa04424a260d2e41489080df8b0e8c9ee7354f0ad7f59a53eedadcb9e7f0d4534fd3d8d8d8b530bf9e4fdff837ef6f4ef1851cadd6b63ebf86a5ff7894173e6d60b7fc674d24d8f4e142de5e13db3df2770732c1867716f3492598bda1b478db79fb1ff7f3d8a26db4ef3ca05028148a2f2b894482458b16e1feef1f892e984f3068128a9898698350a14d286261a47542851681904564c12b7877ff91458b16914824ba55d7ca952b19376e1c0013264c60e5ca951d2ee8bf08e6cf7f856d575f45fafe07a8ffdbdff8e4baeb773972596edf8a94125dd78984c34821b04c13dbb6b04c13cb34090583d8b6cd9ab56b9bf3f79464fd36620ddb49c6aa71e235a4b3c989d7126fac26d6b09d78e376e2b9df56a99a584335b1fa2a92f5db76a9ef6df9bf679f251c0e5350584861515187a9a0b010cbb278e1c517809efbbded92c5c5dc05c565db537fa6a84c471769dca6463c61116b0a3074ee653d96990f657dfbb175f3263ccf43d340d70d0cd3a0baaa8a3efd76ddd293f60477fd7b33078de9c7d6ba14ba0ef53187ad8d29fa444c4c0daa9a3cca8b426898c41d97a4e3ef96d3967366d78e4c72e79e3b9779f3eee394534efeef761b4b7fce3dd75ec78ab90f316f4434cf107a82d8ea37f8d7bfd7113ce0144e9c54040d1ff1d43fdfa5a19ddcfdbf76367386e55c12256ecd325e7b7e29a9034efbffeddd799c5d7561fffff7bd3393992c904948c8404818f6b0497081585122fa555c1b57a2b612bf5d8cb6967cb595b4554bbfd61a6dabb1dfb660bf5f7fc4a51a5430da5662b512174ab42a5154020a847d202c9390c9acf79edf1f934002d913e0233e9f8fc775c6b9e79e7beecd249cd73d9fcf3979c5acf18ffa2bbcbbfb936af31db9717d4b0e7fc1b41c906b0dd7da32a1b3339d13c6388520c053cc37bff9cd8cbb6c59267fffdb79a0ad96defe9174b5b7a5bd3db9b7af915a9229636b191eac7257ff489aa932e9dbff910c0de79b030379f9cb5fbe47cfb361c386dc79e75d79ddeb5e972439f4d043336edcf8ed62e68974d7a73e9de77ee52ba9d75b32525569afd773d6830fe6eaaf7e2ccdf133f3cc735ebb4febadd7ebb9fffefb73f1c597a4aaaaf40f0ca4aaaa341b8d649b26aa32fa41f24517fd65cefee6f3f6eba45023cd2a839bfb32b479f4fbda96f527496bbd36fa81fc761f2f6f7daed14fc76bf55a9acd2a230772967f9237bde94d59b56ad51e1d7149ad96d7bce6d5db6cf9dedbd3f638a043c57aaff9f734effc7ec69d7e5236afbb212de326e7fe35b7a4fbc24f24fb30566e6f1dda7558eebcfdb68c1b373623c38319d3de9ebe4d7d7968e3c61cb49f3bf0dff8f903e93ef4e06ce81b3dbab1eedecd39f6d0f6bcfd9ca332a1bd259ff8ce5d19aeea5b5e6695c6c8e85c987d19dad9d2b2ebf9305b63e8d14d343434948f7dec630fffffcb2fbf22bffddbbff5949d3c77e055e9bffd9aacbcfaae6dff7d4a7dc2b199fbb2ae3cf2b952231b6ff84ebe73cb841c3979f4bd6d0ede9f5baefb617e70dd9dd99ce4d1235e7777ff96a5d277fb8db9aff5f0bc60da01c996a4a533a7bcf095d9fd2864007ed5ac5fbf3ea77ff7aad4da5a3378eebcbcfc6f3f9eeffed9a26cfaeee579c10fee48736438b77fefdbf9ca8237e41dbfb837cdc648aefd974f66d37bfe38f73eff253b5ce7d7bef6b5fce427d765646424cde623ff353cf1c459dbcde738ebacb3f2affffa6ff9ea57af4c920c0f0fa7d118c98c1933f35bbff5a60372d6adfefe81349b8d8c1f3f3e555565f3e6cdd9f08d6fa4e34b5f4ac798d10f0d9b5595cd8d465a1a8df40db5e7906724459600002000494441541933f6e9b9b6ce6ff9e9cf7e96071e7820078f1f9b779fff9b39764657eeebb92f038d46c6b7b566d2b4295973c32df9bb4f7d2537dc7043d6af5f9f69d3a6edf370b1c19166defe92eea49e5c7bf3861c3cb635238d2ab55a72fa31137350476b06869ba3d35faa2a55554b6aa3fb8243c38d1c3a695c6ebd6773967ee5a67d7add3b5255cd9cf7fad7e70d6f98bfc78f69341a69ecc711b8fd9be3b20f3bba43f7dd990ddff8bfe93afb8c6cfee5cf92b671b9fb9aeb72c41ffe435ac63d319ffab7b4b4a4ebb0c373e7edb766fc8409191c18c8b8f1e373fffa7bd331766cdadaf67d16c5ea9b1eca338f9e9c9befed4bb399cc3ca42de73fe7b087effff99d9b73fc6107a74a95aa4a5a5a6a6934abb4d492e993f66e125c7d37a798d87ac465db096ffdfd0379ddeb5ebfdd72575e7965060707f72e5c46d6e79a4f7e24fff4c5ef66dda6e4a0eeb3f2ba3f7c577efbcc298ffcb28cdc9fef7fe623f9c72f7c37376f6ca675d24979dd5f2fcddb4f69cd6d5f589c451fff7ed60f26e9e8cad35f7541def3fb6765ea2e36e1be957f9ed77c657d360cd773f0d1cfcd9bfef8dd997feac1a3470876b73dcdbedcf0a58fe443977e23bfd8d04c3aba72d61f7d2cef7fc5e10f6fefad97bc31cfbf64f4fbd3deffd5fc9f33efcfaa15abb27ec68b32efacc3b3f5784963c3f559f5edbb72d8f39e9796ef7d230f0f346c1997c9878e7be4fd7fe8e7f9ef9b07d235e7a59975703d49330fdd7875be7ffb4139e9f9cfc93ddfbe3a03dbbdc2ddddbf75b1bedc76e37d693dfc7f64da98d1c76df8f937f2b51fdc99be4692d609396cd69979ee33b6cc7d69f6e596d5dfceb5b7dd970dfd23495a326e4a774e7ed61939b9ab63f43399c603f9e197be9c5f1ef18abc76ce941cd8195f003c99fafafa52af25f531b54c3ce9f40cf43e98834e392d0f7cfd8a24c9e56f9e97572ffb52c61f337a41ebcffdf6ebf2c64f7f319ffdbb25e9ebeb7bccfaeebffffe5c73cdeafcf99fffd96ef799ce38e35939e38c673de6e77ff997ff3bb7dd765bbabbbb9324c3c343fbfcfa868606f3edef7c27e3fee3eb19dfb72993fb3667427f7f0e1e3326b524adb55a36379be96f36b321c9f1cf7d5da6ede3289bad3bce63dbdb53afd7f3d13f7a63fee79b7f2b03eb37a563e270323898b48fc9e0431d39ef651d69abaa2cbdfc9b696b1bdddbd8d7a32e55b3cad8f696fcf4d68d597de386744d1a9bcdfd439939b523b554a9d74697a9d547a71e341acdb4b48c9e467960a891965a95f631f5033ec2a7d1683ca1170dddd3f63860475c867a6ecd41474fcfd02d3f4f9acddc77ddad99faaa7766eccc13f67a5dfb634c7b7b0e993a2d0fdc776f3a3a3a32343890f68ef60c0d0eee73b8f40d36323c52a56fa0917aeab9fdc14d39ff378edc6e99579e7e48aef8e1bdd9767c5f6b4b2d0b9e73788e3c64cfc3654f7ef1abaada727b245cc68eedc8d8b11ddbfcffb1a97631c97fc72bde9c9f5efc8779f7e79317befdfd79c731c92fbffa4fb9f88fdf91fe8fff7f79fb496393aa3f3ffbe73fccbb3e3792b37fef3d79dbc913337c7f6f0e3a7c4c925a269ffe9a5cf0813767ca41cddcfbfdcfe46f3e7151fee6a42f66c9dcce9d0e551a73d48bf3076f3a3d875477e5ea657f9f8bdffd911cfdf9bfc89c09fdbbdd9ee19bff25ef5bfaed4c7bcb5fe61f7f635aaafb6f4fef1193b7fbc5ee7aed07f3572f3f2cada9655cd7f824f7a5d9acd2dcf62f79e3815cb7ea47193ce92539f3882a3ffcdecedea381dcf1836b73eff893f2ca63b70e3fab67e2a9afc81b4ead25c377e63f1ff3a0dddd3faad9775b7e717f5ba63fe3d02d3155cbd8ae1373e60b9e96716392be3b7f92abaf5d95ff9afafabcb0bb23b56a300fdcd593becea767ee5953d236b231775effa3fcf795f767e895afc8d30f71a40de0a9acaf6ff4c3d4fb373732e3d4d3f2e32f7e2e473cfd8cdc586f64646424cf7cebffcafa5fae4ddfed77666464241d932766a4d148d568ec305c46f7ffaafcec673fcbecd9b3f77a7b7ef18b5fa4d168ecd707c5c9e887b10303fda9aa2ac71e7b6ceeb9fabf72d82db7644cbd9e2963c6645c4bcbc38392069acd0c341ab9f379cfcb99fb182dfdfd03191a1a4c5555193b7ef4721acf7de6a9b9e3bf7e92ebaef9715ef8b657a4b1fefeb41c363ddffaecbfe6a4d38ecf39bff1f4fcf395ab333c3c92071f7c302d2d2d696b1bb3ddbed89ea8d56a196e34d3bb69389b07938e71e333d8486e5f3f983beeeb4ff7a1f50c379a191e1a3dead2524bee5a3f94f11d2da9526560a891a191e601bd8661c993f30fd81c97aa4aaafefe548da1d45a5a92e1c1fd19eab6dfb6be6fcd6673cb9bb8ef1bb3a17f241d635ad2373032ba9eaaca9483b6ff4b79f6099372f60907ee34748d919d57ee23475c76fd9af6f61484cdde6bf2892beecaccdff974feec0ddd694b72c6e9333370c3f9f9cc27be9737feeddc4cdcb03a9ff8e21d39f2773e95bf78f3518f3913d884637f23671f3bfafdc9c74dcccd2bcfcf577e786786e67666677f950f3ee17939e7ac13d39e64f6a177e4bbbf7b65be79f360ce98b9fbede9d8744f36e6a03cfb19cfcaa9b3c6a796c78eb56d9f72648e3966c636bfec47e5056f3a6a9b251a79f0a7dfc94fab53f2d2a71d92d6dcb7f3f768e32ff2a375cdcc987b72266ff7d76477ff60eceefe6636ddfa8b3c30e6883c73ead66340b58c993c235b1379eae4f63cf8cb15b9e1ee87d2e8ee78f8f58ce99c9e99474c494ba6e78823a6a476c5bfe5a7d7de95935f38f3c0cc9301a0487d7d7d6924595fafe7d4a38fcf57ffe4829cf89a37a4676395c1c1c1dcfea31fe469bff53ba9774ecce0e0605ef4818fe5bf3ff5ffd2d9fb406edcc1e4fccecececc9f3f3f2b56acc80d37dc9857bef2157b74f6b166b3996f7ef3aa5c7df5d579f9cb5f96e9d3a727495aeafb769c7fe3c60df9def7bf9f833fff854cb9efbe4cabd552b5b4a4ad5ecf70b399815a2db5248daaca6dfdfd6939eeb89cf6b685fbf45c49b27efdbda9d56aa9d5eb39babb3be7bff9cdf9f457fe33fffbbdefca11cf3829d9dc93e660236d837d79d1efbd3a39a83d7fbbf8fd79cd6b5e9df6316dd9b47973aa2dfb9b3367cedcabe7aeaad10fba9364f3c048c6b5d773e4a1937347cf867cf3270fe4b9275739eef009e91853cfc07023d7acedcd8d776cca394f3b2487768e49a34aeab5da63a60fecafad93f3777761f7ad1f92affcdacafce66ffe66f6757ffb099fe3d23e6d667a7e767b0e7b46771af7dd9da9471f9abb3ffdc18c39fca88ceb9eb5d7ebdb57830303597f4f4fc68d1b9b66a39196d6d66c7a6853a676edfd39cbb76aadd732d26866b8516578a4ca48357ab8ae651743baaa6adfafb5592569567b122ebb0e93bd0d97a1bbd6e4e691c979deb3ba1e0992b6c373c6e99db9f49a35b97b686e3aeeba36370d4fcef39e75d80e4e5f3c983baefa44fefe93dfc84f6e5d9ffe96f1193398b49dbae7477d5aa71e9329d994fb368decd1f69c38eb8df9edd9dfcdc57f785e7efea257e7b5af7d55ce3971d25e5d59b5d97753565f3794e35eb4254676fad637f2e08dd7e7c18ea3f3ec23c6eec7b93376b4110fe5d65f3c9831d3cfc8c3dd924636aefb51bebfe6e6f46cd89c91da98b43492fa2ea236ad9332f3b0f6fcecee7bb2a9215c009ecafafafa323cdcc8e6eee3d3acd7f3ea4f7d318d241d471f9ba1a1a1fce4b39fcaacd7ff565ac777666868289f9b7d5466a596a9a9edf0884b92cc9a352bef78c73bf295affc6bfee99ffe29af79cd6bd3dd7de40e974d928d1b37e60b5ff842fafbfbb370e1c24c9bf6c8518f7d997a9024d3a64dcb2b5ff18aac7ff6b33374cd35e9f9c4ff97b69191f4371a69565586b64cc85fb77973364c9f9ed3def39e7dba36cd563366cc7878e7bce7de7bf2377ff3e12c59f2a1fcc5df5c9ce79e7a4c0e696fcfc8e6cde9e8dd988d2337e6ea9fae4b6dfa4979ff7bdf9bb6b6b6746ef9dc7a9fae5953abd26826d3a78ccdcc29633232d89f07368ca47fa891a1912a238dd1e162bd9b86f3f3db37e5a7b76e4a4b6b3db7df3f981beeeccbd38f4d3a27b41df07079a227e73fe1d7711973e81199f65befc9bd9ffecb749ddc95c6fdf7e7b013a7e5d60fbd23c77ee0b3699b3c75afd7b9b746464672e7edb765ecd88ed1686969cda64d7de99a3e7dbf0e5b4e1edf964d4323a9d76be91f1e49476b4b7e76e7a63c6dc6413b5c7ef350231bfb1b9934b635ed630efc49091eaf232e7bf6e43b7fcee19b3e9d77bfefb2d45ff1cefce5bb4fca21d56db9e2bd1765d55eacbe566f4d3d551a7bfabbdf714cdef8b12fe5aceffd5b2efb97cfe4fdbfffa95c76fec5f93fbf7362c6edfed149aa0cdc79437a8637a5e7df3f939f6f7bd70faec8677a5e98f9ff63c6e8d0adc603f9c5cd7d19db7d7c0e39c0179d693e746b7ed93b2633ce9cfac89c9b077e9caf5ff5b3d48f7f769eff9ca9199b0db9feaa5559b79b758dfedbfb241eee04e009b179f3e60c0d37d272c289b9ebba1fe7c79ff8e79cfefb6fcba4e34fccd0d0505efb95ffcc6dabbf93077ffed30c0d0d65523d193f327a39855d9d0e79fcf8f179c31be6e7473ffa513efbd97fc985175eb8d37dc34f7ef25339f2c89979c94b5eb2df43c41e6dd28409f9f94fae4bc7c848daebf5d4333a7ea1595559bb6953064e3b2da72fbe301d93f66fc44bad567b7872fdda1b6ec87f7c6b553ef0bef7a59664c9873e94bffeebbf484b6b6b1a2323f9d33f5d9cb7fff1fb337107d78cd9971312d46bb5f40f37f2cce33a336dd298dc7a6f7fbe75ddfd69a9d7f2bab30ecf115347e7acde717f7f56dfd09beec326e499271c929fdfba215f5b737f0e1a3726cf3969f2010d975fbdc9f9fb7856b1839f7176fa6e7a5d1ef8d19732695a479a9b3766da111db979c9ffcaf11fb834b503fc0bbdadaaaa72e76db7a67dcc9854cd666ab57afa070632b17352c64fd87160eca9d6965a664e6acfd048238343cd1c31696c3ef7bdf539f290b199386efbb77060b8999fdcde97d46be91bdfc8ccc9ed69dbcb0b72b4b58dd9e5fd8f9c556cd761b2a7e30cab663355923187cfce51ad2b72ed0f7a327cf2e8d0ac0cdf95ef5fdb9bb6a34ecb61639231879d9219f515f9d17fdf9de193b71f2ab6f9b635b93db3f267bffb8a9c39b99e34c6a77b076ffdd6e7db9d3dd99e24497d5c663efbf5f993392fcd8b96be397ff8c5cf67ed9bfe224fafb5657c7b32b0616017d771a9a5a3fbf979f5a1238f6c53e3c1fce43f56e59e635e98179efcc8d19ec686db73c7e6f64c3faa73af8ee8ec5e331b6ff9457ac7ccc89ca98fbca3231b7bb23153f2dca71f9fe9636b49b32d9dbbfed5489a9b72f73d83a94f9c9af1bb3c7a04c0afbac99327e727c79e908ecb2fcb7faff8428eed68cd9aabbe9ad4ea59b5e20ba925995cafe7191df57ce3f4e333b15665b89e5c77ecac4c9e3c79b7eb3fe28823b68c20d9f1188366b399bebe4d39f1c413771a2dc3fbb833fbd06db7e5c60f7d38636ebe3963b60c111b53afa777783877b4b464da1be6e7b437be31f503b46f59abd5d26c3633f7b9cfcb7f5d734d5effe6dfceff38e79c5cf1a52fe5d0430fcd41071d94f5ebd7e7e73ffb79261e7c704646460ec8595babaa965a6a696bade7c843c7a5bdad25fd438d9c307d7ca64c6ccf48a399b67a3dd3278fcdac19e3f3605f233d0f0ea6eb900939fc90715bf6050fe81890244fc2e4fc27eb3a2e87bdeeadf9e5f53fce43f7dd9483da9b69af553968e8f6dcf9c98fe688df7df73eaf7777eeedb97bcbc4966acbf9b587d3d2da7a40aee192242f3e65722efdee3d39647c7b366c1e49f7d409f9f3cb6fc929d3c7e5ac599d3974425bee7860303fbfbb2fadf596b4b7d5d25aab657cc748a61d34669f878dedc8011b2ad63221532624ebbfff8d7cefd619396be6b3f3bbaf3e3c6ffb7f8bf3c1f68579c931c92ffefd9f72e91dd3f386f7ccc9c45a529bfc9cfccf574ccd059f7857ded7fcbdbcecd4a969dd746ffa66cecd59d34f4a572ecbf24bff2d935e745c26d5efc99d9b77f17c87ef7af3ea9dbbdf9ee1bb5765c5f792638e9b96b1c33df9c14d0f2513a664424b92d6c3736a776b56fcfbffcbe74f7a4d8ecbbd7960ca73f3a2631eccb7b73dabd8980999b86d103446d25e4f5ac71e9c89e3dbb6fc735065f0febbf2506d529ed1798003bcb131b7dcb431ed339f9329dbacbaf5a0a999909fe5a76b6e4cc73187646c6d531edac1552437dfb6266b3a8fc9a11392de5ffe30d76e1c9be37f63fa4ee71401f0d4f0ce77be331f49d2d5484ebbeb865483239959aba563623d8dcda31fc7b5743433b8a19123ab2a556b9535879f90bbe7be28ef7ce73b77bbfe6baf5d93534f3d65a74712eaf57a9ef5ac3372cd35d7e4b8e38edbf14af6e15040cfaa55b9ed1fff29e3366d4aad56cb60b399e1aacac68e8eb49ff1accc7eed6b3378f31d5979ca59e9edb967a7ebe9ec9a96a77ff403e97ae90bf7e879ebf57a9acd662e7cd71fe7037ffdc17cedab5766647824279d786236f7f767ca9429191e194eb3aa0ef0a526468ff60c8f5439e4a0b69c75d2e4b4b5d4d3ac9246b399a146338776b6e799c774e68a6b7af2c31befcfc40963b36960e4804ecadfeac9989cbf7f735cf6e70fa356cfd1177e24bff8e33764dce4bed4071ecaa48963b3eeeb9fcbc8eb7e37ad13775ff87b6b6464241b7a7b337edcd8341aa3675d1869347354f7d107ec394e9e3e21474fe9cdbd1b1ba9aa5aeeed1dcc338f9a94decd43f9e2f7d7a759559932a123e3da6b796860285326b466d3e0e82fdb81fe9ddad9755c76b6dc4eb51e9e7317be36dffaeb2bf2b12fcecd19ef3a25a7bced1ff2e1717f977f5cf6de7cbd2f99d07d56def237efca9b4fde32a7a336214fbfe0e22ce95c9a8f5fbe247f7a6933e9989eb9ef7a7ae6bef8fcfcd5a2fbf3e14f7e247fb262b4d2db271e9e53666e39fbd6a39fef8f7633e1af366eb7db3372ff0db9ea9397e5efef1b4ed29a49c79d9d3fb8e8cd39764c924ccedc77fd71fefb7dff908fbff7bf92b6a979d6ef9f92171cb3bb7778471ae9bb6f53d27164261cf06eb939376decc8cce71cb2dd11ac964366e79c33fb73f58fafc9d7d76ef90f50fb413974e298ed3e5ba9d50772c79a6fe527fd555a2674e5a4b39f93671eb6bb433300fcaa3be490431e8e977cbd9959375f9f965a2d430f36526fa98d8e1a7ea04a33a37325d6ce3c313d2f7871def9ce776e774d961d69369bf9f18f7f9cf3ce3b2fc9e83ec577bef39d5c7df5d5993163465ef5aa5767fcf87139f3cc33f2d18ffe57d6af5f9fa953f77d5a40b3d94cdfadb7e5cecf7c261bbff39d5449ee6f694973e2c4b4cd9891494f3b35a73ee319e93cf6d8d4dbda72c52b7e3b279f7c72a6bfeca5a32b686bcbd867cdced02f6f49e3ded193ecdc79f32df9af0bfe34afdec370491e19eef5bef7be2749b260c15b72fb1d773c7c44a6adb52df57a7d9fafdbf268b55ad26c26c323cd0c0f37d3d25acb98d67a461aa317956c564963a44a5b4bd231a69e49e35b333452a53523993e794cba3adb3338d44c4bcb81ddd97ca227e7ef697bec684bdadef6d6df19fad087ff6e9f9e78abfe75bfcc4d7ff286741fd59ed654b9ed968732e3c39767ec513b29f2fd30383890db6ebe291d63c7a66a56e91fe8cf51c71c9731ed07766a72ff50337ffbb55b333c524b6bad9e4dfd239930b635e3da5b53afd5d237389cc1e166261f34269de36b396a4a479e777ce72e27f13fda40ffe65cfba31fe6b4d39f9e695d8f3d24b161c3865c7ae9b25c70c11fed765d1ffbd8dfe72d6f59b0c3719894a291077e7845be7ce3e179e96b9f93697b1345aed1024046afbff2918f7c24877cedab396eed756919d392aa99d12babb7268dc1467e79e2a9b9ef452fdda36849921b6fbc31575eb9327ff447ef487f7f7f2ebffcf2dc7efbed79f6b39f9d9ffce4bad17910e79d97c30e3b2c5ff9ca5752afd7f3f297bf7cbb750c0f0fe7ab5fb9222f7ed92b333cb4ebebb96cbefbeedcbf7a7536dd7b6f6a1326a46d6267c61d3a35e3a74dcbd82953d23a6edc763bd09f9dd89de74c3d3c23eb472365da7bfe570e7bffe2dcf6963fca03cb2e4b92b44e9d92abd7df95376e58b757ef67555569369bb9f3ce3bf3f6b7ff419a553363c78ecb430f6d4a5b6b4bfef9fffe73a61fbe9b61237be87d9fbf3def3deff84c3ea82dc94892d1ebc36da7598deeb157f53cb879ebf0ad5a360f0c67faa4d6f40ed4f3becfdc900fbc61df2ebef968b55a3d5fbcfcf2bd9e9c7fcef39fbfcf475c2e7cf7bb72f1c73ff19a24fd49366fb9f56df37d7f9281033ac7655b63bb8fcd8c777d38372d79575a1b0319fbec97656cf7b1fbbdde1d696fefc8d8090765d3860da9d56a397cc6cc031e2d4932764c3d17bea43b7ffbb55b734fef60268f1b937abd96bec1d1f19bf55a2d2dadc97d0ff567d6611373d6b113f72a5ab66a69a9a7b98bd9e9fdfdfdf9c007fe7ab7eb39b08731795c347a73d34d9bd271e471077cc23f00bf1eb63df272c333ced8e13253a64cd9e36849923beeb83333661c91bbeeba2b975d76593a3b27e5ed6f7f7b3a3b3b73d65967e5eb5fff7a3ef1894fe4dc735f92638e3926dffad6b71fb38e967a7d8f4fb13aeeb0c332ee55afdaa365b7eadb122dddfff0c14c7bfb5b928ceefa0f6eb97f70fdce2f6fb02bb55aede17de1bffaabf767cd8f7f9c179c734efef39bdfcc694f7b5a9a0770eec784ce69b9febe31993a9c341a6da3179cdce6a3c86acbff5455925ad2d6da3ada3055d2a8c6e496bee4b69ee1b4d40fdcecfc5fb9c9f9fb33c7655b13e73c3f4ffbe2f732b2e9a1b4751ef82162db3a62c6cc8c1c3692969696c765bcdf56635a6bf9b39775e707eb1ecabf5ebb3e773fd83f7a35a06672e8c1ad39fed0f179ee099d7b75d1c947abd7eaa976723ae4d6d6d6bcf18d6f48a3d1d8e51ff2d6fbc54bd91abd37e596beb1e93e76f2019ef00fc0af93430e39241ff8c0070ed8fa66cf3e2d9ffad4a773d34d3765ce9c3939ebacb31edebf6a6b6bcb4b5ffad2cc9a352b575e7965fafbfb73ce39e73c661df596963dfbc47e1f0d6e199634e9d52fcb9d1ffbe74c5ff4d60c6ff3f3fd3573e6cccc9c39f3e18b712e38fffc03b2de6d4d6bdf90ab7ff840461a7b7611c96d2f9e5dab927a6b5bda5b9a79deac830fe8768d8c0c8f56e013e409bf8ecbced45adb1ef768d9ea89dc497f66f74179e68e4e99f5386b6f6fcf94295332b20755dbdada9af6c7e1c813074ecb2167e4f56fd9f1a763bb7ff0e43ce3b56fc9330eec260140264f9e9c458b2ed8e532471f7d74fee00ffe6097cb3c2e9766d862604ba0ac3afc9424d9122ed5c33fdf5f8fcc29ae1e3e6572327a44e6407d487efed98fffe5427e153c29a743e6f1d7dadaea280a00f06b6f47817220c3656b9c3cfa2b07defe854bab7079b2d46ab5d4ebf50c0c0cee7e61008042f5dc7dd7e809821ea76b226fdec18a8776f273cab6a7edf1b8ce7161efb5b4b466dae187e786b53f4bc7d88e74751d9eba3f8fc7cdf0f00e2e8c02bf2286867cc0c1afa666a39966d315729fcafafbfbf3a3ff5e9d539e76fae3f267dd9a5a36eee0f2d2fda9b6fb79dbe37071460ebcfd9ce36228d293a5b5ad2d874f3f2263c78ecb0dd7ff3cdfbfe6eac7757c68c97677ee709ebac6b4b90ecdafa39636ffedf97554afd70d517f4aaae594a79d9ea9d3a665e471f89070da8409f9e5a68ddb0d0b5b52dbfef20f1da9e5b8c30e3be0cfcd81b7a7ed618e4b816aa965ead443336d5ad71e9f46100060af3d4ea3aaaa8c5e0be5f188962479e6673f9ebedf5b94de7beedde9329dd30ecd333ebe7fd725e4896172feafb846a391c6013c4f3800c053c5f8b37f232fbdf1fb4ff6667080ec697bd477f443735c00008027c29eb6c70ec3c511170000e089b0dfa743beeebaeb0ee8060100003cda7e9d0eb9a5a525bff19cb30ee8060100003cda8f7eb07a8f96dbc95031a7a40400001e7f7bda1e26e70300004f1a93f3010080e2edd7e990850b0000f044102e000040f1f6ef02947b784a32000080fdb1a7ede1880b0000f0a4d9cfa1624e870c00003cfef6eb74c800000025112e000040f19e9070e95d312f5d5df3b3b277206b572ecd8239dd99b364ed13f1d4c57be4bd79b2b764f77e95b6150080a7967d0e979ed5cbb3647e576ab55a6ab3e667c9f2555937b0e3653bbae7e6dc73e7a6bb23e9ecea4ccf9a5b53f6be6f6f562e9c9765eb7674df40d6ad5a9e25e776a656aba563d69ccc9d3b27b3babb3367de92acecd9b286352bb274c1ac2defcf825cb262cd0e5ff3b6ef4de97e95b6150080a796da0e7ed676f965ff32f4ead7bf71b70f1e58b328b34eff58ba3e777756cfefdab3671c5893c5b34ecf8a85d767ede2597bb7b54f949e65997bd85bd273e1f559bb64c7db38b07a41ba9ebd3c73afeacd8ab91d49cf8acc9ffdaa5c96f373d5da6599db9964dd25997dd4db928fde92358bba9fd097000000bf0aaef8fc67f39af3def49a24fd49366fb9f56df37d7f9281fd1a2ad6d1d1918e2d5ff7e241fbf3944f88b5cb57a4e3cc89b961d992acdec951a464f4b53facebdc2c9e7f6472cff22c5db3e5415b5f6bf92f1900008af6f8cf71e9599de58be76576f7bcacdc2e027ab262d19c74d56ae99c3d3fcbd60e241948cfea6559346f5666cd5f91958be7a4b3d69d85ab7ab26ef9c2cc9bb7308b169c9bd9b3e666f1aade9d2c3f33af7ce3b3d251aba5366b51566c19bf36b06e7916747766cee255bb1ea636b03acbd6cccb25cb2eca69f72ccf923d9ed0d1b1a5533af6bc531ef3de0c64cd250bb360e1a22c9c373b1db55959baee311bb883d73c23af5afc3f33bb564bf7a2351948d2b3ea922c98554b6df6d2acdbfa98736765d6829559bb6261e674d652eb9c9b256bb679df777affa3b7750f964f9281b559b6707e162e599285734787d6d5ba6767eea2d5d9690f0200c00e3ceee132d0d199ae81b5f971cff6bbaaeb965f92d5b31767d9e72ecc9c7597e52d731664556f928ece0cacb92137ac5996357316e7a2f3e766d6c8bf66fe8295e9be6869962e5b914be6aecd87162dcfbaec68f97372cebbbf904bce4ed2352773b64cc8e8e89a95ae590b72c94573d3b98beded5db53c59303fddb316e4a217275f5eb2223d7bf242d72dcf45cb6e4d4e58904573f62c5d1ef3deac5b9645cb67e7a24b96e69215abb3ea829d0ca57bcc6b7e41ce9e7f61169cf6c8225d731764d1b9473ef290ae59e9587b436e58bd2c2b061666c5da6bf3c1ee6fe54f17ad48ef1edcffe86dddddf2c940562d3a37170d2ccad2c58b73c98ae5396f6232eddc4bb272e91c07a10000d82b8f7bb87474cecaecb98f9dffd23dffa22c59302fe7ce5f92152bde9a691b5664c9ea8174cd9e9bb9dd765c886c0000122349444154497bf7c22c9c372f8b962dcba2679e9a79f3e767ded608e9ec4c7ad7a577a063c7cbcfeecebcc5e765e2b79666c5bad1e71b58bb3c6b672fc8ac5dee31f764e5cad95930b7234967cebd68618efcde922cdbe909d006b376d94559b26861e62d5c96ccbf34d7ac5e9a3dec96c7bc3703bdebb26ef5d22c59b12e03e9c89cc58b46e7ca6cffa89dbce6f65dc440473abbbb33bb2b99387b6116cd9f9daeaed99977ee0949cf9af4ecf6fe476febee97cfc09a2c5f716b3ae7748d6e57e7eccc9b95dcb3b6c7d1160000f6da9e5da6723fed6e5a4bc79c7999d3fef1ac5bd79ba47374de4ce73643ae3ae764f1b2d959bb626916afeac9c0bad161620f3ffed1cb27e99cbb380b8e3c3d4b2e5993054b6665cdb2b599b370f6ae3fe95fbb3ccbd6ac4ae7fc955b7ed09b8ef61bb274e9ea2cba64474709da336bc145593c77df8f1f6cfbde74cc5e988be65e92b7bceaa82c3ff3ad597ac9922c98bd93c7e5b1af7937cff4d89f74251918c8c04076f887b4fdfd8f5e6437cb6fb9bf776d6f461f3e3a946e627797a32d0000ecb5422e4039ba53dbd1b9935dda81b559367f4e16f7cccd454b9764d10e8ee03c7695b3b368d169b9f5922559ddb326cbd7cdcdfc5d9ec46c20ab57accbe2152bb27cf9f22db79559b9e4b4dcb37cc9e830b6c75d7716ac5c976b2f7d6b66adfd78de72faec2c7c629ef8c0eb9895858b4e4bcf8a65593390a4774d56f69c99c58b77138f0000b0038f5fb8ac5b914b767e4aaeedf5aecbba81d3327fce8e83a477e5a22c5c392b8b16ecdd4e6ff7fcc5397b6045162f5e9275e7ce4bf72eb7615596f5cccb9c470dcdea9eb730a76df87296acd8a3992efb67ddcaac5cd799d90b2ec9ea7557e582136ecdb2a57b3a917d34fe06061eb5f493362eab23b3172ecda2393d5976d1922cbd6475e62c5b99c5bb1eab0700003bb45fe132303090812403bd8fde595e93a58b57a47bcb4eeac04092c1ed17e95ddbf3f024eed54b976660c1d22ce8def2f0ad8f79e48932b8615596ad5c9b75ab9767e98a75496f4fd6ae5e95b5033b587eabae73b3785e47bef7c99ecc9bd7bdcbd7b276d9d2f49ebb8330ea9e9bf92724df5ab2346bb77b8e810c64f0b1a1b0dd22bd8fbca09d2db2cd7b33d0bb2a4b966c39eb59e79c2c38f78474cfda71cc3df63577a6bb7b62ee59b92c2bd7accdeae51765c9aa9ea4677556afe9c9400676d330bbbbffd17f8ebb5bbe372b162cc8caceb99933bb3b5ddddde9ec5993353d4f5a490100f014d376f965ff52edceddd77caefae879475649aab41f599d76e699d599679e599d79da09d5b4a46a3ffb4bd5835555f5df7265f5c1174fac9289d58b3f7865754b7f55dd7dcdc5d5f9679f569d76f68babf3ce3baf3aff8357557757555555fdd5f55fbab03abb3d55dacfae2efcd2f5d5835555550f5e555d78e6c42a99569df9d6cf55d75e797e35adfdc8ea372f5e53add9d1f2dbe8bfe682eab4177f6ecbfa77e4c1ea9a4bcfaf4e48aa69bff9c1ea4bd7f76ffbe847b627a94e38efa3d595b73c58dd72d5e7b6bca654ed675e505d7ae5f555ffa3d77aed97aa8bcf3f61f4fd39e1fceaa35fbae6b1dbf6a8f766edea0baa23936adad9e755175cf0d6eafcb75e5c5dfbe815efec3daaaaaafffa8babdf3c3255da4fa8cebbf4daea9a0b4eab8e3cfbadd5c557adadd65eb9e531d3ceab2ebeea96eaee6b3e575d705aaae484eafc4b57553fdee5fdd754776fb7ad5faebef3e55d2fff60d55f5dfbc133ab89132756ed197dff466f27546fbdead1ef040000bfae2ebfec5faa24af4ef292246727795692939274273934c94149da6a3b0997a157bffe8d8f7b213d117a572ecca2812559366f572741e6c0ebc9f2454bd375d1926dce8c36909e554bb360f99cacb864aeb92e0000e48acf7f36af39ef4daf49d29f64f3965bdf36dff72719286472fee3a527ab9627f31f7b4e611e67bd2b17e6a275731f3567a8235ddd5de99eedcc620000ec9d27e474c84fb4de558bb360694fbabb7ab3b6eba2acd02d4fb8de753db9e1cb8bb270d925593c6f4eba3b92deb52bb2f4929ecc5fb2cbd3bb0100c0633c258fb80cf4aecdea2f2fcfca8179597a91d3ef3e19ba17aec8551f9d9db58bcfcd8993c6666ce7accc5fda9b794b16efe0a29a0000b06b4fc9232e5df356a4a77ab2b7e2d75d57e62e5a9ed58b9eeced0000e0a9e02979c4050000786a112e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c5132e000040f1840b0000503ce1020000144fb8000000c56bddd91d577cfeb34fe476000000bfbe86938c6cb9359234b7dcaa2db7d476f0a0d624ed493a928cdde6ebd6ef3bb6dcdff6f86e3b0000f06b6038c96092812db7fe2db7816dbe0eeeec884b95d1c26964b47a8693b4e491d0a9b6fc1c0000607f8c64345c06930ce591a32f5b8fbc54c98e878a6d3d1cd3dcf280962d0fde365a1a3b792c0000c0ded87aa06428a3f1b2edb0b187878bed2c3eb61e6d6964c7d1b23568000000f6c7d6e6d87adb7ad4656b8f34933d3be2b2a368198e3392010000fb6f6b776cbdedd311976da365db392ff50817000060ff6d3d83d8d6d6d8f6eb5e1d71d9fa7d4bb68f961d9d910c0000606f6ced8d6d0366dbafbb3ce25265fbf326d7f2c811986d6f000000fba37ad4ad99c7f6c84ee3a3b6875f010000f657b5bbafff3f550da0638a9d68af0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Connect to the database\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Fantastic. Now, since we want to store our data in MongoDB, we need to define a schema. Add this to server.js:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 //Connect to database\line
+mongoose.connect( 'mongodb://localhost/library_database' );\line
+\line
+//Schemas\line
+var Book = new mongoose.Schema(\{\line
+ title: String,\line
+ author: String,\line
+ releaseDate: Date\line
+\});\line
+\line
+//Models\line
+var BookModel = mongoose.model( 'Book', Book );\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As you can see, schema definitions are quite straight forward. They can be more advanced, but this will do for us. I also extracted a model (BookModel) from Mongo. This is what we will be working with. Next up, we define a GET operation for the REST API that will return all books:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 //Get a list of all books\line
+app.get( '/api/books', function( request, response ) \{\line
+ return BookModel.find( function( err, books ) \{\line
+ if( !err ) \{\line
+ return response.send( books );\line
+ \} else \{\line
+ return console.log( err );\line
+ \}\line
+ \});\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The find function of Model is defined like this: {\f1 function find (conditions, fields, options, callback)} \u8211- but since we want a function that returns all books we only need the callback parameter. The callback will be called with an error object and an array of found objects. If there was no error we return the array of objects to the client using the {\f1 send} function of the response object, otherwise we log the error to the console.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To test our API we need to do a little typing in a JavaScript console. Restart node and go to localhost:4711 in your browser. Open up the JavaScript console. If you are using Google Chrome, go to View->Developer->JavaScript Console. If you are using Firefox, install Firebug and go to View->Firebug. Most other browsers will have a similar console. In the console type the following:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 jQuery.get( '/api/books/', function( data, textStatus, jqXHR ) \{\line
+ console.log( 'Get response:' );\line
+ console.dir( data );\line
+ console.log( textStatus );\line
+ console.dir( jqXHR );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \u8230?and press enter and you should get something like this:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000002740000016708060000002fc3d4670000000473424954080808087c0864880000001974455874536f66747761726500676e6f6d652d73637265656e73686f74ef03bf3e0000200049444154789cec9d65981cc5d680dfee1e5f8b6fb249881305e2094e8870035c5c2e12dce112dcdddd835ce05e2cc0876b123409499040420ce2ee9ed59196fa7ed4eceeeceee8eec6eb7d9ed99de9eaaa3a75aabafb74d9018542a15028140a8542a15028140a8542a15028140a8542a15028140a8542a15028f64eb414c753fd5728140a8542a1506c5f44aaffae3891b40e1ddb38420884100847e008877d5ab5deae922a140a8542a150eced2c5bb1024d034dd3d0351d4dd758ba646536d278138053edbf008867d0516ecc398e43eb96ad002828689e30f3a4dd755ae2d0e4f1e29f95b26b30ee095aade269c902d38a97e468daf1aa85a64e2649f4b44a94308334b498205e828024f16ad56ab474cb554da28cfb9bb55ac68bad86cc22d78c924149139e9aa2a56678d1a41f2f364ec2869266ce69577a7c44c59f8ad7dcf4e3957fcd20a6a811bd668219c54b115f6452ae2a85ca4c1f3191328f07a2225266b1458dd353c74f9d55fc80f4451471bea5132ff6d4aa75915e9c6abf6a158fb40a1a37248dba482f5ecdc0cce3258999dea556f3489278c98b90f1555bc1b2152b4073caef933ea401e70076b5ff0e897ae8628db9860d1b00100c865264ad5028140a8542a1a80be57617c0b2e5cbd1d001fc4803ce8af9af45ff0b408bdf43e7085ab76c458306798824d6a542a15028140a85a2fe69d0208fb6b461d9f2e5207be82cc0004c2ac7262a8661e3f6d039c2d911b22a140a8542a1502892e0c88e353fd290ab6ecc39d1dff17be8f669d59abcbcdc5af5ce092117510847ce03c8340d21049aa655c493ff45545ef95fd3cae7306915e7a7958e10a06972b2213a86a1cb4987ba9e301d8542a15028148a9d415e5e2eeddbb665cdeaf57e64ef5c7563ce400ec1c65d14a101b532c41ce1206c07d334b16c1bdb161586926168b80c03b7cb957036b910429a6d4220848369da38b68de3383842a0478d2fdd3070bb0dd0f47261ab1863429417c249231d17ba6160e8d2b8db738c3a07336412b11c0cbf1f9fb1b3e5d9d9ec087d082cd3c2b41c74af17afbe3df2d89eec8c36132fcfdd5d8f0a854251eff8a86accd9549d4b17bf872e53841038b6c0b44cc2a130c7772ca07fcb46b46d90437eb69ff52541966d2b66eaea2d7cb6680d3e9f1797cb55230da23d6a9669118e4468dbb62d2d5b16d0b871131a366cc0d6addbd8bc7913ab57af61d9b265783d1e5c6e97ec89a3b2c70e4da6675916e170848282023a76ec4083860dc9c9cea6a4a4846ddb0a59bc7831ab56adc2ebf180c78d61c827d8ee6fd43998610f2df6ef4fb77d72d838f95bfe2c75efc546dd8ed087c03235b29aef4b877d1a5032672a0bc3eef8c68870b06d01868151bda9250baba37ce1c242b685059a379ba679eee89d21f67823baf4eb4f8f1dd666e2d58b0b9793a61eebca76d3f5f624513d2a148a3d1c5ff47fb93167453f3a5143afce3d74e52b62231193a61e9d478fee4341b617e1d8e05888d242f20d9dfca6590ccccfe5947d5b70f34f7fb1311cc1edf154a451fe3f629ab8dd6e860f1e4ca3460db06d07db76282929c6ebf5d2ba756bdab66d43d7ae5d99307122e18889c7edae31bc6a9a2686a13378f060f2f39be138329d502888c7e3a5458be6b46a55c0a64d9b99346932a170049fc783e1aac5134c389415165362c6e84cd3300c175e9f9780cf85be23efbac2a224b20fc75f7626bd5d457cf7c7d7fc5664e0dda142a48320b4ad902233c929ae004d1a7aa8d3f37c47e843981487da73e9edff9679dc358539a5061e77b53cec30db4add346ed10857e916ca1cbdd29848165637e1881459b4bb7c14b70ff453f6cb935cfef23202b90666ecf119dfb2a2c730baeca83613af5e0a05c1481a7aac2bb5d5b570081615531c1160f868d4d0871e2e6653b11dff7c979fc60dbd94df55ec4890c2c23096e6a161e300359a47d2f044f5e852469d42b1e7e3a5aa3167228db972832e710f5dba069d231c4cd3a2a5d7e0d923bae11726e6b6e284e7e77b7cbc34a83b57fe38870db685cb257bd81c4760d9365e8f9761c38662b8344a4a4ae43c3ca75c96089aaea1a19195ede71f471dc537df7c8b659bb85c6e743ddac367d91886c1b06143f178dd9496ca7410e5e5aa4c2727379b61c386316edc37442c138fa6611819980fc2215896cd11b73ec0886e3915376ecc12d62d5fc0b49fbee3f3098b89e404f0eea8bb6ebcad778448b61dce4e40102a849e77fe8f91fb26396dd1eb5c7cef34445e1d8cba1da18f74f2704c0aed9edcf5e62574613dff77c35d8c29f513305284d559368ba0a723437bf98152fef87e0996cf054eb5e33f2c26bb4712f9eb9b34b788aa77396aab6b61535292c521d73dc2a53dfdb0e12baebff153b6f5bf8d8faeec103fceb277b8fcee9fb1021aa11293c07e27f3d0f547d13e38853baf7a8bb5597edc1a08dba42c49b8cc3f413d8a8c76c2532814bb276ea421e742ce9bab62cc41828d85334138609911ee1ad81157e916c2e160f208a545b87d01eee9d5928ba72cc1151de6c4713023110e3fec1084b0089659151b1c977fcae7b8699a866599b8dd1e0e3aa83f3ffc3001972ee7d4398e43241c66d09147a0eb102c0ba648c7c2ed7673c821032bd2c9c8a043e0382e729b541a738e00dd9d4df38ebd39a6636ffe31e86bee79e84bd6787c78340087485988d2a0892540d30dbc013fd93e030d87506131c52668de2c1ae7c8b76fabac98ad654eb457c08b91348d6444e3854c2c271acfef27cb6f488349d8044b82044d073b6a486b860b9fdf475695b453e42f1c42654182111bcb2e4fc7435e83ca0794a681b0cadb677c6c4b8026889495114c24733ae54a947e2444496984882d17dce82e37d9b9fe7a18e213840a8b0845e5c8f11b680884a6571afd38946e2da4d4f0d1284f4b1cd6d08b9146bd386688c2a230b6e1252fcf57a167c78ce0e932889e5ea0783adf2f31f107dc358f2f0a7242dcb2a4a35b81190a515a66623a72fa84db97455e968e555a4a51c8468aad61b8dd04b27c690ee7c6d363fa72c5addf6c23a9aeb5b87a14844a34ba9e779334e62ad0d022856c2a2dad180f010fd9596e997f4929a6e36007ba31fcdcd3386d6073aa175b582691acce09c32ba44c508f0a854201499ea4e9f4d00901966532bc7916cd4419e6b66d006c288bb02968d2ad7156c5b90bb69691ed3628c8f662078b699edd80e12db2f97e7304c37061da162d5b16e0f3f9282b0b0295de2acadfd02b5c6144173098a685df1fa0a065011bd76fc06378b04d9be6cd9b939d95154d07c68f9f88655971cb3074e8604cd3ac4867c3860db8e2eeb79c440931acf9e076aefb640d8ebf293d069fc1c8b37b91d7ee18ae3d6506d7bcb716579646a8c4c3bec79ecbd9ffe84d9b1c8dc8e6854cfa74346f4fde08b687beb7ff97abba6894fdfc3897bdbc0c8fcb22e7e88778f5947c58f13e57dd3181422d8b2e09d2f006e20a8a100ec112371d875fc459c3fbd03ecfc0dcb298295ffe1f6ffdb81257968b70b811475e3682a15d5b91dfc08781a074ed5c267df901ef4fd98827db858e43304919bc593a91700e7d4fbf90a37a77a45db32c0c20b4ea071ebcfb03d678e543d2932398f9f0c59c6202f8e97dcbf3dcd6d340cc7996731f98411980cb8bdf08b0efb07fc59739db13952759b9e24e64c30e4570753d9e9bcf1ac401cd7d20c26c5bfe1baf3ef62e736d2f9e8cecfad87690cbd03b5f66a85bc32e5aceaf9fbfc36b3facc1136b0790cfe94fbccae9002bdee3ca3bc6230289c22652ecce6770927a717b6d9c7d4ee2911b8791bfe20bee7f642c1bbc1e5c9a2012f2b3dfd0ee78806dbffdc412c743164e8de38b4355044cafcd44f51f2ad12838e22c461c3b80ae4dbd606e63feb89778f88335b43feb36ae38ac0d4d02061062c3bc5ff9f8bf1ff2ebb6b8dd9aa9f598e5424b55e7d91e0827aadf779856b13353355ddffe23a1cea7d6d023a120fe83afe6fa418d2a17dd03e042fcfd12575c64477bc9341a1f711dcf5dda1d8f399fffbe3a9d52bd09c75d7f356714d4282c42d894051b30fcae44e1e5bd6f89ea7157eb795728143b8b848facf25d3e927d004ccbe6f0a67eacd2221ccbc4b14cd6876c1e9fb692391b0a712c93799b8a78f48f15ac0fdb15e758a5451cd1d48f69d90801b6e5d0a2a005c16010d334314d4bae96b52c2ccbc2b6ad8aefb1e1c1609082821658b64cc7b26d0a0a9a130a05b12c13d39413b4860e3d92214306557c860e3d1297cb15cdc324140ad2aa650176549e8c3ed57467f8b369e82b63d1b857796abc1c7e6e74f011b42142a854d0eeecdbb8fdd43eb4c9b129290ae369dc89c117ddcad5fdbc44f452e64c5a0a40a06b6f0a3493b0954bf73ef900acf965165b848b0e49d22809c7198211824809b41f710777feab3fedf30c10e06ed48123cebd8dfb4e684eb0cc22e2e4b15fbf8e1434f0613811c2b646568b6efce392bbb96b7843caca6c2229ca5012b209d94d3870c801746c96858149d8029f5e4891a545573283101a9e9c5c1a37ca21a77a47833b40a34639e41a6e3a2693b9d4229cb25c4e4d7dd82625defe5c7ddd700e68eec32edcc0da4d11b21a79280b3a695f0309db81db266c8391db8683475ccb455d754a2255a5308bb7b165eb36d66d2cc3d1ab3a56ab1a26d2a81768daa71f6dbde0efd49ffd1b3a446c10b64528d09d61dd5dc0367e99b012bc3ac4395e632a633a6da6d42252ead0f294db78e8fcc3a431272c6c7703f2cc324cc7c20a34a1b13b42716129263e9a753982cb6f3e9e1611931a3b5ea6a54727b55c25a194f51b57d71835f41836c3041b0ee6ba8b7ae00dcfe1cd37e6123b634e730568d83087460dfc78b2ba73e659ddf12058f4defff8b1d043b67b0b933ef89a2fde7a869b9ef89dd8310c2174bc49c3a39f44f598691b551ff5519fddee932e49baa252a7a2a1e1d836ad7d1a4e6919c29137ca1ecd1a70e33f0fe7f12f277072db067cbaac9091471fca7e5a114ef156001cc7a655961fc7b6e58206c7263b2b8b48241cbd9155cdbffabe7220e3d9b645562080701c692838365959594422912a690483c12ae99463db56f4bf4d209a4e3a654f8e004dc7e70bb1ec8f15d883ba6364b7a0b9cf61917b2023863606d6f0fecdf7f2f1729b66436ee1f98b3ad2fb983e34f86d22db664d6131ede9d0707ffa37ff3ffeafa83307b705d8c0e4df37211a1c96348dbcdf26b2a5fab88d6312ce3b9411431a01417e7fe96e9efaa990fce137f0e4399d6875ec491c30e6397eafe8c82ce2bb7b6ee495451e7a9c7527f71cd38cf6279c40d7ef5ee6afc01119e45fc47777ddc82b0b4c0c9f9fdc8007a3867ee3e95b80134943e66799ee1f9441b9a2a90b073daf15cd348025fcf7ae87f9768305869fdc1c1f6e4d549125525c42718cc5a3b9fd34cc899d8c1e7b7eb4cc8b1b70f4fd8f7241fb00bd0e698dfed7629c0ac3753d9fdc7b071fadb1d10d2fb9557a11ab85651b68a198b4e3d44bb7ef5e66feb8f7f9b2c9a13459fd2313b718787d02276c91ddf708ba1bc0e6df18bfd2c11b002752edf80a1bbd566de659a67b0fe5bc639b0311e6bcf9008f8c5b4948f7929be522906bb0fcd56b39ed1537d979396435eacbb50f9c4e87c6dde9d6e0239616c6a9f7947a5c44b8c1e129e5fa3351fd66c5ae0cadaaeb9c2c9d7555f4a8839dc790cb4ea5a35eca94175e65bc753167579157ca6c874d1a1c7612876503dbc6f3c6f8cd04fc7e74cd8d39e70b3e346de878508df2ea9ee4e1b22ae2d763ddef550a85624fa16e8b22a28b1002c2ac30c4009c6d1be99c63724afffd7863f20cce3e687fba3b5bb08ab654c6d5347c8e49f9bc364708d0a8181ad5348d9f7ffe2d61d6071d34a022aed767e008d92be5440db6f29eb972e32db63cb1df6ddbaef8edf546d3c9c4248e7b6ecc50494ccf8b40e02ad88f7d0028e05f8fbec2bf62a3356c49035d50bc6d26df2f1a41878e4d19d8a719dfae3f987d3560cd24a66cb071754d9dc616aa226c0bbda007ad0182731833750bbe1c37eb26ffc8a2733ad1d9bd0f3df20da6ae8e8da5e10d4498ffcdf72c3fe64cdaf8dad0b5b1c6bc8699e6afe1cdc922cb28d74d4d7dd554a1c0b12cf4b6a9659e999d69b900cd8075d3f87df3508e6adc9e8b9f7d96a1bf8de7f34fc7f2db469bec8af1568159e2d0e9fad7b8ad67a5c5634e7b920b9e598c2fbb7cce60f5026878f442e6cfdf0aed1b12689485e108aada953abe6c1f7e0370ac6a4ee663c244f51594f1eac560ee9659fcdf73d3700c3701bf0b5d388423391c38a4131ab071cacfacc64d008748f5e35acdb997e9b69999593d69ab01e1d97c3a610daebc6c1a69b29ecda08f1e675ec365c33b925325750f014f4db5d56c1b71f468db90522e177fac4950bf1b2cf024d035e00e55ead167d8f8fa9ec9999d7442d3dee27fd38a700e8889ea5898c2832e1c42763eff18de1680155f7fcb623ce444dbbbe6f6e0d34254f5882d5fbf05a9c245cdfac24d400db72a148a18921874a923eb422e2c280e86f1da7213df72e6ad58c327f30a39f3c0fdf9ec8fbf69db398fae799577514dd7290986e4e2045da6132c0b21a20f2f4dd339e288c32ae6cd55ca256f62c1601047c85eb960994c87e8b9a150184d138086ae571a74f1f697731c07c7916fd9e17038da0b98baec557455fdb700c7b60905fd743fa8ad1cd72e5ac9da90003dea6697cdfc36ee77d6c73ce19de285141b2e5c7a117f7c379f8b3b76a6e0d0c339725b270c60f98f53d980862b551aba5e432811fbb8d62afd6ea42e9c0656246a88e8529fb5c8bf62282d41a671cd6291a1cc99940b03bf6b296fddf610cb4f3c8ee386f4a0ed80631839a00f9fdd7e2f1f6ed00818e53bb525a6a2adc43b4913d891a83156be0976c5a91aba16d3a52e9b6be2b01a1957af97d8f3641b168e85d96000433b69c006264e5e8be6f1826dd63cee764135bb31ed3653de1e845351c7020d271242dbef62460eef88c75ec90fef7fcfdc702b8e3b7f28fb68d4302013525d8f5a7a72195ae2fa7d7773025d5335312be263ff61fbe305e87339afbd7b796560b36379f2a586dc79d51bac74e988e603392c1f6009637fd98cdbedab722f89775f11a232bb84e189ea51a4dbd6150ac5de409d865cd104ba6eb0b0384477c3c1b165afd8a2628ba71714f3ef21fde9e18dd0f91f07f2f8d89f19b96f365d72e59893aeb9595c12468fae72d5759dad5bb79193932587c3749db2b23274bd72456a456f9ee3547c344da7b8b8389a8e5c30515858144d47a0479f748ee344bf474b177d525a961d4d47a3a4a4a8e2fcf4a979ae130a52ea6b4dbfd3cfe6ca03e54cf77513c6b3dc71e1ac5fc05af6a715d9f8d7ffcac7df2ca7d4d170e736a1812826e4327001a5d3bf615ab833fd5a0ce5b416803d9faf7ede82c76360a64c43473305b60310a069632ff6f220ac99cd4a0ea0bdaf07c3fb35e2a94985341f3e988e00d64afeda60c53c64755c0684cb6c9a1f74206d01ecf52cdeec6045d2c93fb59e528569868e9d52661bab289d7255d587b53c82edf393ed2ce5bb379fe4bbf7db72eac377735a8be61cd8a7091f7eb119614823cc9da5b1e0c98ba28b37a2b87d34c8922b5753972f864809a5366034a07d818ff0aa22c22e1f39fe14611524aa171bb2f7e794330ea1c9aaf1bcf3f57cc2d8343ae4703a00ac9dc2e4751a9e80c009c739ee1704eddab4191bbb2cda1e7cfb71ccc0a63c39611d25b8c8caf1d0b06533d919b6623c1f7e3d89cddeaef4397328fb542c09ad5e2f21f4948b51b4b4da856e64114850bf1f7c9540d73e8115d88f532e907a7cfbf3c504d7af647dc3ca35ac9abf29cd7200226c5ab599b0ae212c41e39ebd6806b0ec176616e9b803e9b48954e7081c337e3d2a140a452c755be5ea3878dc6e266d2ea57b53a25b5040c01fe0ea215de81ad980b971331d721a70c35103f16e588ab0ca6464c3c3f84d161e77001d1d97cbc5a64d1bc9caf263db369ae6a0eb4e85bfd55883ceb62b0d3a97cbc5860d1b701baeb8e9c8bde9e0d75f7f8f5b06cb32711c51918ecbe5ce6cc8b5da0db9e0b40779ffb4aa6794cdf980273f5b83cbe7426c9acc7b3f1fc58d07e5b0ffb9f7f0e6b916a670e1d6224c7df81a9e5ee490e5d2f184e7f2c5e422fa0dce0520f8c758fe2836700574489986c0b037b37023f46be9a2e7c807b9e6d15b796ece6f8cfef158ee3cb201fdae788cf72ea7a29b64edd84f9919d6631ea6d90cbafb250e0a3a78a36351db7efa9ad96117ee708afc17d698ea2ef7134ca8d6f8c3b04233f06c4b25b30b4f28d539066e515d1fb7f042c9f13c75ff20b28a36b3a9cca05973009b0d6b4a70742a86c3005c81000d6a8818b3f8244ee1e20d1fbaac554c5decd06b5f0f7dae7d86b7cb4cdcc149dc71fdfbac741285bdc7d20a4b3b41bd94b96875d2999c30b02190cfaa5fefe2f3f58d3972901c1c5f35612aeb759d2ce110b61a7344f5e350cb36e3c2159ac287538fe6dafe01fa5cfa30ef5e6c62eb6ef405af31f2c36594d082ec76e7f0c41387b2bacc4fdb4adb08bd469eb7f0ccbc547ad471a76a17218168733c8f26aa5f339840d71f20fe51558f5fbc7a0fff8e6ebd8310f87a5ecfff6eee81b1e15b1e7ef07336f9bd883237ed7bb60060d39c85146a3a3e51757152bcfb8a8839277eb843245e7d89380b9f140ac55e4d9d56b95ab6c0ed7133bec86045580e930adba2c063d3b96c0dd696f508dbc2deb6890ec52b68e57110b685a6eb4c2b114c2c3170b9dca081cbe561cb96ad949496e138d21f6cc48c108998d14fcc77338269caf9775bb66e63dbd6ad09d38998163d7b1e40fffe7d1938b01f0307f667e0c07ef4efdf97be7d7b13312d1cc7a1b4ac8ccd9b36e3f6b8325c81a2a16926dbd66fab3a3f2a5cc8aabf7fe5e317efe5ca47be6383e1c640c3e50b33e3957b79f8a33f58b2d5045cb8359b92f54b59e7b830a2e91a1e9b455f8d6339001b19f7e95c221e03443a696878dc9bf9f6857798b4ac189b085b8a4c748fc5fc37eee7e18fff6445b19cb368172e67cabb8f71e787ab303c7a958744d9e66274bf01f636e67fff1af7bcb910bc06ee54f9136f956d723dc66f831a862f85cc5e0357ca735c71f5e1d2cb58b521882bb7312d9a3780a255fcfef173bcf07b193e9796f96aa494979b86db53cce4512f3366ee164c347c0137c12207b70b0c7782308394f522bc0e1ba74f638509a1c57f306b8b83d6ac3f47b60658c90fbf6dc270c9ebd38e775ce8b56b335e03b737c4b417efe5c9cf67b0a2c806dd8d2182acd9ace12c789747de99cad2429bec827674eed81c6fb88835f3fe624548c3edaa9ea795961e53b50bdd6de04e52bf7e6f225ddb6ca8a2470d8fcf474eb69f9c6c3fd9fe6a2b4774034d086ca3111df3a545b969e9566c5d8bdbe66bb6f114e109eb2bc3b6a93eeaa33ebbed275de24d63711f72f08088c793de869586e1c2b11d1a98c5dc9b5f4aae90db92244277b929d2dcdcbc2e8790370bb75be6e338023312c1761c3a74685bd12317bb097095cd81751dc7162c5ebc08c3e5c2e3f6a2eb5a453a8e10b46fdf0e4d47ae808d4947e6e7200468ba064263c9922580866e689969100041a42c4cd08a8917dd2fcfed71e175ebd5142db0c226a1884df98bbfa6eb787c1e7cae98331d8b9212131b0d6f8d8d5853a7216c8b60c8c2b489895f2d9ea6e3f6b8f17b753461536a75e6a657af8bba5dba91571644000dc3e326e035625c98a5c85fd8941647b0d0f064554e384fa643ab2c44a905b83ce4066227e92791398373aaebc38b4959d0c22aef50d4647df9bcc937234e5c849a65b6c3214ac2020c0fb959d1323936c1a019ddec566e101c08b8716909c2fc3a613b75bd08cba4b4ccc2315cf80d8d26c73fc053273783a5a3b9e2ae8904fd2e44d8a2d171358f572c01c9b4cd54945d60464cc231ed41777bc8f2eb888849305c795c5e1b063ebf1bb71e274f3d4d3da6904bd829ea37413d1876a51eb302ee1a2ec18415a6a8cc01dd4576b65b6e042c1c422561c2020cbf8fec04aeca8415a1b8cc46680659d91e5c35d2ae1aae4592d79742a1d8f389444c264ff9ed64200894453fa531df8340a84e8b2240ae4a757b3c6c21c00deb742ece2da28fd70627ba7a54082837a47483df832e5e2dca21ecf1e38d1a8dd2400397c78d1d0eb360c1620a0a9acb6d4484dc58b89c72a3acaca498b56bd761183a1e8f477a1da0329d4838ccc2858b2828688edfef472ed8882d944cc7366d56ad5a8de338b8ddeee8706fa63eba34dc7e1f094d6041b55e070dc3e321cb13e7d42a22bac8ca71c50f4b270ddd853fe0c25fe578827871df04343c017f1543b2f29c54f91b0462267fa56e4f1a86df4f6eac3cb1618964cee49c6afa003781ac38b556a3bed2a56699758f8fdc7299cad3d50c7c0123c6b340e5f971c3e2ac728d5b2f869bac1c37e0100e37e390439b01b0e8873fd96a18f8854344348f733cb18e52b69918995c1e0fae38e7686e0ff1d45c917ef53cd3d5632ab9f414f59ba01e2af518236395702fb9e54b762b64d1f166fbe5e28978712ae27ac88959ee5b33edd8708770aafa5228148a2875f6e50a100987f17abd989ac193db0cfabb4b38dc1fa483cb244777287674165b6e2606fd4c35b309f87d78ddee8abb9286ec7dd3354da6a34758b56a35d9d9d964e764e1f3f9e470ae70088542941497525a5a82d7e3c3ed71a345970796f7e2e99a86c7ebc53423ac5cb98abcbc5cb2b2b3f07abd2034e94a2a12a1b4a494c2c2223c5e0f1eb71bd3b66bd13bb70711a7e8bb9e0fd8bd904cebc5b1112d0fe2b0668058c477d30b310c17c24e705c55f0ae49a27a54f5a55028e29070c8d5e5cadc2bb8cbed42d75d58a6f4d0e038368e23d07539c4e276bb71bbdd097bc0ca6f5442c861d28865629b1676b4b74fd3340cddc070bbf0b8dc68ba4e7952d5b736a94847d8444c0b2b3a574e08b93256d7755c2e03b7c78d633bd88e34e632ef9ddbc3100ec152130b0db7df93a6bf4dc57627d37a712c4aca6c043abe2c77a583f744c715bb26aabe148abd1ecbb277cc906b2c66c442d36c0cc385dfef8fee0197fe1da8a2874d978ecabdba17e18e196789a625875da932cf2e513a8e63e0f51878ddeeaafb3d0907db0133123bdf2ff33de8f63c747c59de8a5f4a1fbb0a19d68be6222b2bce707da2e38a5d13555f0a85224dea65c8b57a3cc78960265e17a15028140a8542a1a847eab6b1b042a15028140a8562a753af43ae0a8542a15028148a1d4fbd0fb92a140a8542a15028762c090dba3163bed9917228140a8542a15028aa71f4d147a5755e9239740a8542a1d813098542b85c2e747df7f639e1380e9665e1f3d5d81e5aa1d8eb50069d42a150ec65949494e0f7fbf178e2b87ad98d88442204834165d0291443d713ef000020004944415428834ea15028f63a8a8b4bd00d63b7efa10b4722141797d0a449939d2d8a42b1d351069d42a150ec6504836504027e3cee841ea8770bcc488460b06c678ba150ec1228834ea15028f632ca8241722291dd7ea832128950160cee6c31148a5d0265d029140ac55e46b02c886959d8b6bdb345a913a665112c53069d4201caa05328148abd8e60b08c48388c65593b5b943a110987d590ab42114519740a8542b197110c868844ccddbe872e12310906433b5b0c856297a05e0cba0d1b3672cdb5d7e2f57aab1c1f3a74085d3a77e6a74993b866e4c8fac82a2d42a110affce73f8cbcfaea7a4b73edba75dc70c38de4e6e602d29386cbe5e2b8e3fec9b0a143eb2d9f5d9d356bd670c38d3771d79d77d0a54b978ae3e75f70212f8e7a01bfdf1f37def6a893d9b3e73076dc386ebaf1863aa73575eaef7cf0e1876cdebc99dcdc1c8e1a7614471f3dbc1ea4dc393cfec493fcfdf7df0084c3e18a6bf3f8e38fa343fb0e75d6dbf4e9d3f969d224061f39b8deea2019e5edceebf5a2691a009df7dd970b2e389fa64d9ba69dceb3cf3ec79c397318366c184b972d63c8e02377e8fd69e5ca95dc7ccbad8cbcfa6a060ce89f51dc1746bd48bfbe7d0904028c1d378eabff7d55adafa970248c6999717be8c2e130df7cf32db3e7ccc1b66d9ae7e773ec3f8fa5a0458b8cf3c994bfe7ce65dab4e98c38fbacb4ce372d9370249c307c7b5f070ac5ae44bdf5d0e5e5e5f1d28ba36a1c9f3e7d7a7d659136a15088654b97d57bbab9b9b955cab872e54a6ebfe34e0e1c38909c9c9c7acf6f57c5e572f19f575fe3e1871eac61c427627bd5497d505454c4abafbdc6adb7dc42fbf6edd8b871238f3ef638cd9be7d3bb77ef9d2d5eadb8f186eb01f922f2c0030f32ea85e72bc2c2e130ad5ab5ac977cf6ddb753bda5958a860d1b5694c3711cde7afb1dde7df73d468e4ccfa00987c3cc98399357fff30ab66d535656c6d2a54bb7a7c83598f8d34f0c18d09f1f7ef8216383ae9c729dd7e59a8a84239891088e53d3c5e39b6fbd4db3a64db92efa923e73e64c5e7bed75aebfeeba842f6cf5857004081157ae7898910891702461f88eba0e148a5d811d3ae43a66cc58264d9e8410d0a54b17ce197136b366cf66ccd763f078bd6cdbb68dae5dbb60e8064b972ea52c18e4a69b6e24273b3b61dc7163c7e1f17ad8b6ad90c68d1a71e59557f0f6dbefb079cb169e7ffe05ce3bef5c9e7ffe054acb4ad1d038edf4d3d87fbffdeaa53c858545188681cbe54a58bed2d2d284f97ff2e9a7fcfcf32fe8ba4eef5ebd38fdf4d3f8f3cf3fabf41894bf957b7d5ebefefa6b366ed848f71eddb9f8a28bf8f8934f9832e567745de7d0430fe1f8e38eab951c99d2b46953dab76bc7871f7dc4d967d57c938e977f6c9dac5cb58a9157ff9b962d5b326ad48bf8fd7e2eb8e07c162e5cc8279f7ec6cd37dd1857373367cdaaa28381030656e4f9e9679fb160fe02aebbee5adc196ec5100a8571b95c346ddaa4a27c975f7e192ec3d8adeb29110b162c64ecb8710c1b36b4d6d75ebcb4e25d8b2e972b6efcbaee7fa6eb3afdfaf6e5adb7df66c6cc9935741eafce9e7dee794cd3e4defbeee7e4934fe2db6fbf63c8e0232bd2dcdef561db3693274fe1eebbeee4ee7bee65ddfaf534cfcfafe8edacde96faf7efc73ba347f3e79f3368d4a821a66955d1b9dfe7abf57d2e149643ae965db5876ee5ca956cdab48973ce1981aeeb58b645f71eddb11d9b602884dbe366fcf809cc9a350b5dd7e9dcb93343870e61e1c245fcf2cb2fb8dd6e4a4a8ac9cdcde394534e261c0ef3c1071f120ac961d1a14387d0b1634780b8e9d88e8d2304966d3165cacfcc98310310b469d396a38f1e5ea3dd442226a170ed865cd369bbf1aedd78ed4da1d815a83783aeb0b0908b2ebea4cab1ebafbbb6e2fbdf7fcf65f69c39dc7fdf7d1886c16bafbfcef8f11368dca4312b57ade2f1c71ec3e37173e9659773e51557f0af7f9dce6bafbdce1fbfff417e7e7ec2b8cb962fe7a9279f20100870ff030f327bce1c468c389b254b96f0ef7f5fc5b871e368dbae2d679e71060b172e64c68c99b5be219797d1b66d4cd3a44b97ce156fad89ca679a91b8f94f9b368d993367f1d0830fa0eb3a4f3cf12493264d223b3b3b61fe2b56ace489271ec7e7f5326bf66ca64f9fcec30f3d88aeebdc77ff03f4efdf9fad5bb66624476d39e79c11dc7ccbad0ce8df9f4e9d3a551c4fa487d83a79efbdf799f3d75fb46cd992e52b5654c49d397316bd7af54ca89bdcbcbc2a3a98376f3e00df7cfb2d73ff9ecb0d375c9fb13107d0ac5953860c19cc0d37de44870e1de8dead1bfdfaf5a359b3a6bb7d3da5a2b6d75ec3860d6aa415ef5af47abc71e30f8e31a46a43301864d2e44974ecd801a8aaf34475f6efabae64e435d772ff7df7327bf69c2ae9657afdd6863ffffc93a64d9ad0a2450bfaf6edc38f3ffec899679c91f0fca9537f67f9f2e53cfed8a394949470d3cdb75409afcb7d2e140c110a87b04cb3caf1d5ab56939f9f8f63db3831f3ebba75ed0ac05f73e6b060c1022eb9f822745de7bdf7de67dab469646565b176ed5aaebaf24a7c3e2f6fbcf9160b172c60f3962d34cfcf67e8d021ac5cb98a458b16d1b64d1be6cf9f1f371dbfdf8f100e8b162e64d1a2455c74e105e8bace575f7dcdef53a7d2a74f9faae5088708d5c31cba786dd7308cb8d72e546d6f0ac5aec20e1b729d33670e2b56ace0cebbee06e4fe413e9f8fc64d1ad3ae5d3bb2b3b30008040274ea24dfe01a366c48696969f2b86ddb12080400c8cf6f4669696995fcbb74e9ca238f3eca860d1be879404f8e3df6983a97d1b22cfef7c61b949595d1ad5bd7a4e53bf49043e3e6ffd7df7339f8e0832a5cef1c7ec4e1fcf9e70c0626198669b3cf3ee4440d897973e7d1af5fbf8a21cffbefbb1780493f4dca488eda929393c3392346f0ca7f5ee5e1871eac389e480f7da81cbaecd5ab2763c68ea57bb76eb46ed58a356bd7525858c8cc99331939f26ac68c1d175737071d7460151d002c5ebc9899336772d34d37d6c98dd1c9279dc4d1c3873377ee5cfe9e3b97bbefb9878b2ebc60b7afa754d4f6da8b67d0c5bb16172e5818377e6dd8ba756bc54b6379afce45175ec0d265cbaae83c519df5ebd72f61da995ebfb561e24f9338f0c0030118387020a346bdc869a79e9af0fcb973e7d2b76f5f0cc3202f2f8f9e3d7b263c37d3fb9c61e8188651311fb1024d4ea9a8713ccab265cbd97ffffd2a74dbab772f162c58c87e3d7ad0a27973fc7e59b78d1a3524140ad3b64d5bde193d9aaddbb6d1a953470e3ef820344d4b984ef76edd008d254b97b27efd7a5e7bfd75004cd3c2e3f5d490cb300c0ca3eede2ee2b5dd35abd7c4bd76d7af5f5fe33ea450ec0aecb02157c77138f2c8419c7cd24900949494a2eb1a0b162ec4880e6d9553bd5b3d595c57f51e195175ee45dbb66d78f289c799317326d3a74de79b6fbfe1e1871eaa53595c2e17e79e730e37dd74333f8e1fcf90c18313ca180804e2e6ef384e35b105b665a1691a22a60c76cca4656fcc83d07055d5d9a64d9bc8cacaca588eba3070e0007ef9f5173efef8938a6389f28f442ae7b9ecbbefbebcf4f2cbcc993387aeddba929b97c76f53a762d9364d9a3449a89bea3a00c8cecee6fcf3cee3edb7dfa1db430fd6aa876efaf4e96cdcb489a3860da377efdef4eedd9bf6eddbf3dd77dfd3bcda44f0ddb19e9251db6b6fdebc7935d28a772d268a5f1b62e7d0552756e7c9da4f22b6777d1416163263c60c962c59c2b86fbe01a0b4b494dfa64e25e0f7276c4bb1f7b364864ba6f739b7c783dbe5c670557d04b46ad59ac993a7a0e97a95b63066cc183a77ee8c40b691f2789aa6e3380eba61e072bbab1cd7748d56ad5b3172e4d52c5cb89079f3e63175eaef5c79e51549d2d1a3469b46bf7e7d19346810207b64354dab21afdbe5c65d0ffe68e3b5dd44d72ed4bc0f2914bb023bcc915fb7eedd983c790a2525a5388ec3a851a3f8f9975fb64b5cc33030a337c5cfbff88271df7cc3c1071dc405175cc0faf51b30ab0d33d4068fc7c319679cc1871f7e247bea12c89828ff1eddbb3365cacf4422112ccbe2a7893fd1b55b5772727258b972159665b175eb56e6cd9f1f37ff2e9dbbf0c71fd388442298a6c9934f3dcdba75eb3396a3ae5c70fef94c9838b1c2604b947f6c9de8ba4ec70e1df9e69b6fe9d6b52bddbb75e5f3cfbfa0e701070024d44d3cf2f3f319387000ad5bb5e2f3cfbfa855191a366cc4279f7ccaacd9b30987c3141616f2fbd4df69d9aae51e534fb5a52ed76d7dc4af0d99b49f5472d6577d4c99f2333dba7767d40bcff3dcb3cff0dcb3cf70e20927f0e38fe313b6a51e3dbaf3eb6f53314d939292d21ac3c475b9cff9bc3e3c1e372ec355e5d3b64d1b1a376eccb871df605b36baa63373e62c66cd9a4dcb8296ecdba913b366cd8e2e5e80193366d0b143070c5d1a62e5e9e8ba8ea11b4c9e3499a9bf4da577afde9c78c2896cd9b2050449d231d0358d4e1d3b3273e62c2211135dd3f9e8c38ff86bce5f35e4f578dcf8bcdbc7b84a74ed2a14bb2af53a87eefc0b2eac72ac4b74a22bc0fefbedc791830671cfbdb2dbba7bb76e1c396810b366cf4e9976a671b3b2b268dab42937de743377de713b2f8c1ac52db7de86ae6b9c7dd659b5eac589c78001fd1933762c5f7ef915a79f7e5a5c194b4a4ae2e6dfb76f1f96af58ce1d77de856559f4ead59323070d42d3343a75eac475d7df407e7e33ba77ef1e37efeeddbbd1af5f5feeb8f32e1cc761d01147d0ae5d5b808ce4a82b7979799c7dd699bcf8d2cb40e2ba022aeae4f1c71ea567cf03f87bee5c0a0a0ac8cb6b40616121bd7ac921a544ba49d656ce396704b7dc7a1b071e3890962d335bb9d6ae5d5b2e38ff7c468f7e9775ebd6e1f17818d0bf3fa79d7a2a5eaf778fa8a7da92a83ee564f5dac7df9e246a3fe170e2ed2d12c9595ff53161e244fe75fa69558e0d1932982fbffa0abfdf1fb72df5eddb97254b9672f32db792979747cb82822af1eb729ff3783db83d9eb8bda523ce3e8b2fbffa9a279e7c12dbb62968d1820b2f389fdcdc1c7af4e8ceba75eb18f5e28bd8b64d972e9d1930a03f0b172e44d3a8484f03344da37fff7ebcf7fefff1dc73cfa1e93ac71e7b0c1e8f3b613af3e6cf074da373e77de9dfbf1f2fbf2cef2b1d3b7460c080fe35e4757b3c78bc75efa18b47a26b77c6cc99db253f85a2aec41bfb701f72f080c89831dfec7061140a8542b1fdf9fcf32f68d7ae5dc5caeedd958d1b37b174e9528e3ffeb89d2d8a42b1dd38fae8a3983ce5b79381205016fd94c67c0f0221e52942a15028f632fc7e39e45a7d0ee5ee86c7e3ae5888a150eced28834ea15028f632fcfe001eafb7620fcddd158fd78bdf1fd8d9622814bb04bbf7d5ac5028148a8cf107fcb85daeddbe87ceed72e10f6c5fef150ac5ee8232e8140a85622f23e0f7e3f178767b83cee3f110d8ceeec8148add0565d029140ac55e86df1fc0bd0718746e8f470db92a14519441a75028147b193939d9783d9edd7e0e9dd7e3212747796c50284019740a8542b1d7919d9d8dcbe5aae1196477c3ebf5eef6bd8c0a457d91d0a03be7dcf376a0180a8542a15028148ada92d0a0fbf4d34f77a41c0a8542a15028148a6a1c7ac8c0b4cedbbdfbdb150a8542a15028143b6f0e5d6161e1ceca5aa15028140a85628f62a719747979793b2b6b8542a15028148a3d0a35e4aa5028140a8542b19ba30c3a8542a15028148add9c5dc2a01bf81afcbaaaeab1c92be08097a1fdb370da87501cd939b26d4fde9f030b36270effcf34b86f626669cedb0487fc37f9394ffc0cd78ccb2cdd446c2a83e64f64969fef010859f5937f3943de82718bea96463cbda4a3cf4c290cc3a1ff83beff816bbfa9dfb4e391ac9da5537fb5a1366db79cd7a6c3655fa57f7eaaeba8bed91ef9254af3a3bfa1c78bd0e139f97feca2f4e2d536bf9d45bc6740227e5e09ed9e8560f41eb2782bb47812d697c2f74ba49ecaf9630db47a4a7e9fbc023cf743c7e7e473e5cc8fd37fae580ef47b153696a55fa6721c0127fd9f2ce3c773338faf50a44b9d0dba51a346316ad4a83aa5f1faf1d0a359e5ef9005c7bf0fcffc03968c04bf1b6efba18e82ee8224bba9466c7864328c4c6fb572da446c78612a5c7f50fda4d7c00763ceda71f96d2f76a49c1396417e16fc71093c7dd4f6cf2f593b4b557fb5617bb5dd44eca906ddfa52b86a0c8c3d1b165f0de3cf83b60dea47965dcda0abfe0c48c641ad61703b7874b2fc7df55878e048794da5629f3c587435ccffb77cb17a78527a79ba74b8b0976cd799b2b208a6ae865f2f8293bb661e5fa148973a2f8a1042b062c50a5e7cf145aeb8e28a8ce2be3d0b5e9f0ed3d7c2b72360602b79fcb7d5e077c1a0b6f2f788fde1922fe1f9e1f277f643b0e926f0b9e48de9ab05f0ce49326cca4ab8e57b283321cb0daffc13ba369161db42d0f619b8ee40f861291486e0bd53607399bc294cbf549eb7a90cba8d82a5d7c83492317a36dc3b019a6541410e34f2c3cbc72697e5975570ebf73067837cbb7ce26738bd075cdeb732ddcfe743ef1690e7cd48a5b874689cc4b5e19b33e188b6d03ab7f2d8a55fc9b7638f218fbff24f681a4dc3751f5cdc0736944251185e3f4ede1441dedcbe5c008bb7c0ba1bd2cf0fa45e26ad90f5fcce49950faab18ba46e1c218fbd7e7ca52cc9c2cab1059cff193409c053516369dc22b8f507303419f7fd5360dfc6e9c9994a9f99327c342cdf069b8370c41b70606b7878b00c4bd6aeb31f92ed76de26d9663e3ead52674561d9d3f7fb6a59fe337ac01d87a56e67c9ea2f99ae93c902b56bbbefcc82fb7f92d74f878690eda90c4bd43e53952f59bbae0da9f24b74bdaf2b81c3fe270db30e0de1e1c9307f13bc7142f2345715c9b6d022ead9aa69a052feda963d55bc646d309deb2853123d0300be980f377f2f5f3a3a378692087c749a0c7b7428f47a595e9ba511b8a05766f9ba7518d21ec62f4d3fce69dda1f30bf0d850a98374099a9093e17d5ca1a82fdc871c3c4064c2f3cf3f2f6ebffd76f1ca2baf6414af9c01af0af1cbcacadfa36709d1f73f95bf67af17c27d5fe5efac0785089af2fb7bb38538eb63f97d5b48887d9f176245a1fc3d69b91087feb732ded6a010da3d42fcf74ff9db762ad3e9f1a210d3d6c8ef4ffd22c4955fa7967b43a9108d1f95f9d98e1083df14e2d22fd3934508218e7f4f882fe7c74ffb8aaf8578f2e7d4326482ed4899fede58f5f8b26d95df1f9d2cc4b5e32a7f1bf756caf8c60c214efbb06adc8da542e43f9e597edefb2bebe0f9df8438f17df9bd24224493c78498b341febef9bb4a7d260b1342eafe8bf9429cf28110b7ff5035bf835e17e2bbc5f27b694488e2707a726e2f62db6c2c89da7579d8b845f2fb033f0971ebf79561977e29dbab13fd5dbd1cc9da59bcfa4ba5eb64b2089179db5d572244c3478458592884690b71d8ffaae697ac7d0a91b87ca9e2d59678f9a5badebf5b2cef7313970971c04bb21da64ad3728418f6b610ed9f15e2df6384f861497ab208517b9d256b83a9aea3ba50fd19501211a2e963422cd82cdbf571ef0971f2ff558d336aaa10dc23c4dc98f6fedd62f9ac68f3b4fcb4784288964fcab049cb85e8f0acfc5e664addde3f313339bbbc20c49f6b338bf3c57c210e7e3db3380a452c871c3c40002701c381c3817e4037a02dd00cc801dc717be832f58d77d55557f1f2cb2fb361c306468f1ecd5967d5f3180e60a43138fcfb6ad8580a233ea93cb62558f51c5d933d7ee5df7d510d5cde175e9d0e2f1d23df18df3b25757ed3d6c86182f25e9d63f795bd16e9ca928c554570c83ee99f9f0e1ffd2d7b0cca7b2ccb99bc02ce9b0e42c8dec9ea6fdd87b795ff07b5853b7eac7b7e00ffdc57fe3fa10b3cf093fc3e77a3ece9ecde54fe3eb91b5cf079eab072fe3d460ef7bd7142d5e387b5913d0b7fae9365e85b90be9cbb1207b596ffdb3784b10b2b8f8f5b247b7fca3b0dea5a8e74749d4816c8bcedfeb916f6cb8756d1ebe8f8ce55870353b5cf44d4365e6d4875bd0f690f3f2e8563df95436f81143dff207b81be391b7e5f23e7865df2259cd753f6bea6627b943dd575549f94b7c14e8de4ef13bbc8dec258be5b026df2644f7f979836bf6f6398131d2cfa630d9cf07e65d8f242394ab3ba18cede1f6e3b3433b95a64cbf6ddb3797ae78ff8143e9d2b7b33158ada92ae4d562f061d80e338d8b68d65d57db67bcb5c394c51cefa52689953f95b8fe9ee369daa71bb368509e7254e3bdb2387d1aa33e200e8f2029cda4d768fef97e67c8e64a49225193e57fd2f1c786432bc784cd5638bb6c8f9897f5c228764de99250d9c582ca7f2bf1075cb2f1e5a06c317c9b8acaf1ccabc6a0cfceff8cae30f0f86730e900fd4533e80a7ff211f1099ca599db00d5b83909f5d694cd58564ed1ae43011c8bc9c0cea617b904c96dab4ddd86b32f67b3aed331ee9c4abeffa4b76bd0b60d67a39a43c7f33746b9a7ebafd0ae467703b38f7b3d4065d6d7506c9db60aaeba8bef5998c4fe64ac3eaa7f3e5a2a593ba42637fea786da273e8966d83c16fc921e8835ba79f6fc8aaec044887b74f84773ac073bfc9177e85a236a46b93c5edf7cad4a07bf6d96759b3660dcd9a35e3dc73cfcd286e3c06b494f3507e5a2e7fbf3bbbeac5d02a575e9000bfacac3cdeafa5bc994d8cc68bd8f2ed2d1d723c328f119fc2257d6a86ffb20aae1c53f5589f0239176555917ca87d19f306998e2c0d7c89574df56856d9db571f7cb31872bd55e7a880ec45c8cfaa9c9bf3e9bc9a713f89aeccfae86f39e7ab2ef995f359349f8fe756de50bb369573f566ad97bf3ff82bbdb0727a3687078f94e7bc3bbbf2f8fccdb2d7eaca7e707427592fe9ca998cef16cbd5756566e671e391a85da7627827f9c02837ace6579bec9eac9dc5231d5d2723d3b6dba740f6c89444571c4e585619964efb8c57be74e2d5b6fee2e597ea7a7f7c0ae4f9e0e70be1a6ef60c9d6d4696e2c93bd50e5fcb6bae61ccfda963d519b48d606935d4750bfd743d7a6f2457ee116690c7f3ebf32ac302c57a3bf7cac9ccf7b616f39773113da36804787c0c8b132fd7410c89ee374176f94d3bb857c462814b5a54e3d74ae0c0cbaa79f7e9ab56bd7d2ba756b2ebffcf2b4e35527b697c6e782cffe257b5ad697c8aef789e75786df73049cfe917c80c7becde779e1d3d3e1866fe5456f397278f5d034877fce3d00de9b2d27bf5667fe2678e50f187574e5b1a6017876381cf92634cd9237c3f2b7b77464b9a48f9cbcfcda7438733f79a32ce7c42e70f627f2a6531f3c3c096e39a4e6f17e2da51e878f9637f9fc2c58535cf59c391b60ff97a4e1533e413a68c1f077e45bfc96e804ff96b930faa4e4f9c5a679c0cbd2902e4f33cb0d6f9d28cb6d39d0a111fcf7f8d461b1780c78f76418f4060c682527a13ff8931c7a714727883f3838b55ed261f15639f4986ae14cba246ad7a97874885c1451be5dc399fb55edc589d7ce92d55fbaba4e44a66db769404e721f3e5ab6bfd89ea174da67bcf2a513afb6f5172fbf64d7fb9495f0bf1930f562d9de9ff9079cfaa134eebc46e2348590bdc7e77f26ef2badf32a175cd5b5ec89ee3dc9da60b2eba82efa2c27f61990e58657ff09ff7c571ac25d9ac8c50f208db713ba409f16f2f78d0741d751e96f7b52cec9dde40295f7664b1da462da1a792d34cfce2c1f43dff93dea8add9b4c6cb2eab88f3d7a58da93f59e7efa69f1f4d34fd77ab29f69cb49ab4bb7c60f5fbe4d88cecfc79f105cdfdc375188cbbfca2c4eece4e68bbf10e2f5e9f527cff07784f87555ddd3f97595103d5fae5d5ce35e59473b2abf1d495de5fce7bb424c58567ff2ec49d457dbdd9ea8faab5f6aabcf54cf002184f8f0af9a8b227634977c29c4077f651e6f7399108d1ead5c6ca25064cab1470fabc3a20857fa9304aeb9e69a5a5b8e3d5e9473124eea5a737fa572f6c983c91740c334e647d4165bc07e2fca37c1cffe9559dcfb26ca2d50dcba7c8b1c7140fdc9f5ec7098b14e0e41d785012de1cf4beb47a65d31bfda525739bf38a3fe64d9d3a8afb6bb3d51f557bfd4469fe93c0376056c217bfb4fed9679dc467eb866200c7d5bfe577bd12932255d9b2cdedc55f74927fe33f2f1275fd4af440a8542a15028148a8c38f9a4e3f8e4d32f4f06824059f4531af33d0884e2ced4a9cb78ad42a15028140a85a27e48d726ab9755ae0a8542a15028148afa67876e5ba2c88cd5c5725561aba7e0995f77dd3463a98db3f5448eed976c85616f43cba7a4a3ecd7ff4c3fcd5dcd07e5ee40a27a48465d9c912b140a85a2fe5006dd2e4ccb1cb901e929b59860bb23d32ca73e9dad0be0e40fe0c4aeb0fa3a98797966db0028836ec7501767e40a8542a1a83f76d83e74bb13899c9843ed9d912773589d8e33f9782472f25d1792c9327a36dc3b41eef75790235765c5ee77551b67eb10dfb1fda4e572dfb3cba2cec0b3dc704ca7caf044654fe5543c19db42d2ddcf7507ca15c98521e9daad6b93e4ba4e56b7aefbe0e23e7203dea230bc7e9c5c919d4ad7b56d4ba9dac46fabe566cacffe23bd7a488764cec8df9801177d01d65d99a7ab5028148af4a9d33e74975c74decede7665bb90c889795d9c912772589d2a4d218418395688a77fa97a2c9593ef54c44b33992c1b4a8568fca8cccf76a493fbea7266ea6c3d19af4e1362c85bf1c3d2297b3247f389d81a1442bb4788fffe297fdb8edc132a557ec99c911bf756caf1c60c214efb507edf1e6d291dbdfcef4f29537d93c819f9afab84b87a6cfde7a75028148aaa5c72d17975d8876e0feda14be4c4bc2ecec81339ac4e27cd78a472f25d1b92c9326d8d746553ee52e8d87d6bba6dcad4d97aba4c5909677e2cbf2fbf66fb94bd1c5d933bf7977ff7b9a403f364f9a572467e785bf97f505bb8e347f97d7bb4a574f4725e4ff9a96f1239231fd072d7de634ea15028f614ea34e4baa71a7475219133f2540eab9391c8297d3227dfb54db32ed4c6d97a223a35aef40179706b987241a5cb2aa85bd99391ed89ef4e2b597ea9ead6722aff8b0c5cfbd4a62d6d2fbda4229133f21de9885da15028f666eab428624f9d4397c889795d9c912772589d4e9a4d03b0b29ad3e6544ebe41ce27bb724c7c79e2a5994c963e05725edaaa22a9972f17d44c335367ebc938ac8d34aefe1b5dd91ab62bc3d2297ba68ee693912abf54cec83f992bff7ff4371c18d5e7f6684b756d13b5259933f2fa74c4ae5028148ac4a46b93ed553d74899c98d7c519792287d5e9a4797e2f38fe3de9f8fefc5e70edc0e44ebecb99bf095ef903461d5d539e78692693a56940ba693af24d689a05ad726bf6c864ea6c3d191a7221c0655fc15de3a5bbb5f28529e9943d9153f1da902abf54cec8e76c907acef59bf624830000200049444154c23b27c963dba32dd5b54dd49664cec8ebea885da1502814e991ae4d16d7f5d74dd78f8c3cfac433f52b916297a5cc8440f4c17cc99730b0155cd0abea39478f86bb8f50f3a6ca71dd07a13be20fe3ee295cfa150c691fdf7fe571efc1f507c1e16d76bc5c0a8542b13771f30dd7f0d893cfa674fd15bf87ceb567f6d029e273df44b99d875b872e4d60c40135cfd91d9cad2bea8f54cec895637b8542a1d831a46b93ed55fbd029e2f3481a43a99d1ac98f42b2a7efbf666870d3c13b5b0a8542a150d4d1976b5c3b4fa15028140a8542b10349d72653aebf140a8542a150287651942fd75d98d5c570c41bd0ea2978e6d7ed93c76bd3e54ad258369541f3276a97de7fa6c9b976f5254b32eadb5fab7234af5028148add15b50fdd2e4ccb1cb949ec2909269c6f2f1af860cc5999c78bd8d249fbc881f52f533ceadba0538ee6150a8542b1bba2f6a18b435158ee43f7fb6ab98aef8c1e957ba06d0f87eac9d24c462a47ec89786716dcff1334f2cb158ad99ecab04726cb4d83176f817537548d97cc793dc0e7f3a1770bb91f5aba2493e5d2afe0d755e089eeb7f6ca3fa55e7e5925f5356783d4f3133fc3e93de0f2bec9e3a5837234af5028148add91ba0db9eea1db96dcf41df85d30f372f8eb0ae96713a0d484733e85d127c3accba15b53b8f3c7aa710fde073e38154eea2a871fcbb9ff27787c28fc71094cbe000a72d24f331e8561e9fbf3dd9361da25f0d060b8f4cbd4f1d697c2d563e1877360d2f935bd45dc72087cfeafc4f18bc2d03a0f269e07d32f85760d2ac3262cabf43f9a0ea964b9ed50987919fc7eb1dcf3eee149f2f881ad64cfe521fb48375813ceab34e692c54b87467e681280d9eb6b86756d0a57f64f3f2d8542a15028761475dab6644feda11bb708c69e5db99b72790fd4f670a89e4e9af1a8ad83fa3fd7c27ef9d2d303c0f19d331bb68ce7bcbe9c5545d2c84a9754b24c5e01e74d97fe4f379555f668a6a2b6f1ca518ee6150a8542b1bb91ae4d96c0a053db9654a7360ed553a125f06a5e5b47ecb15e0b32f56090c8793d48e32e64d58f2c8bb6c06d3fc81ecda6013934fbd1dfa9d3ab6dbc5894a3798542a150ec6ed469db923d7551c4f04ef0dc6f9506d9fc68afd1f670a89e4e9a4d033587236beb88bd4f81ec152c89c8df1396a5277f3af46826e70fa64b3259b604213fab72eedba7f36ac66fe0abb922359d78c9508ee6150a8542b13ba21645c4e1d1217251448f17e5ef33f7938b22b68743f574d23cbf171cff9e74f07e7e2fb87660ed1db1370dc0a34361f86869f8984e6558d082e1efc8635b8272cb9496b930faa4f4ca786217598e47d3f028914a967e2de590e7f0d1d270cbcf8235c555e35fd2472e80786dbaaca32bfba5172f19cad1bc42a150287647d2b5c9e28d30b9df78ede5c8b9175e5aaf0229766f8e1e0d771fb1fbce35538ee6150a8542b13bf2e6ebaf70de45979d0c0481b2e8a734e67b1008a98d851569f1ec705851b8b3a5a81de9389a57c69c42a150287645eab428c2b5876e5ba2a83d9d1ac9cfee887234af5028148add95746d32d543a75028140a8542b18b52475fae6adb128542a15028148a9d4d9db62d516c5f5617cb95a6ad9e82677edd75d38ce53fd3e0be8999c5a96f9facc9d2fce86fb97ab9c373f2ffd845f523cbf62843222c07fabd5a73cb168542a1502852a10cba9d40cb1cb971f0290926e9ef2a699613b1a52fd89103338bb7a30cbaf5a570d518e90564f1d530febc4a5fbb759565471a742e1d2eec2575ad5028140a4526ec5563ab4561b90fddefabe5cac7337ac87de840f6e8dcfabddc74b86d0378fdf8ca4d6cb31f928eebe76d927b967d7c5aa5c1306e9174fd656832eefba754baa44a966632a6ac845bbe971bdd66b9a513fa723765b525992ca367c3bd13a4abb2821ce9f7f4e5632be37e3e1f7ab7907be4a5c32fab645effcfde7dc75555ff7f007f5d868aa0b8417100e660b931c5859a94656ae257b2d4ca4c33eb6bfa4b0b1be6d66f6566699a23b7a8e1c00ccb9103b780808aa0224394257bafcfef8f2307af5ceebd2caf575fcfc783c7e19ecf399fcfe7accb9bb3de5713a4f5f5fd59c0c3b1342f6b79cb179709f4ff5d0accda360496f849efdcdb34527d9d77d3a50c10cd1fbe63ae69ddd265d3d497297f02e7ef02b51ebe4770edebd2bc9ae6335b0c24cd96daf5ba0afc190e6c7bf85e3f75fb8426631c800ebf00ff1b22cdffa84d5780493e40e137dad5454444cf3763ef5ddbc5b368ca4121a61d12a2f8e1e7eb89d230335f8826ff13e26a82f4f9f323d2b4254c170971f896f4fbc25342781e2d2d73d920c491dbd2ef59f94264e46957a710424cf715e2c773cae352738568ffb310d169d2e7d35142f4dba8fd32aaaa535d5f12b28468bc4c6aafa85888c19bcbf6f3a34342fc7056fb3e9418b153888361cae3342ddf91db42bcb84e8893914274fe555aa79aea2c2c16c26dab10b63f09f1c95f421c8bd0ae2f420811995afafb323f21661cd66e3ed34542e41448bfef0c11e26defd2b2f2f6096d75fc4588c0fb65c79fbf2bc47f7d2b56171111e937ef5ddb0580510086021800c019803d006b00cd00d40360fc5c9da13b7c4b3afb5372e2a3e4ac5768a27476caa1a9f4d9dd1e987840795e978769bb6c1b02be374bc7f76f239d8d098c03065a033d5a685fa72a976281c42c60fcded271c93915584815d4f5c5ff9e940eab557de9f3b0f665d37cdd4d07fab646b5d0b47c2fd94a797187ed00ce4f02ea6a91bdc15001fc3d0eb8740f381a014c3e08bcdba5f4ecab3a7ed1c0bb0180104052b6f667d2d4296f9fd0567333699d77b1541effa295febed89988886ad67315d05585f1c3bb0d1528cd050b004b0603133a4b41c8e8ddc08faf48a9b2b4a1282713bc5d53e97eb8ca28afceaaa8632425b6af2eea964f40ca7fdbc844ca936bdf54fb7a9d5b483f836d8077f66b0ee86e2503738e0197274b9759b7054b0f5768c3e091f5fc686a33a06afb0420adeb3a2a8eccbc22202507b030539de28588889e5fcfd5431143db012b2f940664610f6f76b76b0a246449810400ecbe06f469a55d9d610fa4337dd39c8157db494182b67536ad0bc4a42b8f73b692ea3819257dce2f024e472b4f73ee2e30ed2fd5fd5155a7babe746f21dd2776375d5a2f07c3cbd6e9d8acec593b6d34a853f6894d4dcbf7dd19c0bc0e70f67d60f611202245739d89d9c09188d2cf17624bcf38aa9b2f3947ca095b72bfddbe1bda2d0300b4ac0f44a64abf9f8b512e2b6f9fd08680f4108663b3b265476e03cd7f90ee3d2422227ad47315d02d7b490a201c5703f6ab803dd7a4f1a6c6c09637a404f4f6aba4e065c120edea5c744a9aa7f31a2935d6a46edad7f95e57e07414d0e957e0c787af1a31af0decf3906ec877580d38fd0a9c8c549e2f2c09587b59757f54d5a9ae2f4deb4a69bd066d06fafd0e34a95bf6ecd01b1d81bf1f7b0d8836267707969f03fa6c04565dd2bc7c676280dfaf480f64b4a807ac7805f8cf1ee9cc94ba3a85909e0c6db91c786125b03714f8f955cd7d71b6922e6b0edd0e8cf596823b6d960100be75053cfe90ce043eda3fa0fc7d421bfef780b68d004bb3b265b753a44bffa65a5c862622a2e78baa2b37c6debbb6e78f1af3d613ef0ce9467641e9bd6a930f02bd5a0213bb2a4ff3ea7660ae2befe1aa6953fe94ee2354957776f84ee0ff5c98779688e879b277f70eb87bbced0e200740f6c39fac477ecf0190cb7be808f34f02c7ee48f709766c028cef5c769a9f860257e218d0d5a42221bdae45553007003e639f6c7f8888487f30a0232c7d49f334ed1a493f54730c15c0ec3ebaee051111e9a3e7ea1e3a222222a26711033a222222223dc7804e07623300d74dd253992bced74c1beb03800fff541e97940d587e5fb9fa7ef397eeb5aba85eeba5d45ada381b03d8fc04e43c7ce7dded14e9351df159d20b831d57974e7bf99eb4fe00e9e5c0b516484fb8dafe04bce50d64e46bd7666131e0bc4ef5ab49888888f405033a1db0aa27bd5877743937bfd794067580bfdeaef87cf945d26b41a6f7aaf8bc1b46a87ea79a2a2eada497022f7b989cfebfbec0c241aa5f27f2b8d6e6c0adff02619f006979c092d3dab5696400bcdf555a3e2222227df55c3d14919e07ccf85b4a3f552480b18ea5d904d425af375b0cccec2dbdbfed760ae03d469a06509f885d5d9dea9497bc5e936dc1c08253529685b60d01b35aa5654bfda49706df4e06e23e539e2f3517b05e212de3b13b405a2eb07374699b07c2806ecda577c8696b6b30b0210008b80ffc335e7a154a099f30e0f3a35280d9a13190990ffc31462a5b3604e8ba06685c17c8ca2ffbfa144d8c0da4d77efc7b47fb79c638001d7e01fe3744da8e8fda740598e403147e53b17e1011113d49cfd519bad94700132320682a70ed2329a7290064150013f601dbdd81e0a952baa9af8f2bcfdba735b0fb3fc0283be9f2638905a780ef8648e9a3fc264a2fc4d5b64e55d2f2a43cab3bdc01ffc9c0e2c1c094839ae78bcf92ce681d9b009c7eaf6cb6882ffa0207de2c7ffef43ca0953970f25d20600a60d3a0b4ec4464692e5b6d8def249d857c3c755756811420f98c95b241a4e42a97373691fafa5f5fe905c38fc657e10fa4c0d37a85f44e3655720aa520bb67055eafd2c8447aa172487cd932bba6c0b49edad7454444a40bcf554077f896f4c7b92448283903a52a79fd99c7d239950434b60da53459254a12b17f7716b89e587a564c9b3a55793479bdeb26e0abe3cac9ebcb13781f70b2905252191900233a689ee751060a29082bf9fdd16c1177d381e6f52a565f794ad64bbb46d2765095e3f44804d0c6bc6ccab3f68d81c84fa59fc7dfc9169526057af5974841f59c7e15eb577333e5ed5ae2452be0a7572a56171111d193f65c5d72ad0ae387a1af02a5b96081aa2562579493615d5df27a758c0c54ffae0db35ae5cf53c7484a18ff24ec0d9502ab53ef017d374a67441b9b689eafcdc37be8225381c15ba47cb7dae6e305a4e57b3ce51920a5f54ac9012ccc54a7552122227a1a3c5767e886b603565e280dc8c21e484375c9eb35292f11bb367536ad5bf6d2a8a6e4f58014ac4cfb4b795cf716d2d9afcc874f779e88d4aeffda706c26dd3f581dec9a4a97876f264b89e80f849596a5e5019f1e962eb5b63607deef26dd4b5811d60da49cbdd37da5fab521205dce55f5f0c691dbd293b6d90515eb071111d193f45c0574cb5e920224c7d552f2f43dd7a4f1ea92d76b525e22766dea7caf2b703a0ae8f42bf0e3c3d797a84b5e5f222c09587b59795cd3bad2030543b74b670a0b8a4bcb720aa5cbb723bca4cbb7ae9b80b7f76ab77c8074c6f1ef5bda4fffb847cf449a1a03eb5e075edf21bdd2a4fe230f5a7c711418d911e8de5cfa3ccb05f8e7b6f6af3d29e16e2f05693b43b49bdeff1ed0b611606956b6ec768a74b9ddd4b8627d2022227a92545d4532f6deb53d7fd498b79e7867e8e9f5ea7660ae6bc572b916164bf7b5f94d2c7d2af8717f5c07bcae963ee5aa0b53fe949e8c55954375f84ee0ff5c80016d9e7cbf888888f6eede01778fb7dd01e400c87ef893f5c8ef390072790f1d69e5a7a1c09538ed033ac7d5d27d69a3ecca0fe69e0645427ac58baa600e28fbf0051111d1d388011d69a55d23e9475b573fd26ebad1f64ffe05cb8f325400b3fbe8ae7d2222a2eaf05cdd4347444444f42c624047444444a4e7741ad07d70507ac273bb8aa71199349d888888483b3a0de8d6bd2ebd6a63f395b2654c9a4e444444a41d9d5f72ad57abfc97b68e7100b604494f223e6ed315c0687ecdf68d888888481fe83ca06bfc305b425e51d932264d27222222d24ce7019d5d13e9dd66d62ba497cc3e8e49d389888888d4d3f97be8a2d2805351526275b35a65cb99349d888888483d9d9fa18b4d97f268aa0ae698349d88888848339d0774c5023028e7141b93a61311111169a6f3802e2a0d6866aaba6c5d00f0998beab26311c0e2c135d72f222222227da1d37be83e3808dc4e561d9831693a1111119176741ad0ad7bbdfc32264d27222222d28ece2fb91211111151d5e8ec0c5d5a5a9aae9a262222227aa6e82ca0333737d755d344444444cf145e7225222222d2730ce888888888f49c5e0574c5c5c598356b16dab66d8bd6ad5be3975f7e91cbae5fbf0e4747478d75bcf8e28bf0f7f7afb63e7df7dd77c8c9c9a9f07cd1d1d1e8d5ab17faf7ef8f9090906aeb8f2657bd42f1e747ff689c2e3f331f47bf38890d7db661b5d3466c71db85bcf47ca5692efcec8fc29cc20af7a1b2f355546eaec0bbaf47a073b3abe8d9fa5a8db7a70d55cb7ee6fb8b5861bb066bba6fc2af9d7fc7c555013aea5dcdf867f6bff05b7a5efe7c72c1591cf9fc44b5b6a1ed7e5d93828282e0ecec8c9e3d7b62f1e2c535de9ebaef9ee0e06074efdebdc6fb5093cafd9e10c0ef0377e2f7813b954627842462c7706ffcdc711dae6c0ad1ba8cc75fd53d0dc71fe938a0f3f7f747515191d6d32f5ebc18d7ae5dc3f5ebd7e1e7e787d9b367232323030070f9f265f4ecd953631dbffefa2b3a77ee5ce93e3f2a3e3e1ecb972f8789894985e7fdfefbef317af4689c3a750a4e4e4ed5d21f6ddc0b8883651715b9d41ef3cfec13a8d3b00e269e7e1b1f854cc4a0f9fd50bb5e697eb6ac846c5cfa3510462615bb0db3b2f3554641bec087b39ae1634f0b3875ab5be3ed6952deb2c70727a2efe7bdf0a1ffbb78eba03b4ecc3f83ccb82c1df5b2fac50725a279374bf9f3bd80385876d6bc0f5684b6fb754d9a3b772e3c3d3d71f1e245cc9933a746dbd2f4ddd3aa552b787979d5681f6a92baef899bbeb761deaa3eb2e2958f91664e4df1968f3beab7ac87163d9a6b5dc6e3afea9e86e38f74fc1e3a2f2f2f1c3c781063c78e45fbf6eda1509493030c406e6e2e7ef8e1079c397306b56bd746ebd6ad616c6c8cd8d85874ecd811972f5f466a6a2a060c1880e8e8682c5ebc1863c796be7d78c48811b87dfb369a356b86e3c78fcbe3d3d3d3316bd62c5cbe7c19393939983b772e3c3c3ce4f21f7ef8016bd6ac41eddab5d1a041031c3b760cb56bd7c69b6fbe89a0a0200080abab2b4c4c4ce0ebebabf5b29f3c79129b376f2e337edbd03d68ddb725ee07c6232725179ddf7640d7894ec8cbc8c7bf73fd1077251e853985e833fb45d8bdd11e0010713412a7979e477161318af28a30e0eb3e68f7aa2d00203b3107873e3982d4c85458746a860761c97018dd1100f0b3dd3a4cbef00e6ad7af05512cb079c82e0cf8ca0536035b23f24434c6ee1f05c5c3bc6c2d7bb590fb7860922f12ae250100760cf786511d238cd93d42635fd4cda76ef900e9a9e82fbffc12d3a74f47bb76edb45ac7f5ea1ba0577f33ecdf9102c76e150fba55c9b89789431f1f41c6bd0c580f688d1b076e62f245691daa5b0675cb1e1f9c806eef77020098b7aa0fc35a861042685c2ff999f9383cf33852eea4a220b3003683da60f0a2fe008033df5d40b4df5dd46b618607375360f7467bf49cd60d00909b9a87bf3f3b8ef89044280c14707d641b9d5b7119b117efa15e8b7a883e73170effe9089799ce1adb2baf9fa24820e17a129a77b39056a000e2af2460f002f5f30195dfaf35ed4be51d6340e5f6b34d9b3661d3a64d3875ea14525353b172e54a6cdbb60d2d5bb6c4fbefbf8ffefdfbe39d77de417e7e3e9a366d8a070f1ec0c8c8084b962cc1d9b367d1b2654b9c387102e3c68dc3975f7e29d75b99ef9ee8e8684c98300121212158b972a5d232a4a4a460ead4a9080c0c84818101962e5d8a1123a47d50535f2aa3268e1508c0efbb8b18ba7c30f68c3d80a2bc2218d63694db2ccc2d426a641a9ada352ed39ff2ca78fc3d1dc79fbae5032a776c1260ecbd6bbb78123efbec33f967f1e2c5222222a2dc690f1f3e2c3a76ec287fcecece160a8542c4c5c5092184e8ddbbb7f8f8e38f8510429c3c7952585b5b97a9e3fbefbf17b366cd521ae7e1e1217c7d7d85104224252589a64d9b8aa2a222218410ab57af1603070e146969694208216eddbaa534efbc79f3c4bc79f32abad822202040d8d8d8c8ed94282e2a163fb45a254e2f3d2f8fcbcf2a104208b1fffdbfc4eda391d2b23fc8113fb5ff4d1417150b2184c8b89f298a0aa4ba622fdf17bf0fda29cfef3deea038f7e325218410215ed7c5b2a62b4541b654e7ee31fbc59d13d1420821ae6cb92af6bef3a73cdff16f4e8b951d7f1347bf3c29e28212ca2c83dfffce0bbfff9d2f335e5d5fd4cda76ef98410e2e8d1a30280888f8f2f33af26c37a86892307d32a3c9f2adb5edd2342bc428510429c5d7e51acedb9592ed3b40caa963d2725572c6dfc93c88ccb12450545c2ef7fe7c5aeffecd7aace33df5f10c7e79e96a7cd4ac8967fffe32d1fe13be398343e315b7cd7fc17515c28cdb7efdd43e2cc0f178510d2365add79a33cdfbe770f89239f9f10420891702d49ace9be492e53d75e79fd4c0c4d12cb9aae14ab3b6f14ab3b6f14bf38ac17df35ff45de476a62bf5657a7ba634c88caef67515151c2c6c6a6ccf8ce9d3b8be0e060218410fefefea267cf9e72d9e8d1a3c5279f7c22841022383858b46ddb562eabea778f9d9d9db87efdbad2b8d1a3478b850b170a2184387ffebc68d3a68d567da9acea3e56841022fcd02db163a4b710428875bdb78a948854a5f29873b162c7086f95fd5155c6e3efe939fed42d9f1055fb1ba0efbc776d17004601180a6000006700f600ac013403500f80b14ecfd03d2a393919ab57af86959515c68e1d0b0b0b0ba5727f7f7f74ecd851fe1c10108056ad5ac1c2c202454545080d0dc59f7ffe090068d2a489fc1fd6e37594fc470a0067ce9cc1d1a34711171787a54b9702001a34680000282a2ac2575f7d85f3e7cfa37efdfa0080b66ddb2ad517101080499326556839070d1a84a0a0201c3972040606ca57bc536ea7a256bd5ae833abf4d2b1715d23dcbd700f9127639095908df33f5d0600d431af2d4f1379321ad7bdc351945f849c0739a8db54babc981e9381bb17ee61c486a10080fa56f5d0a44323f9328665170bdc0f8843f3ae1638f7e325bc75d05dae73e0bcbee8f28e2342f78563d77ff6c36d992b3a8e2cfdaf283e38119dc6399459bef2faa26e3e4dcb070083070f56b94d35292a026e84e454cb19bab82b09c84bcf83a387b41fd66b510fcdbb48fba936cba06ad9e38313a0305060cbcbbb9095908df6afb5c5a8cdaf695567036b739c5a7816751b9be085976dd0b87d23b9ecfe95788cf71d030030aa537ac6212d2a1d772fdec3f075af48cbd0dc0cf95905a5cb189c8037bddf0000642566a3be9599c6f6d4f5332e2811ed86dae28d87cb14ba2f1c175705c0c0c8a046f66b4d7596778c95a8ec7e16101050e69eb5dcdc5c444444c0cece0e0010181888ae5dbb2acd73e4c81100d225d456ad5a01a8fa774f767636626363d1a1430779dc9d3b7770e6cc19ecdc29dd7766656585cccc4c8d7da9ac9a38562000bfff5dc0c06ffb0200ea3631417a6c061ad894be022bf6d27db4e86109555495f1f87b7a8e3f75eb13a8fcb1f93c796a02ba12c9c9c9080f0f2f13d0a5a5a5c1caca4afeeceded8d9123470200ae5dbb86162d5aa051236907b878f122ba75eb56a66e7f7f7f2c58b040fe7cf9f2654c983001cb972f2f336d646424140a85da53bb0101012adb51e7f8f1e318376e1c2e5fbe5c66deb8e004b4e9db4abecc298fbf9200478f8e18bcb03f1e17ba2f1c415baf61ccee9130ae6b8413f3cfc86589a10fd0d4be090c6b49972412ae25c1b24be97ab5ecd20c213baec3efc1797499e088fa56f594ea6e68db002effd7134200d167ee2a057471410970fb6ea0d67d51379fbae5abaa9ba1b930ab6f08cb16c655ae2be16a229a3936913fc70727c8f78d68b30caa963d3e38112fbc6c83515b87212d2a1d9b5ef2427e66018c4c8c34d669efde0156cecd71d33702db5ff7c67f760e47f36e16c88ccb42415601cc5b4bc1c0fd807834b56f0285a102f15713d1a44363181819c87db2706a0a00c84bcf474156011a589bcbcb67f1c8bd36e5b5a7ae9ff1c10968e650bace12ae25c1a293e67556d9fd5ad33a2bef18ab2a7f7fff32c7734848083a76ec082323e96bf6c2850b72d097969686cccc4cd8da4a97b0020303e5b29898982a7df7040505c1c1c141e91fc62b57aec0c1c141ee4b404000ba74e9a2b12f955513c7ca4ddfdb7870330547be380100c88ccb42c6bd4ca569ee5d8e83d358d509c05595f1f87b7a8ebff2968fb4f7d43ce55aab562d0c19320473e6cc41bf7efdca94dbdadae2e6cd9b104220303010dbb66dc3a79f7e0a400acc52525290979787d4d4547cfffdf7725989f4f47424252529fda7dbbc79739c3a754a7e52ecf6eddb888c8c0400346dda14797979888e8e0600dcbb770f494949f2bc595959888f8f2f13786ac3d0d010b56ad52a333e3e2411169d9a96196f66618a9873f7e427be52efa4212d3a5dead7e538d80c6c0de3ba46488fcd40d0d66bf27fc206c60628cc95e6c9cfcc47e0efc14a37ae36ef6a8168bfbb88fc371ace1f959e39b8733c0a7919d213ad5909d9083f780bd6aeade5f282ac02642566c3f4b1b36feafaa26e3e75cb57c2d3d3533e8350115703b2e154ced9395b5b5ba5005f13036343a4c7660202488948458857a8fc45a66919ca5bf6b8e00434ef2e9d35306f531f6d875823747fb8c63a7353f3909d9403f3d6f5d16582a352bdf703e351985b84acf86c14e517e1ccf717d1e303e941a0daf56a212b3e0bc585c5c84bcb83dfb2f3f2bd3df1410968e658baffc58724ca374fab6b4f5d3fe38313d0f4d13f28579360f9701faf89fd5ad37628ef182b51d9fd4c558075fffe7d3469222d7b6c6c2cf6ecd9234ff368400528075155fdee51d597faf5ebe3fefdfb282c2c446a6a2ae6ce9d8bcf3efb4c635f4ae8fc587978766ee48657f1c1f909f8e0fc04387ad821fdb180ee4178324c9ba97e004a55198fbfa7e3f853b77c252a7b6c3e4f747e86cec0c000bd7af5c290214360666656ee746fbffd360e1c38001b1b1b3468d0005e5e5eb0b1b10120057443860cc18b2fbe88ecec6c787a7aa27f7fe5ff10020202942e7700c0a851a3e0ebeb0b3b3b3b989999a1458b16d8b8712300c0d4d414bffcf20bdcdcdc60686888468d1ae1e0c183f2bca6a6a6183468107af4e8014b4bcb0a3d10111c1c8ce9d3a797191f1f9c089719ce65c6b71fd616114723b1aef756d432358699a5295efd790800c069ac3dfe9a7e14c9b75361dab42e0c6b19c85f026dfab544c00613ec79d307a64d4c50905d88e65d4bff0898599a02060a0c9cdf4ffe6f0b00eefc1b8d431f1f81715d63d4323346f70f3aa3fd6ba581b0b1a931daf46b854d8377c2b499a97cc3b2babea89b4fddf201d219a1e46e2d00002000494441548465cb96c1c5c545eb75ec7f2e0b1ffe2712991945282a029c5b5e83d7b117d0b68374fa3f202000e9e9e978f7dd77b5aeb3c3b0b608d9791d1bfa6d47f36e1630343690bf1c352d4379cb1e1f9288ce8f5c5a6a37d41601eb83a475aea6cee4db29f8ebe3233030328081b101babee724ff371b772501ed87b585f7b883c84acc86c3e80e707c53baecd7a65f2b5876b1c0ba5e5ba13054c0794a57d80e6e23cd179ca0f4651b1f92887e9ff7d2d85eb9fd14407c48129ad93ffa0725117d3f7f51e33aabec7ead693b94778c0195dbcf4a0406069609a25c5c5cf0f5d75f63d8b061e8debd3bf2f3f3e527da1fff3e0a0c0cc4bc79f30054febb67f9f2e5f0f1f1414444048c8d8de1eaea8a850b17a26fdfbef2f41d3b7684a1a1213efdf453bcf2ca2b1afb5252aeeb63e5a6ef6d14170abcf0b24de97a68561719f73294dab51fdd017b27fc89ba8d4df0c6e6d7e4b35de595f1f87b3a8e3f75cb0754edd87c9ea8baee60ecbd6b7bfea8316fd578e3bb76ed829b9b1b1a366c58e36dcd9c3913969696983d7b768db7a5898585054e9c3821df5ba32bd7f68421ece02d8cdaf29a4efba10b63c68cc1bbefbe8b575f7d55eb790a730ae5fb0f43f78523fcd06d8c583fb4a6ba58697b3c0ea0dba4ce683bc45ad75da167c0b37cacd4041e7f54ddf6eede01778fb7dd01e400c87ef893f5c8ef390072757a86eed1d783d494418306212121016ddab4c1c2850b6bbc3d6dcc9e3d1befbdf71ee6cc9983e1c3873ff1f633e3b2b0cb7d1f4c2d4c31fcb7579e78fb4f83ddbb7757789e0b3ffb23fcd06dd436af0d934675f0ca0f836aa06755171794a074a99ba82a9ee563a526f0f8235dd1e9193a222222222a9fb667e89e9a872288888888a87218d011111111e939bd0ce89804bb7a3d0b09e3552dc3f392949ac7c3d32fe15a12360ddaa9761a6df7a535dd3761e71b7be5cf5bdc76615defad156e4f1bf999f958edb411ab1c37e08756abb1c2660d56396ec06aa78dc84bcbab72fd35e1793c1e222222d0ab572fbcf8e28bc8ca7a76f2d052d53db1d45f953562c408e1edad3abd4b758b8b8b13969696e5962727278bf0f0f027d2979a90199f257eb65b5766bcf7f83fc5a5358142082152a3d2c4b2662b45c6fdcc27dd3dad94b70c5bdc76895b7fdf913fef18e92d82b75fabd6b6ff9e755c5c5a1b58ad7556148f87a75f4e4aae48be95a2761a6df6a5dcb43cf1a3cdaf720aabd07de162f34b5ec267f2e10ab757513b46788b6b7fdca8d63a6bc2f37c3c58585888a8a8a827d61e3d19daa6fed2ab33749b366d82abab2b7c7c7cb072e54ab8babae2eeddbb0080f7df7f5f4e769f9f9f0f73737314164a676c962c5982d75f7f1d53a74e859d9d1d162d5aa454ef0f3ffc8076eddac1d1d1117dfbf6455e9ef49fe79b6fbe09575757005212eca1434b1fbb8f8e8e86abab2b5e78e1055cbc7851a9be949414bcf9e69be8d0a103ececec70e0c001b94c535f2a233f331f3e930f63f3102facefbd15c7be3c2597e56548098f370dda89f5bdb722745fb85c7660922f768cf0062025c1de3da6b49ff1c10968d2514a62ad2a61757975a6c76460e71b7bb1de651bfefaf8087eb15f8fbc74e925c57ffdf728ae7a8502008af28bf0a3f51a1417166bac53ddf295b70ce525a52e794bbabaf6228e4662f34b5ef8dd7507d6f7de8a9b7f45c865d98939d8f3a60fd6f5da029fc987117be1befc449bba3a012929f5a945e7b06bf47e6c1aec85c08d2172595a5a1a3efef863dcbc7953f5465681c7836ab9a9793830c917bfbdb805eb1edb7e3fb5fb0d457945d207016c1ab41331e7ee01a8daf62baf2cfd6e06760cf7c6da1e9b702f205ea9becaec4bf1c1d2cb678d4d8c90979e8fa06dd7d0a2bba5fcfeb2f2da938eb75fb1ef9d43f87de04efcfdd9bff8c5613d1e84276bb5ec256d971c3f257eb65b271fdfa25860d3602fdcf9577a21f299ef2e60e7086ffc39f56f6c7ec94be92cbfa6f6783c54fc78484d4d457171315ab76ead79627a6e3cd567e89804bbacca246d2e51dd09e3b7beb25b5cdd2dfd177fe1677fb1a6476972e98dfdb78b846b49420821e2aec48bcd2f796955a7a6a4cdaa96419f92520bc1a4f0aafa5259ea929f6f71db25ef83a1fbc285f7b883725965b79fa66d2b8410eb7a6d1149610f94c655665fbab83a401cfdf2a438f2c509f1d77f8f88eb7bc3c48ee17f88a853316adbbb1f182f7e1fb8430821c4f236bf8ab4e874e133e5b0b8f5cf1d8dcb2e8410a99169e28756ab94c60921c4ee31fbc59d13d1420821ae6cb92af6bef3a75ca62e41bda6f6783c54fc78080c0c14eddbb717c5c5c59a2726bda2ed193a9d678aa82826c12eab32499b4b5467c2f8b82b09c849cd85c37fa4f551b7a989fc76f1c2dc22a446a5a1717be925d28fa680a94a12ecf296419f9252034c0aff785f2a4b53f2f3c6ed1b2129ec019a74688433df5dc0c84dda256257b7fd346ddb82ec4264dccf42a3174a5fa05ed97d293e3801d6ae6d909791876bbb6ee0951f07e3efcffe55ca30a0aa3d69bed6c84eca417d2b33d46f550fa9916968fc4243adbe27e28213d0cca169991c9c965d2c703f200ecdbb5ae0dc8f97f0d64177b9acbc04f5dab4c7e3a1e2c783adad2d140a051c1c1c70e8d0213993123d3ff42ea06312ecb22a93b4b94475268c8f0f4e408b47d2b5c40526c8015d6268121ab56b2827a5bee71f2797553609b6fa65d09fa4d455c1e34199bae4e700d0b85d433c084f418857285af6b642e37652d05395eda769db265c4b44938e8d94ca2bbb2fc50727a2d7f41ea8dfb21eec4775405a543aea34a88dda8f0444aada8b0b4e84f58056d24b6fbb5a401409a4dfcd40036b73dcfae78ec6ef89f860d539382dbb3443c88eebf07b701e5d2638a2be553d00509ba05e9befa5ca7a9e8f87afbffe1ae3c68dc3575f7da5f53cf46cd1ab7be80026c17e5c65933603d59f305e61a0407692f4b457525832aeee0a9583b6ccb82cd46d640200c8b89f891b076ec2a2b3e684ce9a923697b70cfa9294ba0493c257cff1a02ef939209da14bb89a884bab03d077f68bf2f8aa6c3f4ddb363e385129a73150b97da930a710e9b11968dcae116a99d58249a33a880b4e80e563f7b5a96a2f3e48fae72a2e2801165d9ae1c1cd64346ad71050685e76a9ceb2f7cf0140f3ae1688f6bb8bc87fa3e1fc51e9592f7509eab5698fc743695fd2d3d3f1e1871fe2c68d1bf27a59bd7a35d6af5faf54b7afaf2fc68d1ba7fdcaa2678ede0574e525c18e8d8dc5b061c3f0db6fbf694c82dda3470f00ca49b01d1c1ce0e1e121ffe754525e92d4fad11b5e972f5f0e5757572c5bb60cbebebe707575859f9f1f002825c17ef1c5173179f264b549b04bfa52525ed124d8c9b753b0e3f53fb0b1df766c7b6d4f99a4cdcdec1a635defadd8d0671bfefeecb87ce602504e82adf4404448a2d299b676436d11fee72d8d757618d10e05d905d8d0671b2eaf09841042fec3d2b2677364dccfc41f637d10b4f92a8a0a8ad1d4ae89c63ad52d5fb9cb504e52ea9200525d7b4e63ed11fe5704fefce81ff8ff1654262975dd265252eaa35f9c2c93945addba8e0f4e2cf387b74449e2e9dcdc5c2db6b8321e0fca1e4d7ebed96d17ba4c7092939f0340e3f60d71d337021d47b68369b3d27f02aab2fdca2bbbb43a103b867be3fc4f9771fb6824760cf7c6ddf3f71ef6b3e2fb52c2f524346edf080a438552db25fb7579ed8922818cfb99306f5d1f71574a03bb927f54342d3b207d2758aa085acd2c4d01030506ceef279f6d049413d4ffd6730b5af66c2e27a8d7d41e8f07e5be5cbe7c196bd7ae8510425e2f3ffef82362626294d6d983070f606d6d5de17546cf0ea6fe7a8a542609f6d32a35320dbb46efc794cbefe8ba2ba4a79ea5e3e159756d4f18c20edec2a82daf298d6782fa27cbcbcb0b7bf6ec81b7b7b7aebb423540dbd45f7a770fddb3ac3249b09f56256702882aeb593a1e9e35997159d8e5be0fa616a618fedb2b65ca99a0fec9282a2a829b9b1b8c8c8cb066cd1a5d7787748c011dd5888e23dba1e3c8f26f262622fd6566698af7cf947fbfd627373e7882bd797e191a1ae2d8b163baee063d25f4ee1e3a2222222252a6b33374696969ba6a9a888888e899a2b380cedcdc5c574d131111113d5378c99588888848cf31a023222222d2733a0de8222222e0e6e6062b2b2bbcf0c20bd8b06183d6f37a7979213c3cbc067b47444444a41f7416d00921e0eeee8e37de7803b1b1b1080a0a82a5a5a5d6f333a02322222292e82ca03b7dfa34929393f1e1871f0290d2a8bcf65ae9dbc6cf9c39837efdfaa17bf7eee8dfbf3f4243430100e7ce9d9353a9787a7ac2d5d515bffefaab566da6a6a6a2418306983f7f3e060c18802e5dbac8f596d71e001c3e7c185dbb76458f1e3dd0ad5b37a540d2c8c80853a74e85bbbb3b860c1922e7fd03a4dc7a5dba7441a74e9d307cf870242626ca65666666f8e69b6f3066cc1874efde1d9191915ab5a7ae9f8094787afaf4e95aad0f2222227a76197befda2e6adaba75ebc44b2fbda4b22c353555b46fdf5e4447470b2184387dfab4e8d7af9fd23423468c10070f1eac509b29292942a150888d1b370a2184282a2a123939391adb73717111478e1c11420891959525323232e432434343b91f9b366d1263c68c114208919999299a346922ae5ebd2a8410e2f3cf3f1753a64c91e733353515870f1f164208b170e142e1e9e9a9b13d6dd6cbefbfff2e0c0d0d2bb45e888888e8e9e4bd6bbb00300ac0500003003803b007600da019807a008c9f8a4c1167ce9cc15b6f49b963a3a2a270e9d22524262662fcf8f1f234c9c9c9d5d2968181815caf818101ead4a9033f3f3fb5edf5efdf1f9e9e9e080c0cc4c0810395128803c0800103000003070ec4575f7d0500080d0d45b366cde0e0e00000707777c7c4891395e67371710100d8dadac2d7d757637bdaac9777df7db742c9cc89888848ffe92ca06bd7ae1d6eddba0500e8d3a70fce9c3903474747b9dccece0e274e9ca8f676cdcccc60645476b1d5b5b764c9124c983001c78f1fc7e8d1a3f1e38f3fe28d37de90cb0b0b0be5a11042ebbe181b1b0300140a058a8b8bb56aafa6d60b111111e92f9ddd43d7bf7f7f98999961e3c68d0080bcbc3cb9ccd9d919b76eddc2c993270100f9f9f9387dfab4d2fc0d1a3450ba27ad2a34b5171616063b3b3b4c9b360dafbefaaa1c8896d8bb772f00e08f3ffe40efdebd01488157424202828383014889c6fbf4e9a3557fca6b4f9bf572eedc394c9b36ada2ab80888888f498ce023a8542016f6f6f6cdbb60d2d5bb6c4f0e1c3e5cb95e6e6e6d8b76f1f3c3d3de1e0e0002727273988293179f2642c5fbe1c7dfaf4c1aa55abaad4174ded2d5ab408f6f6f6e8dcb933a2a3a33169d224a5f9af5ebd8a4e9d3ac1c7c707df7df71d00e9218f2d5bb660dcb871b0b7b7c78d1b37b060c102adfa535e7bdaac97b0b030ac5dbbb62aab83888888f48c42c53863ef5ddbf3478d79eb8977461f19191921373757e5655c222222a2aad8bb7b07dc3dde7607900320fbe14fd623bfe700c865a608222222223dc7d34a5554f2400411111191aef00c1d111111919ed3d919bab4b4345d354d444444f44cd15940676e6eaeaba6898888889e29bce44a444444a4e718d011111111e939bd0be8e6cd9b07854281a8a8285d77055f7df5156c6d6df1c9279f288dbf74e9121c1d1d616d6d0d0f0f0fe4e6e6ca65b1b1b170757585898949998c134444444495a1d380cedfdf1f454545159ae7c0810378fdf5d7e1e3e35343bdaa98c99327e3e79f7f561a3769d2242c59b204919191c8cfcfc79a356be4322b2b2b9c3871025656564fbaab444444f48cd26940e7e5e585050b16202c2c4caba4f631313178f0e001a64f9f8e03070e2895a5a6a6a2418306983f7f3e060c18802e5dba2034345463d9942953d0b97367383b3b63d4a851727e583f3f3f74ebd64dae3f292909cd9a3543565696da3edeb97307d1d1d118366c18f2f2f2306edc38ecdfbfbf42eb85888888a822747ec9352b2b0bebd7afc7d2a54b71e7ce1db5d3faf8f8c0cdcd0d7dfbf6c5e5cb97cbbcfa243d3d1dad5ab5c2c99327111010001b1b1b8d6573e6cc415050102e5dba845ebd7a61c992250080be7dfba2a0a0000101010080ad5bb762cc983130353555dbc7d8d858585858c0d7d717d6d6d6b0b2b2426c6c6c85d70b11111191b6741ed095484e4ec6ead5abb162c50ac4c7c7ab9cc6c7c7072fbffc326ad7ae8d3e7dfae0afbffe522a373030c0f8f1e3e5dfebd4a9a3b1cccfcf0f03070e84abab2bb66cd982c8c848799ea953a762ddba7500800d1b3660ca94295a2fcfe0c18371e4c811adce3c1211111155c55313d095484e4e4678787899f1e9e9e93875ea143c3d3dd1b16347f8fbfb97b98fcecccc0c4646aa5fada7aaecd6ad5b9833670e76efde8d13274ee08b2fbe407171b15c3e7efc78f8f8f8e0f8f1e3a857af1e9c9c9c34f6bf65cb96888b8b83b1b1311c1d1d111b1bcbfbe5888888a8463d35b95c6bd5aa85010306a07ffffe4a67d64a1c3e7c18bd7bf7c6f1e3c70100111111e8d6ad1b0a0a0a606c6c5ca93693939361616181a64d9b0200f6eddba7545eaf5e3d0c1b360ce3c78fc7c2850bb5aad3dada1ad6d6d63878f020468c1881ad5bb762e4c89195ea1f1111119136747e86cec0c0002e2e2ef0f4f4849b9b9bca600e909e6e7df9e597e5cfb6b6b6b0b0b0c0c993272bddb6b3b333ba74e982a1438762ecd8b1b0b0b02833cd3befbc838c8c0c8c193346eb7ad7ad5b074f4f4fb46cd912b56bd7c6871f7e58e93e1211111169a2d333743d7af4809b9b1b1a366ca871daeddbb7971917161626ffdea04103a4a6a6aa9cb7bc32854281df7efb4d6dbbc78e1dc3b871e3343e0cf1286767675cbf7e5debe989888888aa42a7019d8787872e9b57aba8a8084e4e4e3037372ff7b5238d1b37c6ae5dbb90949484efbfff5eab7aefdfbf8ff7de7b0fb56ad542ad5ab5aab3cb444444f49c7a6aeea17bda181a1a6a3ccb3663c60ccc9831a342f5366fde1c870f1fae4ad78888888894e8fc1e3a22222222aa1a9d9da17bfca5c04444444454393a0be8cccdcd75d534111111d13385975c89888888f41c033a222222223dc7808e88888848cf31a023222222d2733a0de80e1f3e8cae5dbba2478f1ee8d6ad1bc2c3c3e532333333e4e6e60200bcbcbc306edc38b92c3d3d1defbfff3e3a75ea04070707a53cabeacace9c39837efdfaa17bf7eee8dfbf3f424343b5ea8bba32222222225dd3e98b85172c5880efbefb0e2fbdf412b2b3b3515c5cacd57cb367cf86898909828282a050289402b3f2cad2d2d23071e2441c3d7a14ad5ab5829f9f1fa64c998253a74e69ec4b65fb49444444f424e834a0ebdfbf3f3c3d3d11181888810307a2478f1e5acd77f8f061f8fafa42a1500000ececec34965dba7409898989183f7ebc3c6d7272b2567da96c3f898888889e049d5e725db26409b66cd982ba75eb62f4e8d1d8b76f9f5c666050dab58282826a69cfcece0e274e9c907fae5ebdaa555fd49511111111e99a4e03bab0b030d8d9d961dab46978f5d55771ebd62db9ac65cb96888c8c04009c3b774e69bea1438762e5ca95f2a5cfb0b0308d65cececeb875eb164e9e3c0900c8cfcfc7e9d3a7b5ea8bba32222222225dd36940b768d122d8dbdba373e7ce888e8ec6a44993e4b26fbffd161e1e1e78e79d77909797a734dfb265cb909f9f0f474747d8dbdb63cf9e3d1acbcccdcdb16fdf3e787a7ac2c1c1014e4e4e7270a7a92feaca88888888744da1629cb1f7aeedf9a3c6bcf5c43b4344444444a5f6eede01778fb7dd01e400c87ef893f5c8ef390072f91e3a222222223dc7808e88888848cf31a023222222d2733a7b0f5d5a5a9aae9a262222227aa6e82ca0333737d755d344444444cf145e7225222222d2730ce888888888f49c5e05747e7e7ee8dcb9336c6d6d3166cc18646464c86575ead4416e6eaedaf97bf5ea85f3e7cf575b7fbcbcbc101e1e5e6df51111111155864e033a7f7f7f14151569356d6e6e2e468c1881952b5722222202a6a6a69833674e85dadbb061031c1d1d2bd3559518d0111111d1d340a7019d979717162c5880b0b0300821d44e7be1c205d4ad5b1703060c00008c1b370e870e1d529ae68b2fbe40f7eeddd1b76f5f390f2c006cddba15aeaeaee8ddbb37ae5ebdaa34cf993367d0af5f3f74efde1dfdfbf7476868a85c969e9e8ef7df7f1f9d3a7582838303162e5c0840ca2debeaea0a3f3f3f787a7ac2d5d515bffefa6b55560511111151a5e9ec29d71259595958bf7e3d1a356a8437df7c133636362aa78b8d8d85a5a5a5fcd9c2c20277efde559aa673e7ce58b162057ef9e517cc9c39137bf7ee05008c1f3f1ee3c78f47af5ebd94a64f4b4bc3c4891371f4e851b46ad50a7e7e7e9832650a4e9d3a0500983d7b364c4c4c10141404854221077bbd7bf7c68913273072e4484c9a3409c3860dabb6f54144444454513a0fe84a24272763f5ead5b0b2b2c2d8b16361616151e13a5e7ffd7500c0c89123e5b369ea5cba7409898989183f7ebc523f4a1c3e7c18bebebe5028a494b776767615ee13111111514d7b6a02ba12c9c9c9080f0f2f13d0595959212e2e4efe1c1f1f8f56ad5a955b4f4910a6899d9d1d4e9c3851a9be121111113d0d9e9aa75c6bd5aa8521438660ce9c39e8d7af5f99f29e3d7b223b3b5b0ebeb66ddb86d75e7b4d699afdfbf70300bcbdbdd1a74f1f8d6d3a3b3be3d6ad5b3879f22400203f3f1fa74f9f96cb870e1d8a952b57a2b8b81800101616a6347f83060d909898a8fd4212111111d5009d077406060670717181a7a727dcdcdc50a74e1d95d3999898e0c08103983e7d3a6c6c6c90959585458b16294d73f5ea5574eedc197bf6ecc1f7df7fafb29e47cfdc999b9b63dfbe7df0f4f4848383039c9c9ce4e00e00962d5b86fcfc7c383a3ac2dede1e7bf6ec51aa6bf2e4c958be7c39faf4e98355ab565576151011111155894e2fb9f6e8d1036e6e6e68d8b0a156d3f7eddb174141412acb34bd83aeb0b01077efde2d7329d7c5c50567cf9e55394ffdfaf5b161c38672eb74717141484888865e13111111d52c9d06741e1e1e4fa41d474747e4e6e662d4a851b0b6b67e226d121111113d294fdd431135e1f177cf111111113d4b747e0f1d11111111558dceced0a5a5a5e9aa69222222a2678ace023a7373735d354d444444f44ce12557222222223dc7808e88888848cf31a023222222d273550ee8deff350d137f4daf8ebe1011111151255439a02b16c0a53bc598b426b33afa43444444441554e580eef78fcce16c6d88c0bb021faecfa98e3e11111111510554cb3d741b3faa07e7d686088d33c2ec9d85d551251111111169a9dade4357200a505cac4061a1a23aab25222222220daae50cdd849f53703546017b8b422c1f5fa73aaa24222222222d5539a01bf7531282620007cb62ac9d52af3afa44444444441550e580ce5021d0b96531367edca03afa43444444441554e59bdd36ffb76975f483888888882a89992288888888f41c033a222222223dc7808e88888848cf31a023222222d2730ce888888888f41c033a222222223dc7808e88888848cf31a023222222d2730ce888888888f41c033a222222223dc7808e88888848cf31a023222222d2730ce888888888f41c033a222222223dc7808e88888848cf31a023222222d2730ce888888888f41c033a222222223dc7808e88888848cf31a023222222d2730ce888888888f41c033a222222223dc7808e88888848cf31a023222222d2730ce888888888f41c033a222222223dc7808e88888848cf31a023222222d2730ce888888888f41c033a222222223dc7808e88888848cf31a023222222d2730ce888888888f41c033a222222223dc7808e88888848cf31a023222222d2730ce888888888f41c033a222222223dc7808e88888848cf31a023222222d2730ce888888888f41c033a222222223dc7808e88888848cf31a023222222d2730ce888888888f41c033a222222223dc7808e88888848cf31a023222222d2730ce888888888f41c033a222222223dc7808e88888848cf31a023222222d2730ce888888888f41c033a222222223dc7808e88888848cf31a023222222d2730ce888888888f41c033a222222223dc7808e88888848cf31a023222222d2730ce888888888f41c033a222222223dc7808e88888848cf31a023222222d2730ce888888888f41c033a222222223dc7808e88888848cf31a023222222d2730ce888888888f41c033a222222223dc7808e88888848cf31a023222222d2730ce888888888f41c033a222222223dc7808e88888848cf31a023222222d2730ce888888888f49c517905972e5d7a92fd20222222a24a2a37a0ebd8b1e393ec87ecc68d1bcf75db0a85024288273a0c0d0d859d9ddd136f97436e1f0e39acca5097df9b1c3e3f435dc606001073e7a656d3951bd029148a6aeb4c453dcf6deb626705f0541c341c72fb70c8614586bafcdee4f0f91996ec674fbb72033a21c493ec07db7ea4ed273dd475fb1c72fb70c8e19318e6e4e4202a2a0ac9c9c9484f4f4745d4af5f1f8d1a35429b366d60626252a176376edc88891327ea7cf939acfaf069566e40474444f4ac080d0d45545454a5e74f4f4f477a7a3a222323616d6dadd34b70f4f40b0e0e86a7a7a7fc79c99225e8d4a9538db6c933747adc7656561642424270fffe7d0040f3e6cde1e4e4045353d31a6f9b9e2c6e1f22d5b43936ce9c39838c8c8c6a6bf3ce9d3b78f0e0015c5c5cb49e87c7b07ed366fb1d3d7a143e3e3e58bc783180b297693332323067ce1c0c1f3e1c2fbdf452b5f7b1d267e8860d1b56a9f9fefcf3cfca36f954ba71e3062e5ebc0800e8d9b3e713f9afada0a000fbf6edc3debd7b919999a954666666067777778c1a350a86868635de1722a2a759686868b5067325d2d3d3e50796888e1e3d8a152b560000e6cc9983c183072b9547444460ddba7588888890a7abeea0aed267e82a7b83a03651aea669ce9e3d0b0065fe3bdab16347b9f3585b5b6bf5df5445fe8b9a3c79b27c760c0076efde8de6cd9be3b7df7ed3ba8ec7dbd6748366515111962e5d8a0b172ec0c4c40483060d82939313002024240467cf9ec5e6cd9b11191989193366c0c8c84863bd15695f9b61545414dab469536df53defc3eade3ecfc330262606ad5ab57a6aeae1b066869a8e8bdcdc5c444646965b6e666686d75e7b0d797979f0f1f18110024208346ad40843860cc1e9d3a7919393033737379c3e7d1af7efdf579abfe4bbae6eddba55eaa742213dcd3e79f2e4327f17860c19826fbef9e6a958dfea8663c78e45fdfaf5b166cd1a28140a8c1f3f1e91919158b46811faf7ef8f23478e60fefc0e2b660c00001c9f49444154f958b16205ba77ef5ea5f6c2c2c2f0c1071f60e9d2a57071717962fb993a3e3e3e5028a4efeb888808444444c89f0160ddba75004a63271f1f9f32415f5555f929575f5f5fada61b3a74a8d6f56a9ac6c0c0405e598f0669eae6333030a896b64bbcfdf6db484f4f47ebd6adf1c1071f009036584c4c0c264c9880ad5bb76a55cfe36d6bdab9f6eedd8b0b172e40a150a055ab56f8f0c30fe54bacafbcf20a626262306fde3c9c3c7912d6d6d6183d7a7495bf14350d737373010026262658ba7429ae5cb9829d3b77d6c8c1f5e79f7f62fdfaf5c8c9c9c1c08103f1f9e79febe4cb2b2323435eefdace575c5cac71ba92fdb4a6b68faebff49fc4f07ffffb1f020303e1e5e5556df554667b73a8fdb0b0b050e374aafe39d5b43deedcb9a3b6bc65cb960080dab56bc3caca0a313131502814f2958ff4f474141414c8bfabaa272a2aaada5e9d024857bfba76ed2a8f6fd1a285ceb78f36c3ae5dbbe2f0e1c3282c2c446a6a2a2223230148271afaf5eb871b376ec0c8c8088e8e8e556ecfc2c2023366cc80adaded13593e6d628365cb96e18b2fbe2813c83dfaf7bd84adad2d962e5daab1ce8aaaf23d74253bbbb6b4a957d334bd7bf7062045c1420839a87bfbedb7d5d6591d6d03c0a953a7909696061b1b1bac5ebd1a4545450080b56bd762ca9429888e8ec6f9f3e7f1e28b2f6aac4b55dbe50d333333e1eded0d131313585959213c3c1c73e7cec537df7c03333333141717a379f3e6983b772e3ef9e413fcf1c71f183a74a8fc87a8bc7ab56dfff1e1bd7bf7b077ef5ef8fafa62d5aa5568d3a60dfefdf75f346cd8b052f56933dcbf7f3f525252306dda34b46fdfbec6dad134f4f3f3c3962d5bf0c61b6f60e8d0a1303333533b7d71b1c0eaf53b909ea17c89fc514d1a35c4e4f73c6a74fbe86a7d3dc9e1f1e3c7d1b061c36aada7a2db9b43ed874545c5f875c34ead8e8d8ad69f9c9cacb6dcc6c60657ae5c419b366dd0aa552bc4c4c4947bdc3dfeb964989c9c5c2deba144dbb66dd1ab572ff9b38989092e5cb88059b36661e0c081b870e102264c9880356bd6c89f972c59829494146cd8b001494949e8d0a1033efdf453d8dadae2fcf9f34af37ef9e597f0f1f1417070300c0d0de1eaea8a993367c2c8c8a84afd777272c2c1830771f3e64dc4c4c40000ba74e982c0c04000c0f5ebd7d1b1634718181860f1e2c5387dfa340a0b0bd1a54b177cf3cd37b87efdba523fa74c99821f7ffc111e1e1e3871e204f2f3f3f1d1471fe1e5975f465c5c1c7efcf147585858e0c18307983a75aacae90060cb962dd8bd7b371a366c882e5dba60fffefd387efc38b2b2b2b070e1c20aaf0755424242000083070f464444843c7ec89021707272424848088e1c39228f1f3c78306edebc29afb7eaa2974fb90a2194823a40bafc5a5c5cfc44da3f7bf62c140a05264d9a84c2c242797c616121a64c9982afbefa0a172e5ca870400748cb56de7f0ac1c1c1c8cacac2e0c1833165ca14cc9b370fd7ae5dc3fcf9f3f1f5d75fa35ebd7a1042a079f3e6e8d3a70f8e1f3f8ea0a020b8b8b8a8ad5753bb8f0f030303e1eded8db367cf420881b66ddbc2cccc0c93274f466e6e2eeedfbf0f575757787979c1c8c8086bd6acc1f9f3e7a15028e0e0e08069d3a6a165cb96484e4e86bbbb3b060c180085428173e7cea159b3669832650afaf4e953a6dd091326c85f14ab56adc2c71f7f8ce9d3a7c3c5c505090909888b8bc38a152b101919892d5bb6e0debd7ba853a70e9c9d9d3173e64cc4c7c763d2a44978e59557909a9a8a909010346bd60c13264cc0b163c770e5ca15d4ab570f9f7df619ba75eb068542ba0cb26ad52adcba750b0d1a3480878707de78e30db46cd91205050558b56a15366edc083737378c1a350aad5bb756b9de140ae015b7fed8edfd57b9dbfef55707d5e8f679f0e081c6f57de4c8116cddba5569ddfddffffd1f4c4d4d111e1e8e152b56202222021d3b76849d9d1dbcbcbcb06cd932f4ecd913616161f8e5975fe475f5e69b6f62c488112afb19131383d5ab57cb5f843d7bf6c4cc9933616a6a8ae4e464ac5ebd5a3e13ede8e888a953a7a275ebd6c8c8c8c0ebafbf8e3e7dfaa061c386f0f3f343ad5ab5e0eeee0e0f0f8f32fbe0ce9d3b919696a6b25f5e5e5e58bb762dba75eb861f7ef801070e1cc08a152be0ecec8cb4b434a57ae6cd9b57a1edcda1f64303038556c786aae340d3f7a6ba7be72c2c2c50bf7e7d5cbf7e1d494949183c78304c4d4d919595a5e5b7b5a4bc3377153d8e4bfcf4d34ff8e9a79fe4cfdf7cf30dead7af0f407a10eef3cf3f8789894999cf3366ccc0800103f0d1471f61fdfaf5f8e28b2fb079f366793d65656561f6ecd9888a8a42404000d6af5f8fa8a828fcfdf7dfb87bf72eacadadabb41d4b9ee0bc7efd3a6edebc8976edda61c89021f8e1871f90929282f0f0708c193306a1a1a1080d0dc59c397390979787f9f3e7e3dcb97368d0a081523f9b366d0a00888d8dc5cf3fff8c050b1660cd9a3572a056a264f9544d77e5ca15ac5bb70e1e1e1ee8ddbb37162e5c286f8743870e69bd1e349933674e99fe0c1932049f7efa298a8b8be54bab2541dda3b7651d3c785063fdda2a3797ab1042273fdab65d5c5c8c5ebd7ac1c6c60677eedc91ff78092170f6ec59ecd8b143e9e7d1f2aab66d60600021847c203ffa5332aea8a8a852cbad6e1817170700b0b7b7479d3a753077ee5cd8dbdb23343414f3e7cf97bfbc84107070700000c4c7c76bacf7d16dae6e78e3c60d4c9c38113367ce44484808dcddddb179f366ecd8b1038d1b37c6b871e3606464847af5ea61e6cc99a853a70e66cd9a85a3478fa26fdfbe78f5d55711101080a953a7223e3e5e6ef7e4c993b0b4b4c437df7c83a2a2227cfbedb7888a8a2ad3fea44993d0a4491300c0ac59b3d0ae5d3b0052806d6b6b8ba14387a24e9d3a58b468116ad5aa85193366a06bd7aef8f7df7f956e0df8fbefbfd1bb776f4c9c381177eedcc1bc79f3d0a64d1b787a7a222e2e0ecb972f0720fde73d7bf66cc4c6c662ead4a9b0b1b1c14f3ffd847ffffd179d3a75828f8f0f56ac58815ebd7ae1d0a14378e79d77306bd62ca4a4a4a85c7fed6dadd1aeadb5cae3ad6b277bb4b06c56a3db47d3fa8e8989c1e2c58bcbacbbbffefa0bd9d9d9f8e28b2f70ebd62d4c983001f6f6f6d8bd7b3700e90b2c252505b366cd525a572b56acc0891327caf433272707b366cd82bfbf3fdcdddde1e6e686e3c78f63d9b265282c2cc4679f7d8663c78ec9fb8cbfbf3f3efae82379ff07a4a7161b366c882fbffc12f9f9f958bb762d121313cbec83454545e5f6ebedb7df46f7eedd11101080cd9b3763eddab568d0a001e6ce9d5ba61e6767e70a6f6f0eb51f6a736c54b6fef2b46cd912f9f9f9c8cbcb435c5c1c140a055ab76ead761e75aa6b7d8c1d3b163ffffcb3fcd3bd7b77b98dd1a34763d0a04130303050fa7cf6ec59141717e3f3cf3f47dfbe7df1e1871f222e2e0ee1e1e14af30e1e3c18eddbb747414101a64d9b8663c78ec1cdcd4dbee7b92afd6ed1a2051a376e8cebd7afc3dfdf1f3d7af440b76edd505c5c8cfdfbf7233f3f1f9d3a7582939313162c5880e8e868fcf3cf3f0080ececec32fd2c59c6d75e7b0d969696707272426a6a6ab9df8baaa62bf987f1fdf7df47f7eedde55bbf00e085175ea8f07a50f7f7fbd1fe08213070e040141616a2b8b818858585183870a0dae9b5ad5f9d72033a7d50b2b0d57d1d5a936eddba0150fd1046c9b8470fc2ea52b29c251bb84e9d3af8f6db6f616f6f8f1b376e60fefcf9f2bd1f25d354e7ba898c8cc49d3b7750af5e3dcc9831031f7ffc31acadad919d9d2defc0464646303333c3a851a3101212823b77eee0b5d75ec3dcb973317dfa744c9b360d9999994aff95b46edd1afffdef7fd1bf7f7f4c993205858585f8fff6ce3e28aaeaffe3efbbcb2ebbb0bb024ac9838020e0b3f848a43fc88d084d5d1d941c30d1c194b49cb19a7104d11c2d9dd4214722b419232de33721a9a32e3992fe6c0a2ad27e8506a38e0f4d6a825906eee3ddfbfb63bdc7bbcf1758c0dfb7f39ab9f3d97bf7dc73cefd9c7bce7ecee73cec9933675cd2d76ab550abd500009d4e87279f7c1280bd21d9b46913d6ac5983e8e868d4d5d5a1bcbc1c13264c404242028047c32280bd6c727272306fde3c00406868285e79e515a4a7a723222282189b67ce9cc13ffffc83a54b97222727075bb66c01c330f8f2cb2fc1b22c8c4623264c9880e2e2622c5bb60c1289044d4d4d0e6909615916d999e9900538ae3e562815d03e93d6630fb3aff2e1f1a4ef21438678d4ddb973e770efde3de8743a2c59b204afbefa2a323232489cde74e5ccf9f3e771fbf66dcc993307cb972fc79b6fbe892d5bb660f1e2c5686c6c14f5ce444545a1a8a808a9a9a9983a752a6c361b6edebce9f20e7efffdf75ecb70fdfaf550abd5a8aaaa82c16040494909542a954b3c4aa5b2cbe54d114f6fd50dbebd70462e97232e2e0e72b91c4b972ec5a2458b0080ccc9f2471add25363616292929e4e03d57807df855a80bfe9c377e589685cd6623d38084f061535353b16fdf3ee8743adcba750b1b376e446d6d6d8ff3cd71762f5d434303fef8e30f4c983001515151080f0f476d6d2df1b67ff3cd37282828405b5b9bdbb9f5cecf2893c9c8efbc37e3c65d385e9acd666258f1f4961e787efef967afe7bd418fe7d0cd9e3d5b54386763c41b62d36e6868c0b56bd73074e850a4a5a591fbd2d2d25c56b48ab574c584c9ccccc4debd7bf1db6fbfa1b0b0100b162c000054575793c67dd8b0615db2acf9b4bdb9b57903a6b9b919595959e0388e78ea366dda848b172f92e1d70b172e0000060f1eec335eb1e94f9b360d2b56ac406d6d2d366dda84b2b23264656561e6cc99183a74a8c37c4a8bc5823b77ee105d188d46709c7dce0a00b4b5b511fd0c1a34082693091c675f5d0680cc7d11a6ef1c3f7f7f545414899f65597cf4d1473871e2043a3a3a101919e952ae1a8dc621ae909010129f4c26238d495b5b1b00a0bcbc1c151515249edf7fff1d807ddec489132770e6cc19188d4624242420373797f4f2dde951ad0ac27f4d9d8caffea791a49f99f134e45e5623fbab7c7ce9db6c367bd4ddddbb77c9fb643299c0300ca2a2a248debce9ca399f7cd8279e780266b3191cc7212323032ccb92466fd8b06130180c6018067171710e690040585818c947606020494fd8609bcd669ff90a0d0d8556abc59123473068d0208c1f3f9e2c5e11c6c3304cb7ca9b4af15215ac745b37640fb75f72779f2fbd878686e2fefdfb2ed7a3a3a31110108083070f12efdc881123909d9d8d888808b4b7b73bd43b67298c4f3867b8bbc3adc270cdcdcd904aa5e4ba46a3215b50391b35fcf9d34f3f8d7dfbf661fbf6edd06ab5d8bf7f3fa2a2a2307cf870fcf4d34f10f2f1c71fe3d0a14378ebadb790919181a2a222747474f8a51cc78d1b87d3a74f2320200063c68c01c77198346912f47a3d121313111c1c8cf3e7cf432a9562f1e2c53877ee1c00b8d439777a77be2e261cef7ca9a8a8c0a4499370fcf8f16ee9c15dfc42b66ddb06c06eb4f14e9da3478f223c3c1ca3478f467373338e1e3d4ac2e7e5e591216a6ff176951ecfa1eb6bef188f27630e106fbc75179bcd8643870e212727076d6d6d78fffdf70138ea62f9f2e5d8b3670f222222ba14b7bbc6839763c68c814aa5c2b7df7e8b050b16203a3a1a1ce76ad4959494e0f6eddb50a954183d7ab4cf78c5caa0a020bcf4d24b282828407d7d3daaabab515353839a9a1aecdfbf1fd1d1d1a402701c479ebdb5b595c4d3d2d202000e7ab97af52a4c2613e472395919c5cf9f1053a9f99e1960dfe7b0baba1a0b172e445151112e5cb88055ab56911e2ce0da287a7a5e7e7877d9b265d06ab5b05aadb873e70e22232371f2e4496cddba150cc3203d3d1d2fbef822264e9c08b3d9ec606c3a4b9bcd86291352f0bf3fb7e0eebdbf101939186347251123b237cb272828c8abbe8f1f3fee5177bc2eae5ebd4ad2e327f502f0aa2be77cf21d936bd7ae91eb3b77ee8452a92453055a5b5b4978fe7344440409efa983e8dc08fbcad7c58b1771ecd83148a552b4b7b7a3b2b2122b57ae7489a7bbe54d65d7a4a7bae1293c8fa7ef636363dd4edf888d8d457b7b3b6edebc49eac52fbffc02ad568b214386908e809874c40c57facaa730dcb163c71cf66b4d4a4a223b2978ba2f3131111b376ec4be7dfbd0d8d88851a34661cb962d90c9642ee9cf9b370f972e5dc2ba75ebc0300cb45a2d72737345e5cf97e47f6f468c18018542018ee33071e244e8f57aa4a4a480e338cc9933074d4d4dc8cbcbc39429533070e0405cbf7e9dd4496f7af3a4474fe1f8f9b7070f1ec4e5cb979196968693274f42229174490fbe183972243a3a3ab067cf1e72adb3b3d3612ea4d03e686868c0ac59b31c1657f9833effa70831f1fa0ac31b73f1f1f178eaa9a7c88f617575b5c77b626363c9428a9ee60fb0f7da6b6a6a505757871f7ef801003079f264cc9831030b172ec4fdfbf7b162c50a5456568a36ea843f22eea452a9c4fcf9f351555585cd9b37a3a4a404313131e038bb51b761c306949696921fda8282029ffb2375c503c4719c8347e5b9e79e436b6b2b3efbec3332af50a954a2bdbd1de5e5e5983f7f3e62626250575707b3d90c954a85baba3a68341ae8743a322c70efde3dac5bb70e63c68cc1e1c38711101080cccc4cb7e97b2b2be1b9c964c2a54b9750555505c0d1a327e67ec03ec4bb77ef5e7cfef9e7904aa5b878f122eaebeb9197978751a346213f3f1fb9b9b9080f0f87c56241474787c89e2c8b17b2a7e340f561ccc97e062ccbf659f978d377434303d1dde5cb9789eecc6633a64c9982909010e8f57a48a552dcbf7f1fdf7df79d285d1516163ae473fcf8f1888c8c445d5d1d188681d168447d7d3d323232505858e8f0cea8d56ae8f57af2ceb8ab2fcef0efe0eeddbbf1c20b2f203030d06dbef2f3f3b175eb56701c87f2f2726cdebc19353535484b4bc3f8f1e31de2494c4cec417953295eda48dd98fd7c86cfad7e7cd50ba55289989818dcb871c3e1fab66ddb60b1583075ea54725dad5663f5ead5080909417c7c3c962d5b86949414c86432bcfcf2cb183b762cc2c3c31de2898b8b8342a1f0990f31f5373939198d8d8d2eef333f54d8d8d808b3d90c9665919a9aea700ed8574e666767836118d86c3698cd6600f605478d8d8dc42b1f1414443a270cc3806559d23ef6b4fc121313d1d8d8089bcd463ce859595998356b16ac562bac562ba2a3a3f1e9a79f92679348240ecfc8e773d4a8510ee745454578edb5d7603018307cf870f2fc1cc7790cd7dcdc8c969616141616222929097bf7ee455c5c1c1886e9921edcfd3e38b745c5c5c5a483cce3c9e175f5ea55141717930d86fd85c73974fc437a3aba8b98787d85914824888f8f27069a983cf1fb7bf5346de161b55a91959585d2d252949696222b2b0b168b05d5d5d5080d0d05c330282a2ac2ad5bb744a7edabd2e8743aa4a7a7e3f6eddb78e38d37b073e74ee8f57a1c3f7e1c1515156415686a6a2a743a9da84a0888331684d262b1e0c18307888989c1860d1b1019190986b16f26a9502870ead429747676a2a2a2023366cc405353134e9f3e4de62d84848490e71e3b762c222323f1c5175f202c2c0cefbefb2e060f1eec365d1e4fe7b366cdc2b3cf3e0bbd5e8ff5ebd763dcb871080c0cc4afbffe2aea7ee179484808cacaca3068d0207cf0c107387ffe3cf2f3f3b162c50a4c9b360d2b57ae845aad86d16814b58f965046473e89fcdc39080d19d0a7e5e34ddfb367cf26ba2b2e2e26ba6b696981542ac58e1d3b101b1b0bbd5e0fb3d94ca65b48a5520c1830c0adae962f5fee923f994c865dbb76212d2d0d67cf9e4553531366ce9c89929212300ce3f0ce7cf5d557e49d71de8a44a81f61b9f1ef607d7d3d388ef3982f7edfc8bcbc3c8c1c39126bd7ae05006cdfbe1d1d1d1d0ef1242727f7a8bca9142ff9ba31302cd4677831ede6881123a052a91cae4f9e3cd9c198e3dfcb8c8c0ca4a4a440ad562333331303070ec4800103a0d56a5d8c398d4683e4e464bf3d37605f3064341a1d246fb4198d46d2f9733ee738fb4241a3d108a3d10893c944ea03c77130180ce433c33030994c30994c30180c7e33e618862179e08d393e5f06830156ab953c271f865f94c21b66c27c3a9fb32c4ba661f0e9f08b0f3d854b4848804c26c3871f7e8855ab56e1afbffec2dab56bbbac0731b6c1dcb973493b141f1fef700e0073e7ce457c7cbcc3b9af38f9432cee42ca0efdf7a7e66732b3bddee89c59b11c3e7cd8edf5b2b232ac59b30657ae5c2193b13dc13fa07363eeedafaedc8dd13b23266db1c864322c5ab408f7eedd437a7a3a5e7ffd75bfa46d329960341a71e4c811d4d5d5394c7867187baf233b3b1b3a9d0e4141412e2ef79ea42d06b95c4ee63475767682e3ecde437e6f1fabd50a93c9049bcd863ffffc130b162cc0a44993b06bd72e327fcd643239cc8512121c1c4c3c440c63ef555bad568755524aa5926c426a369b111818481a15954a058bc50283c100c03e9f8e6559b2554170703024120959312c954aa150288887cb62b190c6b2a748a552b793979df157f988d1b727ddddb871033ffef823860d1b8671e3c6c16ab562c78e1da8adad45656525121313bba42b894402854241eaacc562211b20330ce3f19d01ec65262c73854201b95c8ecece4eb02cebf20ef2f139e78bbf8f6fd4a5522982838361b3d9d0d1d1e1124f5f6d8b44e99dbad1d2d282ebd7aff7346b00ec233e5df99bc7aaaa2a2c59b2c42f6953ba865c2e270e1d9bcd068bc5d2e5ba2ce63d934824387dfa348e1c3982ad5bb7e2ca952b0edb99bcf3ce3b484848c0ba75eba0d3e9307dfa74d1f93873aa0e392fe6e700300078f0f0e8147c360030767b0edd89139ef70cf206ef061652565686afbffe1a6bd6ac11158727c34c4c03d057582c167cf2c9273870e000162d5ae4d14071c6570f8861ec1ecab973e7e2f9e79f476b6b2b6edebc69efd9464723292989cc09e94acfd05f3d34616f8bbfcef79edca5cbc3f7487dc52f1ce60280bffffedb259c737ac2fc3887773e771e46b35aadc430f5b72782ef5df655f988d1f783070f5cca936118c8e572949595c162b160c99225080808c0c99327a1d16810f770df269665450f43b22c4b3a23eef2e99c0fa174def78bf76408cb5be8217057aeeeee6359d6e17d70170f957d23c57a40c5b69b1cc761f8f0e164f8f5eeddbb5d5e08a0d168101a1a8a3891c3acddcd2795fe95cebf47dd9162b0d96c983e7d3a323333dd1a8d369b0d818181d8bd7b37598dec6fba3d87ce5f5e8af7de7b0f67cf9e7598e3e32beddec49f699bcd66e4e5e589fe370de7e77727653219f1ba69341a3234c97fefee25f1156f57d2ef0dd9dfe93feed2dffae94e7c6ab51a6fbffd36f6ecd98303070e80611824262662f5ead53dde619e4a2afb4a2a954a242727c31f7425dd828282c7e2f9a9ecb9f406cbb2c4b1347af4688755b5fc90ae3ba796bfe8d77f8a101a73ffa9f4a6d790e37a77356f6f1316168653a74ef57736fe35f444df1c67ffafc6caca4a3fe78a42a150fef3e86de3cd1dfdf64f116565652ec69cd012ee8fe37148bb3fa43bfd53f9f8489efece0795545249e5bf59f6d721168f1e3ab1e3c6dda5b4b4944c38e6e1372fededb4bdd1df69735cdfcf3100d02fe95249cb874a2a7b22fbb3dda4f2df23f9f7ec71c7e32ad73ecf098542a15028140ac5859c17f3e70030e2d1aa56e10a570300933b832e004020000500a540f29f150fbff7bd1f068542a15028140aa5275800986037e88c7864c41905d2e469c895036003c002b03e8c4c8a471e3deee1750a8542a15028144aef6185dda0330130c36e935961b7d16cb0db646ee7d0717864d0596137e42c7034e6580ff75228140a8542a150fc07ef5833c36ed4f1069d158f0c3ace9351c67be758b837e678438f42a15028140a85d27bf0b6187ff05e3ade4eb301e23c74ee8c390bbc6c7942a15028140a8542f10bbc3dc61fddf2d0098d39e19c3a09a84147a15028140a85d2dbd8e068830965973c74fc67291c8db9c77f53160a8542a1502894ffdff07698d0b0134aaf1e3a4e180876e38df7d8090f0a8542a15028144aefc1391d36b8da691e8d3246a4a45028140a8542a1f42e9c2ff97f48258f4da61b3f880000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Here I used jQuery to make the call to our REST API, since it was already loaded on the page. The returned array is obviously empty, since we have not put anything into the database yet. Let\u8217's go and create a POST route that enables adding new items in server.js:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 //Insert a new book\line
+app.post( '/api/books', function( request, response ) \{\line
+ var book = new BookModel(\{\line
+ title: request.body.title,\line
+ author: request.body.author,\line
+ releaseDate: request.body.releaseDate\line
+ \});\line
+ book.save( function( err ) \{\line
+ if( !err ) \{\line
+ return console.log( 'created' );\line
+ \} else \{\line
+ return console.log( err );\line
+ \}\line
+ \});\line
+ return response.send( book );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We start by creating a new BookModel, passing an object with title, author, and releaseDate attributes. The data are collected from request.body. This means that anyone calling this operation in the API needs to supply a JSON object containing the title, author, and releaseDate attributes. Actually, the caller can omit any or all attributes since we have not made any of them mandatory.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We then call the save function on the BookModel passing in a callback in the same way as with the previous get route. Finally, we return the saved BookModel. The reason we return the BookModel and not just \u8220"success\u8221" or similar string is that when the BookModel is saved it will get an _id attribute from MongoDB, which the client needs when updating or deleting a specific book. Let\u8217's try it out again. Restart node and go back to the console and type:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 jQuery.post( '/api/books', \{\line
+ 'title': 'JavaScript the good parts',\line
+ 'author': 'Douglas Crockford',\line
+ 'releaseDate': new Date( 2008, 4, 1 ).getTime()\line
+\}, function(data, textStatus, jqXHR) \{\line
+ console.log( 'Post response:' );\line
+ console.dir( data );\line
+ console.log( textStatus );\line
+ console.dir( jqXHR );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 ..and then\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 jQuery.get( '/api/books/', function( data, textStatus, jqXHR ) \{\line
+ console.log( 'Get response:' );\line
+ console.dir( data );\line
+ console.log( textStatus );\line
+ console.dir( jqXHR );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You should now get a one-element array back from our server. You may wonder about this line:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 'releaseDate': new Date(2008, 4, 1).getTime()\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 MongoDB expects dates in UNIX time format (milliseconds from the start of Jan 1st 1970 UTC), so we have to convert dates before posting. The object we get back however, contains a JavaScript Date object. Also note the _id attribute of the returned object.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d494844520000032e0000026508060000003c5ba6b00000000473424954080808087c0864880000001974455874536f66747761726500676e6f6d652d73637265656e73686f74ef03bf3e0000200049444154789cec9d75bc5555f6c0bfe79cdbafe87880b4a44a832d023aa863c71858638c31768edd638e8531ea8c63ffec046c115041414a916ea4e1e58d53bf3ff67d7df3bd0708acefe773debbf7ecb3d75e7bed7dee396b2708822008822008822008822008822008822008822008822008822008822008822008822008c28e454b733edd7f41100441100441108486e2a6fbef491049ebdaada3e3ba2eaeebe23a2e8eebb047fb0edb54534110044110044110767d96ad5881a681a669e89a8ea66b2c5db23217e5a4b88053ebbf0b90c871a1c269711c870eedda0350d8b64dc6fd2ce92fd3d25e9471978e96f44b03e4d40d68b89cda4119484c7249f298d945c8bcdb4c4b1aa1de5d6f5ad6d64822a7f6d77a4ad2127e4c7a26135919dd078d22278dccf4b75bc672b5860baa26a761c2928ba887c5d246c9a234b34a3ec57dd0809ba231e424bc0f1ab3afddadfc53f354bd6555ff584f4975e424096c909c2ce5baf5c94d8218f592535788db7021714924ac03f59793302473191945497d41e67252cb7593076521d1ad7da29e726a9fa89fa0d4459499cca457651990bd9cc417a5bc3c4333a59596b59c24671b24a7f60519de0719b26cc50ad09c8a275700e5a838805debbf43b21e97ea4e4bd3a64d0008472259aa22088220088220088250930aff0260d9f2e568e8004194a36255fbafc5ffbb8096b8c7c571e9d0ae3d4d9a14e03656f38a2008822008822008429c264d0ae84447962d5f0eaac7c5020cc0a4aa9fbf72f858c21e17c775b687ae8220088220088220ece638aaa3248872586a3b2d4efc7be21e973dda77a0a020bf5ebd2daeab26f3bb8e1a6399ad0cd775d134ad329efaefc6f555ff35ad62bcbd56797d46725c17344d4d0642c73074352948d793ca110441100441100461db5050904f974e9d58b37a5d10d5db52db69315043c7124eced7807a391c8eebe0da0ea66962d936b6ed563a0486a1e1310cbc1e4fd219beaeeb2af7c475715d07d3b4716c1bc771705c173dee64e88681d76b80a657285bc3e970dd8a4c3819c8f1a01b0686ae9c985dc7797130232631cbc1080609183b5a9f1dcdf6b0878b655a989683eef7e3d7b7451adb921d516712a5b9b3db5110044110847a10a0a6d3625373ae4be21e976c715d17c776312d936824ca31dd0a19d2ae199d9ae4d13a37c8bad230cbb696306df566de5fb48640c08fc7e3a92383780f89655a4463313a75ea44bb7685346fde82a64d9bb065cb56366ddac8ead56b58b66c197e9f0f8fd7a37a56a8ea814153f22ccb221a8d51585848b76e5d69d2b42979b9b9949696b2756b118b172f66d5aa55f87d3ef079310cf5a6b6f33b2f0e66d447dbbd87d07b8f3c364cfe8c9fcbbcbbb1f3b23dece162991a396df6a4eb1e4d289d3b8d85516fe2976ed7c1b65d300c8cda552d555803f58b1615b135eaa2f9736959e08dff32543fdf8c9e8387d077bbd59944e5e2c1e36468c786b2cd6cbd2d49568e82200882b0d31388ffaf705aacf8a11377681adce352b102592c66d2d2a773ff110329ccf5e33a3638166e5911ad0d9dd62d7318d63a9f13f76ccbf5dffec286680cafcf5729a3e27fcc34f17abd8c1e318266cd9a60db0eb6ed505a5a82dfefa743870e74ead4915ebd7af1cdc4894463263eafb7ceb030d334310c9d112346d0ba752b1c47c98944c2f87c7edab66d43fbf6856cdcb8894993261389c608f87c189e7abca9b90ee54525949ad56ca6691886077fc04f28e041df9e6f17ae45696c0f8ef9db690cf014f3f94f9f30b5d8c0bf5d95c80497c8d6228acd14977842b468eaa341efaddbc31eae4949a40b17def47795c6ad53985b66e0f3d64ac38eb2b5cc4bf3b6cdf0946da6dcd1ab5e9a5385354c3962c5169d2f1acb4dc382947fff30173db38c50be8159fdfccccf58d1f7307a6eaf3a93a85c8a5cc2b10cecd850ea6b6bd7215c5c4249cc052340b3a601f468091b4becc4d77b82346feaa7e257c58e85292a8a62693e9a360f51a77aa40c4f568e1e715e044110845d013f359d1613e5b454382ec97b5c32755c1cd7c1342ddaf90d1e3ba43741d7c4dc5a92f4fad6be004f0fefc3255fcd65bd6de1f1a81e13c771b16c1bbfcfcf61878dc2f068949696aa79324e852e31345d4343232737c89f0e3f9c4f3ffd0ccb36f178bce87abcc7c6b2310c83c30e1b85cfefa5ac4cc9c1adc857959cbcfc5c0e3bec30264cf8949865e2d3340c238bd764d7215c9ecb2137decd98de79952f2898a5ac5dbe80e9df7ece07df2c269617c2bfbdde2e122de1ef36defafb8d834ba408faddf25f2edf33c5658b5ee0fc3ba6e31634c079d91ef6c8240dc7a4c8eec7adffbb809eace3ffaeb99571654142469ab006eb6611f6756354ff2050c64f5f2cc10a78c0a975fecbc5e4f64da17f639378ab89bae71a5b8ffadadab5292dcde180abfec985fd82b0fe63aebef63db60ef9076f5fd235719c65af70d16ddf61853422a526a1bd4ee0deab0fa74b780ab75cfa12bfe704f16ae0da26e529c255fa49cad1adb3638320088220ec8c78510e8b0735afa586d3024936a0cc06d701cb8c71ebb06e78ca36138d865347282bc61b08717bff769c3f65099ef8f02c1c073316e3e0830ec0752dc2e556e546981547c51c144dd3b02c13afd7c77efb0de1cb2fbfc1a3ab392f8ee3108b46197ee821e83a84cbc369e45878bd5e0e386058a59cac1c175c1cc7437e8b2aa7c57141f7e6d2a6db008eec36803f0dff84dbeffd8835be003e0dc021561ea12c6c62b9a0e906fe5090dc80818643a4a8841213347f0ecdf3546baa555ec2967227decaebc748292315f1781113cb89c70b06c9091aca31706dc2a561c2a6831d771835c343201820a786ec34e9bb0e91f230e1988d6557c8f151d0a4ea454cd3c0b52aea67626ccb05cd25565e4e3899ce99e42b99fc5884d2b218315b2dfca07bbce4e6071b6168924ba4a898485c8fbca081868babe955ce2d0e655b8a283302342bd0928735f56364502e8e19a1a8388a6df829280854dad93163f87a0ea79f1f2899c1174b4c82216fddf38bc21c9b302f99d8d6c58c44282b37311d35ecd31bc8a12047c72a2ba33862a3d4d630bc5e4239810c87a125b263e67a252cdf5c23a5adb584767489946af43afb3ae5b454a2a1c58ad8585656d9bf0d3e7273bc2afdd2324cc7c10ef566f4592773f2b036d4ceb66b99c4727a240dafd43249390a822008c2ee42837a5c5c172ccb64749b1c5ab9e5985bb702b0be3cc6c6b049efe63995d72ed8524eaed7a030d78f1d2ea14d6e1346b7cde58b4d310cc383695bb46b57482010a0bc3c0cf115c91cc7a96c71d5342a5701d3340dd3b408064314b62b64c3baf5f80c1fb669d3a64d1b727372e272e0ebaf27625956c23c8c1a3502d3342be5ac5fbf1e4fc27d395318a11a6bdebc89abde5d83136c49df11a772f919fd29e87c24579e38932b5eff1d4f8e46a4d4c79e479dc5197f1a40c73c8dd8a6854c7aef555e9ebc016c1f836efa0f97f6d428ffee41fef6cc327c1e8bbc23eee5b9135bc38a37b8f4e66f28d272e89944863f9450515cd7215ceaa5dbe8f3387df440ba1418989b1733e5a3ffe3a5af56e2c9f1108d36e3d0bf8d6154aff6b46e12c0c0a5ecf7794cfae84dde98b2015fae071d87708a3cf8737462d13c069df2570e1fd08dcead723080c8aa2fb9e7b63759e3572f83be3c9759f79dcf8926409001373cc13ffa19b8731fe3acbb67520ee0f1133442ec79d85f12eb9ceb8beb932a5f09279a604762787a1dc3f5a70f679f360170a36c5d3e95e71e788d79b61f5f56fe6bf57a90cfa85b9e619457c32e5ece0f1fbcc2f35faec157fd7d97d69cf2d0739c02b0e2752eb9f96bdc50b2b08994785b332245b978fd36ce1ec7f3cf6b0fa3f58a0fb9eb9fe359eff7e1d15c6291207b8dea830fd83af55b96383e7270ea9c5f1ca9a1606675266eff48a946e121a733e6a8a1f46ae907732bf3273ccd7d6faea1cbe9ffe0e2833ad222640011d6fff603effce72d7ed89ab09b2abd1d733c68e9ca3cd707d164e5fb0ad32b577caf65eb9bbe22d2e3a43a76241226b8ff655c3dbc59d522870078707f7d9a8bcfb3e3bd1e1acd0fb98ac72fec83cf9ccf7f9e9b4199de82a3afbe8c530beb6416d7b5290f3761f4adc9c22b7a539295e31fad275510044110b61d495fcd2a560f4e75009896cdc12d835865c53896896399ac8bd83c387d2573d717e15826bf6d2ce6fe9f56b02e6a575e6395157348cb20a665e3ba605b0e6d0bdb120e87314d13d3b4d4ea6496856559d8b655f9b97a78381ca6b0b02d96ade458b64d61611b2291309665629a6a02c5a851873272e4f0ca63d4a843f1783cf1344c229130eddb1562c7f5c9eaa8653b23984bd340398b263cc7235fab6173cdf63f848ec48894b9743ee31fdc74d2403ae6d9941647f135efce88f36ee4b2c17e627a1973272d0520d46b00859a49d4caa7cfc0d600acf97e369b5d0f5d53c8288d26183ae2bac44aa1cb989bb9e52f43e85260800bde665d39e4ac7f70e7b16d08975bc49c02f61adc8dc226010c2746d4d6c869db9b3f5d701bb78e6e4a79b94d2c4d1e4a233611bb05fb8edc876ead723030895a10d08b28b6b4f8ca71e0ba1abebc7c9a37cb23af76c3b13744b36679e41b5ebaa5d2b9cc229a365f4e5d7bd826a5fe215c76d568f66913c02e5acfef1b63e434f3511e7632be0792d603af4dd40623bf23fb8fb992f37ae994c66a6a61966c65f396adacdd508ea36b357aca6a86b919940bb41c38984e7e08761fc2de4d1d6236b8b64524d487c3fa7880ad7cffcd4af0eb90e07c9da94699d499328b589943bb13ffc1bde71ca49c16d7c2f636a1c02cc7742cac500b9a7b639414956112a055cf43b8e8fa63681b33a9b36354467674d2eb551a495bbe096d8d51c78e51334ab8e908ae3aaf2ffee85cfef7e23caacf68d13c219a36cda3599320be9c3e9c767a1f7cb82c7afdbf7c55e423d7bb99496f7ec2872f3dca750ffd48f53e69d7d5f1a70c8f1fc9ca31db3a2a871c72c821871c7fc0235352742da497a2a1e1d8361d021a4e5939aea35e08fab66ac2b57f3e98073ffa86133a35e1bd65455c7ec481eca515e3946c01c0716cdae704716c5b4dac776c72737288c5a2f10776cdf46befcb022a9e6d5be48442b88ea35e881d9b9c9c1c62b1580d19e170b8869c0a6cdb8affb709c5e56492f7d4b8a0e904021196fdb4027b781f8cdcb6b409382cf20e63cca8e6c01adeb8fe0ede596ed36ae40d3c715e37061c3990265327b275f61416d385ae4df766489bffe3ff8a7bb07f2780f54cfe71236e938352ca28983a91cdb5c79b3826d182031933b21910e6c7a76fe3916f8b683dfa1a1e3eb33bed8f3a9e7dc63dce8f951d53c57c7efbb53cbbc847dfd36fe1f6235bd1e5d863e9f5f933fc123a248bf48bf9fcd66b797681891108921ff261d4b16f227bbbe0c432d0f9316604876791afb874d7412f684f2b0d6009ffb9f53e3e5b6f8111243f2f8057736be8122b29a5a4da9bbde60dd234affaa4e8ead7c7f3bcb80947dc753fe77609d1ff800ee8bf2cc6a974d0d6f1ee1d37f3f61a1bddf0935fa357a85658ae8116495d2ebd3f7f86f913dee0a31607d262f5574cdc6ce00fb838518bdc4187d0c700364de5eb950efe1038b15ae757d8e8f5aa338f31c37f20671fd5068831f77f77f3cf092b89e87ef2733c84f20d963f7725273feb25b7208f9c6683b8f2ee53e8dabc0fbd9bbccdd2a204e59ed68e8b88363938ad5e3f272bdf9cea2b71d5b4755e8eceda1a76d4c12e60e4df4ea29b5ec694279fe36beb7ccea8a1afd2d98e9a3439e8780eca05b67ecd8b5f6f22140ca26b5eccb91ff2966943b7fdeae457f7a50e574591b81c1bfe5b25088220083b0f0d9b9c1f9f0c1f72cd4a8703c0d9ba811e7926270ed98b1727cfe48cfdf6a68fb319ab7873555c4d23e09854cc3b715c17342a8774699ac677df4d4d9af47efb0dad8ceb0f1838aeea6570e28e49454f4b8593523d3fd53fdbb65df9ddef8fcbc9c6f54b786db5211ed55ad25d5c3c857bb1070085fce5fe67f94bf5684ddbd1447729d93a8b2f168da16bb7960c1bd88acfd6edcf9e1ab0661253d6db787aa597b1999ab8b6855ed8970e00e1b98c9bb699409e97b593bf62d199dde9e1dd83bead0da6adae1e4bc31f8a31ffd32f587ee469740c74a457738ddf9a669bbe863f2f871ca3c23675ed55d7842e8e65a1774aaff3acdc6cf3056806ac9dce8f9b467178f32e9cffd8638c9afa351fbc379ea91b6c722bc789b998a50eddaf7e9e7ff4ab7ab337a73fccb98f2e26905b31a7a77606347c7a11f3e76f812e4d0935cbc1705c6afa4f3a81dc004103702c6a4e4eaa16e6d65eb12a51b918ccdb3c9bff7b7c3a8ee12514f4a0bb0ed1581efb8eec8e066c98f21dabf112c22156fbbc56776e54a67566564e3f3a6940740eef7db3064f412ecd3455ce663840dfd3aee06fa3bb915743ba8f90afaed9ead68d0476b46d48ab97879fd62429dff516f892d81af046aaec18306c02834ee3b4ee3a91e92ff1dfe9c538fb548bea5898ae0fdd7588d8adf9d3e84e00acf8e43316e3232f5edf35af8f801621523dd97877894bba70b76e79e12524c3c404411084dd8c148e4bfac8baab26b89784a3f86db5d96305bfad58c3bbbf1571dabe7bf3fe4fbfd2a94701bd0aaade16345da7341c5193e47525275c1ec18dbfa4699ace21871c5439afa54a2ff5b00e87c338aeea6509972b39c4af8d44a2689a0b68e87a95e392687f16c771701cd56a1a8d46e3bd3ae9f35ec356b5bfbbe0d8369170903efb7552e3f18a57f27bc4055d8b8fcfdbc4d4093fb2aeda9bac53b29012c383472fe6a7cfe7737eb71e141e7830876eed8e012cff6a1aebd1f0a493a1eb759472abbf962a5365d656eb6a60c5e22fdcbab2673dd2af1c029424d184ee9f9ba5ced9e40b83a067292ffde35e961f7734478fec4ba7a14772f9d081bc7fd31dbcb55e236454ec74929ccaba92e822cdc58ec59d8e8acd522b2fd5d0b56a5da4aaba260fab9370ed72a97e9daac3ae63613619caa8ee1ab09e89937f47f3f9c136eb9ef77aa0967f94719da9a80fae5359c62e1a4e2c82b6d7f95c3eba1b3e7b255fbef105f3a2ed39fa9c51eca151c7514a4a6d3b6a99e96568c9cbf7b54d496c4d4d61562cc0de87ed8d1f60e0453cffda455581ad8ee2e1a79b72cba52fb2d2a3e3b619c641ad019630fefb4d78bd811abf25897e575cb72ab9a4e1c9cad1cdb4ae0b822008c2ae4183868aa1b9e8bac1c292087d0c07c756bd1c8b4a2cfeb5a084bf8f1c425f7f8c1e7fda9707c77fc7e57be6d2335f8d95d1352f8b4ba3e8f155c5745d67cb96ade4e5e5a8613cba4e797939ba5eb5025865ef8ce3541e9aa65352521297a326ee171515c7e5b8e8f1373ac771e29fe3b98bbf115a961d97a3515a5a5c797de6d4bdd68984290b7460f0296770c9be6ac6f5da6fbe66b9e3c159b780dfd99bf6e4125cf703ef7cba9c3247c39bdf82266e09118f8107289bf129d3a33d18dc761427b705ecf97cfcdd667c3e0333ad0c1dcd74b11d80102d9bfbb1978761cd1c56b20f5d027d193db8198f4c2aa2cde8117403b056f2cb7aabdacba48ec78068b94d9bfdf6a51380bd8ec59b1cac5826e9a7b753ba30cdd0b1d3ea6c63156792af9af6b096c7b00341729da57cfebf87f9fc8d4e9c74df6d9cdcb60dfb0e6cc15b1f6ec23594b3e1cdd158f0f079f14504e2780334c9512b85a5cf5f3562a594d980d1842e8501a2ab8a897a02e405d3845592ac5c6cc8dd9b134f3d8016abbee6954fe613c5a6d90107d315e0f7294c5eabe10bb938d104e7832e61bb3e75c6c62e8fd787c05e1c39ac250f7fb396523ce4e4f968daae95eadc58f1356f7d32894dfe5e0c3c6d147b542ec155bb5c22e8691745d032aa17ba91432849f9bef971125b075cacd05e9c78aeb2e3cb1f2c26bc6e25eb9a56ad19a6055bd22a0f20c6c6559b88ea1aaee5d2bc5f7f5a012cfb9e59c53ade50267522dd352e8e99b81c054110046177a361ab8a390e3eaf97499bcae8d392f8d2b6100a86b86c644f7ac5d6636ed844d7bc265c73f830fceb97e25ae52ab2e1e3eb8d163e6f081d1d8fc7c3c68d1bc8c90962db369ae6a0eb0e86a1d7715c6cbbca71f1783cac5fbf1eafe1492847eded023ffcf063c23c589689e3b895723c1e6f7643c56abd78149e7c0f6f9c5cf38af2b96ff2f0fb6bf0043cb81b27f3fa778773ed7e79ec7dd6edfcef2c0bd3f5e0d5624cbbef0afeb5c821c7a3e38bcee3c3c9c50c1e910f40f8a7f1fc5462e009e99056868b616f62e10618dcce43bfcbefe18afb6fe4f1b95379f5aba3b8e5d0260cbef8015ebf88ca66efdfc7bfc7aca85eeda53197e1b73dcd7e61077f7c0ccdd66f3f614ed483379a26fd8575a65cabfd78929a35f1f0315733f06d4da7b3075f24dd35065eb7b63d6ee0c9d26378e4aee1e4146f6263b941ab360036ebd794e2e8540ee301f0844234a9a362b5451012642ed1b0278fb58a698b1dfaefe963e0958ff272b989373c899baf7e83954eb2b0d7595ae951262997720fed8f3f8d638735055ab3ea875bf9605d730e1dae06f5adfa661aeb749d1cd7216a35e790dae7a19e75c683273285b7a61dc19543420cbcf03e5e3bdfc4d6bde80b9ee7f2b796514a5b723b9fc9430f1dc8eaf2209daa7c00f43a69dec0a3bfa5b3a38e375dbd88b8b81d8fe1fe64e56b8693d8fa4ddc3fd5b4e387cfddcedfe34b7ae3ba04fa5dcd7fafef8bb1fe33eebbe7033606fdb8e55ebaf46b0bc0c6b90b29d274026ecd453212fdaeb8d5ae491cee104b545e6e820538044110046117a741ab8a59b68bd7e7e5eb6283155135bccbb52d0a7d363dcad7606d5e876b5bd85b37d2b56405ed7d0eae6da1e93ad34b5d26961a783c5ed0c0e3f1b179f3164acbca711c07d3348999316231337e54fb6cc6304d353f66f396ad6cddb225a99c9869d1afdf3e0c19328861c306336cd810860d1bcc9021831834680031d3c2711ccacacbd9b471135e9f27cb95103434cd64ebbaad35e72f448b58f5eb0fbcf3d41d5cf2cfcf596f7831d0f004a2cc7cf60eee7bfb27966c31010f5ecda674dd52d63a1e8cb85cc367b3e8e3092c07600313de9b47cc67809b890c0d9f77139f3df90a93969560136373b189eeb398ffe25ddcf7cecfac2851738aeca2e54c79ed016e796b15864faff13254bea9043d6880bd95f95f3ccfedff5b087e036fbaf449b4aa596a3b26ae831a46208dce7e034fda6b3c09ede1d1cb59b53e8c27bf396ddb3481e255fcf8cee33cf96339018f96fdaa18696f370dafaf84c9639f61dcbccd986804425ec2c50e5e0f18de24610669cbc5f53b6c98319d15264416ffc4eccd0e5aab211cda0160255f4edd88e151f7a79de8bcabd7afcef80dbcfe08d39fba83873f98c98a621b742f861b66cd260d67c16bfcf395692c2db2c92dec4c8f6e6df0478b59f3db2fac8868783db5d3b432b263ba7aa17b0dbc29ca37e84f666b9bf535eca8e10b04c8cb0d92971b2437586b0503dd40735d6ca319dd5a2bcf69e3d22dd8ba96b0ced7ade369c29396579675530e39e490430e39fec047a6241a66ee3d60ffa1319f2fb38dcd0cc383633b34314bb8a37519f9ae5aee3819bac74bb1e6e5fab57944fc3978bd2a1dc7713163316cc7a16bd74e953d2cd5378bacb189a4aee3d82e8b172fc2f078f079fde8ba5629c7715dba74e98ca6a3561cab2647a5e7e0baa0e91ab81a4b962c01347443cbce8200b8c4caa384ad6af1e2fbcd787d1efc5ebd96a15daca849246653d190abe93abe808f80a7da958e4569a9898d86bfce867de965b8b645386261da548b5f2b9ea6e3f57909fa7534d7a6cceac175cf5dc5004fc56a603140c3f07909f90d742dc3f45d9bb29218161abe9caa89cfa96c68954728b3008f8ffc50f5c9e22974cee29adaf6f063521eb6b02a3a8834555e017fea4d2b9367a16e9eed6884d2a80b868ffc9c789e1c9b70d88c6f8aa836920c85bc78b42461419da89dbe5c5ccba4acdcc2313c040d8d16c7dccd2327b482a5af72f1ad1309073db8518b6647d73d5fb91441b675a632ef2e66cc245aad3ee85e1f39411d3766128e569d57f7864120e8c5ab274853cfd08e69f472ed34e59ba41c0cbbca8e39212f46ad5f49d78a525cee80ee2137d7ab368c741d22a551a22e18c100b9de443fade05a314aca6d5ccd2027d787a78eec9ae15a2c757909822008c2ae402c663279cad4138030501e3fcaaa7d0e0391064dce07b50a98d7e7633321ae59ab737e7e3103fd3638f1d5ba5c172a1c06dde0c7b087e78af388fa82f8e3ce917244c0e3f36247a32c58b098c2c2366a7962576d40594185f3515e5ac2efbfafc530747c3e9fda859d2a39b16894850b175158d8866030885a38a07aa6941cdbb459b56a358ee3e0f57ae3c3d4329e365c29cb1b0c90d4d573a9d58aac61f87ce4f8125c5a43450f39799ec46199c8d03d04431e8235ce278997d0e3d5f08582351ca6aa6bd2a56f10aa3639237d7dd2308241f2abeb533d2c99ced95c53cb1ee0259493a0d4ea9457a6d4cdb3ee0b905fa153855ccd201032aaedb45e757dc2b004ab8a252c17c34b4e9e177088465b71c081ad0058f4e5cf6c310c82ae43cc6d93e07c721ba5ad33d574f2f87c78125ca3797d243273a5fcda69666ac7747ae969ca37493954d9b19a8e35c2fde4572c9156a98b8e3f37a826f1278a5319d7475eb5e5d5eacaae1eee104d575e82200882b01bd1b0e590e3c4a251fc7e3fa666f0f0568321de520e0e86e9ea31c9d31d4a1c9dc5969789e120d3cc5c42c1007eafb7f2e9aba17a53744d5372f418ab56ad26373797dcbc1c0281801a86e63a4422114a4bca282b2bc5ef0be0f579d1e2cb3155f4cae89a86cfefc73463ac5cb98a82827c727273f0fbfde06aa0b9c46231ca4acb282a2ac6e7f7e1f37a316dbb1ebd2dbb1009b25eb18a9bb003c9b65c1c1bb7dd7e1cd40a7017f1f98c220cc3836b27392f05fcc72459394a7909822008bb2949878a793c69c7f6d4c1e3f5a0eb1e2c53ed58ef38368ee3a2eb6a6888d7ebc5ebf526edd1a87820bbae1ade15b34c6cd3c28ef7de689a86a11b185e0f3e8f174dd7a910557bc9e44a39ae4dccb4b0e273595c57ad44a6eb3a1e8f81d7e7c5b11d6c47392dd9f7b6ec62b80ee132130b0d6fd0576b789ab0c3c8b65c1c8bd2721b179d408e97ca914bc9ce0b7f4ca4bc04411084dd00cbb2b7cf50b1ea98310b4db3310c0fc16030be874ae64fdaca1e135dc3d574fcba1fd75b6d7c485c961a2e468d7930c9e4388e81df67e0f77a6bee97e03ad80e98b1eaf371b2dfc365d7432790e3affc26f6f8a39065b9681e7272120c334c765ef86322e525088220089534ca50b1daf11c2786997c7ebe20088220088220084256346c034a411091830332000020004944415404411004411084ed40a30e15130441100441100441d81634fa5031411004411004411084c626a9e3326edca7db530f411004411004411076438e38e2f08cae4b31c745100441d815894422783c1e745ddfd1aa3408c771b02c8b40a0ce36a2822008c22e88382e822008bb19a5a5a50483417c3e5ffa8bffc0c46231c2e1b0382e822008bb09e2b8088220ec66949494a21bc64edfe3128dc5282929a5458b163b5a15411004613b208e8b2008c26e46385c4e2814c4e7f5ee68551a84198b110e97ef683504411084ed84382e822008bb19e5e13079b1d84e3fc42a168b511e0eef683504411084ed84382e822008bb19e1f230a66561dbf68e56a541989645b85c1c17411084dd05715c0441107633c2e17262d1289665ed68551a442c1a95a162822008bb11e2b8088220ec6684c311623173a7ef7189c54cc2e1c88e5643100441d84e348ae3b27efd06aeb8f24afc7e7f8df3a3468da4678f1e7c3b6912575c7e796324951191488467fffd6f2ebfecb24693f9fbdab55c73cdb5e4e7e703e0ba2e1e8f87a38ffe33878d1ad568e9fcd159b3660dd75c7b1db7de72333d7bf6ac3c7fceb97fe5a9b14f120c0613c6db16653267ce5cc64f98c075d75ed36059d3a6fdc89b6fbdc5a64d9bc8cfcfe3f0c30ee78823463782963b86071f7a985f7ffd158068345a796f1e73ccd174edd2b5c1769b316306df4e9ac4884347345a19a4a2a2def9fd7e344d03a0c79e7b72eeb9e7d0b265cb8ce53cf6d8e3cc9d3b97c30e3b8ca5cb963172c4a1dbf5f769e5ca955c7fc38d5c7ed9650c1d3a24abb84f8e7d8ac18306110a85183f610297fdfdd27adf53d15814d33213f6b844a3513efdf433e6cc9d8b6ddbb469dd9aa3fe7c14856ddb669d4eb6fc3a6f1ed3a7cf60cc19a76774bd69994463d1a4e1dbfa3e10044110b62f8dd6e3525050c0d34f8dad737ec68c198d9544c6442211962d5dd6e872f3f3f36be471e5ca95dc74f32dec3b6c187979798d9ede1f158fc7c3bf9f7b9efbeebda78eb39a8c6d55268d41717131cf3dff3c37de70035dba7466c3860ddcffc083b469d39a010306ec68f5eac5b5d75c0d2887fbeebbef61ec934f548645a351dab76fd728e9ecb967f74693958ea64d9b56e6c3711c5e7af9155e7bed752ebf3cb317f76834cacc59b378eedfcf62db36e5e5e52c5dba745baa5c8789df7ecbd0a143f8f2cb2fb3765c2aa8b07943eea9583486198be1386e9db0ffbdf432ad5ab6e4aa7863d4ac59b378fef917b8faaaab92364c3416aee382eb26d42b11662c462c1a4b1abebdee0341100461fbb05d878a8d1b379e499327e1bad0b3674fce1c7306b3e7cc61dc27e3f0f9fd6cddba955ebd7a62e8064b972ea53c1ce6baebae252f373769dc09e327e0f3fbd8bab588e6cd9a71c92517f3f2cbafb069f3669e78e249ce3efb2c9e78e249cacacbd0d038f99493d97bafbd1a253f4545c5188681c7e3499abfb2b2b2a4e9bffbde7b7cf7ddf7e8bace80fefd39e59493f9f9e79f6bb40057b4b2fa037e3ef9e41336acdf409fbe7d38ffbcf378e7dd779932e53b745de7c0030fe098a38fae971ed9d2b2654bba74eecc5b6fbfcd19a7d76d194d947ef53259b96a15975ff677dab56bc7d8b14f110c0639f7dc7358b87021efbef73ed75f776d42dbcc9a3dbb860d860d1d5699e67befbfcf82f90bb8eaaa2bf166b9c46b2412c5e3f1d0b2658bcafc5d74d1dff018c64e5d4ec958b06021e3274ce0b0c346d5fbde4b242bd1bde8f17812c66fe8fe21baae3378d0205e7af96566ce9a55c7e689caecb1c79fc0344deeb8f32e4e38e1783efbec73468e38b452e6b62e0fdbb6993c790ab7dd7a0bb7dd7e076bd7ada34debd695bd57b5ebd290218379e5d557f9f9e799346bd614d3b46ad83c1808d4fb772e125543c52cbb668fcbca952bd9b87123679e39065dd7b16c8b3e7dfb603b36e14804afcfcbd75f7fc3ecd9b3d1759d1e3d7a306ad448162e5cc4f7df7f8fd7eba5b4b484fcfc024e3cf104a2d1286fbef91691881ace356ad448ba75eb0690508eedd838ae8b655b4c99f21d3367ce045c3a76ecc411478cae536f62319348b47e43c532a9bb89eedd44f54d100441d83e349ae3525454c479e75f50e3dcd5575d59f9f9d75fe73167ee5ceebaf34e0cc3e0f9175ee0ebafbfa1798be6ac5cb58a071f78009fcfcb857fbb884b2ebe98bffce5149e7ffe057efaf1275ab76e9d34eeb2e5cb79e4e187088542dc75f73dcc993b973163ce60c99225fcfdef973261c2043a75eec469a79ecac2850b99397356bd5f3c2af268db36a669d2b3678fca56c864f933cd58c2f4a74f9fceac59b3b9f79ebbd1759d871e7a98499326919b9b9b34fd152b56f2d0430f12f0fb993d670e3366cce0be7bef41d775eebceb6e860c19c296cd5bb2d2a3be9c79e618aebfe146860e1942f7eedd2bcf27b343f53279fdf53798fbcb2fb46bd78ee52b5654c69d356b36fdfbf74b6a9bfc82821a36f8edb7f9007cfad967ccfb751ed75c7375d64e0b40ab562d19397204d75c7b1d5dbb76a54fefde0c1e3c9856ad5aeef4e5948efade7b4d9b36a9232bd1bde8f7f913c61f51cd61a80fe17098499327d1ad5b57a0a6cd9395d9df2fbd84cbafb892bbeebc833973e6d69097edfd5b1f7efef9675ab66841dbb66d193468205f7df515a79d7a6ad2eba74dfb91e5cb97f3e003f7535a5aca75d7df5023bc21bf73917084483482659a35ceaf5eb59ad6ad5be3d8364eb5f92fbd7bf502e097b97359b06001179c7f1ebaaef3faeb6f307dfa74727272f8fdf7dfb9f4924b0804fcbcf8bf9758b860019b366fa64debd68c1a3592952b57b168d1223a75ecc8fcf9f313ca090683b8aec3a2850b59b46811e7fdf55c745de7e38f3fe1c769d318387060cd7c4423441a618e4ba2ba6b1846c27b176ad63741100461fbb1dd868acd9d3b97152b5670cbadb7016afdfd402040f316cde9dcb933b9b93900844221ba77572d724d9b36a5acac2c75dc4e9d08854200b46edd8ab2b2b21ae9f7ecd98b7fde7f3febd7afa7df3efd38eaa8231b9c47cbb2f8ef8b2f525e5e4eefdebd52e6efc0030e4c98fe2fbfce63fffdf7c3e7f30170f02107f3f3cf33199662f848c73df6202ffec2fcdbbcdf183c7870e550adbbeebc038049df4eca4a8ffa929797c79963c6f0ecbf9fe3be7befa93c9fcc0e03a91a72d5bf7f3fc68d1f4f9fdebde9d0be3d6b7eff9da2a22266cd9ac5e5975fc6b8f11312da66bffdf6ad610380c58b17336bd62caebbeedacaebebc309c71fcf11a347336fde3c7e9d378fdb6ebf9df3fe7aee4e5f4ee9a8efbd97c87149742f2e5cb03061fcfab065cb96cac6918a56faf3fe7a2e4b972dab61f364653678f0e0a4b2b3bd7febc3c46f27b1efbefb02306cd830c68e7d8a934f3a29e9f5f3e6cd63d0a041188641414101fdfaf54b7a6db6bf7386a1631846e57ca14a343514b4cef938cb962d67efbdf7aab46dff01fd59b060217bf5ed4bdb366d080655d9366bd69448244aa78e9d78e5d557d9b2752bddbb7763fffdf743d3b4a472faf4ee0d682c59ba9475ebd6f1fc0b2f00609a163ebfaf8e5e866160180debbd83c47577cdea3509efdd75ebd6d5f91d12044110b60fdb6da898e3381c7ae8704e38fe78004a4bcbd0758d050b1762c487e454507b3840aab89eda2dec6ecdb1d19d3a75e4e1871e64e6ac59cc983e834f3ffb94fbeebdb74179f1783c9c75e6995c77ddf57cf5f5d78c1c3122a98ea1502861fa8ee3d452dbc5b62c344dc3ad9607bbdae4597fb5173ec353d3661b376e242727276b3d1ac2b06143f9fe87ef79e79d772bcf254b3f16ab1a87bee79e7bf2f433cf3077ee5c7af5ee457e410153a74dc3b26d5ab46891d436b56d00909b9bcb39679fcdcb2fbf42ef7befa9578fcb8c1933d8b07123871f761803060c60c0800174e9d285cf3fff8236b52624ef8ce5948afade7bbffdf65b1d5989eec564f1eb43f5392eb5a96ef354f52719dbba3c8a8a8a983973264b962c61c2a79f02505656c6d469d308058349eb52f5dfb3542fe8d9fece797d3ebc1e2f86a7e623a07dfb0e4c9e3c054dd76bd48571e3c6d1a3470f5c541da988a7693a8ee3a01b061eafb7c6794dd768dfa13d975f7e190b172ee4b7df7e63dab41fb9e4928b53c8d1e3ce89c6e0c183183e7c38a07ad8344daba3afd7e3c5db80068b0a12d5dd64f72ed4fd1d12044110b60f0d6faaca90de7d7a3379f2144a4bcb701c87b163c7f2ddf7df6f93b8866160c61ffe1f7cf821133efd94fdf7db8f73cf3d9775ebd663d61a1e511f7c3e1fa79e7a2a6fbdf5b6ea7949a263b2f4fbf6e9c39429df118bc5b02c8b6f277e4bafdebdc8cbcb63e5ca555896c5962d5bf86dfefc84e9f7ecd1939f7e9a4e2c16c3344d1e7ee45fac5dbb2e6b3d1acab9e79cc3371327563a26c9d2af5e26baaed3ad6b373efdf4337af7ea459fdebdf8e0830fe9b7cf3e00496d9388d6ad5b336cd8503ab46fcf071f7c58af3c346dda8c77df7d8fd973e6108d46292a2ae2c7693fd2ae7dbb5da69cea4b43eedbc6885f1fb2a93fe9f46cacf29832e53bfaf6e9c3d8279fe0f1c71ee5f1c71ee5b8638fe5abafbe4e5a97faf6edc30f53a7619a26a5a5657586b735e4772ee00fe0f379f1189e1a47a78e1d69debc3913267c8a6dd9e89aceac59b3993d7b0eed0adbb167f7eecc9e3d273e891e66ce9c49b7ae5d3174e57054c8d1751d4337983c6932d3a64e6340ff011c77ec716cdebc195c52c831d0358deeddba316bd66c6231135dd379fbadb7f965ee2f75f4f5f9bc04fcdbc6894876ef0a8220083b8e469de372ceb97fad71ae677cc225c0de7bedc5a1c38773fb1daabbbd4fefde1c3a7c38b3e7cc492b3bdbb8393939b46cd9926bafbb9e5b6ebe8927c78ee5861bff81ae6b9c71fae9f56a954fc4d0a14318377e3c1f7df431a79c7272421d4b4b4b13a63f68d04096af58cecdb7dc8a6559f4efdf8f43870f47d334ba77efce55575f43ebd6ade8d3a74fc2b4fbf4e9cde0c183b8f9965b711c87e1871c42e7ce9d00b2d2a3a114141470c6e9a7f1d4d3cf00c9cb0aa82c93071fb89f7efdf6e1d779f3282c2ca4a0a009454545f4efaf86c224b34daaba72e69963b8e1c67fb0efbec368d72ebb95823a77eec4b9e79cc3abafbec6dab56bf1f97c0c1d3284934f3a09bfdfbf4b94537d49569e6ad274fde36f4b92d59f6834f9b2b9c9f46cacf2f866e244fe72cac935ce8d1c39828f3efe98603098b02e0d1a3488254b9672fd0d3752505040bbc2c21af11bf23be7f3fbf0fa7c097bbfc69c713a1f7dfc090f3dfc30b66d53d8b62d7f3df71cf2f3f3e8dbb70f6bd7ae65ec534f61db363d7bf660e8d0212c5cb8104da3529e06689ac690218379fd8dffe3f1c71f47d3758e3aea487c3e6f5239bfcd9f0f9a468f1e7b3264c8609e7946fdae74ebda95a14387d4d1d7ebf3e1f337bcc72511c9eedd99b3666d93f404411084f4241ab3e13d60ffa1b171e33eddeeca08822008db9e0f3ef890ce9d3b57aea4b7b3b261c346962e5dca31c71cbda355110441101ac011471ccee429534f00c24079fc28abf6390c44b6eb72c8822008c28e27185443c56acf71dad9f0f9bc950b0208822008bb3ee2b8088220ec660483217c7e7fe51e543b2b3ebf9f6030b4a3d510044110b6133bf7534b100441c89a602888d7e3d9e97b5cbc1e0fc1507047ab210882206c27c471110441d8cd080583f87cbe9dde71f1f97c8482e2b8088220ec2e88e3220882b09b110c86f0ee028e8bd7e793a162822008bb11e2b8088220ec66e4e5e5e2f7f976fa392e7e9f8fbc3cd9c15e1004617761e77e6a0982200859939b9b8bc7a3368adc99f1fbfd3b7daf912008829039491d9733cf3a7b3baa210882200882200882909ca48ecb7befbdb73df510044110044110046137e4c003866574ddce3d4e401004411004411084dd821d36c7a5a8a86847252d08822008822008c24ec60e735c0a0a0a7654d28220088220088220ec64c850314110044110044110fef088e32208822008822008c21f9e3f84e332ec79f86155cd739357c03ecf4097c7e0e4b7a024b66374db96bc3117166c4a1efeefe970e7c4ec64feb6110ef84fea6b1efa0eae98909ddc646c2c87360f65975ee06e88588d937e05235f82098b1a2623915d32b167b61445e1c0ffc2a07fc3959f36aeec44a4aa6799945f7da84fddade0f919f0b78f33bf3edd7dd4d86c8bf492c97cfb57e8fb14747d5cfd1fbf28b378f54d6f4791e819908cef5642e7c7201cff0d59bc05da3e0cebcae08b25ca4e15fcb406da3fa23e4f5e01bebba0dbe3eab972da3b993f572c07063f071bca33cf53058e0bc7ff9fcae33bf3b28f2f08822054d160c765ecd8b18c1d3bb641325e3806fab6aafa1eb1e09837e0d13fc192cb21e8857f7cd94045ff80a47a7988d9f0cfc9707966abc3654ccc8627a7c1d5fb358ebc26011877faf64b6f5bb13df5fc6619b4ce819f2e807f1dbeedd34b55cfd2955f7dd856753719bbaae3b2ae0c2e1d07e3cf80c597c1d76743a7268da3cb1fcd71a9fd0c48c57e1d604467b87fb2fa7ed978b8fb50754fa5638f02587419ccffbb6a40b86f5266697a74f86b7f55afb36565314c5b0d3f9c0727f4ca3ebe20088250458327e7bbaecb8a152b78eaa9a7b8f8e28bb38afbf26c786106ccf81d3e1b03c3daabf3535743d003c33ba9ef63f6860b3e822746abefb9f7c2c6eb20e0510fe08f17c02bc7abb0292be1862fa0dc841c2f3cfb67e8d542856d8d40a747e1aa7de1cba5501481d74f844de5eae137e34275ddc672e83d16965ea164a4e2d53970c737d02a070af3a059109e392ab52edfaf821bbf80b9eb556be143dfc1297de1a24155723f980f03da42813f2b93e2d1a1792879f8ff66c1219da0437ed5b90b3f56ad9d3e439d7ff6cfd0322ec373279c3f10d6974171145e385a3dfc413dc43f5a008b37c3da6b324f0f945d26ad50e5fccaf1552f64e31729db38ae3af7c23155baa40aabc076e19cf7a145081e893b051316c18d5f82a1a9b86f9c087b36cf4ccf74f6cc96d1afc2f2adb0290c87bc08fb7680fb46a8b054f53af75e556f7fdba8eacc3b2757d9ac38aa7a6e7e5cadf27f6a5fb8f9a0f4f52c55f9a5b2752a5da07e75f795d970d7b7eafee9da14727d5561c9ea67bafca5aad7f5215d7ac9eef7b5a570d07f9503d2b529dc3719e66f84178f4d2d7355b1aa0b6d7395fc96a12afdeb9bf774f152d5c14ceea36c49f60c00f8703e5cff8572ae7b3487d218bc7db20abb7f14f47f46dd9b653138b77f76e97a7518d905be5e9a799c93fb408f27e18151ca06991236212fcbdf714110042173bc07ec3fd4cd86279e78c2bde9a69bdc679f7d36ab78150c7dce75bf5f59f5fdd5d9ae3be8df55dfe7ac735def9d55df73ee71ddb0a93ebf3ec7754f7f477dde1a71dd3d9f70dd1545eafba4e5ae7be07faae26d09bbae76bbebfee767f5dd76aae4f47dca75a7af519f1ff9de752ff924bddeebcb5cb7f9fd2a3ddb71dd11ff73dd0b3fca4c17d775dd635e77dd8fe627967df127aefbf077e975c806db513afdbaa1e6f9655bab3edf3fd975af9c50f5ddb8a34ac71767baeec96fd58cbba1cc755b3f985d7afebbaacae089a9ae7bdc1bea7369cc755b3ce0ba73d7abefd77f5e65cf5461aeab6cffe17cd73df14dd7bde9cb9ae9edf782eb7ebe587d2e8bb96e4934333db715d5eb6c7592d5eb8ab0098bd4e7bbbf75dd1bbfa80abbf023555f9df8f7daf94855cf12955f3a5ba7d2c575b3afbb6b4b5db7e93f5d776591eb9ab6eb1ef4df9ae9a5aa9fae9b3c7fe9e2d59744e9a5bbdf3f5fac7ee7262e73dd7d9e56f5309d4ccb71ddc35e76dd2e8fb9eedfc7b9ee974b32d3c575eb6fb3547530dd7dd4106a3f034a63aedbf201d75db049d5eba35f77dd13feaf669cb1d35c97db5d775eb5fafef962f5ace8f82f75b47dc875db3dacc2262d77ddae8fa9cfe5a6b2ed5d13b3d3b3e793aefbf3efd9c5f970beebeeff42767104411076370ed87fa80b1c0f8c060e060603bd814e402b200ff026ec71310c232b4fe7d24b2fe599679e61fdfaf5bcfaeaab9c7e7a238f3d018c0c06b5fdb81a3694c19877abce6d0ed7bc46d7540f4ec5e740dc02170d82e766c0d347aa16c0d74f4c9fdef4356a7843452bfd517baa56e84c7549c5aa6238608fccafcf84b77f552dc0153d50154c5e0167cf00d755bd4db55b510feea4fe0fef04377fd5f0f400febca7fa7f6c4fb8fb5bf579de06d573d5a7a5fa7e426f38f783f46115fc7d9c1aa6f4e2b135cf1fd451b514ffbc56e5615061e67afe91d8af83fadfa5298c5f58757ec222d59a5fd108dcd07c6462eb64ba40f675f7e7df61afd6d03e7e1f1dd3a3e630a674f53319f58d571fd2ddef23bbc0574be1a8d7d490a1509a9e5c50adfa9f9e013fae5173372ef808ceeea77ad3d2b12df29eee3e6a4c2aea60f766eafb713d55ef4f753e5f021d0b54cf6dcf6a757ecfe63037def9ffd31a38f68daab0e545aad77d75099cb137fce3c0ecf46a9babea77bf36995d3fe63d786f9eea9d120441109293a9efd1288e0b80e338d8b68d65357cd675bb7c35bca2827565d02eafeabb5ead9bde746ac6edd512be393bb9ec5c9f1afe539b31fb40cf27e1a4deaa5b7faf0cc75ba7229d2ea908781a7f02fb3f27c35347d63cb768b39a3ff4d3056a28c92bb3d58b7c752ca7eabfeb362cbd4468590cbb48c5df06a92158978e83ff1e5375febe1170e63eeac5f1c437e15f7f522f42d9ea599ba80d5bc2d03ab7ca696808a9ea35a8e12da0d272b228876d412a5dea5377abdf93d53f67523f139149bcc62ebf54f7bb0bcc5ea786c2cddf04bd5b662e7770a13a467486b3de4fefb8d4d76690ba0ea6bb8f1adb9ea978779e7220be3d472d9e717c2f681e4c1faf637c8ecbb2ad30e22535746eff0e99a71bb1aa1abb32e1e5e3e095aef0f854d5b025088220242653df23613f46b68ecb638f3dc69a356b68d5aa15679d755656711331b49d1a27feed72f5fdb539357ff4dbe7ab070fc0f72babce0f6ea71eda13e3f162b66a8dcb843c9f4a63cc7b70c1c0bae1dfaf824bc6d53c37b0508d155f55ac5ede3eaad62298892e4d02c957a9e9dbaaaaf7a631f87431e4fb6b8e2107d52adc3aa76aecfc7bbfd58dfb6e7c259cb77f5573321a925e05efc7d379675ed58b43af966a2ecdec75eafb9bbf64165641bf3670cfa1ea9ad7e6549d9fbf49f5425c32188ee8aeca25533d53f1f962b59a51b9997ddc4424abd7e918dd5dbd18553810f36b4dba4e55cf129189ad53916ddd1d58a85ad84be32b3c7db3ac2a2c93fa99287f99c4ab6ff9254a2fddfdfee0142808c0777f85eb3e87255bd2cbdc50ae7a152a98babaee1cacfae63d599d48550753dd47d0b8f743af96aac16ae166e5f47d30bf2aac28aa56ff7be62835dfeeaf03d4dca26ce8d404ee1f09978f57f233c145f50466ba88400503daaa6784200882909c06f5b878b2705cfef5af7ff1fbefbfd3a143072ebae8a28ce3d5a67aab7bc003efff45b59caf2b554306269e53157efb2170cadbea45b57aeb6c811fde3b05aef94c3ddc2c470d0b3b30c3612b67ed03afcf5193306b337f233cfb138c3da2ea5ccb103c361a0efd1fb4cc510ffd8ad6b84c74b960a09a44fbfc0c386d2ff54250c1713de18c77d5c3b531b86f12dc7040ddf383db293b8e7e55bdccb4ce81352535af99bb1ef67e5abde0574cd40d5b30fa15d52abb393ed1bc5d3ebc7a7ceaf4aacbdce719e53056c8ccf1c24bc7a97c5b0e746d06ff39267d58757c06bc76020c7f1186b65793a1eff9560d19f1c6272adf3322bd5d3261f11635642add020e9992ac5ea7e3fe916a727ec532b0a7ed55b3553e513d4b557e99da3a19d9d6dd962135d97af4abaafe556fe9cfa47e26ca5f26f1ea5b7e89d24b75bf4f5909ff9d09d3ce57f5fdd13fc1496f2927c66f2497e9baaa37f09cf7d5ef4a8782aa853f1a9af764bf3da9ea60aafba821f6aca0fa3320c70bcffd19fefc9a72f87ab65093f0413929c7f684816dd5f76bf7835e63335f4eb982137aab85125e9fa36c908ee96bd4bdd02637bb740c7dc7f7900a8220fcd1c9d4f748d4a3ef3dea88c3621f7d92d906138f3efa2800575c7145a6bad5c072d498e3c9e7d65dea136045111cf6b21aca7368e77a259131777d0bbf9764376ca8dcac1aaf7ec147aae53edb156e9271c4ab70db21aa07aa214c5dadf6c5f8f9c2ece37aee84c8cdd9bd483724bded4943f53cfa75b57cf2c11d1b57af5d81c6aabbdb1229bfc6a5bef64cf70c00d5dbfbc6dcaa55c57604177eace62a9dd43bbb789bc3d0fd09587d5576c3cc0441107627fe7ce4e17c3ceeb3138030501e3fcaaa7d0e0391c4735c3c99ffbad6d76101d5421cb1d4f8e4640fac3d0ad403ad6906e397eb8bedc25e4fa996bdf7ff925ddc3b27aaa595bdba6a151cb34fe3e9f5d86898b9b6e12f7f43db6d5f27627ba7575f1aaae787a7369e2ebb1a8d5577b725527e8d4b7dec99c933e08f80edaadedb6c9d1650f39aae1806a35e56ff652f17411084ba64ea7b24ec7139feb83fc7de79f7c3c6d5481004411004411004a116271c7f34efbef751da1e97840380b299e3220882200882200882505f32f53d1a655531411004411004411084fab05d974316b26375895ac5a9fd23f0e80f7f5c99d5f9f774359f271b7edba8f658a8cd922d6ac185768f40b7c7e1859f3397f9c6dc9a9b130ae949560ea9b01c18fc5c76cb280b8220088220d407715cfec0b4cb531bd59d588f899edb536605315b2dcb7af9b086cb728113de84e37aa95576665d94ddf2a2e2b86c1f3c3afcb5bf2a774110044110846dc976dbc76567a238aaf6bbf871b55a25e6d4be55fb5d8c5f04377ea1d6dbefd4045e38a66a03b7dc7be1aa7d55cbf5e22df0cec9552be04c5804377e0986a6e2be7122ecd93cbdcc544c59a9f62a2837d57e06cffe596dfcd61052e9f2ea1cb8e31bb55f4e619e5a05a7fa7e111fcc579ba815f8b34bd3a343f35af99db45c2d0ffab741ea7b8e178eec5e159e2cefdfaf52facf5dafcae0a1efe094be70d1a0f47a6c8da8e556afda57ad00571481d74f547253d93a55d97aee84f307aa8d1a8ba3f0c2d16a05bc74b6ae6f5d4a5727a6ae569b6e3ef6a7ccca21134eee033d9e840746299daaf3e24c38ef43b06ecd5eae200882200842751a36c7258be5907726aefb1c821ed5caffcbc56a0332803213ce7c0f5e3d01665f04bd5bc22d5fd58cbbff1ef0e6496ad9ce7f4faf3a7fd7b7f0e028f8e902b56c73615ee63213511485733f509b284ebf00ee1d01177ed4b07ca7d26543b9da3dfacbb3e0db739453519b6f96a98de5b2a55b33f8a0d6f2d20b36a997f144cbd9a5cafbbeed558fd2017bc07d23d4e74c9c960a8aa36a03bf8967c38c0ba17393f4b64e56b6151cd95d391e67ec0dd77eaece6d8bba11044a47000020004944415494499d98b701c64e4b9cf744e59009cd82d0220473d6d50debd5122e1992bd4c411004411084da64ea7b24dec76517ed7199b008c69f51f5d25cd1623d6f83ea6de8d3527d3fa1b77a51ac4ec58b7b97a6307e61d5f9833aaa56f29fd7c2f04e30a830739989f871356c288331ef569d4be44c64432a5da6af81beadd44ed80047eda97a03aab3aa58390c8dcd949570da3beaf3f22bb64dde2bd035b59379c5e7800726af489d5eb2b2ade0e04eeafff04e7073dc39d916752913bb9cdd4f1d8d4ddb5c55fefddad43c3fb4dd1f7b8f164110044110761e1a34546c57755c1a8237de37a5a186f15470df0838731ff86a299cf826fceb4f705ccfcc646a89ba1d50add9df9c5d3f3d93c96c08018fda24ae31e8de1c166d569ff7ef0053ce559bd055d090bca722d7a7864cd526557ae9cad672aafebb6e621989a84f5dda56764947c44abcdb77d4862d61689d9bb8f74c100441100421531a34397f579de332ba3b3c3eb5ea65717e7c9277af966aaec2ecf89098377f512fd599307f93eab9b964301cd1bdeaa53c13992d43b0b2b8e6b9c1ed948c89cbd5f7980d9356d4bce6fb5570c9b8c4fa2492994a9781856adec8aa6265978f16d495d9b755dd5e98fa725047e544fc27be9258d4ae0acb24ef4d028db7d255baf492956d05efce53ffdffe15f68ddb735bd4a586d689fae2a286f6f56d5537ecf3c5d0f66135e7461004411004a12164ea7bec563d2ef78f5493f32b5af84fdb4b4dcecff1c24bc7c119efaad6f3aecde03fc76426f39e6fe1a735e035d470ab7b46a8f399c83ca73f1cf33aecfdb4fa7ce5303501febd53e09acfd4dc06cb51439c0eac36546bfe4678f627187b445d7d12c94ca54bcb103c361a0efd1fb4cc81f6f9755bd88feba9e2de3f32339ba44243cd0bf9dbc770ebd75010a85a202193bc5f30102efc189e9fa1caef92c1f5d7255d7ac9cab682b9eb959df3fdf0caf1eadcb6a84b0dad13f565fa1aa57fa255df166f5143de72bc8d979e2008822008bb2799fa1e89467978afbbfaf2d8fd0f3ddab81a097f58ca4d08c55f402ff80886b58773fbd7bce68857e1b643645e43059e3b217273e2e167bb0a177e0c23bbc0490996d83efa75b87a3f38b8e3f6d74b10044110845d8bebafb982071e7eec04200c94c78fb26a9fc34024718f8b67d7ec71111273e744b54cb057879e2d60cc3e75af796c34cc5c2b8ecbee82ed42d7a6899d16800f4fddbefa0882200882b0eb92a9efb15bede32224e69f190c01ebde4c1d826257dfbfc4d0e0bafd77b4168220088220ec0e346c1f1763d7dcc74510044110044110843f1699fa1e491c17e971110441100441100461dbd3a0e590c571d9b6ac2e81435e84f68fc0a33f6c9b349e9fa156eeaacec67268f350fde4fd7bba9a0bd358baa4e28db96a19dec6c27260f0738db78cb2200882200882d078c83e2e7f60dae5a9cd044f4c32f1f9ffd9bbf3b0aaaafdf1e36f4651504845509c4d054171c279404dcb4a4d31cd52b3e16a5deb7a6fb7bcd9b56fbfca34af65b30d665939a086a656580e3940e20008a838a0228a32a90c320febf7c79603270e9cc3e401fdbc9e8747ce5e7b4ddbbd612fd6545b9cece0d7272a1f2faf10de0d8279036abe4c86d474c3c5da129ee9a5d5410821841042d42db28f8b01e9b9da3e2e47e2b55593a67995ec211218030b76699b30b677825513b43d4e001c16c34b03b54d18cfddd0f62169efa485ed888105bbb5c9cc450afc27439766c6d3ac48f025787597b64cb1bd0d7c394edb98d0983591f0f67e68da505b11cac1b624ecdd206d73c973d721e165fd78a939d0fe43ad8ebb2f405a0eac9f5c92e7d6d3d0bba5b69f88a92a2acb9c9f21e432d8dedaafe4cb71da75397859bb5ec793b4ebfcde9f30d50b9eef5b713c534cf184ae9fc2ff466bff57a5ad3e06cf6ebbf327dc0b21841042d445d51b2a76872e873c7f2734b48688e7e1c4dfc1ef568f47663eccdc026bfd20f279e8e60cafefd18f3bb82d6c7c14267968c3a68abdbd1f968d86a3b321e86968d5d8f4340d49cb85a7b7c23a3f089d0d8b47c19cedc6e32566c23f0261f74c38f0145c4ad70f7f75086c7dacfcf8e9b9d0c611f6cd82b039d0c1a9246c6facb6d9a0a98c95e5b5a110f11c1cf99bb667cc9203daf181adb59ea8216d61c928edfbe2464b45f14cd1b421346f04518965c33c9c616e3fd3d312420821841035a75acb21dfa93d2e3b6220707ac9ae9bc53d0ad1c9d0c21e3c9db5cf7eddb4c64369c52fee1def81c0b325c787b5d37a5cc21360447be8dbcaf4340d39120fc999306373c9b1ebd9c6e3855f85ee2ed0ba89f67942d7ca0db7b2b4d076632ffedeaed49d71395d6b4c98ca585982e260561828a5cdbb29eea132a6aaf18ab574d0ead2d355ff787f37d99f4608218410c25c4c6d7b94d37091e590ffcae656df9405dad0af624b46c14c6fd87301266f840f1e8089eea6a5696161f8b887b3d6db5059a57771afec8eee0eb6e5c7b1b3869c829a294bcc75786db7d643e5dc481b52f6e349e3e955355e693905fa0db262b98570231b5c1c4a1ab54208218410e2f6a8d672c877eae4fcb19de1e343250d8fd3b77a013c9c212913226f0d23da7802069b3834eaf435ade766ae0f3cd8597bc136354de746658751f9b86969ecbba87dce2b840371fae71cbc0c737fd53fd6a795d6cb73334ffbbc37d6b4f29bc2ab8536bfc7541595e57a36b8d897cc4dd972aa6c7c27bbb22b809912af220aadd7c7ab45d9b09de7a0e5fbda9c222184104208717bc9e47c0396dea74dcef75aa17d7ebcbb3639dfde06be9f08d3376b4be7766a0adf4c302dcd77f6c3d12b60736bc2f83ba3b4e3a6a4f9542f98b01e7a7cae7dffaf01da04f82d53e1e5dfb5f92e0545da10aea1a5866a9d4e812f8fc2670f961c736e044b47c3d8b5da0b7e7e51495876018c5da31dbb9ead2dc5ecd604d64e32ad8e13ddb57a2cbdcfb4f32b2a8b8f9b36546bec5aad81e2620f5732f4e3cfeea34dc4ff3a4cfb3f9aeb635abc8a845ed1fe0f5c1dca869dbba10d05b4b7313d3d218410420851334c6d7b181a1963b3faeb2ff29e7c664e8d1648d46f0fae85377cebef5c90393fc37d1de151034b508f5f0fff1e04c3dbddfe720921841042dcedbe5bf525b39e7dce0fc806b26e7d6596fa3e1bc8910d2885493e1a0b7169e62e45d5142a6d4966438d16806dd3a4d12284104208612ed59a9c6f7d872e872caaae7353edab3eb2b280f983cd5d0a21841042086188a96d0fe97111420821841042984df536a094e59085104208218410b741b5964316b52b3e435bd9abf572f830a4eea659da57a1f0d6becac5f13f5eb94d30ab93e68f27b5d5e23a7dacfd1b18533365a98d3a94a7a0087c56965d0a5a082184104248c3c52cdc1a6b1b4c4e2e67b2785d49b3585e21bc1b04f306542edeed6ab82466c20bbf42e07438f70ff86316b477aa99b2dcce868bb5253cd34bbbd6420821841042df5d35262c3d57dbc7e548bcb6d2d4342f6d1f17d0fe42bf6097b639657b275835a164b34387c5f0d2406d13c6733720604ac98bf18e1858b05b9b005ea4c07f327469663ccd8a045f825777691b22dadbc097e3b44d2eaba3a2b2ac8d8237f7420b7b68d5189a36842f1e2e89bbf534f46ea9ed31638a8397b5bc8e2769d7ebbd3f61aa173cdfb7e2fa25dc8461df6a0d904ef7c092206dcf9ad58f549ce6e574b0b38696b7f668716e545237636599f333845c06db5bfbf07c394e8b6b2c9ec3624899afe5eb7f1c7e3e036b6eed8b53d13d61cc144fe8fa29fc6fb416bfb4d5c7e0d96d50f07fa6a525841042087127b9ab1a2ef37742436b88785edbc026fad66ef099f930738bd663e1e9acbd54bfbe47ffe57d705b786b04bc73401b36b5f8d646936fef8765a3b53d42b2f2b5175553d334242d179ede0abb666a2fd2417130673bec7faaeaf5aea82cc959302f10c29fd37a6dc6fca0355c4adb1bab6dd068aa81adb5bc1ef187677bc3c35d4cab9fab03ac78089e08d05edc371c873f9f319e664f57e8da5c7be17fa8333ce20e233b188f07f0da5068e7a87dffbf6058720096df6f3c5e45cabb274cd1b421346f0451895abd4af37086b9fd4c4f4b08218410e24e7257355c76c4687fcd2ffe4376712f4674b2d6dbe0e9ac7df6eba6bd5c9756fce2def11e083c5b727c583bedafebe10930a23df46d657a9a861c8987e44c98b1b9e4d8f5ec4a54d2808aca127a05bc5a688d08d05ed04fa5e8c7bf9c0e43da56af0cc58cd5efbe8eb0e7023cbc0e429e854626ec666f6501bf4d87235760d77998bd1d66f52ce94dab48501ccc0a03a52025cbf49e918a94774f98aaa58376cdffda70e9ef567f37001542082184a8aebbaae1521d36b7660359a0ff17f425a360a6b7f6b23d79237cf0004c74372d4d0b0bc3c73d9cb5bff65745796956879d35e414d45c7a15d54f0191895acfc3e96bd0cdd9f4747d5a695fa33ac0933f196fb8c45c87d776c3d1d9daf0b03591da247f535896bacef945fa61d5b92740bbd676069eccdc42b8910d2e0e258d6f2184104288bbc55d35397f6c67f8f85049c3e3f4ad49d71ece9094a9bd30036c3c01834d1c1a75fa9ad67333d7071eecacbd0c9b9aa67323b894ae7fccc74d4b63df45ed735e211c88d33fe7e06598fbabe1f2184ab3a2b2f469a5cde3b89cae5d97ed67caa6e9d5a26c2f8c299ceccaae9065ac7ecb82c1d14e1b22367f279cbf613ccde42cd879bee4f3a1f8921ea48ae25dcf0617fb92f9305b4e99560780d64d203655fbfee025fdb0f2ee095328b4c500bc5a940ddb790e5abeaf0d3f1342082184b8dbdc550d97a5f7692fca5e2ba0db67b0e98476dcde06be9f08d3376bc74fa5c0db234d4bf39dfd5a1cef2f202e4d9b0f616a9a4ff5820317a1c7e7f0c1ad258c1d1bc096a9dac470cf15d0fd73d817ab1fef740a7c79d470790ca55951599c1bc1476361e47730f45b6d7ec55fffda3fd11d7efbcbf2c2a698dd07961f84c1dfc067478cd72ff8127c7b4c9b7bd3aa317cf8003cba49eb69a8284da5b495b85a2f877b3f86cdd1f0c983c6cbe2e3a60dc71abb16a605688d1853ea00f0ff7c61ea8f5acf4ee9f241f9f7842942af40a7a6da7c9fbf3a77431bb2686fc2f03921841042883b8da1112736011bd6e64d9af2f86d2f8c308facfc92b924b3b7c380d6f0742ffd731e5c0b6ff8ca1c8bda36e7676d9ecfa30696b51ebf1efe3d0886b7bbfde51242082184a82d9b37aec36fea137e40369075eb2bb3d4f7d9408ecc7111bcb50f765fd0e6f1b8378719de65cff9682c1c4b90864b6d2a54da32d0861a2d00dba6dddef20821841042d425d27011bc7b9ff1733a37d5be44edb1b280f983cd5d0a2184104288bae9ae9ae322841042082184a89fa4e122841042082184a8f3a4e16206f119e0bb5a5b05ebc390dac9e3eb3078ee67fd632959e0fa5ed5d2fb2a549b0b535903be8690cba69dfbe725e8f01164dfda33e6dc0d6df9dfc44c6d6349af1525e71ebda25d3fd03691b47d5b5b51ace347f0780064e49996674111f8ac34bce4b11042082184a83ba4e162066e8db50d1827973309bbb638d9c1af4f543e5e5ea1b6dcf0bc01958fbb6a82e13d490c19d446db3c726990f6f91f81b068a4e1658affaaad23c4fc034ebf0869b9b0e48069795a5bc233bdb4fa092184104288baebae9a9c9f9e0bfffa0d8ec46b2b384df32ad95d3d3046db5ba448417b27ed85bb78634287c5f0d2406dff93733720608a760ec08e1858b05b9b585da4c07f327469663ccd8a045f82577769cb14dbdbc097e3b40d0d8d5913096fefd7769def740f38d89684bd1ba46d2e79ee3a24bcac1f2f3507da7fa8d571f70548cb81f5934bf2dc7a1a7ab7d4f66031d50f91b02a0cc2aec2ef33b425968b6d3b0dffd9a535a4ba36839b79f0e3142d6ce968e8f505346b04997965976536c6c6525b4ef88f0ba6c799e2095d3f85ff8dd6fe1f4b5b7d0c9edd0605ff57b9720821841042889a7557f5b8ccdf090dad21e27938f177f0bbd5e391990f33b7c05a3f887c1eba39c3eb7bf4e30e6e0b1b1f85491edab0a9626fef8765a3e1e86c087a5adb38d1d4340d49cb85a7b7c23a3f089d0d8b47c19cedc6e325666a3d14bb67c281a7e052ba7ef8ab4360eb63e5c74fcf85368eb06f1684cd810e4e25617b63b5de90ca98d143eb55eae6ac7f3c335f6b086c9b067f3e033772f4c39b35d4cafa8f406d23cad2ed8833d7b40656fb0fb53d4d0cc92ed01a93fd2ab16c73d386dac69b518965c33c9c616e3fd3d3124208218410b5e3ae6ab8ec88d15e428b5f868b7b14a293a1853d78de7ac9f6eba6f57a9456fce2def11eb85caa5130ac9dd6e3b2ec4f38995cd2cb614a9a861c8987e44c98b1599b07b3700f5ccf361e2ffc2a747781d64db4e14f13ba1a8f539aa585d6d828fedeae545fdce57468d9b872e995a7f8ba746eaafd3f4c742f7bcecef3d0ce110ec4e91fefd20c62ffa97dfd754f938b695a83a6c912adf1f8dad0ca95aba583feff6bb1fe6ef0d103954b4b0821841042d4bcbb6aa85875d8dc6ae259a00dfd2ab66414ccf4863d1760f246f8e001c32fe3865858183eeee1acf5565496b5a5e1ef4de1605b7e1c3b6bc829a87c79aa6273b4d680d8ff140cf946ebe16ad6d078bc76b7e6b8c4a6c2a8efe1e065185c895ea29c02fdc65ab1dc42b8910d2e0efabd3f4208218410e2f6baab7a5cc676868f0f95343c4e5fd3fef57086a44c88bc355468e309d35f7a4f5fd37a6ee6fac0839d21e6bae9693a372a3ba4cbc74d4b63df45ed735e61d99e87839761eeaffac7fab4d27a336ede5a4d6b6fac69e53785570b6d7e4f4df070d686b59dbd0e0a6dfe4cb1b45cf8e70e6d88585b4778a6b736d7a732da3bc1d2fb605ea096be2914da3034438b08ec3ca7ad6c96955fb9720821841042889a7557355c96dea73504bc5640b7cf60d309edb8bd0d7c3f11a66fd68e9f4a81b7479a96e63bfbb538de5f405c1a3cdbdbf4349fea05072e428fcfe1835bcb223b36802d53b549fd9e2ba0fbe7b02f563fdee914f8f2a8fe31e746dac4f6b16bb59e9ffca292b0ec026dd8d9047f6dd899ef6a7862b369f503ad07e9b718d3cfffabd23d4bf636b0721c8c5ba72d95dca4d484ff5777c123eed0a7a5f6f99541f0fb39d397532ee6d74d6b8cac8f32edfcd02bd0a929b83a940d3b77431b26686f53b9320821841042889a6568f48b4dc086b57993a63c7edb0b23eaae07d7c21bbeda9c0f53151469f34e829e2e5985edaf7e3c09fec74b56153387393f6b2b913d6a6079eaf1ebe1df836078bbdb5f2e2184104288bbc1e68debf09bfa841f900d64ddfaca2cf57d369023735c84493e1a0bc7124c6fb878add0e68d4cf228bfd15217142a6de968438d1628bb08801042082184300f69b80893746eaa7d99eaf8df4d3b6f72b7dbbf1167695616307fb0f9f2174208218410a6b9abe6b808218410420821ea2769b808218410420821ea3cb3365cfeb65d5b516bad81d59f0a8ac067252467ddfe7209218410420821ea16b3365c568ed396f0fdee58d9306b4b78a617bc1b74fbcb25841042082184a85bcc3e54acb16df99bfb4df184ef23b4959ffe6af531b07eab76cb26841042082184a81bccde7069766bf7f8dcc2b2614d1b42f34610955836ccc319e6f6abfdf209218410420821cccfec0d178fe6dade20ed3fd43623fcab960e7039bdecf1fe6ef0d103b55f3e21841042082184f9997d1f978b69b0ff22c4fc031c6ccb86e714809d8152e616c28d6c7071008bda2fa6104208218410c28cccdee3129f0e9d9a1a6eb428e0cc35f06a51366ce73968f97ef9f36384104208218410770eb3375c8a145896d365127a456bd4b83a940d3b770306b5017b9bda2d9f104208218410c2fcccde70b998062dec0d87ad0c839707190edb7d1e168faabd7209218410420821ea0eb3ce71f9db763877dd7003a45041a77be0d16e86e36e9b56bb6513420821841042d41d666db8ac1c577e989505cc1f7cfbca22841042082184a8bbcc3e544c082184104208218c315b8f4b5a5a9ab9b216420821841042d433666bb8383a3a9a2b6b218410420821443d2343c584104208218410759e345c84104208218410755ebd6ab8141515f1ca2bafd0a95327dab66dcba79f7eaa0b3b79f2245e5e5e46d3e8dfbf3fa1a1a13556a665cb96919d9d5de9787171710c18308061c3861115155563e531e6b87f343ffffd77a3e7e5ddcc63d7abfb5835780d2bba7fc3f76336909b9ea777cea14f4229c82ea87419aa1aafb2727214b3c69dc7bbc571fab53d51ebf999c250dd83df3bcc871dbfe08b3eabf9dcfb5b0e7f1666a6d2d58edfe7ff41d0bb21bacffbdefe939dffd95ba379987a5fd7a68888087c7c7ce8d7af1f8b172faef5fc2afad9131919499f3e7d6abd0cb5a9dc9f130abe1db19e6f47acd73b9c1495ccbaf1017ce2be9263aba34c0e93e7affaeac2f3571179366bd69df07bcc501de459a91fccda70090d0da5b0b0d0e4f3172f5ecc8913273879f224414141cc9f3f9f8c8c0c008e1e3d4abf7efd8ca6f1f9e79fe3eded5de53297969898c8f2e5cb69d8b061a5e3bef7de7b4c9e3c99fdfbf7d3bd7bf71a298f29ae8425e0dab385d1f37e9fbf17bb7bec78fac013fc3dea6946be3594068d6d75e19949591cf93c1ceb86959b2655d57855919fa778ee9516bcb0c085eebd1bd57a7ec69457f7c4c86486fc6700cf85cee2f1ed7eec7d2b989b0999662a65cd4b8c48a6656f57dde72b6109b87a1bbf072bc3d4fbba36bdf1c61b2c58b080c3870ff3da6bafd56a5ec67ef6b469d3067f7fff5a2d436daae8e7c4d9c07338b6694266a2fe33d2a2bb338f6ff3a349ebc6b4eadbd2e43079feaaaf2e3c7f159167b3e6dc09bfc7caad833c2bf58259f771f1f7f767fbf6ed4c9b368d2e5dba60616151eeb9393939bcfffefb040707d3a04103dab66d8b8d8d0df1f1f1b8bbbb73f4e851525353193e7c387171712c5ebc9869d34a76a99c306102e7ce9da3458b16ecd9b347773c3d3d9d575e7985a3478f929d9dcd1b6fbcc1d4a95375e1efbfff3e5f7cf1050d1a34c0c9c989ddbb77d3a041031e7bec3122222200f0f5f5a561c3860406069a5cf77dfbf6f1dd77df9539be66ec26da0e69cdd5f044b26fe4e0fd8427bd9eee4e6e461e7fbc1144c2b1440ab20b183cbf3f1e13bb00707e572c07de0da1a8a088c2dc4286bf3e98ce0f7604202b399b5f5edc496a6c2a2e3d5a70edf4753c27bb03f089c74a661f7a92064d6c51458aef466f60f8c2417418d196d8bd714cfb69121696daff49eb01ad7465dcfa6c204927520058373e006b3b6ba66c9c60b42c15c5aba87ea0ad42f7dffffe9779f3e6d1b9736793ae71e326960c18e6c04feb6ee0d5bbf28d4b4332aedce497177692712583f6c3db726aeb59661fd6ae614575a8a8ee899149f47ea607008e6d9a60656b8552cae875c9bb99c78e97f670e3422af937f3e930b21da3de190640f0b243c4055da6712b07ae9dbd81c7c42ef49bdb1b809cd45c7e7b790f8951c958585ae05beaffe8e08747893f7c85c6ad1a13177c19cf47dd19f4928fd1fcca2ba72a54249d4ca1656f17ed022a483c96c4a8b72b8e0755bfaf8ddd4be53d6350b5fb6cf5ead5ac5ebd9afdfbf7939a9acac71f7fcc9a356b68ddba35cf3cf30cc3860de3c9279f242f2f0f676767ae5dbb86b5b5354b962ce1cf3fffa475ebd6ecddbb97e9d3a7f3dffffe57976e557ef6c4c5c53173e64ca2a2a2f8f8e38ff5ea70e3c60d9e7ffe79c2c3c3b1b4b4e4dd77df65c204ed1e345696aaa88d67050541cb0e3376f928364ddb4a616e21560dac747916e414921a9b86b347b332e5292f4c9ebfbaf1fc55543f9067b3269fcdaadc4b503bbfc7d22f65f0cb3f7692999845abde2e9cdf7391bf85cca441135b7efdc72eda0e72c3eb310f0af30af9b8cb4ae6c5ccc6d2dab2cacf667975a84fcf0a54ed79b893d9046c58ab6e87975f7e59f7b578f16275fefcf972cfddb16387727777d77dcecaca521616162a21214129a5d4c08103d50b2fbca094526adfbe7daa7dfbf665d278efbdf7d42bafbca2776cead4a92a30305029a5544a4a8a727676568585854a29a556ac58a1468c18a1d2d2d294524ac5c4c4e8c57df3cd37d59b6fbe59d96aabb0b030d5a143075d3ec58a0a8bd4fb6d3e5307de0dd11dcbcbcc574a29f5d333bfaa73bb62b5ba5fcb561f75f94a15151629a594cab87a5315e66b69c51fbdaabe1db95e173f60fa7675f083234a29a5a2fc4faaa5ce1fabfc2c2dcd8d537e5217f6c629a5943af6fd71b5f9c99f75f1f6fcdf01f5b1fb576ad77ff7a98488a4327508fa5f880afa5f4899e31595a5a27815d54f29a576eddaa5009598985826ae310ff73bad766e4fab743c43d63cb84945f9472ba594fa73f961f565bfef7461c6ea60a8eed93772d4bbcd3e5237133255617ea10afa5f88daf0e84f26a519fcde21b5e78d03ba733393b274dffff8f83615f8afdddaf1e42cb5ace5a7aaa8408bb765d62f2af8fdc34a29edff6885f737ba785b66fda276fe67af524aa9a41329ea8b3eab756115e5575e3993a353d452e78fd50aef6fd40aef6fd4a79e5fab652d3fd5dd23b5715f57946645cf985255bfcf2e5ebca83a74e850e6b8b7b7b78a8c8c544a29151a1aaafaf5eba70b9b3c79b27af1c51795524a454646aa4e9d3ae9c2aafbb3c7c3c3439d3c7952efd8e4c993d5a2458b94524a858484a876edda995496aaaae9674529a5cefc12a3d63d12a094526ae5c01fd48df3a97ae1970ec6ab7513020c96c750983c7f75e7f9aba87e4ac9b369a82c5555957ba9584dff1efbe1818deaf8c6534a29a50e7d12aabee85b72cf7f336cad4a3a91a294522ae158a2faee3e7f93d234762f19aa437d7a5694aade3b515d15b061ad0226016381e1800fd00d680fb4001a033666ed7129edfaf5ebac58b102373737a64d9b868b8b8b5e78686828eeeeeebacf616161b469d3061717170a0b0b898e8ee6e79f7f06a079f3e6ba96fe5fd328fe2b0640707030bb76ed2221218177df7d1700272727000a0b0b59b870212121213469d204804e9d3ae9a5171616c6b3cf3e5ba97a8e1c399288880876eedc89a5a5fe48bd1be752b16d6ccbe0574a86bcd934b2e6f2a12bc4eebb44665216211f1d05c0ceb181ee9cd87d719c0c3843615e21d9d7b269e4ac0d8b4abf94c1e5435798b06a2c004ddc1ad3bc6b535df7a86b4f17ae8625d0b2970b073f38c2e3dbfd74698e7873083d9ff4227acb19363cfa136396fae2fe4849ab3e3132991ed33dcbd4afbcb25414cf58fd00468d1a65f0ffd498c2423815955d233d2e09c792c84dcfc56baa761f366ed598963db5fbd4943a18aa7b6264121696167c7fff063293b2e8f25027267df79049693ab57764ffa23f69d4ac21f7dedf81665d9aeac2ae1e4b706bc78800002000494441546446e01400aced4afef29576319dcb87af307ee5035a1d5a3a9097995f52c7c8241e0b9808406672164ddc1c8ce6575139132292e93cb623136fd5297acb190e7f1686a5b565addcd7c6d22cef192b56d5fb2c2c2cacccb8f59c9c1cce9f3f8f87870700e1e1e1f4ead54b2fcece9d3b016d78499b366d80eaffecc9caca223e3e9eae5dbbea8e5db87081e0e060d6afd7e685b8b9b971f3e64da365a9aada78565010f4bf438cf87f430068d4bc21e9f119387528595a3ffec8555af575c5104361f2fcd59de7afa2eb09f26cfeb52cd551957ba9584dfe1e4b389644766a0e9e8f6ad7a3917343ddd0ac829c42522fa6d1accb3d5a1e51c9b8f47036a99cc6ee254375a84fcf0a54fd79b813d499864bb1ebd7af73e6cc99320d97b4b434dcdcdc749f03020278e49147003871e204ad5ab5a26953ede63c7cf830bd7bf72e93766868286fbffdb6eef3d1a34799397326cb972f2f736e6c6c2c1616161576c185858519cca7227bf6ec61faf4e91c3d7ab44cdc84c824da0d69a31b9ea53b7e2c09afa9ee8c5a348cbf8ade7286881f4e3065e323d834b266ef5bc1bab0e4e86b38776b8e95ad369422e9440aae3d4baeab6bcf1644ad3b49d0b5107acef4a2895b63bdb4efe9e8c4a07ff74329880bbeacd77049884862ccb2112697a5a27815d5afbace46e7e0d0c40ad75636d54e2be978322dbc9aeb3e274626e9c6aa9a520743754f8c4ce6defb3b30e9878749bb98ceeafbfcc9bb998f75436ba36976f3eb8a9b4f4bce069e67edb8001e5d3f9e96bd5db89990497e663e8e6db55fac57c31271eed61c0b2b0b128f27d3bc6b332cad2d756572e9aefd32c84dcf233f331fa7f68ebafab9941adf5b5e7e159533313289169e25d72ce9440a2e3d8c5fb3aaded7c6ae5979cf587585868696799ea3a2a2707777c7da5afb317be8d021dd0b545a5a1a376fdea463476d38417878b82eecd2a54bd5fad913111181a7a7a7de1f468e1d3b86a7a7a7ae2c616161f4ecd9d36859aaaa369e95b381e7b876f6063b5fdd0bc0cd844c32aedcd43be7cad104ba4feb66304d4361f2fcd59de7afbcfa55973c9b6555e55e2a5693bfc71223936855eaff38213c49d770498e4ea169e77b74cfca95d092f926557d362bae43fd7956ee76756655315b5b5b468f1ecd6bafbdc6d0a143cb8477ecd891b367cfa294223c3c9c356bd6f0cf7ffe13d01a20376edc20373797d4d454de7bef3d5d58b1f4f474525252f4fe3ad2b2654bf6efdfaf5bfde3dcb973c4c6c602e0ecec4c6e6e2e717171005cb972859494145ddccccc4c121313cb34b04c61656585adad6d99e3a5ffa2509a838b3d970e5ed1ad80917a218db4b874ad5c4713e830a22d368dac498fcf20e28713babf6c5ada585290a3c5c9bb9947f8b7917a93c25af672212ee832b17fc4e1f3f792bf365dd87391dc0c6d05b1cca42cce6c8fa1bd6f5b5d787e663e99c959d8ffa537a5a2b25414afa2fa155bb06081eeaf4e95713c2c8beee5f4b674ecd851af216b8ca58d15e9f13741c18df3a944f947eb7e0819ab4379754f884ca2651fedafc08eed9ad069747ba27f3a6334cd9cd45cb252b2716cdb849e33bdf4d2bd1a9e48414e2199895914e61512fcde61fafe4d5b90a241635b321333292a2822372d97a0a521bab1f7891149b4f02ab9ff12a39275bf282acaafa272264626e15cfa97c1f1145c6fdde3b5715f1bfb7f28ef192b56d5fbccd0cbcad5ab5769de5cab7b7c7c3c9b366dd29d53fae504f45f48aafbb3c750599a3469c2d5ab572928282035359537de7883975f7ed968598a99fd59b9d5dbf2c8aa07f95bc84cfe163213afa91ea4ffa5e172edcc75ec5b185e88c350983c7f75e3f9aba87ec5e4d9ac9967b3aaf712d4fcef310b4b0bb252b4f7af94d3d739be215a77cfdf4cc8a45153ed7777c6d59b9cda7a56d790afeab359511deacbb352acaacfc39dc0ec3d2e9696960c183080d1a347e3e0e050ee794f3cf1045bb76ea543870e383939e1efef4f870e1d00ade1327af468faf7ef4f5656160b162c60d830fd566c5858985e5730c0a44993080c0cc4c3c3030707075ab56ac537df7c0380bdbd3d9f7efa2963c68cc1caca8aa64d9bb27dfb765d5c7b7b7b468e1c49dfbe7d717575add4c4fcc8c848e6cd9b57e67862643283fee553e67897873b717e572c2b07fe80adbd0d0eaef63cf8c96800ba4febc6aff37671fd5c2af6ce8db0b2b5d43df8ed86b6266c5543363db60dfbe60dc9cf2aa065af921fa80eaef66069c188b786eafe220070e18f387e796127368d6cb075b0a1cfdfbce9f2504983cfc6de867643dbb07ad47aec5bd8eb26e75554968ae255543fd0feeab474e952060d1a64f2350e3d98c9738fc67233a390c242f0697d02ffddf7d2a9abd6151b1616467a7a3ab366cd3239cdae0f77226afd49560d5d4bcbde2e58d958ea7eb019ab4379754f8c4ac6bb549775e7b11d09fb3a42bbe615a479fddc0d7e7d612796d69658da58d2eba9eebabf28251c4ba2cbc39d0898be9dcce42c3c2777c5eb316d4844bba16d70ede9c2ca013f60616581cf9c5e741cd54e8b1799a4f78332312a99a1ff196034bf72cba920312a8516dd4aff324866c87ffa1bbd6655bdaf8dfd3f94f78c41d5eeb362e1e1e1655e48060d1ac4ebafbfcec30f3f4c9f3e7dc8cbcbd3ad20f8d79f47e1e1e1bcf9e69b40d57ff62c5fbe9c6ddbb671fefc796c6c6cf0f5f565d1a2450c19324477bebbbb3b565656fcf39fffe481071e305a96e270733f2b6703cf5154a0b8f7fe0e25d7a1452332ae64e8e5db6d725736cffc9946cd1a32f1bb8774bd17e585c9f357379ebf8aea07f26c1a2a4b7178659fcd2add4bb7d4f4efb1ae133a737c4334ab06afc1ad5f4b9452bafbac75bf961c5872901fa76dc3d5bb0585f945387b34375a4e63f792c13ad4a36705aaf73cdc090cf541d9046c589b3769cae3b59ef9860d1b1833660cf7dc734fade7f5d24b2fe1eaeacafcf9f36b3d2f635c5c5cd8bb77af6e7cadb99cd8749ad3db6398f4fd43662d87394c99328559b366f1e0830f9a1ca720bb40373f287acb19cefc728e095f8fadad2256d9a6a95be9fdac379d46b7377751c41de04e7e566a833c7fe276a9cab35957a5c6a6b161f24fcc39faa4b98b22cc64f3c675f84d7dc20fc806b26e7d6596fa3e1bc8316b8f4be965876bcbc89123494a4aa25dbb762c5ab4a8d6f333c5fcf9f379eaa9a778edb5d7183f7efc6dcfff6642261bfcb660ef62cff8af1eb8edf9d7051b376eac749c439f8472e6977334706c40c3a6763cf0fec85a2859f5254424e90dd113a23aeee467a536c8f3276e97aa3c9b7555c2b1a41adf3345dc99ccdae322841042082184b8bb99dae3526726e70b2184104208214479a4e122841042082184a8f3ea65c3252222021f1f1ffaf5ebc7e2c58b6b3dbf65cb96e9964cfeabc8c8c81a5957fd4e93742285d523d75778ce71ff687efefbef46d3faa2cf6ad64fdcacfbfcfd980dac1cf843a5f33345decd3c5674ff86cfbc56f17e9b157cd8e10b3ef35ac58aeedf909b965bedf46bc3ddf83c9c3f7f9e010306d0bf7f7f3233336b3d3f21841042989fd99743ae8a37de7883050b163069d2a45acf2b313191e5cb97f3ca2baf180c6fd3a60dfefefeb55e8efaa6895b6326acac7815a12b61097afbca18929b9e47ce8d1c1cdb689bb99dfae92c2870eda11fcf94fc4c61eb60cbdfa39e0660fd239bf19ee14937bfae466299d7ddf83c74ecd8919090105c5d5db976ed1af6f6f6b59ea710420821ccab5ef5b8ac5ebd1a5f5f5fb66ddbc6c71f7f8cafaf2f972f5f06e099679ee1bbefbe03202f2f0f4747470a0ab48d7d962c59c2b871e378fef9e7f1f0f0e09d77ded14bf7fdf7dfa773e7ce7879793164c8107273b5bfac3ff6d863f8fafa02e0ebebcbd8b1252fc6717171f8fafa72efbdf772f8f061bdf46edcb8c1638f3d46d7ae5df1f0f060ebd6adba306365a98a9cd45cb63e1bc857fdbf67e5c01f38fbeb795dd8479dbfa230b750fba060f5c8f55c3a780580dc8c3c76bcb487d523d7f3f5c01f88de72462fdd356337b1ff9d836c98fc13ab47f913fe4d94d1b0f4cb19ac1b1fc0977d5773252c512fbdace46c363db68d9503be67dbec1dc41fbaaa5b7da7bcb224466a9bb2d934b426373d8f88352768d5c755b7df4179f915e615f241fbcfd9f2e42f7c3b623dbfbdfc079f7a7ecdb533d74daa7b71de2e7f69207de2b192dc746d734e55a4583dca9f0b7f689b91052f3bc4fa0901fcfcfc6f7c779f3f873f0bd3c533965f5a5a1a2fbcf00267cf9e2d538ef2dcedcf436a6a2a454545b46ddbd6f8c942082184b823d9046c58abeaaa8b172faa0e1d3a9439eeededad22232395524a858686aa7efdfae9c2264f9eac5e7cf145a59452919191aa53a74ebab0152b56a8112346a8b4b434a594523131317ae9bef9e69beacd37df2cb73c1e1e1eeae4c9937ac7264f9eac162d5aa494522a242444b56bd7cea4b254d59659bfa8e0f70f2ba5948a3f7a55adf0fe4617f6fd980d2ae9448a524aa9e82d6754c0f4edbab09f9ef9559ddb15ab94522aeb5ab6faa8cb57aaa8b04829a5545161917abfcd67eac0bb21baf3f332f38d86155b39e07b9572fa9adeb180e9dbd5c10f8e28a5948af23fa9963a7facf2b3f22b2ccbe115616ad77ff7a99dafee55bffe63a73ab9f9b45a37fe477571ffa50af3bb1a9ea8be1db14e29a5d4f2769fabb4b874b56dce0e15f3fb05a375574aa9d4d834f57e9bcff48e29a5d4c6293fa90b7be394524a1dfbfeb8dafce4cfbab01f1fdfa602ffb55b29a5546672965ad6f25355545064527ebb76ed52804a4c4c549571373f0fe1e1e1aa4b972eaaa8a8c8f8c942082184a8b30236ac55c024602c301cf001ba01ed81164063c0a6de0d150b0b0b2b33863e272787f3e7cfeb36740c0f0fd7db6d362c2c8c9d3b7702da5097366dda00505858c8c2850b090909a149136d2852a74e9df4d20e0b0be3d9679f355896acac2ce2e3e3e9dab56428d1850b17080e0e66fd7a6dbe859b9b1b376fde345a96aa4abb98cee5c35718bf52db8fa5714b07f232f375e1cdba3425e5f4359a776d4af0b2433cb25adb6cf2f2a12bc4eebb44665216211f1d05c0ceb1812ede8d73a9d836b665f02bfd74c76c1a591b0d03c8cf2a20e36a264def2dd95834fd5206970f5d61c22aedaff44ddc1ad3bc6b53ac1b5a575896c4c824dafbb623372397131b4ef1c007a3f8ede53ff4769836949f16af2d5929d9347173a0499bc6a4c6a6d1ecde7b8cd61db45dac5b783a6361a9bf62b86b4f17ae8625d0b2970b073f38c2e3dbfd7461578f253223700a00d6765628a54cbad600a3468dd29d5f1977f3f3d0b163472c2c2cf0f4f4e4975f7ea143870ec62309218410a2deaa770d97d0d0507af7eead772c2a2a0a777777acadb5ea1c3a7448f732979696c6cd9b37e9d8b123a0bdc415875dba74090b0b0b3a77ee5c6e7e61616165f22b16111181a7a72796962523ee8e1d3b86a7a7a7ae2c616161f4ecd9d36859aa2af17832cdbb36c3d25a2b434244122edd4b5eea9b75be876b676e10e51f4deb816e34ebacbddc271c4bc26baa3ba3160d33986e426412ed86b429f3e26e2c0c20e94432cddd9bea8527475fc3b95b73ac6cad6e9d9382ebad616215952531329901f3fad2a47563ba4dea4adac574ec9c1ad0a0d48bbfa1fc122293693fbc8db6195c2f1754a122fd72064eed1d89f9fd4285752fceb774e3a8986bcf1644ad3b49d0b5107acef4a2895b6340dbd4333f331fc7b6da0bffd5b0449cbb35c7c2cac2e8b5ae8ebbf97978fdf5d7993e7d3a0b172e34398e10420821eaaf7a35c7050cbf385dbd7a95e6cd9b03101f1fcfa64d9b74e7947e5102fd9723676767727373898bd3e6285cb97285949414ddb9999999242626e2e262781764436569d2a40957af5ea5a0a080d4d454de78e30d5e7ef965a36529d6b16347de7efb6d93af4783c6b6642666525450446e5a2e414b43e837b7a44ccdba3425e9783247568431647e7fdd7107177b2e1dbc4241b636ef21f5421a6971e9baf0c428c32feec6c2407be9ffeb0eb896369614e46879e5ddcc23fcdb48ddc4fcf2ca52905d407a7c06cd3a37c5d6c196864ded48884c2a3331df507e8911da2ebc091149b8f46cc1b5b3d769daf91eb0305e772dcdb2f35b005af672212ee832b17fc4e1f3f7925e8cabe18914e41492999845615e21c1ef1da6efdfbc2bac5f690b162cd0f53c54c69df83ca4a7a7f3dc73cf71ead429dd7559b162055f7ffdb55eda8181814c9f3eddf48b25841042887aadde355cc2c3c3cbbc1c0d1a3488f8f8781e7ef861befaea2bf2f2f2e8debd3ba0bd1c951e26131e1e4edfbe7d01b0b7b7e7d34f3f65cc9831787a7a3275ea54dd5f868bc3478e1c49dfbe7df526222f5fbe1c5f5f5f962e5d4a606020bebebe04050501e8ce777777a77ffffecc9e3d9b071e78c068598ac3d3d3d399356b96c9d7a3ddd036b8f67461e5801ff86ecc067aceec4ec751ed74e1cdbadcc3d9c0f3b83fd219fb168d74c7bb3cdc89161ecd5839f007560d5ec36f2fefd1f5dac0adc6808117f78ac28eac0867ddf800423e3acab95db1ac1b1fc0e5902bb7cad99a46cd1bb2e9b16dec7a751ff95905b4ece5526159924ea6d0ac4b532cac2cf4f276b9d548292f3f55a8c8b87a13c7b64d483856d280295e08c058dd416b9cb91a689c39b8da83a50523de1aaaeb3d02add7a8cbc39d0898be9daffa7d4feb7e2df17accc3a4fcd2d2d258ba742939393906af7745eec4e7e1e8d1a37cf9e59728a574d7e5830f3ee0d2a54b7ad7ecdab56bb46fdfbed2d74c08218410f593a1b13e36011bd6e64d9af2f86d2fccdd6eca9429cc9a358b071f7cd0dc4511e538b1e934a7b7c730e9fb87f48e6f9aba95decf7ad369747bf314ec2ee3efefcfa64d9b08080830775184104208514d9b37aec36fea137e40369075eb2bb3d4f7d9404ebd9be37227dbb871a3b98b20ca713321930d7e5bb077b167fc570f94092fdda3236a4f61612163c68cc1dada9a2fbef8c2dcc511420821c46d240d17214ce0e06acf33c1e5cfa778f1d4df6e6369ee5e565656ecdebddbdcc5104208218419d4bb392e42082184104288bb8fd97a5cd2d2d2cc95b5104208218410a29e315bc3c5d1d1d15c590b218410420821ea19192a26841042082184a8f3a4e122841042082184a8f3ccda70397ffe3c63c68cc1cdcd8d7befbd9755ab56991cd7dfdf9f3367ced462e9841042082184107585d91a2e4a29fcfcfc98387122f1f1f1444444e0eaea6a727c69b808218410420871f7305bc3e5c081035cbf7e9de79e7b0e007b7b7b1e7aa86437f2e0e060860e1d4a9f3e7d18366c18d1d1d1001c3c78105f5f5f82828258b06001bebebe7cfef9e726e5999a9a8a9393136fbdf516c3870fa767cf9eba74cbcb0f60c78e1df4ead58bbe7dfbd2bb776fbd0693b5b535cf3fff3c7e7e7e8c1e3d9ab8b8385d586060203d7bf6a4478f1e8c1f3f9ee4e4645d98838303fff77fffc7942953e8d3a70fb1b1b126e5575139010e1d3ac4bc79f34cba1e420821841042d46736011bd6aadab672e54a75df7df7190c4b4d4d555dba74517171714a29a50e1c38a0860e1daa77ce840913d4f6eddb2b95e78d1b3794858585fae69b6f94524a151616aaecec6ca3f90d1a3448eddcb95329a5546666a6cac8c8d085595959e9cab17af56a3565ca14a59452376fde54cd9b3757c78f1f574a29f59ffffc47cd99334717cfdede5eedd8b14329a5d4a2458bd482050b8ce667ca75f9f6db6f95959555a5ae8b104208218410e612b061ad0226016381e1800fd00d680fb4001a0336665b0eb9b4e0e0601e7ffc71002e5ebcc8912347484e4e66c68c19ba73ae5fbf5e2379595a5aead2b5b4b4c4cece8ea0a0a00af31b366c180b162c203c3c9c112346d0b76f5fbd34870f1f0ec088112358b8702100d1d1d1b468d1024f4f4f00fcfcfc78fae9a7f5e20d1a3408808e1d3b12181868343f53aecbac59b398356b56e52f8c1042082184107598d91a2e9d3b772626260680c18307131c1c8c9797972edcc3c383bd7bf7d678be0e0e0e585b97ad7645f92d59b284993367b267cf1e264f9ecc071f7cc0c4891375e1050505ba7f95522697c5c6c606000b0b0b8a8a8a4ccaafb6ae8b1042082184107599d9e6b80c1b360c070707bef9e61b0072737375613e3e3ec4c4c4b06fdf3e00f2f2f23870e0805e7c272727bd3923d5612cbfd3a74fe3e1e1c1dcb97379f0c107750dae629b376f06e0c71f7f64e0c08180d6c0484a4a22323212808d1b373278f06093ca535e7ea65c9783070f3277eedcca5e02218410420821ea34b3355c2c2c2c08080860cd9a35b46edd9af1e3c7eb8659393a3ab265cb16162c5880a7a727ddbb77d7bdac179b3d7b36cb972f67f0e0c17cf6d967d52a8bb1fcde79e71dba75eb86b7b7377171713cfbecb37af18f1f3f4e8f1e3dd8b66d1bcb962d03b4c506befffe7ba64f9f4eb76edd3875ea146fbffdb649e5292f3f53aecbe9d3a7f9f2cb2fab7339841042082184a8732c0c1cb309d8b0366fd294c76f7b61ea236b6b6b7272720c0e3f13420821841042546cf3c675f84d7dc20fc806b26e7d6596fa3e1bc831eb069442082184104208610ae926a8a6e289f942082184104288da233d2e420821841042883acf6c3d2e696969e6ca5a08218410420851cf98ade1e2e8e868aeac85104208218410f58c0c1513420821841042d4793239bf1e3811974f426a11d979aa4c58435b0bda34b7a24b2bf9af14420821841077ae7ad7e3f2e69b6f626161c1c58b17cd5d14162e5c48c78e1d79f1c517f58e2f5bb68c4e9d3a616161414848885e587c7c3cbebebe346cd890989818a3799c88cbe74252a1c1460b40769ee2cc95024ec4e557bd22420821841042d47166fd337d404000e1e1e106c3fcfcfce8d5ab5799e35bb76e65dcb8716cdbb6ad4c83c11c66cf9ecdabafbeaa776cf8f0e14c9e3c99d1a3479739dfcdcd8dbd7bf772efbdf79a947e426a5199633ddadb109b58407ab6d23bcfb36d250b2f8410420821443d61d61e97fbeebb0f2b2bab32c7ededede9d1a34799e3972e5de2dab56bcc9b378fad5bb7ea85a5a6a6e2e4e4c45b6fbdc5f0e1c3e9d9b327d1d1d146c3e6cc9983b7b7373e3e3e4c9a3489e4e46400828282e8ddbbb72efd9494145ab468416666a6d17af5ebd78f0e1d3a987e212a60a8a72532365fafd152de79420821841042dc29ccda70717474c4c7c7a7ccf1c993271b6cd06cdbb68d3163c63064c8108e1e3d5a6649e5f4f474dab469c3be7dfb080b0bd36b3c9417f6da6baf111111c1912347183060004b962c0160c89021e4e7e713161606c00f3ffcc0942953b0b7b7afb1fa5745b7d6d68ce8de80260d2dcc5a0e2184104208216e27b3cf7119316204b6b6b6bacf4e4e4ee50ea3dab66d1bf7df7f3f0d1a3460f0e0c1fcfaebaf7ae1969696cc983143f7bd9d9d9dd1b0a0a020468c1881afaf2fdf7fff3db1b1b1ba38cf3fff3c2b57ae0460d5aa55cc9933a7fa15aea693970bb8965176f8981042082184107732b3375ceceded19346890eef3e4c993b1b028db9b909e9ecefefdfb59b06001eeeeee848686b26ddb36bd731c1c1cb0b6363c6dc750584c4c0cafbdf61a1b376e64efdebdbcfaeaab141595340a66cc98c1b66ddbd8b3670f8d1b37a67bf7eed5a9aa104208218410a28accde70016d58969d9d1d2d5bb6a47dfbf606cfd9b1630703070ee4ecd9b39c3a758a3ffffc93c0c040f2f3abbe9ad6f5ebd7717171c1d9d919802d5bb6e885376edc98871f7e98193366307bf6ec2ae723841042082184a89e3ad170b1b3b363e4c8913cfae8a3e59eb375eb56eebfff7edde78e1d3be2e2e2c2be7dfbaa9caf8f8f0f3d7bf664ecd8b14c9b360d17179732e73cf9e4936464643065ca1493d35db46811ad5bb726363696f1e3c73370e0c02a97d1bad4549f460d2ce8d9c186668d2de9ea66a3b7774b435b99f3228410420821ee5c7566d7c2d2c3c50c59bb766d9963a74f9fd67defe4e4446a6aaac1b8e585595858f0d5575f5598efeeddbb993e7d7aa526e52f5cb890850b179a7c7e453aba5873e64a010059b98a63170cf730b5695e763103218410420821ee1475a6e152d7141616d2bd7b771c1d1df9e9a79f0c9ed3ac5933366cd8404a4a0aefbdf79e49e95ebd7a95a79e7a0a5b5b5bbd4509cad3a59535f9058a84d422834b1e37b4b5a04d732bbdde17218410420821ee3486c617d9046c589b3769cae3b7bd3042082184104288bbcbe68debf09bfa841f900d64ddfaca2cf57d36905327e6b8082184104208214445a4e122841042082184a8f3eee886cbd5f044560d5ec3e73dbf65eb338114e414563bcda0a020bcbdbde9d8b12353a64c2123234317666767474e4e4e85f1070c1840484848b5cb51ccdfdf9f3367ced4587a420821841042d445f56a46f7b66ddb888c8c34183661c284321b4406cedbc5f0d70773ef031dd83cf3678ead8ea2ef733dab9c7f4e4e0e13264c60f3e6cd0c1f3e9ca79e7a8ad75e7b8d4f3ef9c4e43456ad5a45bb76edaa5c86bff2f7f7c7c1c1812e5dbad4589a420821841042d435f5aac7c5d7d7174bcbb2456ed4a811ddba75d33b9676319df4cb19dc7b7f070a730bf17cd49d33bf9ed33be7d0a143cc9b37cfe4fc0f1d3a44a3468d183e7c3800d3a74fe7975f7ed13be7d5575fa54f9f3e0c193284d8d858ddf11f7ef8015f5f5f060e1cc8f1e3c7f5e20407073374e850faf4e9c3b061c3888e8ed685a5a7a7f3cc33cfd0a3470f3c3d3d59b4681100070f1ec4d7d797a0a020162c5880afaf2f9f7ffeb9c975114208218410a23ea9570d97264d9ad0a74f9f32c71f79e411acacf4f731c9b87a13fb168d38b72b96cf7b7d4be3960e645cbda9774e7474349f7df699c9f9c7c7c7e3eaeaaafbece2e2c2e5cb97f5cef1f6f626343494c71e7b8c975e7a49777cc68c19ecddbbb76c032b2d8da79f7e9a75ebd6111a1acae2c58b9933678e2e7cfefcf9346cd8908888084e9c38819f9f1f0003070e64efdebd0c193284254b96b077ef5e9e7ffe7993eb228410420821447d52af868a010c193284888808f2f2f200707474a443870ee59edf7e581ba6064c24ef665e99b059b366316bd6ac1a2ddfb871e300ad3155dc3b529123478e909c9ccc8c193374c7ae5fbfaefb7ec78e1d0406066261a1ad5cede1e151a3e5154208218410a23ea8770d177b7b7bfaf7efcf81030700ad8150fc525f5ae3560e64266661696389b347334e6f8ba1714b876ae5ede6e646424282ee736262226ddab429f77c43e532c4c3c383bd7bf756ab6c420821841042dcc9ead550b162fdfbf7c7cece0e5757d7721b0e8e6d9be0d8b609313b2e00707c63345d1eeca477cec18307993b77aec9f9f6ebd78facac45c2f58600002000494441542c5d2363cd9a353cf4d0437ae7fcf4d34f000404043078f060a369faf8f8101313c3be7dfb00c8cbcbd335ca00c68e1dcbc71f7f4c51511100a74f9fd68befe4e4447272b2c975104208218410a23eaa970d173b3b3b860d1bc68409132a3cef810f47b1efed603ef35a8595ad153d67e9af3a76faf469befcf24b93f36dd8b0215bb76e65debc7974e8d081cccc4cde79e71dbd738e1f3f8eb7b7379b366de2bdf7de33984ee99e18474747b66cd9c282050bf0f4f4a47bf7eeba460cc0d2a54bc9cbcbc3cbcb8b6eddbab169d326bdb466cf9ecdf2e5cb193c7870a5e6eb082184104208519f181acb6413b0616ddea4298fdff6c2dce90a0a0a68dfbe3d414141b46fdfdedcc5114208218410c2ec366f5c87dfd427fc806c20ebd65766a9efb3819c7a37c7a5bef2f2f22227278749932649a3450821841042884a9286cb6df2d7bd5b84104208218410a6ab97735c84104208218410771769b808218410420821ea3c69b8d451c78e6431caeb1403da9fe0f9a9b1e4e428731749082184104208b391864b1df5cab371bcbaa41521b19ee4e729d67c9162ee220921841042086136d270a9a6733b63f19fb445f739fd72062b7a7c832a2ae9213974e810f3e6cd3339cdb80b795c89cbe7be879b909bab9834fd1e7efb29ad46cb2d8410420821447d220d976aea30a22d29a7ae9199980540f4e633784cec828565c91639d1d1d195da1c32213e9fe62ed6fc1198cec0f6277075b325213eafc6cb2e8410420821447d210d976ab2b4b6a4ebb87b89de7a0680939b4fd3cdafabde39b366cda2a0a0a0d2690f1ed598753bef452999df228410420821ee6ed270a9019e8fba131d70866b676f50985b884b0fe76aa5d7b2b50dc909f9d8d858e0ee6547427c3eae6eb635545a218410420821ea1f69b8d480567d5dc9ba96cdc10f8ed0ed51f732e1070f1e64eedcb926a7d7a6bd2daddbdbb273bb36af25e087ebdcff88638d9557082184104288fa461a2e35a49b5f574e6c3c85e75f8689019c3e7d9a2fbffcb252e9fd6f655bde5d70059fd627b06d60c9f4e79ad75451851042082184a8772c0c1cb309d8b0366fd294c76f7b61841042082184107797cd1bd7e137f5093f201bc8baf59559eafb6c20477a5c84104208218410759eb5b90b5057847e1d61f078f32e4d493973bddcb076c3dad466b18410420821841048c345a7cfb3dee58649e344082184104208f392a162420821841042883a4f1a2e95907d2d9b4f3c5656784ec40f27f8eddf7baa9d57e6f1e344f93d42eea5388e8d1ea11776a48f37877b75e7481f6f8ef4f126fb5c8c2e2c7ec5671c1dd88f60371732428feac5ab28acaaca4b33e3e8115df98ef4f126c4fd5e8e4ff1d38b5b989e4ed423e338f6c0682ebcf1baee78e2fab584f90e25fcbe11443d328e9cf3e7756157bffd86b06183081f399c987fff0b959b5babd725f74a3c271e9fca212f778ef8f422fd5048f52e5835d2bc792c9cf011c338daaf0fa79ffb1b453939660babe89a5574ef0a218410425495345c2aa1816303a6f84f30773100e8f5db6e7c4223f0098da061a77b75c71d070ea4fb864dd8b56b57264e456155555e9a8dfbfae8cae7131ac13d23efc379c2237ae7a41d0cc6c6d9999e3b76d2e1cdb70128caca22e63fafe0b9763dbd76fd81d3b0e15c7c6f290039172f12f7feffe8be651bbdf6ec43a1885fa9bfcc744d5f9798975fa271afdef48f38419f7dc134ecd8a96a17aa06d23cfbf24bb45bf05ffa1e0ea5282f9f841fbe335b586ddc4b42082184101591868b89423e3ccaba71016c7c6c6b99b0131b4ff155ffeff9e1fe8dc4055f2e137ee8d021e6cd9b57a9fc2c6cacb176ba07acacb06edacce4780ebd7ad3a0ade197c98ac20a333238fbef7f123eca9730dfa15cfa70b9496115a559ace0c60d52f7fd41f3f1250d97134f3c46ece277483f748828bf47b8b878d1ad7adb60d3ac198599995ade5999d8bab6042027f60276ed3b60d34cdbd3c669e83052f7fe61ec92182d677961798989dc8c38469b79ff022b2b2c1b35c2c6d959171e33ff65c2ef1b41c4d831443ff314f9d7527461e55d33636996172f37ee22b9f197693a7a0c2a3797167e93b9b623d02c61c6ae6755ef5d21841042888a48c3c54403fed917bf350f97399e9994c5ce05fb98b665124ffc32998cf88c32e7444747f3d9679f552abf465dddf158f52d0d5ab9e1b5e1c732e19113c7113aa81f17fedfffa1f2f22a95b621b18bdec2cace8e5ebbfea0f7de03347fe86193c24c9114b0897b468dc6aa7163dd31cfb5feb47de9df380d1b4ef7809f68f7da42406bb874fd640591131ee648ef1ea4fdf927ed5e9e0f40c3ce9dc9b9709edcf8cb5058c8f5df7f2737e1aa5e5e35795d722fc5d1a0751b625e7989f0fb4610fdf42c72afc4ebc2dbfc631ebd76fd8177e0ef34e9d387cb9f7cac0b2bef9a194bb3dc780909d83a3b7363cf6e8ef4ef83adab2b79b7ea7ebbc38c3176ef0a218410425485345caa29312a9916dd9ad1b8950396d696741e5b76d8cfac59b3282828a8b13c7b6cfd993ec187f0fe39909b5191c47fb1a2da69def8630f2d673d0d16da9ea40d3b773129cc1489ebd6e232f53193ce2d4c4be3cc3fe6d23d602b3e6191380e1eccf9d7ff0b4083566e745cb498e8679ee2d883f7d3a86b572ced1aeae2d6f47529cac921f37814ce931fa5d7ae3f68dcb327e717fe57179e7ef810c7274f24caef1192366d24e7d2255d5879d7cc589ac6aeb5d390a178f96f02a5ca94f776870921841042dc4ed270a90116d696a5beb7a8f5fc1ab4d69667b66eda8c167e93c93876acd6f3acaa8cd0a3146665e13868b049e7df8c8ac4dad109fb6edd0068fed03852f7efd3853b4ff4a3e78e9df4fc6d1776ad5b63d7a6ad2eaca6af8bad8b0b560e0e380d1d0ec03d23ef2333fa240039172e7071c962ba7eb992ee013fd1fa8517a1a8a85a6956a441cb96e425256161634323770ff212127443e86e779810420821843948c3a59a5cbdff3f7b771e1655bdf871fc33c0b02bb82022a2b86f282a626ea52dd6f5a665526a2e655ab678bbb6dc162defafc5f2b65caf596666deea96a6997ba59595bb22ee9a0822a0b8a3b2efcbfcfe40274960060439d8fbf53c3c6798ef7abe33d67c38e7cc69a0f3d117949b9e27493ab6e9c41575b66eddaa09132654ca78f94949ca3d7d5a52d185ece7bfff4e1e1d3a5c75bf756eb95527e77d62fdf07df93772955566cbe9055fca77e830eb11045b5c0303957d3c413909c72449295b3617bbc83ee7d8514952ded9b33afec1fb6a307498a4aa5917b796ade458bbb6d2f7ec9624a54684cbbd45d111b5fce424997d7cacd7db9c5ffd7db1b6a5ad59597d96d5ce25a0895c030274e1a71f24159d7e57ef2f03aaa50c0000a03a94f469d2bc64d1fcdc2143475cf3c918557e56bebe1eb6428579853ab5fb8cfcbbfba9969fa706cdb943927460d121edfddf01b9fbb8a920b740b5fc3c75c7bf6fb1b6ffecb3cff4f0c30f57cae96299d1518a1cfba00a3232647270509d5bfbabf96b53e5e0ea2a494a98315da7bff85cb967cfcac9bb8edc0203d569d5f736cb0ad2d214fbca14a5ed28fa6a5b9f7b8628e0a9676c9695d9677aba22ba7652975f37c8c5bff115fb726ec5325df8e927b5fea0f8295d67162ed0890f67490e0e32d7aba756ef4c976bf3e692a423939e2fba48bcd022bf07c728e0997f54e9baa4efdda323935f546166a69cbcbcd4f2df33e4d6a28564b128e6f97f28e7e409397979c9c9cb4bb9a7cfa8dda79fdb5cb352fbb4d56ecf6e454f7c5205e969aad52d54addffbc0ba7fd7baacac35030000288fa55f2f50d8b0916192b224655efcc9b8ec7196a46c820b000000806a636f70e154310000000086e754dd13308a9d9fec2df1f9faadebaae94d01d77836000000002e4770b928e4e1e0ea9e02000000805270aa1800000000c323b85492c8a5d1ba10937cc5f3d39b7ca8fcec826a98d195320e1cd0feb0c1ca4938a63dfd6fb63e9fbc71bdb60436d6cede37684fff9b75e6abf9553a8fdc53a7b43f6cb02242827572ee9c2a1deb9282b43445ffed096defd2513b42bb2aeeb557aa74bc03c3ee55d2afbf943e9fd454ed1f3c487bfed25f71ff37a552c73eb3e04b1d79e139ebefa5bdee0000003509a78a5592c865d1327b9855b7a577754fa542dc9a3557975f3728f7f4691d7c70a46432c97778d57cb39cb39f9f3a2e59aeb87fbe5c25fd972476ca6439b8b9a9fb8e3d928383d276efba6663972465eb66997d7cd471ee7fab751e0000003505c1e5326b9ef94527779c92a3b3a36a35aaa5bf4cbf45eef5dd24151d39f97bf4a372727554e4d268c5fc18a7411fdda11311a7b4fef52d4a8c3cafa4b8146d9fb54bed06b75697b11dadfd6e9dbe5dd1dfc74a92ee5d30485e4d6a4b9262d7c66bfdeb5b6429b4c8ab496d0d78ef36eb783929399addf953853ed1454737242827355777cdfd8beab5ae2b490a0f0fd782050bf4de7befd9bd7f26b3939cbceb488e8e72aa5bafc43ace0d1bca7ffc633af5c5e7d6e092f4cbcf3a3a6daa2c8516b90604a8e5bfff63bdf1e2d696cd74c3814839b8ba5e715f96c4a5dfe8d8f47765ae5f5fcebe0d65f6aea3166fbd63739e31cfff4369bb76cac16c9673237fb57cfb1deb7849bffea2a3d3a64a0e8e92a5506d3efcd87a0f94d214a4a5e9ecd225eabe7b9fe4e82849aad535e4f7f2941445dc1022fff18f2979d34615a4a5aacd8773e4d6aa7599fb7ee99e2be97bf6c85250209fc1f758efb9f27be7058a7e7aa2cc75ebaad92baf49927e1b395c39c78f2b3f2949fbc306ab764837359dfcb2cdb52e6b9e894b16ebd88ce9327bd7916bd340397a7858a760cfeb0e000060749c2a76995e4f876aec86917a70ed70f9776ba8ad33226cb6f10ff5d38895610ae8d1487da7f4d2889561c5428b24d56b5d57e3368d548bfe81daf3bf0392a4bc8c3c7dfbc48f1a34e70e8ddd3852f5dad4d5c6695b8bb5cb49cb556dff5a1ab1ea5e8df9f57e7935f1b2964546466ad6ac59e5da3ff7366dd56edea77269e4afa045df945acfb549a0b2e3e22515dd853efaef7f53eb0f66abcbcfebe4d6aab58ebdfd96cdb1f2ce9f53ec3f5f56d0d74bd469e94ae5275f791a5d6902fe3e515dd6feaae0d53faa7648888ebf3fd35a963063ba02a7fc9f3aaff9499d96af9273c38636fbcb3e7a544eb56b5b0340490ad2d2e4d2c85f1d97ae50e71f7e964b40139bfb1e3ff53539babaaacbda5fd575dd46d5bf7360b13e2d79793af4f878b9f8fb5b438b247598bf504d9e7956de37f555c725cbada1c59eb52e699e7989893a32e525755cb4441d97ad54cec913c5dad8fbba0300001819c1e53209db4eeaabbb9768c15d4b746051a4528ea5554abf2dee6826496a10545f6927d32549e7a393e45edf5df5db16fd05bccda0963a1e7eaa583b9383491d86b6b53e767275b4968d193346f9f9f99532bfb2641e8e96b97e7db9b7299a47fd3b072a3562bbcd76e9fbf6c9bd4d5bb934f2971c1c54f7b6fe768f99ba3d5c07eebd47fbc306ebece2af959d90602df3baa1878ebef9864e7c384b99d1d1c58e2c5c150707f9dc7b9ff5b183ababcd7d4ffaf517f98d192b998aeee3ead6aa75b12e635f9eacd488ed0a7872a25d53b06bad4b9867fa81fdf268db4ece8d1ac9e4e4a47a77fca5bc7b0f0000607804978b926293b561ea16dd3defaf1ab1324c3d2676932c166bb9c9c1647d5c905758aebe1dcd4581c36432c95268b151fb77ce1e6639385dfb9728fb58bc5c9b05da55f7f27529cc2b67903299ae782a3b2e4e47a7bda93673e6aae392e56afcb727a5c2dfd7bbe9e497d57ae607727073d3a147c6e9fceaef6d0ee3daa489f253539577fe5ca9751c3d3c6472aadc33271b3ef0a01a0cb957475e7ab1d2fa2c6d9ec59eabe4fd000000300282cb45d9c939726fe066bdc624fabb23c5ca6bf9792a252155927472c7a92bdabbd47651d6f92cbbc7abd7ba8e32cf65eaec6f451fa60f2d3facc637f8d9dd7eebd6ad9a306182ddf5ed957bea944e7cfc917c870e9724b9b76aadbc73e79471f0a024e9dcaa95aa1ddadd5adfd9af91728e171d1149dbf9fba9759e9d3a2933ea90724f9e940a0b75e1a71faf18cb5caf9e724e9e2cf65c7e7292cc3e3ed6d3bafe184cb28ec4c8ad556bf93d3456756ebd55d9717136f7c9b1766df90c1ea2a3ff9a2615147dc35bba1d17e7dbdaf73ab7dcaa93f33eb106abac2331c5da7b740852d3172629e3e041252e5b72d5e395c6b35327651e8e56414686242965cb169b6d0000006a1afe347b915f175ff906f9e8eba12be4eae5228f06ee4a3f9d612deff3420fad18f7bd7c3bfac8e47865deebfc6090d63cf38bf67ef19bdadfdb465dc7752a733cb38759033fbc5ddf3ef6830af30be5ddcc4b7f9d69ffe9545151519a33674eb9af73294d56ec11ede81e22474f4ff93d3456be234649921cdcddd57ae6078a7ef20959f2f3e51a18a856d36758db3579f6391d7a6cbc3c3b7428f6977e73bdfa6afeda54ed1f3a44e67af5e5e2e7270717976263361876bf221f7a40bb6fed27df61c3d568fc63f2ecdc451e1d82f4dbc8e172f2f292d9c747b9a7cf58db24bc3743e97bf7c86436cba55123357d61b25dfbd7e2f5371433e9056defd6590e4e66d5bffb6e7976e95a661b5bfb1ef8d214c5be3245bb6ebe4992e473cf902b2ece37393babcd871f69ffbdf7a8569710b906065678bcd298ebd557e04bffd4c191c365f6f191253fcf661b0000809ae6ca737524f39245f373870cad9aafc2c59f476156a61cdcdc254931cf3dab5a212155f615cb000000a899967ebd4061c3468649ca929479f127e3b2c75992b239e2822a736cfabf95b269a34c66b3dc5ab65483b0fbaa7b4a000000a8a1082ea832812f55ee1de1010000f0e7c5c5f9000000000c8fe002000000c0f0082e5729ed54ba16dcb544b382e669c7477baa752ef1eb13f48edf079a13fab93eedbb40fbbefcad5ced239746eb428cfd77b8bf1a19070e687fd860e5241cd39efe375b9f2f484951e498d1dadea5a32242bb28e61fcfc89293632d4fdfb35bbb6fbe493bba8728eab14754989d6d57d999afe66b57bf1bb5fbb69bb57ff02065c7c6da35cfb2fabc24eeffa668b3bf6f896557282cd4be417f554448b022ba7556d4638fa8203ddde67887c68f534448b0c23bb6d7e600bfa2f621c13ab76a65d96b6663bc8aeebb3deb62f43e4b2b2bcccab4ae6f4448b0b6770ed2667f5feb7ba6b4f72e0000a85a0497ab54cbcf53235686a9ed5dadaa7b2a92a4bacdbdf568c483ba6fd1ddda396f9ff6cd3f6877dbc865d1ba7024a90a67679ba5b050bec3ef5768c46e75dbb44dd947e37572de5c6bf9e17f3ca3a6935e52b7ed3b55989ba7d35f7c6eb3ac303353312f3ca70ef3bf5297b5bfcafba6be3afaee5b76cda7acf124296de70ee52626dabf832693da7cf8914277ee55b76d3b64292cd48939b36d8ed7f6e3790addb957ede67d2ad7800085eedcabd09d7b557fd05d65af998df12abaefb6d6a526f4595a99839bbb757d4377ee55a3718fa86effdbe5dabcb95df30100005583e072999c941ccd68f69136bf13ae0583bed1a77d17e87cf40549d2f1f0939a7fe737faec96af347fe037d6e76d29abdd9a677ed17f6f9aafcf6f5ba8a50f7ca7cc73bfdfc032f6e7a3fab4df027d76eb427d7af357c58e84d83317cf861eeafe7817ed9bfffb5197d2c63b11714a0bee5aa2846d27b5fef52d5a70d712edfeef7ebbc70b0f0fd7c48913ed5a8f4b4c66273979d7911c1de554b79ef579a73a7554f72f7f95c9c9492617177974eca4ec846392a49c63479573e2b8eaf6bf5d969c1c3508bb57e7d7acb65966329b65ae57cf7a83c682cc0c3937b47db3cfb2fa94244b4e8ee2a7bea6c0c92f9563c74d72096852f4b8a04096bc7c395efcca685be395a6ac352b6bbc4bd276ed54ec94e2fb50d1b5aeca3e4b52d13eed1d2febc8119dfcef276af1d6bbd6e74a7bef020080aa4570f9839cb45cd5f6afa511abeed5985fef9757132fe5a4e6eafbbfafd5a08fefd0985fee57df977b69cd33bfd8eecb46bb5e4f876aec86917a70ed70f9776ba8ad337ebff3fc9677b7ebe6576fd4989f876bd477f7c9b3a1875d7d5ece3bd04b4971bf079ed2c6f30ff5d38895610ae8d1487da7f4d2889561ea32b6a3dde345464696fb4698ee6ddaaaddbc4fe5d2c85f418bbe29b14e414686ceaffe5e3e43ee2d9acbe9d372f6f151d22f3f2be2861039376ca8dcd3a76c9699cc66b579ff43edbb7ba022ba7652ca962d6afa8fe76dceb1ac3e25e9d88ce96a3074989cead42dd7be4bd281a161dad6be8d0ab3b3e4ffe863768d678f3fae5959e35d9275f8b04e7df6df62cf5574adabb2cf9254b44fbbc6b35814f3ec530a9c3c45cebebed6a7ed79ef020080cac7d721ff81c9c1a40e43db5a1f3bb93aea78f849659ecbd2b78fff68ad979d64fbfcfb53bbcf94d92e61db49edfbdb01592c52d6f92cd56951c75a16d0cb5feb5fdfac33fb5aa9699f0035ecd2c0ae3ecb52d67815dd07491a33668cc68c1963d71cec5650a0e8bf3da1862347a97668f76245de7d6e54d0c2c5255eab515259414a8aa2ff3e411d97ac9047fbf68a7fe335c54e79492dfffd1fbba652529f19bffda6d4ede16afafc8b2ac8cc2cf7ee057dbd448599998a9af0b8123e98a980894fdbb57f652a63cdca1aafc1b0e16a306c78895d9677adabb2cfb254b4cfb2ca4e7df6a91cbdbcd4e0bea1e59a0b0000a81a04973f70f630cbc1e9ca0351f55bd7d5889561a5373495fc7469ed926293b561ea163df8f370b9d777d36f5f1f52d4aa186b79df29bd1434acad8e6e3cae650f7da75bdfb849adef6c61df5c2e4a8e4f519d66de768d57167bc7ab34168b0e3ffb94dc5a3457e3bffdddfab48b9f9f72cf9e95c96c967bdb763affed2aeb295f6595a5efdf27272f6f79b46f5fb43f770ed2a147c659fbcdbf705e7b070e902479f5be512ddff9b7cd3e5323b62b272141bbfaf696c5629124edee7fb382577c2ba7baf54aedf3720eeeee6a70ef7d3a396fae02263e5de678155db3b2c62b4b45d7baa6f4696bbc9c13c775fcc3f715bccaf6e96a0000e0dae054313bf875f155525cb212369f902415e4162861ebc96275dcebbb29f5449addedb29373e4dec04deef5dd2449d1df1d29d6f6c2e124d56b5d575dc775528bfe814a8a4db67b2e52d1b79d6d9fbd5b1def6f6fd77892e452db4559e7b38a3d67cf785bb76ed5840913ae5cb80a3a32e90539b8bb2bf0e5ff2b3ebf8026720d08d0859f7e90249d5db258f5fe32c066996b60a0b28f2728e7e2751f295b36cbad454b6bbf4e75eb2964cb76856cd95e2c6094d5a7df9887d46dfb4e75ddb0459dd7ac952475f9e957eb350fa5f5997bf2a4b20e474b2aba46e6dc77abe4deb6adcdf12aba66658d7749da8e081d99fc42a5ac754de9d3d678475e7c5e4d9f7b51ce0d1b0a0000184349c709cc4b16cdcf1d3274c4359f4c75cb49c9d1ecce9feaa9b8c7ae283bb1fd947ef9e746e5a4e6aab0a0504143dbaad7b3bf9f8e937e3a434b46af524176813a8e68afd0c7bb94ddce22ad79e667a59e4897ab978b5cbd5d947e3a4343be182849faf6891f757af71939981d54dbbf9606cebe43aede2e65f619bf3e418b87ad9067430f397b3a2be4e14eea3ca6e85a155be35dea77cd33bfc8a596b3dadfdb465dc775b26bdf3ffbec333dfcf0c3cacfcfbfead720e3e041ede97f73d13505a6a2b7679d7eb7584feb4adfb35bd1139f54417a9a6a750b55ebf73e9083ababcdb2330b17e8c487b324070799ebd553ab77a6dbf52d5165f57949414686b6b56eae9e478e5e51f64799518714fde413ca4d4c94c96452ed1e3dd572dadb72f4f2b26bbcd4ede13afcd4930ad9b2ddae35b3359e249d5db45087fff1b47a2714bfc6a3a26b5d53fa2cad2c3b36563b6fec79456869fdfe87f2ead5bbccd717000094dfd2af17286cd8c830495992322ffe645cf6384b5236c10500000040b5b137b870aa1800000000c323b800000000303c820b00000000c323b800000000303c82cb1f442e8dd68598e412cbb2ce67e9fd7673ed6e97762a5d0bee5aa25941f3b4e3a33d953ed792641c38a0fd61839593704c7bfadf7c45794448b0224282b5d9df57d97171553a97f3dfaed2ee9b6fd28e9eddb5fbe69b94f4cbcf95d26ffe85f3da1e1c54ee76e7562c53d6912bbf06baa2edb6b66ca6c26cfb6efe691467167ca9232f3c57ad73a8c8eb60eb7d0d0000ae7fdc80f20f229745cbec6156dd96de5794b978b968e8c2bbed6e57cbcf53235686e9e7c91baa6cbee515ba73afa4a20fdd55292f3151475e9aa4e0d53fc8a591bff2ce9f53fe850b95d2b7636d2f75f87241b9db252e5f2e07770fb9b568714ddaa164ac270000a80882cb4527224e69fdeb5b9418795e497129da3e6b97da0d6ead2e638bee83b26dc60ec5fc10a7a4f8643d19f988ddedca723cfca4d6bfb64579597932bb9bf597e9b7a85eebbad6f2f0f0702d58b040efbdf79eddfb61323bc9c9bb8ee4e868bd19a23d629eff87d276ed9483d92ce746fe6af9f63b32d7abafa49fd7eac4c71f2968d137928aee28be6ff0208586ef941c1c4a6d9773eaa41c5c5ce4dcc0579264ae575fe67af5ade315a4a529f695294adfb347968202f90cbe47014f3d53549692a2881b42e43ffe31256fdaa882b454b5f9708edc5ab5d6f10f66eac24f3f2a3b3e5eddf71e28b60f9b03fcd470e468e59d4b547e7aba5afdfb3f72f16facb41d118a9ff68632a30e29fb68bc4e7cf4a17cee1aac860f8e29734dec69777ce60c9d5f537477f5f69f7f2197802692a4d488ed3afac6eb2ac8ca92a3bbbb5abefdaedc5ab5b6f93a242efd46c7a6bf2b73fdfa72f66d28b3771db578eb1d4952d22f3febe8b4a9b2145ae41a10a096fffe8f754dcb2a4b5cb258c7664c97d9bb8e5c9b06cad1c3c3e63cca5a4fa9f4f78b54faeb979f9252e67a26fdfa8b8e4e9b2a39384a9642b5f9f0636bb8a9e8fb1a00005cdfcc4b16cdb7fc592d19b5ca72784d6c896599e7322d33db7e5cee766b27adb744ccde5decb9ec941ccb9cee9f5b528ea75a2c168b2561eb09cb97772e2e56e7d34f3fb5383a3a967717ecb2a545a0252bf6f7f966271cb33e3e3eeb7d4becff4db1582c164b615e9e253cb88325f7cc196b59dc6bafd86c67c9cfb71c187e9f25a247a8e5c84b932cc91b37141b3fe6f97f588e4c7ec162292cb4582c164b667494b52c3f39d9b2a95103cb99af16143d51506029c8cab296e79d3f6709efd4e18a7ddad4b8a1e5fc8f3f582c168be5cca28596438f3e5cacfce09807ace5e5515abb2d2d022d67977e63b1582c96b8a9af5ae2df9c5a34ff9414cb8e3e3d2cd9278e5b2c168b25257c9b65dfe04136c7c93d9768d9d6a14d51bbdd07ec4f00002000494441548202cbfea1619698e7ff61b1582c96828c0ccbb60e6d2d1987222f8ef79a5d65b967cf5ab6b66b65c93971c252989767d977cf5dd6325bca5acf525f778bedd7afb4f5dc7bd79d96a40deb8a9a646658f2d3d3ed9a270000a8d9962c9a6f913444d200497d25854a6a2f2950520349b5249939e2524d4eed3ea3cc7359faf6f11fadcf652715bf5e62cc98311a3366cc35994feaf6709d79eaefb2582ccabf7041aecd2ffea5dbc949f5ef1ca8c4552bd468dc234a5cbe54ada6bf67b39d1c1dd5e1abaf95be67b792376e50ccf3cfaac1d0e1d6a32a49bffea20ef3bfb2dee9fd8aa3110e0ef2b9f73eeb635b77a4bfc4ab67afa26defde3afaf6b48a2e87ddeade76bb24c9a34390927ef9459294b677b7f2ce9f57f49313acf5f2934bbe6eea72e9fbf6c9bd4d5bb934f2bfd8777f65c5c44892320f47cb5cbfbedcdbb49524d5bf73a00e3ff394cdb2f403fbe5d1b69d9c1b359224d5bbe32fca8a8db57bff4a5bcf525ff74b2af0fa79ddd04347df7c4319830ec8ab776f790677b67b9e0000e0fa4770b9164c253f5dbf755d8d5819766de77291253f4f0e2e2e92a4ecb8381d9df6a682d7fc2873bdfa4a5cb258e7befdd65ad767c8bd8a7be59faad3b79f0a7372e511d4d1ae7692e4d9b98b3c3b7791779f1b153df1496b70b1c5d1c34326a7f2bf3d2df9f917b70592c552eef6e565329b8bb626935458687ddebd556b755cb2bccac7b747b1752ce79a96b49ef6bcee1579fd9a4e7e590d0e472b79d3261d7a649c9abdfabaea0df86bb9fa000000d72fbe55ec0f5c6abb28eb7c56a5b673afefa6d41369c59ef3ebe2aba4b864256c3e21492ac82d50c2d693c5ea6cddba5513264c506548ddb6555987a3254919fbf7c9c1d959cebe45d79fe42727c9ece363bd46e1fceaef8bb5ad15d24d79e7cf2961e67bf219f27bd02aab5ddef9734adeb0defa7bdaee5dd623099254e7965b7572de27d60ffb5947622a653fcfaffeae68fbdd2ad50ae956acccc9abb6f2cf9f2f779fe56d572bb88bb2e3e294ba758b24c9929babd4f06d36db7976eaa4cca843ca3d79522a2cd4859f7e3f1ae7deaab5f2ce9d53c6c18392a473ab56aa7668779b659e9d3a29f370b40a32322449295bb6d8bd1f52c9eb69ebfd624b69eb997524466ead5acbefa1b1aa73ebad55fead770000a066e188cb1f747e30486b9ef9457bbff84dedef6da3aee33a293f2b5f5f0f5ba1c2bc426527e568c15d4b54cbcf5383e6dc5166bb4b3adedf5e4b46afd27f6f9caf8e23da2bf4f12e72a9edac21ff1ba85ffeb95139a9b92a2c2854d0d0b60ae8d9c8da2e2a2a4a73e6ccd1ac59b3ae7abf2c05053a34fe61156464c864762abae0dbd15152d151118f0e41fa6de470397979c9ece3a3dcd3678ab5f7b9274c0933a6abdbd6edd6e7ca6c67b1e8f8073375f8e9bfcbc1c5452e8dfcad17994b52e04b5314fbca14edbaf9a68bfd0fb17934a6303b4bbf8dbc5f96fc7ce52727697fd860b934f453eb59b3ad75320f1dd2ee5bfbc9b196a7dabcff61b1f60d473ea09817fea1d35fcd97cfe021f27b68ac5d6b57de768eb56babddbccf14f7fa2bca4f4d95a5205f0dc2ee53ed1b7a94d9ce5cafbe9abf3655fb870e91b95e7db9f8f9598f8a39b8bbabf5cc0f14fde413b2e4e7cb353050ada6cfb05966ae575f812ffd5307470e97d9c74796fc3cbbf6f99292d6d39ef74b594a5bcf84f766287def1e99cc66b9346aa4a62f4c2ed75c0100c0f5ada49398cc4b16cdcf1d3274c4359f0c70353607f8a9575c42854e31338ac2ac4c39b8b94b92629e7b56b54242e43bbc7afe2d5e0feb0900008c6fe9d70b14366c6498a42c4999177f322e7b9c25299b4f2480811c9bfe6fa56cda2893d92cb7962dd520ecbeea9e1200008021105c70dde89d70aabaa770d5025f9a52dd53b0ba1ed61300005c3fb8381f00000080e1115c0000000018de751d5cf6ecd9a3828282ea9e46859dde7d569989e5ff6ae66b69d3a64d0a0e0e56f3e6cd3574e850a5a5fdfeb5cfaeaeaecacece2ea3b5d4a3470f6ddb66fbab82edb570e142454747575a7f0000003086eb3ab82c59b2446fbffdb662626264b9063723ac6ca7769f51466246754fa354d9d9d9bafbeebb3573e64cc5c6c6cac3c343932797ef2b6ce7cd9ba7a0a0a04a9b13c1050000e0fa745d071749caccccd4e79f7faefffce73f3a76ec58958cf1c3b3bfeae03751dafde93e45ccdeadaca4df8f32e467e5ebe7c9eb75e4c738857fb0539bdf0d57c699a23072eed0796d7e375c9bdf09d7ae4ff62a37bde81e1bc9f129da3e6b9792e29215fd5dacb6cfdaa563176f545956bbab151e1eae89132796abbebbbbbbfaf6ed2b491a356a94befbeebb62755e7cf145858484a84f9f3e8a8f8fb73effc5175fa85fbf7eead9b3a70e1c3850accde6cd9b75e38d372a24244437dd7493222323ad65a9a9a91a376e9c3a75eaa40e1d3a68ead4a9928a6ed6d9af5f3f6ddab44993264d52bf7efd347bf66c010000e0fa70dd07974b9292923477ee5ccd9e3d5b67cf9eadf4fe7ddad75397873aa951b7868a5e55fc2ef0f9d90572f576d50d7f0b51af67bbcbad9ebb0a720bb46ffe41058f0a52efe76e90a79fa70eaf3e2249f20ef452f7095d55a799b75adfd95cdd27745593de45779d2fabddd58a8c8c2cd7cd2e4f9c38a1860d1b5a7ff7f5f5d5f1e3c78bd5090e0ed6ce9d3b357cf8703df3ccef37981c3d7ab4d6ad5ba7f6eddb17ab9f9292a2b163c76ac18205dab973a7de7cf34d3dfae8a3d6f2e79f7f5e6e6e6edabb77af7efbed3785858549927af6eca975ebd6a94f9f3e9a366d9ad6ad5ba7c71f7fbc5cfb0f000000e3fad304974b92939375e448e57cd0bf5cdd16758ab62deb28292ea578a1c9a446dd1a5e7c6892839349e9a73365f634cbb3a18724c9b7530325c7a7da1ca7a2edec3166cc18e5e7e7574a5f970c1a3448923478f0606dd9b2c566fd8888082526266af4e8d1ead7af9f5e7ef9655db870c15abe66cd1a4d9830412653d1bd53dbb56b57a9f30500008031fd69eee3e2ececacdebd7bab57af5e727575adf4fe0b0b2c72946429b45c713d8d938b834c0ea64a1fb3baf9fbfbebf4e9d3d6dfcf9c39a380808052eb5f0a1bb6b46bd74eebd6adbbdae9010000e03a72dd1f71717474d40d37dca0a79f7e5ab7dc724b958416493ab3bfe8f4b3337b1355a799b7cdfa9e0ddd95979ea7b493e992a4d37bcec83bb076b13a4eae8e575cbf624fbb8adaba75ab264c986077fdeeddbb2b3333d31a32befcf24bdd79e79dc5ea2c5fbe5c52d11725f4eedddb669fa1a1a18a8989d1faf5eb2549b9b9b9dab871a3b57cc080019a3973a60a0b0b2549515151c5da7b7b7b2b3131d1ee7d00000040cd705d0797ae5dbbeaa9a79ed2c08103e5e9e959a563a59d4ad7e677c275f6b744b519d4c2667d476747751ad95efbe6ffa64d6f6d53c6990cb51a50bc5d402f7fc5af4f50f8cc9d3ab6e9b8dded2a2a2a2a4a73e6ccb1bbbe9b9b9b56ac58a1891327aa59b366cac8c8d01b6fbc51acce810307141c1cacc58b17ebdd77df2db19fcb8fc478797969d9b2659a3469923a74e8a08e1d3b5a438c24bdf5d65bcacdcd55505090dab76fafc58b1717eb6bfcf8f19a3e7dba7af7ee5daeeb75000000606c259dbb635eb2687eee90a123aef9646aaa1f9efd55b7bfd3efba3c1dac2ae5e7e72b3030509b366d52606060754f07000000d560e9d70b14366c6498a42c4999177f322e7b9c2529fb4f738d0b8c25282848d9d9d91a326408a10500000036115c2eba742ad61f79f8ba2be34c66a965f55ad5d51dffbeb92aa766b7abd9876bed8ff76e01000000ca4270b9a8499fc6a59655c707fb8ab81ef60100000028c9757d713e00000080ebc3751b5cb25372b47dd62efdfaca261d5d9f70cdc63dbdfbac3213b3ae787eed8beb55986f29a145c5cd7ee7ac7ab738a800d31eedda56f2a960000000c0f5e0ba0d2eae5e2eea3ea1abfc3afb5ed3714fed3ea38cc48c6b3256cfbe9efa6a6d4b356de17c4dc603000000aacb9ff61a97a4b864457f7b4405790572747652d07d6de4e1eb21a9e8e848d3be01ca389ba1ccf359ea32a6a3dceaba49924eee3ca3981f62e552cb592eb59d657637abc37d6d951c9fa2e8ef8e28fd74519bb85f8fa961675f35e9ed6f1d33f6a7389d39704e92d475dcef7d4a527878b8162c58a0f7de7bcfee7de8dcddbd32960200000030bcebf6884b59f2b2f2756061a482477750af67baabf55f9bebc0e2e27760afd3dc5b9d1feca8869d7c95b0eda42429373d4f879647abfb135dd4fd6f5d9597996fadef1de8a5ee13baaa4e336fb5beb3b9ba4fe85a2cb448927b0377f57eaebbeab7ab6bedf392c8c8486e980800000094e24f195c528fa729273d4ffbe61fd4f659bb747875acf232f38ad5a913e8254972abebaaece41c4952caf1547936f490abb7ab4c26931ab4af5fae711b7428aa5fbb512d6b9f978c193346f9f9f9253503000000fef4aefb53c52c2af982f85abe1eea3ea16ba9ed4c8e4599ce64324996cab9a8dec1c9b1d2fb04000000fe0caefb232e2e9ececa4e297e74a376e35aca3897a9a423c992a4c2824225c5a6d8eccbab716da59fce504e4a8e2c168bce1e3c77451d275747e5a6e795d0ba6c5bb76ed5840913cadd0e000000f833b8ee834ba3503f5d884dd2e677c2ad5f8b6c767352d7b19d14f56d8c36beb54d9bdf0ed785234936fb72f634abede0d60a9fb54bdbdfdf25670fb31ccd8ec5ea04f4f257fcfa0485cfdc59ea9dec4b121515a53973e6946bdfde9b7a46a18d7f53427cae1eba2b5677f58c2e577b000000a0a63095f09c79c9a2f9b943868eb8e693a9090a720be4e85c14567efbfa90bc03bde4dfddaf9a6705000000d44c4bbf5ea0b06123c3246549cabcf89371d9e32c49d9d7fd352e95edc84ff13a177d410e0e267934f0905fc8b5bd4f0c000000f067447029a7d677b650eb3b5b54f734000000803f95ebfe1a1700000000351fc10500000080e1d5a8e0b267cf1e15141454f7342aecf4eeb3ca4cccaaee69d8f4eaabafca6432e9e8d1a3d53d15bdfcf2cb6adebcb99e7cf2c962cf474444282828488181811a366c98b2b3b3ad65274e9c50bf7efde4e6e6a69898986b3d6500000054811a155c962c59a2b7df7e5b313131b2d4c01b389eda7d46198919d53d0d9b56ac58a141830669e5ca95d53d1549d2f8f1e3f5fefbef177beee1871fd6b469d3141f1fafdcdc5c7df4d147d6327f7f7fad5bb74efefefed77aaa000000a822352ab848526666a63efffc73fde73fffd1b163c7aa648c1f9efd5507bf89d2ee4ff72962f66e6525fdfed7fcfcac7cfd3c79bd8efc18a7f00f766af3bbe1ca38531446ce1d3aafcdef866bf33be1daf5c95eeb8d2893e353b47dd62e25c5252bfabb586d9fb54bc7369fb0f6595abbab151e1eae89132796ab4d424282ce9f3faf8913276ac58a15c5ca929393e5ededadd75e7b4d7dfbf655e7ce9d15191969b3ecd1471f557070b04243433564c8102526264a92366ddaa4ae5dbb5afb3f77ee9c1a3468a08c8cb2c35d5c5c9c8e1d3ba68103072a272747a3468dd2f2e5cbcbb59f000000a8596a5c70b92429294973e7ced5ecd9b375f6ecd94aefdfa77d3d7579a8931a756ba8e855c54f37cacf2e90abb7ab6ef85b887a3ddb5d6ef5dc55905ba07df30f2a7854907a3f77833cfd3c7578f511499277a097ba4fe8aa3acdbcd5facee6ea3ea1ab9af42e3a1a5056bbab151919a959b36695abcdca952b75fbedb7ab4f9f3edab163875252528a95a7a6a62a202040ebd7afd7ae5dbbd4ac59339b6593274fd6debd7b151111a11e3d7a68dab46992a43e7dfa282f2f4fbb76ed92247df1c5171a3a74a83c3c3cca9ce3891327e4ebebabd5ab572b303050fefefe3a71e244996d00000050b3d5d8e072497272b28e1ca99c0ffa97abdba24ed1b6651d25c515fff02e93498dba35bcf8d024072793d24f67caec699667c3a20fddbe9d1a28393ed5e638156d678f3163c6283f3fbf5c6d56ae5ca93beeb8432e2e2eeaddbbb7befffefb62e50e0e0e1a3d7ab4f5b1abababcdb24d9b36e9e69b6f56bf7efdf4bffffd4ff1f1f1d6368f3ffeb8e6ce9d2b499a376f9e1e7df451bbe77aebadb7eaa79f7eaa91a70d020000a07c6aec7d5c9c9d9dd5bb776ff5ead5abd887e7ca52586091a3244ba1e58a0fc64e2e0e3239982a7dccea969a9aaa0d1b36283636562fbffcb292939355bb766ddd7ffffdd63a9e9e9e72722af96d5352594c4c8c264f9eac1d3b76c8c7c7475f7ef9a5bef9e61b6bf9e8d1a3d5b66d5bdd77df7daa55ab963a76ec68739e8d1b37d6e9d3a765369b151414a46fbef986eb59000000ae7335ee888ba3a3a36eb8e1063dfdf4d3bae5965baa24b448d299fd45a79f9dd99ba83acdbc6dd6f76ce8aebcf43ca59d4c97249dde7346de81b58bd5717275bce2fa157bda55d4d6ad5b3561c204bbebaf59b3463d7bf6d4e1c38775e8d0216dd9b245ab57af565e5ec5afb9b970e1827c7d7de5e3e323495ab66c59b1f25ab56a69e0c0811a3d7ab4c68f1f6f579f8181810a0c0cd4aa55ab24159d623678f0e00acf11000000c657a3824bd7ae5df5d4534f69e0c081f2f4f4acd2b1d24ea56bf33be13afb5ba2da0c6a61b3bea3b3a33a8d6caf7df37fd3a6b7b629e34c865a0d28de2ea097bfe2d727287ce64e1ddb74dcee7615151515a53973e6d85d7fc58a15bae38e3bacbf376fde5cbebebe5abf7e7d85e7101a1aaace9d3b6bc08001bafffefbe5ebeb7b459d071f7c506969691a3a74a8ddfdce9d3b5793264d52e3c68de5e2e2a2c71e7bacc27304000080f1d5a853c5eeb9e79e6b3656dbbb5a95783a98939b936e7db36f896deab7ada7fa6deb95daa777a0977a3fd7bddced2a6acc98311a33668cddf5e7cf9f7fc573515151d6c7dedede4a4e4e2eb16d69652693491f7ffc7199e3fefcf3cf1a356a94cd8bf22f171a1aaa83070fda5d1f000000355b8d0a2eb8be141414a863c78ef2f2f22af5eb8cebd5aba7458b16e9dcb9737af7dd77edeaf7d4a9537ae8a187e4ecec2c6767e7ca9c32000000aa494957989b972c9a9f3b64e8886b3e99ca74e954ac3ff2f07557c699cc52cbeab5aa5b95d32a97eb611f00000080b22cfd7a81c2868d0c93942529f3e24fc6658fb324655fb7475c9af4695c6a594df9607f3dec0300000050196ad4c5f900000000fe9c082e000000000cafda4e154b4949b15d0900000000548dc1c5cbcbabba860600000050c370aa1800000000c323b800000000303c820b00000000c323b80000000030bc6a0d2e6bd6ac51972e5dd4ad5b3775edda55d1d1d1d6324f4f4f6567674b92162e5ca851a34659cb525353356edc3875ead4491d3a74d0d4a953ed2adbbc79b36ebcf146858484e8a69b6e526464a45d7329ab0c00000040d5abb66f1593a4d75f7f5defbcf38e6ebbed36656666aab0b0d0ae76cf3fffbcdcdcdcb477ef5e994ca66201a4b4b29494148d1d3b566bd7ae55404080366ddaa4471f7d541b366cb039978ace1300000040e5a8d6e072d34d3769d2a449dabd7bb76ebef96675ebd6cdae766bd6acd1ead5ab6532992449eddab5b359161111a1c4c4448d1e3dda5af7c2850b76cda5a2f3040000005039aaf554b169d3a6e97ffffb9fdcdddd75efbdf76ad9b265d6320787dfa79697975729e3b56bd74eebd6adb3fe1c3870c0aeb9945506000000a0ea556b70898a8a52bb76ed3461c204fdf5af7f554c4c8cb5ac71e3c68a8f8f97246dddbab558bb01030668e6cc99d653b6a2a2a26c968586862a262646ebd7af9724e5e6e66ae3c68d76cda5ac320000000055af5a83cb1b6fbca1f6eddb2b383858c78e1dd3c30f3f6c2d7be59557346cd8303df8e083cac9c929d6eeadb7de526e6eae828282d4be7d7b2d5ebcd86699979797962d5ba6499326a943870eead8b1a335c4d89a4b596500000000aa9ea984e7cc4b16cdcf1d3274c4359f0c000000803f97a55f2f50d8b0916192b224655efcc9b8ec7196a46ceee302000000c0f0082e000000000c8fe002000000c0f0aaed3e2e292929d53534000000801aa6da828b979757750d0d000000a086e1543100000000864770010000006078352ab86cdab449c1c1c16adebcb9860e1daab4b4346b99abababb2b3b3cb6cdfa3470f6ddbb6add2e6b370e142454747575a7f000000004a56adc165e7ce9d2a2828b0ab6e7676b6eebefb6ecd9c3953b1b1b1f2f0f0d0e4c993cb35debc79f31414145491a99688e0020000005c1bd51a5c162e5ca8d75f7f5d515151b2582c65d60d0f0f97bbbbbbfaf6ed2b491a356a94befbeebb62755e7cf145858484a84f9f3e8a8f8fb73effc5175fa85fbf7eead9b3a70e1c3850accde6cd9b75e38d372a24244437dd7493222323ad65a9a9a91a376e9c3a75eaa40e1d3a68ead4a992a4ad5bb7aa5fbf7edab46993264d9aa47efdfa69f6ecd957b31400000000ca506ddf2a76494646863ef9e413d5ad5b57c3870f57b366cd4aac77e2c409356cd8d0fabbafafaf8e1f3f5eac4e7070b066cc98a10f3ef840cf3cf38c962e5d2a491a3d7ab4468f1ead1e3d7a14ab9f9292a2b163c76aeddab50a0808d0a64d9bf4e8a38f6ac3860d92a4e79f7f5e6e6e6edabb77af4c269335d4f4ecd953ebd6add3e0c183f5f0c30f6be0c08195b61e00000000ae54edc1e5920b172ee8c30f3f94bfbfbfeebfff7ef9fafa96bb8f4183064992060f1e6c3d3a52968888082526266af4e8d1c5e671c99a356bb47af56a994c264952bb76edca3d270000000057cf30c1e5920b172e283a3afa8ae0e2efefafd3a74f5b7f3f73e68c0202024aede752d8b0a55dbb765ab76e5d85e60a000000e0da30ccb78a393b3bab7ffffe9a3c79b26ebcf1c62bcabb77efaecccc4c6bc8f8f2cb2f75e79d7716abb37cf97249d292254bd4bb776f9b638686862a262646ebd7af9724e5e6e66ae3c68dd6f201030668e6cc992a2c2c9424454545156befededadc4c444fb77120000004085547b7071707050af5ebd3469d224dd7efbed7275752db19e9b9b9b56ac58a1891327aa59b366cac8c8d01b6fbc51acce810307141c1cacc58b17ebdd77df2db19fcb8fc478797969d9b2659a3469923a74e8a08e1d3b5a438c24bdf5d65bcacdcd55505090dab76fafc58b1717eb6bfcf8f19a3e7dba7af7eead59b36655740900000000d850ada78a75ebd64db7df7ebbead4a96357fd3e7dfa68efdebd2596d9ba874b7e7ebe8e1f3f7ec52968bd7af5d2962d5b4a6c53bb766dcd9b37afd43e7bf5eaa5fdfbf7db983500000080ab55adc165d8b061d7649ca0a0206567676bc890210a0c0cbc266302000000a83c86bb38bf2afcf1de2d000000006a966abfc605000000006ca9b6232e292929d53534000000801aa6da828b979757750d0d000000a086a9b653c5ecbd412400000000708d0b00000000c323b80000000030bcab0e2ee366a768ececd4ca980b0000000094e8aa834ba1458a882bd4c31fa557c67c00000000e00a571d5c3e7dc24ba1818eda7ddca2c73ec9aa8c3901000000403195728dcb7f9fa8a5d0268e8a3ceda4e7bfcaaf8c2e01000000c0aad2eee39267c95361a149f9f9a6caec16000000002ae788cb03ef27e9408249ed7df3357db46b6574090000000056571d5c46bd774e7b13a40e0d0b35e7d15a9531270000000028e6aa838ba3c9a2e0c685faefdfbc2b633e000000007085abbe18e5f3bffb54c63c00000000a05495728d0b0000000054a56a0b2e168ba5ba860600000050c370c40500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec88230ef0000200049444154c10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000181ec10500000080e1115c00000000189e536905111111d7721e0000000050aa52834bdbb66dafe53cac0e1d3af4a71dbb5dbb76b2582c32994cd7747b69bfaff5b86c797dd8b2bd9a6d646464b5fd77932d5bb66cafa76d646464b57d0696a484b8c376d52b35b8984ca64a9b4c79fd59c7aeae37eba5fdaeee7f346c797dd8b22dcfb63affbbc9962d5bb6d7d3f6d2670da32b35b85cda89eaf0671dfbf2f1d9b265cb966dd9db4becad9f9999a9a3478feac2850b4a4d4d5579d4ae5d5b75ebd655d3a64de5e6e656ae71e7cd9ba7b163c756fb7ab165cb966d69db3f3e36aa52830b0000d78bc8c8481d3d7ab4c2ed535353959a9aaaf8f87805060656eb2915006004fbf6edd3a44993acbf4f9b364d9d3a75aad23139e25283c7cec8c8d0fefdfb75ead42949929f9f9f3a76ec280f0f8f2a1f1bd716af0f50327bfe6d6cdebc596969699536665c5c9cce9f3faf5ebd7ad9dd867fc3008cce9eff4ead5dbb562b57aed49b6fbe29e9cad3cbd2d2d23479f264dd75d75dbaedb6db2a7d8e153ee23270e0c00ab5fbf6db6f2b3aa4211d3a7448dbb76f972475efdefd9afc152e2f2f4fcb962dd3d2a54b959e9e5eacccd3d3536161611a3264881c1d1dab7c2e006064919191951a5a2e494d4db57e390000fc19ac5dbb563366cc90244d9e3c59b7de7a6bb1f2d8d858cd9d3b57b1b1b1d67a951d5e2a7cc4a5a217f0d893e66cd5d9b2658b245df1d7ae050b1694da263030d0aebf8e95e7af62e3c78fb71eed90a4afbffe5a7e7e7efaf8e38fedeea3a4f1cbba802a2f2f4ffffad7bf141e1e2e373737dd72cb2dead8b1a32469fffefddab2658b3efffc73c5c5c5e9d9679f958383835d1764d91ab73cdb84840405040454fb8566d7cbb6b25f9f3fc3f6e8d1a36adab4a961fa615b355b5bffddbc744d4b69e5eeeeee1a3870a0727272b46ad52a151414c86432c9dbdb5bb7df7ebb366edca8ecec6cf5efdf5f1b376ed4c993278bb5bf74da98ababeb55ff3b8e8a8ad2238f3c72c5ff13faf7efaf2953a61862bdcbda8e183142b56bd7d69c397364b158f4c0030f283e3e5e6fbef9a6faf4e9a39f7ffe59afbefaaa66cc98a1ae5dbb5ed5789191911a3f7ebca64d9ba63e7dfa1862ff2f6d8f1d3ba651a346e9c9279fd47df7dd57edf3b1671d2f71737353d7ae5df5ecb3cfcac7c7a7d476dbb66dd373cf3da7f7df7f5f9d3b77aef6fd605b39db4bff8d2acbca952bad75636363151b1b6bfd5d92e6ce9d2be9f78cb072e5ca2bc2cdd5baea6f155bbd7ab55df5060c186077bfb6ea3838385817ebf2305256bb4b1fe0af76ec4b468e1ca9d4d4543569d2c4fa3f9bb973e72a2121410f3cf080bef8e20bbbfab99c3d6faee5cb972b3c3c5c2693490101017afcf1c7e5eeee2e49bae38e3b74fcf871bdfaeaabdab061830203033574e850bbdeac57f366cfcccc948383835c5c5cf4f6db6f6bf7eedd5ab8706195fce3faeebbeff4c9279f282b2b4bfdfaf5d3a44993aae51f797a7abadcdddde5e8e86877bbfcfc7c9bf59c9c9caaf4f531c27f1cab7afbaf7ffd4b7bf6fc7f7be71e5545b53ff0cfe18d02825a2a1220be155151536ea6828a669899965e355f9988668569a6a9886156cba5b27c5c7c5c53eb26757d652668be6e99e2afd45243540a4d0d5f37b444e03c667e7f9c667b0e9c73380864ddf667ad59df3373f6ecfd9defdeb367befb35dfb071e3c62a8be75ef25b4ae7a5a228e586b3d508535ebde9c869515595e0e060003c3d3d69d0a001972f5f465555eedcb903987b55f47abdf86d2b9ebcbc3c5ab56a55693b68c4c5c5111919298e3768d0e0bee78f33b27dfbf6646666a2d7ebc55c20806fbffd96471f7d94ecec6cdcdcdc080f0faf747a0d1a34e0e5975fa6499326f7fdbaede5a34ea7fb43e8e38cbe717171b46ddb968b172ff2e1871f326bd62cd2d2d2ec9ee7e262fe76b98b8bcb7dd75fcaaa935ab975c4db6fbfcd6bafbd56c661b12cf71a616161bcf5d65be5c659512a3dc7c5603054284167e22d2f4c54541460f6f6545515cecbf0e1c31dc6591569037cfef9e7dcba758b468d1ab162c50a4c2613002b57ae243e3e9e1f7ffc91acac2c3a77ee5c6e5cf6d2b7250b0b0bd9b46913dedede346cd890b367cf3267ce1ce6cc99838f8f0f609ee7929494c4e4c993d9bc7933fdfaf5a366cd9a0ee3bd57999f9fcf962d5bc8c8c860f9f2e5848484b06fdf3e020202aa253d806ddbb6515050c0a4499368d6ac59b5a5539e3c78f0201b366c60e0c0813cf6d863c2fef6c29b4c0afff8e7467ef9d57a689f25756b07307ecc902ad3d356fedc2f7bfd9e72fffefd04040454693c15cd6f299d978aa2b262cd074edd1ba5cfd7b017ff7ffffb5f87ff878686f2cd37df10121242707030972e5db219bfa3740a0a0aaacc1e008d1b37b67a76787b7b8b16eee8e8688e1c39c2c89123494b4b13fb0b162ca0a0a0807ffef39fdcb87183e6cd9bf3f2cb2f131616c6912347acce7dfdf5d7d9be7d3b274e9cc0d5d5951e3d7a3065ca14d16872affab769d3864f3ef984dcdc5c2e5ebc0840bb76edf8e69b6f5055557c23c2c5c585f9f3e7f3c5175f60341a69d7ae1d73e6cc213b3bdb4acff8f878162f5ecc9021433870e0007abd9e891327d2a74f1ff2f3f359b26409f5ebd7e7c68d1b242424d80ca7aa2aefbdf71e1f7df411010101b46bd78e6ddbb6b16fdf3e0a0b0b494949a9723b94575ef6eddb67339f00366cd850615dab42cff0f070faf5eb874ea7c3d3d393d5ab5773f6ec599a356bc6faf5ebd9b2650b003d7bf664d2a449e2fc8c8c0c66cd9a859797172fbef8228f3cf208c78f1fe7a5975e62d1a24574ecd891a54b97b263c70e76eddae5303faac2ee5256bedcdaabfbc03caa07cce5e0871f7e10c77bf7ee4d9b366d3879f2249f7df69938deb3674fce9d337f9b451b195415fc2957155355d5ca7901f3b03145517e97f40f1d3a844ea763dcb871188d4671dc6834121f1fcfac59b33872e448851d175575ec117ffbedb714161612131343424202494949646767939c9c4c525212356bd644a7d351bf7e7dd1357fe2c409ba74e9e2540b5179e96bf2e8d1a36cddba952fbffc125555090b0bc3d7d797f1e3c7535c5c4c7e7e3e3d7af460e3c68d787878b062c50ad14b141e1e4e424202c1c1c1dcb87183c18307d3bd7b77743a1d870f1fe6c1071f243e3ede66f7ffb3cf3e2b1e88cb972fe785175ee0a5975e222a2a8aebd7af939f9f4f6a6a2a797979bcf7de7bfcf4d34f787979d1a953275e79e515f2f3f379fef9e7e9d3a70fb76edde2e4c993d4ab578f112346b06fdf3e8e1f3f8e9f9f1fafbcf20a1d3b764455cdc337962d5b466e6e2efefefe0c1d3a9401030610141484c16060f9f2e5ac5dbb963e7dfaf0e4934f121a1a6ad36e2e2e3afac676e3a3cd3bede67fff7e3136f3a1aaf2c7197befddbb970d1b3658d96eca9429f8fafa929393436a6a2a3ffcf0032d5bb6a4458b16a4a7a7f3d65b6fd1a54b174e9f3ecdf2e5cb85ad860c19c2c081036dea79f9f265962d5bc6a953a700f3fcb0c4c444a1675a5a1a595959e8743a5ab76ecda44993080a0aa2b0b090b8b838ba76ed8abfbf3f070f1ec4c3c383c18307f3f4d34f131f1f6f5506d3d3d3292828b0a9d7071f7cc0aa55ab888c8c64d1a2456cddba95d4d4543a75eac4ad5bb7ace2494e4eae507e4be9bcd4e970eadeb0757e79f785a3b92df5ead5c3cfcf8fecec6c6edcb841cf9e3da959b3268585854ed4d677d1965576a487b3f72f406a6a2aa9a9a922fed9b36753ab562dc0bc20cbabafbe2a7ad9b57d6f6f6f121313e9debd3b13274e64cd9a35bcf6da6b6cd8b041d4218585854c9f3e9d0b172e70ecd831d6ac59c38f3ffe48666626972f5f263838b852f9a8bd987cf7dd77e4e6e6d2b4695362636359b87021376fdee4ecd9b30c193284ecec6c4e9f3ecd8c1933d0ebf5cc9b378fc3870fe3efef6fa567ddba7501445d316fde3cd2d2d2888d8d15d764593fda0a77e2c40956af5ecdd0a143e9d2a50b29292922fc8e1d3baac50ea55ffc2c8fe7e6e6326fde3c9bf9949393c3ead5ab19326408515151425755358f34d074bd70e102bb76ede2d2a54b95ae7f2cd146046873b62e5cb8c0b56bd778f7dd779933670e9e9e9e242727d3a85123ead5ab07c0b56bd758b06001696969cc9f3f9f0f3ffcb0ccfda1e591aaaa0ef3e37ed74352da77583466ce9c59265f7bf7eecdcb2fbf8ca228624898e6bc584e9bf8e4934fca8ddf595cecfda1aaea7dd99c4d5b5114ba74e942a3468dc8cbcbe3d0a143e2bf43870ef1c1071f586d96ff57366dad7bf4975f7e29f39f76cc643255f8bab5f4edc9ab57af02d0ba756b3c3d3d993b772ead5ab522272787e4e4646edfbe2dc2b76ad50a802b57ae941bafb3f2cc99338c193386575e798513274e3068d020d6af5fcfc68d1ba95dbb3623468cc0cdcd0d5f5f5fa64c9982b7b73753a74e65efdebd74edda957efdfa71f4e851264e9cc8952b5744c1ffcf7ffe43fdfaf59933670e269389b973e78a610696e98f1b374e3ccca64d9b46d3a64d01387cf830616161f4ebd70f2f2f2fde7cf34d3c3c3c484c4ca47dfbf6ecdfbf9f9d3b778af476efde4d54541463c78ee5871f7e60debc798484843073e64cae5cb9c2e2c58b5155734beab469d3b87cf932090909346ad488254b9670e0c001222222d8be7d3b4b962ca14b972eecd8b183d1a3473375ea546edebc69d37ecdc24269da38d4e6fdd63ea21581f51facd6fc29cfde972e5d62fefcf9656c979191416161213366cc20373797912347d2b2654b3efae823c03c5ce0e79f7fe6d5575fb5b2556a6a2afbf7ef2fa36771713153a74ee5d8b1630c1a3488d8d858f6eddbc73befbc83c16060dab469ecd9b347949963c78e919090c0d5ab57453c070f1e24202080d75f7f1dbd5e4f5a5a1a376edc2853068d46a35dbd468c1841870e1d3876ec18ebd6ad63d5aa55f8fbfb93949454269e4e9d3a5538bfa5745e3a736fd83a4fc35ebc8e080a0a42afd753525222ea236de85845a92a3b00fcfdef7f67e9d2a562ebd8b1a3f86ff0e0c1f4ecd9530cd5d1f60f1d3a84a2284c9f3e9dae5dbb3261c204ae5cb9c2993367acce8d8989a159b366180c06264d9ac49e3d7b888d8d15d75d19fd1b366c489d3a75387dfa34478f1ea563c78eb46fdf1e4551d8ba752b7abd9e366dda101111c11b6fbcc1c58b17d9bd7b3780189a67a9a7768d8f3ffe38f5ead5a34d9b36dcbc79d3aedd6c853b71e2040063c78ea543870e62c8baaaaa346ddab45aec6049e9e35f7cf185dd7cd25ab39f7bee392b5d019a34692274ddbb772fb1b1b1d5d683aefd561485afbefa0a455158b87021f3e7cf475555d1820ee6512ead5ab562e8d0a1dcbe7d9befbfffbeccf55bdac4517e4879ffa5f6dbde6689762c3a3a1aa3d188a228188d46a2a3a31d8677367e47d8755cfe0c68176bd9eaf27b10191909d85e0c403bd6a143872a4fd7b2e502c0cbcbcbca7999376f9e58654c0b5395b6397ffe3c797979f8fafa929898c80b2fbc4068682877eedc1105d8cdcd0d1f1f1f9e7aea294e9e3c495e5e1e8f3ffe38494949bcf4d24b4c9a3489dbb76f5b79dfc1c1c1bcf8e28b74ebd68df8f8788c4623070e1c28937e4c4c0cbebebe000c183040b4fa040606929c9c4c626222414141646666b26cd93222232369dcb831003ffffcb388a743870e0c1a34888103070210101040424202ddba75a3418306c2413c70e000bffefa2b63c68c61d0a041a4a4a4a0d3e9d8b56b17269389e2e26222232399397326e3c68dc3c5c585afbffeda2a2d4b4c26137d7b75c3ddcd7ab5372f6f2f627a4455bac7b0bcfcd1b067ef871e7ac8aeed8e1d3b4641410103060c60f4e8d1bcf0c20b74efde5dc4e9c856a5397efc3857ae5ce189279e60fcf8f14c9d3a95949414468e1c495656965365a661c3864c983081ce9d3bf3c8238fa0280a3ffdf4539932f87ffff77f0ef370d6ac59f8fafab26edd3a8a8a8a78fdf5d7f1f1f129138fb7b77785f35be23cd5756f68f545693c3c3c080d0dc5c3c3833163c63062c408c03c26bba275a6bd34ee95909010dab56b2736ad2702ccc3c62c6da1ed6b2ff92693094551c4f0654bb4b09d3b7766eddab50c183080fcfc7c929292c450a0caa0aa2a1111111c3e7c98ab57af12191949c3860d79e08107d8b2650b3a9db9c7fdcb2fbf64d4a8515cbf7edde6dcd7d2d7e8eeee2e9ef38e5e6e6c85d3a45eaf172f561ad565074738caa73f8aae79797980f939613299f0f6f666f7eeddecd9b387f4f474a64d9b26c2161717a3aaaac82f7777779197dab1e2e262a7ae51f2e7447346eded5707959ee3d2bf7f7fa7c2957ee97684b3691f3e7c98f3e7cfd3a85123a2a2a2c47951515165561073d6a373264caf5ebd58b56a15172f5ee4b9e79ee3e9a79f06203d3d5dbcc46893062b8a65c55b5ad6af5f1f3077c5f7eedd1b9d4e277a5ee6ce9d4b767636f3e6cd63ce9c3962088ef672ef28def2fed764d7ae5d898f8f67cb962d242727b378f1627af7ee4d5c5c1c2121215695905eafe7dab56bc216454545e8743a42434301b87efdba085bb76e5d8a8b8bd1e974624e816647cbf44bc7afd1b0614311bfc160e0dd77df65e7ce9ddcbe7d9bc0c040118f46ad5ab5d0ebf5a24cfafbfb8b7d373737315158d371d9b265ac58b142c4a34de03d75ea143b77eee4c08103141717d3b871639e79e61987ab50f9d4f4e6d1473ab1ef3f59429f5eddff86fb6f4b575767fe94676f47b6d3e60ad4ab570fbd5e8faa9a5b58351cd9aab4fe5ad8071f7c90929212743a1dddba7543555551e93569d2443c141b356a24d2d0ec51bb766da187a7a7a7d0c372ce9dc16028572f7f7f7f626262f8f8e38fa95bb72eeddbb74755d532f1dc6b7e4be9bcf4f5a961f3def0b0b16045e9062b7bff070404f0ebafbf96391e1414849b9b1bfffad7bfb876ed1aaaaad2aa552bfaf6ed4b83060d44b9b1d56a583a1d6d4e9fa3eb2b4f4fcb744e9d3a65b51041ad5ab5c40baf653c96444545b176ed5ade79e71d7af5eac5faf5eb69d8b0212d5ab4e0db6fbf05ee2ef0b161c306366dda44727232ddbb7767c28409560d5e95c9c7888808f6efdf8f9b9b1b111111288a42a74e9dd8b973274d9b36a5468d1a7cf3cd37b8baba3272e4488e1d3b0660e5a8d87250eced9717ae7dfbf600ac58b1828e1d3bf2e9a79f8a70d565078d9c9c1c76edda258e8787873bcc27edf305a5750558bf7e3d9b376f66eedcb956ba56c57d07e6770a373737ae5ebdca871f7e48f3e6cd69d9b22557af5e65fbf6edac59b386a0a020e6cd9bc7b469d378f0c107855e3a9d8ef4f474fcfdfd69d4a89155c39fc964e2e0c1834ee54755943f292b276ddd4396bcf5d65b80d939d11ae9b76fdfce030f3c40787838a74e9d62fbf6ed22fcb061c3c4c7281dc55b512a3dc7c5b252fe3db1e7b480f34ecabda2280a9b376f66d0a0415cbf7e9de5cb9703d6b6183f7e3c2b57aea44183064ec75bba322e2dc3c3c3f1f1f1e1cb2fbf64f0e0c104050501e61571929292484e4e263b3b5b0c79f2f1f1a14d9b36e5c6eb6cfa356ad4e0d9679f65d4a851ecddbb97f4f474366fdecce6cd9bd9b061034141415695a176edda70055555c5ef060d1a8870797979e8f57a3c3c3cc497adb5a5189dd1d7dddd5dec7ffae9a7a4a7a73374e850264c98c077df7dc7a44993ca3cf81dc5a7a10d4b1b376e1c313131188d46ae5dbb466060209f7df6190b162c40a733bf740f1932840e1d3aa0d7ebc54baf3dfd1f8e6cc7b72772f86fc14d0203eb13d1ba997096aa337fb471f1f6ecbd63c70ebbb6d36c71fefc79919ee5900147b62aada7e64c5b0e075cb46811dededeb46edd1a3097192d7c4e4e0e80d5bde4e8e546fb4f55d572f5cac9c961c78e1db8baba8ab93513274e2c134f65f25b4ae7a4a22876ef8d7b8d3724244494f1d2c76fdcb8417e7ebeb82f4e9e3c494c4c0c0f3df49055c34a79e9688d025565871d3b76587defac59b36656cb24db2af7cd9a3523292989b56bd7327ffe7c5ab76e4d4a4a8ae885b03cefc9279fe4ecd9b3bcf6da6be8743a626262c4ea9395d55f9be7d2b2654bd1a0101919c9ce9d3b69d7ae1d606eecfceaabaf18366c180f3ffc3075ead4e1c2850b651a99caab074befdb3adea64d1b121212f8e0830fc8cdcd252a2a8addbb77e3eaea5aad7600f390646d281c988737c7c5c5d9cd276dfe67695d5d5c5c18387020e7ce9d63c68c1956ba56859e70b7ccd5a851838e1d3b3265ca141445a1478f1e8c1f3f9e6ddbb6515858c8534f3dc5e38f3fce575f7d0540d7ae5d494949c1c7c787e4e464bcbcbc080d0d65c890216cddba9573e7ce111d1d4d464646b9f971bfeb1f29adef1f5bb46ad58adbb76fb372e54a71acb0b0d06a4e9ee57bf0e1c387898b8bc3c7c7c7a9f89da5d23d2e15c59978cb0ba3392d61616174e9d2453cd8d2d3d3ed9e1312122226f457563f30b7f86fdab489cccc4c711377ead489c71e7b8ca14387f2cb2fbf101f1f4f5a5a5a859d177b1e718d1a35c4bc8537de788359b366096741735e66cd9a255e28478f1e8db7b777b9f196f7bfa5b46c21efddbb3767ce9c61e3c68dc231f0f6f6e6c68d1b2c5dba94679e7986e0e060b144a6afaf2f191919f8f9f93160c000916f050505cc983183888808b66edd8a9b9b9b98e4553a7d7bf954fa7a4a4a4ac8cdcd65ddba7522bf6c8577b41f1313c3aa55abf8f7bfff8dabab2bd9d9d9ecddbb9761c386d1ba756b860f1fce33cf3c237a0e0a0b0b9db4a3c2e37da3792f7d1bfdfb742f7729d8aacc1f47f63e72e488b0ddb973e784ed0c06039d3a75c2dfdf9f8c8c0c5c5d5df9e5975f4478c0a1adc68d1b67a567646424818181646666a2d3e9282e2e66efdebd74efde9db163c75a95191f1f1f323333459971e6a5462b83cb962da35fbf7e787a7adad46bc488112c58b000555559ba74292929296cdab489bffded6fb46ddbd62a9e264d9a5422bfa5745e9ac4bdf144df1ee2bb2af6c297576f7a7979111212c2f9f3e7ad8e2f58b00093c94454549438eee7e7c7e4c993a95dbb36a1a1a13cfffcf3444444e0e9e9c9b871e368d7ae1d75ead4b18a273838186f6f6fa7aeafbcfbb8458b16646565511a5555d1ebf564656551525282aaaa3cfcf0c356fb8aa2d0ab572ffaf6ed8b4ea7c364328971e79d3b77262b2b0bbd5e8fc964a266cd9abcf9e69be265515114513f5636ff9a34694256569688535555faf4e9435c5c1c269309bd5ecf430f3dc4fbefbf8f8b8b0b269309575757a1aba59ead5bb7b6da4f484860f2e4c9141717d3bc797371fd80dd70a74e9de2cc99338c1d3b96162d5ab072e54a427febf5af2e3b848484d8cc4783c180d168b49b4fa74e9d22272787e79e7b8e66cd9ab16ad52a424343d1e9ccdf1bd21a4eb4f3b49ee0cae4976647cbb2a69537300f691b39722463c68c41a7332fe96f341a45f933180c8c1d3b165535f7526b43df264f9e4c6262a278b64d9b368d92921287f95115e54fcaca495bcfd4d275d1cc993345a3a386655d6c495e5e1e3367ce141fa2ac2aecce71d16e107bdbbde24cbce585717171212c2c4c3822cee8a475bd57366dcbcd6834121b1bcbecd9b3993d7b36b1b1b1180c06d2d3d309080840a7d33161c204f2f3f39d4adb99c23570e040ba75ebc6952b579832650a8b162de2d34f3f154bde6aab6e75eedc99fefdfb3b5d582b5ac84d26138585858484843067ce1c1a366c88aaaa3cfbecb3787979b177ef5e7efdf55756ac58c1638f3dc6d75f7fcdbe7dfbc4585dcb2593232222080c0c64cb962dd4ae5d9bb7df7e5bf4c8944ed7b21cd9daefdfbf3f3d7bf624232383993367d2b66d5b3c3d3dc9c9c971ea7ccbfd5ab56ab178f162ead6adcb3ffef10f8e1f3fcef0e1c3193f7e3c8f3efa28090909f8f9f971e7ce1da7be4361298302eb31fc9927a853dbb9612655953f8eec1d1717276c376bd62c61bbd3a74fe3eeeecec2850b090d0d25232303bd5e2f8689bababae2efef6fd356f1f1f165f473757525353595a8a8283efffc73befefa6bfaf5ebc7cc9933717575b52a33fbf7ef1765c6dfdfdfa63d4ad72f5a19dcb3670f805dbd56ae5cc9c58b1719366c18e1e1e14c9f3e1d8077de7987c2c242ab789a376f5ea9fc96d279a9dd1b01feb5ca0def4cbdd9bc7973fcfcfcac8e77eedcd9ca69d1ca65747434111111d4aa558b9898181e78e0017c7d7de9d5ab5719a7c5c7c787962d5b56d9752b8a4271713145454556521b3259545484aade9dc86ab9af3d8f4a4a4a282a2ac26030a0280a3a9d4eccc7b374020d06034545459494948861b255711d00454545c269d1f42a2e2e16e9680e82a66751511146a3b18c9e9a3db47d83c1206ca1a5a3aaaac3708d1b37c6cdcd8d356bd63071e2446edebcc9abafbe5aad76b0978fdaaa5df6f2a971e3c6b8bbbbb37af56a264d9ac4cd9b37993e7dba88b7a4a4c4eabcaacc2f4d4f2d0dcbfbca603088748d46a355f933994ce23ccbf265341a4539d016c070263fa4bcbfd29977e0279f7c523c6fc3c2c2acf6c1dca3ab2defaded9717a7b6398bad90ee9b3ffc97be47afbe0e4f2cadacb36cdbb6cde6f1c58b17939898c8f7df7f2f2605db43bb40cdd01ada18515b580ec5b18733693b8bbbbb3b23468ca0a0a0806eddba3165ca942a49bba4a484e2e2623efef863323333ad265eeb74e69699be7dfb3260c0006ad4a82186515545dacee0e1e1218608682dd25e5e5e62bd79add25614859f7ffe99a79f7e9a8e1d3b929a9a8abbbb3b8aa25052526277d25ecd9a35458bbf4ea7c3d7d717a3d168b52a8db7b7b758135eafd7e3e9e989a228141515e1e3e3231e56007e7e7ee2255f8bdfc5c5452ca3eaeaea8a97979758494eabc4ab025757579b93684b7f7b7fe6000004c0494441545355f9e38cbdedd9eec71f7fe4e8d1a33469d284b66ddb62341a59b870215bb66c212d2d8da64d9b56c8562e2e2e787979897b567bd9007339b65766c09c679679eee5e585878707858585984ca63265508bafb45eda79dac3dad5d5959a356ba2280ab76fdf2e13cfefb5dcbaa47aee8d9c9c1c316cacb2848484d0a2450ba7c3af5bb78ed1a3475749da928ae1e1e1211a2e154511cec21f913f93aef7ca5fe11affac38539fbab8b8b07fff7e3efef863162c58c0f7df7f6fb54cf29b6fbe49e3c68d9931630603060c203a3adae9fc3db027934143860f028a803bbf6d8516bf8b80e27b9ee3b273a7fd35f71d517ac80e989d962fbef882c4c444a7e2b0e78038f3a0fbbd30180cbcfffefbbcf7de7b8c1831c2a9d5339cf188b51b7ee0c081f4e9d387b367cf72e9d225743a1d818181346fde1c6f6f6f2befb5bc782b927e79526b5db13c7ee7ce1d871e3e205a7cca8bdf72788ea22862f96947e959ea533a7ce9fdd2c37f4c2613b76fdfae96160ead05eef7cc9ff2ecadb5625ae6a7aa9a27c02f5ebc1883c1c0a851a370777767f7eeddf8f9f911fa5b57bfd168747af894a228c2a928fdbfe664da3bffd6ad5b56fb5a8ba1657e5bb6f8daca575be7198d46abf2602b1e297f1fa92d27ef4c797636dee6cd9b8b6163050505a2f1c3d9f37d7c7ca853a70ec1c1c1d4a851a3c2f7dd1fc1ae7f4559fa79f447967f85fae6cf941f7f35e90c8aa2101d1d4daf5ebd6c3a9d8aa2e0e9e9c9d2a54bc5ea7955cd3dcf71a9aa56e7254b96f0f9e79f8bd65067d2ae4eaa326dbd5ecfb061c3ac562872367d7b52fbb6049897e1ac5fbf3e3adddd1ea8d285a4bcf8eeb7fcb3e8f9bf22352a7a9e8f8f0ff3e7cf67e5ca95bcfffefbe8743a9a366dca8b2fbe28bf782ce59fa63c7b797955a8a7c41e15d573d4a85195ba4e29a59452caea96a57fdbc36432898e82f0f070ab15f0b4618cb63a29aa8a4aaf2a56192c9d96ff55aab3174855ab77f5b4eaa676edda621e82a4faa98cbd5555a57dfbf6a4a5a555b156128944229148fe8c54b793620bbb1e83f6525c5ddbe2c58bcb382d96dedffdd8ee77daa56d20a594524a29a57da971bff590524a29a5fcb34bedf7fdda9cc56e8f8b36fca8ba983d7bb6d587e300f191bbea4edb11f7336d55bd3f631bb5ebbe5fe94b29f3474a29ef45decf7a534a29a594f27f496aef1a7f74ecae2af6bb6b22914824128944229148fe920c1a32fc09a098bbab8859ae28560494d8725cdc004fc00bf0b690da6fafdffe2f7f9d5d89442291482412894422718c0128c1ecb81473d75929b69025f6868aa980029800e36f91b972b78746fdedb84422914824128944229154062366c7a504d063f63d8c987d1105b3ef61738e8bca5dc7c588d9613160edb498ec9c2b914824128944229148241541eb28d163765e34c7c5c85dc745b5e77c68bd2d266c3b2d9a4323914824128944229148249541f339b44deb75d1fc11059ceb71b1e5b41870b094b2442291482412894422913889e67768db3df5b8583a2d96735e5c908e8b442291482412894422a93c0ad6be86a5ac508f8bf6db156ba7e58fbfd8b3442291482412894422f9a3a3f91b960e8ca574d8e3a25a06c2eca4683d30969b442291482412894422915406b5d4a650d61fb1eb7ce89c94128944229148241289445259d4f2e4ff038c2f996ce3cfc7c90000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's move on to creating a GET request that retrieves a single book in server.js:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 //Get a single book by id\line
+app.get( '/api/books/:id', function( request, response ) \{\line
+ return BookModel.findById( request.params.id, function( err, book ) \{\line
+ if( !err ) \{\line
+ return response.send( book );\line
+ \} else \{\line
+ return console.log( err );\line
+ \}\line
+ \});\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Here we use colon notation (:id) to tell Express that this part of the route is dynamic. We also use the {\f1 findById} function on BookModel to get a single result. If you restart node, you can get a single book by adding the id previously returned to the URL like this:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 jQuery.get( '/api/books/4f95a8cb1baa9b8a1b000006', function( data, textStatus, jqXHR ) \{\line
+ console.log( 'Get response:' );\line
+ console.dir( data );\line
+ console.log( textStatus );\line
+ console.dir( jqXHR );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's create the PUT (update) function next:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 //Update a book\line
+app.put( '/api/books/:id', function( request, response ) \{\line
+ console.log( 'Updating book ' + request.body.title );\line
+ return BookModel.findById( request.params.id, function( err, book ) \{\line
+ book.title = request.body.title;\line
+ book.author = request.body.author;\line
+ book.releaseDate = request.body.releaseDate;\line
+\line
+ return book.save( function( err ) \{\line
+ if( !err ) \{\line
+ console.log( 'book updated' );\line
+ \} else \{\line
+ console.log( err );\line
+ \}\line
+ return response.send( book );\line
+ \});\line
+ \});\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This is a little larger than previous ones, but is also pretty straight forward \u8211- we find a book by id, update its properties, save it, and send it back to the client.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To test this we need to use the more general jQuery ajax function. Again, in these examples you will need to replace the id property with one that matches an item in your own database:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 jQuery.ajax(\{\line
+ url: '/api/books/4f95a8cb1baa9b8a1b000006',\line
+ type: 'PUT',\line
+ data: \{\line
+ 'title': 'JavaScript The good parts',\line
+ 'author': 'The Legendary Douglas Crockford',\line
+ 'releaseDate': new Date( 2008, 4, 1 ).getTime()\line
+ \},\line
+ success: function( data, textStatus, jqXHR ) \{\line
+ console.log( 'Post response:' );\line
+ console.dir( data );\line
+ console.log( textStatus );\line
+ console.dir( jqXHR );\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Finally we create the delete route:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 //Delete a book\line
+app.delete( '/api/books/:id', function( request, response ) \{\line
+ console.log( 'Deleting book with id: ' + request.params.id );\line
+ return BookModel.findById( request.params.id, function( err, book ) \{\line
+ return book.remove( function( err ) \{\line
+ if( !err ) \{\line
+ console.log( 'Book removed' );\line
+ return response.send( '' );\line
+ \} else \{\line
+ console.log( err );\line
+ \}\line
+ \});\line
+ \});\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \u8230?and try it out:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 jQuery.ajax(\{\line
+ url: '/api/books/4f95a5251baa9b8a1b000001',\line
+ type: 'DELETE',\line
+ success: function( data, textStatus, jqXHR ) \{\line
+ console.log( 'Post response:' );\line
+ console.dir( data );\line
+ console.log( textStatus );\line
+ console.dir( jqXHR );\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 So now our REST API is complete \u8211- we have support for all four HTTP verbs. What\u8217's next? Well, until now I have left out the keywords part of our books. This is a bit more complicated since a book could have several keywords and we don\u8217't want to represent them as a string, but rather an array of strings. To do that we need another schema. Add a Keywords schema right above our Book schema:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 //Schemas\line
+var Keywords = new mongoose.Schema(\{\line
+ keyword: String\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To add a sub schema to an existing schema we use brackets notation like so:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Book = new mongoose.Schema(\{\line
+ title: String,\line
+ author: String,\line
+ releaseDate: Date,\line
+ keywords: [ Keywords ] // NEW\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Also update POST and PUT:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 //Insert a new book\line
+app.post( '/api/books', function( request, response ) \{\line
+ var book = new BookModel(\{\line
+ title: request.body.title,\line
+ author: request.body.author,\line
+ releaseDate: request.body.releaseDate,\line
+ keywords: request.body.keywords // NEW\line
+ \});\line
+ book.save( function( err ) \{\line
+ if( !err ) \{\line
+ return console.log( 'created' );\line
+ \} else \{\line
+ return console.log( err );\line
+ \}\line
+ \});\line
+ return response.send( book );\line
+\});\line
+\line
+//Update a book\line
+app.put( '/api/books/:id', function( request, response ) \{\line
+ console.log( 'Updating book ' + request.body.title );\line
+ return BookModel.findById( request.params.id, function( err, book ) \{\line
+ book.title = request.body.title;\line
+ book.author = request.body.author;\line
+ book.releaseDate = request.body.releaseDate;\line
+ book.keywords = request.body.keywords; // NEW\line
+\line
+ return book.save( function( err ) \{\line
+ if( !err ) \{\line
+ console.log( 'book updated' );\line
+ \} else \{\line
+ console.log( err );\line
+ \}\line
+ return response.send( book );\line
+ \});\line
+ \});\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 There we are, that should be all we need, now we can try it out in the console:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 jQuery.post( '/api/books', \{\line
+ 'title': 'Secrets of the JavaScript Ninja',\line
+ 'author': 'John Resig',\line
+ 'releaseDate': new Date( 2008, 3, 12 ).getTime(),\line
+ 'keywords':[\line
+ \{ 'keyword': 'JavaScript' \},\line
+ \{ 'keyword': 'Reference' \}\line
+ ]\line
+\}, function( data, textStatus, jqXHR ) \{\line
+ console.log( 'Post response:' );\line
+ console.dir( data );\line
+ console.log( textStatus );\line
+ console.dir( jqXHR );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You now have a fully functional REST server that we can hook into from our front-end.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Talking to the server\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this part we will cover connecting our Backbone application to the server through the REST API.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As we mentioned in chapter 3 {\i Backbone Basics}, we can retrieve models from a server using {\f1 collection.fetch()} by setting {\f1 collection.url} to be the URL of the API endpoint. Let\u8217's update the Library collection to do that now:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var app = app || \{\};\line
+\line
+app.Library = Backbone.Collection.extend(\{\line
+ model: app.Book,\line
+ url: '/api/books' // NEW\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This results in the default implementation of Backbone.sync assuming that the API looks like this:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 url HTTP Method Operation\line
+/api/books GET Get an array of all books\line
+/api/books/:id GET Get the book with id of :id\line
+/api/books POST Add a new book and return the book with an id attribute added\line
+/api/books/:id PUT Update the book with id of :id\line
+/api/books/:id DELETE Delete the book with id of :id\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To have our application retrieve the Book models from the server on page load we need to update the LibraryView. The Backbone documentation recommends inserting all models when the page is generated on the server side, rather than fetching them from the client side once the page is loaded. Since this chapter is trying to give you a more complete picture of how to communicate with a server, we will go ahead and ignore that recommendation. Go to the LibraryView declaration and update the initialize function as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 initialize: function() \{\line
+ this.collection = new app.Library();\line
+ this.collection.fetch(\{reset: true\}); // NEW\line
+ this.render();\line
+\line
+ this.listenTo( this.collection, 'add', this.renderBook );\line
+ this.listenTo( this.collection, 'reset', this.render ); // NEW\line
+\},\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now that we are populating our Library from the database using {\f1 this.collection.fetch()}, the {\f1 initialize()} function no longer takes a set of sample data as an argument and doesn\u8217't pass anything to the app.Library constructor. You can now remove the sample data from site/js/app.js, which should reduce it to a single statement which creates the LibraryView:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // site/js/app.js\line
+\line
+var app = app || \{\};\line
+\line
+$(function() \{\line
+ new app.LibraryView();\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We have also added a listener on the reset event. We need to do this since the models are fetched asynchronously after the page is rendered. When the fetch completes, Backbone fires the reset event, as requested by the {\f1 reset: true} option, and our listener re-renders the view. If you reload the page now you should see all books that are stored on the server:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d494844520000032e000002660806000000bacfd41e0000000473424954080808087c0864880000001974455874536f66747761726500676e6f6d652d73637265656e73686f74ef03bf3e0000200049444154789cecdd779c14f5fdf8f1d7f4dddbeb777070f4a28882151145450544c4a858221634b1fcd2341a4b2c8926c618a3b1249a6fd4d8881a8d2d4a8cbd0ba880d805e9bd5fbfbd2d533e9fdf1fbb7b5cef46d0cff3f118efd89d79cfcce7337bce7b3f654051144551144551144551144551144551144551144551144551144551144551144551144551be595a3bafb7f7535114455114455114a5bb647b3fcd1636d200d1f4c543c71fd4b387a6288aa2288aa228ca77ce6597fd12db71706c9b50384cc8711873e0d86c52498a24958b34fc29a1e5969346894b266129eddba7c3ed2cedafa6b5bb52879b74b456ffd18d38cddfe87e9ca66f7520622babb4be65e736e878b399d6ea065d6e7ad33a5d1aadc469facf2e46d25afcb5d5573a12ab439f831e89d34eccf63f6e1d8eab753f508338dd0bd67a882e9458bb9b74a2363bb5fb363e07ddf850f4449c163f073dd9d62eebffd3f8a52ec76af86b1723358bd3ca9bdd8ad3c9b8b22b67d3c2165d8ad33c88ec7e9074245abc06ba1ea7c5773a1ea3439bb4bd42c7e3b41d57b6fe562722caa62f74314ed317ba16a8ed2aea58cc56d7eae41b9d8fd3f24a6daedec1626a375aa7e3b4f26ab7e2345da1839f83766cdab405482530e170165959610e9f704431a91c440041939f02102dfd6f484fafc4a1e30fa2a020bf8387a0288aa2288aa2288ad2319595555c7cf1a54422d91c3b6dda00523988dfcacfd6139743c71f447e7edeffeab81545511445511445f98ea9aaaae6e28b2fe5d4ef9fb61ba924c507bc263f7dc06f6d8c8ba2288aa2288aa228cad7ae2e160308934a543c76e42399712e1aadf458370e1d7f909f9797dba51d4b2911522045aa8fa5ec647f4829259aa6d56f97fa29d3c79bfaa96999fef65afdfa1d8a2325681a9a061a3a86a1a3691abaaeb71a475114455114455194af4f75750d73e7cd3f08708164839f99df5dc06db5c5a52b0987900219083ccfc30f028240d6270486a1611a069669b63ac2574a994a4fa4444a81e705882040088190123d9d64e886816519a0e999836d947448993909d1813826ba6160e8a92466e74d5e046e3c49d297985961c2464bc729f15d0fcf97e88e8363fccf0f7227a2cae2eb23f0121eae2f30c261425f7bd94a7ccfc7f345aa2ef5af7b7f8aa2288aa27c0342346e6909d831c64503b49612974e9352220289e77b2413494e185ecad87e850ccecfa1243bccd6689c3555b52cd858c1732b36110a3998a6d92c06e91612dff349ba2e83070fa65fbf528a8a8a2928c8a7b2b28af2f232366edcc49a356b706c1bd332532d2bec6881414bc5f37d9f64d2a5b4b494e1c387915f50404e7636d16894aaaa6a56ae5cc9860d1b706c1b6c0bc348dd81ed7cc98bc04d3a0c39f848f61e94c5c65767333f6a35495e24bea791d37f4f860dcc27fad9fb2c8d5b3bd70dbbf4a9adac25169864176413317bb09c1bc58ee0487de72e8b5d96c04bdaf4dd7b2c7b0ecc61fbdc57f9b8cefa1a9397d4751de9b37baa2ebf58c0f2a4a5921745511445f9f609a57f669296ccd8169d7442d3ed1617292542085cd7a397ad73f3b107509aed204500c247d6555362e894f48a30ae24975376efcb95ef7ec9f6a48b65dbf531323f5dcfc3b22ca64e9c4861613e4120080241345a8be3380c183080c183073172e448de7ee71d92ae876d59cdba85799e8761e84c9c38919292de08918a9348c4b16d87be7dfbd0bf7f296565e5cc99339744d22564db186657eec004f1ea28759e40d4179b86619a385921228ed1bd8143d2a7ce1dc831679fc0fe660dafbdf30c73ab4d420d6fdea4476d62283fbaeaa7a975ae7b97cfa206b6be932461d227ea0ee0b49b7ec1b4c2553c7afd9f79bdd621aba3c98b0ca8abaca52e00239243615683326d16fb0e9edfbefbce5b165d210312b104b1848f9fbec834c3c0b61d22119b9ecc01db3e0e9fa83b90137e7c46aa6c3f7c81f935064e77ca367d6ef1a48f1764cecdc4761cb2c3a4aeeb5f5d94aecb797c5167605bbb705d2a8aa2288ad21287c6498b472a69c9242eadb7b87434711152e0793efd1c83bf1cb12761e9e155d5b6ba7e891de2ee23f7e2676f7ec1b6c0c734532d264248fc20c0b11d8e3e7a3286a9118d4653e364eab301174dd7d0d08864873966ca145e79e555fcc0c3342d743ddd62e3071886c1d1474fc6762ceaea52719099f3da112727379ba38f3e9a975f7e05d7f7b0350dc3e8ccd7b982445d84832fbe8619a37a919bf92a38a863dbeaaf98f7d2b33cf75115e188d9f5e4a5a529f96593f9f43bb2ce3748063e41eeeeec3fc0024630764888173f0a0877a4ac65405db48013efb893937ac3a6277fc5152fd7929395ea2ad83c7698ff6c6f1262272a8b4e0b9254bbbd39f8c4e33976fc288615a53ed7f1b2b57cb1f02dfefd9f0f29d3adff4df2d2d3d759fadcc69df03da61eb217c37b85d110d46d5dc527f35ee1c9973ea7a627f7a7288aa228caceca2295b098804193a4055a6e71e91429c0f75cae1b371cb3ae826432def606753558a12c7ebb5f3f2e98b70a33dd3d0b21f05c9709871f8a943ef1989fbe41d9b164c6a0689a86ef7b5896cd21878ce58d37dec6d453635e8410b8c924471e7504ba0ef158bc9d383e966571e8a1e3eae3742a7191924058140f2821d701f0492404762842efe10730fda2510cfaebd5dcfea94f8ea3e1d5d5519308d22d331a866591150911327774e9f31209ea621e9e48759fb39c500bc38252ad3c510f301df2739b56a524515d43021d2be490dde85b79811b4b5097f0f00568ba81130e13091be80032201e8d13f70441e6dbfdf43ad9e186ad47e938710f5fa6d7c90a931d6adec2a41936a1cab7f9dbac3087e6afe7b58f92446c9bc04d10ad737183d4c40bba69919d1bee5457a066b117c569dc6ed64a594841221627ee06f8f5dff4dbe4e58720d6463db5b89d85a379247cd09c084539261a12bf2e4a655c8019a628dfa6d33d9c844bad368a1fddf2332614353a6bc2c58339f0f091bcfcf4fb889045bbf59a0ad8fe3a52e0c677ac031abaa163396172c26d1e6c87af8746e776f3cf9850dcf00d9d48c970c68ffb9ca7667f46e3424bd765fab87332d763ab7519c6d23a7fbdeba645c8d6f0935eeadad474ec70989c2cb3795976f47c1545511445e9966eb5b84809beef31b54f84de3286575505c0b6984b59dc63cfa248fdbacb2a63645b06a5d90e41bc963ed9f94ced9bcdebe52e8661e2053efdfa95120a8588c5e2909e914c0851ff0daba6513f0b98a669789e4f389c4569bf52b66fdd866dd8045e409f3e7dc88e44d271e0adb7dec1f7fd16cf61f2e489789e571f67dbb66d98b213f95c93725a75ff955cf54605c2ecc591bffc3d3f1bedb0ef114330e62f21e99b0c3eed1a7e7af8208ab30c20c1b6af3ee099079fe2836a83b0294944354a8f389399c71dc4c85e0e78552c7df96e6efc77e3dd7ac93c8efef51d9c3dc244aefb2fbffaddf3acae7f3797f13fff134714e762f9952c7dfbdfdcfdd842a221075313c4a316c3a79ecf99530f60689e8157b19279cf3fc1c36faec78c982493854cfcc9394c1ad98fbe790e1ae055ace2bdff3ccaac77b66267996808e2519bdd8f3b87b38ed99f41391a6ef972e63cfb4f1e99bb1da7690b93f4898b614c3f6b0afb9b35e81f7dc8acf549f2469dc095671ec93e7d42209354ad9dcf7db73cc692c0c1cedc21b6782d3698b1ae85d8f7ad6faf2c2c02378731a79dc794fd8733a4770403486c78831baf7b16f3b46bf8598bf5a4a107b9cdb7dbb88879fefe4c1ca4119b770b3fbe772d96e15330fd66ee3bbe1856cce2c7bf9b4f90d399e44592ac7338e092f353494bb08157ef7f98ff7cb88e0acfa670e00846156f66b5e6601110ab6da35eb36d74daa9fb6c1b5d06c46221464e9bc96993f76368be093249f5d64d2c7df751ee7e69532b75d1c9eba1e1b915036ce39d871e66f6a27554fa217a0d1ec1306d29d5b68156ffd1cd65f2b5f730d9d2086ad6f2c1ec47b9ff8d4dd8111d37d94a5dfee60956fbd98c68e77a3feac7339934b23f7df343e8486ad72ee2f50faa187cd821ec579a05f1ad7cfcd2a3fcedf995c82c2b5d969d395f4551144551baab8dc4a563013c3f6042af307e5d0dc2f700d89a08b87dd17a2edbb72f7b1666b1ac2ace9f3edec485fb0fa44f28b58e5f57c311bdc2bcb4358eae9b04bea06f695fe2f1384110a48f41d4b79264ec682d49ddfe0921282dedcbe64d9bb124f8414069691f1289549ccca693271fd52cce5b6fbd8be779685a6a5ffdfb95b279d3e6ce7543912df59ed17172f2290ca78ab7664b0d42d7d085879f554c91e5525b2d08e545e8bdc711fce44a97b5973dc396a449bf53aee5c6eff549c7f609ac7cf2bc183e4e83f039ec33f3179c3dc284eaf9fcf98fb3d9a0dba91e816959c5b978c9009c02464c3a8febad2a2e7e702501064367fe9a6b2715d61fbf55388c23ceb986e1b9d773f5ec2df85a1ea3c60ca5d404a44b52d838854399f083cbd0365dc9bdab058e271972d635fc6a7211e013ad09c82eda8d89e75f4d41f26a6efbd827db6e70ebd64239055963f9f9a553d94383a07a1bdbdc30c58536b1b88050836bb0a532960d5e6fb10eda2b8be524f5620e9eb40fc34d008fa46f11d2aba9f17cf25aada7a758a3b5b09db69e0fde2966e2d983c81ab92f7df4156c0ef2d96b9f5453c2daf79650639ae4b473ac8d088f64ce188edf2f55f72b1fb99387e6d51189d8649b92ba8d9f3377bd8e1332f1a2b29d7add8629f576d73184c59e175cc75587e50282eaad5b090a4b28ec3384b17b1773f7f31b6996d74b895bd7c9eba1c9b9ad79e476ee7eab86ec2c138b38e52b17b1158390a99168f89d8315900c4c9cdc418c9ff90bd874257f5b1e2082d6ead266b7b3dbbfde471f389c7ee9ebddd36c72068d61faa0d426410046b884fd4eba881fafbb82dbbe1084fc4e9eafa2288aa228ddd646d342fbb7571a1a22081810d2107531a410008cea9dcf15df9bc09f9e7f9b9307e7f3ec9a6a2e3ef630466b3588da4a008408e81f0923822035b05e04644722b86e32b5f726d943d3e7b2406abb20f08964652185488d771001914804d7751bc588c7e38de26404819ffe1990958ed3895bcb66869e7f1b4f9edfe085eaf7b8f7c935e8e130b6aeb1f6be5ff0fd7b2db2f37288148ee117bf3f8d61457bb167fe53acf5c7f283e3fa002e5ffce3f7fcf1e5f5247487dc2c1d49413aa0cde0effd9c230f2882e4121ebae1213ef442649b019e97d96994b77f77057f5de2533af90aee387777f20e9dcae8476f6751f848664e2a04e22cbcfb37dcfe6e3525532fe7b6b377a3ff7127b1cf8b77b2b0fe46b186d77e7305f7aeca67daef6ee68743231c70f800f4af5691cc3b8c99938b804dfcebcaeb79666d40ef495771d7f9c3d97fda01e4cd9f836bdb0dba6c352d538991d79fde1ac02a1ebcee265edde6831126372784a5b5570799e7fbb414bba1d6ca62090b1a9ee7755770ef320f23142637dba4aad57a7a9ad5d52d6d6763e427587bf6200615eecb98e2a779a676186307006ce6bd4faa30adcc98b3d431bbb5516abd1d47aa59610a72767c532f45805e3c84de006ce3e3c55598e110862609028b827efdc8360489edebd89077583bf5fa173e6ab7eeffc2a2c8e19c71582e50c77bb7ff8abf2c8c3160c61fb8f584e2fae36e46f82473c677ea7a687a6e1f7e5e81150e91eaa5a961ea66ea8f53a3bf03e9f25e99cfb137dcccb943b3d8efd001e85fae42184dd6a9af93c3b8b893d7fbdfb7eccd2feffa19073ab0e2de4bb9e65d93c9d7dfc205c36df61ad71f63d10a92f99dbdfe1545511445e9aeee0dce4f0f86cf925e7dc20120aab63322c7e394b1a39935f713ce3a646ff61215f835153bb6d53442c2ab6f5111e9698c335dba344de3bdf7e6b7baeb430e39a87e5b276420a44c3d5a339d9878e9bbf84c92d2f07c1afe9e6a9549fddb71d2713ad3e4d274ddeacdacadf231b20ae9df2b02798770f1452bb8ecd679d46a398c3ee3127e3c7538398d36b2c9b2c12cd997c11a90fc9c67dfde8499974da126eb13c29410bb1d3000f0f8f4ef7fe7953293dc70d3c31078bec489186cfff07dd69ebb3b438dde0c2bd2f9247f140300e25ff0e2820a4239165be6bec98ab377638435905125060b36368ca5616bd52c5d5a09430b881465630401948e662000a5ccb8f95e6634dca4a01ff9ba608b90e83b86ee34a1116c59c4c2f2c94c291aca057ff90b93e7bfc5ec675f62fef6806cbb4187aa76bb8ab5f076bb6561307f6be3e3717222440c891b0f31aa8d7a6abcbbcc768244c547bcb16606e70eeecd21638a7965fd41eca6039b3f607e195891cca072891715ec76d9fd5cb3ef8e5b5b6fd16d9cfbe79584b28dfae71981de60f6b45459481110f30672de355770700816df71213725dbafd74fb33bb04ece484a01128b79fdf33a421d186c24031fbd93d7438b55d7d2a0fb16ae1b5bdf713d6615463084c4371aafe3e444c8127112a59dbfde8df85abed80a070e0427626168d5ac585e09c30b08e56561882e5cff8aa2288aa2745bb7ba8ae932d56dab369ec409520f7bccf86add26fefd5535671cbc37cf7db898c123f2189967d7bfafe93ad17822d5ed4b4fc589c7124899eaefa4693a471c7178fdb8961dc795bab989c7e308996a6589c7527148af9b4824d1b4f4606f7d47e2d2d2f35984100891faf63e994ca65b75da3ff74665d5e0f7554fddcad56f56819464ed7b01775e793039a3a730a1d71c5eea3b938ba70ec70ed6f3c6bf5e6749b23fc7ff703203b5f45409ba961e2c2c1a74816a7e3cf13a08472cf6397726e397dec382a4d3786ae41d8505a695fed657a6cf332dbdcf0e9daa26f1dd743f344d4f956de6582967fecb0bd9daa03b8fa85d4ead61a0099f58dc43183661a77958435bcdc3d7fc81b5d38fe7f849a3187cd0342e3ee8009efbd5f53cb54d23abc1736a9addcfcac65dc9dad5565934d889f09268a32f68bb9e5ad84ea26399952c787d253f3c7f18fd0f1bcfc11b4660039be67cc836dd24d2a09b585b875c7f5e9a81a8584b19e3c9a637fbef95cfd36f46b1436d6cdc917a6d731dadfea1ae2dceded562b175f07a68746e3aa2623d95402ebdd97faf029e7ea3062b64a06ba916d940e8582d4ed82e091a5e8f2d9d46fab3d3b1736ebaad8feb67c2eb4093fd75f4fa6f78be8aa2288aa2745b1b5fa7caf6174da2eb06cb6b13480422f01081c7b2aa38b72fa9e2a28907f2bd3e16571c73307ffeaa8ac595b1fa75a414ac8c26d1d3b38ae9ba4e6565154120f07d9f20f089c562c4e371e2f1388944a2fef758ac8e20f0097c9f2010545555a7e3a406ee5757d7d4c7f1fd80d48dea8ef1329941ff909a3ad94fc7a9aeae414fdfa8746e6952725222b0c92bca25fda41a8434c8edd73bf5ef756ff1d40b737867ce276cac6fa8d2f0b72e6333406834d3c6f5c2ad8952599dc06bf4b56d0deffdf576febb0588eccf85974ea1b797c46fe10e3319b3d8ede8a318049058cb927281bfe973d603844631f5c04292b5823e874e643880bf9e2fb7f91d1854ac13648e956cc25b3fe099c79ee0e1479fe4f1ffbcc92b6f2e26aa4bbcf0284ef9d945fcf4b8ddb1dca079f2a187c916ab79ed1fb771d1f9d7f3e466803e1c7c403178227543dc4a198b448ccaaa686aa949229aadd17e5934bff82522d0dba9a796e38344b70caa17bcc2271ed06f1a3f3c280cace7b5f7b663d81a0dcfc58a682cbbed7c4e99f1c3fae5f43fafc089e86899f57403b3ea235e599a3abba1332fe29cb1bd219ec0958d6bc96bb75e830ed47d80bf6d395b01c2a3987a502f24117a1536cc3a53c71608802c7a1539044107ae07d3406f589fba8e51f519efac49451d7af6c55c70f860727470038b48c948c6ee538470dbaed91dc7d4fc35cdd0097ae47a6faa0be7ab16b5a8452d6a518b5ada583aa67bb38a09816d59cc29af63af5e20d3ddbcb2c259fc7cd21e8c74b7e16d2f67584e3e974f1987b36d35d28fa536366cde2af3b1ad2c74744cd3a4ac6c3b9148982008d03481ae0b0c43af1f909f493a8240a45b4a04a669b26ddb362cc36c314eead92ef0c1070b5b3c07dff71042d6c7314dab735dc59a14f6d0736fe4a1d32556244ca67d2958fa26f3b67b54af584394be640f399b5b6f3d8c8db130831b7e7bbe7d1e4f2d38965f8ccde2801fddc463177804ba85beec7e2eb879c7d32c44dd321ebbfddf8cbae524060f3d998ba77dca35cf6f654787fa5c26ffe62f1c2a43a4e60790ac9e3d9bc5be8553359f7fbe791cd71e95cf813fbd85c77f427d33c2e6979ee5d3a48edee48ebe7971e898657379fcbd295c71480e7b9ff35bfe718e8f274d2ccd65c14d9770fb62c9e093cee0c4710540091b3eb88e67cb1b979bd6e7046ebee1482235e594c50c7af70108d8b6298ad0533b962d9471e9f76fe45fdf6ff082fb09375ef266cbd5d36a5918684dcf138966082adbab279a6f972a231d27fe25cfcdad65bf23733000b9ec4dde2fd7b0b29ab75e985959e4370b261b9dadedd430e79e4739e80f67b36f7800532ffc2d532f6ce1182adaab57133bd1fe3a56722ecf7c7c2c17ed97c5d89fdcc4233f69be2f3d2867f97638b09fc9be17dfc825375fcd9d5fb47d3ddcb1421069f4a0190ddbaee4b57b9ee1e0df9fcc6e662913cfbf92890dc787c53fe40f17ddc36741e3fd77e4e3299148cdc0eec2f5debef6afffe6e7ab288aa2284a77b5fabfec4c579cb6163f9058b6c55b3506eb92a9ee5d32f029b50346c436e1576c4d3d1cb0aa8c61b5ebe86f0b64e0a3e93a8ba29277a206a6698106a66953515149b42e861002cff3703d17d7f5d24b83df3d17cf4b8d8fa9a8aca2aab2b2d538aee7b3efbefb3076ec18c68d3b9071e3c6326edc818c1d3b863163f6c7f57c8410d4c56294979563d96687ce7dc7a2a1e152b9ad3675c3a9878844c2d8f8d46c59c1bc67efe6f29bdfa6c671d0963dc61f1f5dc0eaea80ecd2218c18de072759c3a6afbe645d42c372122cfadbf5dc36fb13d6d504a05b1832cea672add9734dc4e657b8eba954e7fc81a79cc351051264155f2c5ac3d65a0f8cd48d7a7ceb57bc76ffefb9febfdbb01d0323e4b374d60ddcf4ccc7acab95a04150bd96798fddc2b54f6dc0b0f50ee4bd1a6628c927f75ecf4d4f7fc8aa4a0f30b1b480e8d6d56c1126862ed8fed122d6799058f9219f55348daa61ea31366c8b63e616d1b74f3ed46c60e13377f2d7853142a6d6b89cdbbc8a9b5fc65a7b65616bcd634ac0b0daa9a716ba8b35b8160cc763f97f5f2355332e8b9e5f44b565a075ea9a6ab068164ecd1c6eb9f41666bdf1251baa1bf4494a56b3f1abf759b825c06aaf5e1d03b303eb58769c0ffe723db73efd1e9f2e5fcbaaaf3ee7e3f5a97d4adf43a0635be5bcfad74799b3a69600978a1a0fdd6ee77a68e1dcd04dccad2f73fd6577f2f89c656cae0bea0b345eb68645ef2ea1ceecc8f5d8c2f591a98f1eb9de9beac0f5dfd5fa568b5ad4a216b5a8e53bb874fcffc0cd59878e3fc8b56dab43010cc34404827caf96eb4beac8955efdb4c82dd14d8b1acde2ca2d39249c089695da8f1012cf75098460d8b0c1f52d2c0d1f16d9e82192ba8e08242b57aec0304d6ccb41d7b5fa38424a860e1d82a6939a71ac419cd4fe045282a66b203556ad5a45ea417b5ae74a1000891b4b12f71b6fa7e93aa665e2d806a9e11a92c0f588270382ccaa9a86ae1b84c21656ba95c1733d92ee8e7574cb26128278ad8b8f861d091136204826892605a013ce76b0754132eee1fa82cc100e4dd7b16c8b90dd702c80c44f7a2432fbd052eb849df43a32a0aed9be124493120c9bdc48e6017b4de2a4f76787ec54e2e17bd4c57c8461604941503c895bee3c834194f1ec95d7f0f4364990f4d30f39cc1c8749c8315ac8a805896892648b3d870c22d906c968c363ee4059b4709e99f269b39eb496b693f809973a0ff20ffc117fbe742cd9956ff2ab4b1f63a3696374f7cb772948263d5c6fc7f9907ea6911db6d3896d3bf54afbeb4801664e36def6326a7d89669772dc75bfe79ce11a152f5dcf458f6fc609e910f8c4133e5e004e2444c86821368daf87d64f2dc04dfacdeaca300d428e894107aec756ebb203e5d26c5b895b97201e80ee84c871b42e5dff8aa2288aa2748ceb7acc9d37ff64200ec4d24b5d83dfe340a2d5c4259350748465db785e12c74d70416e0d07384910e9d9baa4844cc2a01b2c4a3adc57934bd20ee338a9bef399ae5942a406c8077eea592c595959f5894a4626f988c5626cdebc05c3d07142a14603ef8590b8c9244120282ded43381c4ec768985868e9e99403366cd8881002cbb2d2ddd4d44d47cf1124dd3e9c7cfd654c1b9c937a1a4ded5c7e7bf12c56e9e927d8eff2245ec2649fcb6fe6e7bb5bd8610b70f9f8ffaee24f0be384ac5de524256e22c2e1bfbb95ff3724201e4da06747d24f105acfe397dfc07f2bcd66ad7f8aa2288aa228dde1791d4b5cba371d729a9b4ce2380e9e66705b95c1582bca84709c61a6478e2ea8153a2b7d8b77e2611678d96485433896559f4768a45a53744d4bc5d15d366cd848767636d9391142a150aa1b9a14241209a2b575d4d54571ec10966da5e64192d4b7cae89a86ed38789ecbfaf51bc8cbcb25921d49254a52034de2ba2e75d13aaaab6bb01d1bdbb2f082a00bad2d4a9ba4243073282948252df14d1ff1ecdf9f64993071f41666adda2549849e4db12553498bbb9d45cfdecf5f3f88623b46a73e4bdf2c098685dcb486b2defd29ce8e0049ca567ccccb8fff8b97b6ebd8d6b7a5ce1445511445d9d5b4dae2629a9d7f749a6999e8ba89ef79789e8710014248743dd5cdc6b22c2ccb6ab5452373832765aa7b97eb7b049e4f906ebdd1340d4337302c13dbb4d0749d4ca8a65326d7c79101aee7e3a7c7b24829d0341d5dd7314d03cbb610812010a9a445b5b67c0da4201ef3f065ba2b8d636277bbefd4ce46e2c65d92018086699b4dbae7ed2a245ec22319ec48503443c7b6bf8d75a6288aa228cacec0f783eeb6b8747ea79eeba369018661120e87d3cf50e9f8cd4e7d8b89ae21351d47779056666e2e591f2bd55d8c46e3605a8b238481631b389655df512cd56b4c1008f0dc86e3713aff0c17a5237442598d1fe4f2ed2b670d2be4d0a883a5a40b03bfbf691aa663b738dde0b7afce1445511445d995f44857b1a6db09e1e2b53e3e5f5114455114455114a5535a4d5c76c5ef8a1545511445511445f976ead1ae628aa2288aa2288aa2285f871eef2aa6288aa2288aa2288ad2d35a4d5c3a33bb56e6592ba959bbd474a9cab74b6622085dd71b3dc45451144551146557977aeea2e0e2e30730f5a821844af7c428dc0ff0dbd84a27356956028218c83a085ca407c9b2757cbae0537ef3f032a20989aeb7ff00b8868fe18b00002000494441548e369874bbc5450841100478be8feffb88402054e6a27c8be89a866ee898a689659a1886d1a10fa1a2288aa228cace4c4a4910087e785409d326ed869de760842ac12907b700021f74d1600b03d0c0af045906ee7664bc1c8d00f20ad04c0b3b5b639f7d077079d4e3fac7562044e71a44dad2c6e0fcf60921f07d9f64d2e5f0c32730e598a98c3df040b2b2223d72708ab233a8ab8bf2defbeff1dfff3ecf870b17e23836a669aae44551144551945d56a6b7d4d86161ce386e285add2aa8b3f8f2fd1a3624e73065c60c300741a0919ab4cb00e982b716c47644d94adcb56bd1ad22a2aec52bafbfc8c9a7ed8d3d6c34561066fcd8524e5955cdbfe66dc730f41e495e5a7acaa4317060ff6b3b72b24110e0ba1e33679ecdd5575fc3e04183b12c2bdd5aa316b57c3b16cbb2183a742853a61c437979394b962c41d7f5faae638aa2288aa228bb1a2925b621b9f6ccdd280a97619843b1c6dec24f7f3f9b6b6f998db77915471d530ac2041980bf15dc6520ca08b6adc05dbe017bbf6bb146fd986717c639f3b2bb78fffd959c342e8b50df01200386f7b298f7d9766ae2a2dd7ba675eb373e49aa7f9ad7c2e2037e975b5c8410789ecf61871fce4f7ef2d3fa712e6a50bff26d25a5e4a28b7ecebaf5ebf8fcb3cfd0751dc36829f7571445511445d9794929115272d8c86c860c719095d5d8875c034e2e919c7c0470e3ac8f9934f1158e38fe60645d2677d0400abc55eb70c6ff19bd680400994e286f7c51cb8d37bdcb4df70fc1c80a91531ce6b83185fcede5ad3d324eb84b7d5d32fde192aecb94a3a722252a6951be13344d63e2519349ba2e4120d435af288aa228ca2e474a09423079ff420c518d59380a9c7c006eb9e5668e9a38893d761f8e575e0b41128278aad54513888af56805a3eb931680ef9f7a2a175e7821c377db839cbea360d31a744bc30c9b1c714021b9217ae49ea94b2d2e42083cdfe3d0430f63c284c391a8a445f9f6d3340dd334993469222fbff2124b967c8961346e75f133935488ae7f1e344dc3300c2ccb545dd11445511445e971524a7ae5188cda3d07824af4defbd4bf575252c21bafbf8697a8c35c781eb2b61a74273d50df40442bd122fb368aa7eb3a77dd75174937c0a95b4972d165d82509741b8a7a39ec39c061fe0a174d93ddbab7e974e292696d09fc80534e3a054dd39152b4b8eee2255f110441abb18220c0300c8a0a0be9d3a7440d7656767abaae635916c71ff73d3effec330253341aebe2793e63c68c212b2babcbfb88c7e3949797b366cd1a8cf46c668aa2288aa2283d21d34b6af7be36a18889e642b065016816d8b9202546b8084b4892f104b670d37dc152ad346820ebca483dffa44112a281631bc86a0fa400e9a2e912c3d2d9a334c407cb1374b1b357bd2e252e7ee0336af4de1c32fe10441b5dc462b11863c78e6d35d69b6fbec9f8f1e359b9722565e5e50c1b3a8448e47f3423591065fdb28d38c376a7b7dd30f393246baa0922f964edf2c317be4de7b273c8b4861c3e61028fffeb71d66f5887691af5894ba6ff662291e8f23e0cc3a04f9f3ee4e7e7f3e9679fe20701a61a4ba3288aa2284a0f9152d2a7c040d7038ce25ec8ba95c8b2e5c820754f2f7c8114a0e75aa0e920dcf49c453e7aafbe88650b48be7d1e5208900defa33564bc0a23474743021e9a29292d34eb7386eeb4b8743aed1142e07b3ea79f7e7a2ad16aa38b5810f88d06ed375d6a6b6b28282860e4c891e4e4e4b07cc54ae2f178974fa63364edc7dc77cbc37c56dbf8f865d55c6ebcf84fbc57d5722bd2d729d8fa0abff9d1b5fc67535b0ffce9788c6ff25cbecd0cc3c0304c4e9c3e1ddff3116247f96aba46456545b7e267a619b76d9b3df7dc0bdfeffaf5a0288aa2288ad2949412cbd2800023ec60f6e98fd96f20d6c041a965e8109ce14331fbf507e183f040fa205c7443c7de630866a98b55ea62f54b62f777d34b1267b708d6c07e482f09d2479301e190f6bf1fe3926a6d09d0348d09871f01ed8c6df183a0d14d5d53b5b53500442211060c18403c1e67f98a95ec3d7a54f395135f71df5537f1d6f654d7333dd28791e34fe407a78fa79ffded1807a0e7ecc6f8493038af03dfaec73fe5960befa7f735b7f1836176cb31bcaff160bf4534ad731fa654ab8bce11138ee0f6db6ec54f7779d4340dd330282f2fa7a8b0a8dbc725842092954549490965dbcbb02cd5654c5114455194ee9152a61a4fa4482516c205d1425b8668d411ac8100341d239cdd78854c4b8a0019f8e9ee6202c8fcdefd63efd49d9010a9b12d878c1f8f6ee8a9e6a13604bedf66e2929d9dcdfdf7ff1dcbb2b06d07c771b06dbbe5956592cada5c8ebafa77cc18e053beea7d1effdb3ddc1a1ec82ddf1f88d59913d94969594339fad4a13d164356f5c4517dbb799ec7db6fbfcdd1471f5d9fbc689ac6c2850b39f0c0035b4d680cc3c0711cf6de671f167ff925c214e9961883eaaa6afcc0c734ba9f680821e8d7af3f5b366f51898ba2288aa2283d2700021f37992051e1a369123b6261980686a1a199a9ce5e99dc444ad0d052b3aa06e91e545ec3fb2489e70b8480ecbc10a9313120dd0475b5c91e39e44e272e9ee7f383737ed86617b10c3f683b71993a755ab3d7e6cc7db78d883aa14884ec3c9becfd8ee1d4435fe3fa655b4932102b28e3eddb7fc3039f541368390c9f7c1e979c358642439258ff16b3ee799277d744d172f7e687bfbd8c89ce8ea832f615fffccded7c75c835fcfa48c0dfc87ffff0331eda528b51348a69e7fd8453f6c9c3409258fb060fdcf314f3d6d511ea7b00275e7001df1b910d755ff28f3fdec3bbab2b494808951ec48c8b2e60f2c0101a92d8aa5779e0fee758b0b61667d004ceb9f8071c56d238dd925573f8cd2f5ee6f05b6f6062641d2fddfd579efc700bae96c3de3ffc1d574cecd5e213435b8d61b47e2e7a6c29ffbafd1e5e5fb29d3821f63cff8f5c7d38cc69a10c0b924dd7fd15477e70234f0cf815b79e35041b97558f5cc14d65e7f2975fec43d787a5ff6f699ac6dbefbcc33f1e7e84f51b3670deb9e702f0c0830ff2fa6baf73e9a5bf60cc98312d6e9b7a868bc9e9a79fc155575e896d5bf5b38be9ba46654525bd7af5ea91e3b44c93debd7b535959a106ea2b8aa2288ad22d9aa6a1019b2b5c10015b3654b3fce32a967d54c107af6eea76fcf37eb417875fb23b32ea8100b73acae672b7b5e69b4ee9f05d506636b170569851a346b539283f23f0fd4ef7670b3ad89fdfaf5cc2bc4fa3941cda1707c0c863dfd3afe18e1fe7c1fa97b9ede687f8f7c17b73dec055fcf3e647587dd08ff9c325c371a2b5848a0c88a6cfcbdfcebb77dfc9fb03cfe586e307e3d4ae072dc4a0291771f97ef954bd3f8b3beebc97feb75dce21ce521efdd33f597ff085dc7c59295573eee78edbeea7efad17334654b06abdc3d46bef606241942f9ebe8dfbfffe0efb5e3f855ec92f79f8d627d93ef117dc7a792ecb1ebf9907ee9dc79ebf3e82a2164719496a3f7a94a7d6eec7e57f3d99e17a15e55a41bb494b8b5a3b17b6b16485c1d1bffe33c7f409483a851846d07219f66eba6e11a6d69f9a173ea36cc6104ab52a962daea3dfb1830877e518bf21524aa61c3d85783cc17f66cfae9fd5eebd79ef71da8c198c1d3bb6d5c43b3535b2c13e7bef83edd80481c03465ba1b99497979798f252e42084a4b4bd9be7d9b4a5c1445511445e9011a2bb6b824eb7c8a7b5944474708f5b6f86cee36b4a420573752cf6964c742e6770d0492a0c1efbe041781f4248e09683ee0e356c6702bea58b62981d603994b8707e767060c4f39fa98d4c177a8c52535c6a5338bdfc6f4c9f8e5bcf89b1f71ce396771f6857fe2e5f8019c7444df7437318bfcfefd28cec9a678c4048eec9760435982c4cad7981f1cc439a71ec4e05e45f41d329882ccbd9face3cbc76ee1d19a295c7ec14114663203a388d107ec41ff5ea58c9a7a069372bee2adafa22456bdce027f2c679f7c00038afb32fab8994ccafa9c5716d7a6ca447328282ea2b0f710c61d338efcad5fb2c585e4ca37f9501cc88c69a328291cc8b8ef4da060dd42d6b631f1941eca42afdbc0ba32172baf0ffd72bb78c3dacab9648eb7a87721790525f4ced25b2dc3e6eb9ae48f3e824115f3f9b83c40c6d6f071596fc6ee9ed313c9f4ff941001d34f3c81e9d3a7b360fe0216cc5fc0f4e9d33969fa896db61642a6d5c5e0907187a49fdd925adf30746a6b6b88c5623d769ca150889cdc5c82404db4a0288aa2284af7e8bac6ba8a80a5cbab313d8fbebd6c7404fdb24314d816866d603a068e6310760c72422605218ba2b045896351ea380c0839f4b16d8a2d8b12dba2d8b288844c7287862099c02daf21beb5867834e0cbcd41fdccabddd1e1bbe14ce272d249d33b94b4406a56b1f66efe5adaa655660147fdfc3a4e1968e0d66ee6b3171fe0ee1b1ea7d7cd67314cace38d87eee3df0b5653e55998d267b090242b2b4866ef4b7e4b67ea97f1d187903f713045ad0df037f329cd854f2ae3c4fd0a92390d6299f9f4cb157c5c16a369ba6584f37182b5785292acae2056bb82df9f3777c70ada6e445d09592ded57237b9ff3f8c5b459fce3a69ff16cbf099cf9a3994ce8ef742f3168702e2dd58a4cb45c862dd5b65eb00f93863cc67f176c63c29005accb1fc3cca25d73ca5e2104493759ffec95a49becd075abeba967ac7cef84e379fb9db71042d47717334d93cd5b36336ce8b01e3bc692921256ad5c8961b4320e4c5114455114a51d990442a2f3eac7750c2f1644fa87292d35c92eb48956b9e4180659e8981a989a868e0652120881ae69484da34e0488c0c30304a00bc8cf77c8efabe1aeaf245995244808de5be9531603a70726d3ea50e292ea2616909d9dc388117b2044fbddc48046df427754db53bfea8472f3c82fb0a1a090238e9fc04b57cf6765b547fe67f7f3c8b2115c76db758cceabe2f5ebae620e60e7e661d56ea6ca87d2a6676b0d62c66513f9f2ae3bb9bde47aae99d6bff9207fbf92f5551a79455984b30ab16b37ed88e557b1b15a23af38ab79372e3dd320a661e7e693553089ab6eff01c33b7acf69e431eac48bb9e5d82dbcf7e08ddc73571f46fce138fa76273768702ecd9bda04e5f35a2ec316e9f9ec376d2ffef9c8abcc5db79cacb12750b20bf662d2348d8766cd62c1fc059c70c20900cc9e3d9b9a9a1a7ef8831fb4799d679ee9b2e7c83d0985c2044180699ae96e6426e565e50ce83fa0f509273a293fbf00217a604a0e4551144551bed33233a4bebe38c9690786d0ad3a4a7a5b0c1810a26a658c12dd44634717b1404a0c4d637849097d8b8bd912abe3b3b26d0cedd59b02c7215953c392cddb29186c12b193785189f0247e029ef9288ea11b689adeed16970e75154bb5b6044c3926dd4dac83f399055de82a16b4d5550c41225a4b4d55395b567fcccb4fbccae6ecdd18926b80944809227071fd1dc95268d851ecc707fce389f759bdbd92b28d6bd814dbf1bedd77023fbbf428aa9fba937faf4c778b92492ab6575055be8e054f3dc06b89bd99bc4736a16193186b2ce0e16716b1a16c0b5fbcf008afc74673f49e6d77910a0d3d927dfdb93cfcdc22d6965551b96d1dab36c79040b0ed5deebdf521e657343e6faf7c19cb365693105994f6cf4777eb709be58001f1ea0acacbcb534b450d6ed3aa69e55c5a3cde56cab0651ad97b1dc778ff351e7edfe69083fbec7233bb699ac6f3cf3fcfdc397399366d1ac71e3b95638f9dcab469d3983b672e6fbff34ebb1f30c330304d93f1878ec7f71b4fff6d9a269b36757f905b86ae69141616b6f319511445511445699ba669e8ba4e6d5267d6bc187e4c12d4788c3b3e9b5e85369e2711a4eef883f497b8070d1fce113367b2dbf4e9ec36720433ce3d9fd37e702ec71c3c9e29234631768f418c9d928389207005412ce0854f922cdb2a300c1d5dff1fb4b86406e57b9ec75967cdacbfb9ed88f666156b6d9b16690ef9d955bcf9c78b7913c0cca5ff9e07f3e3ab4e65374787836732fda3bbb9e39297f10023ab94f139065a64343ffce5e93c78df2c7ef56a1d380338f69aeb39b3b83e3059bb9fcccf267fc8efeef92f075f3392a1fde3bc70c3253c0744fa1fc469bf3c9731b91a1a7b30f39767f2c03df7f2cb1763387d0f60fae5177060ae066d4c3dac65efcdb9579cc203f7dfc7d5b3a3a0e5b0c7a9d770f50959c8e806962d594eaf3a019100818e86a076e9cbfcf59e05940560148c60cab947d3bf6966e0d730e7b6cb1bb48aecc64fff78e48ef7adc256cfa5f9f1ea14b55686ad9d983d98c947f7e78df78fe0d0bebb5ada92bab6274d9a44616111871d76687d4270fcf1df63c0c001ec3d7aef765b1633ad2e33669cc1ebafbd866ddbe87aea1b05cb32d95eb69dc2c2427273737be4788b7b1553595959df254d5114455114a5b332898b611abcf05992bdfaea4c196d50d05be7a8738a78ffa14ae23501a6ad1108c1ee2525ec316000414d0d7e2844d1e061d8155524bff89278551dab92b5148e8b336254882016e04705cb37c28373e398a685ae1bdd6e6d81962726b30e1d7f909bf98710824432494e4e1e2fbef062ba9b58c79291c7fef54f8e99d27ccae3b6bcfcca0b9c31e3cc4e6db3eb9378f128658beee3ba7f985c74e7cfd97ba79e9e2b2011f310d1c53c7ddb3fa83eedf75cb8ffae37303f43d70d84089abca67738e9f67d9f582cc6a9df3f9564324ec871ea6728f38300292423478e241cee814ad534162e584028e4b4bfaea2288aa2284a2ba4940821705d0f4bf3f8f5149b717b98847a1b54aff5f9ecc95ad6af48e026241347ed499fe22292be87af6bf8c904312f2021255e3841eeb85afaed0d781a5ead60c336b8eadf71b6468dfa4746b497b8cc9d37ff64200ec4d24b5d83dfe340a2cd16974c6b8beff9cc9831a353ddc4207dd3d6c9e990db9c55ecdb4a5430e78f9770ff9a5e8c3dfb7246eed4490be0aee3995f5fcb0bdb0a1835fda7fc7cbf5d3769019a252da9d73ade52a8eb3a966571dcb4e378e289c7094cab7ee09b6918f8d2e7cb2fbfa47ffffe141414e0385d4f3a12f17897b7551445511445c9c8b4ba589689eb4a6e7839c1e541982302494e89c66197e751fe5598ad1ffa5896cbb28acd24bd7437794d23542029dccd256f741c2b220962e045054bd6f9dcf48ac796a8816d9bf53d517a42bb898beffb0c183090534e3e25dd4dace389488fcf2af66da51771d4f58f70d4377d1c1d650fe1ccdb1fe5bbd62ed69accec62a79c7a2a6fbef90655559518c68e0fa9699ae8ba60e3c68dac5bb7aed3c97ce37d69ea592e8aa2288aa2f4881dc98b85e7c10d2fc459bcd1e2ac832df2f3a0608841f14813e15653949408a9a16b3aba06ba0518012209c90a0db756f2cc872e8f7e1490141696956a69c9f442e909adde01656612735d97030e1843382b0bd9c924c4711c9efbcf339dda2612c9eed4fa8ab233300c83fcbc3cf6da6b146fbdf506a669349aaf5cd7756c3bf5ac1c4551144551949d4526b1d0b4548f91673ef598bbd2e3f87d6d268d34e99527d14c816e48740da40808003f09d2d5a8ac167cb0d463f69280a56506966563db6687ba877556ab898bef0724932e7bed358a193366746a507ec619a7a9efe495ef86d4607c8bd34f3f83d5ab57b17efd3a002c4b252a8aa2288aa2ecdceabb73a55b60cae23e7f9fe3f1e8074946f737d8adb741bf029dfc306802aa13922d55012bb7fa7cb259529dd0314d1bc73131cd542b4b4fb6b464b49ab8d4d4d63260c0404efdfe690c1c3428dddaa29e21a1282dc9cc2e3662c4ee9c74f2c93cf4e083949597911d897cd387a6288aa2288ad221323d2c24735f13f334de5f19306fb95fff1e00da8e6e66ba6e34ea12160422fddcb98e8f5bb7ed8e7dd1db6ae272f86113b8e0820bd863e448a410ddea97af28df05990ff949d34f62d8d061fc63d643bcffc1fbdff461298aa2288aa2748b964e549a4d482c252208104180e7753d7e616141c78ea385d7ac43c71fe4bef8e22b5ddfbba2288aa2288aa2284a071c7bec940e4d87dcf39dcf1445511445511445517a984a5c1445511445511445d9e9a90742eca482c0c7f73c35b64851146527a0fe162b4ae7646695b2ecae3f7459519a5289cb4e289988535151c1ea552ba98bd67ed387a3288aa2288ad261baae939d93cdc04143e9d3b71f3dfc280fe53b4c252e3b19dff3a8a8a860f9d2258cda7b5f0a0a8bbee943521445511445e9301108cacbb7b16ce9578442218a7bf526083a3e35aea2b446252e3b9920f059b7761523f7da9b4143867dd387a3288aa2288ad269f9858584b3222c5db298de257d54e2a2f40835387f272384205a1ba550b5b4288aa2288ab20b8b44b20189ea2ba6f494afbdc545063e2211c588e47fddbb22a8ab420f65a319bb7643921002dd5039a5a2288aa228ca37250802745d470801641ec09892794a7c77891e9cf743ff0ee4875feb1d7ef4abf7d9fedc9f30b36ccc5ea3e93be39aaf27eb9692cd4fde4450f6055e6d82de275e41648f837b7e3f4d788160434592b2a8071a14844d061587b00c1d21259faeaba35f814def5cfb6b3f164551144551bebb92c9246bd7aec56be5f1e596653168d0201ca76bb37c492979f6d96759bc783103060ce4cc33cfc03477ed2f8a5b93e9d6661846a39f0d2593c92e976543df8564a327b578c5b554419d95dcb286b297ee62e031c7800e5be7cd23b965354edfa1dd8edd5462cb6ab49a95f43dec706420d9f8e29d98f97d70fa0ce9f17d01c492012f7c56c6fcd5518a731c0a22161a5013f7d95a9d60ff41116ae282adb51e6535497e73e2508a221dff701b6dfc21f07d9f7ffdeb5fadbe7ffcf1c7939b9bdb99d351144551146517964824f8eaabaf081ebc03f3cd17d0350dc3d290028490485d9238fc38969c7b097becb107a150a8d3fb58bb761d1f7df411975c72094f3cf1044b967cc5e8d1a3dadd2ed35ab12b088200c33078e28927b9f5b6dbf87f179ccfe4c99359bf6103d1da28050505646585b9fb9e7b59b060016fbcfe1a4545ddebdaffdcc24afc402085e8da97fb52a2e93aa6a173e28105dd3a968634adf32d4a5276bdae3b9a7b7c2d894b10ad62e3acabe87fe4c1b8db57621594e2d744b1f27b772b6e6becfcde24ab6a915e12bf62337dc78d61e383d730f0e7776364f76c17b5a55b623c38670ba306e472f4e812ea92013137200820376c33b25f2edb6b922cdd5ac961237ab36855252bb6d6513434afe33b9112dff75b7c2b994c2225cc9c7956a3d7e3f138b366cd62f6ecff70c2091d4c5efc2dbcf17f77f1fea01f71e58903b13a7e845dd3747fa28a8f9f7e9405052771eee4d2af7fff8aa2288af22d138fc7f9e4934f301ef92b596fbf86a119844b4c820a01ba86d94b27bed9c378ed056281cbc7675dc4befbee4b381ceed47e56ae5cc1a04183282e2e66cf3df764f1e22fdb4d5c4ccb42045f5fe2125bb396fc2f3e07dda076fc2138799db8d76a41e6794d1b366e60c58a15fcf2caab307ff5eb56efc9a2d12845454548291b7523eb8c553539e4e584b11c9340081a466937a694e8868eebfa54d7c4bbb4ff96689ace030f3cc0ecfffc279550b5c3b42c7e70ce399c70c2f15d7ee65547738f16d3a96e252e52b0f1f1dfd377fc01c87805ba1da17af132ecdd27a087b3bb1eb70d7a381b67f8a1542e5e8a6666219355941c38920d0fdf00ddc8fe9a5ab135c643f3b670d8c85e689ace9ab21855310f2f9004425097f059bd2d869092d1030a10122410f4600746dff7eb2f0acff3eb97cc6b33679ec573cfcda6a6a6a6fd6041155fbef32e1f6f4cf03f79b45ad3fd05e52c7cfa095efeb29aafe5cf9a88b1e1d3b97cb02afaf5c457144551946f502c1663debc79787fbf8bec39af130a9984232666d2209c6b138e5818499d70ae8513b688cc7903fffebb98376f1eb158ac53fb5abe7c3923478e0460afbdf662f9f2e5added0ff2fbcfefa1b6cb9ec52920f3f42d5030ff0c5d5d7747be6b2ccb8152925baae13c9ca420a81659ad8b685659a58a6493814c2b66d56ad5e5dbf7e57c5abb610adde4e3c5a865b574e32bdb87515d4d59411adde4e5dcd76ea323f1b2d6544abcb88566d235eb5a55be7ded47f5f7881acac2c727273c9cdcb6b75c9c9cdc5b22c5e7ee565a0ebfddebad5e262762371d9f2dcff9157a4a38b245e6d0dbeb088d63a0c9a7961976376449f132f64eddf2ec7a9acc43003f4481e39791e9b9fbe8bbea75edcedf8495f70dfbb1b3978446f365726d075a88aba6cae49501c313135d856eb53921746c3a4cef588bbc1d7f2b4e54cb36b6b4d72679f3d9359b3fec149274dff6e771b4b2ee5c12baf66d9ccc7983534bb8353e809a22bdfe1f977d7101a7312278cce83eacf78eedf8ba86e61ed3e479ec9d4c199314c12af7c316fbdb490c49853f9de1e91261fe1f6de5714e5ffb377ef715157f9e3c75f335c66bc313aea8c37264a212f905998b5b058d2ba9b84bb9156185df862bb18edca17dba568b3c55677d95d5ddcefba525ffd62e5c2b626f6b385b676a7ad84caa0ebd845a6eb909719f33224f01960e6f3fb634051b98b42f87e3e1e34c4e7339f7366608ee7fd39e77d8e10a2fb5e7ae925863ebd05e39baf722448c3b18666c6e982d0e9c055e745038c19a2a1c9a3b2bfa1191f2aa35e7d111a9b784951b8f1c61bbb558edbed66dfbefd2c5ebc180093c9c4d0a1c34e0966cea7fd4f3ec57777ee44ab0da05955d169b5c41e3d4a45d97a7cc32c44cf5bd4abeb6ab55a0e1f3eccc68d05a8aa4a83a2a0aa2a3eaf17dac4442afe1bc9bffa552e735f8aebf5680b40b34fc5535f4763bdff7b4dcbf50102b51a341a0dea29b7975bcbf2df1dd76835f87c2acd7d99e50fdc7efbedbcfcf2cbdd1a7141a3e1e69b93dad4bce7ba1b7bf4e954b163af97e2dbf72643674da7fe8bbd040c3572f8ddcf09cbde0cbd982bd7231a2d93527fc5e7794b31cd30d37ce413864d8ce0f8bbbb38f6c6a58cbcfa076775f97f7f7884305308ee3affe8c617ae7aa69874dc3bef6286eb02d8bc6b3f4daab6e565aa789bfdb930bd99da19d0c5aa68adc1d0e93151636323ebd7af3ff1ffdbb79770c71d29833679aeefa934d4bcce3f2bf6b76d9fd00e9fc2b509e338795fc94bedde5decfa7c381719fdefadcf7398cf6d6f5165db473d70fa8cd7ae8e0b2184103d75e8d0216695ff074d50209e1ffc881bfff018e539991c2fdf4e7cd557f89a9ba8d9fd2a3bef4ee6a776173e6f33effcf5098efff27e5cd7ddd0ee355f78e105de7fdf467373333edfc97f0da74d9b7a4a3e476c6c2ccf3df70fcaca9e07a0a9a909afb799d0500b2929b7f7c9aa5b0d0d0a3e9f9761c386a1aa2af5f5f5b8fffd6ff43b76a00ff6df34f4a92af55e2f015e2f758d3a468786f69b9f0fc30000200049444154aaacd6fc963d1f7cc0912347081936845fdcf543a6848ee3eb835fa378bd0c0b0a6494790cefeefd9cb54fee64efdebd1c3a7408b3d9dcebe9629e661ff7de10065a78e7333721430269f6aa6834306bb28111fa4094269f3ffd455551550d68fc7dc1c6262fa65143f9d2594ffece4f7bf5badba3aa3e6ebde51692936febf673bc5e2fdeb318813bbb1c975e74741bbfde87fbdfffcbb8b95751ffc90710349403afdb9874df9f09187a7eeefa070c0d6162daa338d62dc37cb905e5cb0f31454550f3cc7a865e1249b06952afaffdc6a7df107d8991cf5c75f87c60191dc45d31e34f1cff705f3d11e343505151550808d0e0f5a9046860e2a89e25c169bb5862a275c4a56dc25b4383c2e2c5b79c72def3cf3f8fc7e3e959e0d27c88d79f58c75f9e29e78be330222c96c5f7ade08e39634efeb1341fe6cdadebd8b0ad9ccf6a7d048e9acee235f9dc1b198863db03643ef626873c807e1c57dcb49c5ffe3896b19d54e1eb7f3ec4cd3b0fe16ed21272c977b9fdfe5f705b54887f84a4abfaf8ead8bb631d7985ffc6eef6817e1cb13f5bcfa389134ed4f7cb82255c57e0ff7ee6a365fccf9cc3bcfceccb1c0a9dcf8f6227d03a5ee2757fc4cbafee677c5c1c01bbffcd81d60a060cc5681a7af2fdffe6432a3f531877f502a68668011fdf5457f066cd08a65f1783f3d50a94535e6157c7851042889eababab43ab016db006c3f45928c78e3222722647fe5502c0f63b7f44d2961d0c9becdfd0baf88ec52c79ea198ad6fe96bababa33ae77f8f0615e7ffd0d1e7a2887a0a0ce334fafba6a36575d35fb8c9fe7e6aec2e1701016160640535363af5f5f63a3875777ed62e88bff6258dd718c75f50c6f68202438180d10a8d150eff3d1e0f3e10622bebb18b3a977f9d4ad1de7213a1d5aad963ffe6c09ff75670acaa1e3e80d4de0f1802e18cf377a6e4dd013a4aae46f7f89a0207f6fa3b7a32eaa4f65882e803d5fd6f246b59b71a38650dfd08865ac1e0d2a5a8dff1c8dd69f7ae0f5fa0808f02fa3ac347a09d0a8e882b57d3ec3c7ebf59ed74d43bb1b7bf4d9884be3c12f1971c9441a3fff107c3ebeb67dc9d89bb21862b9b4c7d73a1b432c97625e7c3f4776ac65f4252369fac2cea88b8d780e7cd9ebc0a5cee3a5a959a54ef1a2454bcdd1e3dcf59d8b4e3967e1acd194bce5a2edfcbec0000d77c74ce0a2d1dd0f5cbaf387afaa6acbd7c9c065c8103d4386e8dbfcff10d44e92fcdbbf703d7b36dec72ffe0ed7dffb283f9d0c9f94fd858df7ff9486c7fe8f7ba70f01b5810f1ebf8f15c5cdccbde7972c9b61a0e9f031464c0806341867ddccf2d5773266840fd79b5bf9fde65ff1fbe9cff0db6b477638552bf8e2ef9371fb2c46abfba9d8f22736fe621d97fcfd11ae1eded0657d9a3efb2b2bf35fc59c9acb86ef98510fd7706c92f1943fec718b7ec3af6f1c4f201a868e1b067c8dcfa7e26bfb21f71ec1f6f2db78a6dfc09c492a6fedeee83d52f8aaea1d5cc3a6b3704aebf4332d86a84492a334d0b40feb194feaeab8104208d1737575fe9ba987ebbd8446cde4bd678a9974c555546bbd34373713fd93ffe6d0271f5357b38fe6e666f44603cd5e2faad7db6ee0e2efffa97cf0c1075c7ef9e53dae8fdd6ec7ebf57619f474a5a14141511a5055952953a6e0ac788df19f7f4eb056cb98e0608606049c9894a4f87c285e2ffbe2e298d3cba0a5a141a1b1d183aaaa0c19360c80ef4647f1d56bef637bfd3dae5f9688f7d06102c64fe495a2e7983e338279dfb982c79f7f83a6a6668e1e3d4a4040004141c1a7f4c5ba43a3d1d0e4f571ec7813f51ed00f1d86c70b35873c7cf5750361262d4d5e1f4d8dfe5197000dec3fd4c8307d002a2a4aa397c666df594d573bb34e033739bfcf725c5415d48606546f239a800068f29ccd54b7b3a2aa2a6a7313da662f347b40f5a19ec5dc3f774333fae000ea9466fc730a55c68c38f54339f7d251ccbdb4ef96a1f336771ce59e1c71e9fc35f5740942dfb1d7d95cb21f4bda53e4248711045c35cb82b2f72eb66edecd923f5c8bc1fd069b9ff98a8bd29ee4913b2f3e6325b0e153bec3dc29feef67841bf8ec9f77b1f3ad7d345e3b928e3eca2197c6312f761a3ae072d357942f7d9e973ef37095a5ebfae88f3ba96504d75c399ba8a9c3d070e65c5bdd988b983c39b4cd1ffbc5c4dfde76a96c2f47f7ec628f1ac982cb4613c8d71dbf47b576defec247e8b533309ef231e9aac1906c162184107dabaeae0e2f7048ab25ea9208ca7ebe9c69372773b056c5e3f150f3761597a5a4a11d69c0e3f1307ff57a2a9fdcc4c86347a86e27397fe4c891dc76db6d3cfbecb3ecdd5bcdc28589dd5a7dcce7f3f1d24bffa1a2a2821b6f4c60e2c4890004687b977a505beb66f79b6f12f2f76d8cf9fa6bcc1a0d6a4000415a2d4d3e1f8a468306f0aa2a8e860602c2c399b92cbd5765011c3ae442a3d1a0d16ab9242c8cbbeebc93a7765a59f5f00a265d391dea0fe2f37809f2d431ff9e2418a1e30f0f3ccacd3727a10b0ee2787d3daacf87aaaa582c961e95adaafe1bdd00f54a3343755a2e3219f9eaa09b97de3fc27767a8844f188e3e588bd2e4e5f58f8f51fdd571e65d361ad3c860bc2a68359a33d207ce566b72be56abed34286abd49fecf17fec90f7ff8437adbf93fef392e3ab385831fd430feca30bc5f1f60ec25260e3cf51b82275cccd0b0a93dbe5e6fd57ff131ceadbf61e2a56350ebebd11a8c1c7a6b1f9353c27a7dcd40ad8666af8f26af4a53b34ab3ea1fae0be8644a97aaf67eaf4d15f0a9dd095c3a0f4c7a1ab834ee7f97cf9a8dc4cd1e773220099ac055b34652f8fabb1c68bc16fdfe77f8b4c948dcecf1ed2c5fece1abff6ce64f4ffc9bf7bf3c4443c030823d1014d5fd519fc0b19319c371be3ededcadfa4c9bba843b2e2f67e37db7f2e1fc24162dba8979d346f56867555fdda7bc616b247c7e4b30d2e15befe568f5471cd55fc23593864828228410a25fd5d5d5d1d4e4a53e2c029f564bd293cfe005f4974ca1b1b191f78b9e64ea2d29040e1b49636323c5975fcc54348c45d3ee880bc0d4a953f9e94f7fcace9dcff197bffc859b6f5e4458d845ed9e0b505b5bcbb66ddb686868203d3d1db3f9e4a8476f520f00cc66330b13133974cd3534befe3a0737ff1f41cdcd3478bdf85495c69684fc2feaeb714f9cc8cc5ffeb2577bd3b40a0d0d3dd1393fe872f2fbdfff8edffe368f477ebf91ef464d66b44e47737d3dfa63b5d4365753b1e70b3413a7f3e8c30f131414c4c896fbd6bddab346a3e2f5c1c43143b08c09a6d9d3c01177330d8d5e1a9b559abdfee962c78e37f161cd71f67c799c80402d35873decdd57c7155360e4f0a03e0f5cce7772fe79dfc725d8340973ca2f713d95cbb819e3f01e3eccf86966beccfb2953561711641cdbe36bf654d391437c99f753264e31a2f9a696801003fbdea96162c6ef0836f73ebfc5382c88e38dcd68b51a1a9a9ad10706f0c1bee35c163aa2ddf3eb1bbdd43678193524105d70df2f4a70ae465cba5778c765367dfa14bf58f934dac42c727f319dd1aa8392877fc5cb3db8bc461b8816156f77fff6f59359b27e07b1bbffc1d37fddcaa33f7e92a7efdac8ffa44d6368d7cf0654947d7b39d8749c83a55bf9b0eda1aa12b61ebc9edbbe17eacf83f11ec1fe591d43c222182d9bce082184e867f5f5f534367909b8741afb6deff1dee6c799f5e3658c8a98466363238b765a71bcb18ba31feea1b1b191515a18d6ecdf4ea1b3e590870d1b4672f26dbcfdf6db1415fd95ececec0efb864f3cf124175d64e1861b6e38eb2962a71b357c381fbe6f43dfdc8c4eab458b7ffe824f55f9f8f87194993399f54036fa516737e345a3d19c48aeff78ef5e5e7ce56556af5c8906f86d5e1e6bd63c42406020dee6661e7cf001eebdff510cedec19d39b0509b41a0d0d4d5ea2c347621e15cc97ae065eb11d2640ab6171ec04268dd5a301be3adcc01b7b8f11367e38d1978ee6c32fddbcf0ee61460c0d2666bab14f03976f5f727e2f57150bb9722e759f2ee6c8db3b1865d6e3abafc53c49cf67bffd6f225617a2e9e33fe8b6d4e6263ecbfb6f4c13f5041c3f0ec13a0e7d7698e1d7a510322be6acae1d18a0c1324a4763b3174fa38f49a38650bcfb10178d1e8261e8a96fa1d2e4e3fd9a3ad06aa81be6c562d41114d8b33fe4a0a0e04e8f9f5c55acf3c0a4bbf30c559f0f15089e703917073ecb3b5507699ae19f9a45d37ede7ce7184117cf647c30048f8f2454fb2c6f571ea069c6a953c5ea1def52c35472962632c7a805ef30c2da89ed5acbeb4a77ea03807628966b6ee1e7572f607efe9ddcf7ccdff9f8f647b84213c4301d286ea5937d5c34e8c3ae23c9d47cb24edea3bcffe2cb38275fcff5334e8ef678dd357c55af63e2c5237b34a2238410429c0b46a391f7a75c8a7efbd3543ebb8d29fa40defd4f1968b4bcfcec36348051abe54abd967fcf8ac0a05169d2826dca548c466397d79f346952cb0c92f6e718f87c3eeaea8e336ddab40e8396a65e7666bf7138a8cefb1dc19f7d4670cb14b160ad96634d4d7c15108039f936662e5982b68ffa961a8d069fcfc7b5df8de3b5d75fe7963befe07bf3e651b2630726938911234670e8d0213efce0430c2121343737f7c9aaadaaaa418386a0402d179986a20b0aa0a1d1cba5138731c6a0a3d9eb2348ab65a2710853438771b4cecbc1a31ec68d1ece84d1435bfa827d3f07e4bc27e7f7d73e2ee317ff844f3e7a8f6fbefe94113a1f3a8dca88c61af63df147262dfd45afafdb957d4fac6344e33ef45e0d1a9f97e3871b68344cc372eb4ffae4fadf8f345258ee64f4301deefa66c2c60ee7a1ed9f13397128b15347621a1ec457473c7c78a08e406d00ba200d811a0dc3f4cd984704f77ada587bfa6caa58c070c60c87436ffe9bdd5f86126bb986a5491358b6e9017ea34be786c9602ffd0b855f4d24f9975763d080c618c37f258e65f9e615acf4dd4342d458028fbba8b35c4becc4e98ce369fe56f80f46cd0f6794d6c9befa4eca9bd079f5b423bbae4fd381977976374c0e3733a4e920559f7e03c3c7303c00089c40545820cf966ee2efd36f261c1747c67c97f9938ff26adb55c5828763681b2b7a9bd169217048088661412dcd818ae7f07ebed18ce2ca9132dc228410a2ff656565b10e18e78599fbf7a27a9ab16834e80d5abcf5fedb71017a1f1eb7978b54153550e5dd099772e0daf96465657579fd77de7997a8a8c80e4712b45a2db3675fc5ebafbf4e787878fb17e9c550c0c1975fc6b1e12f0c3d7e1c8d4683c7e7a34955a9d5ebd15d359bcb172dc2f3d957fc33329663079d1d5e67e4383357fc7135e3165cdfad72b55a2d3e9f8fec15f7b37acd6f78a1ec799a9b9a993e6d1af50d0d8c193386a6e6267caadac75b4df8477b9a9a55468f082276ba91a0002d3e15bc3e1f8d5e1fa6913aa2278fa4e4f583bc557d18c3f0211c579afb3429bf557f24e79f5d8ecbd9fc32345a2ec95e87fdfe64861aebd02adf30ca30842ffe554cf3e2a5041aba8ef07baae9d861bef9f7d35c7ce9287cb5753406eaf8faf870a6aefe239a3e58471c60c6c4e15c32e618ae5a2faaaac175cc43f4c5a33856dfc8336f1ec2a7aa8c19ae67a84ec3374a2363860772dce3ff63ebebbfa98ef671e9e8bc0e054ee007e98b78654d09eb9fb996ab564412b9eccffc6ee85a366c79987fd5c1f0b058527fbf823b67b4e474688673c5f28dfc76643e8f6dff2d0f16fa403f916b575cc1b5dfbf8b5f671ee6774face3e7cffaa3749d6102919696d5b74e2fef675d24fc698676599fe6c37bf9cf134ff3a7af9b80404685cf25e35777322518c0c8b52beea772e59f79ece1d720682cb37f1c49fce4aedee1f678a9fbfa38e82f62b8c42d4208210680d1a3479f085ef8978fa99f7d44804643e3512fda008d3fe5e0888a0f7faec4c796691c8cff3e595959a7ecc9d21e9fcfc77befbdc7adb7de0af8fb14bb76eda2a2a282d0d0506eba298961c3863267ce55fcf18faf71e8d021c68eed7d5a80cfe7a3ee4b07fbb66ea576d72e54e07040003e8381a0d050465d1645d495573272ca14b441419424dec18c19339898b00000fd9597a1d1e90068fce473bcaeafd9f7d9e7bcb6fc4192ba19b8c0c9e95e2b1ffe250077df9d4acd575f9d1891090a0c42abd5f67adf96d36934e0f34153b38fa6261f01811a8203b5347bfd9b4afa54f036ab0405803e58cba861813436ab04d2cc446330e346eaf034fa0808e8dbcee6f94eceef6eecd15e4d8296fd24ad31ef776b7b5570ab862f3ee1d39f271376b18e40541c9f7f43e8efb633e4e20e22f2b329ebf36a6a1ebc15cbc5c3686e822f3e6b60f2babf3124ac6fcb6a68f4f18717bea4a95943a046cbf18666860f0964a82e10ad46439da7094f930fe38860460ed370f1183d7111233b4de23f9dd250cf3b6fbfc5cc5957601e77e69084dbeda6b0700bcb97ffaccb6bad5fff275253ef6e771ea6104208210687c3870fb36edd3a46bf5046f8c736028203507df877560f04afc7cb27d3a2f87afe826e052d00d5d5d53cfffc3ff9d9cf7e4a434303dbb76fa7a6a6866baeb986f7dfb7f9f3206ebd95f1e3c7b373e74eb45a2d37de78e329d7686a6aa26c6709df4f58485363e7fbb9d41f38c0e137dee0b8cb8566f870820c23196a1acb30b3992163c6103874e8291de8224318316327d07ce86b82a78431dd7e721f0347eacf38b2e56902c78ea1e2d07e96b8bfe8d1fba9aa2a3e9f8f7dfbf671efbd19f8541f43860ce59b6f8e131418c0e3fffb38132774316da49b56febd86876f8dc03822086806fcfbc39dc2a7fa7becaa96a3f5add3b734d42b4d4c1c15c83145cbcaad7b599ddcbbcd374fa7d1687966fbf61e27e7cfbbeeba5e8fb864ff62051b1fdb7c33d000d4b77cd5b5f9be0150fa34c7a5ad216153085df13b3efded0a02bd0a43ae496048d894b3be6efb65851378f9f57cfa5a29cd1a1d610ffeb1cf83168021c15ab26f08e30f2f7c89f39807e3d060b45a0d751efffc4dad464340207cfd4d0353c71b889d62e851d0d22a20408baf93ecf486860656af5ed3e575fa761853082184100351db9197bd575ed5ee3963c68ce976d002f0d557fb080d9dc4fefdfb79fae9a719397214f7de7b2f23478e243636967ffdeb5f6cdebc991ffce006264f9ecc2bafbc7ac63502b4da6e2fb13a74fc7886de7453b7ce6d5577c8bf7dc1d8bb6f03af974f6e5fc6b1e7ad786b8f03e039d4f1f6069dd1683427fac2bffef5a3bcfbde7bc4cf9b87f5a5979879d965f8fa30f763f848331f7d1dccd826f07a83fc1b4e72b21faeb6fc4755010d040506fa631815bc6a309fd781e3601301dabecbceffd625e79f4d8e4b5b86abafe3b26776d37cfc1b8246f6fd14b113341a2e79e0f7341d7b90c0e123d0049ebbb93cc1811a7212c2a8fae21b9e7be710078e36f87703f28129249008d330be7be9c81e6d3a793aad468bdac172c88181812c59928cd7ebedf497dc7a5c821721841062f01b3d7a34ab57afeeb3eb5d7ef94c9e7cf2293efdf453aebefa6a6263634f8c78040505b160c102a64e9dcaf3cf3f4f434303f3e6cd3be31ada8080eeddb1ef250f2a68358cb96331040430e56f8f53f7de1ede8afe1e74b21f5e77592c162c16cb89cd38efbeebaeb3bee6e9cc3a37156f1da1d9dbbd4d24db6e9ead51411b18842ec047dcd4903ead577373937f00e83c39effbb874441318746e839636ce573900d16123886e6fc9ac734ca7d33166cc189abb11d5060606a26b99ef2984104208d15d46a391cccce59d9e73c92597909191d1e939e7646b86160a2af8545eb968160023664571cddb2f3174ee351cb1ee3aebeb9fcc29564f2c990cfe1199be4a8abf6beeb9df2ee4dba05f964316e75e6060a08ca208218410e282a7b424828f9d7f2df55fd470f8a3bdfe03c691278e9d8dd6e0e4f447d1f7ce2e700994c0a5bf68341ab45a2d8ae2e9efaa0821841042f4dac103fbfd0b04f5f1aeeeadea5b2e3ce38fab693a7e9c2395efa07abdecdf5d75e298f876e86eec714e735c44cf050404629e3081bd1f7f807e889e71e326a095dfc739d3d4d4d4df5510a2d71a1be50687f876f2797df87ce76f733b71fe353434f076e51b445e36eb9cfcae03d150dbb2fad62bf7aee0dac20d5c94720baf2d7f80838e9a13e7059d83cd1945df3bcb1c17998ad45f0283829830711243860c65ef471ff2e6eb15e7747ee840d6d5dae162f00a0e0aeefa2431e80404c9bf3d1722ad562b53d407250d9197cd62acd94cf339b849681e3e9c4f8ed7a2a072e4955d7c70c965679ca34743f8f8f17d5eb6e87bdd8d3d24c76500d2a061ec581366f3b86e2f232884104208d163e76846958a7f2f947311b40044173d46dd3d991c73ba3a3c67a4d9c4958f9dddbe84e2fc90e4fc6f39afd78bb70fd7091742082184182c86cdfd0e0baadfecef6a883ed2ddd843dbde0f25c745082184104208713e7437f6683770911117218410420821c4f970d6cb21db6cb63ead90104208218410429ceeac96430e080860daf4197d5a212184104208218438dddb556f74ebbc0ea68ac992944208218410428873afbbb18724e70b218410420821fa8d24e70b21841042082106bcb35a0e590217218410420821c4f920818b10420821841062c03bbb0d28bbb92499104208218410429c8deec61e32e222841042082184e8376739554c9643164208218410429c7b67b51cb2104208218410420c2432b47281aaafafe795575e4155d5feaecaa0a0aa2ad75f7f3d3a9daebfab2284104208312849e072817ae18517484e4eeeef6a0c2a3b76ece0861b6ee8ef6a08218410420c4a12b85ca082828264b4a58f79bddefeae8210420821c4a02581cb05cce7f3a1d1685055551efbe85108218410429c1b929c7f81f2f97cf2780e1e8510420821c4b93180465cdc5416e5b1bed806261306bd1e74062263c3a929b790bd2e1ec3f9ae91ad94a282553c546c87f064d6ae4c272921eabcd7e35cf17abd68349a13232ff278f68f4208218410e2dc1818818b52cdc6c5f3c9239b6d5bd730fb4464e0a4346b21abf62c67399cf780c11095c0b26c17c5c52be0ee6c52132ce7b906e74edb9182feeeec0f9647218410420871ee0c80a9620a95ab16f3505534eb362d6b13b400984958f3142bc3ddb8fbab7aadcbdbeafbab02e78ecfe74355d54e1f0feefa0b9909b3b968dc28468e1cc94557ddcc03cf7c4c43eb795ffe85d9e6ebd97eb0f3ebf4cb63fd6eeebdc85fef51a34e7dbcecc1f7a9ff6203df1df73db61ef0a1eefd23b3cd096c3fd6fbf2dacd7151ac2c321a094b29c179ca0137a589e399996343e9f16f4ec1969fc854a311a33191a2b73712377e3e454ea03a9f39e31329e9cb0f8c632373c6cfa7c4d9f5a94208218410e74aff072ece325615d4a08b5f46bcb99de3fa0896a4c79e1c6d51aa29cac920232b8bb4c438e6a71552e90670535998c64ca311e3cc0c4aaa9596d34bc89a3395451b2bfdc18fbb92c29c2c32d212899b3987c45c2b4e149c9545e4a4cc614e5a29d6dcf984196792557e66efcf5d59426e4a1c33d3ac545b73499c391ee3f838b24a9d288e12b2e68761348e272ecbda126c29384ab24849c922276311717312c96d7b5da59aa2ac34b2f2f3c94a0cc36834629c1947624ea5bf43db6e7dfdaa37ce276c6a1ad65e74525b3bda9d7d7d5994c29c85eb71cd7b986d6f7cc887efbccca6bb0d942e9d4b4ad1972de701747dadfef90215b8f20f2ff3e1871f9ef2f5c2c391e8c62e60f5ff3e4c4cc8c9a0e36ccbec486d59064b8b1c3dff45b547b15352588169f52b7cf4d156964c4f60cda695c40e96398c4208218410ede8f7c045d9534215101e1fdee15430435414fe98c649e9d2c5144766b361dd3a366fdbc44d35392c4c29c48181d9a91bd8705308e8c3898cf00f91e82de158a257b26ed96c0c3828ca2ac6b47c1d1b363fc78b5b17e05abf98a5452ed01b506c76ec7b8ab1452f273b399670c3e99b092a6030e1b1eda1664f0965ee2436bdfa0a6b63ec6cc9584a4e09243ff51eef6e8ac7b12587c26ac059c2d20c2b96ec35acd9b095b53176d6e794e068b95e79ce62f23ce9acc9cc64ddd6cddc1402a6f8b56c5b331b7d87f5f5872e7a7328168b99905eec79d8e508c2b17f93935386e5d7ffe4899fddc095a126c64e9ac1bc9ffc0f4fff7a1e9e4a1b075a471a7053be3e85391346337af4c5cc4dfb2bd50dfeeb1c2bcf2765eec58c1e3d9ad117cf2125bffcc4f38eeefae3a9c7feb88b83aa8acff705dbb31672f9c5a3193d7a02d3e6a651f87ec389fa1d7df3ff583a775acbf3e692b6f14d8e75f03a00746327613299183b76ecc9479d8aef60290fddb38a5d477da880da1280f97c3e8e551692d6a68ca51b2b39da9b1117005d08f392a3a85ab1948dd51dff4edce5f9a4c4b504af61fef7ea8c410ec546eefc44d6d7c09e5589cccfb1a1b84ac959ba8a76e26cdc9585a4c54d6db9661c69ad017c7be5576e3cf5dcc2b6a3412dbfe3f1468cc630e2d28a68b937d049bd1d9464253233cc88d1389ea9716914dada5cb1a3ba3936121796484ed622e6cc9c4ad8f830e2d20a4f9427841042880b53bf072e6ea70b0fa03774e37671750139560349f12db926fa0896642f405791477ea502e889ce5c42a8bd90e2960e92622bc1b1201e0ba0d80a585fe5a2a2389ffcfc7c0a4adc84c744a373b93144c5126b015d682aa909092cdbb0816551a7cf0fd363888822c602baf064d293a2301b22484a8d068f8184f424669b0d58e29389c281cda5803e9c0549492cb0b404520603b81db81540b15152568321daec9f8966882421025c76ff7bd2717d5d2880256933afbeb886d9bd98c6d6dac96e9bebd2f6b1fefd622a6a23b9f307934e3b1e4cf84f9e64c7ef7f8019f0f954f07c4299f3061effa006fb4bbfc6f4d2cf59517a101c5bb8e596f5786e7b1abbcbc527cffe040a6ee1aec7ecf8bef83f6ebdf54f28b7fe8d4f0e1dc2feec8fe1f15bb973e35edcd65f72ff4b53f8fd6b8770b9dee2f1efece1a1fbfdc19eefe0767e7ceb2f71fce831f6d41cc2feec9dd4feee56966e3fd8eeeb680d253a7a9d278fb78cb8f87ce0dcc1d25b1ea2e6478fb3c7e1e29367efe2d8ef6ee1c73b9c1d5ea7f31c173d96bb37b121be9a8796e6636baf03ee2864f1e27c94e46d7c7ee4089f3f970e058bb9e3f448471fc5232f3e477aa88e98ad1ff3dee6d88e67313a4b485b9c434dd2263eda7f84cf9f4bc59db798b4f6e67c394b485b9c873bf9297ff95be3b1e7a49053d952598f9d32e702367dbc9fcf5f5983c9ba821565ce4eebedb6e690650d67ddee231c39f22e9b62f790b3a22568efa26e9eda0aac864c5e7cef63bef87833e11539fef28410420871c1eaf7e47c7dcba886e256e82afdde5955418dc780a94d4fcd10194f043bb2c4a0550000200049444154a8dae382d916f45177931a5e4041a18dec751154ed709390ed1faff1d86d380c49a467a672669abd1b1da033e8e87c004387feb413747a1dbab6990a3a7f053d0086d9646e88a2ba7423b9152e3c0e77eb115a1367dc7637feb04b8f4e07211613ba2eeb7b76da8e48b49d26d5faa8282e6a194be858f564a7be9df3fc3dff29fcf8fe5b99310298f103ee8cfc390fef39c65ed716f64cf939e5f75c4188aac28c3b59f5f32dc43e5eca2beab3fe633fbe92113e1fccb88b55f73f41ece3657cf9bb10743515fcad783bc137cce3ca472bfc9d5d9f0fa7f5312a0c775276cf77181bdcf2bc9f3e4efc63560efee8364c6debd752efd7ee9a82a9ed8b9ff110e52ffd8c705fcb388bea3be5351db416f09ae14ecaeeb986b13a7fbd1ffde963c4175871fef0364cedbd0f7415bc9848dab081d23977b0342f86571e8938e5a8a3b4105b7836bb97cdf67f0aa25259935dc89c8232aa974510d1ee353be7b416506148e5c5f458ccfa966b661630b7c08a3369096d67663a2b0afde7a6b6941f9bcdb61793f058f4f88741c249cf5e429401884a20356a053936377667c7f576ac35a0afa9a0a8b804dd8278a2d7ece64077eab609d04572776acb1451433449e1b0cae686a4f6e6930a218410e242d0ef232e86f078c20147b9bdeb24658f02b871b59deba237a003f4ad49f44490941e89aba4800a4739252411d3120f2978f038acd84f9b2be3769ec339284a354569f359e58a257bcd23a4c7b4e942ebc3494d8fc4555aecbf0befb661754593b93c0afd79a86f67b91ac121a18cc58dcbddcef10627ce632ddfa3822e84d090d6e3c104eb00a596437617982633b6cd73c74e0945e7de8be3e38e8e7d8272451ec505d7a13cbf9ae4d8082e8abc819f6db1d1a0aa1cb31fc253f3bfc45f64c66cf67fc5aefe044fad1d6743fb392733569552595979f2abf84ea6b4d6ddff46706296572fcae82abfe5044302eb3625a3ac5f4ace29f3ba149c761798224e09b04ce116746ebb7f74ae17dc76279e9a02e64e30faa763198d5cbdca8ec76dc775da35dd0e1798c3dbdc14d0638e8ac2d27a2f416738f97d6bf0eea9c5d549bd95e8b56cdb148fa72c97c5575fcc84a9f3c968997ed669dd3c2de59f76834069f912420821c485a9df03172292c99ea7a3b62c8f9276739715aa4b4ba956c0101d8d093ba5b6b6c9ed6e3cba7016449fbc136b5990498ca78cdc9c620c37459f984a63088dc4545b466e51f5c90e90db4aa1b58f92a6dbe1b6e6b0c21a4e7a72543b537af444a5ae213dda49715e3e1b0bab88fef336325bf273ce657dbbca71d14dbe85ef84bccd13cf3bce385efd443297cdfe09e5f5ad392ea75ecf3f1013c4e8c921e0b2e36cf37c97bd064f480493220ce0b2e36af33c67750d1ec364829dd5b827afe0fffeb19b2f3e7f8fe7568ce5f9ec5ff0b72f7d844c198b6e720eaf1e38c0fefdfb3970e000fb3fdacd9bdb57303db89dd703844cba844993263171e244ffe398112dc74f8e94b40661aaaa3262f25874537278b5f5fafbf773e0e337d9fd4c1633749dbf6f5d31c4ae65533a6c599a83d57d72e4cd1c6e005735ae36e7baec0e3c86700cbd5cd1ce106e4617be92378e1ce148ebd7e7eff2eece6c4e9f0569b018c0d936a051b015e6b2b1bdc4991374983aa9b7de65c71d9ecdd617dfe3c0fe8f7821db44e98a15143bbaa85b2f72b68410420831f8f57fe08299a40d5b49365570dfe20c8ada062538a92ccca3c2144b841ef4519964c7c04b798527f2041cd662dcf12b496e3b97c61c4f7a3cecb18593d4a687a69f9d4e7a24ec79682e0b33f229dc984b5a4a119678ff933d80c7c3a93c2df539d1a1f3a078c0ff9f36a79df23f2df9352d17f4d456506cadc6515942419903dc4eec55e5542b6e4a3332b01a62898eb260b65830b86cd85a4654baaaafa32885b8f93954f6e2367457392ebe115793937b2d1f642791fae77f62fbf220ae9a3d58ff74374b1ef9846b1e7c90efe84fcb0d69f37c5495493fb893199fac65e5937b38eaf3e1def3240fffe113a6dcfa0362bf9fc28c4fd6f2f0161b6ee0a86d0b2bd77ec2e4c5df67ec6b8fb0e4e6e53cfd89822f780c26931e9d2e84101d8c997b07571cfa332b1fabc405d41fb4927de31c12fee0bf93dfeb1c17f5e4eb305d770757b8fecccaff7d8b833e1f8aeb3ffc22e12a6e5cfb01f5bdca71694bcfec955b596e2863cb9e933fb524dc4d943d8f9c42fffbe1b615929367273c7941afa6890198e3ef26da994fcec64a9c80e2b49235ff72e6e79db904b339269d187721b9c52de55716b022a704bbaef32822b4937a9bca73589c984151b5027a3366930ebd2e0483ae67751342082184800190e30280399e0dbbdf207ed52af25366b20a33164b282653040b3257927a22f8b090ba75274ad60a962e2c2732dc0086649eda94c0a933df0dc4a727b3c0967cda9de50832b76dc39d914541f12aaa42e7b17cc36692cc0ad5a5f9145681873cf24a4d64264480ad9492822dec01d892c746cb12e2f49514dac0a32fa4d01a4a52680dc51babc0038505a5842687632f2ec48607361650f59b6c9647a7b0fe8e85d8ef5ec3dacc044a52ca29b167b320568727da8c233f97155b6adb043fe1dcbdf345d6c576545fff598acb85dda1a3d6438ff799e92ac70560e2e24dbc30621dbf59974de29a43788090c9d7b278c30b3cf8c349fee7b7590ed9d79233e2f35f04dfc434366d5578f081454c7fa01642a6f3fd8c4d3c75ef25a85cc2a6ad1e1e7c6011d31e3c796c6bc664c6b08e0d6f65f1abef5dc27f7bfc65a66c5ac7c2313e5416b369ab9b071f48e3f25f1d02c6326bf13ab63d7205c12d232ca7e7b870daaa5fa71e57517dbe1353c55455c537a6b58cff62d6236dcb98854e554f06391d3c76491f45f6532bb15ebdeae40a5f96653cb5cdc38a15895cbca21642225990b9956d99bd0d5b00f312b66e7393b5e20ea63de4024c4427ff999d6b669ff9e7624e62f3560719ade59ba2495ebb8d35b3f5d0d9005f27f536b3814d5519e4cc9dc07d1e08099f47ead60d2d7fbf9dd4cd55d5fbd72c84104288414bd3cecf82b63ffdd7c6ebbe77c379afcc85c749494e01a6ec47daecc1a1e02c2f20a3249aadeb3a5931ea2cfded6f7f233131115555d16834f2d8078ffff8c73fb8edb6dbced16f4c082184106270facfbf9ee7e65b6fbf196800ea5bbeeada7cdf00280363c4e502e5b6ae20cf91ca2ba72ca6a6c76c316189329db3a005ba37e2228fbd7b1442082184107d4f02977ee476b8b097e5b0a2682dcb13a2b1e8c06d2fa3a0d045d223673145a81bbabd1296e836793f8510420821ce1d095cfa9125f529762a39ac5ab598abeff3802e9498a44c56aec9647637f6e33c5b3e9fafdfa7570db6472184104208716e48e0d2afccc42edbcc8bcbce7fc98d8d8dc0c9e0451ecffeb1b9b9f9fcff2285104208212e1012b85ca0e2e3e3f97fffefff111010d0df551914bc5e2fd75f7f7d7f57430821841062d092c0e502151a1aca5d77ddd5dfd5104208218410a25b06c0069442082184104208d139095c84104208218410039e042e42082184104288014f0217218410420821c48027818b10420821841062c093c04508218410420831e049e02284104208218418f02470114208218410420c7812b808218410420821063c095c84104208218410039e042e42082184104288014f0217218410420821c48017d8df1510fd63d7ae5d389dcefeae8618a4aebaea2a2c164b7f5743f401692bc4b9246d8510a22764c4e502e5743a319bcdfd5d0d31084947647091b6429c2bd25608217a4a465c2e604ea7937beeb9a7bfab210699a3478ff67715441f93b6429c0bd25608217a4a465c84104208218410039e042ee799bb3485a953d3b0badb3b68a3243785393353b02ae7bd6a42887ea5e0ac2c2267d11c66a695234d80104208712a095cfa80b3300ea3712a71f313494c8c63aad18871fc1ce62726323f6e26e38de34929f77743749618e2e36309d5b53e5bc1616b4d7c3560c28edd255d1621be1ddc58b35228729ccd354eb6017ab305ec765c7d5237218410627091c0a50fb88962f51beff2ea8bcff1dcb60d248502316bd8f9dc73bcf8ea7b7cbc2d1593c703803e6a191b36a412a16f79b2a3989c6287ffeeaac14254b4a99f5e8510a2c79ca5e46f29637d6175efaf71a20dd063b044112db9ca42082144bb2470e903e6e874969c8844ce64884927f9e410cb49ee4af297e650d566da98aee3cb08210698ea923274d121d88bd753d99b81d2f6da803eab9d10420831b848e0d2070c5151183a3b416f6176841e9c9594e4a610373305abe2a6b2640bd66a0faef23c323272da9f6ee2aea430278b8cb444e266ce2131d74aebc4b2ea8df309eb285f4608716e299514ef59c0ba3f6713e92a61fd191f4427954559c4198dccccb1a100cef24232e61831c66dc441276d80c783bd248bb83023c6a989e4dbda44454a35453919646465919618c7fcb4422add70224726650e73d24ab1e6ce27cc3893ac72b7b4154208210605095cce23456fc0e4b1b3c7a5000666a7ae2135024262b3d9b0610d4bce9822e2a028ab18d3f2756cd8fc1c2f6e5d806bfd629616b5ce870fc562311322b7688538efdc153b2039094bc412b2e741d9fa524edda6d1ccec25992447b6f9496c32e9f1a12dffd7711be0b11561d5a5b26df72bac345590976bc51f7338295dba98e2c86c36ac5bc7e66d9bb8a926878529853800f406149b1dfb9e626cd1cbc94e8e25dca093b6420821c4a020fbb89c477a430451312628ecdef98aad80f5552ee28bf3b103b8dd84c744a3b85c2898b1246de6d5a47359632144fb9c58ad9124afd1037ae2b35309fdfe7a8aab97901971ea99bd99fda98b4a253d210a3db0203e945565769c80a1ba801cab81ccb52d118e3e8225d90bc85b9c477e6532eb66c7126b81625d2aa909f1181212fce745495b218410e2db4f0297f3ac27392c1ebb0d872189f4cc54245f578801a4ba84225b0586346bcb0fdce875760a0a2a495f37bb57c1ca29da8c8ce84d7a50dc781470565550e331606a538021329e087650b5c705b30de8009d4127b932420821061d095c0630050f1e8715bb3b154b9b241ab753c160962c7e21fa874265590d995bb712dbe673e9d818c7e579eba978642bf19d26bdf586a7e54101145c6e389158a7f7072be8245411420831b8498ecb0066088dc4545b466e51f5c9cde8dc560aad67b5698410e26cb82b28762d20fab4e0c492904a646d19f9a56d335d74e8f4e0514e5b72ccd3bba20dd1d198b0536a6b9365afb8f1e8c259106deedd45851042886f09095cce050fe051daed9b78144ee9b41842a0d66ec7e5a8c45aad9c725c3f3b9df448d8f3d05c1666e453b83197b494222cf1fe49f48ea214e2e6e7f46e19562144af54176dc41d1f75e674304b0c49e150b1be80ea139f490396d0105cd662acb66a2a4bf2c82f7781b38a2a9b138576da00e830b0d14765921d032fe515d2bad098c35a8c3b7e25c92db9351ec073daf3a5ad104208311848e0d2979c959414e653e202aad69357646dd38101c561a5b0d00654b1b1c08a433110b92c9970db0a1273f660d2549c3c5e68c5a14490b96d1bcbe799b015af6245810d4bf63a925a6eac2a2e17768793da5edebd1542f4849bcaa20cee78e8252a0a0b296dfbe146a1bab418ab03b0afe78e8c8d581d0aa0273afb1116b0853be6df418192447a6c38a15106dc6e0fd0b60d7807ef8705145681a7aa80426b358eca120a8aed5063a5b0c4861b0ba95b77b23abc84a50b1791969146ee9e649eda94801985ead27cfff3ad79e49556d33a2e236d85104288c140d3cecf82b63ffdd7c6ebbe77c379af8c387f9e79e61900eeb9e79e7eae89186c8e1e3ddadf55107d48da0a71ae485b218468f59f7f3dcfcdb7de7e33d000d4b77cd5b5f9be015064c44508218410420831e049e02284104208218418f02470114208218410420c78b28fcb056cf2e4c932c75808d125692b8410420c0432e272819a3c7932b366cdeaef6a08210638692b8410420c1412b85ca0a4232284e80e692b8410420c1412b808218410420821063c095c84104208218410039e042e42082184104288014f0217218410420821c48027818b10420821841062c093c04508218410420831e049e02284104208218418f02470114208218410420c7812b808218410420821063c095c84104208218410039e042e42082184104288014f0217218410420821c48017d8df1510fd63d7ae5d389dcefeae8618a4aebaea2a2c164b7f5743f401692bc4b9246d8510a22764c4e502e5743a319bcdfd5d0d31084947647091b6429c2bd25608217a4a465c2e604ea7937beeb9a7bfab210699a3478ff67715441f93b6429c0bd25608217a4a465c8410420821841003dee0085cdc364a725398333305abd2df953995e228a7302b913971b9d80658dd8410df5ed2b6082184b8d0f463e0a2e02c2f213f250ca3d1c8f839892c4a594462dc4c66ce4f23bfbc27c9a0064cd8b1bb06e0bfde3a1326b70dbbdbd3cd2728386c92082bc4d95170941791bb68aabf7d49cca1c8ea4001dcb622b2661a311a6792925b448f9a9a81a4c76d8b104208f1edd68f818b1e736c12e9cb1330a1237eed369ed9fa0ccfbdfa1cd92156562d5c484e776f231a2c44459bce6d757b496f8e202aba07c9878e62728afd1d2c21446fe9b1c42e213b3bdedfbe64ae6449bc053d603019701be6b1f695dd6c7d6409b1dfd2bcf31eb72d420821c4b75cff4f15d31b4efb8185a4cc7842b0535a6cef76075ea7efeb8af5037725f94b73a872f7774584182c74a73ce0ae2437a398e80d5b498d1a0c8d8610420871e1e8ffc0a51d1eb71b0f600837704ad7c25d49614e16196989c4cd9c4362ae950e67797478ae82a3248b94942c72321611372791dcf2d64841c156984546560e5929718c37ce61a3a317652b0e4a725248cbc822232d859c1d8eb6073b28df4d65c916acd51e5ce5796464e450e4e8bcdcea8df3099b9a8655021d21bae6ae24372d0f43f626967514b4b4fb7973539e3b9ff14623c63939943afcb7531447091933c3989ffb4f5ec84f64bcd148d8a242aadd6e2a8b32986934629c934589cdfff9b6152e62eacc148aaa5b6ec728d514e564909195455a621cf3d30aa9740328382b8bc84999c39cb452acb9f30933ce24abdcdd65dbd251fb256d85104288c160c02d87ac384ac8c979094f643a6b92da4e83705094558c69cd3a369841b1e53277ee6296867fc4734b4e9febd1c9b9f156966658897e71376ba2a032eb72be9f5342eaaba9581cc5e49444b1e1b9542c2824e72ca5aac765bb295fb198fcf04dbcb8260a3d0e0ae75f4e59eb61674987e5cf4e5d436a7131b6f06c366c988d1e0745691d97ab378762b19809d12184e88ccb4a4e4a01ba955bc99cddd1484b279ff3479e626dd534ee239a688bfff97a5338a6f025a467ff8028fd7456965cce7a7324168301fd9235ac2b2b21c51d4b4c947f54393c3c82f835cb5912a1079c942e5d4cf182e7786e8905946a362e9ccbc214d8fd5c323abd01c566c7ae2fc696b49cece43230289db72d1db65f485b21841062501820818b075b410e1979651457c082b52ff051f26ccc6dfa178aad80f5552ee28bf3b103b8dd84c744a3b85c289c1a3c747aae3e9c0549492d9d0f05bdc1006e076e0514b703475519f9a5f1ac49b0307b793a7a7dd7659fd20d72149153a223757754cbcf2dc4df140e052dc73b299fd3fa535d956b49daccab497df31b1062f0f250959741991de6d99d28b30da77fd480ae3e6f512464de44cee202ca1c49a45a40b197608f4a265c0f602121359a87f2b650a5cc26566f2034da826755215667124bcc6eaaca1492b25bdaaaea0272ac0632d7b6dc9cd147b0247b01798bf3c8af4c66ddec58622d50ac4b2535211e434202383612d749dbd251fb05485b21841062501820818b8ea8f4356c308563bffa21aaaa6ad1a79e7a86c76ec36148223d3395f6d251951e9c9bb9218aead28de456b8f038dc807f551e7d542ad93185dc77c7e59444dfcd9ab58fb0240adc5d5caf2d67f90ef6784c584e592ba0cd6d4ec3ec0ecb3f5d57af4308d11d3aa2576e23a660210fddb790a5fa17d99a74e627aaabcf9b3e269325a173c92fb491fc4838b6623bd177479d08822c0bee263a2787e2aab5c446db29b345131352cc9632074b92ec949144764b4a9fb3aa821a8f01539b08ca10194f043ba8dae382d9067480cea03bd17a74d5b674d47e0921841083c5c0ca718958c6a6b531b88a33c8396d32b682078fc38afdb439da6ee799e9fb9d9eab545394369f55ae58b2d73c427a4cdb5e808525cfbcc72b7fbe9b88ea2ddc37378eac72778fcaf6b815c043872b94765a7e0f5e8710a2fb0c512cdbf622ab63dc942d9d4f5ac999196a5d7edef451a4a7475253984f95d3c60e470c49116d4e34c7931eeda1b4b00a474531ae252b599960a2aab094caf2525810cd89a5483c0ae0c6d5b62cbd3f58d1ebda9fcfd565dbd241fb258410420c16032b70012ca91b581be3a6382d8bd236ffe61a422331d596915b547d7274c56da5d0ea38e31a9d9debb6e6b0c21a4e7a72d499d3451c56ac0e03514bd6f1e27b3b490fafa1b8a00a5d4fca8e30a1c34669074b83755a7e0f5e8710a287f4fee06565b49b1d4be793517a6af0d29dcf9b252993184f19ab56adc7119f70dac88c9998d4683cd655e416e9488e3113959e44e89ef53c54a0e7a6e8939f7843743426ec94dadab4138a1b8f2e9c05d1edafcfdc55dbd251fb25b7398410420c16fd1fb828fea9526e4feb6d440ba91bd612e3d9c1d2b4225abb0cfad9e9a447c29e87e6b230239fc28db9a4a5146189f7dff2f4f86f46767daec783a7b682626b358eca120aca1ce07662af2ac7e62a273fbf1c3780219ae4f8702ce1a62ecb6ecb109349b2a9961d1959fed583946aac5607b86cd8ec0e944ecaaf56c01002b5763b2e47251586ffeab45c47510a71f373a8949e8910edf3b85100a5b579d14791b97327cb236b28be633e192527f74cead6e7dc1c4fe6021d55c52e162c38734299393e9d184f157ba29289d2833e3c99a450178ef09b68bb90993e2a93ec187829aff0c4aef70e6b31eef89524b714e7013c6d4657ba6a5b8eb9db6fbf40da0a21841083433f062e0acef2120ad65b710155797914595bee745a96b069ed3c78e93ee2e667905f528d420499dbb6b17c9e095bf12a5614d8b064af23c90c8ac34a61a10da86263a11587d2f1b986f86c96472b14dfb190a5c5909c9980c9534589dd44a8ce8363cb42e624a6919393438192cea6ec28f49d947d067d2c6b76fe99649395fbaebe98998bb7a04458088db2e076299d966fd11b885c964cb86d0589397b08b544765aaee272617738a9958db385388d82a3bc88bc7c2bb578a8c8cba1b0b57d71bb5aee71d450bcf472e6a6e4b48caa74e7736e20267d0991f3d2896feff36f886559d24d64b7461ffa28925317909c7afa08ab85d4ad3b591d5ec2d2858b48cb4823774f324f6d4ac08c4275693e8555e0b1e691575aed0f46ba685ba0a3f64bda0a2184108383a69d9f056d7ffaaf8dd77def86f35e1971fe3cf3cc3300dc73cf3dfd5c1331d81c3d7ab4bfab704eb9ad59e4288fb021e1f4cd730727692bc4b932d8db0a2144f7fde75fcf73f3adb7df0c3400f52d5f756dbe6f0094fe9f2a268410df1a4eca4b2029f6c2085a841042888164802c872c84100397bb3c978c021716939b6a53365b256e11420821ce3b19711142882e286e3b556525583d0b5893ddf58a8042082184e87b32e272019b3c79b2cc3116a21bcc095bf9f8487fd7a2ff485b21841062209011970bd4e4c99399356b567f57430831c0495b21841062a090c0e502251d11214477485b21841062a090c04508218410420831e049e02284104208218418f02470114208218410420c78ff9fbdbb8f73abaa133ffe39c93cdc693b33297d4a1fa0010a0d20f42202411452ad125c5cc26225e8fe96747525b82ac15509abbb8ebaabe1b7bfd5b0ea127c58c3bafe08b24ad0158216497fa204d6a5419e5240485b1ed296d23b7d98b93393dcfbfbe366da693bedccd069272ddff7eb95d72439e79e73eeb9f3c7fde63c5c095c841042082184104d4f021721841042082144d393c045082184104208d1f4247011420821841042343d095c841042082184104d4f021721841042082144d393c045082184104208d1f4247011420821841042343d095c841042082184104d4f021721841042082144d393c045082184104208d1f424701142082184104234bd96a96e80104208210e8ffefe7e1e7cf0c1a96ec65e6cdb66c58a15b4b7b74f755384104719095c8410428863543e9fe7eaabaf9eea66ece7eebbefe6d24b2f9dea6608218e3212b808218410c7a8d6d6566cdb9eea66eca75eaf4f751384104721095c8410428863946ddbbb5f4aa9a6fa2b841013258bf385104288639865594df9570821264a465c8410428863946559d8b68d655928a59aeaaf10424c948cb808218410c7b0a91e5991111721c46491c04508218438460daf6f1939f232fadf3e1ebd61291ecfa9dcf068ff18f9abfcc78a799cf7afeb47497f951fbdc7cbb9dfae1cb43e59e3228478232470114208218e512317e71ff4653cc42df77673c5fbdaf9e92dab31c6c88f0d30f1b4bdf20921c40449e0228410421ca3c63be2f2ea7fa578a82bc267bf702d273c700b3fa9ec9b7e132bf505cc9ab5007de5cd3cd4cbeef4ea2ffe7694b483d727818b10e28d90c04508218438868dbde6a442ee3b4f72caa7aee29453c27cf29ce7f897db9ea06f38bd722bd77c2c47d7677fcdc62d4f910df7f2ebe707c0b660c36dfcc55ffd94aecf3ec886cd4f7267b897079e1f1857bd4208315112b808218410c7a8b1d7b658f43f711bb76d783b9f09cdc1b2e6b0fc33efc2ccfe0bbf359cf4f5f7657972c927f9fc554b68b33a5972d5e7f9cc19ed804de5de3b7872c9a7f8fc5527d36e7771f2559fe7b367b4c318232e12bc0821de08d90e5908218438861d7c5a96c9ff7ce74e366edfced5a79e407b3b3030c000f0cdfbbeccf2abbae8ddb01dba17d165dbcef215e6b0686e3bedf600bd1b0f943656bd4208317132e2228410421ca3c61c71d9f66bfee5be763ef8a34778fcf14779e4914778f4f147f9cf8f2ee277dffc0ecf5a6d742de9824d1be8dd7d5c2f9b7a0718b0dbe83cb90b366fc0d85daec1e6de014c197111421c0612b808218410c7b083ad35d978cfb778b8eb723e7ac1f1cc9e3d9bb973e7327bf642defe577fc5e9cfdfc9b77e67b2f0bd1fe5ad5bbec5df659ea01793f577ff03fffcd800b66d717ce8a3bc75f3b7f8fb7f7f926d561f1b735fe5ff3c266b5c84108787042e420821c431eae0bb8a3db52c741b000020004944415447eebb8f31e74f577252db3ee90bdfcf47cfdec23dff7c1f9be6ace47bdfff287cef039cb6e024deffc3762e39bb8b766cacd98db4ef7e80d3179ecc653f6c73d264573121c461206b5c8410428863d470b0a094c2b6ed7dfe9ec4c70b1bb9ceb651b68db557fa1c3e70cf06562a856d59a8c0c7f9ee83d78d48ffdaee00a4f3fcebf85ee1e323cafd2a4aa983d42b818b10e28d91c0450821843846edfbc0c766fb2b84101321818b104208718c6ad6d18d666c9310a2f949e0228410421ca3468eb81c68dad654fd1542888992c5f9420821c431aa56ab8db9bbd754fcadd56a93799a428837091971114208218e51ef7ad7bbf8d9cf7e86dbed9eeaa6ec56afd759b162c554374308711492c04508218438461d7ffcf15c73cd3553dd0c2184981432554c082184104208d1f4247011420821841042343d095c841042082184104d4f021721841042082144d393c045082184104208d1f4247011420821841042343d095c841042082184104d4f021721841042082144d393c045082184104208d1f4247011420821841042343d095c841042082184104d4f021721841042082144d393c045082184104208d1f45a26aba0d5ab574f56514208212660c58a1553dd04218410e2b09bb4c00560e5ca9593599c10428831dc75d75d53dd04218410e28890a96242082184104288a627818b104208218410a2e949e022841042082184687a12b8082184104208219a9e042e42082184104288a627818b104208218410a2e949e022841042082184687a12b8082184104208219a9e042e42082184104288a6d7321595d69f3911ac1d5351f5d1cfd589fbb417a7ba154208218410421c515312b8507b794aaa3d2658dba7ba054208218410421c71533355ccd53925d51e13a4ef8410420821c49b90ac7111420821841042343d095c841042082184104d4f021721841042082144d393c045082184104208d1f4247011420821841042343d095c841042082184104d4f0217716c302be49271e291203eaf4e245dc21c3d23d5628678c88f2f5238409e371f2317c6eb8d90378e8efaab53dc5e218410421c79cd17b8d8a014b83bc1dd0deee98dd76285db05b67504ea9e01ee1660227559e06e07f72c706b133cf670324b64a241f4409060c08fa6144a2982b9a9b8e333a994aa87a5dc52224cca9b2095cd934f7828a4b294cdbdf30cd7ad797d505ec764b5c4ac14c82442789542694112990295c319111d866baaf9828442417cdab81b31fab5344ae4d231021ea72fd2957dd2ab45b2c9305ee52392ca52acbeb1fa3dbe20c16000efb8db2b84104288a35df3052ecaf9d3b7155efe23bcf28a4de58ff0efdfaed36782ab7d72ab73b7824b01b653b76d43ff36181a04dce32c64c809586887a7fedbc6dc092ead5166836d81db0dee1315ee0ea0364a3b5c7b1f73e80c729110494f0f85628142b18cf1cc0fb86ade2477e2785532c43395c91fe5304ba4b36534af07d0f0c70b54cb49f49137b5bbebd6f0f87402bec9ab5ef30589f6f4109a070413f4442712004cd4e1b9a69a1e279389e11f6fbb0f742d3d3ae1589a42fe5a160face1ba509ce2c84cde00917882c8c51112b10801ef1bab5fd3e364b3f1bdafb1104208218e694d17b8b8bb61ab01fa95352efcf31a1ff8449d7bff9fc54da93a3bfbc1d5314915354657e800e5763ebba7813908177eb8c6af1fb171cf55e32aca35137a5f8777fe598d777eb8c6873f57a7ee6e8cbc0c9fd734e8dd019fbcb646799d8d6be69e76c0deed983466894cdec017d2f134bed2fc51d2e9f091ffa5da28928cc4291e96811e838a01da81ce6994ba27fff43534a0fd808d9824cd704dc7712d35af1fefd2a5b4afbb857034b7cfe89686e6f11cf87a09218410428ca2e902175a605bafcd73eb6d6efe1b17991fb6e03f49d1dda9503630ab316ad18933d2b150e1f629dc5ee54cf19aa79ce95ef39533756b4623bfa731e2b15039d3ce7c0a570b5cf3a93a2f57c1355b8102cb823f3c0b5b5e07e636ca5ea870cf53b86737a692cd53cef4b5454eba3ad1c55fdf54e7a93fda14d7b4f2e93f7751eb05162adc0b14eee3401dafe89e098343d0ea56a8e1762f56b8bb60d50d75cacf83dbab26713a9c079f7780fb63313223e64d79025102236f1a8d22e9788c682488eef3134ce4f7dc689a2532b128d15894903e9cd6582712f6e38fe4c8270278948f58c138405906c56c9a7c79804d851ea2d138998a49291d231a8b130beb68ca4faa7280d330cb64e251a2b11891a04e2092de7dd36c165344a3498a0303147ba244a209f27bdd258f56f770b926e56c0cdda350de20c9d288a18183f5c9b89854b231c2e118f16808dd1f2451309cf6a423f89442f9a2641bd7c52c6789f9bd8452458c031e3b816b3a91ebf6d35f914d84d17d61f2a649a5902616f413481628241b53e07c4192c3ed3f507feec31b4c91bf71199bee8c1049970f3cd2562dee55fff01a247f344f39d79876e619717d8c12d964a491ff607d2d841042886349cb5437603f16d42c98ed81ab2e73c1a92eb63f5367c72e98b350f1e41a8b3beea973c3356e669fa3f8c96d16e5176c2e7a9b62e15c58ffaac53bce7671ff4f2c82e72afa4cf8dfff50e3631f7471b24f71ef8f2dca2fda5c1c50b429f8f79f59ccea86afdfec06b71398cc9a09272e829d4f5bdc729bc599a72a5a5ba06b3a5c78a1227f779d73cf74f1cb9fd479691344ae76f1da6bb0708ee2d4735c9cbac4865d36d95bebbcb609de13543cf39c455babe22b9f74a3143cf4238b356b6d2e3a4f71ca2245e66e0b6cf8c13237ee76b08626a12f359d44fa1a7297deceaad30a64ae4f914e46f07b43c4bdc3992a646219bca934192f98a504fad99712f1bf4a216a920e4729c60b64421ecc6214df056162a12a698f07b3b48e755a86522441cf3539f06c3a7059b114b1cced94fc3d643201b44a9a6056275388e1c3241a8f501cf524aae4222132e10285a80fcc32a9a04e300ce5420c5f204e26e327942ba2f564c806f7fd19df4360dfba31c80103a50cf968827c39462674363d893cb17c18cf41fbc43b4a1b476b769648344fa05826a54331e6e382789658294620962153c8b3bce4476fcc8dd27c7e7c81248978004f3543e800c7fac6794d2772dd86e6ccc56b9679bcea73dae2f5502dada36c6628c67bc83f1c211959c54de1187a254b68bffe3cd0ff9f874032c70f4a3aabae0b93d08ba4029efdb2999a679ffafd68e575acab64c88512e41ad7e7a6788e582182666a78aa251e5fef1bb3af7de3bb5a42082184380a34df880be0e9540c0cc1b97f56e3afafa9d1bb134e3f59517ac226fad93abf7ac8e6e35fa9f3cc23361ff9bb1a3ffda5c5fb623556176de2c93a834370fdd7eadc71afc557d2ceda982f7ecbe2de076daebcbec64f7e69f1814fd4f99fa76d4e98ef8cc45067f7fa9af656686f83eb3e53e3873fb3887ca6c63f7dbfce3f7ea7ce7365f8ea772dbe7c6b9dcf7dbdce77ffd362c5fb87f8deb7dd3cff82cd5f5c3604ddf0db3536577fb6cecb75f8d457eb5c71439db52fd87cf06f6afcf2b7167ff2c91a77e52dfed7676bdcff5b8b938f57b4b6e2ac7d19df0cb571f1863294d6fe806b9619acb9e56a4ef3e844337b76dc324b2992c52a854c926432492a6be0bff87cb46a15a3982459d689059d9b4d4def21fd8d1431bf07af1e24e883765f8c58384c3c9321c6ad072c6bdf5fdb4da342a598229973d69d04127182fbdfd34239453cef2112f2399f353fd19e30da9a1e92c5435b2dd3aec7888775bc5e9d706831039532d531fa64dc356a7ec29108e1c66217cde301a38261026804125116af4b93698c2298a52c9570c8b9d13ee8b1e3b8a613bc6e9f7de732f4e070d4a3e1f5eb04bce009c4894702e88128e9cc5574f7e6484d78ae9f8f6836c7b58bd7714b284a7694612bcde3dfab7e8fcf87ee856e3d463c327c7d9642b5441527b009867cec5ed533467f09218410e2d8d07c232e40adee8c7cf84f529c7a06b85d30cb03dfbcbdcebc39f08b5fb4125c3ec4c73e59e3b28b5dfcc7ad2d9cf9ae21866a30cbe34c15f39fa878f40f368f3d63f3b731371ffffb1a6e175c72a122f79d16cebba286a75371d6a98a8f7cc005ed0ab6db28055d33e0b76b6d9e7801caf7b6f0c11bea2c39c19946f6f7dfac73e1d92eca2fda7ce4cf5c7c3ce2e694f70db1e80cc513ffaf8553de51e3bc2fd6f9e30b36ef3e5ff1b5afb770d6d241bef871379fff4737b9b7590c0cc1f15e4529dfc2a5d7d47869135cb04cf19757b8c0a3a86fb0519318527af4289952987826412c7e1bb7af3a9b52752dc5848e592e51f1448827f6ff75ba9a2e52258467f82775cd47381edb9dae019a47dbfd8bfbc1ca82bd6f78353d464f30cdaa2b4e247bfeb5a4d249a2fafe6daf160bac1ff0ecb57ec3a387f07327c55295435a653fa24ccdab8169609a639dc738790224323ae55c8a44a18a59316044d8a3e931624b6f21952ed193f653cc1a847bbce33a160e7e4d8dd2c4ae1b8cbe3e48f3eec9e3d123e8dc49b56200a3459807eb8b20a9fcad94f5ebb83a9c42cf07f7af6baffaf76f8ce6054c13d31c3e010dda1b7d328efe12420821c4d1af29475c76f6d9b4b5c00fbfeee6facfb530bdc359d86eec80995d0a662866762bd6bd6433b30bf0c0bc59d0df0fad6e98d609d334d8d50fe600acf96f8bcf7dc2cd05baa27f006a7dd039cd49dbd50f9b5ec319e9e882e9c7418b1bb66c83cee9c06cc5f40e58344f71cee98aec7d16679e02c7cf83f63645e77498d5ad6083cd920bdd3cf5b316bef8f53afff92b9bf39739db95754d870573805ea7eca11acc3d0e98a938ae4b517dcda6df844d5b9d764c5ad06296c9642b8d0f1ef4689a62e541ae5f0a8ff7f45034c1c464a092a7bccf0fe946d5c40406aa652afba499e6819e9072e0b2f6e7239aafb0f607d7e22fdfc6aab375678dcc7e859a8041756492e669dcbb4ef6eaeec6e8c784ce636fda9e288e4c2440a21aa4279524be7b4461989f487c199bb2290a950259227b469c0e76ecb8aee9c4aedbb8681e3ced6fbccf357f8c6cee1ae63d7203a17861724743c6ec6b218410421c0b9a2f7051ce08cbd65eb877b5c5a68d16db77419f097e9fa2fc82cd8b0fd4d9f08a4df822177f5867f34cc162fd2b307b26bcb409366eb4797e83cdec19307f8ee21b5f6ca1dd0daff782b1dd5920dfbbd3092076ec7246786887979f8707d7d83cf1accd3bce526c35a0b8dae2f74f395b7dbded0c670ed7dbcf76d13d1d1e7bdae6d78f58bcde6bb3ee399b4ad1a2bac566c60c38d10b0f146dfa76c08e3ea73e6cd8bed309aa5eda044f142cd6bd6873fc5cc5b61d4e7b26f78a1894b2792a23bff2044924ce8701e7d76b8f4f675eef3d243223164f1b79d2f90a5e5da77b204f3237627e4f3547ea004ffd3b5859fba9e4c95746de78af27932aeef73bb92710601e6572a511759a0666fb52c281c373833aa1f3d8ef582f1a60e4e3c4f27ee251fd806b407ce104179b3912f10c9ec89eb522073f76ec6b3ad1eb7620e6c8ec461583c5040fa1cfbda134f9af2d63fded3770dbbe51d521184f5f0b218410e2e8d77c818b059e2ec5ec99f0975fb078ef7b6abc54b599d50d9ffe980bdf42087ca0c69f5cacf8f6b7dc6c791d421fab630ec02517ba38ff4cc579911aadadf00f4937e79ca15872f110f73d6073ce198ae31abf6acf99091d9af3b7bd0d9809dffeb73aef5a55e35d014568958bf75ea8f840bc4ef5351b4f279c7892e2a4458a79b3e0a31f72f1d06316d77dd9e24f2e72f1f47a9bf3434384aead93b8d6cd7ffddf16fef0accdaa0fd6387161a35e0b16cc86e9d3406b83f7ffb5b31ee72fffdc856ddb686d386b6d2691594c104d16474cd4aa52c8959977559c8007b4409cf83278fc069d6034493a952012cee00bf9d1f438b1a503ac59152492cc904927084772f81b37af268d019186839505e0f1406fb94cb552e4676b57934c169c76790244434bf1f9f7bf29d6f4043d17c3fd3d69863795aae43318a12451fff0499a9803031807f9197f64ddf9b2339a74a0d944639dc788dea518f5a2fc094aa689a92d2512f1ed6ed3406f814cbe4ca5982595ab8051a55c2cec7930a637443c048f97fc44463e90648c63c7bca613bc6e0c7f1ed8fbbb6aa9b47b27b56a3e4d25d843dc3f7a7feec73447b91e1a7a22cf1d9777efd7f77bd76f4e6ca2d778fa5a0821841047bda65be362f53a3b8a957ed2ca56c3a65e03df22c5fb2e8259f320fb7f5af8ef276d2e384f419be23777b5f0e49336abbe50c3d861f36fb7baf9e5cf5d5ca02ba64f537cf5d32edefb76c5c5e72a543b9c756a0b6d6df0c39b5be8d02078ae3315cd7acee6866b5cbc7fb98b0bce56f01aa46e74b32a6ce39d031ded0aea50fa690b2d2db07889e2773f6aa1af1f4e3a5ed1311d16cf53b4b5c25b02ced6cacfdedbc2a6cdb0c4a770bbc1da66f39fdf6fe1b9a76d0686e07b5f76f1b6735c7866c30f6f7633b353616d99d4275002bdacb9e90266a69671b1ee05c3400ba42924438d950a7e12f9fb30a23152b7dfc475854bb8319325e205d04916eec68cc4b8e5a65514965d43329326ec3529e792a48b30400f3db93489b01fcf41cbf2a0c7af61693846309ee29e9b6a546e5b8ebf7c1511dd8361c6c92647fbc5dc472c57c08cc588040be87e0f78a2e4b261bc00d502999e1e6747b2640f192d4a78c4334e1c23ebfe27fef54339a7ed9e14e9bc97b0a7442ab30ed6433a5b2219d50f721e2369f8422196665344a25542c91c3d8d00c413eae1c6f3c3dc7c4590f2b529d28930d970816cb98770704fbb42f1289797a27b3d48f1a0c7068cb1afa936b1eba655f2a4d3250052a93cfeb8cf698891251e2be2a54ac50893cd469d3edfe75ae6b381bd7ac528e6c8a4d2acc917e8c9422c3cf2819c5e22993ca5d89e3de4ccbdeaff19334eff1d9912f456d2640a3ec25a71f7f549658ba4a27bef6436bebe16420821c4d16eb4fdab5a7f72e78f0697bfe7d20915b47af56a56ae5c39aebcf5a76681b563f444db7982bcf2e08c0759401fd006f55e704f076628306cea7de03e097805bace1be2de5b5b78c79f2a1854b0d3a6bead91dfe32cbcb70741cd70aa76cdc0f985b71de887ba89f36c982e276f7d7be3f3749c5190e13cddcef1761ddcb3707a70c04967a6f3d9de0a560ddcb31be734e4bceafde05e024faeb6097ca8ce6b0fb9d14e54d42be03ece39cffa00071f077375e23e63ebb8fa598837a64cd27f1a99e8339413fb8e323507b310c61382bc9163bf1db0df64eebaeb2e56ac5831d5cd10420821deb0077f751f575ef5e12b71eea8fb1aaf5d23def70366d38db8a0c0b2816dfb7cdfb8a1aff703fd8d518956b05e81da203cf883164e59acb05e01bbb627bd3e086c1e318ab1ddf9531f8e9b061b7f5bf62fbb6eb2f7941605f5c6f1b8a0be6f1b47c613ee51d25d606d00df42c59a8c1b70da8bdb09ca86f30821c6609a683e7dafdde684104208716c6bcedb64db59a0efee1cfb9126d600b475c23997bae89a01f6e03e196c70b780bb0d67f406e7b3dab7e03ab83bc0ddce9e752636b815b835e71826e189f6f620cc9801e704155a1bd893f1a0492126990198c604d79a1c6e46894c3243d100c330f187a3f28049218410e24da4290317a59c1db636fed1c6e506550777973335cb3dd3092edc339d69602df361db6678fe3716cc07f78cc6abdb997ee56e03a317766c07b7b731fd0b70753ac7bb6735029385f0ca4bf0d24bb6f35d7b63fad64cd8d90bc64e702f681c33c3497329b027ba24c505f521a857a16ed1a45740bc699915f2e924b975b03e9b225318e5899153c52c914bade2023d44a21423d3e3975dc4841042883791e69b2a06b8bae1e5e7e04bff6a914ab899310f9e2ed96cdb0e6d6d70d6298ab5ff63b3689ea27b01dcf2438b80aea0cba6b3aed8d167b363270cd6e07cdd195ad9b4d5a6bc1eb416f8c33a58b2d87908e4f31b6c962d55f4f7c3bf662ddef956c59ce341f5c1ba176cd6fccea655c1873ee0e2a1d536be798aba05af6eb109e80a176f207811a259693e42b10ce55866aa5bb23f6f945c353ad5ad10420821c41469bac04529b0db6175d1e2858d36bffc9dc5152bddfc76adc52b9b9dc025b7dae28c5314fff3948d55870573e1fffec2c2fb3074752a7c0ba1ad157eff244cd7e0149fe2bb77d92c9a075a3bbcf0924d75aba26ed974b4c16f1fb359380716ce81d5459b391ec8de6f71de5b14be798a87d65a7cebfb16de59b0f6491b73c079168cdb0de7be5dedbf964508218410420831a99a2e7071b5c0e6e76ca669f09d7f74f3f853365b9eb7b8f85c0536f40fc0d37f84b636c582b9369605b5ba42f7c3f40ee769f7e79ce1628ec7e6042fce2e5f16cc9f0b57ac70b16dbbf34c9653162b2c1b7effa4cddc59ce4321a70f296676dbfcfe699bb34e55b4b5c1e285d0deee62d356d0da9ca96bcbcf758e350798f4e7ae08218410420821f6d774814bbd065dd31457bd4f41372c59a8304d983b1bb0c1b260d9398aea7a98ed51b4b4c24bafc2a25314bdaf40473bb4b58355570474671a976541fc2f5cd8162c9ca738f3d4c6cafce9e09da558b0100676c1b61de05da478ed55987d3c6c5e0f966573e6690adae1d5f58ae3baa0bd0bec7e9c5dc67a197b0701218410420821c42169bea5e196331d8c19385b17b7384fb6b72de7bdab0dd805de85d0d201b860d162a00fba6741db344039233728502de06e05dca05cce67daa056839d9b61c112a7cef669e03d01e887d9b3c1da0e73e781d7aba006d64e98bf00da3bc0ea1b6557b251cec3dd51c7ed19c23d7708f7bc3aee96faa4ec4c767899548b19e2213fbe48a1b976953a082317c6eb8d9037c6ce2b84104208218e3e4d17b82817a0e091dfdaf4f6c2e000a80ee7fb411306fa010d18845dbdec9eaab57307d0e66c37bc63070c98c034a80d407f5f63db61e59461d7a0cf743e9b06d0585c6f6e03da9de7b7d8b6f330c8faa0b3fb976d3bdfd7879cec75cb19c91975b4a50eeee36a6cdad4c183bf3e811ffdfb027ef1d319d069e39e3f84b2d5ee3a0f37b352209308e1550aa50549640a54c6884634af0fcaeb989cfda44caa852cc9b007a5149a3f48281c22a8fbf00522242769d72acd1724141af984762184104208712c69baa962ca792e23f7fdc6e6d1276cba6640e04cc5e2e3153fbed762c15cc5966d364343d03d035a5ba1ad55b16d3becd865d33d03ba3b15c6769bfe01786d9bb3887ee989303808cf6f703e9f7612b8dd8af20b3627cc87591ec5da676cdef156c599e728acde319b7a40aeae1acf94bb79fc99e338e994ed745875bef96f33f9da7f2ce3b62f3ec119671b58d5566714e9304f33d37c41a23d1a85ccfddcae27e88906c7d84256c3e3d309f8203d392dc01b8c10d7f2a4eec91248e7c90535a04226a4b36a7990eada1229fdd0220e4d8f93c94c4a83851042082144136aba1117bbee4ce77adb19f0da369bf20bf0dc06181a843f6eb4d9f88a4de52570b9e1952df0c70aac7bd16660c0e6570fdb78bac1b29d638a8f3b0bef4f3f59f1ba019bb6c2090b14dd33e0f98d70ef6f6cce384561f6c393cfd96c356c9eadd8a8696f3c9a50ca46795bf8c76f76b0f1a5d739efd2d7f8b32bb691bf6b030b3c3bb970d5e53cfc9b59b8bc43a823b68db28606b46be30f0e267de042f3ecf3858f48224437ebc865ca47cd9434218410420831359a2f70b1c13261f9792efee272178165105aa178bdd746a138f36cc527ffdcc5d5ef7371aa4f117aaf8b131729ee7ec0e6a3572adefd5e170be6c0d97ec5df7fdccd9f5ce422b04cf1ee808bf72f77b122a078ff7217972f577ce26ac5dbce505c76890b97823f3c0bfe9315986f3ca2b06d674dccdbdeb283cffd533bcf3cd005dbdd50831f67d6f2bec0f3acbcf14f79f10f6db8160c417d8a56f69b6532f128d1588c485027104953dc777d886952cec6d03d0ae50d922c998c5c03e38fe629e762043c0ae5194e9f40130c0313f0f83d7b074a4691743c46341244f7f90926f28d696b26a5748c682c4e2caca3293fa90a502d924d84d17d61f2c34d30cb64621162c924b1a0334d4df97482f1a20449420821841047a1a69b2a06ceda91e99d70f26cc5c967bba0d7667a87e2a6bf52b42f047a811abcfb52e7a6bf4329bef409176f395dc14e78cb32c55bce07fa70d6c05830a31b675ad6f0f42c9702373000b4c2a517b978e7db6c962c565887b8c0dbda6011ffab21969e58a37d70086b4861ed68a565e110b77eeeb7843e77065ffefebbf95ecf7db8a6d5b1068e74fc5825170991091728447d60964905758261281762f81ab9064a19f2d104f9728c4ce86c7a127962f9109ad78f565ec7ba4a865c2841ae917e533c47ac1061dfb195d198952cf1f8fd0c2cbb9e54c43722a5422696c19b4a93f182594aa09f7d2911ffab148239e2599d4c21860f93683c421130350f5eb3cce3d5e1724c0af1103d669672228016d3317c975208a5c9a702f2b4752184104288a350d38db880b363577d10ea3ba0bec9a6d607b367417b27d45e6d2c92af41fd35a86f824527c05bce5530d848db01f52d50dfd5f83cfc7d7f63c1bd09f5be46be463d0b4e8053972994ddd8c1ec10587537f4d7b9f4caad9cb464086bbb42b96dea2fb7d07d0adc7cdd633cf4ec3b58fde02cd4e23aee231d3e9653c4f31e22219ff359f313ed09a3ade92159dc331ed1aec7888775bc5e9d70683103953255343c3e1fba17baf518f1c870fa52a896c658d03f402915271af4d271621c23f130af16530447443a662945b258a59049924c2649650dfc179f8f56ad6218152ac514c95c05138d40224ed0039ac78f1ef48e2c846c6e3d9e80d709523c3a613f6c2a5765b44508218410e228d594232ece5323079d9db71428571bf52160a8865216d0ea4437d620b89c00853e37e00697bd7f19eeb6c61cb4216771ccbef1da7019bbf61c7a48ad77d9d4eb0a5e6e753e0ff7b21bd8a638e784dfb3e282f773df537fcaa25ffd80b9dd75e69ce806136abb1a3bab1d46d56281f5031ebc23861e3c7a083f77522c5521d0882446a46b5e0d4c03d30446592ba37901d36ca41fa8e676f4788a8cd74ff9b41b28160db4d8de39cc72898a27423cb167e467442be909a65975c58964cfbf96543a49546fd4bf579dce07a3ec4c45d3d0d034e8f67965b44508218410e228d594232e5007d774707781ab036a83cecbb6c035cdd993b836082d739dbd925d1d60d59defac21277d68d0c9db32d3d94eac3e04ad731af986f6ec8f7c84d9bbdc4c3f09deb6e86ebeff1f5bf96e761a8f542cfef3c7163b7642cb6cb57b8be7c9b6fbe6de340183eac829719ab3ce443be802fe491aaff0c7c9de7a319b6e8f12dfe7c12b262603953ce57da6eb195513f011cd5758fb836bf1976f63aa888d770000200049444154d5d93ab1c228f3fa343fb1f832aab90c2513304ae4abe79348e812b808218410421ca59a3070b1c1aaa3ba2e47cdfe04aafb83a88eb3505def40cd580eda5b505d2ba0cd072d5ed4ec4fa2ba5742e7c5a8ae0b61da3254d77254e7b9a8aecb70755d869afe56d48c73515d61d48c8b50dd1741cb2c670bb323cc42c19c36d63d5562e7ebafe13ff36c2e7b0fcc5facf87ed6e2f54d16ee991c96e7bc781a230e9e40807994c99546dcf49b0666fb52c201ef018f9f4cbe58865b2f36b83d122337a2191e9fcebcde7b488cdc69ccc893ce57a092275ff1a047d3142b0f72fdd2f56452a32db6d7d06329e2812a999e24a9749140264fc22f618b10420821c4d1aaf90217bb0eee4ec082a197011b3c9742870e6a1a6adadba1dd0fadddc010b6f907a86dc2353d08d3ce45b59d0a1de7415708ac7e6cdcd075114c7f27b8daa16319ccb814dcc739a32f5361538df0255d5c73edfb59fde81c2a8fc28557ba386b097cfbdf6cd026632cc8a418f5a2fc094aa689a92d25d25804afe9097a2e86fb7bd20c6f0456c967304249a2fee1a339c8008b39f1b117d3000630cce1237dc432692e36ef2412c950697cab05e2c497c1e337e804a349d2a9049170065fc88f691448260b18009e00d1d0527c7e27d0324d9c8d160030c845a3e43d4102ba0fafcf87a75aa25495152e420821841047abe65be3a2dc401dbb37e7ec8bec6a85d6f9507b1dac9da89a8e3df412d4b6824b03b38c8d8d6d3e0956bf93cf3d1d543bd45f778eb576022d60f5390b4e5c1dce77477c557cc3568bb75fd04755d97ce7c767f2cc2bf7e0db3ac4bbfe5471e7ea693cf05f2ede7dd94eea9bdd875089862f1462693645245a2594ccd1b3fb218f3e62b902662c46245840f77bc01325970de3c5a49c4b922ec28027453aef25ec2991caac83f590ce3ec2c7bd779329416f254da6e023ac1577a7a7b24552d1c0889dc54caa851c99549e4d80d1d343861891901fcd17259bcee25bb50a3d5020114f108ff849e4efc388c648dd7e13d7152ee1c64c968817ccaa49e5b6e5f8cb5711d13d18669c6c52874a9e74ba04402a95c71f0fe20b78a92413c46eebdd13cfb0946b1f2c920e8e67df332184104208d14c46fb61bff52777fe6870f97b2e9d5041ab57af66e5ca95e3ca5b7f6a16583b0ed2a47a631a9702ecdd8bf49d05f7b6f35eb99df7d8ce6af6e1d113977bc47b97b3b7f2c8a2a1519eabb16afe303f05d252b85b2de8ac39e35bbbdc30e0027b881f3d1ce5bec7ff84f7f8fe9a6b566d060dfef9ab7379f195197ceb5f5ec45adf82bdef157275e23e63ebe16df351af4a369ec2db931cb1639949b590229a0d904b0765ad8b3866dc75d75dac58b162aa9b21841042bc610ffeea3eaebceac35702fd380f34e9c3d9366bf87d3f6036df54316cc005aad5092c54ab33ea32fcd9d5f80e9713bca816e7bdab916faff7ee3def779731fcdecd610f5a00e5aa438b8bfff9fd227ef8a393d8d5e786ae1ab8416beb4329c5d6edb3603bb00bcef277f154e538ea1b6c5c6d87b82ff39b94918fd15309eede1ccda1e1f579f1e9b2b39810420821c4d1a8090397b14cd193e6df20d742f8e1dd2d24bf3bc422df0077fd723ee0860e98e6da486db09f4d86063b9dfc0be6ba3076797871a306d30f7f60752c322a55d6dd1327962950364c4cd3a45aca9248568944fc53dd3c2184104208f1061c8581cb5166083c9d16434335967fb0cae6d77691bfaf0316428bda8ec7d3c560fd387a77002de076eda27f681a2fbfde059a8cb8bc11be588e07bfa1534e84386d66071d1e3f91944138994096b708218410421c9d9a6f71fe31a65e55bc7f85cda5efec83d7eaccf4683cb07616a18fada3bdbd95f6568bc15a1b3b7641772bd4ebd0a67533305897b0f20df3128c6729c6a7ba1d420821841062b2c8adf1e1a614f6509d96f641d805e79ceee6f95767c18be0e9ac635926bbfa87a859401b98832dd4ea2dd4eb0347dbac382184104208210e1b095c0e370596a5a80fb8a0ae3865e116fa06baa93c0bb33d834ceb68a7a3633ab51ad002af6f1ba2b5ad931697eb48ec1d208410420821c4514102972369103a670ce29defe5f18a9716d720cadd82dba5702960009e7fe538bababa686f1b82da543758082184104288e62081cb1164d7dcd0526376672f2fbc3a9b7ed362d7ae4106070ce6cf81fa1fa1f8d46ce67419ccedea779ef72284104208218490c0e548b251a06056f7209b8d4eb6f46a18bdbba80f6ea16309fceef7f0c2963339c9fb0a272e00fa0f7d918b59c9120b7a514aa1bc3ad1740973ef1c94d231c29128d1489868aa88319174a3482a1a26128b138f4789445314f72e60b4568d51e7889ca5047e2d4876cc3201a344361e420f65a94e20bd9ad651ca8b1e08120cea789542697e02c12001dd87a634c205a7d7c6eccf6a8144c887a614ca1b209e1bb52513e88bf1f755739677b074837c5043797582a110a1e157d0eff4af2f4e71ef7f5621841042bc89c9ae62479a0b16cd6f63edeb5d6cdefa3a7d7d832cf1ec8416283e371fa59dc1424f81f6e3c1da728871a559a22792c20827b9236a904f25b8fdba2086b7422eecec0b5ccd4608a503144a09fc54480783443c05f251df38d20d72d108b9709142d40b40251d2010f553ce8538d0cec363d5b9a7fd4512d19b593770f138ceb54aa150a490bb9fc7bd9109a51be87ce3993471bf066689b8ff6c6ef1a728e4436880918f93304d30cb63f467854c4f166f3c4b3151261d5fc52d9128c16a9ef0013ae3d0fabff9cb3b78ba89e14fb2361f47dffd545083424ce7fe354bb93e9b24204f0b1542082144838cb81c41b60db86166e720e6602ba6b588818141f42506f606d8b02b4cbbeb65167495a1e3d0d7e69be502de649e6c224a241a2753c873cdbc5ef2e9a2334a60964826eec11b8be03c96d14738e6a390e8a1608e27bd4cbe68a079f6dc5d7a7d5ecc7269f4118ff1d4b99b41a1278516bd9ceef19cace625188e12091c20f741d2bd813851ff81ef903dc138519f368efe8440324d3c14400f4649a5af65de4095ca8187930eadff9bbdbc71d4e78d8447042d601412446e5bcfd2eb3324256a11420821c40812b81c690ab4b61ab5baa2af369f41732b27ccece581ff9ecde6beb7715cdbef099e33045b0ffdd2687a8cf8c8272e7a7422fef6dd818659ce905bdf8ddfefdd93c5afe3dd94275b32c74c47f311d44dee8fc571664455c9a7cb04e2c337aafb1bb3cc06a3d043dadb43429fd8cdab3646f6d1d23dba7ec0d121e7201f01bf36667fa2f9f0ef559089f7f20411df9e6fcaa9001e6f84bc3109fd7f18cadbabf58758ded8f579090647748e51201eb98d4d4b6f249b0c20618b104208214692c0e54873416d682703f52e366f5f8477fac3ec32e1771bfe825d3b77b074eea3cc3b07ac9dee49a86cdf5b3f83b2e12514d3d100b352623d1e7cde3df9348f0f0f9b28558c31d3c14b249de1726ee70a7f90682c4e3e9c2317f31db04563970918797ad27e7ae2fe26bb793d787fee9d54a0a7c7209e8ae01df1b5e6f5e1f379f16893d1ff935fde48875adec4ea33c8c723dcbe692937667b9860bc2a84104288370159e3720429000b76f5c1903583a75e68634e4b9e17b72de6f5a1b7d3b7f5dfb9ea835ba14f1d9647b898e52c395f0f99c6a8816918808677af9bc4c6688c61626a074f07c01721932d1008ddc6edb72de6aac0186d18a34ea8924b64d19319fcc06833989ac5befd39cc286549267a48ddbf8e013d8c56ce1169442fbe48965263894d7512fa7fb2cbdbebfc0eb1bc89d467e463446fdfc4d21bf3f448d4228410428851c888cb11a5a006c60e18accf64e7eb4fb1a5b79b7af7a778fae9326f5df02bceb804accd2d8d28673255c8262bc4d3517c8d6f34ad11c08cbc87340d4c40f378c64c07304b2922491fd9ca5a6ebddce4ce5501c299ca70664c73e46bec3aabb91e72c11e0eb0567cd432a7c6fefd39cca34748e6cb541fbe9165bdf710efd9772737c764f47f339737eefa8c3cb1c89dce14b19e5146af841042082190c0e58872b9eae0523cb5cee0d5ea6bece87d9596eef7f274a51b63e31ddcf8897ee8751d86d11683622a85194f111e316f49f3ebccc3a032e2d76fd3a860300fdda78d990e655291245a3c86eed589e58adc7139dc1f4f5030c1c885e8e8e8d8f30ae5300f5aa641bee7366ebffa44673b5ca5e8587e27bdace1ea990a7faa326a99e3d92979728dde9ffbf2047a485dd58d51197dab8243efffe62e6f7cf555c9c522dcd9bb8cafc91431218410421c84042e47d28c3a034607cf5717b0abb7ccfa8d5b38c91fe4be7b7fcedffeafa79873968bfa16f7248fb6989433498a811e62bbef0a1ba31ffe08e1799b2895463c59a35c62d3bc10515d1b331da34cbea28d58c3e023924ab2ccac5035c0134cf3f0c30fef79a583780f5aa68f706e2d6bd7ee793dfc834b6867195f7b702db9a86fd4320fbab07ed21db83f47e3f17af1077da38e221c72ff377979e3a9af9a8b11bdb397655fcb10dfb70d951c9951360d10420821c49b93042e474a0d980fbf7ca493b54fd93cf7cca39ca55fc003bf7999e8f23ce18f81f59c0b26634dfe6e26e5749478c98fdf2892cfe7c9e7b224a3513255400b90485e422593a30240855ca6ca25c9c6f333c64af7e84403068542654f8d46052d1025e0053c7e0281c09e97df3366991e9f8eae8f78f93c6878f0e9bab363d768658e3ce331ee73c735b5cc74328eb2eae3e0fd6914c966f29487efd32b3952a520c9d89e3dd62a99307aa0f160c543edff492fcf201f0b1088e69d51ac432d6facf46a9658f41e7a977d8d6c7cdf29625572c92cfb2c9011420821c49b982cce9f4c96c2ad0dc14c1b5a5d605bd087131e76427d431b3db776f0f28bbfe1ac65cb78764317cbe6fc6fbef0a52178a505cb76a1d4e44d142ba742e837ac61803bb9ff961109cbbec18b3ee7ad2f9a2567c488474a783503223972d13df39f0e9eee239acb518dc589c474741f54ab5e92d9d87eeb3e461aabce37c6a098cb902ef482912195f1118f0447dcf78e950e548b64b329b29b0023494f4623160931fc8897b1fad32c1748c76f62cdaac59c7f4900bf2f40349b66e4da7db35aa55cd1304c403bd4fe9fecf24c8c4a9932d5dd41dba1b6efc0e906b9588c7b7aa1ddcc130f174674a889512ef28811e1e1d4d8575e082184106f0ea34d4a6afdc99d3f1a5cfe9e4b2754d0ead5ab59b972e5b8f2d69f9a05d68e0995dfd46c70b9407987187c05eef82f37a567ea2c9a07a7fb3b191ca8316d610b5ffefb1d3cf4044cef3c0ebbf52c56bdafc4b7be6e80e9a6be759ca32dae4edc676c3deca72484383adc75d75dac58b162aa9b21841042bc610ffeea3eaebceac35702fd383ffbf701bb46bcef074c1971395496c23db306b6c58f6e87c253efc3d2decdbc25b3f19c7402b3cf3a9d69d3a6e3993e9d9bfe792d5ffdcaa779fcb1c7f8bb8f3ec68d9fdf0edbdcd4b7b9c17d383640164208218410e2d82081cb1b6583db0dcc1de48f4f40a1e4e7d5c1cf11bbe1839c73e6f4bdb26eddba8d871ffe0d1b5faab061e30ede7ee6766ebcb91d9e7351dbe54649d0228410420821c44149e0f246d8e06e073a87b82b0b1b06fe9677bfff4be8a7eddd9ddffef6b7b9fbeebba9542a0c0c0c70f2c927b371e36b5c74d66ca8f6c2a092a0450821841042887190c065a26c70b5da30a3c6bfa6a1efb81ff3a9cfada46d4496ef7ce73bdc75d75decdab50b4dd30806832c5fbe9c679f7d96e34f0e72d6098fc1969f835b3675134208218410623c247099281bd49c1ab7a761d7ac9ff3d9eb2fdb9dd4dfdfcf2f7ff94bd6ac59c3473ef211162f5ecc33cf3cc369a79d467b7b3bb55a8d934f7f0b9b9e5a0d6d600d49e0228410420821c47848e0321196c2bd6088877e01cff4df4cf20b97ed95dcdede4e6767275ffad297a8d7ebac5bb78e33cf3c9373cf3d97818101e6cd9bc77d0fbe846ffe00b4823d38a94f9a144208218410e2982581cb04b85a2dfaab363f7bf43c3ed9f3b9bdd2060606b8fffefb79fef9e7a956ab4c9f3e9df9f3e73363c60c76ecd8416767270b172e64f1a29d681b9f85d6293a092184104208218e4232576902d49c1abff839cc3df5d31c3f679f34a5d0759debafbf9e0f7de8435c7ef9e59c77de799c76da69747676eecef7dafa3b3969ee76e86bc6ae3729e75344033e02c9f20173557361bcde0879e380598eb0a3b5dd0772b49ecfd1da6e218410421c0d9af1eeb9393536ff7a7eab07fd9cf7ee97dcd6d6c609279c80db7de0a748ae7e6833431b6f66e132a80f1c89c12e835c50a17c4142a110e17881b1ee153d5e0fd5d2fa83e6f3f882048381bd9f3aff8698544ad531b25429a4a284c361229108917088603846a6b8770ba7aadd46214138142214f4a15490eca80d90eb70b8db3dbeeb2084104288a3994c151b2797dba2b611e83887b3ce9c39e1e35fdf09abef8af23757f5c14e37a823b50d723b4b6369f209ff38f26a78fd3aba172a07cba5c7c96627a169950cf18c4e36e565d47b58a348221422ebcf50cc85f136be364b4942419d7caa4036ea9bd2767b82497241a09cc4afe70f72905c87c3d9eef15f07218410421cad64c4659c54abcd869760da4c9db9dd7bbe374d93c1c1c1318fffca976ee63d67dcc79ca58afaae038fca4c39ed907f061f1fa3483212a778c05fc60d72b1103757c264527b6e9601343d41a6c7c39dabc224cb66e3cb6669f724699af379935f0721841042340d095cc6ab5db1753b68d317eef5b56559fcfce73f67f3e6cda31eb669b3c1a73efd1596b62778f74ab05e6e01d7143f74d22c93894789c66244823a81487a941bc02ab97800af5278f40899e11b53a344361941f785c937bec228928ec7884682e83e3fc1449edd138fcc12995894682c4a481f4e332866d3e4cb036c2af4108dc6c954f6a9be92a1e7ce5eba4331029efd4fc1178eb18cc749f614f7999634c5ed9e08b90e87afdd4208218438e6bcb9a78ad9a05ce06ab3604851af2b38d00ec56d75760cc0a0edddebeb69d3a6f1eef75c4ef68e1fd0dae262c99293d03afdf4f5eda2d6ff028f3ff52a1bcb77f0cfff00bcee668a4316a04a2e1222132e5088fac02c930aea04c3502ec4f0357255b2698af104993b8aa46237b32a00be4a9680a9e1a996787cfdee9c646219bca934192f98a504fad99712f1bf4a216a920e4729c60b64421ecc6214df05616221835c2c452c733b257f0f994c60bf294a4631c7e3c0b2806ff4e94b5e1dbd1b1e2fe6a8984174ad39da2dd7a139da2d8410428863cf9b3b70a9dbb86629cccd6d689e1a6edba2b6dd8d728f1e5e187d9db4772f00e067bff82d2ea6d3d6dec7c63f3e4f6bfb4c7c0bdb7960cd3378faaea0f7758bceb37ec267e2d770fcec2d3cfbfc6739e3ad9613294da5728a78de4322ed733e6b7ea23d617a2eed21598c920e385ffb223d24a37e204cd06be05b9e215934c887fc04433eda6f71f299a514c9629550264919c030f05f7c3e66b58a514c932ceb6483ce4ff59ade43fa1b0134bf06981c8c6138bfdf6b9e03dd926a783c8051ddeb97fea96ef7b8c97538aced16420821c4b1e74d1db8b88fb7f8b7ef7a58fdf07c42ef3458f9be2d68ed75acdadec185b2813ea86c59cc85179dc3ba8a45f20b1771c35f5b74d8e06d817b1ff013bae51966cd7d9ae336f472c23be11fffe91b9c79ee1dcc6ebd8f5fdfde02b526186f2916583fe0d96b47278f1ec2cf9d144b5508ec7f8c16081368bf8d4ac5003cce3a8676e7c6d12c97a87822c4137b460976d7952e5225c4ee7b5ecdc7ff6fefdee3e4ac0b7b8f7f9f99bd25e4b22124847b2c50a25109a888a2122d22a8d578c1c67bf0d2a65e2aedab17acc796dacbe1f4b4be688f1ef1728ed8d3d3a2548db59578a1452b0ad5daa0e82b8207c37d1320ec1292cc6e76e6397fcc2e6c426e4020bfc0fbfd7acd6b363bcf3cf364e69ff9eceff9fd9e65e7addcabe31c5cd0fdb2da1a9e78cd0769a5d54a32b860a78feeafe3de5b3e87323e0700e0c0f1849ee352578ddc797795d7be7a4356ffdb7df9f0a7a6a73aa2f3a0ed1a33dad97267b2eeaec579f68933f2f5affe537eff8d9d9cf38ee4975e9abcec4dc9796f5e9be79df2acfcafbf5e9e054f6b26ad667ee7dccb7374f3d3f9f71f8ea6ae7a52c4f92cad5692e10c4dfdf3f8c06006920cec7262f540060676fe57f7565a195db73a6b77989b313cd44a2bc9e8d0daacdbe1b1566bcf7f2d1f5cb22c27265977e5ba9dff6d7d785dd6ae4f669fba2c8b76f9be3ef6c7bdd77c0e8fea7103008f3f4fe870e9dc5ce5f7de379257afb837eb6e6b66fddd75d2bbfd2497aa4e725027abbf3f2f279cfcabb9794372eb0f3f9897bf2ae95cd793f6c6deb47fd297e39f5fe58d676fceac833ae99bdd49e78e66fa7a927ffe565fce79f599f9cb4f1d9bcc69a77a70173da6064f3d3587666d56ad99f26db0359c56ff095976ea829d3f69785dd6b54eccf29d3c3eb870490e1df952cebf64ed035f6c8757e7e2d5ebb260c992cc1e5d9d0b574db946c8d0aa5cb437571e5cb83c17bc727646565f942b77b2f9d0ea8b73754ecc05172cdd750fee8fe3de4b3e8747f9b80180c79d276eb87492666f9dcc1fcfc8bff7e6bb3fe8cd9bceee24230f9cce5575aa340edf965b7e98acfade2bb2fcf52fcadf7cfad379e1937f98cca952b72722a7a74eeea973c8bc4332f7e0c1a455a7eea9d31ee94b368ee5775ef7837cf53f8eced61bab34a6b7f7d37fb86b60c9f9b9e0f4e4ab175c9c3513df14d7adbe24c3675d9815532e3132bc7672ce422b575f74515a2b2eca8a853bd9dfa9e7e5bc13936b7f734996aeb830175f747e962fbb240bcf5a948125e765e509a3f9e6b94bb3fcc24b72c9c5e767d9f2555934f1057670301959bb3643ebaeceeab53bfe157d41965db22aef5bb83a2b565ebadd754186afbe28cbcf5f97657fbf2ae7ed705994fd7fdc495a57e7bc531766d1f24b77793d139fc3a37ddc00c0e3cd13728e4bdd497aa627e91fcfadd72767bf712ccf58dc9b537e793cf54d8d6ed4f427396c2c375c93fcc9675e9295bffd3ff3e57f5c939edbde96977c30e9dcdab37df6f52433fb8772cbfae949a3bb3859dda8536f6c66f1b36ec8f4de39b974f5a139f7dd43c9bae6ae572f7bd42dccca5557a6b57265962fbd324b160d26832bb2ead2c96b742cca79977e2c43e79f97a54b1764d182c10c2cb928ab2f5cba8b390c8b72feeacb33bc62652efaccfbf3eb57be24bf77c9a559be204996e4c22bbf98d6f295f9abf79f9b2b4f7c6b2ebce4e22c5b9024835972de5b73c2b295597ade45597de94e26750c2ecd4557afc9d28b2ec8cab32ecde0e040d21ace701665c5ea3559b16470bbe328e6b88787b26eed4df9e93517e4d20b9667e7d79cf4393ceac70d003caeececeb73efe73ffb7fc75ef8e2b31fd28ebef18d6fe49c73ced9ab6ddb3f9e9b74363da4fdef4b5555a771f0783ef6a905f9e38fcece1d1b6ecf3dd76ccae033920c251948c6d6279fff4672d54fde9617bff62fb271685d6efbc14bf2fbefbe338d4e4fc6b756a9a6bc7bcdf9dbf2f9cb8ec8d53f3e24fffdbf5c9bce3dbda9eb2475d23c7a5bfef44f7f31dffecf9e5cfe773f49bda1279dfa61964b63669a8befdecb8d87b36ae9829c7fd69aacddab2bb6ef9dd695cb327856b27a78559696306f672f3daac73d71c5f60b86aeccf2c1246965cd852bb366f92559b1d0e730d563fb393cfe5d76d96539e38c33f6f76100c0c3f6af5fbf3caff99537be26c9d6245b266e9ba7fcbc3549eb0939e2d238ac9d7fbab4cab76e7c6fce7ed5789e7cdcf4acbef69b99f6836f65dee0b6dc7cf7406ebff70519edfdd53ce53927e687d77c2e33c67e231f78f758aa664fdaf73552ed7811c94ed2db373da3db7a936d537e5f25194f9ef3b4e17c62d55373d37ffebf1cb3782cb9e7007eeb5bad0c2c5cb2dd8a580784c7f2b887aece95032b767a7ad43ee37300009e400ee06fcf0f4f55d5c9589d35eb16a57760562efeeb15b969687abef0e55fcef03db767f34d1b327cef400e9d373b87f4adcdf08d7f9653175e9517bf2cc9486fdaf755c98ed1d2dd736ebce3e06cd8d84e3a55f754b1c9871a497f636b5af5b1b962cdcff3b6537e9edcf398fd97f78de135b9e4e23559b47245160eb7b268d98a072d5f5ba4fd71dcadb559bd66302bce5bb2cb25821f369f0300f004f5840b9746958c5c9f9cf094e7e5cd67bd27dfbf6e2c3fbce23579ea519bb279fab1d936765f06a70da51e5d9bc169b7e7b45726995da5bea3279d64e7d15227e94b6e1fda94aaee2433aad45ba63cbeb191a73f6d34271c7953aebdbe3fe9345255e99e4af6a81bcd4f2f5e9965570f6660d179b97897730df6a0b526ab2e3a375fbaf8d2bc75f9ca5c72c1a2225677dea347f9b887af3c3f2b2e5c93566b6d7e3abab0fbcb814539ebac1db7f4393ce69f0300f0b8f2840b97f4b4d36934f21f3f6e6568cb6519bbed77b3e215eb32f7f0a4b3f18a34fa924c9fb88d3592e146da5baadd4ea6af1a75325aa73970649e77f2ad49b393ba6edeff7867733333178ce505276dc996d12392cd6b933477bdc37d6630cbaeacb34ffa68c18aac1a5ab12ff6f4d87a948f7b70e98559b5748f5bf91c8af81c0080035959e1d2499a3d49e624194db22569b7b36f57e0ea4bfa0eeacd7ffbcb6fe53d6f5895fff1f1fb923b7bd2bea74ab3b793ba4e3a9b1ac9d4b503f6f0fa8d9e4e726f6feedb7a50961c3f92b4b67f42dd483296f4f7f7645b3d7dfb39300000c01e15751d97c64072efe6e4737fdfc98f7fd4fdfb74737ad21c489a0725fbe44fd6fd8dacbdb191f9f336e703efda9a8c34d2de54258da4dd69a4d379186f49b3cedd1b67a4b739965f3c6238d9ba9303ad925933fa3236da9afc270000b097ca1a71e949366fad73eb866473abced656b2613839744e72f0dc64e16155aae9e9064c2ba9dbdd79220f65ae48bd259931bdca973f5a67c12f24edf5cd477ed6d6409d1b6e3f383d3dedcc9bb72519ddf90ea7f57732dedebf17a0040080035151e1d2d99c1c36afca6fbdaf4afbee64e3a66470769d6f5c5de7a843ab1c7274f2b52fd699332b39f9695566f4273d33d21dbee84cec645bd21ecb2e87343a9b1b39e1d86dc98cd1b4efac1e72b4341a3bc452a74aa6273fbd69667aaacdc9cc3a9d8d3b19b5a9922d5bb7656c5b9d34f7cde01100003c5114152ea9ba735aaabbbb735de6cd4de61d5ae5b8a3aad48de48edb93e93392b16dc937bf57a7af998c8ed5993b58e5d0b9496f4f32675695c1c31fd85f5a49c6bb31d368267573226c36361edaf95a75924652f527554fd2de94d49da467703c69279fbbe2e09cf18c1b9383927ae30effad4e92fee4ce8de319e81deb4efcdf7fca878b3f000011bb49444154d7df040080034e59e192249da43133493319bf27e9999ea42fa94693c3e726879f5d255b92d6e664647372ebedc9d65672c7ddc90debeafcc21149676d32d64afafb93e38faa3267563273b0bbcfaa27dd993d9b93b4bb3fb7c7f77c588d66f738fef7dfd799755027affdb589219e4dc9e7ffe1d9b9aff9ca3c7fc99f4e8cfe5449d51d96691e522773dbc94dc9e5570de4b4c53727f3ab34eeeb647ca499aac7d80b0000ec4971e1d2382859f39f7586ef4d962ead3274733740e61c9dee6a5ca349dac9c0b464607a72e8e1557734a4993cefe42a2323c9b53fadb375b44e5d5759fddd4e0e9b5be5452fadf2952f74b2753439fe49559efca42a336724553b694e4bf79d684cec3f497b4bb65bbaa0ae936a2c59f2f44eeeb87320ff70495fd6ddd19b555f3b383f1e3a21f307afca17af68e4174feccb8c8176325e25cd66bef6953a8dc11959b7ee5979d2a297e6cb571d943b5eb6391ffbd0bd39644e3b9dcd45ad8f000000452a2e5cea7632f3a0a47720b96738f9976b3ae9ed4d66ffb4cab42a993d335978449581bea46fc6c4935add53cc9acde4e039c90b5f54257577fe4abda9ca9656d2ba2339fcd02a6375f2b3757536dc95dc3552e7ee8dc92f9d5a656c3c191d4d8e5d58a5ead439fcb02af5949198baee9e1a76f2a9493dd6ccfbffebe1f9dabf8d67dea19d5c70e6d7f2cca70de5dab587e647df3f38a73d677dea5695adad816cd8da974fffcdd1b971d39959f99a1bf2a617fe24977da127577c6b6e962fbfb33bf2030000ec5679e1d24a8e3dae4a7a93cdeb9357bdb8914df72537dd5667f3b6e4e63b927b36d5b96b63323833396c413748060f99d8c1b6249b27aeff92a4d9480e9a961c34909cf6fcaafb3f1eabd2da98acbfabcaddf7d6993e2d19bf2fd9369e7cf39a4e1a8de40dafa9d2199f18cc194cf79a32ada43dd493e6419bf3fe736fcbefbe792c072f1c4da67792f12aa7bdf0ce74d6f7a63ddc93aaa74e73c668a60dccc88c81bbf32bcff870ce3d6328f39f9ebceab5bd69ddd8b76f56340300802780e2c2258da4bd35c99664fa4149d54ca6cd48e61f35111dad64dbd6e4aee1e4e7b7d4b9fee7757e787dd2933a271c5be5b043aaf4f72433e77477b7dd295f2349eaeeca600303c931c726c7f456ddd3c37a27b6db5c25d392ce7d49aaa45125577cbdce538eadb2e0b0a4d3aa536f6d66f6bc91a45d251b9bc93dcd742642a9aadaa9ab2a8dde4ec6361f94f5b73573f107efcc61cf6a2543c9f80d7d69f47432d0d74abbed34310000d81be585cba42ae974d25de6785bbaab8325a9aaa4b7d11d6939eca82a19af72cf86e4ba1b93dbee486ebcb9ce71c724078f25db5a558e3c32a9b7edb0df3ac978d2ac938c754f01ebb492aa37b97724b9ed863ac71f5da5b7bf7beadaf481eec84dea6e486dd99a0ca437cdfe74171118eb4ef0efed4b3af5c45265e3cd54ad56def5f6cd191fae53dfd89b4e3ba99addb937edb64b50c2be303434942baeb8627f1fc63e53d775ce3cf3cccc9f3f7f7f1f0a0014a5dc70d985ba4eda1317a04cab3b2232676ef2fca3aba4950cdf9da4915c777d9d5f38b2bbc8d783d6edaa275617ab93917b93d9b3bbf363d29fdc7c479d7fb9a6ceb14757a93b49a33f79ced98d64a8ce782b69f627ad769def5c939cf2cc2a9b47eafce467c9e9a755dd55caeaa43933f9d1b5754636d5e9bdb14ab3d9c8339f95079640ee24cdbe247d49676b379c1ed2d2ccc0fdbef295afe4f5af7ffdfe3e8c7dea8b5ffc62def08637ecefc30080a21c70e1b2a3cec4a849c6ba113338a73b17e5792775e7c9ecb83a5832713d97dee4b3ff58a7b727d9d64e963e2b39f4e82a4f7f4695a73fb34a3d9cd43dc98d37d6b9674d9d931757693493ce583277b0ca538fafd3184b1aa972fc31496f6ff7fa305523a9c7bbd793396c5e952add05053af73df0fa555fb27138b96b639d630eafd2db37112fc043d6dbdb9bbaae53d775aaaa7a5cdcb72727e90100f73be0c365aa4e9d6474221e264effda315a92ee084c7b4bf2f4139223e65759bf39f9b7ef7772f0cf9359d3924e3b39e519dd65965b63495fef942757497b3439ecb02a194f66ce4af774b14dddd3c81a03dd1738f2c83c30d4333eb15840f5c03e3a8d3a77dcd59d6b73f451dd7d020f4fa7d34955558f9bfbba767d2700d8d1e32a5c26d5f54e4e0f9bfaf8c4d2c94f5edc9d983febd0645addc8f8789d91fb9246ef03e1f3942757dd05032626eb27b93f5e92744f0fdb96347a927a7af24f5fed5e78f2ec1737526d9b329232e554b07a343964b0cae92fe8068f688187afd3e9dc3fe292e471712f5c00e0c11e97e1b247d5c45c99c9d3b7c692238f9e78a099a49e1841995ce16ce2a1ddeeb2918c6d4ea6f7270b0ee9ce77d9e5778f46f7b4b28c755738f31d051e195ff401e0f1ef89192e3baaa604cae4af1ee24ac59df1a42fc98bcee89e42d6de949d9ea6b623dfb7e091993ae2b2bfe7a65455957aeb4db965ec981c35ebe1ef478801c083b990c8be52257595b44792f6e67867e131d4e974767ddffa465e7de860e6cc9993c1c1c9fba373cacb7f2b7fbb76cb9e9f9fa4b3f6c33965c1cbf30ff7ec61bb2dd7e68f5ef0e2fce1b57bb9df5ddc0b170078b0fd33e2d2d9b4e76dd839ef1d6c677284629773463a7592fe9cf6c92bf3c9d36627a3a319d9f0a37ce5af7e3bef39fdfab4aefec79c7bf41ee69e4cf9b9d3d9dd76ad0c8db492ba7e508498e302008fccfe1917e8392269cc727b38b79e23f6cb4706a59a1a2ebbba25c9acf94765fefcf9997fd45139fe192fcdfb3ef1a57cf0a8abf2a10f7d3b5b27b61bfedea7f38ed39f9cb973e766ee934ecf3b3ef6bd0cd775ea7417fca877bbdd50feee75e7e4d20df7e68baf3b29e7fcdd4dbbdfe75e1c3300f080fd32e2d27cf2cff7c7cb028f4353bfecef74cec8c40849769c0bd3776cce5e7e5cfef833ff9cebb73e374f1df942def9ba0f64e4372ecd75973f2ffd377c3abfb6ec7579c7bcefe4734f9b4897ba4e676837db5dfad97cfbe45fc9e827ff239f786e7feaa12fe41daffb40eefd8dcfe6baaf3c37033ffb4cdeb9ec7579e7fcefe4d265f37739c705007830333180035a3d715ad6eeeeeb5d6c3773deac646424ad4e27ebaff878ae9afd96fcf93b9f9b797d9dcc5afcd67ce8bdf3f39d8f5f91a189f8e9ece57693913474c5c5f9ceecb7e4cfdff99cccebaf3373f15bf2c7ef9d9fab2ebe22ebf770dc00c0f6ac2a061cd0f67ac4a57ef0ea63c337dc99cc7f6e66f6d7b9e7860d19bde593f9a5633eb9fd0b1c7743d68fcecee488cb6eb76b1d37715a59373e866fb87397db0e6de964de34232e00b0b7840b70c0dbed95e8f3c00569b7fbfde8cf72f9e5b764de73cfca119d4e361d373ffdc7be255ffff67b73dc64440cdf9c5bc7e6e7c8914fdefffcd9bbdbaef7bac9174a92cc3c765efa8f7b73befeadf7e4f8c938b9f7d6dcdc3a24470fecfeb80180ed39550c38a04d8ea2ece9b4ab91f53767fdfaf5191aba29377cfff2fcf5ca37e4cfee5c9adf7ff749e9afeb1c72fa9b73f29d1fc91f7cfc7b595fd7d93274457eefe5cfcecbfee247ddc9fbdd17dbe376fd19cd865b6ee98ea82c7d734edef091fcc127be9fa14e275bd7ff4b7ef765a7e4e57f795db6384d0c001e12232ec0016d8fab70d57592d17cf75da7e7a4c9dff5cfcb539ef38a7cf4abefcf2b8facbb9bcc3b279ffadb91bcfffcb7e7a40bee4c322f279df3e15cf68727a7ffd6ef3ef05abbdbae7f24af78c5b179d36f9e9e5fbeeeabb9f28f76b3ed640cede2ff04006c4fb80007b43dce71e93b3dffe767b7ecf2f1c9d3b3eabaceac93de9e8fac7e5b3ebadd769dd4c7be2bff7ac3afa7aabad771d9e576f5ac3cfb0f57e767174cfcbeaed3b7e46df9e857df9e8f6cf7baddfdec6a5531e102000fe65431e080f770af505feabd7001800733e2021cd0ee5ff2f8615ca1bed47be102000f265c80039e2ffa00f0f8275c8003dad8d8d8eee7b81c80f7dbb66ddbdf6f2b001447b80007b433cf3c335ffad297d26c36f7f7a1ec13ed763b2f79c94bf6f761004071840b70405bbc7871162f5ebcbf0f0300789459550c000028de3e1d71b9ecb2cbf6e5ee00000092ecc37039e38c33f6d5ae000000b6e354310000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000285ecfae1ef8d7af5ffe581e070000f0c4b52dc9f8c4ad9da43371ab276ea976f2a49e24fd4906924c9b723ff9f3c0c4e3bd8feeb10300004f00db928c26694ddcb64edc5a53ee477735e252a75b38ed74ab675b92661e089d7ae2f70000008fc478bae1329a642c0f8cbe4c8ebcd4c9ce4f159b1c8ee94c3ca139f1e4a9d1d2dec5730100001e8ac98192b174e365ea6963f79f2eb6abf8981c6d6967e7d13219340000008fc464734cde26475d267ba493ecdd88cbcea2655bac480600003c7293dd31797b58232e53a365ea9c9746840b0000f0c84dae2036d91a53ef1fd288cbe4cfcd6c1f2d3b5b910c0000e0a198ec8da90133f57eb7232e75b65f37b9ca032330536f0000008f44bdc3ad9307f7c82ee3a3dacb7b00008047aaded3fdff07604fe6d439a3da1e0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As you can see the date and keywords look a bit weird. The date delivered from the server is converted into a JavaScript Date object and when applied to the underscore template it will use the toString() function to display it. There isn\u8217't very good support for formatting dates in JavaScript so we will use the dateFormat jQuery plugin to fix this. Go ahead and download it from {\field{\*\fldinst{HYPERLINK "http://github.com/phstc/jquery-dateFormat"}}{\fldrslt{\ul
+here
+}}}
+ and put it in your site/js/lib folder. Update the book template so that the date is displayed with:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1
<%= $.format.date( new Date( releaseDate ), 'MMMM yyyy' ) %>
\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 and add a script element for the plugin\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now the date on the page should look a bit better. How about the keywords? Since we are receiving the keywords in an array we need to execute some code that generates a string of separated keywords. To do that we can omit the equals character in the template tag which will let us execute code that doesn\u8217't display anything:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1
\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Here I iterate over the keywords array using the Underscore {\f1 each} function and print out every single keyword. Note that I display the keyword using the <%= tag. This will display the keywords with spaces between them.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Reloading the page again should look quite decent:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d494844520000032e000002660806000000bacfd41e0000000473424954080808087c0864880000001974455874536f66747761726500676e6f6d652d73637265656e73686f74ef03bf3e0000200049444154789cecdd779c14f5fdf8f1d7f4dddbeb777070f4a28882151145450544c4a858221634b1fcd2341a4b2c8926c618a3b1249a6fd4d8881a8d2d4a8cbd0ba880d805e9bd5fbfbd2d533e9fdf1fbb7b5cef46d0cff3f118efd89d79cfcce7337bce7b3f654051144551144551144551144551144551144551144551144551144551144551144551144551be595a3bafb7f7535114455114455114a5bb647b3fcd1636d200d1f4c543c71fd4b387a6288aa2288aa228ca77ce6597fd12db71706c9b50384cc8711873e0d86c52498a24958b34fc29a1e5969346894b266129eddba7c3ed2cedafa6b5bb52879b74b456ffd18d38cddfe87e9ca66f7520622babb4be65e736e878b399d6ea065d6e7ad33a5d1aadc469facf2e46d25afcb5d5573a12ab439f831e89d34eccf63f6e1d8eab753f508338dd0bd67a882e9458bb9b74a2363bb5fb363e07ddf850f4449c163f073dd9d62eebffd3f8a52ec76af86b1723358bd3ca9bdd8ad3c9b8b22b67d3c2165d8ad33c88ec7e9074245abc06ba1ea7c5773a1ea3439bb4bd42c7e3b41d57b6fe562722caa62f74314ed317ba16a8ed2aea58cc56d7eae41b9d8fd3f24a6daedec1626a375aa7e3b4f26ab7e2345da1839f83766cdab405482530e170165959610e9f704431a91c440041939f02102dfd6f484fafc4a1e30fa2a020bf8387a0288aa2288aa2288ad2319595555c7cf1a54422d91c3b6dda00523988dfcacfd6139743c71f447e7edeffeab81545511445511445f98ea9aaaae6e28b2fe5d4ef9fb61ba924c507bc263f7dc06f6d8c8ba2288aa2288aa228cad7ae2e160308934a543c76e42399712e1aadf458370e1d7f909f9797dba51d4b2911522045aa8fa5ec647f4829259aa6d56f97fa29d3c79bfaa96999fef65afdfa1d8a2325681a9a061a3a86a1a3691abaaeb71a475114455114455194af4f75750d73e7cd3f08708164839f99df5dc06db5c5a52b0987900219083ccfc30f028240d6270486a1611a069669b63ac2574a994a4fa4444a81e705882040088190123d9d64e886816519a0e999836d947448993909d1813826ba6160e8a92466e74d5e046e3c49d297985961c2464bc729f15d0fcf97e88e8363fccf0f7227a2cae2eb23f0121eae2f30c261425f7bd94a7ccfc7f345aa2ef5af7b7f8aa2288aa27c0342346e6909d831c64503b49612974e9352220289e77b2413494e185ecad87e850ccecfa1243bccd6689c3555b52cd858c1732b36110a3998a6d92c06e91612dff349ba2e83070fa65fbf528a8a8a2928c8a7b2b28af2f232366edcc49a356b706c1bd332532d2bec6881414bc5f37d9f64d2a5b4b494e1c387915f50404e7636d16894aaaa6a56ae5cc9860d1b706c1b6c0bc348dd81ed7cc98bc04d3a0c39f848f61e94c5c65767333f6a35495e24bea791d37f4f860dcc27fad9fb2c8d5b3bd70dbbf4a9adac25169864176413317bb09c1bc58ee0487de72e8b5d96c04bdaf4dd7b2c7b0ecc61fbdc57f9b8cefa1a9397d4751de9b37baa2ebf58c0f2a4a5921745511445f9f609a57f669296ccd8169d7442d3ed1617292542085cd7a397ad73f3b107509aed204500c247d6555362e894f48a30ae24975376efcb95ef7ec9f6a48b65dbf531323f5dcfc3b22ca64e9c4861613e4120080241345a8be3380c183080c183073172e448de7ee71d92ae876d59cdba85799e8761e84c9c38919292de08918a9348c4b16d87be7dfbd0bf7f296565e5cc99339744d22564db186657eec004f1ea28759e40d4179b86619a385921228ed1bd8143d2a7ce1dc831679fc0fe660dafbdf30c73ab4d420d6fdea4476d62283fbaeaa7a975ae7b97cfa206b6be932461d227ea0ee0b49b7ec1b4c2553c7afd9f79bdd621aba3c98b0ca8abaca52e00239243615683326d16fb0e9edfbefbce5b165d210312b104b1848f9fbec834c3c0b61d22119b9ecc01db3e0e9fa83b90137e7c46aa6c3f7c81f935064e77ca367d6ef1a48f1764cecdc4761cb2c3a4aeeb5f5d94aecb797c5167605bbb705d2a8aa2288ad21287c6498b472a69c9242eadb7b87434711152e0793efd1c83bf1cb12761e9e155d5b6ba7e891de2ee23f7e2676f7ec1b6c0c734532d264248fc20c0b11d8e3e7a3286a9118d4653e364eab301174dd7d0d08864873966ca145e79e555fcc0c3342d743ddd62e3071886c1d1474fc6762ceaea52719099f3da112727379ba38f3e9a975f7e05d7f7b0350dc3e8ccd7b982445d84832fbe8619a37a919bf92a38a863dbeaaf98f7d2b33cf75115e188d9f5e4a5a529f96593f9f43bb2ce3748063e41eeeeec3fc0024630764888173f0a0877a4ac65405db48013efb893937ac3a6277fc5152fd7929395ea2ad83c7698ff6c6f1262272a8b4e0b9254bbbd39f8c4e33976fc288615a53ed7f1b2b57cb1f02dfefd9f0f29d3adff4df2d2d3d759fadcc69df03da61eb217c37b85d110d46d5dc527f35ee1c9973ea7a627f7a7288aa228caceca2295b098804193a4055a6e71e91429c0f75cae1b371cb3ae826432def606753558a12c7ebb5f3f2e98b70a33dd3d0b21f05c9709871f8a943ef1989fbe41d9b164c6a0689a86ef7b5896cd21878ce58d37dec6d453635e8410b8c924471e7504ba0ef158bc9d383e966571e8a1e3eae3742a7191924058140f2821d701f0492404762842efe10730fda2510cfaebd5dcfea94f8ea3e1d5d5519308d22d331a866591150911327774e9f31209ea621e9e48759fb39c500bc38252ad3c510f301df2739b56a524515d43021d2be490dde85b79811b4b5097f0f00568ba81130e13091be80032201e8d13f70441e6dbfdf43ad9e186ad47e938710f5fa6d7c90a931d6adec2a41936a1cab7f9dbac3087e6afe7b58f92446c9bc04d10ad737183d4c40bba69919d1bee5457a066b117c569dc6ed64a594841221627ee06f8f5dff4dbe4e58720d6463db5b89d85a379247cd09c084539261a12bf2e4a655c8019a628dfa6d33d9c844bad368a1fddf2332614353a6bc2c58339f0f091bcfcf4fb889045bbf59a0ad8fe3a52e0c677ac031abaa163396172c26d1e6c87af8746e776f3cf9850dcf00d9d48c970c68ffb9ca7667f46e3424bd765fab87332d763ab7519c6d23a7fbdeba645c8d6f0935eeadad474ec70989c2cb3795976f47c1545511445e9966eb5b84809beef31b54f84de3286575505c0b6984b59dc63cfa248fdbacb2a63645b06a5d90e41bc963ed9f94ced9bcdebe52e8661e2053efdfa95120a8588c5e2909e914c0851ff0daba6513f0b98a669789e4f389c4569bf52b66fdd866dd8045e409f3e7dc88e44d271e0adb7dec1f7fd16cf61f2e489789e571f67dbb66d98b213f95c93725a75ff955cf54605c2ecc591bffc3d3f1bedb0ef114330e62f21e99b0c3eed1a7e7af8208ab30c20c1b6af3ee099079fe2836a83b0294944354a8f389399c71dc4c85e0e78552c7df96e6efc77e3dd7ac93c8efef51d9c3dc244aefb2fbffaddf3acae7f3797f13fff134714e762f9952c7dfbdfdcfdd842a221075313c4a316c3a79ecf99530f60689e8157b19279cf3fc1c36faec78c982493854cfcc9394c1ad98fbe790e1ae055ace2bdff3ccaac77b66267996808e2519bdd8f3b87b38ed99f41391a6ef972e63cfb4f1e99bb1da7690b93f4898b614c3f6b0afb9b35e81f7dc8acf549f2469dc095671ec93e7d42209354ad9dcf7db73cc692c0c1cedc21b6782d3698b1ae85d8f7ad6faf2c2c02378731a79dc794fd8733a4770403486c78831baf7b16f3b46bf8598bf5a4a107b9cdb7dbb88879fefe4c1ca4119b770b3fbe772d96e15330fd66ee3bbe1856cce2c7bf9b4f90d399e44592ac7338e092f353494bb08157ef7f98ff7cb88e0acfa670e00846156f66b5e6601110ab6da35eb36d74daa9fb6c1b5d06c46221464e9bc96993f76368be093249f5d64d2c7df751ee7e69532b75d1c9eba1e1b915036ce39d871e66f6a27554fa217a0d1ec1306d29d5b68156ffd1cd65f2b5f730d9d2086ad6f2c1ec47b9ff8d4dd8111d37d94a5dfee60956fbd98c68e77a3feac7339934b23f7df343e8486ad72ee2f50faa187cd821ec579a05f1ad7cfcd2a3fcedf995c82c2b5d969d395f4551144551baab8dc4a563013c3f6042af307e5d0dc2f700d89a08b87dd17a2edbb72f7b1666b1ac2ace9f3edec485fb0fa44f28b58e5f57c311bdc2bcb4358eae9b04bea06f695fe2f1384110a48f41d4b79264ec682d49ddfe0921282dedcbe64d9bb124f8414069691f1289549ccca693271fd52cce5b6fbd8be779685a6a5ffdfb95b279d3e6ce7543912df59ed17172f2290ca78ab7664b0d42d7d085879f554c91e5525b2d08e545e8bdc711fce44a97b5973dc396a449bf53aee5c6eff549c7f609ac7cf2bc183e4e83f039ec33f3179c3dc284eaf9fcf98fb3d9a0dba91e816959c5b978c9009c02464c3a8febad2a2e7e702501064367fe9a6b2715d61fbf55388c23ceb986e1b9d773f5ec2df85a1ea3c60ca5d404a44b52d838854399f083cbd0365dc9bdab058e271972d635fc6a7211e013ad09c82eda8d89e75f4d41f26a6efbd827db6e70ebd64239055963f9f9a553d94383a07a1bdbdc30c58536b1b88050836bb0a532960d5e6fb10eda2b8be524f5620e9eb40fc34d008fa46f11d2aba9f17cf25aada7a758a3b5b09db69e0fde2966e2d983c81ab92f7df4156c0ef2d96b9f5453c2daf79650639ae4b473ac8d088f64ce188edf2f55f72b1fb99387e6d51189d8649b92ba8d9f3377bd8e1332f1a2b29d7add8629f576d73184c59e175cc75587e50282eaad5b090a4b28ec3384b17b1773f7f31b6996d74b895bd7c9eba1c9b9ad79e476ee7eab86ec2c138b38e52b17b1158390a99168f89d8315900c4c9cdc418c9ff90bd874257f5b1e2082d6ead266b7b3dbbfde471f389c7ee9ebddd36c72068d61faa0d426410046b884fd4eba881fafbb82dbbe1084fc4e9eafa2288aa228ddd646d342fbb7571a1a22081810d2107531a410008cea9dcf15df9bc09f9e7f9b9307e7f3ec9a6a2e3ef630466b3588da4a008408e81f0923822035b05e04644722b86e32b5f726d943d3e7b2406abb20f08964652185488d771001914804d7751bc588c7e38de26404819ffe1990958ed3895bcb66869e7f1b4f9edfe085eaf7b8f7c935e8e130b6aeb1f6be5ff0fd7b2db2f37288148ee117bf3f8d61457bb167fe53acf5c7f283e3fa002e5ffce3f7fcf1e5f5247487dc2c1d49413aa0cde0effd9c230f2882e4121ebae1213ef442649b019e97d96994b77f77057f5de2533af90aee387777f20e9dcae8476f6751f848664e2a04e22cbcfb37dcfe6e3525532fe7b6b377a3ff7127b1cf8b77b2b0fe46b186d77e7305f7aeca67daef6ee68743231c70f800f4af5691cc3b8c99938b804dfcebcaeb79666d40ef495771d7f9c3d97fda01e4cd9f836bdb0dba6c352d538991d79fde1ac02a1ebcee265edde6831126372784a5b5570799e7fbb414bba1d6ca62090b1a9ee7755770ef320f23142637dba4aad57a7a9ad5d52d6d6763e427587bf6200615eecb98e2a779a676186307006ce6bd4faa30adcc98b3d431bbb5516abd1d47aa59610a72767c532f45805e3c84de006ce3e3c55598e110862609028b827efdc8360489edebd89077583bf5fa173e6ab7eeffc2a2c8e19c71582e50c77bb7ff8abf2c8c3160c61fb8f584e2fae36e46f82473c677ea7a687a6e1f7e5e81150e91eaa5a961ea66ea8f53a3bf03e9f25e99cfb137dcccb943b3d8efd001e85fae42184dd6a9af93c3b8b893d7fbdfb7eccd2feffa19073ab0e2de4bb9e65d93c9d7dfc205c36df61ad71f63d10a92f99dbdfe1545511445e9aeee0dce4f0f86cf925e7dc20120aab63322c7e394b1a39935f713ce3a646ff61215f835153bb6d53442c2ab6f5111e9698c335dba344de3bdf7e6b7baeb430e39a87e5b276420a44c3d5a339d9878e9bbf84c92d2f07c1afe9e6a9549fddb71d2713ad3e4d274ddeacdacadf231b20ae9df2b02798770f1452bb8ecd679d46a398c3ee3127e3c7538398d36b2c9b2c12cd997c11a90fc9c67dfde8499974da126eb13c29410bb1d3000f0f8f4ef7fe7953293dc70d3c31078bec489186cfff07dd69ebb3b438dde0c2bd2f9247f140300e25ff0e2820a4239165be6bec98ab377638435905125060b36368ca5616bd52c5d5a09430b881465630401948e662000a5ccb8f95e6634dca4a01ff9ba608b90e83b86ee34a1116c59c4c2f2c94c291aca057ff90b93e7bfc5ec675f62fef6806cbb4187aa76bb8ab5f076bb6561307f6be3e3717222440c891b0f31aa8d7a6abcbbcc768244c547bcb16606e70eeecd21638a7965fd41eca6039b3f607e195891cca072891715ec76d9fd5cb3ef8e5b5b6fd16d9cfbe79584b28dfae71981de60f6b45459481110f30672de355770700816df71213725dbafd74fb33bb04ece484a01128b79fdf33a421d186c24031fbd93d7438b55d7d2a0fb16ae1b5bdf713d6615463084c4371aafe3e444c8127112a59dbfde8df85abed80a070e0427626168d5ac585e09c30b08e56561882e5cff8aa2288aa2745bb7ba8ae932d56dab369ec409520f7bccf86add26fefd5535671cbc37cf7db898c123f2189967d7bfafe93ad17822d5ed4b4fc589c7124899eaefa4693a471c7178fdb8961dc795bab989c7e308996a6589c7527148af9b4824d1b4f4606f7d47e2d2d2f35984100891faf63e994ca65b75da3ff74665d5e0f7554fddcad56f56819464ed7b01775e793039a3a730a1d71c5eea3b938ba70ec70ed6f3c6bf5e6749b23fc7ff703203b5f45409ba961e2c2c1a74816a7e3cf13a08472cf6397726e397dec382a4d3786ae41d8505a695fed657a6cf332dbdcf0e9daa26f1dd743f344d4f956de6582967fecb0bd9daa03b8fa85d4ead61a0099f58dc43183661a77958435bcdc3d7fc81b5d38fe7f849a3187cd0342e3ee8009efbd5f53cb54d23abc1736a9addcfcac65dc9dad5565934d889f09268a32f68bb9e5ad84ea26399952c787d253f3c7f18fd0f1bcfc11b4660039be67cc836dd24d2a09b585b875c7f5e9a81a8584b19e3c9a637fbef95cfd36f46b1436d6cdc917a6d731dadfea1ae2dceded562b175f07a68746e3aa2623d95402ebdd97faf029e7ea3062b64a06ba916d940e8582d4ed82e091a5e8f2d9d46fab3d3b1736ebaad8feb67c2eb4093fd75f4fa6f78be8aa2288aa2745b1b5fa7caf6174da2eb06cb6b13480422f01081c7b2aa38b72fa9e2a28907f2bd3e16571c73307ffeaa8ac595b1fa75a414ac8c26d1d3b38ae9ba4e6565154120f07d9f20f089c562c4e371e2f1388944a2fef758ac8e20f0097c9f2010545555a7e3a406ee5757d7d4c7f1fd80d48dea8ef1329941ff909a3ad94fc7a9aeae414fdfa8746e6952725222b0c92bca25fda41a8434c8edd73bf5ef756ff1d40b737867ce276cac6fa8d2f0b72e6333406834d3c6f5c2ad8952599dc06bf4b56d0deffdf576febb0588eccf85974ea1b797c46fe10e3319b3d8ede8a318049058cb927281bfe973d603844631f5c04292b5823e874e643880bf9e2fb7f91d1854ac13648e956cc25b3fe099c79ee0e1479fe4f1ffbcc92b6f2e26aa4bbcf0284ef9d945fcf4b8ddb1dca079f2a187c916ab79ed1fb771d1f9d7f3e466803e1c7c403178227543dc4a198b448ccaaa686aa949229aadd17e5934bff82522d0dba9a796e38344b70caa17bcc2271ed06f1a3f3c280cace7b5f7b663d81a0dcfc58a682cbbed7c4e99f1c3fae5f43fafc089e86899f57403b3ea235e599a3abba1332fe29cb1bd219ec0958d6bc96bb75e830ed47d80bf6d395b01c2a3987a502f24117a1536cc3a53c71608802c7a1539044107ae07d3406f589fba8e51f519efac49451d7af6c55c70f860727470038b48c948c6ee538470dbaed91dc7d4fc35cdd0097ae47a6faa0be7ab16b5a8452d6a518b5ada583aa67bb38a09816d59cc29af63af5e20d3ddbcb2c259fc7cd21e8c74b7e16d2f67584e3e974f1987b36d35d28fa536366cde2af3b1ad2c74744cd3a4ac6c3b9148982008d03481ae0b0c43af1f909f493a8240a45b4a04a669b26ddb362cc36c314eead92ef0c1070b5b3c07dff71042d6c7314dab735dc59a14f6d0736fe4a1d32556244ca67d2958fa26f3b67b54af584394be640f399b5b6f3d8c8db130831b7e7bbe7d1e4f2d38965f8ccde2801fddc463177804ba85beec7e2eb879c7d32c44dd321ebbfddf8cbae524060f3d998ba77dca35cf6f654787fa5c26ffe62f1c2a43a4e60790ac9e3d9bc5be8553359f7fbe791cd71e95cf813fbd85c77f427d33c2e6979ee5d3a48edee48ebe7971e898657379fcbd295c71480e7b9ff35bfe718e8f274d2ccd65c14d9770fb62c9e093cee0c4710540091b3eb88e67cb1b979bd6e7046ebee1482235e594c50c7af70108d8b6298ad0533b962d9471e9f76fe45fdf6ff082fb09375ef266cbd5d36a5918684dcf138966082adbab279a6f972a231d27fe25cfcdad65bf23733000b9ec4dde2fd7b0b29ab75e985959e4370b261b9dadedd430e79e4739e80f67b36f7800532ffc2d532f6ce1182adaab57133bd1fe3a56722ecf7c7c2c17ed97c5d89fdcc4233f69be2f3d2867f97638b09fc9be17dfc825375fcd9d5fb47d3ddcb1421069f4a0190ddbaee4b57b9ee1e0df9fcc6e662913cfbf92890dc787c53fe40f17ddc36741e3fd77e4e3299148cdc0eec2f5debef6afffe6e7ab288aa2284a77b5fabfec4c579cb6163f9058b6c55b3506eb92a9ee5d32f029b50346c436e1576c4d3d1cb0aa8c61b5ebe86f0b64e0a3e93a8ba29277a206a6698106a66953515149b42e861002cff3703d17d7f5d24b83df3d17cf4b8d8fa9a8aca2aab2b2d538aee7b3efbefb3076ec18c68d3b9071e3c6326edc818c1d3b863163f6c7f57c8410d4c56294979563d96687ce7dc7a2a1e152b9ad3675c3a9878844c2d8f8d46c59c1bc67efe6f29bdfa6c671d0963dc61f1f5dc0eaea80ecd2218c18de072759c3a6afbe645d42c372122cfadbf5dc36fb13d6d504a05b1832cea672add9734dc4e657b8eba954e7fc81a79cc351051264155f2c5ac3d65a0f8cd48d7a7ceb57bc76ffefb9febfdbb01d0323e4b374d60ddcf4ccc7acab95a04150bd96798fddc2b54f6dc0b0f50ee4bd1a6628c927f75ecf4d4f7fc8aa4a0f30b1b480e8d6d56c1126862ed8fed122d6799058f9219f55348daa61ea31366c8b63e616d1b74f3ed46c60e13377f2d7853142a6d6b89cdbbc8a9b5fc65a7b65616bcd634ac0b0daa9a716ba8b35b8160cc763f97f5f2355332e8b9e5f44b565a075ea9a6ab068164ecd1c6eb9f41666bdf1251baa1bf4494a56b3f1abf759b825c06aaf5e1d03b303eb58769c0ffe723db73efd1e9f2e5fcbaaaf3ee7e3f5a97d4adf43a0635be5bcfad74799b3a69600978a1a0fdd6ee77a68e1dcd04dccad2f73fd6577f2f89c656cae0bea0b345eb68645ef2ea1ceecc8f5d8c2f591a98f1eb9de9beac0f5dfd5fa568b5ad4a216b5a8e53bb874fcffc0cd59878e3fc8b56dab43010cc34404827caf96eb4beac8955efdb4c82dd14d8b1acde2ca2d39249c089695da8f1012cf75098460d8b0c1f52d2c0d1f16d9e82192ba8e08242b57aec0304d6ccb41d7b5fa38424a860e1d82a6939a71ac419cd4fe045282a66b203556ad5a45ea417b5ae74a1000891b4b12f71b6fa7e93aa665e2d806a9e11a92c0f588270382ccaa9a86ae1b84c21656ba95c1733d92ee8e7574cb26128278ad8b8f861d091136204826892605a013ce76b0754132eee1fa82cc100e4dd7b16c8b90dd702c80c44f7a2432fbd052eb849df43a32a0aed9be124493120c9bdc48e6017b4de2a4f76787ec54e2e17bd4c57c8461604941503c895bee3c834194f1ec95d7f0f4364990f4d30f39cc1c8749c8315ac8a805896892648b3d870c22d906c968c363ee4059b4709e99f269b39eb496b693f809973a0ff20ffc117fbe742cd9956ff2ab4b1f63a3696374f7cb772948263d5c6fc7f9907ea6911db6d3896d3bf54afbeb4801664e36def6326a7d89669772dc75bfe79ce11a152f5dcf458f6fc609e910f8c4133e5e004e2444c86821368daf87d64f2dc04dfacdeaca300d428e894107aec756ebb203e5d26c5b895b97201e80ee84c871b42e5dff8aa2288aa2748ceb7acc9d37ff64200ec4d24b5d83dfe340a2d5c4259350748465db785e12c74d70416e0d07384910e9d9baa4844cc2a01b2c4a3adc57934bd20ee338a9bef399ae5942a406c8077eea592c595959f5894a4626f988c5626cdebc05c3d07142a14603ef8590b8c9244120282ded43381c4ec768985868e9e99403366cd8881002cbb2d2ddd4d44d47cf1124dd3e9c7cfd654c1b9c937a1a4ded5c7e7bf12c56e9e927d8eff2245ec2649fcb6fe6e7bb5bd8610b70f9f8ffaee24f0be384ac5de524256e22c2e1bfbb95ff3724201e4da06747d24f105acfe397dfc07f2bcd66ad7f8aa2288aa228dde1791d4b5cba371d729a9b4ce2380e9e66705b95c1582bca84709c61a6478e2ea8153a2b7d8b77e2611678d96485433896559f4768a45a53744d4bc5d15d366cd848767636d9391142a150aa1b9a14241209a2b575d4d54571ec10966da5e64192d4b7cae89a86ed38789ecbfaf51bc8cbcb25921d49254a52034de2ba2e75d13aaaab6bb01d1bdbb2f082a00bad2d4a9ba4243073282948252df14d1ff1ecdf9f64993071f41666adda2549849e4db12553498bbb9d45cfdecf5f3f88623b46a73e4bdf2c098685dcb486b2defd29ce8e0049ca567ccccb8fff8b97b6ebd8d6b7a5ce1445511445d9d5b4dae2629a9d7f749a6999e8ba89ef79789e8710014248743dd5cdc6b22c2ccb6ab5452373832765aa7b97eb7b049e4f906ebdd1340d4337302c13dbb4d0749d4ca8a65326d7c79101aee7e3a7c7b24829d0341d5dd7314d03cbb610812010a9a445b5b67c0da4201ef3f065ba2b8d636277bbefd4ce46e2c65d92018086699b4dbae7ed2a245ec22319ec48503443c7b6bf8d75a6288aa228cacec0f783eeb6b8747ea79eeba369018661120e87d3cf50e9f8cd4e7d8b89ae21351d47779056666e2e591f2bd55d8c46e3605a8b238481631b389655df512cd56b4c1008f0dc86e3713aff0c17a5237442598d1fe4f2ed2b670d2be4d0a883a5a40b03bfbf691aa663b738dde0b7afce1445511445d995f44857b1a6db09e1e2b53e3e5f5114455114455114a5535a4d5c76c5ef8a1545511445511445f976ead1ae628aa2288aa2288aa2285f871eef2aa6288aa2288aa2288ad2d35a4d5c3a33bb56e6592ba959bbd474a9cab74b6622085dd71b3dc45451144551146557977aeea2e0e2e30730f5a821844af7c428dc0ff0dbd84a27356956028218c83a085ca407c9b2757cbae0537ef3f032a20989aeb7ff00b8868fe18b00002000494441548e369874bbc5450841100478be8feffb88402054e6a27c8be89a866ee898a689659a1886d1a10fa1a2288aa228cace4c4a4910087e785409d326ed869de760842ac12907b700021f74d1600b03d0c0af045906ee7664bc1c8d00f20ad04c0b3b5b639f7d077079d4e3fac7562044e71a44dad2c6e0fcf60921f07d9f64d2e5f0c32730e598a98c3df040b2b2223d72708ab233a8ab8bf2defbeff1dfff3ecf870b17e23836a669aae44551144551945d56a6b7d4d86161ce386e285add2aa8b3f8f2fd1a3624e73065c60c300741a0919ab4cb00e982b716c47644d94adcb56bd1ad22a2aec52bafbfc8c9a7ed8d3d6c34561066fcd8524e5955cdbfe66dc730f41e495e5a7acaa4317060ff6b3b72b24110e0ba1e33679ecdd5575fc3e04183b12c2bdd5aa316b57c3b16cbb2183a742853a61c437979394b962c41d7f5faae638aa2288aa228bb1a2925b621b9f6ccdd280a97619843b1c6dec24f7f3f9b6b6f998db77915471d530ac2041980bf15dc6520ca08b6adc05dbe017bbf6bb146fd986717c639f3b2bb78fffd959c342e8b50df01200386f7b298f7d9766ae2a2dd7ba675eb373e49aa7f9ad7c2e2037e975b5c8410789ecf61871fce4f7ef2d3fa712e6a50bff26d25a5e4a28b7ecebaf5ebf8fcb3cfd0751dc36829f7571445511445d9794929115272d8c86c860c719095d5d8875c034e2e919c7c0470e3ac8f9934f1158e38fe60645d2677d0400abc55eb70c6ff19bd680400994e286f7c51cb8d37bdcb4df70fc1c80a91531ce6b83185fcede5ad3d324eb84b7d5d32fde192aecb94a3a722252a6951be13344d63e2519349ba2e4120d435af288aa228ca2e474a09423079ff420c518d59380a9c7c006eb9e5668e9a38893d761f8e575e0b41128278aad54513888af56805a3eb931680ef9f7a2a175e7821c377db839cbea360d31a744bc30c9b1c714021b9217ae49ea94b2d2e42083cdfe3d0430f63c284c391a8a445f9f6d3340dd334993469222fbff2124b967c8961346e75f133935488ae7f1e344dc3300c2ccb545dd11445511445e971524a7ae5188cda3d07824af4defbd4bf575252c21bafbf8697a8c35c781eb2b61a74273d50df40442bd122fb368aa7eb3a77dd75174937c0a95b4972d165d82509741b8a7a39ec39c061fe0a174d93ddbab7e974e292696d09fc80534e3a054dd39152b4b8eee2255f110441abb18220c0300c8a0a0be9d3a7440d7656767abaae635916c71ff73d3effec330253341aebe2793e63c68c212b2babcbfb88c7e3949797b366cd1a8cf46c668aa2288aa2283d21d34b6af7be36a18889e642b065016816d8b9202546b8084b4892f104b670d37dc152ad346820ebca483dffa44112a281631bc86a0fa400e9a2e912c3d2d9a334c407cb1374b1b357bd2e252e7ee0336af4de1c32fe10441b5dc462b11863c78e6d35d69b6fbec9f8f1e359b9722565e5e50c1b3a8448e47f3423591065fdb28d38c376a7b7dd30f393246baa0922f964edf2c317be4de7b273c8b4861c3e61028fffeb71d66f5887691af5894ba6ff662291e8f23e0cc3a04f9f3ee4e7e7f3e9679fe20701a61a4ba3288aa2284a0f9152d2a7c040d7038ce25ec8ba95c8b2e5c820754f2f7c8114a0e75aa0e920dcf49c453e7aafbe88650b48be7d1e5208900defa33564bc0a23474743021e9a29292d34eb7386eeb4b8743aed1142e07b3ea79f7e7a2ad16aa38b5810f88d06ed375d6a6b6b28282860e4c891e4e4e4b07cc54ae2f178974fa63364edc7dc77cbc37c56dbf8f865d55c6ebcf84fbc57d5722bd2d729d8fa0abff9d1b5fc67535b0ffce9788c6ff25cbecd0cc3c0304c4e9c3e1ddff3116247f96aba46456545b7e267a619b76d9b3df7dc0bdfeffaf5a0288aa2288ad2949412cbd2800023ec60f6e98fd96f20d6c041a965e8109ce14331fbf507e183f040fa205c7443c7de630866a98b55ea62f54b62f777d34b1267b708d6c07e482f09d2479301e190f6bf1fe3926a6d09d0348d09871f01ed8c6df183a0d14d5d53b5b53500442211060c18403c1e67f98a95ec3d7a54f395135f71df5537f1d6f654d7333dd28791e34fe407a78fa79ffded1807a0e7ecc6f8493038af03dfaec73fe5960befa7f735b7f1836176cb31bcaff160bf4534ad731fa654ab8bce11138ee0f6db6ec54f7779d4340dd330282f2fa7a8b0a8dbc725842092954549490965dbcbb02cd5654c5114455194ee9152a61a4fa4482516c205d1425b8668d411ac8100341d239cdd78854c4b8a0019f8e9ee6202c8fcdefd63efd49d9010a9b12d878c1f8f6ee8a9e6a13604bedf66e2929d9dcdfdf7ff1dcbb2b06d07c771b06dbbe5956592cada5c8ebafa77cc18e053beea7d1effdb3ddc1a1ec82ddf1f88d59913d94969594339fad4a13d164356f5c4517dbb799ec7db6fbfcdd1471f5d9fbc689ac6c2850b39f0c0035b4d680cc3c0711cf6de671f167ff925c214e9961883eaaa6afcc0c734ba9f680821e8d7af3f5b366f51898ba2288aa2283d2700021f37992051e1a369123b6261980686a1a199a9ce5e99dc444ad0d052b3aa06e91e545ec3fb2489e70b8480ecbc10a9313120dd0475b5c91e39e44e272e9ee7f383737ed86617b10c3f683b71993a755ab3d7e6cc7db78d883aa14884ec3c9becfd8ee1d4435fe3fa655b4932102b28e3eddb7fc3039f541368390c9f7c1e979c358642439258ff16b3ee799277d744d172f7e687bfbd8c89ce8ea832f615fffccded7c75c835fcfa48c0dfc87ffff0331eda528b51348a69e7fd8453f6c9c3409258fb060fdcf314f3d6d511ea7b00275e7001df1b910d755ff28f3fdec3bbab2b494808951ec48c8b2e60f2c0101a92d8aa5779e0fee758b0b61667d004ceb9f8071c56d238dd925573f8cd2f5ee6f05b6f6062641d2fddfd579efc700bae96c3de3ffc1d574cecd5e213435b8d61b47e2e7a6c29ffbafd1e5e5fb29d3821f63cff8f5c7d38cc69a10c0b924dd7fd15477e70234f0cf815b79e35041b97558f5cc14d65e7f2975fec43d787a5ff6f699ac6dbefbcc33f1e7e84f51b3670deb9e702f0c0830ff2fa6baf73e9a5bf60cc98312d6e9b7a868bc9e9a79fc155575e896d5bf5b38be9ba46654525bd7af5ea91e3b44c93debd7b535959a106ea2b8aa2288ad22d9aa6a1019b2b5c10015b3654b3fce32a967d54c107af6eea76fcf37eb417875fb23b32ea8100b73acae672b7b5e69b4ee9f05d506636b170569851a346b539283f23f0fd4ef7670b3ad89fdfaf5cc2bc4fa3941cda1707c0c863dfd3afe18e1fe7c1fa97b9ede687f8f7c17b73dec055fcf3e647587dd08ff9c325c371a2b5848a0c88a6cfcbdfcebb77dfc9fb03cfe586e307e3d4ae072dc4a0291771f97ef954bd3f8b3beebc97feb75dce21ce521efdd33f597ff085dc7c59295573eee78edbeea7efad17334654b06abdc3d46bef606241942f9ebe8dfbfffe0efb5e3f855ec92f79f8d627d93ef117dc7a792ecb1ebf9907ee9dc79ebf3e82a2164719496a3f7a94a7d6eec7e57f3d99e17a15e55a41bb494b8b5a3b17b6b16485c1d1bffe33c7f409483a851846d07219f66eba6e11a6d69f9a173ea36cc6104ab52a962daea3dfb1830877e518bf21524aa61c3d85783cc17f66cfae9fd5eebd79ef71da8c198c1d3bb6d5c43b3535b2c13e7bef83edd80481c03465ba1b99497979798f252e42084a4b4bd9be7d9b4a5c1445511445e9011a2bb6b824eb7c8a7b5944474708f5b6f86cee36b4a420573752cf6964c742e6770d0492a0c1efbe041781f4248e09683ee0e356c6702bea58b62981d603994b8707e767060c4f39fa98d4c177a8c52535c6a5338bdfc6f4c9f8e5bcf89b1f71ce396771f6857fe2e5f8019c7444df7437318bfcfefd28cec9a678c4048eec9760435982c4cad7981f1cc439a71ec4e05e45f41d329882ccbd9face3cbc76ee1d19a295c7ec14114663203a388d107ec41ff5ea58c9a7a069372bee2adafa22456bdce027f2c679f7c00038afb32fab8994ccafa9c5716d7a6ca447328282ea2b0f710c61d338efcad5fb2c585e4ca37f9501cc88c69a328291cc8b8ef4da060dd42d6b631f1941eca42afdbc0ba32172baf0ffd72bb78c3dacab9648eb7a87721790525f4ced25b2dc3e6eb9ae48f3e824115f3f9b83c40c6d6f071596fc6ee9ed313c9f4ff941001d34f3c81e9d3a7b360fe0216cc5fc0f4e9d33969fa896db61642a6d5c5e0907187a49fdd925adf30746a6b6b88c5623d769ca150889cdc5c82404db4a0288aa2284af7e8bac6ba8a80a5cbab313d8fbebd6c7404fdb24314d816866d603a068e6310760c72422605218ba2b045896351ea380c0839f4b16d8a2d8b12dba2d8b288844c7287862099c02daf21beb5867834e0cbcd41fdccabddd1e1bbe14ce272d249d33b94b4406a56b1f66efe5adaa655660147fdfc3a4e1968e0d66ee6b3171fe0ee1b1ea7d7cd67314cace38d87eee3df0b5653e55998d267b090242b2b4866ef4b7e4b67ea97f1d187903f713045ad0df037f329cd854f2ae3c4fd0a92390d6299f9f4cb157c5c16a369ba6584f37182b5785292acae2056bb82df9f3777c70ada6e445d09592ded57237b9ff3f8c5b459fce3a69ff16cbf099cf9a3994ce8ef742f3168702e2dd58a4cb45c862dd5b65eb00f93863cc67f176c63c29005accb1fc3cca25d73ca5e2104493759ffec95a49becd075abeba967ac7cef84e379fb9db71042d47717334d93cd5b36336ce8b01e3bc692921256ad5c8961b4320e4c5114455114a51d990442a2f3eac7750c2f1644fa87292d35c92eb48956b9e4180659e8981a989a868e0652120881ae69484da34e0488c0c30304a00bc8cf77c8efabe1aeaf245995244808de5be9531603a70726d3ea50e292ea2616909d9dc388117b2044fbddc48046df427754db53bfea8472f3c82fb0a1a090238e9fc04b57cf6765b547fe67f7f3c8b2115c76db758cceabe2f5ebae620e60e7e661d56ea6ca87d2a6676b0d62c66513f9f2ae3bb9bde47aae99d6bff9207fbf92f5551a79455984b30ab16b37ed88e557b1b15a23af38ab79372e3dd320a661e7e693553089ab6eff01c33b7acf69e431eac48bb9e5d82dbcf7e08ddc73571f46fce138fa76273768702ecd9bda04e5f35a2ec316e9f9ec376d2ffef9c8abcc5db79cacb12750b20bf662d2348d8766cd62c1fc059c70c20900cc9e3d9b9a9a1a7ef8831fb4799d679ee9b2e7c83d0985c2044180699ae96e6426e565e50ce83fa0f509273a293fbf00217a604a0e4551144551bed33233a4bebe38c9690786d0ad3a4a7a5b0c1810a26a658c12dd44634717b1404a0c4d637849097d8b8bd912abe3b3b26d0cedd59b02c7215953c392cddb29186c12b193785189f0247e029ef9288ea11b689adeed16970e75154bb5b6044c3926dd4dac83f399055de82a16b4d5550c41225a4b4d55395b567fcccb4fbccae6ecdd18926b80944809227071fd1dc95268d851ecc707fce389f759bdbd92b28d6bd814dbf1bedd77023fbbf428aa9fba937faf4c778b92492ab6575055be8e054f3dc06b89bd99bc4736a16193186b2ce0e16716b1a16c0b5fbcf008afc74673f49e6d77910a0d3d927dfdb93cfcdc22d6965551b96d1dab36c79040b0ed5deebdf521e657343e6faf7c19cb365693105994f6cf4777eb709be58001f1ea0acacbcb534b450d6ed3aa69e55c5a3cde56cab0651ad97b1dc778ff351e7edfe69083fbec7233bb699ac6f3cf3fcfdc397399366d1ac71e3b95638f9dcab469d3983b672e6fbff34ebb1f30c330304d93f1878ec7f71b4fff6d9a269b36757f905b86ae69141616b6f319511445511445699ba669e8ba4e6d5267d6bc187e4c12d4788c3b3e9b5e85369e2711a4eef883f497b8070d1fce113367b2dbf4e9ec36720433ce3d9fd37e702ec71c3c9e29234631768f418c9d928389207005412ce0854f922cdb2a300c1d5dff1fb4b86406e57b9ec75967cdacbfb9ed88f666156b6d9b16690ef9d955bcf9c78b7913c0cca5ff9e07f3e3ab4e65374787836732fda3bbb9e39297f10023ab94f139065a64343ffce5e93c78df2c7ef56a1d380338f69aeb39b3b83e3059bb9fcccf267fc8efeef92f075f3392a1fde3bc70c3253c0744fa1fc469bf3c9731b91a1a7b30f39767f2c03df7f2cb1763387d0f60fae5177060ae066d4c3dac65efcdb9579cc203f7dfc7d5b3a3a0e5b0c7a9d770f50959c8e806962d594eaf3a019100818e86a076e9cbfcf59e05940560148c60cab947d3bf6966e0d730e7b6cb1bb48aecc64fff78e48ef7adc256cfa5f9f1ea14b55686ad9d983d98c947f7e78df78fe0d0bebb5ada92bab6274d9a44616111871d76687d4270fcf1df63c0c001ec3d7aef765b1633ad2e33669cc1ebafbd866ddbe87aea1b05cb32d95eb69dc2c2427273737be4788b7b1553595959df254d5114455114a5b332898b611abcf05992bdfaea4c196d50d05be7a8738a78ffa14ae23501a6ad1108c1ee2525ec316000414d0d7e2844d1e061d8155524bff89278551dab92b5148e8b336254882016e04705cb37c28373e398a685ae1bdd6e6d81962726b30e1d7f909bf98710824432494e4e1e2fbef062ba9b58c79291c7fef54f8e99d27ccae3b6bcfcca0b9c31e3cc4e6db3eb9378f128658beee3ba7f985c74e7cfd97ba79e9e2b2011f310d1c53c7ddb3fa83eedf75cb8ffae37303f43d70d84089abca67738e9f67d9f582cc6a9df3f9564324ec871ea6728f38300292423478e241cee814ad534162e584028e4b4bfaea2288aa2284a2ba4940821705d0f4bf3f8f5149b717b98847a1b54aff5f9ecc95ad6af48e026241347ed499fe22292be87af6bf8c904312f2021255e3841eeb85afaed0d781a5ead60c336b8eadf71b6468dfa4746b497b8cc9d37ff64200ec4d24b5d83dfe340a2cd16974c6b8beff9cc9831a353ddc4207dd3d6c9e990db9c55ecdb4a5430e78f9770ff9a5e8c3dfb7246eed4490be0aee3995f5fcb0bdb0a1835fda7fc7cbf5d3769019a252da9d73ade52a8eb3a966571dcb4e378e289c7094cab7ee09b6918f8d2e7cb2fbfa47ffffe141414e0385d4f3a12f17897b7551445511445c9c8b4ba589689eb4a6e7839c1e541982302494e89c66197e751fe5598ad1ffa5896cbb28acd24bd7437794d23542029dccd256f741c2b220962e045054bd6f9dcf48ac796a8816d9bf53d517a42bb898beffb0c183090534e3e25dd4dace389488fcf2af66da51771d4f58f70d4377d1c1d650fe1ccdb1fe5bbd62ed69accec62a79c7a2a6fbef90655559518c68e0fa9699ae8ba60e3c68dac5bb7aed3c97ce37d69ea592e8aa2288aa2f4881dc98b85e7c10d2fc459bcd1e2ac832df2f3a0608841f14813e15653949408a9a16b3aba06ba0518012209c90a0db756f2cc872e8f7e1490141696956a69c9f442e909adde01656612735d97030e1843382b0bd9c924c4711c9efbcf339dda2612c9eed4fa8ab233300c83fcbc3cf6da6b146fbdf506a669349aaf5cd7756c3bf5ac1c4551144551949d4526b1d0b4548f91673ef598bbd2e3f87d6d268d34e99527d14c816e48740da40808003f09d2d5a8ac167cb0d463f69280a56506966563db6687ba877556ab898bef0724932e7bed358a193366746a507ec619a7a9efe495ef86d4607c8bd34f3f83d5ab57b17efd3a002c4b252a8aa2288aa2ecdceabb73a55b60cae23e7f9fe3f1e8074946f737d8adb741bf029dfc306802aa13922d55012bb7fa7cb259529dd0314d1bc73131cd542b4b4fb6b464b49ab8d4d4d63260c0404efdfe690c1c3428dddaa29e21a1282dc9cc2e3662c4ee9c74f2c93cf4e083949597911d897cd387a6288aa2288ad221323d2c24735f13f334de5f19306fb95fff1e00da8e6e66ba6e34ea12160422fddcb98e8f5bb7ed8e7dd1db6ae272f86113b8e0820bd863e448a410ddea97af28df05990ff949d34f62d8d061fc63d643bcffc1fbdff461298aa2288aa2748b964e549a4d482c252208104180e7753d7e616141c78ea385d7ac43c71fe4bef8e22b5ddfbba2288aa2288aa2284a071c7bec940e4d87dcf39dcf1445511445511445517a984a5c1445511445511445d9e9a90742eca482c0c7f73c35b64851146527a0fe162b4ae7646695b2ecae3f7459519a5289cb4e289988535151c1ea552ba98bd67ed387a3288aa2288ad261baae939d93cdc04143e9d3b71f3dfc280fe53b4c252e3b19dff3a8a8a860f9d2258cda7b5f0a0a8bbee943521445511445e9301108cacbb7b16ce9578442218a7bf526083a3e35aea2b446252e3b9920f059b7761523f7da9b4143867dd387a3288aa2288ad269f9858584b3222c5db298de257d54e2a2f40835387f272384205a1ba550b5b4288aa2288ab20b8b44b20189ea2ba6f494afbdc545063e2211c588e47fddbb22a8ab420f65a319bb7643921002dd5039a5a2288aa228ca37250802745d470801641ec09892794a7c77891e9cf743ff0ee4875feb1d7ef4abf7d9fedc9f30b36ccc5ea3e93be39aaf27eb9692cd4fde4450f6055e6d82de275e41648f837b7e3f4d788160434592b2a8071a14844d061587b00c1d21259faeaba35f814def5cfb6b3f164551144551bebb92c9246bd7aec56be5f1e596653168d0201ca76bb37c492979f6d96759bc783103060ce4cc33cfc03477ed2f8a5b93e9d6661846a39f0d2593c92e976543df8564a327b578c5b554419d95dcb286b297ee62e031c7800e5be7cd23b965354edfa1dd8edd5462cb6ab49a95f43dec706420d9f8e29d98f97d70fa0ce9f17d01c492012f7c56c6fcd5518a731c0a22161a5013f7d95a9d60ff41116ae282adb51e6535497e73e2508a221dff701b6dfc21f07d9f7ffdeb5fadbe7ffcf1c7939b9bdb99d351144551146517964824f8eaabaf081ebc03f3cd17d0350dc3d290028490485d9238fc38969c7b097becb107a150a8d3fb58bb761d1f7df411975c72094f3cf1044b967cc5e8d1a3dadd2ed35ab12b088200c33078e28927b9f5b6dbf87f179ccfe4c99359bf6103d1da28050505646585b9fb9e7b59b060016fbcfe1a4545ddebdaffdcc24afc402085e8da97fb52a2e93aa6a173e28105dd3a968634adf32d4a5276bdae3b9a7b7c2d894b10ad62e3acabe87fe4c1b8db57621594e2d744b1f27b772b6e6becfcde24ab6a915e12bf62337dc78d61e383d730f0e7776364f76c17b5a55b623c38670ba306e472f4e812ea92013137200820376c33b25f2edb6b922cdd5ac961237ab36855252bb6d6513434afe33b9112dff75b7c2b994c2225cc9c7956a3d7e3f138b366cd62f6ecff70c2091d4c5efc2dbcf17f77f1fea01f71e58903b13a7e845dd3747fa28a8f9f7e9405052771eee4d2af7fff8aa2288af22d138fc7f9e4934f301ef92b596fbf86a119844b4c820a01ba86d94b27bed9c378ed056281cbc7675dc4befbee4b381ceed47e56ae5cc1a04183282e2e66cf3df764f1e22fdb4d5c4ccb42045f5fe2125bb396fc2f3e07dda076fc2138799db8d76a41e6794d1b366e60c58a15fcf2caab307ff5eb56efc9a2d12845454548291b7523eb8c553539e4e584b11c9340081a466937a694e8868eebfa54d7c4bbb4ff96689ace030f3cc0ecfffc279550b5c3b42c7e70ce399c70c2f15d7ee65547738f16d3a96e252e52b0f1f1dfd377fc01c87805ba1da17af132ecdd27a087b3bb1eb70d7a381b67f8a1542e5e8a6666219355941c38920d0fdf00ddc8fe9a5ab135c643f3b670d8c85e689ace9ab21855310f2f9004425097f059bd2d869092d1030a10122410f4600746dff7eb2f0acff3eb97cc6b33679ec573cfcda6a6a6a6fd6041155fbef32e1f6f4cf03f79b45ad3fd05e52c7cfa095efeb29aafe5cf9a88b1e1d3b97cb02afaf5c457144551946f502c1663debc79787fbf8bec39af130a9984232666d2209c6b138e5818499d70ae8513b688cc7903fffebb98376f1eb158ac53fb5abe7c3923478e0460afbdf662f9f2e5added0ff2fbcfefa1b6cb9ec52920f3f42d5030ff0c5d5d7747be6b2ccb8152925baae13c9ca420a81659ad8b685659a58a6493814c2b66d56ad5e5dbf7e57c5abb610adde4e3c5a865b574e32bdb87515d4d59411adde4e5dcd76ea323f1b2d6544abcb88566d235eb5a55be7ded47f5f7881acac2c727273c9cdcb6b75c9c9cdc5b22c5e7ee565a0ebfddebad5e262762371d9f2dcff9157a4a38b245e6d0dbeb088d63a0c9a7961976376449f132f64eddf2ec7a9acc43003f4481e39791e9b9fbe8bbea75edcedf8495f70dfbb1b3978446f365726d075a88aba6cae49501c313135d856eb53921746c3a4cef588bbc1d7f2b4e54cb36b6b4d72679f3d9359b3fec149274dff6e771b4b2ee5c12baf66d9ccc7983534bb8353e809a22bdfe1f977d7101a7312278cce83eacf78eedf8ba86e61ed3e479ec9d4c199314c12af7c316fbdb490c49853f9de1e91261fe1f6de5714e5ffb377ef714d5ff7e3c75f0997c41bd1a88937525a857a815a5baced60d84ae756296ea5da16472f7cb11b966ef2c56eac74b5c3ad6e6cd3e1be73d27e75d8d6c1fab5627f76d0b55bbab6425b0beb2df622e9cd502f09f5122af009907c7e7f041495bb2814dfcfc78386f2f9e4734e02399ef7e79cf73942889e7be9a59718fef4568c6fbecad1200dc71b5b98a00b42a70357bd170d306e9886668fcac1c6167ca88c79f545686ae62545e1e69b6fee51396eb79b03070eb274e952004c2613c3878f382d98b9900e3ef914dfdcb50bad3680165545a7d5127bec1815651bf08db010bd60499faeabd56a3972e4089b3615a0aa2a8d8a82aaaaf8bc5e681713a9f86f24ffe217b9cc7f29aecfa32d002d3e154f433d4d0dfeef35add70708d46ad06834a8a7dd5e6e2bcb7f775ca3d5e0f3a9b4f467963ff0fdef7f9f975f7eb947232e6834dc7a6b52bb9af75e4f638f7e9d2a76fcf5527c07de64f89c99347cbe8f80e1468ebcf31961d95ba00f73e57a45a3654aea2ff82c6f39a659665a8e7ecc88c9119c786737c7dfb89cd1d77ee79c2effaf0f8e12660ac15def1fddf8dcd5c034938efb165cca485d005b761fa459d5b6be4c156f8b3f17a62f533b03ba5915ad2d183a33266a6a6a62c3860d27ff7fc78e12eebc3365c826cff53f95c69ad7f947c5c1f6ed13da91d3b83e6102a7ee2b79a9dbb79bdd9f8de412a3ffbdf5798ef099ed3f54d90ed0009c39e3b5bbe3420821446fd5d6d632a7fcdf688202f17ce77bdcfcfbc728cfc9e444f90ee2abbec0d7d24ccd9e57d9754f323fb2bbf0795b78fbaf4f70e2e70fe0bae1a60eaff9c20b2ff0de7b365a5a5af0f94efd6b3863c6f4d3f23962636379eeb9bf5356f63c00cdcdcd78bd2d84865a4849f97ebfacbad5d8a8e0f37919316204aaaad2d0d080fb5fff42bf7327fa60ff4d439faad2e0f512e0f552dfa4636c6890fc5ad20000200049444154689fca6acb6fd9fbfefb1c3d7a949011c3f8e9dddf655ae804be3cfc258ad7cb88a040c698c7f1cebecf58f7e42ef6eddb476d6d2d66b3b9cfd3c53c2d3eeebb290cb4f0f6a76e428605d2e255d16860ce5403a3f48128cd3e7ffa8baaa2aa1ad0f8fb824dcd5e4c6386b3dfd940feae4ffaf4ba3ba2aa3e6ebfed369293efe8f173bc5e2fde7318813bb71c973e74749bbe3c80fb5fffcb84f9d7d0f0f1fb10349c43afdb9872ff9f08187e61eefa070c0f6172da2f71ac5f81f94a0bcafe0f30454550f3cc06865f1649b0694a9faffdc6275f117d99914f5df5f87c60191bc4dd31134f1effe04003111343505151550808d0e0f5a9046860f298de25c169bb5962a26dc4a57dc25b63a3c2d2a5b79d76def3cf3f8fc7e3e95de0d252cbeb4face7cfcf94f3f909181516cbd2fb5771e7bc71a7fe585a8ef0e6b6f56cdc5ecea7753e02c7cc64e9da7cee8b0cc4b1fd67643ef626b51e403f81ab6e59c9cf7f10cbf82eaaf0e53f1ee2d65db5b89bb5845cf64dbeffc04fb9232ac43f42d25d7d7cf5ecdbb99ebcc27f6177fb403f81d81f6fe09789934ed6777fc1326e28f07f3ffb9765fccfbc23bcfceccbd4862ee47bb193681b2ff1ba3fe4e5570f32312e8e803dffe2505b05038663340d3ff5fe7ff501959f2a4cb87611d343b4808fafaa2b78b36614336f88c1f96a05ca69afb0bbe342082144efd5d7d7a3d58036588361e61c94e3c71815399ba3ff2c0160c75ddf2369eb4e464cf56f685d7ce752963df50c45eb7e437d7dfd59d73b72e408afbffe060f3d94435050d799a7d75c33976bae997bd6cf7373d7e07038080b0b03a0b9b9a9cfafafa9c9c3abbb7733fcc57f32a2fe04c6fa0646363612121c8c0608d46868f0f968f4f9700311df5c8ad9d4b77ceab68ef3309d0ead56cb1f7ebc8cffba2b05a5f6047a4333783ca00bc6f3959edb13f404a92af93b5e2228c8dfdbe8eba88bea5319a60b60effe3adea8763361cc301a1a9bb08cd7a34145abf19fa3d1fa530fbc5e1f0101fe659495262f011a155db0b6df67f878bdde0bba69684f638f7e1b71693abc9f51974da6e9b30fc0e7e34bdb7ec6df92c530cbe5bdbed6b91866b91cf3d20738ba731d632f1b4df3e776c65c6ac473687f9f03977a8f97e616957ac58b162d35c74e70f7372e39ed9cc573c652f21f17ede7f7050668b8276612978ced79e0d2933f7c55555bbf4e052ec386e919364cdfeeff87a17691e4dff1851bd8bbe97e7efa7f70e37dbfe44753e1e3b23fb3e9811fd1f8d85fb86fe630501b79fff1fb5955dcc2fc7b7fce8a59069a8f1c67d4a460408371ceadac7cf42ec68df2e17a731bbfdbf20b7e37f3197e73fde84ea76a055ffa6d32be3f87b1ea412ab6fe914d3f5dcf65fff708d78e6cecb63ecd9ffe95d5f9af624ecd65e337cca8476a383ec578da1ff68425bfe657374f24100dc3278c00bec4e753f1b5ff907b8f627bf92d3c336f62de1495ffece9ec3d52f8a2ea6d5c2366b2785adbf4332d86a84492a334d07c00eb594feaeeb8104208d17bf5f5fe9ba9471abc8446cde6dd678a9972d535546bbdb4b4b410fdc3ffa6f6e38fa8af39404b4b0b7aa38116af17d5ebed3070f1f7ff54de7fff7daebcf2ca5ed7c76eb7e3f57abb0d7abad3d8a8a0288da8aacab469d37056bcc6c4cf3e2358ab655c7030c303024e4e4a527c3e14af97037171cceb63d0d2d8a8d0d4e4415555868d1801c037a3a3f8e2b5f7b0bdfe2e37ae48c45b7b8480899379a5e83966ce8e60c137aee2f1e7dfa0b9b98563c78e111010405050f0697db19ed06834347b7d1c3fd14c8307f4c347e0f1424dad872fbe6c24cca4a5d9eba3b9c93fea12a08183b54d8cd007a0a2a23479696af19dd374b5b3eb347893f3fb2dc74555416d6c44f536a109088066cfb94c753b27aaaaa2b634a36df1428b07541fea39ccfd7337b6a00f0ea05e69c13fa75065dca8d33f94f32f1fc3fccbfb6f193a6f4be751eea91197ae5f536f9720f41d7f9d2d2507b1a43d454e721841c035732c28fbee66db963d2cfbfdf518dc6fb0e5992fb824ed491eb9ebd2b356021b39ed1bcc9fe6ff7e56b8814fff7137bbfe7380a6eb47d3d94739e4f23816c4ce40075c69fa82f2e5cff3d2a71eaeb1745f1ffd0927758ce2baabe712357d041ace9e6bab1b770953a786b6fb63bf94f8efb75f2adbcbb1bdbbd9ab46b2e88ab104f265e7ef519d9db73ef7117afd2c8ca77d4cba6b30249b45082144ffaaafafc70bd46ab5445d1641d94f5632e3d6640ed7a9783c1e6adeaae28a9434b4a30d783c1e163eba81ca273733faf851aa3b48ce1f3d7a3477dc7107cf3efb2cfbf655b37871628f561ff3f97cbcf4d2bfa9a8a8e0e69b13983c79320001dabea51ed4d5b9d9f3e69b84fcdf76c67df925668d0635208020ad96669f0f45a3410378551547632301e1e1cc5e91dea7b2006a6b5d68341a345a2d97858571f75d77f1d42e2b6b1e5ec594ab6742c3617c1e2f419e7a16de9b04a374fcfe67bfe4d65b93d0050771a2a101d5e74355552c164bafca5655ff8d6e8006a585e13a2d97988c7c71d8cd4bef1de59bb354c2278d441fac4569f6f2fa47c7a9fee2040bae188b6974305e15b41acd59e903e7aa2d395fabd5761914b5dd24ffc70bffe0bbdffd2e7dedfc5ff01c179dd9c2e1f76b98787518de2f0f31fe3213879efa35c1932e6578d8f45e5fafaf1a3eff08e7b65f33f9f271a80d0d680d466aff7380a929617dbe66a056438bd747b357a5b945a545f50fd7057431a54b55fbbed7a60af8d49e042e5d0726bd0d5c9a0ebec3a72d46e2e64e381590044de29a39a3297cfd1d0e355d8ffee0db7cd26c246eeec40e962ff6f0c5bfb7f0c727fec57bfb6b690c1841b00782a27a3eea13387e2ae338c197275a7a549f19d39771e795e56cbaff763e5898c49225b7b060c6985eedaceaabff84376c4d842f6c0d463a7debbd1cabfe9063facbb86eca3009458410420ca8fafa7a9a9bbd348445e0d36a497af219bc80feb269343535f15ed1934cbf2d85c011a3696a6aa2f8ca4b998e86f1683a1c7101983e7d3a3ffad18fd8b5eb39fefce73f73ebad4b080bbba4c37301eaeaead8be7d3b8d8d8da4a7a763369f1af5e84bea0180d96c66716222b5d75d47d3ebaf7378cb5f086a69a1d1ebc5a7aa34b526e47fded0807bf26466fffce77dda9ba64d6868e8c9cef9619793dffdeeb7fce637793cf2bb4d7c336a2a63753a5a1a1ad01fafa3aea59a8abd9fa3993c935f3efc304141418c6ebd6fdda73d6b342a5e1f4c1e370ccbb8605a3c8d1c75b7d0d8e4a5a945a5c5eb9f2e76fc44331fd49c60effe1304046aa939e261df817aae9a06a34706f57be072a193f32ff83e2ec1a62998537e8eeba95c26cc9a80f7c81126ce30b33fef474c7bb48820e3f85e5fb3b79a8fd6b23fef474c9e6644f3551d0121060ebc5dc3e48cdf126cee7b7e8b714410279a5ad06a353436b7a00f0ce0fd0327b822745487e7373479a96bf432665820bae0fe5f94e07c8db8f4acf0cecb6cfee4297ebafa69b48959e4fe7426635507250fff82977b71798d36102d2ade9efeedeba7b26cc34e62f7fc9da7ffba8d5ffee0499ebe7b13ff933683e1dd3f1b50510eece370f3090e976ee383f687aa4ad876f846eef856a83f0fc67b14fba7f50c0b8b60ac6c3a2384106280353434d0d4ec25e0f2191cb4bdcbbb5b1e67ce0f56302662064d4d4d2cd965c5f1c66e8e7db097a6a626c66861448b7f3b85ae96431e316204c9c977f0d65b6f5154f457b2b3b33bed1b3ef1c4935c7289859b6ebae99ca7889d69ccc8917cf09e0d7d4b0b3aad162dfef90b3e55e5a313275066cf66cecfb2d18f39b7192f1a8de66472fd47fbf6f1e22b2ff3e8ead56880dfe4e5b176ed23040406e26d69e1c1077fc67d0ffc1243077bc6f4654102ad464363b397e8f0d198c704b3dfd5c82bb6230468352c8d9dc494f17a34c017471a7963df71c2268e24faf2b17cb0dfcd0bef1c61d4f06062661afb3570f9fa25e7f77155b190abe753ffc9528ebeb59331663dbe863acc53f47cfa9bff26e2d14234fdfc07dd9edad2cca779ff8d69b29e801327205847eda7471879430a217362cee9da81011a2c637434b578f134f998326618c57b6ab964ec300cc34f7f0b95661fefd5d4835643fd082f16a38ea0c0defd210705057779fcd4aa625d07263d9d67a8fa7ca840f0a42bb934f059deae3a4cf32cffd42c9a0ff2e6dbc709ba7436138321786224a1da6779abf210cdb34e9f2ad6e078871aa693b33c9179462d784710d6416cd7565e777a521f00b4c3b15c771b3fb976110bf3efe2fe67fe8f8fbeff0857698218a103c5ad74b18f8b067dd80d24995a4ed5c97b8cf75e7c19e7d41bb971d6a9d11eafbb862f1a744cbe7474af467484104288f3c16834f2deb4cbd1ef789aca67b7334d1fc83bff2e038d96979fdd8e06306ab55cadd7f2af391118342acd5ab04d9b8ed168ecf6fa53a64c699d41d2f11c039fcf477dfd0966cc98d169d0d2dcc7ceec570e07d579bf25f8d34f096e9d2216acd572bcb9992f02023027dfc1ec65cbd0f653df52a3d1e0f3f9b8fe9b71bcf6faebdc76d79d7c6bc1024a76eec46432316ad4286a6b6bf9e0fd0f308484d0d2d2d22fabb6aaaa060d1a8202b55c621a8e2e2880c6262f974f1ec138838e16af8f20ad96c9c6614c0f1dc1b17a2f878f799830762493c60e6fed0bf6ff1c900b9e9c3f50fbb84c5cfa433efef05dbefaf21346e97ce8342aa39a6a38f0c41f98b2fca77dbe6e770e3cb19e514d07d07b35687c5e4e1c69a4c93003cbed3fec97eb7f3bd24861b993b12374b81b5a081b3f9287767c46e4e4e1c44e1f8d6964105f1cf5f0c1a17a02b501e88234046a348cd0b7601e15dce769631de9b7a96201231937126adffc177bf687126bb98ee5499358b1f967fc5a97ce4d53c15efa670abf984cf2cfafc5a0018d3186ff4a1ccfca2dab58edbb9784a8f1049e70516fb99ed8c93399c0d3fcadf0ef8c5918ce18ad93030d5d9437a9ebea6947775f9fe6432ff3ec1e981a6e6658f361aa3ef90a468e636400103889a8b0409e2dddccffcdbc95705c1c1df74d164e3dc6abed57150b1e89a17dace86d41a785c06121184604b536072a9e2307f94a3386ab47cb708b10428881979595c57a608217661fdc87ea69c1a2d1a03768f136f86fc705e87d78dc5e2e5155d4409577265dcea1eb17929595d5edf5df7efb1da2a2223b1d49d06ab5cc9d7b0dafbffe3ae1e1e11d5fa40f4301875f7e19c7c63f33fcc409341a0d1e9f8f6655a54eaf4777cd5cae5cb204cfa75ff08fc8588e1f76767a9dd113cc5cf5874799b0e8c61e95abd56af1f97c64af7a8047d7fe9a17ca9ea7a5b985993366d0d0d8c8b871e3686e69c6a7aafdbcd5847fb4a7b94565eca82062671a090ad0e253c1ebf3d1e4f5611aad237aea684a5e3fcc7faa8f6018398c134a4bbf26e5b71988e4fc73cb7139975f8646cb65d9ebb13f90cc70633d5ae52bc61886f1f93f8b6959ba9c4043f7117e6f351f3fc257ff7a9a4b2f1f83afae9ea6401d5f9e18c9f447ff80a61fd6110798357924978d3b8eabce8baa6a701df7107de9188e3734f1cc9bb5f854957123f50cd769f84a6962dcc8404e78fc7f6cfdfd37d5d93e2e9d9dd7a9c0497c277d09afac2d61c333d773cdaa482257fc89df0e5fc7c6ad0ff3cf7a1819164beaef5671d7acd69c0ecd48ae5ab989df8ccee7b11dbfe1c1421fe82773fdaaabb8fedb77f3abcc23fcf689f5fce4597f94ae334c22d2d2bafad699e5fdb89b843fcdf06eebd372641fff7ee269fef8653310c898f0f964fce22ea6050318b97ed50354aefe138f3dfc1a048d67ee0f22899fdadd3bdc112ff55f9e00fd258c94b8450821c4203076ecd893c10bfff431fdd30f09d068683ae6451ba0f1a71c1c55f1e1cf95f8c83283c3f1df262b2bebb43d593ae2f3f978f7dd77b9fdf6db017f9f62f7eedd545454101a1aca2db7243162c470e6cdbb863ffce1356a6b6b193fbeef69013e9f8ffafd0e0e6cdb46ddeedda8c09180007c060341a1a18cb9228aa8abaf66f4b4696883822849bc9359b366313961110001e38c045926d354fd29be13fefc9d039f7ec66b2b1f24a987810b9c9aeeb5fae19f0370cf3da9d47cf1c5c91199a0c020b45a6d9ff76d399346033e1f34b7f8686ef61110a82138504b8bd7bfa9a44f056f8b4a5000e883b58c191148538b4a202d4c36063361b40e4f938f8080feed6c5ee8e4fc9ec61e1dd52468c50fd39af27ebbae4f05b769fcfc633ef949326197ea0844c5f1d95784fe7607c32eed24223f97b23eaba6e6c1dbb15c3a829666f8fcd346a6aeff1bc3c2fab7acc6261fbf7f613fcd2d1a02355a4e34b630725820c3758168351aea3dcd789a7d184705337a84864bc7e9898b18dd6512ff9994c606de7eeb3fcc9e7315e609670f49b8dd6e0a0bb7b272e58fbbbdd6860d7f2435f59e0ee7610a21841062683872e408ebd7af67ec0b65847f6423203800d5877f67f540f07abc7c3c238a2f172eea51d002505d5dcdf3cfff831ffff847343636b263c70e6a6a6ab8eebaeb78ef3d9b3f0fe2f6db99387122bb76ed42abd572f3cd379f768de6e666ca7695f0ed84c5343775bd9f4bc3a1431c79e30d4eb85c68468e24c8309ae1a6f18c309b19366e1c81c3879fd6812e328411337e122db55f3232fe9b4cfdfb36347a3dcd3507f870662cbe130d048e1f4745ed4196b93fefd5fba9aa2a3e9f8f03070e70df7d19f8541fc3860de7abaf4e101418c0e3fffb38932775336da48756ff5f0d0fdf1e81715410d002f8f7873b8d4ff5f7d8552dc71adaa66f6968509a993c2690e38a96d5dbf6f16872df36df3c9346a3e5991d3b7a9d9cbfe0861bfa3ce292fdd3556c7a6ccbad4023d0d0fa55dfeefb4640e9d71c97f686854d2374d56ff9e437ab08f42a0cbb2e816161d3cef9ba1d97154ee09537f2c96ba5b46874843df8877e0f5a0086056bc9be298cdfbfb01fe7710fc6e1c168b51aea3dfef99b5a8d868040f8f2ab46a64f34103bcdd0aba0a54d4080165f17d9e98d8d8d3cfae8da6eafd3bfc39842082184188cda8fbcecbbfa9a0ecf19376e5c8f8316802fbe384068e8140e1e3cc8d34f3fcde8d163b8efbefb183d7a34b1b1b1fcf39fff64cb962d7ce73b373175ea545e79e5d5b3ae11a0d5f67889d5e1132732fc965b7a746e9bfa5afff605537ff113ea5e799dfd59ab99f55a298173a2f86af71e3cb59d6f6fd0158d4673b22ffcab5ffd9277de7d97f8050bb0bef412b3afb8025f3fe67e8c1c6de6c32f8319df0c5e6f907fc3494ef5c3d5d6ffa82aa081a0c0407f0ca382570de6b37a701c6e2640db7fd9f95fbbe4fc73c97169cf70ed0d5cf1cc1e5a4e7c45d0e8fe9f22769246c3653ffb1dcdc71f2470e4283481e76f2e4f70a0869c8430aa3eff8ae7deaee5d0b146ff6e403e30850412611ac1372f1fddab4d27cfa4d568513b590e3930309065cb92f17abd5dfe92db8e4bf0228410420c7d63c78ee5d1471fedb7eb5d79e56c9e7cf2293ef9e413aebdf65a6263634f8e78040505b168d122a64f9fcef3cf3f4f6363230b162c38eb1ada80809eddb1ef234febb4a4e15746e27ce26f044e9fc61b962bf1d69de897eb5b2c162c16cbc9cd38efb9fbee7eb96e7b669d9b8aff1ca5c5dbb34d24db6f9ead51411b18842ec047dcf4907ead574b4bb37f00e802b9e0fbb874461318747e8396762e543900d161a388ee68c9acf34ca7d3316edc385a7a10d5060606a2d3e92e40ad841042083194188d463233577679ce65975d4646464697e79c97ad195a29ad814bc0f0614cca486352461a0df64f78fdea78bc5f75bc4f4d6f9cca29564f2e990cfe1199fe4a8abf7bfef9df2ee4eb6040964316e75f6060a08ca208218410e2a2d716b8341d3dc6fe2ddba879f26916bcff1aa3e2e338fc6cd9395fbf2d3839f351f4bf730b5c02257019281a8d06ad568ba27806ba2a42082184107d76f8d041ff0241fdbcab7b9b86d60bbb5e7d8d3171dfa0b97574a7aeb6f6e431f1f5d0d3d8e3bce6b888de0b0808c43c6912fb3e7a1ffd303d13264c422bbf8ff3a6b9b979a0ab20449f3535c90d0ef1f5e4f3faf0f92edce676e2c26b6c6ce4adca3788bc62ce79f95d07a2a1ae75f5ad57ff3b871b9ffe0bd332d2b0fde1cf7c5af1c6c9f382cec3e68ca2ff9d638e8b4c451a288141414c9a3c8561c386b3efc30f78f3f58af33a3f7430eb6eed703174050705777f9218720282e4df9e8b9156ab9529ea439286c82be630de6ca6e53cdc24348f1cc9c727ea505039ea70f097ebcedeab458f86f08913fbbd6cd1ff7a1a7b488ecb20a441c3f8f126cce6093d5e465008218410a2d7ced38c2a15ff5e28e7236801882e7a8cfa7b3339ee74757ace68b389ab1f3bb77d09c58521c9f95f735eaf176f3fae132e8410420831548c98ff0d1655bf39d0d510fda4a7b187b6a31f4a8e8b104208218410e242e869ecd161e022232e420821841042880be19c9743b6d96cfd5a212184104208218438d3392d871c1010c08c99b3fab5424208218410420871a6b7aadee8fe243a9d2a264b520a218410420821cebf9ec61e929c2f8410420821841830929c2f84104208218418f4ce693964095c841042082184101782042e4208218410428841efdc36a0ece1926442082184104208712e7a1a7bc8888b10420821841062c09ce35431590e5908218410420871fe9dd372c8420821841042083198c8d0ca45aaa1a181575e7905555507ba2a4382aaaadc78e38de874ba81ae8a10420821c4902481cb45ea85175e20393979a0ab31a4ecdcb9939b6eba69a0ab2184104208312449e072910a0a0a92d1967ee6f57a07ba0a42082184104396042e17319fcf8746a341555579eca7472184104208717e4872fe45cae7f3c9e37978144208218410e7c7201a7171535994c786621b984c18f47ad019888c0da7a6dc42f6fa780c17ba46b6528a0ad6f050b11dc29359b73a9da484a80b5e8ff3c5ebf5a2d1684e8ebcc8e3b93f0a2184104288f36370042e4a359b962e248f6cb66f5bcbdc93918193d2acc5acd9bb929570c103064354022bb25d1417af827bb2494db05ce01a9c3fed470a06bab33f541e8510420821c4f93308a68a2954ae59ca4355d1acdfbca25dd002602661ed53ac0e77e31ea8eab52d6fab1fa80a9c3f3e9f0f5555bb7c3cbcfbcf6426cce5920963183d7a34975c732b3f7be6231adbcedbff67e69a6f64c7e1aeaf33208f0d7bb8ef127fbdc78c39fdf18a07dfa3e1f38d7c73c2b7d876c887baef0fcc3527b0e378dfcbeb30c745b1b2c468242ca504e76907dc94264e64768e0da5d7bf39055b7e22d38d468cc6448adeda44dcc485143981ea7ce64d4ca4a43f3f308e4dcc9bb8901267f7a70a218410429c2f031fb838cb585350832e7e05f1e60e8eeb2358961e7b6ab445a9a62827838cac2cd212e358985648a51bc04d65611ab38d468cb33328a9565a4f2f216bde74966caaf4073fee4a0a73b2c8484b246ef63c1273ad38517056169193328f7969a558731712669c4d56f9d9bd3f776509b92971cc4eb3526dcd2571f6448c13e3c82a75a2384ac85a1886d13891b82c6b6bb0a5e028c92225258b9c8c25c4cd4b24b7fd75956a8ab2d2c8cacf272b310ca3d18871761c893995fe0e6d87f5f5abdeb490b0e96958fbd0496deb6877f5b5bf2885798b37e05af030dbdff8800fde7e99cdf718285d3e9f94a2fdade701747fad81f90215b8faf72ff3c1071f9cf6f5c2c391e8c62fe2d1ff7d9898905341c7b996d999bab20c9617397aff8bea8862a7a4b002d3a3aff0e187db58363381b59b57133b54e6300a218410427460c00317656f095540787c78a753c10c5151f8631a27a5cb97521c99cdc6f5ebd9b27d33b7d4e4b038a5100706e6a66e64e32d21a00f2732c23f44a2b78463895ecdfa157331e0a028ab18d3caf56cdcf21c2f6e5b846bc3529617b9406f40b1d9b1ef2dc616bd92ece458c20d676e26a880c184c7b6979abd2594b993d8fcea2bac8bb1b3356339392590fcd4bbbcb3391ec7d61c0aab016709cb33ac58b2d7b276e336d6c5d8d9905382a3f57ae5394bc9f3a4b3363393f5dbb6704b0898e2d7b17ded5cf49dd6d71fbae8cda1582c6642fab0e761b72308c7ff454e4e19965ffd83277e7c1357879a183f65160b7ef83f3cfdab05782a6d1c6a1b69c04df98614e64d1acbd8b197323fedaf5437faaf73bc3c9f94f9973276ec58c65e3a8f94fcf293cf3bb6fb0fa71ffbc36e0eab2a3edfe7ecc85acc95978e65ecd849cc989f46e17b8d27eb77eccdbfb07cfe8cd6e7cd276dd39b1cefe47500e8c64fc16432317efcf8538f3a15dfe1521eba770dbb8ff95001b53500f3f97c1caf2c24ad5d19cb375572ac2f232e00ba1016244751b56a399baa3bff9db8cbf349896b0d5ec3fcefd559831c8a8ddc85896ca881bd6b1259986343719592b37c0d1dc4d9b82b0b498b9bde7acd38d2da02f88ecaafdc74fab985ed47835a7fc7138d188d61c4a515d17a6fa08b7a3b28c94a64769811a37122d3e3d228b4b5bb626775736c222e2c919cac25cc9b3d9db08961c4a5159e2c4f0821841017a7010f5cdc4e171e406fe8c1ede2ea0272ac0692e25b734df4112ccb5e84ae228ffc4a05d0139db98c507b21c5ad1d24c5568263513c1640b115b0a1ca4545713ef9f9f91494b8098f8946e77263888a25d602bad05452131258b171232ba2ce9c1fa6c71011458c0574e1c9a4274561364490941a0d1e0309e949cc351bb0c4271385039b4b017d388b92925864690da40c06703b702b8062a3a4ac0643b4d93f13cd10494204b8ecfef7a4f3faba50004bd2165e7d712d73fb308dadad93dd3ed7a5fd63c37bc554d44572d777a69c713c98f01f3ec9cedf7d0733e0f3a9e0f99832e74d3cfe7e0df6977e85e9a59fb0aaf43038b672db6d1bf0dcf13476978b8f9ffd2114dcc6dd8fd9f17dfe176ebffd8f28b7ff8d8f6b6bb13ffb0378fc76eedab40fb7f5e73cf0d2347ef75a2d2ed77f78fc1b7b79e8017fb0e73bbc831fdcfe731cdf7b8cbd35b5d89fbd8bbadfdecef21d873b7c1d6da14467aff3d4f1d611179f0f9c3b597edb43d47cef71f63a5c7cfcecdd1cffed6dfc60a7b3d3eb749de3a2c772cf6636c657f3d0f27c6c1d75c01d852c5d9a8f92bc9dcf8e1ee5b3e7d2a16029779e19e9e8a378e4c5e7480fd511b3ed23dedd12dbf92c466709694b73a849dacc87078ff2d973a9b8f39692d6d19c2f6709694bf370273fe52f7f5b3cf69c14722a5b2bebb153e65cc4e68f0ef2d92b6b315957b1aaccd965bdddd61cb2ace1acdf7394a347df6173ec5e7256b506edddd4cd535781d590c98bef7ec4e71f6d21bc22c75f9e104208212e5a039e9caf6f1dd550dc0adda5df3bab2aa8add6329e0000200049444154f11830b5eba91922e3896027557b5d30d7823eea1e52c30b2828b491bd3e82aa9d6e12b2fde3351ebb0d872189f4cc54ce4eb377a30374061d5d0f60e8d09f71824eaf43d73e5341e7afa007c03097cc8d5154976e22b7c285c7e16e3b425be28cdbeec61f76e9d1e920c46242d76d7dcf4dfb1189f6d3a4da1e15c5451de3091daf9eead477709ebfe73f8d1f3c703bb34601b3bec35d913fe1e1bdc7d9e7dacade693fa1fcdeab0851559875176b7eb295d8c74b79457dd67fec075733cae7835977b3e68127887dbc8cfdbf0d415753c1df8a77107cd302aefe6585bfb3ebf3e1b43e4685e12ecaeefd06e3835b9ff7a3c7897fcccae1efdd81a97dfd5aebfddaddd330b57ff1b31ea2fca51f13ee6b1d67517da7bda6c3d6025e33dc45d9bdd7315ee7aff72f7ff418f105569cdfbd035347ef03dd052f2692366ea474de9d2ccf8be19547224e3bea282dc4169ecd9e1573fd9f82a854d6661732afa08cea1511447478cdae39ad0554185279313d16b3bef59a9905cc2fb0e24c5a46fb9999ce8a42ffb9a9ade5c766b3fdc5243c163dfe619070d2b397116500a212488d5a458ecd8dddd979bd1deb0ce86b2a282a2e41b7289ee8b57b38d493ba6d067491dc93da3a45d4104d5238acb1b921a9a3f9a442082184b8180cf8888b213c9e70c0516eef3e49d9a3006e5cede7bae80de8007d5b123d1124a547e22a29a0c2514e0949c4b4c6430a1e3c0e2bf633e6cab89de7710e8a524d51da42d6b862c95efb08e931edbad0fa7052d323719516fbefc2bb6d585dd164ae8c427f01eadb55ae46704828e371e3727770bcd189f378ebf7a8a00b2134a4ed7830c13a40a9a3d6ee02d354c6b77beef869a1e8dcfb707cd4d9b18f51aecaa3b8e00694e71f253936824b226fe2c75b6d34aa2ac7edb5786afe97f84bcc98cdfeafd8473fc65367c7d9d871cec9ac35a55456569efa2abe8b696d75f7bf119c9ce5d58732bacb6f39c990c0facdc9281b969373dabc2e05a7dd05a688d3022c53b8059ddbee1f9deb03b7dd89a7a680f9938cfee9584623d7aeb1e371db719d714db7c305e6f0763705f498a3a2b0b4dd4bd0194e7ddf16bc7bea7075516f257a1ddb37c7e329cb65e9b5973269fa42325aa79f7559374f6bf967dc20505abf8410420871711af0c0858864b217e8a82bcba3a4c3dc6585ead252aa1530444763c24ea9ad7d72bb1b8f2e9c45d1a7eec45a166512e3292337a718c32dd127a7d218422331d595915b547daa03e4b65268eda7a4e90eb8ad39acb286939e1cd5c1941e3d51a96b498f76529c97cfa6c22aa2ffb49dccd6fc9cf359dfee725c74536fe31b216ff1c4f38eb38e573f91cc15737f4879435b8ecbe9d7f30fc40431766a08b8ec38db3ddf65afc11312c1940803b8ecb8da3dcf595d83c73095606735eea9abf8cbdff7f0f967eff2dcaaf13c9ffd53feb6df47c8b4f1e8a6e6f0eaa1431c3c789043870e71f0c33dbcb9631533833b783d40c894cb9832650a93274ff63f8e1bd57afcd448495b10a6aa2aa3a68e47372d8757dbae7ff020873e7a933dcf64314bd7f5fbd61d43ec3a36a7c3d6e53958dda746decce1067055e36a77aecbeec06308c7d0c715ed0ce16674e1ab79e3e8518eb67d7df60eefeccae6cc5990068b019ced031a055b612e9b3a4a9c394987a98b7aeb5d76dce1d96c7bf15d0e1dfc9017b24d94ae5a45b1a39bbaf521674b0821841043dfc0072e9849dab88d645305f72fcda0a87d508293cac23c2a4cb144e8411f9549760cbc945778324fc0612dc61dbf9ae4f67369ccf1a4c7c35e5b3849ed7a68fab9e9a447c2de87e6b338239fc24db9a4a5146189f73fd903783c9cced35a9f931d3a0f8a07fcff6977da69ffd39a5fd37a414f5d05c5d66a1c9525149439c0edc45e554eb5e2a6342303ab2196e8280b668b0583cb86ad7544a5bbfa3a8a52885b9843651f6e437797e3e21b752d39b9d7f37e7612a97ffa07b6fd8771d5ecc5fac77b58f6c8c75cf7e0837c437f466e48bbe7a3aa4cf9ce5dccfa781dab9fdccb319f0ff7de2779f8f71f33edf6ef10fbed14667dbc8e87b7da7003c76c5b59bdee63a62efd36e35f7b8465b7aee4e98f157cc1e33099f4e8742184e860dcfc3bb9aaf64fac7eac1217d070d84af6cdf348f8bdff4e7e9f735cd453afc374c39d5ce5fa13abfff73f1cf6f9505cffe6a709d770f3baf769e8538e4b7b7ae6aedec64a43195bf79efaa925e11ea2ec79e414fadf0fb7ad909c3c3be1c98bfa344d0cc01c7f0fd1ce7c723655e20414a795ac8557b230efec2598cd31e9c4b80bc92d6e2dbfb280553925d8755d4711a15dd4db549ec3d2c40c8aaa15d09b319b74e875211874bdab9b10420821040c821c1700ccf16cdcf306f16bd6909f329b3598b158423199225894b99ad493c18785d46dbb50b256b17c713991e1063024f3d4e6044e9ff96e203e3d9945b6e433ee2c4790b97d3bee8c2c0a8ad75015ba80951bb7906456a82ecda7b00a3ce491576a223321026ca594146c652fc0d63c36599611a7afa4d0061e7d2185d65092426b28de54051e282c282534391c7b7121363cb0a980aa5f67b3323a850d772ec67ecf5ad665265092524e893d9b45b13a3cd1661cf9b9acda5ad72ef809e79e5d2fb23eb6b3fafacf525c2eec0e1d751e7abdcf4c77392e0093976ee68551ebf9f5fa6c12d7d6e20142a65ecfd28d2ff0e077a7f89fdf6e39645f6bce88cf7f117c93d3d8bc4de1c19f2d61e6cfea206426dfced8cc53f75d86ca656cdee6e1c19f2d61c683a78e6dcb98ca38d6b3f13f59fce25b97f1df1e7f99299bd7b3789c0f95a56cdee6e6c19fa571e52f6a81f1cc59ba9eed8f5c4570eb08cb99392e9cb1ead7e9c755549fefe454315555f18d6b2be3bf98f348fb32e6a053d553414e278fddd24791fdd46aacd7ae39b5c29765054f6df7b06a552297aeaa83904816656e637b665fc316c0bc8c6ddbdd64adba93190fb90013d1c97f62d7dab967ffb99893d8b2cd41465bf9a66892d76d67ed5c3d7435c0d745bdcd6c6473550639f32771bf0742c21790ba6d63ebdf6f17757355f5fd350b21841062c8d274f0b3a01d4fffb5e9866fdd74c12b73f1715292538029fb91767b702838cb0bc8288966dbfa2e568c3a477ffbdbdf484c4c445555341a8d3cf6c3e3dffffe77eeb8e38ef3f41b1342082184189afefdcfe7b9f5f6efdf0a34020dad5ff5edbe6f0494c131e27291725b5791e748e595d31653d363b698b04499ce5bd0023d1b7191c7be3d0a2184104288fe2781cb00723b5cd8cb725855b48e9509d15874e0b6975150e822e991739822d4033d5e094bf498bc9f4208218410e78f042e03c892fa14bb941cd6ac59cab5f77b40174a4c5226abd76632b707fb719e2b9fcf37e0d3ab86daa31042082184383f247019506662576ce1c51517bee4a6a626e054f0228fe7fed8d2d272e17f9142082184101709095c2e52f1f1f1fcbffff7ff08080818e8aa0c095eaf971b6fbc71a0ab2184104208316449e072910a0d0de5eebbef1ee86a082184104208d1238360034a21841042082184e89a042e42082184104288414f0217218410420821c4a027818b10420821841062d093c04508218410420831e849e02284104208218418f42470114208218410420c7a12b808218410420821063d095c84104208218410839e042e42082184104288414f0217218410420821c4a027818b10420821841062d00b1ce80a8881b17bf76e9c4ee74057430c51d75c730d168b65a0ab21fa81b415e27c92b64208d11b32e27291723a9d98cde681ae861882a42332b4485b21ce17692b8410bd25232e1731a7d3c9bdf7de3bd0d51043ccb163c706ba0aa29f495b21ce07692b8410bd25232e42082184104288414f02970bcc5d9ac2f4e96958dd1d1db451929bc2bcd92958950b5e3521c4805270561691b3641eb3d3ca912640082184389d042efdc0591887d1389db885892426c631dd68c438711e0b13135918379b89c689a494fbbb213a4b0cf1f1b184eada9eade0b0b525be1a3061c7ee922e8b105f0f6eac59291439cee51aa7da00bdd902763bae7ea99b10420831b448e0d20fdc44f1e81beff0ea8bcff1dcf68d248502316bd9f5dc73bcf8eabb7cb43d1593c703803e6a051b37a612a16f7db2a3989c6287ffeeaac14254b469805e8510a2d79ca5e46f2d63436175dfaf71b20dd063b044112db9ca42082144872470e907e6e874969d8c44ce66884927f9d410cb29ee4af297e750d56eda98aef3cb08210699ea923274d121d88b3750d99781d28eda807eab9d10420831b448e0d20f0c515118ba3a416f616e841e9c9594e4a610373b05abe2a6b2642bd66a0faef23c3232723a9e6ee2aea430278b8cb444e266cf2331d74adbc4b2ea4d0b09eb2c5f4608717e299514ef5dc4fa3f6513e92a61c3591f4427954559c4198dccceb1a100cef24232e61931c66dc241176d80c783bd248bb83023c6e989e4dbda45454a35453919646465919618c7c2b4422add70324726651ef3d24ab1e62e24cc389bac72b7b4154208218604095c2e20456fc0e4b1b3d7a50006e6a6ae2535024262b3d9b8712dcbce9a22e2a028ab18d3caf56cdcf21c2f6e5b846bc3529617b5cd870fc562311322b76885b8e0dc153b2139094bc432b21740d986524edfa6d1ccdc65992447b6fb496c32e9f1a1adffd7791be0b11561d5a5b27dcf2bac365590976bc51f7338295dbe94e2c86c36ae5fcf96ed9bb9a52687c529853800f406149b1dfbde626cd12bc94e8e25dca093b6420821c49020fbb85c407a430451312628ecd9f98aad800d552ee28bf3b103b8dd84c744a3b85c2898b1246de1d5a4f359632144c79c58ad9124afd5037ae2b35309fdf6068aab97911971fa997d99fda98b4a253d210a3db0283e943565769c80a1ba801cab81cc75ad118e3e8265d98bc85b9a477e6532ebe7c6126b81625d2aa909f1181212fce745495b218410e2eb4f02970bac37392c1ebb0d872189f4cc54245f578841a4ba84225b0586346beb0fdce875760a0a2a495f3fb74fc1ca69da8d8ce84d7a50dc781470565550e331606a578021329e087652b5d705730de8009d4127b932420821861c095c0631050f1e8715bb3b154bbb241ab753c160962c7e2106864265590d99dbb611dbee73e9d814c795791ba878641bf15d26bdf585a7f54101145c6e389958a7f7072be8245411420831b4498ecb2066088dc45457466e51f5a9cde8dc560aade7b4698410e25cb82b28762d22fa8ce0c492904a645d19f9a5ed335d74e8f4e051ce5872ccd3b7a20dd1d198b0536a6b9765afb8f1e8c259146deedb4585104288af09095cce070fe0513aec9b78144eebb41842a0ce6ec7e5a8c45aad9c765c3f379df448d8fbd07c1667e453b82997b494222cf1fe49f48ea214e216e6f46d195621449f54176dc21d1f75f674304b0c49e150b1a180ea939f490396d0105cd662acb66a2a4bf2c82f7781b38a2a9b13850eda00e834b0d14765921d032fe515d2b6d098c35a8c3b7e35c9adb9351ec073c6f3a5ad104208311448e0d29f9c959414e653e202aa369057646dd78101c561a5b0d00654b1a9c08a433110b9229970db2a1273f662d2549c3a5e68c5a14490b97d3b2b1798b015af6155810d4bf67a925a6fac2a2e17768793ba3edebd1542f4869bcaa20cee7ce8252a0a0b296dffe146a1bab418ab03b06fe0ce8c4d581d0aa0273afb1116b1953b17de498192447a6c38a15106dc6e0fd0be0d781bef0705145681a7aa80426b358eca120a8aed5063a5b0c4861b0ba9db76f1687809cb172f212d238ddcbdc93cb53901330ad5a5f9fee75bf3c82bada66d5c46da0a2184104381a6839f05ed78faaf4d377ceba60b5e1971e13cf3cc3300dc7befbd035c1331d41c3b766ca0ab20fa91b415e27c91b64208d1e6dfff7c9e5b6ffffead4023d0d0fa55dfeefb4640911117218410420821c4a027818b10420821841062d093c04508218410420831e8c93e2e17b1a953a7ca1c632144b7a4ad1042083118c888cb456aead4a9cc993367a0ab218418e4a4ad104208315848e07291928e8810a227a4ad104208315848e02284104208218418f42470114208218410420c7a12b808218410420821063d095c84104208218410839e042e42082184104288414f0217218410420821c4a027818b10420821841062d093c04508218410420831e849e02284104208218418f42470114208218410420c7a12b808218410420821063d095c84104208218410835ee04057400c8cddbb77e3743a07ba1a6288bae69a6bb0582c035d0dd10fa4ad10e793b4154288de9011978b94d3e9c46c360f7435c410241d91a145da0a71be485b2184e82d1971b988399d4eeebdf7de81ae8618628e1d3b36d05510fd4cda0a713e485b2184e82d1971114208218410420c7a43237071db28c94d61deec14acca4057e6748aa39cc2ac44e6c5e5621b647513427c7d49db228410e2623380818b82b3bc84fc94308c462313e725b22465098971b399bd308dfcf2de24831a3061c7ee1a84ff7aeb4c98dc36ec6e4f0f9fa0e0b04922ac10e746c1515e44ee92e9fef625318722ab030570db8ac89a6dc4689c4d4a6e11bd6a6a06935eb72d420821c4d7db00062e7accb149a4af4cc0848ef875db7966db333cf7ea7364875859b37831393dbd8d68b010156d3abfd5ed23bd3982a8e85e241f3a8ac929f677b084107da5c712bb8cecec787ffb92b99a65f116f480c164c06d58c0ba57f6b0ed9165c47e4df3ce7bddb6082184105f73033f554c6f38e307169232e309c14e69b1bdc71d789dbebf2b3600dc95e42fcfa1ca3dd0151162a8d09df680bb92dc8c62a2376e23356a28341a420821c4c563e003970e78dc6e3c8021dcc0695d0b772585395964a42512377b1e89b9563a9de5d1e9b90a8e922c5252b2c8c95842dcbc4472cbdb2205055b611619593964a5c431d1388f4d8e3e94ad3828c949212d238b8cb41472763ada1feca47c3795255bb1567b7095e79191914391a3eb72ab372d246c7a1a56097484e89ebb92dcb43c0cd99b59d159d0d2e1e7cd4d79ee42261a8d18e7e550eaf0df4e511c2564cc0e6361ee3f78213f91894623614b0aa976bba92cca60b6d188715e162536ffe7db56b884e9b35328aa6ebd1da354539493414656166989712c4c2ba4d20da0e0ac2c2227651ef3d24ab1e62e24cc389bac7277b76d4b67ed97b415420821868241b71cb2e2282127e7253c91e9ac4d6a3f0dc241515631a6b5ebd96806c596cbfcf94b591efe21cf2d3b73ae4717e7c65b599e6125fac53dac8d82caac2bf9764e09a9afa6627114935312c5c6e752b1a0909cb39caa5e97eda67cd552f2c337f3e2da28f438285c7825656d879d259d963f37752da9c5c5d8c2b3d9b8712e7a1c14a5755eaede1c8ac56226448710a22b2e2b392905e8566f23736e67232d5d7cce1f798a755533b89f68a22dfee7eb4de198c297919efd1da2f433595d72251bcc91580c06f4cbd6b2beac8414772c3151fe51e5f0f008e2d7ae6459841e7052ba7c29c58b9ee3b9651650aad9b4783e8b5360cf73c9e8f406149b1dbbbe185bd24ab293cbc0a074ddb674da7e216d85104288216190042e1e6c053964e495515c018bd6bdc087c97331b7eb5f28b6023654b9882fcec70ee076131e138de272a1707af0d0e5b9fa70162525b5763e14f40603b81db81550dc0e1c5565e497c6b336c1c2dc95e9e8f5dd977d5a37c851444e898ed43d51ad3fb7107f4b3814b41eefa27ccee84f7557ae25690baf26f5cf6f4088a1cb43555e066576586077a2cc359cf95103bafbbc459190790b394b0b287324916a01c55e823d2a99703d808584d4681ecadb4a95329758bd81d0680b9e3585589d492c33bba92a5348ca6e6dabaa0bc8b11ac85cd77a73461fc1b2ec45e42dcd23bf3299f5736389b540b12e95d484780c0909e0d8445c176d4b67ed17206d85104288216190042e3aa2d2d7b2d1148efdda87a8aaaa439f7afa191ebb0d872189f4cc543a4a47557a716ee6c628aa4b37915be1c2e37003fe5579f451a964c71472ff9d5752127d0f6bd73dc2b228707773bdf69ce53bd9eb3161396dad8076b7390d733b2dff4cddbd0e21444fe8885ebd9d9882c53c74ff6296eb5f645bd2d99fa8ee3e6ffa984c9685ce27bfd046f223e1d88aed44df13753208b22cba87e89c1c8aabd6111b6da7cc164d4c48315bcb1c2c4bb2534612d9ad297dceaa0a6a3c064ced222843643c11eca46aaf0be61ad0013a83ee64ebd15ddbd259fb258410420c15832bc72562059bd7c5e02ace20e78cc9d80a1e3c0e2bf633e668bb9d67a7ef7779ae524d51da42d6b862c95efb08e931ed7b0116963df32eaffce91e22aab772fffc38b2caddbd2adbe356000f9dae50da65f9bd781d42889e3344b162fb8b3c1ae3a66cf942d24acece50ebf6f3a68f223d3d929ac27caa9c36763a62488a6877a2399ef4680fa58555382a8a712d5bcdea04135585a5549697c2a2684e2e45e2510037aef665e9fdc18a5ed7f17cae6edb964eda2f21841062a8185c810b6049ddc8ba1837c5695994b6fb37d7101a89a9ae8cdca2ea53a32b6e2b8556c759d7e8ea5cb7358755d670d293a3ce9e2ee2b0627518885ab69e17dfdd457a780dc50555e87a537684091d364a3b591aaccbf27bf13a8410bda4f7072faba3ddec5cbe908cd2d383979e7cde2c4999c478ca58b366038ef884334666ccc4a446e3b1ae21b74847728c99a8f42442f76ee0a1023db7449ffac41ba2a33161a7d4d6ae9d50dc7874e12c8aee787de6eeda96ceda2fb9cd21841062a818f8c045f14f95727bda6e235a48ddb88e18cf4e96a715d1d665d0cf4d273d12f63e349fc519f9146eca252da5084bbcff96a7c77f33b2fb733d1e3c7515145bab7154965050e600b7137b5539365739f9f9e5b8010cd124c787630937755b767b86984c924d75ecccc8f2af1ea45463b53ac065c36677a074517eb5028610a8b3db71392aa930fc5797e53a8a52885b9843a5f44c84e898c78d02286dcd8b3e8acc5dbb58195943f19d0bc92839b567528f3ee7e6783217e9a82a76b168d1d913caccf1e9c478aad81b954c941ef4e1c92485ba7084df42fb85ccf4519964c7c04b79852777bd77588b71c7af26b9b5380fe06937bad25ddb72dcdd71fb05d256082184181a0630705170969750b0c18a0ba8cacba3c8da7aa7d3b28ccdeb16c04bf713b73083fc926a1422c8dcbe9d950b4cd88ad7b0aac086257b3d4966501c560a0b6d40159b0aad3894cecf35c467b3325aa1f8cec52c2f86e4cc044c9e2a4aec2642751e1c5b17332f318d9c9c1c0a9474366747a1efa2ecb3e86359bbeb4f249bacdc7feda5cc5eba1525c242689405b74be9b27c8bde40e48a64c26dab48ccd94ba825b2cb7215970bbbc3499d6c9c2dc419141ce545e4e55ba9c343455e0e856ded8bdbd57a8fa386e2e557323f25a77554a5279f730331e9cb885c904e7c479f7f432c2b926e21bb2dfad047919cba88e4d43347582da46edbc5a3e1252c5fbc84b48c3472f726f3d4e604cc285497e65358051e6b1e79a5d5fe60a49bb6053a6bbfa4ad1042083134683af859d08ea7ffda74c3b76ebae0951117ce33cf3c03c0bdf7de3bc0351143cdb163c706ba0ae795db9a458ef2081b13cedc3c776892b6429c2f43bdad1042f4dcbffff93cb7defefd5b8146a0a1f5abbeddf78d8032f053c58410e26bc349790924c55e1c418b10420831980c92e590851062f07297e79251e0c26272536dca669bc42d420821c40527232e4208d10dc56da7aaac04ab67116bb3bb5f115008218410fd4f465c2e6253a74e9539c642f48039611b1f1d1de85a0c1c692b8410420c0632e272919a3a752a73e6cc19e86a08210639692b8410420c1612b85ca4a4232284e809692b8410420c1612b808218410420821063d095c84104208218410839e042e42082184104288414f02172184104288ffcfdebdc7b9519d071fff1d692fe3cbee8ef14dbe8005182c206011028890809c38412450440941347d6bb949834873117943229ab6d9246d2adab7a9682e885ccad09437223441240d0830417e4382a029880041e62adb5c6483f1ac2fbba35d69e6fd6376edf57d17d65ed93cdfcfc71fad74cecc399af11ff3e839172144cb93c045082184104208d1f2247011420821841042b43c095c841042082184102d4f021721841042082144cb93c045082184104208d1f2247011420821841042b43c095c841042082184102d4f021721841042082144cb93c045082184104208d1f2247011420821841042b43c095c841042082184102daf6db23b20841042888363606080071e7860b2bbb10bc77158be7c399d9d9d93dd1521c461460217218410e208552814b8f2ca2b27bb1b7bb8e38e3bb8f0c20b27bb1b4288c38c042e420821c411aabdbd1dc77126bb1b7b68369b93dd0521c461480217218410e208e538ce8e7f4aa9967a154288f192c9f9420821c411ccb6ed967c154288f1928c8b1042087184b26d1bc771b06d1ba5544bbd0a21c47849c64508218438824d766645322e42888922818b10420871841a99df323af3b2f7d77e1eb96609ba7e22d73c327080fa35fe63f95ccefaeedabd94bfcaad1ff071e677aafb6d4fe6b80821de0c095c8410428823d4e8c9f9fbfd673ec80d77f570e9873af9d90dab300f501f0760fc65bbd41342887192c04508218438428d35e3f2ea7f6578b03bc6b57f7d15c7dc7f033fadee5e7e1d9707e73373e67c82975fcf837dec28affdf2aff652b6fff624701142bc1912b80821841047b003cf39a992ffde939cf0d92b38e184289f39e359fef5a627e81f29afdec88a4fe6e9bef657ac7fed2972d13e7ef55c1d1c1bd6ddc49ffdc5cfe8bef601d66d7c92dba27ddcff5c7d4ced0a21c47849e0228410421ca10e3cb7c566e0899bb869ddbbf9426436b63d9b655f781f56ee5ff98de996afbd3bc7938b3fc397af584c87ddc5e22bbecc174ee9041caa77fd9827177f962f5f713c9d4e37c75ff165ae3da5130e907191e04508f166c872c8420821c4116cffc3b22cfee77bb7b17ecb16ae3cf1183a3b817a9d3af0adbbbfc6b22bbae95bb7057a16d2ed38eef41566b3704e279d4e9dbef5fb2a3b50bb4208317e9271114208218e5007ccb86cfe15ff7a77271fbdf5611e7ffc111e7ef8611e79fc11fef3130bf9edb7bec7337607dd8bbb61c33afa761cd7c786be3a75a783aee3bb61e33acc1de735d9d857c7928c8b10e22090c0450821843882ed6faec9fa3bbfcd43dd97f089738e66d6ac59cc99338759b316f0eebff80b4e7eee36befd5b8b051ffc04ef7ceddbfc8df1047d58acbde3eff8e747eb388ecdd1914ff0ce8ddfe66ffffd4936dbfdaccf7f83fff3a8cc7111421c1c12b80821ec3ee4a30000200049444154841047a8fdaf2af62cf9ef3fcaec3fba9ce33a762b5f70319f38fd35eefce7bbd930fb727ef0c34fc00f3ec249f38fe3e21f7572c1e9dd74e260cf1a2efbfe473879c1f15cf4a30eb74c561513421c0432c74508218438428d040b4a291cc7d9edf5383e555ccfd58e83721cec5dca67f3913bd771b95238b68d0a7d8aef3f70f5a8f27fd81180749d7d353f287e6ad479bf81526a3fed4ae0228478732470114208218e50bb6ff8d86aaf4208311e12b80821841047a856cd6eb4629f8410ad4f0217218410e208353ae3b2af615b93f52a8410e32593f3851042882354a3d138e0ea5e93f1da683426f26b0a21de2624e3228410421ca1def7bef7f1f39fff1cafd73bd95dd9a1d96cb27cf9f2c9ee8610e23024818b10420871843afae8a359b162c5647743082126840c1513420821841042b43c095c841042082184102d4f021721841042082144cb93c045082184104208d1f2247011420821841042b43c095c841042082184102d4f021721841042082144cb93c045082184104208d1f2247011420821841042b43c095c841042082184102d4f021721841042082144cb93c045082184104208d1f2247011420821841042b4bcb6893ad1aa55ab26ea54420821c661f9f2e593dd05218410e2a09bb0c005e0f2cb2f9fc8d30921843880db6fbf7db2bb208410421c1232544c082184104208d1f2247011420821841042b43c095c841042082184102d4f021721841042082144cb93c045082184104208d1f2247011420821841042b43c095c841042082184102d4f021721841042082144cb93c045082184104208d1f2da26a3d1e6d3c782bd75329a3efc79baf09ef4e264f742082184104288436a5202171a2f4f4ab347047bcb64f740082184104288436e72868a79ba26a5d923825c3b2184104208f13624735c841042082184102d4f021721841042082144cb93c045082184104208d1f2247011420821841042b43c095c841042082184102d4f021721841042082144cb93c0451c19ac2af97492642c8cdf1724962d63edbd22b592413212c01f2beea3cedb8f998fe2f3c528988747fbb549eeaf104208210ebdd60b5c1c500abc5de0ed01efb4e17f8b145e0f38f621687b3a78db80f1b46583b713bc33c1ab8df3d883c92a63c4c3044361c2a1009a5228a508e727e389cfa25aae1d94f396535132be14995c81424aa798c951b176ad33d2b6e6f343650d13d513ab5ac44845f02985d2c2a48c22d58319111d847baaf9c3442261fcda983bb1f77b6996c967138474f75a64abbb95d74ae4d2517cca4f2c93a3547b73edebfe30e17008df98fb2b84104288c35deb052eca7de9df042f3f0fafbce2507d1efefd3b4dfa2df0744e6c73de76f028c071db761c18d80c438380778c27197203163ae1a9ff76b0b681471b3ee730c706af17bcc72abc5380c65efae1d9f598b7ce241f8b90d67b29968a144b15cca76fe68ab9137c11c7aa6a9034aa139fe5b0ca647315349f0e680492456a9534c1d10fb53bdad6d0fd4142fe896b5ef38789f7f612990b8453f4c6c713008cd7c1b9a75a30896124088cb5dffbba977a9068224bb170158beaabb93a92a434ba922f442c9922767e8c542246c8f7e6dad7824972b9e4aef7580821841047b4960b5cbc3db0c984e0650dcefdd3061ff97493bbfe9fcd759926db06c03365821a1aceae300594d77def9d0ad6209cfbb106bf7ad8c13b478de9549e19d0f706bcf78f1bbcf7630d3ef6c5264def70e665e47b4d85beadf099ab1a54d6387866ecec07ecda8f096395310a26fe48107df8232d10279b8d1efa5faacd12e95892d24149f498544dd0f6f59df6d2f6c47f7d0d0de8dc672726482bdcd331dc4bcd17c0b764099d6b6e201acfef96ddd2d0747ddff74b08218410622f5a2e70a10d36f7393cbbd6e1faffedc1f8511b81e3143d5d0ae5003387b3165db8998e050aaf5fe1f5297788d75ce50ef79aa7dca15bd387ebebc3198f05ca1d76e65778da60c5679bbc5c03cf2c050a6c1b7eff0cbcf6063067f8dc0b14deb90aeface1a16473953b7c6da15bae8ef5f097d73579ea7987d2ea763effa71e1a7dc0028577bec27b14a8a3153d33607008dabd0a35d2ef450a6f37acbca649e539f0fad4040e87d3f1fbeadc9348608c1a37a587e284463f349a25b2c904f15898a03f403855d8f9a06995311271e2893891e048d9f03c916880402c4f211542577e1245731fe73229e5b2142a7536147b89c79318558b7236413c9124110da2a90099ea3ebe8655c148c6892712c4c24142b1ec8e8766ab94211e4f53aad729f5c689c5531476794ade5bdb23e7b5a8e412047585f285499747a506f6774dc6c4a29a4b108d2648c6230403615245d3ed4f36865f29943f4e6ef8be58951c89808f48a684b9cf63c7714fc773df7e761fb95494a03f4ac1b2a816b324c20142e922c5f4f010387f98f448fff7753d77e30b67287c69291b6e8b11cb56f69d69ab9576697f640e52205ea0921f1e76a68fba3f66995c3a365c7f7fd75a082184104792b6c9eec01e6c68d8304b872b2ef2c0891eb63cdd64eb7698bd40f1e46a9b1fdfd9e49a155e669da1f8e94d3695171cce7b9762c11c58fbaacd7b4ef770cf4f6dc2672afa2df8c7bf6bf0c98f7a38deafb8eb273695171dce0f293a14fcfbcf6d66f6c037aff782d70d4c66ce806317c2b63fd8dc7093cda9272adadba07b1a9c7baea2704793334ff570ef4f9bbcb40162577a78fd7558305b71e2191e4e5cecc07687dc8d4d5edf001f082b9e7ed6a6a35df1f5cf78510a1ebcd566f5630ee79da53861a1c2b8c306076e5eeac5db09f6d0045c4b2d482abb82fc85b7b0f2a422c6e73264d33102be0849df48a52a46c2c097c962f8c02aa7089e7e21b1c0ab14e316d9689c52b28811d1b14a71fce74449446a64751dabbc86359a413996a277451ef40dfb3e572243c2b88572a017c308a155b38473418c62023f16f1648cd25ebf448d7c2c82112d528cfbc1aa9009070947a1524ce00f25318c00917c09add72017defd677c9dd0ee6d639207ea6583423c45a192c0889c4e6faa40a21045dfef35f1eda58f7beb768e58bc40a85421138452c2cf39c91c89728250c2c0281658560e101c1e1ba5f903f8436952c9107acd20b28f63fd63bca7e3b96f43b3e7e0b32a3c5ef3bb7df1e9d4ca6ba85806a5642f858762a4632bb92e9a2058cd11d9e37aeeebff9f4e289de7e6729095574749054b6442fa1ed52c4ddfadfd005a650d6baa06f9488afcf0fdb92e9927518ca1591a7aadcce36bfd07bcd6feb1dd2d218410421c065a2fe302e85d8afa109cf9c70dfe724583be6d70f2f18af2130ef16b9bdcf7a0c3a7bedee4e9871d3efe370d7e76afcd87120d56951c92e9268343f0b97f68f2e3bb6cbe9e75e7c67ce5db36773de070d9e71afcf45e9b8f7cbac9fffcc1e198796e2686263be6d774b64367075cfd85063ffab94dec0b0dfee9874dfefe7b4d9eadc037be6ff3b51b9b7cf19b4dbeff9f36cb2f1ee207dff1f2dc0b0e7f76d110f4c06f563b5c796d93979bf0d96f34b9f49a268fbde0f0d1ffdde0dedfd87cf8330d6e2fd8fcaf6b1bdcf31b9be38f56b4b7e3ce7d19db08b531f1450cca8fddcc8aa526ab6fb89293f4207163e78a5b563943ba54a368a449a7d364722681f3cf46abd5304b69d2952089b0fbb0a9057bc9fe4b864440c7170c13f643a73f41221a25691824b8719fe7dafdd776cbac522d6548e7dd7927a15492f09ecfb450c9902ce8c4227ef7bd1620de1b455bdd4bbaf4d666cb74061324a3417cbe20d1c822ead50ab5035c9331b7a80588c662448727bb68ba0e6615d302d008a5e22c5a93c518ce2258e51cd568c47dd0deefb163b8a7e3bc6fd7be7729c1f048d4a3e10b0409f9400f2549c642044371b2c615f4f4e5c98c7bac9f9f782ecf558bd67043244e6e2f692b4d0fecd2beeef713f4414f30413236727f9640ad4c0d37b00947fcec98d57380eb25841042882343eb655c8046d3cd7c048e539c780a783d3053876fddd264ee6cf8e52fdb092f1be2939f6970d1f91efee3c6364e7ddf10430d98a9bb43c502c72a1ef9bdc3a34f3bfc55c2cba7feb681d703179cabc87faf8db32e6da077294e3b51f1f18f78a053c11607a5a07b3afce63187275e80ca5d6d7cf49a268b8f718791fdedb79a9c7bba87ca8b0e1fff630f9f8a7939e143432c3c45f1c4ff6be384f73438eb2b4d9e7fc1e1fd672bfee19b6d9cb66490af7ccacb97ffde4bfe5d36f52138daa72817dab87045839736c0394b157f7ea9077445739d839ac090520fc631ca5192468a44f2266e59793ae5da63945241ac4a99aa1e2399daf3d7e95ab6448d08fac84fea9a9f6832b1a35c03345ddbf18bfbfece05bb3ef06ac104bde12c2b2f3d96dcd95791c9a68907f7ec7bad54646d5ddf65fe861e8c10e0364ae51a6f6996fda8736a3e0d2c13cb3ad0f718233d44ca0852c96748156b58551346853d5a304162c90d64b2657ab3014a399368af6f4cc7c2feefa9591edf7d83bdcf0fd27c3bebe8c118416ea3563581bd4598fbbb166132851ba904afe6ca68866021bc675bbbb4bf6767341f605958d6c817d0a073f89a8ce17a09218410e2f0d79219976dfd0e1d6df0a36f7af9dc17db9836c59dd86e6e8519dd0aa62b66f428d6bce430a31bd061ee4c181880762f4ced82a91a6c1f00ab0eabffdbe68b9ff6724e50315087463f744d75cbb60fc086d771331ddd30ed2868f3c26b9ba16b1a304b316d0a2c9cab38e36445ee6e9b534f80a3e7426787a26b1accec51b0ce61f1b95e9efa791b5ff96693ffbccfe1eca5ee7265ddd360fe6ca0cf3df75003e61c05cc501cd5ada8bdee3060c1864d6e3f262c68b12a18b9eaf01b9d603c4ba9fa009f5b028ff7f652b2c0c2a25e2d50d9ed8774b3666101f55a85ea6e6596b5af1d52f67dae3df98917aa3c76f355042a37b1f2f4a03b47668f935a80496d7491a60f3fbb4ef4eceee1ecc7b8bec7aeb49d511c462c44aa16a6379326b923a33022402cb9940db90cc56a911cb19d19a7fd1d3ba67b3abefb36269a8edef9e6afb9164890cbaf60eec3d710491627361b72c06b2d841042882341eb052ecacdb06cea83bb56d96c586fb3653bf45b10f02b2a2f38bc787f9375af3844cff3f0fb350e4f176dd6be02b366c04b1b60fd7a87e7d639cc9a0ef3662bfee52b6d747ae18d3e30b7b813e4fbb6b901c4d6ed6e86874e78f9397860b5c313cf38bce734c526134aab6c7ef794bbd4d7bb4e71c770bdfb740f3dd3e0d13f38fcea619b37fa1cd63ceb502dd9d45e73983e1d8ef5c1fd2587feadb0b5df6d0f07b66c7383aa9736c013459b352f3a1c3d47b179abdb9f89bd2326e55c81eae88ff430a9d4d950777fbdd6fd41e6f6dd49ca183579da2c902d54f10583f4d40ba4f3a3c6f7d4f264f6b1ebdffeceb5876a814275f483f75a8c4c698fdfc9f55088b954c89747b56999589d4b88860ece03eab8bec71ec7fad000b390245108908c07f73907c41f4d71be95279534d0633be78aecffd803dfd3f1deb77db14657376b982c22fc16aeb92f92a5f00f4b597bcb35dcb47b54f5168ce55a0b218410e2f0d77a818b0d7ab762d60cf8f3bfb6f9e0071abc547398d9039fffa407ff02087da4c187cf577ce7db5e5e7b03229f6c62d5e182733d9c7daae2ac5883f676f8bbb497334e512c3e7f88bbef7738e314c551c3bf6acf9e015334f7b5b3039801dff9b726ef5bd9e07d214564a5870f9eabf848b249ed7507bd0b8e3d4e71dc42c5dc99f0893ff1f0e0a336577fcde6c3e779f8c35a87b3234344ae6a92bacacb7ffddf367eff8cc3ca8f363876c170bb36cc9f05d3a682d60117ffa53b1fe7cfffd483e338681db8736d2690554a114f97460dd4aa51cc57987b4592900e5a284972293c7e4d90703c4d3693221635f0470268c12489257556af0c134b1b18d914d1589ec0f0c3abc5704264d8fece05a0ebd057a950ab96f8f963ab48a78b6ebff410f1c812fc813d1f8ab5608adef3e19ede2c238b4a550b0666244d3c30f2252dac7a1d733f3fe38f6ebb5071b349fb1a4d74a0ef31eaea528afb50811465cbc2d296108bf977f4a9de57c42854a8967264f255306b544ac59d1b63fa222423f07839406cf486240738f680f7749cf78d91f7f55d3fab95cb3b5652ab15b254c3bd24037bbf9e7bb0acbddc0f8d60aac08f2fe9d9e3daefdabe35be815e63b9d64208218438ecb5dc1c17bbcf5d51acfcd37636990ecd06f8172a3e741ecc9c0bb9ffd3c67f3fe970ce590a3a14bfbebd8d279f7458f9d70dccad0eff76a3977b7fe1e19ca062da54c5373eefe183ef569c7fa64275c26927b6d1d1013fbabe8d291a84cf7487a2d9cf3a5cb3c2c3c5cb3c9c73ba82d721f3252f2ba30ebed930a5534113ca3f6ba3ad0d162d56fcf6d636fa07e0b8a31553a6c1a2b98a8e767847c85d5af999bbdad8b01116fb155e2fd89b1dfef3876d3cfb0787fa10fce06b1ede7586077d16fce87a2f33ba14f66b13ba0325d0c7eaebce61466629e7077d609a68a12cc5746478a6428054e16ecc7882cc2dd77175f102be64e488f90082a48b7760c512dc70dd4a8a4b579036b2447d16957c9a6c09eaf4d29bcf928a06d0f77b2e9d6072054ba209c2c90c775ed7a07ad33202952b8805754c2b492ebdb75fccfd24f245ac448258b84830a0831e279f8be203a815317a7bdd15c9d2bd185a9ce8a83d4e5ca3dbfe27befb2779b7ef7a866cc147542f9331d6c05ac8e6caa4e3c1fd7c8fd134fc91084b721962f11a91749edee100448ff4f2a5b3a35c7f6998ca5519b2a928b968915ca597687867bf22c9389794e3bb6ca4b8df6343e681efa936befba6550b64b3650032990281a4dfed8899239928e1a346d58c92cbc5dd6bbedbbd2ce442bb5c15b394c7c864595d28d29b834474f4869c3e6246817262e71a72d62eedff9ce927ff16a30c7dd52c46d14f542bedb83f995c894c7cd795ccc676ad8510420871b8dbdbfa55ed3fbdedd6c1651fb8705c275ab56a15975f7ef998ea369f9a09f6d6bd173aee0ef24ac7cd07d9403fd001cd3ef04e03a62b301d9afde03d0e7805bacf1ae2ae1bdb78cf1f291854b0cda1b979b8beee4ebc7706414d779bf64cc7fd85b7131880a685bb374cb75bb7b965f8fd34dc2cc8489d1ef778a709de99b857b0ee9633c37def6c02bb01de59c3df69c8fdd71c00ef6278729543e84f9abcfea017ed5845b30adea3dcefd9acb3ff3c98a70bef299bc6749d8578732aa4032761c49fa692da3dcbd41aac62143d020533cf1e2b60bfcddc7efbed2c5fbe7cb2bb21841042bc690fdc7737975df1b1cb709fa8fb87ff6d1ff5f70060b55cc60505b6036cdeedf3e107fae60030309c956807fb15680cc20337b771c22285fd0a388d9de5cd4160e3a82cc616f7a53912370d0ebfb6ed79eea6c5ae435a1434878fc703cdddfb383a9ef0eea5dc03f63af02f50ac36bc80db5fbc6e503652470871009685e60feeb2da9c104208218e6cadf998ecb813f4bd5d07ded2c4ae4347179c71a187eee9e00cee56c1016f1b783b70b337b8efd5ee276e82770a783bd939cfc401af02afe61ec304ec68ef0cc2f4e9704658a1758033111b4d0a31c14cc032c739d7e46033cb1869839209a6691188c6658349218410e26da4250317a5dc15b6d63fefe0f1826a82b7db1d9ae59de10617de19ee30b0b679b079233cf76b1be68177faf0bf1e77f895b703cc3ed8ba05bcbee1e15f80a7cb3dde3b7338305900afbc042fbde4b89f750e0fdf9a01dbfac0dc06def9c3c74c77cb3c0a9cf14e49f14073089a3568dab4e81d106f5b569542364d7e0daccd65308a7bd93172b25865f299959c138c902a27307a03b28a98104208f136d27a43c5004f0fbcfc2c7cf5bb36999497e973e10f6587cd5ba0a3034e3b41f1d8ff382c9cabe8990f37fcc8261454d0edd0d5546ced77d8ba0d061b7076d04dad6cd8e450590b5a1bfc7e0d2c5ee46e02f9dc3a87a54b140303f0dd9ccd7bdfa9987d34a87e58f382c3eadf3ab42bf8938f78787095837faea269c3abaf3984820a0f6f227811a255697e2209834ac298ec9eecc917275f8b4f762f8410420831495a2e70510a9c4e5855b27961bdc3bdbfb5b9f4722fbf79cce6958d6ee0925f6573ca098aff79cac16ec2fc39f07f7f69e37b08babb14fe05d0d10ebf7b12a66970825ff1fddb1d16ce05ad135e78c9a1b649d1b41da674c06f1e7558301b16cc86552587d93ae4eeb139eb1d0aff5cc5838fd97cfb8736be99f0d8930e56dddd0bc6eb8533dfadf69ccb2284104208218498502d17b878da60e3b30e5335f8dedf7b79fc2987d79eb339ff4c050e0cd4e10fcf43478762fe1c07db864653110cc0b429ee6ef7679ce261b6ee708c0f77952f1be6cd814b977bd8bcc5dd93e584450adb81df3de93067a6bb29e4b421c58c1e87dffdc1e1b413151d1db0680174767ad8b009b40e77e8dab233dd63ad3a13beef8a104208218410624f2d17b8341bd03d5571c58714f4c0e2050acb8239b300076c1b969ea1a8ad8559baa2ad1d5e7a15169ea0e87b05a674424727d84d4528e80ee3b26d48fe9907c786057315a79e383c337f1af8662ae62f80fa76d8bc157c0b15afbf0ab38e868d6bc1b61d4e3d494127bcba567154377476833380bbca581f075e4140082184104208f196b4ded470db1d0ec674dca58bdbdc9ded1ddbfddbd3016c07df02689b027860e122a01f7a6642c75440b9991b14a836f0b6035e501ef73d1dd068c0b68d307fb1db66e754f01d030cc0ac59606f813973c1e753d0007b1bcc9b0f9d53c0eedfcbaa647bf91ede294dbcfa10de394378e736f1b635276465b283cba25632484602f863c5d65a556a3fcc7c149f2f46c13c705d218410420871f869b9c0457900050fffc6a1af0f06eba0a6b89f0f5a501f00346010b6f7b163a8d6b6ad4087bbdcf0d6ad50b780a9d0a8c340fff0b2c3ca3d87d3807ecb7d6f99c0f0e47a6b33d0e9eedfe238ee6690cd4177f52fc7713f6f0eb9d59bb69bc9d96bb6a509dea31a6cd83085077e750cb7fefb7c7ef9b3e9d0e5e09d378472d48e360f36ab5ac44845f02985d2c2a48c22d50344239acf0f95354ccc7a5216b5628e745447298516081389460807fdf84331d213b46a95e60f13898cdea15d08218410421c495a6ea89872f765e4ee5f3b3cf28443f774089daa5874b4e22777d9cc9fa3786db3c3d010f44c87f676e868576cde025bb73bf44c879e2e85b9c561a00eaf6f7627d12f39160607e1b975eefb938e03af575179c1e198793053573cf6b4c37bdea938f50c85dd77c0aeee93a7bbc1d3951e1e7ffa288e3b610b53ec26dffab719fcc37f2ce5a6af3cc129a79bd8b576378b7490879969fe30f15e8da2710fb70453f4c6c30758425643f70709f9213b313dc0178e91d40a64eecc11ca16c88735a08a1109b2725998da636532c1b7167168c1248631211d1642082184102da8e5322e4ed31dcef5ae53e0f5cd0e9517e0d975303408cfaf7758ff8a43f525f078e195d7e0f92aac79d1a15e77b8ef2107bd076cc73da6f4b83bf1fee4e3156f98b061131c335fd1331d9e5b0f77fddae1941314d6003cf9acc326d3e199aa839afae6a309a51c94af8dbfffd614d6bff406675df83a7f7ce9660ab7af63bebe8d73575ec243bf9e89c737843a64cb286b6840a736f6e060c213179abedb077e62a9083dac216f540e9b216942082184106272b45ee0e2806dc1b2b33cfcd9251e424b21b25cf1469f834271eae98acffca9872b3fe4e144bf22f2410fc72e54dc71bfc3272e53bcff831ee6cf86d3038abffd94970f9fe721b454f1fe90878b9779581e525cbcccc325cb149fbe52f1ae5314175de0c1a3e0f7cf40e07805d69b8f281cc79d13f3ae776ce58bffd4c9d3f777c3162f34e027c6637c28f41c977fe98f78f1f71d78e60f41739266f65b158c649c7822412c1c2414cb52da7d7e886551c92508ea0ae50b932e5b8c9e03138817a8e413847485d247cac7d105d3c402f480be6ba06496c82613c4636182fe00e1546178d89a45399b209e48928806d154804c15a895c8a5a204fd510a235db02a18891889749a44d81da6a6fc41c2c9920449420821841087a1961b2a06eedc91695d70fc2cc5f1a77ba0cf61da14c5757fa1e85c00f4010d78ff85ee43ff14a5f8eaa73dbce36405dbe01d4b15ef381be8c79d0363c3f41edc615923c3b33c0abc401d68870bcff3f0de77392c5ea4b0dfe2046f7b9d4df22f8658726c83cec121ec2185bdb59db60543dcf8c5df10f9e2297ced87efe707bd77e399dac4ae1feaf8b1463e16c1881629c6fd6055c8848384a3502926f00fd7aa970d0af114854a0223723abda902894204cd1740abac614dd5201f49911f2ebf2e9927518cb17b6e656fac6a8e64f21eea4b3f4726e61f5552c54818f832590c1f58e514c1d32f2416789562384f3217c42826f063114fc6280196a6e3b32a3c5e1b398f453119a1d7ca514985d012414cff851423590a9990ecb62e8410420871186ab98c0bb82b763507a1b9159a1b1c1afd306b26747641e3d5e149f20d68be0ecd0db0f01878c7990a0687cbb642f335686e1f7e3ff2f9c0f0847b0b9afdc3f586db997f0c9cb854a19ce115ccde02bbe9858126175eb689e3160f616f5128af43f3e5367a4e80ebaf7e94079f790fab1e98895ad4c47ba8c3c74a8664412716f1bbefb500f1de28daea5ed2a59df988ce6082643488cf17241a5944bd5aa18686eef713f4414f3041323652be046ae5034ce8af53ce2489877d4c393689997a88574b19c2a3221dab9c215daa5134d2a4d369323993c0f967a3d56a9866956a29433a5fc54223944a12d641d30304c3bed12721975f8b1ef2b9418a1e241a800d959a645b84104208210e532d997171778d1c7457de52a03c1d348780a1064ad940bb1bddd883e0710314fabd80173cce9ee7f0760c8f411b7227c7ec1eaf8d9c63fbce43df52ef3d0ecda68297dbddf72357d90b6c569c71ccef587ecec5dcfdd41fb1f0be9b99d3d364f6b15eb0a0b17d7865b583a8562ab2b6aee31b957ad0831102dc46a95c83d0702431aa5cf36960995816b097b9329a0fb0ace1f27db5dc493099c1f005a89c740da5928996d8b586552953d56324533b333fa37a496f38cbca4b8f2577f65564b269e2c1e1f67769d37d6356dca1681a1a9a063d7e9f645b84104208210e532d9971812678a681b71b3c53a031e8fe736cf04c75d7246e0c42db1c77ad64cf14b09bee67f6905b3e34e8d66d9be12e27d61c82f6d9c3f58676ae8f7c8839dbbd4c3b0edeb5f00e7ef81f9bf87e6e2a0f576dfef327365bb741db2cb56389e789b6e3e1deb20093dae821719a3bcf44dbef04fe09ca570492e46e3c9f0db7c449eeb6f18a8545bd5aa0b2db703db366017ee285c47f659700002000494441542a8fdd7c1581ca4dac3c3d48a2b897717d5a80447229b5bc41d902cc3285dad9a45241095c84104208210e532d18b838603751dd97a0667d1ad5f351d494d350ddef414d5f06da3b50ddcba1c30f6d3ed4accfa07a2e87aef351dde7c2d4a5a8ee65a8ae3351dd17e1e9be0835ed9da8e967a2baa3a8e9e7a17ace83b699ee126687988d82d91dac79aaccb6375e2770eae95cf40198b748f1c39ccd1b1b6cbc333828fbbce8c319073d14622e15f2e5510ffd9689d5b98468c8b7cfe327923f6170e3f926b7c412e4477543f70799db7727a9d12b8d9905b2852a540b14aa3ac1789652f5013eb7642d46666f93ed3582890cc9500da3374d265b2264144805246c1142082184385cb55ee0e234c1db05d830f432e0807e214c09829a8a9afa6ee80c407b0f308463fd1e1a1bf04c0bc3d433511d27c294b3a03b02f6000e5ee83e0fa6bd173c9d3065294cbf10bc47b9d997c9b0a141f4826e565c7531ab1e994df51138f7320fa72d86effc9b03da44e4822c4a711f2a90a26c5958da1262c393e0b5608adef3e19ede2c230b81550b0666244d3c307234fb49b058e3cfbd582650c7b4468ef49330b29c6fdd462c66501dfe540b25492e85c7af09128ea7c96652c4a206fe4800cb2c924e173101f410f1c812fc0137d0b22cdc85160030c9c7e314f430a1a01f9fdf8f5e2b53aec90c172184104288c355ebcd71515ea089d39777d745f6b443fb3c68bc01f63654238833f4123436814703ab828383633d09f6805bcf3b0d542734df708fb5b7016d60f7bb134e3c53dccf0ef9acf8619b6cde7d4e3f35e5f0bd9f9ccad3afdc897fd310effb23c56daba672ff7f7978ff45db686ef4be854634fc91084b721962f11a91749ede1d9b3cfa49e48b588904b170916040073d4e3e17c58745259f265b82ba9e215bf011d5cb648c35b016b2b987f994ef0e8c32f455b318453f51adb4a33c932b91898746ad2c66512be63132053600666f2f06096291009a3f4e2e9bc3bf7225c1509154324532162055b81b339e2073cb755c5dbc802f1939623eb06a16d59b9611a85c412ca8635a4972e920540b64b365003299028164187fc847359d227153dfce7886255cf540896c782ceb9e09218410428856b2b71ff6db7f7adbad83cb3e70e1b84eb46ad52a2ebffcf231d56d3e3513ecadfbe95273781897029c1d93f4dd09f78efbb7f2ba7fe3b8b3d947b2271eefa8bf3deedacaa34f0dc3e7f30ccf9a3fc8bb40da0a6fbb0d5d0d37bfb5dd0b750f3843dcfa509cbb1fff301ff0ff252b566e040dfef91b7378f195e97cfb5f5fc45edb86b3fb1df274e13d65d3c1edf361af462e99c1d79b1eb5629945ad98219e0b91cf8665ae8b3862dc7efbed2c5fbe7cb2bb21841042bc690fdc7737975df1b1cb8001dc0d4dfa7197cd1af97b00b05a6fa8180ee001d5ee0616aaddcdba8cbcf70c7f86c70d5e549bfbb767b8de2e7f7b77febde31c237f7b39e8410ba03c4d68f3f03fbf5bc88f6e3d8eedfd5ee86e8017b48e7e94526cda3213b600dbe1b440374f558fa2b9cec1d3f116d7657e9b320b097aabe11d8ba3b9347c7e1ffea0ac2c268410420871386ac1c0e5402669a7f937c9b3007e74471be9ef0fb1d05fe7f67be7015e9802533deb690c0eb0c1d4609b5b7ffe1c0fe6769d17d76b30ede007564722b35a63cd9d491246918a69615916b5728e54ba462c1698ecee09218410428837e1300c5c0e3343a077d90c0d3558f6d11a1b5fdf4ee1ee29b000dad41674bd9bc1e651f46d05dac0ebd9cec0d0545e7ea31b34c9b8bc19fe449e07fe25482515e1a4195398a20788654ca2e91432bd4508218410e2f0d47a93f38f30cd9ae2e2e50e17beb71f5e6f3243d7b8ffb199443eb986cece763adb6d061b1d6cdd0e3dedd06c4287d6437db02961e59be6239ccc514a4e763f8410420821c4449147e3834d299ca1266d9d83b01dce38d9cb73afce841741ef6a62db16db078668d8400758836d349a6d349bf5c36d549c104208218410078d042e079b02db5634eb1e682a4e58f01afdf51eaacfc02c7d90a9533a9932651a8d06d0066f6c1ea2bda38b368fe750ac1d208410420821c461410297436910baa60fe29be7e3f1aa8f36cf20cadb86d7a3f028a00ecfbd7214dddddd74760c4163b23b2c8410420821446b90c0e510721a5e686b30abab8f175e9dc58065b37dfb2083759379b3a1f93c949e9ac5ec6e9339dd03ee7e2f8701331fc5e78b513001b34c2e1525e08f52908dea8510420821c404393c9e8c8f100e0a14ccec1964a3d9c56b7d1a66df769a83af316531fcf677f0c26ba7729cef158e9d0f0c4cf424179342228a519dd8b36afe30914818bf06a0e3a3c29adabea316ab9a2311f6a19442f982c4b36576ad6d51ce2688c6e2c46351e29912e678cacd1299789458224932192716cf50daf5044208218410e23023ab8a1d6a1e5838af83c7dee866e3a637e8ef1f64b1be0ddaa0f4ec3c94760a0bf4229d4783fdda04c795b53ce99beea4a65788a7276e3f132d98c43046def809867cfbae6c95e98d6530a3697e1c37296452dc727518d357251f75d72aaee56244b2218ae51401aa64c361627a9142dc3f8672937c3c463e5aa21877fb51cd8608c50354f2116435642184104288c393645c0e21c701bc30a36b106bb01dcb5e48bd3e4870b189b30ed66d8fd2e97999f9dd159832f173f32bb93cdad93dac31d2940ee2302e6d3f5bd35b9522be74815c2a4e2c9ec428165831b78f42b6e4665dac32e9d49df81231dcd0ca4f34e1a798eaa5688da5bc42a164a2e93b3be1f3fbb02a656a07ed1b0b2184104288834d0297434d81d6d1a0d154f437e631686de298197ddcffdfb3d8d8ff2e8eeaf81de1338660d304df1aab84518e92357a59ba2147bab0fbd8298b6a314b221c20942e524c47f02985f28749174dc0a256324846030462790aa910baf293f8d97de4525182639cd3a205132447ef02a90789053a77041a56c520bfb687406067d6460f04f16d28902b5b072c47f3130e5adc934892af01d428642b849223818e1042082184381c49e072a879a031b48d7ab39b8d5b16e29bf610db2df8edba3f63fbb6ad2c99f30873cf007b9b77429b358b3988c7f007e2f45e0077a6f37b6420349f4eadbc864adea0e4efa5f0d0cd5cc16aae8b26dc89f79a8e555ec39ab2413994a2774598e367cfc16755787c3f735a766b65f79e51317d44124134c0aa96598b8edfb7b39ea6fbd1d940b96a1eb01c7cc4b20697700b9706c2c413490ad13cf9847fdcd74c0821841042b40e095c0e210560c3f67e18b2a7f3d40b1dcc6e2bf0e2e645bc31f46efa37fd8a2bdeb709fad5040f13ab5128048987354027d29b60d1c3698ccae83a1abe4090900ff45092642c443014276b5c414f5f9e4cc9c2170c13f643a73f41221a2569185cfbdea504c3fb99d37200562547dedf4b7a380b6399a6db975de29be16c8c691db01c007f0c2377154bacd5dc72d3ee13fb8510420821c4e14826e71f520a1a606e85c1e60cec379ea231d4c3f13d9fe50fff5de19df3efe3940bc07ea16d38ca9920951c46b9881e2b0c7f60a275ae21932991cc86f6c881683e6dc7677a304690dba8554d404703345ddbe598fdcd69d9bf2ab974956436857fc7b974a086353a8163995880aeeb68ecbf1cc02a6788a5fde4aa8f514a44b87a650893f28ec9fd4208218410e2f02381cb21e4f134c1a3786a8dc9abb5d7d13b5e65fabc0ff2876a0fe6fa7fe34bdf1d803ecf04675b2c4af92aa97c9ed1534baa9920c7f6a629a6f344f6b7d496a6a37782f5e6a3937d3029653258c90cd151091b2d10642e39aaa6c5ce4c4a1593b984fd1a9ab6ff72a89089a5d13215823e9d60be841e0d726532453196233cd15f4308218410421c123254ec509adea46e4ee1b9da7cb6f75558bbfe358e0b84b9fbae5ff057ffeb29669fe6a1f99a7762b32d6611a31625b45b70e28f2658da7727e9fc9e6b6d59a3c75699354c1611dedf12c7e3665131d29442bd2482da8ecf2c0bb4408ce8dc0d94cb3b3b6156ca6c981b211ed40e588e59a150d546cd81f113cba4596a55a9c998312184104288c396042e874a039807f73edcc5634f393cfbf4239c163c87fb7ffd32f16505a29f04fb590f4cec9c7c2a46063312dc633818fe30b125b03a9da1b2dbbcfa5a79e7d2c1b542966ab897e4f0925c16ec3a4c6be47d7ddfef77ab4d251b27590e10304b140a050af91ce9781ca306682152e90ba81a79aa0054c91b352e48a709696328d783c44326c56275678b66152d146742632f21841042087148c950b189642bbcda10cc70a0dd038e0dfdb8e1611734d775d07be3145e7ef1d79cb67429cfaceb66e9ec7fe4afbf3a04afb4613b1e949aa8816226252349fc9a7b302fc992f72789067666372a79834215a85f4f34ee23934e10f18f1c9a239928e1a346d58c92cbc5f16151c9a7c996a04e2fbdf92ca96800ad5a209b2d0390c91438f652b863e47db6402011c13f2a6aaa642204af594d9ddbb8e78651dd5dfa2fbc38dcbe3f9e236f2648c6caf834136279f2f19d51c7fecbfdc4f3796a8924b14490a01f6a351fe95c62c73c1a218410420871f8d9dba0a4f69fde76ebe0b20f5c38ae13ad5ab58acb2fbf7c4c759b4fcd047bebb8cedfd21cf07840f986187c057efc5f5eca4f375938174e0e7431586f3075411b5ffbdbad3cf8044ceb3a0aa7fd34567ea8ccb7bf6982e5a5b9698cd9164f17de53361da42f52211d380923fe349594ec7a22c4e1e0f6db6f67f9f2e593dd0d218410e24d7be0bebbb9ec8a8f5d060ce0feecdf0f6c1ff5f7006049c6e5adb215de190d706c6ebd058a4f7d085b7b3f7317cf423fee18669d763253a74e439f368debfef931bef1f5cff3f8a38ff2379f78942f7d790b6cf6d2dcec05efc44ec9174208218410e2482281cb9be580d70bcc19e4f927a0580ef0eae017495cf351ce3875da2e55376ddacc430ffd9af52f5559b77e2bef3e750b5fbabe139ef5d0d8ee45b550d06232bc5f0a7b6e15298410420821c46491c0e5cd70c0db09740d717b0ed6d5ff8af75ffc558227ed7a39bff39def70c71d7750ad56a9d7eb1c7ffcf1ac5fff3ae79d360b6a7d30a85a2768b1aa148c34f935b03697c188a449bc858d25851042082184984812b88c97039e7607a637f86e16fa8ffa099ffde2e5748caaf2bdef7d8fdb6fbf9deddbb7a3691ae1709865cb96f1cc33cf70f4f1614e3be65178ed17e06da145dd343f91844125614c764f841042082184d883042ee3e5809adde0962c6c9ff90baefddc453b8a060606b8f7de7b59bd7a351ffff8c759b468114f3ffd34279d74129d9d9d341a0d8e3ff91d6c786a1574803dd442818b1042082184102d4c0297f1b015def9433cf84b787ae07ad27f7dd12ec59d9d9d747575f1d5af7e9566b3c99a356b38f5d45339f3cc33a9d7ebcc9d3b97bb1f7809ffbc3ab4833338913b4d0a218410420871e492c0651c3ced360335879f3f72169fe9fde22e65f57a9d7beeb987e79e7b8e5aadc6b469d398376f1ed3a74f67ebd6ad747575b160c102162ddc86b6fe19689fa42f218410420821c4614802977150b31bfcf2fb30e7c4cf73f4ecddca9422180cf2e10f7f18af77df1bb2bcbef636cef36d817e19263656663e4a20a161547244f4c9eecd6eac2af94c8662b94cbe6812ea3530124159914d082184106282c9d3f3580d2ffef5dc269de0191fdca3b8a3a383638e3966bf41cbaa073732b4fe7a162c8566fdd0c48c56b588918ae0530aa585491945aad6c16cb08c110f130c85098702684aa194229c37dff429357f9848248c7fccd18045b55cdbebe7b5628e745447298516081389460807fdf84331d2c5bd1db3ff76caa928195f8a4cae4021a553cce4a81ccceb2b84104208f1362581cb1879bc368df5c0943338edd419e33efe8d6db0eaf63817beaf1fb679411d9a6590357f98786f2f91b94038456f7c3c01c07899e46311d27a2fc5529162a982f9f4cd5c31b7f32d9d550b26318c0481b1f6bb6a9034aaec193f68f8c23192a92873e924922d50c81728968bf4ea05ae5b1626591e47d46195c9e62a683e1dd008248bd42a6982926e1142082184987012b88c916a7758f7124c9d11644ecfcecf2dcb627070f080c77ffdabd7f38153ee66f6124573fbbeb33207878606746a07f989da2a63144cfc91202323bab4409c6c368aef503dcc9b25d2b124a5fd2578b4ddc79bf989a522f4b086bc51d94bc0b3cfc6a89a70b02fab104208218490c065ec3a159bb680366dc12e1fdbb6cd2f7ef10b366edcb8d7c3366c34f9ece7bfce92ce14efbf1cec97dbc033d99b4e5a547309a2d104c9788460204caa680226a56c0cbf52287f9cdcf09827ab922311f011c99430f7792c808edf57e79e440263d478293d142734fae1de2a6324e2c4137122c100e154811a16b59241321a2010cb534885d0959fc4cfee23978a12f447295816d56296443840285da4981e1e02e70f931ee97f2e4ba1526743b197783c89511de315314d2c400fe8bbce4f314b649309e2b13041ff485fc12a6588c7d394ea754abd7162f11485dabeeaefe3bb15cdfdd78f0408c40b54f20942ba42e961d2a333427bbd8efbefb710420821c4e1eaed3d39df01e5014f870d438a6653c1be5628ee68b2b50e83ceaebbc94f9d3a95f77fe012723fbe99f6360f8b171f87d615a0bf7f3b8d811778fca957595ff931fffc77c01b5e263b6401a09623162f102a55c804a194f0734e3247a29c209430308a059695030487c76669fe00fe509a5432845e3388ece358bf1624955d41fec25b58795211e37319b2e918015f84e48ecb56251b8d534a1631223a56298eff9c2889488dacae6395d7b0463328c752f4aec833347b0e3eabc2e335bfdb179f4eadbc868a65504af6527828463ab692eba20982d51c91448684710be5402f86111ad32479ab9a2399bc87fad2cf9189f9479554311206be4c16c307563945f0f40b89055ea5184f62180122f9125aaf412eacb9f5637babff22b9e09edf0d7dc33eceff22f97000adb2863555837c2445be92c0889cce75c93c89620c7d9fd7d1241faeeda7dfbe7d5c052184104288d6f6f60e5c9a0e9e990a6b63079adec0ebd834b67851debd8717667f179d3df301f8f92f7f8387697474f6b3fef9e768ef9c817f4127f7af7e1abdff52fadeb0e93aeda77c21b982a367bdc633cf5dcb29efb4dd4869b26901a2b11821bf065868ba0e6615d302348d502acea2d3b318e524e9a08655ce518d26f11ff058f0450cca8f8549c613dc72c3959c944db3226b908dbb2b6d59a534e94a905cd81daea5057bc9fe4b082da0e3f38509fbc1d01224a211f468140073930fb2001abe4090900fcaa124c958108d1059a34061599e4cc9241219eb45a853ce2489f7e6b965355c72e343bc1a0fed32a4cd2a6748976a448c341500d32470fed958b51a16be3d82a27dd737d1837b7e37ab9c24b88ffa9adf4fd0c7ff6fefdec3a3bc0b448f7fdf994c32845bb805680b4569858aadb4b5f756507ba15ef1d21aab75a9975dd66bdce7ac522f2bab8fbb9cddd5831e3da2f56cd33d7b945ab578d936b545b15a4dd7aa69adddb4f4d0402f0c50600224994c32ef7bfe98092440c2d5f203be9fe799e70dc93befbc33fac77cfb7b7fbf97b1331657de272c5c308b9b57b592a381ec909f63f690cf5b9224e9787052874b7a5accbfde52c77dbf99ca822bf25cf7da2d646b4ac47d83e3224a802e68df723a97bdf27c1e6f8f59f6e957f2b10fc68c48604a15dcb57a360bbefc5f4ca87f8cf11b3a987e057ce19fff07675ff01d2666eee667b755415f10e32d5077314b9ae6d2b66a394bd6e428b4e761c0cc8eecdcc52c9ef56596af6865e98ad9b4acccb370e994837a2e40dddc4534b52ea4b169098b1bbfc16d379d4b6bee0fb42c994bbeb5851c0ba8ebfff69c9dc1c2c6c57b5e1bc8d665077db9dedf1c92ec943dfbd4cd6d602eb7936bcf0307bb5e720d731b97d33465366d677d8c96963cd9c583f728b4b5d25ed740e392c5e5683b80e1f7cfeff3de0eb4ffdeb2538042814281613fc7fc9a433b6f4992a4e34100fff9ffd849a2145bb646bced2d9b69fee52ebef4ad5aa253e37df64b8d2ad1b505da9f9fc3452f1fc5bdf7fc844fbe33e6baf7c16b5e0baf7b1734ded8c6e5175ec0fffe4a0353ce4e4321cddfde7437d3d3b7f29f8ff49044551cebffd49dddf38d99a6868b59929bcfd2e5cb689cbff7e543b369687c399b562e674dfb1a56d2c0fcba83786ea18da695ed957fd43177d10a5ada7fce4767c1c34b97d25228274e4fae8df6bdbe97170a47b08670b68eba1ac81ece2cf9d98dacfcfa3c36ddb688c6e6c12755a0404f7b336d7b9d6b3eb7ff73fd73ef3ff8b9437f8e47725c4992a4509dd4e1126f88f8c4473b78cba21db43f9b66d3d604328327b944093032a6f9a149cc3aef2fd9b0199e79e433bcfecd103f5a45695b86d263d59c7945c43bafed64ccc898eab131f1c634d555f01ff75773dd5baee68bdf9a09e34a44fb76d10ba66e46f932a17c73238b9b67d3b868e81b25ce58b8847985552c696ca2ae61cf5c91e19f9ba7756533ed835e743e4b965c043de591822973e732b6a79965ab064c15cfad6279f370cb80edab3070f77c8e3ca733ffe2c39bbf316371135f9f97e7b686c50cbcdd4cdd8cb94ceef8214b06ae34966f664573fb7e8ff3e7de7fa0e13ec72339ae244952a84ede7089219d49a0be8f8effccf09bdf6778d7b53174ecb99c2b8a2352a7f4f2f423b0eab76fa4e11dafe6df6ebd95579df5088c8b484a95c8a94a607bc2c449139930be0e0a09495542a9a31ab615f9dbeb7fcf3dbf9b4ef7ba88546de9057a83055a164d219abd84d642814276160dfd13cf0b057a3ad6d0d4dc467bcb4a96af6a877c8eb696357b6e9e3865018d0be0e1d6d9340cbc31c9019e5b6859c2a2652d032e74cab166551b93dfdec8c575e57bb22c9ed5c32f6e9a4fc3b2269a562c6161c32a6657a2a3507e89c1efa400f40cfe5daeb575f72a59b9e615b4cf5f4ae3ecf2bfebeaa0a3ad8d5c7b0bcdfbbb1b64210ff490dffd423358dcb4827985db696868da1d5ed98b1b697c393cfcb1b9cc5fb48c15cb97d0b0b089190b66ef3eb1424f0ff97ce1a0f6dffbbd0dbf7f61d8659987fb1c0f78de922449c7a193325c9218d2b5c0983e9e79022e7f6791f3e714b9f00d7d245b5395a881d48c226b7f0f9f6eba86c58dff8b1fffa895aa67dfc3356f87f899aac19f5e158caec9b163c72e485516274b2524dbd2ccb9602db599adac6c9e0c93635e98a5c5b2cc58b08059edcb6958b482ba65ab585a0990ba054bf9c445056e7bf37c1a9a60d192854c2eb4b0b26dca809b53d6b1a071116f6a5c34e8868a077e6e07bfb8f912c64d99cbfc050b987ff1429a66ac604dd382f2ec93ec5c96adb9938fcecb73fbcd37b164458e85cb57b0704a81b655cb58d1023dcd4b59baaa8d3c50686f66c58a56a085e5cb9b69efff369f5f49e3e2461a1737b0b879212b572e624ae5bce736fe05b35a1733bfb1951983eeb65920b76625cb9735b3096859ba94a6e6caa8c48c45ac5c710ddc7313732f5ec4b2956d1498cd92e6bbf9c4355368bded66fe7a792b3396aea0610a905b43d392a5b4002dcb96d2d4dc4a7ec8fdf7ffde1866fff6e6e534b542c79a1534ad6927d7b292e54d8fc3fa6696af6c213fe4e738dc718feeffc32449925e48fb5bfc37f3fddbff6ff155575d7b4807baefbefbb8eebaeb0e6adfd29f2640bcf3908e7f344551426a7c1f5fffd6143effb5b16cdcfc1cdb1fdc49ddf9400ec84271137cff3e78e0b1f770d5dbfe856db9769efdfd357cf2835b48c555f4754744033ebd747d2fdfbfe3545afe34917ffef4c3c4db33240990407a7a2f5ff8c24bf8d51faab8fbdb8f916cae224e865a77f90052a349cfd97a143e85e3551bcb669f45d3a2ffa26d892308d21d77dcc195575e79ac4f4392a4c3f6f37befe6ad6f7fe75b816ea0abf2e81cf0733750382957154b4d2df1939511f7affb30d7beb98fb3cea8a5f9e15f30e2f7f733a9ae970d5bb33cb7e395f464fe92975ef2721e79f0bb8c2a7e844f7db04894aea2b42b45b4f74d2463c854d7d2d39b81de01bf8f803eb8e4ec3cdf5cf532d6ffe1ff71fa9c226c3f293f7a499224e9b09c74df9ea3288162426bfb6c32d931acf8ca22d6e76af9c18fdf407efb7374aedf4c7e4796c993c632b1ba8dfcba7fe0e2190f70d5eb808e0ca55d11ec1d2de523b36ee378366f2b411c1131e08ab014d4a4ba29243359ddfa14efb9f029d8fe82bde5134e1e28e4cb7340bc27892449d2c9e1a40b9754041d4fc0ac975ece8d0b3ec4438f167964f55b79d9b49d74d6cea4b7b88bba1139929e36ea463cc7656f02c646241bab8861ffd19200d5f05c6e275112c3a888a46bc0dfb7a538e7ec1e669db69e879fa88138451451be944c07afd04e73d332563d0eeb572ea769c13216efb394b32449924e44275db85055224ea5f8dd9f0ae4baeea0f8ecc759f4c676269c02f1b6d5a4aa81dacaa398827c8a5257b4ffd94015512a819e8474f6342e3fef1948c724497af7dfe3ce34a3a71479e5b95d74f59c0a9d6d407ae8036affb23358b0b889b6c54dc7fa4c244992f4020b2b5c62485701e3282f7fdb05a512c346c321ab86ea9119fefb17efe74337ace27f7e63176ca9a2b43d229d8949128877a660e0da010778fd54550c3b32ecea1ec9dc333ba030f809490a28424d4d15bd49ede03930922449920e28a8e5905359d8d109dffd4ecc9ffe58be8e2a5d0be92ca44772749611ae49d1b62e45fda44e3ef5816ee84851da19410a4a718a383e8c8f249db075db2832e9222f39350fddfb39d108c68caaa6d853e8ffa7244992a48314d6884b157476273cb3193a0b09dd05d89c87c9e360fc0498313522aaa51c3005484ae5792287325724e98251b5113ffe5ac29417436953fac8afdaca26ac7d6e3c555525264dea829efd1f70444d4c5fe985ba01a524499274e2082a5ce24e983a29e26f3e1a51da0adb7642ddd884fb5a12a64d8e98381d7e7a67c2b83170ded911a36aa06a14e5e18bb872905e281519724823ee4c316b662f8ceaa1b4253ae46849a5f68aa538825a787cfd68aaa24e189d106fdbcfa84d045dddbd147b1348bf40f7a0942449924e1041850b51794e4bb4b53cd765d204983439e28c6911490a363e07b5a3a0d80bbff86d42751a7a8a0913ea22264f804c158c1b135177ca9ee35100faca31934a4392ae84cdb6d4a15daf950029886a20aa82d24e4862a8aaeb83127c77f578ae3c7f1d8c8464db5e6f2b066a60cbb63eb2996279e2ffb1bbffa624499274dc092b5c0062488d06d2d0b71daa6a816a887ae0940970cab5117441a1133a3ae199e7a0bb001bb7c2daf684179f0a711b140b505303674e6f96f38e00001237494441548b18370646d7958f1955519ed9d30994ca3f97fa0e7c5aa974f93cfef53b096346c6bcedaf2a433c3be1fbdfbb885de93771c5dc2f54467f2288cac332e989094c28c17ab8fb812c97cdd900f511a95d317d1d69a22ac75e244992a403092e5c5223a1f50f09f91d307f7e446e433940c64da7bc1a570f5082ec08c8d6c2e453a2f268481a2e3f2fa2a3031e7e3ca1bb272149229a7f13337542c4ab5f1b71d70f62ba7be0cc17459cf5a288d1a3202a417a04e54f2255393e50ea62d0d20549025111e69e13b3714b96ef3555d3be31c3aa9f8ee74fb959d4d73dc09dab53bce4e5d58cca96a02f82749a9fde9590aa1b457bfb05bc68f66bf9f10323d9f8ba4ebefeb91d4c1c5722ee0c6a7d044992242948c1854b5282d123219385ed79f8d98331990c8c7d3c6244046347c38c5323b2d5503daaf2a442f912b3741ac68f8357bd3a82a43c7f25d919d15580c24638657244318127db13363f0fcf77246cdd06afb938a2d8073d3d3073464414279c3235221930129324e54bc3cebb1892629a9bfff1147efacb3e264d8e597af54f79c5d9391e6e9bcc1f1f1acf65976c2229447417b26ceeaee6d67f9bceba9d57b3f8ad6b79d7ab1ee38e1f54b1fafe0934346c298ffc489224491a5678e152809967449081ce4df0e6ab52ecdc05eb9f4de8ec850d1b61fbce84e7b741dd68983aa51c2475132b07e8053a2bf77f01d2291839024666e1b22ba2f23b2e4614b6c1a6e723b6ee48a81d017dbba0b70f7ef1604c2a0537bc3522eeab0ce6d451bea74c014ab92ad2233bb9f9a667f9f88d45c6cfe881da18fa222e7bd516e24d194af92aa2aa84f4a81e466447312abb95b79fff256eba3247fd39f0e6b76528acab3e3a2b9a499224492781e0c2851494ba812ea81d09511a468c82fa6995e828406f373c9f87a79e4e78e2a984479e802a1266cd8c983a31a2a60a468f2b1f6ed0255f1d40525e192c9b85d367c2e999a87c7958a6b25f67042320de0544908a60f5bd092f9d1931652ac48584a43bcdd8491d508a605b1ab6a7892ba1144525922822958929768e64d3b369567c660b532f28400efad65693aa8ac956172895bc4c4c9224493a18e1854bbf08e298f232c7bd94570703a20832a9f248cbd46911f4456cdf0c8fae836737c2ba0d09679c0ee38bd05b8838ed34487af73a6e02f4413a018ae54bc0e2024419d8d101cfae4d38737a44a6a67ce95a6db63c7243520ea9ae6ec892215d437911816279827fa61ae2a4b254595f9aa850e003efeda42f9f90accb1097204a97e7de944ade82523a1a72b91cab57af3ed6a771d42449c2d5575f4d7d7dfdb13e15499282126eb80c2149a054b9012585f288c8b80970c5f4080a90df0aa4e0d127125e7c5a7991af7dd6ed4a2aab8b25d0b103c68e2dcf8fa106366c4cf8d9830933a7472431a46ae0926b53904be82b40ba060aa5845f3f0817be22a2b323e1b12761de65517995b204d2a3e18f0f2774ec4cc8ac8b48a753bce202f62c811c43ba1aa886b8bb1c4e87b434b3a4ddeebaeb2edef18e771cebd338aaeebcf34e6eb8e186637d1a922405e5b80b97bdc59551138ae588a91b579e8b72f9b9e579327baf0e0695fbb964e0f61f2564aaa0b704f32f80c9d323ce393fe29c5744247948aa60ddba84edad09e7cd8948a5212ec284ba88979d99902a428a88334f874ca67c7f982805495ff97e32532745449417148877ed79fda81ab6e5e1f96d09a79f1291a9aec48ba44396c964489284244988a2e884d896fa27e94992a4dd8efb7019284e809e4a3c542effda3b5aa03c0253ea827366c1a9f5119b3ae1970fc58c7f0ac68c80b804179e5f5e66b95084eacc80274750ea81a95323e883d163285f2eb6b37c19592a5b7e81d34e63cf504f5f65b18068cf31e254c2c6e7cb736da64f2b1f53d2e189e398288a4e986d92787f274992f67642854bbf24d9cfe56103ff5e593af9ac39e589f96326c38824455f5f42c72e4865f684cf4bcf8aca0b065426eb03bbe305285f1ed60ba92a486ae127f7946f3c79ed5529a2de012329032e054b7a60625dc4bc579683c768910e5f1cc7bb475c8013626bb84892b4af13325c0e28aacc95e9bf7cab08a74daffc210d24951194fe15ce2a7f1af690292876426d0d4c99589eef32e4778f54f9b2328ae515cefc8e221d19bfe84b9274e23b39c3656fd18040e9ffd521ae541cf74135f0ea2bcb97909576b2dfcbd4f6e6f72de9c80c1c7139d67353a22822e95ecfd3c5d39936e6f08f63884992b42f6f2472b444904450ea8052277eb2d20b288ee3a1b785fb78cbe43ac68d1b475d5dff763a17befe6ff8f7b6ae033f1f88dbbec485535ecff7b61f60bfae87f9fb575ec5671f3ec8e30eb1355c2449dad7b1197189771e781fed9f9f9d3448ff08c5907346e204a8e1b25bd670cb6563a1a7878ecd7fe4ae2fff373e34ef090a2d3fe2a6e907987b32e0e7381e6ebf02b98e0224c93e11e21c1749928eccb11917a83a1552637c1ccea3ead463f23f9914aa81e132d403604cfd34eaebeba99f368d33cf7f2d1ffde60ff9ccb407f8dce77e457765bffc6f6fe57df3ce62c284094c78d13cdef7f5df924f1212ca0b7e24c3ee97e3dbd75fc7cacd3bb8f3fa73b9eedbeb873fe6419cb32449dae3988cb8a4cf7aea58bcaca413d0c02ffbfb9d3352192161efb930d533b9b6e10c3e7fdb7ff044f7a5bcace307bcfffa4fd1f191953c7af7e5d4acbd95bf5a783def9bf46bbe7b76255d92843837cc7e2b6fe757e7bd9d9e5b7ec7372fad21c9fd80f75dff29767ce4761ebdeb52b24fdec6fb175ecffbeb7fcdca85f543ce71912449fb722686a4e35a52b92c6bb86d32c47ea3278d818e0e0a71cca6d5dfe081b1efe69fde7f2993aa63c6ccf90b3ef7e17a7efd8dd5e42af1131fe47efd91945bbd825f8f7d37fff4fe4b985493307acebbf9fc87eb7960c56a361de0bc2549d260ae2a26e9b876d0232ec9beab8fe5d76e81fa4b195d93b07ded667a9ebe85d79c7ecbe01738632d9b7ac6d23fe232ec7e85332a979595e323bf76cb90fbe6ba62268d70c44592a48365b8483aee0d7b277af6dc9076d0ef7b9ee4eebb9f66d2a50b38358ed979463d3533dfcdbdbffa3067f447447e03cf14eb39ade396ddcf1f3bdc7e9947fb5f0880d133275173c68ddc7bff8738b33f4e763cc386c244a667873f6f49923498978a493aaef58fa21ce8b2ab8e4d1bd8b46913b9dc7ad63e74375f597c03ffb0653e9ffce0b9d4240913e7ddc8795bbecadf7de3b76c4a12ba72abf9c4eb2fe275fff2c7f2e4fdf28b1d70bf1a7ad8fcf4d3e51195f93772dee6aff277df7c885c1cd3bde9677cfc7517f2fa2f3e4a979789499274481c7191745c3be02a5c4902f4f09b0fcce3dcfedfd54ce2a597bc91afdd73336f3a2d29ef32e93abef5ef1ddcbce4bd9cbb740b308973affb12777cf63c6a9ef9cd9ed71a6ebf9a0edef8c699bceb63f378c3a3f7b0e6ef87d9b73f8686784f92246930c345d271ed80735caae7f17f9e7c7ac8bff75f9e95240963ce7d2f5f6d7e0f5f1bb45f4c32f303fc7ced5f1345e5fbb80cb95f32868b3edbcc934b2bbf4f12aae7be87afddf35ebe3ae875cbc7196a5531c34592a47d79a998a4e3dee1dea13ed4ade12249d2be1c7191745cdbbde4f161dca13ed4ade12249d2be0c1749c73dbfe84b9274e2335c241dd78ac5e2f0735c8ec36d6f6fefb1fe5825490a8ee122e9b876f5d557f3c31ffe90743a7dac4fe5a828954a5c73cd35c7fa3424490a8ee122e9b83667ce1ce6cc9973ac4f439224fd99b9aa98244992a4e01dd511973beeb8e3681e4e9224499280a3182e575e79e5d13a94244992240de2a562922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a9ee1224992242978868b244992a4e0192e922449928267b8489224490a5ed5507ff8f9bd77bf90e721499224e9e4d50bf4551e2520ae3c92ca83683f4faa026a802c3062c0b6ffe76ce5ef993fefb94b9224493a09f4023d40a1f2e8ae3c0a03b63d438db824940ba744b97a7a81347b4227a9fc5e922449928e441fe570e9018aec197de91f794960ff978af50fc7c49527a42b4f1e182da5219e2b4992244987a27fa0a448395e065e36b6fb72b1a1e2a37fb4a5c4fea3a53f6824499224e948f43747ffa37fd4a5bf476238b81197fd454b2fae4826499224e9c8f57747ffe3b0465c0646cbc0392f290c174992244947ae7f05b1fed618b83da41197fe9fd30c8e96fdad48264992244987a2bf370606ccc0edb0232e0983d74d8ed8330233f021499224494722d9eb11b36f8f0c191fd1416e25499224e9482507dafe7f6d17943aa20196380000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now go ahead and delete a book and then reload the page: Tadaa! the deleted book is back! Not cool, why is this? This happens because when we get the BookModels from the server they have an _id attribute (notice the underscore), but Backbone expects an id attribute (no underscore). Since no id attribute is present, Backbone sees this model as new and deleting a new model doesn\u8217't need any synchronization.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To fix this we can use the parse function of Backbone.Model. The parse function let\u8217's you edit the server response before it is passed to the Model constructor. Add a parse method to the Book model:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 parse: function( response ) \{\line
+ response.id = response._id;\line
+ return response;\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Simply copy the value of _id to the needed id attribute. If you reload the page you will see that models are actually deleted on the server when you press the delete button.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Another, simpler way of making Backbone recognize _id as its unique identifier is to set the idAttribute of the model to _id.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you now try to add a new book using the form you\u8217'll notice that it is a similar story to delete \u8211- models won\u8217't get persisted on the server. This is because Backbone.Collection.add doesn\u8217't automatically sync, but it is easy to fix. In the LibraryView we find in {\f1 views/library.js} change the line reading:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 this.collection.add( new Book( formData ) );\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \u8230?to:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 this.collection.create( formData );\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now newly created books will get persisted. Actually, they probably won\u8217't if you enter a date. The server expects a date in UNIX timestamp format (milliseconds since Jan 1, 1970). Also, any keywords you enter won\u8217't be stored since the server expects an array of objects with the attribute \u8216'keyword\u8217'.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We\u8217'll start by fixing the date issue. We don\u8217't really want the users to manually enter a date in a specific format, so we\u8217'll use the standard datepicker from jQuery UI. Go ahead and create a custom jQuery UI download containing datepicker from {\field{\*\fldinst{HYPERLINK "http://jqueryui.com/download/"}}{\fldrslt{\ul
+here
+}}}
+. Add the css theme to site/css/ and the JavaScript to site/js/lib. Link to them in index.html:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \u8220"cupertino\u8221" is the name of the style I chose when downloading jQuery UI.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The JavaScript file must be loaded after jQuery.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now in app.js, bind a datepicker to our releaseDate field:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var app = app || \{\};\line
+\line
+$(function() \{\line
+ $( '#releaseDate' ).datepicker();\line
+ new app.LibraryView();\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You should now be able to pick a date when clicking in the releaseDate field:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d494844520000032e000002660806000000bacfd41e0000000473424954080808087c0864880000001974455874536f66747761726500676e6f6d652d73637265656e73686f74ef03bf3e0000200049444154789cecdd779c14f5fdf8f1d7f4dddbeb777070f4a28882151145450544c4a858221634b1fcd2341a4b2c8926c618a3b1249a6fd4d8881a8d2d4a8cbd0ba880d805e9bd5fbfbd2d533e9fdf1fbb7b5cef46d0cff3f118efd89d79cfcce7337bce7b3f654051144551144551144551144551144551144551144551144551144551144551144551144551be595a3bafb7f7535114455114455114a5bb647b3fcd1636d200d1f4c543c71fd4b387a6288aa2288aa228ca77ce6597fd12db71706c9b50384cc8711873e0d86c52498a24958b34fc29a1e5969346894b266129eddba7c3ed2cedafa6b5bb52879b74b456ffd18d38cddfe87e9ca66f7520622babb4be65e736e878b399d6ea065d6e7ad33a5d1aadc469facf2e46d25afcb5d5573a12ab439f831e89d34eccf63f6e1d8eab753f508338dd0bd67a882e9458bb9b74a2363bb5fb363e07ddf850f4449c163f073dd9d62eebffd3f8a52ec76af86b1723358bd3ca9bdd8ad3c9b8b22b67d3c2165d8ad33c88ec7e9074245abc06ba1ea7c5773a1ea3439bb4bd42c7e3b41d57b6fe562722caa62f74314ed317ba16a8ed2aea58cc56d7eae41b9d8fd3f24a6daedec1626a375aa7e3b4f26ab7e2345da1839f83766cdab405482530e170165959610e9f704431a91c440041939f02102dfd6f484fafc4a1e30fa2a020bf8387a0288aa2288aa2288ad2319595555c7cf1a54422d91c3b6dda00523988dfcacfd6139743c71f447e7edeffeab81545511445511445f98ea9aaaae6e28b2fe5d4ef9fb61ba924c507bc263f7dc06f6d8c8ba2288aa2288aa228cad7ae2e160308934a543c76e42399712e1aadf458370e1d7f909f9797dba51d4b2911522045aa8fa5ec647f4829259aa6d56f97fa29d3c79bfaa96999fef65afdfa1d8a2325681a9a061a3a86a1a3691abaaeb71a475114455114455194af4f75750d73e7cd3f08708164839f99df5dc06db5c5a52b0987900219083ccfc30f028240d6270486a1611a069669b63ac2574a994a4fa4444a81e705882040088190123d9d64e886816519a0e999836d947448993909d1813826ba6160e8a92466e74d5e046e3c49d297985961c2464bc729f15d0fcf97e88e8363fccf0f7227a2cae2eb23f0121eae2f30c261425f7bd94a7ccfc7f345aa2ef5af7b7f8aa2288aa27c0342346e6909d831c64503b49612974e9352220289e77b2413494e185ecad87e850ccecfa1243bccd6689c3555b52cd858c1732b36110a3998a6d92c06e91612dff349ba2e83070fa65fbf528a8a8a2928c8a7b2b28af2f232366edcc49a356b706c1bd332532d2bec6881414bc5f37d9f64d2a5b4b494e1c387915f50404e7636d16894aaaa6a56ae5cc9860d1b706c1b6c0bc348dd81ed7cc98bc04d3a0c39f848f61e94c5c65767333f6a35495e24bea791d37f4f860dcc27fad9fb2c8d5b3bd70dbbf4a9adac25169864176413317bb09c1bc58ee0487de72e8b5d96c04bdaf4dd7b2c7b0ecc61fbdc57f9b8cefa1a9397d4751de9b37baa2ebf58c0f2a4a5921745511445f9f609a57f669296ccd8169d7442d3ed1617292542085cd7a397ad73f3b107509aed204500c247d6555362e894f48a30ae24975376efcb95ef7ec9f6a48b65dbf531323f5dcfc3b22ca64e9c4861613e4120080241345a8be3380c183080c183073172e448de7ee71d92ae876d59cdba85799e8761e84c9c38919292de08918a9348c4b16d87be7dfbd0bf7f296565e5cc99339744d22564db186657eec004f1ea28759e40d4179b86619a385921228ed1bd8143d2a7ce1dc831679fc0fe660dafbdf30c73ab4d420d6fdea4476d62283fbaeaa7a975ae7b97cfa206b6be932461d227ea0ee0b49b7ec1b4c2553c7afd9f79bdd621aba3c98b0ca8abaca52e00239243615683326d16fb0e9edfbefbce5b165d210312b104b1848f9fbec834c3c0b61d22119b9ecc01db3e0e9fa83b90137e7c46aa6c3f7c81f935064e77ca367d6ef1a48f1764cecdc4761cb2c3a4aeeb5f5d94aecb797c5167605bbb705d2a8aa2288ad21287c6498b472a69c9242eadb7b87434711152e0793efd1c83bf1cb12761e9e155d5b6ba7e891de2ee23f7e2676f7ec1b6c0c734532d264248fc20c0b11d8e3e7a3286a9118d4653e364eab301174dd7d0d08864873966ca145e79e555fcc0c3342d743ddd62e3071886c1d1474fc6762ceaea52719099f3da112727379ba38f3e9a975f7e05d7f7b0350dc3e8ccd7b982445d84832fbe8619a37a919bf92a38a863dbeaaf98f7d2b33cf75115e188d9f5e4a5a529f96593f9f43bb2ce3748063e41eeeeec3fc0024630764888173f0a0877a4ac65405db48013efb893937ac3a6277fc5152fd7929395ea2ad83c7698ff6c6f1262272a8b4e0b9254bbbd39f8c4e33976fc288615a53ed7f1b2b57cb1f02dfefd9f0f29d3adff4df2d2d3d759fadcc69df03da61eb217c37b85d110d46d5dc527f35ee1c9973ea7a627f7a7288aa228caceca2295b098804193a4055a6e71e91429c0f75cae1b371cb3ae826432def606753558a12c7ebb5f3f2e98b70a33dd3d0b21f05c9709871f8a943ef1989fbe41d9b164c6a0689a86ef7b5896cd21878ce58d37dec6d453635e8410b8c924471e7504ba0ef158bc9d383e966571e8a1e3eae3742a7191924058140f2821d701f0492404762842efe10730fda2510cfaebd5dcfea94f8ea3e1d5d5519308d22d331a866591150911327774e9f31209ea621e9e48759fb39c500bc38252ad3c510f301df2739b56a524515d43021d2be490dde85b79811b4b5097f0f00568ba81130e13091be80032201e8d13f70441e6dbfdf43ad9e186ad47e938710f5fa6d7c90a931d6adec2a41936a1cab7f9dbac3087e6afe7b58f92446c9bc04d10ad737183d4c40bba69919d1bee5457a066b117c569dc6ed64a594841221627ee06f8f5dff4dbe4e58720d6463db5b89d85a379247cd09c084539261a12bf2e4a655c8019a628dfa6d33d9c844bad368a1fddf2332614353a6bc2c58339f0f091bcfcf4fb889045bbf59a0ad8fe3a52e0c677ac031abaa163396172c26d1e6c87af8746e776f3cf9850dcf00d9d48c970c68ffb9ca7667f46e3424bd765fab87332d763ab7519c6d23a7fbdeba645c8d6f0935eeadad474ec70989c2cb3795976f47c1545511445e9966eb5b84809beef31b54f84de3286575505c0b6984b59dc63cfa248fdbacb2a63645b06a5d90e41bc963ed9f94ced9bcdebe52e8661e2053efdfa95120a8588c5e2909e914c0851ff0daba6513f0b98a669789e4f389c4569bf52b66fdd866dd8045e409f3e7dc88e44d271e0adb7dec1f7fd16cf61f2e489789e571f67dbb66d98b213f95c93725a75ff955cf54605c2ecc591bffc3d3f1bedb0ef114330e62f21e99b0c3eed1a7e7af8208ab30c20c1b6af3ee099079fe2836a83b0294944354a8f389399c71dc4c85e0e78552c7df96e6efc77e3dd7ac93c8efef51d9c3dc244aefb2fbffaddf3acae7f3797f13fff134714e762f9952c7dfbdfdcfdd842a221075313c4a316c3a79ecf99530f60689e8157b19279cf3fc1c36faec78c982493854cfcc9394c1ad98fbe790e1ae055ace2bdff3ccaac77b66267996808e2519bdd8f3b87b38ed99f41391a6ef972e63cfb4f1e99bb1da7690b93f4898b614c3f6b0afb9b35e81f7dc8acf549f2469dc095671ec93e7d42209354ad9dcf7db73cc692c0c1cedc21b6782d3698b1ae85d8f7ad6faf2c2c02378731a79dc794fd8733a4770403486c78831baf7b16f3b46bf8598bf5a4a107b9cdb7dbb88879fefe4c1ca4119b770b3fbe772d96e15330fd66ee3bbe1856cce2c7bf9b4f90d399e44592ac7338e092f353494bb08157ef7f98ff7cb88e0acfa670e00846156f66b5e6601110ab6da35eb36d74daa9fb6c1b5d06c46221464e9bc96993f76368be093249f5d64d2c7df751ee7e69532b75d1c9eba1e1b915036ce39d871e66f6a27554fa217a0d1ec1306d29d5b68156ffd1cd65f2b5f730d9d2086ad6f2c1ec47b9ff8d4dd8111d37d94a5dfee60956fbd98c68e77a3feac7339934b23f7df343e8486ad72ee2f50faa187cd821ec579a05f1ad7cfcd2a3fcedf995c82c2b5d969d395f4551144551baab8dc4a563013c3f6042af307e5d0dc2f700d89a08b87dd17a2edbb72f7b1666b1ac2ace9f3edec485fb0fa44f28b58e5f57c311bdc2bcb4358eae9b04bea06f695fe2f1384110a48f41d4b79264ec682d49ddfe0921282dedcbe64d9bb124f8414069691f1289549ccca693271fd52cce5b6fbd8be779685a6a5ffdfb95b279d3e6ce7543912df59ed17172f2290ca78ab7664b0d42d7d085879f554c91e5525b2d08e545e8bdc711fce44a97b5973dc396a449bf53aee5c6eff549c7f609ac7cf2bc183e4e83f039ec33f3179c3dc284eaf9fcf98fb3d9a0dba91e816959c5b978c9009c02464c3a8febad2a2e7e702501064367fe9a6b2715d61fbf55388c23ceb986e1b9d773f5ec2df85a1ea3c60ca5d404a44b52d838854399f083cbd0365dc9bdab058e271972d635fc6a7211e013ad09c82eda8d89e75f4d41f26a6efbd827db6e70ebd64239055963f9f9a553d94383a07a1bdbdc30c58536b1b88050836bb0a532960d5e6fb10eda2b8be524f5620e9eb40fc34d008fa46f11d2aba9f17cf25aada7a758a3b5b09db69e0fde2966e2d983c81ab92f7df4156c0ef2d96b9f5453c2daf79650639ae4b473ac8d088f64ce188edf2f55f72b1fb99387e6d51189d8649b92ba8d9f3377bd8e1332f1a2b29d7add8629f576d73184c59e175cc75587e50282eaad5b090a4b28ec3384b17b1773f7f31b6996d74b895bd7c9eba1c9b9ad79e476ee7eab86ec2c138b38e52b17b1158390a99168f89d8315900c4c9cdc418c9ff90bd874257f5b1e2082d6ead266b7b3dbbfde471f389c7ee9ebddd36c72068d61faa0d426410046b884fd4eba881fafbb82dbbe1084fc4e9eafa2288aa228ddd646d342fbb7571a1a22081810d2107531a410008cea9dcf15df9bc09f9e7f9b9307e7f3ec9a6a2e3ef630466b3588da4a008408e81f0923822035b05e04644722b86e32b5f726d943d3e7b2406abb20f08964652185488d771001914804d7751bc588c7e38de26404819ffe1990958ed3895bcb66869e7f1b4f9edfe085eaf7b8f7c935e8e130b6aeb1f6be5ff0fd7b2db2f37288148ee117bf3f8d61457bb167fe53acf5c7f283e3fa002e5ffce3f7fcf1e5f5247487dc2c1d49413aa0cde0effd9c230f2882e4121ebae1213ef442649b019e97d96994b77f77057f5de2533af90aee387777f20e9dcae8476f6751f848664e2a04e22cbcfb37dcfe6e3525532fe7b6b377a3ff7127b1cf8b77b2b0fe46b186d77e7305f7aeca67daef6ee68743231c70f800f4af5691cc3b8c99938b804dfcebcaeb79666d40ef495771d7f9c3d97fda01e4cd9f836bdb0dba6c352d538991d79fde1ac02a1ebcee265edde6831126372784a5b5570799e7fbb414bba1d6ca62090b1a9ee7755770ef320f23142637dba4aad57a7a9ad5d52d6d6763e427587bf6200615eecb98e2a779a676186307006ce6bd4faa30adcc98b3d431bbb5516abd1d47aa59610a72767c532f45805e3c84de006ce3e3c55598e110862609028b827efdc8360489edebd89077583bf5fa173e6ab7eeffc2a2c8e19c71582e50c77bb7ff8abf2c8c3160c61fb8f584e2fae36e46f82473c677ea7a687a6e1f7e5e81150e91eaa5a961ea66ea8f53a3bf03e9f25e99cfb137dcccb943b3d8efd001e85fae42184dd6a9af93c3b8b893d7fbdfb7eccd2feffa19073ab0e2de4bb9e65d93c9d7dfc205c36df61ad71f63d10a92f99dbdfe1545511445e9aeee0dce4f0f86cf925e7dc20120aab63322c7e394b1a39935f713ce3a646ff61215f835153bb6d53442c2ab6f5111e9698c335dba344de3bdf7e6b7baeb430e39a87e5b276420a44c3d5a339d9878e9bbf84c92d2f07c1afe9e6a9549fddb71d2713ad3e4d274ddeacdacadf231b20ae9df2b02798770f1452bb8ecd679d46a398c3ee3127e3c7538398d36b2c9b2c12cd997c11a90fc9c67dfde8499974da126eb13c29410bb1d3000f0f8f4ef7fe7953293dc70d3c31078bec489186cfff07dd69ebb3b438dde0c2bd2f9247f140300e25ff0e2820a4239165be6bec98ab377638435905125060b36368ca5616bd52c5d5a09430b881465630401948e662000a5ccb8f95e6634dca4a01ff9ba608b90e83b86ee34a1116c59c4c2f2c94c291aca057ff90b93e7bfc5ec675f62fef6806cbb4187aa76bb8ab5f076bb6561307f6be3e3717222440c891b0f31aa8d7a6abcbbcc768244c547bcb16606e70eeecd21638a7965fd41eca6039b3f607e195891cca072891715ec76d9fd5cb3ef8e5b5b6fd16d9cfbe79584b28dfae71981de60f6b45459481110f30672de355770700816df71213725dbafd74fb33bb04ece484a01128b79fdf33a421d186c24031fbd93d7438b55d7d2a0fb16ae1b5bdf713d6615463084c4371aafe3e444c8127112a59dbfde8df85abed80a070e0427626168d5ac585e09c30b08e56561882e5cff8aa2288aa2745bb7ba8ae932d56dab369ec409520f7bccf86add26fefd5535671cbc37cf7db898c123f2189967d7bfafe93ad17822d5ed4b4fc589c7124899eaefa4693a471c7178fdb8961dc795bab989c7e308996a6589c7527148af9b4824d1b4f4606f7d47e2d2d2f35984100891faf63e994ca65b75da3ff74665d5e0f7554fddcad56f56819464ed7b01775e793039a3a730a1d71c5eea3b938ba70ec70ed6f3c6bf5e6749b23fc7ff703203b5f45409ba961e2c2c1a74816a7e3cf13a08472cf6397726e397dec382a4d3786ae41d8505a695fed657a6cf332dbdcf0e9daa26f1dd743f344d4f956de6582967fecb0bd9daa03b8fa85d4ead61a0099f58dc43183661a77958435bcdc3d7fc81b5d38fe7f849a3187cd0342e3ee8009efbd5f53cb54d23abc1736a9addcfcac65dc9dad5565934d889f09268a32f68bb9e5ad84ea26399952c787d253f3c7f18fd0f1bcfc11b4660039be67cc836dd24d2a09b585b875c7f5e9a81a8584b19e3c9a637fbef95cfd36f46b1436d6cdc917a6d731dadfea1ae2dceded562b175f07a68746e3aa2623d95402ebdd97faf029e7ea3062b64a06ba916d940e8582d4ed82e091a5e8f2d9d46fab3d3b1736ebaad8feb67c2eb4093fd75f4fa6f78be8aa2288aa2745b1b5fa7caf6174da2eb06cb6b13480422f01081c7b2aa38b72fa9e2a28907f2bd3e16571c73307ffeaa8ac595b1fa75a414ac8c26d1d3b38ae9ba4e6565154120f07d9f20f089c562c4e371e2f1388944a2fef758ac8e20f0097c9f2010545555a7e3a406ee5757d7d4c7f1fd80d48dea8ef1329941ff909a3ad94fc7a9aeae414fdfa8746e6952725222b0c92bca25fda41a8434c8edd73bf5ef756ff1d40b737867ce276cac6fa8d2f0b72e6333406834d3c6f5c2ad8952599dc06bf4b56d0deffdf576febb0588eccf85974ea1b797c46fe10e3319b3d8ede8a318049058cb927281bfe973d603844631f5c04292b5823e874e643880bf9e2fb7f91d1854ac13648e956cc25b3fe099c79ee0e1479fe4f1ffbcc92b6f2e26aa4bbcf0284ef9d945fcf4b8ddb1dca079f2a187c916ab79ed1fb771d1f9d7f3e466803e1c7c403178227543dc4a198b448ccaaa686aa949229aadd17e5934bff82522d0dba9a796e38344b70caa17bcc2271ed06f1a3f3c280cace7b5f7b663d81a0dcfc58a682cbbed7c4e99f1c3fae5f43fafc089e86899f57403b3ea235e599a3abba1332fe29cb1bd219ec0958d6bc96bb75e830ed47d80bf6d395b01c2a3987a502f24117a1536cc3a53c71608802c7a1539044107ae07d3406f589fba8e51f519efac49451d7af6c55c70f860727470038b48c948c6ee538470dbaed91dc7d4fc35cdd0097ae47a6faa0be7ab16b5a8452d6a518b5ada583aa67bb38a09816d59cc29af63af5e20d3ddbcb2c259fc7cd21e8c74b7e16d2f67584e3e974f1987b36d35d28fa536366cde2af3b1ad2c74744cd3a4ac6c3b9148982008d03481ae0b0c43af1f909f493a8240a45b4a04a669b26ddb362cc36c314eead92ef0c1070b5b3c07dff71042d6c7314dab735dc59a14f6d0736fe4a1d32556244ca67d2958fa26f3b67b54af584394be640f399b5b6f3d8c8db130831b7e7bbe7d1e4f2d38965f8ccde2801fddc463177804ba85beec7e2eb879c7d32c44dd321ebbfddf8cbae524060f3d998ba77dca35cf6f654787fa5c26ffe62f1c2a43a4e60790ac9e3d9bc5be8553359f7fbe791cd71e95cf813fbd85c77f427d33c2e6979ee5d3a48edee48ebe7971e898657379fcbd295c71480e7b9ff35bfe718e8f274d2ccd65c14d9770fb62c9e093cee0c4710540091b3eb88e67cb1b979bd6e7046ebee1482235e594c50c7af70108d8b6298ad0533b962d9471e9f76fe45fdf6ff082fb09375ef266cbd5d36a5918684dcf138966082adbab279a6f972a231d27fe25cfcdad65bf23733000b9ec4dde2fd7b0b29ab75e985959e4370b261b9dadedd430e79e4739e80f67b36f7800532ffc2d532f6ce1182adaab57133bd1fe3a56722ecf7c7c2c17ed97c5d89fdcc4233f69be2f3d2867f97638b09fc9be17dfc825375fcd9d5fb47d3ddcb1421069f4a0190ddbaee4b57b9ee1e0df9fcc6e662913cfbf92890dc787c53fe40f17ddc36741e3fd77e4e3299148cdc0eec2f5debef6afffe6e7ab288aa2284a77b5fabfec4c579cb6163f9058b6c55b3506eb92a9ee5d32f029b50346c436e1576c4d3d1cb0aa8c61b5ebe86f0b64e0a3e93a8ba29277a206a6698106a66953515149b42e861002cff3703d17d7f5d24b83df3d17cf4b8d8fa9a8aca2aab2b2d538aee7b3efbefb3076ec18c68d3b9071e3c6326edc818c1d3b863163f6c7f57c8410d4c56294979563d96687ce7dc7a2a1e152b9ad3675c3a9878844c2d8f8d46c59c1bc67efe6f29bdfa6c671d0963dc61f1f5dc0eaea80ecd2218c18de072759c3a6afbe645d42c372122cfadbf5dc36fb13d6d504a05b1832cea672add9734dc4e657b8eba954e7fc81a79cc351051264155f2c5ac3d65a0f8cd48d7a7ceb57bc76ffefb9febfdbb01d0323e4b374d60ddcf4ccc7acab95a04150bd96798fddc2b54f6dc0b0f50ee4bd1a6628c927f75ecf4d4f7fc8aa4a0f30b1b480e8d6d56c1126862ed8fed122d6799058f9219f55348daa61ea31366c8b63e616d1b74f3ed46c60e13377f2d7853142a6d6b89cdbbc8a9b5fc65a7b65616bcd634ac0b0daa9a716ba8b35b8160cc763f97f5f2355332e8b9e5f44b565a075ea9a6ab068164ecd1c6eb9f41666bdf1251baa1bf4494a56b3f1abf759b825c06aaf5e1d03b303eb58769c0ffe723db73efd1e9f2e5fcbaaaf3ee7e3f5a97d4adf43a0635be5bcfad74799b3a69600978a1a0fdd6ee77a68e1dcd04dccad2f73fd6577f2f89c656cae0bea0b345eb68645ef2ea1ceecc8f5d8c2f591a98f1eb9de9beac0f5dfd5fa568b5ad4a216b5a8e53bb874fcffc0cd59878e3fc8b56dab43010cc34404827caf96eb4beac8955efdb4c82dd14d8b1acde2ca2d39249c089695da8f1012cf75098460d8b0c1f52d2c0d1f16d9e82192ba8e08242b57aec0304d6ccb41d7b5fa38424a860e1d82a6939a71ac419cd4fe045282a66b203556ad5a45ea417b5ae74a1000891b4b12f71b6fa7e93aa665e2d806a9e11a92c0f588270382ccaa9a86ae1b84c21656ba95c1733d92ee8e7574cb26128278ad8b8f861d091136204826892605a013ce76b0754132eee1fa82cc100e4dd7b16c8b90dd702c80c44f7a2432fbd052eb849df43a32a0aed9be124493120c9bdc48e6017b4de2a4f76787ec54e2e17bd4c57c8461604941503c895bee3c834194f1ec95d7f0f4364990f4d30f39cc1c8749c8315ac8a805896892648b3d870c22d906c968c363ee4059b4709e99f269b39eb496b693f809973a0ff20ffc117fbe742cd9956ff2ab4b1f63a3696374f7cb772948263d5c6fc7f9907ea6911db6d3896d3bf54afbeb4801664e36def6326a7d89669772dc75bfe79ce11a152f5dcf458f6fc609e910f8c4133e5e004e2444c86821368daf87d64f2dc04dfacdeaca300d428e894107aec756ebb203e5d26c5b895b97201e80ee84c871b42e5dff8aa2288aa2748ceb7acc9d37ff64200ec4d24b5d83dfe340a2d5c4259350748465db785e12c74d70416e0d07384910e9d9baa4844cc2a01b2c4a3adc57934bd20ee338a9bef399ae5942a406c8077eea592c595959f5894a4626f988c5626cdebc05c3d07142a14603ef8590b8c9244120282ded43381c4ec768985868e9e99403366cd8881002cbb2d2ddd4d44d47cf1124dd3e9c7cfd654c1b9c937a1a4ded5c7e7bf12c56e9e927d8eff2245ec2649fcb6fe6e7bb5bd8610b70f9f8ffaee24f0be384ac5de524256e22c2e1bfbb95ff3724201e4da06747d24f105acfe397dfc07f2bcd66ad7f8aa2288aa228dde1791d4b5cba371d729a9b4ce2380e9e66705b95c1582bca84709c61a6478e2ea8153a2b7d8b77e2611678d96485433896559f4768a45a53744d4bc5d15d366cd848767636d9391142a150aa1b9a14241209a2b575d4d54571ec10966da5e64192d4b7cae89a86ed38789ecbfaf51bc8cbcb25921d49254a52034de2ba2e75d13aaaab6bb01d1bdbb2f082a00bad2d4a9ba4243073282948252df14d1ff1ecdf9f64993071f41666adda2549849e4db12553498bbb9d45cfdecf5f3f88623b46a73e4bdf2c098685dcb486b2defd29ce8e0049ca567ccccb8fff8b97b6ebd8d6b7a5ce1445511445d9d5b4dae2629a9d7f749a6999e8ba89ef79789e8710014248743dd5cdc6b22c2ccb6ab5452373832765aa7b97eb7b049e4f906ebdd1340d4337302c13dbb4d0749d4ca8a65326d7c79101aee7e3a7c7b24829d0341d5dd7314d03cbb610812010a9a445b5b67c0da4201ef3f065ba2b8d636277bbefd4ce46e2c65d92018086699b4dbae7ed2a245ec22319ec48503443c7b6bf8d75a6288aa228cacec0f783eeb6b8747ea79eeba369018661120e87d3cf50e9f8cd4e7d8b89ae21351d47779056666e2e591f2bd55d8c46e3605a8b238481631b389655df512cd56b4c1008f0dc86e3713aff0c17a5237442598d1fe4f2ed2b670d2be4d0a883a5a40b03bfbf691aa663b738dde0b7afce1445511445d995f44857b1a6db09e1e2b53e3e5f5114455114455114a5535a4d5c76c5ef8a1545511445511445f976ead1ae628aa2288aa2288aa2285f871eef2aa6288aa2288aa2288ad2d35a4d5c3a33bb56e6592ba959bbd474a9cab74b6622085dd71b3dc45451144551146557977aeea2e0e2e30730f5a821844af7c428dc0ff0dbd84a27356956028218c83a085ca407c9b2757cbae0537ef3f032a20989aeb7ff00b8868fe18b00002000494441548e369874bbc5450841100478be8feffb88402054e6a27c8be89a866ee898a689659a1886d1a10fa1a2288aa228cace4c4a4910087e785409d326ed869de760842ac12907b700021f74d1600b03d0c0af045906ee7664bc1c8d00f20ad04c0b3b5b639f7d077079d4e3fac7562044e71a44dad2c6e0fcf60921f07d9f64d2e5f0c32730e598a98c3df040b2b2223d72708ab233a8ab8bf2defbeff1dfff3ecf870b17e23836a669aae44551144551945d56a6b7d4d86161ce386e285add2aa8b3f8f2fd1a3624e73065c60c300741a0919ab4cb00e982b716c47644d94adcb56bd1ad22a2aec52bafbfc8c9a7ed8d3d6c34561066fcd8524e5955cdbfe66dc730f41e495e5a7acaa4317060ff6b3b72b24110e0ba1e33679ecdd5575fc3e04183b12c2bdd5aa316b57c3b16cbb2183a742853a61c437979394b962c41d7f5faae638aa2288aa228bb1a2925b621b9f6ccdd280a97619843b1c6dec24f7f3f9b6b6f998db77915471d530ac2041980bf15dc6520ca08b6adc05dbe017bbf6bb146fd986717c639f3b2bb78fffd959c342e8b50df01200386f7b298f7d9766ae2a2dd7ba675eb373e49aa7f9ad7c2e2037e975b5c8410789ecf61871fce4f7ef2d3fa712e6a50bff26d25a5e4a28b7ecebaf5ebf8fcb3cfd0751dc36829f7571445511445d9794929115272d8c86c860c719095d5d8875c034e2e919c7c0470e3ac8f9934f1158e38fe60645d2677d0400abc55eb70c6ff19bd680400994e286f7c51cb8d37bdcb4df70fc1c80a91531ce6b83185fcede5ad3d324eb84b7d5d32fde192aecb94a3a722252a6951be13344d63e2519349ba2e4120d435af288aa228ca2e474a09423079ff420c518d59380a9c7c006eb9e5668e9a38893d761f8e575e0b41128278aad54513888af56805a3eb931680ef9f7a2a175e7821c377db839cbea360d31a744bc30c9b1c714021b9217ae49ea94b2d2e42083cdfe3d0430f63c284c391a8a445f9f6d3340dd334993469222fbff2124b967c8961346e75f133935488ae7f1e344dc3300c2ccb545dd11445511445e971524a7ae5188cda3d07824af4defbd4bf575252c21bafbf8697a8c35c781eb2b61a74273d50df40442bd122fb368aa7eb3a77dd75174937c0a95b4972d165d82509741b8a7a39ec39c061fe0a174d93ddbab7e974e292696d09fc80534e3a054dd39152b4b8eee2255f110441abb18220c0300c8a0a0be9d3a7440d7656767abaae635916c71ff73d3effec330253341aebe2793e63c68c212b2babcbfb88c7e3949797b366cd1a8cf46c668aa2288aa2283d21d34b6af7be36a18889e642b065016816d8b9202546b8084b4892f104b670d37dc152ad346820ebca483dffa44112a281631bc86a0fa400e9a2e912c3d2d9a334c407cb1374b1b357bd2e252e7ee0336af4de1c32fe10441b5dc462b11863c78e6d35d69b6fbec9f8f1e359b9722565e5e50c1b3a8448e47f3423591065fdb28d38c376a7b7dd30f393246baa0922f964edf2c317be4de7b273c8b4861c3e61028fffeb71d66f5887691af5894ba6ff662291e8f23e0cc3a04f9f3ee4e7e7f3e9679fe20701a61a4ba3288aa2284a0f9152d2a7c040d7038ce25ec8ba95c8b2e5c820754f2f7c8114a0e75aa0e920dcf49c453e7aafbe88650b48be7d1e5208900defa33564bc0a23474743021e9a29292d34eb7386eeb4b8743aed1142e07b3ea79f7e7a2ad16aa38b5810f88d06ed375d6a6b6b28282860e4c891e4e4e4b07cc54ae2f178974fa63364edc7dc77cbc37c56dbf8f865d55c6ebcf84fbc57d5722bd2d729d8fa0abff9d1b5fc67535b0ffce9788c6ff25cbecd0cc3c0304c4e9c3e1ddff3116247f96aba46456545b7e267a619b76d9b3df7dc0bdfeffaf5a0288aa2288ad2949412cbd2800023ec60f6e98fd96f20d6c041a965e8109ce14331fbf507e183f040fa205c7443c7de630866a98b55ea62f54b62f777d34b1267b708d6c07e482f09d2479301e190f6bf1fe3926a6d09d0348d09871f01ed8c6df183a0d14d5d53b5b53500442211060c18403c1e67f98a95ec3d7a54f395135f71df5537f1d6f654d7333dd28791e34fe407a78fa79ffded1807a0e7ecc6f8493038af03dfaec73fe5960befa7f735b7f1836176cb31bcaff160bf4534ad731fa654ab8bce11138ee0f6db6ec54f7779d4340dd330282f2fa7a8b0a8dbc725842092954549490965dbcbb02cd5654c5114455194ee9152a61a4fa4482516c205d1425b8668d411ac8100341d239cdd78854c4b8a0019f8e9ee6202c8fcdefd63efd49d9010a9b12d878c1f8f6ee8a9e6a13604bedf66e2929d9dcdfdf7ff1dcbb2b06d07c771b06dbbe5956592cada5c8ebafa77cc18e053beea7d1effdb3ddc1a1ec82ddf1f88d59913d94969594339fad4a13d164356f5c4517dbb799ec7db6fbfcdd1471f5d9fbc689ac6c2850b39f0c0035b4d680cc3c0711cf6de671f167ff925c214e9961883eaaa6afcc0c734ba9f680821e8d7af3f5b366f51898ba2288aa2283d2700021f37992051e1a369123b6261980686a1a199a9ce5e99dc444ad0d052b3aa06e91e545ec3fb2489e70b8480ecbc10a9313120dd0475b5c91e39e44e272e9ee7f383737ed86617b10c3f683b71993a755ab3d7e6cc7db78d883aa14884ec3c9becfd8ee1d4435fe3fa655b4932102b28e3eddb7fc3039f541368390c9f7c1e979c358642439258ff16b3ee799277d744d172f7e687bfbd8c89ce8ea832f615fffccded7c75c835fcfa48c0dfc87ffff0331eda528b51348a69e7fd8453f6c9c3409258fb060fdcf314f3d6d511ea7b00275e7001df1b910d755ff28f3fdec3bbab2b494808951ec48c8b2e60f2c0101a92d8aa5779e0fee758b0b61667d004ceb9f8071c56d238dd925573f8cd2f5ee6f05b6f6062641d2fddfd579efc700bae96c3de3ffc1d574cecd5e213435b8d61b47e2e7a6c29ffbafd1e5e5fb29d3821f63cff8f5c7d38cc69a10c0b924dd7fd15477e70234f0cf815b79e35041b97558f5cc14d65e7f2975fec43d787a5ff6f699ac6dbefbcc33f1e7e84f51b3670deb9e702f0c0830ff2fa6baf73e9a5bf60cc98312d6e9b7a868bc9e9a79fc155575e896d5bf5b38be9ba46654525bd7af5ea91e3b44c93debd7b535959a106ea2b8aa2288ad22d9aa6a1019b2b5c10015b3654b3fce32a967d54c107af6eea76fcf37eb417875fb23b32ea8100b73acae672b7b5e69b4ee9f05d506636b170569851a346b539283f23f0fd4ef7670b3ad89fdfaf5cc2bc4fa3941cda1707c0c863dfd3afe18e1fe7c1fa97b9ede687f8f7c17b73dec055fcf3e647587dd08ff9c325c371a2b5848a0c88a6cfcbdfcebb77dfc9fb03cfe586e307e3d4ae072dc4a0291771f97ef954bd3f8b3beebc97feb75dce21ce521efdd33f597ff085dc7c59295573eee78edbeea7efad17334654b06abdc3d46bef606241942f9ebe8dfbfffe0efb5e3f855ec92f79f8d627d93ef117dc7a792ecb1ebf9907ee9dc79ebf3e82a2164719496a3f7a94a7d6eec7e57f3d99e17a15e55a41bb494b8b5a3b17b6b16485c1d1bffe33c7f409483a851846d07219f66eba6e11a6d69f9a173ea36cc6104ab52a962daea3dfb1830877e518bf21524aa61c3d85783cc17f66cfae9fd5eebd79ef71da8c198c1d3bb6d5c43b3535b2c13e7bef83edd80481c03465ba1b99497979798f252e42084a4b4bd9be7d9b4a5c1445511445e9011a2bb6b824eb7c8a7b5944474708f5b6f86cee36b4a420573752cf6964c742e6770d0492a0c1efbe041781f4248e09683ee0e356c6702bea58b62981d603994b8707e767060c4f39fa98d4c177a8c52535c6a5338bdfc6f4c9f8e5bcf89b1f71ce396771f6857fe2e5f8019c7444df7437318bfcfefd28cec9a678c4048eec9760435982c4cad7981f1cc439a71ec4e05e45f41d329882ccbd9face3cbc76ee1d19a295c7ec14114663203a388d107ec41ff5ea58c9a7a069372bee2adafa22456bdce027f2c679f7c00038afb32fab8994ccafa9c5716d7a6ca447328282ea2b0f710c61d338efcad5fb2c585e4ca37f9501cc88c69a328291cc8b8ef4da060dd42d6b631f1941eca42afdbc0ba32172baf0ffd72bb78c3dacab9648eb7a87721790525f4ced25b2dc3e6eb9ae48f3e824115f3f9b83c40c6d6f071596fc6ee9ed313c9f4ff941001d34f3c81e9d3a7b360fe0216cc5fc0f4e9d33969fa896db61642a6d5c5e0907187a49fdd925adf30746a6b6b88c5623d769ca150889cdc5c82404db4a0288aa2284af7e8bac6ba8a80a5cbab313d8fbebd6c7404fdb24314d816866d603a068e6310760c72422605218ba2b045896351ea380c0839f4b16d8a2d8b12dba2d8b288844c7287862099c02daf21beb5867834e0cbcd41fdccabddd1e1bbe14ce272d249d33b94b4406a56b1f66efe5adaa655660147fdfc3a4e1968e0d66ee6b3171fe0ee1b1ea7d7cd67314cace38d87eee3df0b5653e55998d267b090242b2b4866ef4b7e4b67ea97f1d187903f713045ad0df037f329cd854f2ae3c4fd0a92390d6299f9f4cb157c5c16a369ba6584f37182b5785292acae2056bb82df9f3777c70ada6e445d09592ded57237b9ff3f8c5b459fce3a69ff16cbf099cf9a3994ce8ef742f3168702e2dd58a4cb45c862dd5b65eb00f93863cc67f176c63c29005accb1fc3cca25d73ca5e2104493759ffec95a49becd075abeba967ac7cef84e379fb9db71042d47717334d93cd5b36336ce8b01e3bc692921256ad5c8961b4320e4c5114455114a51d990442a2f3eac7750c2f1644fa87292d35c92eb48956b9e4180659e8981a989a868e0652120881ae69484da34e0488c0c30304a00bc8cf77c8efabe1aeaf245995244808de5be9531603a70726d3ea50e292ea2616909d9dc388117b2044fbddc48046df427754db53bfea8472f3c82fb0a1a090238e9fc04b57cf6765b547fe67f7f3c8b2115c76db758cceabe2f5ebae620e60e7e661d56ea6ca87d2a6676b0d62c66513f9f2ae3bb9bde47aae99d6bff9207fbf92f5551a79455984b30ab16b37ed88e557b1b15a23af38ab79372e3dd320a661e7e693553089ab6eff01c33b7acf69e431eac48bb9e5d82dbcf7e08ddc73571f46fce138fa76273768702ecd9bda04e5f35a2ec316e9f9ec376d2ffef9c8abcc5db79cacb12750b20bf662d2348d8766cd62c1fc059c70c20900cc9e3d9b9a9a1a7ef8831fb4799d679ee9b2e7c83d0985c2044180699ae96e6426e565e50ce83fa0f509273a293fbf00217a604a0e4551144551bed33233a4bebe38c9690786d0ad3a4a7a5b0c1810a26a658c12dd44634717b1404a0c4d637849097d8b8bd912abe3b3b26d0cedd59b02c7215953c392cddb29186c12b193785189f0247e029ef9288ea11b689adeed16970e75154bb5b6044c3926dd4dac83f399055de82a16b4d5550c41225a4b4d55395b567fcccb4fbccae6ecdd18926b80944809227071fd1dc95268d851ecc707fce389f759bdbd92b28d6bd814dbf1bedd77023fbbf428aa9fba937faf4c778b92492ab6575055be8e054f3dc06b89bd99bc4736a16193186b2ce0e16716b1a16c0b5fbcf008afc74673f49e6d77910a0d3d927dfdb93cfcdc22d6965551b96d1dab36c79040b0ed5deebdf521e657343e6faf7c19cb365693105994f6cf4777eb709be58001f1ea0acacbcb534b450d6ed3aa69e55c5a3cde56cab0651ad97b1dc778ff351e7edfe69083fbec7233bb699ac6f3cf3fcfdc397399366d1ac71e3b95638f9dcab469d3983b672e6fbff34ebb1f30c330304d93f1878ec7f71b4fff6d9a269b36757f905b86ae69141616b6f319511445511445699ba669e8ba4e6d5267d6bc187e4c12d4788c3b3e9b5e85369e2711a4eef883f497b8070d1fce113367b2dbf4e9ec36720433ce3d9fd37e702ec71c3c9e29234631768f418c9d928389207005412ce0854f922cdb2a300c1d5dff1fb4b86406e57b9ec75967cdacbfb9ed88f666156b6d9b16690ef9d955bcf9c78b7913c0cca5ff9e07f3e3ab4e65374787836732fda3bbb9e39297f10023ab94f139065a64343ffce5e93c78df2c7ef56a1d380338f69aeb39b3b83e3059bb9fcccf267fc8efeef92f075f3392a1fde3bc70c3253c0744fa1fc469bf3c9731b91a1a7b30f39767f2c03df7f2cb1763387d0f60fae5177060ae066d4c3dac65efcdb9579cc203f7dfc7d5b3a3a0e5b0c7a9d770f50959c8e806962d594eaf3a019100818e86a076e9cbfcf59e05940560148c60cab947d3bf6966e0d730e7b6cb1bb48aecc64fff78e48ef7adc256cfa5f9f1ea14b55686ad9d983d98c947f7e78df78fe0d0bebb5ada92bab6274d9a44616111871d76687d4270fcf1df63c0c001ec3d7aef765b1633ad2e33669cc1ebafbd866ddbe87aea1b05cb32d95eb69dc2c2427273737be4788b7b1553595959df254d5114455114a5b332898b611abcf05992bdfaea4c196d50d05be7a8738a78ffa14ae23501a6ad1108c1ee2525ec316000414d0d7e2844d1e061d8155524bff89278551dab92b5148e8b336254882016e04705cb37c28373e398a685ae1bdd6e6d81962726b30e1d7f909bf98710824432494e4e1e2fbef062ba9b58c79291c7fef54f8e99d27ccae3b6bcfcca0b9c31e3cc4e6db3eb9378f128658beee3ba7f985c74e7cfd97ba79e9e2b2011f310d1c53c7ddb3fa83eedf75cb8ffae37303f43d70d84089abca67738e9f67d9f582cc6a9df3f9564324ec871ea6728f38300292423478e241cee814ad534162e584028e4b4bfaea2288aa2284a2ba4940821705d0f4bf3f8f5149b717b98847a1b54aff5f9ecc95ad6af48e026241347ed499fe22292be87af6bf8c904312f2021255e3841eeb85afaed0d781a5ead60c336b8eadf71b6468dfa4746b497b8cc9d37ff64200ec4d24b5d83dfe340a2cd16974c6b8beff9cc9831a353ddc4207dd3d6c9e990db9c55ecdb4a5430e78f9770ff9a5e8c3dfb7246eed4490be0aee3995f5fcb0bdb0a1835fda7fc7cbf5d3769019a252da9d73ade52a8eb3a966571dcb4e378e289c7094cab7ee09b6918f8d2e7cb2fbfa47ffffe141414e0385d4f3a12f17897b7551445511445c9c8b4ba589689eb4a6e7839c1e541982302494e89c66197e751fe5598ad1ffa5896cbb28acd24bd7437794d23542029dccd256f741c2b220962e045054bd6f9dcf48ac796a8816d9bf53d517a42bb898beffb0c183090534e3e25dd4dace389488fcf2af66da51771d4f58f70d4377d1c1d650fe1ccdb1fe5bbd62ed69accec62a79c7a2a6fbef90655559518c68e0fa9699ae8ba60e3c68dac5bb7aed3c97ce37d69ea592e8aa2288aa2f4881dc98b85e7c10d2fc459bcd1e2ac832df2f3a0608841f14813e15653949408a9a16b3aba06ba0518012209c90a0db756f2cc872e8f7e1490141696956a69c9f442e909adde01656612735d97030e1843382b0bd9c924c4711c9efbcf339dda2612c9eed4fa8ab233300c83fcbc3cf6da6b146fbdf506a669349aaf5cd7756c3bf5ac1c4551144551949d4526b1d0b4548f91673ef598bbd2e3f87d6d268d34e99527d14c816e48740da40808003f09d2d5a8ac167cb0d463f69280a56506966563db6687ba877556ab898bef0724932e7bed358a193366746a507ec619a7a9efe495ef86d4607c8bd34f3f83d5ab57b17efd3a002c4b252a8aa2288aa2ecdceabb73a55b60cae23e7f9fe3f1e8074946f737d8adb741bf029dfc306802aa13922d55012bb7fa7cb259529dd0314d1bc73131cd542b4b4fb6b464b49ab8d4d4d63260c0404efdfe690c1c3428dddaa29e21a1282dc9cc2e3662c4ee9c74f2c93cf4e083949597911d897cd387a6288aa2288ad221323d2c24735f13f334de5f19306fb95fff1e00da8e6e66ba6e34ea12160422fddcb98e8f5bb7ed8e7dd1db6ae272f86113b8e0820bd863e448a410ddea97af28df05990ff949d34f62d8d061fc63d643bcffc1fbdff461298aa2288aa2748b964e549a4d482c252208104180e7753d7e616141c78ea385d7ac43c71fe4bef8e22b5ddfbba2288aa2288aa2284a071c7bec940e4d87dcf39dcf1445511445511445517a984a5c1445511445511445d9e9a90742eca482c0c7f73c35b64851146527a0fe162b4ae7646695b2ecae3f7459519a5289cb4e289988535151c1ea552ba98bd67ed387a3288aa2288ad261baae939d93cdc04143e9d3b71f3dfc280fe53b4c252e3b19dff3a8a8a860f9d2258cda7b5f0a0a8bbee943521445511445e9301108cacbb7b16ce9578442218a7bf526083a3e35aea2b446252e3b9920f059b7761523f7da9b4143867dd387a3288aa2288ad269f9858584b3222c5db298de257d54e2a2f40835387f272384205a1ba550b5b4288aa2288ab20b8b44b20189ea2ba6f494afbdc545063e2211c588e47fddbb22a8ab420f65a319bb7643921002dd5039a5a2288aa228ca37250802745d470801641ec09892794a7c77891e9cf743ff0ee4875feb1d7ef4abf7d9fedc9f30b36ccc5ea3e93be39aaf27eb9692cd4fde4450f6055e6d82de275e41648f837b7e3f4d788160434592b2a8071a14844d061587b00c1d21259faeaba35f814def5cfb6b3f164551144551bebb92c9246bd7aec56be5f1e596653168d0201ca76bb37c492979f6d96759bc783103060ce4cc33cfc03477ed2f8a5b93e9d6661846a39f0d2593c92e976543df8564a327b578c5b554419d95dcb286b297ee62e031c7800e5be7cd23b965354edfa1dd8edd5462cb6ab49a95f43dec706420d9f8e29d98f97d70fa0ce9f17d01c492012f7c56c6fcd5518a731c0a22161a5013f7d95a9d60ff41116ae282adb51e6535497e73e2508a221dff701b6dfc21f07d9f7ffdeb5fadbe7ffcf1c7939b9bdb99d351144551146517964824f8eaabaf081ebc03f3cd17d0350dc3d290028490485d9238fc38969c7b097becb107a150a8d3fb58bb761d1f7df411975c72094f3cf1044b967cc5e8d1a3dadd2ed35ab12b088200c33078e28927b9f5b6dbf87f179ccfe4c99359bf6103d1da28050505646585b9fb9e7b59b060016fbcfe1a4545ddebdaffdcc24afc402085e8da97fb52a2e93aa6a173e28105dd3a968634adf32d4a5276bdae3b9a7b7c2d894b10ad62e3acabe87fe4c1b8db57621594e2d744b1f27b772b6e6becfcde24ab6a915e12bf62337dc78d61e383d730f0e7776364f76c17b5a55b623c38670ba306e472f4e812ea92013137200820376c33b25f2edb6b922cdd5ac961237ab36855252bb6d6513434afe33b9112dff75b7c2b994c2225cc9c7956a3d7e3f138b366cd62f6ecff70c2091d4c5efc2dbcf17f77f1fea01f71e58903b13a7e845dd3747fa28a8f9f7e9405052771eee4d2af7fff8aa2288af22d138fc7f9e4934f301ef92b596fbf86a119844b4c820a01ba86d94b27bed9c378ed056281cbc7675dc4befbee4b381ceed47e56ae5cc1a04183282e2e66cf3df764f1e22fdb4d5c4ccb42045f5fe2125bb396fc2f3e07dda076fc2138799db8d76a41e6794d1b366e60c58a15fcf2caab307ff5eb56efc9a2d12845454548291b7523eb8c553539e4e584b11c9340081a466937a694e8868eebfa54d7c4bbb4ff96689ace030f3cc0ecfffc279550b5c3b42c7e70ce399c70c2f15d7ee65547738f16d3a96e252e52b0f1f1dfd377fc01c87805ba1da17af132ecdd27a087b3bb1eb70d7a381b67f8a1542e5e8a6666219355941c38920d0fdf00ddc8fe9a5ab135c643f3b670d8c85e689ace9ab21855310f2f9004425097f059bd2d869092d1030a10122410f4600746dff7eb2f0acff3eb97cc6b33679ec573cfcda6a6a6a6fd6041155fbef32e1f6f4cf03f79b45ad3fd05e52c7cfa095efeb29aafe5cf9a88b1e1d3b97cb02afaf5c457144551946f502c1663debc79787fbf8bec39af130a9984232666d2209c6b138e5818499d70ae8513b688cc7903fffebb98376f1eb158ac53fb5abe7c3923478e0460afbdf662f9f2e5added0ff2fbcfefa1b6cb9ec52920f3f42d5030ff0c5d5d7747be6b2ccb8152925baae13c9ca420a81659ad8b685659a58a6493814c2b66d56ad5e5dbf7e57c5abb610adde4e3c5a865b574e32bdb87515d4d59411adde4e5dcd76ea323f1b2d6544abcb88566d235eb5a55be7ded47f5f7881acac2c727273c9cdcb6b75c9c9cdc5b22c5e7ee565a0ebfddebad5e262762371d9f2dcff9157a4a38b245e6d0dbeb088d63a0c9a7961976376449f132f64eddf2ec7a9acc43003f4481e39791e9b9fbe8bbea75edcedf8495f70dfbb1b3978446f365726d075a88aba6cae49501c313135d856eb53921746c3a4cef588bbc1d7f2b4e54cb36b6b4d72679f3d9359b3fec149274dff6e771b4b2ee5c12baf66d9ccc7983534bb8353e809a22bdfe1f977d7101a7312278cce83eacf78eedf8ba86e61ed3e479ec9d4c199314c12af7c316fbdb490c49853f9de1e91261fe1f6de5714e5ffb377f7f14d9577e3c73f491f72784c28d08687d6201483d05114a48e0e2aec46047188a22d432d3f700b638e0cdca8756271138b9b2cec1ea37ac3ddaa0cead0da5b0756675d5518c532ad16a5b42aa508a4ad4082b44dda26e7f7475228d0274aa10cbeefd7aba4704eae739d939cc3f53dd7f5bd8e10a2fdde7bef3dbabf9241c8471f703c4883a3b601a32e089d0e2aab3d68807edd34d4bb558ed436e045a5cf07ef405d3defb95cdc79e79dedda8ed3e9e4f0e123cc99330780d0d050ba77ef71563073391d79e9657ef0c61b68b50134a82a3aad96d81327d8b97d2dde1e118c9d7c6f87cad56ab51c3b768cf5ebd35055955a970b5555f17a3cd0242652f1dd484e4959c9a4f72676b8b705a0c1abe2aea9a6aec6f7bbc65f3e40a0568346a3413debf672e3b67c77c7355a0d5eaf4a436766f9033ffef18fc9cbcb6b578f0b1a0df7dc33bb49cd2f5c7b638f4e1d2ae6d8b50defe18fe83ee6466acaf613d03d84638507302ddf081d182b7741345a06cf4fe1c0ea85848e0ca3e1f897f418349c53851fe2c8bf0143ccb48b2afedd2f8e630aed8db3dad7bb515659c3b0501d3f9b3c849eba00367e78847a55ebdf4d154f832f17a623433b03da9815ad31183a3726aaabab63eddab5a7fffeda6b593cf0c0bcab3679aef3a9d41eda45cece234daf4f687b0e236e869133f7953c9cdcff211f1ee8c97521be63eb751fe340d1bfd95374981ae0dc11af6d2d174208212e545555156376fc134d5020ee69b3b8f30fcfb323d9caa91daf3165cf37781bea39b4fb03de484ce091d24abc9e063ef9eb8b9cfacda354de7647b365befdf6db7cf659110d0d0d78bd67fe371c31c27c563e476c6c2c6fbef977b66f7f0b80fafa7a3c9e06c2c3239837efc79d32eb566dad0bafd7438f1e3d5055959a9a1a9cefbe8bf2faeb28c1be9b865e55a5c6e321c0e3a1ba4e47dff0f00e4573213e00002000494441546dab31bf65efe79f73fcf8717af7e8c6af1ffa11c3c28d7c6bff1697c7438fa040fa84f5a370ff019e7be90df6efdf4f5555156161611d1e2ee66ef0f2b33b4ca0854fbe76d2bb5b200d1e158d06c60cd5d34b09c455eff5a5bfa82aaaaa018daf2d5857ef21b44f770e56d4607be3ab0eed777354d5cbfdf7dd4742427cbbdfe3f178f05c440fdcc5e5b874a0a15bf7ed619ceffe0fc649b750f3e5e710d49da3bb8a18fcf33f13d0fdf2dcf50fe8de9b410b7e4bf99a45844547e03af805a151c339f4ea5aba5f3f8ae0d0c11d2e3bffabef187b7d085f5756e3f54244df201e9a30e0f4f22f0ed7307c406f5454541502023478bc2a011a18d4e7c292e0b46d4c31d1d8e3d234e1adb6d6c59c39f79db5de5b6fbd85dbedbeb0c0a5a18a5d2faee12fafeea0ec14f432c532e7e7cb78607cbf335f9686637cb4690debb6eee0eb935e02fbdcc89c55367e362a90f2ad49589fff882a37a018b9e9ee25fce627b1f46fa50adfe63cce3d6f54e1acd7d2fbfa1ff0e3477f4d7c546f5f0f495bf5f156b3fff535ac4e7f9752a7171423b1bf58cb6f670e3c5ddf836973b92dcdf7fbe8df6ee7bfc71f232f3b8faaf0a9cc8a1d48637f89c7b98fbc0f8e3060e2440276bfcbd1c60a06742724b4fb99e3ffdd17147cedc218331d736f2de0e5bb929d7c74a81737de36818a0f76e23a6b0fdb5a2e8410425cb8eaea6ab41ad0066bd0df380697e304bd468de6f83fb20078edc159ccce789d1e437d0fb4def2c01ce6befc2a9b9f4ba5babafabcf28e1d3bc6ae5df93cfe78324141ad679ede72cb386eb965dc79ffbe72e55394979763329900a8afafebf0fed5d5b9f9e0c30fe9fece3fe8517d8a90ea1a7ad6d6d23b38180d10a8d150e3f552ebf5e20486ff600e61a11dcba76e6c3877d3e9d06ab5fcf11773f97f0fcec355750a455f0f6e37e882717fa770ff0c852055c5f6da7b0405f95a1b1ded7551bd2add7401ec3d7892fc1227c63edda8a9ad23a2bf820615adc6b78e46eb4b3df078bc0404f8a65176d57908d0a8e882b59d3ec2c7e3f15cd68786b637f6e8b41e973afb417a5d3f88ba035f80d7cbb74507e97ff752ba45dc70c1655d8c6e11371036e7518ebffe1c7daf37505f564a9f2121b88f1eec70e052edf650dfa052edf2a045cba113a778e8fbd79db5ce5d63fa92f5ef4a9a8eef0b0cd090386120d7f56d7fe0d29e2fbeaaaafe9f33814bb76e0addba294dfede0db59524ffe60bae61effa9ff3ebbfc10f7ff65b1e190a5f6eff0beb1f7d84dae7ff979fddd80dd45a3e7fe1e72cdbd2c0a4877fc3a2917aea8f39e8353018d01032e61e963cfd20fd7a79a9fc6813bfdf98c2ef6f7c95d438438b43b58287dccee21f8fa1af7a849d197f62fdafd770fddf9e24a6676d9bf5a9fffaafacb07d40d8fc95acfb7e18eab1433806879cf5c536defb0cbfbb73008168e86eec017c8bd7abe26d7a927b8e5394f731ee1bef60fc60957fef6ee918b9f866cf2754f6b891bb86350e3fd3a28f9a49429406ea0f937bde9bda5a2e8410425cb8ea6adfcdd463351ec2a346f3e9ab5b187cd32d94683d34343430f6a7bfa4eacb62aa0f1da6a1a10125444f83c783eaf1341bb8f8da7f2a9f7ffe39d1d1d1175c9fd2d2523c1e4f9b414f5b6a6b5db85cb5a8aacab061c3a8d8f92f061c3840b0564bbfe060ba07049c1e94e4f27a71793c1c9e3891f11d0c5a6a6b5dd4d5b95155956e3d7a00f083b1517cf3afcf28daf5293f5c34134fd53102060ce2fdcd6f72e3e8e14cfefe4dbcf0563ef5f50d9c387182808000828282cf6a8bb58746a3a1dee3c571aa9e1a3728dd7be0f6c0a12a37df7c5b8b29544bbdc74b7d9dafd725400347aaeae8a104a0a2e2aaf350d7e0bda8e16ae7d7e9ca4dceefb41c175505b5b616d55387262000eadd1733d4eda2a8aa8ada508fb6c1030d6e50bda81731f6cf59db80121c40b5ab01df9842957ebdce3e2927ddd087493774de34749e8696a3dc333d2eadefd3854e41e875ec6263d6112216bc4c72828920e0963111b8f63fc4a68dbb99fb8738f4ce7c36befa0dd72d7889271f1c72de4c603d877d9f49c37cbf8f8cd4f375ce43bcf1efc3d4c51968e954ee7dc34426c78e400744877ec38e856ff1ded76e6e8968bb3ecaa90a4ed28b5b6f1e4794b9071ace1f6babeb771d43878637f9b20f61ca8f9b4e95ede1c4de0fd9ab8e62faf7fa12c8b72d1fa393a57c5ce6253c6e2421679d266d5d30249b45082144e7aaaeaec6035469b5445d3f9cedbf5ac2887b12b09f5471bbdd1cfa780fdf9bb700ad418fdbed66ead36b2978690306c7714a9a49ce37180cc4c7c7939d9dcdfefd25dc75d7cc76cd3ee6f57a79efbd7fb273e74eeebc730683060d022040dbb1d48393279decfee8237aff6d2bfdbefd96308d0635208020ad967aaf1797468306f0a82ae5b5b5044446327a91a543db02a8aaaa44a3d1a0d16ab9de64e2a1071fe4e5377279ea89650cbef946a8b1e3757b08725733f5e1d9d04bc71f927ecb3df7cc46171cc4a99a1a54af175555898888b8a06dabaaef4637408dab81ee3a2dd78586f08dddc97b9f1de70723552207f64409d6e2aaf7b0abd841c937a798fcbdbe841a82f1a8a0d568ce4b1fb8588dc9f95aadb6d5a0a8f12679cedb39fce8473fa2a38dffcb9ee3a20b8bc0fef92106dc6cc2f3ed51fa5f1fcad1979f2178e010ba9bcc175c5e47d5941553b1e91906ddd00fb5a606ad3e84aa7f1f66e83c5387cb0cd46a68f078a9f7a8d437a834a8beeeba80568674a96ac79fb5a9025eb53d814beb81c985062e75470af9ba218489e38c670292a081dc32c640faae428ed6c5a11cf984afea4398386e4033d317bbf9e69f1bf9d38beff2d9c12a6a037a10ec86a0a8f6f7fa04f61f4a3f4ef1eda98676d56784792e0f44ef60fdcfefe78ba9b3b9f7debb993ca2cf053d59d55bfd15f94575444ef507232d1e7a0f274af67142b99e5b077793504408214497aaaeaea6bede438d69385ead96d92fbd8a0750ae1f465d5d1d9f6d7e09f37df308ec61a0aeae8e2dd14330a3a13f9a667b5c00cc66338f3cf2086fbcf1267ff9cb5fb8e79e7b3199ae6b765d8093274fb275eb566a6b6bb1582c84859de9f5e848ea014058581877cd9c49d5adb752b76b17f68dff4b504303b51e0f5e55a5ce9f905f56538373d02046ffe6371d7a364da3f0f0f0d38d737b6505bffffdb3a4a6aee6c9dfafe7075143e9abd3d1505383e238c9c9861276ee2d4333e8467efbc41304050561f0dfb7eed0336b342a1e2f0cead78d887ec134b86b39ee6ca0b6ce435d834a83c7375ccc71aa9e2f0e9d62efc15304046a3974cccdfec3d5dc340c0c3d833a3d70b9dcc9f997fd392ec1a183099bf71b2a5f5e8971a411cfb1630c1811c6c1d58f30ece9cd0485f4bfe0322f54fdf12a0eae7e8441c342d07c779280de7a0e7f7288418b9f2538ace3f92d213d823855d78056aba1b6be01253080cf0f9fe27be1bd9a5dbfa6cec3c95a0f7dba05a20beefc49092e558f4bfb36def236ebbf7a995faf7805edcca5acfcf58df455cbc97a2285bc0b285ea30d448b8aa7bddf7d652873d7be4eeceebff3ca5f37f1db9fbcc42b0fade7bf178ca07bdbef06545c87f763af3f857ddb26be68ba684f169bec3f24febfc27d79309ee3947e5d4d37d370faca436784104274b19a9a1aeaea3d04dc308223459ff2e9c61718f39345f4193e82baba3aee7d2397f2fc0f39f1c55eeaeaeae8a3851e0dbec729b4361d728f1e3d484888e7e38f3f66f3e6bfb27cf9f216db862fbef812d75d17c11d77dc71d143c4ced5a7674fbef8ac08a5a1019d568b16dff805afaa527cea14aed1a31993b41ca5cfc58d78d16834a793eb8bf7efe79df7f3787ac50a3440eaead5ac5af524018181781a1a78ecb1247ef6e86fd137f3cc988e4c48a0d568a8adf73036d240589f600e56d6f27ed13102b41ae6c40e64707f050df0cdb15af2f73b300de8c9d81bfaf2c541276f171ea357f76026dc18d2a981cb7f5e727e076715eb7df324aabf9ac3f18f5fa74f9882b7e624618315be4efd25c39f4e47d3c95fe8a6d4867abe5efd4b420729049c3a05c13aaabe3e46cfdbe6d17bcc848b2a3b304043441f1d750d1edc755e06f7e9c696dd555cd7b71bfaee671f4257bd97cf0e55835643750f0f11213a82022fec8b1c1414dceaf233b38ab51e98b4779ca1eaf5a202c103a3191298cd277becd48ff40dcda2fe081f7de22068c868060443f08051846bb3f9b8e028f523cf1e2a56535ec821cc242f9cc9f8102d787a606a26b66bdc5e5bda531f00b4dd89b8f53e7e15339da9b607f9f9ab7fa3f8c74f729326881e3a70395dad3cc7458362ba8dd9a10d67eae439c167efe45131f487fc70e499de1e8ff310dfd4e81834c470413d3a420821c4a5101212c267c36e4079ed150ab2b7324c09a4f09fdb41a3252f7b2b1a2044abe56645cbbb6386a3d7a8d46ba168989990909036cb1f3c78b07f0449f3630cbc5e2fd5d5a7183162448b414b7d071bb3df959753b2fa5982bffe9a60ff10b160ad16477d3ddf0404109610cfe8b973d17652db52a3d1e0f57a89fbc144feb56b17f73df800ff35793259afbf4e686828bd7af5a2aaaa8a2f3eff027defde34343474caacadaaaa418386a0402dd78576471714406d9d871b06f5a09f5e4783c74b9056cba0906e98c37b70a2da83fd841b63df9e0cecdbdddf16ecfc3120973d39bfab9ee33260ce4ff972dfa77cf7ed57f4d279d169547ad51de2f08b7f64f0c25f77b8dcb61c7e710dbdea0ea3783468bc1e4e1daba54e3f8288fb7fda29e5df3e2a84f41d15f4eda1c359d380a97f4f1e7fed00a3067527d66c20b46710df1c77f3c5d16a02b501e88234046a34f4501a08eb15dce16163cde9b4a162013de9d713aa3e7a97dd07c3898db89585b307b2684312cfe82cdc31144ab7fd85f46f0691f09b18f41ad0844ce0ffcdeccf928dcb58e17d981951fd093c554975441cb1836ec4c82b64a6ff9d3e5323e9a3ade0704d2bdb1bd87af5b486b6eb537f348fecdd3034328c6ef576f67cf51df4ec47cf0020702051a640b2b76de06f37de4324951ceff703a60e3dc1074d67150bee89be69ace86940a785c06ebdd1f708f25f0e54dcc78ef09da60f371ba4bb45082144d75bba74296b00a307461fd98fea6e2042a341d16bf1d4f86ec705285edc4e0fd7a92a6aa04ae1c01b381a3795a54b97b659fe279f14121535aac59e04ad56cbb871b7b06bd72e2223239b2fa4035d01f6bc3ccad7fd85eea74ea1d168707bbdd4ab2a271505dd2de388bef75edc5f7f43cea8581cf68a16cb3118c3b8e98f4f639cfec3766d57abd5e2f57a59beec519e5ef50c6f6f7f8b86fa066e1c31829ada5afaf5eb477d433d5e55ede4474df87a7bea1b54faf60a22f6c6108202b47855f078bdd479bc841a748c1d6a206b979d7f971c43dfb31ba75c0d9d9a94dfa82b92f32f2ec7e5623e0c8d96eb97afa1f4d104ba8754a3757d471f7d37cafeb18586390b09d4b71de15fa87ac731be7bf71586dcd007efc96aea02757c7baa27e6a7ff88a613e611071839a827d7f7735079d283aa6aa874b8193ba40f8e9a3a5efda80aafaad2afa742779d86ef5c75f4eb19c829b7efcbd6d9dfa9969ee3d2d27a2d0a1cc834cbbdbcbf2a8bb5afc671cbb2518c5af4679eedfe1ceb329ee01fd5d0d314cbfcdf2fe3c191fe9c0e4d4f6e5ab29e54838de75f4be5b1742f2883885b761371b73fc4efacc778f6c535fc2adb17a5ebf4031915e19f7debdcedfda28d843f4df736ebd3706c3fff7cf115fef46d3d10489fc8492c4e799061c10021c42d7b9482157fe6f927fe0541fd19f793514c19dad6116e8e87ea6f4f81721d3d256e1142087105e8dbb7efe9e0857f78317fbd8f008d86ba131eb4011a5fcac171152fbe5c89e28811d8a7dcced2a54bcf7a264b73bc5e2f9f7efa29f7df7f3fe06b537cf8e187ecdcb993f0f070eebe7b363d7a7467fcf85bf8e31fff45555515fdfb773c2dc0ebf5527db09cc39b3671f2c30f518163010178f57a82c2c3e9f3bd28a26ebe19c3b061688382c89af90023478e64d08ce900040fbf1e6d8f1eb88b4b516b7d0f1d38fcf501feb5e43166b733708133c3bd563cf11b001213e773e89b6f4ef7c8040506a1d56a3bfcdc96736934e0f5427d8397fa7a2f01811a8203b534787c0f95f4aae06950090a0025584b9f1e81d435a804d2c0a090608c061dee3a2f01019ddbd8bcdcc9f9ed8d3d9aab49d0a29f2ea85bfdec731dda70a3dab22ff9ea57099886e80844a5fcc077843ffb1add86b410915fccb60e9470e8b1fb8918d283867a28fbba96a16b32e966eadc6dd5d679f9c3db07a96fd010a8d172aab6819edd02e9ae0b44abd150edaec75def25a45730861e1a86f4539838dcd06a12ffb95cb5357cf2f1bf193de626c28ce77749389d4ed2d33358b2e4176d96b576ed9f983f3fb1d9719842082184b83a1c3b768c356bd6d0f7eded44161711101c80eac5f764f540f0b83d7c39228a6fa74e6f57d002505252c25b6fe5f08b5f3c426d6d2dafbdf61a870e1de2d65b6fe5b3cf8a7c7910f7dfcf80010378e38d37d06ab5dc79e79d6795515f5fcff637b2b87dc65dd4d7b5fe3c979aa34739969fcfa9ca4a343d7b12a437d03db43f3dc2c2e8d6af1f81ddbb9fd580deac3731a1ff401aaabe65d0dadfd1ff170f035077f010fba327e3719c24b07f3f76561d61aeb3ec828ea7aaaa78bd5e0e1f3ecccf7eb618afeaa55bb7ee7cf7dd2982020378e17f5e60d0c036868db4d38abf1de289fb8713d22b0868007ccf873b8b57f5b5d8552d276a1a876f69a871d533a84f200e9796159bf6f37442c71ebe792e8d46cbabafbd76c1c9f9936fbbadc33d2ecb7fbd8cf5cf6fbc07a8056afc3fd54d7eaf055c9d9ae3d25437d330c2973dcb57a9cb08f4b8e876eb0cba99865d74b9cd6f2b92c0e81ff2d5bfb6d1a0d1617aec8f9d1eb400740bd6b2fc0e137f78fb20150e3721dd83d16a3554bb7de337b51a0d0181f0ed77b59807e8891da6bfa0a0a5514080166f2bd9e9b5b5b53cfdf4aa36cbe9dc6e4c218410425c899af6bcecbff99666d7e9d7af5fbb8316806fbe394c78f8608e1c39c22bafbc82c1d0879ffdec67180c06626363f9c73ffec1c68d1b9936ed0e860e1dcafbef7f705e19015a6dbba758ed3e6000ddefbebb5deb36aaaef23dbe20647e0247d7ace7db97b712f5c97be826c772226b3beeaa961f6fd01a8d4673ba2dfcbbdffd96c24f3f65cae4c9e4bef71ea3bff73dbc9d98fbd1d310c6be6f83e95f0f1e4f90ef81939c6987abfe3f5415d0405060a02f8651c1a30673a01acaedf504683b2f3bff3f2e39ff62725c9ad2c7dcc6f75edd4dc3a9ef083274fe10b1d3341aae4ffa3df58ec708ecd90b4de0a51bcb131ca8217986893d65dff1e627551c3d51eb7b1a9017427b07323cb4073fb8c170410f9d3c9756a3456d613ae4c0c040e6ce4dc0e3f1b4fa21372e97e045082184b8faf5eddb97a79f7ebad3ca8b8e1ecd4b2fbdcc575f7d454c4c0cb1b1b1a77b3c828282983e7d3a66b399b7de7a8bdada5a264f9e7c5e19da8080f6ddb1ef20b77f5892ebc0417a8cbf098fff6effa9f26f4e2fbb181111114444449c7e1867e2430f5d7499e70ad339d9f9efe33478daf710c9a60fcfd6a8a00d0c4217e065a2b977a7d6aba1a1ded70174995cf6e7b8b444131874698396262ed77600c69a7a31b6b929b32e319d4e47bf7efd686847541b1818884ea7bb0cb512420821c4d524242404ab7549abeb5c7ffdf52c5ebcb8d5752ec9a319fc5cfee0e4c4ae3d0cfee943f49e309efa63c739fec57eda377f69ebcee414aba7a74c065f8f4c6725c53f34e9d23f2ee43f41974c872c2ebdc0c040e94511420821c435af3170099d3d832f9ffd1387335f67d2c7ffa4f7ed71d85fdf7ed1e5370627e7be8ace7771814ba0042e5d45a3d1a0d56a71b9dc5d5d1521841042880eb31f3de29b20a8939feadea8c65f70fda96afa4cfa3e1eff8dddef8e1d3fbd4cfc67686fec7149735cc4850b0808246ce040f6177f8ed24dc1681c88563e8f4ba6bebebeabab204487d5d5c90d0ef19fc9ebf1e2f55ebe87db89cbafb6b6968f0bf219f5bd3197e4b30e44c349ffec5bff5cf808135f58cbf50f3f40d1da34befa60e7e9f5822ec1c31945e7bbc81c17198ad45502838218386830ddba7567ffbe2ff868d7ce4b3a3ef44ad6d6dce1e2ea151c14dcf64ae2aa131024fff75c8bb45aad0c51bf2a6918f5bd31f40f0ba3e112dc240cebd9932f4f9dc485caf1f7de67efb0e8f3d651d010396040a76f5b74bef6c61e92e37205d2a0a17fff50c2c28ced9e465008218410e2825da211552abe67a15c8aa00560ece6e7a97ed88aa3a2b2c5750c61a1dcfcfcc53d97505c1e929cff1fcee3f1e0e9c479c28510420821ae163d267d9fe9251f7575354427696feca16dee1f25c7450821841042087139b437f6683670911e17218410420821c4e570d1d321171515756a8584104208218410e25c17351d72404000236e1cd9a9151242082184104288737dbc27bf5debb530544ca6a4144208218410425c7aed8d3d24395f082184104208d16524395f08218410420871c5bba8e9902570114208218410425c0e12b808218410420821ae7817f700ca764e49268410420821841017a3bdb187f4b808218410420821bacc450e1593e9908510420821841097de454d872c841042082184105712e95ab946d5d4d4909797d7d5d5b86aa8aaca9429535014a5abab2284104208715592c0e51af5f6db6f939090d0d5d5b8aabcfefaebdc71c71d5d5d0d2184104288ab92042ed7a8a0a0205455455555341a8dbc76c2abc7e3e9ea8f5508218410e2aa25392ed730afd72baf9df8aaaa2a4208218410e2d2901e976b94d7eb3ddde302c86b27bc4ae0228410420871e95c41818b9382cdab59bba5084243d12b0ae8f48c8a8de4d08e0896af9982fe72d7a8681b9bd39ee2f12da51099c0732b2ccc9e1175d9eb71a948435b0821841042fca7b83202175709ebe74c6535cbd9ba6915e34e4706156c5b7a174fed5dc212b8ec01833e6a068b9657b265cb32485ccefc191197b906974ed31e97aece0db95a5e25101442082184b874ae801c1717054fcde1f13d6359b3615193a005208c19ab5e6645a4136757554fa7f3bd5e85b3dcb62777a362c77aac33c6719db10f068381eb6eb997a4578b7135ae57be9e71613fe4b58aaecf3139efb566373fbbce57ef3e7dce7efdde6345d494ade307c6ff62d3512f94fc9171613378cdd9c9392eae5cee0d09c1342f8b8ab31638d9367300a3938b709dffae36b828b2cdc41c124248c84c367fbc9e8903a6b2b90228b1317ec04cb23af384295fcff80153c9aa687b5521841042884ba5eb03978aed3c957608dd94454c096b66b9329cb996d833bd2dae1236272f66f1d2a52c983991a90bd22970023829485fc0e8901042462f26abc4e55f3d8ba5e3cddcbbbec017fc380b484f5ecae2053399387a3c3357e652818b8a82cd24cf1bcff805dbc85d391553c86896ee38bff5e72cc862e5bc898c5e904b49ee4a668e1e40c880892cdd5681ab3c8ba5534d84840c60e2d25c7fb0e5a23c6b29f3e62d2579f1bd4c1c3f93954dcb7595b079e90296da6c2c9d692224248490d11399995ce06bd0365b5f9f92f55331991790db81466a630f4163cf4b73af0737cfe39699362a273fc1d6fc2ff8e2933c3624f666dbc249fcf8af65fef55440456da59cae7b0515b8f90f797cf1c51767fdbcfdc44874fda7f3f4ff3cc184de8dfbc145ef474b4e6e5fccc2cde517fe4135c7554a56fa4e429f7e9f7dfb3631f7c619acdab082d8ab650ca3104208214433ba3c7071edcd620f103925b2c5a160faa8287c314d05db16ce61cba8e5ac5bb3868d5b3770f7a164ee9a974e397ac6cd5fc7babb7b8312c9a8e1be2e1225229288b12b58b3681c7acad9bc740ba14bd6b06ee39bbcb3693a956be7b0707325287a5c45a594eedd42d1d8252c4f882552af3bb7b6a00fc55db497437bb3d8ee9ccd860fdee7b909a5642c5e48721624bcfc29851ba6509e914c7a095091c5c2c5b9442c5fc5aa759b786e42296b93b328f797b723790eabdd165659adacd9b491bb7b43e894e7d8ba6a1c4a8bf5f5852e4a5838111161f43eb79aedd018b8b4f8e37897e4e4ed44fc2e8797964ce7e6f05042c34731f9a7ffcddf7e3719774111f6c67571b263ed3cc60fec4bdfbe4398b4703325b5be658e1d36e64d1a42dfbe7de93b643cf36c3b4ebfafe56507796de95d440fe94bdfbe0319316921e99fd59eae9ba3209d859346f8df378985eb0b70b4b01f004a6838a1a1a167ffe854d48a6d3cfef053ec70a8f8c22f3ab48d73b7771e5d6f262744b167d942d697b4fc993877d89837d11fbc9a7cc7e3bc4e0e57112ba7ce64ed21d8fbd44ca62617e1aadc46f2c2a76826cec65990ce8289667f991359d018c037b7fd82f567af9bdeb437c8ff190f082124c4c4c4059bf1df1b68a5dee5642d9dc9685308212103304f5c407a5193125baa5bf97a269a6692bcf45ec68f36631a6062e282f4d3db13420821c4b5a9cb03176745256e40d1b7e37671491ac9b97a664ff1e79a28c399bb7c3aba9dabb115b80085b1d6b98497a6b3c5df40721565513e7d0a1180ab288db57b2ad9b9c586cd66232dcb49e484b1e82a9de8a362898d005df87ce6cf98c1a275eb581475eef83005fdf0282644802e3201cbec28c2f4c3993d7f2cb8f5ccb0cc665c989e88290944514e51a50b9448a6cf9ecdf4087f20a5d783b31ca70b701591b5fd10fab161be9168fa51cc180e95a5be63d2727d2b710111b337f2c13bab18d781616c6df5b8d47cb6859d2747f1e0b4c1e72c0f66d84f5fe2f5df4f23b4b1c7c5fd25db2beee085cf0f51fadeef08cd7d9465dbeca807d3b9efbeb5b8e35fa1b4b2922fb37f0a69f7f1605a09deb2ffe5befbd6e2ba3f932fabaa28cdfe093c7f1f0faedf8fe3ddc779f4bd61fcfe5f555456fe9b17be5fc4e38f66715055f1da5fe3e1fb1ea77cd6f3ec3d544569f683389fbd8f85afd99bdd8fc660a4b51e99f37a8eec592cbcef71ca67bdc0def24abecc7e08c7b3f7f17096bdd51e97962944246e60dd94121e5f68a3a8b90678793a73e6d870256ce5c0f1e31c78d302697378e0dc484789e2c977dec412ae63c2a6623edd18dbf228c68a2c16cc49e6d0ec0dec3b729c036fcec7b97a0e0b9a1bf35591c58239ab7126bcecdbfea6299426cf23b9c05f597729db2ba6b3a1f80807de5f4568ee32966daf68b5decedc6496e646b266f7718e1f2f6443ec5e9297f983f636eae63eb9935cbd95773e2da6ac7823913b937ddb13420821c435abcb93f3157faf86cbe9a2adf4fb8a3d3b39e4d613daa4a5a61f3585e1bcce9ebd95302e02252a91f99169a49d10e4150000200049444154a517b17ccd70f6bcee64c6725f7f8dbbb48872fd6c2cd6f99c9f66ef4407e8f43a5aefc0d0a19cb3824ed1a16b9aa9a0f355d00da01f87755d1425dbd6b3726725ee7267e3121a13679ca54e7c6197824e07bd2342d1b559df8bd3b4b1dddcd4be2e572527e94f78ff26c3a89a590f1560183f79f47e46f602464ee3c151bfe289bd0ef65766b077d8afd8f1f04df4565518f9204ffd2a83d817b6f1be9aed5bf6939be9e5f5c2c88778ead117897d613b079fed8deed04e32b7bc46f01d93b9f9b73b7d8d5daf978adce7d9a97f90ed0f7f9ffec1fef73df202539ecfc53e2b9ed0a6f5f3d7fb5f0f0d23b4e9ce8f7c9c1deffd82c8c66045f59eb54ff6dc34fea57f90ed0fdf4a7f9dafdebf7de479a6a4e552f1a378429b3b0ed046f012caec75ebd836fe0116ae9ec0fb4f0e3f6b69f9b6748a2297b37bd138df5910359f55cbd3199fb69d9245c319de6c99adabc84d63a77e3eef58620953fc655ad39894964bc5ecb9341d9959b133ddb7ee7cfff66397b3f59dd9b823147cdd20915896cf254a0f44cd607ed432928b9c9456b45ceff2e7f4288776b2794b16bae95318bb6a3747db53b70d806e1489f3fd4344f563991d094f1539617673e34985104208712de8f21e177de4142281f21da56d2729bb5d8093caa6635d143d3a40694ca26738b32da3a8cc4a6367f90eb298cd047f3ce4c28dbb3c97d273c6ca382b2ee1181457099b174ce5a9ca5896af7a12cb84264d682592f99651546edbe2bb0bef2c22b7722cd625512897b8be6df5b804f51a4c7f9c54389a595e5b81fd84ffefaa1774bd19dcab717910c13a505d4eaa4a2ba1ff50fa37797fbfa1e1e89cfb39b8af124287d2af49b9fd8785a37396e2ba69359bd7df86ebada749881dce75a3eee0918ccfa855554e9456e23ef43f4cb92e8cb030df4fecd35fe23e594a456df33d2e239fdac6471f7d44414181ef75cb830cf57af12d05d426c199d78ba3b4aac56dd86b3ad2e3e2a79fc19a0d09b8d62e24f9ac715d2e2a4a2b2174f85901566864043a67a9af77ae039ca515b80fa5316960886f38564808314f95e2769652794e99cef24a088b6c725340212c2a8a88c67b093afd99df1b8377f7492a5ba9b76bec736cdd3005f7f695cc8919c240f35416fb879fb55a37b77ffbe7dc2070f97f84104208716deaf2c085e1092c9face3e4f6d564359bbbeca264db364a5ca01f3b96504ad956d434b9dd895b17c9f4b167eec4464cb732c1bd9d95c95bd0df3df6f4501a7df828424f6e67e5e692330d20672ee9b99d9434dd0c676e32cb7223b124443533a447216afe2a2c632bd8b2dac6faf43d8cfdf356acfefc9c4b5ddfd666c95286ddcff77b7fcc4b3987ce5b5ef26202a36fb1b0a3c6df63734e79be0e8860fa0eed0d55a55434797fd5978770f71e4ef80d7aa82ca5aac9fb2a4a0ee1d60f23b8a28493c396f1bf7fdf4dd9814f7973597f72962f27f3a017fdb050744393f9e0e8518e1c39c2d1a34739b26f371fbdb68c1b839bdf9fde83af273c3c9c418306f95efbf5f22f3fbba7a43190e935b43fba61c97cd058fe91231c2dfe88ddaf2e6594d2f6ec62add1c73ec7060b642c4c26d779a6e72d2c520f9525543659b7b2b41cb73e127d0767b4d34786a18b5c41fef1e31c6ffc395048e11bcb397714a43e420f154d031a1745e92b59df5ce2cc693a425ba9b752598a3372399bdef994a347f6f1f6f250b62d5bc696f236ead6819c2d218410425cfdba3e70218cd9eb369110ba939fcf59cce6a641091514a4af6667682cc31550a2ac2c9f00efad4e3f9d27509ebb05e7941524341d4b133605cb14d85b14c9ec262d34659c05cb28d8fbf824ee5a6c237dfd4a16ccdb4cc414df9bdd80dbcdd9dcfefa9c6ed0b971b9c1f74793d5cefa8b3fbfc65fa0fbe44eb6e496505e9045daf672705650ba6707252e27db162f26571fcbd8a808c22222d0571651e4ef5169abbee59be731716a32051db80ddde6ac62bd62786c651c9f2f9fcdfcff7e8ba283762acaf792fba744e63ef925b73ef618b7ea5a988dcbb70106ddfe0023bf7c8e152feee584d78b63ef8b3cf1872f197adfedc4de3e8f915f3ec7131945385495134519ac78ee4b86ceb99d7eff7a92b9f72ce195d25abcc1fde8df5f874ed79bdec12afd263dc04d557f66c5f30554a82a35f65c96df399e197f28a2b6851c175ad9cfd3cbd533fbd13fee016eaafc332b5ed883ddeba5b6e23d7e3de316ee7c6e2f351dca71694a61dc8a4d2cd16f2763ef997f8d98914854e96a92d38b7002cea274925797129930bd43c3c400c2a62432b6c246f2fa022a0057452e4ba7463375f5f95330874db030c199ceca2dfeed17a4b12c398b525deb5144782bf50edd91cc9c998bd95ce202258cb0501d8aae377add85d54d0821841002ae801c1700c2a6b06e773e539e7a0adbbcd13c45181111e184860e67ba7505f34f071f11ccdff406aea5cb5878d70e4645ea419fc0cb1b6670f6c8773d532c094c2f4a38e7cef270ac5bb7e25cbc94b42d4fb1277c324bd66d6476988b926d36d2f7809bd5acde168a75c67028da46565a067b013256b33e622e139502d28bc0ada4939e1bceecf0436c59bf07dc909eb68df084484ab7a453841bd6a7b1e799e52c193b8fb50fdc4569e22a9eb3ce206bde0eb24a97333d56877b6c18e5b6952ccb38d924f88924f18d775813db527d7d6bb92a2b292dd771d2cd053f67a63d0f4c1c3c67036ff75ac3336b9298f94c156ea0f7d038e6ac7b9bc77e34b8498e4be3ac5afedf7d1b401dbc900d9bdc3c96742f373e76127adfc8ed8b37b069f1505486b6b8ac3f6b58f7efa5a44c1dca2fddbe6dcedbb086bbfaaba8cc61c326278f252d604c4a15d09f3173d6b0f5c99bd0a9a7077ff977f2f4ce36bfafe7d5dd7f5cfa5fc036ce39a6eda244b1fce515e4c63c756686af8845bcbcd5cdb2653319b2ec24f41ec574eb26b65a3b1ab6006173d9b4d5c9d2650f30e2f14a2094b1097fe68d55e3ceffba84cd66e3a67216376e3f742c09cf6d65d538055aebe06ba5de61ac63c39ec5244f1ac8cfddd03b7232f337adf37f7f5ba95be59e8eefb310420821ae5a9a66fe2de8b557fe5a77db7fdd71d92b73eda9202b398dd0e54f367906878b8a1d692cce1acba635adcc18759132333399397326aadaf54f9cbf5a5efffef7bf131f1f7f893e312184104288abd33ffff116f7dcffe37b805aa0c6ff53dde4f75ac075050c15bb76397397b1ba3c96b1674da6a61016114a4454e8250b5a1a75f993edafb2d776f7b80821841042880b76650c15bb4639cb2b29dd9eccb2cdcfb164c6582274e02cdd4e5a7a25b39fbc882142ed703ac7a385a97de5f5c25f25701142082184b8742470e94211f35fe60d57324f3d3587989fbb4117ce84d95656acb232ae1dcfe3bc58d2d0164208218410ff292470e95261c42edac83b8b2eff96ebeaea4ef71274756ec8d5f25a5f5f7ff93f4821841042886b84042ed7a82953a6f07ffff77f040404747555ae0a1e8f871ffef0875d5d0d2184104288ab96042ed7a8f0f0701e7ae8a1aeae86104208218410ed22b38a09218410420821ae7812b808218410420821ae7812b808218410420821ae7812b808218410420821ae7812b808218410420821ae7812b808218410420821ae7812b808218410420821ae7812b808218410420821ae7812b808218410420821ae7812b808218410420821ae7812b808218410420821ae7812b808218410420821ae78815d5d01d1353efcf0432a2a2ababa1ae22a75cb2db7101111d1d5d5109d40ae15e252926b8510e242488fcb35aaa2a282b0b0b0aeae86b80a4943e4ea22d70a71a9c8b5420871a1a4c7e51a565151c1c30f3fdcd5d510579913274e7475154427936b85b814e45a2184b850d2e322841042082184b8e249e0729939b7cdc36c5e40aeb3b9854564ad9cc7f8d1f3c8755df6aa0921ba948b8a82cd24df3b9ed10b76209700218410e26c12b874828af4898484989938752633674ec41c1242c880f14c9d3993a9134733206400f376f89a21ba88094c99124bb8aef1dd2eca8b1a135ff584524a69a5345984f8cfe02477e93c36975f4c1967ae014a5804949652d9297513420821ae2e12b8740227513c9d5fc807efbcc99b5bd7313b1c98b08a37de7c93773ef894e2adf30975bb0150a216b16edd7c862bfe37976f21794bb9efeeaa3e82a8b1a15db41742880b56b10d5bc676d6a69774bc8cd3d700057d4414632557590821846896042e9d206cac85b9a72391f3e927584838d3c57286b300dbc264f6341936a66bb9984bc395c334458346d3f4c78039ce4246f125eef9294ec5acc491e9b88832ca6c442b3164d83bad56e0c8244e73fe31899e954adec56ea7b5fa96d9302b316476e6be5c888bdebe8b7c8bb1336b74c52bc9da8e6e6c6f4ab7aca5a023a74b73d7804eabdda5e2fb9c351a2396fcb676da4e468c82d9567681cbdae6c84fc31267c6e03f470de638126d7974d5e9739e4b716d1242886b9c042e9d401f1585beb5159408c60d57a0a280ac95f398387a1eb92e27055919e496b8a9dcb19ac58b939b1f6ee22c203d79298b17cc64e2e8f1cc5c994be3c0b292f55331b5942f7341744cdab28fa3478f72f4c001f6edca20d190cdfce869a4955d6cd997987116b6cc54e20c9d5db09efb5f3fe03b26470fb06f571a31c58f31cb92c3c5c4595734e3346c99a9c474f4583af248cdeef40fe2cae52a60cbdee9acf9f372465566b1f6bc13b18282cd4b991812c2e8e4225c40c58e74168f0f2164e27aca69e51ae076539ab59489a61042cc33b1153509105c256c4e5ecce2a54b593073225317a453e084d33932f3c6337ec13672574ec514329aa53b9c9d78ade0f4e77cff8f143253bbe67cb067c763be3589e2e824b2f71de0e8817d6427c550967a1be669199475419dce73c9ae4d420871ed92c0e53272297a42dda5ecad74017ac6cd5fc5fce1d03b7639ebd6ad62ee794344cad9bc740ba14bd6b06ee39bbcb3693a956be7b07073e378f8702222c2e8dd09b7680d461346a311a3c9843966164999793c637a9fa4a4bcd349c28efc34e2a38dbe1e084334f1b67c1c38c89965c09878663d5cf9584c06a6653b5a79dff91c79a9cc8a36f8d733332bd57ff7b4cc46b4219ac4c438cce668cc2633d3acd9be65f66cacf149e4391ad78bc36a9986d964c4a018888e4fa3b1e3c89e93c434938246a3c11867c13acd88d95ad84212b4826234fa8e89d184d96cc66cd0633019f0758ab928cbb41267369ce9a58ab751e86a3c56b6b3f739adb9ed9491196f4489f6d7dff74e7252e230291a348a89b8c6fd6cf3f8b4bcdfed3dfed873b0c62791eff0d7cd1287c9a041a3513046c79356d8fadd757b762a7986c456d7b99a3877be0e09b389183e97e59361fbda6d9cfd98c630c6cdb59230aac9bfc426609912eeff5bcbd70077d1667275f3d9bafb7d5684ee64f5ca5c7c314705db16ce61cba8e5ac5bb3868d5b3770f7a164ee9a974e3980a2c755544ae9de2d148d5dc2f2845822f5ba4ebd56347ece29a9564c39a964969dbbdcea3fcf144cd3529a7cb75b5ae6262fde80615a7693ef6531a9660371cd75ff39f2b026be82f1997c726c89c4994d184d66e21253c9cb5f8f39cf8225d34eabdfe1321bd1c626e78cc1485c523639b678a2cd460c8a91186b8effdc6be55c6feddc6b7a6d124208d1292470b98c14fd70a226b43f87c55594c6da3d95ecdc62c366b39196e52472c258749595b88088d91bf9e09d558cbb14c3cb1433b3126fc0999fedff4f3893f86956cae233395aab7222cf8223651af1992ee2acd320278dc65123aec234b21dd3b0c6195a79df390d92b234a64d4bc59598c30955e5449e156cd398652bf695e9fc947c430af9c585141766109d93c8ac66ba835ccef7c93124915f66c761cfc49c67c5926d87b23466cdca404929e4845a4b9ec541f6db15adccdc54c18bb7763b3354accf187ee948242325c617b894a5312b311bb3ad185555a93d908639e797be06933d93f869293812b37dfb923d8d62eb2cac4d87d5b8cac88c8fc35296485e5e93bbb2eefde4d813c9b1ab9cc84fc29011efdbcf368f4f0bfbdddee37f0e478e154b8e99b46215552d2333ae10ab25b3953bd96564da0a312725b65aeed5a382dcdc5124c42a809e29cbe713be672d5b9a4975e9c8e9a98b9a8f6546146161514c9f128efb50a92f282a49233957cfec29fe084719cedce5d3d1ed5c8dad00c2a262898d005df87ce6cf98c1a275eb5814a574e2b5e2cce76c36c79314534caaad49505e6663567c268694426a553b39f10e72f6bbdb58a623c63a0b252fed4c23bf38830c7b0cd669e70f3d74156790e31c8f35d17cfeb135c59314077919f91c6ce33becaa789f1c430af96576ec39b3285e7d3796e244728aedd80b9370a559c928a6f5739d56ce3d2184109d4e0297cbec427258dca54594eba760b15ab15aad589f5cc3a637dfe1556b54871a4317ca603480c3810bb0e7d8c8335848b3c66154c0106dc1966424cf968323c6ca2c2587b43c07e022df9603b32cc4195a7f5fd3ffdacbb2d32834a790668dc1807fbd14338569d91403e8c69394148701c0108335c9b7acecdc4aeb4663b19c592fde0cf6420765d9360acd29d812cd185030c7db481ddfdaed673d3fdaf209fbf6ed63dfbe7dec7a2b9d9f2a6b99362bcdb74d5322d9c5f9d8a619c165c7ee50301ac0617760cf4b23cf6021d5e2df97b81472f2b34932fb3f35b79d6c4b1c09797164e69c33344b379a145b226683ef18a42699284ccb61479bc7a7f9fd6eeff13f97a218500ee6919191495eb1428cad18577e22a616d67715dab095c59132eb1ac97129c96273d176562f58c082050b589c5682a22b252dada073a6316ef2d5544215703971bba062cf4e0eb9f58436b900e8474d613895ecd95b79faad3abdee92e4ca9cfd391b9996320d5746eae980a32c3b83427312a98966140c9813534919ad6b7399126d25de98872dc70eb8284ccbc41e676d769895cb5e865367c0d8ec102c05a3c980db6ec7d5d67758371a8bff1c55ccd330ebae6396250e23a098a2312b0e8a1dae56cff533e59c7fee092184e87c12b85cc15cb87197e7527aceb87467c5e5992ed9516c07a31183e2fbdd7d702d63ba9d49581ff1d87edc8e62ec4463996520272d1f87238fb43c8578abaf67a2d5f7b9cfeca9bdd80e46334d9bbd46b309c5518cc30d8ac188a94943c56054c05186c3cd39148ce744752edc1c2c7480d1d4a47c034653b32d9fd3e5184c66df1031b399986989d8d27e8ae17d1b99c580cb41a12d91688306c518c32c6b1ac5feb68aa3ccbf2fca99b28cd1d14dea7f909c3213373872c838671c89a2183135390846b3111c5ff2f5e7ad1f9fe6f71b2a5a3bfead7c8d94b83472b64cc3959dc4b4117de8668c21b1d9e16ebe2de5db3238e8fc3feee873b96797e80a2e0ab61fc2ba69131b376ef4ffbccad615a3a8cc5acbcecec823398fff8bee76014e2a9b6e43d1a30314dda54eeb3ffb73561405e36daf50e17c85d46c5fc0e1287380c1c49933cb88c9a8a0e06e6519a044638937919f9687dd55485ab68b69d6389a3b43158311bddb81bdd9d8c057079dd148589bdfe173cf19df3e35f9abbfc896cff5e6cbf19d7b32a9bd1042743e095cae60faf051849edccecacd2567fe1374e6929e7b510f8d681f5731d9d907098b9b850930988de86e78867daa8adaf873e20007f252885614a22d168c7936b2b3d3c831c46389f6fd4fdeeafb4eb7b3148c6603d88bcfea05b01797e1329831e8c0e5b053d6a4b150566807ffb2b6e930980d602f6b52be037bf32d9f9629be4696a2803d339ef80c8594c25a5c8e320af3d28837f92a6330f9f7e54cd20f856949d8f2cedca1b5e5e490936a22db6221a749355caeb31b648e32071847316264ebc7a725fa563fb796dfe72a2bc6614e213bbf0c57ed5176a518c95e6421a3ac99951d39a4662b3cf4d6018e1e6d6e85ab8c73275b2aa733f69c19392266cc67d4c9edd8b635cd74d1a153c0ed3aa7197b5ec0dd3efab16309a5946d454d22179713b72e92e963c33a56687b9df3399795955176f400ff5c721defa7da2846397d9e9df90a3bb03b5cb89a9c83e72ff3312726622a4c23272f831cd734ac31cd7f4195680bd3f4bbb165149f1f1c9465939a077189312817f21d6e456be7ba104288cb4b02974bc10db85dcdb64ddc2ece6ab4e87bc3c9d2522acb0bc82d719db55c1967c1320af63e3e89bb16db485fbf9205f3361331653800e59be731716a72c7a6613d87c35e86dd6ec76e2fa3383f9bd4f8693c66bf9dd4245fcf89719a85187b2a565b3e76c065cfc11233849814ff1d4c733c16531e566b0e268b05b3bfdc36dfe7679a6521ba38056b5a210ec051988635a51873e22c5f59eedda4246552e6f22f4b2d23c63aabc5a14be7ba21de4a74710a4919c53870519c9944d2fbadb51e5db8ec76ff31b15356984d8a258d83a31399660297c3855b31603028808be28c24523e75e3728031ce4a9c238da40cffbee4dbb05833293e7d37d77767d764c920c5984d62d399cadcbbb165f88f8d3d87545b1971d6698c6bebf8b4a0f5e3efa2382f9b9c6686b538f2ac4c8b4bf44d89ad18311a15149d0143336dc9b2cc54f20cf158e37c133c5ced4a36afc739a599e19a1113981d093bd7a65172facbad2722bc3795b95bc82d2aa1206b35b61d9550b1873d45be1cabf3ae01d06260a34459593e01de5b9d4ee34463e5b95b704e594182efb2e0bbfc9cf3feceb8569cfb39374e5c1167b5327a7f06a9792e4cb3acbeef5b5a210e5c94652691b2db5799d69601fe6b483e29d66c98656939b036c4614bbb1ffb63314c4bcaf4e7969451989dcaac98f9e4c7d8488b375ed077b835ad9deb4208212e2f095c3a53450159e936b22a813d6b59bd39b74903065ce5b9a4a717017b589f964bb94bcfa8450944162d6366f25e42353bcf2c4fcfa5dc351cebd6ad2c991c4ad196a758965644c4f235ccf6df58755556525a5ec1c90edebd3dc3cdfb09231830600003060c61449c854cd72cb614669368f2af624c243b270543c62c066834741b9048614c3a79367fb23a26e2add1389dd1586699ce14dde6fbfc4c56b27392c016471f8d863e716960cd2627a9b1597e1d312e1b31dd34f489b3a124e5909d78018d649385eccc78ec29d1f4d174232e0de26ee0742fcaf99cbc72f710ff3119c0903189641b2cbc9e9d84193025a6f14c741eb3fa68508c662c7931a43e741d8ee2621cc67832b393501af7655636e6b41c6ce7de4156cc58335230bc9288c5dfeda2e847135d6821da6cc2186dc56ec92133ded88ee3d382568f7f19d996bb494c3bffceb5313183cc780729d1be090aa2931c246667107fde212f26d3b61b637c22e60b6c10fee77152b079310f3cfe1e3bd3d3d9d6f4e4c645c9b62de49603a56b7960f17a72cb5d80c2d8e54f329d0c1e98fa0069aed9586223098fd2e374ba81a6d7804ff07c9146fa1e70ef49233db784f2822cd2b694c2a15cd2b38a7012c1fc4d6ff07464160befba97058b17b0726f022f6f9841182e4ab6d97cefcf5dcdea6d2534f6cb74c6b5a2c5cfd9148f757c059929d9d88d8964675bfddfd36ec4a429cc1aaff79d63ad2df31544bc359a83fb156659a25bcde333c66752b82b1573610ab3cc03e83360087149391892dea238c782890bf90eb7aed573fdc28a124208719134cdfc5bd06baffcb5eeb6ffbae3b257465c3eafbefa2a000f3ffc7017d7a41dca6c98cd99a494e55f70a3e3347b3e79761331d1467f83c84e468c095b6231851653a755f53f5a712ae6e86c52ecf9c45fc4b3274e9c38d17975125dee725e2b1c39b3305b63c82b4e6ab527515c1de45a218468f4cf7fbcc53df7fff81ea016a8f1ff5437f9bd1670498f8bb826b8ec9924c6ccc296ef9bf9cc9e93426aa189f838535757ed0ae1c25e568843319e97682cc425e7b253569c436a521e266bbc042d4208219a25818bb82628d12964a61ac998d6078da61b264b3171193958a5850440716a3403eec8c664496a35695f884bc1559ccab4117790614c21edf4f854218410e26c815d5d0121da64b252ecb25e64210662acd9145f6c3157297352316a5257d7425cab94681bc5aaadabab218410e20a2781cb356ce8d0a132c65808d126b956082184b812c850b16bd4d0a1431933664c575743087185936b851042882b85042ed72869880821da43ae15420821ae1412b808218410420821ae7812b80821c4ff67efdee3a22af3078e7f0ee8cc18f78b306ae0b85e4293a0bca1529296a1ad459a2b9a15a615655b646d92f54b6dcbd5767371cba2cbaeac95d066466d2a95186e58945614a604a688a9838a5cd5198439bf3fcea0805cc4d019f5fbf635af71ce79e63ccf3933f370bee7b91c21841042383d095c841042082184104e4f021721841042082184d393c045082184104208e1f4247011420821841042383d095c841042082184104e4f021721841042082184d393c045082184104208e1f4247011420821841042383d095c841042082184104eaf93a30b201c23efc71fd8b62dcfd1c51017a981034309bd2accd1c510420821c4454402974b50de8f3f90fcea727c7cfd1c5d147191dabae51be266cc94e0e522f0c5175f505252e2e862888bd4d0a143090e0e76743184101708095c2e41dbb6e5e1e3ebc74dd1e3e5844474b8a14387b239fb7fe4e5fd2881cb45a0a4a484c0c040a92b448793a04508d15e12b85cc24a4a4ab8f7de7b1d5d0c7191292b2b63b3a30b213a94d415e25c282b2b73741184101718199c2f841042082184707a1747e05291c79a85d31916369d4c8ba30bd398a5389b15732630ecba85e43959d98410172ea95b8410425c6a1c18b85828c95e43d27413bebebe741b3681dba7dfce84ebc2081b3b93a4ecf6f4a7f62280420a0f3ae15f6f7d00011579145658cff00d168af3a42fb910bf8d85e2ec552cbc3d44ab5f26cc6355663116a0226f1573c27cf1f50d63fac255b4abaa7126edae5b841042880b9b03031703819113897fe46602d033e6c5f758fdf66afefbbfff32d73393676fb98579677a19d12b98d0c101e7b6b867c910d88fd0c1ed187c589ccabc54ed044b0871b60c04474e63eedc315afd92f00cd3c6046300bc02bca8f01acd8b9bbee6edf9d3880c747459cf4ebbeb1621da6229a2a8dcd1851042889639beab98c1abc9826026268cc19342d6a6169ef109bcded0d10573808a2d24cd9ac7d60a471744888b85bed113155b58383b95c1cbdf6646e8c550699c47e56944290a4aa38737e1318bc932ffc66d1725116e8820a5b9ed142511628820edb7e6d1212c64441b30c4649ddb8b4be60c1263c2311ab4e36c30861393984ed1d964dadab16dc8924b62780489b92d64529e6efffc9bdb566d706d4d00002000494441543e8b431414259ce4a222522214bc63b3383d0632931665c018778e8f9f10e2a2e5f8c0a519d68a0aac80575f2f1a9d5a546c61c5bc39cc9e3981ebc286316161262df6f26831ad85e23573983e7d0ef366dfce75c326b030bb3e52b090b7620eb3e7cc63cef4ebe8e63b8c578bcf226f4b316be64d67e6ec39cc9e399d791f14375cd942fe156c59934266819583d94b983d7b1eab8a5bcfb7e0d5b19842669229818e106dabd8c2c2994bf09afb260fb414b434fb7bab207be158baf9fae23b6c1e6b8bb5532e4bf11a66879918bb30834f9226d0cdd717d3ed2b28a8a860cbaad984f9fae23b6c0e6bf2b4df77de8adb09099bceaa02fb299ba58055f366337bce1c664eb88eb13357b0a502c042c99655cc9b3e8c6133d792b9702c26df30e66457b459b7b4547f755c5de1c5940f7673e0c0010e1cd8cd8eaf9289c87f9298f88c664e52c5d9c96771f438922db124e7ec60f7ee1de424c76249b98da8849cf69ff01b63484a5b4c94775b092d98cbdbdeba9eaf494e2f6a52e414527eae7f612226f1262ce98bc96afaa5284a67718e89b8c428ccc95167527a218468c4e902174bf11ae6cddb8875603c8b2636ec0651ccaa39a9043cb294e5fffc2f9fbe3d9e83cb26336b5573e1432b694bd6306b7626c17317b168f9dbbc38b29065f3d6500c5a37ad35a1cc5dba88a56f7fca47f17dcf22ef0ab21f9b4c52c05c962f5fcaf27f2e620c95a756b798bf1743662c62463ff08c9ccbf2e58b9816dc7abe86c020828303f1d437530c21c42907339937fd5998fb4f1286b4d4d2d2d2efcd42e4fcb7787124103098c1c1dafb0d017d09e83b8d17e7467353c2729e190886c081047b793164da22968ed7a30f886464a817e045dfbefd18b3e845a6f5330025ac9d3599d4817359be7429ff7cef4d6edb3b8f5ba6afd0ea22831796bc420ab7a59237f811e64e8da4af97a5f5baa5c5faab23eb0a0306a311a3d188d16822242484106f2fbc4ddef68b4c168ad212880af13ed92213129b44fd45fcf29c2462c38dda3aef706293739b39112f222dd688213cb1c1896f39190ba2301914148389a88474ea2ffa97672d2626dc9e9f7708318bb3b4754549847b4791101f4d88c988b7c19bf0d864f24f9625b971599272ce22f86a697fcbc988f16edcb260c921dee44d747a79ebc7a9bc88acfc4062162410131e82c91442784c2269298f106ec93fb5df2d1dcbfcc58418a3888f094151bc897af15f24c4da8f655112e1dee1c4c5451112124e882984e88474cc9849898ee6df2515bc1b6d223aa5a8f9ddd507127dff30f293d33995c2426e723adc3a859ef6ef97777422b1de592465346e9ac94f4e223f3c81f81030c567b4fb680b218493042e56f292e7317b4208ddc3e75191f0093b3e5d4464835e6496bc64966d3dc8e6d424929292485e5341df9183d11f3c78da1fbe56d31afa327ee244c6d79f7c78794145311516b0541453bc3599a4b5c5583030e4917822bdda9737c5ab98b746cf8c89a1f63fe4c18cb9edd40904ade4df545bf9064ffc27fffb74112d9e870921002b5b97cc2679731e7985252d5eb16efdf716c8cd09b7e1b9399975f6560c4be11a0a43a7d2d70010cccd330673303385ad16002f82060763ddbc82cc12800ab6aeb330b17e404d4132f332bd9838c67e71c6d08f6973c7a3dfbc84a42d10181a496430e8836630e3e69b7960f9721ef05ad36addd252fd051d595794f0efe15d4e7515f3b99a47cbe3485910a195a9289998b8744292f2515595e3bb9309c97894f8343398d3888d5e40795c3a65aa4a597a34f9093124e434f8442c45a4c546115f14475656835602ebcf6498e3c830ab94e524e29d124b4c72111425131dbd184b5c86b6cdac04488a262629df7e4c3691e19d484e919972731a215909c4a7d7972581a2d8340e1c5729cb8aa77c4134b1eded8fd6e2fe5a884a88868c64ea77cf929b4c7a79340951dead1f27ef0812620da4c5c6109f9442464e11e580777412e9297198a0ed6359b2892c5332bb0fe49272bb6fa3225b2a7e20c77b0139f9b9e4e7a6109e11474cb285b88c0cee0ef4624a46111971a61677d918134f78510a69f9f51bcc2539c3405c5cf8a91e12860812e28ce4243508702c3924a599894a8cd5f6a141e823841067ca496e40a927347e11cb03fa5218f1145bb7566298d13885b5308f62af89c427cca0b9e1a89676a44d581e4ac1da5759b8f920d6e20a409b95c7103a83b92357f0d09de1ac191cc7a217e7332d142adad85e4325d91fb0cd1a4070a3b9021a5ce6f41ad262fe4db5b51f428833a167f033ef3132f9169e7ae81666193ee5ed89a7ffa2dafabd194626302d6814492bf2983abf2f79a9850c8e0b3d79b2163c3e8ec1f3e691baf545220717b22e6f30233d53495957ccb48985ac632273ed8144c9d6cdecb57a11d02090f01a38867e7cc0d66d076188177a40efa53f597bb455b7b4547f752c2f6e4dcd6271b856f0f2a21c521267101d13427e563c26531ce9f9b1184d46b09831971b307a43beb91c73563259def1e4c447e00d10b5808c9c582c260394035633e9f1517c981bc5fafcc54434ecdaa40f6341521c21de40783c8b1393084fce20db924c6ec802f213ecdb0c8f276941322149e9e4c718401f467c7c94b6ce3b82d81048cc2dc76c49d2ca921085d1607f5f6212e149199863e3309ee9e168657f0db109c418a249ce2a272ada404e5206c4a469c19877cbef8310a25372c94d4f21392d85840533f8b9c28b2b6e8a6341d26262430cad1f4b334018f10951988c705aa4ae1f4662e2a9639290184252523a45711167b4cb06ef68122212484ccf273131044b4e3219def16484584839958af0f84442929248cb8f2731446b214ab7c490165dffc1860072034a2144fb38498b8b5dbf0778f3c5911c4c9dcdbc269db12d58b1166752d8a48f7645c9e9d74f5b4d6b2960d5ccb13c7b3092b98be6133fb2e1594030d356ffc0a697e3e85790c243a3ae634e7645bbf2b65658002b2dce50da6afeedd80f21c499f30ae581f73ee5f99115ac9b3596996b4eefe6d9e6efcd104a7cfc40f6ae48626b491e1f148f6462bf060903c7103fd8cada155b29de9ccac169cff0cccd016c5db1962dd96b61fc604e36225b2d4005071be665d0821583bef9fe5c6dd62d2dd45f1dcb80b72944eb2216124244741c49c9f7e3bd2949bb026f292737298e706f05833182988464f2edfdafca8bcc600cd10205fbb68ce1e1984e06287bc8283271457906294d0647180c46ed24dcce186284f29decfac9be4d1aae336128cfa7dc6acfa3492b930528c93763ddb38cabbb9c9a68a0ff933f632dcfc7dc9eeab595fdc5104e7c8c3719c939949767919c652036c1de32d5dafb002cde84c424909496457eb9caf10319241a33981a114746f9191c4bbd37c616c6b418bc8d0d8e39781b0d505ec4190c6fa9df0051095194a7a4906b292727390b537c0ca6a6ad79a61812a3cc2427e762a19cacc51978c72510213d048410bf8173052e40f08ce5bc38b282d4997358dbe06fae57d040022ad7b17055c1a90b481599acc82c3e6d1bada5adc89cc763997d899f1aca69f567712699c55e844e5bcaa73f7c447cdfbda4266f45df9ebcfb05a0278fb52d4c0dd66afeedd80f21443b19b4e0e599c1157c306b2cb3d7360e5ecee4f7163c318191d6753cfbec328ac7dcdca465269091330663cd7c9685abf44c1d194868fc4482b62de3a96403b70d3ef58bf71a3c98000a599bd7a09eb05460d5f765fce0e6e7676eab6e69a9fe3ae797390c060cda13e6b45862530c2cc83d8ea5bc88dcac64624d5a20e66df20673c3c0c0426e722249f5418a3e8ca48c0c32169b488f8f27a3c189bcc5528eb9c1ebf2a272300ea4ff95f66d36288e39bf088b7708dead8ce7f10a31a2bfe22fec5055d4fa47d96e76672d20bc51c56c217771345189f563712c582cdabe42ebfbabb53ac463cc4a223d3d990cef58e2ed1b6fed7de5e9d1188c318df6df608c206e710261961cb2cc67702c5b612937379af2b828d70cde2178b723a0f08e4a20aa3c8d949c2c92724cc4471b9bf97b66243a311a4b7a32b9f9e92cce0921213ebccdbf7b4208d11ac7072e16adab5485b5fe3262303396bfc848eb07cc9ab98afa5306c39078e207c2b6a74671cbec2456bcba9099d357113c46bbe469d52e46b69dd66ac55ab999d4cc028ab7ac21795d31549450b8359bbc83d92425655301e03598a963fa12dc37a0cdbc1bf21a99c0d4804a3e983d479b3dc852406666311ccc23afb0184b2bf91758c0cb132a0b0b3958bc85cd5ef7b49a6ff1aae95c37761e5ba4014688e6592bb00096faeac5104ac2471ff1c8c0bda4de3996d96b4edd33e98c7ee781634818af676bea41c68f3fbd4359e09878465ab7b22d742aa10630f49dcac4a08314f7bd8d861399194213983b12362e5971f2aef7c599a9548c7986a9f6ecac80b541eb4a5b754b7945f3f51774645d61c1623663b63f8a72d359109fcc9eb038a24d6029b7603578e3ed6d002ce4a724b2e0072b967230462510559e4c624a2ee5685d87e213d2c8af8f023060301830c5a7b0c0984e5cc399caac5f9394620f1ecc192c4e2a222a219a2131f184e72f2021d9becddc641216e413121743482b7b618c8e27c2bc9884a41ccc80c59c417c442f2216349d2cc080b7b7994dc90b48c9c9273f2b85a41c2b21d12118687d7f01088925de9445424206a6f8f893656aed7dde5189c41a3e24263a9e948c5cf28bf2c9cf4923316e013f186388319dc9b16c85f56b1624a65164b11fafc5454424c460020c58301715b5ddea648820211a52e213c8094f20ba85be75de1189c4924ee282c5144524126b6abb784208d11a07062e164ab2d790bc2c9383c0d6254b589569bfd2193c8d375f1c0d1b1fe2bab1b3495a5380857e24bcf71e8f8c0e202ff5591e4bce2378ee52260682a53893152bf280adbcba2293624bcb69bdc6cce591c11652efbc8559a93035e16602ac5b5953184090de4a71ca2d0c9b309379f3e6916c89e7cdb9a1185ac9fb348648167df4325303327928a217619353b0f40b262834988a839656f30f367831f081a9f4cd7b8c09f3b611143cb0d57c2d070f52585c42a5dc385b88262c1467af624952269558d9bc641e2beaeb978a83f66b1c7b499d15cea8e9f3ecad2a67f23bf76264fc34068e8e674c73bf7faf481e98781b73eba30f432853678c67ea8ca62dacc1cc78fb239eefbb8659b7dcceccd93359b86d2a6fbd7933815828589bc48aad60cd5cc292b5055a30d246dd022dd55f1d595754f0ee6dbde8d6ad1bddba75a3d7d571a47bc7f3417a222180292e99bf846711e3a3603086109f15c1e2bb7b529e9f4fb93196b4f4440c4951f8280a3e31e984246790d4b4ef90218484940578bf1b47bcbdd9c1e01546786e3ce121268ce10998e333488b35822981f48c44a8df66543224a49391d85ad80218e348cf5880774a0cdd14852edde2c88d58415652c4692d02a6b8145e8dce2771787ffa5fbf98f2d815a4c41aedeb5ad95f2d05b109e1545484131f636ab0cd56dee71d454aee7a16987259107335fd7bf5a77f5402198638d66725695dadcef45836ab2711962422ba28f844256148cc203dce088610626343c899d19f88c4e6667b6bf421111e1f8de1e77222eac710359b2c9cf804239bde2d273a31bae57442087186946696757effdd776aaebf71dc792f8c383f5257bdcd4f3ffd44f8d583b8f7de7b1d5d1c7191292b2b2375d5dba8aacab43bee7474713a5c45e61ce659e6b3fce6a637cfbd38ad5ebd1a40ea8a8b4151122121692c28ca21f68c67203877caca6470be1042f3f967eb9934e58e49c071e098fd71b4c1ff8f0316c777151342880b4609d96b6062e4a511b408218410cec449a643164208e75591bd90d9c907090ea8a020602e6f4bdc228410429c7712b80821441b2c15856c5d9749e1d417796b6edb33020ae1944c09e45b121c5d0a2184386b12b85cc27af7ee2d7d8c8538038137bf4dfe114797c271a4ae104208e10c2470b9040d1c18ca575f6e267fc74fe4eff8c9d1c51117a1bcbc1f993af50e4717437480debd7b73f5d5573bba1842082184042e97a2d0abc2b8f7be78f2f27e04c0d7d78f900157e2e5e9e9e092898b45f4b89b019935e8626032999cea73ecacd3715997cb7071696e524c2184101733095c2e51a15785117a5518c72dda6cfd1e1e9ee8f5addc6a5a08219c80d56aa5b2a21cc5c5852e6772c345218410170d990ef91276dc62a14b972ef8fb7795a045087141d0ebf5740d0844a7d39dbcf0228410e2d22081cb254a5541b5d97073737774518410a2dd3c3dbd506d3654d5d12511420871be48e07289b2582d787a793bba18420871d63cbdbcb158a5d54508212e1532c6e51265397e1c7fffae2daeafb2d65170d882b9a2e63c964a08211a337ae9e8e76fc043ef7ada3abd5ecfa183c765ac8b10425c22247011a7f976df51eaea54827c0c5c6974737471841097b0b263b5e4ed3f865ee7c2a01e521f0921c4a54cba8a8946bedd77149f2e9db8aa873b3e97495c2b84702c9fcb3a714db0075d3ab9f0edbea38e2e8e1042080792c0459c5469adc35a63a3bb97cc302684702ebff3ef82b5c646a5b5ced145114208e12012b888930a0f5be8e5dfc5d1c510428866f5f2ef42e161198c2f8410972a095cc449e68a1ae91e2684705a3e97759209438410e2122667a9a211b9258210420821847046d2e222841042082184707ad2e2221a91bb500b21841042086724818b6844e2162184104208e18c2470118d49938b1042082184704212b88846246c1142888bc7b163c7d8b46913aa935d941a3d7a340683c1d1c510425c602470118d9ccddfb6e2c3d5149a2bd9b2eb70a3e5437ee74f5fa327c1feee1d543a21c48542ea05e7f0c9279f3075ea544717e3341f7cf001e3c68d73743184101718095c4423ed8d5b7edc7384f53ffcdaecba2dbb0eb365d761c6855dce553d7d7f7be184101704a9179c47e7ce9d9daeb505a0aeaeced14510425c802470118db4e7efdbee43552d9e9c34b4fe875f71efd2995e5d3d7e43c92e06957c367d28ff97d74a12dd185ec95ece35fa33dca475077f1f771bef9682fb4d69ac7d219c337deb85ed10dfbdbd9437dfd9c077fbab001dbe575ccbcd8fcc63d6c81e8d8e41e9e61759f2421aff2baa023ce87bfdbd3cf8f47d0cf76f7ecb551b6773dba39954ebc6f34af6d2269fc521befad7025e79fb0b0a4b6b000f7a8e88e5c1a71f62548f4be3c8b745ea05e763b3d950140555559de6590821ce86dcc74534a2b6e35fe181ca66b7f1a709a1a72d2b3c50d9ae6d5fbcff3af63368bc4547efdbf9fa57c1b77f9ec2837ffdc01eb400d470e4e74cde7a3086ffdb78f064caca2df3b9f3c137ec410b4015859f2fe5d13b1791673d7dcb96fc149e989b4975b3c7d342de9f6fe3d16599f6a045dbde9e2fdf606ecc6c3e3dece8e3e21cff9aab179aab13ceb65e10ed63b3d99cfa590821da430217d188aa9ef923774fe969ef7ffcf7a1cdb6dae4ee296dd7b62fda47fd01f19bc2cb1bbee6932f9a3c325fe46add596eb39d9fdf05fb3894c92babf703e07bd34bbcfff50ebedcf03a31dd01aaf8dfb275ec574155f7f1d95fdfe50840f7bb78fd8b1d7cb2f22e8c00fb57929471e8d4362b77b129e92e264e59ccf7352d1ccfca2f7865b5365ee3ca3fade193dc1d7cb27296b6bd9a6cdedab8cff1c7c6091ecdd50baaaad50d1d512f88f6ababab435555a77a164288b321818b68446dc7a3a9c77e1fdae2baf66efb627d9ca2c7ddc3b39987be41fa4a0a3e5ac0ecf1618c08efcf88f0a1c43ef8173edb6d6d7e9b35bbf9df5fef65e2d0fe8c08efcfd8988758b9f9d0a9b4d61d248dd1d6c52e4be3853b873222bc3f5153fe4281751f6931dabaa807bfc072f23db9fcdfb5daf2dfff754783e53b58fbdc5d4cb4af1b11de9fa831b731f75f5f70b8cdfc9ee1ad7becef1bb38002eba97db1fcfc177e1fde9f11e1613cfa7965f3c7b1464fdfeb23b97af018ee89bf01a31e54ffa18c1b61effb55b59bc35650ab7e60ddcfdaa2e03beee24a0f70bfea2e624cdab29f3efa814a40c5cab7cfdc46e28a2d1cc1833e265df3df598f1b78f9ebaf59fdc1065ebca33fee40670f4fea53fbfa7b38fcfbe50c8fe6d4af7bac99e0a523b62f5ae6e81615697111427424095c4423bfe5ca675b57451d7d25d8291e278f8695aaca4a2a1b3dac0dd25a2958763771cfbccbf7fb6bc0dd1f775d15c55fae64fe94bbf960dfe9dbacfe7c1ef3dfc9a6dac31f1d505d9449f2ec893cb7a5f2b4b4c52b16929ea7759fd2758b2450d7e8a36afc59d6bfe9e4b2437cf6682ccfafde82b90adcbb75c7570735a5f97cf18ffb48fcf0501bf9ddc8e807c6e10e50ba8e77f3ad27f779cf7bebb41612f7314c1feed9fc31ec369ec797bec14b6fbc4c8ca97ef93ebedf6a9fbdaa7b18461d58f6fdc0017bfe7e3d3dece93c08f6b32fdcb7850316fb3eeafc318eb88b056b36b0f0fa06835f9ae6adf3c468ea81bb2597a49963b8e5b6a51403c69b5ee4f1a816ca7b893ddafaedffd67a41b49fcd664355d5369e8ff375423f7c7cae20e1eb636da43fc03b371a19b2bca899f566debe2190a1afec69353f2184381b32385f34f25b064d2e5d9bc7a3e3079e936d5f1c1af4d02f7d973fdef86e93f5bdf8e3c76bf94377e0f05afeba221f00e3b414fef5f8503cac3b78fbee49bc56f003ff786e03a3978fc1a3d1310de1fed414a65fe109fbd7f164ece364571f66fd5fd731236d0add4e4b9bcaf42bac945679e2aeee3b5536554555ed656df491d9975b0f51ea379401a6c3f47c3c8579233cc1ba83e4899378e700ecfc7c179609fee85bc9cf4fe7c718bff57c585ac517efe462091d8adeba83f4cfb5e0c3f79659f4d7a96778a27a88af9fbf97e422000fc6dd3f1a5f55c56a3984d6eb4b879b4e67fffee9d079e8801aa8aac4aaaaa8aa8ef0bf6ce03dfbd6f634c853555b28c3be6ff8e2dbfdf6b130fef8baab582d2aaa8ccf6f56fd6fffefebb6b5b84e9c1baafdf7dca68a6c96adf3e2b6f116d62cdbc0336fdd8c57cb5ba5be82387ddbadad6b5c2e2184682f6971118da8ed785c79b9f769effffbba6dcd76e7b8f2726f8777617186c7995081cabc74b603d09dc8a81e580f1fe27095274327840050f3ed3a0aad4db63b7c36b75ce1a92deb3e8619b7d85b0e0ad65158d5246dbf3b89be428f8a27be1ea797ada572ab80aaefcfe485af93bc660d73fa1d66dbe71ff09f9796f3857d68434d5515d6a6ef6d9a9fbe3fb74feb054075d64abeaf02cbcfef92590ad08bc993faa33ba363ba8f0df3a7f2f8fbda9897e069aff3d008cf668f778bfbd3d6fe36f7e83e857f7ef53d6b53e733d4fd30dbdf7f9cf8f95fd8bb9e5dda8fe6ea0595e68396b3a91744fbb4ddd2a23d9bd72e23db730a4ffcdffd04672e63cd9ea6ebe73139bc3b7e7edd099fbc84ec0a50556dfd818f9f6c665ddbf90a21447b498b8b68a43d7f4a7a1bbdf8e9d7f2d39627357382d2dbe825271d3438be7e77f2e6c74fd2b7992bf42a50555a3f0bd67e56df7723ab9b26aad9c7812a086f3093acbb873f9d4fe6a1c7cde40f1c06ac5459416dd01d4ce7e78f1b8d3feffaffd7d0f024d10a358dd3a8c081cfffc2e2bfbd45ee019ad5f424b3b9fc8227cc62c04b4fb1bd269bf7b6eea3f327f6d9bcfaddc5f5bdcee0bb68ddc58773a6b2f42bed58f5894b21e9e130dcebf3d7fbdbc79fd450536345450f58b156d977c8c3a3c1f13afd3834b71f27e93db5ae6e574ce1be5bdee09b55fba9ce7a8b9facd732ec126f7569ae5e68ae4ea84f2bf5c2b9551f20d44f89dcfcf35ed624e7d1f7e1d7e8dd1b1e1ef4027f4efe9129cf87a2b7d950f6bece5df7ae21e8af9f531cdb955fd3fec4ad0f5bf1026c45af72f77de904fd75237ba706529cfa38b73d6cc553b5b59aaf042e4288b321818b68a43d7f4b4c5d3d1835a01b9bb6b770f66a376a40374c5d3da47f3a9c7656dcd2317177af8f32fc895e309fc8a63719d7fb33c0bdf1fbabf7efa35a0db39fac5ba9de6d1ff3a1f3c4b7495a9d875ecbbfb9cc6b6aa851d1b663ade2487de0623f8b57772f25e1b1b73003c6a847b96fea1886867a901d378ac50500bad3f6add9fcfcc6302d6a214f67d5f0cd6b4ba9b64f591c1e371a634b65ab67ddc5477f9cc8d26fb57ba9443e99ca33b7ff0e5d83f7e97c4330024700f3ee2ad4e19e4015e6fa49afba0fc5a86be33bdf703ff6afe3e5d7d6515ceacf2d0b1610e90f6005d57e806aacd43409102f45522f389786634aea8385a6cfc7f392797def085e88ee8aaa42d4e3a3792aee1f643ffe1aa3bd60cfba54b6f57998e429bdd1abd07bca53fce9b5f5bcaedad8b33e8d6d7dfe48f2943ee86cd067ca533cfeda7a5ea7f57c257011429c0d095c4423edfd5372554f3f3cbae8d879a082fcfd8dafb28674f7a64f372f7a0578c85555bb33ba9a0fb8858ea7373ff20b87293cdc9d4727f447c721b29fbc9fd78b3c081e7417fd47806a6db08d6d4b79edcb21248ee84acdfe75bcf65f7be0d26f1cbdf58dd3aae89be4afc3a73e382afa823d556318e061a5f89395fcd4a4bc5505df6006a017931ebb97ebbb03d66ff8bec12cb84dbbf69c9e1f802743e2c6e39695ced182f55ad738dd68a68ee8dac6f7a592dc4571f6a00582a6fe8dbb07c181ddbbb4d57a0f8cddbba2f31fcaf526d85e04c5abdee5a74973e853b092f78ab464fd275c755a2b10b4f6191de6fb8f37f20bb0e7f531f49f772deebbd7b1e2e4711e4fef66badd5d8aa45e702ead070916be7dfd5df6565632b55f307a3d60b562055e5aff2cd74ff1a4a2b812bc2ec7b37eec1b5db93c408f5eb552b1b7a5756de52b8410ed27818b68e46cfed098baba63eaeace0d57f5e8b06d5e9c1adf3eafc581df00dd6ee5d1892b7968cd7e7e79791237a5762790fd949402e8f09d7a053e4ddfef7e984ffe388a4f743aa8a96f26e9c5a4c7c69d9e960603f001f0a7ffd82b60dbcf50fa1f668fcd24d0a39492521d6ec089066576eb3786207e642fbb79fdb1c7300ff7c09cf51f36d7072e5587b1aa2a6eade6a7e93c7026b7744b27d57e71de6dec2cc2dcdb18945ff4068b3f3e7cf2e5ded4fbb937b5e17118c7cb9ffc8d01faeedc34e756563dfc216507de64f688374fa5f1fb03f78ef26ff6bbd97051a3cfa8dbad3c3a75250fa5eea7e4fdfb99f47ec3775dc1acf9b712d8cc3e5eaaa45e700ef52d2e2ddec9be7223ff58afe70fabbe61de009d7db9855f964f62d23f5ea3e00f4fe3d1db133e2fa6dc66c3535150d5720e5658b1a89df1ece3091b8ba950553c541545a9a0a4c28ab58d7ce5f317429c0d199c2f8453f264c0bcf779f9c95b09ebe601a55ad0e2d67324939e7f9f25134e3f19ecfdc714163f349a209d16b4677569e10000200049444154b8f51bcd832b56313bf4cc065d18a7bdc4b35387685323d79452ed379a59ff48e5de7e4d129a66b1e46f7f20ac9b8e1305eb793f3513f3158ff2c4435768eb8bd6b1bdaae9d65bd283eba3eae727f6237a6a086df5b42ace5a4fc9196edd7dc422def8c7a38cec593f18c883a0e13359fccefc46e383ce8c27031ed33e93feddea4be941d0f03b797a752ad3aeb8c407b708a7d4708c4b73cf7b3e7899af3c6f65d6b01e040404e0efef4f40401011336771e52fffe1a5ec630445cfe29a832ff3ccca6d94d98eb1377d117ffbce0a408fb1b3b8e6d0cbfc5f4a1e1558d8f3c173bcf89d15556dfdfe2d12b80821ce86d2ccb2ceefbffb4ecdf5378e3bef8511e74f595919970705375ab6767b195707b5fb6c4e88b377389b25d3efe7d352a0e75cde596dbfb3bd102df87e6f15370ff039f9fad7bdc5f8f8f8b4f28e4bdbbbefbecb8409135a58bb93e5a3a278eba64fc89a77258646eb0ef29f09d7f0a461395fbd772bfaaf96332771399ffc5249d7e1d3b9c5f2115fddfa099fce0aa2a295752df9ef7fffcb9429533a704f851017b2cf3f5bcfa429774c028e03c7ec8fa30dfe7f1cb0485731d1885c0313e7434dde42ee7f783d7babeb9b66748c78288640e43b284447aaef96d56c3731a5370f7c5ecc838a826ab3a1365aefcfe48ff672bbaaa2a82aeab0077833ebc106eb179d9c25cc33e241def8fc8106dbfd4b1bf9caac624288b323818b10e2bcd3f985e05ef31fed85fb15443db48884284fc7164a888bd099cc2ae68867095c84106743021721c4f9d77d0a2f6d966e22429c6bce1a243863998410ce4f0217218410e222d6eaac620e7a164288b321b38a0921841017a91afbd4e82dcdeee5a8e79a9353b60b21c499931617218410e2223566cc183efcf0435c5d5d1d5d9493eaeaeab8f1c61b1d5d0c21c405480217218410e222151414c4dd77dfede8620821448790ae6242082184104208a727818b38a9ab9b8e6a4b9da38b218410cdaab6d4d1d54de7e8620821847010095cc449bff3d771e8a80c98144238277395952b020d6d27144208715192c0459ce4efd6199de2c2a16a095e8410cea5a4b2862eaeae78199c6790b9104288f34b0217d1c8d09e6ed4d4a8ec3c748c6aab741b13423856b5b58e9d878e515bab32b4a79ba38b238410c281645631719aa13ddda8b0d4f17389859d078f39ba3842884b5857371de1dddda4a545082184042e97b2d6ee5dec697065484f3740ae700a211c4feeb52e84104202974b992aa7024208218410e2c22081cb254cc216218410420871a190c1f942082184104208a7272d2e973055ba8a0921841042880b84042e9730095b8410420821c4854202974b99442e4208218410e202d16181cb860d1b3a6a53e23c18346810aa442e4208218410e202d1a12d2e93274feec8cd897368d7ae5dd2e22284104208212e18d255ec1226718b1042082184b85048e072299359c58410420821c4054202974b98842d4208218410e2422137a014420821841042383d095c841042082184104e4fba8a89dfa08a9d1fbfceabffdec80f7baa01e8ec1b4cd8d8693c387b1cc17a07170fc0fa1349b73ec8c747ecafaf798ef4e46b71b7bf2c7e790af7ac34db5ff5e14febffc94d7e0e28e749556c89ff3d4f7ed77aaafe2f7ccc4b511ee7a748cdb116f2caadb358730402ef5ac93b0ff5d496577dcd33e39ee0cb1a807016662e63a4bd98278f75b7fbf8d7877710ec9082b7e3f80e2f3ef9dd19bcec53160f77c4177a0f6fde7a1769075a58ad8be4c5cce70973d86fed02a8038410425c34a4c5459c252bc5ff4e20fed98f4e9eb0009c3852ccd6b4c5dcf3c07b143bb0742d2ad8c82fd6fa17a5ecf8cadc5a6ad1127d3043427500947cb793fab8b0e640363b6aea13ede4f3a2fa835dc52fdf69c7da6de0008ce7b3ace21cb940eb00218410172c69711167c7ba9395ffde0940d0c46778eadea104ebaad9b1663189cb7339b12d8595dfdec2d3839cec926b752e9bf75809eba787aaed7c5ee8e80235e5c190651f936e3ff9aff9f669fef0442e10ce53e9cf31c4de7aa1f370606b0b007a7a8f0a864d3ba1281bb3750cbe7a38f2552e6527d354b3639319427b82b5982d45dad23ea3faa0734ca169d7f1b5b6b8118708bceb4d5ebbbb69c8a7c3dd513fb10bb50e10420871c192161771766aaa29ab06d01114114e1f3f0f741edd08bb3b918489918c18351423f6b343eb4f3c377a14370cbd9167bead3f1bb4f2c39f6ee486a1a3b875e14fd4b4904d470aecab038ef0439ed63e505394cd0e00df01f89c96da8a39eb359eb9e336c60d1dc50d436f66c6c32f3568413887f41eb87bd81ffa53a7f8279779786827fe0e3eaebe0387120850bd931f4a014ad9b149bbc6ee33d0178092efb66bad31a5dbd9510d10cce081f6e8c07a80cd4b1fe18ec8515a7927ff8937b35aea13d581cef4f83654fa0da90f4fd1be0b915348fcf7f754374d738ee93cdc1b95517bd88302ebd73c13398a1b86dec99ba90b9911398a1b2267f266c139fcbeb6a70e0028fd82371fbe935b876a9ff70d91b771ff531fb2b3eadc15510821c4c5c5212d2e753b7a814dfe5a9d15170f5cfbef767429c0a30f63af811fbeabe1cb2762b9e39a48aebf71342386877353e2f3dce4e8f29dc69da0417d385298cb2f9feda47a52378e6ccae5281038bc0fbab5db1bb41480f9fd2798b1249713279754b3376735cfff613b47fe93c424935c45a6db507aeb56515253ccd6822aa67aece4f302806026de15c9c74faca2a4209b5faac6a12bf886bd00ee0308f3032865f3d3b398bfa91ad0e1e60b47f77c43da130f625eb692a7873bba45a9b1adcf3ecd569d2f3eee50566d66ebf22778a1df1a9e3d8fe5aca19a6aabb55150a5d337fd1e1693f6777b072d772361ddcee1f7b45d75c01e52e39f266d0f802f81dd6a283970845f3e5bca931e7d7827f14a07b6c2092184b85038a6ab58ed3e87647b51b0553aba04767edcf4fc73fc70cfd37c7aa08692ef3692f6dd46d280ce3d239934670eb3863b7494fb69dc078e26985c7e29d8c82f5503307f6506dce93f3c98bd6b1b24acfa9a57feae052d81139fe3a5c46bf1adfa9e57e2135853b89d57176fe4fae471f83a683f9c863e9891fde0cb6d509c63a6babb7d7c8b6f38430645b2d77d159f566f67f3812a7c72b42e45f48bd4066c17ade6954dd58091d87fae64562814bf9fc03d4bb693b5348359ef4d76ae7130031fe25faf4e2658bf87f727dfc5ab7b6ad8b1a9989ae1e7ef84bb64f92c6296375ce2cbc4b7d378b05fe3e0a4f33589ac481e876f6915ba731a57b5a30e283573d43480deba6066253fc9100f28fef79ddcb3bc98b2bc9d5473a5fc9e841042b4c9315dc55c9ceb6aea05c5998e9ddfb53cf1e1c724bff010136f0c27c83e55d7893dd9a43d328ba46f9dac55cda30f43baa18d7329c8b58f6fe9c3f526f746c96a0a3e628b7d56ac07675fab9d50795ccdac39a37103f82e831d4eb66b8ee147ff6bb4f0a22c2f975fece35b3a874612ec11ccf503ed5df3beddc90e7bf7bca0517d70078e7cfb0d2500be910cf1abe6486935bad0d1f406d8b3911da50ed9a116f59e38da3e4396913efdb450a5baf47c74706cbf3e132331023abff350579c691de0378c597f7d95d7de9943efd2eff9fcfdd758f9a97d628c9aeaf3deed4e0821c4854906e78bb364e5c87e33476adc098e9acc835193013852b09e571e5e4cd691237cfc462eb3069d9a7ab8a99af33df8596764c84077d20e1c6173da47dad88b9ea3e9dda480355547b42e62bec1f834b89caef3eb833b1b39ca118e54014e144336743e8fab71f800dc569a39ba6723fffd58eba2d4e7c63ee8f0a0f7d860c8d9c9de8f33c8b277110a1ba45d57af3e603f553db29ac7625637d9ea11cc55801335d8f9f89dfa9274d6e9e0bc8cca6a2c68761a2beeeed6462a1d817ee7ab0da83d7540153bdf5fccf37fcf66af73c67b4208212e0012b888b3529df5c4a9d998d62fe37afb49a66fbfd14c1cfe32596baba1d44c35e00ef6ee3435d49c3c69a9a1bafa7c9fc1b8d37b541ff82c97924db900f80c1f80af7e67a3543a0f5f3aa34deb5a5603d87be2d494d64ffbeb8baf93042d8e3eae3a5324c16c6447cd767b70124cd440edcbe03b703481eca4a430831f00747d18691f73a1eb663fb9f61dcd2389a39b74137227a8adf373d1021dbaf314b7b4a70ed0e5bdcc934bb229c348d4a373881d1b8e31ef09629ec8b5975a082184689bcc2a26ce8a7b6834fd01c8e585a75e6373c1018e941e60fba7afb36cad7635ddad5f1ffb09a90e77fb89fede6f8ba9016a8a36f2718103ca3d3092a093af74f41f1e7cda4993ae5f34613a805c5e59fa05662b50fa356f2edea8b5c45c730bfd9d22707182e3ead787110d830cdf70fbe07ba05b38610d5bb37a4612642faf6fe8506d26b723c5d498863232ea5ac2f4d9ac7c6315ffdd643e192c0ae7d59e3aa0ba60a736f945cfdb993575187dfcc0fcdda97b2849238c10428833212d2ee2ecf88de691d9ab895fbe9313dfad62fef4554d120ce0ae7bafd682027d302307bab3e64035252b6731f9635f6a8e1cd19a62cef7198bdf00c27c61ef11803e8cecd7cc19b2c7501e9c3d807bfebe9d92b54f33bde1c07d5d388f24463ac74062a738ae46c206ba83bdeb57e7d0c853774bd76be35c3ecdd10ae33368c0c9e3a6eb378d07233ee2f99c9dbcfa87df93d6cd9dea035a17bdc0d0879c6b60be685e3bea00f77e03f06127657b5e67fe5366c2c8e5bf9fd90397aa235af7460956851042b4415a5cc459d2d3e7ee57f8d773b733b8afd6b50a009d2fbd47ddce53ff496292e954dab0c4e7981961a43370b4da9db0d92fb078a2034e4ff5c18cb40faea65b24fd9b1d47a127786a12ff7a6e1a234eee9b3b4111b7f3d47f5e6082d34c85ec0cc7554ff0a83e275f69e35bea79d07b6cfd3a1dfd871b1bacf3e3fabfbec95313c30974afa1ecc0114eb80733f8ae177849a6c6bd409c791da00bbd8fbf3c1a4990ae865f3e5bcd2705be4c983b4d9b8ce148aed34dc6208410c23929cd2cebfcfebbefd45c7fe3b8766d68c3860d4c9e3cf98cd2d6fde427f771395b2e1eb85ef9dbffcaefdab58baec6ee1d50202184709c43e6fdf8f89c7e0b59218410178ecf3f5bcfa429774c028e03c7ec8fa30dfe7f1cb0488b8b104208218410c2e9395fe0a282a280ab07b87a81ab9bfdd153c1d50554db79c8db1d5c3b01edc9cb06ae7a70f50357433bdf7b2e597249898b223c228aa888100c8a82a234d7d026841042082184f372bec0c57e4e7dac14f6fd02fbf7ab14fd022b97d771cc022e1d3cbcc0b533b82880aae5adaa70bc0c4ed400ae67b891135ac0821e7edaa262a90617837d9b76aa0d5c5dc1b597826b17a0b69972b8347ecf6f574e7a6c348bbd1790959345564e3ee53b563025d059c66808218410420871669c2e7071f582d272089f54cbc8e9b5dcfe501debfe67e3c9a43aaa8f834b970ecac8deba4217505cb5d7ae9781a50646de51cbc6af555c03ceac65c2c5072a8ec0b5136bb9f68e5aee78a28e3a577bcb4bfd7e5d061555f0c7fb6bc9ff59c5a5be4b767da0d2a01c1dc6924b4a4639a6e870bced8b0c21712427c77460264208218410429c7b4e17b8d009ca2a540af7a82c79cc8594b73a11f23b052f0f054505fcecad161e682d1d3d145c4d0aae4645ebe215a868ddbdba295ad72d777b7a6f7b8b470f45eb76665270e904773f5cc73e33b8f82ba080cd063f16c0a12340807ddb3d145c03155cfded5dc90215adfbdae5da7aa5970bb39face3a75f5472367566ce74176a2b801e0aaedd155c7d410952f0f2819a13d0d95541a92f774f05574f98f1681df93bc1d5a8746077386f4c462b9fc4c793926f39b53422aea332104208218410e2bc70befbb8d8a0d606fede30e5f72ed0cf85ca1d75541d85ae3d14b66db291fa611d8fdeed8aff2085f75fb391bf4be5bac10a3d0260cf011b9157bbf0c9fb36a286281cb3c00bcfd572df1f5ce86d5258f71f1bf9bb55464528e81458f9910d3f2f58bac4155cb5c0c4cf077a5d0ed5db6d2c7bcd46683f85ce9dc0d30d468e54c8f8a08e21a12e7cfa7e1dbf9640ec54170e1f861e5d15fa0d72a15f1f158eaaa4bd5ac7e112b8314a6147a10d5d67853fffd1154581ec776c6cfa5ee5baa10a7d2f5748f9c0062aac0873c5550fb6131d702c0de12426df4dfab87f33a37f16298f2491bc3896106334ecdad50119082184104208717e385f8b0be0eda1603d014326d632fbee5a2aaa61406f85dc3c95b83fd5f159b6ca837fae63c7d72a33ffaf96359fda181f5fcb861c9584c575d49c8047fe5247ea3a1b7f4ed6c6c6cc7fd9c6bacf55263d52cbfb9fdab8fda13abeddae12dc4d6b89a18e93e36bf49d41af83071eafe5ad8f6cc43e5ecb5fff59c7f3afd751980f8bdeb0f1ecab753cb1b48e3756dbb861c209de5ceecace5d2a77fdfe0478c1e64d2a53ff54c7be3a7878511db73d5ac7f7bb54fef0582d9f6eb671f31f6b792fc3c69d7faae593cd367a072974ee8c36f6a503c7ce1ba353c8fd7e05778795b369d954fa7b87139792db7119082184104208711e3865e0525ba7b57c84fc4ea1df95e0ea027edef0d2bfeb08ec0adf7cd39983a52af7fdb196df8f72e1dbcf3a63eaa170a216fcbcb5ae6221bd14bef951e5cbef55c68c7061e39736de5d6fe3a6910a9bdfeb44575f2d40baaa9fc2ccdb5d40afc0092d5f4f77d8fcbd4ade2ec85fd789df8f7221225c4bfbcc4b758cbcda85e2033073a20bd96f75c25c05975fa990f7bf4ebcb5d6c6cbf3eb58bdcec698610a7f59da89038761fe83ae3cf5bc2b478f81f50404191572333ad1bf8fc2af25303c4ce19edb5cc05ba1ced2f6316a0feff0385272cd7cbfe27e86197ee0df33aeeed80c84104208218438c79c3270a93ea6a2eb046f2d75e591273ae1d6451bd85e5e053e9e0ab82bf87829fcfcab8a8f27e00d817e70fc38747685cb3ce032031c3d0e162b6cda62e389875c191eae70dc0ab5c7c0e3326dddd1e3507218ada5c313dc7ca1932b1c2a030f37c05fc1ad0b5c1ea830688042da7a1ba17d212810f43a050f37f0f352a058a5cf48577efaa813f397d6b1fa33956161da74659e6ed0bd2b50a16dfb442d04f8023e0abe9e0ae6c32ac72d5052aa9543e9a84fc5924f4a5a91fd8537e171c9e4147dce235774d0f6851042082184384f9c2f7051b41696d20a58b7c146c95e1b9547e19805424c0af9bb547667d651bc5f25e63a177efc596547968d3dfbc1df077e2d81bd7b557616abf8bb43b7ae0a7f9fdf09bd2b1ca980f24a6d807c45b51640541dd55a78d0c3be9df0f92695bc0295c8ab144acb2167838dad3f69537d0dbe52ebc335e26a17bcdce0bbed2a1bbfb671a442e5e74295a21c1be6432aeeeed0cb0899392ac7aaa0ea98961f2a54566b41d5af25909765e3e7dd2a41010a65555a793af6132927372d83a2868bbca3484c1cd6919908218410420871ce395fe062036f4f057f1fb8e7691b636face557b38a9f17ccb9cf05530f88b8bd969b47292c7fd995434720fabe3a2c56b869a40bc3421586c6d6d2b9333cb7d89541572af4197582f5992a83ae54f0b5cf0bdcd507ba18b467bd0ef081e5ffaa63f48c5a46472844cf7061ec4885db13ea301f56f1f6805ebf53f8dde50a817e306b9a0bd9dfd978e0591b375fe7c2f63d2ac3a24f107d7f1d89f7bbf2f1aa4efc58a032e30fb5f4ea61cfd706ddfdc1ed3230e860c26c6d3cce3dd35d505515830e6dac4d07b2e42412b73887f2934bcc64a5e7776c264208218410429c634e37ab98ad429b512cf7fdce9496abd4d582e97285f1d7815f20a4fdad135bb6a90c1faa804ee18bf73ab16d9bca8ca76b29af52f9d7abae7cfa5f1786872bb85da6b0688e0b6347288c1aa2a0e8e1aa7e9dd0e9e0ad259de86280a8215a57345ba1caa377bb30e17a17865fadc061489aebca8c18156357e8a257a00e72d774a25327e8d947e1cb773a71ec38fc2e48a18b1bf40c54d075868111dad4ca05eb3a517210fa98145c5dc156a6b2fa9f9d28dcae623d016f3eebc2e0412e78fbc35b4b5cf1f150b01dead03b5002156c7a72383e49618c0a374279398688648676702e4208218410429c4b4e17b8a836ed0ef2ddfb407717056cc03140077565d0c90d868f76817295ba5f55fc7ac3a82e0a87cbb41b57d205c6c6b840b54add5e155737881ae702952aaa15ba99c05605fe3d002bb8f901c7a1ee2874352a74eda740a54add2115570f088bd002168e439d053c02b4f7d79542af015a8082555b7fcd08edb57a086cb570795f85cbfb0227b447dd71f0ea03865f60df4188bc46c16082ba22e8f13b058e419d958e6b073344906c56496e66d52e990e5908218410425c409c2e7041019b0a9435596e3fa1af3b0e1cb7b74a7406db7ea8ad81cf5774a26f4f05db7e506b4fadafab010e3668c5a8d49eeaaaecaf6beccf9d4edf769d056838c3970275f6f7e3a205528d9436f8bf6b33eb5dc0560ca61e0a9b525c01adbcb8425dc5a93442082184104288c69cf33459d506e8bb7ab47d4b139b15741e30689c0b9eeea0d63449a0826b2770d5a1b5dea0bd569a6eb80e5cbb80ab9e53e34c547055c0d5a0bd870eb8a3bd5a03eeee30284ac1a003b5236e34298410420821c445cef95a5cd0828a13b560fe4525a89b82ad065c7c80ce9cea3a76195a6bc96550b61b4a0b6cf48950703d82168eb9da1f55505eaedd64d2231838ae3d5c3cd00214037014f086fd3f81cda672795f454b7719a040f501a855c1dba46d0f05d0815a0675b66682a0d6b840dd09c07ceab5104208218410a2754e19b8b878c1be4258f88a8da44457dc03617bae4a5925e87470555f85efbf55b93c50c1ab3b2c7bcb4644b8029e2a1e750a55c754aaaaa1a61686856b514549a94afe1e3074821f7f863e3db59b40ee2c5609bb42e1f8717825cdc6b5d728740d02e518fcbc4b65d3972a9d159876bb0bd91b544c810a753638704825225cc105503b7a3cbd10e2a2b4a1b0aaed440e72435f0fc0b9cb08a7ca298410e2d2e374818ba280aa870d393676ed55f9f44b1bb74d7665f3f736f61fd40297f40d36aeecabf0ed4f2ab63ae81e00abd6da307e059e1e0aa61ea0eb0c5bb7819b01fa9a14de784fe5f24030e861d7af2ae652853a9b4a171d6cfe4ea54757e8d11536e4a874f586b44f6c0c1da8600a54c8fedec6cbffb461f483efb7a958acdabd605c5d61c808e5f4b12c4208d18221bdbc1d5d84d36cd95ddee8b53396114e2fa71042884b8bd3052e2e9de060a1ca650678fd79577ef849e5d04e1ba38628a0c2712b6cff05743a85ee012a361bd4d6298487805b17ed6ef783ae74a1abb74ab0116d962f1b740b80db6e70a1ac52bb274bdf9e0a3615b66e5309f0d36e0ae97642c1c74b65eb7695abfa29e874d0b307e8f52e94948241a7e2e20ad70fd1de6bb1d2e1f75d114208218410429ccee90297ba5af0bc4c61ca7805bca04f0f058b0502fc01156c36081ba460de03fede0a9d3ac3af07b4a9872bf643173de8f460ab538808d7ba71d96c9070970baa0d7a042a84f6b30f4a7103a39f42f71e603d0a655560bc5ce1f001f00f82837bb4312fa1fd15d0c3813d0abe9ea0f704f538da2c6315b43d8380104208218410e23771bac0059bd61d0c77b4a98b3b6977b6576da074b68f653f0ac61e5a5a6c70794fe01878f99d5ae6d20950417105571570b1c717f681fbb5c7c07250bb5f0c47417f19187db4fffbfb83ad1202020155815ab09d806edd813ab01dd3ee35d3ead0161bb8bad581de063a40718152a8ab719501f9420821841042b493d39d422b2e80025f6f56a9f87ff6ee3d3e8afadefff86b76f6c666730f4920100311b9895c9472112908021ea4a55a5bda9e7ab0d5b6dadadad3caa9f5f4d49eb6a75aebaff626da164b396da57af086a8a1a0d02217a55ce44e20c440200949364b76377b9b9ddf1fb34080842c98ecee98cff3f1c8e391eccecebc77329bcc67be97f14238044a1fe3f17010426d18338185c1efe54c572d5f2bc64c5f61686d855010704134046d81f8b4c38ab10e3d0a81a0f173b085331548d003388cfbb7e8ba7133482d6ccc1ca6ebc6e35ac4585c8b192d391db6b668a0e645a9afefc35b6f96f2e765fd59f5821b3275d47e11145de9a2eae93ec1ea752cfdce1c8a1505c5398def2c5d4775b0ebd7092184104208914ed2aec54531eecbc8ebffd07967974e961b268e52b862a0c273afc5e85fa870d2a3138940b61b6c36b0db143ca7a0d5af93ed86ec4c8596533a6d2168f41883e8870e8270180ed5183f0f1f0caaaab0bf4aa7b41fe4e7286cdfa733659cc2a86b1562de2ea376ca921565dffe6c76eecb63f09053f48969fcea995c7ef2a7d13cfdfd5d8c1cdb42acce86de59e1d38d9c65d358f8b093754b2bf8e398eff0f0c2693881aa9eddac104208218410dd2aed5a5c740d142b5c37121a3d3afbaba0b2062261387c54e7e8719dea636051e1f849385c0d078ee884423a7fdba493930d31dd78cde69dc6c0fb11e50acd2d50df04a5fd15b2dd70e828bcf60f9d914314826db0bb52a7a945e760b58ee2bafc6a42517494622b3ffe551f8e1e6be623373772eb273cbcf17c0dfd737c5c7fe7c7d9f48f7c2cc51194a44da3ecc409389cce646d500891165a59f1db9798f9c82a7e5a9b86338944bd54ac5acfe71e7b89998fbcc4cc9fafe1bf3635e24b752e2184106929ed5a5c741d624198fe110bc3cb757657eacc99a9505ba3a3a0306aacc2edc50a7d9cb0ee1d9dd23285ca833a4b56c4b8f7330a336659d8bd5527364ce10bb75a70d8c06a85409b820e38eda0c51482219d7004fae629a80e853fbf10e3bd83f0899b14085e7e45a1c7c7c45c77752bdffc4906b7ccce62f8103f58623cb7743b9ffd8a8bdbffe363fce3a93f33685418add61e1f84238410dd29c2de755b58dc9cea1c9d0950f1dc7a1eab899d7d28e463e3fa0ddc179aced3d3b2b1a72e9c104288349476850b1863473232a1bc40a17cac05bc3a197d141ebc5bc15102788128ccb8d96819e9a328fce06b16ae1ea1800fae1ead70f504208031062606ee6c8c6e59a7bb67591450811060839ba75ab8e13a9d2baf50887dc05b05c46a62dc7f7784a183a238c21162118558ab0d6b4984c58bde66cea291fcf79219fcfee1d7b1b83462a164377cd525797b4288640a7beb59f1c636961c09a53a4ae79a8eb0ac2606d89875eb0c165da5b273cd5b7c6b6b80a3db0f7268ca7846a4e57f28218410a992765dc5c0b809a51606ad15b47a9d68000af2c19109d113f141f251d01a41ab8701a570f57805c2f1e75a413b099a3ffef3e9c7dbe203ee83a005e2cbc5b7d3bf14ae1aada0e8c60c661f444c53a14de3e6db9a187c6584d8290545d5d16aad640f9fe784e400002000494441548147efd9c686835358f3563eca151a6ab2ff39ef7f22c91b1442244f808abf6e328a960c37b9a98ed389304e460f2a60f4a0212c18ec046c0c1f5e60e40d85f0a7389f104288f49396858b71d7c8883107b11e41b128681105ad4d435122f145e2cb582268fe085a530c2da6b47b47edd6a1c4c7acc422184d2ee7b1c48b9c66637ccc071d30af5874344d41abb5a1051594d385890a7814ae2dddcacc49515edff331f6fc0d4e366aa8b9a0f6f9e0455322ea36afebf98d082152c7e962f498713c73e72886aba90ed3317b7e398b3e3d85c73f7d15a5f1bf91cdc79bf10064675394ca70420821d2529a36c46b60c9c038d38f40a4cd7858052c2ee3262c00f642a3b944c1684e896946e1a263d4277617280e08798cc7ed7d2172d2584e05143b499b97384ef7ab640c8e72dd8017b9ffd152687231737680e0bb0ab36fb490d957413ba91bf9bad999b1f941990f59880f2f17f3ee98c53c80687daac3242c5cbf871faf3586e50fbfaefc4c31238410429c9686ff1a74886928b91f077b19446ac1bf1d6c59a0d8d0637e144b167af01058b350721742b40e3df23e8a1e458ff950d43cd07ce01884a238d0037b8c39909d632074c0688c09ee81684bfcc631c9134341ed6be7c09e1df89a5d0c1b35965b6e7a9bb7df5658b23cc61d9f52c8cb57d0bc74fb54c93965c538819c89130974efaa8510e2b2859b0ef3e0b24af601f41fc103635da98e248410220da55fe1a26ba0660231a36841879c9b21e687d01114d768e30e92da49d0c3e8c1f750d0b1644c438f7951c2b5601f0c163bb4ed40575d903515b01877a7ec331aacfd217202c24da0a6a0b75c7d94f9b3b368e8338f35ef6c61ce70b8fe360b218fc66f9ed1f9def71414ef076d0b0ab279611993362f64fbe6f9049d4359b0a00c00e798ef405512faa409212ee00b27b19537aac7efd1ab138dea096f3b9919c3cd87f9c9ffee66a706e40ee6d1f943c88be9f8c2498b208410c224d2af7051544043f7be64cc8b6cb181ad1f449b21e643898e418f1c836813589c10dc8f8e8e1edc0db136633935c3e822a6351baf8df9002bc402c64d622c7d8cc7923e2a3eae29c6e44901ea149ddf3e378a7dc75fa6ac29c28d1f53f8eb1a176b5fb530e3161f5ac307e92fe6a46cce1c862e7f82050beb98f3c84b3c3ce6745fb132e41694428894f31fe3f16777b35d03fa0ee6d1db4731546e37258410a213e957b860013d14bf13657c807da826de6d4a410fec30be575488c5a7fa545408d7c65fae1a23edf183c502e1136757ad60ac5bf31b5dc4142b3d3ec625a6a0da62901935c6d9f85508d9a03542dba98314f49b4bc3a9be106b803e3a570d72f1e2dfddccf864ab31c3d907e82e56bc6029fb172cedae772284e806dddc03b447b69d9c8c01de78f99f6c09016a2e5f9c568a3bd04a6d0040a530cf25f771114208718e342c5c74c072eed893f6ff459576d37eb57fdc62e9e4fb0e5a2dcebcaee7bb4328160dac2affdc3a80bd95766e9d758c8cdc08f8c0690fa0280a4da7f2e154036870cdb02c5edd98835653856a8fa145d274e23721c465519259b99cb7ad44b79d8c8ce1a37b5976fa96529a8725cfaf63c9996773f9ee57a732515a5f841042b463c2b3e2545eafbc749612f8df17ad3cf2bb0803ca423cbfba1fa0421f70598e120db751dfe20463321dfa175a68f1e770e4a81332923be39910a2e75994e47e9dfe8ba95c6499e467d4387ea0f1a2f76ae928af104288de2d0d5b5c3e642290931923128932fd538dfc74512e6fbcde873977b662554e91939345d89787b715b24b40b5f8698bb8a86dcee24a67033d322fb2102265927afe6d2de27bdffcf825bface733aa94df34875537f5f8868410427c8848e1d2c3b43a857933756ebe21008d1ab9394ed66ecf67ce970ee070d870d86284a3765afd906d034d03bb339b505833657b9810e2e22c26683a304346218410bd8f142e3d4d51d0231a564714fc70ed0895d736e7c311c8c9d488c582f8db224463801d82612b51cd8aa685ccd62b4e089100335c8f304346218410bd8f142e3d4d81584c8190826a8d31a4e42481d008aa0f42414e18571f07913e1944a380159a3d116cf64cac164b32e60e104224595207e75f263364144208d1fb48e1924c61c8748729ee57ccceea62268d0da3a856548b620c3c0dc1a1e379646565e1b047209aeac04288ee6631415560868c4208217a1f295c92488faa288e2805995eaa4e143066782b7e7f9870a8857e7d413b0c9bf714d037ab85c2ac360849870d213e6ccc307cc40c19851042f43e72669c443ac6dca4f9d9611a5a3239e975d2e2f5a3854fd2e74ad8b815aa4e8e6270f17106f507dabafbeca18537be329fa5d5ddbc5a2144c2923d1d72225f66c828c594104208295c92cd0203fad90946b368688240204cdf1c1f586173653f14e7484a722a710c8458b89b7f3d752ff1c8d32ff3c853fbbb77bd4288842969f865868c52b708218490ae6249a4eb800ab9996182611bc1d80042a13063ae6941af811aff7c1c965afa67ed873edd3f367ffff297704ec8e6c0d247e04bffd5cd6b17422462e3614faa2374c90c19851042f43e52b8249b024e7b94a8662310ed4738d84469ae97b5ef16d010b88e3cfbff31edda083475736b4b70334b77cce7a9a5d3983ffc3b80142e4224dbcc2199a98ed0253364144208d13b4957b164b34034e223a465d1706a00c5199bf0076163cd1df87dad0c2d7c87a26b21e653bb75b32deb96c3c205940d5bc8c3b3bb75d5420821841042f43869714922052006fe0044626ef654d9e96b7d83239e2b688e4c26d0b48c4f7faa09024a377713abe38d37c6b0f00927e064cec35fe178274baea96cedd62d77b7d35783d33d677b66c86c868c9d314376c9d87da4454808217a2f295c924a8128b4b44258cb25d6bc8768249bf2ecafb3f7ddfd8cebff3746ce865895b57b47a2ee5fced21debc859f046fc8116fee77f3a5f7cfca09c6edc78f779f748cb393fa76bcef6cc90d90c193b6386ec92b1fb9c9f53082144ef22854b12592c1a5814f61c68e1445d2339f613b8fbcd626f75362d479fe13f9e6c03afa59b5b5b826c7ea99aefbcf412d3da9d8b54555575eb56841042082184e84932c62599dc1aa1963e1caaeb8fdfbb9ff78f9e64f0b069bcfeda4abefbf93df4bdc6827652edded69696752cad9bcfc4f4bc802a84104208214442a470499628d00f566fc964fb1e9dca7def70cd9849acfd472d0ba7bfc1fc2f41acd202dd3b269ffd4b9fa065ce189cddbb5a218410420821924a0a97ee145350ed51d4a208ea000db524829a1b41cd8fa05e1941abb1f3f0e23ed41ef90743868ee6604d1665f69ff29f3f08c1712b31bd3b7f1d2d6c5eba90f9dfac60dd534ff1d2fe60bbe7829dbe4a0821841042887424635cba830e160b282561c2c7e1d9dfabecd8a731a008460ccb241c8ae22ab1f2dfffd5cab65dd56464e671e8680677fecb9ff8f5ff8b4040456b5550d4ee1cdd92c3c4854bd9bf706907cf49fb8b10420821843017295c3ea898829a1b053dc69fff08ebf6fc0b31e70c8aae2c2067702905d78cc0e5ca20272383071fdfcefffcf0dfd9b96d1bdfbb6b1bfff1d029f0a8681e15bab568318960332b2b76b2eca0178f0619d985cc9b3d86bb06bb529d2c314d07f9f2eff672986c1eba7f3ad3d3a51e0c1ee35b4f6c65e7f98f6794f3cc3da3284df34fbdafe6204faca9645d430470307cd4481e9a5d4a711ae4f61d5ccffc173abbabbc9b7bee99c96dd9498dd4b160232b56ed6079a50f0f404636d3268ee2fef105b8539dadbd73725a28ea3f80bbe68e667a7e37f799154208f1a19006a70226a583aa0285610eef82753b867122bc88af7cf3535c3b2ae39c459b9a3c6cdaf40f8e1eaba6e6682b93479de23f1e7540a585a85fede69616b30850f1c2067e51133bf388dfdbc0f2e7d613fefc2cee2d49f71397002b57ede570aa637420ec6da426d5212e53b876075ffe4b35f5671e09b16fd736eec3c59fe716604f61b6aea9b8d3e2b00db0f2b90d2c8edfacc9a642c4ef65ddda0d78acb3787c6c9a5c18887a7976d90696349f7e2046fdf11a7efc4c10ee99ccf4b4aab0841042a403295c2e870eaa03c88cf0fc72a8097d9719f37ec098e1e7eecedffce637bcf8e28b545757130a85282f2fe7e8d146a65e5300755e087777f73013f11e63794d0cc8e69e3ba7725b7e8015cbd6b2b82144c5560f7795a4f7496af3de6d3cd9d95d3c532cdce435aeb2178ee097738bce5e61b73ad2a2d5a2730156ae328a96dce1d7f1f4dc017070239f7ba5014fd5110e450b1891e2fceec1e379e66eedec03d1006fafdac49206289f383a3d4eb67d8dac3e0ee062c19d33b8ab080ead5bcb573607d8b9ab11dfd8d2b46875f1d5ec615933a016f08d2f4c629ea3819ffe610babfd0d3cb9be99ebe7e6a5f5df00218410c997d6a7316949078b4d077794279f8240de737c7dd1ede7fc83fded6f7fcbf3cf3f8fdfefc7e974326dda34a64f9fcec1830719583e8d6b4ab7c1c995a0f6e2b911b2afe20fdf2ea5ce0b79f92aa0e28e1f8dee6c5b7a9fb0044ff04445239154e7e890465d4d0080dcfe055c59949ddefbb23d5f3dab9b015cdc3a6500795660c4045ebe4ac59e2e7fa9ac2e4af3cffee8abdacbf20620bb9c87a6a4c989b6d541ae0a68173e65cb70a44746a0b9c6677c868acae25dc3fa71c74437abd7faf054d55217cd4bfb6e8d420821924bfe2d5c2a1d94be51fef814f8f357f2c0376e39f3545b5b1bab57af66fdfaf57cf18b5fe48a2bae60dfbe7d0c1f3e1c87c341341aa57cc4d5d4ef59037688457a71e1026075529c0fbe83dbf856450dfbfc4061198b26a6c32081ce44d8b9761b1b4330704c19eca8e668aa239d23c2d18610009eca2ddcbe23841f07c3c78ce4a199e9314ea433616f23750058a8dfbc9edb7779f0e060f498513c307340fa658f7a595e71023f3666cd1d963e27d9ce22ee9dd38fc3ab4eb0fc0f2b59a1424403b24bf8cfd9456953b8d81da7bf3bdb5df44c81eaf7521f257df6a9104288b4d0cbcf9c2f514c41ed1f65c32ad8d7f6e839450b80c3e1203333931ffce0078c1d3b9693274f326ad428264d9ac4c8912399397326e14894b27e21b081ae77e79d26cd4aa3aeaade285a805ca74a389ada441713aeddc34f77458c2bece3d3b035231a606753fc7b7f08bf0a1062df8e6d7cf9e513345fe4a529170a611c063e5edde5816c171984d8b9632bf75534124e71bcf3f9aaf6b0c20be40de38e525baae39cc39de13833de2672bae5454d8b013867e49516900b70fc20cb6b82f8bcf52cdfec8b3f1bc197c67f07841042a486142e97c0628bd156a7f3ca3b1fe1abf72f3ae7b95028c4abafbeca8e1d3b78e79d77d8bf7f3fc5c5c5b8dd6e5a5b5b71381c94949470c5801c8add0721bdce735248a574da4c5ebb7f060f0cb1e1a939cc83cf1d8e5f794f33512f2b5655538f835be60ee34a47d72f493e1ba3c796326d78190fdd3d8f350fcce34f730bb001feca3dbce54d75bec494cf98c1f3f7cce2cf9f2d2517f0ecdac3dbbe2e5f964441dededc4004183da584e254c7692f78829faea8e6b06663f2dc19bc74ff0c1e1a6e83e61abeffc291b4f96cd94b4670ef101be063f95fde60fee24dbc6092e3530821446a4843fc2550fa4659f53b28bceadf19d8f7bce714853163c63077ee5cd48b5cd96c7cffaf4c2d3e0581f4ad197de1244f1860b1026eae9f30903f5656d1d07084773c83b931e3e22f4b76ce866dff644933d8caaee663390af53e2ddec945a7b5354ab345edb205a6e733bb193f792ce3cf6c0fdce557324e6d648be663735d98d97d2e5e3527fdf71f17d6ad64007efa3079a0dbc851d09f916a0d1bb456b63645196fbf78ab41d2b2fbeb79f938402e33fb392e69bb3d9d31fcfe11ded5005709b797bbc102e3279451b2af92dae347d8ee29e386b4f86c39183fef467eb4f3002b0fb442561e53067a79aaa2013f56548b8e2fdd9ad9841042a454fa9e3da79bf8fff1434d398cb976d6054fdbed764a4b4b2f5ab4acd9d040e4e8a3948c062d949c9a3158bd8ea5df9943b1a2a038a7f19da5eba80e2665d317156e38cce2559bf8c11bc7387d578c70bbbeeee9d75d2cc8813da7008854ff932f3df92a9f5bba9b23009ce2974b5ee59bdb02a90c68087ad97da88637f7d4d3fe6e23c6f99f05bb357d3ff2f6ac5c720088d1103d3bb2dc9804418534eae9e43f51c34180dc1286765104245b448b5c3871847afaef4d2c8d2695d0f0fb2364f41bc2b73e358507e78c606828607417cccaa3502eab092184384ffa9ec5a4198b1a237a14e8732dd78ccabde4d737fb60cdf30bb9f9c600f85450927365d859368d850f3fcc9c2260da777878e134cabab851a292942f1f5b0e34b07def5e961f09a244036c7ff7180d00ae0286665cf89ad4e4bc7886ae32253d73a096c5af6ce797155b597228888246ed9e03ecd600b2b9214f4d7dc6cebe328a9890051062c3861a1aa21a2d87aae2d9dd8ccb4a97ec1a0d878c3e4d39fd72c9ed62f964677467e552081038c6caea200a110e6eaba616c091cb0047ea332a80d2b0976f3efd26dffcd3262a9a3514ff0996bf63f4072c2c2f616002fb52082144ef22d7b412a4d8746a0e832b770c85ed26bd0a0683582c16ecf68b7712fae10f1ee59691afd377a882764c054b32bbe33871020e6762b77657927086e0281ac2bf0da8e117c7daa878b1828a33cf5899307d28e5098c014a46ceb39c4cbde3e34c6dff90ff08df78ea3d8e90c5b7bf3a9da909ecde1ecf9c3f98cf941de667d55136bc52c186764f0dba613413dd5d9f002677bfb663cbe693d38ba978b90e7ff57b7ce997ef9d79aa64dc08aeed932ed923d47a8c26c1dc812e1c97b8cd1ecf5834843bcaaaf9597594375fa9e0cd764f5d356918c3d2e5b35554c69cdc2a96797c2c59fa2a4b4e3fee28e19ec9d9a93b0e851042a42d295c12e550683a05ce8c92731e8ec562ac5ab58a1b6eb881c2c2c20b5e56dfd0c28f1ff915235cffc58cdb2176d49ae4a2a52317ef2b6649ca09838b9b3e390dc75bdb59badb438306b6ac7c6e9e3e8e85439c0935052627e745b4dbbe45492c4fcf6776326dfe342cedf7ab2b8ba9134673f7b5d92452baa672bf660db98e5fdeb29b27fe5ec3ae533170b89938fa6abe3a352f8db247f0c667c173bbd54bde66b28e01c75b3bf9ddee261a34c095c58cc9a3b97b8c2b8d3e5b997c6ac14768797527af1f0d11c1ca80b252eebec9285285104288f3f5eec24507c502167b0c220a9aa6747e49d7aed11a82b07eeefc412e978b19377d9ce5cffe019bd5c295570ec699398c40c04fb4ad8a9d7b4e7074ffb33cfe23a05925d5250b0075cbe1dcb6837324edbcd59ac9476f9aca476fbabc97a7ba6e216310bffef6a04b7a4952329b7abfaa140f1bcd23c3465fd6ab93933d93f95ffa38f32ff3d5c93a0626df3485c9e97e0c64f4e3cb9feec79793b53d218410a6d6bb0b174dc792af106cb0e3cc89a2ea31a2a75414b5e3f2a225908923bb3f00afac7a1b0b19d81d018e1e3e84cd914b598983b5ebf79113f804dee61899d7ace0dbf7ff1b030b4e72f0d0038c1c17332aa554730e838b8c23b7a4bc29233166c9d99e19329b216367cc905d320a21841097a757172eeac018cffc2e87359bfa31e786166eff9793381d1ab1e8b9c585a20301a83e7905d74fbd9603d5311ef9cfa97cf3ab31fae8506c85d7d60e63ce2ff6915fb897bc1a2fa537c08f1ffb39a3c63f4b81ed75defca315a269d1de023913a1b9aad3a7d3a0b44a885972b66786cc66c8d8193364978c420821c4e5e9d5858bae5838d9a4f0c95b1bf8bf17c21c3deee2a11f78e1fd73ff6d5bdc1a8106a86e1cc9bf8f76f3eba75fe1bb9f8b71cb5d402d5000570ddccf948f8ce7968f8678fc7b2a04e1813b5f67e35a58f75e2eba6245714648e55ca467c6e607f7c345ee38629641b166c9d99e19329b216367cc905d320a21841097a757172eb11a85fff8861706aafcec571914e468603bf73fb6a2031931ded8da97a1e3be444d031c7bef7b7ceddf21b6db8aae2bd0a030e486089fbbd98fae58b067c78855dbb0e76aacfabb9d8577cde2f1dfefe68107f7a0782de829ba9c9953568c136879e37eb8e6c94e97b398e4acc52c39db3343663364ec8c19b24b46218410e2f2f4dec22506aa4d87c228de779c6cda66e3896f47c07bb63b971253b0948439ba1d5e7af763fcfcc91b59fceb3f307df87b90aba0fb14a34f8555078f4e41df0262b118047574ab8ee6b5a33ac33cf0a96d7ce31757f2b5aabdf4716b68c164dc492fc8e685654cdabc90ed9be713740e65c182b2f853e930abd80767969ced9921b3193276c60cd925a310420871797a65e1a2c7c0ea021c518e1d849b3f17e6da91363e322f8afebec5286a1c40bf30955be0477f9ccd57befd242b5fd981b5f60bccfe1ec48e59cfed086e854c471d47eb5d603166e5d12d3a7ab3cac8f195b86cb92c7fa3883bbf5a07d56a12a6ed715236670e43973fc1828575cc79e4251e1e63f415cb99f330cdcd9dbfd22c272d66c9d99e19329b216367cc905d320a21841097a757162e1655878c288b7f5fcc0f7f93cd8986e378b678a00f2839a03a35c2f5b0e28ff0f6de2f70eb9d3fe3c09e3dd46e9bcd77bf01b45889715eeda1434e4680fd6d2e88c69fd42116b5a03a34268c6ce1b9b579dcf9c53a2c169d98def36706c50b96b27fc1d20b9fc89976d1c1f9663967314bcef6cc90d90c193b6386ec9251082184b83cbdb370e9a7f1ea7285bf57ddc7cd9f8832fc4a176fec5c4f9f6d7fa76f4e849a2627c74f4d2564fb1223268de6bd2dcfe10e7f9d87be1a4651ad683e0bcaf937918c81cdee2214b19d3b005f01a23069540bbf7de96adedf7e982b4686c193bebb7ee3614faa2324c42c39db3343663364ec8c19b24b46218410e2f2a4efd9730f51141dc23a3baa87617366f1d42f17f27e9d8b1756cea3c5731cfffb0db49c7252d4379b02fb7e5aaafe8789656f73d35cc06b43f329747ce77b85aa137934346b10534e37b8182ce0b0b411d4cb59bbe3085ff8c81148d3f382994332531d212166c9d99e19329b216367cc905d320a21841097afd7152e1605bc0761e888297c7eced7d8ba3bcc7b6b6fe3ea81adf85de544c23e72fad4a187f693d3e738d77f1cc856d04f18ddc33a2c5a74c00ec7eb5a51f418b815f4f637786cb670cda8104307bccfce830e88595014d0d3e4b62e420821841042a4bb5e57b860d588592cfc734f90bac0f3846b17b1f063d5e4f78758f35a2c76c015ff0a5ba0c58216502edae95bb1e810d2519d039832ee18a83174fdeccc6131bf4a667198a96303044225e0df0f246366b14bb7a6b235d5112eeaf4d5e074cfd99e19329b2163674e6777d4dd90e2249d0b15ff0348effd6b9663405a848410a2f74aafc22506aa15c805424000348dee1d296a077b868d471fff3b5ffbec4bfcea691f9cb4a27914545b0c5d8758ab05daffefee62fb166b0c4ed9f0b5653066881782e7be40b700617038ac4474574a6f429988f18372521da143ef1e6939e7e774cdd99e19329b216367cecf6e2ff85a8a92742edcf8eb737e4ec7fd6b9663e0fc9c4208217a9714dd0ab16316279cf2c373cfc6d8b3cbe847a5ba4075829a41bb41231f80c3c2fe2a0b857dfd3c746f1b782d68adc6fd58b4988558ec327689aad3d4ecc6a686b9aaa405da3a08aa4096db4e38143cfda31042082184102241e9d5e262057f9bceb106f00775da82d0d00245b990970f65fd141417460113045d33c6895cca58113d006e97c2cadfe8140f06ad5efde0bdb69c3a95c7f3b05a35faf60d40a8e315f671c4886ada07dc98104208218410bd4f5a152e313ff4ebabf0efdf50d09aa0b91572b275d66cd61958a450500aab5fd4c9cd8271a314dc0eb0ba319a2f62f19544400bd3699346cc6f61687904dc21b493ca25172d16cb79c5524c01171c783f13abe2874c9d587307ad360a04da2284233aa8ddd378248410420821446f9156850b8a31a6456932c6baf4cd87be450a570e54d02d70e238b8dc108ec0fa7775ec2a84c23af9390a45f960b3426e96424effb3eb2308448d62c6a282aec60b9b66cba5f5d7d2010b280e50aca0b5821e036b4e1434786e6d1e33afad820cd0cfbb2bbd12031c70b2398ad3163606fea7f7f857218410420821d24a7a152e0031b064022a443d607501765042d03f1ffadfac4000827ef0fae1d871680bc28926a8acd6195c02b1fd100e82c30143062ae46641668eb14ec58a31b2c70f68c6f75ab4eb5816d5c8f1ccb33a5919313ef9e578134f2bacf8bf09f8d48f73c3981fc75b7f14508c6619b540877c0dde87d7df7672fdc81a2854b0f86244bd2a8a55da5e841042082184e84ada152e960cd8b15da7e5144c9ba65057631420b9a518b37185000d9c7dc0e982a2fe8ad11aa2c294710a5e2fec3ca0d316d2d175853736c5e897af70e3bf28bcf6428cb6100c19a4307c9042a61b140dd43e187bc2125f3fa0053867ea025d07250c63ae8971e2a493ff5b6aa7fa848d9756e7b1a76e2885396ff3e25a0b578db6e3766a1055405559fd9a8e25c74d75f578060dfb1756be9dc189b97e16fff7290a723562feb49a1fa107b4b2e2b76b59dc6c63d6e7e7b0a8a47ddfbc087b37bdcb639b1b381a828cbc4216cc19cf674a6d294b6bb858e64b59264519a35e2a2a76b06caf877a0d70b8993c710c8b2615e04e72ca8e5d247bb09995153b5976d08b47838cec42e6cd1ec35d835d49ce788ae55ff9133f3f6c67ee2f17f25fc33bf95359b3937ffde2db5452c40f5fbc8d5949ddc117db8fc7f8d6135bd979fe4b32ca79e69e519426f52fffc53f2bbe9a833cb1a692750d11c0c1f0512379687629c569f7df49082144aaa5ddbf065d83cc0cb039c1d3026f6e8961b341f601853e0a646742598982d30ef6d3270941a38b99aa425e2e4cbf5101dd18bfa2b72a0482103c01fd8b14c23a1caad669688446af4e5333cc98a8108e422804e5650a4a4ca77f3f05bd5d4b8cae1b5dc3c64d043dacf2e04ffab3fa1f51fa16c57878d66aae1b55c7cefd45ecda9ac7f593ead1830a6d41270d6d76feb0ac94aad6597ce5b64afe75fa5e9e7fc1cadabfe7b360c149a3e5e7432bc2de755b58dcdcf1b375db37f2f5f59e333ffb9b1b58f2970db8ef99cebcec2445bcc0c53327be4c4fbad8f603543cb79ec76a62671f0af9d8b87e03f785a6f3f4b46cecc98ad9a12eb2bfb0815fb4cbeef736b0fcb9f5843f3f8b7b93561c86d8fdfbd7f9f9e1ae963bc50b8fbd4d6532225de0e2c760d8db484d720375a28b9cb53bf8f25faaa93ff348887dbbb6711f2efe3cb720c5c7aa10428874937e854b10caaf54c006fe7af8c44d165a7df07ead8e3f023527c0d3aad956ae170000200049444154d3d80c3999d0afd82848720ae22b8800fef8fd5f00d502197d20c309d7dfa018ef38ac106c86fa4685a6533aae3e10f541240aebb7c4b058e0b3b729c4a2f1c69c1c8c7bca0441abb3a266f879f0ce5a167d3e4c5e59085c31882a5c3ffd24b17a1b5a8b15c5aaa3ba43f471ba713b9bf8f4b5ff8f3b67d651780d7ce293368255f6ee99d12c4d85bdf5ac78631b4b8e843a5e20dacc0b1b8ca2a5fca3d3f9d57858f1cc5b2c69f6b26c4333b3e7e625fda4a5cbcc092ed393badc7ed31196d5c4001bb36e9dc1a2ab5476ae798b6f6d0d7074fb410e4d19cf88147deabbccee3dc6f29a1890cd3d774ee5b6fc002b96ad657143888aad1eee2ae9f913d9505d2dcb17afe6c98d6d5d2edbf4d67a7ebebf87037520a1e3b4c98b07a07004bf9c5b74b6a5cdea485a4b46d73903ac5c65142db9c3afe3e9b903e0e0463ef74a039eaa231c8a16a4ec58154208919ed2efdf8205b4362000ae0c5054e8e386c281f1a223089136686c812347750e1ed179ef2058d1195aaed0af40c16185cc5c6375e774f9f202ba313398d3095794c31536c5e81e668b2fe757a00fc47c80021605d6fe4d6744b942713f880575f43695ecbe5ed0146856c1a3128b174a8aa2a12b0a165b8cb03f83fa5a95a7be77927ee3835007d14a3b166b0ca73d88a67d58bb8905a8f8eb26963403196e72fd3e3ce72fe26fe45d3f809b5b466463b7c2ecf16e9654f8f0d49ca08e3c4ad32d7342cba436631827a30715504f210b063b01183ebc80dcad357842a11436f025b0efb2afe20fdf2ea5ce0b79f92aa0e28eff857267db9250c89e62d5c32ff3e46120379f3c4f139d36aaf9aa78e4174709f778a6f325720c6ad4d50400c8ed5fc09545a968654b20a7af9ed5cd002e6e9d32803c2b3062022f5fa5624fbfff4c420821d240fa9e392b108b811689b774b482e68158106c16a3a565f26485f9732ccc9ea050d457a1f604bcbd4da7a65ee744bd4ecdfbc62c6017ac578f0fc80f027ed0c3c6fa630168f1c29ef774a251a368d27570398d961b74e3b14008b4561b68565015a25188444eaf3b3e555954450906b9f78b27e89b1342afb2a1b5da505463eccd87b7688973ba183d661ccfdc398ae11db42a85bd9ef849a193e2f8efc89dedc206e0f3e24960c2846ed745e68497e9495d6cdf9e5fcea24f4fe1f14f5f75661c43f3f166e3a4313b9ba264663d5f22fbceeaa438df49f8e036eefbd56a1e3b0e1496b1686292fa0eda321937f726fefad414aeee74a855887f2e5ecfdffd70c5dc6bb82239c9ceea723f4638da60b472782ab770fb232f31f391d7b9ef8d1aea92f9b9eaf26f4023750058a8dfbc3e9e73350fae3996dc9c4208214cc374d7b5741db4f80d28091a2d22b9f97043a902416869022cb0fba0cee001c6245f17ccdba5c76717d3c17b0ab2b38df13138a0e684ce9b5b74ca4b15f418581c30e9660bd4e94483a03a20a8e96cdc021fb94ec1efd5d97b083e7abd62cc52a6839a09bb76ea785b756c550aaa6ae1baf19c9d023906aa1db043accd183b73495333a73d17f3ee98c53c80687dc78b4423c6d57fd572f6eaaa357e76a345f04549f2d19940e68496e94997befd70fd1e7ebcd607c0f0ebca933c28bbbd4bc9ae515755cfbe78f350ae53259c9413d92c6efdd5e7b915205cdbe952a17deff2c3d56d5034961f2dc8e5bf572523db69897cb602ec6c8a7fef0fe157012dc4be1ddbf8b2dfc61f6eeb475e3ae43cd302e8e3d55d909bed22c31b60e78eaddca739658c8b1042880b98ae70395f4c07c2c69745819c5ca38566ca58639cccf9b38341fc7e2e36f8eb2b3a362b443498361e8a4a15aeb956e19aeb14f416d0ad5055a5e3d9a1336ea48245855818f27314ae1ea26309830585215780cd66dc1f46b1801e35ee27d3afaf828231a140cc7776fb8a1d9a5ba0b159e78afe0a367bbc7811a21b859b0ef3e0b24af601f41fc10363933d33d7e552299d3693d7a605796bd5df79acf2300f3ee7e24f5f28a738d5d1c21e963ff61e27e8c3271e1acf55f643a94ed4011ba3c796e2f35ab87eca28a6e743ddae4ddcb9aa117fe51edef2f6e3b6944d7ed1b1f21933787a7c26be9a6ddcf9971a3cbbf6f0f6473fcaf4f498064f0821449a307de1d25e4c0742f1e22166742beba8339c8e51d05c33144a0a15eafdf08fad31f28e40561f8869f0916b8d69968361b0b7ef32a28016827efd1488426616c63d675a8d6e6416a7b181010338dbd4138d4f16a09c5d47cca273a2d1186b533ad05867baf085bbf1de32511d63f88f4e34aa9f597758b76203229a8637ace38b41b82d3e6240b5a1c6747c5d0c20e8d69c0964bee4653ad06d99bbd87eb8f9303ff9dfddecd480dcc13c3a7f087909ecd36ecdd89944f69dc50ab8b97ec240fe58594543c311def10ce6c68c9e8dd695e3afaee6c9a3609f3c853b06426bf3e9a6a028615f9490dbcaf9bd53cfd7f3c7809bf193c732feccf6c05d7e25e3d446b6683e36d78599dde7e2538e27eb6f4006e0a70f9307ba8dc70bfa3352ad6183d6cad6a628e3ed1fd2d94b8410425c960f55e1729aae77d03dacfdf3f1a993878f3406e66715411fdd4234aae3f581c576b6f019315c31260c880fd607ce142f80d13d2c629c67e92e78b5c2b8f1e4cd37595022ed5a52da7505d3435090a3f0d1a946c1934e454bb2d8333229a48e5a4234f8816cf09f0a1101c8c826e74379642689ff188f3fbb9bed1ad077308fde3e8aa1ce5487ea5ab8e1304bde6da0411dc8d7e70c20170873b6293239ddc52e26c4eeb78c3e58e18d7fe3139f68ff5c133ffcfc6f5976cfbff2dcad5929497746d0cbee635e1a420ec68e2c223e4f497c22010b766b7a8cafb367e592431d7e623444354e4fb11801e37ba9598410429ca7779e1e2af1b132a7bb6f85614069fc0915d0e32d28a767388b3f75d1555a20ec0797038a0b8cf12e7a67d593c5e85646d898e1acd3e552a42787db9c59775631431d95d4867cac3ce065c6380b1bde337e2139038a294a2047b2860525b29d44b3f454e6b3eb0df0c6cbff644b085073f9e2b452dc81566a03002a8579ae2ec70d247bb8d5d9eb013eb61c68a08556960f2de0de8131b6bf7b8c0600570143333e1c43c17afc1808d4b2f8954a6ab132c5318307aeb4716ccf01766b00d9dc90a7a6f4b37566dd19454cc8dac70ba7426cd850c36d1f2bc57ea82a9ed3cdb8acae730a2184e85d7a67e1723ea55d8172faa14bbc28198b821db871a6d1854c6b25a139dbd2ad680150baf36ce1bc759d59b72d8fcf4ccae2cd75a7a8ddb08edb379c5e228b4f4ecec39140866ecd79ce8a13d84e22cb74f4b2eecadcc9f6c347f7b2ac2efea0e661c9f3eb587266a95cbefbd5a94ceca2f5a5c7f6eb990d74bc3d47d110fe6d400dbf38d646c58b15549c59c2ca84e94329bf78efa6247030eb57f732abfd43cdfbf9d74fbf492545fcf0c5db9895c0988c9e3e06c81fcc67ca0ef3b3ea281b5ea96043bb6506dd309a89ee042e0a24e56f40369f9c5e4cc5cb75f8abdfe34bbf7cefcc3225e346706d9f0f47a12a8410a2fb48e1d25d94f8d8196ffce7f4e88d71592cdd7cd272e68aba72eebafb5d37859f69db78e29d3a8e85c09655c8676f1ecbfc9c14e46cef22992f69990e745be60eb7af71fc40e345efd59248d61edbaf674274b6ef5cdcf4c96938dedaced2dd1e1a34b065e573f3f4712c1ce234f347ea1c3d7b0c003899367f1a96f6fbd195c5d409a3b9fbda6c12e93598acbf015943aee397b7ece689bfd7b0eb540c1c6e268ebe9aaf4ecd4b28a7104288de2535854bacb5eb6544c792b0efbaf5bcd55ac4f7bef9f14e9eb4317cc2049e9e7079abeeb1f3eb8b66be84653ad06d993bdcbe4af94d735875d3075b758f5fe5bed8beb366f2d19ba6f2d10ff81e3e307b098fbd766fd7cbe50de34f7f1b7649abeed963e0f4731f6c3f26ef6f804af1b0d13c326c74776e510821c487546a0a176b89142f97cb92d9f39be8f14beeddc32c39db3343663364343333ec5f3364144208d1fba4a47051871f49c5664582ccd225c72c39db3343663364343333ec5f3364144208d1fbc8181771811e1f9cdd4dcc92b33d33643643463333c3fe354346218410bd8f142ee20216939cb59825677b66c86c868c666686fd6b868c4208217a1f295cc405ccd2bddd2c39db3343663364343333ec5f3364144208d1fb48e1222e60969316b3e46ccf0c99cd90d1ccccb07fcd9051082144ef23858bb88059ce59cc92b33d33643643463333c3fe354346218410bd8f142ee2021b0f7b521d212166c9d99e19329b216367c28dbf4e75842e9961ff9a21a3104288de470a17718e99437afe3e31ddc12c39db3343663364ec4ca8f81fa98ed02533ec5f3364144208d13bc974fd42082184104288b4272d2ee21c6b2a5b531de1a24e5f0d4ef79ced9921b3193276c60cd92563f79116212184e8bda4701117183f2827d5113af4ee9196737e4ed79ced9921b3193276c60cd92563f7393fa7104288de45ba8a09218410420821d29e142e42082184104288b427858b10420821841022ed75eb1897e79f7fbe3b57277ad0b5d75e9bea0842082184104224acdb0a9799336776d7aa4412783c7283392184104208611e32ab98e861adacf8ed5a1637db98f5f9392c2a5101f01d5ccffc173a2b9edcdc73cf4c6ecb4e5eca73759c198060232b56ed6079a50f0f404636d3268ee2fef105b8d332a385a2fe03b86bee68a6e7ab9daf2e19a25e2a2a76b06caf877a0d70b8993c710c8b26b5df7711f66e7a97c736377034041979852c98339ecf94dad228e36917f91da43ae325bd8f14e60c36b3b26227cb0e7af16890915dc8bcd963b86bb02b592985104298888c71113d28c2de755b58dc7ca9af5371a7ec1cfb629903ac7c6e038be3458b4d05fc5ed6adddc0f7b707d22363d4cbb3cbce668418f5c76bf8f1335b78cb97c488170850f1dc7a1edb153f890508f9d8b87e03f7adf3128e3f54b77d235f5f6f142d00fee60696fc65032bbde993d170b9c77632325ecafb4871ce1736f08b7d46d102e0f736b0fcb9f53c59ab75bc5a218410bd9a142ea24784bdf53cfbd7357c7d73c767cbeec1e379e6ee1967bfee9cc4170b8de7ca278e667a729b2f80ae33e36b64f57100170bee9cc7eb0fcce3a989c695e19dbb1a49465dd055465fcd1e9635036a01dfb87b1e6bbe3681591980d6c093eb9b9374d2da81a6232cab89013666dd3a8735df99cbe3d719fbeee8f6831c8a02d1665ed860945be51f9dce6bdf9ece17f300bc2cdb9084ec89642481e324d519137c1f29cfe93dc6f29a1890cd3d77ce63cdb767704f2140888aad9ed41dab420821d296142ea20704a8f8eb26961c0941869bdc8e16b1ba28cdcf3cf395e7af667903905dce4353f2b027397162991de476d21264cb70242173d7199b6b7c44008aca8cae61ee7edc31d1a8023d55b5d425e3a4b503619c8c1e54c0e841435830d809d8183ebcc0780fa1107e007f23effa01dcdc32221bbb359bd9e3e3d96b4e50970e1913394e529c31b1f791fa9c645fc51fbe3d873fdd3d8979452a5855dcf1cecbee6c5b0afe06082184487732c645f40ca78bd16386f18d290e7ebf78131b2fd6f323ea6579c509fcd898357718a5a93a2abbcaec2ce2de39fd38bcea04cbffb092152a443420bb84ff9c5d949c13ad2e32da1da7bf8b9d7decf4fef47ba98f9292fd6bcf2f67d1a7cbcf79acf978b3d19d2d3b9b2220ecf560f4bc72521c7f1fee6c17367c447c5e3c3d9c3d918c46bc4b38b6539031e1f791e29c00589d14e783efe036be5551c33e3f5058c6a289291be0268410228d49e1227a808b7977cc621e40b4becba57d557b58e105f2867147b206615f20b1ccee0c076e15eab578d102a0266b404ed719f34a0bc8a506cff1832caf296441b697e567ba3445f0a5a8c5e57ce1fa3dfc78ad916bf875e5945a211c8d1857e255cbd962cb1adfb75a3c7b12ff627594f1528fed9ed671c64b5fa6a75d3c83465d55bd51b400b94e95709a1ca7420821d28b7415132916e4edcd0d4480d1534a284e759c8b099ee0a72baa39acd9983c77062fdd3f838786dba0b986efbf70a4c7bb3225c25e32827b87d8001fcbfff206f3176fe285a40c6c4f5cb8e9300f2eab641f40ff113c3036fd6690fab0644c87f7d1750695d2693379edfe193c30c486a7e6300f3e77382d3e4f420821d28bb4b8880bf8c27af7ad2caa63344ce844a3fa85ebf6d7f3f271805c66f6735cd2b6bb35677b9d640ebf7f847735c055c2ede56eb0c0f8096594ecaba4f6f811b67bcab8212349993bddaf0ec6cfbb911fed3cc0ca03ad9095c794815e9eaa68c08f15d5a2e3eb62d4738fed5720dc7c989ffcef6e766a40ee601e9d3f84bc989129ac5bb101114dc31bd6f1c520dc160fabda5063c9c97eb18ce7e8ead84e71c684df470f65bca40c162be0e6fa0903f96365150d0d4778c733981bbbf83c092184e85da4701129e53f51c34180dc1286a6f9494a448b1803dfdb534f7f8462173e97121a7e7f848c7e43f8d6681776a061db5aa30b56561e85a9fcc4fb8ff1f8b3bbd9ae017d07f3e8eda318ea3cfbb43d239342eaa82544831fc806ffa990b15f33b2c94946f62e32a6854432a6c3fbe82243b8e1304bde6da0411dc8d7e70c201708b71b9b25ddc58410429c4fba8a890b28ddfcd5f9ba351a0e19fd9872fae5927b09ebe9899c5d657667e552081038c6caea200a110e6eaba616c091cb0047723377b8de86bd7cf3e937f9e69f3651d1aca1f84fb0fc1d636c416179090353b65f0354bcfc4fb6840035972f4e2bc51d68a5b6b995dae6001140c92a66a803c0c7ca035e22d15636bc6764cf19504c518f674f206322bf839467fc60efe383674c34838f2d071ad8be772fcb8f0451a201b6bf7b8c060057014333bace298410a2779116177101a53bcf10ce5bd7b9eb8e50eb312eabe60e74e1b8c4ed766bce7356dcc9768a86704759353fab8ef2e62b15bcd96e99ab260d635802f30a745be64e33963127b78a651e1f4b96beca92d30b384ab867727642dbef89fd1a3eba9765a7072d681e963cbfee6c3672f9ee57a732d199c7672665f1e6ba53d46e58c7ed1b4e3f9fc52727e725747c7c90ec89656cbfb1cbdb764f671c77f212df4737674c34e7c4a221fcdb801a7e71ac8d8a172ba838f3bc9509d387529eaa793a841042a42d295cc4052cdd5cb89c5e9da29cbfee08def84c426eb77ac9dbedd69ced759ad9c9b4f9d370bcb593dfed6ea241035c59cc983c9abbc7b8126abeecb6cc9d66cce4530b3e42cbab3b79fd6888085606949572f74d23b8b64f62abeefefdaa71fc40e345ef1f72fa3df4bb6e0a3fd3b6f1c43b751c0b812dab90cfde3c96f939896de9f2b3279ef1ec03173bb63bd7b3192fe37d74e0831d0389667071d327a7e1786b3b4b777b68d0c09695cfcdd3c7b1708853ba03082184b84047ff9e6c2bfefae7f0f49b6e4e7a18913c1e8f87bec5fd2f787c4d652bd70c4ccf7b28bc77d4cbcc2199407ae76ccf0c99cd90b13366c82e19bb4ffb9ca79dac3b4e6e6eb26f052a8410a23bbdf5b7d7b9edd39fbb0d680302f12f7fbbefdb80a0b4b8880b587aac29a37b9925677b66c86c868c9d314376c9288410425c1e295cc405ccd245c32c39db3343663364ec8c19b24b46218410e2f248e1222ed06383debb995972b66786cc66c8d8193364978c420821c4e591c2455cc06292b316b3e46ccf0c99cd90b13366c82e1985104288cb23858bb88059bab79b25677b66c86c868c9d314376c9288410425c1e295cc405cc72d262969ced9921b3193276c60cd925a31042087179a470111730cb398b5972b66786cc66c8d8193364978c420821c4e591c2455c60e3614faa2324c42c39db3343663364ec8c19b24b46218410e2f248e122ce71fecdddd2955972b66786cc66c8d8193364978c420821c4e593e9fa85104208218410694f5a5cc439d654b6a63ac2459dbe1a9cee39db3343663364ec8c19b24b2b86104208f1c149e1222e307e504eaa2374e8dd232de7fc9cae39db3343663364ec8c19b29f9f51082184109747ba8a09218410420821d29e142e42082184104288b427858b10420821841022ed49e122841042082184487b52b808218410420821d29ecc2a267a46d44b45c50e96edf550af010e3793278e61d1a402dc1d2ddf74902fff6e2f87c9e6a1fba733dd99e4bc9058e6e031bef5c456769effda8c729eb96714a53dfd894a70bffa6a0ef2c49a4ad635440007c3478de4a1d9a514a7f213df4576dfc1f5cc7fa1b33bb6bbb9e79e99dc969dda8c00041b59b16a07cb2b7d780032b299367114f78fefe4d81642082144b7901617d10302543cb79ec776c54ffe00423e36aedfc07debbc843b587ee5aabd1c4e6ec80b32249239ec6da426551113cd58bb832fff656fbc680108b16fd736eeab68ec60df27cba51e13e75371ab3d9b30b18c01563eb781c5f1a2c5a6027e2febd66ee0fbdb033d1d50082184e8d5a4c54574bfa6232cab89013666dd3a834557a9ec5cf316dfda1ae0e8f6831c9a329e11ed8ebce6bddb78f278cad21a12cc1c6ef21a57d90b47f0cbb94567afb05b1d3ddf9a9150c6002b5755530fe40ebf8ea7e70e80831bf9dc2b0d78aa8e70285a70cebe4f9a44b20f1ecf33776b675f130df0f6aa4d2c6980f289a399ded3cd1989640c36b2fa38808b0577cee0ae2238b46e2d5fd91c60e7ae467c634ba5d545082184e82152b8886e17c6c9e84105d453c882c1469fafe1c30bc8dd5a832714c2df7ee1e0099ea86824d2e19a9227b1cc1a7535c655f5dcfe055c59948d3ddd32faea59dd0ce0e2d62903c8b3022326f0f2552af6147eda13ca6e75519a7ff635beaabd2c6f00b2cb79684a5e8fefebc4323ac85501edc2d7db321c493d1e84104288de460a17d1edecf9e52cfa74f9398f351f6f365a2ab2b3293af368849d6bb7b1310403c794c18e6a8e2635e95989658e70b4210480a7720bb7ef08e1c7c1f03123796866cf8f1f492463d8db481d0016ea37afe7f65d1e3c38183d66140fcc1c90b2312e891f1371512fcb2b4ee0c7c6acb9c37a7eec50a2199d45dc3ba71f87579d60f91f56b2428588066497f09fb38ba470114208217a908c71113d2e5cbf871faff50130fcbaf23327a1e1da3dfc7457c4b8a23e3eb9ad175de9307334c0cea6f802fe107e1520c4be1ddbf8f2cb27684e878c675a877cbcbacb03d92e3208b173c7d6148f71395767c7c469beaa3dacf00279c3b8a3d496fc80749ed19de13833de2672bae545edf1013842082144af27858be851e1a6c33cb8ac927d00fd47f0c05897f144d4cb8a55d5d4e3e096b9c3b8d291ca94e7ea343336468f2d65daf0321eba7b1e6b1e98c79fe6166003fc957b78cb9b0e19cf2a9f3183e7ef99c59f3f5b4a2ee0d9b587b77dc9cbd899aeb307797b73031160f494128a931fb1f38cc113fc74453587351b93e7cee0a5fb67f0d0701b34d7f0fd178ec45bbb84104208d113a4ab98b8802fac77cb7ac2cd87f9ffedddcf8fdc751dc7f1d7ec964e3b5d16167f80a2a68008114c0524602315a28d1e8c709083172e062e1cbc70f21f50124c0cf157629a183d78301e408d694cc498c668140958352048458ad0400b6d77e9fe985d0fbb5306f6f76eb7fbfeba8f4732997677877d31d934f3dccfececd77f7c384f76938c5c9907efba3a974ccfe4f44472ec2f8fe7c0f1e482ddd7e78b17b7f2cae96ea693243339756a2ac70706973d8139573b57ba3919cacd7b6fc8cd673f7f3274d58773e3e0abf963f774fef0f2443eb773e9d38173b179a98d1333dbb22bc9687666ef0787663fdfbbdf9feb065fc8a1eea9fcf9b5a9dcbc7de9d3818db85f57b2fdacd157f2c84b493292cfbeafbdaa3d1b7efffefbf9fca99ba47379eebe6a2819486ebe65772effc73f73f4a5e7f3c489ddb96dd7ba2700000b102e6c8cd117f3cd9f1cce13dd24efb9320fdefdb15c73f677b39cc9d37f3b9924993cf278eefb6eff0d4fe6e103bfc8cf6edf9fefdc38ff1461f3362739f3460ebff8468e8db773c375976664eecdb38fb907b27ddb7938c05c66e3f6e1915c9c97339ae91c9bea26998d94d9173f18ecfd75732c77fff63eecbf2fe4992419b93cd79cef085866e3647772fe0b490cf6fe199ddef417990080ff679e2ac63cad755fc672f091c7f3c7f1248323f9caed1fcad0d8a91c3d7e2a478f8f6572eee356bbe3dcef5ce5e6b1a3f9dea34fe4e1837fce8167cfa4956e8efeede91cee26c945b9ed92c10ddebc828dbb2ecd2dc349329e43875ec8b1a96e5e7ff65f731b8772e3f0466f5cdfd7442bdd1c7b76f6397717bf6f2423cbfc77cff7fd3b343c92f726c9d88bf9f99133696532cffce5488e26497b241f682fbf1100581b272eccd35ae7a3ad89fffc3d3fea3dd9bf7b22077efadb1c38fbde917cedfe7dd977cf9dd9d77fa3d1e7f3d5ef3f95e7339c07eebf23fb16f84efcb9deb9dacdb7beebca7c79f77379e8c8540e3d7a3087fa6e7fc56d7b72ebd0f20f54d7b379451b775c942fdd71590e3ef272468f3c95fb1e7eeaec475c7ee34773d3ce8dddb8beed493299a327a666dffac14edaabdcb2e1f7efa557e79edd47f2d091a9fce6d183f94ddfed3ff2c96b73ede6bc8e00006c09c2857906d6f5c0b59b979e7ef5edbfabe51d5aad053e47dfdf07167aff02d6b7b3df4a37efc8ed77dd9e81c79ec80f0f9fc8b16e72416738fb6ed9937b6fba282b68ad756c5ef9fd3a7cf527f2f0170ee75bbf7b217f3d399db48772eb9eeb73ffbe4b3678e36256f335319937e63e70686870d55b36fefe9dfd1a683ff6647e70f8b51ceb26e90ce7337bf7e4de8f771c6103c006122eccb3bec7ad83b96affe7f3cbfdabbcd9ae2bf2ed07ae58d54dcedde3eb556cde76613ebd7f5f3ebddaffbf396bdfbc9afb7530975dbb27dfb876cf9a3ed3b93f7059cdf60b73d77d77e6ae357ea6f372ff6ebb307bf77f2a7bd7f8350000ac8d70619e8173ff2df70dd1949dfd9ab0b9091b17d3e4ed00c0d2840bf334e5e92e4dd9d9af099b9bb071314dde0e002c4db830cf46fc70f64668cace7e4dd8dc848d8b69f276006069c28579061af2e8af293bfb35617313362ea6c9db0180a50917e669ca8f09346567bf266c6ec2c6c534793b00b034e1c23c4d79f0d7949dfd9ab0b9091b17d3e4ed00c0d2840bf334e5b15f5376f66bc2e6266c5c4c93b703004b132eccf3fbe74e6cf6841569cace7e4dd8dc848d8b69f276006069c285b7f9ecd5176ef6841569cace7e4dd8dc848d8b69f2760060797eed010000509e70010000ca132e5b54bbddcee4c4c466cf0058b3c98989b4dbedcd9e01c079225cb6a8f68e1d191b3dbdd93300d66cf4f4c9ecd8b973b36700709e08972d6a706020adcce44df10234d0d8e9531968b532d0f222d8005b855715dbc23a9d4ec6ac12749a0000050249444154c6c6323e7e26bb868673c1f6ed9b3d096049931313193d7d3203ad563a9dce66cf01e03c122e5b5ca7d3c9f4cc4cde1c3d95d78f8f6ff61c8025b5dbed743a1d272d005b9070e1ec772e7df7120080aafc8c0b0000509e70010000ca132e00004079c2050000284fb8000000e509170000a03ce102000094275c000080f2840b0000509e70010000ca132e00004079c2050000284fb8000000e509170000a03ce102000094275c000080f2840b0000509e70010000ca132e00004079c2050000284fb8000000e509170000a03ce102000094275c000080f2840b0000509e70010000ca132e00004079c2050000284fb8000000e509170000a03ce102000094275c000080f2840b0000509e70010000ca132e00004079c2050000284fb8000000e509170000a03ce102000094275c000080f2840b0000509e70010000ca132e00004079c2050000284fb8000000e509170000a03ce102000094275c000080f2840b0000509e70010000ca132e00004079c2050000284fb8000000e509170000a03ce102000094275c000080f2840b0000509e70010000ca132e00004079c2050000284fb8000000e509170000a03ce102000094275c000080f2840b0000509e70010000ca132e00004079c2050000284fb8000000e509170000a03ce102000094275c000080f2840b0000509e70010000ca132e00004079c2050000284fb8000000e509170000a03ce102000094275c000080f2840b0000509e70010000ca132e00004079c2050000284fb8000000e509170000a03ce102000094275c000080f2840b0000509e70010000ca132e00004079c2050000284fb8000000e509170000a03ce102000094275c000080f2840b0000509e70010000ca132e00004079c2050000284fb8000000e509170000a03ce102000094275c000080f2840b0000509e70010000ca132e00004079c2050000284fb8000000e509170000a03ce102000094275c000080f2840b0000509e70010000ca132e00004079c2050000284fb8000000e509170000a03ce102000094275c000080f2840b0000509e70010000ca132e00004079c2050000284fb8000000e509170000a03ce102000094275c000080f2840b0000509e70010000ca132e00004079c2050000284fb8000000e509170000a03ce102000094275c000080f2840b0000509e70010000ca132e00004079c2050000284fb8000000e509170000a03ce102000094275c000080f2840b0000509e70010000ca132e00004079c2050000284fb8000000e509170000a03ce102000094275c000080f2840b0000509e70010000ca132e00004079c2050000284fb8000000e509170000a03ce102000094275c000080f2840b0000509e70010000cadbb6d83b1efbf5afcee70e000060eb9a4c323577e926999ebbcccc5dd25ae046db92b493ec48b2b3efbaf7e71d73efbf6063b70300005bc06492f12467e62e6fce5dcef45d8f2f76e23293d9c2e966b67a26930ce6add099997b3b0000c07a4c65365cc6934ce4add397dec9cb4cb2f053c57ac731d37337189cbb717fb47417b92d0000c06af40e4a26321b2ffd4f1b3bfb74b1c5e2a377dad2cdc2d1d20b1a000080f5e83547efd23b75e9f5c874b2b2139785a265325e910c000058bf5e77f42e6b3a71e98f96fe9f79198870010000d6aff70a62bdd6e8bf5ed5894befcf83797bb42cf48a64000000abd1eb8dfe80e9bf5ef2c465266f7fdde456de3a81e9bf000000acc7cc3b2ed399df238bc6476b85d7000000eb35b3dcf5ff008375f83a1d56dacc0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Finally, we have to make sure that the form input is properly transformed into our storage format. Change the addBook function in LibraryView to:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 addBook: function( e ) \{\line
+ e.preventDefault();\line
+\line
+ var formData = \{\};\line
+\line
+ $( '#addBook div' ).children( 'input' ).each( function( i, el ) \{\line
+ if( $( el ).val() != '' )\line
+ \{\line
+ if( el.id === 'keywords' ) \{\line
+ formData[ el.id ] = [];\line
+ _.each( $( el ).val().split( ' ' ), function( keyword ) \{\line
+ formData[ el.id ].push(\{ 'keyword': keyword \});\line
+ \});\line
+ \} else if( el.id === 'releaseDate' ) \{\line
+ formData[ el.id ] = $( '#releaseDate' ).datepicker( 'getDate' ).getTime();\line
+ \} else \{\line
+ formData[ el.id ] = $( el ).val();\line
+ \}\line
+ \}\line
+ // Clear input field value\line
+ $( el ).val('');\line
+ \});\line
+\line
+ this.collection.create( formData );\line
+\},\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Our change adds two checks to the form input fields. First, we\u8217're checking if the current element is the keywords input field, in which case we\u8217're splitting the string on each space and creating an array of keyword objects.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Then we\u8217're checking if the current element is the releaseDate input field, in which case we\u8217're calling {\f1 datePicker(\u8220"getDate\u8221")} which returns a Date object. We then use the {\f1 getTime} function on that to get the time in milliseconds.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now you should be able to add new books with both a release date and keywords!\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d494844520000032e000002660806000000bacfd41e0000000473424954080808087c0864880000001974455874536f66747761726500676e6f6d652d73637265656e73686f74ef03bf3e0000200049444154789cecbd779c5d55d5b8ff9c7edbf4994c32c924934e4212d2494848803442288228a0f4f2b32222a082affaa2228214457f028a8a80a0204d10420b841448239484407a9db4e973eb69fbfbc7bdd37b262af0eee7f339b93773f75ebb9e7bf73a6badbd4122914824128944229148241289442291482412894422914824128944229148241289442291482412894422f9efa274f1f7ae5e25128944229148241289a4b788ae5ef576322980dffa8f33671c7f74ab26914824128944229148fecf71dd75dfc5b42c2cd324100c12b02c264f991a21ada408d2ba48f35701ed5b4e5a282e0d0a4b49bfbeddb6b3749d4ce93251b74d3a4a87ffe9859cb61ff45e4eeb8fba21b183241de7ec5986ee9bcd940e331cb1e94de9716f7420a7f57f8f5092d2eedb0effd21d59ddba0f8e8a9c2e64767dbb755baed27b41cde4f44e58c7228ea0c7baccd283d1ec51f19ddc07bdb8298e869c76ef83a3696b178dffb4fcd311cb6afef60825b591d3c187bd92d343b9e2485ad34e8e2392d35688e8bd908c24da9d03472ea7dd4fba2fa35b593a4fd07d399dcb151d7fd40389a2f51f8e504eeb3f1c99a0ce87a87b323b4cd5c30f7a2ea7fd449d26ef66377529adc7723af86bafe4b44ed0cdfba00bcacb0f00690526180c110a059935fba442d23a880f78ad5e7dc06fef6748cd2462e68ce3c9cbcbed661524128944229148241289a47b5457d770cd35df211c8e70daa245a5a47510b783d78e159799338e273737e73f556f894422914824128944f27f8c9a9a5aaeb9e63b7ce18be70d27ada4b880d3ead505dc8e625c24128944229148241289e4df4e2c1e07089256541c9af491863817850e3cd6b599338e777372b28fa8602104bef0117edac752f4d01f520881a2288df9d2af2253dff4aba234f8db2b8de9bb254708501414051454344d4551145455ed508e442291482412894422f9f7515b5bc7f215ab8e076c20d5ecb5e1bd0dd81d5a5c8e44e1f0858ff07c1cc7c1f53c3c4f342a049aa6a06b1a86ae7718e12b8448ab274220848fe378f89e87effbf842a066940c55d3300c0d14b5a1b22d940e211a1ae177438e8eaa69686a5a89f9e42a2f3e762245ca15e8a12041adbd7a0a5cdbc17105aa656169fff14a7e82907df1efc3c7493ad8ae8f160c12f8b7f7adc0755c1cd74f8fa5faef2e4f2291482412c97f81002d2d2d1e4d312e0aa0b4a7b8f4182104be27705c875432c559c34a98da3f9fb2dc2c8a23410e4613ecaca967f5be2a9ed95a4e2060a1eb7a1b19642c24aee392b26dcacacae8dfbf84828242f2f272a9aeaea1b2b2827dfbcad9b973279669a21b7adab242930506252dcf755d52299b929212860d1b4a6e5e1e599108d168949a9a5ab66ddbc6debd7bb14c134c034d4bafc03e79ca8b8f9db2183cfd64c60d0ab1efe5675915355a292f02d751c81a309aa1037389beff161f278c4fd6825db8d457d713f774227911c2fa51ece716b2c35842fd64f7c5a7161f2765d26fdc54460fcce2f0f297591f33fe8dca4b7a5e87fb8e488fe586d56c491952799148241289e4b34720f3daa0b434c4b6a864149a5e5b5c8410f8be8f6d3b14992ab79d3689928885f03df05d44ac96624da5b828ccb4e26cce1dd18fefbdb991c3291bc3341b6534bcda8e8361182c9c3387fcfc5c3ccfc7f37ca2d17a2ccba2b4b494b2b2418c1a358a37962e25653b9886d1c62dcc711c344d65ce9c391417f7c1f7d37292c904a669d1af5f5f060c28a1a2a29265cb96934cd9044c134d3f9215984fa2364accf1f11bbb4d41d375ac5080b0a5f52e7048b8c4ec819c7af1594cd4eb7865e9932cafd509345fbc0987fae410bef2fdafa7d3fce84dde8f6a98ea274409132e51bb94f36ebd9645f9db79e4e65ff16abd45a8bbca8bf08855d713f3400b67911f6ad6a76d64dfcd7387477c72fbe248101ec9789278d2c5cd4c3245d3304d8b70d8e468ea809dd7c3256a0fe4acaf7e29ddb76bffc5aa3a0dab377d9b695b22e5e2780d6dd3312d8b4890f4bcfec1d599b15cc1869886697c8ac7522291482412497b58b4545a1cd24a4b83e2d2b1c5a5bb8a8b2f7c1cc7a5bfa5f1eb934613140e4e4d7d87e98bcd00f79e7c2cdf58b281439e8baea72d26be2f703d0fcbb4983f7f1e9aae108d46d371328dda808da22a28288423414e5db080975e7a19d773d0750355cd586c5c0f4dd3983f7f1ea665108ba5e5201adad524272b3bc2fcf9f359bcf8256cd7c1541434ad278f737d92b130d3afb989f3c71491ddf028d88b7168c747ac78f1699e79a78660583f72e5a5bd2df945abfdf4bb93e6bf88f05cbcec114c2c3580914c1d1ce085773c82dde96be1118be6f1b9bbefe19c3e50fef80fb861713d59a1b4ab605bd941fe79b895884f505ff4182f45addd87e99f3b93d3668c616841fabe4e54ec62c39ad779ea9f6ba9508dff8cf272b4e759a66dd3ce3a8385271ccbb0a2200a3eb183db7977c54b3cfee207d41dcdf22412894422917c5231482b2c3aa0d14a6981f62d2e3d42f8e03a363f9a360c3d56452a95e83c43ac0e2310e27f27f4e7aa15dbd133ee59f83e8e6d337bd64c847049c4ddcc02a5e96a8841511405d775300c93134e98ca6bafbd81aea6635e7cdfc74ea538f99493505548c4135dc871310c839933a735cae991e222049e6f50585a4cb605e0924cfa9881307d864de2ecabc730e8b73772d77b2e599682138b5197f432961905cd3008850304f426973e279924167770fcb4fb9c6105da090b4a5b79a20ea05be466b71e4a41b2b68e242a46c022d2e2a9bc8f1d4f124b3ab83e28aa86150c120e6aa800c223114d90707cbc86a7fb9934916073eb51464ec2c1159934a12091405b0b93a29904aadfe0770f069999bb8757de4911364d3c3b493466637be98d1754dd20921dec912b501bd9eb12b4b49b75d017c227194f90b03ddcc627fd2639b9018877324eede633b01487a40b8a15a6204b4741e0c6a254277cd08314e49af4d8c3c9b7a957c6f095dbbfc1ec8216ad265858c69459a358fc8fb7f003065d8e6b5a60d769848f9d684a030aaaa6625841b2829d56b6dbf3a145db6efb06b30b9b7fa0122e1ec68c691ff0c4b3efd3b2d3326399a97756c37cec702c83184acfe7bbaa1b044c0537e5a4e7a6a26206836485f4b67dd9ddf64a2412894422e915bdb2b80801aeebb0b06f983e228e535303c0a1b84d45c2617441b831ede6ea381143a32462e125eae91bc96561bf08af56da689a8ee3b9f4ef5f422010201e4f40664732dff71b9fb02a0a8dbb80298a82e3b80483214afa9770f8e0214ccdc4733cfaf6ed4b241ccec881d75f5f8aebbaedb661debc39388ed328e7d0a143e8a207fa5cab7edafec0f7f8fe6b55f87a11277ff7677c63acc5f89306a3adda44cad5293bef26be3e6b1085210d4872e8a3b779f24f4ff076ad46501724a30a25277d998b4e3f9e51451638357cbcf85e6e79aa65b14e2a87f9ff7337178fd411bb9fe7073f798e1d8d9f6633e35bbfe4a4c26c0cb79a8fdf788a7b1f5d433460a12b3e89a8c1b08557f2e585931892a3e1546d63c5737fe7a1257bd0c33aa9543e73be76097347f5a75f8e85023855db59f9cf477870e941cc908e824f226a32e2f44bb8f0d4890cca52b02bb7b0ece9bff2f0f2c358ad2d4cc225e10fe5ec0b173051af437d672d0fee499133e62cbef7e59339ae6f00448a9a5dabf8c3ed8fb2c9b3301b5688edcec5663bd6b523fb0f7bbaea0b03cfce62f27957b060e23006f709a301c9bdaf71cb8f9e463fef26bed1ee3829a85e76db7cfbd6b1c29dc89c410af115b7f3d5fb7761682e7967dfc61fce2c84ad0ff2d59facc2cbea89f22248c52c267dfbcab4d2e2ede5e5071ee29f6b7753e598e40f1cc998c2fdec502c0c3ce2f59d8c6bc444a58bb18f98a8c2231e0f306ad1459c376f0243727510296a0f96f3f19b8f70ef8be51d8c450fe743f3b615021c62e99f1fe2d975bba9760314958d64a8f231b5a686d278eb6633ef87f731cf50f0ea76f1f6b38ff0c06be59861153bd5c158fef8efec70238cec62be9ff2d58b983b6a00fd7203a808ea77ade3d5b76b283bf104269484207190f52f3ec2ef9edb86081999beec497b251289442291f4964e1497ee09705c8fd94541dc581dbeeb007030e971d7ba3d5c37be1fa3f3436cae49f0cbf5e57c73e240fa06d269dc581d27150579f1600255d5f15c9f7e25fd482412789e97a983df682569a0c95a925efef9be4f49493ff697efc710e07a1e25257d4926d3721ab2ce9b774a1b39afbffe268ee3a028e9b206f42f617ff9fe9eb9a188f6bc6754acac5cf283e9eead3b5087af2aa8be831b2aa4c0b0a9aff509e484e973cc497ced7b36bbae7b9203299dfee7fe905bcee89b91ede219b9e438715cac66e2b338eea26bb978a40eb5abf8d52f9e65af6aa63d0233840ab371521e58798c9c7b05371b355cf3a76d78680cb9e87ff8e1dcfcc6fa1bf94339e9929b18967d33373e7b0057c961cce42194e880b049f92656fe10665f7a1d4af9f7b87f878fe508065f78133f985700b844eb3c2205c39973e58de4a56ee4cef52e11b3d9d2ad9d7ef24253f9d67716728c025eed210ed9410af34de2091f02cde6607b7d2c9afdbddd31e8aa2fb690520b993ef73886e9000e29d720a0d652e7b8e474384e4fb05369279fb287b7971632e7e24184468da7afba95fd5e2ec71e973625ec5ab9893a5d27ab8bbab6c07748654de6cc09e9b1dff6f03dfc79458c70d824a20b62fb3e60f91e152ba0e3444517e37a085da85da6d17c83d157fd88ef9f980df8d41e3c88975f4c7edfc14c1d57c8bdcfeda38d5e2f0476ac87f3a155db763e7c17f7be5e4724a46390a072db3a0ea211d01592cd9f39181e294fc7ca1ec48c8bae85f2eff1bb2d1ebed7d1589a0cbfb8ebf93e76ca30fa67e6bba398640d9accd983d2593c0fb4603113ceb99aafeebe813b37f804dc1eb657229148241249afe9c4b4d0f5f24a41c1f73c4a030a7e2c8ef07d00c6f4c9e5863366f3cbe7dee0f365b93cbdb3966b4e3b91b14a1d7e7d3500beef31201cc4f7bc7460bdef110987b1ed54baf456da43eb7359209dcff35cc2a110c2f7d3f10ebe47381cc6b6ed16321289440b390d789e9b79f50865e4f46069d9862157dec9e35736fb43ed4aee7f7c276a3088a92aecfac3b57cf17e83484e16e1fcc95cfbb3f3185a702ca3739f60973b954b4fef0bd86cf8cbcff8c5e23d24558bec908a202f23d0a4ec8c6f71f2a402486de2cf3ffd336b9d0011ddc3711a0a8df2c64f6ee0b79b5c4ae6ddc0dd978f2067e642c63e7217eb822773d1dc7c20c19a7b7fcc5d6fd652bcf07aeebc7838034e3f87e35eb887358d0bc53a5ef9f10ddcbf3d97453fb98dcb86849934ab14f5a3eda4724ee4a2790540397ffbdecd3cb9cba3cfdceff39b2b873171d12472562dc336cd662e5badfb54a0e50ca08f02b09d3ffde8565e3ee48216243b2b80a17435060de7fbb427bb391df5c52656376fe78f6ee0fecd0e5a20487644a7a6c371fa073b6adbcb67a2e526d975f12006e58f6772e13f78b27e28534b01f6b3f2dd1a74a321e62c5d67bb3e4abdd35453c5089297d5f4a45ef81e6ae160fa007088f51fd6a00703688ac0f30cf2faf727a2f9240fef666fce895d8cebaf79a7cbb1ff35ebc2b3f8d289d9408c9577fd805faf89537afecfb9e3acc2c67ab7c1774965cde8d17c68ddb6b51f54610403a4bd341574554f7f39b5f81ec8f4f7b65c4efbe96d5c3e24c48499a5a81bb7e36badd2348ec9895cd3c3f9fefb03e3f8ee6fbec1140bb6deff1d6e7a5367decdb773d5309363a70d405bb795546e4fe7bf442291482492ded2bbe0fc4c307c48388d0a07805f739891590ee74e1dcb83cbdfe5c213c671ac5f855b57d594575108f84ea345c5cf6c63dce0d2a5280a2b57aeeab0e8134e38be31af15d0f085481fad99514c9ccc2abe414969de9ee6efd35699f4ff2d2b23a7272697d6696bf7b3abc6450be533a0280c392770cdd55bb9ee8e15d42b598cfdd2b7f9eac26164b5c8641232412f1e4f9902a43ee0e937cad17322e42ba251214c1360f8a452c0e1bddfff9e972a74b283adabe1e3b8022bac7178ed5becba7c0443b43e0c2d507937770ca500890dbcb0ba8a4096c181e54bd87af170461a031953acb17a5f73590aa652cbc71f57c3903cc2051134cf8392b10c04a084f36fbb9ff39b67c9eb4faeea73c017a84da13bad50f00eac634de53c16140ce1aa5fff9a79ab5ee7d9a75f64d5618f88d9cca1aa4b57b1763eeeb22f34561d6c591f2b2b4c5813d88900633a19a796c535e4f34956bdc36b3bcfe7f2b23e9c30b99097f61ccf7015d8ff36ab2ac0083704950b9ca8cff0eb1ee0a6f14d4b5b67dd9d5cfeab6d04225ae37946a036db3d2ddd17c2f7883b03b9e2a61b981e800feffe26b7a6ba1ed7f722dd4893358a1280e487bcfa418c4037828d84e7a2f6703eb43b74ed05ddb7336f4cb5693e86f2c368bec0d55aa6b1b2c284fc04c9929ecf772db18b0d0761ca40b0c2069a52cbd62dd5302c8f404e08cd3f82f92f9148241289a4d7f4ca554c1569b7adfa440acb4b1ff6d8c047bbcb79eaa35abe347d1ccfacfd90b291398cca311b3f57549568229976fb52d37212f12442a4fd9d1445e5a4936635c6b534d52bbdb8492412f8226d6549c4d372c8a44d2653284a26d85b6d525cda3b9fc5f77d7c3ffdf43e954a65ac3a5db7bd455f357bbffd893bb871490d084168fc55dcf3bde9648d5dc0eca265bcd8ef22ae59380cd3dbc36b7f7b954da9019c79d93c062a99ad125425132cec3773816a5b9f440c826183e32ebf88191fdfc7ea94d5726be4a6ce02ddc83cf515997666c894d9ada62a02d7cef8a1296aba6f1bea4a25ab16afe16033771ebf7e0bf59a86e2bbc4130ebe6612b4da8ad5941d3c74d3cfd975f6999c39770c65c72fe29ae327f1cc0f6ee689430aa166e7d4b459cf8a96ae645dd2595f342bc477522863afea7c9cdac9275031f46a56bfba8dcbae1cca801367307def484ca07cd95a0ea93ae1666e629d55b9b15d8a865fb58b0a6610a10f138fcde51f4ba298814e3277675c3b4da3341eeadaeeee5ded765b37e7438bb6a9f8557ba806b2e9c3c463f3f8c76b7518010d55495b643d5fc56877c37681d77c3eb6d78cccbdd3bd36b7ceeb62bb0de255a05579dd9dffcddb2b9148241289a4d774f23855747d290255d5d8529f44e0e37b0ebee7b0b926c15d9b6ab87ace14cee86b70c3a9d3f9d547357c581d6f4c2384cfb6680a35b3ab98aaaa5457d7e0793eaeebe2792ef1789c442241229120994c36be8fc763789e8be7ba789e4f4d4d6d464e3a70bfb6b6ae518eeb7aa417aa4df1320d41ff90de3ad9cdc8a9adad43cd2c547a76b5ea3921f031c929c82673520dbed0c8eedf27fdffddaff3c4bf96b174d9bbec6b345429b80737b31f20309645d38ab0eba254d726715a3cb6ad63e56fefe2f903407822dffcce02fa3829dc765698a9b8c1f0f9a7300820b98b4d953e6ef907ec01088c61e1947c52f53e7d67ce611880bb878d87dc6e0415ab780d752542f0e0db3cf9e8df79e891c779ec9f4b7869c987445581131cc3b9dfb89aaf9f3e02c3f6da2a1f6a9088bf8357fe7227575f79338fef07e8cbf44985e0f8e90571077dec27e354d744d3575d0abf4d8aaefba2ede417f89edac538b52f1f04aaa151bbfa25de7580fe8bb8ecf820b08757561e4633159ab7c5082b6cbef34ace3dffb2c6eb825f6dc50aab280de9540dbde61d5efa38ddba21175dcd2553fb4022892d5a8e92d3e5b87add187b0ff7d0160e0204c7b0f0f82204618af29b6b9de9ba793e4088a2020bcfebc67cd035d4e6e3a9aa6835efb374675aea908bafe1aa596564a9607b06e1e2514c3dae00dfee7c649bead4f66f8aa6e21d95f9de9a2368afbce4252f79c94b5ef2eae4ea1ebddb55ccf7310d836595318e2d029171f30a05437c6bee318cb20fe11cae6468562ed72f9886756807c28da7336b26af57b898460815155dd7a9a8384c381cc4f33c14c547557d344d6d0cc86f503a3ccfcf584a7c745de7d0a143189adeae9cf4d92ef0f6db6bda6d83eb3af8be6894a3eb46cf5cc55a75f690cb6fe1cf17088c709006fb92f7f112561c76a8ddba9328fd880cbe983bee38917df12065cd9f9e1f5ec113ab4fe3daa921267de5561ebdcac1530dd4cd0f70d56d4da759f8b1cd3c7ad7538cb9fd1cca867c9e6b16bdc74dcf1da4c9a13e9b793ffe35334580f4fe00821dcf3ecb87ae8155b38abf2e399d1f9e92cb94afdfce635fa3d18cb0ffc5a7792fa5a2b65ad1b7ed0e15bd62398fad5cc00d276431ee92ffe52f97b83842c7506c56dffa6deefa505076ce97f8dcb43ca098bd6fff88a72b5bf69bd2f72c6efbe9c984eb2aa9886bf4e90be071a83c8aafa60b16edf471c9176fe16f5f6cf607fb5d6ef9f692f687a7c3bed0505ab71381a2f95477354eb4cd97ee23152bb1916796d733e1e42c34406c5ec25b950a46a8adf5420f85c86d234cb468ad69d5b1ecbe4738fee717333e58cac26ffe2f0bbfd94e1daaba1a571d33d9751a23b59c27d79fc6d513424cfddaad3cfcb5b665a95e255b0ec394fe3ae3afb9856fdf7623f76ce87c3edcbdd527dce2a01905d3ace695fb9e64facf3ecf70bd8439577e8f39cde3c3126bf9f9d5f7f1bed7b2fceedc9e02815034cc2398ef5dd3f5fc6fdb5e894422914824bda5c39fec06579cce2ed71318a6c1eb751abb5369f72ee1b994981e23e3e5b85507d38703d65430b47e37034c1fe1b928aacabaa860695443d70d5040d74daaaaaa89c6e2f8be8fe338d88e8d6d3b99abd97bc7c671d2f13155d535d454577728c7765cc68f3f8ea95327336dda14a64d9bcab46953983a753293274fc4765c7cdf27168f5359518961eadd6a7bd3a5a060537da83ebde0540384c3414c5cea0e6c65c5d3f772fd6d6f506759289b1fe5178fac6647ad47a464302387f5c54ad551fed1467627150c2bc9badfddcc9dcfbecbee3a0f54034d2428af54da9c6be2ef7f89df3c9176ce1f78ee259c922740d4b061dd4e0ed63ba0a517ea89831ff1ca033fe3e6e70f615a1a5ac0e5e3077fcaad4fae6777bd0005bcda5dac78f4767ef8c45e3453ed86deaba00752bc7bffcddcfa8fb56caf76001d43f1881edcc1015f47537d0ebfb38edd0e24b7ade5fdaad652157435cede4309f4ec02faf5cd85babdac79f21e7ebb264e40575af673a7b3b8ed3456baea0b53692b53009ad1c538b5e32ed66c2e6896c396e75f213d3236eb9e5b47ada1a1f4684e35bb1403ab6e19b77fe7761e7c6d237b6b9bf924a56ad9f7d15bac39e0617435ae9686de8d348699e0ed5fdfcc1dff58c97b5b76b1fda30f58bf275da6701d7c544ca392977ffb08cb76d6e3615355e7a09a5dcc8776da86aaa31f5ccccdd7ddc363cb36b33fe6357668a26227ebdedc444cefce7c6c677e348cc75199efade9c6fc3fd2f19697bce4252f79c9ebffe0d5fd5fe0b61833671c6f9ba6d12d019aa6e37b3eb94e3d3717c7c8164ee3b6c8eda1ea06758ac1f70e6491b4c21846ba1cdf1738b68de7fb0c1d5ad66861697e58648b43245515df136cdbb6154dd7310d0b55551ae5f8423064c8601495f48e63cde4a4cbf31102145501a1b07dfb76d207ed293deb410004763c45c26d994f51557443c73235d2e11a02cf7648a43cbc86a48a82aa6a04820646c6cae0d80e29bb298d6a98840390a8b7715130c301821a78a914d1940fa8042316a6ea934a38d8ae4f430887a2aa18a641c06c1e0b2070530ec9863294749aa09549233c626dca4a124d09d04cb2c30d07ecb5929329cf0c9869c5c37588c55d7c4dc3103e5ee15c6ebfe74b0ca282a7bf7713ff3824f0526ee690c3867ae8042cad1d8dda27194d916ad77348231cd148459bd7b91b7dd14e3b1bfaa7d37152dacb27709336310772a77c855f7d672a91ea25fce03b8fb24f37d17afbf05df8a4520eb6d3d41e32671a994133a3d87631ae749d46f8a06745700e5750ef0a14b384d37ff4332e19a650f5e2cd5cfdd87eac800a9e4b22e9e27860850304b47664d3723e74dc340f3be5b6192b4dd708583a1add988f1d8e6537faa54d5e811d4b92f040b5026459ca11cd7f894422914824ddc3b61d96af58f5792001c43357acd9fb0490ec5071695028ba83619a384e0acb4e7255761d93ac14f899ddba8480068541d55897b2f8435d3629338865a57de71b5cb37c3f1d20efb9e9b35842a150a3a2d24083f2118fc7d9bfff009aa66205022d02ef7d5f60a752789e4f49495f82c160464673c542c96ca7ecb177ef3e7cdfc7308c8c9b9a5c741c3d7c52765f3e7ff3752c2acb4a9f4653bf9cffbde641b6ab9913ec3ff5089ca4ce71d7dfc6b74618984103b059ffff7f9f5fae4910303e2d8d14d8c930b37e7207ffdf608f4434891a09674e10dac363d7ff94e7abf536d63f89442291482492dee038dd535c7ab71d72063b95c2b22c1c45e3ce1a8da94694d9c1044375872cd5a7de57d9e61a2c4d0459ed440805035886d1a84728a4ad29aaa2a4e5a8367bf7ee23128910c90a130804d26e68c227994c12ad8f118b45b1cc008669a4f74112345a655445c1b42c1cc766cf9ebde4e464138e84d38a92504011d8b64d2c1aa3b6b60ed332310d03c7f38ec0da22e91421f0f42c8af3d24a4ba2fc1d9efefde36cf6752cb59d5dab3e95087c3542a121d24a8b7d98754f3fc06fdf8e625a5a8feea5ff2e02340351be938a3e03288c848114155bd7b3f8b1bff1e26115d3f8ac8c994422914824924f1b1d5a5c74bde747a7e9868eaaeab88e83e338f8be87ef0b5435ed6663180686617468d16858e0099176efb25d07cf71f132d61b4551d0540dcdd031750345556910d57acbe44639c2c3765cdc4c2c8b103e8aa2a2aa2abaae619806bee7e3f969a5455a5bfe0d089f44dcc11519571a4bc7ecb5efd4270d819db04979000abaa9b772cffbb42070920e29af4941513415d3fc2c8e994422914824924f02aeebf5d6e2d2f3421ddb45513c344d27180c66ce50e9fe62a7d162a22a0845c5522d84d1b037976894957617a3451c4c47727c5fc332352cc36874144b7b8df9783e3876f3789c9e9fe122e90e2a8150cb835c3e7bfdac60042c5a38580a8e20f0fbbf8d826e99ed6e37f8d91b338944229148249f268e8aab58eb7cbe6fe3741c9f2f914824128944229148243da243c5e5d3f8ac582291482412894422917c3639aaae6212894422914824128944f2efe0a8bb8a49241289442291482412c9d1a643c5a527bb6b359cb592deb54b6e972af96cd1b01184aaaa2d0e3195482412894422f9b4933e77d1e79a334b5978ca600225a3d1f227006e27b954d29b6625c18b83888167231c4855ece6bdd5eff1e38736134d0a54b5eb03e0ba6b30e9b5c5c5f77dd489147b00002000494441543ccfc3715d5cd7c5f77c7ca9b9483e43a88a82aaa9e8ba8ea1eb689ad6ee4d2884c0761c5cd745f8f21e907cf65054055dd7313bd9d65e229148249f1e8410789ecf65a714b368ee70cc1c0b2d500d5625d879e0b9a0facd726880026e35880ab00f2312952878909387a21b981185e3c697727dd4e1e647b7e2fb3d3388744627c1f95de3fb3eaeeb924ad9cc9a359b05a72e64ea94298442e1a3523989e493402c1665e55b2b79fef9e758bb660d9665a2eb7a0be5c5f33c92c91413c64f60fcc489940d2ae348ce4292483ea9249329b66edbcafa75eff0d1c79b08042c344dce71894422f9b4d2e02d357568902f9d3e0425b61d62061bdfaa636f6a190bce3f1ff441e029a437edd240d8e0ec02ff307ec536ec5dbb508d02a2b6c14bafbec0e7cf1b8739742c861764c6d412cedd5ecbdf561c46d3d4a3a2bc1cb1e292d6d03c6cdbe1a28b2ee66b5ffb7ac6454c2084df557689e45343281462ee9cb9cc39650ebffce5ed3cf7dc3f1b5dc61ace0c4a2653cc5fb08039a7ccc5751d5cd7c3b6edff76d52592a386a2c0b0a143291b3488254b7258b5ea6d42a1a0b4bc482412c9a7142104a626b86a51195a6a2faa310c6dcafff0e35f5dccd34f3fcb8d2b76f3b3df5c097e296081570b6e3910c73bbc137beb7ecc293f44eb3b89c57f7b822fdff107e62cdec233f727888c98846e07b9e0d481acf8a89a7dd5de7f5771f17d1fc7713971d6ac8cd2221a2f89e4b3881082abaffe16bbf7ece683f7df475555344dc3761cc68f1fcf2927cfc1b653a452369ee7ca7b41f2994351147cdf67d6ac59545656b073d74e2cd3ec3aa3442291483e510821f085e0c45111060fb610d5b59827dc045636e1ac5c7ce09607d73377ce4b9c74e67444cc211df3a280f071b6efc69af12bd48291003438a1bcb6a19e5b6e7d935b1f188c160a905518e4f4c9f9fc6ef1c1a312277c448a4b833f5ccab659307f2142209516c9ff09144561ce29f358bb762dbaaea3280a8eed3061c2241cc721994c49a545f299a5f903aa638f1dc3962d5b64bc8b4422917c0a114280ef336f623e9a5f8b9a3f06ac5c006ebffd36f6eedb47f99e9d3895f5e0a5d297aa82aae257ee41c91bdba8b4007cf10b5f60c5f2e52c7ee955b2fa9542f94ed49251e8419d9326e5f3c81b078939e2bfa3b8f8be8fe33acc9c7922b367cf42209516c9671f45490726cf9d3b87c52fbdc8a64d1bf17c8fb1e3c63164e8101cdbc6751d792f483ef3288ac2e0c183193274287bf6ec6e6375711b366be9c526158aa2a0691a86a14bc5482291488e3242088ab234c68cc802af1ab5cf718d9f151717f3daabafe02463e86bae40d4d7826a6502f535fc68354a787c0b79aaaaf29bdffc8694ed61c5b6915a771d667112d58482228bd1a516abb6da284aef94971e2b2e0dd616cff538f79c735114b5c398960f377d84e7791dcaf23c0f4dd328c8cfa76fdfe26e6d972691fc37515515c33038f3f43378fffdf740c094c95311be8fe338f87ecb7b6177a20fcb0e4f22e1077a544e504d7262d13a06060f1dcdea4b24470521d2db5b1e37f638766cdfdec6eae2382e93274f26140a1d7119894482caca4a76eedc8996d9d54f22914824bda7c1723ea29f4920aca3d8e01d580d8a0166360881162cc0f005a94412d3b733be60692b0d0a885845e6b4fa664a880296a9216a1d103e081b45156886ca312501dede9224bd8df29173448a8bebb98c193b8e13669c80df898b583c1e67ead4a91dca5ab264093366cc60dbb66d5454563274c860c2e1ffd08e645e943d9bf7610d1d411fb3b9e62748d5d5e28573097dea37ccf92cb5e59341c353e059b36753f6d7bf62db49060ce88f6ddbe96d905bdd0b47a2b40024fc00cb0e4fe24ba52f749152e0c6a3b856848076949f4afb496a0e55a217f627f2895933a6dbeb05b2b07afb9cc34f50b9f7007a4919397acbef80a356c66718455118545646bf7efda8a8a8c0348d169f298a4232993c62f99aa6d1b76f5f72737379effdf7703d0f5dee6226914824470521047df33454d5432b2c42c4b6212ab620bcf43ac6777d840f6ab6018a0abe9dde584cb8a845fdf037af26f5c61508df07d1fc375441246ad0b2541404e0a0e882927cbd5167e88dc5a5c73fcbbeefe33a2e175c70415ad1eac42da6c1d7bfa3abbebe8ebcbc3c468d1a455656165bb66e2391481c71637a82a85fcf1f6e7f88f7eb5bd65fd42ce7966b7ec9ca9afffcce68dec197f8f1577ec83fcb3b3bf0a7fb32fe9b6df92ca3691a9aa673f639673372e431c4e3716cdb6e76006bd3d59ed2a22a70ce148373a71adc756180576e0c73f57c9329435a2eca127ea0d3fb470881886fe01ff73ec007b55ed7697b78f9b10f78fed167d9956cdbaeee5e5ef54a1ebbe7b7acaae8fcbba0db758abec3dfef7d904df5bd6faf1fff90c54f3ccf8e98ff6f2ba3c7fd55bb9a671f7c880f6a8e4e7ffdbb2f4581891327e2b84e8bb9aba80a55d555bdbacf1ab6db374d93d1a38fc5758ffc7b51229148242d114260180ae0a1052df4be03d0fb0fc41838287d0d198c356c087aff01e0bbe03b205cf06d544dc53c66307a898d516263f44f610eb033570a6b781863607f849302e1a2088f6020bd0b6b6fe9d173542104ae97dece6cf6ac93a08bd816d7f3dab8ce34a7bebe0e8070384c6969298944822d5bb7316eec98b689931ff187efdfcaeb87d3ae676ab82fa3667c8e4b2f98417ff3b3e1ffac660d67c65c28cbe9c653c5c47bdcfecd07e873d39d5c3ab4c9bfbc850ca793fc92461ab634ee497a4d5339e5e453d8b6751b75f551c2a160b75d1daf3ac5a42a2a786295c3536b1c7e7d7190dcb0c29aed6ddd2abbae9768487854be10da2b3bbd483d422181528e39cea7287474beb01a651c85f67624eb6896d163ccfe0c1bad52601d9dfeea09baaeb7510e344debd4dd17a0ac6c30aaa2661499f477b1ae6954565652905fd0eb7af9be4f3814a2b8b8988ac31518c627c6fc279148249f4a841069e389f0d38a856f83dfce1ac66fe108d60c0f14152d186999a0c192e283f0dc8cbb980f34bcef7ddd7bf40be0fbe9d8961366cc40d5d4b479a8133cd7ed54718944223cf0c0ef310c03d3b4b02c0bb3a3ad35458aeafa6c4eb9f1279c5fea52b9fd2d1efbdd7ddc111cc8ed5f1c88d17eae4f154a6808f3bf30e4a8c9103547a3569f6d1cc7e18d37de60fefcf98d0b45455158b3660d53a64ce970f1a8691a966551d4a788baba5a744d2310b0ba55e6c2713abf79397dc68b2fe0f9f50ed79c6a01a93669bb5cbc8aa674475f71c914d01bc5c52c61dccc928cbca3a1b834bc1e0dc5a57d5947b38c1e63f6e598497d1bcbff4fa1aa2a1b377ec89831c7e238e9271e8661b063c74e060f2eebf44c225555193868107bf7ecc6b2d2f780a669d4d6d4e27a2ebad67b45c3f77dfaf71fc081fd07a4e222914824470b0ff05cec549264958ba208ccb081a66b689a82a2a79dbd1a7413214041c1f37c8497b1be3bcd7fab048eebe3fb10c909908e8901612789d5b75de31c093d565c1cc7e5d24b2eebd445ac01d7eb5c7159b870519bbf2d5bfe6627125502e130911c93c88453f9c2cc57b879f341520cc4f02a78e3ae1ff3c7776bf1942c86cdbb826f5f38997c4d90dcf33a0fdef7386fee8ca2648fe3b2ffbd8e39cdd69822fe117ffdf15d7c74c24dfccfc980bb8fe77ffe0dfe7ca01ead600c8baef81ae71e97838620b9eb35fe78df13acd81d23d06f129fbbea2ace181981d846fef28bfb7873473549018192e339ffeaab983730808220befd65fef8c033acde558f356836975c73292716b754b744cd327e7ced6266ddf153e68477f3e2bdbfe5f1b507b0952cc65df6136e98534457b6981632b48edba2c63fe66f77ddc7ab9b0e9320c0e82b7fc18db360593b7d98976a9df6079cfcf62dfcbdf407dc71e1604c6cb63f7c03b7565cceafaf3d8e230fc7fdcfa2280a6f2c5dca5f1e7a983d7bf772c5e59703f0c73ffd89575f7995ef7ce75a264f9edc6edef4192e3a53a74ce5f9e79f271c0a619adddb16d617306ea0c66b1bd34fb70fd40a0e74e0ced776f12a48ee7b93575e5acaf66a87406e21aea732440884f0b10fbccd929797b2e5700ca36812b3cf389d51b9493e7ee26e56f6bd828b6795a0e151b3f65e1edd7622977e711cfac176f2e4e9ad2c2e02fbd06a962c7e8d8f0f2730f3463179c1e798dc3f04a9ed2c7df2493edc5f878342a0682c53e79dc1f87e0188ade7f107de62f4655f658cb983a54f3ec5a68375d802cc82319cb0e86cc6159928089c8a777863f1cb6c3a184760915d3a9d45e7cca18fdeaa3fbc83ac7dfc17bc5e1347cd1ecac4799f675a5916aa5fc3c667ee67c98e28be12a6eff8b35874d22822aac0ae58c71b2fbec2a6437194d0304ebee042c6188206c5cc4fee64f9a30fb36fd4159c33a69332e8a41f92db3a6d5fbb6393d7f22b58c437f0c2e3ef31e2dc2f312c50c996556fb0f96002d588507cdc7c260e0c373ddc12292ab77dc08138687a90aca281141766a18b24f5d53538a8e417f4e9723eeabacea68f3e66c5ca9554555773e2cc1900bcb96c391b366ce4d453e733b0b4b45dcb4bc31c993c69123b766c6f545c005455a1baaa9aa2a2a22eebd01d0c5da74f9f3e545757c9407d894422e9058aa2a000fbab6cf03d0eecad65cbfa1a36bf53c5db2f97f75afe155f399659df1e81883ae0835d1b657fa5dd91f9a64774fbdb5f88f46e62c150903163c6741a94df80d74eb0725778ddf46376ab37b1e2bd28c533fb610168398cbfe026eefe6a0eec59cc9db7fd99a7a68fe38a81dbf9eb6d0fb3e3f8aff2f36f0fc38ad61328d0209a69977b9837efbd87b7065ece4fcf2cc3aadf034a80410baee6fa09b9d4bcf52077df733f03eebc9e13ac8f79e4977f65cff46f72db7525d42c7b80bbef7c807e775cc364bf8aed7b2c16fef06ee6e445d9f08f3b79e0f74b197ff3028a521b79e88ec7393ce75aeeb83e9bcd8fddc61fef5fc1e8ff39898276bd8b04f5ef3cc213bb2670fd6f3fcf30b5864a25af4ba5a55d3a6a0b87d8b45563fefffc8a53fb7aa4ac7c34cd6bbf0ffbb44e5b80ae0ca0ee5fef5371fe604a941a367f18a3ff6983081e491dff4b082158307f018944927f3efb6ca3abd7ca152b39effcf3993a756a878a777a6b648d810307924c25492693844221b46e040fff6599c357e798acdcecf2e13e9f9347e9dcfe7cfb4f225adf3f22b999d79f7d83e8d8f3f8f2d87c527b57b0f8e53d08047e721b6f3cfd2ab5c75dc0456747285ffa1796bc3480015f9840dfe105c43fd84974663fb289b17f5b0d39c34ab152db78addd3c930837535cfce42ede7c6a3195c77c812f9f5544fcc36779fe9967c8bbf47c86885a0e1e3698f0c56b19138953befe195e79f229b22f3f9fc1cdad176e1d072b0cc67ff15a8e8dc4d9bbf2af2c79691d655f9a46b6b393654f3e47f9907338ff8c328ccaa53cf54239315720b4e6fd01605134f13cce181c21f6f1f3bcf0dc53145c7a21232211ca665dca25a746e0f0db3cfff43f797be4504e292c67f993ffe2d0f0cf73c199033012318c888ac8c48dfb5e359b5efc1b1f179dc97953fba2c70f7458c670637727fdd071fbb2ec8ec6661211b579fb44667b799fe49e956cac2965c6c289e4ab49922290b67e35a6d6c92a194dc43050ec0a0e94975393358c02ddc576205090dfadef5fc771983c7912917084a56f2e4555d3bf2c3b76ec60e1a9a73272e470eaeaea3a955154d407d330f17dbff13ed2349dcacacaa3a6b8f8be4f494909870f1f928a8b442291f41a85ad076c523197c22283e8d830813e06ef2f3f8492f2c9563584c8c4e3d3e4e52548c7e2fb08bc66ef5d01363ec211583aa0b8808b5d1dc7ae8ab1b93c89721434976e07e737044a2e987f6abaf2ddb2b8a4635c7a72b99df953bb95bcf0e3af70c9251772f1377fc9e2c424ce39a95fc64dcc2077407f0ab322148e9ccdc9fd93ecad4892dcf60aabbce3b9e40bc753565440bfc165343ee41431363e7a3b8fd42de0faab8e27bf6181a4153076d2310c282a61ccc22f3137eb235eff284a72fbabac76a772f1e727515ad88fb1a75fc4dcd007bcf4617dba4f148bbcc202f2fb0c66daa9d3c83db8910336a4b62d61ad3f85f3178da1387f20d3ce984ddeee35ecea64c31d3510428ded6577858d91d397fed947f843dd415b1aea5bd0279f9cbc62fa84d40efbb06d5a9ddcb12731a86a15eb2b3d447c27eb2bfa307544d6d150a6ffa3f8bec7d99f3b8bb3cf3e9bd5ab56b37ad56ace3efb6cce39fb739d5a0ba1c1eaa23178d060a2d118b66db7095e6e8f67d7397cfbe104fdf2549efe4e880ff6787c54deb1c5a5f9651f58c74ec63073ea08f2b30be9376438d91a2004f6fe356cf74771c2a4216487fb307cca44c2151f72d856080f1c434ecd06f6c67cfc64395b2ab3183a300ba7c33ca2f10b0b21b00fac66ab379a13a71d437e560103262d64acb98df776c7328b6d93705636e19c1286cffc1c63cc6dbcb727dee847db102f22300947b2896497306cc25842d5dba94e09ec036bd8ec8e62f6896328cc8a10c90aa3771414aee53070f040f2b30b299db080b1815d7cb02f8e2f5482f9454402412203c6333adfa6aa3685bd7f159bbd31cc9e319ac2ac6c72faf423a436d427c1de371f6259ec78ce98772c613a2fa35bfdd05efb3aede7b6734620507403d5aea636e6a0186142a6d22aad821e0860681a7a208f2cddc776fdcc432525b3557df782ec6baaab193b760c279f7432bb77ef65f7eebd9c7cd2c98c1b3796bababa4ef3425a911f3e7c38b6dd1458a7692af5f575c4e3f11ede951d130804c8cacec6f3e48623128944d21b5455617795c7c75b6ad11d877e45262a3efd2301f24c03cdd4d02d0dcbd2085a1a59019dbc804141d0a0d83228b12c4a03167d4d9342c3a0d83428340cc2019dec21014825b12beb481cac2311f5d8b8df6bdc71b237747b35dca0b89c73ced9dd525a20bdab58578bbff6f274889ec729dffa11e70ed4b0ebf7f3fe0b7fe4de9f3e46d16d1732d4dfcd6b7ffe034fadde418d63a00b97325f90aaae2215194f6e7b2d752b78672de4ce29a3a0a3007f3d97926c78b73a41c2ad2295d54c969e4bff6c9ff515715aab5b5a3017cbdb852304a9da2ae2f55bf9d915cb9b1228c389da0242ed95ab1039ee0aae5df4207fb9f51b3cdd7f365ffeca45cc1e60f54e3168d696f6464524dbefc3f6465bcd3b8eb9831fe5f9d587983d7835bb73277351c1a773ab52dff749d9a9c633275276aa5bf35655d3674b4c9e3299279f7a92542a17d334bb75537ebcdf67db419f4b4e343873a2ceda1d1eb5f1b63ddd5af97162f578c112824a26eea49955c489d5914aeee5a9dfbed794412925e1f8285923189ef5261fef8d5266bdc781c0b14ccf51700e769c275d76fae9bf13adc50d8dc82cf80135427ed067675d02afd9625b08016a1645219fbd7549bc7ead3e6bf65e31c318623f0e3e767d356e7004918cfc9601f26dfba3a9ac087941c1cefa14be5dc7874bfec9ea2de5c43d1d4d7814f95ebaeec1114d7dd65c9657c38ead101ad78fb0da32aea56d1949526ef7fba179fb3a1b1bd1ecbb47347bb465f49dc9d4e1abd8b8e24976e48e60d4f809f48b684ddf015e8c8abddba98cdaa05918ba46c86f50c81a148bf6665ffb545757511fad6fbc0feaa3f55457577519ebd310943f6af4b16cdcb811687217d3759dfd07f63374c8d0ee57a4137cdfa7b8b898eddbb6a1691dc4434a241289a4531a140881cacbeb630c2bf4090f085252a213c93789d6d864691a21547405744541450121f07c1f5551108a42ccf7f03d0707f001d587dc5c8bdc7e0af69e6a523529bca4cfca6d2e1571b08ec2665add525cd26e621e91481623471e83ef772f68d5ed2238bfa33c1da312c8ce2137cf84bc7c4e3a73362fdeb88a6db50eb9ef3fc0c39b4772dd9d3f626c4e0daffee8fb2c03ccec1c8cfafdd4b850d2bab5c620cebf6e0e1b7f730f7715dfcc4d8b06b40df277abd953a39053102218cac7ac2f6f92e5d6b0af5621a730d4d68d4b6d30882998d9b984f2e6f2fdbb2e6558777f6bb51cc67cee1a6e3fed002bff740bf7fda62f237f7e3afd7aa31b346b4b5b539b4fe58af6fbb05dd45c262c3a96bf3efc32cb776f2134f52c8a3f85de1b8aa2f0e7071f64f5aad59c75d659003cfbecb3d4d5d571d9a597763acf1bce74292d2dc5755d12c924c150a84b379669c334c60fd2a8880a9e5eeb70e644837b2e0e70dd5f9354b4de9ebb555e2d9c839e3844d485dc5673410b45b0225338e3d2456dc64290cfd0d139acdfb0995dc19d048f9945b6a6e0759627dad852b470367afc30312f53ae574f655c219015680ada6ba8af17a52aa16045ccb69f357b2f329f0a14b46018355543d207a1b54ddbba3f9acaaaa322ae12cc32887ef404cbca07b2e8d2cb19108ab2f16fbfe32314d450182d5e41dc6fd9670240ebc7b43327b1efc5c77921e74ace9cd4a7f15e6e5b4600c3ea7e3fb4685fa763d3f27de3a586281a7532b347d47360c3eb6c7a2f879ce9c309a9e99476e516caa3790c1e514a5877a9dfb393446b19740fc33058f9d6dbecddbb8fd9b36701b074e99b545656327dfab44e83f3c9ecca575050886559789e8fa6a5bf61745da7b2a292d201a51d6fbcd2437273f3f0fdfff0a609128944f219a36187d4573f4c71de9400aa11a3b88f416969809a6d718a551d85a6df114f08344561587131fd0a0b39108ff17ec5218614f521cfb248d5d5b169ff61f2ca74c2660a272af01d819b8427df49a0a91a8aa2f6dae2d22d57b1b4b5c563c1a91937b16efe1c7a47e02ad6f9d69b3ec9683d7535951cd8b19ec57f7f99fd91e10cced61a9fccfa9e8ded36294b81a1a73081b7f9cbdfdf62c7e16a2af6eda43cdef4b9d96f36dff8ce29d43e710f4f6dcbb84589145587aba8a9dccdea27fec82bc971cc3b264260e85ca66aab79e8c975ecad38c0867f3dccabf1b1cc1fddb98b5460c8c98c7797f3d033ebd8555143f5a1dd6cdf1f4700dea137b9ff8e3fb3aaaa65bb9dcacd6cde574bd20f51322017d58e61b7d1013d12b555545656a6afaa7450700b3a684bbbf5eda00fdb472172ece9cc705fe1a1b74c4e98def753b7b39ba2283cf7dc732c5fb69c458b1671da690b39edb4852c5ab488e5cb96f3c6d2a55dde609aa6a1eb3ac3860d231e8f37eec8d411174c3738678ac11fdfb0f9c72a878796397ced4f097c01179fd8f5c2ce289ec25075234b97bdc7c1ba28d1badac65daf8de2c90c74df63d9aa4d54d44589d51ee0504d2a73b76ae48c984c4ef90bbcb13dc2a81105685de5d14c3451cfc1ca387af114866a1fb26cd54754d555b2e79d17d9600f655c69662b06af96bddbf7505d57c9bef75e66436220a3fb773fe2c9e8339efede072c5fb795da781d15fbf693e8f06bc626565747bcfe00dbde7a8e0feca18ced1f44f1496f60e2bb785e5366b3ef64cad8c0d2151b385c574f7de57eaa534df35bcf9bc0bc3326117feb71d61cb43b2dc3e8aa1f3a1cb78efbd9af7d97d79f7b811db196f79c1f3f48555d124f9884b382289e8ddf623a36b9e1b5f94e162e8eddbdfdd00dc3e0830f36b07dfb0e66cc38811123463062c40866cc3881eddb77b079f3962e95714551505585e12346e0382d951c5dd7292fef7db06703aaa2909f9fdfe536cd12894422e998f4f7b64a7d4ae5c11571dcb8c0ab7398766684a27c13c711647e561b3d0a8e1f368c932eba88e1679fcdf0512339fff22b39efd2cb3975fa0c168c1cc3d46306317541163a3e9eede3c53dfef56e8acd07d30fb41a62287b4397cfc81b82f21dc7e1c20b2fead1d6a85ded2ad6519e76512c7223352cf9c5352c01d0b319307a3a5ffdfe17186ea930fd22ce7ee75eeefef6621c400b9530234b43098fe5b2ef5ec09ffef0203f7839065629a7dd74335f2e6c144c68c4e7f9c6bcb5fce4bee7997ed328860c48f0af9f7e9b6780f080e339efbb9733395b41e1182efaee97f9e37df7f3dd17e258fd2671f6f55731255b814eb61e5622e3b8fc8673f9e3037fe0c667a3a06471cc176ee2c6b34288e85e366fda4251cc87b0878f8a824ffdc78bf9ed7daba9f040cb1bc982cbe733a0b566e0d6b1ecceeb9b594586f3f55f9cdcf4b991df615bdad657a5a0a33eeca8616619f3e60fe0b5b74e6266bf4f9bda929edb73e7ce253fbf80134f9cd9b8103af3cc33281d58cab8b1e3bab42c36585d66ce3c91871efa0b7979795896d5e1992ea78dd779769d8bd36ccd75b85ef0dc3b2e23fa75fd1c41b10631f39cd359f6cacb3cf9a718029540e138b20d05253094d9679fc2d257fec9dfd72440095332fd12ce9c9ab6222859a339aedf4bbcea4d6558e6aca04ef358654c38c6e295975f63d8256730e3ac052c7df9191e5b97c4c83d8649679dc590900231801487d7ff9dc75e8f43a4ecffb177e7f151556703c77ff7ce4c66b24e32595912c212084b0415044b04144b15c405450171a1608b5295176cc1a858b452a995425b0a5a685029a848a058708d4505414045830809b2842d0b4b262499fddef78f492040f685203cdfcf679c38f7ce3967ee2cdce79ef39cc39543efa273b05abead764a5017aebff91a3efae46d966ef6600e0bc1a3b4e5bcdf386318313617dfac98cb36c01cd99d7e770ca77d9001926fa2f7be0cdefbd7667c806a8ea2739001cc1d1978c710d67ff45fdedeee04530cbdee7c889f859eae9d8056d7f3f32b7e60d5071be97467bb6aea50506857cb71a8e6f5d5709c75670179870f6275e9249a357f7e0b1aae821d6cfdea201ea38980e0d6b4efd99160e54c9b4db68ec49dfa91dcddc730184d04984308339c39603e6731586a5f47c5ebf572f5d557d1ae5d220909f114161600d0ad5b37a2a3a3090d0da5b8d85e6b39aaaad2b3672f7664659df5b8c964a4f05821369b8db0b0b05acba98daeeb44454771f2e4c93a4d86218410e27c15818bc16860ed772ebab752f9458a818818951b1e886453fa491cc53e8c010a3e4da3736c2cc9f1f1f88a8bf15a2c44267624e04411ae1ddfe3282a65afeb14b67e0ebaf4b0e02bf3e12dd1c8390cffdae0c06834a1aa8646f7b640d513939952fbf73d7dc94cd3349c2e17a1a156d6ad5d573e4cac6ec1c8b237ffcd4dbf387fcae39abcffc15ac68cbab75ecff9e9d3f1384a38f6d53f99f19a9147fffa18575cd4d373f9709679d04a76f2cecbaf61bfe70ffce6aa9f5e627e055535a069be731e53eb1c747bbd5ecacaca7879ce1c22236d44454561341a5114857fe78d3e6bdfdfdf69a65d94caf4379de4dbfd4191d10033efb4b07c93871d07cf6ec7bd71cb1bf1ca2e0cbd743b2bd3bf24f98187e8115ae7f93ece29c44d495129580231e965147eb7920f0ef4e2eebbfb10fa53fd60d58b8ecfeda0e4c087bcbfd5c460e3658600002000494441548091c368f0b5005f29278e971114158da58e6f87aaaa58ad564e9e3c79d6e36161d63a052de00f28bc5e2f6fbcfe1a3e9ff7ac5e1aafcf87aee974edda95c0c026f8715314b66ed952e7b5938410429c4fd775344dc3edf660523c3cfd8b00fa251bb1c418b01ff0f2dddba738b8c789dba933b84737e2a22271793d785505afcb4999c78753d7f1043a09eb778a3657001e05cf298d4305303dc3417e89818000130643ed81cb868d5fde093880b2f25b69a5bf1d80b3c61e978ade16afc7cba851a3ea354c0ccaffb1aae774c835ce2a76a9d24ef0f98b9359b43f9a6bee7f82ae1775d002b87359f9f433ac2d88a0c71d8ff0d8953fdda005382f68f13f56f79e42555531994cf4ea75253b777e4f686868b55fd03faf75735f7f1373ee0da4a84ce7c8490da707967fe161c7a1cbf0b35fc15bc0b7effd9b6f0b1ce81808697d25a943aebc4c8216403b45ce7fffc1a693517448bd93980bdc81a969da79410b50e7a0a582a2285cd1f30ab67cb9e5acc0c56830e0d5bd7cfffdf7b46ddbf674cf6443391d8e063f570821845f45af8bc964c4edd679fe7d274ff80219e4d3098d55b8ee092bc7770592bfcd8bc9e426fbc4515c9ef261f28a822542c796e4c69ae2c014ace32b034f89c60fb95efef88187bc120301014654b5f1b92da7db5cc563a77b5c344dc3e5721317d78a254b5e233030b05e2774e9afff8b5b86de56af06fd77dd7f1877ff2febf51c215a9ac7e3a1a8e8248b17a713121a82cd1681d16824a3e00e9c7ac322518beae4ce98554ddc52219a8fa669389d4e56bcfd163e9ff7bc7fa82af2257d0db8a85599aa2a188d4659cf4508219a803fc7dc9f16e2f5b8b9b39789b1d79a08b78229040c1605cdade375e968ba82aaa8a80aa826c0e0437381d7a9e03ea5b3729b9ba55ffb7069264c261346a3a1dae1f3e76a548f4bc54c626eb79babafee4d6050107a3df355cc6633abd7acacd773828343eab5bf10170383c1404848287171b11c3a7c98c0400bc1c1c1f4b37ec9e6e27e38354bbdca0b52cbb8266c4b33b55688e6a1280a010101b48d8f273b7b3796737a5554552520c0bf66941042888b434560a12826144561e5b71e36fce8e1d65e01dcd8d548b45547316aa8061d55015df3e103bc2ed0dd0a27ed1a9b777bf8cf0f3e761f33603205101060acd3f0b0faaab6c7c5e3f1e272b9484eeeca8c19cf929090503e05a54c4329c4b92a02fddc830759b56a15baae61b3d9080d0dadfdc9425c222ad67c3979e2041f7ef8212525c5d22b2284103f117af93a2d3eaf0fafd78bd7eb25c8a491d2d640528c8136112ae181a0686077eae415f9f831dfcbf6a33a76a77aba27bca297a5ae3d2d151ad5e3527cea14f1f1098cbcfb1e12dab52bef6d91a04588aa54cc2e96101f4fefde57f3f1c799d8edc5b46b97d0d24d13e282d2751dd56020a97317b66ddd82cb5586c9243d2c4208f153507101aae2bca6cca3b0e9471f1b73bc672f48ac9cc99151550306c39921613e9f56ded951f7dcdd8080bafd3b516de032e0ba813cf4d0432477ed8aae698d1a8f2cc4e5a0e24b3ee0ba01c4c5c6f1de7befb17ffffe966e9610179caefbd76fe9d6bd3bfbf7ed3b3dc5b21042889f26a53c50396fb096aea3f97c683e1fb52c6557239b2da24efb551bb8bcf4d24b006897e32c5f423450c558ce2e5dbad0a54b97166e8d10420821c4c56fe8d05fd469bf062eba2084104208218410178e042e420821841042888b9e4cf77291f2f9bc783d1ec92d1242888b80fc160b513f15b34a99021abed8ac10e792c0e522e4723a3871e204fbf6fe4869c9a9966e8e10420821449da9aa4a48680809ed3a10d7aa0d4dbc9487b88c49e07291f17a3c9c3871829cdd3fd0e38a5e44d8225bba49420821841075a6f9348e1f2f207bf72e2c160b51d131f864b227d1042470b9c8f87c5e720feca56bf72b68d7be634b374708218410a2dec26d36028382d9fdc34e6262e32470114d4292f32f329aa65172aa049bf4b408218410e2272c383804d091b162a2a9347b8f8beef3a2394b300487377755f84a8b502d2128869f764792a669a806892985104208215a8acfe7435555344d03ceacd5069c5e25beb1b4269cf743bd0ce2c3663dc32fd9b589c2d52f610c0ac0189d42ab5169cd1375eb3a47dffe23be633bf09c721273fb6f094ebeb6e9eb3987c7a771e8848b63251e502022d048bb280b26838aa6eb7c9b5b4a9b880062c2029abd2d42082184b87cb95c2e0e1c3880a79ae5cb4d2613eddab5c36c6ed82c5fbaaeb36ad52a76eedc497c7c02f7de3b06a3f1a77da1b83a15c3da0c06c359f795b95cae061fcbca2e8760a32955f989abea0daa2f57de7e8ebdf737126eba0954c8dfb81157de3eccad3a34baec7339f3f6a114ff48abeb06a0fb740eaffb2bc6f038cc71ed9bbc2e8032978fb5df1de3cb7d2544859a890836a100c50e2ff9762757b50ba6d8a1917fcac3b16217cfdede81c8e0ba7fb90d35fc1078bd5ede7cf3cd6ab7df7aebad848585d5e7e508218410e227cce974b26bd72e7cfffa0bc64fd6a22a0a069382ae81a6e9e8aa8e73c02dfcf0cbc924272763b158ea5dc78103b97cfdf5d74c9e3c99b7de7a8b1f7ed8454a4a8f5a9f57d15bf153e0f3f930180cbcf5d6dbfcf9e597f9d54313f8f9cf7fcec14387283955424444044141812c58f80a5bb66c21f3e38f888c6cdcd0fed55b4fe2f569e89ad6b08bfbba8ea2aa180d2ab7f78968545b2a5394faf728e97ac3dfebbac61ecd12b8f84a8a38bc643a6dafbf1677e18f98225ae32d2ec1141ed3a872ab13101e83abe814bac785f7c4515af5ebcde17fa591f0d8020c214d3b446d775e19fffa3c8f1ef1610c4989a5d4e5a3ccedc3e783b0c000bab609a3b0d8c5eefc935cd72586aff69e644f7e29911dac75af44d7f17abd556e72b95ce83adc77dfd8b31e77381c2c59b284fffc670db7dd56c7e0c59b47e6fcbfb1a9ddaf99767b02a6bab7b061cead4f2be29b7796b2256204bffc79ebe6af5f082184b8c4381c0eb66fdf8ee18dbf13b4fe230c8a81c05823be131aa80ac66815c7510f868fd652e673f3cdd847e9d5ab17818181f5aae7c71ff7d0ae5d3ba2a2a2e8d6ad1b3b777e5f6be0623499d07ccd17b894ed3f40f88e2c500d9ceaff33ccd67a9c6b55a162bda643870fb167cf1e7e376d3ac6a79eaef69caca4a484c8c848745d3f6b18597dec2d0ec51a1a88c96cc4a769542ea5d632751dd5a0e2767bb1173b1a547f55144565f1e2c5fc67cd1a7f40550ba3c9c4830f3cc06db7dddae035afea1a7b54194e352a70d1350e2fff03adfa5f8dee38811a108c7d6736019d07a2068634bcdc1aa88121983ba57272e76e146310baab88d83e5d39f4faf3d088e8ef5c7bf2cb48df98c7755da3511495fdc7ca282af3e0f1e9f8348d52a7977d056568ba4e4a7c049a0e3ae06bc2018c5eaff7f487c2e3f19ebe553c76df7d6359bdfa3f141717d75e98af88ef3ffd8c6f0e3bb9204bab9d5b9fef385bdf798bf7bfb7d32c3f6b5a1987beddc0e6bd25cd53be104208d182cacacad8b871239e57ff46c8e71f63b118090c36627419080c0b2030d884c1a5121866c21c6822f8f34cbc8bfec6c68d1b292b2bab575d39393974edda1580eeddbb93939353ed09fd85f0f1c799e44d9d82ebf537285abc981d4fa6357ae6b28abc155dd7515595e0a020744dc36434121060c2643462321a09b45808080860efbe7da7f76f2847511e25f6421c25c770971ec7557e73979ea0b4f81825f6424a8b0b29adb83feb768c12fb314a8a0a7014e535eab59febbf6bd71214144468581861566bb5b7d0b0304c2613ef7ff03ed0f0716f8dea7131362270c95b3d1f6ba48aaab9f09c2ac6ab99283965a6dd7dbf697099751177fb6f38f08f27309f3c89c1e8430db6126af570f49dbfd16ae4e38d2edfe5d5f8e76787b9b64b0c474f3a5155282a7173b4d84954b011a30205a7bcc45a03513052eaf6e070fb9a65b5e58a6ed7eabae4eebfff3e962c798d1123eeb8bc878db976f3af694f927ddf32967408a9e3147a1a253f7ecabb9fedc7d27b04b7a558c1fe1dab33bec25ec5de71d7dfcbcd8915394c3a9ee33bf9df7b5b71f61ec9f0e4e073bec2b56d17420821eaee934f3e21e8ad25d8b67cc609934291c34b9cd984d90c05a53e14202a50c1e3d239e2f0a2a113f1d987e0f6f089d3c92db7dc52a77aec763b870f1f61e4c89100c4c4c41014147c563073211d79fd0dae5bb3065535e0d575ccaa4aeac9936c5c370f2d3881de37dcd5a0725555e5f8f1e32c58b0105dd771389de8ba8ee6f341a59848c77f21f9f7bf9fc9c04f0634b8b705c0abe9b8ca4a7197f9ff56cacb0730aa0a8aa2a09f7579b9a22effd5714555d0341d6f5366f903f7de7b2febd7afaf538f0b8ac29d778ea8d4f2faab6becd1a443c58a36ad453bbc85a02bbb51b67f3786201bc7b7ef2371da6268c058b97a5154da8efb3dfb664f20a67b2cde137b086ed39992ed9f53b4b90be1fd6e6a54f11fef3c41624c18f6527fefc6fe82323ac59879e486f684980d2cfefc081e5d2d7f993a3eaf3f17a621433b0db5cc8a56110c9d1b13b9dd6ee6cd9b77faff57aecce0befbc65eb2c9734d4fc7717013ef6f3c52f9f70935a4138386c571e6ba928fe2dd9ff3f9be10dad9fcc756731d675fd6576ccb3a4c1970ee88d7dab60b218410f5555858c8951bfe876232e2bae9766ef9f32b6c489b4cc986950cde7608cdebe1e0979fb1e6c1d13c9a5380e6f3f2cdbf5fa3e4e92728b8fee62acbfce0830ff8eebb2cbc5e2f9a76e65fc3ae5d93cfcae7484d4de5dd77ffcbba75ef01e0f178f0f9bcc4c7273076ecbd4d32eb96c3e144d37c040707a3eb3a656565d83ffe18cbaa555802fc170d355da7cce7c3e0f351ea3613191fdfa0ba2af25b767cff3d274e9c202c3890df3d701b9de2e33896770ca7cf47b0c948446c14db77efe3e5d7d7b07bf76e0a0b0b898d8d6df070319757e3919b1341856ff6da090b34e2f5e9280a5cd9d14aa8c588d3a3f9d35f741d5d5740f19f0bba3d3e62228238905fc6dc353f36e8755745d735eeb9fb6e468f1e55e7e7f87c3e7c8de8816b5c8e4b034e74ddc70e63fff89fc40dbc86b23ddf832988a39bb268fb9bbf6308ba3057fd0d4161b419ff3cb9731e26b65702ce033b8949e9ccc177e611d4a10701316d1b5cf6e61f4fd1bb838dbd05a5681a24449a78a07fabd3db771e2ea373ab307474741d0c06059fa66350a04d44fd92e0d45aa698a8e871a99cf0e670381939f2eeb3f67befbdf770b95cf50b5cbc856c7a6d0eff786703fb4b2034319591bf99ca7d7da3ce7c58bcc7d9b2740ef3576c606fb18631a21b2367cde5911e4672574c67f22b5b2874019638aebae3719efe552ad13534e1d8fb4f71e79a42ec1e95b00ed771ef13bf63544a98bf87a4b6f668a5ec5e3587d9e91f9363d7c01247ea63f3787e78ebd3ed3db0700cd72ff4ffddf3f975fcadef71d6af5e4f61fc106e4f6d4d457f89cffe03eb3f3b42ab0103307cf931472b1a6808c2161374e6f89fdac9d6bd4ee2fa0d25394c05344e656f64cbc150ba5ddf9ffccf36e23ceb15d6b65d082184a8bfd2d2525405d400056bb72b71169d24b4474f4e7c9401c0cafb6f67c492550477f42f68bdfcbe918c79e31d96bdfc22a5a5a5e79577fcf871366ddacc534fa56132d59c797acd357db8e69a3ee73d3e73e673e4e6e69298980880c7e36ef0eb73bb5d7cf6f9e7047df811c1a525d84acb087138080b0840018c8a4299a6e1d034ec40e7eb46121bd3b07cea8a13e740b3195555f9cb6363f8e5fd6371169660b17ac0e5027300ae5316ee1966c1a4ebcc5df9092693ff6ca3a1bd2ebaa6136836b0e340319bb3edc4450452e67093106d41414755fcfb28aa3ff5c0e7d33018fcd3283bdd3e0c8a8e39406df2113e3e9fef822e1a5ad7d8a3c97a5cdc790708edd006f7be9da0691ccb3a40f41d53084ce852efb21a2330a10bb1239fe0c4aa9789ec108e677f0e11ed6db88e1e6870e052eaf2e1f1ea943a7da8a81c3c59c2033f6b77d63eb75e1949c65705541edf6734283cd8bf35ed22eb1eb8d4e583afeb7af9ed4ce01218682130d052e9ff03d16b48f2afbae032762cf80dbf7b1b6e7ce4791eed087bd6fd83054f3c8ae3957ff148b740d01d7cffea6f98badccbc0879ee6e1ee563cc78b086d1d0028d8aebc93c75fb89fa8508d822d4b7969f1ef79a9db3bbc3828bcdaa15a01ed7fc1a47baf24523fc2c6257f65c1efe6d0e1ed67e917e2a8b53d9ebdff66c6dccf881d3793f93f8b453f7e90a2b6b6b33ed87177fd913fdcd20a230a4171c1c031344d47abfc25f79d206bfdd7b8badd4cdfb63a5f7d59dd31727268db37140477e3d64e15c3cf54ac29c3199da280e73099e73da9b6ed42082144fd9596fa2fa61e2ff3119fd2936fdf594edbabae215bf5e1f57ae9fdebffa370cf2e4a0f1ec6ebf562b159f1fa7ce83e5f95818bfffc4fe7fbefbfa757af5ef56e4f4e4e0e3e9fafd6a0a7360e8713a7d381aeeb74ead489fc8d5fd06adf3e025495a88000820c86d383929c9a86d3e7e3f08001f46d60d0e2703871bb5de8ba4e60703000d7f54ee1d017df91b5e95b6e7c7838bec2e3185ab5e1d365efd2ad67676ef8d955bcfade663c1e2f274f9ec460306032059c752e56178aa2e0f169149578287381252818970f0e16ba3874cc41628c8ac7a7e171fb7b5d0c0a1c2974136c31a0a3e374fb707bb5460d573bbf4d176f727e93e5b8e83ae80e07bacf8d623080c7d598a16e8da2eb3abad783eaf581d705ba86de88b17f7687174b808152a717ff98429da8d0b3bf9403bb4430b04bd34d43e7f3561fe59ee971a9f935d5770a42ad68138b338e9030fe0dd246276202aeb93201e7ee0758baf84bc6fc791056fb6616bf738876e35fe7d9fbdb9f37135848a79f31b093ffefee4956f6beff006bbe3a8c7b5038d57d95c3ba0ce086d4ae98815e3187d830e13d3ed9ebe29a84dadb6329c9a79850aebdba0f29c9c1289c3fd6d61cd58e8e1de32b7dd8db33f8deca5365fb38b9e37376e83d187a4524468e557f8c8a73f87abf46fca0eed8cefa9ad4f68321d92c4208219a566969293ea0505549e9d09975bf7d9cae778e26af58c7e57271f0eb6d5c31763c6ab81597cbc59017e6b1f5f54584179d20bb8ae4fcf0f070468d1ac5ead5abd9bd3b9b5b6f1d5ea7d9c7344de3934ffec7c68d1bb9e59661b469d3060083dab0d483e2623b5f6ed942d8db2b883a768c584541371830a92a1e4dc3a92828804fd7c97538302425d1f3e1890daa0ba0b0b00045515054950e89893c70fffdbcb12693e79e994adbabbb41591e9acb87c955ca90874640a8993f4f7f9e3bef1c8139c044495919baa6a1eb3a090909f5aa5bd7fd17ba01ca9c5e82cc2aed626c1ccab3f3c97727b8aebb4e52eb102c012a4e8f8f4dbb8ac83e54c20d574412131e804f075551ce4b1f68ac8ae47c55556b0c8a2a2e92bfffc1fbdc76db6d34f4e4ff82e7b8986313c8fbfe20adae4ec477ec28d11d6238fac61f0968dd9ea0c4e47a97d75065fb7791bff48fb4e912855e56866ab551f8d5613a8e4d6c70994655c1ebd3f0f8743c5e1dafeeefae33d430a44bd71bbed6a60e687a5d02979a0393fa062eee23dbd9ebb531a04fdc9980c4d49a6bae0c277dd3768eba076139f20d3f7a6c0ce8d3aa8ae98b5d1cfadf62fefadac77c77a01087219800179852eadeeb638cee4814251c2bf1d6a93d5d93c7705faf0d2cf8cd3dec1c3282bbeeba831bba46d46b6555adf4473667b9491a521e8c547be87d9cccfe8193960e5cdb365042112184102daab4b4148fc747596267345565c4ebefe0032c1d3ae176bbf96ed9eb24df3d166370386eb79be5bdda938c42344a953d2e00c9c9c93cfae8a3ac59f32efff8c73fb8f3cebb484c6c57e5be00c5c5c5ac58b10287c3c1c48913898d3dd3ebd190d40380d8d8586e1d3e9cc26bafc5bd6913798bff85c9ebc5e1f3a1e93aeef284fcfd6565d8dbb4a1e7d34f37686d9a0af1f1f1a74fcef30af279e9a53ff1e28bb379f6a5055c97d29148b3196f591996a2628abdd96cdcb11fa54d379e7fe6194c2613e1e5d7ad1bb4668da2e3d3a04d5420095101785d0e4ed8bd38dc3edc5e1dafcf3f5caca8c4c3ce8325ec385082c1a872f0b88bdd874bb9aa138487989a3c70b9d0c9f9177c1d978098b6c48e7d9a82376612d73d0edff1e3b4ea1acb81d98fd2e98565986cd1f52eb3be3c270a3930fb51da74b2a19c2ac61066e5f037076933e94f04c4363cbfc5166ca2c4ed4555151c1e2f16a381ef0f9770457c6895fb97b97d143b7c44041a310734fda404cdd5e352b7caabafd3f3e31bfc6ec65ba8c3a730f377dd88d473c978e6f7acaf47f18a6a4445c757d7cfbea52363e6ad22f5cbfff2d6bf97f2fcaf5ee7ad0716f0b7f15d09aafdd9808ef3f06ef23c25e4ad5dcaceca9bb665b034ef4646fd3cde9f07e33b41cede5202133b13298bce0821846861656565b83d3e0c5dba7224eb5bbe5dfc2a57feea61223a77c5ed7673d79a4c72377fcec99d3b70bbdd44a810ecf52fa750d374c8c1c1c18c1e3d8aafbffe9a65cbfecdb469d3aa3d377cedb5d769d72e819b6fbeb9d143c4ce151112c2ceefb2b078bd98551515fff8054dd7d9555282b3674fae9c3e0d4b44e346bc288a723ab97ed7eedd7cf8e97a5e983103057871f66c66cd7a1683d188cfebe5c927a7f3c813cf63ad62cd98864c48a02a0a0e8f8fde49e1c4460470a0c0c1a759c731a80a23535bd336da82021c3aee60f3ee22125b85d0bb4b243b0fd8f960fb71428302e8dfcdd6a481cb4f2f39bf81b38a855d3d90d21f4772e2eb5544c45ad0ca8a896d6b61ef8bff47e717d2519af8035d99eef5b077f6ff11d3c682a1a40402cc14ee3d4ec8f56309bbb27fa3ca361a141222ccb8bd3e5c6e8db611812cffb2907691815883ce3e844e8fc677074b4155280df69160336332d6ef836c3205d4b8fdccac62350726751d67a86b1a3a10d0ba17ed8dabf9665b1e9eeefea159788eb0e59b224ced7bd22a00025af5205e5dcdd75b8fe2e97ef650b1b2dced1c2499b409c3e96b53c1174c6215b15d457db5a94b7b00508348b8f66e7edb6f2843e6decf6fde799b5df73ecb558a89603338edce1ad67151b0245ecf8818ef9936f94ef2dd87ebc9ef782337763fd3dbe3b31fe450999936edc3ebd5a32384104234079bcdc6779dba6059f9165b57afa093c5c8f6ffad034565fdea1528804d55b9daa2f2f1959db12a3a1e15b23a2563b3d96a2dbf6ddbb6e52348aa1e63a0691aa5a52574eddab5daa0c5d3c093d953b9b964cffe13017bf712503e442c405529f278386430103b7a143dc78c416da2734b4551d0348d41d70de08b4d9bb8fbfefbf8f90d3790b16a15313131848686525858c8ceef77620d0bc3ebf536c9acadbaaea0a06032aab48b09c26c32e070fbe8d2269828ab19af4fc3a4aab4b105921c1fccc9521f79275dc44586d03a32a8fc5cb0e9c7805cf0e4fc965ac7a5d5c85fb3e7876f3975ec4742cd1a664527d47d90c3affd85b6137ed7e0726b73f8b53984ba0f63f129289a8f92e30edcd6ae24dcf3eb2629ff173d6ca46fc82732d88cbdcc4b6274084faddc478f3641a42687131362e2d009173b8f9662540d984d0a464521d8e2253634a0c1c3c6aad26443c50c21448540e1968ff9f2403ca909d73261446b1e5e349d3f9a27727347c859fb0fd20fb561f4d3fdb02aa0d8faf3cbe1d13cbe782a33b4871896128db1a480d28441a4b6e9461c6ff166fa7f89189244849acfe1b21aea6b5d73f3d4f0dadbe339ba9ed55f42c7a458023d796cfbf11484441162008cad494934b27aed22deee762749147022ea3a86743cc9679567150b08c15a3956f47931ab600c0cc31a6c2aff39d0711d3fc2292582abc3a5bb45082144cb9b32650a7380381ff43cb21bdde5254151b058557c65fecb71068b86cbeea39daea31b75b6b7eec2d141439832654aade57ff3cd7652527a54db93a0aa2a7dfa5cc3a64d9b484a4aaaba90067405e4ad5f4feefc7f10545282a228b8348de213a728d89b4799db03c0d14fbf65fb63cfd6584e785c2c57fde505e286de58a77a555545d334a64d7d821766fd910fd6bd87d7e3a55bd7ae94391c444545e1f17ad074bd89979af0f7f678bc3a91a12652bbd9301954341d7c9a86dba711136ea677c7703236e5f155f671ac21819438bd4d9a945fa12592f31b97e3d298374351e9306d0e394f8c26c8568aea3c45843590fd1f2dc73b7202466bed117e7d798a8e73eae3b768df2502adb814b7d1ccb19210925ff80b4a13cc230ed0bd4d081da28a2828f6a1eb0a05452e7ab78fa0a8cccd3b5b0ad1749da8100b416685534e375121464a5cfe0f5b537fa6aa5bc7a5bafdaa656ccd4d13efe2d35919cc7b6710d74ced418f87ffce9f825e66fe9267f8a81442125319f7d254eeef5e9ed3a18470d5e30b78317c2eafac7c9127d335b0b461d0d4ab18f48b07f8c3e4e3fce9b539fc76b53f4a375b5bd323a17cf6ad73eb7bac96843f25a8d6f6788fefe67fafbdc55f8f79002311490399f4fbfbe914006063d0d427d83ae3efbcf2cc17608aa6cfaf7a30b8636d47b82a3e4a8f9580a51d2112b7082184b8084446469e0e5ef8482379ef0f181405f7491faa41f1a71c9cd0d1f0e74aec4ae84adee05f3065ca94b3d664a98aa6697cfbedb7dc73cf3d80ff9ce2f3cf3f67e3c68dc4c7c773c71d23080e0ea26fdf6bf8cb5fbea0b0b090e8e886a705689a46e9815c0e2f5d4af1e79fa303c70d0634ab15537c3c4796ada567fffeb4e9503eb98ec944609f5eb8f7ecc35770accac70eefddc7178f3fc9883a062e7066b8d78c679e06e0c107c771f0d0a1d33d3226a30955551bbc6ecbb91405340d3c5e0d8f47c360540830aa787dfe4525351d7c5e1d93012c012a11c146dc5e1d235edad802880b37e3726b180c4d7bb279a193f3eb1a7b54d512d3c3bf1eef9efda7971b547105c7fe3dfcf8dbd124b63763442777df29e2ffb492c0f6d544e48da96b5f36079fbc8784f6c1783db07faf838e73de2430b169eb72b835fefcc1013c5e05a3a252e2f012126824c86c4455144a5d1e5c1e0d5b6800e1c10aeda32c0ce81c5e6312ffb99c8e32bef9fa2b7a5e7915b171e77749d8ed76d2d397f0f8e38fd55ad6bc797f65dcb807ab1c8729841042884bc3f1e3c79933670e911fac23695716860003ba867f657523f85c3ef6744de1d890a1750a5a00b2b3b379efbdf779ecb14771381cac5cb99283070f72edb5d7f2dd7759fe3c887beea155ab56ac59b3065555b9e5965bce2ac3e3f1b06e4d06bf18762b1e77cdebb9941d3dcaf1cd9b292928400909c1640d2728269ae0d85802a3a258d1ba3bfda35be32df40729b14fff1fad9e9f4eee344144cd0000200049444154b8c738b1e4ad2a1f334647b1b1f00863ecfbeb753c755d47d3340e1f3ecc238f4c42d3350203833875aa0493d1c0abff7c9536ad6b1936524733de3ec833f774c6166a02bc807f7db8b368baff8c5d57395956317c4ba1cce9a14d849122a7ca8ca5bb796174c316df3c97a2a8bcb37265bd93f36fb8fefa06f7b84cfbdd5416bcb2f84ec0019495df4a2bfded009c4d9ae35259606227e2a7fe891f5f9c8ad1e724f0da610426766a74b955d79584b1d78dfcf8c55abc8a99c427ffd2e4410b406080cab49b13f9f30707c82f72610b0a4055154a5dfef19baaa26030c2b1530e925b5949ed64ad57d052c16050d16ac84e77381cbcf0c2ac5acb69da6e4c218410425c8c2af7bcecbefa9a2af7898a8aaa73d00270e8d061e2e3db72e4c811de7aeb2dc2c32378e49147080f0f273535958f3efa88c58b1773d34d37d3b163473efdf4b3f3ca30a86a9da7580d6ad58aa03beea8719fd2f2a025f1ef7f24f6917180ff54df55cd63aec2ea9737a889a228a7cf85fff087e7d9feedb70cbee106323ff9849e575c81d684b91f21e1b1fc702c80680ff87c26ff82939c390fd7cbffa3eb800226a3d11fc3e8e0d303d8570ab9791e0c6ad365e7ffe492f31b93e35299b5dff55cf1ce97784b4e610a6ffa2162a7290a1da6bf84a7e8498c21a128c6e61bcb136054481b96c8b6fda778f79b428e9e74f85703d22026cc48e79860aeeb125eaf4527cfa52a2a7a35d3211b8d46c68c198dcfe7abf14daed82ec18b10420871e98b8c8ce485175e68b2f27af5eac9ebafbfc18f3ffe48bf7efd484d4d3d3d64c864323174e85092939379efbdf770381cdc70c30de795a11a0c75bb625f47aef261481123867178deabb499fc6b3ce58f57f55863252424909090707a31ce071f78a0d1659e2bd66c67e35727f0faeab68864e5c5b3151d54a309b3416340725893b6cbebf5f823c00be482afe3521dc5686adea0a5920b550f40efc4507a5735655633339bcd444545e1ad43546b341a319bcd17a05542082184b894d86c36264f7ebcc67d3a74e8c0a449936adca729976670960723eb5bf700280f52749ce8553ed65867728af5d3532683bf47a6a992e21f18d8fccb85fc14b4c874c8a2f9198d46e94511420821c465a7aa60a4aa20a5a902978ae0e4dc7bd1f41a17b818257069298aa2a0aa2a4ea7aba59b2284104208d16079478ff827086aa2f48bb22a0a7257f178558f898b5b5d638f66cd7111f5673018896ddd9addbbbec71268212eae35aabc1fcdc6e3f1b47413846830b75b2e70889f26cda7a169176e713b71e1391c0ebedeba991e575cd924efb51185e22a969376a09ff778e5c74ccdb038a3687a8dcc7191a1482dc56832d1ba4d5b020383d8fdc34eb66cdad8a4e3437f4a6a9b3b5c5cba024c01b5ef242e390693fcdb733952555586a85f92147a5c7125d1b1b1789be022616c48087b4a8acf1a02f6a272fe720f951fb3a090d4aa55a3eb16cdafaeb187e4b85c841414a2a363888d8dabf334824208218410f5d64c23aa74fc6ba13445d002d07bd92b943e3499a2fc823a3f273c3686ab5f69dcba84e2c290e4fc9f389fcf87af09e7091742082184f8a90a1ef83386666f69e966886652d7d843adea41c971114208218410425c08758d3daa0c5ca4c7450821841042087121347a3ae4acacac266d90104208218410429cab51d3211b0c06ba76ebdea40d1242082184104288737dbd6d739df6ab66a8984c4929841042082184687e758d3d24395f082184104208d16224395f08218410420871d16bd474c812b8082184104208212e04095c8410420821841017bdc62d4059c729c984104208218410a231ea1a7b488f8b104208218410a2c53472a8984c872c841042082184687e8d9a0e59082184104208212e26d2b572992a2b2be3d34f3f45d7f5966eca2541d7756ebcf146cc66734b374508218410e2922481cb65ea830f3e60f4e8d12ddd8c4bcaaa55abb8f9e69b5bba1942082184109724095c2e532693497a5b9a98cfe76be92608218410425cb22470b98c699a86a228e8ba2ef74d742f84104208219a8724e75fa6344d93fb66b8174208218410cde322ea71b1b375d96ce62dcf829818ac160b98adf4484de2e08604a6cd198cf542b7286b2dcb163ec753cb732069342fcf98c888612917bc1dcdc5e7f3a128cae99e17b96ffcbd1042082184681e1747e0e2cc66c1c821cc661a2b96cea2cfe9c8209fb5536ee5b91d8ff3385cf080c19a328c87a715b07cf95478701ae386255ce016349fca3d052d7db27fa9dc0b2184104288e673110c1573b2f5b9913cb5ad3773163d5c2968018865d8ac37989164c7de52cdab98ded6d2520d683e9aa6a1eb7a8df7799fff83c9c3fad02e2e82f0f070da5d7327d3dfd985a362bf03ffa04fec8dacccabb99c16b92ffb9247daf9db1d1171f6fd154f7e47d9fef95c17f773961ed5d077ff853eb1c35859d4f0faaacc7171667297cd46e2d80cf2cfda6067edf056f44ccbc259ef77ce49d6dce124db6cd86cc359f6f50206b41ac2b27c207b2e7d5b0d27a329bf30b90be8db6a0819f9b5ef2a84104208d15c5a3e70c95fc7730b0f621efc308363abd86ee9cc9889a9677a5b9cd92c4b9bc4a42953183f7c0043c6a7b3d50e60676bfa787ada6cd87a4e2223db59be7b0653fa2673d782adfee0c7be95f4b4294c1a3f9c013dfb327c6626f938c9dfba8cb4b17de93b7e2d9933879068ebc9940de79ffdd9b7663073ec007a8ecf243b7326c37bb6c2d66a0053d6e6e3cccd60ca90446cb6560c9892591e6c39c9cd98c2d8b153489b741703fa0e6766e5729dd92c9b329e2973e732657822369b0d5bcf010c4fdbea3fa1adb2bd7ed90b8690983c9ecc069ca4569c68d7743bb06c2c7d6f9d47c10dcfb062f34e767eb39e450f5a593b612063971d28df0fa0f6b25ae6063a70f59fd7b373e7ceb36e1f3cd30373f4505ef8e733f40f3b137434b6ceea14af9bc48465b9f57fa3aae2cc21237d23312f7cca0f3f2c654cb761cc5a3483d44b650ca31042082144155a3c7071eec8601b903438a9daa160d69414fc314d3e6b278c64798f69cc9f3387c52b1671c7c1346e1d9b4e2e56fa8c9bcffc3bc2c092448fcefe2e124b421209bd6730e7e13e58c965d994e5c43c3e87f98bdfe5c3a5432998379209cb0ac062c5999543ce8ee564f57e9c69a35349b29ebb98a013ac31b8b27670704706ebec2358f4d9a7bcdc3f87259326909601a3dff896ed8b0693bb248df46c203f830993324998368b59f397f272ff1ce6a565905b5ede86b491cc764d64d6e4c9cc59ba983bc22066f0cbac98d5074bb5edf5872e96d878121262096bc09a87b5f620147d4c5ada3a12fef03eaf3d763357c7c710ddb63b37fcfa6fbcf5871b706dcde268454f037636cc1b4bdfd6914446b667e0f87f93edf09753b4612e6307b627323292c8f67d193b77c3e9e79dfcfc2f676ffbcbe7e4e93a9ab69f95536ea557fb4822235bd375e078d2bf739c6edfc92dff62c2c0aee5cf1bc8f8055b28aae6750098a3db121313437474f4997bb38e96b796a71e7a8ecf4f6ae8805e1e80699a46d1d674c657aa63c282ad9c6c488f0b80398c1b46a7b06dea04166457ff9ed837cc65ec80f2e035d17facceebe470663173c870e61d841dcf0d67485a16ce82b5a44d788e2ae26cec5bd3193f20b9bccc018caf08e0abaa7feb82b3f74dafdc1b54fe1eb7b261b3253260fc32caaf0dd4d0ee5c32a60ca767a20d9bad15c903c6939e55a9c4eada96bb800189c3499b72177d7b2693d82a9101e3d34fd72784104288cb538b072ef6fc025c80c55a87cbc5d90b49cbb432627079ae89a53363a60dc5bc713673b73a010bbd278f213e279de5e52748ceac0c72870e260170662d64deb602362e9fcbdcb97359986127a97f6fcc0576ac29a9a42680397e1ce3860de3e1f9f37938e5dcf16116ac9d53e89f00e6a4d14c1c9142acb53323c6f5069795611347d027d64ac2e0d1a4904b5681132c490c1d3182a109e58194d50af65cec4ec09945c6ba83587bc7fa47a2597b30ac3314e4f88f49f5ed2dc009248c58cc671fcea24f0386b1559c6457ce75a97c5ff6dd723616f7e0fe9bda9eb33d80a45fbfceaa976e2216d0341d5c7b58977f33af7e7f909c4ffe40cc27bf65eada3cc85dc2dd77cfc335ea2d720a0ad8b3fad7b0f06e1e7825076dffbfb8e79ebfe2bce74df6141692b3fa57f0ea3ddcbf6037f6cca779e2934ebcf4452105055ff1eacf76f0d413fe604fcb5bc9afee799adcdb5f61c7c1427256df4ff19fee61c2cabc2a5f47452851ddeb3cb3bdbcc745d3207f1513ee7e8a83b7bfca8edc02f6ac7e80a23fddcdaf56e5575b4ecd392e16121e5cc4fcc1d93c35612e59559d80e7a63372e45c9ca357b0efc409f6bd3b11168ee4be73231d4b0acf7ef82e13e3cdf45fba8b6f17a7563f8a313f83f123d3383862113f1c39c1be77c7619f3d92f1558df9cacf60fcc8d9d847bfe1af7fe96072d2c692b6b5bcb1ae1cd6e50f65d1ae23ecfb741631995399ba2ebfc676db33d3989299c49c2f4f70e2c47616a5ee206d6a79d05e4bdb5cc51bc9b44ee6c36f77b17fd7629236a6f9eb13420821c465abc593f32de5bd1a4ebb93dad2eff3b76de4a0cb4a4ca533356b8fc1746615db7614409f042c290f322e69210bd3b39836a733db56d91936cddf5fe3cac922d73a828993c7717e9abd1d3360b69aa9b903c38ce59c1dcc1633e6ca990a667f035d00d63e4c9e9f42f6da05ccdc58802bd75eb1858ac4197b8e1d7fd865c16c86b08418ccb5b6b7712af748541e265571ef7416504c34f1d1fa9993fa2af6f39ff977e2574fdc43f750a0fb4ddcdfe3b73cb3a388dd054bd8d1e9b76c78e82ac2741dbadfcf73bf5d42eaab6bf9545feddff6abab09d534e8fe00cf3df11aa9afaee3c09fc2301fdcc89bcb571270f30d5cfdfc46ffc9aea6919ff90a1badf7b3eea19f111d50febc475f65f02b99e4dd3e8a98caed2b6ff7170f7422a6f28beffe141b3e798c24adbc9f45d7ce7a4d79990bf9c27a3feb1eba9668b3bfddcf3ffa0a831766927fdb2862aa3a0ed416bcc43062fe7cd6f6bd8f09b3fbf3e9b39dcfda9abb369daca4697cf9701fffb720651cb3a6a5d377e13ab21fee4ce72acbac597ee642365ac7f1e1c454622de5654e5ec8c08599e48f1843e59199f91bd3fdfb8e2baf3f751a2b3e1c812bc182bf1b248989d3c69062055286312e652a69597672f2ab6f77eecb562c0737b26c7906e6a183e93deb4b8ed6a56d8b00730f1e1c573e44d4da9b1149f05c961d4654359e5408218410978316ef71b1260d2609c8dd90537b92b2cb09d829a83cd6c562c50c582a92e8e9cc88893d28c858c8c6dc0d643082fee5f1901317aedc4c72ce192b63cf6fc63128ce6c968d1fc27305a94c9bf52c13fb573a85b624316e620f0ad62ef75f85b7679159d09bc98fa760b900edad295723202c9e68ec14d8abd8eec827bfa8fc6f743087111f56b13d800033e02ca630a700623a125de9b9d19de231db7793bbabba6d7b705e359be50bafc7f9de0b8c4eed4cbb1e37f3d8922c1cba4e514e21ae83ff6470bb586263fdb7d417f6e02ace21df5175ce49f7e7d6b275ebd633b7e5f7d3a9a2edfe03c1e9515e0da8a3b6fc96d3acc398b36834ce7913483b6b5c9793fc9c0288e97c568015939480d99ee3ef9d6b007b4e3eae830b19d8dae61f8e65b3d1efb91c5cf61c0ace29d39e5b00b149952e0a58884d4921a1e25a82d97ae6ef8ae0dd554c410ded76f67e99158b06e35a379391fddad33a790893ca879fd5d8365779fde75c207096df8410420871796af1c085cea399768399e275b3c9a83277d949f6dab5643bc1dabb3731e4b036ab7272bb1d973989a1bdcf5c894d183a99feae75cc4c5b8ef58edea787d258e37b1053bc8e99cbb2cf9c00d93349cf6ca2a4e92ad833d3989a99c4c4d129550ce9b190326e16137be7b37cf65c16a46fa3f7df5730b93c3fa739db5b5b8e8bb9e3ddfc2cec6b5e7b2ff7bcedd9af8de68a3ebf664359458ecbd9e5f93b624c44760c83821cf22b3dbf20e720aeb0ceb4ed6c85821c0a2a3d2f3ffb202e6b4702f2b3b1779ccabffefb25fbf77dcbbb53a3796fdaef78f3804658a768cc1dd3f8ece8518e1c39c2d1a34739f2c3976c5939956e0155bc1e20ac6d07dab66d4b9b366dfcf751a1e5dbcff494540461baae13da311a73a7343eab28ffc8118eeedac297ef4ca1bbb9e6e3561b6beacb2c9a084b26a491693fd3f3169b6485826c0a2aed5b90938bcb9a84b58133da5993623127cd60f389139ca8b8eddbcef635d3387714a435c10af995031a2759e933595055e2cc6966626a68b7a520077bd234967ef82d478ffcc007d362583b752acb736b695b0372b68410420871e96bf9c0855846cc5fcae8988dfc66e42496550e4ac8676bfa6c36c6a4d2d9029694c94ceb0f9fcc4e3f9d27909bb91cfbe0198cae3c962676301307c38eac2446543a43b3f499c8c41eb0e3a981dc3a692ee90b66327eec321206fb9fec025c2ecee62a6fcfe9133a174e17f8ff5369b7b3fea73cbfa6bc4057f14696676693bb358385eb72c19e4fceb60d643bedac9d34894c6b2abd5312884d48c05a904556798f4a6dedcd5d36960143d2d8da80cbd0b5e5b868a1fd489b3988efa78d60dcdfdf27eb401e05077790f9d70719f3ec1eae7df2497e66392737a4d2f3d175dade743fddf7bccc8cd7777052d3b0ef789d67febc874ef7dc44ea2fc6d27dcfcb3cb3240b3b70326b09335ede43c791bf20fa8b671973e7e3bcb5c7891610454c8c05b3398c3033440dbc8fab0affce8c57b6520094e56532ed96be0cfbb3ff4a7e83735cf433af23e6fafbb8aae0efccf8e757e4691ace82fff1bb61d770cbcbdf53d6a01c97ca2cf499b194c7adeb58b2e3cca309c31e2425673669e9fee361cf4a276d760e49a3873668981840ece007e99d3f97b4055bc9079cf9994c19d28b21b3cf9f8239b6ff44fadbd399b9bcbcfead0b999a96418eb9e62822be8676c76c4863e4f0492ccb76822596d818331673185673fdda26841042080117418e0b00b18399ffe566063ff71c73c7f6e439624948882726a6334327cf60dce9e02381714bd7e09c329509b76ea0479215aca37963d130ce1ef96e65f0c4d10ccd1a7dce95e5ce4c5eb102fba4292c5cfe1cdbe26fe0f1f98b1911eb247bed5cd2b7818bd9cc5e1bc3e4619d216b2d190b97b00360c96c16248c6180652be959e0b2a4939e19cf88f8832c5fb00d5c90be702df1a393c8599e4e162e58b0906d7f9cc6e3bdc732efbe5bc97970162f4f1e46c6d80d64e44c6368aa1957ef5872e7ce64ea92e24ac14f120faef99039a9d5b5d7bf97b3a0809c5c33c52eeabdce4c6d392e006d462ee283d039fc71ce3486cf2ac40584751cc4c8f91ff0e46d6dfdcfaf341db2569e33a2f90b416b339e454b9d3c39fd2eba4d2f86b06efc62d222de78a4033a1d58b4d4c593d3efa2eb9367b62d9dd49128e630ffab29fcfee71df83f97bfceb18be6706b9486ce48162db5f3e4f4f1f4fa7d2110cd9523e7b0e2d9ab0828ef613937c7857366fd3a7bbb8eae69a7878ae9ba8e165551c72fb9f2d9ca755c8959d7cf0439d5dcd7ca92c2b4376690d9efb933337c253ccc1b2b5c4c9d3a9cf6538b21ac0743272f65c5e486862d40ec1896aeb03365ea7d747daa0088a1f7e8bfb366569ff33f2eb12358bc34974915f5c7f466f4cb2b98d5c7023575f0d5d0ee58e6b368db24d206b6e6372e084bba81714be7977f7e6b685bc1b686bf66218410425cb2942a1e33ad7cebdfeeeb7f7ef3056fcce5279f8cb485c44c7bb6d21a1c4ef2372c6452466f96cea961c6a8467af3cd37193e7c38baaea3288adc37c1fd7ffffb5f468d1ad54cef9810420821c4a5e97f1fbdc79df7dc7b27e000caca6fa595fe7600ce8ba3c7e53265cf9ccaecdc717c7ad6646a1662136248488969b6a005ead6e322f70dbb1742082184104d4f02971664cf2d20675d1a5397bdcce3c37a9360067bce3a16a61730e2d9460c11aa833acf8425ea4c8ea71042082144f391c0a505258c7b8335ce349e7b6e24fd7ee302733cfd474c66c6acc9f4a9c37a9c8da5695a8b0fafbad4ee851042082144f390c0a545c592faf0623e7cf8c2d7ec76bb8133c18bdc37fedeebf55ef8375208218410e2322181cb656af0e0c1fce73fffc16030b474532e093e9f8f1b6fbcb1a59b218410420871c992c0e532151f1fcf030f3cd0d2cd104208218410a24e2e82052885104208218410a26612b8082184104208212e7a12b8082184104208212e7a12b8082184104208212e7a12b8082184104208212e7a12b8082184104208212e7a12b8082184104208212e7a12b8082184104208212e7a12b8082184104208212e7a12b8082184104208212e7a12b8082184104208212e7a12b8082184104208212e7ac6966e8068199f7ffe39f9f9f92ddd0c7189bae69a6b48484868e966882620bf15a239c96f8510a23ea4c7e532959f9f4f6c6c6c4b37435c82e444e4d222bf15a2b9c86f8510a2bea4c7e532969f9fcf430f3dd4d2cd10979893274fb67413441393df0ad11ce4b74208515fd2e322841042082184b8e849e07281d9d78e2539793c99f6aa36669131732c7d7b8e25d379c19b268468514ef2b72e23edaebef41cbf01f90910420821ce26814b13c84f1f80cd96cc8021c3193e7c00c9361bb6567d19327c384306f4a495ad156337f84f43cc09fd193c38957873c5b39de4665524be5a8921879c02396511e2a7c14ee694b12ccb6d4c19677e032cb1099093434193b44d082184b8b448e0d204eca4f0c2e6ed7cf6e1bbbcbb623e23e281feb358f3eebb7cf8d9b7ec5a318e18970b004bcac3cc9f3f8ece96f227e72e276d79aeffeaaa358194de312df42a8410f596bf96b94bd6312f3dbbe1659cfe0db0604d48a1b7e42a0b2184105592c0a509c4f69ec898d391c8f9acfd2732fa4c17cb19f6adcc9d90c6b64ac3c6ccd517d33c9cef73934541512adfc2491e349125bb9ab9e767d78b245b06f1665123cad83f975e967e2cc96bb25641d19b0c52ce3f26bd6e7f91f58dada7a6f6ee9f4bb2a51f6f36e56ba98f46d7ef64f3c4b8a66cd1452f3b631de6de61e42c9fc7d6867c5daafa0d68b2d63517fffbac28714cdc5cdb8bce63493f0bc973f7d7735bed8a362f64e2a064c2cbbfa3e1c9837870ee7a5aeaeb739ee6f86d124288cb9c042e4dc09a9282b5a61d2c09f4e96c81fcad64cc1ccb809e63c974dad99ab184cc6c17051b663369525ad5c34dec5b494f9bc2a4f1c319d0b32fc367665231b02c7bc11012abcb97a917330397ffc0d1a34739ba6f1f3f6c5ac283e1ab19d7eb2616ee6f6cd9cd2cee76e6bef92283c29bba602bf7acdae73f2647f7f1c3a685f4dbf524b74f7c9fc6c45917b5b89b98fbe68bf46be8b12c5acf8bab9bfc8db87839b7b27cc750e6fc7d1a3d0a329877de17319fadcba630c066a3675a164e207f433a93fadab00d58402e35fc06b85ce4644c6140a20d5bf270e666550a109cd92c4b9bc4a42953183f7c0043c6a7b3d50ea77364c6f6a5eff8b564ce1c42a2ad275336d89bf0b782d3eff33db75978f3c596f93ee4ad1e45f2b5d3d9d56b3aab7fd8c7d17d3fb07a7a3ff6bf783dc9372d617f0bb4e93ccdf6db248410972f095c2e20a7c54a8c2b871d054ec04a9f71b318d719c252a7317ffe2cc69c3744249765539613f3f81ce62f7e970f970ea560de48262cab180f1f4f42422c614d7089363c2e91b8b838e2121349ee773bd3df5ccf1f133f65faf4f5a793848b362f6454af387f0f44782f46cddd4c1145bc7f7b38710f9ed90fe76626268673d3eaa21a9e77bea2f52f727baff0f2fd92b9fdc5f2aba7fbe7d22bbc170f3e3888e4e45e24272673d3e4d5fe6d79ab993c6a3aeb8b2af61bc4e48937919c1847b8259c5ea31652d17194f7fe746e4ab4a0280a71832632f9a63892276faf2609da82252ece7f4ce212494e4e2639dc4a786238fe4e3127fbdf9ccca0e4f033bd54a3e6b2dd5971ace69efd9a175655cf7ede1c1587a55779fbfdcfe4fddf0f22d1a2a058121954f13a6b3d3ed5bfeeba1e7ff2de67f2a8e96c2e2a6fdbc44124862b288a85b85ea358b8bde6abeb79ab5f647df88335ee7329b16f5c05a34790d079ccffb377ff714ed577a2ff5f61c01cdbca1ca865425b20d622710b4bbc8b255d584da5aba9ae1aa92ec1a5d7b0e87a2cdd72b43f48e9bd1a7b7735ecfd6ac36ef99aeeea9d746b21560ba9bb40ea766aecc23516b6c68e5d02b4258cdbe50cdd2d27b6eb9c549873ff486626f32b33030313c7f7f3f1c86360cec9e7f3399f73cefb9cf7399f73868dd7c0ee2dbbe8ff671a5bb8f2769dd50b6b7eb37c35da8a39d5ff0d1f03caeddb6873aee5e9975ee0fe59fbd8fc601b959ca3935d77dec6f6851bd9fae8a33cf1f4e3dcf2da266e5ad34a0780d28cd57e8423af6ea77dc90636ae5ecefc66e7b8c68a9ef51c8de9b8333152c581d3f5ea7ea6e00e446bb6ede1a695c98654d440ba66bb2c10f3a8f887bafd6766d1c34fe17a3847261ec6ef71e3727bf0876364738fe1c96a682983badb70318ed755b3cfa82efc9134997808afc785aab8f0e999eabe57675fafb7efd5c626218410e3421297f34869be8c45cb46ff0c8bd59e60cb8113ecdb1e271e8f93d85162feb225384f9cc002e6ae7c821f3cf710579e8be1658a87607801a55cba7a104e110ae81443298e77d99ccc6a98d100a194855f0f402641cfa8112b9f206d06d0fd6a9def0d3821292608046258e10c276d9b93591de20182f142a5ccd22be4d428b9429e423e8937132638c4ed20abf402193542ae68601a293c591d2d6d40314130984489e639697791d54cd2dfedacf3e6a64ebefe910bfb868acdb8827bcd30c9a8af92b8141304c3693cf102b66dd375348127736fe584c948110a4431c3e9cab2a40314f4207aedb01aab482ae4472b86c9666baeca960f9131c2640c9b93b9086a325459ce11fb6798e51e6dff0f606674b48c8744c1c6b68ba4fc79742d55e74a7691543c8f2712ae5beee4d1495bdb42562f578066566c5ccb9c035bd83ec4a32e67b27b3a17ad45bb61112d2d8bb87ec51ccaaf1da9244587136c6a6b66e58a6a86a35cc6ed1bafc7b96f33f1fdd0b26839cbe78273ce5ad6de7003f76cddca3d8b94718c157debd9e30911f11588c56b92f2629c6028851acdd3651b6442269943e511a639f1e941946ca2ef24bf902469f8d00383871e5a852499d252f4b06770dfba4344fc904de63836c2366c75be40468d922b1a18992085cdb7a015c2640a06463e8295d04916a8bfaf5367df13420831ee247139cfc6f20c4bf9483b1dcd2bd0741d5dd7d11f789427ffe1399ed1179dd1c9d058a92e154c130b303271b2aa4642cd2cecda0000200049444154f7e35240f56ac4232eb2f10ca64f27a86448644dc02217cf4050c3afd6ff5eeda1bd984e90f74449e83e54aaf3453de413690a00cea544227e5400d5871ea94c2b0e6cb473319ad6375fc80346dea4988e93f74489873da828784271624beb5d7e6ee6e6ed2f73f0e0410e1e3cc88b7b5ab95bd9422098a8d4e90e932ee488075c601918a6824b05d33031b209b2aa464cab2e8b3f4a269726e2a9aeb5b2415af3b33aeb2795193034cbb998683c8c47adf4412ce2269fc8b077c4fe197ab947dbff03298a8a722c4b3299225b50f0c50b58b930ee61e6b7f271e2453fd1e0dbe41997c33bd8d6be9bcdebd6b16edd3ad6270ea3388f9048ec1f9fd718d76c9aca2c05ac12650b3a0fece3b57233b36a0240f3c2155cc6090ebc7aa2f7abce66e7397956a6ff7a76118806b092b1de84a3984e92f74488853d28a878c231a28b9d234e53bc3a21579678c6002cf28914865f1f72989565142939555c430ec15270b955ca868135d236ec5c8c56dd47154f008f731e41cd8f0b50dc5e3c8a49c1b4eaeeeb7de50cdef78410428c3f495c1a98459972471b47068c4b2f759e9fd7259b05035c2e54a5f2eff2b12d5c7161df03eb977ff11065b38081172da89249e430cd2c89ac4248afdc99a8fbbd72df921a05035c1e6a4f7b5d1e378a59c02c83a2ba70d79ca8a82e05cc22669901145c03b23a8b32c7f226b8dc35e5abb8dc439ef9f496a3ba3d9521621e0fbe409878e26ed417e2a40a8065928f87f1aa0e14978fa09ea0503d57318bd56551faca7279bd35ed3f46a6e86681992139601c89a2b870d77482cbe302f3a7fcfc27f5fb67e8e586ce7afd5f673352fc0932db0358e90881cb6770a1cb4778c8e16e959a72f124c74adfe1e333cef7db252682c5feddafa13ff9244f3cf144f5f30c4fdfbf90133bb6b06f3c9e2319a4baa1972da0c489da3a94669c80e23cd78ff5f75fcf8aa2e0fae85374969e2296ae241c66d104d54ddf9ee5c2ed525028d79906285eb4909b5c228b61e549a42d02ba9fa1f6504575d15c363186cc0d2a6d70ba5cb48cb80d0fdc672acb54f3df6a91c3efeb439753d9f7e4a5f6420831fe24716960cd731632ebf5dd3cb8ed70df41b0d4466bdb59fdd188d1b10aa4d3c768f1077103aac78573c1c31cb46dec9ecfc9a31ccd46f12a0a5e4dc3958d934e27c8a821346fe5485ef77bbde7590a2e8f0a46a1df5d00a350c4523da84eb04c8362cdc942316f4075dac89ca81e158c624df926c6d0673ec3532a27598a02462a4428a910cd77619945f2d9042177a531aabbba2c7d0ffd904f448867fbaed0c63319323137694d2353d30ccbea7f4266164d702de4f20fd5ef9fe134d75d6fc37fcf2a16303d51d2b92256d7715e8cba48dfa3912c0e31b399219656b863cf518e1f1f6a8649a6b48fed27ae67c9803772ccbd612d0b5fdf4d7c57ed932e4e9c0a94ad01a7b18312eed1695eb284591c61577b4de66295283be773fd9296332b74b406ace762b148f1f8519edf308f1762710a28bdfb59df266c62981656cd3e38785a85271cc69d4f90c926c9580174dfd01ba8e2d50834bf443c59189c1c14d3c4b2e00ffb50c6b20dd7516f5f174208717e49e2722e9481b235e4b949d9a2df494bf37478fdc8114e74eca7edb0d56fba72a586b6105efdd2d5dcb43e4eeb630fb26ecd36e6aeb80c808e6d6bb8eada4d67f61ad6014ca3886118184691422e4d2c14e08bc675c422953b27ae8086cf88a1c77318806564d07c97e08b56af607a4268ee2cba9ec1ad6978aae58ef8bd2a7750c35b88a227f29880994fa0470b78c2c14a59e59788465214adeab458119f1e1c76e8d2400b423ade429448b2808945211521f242bdb3470bcb30aa7d6250cca7896a098e2d0e137083655a9415155555008b423242f4953296092ebf8edf4c10495697251747d353147aafe656aeecbab52451579a70ed9bcaca2f114f56fbc6c8108b17f1eb01ae1ca97f8651bfff2d0ad934992186b598599d803f5c7925b6e2c2e552509c2aea10e792c5548cac1a42f7575ef030d91ddef618a515430cd79cbb8c95f361df9604877b37ee66e6ce99ce89b6edb4b51f66ff8ecdc4f79e80ce031c68af3c63352806c0b0898db24867e332f8fee6567a5e34d6d1b69dd28afb595d090b95f033e0fbe3112b06aee79e1757f8759dc58792c4b216eea05ed9de12794c2c8aa908d1972a8da9370da8c6901c513d0d416df8c45af5134facc2f8a28f4024557db6a4483e1d23e85b4bce172711728d691baea7debe2e8410e2fc92c4653c75ee67476b9c1d2780035bd8bcadade60406ac8e365a5bdb81033c9668a3c36a66e13dab99dffe596edcf42ab31cfbfaa6b7b6d1615d86fef4d36cb86616eddbbfcc6713edccddf8282bab1756ad132738d2d1c9eb6778f5b64f9917565fceecd9b3993dfb122ef76ba4ac20dbf369c2eeea2cae30e94c14351964b6c3c185b3c3e47dad64e3d587d57113d2bd944a5eb4a0bbafe811bf57e5d649672210f733c3e160863f017a9a4ca4e7b47c1e3e2b8eef420733fc7194488674780c27c96e8d742a8411f532c37121fe04f817d07b1765b0124fdd7249b54f6673c91561d2aac6ce74040fe00e2778d89b2538c381e2f2a0657dc4ee9887592860ba42a4d211949e6509a6f12432c4075e41563ce8c928ea5361b4ea6d17a57931debc86d7e3c6e5d531b40ca9906b14fd338cbafd5f24addd423831f8cab52b9c241532897a2b2f28f0464cc2e924a1415d5e20157f0957288c678c27846f3d25f66f5bcf27bff47df6b5b6b2ab76e7c6e2f0aeedb4750047b6f0c9f58fd1d661010a4b363ec0f524f9e4b59f2461ad445b3e9f398b9a2995ca406d0c7899d3ff9aa0f500940f24686d3b4cc7fe1d24b61f81d7da68ddd14e89b9ac7df259fe72fe0eeebce956d6ad5fc783afaee61b8fdf400b168777c52bdf6fdbcce65d87e9b92f331eb162d8f5ec0ea12fed24154d63b8c2a4d37a753bbd105f4221b8b4b9b28fd59b56298890eee5d82185a0e6adfb1c9f2b9422ff620c4f3e4ad0339b19b32fc11fc9a046f650c868b819cb365c5fdd7d7d6c45092184384b8e217e37eddb4f7df3b71ffdc38f9ff7c688f3e799679e01e0aebbee9ae0968c42318ec793225acc8df9a4a39791236bb8f1795dd5132283a4cf4d3c5c20afb9c7ada96f6985181e6f9aa8912374167f7be2e4c993e3d72631e1ce67ac3033413cba8f6c2152f74ea2981c245608217a3cff4f7bf8c4aa3ff904d005bc51fdfc57cdbfbb004beeb888b705cb4811f60589e72a6f3e33325162793721bf7ba29bd6202c8c621e53710d7ad0588873ce32281632c42259dc7a4892162184104392c445bc2d28de28a9988b6460060ec785b8b502fe64065dce900028c4bcccfe781ab716a9fbd0be10e782558811b8fce3245d5112bde35385104288fea64e74038418915ba760e96759888a4f4f5338db6226294fa4801d99e85688b72bc51ba760c727ba194208211a9c242e6f63975e7aa98c3116428c486285104288462043c5dea62ebdf452aeb8e28a896e8610a2c149ac104208d1282471799b92131121c46848ac104208d128247111420821841042343c495c841042082184100d4f121721841042082144c393c445082184104208d1f0247111420821841042343c495c841042082184100d4f121721841042082144c393c445082184104208d1f0247111420821841042343c495c841042082184100d4f121721841042082144c393c445082184104208d1f0a64e7403c4c4f8e77ffe673a3b3b27ba196292faf0873fccdcb97327ba19621c48ac10e792c40a21c458c81d97b7a9cece4e5a5a5a26ba196212921391c9456285385724560821c64aeeb8bc8d75767672d75d774d7433c42473f2e4c9896e821867122bc4b920b14208315672c745082184104208d1f02647e2526a67c7836b58ba780d6dd64437a63fab632fadf7ddc8d2ab1ea4bdc1da268478eb92d8228410e2ed660213178bcebd3b88af713373e64c662fbd915bd7dcca8d572d66f1b5eb88ef1dcbc3a0cdcce208474e34e0d1db398b59a5768e94caa3fc824547bb3c082bc4d9b1e8d8bb8d076ff554e2cb8d9bd8d6d6810594dab771dfe299cc9cb998350f6e634ca1a6918c39b6082184106f6d1398b828b42c5f89b6e10666e164c5234ff3cc93cff00f3ff807364e6fe3cb37ddc4a6d15e466c9ecba225b3ce6d73cf90d272198b968ce1e1c38eed6cda5e39c112429c2985b9cb6f67e3c61595f8a2dfcfed2be6a200cdb39a29355fc3232fbcc4930fdccef2b7e873e7638e2d428cc42a523427ba11420831bc891f2aa6340ff8c55c56ea2b98ce11766d3f32ea1378a732de0d9b00a5fdc4efdcc481d2f9add62a24097b551c0e070e970f2d59e8edf762c25bf97dcdc71b2ff67ed748faf16839ac11cae9ad2b1fc3eb0a921930a1b61c231321e0a996a3b8f1eb697a6a3cb33a2c8a290dbf5bc1e170a0b87c841239e4f8fc76e0ecf783d27e1e5cbf9d255b9f64eda2c91034ce2333857f402c703854bcc11859e32ccb2ec6f12a3e924395538ce3517ca4ceb68e716191092828c1ecb9bdb864648804bdb814473566790946d214cfa4d27a7d5bcbca13f1fa88e487a9c44c57d7ff50651588791c381c5e12c522499f0335941d22c61aa4fc0aaef039ee3f21c4a435f189cb10caa51265a0797e33fd4e2d4afb69dd741febd7ddc8558b9772e3836d0c3bca63d8792d3a76dcc79a35f7b169fdad5cb5f4461edcdb932958b4b7dec7fafb3671df9aab983d73298f759c41dd56073b36ad61ddfafb58bf6e0d9b7676d44e1ca6fe12fb7724693b5ce6c4decdac5fbf896d1df5eb3dfcd8b5b83deb683b9b44c7ca13096ae403698e77757134e923ab05ab072f937cbac8bc0dcf73f4f8718e573f59cd5dfdb2413665e00b7b51ea965359ee425ac7e7fb22af98030f5935e5184942c1244a24c749dbe6643e8a2b750bc1586184b6d6a9a3102710cee04914e8b26d8c7490a21e44cfc9a1f36da5b49f07d76da679e3e3dc335cd232e4fe5662ef83d7327be64c662eddc4ae8eca766375ec60fd6237d73e98e1bbf11b993d7326ee5b5b395c2ab17fdb7a16cf9cc9cca5f7b1a3bdb27fb7b7de8a67f11ab61dae6e77d661b66d5acffafbee63dd8d5771edba56f697002c3af76f63d39aa52c5db78bb607afc53d7331f7ed2d8d185b868b5fe3122b006866d5cea3d5587094832f26f015be4850cbc8858071532016f838092b44227790a3470f924b84b092b7e0d773633fe1770589a762f8d59166b43006c5e6c19cbc44225d1cd0e424c9433dff71138c5c87958e911db85114d3c4726ec2113f46c23f9ad60b21443f0d97b8581d3bd8b4e9fb94176a3cb4b276184407dbeedbceac0d8fb2f5897fe0b927afe7c496dbb873db50e9439d793b7770e7fa36e66e7c8887b63ec923cb8eb065d30e3aa0324c6bc722363efa108f3ef91ccf6af3cfa0ee127b3f7b1bf1591bd9baf551b63ef1102b78bd6ff2b0f53773e5da87587b194c5fbe91ad5b1fe2f6b9f5eb555ae630776e0bd39d433463b4fd9d8f933202c4227e5c8a823b10251e304825f258568174de4229c408fabc78fd21226903a5e79ccfcc912c7a097b95fae560518878f1458a8462ab681978ce585b8e61e00a4589853da880ea091109cda39029609c691d9e0879a34022e046c1c2b20045c52517dcdf3e4eb4b169cd9761e313e8570eb7e287dbdf2c963ff00d1e5906cc5ac292b995ef2bb3e6336bfeed3cb231c075fa56ee5f084acb42e6363773e5ed0ff1e8f54e9cb396b36c5133d0ccfcf997b1e2a147b8fd3205e864d79db7b17de146b63efa284f3cfd38b7bcb6899bd6b4566291d28cd57e8423af6ea77dc90636ae5ecefc66ab7e6c19367e8d4faca89684e272e172b970b9dc783c1e3c6a33aa5bad5e64b228a674fc3d774c1d2a9e509c9e6b0b662e4ec8ebaa4c53bd8412f9214ec48ba4422e146fa4e6c4d72413f5e356faeec2f65cf437b331823d7761550fc158b632ad18c7abfad1b5001eb70b5551f18612147adb92e8df96f899dc851d6e794d3241b5ff9d052b87e65609a4cdfafd6416c9165a084675825e0f6eb7076f30422ab901af55e85beee1fab210c3e3f2a3053d381c2afe47fe0f7aa8da97c5385ed54b38ecc7e3f1e2717b08e8690c0c9281005fef2cf154c04d20591c7a719d2d04ee5e4a21d177171c2cf28934dcbc8a79d5ed4b0d4408a959e299feb7660a893805af8ee601b79619736f0b214483242e65da139b587fa387f77a3751d2bfcbc1e71e6279cd2832ab3dc1960327d8b73d4e3c1e27b1a3c4fc654b709e383178a850bd7995f95cbf7225d7f79c7c343743a983920556a9838e0309e2bb3ab050b87283c6f2e6b1d54dc73636ed70b276e5a2ea817c2e2b6ee93b81a04efd038d54efdc954ff083e71e62d8f3b051300b054c970f77efd53815b7cf85992f601a39729de0f2ea24b339d2510f79dd4fb03a66c3cc25297ac3789511ca41c1ad67310a6974bf8bc1794b5f398a37422aa9e1e9ed8402a98c8127e881b3a84351153052f8d50b99fdd12f6286e2e85ec95cde1eca1cd8bc9ec4be76da8f740e7bc5bafefed6c20dfa2d4cdf976077f52e867564074716ad66be0230971bd62ee1445b92031640337396cca5bcaf95b64e801207765bacec79a0e670824d6dcdac5c51bd38a35cc6ed1bafc7b96f33f1fdd0b26839cbe78273ce5ad6de7003f76cddca3dcd3beac696e1e2178c4faca8e8e4eb1fb9b06fa8d88c2bb8d70c938cfa2a6d2a260886d378e2056cdba6eb68024fe65eb49401468a50208a194e57eea6a6031406def9b48aa4427eb462986cb6e62e41f91019234cc6b039998ba02643041345282608046258e14ca5ccac0ef100c178a1da272f905123e48a06a691c293d5d1d23d6dd12986521cefb23999d530a30142631d8f36ecf25af8f5006412f42c9e954f903603e87eb57e3fa93ef490422a14448b27c9e48a98801a88934e8671c3c87dd9f902597782a3c7f3246f9dd9afc956e915726a945c214f219fc49b09134c58843319ee68696655a64826ec1e76915d410d6f3149aad053609e4446211cf6f6c55dc5871e76918bd72438568e78cac01f095596a126f5114288d16a903f40e96491f6105b67cde788ef4b1c38f03acadafe73948fb4d3d1bc124d5fcb508fa35a639857dfba88c3bb1ee3c17d2728779480ca5b7994456bd9b8ac954f7fd2cb8e25611e7ae4016e5f04a511caabd5b97727af966731b7dfbb026a2e73365f396cfd038db41ce3c1322d50d47e27fa8aaa806562b9750a5d1abdb758dc7192b90c57c4d21443218ac9029e900f1528d62b07505cae4a7d835a6092af29a77fe30a24420112ae1859cd839538d33aaa5c21b26608339f20ec0f1270e7c9473cc3cd2d260d274bee7f9a65899bf8d2a76fe24ee5399e5c39788f1a697f5396e9dc3ee76ae2adedac7e603eeddb8fb024bca8777b9c7b7d98259b36b1fdc0232c5f7284dded4b58367d3bc9dd1ddcbef208bb59c9c66a22d179601faf959b9955b331372f5cc165ece4c0ab27e0ca669c80b3d9d91b3d468a2dc3c5aff1d5cccddbb3c4aa49bf59cc918cac2510f450c86ab8dd61d285102eb70b2c03c35470a950304c8c6c82acaa91d3aafbba3f4a2617c2722b60026583b4e6e73b793f7b0a317cb501c1b998683c8c4705bc1ab1481c6f22c35e2b41de13a5a057cbf46ac4a3093cf13485a002cec5689abf324df511f240246f6258f14a5b747fe5ceab57231e89e38d673042615ca3ed8e3acbab8474824a8044d6c41f50c8c533104c55923175f8ef818740324f3e9d24914aa247d772a8d4cc82ebc244e331421ea57e5f1a008bd1743f6e178303a2732991485f9fe8110ff1789a62d837aa4556d400ba4f27922e108978b0720932aa46c66391ec9b0baf16c1138f932a68443c953b44692b482ad0b3623d80fc014a21c4d834c81d97aacbeee1f147967162fb7a360d188c6d51a6dcd1c6910163b44b9d834f53ebce6b1d66dbba6bf9f289e56c7ce801b465b5670173b9fd995778e1ab612e3b9ce4d3575fc57d7b4b63aabb5cb28032c3bea1b46efd63588e71527be2df5b6f6d12a2f44b1370f95c38cd02a69927997713ae5e121db19ce158fdcbe965a4d17d3e6244c965f4cadd9833ad6300d5ab11d35cbc92cac835bfb78be645dcf3f473fce5b212bbefbc96753b060ff31c717f5316a1690b79ad35ce81ce7676762c63e5653533b6ac405b526657eb013af66de7c4edf773ff0db338d0ba8bfd7b77c1f54be8bd895cb68012276aeb522ac98ae21c7a3cd788b16598f835be1454b7a73244cce3c11708134fdc8dfa42bc7205de32c9c7c378d5ca4b30827a824275fc955934c0e5a919a2a9e0f27a6beea01e235374b3c0cc901cf07084a2b82a27e1552e8f0bcc9ff2f39f54cba4769a1bc52c6096ab750c080e16d05930281fdbc21517f6bd68e0f22f1ea26c1630c6125eeb2c2f8a172da89249e430cd2c89ac4248afde99aaf73d004bc513d489a7b2144c9baee31922ae0cab7d6132e628fad2a9e21ae699164575d5f439a82e05cc22a378bca5a700fcba1f3399246f99e41259dc5a10f7c020ec0e12f11b2412792c4cb2b10c6a58c72737ba851067a1b1121760eedaad3cb2acc4f675f7b1abe698db3c6721b35edfcd83db0ef79db896da686deb185446bd794b6d9bf86cdb7cb4d58b069fec76b4d1d6d1cca2db1fe5b9579e459bff1adb1307708ea5eecb66e1a49d5dc3bc1aac6efd63588ef1a27a3ca846aee66d3526c59c81eaf1402684c7abd3f792190b236780cb8b5a489173857baf8ad62ba7de33a156be7f3995dfc5f07bc2e44369f2690d8f72767598432c876581738c098f788b532ac9cbfd4b4aecbcf35ad6efea9fbc8c667f9bbb52675979375ffef2163a56dc30e0ce4c0bcbd62ea1dcf6651edce664f5b21616692b99f3ea16be9450b86549dfd6d6bc6409b338c2aef69a386195283be773fd92a1dfcf3c526c192e7e9df35750280a4ae507462a4428a910cd77619945f2d9042177251153dd2a18b58981453e1121de93a4381713cf64c8c4dca4358d4ccd89bc65991835ff378b26b81672f987aa65d634c72814b1540f6a9de7799a3d2e9c0b1ee6a06d63f77c4e1ee568364aff11a416f958007fa4e7599c4aece8b99e536f792b771d345cd938e974828c1a42ab165eef7b663a80e20af65b7ec5e5231cd3596ce5c81aa3e8cb3a2cd3e8f7cae362de00d5833a8660a8fa75fc668a642e4b3ce7460b0c1e9e0b2e029100563a41be902696f3a06b5e89b94288b332f1898b55192a552af75c469ccbdaad8fb0acbc933bd76da3e79441b952435b08af7ee96a6e5a1fa7f5b10759b7661b7357542e79962b1723479eb75ca6fcfa3eb6b71da663ff0e12bb3ba0d4c991037b693fb197787c2f2580e625ac5e319fb9f3678d5877ade6653aab67bdcecef5f755de1e641da6adad034eb4d37ea403ab4efd872d689e0eaf1f39c2898efdec6bfed3baf5766c5bc355d76e62ff599c99285e9d909a2112c962581646264a24e322ac7b717903b80a09f4440e130b231b454b5804a301cc541657d8df7ba5b35e39c31fa82c0a03cac14811f447b1226992610f966160180686699d611da0f62c47bc76394cfc7a60f44342c45b53b9547955774f785116a13ffb2c1b16bec6f64f5ecbfa1d7d7f336954fb79cb0af4eb9d1cd87e82ebaf1f3ca0ac6585c6b2f2015e5db49a450a28f357b372ce093ae6df42ed8bcc94453a1b97c1f737b7f6fed5fb8eb6ed9456dccfea6a7565a05c737765a4d86296868e5f303eb1a2c2eadb270d83623e4d544b706c719880bb7207b4aca8a8aa0258149211a2af94b14c70f975fc668248328f4965e890a6a728f4ded555501405b79624ea4a13ae7d5359f925e2c96af2606488c58bf8f500570635bc85287aa25a663e811e2de00907fb9e931b822ba0e13362e8f11c0660191934df25f8a2035f16a0a0aa062f24a22473050ad924f15c194fc08342fde505c013427367d1f50c6eadefd9bd7adf53fd1142ca7708063492993c856281422e45241ce5155790a07b347d5947f925a2911445abda5fb1223e3d881b50b0308ac591ef3a293ef40024359d9c5727304c20557d1142a4894463147d1142ee919b278410f54c60e262d1b97707892d6d9c000e6cdeccb6b6ea95ceb9b7f3f823d7c0f73fcd55d7ae27bee3301697a13ffd341bae9945fbf62ff3d9443b73373ecaca16b03ada686d6d070ef0586b1b1dd6f0f336afd8c8862516db3f7913776e87d5fa0dcc2a1f60c79159cc7196e948dec4d21bd7b169d3261296c6e31b17a1d4a97b1065390f3dfb5556cf6ae3d3be4b587c5b12ebb2b9cc593497d209ab6efd73956616deb39af9ed9fe5c64daf3267eec2baf55a274e70a4a393d7cfe60f672b5e629904de6c90d9175ec8ec50166f224dd4ab802b4c3a13454d0498e1a84cf324b224fd06c9ac4ac8ef1a5d39c36e028501e558e4e311be5b2af3d2173fca25b36733bbe71348639e491dd0b71cc99ae588674987246d99bc2c3af66e6373bc8dd729b36ff3265a7be24be944f51ac76b6cbfd3cbd56b3655efaa8c663f6f6699763b0bafd15831d4fedfbc9c7b56dec2c69eec4359c4eab5d7b37aedc03bac7359fbe4b3fce5fc1ddc79d3adac5bbf8e075f5dcd371ebf81162c0eef8ad37a00ca6d9bd9bceb7025191921b6c070f16b9c620500259ebae592defdf2922bc2a4558d9de9081ec01d4ef0b0374b708603c5e541cbfa88dd31affaf28e10a9740425ee6786c3c18c601a4f22437ce0d821c5839e8ca23e1546abde76509a17e3cd6b783d6e5c5e1d43cb900ab9c0ad93ce44a0a74c7f02f43499919e5deb8d0941663b1c5c383b4cded74a36ee1b7411c41d4ef258a040e4239773f9476398a15692d5d85177792b7310d2bd944a5eb4a0bba6cc3adf53fd24f37b88baf344835770f9259773b95f27a384d9938d57865a8db62f87340f9f15c777a18319fe384a24433aec02c54328e421b7f6727c91a1def6d66f25e1d50228874c7c3dcf100d399b174d77f1c253268148a0ee9d712184180dc710bf9bf6eda7bef9db8ffee1c7cf7b63c4f9f3cc33cf0070d75d774d704bc46473f2e4e47ee0b6d4761f9bac07d87ac3c03f9e3b3949ac98448a713c9e14d1628e46b86e33d963851062f49effa73d7c62d59f7c02e802dea87efeabe6df5d8035f143c58410e22da393bd3b60e5f2b747d222841042349206791db2104234aed2de07599f38c1dc59250ecfdac89392b708218410e79d242e42083102ab748403bbdb38b2fa11beb171e437020ad190dc3a054b9fe8560821c41993c4e56decd24b2f9531c6428c42cb0d4f52f8d544b762e248ac104208d108e41997b7a94b2fbd942baeb862a29b21846870122b841042340a495cdea6e4444408311a122b841042340a3c7be2440000200049444154495c841042082184100d4f121721841042082144c393c445082184104208d1f0247111420821841042343c495c841042082184100d4f121721841042082144c393c445082184104208d1f0247111420821841042343c495c841042082184100d4f121721841042082144c393c445082184104208d1f0247111420821841042343c495c841042082184100d4f121721841042082144c393c445082184104208d1f0a64e740384104208716e747575f1fcf3cf4f7433fab16d9b8f7dec63389dce896e8a10e22d4612172184106292ca6432ac5ebd7aa29b31c8ce9d3bf9f8c73f3ed1cd1042bcc548e2228410424c52d3a64dc3b6ed896ec620a74f9f9ee8260821de822471114208212629dbb67b3f0e87a3a17e0a21c458c9c3f9420821c424d6dddddd903f851062ace48e8b104208314975777763db36dddddd381c8e86fa2984106325775c84104288496ca2efacc81d1721c47891c44508218498a47a9e6fa9bdf332f4cf37f8e1bd0b50d5cbb8f7875d23cc6ff0e4c75af8f0ff7f6c88e9c7f9e61fbab8726bb16e7df28c8b10e24c48e2228410424c52b50fe7d7fd987bd9b2bb995bae77b263cbf73047981f1b60ecd3facd2784106324898b10420831498df68ecbf17f8cb3777a88cfff8fbb99dbb6856f17074eff22b779dfcbbbdffd5ebcb76d666f89dee9c6ae4d434cab5f9f242e42883321898b10420831898dfccc4991f4dfbecafccfac62fefc207ffe7b47f8ebafb5f346cff4e263dcf16769a67ffefbbcf6cb9f900a96f8fe4fcb607743c7d7f8ef77ed60fae79fa7e3c4ab3c152cd1f6d3f2a8ea154288b192c44508218498a4467eb6a59baef6aff1b58edfe77381f7d0ddfd1e3efab96bb0527fcd3eb332fdd89e14af7ef0cff9d2aa0f7241f7457c70d597f8dc879c804d71f7765efde067f8d2aa4b71dad3b974d597f8fc879c30c21d17495e841067425e872c8410424c62f5876559fccbdf3ec56bafbfceeacbe6e27402e53265e06ff67c998fae9a4ea9e375687e3fd36dbbf2f80aefe1fdb39c38ed32a5d7869b3652bd4208317672c74508218498a446bce372f2fbfcf51e277ffccd9778e5951ff2d24b2ff1c3577ec83377be9ffffb377fcbe1ee0b98fec1e9d0d941a9f77b253a4b65caf6055c74e97438d181d95baec98952194beeb80821ce01495c8410428849acdeb326af7de7abbc38fd66eefcc81c2ebef86266cd9ac5c517bf8fdfbfeb2e7ee7a74ff1d5ff6bf1be6befe4bffdf2abfccf643b252c8eedfc0b1ef95119dbee664ee04efedb89af72ffdfbfcac9ee37782dfd10ffdf8fe4191721c4b921898b1042083149d57fabd811d27ff723de73d36d7ce08201d3df7723775ef14bbef3c81e3adf731b8f3f71273c7e2b97bff703dcf80d27d75d311d2736dd1757a7fdddadfccefb2ee58fbe7141659abc554c08710ec8332e420821c424d5932c381c0e6cdb1ef0f3037c2afb1af7d8360edba6bbdff4f770eb773ab8cde1c0eeeec6e1fb147ff7fc3d35d31fee4d402e5a7a0f8f673f5553ee43381c8e3af54ae22284383392b80821841093d4c03ff8d8683f8510622c24711142082126a946bdbbd1886d1242343e495c8410428849aaf68ecb70c3b626eaa710428c953c9c2f8410424c52a74e9d1af1ed5e13f1f3d4a953e3b9984288b709b9e3228410424c52d75c730dcf3efb2c4d4d4d13dd945ea74f9fe6631ffbd844374308f11624898b1042083149cd9933873beeb863a29b218410e342868a092184104208211a9e242e420821841042888627898b104208218410a2e149e222841042082184687892b8082184104208211a9e242e420821841042888627898b104208218410a2e149e222841042082184687892b8082184104208211a9e242e420821841042888627898b104208218410a2e149e222841042082184687892b8082184104208211aded4f12ae87bdffbde7815258410620c3ef6b18fd59d2ef159082126c648f1598ccdb8252e00b7dd76db781627841062044f3ffdf4a8e693f82c8410e7d768e3b3183d192a26841042082184687892b8082184104208211a9e242e420821841042888627898b104208218410a2e149e222841042082184687892b8082184104208211a9e242e420821841042888627898b104208218410a2e149e22284104208218468785327a2d2d3072f81ee5f4f44d56f7d532ea2e9f2a313dd0a21c42425f1f92c487c164288736a4212174efd6242aa9d14ba5f9fe8160821263389cf674ee2b310429c531333546cca451352eda4207d2784389724c69c39e93b218438a7e4191721841042082144c393c445082184104208d1f0247111420821841042343c495c841042082184100d4f121721841042082144c393c445082184104208d1f0247111938355241dd3d1437edc2e2fa1441e6be819317249f4800777283bcc3c6f3f663a88cb152263be35ea3726b8bd424c1a669e542488c71d24334e0171a2e3c9d9b1286613758e1116854c9cb0cf8d2f569880f60df6968887436c67e76a3b796b6f7f62248d97b8d8e07040d345d0d40c4defac7ee639689a0276f779a8fb5dd03415184b5dddd0e484a677439332c6ef9e4b569e64d88fd7e7c7eff3a0381c381c0efce989d8a32d8a79e39c949b8f0489bb22c453193211956c3c45c1ea3f4f4fdd8acb0d85438c574bac6296642480cbe1c0a1f88924b314cf6546740ed6a9e2f61308f8712ba36ec4d0ebd2cc934e68f8d44a5f248a03a61b3952b1202e879b503c45ce38b3fa55b71fbfdf876bd4ed15e342e2f338b130b22962411587c381c3e5c51f08120cf8f1793cf8821af16cf13c5d58517151e090317eb58d3d9e8c9645319b2216a8f49bea0d120a87098702f83c5efce138d9b30eec0a2eaf0f57f110c37589ea5231f2c76894f3e2f1898726192d48b2384e8d1a64f076367edb49ffe3d1b9dbfe442368bcc4c551f9f1c67fc22f7e06fffeef36c59fc1df6f3dcd1b164c718e6f754dd3608a03b02b75db36749d84377f0b348db290372b07449cf093fd36d66f608a522db3caee86a62668bac441d385c0a921da31a5ff77ce9e493a1420a646c9e6b2647305cc83adac6a19e74e1cad62123d790e0ec6569e44aa80e25201058f9ec528c4f0d606addeba1554b7179f7bfcaa57dc7ec2d1288116c01f211a3e9701f3dcac53c5ab934c6a7846dbeee1d6a5ea25a825c866ee665ef905ee09e8e46a6772f908e9114257878868217cae33ab5ff1eaa4527aff752cce3d89cfe344c1e50fa14782b4e0e4e6548e6c264d3a932597cf1071e7b8f7a31efc91dcb94f5e5437de9e1d719c8c399e8cbe64dcfe107ab4d26ffe788a543249329521978de1c9decb47fd11f267d9698aeac6336c9728b83c5ebce3db6567655ce2a19126f6b5ef104b9ca3bb48436c67e3b69d0c381e9dbbed4f3482864b5c9a9ae13f4df07ee214cbd69ce2d64f9f66f70fbaf962fc34bfe98229178e5345d5ab775c088ea6caff9bde01d66f61d99f9ce2fb2fd934cd728caaa82933a0f42bf88395a7f8833f39c59f7ce134a79baa57f67a96eb1d50fa35fcf9dda7281cb29932a3af1dd0bf1de3c6ca93cc98b8035ed4eaaf144f98442278feaf549b3962219ddc39b94465523441196e9986a87bfc175f41019cc336629c34c23a1dc5ba545c1e5c0b16e03cb48560383de0ee9682a2aac3af2fd1b0243e8fd3f2f550d4217ee72618cfb07395c24b9b43e8b9737fdfe52db72f0ed56fae00d1e8523894207eb699cb88f5bfd53a6c6485541a656933879231ced526774ebaed9c9e5b8846d470890b53e164c9e6c8319bcd9f9d42f21b53f17cc041f3450e1c36f0eeea55b18ba85c497b9f8326b7832697a33284a0c551194e30db51191af0aeeafc6af58adafb1c95610d6e0753a6c21d9f39cd2f0c9872b1031cd0dd0d3f3e0cbffc1530ab5af6fb1c34b53868bab83a54a1c551191ef1feca74c7255358ffc5d3fce46736b917a671df9a299c2a01ef73d0f45e074d33c131c741f30cf8ed9b30adc981a3a7ddf31c344d87b5f79ea6f053687239c671b8858adb55e6bb9a46b266dc94ea0be3ab0d20668e84ae110ef9f1ba3df82399be134d2b4f520b13d6c204bc3dd3aacf89043d78426932111faac38d96358729cb24974a902994e9cc4609877592458b7c4223ace968412f8ac343bc38cc625805927a98b0a611f27bf18512bd41cacac5098763e4ca6572d130a170844cbfb3e4a1eaee29d7a290d2f0aa0e1c2e3fb1da835dbd3e19158b624a2318d4d0c301bc1e3f91ac59694f2284dbe1c0e10e93aaae17ab9042f3b808c47398c37e770ceb742ceb6dc73f918a04f1ba8364accaf86ecdefc117cb928d5587c0b9fdc47ada3f5c7f0ee0f2c7c96c5c4ce753214289c2f0578e8d5cbffa7b9e41f2843314d2d561676acdfa31f3a462a1eafcf5fa5a8c3b89cfe776385c2f17c16884051c2319cdf40d491a2ebe8e185386fbee30868db923c507c6be3ff7d4a785d06231347f75f89cdb8b5f1fdb1d27cb1a38f708b161c8383984629280aae009c548658d9a3619a4751f2e8703d51bea1793ebf5e1a8fa64b4eb6b887838ea636b6f5b7324f34112c9288b3b53c4063d1c32d27a1fc5763150bfeda4a79ae1d6479de3e9c0e3d1fea1ca3d9b757106fd29cebb69df7eea9bf6af7ef5ab317dbef5ad6fd9a375ead599f6a91f4f1bf263bf36cdfec9b353ed8b556cfbd034dbb69df6fea7a6daef77396cfb6717d8edff38d5de74d714fb977ba7d976d705f633f1a9f65f7ca6c9fec1df4fb57f96996a7fbfb5c9fe6d7e9abd3b31d57ee35fa6d9ffb16f9afd853f9d62ff3433d5b60bd3ec5d8f4db51ff942937d60c754fbc73ba7da807def27a7d8f6bf4fb3ede234fbd7fba7d9b3deedb0f77e63aafdeb9f4cb3ffe2334df677be3ad5de9d986aeffdc654dbfef9347b4fa2c9fe8f7dd3ec6d7fd564ffd5679bec8e03d3eceb3e3cc55ef841876ddb4edb362fb0ed5f4cb3b7ffef26fb6f3ed76417fe71aabdf32b4df6aeaf4eb53b7f30cd3ef1cfd3ec7f6eadb6fbc9a9f6f1ec341bb0c3c129b6dd31cdee3e3874df9cfaf134fbd4ab3347ddcfb66ddbc7f7dc61cf031b5aecab376cb70f760d9ce3a8ddbaea6e7be7f1caffba5ede682f00fbead6e3b66d1fb51fbb6eb17dc79e9395692fde61b7e0b46f7efea47dfce59df6ddf3b05970b3fdf0ce9df657eeb8c3fecacb853a659db4b72fc56ebee345bbcbb66dfbe863f6d5573f661fadcc69bfb8e166fb2b47875c027be7cdf3ecab5bab13bb0eda5f59eab49dbddfb56dbb6b8f7d9dd369dffcfca085ab1a50b77dd2de793536f356d90fef7cd93e7efc65fbe1c5d8ceeb76da2747ec936174bd6cdfdd82edbcf9f94a1dc75beda5ce79f68697bb2acb77778bcde2bee57d7e55b3cd8287ed8335df7ff88ed6caf4badf1ddd3a1dcb7afbab1fe4ede7372cb0715e67efe9eab28f1fdc6edfdc8cddbcf40efbe1ed2fda2fbfd86aaf9a874df32abb52e4c0fe1cc2d1afd8376f78d1eeb28fdaadd735dbb0c0def0e2c9de65dd7873dfb2779d3cd8affe93475fb437cec366c12afbe1ed7deb87abb7db276ddbee3a7ed0deb361810dd7d97bba46eeafc9ee5bdffa96c4e7b7687cee7a794375df1c624fea7ad1bea3199b96bbed972b41b34e5c1a21a68c10d3baf65c5dddff6cbb7ecc1d393e8c757fb6ed2efbf9bbe7d9f37ae2c9c93df6aa66ec96bb878f2f43f55bd7d19df6aa166c166facf6973d426c182e4e76d93dc7884a3cefb20f3eb6ca5ef595976bda73d0de380fdbb97895bdb175a7bd67fb46fbbae64a1f3c7f72e43e1cb94f467f0c1a140f477d6ced7372cf067b63cf725fe7b459da6af7af69a4f53e9ae346ffedacff7632c2faa8bb1efb1f8f06977b96ebe20cfab3d668e2b37c2a9f6f3ff54d1b58097c1cb81ab812f81dc00dcc022e02a635de1d1740bdc841f94db872e529d6df718ad26fe0772e75906fb7097ffe34ffb4d7e653ffeb34075fb259f73f4fb1e3b96eaed74ef1bd9c8d1e3bcd6fdf840d0f9f66fbee6efe57a232f6fa81af76b3fb799b4f6c38c5b79febe6d64f9fe65ffed566eeecca953e4ed33b7edb390d9c17c03d9f3bc5379eed26f4b953fcef274ef3977f7b9a230578e8efbaf9f263a7f9c2a3a7f9bb67baf9d88d6ff2f8d6267efa739bfffe476f4233ec7bc166f5e74ff38bd3f099874e73cbbda779f9e7367ffcd9533cb7af9b1bfefc144f67baf9e4e74ff1dd7ddd5c3ac7c1b46954c6568f6e04c4a8b80249f22fb772c7629317b6ace672d54b38d9f7c62d2b1f279633c82663c46231e22913cfd54b510c0333172356f0a2f92bb7e5156f94c457e2681e1597d78fdf0d4eb786160ca22793683c366c5983ae8399458ab938b174e5b9135f44c73fc4dd7f0a71f48c4a28e0aefc5ff1108e06515e88123bcbfbd94eaf861ef4e272790906e6512e163046e89351d7a87808864204ab0fbb28aa0a6611d30250f045c2cc3b942059bdaa63e553148301dc237e7714eb748cebedf37fb018afbf67ec7165fcb6cf05aa4f470ff9f0fac22492ab682ea5898ff97ebc9b702acdddf30eb125102635c4254345f5f4ab5f75bbf1baa0d9aba1877ad6cf0230f2185486a1f9036e7a1fa718a1bfc4f892f87cbe7a5a415501cbc464a4b8543fa68c29a6d58db98c181fc6ba3f63e549a58fa1fa5c9521bcaa97a0073a0b23c5db32d94888503844d0ef41bde4169ee2661e4b45fb9ef5a8131b868f93fd862350486a444c9d84ee1d34c4d81d8a120b07098462a4d377d3524a13cb9923f6e1487d3296f535301e8efad8dacb2093f112f62b804a20aa31efa518c97e8fba8c745cb0c67cdce8bf9d8cb03ec610e307967bd6eb62ccfd29ceb5a913dd80a19c3a5db9e5eff98083cb3e044d53e0dd2afccdd74fd3f21ed8b56b1afe8fbec99ffdf929fee8ea293cf9d854165df3266f9e8277ab95a1089e4b1cfcf0c7363f3a68b3496be253f79fa2690a5cb7cc41fa6fa7f2e15b4ea15ee4e0772f73b0eed629e074c0eb360e074c7f17ec7bd9a6fde750d83d953fbef7341f9c5b19a670ffdf9c66d91553281cb559b7720a9f0a3531fffa3779ff871cb4ff602af3979fe2c30f9ce6673fb759b1d4c1c38f4ee57717fc96073ed5c497feb289f4926eca6fc21c97837c662a1fbfe314ffd6091f59ece04f6f9902aa83d31d368e714c29556f98643e889e8ca0e95fe3eb6baf206fbc4c2ee2c52ae429aa21f488563969ae6124721804507b0f026e82bad63b5d011455e90de6f5ca62c0fb5714af46d49f60ed2d97905a7a37f1448cb07770db8d5c966365b5dff31baa378087a7c8e50dceea29fb9a321597029689658db41ca3a4fa8824bd14d271225903ab58b99dde5b9f57435bb08578224f34e121973209465da3fa2ed45fa7667e6ceb0d861e7bacb8fae651bd21bc3c8551348131466dd54f3cf31805ef3dac0ec6f166fc83ebea57ffe0c6282ec0b2b0ac9e0550c059ed9351f497183f129fc7373e0fcfc23401d585ca28e2529d9832d2776bf79691636ee577f5e2c398f6e7ea74b36052d9bd1514059addae119e4574e28fa548f92b7359c53491e02ddc73b997c28b39e23eb56e6c18294e0294f35102198b702e3162d4537c417cceaf512c9a18c6487d38b8b4da3e19f331a8261e8ef6d8daab902299cfa28632d55f9828ce43c4e339f4846fd03a187ebd8f347d8865ae29bcfefa185b8caf2d77e4edb9feba18737f8a73ae21efb8fce60d9b0ba6c2371e6d62c317a6f2ce0b2b0f4e9abf8619d31df02e07339a1d1cfa379b19d301155ade0d5d5d30ad09de7111bc4381ffea02ab0c2fecefe60b9f6ee2235e075d6538f5065cf48ecab4ffea82ceffa072256d3abc73264c6d825f9e848bde095cece09d17c2fb5b1cfcdeef3848ede966d17c98d302ce0b1c5cf44e7877b3033a6c3eb8ac899f3c3b95071e3dcd33ff64b37471e57538d3df09ef7d0f50aa94fde62998351398e160e67407c67fd87459d0f99f95768cdb41d12a904c15abff51f18613e48acfb36101bc128d92b3c0c2a25ccc50187041c4342c2ca06c14280e9836781c71f5f775ca1acc4d3853e4e5d6bbf114bec6da2bbc95676406156a012646ed2445ad9ebb8ef7937ed52b95635a8efe7a9b641548867c440c3fd1780cbdf60a10001e42fa623a5371b2c52c29427d5771ea7d7754eb746ceb6d541415d579e67dae783452e93b6879e95e027a767cef868cd8d7623c497c3e4f1d5dcc922b41b32f8847194d5c1a3ea68c29a69d49cc3d9bf8a078d0f4c518e964e56d60669e8cb1944864f01d8ebac5b883c4531b59c021b6f43c1b5127368c264e3a3d1a115f91cdc1c8281efeae245c8aaa9cf571eb6c8e41a33eb6566bcaa58b44d26952a954f59321135b4c672ac6888f0a8eb4dec7b05dd45d1f6713e3cffa1c622cfd29ce87c64b5c1c952b78ff5982dddfeba6f3b56e5eff2f78c3028fdb41e1e73647db4ed3f1ef36c1aba6f0e3433607b3dd1cfb77b87806fc5b27bcf69acd4f3b6c2e7e17cc7e8f83af3c30156713fcaa04e6eb9507304bbfa91ca07efd5f952b8838e1173f85e75fb0693f6cb3fc771dfca709b9ef7573e0279557c92cf950658cc0ef5f3185e677c28ffed5e6fb2f75f3ab92cda12336c55c37c62f6ddef52eb8c4056d399b377e0dbf7ea3521f36bcfe9bca41fbdf3aa13ddbcda1a33673663938f9eb4a7bc6778d98e453198ab5bf52fd44224ba15cb99aa0babdb494be432459f3f0b499219129e2f27a692e6788a56bc6f71869e2c3fc55a77a650d52cc9029d69e781f23191ffc20a6eaf3d1428174bef6814a13cbb980e038bfc2f38c9663d0772b5709cd8c8e96f1a087873ff8ba8311aeb6d244f4246aa8efca56fdef8ebc4ec7bade8663d5ce6e1a98ccc37f167dee0a24c83cbc98635fbf97af0d3c3a9d85d1f4b51827129fcf13934c34ce211613895662c368e2d27031652c316db43177fce28382578ba3fb0c92d118f1440e5f3243e44cde65ab7a2ad7f5abc947bdd830aa38a97808a7925c676c21a867a81bb5cc22456b31219febac8f5b67730c1aedb1b5526696a4111c74d3c11dd4585cfa4effbee95b8c9aef0f5eef67ba5dd45b1f6713e3cffa1c622cfd29ce8bc64b5cba419deee0e219f0a7ffa39b6bfff014ff66d8bcbb19eefbb329b8df07be5b4f71c3d50eb67eb5895ffe0a027f761aab0cd72d9bc2d2450e3e1c3ac5b469f017b1267eef430e3e78f59bec69b3f9bd0f399859dd41df33032e542a3f9d17003360ebff39cd356b4f718dcf4160ed14ae5de6e056fd34c67fd8a817c1251f70f081f73b687937dc79fb14f6fea89b7bbedccd0d574de15f8fd92c0dbc49e0eed344ee6ee21fb74de5c7876dd6fef1292e795fb5de6e78efc5f0ce77807201dcb8be32defb4fd74cc1b66d940ba88ce51e47562e423896ab09b806d9748196553a3e15149f8ebe185eb9d78b3f1c23118f100a2671073c285e1d6d419917d6fa09c59224131182a1349eeace6ed17b7c00ea9705a0aa502a14308a399e7df97bc462d94abb541fe1c002dc43bc385ff146885e0ddf8d267adfcd5fcc24310331c29e9e85b4b0ca65cc3a97f16bebce142a7793868b3c232d474def920bbb707822e42d0b4b594028e4ee6d53b99425992950cca588a7ff1f7bef1ee65675df7b7fb63433dabece066c8fc084d9048845088c082156da26961bd211b97444281db5e9a9376f7b6af5f4e2cd79dec6a26fcf39cae9d3224edf1e949eb61669526f4e4f6a19bf29a2696a3938b55c925aa404cb04b00c2496b9593618eff16df65ca4f5feb135f6dc2ff6d81edbebf33c7a2c69adbdf6da7b8fbf3ffdd6faaddfaa805da55c2c9cd918d31fc18cc09e5280d8f004fc531c3be5339de17363e873dfc8efaaa5d2e92c36d57c864a38891918ff7e8ec171c6791e2ac1449e4d5dad63eefdc8f33b33330ad3b9d792d941eaf3ece28cf753b84a211121bad9a1734316b3f1037e5aba3481a64c75ecf0ff7fd3d25c26d78799fd7fb6c91906792d4c28a8e3d775b46a89d264b30be3de379b422ac573f8e83423f81b1d99481b2a81c97572e842547f0ccbeac27922467cd40f79bb5c6de8b043319dc631d218fa74eee1e4f764f2e765938f870819e33b528e5d98966d05285b69ecc838ce801e26b60276a6d2633474b2e73e55f9683b33f2ef6e92e73185c68fb1ef33fa7b9efc59cce47e4a2e1e1735ab58edc7eebf6fef68162f3ed524766f69124777b9995ec4816631b0a759fcdb379b8478ad5988432de2bde79b45c16a12375e8f78e51f9b8438d82cb67dad491cfb61b310875b84d8db2c766c6c12f5979a8578ad59bc536816032f368b77bfdf2c4e3ceffe7bea47cda2b6af591c7eb6c96dfb956621de6811e2a56651fa5693a8fe6b93e879ae5988bdcde2d80f9b45ff1e37bbce4fb7358997726e761c516e163fdad2247e9c6b12a2da2cc4a166f1e6bf3489e7b34dc22ebad9706a2f350bfbc7cde2df3737890fe98a78e6eb5e7174b7dbd65b3b9ac4c9e7dd3a1366ac9969d69ade5d626d1b0210b47588559d9d62d5ca95a2737426aa835bc5face76e103417ba758bfe3e8b0b2a7c4ba556d02106d1d6bc4c646568fbd4fad17ab7c087cabc4faa7f68aa3d368ebe0d6356285cf27dabb368852719d6807d1b6aa5bac5bb756ac59bbe14c2698d11cdd251eebee102b56768aee35dda27bddc633fd3fb8436c5cdb217c207c2bd7898d5b778ba3e33471e6dc7f21beb3b9d1f7b62ef1d8d6bd62ffae4d625d07025688b51b1bc74f764f86b7bbc96d7745d71ab16ed3de3359678eee10eb57b60a68132bd76e12bbb7ae116dbe76d1b561ef884c39bd3bd68aaec7f68e6c74b263a7fd4ca7ffdc7af76f158f74b60a68159d8f6c15fb7bf78a4756207c2bbb44f7da7562ddda6ed1d5fd98d835fccf62d8b31c9dd5ece8aea7c463dded82d64eb17ed30eb17ff4733dba4bacef7eec4c56b111e77f5a3cfbf4d0f3e9161b76ec1707873d9f351b77b97dded1257c435963a679af2f572e645631a9cfb3a5cfbde2e08e4d8dbf7b846fc52ad1d9dd2dbabbbbc4aa951d6255f77ab169f7389a330d5d1a5753263976c4ffbfc7b6baff5f27d35c31b93eccfcff73afd8fdc84ad1dadaeaf6edf46b85583be6fa7ac5fe1d9bc4235dee7da3bd43aceaec72ef5b47bb68efe89c990e8fab9347c5eea786db88fde2e8de0d6255a34f6b36b8f7e8e0ae0d62cdaa0ed1b1aa537477778b358fec1899896bc27bd82bf66f9d5ae3267ed607c5a6ce56d1da7926f3d7703decdd3d1ddb7a54ecdab846ac00d1d6f588786a84880fb3132056743f26b6eeef9df2b9cfe8efe2b1ada25c1e6d77267a1e533fc711bf2dc66bf71c9ec5c169ddcf899159c5663fabd878f9519abfb5f99bfdab3f73ef8cbc9deddbb7f3c0030f4cab6eede56ba07e7cfc42e1ee50ac68b8f34175e014d002b51ef02e00162a600b6aa7c0fb41e01d58fcf101565b706d0000200049444154fe7943133ff78b0af42b7042503bdaa8afb90b3b453f280bdd537b16e27ae43ea0176a0eeede038bddbab5638dcf0b7047d986eab4bac78b5a633766a5d14e2f7095fb591c81fa20789734ae69c07dd57ac17b33bcb45d10fad51aef7ddf8b7aa342ad02deabddebacf531f93c986711dedb8e4ceb3e4b2467479954e0562c632fe5c4e859a6b9815388a245206fe7085fe1f1615bb66ce19e7bee99b48ed467a43ecf1ab3ad0f55b2661a7f32352c5b9343b590c6c886c865c23204740a2e8c1e4ef5dce7beddb8184c479f252e3b9ed9cafddd5fba1f57b14f355e2787bdef059cb997554c81ba008e8efabe61306abd406f63fbe266a8bf0383fdb0636313b7b42bd4df013178a6bcd60f1c1eb6ddf131f79fda905dee6ffcdb34b6ed9ac3c89016056a8de3f1406d741f87db2bef38e51ea8bf01fa72859d961770fb8bd735fa43752412c914380eaa1e1c912946720190fa2c9965ec7c9c64254e69c43a0b15bfee470f4e95594c02483d945c51cc4d1916ee0250efa2a953e6d7fba06511dc75af87c50b41f48faa20c0db04de16dcd141dccfcae8866be09d075e1f67e298057815f0aaee31ccc28ec9a21f162e84bbc20a6a0b8881736f5322996d6cc0b167b8d6e47c6397b05216451b6cdb211035ce3e5db5e4ec91fa7cc5339bfa6057aaec7bda246e1528db0e8ee3502d6549a4aac46272e47e422e821e4ef5dce7a4dd905c76cc49c74551dc0c2e6ffe44e0f1825203ef6277eadf7b956bbcbc57b961064dd7c2d1c3f0fab375b816bc0b1baf56777adfdb02760f1c3f065e7f23bc00f02c728ff75ed3307ccbe19db7e0adb784fb9daf111e70159ce801fb0478af6b1cb3d02df32820c4a49732160fd406a056855a9d39fa0424572c4e857c26456e1f1cc8a6b10a63b3ca5c349c12b9f4837c221821518a6325037234f62220f5f90ae63ce8831ecfb1e3b120e544845baf9ac73c2d402c6d134d25e4467f937121f570aae73e97ed86e4b263ee858a019e5678fb35f8ca5fd74927bc2c6c83574a82a3c7a0a505eeb84561f78f04d7b729b45e075ffdbb3aa1a0028b058b6a0ac74f098e9f80fe4158197487ee0e1d11940f80da042fee839bdbdd4dc65e7f43d0b142a1b717fe3a5be7931f5558fa01504ec1be9f0a76fe9ba059815ffd250fdfdf2ed0db146a7538f8ae201454f07016c6512299aba83a91b845396e5dec9e8cc56f90ab1a17bb17573c529faf60ce8b3ef8099b598ae62c3679257021f570aae73e97ed86e4b263ce392e8a02c207db8b757efaa6e0bbff56e7be07bcfc60779d770ebb8631b7bdce6db728fce86541bd06d72d83bfff4e1dff2e58bc48415f0e2dcdf0fc4bb040855b7485bfd922b8be0d541ffcf42d41f58842ad2e98d7023f7841b07c292c5f0adb8b82a51a64b7d5f9f84714f43685efefaef397dfa8e3bf0676bf2470fadcbd06bc5eb8fb6794b1b1d2128944721922f55922914824179339e7b8789ae0f06b82f92a7ced4fbcec7959f0eeeb7556ddad8080de3e78e527d0d2a270dd3241bd0e833585600016cc737753beeb360f4b35c10d7edc2c3275b87619dc778f87a3c7dc9cffb7b42bd4053cff9260d935eea6630b0614ae6a153cff8ae08e0f29b4b440fb72f0f93c1c3a026a8b1b1ab1fa6ef758a78fd9cfeb2f9148247314a9cf12894422b998cc39c7a536088be72b747f568156b879b982e3c0b22580807a1d3aee52a81e80259a425333bc7510aebf45a1e71d98e783161fd46b0aa1a01b2650af83f9eb1e441d96b729dcfea1c6cacf05e0bf46e1bae5d077128e1e07fff50aef1d84251f80c307a05e17dc7eab023e387840e1eac5e05b0ca217378b4d0f53af5095482492cb00a9cf12894422b998ccbda5877537dc8085b8a9319bdc9d9345dd7def69014e827f3934cd033c707d3b700a5aaf8196f980e28e0ca280d204de66c00b8ac7fd4c0b0c0ec289c370ddcdee397df3c17f03d00b4b9640fd182c6b03bf5f8141a89f806baf03df3ca89f1a27ebcd38d7e19d57c3ab0de05d3680b7ad86b7a9362b996fce2f0ed5a2851909a0c70a974c76103b17c5ef8f911f6f2b618944323b487d9e333895029978984030717a47f099945fae485b20915cdecc39c745f1000a3cf703414f0ff4f78132cffdbedf81be5e4005fae1640fa743014e1c075adc7496c78f439f03cc87c13ee83dd5486ba9b86d884138e5b89f1d1b779f5ec0390af8dcfd018470371babf5bbd9658470bfaf0db8d56b7577a470dcd1bc1a78af1ee4d0a179ecf8971bf8e6ffbe8eeffcc3425824f05e3b802294d3e73cdf3895025622825f5150d43009ab40650a23a6fa7528ef6376f28238540b5952510d455150036122d108e1a08e1e8a919aa5ec23aa1e261209a3cb345312c97943eaf3f9c4261f8f6255a6595df5e3b74becb32710f4a9caa78b53a590368846a3c4623162d108e1681cab38373d03690b2492cb9b39172aa6b8fb7eb1f559c10f7f2c58bc1042b72bb47f40e1c97fae73dd3285778f0a0606a075213437434bb3c2d16370fca4a07521b42e52b08f097afbe0bda3ee22cd1537427f3fbcfe86fbf9d60f82d7ab50fea9e0866be11a4d61f75ec1cf7d54e1f6bb14ea3d537675423c8b07d95b6e65cfdeabf9e02dc79857aff1bffef62a1ef93f1d3cfedf7ecc6d77dad4abcdee28e5790e6350f5304652a5606de3896082a431d52ec42a9a1e24a44366767a803f1cc354f3a49fce12cae4c98555a0821509f2e0ea30d5dd25d2c173b3326ad0c4b266a5c312896402a43e9f47aa39528f3f4d552b63a4a6debf44f507088674289e5df9b4b08b242211b2018b622e8abff1b5534a110907c9a70b640dfd1c4e30fb485b20915cdeccb919175173c3053e761bbc775450fe29bcf6060cf4c34fde14bcf98ea0f21678bcf0cebbf0930aecdb2fe8eb133cb34ba0b5ba3b3bbff60614f7b80b3b3f7c93c2fb361c3a02375ca7d0ba105e7f13fef959c16db72838bdf0d26b8223b6e0d58a40997ff6d64a51048abf893ff95ff378f3adf7f9f8bdeff1c5fb8e92dff206d76927f8d907bbd8f5ec3578fc0328176c544f45057ceaf49d83591fac524727e4d7892522b4b28f9c55be6442d224922b19a9cfe78f723687bab2957d568ae29c10449b5c3cc2a3952856fa8cd302a0061358498dcd0f464995e744672512c915c2dc735c04d41d58fd710fbfdee521d401917b14deef112828dc7ea7c2effd9a875ff9ac870fe90a915ff070e3f50a4f7d4ff09bf72b7cfa173c5cb714ee0c28fcd7ffe4e5739ff210ea50f874c8c317567bb827a4f085d51eba562bfceeaf287cec3685cf777af028f0e2ab10b84901e7ec2d96106eccf5c73e729c2fff998fbddf5b0cc7bc30084f5abbf96ce8751e58ff8bec7fb105cf750350bb482b479d32966960c4e3c4c24142b10c6366fe1d8772364e505350fc61522587e16b6002469e722e4e485350b4a1f21974c1b671002da08d7494ec2219338e110b13d4038413f946d89a432913c7889bc4a341542540ba02548b641351827a94fc50179c32563c463c95221e76c3d4143d48d82c4a274922394ba43e9f279c2256294ac64ad271284b6aa2051a4e85ac192566c4316251cc6c659ae5368544085551500226b946bcb053c962e81aa144813167ac582437f7d01a89131a6723483d1aa7833da492c5c6b1e3ebb35dcc928806d16379caf904615d455183c473559c4a96784843515482f1fce9762ad938d1681cd388100c8449146ca6657bc6b3051289e4b262ce858a811b9bbc6011dcb444e1a63b3dd02358304fe1e1ffa8e05b0ef40083f0e97b5da3324f51f8caef7af8c8871538011fe950f8c84ae0146e8c751d16b6e24efb0f4dff7b14f0027d4033dcfb290f9ffc98e0e67685fa3986eed6dfa863fec70156dc3888af7f80fa8042fd78334dcb07d8f0e51f10f9f26dfcf76f7c9aaf27b7e2995fa3de77a1fdc72ab958042b5aa060e8e09449878384a3502ec4d11bb5fa4a16792341be1cc78adc493291279e8fa0fa03a8e57decab58e42209728df287cd1cf1428ce96c76ec54b298e636fa3ad6918ee9c34a2a58710b7f3a83e507a7942078e7bdc4020729847398d92056218e8e8361c628028eaae177caeca90eb5e3503023249d2ce54408351ec4d6efa510c9904f87e46eeb12c93920f579f6b10b593052e80187646782fb5239aa5163c42c07d814e21152812cc57410950a99d08d3c3dad728d702a47a6782d0f1222d45800a2fa03f8030666323c46b7ed628e3d4047481f5f33fd4182adb0a798a3e2840956ad71f4d901cd8f53dac301354bce36c9960c72b120bf6dc42011c7c85548140c82bf629231cb24b42c31234fa858261d84625ce713669678c9409bc2f6a8636c814422b9dc9873332ee06684a9f543ed38d40e09064fc1926bc0b708060f3616610e42ed3da81d82eb6f808fdcad407fa3ec38d4de85dac9c6e7a1ef7b1b0b3a1da89d6ad46b9ce7ba1be0431d0a8a6864c83907ea352ff4d6b8f7fe237cf0e601eac71414afa0f67613adb7c0a3bffd02df7ff5e7d8bee31a94f61ade0bed3e96d398798d5844773fab018c6414756792d4b018055f308e190de2f7078946dae9ab94a9a2a2e93a413fb406e398b1a1f215502d4db1a0bf8f52dac408fb9977a3899dd8c5c1629af0308be994d2a48a550a568a542a453a6b1358b512b55ac5b62b548a6952b90a0e2aa184495803550b100cfb8737423677002de4770dae16241a8043e5aa9c6d9148ce11a9cfb34d957c3e881156018d48324efb7329acf2a86a150b33ab128f051b8e844e24b662fae5f88926ba69dd99265771bf71ca59ca4183c0389e896dbb1ea2aa4d34d4a3a269805dc5069c71f559450b0409ebe00b18aebdd002c4e2217034a2668c905f438f1804a950aa3aa00688c66244879c2b4d03bb82ed4c6d7bc6d802894472d93127675cdc5dc9faddcc2e0a289e166a03c0c0208a52079a5deb59ef078f6b0039e505bce01163dbf0b634621c06dce0ebd1feda501b27cf1c7a4ebdf7086a3505de6e763f0fdd652f7054e1ae1b9ee79e4f7c81ad2fff22d73fb39165ad3596dee80507064f3632f79c47aac50207fa34fcc3ec91168c106033c55295d37101c3ca55bf0a8e8de300e3ac9551fd80e334ca273ab38fa099c6f20728dffa10c5a28d1a1f59c32997a86831ccc499999f61bd2419cef0e07d37925db996742685116c9c7fc439dd0f76d90d455351515568d5fd72b645223967a43ecf2ae52c56a98016cb37beb0517dfb48a78b98993333c4d542963d7d7ef411bfcbcf28da54e5005a3881d17e27a94c092315a0649509c583e3eaa2e677ed8063db30ee3c7a43ef353f1aa006e313e8b33ac664a8aa8a6ff83052a38203a085485841cab934894215a7620f958cb91e186b7b66b0945322915c82ccc91917a8816701781783671e0cf6bb2f5107cf7c37e7e5603f342d7373717ae641bde67e571f70cb07faddba4d57b9e96a6a03d0bcb4516fe04cfecd0b8c38e965c107e163d73fc537fecf11fe263b9fe72a75febf27eb1c3f014d4b94f3b6dbf36941771cc0a63a3ce44275d799a893aafe2ccd57044cb21b5671e8090373542cb783435f254f795438885d75001d235f61f7c6b504ca8ff3e09d41e28571e246d40071b3836ace72f72fb04be4ab2b4924c637d012896426487d9e3d1c8ab90a895c8e6c36db78e5c9a73a38944d315cde1cdb5d63385176e3a9ca0150839866070732298ad512d94a98d80409ccb460940ea052a88caffc7685f221680d451b3336d3d4e7a970ca58b110896a98643a852967502412c930e6a0e322a05e4359dc85b2e477515a7f1965de1d288b7f0e65e16a503f82b2f81e68d1a1c98fb2e4f7505a1f8045ab5016ff2cccef4059bc1a65d1dd288b3f8f67f1e751167c1465e1dd288ba3280b3f85d2fa2968bac64d917381a9a3c0d216f6bd5ce2c4fbef11b8fd4e3eff19b8b65de11bd93aef1faae3bd8af3b28f80d69871d04221da28932b8db08a38be15444317c648e8718b0dab6c9e88c5c90deb86a60769eb799ac4f04c63769e4cbe02953cf98a46d0c850acec60dd8a0358e9f116dbab04e369cc50152b99229d2912b2f224c68b879048243340eaf3aceab35dc0aa46c72c7ed7a3713a7a9e26953b137cab05fcf828919b60ff94a9ca4fb71d4bb0cac99148a4a844a2e3cc6c9fae48b2ab959e7c9af1fc8f6a3e43910e92c9468afd69ebf3e4d87993783e8069c8812689443296b9e7b8881a7817017518781b10a0dd0bf382a0cc4799ff33e00b40732b3080705e84c14378168461fedd282d1f82791f87c511a8f722f0c2e24fc1824f82c707f33a60e1bde0bdda1dddbb181c1a24dab998356bbfc0f61f2ea5f243f8d9fb3ddc7133fcd5df0a506763acd1a168f85102094a8e83a3ae20d65804af06132457c1b664e6f48eca95bc851d496104868e6692091667e6732f8e0df4613b4347eac4ad0cab9ccdc4621695c6b76ac8c4ec803d0f05091b2932e904b1a8851e09e0d80552a946f61b2d841159811e701d2dc7c15dc80b804dce30c86b6142411dbfaea3554b6efcb44422397ba43ecf923ebb94ad3476649c1fe87a98d80ad8994a33946d580b2730da7ad86cc4b1ca0e3865f2f90a544b94ca15d429ca4fab9f3f4222aaf2dc1355a2517d92def9895a39d6e9798c78f6b44603d8c534b14485e8a61ce690cd98509f1b615cce48fded1bfea1513654afafa780952f53296649e72a605729170b949da96dcf485b2091482e37e6de1a17c50bd4103d3937efa6a7199aaf85c1f7a17e0265308818780b068f804705a78c40209c97a0deebd6f32e00c507b5f7dd63eb278026a89f72039a3df3dcef2ef8aaf80647eafccc274e5155045f7bf276f6bef334fa91017efe1715366f9fcff7fec9c3a73f7f82da61ef399c44458f4458914d1333aa44523992a73779d489e70a38f138b17081604003cd20978de2c7a19c4b9129429f962693f713d54aa4ad7d700032d9e7f84ffea7b04ad053c9601574a26af174793a5b246d848645443b540b39ac749e43809d4c6211271609a0ea06d94c16fdc10709860a24cc04662c4022bf15db88937ee2617ebbd0c97a2b4bcc0f4ed5a1f2f86a02e56e62410ddb31c9a68250c993c9940048a7f304cc307ac84f259520fe78cf301bb682b53b8a64c2e3c56b4b24922991fa3c4bfa6c53b44c8c87b6617765c8e926d1d333c20ee59c45be02f43d4ad4f0934ec589e861d2858d383193076fd548ae8a630675da6ddd0da50d4e517e1a8db069d06187884c35c1ae8549174b84d349e2912c9ae6ae75b40960e44b18c1e15a3a9e3e07a8e6d3644ad0a766c8e475627a052b5d843ec8a473e84680b295a1441fa4d314bf9a64fdca288fde17a6bc364d2611251b2d902d3fcc9d4e7a52db930adb58236c41045d4edb48249715e30d1c357f6bf337fb577fe6de1935b47dfb761e78e08169d5adbd7c0dd48f4fd2a55a234c4001c4e945a0ee824ee1be57bcee7b84bb5a726874cee31df6dee3e6ee1cde3434daf33456659ee75dc6ea0adee63a2c1a74e7b74e7aa1cf0362806fee32d8bae7737c46ff1dd63c781854f8f33f5dc6fe7716f2977fb19ffa8126c4e827e45984f7b623e7b7cf973c55b2661a7f32352c639943b590c6c886c865c232044172d9b065cb16eeb9e79e49eb487d9e802b549fed7c1cd3496145e5208e44723e998e3e4b5c763cb395fbbbbf743fd08b9b30ff146e5a96a1f7bd8033f742c51080079466d77029cdeea8ded0674fe33b3cae71549adcf79e46bd11efbd67de9f6e63e8bd97f36e1401c55383260f3f7afe7afeee9b1fe4e4292f2c1e042fa82da750148523c7ae8163c049b823b098972b57537b43e06939c7bc9f5728763e4eb2121e1537aee2d7fde84199594c22397ba43e5ffafa5ca59085989c79964824972073d071998a8bb4d3fc59e2590e7ff75413a9bf19e07abd8f2ddfbd16f0c23c98ef7993c1fe5e0ed92a9c70eb5fb7cc837d5263ff9b2a2c38ff86fb72c4ae54d9f7b449dc2a50b61d1cc7a15aca924855894d9442472291cc02529fe72a762141346a60c6e364fc71a4df2291482e452e41c7e5126300b4457506060659fdcb550ebf7792fcd679b01c9a946368da62fa6b57d3731c6802afe724bd03f379fbfdc5a05eaa237a17173d9e63c76341ca8908b75e358f795a8058da269a4a48632d9148ce7005e9b36397293e9d25ef44492765c62e8944726932f716e75f66d4aa0a5fb84770ef274fc17b35aed254beb7fb1a22bfb50f9faf195f739dfec1168e9f84d666a8d5a0456da5afbf26ddcab3c64fd8cc52342f763f2412c95ce64ad2677f3447f5d29a2492482492315c62d27b09a22888811a4dbe7e3809777dd8cbeb07af81fda02daa51af3b9cec1d60b00eb480d3dfc460ad895aadef528bba904824924b0ba9cf1289447249211d97f38d02f5ba42adcf0335855b96bfcba9be562aafc212ad9ff9f37ccc9bb780c141a009de3f3a4073cb229a3c9e0bb13655229148ae5ca43e4b2412c92585745c2e24fdb068613ffe6bfdeca9f869f2f4a3789bf07a143c0ad007afbf73358b172fc6d732008317bbc3128944728520f559229148e63cd271b98088412f340db264510f3f3db8845ea7cec993fdf4f7d95cbb146a3f81e2cb4b58bad866d9e25e773f814b003b17c5ef8f91b701bb44361125a047c9cb8dea2512c925c2e5aacf12894472392195f702225040816b5afb396c2fe2dd1e15bbe724b5fe77997733fcdbf3f0d3776fe783fe77b8f13aa077b683a86df2f1285665765b55f5309148b8b143b1869f32fbaa137b2d4e254b3cec475114147f10235362646d8752264e346660c4a218e922f64ccaed2269234a2c6e629a0631234d71640312894432820babcf0e958285195651148540a23c614d3b1741551494609c4cbec46c4bd9b9eb31ee8095192118c9521d5d562d9088e8ee35f84398b9313524128964da48c7e542e381ebaf6dc1195ccce12370ea543f4bb513d004c5d7ae45516f63b9f61abe0f40bd7f961f4f3547eaf1a7496526369267831a34b1ac380115d0748221ffc4959d12c9581a3b9262d3c6c758e32ff3c46f8789e5ce98c26a364624a393ca5a58d934a15c8cd8306f6bf2729b9c112317ce90cda449a72d52a12c51233feb065f22915c665c307d56d1c306a9649456605f2649615c81aa6025b7d10774c493c423416635a3fb2ce8314e9542a14821b78d3df6e801ab0a56328bdfcc52dcb191b5fee7f86acc2027c55822919c25d271b980080178e1aa45fd38fdcd38f5ebe9ebeb2778b38d7803de3819c5e7799beb169761deecaffd2c6773a82b5bd967a5289ec7302e75920d029c72017f2a4f366110334cac429e356d3de433457794cf29914a3c8d3f1ec3dd2a52271ad7292492149ce99497c9176d54ed4c27fcba1fa75c1a3b12289148240d2e8a3eab1ac1ae55b4f56c2639ce4c84534c93f377d1cee4ba7ab69cb31e03a87ec2518358a8759c13402895c18c8408860dd299b5b4f555a948c74522919c25d271b9d028a0b60c3258533835782dfdce116eb8aa87effdfb120e9ffa1857b73c4ff8ae013832cb8fc6296295a264ac241d87b2a4f2a32d8743a590211e0e104a1528a422f81505450f932ad88043b568614603046239f289109aa213ff8767c826a204a7b9a6450dc63187ef02a90589057ca71d0da76c913bd04a207066d6460b04f11fca932d395396a3ea84830edbe226eeef802af94c999039647825128964022e823e6be1046607ec4ca5298dd0509b7cba4cc40c8d9a6571a864e344a3714c234230102651b0019b4222e48664054c7215b731a792c5d0354289c29859e773d5e3116d8de758a93a81119d77f0772588e9d3b831128944320ed271b9d0786070e0047db5c51c3e763dfe05bb38e9c0bfbdf1eb9c3c719c15cb7e48db5d503fe19dd5d3da852c1831f48041b2139e4ee5c6cc40a87e8d6a691fe59c45514f92dfb5916e76f27034ee2ebc57359cd23ef6952c4aa104c935616e5aba0cbf5366cf246b5a469d6574cf28db7e2271772767a752e2001abaff4c3d55d3d13844a9624f590e7e62198b2e9ee0be4018236e928fe6c8c5f519df33894472857151f459c74876e2db97690c1235a864c9606004466966354bccc8a327d3a4ad1c99709947cd2c1534c2a91c9955803f44c85d7488ea0fe00f186492e171c2ccce4d8f67845d2099b431d3312609269648249249918ecb054401a8c3c95330505fc8cb3f6d6169539efd47db797fe0673875e45fe8fef923704a99e530b12af97c1023ac021a91649cf6e752582396baa8f80341427ed04226662c44306490b1ba69edc9912e3af88361c23af8f438f16814d3b2f8834f76100c9fbd1972ca59727a925463d4cfb16db72f23ec6963f4cf76a62c07408f6165d7b2c2d9c9138f8fb390542291484671f1f459c51f4962b4f5b0393934a0e4504a67d1cde8d81ff96a80682c4674c831d134b02bb8f2e7279ae8a675679a5cc5adee94b3948306a3fd9ff198a91e4f17bb9425118b93def6340f06a36465dcae4422394ba4e37241516010ece3d05fbb8a13efbfccbb3dadd45a7f9f575e29f3d1eb9ee1b64ea81f6e9add5d99cb59ac528e642c462c16c34897517dfb48a78b8c677a54bf7a7a1c4e0bc608d247b531baa602aaa68e18a73bfbd8eb0ad954053363a09f6eab61308777ccb171700df454e5004e294d2ca593adec664397c3e6074344673b959a4422b9ccb848fa0ca08648243ae0b924e99203768154398a191a475cb510092b89bf90266126b1ca6e28efe9e27002a3fd395299120e0e25ab4cc8088e995b19cbccf578ba68c118a97c99eaaef574f43c8d991c9db94c229148a687745c2e201e4f0d3c0a2fefb339587d8fe33d07696afd055ea9b462bfb989f5bfdb0b3d9e591ecd7328e62a247239b2d96ce395279feae050363541269b61a81a9a0fd4595f196a534ca771cc34d161438a6a20481b369561a3798e5dc1a68da0ae4e590e65d2b114aa1927e80f12cf15d9d405dbccc499c5a4128944328a8ba3cf67d063493a7d07c8a40a94b2691c638275794e192b1622510d934ca73047cf78ab414cb383039914c56a896c254c6cca057e67a7c733450b254977b76257e4948b4422393ba4e372215958a3cf9ec7ebd5eb38d953e6c09beff2c14098adfffc6dfef03fbcccd23b3cd4def5ceee689e5dc0aa46098d1a1cd3a3713a7a9e26355e269be1ce8c5dc5a69df064298e678c43d94a510c258907d5d3df390ea88118d1b643944a673a61974b1c6a8b6004d529cbb1cbe42beab0986c9d583a458753a12a63c62412c9445c0c7d1e8e3f42d268a367738c5846c78c8eafb976de249e0f604e328ba2c712ac72722412292a91e8e91994f1397b3d3e1b34bf9f40589fc60c904422918c453a2e178a41e05af8ee738bd8fdb2e0b5bd3fe48ee027f8deb36f63acce7b1c5447000020004944415413fd2da8bfe681d95d934fd94a6347c631707a98d80a37934d79d44c44b574267570359fa1124e623646ec1c46850d0c7dee9bf8f3a8da943306662940c02e92cfe7c9e7b2a40c03ab8a1b3291eaa462e5a80050216755e94ca508a9d328d78218219b42a172e68c7605356430abbe974422b97cb848fa8ce3609f1654959099a0831e889984d533755cdd754e7feeeb2960e5cb548a59d2b90ad855cac5c2192df7474844559e7ba24a34aa4fd68173d3e391973216bb48d6ca531ef27b2a39d2a530a9b8ccf1289148ce8ea68bdd81cb8aba82571d80ab04347b40d4e114ae7bb8086a6fb490dc308fb7f73fcb1d1d1dbcfac6623a96fe0ffee82b03f04e1375e14151662b10c1a66899180f6dc3eeca90d34da28133a369e59c45be02f43d4ad4f0934ec589e843876631e345fc54a9d851b259033f0ee55c8a4c11fa4892cc65484403a8953c994c0980743acf8df7c153439f337902f108c3230acae908c18776d2c766b67d7558773b1e637fe3fcba912567c7316325fcaa0db11c39e38cd73179b98e91cb518d9bc4e241823a54ab7e52d9f814a38e1289e4b2664ee9b343a590239bcab1b30c9980492c1a440bc4487617710cf787bd5dca914d5bec034827c9e826b14892f52ba33c7a5f98f2da349944946cb440b69c241a1e6a5f236c1a74d82122930cd8cc861e834d31679129f4806d91b674cc5818bf0a4eb540c67c989d0fb6b3b23344400f61643384a7bf3c462291484630dea477f3b7367fb37ff567ee9d5143dbb76fe781071e9856dddacbd740fdf88cda9fd308f07840f10fd0ff0e6cfa272fa5bd35ae6f830f0716d1df37c8fce54dfcf7ff7a9cefff18162cba1ad17c070f7eb6c45ffe4f1b1c2fb523d31ccdf32cc27bdb91f374216552815bb18cbd941372444c22b914d8b2650bf7dc73cfa475a43e5f0efa3c33ec7c1cd3496145a59720915c2ca6a3cf12971dcf6ce5feee2fdd0ff4e20e2b9d024e0e7bdf0b3872c6e55ca92b78af1a0451e79b4f40e1e5cf52573f4ddbcd4bd03e78034beef830f3e72f405bb08087ff7c377ffac7ff993d2fbcc07ff9cd1758ffff1c83a35e6a47bde03d5f4b3e251289e40ae58ad5e72a852cc4d2d2699148249717d271395b0478bdc0b27e7ef2632894021cecff32f1877e99bb6e5f30a2ea912347d9b5eb59de7cabc21b6f1ee7676e3fc6fa477df09a87c1935e943964146d1afba530766b32894422b924b84cf5792aec4202235d45f7db94fd4972d26f9148249719d271391b04787dc0a201b664e18dbe3fe4d35ff80ac15b47decebffaabbfe2a9a79ea252a9d0d7d7c74d37ddc49b6fbec7a7ee5802d51ee857e68e51742ae4ad14b97d70209bc68aa4889fc3c6921289447251b81cf5799a387699e2d379ca6b32e492d3d9bb452291482e2da4e3325304789a052c1ce4af3370eaea27f9fd2f3f40cbb02a5ffbdad7d8b2650b274f9e445555c2e130ab57afe6d5575fe5033785b9e38617e0dd6f83770e2575537522718b72dcbad83d91482492b3e372d5e769e28fe6a85e5abe96442291cc08e9b8cc1401cad2419ec8c0c96bbecd1facfbfce9a2dede5ebefbddefb273e74e7ee3377e83f6f676f6eeddcbadb7de8acfe7637070909b3efc110ebdbc1d5aa03e70e9194689442299b3487d96482492cb1ae9b8cc84ba82f7ba01beff1dd8dbfb28a93ffafc88629fcfc7a2458bf8ca57be42ad5663dfbe7ddc7efbeddc7df7ddf4f5f5d1d6d6c6d61d6fa15fdb07cd20facfd74e66128944728521f5592291482e7ba4e332033ccd757aab827ffce1c7f9bde4974794f5f5f5b16ddb365e7ffd75aad52a0b162ce0da6baf65e1c2851c3f7e9c458b16b17cf972daaf3f81fae6abd07c912e422291482e43a43e4b2412c9e58f745c6680b27490effc0d2cfbd07fe6034b4795290ac16090cf7dee7378bd1327fc7fefc0663ee53f06a76418c274b17351027115ab9c2532d7b2e4381572e9348552895cc12694b4b0e27251ac4472a191fa3c1a874ac1229d4a93d33294b3e151bae450ce674825d394a3798a72efae59614edbab2971282742c41c8b625ada31c9dce47250e70b4363c1e3eb47348277fdc298e29696166eb8e186498de2f6ef1f66e0cd4759de01b5be0be3333a95025622825f5150d43009ab40c5399f272c61196182a130e15000555150148570ce3eeb26553d4c2412469fb68a3a544ad571bfaf16b2a4a21a8aa2a006c244a211c2411d3d14235518ef98c9cf534a4449fb13a4b379f2098d423a4bf97cde5f894432964b4e9f1d2a852ca988ab455a304acc303062114281206123cd8ce5680c2afe60087f651fd5093449f36b544b07387b759e5da4bd1af57dc1c20cab288a4220519eb0053b1771fb1e8c93c93fcbb3d90411bf7b2dfe689afc08a36453b40c028a82164e90ab8c6acbb6a9dad28849e62ed27199261e6f9dc13781797771c7ed57cdf8f8f74fc0f62d06f7fefc2938e105e5c2a47e51f530463249a40d0827481a3311d49962938b454869490ac5028562197bef46badb7ce7d4aa1a34b1ac3881e9f6bb62615a15c64aaf8a3f1cc34c4469c3472493279fcb532815486a791e5e1dc62ccd40b09d12996c19d5af012a01b340b59c222887a924920bcaa5a7cf2a7a38869974b5289cce92b52cac6c9e622145a0f010abc309662247e39e45d3094c98d55ec51f08129c4359efa5bd1ad1127ad820958cd20aeccb24298ceb4f55b092dbe8033ae249e2914ff2c9588aacd54d2ba047634446744623143389ac5c43369722aabb6da4832afe681622214261c846fd28c11413bb4b12c9c5413a2ed3446916bcf116ccbf2ac8b2d633df3b8e437f7fff94c7fff1571ee533b76d65e90a85dac98947fdce0f2a2ae053cff32f6aa78495b7d123418666c8d580412613c57fa17eccdb45523193e2640366eae8f97b9d5822422bfbc859e5710cc88427a362c3f9bead128964722e597d1ea345803f4232b912f665489fabe732e5f9e7a278497b35025523d8b58ab69ecd24736367669c629a9cbf8b76463e4e2d9cc06887e7d2592aa38f295994c326e1d37f7e3a866561faf3a4ac2a763645ce6fb2c98a23030825730de9b84c179fc29163a02e583ee2eb7abdceb7bffd6d0e1f3e3cee61870edbfcfe7ffe6356f8127cfa01a8bfdd049e8b9d68dfa1928d138dc6318d08c1409844c1066c8a9918baa2a0e806d9c6f4b253ce120ff889a48bd8131e0ba0a1fbfbd8168f630d9b9ad64206a1e186c02961c50d8cb8412418209cc853c5a15ab430a30102b11cf944084dd189ffc333641351827a94bce35029648887038452050aa94648811e2635d4ff6c867cb98f43852486616255a679476c1b07d002dac8b85ebb48c68c63c4c204f5a1bebac6c2305214fbfa28260d6246827c75a2fa135c5bc19ebc7e2440c0c853cec509690a8a162635fc87ccb8f771f27e4b24972597953ebb0ed7a86f26d15d26d782e1542c229a4a2096225ba80e1ba4a9923343f815052d181ba1df38652cd3c088c7898583846299c60fed69ead4396b91b4575a3881d9013b53e951b37036f974998819628c0bac0631132b614f7a94036c53cc54888c5a8be9d8552a952a0e2aa8e0542b32644c3227b9b21d17018a025e5f1daf479c8e931e97961ac7fba05f8c9c579f3f7f3e9ffe4c17fff0d4d37ce31bdf60e7ce1d3cf7c241767cff759e79e6bbfcdddf3fcd9be54dfcc61781f7bd939ee28251cd1233f2e8c934692b47265ce651334b058d50dcc2ea6e053540b031bdacea01f4508a8c19429bf058400d92c8aca1fdc0661ebc55276c36d67bf82398a787762a64a20685681a2b6391cb84283f1a255e7040d5704afbd857b228851224d784b969e932fc4e993d8d206dd5af512deda39cb328ea49f2bb36d2cd4e1e8ec6c9db1aa1789a78005ac3492c2b8da14f7d3b9c4a16d3dc465fc73ad2b1e10754b0e216fe44062b5ba0988b527df45e6256153564625909423e1fa1a445d64a11f14f5c7fbc6b0b6887266edf1f402def635fd122e7c4c99577f388be9387cd5c231e7d92fb3849bf25924b862b549f9d4a8e44720f74c43187e24e27d3dd49b56044cb94f379b464915236412cec3ffdc3b592cd500c26b036ad2754d9cc8321a311965425178b60059358990cd97c9658c5241ccd508169e9d4396b91b457808e91ecc4b72fd3707a4e3f3832181813c4a5e9b1045dbe0358a9c299754cd5021927c6085347855c3245513749866d9c9049dc5f2495cc8d99ad91482e36577656b19ac0738d8273b805551bc42bea0c1ef3a278c7375ff6a945f85aaf03e01fbff3033c2ca0c5778a377ff23acdbeabd097fbf8decebd68a7eea3e7fd3a8beef816ffb7b9860f2c7997575fff036efb681d9439e02baa01a2b118215d051c544d03bb82ed00aa4a2861d07e6706ab64920aaa38a52c95a8893ee5b1e08f58947687318d384f7cf557b83593624dc62263b8a33b4e3145aa1c24db300c6a3049e6b1106a40c3ef0f13d6c152e3c4a311b4681400fb881f323014931df243296462c682a884c85879f2ab73a48b3691c8746f421fa5b48991ccf1c44ee8dab08b834668448880534a932a5689588d385fdb26b06a254eb58a837f4cc69589ebdb68c1b1d7e6944c8213d457759da01f5af578e33a211a59c1c3b9125562a813de4775c6fd9648e624578c3ef75148c48805549c4a89fcce7df4b575b1219b3cb35e6e12dd754a136b01a7e7546cca569ca46d6225c6668bd263495246008812f6dbe8ab2d52459bb09ec6cc6b2432fae97e18c928c97b93a48a0699d0143a351b5a24ed95db562489d1f6091e4fe648470cfc3894d25974338fdf3de158b40809a38da71f4f914b4730fc50c95ba886c548175f275ea812c7a16426b01d9548a62467e92573922bda71f17ea0cedffe8dc6f65dd712f9a4cd039f7d17d557a33e38d278290238059577dbf9d94fddc5be4a9dd41f7d8a877ea7ce3c01fe26f8e7ef05887c752fd72c7b85abdfe8e1864fc29ffcd963dc7ef72696346fe55f9e6882c1b9309e076821125690722e4da250c5a9d8302c68400dc689aff82ae94c89642640316b134dfaa7752c801634b04a514c2b41dc7c9c271ebc93527537c54410bb54a44a04edb441d6899af133e706544d1d61d0c60b7556fd67ea68c118413653add83076c27c027c04cd34963f40f9d68728166dd4f8c81a4eb944458b6126e2ae119c82c9ebdb63ae6daafaa351fd80e3e0384c7a1fedc2ccfa2d91cc45ae1c7df6114e65c986ddffcc4e2547227a1fbf7d6b90f2ae22e99036a9ee4ea5a9007da52491bc8351cc4ca9906a284ac8f738958a4db55ae0409f366240470b4608b09962a90aa1b1ad0dd7a9996ae8b8487bd568244422d1c1e30f25499762a4f402a97294644865e26911959069b2e2f1874959658c0464b33af1dc44e75509a6cb7241be644e330786ff2f1e42f1f0ee11855ffae261f2cf9ee07f7e7d3ecaf2fa987a9e85354ebd0b95f76e6365c7429ed9f64ffce197ea3cf09bf0e9cfc2e77e0dccff50e6e73e7e37dff88b18fedbbde078f98307b7728377233f7cb10fa13471b187bad533bf98b1622112d530c9740a333c3aad4c8098d9c1a16c9a42a54096d899457c931deb94b1b295c6078da091a158d9c1ba15b02799a4e8b826a3af5aa632ea77f9d898ee995c9886e603f56c1673064cb21b5671e80903333fb2530e0e7d953ce5517db527c82d7abeeb8f3c76e2fb782eed4a2473852b4d9f8750f528e9ec7a56b08faf0ead07994477a7a3a9be409c44a8c2a3d1c4e40bc1dd1ea0aaee0f721c07b0a90e3f4675d7014e476fcf458ba4bd1a8b1e4bd2e93b402655a0944de318b1a917cf070c12ab605f3a45be90a1108e8f5cc323915c625cd18e4bfd0d85f5eb7af8a2718ccadb5e0e1d11d0ac8ca8a30860419dfcf34b59f1d1dfe28dc3f0d68bff85cfdf07f5979aa8bddf4ced95166ef9a4c297ee3dc9e205755a5aebd40f7a696982effc6b0b0f7cf117f8f3afdf0457d550c6dadd0b86a6bb53f376de249e0f601a136f30a54713ac7272244c0b2d163a5d6ff2636d4ad9fcc8c11f2d4c22b112fadc11387f30486b5f9ed4f0ec28d51ce9fc94d67404cef0ea76159b76c2a1b3cbeba9c72d36acb27922166778fa7e4d0fd2d6f33489e199c6ec3c997c65dc76ce77fde14c761fcfa55d8964ae70a5e9f308b4803b16dff8813c99ee4e4b53d50046d6a2b3fa55a2667ef27d5bec0a15a78358c88f160ad146995c697822001bc7b782e834f4f65cb448daab71f047481a6df46c8e11cbe898d1e9b4e1279aeca6f5d013c4e265a23199274c726973e53a2e75f0360b583648cf0f9bd9f54233bf766f1d7ace840b287505cf7503bcf922e4fefd1789fdcacff3bf376e64f5ad2fc2550aa2d630a24d028e0a962c5dc235576be0084493a0d6d302eff7f307bffc02db7e7403bd3f55f0ccaf5da00b74281a7e94408292e3e0a82b880dadc6731cfa7a0a58f93295629674ae02769572b17066f3447f0433027b4a0162c3372699e258a798c048158719c62a855c99b66e9390e6e6b88fafe863e7836162290b2b93201acb116888b8c3695b3dfc94d037f2bb6ae94cfc6d359fa1124e6236f458d3a0a75ca65a298eda786ba8411be8c33e7d229db8956195b39958cc3a6dc8d49089d9017b1e0a12365264d20962510b3d1238dd31a7af0fbb917965aafaa3af6df2facea4699927bb8f53f65b2299eb5cf6fadcc019ef07b04d2195e2397c749a11772dc224ba5b094caea9348e57fd312cab0be78918f1516975ed72b5a1d90ec5741ac770178aabc104c955b02d99399dcdaa92b7b023298c805b7f529d9ab616497b35b1bd7286d92a959099a0831e889984d53375dcbe8cff34b4909b1ad9d18dc6be2d12c9e545f3b7367f53bcfffefb337a3df9e49362ba0cbe74b5187cb1f9a2bd064acd42bcda2cc401c49b2f223e72738bb8ebb6ab84383e4fd45ff28ac152b3107b9b85b011af6e43fcfaaf768a1fbcd02736fefd6ef1c8ef21c461446dcfc836c521c4d753b788fff65087105544adf17dfd65af1055c417eefdb8f8db3ff50bd18318dc730efd7fe9ea69dfe7839bd688153e9f58d1b546acdbb457f40e151cdd21d6af6c15d02656aedd24766f5d23da7ceda26bc3b03a4288de1d6b45d7637b47363ad9b1bdbbc4da36042068eb10ab3a3bc5aa952b45e7ba4d62eff0860f3e25d6ad6a138068eb582336eeee1542f48abd4fad17ab7c087cabc4faa7f68aa34288defd5bc5239dad025a45e7235bc5fedebde2911508dfca2ed1bd769d58b7b65b74753f26761d1dd6fc56f7badbbb368c3cafe81507776c128f74b9e7f6ad5c27366e3d73cd0737760a1f88d6956bc42343f7ebe056b1beb35df840d0de29d6ef689ce8e00eb1716d87f09d6e67b7383a61fdf1af4d4c527fffd646fdb66eb161c77e7170d726b1ae03012bc49a8dbb1ae71aef3e4ed6aee472e4c9279f94fa7cc9e973afd8bf639378a4abd5d5cbf60eb1aab34b74777789551deda2bda373669a3dae161c15bb8774a7ad4b3cb675bf38ba778358454347366c15fb7b8538b86b8358b3aa4374acea14dddddd62cd233bc4c1e15d3dba4b3cd6dd2156acec14dd6bba45f7ba8d0d5d9dae4e4d4f8ba4bd1a6baff6efd8e4b6d7be466c78aa6163c441f15477b7d8d4784847773f2536ac59e15ec78a3562c3902d1ac5fe0d5d62adb403179ce9e8b37cb9af6f6dfea600be08dc0bac02ee063e0ce8c032601163e6ddcf382efdab3f73ef8cbc9deddbb7f3c0030f4cab6eede56ba07e7c46edcf268a22f05c3dc886affbf9e3bf6ae5e0e17738fadc71b4bb802aa042ff21f8d676f8c12bff179ff9a5ff97f7ab15de7ea1933ffc9d77f1d49b18ec555086dd3defb201beb56539c59797f0677fb487fad166842b25786f18e04ffee4437c7f77135bfffe15c4e126ea62bc5b3f0d3c8bf0de766416eec2a54a9954e0562c632fe5849c419048b66cd9c23df7dc33691da9cf529f25170369afae74a6a3cf12971dcf6ce5feee2fdd0ff402a71aaf93c3def702ce159955cc736d8d7fca2afceb4f7f8f7bef1be4d69be793dfb393792ffc2b4bb501de38a2f2ceb14fd1d7fc5b7cf8131dbcf8dc932cecff7dfefff6ee3dc8ceb3b0eff8ef3d676fba4b962559b6251b64c701818b0d3860430cc498fb252536e0061a1a980081649ae9d0522637324dd34cc3b469325cdc29a4932680098640ed70114908863090090e26632c2a5bbe6925d9d2aea4d59ebd9cf3f68f73d65ecb5ac9b216efb3ebcf67e6cc59efbee7b26bfb79e6fbbecf79df0ffcf264aa665fda471aa98ebd485927e91f589e89a9fe646ad6f7ab24d3c9f39f39928f7dee19d9fd8fff2fe76d9f4c0e3e29fff40027647c06602e4fbad1b9aaea64b2cef7eefac9f40fadce47fef017b27b78793efb85d764e4e0fd19dbbd2f238786b269c39a9c39707b4676fd6e9e77fe2d79e9ab928cf6a77da49ae3caca5576ed3923fb0eb4934e952ab3ae97d648061be369d5dbb2e37b77e6df5c766772f009fb95979c9124ad91ee9a5e274781a5c3f8cc5263be82f9f5a40b9746958cde915cf4f417e42d2f7f4fbe7bdb64fe69c71bf28c2d8733b67c5ba6268f64edb2e1d413b767edb2fb73c5eb92aca952efe94b2739fea458271948ee1f3e9caaee242babd44767fdfc4023173f7322179dbb3bb7de3198741aa9aa74972af0d8b5eeca5f7de2f7f2b91f26bb3ff9dff28997ff5edef9a85363028b95f19925c37c053f164fba70495f3b9d4623fff08356868fde90c9fbde975f78ed5d597f76d239b0238d8124cb7bb7c94632d248fb68d55d523087aa512713759a43e7e60597de9b343ba9ebe6433fef8c35b3eaacc9fcf425477374e29c64ecf624cdb99f90e31b3a3f2f7fe72772fb3b3fb1d0ef04f871303eb35498afe0c7a2ac70e924cdbe24ebd23d9de0d1a4ddce0927a55336900cace8cf7ff983afe73dd77d2effe3a34792fd7d691facd2ecefa4ae93cee14632fbb3a92779fd465f2739d49f23e32bf2ac0b4793d6231f5037924c2683837d99aa973f728d35c062607c06608115751d97c65072682cf9f49f77f283ef778fd3379727cda1a4b922b316259f86c1466edfd5c8c60d63f9c0bbc793d146da87aba491b43b8d743a8fe34fd2acf3e08195e96f4ee627ce1949c68ff346ab64f5ca814c4eb466fe1160d1303e03b0d0ca3ae2d2978c8dd7b9775f32d6aa33de4af68d249bd62567ac4fcedf5ca55a9eee04d94aea76771df2a9ac45ae8f262b9757f9c21fd739eba9497b6ff3f457050cd5d979ff19e9eb6b67c386a3c9c4f19f70d96027d3ed27f8026700f3c1f80cc0022b2a5c3a63c9e60d557eed57abb41f4c0e1c4ed6aea9f3d5bfafb365539533b7265fbeb1cebad5c9a5cfacb27230e95b99eeeeb14eef49a692f664e6dc65d6196be4a26d53c9ca89b4f757a73c29361ac74cc69d2a599efc70f7aaf45563c9aa3a9d03c7d92b582547c7a732395527cdf9d93909f044313e03b0d08a0a9754dd35d3d583ddb5d41bd6271b3655b9604b95ba91ecb93f59be32999c4afef63b75069ac9c4649df56bab6c5a9ff4f725eb5657597bf6c3cf975692e9ee64d9682675b337711e689cda7a803a4923a90693aa2f691f4eea4ed2b7763a69279fde7146ae7af6ae6445521f38e6d7ea24194cf61f98ce50ff64f783a50b777d378053677c06608195152e49d2491aab923493e98349dff224034935919cbd3e39fb15557234698d25a363c9bdf727e3ad64cf83c9cebbea3cf59ca4737b32d94a0607930bb75459b73a59b5b6fb9c555fba9fec194bd2ee7edd9e3ef9db6a34bbefe37ffd799dd52b3af9b95feaed423c9cfcc5677e2a479aafcb0b9ff59f7a7b17aba4eaeef66b9e5927ebdbc9eee4e65b8672c5f6bb938d551a473a991e6da6eab36f0f58248ccf002ca0e2c2a5b122f9de3fd6193994bce8455586efee4e70ebb6a67bb6978924ed64685932b43cd97476d5dddbd64c5e706995d1d1e4d61fd6199fa853d755feea5b9d6c5e5fe525afac72d3673b199f482e7c4a95a73da5caaa9549d54e9acbd2fd4b347acf9fa47d348f3875415d27d564f2ac8b3bd9b37f289ff9c440eedad39fcf7df98cfc60f8a26c5c7b4b6edcd1c84ffc8b81ac1c6a27d355d26ce6cb37d569ac5d99bbee7a6e9ef293afcc176e59913daf1acb873f782867ae6ba73356d4f91100e6647c06602115172e753b59b522e91f4a0e8e245ffb7627fdfdc99a1f565956256b5625e79f536568201958d97b50abbb84a1d94cce5897bcf825555277d747d787ab1c6d25ad3dc9d99baa4cd6c98feeaab3ef81e481d13a0f1e487ee6795526a793898964dbf955aa4e9db33757a967ede9abebeed2834b9f97d493cdbcff3f9f9d2fffdd74366ceae4b7aefe729ef3cce1dc7afba67cffbb67e48ae7ef4dddaa32de1acabef1817cfc7f6fcdaec357e79d6fd8999f7ff13fe786cff665c7d7d7e74d6fdadfddb308b008189f015848e5854b2bd9764195f427637b939f7d6923878f24bbefab333695dcbd273978b8ce030792b5ab92cd677527bcb567f69e602ac958effa02499a8d64c5b264c55072c50babee6f3c59a57520d9fb4095070fd559be2c993e924c4d277ffbed4e1a8de4ba3754e94cf77616ae4df79a05ada43ddc97e68ab1bcff6df7e57d6f99cc19e74f24cb3bc974952b5ebc3f9dbdfd698ff4a5eaabd35c399165432bb372e8c1bcf1d91fcadbae1acec68b939ffdb9feb4760dcccf1973009e20c66700165271e19246d21e4f723459be22a99ac9b295c9c62dbd49ad954c8d270f8c2477de53e78e3bebfcd31d495fea5cb4adcae633ab0cf625abd6759fee114b0a4693d4dd33cf0c0d25e76d4bceebafbacb0ffa7bdb8d55c9b2a47324499534aa64c757ea3c7d5b95b336279d569d7abc99351b469376951c6826079be9f426e2aa6aa7aeaa34fa3b991c5b91bdf735f3915fdf9fcdcf6d25c3c9f4ce8134fa3a191a68a5ddb60c0158448ccf002ca0f2c2654695743ae99e46732addb3cf24a9aaa4bfd1dd93b7794b954c5739b82fb96d5772df9e64d7dd752e382f396332996a5539f7dca49e3ae679eb24d349b34e32d95d62d06925557f726834b96f679d0bb756e91fec2e8d583ed4dd3398ba3b511f1d4f86d29fe660ba1f529dec7e80b47f20e9d4bd53e14c3753b55a79f72f8e657aa44ebdab3f9d765235bb6bbbdb6d973883f9303c3c9c1d3b762cf4db9837755de7eaabafcec68d1b17faadcccdf80c3c06c667e65bb9e13287ba4edabd0b9ca5d5dde3b66e7df2c2ad55d24a461e4cd2486ebba3ce53cfed9e44e651e785a97b67afa993d143c99a35ddf5d7194ceede53e76bdfaeb36d6b95ba93340693e7bfa2910cd7996e25cdc1a4d5aef3cd6f27973da7cad8689d7ffe5172e51555f72c3875d25c957cffd63aa387ebf4efaad26c36f29ce7e6e1536c7692e6409281a433de9d8d8d1e2d00000d5c49444154985daa191e9f9b6eba296f7ef39b17fa6dccab1b6fbc31d75d77dd42bf8d53667c0666333e33df165db81cabd3db2b97c9ee24b9765d77adf30b2ee9aec33ef6ec3349ef7a01fdc9a7feb24e7f5f32d54e5ef4dc64d3d62a173fbbcac5cfa9528f24755fb26b579d83dfab73e9f62a8d66d2994cd6afadf28c0beb34269346aa5c785ed2dfdfbdfe40d548eae9eef50a366fa852a5fb81d5ce91875fbf1a480e8c240f1ca873ded955fa077a932370cafafbfb53d775eaba4e55554be2bebd44aee06e7c862737e333f36dd187cb6c9d3ac9446f72ea2d2f3876524cba7bf8da47938b2f4aced95865ef58f277dfede48c3b93d5cb924e3bb9ecd9ddd378b6269381fe590fae92f644b27973954c27ab56a7bb1ce17077994263a8fb02e79e9b8777254ef73e8c5a3dfc1c9d469d3d0f74d7726fddd27d4ee0f1e9743aa9aa6ac9dcd7f5a38e432c7ac66778725ae8f1d4f8bcb42ca9709951d7c7597e30fbe7bd53733e6d7bf7839fab3725cbea46a6a7eb8c1e491afd0f4fac4f7f5ad5fd406aefc3a0491e9a1c9374971f4c258dbea45e9e7cf14bdd0b9bbde2a58d5453b3f6d4cd5a6a504f2467aead72e54f77275493223c7e9d4ee7a13d7a4996c4fd529e188dcff0e4617c66be2dc97039a9aab7167b6679c06472eed6de0f9a49eade1eba9933e8f47e74c2a76c249363c9f2c1e4ac33bbeba9e7fc6fbbd15db690c9ee1974fc3f00a7c744b284189f6149313e339f9e9ce172ac6ad60438f3ad533c1366673a1948f292abba4b14da8773dc6510c7f2ff339c9ed97bf4167aed735555a9c777e79ec9f3b265f5e37f1e13fd2cc66758b48ccfcc3727aa9f2fbd8b41b74793f658fc65e109d4e974e6be6f7d35ff72d3daac5bb72e6bd7cedc6fcd65affeb5fce9ed474ffef8249ddb3f94cbce7a753e73f024db1dbd35bffdd32fcd6fdefa189f778e7b13e33c333ec382313e339f16e6884be7f0c9b7e1f8fcede01166f680cdb926b9532719cc15d7ff4daebf624d323191d17ddfcf4dfffddfe53d57de91d6dfff65deb6f5246b9b677ddde99c68bb5686475b495d3f6a925b346ba88d318f9fbf1d3c82f199f9b630fb9dface491aabdd1ecfadef9c05f95706a59a3d31ce754b92d51bb764e3c68dd9b8654b2e7cf62bf3ab1ffb7c7e7dcb2df9e007bf91f1de7623dff978de7ee5d3b27efdfaac7fca9579fb87bf9391ba4e9dee07caeb136e379c3fbbf69a7c72dfa1dc78ed25b9e6cf769ff8391fc37b5e10c667e333cc13e333f36d418eb8349f76e742bc2cb004cd9e4c8ebb26b9b7072ec7aeb51ed89657bce982fcce9ffcdfdc317e799e31fad9bce3da0f64f4573e99db6e7e4106777e3cbff4fa6bf3f60ddfcca79fd99b1aeb3a9de1136cf7c94fe51b97be3113d7ff433e76f960eae1cfe6edd77e20877ee553b9eda6cb33f4a33fc93b5e7f6ddeb1f19bf9e4eb37ceb9867a21199f81f9627c66be59e90b2c6a75efb0ff89eeeb39b65bb56175323a9a56a793bd3b3e9a5bd6bc35bfff8ecbb361a093d5dbff753ef8de8df9e6477764b837b9761ee3763393f0f08e8fe49b6bde9adf7fc7f3b361b0ceaaed6fcdefbc77636ef9c88eec3dc9fb0658ec8ccfcc3767150316b5c7bc47af7ef4d96d4676ee4f365e9e5583750eeedc97897baecfcf9c77fd235fe0829dd93bb126337bf44eb85deb82deb285eee436b273ff9cdb0e1fed64c3327bf480a5cbf8cc7c132ec0a277c22b1de7e10b1e3ee2fb133fcacd37df930d97bf3ce7743a397cc1c60c6e7b6bbef28df7e68299496ae4eedc3bb931e78e5effd0e3d79c68bbfedb665e2849b26adb860c5ef0967ce5ebefc9853393dfa17b7377ebcc6c1d3af1fb06580a8ccfcc274bc580456d662fddc90eeb8feebd3b7bf7eecdf0f0eeecfceecdf9c3775e97dfddffa2fcc75fbe2483759d33af7c4b2eddff47f98d8f7e277beb3a478777e4dfbffaa7f2aafffafdee8743bb2f76d2ed0633917df7dcd3dd63f7a2b7e4d27d7f94dff8d87733dce9647cefd7f2be575d9657ffc16d396a1902b0c4199f996f8eb8008bda49cff252d74926f2ad775f994b66be37b8214f7ffe6bf3c75f7a7f5e776edddd64c335f99f7f3a9af7ff875fcc25bfb53fc9865c72cd8772c36f5e9ac17bbff5f06b9d68bbc1d1bcf6b5dbf2f3fff6cabce6b62fe56f7efb04dbce4cb673fc4e008b9df199f9561de77bfd7ff1a9ff33f9e297bee2949ee8ab5ffd6aaeb9e69af97957008fd1873ffce1bce635af997b0df522bcffe217bf9877bdeb5d8fe9f7bfe1861b72d555579d701be333b0108ccf271f9fe9faebafdc9c37bcf15fbd21c97892a3bddbd8acafc793b42c150316bdc77b05e452efedd103968a851e4f8dcf4b8ba562c0a2f6d02935eb53bf0272a9f726466029303e33df840bb0e8994800ca647c663e091760519b9c9c7c682fd842af7d9eaffba9a9a985feb3029c36e333f34db8008bdad5575f9dcf7ffef369369b0bfd56e645bbddcecb5ef6b2857e1b00a7cdf8cc7c132ec0a2b67dfbf66cdfbe7da1df0600c7303e33df9c550c000028debc1e71b9e1861be6f3e9009827c6670016bb790b1717d8012893f11980a5c052310000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000289e700100008a275c000080e209170000a078c2050000285edf5c3ff8ebafdcfc44be0f0000e0c96b2ac974efd64ed2e9ddeade2dd5711ed4976430c9509265b3ee67be1eeafdbcffc7fbde0100802781a92413495abddb78efd69a753f31d711973addc269a75b3d53499a793874eadef70100004ec774bae1329164320f1f7d9939f25227c75f2a367338a6d37b40b3f7e0d9d1d29ee3b1000000a762e640c964baf1327bd9d843cbc5e68a8f99a32ded1c3f5a6682060000e074cc34c7cc6de6a8cb4c8f7492c776c4e578d1321567240300004edf4c77ccdc1ed71197d9d132fb332f8d08170000e0f4cd9c416ca63566df9fd2119799af9b7964b41cef8c64000000a762a6376607ccecfb131e71a9f3c8f3265779f808ccec1b0000c0e9a88fb975f2e81e99333eaac7780f000070baea93ddff7ff402efc9e68198e70000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Summary\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this chapter we made our application persistent by binding it to a server using a REST API. We also looked at some problems that might occur when serializing and deserializing data and their solutions. We looked at the dateFormat and the datepicker jQuery plugins and how to do some more advanced things in our Underscore templates. The code is available {\field{\*\fldinst{HYPERLINK "https://github.com/addyosmani/backbone-fundamentals/tree/gh-pages/practicals/exercise-2"}}{\fldrslt{\ul
+here
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Backbone Extensions\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone is flexible, simple, and powerful. However, you may find that the complexity of the application you are working on requires more than what it provides out of the box. There are certain concerns which it just doesn\u8217't address directly as one of it\u8217's goals is to be minimalist.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Take for example Views, which provide a default {\f1 render} method which does nothing and produces no real results when called, despite most implementations using it to generate the HTML that the view manages. Also, Models and Collections have no built-in way of handling nested hierarchies - if you require this functionality, you need to write it yourself or use a plugin.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In these cases, there are many existing Backbone plugins which can provide advanced solutions for large-scale Backbone apps. A fairly complete list of plugins and frameworks available can be found on the Backbone {\field{\*\fldinst{HYPERLINK "https://github.com/documentcloud/backbone/wiki/Extensions%2C-Plugins%2C-Resources"}}{\fldrslt{\ul
+wiki
+}}}
+. Using these add-ons, there is enough for applications of most sizes to be completed successfully.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this section of the book we will look at two popular Backbone add-ons: MarionetteJS and Thorax.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 MarionetteJS (Backbone.Marionette)\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i By Derick Bailey & Addy Osmani}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As we\u8217've seen, Backbone provides a great set of building blocks for our JavaScript applications. It gives us the core constructs that are needed to build small to mid-sized apps, organize jQuery DOM events, or create single page apps that support mobile devices and large scale enterprise needs. But Backbone is not a complete framework. It\u8217's a set of building blocks that leaves much of the application design, architecture, and scalability to the developer, including memory management, view management, and more.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "http://marionettejs.com"}}{\fldrslt{\ul
+MarionetteJS
+}}}
+ (a.k.a Backbone.Marionette) provides many of the features that the non-trivial application developer needs, above what Backbone itself provides. It is a composite application library that aims to simplify the construction of large scale applications. It does this by providing a collection of common design and implementation patterns found in the applications that the creator, {\field{\*\fldinst{HYPERLINK "http://lostechies.com/derickbailey/"}}{\fldrslt{\ul
+Derick Bailey
+}}}
+, and many other {\field{\*\fldinst{HYPERLINK "https://github.com/marionettejs/backbone.marionette/graphs/contributors"}}{\fldrslt{\ul
+contributors
+}}}
+ have been using to build Backbone apps.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Marionette\u8217's key benefits include:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Scaling applications out with modular, event driven architecture\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Sensible defaults, such as using Underscore templates for view rendering\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Easy to modify to make it work with your application\u8217's specific needs\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Reducing boilerplate for views, with specialized view types\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Build on a modular architecture with an Application and modules that attach to it\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Compose your application\u8217's visuals at runtime, with Region and Layout\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Nested views and layouts within visual regions\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Built-in memory management and zombie killing in views, regions, and layouts\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Built-in event clean up with the EventBinder\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Event-driven architecture with the EventAggregator\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Flexible, \u8220"as-needed\u8221" architecture allowing you to pick and choose what you need\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab And much, much more\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Marionette follows a similar philosophy to Backbone in that it provides a suite of components that can be used independently of each other, or used together to create significant advantages for us as developers. But it steps above the structural components of Backbone and provides an application layer, with more than a dozen components and building blocks.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Marionette\u8217's components range greatly in the features they provide, but they all work together to create a composite application layer that can both reduce boilerplate code and provide a much needed application structure. Its core components include various and specialized view types that take the boilerplate out of rendering common Backbone.Model and Backbone.Collection scenarios; an Application object and Module architecture to scale applications across sub-applications, features and files; integration of a command pattern, event aggregator, and request/response mechanism; and many more object types that can be extended in a myriad of ways to create an architecture that facilitates an application\u8217's specific needs.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In spite of the large number of constructs that Marionette provides, though, you\u8217're not required to use all of it just because you want to use some of it. Much like Backbone itself, you can pick and choose which features you want to use and when. This allows you to work with other Backbone frameworks and plugins very easily. It also means that you are not required to engage in an all-or-nothing migration to begin using Marionette.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Boilerplate Rendering Code\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Consider the code that it typically requires to render a view with Backbone and Underscore template. We need a template to render, which can be placed in the DOM directly, and we need the JavaScript that defines a view that uses the template and populates it with data from a model.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var MyView = Backbone.View.extend(\{\line
+ template: $('#my-view-template').html(),\line
+\line
+ render: function()\{\line
+\line
+ // compile the Underscore.js template\line
+ var compiledTemplate = _.template(this.template);\line
+\line
+ // render the template with the model data\line
+ var data = this.model.toJSON();\line
+ var html = compiledTemplate(data);\line
+\line
+ // populate the view with the rendered html\line
+ this.$el.html(html);\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Once this is in place, you need to create an instance of your view and pass your model into it. Then you can take the view\u8217's {\f1 el} and append it to the DOM in order to display the view.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Derick = new Person(\{\line
+ firstName: 'Derick',\line
+ lastName: 'Bailey',\line
+ email: 'derickbailey@example.com'\line
+\});\line
+\line
+var myView = new MyView(\{\line
+ model: Derick\line
+\})\line
+\line
+myView.render();\line
+\line
+$('#content').html(myView.el)\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This is a standard set up for defining, building, rendering, and displaying a view with Backbone. This is also what we call \u8220"boilerplate code\u8221" - code that is repeated over and over and over again, across every project and every implementation with the same functionality. It gets to be tedious and repetitious very quickly.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Enter Marionette\u8217's {\f1 ItemView} - a simple way to reduce the boilerplate of defining a view.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Reducing Boilerplate With Marionette.ItemView\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 All of Marionette\u8217's view types - with the exception of {\f1 Marionette.View} - include a built-in {\f1 render} method that handles the core rendering logic for you. We can take advantage of this by changing the {\f1 MyView} instance to inherit from one of these rather than {\f1 Backbone.View}. Instead of having to provide our own {\f1 render} method for the view, we can let Marionette render it for us. We\u8217'll still use the same Underscore.js template and rendering mechanism, but the implementation of this is hidden behind the scenes. Thus, we can reduce the amount of code needed for this view.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var MyView = Marionette.ItemView.extend(\{\line
+ template: '#my-view-template'\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 And that\u8217's it - that\u8217's all you need to get the exact same behaviour as the previous view implementation. Just replace {\f1 Backbone.View.extend} with {\f1 Marionette.ItemView.extend}, then get rid of the {\f1 render} method. You can still create the view instance with a {\f1 model}, call the {\f1 render} method on the view instance, and display the view in the DOM the same way that we did before. But the view definition has been reduced to a single line of configuration for the template.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Memory Management\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In addition to the reduction of code needed to define a view, Marionette includes some advanced memory management in all of its views, making the job of cleaning up a view instance and it\u8217's event handlers easy.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Consider the following view implementation:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var ZombieView = Backbone.View.extend(\{\line
+ template: '#my-view-template',\line
+\line
+ initialize: function()\{\line
+\line
+ // bind the model change to re-render this view\line
+ this.model.on('change', this.render, this);\line
+\line
+ \},\line
+\line
+ render: function()\{\line
+\line
+ // This alert is going to demonstrate a problem\line
+ alert('We`re rendering the view');\line
+\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If we create two instances of this view using the same variable name for both instances, and then change a value in the model, how many times will we see the alert box?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+var Person = Backbone.Model.extend(\{\line
+ defaults: \{\line
+ "firstName": "Jeremy",\line
+ "lastName": "Ashkenas",\line
+ "email": "jeremy@example.com"\line
+ \}\line
+\});\line
+\line
+var Derick = new Person(\{\line
+ firstName: 'Derick',\line
+ lastName: 'Bailey',\line
+ email: 'derick@example.com'\line
+\});\line
+\line
+\line
+// create the first view instance\line
+var zombieView = new ZombieView(\{\line
+ model: Derick\line
+\});\line
+\line
+// create a second view instance, re-using\line
+// the same variable name to store it\line
+zombieView = new ZombieView(\{\line
+ model: Derick\line
+\});\line
+\line
+Derick.set('email', 'derickbailey@example.com');\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Since we\u8217're re-using the same {\f1 zombieView} variable for both instances, the first instance of the view will fall out of scope immediately after the second is created. This allows the JavaScript garbage collector to come along and clean it up, which should mean the first view instance is no longer active and no longer going to respond to the model\u8217's \u8220"change\u8221" event.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 But when we run this code, we end up with the alert box showing up twice!\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The problem is caused by the model event binding in the view\u8217's {\f1 initialize} method. Whenever we pass {\f1 this.render} as the callback method to the model\u8217's {\f1 on} event binding, the model itself is being given a direct reference to the view instance. Since the model is now holding a reference to the view instance, replacing the {\f1 zombieView} variable with a new view instance is not going to let the original view fall out of scope. The model still has a reference, therefore the view is still in scope.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Since the original view is still in scope, and the second view instance is also in scope, changing data on the model will cause both view instances to respond.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Fixing this is easy, though. You just need to call {\f1 stopListening} when the view is done with its work and ready to be closed. To do this, add a {\f1 close} method to the view.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var ZombieView = Backbone.View.extend(\{\line
+ template: '#my-view-template',\line
+\line
+ initialize: function()\{\line
+ // bind the model change to re-render this view\line
+ this.listenTo(this.model, 'change', this.render);\line
+ \},\line
+\line
+ close: function()\{\line
+ // unbind the events that this view is listening to\line
+ this.stopListening();\line
+ \},\line
+\line
+ render: function()\{\line
+\line
+ // This alert is going to demonstrate a problem\line
+ alert('We`re rendering the view');\line
+\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Then call {\f1 close} on the first instance when it is no longer needed, and only one view instance will remain alive. For more information about the {\f1 listenTo} and {\f1 stopListening} functions, see the earlier Backbone Basics chapter and Derick\u8217's post on {\field{\*\fldinst{HYPERLINK "http://lostechies.com/derickbailey/2013/02/06/managing-events-as-relationships-not-just-references/"}}{\fldrslt{\ul
+Managing Events As Relationships, Not Just Resources
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Jeremy = new Person(\{\line
+ firstName: 'Jeremy',\line
+ lastName: 'Ashkenas',\line
+ email: 'jeremy@example.com'\line
+\});\line
+\line
+// create the first view instance\line
+var zombieView = new ZombieView(\{\line
+ model: Person\line
+\})\line
+zombieView.close(); // double-tap the zombie\line
+\line
+// create a second view instance, re-using\line
+// the same variable name to store it\line
+zombieView = new ZombieView(\{\line
+ model: Person\line
+\})\line
+\line
+Person.set('email', 'jeremyashkenas@example.com');\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now we only see one alert box when this code runs.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Rather than having to manually remove these event handlers, though, we can let Marionette do it for us.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var ZombieView = Marionette.ItemView.extend(\{\line
+ template: '#my-view-template',\line
+\line
+ initialize: function()\{\line
+\line
+ // bind the model change to re-render this view\line
+ this.listenTo(this.model, 'change', this.render);\line
+\line
+ \},\line
+\line
+ render: function()\{\line
+\line
+ // This alert is going to demonstrate a problem\line
+ alert('We`re rendering the view');\line
+\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Notice in this case we are using a method called {\f1 listenTo}. This method comes from Backbone.Events, and is available in all objects that mix in Backbone.Events - including most Marionette objects. The {\f1 listenTo} method signature is similar to that of the {\f1 on} method, with the exception of passing the object that triggers the event as the first parameter.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Marionette\u8217's views also provide a {\f1 close} event, in which the event bindings that are set up with the {\f1 listenTo} are automatically removed. This means we no longer need to define a {\f1 close} method directly, and when we use the {\f1 listenTo} method, we know that our events will be removed and our views will not turn into zombies.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 But how do we automate the call to {\f1 close} on a view, in the real application? When and where do we call that? Enter the {\f1 Marionette.Region} - an object that manages the lifecycle of an individual view.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Region Management\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 After a view is created, it typically needs to be placed in the DOM so that it becomes visible. This is usually done with a jQuery selector and setting the {\f1 html()} of the resulting object:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Joe = new Person(\{\line
+ firstName: 'Joe',\line
+ lastName: 'Bob',\line
+ email: 'joebob@example.com'\line
+\});\line
+\line
+var myView = new MyView(\{\line
+ model: Joe\line
+\})\line
+\line
+myView.render();\line
+\line
+// show the view in the DOM\line
+$('#content').html(myView.el)\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This, again, is boilerplate code. We shouldn\u8217't have to manually call {\f1 render} and manually select the DOM elements to show the view. Furthermore, this code doesn\u8217't lend itself to closing any previous view instance that might be attached to the DOM element we want to populate. And we\u8217've seen the danger of zombie views already.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To solve these problems, Marionette provides a {\f1 Region} object - an object that manages the lifecycle of individual views, displayed in a particular DOM element.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // create a region instance, telling it which DOM element to manage\line
+var myRegion = new Marionette.Region(\{\line
+ el: '#content'\line
+\});\line
+\line
+// show a view in the region\line
+var view1 = new MyView(\{ /* ... */ \});\line
+myRegion.show(view1);\line
+\line
+// somewhere else in the code,\line
+// show a different view\line
+var view2 = new MyView(\{ /* ... */ \});\line
+myRegion.show(view2);\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 There are several things to note, here. First, we\u8217're telling the region what DOM element to manage by specifying an {\f1 el} in the region instance. Second, we\u8217're no longer calling the {\f1 render} method on our views. And lastly, we\u8217're not calling {\f1 close} on our view, either, though this is getting called for us.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When we use a region to manage the lifecycle of our views, and display the views in the DOM, the region itself handles these concerns. By passing a view instance into the {\f1 show} method of the region, it will call the render method on the view for us. It will then take the resulting {\f1 el} of the view and populate the DOM element.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The next time we call the {\f1 show} method of the region, the region remembers that it is currently displaying a view. The region calls the {\f1 close} method on the view, removes it from the DOM, and then proceeds to run the render & display code for the new view that was passed in.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Since the region handles calling {\f1 close} for us, and we\u8217're using the {\f1 listenTo} event binder in our view instance, we no longer have to worry about zombie views in our application.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Regions are not limited to just Marionette views, though. Any valid Backbone.View can be managed by a Marionette.Region. If your view happens to have a {\f1 close} method, it will be called when the view is closed. If not, the Backbone.View built-in method, {\f1 remove}, will be called instead.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Marionette Todo app\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Having learned about Marionette\u8217's high-level concepts, let\u8217's explore refactoring the Todo application we created in our first exercise to use it. The complete code for this application can be found in Derick\u8217's TodoMVC {\field{\*\fldinst{HYPERLINK "https://github.com/derickbailey/todomvc/tree/marionette/labs/architecture-examples/backbone_marionette/js"}}{\fldrslt{\ul
+fork
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Our final implementation will be visually and functionally equivalent to the original app, as seen below.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d4948445200000258000001700802000000eb13924d00000129694343504943432050726f66696c6500001895636060327074717265126060c8cd2b290a72775288888c5260bfc0c0c1c0cd20cca0cc609e985c5ce01810e0c3000479f979a90c18e0db350646107d59176416a63c5ec0955c505402a4ff00b1514a6a71320303a301909d595e520014679c03648b246583d91b40eca290206720fb0890cd970e615f01b19320ec27207611d01340f61790fa74309b89036c0e842d036297a45680ec6570ce2fa82cca4ccf28513032303050704cc94f4a5508ae2c2e49cd2d56f0cc4bce2f2ac82f4a2c494d01aa85b80f0cf89df373f28b7c134b92331480c146a2af8900a07880b0bedd8186af15420c01924b8bcaa04c46c6b384f908339ab21918dc80fe6133438805293330aca8646090be8e1053f2606010546560d8a80000221d52a1009ff9fb000000097048597300000b1300000b1301009a9c180000200049444154789cecbde9721c497235eab95565155058b8807b8fdac67425cdf216f77b9e31d98cc946d6af77bf3f32c94ca3194d377b6137c9069a2488a5505b66e512f7c7a938f08ccc02c07d061df1034c664546789c8c485fc2dd2338383848d3b4aaaa288ab22c13111149d35444f0df344d71912409ea2449521405eeebebf68368adaa2a11e97c368a2254288a028fa032eae027d689a248ffcdb20cedf02fbac3b5d3261a69f7a55b236d7a08edbe3c561e2b8f95c7ca63759db08afef8c73f4e26932008822088a268b1580c0683e5721904c162b1d8dcdc1491388e67b359afd733c6f47abdc964823a2252d7352aa03eaecbb2149120088c31cbe572b158e0d9baae178b052aa4693a994c50ad288a3ccfe3388ee3380cc3e5729924099fc5755114b3d92c0882b22cebba9ecd66a0ad2ccbb22c591f5d9765a9c7124511fad2f7d9a6431bc8aeeb3a4992e57259d735dac44f1e2b8f95c7ca63e5b1ba6e58412324b3d58c9acc93ec9d752e962358d97996f5791f3202650a7d9fbcda9111b46c9224099ea56042223ba509474ed1f4b7ef3b3285234f79ac3c561e2b8f95c7ea7a6015fdfef7bf07e3cdf35c2c5f253feff57ab3d96c3018645906d901fc398aa2baae7bbd1e5a817c515515640ae7d9aaaac23024cf17913ccf832088e3d818339d4e21b3a0be960bc0c3c1db29a7e4799e244918864110e0d9388e295f84614839027526930951661d8a3c4110405ec07d630c651cca29a803b9c663e5b1f25879ac3c56d70cabe0f8f8982cd7e1a58e5cd0c993db0285346db5fc2f2976d8be23bfb4f9769be75f205fd010ac8b966b7453babe23bf387244db26eeb1f25879ac3c561eabeb81552822d3e9b4280af40ad901d4f03a4992e9749a65195ac49daaaa40415555a8cf31c32e0c74081cc6c336b32cc3755555fa3e4788bec6e331afa7d3695555e897cf1645813a9a66541b8fc784152f80881445a1eba300078e178da00e1ff45879ac3c561e2b8fd535c32a383e3ee6483495a2ecb3a278a9289bafb4fc8eaaf5f2886e87cf564a2ed0f539f8b4e96b542979e4023a45d9af35491c665b26a25ca3adcf244fe3e3b1f25879ac3c561eabeb8455f4bbdffd0e2e3de3f198d4c31b07b654f8e164d60e8beb344d61e7a54f11ecad1849100470f2a1ad19b65ad8889324813f12edc54992a03edb592e97799ec3764c9f1ff81dc1a70810d4754d6aa7d3296cd62b9b6f10c4719c6519fda34464369ba15f11c9f35cfb14d1876a3c1ee3baaaaae974cafa78d663e5b1f25879ac3c56d70cabc08923d43c3353f656fd6bd2e54784e2b065472ed0b289e6e75a58d07d397c5bf7c5fb8e1ca1e944cd0b641347ee8894e5da19bb6ed963e5b1f25879ac3c56d709abe88b2fbe188fc7bd5e0fce36f4e701df060f8fa208bc34b336565c8bc862b10035cbe512fc3ccb32b05969ca058e9f0ffc82501f7c1bf721652449628c81d8424fa1e9740af902cf8a087c931853c21814e0a5e34e186be2c83228a47330180029c814f041a27f51afd7f35879ac3c561e2b8fd535c3ea7c8fd031bcb679a6340be5025e38f7b5a4e0b4eff0764748d18cdd9111a4257ab04227cd5ac671a4a4e20abe4fbabb4ef9c563e5b1f25879ac3c567ff758fde10f7fa02d153cb91df301961986216dcdb0e7c636d100fc73e238aeaa8a31fca8cf3ac84d105c163b827674ec08d83b1a44fb18555996944774ec4861730ab04d9d6b80f12b3ace863911922469d31f04011e0f6c62028f95c7ca63e5b1f2585d1fac0e0f0f358f25cfcc941f91c363357bd75280c384d7f15ecd9f753be4e7ba653a05398283a693d717dbbbb5ef50bb7de77ea7ace4c8231e2b8f95c7ca63e5b1ba065885858ad5486dcc4765633bd8226247f04c9ee754bac7e331aef12c4847fd2449b22c431d1281369dbeaaaa1a8fc789f2dfc54df4c536c7e37165b740192392d8b813d62182a43f4d53d8a0518d3128a09370e3a2b2312ea004f4673668c663e5b1f25879ac3c56d70cab954628aa38dc9be2409b0f736c9d36e275b243d68af310e5e7d369cf7588617799124644d99db50840fa9dfbed21b372e778a529e378ac3c561e2b8f95c7ea7a601582cacac6eae331f24c1181bc5055559224e4f9a278b2a8607e1101ffe77f51aaaa22529acf8bca7d5014856e9f75b22c63ee03c81a854d67c0bc005114a10efa822c804e21bf50dca03c425946ac6cc2f6395e76049a3d561e2b8f95c7ca6375fdb0ead82324ffd4b240a1fc7664cd9952faa6acf10b1225954893cf6b39824241d2cc77c03a78ca912f741d4db32649d35f35e35478ade505a7bec7ca63e5b1f25879acae1956e77b84e0996239bc88800f931af076b1f202d82cf9396cb2b80ffe8f7650070fe20e7938f93c783b68d5f7d334658e3859633bd6ea70a2f2d491660c818d83b6c4da94d94e1445da56ae6522d447231e2b8f95c7ca63e5b1ba6658ad3442cd2735ef95a65cc0761df98274574d3bb228fecc6745c908babe2323246becd46cd39111d8b8c3ff35a6146db48ca3fb42e54c59d2db7f3d561e2b8f95c7ca63759db00a0b95931bcf80f76a19818c97f2026aa202ea27d676dce9db8311b24dd2a45b4bd31483acac2f90734d1a349d8480b24964f3ace3bf9a363c8b91c3760c5c8aa288ac471365a8288ac6e33148826ce5b1f25879ac3c561eabeb8755707c7cacd9b234dd6cf405c507b6e5f05bd2aaf9b6d38e3419b828de4ed5d59129d6c9385aa8a1dcc1461c1af42874bfeb642576a1dbd4f73d561e2b8f95c7ca63753db00a33ab60a206e34e32e5b7932409f927f82aae216b14cafe8bebc8da64d98e0307f936bb665f99b52957360ea6b0e7696559c6b7a5e5082d77308e843454558571697921b176e4e9748a3aa9f559a2ac81778336d188c7ca63e5b1f25879acae1f56abd327a4c9abafc257294438fcb952b65a513e48d2659fd5f59d36751d69f27ca74169da972fa041bf332d17a0b5b6fca2a711eb78ac3c561e2b8f95c7ea3a6115e23f5555393c53db5e490deae07e619d76c8ff33eb62c45ec193336b9f05af2e94fd3acb32faede05aac2cc03a95b5eda250be00cde0e75114d1becc362b6b5f66fbb42f6bd944dbc1d902fa62de010d9cc7ca63e5b1f25879acae1356c1e1e161d18c23710ca9a8a7ff9b35cdb5bc296bf202ac932978df9153d0b223b3683942d359a998924c49259a9eac2517e8fb6d598943d62209eb78ac3c561e2b8f95c7ea3a61b5d208c5f26afa11a569ca6bcd63c1abc5da9a191792583f1fcd9f336bf9a5c64abbadee576c8e83f6a828b34082a0cc32b5b12c91b24783f347d6fe4b1a12159b82a2e5055058d85819b162852839a8b0b6728f95c7ca63e5b1f2585d33ac3af608b3a6970eefaf9329b2a6ed55b7a361d2828634edcb1a38a79a160dda72076a3a346b394237ae1bd47d654a3671ee6bfaf9163d561e2b8f95c7ca63759db08abef8e20b3484b3804504670d0f0683300c4584e73f8561c8b3804504674ae1bc2bd8618d31383b2a8aa2e572992409cfa98ad439c251144ded3952382358ecf9c2e0db6559e2ac299c9585f3ab363737abaa32c6e0d9e5721945515114755de3b8299c5f0ca4f23c1f0c0659f35c2bd09fd8f3917946579224d3e9148d0441c0fb699a822a1c5b051a3c561e2b8f95c7ca6375cdb072f70835a7ad9a7e3e6d39c2e1e1ba05b2e86a8d8dd8e1e1bafe3a594094cc226be242f47d3ee268e54933af41dbaecd1e498faee3b1f25879ac3c561eabeb84551829bfa0a228e84b53a9f3a544e5f3aeaa2ab7711899b50ba36f1da7826745d9672be5c3033a6823ce5af9e23812c688888a2f49acfd376bba48252a6f0207cf7e3916b693aa1c071a87344d75de01d6f75879ac3c561e2b8fd5f5c36ab547e8f055e9f2bd6167da64ccfadafedb6923d6f28534f97fdb06dd6e87f2088517cdcf1d7984c2485b4ed134b4e52647a6e0d8d7f5e5b1f25879ac3c561eabbf77acc2a499abbbb23e39a89128df1bc80b4933ef1c5ac9f31c8c3a53f122593397016341202fa0be7eb66af92ca12f8a157c24b30e3f8c65111b1f83b130a79c7e5bba7efb595683cc22ad7ce700d463e5b1f25879ac3c56d70cabe0f8f8582c4f76fe4ad30f475a3e48ed3a17cb23554b101065cf653b95121088afd37ed1b44db7e59a4ac90efa59a78b4ac93245973dbd6adad03d561e2b8f95c7ca6375cdb00a45643c1e93824cc573f042cb0b998d3bc99a36590254591b7162f3888bd25e3be58bc49e8f4ceac5ca2fbc2f36f741657d87d83e793e81cbb22cb256e6ca068eb00e0795593b38464ddb741445637ba6336ceb7cc11e2b8f95c7ca63e5b1ba66589d9f504f7e9e295eedf07fde6fd721136e0b11d22c9a0feb6b0e896662cdcf799f2d38b2035bd37f332519697a9c5f332b6b644d3945d3a05bf65879ac3c561e2b8fd5b5c12a2cac4b8fb6234f6daef1c2e673abaa8abcbdcdcf0be5cc435e2d56eec035f27c136ba2a06dbe94052853681921b305232994cf9258db31f93c7b61bfa09f34d067097210ae39f6cc9ebfccf633e5fee4b1f25879ac3c561eab6b83d52a8e90ac95255371180eff677f1c8cc3b79dfafc2f11649bedf6294174de27015a8ed034a082167fa266ac49b5c65eecf425caa7c879bb1e2b8fd5fbc2ead5ab57fd7ebf132b634c9224699a7aacfcbcf2587d68aca27ffff77f67fc7f1cc7e0bd6559a6693a994c10934f79210802634c5114755d0741108621d20d203e7fb95cf67a3db4bb5c2e51191550bf288ac56281364504f90e7405c4fc6ba4d06f1cc7711c67590622c3309ccd66b82922680134cf6633e635c8f33c08027d7fb95cd675cdee4484f9087abdde72b98ce318e880b62ccb7abdde783c469b511479ac3c56ef0bab939393c3c3c33ccf97cbe5783c5e2c16b3d96cb95c1e1d1de1fad6ad5b799e8761e8b1f2f3ca63f541b15aed113a3c9f3c53f3f0aa699fd5fc997cdbe1c39af7162a9e439a4661ca201788096d7eaeebac9323f47d7dade9d7f28b1e635b38d29878ac3c56ef889531e6bbefbe8ba2288a22acea388e8d31b81691478f1ef5fbfdd96ce6b1f2f3ca63f541b10ad9256daf68a5b0e757f1ac29b13e4899dd75c4dfcada5b59878dd05707ff45c7699ae6799ed902bb6d5555953d370bf7737bf631dad71063ccac839fb44d79dacc839ed8f818b690a87c04904d52eb5f44bb366ce854f939033c566f8dd5643279f9f2e5ab57af8e8f8fbffffefbb3b3b3a3a3a3a3a3a3efbffffee4e4e4e4e4e4e78615189e58993dcb327241548690ebe7d5c5f34afc1af458bd1b56ab3d42e98adbd7f2026dcd7c5853e3c811ba8e739fede8f63510d2921144f1762d2cac7b56f3ff4c8915d2ca77b76e5ca24ad694983c56ef82d5f3e7cfe7f379bfdfa7f65355156c20c6989b376f6e6c6c38fd5e63acfafdfe77df7dd7eff78183885023449dbdbdbde170088dd0cf2bbf063d561f0eabb0288adc9e17154511fc704099e69f8c11896c1e3950499e4fc902857c3bb5674789f505cab20cf5b53ca2e345b4ff127d8a12e5d7c467292f8036b07ddec753102b286880fec246d5688875dc8c967d1c1c3c566f8dd572b9ecf7fb4551445184fcf7c618248f8fe3b8288a20087e6e58d5755d55152403e4c8cfb2cc18c35cfe7e5ef935e8b1fad05835728dd2e62b6bf2b651a62058ceb3cefda42b66c5911d44197fb59d9acf3a328e63dd6ecb0efa3e496ddf913536ee449d5f45aa08a8c7ea5db0dadfdf2f8aa2d7eb1963504deb40b76edd1a8d4698b23f07acc2307cf2e4491cc73c6e0684c1134144eedcb9331c0ee12fe0e7955f831eab0f8755982abb6a6163fb195f521485e6c3e3669e72cdf3d11389aeac3db7b0f6e8a9cd4750b472966736bfdc783ca60cc27817c8086c8723a75c833b6c274d53e40b20ff17256b5026ca6dce3d4d7f9aa61c7b9665b09b8bb5657bacde11abd96c1645112c819885f8fa675640e3f9673f13ac8c31799ec3380c34aaaa023e78b6ae6b3faffc1af4587d68acce33cbb479bbb6294bd3d748d717958fa02d0ee836751d8757a39dce7e79bf68c688f02fef8b5599db72072bb4dbe1eb17e547c46b672c1eab77c1eae8e8a8280a56d63a50599677efdeddd8d880a9f0e780d562b178faf4e9c6c6067462fe15ab2bdfbb770f51867e5ef935e8b1faa05885858dd5d7bc1dad90c782271736071d787866f37c17763f9672010a650dc7eecc6b4776e0fdb1cd0597a833aeb4ac41f922b3676e15ca1f49f785fb89cd3b90d9bc7324d2f1232252f065a24c81363d56ef8e55188699dd03833db0aa2a70c4f97c5e96e5cf0d2b20906519b9206458ec9eb27d3faffc1af4587d38ac567b8455cbbf881c953c539a3e3fac99adb141ebfb7c443782a2efe34e5b8e2894613753e66087bdf326c79235e5058ecba1598fbd530661b31eab77c1eac58b17d408c1fce8321a04c1ad5bb7fafd7e18863f13ac9c3dc2b6ef2835423faffc1af4587d50acc244f9e77084fa2f797555555375d694b6ede62aa6646ae336126b9b4653da37696c73c455ea9caa288aa6f6bc2851b9e90ae58f24d68f087568a7ae94bd3852e711435b27f4b40b6b3945d747354d33db9fda33b43c56ef88155820fe1a63b04f668c61ccdccf072b8c3db27ba5d492890f3c65fcbcf26bd063f541b16ac41166eb7d75f475b2c65f4894bcb0ae1dcdf0d92f9bd55cdd6953d6c8080e3d45976d5a9aa28a438616a0282338d5da347bacde02aba3a3a32ccb102c214da5b02ccbbdbdbdd168c43dc26b8f9531e6c99327f0a1adac2e485e18c7f1dede5e1cc76de1ddcf2bf16bd063f55eb18afeeddffeadaeebc4e6641b8fc7482e07f11c39e29224410237e66d43de39f079e46a2b9ab9e698ff2d4d534604475134994cd06c1445b3d96c7373b3aa2a6453d439e236373775fbcbe5b22ccbc56201af8a2008269309dfc462b1e8f57a084743bf4070b1586c6e6e0208c6be204f5d9224c89807b989cfa29d2ccb90c50ecf22675d1886d05a3c566f8dd5743a05e54110608c8c9d88a2a8dfef0f87c3f97cfe8e584da7d35eaf379d4e67b3d9e9e9e9783c9ecd66d3e9f4d5ab57711ca37de6427cbf584551747676369bcd5ebc78817ca1a0218aa2388ed11db13a3b3b9bcfe7340e6395629d87611804c1e6e626907cd3795514455114af5fbf2ecbf2e8e868b95c1e1e1e2e97cbc964529625e46bb0d8f73baf40eaebd7afabaa82d0f3faf5ebbaaee7f3f97c3e3f3d3dc528cab2f46bd07faffea6b05a9d50af792c95d3a8e9939329dbab73dfe1db6d5943f37ccdfcf5b3d22a9420a44b66d15c7d9d3ca2e597b6ecc03a5ab8d07247d2f483d2e3f2585d8ad5f1f1f1e9e9295ae8f7fb755dbf7efd7a7777378a22448b636dd077344912a41943ac3de6349c27af88d57c3e9f4c26af5ebd32c60c8743b01f266a41a1c6d9eff747a3d1cecece7bc12acf7324d10e82a0dfef636f2f0802f03984850c87c3dddddd388e7bbd5e5114c82c032245a55bc31ea188dcbf7f1fb946af3eaff23c3f3e3e3e3838180e87c03c0cc35eaf8796618806c1755defecec6c6d6d89cda7f5d6f32acff3d3d3d3fdfdfd300cd334e5d73608822449a0dd164581dd50803f1a8d767777418c5f83fe7bf5c9b18afef0873f8069e7790efe2f22d3e914627b64cf2326ff67ce6f705d88aeac2f2290f8b018168b05f86d9665755dc3290069c2cbb2643bb89fd904e41809e408a421670ef5244920ef4396a10cc24e45c418037901ab9d3b2e4891cebce91c6fafd70331182ffb859c82760a7b6e96c7eaea581d1f1f173672a8ae6bb84182ff856198db581f0c1358d575bd5c2e012c86d6eff7b7b7b701c80558cde7f32fbffcf2f8f8b8aeebc160301a8dd00b52ce43df821a2a22e40d27272793c9045cf3adb12a8ae2db6fbf7df9f2651004600383c1005d83f160d490d0c133eabadedede86ba668c21e7c05bc3d8f33cdfdada02d95799570707074f9e3c3939390982606363a3dfeff77a3d0c1f49fdf91164d8625114e3f118930afcf84de75555558f1f3ffef1c71f456430180c06032080eef8fd0208628f324892a4aaaad3d3d3b3b33324d5f36bd07faf3e2d566b738d6ade7b151bb1236be83a9acf930fb76510de77ea5c2c83b49fd576e136fd5a76a89a312b6dca1da9c469d3637531563ffcf08388c06246b5ccf18d44cbcede58a9f60e0783c1dede5e5114ebb032c67cfdf5d7799e6f6c6c0c0683b2199b485eeb5c8bda9b34c66c6d6dddb87183dce2ea589d9d9d7df3cd373b3b3b183e86e9c40506f66409fdf7f6eddb699a3e7efc78381caecb357aefde3dacf08be75559962f5fbe9c4ea79b9b9bf848b57b04f16d4c88551445b76fdf06f7bae2bcfae9a79f7efae9a7adad2d0a1cec8b3874be6b42846febeeee2e73ccfa35e8bf579f04abe85ffff55ff33c076f8ca208fb07dace2b22cbe552db88f117bc3ab7b15091dd9b81615ad7c47e0cda9f4ea76c27cf73d88ee238a6ed1823a75d1bf202edda60ef5af4801c419b35e508f079340efa69b3a6bc638c994c26947748439aa6637b4e15440c6087f17aacae88d5d1d111d903e63a1ec73e04277418863c484cecb96818755dd7fd7e9fea541babbaaefffad7bf2649d2eff7a1778a9510b13790e739a442ae07ac31786392512d974b68279019af88d5cb972f1f3f7e7ce7ce9d5eaf077593f8e07df11a344034c6b70302f862b1005728cb921203b1dadede5e2e9783c1e08279359d4efffce73fc771bcb9b909e99e9c46a3ca79024c8839b132c61c1d1dedeeeea2e6a5f3eaf5ebd73ffef8e3cece0e5449c684e11af5abaa2acb122f02ef9a63d458611df5fb7dbf06fdf7ea5361759e5946948f90fe6a90673a7c5e541c89344db47cea0219817c5bcb1a0eff17659b26ff776cc4dad62cca2ecc6b2db3f0be28b9a32d5ff0be63744e5af1341eab0bb042d4203e82d475b4c6a3f53fea70bc469dc16070efdebdc2a6d0d5582d97cbafbefa6a6b6b6b381c52d7a12e82ca9d7aa15816a8f5155c3f78f0a0aeebab60359fcf7ff8e187dddd5d12460ed4d93ee9d108e01b0435ceb4f2af3a9965da73e3ecececc71f7fdcdede8660a15b26c29dfadf0558ddbb77af3d1f9cf77e7878f8fcf9f3bdbd3d464006eaf428f6c56bad8faec36a7b7bbbdfeffb35e8bf579f04ab50ac603eb5b9e9283b5436271bb548c65ea42aef78966559961536a403ff451df07fd60705699a320741a4e24b529bbf00239caa73b018ef42dbb71e8346a1b2f128bc5fa89c5e88a7411dc6a9445194db3ce862f3235086c270b4daeeb1ba3a565555e5369726751d28405996e1bed8ec2ad82de3b7121222760ddb58e579feedb7dfdeba752bb259aaa98b40cb814c2a22b81f590f1dbe0b51b18cd05da2287af9f2655dd79762b5582cbefdf65b78be88e5e8c6e685c158c86f28238be5555996617483c1405b11db588198ce795596e5d75f7f0d2e88d62a9ba307ff052695f5ce8dede9161763f5fcf9736cfcac9b57183b2cc9c4507338e0a0ef43ff23e69d58bd7af58a5f34bf06dfe31af4585d052b378e50d6e49dd35c946c5fdfd73c5f9a4244664dc064d4a2acd89459a4e577c496dbf65fdd91d3a99e077a3688923b28b668dad80e6f927edd97c7ea8a58c125129f6951ba88a31d528fa19aa2efc771fce0c183c56201d319c82ecbf2f1e3c7711cc31f848a85a8ef2c752cb13a07ebe87d3b518a14b8d16030b87fff7e5114ebb0c2ae641cc7f81088d229a3a62b6cdc3c73913741952680ed68ac701ee172b96ccfabe974fae4c9938d8d8d244902b51349fd4f9a0aa2a6e752aca228c2f664e7bc3a3e3e3e3e3e86414cd3af3bedf57af0f461f8c7e9e929049a0bb01a0e87dbdbdbb175a9f06bd07faf3e1a56ab3d42d867b831539625b0832c090ab8afc3980fd4849f745dd7b0d542da854f112cb68cf908c310312298fdd826c1c29b4c268811413b78b6ae6bdab23118ecb2e0db8aad9d288a583f8a22781cc1fe8bbe803ee3c6609bc632666c0afaa24c813a4992c0ac87f68d31da36edb1ba14ab20086eddbab5b3b3331c0e47a3d1c6c646664f608732c16f373ea0fd7effd6ad5b1baa6c6d6da1977ebfafb17afaf4290203c01da1d3c4365001480641301a8dd234dddbdb1b0c061b1b1b8ccac0a799e6c4ca463b455104ef5611e9f7fbf3f9bc13abe7cf9f63fd60bb22b1f91b5927b0115aa3d1687b7b7b381cdeba756b3018f4fbfdb3b333327bcab395da4bc37e0936636edcb88137d29e57df7fff3d10434d3233ecc361a61545b1b5b58540857ebf0ff71ccc933656c03049126896b00fe779de9e57af5ebd82770c2633d0c358aaaa4a92e4f6eddb376edc4892047ae770384c92041c0ec8776255d9e32a7bbd9e5f83fe7bf591b16ac4119267a65dbe436f2a6b382c7d1d0fe753592baf01e50eb6e3c8055a7ea1dca1ef5f2ce3e8bee4c23c784e831eab2b6285398d65b65c2ec7e331a27a3b752370418c175ed4a88339ad47f4e5975f6e6d6d313c0e45eb55bd5eefce9d3bd893c79a07cdc6983ccf11692e4a9569eb888f1e3d0a6cb885c62a8ee3efbefb0e5db7f557f2758c05fa10788c8804419024c9f1f1f1c9c90975c4b66244407842bd33af44e4f1e3c7dbdbdbe0d9edfd3f2290d8a4c6c40ac4bc78f142eb6781f23205fd4992dcbd7b1761157a5e4551f4e5975feeeeee122badc78bc8bd7bf786c3213e73ed79658c79f9f225a36522b55f8b5eeedebd0ba1c4af41ffbdfa985885bc62be388ebfb2f6dfca6ed78b35138bb2d526eabc2bb139df508d39cb2b7b2eb07e5644b4f559446053ce6cee7322c5eb288ac6f6ece3ca6e02f359ba54d0eeac112c8a429f5f455b7661f3ac73bca9b5a7b39d54d9be3d5657c72a0882e974ba5c2e21d39d9c9c407dc137d7d94c0249681f5fffe974ba582cf0c92656fbfbfb511425367622b3fb6d6c6a381ceeeded81c94d26138e65369b21c5c9bd7bf72006125becc95137e5836dace6f3393d33693cccecde2770b87dfb36c4d2f178ccfa388b117adec6c606eaebbdba288a8089de2ba566a6e7d5fefe7e6243c4f4b35555d1f2f9e0c10363cc62b13839390191cbe5f2f8f818c3a1e553ac3e4af4b05f9865d96432e1b783f30af468ac740bf447ad6c9e49675ea102c6c83903ca3146cc28bf06dfe31af4585d05abe0e0e0800c961d44addc6e4e1d2d144817ff474d2d41b4dbe748343f97f57cbedd4b5bfc61d1346819c1b9df9644a44b6e5a8783c7ea8db0821fa9b1e1ed5a1f12911b376e20ccfc02ac8aa2f8eaabafeedcb923960fa190018461f8f0e1c3c0c660acc34a447efcf147f092b656046bd2dede9eb4f2627cf7dd774551f4fbfd75fe9050e3127b3ae83aac5ebe7c89646f6d1c3816b22b8d6751147ffdeb5fb7b7b735db16a5db19633efffc730816da03d699574064c7cf20000020004944415400ed77eed7f67abdcf3efb4cef5042b2f9e1871f86c3a1c64a945ef8e0c103584dd7cdabaaaabefffe7b68a86c81f88f46a3bb77ef9665e9d7e0075a831eab4eac4251be34e0f36c51fbd791c78a3dcf496c26ef449d71acc740b30cf291a368deaefd8b322b63665996abf38579365592243abf38fb92a68c00d944acca9f287fa142e553275e6c53d4f9551a6b69e55ff758bd2356e4196cbfb4e7d443f9bb00abc964321a8dd8acb185b2ededdbb771bd582c2ec00ae1e7f87ce3fbceb584af33f63918620facf417843a5065f5307cd3b7b7b79324393a3aba18ab8d8d0d5a088903983774b2529d3ea1e7c0e1e1e16030288a820e99a09c18debf7f9ffb9d17ccab288a767777b5ef28fe8af2d75d2c1661183af30a5bad1a2bbe41583e4f4e4e2e985751143d7cf8706f6feffefdfb0f1f3efc877ff8871b376e3c7af4e8e1c387f7efdfdfd8d8a045daaf41ffbdfa685835f6082923b02d5cb4f9b35387ab51f35b2d17882aacccc63bcdd95597ab4f5b1e69cb1a4e3b245ed3a3c7ebc847ba65ca440e081eabb7c36a7f7f5f44b85fe5e813b76fdfeef7fbf8f4afc3ead5ab577c2a68c6ccc179e4e1c38730cd5d8a555555cf9e3d9356dc1b752368a87aafebe4e4e4f9f3e7881dd41b8a783608829d9d9dcdcd4d630c43c82fc00a865f0d8234e329efdfbf3f1c0eb97a41ff37df7c13455192249a669231180c6eddba054beca5f34a445ebc7801b788a86bab128e4e1a431179f2e40962fcdbb1a16c07e96692245937af7abd1ebe59711c0313e0401dc5af41ffbdfa985885fc64e8f80c5e575505bb2daae5f60caac49e2f2cd6142bd63e4b3b6f14455a46e099c8a2ce08aeec5e021ecf6d7e0ab4c9f669db45bfa9b5f382cff359da94e92354b5cec46a8f11be559a4e5d873306b2bfc7ea5db00293c34e5866fdd6a07f54d6be770156511421023d57e79665f6bc7b3cbe5c2e211e5e8a152c87b14dbca9f96b66f736a06b12abc964828c68ecb1b47178a2f65d30ba4bb14ad3144c88565cad5d5123d4f30a59c5b9e6699b2580c3e1308e639cf370e9bc2a6c5a1ff25452820bee03715ed105d1c18acf82a59d9d9dedefefbf7cf9f2c58b17388ec39957b3d90c3a775555b3d92ccb32fcc53cf46bd07faf3e3256c1c1c101fed3b6a86a5eedd855b540a1e58836dfd6cc5f9a228366f85ad6680b0bd22cba3effcbf61d01366de6a96b0b26da562e4d71e65299c563f546581d1d1d61064bebecbdb22c6fdebc79e3c60d9af8da58e5798e54324e7c9e587de8d1a34789dd9cbb0a5693c90459aad188b3ef85cd3678f76008070707e40ddc23a432d4eff77ff18b5fa0a3ab60359d4e5fbc78d1eff7dbfa286880c34ba1f2408ec7e3fdfd7d2a64249b7ae4fdfbf7078381dea2bb785ec18fd7d91f25b6d828c5d038a3b0d1dbde23d4ef829820ba03fc726b6b0bf130b8e3d7e02759831eab4eac5691557c927c589ae71a3bf7d184962374d1bc1a3cb9b2e61d6da7a63d9aa03bfc9c43aa6c1e045c4336d17d511ed1c450764892047d654a3e621dce0fdad39df18ab2477bacde1d2b7e4345cd69d2730156dc30a3e6c1cd39c89bd0d5ae8e1554ccccee356abb107441f8bb9236d421b7006f86461b45110313af88551445daf353ace78bc684b910f12cb6fd44698d5a9f86c9145cf08af32acf73e43b15e57d2a6ad796994239af3637371156a1b1a25ecb9172ca210dec6834cab2ecf5ebd74f9f3e7df6ecd9b367cfcececeb83fead7a0f8efd527c52a383838d0df055ef02f6ad3aedae6cf55d3de7a413b5ab66dcb2055d3ceabeb24ca2f28f91bce71eeb1ba182b2813b0bca1e5c0e6e4441ce16834a23ed7c6eaecececf8f83851b9544c333fe7e79f7f8e933caf889531e6d9b367f0818cba7272eeeded21961ff5917e8cb9729c7c31a4ffea581d1c1c680bad51396e029b6b94ec3f8aa2d7af5fbf7efd1ad1174e7de0fcf9e79f9b66a8fec5f32a0cc36fbffd763018b4f73bcb662ca39e5759962114d2d9d7d4183a783a58a12f1073e3c60d4458fa35e8bf579f0aab90765b9dff4dfbdbe8fc6c627938464e5e4d7b6b5555d3e9941518770263117bd5311f94298aa2804ca1e582cafaf815f6643bd299a8181767b4b417a7699ae77966f3e369fbb8d366d2cc8357591f24b419d9b3bb3c56ef82d5d9d9197c0ea5997b53d469091760856c32f8155f5e200c2ed8ebf59017e3ea58e579ae753baed5d2c6e4453683629665711c4fa7536d452c6d3e4f7cdfc1d2de082b67af54cbb3993da058cf2bb893407fc51dbd5b8910fe379a576118420e6083799e43c2a0748ff7a2c705b7a04eacc80573eb8fda895569a32497cbe5ab57af60a1f56bd07faf3e1556c1f1f131f9272f888ee6edd2b23b675d065c69d9679d679356be0087ff3b7534caeb64015136ebcebe34ffa72c4352b5d84239226ad9a3751d8fd55b60b5bfbf0f65455b47c5eeb7ddbc7973737313199f3bb11a8fc72f5fbe4cd334689e6380ebededed3b77eee4798e6ffa55b0c219f1302776ea2ef0db84038e31e6f0f09063095ae74bdcbc7973341ad1327915acbefbee3b9c216cd4390c621d62a111c2ff13f567b3d9d9d999d8a277e944646363e3ce9d3b6039579c57c6981f7ef881fb9451eb0c10241f582c169df36a3c1e2f974b678f9398e8763ae31db53a9b24c99d3b77746c865f83fe7bf5d1b05ac98fa4123c1f7cdef1b1015f253aa22cd15a1660eb6cd3f1592aacff0f44095476fc82704d5983b4e9b725d6fa2c36ae05c3a3eca0ede3daaeade9449b1085a62a070165073d1b3c56ef8e15254d6a0691f2d8bc182b7ce2f9a576fe966589d3eddf142be885fc9a932abc17a619034fe2ae9eb1675688ca8df2a658f15cb45cc50e8297a3cdb62f1cf3da70e6901e63cc6c36839679f579c58197cdf32b708dbfebe6d5fdfbf76fdfbebdbdbd8dbec8dba817aec34acf01e05fd7f5ab57afe6f3b95f83fe7bf5f1b15aed116a1eae6587ac157b41decefb249adc3853f65f3d5a51b286aea3fb725a7668d06d3a320eaf75d1ed4b532e10e507e5dc27407a72f0278fd55b638538425a17a9198060c411c2b8d789d58b172fe0d91135f79fc4ea199f7ffef97c3ec7aede55b08ae3f89b6fbe61647d65adaca274b22449b8737670708011955db96018077975acf6f7f7b32c430e6bd33a2be3e1c3874992e83cab47474738eed8c1505ab960ae38afe23846e2569ea9e4647b79f0e08143437b5ee15ce22ccbb22c83f3919e579d58397a27ef6f6d6d6d6c6ce88f945f83fe7bf511b08a7efffbdf23af3172840311f837634933f3377278d3757b3c1ea33e7677f0481445637bfe2ff32643a264aef1b22c91ff1e85e70e331f799665f077c017a1d7eba14d8c8479d07bbd1e9ec5a2059f07d9a5cd5f2e22b07a65366f3a5620ac6188a0c27d529bdbfcc8cbe512b2121acc6d1e778fd55b63757a7a0ae2b1aec0f3a0fd2449321c0e87c3e1c9c9c93aace238c6891098dca096e7488848afd70bc3308aa22b62f5faf5ebdc1ec557d8731b22bbbf1586219c5faaaac218116b81de11355fda731ee0ee81a4e157c42acff3fdfd7d8c2e0cc3c09eff00c9c018b3b5b505ac38aff23c9f4ea70866e0a9816021f88bd46ba7a7a7579c57c698c96452d9f3e28d3d9783fa1c7824e770e7bcc2de2ddec86834dad9d949d3145b89a8dfc60ae382168bb75c1405deefe6e626347bbf06fdf7eaa361b58a236cdb76afc2ff356ba526ebd867aba66d3769c67368b9432baadab6cb06b5b4e2187ff95fa79d8b651f69c5c474ca115ac6f158bd0b56f41aa5e6a1753bee11aec32acf7324086def4541b1f8ecb3cfb0eaae88d57c3e7ffefc3933679ae6b97a5114ddbd7b17a702a11d1eda40254cebb561187ef6d9679d317c9d58254982b048672f0dd4d26b947b84d8ed3f3a3aa27615378fefa8aa0a0804361bf8a5f38a08b011340828d23445a61ebad25c715e0d8743905155555555f3f9fcf0f0b06d037072d9e0fedededed6d6161ef46bd07faf3e0e56ab3842d84f0b95175cdb5b536b5705ac6c3db3671cb30edaa9aa8af65951b12ca8432ae177a4eb64d6e787a39daadc77dad788ef2952fe51958d3b210db848d3d4891d413b9c287ca385cd59471ab446efb17a77ac2ab53f14dbb317c4ae1f729d4eac027beea051c75618758643966538ece98a589d9d9d71478d1c486cbe182c9e529d8dd0ebf5203b43958134caa7b0df56db03ee2fc56a3c1ef300c2d2fa5e56cd7c1cda476e3a9dc26b14580187b22c339bf31332bb7ea797ceabfdfd7d074f6cc45227362a2ef3eaf3aa280a08ddb0018c46a37ffcc77fbc71e306382e0b5d5ea11da2596c73bee9bcf26bd063f52e58ad728d562d9baca8f812a2a3a58944c57fb05d69ca0bac5f3579be36f866cdfc059d3c3fe98a35a9d6f81de9b1c81a1944174dbf1ebb86453fe8b17a6bacf6f7f76913ab5a3e84d863737c3e1dac5ebd7a05ddcb344f01443b9b9b9bc8847215ac168bc50f3ffc30180c229babac527b845555ddbc7973777717df747e1d5ebd7a4595b16a9d057febd6adcdcd4d0ced52ac0e0f0f7996a9a8cd335edfbf7f1f9b8e7a5eedefefd3d288d6b40fedf6f6f6dede1e3e7f97ce2b63ccd75f7f9da6295e0adba15e381a8d6edfbe5ddab3584584d7edb91404411cc717cfab288a2693c9d1d19133aff45eef6030d8dbdb2b5428e4a5f38ad8fa35e8b17a3bac56e711465154a8d891b6af1a9e21df4ed3943355acdf1179353c8ec0e7d12c9e05c5ba1d51f1ff893a374bec61544e5f49f3aca9c2e6c183bc030e8febcafa28e23ee8a42c009925533128fa5954c86cae048da9c7ea5db042ce49eded292a5f655dd7bd5eef62ac3071410cd80ff421b473747454da342b97625555556e83f7a3e6d97895f50129cb12bc0ae3e57911d099c830f8de5fbf7e3db5b9162fc64a444e4e4e129b3b1b3a68a5e202e923eaccabcaee50c2161aa8fc7090a0f33c47fcfba5f36a369b2d974bf05446c497f64c444c216ca2605e89c8575f7df5f2e5cbefbefbeee0e0e0c993274f9f3e7dfaf4e9c1c1c1b367cf0e0e0e326b6b5a37af30fdb017055db654f185f84b95daaf41ffbdfa6858ade208dbbc9735d296add9910232a589172abf00ebc89ab810be03fe942aebb6c3ff9d1e294738728d4383d39a233238f5a5e96bc40bb62f4d99c863f5a65821d7a88e4917b537361a8d6edebc89efe03aac8c312f5ebce88cf9c37fd334bd7dfb76a544ce4eaceaba7ef2e4491cc7f0e9d07b9662cf35bc73e70e7c04340dcf9f3f972eef4a02b5bbbbbbb1b101ef8f0bb03a383878fdfaf5683472f44ba372e5688f4db6b35c2e8180699da188677bbdde83070f1c3fcff6bceaf57a8f1f3f4e92043e9fa2f6ead8da2f7ef10b51c1246559fef8e38fe45bc48ac47ffef9e7f8b65e3caf5ebe7c491f253d5e10301a8deeddbbc78fac5f83fe7bf511b00a299f92f7b215dd13658742e514485af9c8131bc34f7941cb026847d7473be88e146b99a2b086698d3564072db370fcdade4ddb719aa6a007ffa57dbc5076734a3495b52367d67e9dab5cec1eab77c74a7fbbc9c3aaaa824f265a588715743263737e72af8edfe52ccbe097713156cf9e3d2b8ac2e1a3d00bf18146464d6ce069ac767676e6f339ae752fc41c06cf8bb1c2e10cbd5e8f0c26b779762abb47080ec15ca39c5783c1007a3075b8cc9ef706f496cbe5ebd7afe18f77c1bc3a3838303623766933cbf08d645906c725638c9e575a87205662e338e1b977e9bc5a2e97c0b054f19762c51a9e3ce5d7e0875b831e2b07abf338c242f9ffa4ca982b8aafd2864b28518d3cdfe1f3bc96a6bdb8d32e2c4dd98163d01de9761c79c16984e327a9eb64102d4de8f9a1e971daf158bd1d56d4081d3d20b2fb731b1b1b4992e0e85d1199cfe7c6180496919eb3b3b39393133a9796eaec05f2838d8d0d7863b6b1aaaaeaa79f7e9acfe71b1b1b8cbbd0ed801b3d78f060381c72b38d8d18638e8f8fe9e11237e30ea9a5edededa569da89d5783c7efcf8f1cece0e2c84ba9dcaee9b96f6f409f07e675ec1aa294d3f4fed7b2922bbbbbbe0e5ed792522df7ffffd743addd9d9899afba3ba9d3b77ee24f6641cbee5c3c3c32ccb1cacd86f5dd79f7df619e23ad6cdabf97cfee4c9139ce9d88e8604e53b3b3bb47af935f87ed7a0c7aa13abe88b2fbea86c7c3e62384465b5473c471cc7b0114da753f802e8388c2008168bc56030403c0af6d2e9f795e8580dbb1baf633ee00b870d0fb48315457a52eb17c43ad896070da40dfb22d015706a1de24566b3599bb6a228745c0b641f1d2f85ef2c62626028d3b3ca63f576589d9c9cc0171ffa0482e7c230ccf3bcd7eb1963168bc5783c3e3a3a7afaf4e94f3ffd7470701086e1c6c6067d34107b747c7c8c1844440b216402ab1ad765591e1e1e8a08fc3c178b05a2ec8f8e8ebefaeaab7ebf3f180c989b9b7a0f88a9aa6a381c6e6d6dc127a58d156e164581bd13d34c728d38bcc96482b303a1f6c5710cf6f9e38f3f1e1e1ea6699aa629020c3417c42c2a6d1ece8d8d0df4ebccabdddd5d10401e461f57d203e9beaeebf97c8e38aaa2282693c9e9e9e9d75f7f6d8c019f869b0cde05714892647b7b7b381c628e39f36a3a9d027360559625de23a6105e13f2beb6e7d5d9d9d9fffeefffeeeeee627eea9845e8b55114ddbe7d1bd1a27e0dfaefd547c32a383838200fd7b240b5c6d62caa387c7b9d9d57cb0e95b259b3be230bac58b4722b72aeab353e4efa592d3b383245d20a3471e4057ddf91a73c56ef82d58b172fb22ca3154e9abe972c5acf180e8777efde9d4ea7cc1783c5fce2c50b06cc49738f8ddc05fd22acb0aa2a9c998ee435a54a77a2f51b2c8c478f1e81cb7662658c79f5ea15d88656a4a2ae43de178b05187c9224755d83073b63d4baac283defdebd7be070ed7995e7f9ab57af9c769c5d43b489ef0ed93c5f681b2b0e210cc3070f1e30b4434f83c562f1faf56bb1ba2f5b20fdd48f373636f015c3a76d369bbd78f1a2aa2ae456edc4aa2ccbedededdddddd288a603bf56bd07faf3e0e56a1d8739e2a7b4eb1581b6b6ecf7ccab28c3662b15e379435789ff659c7ce4b3f9fccdaac599fd62ab126e3c89e352c4d0fd7caee25a0df757d4136af5a36ebdce629273d62739c1362b4a6a70b91423b1eab77c40add5107822c19a933f04a9b305a7b30f27c73d2dfeff7777777739b93937b6cdcdf0227c0f661afd7dbdcdcdcd9d9e9f57a699a828189fd6ad34bd3d8b300e16b83b17762b55c2e6fddba25d6b2c70db65ce5fbe64da84708a1dbd9d949eca189ed8f88d8b83aa201f1bc735e196386c3a18315674b69f3e380e50c06837ebf3f1a8da00596ca6b576305328c317b7b7bcbe5122439f36ab95ceeeeee42b668f7a5c732994cc6e3f1d3a74ff7f7f79f3d7b767a7a8a4c3de0799d5889c8c6c606a47ebf06fdf7ea6362151c1e1e462d7bae34c332c89fa54b88e0501d9bac28b69c35fd76f47d87e7b39db6719994b4e5854c59841df9a55316d0f7496afb8e287faaa279deb1c7ea2db02acbf2e9d3a7dc99332a837667709e88f4fbfd870f1f66d61f4477571405b493b67ad1d6512aab2f56adcd3051facd9d3b7790a78df6ba7558555585984247a7899b274274de21cd46e55871f6eac49e3e4186d49e57a7a7a7d09c9c316a2f568dc955b0ba7dfb769aa6893d07a7735ecd663344ca97cd58c65845853a1eada5f28d5a87d5f6f6f6cd9b3761fbf26bd07faf3e2656a1e6ede09928a85d5515fd884424b7e70517ea30f1c2c679a01de6b6a00c5259ffa2c2ba09d11728b5f9081ca444e52c9056bc4ba1f28817ca5f886319abb3cd747c0c6407517e471ca358a901312899f5a72a54de748fd53b6205db173480ccfa3d8acd6652da10406845183b65db3656c3e110e1f3555569dd4e44e238ceedb97aa23884a87c34bc161bcb78ebd6ade1709824c9e9e9e9a5589565b9b3b3439f55b299ccea49c6e6ac214f4535d4afaaaadfefdfbc7913fb6d689ffa311b8466b66e5ed127085869fe414038de489d1db80eabbb77ef920b5e30af8c31d8efc1b35aeee65820bb70ec62631fd76195240932bb0641e0d7a0ff5e7d64ac1a7184594b2e106587952efe5f590d375b638fce9a3e426c5f9aa2877e84a287d3a634a506b1256bdaa0f55848bff354d62565242aaf81d323fbf258bd2356d8de2b8aa2ed27294a5fa1f5b2d7eb21aa6c1d56711c23b68f6cc0d977a4ce61d4410dd46350270cc3fbf7efa35ad534a75c8c559ee7af5fbfd651046dad887a9ed6d5909834cbb2fdfdfdc8a6da717426bd4778c1bccaf3fce5cb978e7ea607ae799e6e5f6315c7f1ddbb77c5ba2d5c655ee579ce1c317a9f55943f30fbd598b4b1dad9d9b971e306bc1efc1af4dfab8f8fd5ea3c42f258b1f653b167f8b23647457e5e35cf4b9bda7c74a2f87c6a63fbc9b7c5f2eaa9cd23c716385a3c0b1b31f8362594aa6947ce94ed5bec1954ba5fb1f131a48df6eba2ebfc2aa22956aacdec297a1eab77c72a0882d16874ebd62d7e131d9b21f415eef941572b55be1807ab20087ef9cb5f32f93d9e056b91a6fe470e174511e45f68273b3b3be082799e23e3e0d5b12a8ae2d6ad5bf043cbec7e5bd575de9e1e6314459f7df65959968bc502272d5017c4fc010862e3082f9e5759963d7af40808605c8ebe1bab1879f2278dd58d1b371e3d7a24d6ebf58af3aa288a478f1ec1ed53ef3b72bcdaf2c95901da88559224376edcd8d9d9c9f37cb95cfa35f811d6a0c7aa8dd52a8ed0e1e72c59cb1aeb706c3dc24e998217943b44c90bfa59dda3c3e7aba6d95a37de290bac1346745feb68d050501ec9d6cb3e1eabb7c06ab95cf6fbfdf1789ce7397cac9d9d2d69ee114ea75358cfd6610557ccd96c061d45eb2568adadab0d8743841222c129928dbd1d56f08a9ccd66599699ae1c316299044e298aa208157efae927987adaba9a883c7cf8102d5f655e615fb3aaaac3c3c352b9b01258ad7fe3bff0e2811b2d746e72a9abcf2b5889178bc5d9d9196dbf1728e5c404111a51149195fa3528fe7bf589b05acdd4c4e6796b3f301e8fb7b7b7c96f116b124511aea3282a8a22cf73d449552ef0288aa6d329ee47364e856f08120a9e8567bc88e4790ec116edb35fc6b8f01a00a14e66355fee27418e48adf10ad7a433539a32fbd234d04321b7f9a278df63f55eb0aaebfaf4f41451d5376fde045fc4277b3e9f231176511465598e46a3aaaac0352fc00a07f6264982ac60b3d90c5e24a0a7aeeb344d61002c8a627b7b3b8ee3300c178b4564cf637b17ac109c0e8e329fcf11c888d826b8de208dd9c6c60686399fcfa1086e6f6f6f6f6ff7fb7dc63b2649026722686628579f57711c7ffef9e738cb0dbe9d6767678cdcc79c09822049127484204ec493e93a579f5727272718c283070f3028046ccc66337484fff67a3dc68d6c6f6fe324393048bc2346c8f835e8bf571f1fabc679846492d2b423f1bf6d7bab28232f4bd5f4edd1edebf7414944147f96a65d5bfb1d69b94394d4a0050169199da525fb38f4b05ffd088b1eaff3acc7ea7d6185105ae8169ca9cc1d433be1d5b1020dd8608ba2887d4183c179a4c82ef6deb10202089ed38ff0e85a1d9cf7e1e615aca04551208f39ea80eba32ff8f224caa7fcbdcc2b1141cc06ae11b02f22889dc75bcef3dc1883107ebf06ff46d6e0cf1cabe88b2fbe80ec56dabc004992f01c32c42c1b63b0a2aaaae24ac6c78bf5b32c830d4744c2301c8fc7dc0370ce08461da40600f5dc38592e97711c4f2613c8179065401b3a4d6cbe0348f1b0f9401b286df67d368e682420c21c04a407e930f449d993c904df2f8c45ec2607fcb9513c561f082b18c7d005da8ce318892dde02ab7ebf8fed37ac9fc5621186e1e9e9699aa6f3f93c0cc3b3b333e0f0deb1e2b8c4babf9e9e9ee2bb3f9fcfd1ce479857411020c201265fe87c8bc5a2aa2ae49ad17b90ef715e054170767686fc41998d519bcfe755554d2613f0dd288a66b3995f837f6b6bf0e78cd52a8eb06ac69dd0924b6d97bd6a236cd2f2e711a57aebfb9ae75f6ccf259f4fae1047d229e3b4e59ace768ae699c56dd1c3a1598fd763e5b1f25879ac3c56d706abf3f308e99f9336cffca51f516a6335326b6f259ada30429fa2c2c6a05027a53c5858dfa1aae95f54d86094b4796eb28e77218e4024b3791018b3826753eb3b34b539d779c719974303fb2d54fe058d8fc7ca63e5b1f25879acae13566bcf23d4bc575471b8b7340dbbd28a3569f35eb13208ff3a3c5cf7e5c835a2e417d677faa2f0a2e58eceeb75ed3b0371c6e8b1f25879ac3c561eabeb84d5791c21792679f2b49953004f16366ea30dd3d4e602c8b22cb7f926c07b39122d837090b88f91a090dc3ccf0bbbd54f1e2eaddc04edbe529b9b80d75aa6e058f862f82c650db499daf8984ef9c263e5b1f25879ac3c567fef589dc7116aea59347fce9a765bca0e243aeaca29a765015ddfb990a60f8f6e9f120adba48ca0fbd275785f9a6c9f03cc947d5c9a855d3863677d8f95c7ca63e5b1f2585d27acc2c4fa4feb787efc469e5cd8b8fda9cd355ea8b38c45d95e45c91d91b54de311e685137b46309e45feb7aaaa8014db41fb958d6bc14df0768a15ec0bf45006a1fd1af4638c95ca719e2409ef83360850185aa2723168643d561e2b8f95c7ca6375fdb072e308c945b3563c8afe49acaca1edb3f8b5936fd3568b3a8e1ca179fe056d164d3b7227ffa7fcd2a65f947cc4de45d98b757dd220ebe5088f95c7ca63e5b1f2585d03acc2344d69c3d5b203469bd8f3a860abad6c124594c4e62cd03c1685bd562a1f39f8396410f0eaa2283295170e45db7ff5b3b93d8b206de61ad7b289f6232aec99dda9ca4d873182b0c8c6a6689925b3312e788b95cab9e7b1f25879ac3c561eabeb8755802cc3044e9afc5314cfd7f285e6e1cee364c5552b1e45f3675e3b8de8be4880c3e7499b2eebc481aa697a2ed6c4a06497f9388912763c561e2b8f95c7ca63756db00a336b93a55c4059a0b2e74e15cdbce3958dbd2071e3f118fc1c7cbb50e73ce11afc991287e6cf9ae7b3afc49e2f9c595b33e99eaaf39469ff95a6af515114ec823cbf6ae5538f6c040c6dd091f565a25c936519eb7bac3c561e2b8f95c7eafa61b5f21aad5ab906d868dab235274d7b2bafdb0fa235f2f0f6b39ab14b970dba6afa20555d76e7b4691dd6fc9f6d6acbb5739fad39b292aee348161e2b8f95c7ca63e5b1ba3658457ffce31f91870da972178b05f2b621cd23f28523671df213f67abdc964823a22c2dc74a82feaf04f24b2435e383c8bfcfaa890a62972e42333729ee7c8f9168621b2c6f1595c1745c1bc79755dcf66331e4187ac77a8cf73d1f458a228425ffa3edb746803d9755d274982ac773c1f2708028f95c7ca63e5b1f2585d37aca01192d96af476d1c20000200049444154464de6a9cdbe9aa9ae9323b48d58ffb7d31e8d8edaf7c9ab1d1941cb2689ca2320cdc4079dd28423a768fadbf71d99c291a73c561e2b8f95c7ca63753db08a7efffbdf83f1c20e0bbe4a7edeebf590db3bcb32c80ee0cf5114d575ddebf5d00ae48baaaa205338cf56551586a1ce839ee7397281eb3ce8a8afe502f070f076ca29f02f427e713cebe44aa71c813a93c98428b30e451e2429d779d929e3504e411dc8351e2b8f95c7ca63e5b1ba6658ad728d92f76a5eeac8059d3cb92d5048d356cbff926287ed3bf24b9b6fb779fe05f2050dc1ba68b94637a5eb3bf28b2347b46de21e2b8f95c7ca63e5b1ba1e5885a2623b2295a75cacaf0e9ed43e48b853d9f88ccafaff70cc85cded9dd9f4e144936d6659465f207d9f23445f4ece82aaaa2aeb77c491e8f818deafaa0a7e416273992736e71e28d4f551e81385f1a21151f9ee3c561e2b8f95c7ca6375fdb05ac5113a3c1f176d3b6fd29517c0e1e1ebe411dd0e9fad945ca0eb73f069d3d7a852f2c805748ab25f6b9238ccb64c44b9465b9f499ec6c763e5b1f25879ac3c56d709abe877bffb1d5c7a106f819fe18d035b2afc70326b87c5759aa6b0f3d2a708f6568c24080238f9d0d60c5b2d6cc44992c01f89f6e22449509fed2c97cb3ccf613ba6cf0ffc8ee0530408700631a89d4ea7b059af6cbef63c62fa478908ce26a62d5bfb14d1876a3c1ee3bab2b129a8cf738d3d561e2b8f95c7ca63759db072e30835cfcc94bd55ff9a74f911a1386cd9910bb46ca2f9b91616745f0edfd67df1be2347683a51f302d9c4913b2265b976c6ae5bf65879ac3c561e2b8fd575c22afae28b2fc6e371afd783b30dfd79c0b7c1c3a328022fcdac8d15d722b2582c40cd72b9043fcfb20c6c569a7281e3e703bf20d4afaa6a3e9ff7fb7db48fbf755dd7755d14053d85a6d3691cc7a06a3a9d1a63e238aeeb7a3e9fa7690a6bef6c36dbd8d8005e8c3b09c3f0ececcc1883a6aaaa4a6cce7214dc84ff1290824c1104419ee7f42f4a920458c1fa3c9bcda228421d072bd0009a712d22186355556813f73556a001f80741707676064c305ed4f75879ac3c561eabbf77aca0926aaca03be2591181df29e305195fe86015a93842474f45210f72b0827f29b13adf23740caf6d9e29cd42b98017ce7d2d29645916c7715b2ed0951d1a28476819a12d7ab04227cd5ac671a4a4e20abe4fbabb4ef9e50361a5dbf75879ac3c561eab9f0f5641107c02acfef0873fd0960a9edc8ef900cb0cc390b666d873639b6820cb3204a09465399fcfa32832c688c8e9e969188645511863e6f3396e2e97cbe9740a99c818031e89c14f2613b493e7f97c3ea7911ad88124c8178bc5a2280ac85c90718c31a886f69324619b699ad6758dfb007db95c66591645515114455180e6a228e238c635ba3b3d3dc5351ec705641cc87a89cddd070faba93dbb0bcff6fbfdb22c21e3a07d8cd7c14af7e5b1f25879ac3c561e2b8e1d0c8c58215f0c630d751e99d8c626e62a8692f96e9224617e19f0b2d8e69a298a22383c3cd43c963c33537e440e8fd5ec1dfa7b18868bc5a2aeeb7ebf4f26bc8ef76afeac4dc3e4e75a58a053902338683a79edc8238ebd5bfb0eb5db77ee77ca4a8e3cf2a658899298a429b078ac3c561e2b8f95c7ea62acf23c1f0e87b06d966509ef9ef782550cde4bdbeb783c865d5844701f2de679bebdbd8d67729b9b7cb1586459863a676767a4db175f7cf1c5175fde7be9f7fb5b5b5be3f178381c9665099e45df51f0af344dc1b34431f8d47aee8cc7e3edededccc61af6fbfd2449561aa1eec9e1deda5eecc82c55550541309bcd168bc5fed77f79f6cde38f8b8988489d65619aea0b5f7cf1c5175fae65f9ec1fffe9c1fff39bddddddc80657b4d53e5d78bfad136bfd358eaca7e9743a8561133c163c13d6deedededca9e6505ff1f63ccd9d919787255558bc5e287afbffa6858e8521b23c6e80b5f7cf1c5175fae65f9e1ebaf6e3cfae570381491b22cb7b6b6cab28ce358941b0ef817ea432f4c92847cadea3ab33ea6cd94daa288e01a76643c09bf9deded6d78c71445a1ef8b88f9444cc81883ae79e18b2fbef8e2cb352ed82c1c0e8751142146a2dfef23963fcb32f22651fc0b3ccbf13515cbcbcef708abaa4a9b19e4a82382d5e12829de5f2c166118228643ece1551fbfd4752d75ad2f7cf1c5175f7cb9c6a5aa2a0417465114862139549ee7a3d10875b0ff272251144da753ea88e05fda0f26cbb2183a6366a31db5cf8f76e909c3b0b2b1fad41dc3301c8d4667676702cbe4a728de34ea8b2fbef8f2b32ac8a0061320f99458fd0f8c0c7c8af7f92cead00e0a0d3086ce98d87c3122c258131189a268329980af8a489ee7cc2f83cc08c698300cc59b467df1c5175f7cf928053194c8590ab647bb26f43f634c10048ca9e05e207441ec23f6fb7d84424ea7d3982a2079266ca6229265591886f49a01e7141b7d92a629eda22252d79f4823ac8dd4465ff8e28b2fbef8728d0b92ab6d6d6d4551045b667b2f1089b9753c22f99a28bb669aa6699ac63af82fcb32d8557133b379d190b30efc13f9087abd5eafd74b92e4e4e404cfd6e613ed119a5a4cad2f7cf1c5175f7cb9c625cff3adadadaaaacab22c8a62341a5117644c21f605a1b3e15c431141543ef53ac4201645114b33a7406a73b51963c833c96351676b6b0b37c193e7f3f972b9f41aa12fbef8e28b2f1fa16c6d6dc15346ac9e97e7b9b665d2f74544822000ff02cf421d3ebb8a2344bb5555e9f37c912f0635b48f0d22084504a1fbe0c6ab3dc24fc4844c6dd0352f7cf1c5175f7cb9c685e70eeeecece81c31cc83866a893a2b0951138caf878d13eea62212f3680c689122c27d41248ba3be18c7b1b6b182172263a988d4f2894ca3528bd4fac2175f7cf1c5976b5c905c0d3c089a1878160e8d802ec8d877387532f5a8d858431141707d1445319be6bea0ce2f437f51de179b6b74b158946549ffd24f15c2575bf6577b3ee88b2fbef8f233288c5f180c068bc582bc4944c00ba10b82f34147740e84a08e28225114c5e4937048a58f287926754126b0d9dadac2994d711ce33c0b11319f88139aba46d7bcf0c5175f7cf1e51a97d168148661afd7033faaaa8a410d220206e9e44713111cf3cbf334a228c275966531a311c933e1234adf1bec178acde1d6ebf5705fef1d8a378dfae28b2fbef8f2510a7601e7f3f9eeee6e1886e04d3aa74c9224388390f9b111fbdeebf5986b1b2adf79ae51d852c157c124693fc57e213d65e02f0a1d11d94ea15a8a7cb2c805064df8e8095f7cf1c5979f4389e3554eb4e57289c384a1ff414fd33945dbf18583c100ea23f4c855ae51c45e20f650ac9e0775723299b045ea824860b3bdbd0d0f1ce49d29cb72ffc5cb371a496716189c65fce665dcba78935edf6b0944e42d47e18b2fbef8e2cbe5a5280ad8239324c1b9f6e05f93c964341a3967eb82c7a14e9aa6a7a7a7699a22a70ce3e68383830378bea083f3f399e298b6d42449e09983f0095853ebba9e4c26d049abaafaed6f7f8b16c06bda2c8df7910b0d159ccac69820109140241069ff1408362383f30ad9e3c7837ffe67634cf6f871fa4fff84f6f553b860bfbcd6f7dfefb5ce39e7d0dfbe792956ab0ac6d4c6880461d8f16c675fce05ea8461e8d0bc06ab55eed8200881b33bde5576d92008de15b737c7aaf14b07565d0d5e152b8b73e7b8d6cdabf7740dcc83307c8f5835ca7bc6ea221c6aace220f84058a9eb5508b38bdb9b6375e9bc42576fbf06d78de543ce2be4fcba649d76d26f8917e7555e6d5ebd1d56b5fef8afc3eacf7ffe338e614a92244992e170089b255c49714a2ecf97288a025b89dc2f444c3d1ee72984619224e809bf4167ccf31c356057c5971dba20c22d44047c159ea9623fb5fce0e2024752e8fb1cb953533f8d479bbfd6680dcfe08e7e5bce8b61bfed1746649d6ba78e331b3a5f3c5b70da24d9ac59d7b5ae7365ac56cf1afb8d040e9de8755eab0bb36ebc9d58e12dd82fdaf9f5399dab6af527c0aa060d8dfba2649d8b71eebaae57534be17c75acdedbbc32e2bca90f36afde05ab8e8b8ef11ae13bfa205889e12b9315568d99762156a6aecfdff8f970cee7157eaf5dacea775c836bc7fbbee755cd1eb1509babf88af3cab676be321ac3b9645ebd1d56f6e37f2956f44dc14fc8170addae288ac964428d4ec7c74fa753c4d1234f29db298a22383e3e36c6301b37fef2ac89288ad093d605b1471804419ee7cbe5b2288ac562f1dbdffed634e582ceebf66beb94d1822070e41a7e9af58341102cbefa2afda77f12a51a8a921df47469cfb0360ded67f5ec69dfd16fcb11943adb5f37f635d74656a6d600af9f8f770a9e17f48ba658b95dc7c18aafa0d9456d4c874cf72e58e9ff5e192b8c45f0fba5f5af8055f7b8d6e1d99e57ebba78c37955635cd06cde1356ddd7ef80d525edafea58fe0419fa836165c2302487e38cbd0c2bd11f83ae7965381f9a04639eac6c24ef0dabf73fafa4ae2d1ac6d46ad5bfc9bc5a2d0afbed958b754ab74deaa12e861763b5567fd5b4fdf9cf7f1e0c06699af67abd388e112f010e2722cc3853d735f54238ce90c7a11d5cc35e1a1b63786e2f7614d11f761a698ad5b9661053884f33f28e8a3a8f1043c5ecd4d46be955d7342dd984e351ed347ed2d7c618b6dca6419a4513c07e692de4b5a61f94703de39af51d4a02c5ecf5b8da7d5d8e9548bdb24b48bb4dfd7de15c275690e6027b3696fd46744d44f56c0b21bcd3556ba8d989156c11a43cb44d00abda98a089951e8e312608434cfff3310681e05a25ee23566110603a88048192a63976474f6a60d5c25c8cc157a33d0f9d6f938b55e33757a636c6845164ecb856df6bfbd546253d97eaba8ec2d0be2ffbd13d27381431ceb8f4774ddf6f8c114c55cd2b60db9eb41aab7310ea5a34565dbd385839177a0d9e03aed7a07dd77c8f9c339c57ce7bacab2a50b875ceabf3f136c61888a9a5b10603118b959c7f661426c2e9636a30c9d577c9d901e99a5775b39d732d1ccf72d1b14d69155253ab77047c56ebabae1b6b50a4aacfdfa3f3bdd2ef7ab5f43468768637ea9f1fb01734bfc92bfaa48933d1108549f384a240a4466bfabb1a0401bf497c131df3ca9ebe0bbfd0b22c39406ee481972d974b665043ecbbde3b049d3ca730e4994c609ed0f9604b4dd3348e63fad5c0b994f965e238169bf34dac7ec6e9ae5754fb7ee7353f25edd9cfd9c3d634b2fa4ba7df04aff9d43a7a509caf3cc9687ffdf57875bf6d7a3adbbf1256417029566005c6c5aaae6b1342a6ba042b30138dd58aba2e7a2ec7ca888461503b583545f52eac56ebe3bcfdd5b32be1703d56c20a161f7c71d661d535afe4f279653ab152b4ad9957e7e35a6155d76118f295ad9f577687a4a9b376ce2b73c9bc5a7dda02f56aafb206c1218c83d58afe4be695583386b30641af438f342515ce19670d069a5b4797af417ce21dac443a9ebd600d066bd620df97e682e2ac41f77b1598b7ff5e8969d220b69d8e35185cf4bda20412586eaddb34177eaf4861db07c2c18a38f0fd36bfed86dabc7dd5ab79155e3caff06c108848bfdf5f2e975114f5fb7de6fb24ff82ce871807147a7d82df216a42ecd984221232fe01365334379d4e993e0d3ea5d82fc4b94b5555f5fb7d9cf9448a395463cb0a727b0da3bc7eebbcaf1b719e6a77c1f7d17e8ad7da5ac27e75b3819262745f4153626ad3e0f4cbfa6d7ad6d5b93a569c7f5a6f688cdd889d490e26e7b6f9f315a2a8c2d8eb55b2f29ab396fdaa894eac1a329afe7b4eb959b5694c834918b306abd56a445fe7df62b460c5c3f339e36045faa5b1561b734063b5665e9dd37fce5d149e755d735c756d3456d457dd79b5125d4d7b5c756dec4eb788fa863667ef39b6ea5d3466e9f9b36a6635e6d5ea16ee8b7ebf56c738977eb8efabe9a915fd6ab51ace81d5371a3d36d794c63f0c4363d7a09dae82ef26e7e139e5cdef3bc7d0bc13683a79cd39b0025ff4bc0af4b37a7ab7e7d5f97bb7f3dfacf95e89d829dc9c5776159c538871b4d7a0c6ca1813346411e13f41106056b02fbda69a6bf07cce077612ab9923aaf9263d4d5eae4b635e59dcf47fb906437e75f91d536fa10babf3b1705e392fe27c5ed5c6acf69e85fe9f7052412c2012904651747a7a0a9eb7582c1053489e8560079ca1648c61646008e797764e6eb11b895b5b5b60968829c4ae615555380b4a8712727df2bf7a256bdd4ecf63e24e9962dd7d364828dbefcc7956f72b4ad6304a6659d7af34e5650e24e892131d7a50478f5d2fd72b63555f152b6b1f0fc32656765d0581383a6efb5991f37ed760b5f61db5b002a3aa6dfd0e5932b4fe6416abd523162bbb276a6109d7611545b6cdb79e57e7dfd073da3ab172ad5b8d79c8fb41635ee9fa828f5b1886ceb83ae6951d5710bccdbc22b66457ca42d53daf826eac1a635c8755b0663eb4de91d553eb5a4960ea5db49e0d82d0995d1a930bd6601886d1f9bcd2581907abd6bc3a7f5f177faf02ab6369dccec7a234420c73fdbc6ad8423896a831afce5f34305cd70e7a70be5700b981558b662c378c5d77e7fc0563e3301b58356529ce0d2b4f88badfc42a0802fb822e5b83abebb22cb7b7b797cb25528c32770c743e630c1265c39689479c73eab16b085368085f5284d91b63c6e331aec13fc55a63a7d329182938df72b9642653366dba24148262bab425fe75e61cd1640b1a238db52ece53bcd6f735b562752fd392443425ce4e035bd6cf3a23ea1cbb2e9f16abf6539f022b9137c1aafebbc14ade08abfa83cc2bf93bc1ca19afb21936b182506ede042b3a865e86d51bcfab736eb9e61db5b16aefff7561e5dcefb416bcf51a5cd903ceb5cf379c5761184a132bed93b1ee2f1ad558e9d13530bcf2bc1211f8af2c160b9e3ebf582cc08c8aa2c06c415c1f6c9cf8092e33888980fa47dd71b5472822f0ae21cf245f452b5b5b5b8c26646e52e8a74c78aa6715df9373dd29db8a15af3866a70ee713c16ddfe7db6acb11a6a9ef77d2e3ac0ada673adb09941ddcb92f4de955d36645c8f3f7fddeb0a2dc274dacea7a8589acc7caca5f341ebe0fac021189a228588db41bc3265601e547634c10d8f7dbecab03ab26fd1f785e054110605ce8f90a58adaeedfe47c40fde25f3cad223e6dde7d539b6a0c1c1e142acc2288a42bbe5065ef5e66bd098c6bceaa6a7f1bdb3d6a9b68ef8866b30a0fef1bed6a0312b750acb67edbcb25677abfbbee3f7ca9d7b6ffabd8a1af7a32eac842337b58b156cfef63bb30e2b23ddf30aff6d601535e6cf9bcdabcdcd4d6cf2312736eaa4696a8c019ba42d137c8afea2d817d439488ba20845d95b19418fb6c857e11783eb288a9071db1883bf0ce94071f6e402c5e139e74cb31002e7bafd93c65d57d037dbfdea3a1ad9cefa6d3f343d3a6365aecef6b5dcd7aed36ef08a58510c6c03c2ffd436dc10bf04cdefbb0ee73947435d9fef77894b431b2b67bc9a2afb7a5624c9ca77f122ac021bb7543776cf562d9e0fa18595386daee655f75c12b1f6b8baae5b3f9d7fe0baa69fc2aa6e60d58c1677b0b21c7d35ae6ab50f678256171c117d4a79137d718ff64de7954383019dc195d6a0fdff4a8db0bb8b1d6bd0c1ea1c01b52b494c4424b03b73ab1721e7f5f5dcd053da192cb1d22b4e3fabb012fbc257afb131de0bd7a0c8f9be697ba4b5dd25ee006175ddf83a314a6e35f6e6dab9e07b65399f8da546fdf0f2ef9569fa936b108db858193baf8c6ac569d0ae9e9592d745b3d5839b80d819c4b58cb9a414d6abcd2b6ab18c5f474e345cd3d393d10d3ad7685114e3f1d81803f7cfe974ca20421159c908e0ab88a6a7ef0d24059e411186e1f6f636b4cbe57209de4b8248ae63afd76f94036bcb6ed2942302658076da5c27af89fa9c85d6b35f949cdb4903fb229da1b5ec0741d0259735da67e37a2cc6ea677aecebf0b910abf331aec54ad1c97602eb7678896c6b656a8d15a5bd2eac82cbb16ae92bb4a8acc52a0cdb5841e28d2ec6aa295771ec6f3eafde16ab8be755735ca1f58b0bc230ba785ea9bd258e05cce38de755ab3e3e5297cf2b4bbfd3a65cb806b5ced4b106ed7475bf03ad351845ed35e8cc2bb9740d86dd58d518d96a5ca6730daa79557760052a9af3aa8995da133dfff8a8fdf8cbb1d2f3aa0b67b9600dba58757caf1cffcc2008421b32be6e5e05411b2b69d0c9faecc5f503687c64de665ed97dd3300c11da174511f43484f9c15f06fb7fa8e6e87f48a6adf70ee3384ed33444be35585a912fad2c4be61715116c0ae6798e14a5c8db2622c8ca465f1da798d64e03ef13b2b634c70aba05feaaff76ca410e4b767eed6c735d7d2d2776ca6ec1b9b4db4dcfc5f45f112b4e05ce63d60f5646c4f3f5c36bd621fdba8e7e05edfaf810e8fa0e25ce5f63655b50e4f86af20ba2b1b27d35de4ea7cc64b39d05aa4d09ec4a703071f0ecc06acd1cb8004336b91e2b715a1069bc5fe79d528d10099a949c8fab6d579066d1740641635ea96fdd3955c416bf699ceb55a8e8f97ddbddf977b63d0ff5b3fa7dd96a5a1e326c8bc368f3a7d658407fcdd9e8649272c6a5e8619b86b2a07ea71a4335ad560299489bbf9e2f1615f8b1a296a4524c712894d67c0ba80e9f93714e73f33d36be0c9a72e77add1a244ac4c7f61c747eafb44df57c459cf3e6405105ac1a73e97c501aab16f2babea5e1dc1eeecc31675ed96f82e4790e5d105b83c618f02ffa852e974b3c05fd0ff10e7073811f0c7e058fabaa6aa5f381ab718f103a1ff9aad8980c20b5b5b5c56dc2adad2d8d0587c7394a7c799f95d7e94fed67f5bc77deaed366735d05ed3bbabe7e1fcefdb069bbd7d70e6d9dcfeabef4b3badff78b95704fa589551004cefd36568195b9de2356e8f78db05aed45b19d55958670c338308d15c778195696fe7798576f815514451a1fab4736be6eed7111c34eacde745e8186b75b8378f66dd760c821ebfb1a93f5f32a225a6fbd068121bb7eaf6b70c5782ef85e397f57f781e79b7fafdaef488ff7e2ef9596a882564cb0ee8b8fafc10a73b2032bee5fb6b16a8f45736b6278e9bc0aec7da492e119f2f0fc34c6c0af45447036455555cbe512e7d48bcd1243fe85fb5862216fe5798e7d41d84fe14b830c6ab4bac2c62a2265592e974bee1d4a937b072d899b7f519cfbe73257574c61fb3edbd7fe516c2a507b78a6698b6feb25ceb5be63ac87956eb993feced169972ae7d74f8e15dbf99bc64af562b15a5984de16ab8634fdc9b0525f01dbf28aebfb79f531e6d5cf1c2b75e76f02ab66fd4bb0b2f6125828cfcecec4fa82c24794e70e22b40f3599478d7c2dcb32f8bb8808620a43baba40ff03118c29c47e21d44c630ce2f35107a7209665192983b83435f7b6dc816a17c835a2e46e5d9f753803f47dbe245c77b6efc8835a67bab8fed56976c6eed46fb7f3a9b00a5bfb137f9b5851970d6c2cd4f5c04aeb2894afdf112b3faf3c5617d04c70a2f78b15da6cc6895e05abf3f9ff8658a12f589b983b260c435ca36be76c5dec11827fa13ef60845044e345b5b5b615114f017054704cf047b238fc5791488db1091b3b333ec1a1645319fcfc1788396271bc97ad3bf8e1cb4ae8e7347942cd3f9d7f915a5ddcebafaec3768c94481b2bf3bbf76d2f9a9b00a9af2a3c7ca63e5b1f258fd3d6205be83e31f66b319f8d472b9d4674d70ff6fb95cc2af853c0e71f762f3a9655916ecefefc3df062e34b80ec3107fc53ac5c01a8b0ca7623d53b1f77876761645d1af7ffd6b8d9773cd81e90b02cafb9dcfe23a506abebec6a11322b2f8ea2b5cac7b96c85e40679be6f6b5535f4b31edeedeba5f884eef172b69ca74d7092b79dff3ca63e5b1f258fd6d62f597bffc05bb72c3e1304dd3300cebba8ea2a8ae6b78d0044180b4d8f423c5a9f43c834244907a8dd6d190fb7f3cab576c1a6f7d9e135a01ef657c21f6141dc435821cb3512550f93f71c741df991ffa71fd08eb38773a7bc785e3d3b8aebeeeb4dd7be753ce5f5d64fd9ec1a7c2aa53e6f25879ac3c561eabbf0baca00bc24114f5a18f1963b047883a3c8357c7c7e3bff48959ed11a2159c2f012b2862049dfc6c4551445184587d634c1cc75b5b5bda59860368fbffe0bf6d5f203ce2d882753bba0e258b708dbf9cc6ceb1d1f33538f474b683fabc1fd8d269af97a6cc72817ddf79f6d362c5673d561e2b8f95c7eaef112bc411d284893d42e6cd8ea288b183f47d61883ceea769ca7dc45507f0a5c1594da2e2f6698715ab14a6690a032938ed6c36233bd492c23a79c7b14df357dd42a75ddb911a2eb065074df9858fe8769c224d9d9d14e25ac714b242d0ccb5af7b715a688fc563e5b1f25879ac3c566f8d15ec97627d3e71b1582c90041b5b8093c9048c8c7aa188209336b3c1c00f464442b88622391bf2cb8091220e03b11388d8409db22cfbfd3e7c52a3281a8d460ca8bfa27ca1aff50c7064192d5f74b6c93777b1fcd2499b23771825bfe879e6dcd7c297599393d3a9c337b70e938f8955e77d8f95c7ca63e5b1fafbc26a341a81b7c1e7131da569bab5b5854778862e8ca2f411055f83770beae0fe79f804cf2d1411c4e7c3eb1439d968352dcb12dcb82c4bf05b4723742e1cc6cea26510a7b273cd77ecc811d2b4653b8d075d72072ff47f032585697adaed3803ecfccb76daedb79fbd1c2b638c4dcdf7ee58a131634ff2bb6e58a99fae8615f2bc5c80951161a2d70f8fd54a967f3bac6cb2594b793b2cccac294110f047e7b80626a995cbe795fb3aae8e9543aa8b953a3bf31cabbfe979f5f65819a50f756265fea6d660ed7e4c3e0e56fc955e2cb05662c30ffb7fb4718a4d2803bf18669c994ea788b84704442c762311f11660a7c8298aed40c464e09c8badadad2ccb7abd1ecf695a2e97613329143115cbc34d4b6671706fdfd7f503153743f905ffd5f2026fa28ed30eafd929ee2f168bfffaafff32c6fcf33ffff3dede9e3327fee33ffe03e0f257f69b65d97ffee77f0641301a8d7efbdbdffecffffccf783cbe79f3e6af7ef52b3c4bb9468ff102da3ab132e7751aedbc1d56c6187b44c3db60b5ee2fe917913ffde94fc0e1d7bffeb5ee37685a5da42933be17acae32affef4a73f9d9d9dedeeeefee637bf091a3266a0bb53b4f1d94652fcb7c6eabffffbbf81cf6f7ef39b20088c5196a273acc237c64a828e7c57c69873ac6a8e05d5aaaafae69b6f0e0e0ef069180c06f7efdfffe52f7f19c7f1793b12204f722097cdab26266f32af560834c725e789cd573a84fbdeffa6e6d59badc1b55819e273d9bc127d7ab3b306359e1f00ab95acb6faecaf86e0e2f641b112b5411886611886c82c130401981f7c44e1359aa6297c4a178bc56030a0730d63e5a117c6e087e07c389fa9dfefc7711c45d1643241c61ad4d1fea562633296cba53106d654fdb9a0ecf80000200049444154569cbf8ea6acaf31bcbaaef5c8f9ab66b1cefcd0d70048b364be5182ab6783881109446432991c1f1f8bc8f3e7cf6fdfbe8d3a68e7a79f7e7af9f2255ac3c742cfb067cf9e1d1d1d8948afd7abebfaf9f3e7103ad8afa6ad731eacab339b4dffe77ffe1c45d1bffccbbf8c46a3b7c68a5347ffd70878aa84a19bb95fd7d458f142dbf74943d0cc8bb1bfbf5f14058d334e1d4dbfeeb73d67cececefef297bf4451f4ab5ffd6a7373f3bdccabaaaaf09a567756c73cacf4a10eac542f7adfe5adb11211e2c31ea9eb7056bc2956f6cd625a1b1eb9b5ea5d2490d5c9b4c6180841a72727ffdffffdbf7a022c97cbf178fcd5575ffdbfffe7ff0c0703dcaccfe75563b27562a5e97fe77955b7e779e757fbedb0bab4cefbfa5ebd2956226f8615fc24f51ac4e39ae66b8915f708b15b072d0e5c2d08021829c7e371bfdfeff57ab8a637e8783cdedcdcacaa2a080270d0d509f56845ec1914d814d467131a15c31fc7312988e378341af13cc250f92c695e7581ed5baca6ecf07f3d1bd88ebedf2977e82f329f85fe1e58bfdedae02c98d5e3b4ebd6f65417b6f3e5975f3aefc9d89cf7a6aebffdf65bdcfff5af7f3d9fcf01e0dededef9188d21857c56d3df1e978884417078f8faf0f0f0c58b17d4e281a7b127bf58ddaed17eed62757ebf895bc8d1840aab20088c08cf2eafed4a1362d5923df54ac0cdc562810de3bdbd3d231236f1fcffd97bb327298e745ff0f3c83db3b2a885822a2810020a0a1042200909d0d647123249dd3676af9d63333673edd89df334f33466f34fccebd8dc31bb0f633666f37cfae9b4a496d4a2b5746b45621562df29a0a82a8accca7d099f875ffa975fb8472625a99be59e888724f0f2f0e5e71ef12dfe2ddabc15caea970112efdee2ddbb00a15eaf2ba52448fc3e75d68b88443b646408ee97752cd09060789ee771105312198ea81bb9bf8b5bc898dd7de5773f55d6bcb84eb95c063eab57afc61bd2957b9cfd4c862af05eeab669ed1911fb34e6c53c7375ea887d8b4af57a9da9603a9ddeb265cbd4d414bf8c5f7df9a5d99ff6fa92f30ef2c883ef60f7bde67d2be7a5cd170daa60fb1cc8efca1cdaf0b2721d653b122be5d9fdf296b0b172de419e945c2fece1eebe52cabc76da13e321024745d63bc57b55eb40165cec1fb73ee3d6dddb229ab636729261dbc8f067011cb04a3af89e6af16da42035e5c6b5d0c9330ebce28c1bbe463c4e6e5fae8b52ca13df2bfe9ec8fd63bd53fcc1ea9e7689dda583df7632b1afa1aa1c1c1cacd7eb38b38321a8cc4101d3168e2fc3748dd35040baf3c8c4e786ce1435d8761431d9d8e4947d2f602f83421636437124f16e9bdfe6fcececdd6aa05c2c7663eef6ed7b759b1fb17edd720a7e4da8f395097c353a3b524479cfe7f3923ef1efdcfc7cb95ce68e2a950aaaf8be26ad676ede847bc9f8f8385239a2dac8c888e9cbe45aebee0fad83b9d018ab00ad220d09552995cfe7ddefa3a128768c3e12f20a893753c4acee1419ac425b30bb5d93d0da75062df7baf58bf776696909254343431602449dbc83dd59f7f091c2aacd2f2c3008e8dcf7cd77aa43b7cc1ed33e057544dad0bfe0be22004b462bf28bf755070c9b2a74cfb1a80756a55209f750b468d2a10890f90e1291afb5d67edbc22af8dd6148ad7d450e0f84a74e9c3881c6d7ad5b77f0e0c16ddbb66f9b9e7ee79d77c0d1562a158451e42fe37db00a9ed32ba5ac4c115c4e449d8574900960a502e592fec9adacb54f41acb4e0baec31df0f2b6ba6e65debc8c4623cd04976f324f07ef0cdae08f4cbaf8e534ed4c9d2108aaa35123966ce44687e4d86c22e56ddec95bdf655ff7750621518a141abf7b71d344ffba2848cd6257cff0467d1775f759fc51665e5134ae04a4144e57219740af6a2accb64fb52d038b62025a23899cc841c47143222da2522d8c5789e97482452a994d61a0e15a0c324842a89b836ac0183ce3244e9ce9d4abd4d77ae360757ad1a4a07e4455dbe79e36e5313cdde4a3eb126cbe5413b286b310c378c5de289f71f6b4f602ff8598c4bda2f89763a8d9f3d73868810b6a052a9140a852e55203a7ffe3c1ed9b2658be779f3f3f318e4f0f0b0d6ba542ac1aa369fcf77429b77e6d8fd2022c6413c1ecf64325a13e7a5f4fd0e214ca7d310ea595bdbc5509326dc77e68531178b4bcd6603fd4222d086d7c344cbe572bd56f3b5ce66b3994c061c6e2cd6e5438994d63e3e85443a93c96632192dce1bb490055bad56a552f17d3f91480c0c0c300e4aa9152b561802ac1a8d7aa55289c7e3c964329dce307d8dc562fcc67ab19832b294e779bedf0608994c062074969e3aaf19623b80ef1b1c1c8cc721322a4497003595eac758ccf37dcdc31b191969b55a4bc5a2af752a95cae5726227f00626a53a54c1f77d20e6791e1979825477438ab7b42bdf349b8d4aa5eafb7e2299cc0f0c68ade7e6e6181f808fbe1a8d068469a5d4c0c0805c77e839b1d648c8a1945a5a5a6a349ab19837383828df02fe5254abd55aadd66eb5b2b95c369b95ef60abd5ba73e70edeeb5dbb76816e41ce58bf7efdf9f3e7f9db27e7d5e71d346c1792cc752563a9fb21a15d50e27d8766cffa3e28e5c562c49290d56fa71ddd399742f3bcee3a98a7b0bb6f7d5be7149897983219428b36e53855e76444b11ccfe3c7e6d4dac7671fef942133e00cb4521eeb6950ee8b7741bc83dd1bf38e9016791eb4ee8ecd3ad4e4f1601bcb3976eec53ba2837a38cff3982b88c9dc84d4d50d600a56d7567d4f79bc16623ca49447d4dd578c2dbffb583122b910ddfd434602060ea9542a9d4e271209dff7f93bc07164f05e406c637d27fc05117706f7648ef9d2e974e78c90d59b44041b99743a5dad5671de889346f6bda8d7eb5a6bdff79bcd26ec48f96b253566dc20af6267fe86f4d48a77661a836b570d757899cac2cc4285e1470b3c73b94bf83db4f60d19f0780c5e378fb3adb346091bcdca9697969670fe373535353333c3e220ea140a05443d1f1e1e1e1e1e26d28b8b8b4434303070e6cc19a691b876eddab561c3063cdb6ab58e1e3d7af3e64d5921168bedd9f3ec9a3513954ae5934f3ee1b954abd57ffbb77f8bc7e3070f1e8cc7e3bc77cd575e69ad3ffbecb362b1b86eddba5c2e77e6cc19abdf279fdca0cdac2f5fbefcd34f3fc9cc91b95ceec5175fcce5722cc7789e77f9f225b7dabe7dfbb2b96ce78bac94d6ba52a91c39720410f1b567cf1e28129884dfbe7dfbc48913ac3020a26432f9ecb3cf8e8d8d31da5805655ec16ab57ae8d02106a152a948104851a1503871e20400e76b727272d7ae5d4a05b4dc20334c1789084f799e67ad4232997cfef9e7474747e567e5ca952ba74e9d72111b1818e84a095d9e57f3bec22c5c7c76efde8d6d934ea7c1506aad8bc5c2b163c7ade9ac5dbb76cf9e3d920e7dfae9a77d167ac3860d64f67caf6167b3594f688cd10bbe2c2c29b22a429182dc46468ef73cfb4b2ddf4145e46bdff7c34f2e6436aeee1e367b4909bb0f51a7abd3264768d3820966b94bf222fc95e76765fb14f83e847faf62e27ba5ba1a239f88df415f66b2c5df499c078bd1b24eafa320347fb2a555ad7d43ddbb121ed0909458393237f0e4ad68cd25c0eb3baba384eea41756a0dfcccdcb85b0beeddc17bf7782e25afadb0e564a80efd6e17b6b544b4b4b6c0553abd5060606a017ad542ab00545acb57c3e8fef0fa2c4c076a6582cf2f11fe44522f210875b6b0d2111722234a7ec5f8812ad35049dc1c141e9abcf8396a7bb5eef1801b9956b47b29d3487ed5af1dacc9d9ad69585db37980ac6d2abd74de482fc2063c1bfa1edf72ae7d5b2767f3c1e97f5518e6f8de779ebd7afefb85b9ac73dcf6352b76ddb362282744244c562d1a2824474e2c4091cf5b5dbed4f3ef9c4a282283f7cf8bb7bf7eeb15ed1bad0b53b7e68b389e8faf5ebd6c711fdd6eb0dd4fffefbef4f9c3861e54f2e97cb870e1d42be4ab4dfabda279f7c522c1479c7cfcecefee94f7fb2bef24474e4c811483c4343434aa9999999efbefb4e5241226a341a5f7ffd3524335cfc0602db3e2028a5ae5fbff1f9e79f5b6483886edcb8f1e9a79f7214882e6262ad9bcd2696a9dd6e5babd06834befcf2cbbb77eff2be3a7cf8f0f1e3c743112b168bfdf7552f7c8e1e3dcaf8e0919999994f3ffdcc9dcecccc0c58228ce7be0bcd41a0befffefb5ec32e954af8f2261289dffce6372fbffcf2f4f4b41cff952b5730e66c369b4ea7ccd75fddf71dc477f1d7bc83f61961b09cf706376ec9887254720ceeb324c40beaf7bd8a5975e4be0a95a5189cbfc9f74a891c119aed33ff065875dbfcdb61658fe7be5805c7a67e1956c87dc47e0d64a26433e593b97559c709b7422b064d274f3d190fc252a90425276441ad35c79a89c7e39e09250371301e8fd7eb75cff3203562705ac87092e320c16ba0666e743c11bf335bac1311b56bb3d7ae75679bc8ad9b18edf5acc5bfc87ee5253005829d0c3ee67ca27334ab948ac7e3b95cae582c2e2e2e62e4954ae5f6eddb44b461c306cff3c6c6c62002fa6ddf8bc52a950a4c493399ccca952b95524bc52569ceb463c78e75ebd6d5ebf51f7ef8a1582c6aadefddbb37b672e5c99327590c7fe699678686861a8dc6b163c7c086974aa5b1b1b1175f7cf1d4a953204e3b76ecc866b3a9544a6e47c913158b45d9eff6eddbd7ad5bdf6c36befffe7bf45b2814568e8e9e3b7f7e6666067576eedcb96662c2d7fac71f7fbc75eb16119d3c7972fffefd4aa97367cfca6a1313135aeb53a74e81669c3c79f2c081039a68a958fce69b6f506d6c6c0c269d0b0b0bdf7df71d0f067e26fcc97eeaa9a7d6ae5dab7dfff49933d7af5f27a2f3e7cf8f8d8d9955ebbe005aebe1e1e1bd7b5f387dfa2780f0d4534f653299742ae579de9d3b778e1c39823657af5ebd63c78e643275fbf6ade3c78f6bad2b95ca952b57366edc68c0eae85ea033d5be5f2e97255cdbb66d5b3739a989788e274e9c78edb5d7945267cf9e654af9d4534f4d4c4c28a57efcf147aef6d24b2f75fa30adf9edceb957b158fcf6db6f199f6ddbb6e572b9bb77ef1e3e7cd8c2676161e1871f7e40c9f8f8f88e1d3be2f1f8ad5bb74e9e3ca9b5ae56ab972e5ddab46993d67a6929b8c1b66f5f3b39d96cb67ef8a1b3d08b8b8babc6c6e4b077eedcb976cd9ab6efcb15dcbf7f3fe4307c44b84da5e8fcf9f3a77efa89a72cbe5c5a13bf6bfddf413e1d0c393d22d74a82351cd43db3e7fa6c71a3ba529136f26be77483f78fd121777477bedf26478090db8c841ca63a727cc07697cc378731ef6860853cd7190375a914f43424147a9836ce141922323574c71ca4d399524afb5c2472b50725bf40ef0613cf9c07f9beaf28405182209027ce17f9afb2416bedac7b8955171c1ebf9020817967ddcd7caddec3f69586518e31a7b2ebf35cc0f5320780631ad88226128972b99ccbe5a00585a4a894022d031b8a5cf62c23160a050f5490e3b3a10fa85f71de88f8a2309049269370aef03c0f7221992346deeb7de87f7732cd666a68f5fad16cf71b4f4444b1f4e0fa352bdbf57abb473b164f248984fc6fb78ed12474ecd650ae827588487c172e5dba04dca7366fe631d4eb75bc3957ae5c414d8883beef2f1a4b19a5d49b6fbeb979f3e6542ab5627070e7ce9d28afd56aa4140e66e2f1f89b6fbeb96ad5aa743a9dcfe75f78e1051e403a9d5ebd7af5c0c000aa3df9e493131313232323168f49e61d839e0dff7de38d37366fde9ccea4f3f9fcd34f3f8df26ab5da6c35cf9d3bd719dbc1839b366d8293cddebd7b87878789686161a15eafd76ab5b3a6dac18307373ef9643a9dce66b3cf3df71caaddbd7bb756ab794af1b77b6a6a6aff8103c3c3c3f1787c7c7cfcd5575fe589742c41b426a2e1e161749ace6476efde3d3a3a8a4ed9639519404c2d954a4d4c4c30081b366c98989818191dd55a1f3d7a14ed6fdbb60d2aca543ab561c38603fbf7a3fceeddbb4ac1f655f3996ba70bcf63c14b29f5faebaf6fddba3593c9608e200cc562b152a9d4eaf5b367cf1a28dedcb87163369bcd66b3cf3fffbc84c2ec2b1dd857a498544f4d4deddfbf6f78783891484c4c4cbcf6da6b121fa5d4f7df7fcfd3d9bb776f2e974ba7d34f3ef9e47e331db6c02a880df6c61b6f6c9e9aca6432f9c1ee42c38318da086cc28d1b372653a94c26c32b8885f68267f644d46ab5fff297bf3015dcb56bd7c4f8380f35f00e1a66c5b14fc6dae16bc871236d1b69de1231ab5c7c37c8f986585cb594bd629def89b133449ba443f79525eb487945a9ee97ddfa5e7102ccce5a77baf654679cc173b858276b3497632b7a31cf7ca4b4fcc78bd9edeb20568c8f3566ea216f49fb4cad6d3995090f4b55b2afe56065ed0725066fc988867877798e0e3ea1fb0aed77d6d7ccbda38b106d06bfed90ed901fd0f77dd8acc09502b166e017c1b9e941da201792f18f808c08d9d123614b53abd54aa592e779d25f1017d44a1007cbe53287b721c703c1a5de6cf785ab5d9abf71fbf6b5993bb5ece8baf141564324722b27570f2fcddd9c999dbd397b8f9f95edd87ca5a3dfe7730565844159471b253d732b5c1f7f6d369b972f5f26a2898989742643824062f0f86b2a955ab3660d66ca4ab07dfbf6c1ec026bcf5ac7e1e161a5d4fefdfb0f1c38f09bdffc4619db8156ab856fae6c1fdf6b58bbc87959dc99f23cd96fc720c2f78988fb1d1d1dbd72e52ac6bf6bd72e3887713b6bd6acc18deffb57af76ab653219dded514d4c4cf0d8e6e7e7f970745a64bcd25a0f0e0e829c789e07635734b8b8b8f8d5575f95cb658c7cfffefdafbefaea6bafbd26bf92f2d7050158ddbe7d1b7b727474746a6aaa53dff7b5d623a3a3d0cf170a852e4a44fc3d02e00cd773cf3d37303020f7d5dab56bf127a5d4e54b97f1a7679e7906cdf2de6328fc30bb4722ba7b7781f1d9b66d9bdcab129f8181815bb76e613a2b57ae9c9a9a92ed8c8c8ce0c0fedebd7b4063c118bbbef0c20bb95c8ef7302ff4c8c808afe0ce9d3bb3d92ccf5a29c50bcd4c34efab76dbfff4d33ff3d1e0fefdfb9f7cf24962830ef185953858ef203938f8be8f432ceb3bd0f915251476b64446a8b2f6bff5beeb505944d4b7f615894bcea5fbbd12720fc3e4be83441d6494e02a3a3804e379760c400872a1f3bd32f503df2b235139bbcb92c5557fac3cdbb25407b00a3b875b36569e55aec5456651bb2bc2da4e67bd025809aae14b6d81bdafba6393b6a0ad568bf3d1e3af90f340ffc8b095ec25c88d70fefa38ce0591741071d8700f7b1b9edee0e0a0363229e2cbb0a28fdb653db29c2d397adec5628588a85dbb73fde6e0c4e4daf5f1db37ee7903ab570f27e76e5eab343511e9fad262636838d9b55523878fd0265ab9cb2b99fa41864b7c1db89d582c06cb0e3c7be9d2252c0f02c410d1f0f0f0e5cb9763b198e779333333807b6a6a0a10fbbe0f88b3d92c6c40780c28574ae1bb96cbe5cae5f2f9f3e78bc52207876558464646c8b0f644343434644d5ceccc8e8681fb858696110015514a2593c91b376ee09163c78e9d3c795236227b67a5689f6a4a29688c014e07ffa0669f88060606c0186ddfbe1de2d1dcdcdc279f7c02da303636861344de0e6cb3aa8d5545b55a6510788df85811692f79483cd35aadd66ab5b431c023f381f03ca535f97e172ed033cff8e711d1f8f83814b94aa99b373b501c3d7af4c48913bda0901b89e7cef8ecd8b143f2e32e3e382c044adc9a368c397c936044aa94c2c833990cbc54799ff342a7d3e91b66054f9c3871ead4a9d0617b9e27df50223a7cf83b1882e572b9575f7dd598bc89b3a5c0391351d8d998326f22f7e889103cbc8d2dc586676214a880ad63780c1429a384b663d5a1e02b13b45dec6a74bb72157f5b3ad82af7598183e6e9a06b69f3c99f05ab5f69edc2f5f99eed30791bc462c422682c66c788e1f91a9ad7e5e955f08c50ee3d197b28168b31884646d7d698dd6fafea7de6c7cf8201e579594b1f7a7e49ceb79d4b2456b27e2a9582f96b2a95ca66b300301e8f4346849a13f6a2cd6633994cb2d58b3276b332062911c55195cf085916c4c7251e8f974aa56c36cb31d992c9a4e7798944a252a9e07c928d4e996ef33e0ee11f8946d68c36af2fd43511b58bb7ae36f2abc62727952adfbc76ab69e87d6678f570873c0550902f158b1ddc356f231d3c8de76f87c597e17e646464616101f5a1481c1d1d65d90ec216ecd1a17df23cef89279e40771cd4155490dbd7ba63ac9fcd661389c4ecec2c1fadb9572a958297029b8a8c8e8eca19714d9e0b161bfd0aba42beef73bfd20e8882944f5e5af062fdab417448a552d0b6a9e07cc13f41efe7fbfeba75ebd2e9f4912347304e8886434343fbf7ef0f8d43c463c0b91740e0cf16e4b94c26033a2af7153250737d6b2740e9d26874e0dab0618364bdb14f387e100595ed7da090f48ff795c4c79a97850f9ba50c0d0d59eb4b268c11a6c30bbd6ad52a492fe5065be64253f0dd2c97cb50d7e772b9dffce637f28ba38212832937e776ce3bc81f5cb98eee3ba8858da2b5fad61eb0de534b7f20d7b7573b6e9b722ddc16a8f7f7ca5a1dab9d50ac28ec3447f5b0cfe45de460054bcbfbcccbc253ced7c5eabef77db0a2657cdbad7e49701ebdf755c8b75db66961a58d3cc6c9e44180969696603b4a26e92e9f1132612e140ab0a649269388a786beeaf57a1c6d41fe4396a56ab5ca76a4d0b7c27702f7905a92c9e4e0e0200c26a51f2185f1113ac84f11e5c6d727efccdcaab688886a4b77666a09bfc944d01b189bc4e9213fcb284b1e47ebc07980dc942edf6add733b24d83184bf2222e8b57490cf65c5e0c68d1b6134ab94624386952b5792e09bf8fb353c3c5cafd7d9802293c98c8f8f8f8e8e6632994c2673e8d0a176bb0ddda932e788641cf3e51bc538a050f62bb70b13e69191114e5092cfe7a7a7a7e516544a610a707de16adbb66d9376194a297c649bcd662693e1adc2cbc1f8dcb973077f85250870181b1b7bebadb71616164e9f3e8d4fffbd7bf73efffcf3d75f7f5d197e56722df82f0b7f8005c306ed8466deaabfb4b42475122e5644c49632b95c4e7eb29590e49452ad56ab0f147c229ec96442f715e323df05f4353737c7f8f074e0b61bf0c1f2bcc5c5454c07c3b3169ae7ce1b6c646484cd4afb2f343c47c9bc9bac2bdebd7bb78c2f2adf110abc8331d96ce83b28dbff59efa0c48ac2a848af36ad31b8e5d65a73d7b21dbacff7aae7beea8dd5fdbf571156bf182b22e2b34016c30607071b8d86520a3a4ebc35d071222a37ee4114990ab25c182723ff717c195615d6eb755041222a168bb21c1415ce1570e62071f124b5e0d4f803e4799ed689556b9f98bf75bddcf089a8ddfd76c487d7ae19f0343931a6adab0f0f228721f92c59ae1cdea75c2ec31264606060747454f23ea886886b4a29d8f2610c325889a4acfce55db56a15cb794f3ef9e4d34f3fcdd5eedebd0be61d44541b910b02bec0aa8b240fc60a92c2754aa512fa156699343434b466cd1a49009acde6cd9b37b5d69393930ccbf0f0301f83a1a366b379e3c60dcff3d6ae5d2b899f1c9552aadd6efff8e38fdc57b55abd7efd7a2c167bf2c9273dcf1b1d1d7de9a5970a85c2575f7dd56834cae532ecbb182b6b2df08106083c365011d00f5e4dfcfe640c3d9e78e28950ac487cf42556f8d3bd7bf7f84892bd690105e3a0946a341a30bfc4919bb5b7e5c58a414649e2c369ae311dd90eee39b0dffaf5ebe5c88786862456bcd0e03ce4429378d75aad16f4de2827c183e7f3792836387aa29c915c5ff90eca77c7e2d951c87fe5facb7907192b29dff497c942f70ff7e5ee2bf9ac35ca657cafc2f7d5bf0bac82d7238255a3d1e0a869b0ff544a414f29e3a021ca762693812c08ff42192b8dcc59a34726572f11c1a7109f1bd8d2a027c47383cb442a95c29b83a0a3f97c1e1221f80256ef22fc343e0ab8471d196965e5c4ba1519214daad4d8fa3583f16e1d329f155cee198076782289afa54f6740ad67653001229a9e9e9675d864030cc1e4e4240402d4e1af367fd9d1268b352323236cdeb979f366eed7f7fdc3870fa31c5282effb307f60212f948f031456bfbcb764bf8944020ade5bb76ec1e186b1fafefbef8f1d3b76fcf8f1f9f979389010d1cd9b3721ed3156f02c3c76ec189a052704b149aec5c9932731f2783c9ecd669796964e9f3efde38f3f168b455ef7a1a12150597278559e97e77948a70910e4f26184f57a9d2d3bf0ecc58b17394e0ab4c42e5624c8c9c58b17192b226a369b5f7df515feb469d3a6643229a190fb0a881d3b768cb5e8eebe627ccae5b2fca2497cd03e4f87d70bfb5c4e07148e7923e911af8489d6f0f03007c7b975eb164e16194f78161e3fdef1d9e73d80f77aebd6addbb76f67f586fcd658bc8e2cb7eeff26ef206315dabe3b06de57963cd46b5f85f68b29cb3abcafacb1f5da5711560f0b2b683891fb883939f8b893391d805d28e81cfb0b9289412ae3ab2512090f7148612fca4391f636ec86ccce15604561780af24082f84b322e75fd24f868a6f943abd68ee6924444f1ccf8bad599601d86c3fd65746489c5a748ecf8de1aa4d69a8d328828954a8d8f8f5b2d90b8b66cd9229f05915bb162855c3c6dceb420d6f03a1d397204c91de7e7e73ff8e0034ba1d768347c63f639373707ff6e17075cdc2f86c7752c710a24b6d56a7dfcf1c7333333f57abd50287cf9e597d6d7d6aa56abd596969664359c806ed8b00103fefcf3cf67676791dff9af7ffdeb952b5778878107c27fbff8e28b9999996ab55aad562f5ebc78f5ea55123a460b61ccabd56a4910161616f057eefacb2fbfbc72e54abd5e47f41696b4108ac5c54a2e1311ddbd7bf78b2fbe28140a8d46e3f6eddb1f7df4115e8f5c2e07e178f5ead51662c562d1452c745f85e283014b7c8888cf98bffaeaab2b57aec0d9df9a0edac4c8916e546225175aaee0471f7d8415c4d2582bc8efc8fcfcfca143873efef8e38f3efa880dff5041cee881bd83fd7fa50c613d8bcbd50f59fb8aff14fa57aed0e77be5eeab08ab87881544329c04c164864f07dbed36c71a85bc08b2877b326412fe8570ab2f954a71449a81fe142691f029447c513e23c46852a99409c8abd3e934e2dc6004da10ff501e47ce84827ccdc0ca8974be164ba6f859ab4ee8bd76780d899ac53759f716cf225bd8b2650b9f97a07d4e0141446363637071433b6cdf08e3112e6fb7db60c007070763b1189f4b2d2c2c1c3a74889cebd0a143070f1ee47196cbe5afbefacaf3bc77df7d97f590b2fd65f64b44d3d3d3d7ae5d837b0d3baef1b57fff7e308c5bb76ee56a2ca7ca6a10fad7ae5d7bfaf4e94aa5d26ab5befefa6b772218cfe8e8e8f0f0f0e2e2a2d6da6d6dcb962d1041e4ba58efad05422c165bbd7af5c476b0f4860000200049444154c404820040c4916deedebd9bf37eb8fb846d7171ddbd7bf7b3cf3e938f2793c9575f7d1567755bb66cb97af56a2f280e1c38c0dbc6dd57939393cbc14729353e3ede7f3aa0c7954a052387ff2563d56ab5b0d0f0fd554ac9850e5d41e6e231663e8d066deef5ce2ef31dbcef3bbe9c773054ee91edbbf5ad3a2ca384ee2b5987ef7feef74ace3dc2ea6161851bc49101916ab55a88350afb4dc41af57d1f1a5426132c23cab8a390173d9854c0978288381f7db3d944e848b62365d528990b94968728e93c85f13bd62f2f4c3cd5d1d8f6aae3ae96accf975cb93efd5afc08c3148fc7ad7326ad35a2bba2022c11f8af954a05373853e43661d144e6fb95cd665f7cf1458b668f8e8e3ef3cc33fc5fc4a4669f0d3281cadc395afd5af342bf2323231827fcf7f1559517cc58b05db4d68944e28d37de08ad76f0e041f69c21a2d75f7f9d359cb862b1d8c68d1bb13b71d84944070e1ce04329be92c9e49e3d7ba6a7a743f9414c36954a592078c63e7eefdebd5bb76eb5da5cb162c5abafbeba7efd7a6bcff0a5b5469824a5d4c18307a19d96d7faf5eb0f1e3c984c26f16c22913878f0602fc4e00bd86777fdc33ffc437f7cb8e60b2fbcd06b3aebd6adc3e7002327e35dc3cf6aad79a1519248247a2db45c41fe65d69679a93ef3a265bf83d6d7b34f9bee3ba8cd65f522df50ae132af1f4d957a173fc05dfab08ab47042bce890b5f0694b45a2d6850989621760c681c64c4743acd72217fd8dbedb6ba71e306cb825a6b4ee604e28c1c14900ed12b3cea58f70aaaa9943219b76dd99c82f43cb40e7ff1adbf4a147ab5593b7b36333dadb5c64de81aa8a02ac06ac72db7baeef36c9ff1bbf3e58409d96c165f5ee8a9d9f70ef5611b89e06a7f2bac9acd66b55a8559532693e1535b0bab56ab853595d55cacacbc13bdb0d25a572a15ec994c26c367c9cbc10a879a3875b3665a2e97611e96cbe5246ecbc40a0b81d036206ca16b0ab53fb255e77239d71caccfbe023e5a6b1c0af6df57988ee779994c064ae39fbbafe41e6eb7db581acff372b99c3cf2f9fbbd83d64be4eeab3e58b98fff5ddf41b7af07fcbd8ab0faf558210c2111211e13541a50d5425a23a26432898f03ca61294a446ce1c16e854454abd53adf11e4678274c9f1621a8d06a81db75eafd7911f2e954a2d2e2e66b3593886a34bcc27d44f480573225bfe283c435fe43d97b8f8619196ac6719b2d04b8e445673cbddbfca3573c723abc91674d07f081f26ab35163765efa9542ad447e7d760056d80528a8941284ac8b46ccdc2c50a018dc8f098bdb0f23c0f315c7e01566c204acebeca99d442b2fef2b1222210effefb0ad9ac30416bcfc82b745f497cfa20890b91de9439ebfd0558c9d6602f20717830efa0fc66f5ba1e8577d06dedc17faf22ac7e3d567c4688b339a514e79788c7e370ae80d4d168346059a38c4f61229140165fdca0358f88200470de269c1712117c07f10b5207bf0d5c1cc34d46bbd726da8b5c0953ae7cdf47583f59c7eb61d784af36fe2bbf62964e99a8136a4b9b98b6ca5c7c2f9fe5a15aed73b9e7c4b593cfe2cb68e9c7ad5f3966aeefd6e98b5540b7fe37c14a9240d38e662422ac42f655b0cd685f455845583d0a5891311383b54b2a9562bf063ccb699448c48e41ac193613851d29fedb8935ca79e7d9339788e419613a9de674ede80c6792302fc4a9a1123c022e15e45974273755d74744da1d59cf3264f2bf413db5d626b39a2f4a422f65cb8e9d676547f26fb244391c905b478e4d39d283321428949f0ac7cad14efc3aac3a7fb7fbf503fff4c0aadbf8bf1bac6c8ebbd7156115611561f5e0b122a24aa582c33fe417b4b0026d2222f84470a40b487a4ce338ee5abbddee789ef1b920df6bad3dcf43fc2aad35289fe779382facd56a9ee7a169f827e28c9027231134bfc8c0e991c9bb211792e72c190dd9a0ac4344688d88eae7cea5b76ed5e68c30b41dfeaf69b3d34cdff643e612da60e8b3d6dc97d97eafdf5f8d95e2a4a041de10182a0eae188655e0faf78155bffbbefb2ac22ac22ac2eaef8ed58f3ffea8b54ea7d338b9c7c982effb1c6b50990b1a51a514c79a51c6af1d449133cf7754a3b1580c548ded6dc8d8deb0ff402c1603ed85df068c20ac15d25a43c2800eb423b1f93e11b5db9005b552ca6fb7b591c9fc4e2cffcebd144ff01f25f0ea60a735674e414dfe2bb7695af099d74083a4d140e74f9c435929f3acd66887ff4aa629129c4be7cfba3336ab5f257cdad0821843a026dfb73b98049e2591798b049eb2051e9e6ff2d174365ca0afc0d6ececda4e0e365f5e621dbb08cb79c9b7458b79b9ef9edcee567deb1d0860e57c14e478240e8c333f2571b3c669cda84f5f819dd69733b59e8db08ab08ab07a005891f117947164586709df5f9cf7e10411921feb3b61a2085f093cd2892c038b18569e22ee682c16e3f8a2648c5371ef799eeffb32ef84bc90df5929459d9c649d59c5ba3a685f054f47496b22a3d7165973f1ac0ef2059ee77146548b5d92753a2dda3e3a0aa52a24ce8219bfc9e2ab9442bc769387ac4bcf44bf3a542fcfa7c72e9f15e857ec0353dee5a170b1fe5d9e485357b71ec86042d489890c2cac3306eb59391e1e4377e73931260456dd67792bcb730297f593f52dacb43893e885953b4e6b2e122b1ea7fbac359e5e7dfd5cacbc08ab08ab08ab0788152431ce47effb3e9ba721f61987f3e51c8438178cc5623082814d0c08643a9df638a68c3c23e4bc4dac45659764f86a78c68362696989cde2bbdfd00ebfd05914c6c87cdf314f2f8820b7a0fda0be98ffcc25c4b98fc3e4f7cea5a96dd21c7b9e870469f86f779c86d6065beb4a453c00d4e8d8e4747ab7792bb33fe43803f1177c13a7dfe3924eb9a0fa41acb063e5eec40df7d26e777292a16506d3d7f6bc027371ee596fe019bf3d0063f1770e56dd315b6d7261e8affbbeb958715ff2596b3c122b599fa1902d84ef2b079365624582ff95e51156115611567f6fac381927ce08397c1afb114a7b17c878081d4344a55209a4113e8820991e99d86b684be6f3c52922e445e49a404332b65b3e9fe7042e5dfec5b363d629118fc3ccdf97ebad143115f354972fe80a704af1b79e0cbd31f736df84f2582ce62905ca0aba2b9f0de36bccfaf91d7b27ad35725e8383529ddc5d9d9e2ddb2a94fae259776ca64d53ae9467a89ad6dd3a8c9536fa6199a380880c69669cbbaf01d34ea53ae9ad3d3366123ca08595d5af2c0fc54aee756bbebc897bf192f2bdb2fa0ac1aa075fec6265f655888d9c3b1e1e095f72be1156115611568f3256f97c1ee40db409463144040f40b605652f2c8ea6061991d599901189c803b5036de43fd7cc158bc538d6683c1e2f97cbf072830705444bce7fc6c8eae0c959e7ffbd7913f3b8794af22ce6cc4c346ef308bc4b74b0171ce285f22f14cce365da579d7bd9be0e8c33303639fe306d386f23ebea8ec700249fc27f55101f5f6403772b6bc1df2d07ab909168ad7f1e5636df6ab526d1e8854caf518563152ce955276c5fd97522ac22ac22ac1e6bacd867219148c0eb015132daed3674964cf90a8502281472d63369e4d834843342a93f450d3861b08e7570701004569e11a65229aecf7e849267e1f339f317e5f02926374587ef90f5898860c883997b22c489cbe348c4ad7222f23c389287f032fc946c47f020a23ca08385dd91999811f2a82b8376db440567cc167fa794523c5fc5c3554a99fcd19d7de3790c6fd81c157578c3ced47830e6bc3630c730ac7af27dfdb1b2ca05568136790368e163743facc2cf24e4d8dc76c8f0c5fdf7cc32eb4458455845583d525881e820321411e15c1085b867fb15ce3bc139285816841e14677f1e99ec68a0b1a093d0b14246443912f0727c198883c847c86e8c015e46f848885342ad355b8176e2251a67f8cea425bdd186ebe106b87dcbbe91fba2a0c6a0d33f9130d20cb0272c9075768fd94344a48d2c4844ddd6898874c762b43392c0a8a4842747c8f7b0e10cf27d9d73bece90cc50fda0152b66c41d77c669e6d861ac8c3a97448fed765b0739acde587575bc400aa6a4dae023b1a20056dd3f599785003f155aee96d8fb2a787e202f599fdbefaeac98a336fb2af4d9d0beee8f95834f8455845584d5df032b2242d4332242ec34d02322825c48449014595bc9314121d4c904f79d334298d0c85c4d44048990cf0be1b7cf921f3cf9616cc334996c9e22c6938905e9399b2306781c2361e90efdef6c0e9e39f32986d788c936ad3d84df58184fa154f059d5e5659491c3884889734ade672a4cdf8dd34d876f52f25939feeeb3e6e0d3e1e9341e0af259310adaf51091d6e499035a8995a714ca43f9b850ac42f92f77cc01ac82bf1656148e950abdbf3f56415e55601532362fec7c420764fd3efb2ac22ac22ac2ea91c68a88f2f93ccb79d053b65a2d2917b2ef039ee528697cdf6c3639865aad56eb668fe3bc4db8c8845e2b168b1cb11434163a59324789e89867db3d1714a327eafab7c915e2997729a2a12e3c6715e495985f906bc397c0abd323ebd07b60aab5a397c7aa593b4c6bad9c0843a672479e65ab1c21c406583965349c182b9f384afe4829a53be1e23a7fc1cc8c9d2dd0c08eecee0c392a6bbe122b5e2365a8bec459624564ba514a077c31bb5859be4d1243392a7e56defbc1d8132e56563bbe10eaadbedc16e4f7c5de87ceafb5afe4535dacccbd9cbbaccf8ff81156115611567f67ac60ed09db51dfe42304918ac7e36c3b8a782f6424c242a1c0f97841c5bab99548e4f34572163e112422f811b22cc8ba57a4ad8729231ee77187d27c12df65a6585af014f28bcc75ac36c97cd3b9a6e44dac31f03d0689d66404006e87dbb4caad7b4902b97e70002a16b3dbe1e970358c4707e765d157f3ac1df305f52dfac75859fc541facdcf98662f2ebb1b2d6bdd71af5c2cae5901efcbe8ab08ab08ab07aa4b0c20d6893e7799ee7f9be8fa472646c597cdf47d498152b56806a4246f47d1f54007e8438d7ebe623e41cbe24d2e9f119219ee44c846c6f03df7e5e2add83cef3fa498e0057afa7dc36adfaa1be35bc482efa160fc523e9a3fbe6121dbc648fb244f6e8b6d367be0f0c2bb79d08ab08ab08ab08abc70b2b2242ae09226a369bf02304cd2a168bc81e6fe5d3456e423ccbfa4e7853c008260e3a095930168bb1bf9ad61a3ef9a954aa5aada2f5542a8514333ce27c3ecfb16d5c5d9c0eca4f3a8cc7715754ae90e40b98d7609e42d6b1da5442972d79905e6308ed4b8ec76d5f2eaabb27026333b5dd761e2456da39877814b1127522ac22ac22ac22ac2cacc8d88bd66a3524a94779bd5ec77921f22b41e6e37bd4574ac97cbcec31d8e90636366c72cac78444049f0ca6b7642836fb67f019a15c03eb5796f36478865cce67544ae4bee247b4b8504df20e569bd623d64a48f4adb185def3afd5be75df8b77635f196b373c60acac3a11561156115611568f1d56b881d927c788818f3bbb33703419195f54ea3243ce08917a177221524c20673dc8692a9542dff1781c7221fc28202fb6db6d5699329dd7829ef33cfbe8a9f9bfcbd4a133287c6f311d2e7fe1b66395f3e3fd79223936d9be1cbfd517cf5d8eeda16065b51961156115611561f5386205612e93c9b0830472e5e21e729e520abe0f78c4f77d4e49af9402fde2b343cfb29f29954adc74a95482ee15eefa1cab8d7d2d9acd26f24261a016cde769bbbfbc8a7255641d15c67d701d7e847f650bf2e23abdce14e5533c7edd235ba13b2a77e4bc78bd7a7914b0b2ee23ac22ac22ac22ac1e17ac8808b629a059c562111a4df67427e31d4846fe2b140aece900db51fc95e3917ab0abc1639cb7177f835e152e17903ae1ab013f429053d78f10630d95db28c8a728a1b696f72e8f20b912f91bdafe7ddbb174d3dc94e7c438b0eefbcf4bcec56afc17b7f9b7c54a85f90645584558455845583d5e58e5f379282ce1e30e0a45260e36e81c272c84ccc7a1b341ef647c994e1a26d8cf704c19c464e32e918f102ad0bab988a85eafc3eac69a2dcf9304fd977f95b8486a2f4b2c0ec5f277a1e0c525dc970ee33bac36b9dc1a43aff1bbede09e7925b72fd9b2ecfd6161e58e27c22ac22ac22ac2eaf1c28a88a0c5845cc87e84ece6c7348b7d22acdcf4326e1a689f9a9f9f471a7a9c0b92b14cad56abf1781c945662840cf568776969095d2aa576eedca9052fc0a04834ad7b254e4d2d5ec0c2dd7d96efab67cea4b76ee51b3980fb3edbff5eb6636d853ecf5ae3b7d6cf6d67f958f5da9dcbc7caed2bc22ac22ac22ac2eaf1c2eae4c993ad568bcf0871f2178bc51a8d0692d4c7e371dff75bad562291c07db3d954224f3ddc07a511a9e7d24c56934adf0bd88b82ea72fe27feab35376d2e596efd2a91d7981c1ba15eebc725d6afdb97ac19ba36fc88357eab4d599f0bdd1678c1282c4e04395beae76225dbe79208ab08ab08ab08ab7f6f581151a55281fd4a3a9d2e954a90cd52a9147cf9e047c89385fc47224f21e7a3603b520ffad366b3198bc5647cb6582c06bb1a9886c2260786a39cff97333f11d17befbd974aa5de7ffffd783cfefefbefbbf7c96492ef138904d74f26931f7cf0413a9d7eefbdf7128904d79475f89eeb70f9a10b17f81ee5a8f3de7befa1658c016df23dca3ff8e0834422c1f7b21cf7b1584c3ecbe578caaafffefbeff7aa8f7e31423986582c26fbead5be7c96fbb2c62fe7d5670cee98fb3c1b61156115611561f54861f5fefbef93c947081b4f8e354a44320e1a9f11221f3da754e21c14b08f017554b3b3b3d07f160a856432c92437954ab55a2dcee10b3569bd5ecf66b3cd66536b5da954b2d92c2445a5d4eeddbb99ec2ba5c00e48998f79044b1694bc836410b488b8e39bdceedc3e3f5b3f772e333dadb5ae9d3d9b999e6626c27a96eb4babdf3e63e873596d52900b0b6db3ff5c1e1856b2dc3afd8eb08ab08ab08ab07a2cb03a76ec58abd5cae572f0e2f37d3f994c96cb6578d02ba52a95cac0c0009ff4c1a213ff4d2693cd6613bff0b547771ee760e2bc13b8d80ac68aedcde13ad90fc34acc6bad2e4f8c6d7eb81c7f726d87b81d5e2dd77e099565b93506eb591e03e3ebb6c3ff95f7fc5f6b97f05f9590f1ad36e5dcfbcce5c16365dd47584558455845583d2e58a10ec2ca807e21ee28ec3763b118c797812cc86a520891900b212ff27dc78f10f69f6c2fcaeefa6c660a8f7d38e433ee894442c61ab52e25f4c25cc8f3d74e0c75b78e5c332e972d5be55ca8c334d4bc1e7e8f78eda1bd5b6dca5f397e7776d6c4e55f1f3a56eebc22ac22ac22ac22ac1e0bac88088630389babd7ebf09d48a552c56211a48a63cac065829d0861fb029f78d8c7a0bc137b9b3b467c994422c1514d8908f1654011e3f1b8e7790854da6c36f3f9bce54181a62cbe831792cbdd7b7e96f90579cff5b90e8328f9086e877712eefbf05fd68e916df25eb4caadb1510f7ec75a57c9373d14ace4b311561156115611568f235644944aa5a09be433421036e49d20a3e3acd56a994c069e12b01d25e31f2f7350109187334312321f6826999cf58d4683637b431cf47ddff33cb44ec18b2763fdca79cacaf2d77d964b42790a0ada3bc9bf868ec76d5f192e8cf5dabc7ea8ec8bdc8a560b7d461b3a77d9d7c3c22ab4c708ab08ab08ab08abc70eab5aad067d64bd5ef77d1ff6a2a050e57219740e390839ee28bc0f41d738372111954a250f35403f9be6828d0de8279f1122ef044e1765ac515696029450bdb30ef238925fb078049e273f1b5a072dc87bee5407f917a91fefc51f315fa3c374df2aa8efd68e1edfaa6fdd6b11bb4fe2f010b192f711561156115611568f1756203af97c1eda4acff3060707e11d887c846cb9c274aa56ab49ba869832f8ef8a152b3cd04cd049446cc3b920281ce7b6677f8b542ac5f90b49c41d25c132c8ff72a1f5cb7c842ce755b41ed78277e07b59d31a80fbdb8bbf088d9b271b94edf7a9cf2b247934794fc1ebe162d5a7af08ab08ab08ab08ab471cab46a3c13408e7821cef0cf978391fa18c29c3a976f12c47d826224fca7ff01d24635163f911c66231f6d500fd0345657424efc033a11e3c880e8b5967ad1085f13824f80880c28d73bfd6b32e2f63f5eb96cb762c7e4df232b27d5ead5e3c97cbf745584558455845584558fd5cac602f0a3a059d653c1ee77b9879b2bd286c47d96486a53ba65fdd58a3c8d5c43a53e84f6193d36834381229ce117ddf87d5a9156b54077901594282b6f32fa3c610cbbfba76475a7007f259ab29abbcd7b356efd6b3a1fd724dbe48f06eee7c65b3cae1bc1e2256bdca23ac22ac22ac22ac1e0bac1289c4d2d212897341991f97ed5a643e25d66b425e94b62f9d58a35a6b087ccd6613a4b55aad6aad138984e779883b0aa25dabd592c924ec50979696b4d608e306877a6bac92a7602cfa975bf7569bf241fcb77ae60c3bd4cb58a3eeeee9d5afdba65bee0ea3cf98e5b3d68e91e50f1eab5ee389b08ab08ab08ab07a5cb03a72e488d63a9d4e279349486b083daa94e2f02fbeef732168ad520a121d2a1011d20b76628d92c83b28735090a19fa079e57219e220cae1c30161d372a8e77b653808ab8482dc87556eed06975f9035651df914aaf9224757e808fb94587dc959848eb9cfb3b217abfc6161e58e36c22ac22ac22ac2eab1c08a8896969640a44083645c9756ab25e9172ed038f623e4c342266a1e397e15681d3a5632190ea17b2593a79eed4b396705191aae83f64514644f5cddb1323a62aea694e2fb3e7647bdee657dc94ac8f6adfaa8133a1e15a6a3e73af71d8feccbba8fb08ab08ab08ab08ab0fa055821d628949cb01a051982673d2eb617851d0c99c832563c6d1c1c7a9cc3906d6c107d9b8c2e153e19d23f039efc4c6f216692c347f08a86f21a2468be1617f5e550545052b6fa75b90f5e3c7760d62f6f23b659b246c5fc9a12311a64cb5c62dd878ef6e162a5c338b508ab08ab08ab08abc7052bf811b2b5a6cc95cbf9088988732881c6e11e3165a44d4c87deb21f3ec75a033944fe5f784d1011e2b9c1cb023416849304a9b77819cc41056d962cbe802bf7e7710081ac2f7916b9d2567dc6ae977d14d7d161b1ef2c7e4a3bf11d2c1e87ebbb6d2ae37ff370b1b2c61961156115611561f51861c57e84ac111d1c1c4ca552f1781cfeee28845e1375389eb6cc4d0fdbd1152b5678567c51960b6147ca6787c5621152603c1e2f954a1c718d638d6aad7d9153900b49f0262474beb894c353c892d01b79c95eb87d5e21770cfc940ae33b2cde4ab6c9630bb57792235422dbb03b23aeff70b192f38db08ab08ab08ab07a8cb0e2995a7e8448970b598e0fef705f281438241beb32a5ed6827d628e28b7a9e87333fc882a954aadd6e43fd3a3838a8b546b67adca3ad7c3e0f79d3a2e1725d59af8d3a8c08f3205ccecf723937c2edcb7b5c160fc5edcb367b95739b6e3bb27db78e3566d9bee47d42c7f9b0b0ea33e608ab08ab08ab08abc7022b326781b094013d42867ad02cd4871614e6a3d077a2cd152b567017acd7f4d87e06b634d08e4216042d453e7ad441f641507e695f4a8274f30d091e81ffd4ab9c1b71efad5f7923ed45e53042ed48dd7ead51b9bf92c7716fe41e75dbef65ef14dada83c18aeb47584558455845583dd65821f7512291f07d1f748a8c4704ce087104c8f92570a247e6ec90759f3085891311d232a5d3e96ab58a6758462491a1571b5910be86b0b7f13c4fba4f481aae851d917674d93cc950dd37b7a30d0b6095cb67255e921f09ed8b1b94bc09f3325c2e7925b91216bf23ef655fa17397f51f0a568c89cbbb45584558455845583d16589121668871069de7e0e02062bfc4e371e49a808f20679f504a218b2fc7d6262398c662318f63b2c14646d24c8ecf86dcf46c995aafd7319a5aadb6b4b4c4c6323c6e9e1b4a988673059e955b87db917fc59f248fc037d6bda5efb6fa0a6dc71db36c470763ba4bfdbbd58bd5a3dc8bb8619d7e845584558455845584d52fc60ab629f0a647ec6bd4c17921118166b1c212372c0be21c917350b4db6d353b3b1b8bc5242ed56a152785a076083103eb98783c8e3cf7b55acdf33ca84c7146b867cf1e89825c4b0b6559be9c7b6b79acf2dad9b31c5926333d6d2d273f62b5635da1edf7198ff5a0f5f87de72507f320b1b2061961156115611561f5d86175f4e851ad35c4be442291cd6695529c4057898b88eaf57a2693217396a79482bc87f3c54c26d3c9b30b39516b5d2a9592c924197f8bc1c14150c446a391cfe79186a95c2e279349b408db514b2f4a61b63d2ee2d6c25be5561dadb5c428d456ca5a2ad97bafb5f77ddff3bc62b1f8c30f3f68ad77eedcb972e54a2eb75ac0afd42428c32b717de5682142e7f570b1ba7af5eaa54b9772b9dcf3cf3f2f950fcbc14a0ecf9afbdf1c2bac0b14ef5bb76e5db3664d2fac6edcb871fefcf9582ce6fbfed34f3f3d3232f2ebb1ba76eddac58b170706069e7ffe79b91c8f26568fc2bec277c737b1ac22ac22acfeae58c19c452995cd66a1ed2423f0c5e3f162b108cd27218ea85238fb2b140a434343a139ebe3f08e805d0dce0849d89112117210c22c95f311361a0df6c9679529a6c7b3b5e0e0d96a47efcc6886ea91c9d165cb72b92ddc76641d6b2550a75c2ecfcfcf9391b57550872e573d74f7b87df5ba7797ffc163a5b5be7bf7eec2c242a95472ebdf172b6b5ebf00ab63c78eddbb776fddba75535353fdb1e27521a253a74ead5dbb36142b22faf1c71fa1c327a242a1303232f2ebb16294f08e3d14ac707fe4c89142a1b06eddbacd9b3787964f4d4d3d0afbaad7fd83c4eabef7f468bc831156bf122b22e2f33f9040dff753a9946fac38e1fb0e528573c166b3c9b6a3a082084ca394eae42394799bd8eb9ef3f6b2ef3dfa96678750ad562a15999857fe5a17175a75e44da79dd6eca77ff9e8fffbcbd1bad807fc2bfb72afd09a5665f95f799c2b17d5ed17bf52e7ee4ec11d61281a7f4baccc7fd532b0524a61dfb8f59783956ce79761353b3bbbb0b0303737775face4ba140a05847777b12a140a4c05c98409fc9b604586c17447f860b042f99d3b778098d532973f22fbcac5e1c16325a719da4284d57f4b58c1af01ae0d2869b55ae57299239d3161821f04c7a061db17dc2337a127f336c15e86730d224f61229188c56270da4743ecb71f8bc5f2f93c0f947910eaedd7c26c42cf3a85d3ffcf7b9f7f337fefe6fcb525f14154613108b84dab8e8ba3646724bf23ebb8e39173b1e6257721ca95513e84b6a99c18807f03ac82fce37db1d241f6ede76215dad7cfc20a846a395859efc0e5cb9743b1ba74e91239d7afc76a6a6a6adfbe7d070e1ce0657af058e192619b7a953f3afbeae162f578bd831156bf062b195314b146d98e9488e00471c3a0f90000200049444154c83e826c238a0b3165646ced743a1d87fb3df4a4b95c8e8870afb5463ea672b90c1da9d6ba5eaf67b359ce3ec13a59c69a88a4ce5a0775cdd67a58145e29a5ef1dffaf9f9e2974fe5caf9afabe13fb20b405a66d6e7df757fabb58adc93adc17b7592e97abd52a9880783c6eb58ccae04d5aad16527e64b3596b512556a552a95aade6f379c42be0f120ea013a6259a78b95182d8f4d29d568346ab51a3238c76231aca9bb16f82f82b82712895c2e9748247a61b5b4b404f62a9bcd663299506c43b192eb859dedae5ae8d828785db97265fbf6ed405bcefadab56be45cb2fd56ab55a95480463c1ecfe572122b6b9c954aa556abe5f3f96c362b71237156813a44944ea773b95caf7d8547e40a7a26a4b28515b0f53c6f6060201e8f87ee6d86aed79e77f755b55aad56ab9ee7e572b96432f933dec11efbaacf3b28cb2556cb7c07b9df5fb6afdcf6fbecab5eefe02ffc5e45583d0cac48c4c4063d4aa7d3e572796060a0dd6ec7e3f14aa582cab08b81454c329944dc51d429140a90ee9acd66a9548aa7d3698ebd86fea033d55ae3730fab197813e24b0df29b4ea7596125a7da5fd76c55e67badb52a9cf82f9f9e2933aebe970dea9de5bd16f29cb51ea16340efae3e9a9ccbe259e41a9c3b77eee4c993bc2389686c6c6cdfbe7d4cc040d5befdf6dbbb77efca3663b1d8debd7bd7ae5d8b3a9f7df6d9dcdcdca64d9bb66eddfae73fff19f83ffbecb3d7ae5d9b9b9b9b9a9a1a1919f9eebbefe4f0366edcb867cf9e2e5666ee729c954ae59b6fbe09ed7a727292771e1125128973e7cefdf8e38fb20b9e8bc4e7fcf9f3274e9c90d592c9e4ae5dbb9e78e209c60ad319181878ebadb794b988e8cc9933274f9e544abdf5d65b7ffad39f58d378e3c68d7ffdd77f554abdfbeebb994c46077d92788e2819181828954af57a7d7e7e7ef5ead5728d6edfbe0dedc5ead5ab676767ad75ec85c60b2fbcb066cd1af4f2c5175fcccdcd6ddebc796a6aead34f3fe585a856ab3ffdf453369b7dfbedb7790f9c3b77ae17145c07506cdebc797474d45ac14d9b36edd9b347ae579fedd46c36df7bef3d466c6666e6f7bfffbd52eae0c1839f7cf2894412e54012009e3f7fde6df6c5175f846ae83eef60d8bebaef3b6895f31a2dff1db4beaa7dde419e421f99438e27745fb9f5ad7696f5bd8ab07a485811116c562021c0537e7070d0f77d9cdf714cec5aadc676a144849832b0b2e15833e9743a9d4e7b5c8988e0574122673d5eb94422512c1671f6d86eb7116b868c6f3fa761b2e6cf2830a64a29a2eacccd1b37eeb56c6e62eef8ff25a920b5e6621b461d3f98508e43f6cbfe28d6185c7f1af7b2da943c8bd6faebafbf3e7efcb8fcbe10d1dcdcdc071f7cd06834d04bb95cfee8a38fac8f2f40fbfaebaff9a407d2d5fcfcfc871f7e28f147f9f9f3e7bffdf65b6b90972e5d3a79f2248f9307c937e572f9c30f3fecd5f5fcfcbc9c5da9543a79f2a4d5c5dcdcdc1ffef08772b9cc587df5d557c78f1fb7aa351a8dc3870f1f3b768c5b63c71d0ac64844b9d6bad96c5ab8a1bcdd6e4b3f24b70e116ddcb811d2f0c58b17ad353d7ffe3c11c5e37150655cca48edbdd0f8eaabafe6e7e7f95c1d13ffe8a38fe442f056e736fffad7bff681824785062f5cb8e0aee0c58b1781396a7efbedb7bdb653bd5ef77d3f14b156abd50b49dc7ff3cd37a1cdfef18f7f44b88d508e9b4bdc7d457fff7750b6dcff1de481f183dca6f5d75efbca7a9cc7dcfb7b1561f5c8614544709680394bb1588486126781aca164f90f72a1cc470f5f09d891a2913811a5d369ad3554641c6b944c3e27088f838383208d9011b5d6acf32997cb6478161e7a288fd39c3bfefffef5cc5d22a2d47ffcdd7fb7356eeacf1ffdbfbf3c2fa9e09d85c4fffe9f9f230ae153c8d16bcb3d715ffec5aa23db71eb2ba313bf72e5ca8d1b378828168b3dfffcf3ab57af2e168b870f1f2e954aad56eb9b6fbe79e59557b4d6fc0d5abd7af5d34f3f9dcd662b95cad1a347610079efdebdb1b1315e72f01c44b46ad5aa55ab56ad5dbbf6c2850b3c98f5ebd76fdfbe3d954a9d3f7ffea79f7e22a22b57aeecd8b1c3f33cc98bf11e3a71e284ec3a97cb954aa563c78ea1ebbb77ef8e8e8e5ab8ad58b1e2b9e79e1b1818585858f8eebbef40cebffcf2cb83070f12d1f9f3e76fdebc899ad3d3d39b376ff67dffa79f7eba72e50a115db870617c7c7c7c7c5c62c8e3e1ffe226954aeddfbfbfdd6e1f3972a4d1680c0e0eeedcb9d3f7fd6c36cb3c2005794c7e3697cbad5dbbf6dab56bb76edd6a341aace5abd7eb602cc6c7c7598dc97b40a2b16bd7ae4c262317627171716c6c8c47682dc4e4e4e4e9d3a76583172e5cb875eb1643313535d56ab54e9f3e6d41e1895c0158c16ddbb6a5d3695ec1cb972fefd8b18388ae5ebd7afdfa75b99d969696befbee3b6ca76fbffdf6e5975fdeb76f9feffb1231adf5d0d09055fef4d34f0349adf5d5ab57e52e1d1f1f2f140aee2eb5786df9beb8fb4a87c90a147c0725b34fcb90217abda73a8cf7e777d0da57a1edcb31f4da57cb1c2705bfd111568f1456c83bc1316594528d4603b2a0520a8a50c8824a29d88b821622261a89fcbbe0803b4369b7db16cd845c4944a0735cde6ab5580280e0c886883c624999048fd3fce4eb338645af7f7da588723d77f4bffc5552c1f6dca2f7bffca77f5aeb75f9178b4fe1c6652fa115e4aff5a0fc2b3f68dd8007f17d1fd29852ea9d77de999c9c8cc7e3a3a3a36fbdf516ce6667676771aa0a11241e8f1f3870607070100647afbcf20a86373f3f6ff14a4aa9b7de7aeb95575e999e9ee6e00844b471e3c6bd7bf7e6f3f94422b16ddb36e854ebf53afb7858e36fb7dbdcf5fefdfb711a3c3434f4d24b2f71d7f229ec8037df7c737878381e8f8f8f8fbffbeebbe0a40a85c2e2e2a2effb67ce9c41cd175f7c71c78e1de9743a9bcd3ef7dc734f3df514caf171b70094ff95d7c4c4c4e4e424d477434343131313ac9fb456ca6a476bbd71e346dc5cbb768d6b5ebf7e1dbb62e3c68dd6c2f9be6f2d443c1e1f1a1a7af9e5972d34e442bcf9e69bafbcf2cab66ddbe442800f95503cf5d453a9542a97cb3dfbecb33b77eeec0505567060602091486cdfbe9d5710e129783bbdfdf6db9393938944c2da4ee572b9176256f9f8f8f89a356b3ccf93bbf4edb7df5eb76e1d76e9c18307b9d9a5a5251ea1251f84ee2b59a7cf3b884beeed5ff00eba7b80c7e9eeab3ecff66f53076529ddef7bd59d6f84d5a38615e29d21d6a8cc440842d6683440cbf057d032bcd7acf8e19832f8afc7040f5f4f12797b21200e0e0e424c449e2736d7816a557e3570497a1ee01df4d533ad6eb5c5f9121139b2a0bfb0d8f897fffe7fd8920ad16bcb7b0024790a3986fecfbaf7d6f89913018f5f2c1601d1962d5b307de6bf76edda85a7e6e6e63ccf7bf6d96777eddaf5d24b2f416e433b972f5fe63d64f5bb77ef5e7ca4e45c94523b77eee4e5f73c8f251ee63928c897c562b13d7bf6a06bd60c10d1d5ab57b9116bbebb77ef96e389c562bb77efc69f66666616171731e5952b574e4e4eca67a7a7a7311ed4b1447379632d0aff15c7e35e30d79a2556f253beef8f8e8e629b5dba74491bbe12d2732a9582902dbb504a311a1839b0ba72e58a5c0879edddbb776868881c79546b8d170650ac5bb74ee2bf65cb1686827d70d13ed805c68d575029c50d6ed9b2052110b95f6b3b71835ab07a122b590e6727340b3289ee62b1d8d34f3f8dff4a56accf7bd17d677fe63bf873dfbb5ef7ee3bc8e5149433c8797796b3afacbee4b372ee11568f2c56b043cce7f3ec3b810f29d3293287356c2f0adf419c94239e36ee41e6d4ecec2c044684d5aed7eb882f934aa5eeddbb0733102e87d95ea954cae7f3954a05f9eb7ddf4fa7d3bb77ef96afa50e9e822aa568f12fffc76737bb9866b6fc6fcfeafffad7f3752e227fb150f9a7fff82fcfe56dbe839c8bcb6b67cfa6b66c514ad5ce9e4d6fdd4a428b2d6da8b410ccb991dffffef76ecbd1155dff0d5ffff88fffa8835a35beacf2e5bf83fcae29a1e05ae63b48e24bc712805bc71a529f3158e5d6bc64fbf7f95e99f144583d6a581d3d7ab4582c8e8c8c28a5b2d92c22a021081aea241209a554b95c86750ce445d48173bd323683b006e8b84fe08c904540b45bad56414b11620656a344843342489ab158ccf33c1cb148c6841c3db5d65aa5e24d4d0933715d3df77ffe3530fd4271e9ddb7ffe7e70703d048bd70aff67ba16cf132ee72fed33ffdd39d3b773efffc7322dabb772f6c2ee4d2e241aed3e75ab366cd810307eeddbbf7f9e79f633ddc6bddba752fbcf00211fde94f7f2a140a304a94cb8cf2542af5bbdffd4e8ee1c48913e7ce9d23a277df7d379bcd5adb858ce0d2a7ebc9c9c9175f7c91884e9e3c79f6ec59cb1e12d3ac56abefbdf71ec6393535f5e73fff99885e7ae9a58989090b131ecf3befbc93cbe53efef863396c6e137d7135ad3526b86eddba175f7c51ee6c6b7125e65897a5a5a50f3ffc9088a6a7a79f7aeaa9a3478f5ebc789188a04e9495d7af5faf942a140a9f7df6591f34f6eddb47441879369b7de79d771807ad3526984aa57efbdbdfdebb77efd0a1434474e0c081898909127c31a0c01cb134120aaea39492d5969696bef8e28bd081f185edc48861f92456e88827a2b5be73e7ce729ab53e9d722e92df974fddf71decf3a5bbef3b688d47ca046ea7bdc6a0c2cea5b8b2c44d8ee13edf2b7345583d6a581111ec4593c924dbacb4db6da8eb40f932990cceff20d7b1bd2882d1408f8a541538e08b733419ce2f9148240a85022b731a8d06b46dc853cfd60a6eac5139499e0997f8e9b1acbed60ce1008888964af7de78f33fbf3c16e34778cd2c4464b975f5a98fcbb58992ed5825bc0ff8a9a9a9a9b1b131846655866789c7e330406a369b7ffef39f01c8c0c0c0faf5eb57ae5c0907b2f7df7f9f4d9eb87d0bba0056617105a9778cf646a321bb7ee28927464747f3f9bc52ea830f3e70ed0cc1d35858e1069559e1c006b1164a723cd69251d85b6d2f95c3f7f55a05dc0f0c0c0c0e0e168bc5cb972f6fdfbe1dee832b56acc8e7f32e268d46e3d0a1432e1abc1056fb58500a63a249c4a780cac4da571614d6ecf8578e90efa7a6a656ae5c89384ffc6032996cb7dbc96452f2ec12496b35b9352edfbc79f3d8d8983405f43c0fbb543a145aef97fce0bab3a0b077cac5caf2335be63b18da17cf57d2031d9487788f85ca37fdfbb2461efa0e5a6d46583d225891792bebf5fa8a152b70eeb3b4b434303080b9c0aa0eea53d88e822242afc9b1b64117bbb146d99606ce193823d45a5bf145e1aba18d7d29c7a3e18bdf7c1e6e506ecbc715051e3057a5b4f0dc4bfffcfa44cae2771897509e859cb328f92c37ce5f79673c3dfd08adaf180b619ee7ad59b346ceb4dd6e5fb870416bbd6ad5aa8585057c7c21f9f1d82c945cfd3e8f2db48e752febf3f8171717d1354404c64a762db16a341af3f3f3b09ce4f6e7e6e6f032a452293efabd7cf9f2faf5eb2dbe6c6666860c134026a28274f9477d985971a1c5185a5f01f9acb52298f2d4d4d40f3ffc50afd70f1f3e8c7921fca64b71ad85e0162c34e4eaf7e167f950fcf2e5cbd24f034c03ac345530ec85ac63ed31a594dc4e32862a11f9be8fedb469d326d9a0b447b3caf9717c05503839394902f656ab75f1e24534eb8ead0fbfff73dfc13ee740f77d077bf52b3989d03a72fc4a9c5d85ee2bd9cefdbe5721f711568f0856f1783c9148643219b86629a5908f10df22f81182e671ac51dc43470ad185b3f2ae58b1c263391141dbd896a6dd6e734c5132b9e9c9c88e9ee7c1fda252a9b040eada0be13258e7127e08e1a994ee4eeffbe7ffb0216001cf8848feddfa0de51df8affca7d067b9057e50e6a2b2f8a35c2e07b9f9dcb973ec2b82b1fdf4d34f274e9c3879f2e4c2c202ef669808f230ce9d3b87d6bca0797d2856a163965c955599f737fe3b3939299f3d73e60cba9691a3711d3b76cc5aaf13274ef0f8878787410be7e6e66eddba25d13e7ffe3c40181e1e86adc7ca952b89a85aadd66a35eebd542a815ee2920213f6955c5f1e867c93e5b34404db4822ba7efd3a9004ce566549937821709d3d7b961722d41b8fc2f69584e2e6cd9b725f5db87081a1406480fbb6e6fbfec0c0006fa74aa522ebf076b2ec5a61ed29b1e272c64d365b2e97e5e3a74f9fe66643c7d66b5f2df31d749fb5daecff0ef6ba0fd513c83a14f45bb5caf941394e7e9b96f1bdea39ce08ab878b15094f5fce3b8f5fbc8f8815ca3145258d83ef207862c49441b907fb196696712e28fd08510e7b51b84fc026075c6a3e9f67dd91176683a4bab649b96d896e14634cadb8b430bdef7ffc9f360ff4918df843cfe52a68b324a98b67ec39257970db94ab82fbab57af5eb870e1ecd9b367cf9e3d73e6ccb973e77073faf4e97bf7ee4d4f4fa3fe871f7e78f5ea55d8c19f3e7d1a86f5a9546af5ead5aceafcfefbef6767671b8d067c0dd9290d8ed2d6ea52188174c7cc174f4d62c55b195d6381bffdf65bb6fb6712c51d150a8543870ecdcfcfb75aadbb77efb24779369b1d1b1b534ac1e38d88befcf2cbd3a74f2364d7d1a3478f1f3f8ef26ddbb6011396053ffffcf372b95cafd7af5dbbf6f1c71fcb994a1eb3582c5eba74696666461b3b373917de36163ea9540a477498efc4c4442a950ac58dfb051aad56ab502848349099c57dd6da577c5950d4ebf572b9ec42d16b8fb9fb99b7d31ffff8c7ab57afc243f7d4a953bc9d56ad5a25e7029d307c19e5e780cbb101ac66e1e0e436ebca1fd4635fc9312fe71db4d67199ef60ff7b6b3c2e9eee5c78cceebeb2e4adbedfab9eed47583d5cac8808d19770c1518d654122822b04fc20e04701ba06bf7bdcb35e339148241289382bc1204bb2bf3dac63a03f85ed286441c4764b2693b03260ab71c9d1488e404adf4f6fccbc77aa3a968a1311f9adf942e1ed37fef91f26b3bd9e55416e5a569337ee97cb777274c99de18e8d886edebcc9fee3d6b5b8b8b87ffffe5bb76ecdcece6aad0f1f3e6c5580b7c3e8e8683c1e47caaabffce52f561dcff3666767df7befbd77df7d973bf54d961f0a724fbec9b0a582f114acf330c667646464395dffee77bf9398c0a244d6544ac1f5506bbd69d3a63b77ee009353a74e9d3a754ad69c9a9a82118de7799b366d3a73e68cd6ba542ac1a4c5855d0bc9b5d56afdf0c30f248c68782eaa6f7eb54d9b36b194b979f36677f5d1d472d0f8c31ffef0dbdffe56021bba61d0e6e6cd9bfb40b179f3e6f1f1718b87f545d637ab3522dab46953ffed84f48afc9561c4de7efb6da4210d2ddfbc79f37d7729eed5b2cf9f96f30eca778abbf8b9efa07cd6faca5b63b0caad3da3836763bdeaf49aaf3b9e08ab470d2b32721e3fde6c369119103c2eee41ead80f82884aa512bca440d74017f1b887e6983622f6cc8a152b50036784645ce907070739ff13d761d5283aebc3778c3ef51ffe656de2eac2dd5b85bb574b89fff48fffebebeb72162f20790d6e47b24bbdf82612073ffc0d0ae5472c1ee4be17ec865e79e5951d3b7658dfb5818181d75e7b6dc3860d44944c26df78e30d4ef6812b994ceedbb76fd3a64daca2f43c0f0bc311d0792e6cac649db78159514a31d76261954aa55e7ffd75b7ebfdfbf76fdcb8516a4731eb8181817dfbf6593ea02323236fbffd36879cf53cefc08103bb76ed928e896876efdebdf07803ce994ce6b5d75eb35a1b1f1f7fe9a597303c3eca7ae18517789028e7be98f5439bbc3a0c91e779636363783c954a411f4bc175848c98482442d1b016028500dce2c7e5a927c6b67ffffe5e503cf3cc33bcaf7805e51ed35af30a020acff35e7ef9e5d0edf4eaabaf3ef9e4938cc3debd7b2dc4301eab3c1e8fa3fce5975fdebe7d7b68b31b366cb0e406f79dfd65efa07cc77ff13b688d4d1b7942d69763e0721d3c670a9da35b6739dfab08ab47132b228ac5626973c1651e740a71b4592ec4f91f09f98fe91ac79781df849a9f9f473efa76bb0d7373f4178fc7f15f8886a552299bcdb65a2dad352c70d0e2bd7bf7f0dab33b3619be40aea892bc4063e97689c6470743f91a595fb64361b6494aa9ea9933961f218fc1e58cdcc2509e4b397e36bc72beef57ab5568839119d26d1fc91f205bb3c73482b522ca89f5483fac1cfbaefe58351a0d749d4c26d928a35028f8be2f73657017988b522a9bcd5a944c62552e97613e9acd663976b38b15f4a24879914824fa8859dc7eff395acffe5caceaf53a74c2ec48ab94021ad96c36994cf6d9573c366bcf70024eb9fabf665f015b0cc922debf062b64c9504a6532199efb2fde57fddfc15e58fdfddec187bbaf22ac1e2e56478f1eadd56a0303036064d98f02040bf4a8d56a4919b15eaf0f0d0dc14cb45028f08b863a44a466676791a1bed96c829f85e320460fcbf246a3914aa5107714e5b55acdf33ca85f910b71cf9e3deefc2948e4e53c437f196b0b35592e5b20a2dad9b399e969ad35086168cbee78acbff6eacb5a39d9aface03edbff5e8ee14162153a9708ab08ab08ab08abc708ab23478ea0024e073dcfe33c6b44e4fb7e3c1e872b21198300161c95d1cac05e3493c940cbeab1990cc76a83bd0ddbd5201f217238c126c7f7fd542a25338393d132f30dcf84effdb038eb14663b64b5267f7159ebc14ff1bd1fcc77e536abc2eca0e4a8acf2d05eac3573471b5ae751c04ab61361156115611561f518614544f082585a5ae2fc48e57299d59e9c8f026668b867ba06b70899a7be93a15ee6f395797b39e72f8822ce0be519210e14390d93322a60fe2f2eccc13d9545354b8fcce8bbe5dc2043d9eb9c4f9e1e5bfa6b1e836c33b45f0aeae8255be4eaeeadf128a113d741db48d9da03c68abb0b7d36c22ac22ac22ac2ea71c1aadd6e23d628d245b02d0b7250903947747d22f81ed6183823ecf811c2cd9e4c4c6ee9878163461cffb00722e7a9904eca8c0203c4b362e87bfd5a38aa20a74386d790f7e45caa077f24cbe56849f8d630e8d6534af0623c06f7596b46a17397d7c3c5ca7d2ac22ac22ac22ac2eab1c08a88905f02740a321fcc398908b9798908b90639ec1709bfc3582c06f1af5028405ef4d8af029ef64c336539e86d3c1e873888a3441e0787de9048f13a59f7a13c08198e80e76cd5618c183eb79c042f63f5a57b47fc9275e4f83dc7264ab6839aa1e514c69771fb72cc11561156115611561156bf002ba4a823a25aad06f90f17d326d88b82fe814eb1c7056c47f138fbcd7b24fced4127d122cb7cd0b7a2b0582c428244097ed9911c572f5f3789b50e5e0c8175effe49e22e2bc842b75f5947221b5adfd26bcb46b826ebf4adf6a50f8d5bc76df0016365211661156115611561f5d8614582e8706419325490fd1da0cbe458a3889b46269761a954924acd0e0d871f3e5bfcc3ba94f3ff92496f0f2f0bf86770b46e0b5c4b072d91e289b9fc0805f908e5f8b8f07d2f1e84045be1095f66e64742c7c07df1383d13ef4005f5da166fa20dc724bbe6715a6df2c05c7c1e0a56d6794084558455845584d5e3821509ffbf582c06790c1920d8ae45e6d695f21f8269cbb343e45cf270d8089a099d298c6d9083820cfde403c2582c266390562a15369691977634c25cce9085c620e0bfca67dddf503e4836e2fe35b4cd5ef5ad782ef2af3c2fd6b9878ea7fff81f2e56162611561156115611568f11569c771ea21e1951ad5c2eb75a2d2e2421ff1111ec4539333611318df348c4149531d9a06365a5a88c2fca79ea9bcd663e9fe70983ddc040995fd03de2e049bec0e571ac6799bfd042274e617c87e4775c0ec8aa4f8697e17eb9dcd2ddcb7b6b6ca1cfcabee4b311561156115611561156bf12ab542a05c18e4cdc5190243e2f849c072a88983224e81ae7a6878c48441e17c10895e9276c6970eac87a58ce41e1fb3e9f14ca15c224d5fd380babdce223dcfaa13c8e2c574670d6419db836d904b97e2fae4405791c7ed66a3974fca1b3639e48b233b2af878815b71361156115611561f5786145c64d82b3b224128962b18868d83823846b1f194991fd20d8bf10363144049f428f0ff9a4fcc73e85382f643113799e641d38dacbb931fa14c677e8204f115a07c43f94d7e095b0f8055e24dc87b6af823a74e6415c9ec5aabffc315b73b7eabbed3c2cac3ce77c22c22ac22ac22ac2eab1c08a4c3460d6477a9e276d4761cbc2b9752d1b5122c2192199e4832b56acf0604bc3f49369a63c2f84af46abd562b910be13cd6693cf089992cbab17efd0ffd7e2837ad5b14a48f032a1bfd65f71b9edf4aacffdba3c9112fa77ebafa1e37c585859fc6384558455845584d5e38855a552010d825d2834944ca1705936a2644c3b4ba5120e0bc9c453abd56aeac68d1be9741ab146b5d6b847f451d0de6ab5aab5e64c4c20f818019f3da6d3e9ddbb774bbcac7b9e98bc6140b93cf459dc2b21e6cb7bc41a25a2ea993319938f2df45946b6cf38dd31bbf7567dc9c5b8ddfde27eff1e585190a78bb08ab08ab08ab07aecb03a7af4286e90321d240999cb38f47632998cc7e3087ca6944aa7d3beef379b4d84e7564a818441b26cb7db9d106b64a2b7e15efea25d988c229e1b2836f2fcb26695672511e4396b7129114f0f2516fad6fe908fcb47b88e5512da3b6efc608cf35ef565a76eefa14f59bff2a2de7af087855528cf1561156115611561f55860050b150885a80f1f770afa11cadcf4a8c62ef66c13d33923e43fc376142782d6b92011414c1c1c1c842294f317caf9e0c6b5ffc17f5d5b203c62e982653bb20e73165e0fbb26899da577e665b0c613da0eea73b93257a8be9e823c4b1ffdbef5ecc3c58a9f8db08ab08ab08ab07a1cb1029d82a8c76784ecefcefe85924eb18b3ccae1868873c44ea31c9f9bf5aa28679f423242216c553dcf633f424eb02739855efc8ea59be6bfca1642f5da16d7d04797ad82fc0b3f22dbb12e0acaec3c42dc4b1f1daea0444c3ff994db823b9708ab08ab08ab08ab08ab5f8c55a3d1e0882e7cfe57afd7614dcaf925381f059f1d72246d3c023b1822f2601a0a3709c497e1f0692847886ea4e7453cd3542a05c934168be5f37976a85f267f21efe50eb07819c95f84b6c92bd79f7f091d9bc57768c1bfc87d66954be64bf7880768d5e195eb85c983c42ab43cc22ac22ac22ac2eaf1c22a9fcf4312e3bc1344944aa5383f12c71a453599a71e278030a2e1f2aefb04e76d2222e46d82d529ce05ebf53ae81f2c732017a2b225115a371661e74bf2205665eb9ed7d8e22328a8cbb61a57617c07dfc8ff2ac185c9f1b8ed58130cfde576dcf6dd671f3056a15d44584558455845583d465891c8234844f57addf77d08692055c8d30b1d279980324c20d10e629072dc348f9b63df41e84c7114c9f416397f710f8a08791107a82e17060000200049444154921205397f8b67b1ee5ddc255f23cbfbf347ee0248de418e87d91fc99bf018e4bd6c5ff22f723ca13c0b8fc46d9fc7f6d0b1e26723ac22ac22ac22ac1e2fac88086ac8743a9d482440aa106b868c5c4844f009441df6a9e736adfcbbdd58a3ec3bc8f413e564f2d493f1bae05cf6f813fe0b93d65ff0eb3e6b951c397284cb717fe4c811ae73ba52b19ee2fabd5a433b28f77d9fff1a7a6fb5267f7ddfefdf97fbdba7b50780d57dc71361156115611561f52863850ab00b05012a954a88b84d22192105fd1ae0e3c77996202fb2977cad5653b3b3b3f01a24730269f9116aadabd56a2a9582e0188bc53ccf638744b4a594821f21894b07e55feb5e3205bdeadcf75e2905f741ad75edecd9f4d6adcb7c96827c4a9ff6ef3b17b766ff7e49f04a0f18abfe638bb08ab08ab08ab07af4b1025124a25c2e0789b0d16828a59452a9544a999075ae1f211a618f43fc1774cd23e17bcfd997d876b456ab158b4596287146e8fb3eb4a35c28d1d1e672b1b6e666ad8a2c97385a25bdcafbb410baead618dc5e5430fe82d5238f99cf29b588f517da3e578bb08ab08ab08ab08ab0fac55881e8349b4d3e9883e50ac4b372b90c5990b3e782dab17d29eb3e595f1a27737eb862c58a6ab54a44f1781cf788e70d7b51cff3e2f138e2cbd46a35d441eb6c2c2311c770f95e3b7e248c54a8dd14c8bb2ce7c6512e174376c46d92b8dcf6b98e35b65efd529067e93f17f5ffb3f7ee61561557def0aabdcfb5bb4f1f68e86ea0b95fe4ea05850401af78899718d4188d664ce2dcbec43c193333f92626df3cf34e9e67c63c99e74d98cb3b998c4edea8f12e5ea24125a2180425222aa08808b48048037d3b7dbafbdcf6aeef8fdfd9abd7a9bdcf01bc21baf71f4d51a76ad5aa5fadbdd7aaaa55ab2ad7e88d3e1ab2f2716265341462156215621562753c62158fc71389442c16c32c4e2985f8a298ff3536362aa570643e9d4e43f7c3f7051a14fa8b3c853a741fa11c06b8c0709419d6ab1cab1b0d20d6682e97e3e313ccabff519576011ee33c8a441c0f89d80a5c51c224cb4b19424e605c3e7f5bd5ca18ccc83286d41ab212c8618d563e7eac0c4e42ac42ac42ac42ac8e17ac8808f74e70bc50dc8fc47a4ae6434fb15f0be266f3be1edfb36bc938dc7cf09ef715e1384a44981df2b97d79569f3b6fd8172ac8ff0765d019e9a764d80e48a8ca38e51253980f7efad5f203dbd2be3bba8c7c3414c80f372425898bf9eb727e885588558855885588d507c10af74e4037f15906c771f87e2479b72ee2a0f1cc8df51de68820629177cc9075a39c0b26128942a1200375e3f43e89b8ddc6394257dcad25557ded7321fc5755da3e24ac03126bdc4601aa7c0c0a0c5fa0cde56f5d4a4c2057dc3b7f197fb11a2d1e2bacaad10cb10ab10ab10ab1fae463c5aea17c3a1077e5e25a409c7180e6e333f1980bb21f8c9c2366b3590b5a10ba91173f71f602f51b1b1b91887b4f341ab52c8b63d0f0d228db0bccb7a1ff0d3d8f623c8a14645f18747495f808c67f657939de8136973fcde807a6655f580a256fda336ab86b35dafd38b1923443ac42ac42ac42ac8e53ac4aa512efdfb9ae1b8d4611071b0f7416b498715e90ef93e03922e68e16095f9a5c2e97cd6671f690843b2811c97384d96c969d764838cbb0bd20b126112340ea7ffe5557da3528a33cdb41da44d2c7c91fb38ef3e518c8568cbfe4d92092a6bf8ce450fe6af019d82f2e49e2917d395658c9b642ac42ac42ac42ac8e23acf0485f503e2fc83a0be705d9a754c6d0e69b2848dc5f1fc1be20fc4511870d698ec386b61b1b1b91c01c118ea7e4ed266252c8ebc8b2b7e45be765380c74b82dbf3dc2f99226d7f2db1452b6b82da36e0d9afcd7e027908ebf8f063f4cc7e8e3c78f95c427c42ac42ac42ac4ea78c4aa542a218e8cebba7c1f2111e15c43a150c8e572b1580c77d3974aa5582cc65e2fca3b4728e3a91191c5f74bc87b9b38ed384e2693c1397cec0ef2354cf0c94161685a2df43ce3c2dd36d691e5c3c3207fe58a124d16143adc9a328f8a9123cb187f994f838e64a306052dfcbefc5d084c1c2bac0cce43ac42ac42ac42ac8e17ac1cefc192643e9fb72c4bae59f27d84f017e5f8a29817cafb77919fcfe72d14e2f91f7ec35d4de4c5f6e6738b7ce7936559d85384b30c6f5d92b79e0bee0d9dcf1de6b4aa1ee35cda47c67a342322d7b8a9728f90e1aeb1ae6db42bf95462ae29fb22cb7319d9aecc97fcb3e870e18f1f2b36e80cfa2156215621562156c70b5698e7158b45dc4181f918df95cbb146c9bb37978870810474164e43b0ef28f60b2d12b1438bc52274261e79673d7c72389f49148b457696e1c7afc36542094b8787dc28cf3071315de99bc4f68241c760c3684bd237caa84afb4bd2afc6a1c1035330f28dd68f21565a3c2156215621562156c7295688060af5069f957c3e8f9b21b80cefffc12f94bc3d42a9e3c8db6bb448ccff70a690afe1c51a2bce61343636a219d6b7d8504ca552ec2c0355af859e376c0daab2fecb36021eab723d5ae61b69a6698cae6c8b2a6d134e1b6574900dc5a32bf3fdf68eae72ff728d7643ac42ac42ac42ac42acde1f56980b62a992e77f9c86c2835f28f41c9f1724efce7a195f2d1a8d5ad8ff83bf28b322fd6db0f6caf739398e038d0d471df6c031343c32a5ff0f899565635d9b0b706ffd658cbf5c5ee6185692c44e52964c1ef62f8f99bfaeeca3c18f44837f0afc35c42ac42ac42ac42ac4eaa8b092f700ba22f6351c5638d628e68b507b4893884783f54edbb6b3d9ac05f586f553ec40e24c21dfb2843d42be8f178bb3cc4722910005f057cd7e913da19afabf4619a3bcb45f2476546947f8ed20b6655820aca0f57a15b4662dcb300f81ed4a6963a34c963f865805d20fb10ab10ab10ab13a5eb0721c27954ae1bc3beecac56177226a6c6c641f17ec0b629993cf1142c7c9338596e338f2ec60369bc53c8ff70bd9c7869746993f3ec98147ea790ab2778cbff2a95146d29188f8e9f0f8d56ed7ef67a5bdc768c5900f1626fe956b05da385cd7dfc7638b9594f510ab10ab10ab10abe30b2bf885f2fdf2e4dd8c045f16d665d847848ee3f8323c2f64af51c7712ce84ccc22c93b5781fd3ff623c51e21d791bab05aacd1da360297e14efad79d95f730cd6a36881c3fc396e14ccbe72b85a66bdb265cdd6f7fc93281fc934fb664fa9860253b1262156215621562753c624544a9540a7b7e8944a2b1b1311e8f4722914824c2bea31c6b140fd27ccf12a7718cbe582c96bb817552c4ed46a06d3e5fc83342ac8e6221341e8f631f11fa56e2c8b603f781b53de718e751a49dc225a54563c41a9065483cdaf7f87f229fad61e4fb8918d4fcadfb2950a515c3fccb2a1f3f5606c32156215621562156c71d5624ee23242ffc757f7f3f34149c37b17dc8be2facc570383e97cb61371165f2f9bc45dec179de17c47490887817b0582c823a627be3e1186ef2f884166bd3065ebc4e4d628d5b96973611ea1a768ddf76906bd054695ec9b4accbac1af439df6f8bc9bae88261bf187f25cf5cde5fe6186225e984588558855885581d4758115124528e8996cbe510fe1ae71a5097af5122113b067e30ec260a3f523e376f1111cedef33df5a826f7081389047c47c98b2c8a3b2f72b95c5f5f1f564a956f255ae670ffb9cfdabb1fd928c380faff6bac53cb5a4679e351224e81ac2b2b56a3a92aed29ff5f8337252c2f4941f6f75861e56f37c42ac42ac42ac4eaf8c28a88060606f8ae2479c61d0f1f67c099080e1a83991eeb388ebbe6384e59af6256c7696c1942db21741bafbd12513c1ecfe572966545a3d1542a057da97db106b827816969146861b3703e17e3ce07ae2393cf8ef0d391bc4923e8d9679fede8e888c7e35ffce2176ddb96b8efdebdfbf9e79f27a2a953a72e58b0802ba2ccabafbeba65cb96783c7ee9a597269349d92ef765c78e1d6bd7ae6d6969b9e0820b0c7be75861a52b6dc3a3c28a5b0fa4c93fc9f781cb54e34dfb6c553f6f21562156215621564699542a854d3ae826a5142e60c2675c291589449452b95c0eff4d2412d0b558fb4479228216b46dbbbc346adbb63c1728d755e19f4344b66d43f7e2dc06c75d9323c41dc35f6977f0f91525d69af9574e3305fe2fd79272c065aa49867c8cbae4d92cdbb76fbfe79e7beebbefbe9e9e1e5997885e7ef9e5071e78e081071eb8fdf6db652455fc5db972e5830f3ef8e4934f1af992933d7bf62c5fbefca5975ee29c679f7df6ce3befdcbc79f331c72a904e6dacf857a3aea4e06f57bedb35b032f61efc7442ac42ac42ac42ac38073b7c030303bc04ca6b96f97c3e93c960bf8fef20e4bb09c98b89069f185429479681470c2f9ef2d90bec0e727c51dc3b41449665b9aecbd1d78cc7bf4ecdf98c85dfd6a8a8ab7bdf7c75c34bafed2878f9869d42225f366d94611efc6d29a52ccb9a3b772e110d0e0eeedfbf5fd6d55ab302ebeeeeeeeaea926d0d0c0cecd8b18388162c5880d8e76ce9c875792ecca3b865cb96e5cb97efd9b3e7c3c44a587f478e957f2dfeb05831c2465d1665b94f2025db6837102ba32f81fc8758855885588558a10c6662882f4344aeebf2b906c43ec32108be7790bc7d419c29c499083e289848242cf6ab917b847c6f13afa2720c379cd5b0acf28dbe7d7d7dd8353434b63fbe8081af449c474e6b4dd9dd2faedd5688d6a5a2857e6f202565ffe81af99c96fe4b72cd9d791b376e1c72de7efb6d1626ad756f6fefd6ad5bf1d3e0e0e0eeddbb99b8d6fac081031d1d1d44347bf66cd96b4386e6cd9bb76cd9b2ef7ce73bb66d238737533f34ac7c6beb1f1d56b2bcc44a365a8313e3afff7da3ca581586ef598855885588558815a7fbfafa90c01e21874fe37384d2df856fa5e73d42a8469c4184cab4c88bbd26cf5860cec8514d798f1084646c375eabd555ec1725cec468b1d6ac837c9928bbeb85d7bb878d6a4ac6a291a8e58af1e60755a4ede36f97f3fded725da5d4881123a64d9b46449b376f963bc398f0f1b379f3661e18cbb2dadbdb8928994c4e9d3a957c12d9d7d777f0e0c142a1505f5f3f71e2c4b6b6366320b1c4118855369b3d74e850575757a150383c561e3f18d19e9e9e83070ff6f4f40c0c0cd4c6aaa7a767fffefddddddd52040f8b55b158cc6432070e1ce8e9e9e9efef97b26e8958f548f7f4f4747474f4f4f4f0babab425e57b95c9643a3a3a3a3b3b0b85825f66b8ef1f54ae040f32ff48e40add3c2ab9f2b755032b3f6fd5b032da0ab10ab1facc62954aa5a0dea09be0144344882fc3bea05072e4f9c5206e0c7c47f93e42e8af08b41d47a9e1a8336005f7fca2994824d2dfdf9f4aa5e041832833588a4563f2c32a73382dd137d244a4fb76ae7dbdaf7944bd079595f0461a5a8a47859135290843a35a5bcc8febbad168f4b4d34edbbe7dfbf6eddbd135b4f5faebaf13d1d5575fddd2d2f2effffeefebd6adbbf6da6ba3d1287e7dedb5d78868f8f0e14d4d4d4474f7dd77df77df7d7ff3377f73eaa9a7fec77ffcc70b2fbc40443ff9c94f7a7b7b6fb9e59633ce38e3c61b6ffcfbbffffbeddbb7a3dd5b6fbdf5d65b6f6d6d6d5db66c192f706fdab4e9d65b6f95aba6d75c73cdd2a54b13894430561e0e7d7d7d0f3df4d0430f3d44e299366dda77bef39d091326a0cc3df7dc73efbdf7fef55fff755b5bdb4f7ffa534c67f1dc74d34d679d75566dacb2d96cb526c68f1f0f7e5e7cf1c55b6eb9e5bcf3ce5bbc78f12f7ef10bd9c4d5575f7df9e597a3a75aeb175f7cf1273ff9c9f9e79fbf68d122a3e435d75cf3a52f7d498668a836764727571e56f2cd3fac5c29217b47d296942b3f7d25f6510cfa81bc499a5cb7469910ab10abcf0e56e4f985e2145f3e9f574a150a85868606fc343030801551e82fccd6380d3ad05ff094c9e57211ac7062d9146de04b542a95d85f546b5d2a954aa512d29665e1e806b4267b932acf36618c388dae1291d6f9ae4319951c31bc7ea83c11e9ee9d6bb7f5358fa81b3218a2a984d773bf7dc4f4fda3e22f237930d23366cc20a2dededef7de7b2f954aa1a71b376e24a2e9d3a7b7b6b612514747c7c18307dbdadab4d6f97cfeedb7df26a233cf3c138e4998a46fddba75f9f2e5982ce2e1e565adb5dfc13793c9388e03de9e78e2895ffef29746817befbdf7b5d75efbc77ffcc7783cce3261e0d0d7d777f3cd374bf58967fbf6ed3ff8c10f962d5b366ad4286efd673ffb19f99e65cb96c5e3f1d34f3fbd1a56d96cb64613fffaafffdad2d2a2b546679f7efae9a79f7eda2879df7df7ad5ebdfa673ffb198b2911fdfef7bffffdef7fefeff2b3cf3efbf39fffbcaeae4ef2736472a5fde5e9703253a38cffeb50ad4ca05c55a3a33ddbd6ffd5a04a7b9c19f3f3493ebb3ec42ac4eab3831511954a25ac4722331e8f27128942a1804bea31e10357d0943c17c459c16432893d42448f492412e543f8b85c57cef3f0d14fa7d3d088f97cbeaeae2e9fcfc762b17c3e0fe6402512896005cc6f5f706f91707b76bdb4e93dab2e46cedb6df3178c56651b877a76ac7dabbf420b52a479dc68db03da3fbad5dae2f22ac89749f2839f78e9b2bdbd1dcba4870e1d6a6f6f4f2693e3c78f6f686818376edc9e3d7b76eedc8992870e1d825698356b165a019d152b5680ce57bffad569d3a64d9a34a9b3b39307e9473ffa91ebba77dc71c7c68d1b2fbae8a28b2fbeb8542ad5d5d569addf7aeb2d68c169d3a67deb5bdf6a6b6bebededbdfffefb9f7efae9ad5bb73efae8a3575d7515097b50f662f5ead560e6baebae5bb264494343437f7fff8a152b1e78e081c1c1c18e8e0e287236b288e8dbdffef682050b92c9e42bafbcf2cffffccf44b46ad5aa050b16c8774062f5ecb3cf7213e79e7b6e2a95924decdfbfbfb5b515ef2157b9e4924baeb8e28a542a75f0e0c15ffdea572fbffc724747c7dd77dffd177ff117b2184a2e5dba349d4ecb9277dd75d79ffff99f1fc9581b68c8f27eaca43ce88f5eaefc696ec500413e7e7ee457400b1bb946df43ac42ac3edd581111cfff6cdb1e1c1c544a6115b4bfbfbfa1a121128944a3d1fefefe68340a17965c2e178bc572b95c3299e455cc62b1c8152dcc05e55d4de4c517e5fd429cdb97e708b1a788fb08994bb629946fed9b8888dcad6ff70d1bd3327cd8b0e1239a7ade1b105a70a0b9a9420b0e1b37316d6bc32692368b44c7588f664cfd7687a48367c488113367ce24a24d9b368108d630274e9c387cf8f0783c3e67ce1c227af5d557219a3b77ee044a63c78e95fc10516b6bebedb7df7ef5d5579f76da69321c2b118d1f3f7ed2a44963c68c21a2c993278f1b376ef2e4c9a8be7cf972d4fdf18f7f3c79f2e44422d1d2d272e38d375e74d14544f4f8e38f63cbd7e8233a058f9e59b3665d79e59523468c88c7e3c3870fbffaeaaba1fff6eeddcbef152ade74d34d175e78616363632c16fbdce73e77c30d37a0bffdfdfd815811d1b66ddbb889912347c6e3f1a6a626d904552ada4b2eb9e44ffff44f478c18118bc5c68e1d7bf3cd3703de679e79a6ababcb5fb2a5a525168bb5b5b5fdf0873fe492ddddddc6f8d694ab721926eec74af64beb8f43ae243f72142402fe4f9bd1dfc0b4d12f7fbb215621569f6eac48c41ac59a2511954a25f88b424ff1d907d4e528699c2e168b1c432d97cb595c94ef6dc2435ee8b54c2663dbb6bced09b34bf20e64a061ee2d9f776123a5fcd7d96f35d679070f2d3b9f2322d50b2d98145ad04a8f9d38324e15750516b56322300f5ccb28cf55906f59d629a79c42446fbcf106e6c1afbcf20a119d76da693025a0085f79e515d81d6fbef926114d9d3a359d4ecb3e12d1f7bfff7d1ced0c34cdb824cc1064767575ad5fbf9e88befef5aff32e1a7ebae4924b88a8b7b717ca862adf19fcf79a6baef9f18f7ffc577ff55752f4df7cf34d6cbc49ac88a8b5b575e1c285dc77a5d4c89123257b7eac88e8eaabaffef18f7ffcddef7e9757605cd7ddb66d1befed21130c2493c9cb2ebb8cd746882812897ce31bdf20a2c1c1c1eddbb773ef92c9248218f0f8dab6fdcd6f7ed328c9746ac995f7578e85f259b84ad898472557720fe6c8e58ab192e5192b8307f9a530fac274642dd99c2c19621562f519c10ade9ed89672bdfb08a1a4229108fb8e3a8ec3f1d1a2d1686f6f2fdfc70b2d3674b71289fb7c07070749ec1192771f21cf05d99b06db8af890614d95f90ed4f944640d0e5a43d609e95c5fbebbfb259f164c8d99d29cf0d5adb495786ca46d2213feb566c3e692f9b367cf26a2cecece83070fb6b4b4bcf1c61b4474e28927a2cce4c993f1eb810307c68d1b87e3f0279d74120c08f04944b366cd9a346952a01de44f7319004e443ffde94f274f9e8cf5040c2d6f37eedab56be6cc995ad85f2c61e3c78f1f376e5c7777f7c68d1b77eddab567cf9ee79e7b8e88264f9e8c99abc46afaf4e9d16894e94891f563c25871131b366c686f6f379a30acd1c6c6c6a6a626c604f4274d9a84e5e543870ec99223468c30c668c284095c32701c2950aeaaef5550a515c9658e4aae02f72d8e44aeb4587d32c642a60d9eb92f54539ea55c05f219621562f569c50a09e826cbb22ccb725d17931022822f8bebbad8efc3be209f8f775d179f6eec1162b6934ea723b8aba9bebe1e3a9303b21111ef1122ee0c2ff721c23742bd0d0c0cc89e482b80c7a3bc5e1c895a8a8fc893ad7a36bc65b534258572a48696f1a3ea497e9ffdd681f6ec204647a2ccd2c3ed225f9e8e90755dd7e56d42ac25767474a4d369646aad478e1c396ddab4eddbb7efdcb9b3a1a1813708b939d0696a6a92922af9919267f44b0a3a5497ffc18eac812d28f4f4f42c5bb6ecd5575f35aa3029d9fae0e0200babc18ff1d649ac3a3b3bffeddffead4613b277d3a74fe7491ef7b1582c0234d92e4a1a581925654f6bc995d87b082c4f951222793b12b9e2f4d1ca95bf6e206f81fcc84435b9f2f737c42ac4eab3801511150a05be4d697070109337cc05e12faa94c27e21d2d96c76d8b061a8cb3b85f0a981d68b404f626a62dbb65cad02c5783c3e3838080f1a5cfb04df51700cef093420b997b643393f51a77581a150d1fa9626090bd5378f1f9d8e1a584bbb806d0db6296419830725d6b2a50da27d76563a9d9e3367ce962d5bde79e71dccb54f3ae9a4fafa7a14e02316afbffe7a2c1623a21123468c1e3d5a1a38e4a92b295bfc2b1e2e29f9649be36ffff66fc78e1d2b573c9452f0ee85fde1d7fa8542e19ffee99fb0a3b964c992850b17b6b5b5353636dab6fd777ff7773ca1e4d6b95d298546be81553e9fbfe5965bd0c4b9e79ebb78f1e2d1a34723cabbd104122c09b28f4a29ccf3243328698cb56ddb5c32d0560d96aba031f5bf7b472b57c657e67dc895e4df688b7c5f01c366e7c7f8fa04ca7c209d10ab10ab4f2b564404df945c2e974aa5381f270089281a8d964a25be67176994574ac9fb78f94061f9de8a68349acd66b5d6bc79a8b5c6273893c9a45229ac8e663299baba3a68fedede5e14e03d425d6917187f5dd736a745e2490e1b3b3a1d33fca6aad9050c9cd41cf2e1325a6b0368ff0a806ddb73e7ceddb265cb7df7dd87fcb973e7725da5149c3856ad5ab56ad52a229a356b563299e4e194ad1b3ccb7c9606cb3ba6aa944aa552e9741a373b4e983041da56aeeb6ed9b2456b8d955b43928868fffefd50517ff9977ff9852f7c414a8371b2d35f37102e3f56070f1ee4262ebef862ee0b2f1b18155f7ef9e503070ee0cc06f777efdebdd06d0d0d0db2644747c7983163b4b073654966cc6f6ffae4ca0dec972133472b57524ede9f5ca92a367235dec8f75108e4c7982be0c311621562f599c28a881cc729954ab95caeaeaeae582c628e8855d052a984bb10101f9b4f5320eea8e3384893a7bc86ee2324cf5f946372e310bdbc9b5edeffcbf711ca0beba59e677dce3db4ac6445886ef124868d6d1b9920a1240c09306c0da95464d30cab5436d5ec296e487ba709f999366d1ae4c0f2f6c9e4af73e7cec5cab21c363f9f922569fb1c3870807f4da7d368fad7bffe35a29272f90d1b36fcc33ffcc3fffa5fffebe0c183817de7a0093366cc90fd7af5d557a14e6cdbb62a7dcc9861438557c38aff8b4d4a1e97575e79054de024251324a2dffef6b7bcc2a3b5765d176eb1c96472faf4e912abc71f7f9c7dc42dcb725df7c1071f44c9134e3841f27338b91a9201632ca49c1cad5cf9b17a1f726555c67564ac8cba3c168136b29f4f24b4cf360fb10ab1fa2c60454438082fcf2ce0ae5ca4a1f9f89e5ddcaac4f71162e113fa0b5fd1743a6d19fe33d96c96e713d96c16b63f742fc76ae3b316c56211f74291f7d56338e45ccdfb9b88ab80e9483c3d7aecc8048f0177b8b26ec5cc068ffc950be8ca87cbf8f991cfb871e3f8fec6d6d6d6d6d656f84731c4f01d4599a953a706b62b7354907d041eb66cd9b275ebd69d3b77c28cbaecb2cb88a8a3a3e3bbdffdeef6eddb070707fbfbfbd7af5f7fcb2db710d1bc79f3468f1e2d3161b2ecc1f45ffff55f7bf7ee2d140adddddd4f3df5142a12516f6fafe338b28a819e91e9c78a25e117bff8c5bbefbe5b28147a7a7a9e7cf249a30989d58a152b6ebbedb68e8e8e62b178e0c081fffccfff845becbc79f3a4932a11fdee77bfbbf5d65bfd25e7cf9fdfdcdc2c593a9c5c05488881d507912b237d547285c2ccbff6ee10905c919096f72757215621569f29ac8868606080bc295c26938946a3f05c615dc8f304e8afdede5e3ee900df51fccaf148cb7e35a55289cf550c0e0eb25f0da2976aadb14748440874820837b88f50ee1172070c9d8ff4b0865847b628a0567523dac60c4f1823e1afcbe692f1b75af9da7490660920221c9c87a3ede9a79f1e8bc5e428462291458b166dd9b2a5b7b7b7b5b575d4a8519226c442da417ea9c27f81eab66ddb7ef0831f2493c9db6ebbadbebe7ef6ecd9d75d77dd5d77ddd5d9d9f9fdef7f9f2a9fabaeba4af9f61741bfa5a565e6cc995bb76eddb66ddb8d37de68541c376edc5d77ddf5d65b6fdd7cf3cdf2c5085c6da886d51136f1c31ffe50e6af58b182c30be0193162c49ffdd99f49d3af46c91b6eb8411a8f7434be76dc4d03ab1a7dac2657b0433fa05c55e3bf5afab0fd328807d209b10ab1fad46385489fb1582c1a8dd6d5d5150a05dc38087f511c9fc7361fb672f80e42e8389421cf77b47c0d13a2914297727c36ee06a2c6600934ef3d44c4716b8c9e33af24f43f7e4d8d9a904e463c7822e93153c70c2fc775e35a80ded025c69a38553ec6881a68f25f8326e7e3a7458b1621ffe4934ff6f3cf6ba70b172e8429c0bf627a0e9724998fe5533e1da894baf2ca2b11c38588e0d582f25ff9ca577ef4a31fe1883a3f4b962cf9c52f7e21d76c5928f137168bfde0073fe0a381784e39e5949ffffce737dd7413962edbcfa00b0000200049444154138984520a8bdb7071921cf2f1d248241288552c16bbf9e69b8d264e3ef9e465cb96194de0a7f3ce3b6fd9b2653897c9cf15575cb16cd9320822db954b962cf9f9cf7f5ea3a4ff8daa21579c530d2b3a7ab932b07a7f7265940ce4df4f477bfb2e7e9a6c1f04b61e621562f559c08a88b08a8979219f23e44532d6593813c121b979fe87d8da7c2b6f3e9f57870e1dc24140bea71ee9c1c1c1482482531312a352a9645916e8f6f5f5a1c9c1c1c1c58b17eb4ab3421a2f24ed827c7f5f51251beaa2beb99dc431b8ae2f3df8e69b89e9d33941954653edbab5d3928e210a35ea1afcfb6d1c838ec42a93c900cf6432c9f13603df16492a9fcf0f0e0e964aa54422515f5f8f323d3d3db83f92970802c7e508b12a140a58034f2412f07921a29e9e1ed7751b1a1a62b1d8ba75eb7efad39fce9f3fffe69b6fb66d7b606000fe560d0d0d6c3780e6f3cf3fff2ffff22ff3e7cfffe10f7f6859164a12517d7dbd8caa7a58ac6af05c032b49f0b0e3f8feb0fa04ca55885588d5a709abe79f7f1e13be6432898f9252cab66dc41a554a452211d7754ba51242ac6152a8c43df51c774d79f381a17384ac33717200e7f6113f853cdf511c12c0c413734cbe67c760da0f9c66dd1eaf4fc587f0e2bac6aa9d524af9e2efc91d5a4933702c03cfe2a823f6713278086cd7e01f69bf2f961c63c9a18115a27e4b9a86540562158bc5e0af24d7f1d3e9b41f2bff3b738458c562311c1d9158f1b91cee02e3964c26d9b1d68f957c12890462ae1e2d5681637158ac8e5caede37569f40b90ab10ab1fa34614544030303b66d431d66b359ac70c6e3f14c26c3670799019effb1ef28df47019f52c77186ce116216c89a0f7e35b0ebe12f9acbe52291886559b1580c5a539ec3d0956bd9fef565893e770f7dc3c34849640ddf2439de5c3e709d5ab625479daaac65337081fc1bf4d1bae12be5e741e6074ac6c78c95f6f96b7d58580596af861577b0069f9f62ac42b90ab10ab1fa205891771f21fc5f38d628f414cfcdf8bc20bc469552f0fae43b28e0470afd6521be28ef0bca58a3d076854281cf8df5f7f773ac519c7ee33d427e02fbac2be3e369ef2111bfcea063d847923e97376ac99193ad07d6327893050cca469af9a941d3df47839f638b15db621f1656ec397c58acb0fceea7ffd9c1cadfa36a58f96986588558855891a79ba0ccf2f9bcebbaf05c41d4b442a1c071b3e1d90e8f1894879b27a8b1feb26fbae926742c994c629f2912894422915c2e675996ebbaf5f5f5a552091b92f1785c29856f595d5d1de2ab414df2613bc396e10ef8f3f19325cea97061f2d935329f074329553a742832620411953a3ba323476a61b304d6d5c24e9174b88c9196c50c1efcf68ec19bec7bedbe7c3c5819f91f2256b8a56bc68c1953a74e0d6c8be9e4f3f964323963c60c5c7af519c48a42b90ab10ab1fa0058eddebddbb66df888c267057a0afacfb22cdcadcb6ba7854201e591c615ebb158ccb22cd44d241211cc05713a02698eaccdfa933c1f5112870889281a8df6f4f4c89ec8475599651bf9d20631caa8a0fb97c95b536670391fd604d795adb8de296fe55b9b969241c2ae913377c90f4ba7eb8b7de0b765e423b93ab658f9fbf501b19a3e7dfa09279c2073aa6175c20927a0a4a4f099c22a94ab10ab10ab0f82151161ce86bd39ec111211f60871769ee38ee2c8049c65e0dd82b8a3bcc609dd578ebdcdbdc57e61341a85ef2832a3d1289f23c43621cf3453a994718202a42482bca6ac94e27c7f9aeb06ae0b73792ec3a3e2b723b8394e07da5f2c3d862c92cf9631f20dde8cbe1bf97e9e256f1f2756b26e88558855885588d5f1881511c5e3714cccf83e42ac7fe21c21fe8bfdbf6432094f19d775318be37b76c93b474844165fd78b1895d09f386f016d27f708b10e0bcb02d4a9f2e1ce187f653f6561f9d75f9773dca0b32f9c2fc9fa9ba8415f79f648a0af94166bf17e0a35b80decbb6ceb586115d86288558855885588d57187552e97c33942ec1122ae0b34547f7f3ff41cee20849ec27941e8328e2fc3f1d42c9480fe2c7a0f62b2193e39f29e7ac41a8512e5a8360045ea735e47d6413e455c867b18b8061d580614649a1bd595f68b5c1faf661fb15da3bd387e465b81ed1a7cfaf967580cfac71c2b990eb10ab10ab10ab13abeb082d249a55258adb42c0bb7e228a5701f218787643d95cbe5a45e4ba7d33801087d674167424fc20307fb82d0701c7c847d72e2f138df654f955b8600cef82f671a7fd98e90f93c8a46752d6c074ecb920603febfd5ec0bc3dfc9e885c15b8df23c42d2469369aa7c8e2d5635da0ab10ab10ab10ab1fa8463c57ea14494c96464bc33dc958b730de4f997f21a27fe8bba1c619b882c39ffe398dc08d10d5d0aa5889060980e36363642ff41a3323ad276e09e50151b44fbec14ee308f1005d93824ec0880c2c4b95da3aedf9631daf5e74b3a86bd266d19499f47ab9acde5b7fb42ac42ac42ac42ac42ac8e16ab542a552c16a1a7b06619894438cd6704a1a7128904e67ffc5ff26e58e26b072df2ce0ee6f3795e33c5fa297c72e07bcafa16b70de01c86116b5457da023287846ee7bf8c1a432c7f356c045992ab4b3af2bf32bf5a5da375a36e60bb5c921f12b69bbfbf92acf2595ec710ab6af92156215621562156c70556887d46625f10b33dccd6d8af45dea7c4eb9a982f4adf170b8a11fa938f19625e88721c538688f8dc06b4314e2622be97f6b47da05da083d6a9d1a5da764435fbc8a82b2153de43c2bef0b72b6d8d409afe7603ed26837fd916091b8d1bb53cbfaf63889561df85588558855885581d2f582113f711f2e978ac596269144a0d4a4adeb31b384744da2271efa0bc83823cfd8996fafbfbf9ea73ec23f2f98cdaf7a14b4dae82ac0fbfbd20a9f9ed05bff511e877a42befe80ae4b0468ed196618ff879ae5157b662e41f2bacfcdc86588558855885581d175811515f5f1f94147410df2f4144b8b69e3cfd85073a0eba0c7344795682882cf29dab0075cc11c9bbe150de531f8fc7d9bf94efac20cf8ed095fe45246c195dc52ea0cab566a9f6fd36cb61d3b2bc346d247da33cca04f263f4c52873587e645b463ac42ac42ac42ac42ac4ea7d608558a358e484d728d4109627f1b0bf28fc6088887d44a1ece0078339a205e5c9b146312fc46f20813319f27c463e9fc7fd4f688f17540d3b824734d0d620a1f3b578a8a685a22ad7a68d76fdd6070f9e9f31e32f8b11fb2c195cb1bda644ec3e4999738c7420b7c7162b1d64a985588558855885581d175829a5708e90bd35e55db97c1f211165b359f68ee13385b87349fac494f52d9fc387ff0bbc71f8ec20bc6688a8b1b111eba23847489ee224a1ea0d5b467b0bbb725dd8b00bb8706d1b0710c8f2d26691236d9467646bac9b33cafeb60c7b4afbe23b18360e97f7d354dedafdb1c5caf2adfb87588558855885581d2f58f139425e116d6c6c8cc7e39148043a0b99b1588c63c740c791b7f1c7e708b1f669c97b278888e785f023e5bdc34c268359602412c966b31c716d707090e176bd3878d27c20619b9058f3c5a37c3685cc094cc847b6c2f47984fc3c702d15647718b695a4c9bc05fa3b490e55cdfbc0b8fcb1c54af637c42ac42ac42ac4ea38c20a3f29a58c7384b8a41e7339debc431a77251111f41a2848dfd172ac51c417b52c0b7b7ed87e441acbaf8d8d8d5a6bdc218e3494762a9582ee3474b81c575ed7461946846d10cee7ba9ccf4498be4ce3316c28a62f6956cb679a7e3a92bebf8cc1b3a42f6d9f403e8f155635780eb10ab10ab10ab13a2eb0226f2f30168bb16ec20df5f1789ce788c61d84d09a4aa9743acd4df0baa6c5fe33f0a5c1ea28e682d0a5994c865d4333990c799a9f7d4ae5d80014123adcf8a95a3e83e24f1b7f6542fa8b722da62f7302db35b8f2ff95368e3f2165d44fbf9abf5320b58f072b2e1f6215621562156275fc62a594c259866834eaba2ef414797e2dd823c4162062cac05f94cf119258fb4415d5d1d181ed40dbb6b1cea9b5c66df5d168546b8d1921dc6762b198d61a44b5d68ee3140a8581818142a1b07dfb764c4e274c98c0616cb8275259926fa6cf8fc85744b2ae51bcacd1b970c55ea1c845b2f2e7c0c7a4548573e6aa160387ab6ba251d9ab0a9243ff211dd8b0ef09608c41d0c1343e44e6fdf935478afcbc55a51f388a87ab3e845b2599f2ef92642587a24015d4aaf570289f21ab2c5945962a581a92db2acd1d0effa31a539381aa605679cb82baffa18dfb91c96155f90c06a20af15a1d0ca660767368cc6bbe0f8793cf8006abc96d35768f12d8aaf9a618077c8ecdb7a45afa704fb004964a25a8a1ddbb77e34edc69d3a6e136419c6b872f2862bf60164844aeeb964aa5643249448815caf9b89b905d5bd050a4582c66b3d9fafa7abe8f30168bf11cb1bebe1e53cb42a1904aa5c01fbc46118c14f739158bc571e3c6757676168bc53973663b8eeb384e7d7d7dd9d21902a1eaf7dbf7f83f2355d5a709b34fca3e0245588b816ad2eacb0f7cab023e88018af088a194201c097aef93f9231ee2c08fcd106f8701c7788ee0dbedfbd0d42218f8d9f2bdcac146993f3fe80b72442d06a9611f91607c6a7dbd8f9881f7a3080f37f01f70dc8f5411fae87cc48ab0ea136c1ff887a0da6b54bdc12a5fb32a5fb0a37d61fd00b2b9c4105310e8553e5587b584fc5d30a42297cb599652caeaeeee6e6d6d554a150a05d7751b1a1a5cd745eceb86860690802f4b3299c4bc5029c541d492c9a4e3384aa9dedede61c38661a514aba9d168b43c2344c3f83b383888dd41e4639a08ef189cace034c2ad21ce8debba8ee3f4f6f69e7aea5cc771b5d6c964f2832842bfe171b8d2069e9f2045a8e542fff1a6088f88f98f5c11d6fa8a1f89220c502a811df717f80814a1aedcf8f195fac815616d06424518d8c1c3f6d147b8961463086acb646db6830b7d748ad0342a8def6bed81abf6893e8c54584a0d0e0e4211bef6da6ba954aa542a353434e0a43b1c3993c9a4528aa77d78404729051548de5e1e5423ce3e148bc5643259be6717fa4c6b9dcd6663b118112593c99e9e1e44568bc7e38542013350f61705c56c365b5757a7b58e442298bdc662b16432f9c0030f12515f5fdf9c397330b3e4de2a22576b2272bdfb97b5d65a6cb4ea21ef29a5b5ab3800abeb92d737d775e1d3cbf94a594a957d8a9452585d061a5a93ae725b13f34044aeeb1029225296a55dd7b22c5eb5e7e1d45a5b96ad3556c0c9b2147ae4b8ae65d9449a697aabe4e5325ebf2cf90e4b3ea5e82845aeab499c9c455d4b915be6013c6bd7adf034f3302470425a9352aeabd1f54a712c638be1603e2ba5b6ccad2efb95695946d077e5ae3893d043bbe5cae0c7b62d8fa66b590a9d351ee30351d1af8a624358f1ce043cb3b1c1a094857795e50a328094645b29056b111dd7daf54649b98e43deaba5b5e6b79f697a3dd55a57c81564430dc96db9efc6b75b6bb26d4b6b57c8aa265258bd8184bb95778b333ee27da95048724c9955ad49a932876817fff5b0353e7324c94a9ae577b01243541f7a07851c6af9be94ab94b192fcd7962b5db6d4092fbe108c21f964ed6e5996765d96c321fa95a689effb5de6a5cca4d624bc3fc4fba2956591e007d45dc89baac4ca9301effb46388ca0cb7e98f2bd569e5c556005f620e196525a6225be63901f2907aeb89b9efb2eca6ba6e97ab320e31d91628a9fd84f5582ef932b2ddea3a1774d13595e5d9613515e29458e53fee6e3fdb52ccbb6ed37df7c938852a9d4ac59b3b08be7384e2c162b140a7c13af6ddbfc0ae36e7a3e4191cfe79552b1580ceb9db89b9e037073ac99803dc24422a1b5663f52eded0522bc37745eb158c47e21a69fd86fcce572d850cce7f3d96cf6a4934e62071ef9f0d804bc76424aabcdbdc2e7d3f7189a4ffe42959bb2954f409dcaaf5bb5cf7b45e1aab46a52a826a0bea5a42a25ab130e7c39aa345775861438b9394206de3fcdea9dad1c3d5d75ca7b18e6aaf3561dcd1a3cbf8f0ed662dbbf7063583d7e42a2ed4a6bb51617412f83af1347076c5501abb6a652c9bbd9e211bc59015201939ded21adb56ddbafbefa6a535393ebba914824994c62b6860b0163b118b3118944a089b135881d3da514eea647dc199e0b6267118a13fb8b437b848ee32493c9c1c141a83da514cf1111719b43a9f5f7f7c762315084bec422aad63a994c160a85582c96cbe5308d55de39153670b8fbfe7c234d953648b5326c391af40391afdd96314f95ed1a69e37355addd1a74e409d6c03efae97c5ab13a2cff9873fbe9fb89f37f15e625daf5e673e539b468cbe2492c72dd20ac60329b3c57b63a848f65591e1d4b291236af8195528ad7390cac487c3b6a63586d5c60a4577bd786302fcf63aaca158618df0bfe1296cb0cadbb08b9b22cf2ce9cf9c75760e5622cf00ac8f901f857437326031f559e67788fb772a394227fbb8c9bf246daad941ffe70696f3e67c88324c598a03cf9de11e54d4a86b0a2a179b331b8e5b458eb92e32e06dd65b9653e3165ac7c075dac6961e083e52d28df00ca78bf2ccbe2b507dbb679dd4259961aa26379d37429a12479f663c5eb52a22dc56b579c0f8f9861c386b9ae3b3030108d46592c5dd78577a8520ad1cd3007c37ea1128ba5b66df7f7f7f3a909c49a613f988686865c2e579e11e27e09deffd35acbe92027bcaf5239301bd4e4c0c000a4161e34f83597cb4d9f3e1d55fcd229a1516245d127f7665ae6189055a32f058b2abf4a46c2a0ef276bb45e9b073f33e413f4c3f6d49f295b3f120a9f7cac8cdec9cf71357eaab57b0458e17b31f44df743211950c20a2e7f7695b2bca5332ddf766fe5a70656f28b6f346af4f7c8c7eba8e4caa8e2af2bf70b8e58ae3491f2f30a1565aee8faf8390cff5580a8215781353eba77b036351f56641436d8ab4e0d669c554d6e6bbc83ae589ff7e3e0afc803f7616345dad83b089273634c6ddb7efdf5d7d3e9346e9fc73ccfb22cccb8f036c5e3719045043494e17d41399753de962136171dc7c12dbeb66d5b322637f42ace5be0eca0528a63b221ee2879b74f3064b1580cb3cb62b1685956369b85d38eff7b6d8802f719b8186742b9b05ce9961f4aff0794bc0f933136b22d9609ae25e91b63cfcd69f1301d6e4bcab17c0cb1e0f2b22d392f0cec0ee73035e5bbabe5d384957c3e02ace0335d152bcbb2580ef927c6cac04ba2641d01564c4382c33c737f6b6365b47b547225390f6c97fde68e46aecaff046025d03aac5cc91687e40a6371347225a542227fb4581da15c05c958ad77500a001dc53b6831c647fb0eb2d631b0922b3a122b4bc43f7bdf58c9bea8f21cae4c0d32e6a70c4d266922e1baeee0e0209ac68906e5ad044013615ed8dfdfcf5aad502820820c5f388fe8db329e3662ca90175f461d3a74088a9071818f0c79eea35a6bf623e565019ef9452211edad30f0810fc7713a3b3b67cf9e2db74f499c85945d652c02f3abfd952f925f6e0cf9e01c253e3d35d27e1e8ce1f17f478c84c1496dfa46beffc5f6f3f969c2aa76bbc71e2b22ff1a2051c59e4a28579f40b90ab1fa646225d9331e7f79dbb6376fdedcd2d2229d4271825e29c539f8157b81caf30bc50c0d7ea14aa968348a7921d427e2c670cc6e8baf9827a25c2ec77147a151f9683ce2cb1011ce4b60bf1067fbe5de21f8834e563e4b56cef9245e32cd85f157aa52bfdcc8bf808fe3114869d35e0c1a638cc927979226e7bb9571ffb8a28ce3207f658f535d19fb26b0bf069f4ca79a5c1a1085587de458056d0b2935e4bf176265b41bca5588550dac382d63c704628507da2b9148643219682be81768be7c3e9fc964105f06f97c1b12ef05422fcafbe8b12e0a3f52c453537bf7ee855664375138cb907776301289a055f894462211ffde61a150d05a63fa883034f97c7eead4a9c61ea11f233f0ad5f265dd400387c789ff5bc3aea956c6a01f2807b5eb566bf7a8f8249fc407f27f2436dd271f2bae186215cad5a706ab52a974e0c081cecece40cff9f0c11389449a9a9a468f1e6d9ec2f220c5f1099cdfc37941de02c4de2776e59452d05948e772b9582c168944380228cf0b39c40cb7553e47882c8489216f53b15028d4d7d7f379418e648ac6b4d688760a8d8db386f01485c70db43789b32c542934c6db25cb18e5b567e318f6029b24dc25b732163b4bf6d1a625ab817e68474bdf787f5c5f0cf56a7d4701b77a6c784efbcb1c4758d5f8d684588572759c6295c9f4160af9e1c387d976c4f8b87fb8690396c3e61f2b9a8169c7290d0cf47777778f183182828c0cadb56ddb030303f5f5f5440457958686068e77d6d0d08093821c711bf94a29a5542c16cb66b3a9540adb7fb8bc1e7e34b89b90a78faaa3a303774d602e48de02264f10c1933c56884d44c822e68528af85afe981030766cf9e0d8246f7a8f215f2e79739f37d1fab3d52d0fdef2aa7257da3517f956a127024998715af1a0d55fbe9538c55a09b6288552056a15c1d2f58edd8f1767d7d430dc4c2078f522a9bed9b3a755aa0a45996b56ddbb6a6a6a67c3e0f6fcf482402cd877d3ee83cf2ce082a6f2f10b3b8582c86c8a2bca78816114f5429050d65dbf6d0a61d5651d947349148703a97cb150a05acb1f2c229426cf7f7f7a34979561f7a9b2aa59f7c761c1e1d640f2a616771317e48acc553d03b26d3fe1629488e99b2c195ff27cee1b57855b92e2fcb4b0ac67e80ec5420567e5b38c42ac42ac4eab8c0aaaeaece5fcb9ffe28ca547baad5fd20e96af48f3c5f7b7b6ae4a16ac815f08f46a35871e43d3fa514eec7459ac9424fe1ec03226b63ab0ebfbaae8bb550f891e2ce42221ada234433882f831d41f0c7f9580b858328628d729a88788e88f2d96c76f2e4c9def1d200838b2ab7018c6e07a256c3c4d395d6440d3a7e82d5eaf20be3e7f9b0756b702e3b5eadadc0ded5207b5c6355c3900fb10ae5ea38c56afffefdb5fb1e3e12f6d1a34723d3803412896cdebcb9b5b555fa85e2ea09a5147f4060af20d09aaa8c2fca7164643e74964c5bf80ff608a13fa3d128eea0401bac4bb1560b6f52a5d4c0c000826ea30cd21cd81465a01a9957fc57da628ee3c01748573e44542a9576efde8d9fa45d66acc5f3eb61ec4f7042fa41f97da2b4b0411cc7d9b3670fdf4565bc1eccf9debd7bb76edd3a303020c740d2e4b69893405f2c99a88695d12fbfcdcb65b83b1f0f569c53032ba39b1f165603fdd97777b7ef7d67179f28d25a17f2f97777b777ecdbab888a85c2de777675ecdbab83a6080656857c7e4ffbce6c5fe6a8b0721ce7dddded79cfe3fac3c2eae0fef736bffcc70d6bffb06df36bbd3ddd1f9d5cb9aefbeeeef6423effe1cad581f7f665fb32c7a95c7db8efa0bf2de391f91f56fa78a1cf398c367202e54a29d5d7d7c75a309fcf5b96552814e02fca2ab0bfbfdf755dac59421f410be2ec3be67fc8e77551a8c0f2dcf16ffff66fa102b1028b03c5f1781c5b8648434a72b95c7d7d3d426c472211d0c2a8631d000a19f1df0a85c2881123a41c1be7e5f1537b7bfbedb7df6e59d684091394173b073f954aa5db6ebb6dc28409e9747aeddab53d3d3da3468da2ca3d063c60cfc8370a70bbfc2e49dd067e8ac5e2af7ffdebf1e3c773301e26a5bdadac4d9b363df2c8236fbdf5d6e4c993376ddad4d3d3c3b60c559a99fe73a9cc0317e602fcdf40ac6479ff232918753f3aac02cb1858715b7e7c8cf4516045b4e6e927d73efdd4b6cdaf358f1a3dac6904ca741f3ab8fc8e5feddbb3fbc453e777771e2aa74f9baf3ccbb11a561bd7ad7976c563bd5d5d27cc3ed1c0d9c48ae88f6b56677aba5b468f29158b77fff7ff699b30a971d8f00f052ba7547afab187d7fcfec97776bcddd3d5b96dcba64d1bd637a41a9b478dfe28e4aa542cdef7ab5fb64d98981e36bc9a54adffc3b37dbd3dcda3461fa95c11fdeec17b73030363274efe24c8d5b17d07711facc11b3facf54bf9815cde8d44ca91de8ea45f35d2f2f920743e2cfac6981a65e45f8e8bc672c5757b7a7a860d1b96cfe75dd7c5bd0ea0069dc51b76f5f5f58542013aa8aeae0efe9bf0ac519e9e6a6868c0090884ed463eca4470ae102bb0e4f988c277349bcde2867bcc1171ca1e7b84f0cf41549ac6c646c85c2693c1bd8644847915798a9dfbcc7ea45d5d5dbb77ef5eb9722579aeaafc805a2412f9ea57bf3a72e448a5d4bbefbecbb729c204707d51d99070c5997da35d46d915f1d779f1167f31e9e67ccb8b83ceefea810307a64e9dba74e952225abb76edf8f1e3d1bac11bbf51daf343c383393760347c65d5d09d091558218d6808d24ae2f2062681fc7ce85871991a58f97dedb85d83b723c72a3738b073db56e4bffecacb13a74c53580fb12c22aa4fa5942a47f8acc7f5995ebb8158158b85375e7b8588f6b4efcc6632a974ba3656efbdbbc78a44b4d69168f4f2af7d6364cb28eeef07c24aa9e757addcfec696f32fbb62eaccd944542c145e58fdf4b34f3c36b27554eb98b60f5dae94a562b138e21407cb95ebbef7ee1e607be472d5906a8cc5e35a98f9c750ae8ef93bc8ed1ae9f27bd7bfe7a9c756771451d69afcf90bce98d19adbb3fabed5f6d5d72d8a7b9d0ac4b05a9afbeb2f23e9f879f363c565727b56dffbacfd956b4f4f7ab87963d1b7ede5dd2d73673455e6a35d445f715dd77977edddab9dabaf3b93ab1b63c772c5d68f942b7e30b7e315514cc65cd7453e4efa29a5fafbfb113b142717a0a7305fc4bd49383b081d87bdc3f229c15c2e076d078690861fe9b061c3060707c1ebb061c3b47737216eb8c0dd8428afb58ec7e3c8c705198d8d8daad290649489a85028dc76db6d241e7e6db88ae3381b366c58b870e1134f3cb17bf7eeaeaeae9d3b777ef9cb5fb62c6bcd9a352fbffcb265590b162c58b87021e2e53cfef8e30b172e5cb16245369b9d3973e6c2850b5f7cf145c4a93be79c73a64f9faeb5deba75ebf3cf3fdfdddddddcdcbc68d1a2134e3841dec58853961827c7719e7beeb98d1b375a9675fae9a79f7efae95aeb471e7964fbf6ed4d4d4df7de7b6f341addb3674f777737b8c28d54e805de349095f720cbb332fc364a882456e4c522420ea70d1f4b3987b6854472bbca8b9b257990f45976fd6d91b0cdb5b73dccf48d34f363e41b7d37da850577e458eddbfd4ec15bab7f7777fbe0c0407d2ac5750bf9824c5b96a5c41cc28f55c7be7773b9c1ab6ff8cbc7efbf7bd7f66d27cfff7c79db7b70f085679fdebae9156559334f3c65e1b9e74522d1271f79f0dd77da7b3a3bdf797bfb172ebfead5f52f2c38ebdcad9b5e25a285e79e0ffa6fbcba71ef3bbbcebb74a9532abdb07ad5e697ffa82c6bdec233e62f3a53595635acfa32992d1b5f5ab4e402cc4a95525622b1f09cf3dfdbbba7f34047cbec8cc5350000200049444154e831857c7efd1f9e7de3b58daeeb4e9d316bd1b917343436f6657a573eba7cfee2b3563df6487fb66feaccd99f3be3ec97d7add9b66553637ad8a2f32e9c327d66a9587cf2e1079a478ddebd7347c7bebd235a5a172fb960dca4298e53729c1270c8e7722f3ef78c64d5719c958f2ee7ce5e76cdd72ccb7af1b967366d582fbb63db76b62ff3e2ea556f6e7ecd8e44cef9c2a5a552f1932357c7f61d24df3c52d2719cfd2b1e5a7d68e48c2f9df7b9c668a963eb9a95eb9f8ca4af994b44ae63f42b509b06a6993d7f996a34994fd935b639ca345d87ad5551be6bfdeb1bce3865d670efc32e6922e298524a4514b943dd9752c15ad0c0ca185f9c79504aa5d369d7bb591e67f6503e9d4ef33d122883d54ea4e10bc3333ac77190c67f39fa7604f1bc49dc3b0f9d891288412ae7827c973dee7c4258193ecf8f206f1cb99bf53c6b411697cb2ebbccb2ac1d3b766cdebc99e1304677f7eedda79c724a6b6b6b7b7b7b32996c6b6b23a2dffce6375d5d5de79c734e369b5db76e5da15038e79c7372b9dcdebd7befbfff7ee8c5356bd66cddba75ecd8b1975c72c90b2fbcf0f8e38f8f1f3ffec081038f3df6d8dcb973172d5ab471e3c6471e79e4861b6e18397224f96c2522baf3ce3bbbbabace3efbecfefefeb56bd7e6f3f933cf3cb3a5a565fbf6edb66db7b4b44011822b43f248cc83b5b071b88cecafb48f0c1b8d3c9b4e96af5657be69b2a44cf8e953e5594ff9d478eb0cbbd2cf8f41a71a0e478b1511bdfad28b4474d68597ec7d67d78e37dfd8b16deb89a7cd976f147f0eca557cf80ca5b57e75fd0ba3dac68e6c699d74c28c979e5f3d67ee69966dbb8eb3fc8effc9f4f62c3eef42cbb2ffb072c5c18ef7aefc931b9a478ddebd6b473c991c3d769cb2ad7777b70f0e0e340e1bbef6999573172cac6f4839a5d2cb2f3c3f65fa4c65590fdc7e5b4f57e7c273cf1fc8665f7afeb9423ebfe8dcf32dd3a62ef399e9e926a2f193a6481ca2b1d8b57ffe6dadb5eb380fde7e5b4f57e7bc4567da91c8fae79e7967c7f6afdff8bdfce0e07b7b76fff69e3be72d3c23128dbef8dc336f6f7d7df4b8f1e75f76f94bcfff61e5a3cbbff19def5996ddb1efddf6b7df9a3ee7a493e67deee5179e7ff49e3baffac69f3535b790b79bf5e01dffd3d3d5b968c905fd7d7d6075e1d94bb8b363c68d272274479659bce48252a9f4e0edb7f567b3675e7031917efaf14788a86dfcc4e34eae3eb677903c1dd0b575c3211a79c945f3d38ab4b65b679ebdb07b55d7e000954fb551fb8695abb7ec23a2e1133f7fd11927d834b875f5131bf6f41351a275f6a5179c6abffbd2aaedaa7170ebceae09577dedac7a6f4edcfee2ca35db3b88a87eccec8b969cda60dbedeb7fbfe6cd7d2e5174e4b40b2f3cbdfebd3fae7c3d97ec6ddf97a344ebe449c9eeadeddd4489d9e75e7ab2bde581553b6231a73fe75274e4c28b2e9892b6f9addaf5d2cae75edf4744c3277cfea2458d2bef5e4d446beefacdc1f3af6addb7a6fc53995b67c7da95eb761e228ad6278a149d2cfb2ed3fe9195dbb13c16382f885a994c069a8fc4322c9c3fa1e19452f97c1e77d0e39624f8bb90b7c64944385f08bd88ea11769081e6c38a443a9d8686b36d1b3531174ca7d3e05e96492412d094d0b1d0a6685bda5f9677e58a6559d16874d6ac595aeb52a92415a1b4ad908e46a38b172feee8e8686b6bfbfce73fbf6bd7ae43870eb1026b6d6d7df2c9274f3ffd7414bef0c20b4f3ef964adf5be7dfbbabbbbbffad5af5a96d5d2d272e79d776aad3b3b3b8968eedcb9cdcdcdd3a74f5fb16205cbb7614feddcb913ad3437376badd1cac2850bc1c99831633041ececece434556e6690b0b3e488facbb01cf8d35ad89b467949c7b037257d995fc30694df20837fb60de51849ac980129d986adc7f9d5f83f42acba0e1ddcbf778f1d894c9b35275957b7e3cd37366d587fe2a9f3c8b7e5295f926a5865fbfaded9b1fd4bd75e4f4acd997bda968d2feddfb777ccb8097bda77f576777de9daebc74e984444c39a46fceec17b0a85fcfcc5671ddcffdea8b671a72d5c5c2c16c0d2a469d3ffb072c581f7f64d9a363dd3dbd3dbdd35fdc49376efdcd17de8e057ffec5b235a5ab5d6cda3463db3e2b1f98bcf8c27928158f5657aed48a43e950ac46aef3bed3d5d9d977ee5da0953a611d184c953eeffbfb76edfba65f4d8f14474f64597ce3ee53445f4dede3dbddd5d4baffdba6559239a5b1fb8fd3622529622a239a7ce3febc28b8968d2b4e977fee2df5e59ffc2b9975c0664c0eab57ffeede1239b89a865f4e855bffbedfcc567a2b3a3c78e9fbb60e13b3bde4699a6e616eecebc4567ecdbb33b9bc92cbdeeeb507ecdada397dff9ab4f8e5c1ddb7750099934befe44943dd84bada78e109ba3d3169faf94caed514434b063d5ea2d83675c76f5f848c7530fad5ed5da7686bd76c39e868baeb972647ed7030fafd9b0efc4cf53e1d09e9dbd63662cb9f8c43a8f8dfe1dabd66c3f3867c915270def5bf5e0ef1f5ddff6c5915b9e7b73dfccb32f9d3d7c60fde3cf3cbe227dcda9c5ee8ef6e10b2fb9aae9d0638fafdfd63aeff26ba7ec5bf3d0fa359b669de914dd62d39473bf7862eaed3f3cb6eeb7ab9baf3f2fa91411f5ef58f5dceb83677ce99a71d67b2b1f7e6ed5a8cbcfbc60ce232bdf9879eea553fad7fc56fed4dab680d6aedbd935ef822ba637f43efbc8aa7edbdc1124616758956b36feb188c562d04170c084168c4422b88f42797164b077084f17a471a20ff342e826be77027a0d69b8924688a8b7b7b7b1b1117b7ee0a9582c62099588a0d870cf13565031274599818181542ac5bb9458bab56d3b9bcd72cf0dbb492638fe905be5fe17f6d142b4366c41af5cb9d2b6ed4824b277efde52a974f0e041c41d686e6e66ac274f9e2c81460e11fdea57bf1a3972e4ecd9b3cf3efbec542aa52b6dc0b23cf5f7fb5b3974e8d0d8b1637565c83eb97bc16c6b9f5da93d9bd4ff3e2bdfbd244ad8a14c9069aaca75ff403a0686fcc59165e45b2adbe57c7f5a07d9f2063fc67e92b1d0f401b1daf5d69b04efe5feb227426f7757e7c103cda346f3fb2305cc4f4162d5fef636227afb8dd73b0f1c18c8f611d1d6d75e19dd366e20db178bc7478d190bdec64f9ef2ff7cff4744a4885cd7755d47b6d5904a8d193f61db964d13a79ef0ce8eed896472f888e68e7def12d1eaa77e675b76241addb7e71da754ea3c78a06dfcc440ac0c0e99ff816cd6b2adfebe4c22991c37690af8696e1d3d6aecb801cf1763644b2bf771c294692068790b83c83f61f61cb4128bc74f5bb878f3cb2ff144b93f9b21a2679f7c3c62472cdb7e6fef6ea754ea3a747074db38d7751da7a494aa56263730108bc75b47b701cf96316df50da9e351ae3ea277d0ff2b797b8d1145e40c31efbaae2af6674a8938111175bd7b90c8deb369fd1ea241a2fe1dbbeb2e3ee7a2e4feaeb7ffb8a5bd3d47a44b25b21da2314bcffb5cc21378a554e79efd3466d1dc31f54a355c78fd358305fbc0dafdd6b8b3e78f6fd27af819674fbefbf7ed5dba9eac890ba634d9946eb3d63b73a637d8d6d4996debf7e4f39a88c69d7d6a5b9468d6398b36dcb5667f96266a4da4bac1d26b2f7a2ced69b870a44df6c851e9ccbaf24fbbb506b73dc983d6b833668d6ad0bafecc4563ee5d5392b2cd9f6563ff52969163814c3e2c8f7d3ebe010951b65198836b4397150a0539474494355eef04599e234630b7434d197494883047c44fd82fc4adf458f944196850283fecb141563077342480c43abe16bbd6c8e7f99961f719e948243266cc189419356a946559f5f5f5684beea2b3532bd34ca7d3dffbdef7de7efbedb7de7aebb9e79e7beeb9e7962e5d3a7dfa74833e28fb5b8195610ca7d13baa7c93a9f2bd92f48d3ecaf235faae2aed5f7fbb2c5272cd5d7e7da4ad6df02ff38d3281fc18fd923cc8f2f2dbf441b02a160b9b37be4444857cfeeefffe3fdcca9b9b5f6b1e35ba2a56628fa7e2add3fad53fbe48446f6e79cd2995b095b87debeba79f739e65db96f7801fa7548a44a3e4b3eb9552cab24e9ebfe0e9c71ecee706b76e7a75fee2b3d0ba1d89b48e6e43ba65f4186559c9bafa6a58358f1aed944a1dfbf68d9f3c85b12a958a77fdf77fcc3c69ee88e616a5866e29524ac5e343f112cb5f5ec87c32e9972bc72959c2792f168b4bac945292d5d6316dcab212c93a89556099645d7d6f579765598a7d5e8052e5a87df2e5cadfee87f20efa3f11e4bd83b66d47eb1ba87d47b79ade542ee0aebdffa1dd93965c3141978bd78fc2a2d7c891c97e6a38f8c6d34f6ce81a37edd429a7ce2fac5ce31291e35ac3c724c484958814916597c7dae9edea72d2f8e68299482442e4149522975ca522e43a444e29af545da9a48954441191d84f25721cc6aa82a52cd56306e3bacaa6a19f9a9bebfaa9c1ed20b2cbf7ff698b88149ba78c0faf54e3b32f7581fc5ee1fc3a796e8caeebca38da894402f342683b7ca2b18f88b92053937b84c3860d2322e8359e5f5a98f611118e00625e99cd66f9aea6fefe7ed4c77e215a4a24127c900eb5708e1071dea455cee222f59c2149dc6d7e4fb4388bc38868ad11657cdebc79679f7df659679d75f2c927e38a614987c9b2ed86ffeedcb973fdfaf5b366cd5aba74e9f7bef7bda6a6a643870ef9a5167bad68e5cc33cf3cebacb3e6ce9d0b6724491909e8ef0acbceb7afa0aaec314856ab6145952ffc61f3b92fda7b02db3226b57eac0c9e0dbb58f691291bbcf9b1e2f2122b3c4782d5817dfbb2990c114d9b3567d6c9a7ce3af9d4f193a710d1d64daff0793e398e06b6065607dedbd7dbdd75f975dff8d6fffbffdd78f33f7cfbeffefedabfb8d1299576efdce1ba4e6e70b0a7bb0b75f7b4effce5ffbe65a03febc96144b6424463274c745df7a5e7ffd075e8e0c4a9d35dd78dc5e2aeeb9efcb9050bce5eb2f0dcf3e7cc9d3790edabab6fa886557d43aabe21f587952bf82217a5d4def6f6423e3f76e224cbb60707fa7bba0e21bfaf2fb3f79d5d9148d4502781e083e17777bf83b4e338affcf1853aef7d514a31aba79f73dec273cf9f7dca69fd7d99fa86140ae0fa462eb3f0dcf34f3fe73c2e138bc77383839d073a5038db97e9edee62d93bb672459fc877902b369f3cb79e0ead786a634f496b9d7fe7e5a777b874f26c58deba71649afab34d5367cd9c3925b763ebae4c6cb0a38b5ae79f73faac66e750079145a414d90d49f63503f1fac6b4bb67c3ae2c11f5fee1d195cfbed1d9d0dae4b6af7dabab40d4fbe28b6f517d5b8bd644dec799a0e2f019d7443651fbfa1ddd5aebdd1bb7b834bc395d661b2c0d9f3273d6aca9b91d5bdb7b6356c971c819cc16d21eb7f869576f74445bb3dbbef6edcebcd63d1b37eca3e890bf28551eb8e4fc1adf2ba5545f5f1f11150a059c3b473419f8a9b8de9db8d96c96e3a5e11c3c8e0c62ee089d05bd863385d065a892cbe5223838914824a03fa199a13fd1463a9dc61c311289a04ca954725d173ea2a552a9542ac13395f705a1538da509e9d3687956248b2cdb35fc7de43b855171ebd6ad2d2d2d93264d4a2412bff9cd6fbef4a5cb94b29e7aeaa94c26b364c91222d3f8b23c475b6eb7bfbf7fddba75894462ca94295d5d5d994c461853da71707739452291c99327a395a54b975a96f5c4134f643299f3ce3b8f8d4af8443157e3c78fc7fc98bda855c5be02e6be0ae38b329665e1b674d7d5963564d3a13ad3d7c2335bd267ac6025f9f325da127fef6b5e4153b6cbef3378d09e2da92b6d05eea3eb9dc1e032aef0c8c7bc8adf7fb91ec26b004ac14ec4ab38e4efa73d5f79cc78dedcf21a114d9c7ac217967e196f6f5fa6f7d7fffeb3423ebf6fcf3be9e14dfc46f92581b12ae3e938afbfb631914c8e1e375e7b567cd3c8e6e1239b5f5eb766e9755fb72391dfdd7ff745575eed38a5958f2c4f0f1b9e4894d703b6bdbe69f8c891a3c78e632663b1f809b34f7ceda517db264c6c4ca72ddb1e3f796a22915c7ec7ff5c74c55788d4b34f3c96cdf49e71fe458c836ddb5abbcc552c1e5fb4e482958f2e7ff0f6db169f77612a3d6cefae9dab9f7c3c3dbc69c2e4a9c5623159577fffffbdf5e22baf89c6a24f3dfc20114d9b35a750c83341a3d75edfcbd385179e7d3a914c8e9b38f9f5575eee3e7470fea23350dad5eeb84953c0ea172ebfcab2ec6756fc369be95db4e442507beb8dcd4dcdcd6de327a2cc854bbf6cdb119439e3fc8bc64e9c1c8bc71fbde78ecbaefe9a655b2b96df47e2f1cb9be8fb904c6a314764b9aa2c6fb9ae96238884902ba3bcedba0e9152caf2fb8e9a7225d63f8d77d0f311d5aeab2dcbd6da21525a936d5bf85604c855e5ddee7246ab2be74364b75dfec505bf7becc5dfdebd05423a65d11767a6a9d84f64a9d4cc25f3f63dbaf2de3b8888a263cebfa875d8bea9b47afd1d77ac272b4a44efac7be5d485643b24ed48d77547ce3b7f66c7c36b1eba630d11d54fbcf4f4b1c3ade6f91d8faeffdd7deb89c86a3de7cba7595dcf91c75884a884299b22b222909af6758fb7af2322eb84b397b62855b014593a3dfbfc79fb1efefd7d7782a50b2f1963d9d9a9c369c3e3f7762fb962fe9815cced85978c49a9a679bb1f5af7bbfbd6a1992861bca4edeb6961a514b9ae16efabb9a64544e9749ae3a841071111fb7fc27c1c366c181fa267ffd24824821551e826e37c04f608cb334bece7e1b7783ccee705b1968a3b2562b1585f5f1f9f2f44ac358ebb46de77106718e17d8adb27b857d24462148c6f31f71f32542a95d8de993f7ffebdf7defbf0c30f7feb5bdfbaf6da6befbefbee3beffc0d113536365e77edb59665599622a268340afa4830d6203e67ce9caeaeae679e79e699679e21a29933679e7aeaa96885cabab988161389c435d75c73efbdf7de71c71d68e5da6bafc5c0607118d27fda69a7dd7ffffd0f3ffcf08d37de687b27aef82fb74b5a9322a54c1bd652caa9f4ac93861263c552ce5a476b576b2575aa6c97658e3c6bc0bf168f5abc8ecd5869effc165320f191e500eb9638cba5c4b91f4913f9cc069f15f3d2c47161bc9597217bd9d067aeeb968ac5f6ed6f11d1ac534e6574eaea1bc64f9eb27be78e6d5b369db6f00c228ac6a2e4d9f248cb7e319fc562b17dfb5b73172c6223008c9dba60e1aac71fcd0f0c5cf1b56f3e7acf1df7fdea974434a2a5f5d2af5c4b0aaba09fffedbdbf79f2e107aefbcb1b6d3b02dd6f59d6ac93e66e7ded95d9a79c464a69ad63f1f897aebdfed1bbef78e0d7b711514363e3957f728361bb584a9504565366ccba381a7dea91071fbdfb0e747cc689279f79c145a4542c1ebffc6bdf7862f97d8fddf71b50bbe26bdfac4fa50a9de5bbd9d0c7583ccef4cb03e76ac86aeb98b17f58f984532a11d1a225174c993eabe4946c3b822dcca5d77dfd91bb6e7ff0f6ff2913bfee1bb0a04ff9dc8247efb9f3c9871ff8936f7d17dd597ec7afb83b5892baf2fa3f7de4aedb1fbce37f8868ca8c599148472c9e604bf7c3912bc75187932b88bd9028e5b8ae52159b05817225a522f81d745d52ca751d45e46af0c3efa065c8558d7790db6534a869fad26fce1ce8eb73958a259396d69665c5c79e79fdd7c8b2ac994bae9ae516f3252b16b38988c67dfefaebe7170a148d5a4aa98243f188ba7a22c94fab6ddbae9b5cf0c5afcdcb0f14dd482c862f526cc6d957cd709c92f648b59df5cdaf5baeeb924a2cfe93af2b2257ebe89833bf71bdcab53f47d6e46baf5ba48ac588771e3431ee9c6f5caf1dc7997dfed5338bb9928ec662b622d2d4b0e08b5ffb3cbeb16d5f9951ca171c3b16b3895ca2d8cc25d7cc728b058ac5ec0acbc0e3167300171f6ecee16f26db7348f3fc4fde3ba19442ecb44c2683fb255005f1b589a8b7b737954a9177071376ee30774c2412bc5f984aa51cc751070e1c80e70ceea0479a88a0e7f82c049f4c44198e43866d45dc418832e8764f4fcf84091378bac09f7516b22103403cba7269cb9f66792ae4f3aed6f178dcb25459d72822a1f6fc72cf3a00873d23115beb21db596b52ca8211cdb285a92dc784956323357a60fed05f18b495be9a3cf660b9dabb6a60e5fd97b4aed86ea98d9551c69f5fadddc3a60d1cfcf4ab63e562e78067c65a9365d5f27d35403862ac4c913b3c563034942ae473440a0ae6fd6155c8e7b57613c9ba40acca2f05912eff9714e981817eedea48341af722e573ad62a1e0ba8ea0e6a2359f5c791dd43a5fc8fffadf7ff6a5af5edfda36363f38108dc62c617442e089486b2a16f2443a9e487aefac05c955de7b455a17f37957bbb1789931c6a490cf2965453d27f50f5daea872e095b2b4768d9295752b24caa07f9472559eaf58cab3d4b4d65ef76bc855474787295747f40e0e8d69757c5046c9de557f07c975b5fcb2f97066ac6870d7aa7b57d355d79f932c77d0e24f9389d5d0374df17cceff0ecaa7129ff2f29b525827a351a34643147928a1266ddbdeb163077c21a16b60c8c2ff93ef9470c5fd12c61d841c6b14fa0b33455e4465821611b16ec44d86e0b5542aa1746f6f2f9f35e4329869e2afe33872bfb0afaf8fa7b16ca319a0b8e2711c57e3bbaeb55bf918f95a186bf178bc1ce6db858a252eac87f6278686c4cbd19665c562f1682482a1f4b423cb04b9ded5515aeb68341a8f27f8bf4c475e2f55d12f91ef38584ba9784bb58c7f4fd8db70cba2e1cdfcc8fb3212b1a7e21024ded23e79d4b4f10c61055024b0de97d715d5e4e8c83e6a6f3197bcf26ee56c5e0ba7dff2bb211ef24aa28c6c115d60db1fb6a152e66d06923745844de8caf1adf06e08c0aa928e10b020ac0408e5d18fc563f1388f979422ef6fc537a8023dad1551241a856ad15a3b41776a2aa5c8fb82284b69a2fa86547d2ac521ecf1388eab948ac5e3894492f1149f92b2fcb09496df2922ed6a222a958adad589649d65db6c2f8ab1d05abbb1783c9e4892275e9aca6f163a084988c6e38944853f0e0ac4e209b8c988512e23e04786fc72e5bb8dddf5c543015065ce49ce2d864699c7549591a18a77aa724e867f219fae4704a84ace49b3ee11b25d49470a934c121bb942d8508402df41ad794c9913aac00aa842ea2adec10a3adea394d22ee6d0e63be8c7ca71dcf884c5575d7366fd503ceb0a3ecb58b943f600d3975a567ebd5d13137cf08640806c6bad41813f8378d9ddf2b7bd1cb91adaa4bfbf1f5a101d841f29d2d094589524ef385f7f7f3fb463b158c43a253428f6149552f08629afa220be0cbc71f090a730e163833b25500631dcd8458788104706cbb58d8d8d585a0105b7d25f4b8be5782f7fc884b1446448b9ba22d78ba55d53b9ff548ead25ca6b576be5d5e2bf449a54401cbcf2880a7f4bcc57a050e59b59a6efb1caef8512b6b965c1dcaeb0a4486c59e9a15d52ad8d2dd57243ae36cf562aad82b1e297416052f17db73cdf42ae2bfb82ba157a450d2d5696cb0b73af624cb5568a9471becaeb0bf3cf58a17b9689956975225fe3231f148bd26b5a55c54a1f3956a47c6324fb8e5759eefac8f73fa8ae36f9f1ca28715e2a50ae942aff20682aadcb66781056436d79fd52f8a45a963576c2a4645d3d7e51aa0213a2f241430f674dbadc5f4b290ac44a605853ae024ef2c81e19e52948ae8e0c2be31d24f90e324d2127437d07149665296f7fda5b9f2037a8bc21f354215743ed7aeff59022ad940dcd733ef31d540656a65cf1fffcfc3056eefbc5cab22ca5e2f58968853c577e1f0c1ee43bc8ca52caa75589a107942957bce820bfbdb66da32acefcc5e371a514eb29ac4dc26b14f334ccf95ccfaf0593343e2f081f8e743a8dd30df089810ac4197a0bf1d6a0336ddbce643270b68946a3ac3f11f31bcdf09e2266a0d96c1673479e3502eb818181f27f69486f41c260ec40e6581464192db417cf42ca36a097ef54c61b64b1965f37adb522e5594165d922cfb6926f8bf2ec41fe4c54f0ec3a4c504a80b75b50deb73068caba92a6e2e50b8f3eec7da28aef8beb6ab69bd8fe25f2d4c8105615beb8e5bfe05023df62f440d6e80bf9a4597bb6a4bf3cf7d1b3d9d90644b18a2f8e37cfaea0af94729dca45f2a12ebbe47baf14291e0af94553c21ed2ba0a563c7d1eb2f783b11a9237dfdde58ae5d39bbf525933315a727c6576b973fc2be6c1fc1bf3830adcaee3c99555b17fec4998e83b9797df1a160dd775a3b1d8c55fbea66964f3ffdfdeb52cb7712bd1c69092455bce2259259555feff93b248b92a5ac455a922455a33a606b88b337d70000c69e559d60db8a086101e8d831ef4030d8014297d2184ecfcccbe06039dde56b6bd421387b98cd4424946ab1a77322b874471c80c20d6a1d98bb0627a5ee7f379c0586dc9abd51b4aac56f84aa6a6b0b6d66e326fb04e8cdabb77f771cee93a9a7c67abf924c5bc8b5f3204e5ab4c7163492797bc7f0e2b10bff491b6ddf2af4105e83a56fe09210c83f3860f3b8a3bcd8b3c062696d2fdfdfb6cef96ef604a71f67b8dcee7336256ccef579aa68977dff2fa3f48b4e596c11068ff418ecef3bcdfefb9a0b8dfef0d9ecb5f7ffd1552d0cc70e72fe25fb0ad90cf5c23e4f86199103717a22ce6711cae364dd38f3ffee8ddce7c137ccd8cb85bb33148f98ce9fa2f7d332dcf508ba3daca9503b0b9359abb2dcebf85245a9318bf21cfa4a694905343a044cbbc884aabb2c12c961caf159acccbd5bf282f55b1f2b9c6c8bb49648f62a533518558726654ceabfad812591356ea28567e14132529a584f527eae325c679b8a32f56610a4bae4370b05666a58c554ca998ec8af7dc237895af32cdce2d350e6683d80ac4aa9d1fd70cd68c95d51fd718d8411f5d73bb937344ee89173416811927e983eb918b10b0102c31252e03617c1f7d025c9a2056412c1545bbe02b6772f67718061da9554eab19631842c9b10d4f19b259c96f3a239b054bd1eab2f5d0840b58a1026aa9c1c5e11042a28ede18b84bbf7cb4f0afc7c7c74f9f3e41491c02fd99f57b21ac52bc17682b09f1c10729967c552220fcd18ccb15ac38fad5148d09b6c690232b145624298035b72cd3761886e1dddbb76fdfbdcbff2db1da6eb73ffffcf337df7cc3bb03b92f1ead3085fbbcb9ad7ee377d3e319b293dbe54da2ebe779de22957b04cd0c879c323e27a504d9bbdd6ef7fb3dae2842dc0ecf7fa34d09a476bb1d560d638cae4dd4faa3be1b1c18c4da203fcf9e378f85d3772cf2ac779f5fe835c63377f72f7165aed30d1e951a25625353e6791e72a475c456aa941250e37ccaa14de23d305b3c84ded6c6bca2ec61f3b6d065b1d572ac29fb1b97957adfd9bde06349ea24b65e360d83ad62050236c3f05c6255e6593c1b559c9e4a05c6bb5671a7d493a2ecdf50aca29c6b9392bf1bc291da2fa7dfad107acb6d71b02b56784825fed5180956031cf297b0a2bfa1e02bbf7f40f1336f505f0000115e49444154c40822b251dbe5c43194f1b4eca362b5f00934362f8891aab10a21c6b86db0a22089319a7bf9a8d7bba734cd0b5f0d29ce69f1a0a63004f836cc849f85af40dec2634e9ee260d012ca7730c6b81986b9c44a798908e7773084f425ac369b8d5d7807f16022d5806112acaa71597f072d70960c6e44727c53130098f96a18c88a66f6fefd7b6c3e1e369bb4e030bb4721dfad81e974b3d9801be11f1a64a308c77d79a7529a7dc714e73a733a379b2d6d2fc4c347d9b39b441b4829998521986395f910fcccc95977a70cbec28552d00f88d5ecf9ab39adc16a865cb032ae4271065629a5376fde20100667a4edf77b9c23ca7b27b05ab7dfefefefef6135222e1434f3241ac4c140aec16ae4cefae3f1183e7efca892c31afbcfdcf883cd07694c19c3b7029629e46d4ae9b7df7efbe9a79fd4220c85ee53c72ff1d9bf53722f25d3c1c366aa596463d3a7338366e623c72c8bba49259ada5970254b2ac9e9eef669fd1bc94dd03a6222b8ae144b9bd57b97fd8d6ccec4f4f1fce8ac9844bec6e306406d1555f530ff125db6e8862194eb16153d0490afcaf273d1014b5baac48dfa1f0d0e8dee239daaf956f834391587e28d123cc58f2acab0adf1958f518d2dffcb9eea789115898ff2a1e9a71c6b05240973b283c43f882eac7da998b0e88bd359bf2354e1397e250fcbb74921d6b34418e67643086b38b31ebe6bfa8ac16e40a5fed6c0e8cd6df92cbfd822b489956021cf311f062b758ed2760f4b8c50f9ceaa6da4738e76df632097ce70e0759e8194d57a94af4a3c83f92a724543315e921f7e81f22d28f88d1e949ae1f3c7594e2c75edef25acd0779dbb48a7d24072cdeb4ff2662d98c4027f9f4364bed579d86d6ef62508f70ec3f0e1c3876fbffd368400e187684dacc441eedcdeded2b07b7e7ea62d48f9059d8379cc2fbd31bf9e7e59233c1c0e948238931bb5ecf77bac17ee763b785d118db3dfefe987c51a21ea3a9d4ebcd75eb9adf2fb5be3fd50299252426cd2325a925eace13591664ba654c4a199333023983ce332a0d1e321cd3d09a4932e72566faee3882cb43c17f81cad7596b1a958afcc3c4ace05854b1f9d72effba51ea594d22c315d35553e7de098d6e57db00acfa4146acdda3a1a8831b2f50a37c734157d4f17b14a8a55c31bfc369f83fced5befe90a9f70262af9ea4a0d2d7f129fb254c1871a8817398966feacc79499db769593998e98c694520843dd97b2ef999f0bb6aaf1b98e1e4ab09ee4ef1ab925518968de652023519135e713ab20ada794b8261a52aaf8ea8b585de2ab546258f0aaf3159e5592e89b7e1db19a67163a2b94724f8b7750a7abcb75a6a2ce854262d57eff2d58d5eff58295290d8a524b43c139c50cb6d4cf5850f212b902459690519f7bb14d7e1c47ec1d84e83a9d4e38238667ca20549311a466c6f5bfe7e7673d47e6783c22e4c5fc3cb5711cc3c3c303d602b1bac8fd16f44e5066824498bd6a17727d91362248fce1871fe679e6ca452a151361be7631c0c7c035f654a84829f88eb354baec533d7e858f3b89f4adbe35fff27ac873e17591e76adfa189bb86cd5516466e6b186888a9978665e963517034ddf3679bc60986626e5571d26f32064a8ffb7c065af0c5ec9cd5cf949295e9430875dfab7e95cb662bf9ab87cace6874cca54e2df202ac8a75940aabcc63b599bb94b086060262568d6fc81edd465fb69ac796e5cce493b2225ff3924f5e26fc5cf14f6eabb0812cf9025b28d7ff40036db556376dfabb183a998552e163c81d34b3b22c08b0c696254ba9bba3c1cacd8826c2ab8c2a32f17924ed1778cf4a1f80fcd7c8f9cc6029afaa4a034567392eab63bdfa0e567dd7f9a41ddffa1d1426d6b6bc9ea071f88d6d7705ab3c7699f79ab62a1ab8748ac0e6f27371b1b6e56d13b6d7ccb8ed0e3e4c73a966665889535b70bbddf2a418f37817cd0f8f28d283db972c3ee088b520eb7ce6c20f35f20cd21823642fde3ad885f4c382821002fcb390de29252ac5ba7652ada3f03ba78bdd9dfc93f3fb8f9cead2de4afe36afa102ba9a6b34bf1256d423de182f957729a92658f52b35fdada463256f927c42b3e694dce3ef0cb4a4489e18c54eb94e4fee7b3ef57159b29de5de7045899abeb06cde1ca97d543a2bdc74e2602b7c9f499b2d1e1b60554466738263fe6a7e2125837bd2ccdb62d0bb7250a63fd363e69ea56039b63bc9ca5c08c1e372510a27a4b817abcc5ff195ff5cfa3508ceda539d1aaa679d444c663a732f9bc4e604fd439f2469706434e6969467b25da6967c554efa1c538e38451dfca535cd5cd1741a82542e6d2dffb51225a57911589997641c17bf5ca62ad5f57040b32031eedf609d25da3a226b91502ba37669eca05ef0a7f68b636ace874cd7cacd4cc6d4fded8ed297b04aa179b635be2a68c8ad2f257c392c8450784db5ddea8d50889473f01d63846d1763c429a3660629088b0ba5f6fb3d241c771662b58ecfa816cb8d3883f47c3ee394ec658d90d72dc1cee3b7b921c86793bb292ec597a2ec388edf7fff3de768f296769e53e1eabfaa776995c3ae146ce7c44b45be585595c74ad9c091d676573bb5daaf2bf5fc47b0aa0cbb953a652f7ffeb6623de93f82d52be32bf1795405a2889c8e9575be6a3e017161dbed870f1fbefbee3bb5e720dbccaf1862380b24dc6a5028cbb6d9f0d9e20fcfe7c659a3b4ae580584a799ed76bba7a72748bb9b9b9bc7c747c697e2dc6d48cda7a7a75f7ef905b53d3e3ee23c3733c33a22ce6f63fae0e774e32cd3a7a7a7fbfb7bc4a93e3d3ded763b4a59c860a4230fd277bb1d3a89cb28581671adf33ce31974223fae4e44fd2c8b67548b33575116e9280e22b19f128bb7200f0ffc461e9cbcaa7d313f910e7d21fd38bb1cf4032b9e758eb6904ef23a561dab8e55c7ea9562757373f3e9d3a7b76fdf82189c531d42e01db72c855b6651274f4dc33d829082788e31227205d20a6b87f7f7f7d8418fbe9b3b382105511679c2efbfff6e6239aa14444c0e0429ed42fc449f311eb040911f821301af8f8f8fdcb491fc28a0ea9c372d6bcd4771c430638474cc90539fe917c688f29b15b208f3281bf16e61b485f1463a6958c50af9513f47b14d57acaa3ab50b2d565ab663d5b1ea5875ac5e3b56b8e37d152b088eed761b637cfffe3d0cc7d96f8fe76e42ee296cb152bf26b182d8825c8378429de1e3c78ff8c7344dd047524ac7e3f1cd9b3710a19099106f7a370564183a8ffce88606ddc05edcf841de261bf0f993b42ad12a98cd8ced4217003d78069d6cd45ccef3b661b6856ce8147407f497e41123d2334d13eb41fe0a2be0d36245db9a5571f156f32b56d44d142b3ebf042bfcec5875ac3a561dabaf01ab558174092bda708a15160215abd3e9a45841402a56f04db658f124ed55acf21a21e345cd0d384d37df5fd8ae23523741f7b8d790dfb814a992c3ad7dc9f42a8fc247c72e558f2abf0602b5f4134de6c160f3bba29ccd314ab6c5ea4a5bab6bae8a55db22d75f2f61d5f6b763d5b1ea5875ac5e1756eaa26cb10abe4750cb6a8ce8d9ef9aa8b0d27541c50a52f00a56f9ac5194c1396ca88ef6e9f97cc63e8c49227066df87818f99f1fefa1082e63c1e8fb0706f6f6f4fa79349542aed5c9c293e4dd3edededf3f3f3eded6d8c71b7db7dfefc799a2646a3a1ad10022e04467eac3b4ed3847a909f77562133ea473db85818ff3a1c0efc79381c40c36eb73b1c0ea021c68894699a5027ead96eb787c3016d6db75ba4b3ade027a6e31bf5a32f48411e62c5efd3e9a45831fdf3e7cfcfcfcf21848e55c7aa63d5b17aed5841168ee34829ab589dcfe7d1d70289d5f178447ef40ba5209b20bf4208678f6531dfd780f4fd7e4ff987fb94e6799ee7997271718daa5ca51465ac97ea08b4e1f84c31bef19375580af21c7664a523506e53d768ed42937547ea2f7ca6d673c93c6f7516a6ab8ed6ea474c67ef94fe55ac3467ab13ad6265f2b9ae4fb558b57a56c7aa63d5b1ea587dfd584dd3f412ac70d75285c324f1a28a95a657583dcb3ec22b580d26f733ddf9ed4bdcb7318e236429ca4cbef702ba0f2b1ac711321c1a01e4f6dddd1dfcb6d495b6db2dd2797fc566b3391e8fa009ba03e43ff50b7ca02b516f427c51a59b40fba02ec3742c26b31ee6399d4ed0ada01fa15dd57da843411f410da0013a4e080179903e4d137434b685fad177d510a11bf227f2547a25f42c60829cdbed16fa17f5ac8e55c7aa63d5b17a5d58ddc8b9d626fbd4cfe7b36235ca8e764887e87bd6997e3e9f51bff999a2b39f1d0339b5dd6ed1227d9394ebf07dd2475aac1156b2fd4ece1455294ab13fcb9df52af35589d06d8814d4265eec8def47a4ac661ef5835be92bd786aa46d5ff4b8da6d23ba8b6286daca7f2592b01d7b1aa3cf82d56a47015ab8a9e55ac2abda663d5b1ea5875ac5e1d5631c62f621563bc825528e3485bac265f867c0956cb1aa10e036c3b62478a4928ec425a81d023cc0c3625c42ccf7f8b31d21fbdf1bb0cf1a10f97ba03b48fd3e90485e5f9f9993a0b541bea1a546aa0cbf019da197ce5d47d9007fa08f429e82f9a4e1f3d759ce807e7e3b9f2e3e3035d091e70ea654a21f42c6a55f4efd36f3e4d13fbab58011336c4b5818e55c7aa63d5b17aed589dcf67fa1a29ccc67154ac20cc204728a4e779065626712ab0f9e02385c405b648a78c833f72f2834621cbe6799ee7b9d8474899498fb6a6273f62f4baaea13757a828bea4ef6894a9fa8ea93b683d955ea0fa0bf50e4dbfaee3685bd6f8e52b3da255caae60f547f5b21762c5521dab8e55c7aa63f5aab10a62d2bd042b6ccffb225653b906f942ac063e5136b2ff95fc84120183cfc4578bb20cd7391c0e90ffb00b41d3ecf7026b59f3fd31a18c41a2ee00e522c6c867f8b8e1478e1e52c5b250c182f8e8590a39a973698c13da52ff38751cd5b998fff6f6963a97ea56aa974de2520fb20680b21af785fe42cf62bfe8eb6759ed69c7aa63d5b1ea58bd76ac2017e823dc6c3688e73437f5187782fe221b6d3bd524605f8218ae41c216e47ae19ddf4a68125f337bcc4a787878a80284284be96f55216c665814bc2eff55f66e249a54eb674f5ee8a76e5b69d51f7e9406d547aaf4561359d59b56717809569502f512ac54bdea5875ac3a561dabff1a5694582fc78afbe5ff1c5683492c0d6c38a23fc9da2165ac9961ef4b080148312647f76a201d68eef7fbe81fd583347674f435c8711ce9e7355f47446f71be386a665b56ea08b03bcd4d7e8d17a2cd3a49ac2deb34b9bf4ab136bf5b83f5fc21acb0f7c5fc5086976035fb0734577576ac3a561dab8ed5ff0d56b03b616b8610f0fc72ac682ffe45ac8a3542ea08ac0b0fad2ea379f41c5195b7aa17987c989995afbab3e7b5509f561f69758daa1e12aff4687f2bfd486ba64e5481f0a7b1d2ee77ac3a561dab8e55c7eacf6115e41289bf8ed50065e146ee703259ff9be799fbf047bfc309cd4cbe2609b76f08619e67e83eb4eb5547e07df7e67a07f408ca703cb3adb39f1d8776a905a89f17729e65cf7e3dd5e47b4a58ffe87b16db3e422b513a350f3966f2f8a5bf82159a03c11dab8e55c7aa63d5b1fa4358716fe5df8b55787878c08fbbc6a3aab2faaef4abaa42a17a04e5368e9eb92be373ac541954e0abaed12a0b567e343f7fb27e551c48ff15c5447de556aa335fd459fe16ac98ad63d5b1ea5875ac3a5615568cacf9e7b01aacdcdb4f396c2e3391b54a4715a3e811fa99e7997147d8cb32bb7356fdd4f44713f4b194e7ec12f408faa3a19bb0ad49f69a2831d4b36e6e6ed0d628fa11f3903fe84faffa6be22bff27b0aaf4978e55c7aa63d5b1fa2f63c5f85bc4b5fe0b5885878707d2a4c29cdfc84dbf6aabcbcca5bff54a3de70b679c57f75754fe6895e7a39c713096beef9bafe03cf87f012b16ec5875ac3a561dab578a1525f15782d540bf6d75e60bad483d9fcd5c86a3e7d46be86f9de71967ca98efed0035e7f3f9ecbb264d627820c3b9c346cf32d77316b86f46cff4d33d2e38d79c679c730f8d9e07cf33f4f0b3aab33a3390e738a04e9c8f803320a669aace50e0d9807aee1f1ed8353d5782674fe09c05ee19e23e1bf4857b77b89788fb7e3a561dab8e55c7eaf5624571c5f8d81b3983f446f6a657928c6b8177727fc59d9fc78d9f559db0f95876f6f852d4b9d96c8ec7e3ff00700e65b5ff2144560000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 First, we define an application object representing our base TodoMVC app. This will contain initialization code and define the default layout regions for our app.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b TodoMVC.js:}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var TodoMVC = new Marionette.Application();\line
+\line
+TodoMVC.addRegions(\{\line
+ header : '#header',\line
+ main : '#main',\line
+ footer : '#footer'\line
+\});\line
+\line
+TodoMVC.on('initialize:after', function()\{\line
+ Backbone.history.start();\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Regions are used to manage the content that\u8217's displayed within specific elements, and the {\f1 addRegions} method on the {\f1 TodoMVC} object is just a shortcut for creating {\f1 Region} objects. We supply a jQuery selector for each region to manage (e.g., {\f1 #header}, {\f1 #main}, and {\f1 #footer}) and then tell the region to show various Backbone views within that region.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Once the application object has been initialized, we call {\f1 Backbone.history.start()} to route the initial URL.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next, we define our Layouts. A layout is a specialized type of view that directly extends {\f1 Marionette.ItemView}. This means it\u8217's intended to render a single template and may or may not have a model (or {\f1 item}) associated with the template.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 One of the main differences between a Layout and an {\f1 ItemView} is that the layout contains regions. When defining a Layout, we supply it with both a {\f1 template} and the regions that the template contains. After rendering the layout, we can display other views within the layout using the regions that were defined.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In our TodoMVC Layout module below, we define Layouts for:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Header: where we can create new Todos\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Footer: where we summarize how many Todos are remaining/have been completed\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This captures some of the view logic that was previously in our {\f1 AppView} and {\f1 TodoView}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note that Marionette modules (such as the below) offer a simple module system which is used to create privacy and encapsulation in Marionette apps. These certainly don\u8217't have to be used however, and later on in this section we\u8217'll provide links to alternative implementations using RequireJS + AMD instead.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b TodoMVC.Layout.js:}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 TodoMVC.module('Layout', function(Layout, App, Backbone, Marionette, $, _)\{\line
+\line
+ // Layout Header View\line
+ // ------------------\line
+\line
+ Layout.Header = Marionette.ItemView.extend(\{\line
+ template : '#template-header',\line
+\line
+ // UI bindings create cached attributes that\line
+ // point to jQuery selected objects\line
+ ui : \{\line
+ input : '#new-todo'\line
+ \},\line
+\line
+ events : \{\line
+ 'keypress #new-todo': 'onInputKeypress'\line
+ \},\line
+\line
+ onInputKeypress : function(evt) \{\line
+ var ENTER_KEY = 13;\line
+ var todoText = this.ui.input.val().trim();\line
+\line
+ if ( evt.which === ENTER_KEY && todoText ) \{\line
+ this.collection.create(\{\line
+ title : todoText\line
+ \});\line
+ this.ui.input.val('');\line
+ \}\line
+ \}\line
+ \});\line
+\line
+ // Layout Footer View\line
+ // ------------------\line
+ \line
+\line
+ Layout.Footer = Marionette.Layout.extend(\{\line
+ template : '#template-footer',\line
+\line
+ // UI bindings create cached attributes that\line
+ // point to jQuery selected objects\line
+ ui : \{\line
+ count : '#todo-count strong',\line
+ filters : '#filters a'\line
+ \},\line
+\line
+ events : \{\line
+ 'click #clear-completed' : 'onClearClick'\line
+ \},\line
+\line
+ initialize : function() \{\line
+ this.listenTo(App.vent, 'todoList:filter', this.updateFilterSelection);\line
+ this.listenTo(this.collection, 'all', this.updateCount);\line
+ \},\line
+\line
+ onRender : function() \{\line
+ this.updateCount();\line
+ \},\line
+\line
+ updateCount : function() \{\line
+ var count = this.collection.getActive().length;\line
+ this.ui.count.html(count);\line
+\line
+ if (count === 0) \{\line
+ this.$el.parent().hide();\line
+ \} else \{\line
+ this.$el.parent().show();\line
+ \}\line
+ \},\line
+\line
+ updateFilterSelection : function(filter) \{\line
+ this.ui.filters\line
+ .removeClass('selected')\line
+ .filter('[href="#' + filter + '"]')\line
+ .addClass('selected');\line
+ \},\line
+\line
+ onClearClick : function() \{\line
+ var completed = this.collection.getCompleted();\line
+ completed.forEach(function destroy(todo) \{\line
+ todo.destroy();\line
+ \});\line
+ \}\line
+ \});\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next, we tackle application routing and workflow, such as controlling Layouts in the page which can be shown or hidden.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Recall how Backbone routes trigger methods within the Router as shown below in our original Workspace router from our first exercise:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Workspace = Backbone.Router.extend(\{\line
+ routes:\{\line
+ '*filter': 'setFilter'\line
+ \},\line
+\line
+ setFilter: function( param ) \{\line
+ // Set the current filter to be used\line
+ window.app.TodoFilter = param.trim() || '';\line
+\line
+ // Trigger a collection filter event, causing hiding/unhiding\line
+ // of Todo view items\line
+ window.app.Todos.trigger('filter');\line
+ \}\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Marionette uses the concept of an AppRouter to simplify routing. This reduces the boilerplate for handling route events and allows routers to be configured to call methods on an object directly. We configure our AppRouter using {\f1 appRoutes} which replaces the {\f1 '*filter': 'setFilter'} route defined in our original router and invokes a method on our Controller.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The TodoList Controller, also found in this next code block, handles some of the remaining visibility logic originally found in {\f1 AppView} and {\f1 TodoView}, albeit using very readable Layouts.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b TodoMVC.TodoList.js:}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 TodoMVC.module('TodoList', function(TodoList, App, Backbone, Marionette, $, _)\{\line
+\line
+ // TodoList Router\line
+ // ---------------\line
+ //\line
+ // Handle routes to show the active vs complete todo items\line
+\line
+ TodoList.Router = Marionette.AppRouter.extend(\{\line
+ appRoutes : \{\line
+ '*filter': 'filterItems'\line
+ \}\line
+ \});\line
+\line
+ // TodoList Controller (Mediator)\line
+ // ------------------------------\line
+ //\line
+ // Control the workflow and logic that exists at the application\line
+ // level, above the implementation detail of views and models\line
+ \line
+ TodoList.Controller = function()\{\line
+ this.todoList = new App.Todos.TodoList();\line
+ \};\line
+\line
+ _.extend(TodoList.Controller.prototype, \{\line
+\line
+ // Start the app by showing the appropriate views\line
+ // and fetching the list of todo items, if there are any\line
+ start: function()\{\line
+ this.showHeader(this.todoList);\line
+ this.showFooter(this.todoList);\line
+ this.showTodoList(this.todoList);\line
+\line
+ this.todoList.fetch();\line
+ \},\line
+\line
+ showHeader: function(todoList)\{\line
+ var header = new App.Layout.Header(\{\line
+ collection: todoList\line
+ \});\line
+ App.header.show(header);\line
+ \},\line
+\line
+ showFooter: function(todoList)\{\line
+ var footer = new App.Layout.Footer(\{\line
+ collection: todoList\line
+ \});\line
+ App.footer.show(footer);\line
+ \},\line
+\line
+ showTodoList: function(todoList)\{\line
+ App.main.show(new TodoList.Views.ListView(\{\line
+ collection : todoList\line
+ \}));\line
+ \},\line
+\line
+ // Set the filter to show complete or all items\line
+ filterItems: function(filter)\{\line
+ App.vent.trigger('todoList:filter', filter.trim() || '');\line
+ \}\line
+ \});\line
+\line
+ // TodoList Initializer\line
+ // --------------------\line
+ //\line
+ // Get the TodoList up and running by initializing the mediator\line
+ // when the the application is started, pulling in all of the\line
+ // existing Todo items and displaying them.\line
+ \line
+ TodoList.addInitializer(function()\{\line
+\line
+ var controller = new TodoList.Controller();\line
+ new TodoList.Router(\{\line
+ controller: controller\line
+ \});\line
+\line
+ controller.start();\line
+\line
+ \});\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Controllers\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this particular app, note that Controllers don\u8217't add a great deal to the overall workflow. In general, Marionette\u8217's philosophy on routers is that they should be an afterthought in the implementation of applications. Quite often, we\u8217've seen developers abuse Backbone\u8217's routing system by making it the sole controller of the entire application workflow and logic.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This inevitably leads to mashing every possible combination of code into the router methods - view creation, model loading, coordinating different parts of the app, etc. Developers such as Derick view this as a violation of the {\field{\*\fldinst{HYPERLINK "http://en.wikipedia.org/wiki/Single_responsibility_principle"}}{\fldrslt{\ul
+single-responsibility principle
+}}}
+ (SRP) and separation of concerns.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone\u8217's router and history exist to deal with a specific aspect of browsers - managing the forward and back buttons. Marionette\u8217's philosophy is that it should be limited to that, with the code that gets executed by the navigation being somewhere else. This allows the application to be used with or without a router. We can call a controller\u8217's \u8220"show\u8221" method from a button click, from an application event handler, or from a router, and we will end up with the same application state no matter how we called that method.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Derick has written extensively about his thoughts on this topic, which you can read more about on his blog:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://lostechies.com/derickbailey/2011/12/27/the-responsibilities-of-the-various-pieces-of-backbone-js/"}}{\fldrslt{\ul
+http://lostechies.com/derickbailey/2011/12/27/the-responsibilities-of-the-various-pieces-of-backbone-js/
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://lostechies.com/derickbailey/2012/01/02/reducing-backbone-routers-to-nothing-more-than-configuration/"}}{\fldrslt{\ul
+http://lostechies.com/derickbailey/2012/01/02/reducing-backbone-routers-to-nothing-more-than-configuration/
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://lostechies.com/derickbailey/2012/02/06/3-stages-of-a-backbone-applications-startup/"}}{\fldrslt{\ul
+http://lostechies.com/derickbailey/2012/02/06/3-stages-of-a-backbone-applications-startup/
+}}}
+\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 CompositeView\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Our next task is defining the actual views for individual Todo items and lists of items in our TodoMVC application. For this, we make use of Marionette\u8217's {\f1 CompositeView}s. The idea behind a CompositeView is that it represents a visualization of a composite or hierarchical structure of leaves (or nodes) and branches.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Think of these views as being a hierarchy of parent-child models, and recursive by default. The same CompositeView type will be used to render each item in a collection that is handled by the composite view. For non-recursive hierarchies, we are able to override the item view by defining an {\f1 itemView} attribute.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For our Todo List Item View, we define it as an ItemView, then our Todo List View is a CompositeView where we override the {\f1 itemView} setting and tell it to use the Todo List item View for each item in the collection.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 TodoMVC.TodoList.Views.js\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 TodoMVC.module('TodoList.Views', function(Views, App, Backbone, Marionette, $, _)\{\line
+\line
+ // Todo List Item View\line
+ // -------------------\line
+ //\line
+ // Display an individual todo item, and respond to changes\line
+ // that are made to the item, including marking completed.\line
+\line
+ Views.ItemView = Marionette.ItemView.extend(\{\line
+ tagName : 'li',\line
+ template : '#template-todoItemView',\line
+\line
+ ui : \{\line
+ edit : '.edit'\line
+ \},\line
+\line
+ events : \{\line
+ 'click .destroy' : 'destroy',\line
+ 'dblclick label' : 'onEditClick',\line
+ 'keypress .edit' : 'onEditKeypress',\line
+ 'click .toggle' : 'toggle'\line
+ \},\line
+\line
+ initialize : function() \{\line
+ this.listenTo(this.model, 'change', this.render);\line
+ \},\line
+\line
+ onRender : function() \{\line
+ this.$el.removeClass('active completed');\line
+ if (this.model.get('completed')) this.$el.addClass('completed');\line
+ else this.$el.addClass('active');\line
+ \},\line
+\line
+ destroy : function() \{\line
+ this.model.destroy();\line
+ \},\line
+\line
+ toggle : function() \{\line
+ this.model.toggle().save();\line
+ \},\line
+\line
+ onEditClick : function() \{\line
+ this.$el.addClass('editing');\line
+ this.ui.edit.focus();\line
+ \},\line
+\line
+ onEditKeypress : function(evt) \{\line
+ var ENTER_KEY = 13;\line
+ var todoText = this.ui.edit.val().trim();\line
+\line
+ if ( evt.which === ENTER_KEY && todoText ) \{\line
+ this.model.set('title', todoText).save();\line
+ this.$el.removeClass('editing');\line
+ \}\line
+ \}\line
+ \});\line
+\line
+ // Item List View\line
+ // --------------\line
+ //\line
+ // Controls the rendering of the list of items, including the\line
+ // filtering of active vs completed items for display.\line
+\line
+ Views.ListView = Marionette.CompositeView.extend(\{\line
+ template : '#template-todoListCompositeView',\line
+ itemView : Views.ItemView,\line
+ itemViewContainer : '#todo-list',\line
+\line
+ ui : \{\line
+ toggle : '#toggle-all'\line
+ \},\line
+\line
+ events : \{\line
+ 'click #toggle-all' : 'onToggleAllClick'\line
+ \},\line
+\line
+ initialize : function() \{\line
+ this.listenTo(this.collection, 'all', this.update);\line
+ \},\line
+\line
+ onRender : function() \{\line
+ this.update();\line
+ \},\line
+\line
+ update : function() \{\line
+ function reduceCompleted(left, right) \{ return left && right.get('completed'); \}\line
+ var allCompleted = this.collection.reduce(reduceCompleted,true);\line
+ this.ui.toggle.prop('checked', allCompleted);\line
+\line
+ if (this.collection.length === 0) \{\line
+ this.$el.parent().hide();\line
+ \} else \{\line
+ this.$el.parent().show();\line
+ \}\line
+ \},\line
+\line
+ onToggleAllClick : function(evt) \{\line
+ var isChecked = evt.currentTarget.checked;\line
+ this.collection.each(function(todo)\{\line
+ todo.save(\{'completed': isChecked\});\line
+ \});\line
+ \}\line
+ \});\line
+\line
+ // Application Event Handlers\line
+ // --------------------------\line
+ //\line
+ // Handler for filtering the list of items by showing and\line
+ // hiding through the use of various CSS classes\line
+ \line
+ App.vent.on('todoList:filter',function(filter) \{\line
+ filter = filter || 'all';\line
+ $('#todoapp').attr('class', 'filter-' + filter);\line
+ \});\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 At the end of the last code block, you will also notice an event handler using {\f1 vent}. This is an event aggregator that allows us to handle {\f1 filterItem} triggers from our TodoList controller.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Finally, we define the model and collection for representing our Todo items. These are semantically not very different from the original versions we used in our first exercise and have been re-written to better fit in with Derick\u8217's preferred style of coding.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Todos.js:}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 TodoMVC.module('Todos', function(Todos, App, Backbone, Marionette, $, _)\{\line
+\line
+ // Todo Model\line
+ // ----------\line
+ \line
+ Todos.Todo = Backbone.Model.extend(\{\line
+ localStorage: new Backbone.LocalStorage('todos-backbone'),\line
+\line
+ defaults: \{\line
+ title : '',\line
+ completed : false,\line
+ created : 0\line
+ \},\line
+\line
+ initialize : function() \{\line
+ if (this.isNew()) this.set('created', Date.now());\line
+ \},\line
+\line
+ toggle : function() \{\line
+ return this.set('completed', !this.isCompleted());\line
+ \},\line
+\line
+ isCompleted: function() \{ \line
+ return this.get('completed'); \line
+ \}\line
+ \});\line
+\line
+ // Todo Collection\line
+ // ---------------\line
+\line
+ Todos.TodoList = Backbone.Collection.extend(\{\line
+ model: Todos.Todo,\line
+\line
+ localStorage: new Backbone.LocalStorage('todos-backbone'),\line
+\line
+ getCompleted: function() \{\line
+ return this.filter(this._isCompleted);\line
+ \},\line
+\line
+ getActive: function() \{\line
+ return this.reject(this._isCompleted);\line
+ \},\line
+\line
+ comparator: function( todo ) \{\line
+ return todo.get('created');\line
+ \},\line
+\line
+ _isCompleted: function(todo)\{\line
+ return todo.isCompleted();\line
+ \}\line
+ \});\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We finally kick-start everything off in our application index file, by calling {\f1 start} on our main application object:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Initialization:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 $(function()\{\line
+ // Start the TodoMVC app (defined in js/TodoMVC.js)\line
+ TodoMVC.start();\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 And that\u8217's it!\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Is the Marionette implementation of the Todo app more maintainable?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Derick feels that maintainability largely comes down to modularity, separating responsibilities (Single Responsibility Principle and Separation of Concerns) by using patterns to keep concerns from being mixed together. It can, however, be difficult to simply extract things into separate modules for the sake of extraction, abstraction, or dividing the concept down into its simplest parts.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The Single Responsibility Principle (SRP) tells us quite the opposite - that we need to understand the context in which things change. What parts always change together, in {\i this} system? What parts can change independently? Without knowing this, we won\u8217't know what pieces should be broken out into separate components and modules versus put together into the same module or object.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The way Derick organizes his apps into modules is by creating a breakdown of concepts at each level. A higher level module is a higher level of concern - an aggregation of responsibilities. Each responsibility is broken down into an expressive API set that is implemented by lower level modules (Dependency Inversion Principle). These are coordinated through a mediator - which he typically refers to as the Controller in a module.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The way Derick organizes his files also plays directly into maintainability and he has also written posts about the importance of keeping a sane application folder structure that I recommend reading:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://lostechies.com/derickbailey/2012/02/02/javascript-file-folder-structures-just-pick-one/"}}{\fldrslt{\ul
+http://lostechies.com/derickbailey/2012/02/02/javascript-file-folder-structures-just-pick-one/
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://hilojs.codeplex.com/discussions/362875#post869640"}}{\fldrslt{\ul
+http://hilojs.codeplex.com/discussions/362875#post869640
+}}}
+\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Marionette And Flexibility\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Marionette is a flexible framework, much like Backbone itself. It offers a wide variety of tools to help create and organize an application architecture on top of Backbone, but like Backbone itself, it doesn\u8217't dictate that you have to use all of its pieces in order to use any of them.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The flexibility and versatility in Marionette is easiest to understand by examining three variations of TodoMVC implemented with it that have been created for comparison purposes:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/jsoverson/todomvc/tree/master/labs/architecture-examples/backbone_marionette"}}{\fldrslt{\ul
+Simple
+}}}
+ - by Jarrod Overson\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/jsoverson/todomvc/tree/master/labs/dependency-examples/backbone_marionette_require"}}{\fldrslt{\ul
+RequireJS
+}}}
+ - also by Jarrod\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/derickbailey/todomvc/tree/marionette/labs/architecture-examples/backbone_marionette/js"}}{\fldrslt{\ul
+Marionette modules
+}}}
+ - by Derick Bailey\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b The simple version}: This version of TodoMVC shows some raw use of Marionette\u8217's various view types, an application object, and the event aggregator. The objects that are created are added directly to the global namespace and are fairly straightforward. This is a great example of how Marionette can be used to augment existing code without having to re-write everything around Marionette.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b The RequireJS version}: Using Marionette with RequireJS helps to create a modularized application architecture - a tremendously important concept in scaling JavaScript applications. RequireJS provides a powerful set of tools that can be leveraged to great advantage, making Marionette even more flexible than it already is.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b The Marionette module version}: RequireJS isn\u8217't the only way to create a modularized application architecture, though. For those that wish to build applications in modules and namespaces, Marionette provides a built-in module and namespacing structure. This example application takes the simple version of the application and re-writes it into a namespaced application architecture, with an application controller (mediator / workflow object) that brings all of the pieces together.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Marionette certainly provides its share of opinions on how a Backbone application should be architected. The combination of modules, view types, event aggregator, application objects, and more, can be used to create a very powerful and flexible architecture based on these opinions.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 But as you can see, Marionette isn\u8217't a completely rigid, \u8220"my way or the highway\u8221" framework. It provides many elements of an application foundation that can be mixed and matched with other architectural styles, such as AMD or namespacing, or provide simple augmentation to existing projects by reducing boilerplate code for rendering views.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This flexibility creates a much greater opportunity for Marionette to provide value to you and your projects, as it allows you to scale the use of Marionette with your application\u8217's needs.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 And So Much More\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This is just the tip of the proverbial iceberg for Marionette, even for the {\f1 ItemView} and {\f1 Region} objects that we\u8217've explored. There is far more functionality, more features, and more flexibility and customizability that can be put to use in both of these objects. Then we have the other dozen or so components that Marionette provides, each with their own set of behaviors built in, customization and extension points, and more.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To learn more about Marionette\u8217's components, the features they provide and how to use them, check out the Marionette documentation, links to the wiki, to the source code, the project core contributors, and much more at {\field{\*\fldinst{HYPERLINK "http://marionettejs.com"}}{\fldrslt{\ul
+http://marionettejs.com
+}}}
+.\par}
+{\pard \ql \f0 \sa0 \li0 \fi0 \u160?\par}
+{\pard \ql \f0 \sa0 \li0 \fi0 \u160?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Thorax\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i By Ryan Eastridge & Addy Osmani}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Part of Backbone\u8217's appeal is that it provides structure but is generally un-opinionated, in particular when it comes to views. Thorax makes an opinionated decision to use Handlebars as its templating solution. Some of the patterns found in Marionette are found in Thorax as well. Marionette exposes most of these patterns as JavaScript APIs while in Thorax they are often exposed as template helpers. This chapter assumes the reader has knowledge of Handlebars.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Thorax was created by Ryan Eastridge and Kevin Decker to create Walmart\u8217's mobile web application. This chapter is limited to Thorax\u8217's templating features and patterns implemented in Thorax that you can utilize in your application regardless of whether you choose to adopt Thorax. To learn more about other features implemented in Thorax and to download boilerplate projects visit the {\field{\*\fldinst{HYPERLINK "http://thoraxjs.org"}}{\fldrslt{\ul
+Thorax website
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Hello World\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In Backbone, when creating a new view, options passed are merged into any default options already present on a view and are exposed via {\f1 this.options} for later reference.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 Thorax.View} differs from {\f1 Backbone.View} in that there is no {\f1 options} object. All arguments passed to the constructor become properties of the view, which in turn become available to the {\f1 template}:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var view = new Thorax.View(\{\line
+ greeting: 'Hello',\line
+ template: Handlebars.compile('\{\{greeting\}\} World!')\line
+ \});\line
+ view.appendTo('body');\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In most examples in this chapter a {\f1 template} property will be specified. In larger projects including the boilerplate projects provided on the Thorax website a {\f1 name} property would instead be used and a {\f1 template} of the same file name in your project would automatically be assigned to the view.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If a {\f1 model} is set on a view, its attributes also become available to the template:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var view = new Thorax.View(\{\line
+ model: new Thorax.Model(\{key: 'value'\}),\line
+ template: Handlebars.compile('\{\{key\}\}')\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Embedding child views\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The view helper allows you to embed other views within a view. Child views can be specified as properties of the view:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var parent = new Thorax.View(\{\line
+ child: new Thorax.View(...),\line
+ template: Handlebars.compile('\{\{view child\}\}')\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Or the name of a child view to initialize as well as any optional properties you wish to pass. In this case the child view must have previously been created with {\f1 extend} and given a {\f1 name} property:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var ChildView = Thorax.View.extend(\{\line
+ name: 'child',\line
+ template: ...\line
+ \});\line
+ \line
+ var parent = new Thorax.View(\{\line
+ template: Handlebars.compile('\{\{view "child" key="value"\}\}')\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The view helper may also be used as a block helper, in which case the block will be assigned as the {\f1 template} property of the child view:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \{\{#view child\}\}\line
+ child will have this block\line
+ set as its template property\line
+ \{\{/view\}\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Handlebars is string based, while {\f1 Backbone.View} instances have a DOM {\f1 el}. Since we are mixing metaphors, the embedding of views works via a placeholder mechanism where the {\f1 view} helper in this case adds the view passed to the helper to a hash of {\f1 children}, then injects placeholder HTML into the template such as:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Then once the parent view is rendered, we walk the DOM in search of all the placeholders we created, replacing them with the child views\u8217' {\f1 el}s:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 this.$el.find('[data-view-placeholder-cid]').forEach(function(el) \{\line
+ var cid = el.getAttribute('data-view-placeholder-cid'),\line
+ view = this.children[cid];\line
+ view.render();\line
+ $(el).replaceWith(view.el);\line
+ \}, this);\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 View helpers\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 One of the most useful constructs in Thorax is {\f1 Handlebars.registerViewHelper} (not to be confused with {\f1 Handlebars.registerHelper}). This method will register a new block helper that will create and embed a {\f1 HelperView} instance with its {\f1 template} set to the captured block. A {\f1 HelperView} instance is different from that of a regular child view in that its context will be that of the parent\u8217's in the template. Like other child views it will have a {\f1 parent} property set to that of the declaring view. Many of the built-in helpers in Thorax including the {\f1 collection} helper are created in this manner.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A simple example would be an {\f1 on} helper that re-rendered the generated {\f1 HelperView} instance each time an event was triggered on the declaring / parent view:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 Handlebars.registerViewHelper('on', function(eventName, helperView) \{\line
+ helperView.parent.on(eventName, function() \{\line
+ helperView.render();\line
+ \});\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 An example use of this would be to have a counter that would increment each time a button was clicked. This example makes use of the {\f1 button} helper in Thorax which simply makes a button that calls a method when clicked:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \{\{#on "incremented"\}\}\{\{i\}\}\{/on\}\}\line
+ \{\{#button trigger="incremented"\}\}Add\{\{/button\}\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 And the corresponding view class:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 new Thorax.View(\{\line
+ events: \{\line
+ incremented: function() \{\line
+ ++this.i;\line
+ \}\line
+ \},\line
+ initialize: function() \{\line
+ this.i = 0;\line
+ \},\line
+ template: ...\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 collection helper\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The {\f1 collection} helper creates and embeds a {\f1 CollectionView} instance, creating a view for each item in a collection, updating when items are added, removed, or changed in the collection. The simplest usage of the helper would look like:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \{\{#collection kittens\}\}\line
+
\{\{name\}\}
\line
+ \{\{/collection\}\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 And the corresponding view:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 new Thorax.View(\{\line
+ kittens: new Thorax.Collection(...),\line
+ template: ...\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The block in this case will be assigned as the {\f1 template} for each item view created, and the context will be the {\f1 attributes} of the given model. This helper accepts options that can be arbitrary HTML attributes, a {\f1 tag} option to specify the type of tag containing the collection, or any of the following:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 item-template} - A template to display for each model. If a block is specified it will become the item-template\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 item-view} - A view class to use when each item view is created\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 empty-template} - A template to display when the collection is empty. If an inverse / else block is specified it will become the empty-template\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 empty-view} - A view to display when the collection is empty\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Options and blocks can be used in combination, in this case creating a {\f1 KittenView} class with a {\f1 template} set to the captured block for each kitten in the collection:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \{\{#collection kittens item-view="KittenView" tag="ul"\}\}\line
+
\{\{name\}\}
\line
+ \{\{else\}\}\line
+
No kittens!
\line
+ \{\{/collection\}\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note that multiple collections can be used per view, and collections can be nested. This is useful when there are models that contain collections that contain models that contain\u8230?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \{\{#collection kittens\}\}\line
+
\line
+ \{\{/collection\}\}\line
+ \{\{/collection\}\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Custom HTML data attributes\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Thorax makes heavy use of custom HTML data attributes to operate. While some make sense only within the context of Thorax, several are quite useful to have in any Backbone project for writing other functions against, or for general debugging. In order to add some to your views in non-Thorax projects, override the {\f1 setElement} method in your base view class:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 MyApplication.View = Backbone.View.extend(\{\line
+ setElement: function() \{\line
+ var response = Backbone.View.prototype.setElement.apply(this, arguments);\line
+ this.name && this.$el.attr('data-view-name', this.name);\line
+ this.$el.attr('data-view-cid', this.cid);\line
+ this.collection && this.$el.attr('data-collection-cid', this.collection.cid);\line
+ this.model && this.$el.attr('data-model-cid', this.model.cid);\line
+ return response;\line
+ \}\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In addition to making your application more immediately comprehensible in the inspector, it\u8217's now possible to extend jQuery / Zepto with functions to lookup the closest view, model or collection to a given element. In order to make it work you have to save references to each view created in your base view class by overriding the {\f1 _configure} method:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 MyApplication.View = Backbone.View.extend(\{\line
+ _configure: function() \{\line
+ Backbone.View.prototype._configure.apply(this, arguments);\line
+ Thorax._viewsIndexedByCid[this.cid] = this;\line
+ \},\line
+ dispose: function() \{\line
+ Backbone.View.prototype.dispose.apply(this, arguments);\line
+ delete Thorax._viewsIndexedByCid[this.cid];\line
+ \}\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Then we can extend jQuery / Zepto:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 $.fn.view = function() \{\line
+ var el = $(this).closest('[data-view-cid]');\line
+ return el && Thorax._viewsIndexedByCid[el.attr('data-view-cid')];\line
+ \};\line
+\line
+ $.fn.model = function(view) \{\line
+ var $this = $(this),\line
+ modelElement = $this.closest('[data-model-cid]'),\line
+ modelCid = modelElement && modelElement.attr('[data-model-cid]');\line
+ if (modelCid) \{\line
+ var view = $this.view();\line
+ return view && view.model;\line
+ \}\line
+ return false;\line
+ \};\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now instead of storing references to models randomly throughout your application to lookup when a given DOM event occurs you can use {\f1 $(element).model()}. In Thorax, this can particularly useful in conjunction with the {\f1 collection} helper which generates a view class (with a {\f1 model} property) for each {\f1 model} in the collection. An example template:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \{\{#collection kittens tag="ul"\}\}\line
+
\{\{name\}\}
\line
+ \{\{/collection\}\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 And the corresponding view class:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 Thorax.View.extend(\{\line
+ events: \{\line
+ 'click li': function(event) \{\line
+ var kitten = $(event.target).model();\line
+ console.log('Clicked on ' + kitten.get('name'));\line
+ \}\line
+ \},\line
+ kittens: new Thorax.Collection(...),\line
+ template: ...\line
+ \}); \par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A common anti-pattern in Backbone applications is to assign a {\f1 className} to a single view class. Consider using the {\f1 data-view-name} attribute as a CSS selector instead, saving CSS classes for things that will be used multiple times:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 [data-view-name="child"] \{\line
+\line
+ \}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Thorax Resources\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 No Backbone related tutorial would be complete without a todo application. A {\field{\*\fldinst{HYPERLINK "http://todomvc.com/labs/architecture-examples/thorax/"}}{\fldrslt{\ul
+Thorax implementation of TodoMVC
+}}}
+ is available, in addition to this far simpler example composed of this single Handlebars template:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \{\{#collection todos tag="ul"\}\}\line
+
\line
+ \line
+ \{\{item\}\}\line
+
\line
+ \{\{/collection\}\}\line
+
\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 and the corresponding JavaScript:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var todosView = Thorax.View(\{\line
+ todos: new Thorax.Collection(),\line
+ events: \{\line
+ 'change input[type="checkbox"]': function(event) \{\line
+ var target = $(event.target);\line
+ target.model().set(\{done: !!target.attr('checked')\});\line
+ \},\line
+ 'submit form': function(event) \{\line
+ event.preventDefault();\line
+ var input = this.$('input[type="text"]');\line
+ this.todos.add(\{item: input.val()\});\line
+ input.val('');\line
+ \}\line
+ \},\line
+ template: '...'\line
+ \});\line
+ todosView.appendTo('body');\par}
+{\pard \ql \f0 \sa0 \li0 \fi0 To see Thorax in action on a large scale website visit walmart.com on any Android or iOS device. For a complete list of resources visit the {\field{\*\fldinst{HYPERLINK "http://thoraxjs.org"}}{\fldrslt{\ul
+Thorax website
+}}}
+.\par}
+{\pard \ql \f0 \sa0 \li0 \fi0 \u160?\par}
+{\pard \ql \f0 \sa0 \li0 \fi0 \u160?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Common Problems & Solutions\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this section, we will review a number of common problems developers often experience once they\u8217've started to work on relatively non-trivial projects using Backbone.js, as well as present potential solutions.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Perhaps the most frequent of these questions surround how to do more with Views. If you are interested in discovering how to work with nested Views, learn about view disposal and inheritance, this section will hopefully have you covered.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Working With Nested Views\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Problem}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 What is the best approach for rendering and appending nested Views (or Subviews) in Backbone.js?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Solution 1}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Since pages are composed of nested elements and Backbone views correspond to elements within the page, nesting views is an intuitive approach to managing a hierarchy of elements.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The best way to combine views is simply using:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 this.$('.someContainer').append(innerView.el);\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 which just relies on jQuery. We could use this in a real example as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 ...\line
+initialize : function () \{ \line
+ //...\line
+\},\line
+\line
+render : function () \{\line
+\line
+ this.$el.empty();\line
+\line
+ this.innerView1 = new Subview(\{options\});\line
+ this.innerView2 = new Subview(\{options\});\line
+\line
+ this.$('.inner-view-container')\line
+ .append(this.innerView1.el)\line
+ .append(this.innerView2.el);\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Solution 2}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Beginners sometimes also try using {\f1 setElement} to solve this problem, however keep in mind that using this method is an easy way to shoot yourself in the foot. Avoid using this approach when the first solution is a viable option:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+// Where we have previously defined a View, SubView\line
+// in a parent View we could do:\line
+\line
+...\line
+initialize : function () \{\line
+\line
+ this.innerView1 = new Subview(\{options\});\line
+ this.innerView2 = new Subview(\{options\});\line
+\},\line
+\line
+render : function () \{\line
+\line
+ this.$el.html(this.template());\line
+\line
+ this.innerView1.setElement('.some-element1').render();\line
+ this.innerView2.setElement('.some-element2').render();\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Here we are creating subviews in the parent view\u8217's {\f1 initialize()} method and rendering the subviews in the parent\u8217's {\f1 render()} method. The elements managed by the subviews exist in the parent\u8217's template and the {\f1 View.setElement()} method is used to re-assign the element associated with each subview.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 setElement()} changes a view\u8217's element, including re-delegating event handlers by removing them from the old element and binding them to the new element. Note that {\f1 setElement()} returns the view, allowing us to chain the call to {\f1 render()}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This works and has some positive qualities: you don\u8217't need to worry about maintaining the order of your DOM elements when appending, views are initialized early, and the render() method doesn\u8217't need to take on too many responsibilities at once.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Unfortunately, downsides are that you can\u8217't set the {\f1 tagName} property of subviews and events need to be re-delegated. The first solution doesn\u8217't suffer from this problem.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Solution 3}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 One more possible solution to this problem could be written:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+var OuterView = Backbone.View.extend(\{\line
+ initialize: function() \{\line
+ this.inner = new InnerView();\line
+ \},\line
+\line
+ render: function() \{\line
+ this.$el.html(template); // or this.$el.empty() if you have no template\line
+ this.$el.append(this.inner.$el);\line
+ this.inner.render();\line
+ \}\line
+\});\line
+\line
+var InnerView = Backbone.View.extend(\{\line
+ render: function() \{\line
+ this.$el.html(template);\line
+ this.delegateEvents();\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This tackles a few specific design decisions:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The order in which you append the sub-elements matters\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The OuterView doesn\u8217't contain the HTML elements to be set in the InnerView(s), meaning that we can still specify tagName in the InnerView\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab render() is called after the InnerView element has been placed into the DOM. This is useful if your InnerView\u8217's render() method is sizing itself on the page based on the dimensions of another element. This is a common use case.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note that InnerView needs to call {\f1 View.delegateEvents()} to bind its event handlers to its new DOM since it is replacing the content of its element.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Solution 4}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A better solution, which is more clean but has the potential to affect performance is:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+var OuterView = Backbone.View.extend(\{\line
+ initialize: function() \{\line
+ this.render();\line
+ \},\line
+\line
+ render: function() \{\line
+ this.$el.html(template); // or this.$el.empty() if you have no template\line
+ this.inner = new InnerView();\line
+ this.$el.append(this.inner.$el);\line
+ \}\line
+\});\line
+\line
+var InnerView = Backbone.View.extend(\{\line
+ initialize: function() \{\line
+ this.render();\line
+ \},\line
+\line
+ render: function() \{\line
+ this.$el.html(template);\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If multiple views need to be nested at particular locations in a template, a hash of child views indexed by child view cids\u8217' should be created. In the template, use a custom HTML attribute named {\f1 data-view-cid} to create placeholder elements for each view to embed. Once the template has been rendered and its output appended to the parent view\u8217's {\f1 $el}, each placeholder can be queried for and replaced with the child view\u8217's {\f1 el}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A sample implementation containing a single child view could be written:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+var OuterView = Backbone.View.extend(\{\line
+ initialize: function() \{\line
+ this.children = \{\};\line
+ this.child = new Backbone.View();\line
+ this.children[this.child.cid] = this.child;\line
+ \},\line
+\line
+ render: function() \{\line
+ this.$el.html(''); \line
+ _.each(this.children, function(view, cid) \{\line
+ this.$('[data-view-cid="' + cid + '"]').replaceWith(view.el);\line
+ \}, this);\line
+ \}\line
+\};\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The use of {\f1 cid}s (client ids) here is useful because it illustrates separating a model and its views by having views referenced by their instances and not their attributes. It\u8217's quite common to ask for all views that satisfy an attribute on their models, but if you have recursive subviews or repeated views (a common occurrance), you can\u8217't simply ask for views by attributes. That is, unless you specify additional attributes that separate duplicates. Using {\f1 cid}s solves this problem as it allows for direct references to views.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Generally speaking, more developers opt for Solution 1 or 5 as:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The majority of their views may already rely on being in the DOM in their render() method\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab When the OuterView is re-rendered, views don\u8217't have to be re-initialized where re-initialization has the potential to cause memory leaks and issues with existing bindings\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The Backbone extensions {\field{\*\fldinst{HYPERLINK "#marionette"}}{\fldrslt{\ul
+Marionette
+}}}
+ and {\field{\*\fldinst{HYPERLINK "#thorax"}}{\fldrslt{\ul
+Thorax
+}}}
+ provide logic for nesting views, and rendering collections where each item has an associated view. Marionette provides APIs in JavaScript while Thorax provides APIs via Handlebars template helpers. We will examine both of these in an upcoming chapter.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 (Thanks to {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/users/299189/lukas"}}{\fldrslt{\ul
+Lukas
+}}}
+ and {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/users/154765/ian-storm-taylor"}}{\fldrslt{\ul
+Ian Taylor
+}}}
+ for these tips).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Managing Models In Nested Views\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Problem}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 What is the best way to manage models in nested views?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Solution}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In order to reach attributes on related models in a nested setup, models require some prior knowledge of each other, something which Backbone doesn\u8217't implicitly handle out of the box.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 One approach is to make sure each child model has a \u8216'parent\u8217' attribute. This way you can traverse the nesting first up to the parent and then down to any siblings that you know of. So, assuming we have models modelA, modelB and modelC:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+// When initializing modelA, I would suggest setting a link to the parent\line
+// model when doing this, like this:\line
+\line
+ModelA = Backbone.Model.extend(\{\line
+\line
+ initialize: function()\{\line
+ this.modelB = new modelB();\line
+ this.modelB.parent = this;\line
+ this.modelC = new modelC();\line
+ this.modelC.parent = this;\line
+ \}\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This allows you to reach the parent model in any child model function through {\f1 this.parent}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now, we have already discussed a few options for how to construct nested Views using Backbone. For the sake of simplicity, let us imagine that we are creating a new child view {\f1 ViewB} from within the {\f1 initialize()} method of {\f1 ViewA} below. {\f1 ViewB} can reach out over the {\f1 ViewA} model and listen out for changes on any of its nested models.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 See inline for comments on exactly what each step is enabling:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+// Define View A\line
+ViewA = Backbone.View.extend(\{\line
+\line
+ initialize: function()\{\line
+ // Create an instance of View B\line
+ this.viewB = new ViewB();\line
+\line
+ // Create a reference back to this (parent) view\line
+ this.viewB.parentView = this;\line
+\line
+ // Append ViewB to ViewA\line
+ $(this.el).append(this.viewB.el);\line
+ \}\line
+\});\line
+\line
+// Define View B\line
+ViewB = Backbone.View.extend(\{\line
+\line
+ //...,\line
+\line
+ initialize: function()\{\line
+ // Listen for changes to the nested models in our parent ViewA\line
+ this.listenTo(this.model.parent.modelB, "change", this.render);\line
+ this.listenTo(this.model.parent.modelC, "change", this.render);\line
+\line
+ // We can also call any method on our parent view if it is defined\line
+ // $(this.parentView.el).shake();\line
+ \}\line
+\line
+\});\line
+\line
+// Create an instance of ViewA with ModelA\line
+// viewA will create its own instance of ViewB\line
+// from inside the initialize() method\line
+var viewA = new ViewA(\{ model: ModelA \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Rendering A Parent View From A Child View\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Problem}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 How would one render a Parent View from one of its Children?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Solution}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In a scenario where you have a view containing another view, such as a photo gallery containing a larger view modal, you may find that you need to render or re-render the parent view from the child. The good news is that solving this problem is quite straight-forward.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The simplest solution is to just use {\f1 this.parentView.render();}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If however inversion of control is desired, events may be used to provide an equally valid solution.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Say we wish to begin rendering when a particular event has occurred. For the sake of example, let us call this event \u8216'somethingHappened\u8217'. The parent view can bind notifications on the child view to know when the event has occurred. It can then render itself.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the parent view:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // Parent initialize\line
+this.listenTo(this.childView, 'somethingHappened', this.render);\line
+\line
+// Parent removal\line
+this.stopListening(this.childView, 'somethingHappened');\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the child view:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+// After the event has occurred\line
+this.trigger('somethingHappened');\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The child will trigger a \u8220"somethingHappened\u8221" event and the parent\u8217's render function will be called.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 (Thanks to Tal {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/users/269666/tal-bereznitskey"}}{\fldrslt{\ul
+Bereznitskey
+}}}
+ for this tip)\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Disposing View Hierarchies\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Problem}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Where your application is setup with multiple Parent and Child Views, it is also common to desire removing any DOM elements associated with such views as well as unbinding any event handlers tied to child elements when you no longer require them.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Solution}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The solution in the last question should be enough to handle this use case, but if you require a more explicit example that handles children, we can see one below:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 Backbone.View.prototype.close = function() \{\line
+ if (this.onClose) \{\line
+ this.onClose();\line
+ \}\line
+ this.remove();\line
+\};\line
+\line
+NewView = Backbone.View.extend(\{\line
+ initialize: function() \{\line
+ this.childViews = [];\line
+ \},\line
+ renderChildren: function(item) \{\line
+ var itemView = new NewChildView(\{ model: item \});\line
+ $(this.el).prepend(itemView.render());\line
+ this.childViews.push(itemView);\line
+ \},\line
+ onClose: function() \{\line
+ _(this.childViews).each(function(view) \{\line
+ view.close();\line
+ \});\line
+ \}\line
+\});\line
+\line
+NewChildView = Backbone.View.extend(\{\line
+ tagName: 'li',\line
+ render: function() \{\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Here, a close() method for views is implemented which disposes of a view when it is no longer needed or needs to be reset.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In most cases, the view removal should not affect any associated models. For example, if you are working on a blogging application and you remove a view with comments, perhaps another view in your app shows a selection of comments and resetting the collection would affect those views as well.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 (Thanks to {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/users/906136/dira"}}{\fldrslt{\ul
+dira
+}}}
+ for this tip)\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note: You may also be interested in reading the about Marionette Composite Views in the Extensions part of the book.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Rendering View Hierarchies\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Problem}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let us say you have a Collection, where each item in the Collection could itself be a Collection. You can render each item in the Collection, and indeed can render any items which themselves are Collections. The problem you might have is how to render HTML that reflects the hierarchical nature of the data structure.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Solution}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The most straight-forward way to approach this problem is to use a framework like Derick Bailey\u8217's {\field{\*\fldinst{HYPERLINK "https://github.com/marionettejs/backbone.marionette"}}{\fldrslt{\ul
+Backbone.Marionette
+}}}
+. In this framework is a type of view called a CompositeView.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The basic idea of a CompositeView is that it can render a model and a collection within the same view.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 It can render a single model with a template. It can also take a collection from that model and for each model in that collection, render a view. By default it uses the same composite view type that you\u8217've defined to render each of the models in the collection. All you have to do is tell the view instance where the collection is, via the initialize method, and you\u8217'll get a recursive hierarchy rendered.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 There is a working demo of this in action available {\field{\*\fldinst{HYPERLINK "http://jsfiddle.net/derickbailey/AdWjU/"}}{\fldrslt{\ul
+online
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 And you can get the source code and documentation for {\field{\*\fldinst{HYPERLINK "https://github.com/marionettejs/backbone.marionette"}}{\fldrslt{\ul
+Marionette
+}}}
+ too.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Working With Nested Models Or Collections\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Problem}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone doesn\u8217't include support for nested models or collections out of the box, favoring the use of good patterns for modeling your structured data on the client side. How do I work around this?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Solution}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As we\u8217've seen, it\u8217's common to create collections representing groups of models using Backbone. It\u8217's also however common to wish to nest collections within models, depending on the type of application you are working on.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Take for example a Building model that contains many Room models which could sit in a Rooms collection.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You could expose a {\f1 this.rooms} collection for each building, allowing you to lazy-load rooms once a building has been opened.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Building = Backbone.Model.extend(\{\line
+\line
+ initialize: function()\{\line
+ this.rooms = new Rooms;\line
+ this.rooms.url = '/building/' + this.id + '/rooms';\line
+ this.rooms.on("reset", this.updateCounts);\line
+ \},\line
+\line
+ // ...\line
+\line
+\});\line
+\line
+// Create a new building model\line
+var townHall = new Building;\line
+\line
+// once opened, lazy-load the rooms\line
+townHall.rooms.fetch(\{reset: true\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 There are also a number of Backbone plugins which can help with nested data structures, such as {\field{\*\fldinst{HYPERLINK "https://github.com/PaulUithol/Backbone-relational"}}{\fldrslt{\ul
+Backbone Relational
+}}}
+. This plugin handles one-to-one, one-to-many and many-to-one relations between models for Backbone and has some excellent {\field{\*\fldinst{HYPERLINK "http://backbonerelational.org/"}}{\fldrslt{\ul
+documentation
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Better Model Property Validation\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Problem}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As we learned earlier in the book, the {\f1 validate} method on a Model is called by {\f1 set} (when the validate option is set) and {\f1 save}. It is passed the model attributes updated with the values passed to these methods.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 By default, when we define a custom {\f1 validate} method, Backbone passes all of a model\u8217's attributes through this validation each time, regardless of which model attributes are being set.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This means that it can be a challenge to determine which specific fields are being set or validated without being concerned about the others that aren\u8217't being set at the same time.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Solution}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To illustrate this problem better, let us look at a typical registration form use case that:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Validates form fields using the blur event\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Validates each field regardless of whether other model attributes (i.e., other form data) are valid or not.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Here is one example of a desired use case:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We have a form where a user focuses and blurs first name, last name, and email HTML input boxes without entering any data. A \u8220"this field is required\u8221" message should be presented next to each form field.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 HTML:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+\line
+ \line
+ Form Validation - Model#validate\line
+ \line
+ \line
+ \line
+\line
+\line
+ \line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Basic validation that could be written using the current Backbone {\f1 validate} method to work with this form could be implemented using something like:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 validate: function(attrs) \{\line
+\line
+ if(!attrs.firstname) return 'first name is empty';\line
+ if(!attrs.lastname) return 'last name is empty';\line
+ if(!attrs.email) return 'email is empty';\line
+\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Unfortunately, this method would trigger a {\f1 firstname} error each time any of the fields were blurred and only an error message next to the first name field would be presented.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 One potential solution to the problem is to validate all fields and return all of the errors:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 validate: function(attrs) \{\line
+ var errors = \{\};\line
+\line
+ if (!attrs.firstname) errors.firstname = 'first name is empty';\line
+ if (!attrs.lastname) errors.lastname = 'last name is empty';\line
+ if (!attrs.email) errors.email = 'email is empty';\line
+\line
+ if (!_.isEmpty(errors)) return errors;\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This can be adapted into a solution that defines a Field model for each input in our form and works within the parameters of our use case as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+$(function($) \{\line
+\line
+ var User = Backbone.Model.extend(\{\line
+ validate: function(attrs) \{\line
+ var errors = this.errors = \{\};\line
+\line
+ if (!attrs.firstname) errors.firstname = 'firstname is required';\line
+ if (!attrs.lastname) errors.lastname = 'lastname is required';\line
+ if (!attrs.email) errors.email = 'email is required';\line
+\line
+ if (!_.isEmpty(errors)) return errors;\line
+ \}\line
+ \});\line
+\line
+ var Field = Backbone.View.extend(\{\line
+ events: \{blur: 'validate'\},\line
+ initialize: function() \{\line
+ this.name = this.$el.attr('name');\line
+ this.$msg = $('[data-msg=' + this.name + ']');\line
+ \},\line
+ validate: function() \{\line
+ this.model.set(this.name, this.$el.val(), \{validate: true\});\line
+ this.$msg.text(this.model.errors[this.name] || '');\line
+ \}\line
+ \});\line
+\line
+ var user = new User;\line
+\line
+ $('input').each(function() \{\line
+ new Field(\{el: this, model: user\});\line
+ \});\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This works fine as the solution checks the validation for each attribute individually and sets the message for the correct blurred field. A {\field{\*\fldinst{HYPERLINK "http://jsbin.com/afetez/2/edit"}}{\fldrslt{\ul
+demo
+}}}
+ of the above by {\field{\*\fldinst{HYPERLINK "http://github.com/braddunbar"}}{\fldrslt{\ul
+@braddunbar
+}}}
+ is also available.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Unfortunately, this solution does perform validation on all fields every time, even though we are only displaying errors for the field that has changed. If we have multiple client-side validation methods, we may not want to have to call each validation method on every attribute every time, so this solution might not be ideal for everyone.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs20 Backbone.validateAll\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A potentially better alternative to the above is to use {\field{\*\fldinst{HYPERLINK "http://github.com/@franko"}}{\fldrslt{\ul
+@gfranko
+}}}
+\u8217's {\field{\*\fldinst{HYPERLINK "https://github.com/gfranko/Backbone.validateAll"}}{\fldrslt{\ul
+Backbone.validateAll
+}}}
+ plugin, specifically created to validate specific Model properties (or form fields) without worrying about the validation of any other Model properties (or form fields).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Here is how we would setup a partial User Model and validate method using this plugin for our use case:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+// Create a new User Model\line
+var User = Backbone.Model.extend(\{\line
+\line
+ // RegEx Patterns\line
+ patterns: \{\line
+\line
+ specialCharacters: '[^a-zA-Z 0-9]+',\line
+\line
+ digits: '[0-9]',\line
+\line
+ email: '^[a-zA-Z0-9._-]+@[a-zA-Z0-9][a-zA-Z0-9.-]*[.]\{1\}[a-zA-Z]\{2,6\}$'\line
+ \},\line
+\line
+ // Validators\line
+ validators: \{\line
+\line
+ minLength: function(value, minLength) \{\line
+ return value.length >= minLength;\line
+\line
+ \},\line
+\line
+ maxLength: function(value, maxLength) \{\line
+ return value.length <= maxLength;\line
+\line
+ \},\line
+\line
+ isEmail: function(value) \{\line
+ return User.prototype.validators.pattern(value, User.prototype.patterns.email);\line
+\line
+ \},\line
+\line
+ hasSpecialCharacter: function(value) \{\line
+ return User.prototype.validators.pattern(value, User.prototype.patterns.specialCharacters);\line
+\line
+ \},\line
+ ...\line
+\line
+ // We can determine which properties are getting validated by\line
+ // checking to see if properties are equal to null\line
+\line
+ validate: function(attrs) \{\line
+\line
+ var errors = this.errors = \{\};\line
+\line
+ if(attrs.firstname != null) \{\line
+ if (!attrs.firstname) \{\line
+ errors.firstname = 'firstname is required';\line
+ console.log('first name isEmpty validation called');\line
+ \}\line
+\line
+ else if(!this.validators.minLength(attrs.firstname, 2))\line
+ errors.firstname = 'firstname is too short';\line
+ else if(!this.validators.maxLength(attrs.firstname, 15))\line
+ errors.firstname = 'firstname is too large';\line
+ else if(this.validators.hasSpecialCharacter(attrs.firstname)) errors.firstname = 'firstname cannot contain special characters';\line
+ \}\line
+\line
+ if(attrs.lastname != null) \{\line
+\line
+ if (!attrs.lastname) \{\line
+ errors.lastname = 'lastname is required';\line
+ console.log('last name isEmpty validation called');\line
+ \}\line
+\line
+ else if(!this.validators.minLength(attrs.lastname, 2))\line
+ errors.lastname = 'lastname is too short';\line
+ else if(!this.validators.maxLength(attrs.lastname, 15))\line
+ errors.lastname = 'lastname is too large';\line
+ else if(this.validators.hasSpecialCharacter(attrs.lastname)) errors.lastname = 'lastname cannot contain special characters';\line
+\line
+ \}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This allows the logic inside of our validate methods to determine which form fields are currently being set/validated, and ignore the model properties that are not being set.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 It\u8217's fairly straight-forward to use as well. We can simply define a new Model instance and then set the data on our model using the {\f1 validateAll} option to use the behavior defined by the plugin:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var user = new User();\line
+user.set(\{ 'firstname': 'Greg' \}, \{validate: true, validateAll: false\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 That\u8217's it. The Backbone.validateAll logic doesn\u8217't override the default Backbone logic by default and so it\u8217's perfectly capable of being used for scenarios where you might care more about field-validation {\field{\*\fldinst{HYPERLINK "http://jsperf.com/backbone-validateall"}}{\fldrslt{\ul
+performance
+}}}
+ as well as those where you don\u8217't. Both solutions presented in this section should work fine however.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs20 Backbone.Validation\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As we\u8217've seen, the {\f1 validate} method Backbone offers is {\f1 undefined} by default and you need to override it with your own custom validation logic to get model validation in place. Often developers run into the issue of implementing this validation as nested ifs and elses, which can become unmaintainable when things get complicated.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Another helpful plugin for Backbone called {\field{\*\fldinst{HYPERLINK "https://github.com/thedersen/backbone.validation"}}{\fldrslt{\ul
+Backbone.Validation
+}}}
+ attempts to solve this problem by offering an extensible way to declare validation rules on the model and overrides the {\f1 validate} method behind the scenes.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 One of the useful methods this plugin includes is (pseudo) live validation via a {\f1 preValidate} method. This can be used to check on key-press if the input for a model is valid without changing the model itself. You can run any validators for a model attribute by calling the {\f1 preValidate} method, passing it the name of the attribute along with the value you would like validated.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // If the value of the attribute is invalid, a truthy error message is returned\line
+// if not, it returns a falsy value\line
+\line
+var errorMsg = user.preValidate('firstname', 'Greg');\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs20 Form-specific validation classes\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 That said, the most optimal solution to this problem may not be to stick validation in your model attributes. Instead, you could have a function specifically designed for validating a specific form and there are many good JavaScript form validation libraries out there that can help with this.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you want to stick it on your model, you can also make it a class function:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 User.validate = function(formElement) \{\line
+ //...\line
+\};\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For more information on validation plugins available for Backbone, see the {\field{\*\fldinst{HYPERLINK "https://github.com/documentcloud/backbone/wiki/Extensions%2C-Plugins%2C-Resources#model"}}{\fldrslt{\ul
+Backbone wiki
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Avoiding Conflicts With Multiple Backbone Versions\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Problem}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In instances out of your control, you may have to work around having more than one version of Backbone in the same page. How do you work around this without causing conflicts?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Solution}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Like most client-side projects, Backbone\u8217's code is wrapped in an immediately-invoked function expression:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 (function()\{\line
+ // Backbone.js\line
+\}).call(this);\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Several things happen during this configuration stage. A Backbone {\f1 namespace} is created, and multiple versions of Backbone on the same page are supported through the noConflict mode:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var root = this;\line
+var previousBackbone = root.Backbone;\line
+\line
+Backbone.noConflict = function() \{\line
+ root.Backbone = previousBackbone;\line
+ return this;\line
+\};\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Multiple versions of Backbone can be used on the same page by calling {\f1 noConflict} like this:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Backbone19 = Backbone.noConflict();\line
+// Backbone19 refers to the most recently loaded version,\line
+// and `window.Backbone` will be restored to the previously\line
+// loaded version\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Building Model And View Hierarchies\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Problem}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 How does inheritence work with Backbone? How can I share code between similar models and views? How can I call methods that have been overridden?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Solution}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For its inheritance, Backbone internally uses an {\f1 inherits} function inspired by {\f1 goog.inherits}, Google\u8217's implementation from the Closure Library. It\u8217's basically a function to correctly setup the prototype chain.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var inherits = function(parent, protoProps, staticProps) \{\line
+ ...\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The only major difference here is that Backbone\u8217's API accepts two objects containing {\f1 instance} and {\f1 static} methods.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Following on from this, for inheritance purposes all of Backbone\u8217's objects contain an {\f1 extend} method as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 Model.extend = Collection.extend = Router.extend = View.extend = extend;\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Most development with Backbone is based around inheriting from these objects, and they\u8217're designed to mimic a classical object-oriented implementation.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The above isn\u8217't quite the same as ECMAScript 5\u8217's {\f1 Object.create}, as it\u8217's actually copying properties (methods and values) from one object to another. As this isn\u8217't enough to support Backbone\u8217's inheritance and class model, the following steps are performed:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The instance methods are checked to see if there\u8217's a constructor property. If so, the class\u8217's constructor is used, otherwise the parent\u8217's constructor is used (i.e., Backbone.Model)\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Underscore\u8217's extend method is called to add the parent class\u8217's methods to the new child class\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The {\f1 prototype} property of a blank constructor function is assigned with the parent\u8217's prototype, and a new instance of this is set to the child\u8217's {\f1 prototype} property\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Underscore\u8217's extend method is called twice to add the static and instance methods to the child class\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The child\u8217's prototype\u8217's constructor and a {\f1 __super__} property are assigned\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab This pattern is also used for classes in CoffeeScript, so Backbone classes are compatible with CoffeeScript classes.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 extend} can be used for a great deal more and developers who are fans of mixins will like that it can be used for this too. You can define functionality on any custom object, and then quite literally copy & paste all of the methods and attributes from that object to a Backbone one:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For example:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var MyMixin = \{\line
+ foo: 'bar',\line
+ sayFoo: function()\{alert(this.foo);\}\line
+\};\line
+\line
+var MyView = Backbone.View.extend(\{\line
+ // ...\line
+\});\line
+\line
+_.extend(MyView.prototype, MyMixin);\line
+\line
+var myView = new MyView();\line
+myView.sayFoo(); //=> 'bar'\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We can take this further and also apply it to View inheritance. The following is an example of how to extend one View using another:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Panel = Backbone.View.extend(\{\line
+\});\line
+\line
+var PanelAdvanced = Panel.extend(\{\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Calling Overridden Methods}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 However, if you have an {\f1 initialize()} method in Panel, then it won\u8217't be called if you also have an {\f1 initialize()} method in PanelAdvanced, so you would have to call Panel\u8217's initialize method explicitly:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Panel = Backbone.View.extend(\{\line
+ initialize: function(options)\{\line
+ console.log('Panel initialized');\line
+ this.foo = 'bar';\line
+ \}\line
+\});\line
+\line
+var PanelAdvanced = Panel.extend(\{\line
+ initialize: function(options)\{\line
+ Panel.prototype.initialize.call(this, [options]);\line
+ console.log('PanelAdvanced initialized');\line
+ console.log(this.foo); // Log: bar\line
+ \}\line
+\});\line
+\line
+// We can also inherit PanelAdvaned if needed\line
+var PanelAdvancedExtra = PanelAdvanced.extend(\{\line
+ initialize: function(options)\{\line
+ PanelAdvanced.prototype.initialize.call(this, [options]);\line
+ console.log('PanelAdvancedExtra initialized');\line
+ \}\line
+\});\line
+\line
+new Panel();\line
+new PanelAdvanced();\line
+new PanelAdvancedExtra();\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This isn\u8217't the most elegant of solutions because if you have a lot of Views that inherit from Panel, then you\u8217'll have to remember to call Panel\u8217's initialize from all of them.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 It\u8217's worth noting that if Panel doesn\u8217't have an initialize method now but you choose to add it in the future, then you\u8217'll need to go to all of the inherited classes in the future and make sure they call Panel\u8217's initialize.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 So here\u8217's an alternative way to define Panel so that your inherited views don\u8217't need to call Panel\u8217's initialize method:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Panel = function (options) \{\line
+ // put all of Panel's initialization code here\line
+ console.log('Panel initialized');\line
+ this.foo = 'bar';\line
+\line
+ Backbone.View.apply(this, [options]);\line
+\};\line
+\line
+_.extend(Panel.prototype, Backbone.View.prototype, \{\line
+ // put all of Panel's methods here. For example:\line
+ sayHi: function () \{\line
+ console.log('hello from Panel');\line
+ \}\line
+\});\line
+\line
+Panel.extend = Backbone.View.extend;\line
+\line
+// other classes then inherit from Panel like this:\line
+var PanelAdvanced = Panel.extend(\{\line
+ initialize: function (options) \{\line
+ console.log('PanelAdvanced initialized');\line
+ console.log(this.foo);\line
+ \}\line
+\});\line
+\line
+var panelAdvanced = new PanelAdvanced(); //Logs: Panel initialized, PanelAdvanced initialized, bar\line
+panelAdvanced.sayHi(); // Logs: hello from Panel\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When used appropriately, Underscore\u8217's {\f1 extend} method can save a great deal of time and effort writing redundant code.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 (Thanks to {\field{\*\fldinst{HYPERLINK "http://dailyjs.com"}}{\fldrslt{\ul
+Alex Young
+}}}
+, {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/users/93448/derick-bailey"}}{\fldrslt{\ul
+Derick Bailey
+}}}
+ and {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/users/188740/johnnyo"}}{\fldrslt{\ul
+JohnnyO
+}}}
+ for the heads up about these tips).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Backbone-Super}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "https://github.com/lukasolson/Backbone-Super"}}{\fldrslt{\ul
+Backbone-Super
+}}}
+ by Lukas Olson adds a {\i _super} method to {\i Backbone.Model} using {\field{\*\fldinst{HYPERLINK "http://ejohn.org/blog/simple-javascript-inheritance/"}}{\fldrslt{\ul
+John Resig\u8217's Inheritance script
+}}}
+. Rather than using Backbone.Model.prototype.set.call as per the Backbone.js documentation, _super can be called instead:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // This is how we normally do it\line
+var OldFashionedNote = Backbone.Model.extend(\{\line
+ set: function(attributes, options) \{\line
+ // Call parent's method\line
+ Backbone.Model.prototype.set.call(this, attributes, options);\line
+ // some custom code here\line
+ // ...\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 After including this plugin, you can do the same thing with the following syntax:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // This is how we can do it after using the Backbone-super plugin\line
+var Note = Backbone.Model.extend(\{\line
+ set: function(attributes, options) \{\line
+ // Call parent's method\line
+ this._super(attributes, options);\line
+ // some custom code here\line
+ // ...\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Event Aggregators And Mediators\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Problem}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 How do I channel multiple event sources through a single object?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Solution}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Using an Event Aggregator. It\u8217's common for developers to think of Mediators when faced with this problem, so let\u8217's explore what an Event Aggregator is, what the Mediator pattern is and how they differ.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Design patterns often differ only in semantics and intent. That is, the language used to describe the pattern is what sets it apart, more than an implementation of that specific pattern. It often comes down to squares vs rectangles vs polygons. You can create the same end result with all three, given the constraints of a square are still met \u8211- or you can use polygons to create an infinitely larger and more complex set of things.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When it comes to the Mediator and Event Aggregator patterns, there are some times where it may look like the patterns are interchangeable due to implementation similarities. However, the semantics and intent of these patterns are very different. And even if the implementations both use some of the same core constructs, I believe there is a distinct difference between them. I also believe they should not be interchanged or confused in communication because of the differences.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs20 Event Aggregator\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The core idea of the Event Aggregator, according to Martin Fowler, is to channel multiple event sources through a single object so that other objects needing to subscribe to the events don\u8217't need to know about every event source.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs16 Backbone\u8217's Event Aggregator\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The easiest event aggregator to show is that of Backbone.js \u8211- it\u8217's built into the Backbone object directly.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var View1 = Backbone.View.extend(\{\line
+ // ...\line
+\line
+ events: \{\line
+ "click .foo": "doIt"\line
+ \},\line
+\line
+ doIt: function()\{\line
+ // trigger an event through the event aggregator\line
+ Backbone.trigger("some:event");\line
+ \}\line
+\});\line
+\line
+var View2 = Backbone.View.extend(\{\line
+ // ...\line
+\line
+ initialize: function()\{\line
+ // subscribe to the event aggregator's event\line
+ Backbone.on("some:event", this.doStuff, this);\line
+ \},\line
+\line
+ doStuff: function()\{\line
+ // ...\line
+ \}\line
+\})\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this example, the first view is triggering an event when a DOM element is clicked. The event is triggered through Backbone\u8217's built-in event aggregator \u8211- the Backbone object. Of course, it\u8217's trivial to create your own event aggregator in Backbone, and there are some key things that we need to keep in mind when using an event aggregator, to keep our code simple.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs12 jQuery\u8217's Event Aggregator\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Did you know that jQuery has a built-in event aggregator? They don\u8217't call it this, but it\u8217's in there and it\u8217's scoped to DOM events. It also happens to look like Backbone\u8217's event aggregator:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 $("#mainArticle").on("click", function(e)\{\line
+\line
+ // handle click event on any element underneath our #mainArticle element\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This code sets up an event handler function that waits for an unknown number of event sources to trigger a \u8220"click\u8221" event, and it allows any number of listeners to attach to the events of those event publishers. jQuery just happens to scope this event aggregator to the DOM.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs20 Mediator\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A Mediator is an object that coordinates interactions (logic and behavior) between multiple objects. It makes decisions on when to call which objects, based on the actions (or inaction) of other objects and input.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b A Mediator For Backbone}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone doesn\u8217't have the idea of a mediator built into it like a lot of other MV* frameworks do. But that doesn\u8217't mean you can\u8217't write one using a single line of code:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var mediator = \{\};\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Yes, of course this is just an object literal in JavaScript. Once again, we\u8217're talking about semantics here. The purpose of the mediator is to control the workflow between objects and we really don\u8217't need anything more than an object literal to do this.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var orgChart = \{\line
+\line
+ addNewEmployee: function()\{\line
+\line
+ // getEmployeeDetail provides a view that users interact with\line
+ var employeeDetail = this.getEmployeeDetail();\line
+\line
+ // when the employee detail is complete, the mediator (the 'orgchart' object)\line
+ // decides what should happen next\line
+ employeeDetail.on("complete", function(employee)\{\line
+\line
+ // set up additional objects that have additional events, which are used\line
+ // by the mediator to do additional things\line
+ var managerSelector = this.selectManager(employee);\line
+ managerSelector.on("save", function(employee)\{\line
+ employee.save();\line
+ \});\line
+\line
+ \});\line
+ \},\line
+\line
+ // ...\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This example shows a very basic implementation of a mediator object with Backbone-based objects that can trigger and subscribe to events. I\u8217've often referred to this type of object as a \u8220"workflow\u8221" object in the past, but the truth is that it is a mediator. It is an object that handles the workflow between many other objects, aggregating the responsibility of that workflow knowledge into a single object. The result is workflow that is easier to understand and maintain.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs20 Similarities And Differences\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 There are, without a doubt, similarities between the event aggregator and mediator examples that I\u8217've shown here. The similarities boil down to two primary items: events and third-party objects. These differences are superficial at best, though. When we dig into the intent of the pattern and see that the implementations can be dramatically different, the nature of the patterns become more apparent.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs16 Events\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Both the event aggregator and mediator use events, in the above examples. An event aggregator obviously deals with events \u8211- it\u8217's in the name after all. The mediator only uses events because it makes life easy when dealing with Backbone, though. There is nothing that says a mediator must be built with events. You can build a mediator with callback methods, by handing the mediator reference to the child object, or by any of a number of other means.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The difference, then, is why these two patterns are both using events. The event aggregator, as a pattern, is designed to deal with events. The mediator, though, only uses them because it\u8217's convenient.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs16 Third-Party Objects\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Both the event aggregator and mediator, by design, use a third-party object to facilitate things. The event aggregator itself is a third-party to the event publisher and the event subscriber. It acts as a central hub for events to pass through. The mediator is also a third party to other objects, though. So where is the difference? Why don\u8217't we call an event aggregator a mediator? The answer largely comes down to where the application logic and workflow is coded.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the case of an event aggregator, the third party object is there only to facilitate the pass-through of events from an unknown number of sources to an unknown number of handlers. All workflow and business logic that needs to be kicked off is put directly into the the object that triggers the events and the objects that handle the events.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the case of the mediator, though, the business logic and workflow is aggregated into the mediator itself. The mediator decides when an object should have it\u8217's methods called and attributes updated based on factors that the mediator knows about. It encapsulates the workflow and process, coordinating multiple objects to produce the desired system behaviour. The individual objects involved in this workflow each know how to perform their own task. But it\u8217's the mediator that tells the objects when to perform the tasks by making decisions at a higher level than the individual objects.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 An event aggregator facilitates a \u8220"fire and forget\u8221" model of communication. The object triggering the event doesn\u8217't care if there are any subscribers. It just fires the event and moves on. A mediator, though, might use events to make decisions, but it is definitely not \u8220"fire and forget\u8221". A mediator pays attention to a known set of input or activities so that it can facilitate and coordinate additional behavior with a known set of actors (objects).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs20 Relationships: When To Use Which\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Understanding the similarities and differences between an event aggregator and mediator is important for semantic reasons. It\u8217's equally as important to understand when to use which pattern, though. The basic semantics and intent of the patterns does inform the question of when, but actual experience in using the patterns will help you understand the more subtle points and nuanced decisions that have to be made.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs16 Event Aggregator Use\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In general, an event aggregator is used when you either have too many objects to listen to directly, or you have objects that are entirely unrelated.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When two objects have a direct relationship already \u8211- say, a parent view and child view \u8211- then there might be little benefit in using an event aggregator. Have the child view trigger an event and the parent view can handle the event. This is most commonly seen in Backbone\u8217's Collection and Model, where all Model events are bubbled up to and through it\u8217's parent Collection. A Collection often uses model events to modify the state of itself or other models. Handling \u8220"selected\u8221" items in a collection is a good example of this.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 jQuery\u8217's on method as an event aggregator is a great example of too many objects to listen to. If you have 10, 20 or 200 DOM elements that can trigger a \u8220"click\u8221" event, it might be a bad idea to set up a listener on all of them individually. This could quickly deteriorate performance of the application and user experience. Instead, using jQuery\u8217's on method allows us to aggregate all of the events and reduce the overhead of 10, 20, or 200 event handlers down to 1.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Indirect relationships are also a great time to use event aggregators. In Backbone applications, it is very common to have multiple view objects that need to communicate, but have no direct relationship. For example, a menu system might have a view that handles the menu item clicks. But we don\u8217't want the menu to be directly tied to the content views that show all of the details and information when a menu item is clicked. Having the content and menu coupled together would make the code very difficult to maintain, in the long run. Instead, we can use an event aggregator to trigger \u8220"menu:click:foo\u8221" events, and have a \u8220"foo\u8221" object handle the click event to show it\u8217's content on the screen.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs16 Mediator Use\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A mediator is best applied when two or more objects have an indirect working relationship, and business logic or workflow needs to dictate the interactions and coordination of these objects.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A wizard interface is a good example of this, as shown with the \u8220"orgChart\u8221" example, above. There are multiple views that facilitate the entire workflow of the wizard. Rather than tightly coupling the view together by having them reference each other directly, we can decouple them and more explicitly model the workflow between them by introducing a mediator.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The mediator extracts the workflow from the implementation details and creates a more natural abstraction at a higher level, showing us at a much faster glance what that workflow is. We no longer have to dig into the details of each view in the workflow, to see what the workflow actually is.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs20 Event Aggregator And Mediator Together\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The crux of the difference between an event aggregator and a mediator, and why these pattern names should not be interchanged with each other, is illustrated best by showing how they can be used together. The menu example for an event aggregator is the perfect place to introduce a mediator as well.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Clicking a menu item may trigger a series of changes throughout an application. Some of these changes will be independent of others, and using an event aggregator for this makes sense. Some of these changes may be internally related to each other, though, and may use a mediator to enact those changes. A mediator, then, could be set up to listen to the event aggregator. It could run it\u8217's logic and process to facilitate and coordinate many objects that are related to each other, but unrelated to the original event source.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var MenuItem = Backbone.View.extend(\{\line
+\line
+ events: \{\line
+ "click .thatThing": "clickedIt"\line
+ \},\line
+\line
+ clickedIt: function(e)\{\line
+ e.preventDefault();\line
+\line
+ // assume this triggers "menu:click:foo"\line
+ Backbone.trigger("menu:click:" + this.model.get("name"));\line
+ \}\line
+\line
+\});\line
+\line
+// ... somewhere else in the app\line
+\line
+var MyWorkflow = function()\{\line
+ Backbone.on("menu:click:foo", this.doStuff, this);\line
+\};\line
+\line
+MyWorkflow.prototype.doStuff = function()\{\line
+ // instantiate multiple objects here.\line
+ // set up event handlers for those objects.\line
+ // coordinate all of the objects into a meaningful workflow.\line
+\};\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this example, when the MenuItem with the right model is clicked, the {\f1 \u8220"menu:click:foo\u8221"} event will be triggered. An instance of the \u8220"MyWorkflow\u8221" object, assuming one is already instantiated, will handle this specific event and will coordinate all of the objects that it knows about, to create the desired user experience and workflow.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 An event aggregator and a mediator have been combined to create a much more meaningful experience in both the code and the application itself. We now have a clean separation between the menu and the workflow through an event aggregator and we are still keeping the workflow itself clean and maintainable through the use of a mediator.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs20 Pattern Language: Semantics\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 There is one overriding point to make in all of this discussion: semantics. Communicating intent and semantics through the use of named patterns is only viable and only valid when all parties in a communication medium understand the language in the same way.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If I say \u8220"apple\u8221", what am I talking about? Am I talking about a fruit? Or am I talking about a technology and consumer products company? As Sharon Cichelli says: \u8220"semantics will continue to be important, until we learn how to communicate in something other than language\u8221".\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Modular Development\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Introduction\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When we say an application is modular, we generally mean it\u8217's composed of a set of highly decoupled, distinct pieces of functionality stored in modules. As you probably know, loose coupling facilitates easier maintainability of apps by removing dependencies where possible. When this is implemented efficiently, it\u8217's quite easy to see how changes to one part of a system may affect another.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Unlike some more traditional programming languages, the current iteration of JavaScript (ECMA-262) doesn\u8217't provide developers with the means to import such modules of code in a clean, organized manner.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Instead, developers are left to fall back on variations of the module or object literal patterns combined with script tags or a script loader. With many of these, module scripts are strung together in the DOM with namespaces being described by a single global object where it\u8217's still possible to have name collisions. There\u8217's also no clean way to handle dependency management without some manual effort or third party tools.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Whilst native solutions to these problems may be arriving via {\field{\*\fldinst{HYPERLINK "http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts"}}{\fldrslt{\ul
+ES6
+}}}
+ (the next version of the official JavaScript specification) {\field{\*\fldinst{HYPERLINK "http://wiki.ecmascript.org/doku.php?id=harmony:modules"}}{\fldrslt{\ul
+modules proposal
+}}}
+, the good news is that writing modular JavaScript has never been easier and you can start doing it today.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this next part of the book, we\u8217're going to look at how to use AMD modules and RequireJS to cleanly wrap units of code in your application into manageable modules. We\u8217'll also cover an alternate approach called Lumbar which uses routes to determine when modules are loaded.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Organizing modules with RequireJS and AMD\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Partly Contributed by {\field{\*\fldinst{HYPERLINK "https://github.com/jackfranklin"}}{\fldrslt{\ul
+Jack Franklin
+}}}
+}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "http://requirejs.org"}}{\fldrslt{\ul
+RequireJS
+}}}
+ is a popular script loader written by James Burke - a developer who has been quite instrumental in helping shape the AMD module format, which we\u8217'll discuss shortly. Amongst other things RequireJS helps you to load multiple script files, define modules with or without dependencies, and load in non-script dependencies such as text files.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Maintainability problems with multiple script files\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You might be thinking that there is little benefit to RequireJS. After all, you can simply load in your JavaScript files through multiple {\f1 \par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now, RequireJS will automatically load {\f1 app.js} for you.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 RequireJS Configuration\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the main JavaScript file that you load with the {\f1 data-main} attribute you can configure how RequireJS loads the rest of your application. This is done by calling {\f1 require.config}, and passing in an object:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 require.config(\{\line
+ // your configuration key/values here\line
+ baseUrl: "app", // generally the same directory as the script used in a data-main attribute for the top level script\line
+ paths: \{\}, // set up custom paths to libraries, or paths to RequireJS plugins\line
+ shim: \{\}, // used for setting up all Shims (see below for more detail)\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The main reason you\u8217'd want to configure RequireJS is to add shims, which we\u8217'll cover next. To see other configuration options available to you, I recommend checking out the {\field{\*\fldinst{HYPERLINK "http://requirejs.org/docs/api.html#config"}}{\fldrslt{\ul
+RequireJS documentation
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs20 RequireJS Shims\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Ideally, each library that we use with RequireJS will come with AMD support. That is, it uses the {\f1 define} method to define the library as a module. However, some libraries - including Backbone and one of its dependencies, Underscore - don\u8217't do this. Fortunately RequireJS comes with a way to work around this.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To demonstrate this, first let\u8217's shim Underscore, and then we\u8217'll shim Backbone too. Shims are very simple to implement:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 require.config(\{\line
+ shim: \{\line
+ 'lib/underscore': \{\line
+ exports: '_'\line
+ \}\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note that when specifying paths for RequireJS you should omit the {\f1 .js} from the end of script names.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The important line here is {\f1 exports: '_'}. This line tells RequireJS that the script in {\f1 'lib/underscore.js'} creates a global variable called {\f1 _} instead of defining a module. Now when we list Underscore as a dependency RequireJS will know to give us the {\f1 _} global variable as though it was the module defined by that script. We can set up a shim for Backbone too:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 require.config(\{\line
+ shim: \{\line
+ 'lib/underscore': \{\line
+ exports: '_'\line
+ \},\line
+ 'lib/backbone': \{\line
+ deps: ['lib/underscore', 'jquery'],\line
+ exports: 'Backbone'\line
+ \}\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Again, that configuration tells RequireJS to return the global {\f1 Backbone} variable that Backbone exports, but this time you\u8217'll notice that Backbone\u8217's dependencies are defined. This means whenever this:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 require( 'lib/backbone', function( Backbone ) \{...\} );\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Is run, it will first make sure the dependencies are met, and then pass the global {\f1 Backbone} object into the callback function. You don\u8217't need to do this with every library, only the ones that don\u8217't support AMD. For example, jQuery does support it, as of jQuery 1.7.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you\u8217'd like to read more about general RequireJS usage, the {\field{\*\fldinst{HYPERLINK "http://requirejs.org/docs/api.html"}}{\fldrslt{\ul
+RequireJS API docs
+}}}
+ are incredibly thorough and easy to read.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Custom Paths\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Typing long paths to file names like {\f1 lib/backbone} can get tedious. RequireJS lets us set up custom paths in our configuration object. Here, whenever I refer to \u8220"underscore\u8221", RequireJS will look for the file {\f1 lib/underscore.js}:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 require.config(\{\line
+ paths: \{\line
+ 'underscore': 'lib/underscore'\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Of course, this can be combined with a shim:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 require.config(\{\line
+ paths: \{\line
+ 'underscore': 'lib/underscore'\line
+ \},\line
+ shim: \{\line
+ 'underscore': \{\line
+ exports: '_'\line
+ \}\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Just make sure that you refer to the custom path in your shim settings, too. Now you can do\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 require( ['underscore'], function(_) \{\line
+// code here\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 to shim Underscore but still use a custom path.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Require.js and Backbone Examples\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now that we\u8217've taken a look at how to define AMD modules, let\u8217's review how to go about wrapping components like views and collections so that they can also be easily loaded as dependencies for any parts of your application that require them. At its simplest, a Backbone model may just require Backbone and Underscore.js. These are dependencies, so we can define those when defining the new modules. Note that the following examples presume you have configured RequireJS to shim Backbone and Underscore, as discussed previously.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Wrapping models, views, and other components with AMD\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For example, here is how a model is defined.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 define(['underscore', 'backbone'], function(_, Backbone) \{\line
+ var myModel = Backbone.Model.extend(\{\line
+\line
+ // Default attributes\line
+ defaults: \{\line
+ content: 'hello world',\line
+ \},\line
+\line
+ // A dummy initialization method\line
+ initialize: function() \{\line
+ \},\line
+\line
+ clear: function() \{\line
+ this.destroy();\line
+ this.view.remove();\line
+ \}\line
+\line
+ \});\line
+ return myModel;\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note how we alias Underscore.js\u8217's instance to {\f1 _} and Backbone to just {\f1 Backbone}, making it very trivial to convert non-AMD code over to using this module format. For a view which might require other dependencies such as jQuery, this can similarly be done as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 define([\line
+ 'jquery',\line
+ 'underscore',\line
+ 'backbone',\line
+ 'collections/mycollection',\line
+ 'views/myview'\line
+ ], function($, _, Backbone, myCollection, myView)\{\line
+\line
+ var AppView = Backbone.View.extend(\{\line
+ ...\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Aliasing to the dollar-sign ({\f1 $}) once again makes it very easy to encapsulate any part of an application you wish using AMD.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Doing it this way makes it easy to organize your Backbone application as you like. It\u8217's recommended to separate modules into folders. For example, individual folders for models, collections, views and so on. RequireJS doesn\u8217't care about what folder structure you use; as long as you use the correct path when using {\f1 require}, it will happily pull in the file.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As part of this chapter I\u8217've made a very simple {\field{\*\fldinst{HYPERLINK "https://github.com/javascript-playground/backbone-require-example"}}{\fldrslt{\ul
+Backbone application with RequireJS that you can find on Github
+}}}
+. It is a stock application for a manager of a shop. They can add new items and filter down the items based on price, but nothing more. Because it\u8217's so simple it\u8217's easier to focus purely on the RequireJS part of the implementation, rather than deal with complex JavaScript and Backbone logic too.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 At the base of this application is the {\f1 Item} model, which describes a single item in the stock. Its implementation is very straight forward:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 define( ["lib/backbone"], function ( Backbone ) \{\line
+ var Item = Backbone.Model.extend(\{\line
+ defaults: \{\line
+ price: 35,\line
+ photo: "http://www.placedog.com/100/100"\line
+ \}\line
+ \});\line
+ return Item;\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Converting an individual model, collection, view or similar into an AMD, RequireJS compliant one is typically very straight forward. Usually all that\u8217's needed is the first line, calling {\f1 define}, and to make sure that once you\u8217've defined your object - in this case, the {\f1 Item} model, to return it.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's now set up a view for that individual item:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 define( ["lib/backbone"], function ( Backbone ) \{\line
+ var ItemView = Backbone.View.extend(\{\line
+ tagName: "div",\line
+ className: "item-wrap",\line
+ template: _.template($("#itemTemplate").html()),\line
+\line
+ render: function() \{\line
+ this.$el.html(this.template(this.model.toJSON()));\line
+ return this;\line
+ \}\line
+ \});\line
+ return ItemView;\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This view doesn\u8217't actually depend on the model it will be used with, so again the only dependency is Backbone. Other than that it\u8217's just a regular Backbone view. There\u8217's nothing special going on here, other than returning the object and using {\f1 define} so RequireJS can pick it up. Now let\u8217's make a collection to view a list of items. This time we will need to reference the {\f1 Item} model, so we add it as a dependency:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 define(["lib/backbone", "models/item"], function(Backbone, Item) \{\line
+ var Cart = Backbone.Collection.extend(\{\line
+ model: Item,\line
+ initialize: function() \{\line
+ this.on("add", this.updateSet, this);\line
+ \},\line
+ updateSet: function() \{\line
+ items = this.models;\line
+ \}\line
+ \});\line
+ return Cart;\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 I\u8217've called this collection {\f1 Cart}, as it\u8217's a group of items. As the {\f1 Item} model is the second dependency, I can bind the variable {\f1 Item} to it by declaring it as the second argument to the callback function. I can then refer to this within my collection implementation.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Finally, let\u8217's have a look at the view for this collection. (This file is much bigger in the application, but I\u8217've taken some bits out so it\u8217's easier to examine).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 define(["lib/backbone", "models/item", "views/itemview"], function(Backbone, Item, ItemView) \{\line
+ var ItemCollectionView = Backbone.View.extend(\{\line
+ el: '#yourcart',\line
+ initialize: function(collection) \{\line
+ this.collection = collection;\line
+ this.render();\line
+ this.collection.on("reset", this.render, this);\line
+ \},\line
+ render: function() \{\line
+ this.$el.html("");\line
+ this.collection.each(function(item) \{\line
+ this.renderItem(item);\line
+ \}, this);\line
+ \},\line
+ renderItem: function(item) \{\line
+ var itemView = new ItemView(\{model: item\});\line
+ this.$el.append(itemView.render().el);\line
+ \},\line
+ // more methods here removed\line
+ \});\line
+ return ItemCollectionView;\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 There really is nothing to it once you\u8217've got the general pattern. Define each \u8220"object\u8221" (a model, view, collection, router or otherwise) through RequireJS, and then specify them as dependencies to other objects that need them. Again, you can find this entire application {\field{\*\fldinst{HYPERLINK "https://github.com/javascript-playground/backbone-require-example"}}{\fldrslt{\ul
+on Github
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you\u8217'd like to take a look at how others do it, {\field{\*\fldinst{HYPERLINK "https://github.com/phawk/Backbone-Stack"}}{\fldrslt{\ul
+Pete Hawkins\u8217' Backbone Stack repository
+}}}
+ is a good example of structuring a Backbone application using RequireJS. Greg Franko has also written {\field{\*\fldinst{HYPERLINK "http://gregfranko.com/blog/using-backbone-dot-js-with-require-dot-js/"}}{\fldrslt{\ul
+an overview of how he uses Backbone and Require
+}}}
+, and {\field{\*\fldinst{HYPERLINK "http://jeremyckahn.github.com/blog/2012/08/18/keeping-it-sane-backbone-views-and-require-dot-js/"}}{\fldrslt{\ul
+Jeremy Kahn\u8217's post
+}}}
+ neatly describes his approach. For a look at a full sample application, the {\field{\*\fldinst{HYPERLINK "https://github.com/addyosmani/todomvc/tree/gh-pages/dependency-examples/backbone_require"}}{\fldrslt{\ul
+Backbone and Require version
+}}}
+ of the TodoMVC application is a good starting point.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Keeping Your Templates External Using RequireJS And The Text Plugin\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Moving your templates to external files is actually quite straight-forward, whether they are Underscore, Mustache, Handlebars or any other text-based template format. Let\u8217's look at how we do that with RequireJS.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 RequireJS has a special plugin called text.js which is used to load in text file dependencies. To use the text plugin, follow these steps:\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 1.\tx360\tab Download the plugin from http://requirejs.org/docs/download.html#text and place it in either the same directory as your application\u8217's main JS file or a suitable sub-directory.\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 2.\tx360\tab Next, include the text.js plugin in your initial RequireJS configuration options. In the code snippet below, we assume that RequireJS is being included in our page prior to this code snippet being executed.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 require.config( \{\line
+ paths: \{\line
+ 'text': 'libs/require/text',\line
+ \},\line
+ baseUrl: 'app'\line
+\} );\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 3.\tx360\tab When the {\f1 text!} prefix is used for a dependency, RequireJS will automatically load the text plugin and treat the dependency as a text resource. A typical example of this in action may look like:\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 require(['js/app', 'text!templates/mainView.html'],\line
+ function( app, mainView ) \{\line
+ // the contents of the mainView file will be\line
+ // loaded into mainView for usage.\line
+ \}\line
+);\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 4.\tx360\tab Finally we can use the text resource that\u8217's been loaded for templating purposes. You\u8217're probably used to storing your HTML templates inline using a script with a specific identifier.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 With Underscore.js\u8217's micro-templating (and jQuery) this would typically be:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 HTML:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \par}
+{\pard \ql \f0 \sa180 \li0 \fi0 JS:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var compiled_template = _.template( $('#mainViewTemplate').html() );\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 With RequireJS and the text plugin however, it\u8217's as simple as saving the same template into an external text file (say, {\f1 mainView.html}) and doing the following:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 require(['js/app', 'text!templates/mainView.html'],\line
+ function(app, mainView)\{\line
+ var compiled_template = _.template( mainView );\line
+ \}\line
+);\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 That\u8217's it! Now you can apply your template to a view in Backbone with something like:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 collection.someview.$el.html( compiled_template( \{ results: collection.models \} ) );\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 All templating solutions will have their own custom methods for handling template compilation, but if you understand the above, substituting Underscore\u8217's micro-templating for any other solution should be fairly trivial.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Optimizing Backbone apps for production with the RequireJS Optimizer\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Once you\u8217're written your application, the next important step is to prepare it for deployment to production. The majority of non-trivial apps are likely to consist of several scripts and so optimizing, minimizing, and concatenating your scripts prior to pushing can reduce the number of scripts your users need to download.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A command-line optimization tool for RequireJS projects called r.js is available to help with this workflow. It offers a number of capabilities, including:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Concatenating specific scripts and minifying them using external tools such as UglifyJS (which is used by default) or Google\u8217's Closure Compiler for optimal browser delivery, whilst preserving the ability to dynamically load modules\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Optimizing CSS and stylesheets by inlining CSS files imported using @import, stripping out comments, etc.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The ability to run AMD projects in both Node and Rhino (more on this later)\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you find yourself wanting to ship a single file with all dependencies included, r.js can help with this too. Whilst RequireJS does support lazy-loading, your application may be small enough that reducing HTTP requests to a single script file is feasible.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You\u8217'll notice that I mentioned the word \u8216'specific\u8217' in the first bullet point. The RequireJS optimizer only concatenates module scripts that have been specified as string literals in {\f1 require} and {\f1 define} calls (which you\u8217've probably used). As clarified by the {\field{\*\fldinst{HYPERLINK "http://requirejs.org/docs/optimization.html"}}{\fldrslt{\ul
+optimizer docs
+}}}
+ this means that Backbone modules defined like this:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 define(['jquery', 'backbone', 'underscore', 'collections/sample', 'views/test'],\line
+ function($, Backbone, _, Sample, Test)\{\line
+ //...\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 will combine fine, however dynamic dependencies such as:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var models = someCondition ? ['models/ab', 'models/ac'] : ['models/ba', 'models/bc'];\line
+define(['jquery', 'backbone', 'underscore'].concat(models),\line
+ function($, Backbone, _, firstModel, secondModel)\{\line
+ //...\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 will be ignored. This is by design as it ensures that dynamic dependency/module loading can still take place even after optimization.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Although the RequireJS optimizer works fine in both Node and Java environments, it\u8217's strongly recommended to run it under Node as it executes significantly faster there.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To get started with r.js, grab it from the {\field{\*\fldinst{HYPERLINK "http://requirejs.org/docs/download.html#rjs"}}{\fldrslt{\ul
+RequireJS download page
+}}}
+ or {\field{\*\fldinst{HYPERLINK "http://requirejs.org/docs/optimization.html#download"}}{\fldrslt{\ul
+through NPM
+}}}
+. To begin getting our project to build with r.js, we will need to create a new build profile.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Assuming the code for our application and external dependencies are in {\f1 app/libs}, our build.js build profile could simply be:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 (\{\line
+ baseUrl: 'app',\line
+ out: 'dist/main.js',\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The paths above are relative to the {\f1 baseUrl} for our project and in our case it would make sense to make this the {\f1 app} folder. The {\f1 out} parameter informs r.js that we want to concatenate everything into a single file called {\f1 main.js} under the {\f1 dist/} directory. Note that here we do need to add the {\f1 .js} extension to the filename. Earlier, we saw that when referencing modules by filenames, you don\u8217't need to use the {\f1 .js} extension, however this is one case in which you do.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Alternatively, we can specify {\f1 dir}, which will ensure the contents of our {\f1 app} directory are copied into this directory. e.g:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 (\{\line
+ baseUrl: 'app',\line
+ dir: 'release',\line
+ out: 'dist/main.js'\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Additional options that can be specified such as {\f1 modules} and {\f1 appDir} are not compatible with {\f1 out}, however let\u8217's briefly discuss them in case you do wish to use them.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 modules} is an array where we can explicitly specify the module names we would like to have optimized.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 modules: [\line
+ \{\line
+ name: 'app',\line
+ exclude: [\line
+ // If you prefer not to include certain \line
+ // libs exclude them here\line
+ ]\line
+ \}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 appDir} - when specified, our{\f1 baseUrl} is relative to this parameter. If {\f1 appDir} is not defined, {\f1 baseUrl} is simply relative to the {\f1 build.js} file.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 appDir: './',\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Back to our build profile, the {\f1 main} parameter is used to specify our main module - we are making use of {\f1 include} here as we\u8217're going to take advantage of {\field{\*\fldinst{HYPERLINK "https://github.com/jrburke/almond"}}{\fldrslt{\ul
+Almond
+}}}
+ - a stripped down loader for RequireJS modules which is useful should you not need to load modules in dynamically.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 include: ['libs/almond', 'main'],\line
+ wrap: true,\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 include} is another array which specifies the modules we want to include in the build. By specifying \u8220"main\u8221", r.js will trace over all modules main depends on and will include them. {\f1 wrap} wraps modules which RequireJS needs into a closure so that only what we export is included in the global environment.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 paths: \{ backbone: 'libs/backbone', underscore: 'libs/underscore', jquery: 'libs/jquery', text: 'libs/text' \} \})} The remainder of the build.js file would be a regular paths configuration object. We can compile our project into a target file by running:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 node r.js -o build.js\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 which should place our compiled project into dist/main.js.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The build profile is usually placed inside the \u8216'scripts\u8217' or \u8216'js\u8217' directory of your project. As per the docs, this file can however exist anywhere you wish, but you\u8217'll need to edit the contents of your build profile accordingly.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 That\u8217's it. As long as you have UglifyJS/Closure tools setup correctly, r.js should be able to easily optimize your entire Backbone project in just a few key-strokes.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you would like to learn more about build profiles, James Burke has a {\field{\*\fldinst{HYPERLINK "https://github.com/jrburke/r.js/blob/master/build/example.build.js"}}{\fldrslt{\ul
+heavily commented sample file
+}}}
+ with all the possible options available.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Backbone Boilerplate And Grunt-BBB\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Boilerplates provide us a starting point for working on projects. They\u8217're a base for building upon using the minimum required code to get something functional put together. When you\u8217're working on a new Backbone application, a new Model typically only takes a few lines of code to get working.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 That alone probably isn\u8217't enough however, as you\u8217'll need a Collection to group those models, a View to render them and perhaps a router if you\u8217're looking to making specific views of your Collection data bookmarkable. If you\u8217're starting on a completely fresh project, you may also need a build process in place to produce an optimized version of your app that can be pushed to production.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This is where boilerplate solutions are useful.Rather than having to manually write out the initial code for each piece of your Backbone app, a boilerplate could do this for you, also ideally taking care of the build process.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "https://github.com/tbranyen/backbone-boilerplate/"}}{\fldrslt{\ul
+Backbone Boilerplate
+}}}
+ (or just BB) provides just this. It is an excellent set of best practices and utilities for building Backbone.js applications, created by Backbone contributor {\field{\*\fldinst{HYPERLINK "https://github.com/tbranyen"}}{\fldrslt{\ul
+Tim Branyen
+}}}
+. He took the the gotchas, pitfalls and common tasks he ran into while heavily using Backbone to build apps and crafted BB as a result of this experience.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "https://github.com/backbone-boilerplate/grunt-bbb"}}{\fldrslt{\ul
+Grunt-BBB or Boilerplate Build Buddy
+}}}
+ is the companion tool to BB, which offers scaffolding, file watcher and build capabilities. Used together with BB it provides an excellent base for quickly starting new Backbone applications.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d4948445200000475000002e108020000005ed70f1500001819694343504943432050726f66696c6500005809ad79793c55dfd7ff3e77c2755df33ccff33c93799ee759b8e6799e55322453194209151551d1604a089148a242033244a68a8a12f29c5bfa7cbedfd7f37bfefb9dd7eb9cf3be6bbff7da6bafb5cf3e67ad0b004b23213c3c18410540486874a4b5813697a3933317c914800029c0016e404af08a0ad7b2b43405ffe7b1350eb3e1e3853851d7ff49fb7f37507bfb4479010059c2cd9ede515e21306e0400d9ea151e190d009aa88f2f2e3a9c88f3614c17091b08e32b44ecf707b712b1e71f3cf49b636bad0373660020c51108917e0050acc172ae582f3f580f1e07008626d43b2014eec60563752f7f8237002c1e30472c24248c8873612ce4f91f7afcfe0313089effe82410fcfec17fe602f78407d60d880a0f2624fcfef1fff312121c03fbebf7c1015f7151413626f09d01f65bbc1741cf06c64c303eedef63647a20af0e8fd6b63e90b707441bd9c2980ee6bcf48f31b43bc04b3141765a306683e5bb416126443eec270453a8a7b9058c6960cce715a503fb9e38164221d1dfd6e18063eaeda3ab07637815211c23c3acfff2fda3626dfeca1313fd75ccfff20309c6c478e3617e36211246bfed419cf30936208ecb03cb6f84475b12ed248e351c1a6c7e3017c47bdf487d228728ffe913f57bbe44dbfca3fd6d0d61396c33922a3ad296c881e78864f30dd03782316c1b52ca3fd2f0af5c333cf8f79a86fb226d2363ac897ee083b1af4fa81dd1874479b6374197e85bd827c872a00f082012f8004f100a96011730053a40f7e0ca05cb436199170803c1f019c945f9b705bd881e45cfa1c7d033e8d77f6570cf031e0800de30fea3eb3ffac3721b90083ec25a7d40d4dfd1502c2875942aca14be6ac2a70c4a09a5fcb76d78ad65ed2f3eb0d50fee2b7ea05bfbc0fa5858e3de5f9e7b406ae45f7cd0c7f39f1effdb267df01ef680df5f86d475a965a9ddbffdff9d31460fa38b31c4e863849199c8bbc87e64377200d98e6c015cc807c856e410b283880fecfa3b0a019610bd42f470143081bde803627eff0afd3bde7f7929e61fc68106bc085e1e58c3bd424110dc16f0cf08f6bfad0ef85f5a626086273c6220cc35f9271e0776a10460efcaa3b4516ab09f611fa318502c401c25077b5c0ba501c7401e96fe1bc5ff9e8d38f0fdededd8df7309028bf03c42a27de2a3e1b50474c2c2132203fcfca3b9b4e0ddd2478ccb28d44b428c4b464a5a1610f75e220780afd6bff75488e1d9bf329f25000ec1eb986ce45f59e01900eafa0060ccfe5726e00200b31800b79f7bc544c6fed18722ded0000b28e1a7821970005e20047b4406280055a009f48031b000b6c009b8c16bd81f84c016c78123200564801c900f8ac17970115c06d7c04d7007b48076d00d1e812760048c81b760062c8055b00eb6c00e0441241005440b31439c103f240ac9404a903aa4079942d69013e401f941a1500c74044a8372a042e83c5409d542b7a17b503734008d42afa1596819fa02fd44201138041d821d218090442821b41026085bc461841f2202918848479c469c4354216e209a11dd88278831c40c6215b1890448722403921b298e5442ea202d90ce485f6424f218321b5982ac42d623dbe0b5f80239835c436ea330285a14174a1c8ea421ca0ee5858a401d43e5a2cea3aea19a51bda817a859d43aea179a02cd861645aba08dd08e683f741c3a035d82ae4637a1fbe0e77901bd85c160183082184578b53b61023149985c4c05a601d38519c5cc633649484898494449d4482c480824d1241924a52437481e903c275920f9414a4eca492a43aa4fea4c1a4a9a4a5a425a47da49fa9cf403e90e1915193f990a990599375902591ed915b236b267640b643b586aac20560d6b8b0dc4a660cf61ebb17dd849ec577272721e7265722bf200f2e3e4e7c86f913f269f25dfc6d1e044703a38575c0cee34ae06d7857b8dfb4a41412140a149e14c114d719aa296e221c534c50f3c2d5e026f84f7c627e3cbf0cdf8e7f84f946494fc945a946e948994259477299f51ae5191510950e95011a88e519551dda39aa0daa4a6a596a6b6a00ea1cea5aea31ea05ea221a111a0d1a3f1a649a7b94cf390669e1649cb4bab43eb459b467b85b68f76810e43274867441748974377936e986e9d9e865e8ede9e3e9ebe8cbe837e8601c920c060c410cc90c77087619ce127233ba316a30f6316633de373c6ef4cac4c9a4c3e4cd94c0d4c634c3f99b998f59883980b985b98a758502c222c562c712c1758fa58d658e9585559bd58b359efb0be6143b089b059b325b15d661b62db64e76037600f672f657fc8bec6c1c0a1c911c851c4d1c9b1cc49cba9ce19c059c4f98073858b9e4b8b2b98eb1c572fd73a371bb721770c7725f730f70e8f208f1d4f2a4f03cf142f965789d797b788b787779d8f93cf8cef08df75be37fc64fc4afcfefc67f9fbf9bf0b080a38089c1468115812641234124c14bc2e38294421a42114215425f4521823ac241c245c213c2282109117f117291379268a1055100d10ad101d15438b298b858a55894d88e3c4b5c463c5af8bcf4a3048984aa44ab4487c92e49374962c90ec97fc25252f152c7545eaad348db4b174aa749bf4171911192f99329997b214b2fab2c9b2adb21b72a2723e7217e45ec9d3ca9bc99f94ef91df5350548854a8575856e453f4502c579c50a253b254ca557aac8c56d6564e566e57de5651508956b9a3f259555c3548b54e75e990e0219f43570ecdabf1a811d42ad566d4b9d43dd42fa9cf68706b1034aa34e6347935bd35ab353f68096b056addd0faa42da51da9dda4fd5d4745e7a84e972e52d740375b77588f46cf4eefbcdeb43e8fbe9ffe75fd7503798324832e43b4a1896181e18411bb919751add1bab1a2f151e35e139c898dc97993395311d348d336338499b1d919b349737ef350f3160b60616471c662ca52d032c2f2be15c6cad2aacc6ad15adafa8875bf0dad8dbb4d9dcd96adb66d9eed5b3b21bb18bb1e7b4a7b57fb5afbef0eba0e850e338e928e471d9f38b1380538b53a9338db3b573b6fbae8b914bb2cb8cabb66b88e1f163c1c7f78c08dc52dd8adc39dd29de07ed703ede1e051e7b14bb0205411363d8d3ccb3dd7bd74bcce7aad7a6b7a17792ffba8f914fa7cf055f32df45df253f33be3b7ecafe15fe2bf16a013703e6023d030f062e0f7208ba09aa0fd6087e08610d2108f907ba134a141a1bd611c61f161a3e1a2e119e133112a11c511eb912691d55150d4e1a8d6683af82377284628e644cc6cac7a6c59ec8f38fbb8bbf1d4f1a1f14309220959091f12f513af26a192bc927a8e701f4939327b54eb68e531e898e7b19e64dee4f4e485e306c7afa5605382529ea64aa516a67e4b73486b4b674f3f9e3e7fc2e0c4f50c7c4664c6c449d593173351990199c359b259a559bfb2bdb30773a4724a727673bd72074f499f3a776affb4efe9e13c85bc0bf998fcd0fcf1028d826b85d4858985f367ccce3417711565177d2b762f1e28912bb978167b36e6eccc39d373ada57ca5f9a5bbe7fdcf8f9569973594b39567957faff0ae787e41f342fd45f68b39177f5e0ab8f4aad2a0b2b94aa0aae432e672ece5c52bf657faaf2a5dadad66a9cea9deab09ad99b9667dadb756b1b6b68ead2eef3ae27accf5e51bae37466eeade6cad17afaf6c6068c8b9056ec5dc5ab9ed717bfc8ec99d9ebb4a77eb1bf91bcb9b689bb29ba1e684e6f516ff969956a7d6d17bc6f77ada54db9aee4bdcaf69e76e2feba0efc8ebc476a677ee3f487cb0d915deb5d6edd73ddfe3def3f6a1e3c397bd56bdc37d267d8f1fe93f7ad8afd5ffe0b1dae3f60195817b834a832d4f149e340fc90f353d957fda34ac30dcfc4cf159eb88f248dbe8a1d1cee71acfbb5fe8be78f4d2e8e59331f3b1d171bbf15713ae1333afbc5f2dbd0e7ebdf126f6cdcedbe393e8c9ec29aaa99269b6e9aa77c2ef1a6614663a66756787e66ce6dece7bcdafbe8f7abfbb90be48b158f281f343ed92cc52fbb2fef2c88acbcac26af8eace5ac647ea8fe59f843e357ed6fc3cb4eeb8beb011b9b1ff25f72bf3d79a6f72df7a362d37a7b742b676be67ff60fe716d5b69bbffa7c3cf0f3b71bb24bbe7f684f7da7e99fc9adc0fd9df0f2744127e7f0b20e12bc2d717802f35705ee40400ed080058fc9fdce83703fedc85600e8ced213d84165209c584c6624849a4489dc8d2b00f70180a02be850a4b1d4c3348274f5fce08988298875915d8f2d9573935b9f2b84779b17ccafc4e0241822142aec2da22ec221ba28fc44ac58324d4242924df4935481f97b192e596fd28774ffe848295229be28252bd72bc8a962a56f5c5a172356f7531f52f1a2d9a47b4b4b571daef743a75ebf42af40b0c8e19128c348c998c374c864cebcd2acc2b2dda2de7add136ccb62c7654f648fb5d871d27e04ce68277a5388c3abce936e73ee2d145b8eb59ed55ea9ded93e0ebe767ebaf1d20172812c41dcc1c42198a0cfd1636173e12713ff24ad4e9e8e4988cd8a67854824f62d7117054e0984ab2d171979498d4d369c5e94927e44ecc67e49db4cce4cf22cf0639885cea5342a7d5f3ccf31d0a9c0b9dcf3816d917db96589d353f67526a705ebb4cbd5cb942f682f845914b52952655699767ae1a55dfa859ada5aee3bf2e7d43f5a66ebd5983c32df7dbfe77c2efc6351e6b4a6d3ed192d99a732fafadf87e797b75476367df8389ae99eef19e8687bebd4cbd8ffb4a1ec5f5fb3e3e3ce03068f5c464c8e0a9e1b0edb388914ba3af5f90bf941cd319379ad07ba5f49aff0dfecdf6dba5c95753ddd397dfa5cdf8cddacd99cf9bbdb758b05834fea0bcc4b834b39cbd22b732b37a6d2df1a3e127d24fb59f0d3ecfaf5fde88ffe2f6d5e29bd966e056cf8f933f5bf674f7f70fe22f8d4421975133e879cc3a29924c01eb4f5e8e9bc18b50c6513da261a64da07bc920c398ca34c522cf9ac136c2c1c2e9c855c0ddce33c9bbc9b7c5bf22f054f0b250a4b0ba08a9c84bd18b6281e2f2e2bf241e499e967290e694fe20532f1b2ba7260fc9f729642b5a28d12a8d2b97aab8a8b2ab4ec2abc0559d597d42e3aca68b9680d68ef698ce6ddd5c3d1ffd4306d4068b86ed46c5c6b1263ea69e66fee6611621969e5616d6aa3622b6ac76787b84fd96c307c771a787cef52e65aed98713dd02dc1d3d7409929e4c5e90d78af7984faf6f935fb57f49407a60589053b06688602805bc1266c3a723be457147bbc794c676c7bd8a9f4f584bdc3e427e94e3985032d771ccf177294da9796991e96e27ec321c4f0664a6655564dfcc69ca6d3ed578fa76decdfcda82ab8597ce94151517e795649d4d3d97501a76deaf2ca0fc78c5838bc297ae55095e2ebcf2e2ea760dfe1a4b2d6f9d08bc0e146faad7eb3698dd72ba1d7c27e3eee5c6cea6d1e6e996a5d6af6dc8fb8ceda21daa9d9a0f14bbb8bb11dd733dfd0f9b7a6bfaca1ee5f79f789c38103918fd246ba87d98e1d9d191a9e72c2f345eda8ef98e1f9fb8faead9eb6f6f6926c5a74ca7c3df9d9db93ffb7c6e7a7eeefdea221a8e7ecaf2e82af59ad447f94f029f293fff585fdc98f832f8f5deb7cacde42dfbef82dfb77eb46f27fe54ddc1edeaee2d1fc45f025a455420dd50c26812f40666996485748e6c831c8be3a7d0c23b53a650dda01ea5d9a7e3a7d76308643cc17491b991a58ff531db23f6fb1c959cf15cda5c3fb9aff098f0acf266f209f2f5f0bbf16f0b14094a090e0af9099308d788188a7c10cd101312eb13f7920012159287245f49c5c05f370d32a6324bb269721c72adf2d6f26b0a271439155be0af9625e564150695ebaa5aaacf0f791dfaa496a44ea25ea621a731ae99a8c5a1d5aa6da1fd5ac75f675fb74acf529f4cffa1c1114339c315a32a635713269371d362331b734af3018b344b55cb6f560dd641368236ef6d2bed0edb33dbbf74c8733474dc776a720e76e17399722d396c7e78cbadc89ddfbdd143cbe30d21de93c7f315bc8ff8fb18f82afa29fb1b051002438208c11a21542193a157c342c2e5c377231e4666475946d347bf8db918eb1d2710b7187f21412f61323138892ee9c591fb473b8ff5263f3c7e2fa536b5242d2d3dec844b86de49914c74e6cbacd26ce71cbe9c9ddc99534f4fdfcbbb947facc0a550e50ccb99eda2f1e23b2567cf9e3a57585a79fe6ed9a3f257152b17762e51547255c95e36bce27a35acfa584dd6b5dcdae37584eb8a37f037bedcfc58bf7d0b779be38ecc5dcbc6a4a6c6e61fadcaf7c2db4aefdf6a6fedb8df39f060b3dba0e75eaf4ddf667fc980ece0cba153c31e2346cfb55e6a8f07bfc64faece0daf6c7edb26c6ff4f8d8cf84ec0280070260500c70c00ec340028e80540600cce3bb10058520060ab0c1002be00811b0290caec3fef0f0820010690036ab826c50904811450816b2616c019ce90a3e0ec320f5c00f5a0133c03b3e01b9c39b241d29001e40ec54105d00de831b488c0208410a6882844059ce7edc3795d2cf21ef217ca0075063587964567a2df615430a5981d38c31a245524ad2163252bc09263b3c8b1e4f938165c0d851c453b5e0ddf46a944799fca90ea2d75340d15cd4d5a5dda513a5bba517a0bfae70cee0c3f184b99d498a6998fb2b0b2b4b1bab191b1b5b3c772c8717ce5bcc315c92dcfbdcbd3cf5bc2e7cf7f48002f302378572853d853444b54400c2fb623fe49e2bde498549374928cb4ccb46ca69cbcdc67f9568542c504256f6553152955c643783509f5324d51ad53da033a9ff548f5e90d980dd98cf88ce54ccc4d23ccce99f75a7cb1e2b576b0396ddb6f8f72d075cc701a726170f53c5ce7f6de0343a0f6c4786e7a2d784ffaacf851fa9b0414077e083e145214fa29dc38a22e0a171d11f3264e3fbe35513ca9fa28d7b1b2e30c290569d8f494139b27033357b37372434e3715509f6129fa58527bcefd3c43d948c5a98b069736abf2aed05dcdacdeba1654fbe57afe4dbd06ea5b1b77161b979a575b3fb4cdb76f3c60ecd679e8d6e7d16f33a0f144f2a9f03385d1d0173f26506fc8262fbea39ded5cc02f1d59d5fad8f079e78bc237fd2decf7533f06b7977e2eecbcde6ddccbffe5b92ff57bff20c69f04aec9d1c035076e200264811a3084eb0c1e70852109648152500beec1758429b00ea1211648ea77f413a022e816340c7d4450226411ce8834c41dc4029213e98ebc825c4329a0d251636861740a7a128e7d190920f1271923d5236d259324abc30a636f90cb913fc059e2e629e2f164f8624a6eca5b70fefa963a8e8681a685d69ef623dd517a2cfd3906718641c6302646a62ee600163a962ed630363eb649f6520e474e26ced75c15dcde3c52bc80f725df75fe740157413938975b111e12b90bbfc5f2c4d3248e48464b79496bcae0648665b3e54ce419e537145e2bf62b352b57a9e4aa261e8a55cb526fd5f8ae25abedad93a35badd7ac7fdfe0be6187d180f1ac29c24cc4dcdee284658bd59a0d9fadbb5d85fdb4238f53a073b32bc96107b7f3ee7d1ea3841ecf5aaf4cef001f6b5f433f27ffd480ae208a60cf90f63096f0c488a928ede8da58cab8f0f82789dc49b147468ec9275f49614d2d4ac79e48ca58cb2464cde5249e92ca43e44f15de2e8a2d913bfba5f476594c85ca859f97aaab642e575cf9502d58e37fed561de3f5f29b6af51f6f95de51be3bdc4468de69ad6ab36a071db50f4cbb367a2ef67a3e5279cc3d887af2f469ec33cc48f673dc8baa31f709b3d7c16f6ba63ecc70ce59be4f59ec5c665ccdff24b0fef46bd156eeb6d18eccee85bdf7bf360ee28f026470ed95098ebe285c6bd20196708529041c859ffc4ad0081e8369f8b9c74102902674184a82caa00e68164106479d8028468c20e9913ec80e141bea386a05ed847e8ad1c174c0f5946e5253d229b2282c25f616b93d0e896ba188c04be37f50f6519552c7d038d11ad119d35b3118332a320933cbb3b8b326b045b37b72d8729a7399719bf198f29af159f3bb0b44099e12aa137e2cb22c4621ae28e12b795e6a5c8645d65bae417e47d152e9a94ad6212775b446bee6aeb6894e1a1cc116fd76834ec361a31d1313d36673098b1b5612d6cdb63a76e30e214e58e71baef66ed41ee49eeede2e3eeffd54fd73021683ac838742cdc29e47b8442e4527c572c44d273c4aea3a5a916c77fc676a65ba7d06e7c9f5ac8e9cdc53be790605cc854f8a7c8bb7cea695529faf2a57a8787ad1b712aa2abfa27475ac26a696b5eef18de47a835b9277f41b939bab5af3da9cda193b261e94753b3d24e9bdfa48aefffe80dee0c450fcb0e4087274fdc5d2d8e844c16bc137156f7f4de94d67bf7b324b3967377fe9fdf2a2f487a0a54bcb8f5756d6d01fd93e497dd65d77d8207cf1fe6af98de7dbe6e6a92db6adbaefcadfcf7fdffee1f0a3799b613b72bb797be7a7e6cff49f033bf81d9b9db33b23bba4bb9abbf1bbb77797f7b8f79cf60af706f7f67e49fff2fe75f6d7935fbff6a5f77df6cfed0f11e31fe52b2b437c7b0008a70d971fa7f7f7bf0a00405208c05ec1fefe4ed5fefede6538d99804a02bf8cfff2e443206ae7196af13d1207719f1f65fc7ff007c47b8761da207480000019e69545874584d4c3a636f6d2e61646f62652e786d7000000000003c783a786d706d65746120786d6c6e733a783d2261646f62653a6e733a6d6574612f2220783a786d70746b3d22584d5020436f726520352e312e32223e0a2020203c7264663a52444620786d6c6e733a7264663d22687474703a2f2f7777772e77332e6f72672f313939392f30322f32322d7264662d73796e7461782d6e7323223e0a2020202020203c7264663a4465736372697074696f6e207264663a61626f75743d22220a202020202020202020202020786d6c6e733a657869663d22687474703a2f2f6e732e61646f62652e636f6d2f657869662f312e302f223e0a2020202020202020203c657869663a506978656c5844696d656e73696f6e3e313134313c2f657869663a506978656c5844696d656e73696f6e3e0a2020202020202020203c657869663a506978656c5944696d656e73696f6e3e3733373c2f657869663a506978656c5944696d656e73696f6e3e0a2020202020203c2f7264663a4465736372697074696f6e3e0a2020203c2f7264663a5244463e0a3c2f783a786d706d6574613e0a0c73143600004000494441547801ec5d097855d5d53defbdcc64209004083384410802455414a828ea8f38b4206db50e6dd5fe56ab55abb6b55aa76aebdc3ab78ad6597f954ac5594441c401a4c82020338140088490797cff3a77259bcb7d43068232ecf3f11dd65967ef7df659f7dcf3eec97b79f1058341a345155005540155401550055401554015500554015560af15f0ef75040da00aa802aa802aa00aa802aa802aa00aa802aa802a6015d0f395ae0355401550055401554015500554015540155005da46013d5fb58d8e1a45155005540155401550055401554015500554013d5fe91a50055401554015500554015540155005540155a06d14d0f355dbe8a85154015540155005540155401550055401554015d0f395ae0155401550055401554015500554015540155005da46013d5fb58d8e1a451550055401554015500554015540155005548198435902fddb5f87f2d5d7b9ab02aa802aa00aa802aa802aa00a7c270af87cbeef64dc6f6750df4176c638c8a6f3ed2c021d45155005540155401550055401554015d83f1538e00e6307eaf94acf51fbe70da059a902aa802aa00aa802aa802aa00aa802df8202fbedb9eb80395fb5ed81aa6da37d0b0b4887500554015540155005540155401550050e2605daf680d4b6d1f646e7fdfd7cd5ba8350ebbcf64647f55505540155401550055401554015500554813654a07547a6d679b565dafbe751a4f95935df32ba6a6d1527fa28daab0aa802aa802aa00aa802aa802aa00a1c820ab4d5b1a7f9719a6fd9b69763ff7affaa39879ce6d8b8356aa9bddb57b12aa00aa802aa802aa00aa802aa802aa00a7c6b0ab4f450d41cfbe6d8b4e104f78bf355738e404dda34691049b5563b460aa8bc2aa00aa802aa802aa00aa802aa802aa00a842ad0eaa34e938e4d1a2099e6d884e6dc52e63b3e5f3579b6896e10bd975a34c7a6a5aaa9bd2aa00aa802aa802aa00aa802aa802aa00ab4b902cd390245b789de8b849b34d8cb497d67e7ab268f3d910c22f114227aaf5bace65bbabd14ab02aa802aa00aa802aa802aa00aa802aac05e2ad0fc434e74cb48bd917849bb4903b16c29f86ece5751ce3691ba5aca5388b05e61c9960aa7f6aa802aa00aa802aa802aa00aa802aa802ab0370a843de48425659448bd2de51130928b8cd53af06d9fafa29f6dc2f68692a10c27efe13dcd280235df324a10ed520554015540155005540155401550055481480a34ff3ce3b1f434257e281fcac0382c19258874b50e7cabe7ab28c798b05da1647426b4574489d225361ed00a174f046daa02aa802aa00aa802aa802aa00aa80287a002d18f34610589e2e2ee7263c6690e03cb503349234a97d8341f7c7be7ab48c795b0bc87f434313d6104b8e71c96a441d8aeb0a43ba0625540155005540155401550055401554015d81b05c21e63c2921c256c97900224250fe369468989aeb0c612b945e05b3a5f453ac084f21e26523312ef99bcdbcc8d3d669e66f32d3d8eda5405540155401550055401554015500554012ad0fc438bdbd28ddd4a7a78690a083ba8a71736a14c5847f7d02dc2dfc6f92aec712594f430619b6149f784c54080bb1738940f659a74f11868531550055401554015500554015540155005221d5d449950835086c6c20b881484061eb3e84d84f218780695b15a01f6f9f92aece92594f430ee26712823b3952e01a15d60dcbd6e2cc66141f32dc3ba2ba90aa802aa802aa00aa802aa802aa00a1c3a0a843db7849dbedb3212a6a3f40af0f068b2cb6de0c66240c75077e13d5ec2371fecdbf355d8c34928e966427128c3e9092f00bc60016e527471f77aa2898d02554015500554015540155005540155401568130542cf2dd119e9158034040b709382a3f7baa7e3b6143e2c29bd4d827d78be0a3dc3201b0f19a5c92e31102041a230ee2eb17703604ff1b8787ab5a90aa802aa802aa00aa802aa802aa00aa802ad5620caa145ba04701469124813bd9198e85d9eb0619b51487635597fabe72bcf19265293bcf40ac064803d4d925273c2622380bcdb2c4a97182b500554015540155005540155401550055481bd54c07d3462286104c810c2084017b1bb9638a1661e7b69d2a5c966a881383607ecabf35593a717b7412816c60d046362c06cb2e65443195a4aed067471d7ee50cde1dd368a55015540155005540155401550055481435c01f751c72d45241e36d245204dba8792c2b82d81a5e901d2748fe5c1a1cdb00cc8e6947d72be0a3da8781877d383a5e901ee267128c309bb7930d2f4f47aba3c6634d65a1550055401554015500554015540155005f65e81169d73c45800120096268143f8989b30eea6c78b4d1a787068332c23be5140db9faf420f2a1ec6ddf46069ba412826e3ae314377535c8417e0ee125d42c950468c15a802aa802aa00aa802aa802aa00aa802aa407405e42c2466a10cba229d8b3c5de2ebb617ecee75630e0d4648092b5d04619b1e63b765141c13a56f5f74b9cf2d82093c4d8c0e86a4d402d8cb0cad5130e861a4c92e5a0a1916d0c6632f8e0a5401554015500554015540155005540155a0450ab80f367094a60046932770f2ee5e74a1c99a205202d24b77bac0d8135c7876d13852cc56f0fbfcfd2b998f7b6e6e4c03317337050308165f61084279301e529a6e608d9c22711a8926788f993655015540155005540155401550055481435981486795505e180f08db7493c4616b9061795e1177171836dd5da1d863468326eb363e5f798e28919ac2138436dd0c309b6e8089456a72cea1bd6e2d24a09064c4577805aa802aa00aa802aa802aa00aa802aa802ad00a05a29f61dcbd08ee3eff00b3c941a549324a53ba1850ec258e0c1416b8cd88dd66c244076df9f940f711257454e9f580d02619a90104232c9ba14c7575755959595151917409a097a4e4e6c376892501ed3da4365501554015500554015540155005540155c0ad00cf336e06d84d0af69c7cc44c7801eddbb74f4e4e8e8b8b135f18e3f95c0cc23eaba3973c018de925bea1c093399b6216b637946ccbf7af30b67b007753b007b0e926850170634426e32689d1555555b57dfb7634070e1c585353535f5fefce8418bd5436b4ab49467c09a4d97c47b7a5e702bbbb04732948b399a0155e9eb9343302cd5023314470a7e709285d9178318802c497409a515cd815d652d28e32d9285d51066d859727c36646a0196a248308ee943c01a52b122f065180f81248338a0bbbc25a4ada51261ba52bcaa0adf0f264d8cc0834438d6410c19d9227a07445e2c5200a105f026946716157584b493bca64a3744519b4155e9e0c9b198166a8910c22b853f20494ae48bc184401e24b20cd282eec0a6b296947996c94ae2883b6c2cb93613323d00c35924104774a9e80d21589178328407c09a419c5855d612d25ed28938dd21565d0567879326c66049aa1463288e04ec91350ba22f1621005882f8134a3b8b02baca5a41d65b251baa20cda0a2f4f86cd8c4033d4480611dc2979024a57245e0ca200f125906614177685b594b4a34c364a5794415be1e5c93052844020101313b362c50ad8676464c4c7c7330dd8b3a0d908ed45894ed2c0534bd30d3c38b409264a69cbf7af220d0345c276797834c910b831dc4349b741696929ce547dfbf6ddb973278cebeaea6444082d967ebf9fa1a4579ab48101005cc023202e2a43c9d542afd8d085a1805124be0c4a473661e01e17183c46412d3c2da54940037107008342864d62900ccba63b8ed8d380e39264ed89c366d8081c4586609396140db53832389ab0177da497bcd4a22d188652fd452b5152f58702285c815ca8c42021977489741e1206bafea9097510a1224907032a4c0033b154fda9097490fd4dc471746ad04a0474abadfa5316d6baff5307ae1fd4b254004812a096e5e436e38b266a71142fd8cbfa945e89a3fa4301d18ac02d2c8472f78a6ee451b3a8fed041846a54c5feef2681b9ef91641d5d7fd8e07cd5ab57afd5ab57e3693f3636160c0ad76d687cf2610d404a621c549a0222f162d04cb03bbf663a44329379d2c0dd14ec066e0c1734c910783049310bedddb871e361871db66bd72e5c36f4524102606e3722ab183020ead06d9d43d057e2d01e241814d9addc916183c280c4b0a48ba74977e4e636161b00090b40339088461b8949401e98054db800d3988e6cd29283a2f698b1299634803b18384acdb06050180a40bcdc0018311941bc688026bc5033024918e3584b9ebe8ccc5e62d428f062044f34090880024b18a0f634e98ee1383a7bc50640c202d00ca4c4919804e48159d0840bb08405c3262d39286a8f199b62490326c3081287c9a0c950c27b00422126233019316004d48cc04161acfaabfeee05c3258445220b86bd58480204c318054dcfc29655474b2e39d41e3336118163d140466164f6d200d118ca1d5fdc015010931150a38825316a468025308c75fd530a6a2bea51378f7ab4418d225e6e002c11202f8a5812a356fdad2e4e8156500c052d08a5eb1f3a400dc80229a889a353c303097bede26bdc8b1cf174ffb1ef135028006812daa49e14567ac585c2b2b9ffe88f9d39353575d9b265ddbb77e78566cd6c43712823969e09c25226eb016ecbd02e3291eaddba47b26826efbe4261b190006e8cf8c210b057b0f462298476d17dcd9a35fdfbf7afacac64b6dc95680ce108484a130001612fca12c3980c016bb73119b72f18b9f9390a43c186a150a3b009805eb8a090a42f7a09d04b03d6f262efd00ddb8a4406c98064100161e9e81e084160c00852c38039883d73109231dd49a20b43e03d25198841a4c9e068c29799d0003c4969322c78007a11cbe804acddc664381dfa824170b8134817f3675846408d424b89435f1813a09706ac557f8a26aa8a6ed047c454fd218b5d374e811a908b0c242220294d0091b4d1afe1ee1655698c1a458c557fdd7fb018b024b86c08c8608d71b17191c0000045f77fde41a851441660e8c6bd4b0055856834d3fddfd14cf79fdd0f18baff7c87fb4f5252123e25d8a74f1fdec85c9cac71c302f07676f3c0ec729b09c9fb5dba682924819bf46031080bdae67cc5cd48067037659f622f9a64d024708886bd2c1493919a5eb8ba6088d985f355b76edd78d5a11448d468727324a68220f922c408a17b2bdd39047a692fd902d01d0096b8d3380447642f4806911a3c0aed51735066ce682031106d5003f31511bcf574b40246a11700482689b74d1d135b8901f361f2620c03cfab050ce8c2998a2500138301e2d38c9325a6977b5cf01c945da8c1a8fe9011524028a8a1faf3d680269042d73f44a014581b046078fbf06e02295d900bbd28208961a9fb0f35e16ea3fb0f170fef2c6a82d502009574ff810ebaff703fe10ae166c2b5a1fb0f94913b0580db2c487dfec10a716fadc45c36c06dfbfc89cfa0fdeb5fffc2f729e04b2cb84a7121f081c0ebafbf5e5eecf2f2f278bec265424126a865a373b83015cdd821980035017a059361d383439b62e6016d7fbe8228328660372096da0d3c18cde6140c870f6576edda95dac1853211a086c1cefccd2b3f98bdfecb2fb7ae5d8376e7de7d7a0c1f3ae08471699dbb305bde4e70a43d4862d43b0b37af5c38336fe517db36ac06dfb1479f1efd8fec37ecf8f619d9620f2f44402f6abe9201036cdbb1f5d3a57397ae5db4367f832f58df33bbd7e05e871f33644ca78c2e1c08358360f570a59291bb9d3141b2304f906ce200231800a1dc8e68b220381de145c0c54a17d4f482310cd044a119780c4163b141af8c2259492f18c4810d8104b4411b0b0c682fbd1cce9d00b184a2ab384a931150230248d488cc5e49124d38ba7d81c59158f58720220b1523034cad487a541519557fa8470151533436813d05bcae7fee5dd48a6ab8e5e28600be99fb4fcdcef55fadae3a6c44ffc43df79fdae20d8b56550efc5ebf24d735689dfe75bbb6952764d56f59baba2c65e861ddb1f34ac2b80b9abffe776dfc1a110e1fd80d11788ba1ae2b2fdae5ebd021a98171df6594023628c4980a9bbaff4307aad17cfd61efbe70c4baff434991452402437951a3a0e95e9962cf9509035c051838b6bb1f12e8e8f6753b12abfeaa3f560297ca7befbd97909080e761ae2b7c77ddc48913b9f060b361c3067cd5822c2a30cd2c6e17c104eea6306e1005a32b5209dc74d34d91faf69287348ce006c4c2b80da40b2052e1ad8b5e00d47027c605484b4b132fc88d2e1a036ffcefa2798f3cb6f2f5ff6454550eefdcb9575272d9c68dcbe7cc2d5cb3be5de74e699d3bc306b7b7b833726d6d2d826c58b9e0d3190fe67df47c76a064444e564e6642cd96d5abbe786f4be1c6c4d4acd40e5de0cb0bcf4ce8cbc4be5ebdf8c5994fbfbbf4dd9a8eb5dd723ba7764fce2bd9fcf9e2cff2b7e6756cd7a163fb4c9a616800be7022140a9a28882c29916170d470c12b2b2d69c357179ac151ecd10b33ba700886a53dba247fb84840001638d2004d86852cc4a8dd2e0ccb64684903f2ccc79d956018a044d21f415068809c698626e78520c03420835a228b0d005d28350ce0424bd424298e1d4cf57734e4faa720aa3f748008583907e0faaffbe6a397eebcf5d67f3cf3d22bafbcb2aa36f3f0dc5eb1cd5bffb59be7de7cf7c7fd470f4e09e6bf78cb9f3ff5f51ddeb33d6f99dacdb36ebd7d4edf314353ed2f4b369c2e78eb512860dbb117fbcf9ab71e7af29bf6a3fa7594451845ffaa0d337e7bcbc343264cce8cb1373b2c792357ad7f1dfcd089533263995d43566c203d18a334bdff942cfde305d7664f9854f1e11f6f7dc8f73f67e6424304812fd786cc5422934193a3a0e656b3fe9d3fdcf4a09970e6107c07969095ab5fbdf037ef1ff983a3528ceeff760fd7fd07eb8a2ba739eb1feb10c62cc01090eb9f3cd7246bda0886014ad3ebdff9112dcd608f20121f4018f012596c0068c0f50f03b8d01235497dfd85145220d1a1bcfe3b75ea8443149704a4a8a8a8e8ddbb37961065292e2ec617b5b309c5400a260013b6b0576a006218b708b8edc30e24e4ee8f9609d552c019b6d40bf65c4c74641032616bde9091bad08be5c85e04c4856158f0bbb66e993ff599b2850b7e77f28999a79e68c68d31b822b3e614cc78f791b7df5f18f425fe363d3dbbabdce400f872123802146fcfff6ad61331cbdfbde4d2b3d2c6fc302ee5785c889a5d1fec9c3beda57fbcf095af2e29353325bd138e3ab83cb09705814c0a8ab6fe7beeff2d2e5a76eea53f3cbdffff74491c869436552cf8f78a375f78f28de0dcbaf353d233db6781842f8623400dcc800088839800a861264d007c0d3d07652f46672f007fa809000304040f8002064d38a266912e348985014001cf3870c75f18e30451f3e6472fb3450d03718101e30b2f0c7918b38b00bdcc8d40f4677cda00cba000b0a73113800d19e6cc1a248a6000b8c01735234b178280813179d51f82f08af032511fd51f2b475611968aac16aa842e14905c60ece50a14c6fa34def276753a37027af7e5fadff5d923d3634ffbf5df4e19b065e6d43b5f79e4f660e66d3f1e889c992d736056a8c1cbfa5f377fc6f25dc7a5d557d754ee5cfcf5baf25cfba72f50e0585db573c5fa4525b575357ebb3b217f90046db4ffecf8e4a939e68a1f61db71746a62ffa98b6deff7778fabb3db9ba88d546b62d20281eef1f6f5c12acfc229332c6c9aa17fcd9c87febc6ed46f87a605d7b74bf5a7b737d5d5d880306bb8532e60c4a1a4222c86104c7d90476c928d809da8baf1e10041e206ffe4e7ddceb9f6c9f94f9d77b8e84f1766c85018024df0bafff3aab5427f3862195046002e0602f2aa3fc4e18e0420fac82d04c0d5debaf5affa5352d4045cc9587b0487f8f30fbe037cc68c19bd7bf7e6ce89c5068022cf9f589328bc612120ef5947cb86a74a2e30f0a1056608452f001810875a4667244874b336385f451f8073800d00b1d46e60fb2217a8299d54960c31ba00046373a431155f3b7376c5dccf7f3ab85f669f1e66f93766c9d736e19898acbe3dcfe9dde7f9399fad1b3e34f5ac29e0608f205ce2dc3e562f7a3fb0e2dd1f4c1c9a3628d75f9c57b3fd716b16139776d8901f4e5cf6da5befae5b72e4e163cf620274470426f0e5f24fbfdab164d4e94307f5cc595dbf6e49f14af826c6c40ded75d8fad337ccfbcf579f2ff9f894637f081263c10580858b0324c202a36664f4a289975531e004610063601800a0c68aa4236ae40303141aa0c9684c1296b899d10b2fd4e8056081997801cbb8e8e5708c432f8645179a1efd1904357b2538ddd144924c9b0c9b6008e808330c0106851104c00b36322f002600038605a00d8380746708920cc3a2666490080b8cda9daae80003f02830206628d4aa3fa5832cd4932a01e3ea8054fd9d85d3f0531559a820b9c821110a792809dd281d1814360550dba8eb3fed9c7fbfde3eb6bea4bcbaf7f97f38fbd39fbe347f69d1e49ce4c63d0163e18a302c6a4606190cee5af8c6faa37f363cdef86c368100ee2459fff5261e04df078331d2802f00eab659ff3b57be1548bf6e38dee4b73f489271390a1814cc1afaa00b38d68f9dc71734b8671bf67ff4625e7101ccc8e76c827677823b8ae3dd02fdcbd7bff5f862ff958f1e535f53591ff405fcc1185c083b5bab09c246d5dfbbff308255d8fe5408c9387744a5ffe46b7ffecc557ffbe4d4a963326d6c8485eaa83953a48da6e80003ce0206c4300040dd36faebfeaffa3b8b102b0a052b1ccb0f854d0158842d5dffbaffb774ff39a4f4c7e1aa4b972e5860e5e5e55875fc452cd9f72805971c30cc20266a30b226b956b950a3d45cba302070374122209828eecde96ae3f31572e2a8023c4df2a8dd80cdb00c48884503016e925d7c35a2aca851302ef52afe72c1b04a7f76519999b7d064a49ba4449b527985292cea525c36b4cc9ffff982e04fce641c5c21f8e2fe470df7e2bcf987773369ede27d6b169be4f440bcfd0c7f7d4d85afa40824babedef8457dfd8f6d40a72008bcf86af7f596656903d393521316152c4b4d681f1f6b3f9e525553595c51929896d8feb0f41505cbffc719053c5f17793999099f78f04ac959303eb3a20118343922070576af3086a5015d58732d7244d8f0e984661c8b69203807651787132f6e91920f788a4601e92b994b70499839305b92921b9aa23f490c8d5034964707e6e6a9391092813d6ba6cdacd80b8c2e62d6b001839a130789a2faf3f2410a2aa3fa6365729d4090036afdd7d496156f717e0ae82baf4b688717ae00563cb62a5c5caef9f0ebbf64f5eb65fedfe66654d75662afc11d88df20c5dcedede1ac0a107575f8b4b06ff397af3ff0c87f0ad167cca43ffc7d429f246855b8ecadbbef7dd59219475f73ddcffaa7e0d853f6e1c3b7fcb7fbe9fd37be34ed4b73d5fd7fef53baec99271e9bb3aa0c563993fef0fb53fa223253ca5ff4893f6d422f7f2512f7d517bc7af7dfde5ee58cd0eda82b2ef9d9904ef6b79feb8b973f73df5db337c2bbdbf89333fdfe76783dc4d02ebefbf89333c007ebebd6befbc8adefc7fef1c65ff48cb79bc9aea5d36fb86fd36f1eb8b4af59fbcaa30fbfb5d4066f3778c295bf9cd427a561ffb7f37466bafee377fc5dcf1b915c515d591734edfcc9d54be73d77ff6333e1d2fde8732ebfe0fbed81eab6ee4eb2fbd1575ef2b3c19978792d9af3fc3ffe357315fa4db7497fbf7142325e62823e7f7270c3d2371fbc6f1a66de7deccfae3cf7d81453e7eb7ccc44ffb36f7cb2e6e8537aebfea3fb8f5d33aee7bc0376ffb10733248f5b09d7545f7f2902d4e04b2a95b11b8dc3a079883fffe04085dfbc2a2b2bc3a3e9f8f1e367cd9a85cf07e24690f58f572b60c88842805ec1a22a81bd851a0b6c207263cbfe2f0c016a90b021a0a53405906f4eddc6e7ab28437a2626a983670103b11a5b0dff0be306c06e633451283adda00e4ac3e164c5ba01d5bea4e585a6a2de74d9659293edd0a5a5a66057d29aa20126b869ed5a5882830b0f1b0c8850b51579d93db3e312ea6382bb7c753e7f75b51db7b61c2fecc1847a742dde9ac771792de122577747457ee7611deb924c85bfd2172caaaa89836f757d359ac18460e79e993bb66ce140a871476174268f2682202c9afc0d3f9b8973d0024f33da30677a01a308062043925ea8d164c2fc2e0d190501e1c2e46186262c694f8c9a2e8c0c47c694bd80619900ba50246790e8852500a3a189b1188a2e1ccea33f4814aa417718232c6aa6ca0888294d023062834c301ce28011cce980014051fda10fc451fda9039604016a62d407eefac7d731612258ed351be73eb7ce9f3d6958126e22e7b787312f94b0ebbf70e9e77eff0ffac657066b82b535d8fefc3e63b759de35b5f5b8077d085a5f93f7ca3f66ec38fe8ac7cf1b58b872436da70404ac5a3ff3babffd7bd42f6fbdfb988417fff0bb7bfe9a79f7cda724e17c565cb4ecbffffa7ad8a42baf1dda3ba166c90bf7cf5d33ead6a9bf4c2f585d6832799f621dd6d7572e9db338fbf41fc7d6d457e35a549407fa4efccb15a3d24b16df7dfda32f7c3c7ac069393edf8e67afbee7939413fef4b7291d762cb8ffb627fcfe5ec8afa6a6f0b9abef999b72c20df79dd9b1e8cbfbff3c3510e88d8f07f61e961b78f9b977e64fb8e0e84e7575a51f3dff4645eecffb246d7eea97b7cd35c3afbbebcf3d62573ffea77b6ebfb2f4a607cfc974def18268287e7fe5bae5e55d8f1f548fc315e61b4cf4174c7f70eac05f5e776bdafa0fef7df185bb52d36f993418bf252049def5c7479e9f73cccda7f7af58f3f1d3b3d6fcfcd6078fcdac58bdb63406e94140d3d15ff0caddf7a74cbae64fd9eba63d38ed994f467fefc49ef155a5317d8ef0bfb36e73455d8f38ddff1b5fc274ffc722c43d75e0ee3ffafa0b05f4f9071b3b5632a490c58c8f02262727636183c1d6ca87b751a346cd9b372f3d3d7dc28409e04f3cf144bca3850f07cafa07892030464014ee0fa85178a77800481638a20b0335120d8fb8d204402f62ba99bdc17b7bbe72e72ad803d014861360d3a1ed54439beca2e8c06ee0c634430db96986681411351774626c20ad4b8a894b349d524c6a8a699788174c13e3b775c0dfbea23c31d65e5d147b7d9c2bc4e31642c5e22b4c3a66f83b740ca4a51bbc79159b00d25fe33709fefa40306657756c71c35184b3400e004c263e21a64372726a62524a426252203ed11f8fdeca203e52830fb204d353aa6be3cbb8d47039313a7d3d97964714c4c45c608c0233ce0b5d0470014f1b397b2020189270e1eca4860b9ea43159307447040e0117325cf48c0386247ae1056334990930c382a1319ba8991e0682178c390430008230557c3a9173a497477fc46492e8451ca484381c1a4d264c170e815ec6873d19180be010b041812f223067d62061497b0016e606ccb190397d51a38b13840b78da7052cc991168c3a1a5860b46a719dd290ee39051fd21a0eadf86ebbf6cfdec5bef792530f8bcdbcfec515154893b0a2b0d6b9275c8faaf5e397761f69913e3aaea70036319db3b1f6fde3bf71d8cebea41e2b5aa3e68ec27f3fceb577cb3b937fec87bb0a2a4b2ceb76ed1c78140df637362376ff61f79ea31ef3f397f63c529fd1282b595fec0889f3ff5fb13eacb2b2acbcab00b0702eb967eb56aecb09c3ea6bab4c2ee1576fd97aefd282f3071784665adc3b4eb77fe8543ca77ee2cf1f7199cea9f1f6f3fd25cb566e16781c0e4df9fdf37b5babee3f17fb9a3e29c3fcc423e15ab167e0afe77e7f54fafabcd38feb6bf969ff7c70ff18a5c9379cce42e2ffcfbdd2f8a474e68b765c19b3b02937f7d44d9ca77e7f9fd936fb97c40c7aa5a33f4b7379c7dde752f7dfacda91373ec8fe19089a37fe9aec280292baeae4bc7b8415319081c73cf0b57665696d50cf9d9799fcf7e76c9ba924983936d92b955bb8a773a492e88c711c91e4a21dda2cf17e79c3472e0a08c8ab20aec20754144c8fecddfef19995a559dfbe3ceafdd525b5f85ed040366f5ebeb7f6b27e66c7f1aa7eb5ff7ffc61ff4d89bc27995c182b4eb4a5f7ff5f5d77926b4bbb253ecd674a03dffbcf4d24b3ffad18ff027838b8a8ade7df75dd4471d75d431c71c3368d020bc30a18907004c105f1e881f11bad73f66ca572edc08983d6a3401a806b007d0c651a8e10192771018021aa046a18ce45193f10037697d2294bd3d5f45086b6966e936e0f4c8138b99bb296604108b00faba190aca5ed4780f118fa478f9474c888bc2df874b1ad4af78ede64eeddb9b2ee9262bcb74688fab618a7699ad8526b1706769715c76273e34f0e15874c4eb62527aefa2e0f66eedda9b7669a65daa894db3d3a9293615b1a6ae7aa72fb55d874c7881e3c5604a7044b3535af7fa92ca7681f8f67189ed63d252fcf605bba4be7487bfd82e9a52d325b53b1860d8635e0c821a98990363ca3c540023382c01acbb730a078302032ac3f50703b823011c5d302f90b0813d000ac7c2103000899ac60030038f689c11fe5833304804048f02001730e20bccfc191cf61efde1c2c80408024b9801c0121962141880e4410b3c9a1c51007d51c305246c5038169ad48a3cb3153d91ada4077736e94e4b310029a300abfe1041f53f98d67fc197ffbefbc579fd7f78f51f7f945bb8a9103b82dc1172bfc815b7ebbf366fee6adff13fed585e5363ef8eda1aec178931f6558dfb4f755515f60fbcecd5c674bfe4fa9fde7edbf3f7dd34d3a40fbbe8e21fe5b4af58b3bcd0efdffef71b6e7416123e13d727bebe06c658559dfb666fdf988f4d04478f9117debeb6f086698fdc31cd241e77ee25130fef0ccd11bf74c37fb7fb8f1ad8beb6aedc79e779e7570fdff5c4271b2a7c4949c1725f4f7cda0fc57ecc2fb59b6fc7ae32ec9fe55b0b2b914f6d5555752ceef4d41eb12545bbb077956e2fb69b211c6acbfca37f3c76fa83ef2fde7e5cc7b96ffafde3c776f357ae8cc156dd337e67493976b68a922aa4ea8f8b6b78ef1d12d9b9e3937b08ddb8ffd405abfca95d7d055bb6d5e23137d0f5f04efe5989f6a735252b6d92ebcb7d49ed82e5fe1ef0c4369533f1ea1f6ebae7b52797befbafce474ef9df2947b6b347d24a5fa7b1fd03dbb6ed34b5952549d8f19c8d117956d721795f4d6525be4a08a3cb6e090ce575ff87448eaebaffdbd76ede8c5815f676705e58f5f517770a1f69f4f9471e6fb03620cb7ef8fc939595f5da6baf8d1b376ee6cc99f89d2b94afbefa2a3737177f050b6b9bafbf481eaf083205f02c58ff981176034c8d183c9adc2481d18b2e1a1070f7a03d784f133cbb0858d3cccdb408b7fdf94ae623f97918378f2ef612a0862e30700376513bf29e5a8c711960c6ab028c3850307ef8d04d3b77f5efd9d5744c37bdba9bcc4cb066db3613138fdfc5dabcb6b6ddf0a1ee95c7abc22b979435746be97b39b131314931bef8f6263edd261f407ae515b1b15b2aeb6180d171ed715131348643c1ed8d1cfa74e8bf7cfb82a4bad85493d431262d39c67e443fb636806f8daaacada8db56ddb7432e7743a40a7bf72c98396a90b0e18a11038e885e16ae3c8c0b1e0524a7c04302f5a47ab021808df0e2085f0c442f60f01c1ae901b3602c2ac341618638e8e2b8a1fa83673230437062985131ee83b4010940cc2900c34b5c08240d4400060933f87af407cfac18043562c28580d367e63083bbeaaffa636d1cacebbf7cddcc7bffefb3232fb8f3b26353f2f3b66187b51b41e37e1576fd57e62dcf0f0c3bac7d4d4d95f3581fdb6558e7c01b793bebebed1feec3ad54f4cd52bf7f485642b0aeb634d06dfcdf5f3ab5f0eb59f7defac4136ff4ffebb9a3060deefccee6ce773cff876ef6d6c3bfbaed799bcaea7dc617309565b5c134dcdbb80d8bcbdb9ff797177eba73edf4fbaf9ff1fc8b03075ed1bbde7e49e9dacf3ef59f7045524915f6bedadaf24f5f7cf4b34d23fefaf46ff1bdf26f5f79ce5b71f6274a75d57807b87c5d6165af44fcc9ab604d59316e7a9ca3fc75f8f153f99a82b2ae5decdb5c15bb76e2e75d3814d6c70613061e3fd4ffc9b47f3c94585439f482e3033bcb83751861fbeafcaaae5dad71755981b3cf34ec6990c869a6b6ef84f355c30e6fec61abbeb2b20a2733bfbf6ac5a2edf8f5aeeafaca4f5f78e4b33c9b64cf98bab7af3af7ed38fbd41b2cad18f0836b5efc61d997ef4cbde7a557df1f3ae0b4bec98810a8acdd5e569d80ddc7f8f06616762b6753aacc5f9d17c81865bf35c461ecbc74ff6ffc912224826028f6eaebfedff8980441b04e200e6e64ac58f7f30f786701371cce896106f5b8d7d117bceeffd0ea60ddffb93c70d1099cada689fd1f0b0366b0dfa7fb0fcec0ddbb77ffe0830fba75eb161f1f8fb1b2b3b331280a1288f4fc69536f7cecc4d205969a53e33a6710f6221a010c50b8ec89d9144c005f0fcf681eb3269b6d76be624251c6a381bb1663906e1e42b009401c0a60e021118d0c6b4a0c1d33471d55b069d317553523ba66fb3b6698d4347bbe0a1a7c0afecb9ddb8a737a651c351217125eb8bba83b6a3cfaa3d9a9d7a8cd4bd77cb56ecbe1edd3138375fea0fd31002c2b6aebbf5abb6d97e9dba5fb9168c21e35962f7a91189b03b3876c5bb369cbd26d9d87770cc4c404fc56ea406d8cafd207b2434d9741bd866153038954b9e5c191050ca3a1170c7a391d003431169bec45f20c821a5d4c0018850b140024a6835e144400c34181d1852623b3e9c174470d4db077a397d164201ec91090f15933430444e1a0a8391618f4d28b998047f1e80f1b587253402f31ec01501c0ffb9c47330477eb8f5ee4898028f8a939d2462f30cc100180c64c0c11600c86915183a10187432f186000f4c28b4df6aafed4848af14aa9fe5c215c515c66a8210bd70c7abfbdf55fbefe3fff9c89117b25aefd605629761c7f52a79c9e1d02a662de330f7f5073d46f2f189b18b2fed77ef5a1ff885fa5e1dcd0b0ffc4771f9ce29ffdec6b39ff7be2e0acdaedab3e989bef3ffcc4c4da6075e5c68f3ffca2f7e183baa475c4574ce4c527d7d454641f35ce3ff3953b6e9e7af6e947a7052a366f2ccc1a3830d55fcf9ffdf00eaaad2d59f2d1cc988187f7efda3e2b23c5bf3a25cd58896aabf2e62ff59f7c4da70a7c9d86dd21fdce175254ad5ab86053c167cf6df7e3cfc9978cca4ceddc2fcbffdebb6f7c9079ca90fa0d9fbef0e67ffdfe6e26581fdfb93ff9cea70dab5b37f7b9190bc173895694679e7c72cfa5ef6dacf2f73c6550627965655cf7230ef7bff7ceb4f7bafd744c67fff6f7ffef1dbffff0237b265797e3dd30d97ffc434eeaffc6f4453b478fc38710ea82e9fe8a375f989576ea517dcbd7cd7933df3fe0ac61edea4d9cdd36aa56fff7cb8d5be63def24597c7446e28e653316aecc3dac5772a76c74a725c6398b01d06ecaf86881afce6e26c1fa5ae7330745ab96fb8ff8dfa171f8f4b2f36aa2fb0f76152c09145c41ee30bca74882817abcb8baff606949715658c36b25484a04d1be83fd475f7f55ff08cf9f5890f8368bbe7dfb6289e2390d8f52279d741280dce378e2c28ae5ba95e74f18cb8d8f5e2c75ae70c11e007718d86dd6d9465013c08c854d77ddd813e67f8f6f180b17d566e72b57cc30103981951a407028cf5ed6e885343406204693589a901b9f0fc473b358e20ac1177c7cbbe48c934f2af878ee876bd774890d64c4c6199f29dc5698ffcd371529ed3a8e1e13939a86eb8a0bc937311081be081e13979ad5eff482f5efccfb6c45e71e3b33b2ba20666141fe960d5bcb2a7a660d383136013fe0b56733ba705343134b24293ee5c85edfff6fdedcaf3ef9ba77d78aacac4ef0dd52b0756ddefaf8daf421bd8e6e179f8af4301c1fd099392280442630460129bccd2726068b8c077d2e411813c018982ea2839c28e02b968cc9330349a68d1ac161c937d6d1842582b3060f0c2fb8b08b899124967169cc94604c7be6861a2e08c2dc88e11e567f0e8d9af9230e4747139801815110074d9268427f62009ac1113c300a315c600352f557fdb12ab0180ecef55f8b4fc6d9bbe5b57f4e7596bff1251efbdbab8e4bc03b3215a5d595813ae726c11aa008b83b6262762e9aef3fee92ac921afbc31487af1f78e6f53fd871dbebd31fff72badd977c19c7dd70c111153bb6a177cdfbd3df7e7f3a802f25f7d79372f13b5095edc7dd7d8def8e7b5e7df4be8fc0e34bf27ef6bb3e4971f8f45b003fdcc210cefe135bbb69d62bb3663906e6a40b7fdac9575d52551fdcb66695bffb19e9c19a4a7e1ed83f72f294f7ee99f6ec232b8209b9a77cbfdfdb73debc7f7ac76bce18fadb5f9ff2c787df7ee19ff37cbe01679dfbfd979e5b837daeca9f73d5a5a75cffc8dbcf3efc893103ce3aeffbfff7dcda7a3ba009d614658ffd9fe49953cd91a776aa2e2fa93735d51d7ef5d72b1fbdedfe27ef43105f3071c4a57ff9796a794159ddee9f5561b269c34ecdfabf07667ff3bd937ab70bc6606fe91e58f1d27d1fdaadacc771175f362ab5b0b06ae4a43391e4d30f2d378943268ccd79e7e3371ffc4fc7df8cdcfeceb477de7576d1cc51678feb135b59521b0ca4dbaf62c40faab0ffd4d527d97d135fcb610a17bebbd09f7b7d8eafb2d47e91120a864601e04ea5fb3f560ea57056b4d5071b388aeeff5824fafacb5b4674e0330648ac10ac1c2c1214e796b2cf1b584224b996501f9cfbbfb38d60a6100152a010430a4c19e477f8fc83abc00b81ac90ccd8b163f1188fc490129ab852bc5ea8798fc318c9a3f0c607ef4c68f7831f9abcfab02780256d08dc3105d340c6224f722feb86b72f5a1d8549c3dd03a4c98bca26eab08536a8d18b5a008d454d779760baac58b1a26bd7ae48833c4e08f0825eb84e784d4a4c4c8caba92e5bbebce49b35e5055b619694d529a55f9f76030756c7c6e18b20712d79a9785179c9110a57088799587ff5cead0b4ab62fad285d0fdfc4e49e291d73d3b286d799047e71247c311c7ca903bc100189e1f7f66a4dd59a6dcb36ee5cbd73171e4482ed93337b74ecd7b3c380387f22c685bd78c11e4d0c8ae4e1ce2ee60f12a77cea00330c07860670f7ac45ae2af402c00500f6f00266172390e7ac69805aec815160c381240886830d6a1ad09e2482d39e5340176c983fdd251aba70511801c6280c080300a4e7d69fbdcc1943501999025c50108a5901a38b6600501235228007090033ca8b04c863447ac11200a4eaaffa7371723da046018315c2a5cee5ca55872e92fbeffaf725f7ea9d15dbf860816cebeb4af3d61754d7fb3bf5ea99e22fdfb06eabfd152bd7faafdafcf93dfffaf2b21b7f1d575ac63bc5ee3f26ae5376675f69611936a7407c465a6cc1a6cde575fe9afa84de7dbbd495e1d37fbeb8849892adf93bcaedf69594dea55387f8d25d65b1b1098989fe2dabd79499f84ebd7b26566c5d9b5fe2481a93d9b377727d7915fe8c547c527de9d6bc825de037cef9e70b5bffe796b37b5738871c30b1a99d7a748c2bc717af26f9f1fa5b5f5b11e7afcadf568a1f7f65b73325d57571490935e5f529a9b105ebd6eeacae4fc9ecde39b11e7c4c425c6d4510fcb60deb4b6aeddd5db671de432fccf9c9ef6fe965ca7105c1f8e2d3ba774dafadb4479a84a4d8e2fccddb4aec4f67d0c54d033818484dc9fff7f54f6c3eefea73fa65776f9f18c09723d557e197c302f1fef24d9b8bf0cbd7f1edbb74ef105b51852048d2d4d554c407aab79426f4cc88c50c7dbe84787fd9c6f5f9d85f123a76cb4ead59b73a1f32f963d37af6ccacd8ba7ecb96a57f7b60daa8dfdc363ea57c578deeff7beaefbcea7163c765c25ac5b50360e19d88cb8426ba6806a0fbbfbefe624960796031e0a51f0b0300858b07b50092b0a1bd7461139035061bac313e69d080f624111c96b047c1c243176c54ffe8facf9e3d1b0fc9100adac272fdfaf5c71f7f7c4a4a4a74fdb76cd93260c000c84e330016341ba1edc2151103e922c058b0646f68cd9c69831a0536528705d6285c699858b8ae6671d405a61ec0266a01b0c1ca634dde53a3178cd4a1004b9606e8925e32385fe1839b20a129d6346ac8872e3c29e2f9008eeddab5c3654b4a4a42133c6cf0435b7c3b240023404198a157f2144d131212e00e5f3c643026fef0197e030fbe181103c105c6f8aa06d9d061899f85201a7cb180ec212d164f38f6d7c171242b292981311d3128dcb914ecac9c293019d4b4c12ce08e803083014874112307daa0c9c7623449c206d932378c4233d6e0d1cbb008484bd8206dd803a060446086e25868c2d18dc12020a3013379b8c086bce80f06661c1d66b4640d1e003960d0b0fa2332a78620b091793113c60419567ff8a2303e2c911b9a3046a1230282412830304321e640b4a150aabfea7f88acffc2e5efbeb872c06f7fd8036730dc1deef5ef8f8d8bc3af0be18b04edef7ad89f7df21e898b8fc75b44b893715f91c40d85ed2736163b6a10df3a4133d6dc3118167f0b2a06bfcf545b535dcbfda7f28b171fab38fed2b199f863c1aefd27e88b09e05b366aedf7f1611b04c23717daf3495c8c7d47ac169ff7e6cddbb0ff387c7565852fd0f0d96067ff297defce4717769870e3a5b9e5f66f7ad99bddd97ff02c6ecdf02a8aa0e0b94b488d5493327b967cf67651f7c19d12b0e3d763384c195fb481572d9ad9fd272e015fa958535d03912c896e74e2cf11fbb0df22aa7ddea271e8fe53b569e117f523a70c32f925f643c8baff4004b7fe5839b8589405970c5d761934f5fa0b33142bbdb3e147d11f0630434158d51fa2a9fe10815b19571a9a58786e0c06cb1224b5e2e269d87ff67cfe8417ccb8fb39abcc2e33da8307e0923bd49e7fde7efb6d3e7342498880bbbbb8b8f8b4d34ec33b22519e3f376dda24e72b480ae950b300435860213d804dd4a1055ebca0a8d1cb5a80906101c8b065afce5758190c1a098067815923f4fe0f59850266536a8768a860e669e27a90c4f9aa73e7ce5cd958a37839842506c5c503162971cda03e9a7856462f8e4960100124ccc0c0174d00b80350716098a18bbdcc413e8e481b18232c6a14b8b3e658e079c95123617e620d5ec8165d18174902c00b054d9801c0802901a06050c64704c6414d923c6c30291ce460e044b21160802680c42789f4c0a0a017185eb004408101d30020469ee845920c050c036030b00760281847d71f8eb0842f6a4c0d92428a66eacf4ce08820362d67b250401206402f6a140cc11a067441138eb87ccc1c3c22a8feaabfaeffb0fb4fbbcc1e5d53aabf59b5195b8973b77d9bfb4f5ce7debdfc3bd6e715357cc4b72df79ffacaad053bdbf71d9858b20327bf96aefff4ecae755bf34a9c1d883f6dc1c6027db8e1ece5fe1393d6b94b7ce9dacdf8360eddffbdafbf1459f77fe8a0afbfb841b06fa3e61305ef3b28a3cf3fd88e500ea0e79fdebd7b23613e573373ecf6f9f9f9d8997141513097d0fd7fdbb66d72bec232c002a0316b4f132419e10158d8d5d8dae37f8c2b6d62d4d1010d3c75e0a69b6ef2507bdf745fe3d068ee5ec1002cb06f84deff713b49411f3141616121de62822f24038fdb0f35040240e1ad481e37210aaf19ec698620bc6901484a8d80c008820711141cc950c30b6b0224ba380a6af030a63daf0dbd382e46b4fef8f640e7779c40c212242c01302e30d3401730d34617000a0dd8c4a068a2a08968880017268cf868b21798e991a101ba00d0055f1aa3099271d8450624c605863bc4411335cce494820820313419601883040347d470b4a937ea8f5e14984941936660a2eb4f170444cec4cdd7df19b6e16e0186b6181405a9aafed081cb43f5870e581ebc6bb8c6b074c1803fd4d67f7971e1b6edbb306ddc23ce1dfc6dee3fd5a53b77ec2cabc625687bfd03a93dfbf448aad95552d5f07b652d5aff55a5a5a5d5fb6affa92a2d2a2eadc24a434abaffe3be830ea8b10251ebfe0f05b036f4f5977b02d703d6863effe0e5099aa0e6431def173451c0f3e58caf626000f6abe71ffc85ab1d4ed9ba752b3e4dc6262f2eea48fb3f3effd5b16347cc05c59968c39b136e86bcf4ba8198d1dd5d8b174934ddbd82c30290a1659f9caf641868444cc980c9482d805d342389ed15858c1b10db3ea79700e72b7cfc0f4b0771e4aa60a9f1c1088b0c243080d4b0843dc7a217d484196a905cace05180310a43a1c994e80b8c2ec7ca8e8b266a30d20b2f306220c61885c9302cbd68861a668c8c38304093055de0dd0678ff073670871978d6002079a7b10b359bd88f100187130464028c0c9213872f5d98218f318886267814c401c6407087179bc00030a33b6ad88081196cd00b47ba48cd24d10b8002030e819a2e706717dc91244381412f0ac6224017cd10010c6a30d20b2f306220c6180561d18b225e34430d33908c030300167481771ba8fe5086baa9febafe71b37031400adebf58152051b3f91def3f351555959525e5f618833cb94bc8ead5fd879b1b2f197748ddff75ffd7d75f6c14dc1cb88f0163554016dc2fd8d678a700e8fecf7d955bebbedbffe57c05e5b97bbb01316a02183013361dbaa142171181d41e5e1c3d0668ba19363db57d96f550cd6f8aaf07b089da0d88f13406c0673282d09a3658caec7203e9029002b3e5cb97e34f9501404af0a8815130175e720641935d908cbd60e49e01c9676e21618c0203dac385981f96c36b0fecc16008468331000a7200891abd304640583ac11a3ef5075f90289c051ed361498663c118803faf822fedd9c598780b9543a046a13b4747931301c917483802301a6c680c338e889a43487cd8206d90484f5265b6480c0096e8e58c38590e0d064dd46cc292a360443068b28b03a189822e90605098b690e05160802e062456fda915f551fd75fdbb6f2e602e09d4b85f74ffe17ee29688fb89dd7d74ff7144d0fd1f778aa3847d69c352c1d60aa0afbffafaabcf3fdc1c7077f0d6e06bca77f8fc89cf070e1c3810c9f0f987359e01c800f0e675033126f0d4981a5d50739a3040114c2075580032b4343ce58776b49ae1cb18dc093c359ac20890b19c4efb144e10b6c64383f082014e3ffd7489a3401550055401554015500554015540155005f66705f2f2f2f03d70722ee2f1464e3bc81ccffc78c847c1171fbcfcf2cb68824413963c0e00c35e8e0674a1196a31e3a989bd248105882519a9c51ea045a52dcf579c4cf387873d5d08226104449795b6f16445ec6ed2b7f943aba52aa00aa802aa802aa00aa802aa802aa00a1c280af038c0d3174e014c9b67213401586086024c4033c1e44102347fe20cd87cfb865f7169be43332d9187580a2670d7b071370503b80b8f5234f61cab600606458653a00aa802aa802aa00aa802aa802aa00aa8020793027ce0e70101d80d304d9e0848ba6b76796a4f13f660840cc5649a5fb7c1f94a726acea83416177713589ac4a1b55b4d0c070332a89b33badaa802aa802aa00aa802aa802aa00aa802aac001a7803cf3f3bce03e14841e1984c1348909a416c0686836a734d3b80dce57cdc906369e84d894da0ddc988e6050427504c382de66a61162d6ebf5e327be7fc4c066f32186fb2bf1ccb5e6e5f3c32417890f63fa6d52fdcdf4ebcce3a7b4c190775c62665e6e8e6d61a4d9779ac5d735d7e7aa49e6f10bcd3397980bfa37d365c48f7f76c179671edf4cebbd323bcedcf5bab9f2ecbd8a11def932f37eb179f5e5f09dcaaa02aa802aa00aa802aa802ab0ef14e059409efcc31e0d782240ed066e8cf4a4e94e95a49bd91bdc96bf7f159a87670292ba9b0f25c19024608de0049095bd0442868ede2c26e7b053d3d34d4a6f337ff91ef691f83d8cdaac31e2a449fdd3eb16bf347d495b851c674eec654c17639eda3362247e4fabefa0d5d51cd5cd94e34f76bdb9b7834fce35c9c61c65ccdce6471a67fac327d95c65ccbd4d792d7bc87468fcc8ee89b9e60f0526e7a6a67c727ba627c49a843e23cc070b9ab2ddcbfe676798c1edcc8a2ff6324c18f7b37e643aa69a8e13c3743593bae86573ea20f3e260f342331dd44c1550055401554015500554014701cf933fbe2710a70090f22b553c14f098000f02d434e02f5cb99bc4b40ceddd1bd5f7c9fb579c8f3b2d610484f6b24b6a3700f6144aecaedd015b82ebf0ce17beb13cc425121f62d81644b7ee5969e95dfae7b645acc618cebc1a1baeff23f12e93ef02961a24566fff24f2de966a0432a6b845616699cf0accca254d1fae10b5aad66c5c671e9e615e5e67734ece320f3439d69295f9c56545eb97eeebc3d5114fd9c355ed26f3935b9acca9c5062fdc60d66c320b3d27f69684197592e931c84cbcac253e6aab0aa802aa802aa00aa802aa80735e723ff9137b0e086c422d3760536a8f96b02423400c4219e98a0edaecfd2b4f06d26c12d000b514642c98004c241145e8e8f38cd85b1ce117b722f11103ed55479d9345e821aff5413745708dc447303f74e8336e6aee5c87ffa6d1f24d9373bf191e6372c61933ab910cffff92e92fb4d97b93e14770d87bceb5ff3ddf2d8ac95e747d6826ef5de46a678957ef450aeaaa0aa802aa802aa00aa80287a602f2cceffe42763932a097ef68090300a1e42801206f6411b3d7fdce5558866a8b0b9bd1ebd69faf304cf4d0517ae14b77d6b074370503788afb9425180025ec70778d39e3d2cc9444e7d35cf803b765656bd3def90496971d3df1cf5ddaa7e04f083a6e329310defff9e9671f1153f7ea172f4dd9d830c265c74efa5be7c4d5ebe7f69fdf61ed1987f58a618cfa6fb62cee3f7771d834841c75ea59b95dd3028e07a656bbeb9ba91f6dc84d4a4870fed26f52d6889c5c93166f8af317acda2c4e61c09f2e37bfe86f129c771f7136ab2834393759b30b2e347f38dcb48b319e799fb198aa000040004944415485f26fdd6d862598379e3217367e90ec824bccadb966fd6766d453e68bfb4cf7781b106fd0ac5d6a463dece070d5e3b79b09096675b5e99f6aaab79be915664a3713ac35675e6e3f9e1729cf632799678e37498def9e96e69b9cb76df4ba5af3f84d666296cdbfb6dcfcf8ea86cff845ca27128f5069cc76925977bc89f79937fe65671a269f37ccba9f19fc0568ac819a1da6d70d74b3f5a40bcd83c3cd9b6f98a1279beeb196a9db65bafede02293d9d0b575a2a4408c89970d1093dfd36bca92fddf0d8736f3558e49c74e109bdebb6afdd14e8da27dd6a1dac2d99fbf8737b7308bb6ea549f5999d33cc7d0877b6f9f459b3f519b37e9419ddcfd1b3c8fcaa83996fcc8497cd9f279b0f6e32837e6fb2136d3a755bcc11f828a9316f949aec761620df0d6f98334eb370c2ebe6cff84c20661034419fd9fea639d9e1d175d75273fc20c3cb58f0b139798cb54739e22e73ff9526d11107cdb26566f4a5e6ac6cd31e421bd3f10833e132d32ddde4cd366f7d88bbd1bc7f87e9e86482de6095f963826994c9da6b510554015540155005540155800ffc3c230113e071da8ddd0707288666a43315ba60c0c3552bb465e4488e8d4fb891fa23f0cc294267031dc946780269c20d580aa3485380c78c7cd8f3d55de37f7275963d5cedaaae28aa0be2cf3ba7c4e3976ccc6563a6dcdf353dd5efabaca928acdd7d300bc7d7cf28adf3f962271d3e8ef918d3eb779d702e08ce9b9fb26df2201cae6a6a4a179594d71b7fbfce43f38eeed56816e6ff51675e38b49b3d5cd5549657d5d9eb1d9b9472c684f1a3c78fce70ceb969fd478e1f3d1265dcd123c2f837527fbace5c32d01eaef0585f5c63027ed32ed5f65d70b9b9ed7b2639c654959b1d558dd611f8f70a8ccf6f4e99bcdbecd7ce83f2fca70c7ebf08872b1c6f96e69b7a9fe99d6b165eb8dbcc83d2624c20c11eaeb048e33a3a872b2cd61873c5481329cf63cf32af8eb787abd25d66658129ad3349e9362a22a40d34a76699608dc1e7046392cc0b37593e523e9178ebe37c3e1003e58fb7426d59ea1caec2ea566c4aaa4d6595f1fb4c3c8f16f437263dc992a79e6a0f57e5a5060bc5ef1c0f4c7f33fbaf66f15f4ddec3f617b14ad799298d67d44657d7ffe55555f883e7b576170824d0dfe94d48c4828ccfe883c355b0ae06cbd0179332eacc512ecf16c2b3cde47ef8f0a219c7c34f4713e7333dce3363fa996085a90d9a9874f3f04a1bb37dba9dd7f89bede10a27733baf24cbcfaab787abda22b36299bdee3d4e35efbc6c79b3c354559aaa0a5355ed2cb6f60e69ccad2bcd78ac997ab36199a9099aacd166fa23b6eb8847cc6357dbc355d916b3e61b53566312bb9927a69b6b9f33031c8591d5edf79b4b6e3637de69ed9ffd8b3d5cd560dc4566b3934fe308b6578b2aa00aa802aa802aa00aa80250004ffb721c10005eb000ca254d0011905818016220be1e26b419c91796ad3c5f858e4126d248e0593c8e20c1847679781a84d6105ab4f64436ddc75f85677f53f7cae7cfa6bdfe6a87b95b1b0e529963efc9c2db05c1998b9e4dfacfab999f1444e76ff9605911644ac87ebfbb33c2f0a15d7da6ae32ef9d630766e04ad76c89fbcf6bc3de9d1658598c9974cd1e11f16bdb724e3ddc9ea2ead6bcffe8d47f3dfde41b9b78a9bff8e88b658b96153b9f9b2acb035cb672e5ca2fbf5ae09d8eb4479a8b9dcf68cd78d2e45c6b063c649f8f6de96f6e76be0471cecba6d7d566d0234df0f7de6990b13fd5bc3cd2713fcb74f1dbf767665d62cf0cf5e5a6dbd5e6845b4df6fbf6d8d365b899e45885a99c1554bcc4bcb1cb76d66d37677e694172d708791af3a0f3d57e6be7989cdf9bb137999ccb4c36be56a2b1ec5865b27f63babdec1cd83a984911f2b92202df9067d00c3bdfbc32c6be6fb3728e198ef7df22e9b6d20cb9d2f4b9cae02af34dbfc64476ff0f49fb5c6b4aec0f391c32cdf4493599a9c639149b848cc8e2c07cf3074f3ffed8e353dfa8dc1dcf418ded9ac265ff786ceae333f2c106d2b23c56eee684bbcca37b7e3120de053aa2d1e2c57fda9b79e9358deded5640949d1f9b114966e46f6c33b64763aff3ff67979b63320dde7bf305ec9b54ed71dd8bccc80ee62783cd88bbad7dd62433c198b7ce37c724996392cd31a734c4b4dec7990938ce05cd9d0173c66073a413bffb8f6dcf6d17d97ac3a366741733b9bf191d6746a499877f655ebedb6ca8b05d0533cdd38f9a194f9ba97fb3cdaecee96ecd54f393616662a6392241bffdc2caa24515500554015540155005dc0af020e07ef80f3d1ac09e2441a87b282f2e7074db0b8ec48b412868e3f355e800917212de0d88514b41406202698a8100cfd097f5ea80b99515af68f85c5f027e646fcb713d33f051afaad26fc6af72da4df1c62cbeb1b01a8fa0e3868d87c3e7dd5350cf5b31fb171dec7b11ab37367e9e6bf1373bd1f6057250872bb9033391406de19277396e123f246836af5a307bdeec12bc5f63ccaee580b33ff8e08305b40917e78251f631ba3caff1737d690da7826347d9c7fdea02336596e3d6140fa33b575bcb63a7d8fa2de79435ff1d73562fdb5c2fe7bb69c69e9b7c06f4f47bcd9687f7f8f7d6386b8c72e7c3c61e6611e706d3c9795c8e1d103e4fd874c404eaccd52f587b77813ef5bbcc207e7fdf2c67dc18f3ab5ed624349f89117887b6094f39ca2af3d90c33d61928926e36ba53f059b6b07755fe970d92fee333f3d47b8ee917a6db25a6f32566f2cb665b9d894936f7dfda1024f27ff28d83bb4d909ea92b9cfaca6c4b39a2edee0b4117cd31b75f6d8e3ad59cf79cf96287b90ee7f83fd97781aebecc9a1ef1b27d6ba86e9339e781dd9e56cf2d661c3fb3f78029c1f4e28c73f6b13605af988b1de3679f362fdf69ce38da92792fd9da966b1c7b9fe9c626eb6c5763a2bdbe90f89a7af325fefdddaaed73de9f4b879435e6d65fb98c8d99ffbcb9fd1a93ef9c2a373d61eefb95b9e17cf3d8f3d6e6bdaf6d3de06ab3b0decc5a692e3ace36b5a802aa802aa00aa802aa802ae056409ef93d00366058bb01cddcbc58ba01b0bb30829b6905b6cf486d5ba2a72553e5a034769382093c35bc3c0c9a7c0b2bec2c62647ec9b1f671d69821f8e5249c4fca9d775b80e29be061f2c0475fdbb7b0e23abd3e64dc301cceea8ac6acc2aff4d878e5955b503b25164f954d16bc51d050d21028a42484301188188993699f6b510676b475c50e5bdb92dc040f93a9f73a6f61259b6726992118bac69c31cbc4398a95bbbe7d4f867aea633367b9ebdf12f318cf72c6bef9c3320f1fab6bc4f83f344fbccf660b9376a0bb2adfdcd8ea6fbf633d5869ca23e4c32b1b364f86e061a9dfc0c680ceff61f2d9a33f4c63c3a206f2dea7cceff6fceef8b9b3cc90a7eda92cb0e7070bc3448944d5d644eaf1f03f38c67ef6efe1cbcd9a22fb49bf29cf9985375b93af9c33d23d932d7e6e8fc390652a96dada96e34c3b9f099698c7d83466d3bf1bd063e79bdb6f3171ce65aec86fecc6a4225c235a1cd1cb5e437cf270e32a93bfdefedbbcceacf9d40e648b73d51c14ae72d6aa74dc3ed85c77b729c01de933edfb994b669967ff249d0a540155401550055401554015b00ac833bfe72cc02e0f89a6f0d6b9f10441e0107b90c27800e378c8269bd19f839a740f6fe049c5d3844f2843d2cd13a3760336c3d6de549c9955e157916c19987f983cf6dbc7c6a444e737964caf95439ae461def016d6a9fdbbe254b42ecfbeb9f31e7ef3c99841bdf0d8eb94cc4ece3376504e1a0dbcfce73cbfd657963844ee7947e0d385bb0b7e87ca96c6cf8cedee0845cedb44d5650d1d8b4fd9c32231ada139ef87cde2f916d689e3ed7b5f1b9dcff57de49c7006c8ef01f537f67b0782f6ebcea74d3353ee77fd7bd84cdb639086468302ce7cc3e4b9d2d8cf88f9cdf5e3c23937720f9c6b10a0aed244cae7bf91f3b43182e6fa97f12699e99063165fee048daa5bc3b00d1fb56c6835fc677f652f72693cdf46b670f5d43b1f0375114d9c435c96ef4f334fffc23cf68099dcc15c74a359f18d2958679e1e676e37a6e16b2d663a5f6be17271c35b9f74f4e4ea63c79e879c79ce49acefcf1b9d8e333cece3d38361cbfc7fdb83257ed1ee8cfe6662ef867f93c71bf3a1a9b0274e7385f3c69ac797a738b3dd439bb7ae3127a799e13e33e71bdb35f0975e036dab02aa802aa00aa802aac021ae40d8e77f37097dd82410b9841486007c7426d4c0631fa9e93c7546ea6c3b9ef9b9b304962681d41e1e5980214910b6f624fbc08eaafb33e2523346e49d34a0434a8a3d2438e58182d2bf67a4c7a7f4cb3fa95352721abe6f0d05ea46e21bbc3efafae6c943ed512c58f1c7f95bf0ff2d1f6dbc6e729ff8a43edbc6c7bfb23370768fce380f9415ad7e800e21f59282cad15de263bb1c7bee8f8724a4a739a70f7c7eabc1aea0b8ae4b46a0f3f7cf3a3e7b534ad73e19fead53e58be6f60c35759db92dc724e798853798f4ce26c1c91f71a62e377fce31715dcce21b4c622793ec1cd882917946c55b58d73e64d2102468fef294e5eebdd75cf1b0fda68a65d799d73799c923ed7379f97a3375cf349a6ce1bb0df0d9b2d03ce1f88f75e6da5e66f814b3709459526a0676331d6b4d1fe7ed94c45ee6adab4c46b6e9ee7c5eee9fd7d93f4815369f2bef359323e4792dc6c08c6699aee9f6fb2d3207daefe7181e4137f7447c0966269c2bcd09f7bbe93df148b3ee3cb3e11bf3da6293dcd7fc62b8ed2d8cfc79ce3d9ce332cf9c74a6a9def1ca8c0ff6e0d1e069c6cbee6edf3765379e7f8bebcf5b357eadc53538db84948491e6d939267db0c9c6da0d46fbdef6c7c6988b8226b69799f55ff3de2273ca4fed75af981ff957a19e37cb1e318353cd8252f3c133c6f433478c36a955f657ad9e9d6f2e196906df6fdeb9c0ac28347d879af42a738cf3dedae2b566f85073f823e6d631a6eb09a67fac197daff9f27e83b781bf9a6f36e4992c7b8fe163b421335142155005540155401550050e6d05c23eff93c4b7881150216001c0ec05e3e6d1042f66b411867cabebbd7dff4a126d66061e7b4f538280972e6236896126a400f16d008ba7cfacc4f1c5d7d51eaeeabf58b306cf6cf8c63ef3f51bcf94d602764ec1e12af84da17d1fcaaa1b896f0c37b5c4bef9b06bfbcae71b984f129615e05bfa32d2ba5edcb333ce6965a59b923f70de036a30d8f3bf792fe4952382af9d3d5cd5172c5b69dfac0a347c4a70de2b5f96d5195f6c5aff4183baa425ecfe18db9e316c6b9a99e37cb6b14b177bb85a38c7ec08daef27306f9a570a6c7f66177bb85abbca7e059f9d5724dedadaf29c3d2d9ad2d5bbdf8cea31c354e39d9f6ee6fca36ca8f202d3e74e6b13b1386bd88aed2e6b23e48923dc9de6e53c7ba6edd2cd9c38d0744f3609ce311f0cbe8a70788e3d5ce10f3ebffca4b9c50918299f483c92b7d151a699333f7306fa9e79ab32623e8ea9b17f4fda6f06f73283079a0b4845a8f1264cff81e6da29e692efd94bb06d9519f2700453176d33c2f70566656474eb996b79e70f58d735bea355699b26f40d2e6b19ad4c7fc2be0786afb5981f62858081543378b43d5ce12b19679c13ed0d2e781f79a3fd1ac0f643cd94f34cbb80a9f8c61c7364485017714e9ad95c66fcedccf88bcdf8134cfb7853bad6763f76a499b1c8ca9e35d48c39c1646798f8f806b7fb8619dc33c8ead48bcdf07e2601a7ca07ec77602676b6bf5a36e5623320c37ee670ea30d7300a55015540155005540155401588f0f01f7a34a054c2872a872e37e969babbc2e2e6d8dbd35e58e7e8a47879009a2c706f84f67ffc8a1418f9c60ffec614787c73356bf40283474d408cbab6b656787639260d15ba50962d5b76fdf5d787e67c5cce9089b1356f7cbdfcc33dfbc08f8d35b3bf5edc4c1ebfb7553c7968aaa9bdfbd517afd92354e73f0dc94ec1b7a5edfcf2818d7b74846d64e78ee8195fb57ec192cde1ba73724764a6c4956c9bb76455b86e1777ec387342a299f966c39f87921ef047259acf9acdc371d5c3f6379d1ebea4e13023a1ae9a64f94d1bcdd42f846b31889427035d758a7ddfa6d835c4b1fd4d27e7238ed342068d944f243e6caed1f309eb1286ec6fee18e5fc9da86af3efc7779f4bc358ee7beabad74de71de6f2f343463adb7cf99ca95c648eb9c24cc8366f35fe5420c4ce4b5c7497bdee5b169a17425c26bc6f6e3fc1947d6c468fd9ed75c46566cc2083bf60f6184fc3bb7bcc457f3226c5948684c2d71e0eecb1e710c7998bc69a64186fb09f81d4a20aa802aa802aa00aa802878202797979a9a9a9f87bc178e3087f1d18350a9a983b006a1e22f0a85f5151f1d0430f0d1a3408bd283096e26e02c7c4c490414d004b0204044664d61c8b350cd08b1a4d294c834d62d4610179a9bfcbf3957332b2df648fa3126b32ee4314789cafe4400503c10474c1f9ea861b6e9059b51de8fcd498c33bd49ba3b3b232fca6a87051878f16b75df0ef32d203979bf6b566c461a643c014af3203f0393c2d079302cef9aa7ccfb350ebe6f7c44a13b7c1ec8837a38e35f863da0b7f6a7e1172f46a5d64f55205540155401550055481435981169daf1e7cf0c1b0e72b393e01a0e07c851311318f55a809c8a32643204d5c08f0684a01e3c1bc58203d804da9dbe6f7af700a9288a180bd916c3c7c68130c0b2237c2dd8c90a1e3b6059339392b8b5f0e5756bee9a0395c419989031bbe12bc7cbb1eaeda62a5ec97311a3f7db857c9f5ef67daf56b8880bfa6a587abbd52539d55015540155005540155a0550ac87100dea127023723e71f5aba478399bb57bac847eaa559f45e0905d036e72b77c4e81899853500efee926628295d8843ec66c206df0b72f12f1799e18966c396c50f6cdb8b30fb9febd52f9bdc74b3698999ba72ff4b4e33da7b059e37df6ba37799aef8a9fda5387c6870ce2d617ecb6bef33d508aa802aa00aa802aa802aa00a34a940e8637f288320205913302c2d239dac9a1cbaa5066d79be724f234a1e9c615883b05d514876a10e1bad4dc8e7572d6ea3c7d43649a7cd824c9bf51dffe2509bcd4403ed6305f0a781e7efe32134bc2aa00aa802aa802aa00aa8024d2a204ffe514e079e20b48c74b2426fd8aed020cd31132ffbbb5cdf4909ab0b3361176a34597b78b781741168ad0aa802aa802aa00aa802aa802aa00aa8020799022d3a14841e16dc6ab0d7cdb42dfecece579c864ccf2d99cc90246d221944e995380a5401554015500554015540155005540155e0c055409ef9a31f0a30c14806ec0adbdbb6b2b4fdf9aa15498b0b80e0d079b2d75d87da8461b2cfb8f8e28bcfc809d3b3079573f2ef6ebef9a29343ec5acaef11541baa802aa00aa802aa802aa00aa802aa802ad0960ab88f03c491a2bb7b81239945e25be182506d7fbe627e9e6cdc738b3401e169cc089e386223a3d018dfd2eee9729ab993cebbe8e2d3bb0077197ff1ff5e7456c8e1c9e5943df2b4934e3a61645f17e5c096f25e7f6dab02aa802aa00aa802aa802aa00aa802aac05e2980a77df71921522c3941d0389299870f35661c8f59339b6df9fd169e21f73e514e8c71249a00cf70a1cd49178ece92f9058d2f90e0fce9da50438729aba932a6b626a4b7a57c4800255401554015500554015540155005540155a06d15904341e861a1455f470177b73d9ac8d3cdb4346d397fb4d4b1b9f64cd16d1dcab87ba363f105f09410c7b11dece46a3efecfe6d1a7f7cc7bfdd1199b434cf62402b659b127675b2de5432328a30aa802aa802aa00aa802aa802aa00aa802ad56c0f3e48f264309684564f87ace51a14c2bc2eeabcf07ba53093b6d906eded374bbb716c7387f5ad997d5c59e8fe23a342b4c6d75878bee7cf6c379b6bcfeaf9b731a9d5aca37fae9ffaa802aa00aa802aa802aa00aa802aa802af05d2ae03968789a9299fb6c22642bc0b771be8a9296677a9e59797aa3c409d7f5414115ceb531fd4776436ff58e70267b72d5c60cf8d1ef7e31a66f75defac22a9331e0a4bbeefc89f56d21bf67546da902aa802aa00aa802aa802aa00aa802aac0b7a140e8f1c17dbe08eddd17397dc7e72b4ec93d6d309e99b3576cd8ebb1092bcdf4275fcf2faf6357b7537f3e2137ac95975cfada1d274df9c9697f7a03bf8e95d9ef70e96e292f8e0a5401554015500554015540155005540155a0ad14083d0ef0a4c09aa3841e16dcbd6d9549d838fbc5f92a6c66a16458994846d06bf3f4a71f7b7451a10de58fef39fae2b38e974ffc8586b7bf6755b2e8d90bef78cdf6cdfe625d9509a4f738d9f9fdab16f161422ba50aa802aa802aa00aa802aa802aa00aa802ad55409ef93d8ffde45b1b759ff81d48e7ab560ab0cd7e2760797125eab43ebbdf8f0a8d86f355c18ac50d7c4e4e56bca9ca5bfe8e73be6a111f1a591955401550055401554015500554015540153814143888cf57d9b9b9d9f612da8f0806776c2a6ade5f142be3553fffd2f1e9783bab686be3226829dfe8a7ffab02aa802aa00aa802aa802aa00aa802aac021a3c03eff7ef6ef4cc9dca3478fce1a7d4c6d39be9ec2f8ba0db27f65b86adbfa28f9e01cd661c439d7ff6e42c7c38e3a7a4086a95a3df5b2c7cc88dfb58c8f328076a902aa802aa00aa802aa802aa00aa802aac041adc0c17bbe5a925f7254c794d898a404e70206eb4bb62c7e6efa82285713e7a8f4be474fec6b4dca0b973e7dd385ce6f629996f25186d02e55401550055401554015500554015540153888153878cf5766de7353e7d92b973be9e2d159f9afff737af4bf2fbce08e9346dd9193939396864f156e5eb06055c3556f297f102f169d9a2aa00aa802aa802aa00aa802aa802aa00a4455e0203e5f35ce7bc9b4479734e2a6fe5fb50ac7aac69395cbb8a5bccb55a12aa00aa802aa802aa00aa802aa802aa00a1c2a0a1cc4df6f71a85c429da72aa00aa802aa802aa00aa802aa802aa00aec270ae8f96a3fb9109a862aa00aa802aa802aa00aa802aa802aa00a1cf00ae8f9ea80bf843a015540155005540155401550055401554015d84f14d0f3d57e7221340d554015500554015540155005540155401538e015d0f3d5017f097502aa802aa00aa802aa802aa00aa802aa802ab09f28a0e7abfde442681aaa802aa00aa802aa802aa00aa802aa802a70c02ba0e7ab03fe12ea045401554015500554015540155005540155603f5140cf57fbc985d0345401554015500554015540155005540155e0805740cf5707fc25d409a802aa802aa00aa802aa802aa00aa802aac07ea2809eaff6930ba169a802aa802aa00aa802aa802aa00aa802aac001af809eaf0ef84ba813500554015540155005540155401550055481fd44013d5fed271742d3500554015540155005540155401550055481035e013d5f1df0975027a00aa802aa802aa00aa802aa802aa00aa802fb89027abeda4f2e84a6a10aa802aa802aa00aa802aa802aa00aa80207bc027abe3ae02fa14e401550055401554015500554015540155005f61305f47cb59f5c084d4315500554015540155005540155401550050e7805f47c75c05f429d802aa00aa802aa802aa00aa802aa802aa00aec270ae8f96a3fb9109a862aa00aa802aa802aa00aa802aa802aa00a1cf00ae8f9ea80bf843a015540155005540155401550055401554015d84f14d0f3d57e7221340d554015500554015540155005540155401538e015d0f3d5017f097502aa802aa00aa802aa802aa00aa802aa802ab09f28a0e7abfde442681aaa802aa00aa802aa802aa00aa802aa802a70c02ba0e7ab03fe12ea045401554015500554015540155005540155603f5140cf57fbc985d0345401554015500554015540155005540155e0805720e6809f411b4fe0e4db1f3fb7c3a6f72ebef1a986c063cfbffe843ea6a6c6c4c6967d3df3be1767b7f180fb3a7e1ba7db6a7d465c7afde9711b67def7545b0bd830c148f123f16dac8b8653055401554015500554015540155005a0c0417cbe1afbf8bb770c4e69b8ca5525859f4fbfebda879a7ab81f3b72ece0be81c13127dff8d43b8eebd851274e3ca92fa3d40da869f3f355ebe29f7cd1f527f4ae9971dd1d4dcda761fae1fefb76f5193be1ac892799f53591cf57adca472616297e245e1c15a802aa802aa00aa802aa802aa00aa8026da780bfed42ed779162e28c2959ffe99c4f57e415c5a7648c39e7f797e63495e4ecd9afcf993febd91779b882f5ec3bce39f7dc51e7def46e953155b5354df9b7b8bf75f1877d7ffc9871a78d1ddbe2e1dc0edfae3e354d0ad89a7c76cf2752fc48fc6e4f45aa802aa00aa802aa802aa00aa802aa405b297010bf7f6525aadafcd995d7de07f0bb173ffc41cff8f46c635645976ef61dd77adf135a0597b4ff67ef7de0a2aef2fdffb70c30020ec2000203eae840b8831a84aca431c597020a2dac70d98d56cbeceb5dafd7e5ee5ed9f6d16eba6bb578dbafbf1e6df77a57b732adb8da165d73135abed4b89a7d95541492001d92bf35204240c330f87b7fe633330ccc0c304aa6f03a0ffbccf9bccf39eff33ecf33f69897e77ccea7c7442419b9e9d5965e85ffbe7e0ec774ed6aeffaf169ea633ca302743f1e2b7457fe5dd9adedf00902200002200002200002200002e3486082eb2b12d64484e4255c6c3fefb3b6173e99343b904da61efdd177feb4e9e5624a58bffff907a7f31a15797657be979df7b2d062b4b4f6b95dd99a58193b36759d38f01f1b0a8ab845c2da979ecf09d9bfad48fdc44f9322855e2e9dde7bdf4edabfed810bafffb13ef6d1ec649594485f5d92b7fa9991e55e56deb647ee49080f9492c1d0d9636a3ffb46ee9fcf6aa6fb054c15c61234273d8128d887f475c5e566474ee31969108e7c98c3b6075aded9ba41dc4b99b0b6f0f91c3af57ace7f4fbb0a3e9ab55b9ebc2f3132c4df5322e1887b460ac55c36f67836090fc8b9f2ef60973cfdda819419970b7f93bbb3dc128466fd4b4f67ab4ebdfa9b4dbbada651c34305100001100001100001100001101891c004d7579e66619593bf2363b6d4d472d87c3845faaed2fc585f9637c73e6bf2bc3d655172eee697faf41bcabe696b6f37f553882ad23764da88d02c85abb6bdfb7872186f413c7ca2397a49d2a2ac5f6eab3fbba9b0d66f9a4ce63bfbf1cd1b79fdacbeb25a1e1be33b6d1af991dc5716b96e73326f5a6ca8ef0a991d1c93f6efdb3e5fb1a9d0555f595b0af3d366b32aa9ab3cdb3f7d564c64a0af222c7ff3da2c954528269bbd71f3868394bdb5d8553caefcb3dd091fcdb4105f99619a8fa5959f3c44e62b5184d1e51677f968f27615ac8c65080dd5672f4f8d889d1d3c422462911bf1b0b872e1df99dd74bcf672668c2a7bedfa9de5a2724ec8ce5c2493b654425c8d3a2ba800022000022000022000022030660213595ff11e3a892af3934f32451a653b36f11a4fc2fa6c16575dd5fb96af16f60d52d6731fe5a72cca5e9bb073ddba1c5e1289daf5d19e7963c117b5fe472cae7aaaf3d3560b1b0a355b3e2a484bc8584e8566b78207fdbefce5dbb551af7db227c6d38bba8dbca58f536551c113bccca579faa382cc90e885442ef45542decf585c991a5ed9982d2cb944e595ec59c98b717fddfefbfa9981b73db22e39d2f3c4be3f9536d374a9b4e56c318d1e8fb97bbb8b533ed46d5783b3b6dbdadd6ef259fb6f82b8bab42fffbeed0cc81aff50ef43eedc8b27ca857f17f6e2ad7b7e9cb239e6d6ccbc8497b733cf9c1f2d0ae475c5bf598f891c12096e40000440000440000440000440e0ea084c647de5c9cb3cfad345ffb7212cf6d6f8d8c894cd7fcbebbd8fe267f166be53870e5878151dd2fd3c25c67baa756d45c144fac7c2727e842f57f38df95d69296f3c34912f6ff9334df5b3353df1ca66415750ed5b3b7604b69c25ba9bc3e93abd5710579cb4c77586cc98c059e944b6b3346c6d39a3d1dc2a23aa2f7dc3b29f6dbab7b868555b5e5c5b4ee1596bb9b7066d61916d6b5bd628f1d83b17f34ef96cb7092ac7068265ac7ca2962e64a42d875f3743e007d82cf13bf76ab6ba158f2bffaeec8cf995921f1764c5dcfb4f79db9fd8fef4b21ff2c2e0c76fee1c211e148100088000088000088000088080bb0426b2be621686cbd505db8505254dfe6bfcdbfa7f2d5bf50fe1577c7fef25db734f3e9e63555443d84685c85850f53454965fe8f2323fddc5bbed7abf641d25a69e86cf2cd2a778b7798d2441d057cdd5672ce5515133f8a1aaba734ec595d509492d9ef9292b41bff1117c43d2a09aa3d1e219d2ce76e3c867fb7fdb0acd193f2f0e5b5c791b5a30ca9d228ce5215d6e6eb2d4f37316bf838fb1c7e3cabf2b3b77a52d78ab3a6d734cec3debb3fa16aba4a686926b39dede217618400004400004400004400004406022bfffca3cbbd6a5a8a6f66ff95e2a979ffabc392b46755bc62a2a36cb9e28b59c0584a1bfd7fecbd02f1c76e7984c76f6dacfcef73cbec8776afba64d9b1c6b0a6769d8891fbb0a96e5a155ebefe6832ff4975aed8ac8de3f990fe6e8bedc6eaea0d9b13195c3b4256f5117dbad358d168fade9d08c031f2e36ab299187e6a57fcb1064e4d04664c7c1be6448fce6afd6f4103eb19153c2b6bc3bede3b76f3524ef463c020267fe5dd9b9ba65092b373f974779ecfd3d43bac60d088000088000088000088000085c3301f177fa35bbb9511d4867dcbae5e9a7bd42a3162f8ae118ab0f1f28deddbe2e4b1596f4d8ae2dd3fe7ede7bd98f1e629d535ff6befda1ece6565ba8fbfc33db873c9ee3ab48d8f2f4162f6a7865ebcedaf2ed6575cb3255c92585dbf7177d4ae1518b3529b3ba4bd2720b5cc160dd224fc87d3affdea01f2c4e8a09e6d5abbf6c18b23fcddebfb6fa2b13c5a896ffeaa5e9cbc21627470a9b1107772e56d7b5932af2cebc6d2def7f1676dbdd0bbc4ee6e6b91d0ffb73e443f410db55691b9ef3ca98ab49992dac420d4f63e1a33d556760ce298fef786ee1b4388d2a5090577c7cc8c869ecf1b8f2efca2ef66b59c262985d67f7eeae1d3918948200088000088000088000088080bb043cdc6d7013d517de11151893969999b22846da73e974d18b1b849fd4bb576c2e6a314863d37237ae5bc9bffbeb0fefcdd96a7e26ca3c366babb4b40752ecdedfdb27eccd93a9d232d35232ee54996b6ecddd72acbe4b363be9f18d1b1f5f99191b2669aaabb7f271b2a54e084795949995c9e2aa475fb9e317b983bd9283ffa24d7f3ddd4292c04529c99152fdc1177754f69074aa28b3a8e8995d275a0c81aae4751b376625c7cacda7fd8d188f352ebb4feb4887f2292f78ffb49e7c2353325366fbea4bf6955c625df4ede0829eb5d5687c8a9f79f530d390dd9a92a20aec3c5c54a6b73b20df2e8ac1acd5f3d8e271e5df95ddd24f71d1a70d9cad2b7dd7f6e4da6004c881000880000880000880000880c0b5119872e5ca95abf0606b2566ecaf030303ec902db6c416fbbc78cb57c7643299d8c857fb4c7f7fbf68e48c58647f158b2a2b2b9f7df659770612959e359f5549fbc522edb5fdd08ed2a4cf57f8f45e6a2f2eb65f0373882521bff44f595f97bc98b3a72661fae572f17d550eb5861904e73ebd678bb54e975a1234e933e53ec38630d67886f534f4963df36bb5ea8a8b9df63bb4ee48771c8c6a3cfcb88ac7957f5776a2f4bd1f6d5679d617dc9163276e471a02ca400004400004400004400004be0b020d0d0dfefefe1e1e1e53a64ce157a5f29513df725f9ce12b2b08512ff4f6f6bef0c20bb1b1b15c8d2bf07558f2f4145eb6ca456246cc8b75c4fa7c754c62776c173a3627fb3c1b3806b6d8e2112de2d566e4ccb034c1f7070e1baddd6d6d71d1356a078bb35aed584508ef90ebef69a2daf2b10bba919d976b8b1d5d8ddcc48ec04859f63c52f198cbc62518eecd553caefc3bd8a356e53d34ad8fe233eee5573b5717bd0a7135e639444510000110000110000110000137084c5a7de506a3f1aacafb03fbc7cb17fcb8474075efca2c7e5533a7fa637b57178c8f7a742f04d4060110000110000110000110980404a0afaed7249717a4deeef2e88beb15c4a4eda7f8dff369a69cda5d6db59cb46030701000011000011000011000817125007d35ae38e1ec4625e0742fe58d1a2ce2020110000110000110000110b859094c5c7d75ea7b9a92b8efa95f740b0220000220000220000220000220f07d1398c8e7b37fdf6cd13f0880000880000880000880000880c0e4223071d7af5ccd239f32719a288ac87f680d77ed435bdf3077e9cfed7a54def8e1ba6776df182125ac5a9b34cd9bda6a8b0bc770ce62548266d1fc39326fefaeafab0b8b463cefde323cf7fc3b61a259f574ea5c321ac9cbabfbf3d2ed85a376aac9db92daf7f9ffbc5ce87876a313f7308100088000088000088000084c2a02934f5ff17b821f27da43b460e844bb6b1fda7ab43bcdaed2825869c38e3bb26dba276b4b617edaecd3affcf3ba9de3f74b5d93a8895549623dd39fd9fdfd9f91a7c97bf7772bc3a4229bdcac3b77e4fcda367a476009dbf66f4b8eb4bc40998bff79cde9df2f5f37d228dcf3efd8a360d1dc7e4f669af8be6832c51847d7571acd4369691463bc667da5d95552102b1b12555dd1e65c9c6d3804096e40000440000440000440e0262330f9f607f25ba83839ea4a77edee4db4b6f2421749226f5f9f606d1775e76d7c60b8bebc6cfcc415bbd66a0f1c3e51b6b7702459628de03bfed4ec7a461057f565af6c7eb1a8a18766a7ac7b69956df88e9d07cf982e69385db6774741c18bfbaa2f9924c1b73e9a9fee58cf6a71d7bfb5ddd04f6d41eea38fdefee8e612d6d7867ee3d0426777ddc6b1d674d6dadee6c95f3943574b438b98f4975a9adaf5f61590070110000110000110000110b8e90838ea8c9b6e083747c0073ead5e19bb283af16e7e59ae1071547a4c30995aceec1c9fb71cdb20680b368dbac3cd56f93bcc44e5ac88f5a59eba8339bfdec9dddcf9a37b237da50beebd9776bbd293c5abd30655e15959ec9ec7634788cf7dff2e9dd5f2144cefe1fda1a2c47659cfaec056338ae8ea27504206dd072b566fb7738c2c0880000880000880000880c0cd4d60b2ea2b1ef711a2f5e6c97b9ae861eb2cba6bb7b61bf5b376e79186c7174546c5671115f1b6b4871203f95db7e51f8b0dd73eb72b5b132be39feda6ae1307fe63430157a184b52f3d9f13b27f5b91fa899f26457275ba747aef7deb5e26cdda1d1b56dc6ab6b0b1a7e5d8a61579e509ebf73fffe0745e8321cfeecaf7b2f35e163d9baf59db0b9f4c9a2d7830f5e88fbef3a74d2f17b3f7c2e7b3bffd64ff11afa58fa4c4f026beaefa635b73f2c64b9ca5df15c3dd5df8e403be6af25f4b316f1394864469788dcd1cd3c8979ca5b3b8c225d7eb3957e73f2b6fdb23f72484074ac960e8ec31b59f7d2377938b2d8bcc73db03175eff637deca3d9c92ae6a3af2ec95bfd8ca8a6fabef55abfe5b5ecb4e1dcdcf02f8edfd37b640e28050110000110000110000110b8b9084cbefd81e2fc649bc5d5cf881289b69ab5d6d5d9dd98edc2d3f506de22b824278a1ba5c62b59d17cfa81b062b36adbbb8fa7c4ca7aea0f971d6be9972dcafae536731dbf693299efecc7376f4c8af4adafacee22f29d368deb3ffdb347585cb5549f2829293b56c94e3dfdd87af99bb6f6f6f6afbaa53259488850cd9ad27795e6b3b8d2571f2b293bd1e31b9c9cbbf9a5b509e42797cb6431698f3f9e12d3d75057af37c866276dd8c2ea6f7c92f75496243d35c778b56a6d5e560cf534d4b518c85771fb083b04ad3dafdab63f3346666a287bd1f5936957e15f78e06d6532cb525de5d9daaf0d8181b2484598b54f874fbf69725f59f2bacdb9c9aabe06c643c13169ffbe2d87ebf14a972c3633374de4d663e3e69e7f73875255d6279f7cf251e9dff6beb4255df85e20810008800008800008800008dcdc0426abbee2597b8be849a217cdf3f799dd2cba6bb76b3a7256fba98ef7a0cd5fba942867e16c295daa3ec0ea236afd8f92c3a8a73a3f2d67d3aff356fc961f049224642cb773a5df977f57ce135b9b88a49e5ebc1aa40c61e972a9a2e8c5679ef975de1339f7add820ac08d5ee5e97939d93fbd405d65b768d13d667f33ebdaeea7dcb57e73df3eb0d690565fcf8d0a2ecb509dd964a75252fa665e7e6e47dd04314a28ab16b3a0ed9becb94b7378745ccb197b23f6cede3e17b095a70a494b365efbae448eaaafc7df6af47dd7ae786ff84bc9fa5cd2653c32bff9c9afbc4bad54f7dc87a75a4d42de8284e95450569d939cb7f7b90b985442fb435b1722bb17073d73f75d7d7d6736ad177497d03558bd236bff6eee0d379b66e90010110000110000110000110b8a908d8ff14bfa902bfc6609f27fa81d9059f57c74b58155677eedaadedc6f2a93d70fcd2ca98c0984559abfa5972b49c3d22e887f911c29179be31bf2b2de507804ce4cbe2c9347550859c7865f376b37e7a6bc78ec096b3fcf8d6df3fad8f4d999d96bf277583fe5cf9a7fbffbcd5eee47305cf68bf5d349a78de68673a75e880c5567448f7f39418efa9c1e6c78d4c0d25b9cf140a45d3858ba828849cb394bff7a32c61a39c2d190ee6dfb55588cd5532043cf452aacab7a7ba28af889e7b84f7c28ddc03656dd9bb914ff3d39fde3cf2c981960e9dfb771aa736e156196fc82c7dc3b22436dddbf60c95abe8b942d7e9bd4f98f76a92f6b8ce901913382b9dce08bb381db869342efd3b8d67abb6fc992784d5302145a56f7f7e535264d8831bf25ec6e35822135c41000440000440000440e0e6243059f5559475baf807ff71a24dd65b77edd67663faac2d3edbf2e3e430f523c22e3c4345a9206ca242642c597a1a2acb2f7479f1ea94903c7bbf641d25a69e86cf78914b48c5bb2d4f0a15fe3aa7262b6ff5c39a7855586c72666cf292c4cdf76d1d3c1b42ac6eb97a0ba7d4f5f75eb22d05f978da29304337afbe0ca69125c7dfdf7ea36f8eddcec3be76ed48e28ac906a6652d622db27375012fbbcd904bc9547fd67513cdfa1df9692a93fed8c6e57996310f86e69873e9ffa2dc499c7ee67d89520b61a26041c7f292d408896934579fb154888a9ac10f6dd59d63ccfc6571c5cda9ffd1b9d516e73da52eddb35282c7b146980f1481000880000880000880c0cd4060b2ea2bdbdcfcc39c9b61bbb766dcb55bdb8df8595b5ad1901c363b9257afba2a4bcd8aa8f6b3f33d8f2ff29ddabe69934de4d9fb90d0e052d6a0bdbc683bff1136176edb9a9b3c7bc9b2b5542c1cd36749fdbc13cf924e7dde9c15a3ba2d6315eb33c114a596b36e30f4f79acb25eecc7f7991ebc7a12cbd0d7e688f7fb9322696577a4eecfe83a023d353e7f03a5dcba070244dd62a45efeec193e4b37ef6e35b799fe4ef5d89aba1f547f05feb2c4e8df92089eecbede610353b36a63a8a49931d37eb482cdb2857adbf9b8f07d15f6a25927391136eaefd8f855bd4d2b9acf7ec171ead01e0130440000440000440000440e06622e0ceefeb9b695ca3c5ca6b56fc63b6d27cb805ef0fbcdbba963176fb683d382d2f2e3df98bb4d9bc51edd2f99396859cf2ed6575cb3255c92585dbf7177d4ae1518b3529b3ba4bd27279cdc759d2e497162cfffaf4d14fcf5436b791b02844d4ddfeb57d55e98c5bb73cbd85bacf3fb37d7771c187ebb25461498fedda32edefe7bd97fde821d609f565ef6b29c6be89531537a4829b37e52fbf5f971dab92f6933c3a41735bdea6349657a7fffedf9675b4a8b5ef163cce323325bc77b579fb2369624258f14883966d7f69858fb8cce4d979e1fd4de2f63c87faa3f87788565bfd95896254cb7ff5d2f465618badef311e2a687c1509cccd8b1a5ed92a1c9bcf0b64f284dca7f3ef0dfac1e2243e4ddf50f7970d3b29217f886f3fcbdd58fc0f699890f7eeb67b5a3ffdf8938afa693fb8ebc1b45b79f4273ffefb903ab8010110000110000110000110b8d9084c567db5cd3a51b9441bac79fe74d76ed7744c59eddfab2f2d5f1448673f1adccfb735774b50e1d349b3931edf98647662a82ea9b77ae31ff94393b6fa82feded85b9367df9a2c16f4349cd8f58c709ebb98fa857d733169993164a82eddbe5b4bbb576c0e7bf7a9acd8b4dc58738dfac37b73b61651421e57347d6b5de9eaeee3cd7252270b3856bf6e7f16e53e1f73e037598bb2362e329f4ad870f895752f0feefb13bf79831be2c4f32424c18b92f8d1304b324cabb1662d87760cd6a751fcdb1a5a32459bfe9af1eeca5bc316a52493497ff0c5b7956bd7cd9bcaa24f4cc2f07d65aab44c1599ea3eb6eaab4055121b38f5e82b5fdffc8499729f736ea3f8b77463ffc1c75adc9a92756b8a6833541edcb1c18d05427b4fc8830008800008800008800008dc2804a65cb972e52a62b1b51233f6d781810176c8165b628b7d5ebce5ab6332994c6ce4ab7da6bfbf5f3472462cb2bf8a45959595cf3efbec90819c1a7237fc867f238b6b17c2f28f5d72d76ed7d4928d73348dc912a5499faff0e9bdd45e5cecfa11259ba7a88474d54c1f1fea6d3f5bace5b5965153547ad67c1fa2f68b45da418d336aab6bafa059b53e41ee4ded55daddc5433a8e4a5f953ecb50bcb3702cd1731c2eeabbf4ef347401b24fef989025e497fe29ebeb921773f6d4244cbf5c5e3ea630ddf02fc4c793b27456c434efbeb6633b0b87d0711a3d8c20000220000220000220308108343434f8fbfb7b78784c9932452291f09513dff21039c3575610a25ee8eded7de18517626363b91a57e0ebb0e4e9e9c9162e1233625eac23d6e7ab6312bb63bbd0b139d9e7d9c031b0c5168f6811af36236786a5c9ba7ec59bb1f88f6372d7eee8e16a2db55abb53004775525b5e5cebd60ff2dae2a2312984517b76b38276f7cbcee5626df16eb7027251dfa57fa771ba0599bf0bfd3d4d545b3e76d06ef9e733f5bfa74971ca06461000011000011000011000817120200832241000014702b6b54cc7225840000440000440000440000440c02981c9ba7ee514068c206023505e907abb8b23466c75900101100001100001100001100081a104b07e359407ee40000440000440000440000440000440e06a094cdcf5abab3d67e26a49a21d0880000880000880000880000880c0642780f5abc9fe0dc0f8410004400004400004400004400004c68b00f4d57891841f100001100001100001100001100081c94e00fa6ab27f03307e100001100001100001100001100081f122007d355e24e107044000044000044000044000044060b21380be9aecdf008c1f044000044000044000044000044060bc08405f8d1749f801011000011000011000011000011098ec04a0af26fb3700e3070110000110000110000110000110182f02d057e345127e400004400004400004400004400004263b01e8abc9fe0dc0f8410004400004400004400004400004c68b00f4d57891841f100001100001100001100001100081c94e00fa6ab27f03307e100001100001100001100001100081f122007d355e24e107044000044000044000044000044060b21380be9aecdf008c1f044000044000044000044000044060bc08405f8d1749f801011000011000011000011000011098ec04a0af26fb3700e3070110000110000110000110000110182f02d057e345127e400004400004400004400004400004263b01e8abc9fe0dc0f8410004400004400004400004400004c68b00f4d57891841f100001100001100001100001100081c94e00fa6ab27f03307e100001100001100001100001100081f122007d355e24e107044000044000044000044000044060b21380befabebf0151f4cbdfd39a7b1dc270d7eee0e0ba19566ea0dffe8254d7ad3f740402200002200002200002200002372a8109abaf6edb40878fd35f9e1a04ff5f1f53e95b83b7374a2e829665504aa24338eeda1d1c8cc590f6bfe90f7fa0e4b154755de7be47e89e1ce82bd780500202200002200002200002203069084c587de5e72dcca1c46e223ded6fececdf73b69b0c44fd468728dcb53b38188b61e15db43495eeb8732c755dd631f0000cd4ebb21c05200002200002200002200002203059084c587d75134da0a78b58ddb5bb703392d9d82f943a8abb91daa00c0440000440000440000440000440c0050157bfe15d549f18e63be9e59fd3c248cb607a5ae8a9e5f499f9eefe5fd04fd2292c505890e9eaa1b633b4fa174241f2ffa635cb68660849faa9c740ed9594fb2f827dcd1fe8a1bb48c62b63262a7f8f7efebc6014d3cb25b430903edd45bffc2fabc9f5a7a98fd6fc917ea2215e75d39fa35f3e4a75e6caeeda5df730a464e31fa8793f354fa1e953057bf01cba8dafbea4afa1cf6a058b730eaeb971131fa11dd18354b88e0225b42f9ffe7242340dbd2ea2bd0564384a47bde827a9c278bb74f47c361d36d772ecf7b00f6505d2a96fe8ae386afd84debb4c4f66505f0b3db95c40e4c89f3d445ca0ff7c6768a7b80301100001100001100001100081eb426032eaaba7fe591057ade7a84247fe9114134c7e66d6f7ff9efe2d43c8d59d255300dd1249be0ae136f917f45c8e90693c4797a7925a49d210e1f6d13fd26a0d51271d394e517750c283f4071dfd4a7cc46b11cd63914614162a5c474ebcbdee961cba85954603758650f03c2af8233dfc96b06fd00dbb59078edc11976efc23dda7215fa2b32a9aafb4545fba9e969ab38d0728e777e48a832b6ea217de1fa8fa31fdc7bf0acecb5f7721aeb8aa1fc9fd499661196fb394662b69fdefe9f06f9cf73bed5b0a88a2bb4890b5a1b7d393447d06f20ea3658ba8fdc74ef8eb93e8811c5afe281dd8039525ce0cae200002200002200002200002d78fc064d457ca1902df8a77e977f6ab1c8b681d8b2b13bdf6cf666d10457f7b8ba45c2f8afed52caedefe25bdf8b1706bb3af6471d543bf4e35afbddc49a52f50fc7d44a2be3a41fff50edd39933efedb58e7b2ea1dfadfbcfc65f613cc62cb9adcb55bdb0dfd8ca2a7fe95ee4e14d68b78bdeeed37e9fd1a4a9845b73d4a4b23a9bc90fe6f134d9752eb5922571c889c7313fb319072356d5e2ff8ffe8ffd06f44084343b0dc755b3eeb0ed1eadf083c8bdfa29028d7fd9abfa15fbc4e4717d2ea38eaf8847e5e49af3d41bec174b733fee94f91d7bfd0ddb7d34f9ea2acc7e86f6fd28b2304e334421841000440000440000440000440e06a094c467d55fa09a953e99ea7e87f6da4ea13f4d7ffa4925a4abe936444f51f5a175e022c6763a8eea060a256ad595c3165ab9d160a0b35fcdf66165d12e2e798585a48ccdbedc4b9d8f73ced1bdbacf0eec2ae536671c5f53f269d816e09a434f3e11c6ed94b9c75a7ba9356e7d29238213cbd8e4ade1a5cd5a93b41e12b84360d1fd3ff58f7f2f1629d530e5ccd2937a13d0fde9f9e5c2f64dffb2dbdf08190192109bb291bcce28a2b050815d9812bfe42318bde97e8b63d42b6e85f68ba79a5cec8ab8b7cefc8bf969eff1762a1ca2b75e94be9e17fa5fb1ea58fdea3e7c7b04b53e8000904400004400004400004400004ae81c0c4d557ac27f89779df201bfe112fa67dbfa2da07e9a7d91417456a8df027e1b7f40f73d9542f6ba51061f18a77e829c205cbe526abddcf625785088aa5a7814e9e274f6babde7a6b35773e790e9acf591b44d10c29f5d5128ba57c37ed5617433e63efa4e438b35634d0113b7135a492b83fd2cee4c8810b9d727b9ed594f94bd467226f0945c7118da6afd895e11bbbce2c0e048bd37ed96e59f432d017c2064321490246e1ffe22fc8f755ba6f3ef986d0ddcba8f2bfe87fcc0d710101100001100001100001100081ef8ec084d557878f52df833443654517450a164cd6e17ef60ef11f4eff643e5562c972fac745e1f69bcbc295d3cb7943ce769f6e7ee08aed7ff8a5c55e574e3dbc4b4d4abf72f5e0d39df4a882f6b8b939edd17f115674f497cc41d85ddcb5db9afecfef88fffcd31f68f95df4c053b46c3dfddf22fadd4b96722f118875cf9e6035eb52571c1cb959d4540f6dfe2d6d7a81d40fd2cb7db4fe8fb6fe9d673cad1331583c62bf966ae65662b0a65ade9be982ff9df4872768e93ca191be96dee787c1c620f90623410e04400004400004400004400004ae9680e3efdcabf574a3b5eb16769d0524d21f36d0c10acafc6741b77cf199f08053f10bf4f5293a5e41cd7a0a910b7177b7d1e16ade8646aa07e8ff9b4e61b75384b0f94cd8b876f894a0d34253e9e53f90df6da4329f5a6162d727e8a35aba8f1fc7da4f7f65a9a6a01fde4533bfa1fb7e6c6e18456fbf40a1447729848301474eec2c68113df51405a96931ab0203bdfa33e17924f7ec23f6f19fbfa2ffe4d3f67e4f59f7d03d3fa57b1ea63fafa13db5f445adf004d49dbfa0d6ffa1d04534df8b567fe49c832b6edcadf01de23d7f1fd3f2e7a9f8295a9843ffdf37f4f331eec7b32e9db9e2ef7258979cf37fab899ee4e7b2cccaea9d1db487776f2281000880000880000880000880c0f5223071f5d5097af900fdeb725afa53cbe1781d67690d3f9743a4fb9ad471349b77b29913eff17b850f5a207af75e7a388e125285077efef67f48b98e62f879aa0fe8b5bb859fec0bd94e74e41d8a7d907ccdd89eff3105eda7c54a5afdaf4211a72f0e899fc295158770352fcb98b32e2facebf8883c966a9c7abea6bdbfb5ec6473d7eeb2036bc15f7e43fce7d1dfd28fefa3d008a25afa9fdfd0ffe22147d193e621749c227ac705077e30cc05b76f59088ae91dfa993ffdc77a4a78829e9593c1978c435fadc5fb28cbfe26e837d3b7d626dd246ce1640faefae59abc4d938f0de43ab68eccad9df2972bb57ae26a0000400049444154a9a396f6fc91f6599f2833d7c50504400004400004400004400004ae07812957ae5cb98a7e6cadc48cfd756060801db2c596d8629f176ff9ea984c26131bf96a9fe9efef178d9c118becaf62516565e5b3cf3eeb642051f4682a4df3a6b65ada67bf492c8ad2a269aa0f7ddb4625764b1c7c1a44ac2f557e6079fd94e090654fad704d8ea0c35cf3413afc14e9b5b4c2ba2d5068a2a06f3ba8c4de3f2f85dd4b69b3a8e4bfec5c3989cf625245d1745e5f23fa6ca82a70d7eeba87914a6ebb932283e8d29774d8dabb130ea20317dc1cbdff723f3da07434d3df7e49cfdb011f56c365bfc3ead9ddbae26f5705591000011000011000011000811b8e40434383bfbfbf8787c79429532412095f39f12d07ca19beb28210f5426f6fef0b2fbc101b1bcbd5b8025f87254f4f4fb670919811f3621db13e5f1d93d81ddb858ecdc93ecf068e812db678448b78b51939332c4d747d356cb8eedf263f45cf3d48559fd0a94a0a9843c9a9c2f17a7ffb2d09e73a208100088000088000088000088000085c158189aaaf26eefec0ab9a66c7464dd5d4da43eadb853f423250f941882b474eb0800008800008800008800008800008d80ed4030a1704eadea187df21d522e203d9f9c43afbcd842e5ac00c022000022000022000022000022030490960fd6a4c13cfafe2ad1b53455402011000011000011000011000011098bc048407b690400004400004400004400004400004400004ae9d00f4d5b5338407100001100001100001100001100001101008405fe17b0002200002200002200002200002200002e34300fa6a7c38c20b08800008800008800008800008800008405fe13b0002200002200002200002200002200002e34300fa6a7c38c20b08800008800008800008800008800008405fe13b0002200002200002200002200002200002e34300fa6a7c38c20b08800008800008800008800008800008405fe13b0002200002200002200002200002200002e34300fa6a7c38c20b08800008800008800008800008800008405fe13b0002200002200002200002200002200002e34300fa6a7c38c20b08800008800008800008800008800008405fe13b0002200002200002200002200002200002e34300fa6a7c38c20b08800008800008800008800008800008405fe13b0002200002200002200002200002200002e34300fa6a7c38c20b08800008800008800008800008800008405fe13b0002200002200002200002200002200002e34300fa6a7c38c20b08800008800008800008800008800008405fe13b0002200002200002200002200002200002e34300fa6a7c38c20b08800008800008800008800008800008405fe13b0002200002200002200002200002200002e343c0737cdcc0cbf74e40b3eae9d4b96434929757f7e7a5db0bb5df7b44d60014eaf8087f29f5747e5d51a523657c8a4a4e0303e4e1d1f775dd910a9db5daf5fb5cb8344d1511e0356034f476d61c2bad6ae3aea3d356c4fb74d6bc577ad212c70d10e788441449293f9074d41d39a91bb19a50e86cbc0e8dc63a5e37fa75e803061000011000011000011098f804a0af26c81c6b6ebf27334d250ec61463bc41f4955af3c0edea702f2be344f599d2af2262a2e5a2612064e0faeb2bcdc38fa983a51c8059e2857c5369d657ca4865a8dc233426baf4648d3938e5ace8ef374e2b33179fca988531d1d43130aabe723e5e07af631def98fb75e8010610000110000110000110981404a0af26c8346b0b721ffd2b916acbaecd69a67ee38d30aaa0859977a8c33dc8d45c7daaaac1107ecbbc484f934ebb6f7f25913cf5c1d4e88101d3f58e53b1343a583ad0dd58b6e700eba82085829acc21e82e9cd34d9bda51278a2b367dcf718ecec524b01b15a0abf13af81ff378c7d6af837f184000044000044000044060921080be9a38135d5b4b34bd877f764b6e883129926e9dc98ff7e9ab3e7c4fabe3886a6a2ac4b8da783f9ed4384074fd1ffe0b8a90f3629afe7cb9a8a3da9a4475c571e9b4878420edd3f718a77d18cef35d82bc1a15a0ebf13af13aa6f18ead5f27de610201100001100001100081c94100faeaa69ce7a8acfcad4fde3b3b50d8e746a69e3aedebb9bfde3dc248d63eb72b5b132b63e165ea3a71e03f3614148995b3f2b63d724f4238fb31183a7b4ced67dfc8fd6fefc2e7b3bffd64ff11afa58fa4c470075df5c7b6e6e4b9fd3897624e981f91a1f9a8595c8d109b7d5162da8af9ca5029eb860143e3b94f0f68abc452f5d28cb8a888693e1232990c7d03bdada7f61d3aa9485c9ebed0efacb66a4662fc4c7f1faed9db7c6af77bc7ec1ddae7150a456820c744deb20885c2dbcf8fda6b746d8aa49fa4c74aa99f1f08337ef5f99b075d36b777e53c4e65e2034bd4e1e648b8b2b1ebe2076f1cb40938fbe6b6bc93715578e6a4cfeffff26cbd6476dcdc609e3143c7c5b2c2833a731b6562ea0f6f899cee279de2e1c190465ea6743e5ec18f3a3327716680406cc0d8fd65e5b143c76ceb76e66e1c2eaefa75cac1e5bcb8cfc721101840000440000440000440e04627007d75a3cf90637c5139db5edb982c2143dde9c35f767acdfa41fc8c59618ed56c9655dbde7d3c398c75d2e113cdd14b921665fd725bfdd94d85b5595b0af3d36613f5d4559eed9f3e2b2632d05711467e2497c964698fc7b0b26aa86b991a397b76d2862d59da672c92cce676e48c625630af1419baf4230b0c7b27f1198f242865ac27748d5d41b36746a8efc8e8683d54d1a64ecdd14407b09a686f6d1df00908f6f7f1f69771436f6fa9d42b20217509abc68e56bd4f68b0b7d4dbdee190bc42b3ec7eb5b8e0e3af4cb85f2914764496165618ba7b7bf9592c3fb9bfb79febe676be5cc599921417ee2fe9d237b65c324cf59707fb7a8ceccef9b8bcc9472a9546270433bdcef62ec9f48080994b52d5bad22ae5d215190b4279b09dfad65e4fffd000412bba4caec65b462bd66842bda85b7fb1a9d363d6dc08655cea7253f781e32e27ca55bfae38b89a1777f9b81c1a0a40000440000440000440e00626007d75034f8ef3d0a236fe541057875fbc6b53a1f31a43ac51eb7fc4e2aaa73a3f6db5b006a5d9f251415a42c672aaa19fb1b83235bcb2317b673951545ec99e95821ee8b6b4ae2b7931f799428aca2fdd9315a262b5e55ef296b0bca2aee6c6b1360b4a5ac8e2caa83ff4eadb3a6ea34c5d9b111d71cb3cd2d3621657039de5efbf294880a0a58f652f18faaded3e7368cf115dd0c3ebb2833d5c6f8d6caa2cd3ea67cc895b30d3bfabf1ccc9ba2ea9942e7d59436df45e219f1918b4626d76c858627515674563801ff7dedb5275543c917014678aa5cec7d56769d75e73745f69050569d664abfd8282292831591057bd670eed3ea273ca6168872ec6ab485ac1e2caa03fb3e7ed23420375da5acddc88f9898ae3ef391758aefa75c9c1ec56703d6c5e94eef1113c2081000880000880000880c0cd4760e82fd59b2ffe4918f1d2c8407e84e8e49fc722ae18cffc085fbefac6fcaeb4941fcc32912f6ff9334df5d368a2780da8bef40d415c719aee6d93269c31359408e24ab00b97ab3a864268e42367cda2135c8c9a42fd0575e7157ccf9a35fc5cd100797118533cbd95738238e08eba5396f515a9445c83b2f96b2c2f15f406b59dfef4539f6f5a6d76874c5b4d555b77a07ac14c32b43756f149f14392b077f2ca108b8b1b1771f230eb2e7684ce0d88d664ab6eeffebab1e1ecf1b29a36174e583fce0977352e1ee040678d20ae387125be653d354bd86ed9a53b691e2cdb877310ea0d49cec7bb54c32b8103cd5f9cb3d4adfae2d2d2b9c19e5eaed6c25cf6eb9283c5b1c3bc34b9c567c850700302200002200002200002370f01e8ab9b67aec448a3cc1f3631345af8512132fe89ded350597ea1cb4b5852e2e4d9fbe5595eb1e29cd462210a167497c15ccc1743778f352b7c8eb9b7c146bac636e382501f99ffa069c45c909f947b3176b636b6f7492cfd79183b582f050901d822f01374979dde335e6eb4acbbd49cb4bebaca75478284e36321cc6b6bae6b8d54e23a4eaa2829d4ab9726cc5786cb65a1ca9850e5acc8d2dd65233ed9e46a5ca6be218f56b1e29209d3c8fb2d3b2dc1790fe3e03c66c7f14a045d76c5d86b537e5e1e53465296aefa1d8183391427f372157c9c8f0a5610000110000110000110b88109405fddc093e334b4da0b970d1416189ba3a1ad5aa735c8d46fdd644654fbd9f99ec717f94e6ddfb469937d6d4d7e16df765f6e371b353b36a6da240c5b24d7febdd075749b28c05f95b1b0f490e5e040fbfe85bcfdf9ec6d8dedc684082f49efa14387eceb29356abe357e2bea3de5034b54ac0fecf49507891ac2becd55e75d1c773e9638c53e9baa8ef01fd6844919f7c4290366cd4ba49ae3cec331e376352ee1f08ae1493049fd44bdaac8583a772887e1b55ddd377fd5a50e962b6e89a71ab31c0d9ae1c38e8c267b3d673f5ef19042c77e5dcd97b55fe7f332121fa53adedf78b262443d6af58e4f10000110000110000110b861095cfbefe81b7668133530ed5b7fafdb9ca9ca2c28092df9e05c8777546c7c78efe19c0d2fdb06ecab48d8f2f4162f6a7865ebcedaf2ed6575cb3255c92585dbf7177d4ae1518b3529b3ba4bd2defeca4431aae5bf7a69fab2b0c5c991c22642a27e9b0f6bc6d5be316bb9ebcf0aed9939f7c7852b97accaf03d79aea5374c352fdcabe5dd43837ac34b16919ac2baaeb3bcec785bd391f3edf362e4cac77232cf565d245950a4726e80b1e6d5b3df0c50b07cde9dcba7ce93cd54fa8b0b6ebc61ee3b4812bf708e87fada4b8f0c590a1b539cff8fd664cceb6efef2626b6b570ff9f151872c5b7aac4fb33944abd38f6d5c56f5a86b6e33a9e5b2b9090fa48549c39572411509af487637d5686b7ea85e2c9bb96845aab4ae5d326f612c1f23d871be5a67e7c87ebc2efb75355ffbb4769eecb24acd487c82121fc948e00dab2a99f1ed23f6b1d8794016044000044000044000046e0602c2af34a49b8b40f1d6dc1d25d506922d4a5b99bb322b2976b6dcc7fa339cfa843d7e32555a665a4ac69d2af3c0b6e66e3956df259b9df4f8c68d8fafcc8c0d9334d5d553d1a6bf9e6e2149e0a294e448a9fee08b3b2a7b483a9565561faf0ef57d6b5d01eb161cda2f888d9d55d3b1f78e56b71ac94719b7242323352e3a828ffeb3363709524e2a8f8e899e1b3d476eb696ed2bbdd8619006cc4c58b22461414ca8cca3abad83aa0e55367791874fc45ca5bfa4bbfae8a7ec51e269dbd7e8aec21096be86aed6582232b1279f608e275aad525a6cfc31e63875faf6ee2b01e1ca05718b972c591c1d2a3376361e2fb59c2f3fe8cf9673392e21907ea37589ae4f08405850aa293da1eb6064e173e7ca7d0cbaaaf32cddc6f0b7d771bc27df28adea324942a3e3962c5ec03aad4377aab0cc16a7c3785df7eb7cbe2c03749897d1f8886319e180121b396440000440000440000440e0462630e5ca95313dd53f6c0cb65662c6fe3a60fe4775b6d8125becf3e22d5f1d93c96462235fed33fdfdfda291336291fd552caaacac7cf6d967870539d16fa3d2d355e443bd17ebb4e5fc6ae1515294267dbec2a7f7527b71b1d6565530faf49e2dd68ededed6c6ed8c62617c84af5462e86c3939fc540927be8294d1a1fe5ec6de9e9a1a9dad58307a195bf9755536d3f79d711a270529a2e501fc9c9bb1674cc1ba3b2eaecf2f486eaf19e1e08c3172098a56f33982d4d351a56b1abdc908fd3ae7e0caa56b3e41d1f1d101a69ae31537ce14bb1a04ec200002200002200002e342a0a1a1c1dfdf9f5fea3965ca148944c2574ee6777c1267b80b5610a25ee8eded7de18517626363b91a57e0ebb0e4e9e9c9162e1233625eac23d6e7ab6312bb63bbd0b139d9e7d9c031b085af62defe6a3372665882be1a0604b7200002200002200002200002200002df398189aaafc6b0c3e83b678b0e4000044000044000044000044000044060221080be9a08b38831800008800008800008800008800008dc0804a0af6e8459400c200002200002200002200002200002138100f4d54498458c010440000440000440000440000440e04620007d7523cc0262000110000110000110000110000110980804f07ee189308b37f61814eaf8087f29f5747e5d3186f3d96fecb17c27d12d5c9aa68a08f01a301a7a3b6b8e955609279447a7ad88f7e9ac79afd4faa663657c8a4a2ebc51d8c3a3efebba2315baef241438050110000110000110000110b83602d057d7c66f82b64e5ffb74ea1ce3fbbf2ed05edb00d59a076e5787db5e069ca83ef397b78f5c9bcb31b58e4e4c51059ace95687563aaee76a571f4af79f83175b09423304ba7906f2acdfa4a19a90c957b84c644979eac3147a79cc5af3e16dfc34c032103d0576ecf191a80000880000880000880c07521007d755d30df6c9dc4dd7977b2cab35353a0bd068115b430f30e75b807999aab4f553518c26f9917e969ba3e24c2e74429e5530c4aad4ef79d74386efe154ba383a503dd8d657b0eb08e0a5228487cdbafeec239ddb4a91d75a2b8e231e8b4fbf65712c9531f4c8de657707f27a382531000011000011000011000816b26007d75cd0827a283be7efe056f325ed3d01449b7cee4c7fbf4551fbe675e46aaa9a9b8267fee3436f162100fc09d266ed51d2fff4111725edcd39f2f1775545b93a8ae38169df6906e58486dbc6f506ae481e1a1c96164700b02200002200002200002370e01e8ab1b672e9c44129595bff5c97b67070afbc7c8d453a77d3df7d7bb89b2b6173e99343bd06cd31f7de74f9b5e2ea684b585cf677ffbc9fe235e4b1f4989e1065df5c7b6e6e489eb4f2efc5056deb647ee490867ff0643678fa9fdec1bb97f3eab99ee173055c2ce83e6a4271005fb90beaeb8bc5608c18da49813e64764683eea648f9e3a33277166800f7b1b30767f5979ecd0b11a5224e6a4cfeffff26cbd6476dcdc60eeded071b1acf0a0cedc65905a734f624c808f1015b769d77db6af44783049bd34232e2a621adb4d2643df406feba97dc75b9552efa99e8206f10d8c5610f97951777b4d93f0501325a6ad98af0c9572e180a1f1dca707b45523f73b0efe856e9d278542111ac88cc85b16a15078fbf9517b8dae4d91f493f45829f5f38356c6af3e7ff3e031e78d875a9d8c8b2b28131f58a20ef717387332765dfce08d833601271a71050110000110000110000110185f02d057e3cb733cbd45e56c7b6d63b2840c75a70f7fd9e935eb07f133668511a5ef2acd8ff5257df5b1cf9a3c6f4f59949cbbf9a53efd866ab95c2693a53d1ec3caaaa1ae656ae4ecd9491bb664699f2972e187b2b614e6a7cd26eaa9ab3cdb3f7d564c64a0af222c7ff3da2c9559c61025afdb9c6c1e50c341cade5aecd6d814b3827965c6d0a577f8411fbd628d2694358ffe6253a7c7acb911cab8d4e5a6ee035ffbf848a5d2e884606ed5d9de25991e10307349aa5a575a15b430e3a1254ade67d8deaceb30480242147e01320e469d9aa3890e60e1d0deda3ae01310ecefe3ed2fd3a426aae596051ee5e254a539e8ce6a7ab3ac263ee39104a58c759baeb12b68f6cc08f51d191dad873a5df63b3efe2bccc2ce919d42b3ec7eb518a8bf32e17e73a01d91a5851586eede5e5e7ef393fb7bfb793bb673b4381f57455b4a525cb8bfa44bdfd872c930d55f1eeceb3126778e1dc0020220000220000220000220306602d057634675bd2b466dfca920ae0ebf78d7a6c2c1be13d6ef6271d555bd6ff9eaed8235ebb98ff2531665af4d78ea8258a9aee4c5dc670a292abf744f56888ad596733f9490f7331657a686573666ef2ce75a79257b56f2efefbf6eff7dfdccc0db1e59971ce97962df9f4a9b69ba54da72d63d71c591784b585e515773a31895edaa489acfe2caa03fb3473ce8429db6563337627ea2a2f89258a7bde6e8bed20a0ad2acc956fb05b1da0a5a122f882bddd19d87ec37182a962e667135d059fefe9bc759c3052d7d2c7b017f9b2bff51d611e0a3885bacf49fd278e6585d174925926f5a6b282869218b2ba3fed0ab6febb82765eada8ce8885be6d1514b68c3fb1d2fff15472c1d0cfb68aa2cd3ea67cc895b30d3bfabf1ccc9ba2ea9942e7d59436df45e212fcd05ad589b1d32ac89d35b57e3aa680cf0639ddcdb5275543c91d0696b18410004400004400004400004c69700f4d5f8f21c476f4b237903a0fee49fedc4157bd7c4cfe29d82a70e1db0f4547448f7f39418efa92c44f8d7b4a9a14410579ca60b17f303482efc686ee535a0fad2370471c569bab7b868555b5e5c5b4ee1596b0567dac222b1d45cc5cd8bd0b98f9c3582cebee19c705e711a68fee29cc558f5c5a5a573833dbd789f9cb06bafb34610579c788323df0a9759c206b7eea6e3f6e28af5d19c70aed251774a10579ca412712da8ada9a6ad8964ea44b65dbe50512596f28ddadf9baf5ec1f7ac59c33d0d90178f778a27db4c4efb1d3fffdcabd3d45653d5d61da85e30930ced8d55c34fae977178579cb61b660c75352e5dddc58ed0b901d19a6cd5eddd5f37369c3d5e56d336ac316e410004400004400004400004c69900f4d538031d377751664fa2e8b173eaedc9a6fede4bb6c7a17c3c790efb2d350cdd3d767505c5452efc88d5a4c222933905fbb25c3158ef2c9fc2c3415799748d6dc605a13e32ff61ed25820eba62ecb5fdd2f7f29832a8244c7d43ced410245390d981289e86f9624969e3e327e8a5e1075a088aca9282fca45cc1d8d9dad8de676de561ec68e5e7cbb886937ecdedac3585a7b8aed6bf3502679f62801ee6b53e67e5a3db5c8f8b2a4a0af5eaa509f395e17259a8322654392bb2747799ed44c2d17da306088000088000088000088080db04a0afdc46769d1ad45eb86ca0b0c0d81c0d6dd50ef679eaf3e6ac18d56d19aba8980fba60f9a496f30f7f437fafb98ac4713e5df821f34ffbeecbede6769a1d1b53d98d2d798b7eba6d06f733ba8e6e1305f8ab321696daefeb6bfeaa4b1d2c57dc124f35bc0b8ee5d30c1fd64e46cb59851e8e3aaaed92c144329f190b9554a6b30bc31caef15b514f2a1f58a2e2a6367d6559ccea1bacdfd6d86e4c88f092f41e3a7468d0ca3985862f4efa1d2fff433a73f3c6c539ecf6e7b3bb1c97b9aba6aa23fc87292765dc13a70c98352f916a8e5b8250aae3fd8d272ba0b7dc9c14540701100001100001100081110938fe1e1fb13a0aaf1f01ed5b7fafdb9ca9ca2c28092df9e05c8777546c7c78efe19c0d1faecb5285253db66bcbb4bf9ff75ef6a3877817617dd9fb5a8a1912dae0d2930b3fa55f992846b5fc572f4d5f16b63839d2d7dcdaba0e565dd74eaac83bf3b6b5bcff59d86d772ff03a999bf7f210ffa3df5468cfccb93f2e5cb9645586efc9732dbd61aa79e15e2def1eaaf9a17ab16ce6a215a9d2ba76c9bc85b1bcfbafe37cb5cebc8e34e87570e94977bab63d35461e93f1d8b49a2fbefe5612344321ebd715d67d3340c1f279772e9f3a4f3653e92f2ec4993714b2137d5b2fc9fde7dc91d175ae49a65085499af71d3c72be7d5e8c5cf9584ee6d9aa8b240b8a54ce0d30d6bcfa8fc13e859cb55f9d7e9cfcefb313c743bb1af54ee2179e9a924a7deda547cc5ad4dac04b16c176097596971d6f6b7231aeff476b32e675377f79b1b5b5ab87fccc472f1a7bac8a3928f1918c0419914a667cfb88ceea189f200002200002200002200002d74ac071bde05a3da2fd781128de9abba3a4da40b245692b73576625c5ce96fbf0cfffdd2b3617b518a4b169b91bd7ad54054aea0fefcdd95a44d4c7ab377ddf5a976cbafb78b39fa95fb875eea768d35f4fb7902470514a72a4547ff0c51d953d249d2aca2c2a7a66d7891643a02a79ddc68d59c9b172d640eea7a663ef1dad6e35928f326e4946466a5c74041ff14774f28dd2aa2e9324343a6ec9e205721f8f0edda9c2b22a0e96c551bfd1ba04d56762ad272ed4d494edfbb4466f226944f482b805ea99a1013ebc49b2ea5065731779f844cc55fa4bbaab8f7eca3d493c2dfb1dab4a8f3776997ce4cac54b96a895a13ee67f4628db577ab1c3200d9899b06449c28298509947575b87cb7ec7cdffc8e084f15a57ef86d41470f80447c74447ab55cac112010b49e56c9f1b3d476eb63b1f974edfde7d25205cb9208e192c8e0e95193b1b8f9732674b12ffe67bd8af5a5a8bf009022000022000022000022070d504a65cb932a6a7e88775606b2566ecaf03e657bbb2c596d8629f176ff9ea984c267e71eb005fed33fdfdfda291336291fd552caaacac7cf6d967870539516ea3d2d355e443bd17ebb4836fa18a4acf9acf62a5fd629176ac475038f113a5499fefd37bb6585beb0c5682267da6dcc79d2e9c7921c5c2f8085fa9c4d0d97272f01487a068359f23483d1d55ba26a7ad1c8d41d1d172f2226347bb4e7c9b15ef7b5346877a195bf9b5518ed579eb9f323ac0d76b581742137f2f636f4f4d8dce59a321b6efdaff90ceaeedc6f9b88214d1f2002f86d6331c5250747c7480a9e6b8abf3e3af2d1ab40601100001100001100081d108343434f8fbfb7b78784c9932452291f09513df723bcef0951584a8177a7b7b5f78e185d8d858aec615f83a2c797a7ab2858bc48c9817eb88f5f9ea98c4eed82e746c4ef67936700c6cb1c5235ac4abcdc8996109fa6a1810dc8200088000088000088000088000087ce70426aabe1277097de7f8d001088000088000088000088000088000084c7802d057137e8a3140100001100001100001100001100081eb4400faea3a814637200002200002200002200002200002139e00f4d5849f620c100440000440000440000440000440e03a1180beba4ea0d10d0880000880000880000880000880c0842780f70b4ff829fede07a850c747f84ba9a7f3eb8ac1f3d9af47540b97a6a92202bc068c86dece9a63a555c221eed1692be27d3a6bde2bb5beb157199fa292f39bb6f8f4cdbeafeb8e54e8ae4764e803044000044000044000044060821280be9aa0137b630c4bad79e07675b8e5a5bf4489ea337f79fbc8f5094df3f063ea6029f765964e21df549af5953252192af7088d892e3d59638e43398b5fd52bbea797064206a0afaecfeca0171000011000011000011098a804a0af26eacc7effe30a5a9879873adc834ccdd5a7aa1a0ce1b7cc8bf4345da7b0144ba383a503dd8d657b0eb08e0a5228487c8bb1eec239ddb4a91d75a2b8e26074da7dfb2b89e4a90fa646f3abadaf5378e806044000044000044000044060821280be9aa013fbfd0f4b9174eb4c7ebc4f5ff5e17b5a1d8753535371dd820a8a90f3a299fe7cb9a8a3da9a4475c5fdebb4878460ec531bef1b941a07f8fddcf656e441000440000440000440000440c07d02d057ee33bb815b4465e56f7df2ded981c2be3832f5d4695fcffdf56ea2aced854f26cd0e34dbf447dff9d3a6978b2961fdfe6d0f5c78fd8ff5b18f6627abb881beba246ff59e9cd7b6a7ccb85cf89bdc9de596716ad6bff474b6ead4abbfd9b4db6ab2948cf8a19813e64764683e6a165743abaa3373126706f8b071c0d8fd65e5b143c76a4891f4937b7fd0fed93f3a42e31728e512a26e7dcddfde3eb5f0e1fbe6fa192a3edc77dc2a919449cb5316c89b4f7c78e8a4d534d4bb42a1080de4bec95b16a15078fbf9517b8dae8dfda7c74aa99f1fb4327ef5f99b078f0d6de4fc2e316dc57c65a89485d780a1f1dca707b455423d65e2034bd4e1fe42fc9c8c5d173f78e3a0f350c41ab88200088000088000088000084c1a02f827fb8933d55139db5ecbcf62195577fa70d9e16375972433668511a5ef2acd6771a5af3e565276a2c737383977f34b6b13c86f9adc5796bc6e736eb2aaafa15e6fa0e098b47fdfb6e878ed65df4055f6daf5562e09d9998b645243a55be28a48312b9857900c5d7a07e111bd628d86c555b7fe62cdf946a3979f322e7579a282bcbd7dbca4cac5a9714a797f6747b789fc82a33332221ada0c5e3ef2f98949d678140b6222a492fe5617e28a149a65f7dfbf786e00d7f75726dc7f7f466a6ac63d29d1643074f7f6f6761b3da5523f3f6fabb7913ee3331e49981b2a3576e8ce5fecba228d50df91b130881ba424c5b1b8ead237d6d49cbfd8dad14f1e637237525728030110000110000110000110982004b07e35412692286ae34f93256438fce25d9b0a070795b07e57ac2f7555ef5bbe7abb60cd7aeea3fc9445d96b139eba203e6c545954f0444111699efea82033247a61f18a3d3f4ed91c736b665ec2cbdb79bd2ae7478b02e9d2e9bff12a985bc95bc2f28aba9a1b87b55224cd0ff52283fecc1ef1a00b75da5acddc88f9898ae24bbc438f536b95f65d5e2652a6accd88f10b0aab79e3e4ad735383c363962a8e1d61adb67061840ff5367f613dfe6f987ba2a6ca32ad7ec69cb80533fdbb1acf9caceb924ae9d29735d446ef1572a3a0156bb3431c1a393104252d54cac8a83ff4eadb3a2e56a6aecd888eb8651e553406f8f1ea5a6f4bd551f14442276d6102011000011000011000011098ac04b07e3561667e69246f00d49ffcb39db8e2b169e267f14ec153870e58c659744867e09d735383895825749dde2b882b4edae36c9704ce4aa7e2574aaa8902effda73c363fbdec87443d1fbfb9d3d2dc8d0f41bef9c8876b9939e1bcb234d0fcc5398ba7aa2f2e71454f2fdecfc7df4543f329415c71d235b0ddc337209a6a4ed4e8d9d32d8b97b23965de4cde9177e1f4714b73271f6d355555173afab8c4d0de58555571f264858e9fb0b224198ffa8af566a4cf507f6155ca2bf89e356bd6ae5db3e69e686e28f1649baeee6207c713adc97e72cda32b3252a285352d2410000110000110000110000110100860fd6aa27c0fa2cc0361113034797bb2a9bff752add5ece3c973de2fdc714173f5198b3d2a6a86940c75e78af9bee0adeab4cd31b1f7accfea5bac929a1a4a0ab4965a63ffd035b6191784fac8fc8735914858465d31f6da148f97c7148be2e1822e7d8ba57e5010af1299dabf160ea8d09ed647a706874625a94d9172c940e779278f740ded46dcb0e7615e431b5a32d6bb203f29f33176b636b6f7492c543d8c1daddcbea2a450af5e9a305f192e97852a634295b3224b77978927698cd53dea8100088000088000088000084c4c02fc9b16694210a8bd709917a602637334438673eaf3663e1defb68c55166b945a383bc2d4df6bb9ef163f57adbf9b57bfba2e09fa81ac4b58b9f9b9c1643afefe1eb18e7b579df00c9587bf2a63e19076cd5f75b1b253dc126fb106cdf0e1efe080c968b917d69d38c527a9f8f8886f7bbf31df5996b0e234717e34d0f8f929b3f11a2e2ece61b73f9fbdadb19d43f292f41e3a74d09a0e941c31afadf126c4aa2307f6bdf1e71dfb4fe984b5ac59f31207a351aae317460fde2207022000022000022000022030990860fd6ac2ccb6f6adbfd76dce5465169484967c70aec33b2a363ebcf770ce860fd765a9c2921edbb565dadfcf7b2ffbd143aca3eacbded7520cefcb9327e43e9d7f6fd00f1627c504f3ead55f36ec147168c5252c5f965c67f7eeb6ad7db9c5aa427b66cefd71e1ca25ab327c4f9e6be90d53cd0bf76a79f750cd0fd58b653317ad4895d6b54be62d8c651dd571be5a47c1fcfc954f447c8a26c67746e4cc603f5ebd2a3f60d907a81397b0f8912e43ebc993b6b52fb7e219ac2cf10b4f4d49a5bef6d223431ee3f29245b05d429de565c7db9a8e9c6f9f1723573e969379b6ea22c982229573038c35affe3f5a9331afbbf9cb8badad5d3de4e723ac6d197b2c329582121fc9489011a964c6b78fe806bb440e044000044000044000044060721080be9a38f35cbc3537ccebb5c7d26216a5ad5c641e5657e5a744bb576c0e7bf7a9acd8b4dc58b3b1fef0de9cad459490cffa2a509594a912ac3dfacad7373f5164ae60be14177dfa447e4a645de9bbe58346f7724dc7de3beab3229137d0c52d519a9b9ada2ff36ebf374a658fdca50e8d8e0b351b3b74a70acbaaf8dc3f415fc967c6c805abb1bbf5b3d2772dab4582a1a6ea62a266ae7f7b5d151f723186c48323a36d55ccae8149e826389af5a4495f77e4a4ce5264e22d935e527934773fd07e81f51551d9be52df9c949901331396f0435f9c4cfa9a0ed2f5b7775f090d5706842bcd46de43d878bc7430527145d843905d48200002200002200002200002938ec0942b57c6f4b4ff3030b65662c6fe3a30c03f60892db6c416fbbc78cb57c7643299d8c857fb4c7f7fbf68e48c58647f158b2a2b2b9f7df6d961414ed6dba8f47415f1217b17ebb4e5b6a5a7a8f4acf9bc52d47eb1482b0aa684fcd23f657d5df262ce9e9a84e997cb076b8ad8d2f77eb459e5595f70478e9de8ba3aa28a85f111be5289a1b3e56495ceea22285acde708524f47954e144c0acd9afbd5dd35470b4fe915524353130b1cfb14bd726daa7c4a87f6cf858352c6befc3bcb0729a343fdbd8cbd3d3535bac14e8214d1f2002f2f5eb96ae5776b0ddaf980c2e8f8e80053cdf18a2156fb1ac883000880000880000880000810353434f8fbfb7b78784c9932452291f09513df321bcef0951584a817f8253b2fbcf0426c6c2c57e30a7c1d963c3d3dd9c2456246cc8b75c4fa7c754c62776c173a3627fb3c1b3806b6d8e2112de2d566e4ccb084f5ab614026c06d6d71b14d56d986535b5c34dcc84b2cfd3d4d545b2e0a2e73d5a855790f4deba3f88c7bf995c3d545af5eb3b862af4d154ede55c5a7fc0d1720fce51d3076525b93dd0a5550fcd258a989c2795d4942faaaf2eb2cae38fa365dcdf040056b534d9b5d986676e2a5ade69af72fda7943160440000440000440000440e0e622007d7573cdd77846cb5be8fa87fb53ddbb326bb6d9587f6cefea02e134c1eb9678dd5358fa1c92e4310bd401664bc7c5536f6b6b8614e206044000044000044000044000046e3002d05737d8845cb770ca0b526f2f70e8adf8dff369a69cdacf166b872f7739d41d5f4393f62f3bb40e2e6bb48728c0971c76e139548401044000044000044000044000046e0002d05737c024dc4821946b8bedb60b7eff9135e96a9cefc3fbfe43430420000220000220000220000220309c80f0c016120880000880000880000880000880000880c0b51380beba7686f000022000022000022000022000022000020201ec0fbcd9bf0709eb9fbedffb62e9f6dd8e0f2f998716959effe892f6a37b763a3954f0fb18bb323e45c5ef981ae0d32efbbeae3b52a11b1a4474da8a789fce9af74a87bcf977689d6bbd5bb8344d1511e0356034f476d61c2b7538c8f06afd2bd49a1f8453679df6bcaf268e335f6a8fbb3e9063140e571bc3a8ed46e9f77af02765e2033f9cd37be164c9087c461dc8f753615cf9dcc41cae3bfd51beb7eec4e3d6df53771c8f5c7761524a88a4e3d4119c2f3a32279482000880c04420007d7593cfa2e6de1f67a651bdd1a5be52242e4f4b6b301efd9ef49562f9aa65113e57ce6b779698cf5657ce8a8e8936bf42984f0b0c1918aeaf9491ca50b947684c74e949d7d2e49aa64cf3f063ea6029bb304bbc906f2ac74d5f0585ce5147cf1c68ff56db1d20643a0646d057a370b8a6218ed478947edde41f9d98a20a349d2bd1ea46ea73789972d69c70b99c3c2369347d7575fe87f7378ef76ef219b9e7b17318d9cff52f1daf7919bb9f51beb7ee2070ebefa9e878ec71ba0e44396f618cdca3fd4be82bd78c500202200002138600f4d5cd3e9546038fa0dfe87218dd428511ca5d361c970265d40c1f610f6ab82a91aa8e7346a7ddb7bf92489efa606a34bf4a7a7827ba0be774d3a676d47d47e28a144ba383a503dd8d657b0e7017410a058ddfe9196dad1d469a298cb6aacda099e9e9383abbd18ec2c1aee6f86647e9d74dfee173a294f22906a556a773234c5de5d9f3d355dfd6578fdae6eafc8feaf6ea2bb8c967e48ec6ce61643fd7bf74bce665ec7e46f9deba83c0adbfa7a2e3b1c739422046febfdd9501d7ffa71ea1298a4000044000046e3202d05737d9840d0fb7a98f2dfca6e01192b9b477840adf5d915aa5f0327bf7098e54d2719d39dfc6efeb951af95557ce1efed3690f89b5cc55c7fb121421e778f4e7cb45fd36e455c6e3d1170faaafb38b8264fcf7ea724bf3c82e47e43072d36b2a1db15ff7f89b781190c841258f165e5b55c98131bd29fa2afd8fd6ff3594bbc767948ec6cc61143fd7bd78bce6c52d3f237e6fdd43e0d6df5376ed569cee8582da200002200002139100f4d54d39ab9ab55b9ebc2f3132c4df532261f9d4631dc4dae776656b62656c32759d38f01f1b0a8ac492fe3ef9da6d7b1f4956f1c6387d7549deea676a13d6efdff640cb3b5b37bc6c7e702b616de1f33974eaf59c4dbbb9c9a0ff7e434f9fa9bd727f4ede4e6b2763ff0c9aa5f0b7d496cae744934e94354e1d28927e921e2ba57e7e30cbf8d5e76f1e3c665f4bbd34232e2a629a8f844c2643df406feba97d874e0a8ff12c5187fbfb88358d5d173f78e3e008cb510a852234d08f2b7bcb22140a6f3f3f6aafd1b1d6235267e624ce0c10fc0c18bbbfac3c76e8981028efac4c5fe877565b3523317ea6b997dee653bbdf1b1298d0da969a1abb061678f674525befe5a1ea3148adb927312680e3e734606cd77db6af64a407cc12d356cc57864a59800e181acf7d7a406b51234e385478e6a4cfeffff26cbd6476dcdc60eec0d071b1acf0a0ce16d51833aef82b129dfb0f5228a5de533d058dec1b18ad20f2f3a2eef69a263350a77d2a9296a7c7060bef901e1818f0a0f6cf3f3e704c27d4743a8f57e1dff57cb9e2a94c4cfde12d91d3fda453ae988cfd03bd5f9d2d3c29f9c9bd3fe8aa2cb3c4260c7f21357f56582175f5fd1ce17be2b45ff73838456935baf85e39fb3ebb9a47b32b177ec8c9f7ed78abbbf3eecefcb6c7a4dc37d7cf50f1e1bee3d6bfc9caa4e5290be4cd273e3c74d26ab20edff6e994b3f37eb98debbfa73687839911bf874ef88cf6ff25f1df9b48adf949a2cac7a3b7a2b8f0b8b77bff1f1b8c0d391000011000811b9500f4d58d3a33aee3d2e4ed2a5819cb3fa41baacf5e9e1a113b3b58acbb6adbbb8f27875157fde113cdd14b921665fd725bfdd94d35c42b5c312bf36388ba1aeabb426607c7a4fdfbb6cf57bc3f2dc4576698661127e4270f91f94a1461eccad1bf7788e58929d741392b098a0ef5f3a0ee8b67be9ebe40e91f3e6721d55438ab67b6190cddbdbdbc1ce227f7f7f6f3b6afa64ecdd144071019db5b5b077c0282fd7dbcfd655c2125292edc5fd2a56f6cb96498ea2f0ff6f518d2ccde05e7159a65f7abc515337f65c2fd4aa1b823b2b4b08c56acd184b236d05f6ceaf4983537421997badcd47de07893b7b754ea159090ba84d56a47abde2734d85b3a520fbcf9f1ed3fef10fc12eddb3128258316663cb444e941a6f6665d87411210a2f00b10e27795e2331e4950ca5827e91abb8266cf8c50df91d1d17aa8a2cd39076ff2914aa5d109fc253074b67749a60704cc5c92aad6958e698168300657fcbd7d9cfa9f1574875a2ee224e5e254a5d9516735bd593638f041e762ce60e8eded353ff7260df0f7f3f1b6fcd4743a8f9ad465eefa77355fae782a97aec85810ca93dba96fedf5f40f0df0f3f4f3216f168ad27e6b6ce4ede327f5f2e0ef9ba1cbd5f7d3dd7ec91d0ec319daddbbf85e453bff3e7fed7c1ef97be2c20f39fdbe695213dd9d1777e6b7f4789b2126583e3f31e9b8e51f32140b6222a492ae56d7e2cad5fc3aedd7cccff9df533bb483d911be874ef9704bd7fd0a6e8dbc2d79615ad692b95e34d078ea1f2c235372dcf9ffd86068c8810008800008dcb804a0af6edcb9711e59d4da7f13c4d5a57df9f76dd71245e595ec5929fcea8f5aff2316573dd5f969abd94c9a2d1f15a425642c27ebcfddcaa2822778394bf3f447059921d10ba99b9758ec52b735efcabfb57cec9fca7991acdebabebe70e45cb85ae9ef1f3e33882a5c2e6fb49d7caf9097748256accd0eb1ef43b174318bab81cef2f7df14fe493b68e963d90bccdf5a65801fafd6f4b6541d1dd309154d95655afd8c39710b66fa77359e3959d72595d2a52f6b14492b585c19f467f6bc7d44e8569db6563337627ea2e2f87bd628bacf1cda734417f4f0baec600ff30294b5606c9f414be20571a53bbaf3906b7539e82a2869218b2ba3fed0ab6febd8aa4c5d9b111d71cb3cd293730ec2fe5021b5ffffecbd0f7053479a2fda48b6852c2484249025ffe16059c891b1b15771ecb183b22e4f8c660909cc862c2fc9bed984652bb553b929eade1bf64d4d5526f725333779a94a4dcd9dadd46666325c863c3f92d9c012760cb32ecf2a316bd671ec18ace008c301631b832c1c0b59c8b2c4fbfa1cfdd7695932020c749739ead3e7ebefcfeffb8ee84fdda78ff3c4c1ce41a4b6eeda6196a9c329377f29a323097f02ffa1cfbba695527d6d03a3583676aa67c4832462f1f5c948b409891cef3f8e3d0c45ddbc6b47758444d88f9eecf9471826fa8b84e7d8dc269c5cf94e75eceb66e3e22a626f985bf494844f442a4299c91decce0a8718fbe49a705c11e3f9d8359e414a9c08f381271505e32d7bbf67e75f789bf8c6f2568dced4acefe986fbbda6a6588a7c13dff081938c019c93fc3b3896ddf783006bdc44b497800fdcb1e9e4ce0756d5d91e6f60c42870eec4a1e3f8eb302d3d412bda4c11a008500428024b1c019a5f2d710725ab57d15c0363e7cb9ffd6f9c5c415959101ef26f282e84d342d3ffe8ec84e7b182a81096020697c372b8001078befa1d4eaea0d87b59ff16d3aab2cde8143e4d2944fe29940b36ac2b5d05732aa3830e343e79c56fd449d754ea111e33a52b786de3cd3802669d0e0c991e1908af17928845e1abecc8e8b4b65c69b4ee307cc77b75ecd2e9de2e27317b833e534ec7947795b9ba14f9dd630e07cbb369b6c2cc5868e29b3361ae8e6fae35976bf2f231705cd3585f271e7fa3a9af4e9e945e9f0c9365f1518697167ac77b3349ae80ad5681b3e57ccde3bb76c1036a21940f802ccb2b60d6a90938e0c7d842334e9c5c41012238c587c59564fc818b20ffa971e7d438929beb81e0dbf3838e05dc9aa84ccc89d02eecc745f34ff6977683209eea3215b8d8c3f673ce05dca27195a86af299003e3c49867213f8250815c621813ee14438aed6e988f12ce8478484f990eebbecfd226c17998ff30be7469b59b3bea1b9fb93ee96ca52b811cf7fd59b607afc09e17e21c5557cd74cea243d99e6ecbf97e0b694e81a1a40accfd1b9cf1efe2d42189f4c74a33414018a00458022b06411a0f9d592758db062fa22395cf87622329e95e13c0a7608ac582d87caeca5a1bef39efcf0c2ab3cdfc5d3b0361006e813c3916caaa2628d04f947ce1c43e8ff8a9720c3e378d8a880c43f9e36b37a1d2cde83ad370c2dcf96dc5c26c3e37e49b1c988c6d34d719038e387ccf812d113ce068fb7bbcccd960d8c4e25d732262d5356d2b92fcdf234e88287da903088c300415d8cc7d53703be6866962f5a169fe105be1d0b43edec27fe86ce71251cd45c3b08c9aca86512b035303339e69e8b582d0a4c435e8719455af0d34ebcbf78aec1393e190ccbc8585a663a4160a4e7cfc39a29b364ba85fd9805ff647fa9eb2d8278cae5184fbf6726ac4d41029e31150b707c6490af662a37c639a5b6300ef15d0871953e9e05fc48e0c38b22c55b5891ccfcb2b05d897c58fb572e63ab465bd1680e96a8c4a199737636def2843af97e59ccf74302ebd493443de1ba203e447bf16d190a8644629144ad332267f89b90489faa006da1085004280214817b04019a5fdd238e8aa9895db672b59e6bb0bcbde7313ef538fbe5b9d9171f2e5cee7ef5d55763b450b3ece54ec3ebff7ef0c3efc2a492eb1a8cd755dcb66f3eeeaaf517ffdd86d3337c22cc9f23cbe2a0ae2f51c0f48bdf372fc283901b5ebf4c2651ead6a1e88245186b9076308f6fe7cc0bdce05443cc534d0618a54437ac1b7774c31f5e24647bbc96519655d62327f9a76e21f527ae78cc1a957e7d1d7272e9939adb4f3e108ce42ba2704e26d437a3b6a96bfe20924bd7d430a88b15ee118fc3d4983b6029ce17fb3a3a3ae2a919ab194e493888169551c5cb8d970583c08453c84809fcc3933ed1457449dd323e25f9317bfec9fe22e3b901b493c8f8fd57f4b6e6f2685c71d914ef7f66eb26230460727e95820f9ee44b1c7c93e4a687848483402f425ca58f67013f12f8f07b9292e22d5bbf90ec22f0094f61d55a6b01fbd1af0792cc8f8fdbf43893e426315cf05440cfacbf97ae622981c93f76ba1e83c7feccad4f050387bb595e743a3d19739d22d03f184ec6787a7aa408500428021481258e00cdaf96b88392d5b30f8cf8b7198a5a5e7cefa7352b6aad8655f8fff9e03c427def768d3cb1c5b0e978fbbb1f1d3a8974150dd69632eff1b6777136a2b23cffe3bddf533fd4d068d2c0ecd5af5f7e9fcfbb0c6d2fff34df566e6d598b67c57021f2e72f677cac2c81658c21f6f37dc7c30303e333bb5b550a6dbd1af546e68af2e5c5ad2dad6234d3d7156dc302c4321db4a3397767773febba1e421a55e5635b9757ca4b19053ff304035ec6bacb56e99db8383a39e99945326e6bbec06cf431b24c1575da9d8f981be4a50f6f6f958cb8c5953555b09a6ffadc300b1232e5919e8efdeaacbbd5a432d95e58e1fce6ea0db17a8d5e3ecfb61f89ed439880c378f73977a549c5bcb073cb69c72892ab4b987265c0f9c169020e49c21347f94917934e13e4c65d8bc73fae99ab26f2774df9904ab1ee519be7ccb85c6f28124f1c4cdcf831b97bea795a3fe6803f09cffea9a059252fb73cd55624d1312aee2d6ddc6ef3584595b1a94dbc5e05c8e379d7e4920e9f282d49ee417b9424a192168704caf00929ae48f19cf8485ecc8f043e23e9e22d0bbfa4b58bc4273c850537bb7fb2bf3ff27d114121216e4938ff27cac9f7032f5340cff3047cc8f6e26f6a513e62bbf7d965bbace5baeab6ad739f1eb95a914e4f75fd73360b7c371be4818f23c9580406fa4911a008500428024b1701f8d196967b0a8163af7df0d90584e41b5b5a0cab663e3bd4e5828484b3e08de75fefb9e091af6d7cf195575e7c664b5591787c0428717eb5cad0b865db1648ae665d43effdd7e70f416bdf5b9f7ee54285252d5b5ad616ba8e1f3c7e0d286fcca114fed05e90751aceac514960c3bff3b15f5d9d175d305726d397f3336f3825441295d1642c37ae5371faf38720e44e520db41bcd06069a1c1d43131e24921697330ab177f8c4c9c90012e7c130c5e5f6de54ea98eada86a6a606a3561e9819eb5d78d33c3c33139b9dc222fb0f743a3c41b1d658dbd4500de3ec6976a0bd2bbaf95ef2d405ee916571761d3ce9740591a4d8585d5b6d2ed52aa579bcc78091000e5d073b47a7fd1265a9a5a9c9526dd2ca459ea969220ef06e1efcfee8c88cd31c6618ff033f415901b93c6532fe69f93b3a7bc73c41a98a011f9819ad34e33889c19ad68fd9f38f318e1a2e8ca7b3f30b761a3f10535eae92fad96116a213ef363f6e3f33e145f98a7253b932dfeb3ce584f650145e701848888fcfb0988ce546d5e22ab16e697148ec143e23c415299e897122cc8774df71c2b3f04b5abbc87c9c8e51bc74d33d92f4649f40dc0afb37ad5c413cd3340ae849c2872c17bff28f9ff9741c3f74920d2051b165734bfe02df63fcffd08bd958278d3df4124580224011a008dc660496ddbc19bf9b40a6d2a2bdf84afc11de6d035ca0255aa025bece9fc231b50483f022c7101ce32bf3f3f37c2354f84bf147fed2d0d0d09b6fbe99a9f6f73e5d8575b3418a468e1d3b9b620b5cdaa097faaeb98f1db3472f565454ac5c0989cd785f5f420f8b75b326894f85059ded431516ab5e66b7dbd1b6b7ff63ef26d767ef6de5de8b156578872b6ac6a8cd0f4c865f5715275cad37aa94f0bc596056e0621cdd8255b5d10cfb08a2d969073bbe20f1e208d446a30a81aad36e36cd5ba222bcb1c98afc806fd6e964236d88884394e26e54f48c5159989f3974fae6a79facd6b81d9d0723cff8a3b47ecc96bf2006243ce185d36ea7738adbd250e476bccfcd2f8144789d176e17e4954da3a05c9e41b63810c40ac6d522e259804ffa78cbc22f59fb979bee5e366dffa7f6e84f1d04f3c3cdc238a7959b9e61ead5547b89f8642b974caf36d6199541672f79e7d55445690b4580224011b87710b874e99242a1108944cb962d8357bac2110a9c820550812364107cbe00af7879e79d77aaaaaa800c08e09854f2f2f04b61e1125fe1eb3c0d4f0fc7d4c28b83762c982bf17568001da025aa0fdfc21fa38d50492a34bf4a02e4413fb5ee6d7f6bdbeaa19ecffb1d5756adabb6b66c94a3d9a33f697d0336c4a08522b07804f4565b8dd833e513ab8d264626f63bfee503fbed4a65b3d7122feb3247f3abecfb67de6369e390b91db785525dd75c2509229dd1a495895d8ece8fa319f86d1147995204280214018ac05d46e07ecdaf325ed07397f1a7e2ef1002e3c3a72fcfdaaa1adbaa1a3989fe6b5ffce19f68727587d0bf9fc5141495312a11c399189c749c5c42c915e8343707eb2a45021b57e4dc254b1b879c9b9b1d4395a9daace4ba4c8f0ed0e42a3bf028354580224011a0082c1904687eb5645cb13414397be88ded87de80e581065838e8731db3f72d0dbda816f73a026ce7a71d2a59212c909cccc5babb1cc331deb3efbdd88e2339669ec06e69e390a0ea9d3f71da3b90b210ddea6adf3baf38954811a0085004280214813804687e150706ad461038db674f784e2bd24e3f29028b466021de7c5300004000494441546a9cbdf5c799162d7de974a438a4f1c538eb5c3a8b46d3e8492f5104280214018a0045200d02fcee446908e8258a004580224011a0085004280214018a004580224011c808019a5f65041325a2085004280214018a004580224011a008500428020b2240d7072e081189c0bae7f5d6b9afffe597edb97d42c9f2c31f3f5930daf9eef9753f6e2d478100cacff77eddf96ebb9da447b8bd62f3debf6e729fd8ffbec09eed0b74bdcd97f5e6ba628504cdce5c1d74b0b996656cdb5e279d711eeeec0f7366ea5a0c2a780314eca6397775a47b70d11299e65643f0ead73d83b95dafa46f6c79483c3dd27d6d55767aaa8dd6da32dfc581de1cec199e6b27dc0abf9cf9eb5694c861df887ffbd91c32cd9e55ca7d416271bfe14fb293b65304280214018a0045e0ce2140f3abc5626db5fe655b1b3205729c5f59bff77f6c694317027dfd955bda0cbc72415360e1fc4a5fbfb5aded52e0c492caafccd6a7be63d6c17ba5f8526f3ef5eb8fbb2367b9f8644a18ad4aa435193bfbf957193365f06ae2f0fb8a43ab438bcfaf98755546235a1dca717ec5986a4c46341d1a1b5f9d9d9ef2924aa3712674f1aee457c67a789975f0cc713b9b0ba7c5f3589cbf6e9f3ef1ba2da61ef16ff71dc9af8838a4dc17245b16873f891b6da7085004280214018a00450010a0f9d562c3c01bf043d7f9c062fb93fa85d9dadf7afeaf7f8f90e1f55ffda42d9889144e9f4c08498273deaeaed9f2a8592742c189e101c725bf6e7d65495e30c752d8f367d815cba747f8e40a98b3f6831f0d21a46afd7eab115e55bd78717341dcf9563808cb0eb3cd5a4f4e9fdcab23ac6472ab6e5d05a35ae667ec2c9b7ce916cfb3c6819377fbf4b9457310ba4d6123ac17118794fb42b87f0eef179200da4e11a008500428021481070f019a5fdd92cfc591de1508e566c3bdf13960c9b33d0b1c57cec2283f2a25224df89323f3095fbb0badfac68da5f0789fcbf1c7c3dcb487d339781bb460ed1d6c12db29d8a54e1208c1eb8c922e647f1ae5a04628377bdf7970d6c6b3cd564fae57cef3f98c4009c27a4b481d32a2cd9a285b1cb026b7539fac0d88ef10e7dff8e6db5427e320705f90745804fe2456b49d224011a0085004280214014080e657b714067337f27ff8fa6f77b4992408792ef4bcb1738f9de3b76dcfdbcf3d6ed1ad9220bf7f6636e83e7de0f9ffafa0fd673b6efcc747ddf9cdcfb524d35b77bffe777f515fb25a912716439a34bb9052bb7ffaab1dd62a3990063d5f1cf9c797df3ac4f7989f53ed7efb77cf6d32803eaee1e37bfee6353eeb13d0e7d57d96ddbff8d9ced51fbd7dc8fcb7ff6763c92ae070edabdffdc54bbf44d6ddefbdbc7d23d7028db3977b5eddbe27eb87ccf4eb8a6408f9274e08ac29336fd9595faa9402f350c07b71a8a7a3c759bff559b3d43de15f5dae937946071c37ca1a8caaa087fde7aee9cddf7bc8fde5e7d3daba6a4605167b5dce7ffdb8734adff8ece62a099a8707ad0257befef068462f2faa6fdbbe81d14a205309f9c7ce9c3c6277f0b8918ef3017163ebd3d5460dc8f54f8f76b51f65395273b3adb6a27885540cd315feb9906f72e0e060dececd1be62f9ebe205e5b5b9e4ccfd4b73eb2be64a54cb24c2402e10b2649243d43c1c27adb33b5f13890f4e9e88715a39b6b64a7ed8e35f575a50a8cb66f6260dfe11ec4d43fd564d6712dd018f08cfee1c051e243666a3d2329589e8793bbc255463d42b27ce4753bc7b9743355cfacfdc8e94f3a08e0dc3b99953e987356f672aa08c8cd957f216e05e3992497e4c7cf2f0ae32049775f08d8d5117970915320e1903d6e09dde9094580224011a00850041e5404687eb578cfc3cff9f2aa2dcf5721cfa591cbcb756bd736befcfa36fb6b87b6bddebeb76d2d24262343a7e75796994a5615ea8b900ca9e47279db8b26c8c4307d4994debae7576f3d530503f84bc3a7bf5d5e5cb556935ea71fbcfdc98b9b8a209ffbec8b096353e3c3dbfedbdb174ebfea4430f3657a662fc7ff8267f55a8da9edff79fbebedafb60beb0303e5157279e1da177ff20a88be3034acaa3215ae5801a27ffcf7cf6d2c915c1efe62f08247515c6e52e741a2946dd19769f281afc7953270376edf65d5c218dd353a3e232a2b2f666a5bb706bdee3c8954c59443c2150cc94b6b1bf042ab9058aeab5c392bcd97300dada0807f66fa864c29d3186db6ab077afd5e9f0fa631642a4581ac2013f5ea6ccf591839e449ec9847bdb6b4d8fca86d7ab26390382f05533612ada9560b72dd1eb15ca92c6d6a35b39d0e73eb4eab510989897b723224556a14d202851c1520a94422315ac0791cfdca283dd3bcdd56ad0583665c93be3c8556b9009cc27abad03c429a6a2bc73f0e878e41617d102a289048f29596d626103d3de9926a3505120c544b63ad4e21f6b8c62e5ff32f57a83485a234f0595b9f30ab70720505bcc070959961f4619753504f4fb67eec20ce6a0ada656dadcf4a1ff06f56f6827d827273e6df8202e178ced28f44bf0c12ef0b61bb38870a1eb2c54d90096da4085004280214018ac0038800cdaf6ed5e923c77ffefc6beda8626fe7fe6dab0d2664d9f3f7905c052ffde6951defc3a44fc59ee3fb9fc1e3576f5850327dc5eeff8e93ab6b07f7fec5bbf6387a925e153ffc2b48ae6687f7b6fd0d9023ebeb7f7aabcd62db8a224f200d1d7aeb6f613acbfae33fbdb565b5b1065974c2fac4f8bb0eeeddfaaebde2b7ffb1df9407399195590db35fd7060ffdfcb5438b5ff358200656c833311693c3d5f48d1b20b9f2bb4eede737ba30b7edb696176fa89ff1e0cbae81e317b48f597452dfe8894faf18765834001d5e9a86d0a4c3fe094c37312dbb6d2699ba084d1d3fdc0e3fbdabb7efdeb19a2358e0a06eac81e42ae0eaf8e063164899d6dd3663f1fa4a34d89dbea3db79e260e720525b77ed30cbd41aa46f6e80e42a34d3f7e987bde320bff9851dd5f82ec2eb3a7149a657d76fc2c995ef54c7be6e368e9e23163890f47485699371d0cb85f589b1f69eead8dfcdaa9f7e69874604f3708c520647df65c7894e0731b78cf61efabc6b5a29d5d736308a6563a77a463c4822165f9f7422829e67b89e59f81111f22b02ced9ea8306c7b2b2f7b6fb778e10cf59fa71c84ef0cb1412be2f0878461d9d52c92e4e52bad3068a004580224011a0083cb808d0fc6af1be87516af0d2719c5c4159890f30a365b56e942374a1f3004eaea0ac2c0032be08d25734d7c08cc4e5cffe374eaea0c4d1f3bd928f1b8a0ba1a9d0f43f3a3be1c1ac202a846428b81ca64402c0dff3d5ef707205c5decbfab79856953d6fd593f4e1397ff19b9f70a2cffebfefbdb7eaf26984fafeede485aa96b56d7bf7b7beec3ad377f2a37f7a63515bbee3a775a42ac87d585e107f5ca783999fd0c437fc381c21c737d79acb3579f962782829e4fea2872d7eba159251c7d14149f37ae8025c443023343180932b28eca56b4193a65069447c4689d748dee459a73f6a1538cbcdd73cbe6b17168540225a9687db4805e486669c38b982022873991eb34e07d5e991019c5c419188818c2f82f4ea32bc4cd2c3f677b31c551c7db85bd20751cf20f04fc5a1761d6c7d2fac0fcf78acaf93133df5d5c993d2eb93088d8f8c4e6bcb9546eb0ec377bc57c72e9deeed4ab3e5fbd4b8736a1cc9cdf5c0eddbf3830ede6a383113f09c5f9c1f935040249cb3d607b159d94b920bfae5c6bf8478ced68f53e3e3c27e0903997c5fa4b12b19faf07976b81198d0668a004580224011a0083c8808d0fcea96bceef7263c2a054376be48f0e40d573438ffc13b0d7225955e5f04e90ffa7622326e9525d087bbc57d54ac9603c3d94b437de73df9612979be8b90179940fac4f0a9306d45c51a78f86be4cc4554012d247d30a72ff944101ddbb78fefdbfea39dce6d7bfee6696b9da1a86ad396aa4d4df53ff98b378ec5299141951d9b0a546ba5724512ad18e7233703bea9487bbe68199f21e1e12b3709043b0efaaec2f2b608055cf0b82e87cfd46a987d09baaf46a6eb22440b7daa6512c027303339e69ec38fb8e1220a4c43be91ae04e7121e95024df812e1809f4602663895e44a2abd1cbb0bd649ce84290a12e8c38d711f643d3582384c23d87a0391f4018bbf1d0b8796b33ffca4cde0f17697b9d9b281d1a9e45ac6a465ca4a3af775650268d425300f47c25307f196333f92ede220cb441f8416612f49eeadfb17f4ce951f6351138743ac51a846b24b887631b809f2a18d14018a00458022401178d010a0f9d52d795c9c8a1f37d6f17eebe6f85adf7ba5353c98e7ce05e8b92d4656aed673d72d6fef792c9e9e572e381f597c06bb147e796ef6c5870b97bb5f7df555fe6af868d9cb55c2cb107ff0c3efc28615ae6b93a800e757247df0de8430bd9252fa0ebd0b7fb05af1876fbff1fca6b54d4fec46c7de4fa14adbc04e7b8348a930d86a3ae31fb199b8e2316b54faf575c8c90df7d56ba430de0c0413e6a020e38a2db8e3a58411a86b34c0460d5edff504d9846dcbe3f7679f1a73072cc5f9625f47474742dfb42778338aa4c2b9277083cfab99a79a0c4012cdaf04e8f1701a49647c9ea9b73597c7d3f3bc33d2536fe588537010e3fc8aa40f1ecc0b0dbec71dddf0075952a3edf15a465956598f9cbdbc3282c7f0245d2c0c1109cfe6a79b631cb2f4633c0efca69924bb32d78757260b7b6f837f6380c46ab9f1632a0e3109508bbf2fd2dac5f74ac09f6b4a871b63ae5304fa0733c9cb1394a22714018a004580224011b8ef1148cd0fee7b936f8f81912cc53e7c25884c86adfff08b954f14356c2ac18bf9e035592942a3f40323fe6d86a29617dffb69cd8a5aab61151e070513e90bf596d77ffc7a3ebaf49b37de3fdbf76ed7c8135b0c9b8eb7bffbd1a1934857d1606d29f31e6f7b178ff25596e77fbcf77bea871a1a4d1a98bdfaf5cbefdbb71933d227aaa0756fe75b5baf7e75e2e4a9a18929b44685a75fbceeabd1eb195706eda7d63d59ab639a7e602bec3f73d95764a8d4e55ffea4c3f988b9415efaf0f656c9885b5c595305f9d2f4b9e13978b4894b4552f9c3f357d2e2ba16aba9704d49a94606b3577d47129201b14cd7dad28ae6dc9ddde1291a9e49bebc18dac568a6afab776abcfb9cbbd2a4625ed8b9e5b46314c9d5254cb932e0fce0a03d55a2404b244b615dd74348a3aa7c6cebf24a7929a3e0a710f947c4e2bb45e927a6826695bcdcf2545b9144c7a8703689b8ddc563d419e9f9397e6e271507d6acce489fa834c6bacb56e99db8383a39e9994532d80211d2b3d9705a1ea54aaab8a67c48a558f7a8cd73665cae371489270e1e15c6f31b0c05b631b508ea1f4f168f437a9c33d7e783ff4459d99b5e6e4cdb6cfc1bebc5d50471c8da8f1c2b211c621b69c6df1799d8158fff54fa3851d73f67b3c0ccbb411ef8b89b4d32909e5204280214018a0045e00147407824f480839299f97390cfccdd88fca4ef9d83458078a2e9d0abbfffea3212af7ab8655389c475f4e7ef0dcd22c97248b308f4c75efbe0b30bb013e1c69616c3aa99cf0e75c14606dc6fcdbc16982d921bdab6b4b5d81e33706d6f3cff7acf058f7c6de38bafbcf2e2335baa8ac4e323c001e757ab0c8d5bb66d81e46ad635f4de7f7d1e3f8945d487e3159b7ae14fe1c1ade1f3aef9b51b373df3fc4bafbcf2525b55d1eca52f7ef51af74c578424c3cff19ec32786270348cad436d96cadb5c662d86a0fa1fe039d0e4f50ac35d636355443be31cd0eb477c1b35521140c00e7202497b1c92c3c5ac7e35155a9c96c82e42ae09d3c79f42050474b105fd6184d46a3d9c0445bf91455a282f672e33a15d7de75b07374da2f51965a9a9a2cd526ad5ce4999a8ef548ae61c6f381c8d4d41cce79f10ffc8e8ea1090f12498bcb1985d83b7ce2245828c6fb8210e89d9d5fb02045a22b2f5749fdace31ca43271771d974a67a6a7300e447d787ba05362615d6eef4da58ea9ae6d686a6a306ae58199b1dece784413e9b9334767ef9827081b3c421f33a395723fcb10f05c9c1f5370486b5716fa646b2f51eee2fc2b00666efc48f60b2f32f9be20da1526c73fe9c4c7e142b8f1318c374ca185224011a008500428021481440496ddbc191bcc265e4a7716edc557e28f21eec7796889166889aff3a7704c2d41d8931bc6b05c8956e6e7e7f93a54f84bf147fed2d0d0d09b6fbe994ee33b7badc2ba7983d477fa98fd6c6672811ed6bd8d1ccb6223092c422ff55d731f3b668f0aa9a8a858b9520f7b18f4f52548ce561f5461d96c28954a91cf9db911512d922afa9abae24289d83f73b9dfc146aea98d66d84710cd4e3bd8f1489be0a7debaeb49b3d779a27dc0a597f8e1a97e41aacc1bd58c51abc80ff8669d4e36f35e499498497e60d2c966a80dd0abf2616bc1341b49244940827aaad56a8904a60d3c493864ab0f52eb8d2a253cbf1798cddc08a4678ccac2fc249709ea996c0c9c2fca8fe9edca429f2ced4d2f37d53aa0cfd4bf6971c8562eaf89200ea94a424bd6fcc9b8a98d754665d0d94b7ebf81a006b491224011a0085004280271085cba7449a150c0cb41972d5b06af80852314ee5da1082a400819040cf5a1f87cbe77de79a7aaaa0ac880008e49252f0fbf44162ef115beced3f0f4704c2dbc3868c782b9125f8706d0015ae0c8d7e38fd146a824159a5f2501424f9718027aebee27cddf3a3a0edad925a61955271b04a81f79b4280ed9440da5a508500428021481fb1b81fb35bf8a5ba9747f3b905a77cf2200eba95256b9ddb3c63cc08a533ff2cea7383cc03701359d224011a00850041e0804e8fe160f849bef6123c7edbf7e2fb600f21e36e401579dfa910f008ac3037e2350f3290214018a0045e0014080ce5f3d004ea6265204280214018a004580224011a008500428027704019a5fdd1198a9108a004580224011a0085004280214018a0045e0014080e6570f8093a98914018a004580224011a0085004280214018ac01d41803e7f754760be734236fff4577fad1afbe34bafedcb4c66b6f499714da0d29beb8a1512343b737530b63f7b02c5837ec2d43ff5c83adff9fee3bdce7b118a9ae63643b1323f14f0fb669c3d9d8ec8a6f5a4f6041b99ba16830abf7159249abb3ad23dc8265c8d9de81b5b1e124f8f74f7f304c6b6ed75d219e7e1ce84374ac7c87351cb48ff5c085a4a3c92704ea79a103e39f74b16faa4d375d1d7328dcf450ba01d290214018a0045e03e4480e657f79753adf5d62a83b82a6ff36bfb8e656219817ef3ee1fb7ae0b7cfaa3b76e716709b3f5a9ef9875f09e2bbed49b4ffdfae3eec8d95df834d6c34b9c83678e2fadbdde99b2753a950ae595a0c5e65777d12eebd32f983512f0259722adbe3e14ceaf48ed495e67cae015d0fcfb9f51687588985f31a61a93114d87c2f91553c2685522adc9d8d97f9b52d20cf54f32e79e3f4dc2996c8f303e39f74b66fadcbef8cf343e1381ba7dfa24caa16714018a00458022b04411a0f9d51275cc22d5b2db8f7ca65d79a133a3e40a6410e86b1ffbee2643de8cf52dfb2d2458ea9a2d8f9a7522149c181e705cf2ebd65796e4051769578ebae9d65530aa657ec6ceb239e2980b36ecd0e9732b0d372e0c2f9ad95db34bdf6cd44842deb1aefd4720cf51ebf5887f5b34a93dc542d67ef0a3218454addf6f35c2abc553ae471b82f85a94803d7f865db17c7ae43625572863fda3fadd2f95449c495691f0c9bd5f32d2e7f6c57fc6f19980d4edd327410c3da108500428021481a58a00cdaf96aa6716a997fdad57b34a8984e9e7e661341b0c2c5207be9bbe7163293cdee772fcf130375de4740ede12bf5c740ec2240b18960b56b9e431e5387ec4712b0cef965dea62154c4ebacef5f179ced4389f5d2152bba08d53b09e501200c740b4108b073b2d8e80b577b044e25bbe9095feb72c6d293148c6595837323eb9f64b66fadcd6f8cf283e1371baadfa248aa26714018a00458022b01411a0f9d552f4ca6274b2fcf0a39f7d7f25f2cfa33cefd0e11d7b7e196662d9ddfeb31d37fee3a3eefce6e75a4cb090cb73a1e78d9d7bec24fa0a8b75a54cb95c0cddd5eb365b10d248916be458dfd92c95d2af2b9221e49b3821b416afbe6dfb06462b81f172c83f76e6e411bb03e9eb776ede307ff1f405f1dada720d88f74f8f76b51f6539b102f4087a6cdd5c233b6d77aca9af2b554881d03731b0ef700f54cccdb6da8ae21552310a06fd7321dfe4c0c1de494652b03c0f0fd10b5719f508c9f291d7ed1ce71e1612e4cf494e39e81b9ffdde43ee2f3f9fd6d655332ad0d3eb72feebc79dc086ac8f79cbcefa5225d63014f05e1ceae9e8c1f988be71ebe62a0d7e777228141221f7d7ff7ea487e5e591f4519bad8fd79b9460179450c0cd7e79b02f9d5d3cb7e4233ceed564d67188c1a58067f40f078ef2899100ffe3f80127013c3bfaf57abd7615f81815c88bf5fa02990cb99d2cc681d00e6c047148562fee9ca96f7d647dc94a99649948049ec3093fe0bfb94a82e6e181adc095af3f3c8add8d4bdaf889f1b9190ccc877c574eb71fede5fba51e49fa67e5dffaadcf9aa5ee09ffea729dcc333ae0b851d66054053dec3f1fe8e0222e552c6e11c4599874317188487115c3278a332755905e189f45f945903f4826e92300855a9fd57d4df44bd7f466c27d2d2034d224e0af5c7dcf4444d04f8a004580224011b81711a0f9d5bde835219dbfbd3ee57607e7d16a4349e1ea15310a994a2597cbdb5e3441667569e4f2f292b56b1b5f7e7d9b7dbf30fdde9ffc7c9b811bbe23b4e9a59f6ce2185d3a8a76bc91e992435eb4be4c03331bfe1957784623a610aab33d6761e4903fb1631ef5dad262f3a3b6e9c98e19a9542291182d1adccbed11af542a4b9b5acd6ca743987e70aaa04022c9575a5a9b60466a7ad225d56a0a240520c7dcbad36a54c268dc3d3919922a350a6981426e6dad37abc2f31f4c432bc3e933338c3eec7292f8c7a91c572d2890e64b800334f967a66fc894328dd166bb7aa06390a08f71fb2eab167239d7e8f88ca8acbc98a96ddd1af41ee91d477ebfcfe7e39e5b92281532690100860b491f758ded2f9b18586fe99e60a7fd62e56abd4c99ce2e9e5beab1a5b156a7107b5c6397aff9972b549a4211460dd26921fed02e8827d25b9f78d2cc03aa602c4f3298c3744967fbb04eb8bd0b1171c05d050ad3bcdd56ad05e7ceb8267d790aad12e772009ad7e7836948994a5120e315e7fa1610e327954f9e0ce7bac285645797332bffbaf3245215530e497030242fad6d00338221b15c57a947dda9b704a78a30cec25a42529b6d1c12e32a151f5ea6701cbaaa84fd3b98b55f84f90f4e91f41144c2dafa4456f7b587e49795b3a4fb5a502e340afa2b67df3324a9b49d224011a0085004ee0504687e752f7829131dcfee7b6927ec1958f1ab3fedaf8ca7f7864f468efffcf9d7da51c5decefddb561b4ce8ec5b82f4bf7ff7ffbe50baeacf9e7b695349de1707ff57e7045a29915c3e9d5d7205220bc4385bf05c19c3e2d5e6d6fa329c6e4d8f7439d535905c055c1d1f7cccc225a675b7cd58bcbe129dc08450dcce13073b0791daba6b8759a6d62075a330fd60374f0f1348a73af677b3eaa75fdaa11189e1c9990648ae42337d9f7e08290c5237bfb0a31aa27ce8f3ae69a5545fdbc028968d9dea19f12089587c7dd29901ff881cfe730e4f38419974d83f816937a665b7cd24531721145dfd98a08fbe710324577ed7a9fdfcc61ee6b6ddd6f2e20df5fadec3e3fdc7dbf9ddefd4cdbb7654f3ecc9fa9c69aac3c9157be2fd8ea828b04f3f216c57985dea07a39441feecbbec3811dbe90f53a905f993f044e3435d76d79a75b5d5a50acfd8a9fe118f4482ae5d74a229b760bbbe713b1187541db13af59b7072e53bd5b1af9b8df9114df51fc6a8a9b7efdeb13abee35cf824257e087ce2fbc6d74976c56832f2ef8c0777700d1cbfa07dcca293fa464f7c7ac5b0c3a229884b09632ca14688db049af8932ce39018576373c23813ef3b92df51967e21dcd7247de26d8fab677b5f9fe1fa0af805e683b94be4fb3a4e2a5409feca561f14fb1e4be44fcf280214018a0045e05e4680e657f7b2f70474d78347e713db61341dbc741c27575056e243dc0348c9f467fb8e9ded43ba6dbb71277bfba13e4cbfa8828514c80a715f89866118c8af42d3feae997c3cc2ccd73cbe6b173c4f1342f9a0deb23c680bc2644868c689932bdc051ff08847ab20d0630228637d9d78fc8da6be3a79527a7d9259d7045da747067072054522e6e758a6c69d53e3486eae87b66fcf0f3af8ab70625e803f66925880a17f6200275750d84bd782264da1d2c8af5e4bd167dd86cd60c7c437fcb80e21c737d79acb3579f9dc5c4c846f44497c4eb4b70c2fe8f38ef7c62557404eb42bc23be5931d199dd6962b8dd61d86ef78af8e5d3adddbe5c44bd684f933eb7482788264a763cabbca5c5d8afcee31476ce77de1f6662bcc282e84439caeea32bcbcd4c3f673ce8df931422287b0b91939e13fc12fa9f1b3109f4416f84c58ff285d52bc91fc2bc6c1edfea2872d7eba15dce6383a28695e0f4ce26ebd284b5c21e39c40167f92551c22ed06c1fb485da612c6991887e9f1c9d42fa43827ea136f795c9d18ffa4fb7a9ee817129efcb38571327195e4afacf549e24b4f290214018a0045e0be4080e657f7851b1732c2ef9d8d2781b16946252109c8a84794881d9b0a546b15da324829d0b8fdd7ff82763d6986fddfd4b215203d303339e69e1387f51005a627e1392fe81b9cc38fd8440b8c78d43209819ea70a7c3b164e959cfd7832885983db239cf15356d03d79508b479ae1b210ff085ddc2768e5715d8ef457c36c50d07d1506610c6e4ad6c7ba11c86f067cd1876ef245cb523283302ffc41d447cd659cc02c4d89b32b0dd5e0f17697b9d9b281d1a9e45ac6a465ca4a3af775b9b91e04fe243c7981226eae325e626abb18e7b959e02097637bfd9e9930db02213fc68be4eaa9f1b3383ea9fa474465ee5fb037c44daac1a4a3ef2afcd6106191e69384b360171090791caaeb2d82f7915cae06e6a93813e39053858c8fa0a659dcd7247d84f926b5c6414cd45f5741f20b09cf2421f1a70bf82b137de2d9d13a4580224011a008dc2f08d0fcea7ef164bc1df391c5529146717a3fa7d017f0f491b5851136d97cb2d3de2052ca4a6d35ea8ec17076012398a93177c0529c2ff675747424b0d35be1146f62905888f4613251f2b895cbd90237f87c9279aac9002ca3f95578322b0e9e85f8276a133b0bb3a86b34e05925dff5c895647d26ae78cc1a957e7d1d72726b01d56ba4a05080b83723591fc61f4472e99a1a0675b1116991cf54bb2257843fc71dddf007d95ca3edf15a465956598f8e5c15e69f164f61ee42ad99e090b83f3b0e05894cc131d3db9acbe3fd189610ddae3d2231357ef84d0717e013e99ec167a6fe4d985b838c1aa1b8a01392b3489c338d43525c31d60da04d2a3e247a21d553da32f00b893f499f1419090da9f14fe2dffc7473aca7805f4878e24e09f199d65f99eb13538631d72902fd8382b365312a5aa3085004280214817b0281f4e3ee7bc204aa64320292351b5ffff1ebc87beeb577f7255f139a924aa51f1e712343c9637bdebefce997457ff6ddeafcfee7a31b122673249d0fda4fad7bb256c7343d692bfc7c7006960772ebfdc6bbcfb92b4d2ae6859d5b4e3b46915c5dc2942b03ce0f3e4fe413fde997447fd09ed8217cc6baae87904655f9d8d6e595f2524681c5f282f1a76bca87548a758fda3c67c6e57a439178e2e051823e04fe3c3369715d8bd554b8a6a4542383d9abbe23bd98bb5071da9d8f981be4a50f6f6f958cb8c5953555908f4d9f1b668588711bd9deafceba5b4d2a93ed8515ce6faede10abd7e8e5f36cfb11bc819e905db85da030d65db64aefc4c5d1c949cf2c92715b11066621936685f98fa4c353803fa129131cf2e5c5ad2dad6234d3d7d5cb4e4c05cd2a79b9e5a9b622898e51e1ac146f05125fc4321dd0a33977673797bbc65f8bc44f267ce2fb655b27d935078f0ec212c18c4bfab815640360641e87c4b8ea27e04c8e434165e21b33f14bd6fac40b48a90bc5bff07dfd0d0e2161bf2c8867427ce6f67b465dff9ccd2247c8200f7cdccda6d8471b280214018a0045e01e4340f87f9a7bcc08aa6e1c02f8cd55ab4c6d5bdada9e6ab1e2f6396898bb11f9f5dc3be787f99cb809ab147adce7d06bbffae2b27f9561d34bafbcb26d53950a7282eccb78cfe113c3930124811df39eb41a21d3e1a3adeb60e7e8b45fa22cb5343559aa4d5ab9c833350d4ac1f8663e10996a9a83ad10c33f1813e87985f07029a1383a86263c48242d2e671462eff08993a081388f4fb390a3b377cc13848ddd1a9a9acc8c56cafdbc90967f026ffe048fc354a526b30992ab8077f2e4d183dc9358d18b495dfa0f743a3c41b1d658dbd4500d79c2343bd0de15d783238f3783a48fb3ebe049a72b8824c5c6eada6a73a95629cde37e45872598427625e9113e655d6eef4da58ea9ae050c1a8c5a796066acb713eb23cc3f2d9efcd4a0d06c1cf663627b7a1cb0bb9144653419cb8deb54589bce2f58880a89aebc5c25f5b38e739002c67f5be170916a80de683630404f8a9f143e3e84b85dfa711f7249d59fa78d7714df42b22bc4bf402e0896c526b352bb47545800e70859dc2706208b3844c27195824f146761fab002247c383764e21794b53e71a6275705e39fa03fd12f69f14c89cfb4feca469fb02d7c6cc3063db45004280214018ac07d80c0b29b3763fff9676e4fb4175f893fc2bb7c800fb4440bb4c4d7f95338a69620ec610c8b30b812adcccfcff375a8f097e28ffca5a1a1a137df7c3373fd2965260858ac9b4b5552f7e8217b5f26e4241a7d4d5d71a144ec9f8587ae1cfcfba68054cd18b58afc806fd6e964493de3dbb3a2c7c4f98149ee754cf14cf8ba9e312a0bf367a71dec78ec62a6fcf5567890cceb3cd13ee0d24bfce3517b629c046b6aa319f6cf434942c3fa343ffd64b5c6ede83c688fad0e22eba3361a55281f05a6dd6ca27441bb04b5816d078d2a653e30994d0549807f7a3c854508b7a6c321b507c8851718bb9ddc061ca997336951eb610f10b0979117b02c8bccb697ac8c973db9bf2365ca2b136e449aecec22b1c902e745c6a1f07d970667ac5236f729c93452bb20ff34fa90f840bb60fc0bf21760b2283c31f31c7dcfa88d754665d0d91b594b2da0226da20850042802f72102972e5d522814f0f2c565cb9689c5623842e1dec588a00206430601437d28f04a9b77de79a7aaaa0ac880008e49252f2f0f5ae0125fe1eb3c0d4f0fc7d4c28b83762c982bf17568001da0058e7c3dfe186d844a52a1eb039300a1a73104faecc76e29b10a731a1fec8fcb6322eca7d8ec06cd59d1a7271e679da90aa5ef12d11a7fc24d160accc0a83d95493c59621defba96d8a2b7da6ac49e299f586d34e1977e5d3e1b4bae8092accf1429dd10b42b5168e48cdfe62c7296f829c09fac4c62d785cf527148d7e7d6e53255569b593639ca4e5cf1ae5bbf9129d7c1bcdaa591dc265760427676916ccecade45c5a1705ca5919be612c98aacda05f90b362ec85630fe3367b5083cd333cf4a9f29677fd217c482f652028a00458022401158b208d0fc6ac9ba862ab6441180f9593c457baba5a0a88c5189188e4d70d271d29e4dba76abc21f98fe1ed7a42760d496c21f8fb46f6c1836a4bf1feccf511cde0f50e4c4068a674e60a44c280214018a00450010a0f9150d038a403608c05ef3efd9b3e940a2653b3fed50c90a618dde2469428ad495b6678cc094a3eb80a30b9607aa6480b4d719bf243463264b91306771b8148dbb0b3a513cef02e854244580224011b86f11a0f9d57deb5a6ad81247606a9ca52b82ee8c8f28d47706672a85224011a0085004280214014000d69cd34211a0085004280214018a004580224011a00850042802394080e657390091b2a0085004280214018a004580224011a0085004280280005d1ff820858175f77b7ff798fbdff7ffe8fd63f7add94c5d8b4185df442b12cd5d1de91e64c39692dab30522577cb2954be9b34340dfd8f290787aa4bb9fcdaedf92a3669a5b0dc1ab5ff70cde9bfb9fa88dd6da32dfc581deecb60b35b66daf93ce380f7746767accf4bebb737eaf696c592d9e1ee8a6fbfe2db97b862a4411a0085004ee3a0234bfbaeb2eb8730a58bff3d846830149ead19dc8af98a777db3489afcb4c7ac553e6961beb5b0cab82678edbd985fa3065f0ca59fc7e5a28a1d5a1687e456ae729333fe68a4fe61229e56210604c3526239a0eddf3f915b3aeca6844ab43f76a7e252fa9341a674217b3cbaf981246ab12694dc6ce7e7eafc74cefbb3be777a6b2c6a412b92fd2fc6a31f727ed4311a0085004ee7304687e759f3b38de3cfbef3fee2a69fdb6fb0ff18db7ad3e776574cc2f46328d4e29157926c76642e85b977771e274eb2a18d5323f638737c4a62facfde0474308a95abfdf6a845755478949ed51820c2bb9e293a1384ab6580482d8f77101b0583e77bbdfdc3d6e08a77fd67e60cf9f61572c9f1e896ea49ff17d77e7e00a4084dd0c05ee768050f914018a00458022b00411a0f9d51274ca6d53e9eca11fbd7ce8b6714f623c6eefc02b9a1ab7bf502b15b1f623ddb7b0595e10d6fb2114cb969244259e4e812049003a243d5c486a4fecbdf059aef82c2c89522c1a010f0e96a4005834b3bbde316a881ade647cd7b5c952014ef96cd310d6dec126c9c9e8bebbbffc9e84003da5085004280214817b05019a5fdd2b9e5abc9e961ffee267df37e1ec647e7e3e0f8d1cfe9f2fffd2ceb3dbb6e7ede71eb7e8564990df3f331b749f3ef0efd227b6af3a3f70fda1968d9acb3dbf3b34f39d97da0cfecb9ffdedf657cf2e4a05b1188fafc4f2c8c0505fbf73f386f98ba72f88d7d696e3f583fee9d1aef6a32c1031f54f3599750a292f27e019fdc381a3e3f0ea2249c1f23ccca47095518f10bcc7c8eb768e73c34c73b3adb6a27885548c8241ff5cc8373970b023f2c006cfe54e1e05f5cf5e017dfdd6cd35b2d376c79afaba520e0ddfc4c0bec33dc0a9be6dfb06462b013042feb133278fd81df55b9f354bdd13fed5e53a996774c071a3acc1a80a7ad87f3ed03185cc5b76d6972a319ea180f7e2504f474f60cbb32d6b96b93f3f70383a33c0346f6d31ab26bef86347ff782affacd5d7373efbbd873c435d477a58dc17bbbb064d7cd93e288176f7979f4f6bebaa1915f8ddeb72feebc79d7cb6c0d4b73eb2be64a54cb2ec6630301ff25d39dd7eb4370d0e24bfc7f88844005274509f03bbc016b27f49fc05f54c6397da6c7dbcdea4847886120ab8d92f0f9ec6d5f980b8b1f5e96a63e2fd82af645552e30147411a7d04b9a7a127e1100a16d6db9ea98df77b9a38d95c2541f3f00065e0cad71f1ec561bf6021f95da0232797148782fe0226027e397e8d679ecf7f98adcfd61ba422dfe0b1f6de7144e213d3332ece8181306ee478e365d2234580224011a0082c5904687eb5645d933bc5ae7bdc6e370ace23f1cab5259a552bc209ccb6d7dbf7b6ad45687664e8f4fcca3253c9aa427dd18a1b2b571936b5a0e0ac3f58d4f8fc4b90fff88392a2daad16f46e5f2e542a904a251289d1a201ce336e8f78a55259dad46a663b1d2d8db53a85d8e31abb7ccdbf5ca1d2148a0a10b2b63e6156e1e40a0ad3d0ca70959961f46197d3dcbad36a54c228da3d3919922a350a698102d2b8bb5604f55f843605051249bed2d2da043376d3932ea95653200124509ded390b23877c941df3a8d796169b1fb54d4f7af2245215530e83f160485e5adb007d8221b15c57a937aef99e550bb9a86b747c4654565eccd4b66e0dfecb556fa854a7db68659ce167d9988deb8b2562cf64ffb820ff8e413e03cad88e820259be64be203cec44055299245f047e2940d27c09781018f967a66fc894328dd166bb7aa0639069de6eabd682e233ae495f9e42ab94e5c97088927020f93d950faf746eec4288e45f127f929e24bbd435b6bf6c624428e89e60a7fd62e56abd4c89e3196662255a53ad96bf5fe4d1fb85b72ee3a371fbaed478f01ee91d27e943e24ca217c6c185e611d2545bb9fb3dceef670871e2f7787d3e98ae96a91405321cf60b1692df853b161490e290e42f825fc2f915e4f0ea9ab66d4de5f9283436f0394eae08df4ba97af2712e8cdbe01429de84eda2ad14018a00458022b09410a0f9d552f2c6edd1a56fdf8f76eee35857ece9dcff4c588865cfdf437215bcf49b5776bc0f8953c59ee3fb9fc1c3192e22867ff7a3eeea7f7871e3aa6b3d3fff2f8eefee7fb14226cb917273613e6ee789839d83486dddb5c32c53c3e88b51cae0677bdf65c7894e476c4ceff9bc6b5a29d5d736308a6563a77a463c4822165f9f74227d73032457a199be4f3f84310d5237bfb0a3faae46b3b0feb7809af754c7fe6e56fdf44b3b3422315237d640721570757cf0310b4c99d6dd3663f1faca339c00d7c0f10bdac72c3aa96ff4c4a7570c3b2c1a69c50648aefcae53fb3feec624e6b6ddd6f2e20df57dc7ce3ef464b5c6b0516f67316cf5d53a09f28e3afad58d3f10e28f06b9ee9c948c0e11ff8689a3a773384f8032e9b07f627720a665b7cd24531721b564134eae7ca73af675b3827e4cc481e47775bd301f026e59db45884f925f900b2d149f89762175531d4eaed813ef770c7248f107bd95ff4cb95fe26832a8ea1b85e341df7b38d23b499f4833f133919e84b32bdc3fd9ef7337121847e364aaff703b4c41abb7efdeb13a81827042f23b811c91e2502f27f88be017c46009f3815575b6c71b18310a9c3b71e838fc1891b3f81c13fc3e249945db290214018a0045604921705747a44b0a890741999505dcc2236caad5ba117e1bbfd07900275750629760adddc86f7e69b7fcf635845c9fec695fb9c706d7a34bad38ea5b3ac06c5468c689932b28127ce046deecc8e8b4b65c69b4ee307cc77b75ecd2e9de2ed8d2796adc39358ee4e67a20fbf6fca0037202ae30cd9017a0e991019c5c419170cb10b9ea5d3a08ebbf6865c6fa3a71be81a6be3a79527a7d12693714c059bee6f15dbbe0b9a210ca07572ecb2b40f370e2fea2872d7e1aa686bc8ea38392e6f54058b80666f64213dff0f917428e6fae35976bf2f265e3dd23ee4ab34a67a9538ff7a3faca62c86d9c3dfd48db26cc1f78e5a880dffd130338b982c25eba1634690a950f95492073f7b0fd9cb1027e4cc28159d724e877755991301fad22477611fc4be0cfac530bea19c532c92e84caf05250ef786f7c72c55113ee9728a78c2aeb74847888dcda29fa2cc036999e149f2828e87723ba9c56801cc2fb665a0afe22d1efe4be82fad4ae5310fc45f40b37b1a86b802963e47374eeb3e3b596885927fcbd44d493103f7087087e1f92cda257280214018a004560092140f3ab25e48c3baf8a24b28c0b690a6178e1c71ac0c0669edbe64f8cfc53c3f0bcd36d502b389790afc18807cae0f17697b9d9b281d1a9e45ac6a465ca4a3af77571a396b00a78a49c50c4a02c5f6438dfc870038c489f1c7f2eac7f160203df8e8df3e4ce7ef8391f269a2c6060606672cc3d17b15a14989e44ba0ac8a3b85fff61f2c3771596d571dd96e1e78f6e067cd199c07cd1b2f088d57e7ad4642dd73d54abbe86ca64302576b6670aa9cb25c2fcb3d05988b400e7bdfccc15543caec8a85aad86d9caa0fbaa4f0e5b3620bf6726dcb920c98fc938306b30610401fc341eef77b91ce257808f5a9633bb04fd3b48e48fed4ad5136b8f4bb25d480d9378c41d3904ef174c9f71e11e83148e078e478a3e0b704ea627c627d208fa1d6eeb3f8f17111727f1cd0bd6497e4fd351509f6944f0176e26f80518c10e952191582451eb8cc819fbaa4af53b49cf34f129186f09df879c6af44011a008500428024b10019a5f2d41a7dc1195b861b8f75b3727ccfade2bad304e4d2e5c7470b956f295cccfb9fd925130bafe87eb8907ff4265dcd10d7f904d34da1eaf65946595f5c8d90b84e1c9a978269cba811bb31c1be6a92603b04ccaafe2f7678f9726d86eac6bd44966ed3d29d307f13d13eba97c48fa43bf2cf98bc2795244e2d4983b6029ce17fb3a3a3a226df8b3f9e9e6d8296450081640e1323be5412a957e7d1d72e2f40ca9d74801a04030007547df681dc328ca9f6c59264201e757780520893feecb95ccf5e7b2292c077ecddfbac9088ee2f32bae25ecc2ba46039eadf15d4708af0293c814dc55bdadb93cd18fc938e0f41fec10f03b0ea9543e39b40bf8a7fab7ab4fd82f8cd54cd0139aa1a4d83575cd1f4472e99a1a0675b11c49dc8174bf0049867e99b8e2316b08f18005a5e813275da89a4c4fc439bcbe31d5efd2b471c2c9246ceb9e78df09fb5d48e7f8b6147dc438911288abb47e4181c93f76ba1e83c707cdad4f050387bbd9dcc6676abcf1df87d812c65ca708f40fc692ba78f3689d224011a0085004ee2e0234bfbabbf8df35e9f6e12b4164326cfd875fac7ca2a861534921a7093c8a8e4b4ea2425ddf520ba366c50a1800898beb5a5b37a099f303bd49e95a744a8ab1eeb2557a272e8e4e4e7a66918cdb422d301ba6764df9904ab1ee519be7ccb85c6f28124f1c3c7f3d8434aacac7b62eaf9497320a7e222e6e200f66e4cb8b5b5b206f9ce9ebea8dcee308b7ebadd60633f058ab96ec3f8a33ba4c4a02ffb4faa345f14fd061bcfb9cbbd2a4625ed8b9e5b46314c9d5254cb932e0fc069b8c879849c53fe2f4181be4a50f6f6f958cb8c595355590cf4c9f1b6631dd54ef37138ca55822813d2546c2bf8813f87f70d08e7b64a9bfcad8d4265e0ffb6e28f1ac52b880a6d2e2ba16aba9704d49a94606b3577d477a59a3226856c9cb2d4fb51549748c0a678188db8d3fd22df1937509fb9d9d9812e6932bbb48fe1def15f4cb07a785f54cb426fe8cfdeaacbbd5a432d95e58e1fce6ea0db17a8d5e3ecfb6f3cb77a384d1fb856fc9d82f4ebbf311b3703c3051e6b75221e1fc39ceae53fd0e1105d204e324aa8558a683fb17cdb93bbbb9df082217e2ef3ba2df23c4a99f82fab06635e1fb84e097239771a62fca476cf73ebb6c174c0857b76d9dfbf448aee2f33f519aef4398ce7ece6691236490073eee66536da42d14018a00458022707711101899dd5d85a8f4db8a406c86e7d0abbfffea3212af7ab8655389c475f4e7ef0dcd22c97248b382c88f1f3d9f9b9fc33b7f854bac5fa465c14ff9da0aa3d164d4e25d2b90aad4682c371a742ae00fe39b79fc6e4eaeccc1b686309e0e22d6e5f6de54ea98eada86a6a606a3561e9819ebede49ed5811997cede314f1036ca836b66462b8504d0d13134e14122697139a3107b874f9c9c0c20711e9f660167cc164954a040b9711d488d14623b6805a580dbb92e429ce633854f5afd79abb3e1cfab93a040d7c1ced169bf44596a696ab2549bb47291676a1a4f0e71935241d028f6c00a74ef3fd0e9f004c55a636d534335e42dd3ec407b5718cfa9de531378316868f4f4405406813f7f1d7b0dcac2f88cdbcf4c7851bea2dc54aeccf73a4f397d208673377090aa4a4d6613245701efe4c9a307b136cece2f58b042a22b2f5749fdace31cd073bbf173f2e2a7bef80692df53f8406ace7fbbe5c62eb27f85f993f4e4ad48b50b90e83a78d2e90a2249b1b1bab6da5caa554af3e0de21dc2f613e19fb256d3ce028caae08d00be3c0b116f03b394e7845b061520ddcbf46b38189e99672df91fd1eeb9458138e43b2bf087e41f8157bfc0c9be3f8a1936c00898a2d9b5b0284efa5143da3712e8c1b39de786bf8d8868d6f68a1085004280214812588c0b29b376383b2ccf58bf6e22bf1c710f7e333b4440bb4c4d7f95338a69620ec2d0d636dae442bf0d226be0e15fe52fc91bf343434f4e69b6f66aeff834969d9f3dbfff58c69e4d04f9e7feb188f408575f306a9eff431fbd92582885a6f5429f3f3516076d2c9c6cf3961fdf48c5159983f3bedc03bdf7145cd18b5f90101d2f0f56c3e8cadbb5b8dc8ed789f9fb1c9a66b8c368dfe39e10f0bfdc064457ec037eb74b231b9c49ada68867d04513c68445aee02917f36fa83a7e035656e276c5012297aebae27cd5ee789f601975ee21fe7df5f0617d57ad8c3048e8cbc80655964b6bd6465bcecc9fd69df6346f23bb4ab92e446e4e7c42ed093149f82fc497a469412fc541b8d2a04b7c0b49b8da22448c83766e317803bdb78482359f092300e6ab54402d32d9e98dfb9ce027122c874a146104af27b7257521c727469fd95855f04f82c14e782b8a58b37639d511974f666fbfe84643ce8394580224011b8bb085cba7449a150c04b2b972d5b26168be108857b8725820ae80619040cf5a1f87cbe77de79a7aaaa0ac880008e49252f2f0f5ae0125fe1eb3c0d4f0fc7d4c28b83762c982bf17568001da0058e7c3dfe186d844a52c9c94ab0249ef474492160d9fbf65fe54f38af15186ddf33c110e7d4bf85932bd0f2acfdd852c9ac78ccf8ed0209f88db3ce486215a69862e346f0845e1935eb6bb63e522e46a173a78732a2271191f4cf157f58db979dc953ceb8cdee495ac7b70bf3cf527ff0543c4fbe0e5f4ea1c00c6453f14e64aaac36b36c72949db8e25db77e2353ae83a7602e8d24ac074b6525ac645a7084bb646957783bcb548508a285850a758f6b9b8a4f4be3da85aad9ea8fb28e0721a9e9da044d9e9a82443b966b47fb0bc649f46ae61541a1a4ee8271c813a7e593855f52f92c18e7a95db04aa4ef13b8e2ec17009464336da7085004280214813b8b00cdafee2cde77419aacba699341bc8993ec1f3af48f6ff5dd052596b8487d99a1581e1a3d653f9e653692a15db79b7f866a2c9a2c27fae3e554291a785c939e80515b0a7fdcb5a06f6c1836e64fa1bb3d0d39b1ebf6a89611d77b5dff8c8ccc3591601ce65a4832bfbb1be7c9dad0738a004580224011b8cd08d0f581b719e025c0bec2623568545204eb0097d86cd5120087aab0141080e5812a585018f03aa34b3f97825a54078a404e11a0719e533829338a0045e07e4080ae0fbc1fbcf860da70b66fc93c5ef5603a805abd100253e3290fdb2dd4855ea708dc7308d038bfe75c4615a608500428028b4380df8568717d692f8a004580224011a0085004280214018a004580224011882140f3ab1816b44611a0085004280214018a004580224011a00850046e0501babfc5ada097ebbed6ddeffddd63ee7fdfffa3f7635bfce548c6e69ffeeaaf55637f7ce9b57d3962f880b031b66daf93ce380f772eb0a3ddfd02c79db797696e3504af7edd3318bfade0adc3a96f6c79483c3dd27d6d558b4185df582c12cd5d1de91e646f9df5ad71b84df6de9a52c4de6a735db9220f5e27e79f9e1c732ebc5ffc9d8f1fa2eaf4024580224011a0085004ee160234bfba5bc80bc8b57ee7b18d060392d4a39ce757d67a6b95415c95b7f9b57d394fdd042c8126bdf58527cd92c8b550d07ff5dcc027b9ce5218eb333673f8edc10197e3d71fdb230273f4c994305a95486b3276f6dfa93ded72a4f9e2d8dc797b99755546235a1dca717ec5986a4c46341d1a1b5f6d82d7497125b43a7407f32b66fb0b366de40680f89fb9c2fef170d7544eed35d6b7185605cf1cb7b38b7377a497f07d64b43ef7e76679ec0db66ef4dec105ee821cc54faeec8ad8473f290214018a00458022704711a0f9d51d853bbd30fbef3fee2a69fdb6fb0fe9c91673d56e3ff29976e585ce3b945c712ae2b5a78199d1b16fa52a8d4621d51a1bb6ba278ff4e7729ac2e31a1b9bf02191a2582b47b763ad2b7bfe0cbb62f9f4c802c3cac5b86449f6b9f3f6ce05838044081f725ac26c59fbc18fe09566aad6efb71ae1d5e53915b110331c9041d7e87840a6d4aae44a9de92fb65cdfdf9f4b7b75eb2a18d5323f63873733df4a11ba8ff45b9a70723533363c70e6529eb2646d91c8bba08c1cc54faeec5a505f4a4011a008500428021481db8100cdaf6e07aa8be579f6d08f5e3eb4d8cee9fbd9df7a35d7733be905725703df5e38dad10d5563ebce56a3522a9765d0290b922947f7110742eac61776d4de9e5066ed1d6c160addf3a477c7de686aac167c0ded2250f5e0548a678bdf6d2b09c05b8fa25216c16f915d02ae13478fe25f149896176c26997e2dd37f25aa18546ed1de20ac7b841c0efedd5a11ba8f0af200af90fbc4912e1633770e66242237f1932bbb325299125104280214018a004520d708dc9e4169aeb5bcbff9597ef88b9f7ddf844749f3f3f37968e4f0ff7cf99776dee46d7bde7eee718b6e9504f9fd33b341f7e903cfbfba0fc1635a2f6fdf58b28aa799bddcf3eaf63d7ff68b8fb6af3a3f70fda1968d9acb3dbf3b34f39d97da0cfecb9ffded1b177ef6b3efaf44fe7994e71d3abc63cf2fc3605a76b7ff6cc78dfff8a83bbff9b91613ac63f25ce87963e71e5ef0ee9ffe6a87b50a2f0d0a7abe38f28f2fbfb5c8ac4f240aaf2ef2de98c772e14cdff8ecf71ef20c751de961718bbe7ee7e61a34f165fb60dececd1be62f9ebe205e5b5bae0142fff46857fb518e0813a62b9282a4a1b3b9d9565b51bc422a46c1a07f2ee49b1c38d8d18f98faa79acc3a85946715f08cfee1c0d1e2adcf9aa5ee09ffea729dcc333ae0b851d66054053dec3f774d6fde5c2541f3f0e04ee0cad71f1eed092b801526ea59dfb67d03a395e081a97fecccc9237648fec845489f710e1ff7979f4f6bebaa1915e0e07539fff5e34ec811a090f8abcdd6c7eb4d4ab0174a28e066bf3c785cd85ee2ec21c8cdde5e2c4ea808e32f44c9b7cd07c48dad4f571b93fd4eb297c49fa96f7d647dc94a9964ce56d73900004000494441549948044e089025f25784f90bfa053a90dad34811890bf8abecb03b60d289503e774ab257c02ed27d01af5292142cc739102a5c65d42304ef0ff3baf927a4cc5b76d6972a719c8702de8b433d1d3dce7a529c1fe8e0430beb95781fe5c37f0e2249911e65f44eb245c48f209ee9ec4259e083ed41c2f705f93ee23ad1034580224011a00850046e15019a5fdd2a8239e87fdde376bbe11172245eb9b644b36a453801d8f67afbdeb6b508cd8e0c9d9e5f59662a5955a82f02713ffefbe73696482e0f7f3178c1a3282e37a9f36056688574e52ac3a616149cf5078b1a9f7f09f2137f505254bb553634e57603efd58692c2d52b62daca542ab95cdef6a20932ab4b23979797ac5ddbf8f2ebdbecaf1dfac1db9fbcb8a908f2adcfbe983036353ebcedbfbd7de1f4abed67637d33ae455664999b2a35a0d1e5f34e54a093e54be60bf8712642055299245fa490a30224954824460ba69b717bc42b95cad2a65633db99364511d2c4dcbad36a54c2e8da3d3919922a61696201f047a8a5b156a710c352a8cbd7fccb152a4da108c6be057912a98a2987816830242fad6d808c321812cb759505935e9f0fa607642a45812c3c48c6d20aa4243deb6ccf591839e485ec9847bdb6b4d8fca86d7ab26330367c4d5256501f545020cd97300dad40ec9f99be2153ca34469bedea818e41127f758ded2f9b18110aba27d869bf58b95a2f5312ed4dd22176eaf7676b6fac6f628d847f2255ec0ca660245a53ad96f7bb3cea7792bd24fe4cf3765bb5161c38e39af4e529b4ca05264b49fc85fd42889f9819e96bea320584bc3f004bec48f60adb45b82fcad48f9a55e15f15205a184efacc30fab00b6ddf65d542ae050b13674465e5c54c6debd6a0d74d8a733dea16ceb9d909975fa395d53eb94be71cfca4b337bd7df075936dfc08e26c6d7d826097332b7ce07b83745f90fcbe8081f4324580224011a0085004324680e657194375db08fbf6fd6827bfab5fc59ecefdcf84e558f6fc3d2457c14bbf7965c7fb7d0855ec39beff196e986f6556c36cd3b5c1433f7fed502ce7b1709e1cfedd8fbaabffe1c58dabaef5fcfcbf38bebbffc50a19daf712e65ef1ab3fedaf8c3721f22cc5c8f19f3fff5a3baad8dbb97fdb6a830955fcf0af20b99a1ddedbf63776a0b7befea7b7da2cb6ada8fdddf8de99d4f13852637ee107152289345f149c38f5b99d8509abc4ae7391d348c5ed3c71b07310a9adbb7698656ac8b6b22cfae60648ae42337d9f7ed80b034775f30b3baa396c18a50ca6777c971d273a1db19ca7989bf2710d1cbfa07dcca293fa464f7c7ac5b0c3a22940fd87db61cf40f5f6dd3b56c7ab40d253dd5803c955c0d5f1c1c72cd033adbb6dc6e2f59568b03bbe775c5d581f3487c7df50261df64f60fa8b69d90debcad445485d48e07fa6a90e2757ec89f73b12967011f8c76990509dcad2de84ce712744fce36884aac97e27e1e942c2fe55d76fc2c995ef54c7be6e36deef42c2a08dc47f704c304ec0a38476027fbe7959c16a8659556478a8ca08d99e9b758ea3704827db4bc28d106f439f774d2ba5fada0646b16cec54cf880749c4e2eb934e7de37648aefcae53fb3fe602cfdcb6db5a5ebca17ec683151288f3b89f0e922ce9fee45fc44fd9cc3ab9d6687989310ef7fea92bcd1e8f59c78f309e1e825d284b7cc0c1c2f705d1efa4fb3409157a4a11a0085004280214818511a0f9d5c218dd398a9505dc681f0bb45a37c21cc485ce0338b98212bb64ffb79317aa5ad6b6eddddffab2eb4cdfc98ffee98d6338cf82b57023bff9a5ddf2dbd7601cf5c99ef6957b6cd01a5922a5074f734bf43033be80ace0a5e338b982b2121ff0831c1b8a0be15868fa1f9d9d98252a84642eb87c81a900dc59b004e77cf322bc52c9377eb87b814d22e0d7f8d08c13275750402af74b3ffec8a630eb74d0757a6400275750246260cb157664745a5bae345a7718bee3bd3a76e9746f9713e7592278c8e48b1eb6f8e956588be7383a28695e0fad91675af01ac99b3c83c851584fad028f54f3358fefda8559a27ce8b82c8f3c7a45247da037f24f0ce0e40a0a7be95ad0a429541ab530c327c8bf0c2f78f48ef7262457b827c15ecc955c32b697c0828c3fa103f7589480df097832ebd482fe559715418c7ad8fe6e961314f33b412e813f19b745e12952586cf836841b71d2f9e5275d0ed85753307ed2e026483f35ee9c1a4772733db0fef6fca0639c1382507303ccdc8626be39133e777c73adb95c9307d1983ecec3e4891f53f6c307ecc6faa71ea9d1c915a6a62df9e89f8f93e763b9be99c78f309e24bb9866d27d8def1781f84184fb82e8f744d3e9194580224011a00850046e01019a5fdd0278b7bfab243f224383f31c3f77d6fea39dce6d7bfee6696b9da1a86ad396aa4d4df53ff90b2f7eb6699e9b941223ffd4303c8f11e99ae6d3ef9d8dbf0a2c2a56cb41d0eca5a1bef39efcb0f43cdfc5d3f16419d661dc13b836dcfeb1f3a91776e8a4a53b5bcdeda98bfd0a70fec3cfd800dbe05c241fe464c0a5c5153158c21719ce73f86469f078bbcbdc6cd9c0e854722d63d23265259dfbe6b8e1193749009340beabb00030d235cd67aa9e6a990404056626c7dc7311e9a2c0f4641a2682fa7479b1421ed7e57047b51a66dd82eeab6ed90a61fe38dd10deba4198ff0249aeb0bea9f60ad3455a2308e0a782a2f8472e0a7ca6f227e3095b42a054fe721cb6c8ef9909732f58402e993f22e1466a17b027d6e43975a2ffdafcacc3c1c6dac8719e6a17df2b159f786ef1212bc6f7d3cd802f3a439b2f5ac6ff4280efb36ce31c4b71f61e76f6d66f79d652aa585b598506ed09a2333b11d47f613c536ec52cf0c16122705fa4f17b66a6502a8a004580224011a0082c8c00cdaf16c6e8ee5070630befb76e4ebaf5bd575a619c1a2d7d87de853fc8867ef8f61bcf6f5adbf4c4ee3f46af4185f36a640160dc85f9c862a3489b38c5ff67bf3c37fbe2c385cbddafbefa6a846af19f22fc88d3d4e193ceddf04494b1bef16b474f389be2f32866eb2623d815cdaff0a6048b28fec86c13f4e5600adce0f346e6a92603b08c5e1e7774c31f5e1c667bbc96519655d6c75658425f18892258a0975252f6f54ed5736acc1db014e78b7d1d1d1d29fd890da9fa207eba32a2455da301cf4ef9ae4f8dcd11f83360bd5cbaa68641fc466ff1c204f83b7be30984eb19d82bdc115ad3e24fea95399e8cd50c4c84fc8b434722537022f4b6e6f278bff372234f03e2b3f4fe22e1466ae7f90b1c83feb1c1c4d48a234ab5373d6e02f41c9ff0e46c5cc84e5cf198352afdfa3ae484d5ad10e96ba40044209830074b8af3f8fb88e31f3df41e3db7e1a58cb7e8cc387e4878a6da95353e53d704ef8bf47ec7f632e63a45a07f7051bf4344f1a2158a00458022401178b01148195f3fd8702c1debedc35782c864d8fa0fbf58f94451c3a612bc688f5be167dddbf9d6d6ab5f9d38796a68620aad51e19fedbdeeab480e9f0b7853b266e3eb3f7e1d79cfbdf62e3c919558a2b35d7def768d3cb1c5b0e978fbbb1f1d3a8974150dd69632eff1b6e7df4aec90cd99a373c0a0b714cb6afebcade74f37a0a7cad8d4265e0ffb4a28b9d917015e293f5d27d1308d5b9b19c40e8f8c5dcfabac5b0f336d5e2f7ec484755d0f218daaf2b1adcb2be5a50cde54000a24708c7597add23b71717472d2338b64dc567b81592fc20ae0a1799a2296e95a5b5ad19cbbb39b1bb3c69346f51cef3ee7ae34a99817766e39ed18457275095817707e70d01e4f1eab93f4415250565a5cd7623515ae2929d5c860f6aaef084e8a48fcbf3aeb6e35a94cb6175638bfb97a43ac5ea397cfb3eda70a84ed8d6940ac65642fa137117f027d72f382789e16f62f3b311534abe4e596a7da8a243a4685b30ac4ed5e1e93902f2f063fc22b9dfaba7aa748fefa4f248c1bd15f31fe82b5f01cb0e035688cd89b296e117a9e9f6bca87548a758fda3c67c6e57a439178e2e051e723e60679e9c3db5b25236e71654d15e4e7d3e786e7f0a38c02719e5fb6f5b94681fb089e777af671e6db8bece8e4151f5ab1bee621b851f85b8c644ab43da3f8498ba7805de785fd1e151aaec4f06185ef8b2369ef5375fd73360b7c951ae4818fbbd964e6f49c224011a008500428029921b0c0883c3326942a670844675ad0a1577f6ffbe4998d450fb76c8297941efdf9c7ccee972a9717227bff79d7f7aa366e5abb71132f75f6d217bf7aed90f9b72f233f4e5de660922af6a0558cdf3c545799dab698907fb8f3dd7d7634070dc11b919fbebd73b0f850f2ffb3f73e406d5d67c2f7b18490852c599684852430d7c8d722c26028a5108895323498ae633bee1b773d7132d9d4af773cdbeddbc9cc3bcdf7763293e4db64fba593994c67b73b9936d9bc996c320cf136765c6fb1bb1aba6af13a250457368a898c7d6d107f62495690852284e4efb9f722d09f7b41606cb0f39c71afce3de739cff39cdf91d2fb70ce3d879be07af9c99774edcf379436fce0c70d9c89e8c0e9ab4be8213b2b95fc4b76cf89b3a5cfb4e8d5657bcd1f5d1c2dad34aacbac6a92087bce8f1457d29218eb27c8c32e7e3386a660cb4392976c9e6d7d8ae4a93486ca7a732557170f0dfdf12417fcb83bfbe983954695b98c02fd03672e68eaea0bf36484190d846f198c94c648f1da6213de1e877be3e30f92383b99160783737fe4677de7539c0d77f4b4550fa330d8ddc710b640d0cfae0e47c181e6124d496d6309d736eef304936ab23e199fa03ff07e0e6b505b62d5b24d62e1f14f1d1f726f621131fd9eae8e7592c7bf49ebcd74a599b3131d9742a029ac3fcb918c82dcfb9bd170e6568cbfb034942e92a7db293cbe1ec72796c27a18deb23278db8f718f16dacae61eb6d9dd39894caea5016b227005e22b22c2939916e166132917ed185b31cd7db7d24444fa2bcaed2bb1ef1b68753b7a2c45df366ba9fa460a6e23a3a384f4bde7501dfcb6cd40c38e8c6c0a32e7dabbdc4d22dff35b62bfa3685caa5095582b4bac9c16501eb8ece07f623305c21fb97e7f981bf3f014e8d7e2f908ff2ec4c63dd91b3e064d9e2b912cc54f24800490001240028b21b0e6d6adb987cadc1bceb6e233a9d704f7476328994d50929ae76fe19a9de2b037362ce2e1d26c060e85e2f390e1ab52af7c557f7fff2bafbc92bbffab53b2f6d9fffbcfdfb70e1e7bf1c9574ff11e6eb1efdca6885c38e54c5bc606755b6a775a4a140a78e811a85c96deb1a64d8ac88dc0a953ce655198aac444d1705c4fc0c36d30915ab1a8bc89aa32171648a5d189b1bef445583a8a36c8604701061ea3d392ce446b35f05e596c52a0324d72a937ac69b52c1699f47898857564fb63b21fda630b7bceb49ff399e4d19191ac1e88ead7d1b416ce578a0503cc6cab6cfd0bfbb40c12a2fc17af5b90a7987e28d72ef27b25a89f8871132b5f7cbf045b88f54b5078b6107e4d9a02d964d09d7250958eb6c13e8224bd70b6457a46f477044acc1a7501ecba13f27a5c593fa6742d4bba9b976776bf96c447e877010b27457e473aba86d6c43d3d0bece3b1a4de6223248004900012c824303c3cac56abe1d0ca356bd648a552b842e2ceb0249001698820e0511f52241279edb5d72a2a2a400c04e09a91f2f2f2a004aaf80c9fe7657879b86627de1c94b386b9949a8702f0014ae0cae753afb38590c948185f6500b9fbb7b5cffdfcaf65a39e1bf974db7777e8e5a1637fdffa6aefdd77032dae0e0226fbe13db62fdd9d1d4e667538845e2001248004900012400248e08e10b85fe32b5c1f7847be2e8b51aaac6cdc6191eee09a44fb8ffd0b06578ba1771fcab2ebc1eec36e61979000124002480009200124f0b52080f1d58a0fb3f3c51f3f67d16b61addf8553dc41562bee113ab08204469c6fbdb1fc0b3257b043681a09200124800490001240025f2b02185fadfc705feacd7abd6ae59d420f900012400248000920012480049000125834017eb7a44537c30648000920012480049000124002480009200124904100e3ab0c20788b04900012400248000920012480049000125822015c1fb84470f76433fbe137fef6e1c07fbdfbd35fcfecff7e577a61b2d598d572323971dd95be8bfa7258a75bf7d528263cc71dc9937fa99a660b9c719480dd34a7ae0f76bb98e5b0b2041da686e607a441eec4ac25b4fefa34592de3759789eb6c3565ea3c38962b1a1cf77a66f7d35f9217554dad16b34696884523139eb30e37bba5ffaafd5d2ca987d80809200124800490c03d4500e3ab7b6ab86ecf59fb830f6fb75888bc8e2c145fed3cfc7ccbe6d86f7ffaea6deeb460b3ef7dd066847378f854673bffd6d1eee4dd727c52c594412b315869479f87d3476da2ad700c1497128589158baf286b959526c1047b22f1bd9fe8ba66cb86f8c5d3cbbf67fcd2c6ebcef9c38fd572e9a7ecdf6fb3cd7c1b633ef75b47b9df136d87f37f55d2d9af4580bcf1e76d87dad8f3aa32536ca0f3ad2e26b334f5defef83336bd1c4ab83f2914deece7e2ab55fbbb48751df34800092001248004ee5302185fdda7032bd42de7bf1fed2a6ef9b2fb7742956965d50f7f6787256fc2feaaf336022c5dd5ae876c4609898f0e9c730f478d5bcb8bf3e269666eff86b9729159b73638c80757a08f71767cd04f88b6e57b2d341c557dfb1696aa21ceda5e490796eab8503be3e62d94764d9472328c50f56d942d6dbcee9c3f7c57964b7fc8e7f58e4688446d36a8c8cc5a6cd3ae4636b89af00e9cbb389ca7292e2d9284c954d017502824d3092257a995324934140cc7499e247a736a5eb8a6265a2f4f84bd5def9e809f80ce6422239cfceafd5dccdb1dac4402480009200124705f10c0f8eabe18c61c3b71e9d84f7f742c17d9a969880ee2b15c4445654c0ddb4be091d2e7fefd716edac3e37189ca2ebd8271763219adfdb03e4a1e8323a4661e6833aaefce6d880daf56d28165ed661c2647e00bb1ac3a67952d61bceea83f6c4f97a9bf7e77f70937c43d0dcfecaf4efea7363f0fbe1689c09913fcbcd4ccaf62e478070fa461df33d506c9e79dedddec32bf0592ceac85492fdfe55efeef0bfe113eba8256abf577b14087b01a09200124800490c0fd4020f97ffaf7435fb00fc2046a7ff84f3ffb9e957d3a9e9e9ece2383c7ffbf1ffdd2c98ac2eb583fdab7bd7803df6c72ecec4ff63ddbbba5d6be5ea959cbae5ed26dde594b885e417c83a77a2ff152395f4d9b8b94844447cf08ac29b3ed3a5057a25180ae442c7cadff6ce7594fddee276c8ac068b4b0cca80c0d9d737fb5a99ed6c643cc6fba823bbffb40e0d33f050d35959416dc0afb3cff71d4e137353cb1b3424ee02ffe92d8179fbd7ff26c2e9ed5b5eedb4619e4ec036ed47bf1e3134e78f81549a0ffbb0f84fabb4e9c65580953dd819d5564f4d37657de819ddba6af5db82a2dad2ed3833fd1e05057fb494e8850752ddfda5abc5e295f23918091d90055d0aea96ef7ce2ae505a77b635d4d899aa511193df7cef1b3a0656fa3cdc89540612c34f4bbf74ef20fce3a9bfd913aab46c1ad2d4bc402cca71da7e1c533019e9ccb22fa0911f4079a08249d8992e7af65630252b0813611a294917060e68da16c3d8b1e4701937345b6a6b6ea2de675d0df783c3a95888c9febe8195f943fac2e719e73966673f3f55798f36c53d18c3c9fc5974c32f88fae445e6422cc6c3494ac824fa9949595aa085928be32994c860df01b23f92ab3c994af54928087b9e3bf8b1457318b0490001240024800090812c0f84a10cbfd557833140804e0557a225d5f5aacdfb08e7d9487f4fcdf1ddc5e2c1f1bf8c47535a43697597579f0b0f6dc8bbf78ccc23dbe13b2e3c88b3b38c9e19364ffcb8bdb12c3b4490f7f598f867c59cf90f4be437678d524ec1b1a99906c2a3353d52dbbe3e1409e5ca1a5ca20e08a275425d5f53087104f4855c6f2f5930a999caa6f0147a213c1af941aa59e6e6bbbfe5e4f341c89c0348352abce57e6736e2e70a9693b584ba9201e62bc215d6989d9f6505b70bcd325f2189b9faf94c9a7f3a1135cca5728e532895a45f289422e97d3b57ad69f4048ba5ea329696cb1310e37d5b4afadd2008e4ff8c623796a83867df6852466373f5f2e97696a5b1aa14970dca730e8f3e56c479a1baa8d6a292c2d1bbb115dabd6ea0b247cf774556dffa39182f59681512618956a0a4d4a0d3c860bf33cd13322a65fcc1fced9cc8bbde5519b76263a8051a0b8fa8901f27e9747504f68b1e3d8293aab696b3960a735106006c6c7130a8d5eadc857abec2d758bf207c6578c676657b97bf1fe12c1ef2d7016d4235ec88cfaa27a83b27acf21a3c7f5a1a3475c72de1a93fdd13d367e60d454ed1e8a150e163bda5d77f87731af53588904900012400248000900018cafeeffaf41ef3b3f3df00ed7cd2dcf3adefd7eb2c376aa105e8bbfe13af68b178ecd4d4e8dbcfe0f574b367ce3e0911dc5799f74fcb36394ac97cbc72e2c2eb80213f9523632098d7a93e6663e4d0ddb20b88afacebfcb6f74616b3d6c2f336fab9b08b102be73a7af1a1eae352a2243677efb85657fad1e420b76691a21e36ee78730dd44351f6eb32a7545c47ffa783b4cdde8f61dde5fc8092c70d13554417015f375be7d940151aae5701b6dde5a4e5cddc20d33de7b99bd4d66029e331d0e17d1d90fedb729757aa2abdbc1065791f39def7483015dd333fb2bd95fd7c276c3e73bdfed66748f1fd9af9740644b6994708d8cb9cff03bc125ddd335d6b0c11573e6d7a92189a9619f204f53cff164c374fd0bfb936cc77df6ffa92ba85198aaeb29f51aeff9b3832122974a6f8e7bc4fa75916bb588712422f195a9a91e82abc444ef6fdf67439824cfc5fa435c5e119e69dd9cbd11d33f0fe7c50658dd1f7e24dddb6633aa0c74ed118a1ee8f943976bb13a0819e9ef72fa366eaeae2c5187bce7fb06437239b971cd03b35e77f677314b0a334800092001248004908008018caf44c0dc97c5ebf36766a6d8de39fff3e3ab15cda5adcfbddbf223dfc5de8f3ff8d5cba72e914bbda72ef512e36387615265d8d97eac77c920d8b775145a887d9854159b8d30239118fd9c7f0e27c4fdf98da6327d9e4c0a2f2b25029f9c65cc8fc35455d87dd2256fda0a0d410bfc913e3a7a8e0dae2031c337e2567d818626847be784dd86ed56aa01b1bc419d0f5532fd23870eb1a60858246bf2d8b2c526f02731e161832b48ecce6d6c04a8dbc42e870c317d6c700549ce2df382cc4276bdbd0eae89ff2f1f7facb8390e0fce834341439986b6efb73c18beee1dbed0d3e561e7d836b10b06c3233de9f188184f70865f9d98a9dfb06d511cfc231eff0851d9eac0832fafb8dc23f0c9259b08cfe9a58d63526df293da6c04b4c1c17333f343499e8bf68730223c9396d23fc5f437d50b7f6f81f3e293df79fc3d275db7f75b554695dadab84b467e735a6c1e5554bbdfe3f68737d82a4b4834e075679e7cb002bf0b514fb10209200124800490c0d78c00c6575fb3014fe96efb4f0f781e7bf66f1eb7d7588a2a76ecaad8d158f7e25fa52d035cd2c3236f81f1fa639506854a9d6290cd72af97dc8a456657e5c9246bf808890d5bb8c92198a4895c8719b0644ba808f9c666ee743a98dd8907aef32ff4274516fed429e51050c526c6bd812929e4d8248905219ec92de5b3f1123f93060de253b3af56b1cda14aa56223ad686882bd8794cfc66f101c2e6437f6a5772664f1f4c1741c9b5ca7db7db6a6da6d9451ab32505603b5a9d8f14e5780ab034be9499c272f97a95f5757bb740eb343324fbf8c5b96711c9323c5bef5c5f34ceb7d2efe88f1cce50b94a27f21ce697ee574e3e939eee9a9dbf5446d89bab4bc82b89c39b54a17e21d947073c5e935b9de2df4fdcc550fca21012480049000124002b30430be9a45f175ccf41e7b1dfe11b2e5873f7ff9c91da58d8f1e26a77e0d20f2f9ef45f8369830ec06d31ab5a5adca91ba9e6df48b904daf356dad211e2e9cd06d5440cc108ba7cd4141c4454872211eefc3cc5d4d83859dc589dc4cf34c641bf4d4fdd9fdde40acd62c93463a3b3bd3da8adf70d1141f4751bb77d0f07c3f1b5fb19b576426b648aee4e349535b5319dc437cb5905dc95c1c99a270c4dd0dff208a69687ba49ad26c2aaf2327ae47e344a5d85845117ee3395e5c8c6732fecbd4bf903f294ea4646726e35286444c4fd3e34d73ed16398ea9e34500377c2fbe9ae4b4517b1b2d3c4f5e79eefef0f2023c3d3d7c95e0355bff429c05d5240b61e44452cfc9cbdb8ecc6e2d2822b4e4e265f95d50b61a75accfe559b217d81009200124800490c0d78d00c6575fb7114ff6d7fe9ce3d5ddd7ff72e6e3f3fda37eb251cb4ebf8403306fc4a681c100b1143ffceccfc77efb69d137be5329eb7bf2d95ff255395f5dcef39bf7541ba9c6a7db0afa2e8e458a2ce546d9d8879d9e6fd9ea5525dfdcd7221f0c48cbab2a205e0a5e1e98825798d879208104518dc25cd36cb7166c2c2ed12b61f6aaf744dac3b154696c696e21530147f7cc1410af45a63243391c35d4dbd5e31fe9be1c28b76aa9670eecbae01e222a5d3155a68979deee700a984c1669e9c656e956d87743c3ad034c16a77c26a73898517fdca65595d5ee6d2d921b292d1b35b247be92c5daa5ec87dacac3a3d786c6c7439344c96d15189b844897f9cba5408b556b6d7b669de7f3eb5f49751b4daa69a6fd84304f065ee44a71732ebb587fb8963e7f8468d59b1f6a0b5d1c51992c45d2d18e93c23c3f6763d0258e63ea7831be9b09a2d7963fbc7b6db9aa8452cb383f92016eeefebcfd6722c2730e49764e48bf28e7ece6504235ec6ea2083330e8bd99575eb315dc0f87b9570c4d4d4f3c427d798d191aff2242d66dad7a00be593355298ab8e832e57e49d965f85de8ea0eb6d5c2262a1655ec6837b3242fb0111240024800092081af1d018cafbe5e433ef78774e7c015df772bb6ef28ddbe83473039fcc99b2fcc9c8e75ec85375baafecf372d3b8efc98adbdf197b4b825476423678f9f51ecab83056ed58d14d7261ef812defb7acfa13af86d9b81ae86ed2020059973ed5deea6c71fe40fdc8ac33e87739359ec0335fc4fa12db16a59e15878fc53c787a9bbaac7d96a3d6dd593b86fb0bb8f61a520811622936b696896085c81f88a90ae0e47c181e6124d496d63092fe3f304b98cd065c47971b4b4d2a82eb3aa4922ec393f525c494b622c3f3008bb1cceb499620de5c14481c7f989a5b09ed218cbca60770ac63d5a682be383af79edb21d4c4b8c2f10be653082228a2f8f4d787b1c6c8f3d5d1deb248f7f93d69be94a3357171d87e7f03e419e7c5bced96436f939af3f49a1f44fb7a3c752f46db396aae74632323a0af5c27a362496348e59e3e5eeeca70f561a55e6320af80f9cb9a0a9ab2fcce3c32cb2087f9869319ee95d4cbb13d23f3fe7b4e6703345f2541a4365bdb992ab898786fe7892fb1145e35285aac45a59629d6912095c76f0553305ec57229e325538532cfcc17e0f634227d52dd7ef828f95d98d573021012480049000124002b9115873ebd6dcc36c6e4d58a9d9567c26f59ae08ee68492d90425a979fe16aed9290e7b72c322212ecd66e0d0263e0f19be2af5ca57f5f7f7bff2ca2bb9fbfff594ac7df6fffef3f7ad83c75e7cf2d5e47e805b6a775a4a140a12095c38e59cdb4590e7536bdf59a25504868e397b6f0798a9aac65c20974627c6fae6dec2d7d136d8f78e4c06dd82a700cdd933d90fedb1853d67dacff94cf2e8c808044ab79574146d50cb6291498f8759509189a2e1b8a78087db6062416958cf47d170e0aba0fca2ec129d89d66a6432129b1c87338dd22deb685a4ba02a1860e668e4cc33a96b71fe70ad8086a640963164b9ea59d238b2ca65b16c047c2716e1cf7c3c9344b23e85f42f86b389aa3217164833bef96006949835ea02d86d26e4f5b832c737cb8fbb5220368e3aba86d6c43d3d8bde7fe3ae788d46900012400248e0de26303c3cac56abe1d0d0356bd648a552b842e2ce10259081be4104018ffa902291c86bafbd56515101622000d78c949797072550c567f83c2fc3cbc3353bf1e6a09c35cca5d43c14800f5002573e9f7a9d2d844c46c2f82a03c8fd775bfbdccfff5a36eab9914fb77d77875e1e3af6f7adafde56bc74771199ec87f7d8be7477763899bb6b18ad2d2b011cc765c589ca9000124002480009dc0704eed7f80ad707de075fcef9bba0ac6cdc6191eee084a2fdc7fee55e0aae38a7d9f578f377116bef0502388ef7c228a18f480009200124800490c0ed12c0f8ea7609aefaf6ce177ffc9c45af853580174ec10157f75a1a71bef586f35e731afdcd2280e39885040b90001240024800092081fb9200c657f7e5b0a675ea526fd69b5569f57883049000124002480009200124800490c0f210e077875a1e5da8050920012480049000124002480009200124f0752680f1d5d779f4b1ef480009200124800490001240024800092c27015c1fb89c34575297fde9e75bca482c4664b2f0678ed7db57cf3b4b265b8d592d279313d75d73fbb32f172aba755f8d62c273dc913ca18baa69b6c0995709d84d73eafa60b78b592e4bb9e9d1d96acad47970fc563438eef5a4ec9f2e523e9fd6aaa6568b59234bc4a29109cf59879bdda77db5f5773eff45ea04bf0fcbc94dc42e162301248004900012400248e06e10c0f8ea6e50be0b36ec0f3eb2abd5c21b8a5b63ab24beb2d9f73e6833ce1c0a4b489dedfc5b47bb979306554c19b412839576f47938bdd426da0ac74371295198b89df8aae9f1672af5e4fc476f778fa4ba4ced7dbad5a8489df88d0f74feba8b81d8c70ee726abe64e620d90373a58afc4ca53b566e5ed8f3f63d3cba1980b150b6ff673f1d59dec6f960b7305745db36543fce2e9dbdd235ff8fb20c647ac7cce2fcc210124800490001240024860d511c0f86ad50dc9d21c72befae453ff4e88e5a5375f6c8d4fc796a664795be9aa763d64334a487c74e09c7b386adc5a5e9c175f5e1384b9729159b73638c80757a09c71767cd04f88b6e57b2d341c557d7be6d8202a3f3f53872c4f421291f151df3461052492983f049fa65d8d6c7035e11d387771384f535c5a2409b34dc5cad93ad1646aa2f5f244d8dbf5ee09e89ace64227c8c7767fb2bea8e71f3164abb264a3919465466c10a91ef83181fb1f205eda0001240024800092001248004569200c6572b497f796d5f82cdd7d74f4248313783b2bc0616a7cdd4b0bd04e20f9ffbf7c7b9690f8fc7b53805394933ce4e2643d00febe8e431386d29758e294326f7dbec108d2db935f1f1899369d35a241fc22e92089c39c14e651132db5bb17256482ce9cc5a98f4f35deee5e346ffc8aca93bde5f4197e230894648360a41619142b1ef03b58cdc444c63311240024800092001248004ee1e018cafee1eeb15b474f81fdfdc6faf6097aec5439f9cf8971fbd7a8c75c67ef88d1feddb5ebc81776c72ecec4ff63ddb3b4f392f97e3d5b4b948494874f48cc09a32dbae0375251a05684ac4c2d7facf769ef5d4ed7ec2a6088c460bcb8ccad0d039f7579bea696d3cc4fca62bb8f3bb0f043efd53d050534969a107619fe73f8e3afca686277656c8c934bc6815fbe2b3f74f9ecdc5afbad67ddb28839c0d84a2de8b1f9f70ba7369252423cd9ad62232f83149e44526c2cc46435c4bb17221b56c99c964326c0076245f653699f2954a12f030cbd95faa6e6fa3cda866f9438a85867ef75e46acc8d770579d8992e7af65632052b0813611a2949170807fb34c601c535aa667c5bf0f627cc4cad3f5e21d12400248000920012480045617018caf56d778dc096f9efef9873fd851444257fff8c928ddd8f0cdc7fef7cfaf5ef849fba5e7ffeee0f662f9d8c027aeab21b5b9ccaacb631fea09112b5f946fa64d7a988189867ce9b106e8a0f71db21be019dd37343221d95466a6aa5b76c7c3813cb9424b9541c0154fa84aaaeb21128c27a42a63f9fa49854c4ed5b740cbe844f02ba546a9a7dbdaaebfd7130d472230ada2d4aaf395d9c18e80b3356d076b29158906196f48575a62b63dd4161cef74b1bb462c3e4936c09a3d7eede0548861f7b160467d51bd4159bde790d1e3fad0d193d429569eaccff834d91fdd63e367ded454ed1e8aad0e163bda5dcbd6dfe6866aa35a1af279c76e44d7aab5fa02c93cf8ec2d8fdab4bc3b04468173874c0c90f7bb88e0389ee8c91a70b60744fcfb20c647ac9c5387172480049000124002480009ac5602185fadd691592ebfb6fcf0af21b89a1c78aef56f9ca0d3fed21f5e6dad6ddb4dda7ba942d83ee186ebd82f5e38062b0b67935da47c5620a74cbe14c22b121af566489b1ab6417015f59d7f97dfe8c2d67ad85e66de5637c1bec2447ce74e5f353c5c6b544486cefcf60bcbfe5a3d3cfab34bd30819773b3f84e926aaf9709b55a92b22fed3c7db61cf40ddbec3fb0b3981052eba862a08ae62beceb78f32204ab51c6ea3cd5bcb89ab7b818682d5526dfd9e3dc99a40e71b1d0c21dd1f7e24dddb6633aa0c74ed118a1ee8f943978b0d36c4ca93cdd33f47fabb9cbe8d9bab2b4bd421eff9bec1905c4e6e5cf3103f59a6fe7a354a98058c8cb9cff03b12a69bcfbcebff535750a33055d753ea35def3670743442e95de1cf7981af6098ea3a9e7b8608025f67d007b627cc4ca335dc47b2480049000124002480009ac2602185fada6d1b813be6c331780da02ebffeb70c08b5971520041557c2dcc5439fff3e3ab15cda5adcfbddbf223dfc5de8f3ff8d5cba7d8384bac7cb1ceb16feb28b410fb30a92d371b3510318d7e7e71a6d0fdf98da6327d9e4c0a6f4b25029f9c65cc8fc35455d87dd2256fda0a32a005664fa2a3e7d8e00a12337c236ed517686878c389bd67d73cde62330b25831a423522d33f72e8106b8a8045b2268f2d5b4a8a4f9cfff8c2a414749078f40633a3c2ef3cfe9e93aedbfbad2aa34a6d6ddc2523bf39cdce8f89950b5af67bdcfef0065b65098906bceecc1ded6fbfbfcce050d050a6a1edfb2d0f86af7b872ff47479c4e7f0fc231eff0851d9eac0d72fafb8dcc9e0a9a95e781cf92950a18e097f1f3849313e62e542eab10c0920012480049000124002ab83c0ccca9fd5e10c7ab1fc04b614aa20a09a1ceeff73afabafcfe5ea3b7bf6ec27ce8f2f80a5f69f1ef8fb573b3e191c2305fa8a1dbb5e7cf73f9edfc93a2056be28e718af3f06f1954a9dd14a2a85afdcad5864f6895e2659c38b4079628acdc28e8391ebf0f651b22554847d6333773a1dccbec4bfbcce6ffc901459f853a7944330149b181ff28e8d8c8c8d8d0c0d0d7999a1f1855b0a4b4c79812597320ff5f2f41c7fefaddea109d867a4b4bc62aeb558f99cc45c8eefbb849b039c2b5d4c6e9efeba4eb77fe43cef0d84884c69a0ac2dfb9f6e86683597343b24d037d171145624f67d989316e323563ed71273480009200124800490001258450470fe6a150dc672b9129fe6e2144edda54f2f4ffee09b056b033ff9c94fb2f5f71e7b1dfe11b2e5873f7ff9c91da58d8f1e26a77e0d6262e5d91a444b9860384e346a4b5b95a33365e3c0d12f4236bdd6b4b58678b81381751bd9a3a462f1b439282ee29aeb036b63e6aea6c102db32842337d3ec8aecc39eba3fbbdf1b88d59a65d2486767675adb856ee2dcc2c52ca978ba7b99f53d272f6f3b529dfdeb122bcf6c3ffffd6df777c4dd0dff60756543db23d5946653791df1f4cc63930da620a5f4596c1c21a8164e22df870c61313e02e594ad461deb732d36d0ce3088b74800092001248004900012586602d94f80cb6c00d5dd7d0205a6da979e7f494686fff5e55f5fea7dbd6bf0d15d961da7db5fffe0d8c7c4b8a5dedebc297cbaf557c4f1eaeeeb7f39f3f1f9fe513fd9a885592ed817ee3ab13f275cbee86eb89ce737efa936528d4fb715f45d1c8b1459ca8db2b10f3b3ddfb2d5ab4abeb9af453e189096575540bc14bc3c30a5d38b6da80eef5f29cc35cd766bc1c6e212bd92c403bd27d28201a9d2d8d2dc42a6028e6e2e664bba2a5399a11c8ea4eaedeaf18f745f0e945bb5d43307765d700f1195ae982ad3c43c6f773893e2d99f60594e35efd546e1902bd6bb1b833d4e17b7fdfd1a4dfdeeddd312b6984812be8133ddc1f2271ea1bebc0653625f44c8baad550f00d07038444c4dc2e5d9d6722eb9adfefe991c6a2b0f8f5e1b1a1f0f4d12a5825de2189be44eea1277c0e78f10ad7af3436da18b232a93a5483ada7152781c19512522df0757be309ff9b9e9ea0eb6d5aae0bc3755ec68b7b84d5167b0020920012480049000124002778a00c657778aec0ae99d8ac2cb562a4beb2e0b890ffe17c45784bcfce44bbaf6e71b4a1b7ef0e306ceabe8c0e9abc4f9d515df772bb6ef28ddbe83777572f893375f807ddb1f13295f748746ce1e3fa3d857673550d58d14d73a1ef812deef7acfa13af86d9b81ae36708541e65c7b97bbe9f107499c9dfc88c7a7535ea862f7b660e32b6d8955cb4ac7c2e39f3a3e4cdd553dce56eb69ab9ec47d83dd7d0c2b0509b410995c4b43b344e00ac457847475380a0e3497684a6a1b4b78199f27c865e6bba8f446788ee793dcaf0417d8a3b5647283d99c2c2672bf8a8cc7a50a5589b5b2c43a531c095c769cec832922e1f2d9c6c219f66da5180724a3fe76fbcb4c07c2b70c464a63a478cdb1096f8f2395688641f6d6ede8b1147ddbaca5eab9918c8c8e12d227388e028d9345c2df87e894309f85b8b1912dc4b66c7888090920012480049000124002ab88c09a5bb7d25666e5e8da6c2b3e937a4d70479142c96c8292d43c7f0bd7ec14873db9615117976633d3d3d37c1e327c55ea95afeaefef7fe595577274feeb29b6c5be739b4911b9113875ca3947604bed4e4b89424122810ba79c29bb088a95cfb5cc3d67aaaa3117c8a5d189b1beb9dd1a74b40df69f23934177c66951997a4df6437b6c61cf99f6733e933c3ac2ee847e5b4947d106b52c1699f47898db5224d0183a65d6a80bf2a524e4f5b8985957c5ca05542c7b91707f75265aab91c960e66a1cced6cad1a889a23505b2f421cb791ce76c647f1fc4f88895b3ba74740dad897b7a96b8bffe9c3b98430248000920012480045688c0f0f0b05aad86f5406bd6ac914aa57085c42f0f820c380511043cea438a4422afbdf65a4545058881005c33525e5e1e9440159fe1f3bc0c2f0fd7ecc49b8372d6309752f350003e40095cf97cea75b610321909e3ab0c2078bbca0898ec87f7d8be747776389955e619ba83049000124002480009200124b07402f76b7cc5afb2593a176c8904ee3401588e07ff30210124800490001240024800092081d54f00dfbf5afd63f4f5f670c4f9d61b290b1abfde30b0f748000920012480049000124002ab9c00ce5fadf20142f790001240024800092001248004900012b86708607c75cf0c153a8a049000124002480009200124800490c02a2780f1d52a1f20740f092001248004900012400248000920817b8600be7f75cf0cd5028eda9f7ebea50c0e67223259f833c7ebed19ef2cedfcc7379fd27a7f7fe4857716d0b352d5544db305ceaa4ac02e9853d707bb5d4cba2374ebbe1ac584e7b823ed04e114195343f303d260ca0958297577285bd5d46a316b6489583432e139eb70b3fb9c67f9b940bfee906bb36ab3fc99adc9cc504d2d96f8f5cfceba46326b9672afb3d594a9f3e018b26870dceb597857fddcfd5c8a37d8060920012480049000124002778d00c657770df59d35647ff0915dad16de46dc1acb8cafec75f60a8bb4226fe70bef9ccac1919d879f6fd91cfbed4f5fcd88d27268ca8b50fb0eb519a4131fffeafdd978c8d672c04e6b467b3f3ade23f0044f6da2ad34778430ec165898c88cafa862caa09518acb4a3cf23e80465adb2d22498983b6158488cae6bb66c885f3cbd0c7bbddb1f7fc6a69783112e242cbcd9cfc557597e2ed02f212797b32ccb1f5eb900076a73054d93c2c4a2e22bcafefd36dbcca8c57ceeb78e72df17da0ee747abe64efe0d90373ac20dfbf6541b7ceecea33c7b53c3d37baaf3669b88f8298642c07f31512c4702480009200124800490c0dd2580f1d5dde57dc7ac395f7df2a97f27c4f2d29b2fb6c6a76399769cce137f34acbfeac825b882b6d50f7f6787256fc2feaa73890116f345206a30a8373598facef2d1946eb349434878e4b2407005161967c707fd84685bbed742c311d399fe33572e32ebd6060785832b563aceb6c96e98aec8b8790ba55d13a59c0c935eb1d83b5313ad9727c2deae774f804b3a9389f0ddcaf273817e2dd6ee62e5b3fce115087098ca096086fd90cfeb1d8d1089da6c5011095f69dad5c8065713de81731787f334c5a545923021f95236de921038539a4bf9f9f09f1eeebc3eee56c4cf19e1ac0f01ffb364b00009200124800490001240022b4200e3ab15c17e478c5eba44c8fa490833e6660ee6ec385ffdc92242a5a9695013cf8ad2e6d42d98bb38ecab3498f5c55b081f79e868bd922442e33dec223ae1e4872a790c8eba9a79504f93629c9d4c5a41c64d880daf841aa6c9c561b2093a9656b6941b9d590b8182ef722f1feff947668346013fe7edd752ac2fa68d803fd05c8cc32c401d21e2033567dfefee3ee186f8b2e199fdd5c9ff94e4e7819644e0cc892e8615f4b838718abbce5da6e6b25c4ed8cf0ca1d95b31ff6705308304900012400248000920819522907c285a29fb68f74e13a8fde1073ffbde7a129d2679e1fee3fb9ffde58cc1dac3ed3fdbffd57f7fd02d6b3ad86c85856ea1ab675f3ef0ac734bad7dbd52b3968dd1749b77d612a25710dfe0a95e08de1693fc3d57276acd6aadc946083c815315c50a42822357781db6a6b6ea2de6750a294c3b45a71291f1731d9db30b09d3cd981a9ed8592127d3f06256ec8bcfde3f7936b59aaa6bf9d6d6e2f54af91a093b17321b100ae8ef19a7e4f96bd9677f52b0813611a294917060e6cda0bad67ddb28839c0d0ca2de8b1f9f7082cba2c96432193628a13a5f653699f2954a12f030fe79fd14d3256c97aadbdb6833aa01189b62a1a1dfbd77723680e30b9357dbdea7ea95810bef9feca9dbf544d5c6e94f3feae8f353bb9f7a5872e58a92a605b8e94cc21c388dd3316943cbe395b41e863f1a1cea6a3fc9242dcdf729cf67b126930cfea3229117990893e574626e889241ae183753dd819ddba6af5db82a2dad2e4bf147ccff5cc2c1a487f88904900012400248000920813b4700e3ab3bc7767568fef2a63f10884f93424b7141e1ba399f945aad4aa56afd811522abe1c1b1b5c5a5a50d3f7ae9b1072dfffb31cbcc04d88e232feee01a0c9f24fb5fce7169e1ac05d768b05ead516faad2b95d7e8b69033cb10f0db0f33dfc8b58103804c6c7130a8d5eadc857ab669b6566a2d1702402d34e4aad3a5f999f5a4b35ed6bab34c064cc846f3c92a73668d8980792a07e7b4b9d4d3b130550f52d1427393140deeff2d4b41daca554104f30de90aeb4c46c7ba82d38dee912796037d91fdd63e315a9a9da3d9ca260b1a3dd25ea27674ae02266b7b9a1daa896c2d2bbb11bd1b56aadbe4092d6ed344d31b942be4e05c36a2a2d52cb64842a37f55d34172915bec45782dcec2d8f0a73182030b5273758ab0d243a110849551a4d49638b8d71cc176aa6f93273c38cfaa27a83b27acf21a3c7f5a1a3275526bfa088b6a91579d3d3051af892b13196d8f8e62b1472b99caed58308ebcf7ade9f4dba8784fdefe2a71253ad611e09200124800490001240022b4000e3ab15807e574d5e7ae7c801d83370cb9b7f78b73cd530bc13c3a5c1d3bf78f28576b2e539c7bb8f155aacfffefa3f5c2dd9f08d83477614e77dd2f1cf8e51b25e2e1fbbb0d8e08a557d65e88655a337946e222e73113c4e47c62ec28486a9a99ed690c444ef6fdf67f7b9d0353db3bf72be6fa1bfef783b4c6de9f61dde5fc87bcc5f75753bd8e02a72bef39d6e26458f88fefe3f7505350a53753da55ee33d7f763044e452e9cd710fac6dab82e02ae6eb7cfb28a82154cbe136dabcb59cb8ba793b99d791fe2ea76fe3e6eaca1275c87bbe6f302497931bd73cb09c4ed8cfccf6c97b51bb5e8d12428fc898fb0cbf2361b281e0a7c73fd1ac556928d3e6f5dc9b4d5ae366dd0d78fb29ee1ff9b3f3cc9fb3b989722046de40c073a6c3e1223afba1fd36a50ea29b45a7ee0f3f92ee6db3195506baf608450ff4fca12bb927a19aaa9e096d39ad6c7c2536bec9058419fe88fbbf683fb1011240024800092001248004ee0481f99e6cef843dd4b942044c30d2d3e9b6d90984e1d36c7005693d7b81e7dd4bbda72ef512e36387d94a67fbb15eb67c6989b9381ca9d42bf4c5b69a04cc4f85c6afc29410b5d9086b118383e7663611944bf9b9a0854cb0dbd1dd4a11d26d2a82e9aa10d3c7065790927ac4f4fb473cfe11a2b2d581ec97575c6e08edf86453b3b34332fd23870ec1fb5b092203436bf2d83291e4f7b8fde10db6ca12120d78dd6e265d2cd3cff4da943b83985d6670286828d3d0f6fd9607c3d7bdc3177aba3c227369a02e1c89114d81655b898c4482e17c8dd64ceb61222ae463785b99fe887230b16faf25263c6c70050906096ed9cb1292df79fc3d275db7f75b554695dadab84b467ef339a72678b9d7f97950298b9175e5dfaea7525467fa095582fe88fa9fa20bb34800092001248004900012584102185fad20fc95371d0d4fa63a01a1455a8208e67692df331e82c9a18dd5f00e16898f0df23b1db01ab9cde438d54a369e61e7311699542a360288862666dae5a7e959407f4af4a453cac181d8c4b83730956c258905c7e77787572091727346f38b8ad4ce63d775badd676baadd4619b52a036535509b8a1def882d7f1bf38588515b5c2281d0c8757583bd52ff000d5cbc4111bb69c5291cf8f2f8d4ec2b6c6c416ea16f9acab91b4fcf710ffb56586d89bab4bce2732f5b93f8eafa08c3b039d3267b0efa17f027cb7f5633262480049000124002480009ac28018caf5614ff9d311e9f4e2eaecad09f552e15197f76f36c48c93584196a72bef50f8e4d502a0dfb7655747c666f752e868b7dc5c775d4de460b3cc467c45702fbb3f326d3b65f671ffee54a3557636a6b2a9bd133affe99c9b2143c7e6f20566b9649239d9d9d39f76b21c1343fe78453fb35bfdd117737fc83d57d0d6d8f54539a4de575c4d333a72825c77c7123065b90c8c80473cd7df1abfa4abd5c06ab1d03232932d9dbd66773e0c5e7364c4f6dbe603e9a3180730d7a4e5ede7664766b41289f3722cde226e68f98ffac61ca56a38ef5b9f075acb951c01c124002480009200124703709883c5fdf4d17d0d672132830d5bef4fc4b3232fcaf2fff3a75db3ff9c6ed504ec2975f781ddec84a4fe9535503830162297ef8d99f8ffdf6d3a26f7ca752d6f7e4ecc683e9ede6bff30c8e3c446b60a6291218653851c6773341f4daf28777af2d5795506afe793b7d219a4c656e696e8123947abbd2b673972a8d504ea6020e384578d41fb7695565b57b5b8be4464aab60c32dd806637efd3e7f8468d59b1f6a0b5d1c51992c45d2d18e93dd9703e5562df5cc815d17dc4344a52ba6ca3431cfdb1d4ecedfa55c52fd4c6d9fd6af1111bb7f2687dacac3a3d786c6c7439344095b2cc2f4daa478a41b08c3b24f1989fb46e11db0802f52695690f08d1ba976b3fd11e000efb8a5a685a686a886dd4d14610606bd37f3ca6bb6c23086c3215681a9e98947a82faf3143e35f44c8baad550fc0e873551b53d5134e7ffab0936c3fe79aa4fb23e03fbfb1a4aeee605b2d84f31655ec683733d71c734800092001248004900012b85b04d8a7524cf71181a92874466569ddd5dadcf6b025a563ec89561bac50debab719966611320505535f25a772c26cc3d989af632fbcf9c958748365c7911ffff8b11d15da99adc253d4e598652ef922f0149d18bf929c4f7077f68f868844612ea3d4d2f0c0998fc763449a373bad013b1dc2b49496b6d265f4666d8a9538a851e8a19cb6592828f7383e6160119cdc5856a6554419f7650841d86ff3bcfadd8e1e6f28aed052f58d8d36caa0e0febcd0d5e1180a46e59a92dac6c6da4aab412509f9175c5ec7ced8c4844e08cbf413e4d824d02f61bb8c2f10bea5315295d5e0633d6d50c526bc3df36ce2e71f9b80357df12f87dd60c57f75945d30199998f35fd01f210eace0742c391335c53a9c3ae1c67622254d913c95c65c596f6f6b69a4b4f27868e88f27b9102d1a972a5425d6ca467b4b8bbdbe44238f042e3b4ef6cd1c5f3cbb3f3ba73ff505af2c3fe7f347c8ff19e7f8ffa249b869cc147f318b0490001240024800092081bb4460cdad5ba9bb06e46a75b6159f49bd26b8235ca1643641496a9ebf856b768ac7e1e0d0045c5333d3d3d37c2164f8aad42b5fd5dfdfffca2bafe4ea3dcae546a0d6beb344ab080c1d73f6e6d62067291d451b64b17138362ae7268282a0070efa0d78323780985fbf89a23505b2c9a03bf58026b6895a168b4c7a3c8ca0ad3b54286c5767a2b51ad86f3d3679fb90441d17e4202a9d5d61a2aacc850552697462ac2f6d9f0f1d6d336bd405f95212f27a5cb73bc8d986674a04fdd7d135b426eee911db5f5f541b56200124800490001240027799c0f0f0b05aad86434cd7ac5923954ae10a893bd39440069c8108828f172291c86bafbd56515101622000d78c949797072550c567f83c2fc3cbc3353bf1e6a09c35cca5d43c14800f5002573e9f7a9d2d844c46c2f5811940f0768e40aff3d472075633cafd4c66443467753139313d62e5bcee11c693f67a12573a7f93c538b5385961bbfc36798bd3b46869410e8bd032c2b84618215aa222d4000040004944415479768b45a1f2652e13f4dfefe9bb1bb697b92ba80e092001248004900012b87f08f0ab69ee9ffe604f9000124002480009200124800490001240022b4500e3ab95228f7691001240024800092001248004900012b8df08607c75bf8d28f60709200124800490001240024800092081952280f1d54a9147bb48000920012480049000124002480009dc6f0430bebadf4614fb83049000124002480009200124800490c04a11c0fd03578afc72dbb53ffd7c4b1989c5884c16feccf17abb33ddc0ce7f7cf329adf7f7475ec83a59385d6eb9ef74b69a32751e1cff140d8e7b3d23b0b51bd5d462895fffecac2b7b0fbfe536be147da686e607a4c14138c158b83555d36cd1b227194b2453d707bb5d2262c28de7295dc8ee3c4d6fabea0ed9a55bf7d528263cc71d19e716df96afd8180920012480049000124002ab9f00c657ab7f8c72f2d0fee023bb5a67ce138e5b6399f195bdce5e619156e4ed7ce19d5339e8db79f8f996cdb1dffef4d58c282d87a62922b4fde0b76daab9935e03e48d0e0fb5b982a649616295c65794b5ca4a9360422cbea236c111c733e71e270a13cb165f2d643705ebb266ef905daa98326825062bede84b1e2cbdac6ea3322480049000124002480009ac5602185fadd69159a45fce579f7ceadf09b1bcf4e68badf1e958666ba7f3c41f0debaf3a7209aea06df5c3dfd961c99bb0bfea5c7a8065dad5c8065713de81731787f334c5a5459230a89e8ac7e19a602fab322de01ee3ecf8a09f106dcbf75a68380a7bf9bab080dde53394a1e9ced865ae5c64d6ad0d0e627095811b6f91001240024800092081fb9e00c657f7cf105fba44c8fa4978e49f9b319aeb9cf3d59f2c22549a9a0635f1ac286d4e5d0eb9fc3c09c451813327ba1856dae34a6903357cd211b2ba4e830db121d3ac7b4937d33efde0b13c9658482cadcd823739d85d50c75204ee945dc6d9c92cc51f6c8304900012400248000920817b9c00c657f7f8002ee87eed0f3ff8d9f7d693e834c90bf71fdfffec2fe75ad80fbff1a37ddb8b37f0259363677fb2efd9de2db5f6f54acd5a3646d36dde594b885e417c83a77a21785b6492c1974b222f321126eb4dabe998b4a1e5f14a5a0f66a2c1a1aef6930cabdcb6eb405d894601b9442c7cadff6ce759d9dea7ea95810bef9feca9dbf544d5c6e94f3feae8f353bb9f7a58e2f9afe367b9466cc3b954b7fb099b22301a2d2c332a4343e7dc5f6daaa7b5f110f39bf73afd02fa67e657a8ba966f6d2d5eaf94af914820b862034b53c313df7d20d4df7582b762aa3bb0b38a8c7edade39df0b4575adfbb65106391b5846bd173f3ee174cf79269413b0cb8909e8e1fc097cfaa7a0a1a692d202b7b0cff31f471d7c742a240f0e6f9bbe76e1aab4b4ba2c8333598cddf9f4e86cf647eaac1a0517d1276201e6d38e0bf2277656c8c934bca016fbe2b3f74f9e4dedb7809f504dd5ed6db419d5ecb8438a85867ef7dec9acaf0c5f89572480049000124002480009ac7602185fadf611ba5dffbebce90f04e2d3a4d0525c50b82e55dbf37f77707bb17c6ce013d7d590da5c66d5e5290979eec55f3c66e11e9709d971e4c51d5c83e19364ffcb392e2d9cb5c08cfaa27a83b27acf21a3c7f5a1a367b602667ee4066bb58144270221a94aa329696cb1318ed8be4376830cc286a19109c9a6323355ddb23bde2d57c8d7a9c06d5369915a262354b9a9efa2b948a9f091a95985a999fc3cb9424b954180164fa84aaaeb611a2e9e90aa8ce5267ae377b3f5874ff48c504dfbda2a0d2038e11b8fe4a90d1ac040487ebe52269fce97cd28cf5728e532895a956a2b235fd376b0965241bcc87843bad212b3eda1b6e078a74b747e4ed82e21c27a26f215323955df0246a313c1af941aa59e6e6bbbfe5ea74b445ea190cbe574ad9e9507ceeb939cdd8bb42baa4757d5f63f1a2909890746996054aa29342935d0fd50381281ed3f945a75be323f1591b09f2e7f7343b5512d0df9bc6337a26bd55a7d8124ad59aa0acc230124800490001240024860d513c0f86ad50fd16d3a78e99d230760cfc02d6ffee1ddf2345576aa504ec80dd7b15fbc706c6e726ae4f57fb85ab2e11b078fec28cefba4e39f1da364bd5c3e7661b1c1156ba9fbc38fa47bdb6c469581ae3d42d1033d7fe84ad93330e039d3e170119dfdd07e9b52a73735e820b88afacebf7bb49b6d6c6b3d6c2f336f2bbb3c91d0aa349469f37a2ed2d11a37eb6ec05b5d71ff98c80c07171bface9dbe6a78b8d6a8880c9df9ed1796fdb57ac5966d42faeb4c974776b0c155e47ce73bdd0cccd9353db3bf92fd5564846f19b7ac8be949d75005c155ccd7f9f651066aa896c36db4796b397171dd499765ef7475c276c5f49c211097421a773b3f846931aaf9709b55a92b22ba0261bb6738694232382fc12eaf28530fd135d6b0c11573e6d79da94b3f0939de0e537cba7d87f717ceb8c07d88f5cbe5d52861cc2263ee330eb7682c9aaa09f3480009200124800490001258cd0430be5acda3b38cbe9960a4a7d3f439fff3e3ab15cda5adcfbddbf223dfc5de8f3ff8d5cba72e914bbda72ef512e36387613e67d8d97eac37adcd226ffccee3ef39e9babddfaa32aad4d6c65d32f29bd33ef6eda6c484870dae20418807b7846c366ae073f4f38bec3d24f7e7379acaf479b2a9488c680a2cdb4a6424120ce76bb4665a0fe2211fc389095c24f0d2d7276719f3e330d513769f74c99bb68254c14661fdeb3715c1745588e963832b487229b8b7946450b3b32e32fd23870e410f13440641c39a3cb64c30e9c4ec8aea898363d1d1736c70058919be11b7ea0b34b48188d865e5b3392fcd6eb61e4236b10bfac2233de9c155b2b3ecb691b79237eca768bf98c1a1a0a14c43dbf75b1e0c5ff70e5fe8e9f2609c958a0ef3480009200124800490c03d4500e3ab7b6ab896d5d9f69f1ef03cf6ecdf3c6eafb11455ecd855b1a3b1eec5bf4a5b06c82d94bb5d9b9e9ee31ef6eda9da1275697905f913ab2f3e95b6770644025236aeb9158bcc3e59cb246bd827f4a02f448cdae212093ce2bbae6eb057ea1fa021cef00645dd62c30a6eb609265722d761a11f27092f5609ea97abd8082f1a9a98d197cfc645ec1e1719299ff58f9f41caa8e16f754a39348c4d8c7b035352c8b149120b8ef3b9ecab4ac4aeb81e3d3810f28dcda8d2e960d6271eb81e50ae13b10b0b0305382fc1aea01e023b9340029f724be2fd22aed3ed3e5b53ed36caa8551928ab81da54ec78a76be6cdb8dcb4a3141240024800092001248004560d018caf56cd502c9f23f16991d56c59e5bdc75e877fb07af0873f7ff9c91da58d8f1e26a77e0d8ee4f3df0b763ff5e5493d272f6f3b523dfb6d63839df434fa45c8a6d79ab6d6100fb781846ea3026462f1e0171331d862434626986bee8b5fd557eae53258851718496f2e7c07115a72a1dfa43f44b402faa709bbee50ae54731a4c6d4d6560968fafb8688a8f03a9dd3b68086332e2abd4fdd9fdde40acd62c93463a3b3b39550b5e5804d97645f598ec9cc69991ad69b0b0b347919b7eef94b05d4e3e9b331f122dd6ae801eff8d689ca8141bab28c26f1029d0e194fdeb45fbc5351b7177c33f5855d8d0f64835a5d9545e473c3d330a295b8d3ad6e7c2784b00301621012480049000124002ab90c0ec13ef2af40d5d5a22810253ed4bcfbf2423c3fffaf2afe7deac82a7f98ddba19c842fbff0fa3bc4fe9ce3d5ddd7ff72e6e3f3fda37eb251cb4ee3840330dfc3a681c100b1143ffceccfc77efb69d137be5329eb7b3275e3415e68feaba9e98947a82faf3143e35f44c8baad550f8081703844882aad5d72019dc7e9f996ad5e55f2cd7d2df2c180b4bcaa02e287e0e50126a086658d3212f78d7a883fe08b549a15247ce3469a92cc9bace80d66a8063d215a40ff8551e38336adaaac766f6b91dc4869d9a88ec0f60c7cd2d28dadd2adb05f86865bc7986147a632b734b7c0115fbd5d3dfe91eecb8172ab967ae6c0ae0bee21a2d21543ab98e7ed0e67462bfe9619f5c705ed8ae9f9131bdd29cc35cd766bc1c6e212bd1266af7a4fb04188b0dd3fa59b4d725e82dd3445493db042f12f97022d56adb5ed99759ecfaf7f25d56d34a9a699f613731b064a9546e043a6028eee3e22d6af3f93436de5e1d16b43e3e3a149a2e4b6228c4d26237b5dddc1b65af8c65854b1a3dd4c9a2778830490001240024800092081554900e3ab55392c4b776a2a0aef1aa92cadbb2c243ef85f29f1157ba2d5066beb2e2b890e385e7fc7e91cb8e2fb6ec5f61da5dbf93d02c9e4f0276fbe708cb77cec85375baafecf372d3b8efc98adbdf1176e4e69515e45e35285aac45a59629d6916095c769cec23a62688136077bf99d229d8da90e4b1131d7def395407bf6d33d0b0b3209b82ccb9f62e78d78882092c85e4cb61f6b523ffd5d10973993a3221be3c10c210eee0ae38289e7b01086c8ae9777f6229aca734c6b232d86581718f16dacad82062c47971b4b4d2a82eb3aa4922ec393f525c494b66dd26acdb32b996b66ae175af2b105f11d2d5e12838d05ca229a96d2c613b0031a147dc4f8f43d8aea81e0d1b5f694bc020a45878fc53c787fceeef227655c29c3dce45da15d103279a7575ac933cfe4d5a6fa62bcdac53243a3eb33212f271d65d3d6dd50386c1ee3e46ac5fcc74207ccb608401a0a015a4d884b7c7c1f78cbd65e35db8ce29e6eef1820490001240024800092081d54a60cdad5b730fa1b93b39db8acfa45e13dc1fffa1643641496a9ebf856b768ac35edab0e88a4bb399e9e9693e0f19be2af5ca57f5f7f7bff2ca2bb9fb8f923304b6d4eeb49428142412b870ca993ad7c5d6d7da7796681581a163cedea501d3d136b3465d902f2521afc7c5400cb2608226b0cf1f990cbab34fcd5ab0710e02c2fa7514ad95c1567b991b2b98285a29543e8f21506550cb6291498f8799478caf12b30bb5997a4cf6437b6c61cf99f6733e933c3a32920933537e5edb8bb03baf1eae5247d35a98618c05034c9657d9ad85fdd49968ad06f6df8f4d8e7bd2bf273aba86d6c43d3de2fbdc67dbc012248004900012400248e05e20303c3cac56abe1f0d1356bd648a552b842e2ce222590811e4004018ffa902291c86bafbd56515101622000d78c949797072550c567f83c2fc3cbc3353bf1e6a09c35cca5d43c14800f5002573e9f7a9d2d844c46c2f9ab0c205fb35b7ebb40914ef73a4f2d31b09a51e8f72c7ac7ed253411f15eb85858bf9fc98cacf8d623cca25ffb115325e8ce3cc2d955f0e34ec426887f64444857b6bc90d44cd93cc2f3548928f46785a522825cb1b07eff88c72fd82de2f7f4658692f3a9c73a2480049000124002480009ac30017ef5cd0a3b81e6910012589000bbde6f41211440024800092001248004900012585102387fb5a2f8d13812c891c088f3ad379c39caa218124002480009200124800490c04a11c0f9ab95228f7691001240024800092001248004900012b8df08607c75bf8d28f60709200124800490001240024800092081952280f1d54a9147bb48000920012480049000124002480009dc6f04f0fdabfb6d4417d99f9dfff8e6535aefef8fbcf0ce221bdea638ddbaaf4631e139eec8f164adf9e4ab9a5a2d668d2c118b46263c671d8bdeb330d915213d5976a99a660b9c799580dd3aa7ae0f76bb9864ebbbf399e58fa859aaa9c512bffed95997f0be7ca2ed72ac5880c37c7e0a71ced1eaac98ce5653a6ce8363c8a2c171af27877de1675b62060920012480049000124002779400c6577714efaa576eafb35758a415793b5f78e7d4723a4bed7dbacda888ba3bdf7632337a9bbf7fc8aa4dcc9450c594412b315869475f4e3ba08bcbdb1f7fc6a697830d2ee429bcd9bfc4f84a584f965d6a136d85e39eb894284cdcedf82acb1fde13baaed9b2217ef1f42c6c38967973054d93c2448ef195a961df9e6a83cfdd79744607b5ef509b3ee4fe7587f0a61a0b7010f113bc15e6cc7723eb4ad9bfdf669ba11df3b9df3aca3943dbe11c6ad5dc89c301f246474edfa22cfd58800490001240024800092081652780f1d5b223bda7143a9d27fe68587fd5b1acc1154b40c67eb3e4c55bab08e3e288d498e0045f12e3f28430572e32ebd60607737d2c16933735d17a7922eced7af704a8d2994c6469b335627ab2ec32ce8e0ffa09d1b67caf8586a3b067ba73d73eb2fce12d1b376fa1b46ba294936192ae4cc559e772f6305fcac62b1238273899a4f3ae1d5e8083889f448c73d268c667c8e7f58e4688446d36a8c0392e997635b2c1d58477e0dcc5e13c4d716991249cd10c6f9100124002480009200124b0720430be5a39f6abc2b2f3d59f084f502c8b776a73a989b00bd4a8268b2a4d23e3ec64d20a16b81196d799d9a0cd77b9978fd3448ede5d4035548beb11b0eb87f36ee531388a6ade006461a34b9210f007f4c461f20eae591a673dd411b2eca7f4cecb41d84f71ce59ae73057e77f709370c4fc333fbab93ffa9cacf835e2502674e7431ac8c870fdf3971bc200124800490001240024860e509241f5a56de13f4e08e1038fc4f1fecdb70e5dccd079ab7ebc7cefedbb189078fb45aa2637ffc9f2f5ffdd9cfbeb79e44a7495eb8fff8fe677f3963bef670fbcff67ff5df1f74cb9a0e365b61e15de8ead9970f3cbbd8202cce1f852bdf68a5c98887584a3770fa1344d1f0c4331572320d2f30c5bef8ecfd936767ec9aea0eecdc367dedc255696975991e2653a2c1a1aef6938ca9e1899d42f284984c26c3062534cf57994da67ca592043ca1aac7ffaa4c1975fdbea32739914535ec6eaed48e7ef2fbcebe64d18cc9a465013d8c5fdc6e7aebb4bbbad67ddb28839c0d00a2de8b1f9f70427000c165ddde469b51ade04563a1a1dfbd7752d81562dbfb54bd3270e1fd933d75bb9ea8da38fde9471d7d7e6af7530f4bae5c51d2b400379d8992e7af65630e52b0813611a2949170c0c3eb9f8e491b5a1eafa45378f24e2cf24ad5b57c6b6bf17aa57ccdad786c3a11f9e242fbc91e611de2dc963e5ef27cb67bc9c44e8d4ae44526c288404c0ae2271240024800092001248004568000c6572b00fd6e9a5ca758bfc1b2a399c427a3f1a286278f40dc128dcb8baa772bfbfd81407c9a145a8a0b0ad7cdb9a4d46a552a55eb0fac10590d0f8ead2d2e2d6df8d14b8f395f383627934b6ee68958566ca9221e79b19a7f5d4642a6a3e14804a65b945a75be327f4e53be422197cbe95a3d7838110849d76b34258d2d36e69c88bcc9fee81e1b6f444dd5eea1584dc16247af3f6ad56bb7d535f41ce7233753a5d52c9786c645822b22a2a7dd256277cee3cc5c4ddbc15a4a057121e30de94a4bccb687da82e39d2e7f7343b5512d85a56e6337a26bd55a7d8124a5db194a6272857c9d0a86c3545aa496c908556eeabb682e522a7c89af04b9d95b1eb569675853f52d14a76f6280bc3f4020c2951bacd5069ea76a86a7830bf932ccce7b4b35ed6bab34c0f4d8846f3c92a736689479ca995851a05d54849b08e7458f1761467d51bd4159bde790d1e3fad02112e6097886454800092001248004900012b81b0430beba1b9457d20637c203fff6d3eecaffe707db37dc38fb8bffe5fecebb3fd8a224ef1c39007b066e79f30fef96a7fa977c9765f0f42f9e7ca19d6c79cef1ee63851688b61697e0ed9d5870fc2b95416528ad69922b487cdc1b32985524d677bc1df60cd4ed3bbcbf3055e5d4cc4dc073a6c3e1223afba1fd36a54e4ffc4e61f991fe2ea76fe3e6eaca1275c87bbe6f302497931bd73c8c9f6c2f6bd11bad4da6b3dd30bf5155655690c8e8e7a2db148ae881e574c276537d4ecdeb1aaa20b88af93adf3eca4039d572b88d366f2d272eaf4609b16564cc7d26879d373cfe8966ad4a439936afe7de84d21a37eb6ec0db4671ffc89f9d67fe9ccdadff4f5d418dc2545d4fa9d778cf9f1d0c11b9547a731cd64b1a79ef3279a6fa9c4b5e57b7830dae22e73bdfe966c07ed333fb2be7fbaf865f647c45382f7abc08e9fef023e9de369b5165a06b8f50f440cf1fbaeed01e89b9f041192480049000124002480009a41398f9cb777a21dedd4f04e0e17cf05f7fe95cb716d6faf93e7cb67dfd3af6f13836d34513dc4ca77717a281f8f06936b882b49ebd64bfd8c3962e98a2fe215f9428cc75957a12fd82b91e4d69c16eff762be51eb2f05d4c4c78d8e00a12380bb7ec854fd9f27e8fdb7d25c88665d180d7ed76f5f5b9e0611d5ec8f9c4e32344b1b5be096e9acb4ba0af57fe32cf2c87981e31bb7c79d6d5a06667a564fa470e1d3a7cf8d0a14768e8a0340fca98c1a120f843dbf7ffeda1a7f6b535d3f02e94780a4762445a60d95622239160382ed39a693d4c67857c0cdf2693837fc4e372bb4253802afee515c802873e7e75e0bc3cc53d48afd16d2a528279a68f0dae20c9e7dff68293612f997ec2fb5fcb345ea01c62eef7de70f48e866244a6b636ee6aad9a97e9ac53984102480009200124800490c09d2780f1d59d67bcc216e0397f9a9b949292a87f00decfc9c19f687832550a542c2149a453ce815168085fb2d0a8e75a7c6135f1a964dcc7d95bf0dbc92fb49348e776bd83768cf32fbe182c8ddbd2606b28d64a13138c93e1d4895f04f5888b0bd4e89472e85e6c627cc83b3632323636323434e46586c641d475bafd23e7796f2044644a03656dd9ff74332da0812f1af38560888a4b34898961d7e51b44a27d8086e8340c21dac289ef468adc227872839388cff1e7836a958a8d74a3a18919adf932104c897b538ce59015e4bc84f1624d797a8ebff756ef1038262d2dafc8c1388a2001248004900012400248e06e1058f009f66e388136ee12016e5d577201608acde9e4e2bc649974be156049a1053fe13d23f74598c182e7f321979b643dfd67ef1e2e99fffb98eb6ee3335358d5f66a2549783f3bb7a0a70b0888d84ddd9fddef0d40682293463a3b4f26d389d3dd332f3b8dc03e781deffdea8d0fce31ec5cd6a6f23a318bcc17376244a290919be3d7dc1747019e5c4662a1c0486a832c7f662695328711ce404e6d365f9eb9e687804aa94daed9d415b16fcc49d8ff4133b952cd3536b5359565ab4ce5906623cbcfb4dab99b85c62b2a3a81da73f272eaac28ab92b2d55489c7af7346318704900012400248000920813b4260599ea3ef8867a874f9082c30caf28ddb5f7afe2512befcc2ebf046567aca65b62bbd45fa1d73f4ed37f8126a737a0dcc3b288d2dcd2d642ae0e8ce7a3d2a3b189b5f3e5d373b2542b7e8615a2b3aded777bb3b938bf9295399c17f388aa9b7abc73fd27d39506ed552cf1cd875c13d4454ba62aa4c13f3bcfd6772a8ad3c3c7a6d687c3c3449940a769e28362910e4cef4201086e59a3212f78d7a883fe08b54c2fb63e11b3752fb97ed8fcf1f215af5e687da42174754264b9174b42383a810cf549d648addf15161ded6d610bd3846ca1b1e802d2c7c23c3cca8246ed3aaca6af7b616c98d9456c18657dc6ef073add338cc15cf3bbe296290cd1e2fd8f5b18922ccc0a0f7665e79cd5618c9701866f660e38fa6271ea1bebc0653835f44c8baad550fc0fcda4c15d4eaea0eb6d5aa08b1a86247bb19561e131240024800092001248004ee2e81059ebcefae3368ed4e108893e857a0770a26a9e65eb49a9b109886ec066beb2e2b890e385e7fc7090fdaf02acf57c9a990f0143b859235c1b5a0a3ecf9500269ae947b9cd7d3563d841283dd7d0c9ce1040feeb1a46353b0b521c94b9900c992e7b5b3f2b194556d499b1ef7509dbd4c1d1874a7cdfc24abb33ec5f4706e2952fde49bb2eec9e45adaaa85b398ae407c45485787a3e0407389a6a4b6b184138afb3c41c24c07c2b70c464a63a4f896b1096fcf3c9bf8f9c726624421f972989dfaf25f1d9d3097a9231373cb030539b81d3d96a26f9bb5547d236b25320acb3217e0c93b33771d71fef7c0c687ac7aaa9a53014ac6dd479d1ef67d364b613db85f5606658c7bd4602b4bd92e5d8003af53d04ff00a6a7319af2992a7d2182aebcd959cba7868e88f27b990311a972a5425d6ca12eb8cef91c065075fc515f0d36becc41b262480049000124002480009ac048135b76e65ec32909317b3adf84cea35c1fd711b4a661394a4e6f95bb866a7781c0e4a4dc03535333d3dcd174286af4abdf255fdfdfdafbcf24a4eaea3d0d78200fdfdc32dda3541e7afda17bd1ff9edf1d151b4412d8b45263d1e664e93ce446b35b0df7a6c729cdde2f0ce2413456b0a649341f7d20f86d251356545f026d9a4dfe3f2707eea4cc43f42e0942d553ec330c4d676c44e85998fdfedcc9820bbcd2e098d9789aa32171648a5d189b13e3793624047dbcc1a7541be9484bc1e7e5793d95a1d5d436be29e1ed79da23c6b0933480009200124800490c0ed11181e1e56abd5128964cd9a3552a914ae90e016b44206ae1041f0f142241279edb5d72a2a2a400c04e09a91f2f2f2a004aaf80c9fe7657879b86627de1c94b386b9949a8702f0014a66fde14bf8eb6c21643212ce5f6500c1db7b9a80aea6a9421e2746985792129fbbf72e0757c0cecff071493a46d8e60fa2943b9c4698996385976ec7cff4f999d4e65485bdcda61c1f6246bf086fdeba9d2a33c2fcd3f0e0720557f38ed708e31a497326e9186c45281a3df93db7bd1e3469063f9100124002480009200124b00402185f2d011a3659b504b4d64a9b86f32e38748e5bdeb66a5dbd371c0bf9c64331da5002ff3887e311ef404f172c1b5c9e84e3b53c1c510b124002480009200124b07a08607cb57ac6023db97d021e6727d114903bb90aeff69dbc9734f8dd5defb9bb6079a05609ab1bc39ea52f3d14ec358e9720162c44024800092001248004ee6102185fddc38387ae671358863572d94abff625fe913bf5d2188ed7d7fecb85009000124002480009dc6f04f8ddb6eeb75e617f900012400248000920012480049000124002779f00c657779f395a44024800092001248004900012400248e0fe2480eb03efd171ddf98f6f3ea5f5fefec80befdc9b1da05bf7d528263cc71d39ee44379f7c5553abc5ac912562d1c884e7ac437c6fb9f951996c3566b59c4c4e5c77cded06aeb3d594a9f3487c3a1a1cf77a4666b7ad132b9fcf84909f59fda26a9a2d70a6560276039dba3ed8ed62e6d3887548000920012480049000124002ab8c00c657ab6c407274c75e67afb0482bf276bef0cea91c9bdc55316aefd36d4645d4ddf9b6939931dcfcfd43566d62a6842aa60c5a89c14a3bfa72da8b4e5cdefef83336bd1c6c702149e1cdfea5c45736fbde076d465912519dedfc5b47bb096d3ff86d9b6aeea4da0079a383f556ac3cd95cf053d8cfac7e519b682bade535240a13185f09c2c4422480049000124002480009ac5a02185faddaa199d731a7f3c41f0debaf3a566570c57a2e63bf59f2e2ad558471713da93169217e89717942982b1799756b8383390557d0464cded444ebe589b0b7ebdd13a04a673291c59f32a5abdaf590cd2821f1d18173eee1a8716b79715e9c10d3ae4636b89af00e9cbb389ca7292e2d928459efc5ca677a26fc21e66756bf1867c707fd84685bbed742c351dbc2dab01409200124800490001240024860b512c0f86ab58ecc027e395ffd897301915550ad36979a880b421eaac9a24af38771763269050bdc08cbebcc6cd0e6bbdccbc769fe91c54757c4d4b0bd045e43f4b97f7f9c9b6bf378f88090ca83d244e0cc892eced1995242f245cae7eb80b89f02fdf2c32244792c01e785cfa712eb900012400248000920012480045623018caf56e3a8804f87ffe9837d1bae9cbbf940f376fdd8d97f3b36f1e091564b74ec8ffff3e5ab3ffbd9f7d693e834c90bf71fdfffec2f673a507bb8fd67fbbffaef0fba654d079badb0602e74f5eccb079ee583b02d8f3df7f2dffeffecbd0f70135796f07b912c0b594808c946b66c43635bc891b1b1d771ecb107252e6d8c2684003321eb0a99cd10d65bd4cecb4b516f377c35955749be97cc3c78f98a9a9a9d2d6a92990cc324eb0fd80196b0633ceb725689591363ec18ace0084383f13f9085b190852c4bbcd3dd922c4bddfe6f62c3b945b56e9f7beeb9e7fe6ecbf4d1bd7dfb07ab5730ebe8887fb8d3fa87577e768898aa0ebebe6d7dda0acec2705fe39bdbf634c389909cd39bdad10ff10124e94a839ef4d849e66aae95009195bcbc33474a46e10123dfad6f3e3ddd18b4a72baadcb86ef4c6a5ebe2d5f91989b028cf3bd8555f7d9ad695bcbc914f1f2692743aed0a39548f57a4ea74f1723971da5d792f3e9721f7b6fde5485328d4a24a3697e7aa7bcfffa5a625240a36c97ee8d624830d6fef5936b88a2c61a6e044d2641d897ae793903cb26e649ecf4f7a40b85f9175a3f24515dbd6515a2913f879bb2f9f3b65b5310a54d19652638a52c629fb5c5d7ffee4345f57a38ce129124002480009200124800490c0dc13c0f86aee99ce89c565b2e52b3237944330e4f52797bcb21b4200af5f9a9cbf59de3ee074fa474952665a42d2b2b1b6e46ab542a1a878cd0091d5cdcebea569ab5797bcfeee56ebdb27b22af7fffe8d0d62e2edfcfa8b1b4392554f14ac5c950c15dffa871debd3a47d1de7dbaebb94a919064d1c13ac08cbd9c2291f82932f92b4cc3c6297a629b9c7984464d4ebf678e05929b95a192f8f1f33172f9349a5527d6122f474c8e9122f57a9d24bcd46ba55405f677afe0523d788922a7c81622c0da6d5350f780d89ea7545254d27b9c84d976b48958a5dfdbcc1150469ab126106cceb72c4042474afc39ba895e7bfb02bc5de76bcae29e4aa903c541ef529e067759b40bfa2aa479c16587614520a883be96e9766757aaaf1fb96c1fe9ab681f292fc14a5d8e5e8eebbe35daa5427268822b046d4c72c124002480009200124800490c0fc13c0f86afe19cfac0576643afef8b386dcfff1dafa15771a7ff97fdafefaf06b597272687725ec1998f5d1e787b3232db3cf0681a0b3f697afbc5d4db2f6d61dde9a9409d156d61b7fcb04575ffcf29937ab232b98a82498cebad376e2976f9fb8125120248f509942562c22bec1fefb0aad42bbbaa04c2a23fefe6e973655417c2d27ab61cf40cdb6aaed4991764682274efbd923756d4463dab5dd28d72492012bbf7e4f7bbdd5b1724d7e6ebad2d57db1a5d32595923b37ecf01edcf519e6c4144399aeb10162a6bcbc5419f1f47e2bb44d61bc18c22be2eaed8ef485cb371cff77f1168b3145a1d517eea6f41d4d9fd7334b1d89903cd6022311f0930c10fe7ef15b01602579105cf91c351f1fa34187325759f4a96bb3495bb74a0eb1aba7cf7676263b7b0835877224800490001240024800092081191108ce32cca82e569a570262e2effcddafadcb964214e438bea77af93226e40a6d10a18393d1f1edc35db6ff662d135c415ace1cd8ed11ca9805808e96df8c0baea0d0fa9fe7ae13b2a262efe12feb4e7db4ffad8d594c156139573a9da377a0cbe125b2d4a2dc44e2bd45dff6465466b6e57b10710e5966d5db909d09ae2041a7e194397029567fc06eb35d1b64c232afb3db666b6b696983e08a10fb79bb8310d9dae2323829cf4e0766d7be0ecf3e71d6228f0c24997a5cac172a86d8ee938375cdbd2e1f91280da59b2af2346c91903c546fdca7909f9c526cbfc6551e3bd12a99592949e2b3bb765555eddaf5ac1e008ae3404677760d420ff4a6ed7fbfebc7db2ce57acec7b19a984302480009200124800490001278780430be7a78aca7d912dc3f8fb2935230f934d04108b7786f62235ef770a40298205cd4c4e4a253f5cf2aff8f7d47ce77f69184c49c0d9bde39fc1f6f6d647484e4d1f5273b178947ac1dbda0051799abd77ec3cfe7c47823fe9150fcc8ca27bd3a999003ecb373506c9639d0d6af1d3e22d56695184bd2d4e2c0101df368555897d0dd03d0a44ca11c1345e5ec4d273ff96d73d7108433abb373c60a85e4631a63395e3fc78aa790d3c8a580cf37d4dfd5ddd7d3d3d7d7d3d5d5d54d77f543d5b6daea7fb75eec76ba8844aea50ce6edaf96eba760115590001240024800092001248004e681c0a477b0f3d0269a9c2e0166e28a84160046541e0d2daa0bc9c4ac66e88cfdbc72ed2ecc1badc8a9348d137327cd270ebcfecab6ef7fefc77ffc8299cb2a7dbe6a62398f890944f01c90ed32cc60c10c53579b8d704146a47eccfee3a289afc718fd486311f9e01456be295f4e02dddfb44614c564e941b79f88949996bc98a20841d3e9ab91b36fe112217958614a19817e45eecf3ed0ed84385022f6d4d49c0ea553b50decfe16b008d1d670eac827bf3978b49566e6b25665178db54b190bf230de1ae381392480049000124002480009cc2b81d8fbf1796d0e8d4f8bc024a3235db9feddb7de25eeab6f1f8027b2c6a7b1d92eebbffe67e73b9b3237edabd5d6fef9f2607c564e418ae78bcaa3cbeaf66dbefdf5d97317db7b07c84a35b320cfedbc4d4c7bf9e5e3cd4ff98c3ef6f1414e995a135d492c4f31979bc988b3ae21e6f1a8d8600ce68f26d01f6f9b99c2d29bd99d2bfa5b5a985583c2a9cd7a71cd0bf92954e9ab968496cb7d9ee4ccec1449dff1b6f8979fa5eede8029a25b1eb26c6dde1300c8ed76115d19bf5cb881494b84fa2551a4021f780557737dd3404fc35567b6414dedacdc74c9d645149a342a43e5b37ffc15d965c976f7dee8eaef770d13b98c9924f40d8782714dd10e4ba182904c85ef58033da927a880049000124002480009200124304b0293dcc1cfd23a569f05013ff1de87ea23304935f6a0d5d80b674721bbc250b1c940bc1d75070e59c90808fcf743335aee11986f91b2135c67de7b2559f2fb9d1586272b5e7a9275c8d57e8e583bae397e90b37ec3eaf51b3827876f9effe8ed13846c15904faf2bccfb9b78d29894d9c05d96a8372412bfa3b3a185268c20e00b757004b648247111133b31fa9c7546dfe71fb7aa902db0dbba8a4c194a67a7ad87c78d71a29ec6936765db8a0c5a2abf94624bfccebbc43b229629d20db9e986a0b2c779b5ee740bec33c12f1f6732f644c84fb6dbe338707599ee4ba46abd410defe0ba06f11521f547ea122acbd355e985a5e9ac92df611f24f4a8d3fd409b42a95228aea66fa8bba92e38af05126e465034f9da4cae361e91001240024800092001248004664560c9830751bb0c4cc95cb81697893c0660ef6dd8ba202281247c0679ee94cb441dfd7e3f48e01899191d1de58490e18a228f5c517b7bfbfbefbf3f25d71f5fa5ac8d1b33096ca6d7d5696dbe12c49055b831335d0642e7a533d69010ca84e48b869efea52ab37ac9a0f537d563a1c624ceebf20a5213a462ef505f8b8d6675357a63aa4a99102f26ae6e3bb77bc684f2491a9893620da5d72a253ecfb0dd4e8f19d4e8f46a9544023357fdcc168a1149a32fd0abfcf6a6b671d20805cc2201248004900012400248e03b2170f3e64da552291289962c5922168be108094ec119c8c01122082e58f0783c1f7cf0414e4e0ea881021ca3525c5c1c48a088cb70794e87d387636ce29a0339d3309b22f320001f4012f6879370c7b010325109e7afa2803cc2a757ce9c8988a0b88e5e693e73a599a7cf42721ed50525d21494e548fd2405e67dc4c4616b9e727005bde8698b7e47166cfdc71b9508c91f068a01dacee3d3408f7d807fa26ec03ec9fac887e134b6810490001240024800092081c78600c6578fcd503f161d551b728d2ab6a7835dadc7acf6c7a2d3d84924800490001240024800092081054300e3ab053314e8c81c10b05b6b882a81c4ac929b03d3680209200124800490001240024800094c4a00e3ab4911a1c26222d043dbf9d7c92da64ea0af480009200124800490001240028b9500b7bbd862f51efd4602480009200124800490001240024800092c1c02185f2d9cb1404f9000124002480009200124800490001258dc04707de0e21ebf597bbff1e71ffd58ddfd97dd6fc7bca178d6a61f8a015d41c92a78f3eff080bd8d6f5fbd29fba0afd856201bb29fac8b79d3f1944dcc48f1bb6a7746ce4ea3d2c3ef175566cef4dffea6b16d6ed787ea4aca9f100f7636dc59519e09ef220bc02ead23b73b1bdae869c09817d579eaefbcf84a88c65890a18c23fe51ef607fb7bd87670bccf10d3ffceb677cfb78860490001240024860160430be9a05bc47a0aaa9c8949329ce89dbf8f6a13311ddd958f596798defb39fedb34608a797d59976be6084c8874b01bff7f6d5d6e3731bbd50653b2a7215c129d87ce39a73d5b52dba926d2fe46b1db69a63569a6d9adab6cb92e8b27d7864c2ae506994562dd21af4752d917b0eea8bca3357f82fd7066d053b33871f73d4ee5cf93957768840bfe6905cb4296a4d8e5e4f9202731c5f51863c839e0c06ba7b920c7a35d7682029f010e32b6adb4e8b36f44582efd1d02dfa2f27eb07e6b4bf7335ee94e9258b3148c9e7b0fdf618fba5d39b763c63548cbde1da490e1e89fc96450f259ccfd1f53357fde2f11045480009200124300f048686861c0ec7ddbb77c1b65aad4e4a4a522814f3d0cebc9bc4f86ade112fe806acd6535f68975faf8b0caec0e1fca7ff7a4366dc90699f75c2a864e2ae31818f6fa8abfbae4c9d98a89469f5c59b9dfda7a2df3135b18d094aa96d6626b81aa45b9b7b644f95185419c59b0bfa2f8a99fb381191846b8a193f264bf4b5cbf4b2a5839d51b77d296bb228f5122f65a5e9c92cccac7c8eda9d2b3fe7ca0e11e8d7cc204da9d688df0f7a01e630a7296896b61e39da0e7feccd3f34ebe115e873dac464c6980bd8efe8eaf1c9555ab5429562786ed3bdc32d73d9dfb91a7797a3bbbbd74344ca54ad02be846cd26d2a6582aba1ee8ed6cb37e35469ab9345eec97a3c57d7cf5cf56b527f5101092001248004664f0082abebd7af0f0f0f736fefedefefbf77ef1e4551cb962d9bbdf1876c01e3ab870c7ca13567ddf7a635d6a79151b883f4fb620ba629f1ddbd7ebaa6012ae9cd9566bd4aa6904fd380a0ba262f472b21fe217b754d232839a5cbb617a6261b0c17bb04ab4c58405b6be858053fac070310b1057326999b76e7cacfb9b243087fbfe60c9b80a17028ad2164d225680236c68b5dcce0736607c0a2d4071744b895f1aaf379e6739c3d7d9a59f84895efb418e4bad554cbadb0639099657fe76adc076c0da7e095de9a929ddbf343ffb5c4c701af80f3eca97a1a1c25f636e638699a9beb67aefa35a9bba880049000124002b3270033576eb79b0bae386b707afbf66d8caf66cf162d4c8980a9eaddbf7fae282d491937ea1d1ef13bdb8f56fe31fee8fe2d7d7f7aeff55f5b19138555d5bfa824ad7fa8fcdff1d5bfd87effbf8f3648ca76941b609d91eb7ae37b957bac853f3dfa8b1f2e27de5112e76e3fb97dcfaf830d67159a96cb554b995920cd9a8d858424ca88a3f34cf39560f9b43e44a2e0aa20f7fd51a6229ce94a5efec113aef6fa538d3423d115556ecc23bd17aadbe22a37ae1bbd71e9ba78757e4622287a07bbeaab4fb34a8c6254d2af4904c92dfb379c7ca0e9b2333f55add008fec4c134c4671ffcd9982325a3f0608defd6379f9e66a23526697494347e29736f481256e87584c825c4ed147e7264bafd9aab7627f4b3a862db3a4a2b656e70bddd97cf9db2c2cd2fdca3176d2935a628654c1ea6185d5d7ffee474cf047678f5b9cab147a17e09f18fb51021319659f2b35297c9c4c4eff78e043cfdad476a267a406ed4272e31bf98ab8fbe7ef8391022649f2a323fb5366db95cba4424027893fed0c06f5f889b903ca2e3d15991389e13d11d4e9f2125343f2bd45f9e7e097dbf26187762dc545994ae62ae9380cf7da3bdb1a6d15eb4f965a3ccd9eb4dca4891bbba5a6df75715ebd57e17fda74f6ac6025a693cf3b5092509445a2269b28ed05379326e06d70f2fcf89fac537ee427cd85e688ca6678b0c2ab80e21057c4efac2915ae63ae41f77b60a1e90001240024860ba04eedcb9135b05846bd6ac89952f7049e847c605ee26ba1741c0b4e7a37d2fe5400072b3e3d2dda5a939ab13e393d4444e921214de65c19b662257272912c4ba6490ab61ed6ac56b0688ac6e76f62d4d5bbdbae4f577b75a0fdf1b703afda32429332d21692c2ad9fbce2fb7660683a20dbbdfd9c0b67bf334d9fe5ed412c2088784b3a19554c6d26c0887bc7dd7ec243e452e918ec687d6efc5cbe4528948a920f14426954af5858cde90d3255eae52a5979a8d741d1b12c4342166eeda7c77bac3b76cf6bebb26b55aa18d73c5e8b2827819bffd56afdbe381692ab95a192f0fdec4420593f979a33a789748159b29d6c65007f9b43e6a09215b0087f8f8e9f56b8eda9dc0cf02cb8e424a01712addedd2ac4e4f357edf32d85fd336505e929fa214c352aebe3bdea54a75628208ba3d811d5efd50b7633ebdfc3c89107f81f105bb4673a549af825176f6f707642a58621a0fd78970829925a9d690afe5ae1f45f8fa11e220649f2adb66c9d5c2b4e590a3df13a7d4aa26997415b22fc44d482edcb38812cd2a257c75bc3e586227d45ffe7e097cbf5669be2f709d936dbb4c3045ec86858943a25519a954be79b3dfed8c93cad454060419fe80223dbf1830f90362454ab68e3484bf8b11fec24c66afc39ba895e7bfb02bc5de76bcae695c61ecc9f4af1f5e9e135ccfd3e2037f7f3479961f955222e277f6d2835eb12a49275731d7a1d0b8c7f609254800092001243015022323239193575c15104ea5ee42d3c1f86aa18dc864fe6455fd13135cdd39b2f7b9035642b2f6d41e7e89090ba29e69089f86329db5bf7ce5ed6a92b5b7eef0d6a44c03b9b26f7725ec1998f5d1e787b323dafcb703ffcff5f4157fb563f786b4b8f347feb9ae972c974afb2ecd28b882fbdd44e3ce57b344529944e4efbdf8a5958609ab88c6201bfed684324efbd923756d4463dab5dd28d730935413a5b18088f899a57c22c1a7ad84ec0f584f56c34fd19a6d55db93225a6affb27e5025d3e51753ca25dd171b3b5d442a16dfeb1708aea062c87ed046f8349489eed71cb52be8a7a6240f822b9fa3e6e36334f84499ab2cfad4b5d9a4ad5b2587f8d9d3673b5b671b9b727009f697e2d50f7633f663a0859767984f3487580b9c4457560cc15560a8f9b34f9be0c65d53b6737bee54fe5a45db17e2e020fcf635451b98e0ca73b1e650033d857685ec0b708691981e4f8ec692f8248a5a919cf9448e1ea23d27f312ede05723babf42dc04ae43a1eb07f68981e0caebb878f818b3be97182baa4c19a9eb8a86d89f2f1cadb5d7b54f17a6c83c5d673fbb95b9bd30313ee29bc8b91c3e361cff77f1168b3145a1d517eea6f41d4d9fd74fb0c7e3b4af1f7e9e82d7f334f9c015505ac00457f4d90f6b2297360a8e3b8b2bdc79cc200124800490c06349602a772c8f259885dae9acb23cb8b1eafbe20f4c700569797c70b249d86150f0dfac65822b469f39443c50a4832b805dbac7c8215d693e73a599a46cad622a59ab4f3473e2991efd239e5111b3c2c8d373b241383861cd8be027f9213b135c4162374c6322a6a92726c01245742dbae684f699edcd1e44d418e8b10ff41085b1086477afb5d9e0167fa6695edb15f4d3a864ee782589cfeeda050f0c0588043ab8240e647467d7a03643a5376dcffc9efb76f7cd4b4df5b0b3bda01d01fdc96044f304fd093944dba3d6a4c02530d8d9ca045790a4828173b826bf7d2d3f076a8d86d7be66553204302ebaa581660d4fdaae807d21cec2f2703ff8322265a1c5c216f8faed178ed7db88cec4dbdf09b8f1ea0b8d7b5931cc1c067abfbd1cf4c6f6ed9db28cc438b88ae062729e6fa4535f34c38f3ab6d36dd2b2b5a033c1f70e1e85b39efcc4aa2fdaf2545e8a426928dd24217faa6d1b8bedf93a3cf5eb677ad7335526785df1f2216415b390d6ddd314195c81c782e3ced71b94210124800490c0634600e3ab4536e0ba646669cadd5eeeae139e0a4a80db446f6c27e4ccfd74f8a6c7eb1e8e5481a22925b8d39c4582fb15df9d8eea63f62d3bb7a7c8d22bcdc6ead8c560f1cc7d73388ef28f8c7bd4058a84d2880fa242694242b85ca75649e1ce6fc04ff46030626f8e3004509dbafdb05d260351c974d34cfb35ae9de9b61ba1af914b61947d43fdddce11764b45302cf20df6c3475b6db5c35856b88e4a81e59494414bad4aab3b346ed963849d29e98f737aa293e9f20f79ce3cfd16793d0bb5116b5f98036c094162ed2b144c64ef750d059b889fa45d61fb829c27e7cfd33dd7c5b32d7746876d363ab230b6bf5c696cbf38b9907ed066c4b88b99efe5039f271c0549444bb85f2098ef2b3b1906933a9edb53ff72d89b4eda9b8a36bd5c98ae5c9d9d43daac911d99629ed7ffc97946f48b6b681a7c98cb84fd6d80ab193a4e30ee2115fc44024800092081c79700c6578b6eec99215b9ea463fd2edcbfe7e970b0c406121e566efad53f59e03e311c5489271ee7d1d0e2a1108c784e3fb4b630249ef6a78879b467e0e4397b153c49a32f2af9c606db47b0d1141747519b37e8c1ff707cc56c2630b574f586a330253dc550421893b041e113c9d061d750d70d6f9131119e3e83890246ae49564203cc361b0c9e49ecc7ecbb1d9c3489c6c3188e4d33efd7ecda054f62fd1ce876fa0a5325624f4d4d4dacab3db606f807744a2ccfe653aa55d945c4dec46b87ab2ba41f6b799c24a65f93f08faccc5ed6befbdc254c6d29cd844b2332548ed40de763ed0b71a04c46a8c5679fb904a572256b536729cb886d37f45421a322649fad4e84b809c9b95a3c47bfb7bb6d7c68c52ac5f697d94286bf5f8c9c479f11f35c3fbdb75cc644b56e6d01b1331b3910cd4a1980f0f923e77809445c310b6319915770a09a4e5f5db73bbcb520a33b519af2f523c433f67b316d3e0377a0370ad9ca3c8a701b20720e4f3cee8c0e652c50fa5ada2699b49fa8fb58860490001240028b96c0c4f7dd8bb65b8faee3d6d64eefd6cce4f2d70efe3c6f59be297305733f05db547029b3e2f59f4b2c19a6f2d5cc2c175fe29b9292ae5cffee5bef12f7d5b70fc013594ceae87492ccb4a7f7eceffbec42f25ffd75aea4e595f006839cc6b48eb6bad64c5d61aa3cef998ac6cfef4355b5beb442bc169e93873927fe14f3937394da404b7bff5fa56bb5f92f9abde77ba525df63e2b4fececb0323ab20ce91a5aeb394782ff791ec922760758fa3e7262129e32cf0d917cb53cce56632e2ac6b60ef29a1e28087a8956bbe6f715dee51e83293c5bd47c21b0c8e33173c9959bf66df2e9f9f0d579dd90635b5b372d3255b175168d280b6cffef157649725dbdd7ba3abbfdf354ce4ec9668bee16024cd63a73d7e027d3e0663b2d87e8d95f1f11f2b85e0d8712f4012d5d94f6f5e9aad48a7984d1d208503f14855de7cd87e8f00874bfcf6e9de01bf51adc828dc52912c4da1d44c5441d85dfac79a912852e13a81573a35d7370d08d917e24c9966c6930330e644542ed4dfa9720be9736678c6fdb4fd2963b122fdc96d6669a7539c9d9703dfa3c1ab1d23cc23910c93a82459b5794709a13b3abbefc56517ac056fdd6ef6512d5dd9cbcf52776fd05dfdb73c64d9dabc27e01b1f2c8a3211733aa5eb67429e3cfdbac63feed18d8ff1a1bfbee2341bd406cbce65f66f6fdf176b56ea14a374f52981eb8a7b8fb9a66887a510fe06672a7cc71ae868e3788e0490001240028f3a019eff291ff52e2ff2fe9d79fbe32fae13a2585f5e9eb962e88bd35fdc81253a102637effbec6b0749482bdf54be3ac1517ba416e4fefb30f332023f268f301936b9476031a13f62c28a79d3d50a43c5a68a8a2de5a6109b136f7f74becfbb2273c3ee37ded8ba21470df756d34f70331cfea5bfe954a3c30bef1dcdd8927ae572af9b489419860c95c46dbf68871937d88c0c9c02fd5126c3a61126660c57e76b9c3e6eb5c1db8912f5c51653be4a4286ba5a8f37d2a4c7fadf1d8e009152f9a5164b29a5927afa6dc7acf02bf224f6996259a2dea0d71b33a9507bb6baa66e971f364c2b2e2d35525ad9043f47f45867d6afd9b6cbbacaeb67fd91baae41af54955e585a5a986bd02a44ae8141085c9cee07aa142a371ffa54acd72a7c43dd4da1759b3c7626d40f71e2f98ce9d724fca34dd86ada7b5d44244bcda0946277c7d973fd3e228e9b20ca10b4cfcf41c8bebdee3c3d0833582919196a9997b65d85d033e2af24fb5386540dd749867e8d9a759adfbe1037217974ffc79f8f462c780d9608f457a85f135eff3ce34e5a3ea983ef9758abcf2f2dce8538135ee45d0dcf7d418ccbfae207126393598107244ea14acd2d3659cca5945aea77757d719afd91c2eb17cb14e986dc5293d96c2a4e87efa3f36a1d5734be8b516753bd7e26e4c9d3afe9f3b1d71f396777f88934559f9b9f6b4cd7aa6471ccaf5afce31eea0677cd84de4f1192e2271240024800093c1e04963c7830f69fe4d4bb1caec565228f01f6c75e9084134822f3dc291c63931ff6fa857b6a368533a3a3a35c1e325c51e4912b6a6f6f7ffffdf7a7eeff62d7cc326dcc9491ce3367ae64eda93bfc92b8f3c433afec834e159a36c2ebaa18f95cf410aca5ab65ceae13d6e6b93017614347e9e175524e3b6cac30dba42f30439820f3f51efdedc9316b1aaa2023199e401a1eb0b7cdba11f0569520191eb44dfa029f39ec1770997abb1c445e7d0da5d72a253ecfb0dd4e8fb1d6e8f46a9544427cc3fd767a0c9ba09d09f5c7ccce758e715e023b3ac4b838fd86783908d907b97a9ad727af7d788b1a3f6721f9f4fbc55b43a85fbcca6121dff5a3d11b611f4132958b1faed7bcd4a404b1d83bd4d7326e31231849552913602b1e57b7bd6d0e0633ec72283321cfd87ecd888f46adfec46d0000400049444154af5713f8ca0c3ae99eb1af0cffb8c3824a7d815ee5b7374db28f47a803f88904900012784c09dcbc7953a954c2cb266167f6afbefa0a8e5c021c908123441025252570b7eff1783ef8e0839c9c1c313c220cef578d497171715c11978954e3f4e1189ba0154e186c983d0de7391f4021ec0f27e18e612164a212c657514016dba9696fddbeade1f86ab1793f37fe065f68e3f70cde1972debc54db88cf3ccc0d58b4820490001240024800092081f923f0a8c657112b5fe60f1e5a9e3f02ee7bb0de6f2462bddffc35b5602ddbeaaacf76f47a025255a2363d6dfc73560bd669740c092001248004900012400248e0512430c103258f62771fbd3e35fffab9effdfad1ebd6747bd4567fb2ad7eba95501f0920012480049000124002480009cc31019cbf9a63a0680e09200124800490001240024800092081c79600c6578fedd063c791001240024800092001248004900012986302185fcd31503487049000124002480009200124800490c0634b009fbf5a6c436f7af52d7306f1f98844e2fea6ee40b5759175802a28cf54336f6c1589466e7736b4d1e3fdd7576c2b900dd94fd6b12fcf195f36576779651599a92a49c0e7f50cd91beb6c639b2dcfae059dd1f4440a19eab45e4d30e543e686b5297627435d49f913e2c1ce86169abf318dde94bfca73a3b569d6dbcaf3db9f443adffce7db3e5ff7a6342e7c156727cb2b294f120fb636b4ccd5f5353b77b036124002480009200124f09008607cf59040cf5533a6ef3dbba92293b3e637f8167c7ca5dbfceaf3a9b20757ad1fd6c2bb4909a156c1ab59b9f7b2924052203abea2d228ad5aa435e8eb5a6243933961687a71a731510aa6d8102fe95efb9cc5571aed1aa33e3de0bc6f75ab98cc608027bea20c79063d190c08c6578ab46cbd7e2870e3bb89afe69bff7cdbe7bb44a6342ee32bea8be0e5ddfecbb5567abc7c3a6754769e412d72dec0f86a3ad4501709200124800490c0234000e3ab453688d67daffcf8df08c97cf7a3772afca3be85ee3d95b552c6ac414dc92c22b626c8d0d62347db09519b7f68d6c3aba4a3fda7af5da6972d1dec9ca7e08ae8caf489d280bbbbfef0296842a3d3919e6817667c3ed03fe823e94c6f6d035e537a5c6cef18d37ea6cffc454c3119611426286795e6ed30dffce7db3e1f98a98dcbb89a296bb228f5122f65a5e971f2699df860201f0416fc57745a7d4265248004900012400248607202185f4dce68a1695cb942c8f261b879132f34cf62fc3166ea24ac5096984691269acd0fc07a29a92f4008dfc37fb4b586d36255e7faa04955833f8eabcd5cfc36d03377d115eb2a746a64c845340af85eddedebe571df05e3c6dbf1315d16cb77755b3ebffc99f87a3ec7770ce2f8dce4e3325edf0f939b100a8f17e2191240024800092001248004a64200e3aba9509a5f9dc2aa5ffda232e9e8fe13c6bffbdb92b415d0d89daffff8dc6ee6ad56553fff68bb2947018194df75fed4bfbcbeefc4c4ae08e96fddb37fc7b385292ba4c4eb1d1af63b2f7df2ca9b8788a9eae0ebdbd6b32d82d9e1bec637b7ed69661b10b23371eb31a59a553a65502855afd1139a0b6b62f41881aee4e58d3952320a0f66f96e7df3e9e9c6482d6399253f2b75994c0cd33fde9180a7bff5484d0ba18ab6941a5394324ed3e7eafaf327a7270898743a9d76851c94e315a93a5dbc5c4e9c769a7d36c6b8a9b2285dc5d809f8dc37da1b6b1a194775459b37e6c92f596d2b8b0ad2d9563cbdad874e8e738c6b3a78ece9760572e38687c880e7eef8208a2a323fb5366db95cba442482f0291c3c15556c5b4769a5200a78bb2f9f3b6565d75032f35709459697f229358cbcdb61ff8f637503c0e7074fb8daeb4f35d24c73baa2ca8d79a4f742357080559761fb0ffcbed180e7d6a5ead3cc6c616c2adafcb251e6ecf52665a4c85d5dadb6fbab8af56abf8bfe53fde0465efe4c43eb466f5cba2e5e9d9f9108fe7807bbeaab4fd3b1a659c9dcdad7184dcf16195430ee90023e277de148adf0b80b5d0fc2e3c2d3098d8e92c62f8d6382dc84157a1d217209713bed3ddc8532fdeb90fb7d81184d2f1765ca449eb633d54df1d3bb6e799c4411124002480009200124b08009607cf5dd0f8e7c994291b0fab577de807bd7ebed1dea1c43c2b265e0d6abfb8fbfb62199b8ae7f71be575f5af2e4d67fdc7ffdd29bd5307bc59f84f4b7be5bbdb7623504509ded974697af32a4ad48d0258389b7fe61c7fa34695fc7f9b6eb2e656a864113c7041fd36f97adc477d0e8b5721171775dbcbd3c9752a6acc923f6363e3d56e6f5ba3d1e983690ab95f1f2f84835a3b9d2a4574154e2ecef0fc854894a59bc52010ae525f9294ab1cbd1dd77c7bb54a94e4c108dab166902f23ad3f32f18d9a921a2a40a5fa098e2c1b4baea7ab26d97490bf7d08eae9e21d1aa8c542adfbcd9ef3ed5d4131f2f954a5485e652886e07fb1d326d62bc74a2166072e6d86f0e3276093972702c94a4cab65972b56064c8d1ef89536a551c665260d9514829205ea1bb5d9ad5e9a9c6ef5b06fb6b1c649490c45c53225c0d4383f7e52a79a2de62b9fdc9e578b9443a1a1fbc5d27f132b954226239c4da8f9307634ece99c8637c9c54a6a6322058f10714e9f9c5e0963f2056a464c7f7f3f38f97c9a452a9be90f5c7e9122f57a9d24bcd46ba2e180a461a87fc1cdad7e4597e544a8988dfd94b0f7ac5aa249d5c35d1b80b5f0ffce312e539776a323f6f54739709a18acd142b1dea209fd6db67761d422cadc9abd85a9a212181eed62f9b7a4879e574ae5b5e2f51880490001240024800092c6002185f2d9cc1711cd9bbf98035ebf7ff7dd8102721593ffd1b08ae863bf656fcc40a3e9adefd7c5f45a16533a93ec0efb190be9dfc030457fe9bbf7b63fb87cd8464eda93dfc121b2598a824d8e6e14edb895fbe7d22226613b223d42ebf378c94ca4e83db7cd7ed6b0d97538c94529992ae216dec34005f9d819693d53015a3d956b53d29b25c57560cc15560a8f9b34fe1de9468ca766ecf65af5a4a2587690d4f9fedec9476a8e869afb73a56aec9cf4d57baba2fb674baa45272e7865d57b20d822bafe3e2e1630d4cb3c68a2a5346eaba225dd3c99017ee8b35871b68cd8bbbb7278ad8899450c1943e35451b98e0ca73b1e650031de1bfa6240f822b9fa3e6e363202694b9caa24f5d9b4d1c41abfd36eb7198cea2caab2c06b926998cdc0f16701f23a13321fba1f2e84fb6078ed6daebdaa70b53649eaeb39fddcadc5e98184f04f8871a72dacf1ea96b231ad3aeed46b906a22d813467f635a5054c70459ffdb0665c542e34ee4272013f05c4ed5fd60faa64bafc624ab9a4fb6263a78b48c5e27bfd7678726f26d7e1a86f4581e5d9624a4c7c57cf9ea8652effb9f153c07d1423012480049000124002df3d018cafbefb31e03c38ffbb770e3081d4957f3d787045df25b2ee4709709660f89f7575f0a0959f244030e45f1a9cfae0717a5d2aafbec99405bff95faffb8409ae202d8f0f8508d6ff3c773da77c75c5dec3e6d71d979bcf1dfdcd7b6720ce12b0c3d3e264a235e9b0d6d1dbd566233dfdb7bcfa14d9ca6c1d69801869a2c4ac857c10a140ad49818e0f76b632c11524a958142ca53bbb06b5192abd697be6f7dcb7bb6f5e6aaa9f704bf301bb6dc0bdc2989b4ebcce6e9b8de6cc949960662cd0fbede5a055dbb777ca3212e324009a5bc5d7dd5cc7c44564e0eb73e764f7fa836a53fed0ac4a06532eba853512e1bf56c944b992c46777ed82e7b10244021d5f1207323f74d0dbdbca045790e89b77fc86c404959ef4f1b629689f579b114263cef38d74ea8b66587b683bdd262d5b0bd2d0b346d1fcd90a10deda99e00a120c06f0620e4269aeecaf629664ba7b9ac60557d0a8d0b80bc985fce4970ff4d8077a88c25804c577afb5d9b8ab0ea2a2b2e95f8780499a520c5384c463ab3b640dce68ce8d9ffcdea31409200124800490001258000430be5a0083c0b8307cf30217009133870ec17956d54fe05676f8667bf3359724b8282cce73e39290bb59490a01fd2ca8220d2d2b23894c9ce665ad54ffacd2be75cf4f5e34156426e76cd894b3a1b4e89de7aa05ed08b52c242f80c57bb0074766f9cb690f96c899fb72692a6c4dde33b6704ea866ac5c0c96b82467e2102e1868abad7618cb0ad751296a85963268a955697587ea2734cf8434106188c338889889d71ef83c30b1c0258968496484e7bbdb1dbcc5b6b7c0f4dab493821916e2750d056bc607fdd7c8a5d011df507fb77324d43b916f10e2b74470c8e50845531a0dccd2f99db7a15bcf44361ecff80d37f042f62375c7e7997aeca4144c0e796ec38abef1c5bc67fe115fa41c4c08a739b2af615be06b4968dc85e4c2ae4e561283263452cc5359935f878cf3017f4024164935297a620f5e9a73efe764fdc072248004900012400248e06112c0f8ea61d29ea02d31193f3575e5c2d5e1d79e4c58ea7cf3cd3785aaf947438bb760da4b40dfb4772b5477df75b2464c07df3087431590349f3800ff209afbe9fef75ed9b0baf4f9aaf77e3f79bb42fe44ca3545694a98c9f07a4645cc4de97db7572e97aa52d610321600f1eccfce9988dc9e9c75d7777f982da1b69466c25d6b68b285f4d81ae01facba2bb13c9b4fa9566517117b53a41b93e67b6fb98c896addda026267c3270dbb9fbccf1f8a2744538a3f266a86b9cb96cab97d3e7496b20cceff816ea7af305522f6d4d4d48cabad33b1a7c1912d28c96466713cf70891b1b3469c5fd4e60d7a00c34af8ed8fb329740291246c78185b1ac99f2d6536e598419a8dfd813b5e3f51c856e651a49e8e6e5b68dc85e4d1f5273b0f4e9246a299f67508a12b04d0fd7fa9733c0d8fdf19cd5bfcbe930d34d7f2447e52c602a5afa56dec6bc255c123124002480009200124b05808607cb55047aaf9407de7f39b3237d4561f387ae21c49c92a3695af72d756bcb22fec7182aef0ddb7de95909bbf7befc32b42fac76ef9892173f3fff8d5f2e7938b37a4318b0809b38582696fddbecdb7bf3e7bee627bef0059a966a659dccedba4f9c349db654d4c72c84e83477402f497876a83378afa97aacc6aa5b648439a4273451245aab91ce2bda1e6fab08c312b96a7809c8c38ebe02dbc8e7b0192a8ce7e7af3d26c453aa5e4669e20b0a04cbb2cd9eede1b5dfdfdae612267b798f30dbb27712ba6d86eb53f652c56a43fb9cd2ced748ab3f372209e19bcda41430b31ca3310d0bd037ea35a9151b8a522599a42a9d9b78131bb7ff7345c75661bd4d4ceca4d976c5d44a149a332543efbc75f3251932cb5a0dc64485899969e2887d9abe6534db03f07b4aed6975688d7c2fe142a66b89824689f2be63f4e122d45f28f361033a513adc09ccf897dfaeb2b4eb3416db0ec5c66fff6f67db166a54e314a575f8ce71ff739ba1eb8ee38063c44ad5cf37d8beb728f4297992cee3d726ddad72113918924846e386495ef3265a4e4566c1ef9ecd4ed2c7effb98635453b2c850a78bf9dc2772c148c71257844024800092001248004160b018caf16c84885a764c6fc79ef957735d56f95ac2e79ed8d1256eaeda8bd1e2a1e81357e098acc8a4d99c4dff95f105f11c2af7f62dfbf598ebfb43ef9c9f20dc4ef38fdcb6354d5eeeca509c4da72cdf1839cf51b56afdfc0d91cbe79fea3b799fddff9ed841a9eda27c5046c3ec7b5b15fe1ed371ca56aad5c97a123f0800bf143882791aaf506353c0e742d22bef233e145a2de9008de76427c65ab69d7efc84d51a4665024e0ee387b4955549c04fb7fd0bd4ef7036d0aa54aa138977c43dd4d029bda45f8cc701e9b9d620a5a3ea953ec78c6a8d5e7c336149006e9d6eafaf0e678e0cdec92bdee7c665231b8999101cfe1d0b6de24630617a4d41fa94ba82c4f57a51796a6b36df81df64142540c00753a8081e473f75fa83bce78d363bddcbb3a37459961500207fbc59eb45cbd085e616bb746d9d782fd89029c006127e7fc3002630fba8d75339a3f6104b0db20eb21f3fa631838815727732a7366df5e7f6499e8c527f589a9fadc54d6b6b75f4c6887c0b81b05e441c7a7f561ab6bca4c7e26554d15975250d1d3db4ba67d1d52cc2bdeb8a9565bed09a9656b31955ab8b1bceedcc47e724337838d54a6d5415446024800092001248004e68fc092070fc66eb2a6de4cb81697893c06d8577382249c401299e74ee1189bfcb057342c1a635338333a3acae521c315451eb9a2f6f6f6f7df7f7feafe2f22cd2cd3c6753a99e78ef3cc19eb54dce6d5678432cfa5335608c3c6a5acc28d99e93219f138a30b79ed8cabfb104f34945e2bf1f5075f5715d1b046a757abe0f934df304f6184dea4598dde08fb0892e1411b0dd1df5c27f01f5e6cecb4f36cc0c1744d29f17986ed763adcac46a3914a611ac3d5c3bd772954a0a3f4f03aa67176346cbc0a6f6d52c4d3344d8c96dd26ca4d9f3bccbe172b546f517f6af47a3581211e74d2611a42e32e249f1100a0ad4a90445e1273761d0afba9d117e8557e7b93f04e9b33ea0b564202480009200124b00009dcbc7953a954c2cb41972c59f2d5575fc1914be02a64e0081144494909dced7b3c9e0f3ef8202727470c8fce8be0e193e8141717c71571192ecf2971fa708c4dd00a270c36cc9e86f39c0fa010f6879370c7b010325109e3ab2820788a04161301ca546931cafbbbe8de5b6ed90a2d9501dbdcf93aea7e3bf13e1f8ba987e82b124002480009200124f088127854e32b5c1ff8885eb0d8adc78380cbd1eff2e9b5e9f08fedb0dfd3dd011bd53f1e9dc75e220124800490001240024860e111c0f86ae18d097a8404a64c60c056ff89ad1e9607aa61e1a0cf6d9f8fd58d537606159100124002480009200124800430bec26b00092c7a02033d746853c645df17ec00124002480009200124800416358189361a5bd41d43e79100124002480009200124800490001240020f9900c6570f19383687049000124002480009200124800490c0234b00d7073eb2433bc38e995e7dcb9c417c3e2291b8bfa93b503da54de167d8d6a2ac46959933fdb7bf696c9b877ddc2702f25db53b914f5886049000124002480009200124104500e3ab28208ffba9e97bcf6eaac8e428f80dbe99c7573ad3ce178cd210ce80df7bfb6aebf1ba969060717cea8bca3357f82fd75ae9b0bfd49a1cbd9e24051e767c35dd7605f9535b5ead4891454e5cfb3b6a3eaca7a96d3b2ddad080c1780ddda2ff72b21e1eeb2a7b71676e22b9f8ef1f373ce48832cc1c334800092001248004900012583c04226fb3168fd7e8e9bc11b0ee7be5c73ffede8fdfa9f512e21df5cda61de6daf20d75d15d8e218f482cd5ea8b3717e86663f0e1d74d5993456564afa1225a1ef1fb09f107e0f070d3f4db15e22f89139180a7bfbbab9b4dbdbd5d032eb62f4c05bfa3ababd7e92262a92ac5f0dca6a25081283efee1f6175b4302480009200124800490c0e22480f3578b73dce6d3eb2b5708593e0c018478d6adf8ee5e3f5dd30066f4e64ab35e2553c8676df2a11af00702d05e6c2c15fe594243c8c3dcb86fbaedf2f1f731dd793074eed4699ee9289fe3ec69564e95efb418e4bad51469e288c74278a823818d2101248004900012400248609110c0f86a910cd414dc2cacfad52f2a938eee3f61fcbbbf2d495b0135ee7cfdc7e776ff1a32553fff68bb2947010193df75fed4bfbcbeef0429fce9d1fd5baefde17f5dcff9f1f60d99b02eccd151bbe7276f436c358749240ac668eefba38c5938d395bcfc83275cedf5a71a6946a22baadc98477a2f54b7c5556e5c377ae3d275f1eafc8c4450f40e76d5579f66951845de642cb3e467a52e938989dfef1d814999d6236d52b0efbcf0e5a0b6209752831db7c3fe1fc7ea06d87679e4bc764108af9492c62f85a91e421256e861de0dde2fe576dab99864d4272e31bf98ab1fe7a7ae68f3c63cf925ab6d655141ba5206153dbdad874e361262dc545994ae6224019ffb467b634da35d90430db384922a323fb5366db95cbae481df371af0dcba54cdaeace46d17f485120fffa0aa987f3a4a1492d31d4e9f2145442442a6518e049000124002480009200124c04700e32b3e2a8b53265fa65024ac7eed9d372036b9dedea1ce31242c5b065d7975fff1d7362413d7f52fcef7ea4b4b9edcfa8ffbaf5f7ab367993a4191b6fb9d0d84b86e5e7725ad4e3454fc7ffbbfd9f666f51cf63e105c47672ccd4e04affaaed9497c8a5c221d8d0fddb7c7cbe4528948a920f14426954af5858cde90d3255eae52a5979a8d749d4dc81fa3b9d2a457c11a44677f7f40a64a54cae2393b1229556c865adea1c1fb72953c516fb1dcfee472bc8c575ed3c66bdf647edea80e4e1781358a551aea209f761098d2926a0df95ace4f45d8cff878a954a22a349742143bd8ef906913e3a510c5e8b7ed326921367374f50c895665a452f9e6cd7ef7a9dbf1fc1c20b82adb66c9d582912147bf274ea955c9e3e46c6c26d02eafff9c90873fe1ba225aa1d3116ecddf888bee899984d3ac52c210797dee09ac6311124002480009200124800490400c018caf62902c7a81e3c8decd07ac59bfffefc3863809c9fae9df407035dcb1b7e22756e89ae9ddcff755145a36935f0597bdb59fd8f777309d657aebf37d9b92f47984cc597cc5c42189c69daf6689a43289c8df7bf14b2b0d1356e3f98e844e4319a7fdec91ba36a231edda6e946b20da1248bab26208ae0243cd9f7dda04934a9ab29ddb7399ab7984897f20f5dbacc7ad36429557c13a374d3219b9cf2f27fcf155fb97f5832a992ebf98522ee9bed8d8e92252b1f85ebf9d9014d63c11f6d37db1e67003ad7971f7f644915857b20e822bafe3e2e1630d4c456345952923755d91eecc1dce4ef018ea3ed1146d60822bcfc59a430d7444bf42dac2ed8634429ffcfcb952b1baf88517428ace9a834768ee64497c1245ad48ce7c22470f4b399d34335fb726a4879f480009200124800490001240029312c0f86a52448b4ce1fcefde39c0045257fef5e0c1157d97c8ba1f25c05982e17fd6d5c1f23c3f4980a580fea570f3ec83b573aeafffc8045790ac4db4779361c5aa8d849c61cee728f9473ca32266659ca7e7640304271325112c9f1bb233c1152476233b2e22e2ad43ad490195c1ce5626b862f4c5509d4b90f1f6b632c11524fae61dbf213141a5277d0272c2ebd6408f7da087288ccc060f77afb5d9b856e0444726f6b3bbb9ae8106bd81afcf9d93ddeb5fb30e88067abfbd0c2226d9bebd5396911827117a104db32a198a5c740b6b24ba5f53e7c3b54684f8fb872e9ebb342c864b80f8bd77e8a036212265a1c5c29ef9faed178ed70b4e1e866b6006092001248004900012400248209200c65791341e81fcf0cd0bcd5c37ce1c3a0499acaa9f401c327cb3bdf99a4b125c9417e7b971891003dc5cf7765c0cf6392b6ba594783b2fcf6170057188ef4e47f531fb969ddb5364e995666375ec62bf78262e0ac751fe91713b1642d1c4890d105815b904bac3edc100b55c8ebe60458d460e51a5f3360451cf08c8276e82298d8f5611f6d377b73b188ad95b9847a64cebc19d073e4f78019e44b40404d10649888342c144965ed75050237eac5f20116e37c620c44a13f11fe96e6ba3792ab92e9e6db9333a6cb3f115f2e8a308092001248004900012400248601c018cafc6e158fc2762327e66e4ca85abc3af3d99b0d4f9e69b6f8eeb5de15ef634f87ccdab3ffd6bd810c371a73f52c73f1a5eb516299e465e2482d064e0e4397b153c29a52f2af9c6d6188ca6b8388adabc410f715138be12414c30c5c44cbd10dffd61569dda529a095523f6b80b7a5e50920993676ecf3d4298479898e5836c8a907302fe6370522c0683b09fa2a860acf796cb98a8d6ad2d207676870acd4ae6d5533e3ff49fed752c07068154ae641dd259ca3222fb25dc2ebfff3cfc83d19f3fa64fac05bfb7bb8d3fb4f2737bb8c7b643190b94be963608603121012480049000124002480009108caf1ef58ba0f9407de7f39b3237d4561f387ae21c49c92a3695af72d7561c60a21175e12b6fedfd81e689e2124322cc5efdf6f50f237124e80adf7deb5d09b9f9bbf73e9cd5be82b6bad64c5d61aa3cef998ac6cfef43136a7d698578ad9aca5031b3357c2966ca284a8976dc0b904475f6d39b97662bd229663306486cc80207596a41b9c990b0322d3d510eb357cda79a88cec42f8fb23bfed431e0216ae59aef5b5c977b14bacc6471ef11364a1ad39acc4fbbd5fe94b15891fee436b3b4d329cececb81386ff06a074d9847cb6239d0bd037ea35a9151b8a522599a42a9d91701b3bbc48fb5c9e4266b779c7624ff4fbf6522d325aae2cd9b47456cbc260a383ace3684560206e738c7d5077252aa7c8bda4b980a2272a7b3c9dac6066a9aa21d96420521990adfb1067a5c253c4102480009200124800490c0634980f9b11cd3234420620a27d4abf75e79b7f1ba4bb1bae4b537de78eda54d39c9e29eceeb5008aa2b324b366ddd04c1d5b0a3fde0fff50afb2416576d04de2f4c1499159b2aca2d4f67864c4deb13eeca43fbd791a6538d0eb83b57666c49bd72b9d74d24ca0c43864ae2b65fb47b408d7927931ff447d9973331ad8cf86143f770759e766d35edbd2e2292a566504ab1bbe3ecb97e1f11c37e1e6c902553a71b8c0608ae7ceefe73a78f70b103d8e795f3180f896c754ddd2ebf4c4d1597961a29ad8cf93962623fa191a8d4f2499dcde5176bf5f9a5c5b9102f0dd2add5f05c538f959f83bdee3c3d08f14c4a46865ae6a56d57810fbb4bfcc4ed4635ca9cf2f32f92f9a04024d5a6a6a6a6b00972891022b169949958e34d8ac49460056d4ab26a6c9294fb0b12da879fb72a0a9100124002480009200124f0181158f2e041ecb32093f73f5c8bcb441e03ec8fed2009279044e6b95338c626bf1f5ee81a806364667474941342862b8a3c7245edededefbffffee47e3fc61a59a68deb7432cf1de79933560643e1deba7fde7abbf6979587ed85cbef3637cf6a826aba5c75941e5e27e5b4dbc38f254dd702a7afa1f45a09ecc4408fd9d19976bd6074dbcf56b73a74526f4f78e77121f9141a066f550992e1411bcdced94ca146ac8a466f847d044994111e0e1a1d818d35e0ed5b8a789aa689d1b2db44b9e97387d9f762c5dafdce251a7d815ee5b737b58d0dc177ee133a800490001240024800092c0602376fde542a95b09e66c992255f7df5151cb904be43068e1041949494c0ddbec7e3f9e0830f727272c46231e8c3312ac5c5c581048ab80c97e774387d38c626688513061b664fc379ce075008fbc349b863580899a884eb03a3803cb2a757ac67a242285827363adc43ae34373ff44ef7d073f3b8ce00cd13a1c19720e01b8228252a1a12924fda7bf036cad4a455621406ec369e002496039563b218e5fd5d74ef2df79ab5eba90cd80ede77b3336a55628cf9ef4e30606fe1e9d877e70fb68c0490001240024800092081ef9600c657df2dffefb2755893076bf01ebdc4ac8be3eb95909c4ff73b93b91cfd2e9f5e9b0eff581ffc9eee8ea6fab98946bfb34e61c34800092001248004900012787c08607cf5f88cf5f89e36ef337f6fdf78d12371d663fded41760164546f84e4516adff5e980adfe135b3d2c0f54c3024a9fdb3e8b2589df7557b07d24800490001240024800093c8e0430be7a1c471dfbbcc0090cf4443c51b6c07d45f7900012400248000920012480042208300f6c614202480009200124800490001240024800092081d913c0f86af60cd1021240024800092001248004900012400248802180eb0317e975b0f1e71ffd58ddfd97dd6f1f9a830e98aa0efefdd3ceff3afcb30fcfcc81b55999d0576c2b900dd94fd68576cca30aca33d5f0262c78b5edc8edce86365ac0bcaea4fc09f16067438b908240bdef581cd3df39f647632cc850c611ffa877b0bfdb1edead7e8e5b113047156d796a8de75a4b6d136ed0218008c5480009200124800490c0234700e3abc539a4a622534ea638276ee3db87661f1299bef7f4facc4c222d2273195f51db765ab4d2205ebfd7ddf5cd17358df424b8a9344aab16690dfaba16ee969c5aa537e8d55cad40524030bea20c79063d190ccc597ca533ed7cc118729f04fcdedb575b8f87a3be49ba31e5e298fe4eb9e63845caf492c518a4e473d87e7b8cdde1436fdaf18c5101dbf00793931c3cf230031d6ad59a14b59ac4a59199c657faa2f2cc15fecbb5563ad407fc4402480009200124800490c0022780f1d5021f2001f7acd6535f68975faf9b7d70050d58ffed587d9af96ec39f051a9ba1580c179777b0abd7255327262ae554fed32576ba71e29725d1d72ed3cb960e7686c300da7ae4683b216af30fcd7a78f5b4b02b7ea66c2205e1aa0225ccda59df5057f75dd67f99565fbcd9d97faa65d6afc28a6c2ea6bf918553cfbb1cddddbd1e2252a66a1524b8e657b7a99409ae86ba3b5a2fdf8c53a5ad4e16b9a76e712e34e9f64b579767debfde316363296bb228f5122f6585372d634202480009200124800490c0a22080f1d5a218a65827adfbde64e728624b6620b972e267af9f9841bd49abf85d5da76b1a40cd54596554c5c914844c1c5f11da5a4347991d802a521fbcbd2a1838441573a72e26bc9a4881b7d66442dfddeb9cff7a73a559af9229e493d5986e394f7fa76b02f4076c0da76c84684a766ecf0f7da5e3e30047c079f6543dcd58b4b731c7879b066cb58c5b334f7e58174ac80451f5cc4d634d2480049000124002480009cc0f81d0cdd8fc587f3cad1656fdea17954947f79f30fedddf96a4ad000877befee373bb7f0d99aa9f7fb4dd94c32cd9f2bbce9ffa97d7f705a31a53d5bb7fff5c515a92326ed43b3ce277b61fadfc63fcd1fd5bfafef4deebbf66e3a8c2aaea5f5492d63f54feef65477ff1c3e5c43b4ae2dced27b7ef61cc7269baed16fef457bff8a181b97b1d1d1d8d239d27ffdf605bf038d6ebdbd6b39e83e5e1bec637b7ed690eb532bd4f5170751afbc1863fba92977ff084abbdfe14b756505754b9318ff45ea86e93bebc31474a46e1412bdfad6f3e3ddd389586a822f3536bd396cba54b4422b0ee9bac8eb1cc929f95ba4c26267ebf7724e0e96f3d52137ad08bafae28e4bffb3efb2ae6d05abba28a6deb28ad940960bcdd97cf9db206a388317f1ef87da301cfad4bd52de2e9f65757b479639efc92d5b6b2a8205d2903bf3cbdad874e324084da0dfa2e8d671107cf24f0e516499375644aefd062c7c579e1cb416d412ea5868eba1df6ff385607b1adb03fc64d9545e92ac6c380cf7da3bdb1a6919977d4956cde9893c8bce33910088888f39bff0a8eb5b0ff1aa3e9d922830ac685b5e5a42f1c69eea7a4f14b99189124acd0eb0881f781b99d0ffb0932c61f4c4800092001248004900012980e81c8fbb1e9d4435d6102f2650a45c2ead7de79a3242de17a7b870b6e10972d03f557f71f7fad3c47317cfd8bfac6be51c5935bff717f6516c84d7b3edaf75a456672c2ed2b972ef70d2b148ae42435912f4b4a50ac58c6dcbc3249ae4e522424eb92c9dd7b034ea7f3965baa5024253166c369baed927b2eb004b69c6eff0ac58a705b6ffdc30e08aefa3aced7d6d637b65ff792b819cfda2c21cc1d739e698b5e250eb8bada6842e2e3e512a92c5e12743b5e26974a144a05f17add1e8fc7ed8b934ae5f2f870a726c85065db2c857ab522deedecbf3d38f9da37a3b9d2944b41c032d8dfef748fca64d2e5d0ee8429b422d1589a9d088b1dfbae31f143816547618656ea1ba4af76b91e48538ddfb7e469403ece1fd788542a55c86533e86f7cbc542a51159a4bd395f183fd0e2f3093324084da15e801ddcb5495e7bfb06b9bb9484027421c1f2f9348a962733ea51e1d1a74fb893c516fb1e48186803ffa6dbb4c105cb91d5df6abdd3e09acff346f2e82380838796124612c3dbe804c2a0b8fb590ff9a3ccb8f4c4608d39cbdf455bacbe911c9550a93f979cb0b16b86c081183572f58cc909ec9d347788c5924800490001240024800092c4402387f357fa3e238b277f3016bd6effffbb0214e42b27efa371b92c970c7de8a9f58a14dd3bb9fefab28b46c26e7effdd34b3930c57564ef7307a0206b4fede19798bbe9a878217c7ae5d0ee4ad83330eba3cf0f67f3fb3eb576ab0f341ffa19630952d69ebac32f858c99a824d8d6e14edb895fbe7de24a4838934f3f4c45a90dbb771bb8ca57bfaa81c9103232de54f874a0e564354c2569b6556d4f1aafc27fa629da90ab85a99d8b35871a68a857b6737bee4457b3aeac58af2281a1e6cf3e6d8247a826d587d91758969868dcf96a96482a9388fcbd17bf64b659d094e4510ae273d47c7c0cce0865aeb2e853d76693ee117e7fc21d046548e1d3c9fbebbe5873b881d6bcb87b7b224ca309b5dbc62cbfe44d0dc7ff5dbcc5624c5168f585bb297d47d3e7f56dd0738134c2f41752bfcd7a1ca6e3a8f22a8b41ae492624bcae709c3fba92755a09f13a2e1e3ec63a60aca83265a4ae2bd2359dec69a965461292a66cd7f65c3627ccaded72690125227efaec8735e1a6405dd73ba892e9f28b29e592ee8b8d9d2e22158beff5879fcb0b5ac50f24800490001240024800092c340213dd912e345f17973fe77ff70e132f912bff7af0e08abe4b64dd8f12e02cc1f03febea6052c74f122088f12f95679565c0cc48df177f609509591ecfae919ab4af3a183976c95ab4e614db1d576d5ca3d6ff3c773da77c75c5dec3e6d71d979bcf1dfdcd7b6766146789451025f6daae0e2956a6e8b4ca0cf3ab65be430de100639c07e11366ede483f0997046b32a1966d55c740b135c419232ad4d90a83529007cb0b39509ae204da61f34e51ff18c8a9815709e9e930deccdbd56c944bf92c46777ed82e7bd0244020e2f898bd7ac524fcb9fa07d22d8dfeee63ab66b035f9f3b27bbd74fb4eb78db0dd9e1fd1cb09efcc4aa874dd2f352144a43e92609f9536d1b13e4f22600e8ed6d65822b48f4cd3b7e4362820a268c7cac76943f6bd66d8408b4f7dbcb4153b66fefc0951c270108632912b200374256314b20dd3d4d11c1155818e8b10ff41085919979bb7badcd261c188e35873924800490001240024800092c0002185fcdd3200cdfbcd0cc993e73889924caaafa09dcdf0fdf6c6fbee69248b89238cf8d4bbae42c38b9db1bba7f94337117aceb8a4e72e63e7e0a0ffa4fb5dd68fb11e7d53fabb46fddf393174d0599c9391b36e56c282d7ae7b9f7ce44684c39ebf73aac0dccfc06657ad1624cccc82e68187f1b4de299b8889b3999b2554651a1004ec4eb1a0ad68a9f121f7138789d024f70cc77a7a3fa987dcbceed29b2f44ab3b1bacea6914bc1866fa8bfdb3912b226f20df62b14cc12c1c9fd996a7f7d77bb839784bd85990cd21415f2b61becfe041ff6a693f6a6a24d2f17a62b5767e79036ab902ef4d7e5e80b966a3472f815c0791b624a8a1145fb635a0fea0f7c9e70b426112d99283216e24634cc384eb233091359624202480009200124800490c0e22080f1d53c8d93988cfb259f5cb97075f8b52713963adf7cf3cdc8264d7b5f84d3e5493a5658b87fcfd3e110808da63cacdcf4ab7fb230e159644dc88fc64e064db5dd284b51a7cd270ec03f880a7fbaffbd5736ac2e7dbe8a9cf9304a674aa7a1c8c9e5616641e264cc1c1e2be32645a8cd1bf4d0df9056c8a4c036eba1a7a13835b8bf2752b9923dd159ca32e07ca2f893c5eabbcf21a4b694664ea2cfda1589e0d67ee0e4397b9549afd217957c636bec76fa0a5325624f4d4d0de70777a44ceb20c3ebcf8cfa2b22e3838a018176237d205e41004da7afaedb1dde5a705ca5f127c12baaa024939955f2dc0b9546fbd37bcb654c54ebd616103bbb1650b35206407d7e6e5c43b5c63e85fda7c06b856c651e45b88d0ec7eac0a357cc20472caa8c2ca38c054a5f4b9b3d52867924800490001240024800097ce70430be7a5843d07ca0bef3f94d991b6aab0f1c3d718ea464159bca57b96b2b0e777ab7662697bf76f0e779cbf24d992b9838c01f5af99759f1facf25960c53f96a058f9fd295ebdf7deb5de2befaf601ee392a1e1d22d4ee2bfbf8b4e1c1b0bd75fb36dffefaecb98bedbd0364a59a995e703b6ff32b4f2615cb53cce5e5e2659af4545805491c342c27cb818c5a5f5a215eaba63254ecec459419b696998c38eb1ad87bf750b144916a2e37c32b9d9aeb9be8de01bf51adc828dc52912c4da1d4ccdd3dec5717528df9a41df70224519dfdf4e6a5d98a744ac94d210aeb8f3360ab6bcdd415a6caf39ea968fcb4f6aa33dba0a676566eba64eb220a4d1af4c267ffb865227f66d6df713ef434f0b65b7f63791945e88eceee7b71d9056ba15b6e37eca802bbf895bdfc2c75f706ddd57fcb4396adcd7b0248078bc6d91d3b0118b2d48272932161655a7aa21c66af9a4f358d158fcfd9adf6a78cc58af427b799a59d4e71765e0ec46383573be8f16a636702fe7f7cc4faf515a7d9a03658762eb37f7bfbbe58b352a718a5ab4f31fb253a063c44ad5cf37d8beb728f4297992cee3dc26d2ca929da612984ef44a6c277ac41b0cdb1d631870490001240024800092081874500e3ab7922cd3393f0de2bef6aaadf2a595df2da1b256cabde8edaebe44cf5c766c3ee0dabd79797c3ae125f9cbeb46ed386041896e67d9f7dfdfd97d6a7956f4a237e47ed910b452f55c4dd1f9bb01a851656182a361988b7a3eec0216bb01f536e777cbfc7aa593bae397e90b31e1cdac0a90cdf3cffd1db33793b16ec6f4164897a031359057c9e5e7bcba916584e66bddcbb3a37459961509280db7eb1272d572ff28db53f56cbefe86c68a1837e3221a744aad61bd4f04ea76bf54d03f6baf39949c5942a2523039e8ea26dbd49c68cf1533ec19ac10f5b4dbb7e476e8a22358382763bce5e52151527c1be23c28909be4233694da71a57ef34272a33b614e94e1ea94ba82c4f57a51796a6b3b5fd0efb20bc5f6a9c3f1dfd5a03c56c97de33b3fe328d47a57abe76478846a1d2e616a7e6b2daf0c2b12f4eb341a9d72f9629d20db9e986a0198ff36a1d5714653774ca0c973a1d0043f2b9fb2fd41d679fc4e28a63fd69f9a44eb1e319a3569f0fdb8c401aa45babeb236ab0c2c86abcfe8396bdfec832d18b4fea1353f5b9a96c2d6f3f3bdb4888adae2933f9995435555c4a4189a7b7972d670e8096390615d9133c200124800490001240024860011058f2e0c154761388f6345c8bcb441ee19d37a00d92700249649e3b85636cf2fbe185a201384666e0e54c9c10325c51e4912b6a6f6f7ffffdf7a3bd5c90e759a68deb7432cf1de79933a19808d6e19936c27aacce3367aeb05bf9893b4f3cc3ce2f159a362672f259f785b75dce6ae19edffff34b86ce13efbcb22ff4945556e1c6cc74998c789c97ce5867b4bbc5840eeb283dbccec869b743bc359ba4a1f4eae9d8017dadc4d76fa767d92ef8cc98524a7c9e61bb9d0e7761cc1f76eb3c91d3f6e1116694e7aabffcedeaa8bcd4a404b1d83bd4d7621b73067cd41b5355ca04d832c5d56d6f9bb8d33ad3ae178c6efbd9ea56874eeaede99922216802f61124c383b6d8b76ce9ca5e7c2137d169ab3b621d5bc5c7cb8d05a8d1ebd544427c834e7a7ceb404f9520896a42a32fd0abfcf626e1fd3a58a37840024800092001248004162c819b376f2a954a7889e992254bbefaea2b3872091c860c1c218228292981bb7d78f1cb071f7c90939323168b411f8e51292e2e0e2450c465b83ca7c3e9c33136412b9c30d8307b1ace733e8042d81f4ec21dc342c844259cbf8a0232efa757ac3cbbf18d0975e3e6609aada18067d67e8d35113455b877ffdf487aed77e2f5961fc01c87ebe27f46b475a5f9cc95e659b72968a0871ebbe116549a42c1003dbd086dbafa13b8c06b6a4cc8ec0b3896e6aabf6071ac89b0f91ebaad870e9f456406ecb62986494c25f8e311f00dc1ce7d3d112626cbc636a13359f2c4ae018f58c34e5d7afbae8c1b6b1eff836d0c0885db402fd6a5013b33198a0909200124800490001240020b8d00c6570b6c44dcf7bcb00f04cfc61573eea73cb77443a6985b04e86d3ff12ffbe6319e9a73e717bcc1911158d0280a2d2f5cf0ee320ec2bc73e472be99fa1c9fbc8a528b28b6babfdf76ce1a1b1bcdd434d64302480009200124800490c0c22780f1d5021ba3e65f3ff7bd5f3f149facefbcb13733510d6b002fc1bac487d2e463d4484fe3a183cc0e0d8b26f5587f7b706cc1ea2cdca6eb3eab51cb1360a15fbfd084d42cac635524800490001240024800092c7002185f2df0019a47f7ae34cfc39355f3e82f9a5e1c04067a267ed26b71f402bd4402480009200124800490c0cc08300f6c614202480009200124800490001240024800092081d913c0f86af60cd1021240024800092001248004900012400248802180eb03f13a783408e84aca9f100f46bc316b96dda20aca33e15d5b0122128ddcee6c68a367690fab230124800490001240024800093c0e0430be7a1c46f9bbe8a3ceb4f305a334d472c0efbd7db5f5781dfbeadb90702e3f29439e414f0603636f249e9d756a95de00af6362532029b040e22b7d5179e60affe55a2b3dbbde616d24800490001240024800092081792280eb03e7092c9a65dea7447c435d749763c823124bb5fae2cd05ba79e3e2f713e29fbbfdd069eb91a3470f1eadb3cfadd959763f654d169591bd869aa519ac8e049000124002480009200124305f0470fe6abec8a25d20e0bb7bfd744d0364f4e64ab35e2553c8e70b8b0be22036a29bbb0606e0fdb5521fbc126ae1fc08e187f58a1046ce5d1fd112124002480009200124800490c0dc12c0f86a6e79cea93553d5c1d7b7ad4f5bc1191dee6b7c73db1eee25c0553fff68bb294721867b6dd7f953fff2fabe13a05358f5ab5f54261ddd7fc2f8777f5bc2d6baf3f5890e8d3927eeeaffdab6fb4cc835d39e5fbdb525b3f5e3fffbcd43cd53b6f3c7e776cfe4ad5c2211b8c824f77d78dd2e2170a62b79f9074fb8daeb4f35d28c445754b9318ff45ea86e8babdcb86ef4c6a5ebe2d5f91989a0e81decaaaf3ecd2a318abc892a323fb5366db95cba44248228c817522aaad8b68ed24a4114f0765f3e77ca3abce9e5f2954b9c5f7e72d21ed2a1ca36971bd5bde7ff52d3d213a36f0b69f17e1a375516a5ab645016f0b96fb437d634dab97e392f7c39a82dc8a5d4e0bfdb61ff8f6375199b5f36ca9cbddea48c14b9ababd5767f55b15eed77d17ffaa406c2379e7619207c1c343a4a1abf348e89f51256e8611e502e216ea7bd07ac0825aa684ba93145c9f809c9e7eafaf327a7b997fdf2b4cb0cc5e68d79f24b56dbcaa28274b696a7d7e690674e971b9f9dd6432717d5dbc03864784402480009200124800490c0f4092c9c9fe6a7effba35ee3ad7fd801c1555fc7f9dadafac6f6eb5e12c7cdfebcbafff86be5398ae1eb5fd437f68d2a9edcfa8ffb2bb300c6ffcfdefb403575a50bdfdb8410439a18131413408f84181b146190916249cbca14e9585bbd5367bcadfd3aadc3fdfa4ebf7e5daeefbe7adf2eef577baf9df7b36fd772cd9adbbbbaa69de9f576ec6559e756c73a03f666319329be584428422a8d682c10a0864849431a42e2f79c7392903fe7840490a27df6ea3a679fbd9ffd3ccffeed137b1ef63efb48ef91c9b2563d7bf0c58abcacebdd3d6e7810bf875c199994add8f0b7fb8d615ac6271ede2813fbba8fb6a5a3e79e70f3f4cec1d0823d43e5da6c889886aed94866a6542496648a428a322552b1482697914c89442cced6959515644f8eb9463d01b122bfd26448628fdabca3b64ca794657a5cc337463d11c9d2da27cb0a72c4fe51fbd53ef72d71aee1feda62f788272896a93718a9b018b5614dae583839dceee0925785c512cfba1d7b8c105c799c7db6ab037e91942a316d2bd740bf242231b5c954422927c7c07d22cdd6d5d616676688254aaa402df10782b2fc123ab80a048532f55a0de1b6cbc3c1687aa4f6d15a9d020237215879b4d604e9c1625da27f9192ea8a1208aedcce019bed6adff0e82411643275dc7609f4402c1629ca4c95f9f2ccd161a70f4ac46406dcb8f4b09623ae61060920012480049000124002772d018caf16ecd01aa965b03dc4cdce93bf7cf9e597f6fe6cd70f77bc6001670b9fff49d50a32deb3bf66d7be97f6eef87fcffa88b0ac765b54379cc7f73fb8eb678760a6429c217ae3ad8f20d0d29b9e2863240aeb766e901167cbc9a369ea89d29f6a1696b289b20dcf3cfdf49ebf33668b0283973ea6b76598886d1eb90c675cb673efbc77bcfe8f3d301925554154c69354e555eb7308f15e6a78ebbd13a73ef8e82ac403f4ddacaa28a664c4ef6c78a7bee1ec99631fc10b5482dc356b5b5aaf8040b67603ccfcd052e5ebd562e2e9b3b6f3c833521c074dc5ba1c11f1392fbd7be28cf9ece9772c5761b55eeeba72cd04a197ee11326cb5bcf35efdbb1ff540b954b5829eb223c4d971b6f34bb04fbc7de7feb3e306ecdb9929e5f633c2278e43f7c74de72ce7ec63a035387009b2e7ce9f3fdfda13998da3adc4264a2105dbde21eb39b3f9ec990fea8f1e3b6d0789e9fbeb01a4f51f34c16d23140867c12d464fac6f78850490001240024800092081bb9600ae0f5cb0436bf9aff3d78baa57d5ec7fd7f482f372dbf9f77f7da8f10a21eb72b3c0e52cfd3f99cdf0ec1e2059108405164fbdd774e1b7078fd071d895ff78f3cda5435da4adcddcfbc876ed869f3e5dd87694fcdda31b21666b78e32859f78bf4f4cc8c5360c23b29a057d2791da79a930403b476888e8263b6e3e64efa82d979908d58e8cb84a45ab902faecb6b737db993ab1900eae20e5c8e9b91251f6437bf680c620114190b1282393389a7a5d6b0d4a7559a9cad14ecad7e6824fb696769253c32dcf284b3cac562bc0cdc1cf2f87aaac9fdfdc5c909d210267c001df60c70716666da1bdff66409f9da510fbc009d785167beee3265833683dd329debc06da06e43c7e9200278711876dc44164867268fbd5b54e2b44cfd3247b6fdf684e814267dca9bdcf7363a0bfabb5c9068b09f9f884b50db49919a4239f9e3f2ff97a98381c33e316af27ac1fcf4800092001248004900012b8bb09607cb570c7b7fea55db6ed7b7ffab8b154bba2a86a6b515565f9c11fd62f9341e831dedfdd76cd2d0a2db2cbf07ed115eec678ffc53636df78f4289b397ce2fcc3fbab4b1f79aaf01aa9cc86a9af8fdeb8420aabd3d6133691ea19e204ffcd9efa13b6c79ed9a996e4ef3219eacd09ef3565d27151248e0a4cc0acd554822abe24a3dd273ef7584820938ea3607247251543c63f363ce09a10428e4e02ffe8309c2c5d7d7a6381fade12d54db2520a535c575a4688aa80579e691b7f10d2fedef27b23af3d89048ba08016830ab77328d440a582d9a380eb868f2c81fe3193730212f0c2d4151dce81b084cf2e3d65370d075605a327c9a1f36cbdd3b0b96c1da556ca72287d0eb532cf7cb4939f0fa3caffd5402874b3b58736d39f11370e3d495cc52a2480049000124002480009dc350430be5ad043d976f208fc472f0a7cedd0eeaa55958fd41dfab7abe3cf6ecc5aecdab76f1f97eb4232359515ae3ff9db4f9e3656e53df0af07328464bce93f4021b972317d3d617da99f05f42b3f23a7cedbea8c3a85aebce2332bec72c044536c1c456dabd241101489afe84d2a524db4a8582a67c435b59b0be01ae2ab910197bf2c5724f4363434c46bb2b6f5955294bce0d1ea4502e2b77dda0c02c9e4c3edc36f91d1d7835fba0dd94acd9a526263c20fd5720918f607c2716168996369851626ed3cdeafd989b8902688c4c20b2483232e3fe1f2536304193e0ea149baf05aca905afe93c3da0cffd18b026b1f2aa1142bd79637b5f1f3a1f50842f15fb4ce9970e3d2c3eaa40ca5727f7ba72dda02e6910012400248000920012470d710c0f86aa10ea571bff9f0b61b9f9e3b7fa97b70842c57d2d3351ed70dd2f65653ef235bb55567eb8fbc7ff23c51176e3256aff49cadd97d98bf27577efdc7f6aa6737ca64c4d7fff1a14646b0ed48fa7af82d24afb19a3bb49ab25c69f183352d7ffe066495baca1ae11ad8f741c1ac03e4683ddd148d7d70246050ca0aca1eab592156534a3aca21f4eee58ee6abaeb57a25f5ccaead5dd63e2253e58115bfed9de31608a65a3f1fa4ca72c5621218eb6d629ff093c987fc12c9724dd52621196b6b6ab5596cdf376c92e56fdc6112f7ba846b8b8b208e1abdda6327d9605c925b5a6dd4672dcfcbcf96c2ec55dbe9d6a58f9730335b095df4f2f8f971ac642c07e7889728e5abefaf755f76c834da15c2c1e36778f6e5a38c7b6ad77a06bfe81b1e768f13a9849ecbf38f7b88a3959f4face9a9ab19729b5210c9a9ca9fac2d9311a295f94f34db23c5984102480009200124800490c05d4300e3ab853a94969e6bce878b3654adda50c5ba38de7fe1ed97e97dd80fed7e45557fa06255c5b32f563055be9eb3d7c3dd80291c8e74e5adf73fddb971832cf0c9efdf8d54cf404fa46d2a19883748f883bfada75b563d63ca96173c96fb87cb83abd6abe5057a39097a6c971c79eb75023fed36c807990cad7c22001bba67849bd32571c966bea05db68952a80b0ae04d2abb757099a1800d469a8e9bb37655e72bf2cb2af3994601a76d946d3dd27a69705dae5a1cecebea88e84b220f5362e08648acd4e995f01ad5b5a6d611d27ecc2c7bf241438eae04b6d780346aefa86fb2128d918eaf94f92008c9ef19be68fe0056436e866e31935b01d0c42c23a4ab99193b1ebbb2241cace656ed8a077395d4a64a0a2c8137f90000400049444154b478070769659cc9ee74796ee5a80110c5d6fbc7065a99f5993c7659297ad01253fadcb8f580663a0e866368e9267381072480049000124002480009dc450416ddba35f5d0977abf22add84cf431c87c02154a22094aa2f3ec251c135300f6ae86c5584c8a64262727d93c64d8aae8235bd5ddddfdeaabafa6eeff1d235958b6459b2f9110afababd102bb5b4ca542e396751a89f7a6abb1116666669ee64a4f5a1e68281d7cbec965a3375c984d52513a258f1ea8ca918bfcde719bcd9e8a8934e5553a03ec2348c647ad7607a35e63dcf3a8c1633b57dfe1d4887d8e64dfa58a71274dbb745ba0a7c8124d998ed1177ba1d2e8940a784fcf3f3e6cb3c7c09e81dd58d5a1ab74f5a874a53a45c0d6da19e30da76a2c44024800092001248004ee6a02fdfdfd72b91c3e62ba68d1a24f3ef9048e6c824e43068e1041545454c0d3bed7eb7dfdf5d78b8a8a84f02a3c7c5f3521656464b0556c265a8c95876362022b6c61c8307319c9b33e8040c41fb6843d460a21139770fe2a0ec802bbbcd2d678a58dd3a72b167a37c1d9a7b9d29396270efbdcbc7e3362e78dd0925471ba9aa6fc88cd1a1f20c08f2fe81f23230e36e0e2b4925898a65d5a01d04bd504bbed60a255582bc98f8e4b9cb72c5d3d23b6f67870bcbab1020920012480049000124002771e0176b5ce9de7377a8c04161a017a5ddf42f309fd41024800092001248004900012985f02387f35bfbcd1dadd4ac061f9cd9bb35aa879b782c17e2101248004900012400248e03b4500e7afbe53c38d9d45024800092001248004900012400248e03612c0f8ea36c245d5480009200124800490001240024800097ca708607cf59d1a6eec2c12400248000920012480049000124002b79100be7f751be12e08d5c6a70f980a88df4f4422cf67e623f5f3ff8e90c6509a2b1793f1b11b9d56fb5c33d1d5ec28958cd94e99db439aa9d26a2d7cab2a480482891bbdcd9d736e71163da0ca1ffbfe6aefb5f6b3ad73b37de22c5c49b9e942e699722750100920012480049000124002f34600e3ab79433d9786b6d41d30adf67ff8d2e169a325e37d0f6dadd1b2b6037aff3cc75706e363f719d4f09d2836951b2efde64473f86a2ece541e95a314e4e875e6763664a156eaf43ae613bfb09bdfb2e0828aafa895abd54a25c9c823338daf74e5d5daa581cb672df6d9c14b5dcf42e6393b06d81a0920012480049000124002b78500c657b705ebed565af2c00faab41963c6c396e9022ccbe1dd4ffd9e10ed2b6f1fac094cfa6fb763d1fa55c55bef37a8052430d8d361edf7a9d7accdcb08440bcc41de7eedb2fd9ec5a3bd91f920bbe5f8fbdd84284d7f63d2c1a7aae7c0c4dca9b077775d5da2fde67acf8c55aa571752ca453eca62b7cf5807dd30753d0b99e7ac1060632480049000124002480009dc1e02185fdd1eaeb759ebc424440e8114a3a52bf01de225e3d040789bbd8a55afa9d8900faff739ad1f9d62a65b6cb6ce588139b9b25b1aec718a46e0fbb5623f7c8a0aac2fac34623d7bda3a1b9702b0ee11067e362a98b669e959b83c67cd0115200124800490001240024860ce09607c35e748e74ea1b1eecd17766cc85bca6a1c1f6ad9b7636f5b6199718954b1988e9554abb79411922d21cedede870f1ca95efe55fd3fee7eab2de480f1f95f1dd8a9ed78e71ff71d0d1725b856f78bb7771a8b64a02ce0be70fa5f5f387c9216e1b49bd0769a02cdea1552427c83e738d6b219b6ee2acf57484043d0eff9a2bba5a1c556beed0983c435e85b56a096bafb3aacdfacdca45306dcf6ff6c1addf2f0bdae8b1f8fe694aea794e0a9c769fbe309f388a6e2892d456232092f5af9bffcecbd332dd3f8c35497d7ec5847e58821f00afa062e9f3f6de18f76403fa75d4234e5dbb6144bbb2cd6e5e5a5f972ba17dec18ea3a7c0018e7e41ada662db96a26cfadbc3c16050405c9ffde5748b9d7187f0f9a332181f2ad72b244c441cf4bbec178fb70d53e2ccc51974cc98b554a721442a221e97cd01c1245f82d7bd2a0d6ac64310f1bbfbfe74ec8c43a5e1d2e3d257ffb040eaebfce878ab23a48eaad856bd5e3978e1a386f6705182216eff39ed26b4c5022480049000124002480009dc950430be5ab8c37ae0e74f6ec8130ff55ce8bcee96e716e8551910b0ec3ff8cbed5ae6b19b90aae70e5631eef79f39f8f695afb6eab53beb9e7fabed0da6ac6ce7d68d32f150377f70f5f46b1f3c5bb582b8affff5c2a0aeb262e3f6bf7fed7ad7befa2b9c76d3c5a459992d82f0caed4c7836d7edd863cc81d8c0d9e71813ac2cc8a54a4cdb021e578658a2a40a20e00a0465f9259b20e20b048532f5da25e3129198da6402077c63a3df4815d26c5d6ded8d63ad3e8fd70bd33952a53c539a998a7ba5b54f965132e21bb50fb855abf2730df7d78e0e3774f204289999dc761b3a3333c56291a2cc54093e8e0e3b2539d999627080bb5fa7215ef1f9bc5e2fb3e5865821974a32010c9df8fc5115d7fea892827595ae41fba84fa858a6912a644653b941199a90031a14a361ac87bcd714591ac914451daa2b4ad472a1db393074d3b758aeccce12809746d3235c7accad233e7db6725d79452b1d2842d2acd7e78a85ee61fee08acf7f4ebb517e611609200124800490001240027733018caf16ece81aa96562426e769efce5cb2761855f28398efcf3f5fca5df7bf2b9aabc8c0bc7ffc53c489688c5435d8d8d6de46fab0fea376cdd5bf6c61198afdaf5938d4bc9cd4fff7834dc30fe5cf8fc4f20b81aefd95ff3530bd4195ff9f3e19ab2da6da4be8dd36e7cf3e9ae33857414e11e1c8813d454ac83e0cae7bcf42ebbd185a1a6ce5890bbae7ccc4d0b3a3bce5ecf79a04c2df1f69dfbf04bedceb26c0809e82571840c5b2d1fc07413555d57ab97aa569091b3a7ea61cf40d58eba9dcb1881690eaa8a6208aefcce86774ed8419432d5d5ea72d7ac259dcddc0d2778ec92c82a47cfa586779bedaac79fdb992d10f2f54bd37acad17e96f614926af39e9deb43e678fdb95c594a0757f6736f35444c4153cde0a842a229d944c9170d5c6ae97513b150f8f5306f70053d5448210ef70e59cf99ad5331a4fbe3264e3d3607d95060ca56eb376b5a9a1d841417e74a605eeef3f0b68c21afa74ebcfe0f70da9d6a88392480049000124002480009dcd50430be5ab0c36bf9aff3d78baa57d5ec7fd7f482f372dbf9f77f7da8f10ab9d2d678a58da8b7d7c1e449bfa5fe248452a1d4f8dbb37f7b78bbfee1ffb6f7c8cf8e1c78e4fb848cffe5bdb7c2b509e775b9595096a5ff27b3195ecc0a902c08e6028b61868cdb6e42fb690be8b784244a887decd1a2abd50a8898063fbf1c2ab47e7e737341768648086f4b055d175aecb98fc35495c77aa653bc790dc8801698b5f10d76d0c115247bffcd803e3b4ba12384892de8b58db742ba929e72e410aa1151f6437bf6d0a60858248b32e832bec467d7cf3418683337db2137f2e9f9f392af8757afdbc2d92f003a95c442d0194abcfeaca417f4791cad51c115341971d8461c44662887fc57d73aad10024d93ecbd7da339050a9d71a7f63ecf8d81feaed626db48123db60bb60db586ec359b36377fd05cbd361f56145efbb495d708afffdc7679f560051240024800092001248004ee2e02185f2ddcf1ac7f69976dfbde9f3e6e2cd5ae28aada5a5455597ef087871aa31c8e79782796c3ffd15373505ff4d0f3db273669c581feb349b66f2f5c2683806abcbfbbed9a5b2462756678bfe882dcf476a35ce0cbda0746fceb732432799c80900e316ef9bd9119159160111b21417970829686c91bef0d4222a10f54b89d43213d2a15ccca045c37924cdcc459642f5552310454feb1e101d78410727412f84787d91ce791cf2e454bfbbf1a088538b6767a8ec7b881af5fb47462e2f54705c332ddd61c1134897aa34a3acfd63b0d9bcbd6516aa52c87d2e7502bf3cc47639613c6eab15b3e75ea4cd939851586409e52181cbb6ab147a98bcdf2fa4fc8f4766355e1151240024800092001248004ee2602185f2de8d16c3b7904fe23a4f0f9d70eedae5a55f9481d69a4a7a432d971f3c4391f9ac2dabd7f374cfcb47cf86e5c756092895f98d22b17af8e3fbb316bb16bdfbe7d716270c967375192b7c43eea0910855c5b5b6c8e5ee736f8a5db90add4ac29253666e9996ab90402137f20660e0a222e42a67c8dba2aadd0d2b33bdeaf63ecf2ecc31ebd3ffbc880cb5f962b127a1b1a1a62da4e7311f222c1ae602afe6334f0f58b9dec4a34c2ef0fe50b1099647931459aecf1ed42f35fb168e285a2ae1dd666f80f561756d43e54422956ae2d27367a4a8a474f680aabc45802b16edf671d519ae86cea3cf9ecd25a2843a9dcdfde996e804c37c5840490001240024800092081854f00e3ab853a46c6fde6c3db6e7c7aeefca5eec111b25c494f6b785c30af43a79e5e17d1e63db0f7b5a10f2faef8de0fd68bda77ef7d03ca435358b0f2cfddf5bba3536f6d318d4896a6ec9503af8848ff6f0fbd75a5ed4853ef235bb55567eb8fbc7ff23c51176e3256aff49cadf935496297d593dab1d37269f5a3256aaaf2e9daacf6cb43de15dab56ad1d0070db6ef1b36c9f237ee30897b5dc2b5c545102f8d5eed995065f3cddac0fb5792dcd26aa33e6b795e7eb61466afda4ed341422409a56a53b5894cb8cccd4ccc16ae10c972a15c48c6da9a5a471ccd575d6bf54aea995d5bbbac7d44a6caa30a147edb3bc72d61f1f8f3b476a31bd82cdcfdb2470b45e7f9fdf9f48acba457ea6b9fb9c7f6f98d6f84aae51ad9a4bdfe34bded8473c44b94f2d5f7d7ba2f3b641aed0ae1e071be8d1329e39edab59ec12ffa8687dde344ca6c45e81f0f45e47c7a425358309fe91b6e6f8fcc3186fc4e89e72724895da22a7fb2b64c06df6393f94f34dba379601e09200124800490001240027707018caf16ea385a7aae391f2eda50b56a03bb4720ace5bbf0f6cbccfee9849c7cf96d53f1ffd8a8ad7aee45baf6e6a791b8a2f1e4f99fedafceeb357f30f56616ddc5091fbc6c25d3d66cd59240ef5f20be22e4d0ee5754f5072a56553cfb620543c1d773f63ab17c93c42e2396eac1d172ea9c6447392c4c2ba9a4984601d75710031e33cb9e7cd090a32bc9610a47ed1df54dd6cd8fdfc77ed02b10988c7aa18adedb828e7394f97a252dedf70c5f347f10bdab7a80aeced6e9b349c0d9dbdc6ea7a520811622122b75d02ce8ba06f115214dc7cd59bbaaf315f96595f072112de3b48d3219ee4352bbb463b1a99db35fb132a13d33d8423e7f6c4dc7ef113cbe51979dab5b9fcb88fa86432b1aade656ed8a077395d42686a87770304effd4a5dde9f2dcca51530a35c516fac7065acd2172fc7a6cd6be726381dcd51bf78657ca3ced9349ec8227305b491f431d622ef0800490001240024800092081bb88c0a25bb7625666a5d8b5482b36137d846ffc80122889242889ceb397704c4c01d8931b1621312992999c9c64f39061aba28f6c557777f7abafbe9aa2f377925861d9166dbe0476727375355ae2e7a3ca8c5bf2951257df49cb542cb5e5777f3ea8cdb87ef8fe5da1506cbade161ab7acd348bc375d8d8d51333949ed4ea732ae5e535c9a9b2516fac686daadf6709d4a67807d04c9f8a8d51e7a8f295c1377d618f73c6af0d8ced5773835629f23d9f79ee25a725faa285d8e5ce4f78edb6c766e09b674867693f54bb3f9f147d767bbace6e396a9d571fcfea8743a251111ffa8cb1edb6b0da5536489a647071d5169744a05bc5fe71f1fb6d921c68c495c7a743fae3329178d5a7e5d1f1dc4c6348bbde0f69fdfae4a57aa53046cad7cfbe2c76ac72b248004900012400248e0ee25d0dfdf2f97cb0502c1a2458b3ef9e41338b2097a0c19384204515151014ffbf0a99bd75f7fbda8a84808aff20b04708c4b1919195002556c86cdb332ac3c1c131358610b438699cb489ef5010422feb025ec31520899b884f357714016d825bb5d208f536d16d8959d4d854feffdd13d13f049a587b562d273f29d14832b687cc502bb1226a4a47613a49317383a39bea134628bda343c797bb8a983fe31d8f92e7920965c49a476c40ebbe8a594666437b15f1a636db1d03de215aae84936e21bba32155c811ffcfe8cd8783c75d86137f5d412bbed208f6c941e55e9e6227180a861be4f489cd6b614832b5efff9ed8ed812d61df2b887c54800092001248004900012b81309607c75278e5aa2cfda877fbc7d15537cbde5773f3d1cbdc960a2f01d5602f3a189abf1e6a10f73643773c54a4a29a0188703c3d6f3965463a379e862c48452bfdea060ae46fb3a4e444daf45243083049000124002480009200124900a018caf52a1b4f0651affd77e92af245cab0817bef3493d74587ef366d4c2c5a4b27359396776ede60f1b94d22c58a337cc372135977ecf4c97cdd2401459846b15e1cc14622b24800490001240024800097c4709607c75970c7cd45ac1bba447774d37461c096f3e2dbcbe45ad155c78cea1474800092001248004900012b87308d02f6c614202480009200124800490001240024800092081d913c0f86af60c51031240024800092001248004900012400248802680eb03eff6fbc0f8f4015301f1fb8948e4f9cc7ca47efedf65d2184a73e562323e76a3736a7ff6b9c2aeabd9512a19b39d3287bf004695566be19b574122104cdce86deeb4cfce92ca505a20cf80cf69f94687076cb1fba4a7a4798efd4966b378738d3657210afa7dde315b8b99d9a0f176f3e1f327c12e9fe0dc9773de6f7ce3c8573ef76ea146248004900012400248e03b4200e3ab3b72a0b7d41d30adf67ff8d2e169a325e37d0f6dadd1b29d0ce8fdf31c5f198c8fdd6750c377aed8546eb8f49b13cde1abb9385379548e5290a3d799dbd95dcfa9953a3d7c368a49c165c159c5573a237c075936f5255c1779f3386b45575ead5d1ab87cd6629fae1373e94f525bc6c79f31648b4184092d977dddcdc457b7954f127f12ec269185aad47926d7c37dbff18d235f79721b588b0490001240024800092081a40430be4a8a67a156963cf0832a6dc698f1b065ba00cb7278f753bf2744fbcadb076b0293fef9ec90aa78ebfd06b58004067b3aacfd3ef59ab57919813976c07eedb2fd9ec5a3bd914f4ad92dc7dfef264469fa1b930e3e553d0b739aad9574703536d0d371b93f4391b76a85c01356a75e5d482917f9288bdd1e2ee239cf9d3f3c06d862cd665db638e819687af734a050693484dd05fe36f249ea4f82dda4d224759e49f4f0dc6f7ce3c8579ec402562101248004900012400248607a02185f4dcf68014a4c4c42e41048315aba02df0f5e320e0da66662e6a34b9a8a0df9f07a9fd3fad129669ac766ebbc0d66ed96067b9cda11f87eb0d80f5faf02ebb3489919d03ee83a77bac94e6b89f13e009344300074f9f4698efc49664895ab844942e7d53636ce8cfa14f3ede393cc1f4238ec266990164f1e3d7cf71bc5338ec9c697c704162301248004900012400248607a02185f4dcfe85b9330d6bdf9c28e0d794b5907c6875af6edd8db5658665c22552ca66325d5ea2d6584644b88b3b7f7e10347aa977f55ff8fbbdf6a0bf96b7cfe5707766a3bdef9c77d47c345d13d297bfefdd71e1bfacf432fbcc14c8195d5d5ffcf5da4e3df77ed3b4a38ed46b74d25af59bd424a886ff01cc71a3ac3d65de5f90a09a809fa3d5f74b734b4d8cab73d6190b8067dcb0ad452775f87f59b959b74ca80dbfe9f4da35b1ebed775f1e3d19cd2f59412baed71dafe78c23ca2a978624b91984cc28b56fe2f3f7bef4c4b2a4e95d7ec5847e588e9c0c93770f9fc698b35492b11fc3804e2151a628ffe22b04a43893317d3cfec246ba94e438854443c2e97befa8705525fe747c75bc3c254c5b6eaf5cac10b1f35b4878ba28d81ff0fdfebee6e3add62a78b35e5bbb61493c18bf50ded842a7facd2a096d37c20f9dd7d7f3a76864b055b4f341a4dce52604d3265b91a4da6544a5c36fb5cf249cb1fbe71a13bb86ef28baeebc2552505d9308ebed1bea6fa33766e9eec9b6e1cf749a8cf8927fefb8d7b1c09e12b4fd48d254800092001248004900012489d00c657a9b39a6fc9033f7f72439e78a8e742e775b73cb740afca8087e8fd077fb95d1b9a88aa7aee6015e354ff99836f5ff96aab5ebbb3eef9b7dade60caca766edd28130f757306572021bd675996cc774fe8219e4895cb645942cd0aa8e1b4cbe84ce3a059990d332a3eb7332130d0edd863cc8198c4d9e71813ac2cc8a54a4cdb021e578658a2a40a20e00a0465f9259b6076281014cad46b978c4b44626a93096cfbc646bf912aa4d9badada1bc75a7d1eaf17a691a44a79a6343315cf4a6b9f2ca364f05c6f1f70ab56e5e71aeeaf1d1d6ee884d92ece641f74fab273a4258fee51db3a3f30b7b24246d32306251d5c4102af282633d6636e1df1e9b395ebca2b5a4fb1919e66bd3e572c740f730657d02a33532a124f66022426654aa46291402e838bea8a12b55ce8760e0cddf42d962bb3b304c9baa7313ef2a88175484e953d4ad1da46f3ccf59d73c6273d7f7c3c76332512b158ac2bcba6c7d1e5162e5128f22b4d8695aafbb97892f79a08e77d723a12bfd21d9d4afcf71bf738c20c1be7f84e69c41c1240024800092001248004664400e3ab19619b8f46466a196c5770b3f3e42f5f3e092bfc42c971e49fafe72ffdde93cf55e5655c38fe2fe641b2442c1eea6a6c6c237f5b7d50bf61ebdeb2378ec07cd5ae9f6c5c4a6e7efac7a3e186f1e7c8bb446cc5d425b7ddf8e6d35d670ae9c8c13d381027a8a95807c195cf79e95d76a30b434d9db120775df9989b1674769cbd9ef340995ae2ed3bf7e197da9d65d9105ad04bf10819b65a3e80e926aabaae562f55ad2023674fd5c39e81aa1d753b973102d31c5415c5105cf99d0def9cb0832865aaabd5e5ae594b3a9bf91a367ff007e163b506b52c4757f61ca5eb69fd7353a7a3fbe3a651854453b289922f1ab8d4d2eb2662a1f0eb619bcd41361498b2d5facd9a966688298b8b7325c43bf879785bc3042313b125539794420af1b377c87a8edd0130562ee1cad1dd64712e5f5db23e5fee1eb8d4deeb168bc9cd2f6c6484cc119f81f4fc1969e7b61beea0cb76eeb8b993a88c7b761aa4aa6c3e9e9a8a1d9cf789a6f514d04d4c7cf71b48728e6392f244e558820490001240024800092081d40984fe129f7a03949c2f0296ff3a7f9d90a535fbdffdd87cfaedd70e6c29a42d5f696bac3f593fe881777f7cfd16c8d61f3d7a14822b421a7f7bb607e41ffe6f7be1e2c023df2764fc2fefbd45b7492f71db4d4f072d4dbf9d2451c6c73eabd50a8898063fbf1c5268fdfc2608668884f0b654d075a1c59e492fdbf258cf748a33e9693aa8847bd437d841075790ecfd202fc852e842ede9edfd6e85f2494f39727a164894fdd09e3d75757bf63ca48386c20cba8c3f8d584e1d7bd3dc36e886ddede5facaad35c5aa1187add3dae99e80a02ff0d535c876b6b7b74370052f685db039a1c76b366d868beab5f9b0b2efdaa7a1592f7e138935f6debe51d0a333eefcbb3d4feda8add6a91265a24b466c56ebb5513a7cf1b906ac56f0a7d33e3527377b3ee9fac3fac66117c6313866a3832b48f44e8774e4ccc793ef3e81295c9ec47dbf31c21ce398b49cc702162301248004900012400248200502185fa500e95b12a97f69d7ff75f8f885de2192955d54b5f5e0bb7f3cb025d695d8874dcbe1ffe81927b2a2879edffefc26ad38d0fff1f4dbb747f44921c2096dd830bddd482bfe8c7d6004b6df90c8e471224221dc72b7fcde480420122c6245e8c76f669203761cf4de800574e19650e1710e85ae542a98dd097c7583ddc8212c32fd5925154307fd63c37d03430ec7d090a3afaf6fc0de373c7d4b5beba963bf69eb1b83706cd5daa218f9888b4ca9ddf2a9d34fc4398515868a3ca5303866b7d863c4935d64d25cd899baceb3f57fb05c1a70b989489a43e94d3b9fae0e47937c1a584704cc9c219f4cf2f2247c66e00f9fadc004dc145309ba1c93a278f2df27312d22177cf75b4480f08d235ff9544bcc2101248004900012400248200d02f14f38693445d1db4fa0ede4911776efb8ffbea77ef7577a2eabf2913ad66626bbae736a511f5b1c9ac2dabd7f773609b47ef86e9c8381c9f0222da682fe833ff13259e3affe7b2d33a3c05c11c26737549dcac93e0a736c02b9b6b638467af04b580828d4ac290d95aa964be8c022103307c5445c31be92d055698516de18fbc6fb758c529e7dd8a3f7671f1970c1a3bd48e86d6838134ea7cf3627dbdf22da44eb99abbea86b3a188214eb62640aabc4582225c181cf3aa25ad0d9687fe84bba8c8d37a86d55f47c5a2439accda78f1ffbf59bef77d8e9b9ac956bcb235533c9cc9acf0cfd49b02be0f9f7269127df7d12139f45b3e0b9dfa245201f378e915a8e72ca505a3c5d5c1b698f1924800490001240024800098409e0fb5761120bed6cdc6f3ebcedc6a7e7ce5fea1e1c21cb9574f8e371c1bc0e9d7a7a5d449bf7c0ded7863ebcb8e27b3f582f6adfbdf70d28a7a7b06a0eeab3e0cda7aedf1d9d7a6b8b6944b23465af1c784544fa7f7be82db64e5bf3c22f44b505c6ea5532568490a476c342a99c3b2d97563f5aa2a62a9faecd6abf3ce45da15dab160d7dd060fbbe61932c7fe30e93b8d7255c5b5c04f1d2e8d59e09156c7cc0fdf40d718824b7b4daa8cf5a9e979f2d250157dbe9d6680f8452b5a9da44265ce6e698d79d44b25c28874f58b535b58e389aafbad6ea95d433bbb67659fb884c95471528fcb6778e5ba2554de5359b9f7888faea0b98e2fad24bee59537c2f0c80c7c3bc2506ef898d788952befafe5af765874ca35d211c3cce6c60484f61e94cccce1ec3eded9139ba90d6187f9832a5aeb246b806f6f55044a25bcab8a776ad67f08bbee161f738914ae8b0cb3f1e1f494ff999426e567c3e2133f687cf2eed72d454155c71f1e4be4fec7463cec473bf7566728f63d2f125aaf2276bcbe037a195f94f34db39ed612112400248000920012480043809607cc5896501145a7aae391f2eda50b56a4315ebcd78ff85b75f3ec9e64fbefcb6a9f87f6cd4563df7225d7bf3d3485cd178f2fccff657e7f59a3f688be9c4044cbf64c9b4355bb524d0fb1788afda0e7ff8e9fd3fde9057bd358f049c678f5f2cff714dc63713c4722d89dd1895d35d385a4e9d93ec28d7e750259514231c707d0531e031b3ecc9070d39ba921ca670d4de51df64ddfcf87dec07bd0281c9a817aae8391e3abe52e6eb95b4b4df337cd1fc41f4ac5380aeced6e961c6ced9dbdc6ea7a520811622122b75d02ce8ba06f115214dc7cd59bbaaf315f96595f9ac8cd306b3433cc917104a64f9faf5f9fa9080d775d57c26c4d96a6ed5ae783057496d627ae61d1c0c6bb159fbca8d057257afd5112e62ce09fe382c970757ad57cb0bf47212f4d82e39f2d6eb04fe00b1df74796ee5a829859a6215f8c7065acdd13d8ed11bbea02723fd5c5f449b2d1ffbe48cfc210976e902d81d32e4f0040d24233cc1c5c5b39df33e09f797e3cc7dbff926b8c75155c15d1e56ccc6fa82e859c570159e91001240024800092001249084c0a25bb762566625118dae8ab46233d1c720f3e9552889242889ceb397704c4c01d8931b1651312992999c9c64f39061aba28f6c557777f7abafbe1aede15d922f2cdba2cd97c04e74aeae464bfc7c5499714bbe52e2ea3b69998aa5b6fceecf07b519d70fdfbf2b148a2505011ae0f359bd8d8df1aa93da4daa32b152535c9a9b2516fac686daadf670b54a6780fde1c8f8a835e6eb52e1eaa9b3c6b8e75183c776aebec3a911fb1c0e0894669554942e472ef27bc76d36fb748ac0c95c853c0b36da700fd8a2778d601b6a289d224b14db05dd8feb4cca45a3965fd74f1b128112d0009fcf72d96cf1bd5269744a8548043357c3f02dabe9fc9ccb7a6e3ef3e20f17cf94ef93290689f71bdf38f295d3ba54ba529d22606be5ddbf7fca20e6900012400248000920811911e8efef97cbe5028160d1a2459f7cf2091cd904ca20034788202a2a2ae069dfebf5befefaeb4545454278455b2080635ccac8c88012a862336c9e9561e5e19898c00a5b1832cc5c46f2ac0f2010f1872d618f9142c8c4259cbf8a03b2c02e61bbc02b53c1539c736d1666e340bab4f0e9bd3fba678294d63eac15939e93efa4125c4133d010a7337499d42e7713de524727c737a060d7bb54c306b8a983fe31d8692e764688d75ef28a117b4230c3db601a271d7666e340bab9aa7473913840d4305f26244e6b5b2ac11534030ddcc6615bbd9139e92eb7fa24a5dc7ce6c59f289e1107a71982885c5426f17ee353c2574e2b1bb125acef8cb281592480049000124002480009f011c0f88a8fcc9d55ae7df8c7db57312e5f6ff9dd4f0ff3444d77569fc2ded2ebcac2f9857a56ead71b148c73a37d1d272c3c51d342f51efd42024800092001248004900012982b02185fcd15c96f574fe3ffda4ff295846b15e1b7ebd8acad3b2cbf79d3326b2db75b81cdd240145964de57f3ddee7ea17e24800490001240024800092081f408607c951eaf052b1db55670c1fa78373bc6b5b6ed6eee2ff60d092001248004900012400248809300bb4b1667151622012480049000124002480009200124800490401a0430be4a03168a2201248004900012400248000920012480049210c0f58149e0dc5955c6bdaf98263efbc31bf5bcfb0da6d41fe3d3074c05c4ef272291e733f391fa85f6ee93a6a2fa5ee168d497ae52ead51c0a519b4ddac08dcf5a3a67b7bf1f555aad856f730589403071a3b7b9d33e872e2e2455dfd678c5d9d5d5ec28958cd94e99235f8a5b4890ee025fbe2bf773dc50e17d1507042f910012400248802680f1d5acee832d75074cabfd1fbe74789ea3100ebb46e38f6a6a88decf195f71c8f3f4db78df435b6bb46c6540ef9f457c45ed78a636471c32130cf8c6beb47f74aa29d54dd979dc2394be58af23a3c1a92f09f349dea6726a75914e47960539e32b5d79b57669e0f2598b7d3aebd44a9d5ec77c321976475c16bc4df155eafe24f777e67abeadf18ab34be551394a418e5e676eff2eefed38f3714c7e7f10323ff7f3745ecc7b3dde57f38e1c0d2201248004ee0802b83e7056c354f2c00faaaab7198db3523283c61c763d7e1f21be493fa7360e794e39422c87773ff5d47d4f1d3c9b441b4fd38462fae60a38fbfa065d6e22142bd4fa1f6e2d4f104ab7201000a541387c4b69229903ead58554c1dad5d4f4bed92dc7df7fffcdf7cdb6dbda9dd4fd49eef12cf424c395dce8ec6a63eddaaf5db60f5cede8fc2e0757c07316e338cd68cccffd3c8d13f35f8df7d5fc33478b48000920813b8100ce5fcd6a942626e9c763ee9866568aa769cc6757186e5748c895701ece7cf2512253d92bd072c938742ca26daa2edd9cdf79eecc197a211d55fd4cad5eaa594591567bba4aa2e5dd7464f5adff5520e2800a3e441be55e00d6fbc10d115592243b022dc57e6810d1964478665569f993c4c4ccf57c5be3156fd76e69b027e9e077a46ae6e39802a079b89f53f0629e45f0be9a67e0680e09200124706710c0f86aa6e35458665c22552ca66310d5ea2d6584644b88b3b7b18d096bb6ef7dedc987cad44bc5c4e71b1b0fb8ba8eedde77b4acee57ff73d7b2f75f3b69f8d9ff5191b7141adefcf4773f7cee0dc818eb5ef9bb1f96e72d93674cfac62702aeeef777ed7d0bcaeb7ef1f64e63910c8c04dc174effeb0b874f123ebb200d71d437a2e75ff9b79d357a5897e7bede7268d75e0b8ffcf75e7c7fc7d26b1d5fdf5bbd217ba8e57727c7ee7bae46eb1bfaebcf76ec8b0ecc18adb3380884996c6b7b8fcbaf570b8888104df9b62dc5d22e8b75797969be5c02f5dec18ea3a75a08316cdd559eafa04b827ecf17dd2d0d2da1f906aadcf4fd35794ba4e245020144237440aba978e2e17bdddd4da75bec70054a776d29268317eb1be8176c5406e343e57a85848910837e97fde2f1b3747979cd8e75548e1854047d0397cf9fb658e9b654f963950635e3095cf9dd7d7f3ac6c484741d779af40b2b4c8fafd7658301df685f53fd19bb4a4389331767d0b152d6529d8610a988785cb6dcca270c12d7a06f59815aeaeeebb07eb372934e1970dbfff358437460c66d26be948b0f1f87d6614e7f1c629a9bebe2c7a339a5eb2925f8ef71dafe78c23c92ae9ea4de738c17d3170efe8c5d0e7f78e561a0d74d7ed1755db8aaa4208a3f23cf6117f46f2912934978d1cdffe567ef9d81db8c49f40d93829e5b01ff64d0fb6557fd99d650438e13e7b824d3cfa183299af23fca2ef7efa59570dfff9d19dcfde2b93f1dfce3c86d97fe9df2fc8ef87ac52f6fd85c5b52987b0ffc4e0301df44d03bdc711c7ebffcbf478efb87db28b5f589eae58b5c1f1f3b15fa17047ee59bb7551b9483173e6a687770eae1ed2fa73f7cf715edcf9cdd0fdc9dc35224800490001258f00430be9ae110ed3ff8cbed5ae6f19d90aae70e56316afacf909d871ab7bf52bfbf661521e3bddd5d934b56eaf39666695640bdf41e992c6bd5b3075f8467f2ebdd3dca227dd63df740b971efdb877f5c0485fd3d5d5f2dce2d5a959db98c7e33e7e9d73e78b66a05c4497fbd30a8abacd8b8fdef5fbbde35f2088fdd3fd1d326b2a2adbb8b88bbbf7768b17ad5aa8a175ed97e9ff6ef39fd3c2759b2545b554d02e3bec08a8addcf81795f40bca2645b1939d2c674666e0faa957208ad7c7e0f21999962b1485166aa84a87174d829c9c9ce144314a6dbb1c798033189b3cf31265859904b9598b6053ca75b1dd4e61db5eb734078cc39eccd90e728a4b46b999952917832139432295322158b0472195ca88a6b7f54490948c035681ff50915cb3452055d5e5afb6419258378c83ee056adcacf35dc5f3b3adcd039525d51a2960bddce81a19bbec572657696201413b29a138e30e324ced197e410df98cb2d942914f99526c34ad5fd066568228ada64a29856633de47a8658a2a40a20600c0465f9259ba01b81a050a65eab21cdf4bc5eea8987cf0d6e0e465339a73fef5dcb9488c4e02118f68d8d7e235548b375b5b5378e5d4e534f53e4c135be0bdce3c5c77f8cc79f864eeef11a9348c462b1ae2c9bf61ff82f61f9dbcd566ebb3e9fc7eb856945a9529e298d1ad8cc34f46448e9989f27f18d0baf7e1e3d1000c4dfe7ac5deedf4b2604f05cf77f26e1e4c3777fbec73f8edc76f9c6b1933750e31ec7ce1183699751a7803f68b88687831245b65c92c9fc7ef97e8f7c7ab878da473cc17cb57a8391b285de85a436acc9150bddc3ed0e3e3d7cfde5f687efbee2fb77ec46daf70357bfb00c092001248004ee0c02185fcd709c7e7fe49fafe72ffdde93cf55e5655c38fe2fe641b2442c1eea6a24657b7f0ec155a0ffb72fee7c0b0295c2bd67dffd71d4631d98731edfbfed88a5f0dffef7bbfa0c1129acfbef747075f3f8fe1f1eb144c9173eff1308aec67bf6d7fc148a89f1953f1fae29abddf67ff2d925256c4f7acffe72f7cbf5a470bff9ddedcbb47a3e3f0d2ffc3f20dff3bb979ad7ffc3b31b96de6cf9e5ff6dfdc1bbcf164a99e085553507c74599cb286ae90aedbd453a50ecb2db20a6a0427a3d971ade6db6ab1e7f6e67b640a8a95807c195cf79e9dd13cd74bda1a6ce5890bbae5c73d551450757de4b0d479bed103c6d7e66e77afaae9da0a5a6d2d4a5aab2940eaeece7de6ae89caa27aa8a6208aefcce86774ed8a19832d5d5ea72d7ac259d030a29c4c9de21eb39b395f719314a5128ebb29d3b6eee242ae39e9d06a92abbfbe3a651854453b289922f1ab8d4d2eb2662a1f0eb61dbf2cafba181b3e3ecf59c07cad4126fdfb90fbfd4ee2ccbce8cbd2712f5c795f0f269bc192319e6c0e70fbc83432f612464d86af900a6efa8ea3a58b7a95a01539f69ea89119fba5095738f171fff7384db1f5516f7789d0b998ae34ff8ec8eb49faa87a94bd58eba9dcba6bc9cba7f52d513dd362a3fedb8c4eb8f6a1b93e5f37f4a28e6f742266257a186c73df2bb88b3cb7f3f4c19e0c9c5dae51bc74ee6679ba8824fde49364170151c6bfbf0bd56f84721f2bb2614f7ef914f0f8fdd96d62bf73eba3e5bbb4163b1d3eacbd7abc5c4d3676d57553ccdfdef40c4ffd8fef2f9c3735fcdd9fd9048124b900012400248e0ce2180f1d50cc7ea4a5be39536a2de5e071312fd96fa93104a31c9b877838c90ebe66374700569496668928bb982c385df1ea4e32872e53fde7c73e95057e1e69fc25fe287fefaef4c6194fcbadc2c90cad2ff93d90c2f420548162cf90b2c96f2d92565f4eb5281feb374700569097d8047303e7903adb4f7b76f58cafeed6578feff606ffd92bdb5d0845e7a378749202faba5d582e261dbc50f9a98f578ccf5409b998e97c8c8a7e7cf4bbe1e5ebd6e0b2cda1bfcfc32534988f5f39b9b0bb233444b56ae80c0cc6d6f678461e648280849f09d56d20bfd3c8ed6e8e00a6473e4744423ca7e68cf1e78e1294844806b510694d97bfb46730a143ae34eed7d9e1b03fd5dad4db6a4711638101cb3d1c115246683448810461cb611079119e80d3cbebad66985673a262da78db92eb4d8731f37815bd6339de2cd6ba026f6e93824cc9e8c3fae33d00bf72229d0d3f0d6841afed2cfc1872f1ce6f38768c021e21beca0832b48f6fe9b017d769642478622f6a233bc7aa285a2f22abef1e2e51fe0f62787f08c172d9fc89fd76ec8377a8dedad283f213b233db12a0859cd3f2e9cfae3db87afa7f39fc4fd5ee02f31e1a6f1674ebbe98e634469bcdd9c753ce31269119be119776ab50a7e3aa3bd1d74700569ea77cdf37be4d1136b2ceacad1dceb5a6b50aacb4a558e7652be3617fe86626b69273935c9fd8fef2f7124fdf721febe9aabfb21aa2798450248000920813b8f00c657733166090fb96251586d361d17c15e7ce134de7f31148a351e3d0a85c6fd2fc0f1ab41f62903161186e40b97c9a0e1787f77db35b728a42dc3fb4557580f734eb0ebf38c470b443fa4d3e531f2503909abf5e86d2c7c233d719574f99c24f7a573ed3727c7ad567bac3aff5703a12edbda617a811837c063e12dbf3712d988048be82762318d81f8dc63a1e699745cc4119c64d271173d13023b4e40828bd8a4928aa1a17f6c78c035210c7111f8478741aaf36cbdd3b0b96c1da556ca72287d0eb532cf7c947fd914ad3730111387c65ba39fe02289f68b995d804935ef0d58d818a9e1c95ce9ea082c8d920a8c5fb393c28da087834fbc8e0887e88a2865500c8adcce7034a552c1ec5dc0750356fb3d18d324cc33a630fa823b2fe3192f7efed99cfeb8a4f7f08c17fc3982833f9f5d6e2fc3a589e398ae1e21cd89775c12f5872dc79fa7b31bff7b219ad8f82a76dca7b11b7b3fc4bb12731d6f57555ec6332e31cd2217fce34eff50c3bf44f8d767ea77cdf97bece4fffd466cc5652c5d7d7a6381fade12d54db2520a53d7575a4688aa80f7df01a6797c7fa190d31fbe7f1fe6ea7e88eb0b5e220124800490c09d4500e3ab598d5726cb8f0953428a986717cf572ee6d2f8e68ba6d0c37ca85a181be44029ad62c9320d535ff6dade0758f92b17af8e3fbb316bb16bdfbe7da1a651270ebb4cad90673cf9e4432a9956d19d60cb039391554751b6d3ca067c039df1a115a3401017670c7ee936642b356b4a898d0eb7886ab9041e5cfd81497a470c2296ca99569adacd0550ccc657ccba3236cea1b655e9801b5d3272d3172032c9f2628a34d99946cc6164c0e52fcb1509bd0d0d0d53a5e19cc3da0cff81d58ada874a28c5cab5e5c4d61aaee438d39b6c70a5d0e41a1f368818a716a64db50fc66e37efb086fea63f2501cf9f3c7ca0ffdc1c98c6fcfe845c2cadd0d2b37ddeaf0991cc484fb48f6c9e4693385ebcfc3546a659bc3f230313dce3c5c873f1e7b61be35f2c67a89aa19e28a57cf72d7b5f72e98f6a1c934dee7ffcef059a26192f3ebbfcf7438c2b5117f17679c731aa4df4fdcc274f190dd0c2ff0dfbf720eab14a2df43ff27793c4df63535bb2df6f94f1a8acb5adaf94a2e4058f562f1210bfed53f881133e7fc2cde2fbcb9627fa13f3ef43d47d35f3fb813294cafdeddff52f0884c701cf48000920813b9c00cff3f81ddeab7973bfa7d745b4790fec7d6de8c38b2bbef783f5a2f6dd7ff93240f4da6dfff0ab258facd85495472ff28389225e8f2c1dbdbeedda15d5cfbef98be27b4a8cdaa57478055105693bd2d4fbc8566dd5d9fa23ef9f3c4fd4859b8cd52b3d676b761f06010ebbbf8b35113355c521cf4ca24d33fa599ab2570ebc2222fdbf3df4d68c37150ccdbdc57a977865b3d8be6fd824cbdfb8c324ee7509d71617c173ffe8d59eae41f57d06a5aca0ecb19a156235a5a4a32ec2ec824eeb50ea2a6b846b60ff08053dcbc526fba7575c26bd525ffbcc3db6cf6f7c23542dd7c826edf5a79bafbad6ea95d433bbb67659fb884c9507adfcb6773e217b6ad77a06bfe81b1e768f1329b3e5a07f3c31d80cab8f3bc74e053847bc44295f7d7fadfbb243a6d1ae100e0ed0f2b4cf499248966baa86387cacada935327f1727cfc7c74ee8f91c2e0eb482447f8eb7d3cfe592dcd26aa33e6b795e7eb61466afda4eb712266e49434f6423be5847ed832301cef172f0f0ff98c71f42b8c7ebe3587b61febc76a3c48552357026132e733313c3475545a2fd54f444b74b3e2e5392613fa74a6273e9da655bf38dd794ee58bb1cf703cf384e6988cbf18de3714b4430e67ee693effa3a48b2956b1fd8b678ad2c9fa237bf8104b72665e4fe3d3a5ab9ef8728bb1107c29991d6cf07a9b25cb118f6c6e90dcd38f1f9c3a787cf9fb00d3847df5733bc1f54e54fd696c908d1cafc279aed51ba318b049000124002772481699efceec83ecda3d3275f7efbc2900f36e27beec517b7571529212638b9eff79f0e11e1d28dd5557962e7995fbed93d4ec48bd9300b3c8bfc8936ec65e3cbeffcf53aecfcb7a1ba5abb74ecaf279b6ec2123226f039b4fb9596eb6ed9aa8a675f7cf1d91f6f2d5a2174f482249d38ec322fbc4f7c139e3af14cc0a2c4c80414977c80f8be01551330493515fe45dca39b1399b6666b4d75ed035adae68cd224dfc7c1983fbec7a86c3f66b6ba03c21c5d49e5a6f510478dda3beae17d2d9bf9827d146644d405054a89cf6ebd0aa10f7dd73a2c97073d44242fd01728441edb259b171ecffcb4ffb6a6e3e76dce0011e7ead697ac37e4e728241974d4da74dcdc37ea132bf2cb2a2bcbd6eb736402f7c828b13b5d9e5b0a35b5be645365e5265d8ecc3f36d06a66de4d8a712f721100d727194374d1041d0b47fe606f35b70eb803b06120e8325039127a1c83ec07d2022038f50250a4fb74732256eaf4ba02dd6a25ad912ff1f0e1e7008ab8fc61e21965bedea087e0caef193e7fe638dddbf4f5703bca375e7cfc99876a49a23fbcf23cfcf9edb27ed2cd24d9c05967d0527451aa7ae0be6276dd67d5241e79c6854f7fa202b624c1ff58bb911b26dc9e77bc78fac5b4e3bc1fc21a39cf097679c7856dce713f73ffeeac0ddd836e2290e4165072a1a7e7dcf9613f11c27e3ffcbf476e3d9c5e870b475a2f0dd2ff9005fbba3ac2653cff0e84aa13facbef0fdb22e1be9ae1fdc0fe9f5840ff438509092001248004ee78028b6edd9a7ae84bbd3791566c26fa18642617a02492a0243acf5ec231310560ef6a7856655224333939c9e621c356451fd9aaeeeeee575f7d3575ffe756b2ccb8255f2971f59db430b342a0bcd0b8659dc4dbd568997edaa7b00cf6a0a0bf6aa5915a2c16b2fdb5ffbdbfcaf9d737b7ed3bca3a49abd248bc375d8d8d9638b713edc609c45da62b1fd77c5e2e553a03ec2348c647adf4b65fe1a4a2744a1171d9e2379ed0503af8cc546239d34ea5d3296175a17fd4658ffaca0fa8ca918bfcde719bcd1e560f0b03353aa502de73f38f0fdbec7c734853e2c973e095224b14d785e44d52aee5e693940389f14763dcf3a8c1633b57dfe1d4887d8e2832e0431a7a927acc375ed0289e7f527f38e4676a3769bba84a9506f62a81fb819265daed7662a87dce4879ece7df65beab16251797e51e9738a1649733b29b7cbcf8ccc5dc0f7c42d395c78fe38ce4692522d8f926e127c7ff7b4cd72e9f5fe9e9e1f787477fdaf7834a57aa53046cadfcfbdcf358c26224800490c01d4da0bfbf5f2e97c3c74d172d5af4c9279fc0914dd029c8c01122888a8a0a78daf77abdafbffe7a515191105e751508e01897323232a004aad80c9b67655879382626b0c216860c3397913ceb030844fc614bd863a410327109e3ab3820f37d69dc5f7f78fbb2ee968fdbad5f2e5dbdde580ddb0f8e9f39683ad438df9ea0bdef04018db1ee51c357d686e316fb82e8ef02f38732eeaa354887fbec835f7a244b73a802d8d6dbdf63fe0ddf7e0673c5f0dbb23b57fea31e2480049000124002332070b7c657d3bc81330352d8242d028e9eaea1f1daa28a9aa20aa69defe6853ffd1a83abb418a2705a04600954c22aa8b414ccb1f082f2c7ed1c76fb7539f9f01fd3cd8077a00736ec9fe32e27aafbb6ec267a8225480009200124800490c02c09607c354b80b36d7ee5e4a11d270fc1f2406db684789d8d912586b3558ced9100170187e5376fc62f34e5929bafb205e6cf88b5e998b50996072a61e1a9df638b5ea57a3b917c5b766f679f50371240024800092081ef28018caf16c4c05f694be14dad05e1293a8104ee7e02238e843782e6a5d3df96dd79e91c1a4102480009200124f05d21c0ee5af45de92df613092001248004900012400248000920012470fb08607c75fbd8a26624800490001240024800092001248004be5b0430befa6e8df777beb7ba9a1d3f7ecc54fa9de1907a7fa9cd265345b166bec8682aaa4d9b4ba9b936977a7fe7da32ea4302480009200124800490004300dfbfbaab6e842d75074cabfd1fbe7478963b18cc811e8df199470de230dd60c077e36ac707e6f670c1b774a6f2a81ca52047af33b747ef09a72b878f3b072e9f4d75cff274e5f97a3b577af8f493d4fb4bad2ed2e9c8b2604b67d477c778f5ceba82d217eb756434d8dc6e9fb5ae2805a9f737aa1166910012400248000920012430870470fe6a0e617efbaa4a1ef84155f536a371b69ecc891efadef28ff5d9fb9c635e81509ca3dbb4ad74dea6477808d8af5db60f5cede88c0eae4054bdba902a58bb9ae26995509cae7c828250c15ce9e1d34f52efef44204048200887f949b7c75ceafd9d9f5ea215248004900012400248e0bb4700e7afeeaa319f98a41f92fdb3eed35ce9f17f75fd4c4333b8a333ed32e914129974d6aecd5281ddd2604f541108d25f844a3db648573ed1225b32577af8f413925e7f237f6e511132c2af740e6adc34ec88b939501852915e7fe7ce2e6a4202480009200124800490408800c65777cbad009fd05a22552c16427f54abb7941102dfd372f636b65da13b58f78bb7771a8b645019705f38fdaf2f1c3e49971aebde7c61c786bca5749e90f1a1967d3bf6b625d5c34aa67e1408687f2079be99a44f70a5a978e2e17bdddd4da75bec7489a67cd796623278b1be3363d79675935f745d17ae2a29c80641df685f53fd194688168c4fe9ea01f92d456232192402ff979fbd77a625a4103e7524ce5c9c413fea672dd5c1fc1a7cf7c8e3b239f8c28ba4f2e5353bd65139625016f40d5c3e7fda62a5ad50e58f551ad472096bd1efeefbd3b1338e247a38e5d9c6f147c3634f6d92babade3bd35abef589e2e59317ff70bc7d84daf6d403826bd7a43a5d1afd65344ffa8515a6c7d7eb52e10f03c7375e86adbbcaf315747f837ecf17dd2d0d2da1f942aadcf4fd35794ba4e2450201408afc218083dbb735bef184f11a0920012480049000124002e911c0f82a3d5e0b567affc15f6ed7868299aae70e56318ef69f213b0f353efdda07cf56ad20eeeb7fbd30a8abacd8b8fdef5fbbdeb5affeca819f3fb9214f3cd473a1f3ba5b9e5ba05765c0ec52123d33e87b30b4decc50b9361b22a6a16b3692a9968ac49399a290b64c89542c12c865249348c462b1ae8c961b73b9854b148afc4a93c16e66429444db9999e9e9e9f079bc5e98a6922ae599d2cc883ea3e9118332348f426d32514cc5580f79af296e0961a84512f9d2da27cb2819c485f601b76a557eaee1fedad1e186ce91ea8a12b55ce8760e0cddf42d962bb3b304603e891e4ef988c3b119bf5822be47760fc4a9ab56c8452242add5b45fce5d21953883dfa4d7df1e025378e21c7d490ecb5f361d7f09cf78f977ec31e6408ceaec738c095616e45225a66d01cfe95607b57947edfa1c08f1c79cc3de0c798e223499c9cd6decdb19df58bc78850490001240024800092081b409607c9536b285d9e0f747fef97afed2ef3df95c555ec685e3ff621e244bc4e2a1ae4652f8fc4f20b81aefd95ff3530bb86e7ce5cf876bca6ab791fa366a196c3f71b3f3e42f5f3ec94c72311d73f0e949bfdbf4f37ab6e199a70b056289481018bcf431bd7d44dc1b581361bde18ccb76eeb8b993a88c7b761aa42a88b67852583e541db90c67e2f58c584ed5c3ee1aaa1d753b9745a9ecfeb8695421d1946ca2e48b062eb5f4ba895828fc7a983bb88276bcf2aa8a6208aefcce86774ed8418e32d5d5ea72d7ac259d030a29c4bdde21eb39b3756a52cccd6b97e2948f72393a6b1b19ab56ca149466f512266255aa57ab6ec23c6560c4f189e5dc27e9f457cdea8de7166d2d3acfc35953a182e0cae7bcf4ee097a5d2831d4d4190b72d7956bae3aaae8e0ca7ba9e168b31dfcdafccccef5f4bf3e7cdcced1ada752d81c0967e2fd9ca33b8442ad0000357a49444154f19db288392480049000124002480009cc8800c65733c2b6f01a5d696bbcd246d4dbeb607ea0df527fb22dece2f6dc2cc866e9ffc96c86e579019205415560314c1d58feebfcf5a2ea5535fbdf35bde0bcdc76fefd5f1f6abc4278f584f5a5770e4c782705f44a31afe354336fd0c2ea8459a4e0988d0eae20313b0fd22f45a59f92eaa1d748de8ad239e2b08d3888cc500e655f5debb44eb7791eafbc414e4f8a89b21fdab307de2b0a1211185a940165f6debed19c0285ceb8537b9fe7c6407f576b936d84f0eae1918f723926ebf1fa89224bbb2e5f44bca39e4c853257970dd8dc4e3b2b96727f35f4db5069f1e7945fad56809ac1cf2f87bcb47e7e737341768668c9ca1570cfb9ededcdac63622134a7530e1f37deb7e138edb2ca0849b9bfe106784602480009200124800490c0dc12c0f86a6e792e0c6df0241b4e85cb6410aa8cf777b75d73c3fa31266578bfe8824cfd4bbb6cdbf7fef47163a9764551d5d6a2aacaf2833f3cd4186e09e7283d51a5a966e139d87fb3a7fe84edb16776aa25f9bb4c86fac4c57e99f47376248e0a4c445ec9a1ad841ec1533138277ae808299d1425af928a21a0f28f0d0fb8268490a393c03f3a0ca7ceb3f54ec3e6b275945a29cba1f439d4ca3cf3d198e587517a5292a79587d290d34dd4cabc7c0184469dd7971ad767dfab83159603a3618164e758bb20992eff4479213d9eb7fcdec84c9d48b0888e68c5f46d487ceeb1903f9974fc0921143fb7d8a9cb6f657c93b1c33a24800490001240024800097013c0f88a9bcb1d5a9ac98ea767cafd2b17af8e3fbb316bb16bdfbe7d53a5e15cdbc923f01f814584af1dda5db5aaf2913ad2f8165426ea09b748ef2ca05f351a3975de5667d42974e5159f59615b09269a62e3286a5b950e9eb323f115bde941ca69e67a1276210f4da684d79e4deb42a2fcc880cb5f962b127a1b1a1a129b3baccdf01fbd18aef6a1124ab1726d39b1b58258a21eb62d9f7ca266fb9737fdb09589888cd9bfb05efe66d3fa6cb1085629ba1cd1a229f7372dfe6021517ef04bb7215ba959534a6cccb7ce54cb2530a6fec024a1837bb154cef8a5a9dd5c00c5105ff172d318e7697c2943a9dcdf1ebf637f343ecc2301248004900012400248200d02185fa5016be18bf6f4ba8836ef81bdaf0d7d7871c5f77eb05ed4be7bef91a6de47b66aabced61f79ffe479a22edc64ac5ee9395bf36b623ebcedc6a7e7ce5fea1e1c21cb95f4f482c77583ed23979e3766de7dabb943ab29cb95163f58d3f2e76f408f525759235ca3a40a14cc3a400ecd09532b1c3233d52394aa4dd52632e1323733310021ce112f51ca57df5febbeec9069b42b8483c7231b0c7219e6926fbeea5aab5752cfecdada65ed2332551ef4ce6f7be713b2a776ad67f08bbee161f738914ae8b92dff782802e6d0d39d99449ec3179707766614918073d046465c4eeffa5c09f1dcbc192d99527f4324c2ed52e31f9686883c94b5596cdf376c92e56fdc6112f7ba846b8b8b6071e8e8d59eae41f57d06a5aca0ecb19a156235a5a4a32e42ef8aefe0e1f631ad7066f7494afd65c75755fe646d998c10adcc7fa2d94e9bc4840490001240024800092081d911c0f86a76fc1658eb932fbf6d2afe1f1bb555cfbd48ef2078f353faa9f9d0ee5754f5072a56553cfb6205e3afafe7ec7562f9e69af3e1a20d55ab36d09290c6fb2fbcfd32b36f3b219c7a58b1d48ff4fc4378e6a4f574cbaa674cd9f282c772ff707970d57ab5bc402f27418fed92236fbd4ee087990c7a162bc86468131330e34132c2cde992b8e4b0cc4c4f00cc48b275fa6c08497a9bdbed8c5aabb955bbe2c15c25b5a9928202efe02053cc7be0946f3a6eceda559dafc82fabcc675a069cb651629f74796ee5a829859a62d5f9c7065ac3eb2439f4d89d49e4391c1a191af31389e0ab7e7a9fc591eb8363b90572efd8d4f2c094fb4b0ba6c11fbe45cc2ddf7ecc2c7bf241438e0e7622a4d3a8bda3be099cb35ed02edb04180a0a00b0dd3ab8cc50c00665dcdc1c9df333be749c071371a1259dcc051e9000124002480009200124300b028b6edd8a7edb3f554d91566c26fa18643ed50a25910425d179f6128e892910800fae06e1189d999c9c640b21c356451fd9aaeeeeee575f7d3555efef76b932e3967ca5c4d577d212d9e50296001ab7acd348bc375d8d8d96290085655bb4f91209f1baba1a2d53bb08b2029c7aa6dace22a7a174f09929970d367a98559a2b3dac13a04d91251a1fb5da1d2979c529afa274397291df3b6eb3d9a7b4a8343aa502de7ff38f0fdbecf19de6d093547e4aedec721c7667a730aab54a67807d04491c4c80a3e419774e6ee0e19cdc27ac639cfd55e94a758a80adb5337e54a23a8359248004900012400248e07610e8efef97cbe5f051cc458b167df2c927706413d8820c1c2182a8a8a880a77dafd7fbfaebaf17151509e1556ff8be6a42cac8c860abd84cb4182b0fc7c40456d8c29061e63292677d0081883f6c097b8c1442262e617c1507042f91001240024800092001248004900012b8ed04eed6f88a5d1d73dbf1a1012480049000124002480009200124800490c05d4f00e3abbb7e88b18348000920012480049000124002480009cc13018cafe609349a41024800092001248004900012400248e0ae2780f1d55d3fc4d84124800490001240024800092001248004e68900c657f3041acd2001248004900012400248000920012470d713c0ef5fddf5439c6e078d7b5f314d7cf68737eaa336774f57c71d2cafa9a8be57381af93256b29e146faed1e62a4441bfcf3b666b315be91dbe75353b4a2563b653e6b8eff526d393b42e0d7f92ea99beb2b8a27a9970b4a3b9fdf6ec544e6d366903373e6be94c6df3fbe9fdbdcb2466c9278dfb24a5fb962aadd62ae92f400b0413377a9b3bedf3857b961ce6cb4db48304900012400248809f00c657fc6ceea29a2d75074cabfd1fbe74d8326da78cc61fd5d410bd7fb6f195c6f8cca30671d85c30e0bb71b5e383398b3ac27ae7fc4ce98bf53a321a0c7f7998d780f1f1670cd974ff9847d0655f7733f1159547e52805397a9db9ddc6db349d8ad4fcd195576b97062e9fb5d8d3d11d2b4bad2dd62b05ae2f6e537c45ad2ed2e9c8b2e0772abe4a635c66c927b5fb04463cc5fb965aa9d3eb94ec1d125c169cbff86a961c62ef69bc4202480009200124f0ad10c0f8ea5bc13edf464b1ef841953663cc78d8326d80e5f1fbc0bb49ffec5da4d79efac7fa06be9228b3b3e5921cdda66daee1d3ed0b7cfa221000b783f42159d26cd6658b839e81a6774f431ca5d26808db2dfbb5cbf67b168ff6ce4d70457b90923fead5859472918fb2d8edc9bc4e5ee7874edf0acec1c0739a9948a9239c4defdcc234c665b67c52c39bf27d6bb71c7fbf9b10a5e96f4c3af8e4fbfc0dc16c39cc9fa7680909200124800490001f018caff8c8dc55e51393f0841448fdd15918ee7d212157c2f9199cfd5f5d3fd3d00c0d75a65d269d422293ce40c9bc3671d38f92d3be95a8ca558a08715e6d63e3a811472468b45b1aec73e9706afe0460120d06782e0ddf165d11b02a426ecf2ac4dbe2f68c95a63b2e33e793da7d92d67d3b022324f6c38d15f16ac61cd26d18b1f81db94fd2e583f2480009200124b0c009607cb5c00728cebded6f9efeb9eacafb3bf7be5577e4fd5d45be7ffff9eea3578cbf3afd0fa286ffefb9372cdbf7bef6e44365eaa562e2f38d8d075c5dc776ffbacbb844aa584c474caad55bca08c99610676f631b1336156edf7fe8ef1e5e05f29002e3bd967fdffd7b3a3bf18de8f957fe6d678d1e2adcd75b0eedda6ba18bd34e02412852f37c334937862b4dc5130fdfebee6e3add62a74b34e5bbb61493c18bf59d19bbb6ac9bfca2ebba705549413608fa46fb9aeacf3042b4607c62f4b82e7e3c9a53ba9e5282bcc769fbe309333c136acab76d29967659accbcb4bf3e51268e81dec387aaa0532e5353bd6513962787c0bfa062e9f3f6db1b26aa972d3f7d7e42d918a1709045019094439e5351a4dce523a50cc94e56a3499522971d9ec23e0cf96223199841756fc5f7ef6de19da1c9de80ef2f68b533f34e2f387d1187b50692871e6e20cfa89346ba94e438854443c2e9b83095f0c9b6b4b0a73ef9108611acc3711f40e771c6f6807ed8f551ad40c1968e577f7fde9d89948800871239d0cc627cab51281b7b3b1be3533993c2b1e3e1a1e7b6a93d4d5f5de99d6f2ad4f142f9fbcf887e3ed23d4b6a71e105ceb079949bfb0c2f4f87a5dfcf87270488fdbf8d627aa972f727d7cec141bf1822d6af3b66a8372f0c2470ded0e0efd49ef9370772267fe7ed9fe72aac5cec1b97538c9b8a80cc687caf50a18174841bfcb7ef178179d4d830f2d9ece7d02fd4debbe65f4f31d387926bfaf3855a5cb818373d27f37a67e47b702fec9a0f7cbaefa33ade009b7ff9c2e62e1ffdfdeb9c7d6755de9fd881449530c298aa44d9192acab074d85b26c6b1843aa3462c650630b48fc184c6d1888d18161183006288cfc33ee3f453268f24707018aa02d10743a9d09824c0523411dd84164b7820ac5126c2baa6cd966ada114d3d19311493d188a96284afdcefd781717f739e7f25e92b245fbdb0836bff5adb5f7d9e777af82b37cf91001111001111081f209a8bf2a9fd9e7b962ec2bcbeadbda5aa3a87bfb7d2b972c89763cdafd9357bb37b52c3b1e8d3ef137bb5f7a7875145d39f1e107d797deddb972d992f6e52f7deff927d6e51fe3a268c70bdfdb913ffca95f454f7efff5f54fffed3fbeb8a332ba7ae2bddffcfe72d5dd5fdd7cd7ddcb91c7c720f51bbff9ccc668e4d4897377b4ad5ebdf5dffccd13fbbffbca2ceebbf09d455ddb36b4a0633af7715f54dd56575573bd7af2313eaaaeadaba9aa68a88faaa3da9a9a9a8eeeb8eef2f048e5d2c6c655db7676f5ef9d6c81c2ab5757d756d5e4b6ec847ff5f2c54feb1aeb5a3a76ed3affb33d47abab6b6aaa1abb776ec3ad5c1c18ac6d6da9aea946d9e65ddfeeced5a36feb3f3dd2bc7ad58aae3fdd757160cfd1a1dcf63fdfb50948272e0f0e8c2d6e686d9cfc902dbd7e70e3b71eeb8abb99286ac8753f968bc5c5957b771fbd3a3a36868f91ea9a1aaaebe2cb4d8eeadaacfb4adf3ffb3c851da77dedd9f9adae261e27028d5c3e79f958f44ffbfaba763eddd3d188066a7860e0466d23be45b31a9ca3e8a1ad0fb435548e0c9e3e77e1ea1d0d4d2d4b2adc71e3deb2f9be879fd8b6b62aba71fadd370f9d891e7aba58fdb4d344e335b5355fa9ff0a1ee6572f6fa8aa8a721bda8f7cb462795ded60fc736a514d6be703ad7c7debedf54de770b92c6ebf181abdb1aaadedfe9e5cdffefefc9172f7dfb3a2a67264e0c899f4fd8f0e65bd4fa6df11a322f7752d9573cfce07b35e97e6fb76fdc5b65c4534317cb6ffe2d5cac63bdbeb1ae3d7a53c3e65be4fa2f69ef2deb76914e865f12cfebe4aee572e8754ce45fe7f23f9ef7a715dfc5f5bb2ce9f3ca11c11100111100111981d01f557b3e3f679ad7afdc4a97fb76e79aea7bb67d592f80c6beeef59ff711b3eaeea3bd9f357cfac8e264efdf7179ffcbbc351b4fe3b6ffcf4293c37ffe23ffefb4f562dfb936fbfb063e5e2dfbefc9ff79e8d96d6d49cfbe07554bcf8afe3e6ea373ffab3bfdeed6ea7fb250627def8d133dfdd1dad7f69ef4f9fb8735da7ab2855c6cf8b2d5dcffee5fa8a9adaaa8a89b3efbf193ffae213163fae15828218ee3bf8f2dea35173cf734f76d535a3dbca18d7e2e7518c81defdff131f43e51e7a7e57675d33fac3a38505a3efeff9e981fee67ff5c2932df818ad79eb7d68aec607f7fcc3cffb5191dbf9fcae8e15f76c884e5fdb11375763efeff9c901249ab73ffbe4a6f85f4556fdd10ff7ed1fbc6bcd039b56358c9c7effc889919a9ae8c2effbf0ed6ebfdc8ddf19d8fce7cf3f792796dbc8baafacfdb3ce631b4e171fbeb9ef62636dfb035b720d8b4ebfffd68991a8a6b2f28f037d51fbf62d68ae6e5c3efcda3fa1479abaaf28d758877e7bec5cef41fec6c369fb5d1f5fb679d737b6e42aa3f1df1d7ce58da3f814ac68fdb4c508fa862e3fd454df986b5fb334df4137b5ad69be508f8fcf868626d0ea6184af6f168783f9ea92ebf71c3cfed5c736b5acbbbf7d7f7f7cbb0f6ec2bf8ad193bd479ab7fe65eaeb7ef4c0e405a2e9ef93823bfd6bf67d5d5ab3e58114ce99af4bd4bc6d73dc5cf51ffcbb3df656c5c5da7b78c552f994f93e89ce94f9be9d7eff5351d6eb75f474b1f7d5d47a536572c87a3f67fefb7ab0cc7fd7f67eb0134a88800888800888c02c09a8bf9a25b8cf6bd91f2e5e895637effc8b2d4ba20b9f0c2e59bdbefb914e7cebddb9f3ebeec77f03ff64efcfe2e60a6369353fb43a7ef8f5e387a3b6279ec7e733a7f6ef7e85d9b862fbca65f811a223ffd53757b11f7f13dfc4a937e2e60a63693ccdfe077b26ae8d5daf68c47f351e3bf3cb03f6ad5bf19ec9814f616e5cee8b9b2b8cfc772cb2834a56d241fdd5b3efc6cd1546ffa90b139d2d4b1a3b0adfdd77faf0deb85f8a86de7bfbedda3f0e44adf7a2db8caa5abef1dc73f881921b51156e73d1e2eae6bb9bf071d548ff917c31ae5b896de3d1da905a8f0dfb7a874697756d5a155d1d3edddbdb9fafb609bd4474d3a2bcc08629f795b17fe679a6ef69d1d099bea133517dd783702e7d7cb417bd457ee4b6a3bf882e9e78376eae30ecbea2fe13272fb6ae6dece87972ddbf183d7ffad40787f6f5a18dc2881be2b62d5ba0c67af7fe64ffe4cb955d9f5f144ca363e351e39275f7aeaa8ac62e8e563736ade868c1be23839722bc34a573c09bae2c6ed1997d2786377435b5756f6e3e73247a70c30adc45df5b47a2d687335ec7c98387ef93e07e0a61d67d8d36a573ce7a5da2e8eef81b3347cf1cf2cd55fe2a65dd6fb9ef9359bc6f0bb73efd6bc6fb16ff0233df57d3372844e571c8ad49e78cdd52b935dfbdbccc7fd78573e9ab08888008888008cc9980faab3923fc6c3778ffd899e8fef50f6ea9440bb4fbe0ea979eea7cfc613cbefe7628427b15d554154ed3b2048fd7f16f02f463f21bdff2d6fafccc26ccd7e4f5d5d12bdecba8f225291acf3de3178eedfe79dfe3cf3ed956bbeae99d5dbb93dfec571df733d6474d5cc3b7a74d0da48a0c644706cf4d163437e3539989e1f3680a72b1357ee9f464abd177041f2be1038d6edcc5f8e581d3c3d72a27efa762fce2407d3d7e843eba3a72395e84511df75de8279beb6a52eb27abf25f2a2a0d37edcc39795f59fb679d27736b9f883b8969a370a7f14f65f1be903efac6eec1aeedddf7e6da9aea5b739dadb9bb57eefdc93e808b71df98b851515951d3dcd611f5c18a47663dd3d3e7738323515bd3ca551568a58e7eb2ac6753cb57d1575d3d7d315f563a07fc9c205694531fedffe06467cfdab6af3ed07c21babb0e1f551e7f6b286a5e5bec754cbe4fa6dfcd5494755f57f2ff252095f3d462ffbac46fb7cc5f1951fafdceee7dc28394febe9dba8582ca7adf225fd6fb242a9303af9fc539c9adbe3efe2f34e5febb2edca5be8a800888800888c09c08a8bf9a13becf7ef1fede4fae449dcb9644a7de3cf8caab17ffeaa9cefa25d19563bfbb507d3f0e337a69387fa49e1fbfb873b289c8c7d57c9d47dd798f7f7ce96ab47cd9c6a77ba2efef777e5e56ced3fba222fed19ea15fbeddf73c7e12a8e3c1adffaff7adc96e8a7d54eed11d1d38a7f557f12f97286f4c7e7bd0e6adebe24f05c6fe58585d811fccf063e8f4f078f78aaacab13d7bf6783fd7732fc29aba86bcd9be6bfb5a1c01fd5556bd5f9ba913bfcf3a795f59fb679d27f35af9c4e4876e85ef958abdfccb3ffe29fbe4dce3dbd6f1beb8cf99de03f81fbac8adbbbef140aef1ee0d0f467de7e3d4f8c0ffda3bf875fc385ad7cec727c67f79a03fbbfe1053c1dcff870be3f8152a55d1e5fedff77ef4e9964d2de8f9c70787cfe40f543a077ebf5c19f53847efe1939b73b986b58f3db4a8221aef7b0f3738e3eb18be4f82dbb130ebbec62adb5093c539e57519ba707522aaafbdebbe5cb4afdfb69f14a5dfefecde27e1f58238f1be65bef053947194f5be6565dafb2afd7d1295c9a1f8fb39c98d2dec6cfe5de7ba36378c1f393af91f17785f9a45400444400444a02c02f3f41c5dd635553c170227fe804fa596e007ae8ebc1e1d3f71ecc2535f5b169dffe4e3fdc7da26a2ce758ffedbffb4f45bcbb7ec5899ffe9ac28ff4bfb70b5632786a3752bbffe9dbf3df7daff5dfe27ff7253d59167bef35ffec7ff3ef1bd6faefbe67f78a3f58d5f7f74b17afdc6cd6d63bf79fa1fa71fce7fe4353d5346d4bbf7dd75eddd2beaeefbb387dffa3f9f626153c7b6872bef69caad6dcc7f1f60ca56d3bba394827c5756bb62f3433d9d4bee5ab9aaa50e9f5e1d7e35e3610eebcf1cf8ddf086cea6dcb34f7ff383de93517df34a5c7dbcef1f8e0c4d7435d5afed7efce1e5356db9a6dab8c38b7f154356fdcbfb530fe3cdcabab69d0fed8cae0def3d107f74366dd87d65ed9f759e69bb84c1e0d058d4d4b0e64f778d7c74a6be7dddf2cab32f7ffcc71b514bd386af3f7ac786fa55b9067ed286fbcaf53cb76bc3e8d9df9f1c1818b912d5e57f85ddf895b8f38e3bb28aaaa8ffc04ff6d73d870f82363dfce8b5d75e3dbf3eab3e3c04e3e151bce9aaa289c1b3f899b4e1c1b14d2b6aa3d10b17f879d4d4921939bc39551bab19ebe3d765e8d03f9fcd75afc04fc44d5c3e117f228791c5b984d731bfbe3065dc57ff607d3ae7fcba94d7e5576fbd777c78676753e7ae67bfd2f7cfe73fad6cbeabbdfe7affeea96fdccdaf9cf17e67f53e29dc4cfad7acf76d55fd0abc9f2ba3cb87f71d1acae2f94e54defb24ea2f8b43ff60c6fb39b89502b7feb3b3fa77ddfce0b77775e33b01d6d58fffbcf01f17822b2814011110011110811909c44f931a0b89c0f1f7cfe03389aba7de897f9fdff103ef9ec2978ba74e46affcf52fde3b17552efbda433b56d60cfeea473ffe10dfba7407dbace895effeb7df9ebbba6cdd8e175e7cf1891d1b9be25fa315bdfefd677efcc6b1ab51fdd71e7eea99a79ed8ba7175532d1e4faee1d39b6b9f163e0a19bd86766ee27a218cd7953af0306fffe5fbd0ab6f0d5e8d2a1ad63ebee2f8476747a3aa86b59d6b1bab46fbdeef1b4359fca76d27507f3d16f9716d028fe9b63cf592a8af6d5ad5d9d589e66a7c74e0ed5fbd9cff492cd622198e7d2fef3d79f16a4de3aaee6ddbba3775b6d6578c0c5d8cfaf6feb61fdfbc56d3b6766d53edd5fededfa1d5e0bf8af4fac95de3738ea7fd45b1f8366a5b3a3a3b3abad6e5e2e2ccfb4adf3ffb3cf16619a377efa1d32313b54db92ddbb675e55a6bf19f4d7af77c787624aaa85db136d750397aece0db03e351e562b44f83c3a3371bdb729b1e40ed968ed6faf1cba70fe5bf6f33fe5347fc04a3f78d57deee1f8f2a56743ff25055667dfa5986ce5dc6679313974ec52fc6d02767e36fbc1cbb0cc2657228bb3e3eced0a1f7cfc6df147be3e407efc6717ea4739e4ca6bc4f2633c197acfbcae29c5f9ef2bae07780ec7bf9edbec189a86645c7a6073675ad6a6dac5d8cdeb64c3eb37a9fe02a385769ef5bde7ffccf30aa69c2fb796dc79aa6bc97ce33fb7dc58d9273791c323967704bf0c1ffcfe4ff8a41947efec2f9f86fbff077250aaebe8a80088880088840390416ddbc19fc347e49ab6d15859f6fc4fff13f8263038ed70c3127c7c404fe20e70dcc5e5cbf7e9d2604537e66eac30f3ffcc10f7e50d2d1bfd045eb7b1eb9b776ec83d7f71f4fbbcdee9e475635d50e9f7c65ffb4ff58befe9147d645b5d1d8c913fbf957b1d2d6ceafd79eebc09f691aee9bfcc50ab3d9bcbde7b9c7ba46fb0eee7e77b0bde6ea19febda712366ace75b436548d8f5de9ebebb77298f883c1a9e749adb7857317a9fb17394f912b826ae392aa2b177be3dfa0971ff1e655e303f8f35cc1b2e6f68ea646fcfef4f12b29c9a0360ecbad4fd962062b95439135b7babec8a593a94ccef9d2e4eb92b79b3b3a9af049dff8c5e1fe12debda9f70b33eb7d9b3ce4fc3aa9e799d5fba40c0ec5394fbbc1e6f608bff8057f1daebebabfbf3feadaf5424f6eb4ffed9fe2efbfe547faf9f14eefd8dcd138d17728fed5991a222002222002b79ac0a953a71a1a1af0c747172d5af4ce3bef60e6c0752130a383d8ba752b9ef6c7c6c67ef8c31f6edcb8b1b2b212f59883b178f16238485150b386f598930357a13979e17c689a6740819d870e67332182a1fe2a00a270811068ef79feb1ae4bbd7b5ededfbf404eac638a80087c4604723d4fefeaaa1b38d97ff60fa3b5cb5a736bf1eb07c78fedfdfbc9ef1afd8c4ea1cb888008888008cc40e08bda5fe9e7af6678e195be6d09c4dfce76db1e4e07130111f8fc088c0c0e8c8c77b4aec2fff28798183b7d0c7f88e0f33b90ae2c0222200222f06522a0feeacbf46a7f91eef5ccfebffff1fe2fd20de95e444004e68bc050efbe9ff5eec3b70736e11b91c747fbec5b66e7eb02da4704444004444004b209a8bfca66a38c0888800888c08225307426f193870bf65e7470111001111081054480bf2d69011d58471501111001111001111001111001111081db9480faabdbf485d1b144400444400444400444400444e04b42a0babaf0470cdd0da79a2e7f9b4af557b7e90ba36389800888800888800888800888c09784c0b265cb92779a6a26cb6e3747fdd5edf68ae83c22200222200222200222200222f0e522d0d2d2525757e7ef19e19d77dee99d85a2f5fb2d16ca2ba5738a800888800888800888800888c0179300fed0702e971b1c1cbc74e912eeb0a9a909cd557d7d3dfeb8f082bb61f5570bee25d38145400444400444400444400444e08b46002dd6d2a54b2b2ae26faf5bb46811e69b376f2ec49bd4f7072ec4574d67160111100111100111100111100111b81d09a8bfba1d5f159d490444400444400444400444400444602112507fb5105f359d590444400444400444400444400444e07624a0feea767c557426111001111001111001111001111081854840fdd5427cd57466111001111001111001111001111081db9180faabdbf155d199444004444004444004444004444004162201f5570bf155d3994540044440044440044440044440046e47020ba9bfc22fc2e7efc2379074389b29210222200222200222200222200222f0452290f5d87f1b3602b7457f052efee50f30316b35cc06357eb9b40888800888800888800888800888c0179540b21d60a7c099779d6c167cf69692f99cfbabe0ce83db0eb2b714843617011110011110011110011110011158d00492ed83ef2f92d95b71b39f457fe5efcaee21b8bd20b4320911100111100111100111100111100111983581a0d10842db16bee9b9885bde5f250f9a744abf015b0b118c7beeb9a7f47d54290222200222200222200222200222b02008545656064ffe08797213b3b891e4daa4338b6d6f617f85f305470cc2198fcbfa7897c2c012ca606d7575f5962d5b0253a10888800888800888800888800888c0422730303080a7fde02eac2928340af157d4700e8a8b84417dbc4ba1792bb2aa48ea56f557c1b1f2e72cf51337167387609fe04eac72e9d2a5353535dbb76f0f0a148a80088880088880088880088880082c5c02376fdefcf5af7f8da77d7bf22f722fd641b0b848a54f258bb98faf295d2f2ebdb4c44a9c06144a2c6699dd00ef2d6b39b37eb6abd4d7d7af59b3060b57af5e7df8f0e163c78e594a42044440044440044440044440044460c111c063ffe9d3a75f7bedb5919191f6f6763bbf6f07a82d15089f850eb23386b358823dcbee85780e6b812882d942088c1b376e50609e989830873e660ea4206c66e5f5ebd7213090324d872697408f8d8d5db870e1fcf9f37e376a7f5d383c0c965004336e103598e10737cb50b308888008888008888008888008884092803524141515f1f7ca412787fd48156a30504087216684d4adadadf8f0aab6b6168e99d4362f5ebc984be040733716fb991b220b61330aa039e853dbc92982d9428860ccffe757c105b2429edb7a185f36797ff9cfc1a02d65be099fbae38e3b40bfa5a5853d5572661fc5ae0c0badd14af6573c959d8ded965d4b420444400444400444400444400444204900fd094d3ec3db6c4fef265889d9da1be8d4c106895bd9e6b60f859d84659635df8b60894fcd8b9ecffe0a67b59ea4c8e1784ba995a9a95404346de6e51042981908a470519878e5d032b1b8c8392d857ad312222002222002222002222002222002a904ec019bc266886060399eb1614204291f32cb6b799f0be9fbac77a0b924308bd46755a6fa59e67cf65759d7f03e6eb294ceca587876342d856dbd03cdf689fb072984ac6773c5d91f4c5a0444400444400444400444400444602e04f8c88d1decd99b3af964cee68a73329bdcc7d7f08449c75fd776b003705530fbb22035eb707efa2b9c2cb56be2b198cdaa09ee2a19c2e1c06e0539e524cd22c548a19ecd15354fa8590444400444400444400444400444608e04ec019bc26688e428d25c258be9f0784116a677fc2dc02f125a8a6541b165298a677df1fcf4577ec7d2b53f2534872d67187c18856ca17086affc2ccb17712df7c7cb59a421b43348888008888008888008888008888008944800cfdeaca4b0d93f9353176faeb0497249aae32bedd2a8a44e66e958f656885bdb5fe1de52db18ef93949531c49cc4c194f7b31cf8f621156b3063214d72a4431dcc48b13da36f670bca148a80088880088880088880088880081801ff806d1aa2c8486db4524d5c25d8c71c1ec0b2e6c361ca1c1f9af6c22ff17ee97aaefd154e5056fb11d407a19d1b3e06436a86d4f0cd4c0abc1e3c924fd1f4bfd6020e43149be042cc584b6d47921001111001111001111001111001112842008fd0cc52d84cc1ae090514303982b0604ffe16750b03817de898406857374dc7e6c00f422bcb12a5d4cfb5bfcaba76e0e32841d3e20f6759ac826648cd7d685a9661d68c32eb9d58c3d096734fbe9038159a2b687553c4a25904444004444004444004444004664700cfde5c4861339fc931f309dc422f825410faca40e38a74fca5bd892c432ba063a1cfd29ccb7c4bfa2b9cd8b72b41c81bf005bc0194f94a6856a68ab8346de095e08751963487bb21c4a53150c6ebc28140481f1ac2662fa0354440044440044440044440044440045209e0099c3e85cd107ce486e0405890535f9366d299aa9eae705d1a14763c33cda1805fdc491604f559e1fcf757380afb93d44bf20ead80c5dea4c65a8a60c6c2c04108ee491f260fc0768b35707c5b855536506029ec09dfce1f84e64b88800888800888800888800888800890009e990d05b4851078d2ce1b2913523ecbd03bb626d5c415adc00bf3ed6cc8d2a4131498e9059778a7143dfffd5570551ccbf72a9635df0b6acc18a8b4d904cd389d36001dd74206826d15ab18722d6b501674535cc8a3722d35563105a1210222200222200222200222200222904500cfde4c51e0c11b211fc8395b8894f7a103c7421341bddfd0b635e1b3d0f0990a04439badd29c598879eeaf70266b4bfc69ecac4196f598296c09c3bc3dd9685163468d69e046c8fe079a7d9117dcd07a2d84d656a10c0b3958866d1142f32ad47e09cb348b80088880088880088880088880082409f0e11cbe3db47b6dcff05e600957c1a4c6cc825461a6df849ad782b68b4270f88282372dc555410a61969fac346796fd15ae64ed87ed1588ac1af3292cc472681bdccd4213b8ae6913009d6caecce15658883268080c66a96db68bb2cc87d49a4540044440044440044440044440045209e0e19cbe0984f6c46e02a6b5495e78cde2a4639b40646d1ef808396c890f0bc9a9af2c9b8ad354919a59f657b80a36455b9276b9993d1e08cb6d133ac18c301840cc55f04d0702214e80f629105848130203359cb155de989cbccf3b6119b566111001111001111001111001111081540278aef63e43cc3690a5c683ba99d4362745b024b9d6b632c10b05b30f51897076a3f8dad9f757c1697019df875838a3e0f9309bc03e0c6dc6b5c0919f389949011ff59851c3f68965acf73e8f872c2ab116331c9a149ce963b6c11a0b254440044440044440044440044440049204f88c6d3e433eb473468a824fe9d0101866527bc7d798cf7a9be1dbce66060e439b4b1428f3950c8bcff3d65ff9cbe0ae829ec41c13c97aa6302385d98b402304445c02337b2a686f6207ebb5889b4d172f8a620cee408db5149851c399c5c9d07c0911100111100111100111100111100123c087f62084c901bf20a7bee2991c03290a2420389b60b50fa9a77671caae4211cc08fdc03a86262c9b742c555cdc92feca2e8963a157e10c33103c34676639a73adc0729d084c6a08043136b839e0a356642700945bcde0d6f5263b68142d312222002222002222002222002222002a904f058ee7d86f1c37a7e205590535fad53a2c06c0245a629b80c9a5b9919ecec436acc26b089e9a46036ae9eedb8b5fd953f15ceea1b158636a31259de8f995e4083206b28b08470b9d63443cc6cb72cc45a0c0b91f50e350b5063655ee46d4d2220022220022220022220022220022904f8308f84096a841c16f2d11d26045314367b91d4c985c1fe7621f8a6296c86e0604d219aebd779e8af7020df96143f118b6d890fa12da44ece808b6bc187989898a0808390dd94d738090f663385f77d2a99e5bd985ffcd69415011110011110011110011110812f33013c9cf3f6297c08cd90822d138a2960529432275771cfe48c4a9a14369b4016bac45162f13cf457a907c2e5ad2d314de167acf521341d083f009abbc1a4a6404f857a383c036a38104224679ae6534cae49ab4781860888800888800888800888800888405904f0ac8efa6046c88114fb2813f0e9149999b24a13bc90657909cec933c0296efa02ea72e7f9ecaf701bd6c094720ed4a30c4b28b8dc3452d01602192ad150c181e6febc1c5398ed232c6e9b9c792dcc5e40b3326f4f7565bc846d62a18408888008888008888008888008884092001fddcdb727798840d3f1331ee61126e7c0648832565a0881eb62f6224bdb094b11dca4944ad6cc677fc51d7102762c14c1ccf3b1bd413d05eb11228b4113c21c133081d20aa0ed232cdb842239631314c30f067c3a14c18c50430444400444400444400444400444a07402f6248f25a6bd80b681477a94b15f4a9d69b23e4bdb6e26786984766c6a1658d64c3a367b015dfa98fffeaa946be336d0d2b0d2df21cc640888fe47ad5003c75fc57f6c059f3b732b765fd4e6b0c05208e998e0e6346d437f456911100111100111100111100111108180007b159826a819f2399f9acff3d0be5f62680e05660acbd2c1cccd998536814a1b76003a08391016e43c7fbdb5fd15cecd2e8537004dc7662bc06d416350a092c8d005c18436810268667d197c33a191c2e06ea8678819bb519bf0c55cc2193e53149a4540044440044440044440044440048a13e0f33c6ba86df6023a39f0300f93b3091f5a4120ac9802591c00da869d990eb37e86cf1a13b6a45c714bfa2b1ccb3a99e4817cd6b4dd0f17f2c630fb4152ac648b85620c3a106662157b2a0ace28b3468b1a737e83c99fb9f25b3185d98665cd9110011110011110011110011110011100013c6f7b0e0ccd84a036e15b206accc872f6c23452ccda9c37264dee1ccc3c9899764e38a6fdb1a98b6793f58133a7fe0ad766d79114fe32ccfa39c832c456a8c14088d942686083c9ef128c2bf2030e7c6b7b28d04121498d1903a1994c990f814d187a01cd30100c358b80088880088880088880088880082409e0619ba60984d00c03c1d0cf78b6b7901acb21a84d580d85af31c7d7d8196042fb41c7cf3e0b6d4b9222a8b4704efd95ed9225700ef6302c606887b355a881491fb30fc1913bc08746a784990ba96d7f2b838f82caca4a38d098b9270406b3d49c51ec05435e8233b23e941601111001111001111001111001114812e0f3bcf90c6df6029a219eeda96da6834de050db6cc5101c56c3e5306d1fee9015d2678d1d3819fa5489fa56f5573831db1213c90331c57b43b10f510c3aec85e033640d357763012a11320b07f5987975df65c1c1e055584f0733c36046c8c18242a4af2220022220022220022220022220022904f8dc6e0986c18c9003650539f995dd91f90c39a3c20b680b7d8a1bf91477b33d2d84480e2ca769225933a373abfaabe0c238a2f536765cef503365055c0540ec9720b0adefa91062211cf451d653d9b6e6b0cb821f0c2e874911cc0839585088f45504444004444004444004444004442085803dc633e79fed4d7b01ed075631f40d12351b01d3560081c18526fc9ed42cf073aa8f82b98f79ebaf70c4e27d080bfc6ca7e7ed6139b340c3d6888ca003814a33b98aa169086a0acc28c0e6b8a239101652d8ec45a0116a8880088880088880088880088880082409f0799bbe690a9bbd8066882578e067e8676f9aa608660b21b01b3631c1d02ee48f473348b1c0cf3316f8e279ebaf6c535c9ead0b1d9ec63bdea746d60e0d10ec854c3085909bd0e71c7c6c85020c1e801a5b51701384b822357c6866296c8628a299d52c02222002222002222002222002226004f88ccd30a9e96036619578b087660a3342d35ed067b16916f825d88aa109d6f84bc041180c2b333fb5ccb25962fefb2bbb120ec41ec63bd4f0795c8a20b43ba10020f645eca6a0e17067cc5e230c06cf6026439c810e851dc98781668d661110011110011110011110011110811909d8f33c2aa9cdb1d00be81907bb26969986f03ab9090f00df9fc442d607b7c36c60961eceb5bfc2e5d1abf07aa603c123fa32d423848f411184dc10b0d8597981144c2ce4265888d07ec20a1a8e0dab3107c24c8a60b61042430444400444400444400444400444607604f8c48eb514c16c21841fac37c7da27f8a621187a874bcc41685b5104210b6006be39816019cd22f35cfbab225b0729dc007b1beffbbb421638d850598d395e6015cae0b06b6288251018348319593898b93fb36632c5d94c080ef30b86be8a80088880088880088880088880088404f028ee2d0b298299211ee9b1c45210c9c10254fa940f4d9bb04a385c6e8e3f2135524973d6ce3cf757381cbb11137668eff31ee004379374b01c50d81441a000da96537315660c73b0904e30e3932e1ec97c569a49e14d73244440044440044440044440044440046624e01ff24d5360e6b04d0ac6b4afc822c61cb44ce6b071f259af6d2fee6321f7646897f002da87aca759e23ccffd55f2aa38133a193b25341d9e95617255e000165b2cf8d058c5995b594f659b43788d55743833b483f15a486509fa9a4540044440044440044440044440044a21c0477d542685994c61b6c114421396a299da41b1a6482ad884a13f06373707622e631efa2b1cc89a93b28ec23be15a6e62f796dc870d95b5526cb7ecd27e136acc36b01b346713de34ed05b4860888800888800888800888800888c0ac09d8e33d45ea1c98083970d140b089a26f7ac6ce8af5bc05db90615933d696523f0ffd55d665700236335ea018a6395ccbd0e6ac0de1b3cb32c1fded975b20e440412010d2c44c4187da662fa039acb260e8ab0888800888800888800888800888404800cff381650e850fbdc62a841ca64d1432e99f6b59365570139b2138500cc125dea1496776f3fcf75738a535245e07e7630a337cd453043a588290abfc8757588b6129869859c90d5960b3cfda259865bd9914960a7c8522200222200222200222200222200246c01ee9934e906288d90496a486dea4b625f61196f981b03d6d89093b61205840d3eba0ac48383ffd15ae5dbc09b1029e92c534cda1c05991356d478783b68a297e8ae53781b6903bd0c18c854c99cf3d69dacc2bb2de2e2a210222200222200222200222200222301702f6604fe1676c8b900eb53981cf9095a62d4477102cb4148b2d6b57f18e37a15307374c4d05e654ef1124ca0dad87e1421f9af6c26b2c41488722d034ad2c99652a2808425b059f830e743265e664a9be888008888008888008888008888008944620e846acdbe16a9ff529680e2bb31002e6643affc5875efb25816619660a644d078205349329ef27f5bcf557d8dada155ec64213be06a6f9147963eab750cc68fa025bcb4bf8943f8cf976123aacb139d5b4ac840888800888800888800888800888c08c04ac81f19534b366542265590a33f399698d964f993611ec13ec86325652786d954c05a1d5a78af9f9fec0d4adcdc481523b96c0e7b951693760da04f64c6aee039f59ccb6151d2ef10badd2af32d30e00c74c6acd222002222002222002222002222002a90482a768d69849e167dbc44c13b6d61c0af8101ca93acbe486cc9af6027bfa70d63abdf399dd76ec55fc5aef980e4432a4633384696cce30e9f0bacc5a991d26a86781654db0cc428a5433a85128022220022220022220022220025f7202a92d4a1193293f13201c3329e0e7bdc90faf2cb4b2220e53984df83dbd9fd4590efdd4793efb2b5c206845b242f32992a177a0197ac16b99ef43de67b298be65b9c44c6ee5b39692100111100111100111100111100111289780b5315898d4deb1029a982978450b6916092dc50daddef6b10ba50a5f46edcbcc292ee6b9bfc2c57ca312843e659a2235b4148469dbd31c8aa40f27302df4222eca0fdba760cce007650a45400444400444400444400444e0cb4c80fd4c9240d2372710a9a137a9536798a93ecfe3537018fa545207652c9871bee5fd154ee0fb96544dd3525ef8147410f2f602dfaee88b0d044dabf1823556604b244440044440044440044440044440046641c0b731586e61527073fa7eb65530e97b879abecd4159506f2144119dccd29971fe2c7ebf853f04eed61a18d38680a9c08769057e2b6a66b9c41632c5557639133e6b9b50d81c149b2f210222200222200222200222200222302381e4037cd2c126342d65224899efeb4dfbacd73c241c336d5b4b51cce3fcff010e58792e8df7f9b40000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Out of the box, BB and Grunt-BBB provide provide us with:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Backbone, {\field{\*\fldinst{HYPERLINK "https://github.com/bestiejs/lodash"}}{\fldrslt{\ul
+Lodash
+}}}
+ (an {\field{\*\fldinst{HYPERLINK "http://underscorejs.org/"}}{\fldrslt{\ul
+Underscore.js
+}}}
+ alternative) and {\field{\*\fldinst{HYPERLINK "http://jquery.com"}}{\fldrslt{\ul
+jQuery
+}}}
+ with an {\field{\*\fldinst{HYPERLINK "http://html5boilerplate.com"}}{\fldrslt{\ul
+HTML5 Boilerplate
+}}}
+ foundation\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Boilerplate and scaffolding support, allowing us to spend minimal time writing boilerplate for modules, collections and so on.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab A build tool for template pre-compilation and, concatenation & minification of all our libraries, application code and stylesheets\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab A Lightweight node.js webserver\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Notes on build tool steps:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Template pre-compilation: using a template library such as Underscore micro-templating or Handlebars.js generally involves three steps: (1) reading a raw template, (2) compiling it into a JavaScript function and (3) running the compiled template with your desired data. Precompiling eliminates the second step from runtime, by moving this process into a build step.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Concatenation is the process of combining a number of assets (in our case, script files) into a single (or fewer number) of files to reduce the number of HTTP requests required to obtain them.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Minification is the process of removing unnecessary characters (e.g white space, new lines, comments) from code and compressing it to reduce the overall size of the scripts being served.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Getting Started\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Backbone Boilerplate and Grunt-BBB\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To get started we\u8217're going to install Grunt-BBB, which will include Backbone Boilerplate and any third-party dependencies it might need such as the Grunt build tool.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We can install Grunt-bBB via NPM by running:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 npm install -g bbb\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 That\u8217's it. We should now be good to go.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A typical workflow for using grunt-bbb, which we will use later on is:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Initialize a new project ({\f1 bbb init})\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Add new modules and templates ({\f1 bbb init:module})\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Preview changes using the built in server ({\f1 bbb server})\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Run the build tool ({\f1 bbb build})\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Lint JavaScript, compile templates, build your application using r.js, minify CSS and JavaScript (using {\f1 bbb release})\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Creating a new project\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's create a new directory for our project and run {\f1 bbb init} to kick things off. A number of project sub-directories and files will be stubbed out for us, as shown below:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 $ bbb init\line
+Running "init" task\line
+This task will create one or more files in the current directory, based on the\line
+environment and the answers to a few questions. Note that answering "?" to any\line
+question will show question-specific help and answering "none" to most questions\line
+will leave its value blank.\line
+\line
+"bbb" template notes:\line
+This tool will help you install, configure, build, and maintain your Backbone\line
+Boilerplate project.\line
+Writing app/app.js...OK\line
+Writing app/config.js...OK\line
+Writing app/main.js...OK\line
+Writing app/router.js...OK\line
+Writing app/styles/index.css...OK\line
+Writing favicon.ico...OK\line
+Writing grunt.js...OK\line
+Writing index.html...OK\line
+Writing package.json...OK\line
+Writing readme.md...OK\line
+Writing test/jasmine/index.html...OK\line
+Writing test/jasmine/spec/example.js...OK\line
+Writing test/jasmine/vendor/jasmine-html.js...OK\line
+Writing test/jasmine/vendor/jasmine.css...OK\line
+Writing test/jasmine/vendor/jasmine.js...OK\line
+Writing test/jasmine/vendor/jasmine_favicon.png...OK\line
+Writing test/jasmine/vendor/MIT.LICENSE...OK\line
+Writing test/qunit/index.html...OK\line
+Writing test/qunit/tests/example.js...OK\line
+Writing test/qunit/vendor/qunit.css...OK\line
+Writing test/qunit/vendor/qunit.js...OK\line
+Writing vendor/h5bp/css/main.css...OK\line
+Writing vendor/h5bp/css/normalize.css...OK\line
+Writing vendor/jam/backbone/backbone.js...OK\line
+Writing vendor/jam/backbone/package.json...OK\line
+Writing vendor/jam/backbone.layoutmanager/backbone.layoutmanager.js...OK\line
+Writing vendor/jam/backbone.layoutmanager/package.json...OK\line
+Writing vendor/jam/jquery/jquery.js...OK\line
+Writing vendor/jam/jquery/package.json...OK\line
+Writing vendor/jam/lodash/lodash.js...OK\line
+Writing vendor/jam/lodash/lodash.min.js...OK\line
+Writing vendor/jam/lodash/lodash.underscore.min.js...OK\line
+Writing vendor/jam/lodash/package.json...OK\line
+Writing vendor/jam/require.config.js...OK\line
+Writing vendor/jam/require.js...OK\line
+Writing vendor/js/libs/almond.js...OK\line
+Writing vendor/js/libs/require.js...OK\line
+\line
+Initialized from template "bbb".\line
+\line
+Done, without errors.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's review what has been generated.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 index.html\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This is a fairly standard stripped-down HTML5 Boilerplate foundation with the notable exception of including {\field{\*\fldinst{HYPERLINK "http://requirejs.org"}}{\fldrslt{\ul
+RequireJS
+}}}
+ at the bottom of the page.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+\line
+ \line
+ \line
+ \line
+\line
+ Backbone Boilerplate\line
+\line
+ \line
+ \line
+ \line
+ \line
+\line
+\line
+ \line
+ \line
+\line
+ \line
+ \line
+ \line
+ \line
+\line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 RequireJS - the {\field{\*\fldinst{HYPERLINK "https://github.com/amdjs/amdjs-api/wiki/AMD"}}{\fldrslt{\ul
+AMD
+}}}
+ (Asynchronous Module Definition) module and script loader - will assist us with managing the modules in our application. We\u8217've already covered it in the last chapter, but let\u8217's recap what this particular block does in terms of the Boilerplate:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The {\f1 data-main} attribute is used to inform RequireJS to load {\f1 app/config.js} (a configuration object) after it has finished loading itself. You\u8217'll notice that we\u8217've omitted the {\f1 .js} extension here as RequireJS can automatically add this for us, however it will respect your paths if we do choose to include it regardless. Let\u8217's now look at the config file being referenced.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 config.js\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A RequireJS configuration object allows us to specify aliases and paths for dependencies we\u8217're likely to reference often (e.g., jQuery), bootstrap properties like our base application URL, and {\f1 shim} libraries that don\u8217't support AMD natively.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This is what the config file in Backbone Boilerplate looks like:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // Set the require.js configuration for your application.\line
+require.config(\{\line
+\line
+ // Initialize the application with the main application file and the JamJS\line
+ // generated configuration file.\line
+ deps: ["../vendor/jam/require.config", "main"],\line
+\line
+ paths: \{\line
+ // Put paths here.\line
+ \},\line
+\line
+ shim: \{\line
+ // Put shims here.\line
+ \}\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The first option defined in the above config is {\f1 deps: ["../vendor/jam/require.config", "main"]}. This informs RequireJS to load up additonal RequireJS configuration as well a a main.js file, which is considered the entry point for our application.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You may notice that we haven\u8217't specified any other path information for {\f1 main}. Require will infer the default {\f1 baseUrl} using the path from our {\f1 data-main} attribute in index.html. In other words, our {\f1 baseUrl} is {\f1 app/} and any scripts we require will be loaded relative to this location. We could use the {\f1 baseUrl} option to override this default if we wanted to use a different location.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The next block is {\f1 paths}, which we can use to specify paths relative to the {\f1 baseUrl} as well as the paths/aliases to dependencies we\u8217're likely to regularly reference.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 After this comes {\f1 shim}, an important part of our RequireJS configuration which allows us to load libraries which are not AMD compliant. The basic idea here is that rather than requiring all libraries to implement support for AMD, the {\f1 shim} takes care of the hard work for us.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Going back to {\f1 deps}, the contents of our {\f1 require.config} file can be seen below.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var jam = \{\line
+ "packages": [\line
+ \{\line
+ "name": "backbone",\line
+ "location": "../vendor/jam/backbone",\line
+ "main": "backbone.js"\line
+ \},\line
+ \{\line
+ "name": "backbone.layoutmanager",\line
+ "location": "../vendor/jam/backbone.layoutmanager",\line
+ "main": "backbone.layoutmanager.js"\line
+ \},\line
+ \{\line
+ "name": "jquery",\line
+ "location": "../vendor/jam/jquery",\line
+ "main": "jquery.js"\line
+ \},\line
+ \{\line
+ "name": "lodash",\line
+ "location": "../vendor/jam/lodash",\line
+ "main": "./lodash.js"\line
+ \}\line
+ ],\line
+ "version": "0.2.11",\line
+ "shim": \{\line
+ "backbone": \{\line
+ "deps": [\line
+ "jquery",\line
+ "lodash"\line
+ ],\line
+ "exports": "Backbone"\line
+ \},\line
+ "backbone.layoutmanager": \{\line
+ "deps": [\line
+ "jquery",\line
+ "backbone",\line
+ "lodash"\line
+ ],\line
+ "exports": "Backbone.LayoutManager"\line
+ \}\line
+ \}\line
+\};\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The {\f1 jam} object is to support configuration of {\field{\*\fldinst{HYPERLINK "http://jamjs.org/"}}{\fldrslt{\ul
+Jam
+}}}
+ - a package manager for the front-end which helps instal, upgrade and configurate the dependencies used by your project. It is currently the package manager of choice for Backbone Boilerplate.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Under the {\f1 packages} array, a number of dependencies are specified for inclusion, such as Backbone, the Backbone.LayoutManager plugin, jQuery and Lo-dash.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For those curious about {\field{\*\fldinst{HYPERLINK "https://github.com/tbranyen/backbone.layoutmanager"}}{\fldrslt{\ul
+Backbone.LayoutManager
+}}}
+, it\u8217's a Backbone plugin that provides a foundation for assembling layouts and views within Backbone.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Additional packages you install using Jam will have a corresponding entry added to {\f1 packages}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 main.js\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next, we have {\f1 main.js}, which defines the entry point for our application. We use a global {\f1 require()} method to load an array containing any other scripts needed, such as our application {\f1 app.js} and our main router {\f1 router.js}. Note that most of the time, we will only use {\f1 require()} for bootstrapping an application and a similar method called {\f1 define()} for all other purposes.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The function defined after our array of dependencies is a callback which doesn\u8217't fire until these scripts have loaded. Notice how we\u8217're able to locally alias references to \u8220"app\u8221" and \u8220"router\u8221" as {\f1 app} and {\f1 Router} for convenience.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 require([\line
+ // Application.\line
+ "app",\line
+\line
+ // Main Router.\line
+ "router"\line
+],\line
+\line
+function(app, Router) \{\line
+\line
+ // Define your master router on the application namespace and trigger all\line
+ // navigation from this instance.\line
+ app.router = new Router();\line
+\line
+ // Trigger the initial route and enable HTML5 History API support, set the\line
+ // root folder to '/' by default. Change in app.js.\line
+ Backbone.history.start(\{ pushState: true, root: app.root \});\line
+\line
+ // All navigation that is relative should be passed through the navigate\line
+ // method, to be processed by the router. If the link has a `data-bypass`\line
+ // attribute, bypass the delegation completely.\line
+ $(document).on("click", "a[href]:not([data-bypass])", function(evt) \{\line
+ // Get the absolute anchor href.\line
+ var href = \{ prop: $(this).prop("href"), attr: $(this).attr("href") \};\line
+ // Get the absolute root.\line
+ var root = location.protocol + "//" + location.host + app.root;\line
+\line
+ // Ensure the root is part of the anchor href, meaning it's relative.\line
+ if (href.prop.slice(0, root.length) === root) \{\line
+ // Stop the default event to ensure the link will not cause a page\line
+ // refresh.\line
+ evt.preventDefault();\line
+\line
+ // `Backbone.history.navigate` is sufficient for all Routers and will\line
+ // trigger the correct events. The Router's internal `navigate` method\line
+ // calls this anyways. The fragment is sliced from the root.\line
+ Backbone.history.navigate(href.attr, true);\line
+ \}\line
+ \});\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Inline, Backbone Boilerplate includes boilerplate code for initializing our router with HTML5 History API support and handling other navigation scenarios, so we don\u8217't have to.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 app.js\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let us now look at our {\f1 app.js} module. Typically, in non-Backbone Boilerplate applications, an {\f1 app.js} file may contain the core logic or module references needed to kick start an app.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this case however, this file is used to define templating and layout configuration options as well as utilities for consuming layouts. To a beginner, this might look like a lot of code to comprehend, but the good news is that for basic apps, you\u8217're unlikely to need to heavily modify this. Instead, you\u8217'll be more concerned with modules for your app, which we\u8217'll look at next.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 define([\line
+ "backbone.layoutmanager"\line
+], function() \{\line
+\line
+ // Provide a global location to place configuration settings and module\line
+ // creation.\line
+ var app = \{\line
+ // The root path to run the application.\line
+ root: "/"\line
+ \};\line
+\line
+ // Localize or create a new JavaScript Template object.\line
+ var JST = window.JST = window.JST || \{\};\line
+\line
+ // Configure LayoutManager with Backbone Boilerplate defaults.\line
+ Backbone.LayoutManager.configure(\{\line
+ // Allow LayoutManager to augment Backbone.View.prototype.\line
+ manage: true,\line
+\line
+ prefix: "app/templates/",\line
+\line
+ fetch: function(path) \{\line
+ // Concatenate the file extension.\line
+ path = path + ".html";\line
+\line
+ // If cached, use the compiled template.\line
+ if (JST[path]) \{\line
+ return JST[path];\line
+ \}\line
+\line
+ // Put fetch into `async-mode`.\line
+ var done = this.async();\line
+\line
+ // Seek out the template asynchronously.\line
+ $.get(app.root + path, function(contents) \{\line
+ done(JST[path] = _.template(contents));\line
+ \});\line
+ \}\line
+ \});\line
+\line
+ // Mix Backbone.Events, modules, and layout management into the app object.\line
+ return _.extend(app, \{\line
+ // Create a custom object with a nested Views object.\line
+ module: function(additionalProps) \{\line
+ return _.extend(\{ Views: \{\} \}, additionalProps);\line
+ \},\line
+\line
+ // Helper for using layouts.\line
+ useLayout: function(name, options) \{\line
+ // Enable variable arity by allowing the first argument to be the options\line
+ // object and omitting the name argument.\line
+ if (_.isObject(name)) \{\line
+ options = name;\line
+ \}\line
+\line
+ // Ensure options is an object.\line
+ options = options || \{\};\line
+\line
+ // If a name property was specified use that as the template.\line
+ if (_.isString(name)) \{\line
+ options.template = name;\line
+ \}\line
+\line
+ // Create a new Layout with options.\line
+ var layout = new Backbone.Layout(_.extend(\{\line
+ el: "#main"\line
+ \}, options));\line
+\line
+ // Cache the refererence.\line
+ return this.layout = layout;\line
+ \}\line
+ \}, Backbone.Events);\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note: JST stands for JavaScript templates and generally refers to templates which have been (or will be) precompiled as part of a build step. When running {\f1 bbb release} or {\f1 bbb debug}, Underscore/Lo-dash templates will be precompiled to avoid the need to compile them at runtime within the browser.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Creating Backbone Boilerplate Modules\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Not to be confused with simply being just an AMD module, a Backbone Boilerplate {\f1 module} is a script composed of a:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Model\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Collection\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Views (optional)\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We can easily create a new Boilerplate module using {\f1 grunt-bbb} once again using {\f1 init}:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 # Create a new module\line
+$ bbb init:module\line
+\line
+# Grunt prompt\line
+Please answer the following:\line
+[?] Module Name foo\line
+[?] Do you need to make any changes to the above before continuing? (y/N) \line
+\line
+Writing app/modules/foo.js...OK\line
+Writing app/styles/foo.styl...OK\line
+Writing app/templates/foo.html...OK\line
+\line
+Initialized from template "module".\line
+\line
+Done, without errors.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This will generate a module {\f1 foo.js} as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // Foo module\line
+define([\line
+ // Application.\line
+ "app"\line
+],\line
+\line
+// Map dependencies from above array.\line
+function(app) \{\line
+\line
+ // Create a new module.\line
+ var Foo = app.module();\line
+\line
+ // Default Model.\line
+ Foo.Model = Backbone.Model.extend(\{\line
+ \line
+ \});\line
+\line
+ // Default Collection.\line
+ Foo.Collection = Backbone.Collection.extend(\{\line
+ model: Foo.Model\line
+ \});\line
+\line
+ // Default View.\line
+ Foo.Views.Layout = Backbone.Layout.extend(\{\line
+ template: "foo"\line
+ \});\line
+\line
+ // Return the module for AMD compliance.\line
+ return Foo;\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Notice how boilerplate code for a model, collection and view have been scaffolded out for us.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Optionally, we may also wish to include references to plugins such as the Backbone LocalStorage or Offline adapters. One clean way of including a plugin in the above boilerplate could be:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // Foo module\line
+define([\line
+ // Application.\line
+ "app",\line
+ // Plugins\line
+ 'plugins/backbone-localstorage'\line
+],\line
+\line
+// Map dependencies from above array.\line
+function(app) \{\line
+\line
+ // Create a new module.\line
+ var Foo = app.module();\line
+\line
+ // Default Model.\line
+ Foo.Model = Backbone.Model.extend(\{\line
+ // Save all of the items under the `"foo"` namespace.\line
+ localStorage: new Store('foo-backbone'),\line
+ \});\line
+\line
+ // Default Collection.\line
+ Foo.Collection = Backbone.Collection.extend(\{\line
+ model: Foo.Model\line
+ \});\line
+\line
+ // Default View.\line
+ Foo.Views.Layout = Backbone.Layout.extend(\{\line
+ template: "foo"\line
+ \});\line
+\line
+ // Return the module for AMD compliance.\line
+ return Foo;\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 router.js\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Finally, let\u8217's look at our application router which is used for handling navigation. The default router Backbone Boilerplate generates for us includes sane defaults out of the box and can be easily extended.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 define([\line
+ // Application.\line
+ "app"\line
+],\line
+\line
+function(app) \{\line
+\line
+ // Defining the application router, you can attach sub routers here.\line
+ var Router = Backbone.Router.extend(\{\line
+ routes: \{\line
+ "": "index"\line
+ \},\line
+\line
+ index: function() \{\line
+\line
+ \}\line
+ \});\line
+\line
+ return Router;\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If however we would like to execute some module-specific logic, when the page loads (i.e when a user hits the default route), we can pull in a module as a dependency and optionally use the Backbone LayoutManager to attach Views to our layout as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 define([\line
+ // Application.\line
+ 'app',\line
+\line
+ // Modules\line
+ 'modules/foo'\line
+],\line
+\line
+function(app, Foo) \{\line
+\line
+ // Defining the application router, you can attach sub routers here.\line
+ var Router = Backbone.Router.extend(\{\line
+ routes: \{\line
+ '': 'index'\line
+ \},\line
+\line
+ index: function() \{\line
+ // Create a new Collection\line
+ var collection = new Foo.Collection();\line
+\line
+ // Use and configure a 'main' layout\line
+ app.useLayout('main').setViews(\{\line
+ // Attach the bar View into the content View\line
+ '.bar': new Foo.Views.Bar(\{\line
+ collection: collection\line
+ \})\line
+ \}).render();\line
+ \}\line
+ \});\line
+\line
+ // Fetch data (e.g., from localStorage)\line
+ collection.fetch();\line
+\line
+ return Router;\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Other Useful Tools & Projects\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When working with Backbone, you usually need to write a number of different classes and files for your application. Scaffolding tools such as Grunt-BBB can help automate this process by generating basic boilerplates for the files you need for you.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Yeoman\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you appreciated Grunt-BBB but would like to explore a tool for assisting with your broader development workflow, I\u8217'm happy to recommend a tool I\u8217've been helping with called {\field{\*\fldinst{HYPERLINK "http://yeoman.io"}}{\fldrslt{\ul
+Yeoman
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000003660000021b08020000000f7c1a0200001819694343504943432050726f66696c6500005809ad796758144db376cf266059969c73ce3983e49c734660c939675424882425082849041104110c241113820822820a180009822415545004e4cc2a3ecffb5ee73bffbeb9ae99b9b7faeeeaeaaa9e9ea95a00585a09e1e1c1082a004242a323ad0db4b91c9d9cb948a60012d0032ca00080e01515ae6569690afecf636b1c40c4c617e2445dff27edffdd40eded13e505006409377b7a477985c0b8150064a7577864340068a23ebeb8e87022ce87315d246c208c6b89d8ef0fee2462cf3f78e837c7d65a07e6cc00408a231022fd00a05883e55cb15e7eb01e3c0e000c4da8774028dc8d0bc6ea5efe046f00583c608e5848481811e7c258c8f33ff4f8fd0726103cffd14920f8fd83ffcc05ee090fac1b10151e4c48f8fde3ffe725243806f6d7ef8303bee2a2826c4ce03b03ecb7782f829e0d8c99607cdadfc7c8f4405e171ead6d7d20ef0e8836b285311dcc79e91f63687780976282ecb460cc06cb7783c24c887cd84f08a6504f730b18d3c098cf2b4a07f63d712c8442a2bfadc301c7d4db47570fc6f02a4238468659ffe5fb47c5dafc952726faeb98ffe507128c89f1c6c3fc6c42248c7edb8338e7136c401c9707963785475b12ed248e351c1a6c7e3017c47bdf487d228728ffe913f57bbe44dbfca3fd6d0d61396c33922a3ad296c881e78864f30dd03782316c1b52ca3fd2f0af5c333cf8f79a86fb226d2363ac897ee083b1af4fa81dd1874479b6374197e85bd827c80aa00f082012f8004f100a96011730053a40f7e0ca05cb436199170803c1f019c945f9b705bd881e45cfa1c7d033e8d77f6570cf031e0800de30fea3eb3ffac3721b90083ec25a7d40d4dfd1502c2875942aca14be6ac2a70c4a09a5fcb76d78ad63ed2f3eb0d50fee2b7ea05bfbc0fa5858e3de5f9e7b406ae45f7cd0c7f39f1effdb267df01ef680df5f86d415a965a9ddbffdff9d31460fa38b31c4e863849199c89bc87ee403e400b21bd901b890f7909dc821e41d223eb0ebef28045842f40ad1c351c004f6a20f88f9fd2bf4ef78ffe5a5987f18071af0227879600df70a0541705bc03f23d8ffb63ae07f698981199ef0888130d7e49f781cd8851280bd2b8fd246a9c17e867d8c6240b10071941cec712d94061c037958fa6f14ff7b36e2c0f7b7b7637fcf25082cc2f30889f6898f86d712d0090b4f880cf0f38fe6d282774b1f312ea3502f09312e1929695940dc7b891c00be5affde53218667ffca7c96003804af63b2917f6581670068ec038031fb5f99800b00cc62005c7fee151319fb471f8a7843c33b3a25fc5430030ec00b84608fc80005a00a34811e300616c016380137780dfb8310d8e2387004a4800c9003f24131280355e022b80cae821ba003748307e011780246c018780b66c0025805eb600bec401044025140b41033c409f143a2900ca404a9437a9029640d39411e901f140ac54047a03428072a84caa06aa801ba0edd821e4003d028f41a9a8596a12fd04f04128143d021d8110208498412420b6182b0451c46f8212210898874c469c439440da209d18e788078821843cc2056119b488024473220b991e24825a40ed202e98cf44546228f21b39125c81a6433b20b5e8b2f9033c835e4360a83a24571a1c4e1481aa2ec505ea808d431542eaa0c7519d58eea45bd40cda2d651bfd0146836b4285a056d847644fba1e3d019e812741dba0ddd073fcf0be82d0c06c38011c428c2abdd09138849c2e4622a312d98fb9851cc3c6693848484994494448dc4828440124d9241524ad244728fe439c902c90f5272524e5219527d5267d250d254d212d246d2bba4cf493f90ee905191f193a990599079932590e591d59275913d235b20dbc1526305b16a585b6c2036057b0edb8cedc34e62bf929393f3902b935b9107901f273f477e8dfc31f92cf9368e062782d3c1b9e26270a771f5b8fbb8d7b8af14141402149a14ce14d114a7291a281e524c53fcc0d3e225f046786f7c32be1cdf8e7f8eff444946c94fa945e946994859427993f219e51a15199500950e1581ea185539d52daa09aa4d6a5a6a696a0bea10ea5cea46ea01ea251a121a011a3d1a6f9a749a8b340f69e66991b4bcb43ab45eb469b4b5b47db40b74183a413a23ba40ba1cbaab74c374ebf434f472f4f6f4f1f4e5f477e86718900c020c460cc10c790c3718c6197e32b2336a31fa30663136333e67fccec4caa4c9e4c394cdd4c234c6f493998b598f3988b980b983798a05c522c262c512c7729ea58f658d958e5595d58b359bf506eb1b36049b089b355b12db45b621b64d760e7603f670f652f687ec6b1c0c1c9a1c811c451c773996396939d53903388b38ef71ae70d173697105739de3eae55ae766e336e48ee1aee61ee6dee111e4b1e349e569e199e2c5f22af1faf216f1f6f0aef371f299f11de1bbc2f7869f8c5f89df9fff2c7f3fff77014101078193021d024b824c8246828982570427852884348422846a845e0a6384958483842b8547441022f222fe22e522cf4411a20aa201a295a2a362683165b150b11ab109719cb89678acf815f159090609538954890e894f927c92ce920592fd92bfa4e4a582a56aa5de4ad3481b4ba74a77497f911191f192299779294b21ab2f9b2cdb29bb21272ae723775eee953cadbc99fc49f91ef93d0545854885668565453e450fc50ac509253a254ba55ca5c7ca68656de564e56ee56d15059568951b2a9f55c55583541b55970e091ef239547b685e8d478da056ad36a3cea5eea17e417d46835b83a051a331a7c9abe9ad59a7f9414b582b50ab49eb93b69476a4769bf6771d159da33af77591ba06bad9bac37a347a767a657ad3fa3cfa7efa57f4d70de40d920cee1ba20d4d0c0b0c278cd88dbc8c1a8cd68d158d8f1af79ae04c6c4cca4ce64c454c234dbbcc1066c66667cc26cdf9cd43cd3b2c808591c5198b294b41cb08cbdb56182b4bab72ab456b69eb23d6fd36b436ee368d365bb6dab679b66fed84ec62ec7aec29ed5ded1becbf3be83a143acc384a3a1e757ce2c4e214e0d4e94ce26cef5ce7bce9a2e752ecb2e02aef9ae13a7e58f070fce1013716b760b73bee94ee04f79b1e680f078f468f5d8205a186b0e969e459e1b9eea5e375d66bd55bd3bbc87bd947cda7d0e783af9a6fa1ef929f9adf19bf657f0dff12ffb5009d80b2808d40c3c0aac0ef411641f541fbc10ec12d21a4211e21b742694283427bc338c2e2c346c345c333c2672254228a23d6234d22eba2a0a8c3519dd174f047ee508c50cc8998d958f5d8f2d81f71f67137e3a9e343e387124412b2123e24ea275e4a42257925f51ce13e927264f6a8d6d1ea63d031cf633dc9bcc9e9c90bc70d8e5f4ec1a604a53c4d954a2d4cfd96e690d695ce9e7e3c7dfe84c1892b19f88cc88c8993aa27ab3251990199c359b259a559bfb2bdb30773a4724a727673bd72074f499f3a776affb4efe9e13c85bcf3f998fcd0fcf1028d82cb85d4858985f367ccceb417711565177d2b762f1e28912ba93a8b3d1b7376e69ce9b9ce52bed2fcd2dd32ffb2b172edf2960ab68aac8aef95de95cfcf6b9e6fae62afcaa9fa7921e0c2ab6a83eaf61a819a928b988bb117176bed6bfb2f295d6aa863a9cba9dbab0fad9fb96c7db9b741b1a1a191ad31ef0ae24acc95e526d7a691abba573b9bc59bab5b185a72ae816b31d756ae7b5c1fbf6172a3e7a6d2cde656fed68a36dab6ec76a83da17dbdc3bf63a6d3a973f496f1ad9e2ed5aeb6db12b7ebbbb9bbcbefd0dfc9bb8bbd9b7e77ff5ee2bdcdfbe1f7d71ef83d98ef71ef79fbd0f1e1cb5eabdee13e93bec78ff41f3decd7eabff758ed71f780cac0ad41a5c18e270a4fda87e487da9eca3f6d1b56186e7fa6f8ac734479a46bf4d0e8dde71acf1fbcd07df1e8a5d1cb2763e663a3e376e3af265c27665e79bf5a7a1dfc7ae34dec9b9db7c727d193d953545325d36cd335ef84dfb5cc28ccdc99d59d1d9ab3997b3bef35bffa3eeafdee42fa22c562c907ce0f0d4b324bddcbfacb232b2e2b0babe1ab3b6b191fa93f567c12fad4fa59f3f3d0bae3fac246e4c6fe97dcafcc5febbfc97debd9b4dc9cde0ad9daf99efd83f9c7e56da5edfe9f0e3f3fecc4ed92ec9edb13deebfa65f26b723f647f3f9c1049f8fd2d8084af085f5f00bed4c379911300b4230060f17f72a3df0cf87317823930b687f4105a482514131a8b2125912275224bc3dec3612808f80e2a2c7530cd209d3c7d0523600a621e665560cb675fe5d4e4cae31ee5c5f229f33b0904098608b90a6b8bb08b6c883e122b150f925093a4907c27d5227d5cc64a965bf6a3dc2df9130a568a6c8a0b4acdcaf12a5aaa58d517872ad4bcd5c5d4bf6874681ed1d2d6c669bfd3b9abdba857a95f6070cc9060a461cc64bc613264da6c56695e6dd16d396f8db661b665b1a3b247daef3aec3801673217bc2bc561d4e14db739f7118ffb849b9e755ea5ded93e09be7e7eb6feda0172812241dcc1cc2194a1c8d06f6173e12311b7236ba34e4727c764c4b6c5a3127c12ef1f0147058ea9241b1d774989493d9d569c9e7442eec47c46de49cb4cfe2cf26c9083c8a53e25745a3dcf3cdfa1c0b9d0f98c63917db16d89d559f37326a50665dae5ea15ca95b2e7c5ab442e48559bd4a45d9cb96454d754bfda40ddc87f45ba49f5aa6eb3598bc335f7ebfe37c26fc6b51e6b4b6d3fd191d999732bafabf8764577dd9dd6bb7df726eecf3c18ef6979e8dbcbd4fbb8afe4515cbfefe3c3030e83564f4c860c9e1a0edb3e8b18b930fafa05f94bc9319d71a309bd574aaff9dfe0df6cbf5d9a7c35f560fae2bbb419bf59bb39f379b3f7160b168bc61f949718976696b357e45666562faf257e34fc44faa9e1b3c1e7f9f58b1bf15fdcbe5a7c33db0cdceaf971f267c79eeefefe41fca59128e4326a063d8f592745922960fdc92b70337811ca38aa4734ccb409742f1964185399a658e45933d8463858381db90ab8bb79267937f9b6f857049e0a5e148a145617211579295a2516282e2ffe4be291e4692907694ee90f32cdb2b1726af2907c9f42b6a28512add2b872a98a8b2abbea24bc0a5cd599d52734ce6aba680968ed688fe95cd7cdd5f3d13f64406db068d86d546c1c6be263ea69e66f1e661162e9696561ad6a2362cb6a87b747d86f397c701c777ae8dcec52ee9a7d38d12dc0ddd1439720e9c9e40579ad788ff9f4fab6f9d5f99704a407860539056b86088652c02b61367c3ae25b1477b47b4c69ec83b857f1f3096b89db47c88f721c134ae63a8e39fe2ea52d352f2d32dded845d86e3c980ccb4accaecab396db9eda75a4f5fcfbb9adf5070a9f0c299f2a2e2e2bc92acb3a9e7124ac3cafcca032a8e57deab12be70b946f06261ed8b4bdbf5f8cb2c0dbc8d22f03a50bcaadeacdb6276cde97af08d8c9b175befb68db64f772c757eed42de66ec16bda37a57f39ee27dee078807733dfd0fdb7aebfbca1fe5f79f789c38103918fd246ba87b98e1d9d191a9e72c2f345eda8ef98e1f9fb8f4ead9eb6f6f6926c5a74ca7c3df9d9db93dfb7c6e7a7eeefdea221a8e7ecaf2e82af59ad447f94f029f293fff585fdc98f832f8f5d6b7eacde42dfbef82dfb77e746f27fe54ddc1edeaee2d1fc45f025a455422dd50c26812f40666996485748e6c831c8be3a7d0c23b53a65035518fd2ecd3f1d3eb3104329e60aa626e65e9637dccf688fd364735673c9736d74fee5a1e139e55de4c3e41be1e7e37fe6d81224129c141213f6112e17a1143910fa2196242627de25e1240a252f290e42ba918f8eba645c6546649364d8e43ae53de5a7e4de18422a76207fcd5b2a49cacc2a07245554bf5f921af439fd492d449d4cb35e434c63513b538b43ab52db45febf8ebecebd6e859ea93e93f3438622867b8625463ec6ac264326e5a6c66634e693e609166a96af9cdaac53ac846d0e6bd6db5dd617b66fb970e798e868efb4e6dcec12e7c2e53ae2587cd0f6fb915b9f3bbb77a6879bc21c47bf278be82f7117f1f035f453f657fa30042604810215823842a6432f4525848b87cf86ec4c3c8ec28cb68fae8b73155b1de7102718bf1e713f41226138393e8925e1cb97df4eeb1dee487c76fa534a496a4a5a5879d70c9d03b299289ce7c99559aed9cc397b3933b73eae9e95b7917f28f15b814aa9c6139b35d345e7ca3e4ecd953e70a4babcb6e963faa7855b9727ee7024535578dec45c35ad74b6175c7eab32ee7361c6f245c516cc2377db9fab179fb1aee3ac70d999b96ad496daded3f3a956f857795debed6dd79e7f6dd817b9b0f0c7a6ef5daf46df6970cc80ebe1c3a35ec3162f45ceba5f678f06bfce4eadcf0cae6b76d62fcffd4c888ef048c020067520070cc00c04e0380825e0004c6e0bc130b80255c25b4550608015f80c00d014865f69ff70704d71131801c50c335294e2008a4800a5c33b100ce70861c05679779e03c680677c133300bbec199231b240d1940ee501c540035418fa14504062184304544212ae13c6f1fceeb6291b790bf5006a833a839b42c3a13fd0ea38229c5ecc019d620a922693d192b5901961c9b458e25cfc7b1e0ea29e428baf16af82e4a25cadb5486546fa9a369a868aed2ead28ed2d9d28dd25bd03f677067f8c158caa4c634cd7c948595a58bd58d8d8cad9b3d96438ee32be70dae486e79ee5d9e7ede123e7ffe4302788119c19b4299c29e225aa2026278b11df14f12ef25c7a4daa49364a465a66533e5e4e53ecb772a142a2628792b9baa48a9321ec2ab49a8976b8a6a9dd21ed0f9ac47aa4f6fc06cc866c4672c67626e1a6176cebcd7e28b15afb583cd69db7e7b9483ae6386d3900b83abe7e146b7f71e1802b527c673d36bc17bd267c58fd2df24a038f043f0a190a2d04fe1c6118d51b8e888983771faf19d89e2497547b98e951f67482948c3a6a79cd83c1998b99a9d931b72baad80fa0c4bd1c7928673ee650ce52395a7aa0c2e6cd6e4d5d25dcaacdbba1cd4f0e54afe55bd16ea6b1b37165b97da573b3f74cd776fdc637ca0f3d0adcfa3df6640e389e453e1670aa3a12f7e4ca0de904d56bda39dbdbb805f3ab2aaf5b1e5f3ce17856ffa5bd8efa77e0c6e2ffd5cd879bddbba97ffcb735feaf7fe418c3f095c93a3816b0edc4004c802356008d7193ce00a4312c802a5a001dc82eb0853601d42432c90d4efe8274045d0356818fa88a044c8229c1169881b88052427d21d598b5c4329a0d251636861740a7a128e7d390920f1271923d523ed2493246bc40a639bc8e5c8efe12c71f314f178327c312537e535387f7d4b1d47c340d3416b4ffb91ee283d96fe1c8338c32063181323d37de600163a96fbac616c7c6c93eca51c8e9c4c9cafb92ab9bd79a47801ef4bbe2bfce902ae8272702eb7223c2472137e8be589a7491c918c96f292d694c1c90ccb66cb99c833ca6f28bc56ec576a57ae51c9554d3c14ab96a5dea9f15d4b56db5b2747b74eaf5dffb6c16dc33b4603c6b3a6083311737b8b13961d566b367cb6ee7695f6d38e3c4e81ceedae24871ddccadcfb3c46093d9e0d5e99de013ed6be867e4efea901f78328823d43bac358c21323a6a2b4a31b6229e3c2e39f247227c51e1939269f5c9bc29a5a948e3d9194b19649c89acb493c259587c89f2abc5e145b2277f64be9f5f2984a95f33f2fd4d5c85cacacfd502758ef7ff95a23e3958aab6acd1faf95de50be39dc4668dfe9ace9b2ea06771aee99dedfe8a9eaf57ca4f2987b10f5e4e9d3d8679891ece7b8173563ee1366af83dfd64f7d98e19cb37c9fb27877997135ff93c0fad3af455bb9db463b32bbe7f7deffda38883f0a90c1b5572638faa270ad490758c215a61070147ef2ab412b780ca6e1e71e0709409ad06128092a87ee40b3083238ea0444316204498ff441de41b1a18ea356d04ee8a7181dcc1db89ef280d494748a2c0a4b89bd466e8f43e23a2822f0d2f81f947d54a5d431344eb44674c6f4560cc68c8a4cc2ccf22ceeac096cd1ec9e1cb69ce65c66dc663ca6bc667cd6fcee025182a7841a851f8b2c8b51882b4af84a96498dcbb0c87acbb5c8ef285a2a3d55c93ae4a48ed6c8d7dcd536d1498323d8a1df6d70d770d868c7c4c4b4dd5cc2a2c94ac2badd56c76edc21c409ebdce46aef46ed41eee9eeede2f3de4fd53f276031c83a7828d42cec79844be45274522c47dc74c2a3a4fb472b93ed8eff4cad4eb7cfe03cb99e752727f7946f9e410173e19322dfe2adb369a5d46535150a954fab7caba19a8a5aa54b63f5310dac8d8f9b929b0dae49ded06f4d6eafe9cceb72ea66bc3371affc81d34392de4b8fe4fa6f0fe80d4e0cc50f4b8e2047d75f2c8d8d4e14bc167c53f9f6d794de74f6bb27b3947376f317de2f2f4a7f085abab0fc7865650dfd91ed93d467dd75870dc217efaf96df78be6d6e9eda62db6afcaefcbdecfbf60f871feddb0cdb91dbeddb3b3f357fa6ff1cd8c1efd8ec9cdd19d925ddd5dc8ddfbdbebbbcc7bde7b457b837b8b7f74bfa97f7afb3bf9efcfab52fbdefb37f6e7f8818ff285f5919e2db0340386db8fc38bdbfff550000924200f60af6f7776af6f7f72ec2c9c62400f783fffcef422463e01a67c53a110d7297136fff75fc0fedd8b8677c4c06930000019d69545874584d4c3a636f6d2e61646f62652e786d7000000000003c783a786d706d65746120786d6c6e733a783d2261646f62653a6e733a6d6574612f2220783a786d70746b3d22584d5020436f726520352e312e32223e0a2020203c7264663a52444620786d6c6e733a7264663d22687474703a2f2f7777772e77332e6f72672f313939392f30322f32322d7264662d73796e7461782d6e7323223e0a2020202020203c7264663a4465736372697074696f6e207264663a61626f75743d22220a202020202020202020202020786d6c6e733a657869663d22687474703a2f2f6e732e61646f62652e636f6d2f657869662f312e302f223e0a2020202020202020203c657869663a506978656c5844696d656e73696f6e3e3837303c2f657869663a506978656c5844696d656e73696f6e3e0a2020202020202020203c657869663a506978656c5944696d656e73696f6e3e3533393c2f657869663a506978656c5944696d656e73696f6e3e0a2020202020203c2f7264663a4465736372697074696f6e3e0a2020203c2f7264663a5244463e0a3c2f783a786d706d6574613e0aa184c57200004000494441547801ec7d097c15d5d9fec9cdbe27904080408004a322460c2a6a133eaa061117ac62b1a2f8a1f8e7935a9b5aa1daf403946ac1fa5145ac15aaa256515c625d6a50aa0617b020a0a0440910087b084bc8befd9f99e7de97c9dcb9370b0145cef9f13b79cebb9df73c7366eecbcc5d029a9b9b956e9a01cd80664033a019d00c680634039a01df0cb87cabb44633a019d00c680634039a01cd806640336030a04b46bd0f34039a01cd80664033a019d00c68065a6140978cad10a4d59a01cd80664033a019d00c68063403ba64d47b4033a019d00c680634039a01cd8066a0150674c9d80a415aad19d00c680634039a01cd80664033a04b46bd0734039a01cd80664033a019d00c68065a6140978cad10a4d59a01cd80664033a019d00c68063403ba64d47b4033a019d00c680634039a01cd8066a0150674c9d80a415aad19d00c680634039a01cd80664033a04b46bd0734039a01cd80664033a019d00c68065a6120a815fd89a9d6bf8278621e379db5664033a019d00c68067e700c040404fce072fa3e120a3851aaab1325cfefe320ea3935039a01cd80664033a019f84130f023ae2f7f7025a32e0d7f105b5e27a119d00c680634039a01cd40e731f0232825bfff92b1736bc4ce8dd6795b4547d20c680634039a01cd8066e00466a0736bbece8d767c68fdde4ac68ed5761df33a3e54ea5934039a01cd80664033a019386919e85815d831afef85e4e35d32b6bde66bbba57fe23a2b8eff59b45633a019d00c680634039a811f0d039d55c9b53d4edb2dbf2f928f53c9d896baad2d36569ada6b6ff5d55833a019d00c680634039a01cdc05132d0de3aaf2df66db139cab43be67e6c4bc6b65475addab46ae06be51d76f41550cb35039a01cd80664033a019387918e870f5d6aa63ab0620b92d36c7f3581cab92b1d572cdbf817f2d096a8bcdf1a452cfa519d00c680634039a01cdc049c5405baa3aff36feb520b35583e34678e7978cad5672be0c7cc9c9857fad95afb65b5abd34d60c680634039a01cd80664033e0c840dbeb36ff96beb4bee4924cab066279ec4027978c7eca355faaf6cac985a397a3f0d871a7236b0634039a01cd8066403370f230e058b7390a85135fdaf6ca11d0978bcc75ac41a7958cfecb3547adb7d05bc2f5dbe4b6a11f8eda6ee9278856690634039a01cd8066403370b231d0f612cd66691b0a6fde726f098c1d857e8288ea5883ce2919fd54668e2a6fa17f89b75678f1a3121b1be8808b2d821e6a0634039a01cd80664033f0a361c07f95e6b84c3f2e569515334e5b24b0f4369334fca8c4e658804e28197d55608e729bd036c40a4522c0ba6c47210d1c558e426b408d35039a01cd80664033a019d00c7833e05899390ae9eba812a10099c826b10dfdc484cad158221f2370b425a3af9acc5b6e93f81afa92dbd66f35b3629b996dd8764b9ba31e6a0634039a01cd80664033f0e366a0ed7598d5d28aadfcd8e432144063ff43d8d80c640a5f7231e874705425a36305e62db4491c878e42eb6ac54080550bec2df796b4ea6233d043cd80664033a019d00c68067eac0cb45a75791b784b488ec80508693609878e425f2e90dbec6d938ae331051d2f191d0b326fa14d621d127b4b64c1a212e0ad82c4aab5623176046db77474d742cd80664033a019d00c68064e74061c4b31c745592d7d613a8a56804d8e215556032b16033a7abb8bdce625f263013a58323ad65bde42abc41b7b4bb842910b805cb000ab50a8b16a6dd1c44603cd80664033a019d00c680634037e18f02ec5fc4b442b00c1050bb00a05fbd75a93b45a8adc5128da4e041d2919bdcb32246413fa195225060224881f895525f656006c6b36179b560f35039a01cd80664033a019d00cd818f05387894a007d65482043687d49fcab6c611d877e84547562df3925a3ad2cf335a45cb402b01e60db9042e9b966b11140b9d5cc8f4a8c35d00c680634039a01cd80664033e0c880b5daa381480488a3480440456ced258eb799cd5e86746975e86d208e9d0bda5d32b65a90590dbcb148ac4030d606cc217baed65b424be9ad802ed6de1aaa2d72ab8dc69a01cd80664033a019d00cfc2819b0566fd605fa92c346540432a4bbb75024564b6019da800cad73d9b0f7d0510261e7b6f6958cdeb5974d621ddab00c6dc03a24f69670cd56392432b4696d2a9b198d75af19d00c680634039a01cd8066c01703ed2addc45800c202cb90c014047046915887362f0e6960c3de434789f8760a6847c9e85d7bd924d6a10dcbd00abc3125d61e8bb40ec545e402ac2aa1c65be82d11630d34039a01cd80664033a01938391990f24e96ef2d81ca57a9675389afd55eb0556bc59c1a12114a585111380e6dc656cb4ec1419d120541aca5986002db90c65615b06dc8ac6c7299c56a4c4b513902dad04bec35d00c680634039a01cd806640336065c05aab412e430134968a8272ab162a0cd91358e35bb168e94e1718d8828b9c2a1a5be31c37dcf1bb8cb224ebf2ac980662661d0a06102cbe2221f096436213cad00a0c23b3491c8fa015b9cd4c0f35039a01cd80664033a019f8f131e0abfcf2968bc4061c875621b1630fa1a39c3c5b559070685579639b190d3ab16f6bc968abba7c0d454ee03db44a8039b402accdd790cbf6d65ae9908022a4447c45ae81664033a019d00c680634039a0161c07f5966d5c2c55ad20173c85032a4d0cf50540c28f61247267204563362ab99483a0bb4e9c1b4b5eaf29e58b436e03da4447a00c108cba1b7a4aeaeaeb2b272fffefda212402f49c92a7754892501ed6d423dd40c680634039a01cd8066e0646080259a6da556a1605b310717ab045886717171515151212121943038ea0d3170ac3da0a59c80c6f4125f6f60cbdc3697a3f668846dbacbc865c834d6a1601be0d02a14098015232c2556213154b5b5b5fbf6edc3f0d4534fadafaf6f6a6a923404404b7245d27620be04326c3582a3a5ed183b06e16e7054f91176c0cb96611b23d00c3d9241046b4ab680a2f22517033f407c0964e8c7852a474b49dbcf62fda8fc4cda012f5b866d8c4033f4480611ac29d9028aca975c0cfc00f12590a11f17aa1c2d256d3f8bf5a3f2336907bc6c19b63102cdd0231944b0a6640b282a5f7231f003c49740867e5ca872b494b4fd2cd68fcacfa41df0b265d8c60834438f6410c19a922da0a87cc9c5c00f105f0219fa71a1cad152d2f6b3583f2a3f9376c0cb96611b23d00c3d9241046b4ab680a2f22517033f407c0964e8c7852a474b49dbcf62fda8fc4cda76afc0c0c0a0a0a0a2a22264989090101a1acab088c086a1071a24fb17d2c0d6cbd00a6cd87b0849a7b436dd65f43513487154d9e418524260c570f7165a0d0e1f3e8c32313535f5c08103306e6c6c9419c1b558ba5c2e8612ad0c69030300b8408e8038ae0c25070c5ab1a10b4301a3497c99948e1cc2c03a2f30e49805bdc8692943021a883b0024689470480c21c372688d23f634e0bc14b2b7c5e1d0310267912938a42549432f8e0c8e21ec851fd1522ebd700b094369fe852b6152f30f06d0b803b9518921045da212ea6c4218e8fd4f4ec88310e58b3a189061029889a5e69f9c8007b9be0939264f6eae84402bdb9a7fd2c2fee4b9fe63bd2819fbf5ebb771e346542fc1c1c1dc2ab249640b61b708166013ca8e823b6c6428c0975c0c3a1db47e975196cab9ad43c15660c570c19012021ba650ccbcb5dbb66d3bedb4d30e1d3a8433105ab246000c217c854a316040f4de3b9553d057e2d01e4248d0ac1708a8a82560406258d2c536a43b72b31a8b0d8024cc34643ada484c02cc42170c29b15d8c98066c68c949d1dbcc3844045ad280916521d4d2004286b2c617770034c46404f46862498c9e1160090c6354eab001a62feda925468f062f46a08a183d1a0312c31206e86d43ba633aabb1d8004858009a412871242601e5c06c18c2059801e9c8212d39297a9b1987624903260347c8d9332c301a43018897150023262388170d3084177a46a010c69a7f2150f3cf9d835d012a64c350c8cd03ae000463480977322cd9600039302db9e5482fe534a397586afe410bd8d0fccb96003076db8fe2fa8faa313a3afaebafbfeeddbb37d6258d079d432bf6968896003d012c05db000d28f45659e547838fbce2fa8a8243282a472c42002b86974808a8152c5a9c36de2aba6fdab4e994534ea9a9a9610ebcd0d018dc11c8e549e408087b2197185a4a08d84322c694c8900920b800510130147a340e01682971e80b2d01b434602fafdfa6d8c8168e12194206a40411a0a5a375220481012348cf506206c01c9818cc1853e40c8b2970e74f26621019323886f0652634809c4219322ce400f42296d909d85b8d29e172e80b0982c39d4054cc9f6119013d1a2d250e7d614c002d0dd86bfe499ab02abc811f2153f30f5a8c7d6336b001ba2801450414ca104028f5f8b9cf6e6195c6e8d1c458f3afaf3fd80cd812dc360494608f71b37193c000004d5fff7906a147135a80c11baf5d02c82a48a3d9b1befe8787877ffbedb7fdfbf76762467e9e860400999e47e6fe4b15078209d013402bd8066840a10d8bf028412b2523f99539ac43a19e5a0c29c190c014b80f8f37a6447a7ae1e842424c154ac6e4e4649e36600a42f418f27813a327e079c508dedb053650710a680168437b4c4a770058e2e2c5293823b5103288f490a3d11ebd048417a341888968839e99a387dcf034b90246830b1a00843000c6ff544c13a31303dac000f1c51806b6138053c01866321d011303467c4ab858624e649d17724e4a157a4834ff9a7f6e3f6e4e9e1ae00443ec16346e33ee16daa0e7cee14ec3100d96b041339df4fe37ae7e60435f7fccdd6150a1af3fdc123c4178be80137dfdc1de904d72fcaf3f78e8bc70e1427cd6822fd34c06c2bcbc3c64c5038467a42c19a1a5017a3970a6cca1e3e1a64230017a02680553c2a10d7b0fc5acc3c0b852fb71b66a1db1080188a5b7021bc6b02d0d89151717f7ead58bf4c1854c11a087c1819d3bbefd7761c9175fecdebc09e3a47efdfb0cce48bf68786c520fae4b5eba680f218230c281b21ddfae5e5afaed7ff66e2d86bc6b9ffe7d4e3977c0593f8d4be8491b0861890800e8b10f00d000f696ef5ebefe93f59bd76edeb935a0b929a567df817dcfbc605056f7841e9c8853a0c76ee6aea204be5c05e23037c8d18821e41035996000b8581d316443700942c0171bbaa0a7178c111643349a418e29682c36d0ca2c4c03c6a2850471604320018da09e0603da8b96d359132096507415471932027a44809099502b49620847ab2fb038126bfe4188d042c62801265714da58151a4f12fe9b2a4ad76eac39e5acd448cf260703587bfd81922f8b6b4fcb3c25fca8f77fe3a1bd95a189017b377c571179d6e97d7086778cff0325eb8b2ba3334eeb8d0838b268c6b1abab286f8ce91aa9f7bf71811562710481ad1262f47affebeb3ff6061bf709b70424adbefec21e5ba8a0a0007713698c21bed7e5924b2e91214a467c0c83575768dbdeac2e8209ac439158811f0cd5d1b7c0e9d3a7b7370a08a58b15108bc46a202a005f0d973cb8400b805e303e2e1d1b1b2b5e201d2a1a036f5bb3f6b3bfcefff6cd7f26d4d60c4e4aea1b1155b96ddb86659f946d2a894cea1e9b94041b9c15e2cec80d0d0d08b2f5db55cbdf7aacf4a3177a065664a6754b4b0cabdf55bcf13fefed2adb161ed32da64b0ff81a1762f3ea235931b16f8abf5ab4f4d925eb97d4776d483e2329a6775469c58ecfbf5ab1737769d7c82e5de3126986a901b81711010d4334c66456943031f4720e434e03b8d3868e620f2d02d28553302ceda192fce1c2a9e9028c064c036000d8801662f4561786853d5d44453986d268c3218d61e38b7fcc824603e44c33c6841c418069805000e8253225187216f4a41a12b11421c9811c8d11380b0cd02426a369fec10989b2f0dff0ed878b66cd98f1b7e75f46dbd8903868604ab049268c49a62ffe1b777e7affff7d76ca4f0646366e7f71c6cce501a967f78da74bcdd6f7ef7f60596a56466c90bb7242b4cee57fd33b8f3d531c3f34ad0b57c4a519fbc069ff5716bff1dbfb1f3ff3b26b13025becffdaad6fdd75dfe383465e9318642c967b0c3d57c1fdc31ef1d104c3000d2ba2bcb9f29b7b6f99923ceadacaa5bfbbfff180113f1b080e69d0defdbfa5e09efbe6a94baf1d1462e1bf6ae3e25b7ef5fe79579f1713e0be7ef2a0e8fdefe6dffc83a3c3eb3fb741c7f84724b823140022a0f7b5ff61a3f9378977773f1afe790d494a4adaba752b3ee382e56169d5d5d5781f1d00b4d818a820f16d3b0090d0403001e48e8d5ae9018861dc2e60b5779ca803c2238f3ebd9db9486f79ab12ee0e9a3108258e3da9f7a582166738b50888d38f61213fb47bd7cabf3f57b97ad5d41197245e7e891a9ea570d43e58b6e7ad257f7df7fdd5cd01e177c5c7f7ec25d74d001c5a38021cdcb7f3cb0f9e0adab0e4f6c9d7c7665d1d12fd531c8bfa43ff3ef0c96b2ffdedc52f031a236212a3e3bbe3bf0b3842b0e7698fa991c99efdbb5fffe4e5aff67f7de3e4abaf3ce5d21ee16741bebd7ad5eb45efbcf8f4dbcd9f348e8f8e4f8ceb06217c311d017a600604401cc404400f331902e0bb843829b5989d5a00fef7050006080839001a2418c2113d9ba830241609001ae48c03777cf32517889ed75368992d7a18880b0c185fe422a11cc6541140cbdc08847fc6a70db04c0a007b1a3301d850c29cd943882618002ef045cfc8a2421048604cb9e61f84f088f030919fd6f83ff8f95fdf08bee2577fb9ec949def2ff8f36b4f3cd8d475e675a70ac97ef8dfbceaed0d8786c536d737541d5a5754527d663d66c7a47069a83fb861cbea8375bfe811788cf6ff814f9ffdb8f9d7d76175dc2dc6a6b16c66644209f77f53082eeec9214dd881d82c47f67f63709ccbd53ba4d138bdb8c1a8652891183e9e539e61b14c68c9366e757df4e88c2d437f736674e3e6c8d8c02e71b8c38f53ab6dfcb7b8fe6096e0084488e7b92a69849d71fd2d7dc64d79fa8be76e3e530e0de3c3065ec07aff8384f6ef7f3bff3cbe42b29ffdaff9f7ec7fe344f8915dff5111bef5d65b78f4cca38c1e8dafc2d812d82494f0b220e720370f5400b6ab072ca541cb2090c84e136ddb810469bb8b7f4b7f25a37f4f2e033600c4d25b81a1f3dd409c2881118d1262a80004e37a476392be796961f5279fdf30704062ff3e6ac3776add3746c24141dd5253c6f5ebffc2b2155b0667c45c3f0632d823082fdfd8b800c56bdf0f2c5a327a5446ece967b80e96d6ef5b60980585c49e36e8ea515fe7ff6bc99675e79e997d3d13a03b2230812f362cffb27cddf957669c9e9256dcb465ddc16fe11b1e1492d1f7b4922bb77ef6cf2f3f5ff7f165175e0d21e6820b001bf70784080b8c9e91a1c5105b4d0cb84018c018180600e85915d11df900a0d10043466392b094fffac0065ae6801e66e2052cf3721648d0181c3d1a8650c1c5c63f83a0a7163d9ae9ed7e21c472983603720809011de18229204133031c795586176c98809187877f58322c006d1804426b861052c2b0e8390584080b8c9e8951253cc000723418103314fa9395ffb81b5efb674c5063654d43dff1f7fce2f3718b567dbdff6769b1adf37f60f5db25436f3e3bb4593505b97074e07184ff803048f07f386c6d1c8ecee7fff0c6775c71bf1fdcadb9b90e9b07878f8d47163d86e8312ff7436810de106c1c7488610f00150c825dd8f9b871873dd3e2fa030386421cd3cb080f091aa7c3a2b0580a0f6ffed753eb0273fff693fa9a8a6615e00a688611b48d0aff296df7fe6f6a46042345cc87ff50e31a83191b0fab9cbb6f7ef6370f7f34727e56a271614778306ca46536bdff0dc2f5f5475fff3be9faffce3beff4ecd913a7555555155e1af0158cd85d38d57035e0eb2f2f237235c09501c6d0f24c8425548279923af670e41586c03ae47490383a1e0b615b4b46b9260a60363224406f051c3a4a2024a15660c318e218500866618f867949d9c12f569d55e3eab9bf527db65a25c4ab887023a5aa6a55b6bfc7c1ca8c4ad7cecf57358fbd16ee6874c7051411e07eb074e599c92a36323460d3572a2a3e303402ae4df5d50115fb2184ea9b6dff696afab911d06c88002f2483fe9b5d5fc79e1a1f1113b676cfd7316171a1c1c130a9adaf39585d111e1b1e775a7cd19e0d977a2a2dee2178c1c64cc4fd26096c290821617c6645034830e48c9c1458361619202d8c402fdaa0e78c08c2173c4860464bf40cce49a9a244bc4011e4920fe424cd9b7f384a7049186610325b0a31a40443e19f4244404a34966a8cb9d97ad8c312c9480f03046456d402c380983d6cb82e2e1c4234e400b9e61f548087b6f15fd77c78ff9e26d3beba312402d7c8a020cf7fc3ac87dece7f45f19b95aebbce486868aa534d289450299977f04cfecdc3c7c2496d5b99ffd85fdf2c43424a5d73cfa397f6c7fb069bf77df3eec3735e338409e7dd7def7f9f128d0357f5efc7ee5f9d7cc5a9a52fbffa85facda38fa456ae7fe9ef4f166eac84d5806bef9d32a21f8f3886a56b3e71c58e4c5155c6ae69dafdca437f7977a33943efa1b9b7df7c7a82b1cf030e7ff7dc9c870ab7c13cf9a211892e5724f6344ebea6831b447eb129c799b3b960ee7def87e4cdb8a56fa871e6567cfdcf3fcc29fdd523b7a7066c7de56f7f7d77bd113c72e0c8dcdb7ed62feac8dd6e58a2952c2b70f5ba714854756d15ae6091aea8baaf97bff8e882a570e93d74dcaf6efdaf58dc236fdee39d24deadfdc9a2bf3db374232c55ef9f3d3aedb270f32c7045076c5df7f663735ec3ca93b36efecd4d17a2826fe87efe28d7f3ff5abee5c251fdb9e7f5fe27ffbc50e8eb0f3611ce3b632f79aede0090c859038ac01824d83f0090933412485faa24028690c318006600e8191698ed47c93f7edc05f765582f5e74d1451f7df4113e0d234ce2f517984c9222f4a045b0b044009534d8803719028884003d84b021a0a50c05582374166e6bc9e8673edbda247bc8d920e196f2088cbf22b10260ab318668e49dbe2008cdfd7a5fb425bd2e20624399aa6e523d0ea9a82863eac387d59e43119bf6a7abe6ed9b37c31232b8b07e6240846aa82eed99d23324ac29a8f950406380abaece98b7a10aaf15cd614d507db5bb94f3f270c2450e7079f5cea4b3ba3646a86a574d40f3fedafa10f8d635d561d81cd69c949258be6b1727428ff30db333790c11046131c4076228e45a20a7196d98330d80d10403504221bdd063c884f9511b990501e1c2e46186212c694f8c5e3e9dc3208c29975786650250a149ce10422b5719ba632e2649174e67e31f4234b2417718232c7aa6ca08c84d860490880d32c1ec880389602e07120034cd3ff8013947c93f8e0cf9afd9b2ecc592c09e579f1581b710b4c6ffdef59fbb5c57f50fa96ec08dbc06f35ea26ac653601c1d63ff1b35a40bcf7b1bd4ced79e7ca7fca7bf5e70d3a97b8a4a1abb87e0b0d66ffbf7ef1fc93fffb6fbff7c41d84bf7feeee13f757ff8fe5111b8ff77a0fc9b350bbf39eb9a5fdf3d2825b8e6ab371ffd64f3d0fb174c8cdfbba94c75c3323dfbbffaebc2af7a5df9f3a0fa264ceeaaad094abbfc4fb9e7c71dfaf2a1dffff5858f7f72df9503f019b617eefebf4f2287ffef5f7edea57cd5a333ffee72f56bacafab0f2c7ffeb70f7f1673d1fffe658c21ffe3532e575f5c86fa649ce17af9f98295a3269c9b101050f3d18bef549f7173dff0edcf4efae3c7eaec7b1ebabf4f50f1dfa7fddf03b98767ccbbb17be091733620a07ad337953d7f7a5a439571bfb3a9392270ef3f1f7b2afdffdd3b33a6e4df0fbff8c2437109f75f0d6d7560eaa8077f7d7e7cc55748f2c5653ff9dfcbfbd76cf9f8d90f36dd7cdfdc9f74abd9b4a5d2b8198bbddddc3510e5e52391d7dcfdbfbdb6bcf6e8abcf7e9a75f6c57d42547d70ea90c082adbb6a9afa1adf86a0f7bfe7ff4547b9ffe59a631c3dcf354aae3990088681b1b7f5f5c7f29a75f4d71fe1fcfbe21fdf0c8d1f00e46b0d7ab6f3ce3b6fc58a1578b7e2a5975e8a4bd6c5175ffce69b6f22436831e41e00c0550e0ca019973b73c86b292c6dc013d8a897a0420491c05d3001b4de429bcdb118ba9f067a87b6a62bd80630140922c8d00abce5d0f2c0db0085e8a5c140a88710183d4f7ea8c28303637b44ab94aeaa7b8c8a8956d1112a364ac5c5a8a43835a06b5c725c78b071d944210247920bcc38c16141415d135c5dba1a6f0932bc22f00f00c3c02e8950c10096a40573a1013381d0b0a02e515131e111d111e1d161e171e111b161e1d1e1e1d11111511191f1d111c1a1c62791d1e02209300203a26756d0b26082b1f95a604cc4ca092a60338c11074234082961701a7016f65826e2400b4b4800e04540470ea1653444800b553483045a6e6ec6a18453a317fe011004362802201777085916700adad8f8a73d7a347ce92613c04468080b217d11138d72009a41cbc4bc87f01206a0850b4301238811cbd39815b49affb6f37f78cb477ff8f3cbaed36f7cf0da3e38e4adf15ffddda76b7a5c7376708db149c03f9e4ccb65cf3cbef83f4380c1bf7261c30596147db7bda6c769a7f50a378c4bd67eec72f5bf302d78db3675eea80b02f7afdc5281fddfdc501be83afb96e7eebde6dcb3fae1d180cbf87fc796755f1607f71ad0afbbf18baeeefd5f59f2d1f6c0cb0677ade1fe0f4fbde996113d429a6a63fa9d111b18141282046a8ad72c77b9aefdddcd6931c13169c31f9cfd0b97ab1a0fa06b8a57af080cbc66ea4da93141b1037efae0aceb03036b8cd3a2fb85d7f60c5cfdee6787f1bfa6edabded9e7bae6e7e71c2e5afd5960e0b57ffcd5c0c490a098337f9307e3e59f7d5b8e25986be4f5a7a2a2cc15505d556b9ec24daac6e53affd157fe38fcf4948c2b26dc941a58beb6f800288a1c30fed64b93821bebe3fa0f8c0d0c0c351e5f04066181ae2fffb36e4f63c26903fbe235079bb649d5ba5c3dee9a37ff9a3353cfb9626c8fc0c08626e3f64643437de280fe819bcb7946c15def7f9ee9fafac3b3156cc8aec0dec02e05335441cef314727dfd2739c2cc8b2fbe88772e42881ef8f1c71f5fbd7a754a4aca2db7dc327af468dc5c04b1e82fbffc72f7f5c7f282082f69209c1880d80630c481a090c036a4018436b9486c806614764adf91bb8cd6a4253feb226920bd15d08c3db823e04e05a6043dc20ac6a790f0ff361c09088dcba70bf7048d8f6b449c3ee0e0e61ddde3e2548f78d5ad9bea1287db296aff21b5bb4c85971d387c30a4677778e135098713c179d500802422bedffee67dc991712a325645c6a8e0586321f5075575b06aac3b101013d925916717bc9818f470c4b07b6cefa68a9ac8c0d0b890f0b8a0d86897f19f8f8aa6c3e5ae8370711d563d627a43026cbc1c9a3b40a666e6d062c9fccf2830560a4bba605d9c0e42189019f4d0a2c11da170335cf625eca145e35cf0850184e8690c4026118d2b4289000c2102c21e0d002e90882f30f36770d8dbf8870b231320082c6106004b6488596000213042418e216714405ff470811036689c0b43724539b3153e91ada407770ee94e4b3180506601d6fc83848ef1bfe78bfc3f2ffa347df45dbffff9a003bbf6e3ff25381c38be3ef9af2afd7493eba21bbbd5341a075735e2fd77aef0a07a1c02b8c0b1be16754f40755d6d5d70afc979373cf0c08b73662c0de832f896ff77eda95deb377eb3cfe52afb4bdeffc2d87892eb4a0b578dd8544d01aea401bdcb4b77e1b627ae1f4326ccdcbcf70ff97f9bfdfa1361c36efc9f51838c2f49c0d1afdcb6a62ce0dc01d1b58d35e655a5e2dbbf3dfcf4c725d5cd61e10135ae3ecad8ae0d468519ddcbb5bffc10b650e5de7da8e45c8622d49407ec3f5489f3b76a7719e401c60b4273d085d765e73ff6feea9dc3ba14be1d1070f14f7a34d65585b85c49fd220e971da8c3d6ad6d8c8133fe57d972ffbb1fca2336f86f6aae09884e6e28ddbadb782f6260ef8c24d7bfc38241c8812f1f7fe8ef9f9654abf00824d9bbc9f8ff5e70dae5bfbdba74ce3f9f5957f074d2b9d74dbaee5cf3614a4d40f7ac5382f6ed2eaf570d87f04e019cc93ccb6a713f186c7bce5fbdfff5f50797446c036c4eec109c4bfafa0f127026f2d50a18fcb4fafa8b5f8bc61dc4ececec7ffffbdff8d6bf1e3d7aa064c4efd2555454301a5f9b707103d5b88ce022008cc868c0c685c5f34a040c21869c14181204a101015cc41ec036840d1a8404ec6966951c23dc8e9251962429da24563954d412a0073530b002aa481fe5b65e8cb1d76186638c9efb1e7c850eced87ee0d02929bd54d778d5b7b74a4c344ac6bd7b555028ded7b8637343e4e00c1c0c5e49118a07063d7044b78cdd87df4b0b0e0a8a080a088d53a1f146f2c6b3a4aaeae0603cd78101ccb0b1705c3129a643c326400efdbb9cb261dfaa88c6e01815d13528362a280eaec10d284ceb6a1aaa1bf7d6a57639830516a6e6be4404d848e6c0080e1b6e1a601a704668d9303b00e6851c0d984b401a0074410f156c0860237271840126a2178d3935f2810d1be622339c14668803150062c212432bff903319c8119c1866640c73d1177208612cf69c055ee2422069200230cde06be31f7246464004418ff4e042c0e543ce6870d7fc770aff355b3f98b378c5b9b7ccfed54f627695eec5866b95ff9aed453b5c1903bbe28e98b92783ba9fd9ddf5ceb603cdcdbd7098e0beaf685d60e0a0ee6138132a9b932f9af3e2a87ddf7cf07f339f7efaedb4076e187adac0ee053b9266bd708ff1df2fc3bca17cfb8e4a63d7a0ccac680a88c5e187a2a2a6cb4d0f2cbae1e0e6371ecd7beb8597d2a7ffaa7fb0212ffeecb3c08b7f1d5dd5889f8d6a6eae5df1d2139f6ecb7c70e15d7d839bdecd1df7af60e36a8bdbe38181d525e5f57d7b198fc21b2a0f1a1f7301c2a3e9c0ea2d65357dc38db754d6571ec49cb8a78a4d157ceaf0b3023f7d7dfe5fc3f7d79c75eb4f832beaaaea7132967db7bdaa474fe325b9e6e06eecd8e6463c3d36fefb846c4dfea3e2927087d5b8924082fa31d0d588b786e2bf890d0d8737ac290b8cc23b5b6a3e5ff4d715a5990f3c93db3f541949861a019b2baa4f19fddb177f56bdbae0ef7f7ee9d5f7cf4abf322dba49b9026b1a0e5437e0bb3d5433ca4b948c7cb050b76bd37657c285787e8d0b07dcf5fe37f9c7a16871fdd7d71fec5230c3eb247aec7aec4cb004c0f38d5751483084258627f3f51f6f5b44a5f8e1871ff6e9d307182f70f8254030035a40110824207594532834825e60e969635c0dccab1b8d311400391a863c043224909e5a985925d6a1c83b0bb45e325a33769c9506d65ecc20b4ca855600626f007b9b10d128614f96414ae2f9e7edd9befd3fb5f599bd7ababa26a89858a3646cc6ed0cf5c581bd07d3fa269c770e6a2378e1f420f5e871b031ecdef7fc1deb377db965d79971f1e1cd8db8b7c059aa1b9abedcbcf7904aedd1fb5c38c21ebd9c451c9eda73d0de4ddb77addf9b34b86b605050a0cbe030b02128a02600c22ef53d4eef7b16ce3108912a00dce1c80609a3410b09b45c0e0086988b436a597752021598810d5468d67213cb81168d5ad8331a9927860a431b461cda80135c0ea0c510d1d03314e48886c6f8ec3184230cd038297ac681045a7ac1061872341bff90c3123c504b2c3129849666084ec62087257ae4898068b8ef83b4a10586192200d0988921028c2181231b2434e074d042020c0003787148ade69f9c34d66d7fe3c9a560a66fd8a60f3eacc6ff9d5de1dd4e1b90545f7b60e58b4fbc5f77de5db764877af1bff9cb0f5de7dc1e5b5d77d878d3235a489f81d1aec217f207fcbf118392eaf67efbe1a73b5d832e09af6f6aa8dbf5c15b5ff41d745af7982ef8044a69684c53535df2d0e1aea5afccbaefa91bae1c1a1b58bd7debdeae6969b1410dc6bd4a7cdaacb616c71adf83f6d5d2a521a79f35a0676cf784685771749cc259e06aa82d5db9de35e2b7ddaadd7bbe39d4d88cb59bbe5cbd7de767ffd8e752c59b0f0c4d88ed794a37d7fb056fbddf75e4196adb8a17de5eed7225638385260de8e67a6fc9dbff4ebc6c50d3d6e52fbeb30672655e96aa2b13468c4859ffdeb65a57cae583626aaa2b23fa9e7b2682bcfa5e9f1b87750fd8fbdee202976bd090de110db5c61720703307068664e4a4bffdc6dac3ff754918ee3d34c7bbaadff9c7d2b851e7f6afdab2ec9d9dae53ae3f33bcbe31c84c72cbbab53b3c49569e9f18b2fbcb8f57879d36a07744b79e08181b1e6a5cd30c1602709bd6d8ff0de6a6352f9b818187376e700db96d9071769927a3deff3804d82ad87f00e879750200433c3ac43ce5690639b4601b437dfd010f20411a86c21584a4088c5108ed8ff5fa8f73ad5fbf7e58266ed3a28d1c39d278f060ee2e92032aa005037c35810a72d948549131c1364017440090adc8b0b0441339b556150dac3d8dad924ec1ad978cfea7415a30901e40b0b79c5af6d0823e1a9371ca89a982048ce3c134ce79b1244d90874646258cc8d9f3f1271f6eded423383021384405a8b2bd653bbffbae3a3ab2eb4fb28262627179c5f1c3c16670fa227850484cb70157ee2929f86c4551529f0309dd8c9f8a29dbb373d7d6dd95d529ddd22f090e8b332ecd963a8c0963974484469fdb77d89ad24fbefcf49b7ebdaabb75eb0ed5ae3dbb3797968436c40fea3b34323406e96146d61ccc1cfb004264026334e60300b9914f5010ce347c4a1f2e48120dc604b001a68bf000002f08d18b256362bd9c0bee009c02c161896734880f212ca1650f39305f5aa8821c5e1412cbbc34861693c298f6188a0be4cc0deec0903bf20f391360fe88c38018023320301acc30a41043f04f0c403338420e8c460c17d840a8f9ef1cfef1a58a78af6140c03ffffe8cfbc0855e78d76fb243b1472a2beaf01930bc7dd6ce7ff9da95ae61ff9370a0c6b8aa42890be9293ffbfde8fd0ffe337ffeaa7cd3baebb0bc5bceae3db81f476df3d27fbefbfe1bc696883ae397d79cd1d45855153deca1dfaad9fff7da13733e82757373f2f8a9fd62f0be477cbd8c32fe13681ef4e0a69d1f2dfae8236675c92df88ac7c6c3750d0df84e7e57efabe271b3cfc8cbe50acbfcd9b5050fbfb670ee06157ec665c306bcbbecadb9ff8cfbed951977fd72d4ef1fffd74bf33f6b6e4e1f7b63f6cbffd88ca7c1b5216977fdf2b2bcbf162c9abfbcb9f994eb6f1cf6d23f36e134c37f039b9a0ef61a36326ae98280f32e4fa83a80bb9e0d3571fff3a75fff75e6a37f7ff85363551167fff24fb7c4d7eea96ab6eeffa6d8c19727bef4c8d2f5675d9a16d3148c7ab78f6bc3a2bf7c689c83bd87fdbf3b2fecba6777e5b9d78c79efcfaf3efb58910a1f84240b3e7efbd1fcd8dcf3cadf7db5e05d23b44a3cff17d97d9a6b0e37ba82e2035dc6736bdccc6c6c680c77b9825dc6e6dffd9f77d7049e91971ed458518fd72bbdff41afbefee062a8afff20012748875f7f71b581bbbc0ee2f3d1a494725cb88c6b97d9acafbf70810c36d09a67f09117320c190d5a0258d286003d635a7b1a58251299aae3d01beb749c46e43620432c158e1ca2776cb4410f2d7a01341642ad2ac174292a2ac20d614c44398a1e7881265c0d71f8f15b3d21f575951b36547cb7a96acf6e984574eb1e3da07fe4a9a7d6058754565662a390530004e4e144281c24d467c1aeba03bb5755ec5b5f7db804bee15129d15dcf88ed36b85185a14e8504be980ebec07087172200c4c4c434a8da4d7bbfde76a0f8c0a1bd50c64525f6e93a20a54b7a882b1cf3c25ebc608f2126e5bb6aa862fe10e22e37798019a683840670870dd3869cb33314d2800bcc2807963d0709e5021856ec21a78a1349104c041bf434a03d85080e33d8a3d9f8a73bb5e8e18583c208b46740a8009089957f1850087b120b33660bc00615b3c2102a9a01200df488003984003023bd48807204a7172c0120d4fc7790ffe0b894bec617fde170b8b90da829d9b4b3aec9d5bd5fdf1857d5964d3bf1e10b2bff8d7bbe78e8a955bf9a7e47a4f91f7137ffa1d1093dbabb0e97553506340504778b0fddb5755b6d4048a30aef9dd2ada9aa0a7b3a242ce8e08ed203b5c663c4c0c8aec9dd222b0e1e0e0e0e0b0f77956ddd76a82130a95f4a64ddbee2ed071033202028a1774a4463655d5300be27abf1d0ce1dfb8c53af74d993ffd835e2be5ff4c33b1f71f491b62b32a14fd790ea5a1516e1c27f3a1aeaaa82036ab6ef3e141edfa35754c0c19afab0a8889a8afad8b8d0bd5b4b0e3706e07f943d2355451dbe5128acbeaa293a2678cf96cd07ea8c2d74684be1632f7cfcf329d3fa06e0a1b7c14960785ccfa4d8faea5a90131e197268d7ce03358046c32a60003357485ce4f657ef5d503afeee9bd29292bb44050734bb9aebaaf1cec3b0c0ea9dbb0ee2633ac131dd7b77094692a1e1014c32d455bbbd22b47fb7d0aa5a70131a1e54bdad64273e8913d72bb57b64cde68d3bf12c233024ae4f9f84aa9d9bcaf67dfbf023af5ef0eb0786871faac2478af4feb7f2afaf3fe65ec56ee486c4e6c4b644c310e708760bafb4a6deb8ea4245a1befe83137c810e3e196d126674252525a81aa3a3a3411db802450068e4961cc26cc78e1de9e9e9bc084008c066c370a70bb4a22240100a6960eba1858436e8d138642f432b308c8eae75b0642441981a003df71f7aca6d3de5d27b03900e17c8d988d9a364c4b765420e5a5142a1078350e1c50fc5011c23232371e422222230841c36b8ff74e0c0010046007d308356f2145ac3c2c2e00e5fd46d8c89ef58c2c7e9e18b1931115c608cbbd078a96034be8f01d1e08bc2d1a83b83836183495165e2cdb030a62326853b7703d7450c39ec698355c01dff5f818a3342458c1c6883215fe931a410364886b9211acdd8430e2dc322202d6183b4610f80861981198a736108472b860401190d18a1a0850b7aca857f4860c6d96599b4879c39605247fe11994b4310d8c8ba3084236342e8c83f7cd1181f96c80d4318a3d1110121412848608646cc896843a234ff9dceffde6f0a5ede786aee95c975cd76fe038282835d0178f35d4d9df10440f63f0e1bf6166a7f7cb01a078bfb1387342c0cb7de718fdcd86314e280626bf170e368060687e07d82f89d77bc23c5dcb1b52b172da8cdb9f3c2f8066c08486063ecff005835e2c336981fadb61af7018d6f17c7e769900fbe5b07ef0fc4bc08cbe0aee09020bccf0537f1f03de447f67fd5bf1f7e727597917ff89fd3ab6b8d0b0b22c01eb9e32d2a46da782f87993fe590205b9819578caec9073e7be760ef33ba85e1966d33bea7123e8d0db8d418a71e6c8c75295710fe838677d73435e1dad204ad0aa8a9ad0f0fc3050a5f44602c04db95671352657c3253b363ed1a75ee98335c3b0f19e70202a24764bdffc93fe9420f42a4d7d71f6c21b0813d8cad2218126c2a08c915e4d09eccd77f7c6b375ef179928213bc24a14eb8eaaaab70d38a2f25ecc9182f6b206de7ce9d5232c2008ee8d9804129b0086d8043f4de0d5e3c40b28d69631d02cbd00a4cf15175ce252356cea8be00e46c30f340fb5f502622600ea53705ee0e66b6218e0d852819f1338edcacb850e260c01293e2d2092c6ce2358017475c4fa145e507092240083348e08b2100dc01483a30cca0a29639c87370dac018b3a047833b7bce05398f3a7a24cc47a5f042b650615e2409002f340c61060003a604808649191f1118073d8594c3068bc2eb070ccc48460418600820f129447a90a0410b6cbcea788e020c98060031f28416493214300c8021812f0043c1d83fff7084257cd16369c6eb716d6d1bf96726704410232d73b160000900232657841e8d43f430a00b8470c4e1831009430e2fcdfff7ce7f54f7be3dc22b4bb6956367e0d0a01dc7fd1fdc33b5bfabbca4a4acaaf3f77f5dc5eedd0762fb9f12575f8dfb82d884dc87e8b146f4fef77f5c8f9e8dbb4b0fd41fb9fe70933308301aff03838d0d8c9800d0a247e310bde3fe774577ef155eb9bdac4aefffef7dff7327e8eb3f362a5fecf80a8bad8bcb357632f736aff91076cafe3fa6d7ff534f75ff3e2ab3c5125035a222c4122041c38ab834ac050dc9c0a6acac4c4a469eb330930633c10494881c800d5a0fb4ffc5d4222236b23185be00e51deedb57325a2f5bc03224267dd24348120560480981634f63320e03968c00601c2ac881c120160c8073123d3058839642682924d1e8710d25b6da2020cc28111b00d9e5c0988e3d76bc4c8159240d0831840d7a5ceb310446e3551b6513e4386720e174c0b06134ae11430058d20cf93008a2f134832fcf3a44403434a40d21002c690f09301a2ce1c5b4a16226321d738023548c06179ae122cb4a1199b3da6356d07246d8034328b30368fec10938d4fc63939c14fbbf39242131a6b972ffbec3c69b83f5fed7fb1f3b9f57e39362ffebeb7f7b5e7ff7ecd9632d19b14ff06281de57132d017a0170919d064c157a0889096cbd0cad00f8685ae0f4e9d33be0cf4a028e00c4b6de7b68d879ea0f5c6d39b40262f456803a1dcf9d51c7602ed42be849222b185448100203480f1bd8732e7ac10566e8218425d9870a18733114864c89bec0504188065f0cd143225a78412206628c59980cc3d28b66e861c6c88803030cd9a082dc6a80ba0d36708719e4ec012064fe54a1e710172c44407588804c809121e4c2e14b1766c8ca12d130841c8d1b1113c11d5e1c0203c08ceee8610f09cc60032d1ce9223d938416000d069c023d5de04e15dc91244341022d1ae622808a668800097a48440b2f48c4408c310bc2428b265e34430f3308190706006c50416e35d0fc8319f2a6f93fb2ff9b1baa0e1fae317ed659ef7fe3c4c7dee0e9acaf3f3c59f4f5073cf02a2d578f93f6fa7ff8f0e1ae5dbb82073020db430085e80920e7a9c4a12976778c20720e7dc5b19ad92ce97294bdf12aee1d428436c0217a2b20c60b0c005f6608bc7bdaf01508d80a4405200d11366cd8d0ad5b3700b009397a6034e48c0b167a0601a00a7c514b1584649d6584082147832fede1428cdb060028a7a41862341803a02107961a30833102c2d20ce6be17085f08d1b80a541eb0a48473c118005758ce427baa181337fc38057a34ba73760cb91008e1881e8e008c061b1ac38c33a2873d0c243e6c903684488f53d392dc02c35256c4c5726aa44d1b0e61c9593023241892224ec4985071b18c29f610b2317f0624d6fc6bfef5fec78989731067044e19ebc905cc53123db4fafa83eb0c78b052a4af3f7265e645585fffb1434805f7065e7a008ecfebefdebd7bf1441bd3795ef18cbf38a9290160325620c604b61e0ba10b7a6068d9041348ef08203c9ae6ae6fda128267262c096c3d86221120614da551581038f6b80e8a5c30c095575e297134d00c680634039a01cd8066403370fc19282d2dc5c75ea5d463c526051cf2410d83a2050d1f8a58bc7831861062084b9637c0b09752872e34432f66005c9d0831a4962ec4b65e54f43d167d9b4a46aea7edd3c39e2e04be309767b0eb291689ad43fab67d6a6da919d00c680634039a01cd8066e0fb6500d50b8a191694004c86451e86006c2c938009682698720801dabe1cb8b7cbbeed91ddef2a6bbb03521163c104d61e36d6a160006b637548636268ad0058a6d34033a019d00c680634039a01cdc00f9f01542f682c786c00c95b4b1d6b514495adb70d610f8908bd3125c7a2f757324a5a6d9998c6e2621d02cb90d8bbb7128ae9604009fab6ccae6d34039a01cd80664033a019d00cfc4018901a86f58fb5c8f12e814482e48909a417c06818b6a5b5cbb82d01fd958c6df1878d2d270ea5b7022ba6232468de5442c2066d1bd3d0663f5a06d2464c9c3c717466e7ae6fc4030b9e7f62c6f8ce0dea1ced98e42f53654ece9b913b3e5bc61d07de79664f7ce2f9e71f9838a2e331bf37cf4e3dbe27300fdfdb01d0136b064e720658db4825e358eab0c2416f05560c0e6568e59342abe4f8e00e968cb63548f656b9b710120a09d8931160304b2d01b5c0c787886335cbed4afdf958c53e49e2e6cdfcc38471e3072774ea72b3cfc91e989a9133b28dd5d0888979b31f98dab1baec98e42f64648fbc7e54ce35233b969a443180779ed9e70fcb484d1d9e734e0bbb1362d0cee3eb7f4d27300ffe17a6b59a01cdc03163c0bb92913a87a50e8b1cf6c84286c4cc4b2cbd8522a10ded8f75dfa68fbf4812de9989448018035068eb6508e0ddc8b2b5b7063cf1f070a5062885fe83132ff71f42c669e3e78e4a092c5bf9d4b4824e4da7b0f0cd65dd634b96b631ea59c32ece4a0d3a943dabb0b07d691cabfc8f64515f0bdc607c71e6d134c73c0b5f7de583e48b0e7ef2afa389fcfdf8b6f3f8fa4ff204e6c1ffc2b45633a01938660ca0bc4125838fa1486ffdac34b4989925103fe3024c40b9f4b6046946aded332ea2b2b974e2b0f592114958e79361ab8006e8a5719132048084d5a155482c55a375f6130f1bbf56a85b8719189177d310d558f2f73be67738840fc7c25953da51fdd535e0cbbd1adb5f971dbbfc3dcbda61fc42e691efe1f488dbf9d7479e1bf3efbd23bf9da17e20e6ed3bbead247d02f3d0cacab45a33a01938460c480d63ab14a5c2e117af5a8b1f64c221012b48e945e81f406b35e0b0b37a879211197738ba75b50cc268b69e66d6de5a380a0640eb70326d72bc56293c3bee62daa22af840a9df9a92714afd51a9494af536555f2835c10478ca8c5b86788986f1eb4acdf44c3245a94bcd38b8e753a9d4574a3da6549c5261a6417fb38f50ea5ba5bef31bc713ef04fd3b3a77f60d9764f6880f55b5b587aa1acbd7fd63dc4b518b675fb5f9d9874b06de38262b3554a9b2a225b9374fdb9839d9596e59f9d8d993d223d4fae71f77972d784bd91d576724c7d3a46ad7f22957e7ae320769a3a7cebc6d640ae6456bac2a2e7c76dcbd0b3327ce7d706ce2e2d9f9a7df7ad350d36bffdae72f9baf163ff8b35855dba0822ad7bf3126771ea3295ff9a46566c746c685195559d77e23f08eca847055565cb06aa352bef3614c4bfed97316e70d0cdaf4f0d593e4be6676eedcbcab52d73cfd87290b574d7c60c198ec81d1c6beaa58f9e6e377ccca579913173d38a6e6b3c59f045f78c3f0742caca264f9ccb1b9ac73b327ceb8edb2739213638270d5c18faabbd7307acea2db86a618fc3456957dfada6353e619b339f330c9b370a52c791a813227cf7df067e9c60e37be085815bff1a73be6b9cbeb23f336d456d53596af5f3cf6f9101cc75dafcd74db18698f556b9e1d3b65214239accb399f459f865d3cbcdbc1457f18379f4714ec4e9e9b37c6cd8f9156cb3671eee2abe337af397cdaf08c845dcb9fcf3f74fea49cd4da5dcb6e9d59f2a0f3f1f5c767cbd8ee914f1e5a3bee8ed1b45033a01938a9186001c3820f9800658f155bab209083a11488c4562130b41de350a275cc5dbcec2523e28ace17f06523720219220eb0348695a1009b19e5c7b664bc41a9bbcd745011562875ba5229e6304a2994772819d150fc0d522adac48f28354ca9434a7dae5496522837372bf50fa51e546aa4c7186522aacc9e4a3d603e9236c5ea0efe51ea0da5a629e52b8ec7ea04fd3b7ac6a2a93960b0aa78fdba86d83ee9c9f1113d9354a4ea12119d3c693a08ab282da9484c4948cf7968f63757bf15e52c9fb2c8bdfcccdc0959490a4580a75ec9bbfd868ce4d05d452bbf2ca988e9d53fbd6b50a4699a3676f633776605aadae2b5cbb61e0aee73dae06e7d92a0898c8a8e8e489930fd4ea56a4bd6177519981e1115a50eeeda575eded8a0125393231271a43d2dd2399fe53d7f393ad5a817d1b2cc550094beadc6cc2cf0958f698bcaa845fe1bf7350ccdc8b87e6a76c12c77d5f78b9143a24377ad5fb86afcecd78d9556942c5bb973c00543878cfeedec9275537674e982dfcacc99906ef056bc2b2c392565e81d3346174ecbcfce5d30ebba81585469d1ba8361bd06a62498338e58b074eac00854e4cbbfd81174fef02159e3a6cfad2bbb63fe2a671edc59daf334c4872bcacbcb15380a8c4d494e888f0aa7adf7bc21895d707c1323a26b3d362ab24b627444208ebb52ceeb5ab4d1299fb0ff6c38382a3d75ccc4c9f357b196cd1c33cacd0f67b7f551e1b1f1a959c3511bd736260d1d87ffdcd5d63686269d7545e47a1fc7d7279fb6c847863e7868e5b81ff1d74833a01938791940f522e58d00d021580039922180b0062c45247d1dab469a899723688b8da3a355682f19ad3a2bb6aec12687ca5b4b89a939b27838dae434f0eec1b5d06d9dae93f12d66bc87ccb2cf3174ae79df718d52e0096f491c66decfe1270d70af718e52979b370e512fe2960c5eb5fe639a2d3663cd360bd0f16605f98252dbcd3b8e5ffa8e83d2f3846e99b9b7a35e6c2c7deace31c68da2b4dc25cf5d67fca262a5c10ddafafc59b7e2e65976de87b346250e3853551e74962b77c938e3eeaba255d5db7370ff962dbb6f22eeb5edff32ff9169f9b8c5272dedce9b8c7a71d923ff25d5a6e84c50f6f2d42be614a63df3d973e941c16ae3c2496371032c6dc187cf9d6ab5f391e7ab33ef2fe91d7ff60d93b2928356befcd8d29d2a363474d73adcbdf3958f3ba82dff79f3dfbbeab1ebd22ffa45e6ac42839e896332a255d9f2fc856993df41bd58553435e766a396cc9ef1e1ac9ccc4baf5073dd718a973c326eda22953675e973a31353d3e179b7512fee7f79ea6573e0e0e13973f218d48b15452f5f7133f6a552a31ff870eaf021632666ca5d3bd59207777865cb13e2550bef3518424bcb5dfadc85346dcd000040004944415475263232769cd7b8a76e6d324c9bfc73c7752d32d3335c5ae45330f3b9eb874f4fcf18959b396f0e081afbf321f16affda779888750637362f5d45cfdffbc9a0df4dc888dfbffc915f7d7df17313d22295cfe34b473b9f0ea1dd22671e5a3beebee3698d664033701231c0c206950cd6ccb28f120ca5e6114c805e1a6dacf5a25545dce1f25142b517b8daeb20f6588f602b10b91510a39706176202198a81006bf04ec6781ebdd777bdf8a4e7332b78f15ea054863939ee3e7eaad40aa5fe640ec3cce7d4804bcc7a11007719d9503ebe821b36e6e0037396bf9b36bee278fc4ed0bfd9d9288154c9d27fb84b94d810f7ad39f3317ec5dae78d7a11adf03f5b6a55607c9f11bee5b04a9b3837272574ffca4533794bcef47c7f458952f139539ffb78e99b0b66e78d4833a44a5d683c732e5bfda4bbd4a4f048bff2a9e94669a536bef8c4138f3c2d9fe4e88992a3e188958190b0779ea9ab0a16e52fda5989fab6b6b41070d1c2850b0b50d3a8421ff918a11cf25f35676971958aceb8793cf24ebbedca2128fbde9db7509dd10b7b4a45a4dfb774e9871f2e5d7a5f0eeae2d0b048c8904f63e912a35e448b353a249176e199b8a9b86bd9b3e6a22077f39c3db80ff46bde7dd3b043cb7f173cab903018b339f2e090a7c7def8eb090ee86b5eab790bec7b5d34f3caa7e0a9254538be23ff07ff515379979f8bff9f7df4829ff7b006aac6e2a7e615468581b0b2d77317c5461955a4e7fda6cec7d79bcf1639fb1a5878f07fdc7d05d072cd8066e06463406a181b000f90b0b7029a59e5626905c0d6c60856c931c5c645b68dcd7f66b25a46a3b1552898c0d6c3cb26c190371adb985ebbcd70d7104dea1a6f7fd47c6c28f5d06e37fb6d4a6d326f3a9a23851a862dd803ba7980f5afe5f9a7a281af3856af1310870a0f0911782547d182068e7716e101bfd9d2d2bae18d8ec51b709bee1e1f72a546e4dd607ceae5c9969f7a5974efd8ef46e7de7c6df6e0d4a48159a306665d70cef4cb66169b617d1ec7aad22f8cfa0ead60a1cf3b5634f09527b5466f1472479a733e58988ffc67bdb262e4d4e1832fbf316db3ba20013716df9bb751a50d8f065155a5eb576dae0876b31754bd759d52e908545b5975643e93c99e49a8ccd5c19d3bdcf24837cf214148bfa17abfdc7f0d0f6a51143bf2e0ccb37546c1bee615034f3ec1c8c3286d137dad8b860ef914ce7ab128677afac04b268fae3b2f3514e59dfb19be7d0e8e8df59af734718b795f91fde038fb78f3e96ce757eafbb8fb75d34acd8066e0646280358cf5fe228b1c70e05ded402296bc77481b0a8536118ac40618c726ecc4613b4a46cc8a6cac73db86de0634e622c5915e2224f0d38b6327037c0ca5d6fcc0ca70cfdd44db04d63a0f2a5490b7990f97ef6c6997670e0f7884777900ff92e0c316a1af38169313121a0fa1f1b4b9dc4c3efb893b2fc24bbaa5b91f588e9f7cb1714f70ff6ecf678ebce5e6a73142d5fa973d9f7ab14459953f07ff50904c9e3d735c56ca05974f5477141dac5549f103c7662bcb2d49f109b4d579a23040435d8ba13170c807d2101e47b7f28893433e05f38d4f9338e69fffd4e7e3b3b392873d9e87faaeea8317b110b5f18b4d5513864484954f9932e5485ca0cca9e8021d4e5043149b8877cba265cece1d469ed77cb373747aead9978e47696c68d24eef02456d43b5314073e0c1679ef4b0f7cef3c20a05a2529c277beedd971a15b09f75b9c33ae483aafea925d7cf1a9d3e6eea38445dfed6736e5bfec91e3dbe67f5c24546496e6f264b5e07c7e1f83af1e909e627bec744fe3a1e77d16aa019d00c6806fc5735d08222da10086314b27014216d6c42585a25b6a1d5b7b3b0c32b52bb422345ae44bcb85a0ead5a6f391dc58606debd44ee7cf0ae5257996f49c4e3cafde6c75cf0c287bad0b1a1d44395897b93af9b4f9c7b998fa4510bbe645a5f6d3e92bec0fcdc0c04f2c813377de08262004f65cf356f4f4ef611678ce3ac278cb0b0684fa34a4fbde27773632f4f3a2f2bd978daeae601254597cc71795347763dedbca1e909b8c7687c694ee6541f72f7a746fee47ef2ea61207bead25957ec5dfbe98aafd6efdca7ba754165a22acbf7e241e18bef174f1f953a6ad692ee4bfeb5e14048dac0c13daa978dbd639ec7d3e7dfd06e1933f266a8ca4dd3e6186596733ea6775171b94a4d1e963b7bd75b5f249d7df1a0e0d5e35e8f72cec7f3a9177bfe469c8d4fbeb33a6bc290e8683ce4fe78268b9f55733e28be7c546ad692457316e7af503dd2cecb1edea772498e514f5a5aa41b17ae29ae1d9d9a347cc2130f9c197556766abc5131e2932a05b3de9b04f9d0ff5e3023eafd4d2197fffc1a94e6251fbc8567f27cf3ad259609fde569b7c5d8d7bc344dcdb9e381e04bfb670f4f31ee819acdd7bac6cdf25838fc75df68c4e6a958f7fc429c3c9e9636f1f55913f0999ae13daa6f3eb2315ab97cd98eaf2796f9d7c3a75be81cbf85877be0731f3a196b9966403370b232e05dcc8884f70e31243756004c2d54563986521d8a8d488e1bc73eafb9926b1b53b1d9db86120472511173480c33110a10dfce07d370fbc8fcb0f3484f6ccfe353cfb8e55f5475a817fb793e670d256a4dbc61f132a5ce56ea62b3e87848a9c99eefd681c13d4a9d65568d779ba1f0d16c34c738a6e604eef2a7bc7ae9ebd765240d199ea51acbde7ee495be13279d1a8617ff2a9462f1a94347a51a8bab2a5bffecf45bcd77351a259ab77c76de7528a8f0a9174bbd60b25258b4b96ce4c08cac948c2cb25455ba72c1342352c1cc7149c1cffc774efa909ceb8698ba8af52b68631e120f6cf9d7f8a6c5f8f49c51e9aab668e99c8528ad1cf3a153feb405179d79cf90d4ac49771ab3ef5fbb5af9c867f6eb9f39e76f06da387ff1da314332a21b3f7ff5c82db499e366745d94373465e8843b879a56b5454b4a94ea817c1a6b3cf7412beb704f3c14b7450b663d7d51fa24d0307c38125996bfe6b4d1c3cdfa7ce1d5d3935ebf67f4c09c7103cd2825cb9e1f3b934c638c602d9a4f9e5b5859dc0aa6b598f7ed75678cca8ac0f563d5acb7d6fee4ba8ce4e1a39271dc97bcfcc539d7e5049969fb581727b0e7e399b6207fc5ad538727172f7dddfd7e028f8297aa20f366b6296b54b5350075e044fe8766c9d7ebf8d639f3e933be47e19ecc33f471dc3d6afd5733a019d00c180c480d23408402a0324c3dc68e25a0d888a5a319b5de3ddcdb65ef1dc12a09f0ce866a9113a06783d6038dbffc34107a340ea96d6c6c04400f7bf4d0a22720468f2f7d133955a689bb830aedebafbfcecbcbb3667c4cf028a5c2714fc6f31116ff73e0951a4f050f28f5b6c50e42bc6e5b2516a5f1558e5dbde23bc6b17a9d80382d7bc419e1d5eb0a0a8f147c9953973e367aef9247c63ef75d66ecc155c6f7199acd877cece4dcae8757cd334a38a796963922b57778b8aa2e6f3189699a3662442a8e63f5b6e24299c52986b3cc473e56e3ccec11bdbb84976fcb373ef3cce6954f2bf97bfcbcff1ad4f50cafde5f5e50e063ed161f18a786abe282020f9ba24b1b31fa0cece516498ad202da926766ee33f8907771fef471b3dc8f838fcc6b7e983ab038ffbfccbb8660065f57e9948f6ad7baf036d0e73f9c9e1a5432eb2763a5da65d66923c68fe8535b307f91d7922dab3a0ae827be370fcaebb81fc5ccda5533a019383118282d2d8d8989c15773a308c357e2a247c310d903a0671584d2a5baba7adebc79a79f7e3ab4683096661d0207050551829e00960408088cc8ec39177b18408b1e43694c834362f48e80f20ef43eef32762096b880352b66116993704815ed05db80381e43e0abd4739cf20327a9a3500c1db58e42713931c1c642ef22c6f8f84b43d50eb57195145a5c9ca37cd13cdb13d996446c5c55b0d116460c363a5450a26c0370ccc7eab7aad0fca8b455e4954f2bf95b7d5b6247ea5a9a1c19f936de58d0e21b888eb8d890ef3c33a7cefe79f0ceeff6870cb874243e8253f1d5fbee7a11118eccdbf3c8ed3ec8c18c2dbe0c8fb888c801a48dcfbd26aa4e0dbe7424beedbd28ff695bbd088f8d05d607d50e218e52e415df1f0fd8ccbef7e15126a2dd35039a811f0303b64a4686589b15cb50d62c5a147f14422258ccbe17d04ac98844fda445ad2f1b9bdc7b08091ba6f0c0231211fa4940ab4e080670abb9c129515f7227dbe321fba1e5733cd6ec3047e4a00bb25203b34c4dedfafcc7673996e89587f1a03cc8e1f3430e11db204a1d79dde814d3ae64f9f3377b6e6ab6c1f1d899b48d876337bf8eac19d00c9cc80c487983457857385689b51c84dcba680cad5a5151ee4b4b33ff5a09d52ed0ca83694c2973037348801e775f05e371322c29416f6d50c10c3d847cea2c80436b2f2a023c989e366d5abb96a48d35039a81a361003f91989ad0054ff8d71de56ddbf624613ef4570e6f37684f90ceb5fd5e78e8dc25e8689a01cd402732d0ae07d38f3efa281e4ccb53662b00b635db236994893080d0da20c410cb810a980d120f346e495a3187d25b0170c75a2b77191914055f5ba2b37c74b47454f9115285de319a166a063403c78e818dab2c6f453d76d3b48cecf0d0bfa5c1f11f7d2f3c1cff65ea1935039a8163c48054327eaa1ddbd4b444e5679363e847653386a563049b59078646c5dab9cd911a4e41157a0cd9dbe456035111e85e33a019d00c680634039a01cdc009c140bb8a1cefe2c7ba466aad92ef0b777ec9c895c80aadacc92229a48d2f033f5a89a381664033a019d00c680634039a811f1a0352c3f82f7290b62f03aa1cb5dfd762dbf4609ac975206f710110ecbd546aadbdb78d969cbc0ca48d9838a2cfdee5f3f31d3f87d1415e463cb0e0c62edbdf9b346d610703b4dded98e42fd3674ecebb32641bbf5952841d02ccb3b4ee8cb3fbabfa7a151c5cf9cdd2398b0adb19abc3f964e7ceb8a8ee9b7fce5bd42987b9538f6ff6c4276e1b56fed173f7cef7f9c1f076b2a4cd35039a819388016b7943ec6bf1562d707b9f2f77c0c557268ef276df654442d640d6e559e58e98c68c608b63b3174b7c08c6a63ac186b72bf5e7132ce51f5aba7933ff3061dcf8c1099d9a57f639d903533372468e685bd41113f3663f30d5f967545a8b704cf29749b3475e3f2ae79a911d4b4da21880799e7fce25a3727246a1e5e45c33bafd613b9c4f76f6353939d78f966fd56f915bbb07ed3cbefee3679f3f2c23357578ce39fecdb45633a019d00c0803a85ea49211a137908a88c6de068e126f63c67134ee44613bee32caac479f2bd7c638124d804cf46300c3cd9f7e41ffc18f6135c77f0d69e3e78e4a092c5bf9d4b4cebdbf5358f8e6b2eeb1254bdb18f5ac611767a5061dca9e55d8ce9b6ec72aff2347a21e5f76a31aea8f083a8424cfa979f3d39e512a75c682e9398d1d09dbd17c2a3beae8b8de761e5fc718222c7cf5950f922f3af8097eeb4937cd80664033d04106a4c8f12e7eda753711ee567b0c919055d2c1fcdae0d69192916199a5750a6f8955eb1f8b2f80adf977fca16b1dbf90f0879ef40f27bf1179370d518d25c66f5277722b9c35a51dd55f9df1f3738dedafcb8e5dfe1e3a7618bf28882f213fbad622cf8df87d9558e3671e3b12f6e8f29119d3f0dddd47b5a4f61ddf56a6da987fef1dde5f2ede8a93566b063403273303b64a0643b221a003e4c0d7561a7a4b3a10b6ed2e1d2f193187e3ca21b4ca6dc3b667769c2caf550acf8ebb98b3e14512f7027f6b4ac629f547a52629d5db54e1b7a12798004f9971cb10af6c30c6ef4dcff4a43945a94bcd38b8e753a9147eabfa31a5e23c3f36dddf34c32f0a7eabd4777ee378e29da07f47e7cebee192cc1ef1a1aab6f6505563f9ba7f8c7b296af1ecab363ffb70c9c01bc764e1a73d5459d192dc9ba76dcc9cec2cb7ac7cecec49e9116afdf38fbb5faef196b23baece488ea749d5aee553aecee51bdfd2464f9d79dbc814cc8bd658555cf8ecb87b17664e9cfbe0d8c4c5b3f34fbff5a6a1a6d7feb5cf5f365f2d7ef067b1aab6410555ae7f634cee3cf784bef2c1b7f3c546c68519c54cd77e233295c22fe3951517183f49e83b1fc6b4e49f3d6771dec0a04d0f5f3d49ee6b66e7cecdbb2a75cdd37f98b270d5c407168cc91e186decab8a956f3e7ec7ac7c953971d183636a3e5bfc49f085370c4fc7c22a4a96cf1c9bcb3a377be28cdb2e3b2739312608dfd0855fee76af61f49c45b70d4d31f869ac2afbf4b5c7a6cc336673e6619267e14a59f27407f2f1c7393e8c7de4a31cf6c394857e78abab099e3ce3993139f6f57ae73371eee2abe337af397cdaf08c845dcb9fcf3f74fea49cd4da5dcb6e9d59f2a0f3f1f5c7a7777c483227cf7df067e9c6998edf360d52c56ffce98e7926fdad1d77c7685aa819d00c6806dac880ad70e2d0562c2214e4dec2364ed131b3a32a19fd4ce9bd60abb14d6b551d577c8352779b13a222ac50ea74a552cc6194f983d12819d150fc0d522adac48f28354ca9434a7dae5496522837372bf50fa51e548a6fc18231ca445499f811ea07cc47d2a69fba837f947a43a9694af98ae3b13a41ff8e9eb1686a0e18ac2a5ebfae21b64f7a727c44cf2415a9ba4444274f9a0ec22a4a4b2a125312d2731e9afdcdd56f4539cba72c722f3f33774256924211c0d769bcd9eef61b3292437715adfcb2a422a657fff4ae4191a669dad8d9cfdc9915a86a8bd72edb7a28b8cf6983bbf5498226322a3a3a2265c2f43b95aa2d595fd465607a4454943ab86b5f797963834a4c4d8e48c491f6b448e77c96f7fce5e854a35e44cb32570150fab61a33b3c0573ea62d2a8e16f96fdcd7303423e3faa9d905b3dc55df2f460e890eddb57ee1aaf1b35f37565a51b26ce5ce01170c1d32fab7b34bd64dd9d1a54b747474ce847483b7e25d61c9292943ef9831ba705a7e76ee8259d70dc4a24a8bd61d0ceb353025c19c71c482a5530746a0225ffec58ea0f3870fc91a377d6e5dd91df35739f3e0ced29ea788bd80cff83ef251cefbc1f771446d163d70d4b8815c6f0f59af572686202a3c363e356b386ae3dac6a4a1e3f09fbbdadac6d0a4b3ae885cefe3f8fae4d331be213c5c515e5eaeb0570263539213e2a3f0dbdd466be5b8d348f79a01cd8066a00d0c78974390881fb5c7b92e94d9bdc1b12a19399375e590d8a8a1566ca8b5d97867dc99925bcc600f99659f63dc5cf3bee31afc329a59ff0d33efe7f02301b8d7881f43bedcbc71887a112f7778d5fa8f69b6d88c35db2c40c79b15e40b4a6d37ef387ee93b0e4acf13ba65e6de8e7ab1b1f4a93bc7ccc7adbfb4dc25cf5d67fc0e71a5c10ddafafc59b7e2e65976de87b346250e3853551e74962b77c938e3eeaba255d5db7370ff962dbb6f22eeb5edff32ff91692d7e4639edce9b8c7a71d923ff25d5a6c7857fcb5e9e7ac59cc2b4673e7b2e3d28586d5c3869ec42e4b7e0c3e74eb5daf9c8f3d599f797f48e3ffb864959c9412b5f7e6ce94e151b1aba6b1deedef9cac71dd496ffbcf9ef5df5d875e917fd227356a141cfc43119d1aa6c79fec2b4c9efa05eac2a9a9a73b3514b66cff870564ee6a557a8b9ee38c54b1e19376d914a9bbaf4b9d189a9e9f0bcdba817f7bf3cf5b23970f0f09c39790ceac58aa297afb8d9fc91eed10f7c3875f8903113338d83c1d692078fd496a7476cffeb33fe07673be6838ad9793fb4c69b7dbdf6443c63f3d255f4fcbd9f0cfadd848cf8fdcb1ff9d5d7173f37212d52f93cbef46c6b7cfc70f6c27b8d9d829696bbf4b9ebe8deea71f798e9bf9a01cd8066c0cd807779c3ca873d8dbc8b1f487e38c5229374fd100ea9235314a23f8619e279f45edff5e2939ecface0c57b815219662278b8fca9522b94fa93390c339f53032e31eb4500dc656443f9f80a6e5498830fcc59fe6edaf88ae3f13b41ff6667a30452254bffe12e516243dcb7e6ccc7f8156b9f37ea45b4c2ff6ca95581f17d46f896c32a6de2dc9c94d0fd2b17cde42d39d3f3fd15254ac5e74c7deee3a56f2e989d3722cd902a75a1f1ccb96cf593ee5293c223fdcaa7a61ba595daf8e2134f3cf2b47c82a1274a8e8623560642c2de79a6ae2a5894bf686725eadbdad242c0450b172e2c30cab0421ff918a11cf25f35676971958aceb8793cf24ebbedca2128fbde9db7509dd10b7b4a45a4dfb774e9871f2e5d7a5f0eeae2d0b048c8904f63e912a35e448b353a249176e199b8a9b86bd9b3e6a22077f39c3db80ff46bde7dd3b043cb7f173cab903018b339f2e090a7c7def6d757fc5ebef2f1b91f7cf2e6b85e5b1a9661a06a2c7e6a5e615418082b7b3d77516c9451457ade6fea7c7cbdf9b404f40d3d249b163ef3f7edaf359a01cdc049c780d430b63286f213940ee3227b92b601e6baa5aef16601351f1b4a3db4dbcd7e9b529bcc9b8ee648a186610bf6806e1e60fd6b79fea968e02b8ed5eb04c4a1c24342045ec951b4a081e39d4578666fb6b4b46e78a363f106dca6bbc7875ca9117937189f7a79b2e5a75e16dd3bf6bbd1b9375f9b3d38356960d6a88159179c33fdb299c566589fc7b1aaf40bf76db68285bc65e44ec4fb8faf3c8f581a85dc91e69c0f16e623ff59afac183975f8e0cb6f4cdbac2e48c08dc5f7e66d5469c3a3415455e9fa559b2b82ddec05556f5da7543a02d556561d99cf64b267122a737570e70eb73cd2cd734810d26fa8de8fb758b28507b5288a1d7970e6d913a1c55f5ff1637ce44367c7fde0cc5b99e1e1bdde1649b41818ebc5db860d566af715e17d082db4ce83f6c4778e00a973fec671d74d33a019d00cfc9819f841dc65fc7e08c6c7506acd0fac0cf731bfb5ce83092b48dc56bc53a9c99e7f78fa6c3c7c55ea80d9a3bbcb03f89735f9618bd0571c8bc909094d1e2a0f969bc9673f71e7452dab38f3c55da9f1932fc63dc18afdbb3d6b74901b9fc60855eb5ff57ceac5638abfabf2e7dc31eeea9f9c7fe3f3cb8c3b8e175c3e516ddc7c10c7317ee058e7ef100cf4574a34d45962133ae40345088fa35b79c4c9211f7e9ac431fffca73edfd518983cecf13c9053f5c18b731068e3179b50154684954f9992eb6977dc3bc7bc238b6ac8e1ff7486283611ef9645cb9c9d3b8c3caff96627ee4e9e7d29de0961b6b4d3bb40d1d850ed1e3bf0e087673a355af8f115bfd678d386433e3c2f7ced0747de10c769bdee05a8ecd1e3c78ef00c5afe3559f23a382829edc7b783f15bce8691affcbd0cb54033a019d00cfc7818707845faf12caed595bcabd455e65b12f1b872bff93117bcc0dee6c30da51eaa4cdc9b7cdd7ce2dccb7c248d5af025d3fe6af391f405e6e7662090479eb8e90397297850a8d4b9e6ed49949b8e71c6f898f704111716ed6954e9a957fc6e6eece549e765251b4f5bdd3ce0716a97cc71795347763dedbca1e909b8c7687c694ee6541f72f7a746fee47ef2ea597ff6d4a5b3aed8bbf6d3155faddfb94f75eb827b73aab27c2f1e10bff87ef1f451a9a3662de9bee45f1b0e84a40d1cdca37ad9d83be6793c7dfe0ded9631236f86aadc346d8e7103d2391fd3bba8b85ca5260fcb9dbdebad2f92cebe7850f0ea71af4739e7e3f9d48b3d7f23cec627df599d35614874341e727f3c93f7a556cdf9a0f8f251a9594b16cd599cbf42f5483b2f7b789fca2539463d6969916e5cb8a6b876746ad2f0094f3c7066d459d9a9f146c5884f6814cc7a6f12e443ff7bc18ca8f737855cfef36b509a977cf0169ec93bd7d2fef274cf15d13313fc04abd2a766cef7157ff19ac1939df2f1b91f7c1e477e6d8167c99ef5bac769135f9f35019f691adea3fae6231ba395cb97edf87a429b7fdb14bf85877be0337f27632dd30c680634033f22065ab9e6fe8856eab49469e63d427c7805ffd83c8f4f3de3967f51d5a15eece7f99c3594a835f186c5cb943a5ba98bcda2e321f306246e46b2dda3d45966d578b739c647b3d11ce3989a13b8cb9ff2eaa5af5f9791346478966a2c7bfb9157fa4e9c746a182a47e31bfee253878e4a35165755b6fed9e9b7f21e9aa37c76de7528a8f0a91779c2eae6a4b06873d9c8811959291959945495ae5c30cd885430735c52f033ff9d933e24e7ba21a6ae62fd0ab797fbb3379e91e5aff14d8bf1e939a3d2556d117f6ecf311f7ae44f5b70d199f70c49cd9a74a731fbfeb5ab958f7c66bffe9973fe66a08df317af1d332423baf1f3579f935c668e9bd17551ded094a113eefcffecbd0f5454d7b9f7ff28ff044402824544a899714d934942e26883e6ce5896764683be199b40e8750c9686bcfc42b9bcb39a308d8bbe404bb410efe265a959fe947a259076aac97572136f3234fcb4e39b541b48a2812654269684445a0944117090497ecfd967ce7060ce1951411d799ee53a679fbd9ff3ecbd3f6712bfee7df6d9692cd3d5de8863a8f3b13dee4bc238d9c0308ea586e1b099bdf23f56a9f211437a3a36e498edc3bb8ce94c9fd76d284b38f49c51adc735c79c751e6bc8aee049e315061b63b29c3d5e5c7511510a3d3e36b7f34f157b3b402ebe4dba3d72bf07c707d2cf516396eeafd06afe7f55c1fca03e97e906d7253c0d2313efbfd044ddf479bec357195fa8989d47f1c93cf731de744104880011b81d09ccf07d3193ef269f2f3ef27bf7f16f6ef247f17e3898e62ff9c4b8a3dbedc61c3c8a13f8b1333e13137c91f8c817b5b5b53dfffcf3534e3e03201cff8e15669ffdd7877f53e3ace0d70087457e98897f6f8b734485dca71ce7fac4978c23be2b00d34a9de19ef0a156bb6354f0692c4d3b8de71a6bb2eb4f6ba2cfb770df336426939f5d609e7bb16557dde8b2973118941a83626178380cf58ea984f9280d06053ec7a1cf9d0e6f2d636ef67b21d31ef13d1a9d61616c78efe7366ecd336f3eedb942fb85fb7ccf1cbac4f0a1be5ebb5da6efa27bd059110e4ebb5da0e92d531a8cf7e06f794c23bd85a2c4b5b6533abe5c7b247e0f7c1b7cb8899a269d541a720cc92efb5eab4f97a5fdaf36d74f7c8d793f2e7677daca4c95fcc830ae42f2f33bbcda9ac99f081081c020d0d5d53567ce9c993367e24266fc242e1ed1f0125b8f093ca234e2c5cfd0d0d0f6eddbd56a35baa1031ec7597030f7515d2ce2137c9af7e1fdf1e86b7c7598cf55cc4c9cc60c6c03e678dbc3e7f0476f2626aed948325e333aba7162043496a33b8d5d368bc9f33d42e12eb97ca1fc469f6fb5f6dce8fe537de308682c558f879c3ddd17ba78cd5a6d5c58bfed67fa4aef3f15c6f9d225112002d3800049c6e93d313d0d7ee2b7421771526f44aa1d72f952be3722ef566bcf8de833d5214b20f2de155a45909695bbda6c2f925e944545054480084c0f022419a7c773be89bd6ca95cb5bc52a27eb97c09d71b9275abb5e786749a2a9127e0282bb228e262f14d8756891700e4efa31222400488c06d4a8024e36dfa60a95b4480085c1f818e16d12bb9d7178aee2602448008dc0604b8d724c98800112002448008100122400488801f022419fdc0a122224004880011200244800810018e004d4cd3efe09627a034e41992cf1ddf6b9b94f5aaba9c925577c2e5cb101232f07153b5d53169fdbfae761ab6d66e8afde28ff9a57593d61e0a440488001120024460f20890649c3c9692919e06b813e019c932ca9c1081928a5f66a44063c75eef67a97d6f33e495ac5a74f98d2de33ee4e3eb08bae53fccd0b3af8ae3c7a055972751324ea49d120de2b374cb746a45903ad8505a277cfa4fd6970a8800112002448008dc780234313dc5ccf17bddabd9d682535ccfed1a5e99b3232325a8a7b9aed4af92ba7fe56a6dfa7a9df4d67863d8382a4d9b362ddf54d688bb9bb8462e8f29bb8e8b09b653b60687e3f563cd471aac7e7b297b37151001224004880011986a0234ca38c584253f4838c575de46e10d254f2c057727b727b55f1be6b687734f500076e0fe21d1dc3686dcf6cc9363136da77c6d8ecae2c99b2297af864a88001120024480085c1b81692f191f03c0b9e358460f45c41136898c392600dca7301f60212bc2bda17359623b1b3244ad81ceb8df748580bd18600d8b8383570300b857f54e803b00f8cda6716e1a0d7714fc1bc06996968bc30a03f76034576dfca1667e4c18b85c1706ddbdad2f9bfe30fb60d523675efaf74ef5a64cad220ca0a7bdd1bcb9b44353209d2fea7c7655be2a02da1a5ef44c49ebf276176e484d8ae15d06bb8f176f30b72835bae8c83b6671f26fee228306202e1c7a9cceb525d5e9f3ce5b7f69da2bbc01a92bd85192a9f8f03f7e595c276489eae293795b6b3375ea28eef9f637bffe626125ab59b25ed1bde276e6ed38b821e6cc8717ef4a4f8deb3ede60bbb03c5faf70751f7b7203b76bb6349f6d3f8ac6114f081e687b2dd3bccb13589367dd9679e9cf07df09796863ba0ab9f5771eafc836fbd7954aa3a5e2a9b529c81fcd3de874bc64da520772ed97cb17758d9244800810012240047802d35b326e047896714045d80f7037400abb9ccde41dbfb5358abf7b01a2587e0dc04a800b007f01d002a0dc3c03f032c03680b5cc019d5126a2cac44da8b7022c669978281412af019402c8c511bc02f46c2cb75af44870d0d9d63a129dac4a8a89484c8048888d884aca2f4360fd5d9dfdf129712afd0b551f6f7863b6747eb1d5d37d8d39579b0028b676796452c9d31b5393c2badb9b4f75f6cf5970a76a6e702480a5acc6a8f00c176a592d787bd7e1b2da8ef3192a45665ec1de165e8469323396468575b7c9ebc59caa435c8dfd9dc79acf2e5e91b6d4f84c55676bb1b543b2ded16734b69db3c3a36314da74d46b2e77429a09ffd1e172b9c312ee5faf8133ff438acff9eeaf7a7bdd2310af488a88c75f9e6091b1b1515151fa5c15c7cdd93d2b292525adb0dce828f5e867c16ff4acccaeda5fa40d0297f3e4b1cf2e8424dff5c0bce4042c966bbf5cfe68444a110122400488001110084c6fc9f85386e10526fb042263ce6636eef8215b598efa0ff5e22000ffc21cbea4580db08e0d1ca25ec441475407ef31997890c5a86202348729c8df017cc1461c4f3107c938283d03da34e6a7512fbabbf6156572037b4a73637d5628f668806383d666ab7c1207ed7425472b33e217df0703e7a5f3c12319cb9f7d240a060f57e3f82d6fbaefc6e3e059df295b4da90d07ec3cf665f5af3b17c62cd998af4d0a6e3eb0b3e92c44878575e37e1d2df0e3f432556a8659b3ab1adb93fdf8d218e83bf9dfb20b9295058fa35e1c6cb7e837731255577eb452af59b31eac2d92f50af5c3f876b2ffa4da1bb6bc73ef2f725363fa8ed7fcdb5f57d7e72a2317c8f0e9a8cbcfc646296b8fd67fcf1b14133856cdccd958632ab582d2d2546f8c57a080943365d1139c5e3c56f303afea66aed2dcb087fefb25570de5130122400488c0f42430737a76dbd36b9c8f3e27af17f730bd88ae3b006a0152d94d38b9fc2ec00980dfb0cb59c2d29646a617310f47197943f9f80ac045767184d5f25be6231747b82f40cf3a5d2a0ec57636bdec99088e0ef50cfdb15706fb4f36707a11cdf1dedf5d1014936c90cf472f65de0e7d4a585fb3b5627422d6f1f6894e8018bda5feff36bd5e5b55625072f13a5aec569bf5ec00ea4f57970393d6baba3ad48b00f67d8dede8bff6ff41e10f25ebbe8f7aff4fbf937f27f29e05f86c2142f5aba6a6a3479b9a7ea5477d1a362b125b2c592ffaa249b53308dcce7dbb1cb36761809e43666bf46c4e4586dc27cb87454a44a71196f21eb8e9f1ae464e2fa24573075e647329097b889bb1eff9600f731795cbb55f2e5f742b2589001120024480080804a6b164e4678dbdba4620327a46cdc71b4abdc300f3d8c5e74cf63503e09f7700fe2cf8840809de4db8f29c678baefdc71139066232cccb212e0215132f7190f13fdb71ce9e9952390f5f74ecfa049706cbe503184a3672ab5ef68c5df562dd92fdb3ca03cdce6e8888536b33caeaffbbc43016120a3c91392a7fdf3e0851ea1f16180b1e5484b9bbfeaf9f6ff028e3a3b0c1835d6d7f6939f5c107a74e7d70fcf8f166c789568c275faf643bb15b236c881087fcbe42d12a6e94241f5193c7275d0383e22c0c2d6b4c404baee8916bbf5cbe6c155440048800112002d398c034968cb80c0597aae040234e314b9a58e7a103af207158b108a040f883b3cfdce42bc0d7ec88879f0b09fecc0d3009638d7c8e5c1cbe34708f8cc3c0f95ed603ddeea25563f58d679e35a760358e85f5f7fd43e8a8443eb79a240cda5e1556bd08ae786eb155179a36fccbf24d0dc7b811c715ebf2f8c2509eb32798f706cf40a3c9628a03f77b6fd47b0bf8847b64d89bd3f1fea7a8ce2266f516179b052bdc52cd464665eaf5d34e4f58d62a4fa3989896e7c3ee10b5878f10c4f7cbdb4a714267ccc91649e68e33e7f1f71ca3ce96fad2901c37b97c713d9426024480081001228004fcfc8d340df8bc05f0087b25f14d7c478e2d731902784aa6e328f550652e660ba55f0158c0b426ce3bff81f96f6053d22bd8ba19ccf04e31e24b77784b31006a8fef33de283725e364cad41b20d98ef67fba41a558ff8b1dd1eb121ed42671b3bc1e0e38d618ab319558d6cebdebc134551c2ecfe03e9aa3b1c8e47b56bdfca67a744e9a0ba5b33455ae3f77f2dd131fb59dfd0ae6c5e298200cf49ee38a00da9dbda0485a69aeea7ee3fd8425abef0df9c0c4961e73038dfa325c760dfdad0d75f830c65844a2a6bca43c04baf655eced68a93ee25c97a1d0365aab0fda4ec07ce583baf4e48146fd1e90ae5758f532be9d5c0d12ff590d76caf2f1b6296c5e2ab607063e2dadc6b71bc75ae4d84b65dea1ca5c5cdb923e7f68b30794e3f76f3bcb321419958ddf697cf393af4395ea07e60f1dcb3e385bbafd7e798ead8cae880011200244800848fddd368da894b231425cbc827f7813a64f85ebb167547587001609ebacb110b526cac7870196b04f76a3087a810d40e260246fcf01dccf54e3b3ec1a9766a349c66125017cb015bfbae650566ac2d2742db87b0ed7bcf2ddbcfcefcd42b1c67d0131469196a1e03a37d8d3f652d993fcd89d647e55495614b870d5cb787de7683fd3b3569daa4d49d5f29406bb9a6b85e5c3b6d2da55f73db754a1cd2fe24afb4e7ec0fbe01b8db6134f5ad2939c4d87b8f71b476d1887e422a2147a6c96dbf927948cf8c52453f95c6b495a4a5a6e511a7374b5377682e39264bd5587fe2cdd4e9c8d775dc2db8771c870c45b9f1b3a8a5f3d29c9c7e3c37d593246a5cf5081abbda9bace01c398e1be248c830e700d0e130d43f2b234981fe46631ec15a68490fd3fd1ab96eab396b29cfeb61320cbcd28d92f6f8b294104880011200244404c60c6b7df7e2bbef65ef209f1f19b6fbe414fccf11ae688d3fc251e7dcded7663261ec5899191113e13137c91f8c817b5b5b53dfffcf3e2164e493a03201cd76e08b3cffeeb4867dfd0f99abde0e8f5c44c544787bdd76313583ad727be649cb1f705dc955267b8277ca8d5ee18157c1a4bd34ee3b9c69aecfad39ae8f32d2d42894c7e768179eec5965d2899244da93128168687c350ef984a785f8dceb03036bcf7739b63541e1a1a8e9629823b2bff259bd7a99251c5995c1712c387fa7aed76511b7ceabd423bc5114569093ea2d2ab4a2a0d398664977daf5500eabd5b693028f0f73cf4b9d3e1a5edd37e8fb75cbe3718258800112002448011e8eaea9a3367cecc993367cc98111414844734bcc4424ce0111511af7f868686b66fdfae56abd10d1df038ce82838331078bf8049fe67d787f3cfa1a5f1de673153313a73103db8039def6f039fcd19b89896b368919b46b8e15c037ca493dc92ee1f2675f93ccf4ba49964a667a6f09cc4487c3eea360b8251923835fe2dae65121c77a27996fdd55edafebb840ba635c9851f716075b2acd652873cc8fce1e8607d6acc5af87b7dbfe63827a11ef94ec02b7307b6cbd5768e768a3c6a4a4838f7199e84587dd67a2dd736b87ddf721f8b45ff01ddfaf89564f7e44800810012230cd0890649c660ffc667417275847a4ea95cb97f2bdda3cc5da2c630abba9f378c3e64afbd5de4ffe4480081001224004888098004946310d4a4f018196ca55cb2b25e2cae54bb85e4396fd050b2c8c05a9e9eb6b8846b7100122400488001198ee0448324ef75fc0edda7fd124f5edda45ea1711200244800810811b47807b4d928c0810012240048800112002448008f8214092d10f1c2a22024480081001224004880011e008d0c434fd0e269d80c698b364c16cf8ea8b76abcd31e9d1fd04cc366f5dad499e3572e962df176fed2ab5718bb70d5b6b37c57ef1c7fcd23acf8dba9c925577c2e5cb101232f07153b575325aa8cbdbfdd4cade3fd56fd94beb6cfc3c1f2a2202448008108100264092718a1fded30077023c33c5b5dc32e18d96dd85c654fc42256f79c603ab36fbfd688ee039c1b321af64d5a2cb6f6c91d82cdab2bfd1a88ac2386e3704057def1f879864d42dd3a91541ea6043691dafe674cb7f98a1675f15474fd5e549918cbae52b53150a085b06241927f820c98d081001224004028d0049c6297e62f8bd6edc30108fb7e35718c7b15366573f634c0d02d7c9c32f1f7aaffffe35eb96860b9b978c73bdd6cbfb57aed62a822fe82a1de306073566bd2acaddd3fcebf585280d951a0df05f6f74385e3ff69de8ce26efe89fa3d2b4e9550045796d99de3d72f95a1b32e63ec7abaf1c495a75fe1ddc0b888c08100122400488c0ed498024e3143f57c90f124e719d3729bca660631a7e9dbbddf6bff3d920a0dd6e9df4960c73dbeab97d859e72c99d38b4d9feffede7a5a1e8abe18ecae271ea123a70c23a9adbc6105b3b39d661db5238f18f854f4e9d148508100122400488c08d2430ed25e3630038771ccb98a388c0b1409c44c61c1300ee53980fb09015e1ded0b92cb19d0d19a2d64067dc6fba427858c5006b581c17c00000ee55bd13e00e8059cc01e7a6d150d4fc0de0344bcbc561850179d0e8ee8be37677dee13369acc9dbb12d3bfe6095edee279f484b8ac1def59d6c78782f1cac7aa4fb3f2b0a773149a7c9b36ecb860f5fcafe43a8755be6a53f1f7c27e4a18de9aa3080fecee315d9668752a38b8ebc631627f3e62e326800e2c2a1c769c72df1341acd3d8be2313f72fe128d26322e0e9cb863a1a6e0e0b61f45836b048207da5ecb34ef9a08d5bcadb5993a7514f77cfb9b5f7fb1b0d29f10d414ecd8f62315f74bc02d2f83c1f9da6f3c7dc1571b0b37a4b29e62a583ddc78b379865b7ac9948b3c88708100122400488c0cd2630bd25e3468067d9134045d80f703700bf61c86c26eff8adad51fcdd0b10c5dc6a0056025c00f80b801600e5e619809701b601ac650ee88c3211556622c0563625cd3fe042fe04f01a4029805c1cc12b10cf9a34154ae2fe2fdb7db551e4eca8a88894dcb2220057675b7bac5a15317b3644427c44946b36eeedcd2c32363e2a22283101f363a3a2a2f4b92a8cd6e5ec9e9594929256586e5cae78c6a8f00c0b6af3cb103f5ad761c87cf3fe9a9d46be20499bbb9315742e2bcbb65efcaab7d73d02f18aa488787ca257b69caa43b9da0494a8c79acf2e5e91b6d4f84c55676bb1ef1ecede4817fb7b7b7b01eb088a4e498a8b11fa52f2f4c6d4a4b0eef6e6539dfd7316dca99a1b1ce9bd851244800810012240040293c0f4968c3f650fed0526fb249f9f998d3b7ec85696e32b89a817070174cc155f4fc4751debd8c021ea45371b927c8fc9c483cca18a09d01ca6207f07f0051b713cc51c24e3a0f40c648b0ce50654bf6c638a51692c7f6a058ac10b9d4d15bbbcaf11f61cb0acaf7628f7ffb95e151c020363a7977168963721e16cac31955a416969aa37c62b54af56ffba7361cc928df9daa4e0e6033b9bce4274585877ab1d5a9cbfae6cbf7be5c6acb4a4eee603754d67a3a3e1cc3b76e880fc6c5c25adac3d5aff3d21b6bfb3b2e071d48b83ed16fd666ed853577eb452af59b31eacb2cb775aeab67035a029cd4df5592c8507dd77e3716cb4ef94ad865fb32de4d3990810012240048840001398de9211e7a3cfc9ebc53dc29a951d00dd00a9ec31e348dabba297e05026a176446b0440bd8886a38cbce125fe79945d1c114af10ac726d17ce3b0ec403e70af6d46c6b339fe68d5bf68b5d84577f205af646cde5756cd69b18edfefde1dd3dd0ab05aaeb3dcb4705723a717d1a2b9030af28e167b470bcc37e671850eab6d7430b3c36eebe85964cc4a83f39fb6d8c67fd627117fe2137aa1f49e05d8608850fdaaa9095f72744304ea3ef7ac48aefa2b5a74a867fc93f374bc7da2539d9ea2b7d4af2aecf9a4e5c4c13d15767c7b928c0810012240048840201398c69211470dd1447fd58f7f8ebc04c4dcdfb292a7d9f173804f459fb3ec146e0a1112f38484f82c9e17e51de4e288ef0aa8b4a3e5f460963ae9de150036c0fda37f064d3b8d30ba2479b0eb7d8fcab3d7b1a139cd58c91819828f02a5216fae011cce1db5f14fc947c8f119c1a1c234f7e8ad134d29e3a350230e76b5b59ce90ff13ccde0a1cf50da5eb559b7649f369a373fa67b4091a0d666a8b52b96953d5ce11d6cbdea78740311200244800810819b4f601a4b465c86824b5570500c87097114d0d7c43a0f4b51413ec526978bc6ba96b0cbaf85cc9f0b09fecc03be28ca948b237209c8a4a3f39c0b52e2be5f95adf4beff27927a41f892e2386302718865ea763cbb86536c824790cc0f3394cf1726af05f72b9d4786253ddca2fc8ef73f1dcc5d1a31abb7b8b858d21974c69cc4a13aeb84a45f8bad1affe08c75415585499bb2625d1ed8f74a87a55c2240048800112002814040e66fe64068fa24b4f12d8047d82b89f841bd3eb6cc05050cea424943a9872a13c7260f01bc02b080694dd4827f60de1bd894340eb171b39ba2a9509c91c45b5084d800becf86270b64e264b21b03f8607de1e00f769a52b5452f56cdfdf73f7cc181f08e1aca754ba12fdc1ab2e64e5d7a4a948ccb58a1d9eeec0545d24a7355f71bef272c597d6fc807a6092c850e9b975a5e520e039f9656b3014ea1aa88440de68740d7be8abd1d2dd5479ceb3214da466bf541db0998af7c50979e3cd0a8375572eecabc4395b909f8cce70f6d66f3eb420c9fb3ced254b9fedcc9774f7cd476f62b98178b4a18067acff9f851061120024480081081402230bd25632940285becbc567866b8e4d98fa1aa43bdb84858678d9ea835513e3e0cb084bd9b8712e905001485f88e236fcf01dccf54e3b3ec1a9766a349c66125017d68d9955f13539b8733b126cf8a661cc615cc473db654be71f25fb25293d23392c0ddd378e0fd6559fae04bdc7020baba5982bb776018838409c381b6d2da55f73db754a1cd2fd26261dfc90f381fceb8f7152f0df363962c4338705f728c51e93354e06a6faaae635ff4c1322e6c4494429fa100b7f34f2819f18b49a6f2b9d692b494b4dca23476b7abbdb15308e3d95b33187f305236da3d47fb999eb5ea546d4a2ad742b4c1aee6da52fc1703191120024480081081002630e3db6fbf1537df7bc927c4c76fbef9063d31c76b98234ef39778f435b7db8d99781427f063767c2626f822f1912f6a6b6b7bfef9e7c52d9c92740600be0587f2e0bd09844f67dfd0c199e8c32267ccc46135718ea8909bfb9eeb135f328ef8ae404d6bb27396cc9d1d7af1ab2f5a9b6df8dd443fa6d119f0f38a4efbd5ad0fc1bb16c686f77e6e738c2e82f153c9d5152975867b12c387fa7aed76415eb2004a438e21d965df2bf1d11d8d79ffce2c95d35666aab47b2a536a0c8a85e1e130d4db8adf88bcba169037112002448008dc7a04bababae6cc993373e6cc193366040505e1110d2fb1a598c0232a225eff0c0d0d6ddfbe5dad56a31b3ae0719c050707630e16f1093ecdfbf0fe78f435be3acce72a66264e6306b60173bcede173f8a3371313d76cd37b94d18b4d4eea791dc409c9171f2533bd7749964a667a6f09e0448bb56ea252aec52168acabe92fde35d10aae262cefdbe190d6af1df6bab1d24f63a97a3ce4ece9bed0c56bd6aaf023921fbd2dea0bbfc0fbea6ba73b8800112002448008dc9a044832de9acf855a75eb1388bc77855611c4cf3ebbda6c2f564e9d8cbdf561500b890011200244e076274092f1767fc2d4bfa922e0282bb228e26271f2b9f52a27d6a7aa45149708100122400488c0941120c938656829f0ed4ea0a385de52bcdd9f31f58f0810012240040402dc6b92644480081001224004880011200244c00f01928c7ee050111120024480081001224004880047802423fd0e6e3902d90525e5e61ce54d6c972e6f7743c3d63cc34d6c02554d04880011200244e096224092718a1fc7d300dba7b88adb2dbc6edd8f33f4593f54dcbc7ee996af4c5528d2f5cb6e5e13a8662240048800112002b716015afe32c5cf03bfd78d1b06e2f1b6fd0ae3e403bc841bb3048d486ce432f955494774bcfaca91a455e7dfc1bd7dc8880011200244800810018e0049c629fe1d8c4c717c0a3f15043a6c5b0a698bbfa9204b318900112002442050094c7bc9f81800ce1dc7b2e787fb04e358e0332cc70480fb14e6032c6445b837742e4be02c330e1906b18d9071bfe90ae1c11703ac617170846c0000f7aade097087b0d9f49dcc0d7714fc1bc069bf7184788177d6141cac7ae4cc4bffdea9de94a9558401f4b4379a3797f23ba618cd551b7fa8991f13062ed78541776febcba6e23aeca3d268a9786a6d0ae6a3b9079d8e974c5bcef07dc71d1c39335a0e3eb52a36b8d7fa5cf6de16908ba3cb2b7feae16549f17382475c83c3eedeb683d9e6bd7877ded6da4c9d3a8a7b5efdcdafbf5858e94f086a0a766cfb918adbe21ab7b00c06e76bbf29dce5e0da80af36166e484d8ae1d2b86774f7f1e20d66f6dd6e63b5f5a9b4142edf3dd8f3ee7fee2cde65074d9e755be6a53f1f7c27e4a18de92aec587fe7f18a6c330bc4eea7031120024480081081002430bd25e3468067d9434345d80f7037400abb9ccd368ce6b7b646f1772f4014cbaf0158097001e02f00b8eb07ca4d94372f036c0358cb1cd0196522aacc4480ad6c4a9a6543217f02780da014402e8ee01590e7c8d9b1115149f96508a6bfabb33f3e254ea57fa1eae30dc55663b9d5a247b283ceb6d691e86455524c446202f651995db5bf481b042ee7c9639f5d0849beeb8179c9988f4c39c3896965f6d6ffb7283d02dccd0dffcee94599383a736d65961ac0d5d5de7a7ed602754a5c683cf78f809caa43b9da04946cc79acf2e5e91b6d4f84c55676bb1c41ed1ac3e3c5cecefeded05f7080445a724c5c5ccf6a8d692a737a6268575b7379feaec9fb3e04ed5dce048ee0e436d93451d81caf8f8fb5f062f4f5faa3595ed18ee296c8f8d8d8a8ad2e7aa380eceee594929296985e54647a93fb52ab480ce44800810012240046e5102d35b32fe943d951798ec937c406636eef8219bc0c7571257a2ecc13127e68a638dd500ebd8c021ea451c9ac221c9f7984c3cc81caa9800cd610af277005fb011c753cc41320e4acf80b6018e015a9badf2491cccd3951cadcc885f7c1f68e63f8d7ad1ddb5af2813651f28cd8df559a19ca3b2e8094e2f1eabf941b195bb168cf11dbeb428a7ea57f9da30183c52f33fb7a0ced398a5e328f39ee5f462df01cbc3d53894e78daf2c781cf5e260bb45bf991be1d3951fadd46bd6ac072b3e36696ba9db92cd0d7d72419aeab30427dd77e371acb0ef94ada6d436bacbb4a62013f5627ffb81f59b5940e3d6a396f4a599799ae73c92d7d958632ab582d2d2546f8c57a08024230244800810012210c004a6b764c4a1a873f27a718fb06665074037402a7bcc38b9fc2e9b98e61ffa2c364f8de946a6173181a38cbca17cc43f8fb28b2342295ee1d8249a6f1c961dd0079cfeed3fd9c0e94534c77b7f7765a862924dba441ca2ed6c7a99d38b68d1a1e8c6ec216ea6b7e7833d63f4222b41ed19959a9f8fe93e5bd9c395762e53a74b958ca37ce8be387c3ec75ee2f4229a37fe3d0b903144a87ed5d4842f12b82102759f7b562473bad2c11b847374bc7da2539d9ea2b7d4af2aecf9a4e5c4c13d15f60ed03d908cf13e7ceb754f2cdb5b7fff5fe9aad059d8186e1abcab91d38b68d1dc8117d35c8a8c0810012240048840601298c69211470dd104fd22f1f850f0f1f65b767a9a1d3f07f854b46aa8d3e3022142629e90109f71a6db6bbc835c1caf5b002690e5d9769c9b67a654cec317179d9f7c064abc0ef3f289e3a41bbef0c9b265f8730fc5ed72078505cd597cbf01ec4c33b2a8be7112135049c2f9b35fb27280484f7c657c145634d8d5d672a63fc4537bf0d067ad1eb7ab3959b7649f369a373fa67b4091a0d666a8b52b96953d7c39185b3932d4e71d770c0fc6ff98463c715d03381c3d6a5c87c88800112002448008043281692c1971190a2a171c68c429661c05f435b1cec35254904fb1c9e5a2b1ae25ecf26b21f3e742823ff3802f8a32e5e2885c0239896b7f38cb2958cd8d21f6fd034239c93870be9765eb7617adf2e8a78e33e75d9010a3ced64185efda90c1d6ff5ddefe0b7c45d158b67b78281f8710d964b6441cb6ea3f3a1edf1e45d3549957f2f13bdeff74307769c4acdee2e26256e473d019731287eaaca37ad4c76334a3c5568d7f50e716545598b4292bd6e5d57c7cd6a8522c599303763699adbc3b162b7679be0d14348dffc31aa54629224004880011b88d084cefbfd9de027884bd92881fe0eb63cb5c70cd05ea424943a9872a13c7260f01bc02b080694dd4827f60de1bd894f40a36e38c19c26813e02014de82a205676bbfcf86270b64e2644ad61a489938fd1aab319558d6cebdebc134551c8e31feb670afc3b8d80d2ac5fa5fec92032bf40000400049444154885e97f0a036899b2de6f9387effb6b32c439151d9f89dc6373ff93a54a97e60fed0b1ecc28fb81f65d02c70543f5c19df64494fcddabae3625161fb3f25e3383e74ba8c8a84f4dcdd5bef9b7dbf4e11c329465cc1022dd5479ceb3214da466bf541db0998af7c50979e3cd0a83755720d50e61daaccc5b536e9f387367ba6b4b96c09d3599a2ad79f3bf9ee898fdace7e05f36271ec12067acfd92bff988ff5a6fda4b67cf6db9f86ae7bfc5194c89d47de70806a4c90c83157744104880011200244204009cc0cd0764f4eb34b01f8af35e3fa957f659231dc6f605475b8b661115b678dfef3815384281f71c1350a95d538ff0af0025b2283ef38f2f61c4ed632d5884bb35702f0f125e3087704ee1925638c222dc398817a71b0a76df7cf4ddc5b8db6e2574f764350ccd2746d5258cfe19add6d8310368b538ef60ad3eec67617442dd56799b28c69ea94d8706e2cf11206e2441fdebbe57fee3e3608414b73b7950cc9c4b197fec7317c3f202a353d5d1173e198ed088aff50f64fa10a53f9f1cefea894b4dca2a2dcac0c7542d0974ef4f418ffafa560367829e48d9eb1091e73b49fe9194949d56699f28b8af2f5ea84c1aee65a6ef973dd86325bb72b4cad3715e567a154ed3cd6905d81f9c378eff0a561cfed03c33896ed1e112e85a8742602448008100122105804667cfbedb7e2167b2ff984f8f8cd37dfa027e6780d73c469fe128fbee676bb31138fe2047efc8ecfc4045f243ef2456d6d6dcf3fffbcb8855392ce60620ee5c47b13089fcebea1f335c061913366a20a12e7880ab9b9efb938063536be641cf15d8195d6589a761acf35d664d79fd6449f6f6941353d6a4a9de19ef0a156bb634caea75c693028504c0f7dee748cbd6bf47e21251147a9818e16506a7489910e87038c557fb6687b8eed5ecfbefb88f771b724860ff5f5daed63e6bf95861c43b2cbbe57e2a33b1af3fe9d592aa7adccc42fbde1a2680c8a85e1d8c8de719d501a8cf7e03f047a3fb739f8f53d4253e94c048800112002b71381aeaeae3973e6cc9c3973c68c194141417844c34bec2326f0888a88d73f434343dbb76f57abd5e8860e781c67c1c1c19883457c824ff33ebc3f1e7d8daf0ef3b98a9989d398816dc01c6f7bf81cfee8cdc4c4351b3fd472cdb7df2e37ca493dc9fe1d91ca95ccf43a4a964a667a6f09c0048eb48e0c7e8902ce573b75387091b19c75d8fd148ebdc9378eeed1672b8df16dc7ffef077ffda76ecdbfead2537198f744539df73edf5bf8a20e7bddd826692c558f879c3ddd17ba78cd5a9c5ceeffe86dd16b8e1d2d7614a612d661177d7947a29cb28800112002448008dc16044832de168ff1d6e8044ec88edcf0967cd9deda3db8469da657a7b1ba5d7dcd6fe25770aea11d91f7aed02a82b47c9436db8b959212f11a02d32d4480081001224004029f0049c6c07f86b7480f5a2a572dafbcf16de9b0556cb055e0bcb4220ea78d7becd73e3dec282bb228e262314aebc4873d6f7c87a946224004880011200237830049c69b419dea9c6c021d2d926f495e5d359312e4eaaa246f22400488001120020142607aaf980e908744cd2402448008100122400488c0cd254092f1e6f2a7da890011200244800810012210000468623a001e1235519a80d29067483e777caf8d5ba762d85abb29f68b3fe6978eae9596be6b7caea6a0e47f847ede545de7185f728dd73a73f9aae18fff6b97f5fa96cfe8724a56dd09972f4348c8c0c74dd5d6c96ade35f68a6e23024480081081694e804619a7f807803b536f9fe22a6ea5f086bc92aaad16dd75376922714a2a7e996bca79208e55a65ba6532b52f56b0d575bb56eed8f33f48faebdfe260b15eb748feaf53f36ae15aec79c27d22ffe06ddf21f66e8f519687afda3c6c96bde98e6d0051120024480081081891220c9385152d7e897ce7685c1e3f4b0fb57aed6a6afd75db7c2b9621c65ce8e8c94a09ee6ba52fe7b3a0ec7ebc79a8f344c6cc7e831cfe232eecee21ab93c26ef7a2e06fc05bc62bfbc353b2a4d9b362ddf54d638c9cdf3564009224004880011200257438026a6af86d635f8def80f155e432327ef96e111fc38a3fbfaf5d795e2184a9e580aee4edcc35a68bba3b2f89aa66ebfe4b6f2e3f6a59e54f30654b24d25bdb1afd42faf2397e8c04f8d470f22506fb431c5744104880011200244e0061298f692f131009c3b8e65c8f12f67dc91e519966302c07d0af30116b222dc453a9725709619870cf1ef70743e0450213cab6280352c0e0e0a0d007c04b013e00e007eb3e93b991bee28f83780d37ee308f102ef8c9f468c8ebc6316276fe62e326800f03b893d4e3bbf0560ded6da4c9d3a8ae3d6dffcfa8b8595b81733802e6f77e186d4a418beb383ddc78b37985bfcc6e13db3abf25511d0d6f0221745537070db8fa271a0108207da5ecb34efe27d409367dd9679e9cf07df09796863ba0a77ffeeef3c5e916de675a52eaffca9879725c5cfe1f66c62bb82f377f9b6d358b2bf303db1f7f49b99f9d5e8a3ccd95afdc483237ffdcf0d8542459efac69c862f851494efcfd48bea95e9d792a2831b62ce7c78f1aef4d4b8eee30db60bcbf3f50a57f7b1273714a362242302448008100122708b1098de927123c0b3ec41a022ec07b81b20855dce661b46f35b5ba3f8bb17208ae5d700ac04b800f017002d00cacd33002f036c03e05f5d43679489a8321301b6022c169e72a190780da014402e8ee01588674b598d51c1e945346d7e19e241eb3a0c9915f69caa43b9da04946cc79acf2e5e91b6d4f84c55676bb1b5a3e4e98da94961ddedcda73afbe72cb85335373812c04f1c161235a2998b86a26a17937fe72f7ed5dbeb1e81784552443c3e39c1226363a3a2a2f4b9dcde7f5dceee594929296985e54647a94d67aeadcc52e37474577bebf9590bd42971fc3dd2edacb019d32daad4ac8692bf9a2a92abf3d3e3a0efc0417f7a11ff3511a5ce30a9f97ae7f3f52e573c23c9e7ddf0e81885361ddc832e77429a09ff91e272b9c312ee5faf81eaeb5b3f2380a0331120024480081081492030bd25e34f19c11798ec93846966e38e1f022027d47fa81707716c8cb9e258238e3aad630387a8175126e0dff6ef31b783cca18a09d01ca6207f07f0051b713c251f07a56720dbabd5bfee5c18b36463be3629b8f9c0cea6b3101d16d6dd6a0765c1e3a8f006db2dfacd9cc4d3951fadd46bd6ac076bcb77e371ecafef94ada654b44df39772710438e5cf3e12058387ab715c9759475d7e761d0effd51eadff9ee0c39d073c17cec61a53a9159496a67a63bc4205cabc6739bdd877c0f270353648696eaccf0a455fd976566f2e5ef4df3bb31419bf6c5a1d8423c5cdfb7ec9dd78251b57af1c9fbb0b7f8e91da1bb6bc73ef2f725363fa8ed7fcdb5f57d7e72a2323af5401951301224004880011b88104a6b764c4f9e873f27a710fd38bf83076007403a4b2c78292e15dd1cb65b3d83c35963432bd88091c65e4ed3d96f328bb382294e2158e4da2f9c661d9817be868b177b4c07c631ecae72e87957df886f5c6b800fb0a11aa5f3535e184be1b225027ba67a12072bc7da2539d9ea2b7d4af2aecf9a4e5c441dc1aba0364e3b060cabc1dfa94b0bee67d15e3455b22fe94c7bd38ca4d837735727a112d9a3ba0b0573e741f0e2a761f7bc923fba2433d43a3f7c8b513a0a5fadf7627d7e6a761d3bb8fef2edc7b85d13fc97ae5fa753707c5b96f9743b31fc79f7b0e99add1e635d8d4eb7f1f94eb301911200244800810814922308d25238e1aa279f482144ed47cbcfd969d9e66c7cf013e65838e7c51277f02081112f38484f82c9a2f05de412e8ef8aec04da320144c191f851a71b0abade54c7f888752f0d067ad586edd927dda68defc98ee0145825a9ba1d6ae5856f67005bf029abf5d148765184a3672ab5ef68cae7a11aa9139bb06705878d4f0692726702f199c3ffba527379293b0f802aa9f76a267622cd70bb478e5fd1aa8bb8266c4803ef5b2bb85c3987e61a346d8906810b8be6a07185328dc416722400488001120023797c034968cb80c0595020e34e214338e02fa9a58e761e97b004fb1c9e5a2b1ae25ecf26b21939b6614190ff8a228472e8ec8257093a17c7f854961ec48c7fb9f0ee62e8d98d55b5c2c4c258bbad762abc63fdcac705585499bb2625d1ed8f762b96f1ccce456bd8441db01b6ea4514643439323c9a66a920891f3897151d8f6f9ba269aacc2b51b2a1f96ba7a1bc14e7b207bbda7b63554969db6acdfa27b1cd82e98c39894375633fef23552fe72fd92f2190e79f2222789e12b74fbf466fa11411200244800810811b4240e26fd41b52efad51c95b008fb05712dfc477dbd8329721a60b255b87520f55268e4d1e0278056001d39aa805ffc0bc37b029e9156cc61933bc53a4b8ea156f41b16403f83ed30405327132256b0db0cc76672f2892569aabbadf783f61c9ea7b433e3099ab8f38d76528b48dd6ea83b613305ff9a02e3d79a051bf079a2ad79f3bf9ee898fdace7e05f362b951bc81de737c8725e23484f2ab5e7e23ff2261d8bcd4f2927218f8b4b41adf6e1c6b919e4bc7874e975191909ebb7beb7db3efd7296238c588ab6770f659ba9da6ce86e7f411e06adc91596a33363459146a7e290c1b0e55e61daacc4dc0dfc2fca1cd920d13eae5abf7ed171bb0bcc27f8611891aec570874edabd88b3f28322240048800112002379ec0cc1b5fe52d5423be3c8662110dd7affc2b938ce17e5b87aaee0cc022b6ce1afde7b36feea17cc405d7283c5603a0ec79812d91c1771c797b0ee02c538dcfb2d5337c7cc938c21d017db695d63677bb7009707e519151ab8e65fdad30951fefec8f4a49cb2d2acacdca5027047de9ec0447fb999e9194546d96097df3f5ea84c1aee6da5254d69cf9c6a92ac98a0217ae7a91d34cdc172163547adc2ce59174b642691833862f0df301616018c794b9e13a7be97f1cc3f709a252d3d31531178ed98ef408af2748b6d3b23f571106cec3ff8735cd662ab7e13f2e141945668d27302ff782b91534bcc9d4cb0a7dfbc5bd60e9ba8485c3d83654ae1ec3b6f3c6351ba214d8aff4352b15422e9d8900112002448008dc600233befdf65b7195de4b3e213e7ef3cd37e889395ec31c719abfc4a3afb9dd6eccc4a338313232c26762822f121ff9a2b6b6b6e79f7f5edcc229496700a0b84121f1de04c2a7b36fe8e04cf461913366e22a0f718ea8909bfb9eeb135f328ef8ae804d6b748685b1e1bd9fdb1ca297fe943ac33d89e1437dbd76bb68e98a5263502c0c0f87a1de56bb63bc1a14c7c92e30cfbdd8b26b927682c6c628c2c169c7f536e34dba9de3bd46af95861c43b2cbbed7ea1b6ad4696c4adcafb1257445048800112002b72881aeaeae3973e6cc9c3973c68c19f8495f3ca2e125361713784445c4eb9fa1a1a1eddbb7abd56a7443073c8eb3e060eea3c058c427f834efc3fbe3d1d7f8ea309fab9899388d19d806ccf1b687cfe18fde4c4c5cb39164bc66747423112002448008100122305d0890649cde13d3d3e5774efd2402448008100122400488c0751120c9785df8e86622400488001120024480084c07022419a7c353a63e1201224004880011200244e0ba089064bc2e7c74331120024480081001224004a60301928cd3e129531f8900112002448008100122705d04aef00de1eb8a4d3713812925a034e41992cf750ddfb3e44eb87c194242063e6eaab63ac6d669d85abb29f68b3fe697d679f29506cba615bdefd6ef95f8c0ced85bf9f8c7f78eee973da65c672e5f35fcf17fedb28abe2434c641f2c2a73d925ee3327579bb9f5ad9fba7fa2d7bede34ae89208100122400488c08d2140a38c53cc1977a6de3ec555dc4ae10d7925555b2dec4bdad7d5ac89c429a9f865ae2967f9b21fe2d7bb33d0f4fa478d3e35eb96e9d48a54fd5a83b73989cbd6ebf5ab965df9abd87cfc07e2bc778e4de8748feaf53f36ae1d9b7ba52bdff65ce90e2cd72d5f99aa50a4eb974dc0975c88001120024480084c09011a659c12aca341f17bddb861201e25b7b11ef5bb4d52f7af5cad55045fd0553ac60df65d65ffae184799b3232325a8a7799fa564af723feec7525e5ba6778f5c1e5f8fc3f1fab1ef4477368d8ece0d5cc6fd547c1dc7dde88d5f3a7ae7581716e7ca81c6de04beed19e72075e978f5952349abcebfc36f5524e541794480081001224004a6980049c629063cba05dc1457746b841fe6b6ed73fb08b7ab6edc95e2184a9e580aeecedf16eec5d01db8ef4af42056cc6d173dde1c95c5e3d52b73c3ddc4fdd898f87efcbc352ad9e6917e3c852289f60845f2e70edb9642cf568af24e544204880011200244600a094c7bc9f81800ce1dc732c4283a702cf019966302c07d0af30116b222dc453a9725709619870c5129a0f321800ae1d91403ac617170086b00e023809d007700f09b4ddfc9dc7047c1bf019cf61b4788177867a546171d79c72c4e44cd5d64c01d98e3c2a1c7696f61fbe8e56dadcdd4a9a3386efdcdafbf5858c90410bea257b821352986efec60f7f1e20de616bf7178cfecaa7c5504b435bce84f46690a0e6efb5134b8462078a0edb54cf32e31d291e1d8bcaa868d5adc3e1a7ada1bcd9b4b59333d2ebef195464bc5536b5362d01dbb30e874bc647a954b0e5f0a2928df9fa95761417fe7f18a6c33af4f8de6aa8d3fd4cc477f97ebc2a0bbb7f565d31f66fb690f17cbc734053bb6fd48c5fdd2704bcd6070bef69bc25d2cbc24379fdb298308100122400488c0241298de927123c0b30c262ac27e80bb0152d8e56cb66134bfb5358abf7b01a2587e0dc04a800b007f01d002a0dc3c03f032c03600fe9536744699882a3311602b9b92e69f55217f02780da014402e8ee01588674b598d51e11974d3e697211eb4aec3905961cfa93a94ab4d404975acf9ece215694b8dcf5475b6165b3b4a9ede989a14d6ddde7caab37fce823b5573832301fcc4f160d198b968ddc79ee4f59327d7e774fee257bdbdee1188572445c4e3131db5610055964585cfbcabb33f3e254ea57fa1eae30dc5568f874f7c6576d5fe226d10b89c278f7d762124f9ae07e62527a0336ab9287586498d719cddb3e6a7a4a415961b1da53663b9d5a2c75fd2a0b3ad75243a59951413919800e7bbe5da33dab271a98bfdbdbdbd807d088a4e498a8b998dfba07326c98d2fa2231120024480081081292230bd25e34f19d51798ec93046c66e38e1f0220277c2511f5e2202e4660ae38d6580db08e0d1ca25e44f9804392ef31b783cca18a09d01ca6207f07f0051b713c251f07a56720dbabd5bfee5c18b36463be3629b8f9c0cea6b3101d16d6dd6a0765c1e3a8f006db2dfacddc1099aefc68a55eb3663d585bbe1b8f63737da76c35a5b6d131be2fe5e20870ca9f7d240a060f57e3b8ae5feba8cbcfae0350d61eadff9e94639badf2491cecd4951cadcc885f7c1f804732fac457163dc1e9c563353ff0aa4a2e9ec6c2477536d6984aada0b434d51be3152ad0989f46bde8eeda5794b9b705eb3737d66785a2eb95dac347131f5beab6703d40539a9beab384229d2437a194ce4480081001224004a684c0f4968c381f7d4e5e2fee11d6acec00e80648650f002797df15bd34378bcd53634923d38b98c05146de503ee29f47d9c511a114af706c12cd370ecb0edc43478bbda305e61bf3503e7739aca31fa6312ec0be4284ea574d4d38a1ef8608d489ee5991008eb74f74aad353f496fa55853d9fb49c38b8a702bf7b231b87a151e6edd0a784f535efabe02780afcc2b117fe22363dd702cb4ff6403a717d11ceffddd95a18a493600e04217a9f80f7133e73d1fecf148cad158dc347b5723a717d1a2b903fec341a74bc521e9cea69739bd88161dea197a655738feecdb1e4f899fd39820d2dcfcdc4d454480081001224004ae9fc034968c386a8836f6eff3314051f0f1f65b767a9a1d3f07f8940d3af2459dfc09204448cc1312e2b3785e9477908b23be2b70d328080553c647a1461cec6a6b39d31fe2a1143cf4592b965bb7649f369a373fa67b4091a0d666a8b52b96953d5c215ea12c8ac3e2194a3672ab5ef6b0552f420d577dc6677eb61ddf2160a654cec3170e9d9fb06aa5e22b999bccefc43530e88933d62bccfb7b88e32432bee03a8976656e935819852202448008100122c0084c63c988cb50f06f721c68c429661c05f435b1cec35254904fb1c9e5a2b1ae25ecf26b21f3e742823ff3802f8a32e5e2885c023719caf717170009d6f1fea783b94b2366f51617170b79a3e7165b35fec1d1bd82aa0a933665c5ba3cb0738ba07de36026b72a250cda0ec8ae7a718fe06b8a522691ef69624ec16a6e0cb1ef1fb2f13bce9c7741428c3a5b07be439b41beff017193d03070be97b543b7bb689584da94680f8e4f1a731287eaac62c9cc62481de4b849f9521e11200244800810814920e0fb37de24040d98106f013cc25e49c40fdef5b1652ef8e915d4859286520f55268e4d1e0278056001d39aa805ffc0bc37b029e9156cc61933bc53a1f8921ede8262096741bfcf86270b64e2644ad61a6099edce5e5024ad345775bff17ec292d5f7867c6032571f71aecb50681badd5076d2760bef2415d7af240a37e0f3455ae3f77f2dd131fb59dfd0ae6c5e2601c0cf49ee33b2c11a721945ff5f29b6ad939e988444d7949790874edabd88be0bd16362f15f361e0d3d26aeedd409c3e8ed5984a2c6be7def5609a2a0ec718b98ff508ab5e7ce23b7effb6b32c439151d9f89dc6373ff93a54a97e60fed0b1ecfddef02c11e9b974b4ffd30d2ac5fa5fec885e97f0a036899b9517fd1ed8d5b8f67079cabc4395b9b8a6267dfed066f90e729e3a8b1f6e9c03191120024480081081292030bd2563290e67b1c5ceb87e853761ba52b81e7b4655877a7191b0ce1a0b516ba27c7c186009c06a26465e00405188ef38f2f61cc0fd4c353ecbae7169369a641c5612e8075b69edaafb9e5baad0e61769b12f7d273fc06385a97caeb5242d252db7288d75d0d5ded8098e4b677ad6aa53b529a99c27da6057736d297bbf1005b64f9caa92ac2870e1aa17b116e46f64c7611c328e8852e83314e076fe492419b92f45c6a8f4192a70b53755d7a1dee4321469e8c855dad3f652d99358ab9ff8f60a5342c8fe9fe8554bf5594b5965fd6d27f0033b18c77d4918d71ce01a1086c387b6e257d71cca4a4d589aae0577cfe19a57be9b97ffbd59bc72e46ef66d0f0bc9adb0420b6683947c8ef8887579ccd1ee879be044672240048800112002934c60c6b7df7e2b0ee9bde413e2e337df7c839e98e335cc11a7f94b3cfa9adbedc64c3c8a13f8b1393e13137c91f8c817b5b5b53dfffcf3e2164e493a03201cd72c8816a9f8a90627b21301be06382c72c24c5405e21c512137f73dd727be641cf15d019bd6e80c0b63c37b3fb739f82520ac234a9de19ec4f0a1be5ebb5d344ca8d418140bc3c361a8b7d5ee18af06c571b20bcc732fb6ece224df249852a98c8ec6a7f8650bffdd489cf5be727ca5c1a0c0dfc9d0e74e8770975c53b8ce860f497449ee061c6734e418925df6bdd6f1147071b679ffce2c95d35666aa14a6adfd7293af844a880011200244e01a09747575cd993367e6cc993366cc080a0ac2231a5e62384ce0111511af7f868686b66fdfae56abd10d1df038ce82838331078bf8049fe67d787f3cfa1a5f1de673153313a73103db8039def6f039fcd19b89896b36928cd78c8e6e2402534a4063a97a3ce4ece9bed0c56bd66ae3c2fa6d3fd3578a24f894d64dc1890011200244601c01928cd37b627adccf812e89c02d4420f2de155a459096b5c8d5667b91f4e22df470a8294480081081e9478024e3f47be6d4e3c020e0282bb228e2627126bcd58e1fac2423024480081001227033099064bc99f4a96e22e08740478bcfdb9d7ebca98808100122400488c05412e05e93242302448008100122400488001120027e089064f403878a88001120024480081001224004380234314dbf838025a034e41992cf750ddfb3e44eb87c194242063e6eaab63ac6f6c7b0b57653ec177fcc2fadf3e42b0d964d2b7adfaddf7bc5f703f9f8c7f78eee973d36f4ad7ba5cbdbfdd4cade3fd56fd92b7c94e7d66d2bb58c0810012240040283008d324ef1737a1a60fb1457712b8537e495546db5e8aebb4913895352f1cb5c53cef2653fccd0eb33d0f4fa478d3e35eb96e9d48a54fd5a83b74989cbd6ebf5ab96b10f797b33a5127cfc07e2a4ca6e54de4438f8b645b77c65aa4291ae5fe65b44394480081001224004ae8d0049c66be336e1bbf07bddabd9d68213be23a01def5fb95a9bbe5ee7a3dcaeb653578ca3ccd9919112d4d35c6729316ddab47c5359236ebee21ab93cbe2287e3f563cd471a443b370f5c464f5fc771377ae397ded471ba2b7218d76cfed2f1ea2b479a9b6dafe2de446444800810012240042687004d4c4f0e47d92823b225b765c130b71d9edb47b85d755faf14c750f2c4527077727b430374e01768a207b1e220897a1c95c5e3a6aa7937dc4ddc8f8d89efc76faa8baec441a6fe0edb9642cfd68b321e944d04880011200244e0ea084c7bc9f81800ce1dc7326a283a8e003cc3724c00b84f613ec04256847b43e7b204ce32e3c0216a1374c6fda62b04dcc5006b581c1cc21a00c0bdaa7702dc216c367d2773c31d05ff0670da6f1c215ee09d951a5d74e41db338d9367791410310170e3d4e3bbfb55eded6da4c9d3a8ae3d6dffcfa8b85954cd0e02b77851b529362f8ce0e761f2fde606ef11b87f7ccaeca5745405bc38bfe6491a6e0e0b61f45e3c823040fb4bd9669de25463a321c9b57d5b051ab0803e8696f346f2e157ff8d037be6ffb8d25fb0bd3137b4fbf99995f8d9195395bab9f7870e4afffb9613f1cac7ae4cc4bffdea9de94e913df370edf2aa5d152f1d4da94186c0e221a743a5e32ed6bf5c393bf6bdc5153b063db8f54dc2f13b7e00c06e76bbf29dcc5e4b224e77137d3251120024480081001bf04a6b764dc08f02cc3838ab01fe06e801476399b6d18cd6f6d8de2ef5e8028965f03b012e002c05f00b4002837cf00bc0cb00d602d7340679489a83271fbe2ad008b59261e0a85c46b00a500727104af403c5bca6a8c0acf309f36bf0cf1a0751d86cc0a7b4ed5a15c6d02f4771e6b3ebb7845da52e333559dadc5d68e92a737a6268575b7379feaec9fb3e04ed5dce048003f713c5834662e5af7b127793de4c9f5399dbff8556faf7b04e2154911f1f844476d1840956551e133efeaec8f4f8953e95fa8fa7843b1d5e3e1135fbafd153663ba45959ad550f257534572757e7a1cf41d38b80b222db11151498cc0b8f8d271ac1dcaecaafd45da2070394f1efbec4248f25d0fcc4b4eb094e5c9f11cedc9b8d4c5fedede5ec03e0745a724c5c5ccc67dd33993e4cc17d19108100122400488c004094c6fc9f85346e90526fb248199d9b8e3876c6539ea3fd48b8300fc8b7a38d688a34bebd8c021ea451cdac121c9f7984c3cc8625531019ac314e4ef00be60238ea79883641c949e816caf56ffba7361cc928df9daa4e0e6033b9bce4274585877ab1d94058fa3c21b6cb7e83773435ebaf2a3957acd9af5606df96e3c0eaaf59db2d594da46c7f8be948b23c0297ff69128183c5c8de3ba7eada32e3f1b57492b6b8fd67f4fcab1cd56f9240e76ea4a8e5666c42fbe0fc02319c7c7976d7ff5e6e245ffbd334b91f1cba6d5413882dcbcef97d5d8430df75b401b1f5f395786c3eb454f707af158cd0fbcaa156f576a3e94e6c9824b1e5aeab6703d46539a9beab3041f9d2467a194ce44800810012240042644607a4b469c8f3e27af17f730bd881877007403a432a0280dde15bd34374b58dad2c8f422bae028236f281ff1cfa3ece288508a57383689e61b876507eea1a3c5ded102f38d79289fbb1cd6d10fd31817605f2142f5aba6269cd0774304ea44f7ac4800c7db273ad5e9297a4bfdaac29e4f5a4e1cdc5381dfbd918dc3d028f376e853c2fa9af755b019d709e04ac49ff8c8583f1c0bed3fd9c0e94534c77b7f7765a862920d00b8d04522fe3d72ed0768a9feb7ddc9b5f969d8a5eee3bb0bf7b6f0f548c7bf877be6521c1ee266e67b3ed8e391ac7c8c2b70f038c99da2433de3bd9c833467b95b299f08100122400488802481692c1971d4104df457eb784028f878fb2d3b3dcd8e9f037c2afa9c65a7c7054284c43c21213e8be7457907b938e2bb02378d825030657c146ac4c1aeb69633fd211e4ac1439fb562b9754bf669a379f363ba0714096a6d865abb6259d9c315e215caa2382c9ea16423b7ea650f5bf522d470d5677ce667dbf11d02664ae5bc309c12fe84552b11df4ffbf1fec458ae7768f1cafb3550c76b46c9f8cef8ef4873504673f7e33d7e6c3c073fae124557e62c71136511012240048800111843601a4b465c86824b5570a011a7987114d0d7c43a0f4b51413ec526978bc6ba96b0cbaf85cc9f0b09fecc03be28ca948b237209dc6428df5f5c002458c7fb9f0ee62e8d98d55b5c2c3195dc62abc63f38ba57505561d2a6ac589707766e11b46f1ccce456a58441db01d9552fee117c4d51ca24f23d4dcc2958cd8df1f5fd432ebebff61bca4bb3d42887db7b63554969db6acdfa27b12fbc8d8fdff1fe800c07dd791724c4a8b375e03b742ac9c15383ce9893385427fa7c9050b5c4598eb3842b6511012240048800119022308d2523e2780be011f64a227ec0ae8f2d73c14fafa02e9434947aa832716cf210c02b000b98d6442df807e6bd814d49af6033ce98e19d0ac597f4f016144b380bfa7d363c5920132753b2d600cb6c77f6822269a5b9aafb8df71396acbe37e40393b9fa88735d8642db68ad3e683b01f3950fead293071af57ba0a972fdb993ef9ef8a8edec57302f961bad1be83dc77758224e4328bfeae537dc0b83d21691a8292f290f81ae7d157b11bcd7c2e6a5623e0c7c5a5acdbdeb87ef1ac66a4c2596b573ef7a304d1587638cdcc77a84552fe3e3b7c8b4dfd4d9f09c3e025c8d3b324b6dc686268b42cd96c2bc29131fff6122c9c154f9fbb79d65198a8ccac6ef34bef9c9d7a14af503f3878e6517eec2a64a70e0977e2bf30e55e626e06f70fed06679201c019dc50f67ce818c08100122400488c004084c6fc9588ac3596cb133ae5fe14d98ae14aec79e51d5a15e5c24acb3c642d49a281f1f0658c23ed98d62e405001485f88e236fcf01dccf54e3b3ec1a9766a349c66125817eb095d6aebaefb9a50a6d7e9116fbd277f2033c5698cae75a4bd252d2728bd258075ded8d9de0b874a667ad3a559b92ca79a20d7635d796b2f70b5160fbc4a92ac98a0217ae7a116b41fe46761cc621e38828853e43016ee79f449291fb52648c4a9fa102577b53751dea4d2e4391868e5ca53d6d2f953d89b5fa892fd97ecbfe5cfc428ff3f0ff614db699ca55ff5d6954641499dffb93647cac4b320ee6db2b4c0921fb7fa2572dd5672de51a05fd6d27d85982039f8f47fe3fdd60fc014b19b6c1638e763f9c05273a1301224004880011b8028119df7efbadd8c57bc927c4c76fbef9063d31c76b98234ef39778f435b7db8d99781427f0e3717c2626f822f1912f6a6b6b7bfef9e7c52d9c927406403800be98f8de04c2e3447622c0d7008745ce9889ab1bc439a2426eee7bae4f7cc938e2bb0236add11916c686f77e6e73781684703d51ea0cf724860ff5f5daeda26142a5c6a058181e0e43bdad76c77835288e935d609e7bb1651727f926c1944a6574343ec52f5bf8ef46e2acf795e24bb7dfb72d1a4bd34ee3b9c69aecfad39ae8f3def85e47f9384a834181bfc3a1cf9d0ea155fc5d620ea3710c398664977daf753c355cb46ddebf334be5b495992ad92b9a788f5fcede98942002448008100139025d5d5d73e6cc993973e68c1933828282f0888697e88f093ca222e2f5cfd0d0d0f6eddbd56a35baa1031ec759707030e660119fe0d3bc0fef8f475fe3abc37cae6266e23466601b30c7db1e3e873f7a333171cd4692f19ad1d18d44408a80c67274a7b1cb6631554e8eba95aa43324f63a97a3ce4ece9bed0c56bd66ae3c2fa6d3fd3578a24bbe43d944904880011200213244092717a4f4c4ff067426e44e06a08e0a4f0c8d5f84f926fe4bd2bb48a202d8be66ab3bd487a7192c05218224004880011e0089064a4df01119854022d95ab96574e6ac40906739415591471b138b3dd6ac70f5c921101224004880011984c022419279326c52202379140478bcfdba037b1355435112002448008dc5e04b8d724c98800112002448008100122400488801f022419fdc0a122224004880011200244800810018e004d4cd3ef206009280d7986e4735dc3f72cb9132e5f869090818f9baaade3d6291bb6d66e8afde28ff9a5759e7e2a0d964d2b7adfaddf7bc5f7fdf8f8c7f78eee977d5da874e6f255c31fffd72eeb4d58c6acd4e896deb3282a34b4ff5cbbd5360e9144af26e47f1bf19140405944800810012230960049c6b13c26fd0a77a6be13e099498f7b8b0634e495ac5a74f98d2dd7fb819989c429a9f865460a389afeae5bc5beca8ddfe8565d1e2f1975cb746a45903ad8505ae7f94461e2b2f57a7dd7e577af2819f9f88d1d7b3d9f17bf4ee43adda37a3da82e4f8e645466d756e7a9e322da0f58aeb0fb0b68aa0e566993f0aba11efbd94f4ffe7a7dbef0c1462177f43c51ff5b9acf6877284504880011200293438026a62787a36c14fc5ef76ab6b5a0acc76d5570ffcad5daf4f53addf576ea8a7194393b3252827a9aeb2c25a64d9b966f2a6bc4dd5f5c2397c757ec70bc7eacf948836827e681cbe8e9eb38ee466ffc52796d35ee962b5cb27a255a7885db248a73ca6b9bea8b502f625970287e83debfc5cd8b0eea3a79a461776565cd81f63e77505cea268b41fe9e09f9dfca7ce4bb462544800810012270ed046894f1dad94de8ce9bf181be09356c6a9c86b9edf9dc3ec2edaa2bbb521c43c9134bc1ddc9ed0d0dd0815f94891ec48a8324ea7154168f9f87656eb89bb81f1b13df8fdfd516795ba8c4665fedcd1e7fc35abd3ac2ddd3d6016adc20fbca66dfac1f95bdad51eafa5cb5df9b26e27f2bf3f1db392a240244800810816b2530ed25e3630038771ccbf8a1e838c2269131c70480fb14e6032c6445b837742e4b6c674386f8373f3ae37ed31502f86280352c0e0e610d00e05ed53b01ee10369bc6b969341c15fa1bc06996968bc30a03f280afbf4547de318b1345731719340071e1d0e3b4f35bdfe56dadcdd4a9a3386efdcdafbf5858c9267b7579bb0b37a426c5f0fd1dec3e5ebcc1dce2370eef995d95af8a80b68617fd4d196b0a0e6efb51348e3c42f040db6b99e65d62aa23c3b179550d1bb5b84d34f4b4379a37978a059c387ede8e831b62ce7c78f1aef4d4b8eee30db60bcbf3f50a57f7b12737e06ed7c66aeb5369295cfbdd833deffee7cee25d1e71a6345a2a9e5a9b1283e1b932a7e325d3ab5c72f8524841f9fe4cbd0a0bfa3b8f57649b793d6b34576dfca1663efabb5c1706ddbdad2f9b8a85972fb9fbc4e67cf3404377f52e67416dfd8424a3f85ec87e2819affb7a7bc6e4ca5f48fadfda7cb8ce48f0df520792bf37f496cb97c7422544800810816948607a4bc68d00cfb2878e8ab01fe06e801476399bc93b7e6b6b147ff70244b1fc1a8095001700fe02a00540b97906e065806d006b99033aa34c449589db176f0558cc32f15028245e032805908b237805e2d9525663547806d1b4f9658807adeb306456d873aa0ee56a1350221d6b3ebb7845da52e333559dadc5d68e92a737a6268575b7379feaec9fb3e04ed5dce048003f713c5834662e1a8ab65de3870f3d0efce9fcc5af7a7bdd2310af488a88c7273a6ac300aa2c8b0a9f7957677f7c4a9c4aff42d5c71b8aad1e8fb1f1678747c728b4e9a8fb5cee843413fe23c2e5728725dcbf5e63505759d411a8388fbfff65f0f2f4a55a53d98ee19ec2bd2dcaecaafd45da2070394f1efbec4248f25d0fcc4b4ec0e0f8af8c287586498df53abb67cd4f49492b2c373a4a6dc672ab458fbfbc41675beb4874b22a29262291f397b18eba6a4edfea42affa3fde9caa8319aa2877d7919abd2d32c1c7644bfbdfea7c408ebfe4ef0d3b2c973f86055d1001224004a63d81abfe5be7b622f653d69b1798ec93ec98998d3b7ec85696a3fe43bd38887f5733577c49b11a601d1b3844bd887200d5c47b4c261e640e554c80e63005f93b802fd888e329e6201907a56720dbabd5bfee5c18b36463be3629b8f9c0cea6b3101d16d6dd6a0765c1e3a8f006db2dfacd9cc4d3951fadd46bd6ac076bcb77e371acadef94ada6d4363ac6f7a55c1c014ef9b38f44c1e0e16a1cd7f56b1d75f9d93850a7ac3d5aff3d29c7365be59338d8a92b395a9911bff83e008f641c1f9ffd27d2deb0e59d7b7f919b1ad377bce6dffebaba3e5719b33a13f5627ffb81f59bf1770060dc7ad492be34334fb3f7fce62738bd78ace6075e15ca39682cdc11c0d958632ab582d2d2546f8c57a840637e1af5a2bb6b5f512627e494e6c6faac50de75528fd9e50df86ca0bfedd7995b4671cb5721e77fcbf3511649f2079de4ef0d7f9132f9f268a88408100122302d094c6fc988f3d1e7e4f5e21ea617f167b103a01b2095fd407072f95dd14b73b384a52d8d4c2fa20b8e32f286f211ff3cca2e8e08a57885639368be715876e01e3a5aec1d2d30df9887f2b9cb611dfd308d7101f6152254bf6a6ac2970ddd10813ad13d2b12c0f1f6894e757a8ade52bfaab0e793961307f754e0776f64e33034cabc1dfa94b0bee67d157e4718451813f1273e22bac6248e85f69f6ce0f4229ae3bdbfbb325431c906009c54968a8f8d76eedbe5d0ec2fc549ec43666bb4790dde177717cef0ba3f7ceb752e089aedadbfffaf7455e8ac3878889b69eff9608f4782f2c5dc919b96ef6ae4f4225a3477c07f68e874a93884ddd9f4b267e02f3ad433548b03ae0d478ddcccb9d75c872d3f9870c7bd777109637943915e013d27cbfcad951ebd45ceff96e233dadc312939fed2bf37b9dfe198907441048800112002d3fabb8c386a88e6fdfbd9f7d780828fb7dfb2d3d3ecf839c0a7226c9d1e17081112f38484f82c9e17e51de4e288ef0adc340a42c194f151a87a06bbda5acef4877828050f7dd68ae5d62dd9a78de6cd8fe91e5024a8b5196aed8a65650f578c2ed50010c561f10c251bb9552f7bd8aa17a186ab3ee3333fdb8eef1030532ae7e10b84ce4f58b592f1d17d045f4fe57e2baeafda8546cd0ce6f287fabc0376e1c1bc3855b2b0582865ae011ca61e35af5798f7f713c7496a177379fb95978717897e3ac3bd8e890ae5d12a30a52bd86dd12bdc3dc78bd69b2732212def7f6bf119d349ef853c7fb9df9b5cbe3724258800112002440009e0df72d3d570190afecd8c038d38c58ca380be26facb9a2b4405f9149b5c2e1aeb5ac22ebf16327f2e24f8330ff8a228532e8ec82570939ef7eb98c2e27bd1f1fea783b94b2366f516174b4c25b7d8aaf10f8eee15545598b4292bd6e5819d5b04ed1b0733b9551761d0764076d58b7b045f539432897c4f13730a567363827dff98487cfe3f17fece1ee759502896acc9013b4e7f630fee8e4501e81a19ea3873de050931ea6c1df88e0806f9fe07c726a107cef7b276eb7617adf2eac8169bbf570ebf1ce6064f47867bd88da283ce9893385437fa5921e3d33f4ec517037e2da71727ec7f45fe37988fa7cfe3daef97bfdcef4d2e5f8495924480081081e94ec0f76fb0e944e42d8047d82b896fe23b756c990b7e7a0575a1a4a1d4439589639387005e0158c0b4266ac13f30ef0d6c4a7a059b71c60cef54280e42e12d28967016f4fb4ca217c8c4c994ac35c032db9dbda0485a69aeea7ee3fd8425abef0df9c064ae3ee25c97a1d0365aab0fda4ec07ce583baf4e48146fd1e68aa5c7feee4bb273e6a3bfb15cc8be56660077acff11d9688d310caaf7af94db5ec505b44a2a6bca43c04baf655ec45f05e0b9b978af930f069693527ef703a3856632ab1ac9d7bd78369b8e8d8e5e43ed623acea908a2ff19f497fd31fbbf58a84b49fd496cf7efbd3d0758f3f8ad2b3f3c81b0e7084bfed2ccb506454367ea7f1cd4fbe0e55aa1f983f742c7bbfb7392c11e9b974b4ffd30d2ac5fa5fec885e97f0a0f0c96defef67ec4dec4a9967d9b428e272b822112fe76147ca1f0db97ca69eefb232ef50652eae9d499f3fe4f9c4b74e158f22346ceebaea1d1bc2f9c1cce00b67de28e6e7e527eefff62279fe378f8f6ffbc1f17b49fe07674bffde7416e97c09f294450488001198d60424fe5f3f8d78e0cb6938c6838b57f00f6fc274a5703df68caa0ef5e222619d3516a2d644f9f830c012f6c96e14232f00a028c4771c797b0ee07ea61a9f65d7b8341b4d320e2b09f483adb476d57dcf2d5568f38bb4d897be931fe0b1c2543ed75a929692965b94c63ae86a6fec04c7a5333d6bd5a9da9454ce136db0abb9b694bd5f8802db274e55495614b870d58b580bf237b2e3300e19474429f4190a7cf5f04f22c9c87d293246a5cf5081abbda9ba0ef52697a1484347aed29eb697ca9ec45ae5e3bbc175093d8771a87254c9618cba0d6509879e33aaf5b8069ab3ce630dd9155cfbed15a68490fd3fd1ab96eab396b2a2feb6131800ef715f12c64107b80687614c5bf1ab6b0e65a5262c4dd782bbe770cd2bdfcdcbffde2ceefd4f194b7c682dfb480f2bf674c49dfcaed065fe3fe9603678c9b90c70fd85a0b8a56971ec0eeee09a8dfffaf1d804fdabd28c32fc6f329ff1ed97e3ef6897f9bd1965f2054074260244800810014660c6b7ff3f7bdf03175595f6ffe0f05f461a444325c966dcd99c8a6c70236b4679756734e4d7b809b14961bcd18f379697e5b3c9941fde80966c21df0feb922d1f75fd49524b92ebf433ab21f9e90e56da8249491bc568d46cf226418acc38c8c0efb9e7ce0c97997b01753088f37cfcdc7bee739ef39ce77ccfc5fb9d73eeb96770900b85fb924d708f03030368891ab7a0869b662ff1e82d0e87039578e426fafbfb592526d82cee91cd6a696979fef9e7b9118e4b3a1120049ff99c452a23549340bea1f303c0418e112af129cfd5703299b9ef995efe79fd704b4ddab452adbd2922a4eb1b8389f3ea9c4cadbd6d6e88adbbcb68e40c13ca945ae94d212160eb3a653479b241ae9fd4ecbc99179bb63194cf072293c9c2c37194eedb26f6bb9138eb7d95fe655add6d78ef7834968428d36aa5785fd9be319b5cb50885ce801362e38140a880b05ea64dd7ceb71b77d478a22950648cf613161fe1f8f9f017badf84f402a05135458022300511b0582c3366cc98366d9a9f9f9f4824c2230a5e221498c023322296ffd86cb62d5bb628140a3443033c7a88bfbf3f6a308b4db069d686b5c7a3b7b0d5a19ea99808378d0a8c0135ee78580d7b742b3171d54229e35543470b5204280214018a00458022305510a0949161a354280214018a004580224011a0085004280223204029e308e0d02c8a004580224011a00850042802140106014a19e97d4011a0085004280214018a00458022300a0294328e0210cda6085004280214018a004580224011a09491de0314018a004580224011a00850042802a32030b5bfcb380a38347b622320d3666ae79fb3f4dd76d72d70f9320404f4feb3bebcc6343c68ede69d8f44fcebbdacc22aa75ea6d53fb2b4eb833d3b7043eb9185f57f6cc7d07ed923db8f92abce2b5ed1f7cfffbbad86f3e5a1518af82c5ba654c7ddb6401c18d873aeb5c6e001114f2d63b29ff8f8a8332b9f58d6f5f73d9b7618791a495514018a0045802270250850ca7825685d852dee4c7d0bc0535751725216d16616ac5870f9ad4da5a3b39211db37163f0525ff951803a6faafd42bc857b9f143d9f2cb9e9451bd44ad908a14fedac22a276b98bb2449a3b15cfe6054cac8faaf6bdbe1fcbcf888018f9ea9563fa8d180fcb26f28a32c756779a62232b475afdeb9cb8b6004cab2da32d7ae328cd16ffebdf9f74959c21c6aacf6131a1f8286fa9e65b15229042d014a19056f0f9a4111a0085004c68ac0b4b11a52bbab4300bfd7bd926c2d7875c5275ba93b97ad542524a9d5d71af7a87e64e9158931a2cec62a7d41da238fdcf348511d6ea662efbfec59b1c974a0a1f170f5d08ecbd07b192dbd0d3d0abafd170a732b8f22a35c927a79221ca5184f767af1cefa3db9c81731cf3f10bf233eb244ce0e17599a0f575796966edddbdaed1045c63ea2d70a971993fd44c6c7dd34d3be370e37361af6e11e4d54280214018a0045e05a11a0a38cd78ae028e587b6981bc5f0a791ddc76ccfe7f0226e57dcb8d1fc680b1e8d03473bb33734401bce30875bb162dc4bd94b4ca5f99e239ec40c77131f4186f91fc1ee4ab3dc11ca30ec2b2decb4d7aed628421d9d2d6da0c00db24717e306cd10ed3d2556ecc9603738142a3916fb898c0fa75d6d864d39be1923e638a5498a0045802230451198f294711d00ce1d4790ee47d271984c22a3260d00f729cc02b88964e1ded01924b1850c19e2931f8d71bfe912d77d930fb08af8c121ac5e00dcabfa25801b5c9b4ddf42cc7054e80b0076775f213f2e7f93ef8cafbf854fbf2198214533176895009121d06936b25be5656ede99ac568819dc7a1a0fbc9c534a1ee4f8aa59cedad86809db586bc7b1fcb5794d23fa612d53cbb2e4a1d052fdf2487440995dfbc2afc271e411fc7b5bde4ccedbc685b4bf2f22b3ac7abd4a1a04d0d95a97b7a1904be0b8fe332b6ad74ace9cbc786b426c64c7b16ac3857bb234527b47c3e36b71b76b5d79cd13f1314cfc0e6be7077f7b297f9b939cc974fa922756c748d03d936736bd92b68f49f65d0ac82ede9d4cf688ee693f56929ac7f2595d5ed9fa5f2ae7a0bddd7ec1eae83af56a5abeebe54ba61c57ccefecadee28df66cedeb9674c94915b1652ef9d8fd7dd5d9dc3b4c217bcf6131b1f506657bcf02b39f3178a5b91fa83f9cd3fe46c2330f3de6fc26da73914018a00458022c045606a53c6f5001b091ac8087b001601c490cb30b26134bbb53592bfdb01c444bf156019c005808f0054004837cf00bc0af002c06a6280c648139165e2f6c59b011612251e725c8937010a0184fcb8ac26e3595fb45527750ea2a9b28a101e14cb41482e31a697edcf5045414f7b43e3d9854be3e3744f95b59fcaaf692b78727d6c7450476be327ed3d33e6dd229fe93f1d60043f4e5894798c37246d2c0f706abd4ee72f7edfd5e5e88759d2e8d059d8a343d207204fd1cbb1cf2ded3db36222e59a17cbfeb936bfc66931dc7f5848b844aa4a40de677744c5a7e18f08bbdd111475679252ab28d32b4291711e3bf1adff3d0971aab4a28abece9c1d4db2d4b2ddb92a11d8cdcd0d5f5f08987febe2d9f3a3d0397218b122314d81f59a3b82e7c4c4c4e714eb4c85065d718d5e83779ed5dc72aa3f7cbe3c5a123a97b11790b6aa7286dfaa03aff88f37bdac36512e76580e6fddd124e07c989adf7ea2e30370b1a7abab0bb0ef45e131d1919230e7dc3deffd36acc1f482224011a00850048411b8e2a78eb0ab4998f3ef24e61709ede30d3f8f8c3b9ec457c608ff43be68c5673531c59714cb01d6908143e48b4807904dfc8398d51283324240d309837c0de05f64c4f113613f483d27b3ec2bff7dfb4d92bbd667a9a2fd1bf7be547f16c283823a4e194196fd10323c6bab5eb38119ea51171f29d5285725414dd3cdb37010aefb13c3d642c3d018dfb7427e5ce0146f7c400cd683e538ae3ba2b45565a5e2409d6ce7913d3fe7336c31943e8e839dea8223a589b316de01e0a48c9efec99f486bf5a6f76f7f3a2356d27d6ceb7f7eb6724f864cb23219f9624febdea40d781f00e8361fd127c425672a779cdff028c3171bb62e77b350c640a9678e00e6baad69853520d3d7efd1cd92ca4199f724f2458765576e3243e46479757b520259539f1e538babb16fa0a7e5f7c99b86e016ae42c87ee2e3d354b589e97914595efd9e145713d5bcf79b2b979e290214018a0045601404a63665c4f9e873c27c713be18b0860054007402c811227973fe0bc3417ec5ada5247f8229ae028232b481ff1df83e4e2b02b17af706c12c5db0f514fde435b93b1ad09e6e832913e5b4c35431fa6d1cdc3b642a8fcb9fa7a7cd9d001a1c8131dc1d3014c878eb72b126234fa3d2b723a3f6f3a5ebbbd04bf7b23e8874023cbacd0c4047537ee2a61277447c76b2edee2fdc3cd702cb4a7b99ae18b28a67f7c654f944be66b01705299cf3f066ddeb5cda4dc5d8893d8fbf36ac2f35661b9c85b7186d771f2dd034edf8677bffa6d823c303812ee6566da3b3fdeeea4a0ce7c3c31d3f2963a862fa2843307fca1a156c7e210767bfdabce81bff040e7502d0eb8561fd13133e76eb11fd42f1f73c3dda59884aeb83a572385cee6a291d64a0f1511b29f50f80c852b94e2802974bf0915a57a8a004580224011f040600a534676d6d8fd7cf600062f91f0b1f217727a921cbf01384d061dd9ac76f60410e04acc7625b867eebc286b20e4875b6af2a69110ba44364b8cacc76a69693ad313e044c9dff6f529ccafd994faa52e6fc33af56269944295a8502d5d52747fc9d0520d008e1fe24f5bb09e59f5b29dac7a71d570c567ecf3b3adf80e0111996c36be4068fe9c54cbeb1fcdfbf1f55486f2d9bf6f750535cd9fd1dbbadd037621fe2c399511b798c927f65e2b57edb60a72df3f910ca5b613a3436fbcdab78073ebf47599c64a94b995803abb52af913a3a8fe526e58d65425ad87e62e133ac9163b818fd7e1b83136a4211a0085004a62c02539832e232147c32e340234e31e328a0b7703eea646500004000494441541ed64c2632c827c8e472ee70d30272f9834bf93b57823db3005fe42885fc704c266fd2f97e1d61586c2bda4e9cb666c4850677e5e7e77bb7abc9508eff70742fbbac244d15b3744d26189945d0de7e50c9acba088296bd82ab5e1cfdf89a229ff0e89d21a667af64c604bbff672cfe99f713c8ea263c769acf82547ad7aa7430924950d9a2082480f67e5bdb99f37688922852d5e03d2228f2fe832393d0bde7bb18d7a0aecc5de1e6914d86915e39fcb68f193cedefeb24053907b52e7daead6ae8b342ba277f1d8b2f06fc5e882f8ed97e54fcaf333ece367bc6cf81c22b2974bf791952054580224011a0087822e0fd04f3b4f8295fbf0bf0007925113fdcd64d96b9e0a7579017f20a523d64993836b91fe00d8079846b22177c9d58af2553d24bc98c332adc53a138088545902ce12ce82fc8f064b6809f64de5a2799b2d5dc05d2e86579651d6f9d88ba6be5ed011fa7e5951f36af4994aaea6aca6b0dc7618eec6e75c2fcde3acd76a82f4d3ad7fcc1f14f5bce7e0fb3239819d8deae736c8379fc5407b2ab5efe502e38d4163a57595c501c00965d253b1078b704cd8e453df49e2e2c67e81d4e074728d30af4ab67de7a773c2e3ab69b998ff5b85675f0f9e7f933e9a97faf43238d8a7f6c6771d8a1d3816b1e7a10a967fbe1b74c600a39642e4a942696d6dd58f7cee73f04ca148be7d81a5277bbc32189e9ce4b53eb770e904b939eae085f1375b7eb93dbeefb6778217225cbd43fb220f47288742e5ecec686143f1870f9cc1eb6c9b2ccfda519b87626618ecdf9896fb57c1692d0a0996bca2bd686b08399fe17cebc95cfcecb8fddfed00261fc7f3c7cbce3e7418ca8d4fa11ee37a142544f11a008500428026e0478feaf77e7fdf413f8721a8ef1e0e215fcc78a6bbad2753dfc8cac0ef9e202d73a6bcc44ae89f4f17e80bbc827bb918cbc0880a410df7164e519803b096bdc48ae7169360aaf1f9233d90f86c29d2bee78264eaacaca55615bba9b3fc663495af1cc9a82f898f88cdc78d2407b6b5d3b982e9de95cad8855c5c4329628564be3ce42f27e21126c2f3f65052962b0e3aa172e17640b92631f0e19878aa59a4429be7af8770e6564be1429916b12e5606fad2faf42bec928a4f168c854dad9f24ad1e358abb07f07d82fa1651f0e550e3139f451b5b6286aff333a8506d74033d2de509d5ac2c46f2c498b0ad8fd98461ea7498923593d2dc7d10196715c728d83f6320107a14f43febe55fb5362a3e21254e0e83cb8f58d9b33b37e1eccbcff292073ef5d4d3ed243b29d0d71ccffc0d564f64fda9f0c5e3226bd4c7b411419171f494a30077b18fefa71ca18edcbe27502f8ffc8f878c6ef6a177b66dace8aa97584fbcd6544cf14018a00458022208880dfe0e02037d37dc926b8c7818101b4448d5b50c34db39778f41687c3814a3c7213f8d134568909368b7b64b35a5a5a9e7ffe796e84e3924e0408c1673ee7fdc511aa4920dfd0f901e020c70895f894e76a3899ccdcf74c2fffbc7eb8a5266d5aa9d6de1411d2f58dc1c479754ea6d6de3637c4d6dd6534728609654aadf4a69010b0759d329a3cd920d74f6a76decc8b4ddb18cae70391c964e1e1384af76d13fbdd489cf5be4aff32adee36bc773c1a4b429469b552bcaf6cdf984dae5a844267c009b1f140205440582fd3a66be7db8d3b6a3cd114283246fb098bcf08f12bf376bf9422371b8ad24a8dced68f78bf092044d514018a00458041c062b1cc983163dab4697e7e7e2291088f2878895998c023322296ffd86cb62d5bb628140a3443033c7a88bfbf3f6a308b4db069d686b5c7a3b7b0d5a19ea99808378d0a8c0135ee78580d7b742b3171d54229e35543470b52042802131001a5beeca180b35f76072e5cb55a1519d463f88da694f3d36502464c43a208500426050294324eed89e9497193d220290214812b4060faed4b5552918a94b0b7185ea67cf10ac0a3a614018a00454018014a1985b1a13914018ac0e443c05494ab974646e01b01a78cf8a14f2a14018a00458022e01b042865f40d8ed40b458022304110686bf27a2b76824446c3a00850042802931901e635492a14018a004580224011a0085004280214811110a09471047068164580224011a0085004280214018a008300a58cf43e98b408c8b499d9993ae5848fdfc771aaf38a8bb3537dda6c75666575f5e64ced848792064811a008500428023f1a0294328e33f4b833f59671ae6222b9d76616946dd6abaf39a4b1f82928f9af8cb4f4c5431fa8bee65ac7c7818fe354ab1fd4687ead737f7dde0741abef59162b95266896f8c017754111a008500428023f510428651ce78ec5ef75af245b0b8e733d13c4fd9dcb56aa1292d4d7cc1947f5234baf488c1175365615ba3ed23c4110f008c3f771f65ec66d63ecfd973d2aba964bd3be370e37361af6e15e4654280214018a00458022c08f005d31cd8f8bcfb4435bccf9cce54476d4c76ccfe7b8763a339a1f6dc1a371e06867f6869ed0325e71e2aed1acc8007cf01d9936c3a61ce7568d2ec7f44c11a00850042802148161084c79cab80e00e78e230828c8760e033c45346900b84f6116c04d240bf786ce20099c65c681437c62a331ee375de242331f6015f1834340bd00b857f54b0037b8369bbe8598e18e825f00b0bbfb0af971f99b7c6799521d3efd866086cccc5ca0c557ed2243a0d36c64b7cacbdcbc3359ad1033b8f5341e7839a79410147c852e676d6cb4846dacb5e358fedabca611fdb096a96559f25068a97e99a539cacc8a175267d59619163dfe683cf1d6dd5c7dff0ea82d7ba0e36f2539db4c4c296566cd0ba970f295d4d7036b5e48bef461edfb01f7ae4f900701f4b41f2b49cd3331067c7a52256ffcfcf5666d6383c42337cecc8adab59233272fde9a101bd971acda70e19e2c8dd4ded1f0f85adc355b575ef3447c0c8383c3daf9c1df5ecadfe61c3b95e9f4254fac8e9160984c9ed9f44ada3e26d9772920bb787732d96bda193fa3065d5ed9fa5f2ae7a0bddd7ec1eae83af56a5a7e15c9e13928b32b5ef8959cb99371cb4e7f30bff9072756bcfdc2e380aa280214018a0045600a2130b529e37a808da4b39111f6002c028821976164c368766b6b247fb70388897e2bc032800b001f01a800906e9e017815e00500f6d53234469a882c13b72fde0cb0d07527e5b8126f02140208f971594dc6b3be68ab4eea1cfc526515213c289683905c624c2fdb9fa18a426ad6d07876e1d2f838dd5365eda7f26bda0a9e5c1f1b1dd4d1daf8497bcf8c79b7c867fa4f0718c18f1316651ee30dc916cb0501a68789c5a1311945b93861dbded21aa190878685c17498152ab687e1fecf44a647cc12878ae646a13e422c166b32e4d8e716734770744c4c7c4eb1ce541fc1af2f3408c5cf5fafb33e24a9c3e20c0b0997485509c8fbec8ea8f834fc3162b73b82a2ee4c526a15657a452874b61e3bf1adff3d0971aab4a28abece9c1d4db2d4b2ddb92a11d8cdcd0d5f5f08987febe2d9f3a3d03d723cb122314dc1c63fc7197fa141575ca3d7e01d6c35b79cea0f9f2f8f9684627b47908b3d5d5d5de0e80751784c74a4c485156fbf8ce086665104280214018ac05440606a53c67f275dfc22a17dbcbd9d47c61d4f02204ec8ff902f5a01d817f570acb11c600d193844be888f716401ff2066b5c4571921a0e98441be06f02f32e2f889b01fa49e9359f695ffbefd26c95debb354d1fe8d7b5faa3f0be141411da78c20cb7e08199eb555afd9c00cf7a98b8f946a94ab92a0a6e9e6593878d6fd89616ba1616872f55b213f2e708a373e2006ebc1721cd7f590cebdfaa472936cf7877be4fe01d03b7c7a1c877e597125cc755bd30a6b40a6afdfa39b2595c3ff75e67bea05e3c7ee676578bd2ead679ce44fadb57ad3fbb73f9d112be93eb6f53f3f5bb927432659998c7cb1a7756fd206e250b7f9883e212e3953b9e3fc864719bed8b075797e8dcb299e957af6c2334e65de93c8171d965db9c93b9a006479757b520239e5bc934d559b52d92148595efd9e1497819ab75f5cb9f44c11a00850042802531481a94d19713efa9c305fdc4ef822de1815001d00b1e416c1c9e50fc8c4347bc304bb96b6d411be884a1c656405e923fe7b905c1c76e5e2158e4da278fb21eac97b686b32b635c11c5d26d2678ba9c680ac8515dd3c6c2b84ca9fabafc7097d0784224f74044f07301d3adeae4888d1e8f7acc8e9fcbce978edf612dcdf4dd00ff126cbacd0c4047537ee2a21b3cdce2ac8a971575139a36cfb6b65a5a4e3145976c4cd1f4a33d3e3963a862fa284330724fc28fcfadb84e2276500bcea65f47c7162e3cdbbb69994bb0b013af7e7d584e7ad42cbc85be763fd27df3de0746778f7abdf26c8038323e15e668ebdf3e3ed244c672e39f1c6a956c7e250787bfdab0c5f44090f44b3b1ca3063fe7e19ab2b6a4711a008500428023f5104a63065c4514394119eab48f858f90b393d498edf009c26838e6c563b7b0208702566bb12dc33ce74bb853510f2e3369bd40924842e91cd122347b45a5a9acef4043851f2b77d8d940e6a36a57ea9cbdbb04ebd581aa550252a544b9714dd5fc25d01cdf143fc690bd633ab5eb6f3ac7ab15a4e3859aab18a0c9d2957ba4220e7e901d8d52c35c46b7baf959bebbe0bbcf523c44f3c78d5cb6879e3c44afac910270e1d7edf8af3e9a4fc347f466feb768fb386f8e31f653fb24e92ed8e8c5cb90fde71b25941eefb3092a1e6f862ed55c8e8fd72154e69118a00458022401198e4084c61ca88cb50f0898a038d38c58ca380dec2e579988b0cf20932b99c3bdcb4805cfee052fece9560cf2cc017394a213f1c93c99b0c64dbeb9afcc586b49d386dcd880b0deecacfcff76e5793a11cff213fca2e2b4953c52c5d9309c61d68e6ed0795cc6a922068d9eb5cf532dc9bc849c1385a42106d44a1aed8b88a61aeae5c91c08defad1f397ee6378727af1d394e1201a99d05a9d37c16a4d2bb56a58391305dd9a208a489f67e5bdb99f37688922852d5e03da4ea1d279049e8def35d6c7b2b735778b24db52e7daeadaa864bc95d70789d85fac5cb902a280214018a004560aa2020f0e49c22cd7f17e001f24a227e90ae9b2c73418281bc905790ea21cbc4b1c9fd006f00cc235c13b9e0ebc47a2d99925e4a669c5181a344ace0e0111641b26400f805199ecc16f093ec2a3299cfade62e90462fcb2beb78eb44d45d2b6f0ff8382daffcb0794da2545557535e6b380e736477ab13e6f7d669b6437d69d2b9e60f8e7fda72f67b981d818c0e7abbceb1ade7f1531dc8ae7af903997e1e2348524dcee68055b7a8136270d69657bc089fd3caad6f12883fad94d79f7bd50b5f9c3c7f6e3df5ef7568a451f18fed2c0e3b743a70cd430fe27474fbe1b74c600a39642e4a942696d6dd58f7cee73f04ca148be7d81a52770fafd615a7a9f53b07c8a5494f5784af89ba5b15cdbc0dc0b90f6599fb4b33702d4cc21cdb86910154eb47e897e175d32b8a004580224011984208f03cc3a650ebf1a5321c9bc1c52bf88f954f5d09de33b23ae48b0b5cebacd106b926d2c7fb01ee22efcee1b8d68b00d9ae6feba0c133007712d6b89178c4a5d928bc7e48ce643f180a77aeb8e39938a92a2b57856de96efe188f2569c5336b0ae263e23372e34903edad75ed60ba74a673b522561513cb58a2582d8d3b0b915933e2eda7ac20450c765cf582249c4f10fae1d254fa56f37d29b1d10989d1e0e8acdb7b62498ac6ff521f1aa1a983249802bd7d38d61cd43f929e3f7e676d9ef50ac7e900fb252cd48775b97f5130b154ad2d8adaff8c4ea1c135d08cb43754a7963038184bd2a202763fa691c76952e248564fcb7174c01fbf217fdfaafd29b15171092a6cefc1ad6fdc9c99f5f36096393285d93f757f3218499c0d3b0c35c3d43a42bf0c2b432f280214018a0045602a21e0373838c86daffb924d708f03030368891ab7a0869b662ff1e82d0e87039578e426f06370ac12136c16f7c866b5b4b43cfffcf3dc08c7259d081082cf6ace229511aac189ecb9003f001ce418a1129fce5c0d279399fb9ee9e59fd70fb7d4a44d2bd5da9b2242babe31989caf17322d91a9b5b7cd0db17577198d9ca52b32a5567a534808d8ba4e194d9e6c90eb27353b6fe6c5a66d559cb263c0073de0e721cd465c5773adc21fbf97d7ab8b13e1d1ea6ec37bd00334e25ea6d54af1feb47d6336b15fb9f4aad4ad60820cb1f140c95490ae9d6f37eea8f1864299b7fba514b9d9509456ea9ab61eb15fdcd5d1044580224011983a08582c961933664c9b36cdcfcf4f2412e111052f11014ce0111911cb7f6c36db962d5b140a059aa1011e3dc4dfdf1f3598c526d8346bc3dae3d15bd8ea50cf544c849b4605c6801a773cac863dba9598b86aa194f1aaa1a3052902931a01a5beeca180b35f76072e5cb55a1519d463f88da69443f12775db68f014018a0045c0e70850ca38b527a67d7e43518714814983c0f4db97aaa4221589d7de627899f2c549d37534508a00458022f063204029e38f813aad9322f0e323602acad54b232370c6fb942f26ee7ffc06d108280214018a0045603c11a094713cd1a5be2902131881b626afb7472770b434348a004580224011f87111605e93a44211a0085004280214018a0045802240111801014a19470087665104280214018a004580224011a008300850caf86ccbb9f3674f568dc7edf0e7031f9d3c54b57c3c5c5f079f32adbeb838532bbbf6aa52b30b8af3d23d1df9ceffb54738113df80e1f8aff44ec5f1a134580224011986c084c79ca98b36651e48ca8d8079ff57dcfe53cbc6649ec0a9ddaf79eaf8bc7b94b92349a154ba4d75c997acdaf133529bff474e433ffd71ce03538d06616946dd68f4b17fb0c9f9f32fed7d075b4284580224011a0085c1902539e3256ec39fae5bf3e7bebcfcf5d196e63b2eec3afa40f3a7027c24929bd97715b94fecb3e88fd123ac24d933d3cf9cebf87e3eb7979e7b295aa8424f5787046dfe1f313c6ff7af635ad8b224011a0084c7104e88ae90ad5cf2aa6f84d20d47c1193e1c9f4848caf423fdefeaf22a42b2dd2d7cfecdee70b5ecd53f378e333defe799a445514018a0045802230691198c2a38c0f1fb03a700f4366b342eb9903433df870ed4587a3eb646d6d4b17bb1fa2e3e2991cc8396375382e9de5ce5fe71cb23806fabfa87a1837963e73b1dfb977e240df1707b85620615dbfd860edc7fa2ed6a239406dcb3987b380c3d280fb524f50e9ef8bc82cab3ef22123077617bbdf47d4e595d5be5d7ff4c3a3478fd4bffd765d75593adb00994e5ff3366bfee18747ebab373bf5988bbbe131a2d3d7be5d575f579319c95c09f8d795d7bc4dea441f07cab2b58ca932b3a6ae6e777166e6e6dd6c057535e5eed1bdcccd3beb8e921247eb2af43ac6de29dacab731e34879a6d2a5414f1575f53599dad4f25a672d6f57e2bee028bcf566d7d6d75564bbaa62c2a8afc1f6ca946aa5fa8660e45da2990bb4b833218ad205106f3cc2f562d53c71a256001f983cf833b052a1085004280214819f00025398327edb75de76c976b10f37640c8eb861a82f6746854c9b26895db76e9164d076a1f7f2e0b4e937979e9c7feafce0b4a0a8df36e4b82c733625cc9be6d7ff61baecdcc053374f175deefeaaf9b37f0df8052c5c536c61892131c589e9e57f6e1978eabe10d1b46fdf2e4b7e0daabeb8b46e51e4b481de2f3ffbca3e386dde7d4f7df1e7e52eb713e8dc07204fd167a8a47d96f64e3b44ca352f96a5627cbae21a7d8a2a5a025fb59c6a3b679748c4d173a3502f4b2ddbadd7c548c0dcdc70b8e198b95b347b3ea36705872b65a99bebf5ba6849e8676ffe9f1d9d20e05fbbb35e1f1f23e96c3d5677b8d11a1aa94a2baa40c2373d22422c966b323212e47d163306248e89cf2966d8617ad9fe8c0485d8dade70f85847bf384ef75459aa8bbb29effcb904595dd09c1b094525a14c0f138b4363328a72e3a343db5b5a7b707bf0b030246d02f586cd0a154bc29c8c17c398250e8d9a1ba52fda5afa52a92626089dabb28a5e2a2d42793a9561b742f108d44b62e28b53009f49853f691c3d5004280214018ac04f0081294c198fa4cf090b0d0bbffffb4160b6f276cbf7ced485e64a51687898e67d7c233178417cd2ef8e0c0048966e22a384b0bc561f350d2e7ff5baf1404ea41f0c74d707462cb853112ddaf219dacffbd57fb36630688fabfae2ff652df283c1cf2a13a2939e83e507d62f0c82c1eeff1485fd4cb12038b719ed650f15b8eb9f68891643a9263935e9d983f846e2ac85778032ef494d0c382cbb7eb322edf1ac0dcfbc87948b882cf7519508ec0d5b97a765e56fcacf4b4b5aae492b7566f65d5a905eb633372114ac87b76ec8d96674ea013cfc2bb39315a1d0d3ba3769435ee1a61c4de961ac372e3953d9eb2c61aedbaa494e4bcd7bc78af148e520cb7e481505d656bd26357f53deda67ebec2052ae4a725a3795561a1a9a1b0f1bde19aad15575e75efdf2d4c74bbe45d2e71f306abdce52ae30f695ff7e6be9d6060b46e768dc8bc9ad9595953bb19691e361bc0cabd7e956384e0f7c2619fecee6d1134580224011a0084c7a04e8bb8cb7e318149236ae300cd2d61c7ee77f30cab9ae9cd7567ef0e781fb664495552d7f2d1db63f300fb982f1b1f48c5a7c9b0dccaf9738ed3656fef0bb3f49fc8298612ef43b2dead14771a4cd71b4d05fc52eb149bc85e1e97e92ad03035b99327e4c75813398e4041344a6a7b9faf152031397e91f5fd913e592f969eab96280f6fa5777349170c303d18cc8bd38ee089d1f6faf715e0f9d1021716c56162aba0d45f797bac81bafff358b67235c27df75bd2a6078f7abdf26c80383719010ed1d96bab442524138e39e81feb679a1780c953f575f8f160e08c5713f47f074269b484d69be774498d3b8aba8dc84e7b6bf56564a3a4ea9935f10aa97f5e3716c6b32b635c11c5d261394a9c6c0a28146ba51e2f1a8d7edd63b4e5e7c261dfeee06d2044580224011a0084c6a042865e4efbec14baeb1334ebe6afb3f079e5a342ff98fcb1b6161000e141e493a020d22a47c83d6b3475c8612a220570c196478a31f887efecb67e13986332ebf399c2960eb6cb35c0c082066106035ff9d4d4da8235296b3ad9f3a4392c9660781ddfcf9d7c090e12067e400910c45c3a136a226b4cebb0de8081c768728483463e19d5a303a3923afff4bfe73f0153e5b779bcb4d883fdea4fdce2b7b2f8e2d0e097a90cd126300564b4bd3991e179efeb6af4f0d19f1a7ac96134e9667acaa4213fdafd19960bd433ea607a01d4355b9324450478dc7b35eae1b8f342f3e3f15fc3dda4a2f290214018a004560a223402923e92107c37986093eaebd6563765bcee1852177d4ff91617d8d7f5c8926efb5f4dc77df8c458f55c173e94c89e56ac21f5cdfd619ecc8cd6d29ffd38ac8fb8acf1eea9eb3b2e2c8fecf07d7cdf3f3effed9cf7ee65dc3c4d3382762d3b357326388ddff03810c65ec3ddf45425557e6ae7042d576e6bc1da2248a54359430a377c3c57aead9e2d6a74b5314baa2ca3e5b1619df23169efe4f5aceeae4d2bb56a583916172205b148115b8bed123f2ba61db4e9cb666c4850677e5e7e70fafd275a5d6a5cfb555d53879aa4b2b020ecf43e5c97f0ad64b0822bb725c5db17115c3505d5e02d9785cb3d5a81e2d1ecf7a5d9e00f8e3f4c467f2e13fd4429aa208500428021481498c80d7137812b7e5ea43f79b71d7c98f4ec285e63b5712dac7f534937b71e48903ff3abc6edeb469384cf8c92f984143784e65d834f868d0cd8f9c3b19f14673c8c3eb190ad5dbb8bb02a098c90f828a95fef371f9cba2a8157fb2d47e1f9dbcb2f1cf034b662cc485d87fdbf32e2c542ebf2f2ec2febe285cc5984f2441aa14a14c2bd0af9e79ebddf1f2481c63fc4bce0e936ea103e4d2a4a72bc2d744ddad8a666685d95140d35f0f998b12a589a57537d6bdf3f90f8132c5e239b686d49c4f999b4c140ca6f2fb4b67d5eb13625336575ccccd39c18cd579fb37425f964e1a15ffd8cee2b043a703d73cf42052d5f6c36f99404e6a721ddc84afa9fcb0794da254850ba86b0dc7618eec6e75c2fcde3ae76b94b2ccfda519f86640c21cdb86219eea72c2391b4bdf1ba15ea9266773c0aa5bd40931382bcf9156731748a397e59575bc7522eaae95b7077c9c9637623c9cb2c3927c71f2e233c9f01fd6487a4111a00850042802931881699338761f858e0f6610496297c4c6fe5b520ee3d38e53c9837dae71c7efedb8ea05a755991c8023c9a51dcc35b455fd963931921e5c78d43ee81719bb26ebd1153344d0fbe55b61bfd888198c23760e73a3e2df5ef912afe6addbf3d1b3f08bf0dcaf7a077021f6baacac752b964406c1f933a34ea432355d67416424d2f8445d22f2456b674be5efd298b71a0df9fb9a3b10b1b804557450e7c1ad952d56080a6698a3b124adb2aed50ee2384d4a5a8a2e5e1113111288fa4be8c841a6960d9bfe776583154471192f14dcc240c3e31faad616193aec410a4d5a6e568a54226a6fa84e2dc19afbd0beef122e2326d2cbf490a39fb92c492b3ed6de830ba83372733352121551a26fcded4e3300f657913f130857d0998708d4db54fa5673278446272426c48476d6edadc325f00e571886c29d8d1d76895495959bab532922c8baea11e3f1aed71986779cfcf84c36fc3d50a69714018a00458022304911f0c38f037243775fb209ee716080e14aa8710b6ab869f6128fdee270385089476ea2bfbf9f556282cde21ed9ac969696e79f7f9e1be1444d2f7ff6c5441c81fafae38d15af8d29c6e539cf262e12f79cfdfab9e7704472828a4c260b0fc71540df3635b95f2e644295a9b5b785d84e194dc3b4ce46c8b45a297e86d1f68dd934bc94772385fc630d5add6d48c0babe31989cef1c7a971ea661429a1b62ebee321a87cd8bcbb4e9daf976e38e1abe5087792017fcf5e267172343c06c34f23ac1dc9b22423c42158ac7bb4a56c31ba7103e93087fa1f6523d4580224011985c08582c96193366e087f9fcfcfc4422111e51f0125b81093c222362f98fcd66dbb2658b42a1403334c0a387f8fbfba306b3d8049b666d587b3c7a0b5b1dea998a8970d3a8c01850e38e87d5b047b71213572d94325e3574b4204580224011a008500428025305014a19e9c4f454b9d7693b290214018a004580224011a0085c350294325e3574b4204580224011a008500428021481a98200a58c53a5a7693b290214018a004580224011a0085c350294325e3574b4204580224011a008500428021481a98200a58c53a5a7693b290214018a004580224011a0085c3502f453de570d1d2d78bd10906933b5f3cf1ddb31b48fb30f6ad66edef948c4bfdecb2aacf281b3915d8c4bfc23577955b9be8d539d5eb0e216b87c1902027aff595f5e631a1ed378e33fdefe87b766825fa9332b9f58d6f5f73d9b7678ec8134c1e3a6e151042802130b013aca38cefdf124c09671aee2a7eebea0e4bf32d2d21747fab49dea256a853456b35a3b36afdacc82b2cd7af5d88c3dacc623fe6b89c7233cf7a56fe354dff3cb448d261145a37950e785dc15e2ef0ed2232188838ffc7b54e7f34bc1f87d5a93fa9e65b152698266894fbd526714018ac09443808e328e739727002cc4edea000e8f73453f51f7b2f48ac4185167e3ae42df8e8f984c071a6e0c6faf1fa3d73b97ad5449fd2fa84b4d1e8365a3c13e4ef15f753c42f1fa3c4e5369da23fb00a4c53b8b348efecb9ef55e21fe9ec55dd78238f8c8bfab9ef13a0bc6efd30a4dfbde381cbde2fcfbeff8d42b754611a0084c390428651ce72eef1f67ff3f71f7da8247e3c0d18e7b5bfbbaa1a6d2fc2b607f7dfdb87b9fc38bf88c1ad478c57fb5f108053c2e71b6e15639e156040e775df7922bc3dfabb853218c836ffc0bd5eb2bbd70fcbeaa81f869336cca6136fba44211a0085004ae0581294f19d701e0dc7104c1101f6e3816f814d1a401e03e8559003791ac1300192481b3cc386488cf4034de8fdb1bbbc0cf075845fce0cec7bd009f02bc047003403031b8851c711fe62f00be1cd18fcbdf243debf2cad6ff523947120476fb05aba3ebd4ab69af87d5963d70e695ff6e573c92ac92060174b6d6e56d286c5366f3eb392d4f2dcb9287424bf5cbcec71dbe9295b336365ac29a583b8ee5afcd63771394e9f4254fac8ec17a511c56b3e995b44d55cacc8a175267d59619163dfe683c29d5dd5c7dff0ea87de157e160ef07ffde963793f3b6392b148a47a654874fbf2198a13d3317689500b87360a7d9c86c85281c0febd3237efe78b230005d79cd13f1314cbb1cd6ce0ffef652fe362390783afe5692b38d505b6566cd0ba970f295d4eda704e301c8dcbc3359ad1033f7674fe38197734a097257182786e1db7e64d1701eb15dbcf8936cde7ee48f470887f011fcf3e28cc0265ffab0f6fd807bd727c8f106ea693f56929a37c2ef891fab1f85eb1d06b0fb42995df1c2afe4ccff54b825ab3f98dffc83f35e1aed7e707ba0098a00458022c045606a53c6f5001b091ac8087b001601c490cb3000a477ecd6d648fe6e071013fd5680650017003e02500120dd3c03f02ac00b00ab89011a234d449689db326f2653d2440d39ec09e04d804200213f2eab497ad615d7e83588a0d5dc72aa3f7cbe3c5a123a370aa64344a8383aab0801ebb1b4f7cc8a89946b5e2cfbe7dab7c2f8f5f935cee62bf3325451d0d1f038cb99000a9e5c1f1b1dd4d1daf8497bcf8c79b7c867fa4f27a6b2d4b2ddb92a11d8cdcd0d5f5f08987febe2d9f3a330677a98581c1a9351940b606f6f698d50c843c3c2e07cc7f75d5d8e7e98258d0e9d853ded92e9fcf11c9bfb1b9dd4394ca622adc0029683905c62148ac7e9d12b7efe7840bbb35eaf0845267decc4b7fef724c4a9d28a2afa3a735ac366858aed61b8cf3691e911b3c4a1a2b951faa24ca178d2cbf63388f5b437349e5db8343e4ef75459fba9fc9ab62b8dd3c7fde86c80eb74fe223ffeb8adb8403ff2c62388438d907f219c2322c462b12643cedc9fe68ee0e89898f89c629da9d0f93bc515f7d0f9c7ea47817a8702f34c5dece9eaea02bcd745e131d19112d7bd34cafde0e9855e5304280214012702539b32fe3b41e14542fb786f893c32ee78120071c25712912f5a716c8998e2586339c01a3270887c117fcae390e43f88592d31282304349d30c8d700fe45461c3f11f683d473528b32ef49e48b0ecbaedce41d38f427cbabdb9312882dea65b0416931943e8e835eea8223a589b316de01bde7f9f5e0a48cc51b1f1083f560398edfb2a2be79168e01757f62d85a68c0213eb7c8721f65f862c3d6e56eb6e9ce2389cebdfaa472936cf7877be4fe01d05695955a85f1ed3cb2e7e75c3b8138f795fcbefd26c95debb354d1fe8d7b5faa3f0be141411da7f01d48a1789c4ebde27757362c1e657632f2c59ed6bd491bf07ec2f1bdcd47f40971c999ca67ceb80b30091cba26b2af5c201e59f643c817adad7acd0666844c5d7ca454a35c9504354d02b8391d7ac6e9eb7e7456e33e09e10f02fd28108f200e6dc0dbbfa3e26caedb9a565803327dfd1edd2c2912c851e53af723b93d98a086d53b42944d559b983b1d459657bf27c56539ca7deb32a3678a00458022e089c0d4a68c381f7d4e982f6e77ad59a900e8008825d8e1e8e3079c97b382c93c35e6d411be88091c656405e923fe7b905c1c76e5e2158e4da278fb21eac97b50ab637128b6bdfe55862fa284073a87e6085a3dcdd50c5f4431fde32b7ba25c325f0b9fa2019f1e908ec9322b343141dd8dbb4a8626084d878eb72b126234fa3d2b723a3f6f3a5ebbbdc4c850c77b9939e7ce8fb73ba9265309571a771595334edafe5a5929e938e5ca9a8bb77ebfeb823df3c6236d32d634c11c5d26fe2cb0986a381ffa118a8771c617bfb3328f78d4c93846ed38f9ee0167b6e1ddaf7e9b200f0c8e745e7b9eda9a8c6dbcf1e8e6e13d05a1f2e7eaebf1c509078422bf76044f47c40570633c7bc7e9db7ef48c7ee8da1b7ffe7e148a47100767159efed58be70be18cfdeeb0d4317c11259c39b03f66f4d54774cc9b146eb11fd42f77df90d7bd1f9d6178d4eb0e6ea404e78f71e4fb612427348f22401198f2084c61ca88a386286e5ee37d2b20e163e52fe4f424397e03709a0c3ab259edec0920c09598ed4a70cf9cf94f600d84fc704b4dc274901b874886b2e08b9d2888f1d9569cb3272293cdc6171dcd9f232f7c46400fa02d58cfac7ad93e7cd54bcda6d42f75791bd6a9174ba314aa44856ae992a2fb4bccc4ad603f5a2d27580e0bc62a76c8c51988f74928ce214b24601ce18f071b26103f29ea198ffed7586dbfaddb3d6e1ae2ef4d66b1e4f400b463a9cc50089c7864b3c408b8d5d2d274a627c0d90bfeb6af198a7c1571faa81f87221d3d25232602fdc81bcf904f0e0e43cae1a940ff9170b6f75ab9e66c1487de78b56f01e74fb7af8bb35efe47e84712a167bddcb0c79816be1fc6e8809a51042802531481294c1971190a321a1c684c708d267adc039c870593830cf20932b99c3bdcae805cfee052fece9560cf2cc017394a213f1c9349996426a171b6b98b04afaecc5d31fce9ef9c584dcf5ec98c0976ff8f6bcd91b71e98552341d0b2d7b5ea85034793a11cffe1e8587659499a2a66e99a4cc8693d6f87288922550dee11204e0911be4c2928fd7d5e593cf1a04d20db8faed96177299e788c3b46889fe1cfc3e339f9cfb33ab9f4ae55e9486919b7b24511089cbddfe62488784651576c5cc53042728107ef78da4e9cb666c4850677e5e7e7bbac86ce5710a7effad15dbd83076792c9d5b79de1efc711e3f1c6c15d2993e0f81f01673414f1fd47d864708e980ff3e9bcf871fad1fbfe198a4dad4b9f6babaa617eb28c2abcf7c3a8a5a80145802230c511e0fb9f72ea40f22ec003e49544fc60593759e6820f68e485bc82540f59268e4dee077803601ee19ac8055f27d66bc994f45232e38c0af794270e1e61117c88e3acec2fc8f064b6809f64de5a278dd2d4fa9d03e4d2a4a72bc2d744ddad8a6666499d38e0d8588432ad40bf7ae6ad77c7cb23718c91f9688e522fa077ae7af903994e1e6abf5a5f5f9a74aef983e39fb69cfd1e6647303386bd5de770a2edaf87cc4589d2c4d2ba1bebdef9fc87409962f11c5b436aceb6a1b202a9a0d9b1c505c5d07bbab09ca16bfcf190b2ade62e90462fcb2beb78eb44d45d2b6f0ff8386d7f187f3cae552f9ef10bc4602c7d2f4b278d8a7f6c6771d8a1d3816b1e7a102975fbe1b74c20c712524dcee68055b7a8136270d69f233cf1e4951f36af4994aaea6aca6b0dc7618eec6e75c2fcde3acd76b8a2387dd68f9c6843e72a11e700b0ec2ad9e11e4dc5fce1f80bf463bde07d851ef87018ea77aeff91711e0a7638a11fd28f961ad9bf0ffa31ad74a4106499fb4b3370cd57c21cdb068f3f1c8f62827f471e76f492224011a008782230b52963210ed790c5ceb87e8515d7f4a9eb7af819591df2c505ae75d698895c13e9e3fd007701ac24a4e345002485f88e232b38f97a27618d1bc9352ecd46e1f5437226f1c190bf6fd5fe94d8a8b80415383a0f6e7de3e6ccac9f07237364becc2791c6274a99c6593b5b5e297a9cbcd5c850346f7d59418a18ecb8ea85cb2d9892a6d6339dab15b1aa9858157389ae2c8d3bc9b25663495a54c0eec734f2384d4a1cc9ea69394ece78c04af885f9d2a244ae499483bdb5bebc0a5f77e48d872d6c28dcb9e28e67e2a4aaac5ca6f6eee68f85e229dbff217ffcce28bce3a95a5b14b5ff199d4293a62036ed0dd5a9250c426f35df97121b9d90188d78d6ed3db12445e37fc9392cca130f7ef129ad78664d417c4c7c466e3cf1646fad6b07d3255edc04e3f4513f3a9b0b7d38941f2a966ab0fb1de6bf7328a337fefcfd28180f53032f0e6cd55efe057056e66197385cc0422f1370106778d2d5108ff375ef4767fddef53a33d8ffcafdc9a0ac47ac7839544cf8efc8bb14d55004280214012e027e838383dc6bf7259be01e070606d012356e410d37cd5ee2d15b1c0e072af1c84de0c7c2582526d82cee91cd6a696979fef9e7b9118e4b3a112004c776388b5446a826817c43e70780831c2354223be26a3899ccdcf74c2fffbc7eb8a526615aa6d6de16623b65340d113ea5befe25ddb9baada97bbe54869f6f62be674844409f9a9d37f362d33686c2f1894ca995de141202b6ae6195105399562bc57eb47d6336b96be1f3c1af1388876bac546b6f8a08e9fac66072be1e89f3c89ef18c123fd7ddb0b44cabbb0defc161ce01b046fc0ca4d948d6f90cb3672e78e2c188b00be686d8babb8c460e865718e7b5f7a357b06357f0f4234f3c1c7fbc3870f2b9497e9cb916d796e6f7efb37e140e4ea64dd7ceb71b77d4b8fec0864c9579bb5f4a919b0d4569a5ae696baffb61c89aa62802140101042c16cb8c1933a64d9be6e7e7271289f0888297688e093c222362f98fcd66dbb2658b42a1403334c0a387f8fbfba306b3d8049b666d587b3c7a0b5b1dea998a8970d3a8c01850e38e87d5b047b71213572d94325e3574b4e0d81050ea8fbca4b318f469a51c06834585f463f3ea7bab89168fef5b786d1e85f011d25f5b6db4f43523a0d4973d1470f6cbeec085ab56ab22837a0cbfd194ba7fea5cb377ea8022300511a094716a4f4c4fc15bfec768324e8af5f3d52ba4e7b3bd1eba8916cff568f395d421848f90fe4a7c535b9f2330fdf6a52aa94845fcda5b0c2f53bee87388a9438ac05443808e324eb51ea7eda5085004a60402b8d5a5343202dfd43825f062c3944081369222e03b04e828231d65f4dddd443d5104280214810983405b13e795e20913150d8422401198bc0830af4952a1085004280214018a004580224011a0088c8000a58c238043b3280214018a004580224011a0085004180428657cb6e5dcf9b327abc6e376f8f3818f4e1eaa5a3e1eaeaf834f99565f5c9ca9955d7b55a9d905c579e99e8e7ce7ffda23e478d06ede595d599cced1f828e9bbf64e2a3c7d841e754311a008500428023f3602539e32e6ac591439232af6c1677ddf13390faf5912bb42a7f6bde7ebe271ee92248d66c512f201ee6baa50bde6d7899a945f7a3af299ff6b0aceb3b07a895a218dd5acd67a665cf3b5cfda3ba9f0bc66d8a8038a0045802240119820084cf9e52f157b8ee6cc8d68fdeb73e3d0217dcc57d21db813e1a494decbb80d46ff651fc47e091d89984d938789effc0f737b8d1726d381861bc3dbeb5d9f3cbe46779ce2be6bef64c29303004d5204280214018ac0a44660ca5346a850fdac625277e1f8052f625c7b323d1f5637defeaf2a545369bee9aa0a8e5e68bcdb3bdefe476f21b5a0085004280214819f2e02537862fae1035607ee61c86c56683d7360a88b1faebde870749dacad6de962f743745c3c93033967ac0ec7a5b3dcf9eb9c4316c740ff17550f03bc78e662bf73efc481be2f0e70ad40c2ba7eb1c1da8ff55dac457380da96730e670187a501f7a59ea0d2df179159567de443460eec2e76bf8fa8cb2bab7dbbfee887478f1ea97ffbedbaea32e7cb7f329dbee66dd6fcc30f8fd6576f1e7a291077c36344a7af7dbbaebeae263392b912f0af2baf799bd4893e0e946593596265664d5dddeee2cccccdbbd90aea6acadd93fe999b77d61d25258ed655e8758c6ba7682bdfc68c23e5994aa25097d7d6d5edafe4ce3babf32aea8ebc5df61fbfabc5b8eab03575b5e5b84df830f1f2afab3c8066996894595e5b5f574d5ed554571c78bb329b0dcaa35ea73781f6c2e4c173182cf482224011a0085004a60e025398327edb75de76c976b10f37640c8eb861a8cb6746854c9b26895db76e9164d076a1f7f2e0b4e937979e9c7feafce0b4a0a8df36e4b82c733625cc9be6d7ff61baecdcc053374f175deefeaaf9b37f0df8052c5c536c61892131c589e9e57f6e1978eabe10d1b46fdf2e4b7e0daabeb8b46e51e4b481de2f3ffbca3e386dde7d4f7df1e7e52eb713e8dc07204fd167a8a47d96f64e3b44ca352f96a5627cbae21a7d8a2a5a025fb59c6a3b679748c4d173a3502f4b2ddbadd7c548c0dcdc70b8e198b95b347b3ea36705872b65a99bebf5ba6849e8676ffe9f1d9d20e05fbbb35e1f1f23e96c3d5677b8d11a1aa94a2baa40c2373d22422c966b323212e47d163306248e89cf2966d8617ad9fe8c0485d8dade70f85847bf384ef75459aa8bdc2aeffcb90447df82e6dc48282a98dabeef1747c5fe5aef669bea8757c78983ec2def757edfd5d5f55d6f90583c6b56982b6ae6cce77f304c229e33e746dcf7f0de3ba243c552559212f79bbe3d52e20fbd4c19cf7a199d407b27159e4c3ba85004280214018ac05444600a53c623e973c242c3c2efff7e1098adbcddf2bd3375a1b952141a1ea6791fdf480c5e109ff4bb23030092a59bc828212cafd5474d83cb5fbd6e3c9013e90703ddf581110bee54448bb67c86f6f37ef5dfac190cdae3aabef87f598bfc60f0b3ca84e8a4e760f981f50b8360b0fb3f45613f532c08ce6d467bd94305eefa275aa2c550aa494e4d7af620be91386be11da0cc7b5213030ecbaedfac487b3c6bc333eff5382396e53eaa1281bd61ebf2b4acfc4df9796949cb3569a5ceccbe4b0bd2cb76e6268482f5f0d60d39db86de15f4f0afcc4e5684424febdea40d79859b7234a587b1deb8e44c256162e8cd5cb755939c969af78e15e391ca4196fd902a0aacad7a4d6afea6bcb5cfd6d941a45c95e4acb7a9b4d2d0d0dc78d8f08eb3c66d3b9880e52b1e66471d6599c9b162e83c66a86aabca4a4d4e4d7be68c1d86bdaec1efff16b3c5218aba59ad54df14ca54b520562dbb6d4e10d8bffc94ece3eb55af331e008ff64e323cddcda0098a0045802240119862080c7b384eb1b6b3cdbd1dc7a090b471856190b6e6f03bff8351ce75e5bcb6f2833f0fdc3723aaac6af96be9b0fd8179b8b4c5f8587a462d6eb10be6d74b9c761b2b7ff8dd9f247e41cc3017fa9d16f5e8a338d2e6385ae8af7a8e9824dec2f0743fc9d68181ad8cc28fa92e7006939c6082c8f434573f5e6a60e232fde32b7ba25c323f4d3d570cd05effea0e428d203c90bc428716f7e2b823747ebcbdc6ab19889038362b0bf5dd86a2fb4b5d7491d7ff9ac5b311ae93ef1e707a31bcfbd56f13e481c1384888f60e4b5d5a21a9209cc967a0bf6d1ec3d942e5cfd5d7a385034283501f3c9dc92652539a3f2ca2a6f27af31a9d347643baaca90a9ef85f7118d5bbdbdc5f599a8b7f12c376c416f0ffdd0f568899b9e2c1bb43a1bbbd333446a6d4cab15c47ab49a05e12ff4f004f67f3e889224011a0085004a618029432f277f8e025d7d819275fb5fd9f034f2d9a97fcc7e58db03000070a8f241d81061152be41ebd9232e430951902b860c32bcd10f443fffe5b3f01cc31997df1cce14b075b6592e0604103308b09affcea626d41129dad9d64f9d21c964b3710ccdfcf9d7c090e12067e400910c45c38140a226b4c8bb0d0ca974d81da220d18c85776ac1e8e48cbcfe2ff9cf41ce66eb6e73b909f1e790387b2f8e2d0e097a90cd126300564b4bd3991e179efeb6af4f0d1979a54adf38be5a9fb078cd23b233b034120728dfdbe6aecdcb58c8ffa7d8e058d992bb45c8626b3e88d1a7c81fd020c56efcc6cb835bc1dbde9f009eee06d2044580224011a008fc8411a0949174ae83e13cc3041fefdeb231bb2de7f0c2903beaffc8b0bec63fae4493f75a7aeebb6fc6a2c7aae0b974a6c4723519e0727d5b67b02337b7a5fc4f2b22ef2b3e7ba87bceca8a23fb3f1f5c37cfcfbffb673ffb99770d134fe39c0f4ecf5ec98c2176ff0f043294b1f77c1709555d99bbc20955db99f37688922852d550e21a691b6a8ef5d4b3c5ad4f97a6287445957db6ac72b785a7ff9396b33ab9f4ae55e960ac628acb1645600576e7377a445e376cdb89d3d68cb8d0e0aefcfcfca1eab829b52e7daeadaac6c953991cc3ae8fd2d5aae8652f17f88b70a2fcafe55c7326dd8faf1d3a45d0bf76b115e49250b01cfdc070e0872753e4629c746f3dcd8ebd3285bdeb65b49eed9d7c7832ada04211a00850042802530e01af27f094438069b0df8cbb4e7e74122e34dfb992d03e2e0833b917479e38f0afc3ebe64d9b86c3849ffc82193484e754864d838f06ddfcc8b993116f34873cbc9ea150bd8dbb2b008a99fc20a858e93f1f97bf2c8a5af1274bedf7d1c92b1bff3cb064c6425c88fdb73defc242e5f2fbe222ecef8bc2558cf944129cf68d50a615e857cfbcf5ee7879248e31fe25678749b7d0017269d2d315e16ba2ee56459337f9c854aee9af87cc4589d2c4d2ba1bebdef9fc87409962f11c5b436acea7cc4d260a0653f9fda5b3eaf509b1299b2b2ee6e69c60a695bdfd1ba12f4b278d8a7f6c6771d8a1d3816b1e7a10a96afbe1b74c201f868d7be6b9a9fcb0794da254850ba86b0dc7618eec6e75c2fcde3ae76b94b2ccfda519f86640c21cdb86219edab6fded8f5519716231d82d474b386492ad2268766c714131f49e2e2caf0221ff45dfe1ef8c507c79f16323b4995bbb53e22470aefd8c3348be7a79db3bc9f01cd607f482224011a0085004a61002d3a6505b059a8a0f7210496297c4c6fe5b520e6363c7a9e4c13ed7b8e3f7765cf582d3aa4c0ec091e4d20ee61adaaa7ecb9c18490f2e3c6a1ff48b8c5d93f5e88a1922e8fdf2adb05f6cc40cc61179dd0e362afeed952ff16adeba3d1f3d0bbf08cffdaa77001762afcbca5ab7624964109c3f33d2442a53c98f21888c441a9fa84b44be68ed6ca9fc5d1af356a3217f5f7307221697a08a0eea3cb8b5b2c50a41c10c733496a455d6b5da411ca749494bd1c52b62224202517f091d39c8fb81864dffbbb2c10aa2b88c170a6e61a0e1f10f556b8b0c1df62085262d372b452a11b53754a79660cd7d68df77c935fed7cbf490830c0796a4151f6befc105d419b9b91929898a28d1b7e6763760ecaf227f26902169db51dbccbc7ae0f868df9e212d49f53361c935891acd0309ecb26a7eff6d9f7e8b93e476cb470c286def9fb4e0e907cb376e6fdef5f2b777b2e1e96e204d500428021481a98cc0850b17cc667323114ce0e54f1e0d3ffc3820b791ee4b36c13d0e0c305c09356e410d37cd5ee2d15b1c0e072af1c84df4f7f7b34a4cb059dc239bd5d2d2f2fcf3cf73239ca8e9e5cfbe9888eb42befe7863c56b638a7179ceb3898bc43d67bf7eee391c919ca02293c9c2c37105d0b74d4dc35ef793a9b5b785d84e194dc3b4ce46c8b45a298480ed1bb3697829ef460af9c70969adee36fc9463d73706d3d05cafb783210d13d2dc105b7797d1e89ef5667265da74ed7cbb71470d5fa843c5474d09f9172ac85baf507b27119e42eda57a8a00458022f0d346c062b1cc9831033fcce7e7e7d7dbdbdbdede6eb55a318dadc6e3f4e9d36fbef9e6b0b030642f369b6dcb962d0a85422412a13d1e3dc4dfdf1f3598c526d8346bc3dae3d15bb01656890956f0d29564ce18096ad8783c8eee4b4c5cb550ca78d5d0d18214018a004580224011a0084c1504b89411f9e277df7dc7d2356c3f4bd766cf9ebd60c1829f3065a413d353e55ea7eda4085004280214018a0045c027087477e3361d9ec2abf4349accd794324ee6dea3b15304280214018a0045802270dd11e8eb73bd58cfa99a57c9c99ff4494a19277d17d2065004280214018a004580224011186f0428651c6f84a97f8a004580224011a00850042802931e014a19277d17d2065004280214018a004580224011186f0428651c6f84a9ff6b4640a6cdccced429afd9cf3007dacd3bab2b8bd387e9c6e9624cf14fb478c68c853abda0b8b800a5b8380f77fef194f16ed778fbf76c8febfabad4abceacacaede9ca975554acf14018a0045e0c7448052c67146ff49802de35cc54fdd7d41c97f65a4a52f8ef4693bd54bd40a69ac66f5189fc6dacc82b2cd7a6f42349698c614ff15c633967a856cc6148f50612fbdfa9e5fe257cf1351349a07755e08f9a85d82f8fbc8bf57b346535c977ad5f72c8b954a13344b468b86e6530428021481eb8100bb45c5f5a8698ad69100b010b7ab03383c4501b8c666cbd22b1263449d8dbb0a8dd7e869787193e940c38de1edf563f47ae7b2952aa9ff0575a9c934dccf6857638dff0ae319ad5ac1fcb1c623e8c033c3549af6c83e0069f1ce228da3ffb257f695e1ec59dc752d88fff5c2cd1588eb7c5dea35ed7be370f48af3efbfe3aa959e290214018ac08f8900a58ce38c3ed9276f9cebf809bbd7163c1a078e76dcdbdad78d3495e65f01fbeb63b611747811a251831a7bfc5716cfa8150b188c3d1e01077cea36dc5727dc8a00e1eeea5ee29b7609e3ef1bff5e618faab82ef5b61936e530fb5152a10850042802130181294f19d701e0dc7104e90b7ce8e158e05344930680fb146601dc44b24e00649004ce32e390213e1bd1783f4089ab13f30156113fb8f3712fc0a7002f01dc00104c0c6e2147dc87f90b802f47f4e3f23749cfbabcb2f5bf54ce910481dd7ec1eae83af56adaeb61b5650f9c79e5bfdb158f24aba441009dad75791b0adb94d9fc7a4ecb53cbb2e4a1d052fdb2f3b189af76e5ac8d8d96b026d68e63f96bf3d8dd04653a7dc913ab63b05e1487d56c7a256d539532b3e285d459b56586458f3f1a4f4a753757dfbf036a5ff85538d8fbc1bfb7e5cde4bc6dce0a85e29129d5e1d36f0866e8d0cc055a7ca33232043acd46662b44e178589f9cf8d5e5b5050affd3ffbd36cb3daea9ceab2878407af2f5fa056befe78987b8c8dcbc3359ad1033f75b4fe38197734aa1f2c09333db6a93f3766496d7a62aecaf1a59cc7d00004000494441543c9956d5a6ae38f074c0bb7fc8fa542e848f573cac027cdb5f4ea7ec09f1e4c599e4f2f617e6f0c4b3fd143ffee123f8d795d73c111fc3dc270e6be7077f7b297f9b119499352f245ffab0f6fd807bd727c8f146e9693f56929a27f0bbe1baf4d736feca95d9152ffc4acefc0f835ba9fa83f9cd3fe4b096a3dd6f2cf0f44811a0085004c60981a94d19d7036c24c02223ec01580410432ec30090deb15b5b23f9bb1d404cf45b019601e0cee31f01a800906e9e017815e00580d5c4008d912622cbc46d9937932969a2861cf604f026402180901f97d5243deb8a6bf41a44d06a6e39d51f3e5f1e2d099d1b05d32122541c9d558480f558da7b66c544ca352f96fd73ed5b61fcfafc1a67f3957919aa28e86878dcf5642d78727d6c7450476be327ed3d33e6dd229fe93f9d98ca52cb76e7aa44603737377c7d2160fead8b67cf8fc29ce9616271684c46512e80bdbda53542210f0d0b83f31ddf777539fa6196343a7416f6b44ba6f3c7736cee6f7452e7f0998ab4020b580e42728951281ea7c7e1f1b77ddf1f1f1bfb6bbdda58ca1205f5c3abe3c4411d2def75ce58c6170f407ad97e06819ef686c6b30b97c6c7e99e2a6b7f314c229e33e74600e5bd77448786822a49597540797ba4a40d7aaf281e0cd2c7fde502d2793e7f911f67dcf55ba0bf78e3d11765f2e35f23e45fbbb35eaf08c55f26c74e7ceb7f4f429c2aada8a2af33a73522422c166b32e4cc7d68ee088e8e8989cf29d6990a7987f14cd7a1bf3c001bbabcd8d3d5d505788f8ac263a2232561b8d73a23a3f42f6b448f14018a004560dc1098da94f1df09ae2f12dac70b711e19773c098038e12b89c817ad38b6444c71acb11c600d193844be8843023824f90f62564b0cca08014d270cf235807f9111c74f84fd20f59cd4a2cc7b12f9a2c3b22b3779070efdc9f2eaf6a404628b7a196c505a0ca58f971a405d70a43471d6c23ba0f73cbf1e9c94b178e30362b01e2cc7f15b56d437cfc2b1a1ee4f0c5b0b0d38c4e71659eea30c5f6cd8badccd36dd7924d1b9579f546e92edfe708fdc3f00daaab252ab30be9d47f6fc9c6b2710e7be92dfb7df24b96b7d962adabf71ef4bf567213c28a8e3148e150ac5e374ea11ffb61def3df0528a7cc5c3ca5213034f6672ac183a8f19aadaaaaa78e391653f847cd1daaad76c6038a6baf848a946b9ea96a3168734ea66b5527d13feaa015810ab969d998383ba5f7e3a7de1af78f1e18f077cdd5fce6adc27219c41a0bf04e2d9572e807f1bf0f6a3323b19f9624febdea40df8f789bc78f3117d425c72a6f299336c68e6baad69853520d3d7efd1cd922281e497f1ef2fbc0bf8a5a96a137347a0c8f2eaf7a4b88c46b9df5c66f44c11a0085004c60b81a94d19713efa9c305fdcee5ab35201d001104bfa009fd31f705eda0a26f3d4985347f8222670949115a48ff8ef417271d8958b57383689e2ed87a827ef41ad460a04edf5af327c11253cd0393447d0ea69ae66f8228ae91f5fd913e592f95af8140df8f480744c9659a18909ea6edc55323477673a74bc5d9110a3d1ef5991d3f979d3f1daed2546863adecbcc39777ebcdd4935994ab8d2b8aba89c71d2f6d7ca4a49c72957d65cbcf5fb5d17ec99371e6993b1a609e6e832f16781c55463187ad00bc5c338e389bfa9bcdebc46278ddd902e6baa8227fe571cd2df77b7b1d4004b78c573db3c861386ca9fabafc717211c108a7cd0113cfdbb1fac103373c583778742777b67688c4ca995633b3a5a4da6767e7cf8e3f16d7f3175f08b57bb04fa4b289eb626631b3ffe6c7d9efed58be7234e27df3de00cc7f0ee57bf4d90070647b2af9358ea18be8812ce1cd81f2dfaea233ae68d09b7d80fea979798c6bbbfdcd50927387f44f8972370ff0b17a73914018a0045c0a7084c61ca88a386286e5ee30d2b123e56fe424e4f92e33700a7c9a0239bd5ce9e00025c89d9ae04f7cc99ff04d640c80fb7d4244c07b9718864280ebed88982189f6dc5397b2232d96c1c13337f8ebcf019013d80b6603db3ea65fbf0552f359b52bfd4e56d58a75e2c8d52a81215aaa54b8aee2f3113b782fd68b59c70b23c63959b9f3963f13809c53964367d288929fe78b06102f197be717cb53e61f19a4764676069240e20beb78d3b5a3acc37c866891140aba5a5e94c4f8013557fdbd7a73e0519c4ca96dc2d7258ea6a3e88d1a7c81fd020f56ec41baa89171fe178b0421ff5d7f0d047be92916c81fee28d67c8df70fc87f49c54a03fbaeeb775bb910df1e7fc38b0f75a39b6cebffe436fbcdab780f327dad7c5ae8b1feffee2463296b4f0fd3696d2d486224011a0085c2b02539832e232143b59b092e01a4df40093f310617290413e4126977387db1590cb1f5ccadfb912ec9905f8224729e48763322993cc2434ce367791e0d595b92b86b3025c13c4487af64a664cb0fb7f5c6b8ebcf5c0ac1a098296bdae552f6c49726c3294e33f1cc5cb2e2b4953c52c5d930939ade7ed102551e067a4394392ee32227c995250fafbbcb278e2419b40b61f9d99438578e231ee108cdfb0eba374b52a7ad9cb05c86bac87ff8a0d192e9c78da4e9cb666c4850677e5e7e70f33d22eb6825c120a96a31f180efcf0648a5c1c8aecf334cb8baf201edff5973b3c07277eb7924970f56d67f8fb6bc47884f077d6c2f17ff29f677572e95dabd2c1487e21c81645e08d68efb7115311df7f784d06e7c8b8d39bfb34fefdc554a5d6a5cfb555d530d47e54e1eddf514b51038a00458022e01304f8fe07f589e349e1e45d8007c82b89f8e1b36eb2cc051f2cc80b7905a91eb24c1c9bdc0ff006c03c32258d5cf07562bd964c492f2533cea8c0a9425670b0038be0431f67657f418627b305fc24bb8a4cceb3a9f53b07c8a5494f5784af89ba5b15cdccaa3a71c0e9bf08655a817ef5cc5bef8e9747e21823f3d11ca55e40ef5cf5f207329d3c04865a5f5f9a74aef983e39fb69cfd1e6647303389bd5de770c2eeaf87cc4589d2c4d2ba1bebdef9fc87409962f11c5b436aceb6a1b202a9a0d9b1c505c5d07bbab09ca117fcf190b2ade62e90462fcb2beb78eb44d45d2b6f0ff8386d7f187f3cae552f9ef1337edab6bffdb12a234e2c06bbe56889174918164f53f961f39a44a9aaaea6bcd6701ce6c8ee5627ccefadd3147d87bf7442f1e5c58f8dd0666eed4e8993c0b9f63320848f403c3eeb2f820f7b089dab443c03c0b2ab64877b940fb386b54ba8bfea05ef1ff4c083bf7ba9fb70ffc6d2f7b274d2a8f8c77616871d3a1db8e6a107f1274afbe1b74c20e7448a6ba3865d095c8c677fb155ca32f79766e05aad8439b60d1e37bc474c42fdeb61462f290214018ac0b82130b52963210e1f91c5ceb87e8515d7f4a9eb7af819591df2c505ae75d698895c13e9e3fd007701ac24a4e345002485f88e232bcf00dc4958e346728d4bb35178fd909c497c30e4ef5bb53f25362a2e41058ece835bdfb83933ebe7c1c81c992ff649a4f18952a671d6ce96578a1e276f353214cd5b5f569082840a57bd70390753d2d47aa673b522561513ab622e9949dbc69d64b9abb1242d2a60f7631a799c2605df1044e969394ece78c04af885f9d2a244ae499483bdb5bebc0a5f77e48d872d6c28dcb9e28e67e2a4aaac5ca6f6eee68f85e229dbff217ffcc451db8edae6e4b858b1e3a37d7b3cc2f28ea724ad78664d417c4c7c466e3c31b6b7d6b543dbb7df5a4122b27cc480d8f6fe494b5c42f40f966fc004bcf808c6e3a3fe72b5a28f21b262a906bbd961fe3b87327ab78bbfbf04e3616ae0c1df55b197ffaab54551fb9fd12934690a62d3de509d5a62c0e53ed8bf8e4bae71e55e26e020cef0a4cbdfb0f338f697ab1ef6bf607f32c8ead20d9d3166a708dfff2e0b7aa60850042802e38b80dfe0e020b706f7259be01e070606d012356e410d37cd5ee2d15b1c0e072af1c84de047c7582526d82cee91cd6a696979fef9e7b9118e4b3a112004c722388b5446a826817c43e70780831c2354223be26a3899cca71c677af9e7f5c32d3509d332b5f6b610db29a36988f029f5f52fe9ced56d4dddf3a532fc7c13f33d432202fad4ecbc99179bb631148e4f70b587f4a69010b0750dab8498cab45a29f6a3ed1bb3c95d0b9f0f7e9d403c5c63a55a7b534448d7370666cd332b5ef18c12bfabdcd8cf0ca473436cdd5d46a300265c5f5718cfb5f717b7f22b4cf3f4174f3c1ca73cf873728727655add6df8373dacb3865b8cd3d595f517be63a14dd7ceb71b77d4b8fe3086e252e6edc645f66643515aa9d1a9f5eadf216b9aa2085004c619018bc53263c68c69d3a6f9f9f97df4d147786405abc5041e9111c5c7c7237bb1d96c5bb66c512814229108edf1e821fefefea8c12c36c1a6591bd61e8fde82b5b0caffcfdefbc04555a58fff0fffff08d220baa824da8c4e898536b8a13993240d1afa8d548c4d1463a50f9bcb129f4d287f6c404bb6a0bbe4aae5575d37c28a2257faaa5b90aceeb0951994165424a814259b0829020e32f07bceb973873b33f7022383899cf3f275efb9cf79ce739ef33e57ee33e7dc3fc686e9a129cff9800a267f3809b735093173cd6964cf329ab049857a260561061f7fb64ea242939a68a9a8d0546578666a75f4216673e7f15eb2aef61fa0b6d2146871e5a2f2c2ed79e6b5cd8fb80768cd65fc516d8948e37ce100f6a2fe08eb55ea4a2cba809d220ff40a523ffe0b34079815452a59d7467f448d4b7190924b3ad34f81c87889fa633223c2df546699a92d317b139365f1d01df7dd05eb766b4bf2cd8345555aee232ee74eb5b84e5db80817d35bbf38ccc78b58d96a7cad0d320923c0083002434480858c43049699ed25808b6b5dbd47bd392979afc6f5cddd68fe5cdfdef7b626c5414ade5b93e5ec4060d49d73d5722735b5a4af2e7e29c7ec27891d1a60261801468011b836026c61fadab8b15a8c0023c0080c0901fc44a5dccf17efb0a81ae4b4f99078c78c32022397005b9866b38c23f7ec673d670418811b90406da5e056e01bd03fe61223c0088c5402e4364996180146801160041801468011600418813e08b090b10f38ac88116004180146801160041801468010600bd3ec3cb8e10928221222269d3fb64bf07de7c1fb1cb171f72adfefdf4fccc81fbcad7e2c0c89ff566d6ae2d217dc0657af828b4bdb576579850378238f950dfb08ecdbdf7efa35d4e338d4f6fb44ae49d8f1f87dcdff2ed8b04bf0d0749f35582123c0083002434780cd320e1d5b6af90980cd43dcc4cd6e3e3dfb0ff1b171b3fcecda4fcd6c4d903c58bb286260562312d27337a66906a66ca125f47f30762ccc5a1c6ae63c10a9d54662d26a97450dd4d3a1f047d85f0b27afe1b09f7ed9388e520e4872b0937da976fb966be6dc172c97876967f7adc64a1901468011b83e0458c838c49cf17ddde1f4d38243dccecd6a5e11b73532d0a9a9223fc3bef32c3add81f28a237b07f6655ffc82cf7de1eab0259a814662bda361e1ff35dbe9b52891d3e5c4ae5a35675566a99e7c51f9aa8496a5d8eefe58f4d7b23ddb8ffbe9978de328d5be24073bd9976ab76fb96edfdb472a2a8af7e137a6586204180146e0e727c016a687780c445f4838c46dde44e623d2578780a19e7c93dace4997936ac3d26d27f92c9d61a08158afab96fe5fab9d5e8b7de46af195d03ee4f38cf8ceed01267bfb63d9df01bad1b75a9ffdb26d1ca51a92e6601ffb52edf623af2dde90c47d5cb31f4556cc0830028cc0752030e243c6e500b876ec4b51e3c516bfc8f21495c402e0770a13016ea545f86de8789ac155669c38c46b322ae3f7a6b3f9314a055848ede0244f1b007eab7a1bc02dfcc7a66fa36af845c16f004ef56987b7374cf75129b92b1f508d97b9815e7fa9ddd05cf55aec9b5e45b90f9d79f5cff541aba2d5723780a69ad2943519b5aa75e27241cf637213959e50bdf725e365136fed4a7a383840c6a9b4371e4b7d38857bcfb1222a2dfbf14581d82e26437b9deed5d80df9aa84ad2fc48c2dca2d9ebe767528add57272ef83bba0e885a53e381307ce6dd5ef44a76c373628e50fbe25cf67d42dee240c1b33254205e0e7014d7525e49384d2fe7036cdfcefc30e40c2c6ddd19a206f725eb5561c782929a738616bd1c3b233272edf1116ecd7786c6ff1a539895ab9beb17c6d76fd0ba23c8ddd10df898ccbce2ac97e89f943ecdad45fea8848bb83381fccfa86e3253a8e5449f47cc012117fa438f8f4613f2aaff0f1d040721e1ada9b3efcc7b6d4ed25a04a287c21faca47451fb8dcbb324c8927626bfdb1ec9894be7f97588f3bda54addbfac25225f90b839f527586ba77fe94b49d9ae98f3fed3adb30028c00233054044676c8b812603d258b11612bc07480407ae8453f18cd7dda1a83bf3b01bca97c0bc07d0097008e03a80130dc3c03f01ac00b008ba8022a63988851e604808d0053a91037497ce61d800c00293bbcd630dd476515a66991607b5d755597cf246580cc73823f8c025f4fef80c44c04d6da50df3a36d04fa9dd94fbd5c307bdc4e5a985c6eeab52e2d5fe80411277bd04487f626570805b634dc5e7f5ada327dea61ce33c8aaa2a62725f49563b81beee64f9b7975c26dd316bdc247f2c19e5e5eded19189f998c4bb5f5d535be414a4f2f2fb8d878a1b9d9d00563e5019e6371a4f9344adc9f63137e1b25374edba9692fb042c32188ce2e91f2c768d1dcffb4cc2d5276e272f7939eb6d697579c9b3a373424eaa9dcfaaa731e3e32b93a0c6312bdc13f34167fbce8f50637ff994b022ef4c38def90692f3a2e69990936f9935a586b537fb175d176affd7c30f587cb5cbc2c3e8ef8d56689f341d41f490e8552f6237697a50579e22f9f639ffee03c272c441d9bb9b5b329a9c6d7d7dbdb5b1baf24e7795da37b406060685256942e43729a5074dc91335c6e6d6e6e063c479d7c0203fc645ef8ad6c92fae1cf29b12d23c008300243466064878cbfa65c37d1b04f14710a9d773c419f2cc7f80fe3c5769c6ba1aa38d7881f435e4c270e315ec42901bcaa7f42c3c422aa904b03d0381a41be0ef03d9d71fc9c2a88dac1d073582755ca13182f1a1af62447efc2a93f454a69c10a57ec511b6183a9ba38676d4e3168d28fe6448e9d7a17b45d1497833164cc5aff9037b41fcac3f95b2e69268fc5b99b96cf8bb764987d3e5891bc9ac48be55be69ba24dbe0ab76f7a2b6d499e4ef1ca47054a6717a8cd4f8cc1a7a415bb8f16dc2ed493f0735ff61feb6f95ddbd32511de05cf1d6b6b273e0e3e6d6588577564af963346ae1ffbe3c093b8a758f60bcd85e93a65d43a69234594773b4aa854b0e5233357b377c70e7d3f1c1b296635b7ef7657841bc62548f044f9e9bb04f242f312eb6fa03859512fc8d0d5af457aadd6b3e1f2cfb25358e20713ed8caa11644cf13d5ba688c175b6bde5ab2867e0c3d6ae3d1b4b090e804d53367380feb4ab7c466148222adac206aac1c0348892431ee50985799bf819ca198142965052bf8fafd9c6fbc1adb33028c00233054044676c888ebd1e7a5e3c59d345e44f25b011a0182e918e0e2f287829bc5dcf9475b4a69bc882a38cbc8250c1ff1df327a70842fc5239c9bc4646d878a87ef46a309c6a9d8fab2d748bc88c9c7d538354769b59edc4be2454cba4fceea2395b24911f0052a88c901c33145c2566da05b4bc59eecde853ddde18feb83c202b569050b929abeaefcb868677609ae0ec3bd64cdb9e9b39dc6509334224c157b32f38891da3776ec903556f14513f0d4efe20fb8bda83ff2ca92c24a181f95803f0b1a74858217fd48f9438c59fb5f5b59522b6a276a229e0be0a97caeac0c6f78308027c6c506f75170050feaf66cd7a95ec9c0eeed4f29f44959888a783fa5a89f1140b85927a971b1d91fb0adbf52eda28712fef7753e58f78b97588fa3f8f920e58f2407630396f635b326e1f89c78ef80b1bcf8bdb34f86295dddfd68bf0c0da5245ec4e44336dc8f2292b34e3324c65da829f84f84ff7324ce7f61059667041801466008098ce09011670d31e1e54b2a61c0c7a5bfd1dd1374fb1dc069c1eb2ceb8d2ae0c267c6f119e15eb0fe099c82941d61ad6198773371f023a10fded88909199fabc1357b9a148a7178a363ddd718df3c23210788485f499e7ad969fed44be186985351296b966b66c9fd83d49141eab9b3331fccaea36625c7b1bde1532e8685927c6eeac6e888f54ecacf5ecd51bd59cc89fb43023771ff7b2b0bec28c67a23a8f686eaca33ad2e467ace1ddf56417038c6b4785b2ce1a7bf5083ebec7cfdfefde4354d7bd1713195f69ac66057ca9f6beaaf68bb52fe4b9f0fbd9ef69f53501589f341d49f5e9b26c4bd22cb9cab339aeeea68213f5668f27016fcf8d0b7b5f372b297f08214f5c199148b25e9f34d4c9bc91801468011b03781111c32e263287afac04a183f9b68015718e761d127008fd3c5e56473bd747af8132ffc3d9fe1f61ce0cb02a1941d81cab0cc9245685c6d6ea6ce6b76242f30bf5ed2e007206e5d3899136cf92fffcc91b51cc853236e50fd16ffd48b004765711efec30beebadcec5875e0dcc509905473510ffeb2a0180d08a6244d759c84f190496acc74755a4ac8b34b2409fc2487aedc381a0b89844b22fe94eceac37f6b3bb59f9e6e8f0ff1746f4e4d4de5ad927dca2b4ff61ed2d6cd1b17f793ab6210f6abcf7119b83f9c651bfadb67bbf419316252c0997b066dc0fde21ce2b6c2fed69e113f1ffaf4c79a83d03c08ec9ff8ea5c94527ef7c238fc09427414d37df144d77775d00a4e7dfc41d544c54de8c8e75feb2435ee66ed5a1d88f2b7d2620246801160048684401f7fe186a4bd1bcbe87b000fd15b12f1c5672df43117fcc3ffb8848f18ea6194897393fb01de06984897a431167c93ea3f4c97a4e7d215671498963c713202ab603080abb2bfa4d393eb24ec444bb43b4cc4ba9a1f0da0942f797aabcf62ff7bd40164b5d5c80197e77c55b1e9698bc6dc714fa8d20fe718c94b7354691272e3532f7fa2cbc9bdbdd7a495e52c397ff2c38fbfa83e7701c6f9e2dc1cb4359fc705bb370ed76546ca23734a7f51faeed73fb92a82668def288f49dade5b5722e7362e382b3d0bda4e67e491cbbfb83fb46e4d5d33c803ee4bc96d3cf8a9ffdde177ba7c16bbdf4bdc1ffea9174bffa5eca4e41da95b1c29579716e615157f0ce315f768c226b595be4b4e21f1ff9e7df8491b01cf092aec970b34ecc9ded5c7b8a0b248bf24fcd1ee049bfadb47bbe2fe4b9d0f5c97e856d82ffc8f654ae6e328713e94499e9f68478c43eff923b45f92f37e6294dc3ff4b1dd595e874fbb2e7e6419fe04aa3f7250074a933f2433caec08ef54d89f138fcf64858def58c39dd895e2e3ae8dcd31afc91f499effbc02db33028c002330c404c4af4943dce80d631e6f12c3b9077c7805ff71895f3ee58fcdf718d561bc38857fce1a0b31d6c4f0f14180bbe92bbbf162b809008342bcc7914bb8d83693468debe9313e9a8d49d40e2d19c69be2d47d0bf7af08f60f095383a1e9d096b7272724deee8e91237953a04c1e1a29279d6b6faa7e35732dc6cf9844e5b9e92bbc418f4fbd086302a2adab39d3b42828581d18ac26876431b762377d1cb5243bd6dfe595c7b4ca10ed8a105ad45afd31dde3061b114fe44d8b32a5365209fa9ab2bc7cbcdd51d41fae7271c6ee05773d132257272693d65b4e7e26e54feefe8fc4fda78644ece09b9a62b3c614a6870686c62787522d7d4d693d041a407f050f3b718a8b848f5c22dde9c34f54c7a9734f6fb916711beafe9dbdab56725c88411bfcd15d11e52fd95fc9766d3b1fb86e8bf48b2fb01e47f1f341d21f490e5c0b56f6f31fcef4dfff4c54903636886ad497ef8dc92ec6c77d705c0c57f879eb3632106e82e949ee4fad339dece42c8b8f3b57c66fc9787349fafce735d89e1160041881a125e0d0d3d3236cc174c86584dbeeee6ed4448929a14498e70e716b9d0c06030a712bcce04bc7382166b822e1962baaaeae7efef9e7851e0e493e12c003e70a040fa9f4d14c187d87ce4f0087044a28c4e8482811149257398eb1b22f6a47586b18e6159a88191e1d5525bade804f9556b62dea7ce9969882532a9f8b95e47d863449c863d6a58cb95cb99d84706249a18a90dfeae1011dcd668d50554544841cc7b1e3bb3a9da915311be232097f84ca2a4dc4adbe1ecddf15eb8cb747e2baa4a53ffdf84fcd89d8414b886e8247474b73498944df395706e0a7d0672e2f322e02251bfcb1b1bf22ed4af92f2517f8696356e47c10f14760549483a05c98554444cdc0bf19662783b0dc2aaf88888b98a42fd9852fd1314b7d8cbb2ae5956d2b9475c599b13925c63a56fccd6cb103468011184a020d0d0da3478f767474747070387efc386eb9846d6206b7181185868662f4d2d1d1b179f3e6a0a020272727d4c7ad4572767646091671192ecfe970fab8b54ed80a2734364c0f4d79ce075430f9c349b8ad4988996b4e237b96d1844d2ad433290833f8f8b37512159ad4444b4585a62ac33353aba30f319b3b8ff77a75b5ff00b595a6408b2b1795176ecf33af6d7ec43de06a2ee38f6a4b441ae70b07b017f54758af525762d105ec1479105a90faf19f6a8ad8c127bac5d0090cf766fbf5b35795cff56ddc067f6cecaf68bb52fe4bc9f94ed8ba17391f44fd31d915e5602a35cfd49698bde9c9bc50eca8b624df2258e4b4ac5c52a5e53ee272ee548bebd4858b70b1bbf58bc37cbc8815acf88b35c5648c0023c0080c090116320e09566654480017d7ba84c77c5e4ace975feffd8de68f54ff878b9fb6fa3fdcfb25d55f1be5a3ee9cab963ba9692d7d75f14b39663f496c34c6d41901468011b01f01b6306d3f96cc1223c00830028326809f9694fbf9e21d1655839c361fb427cc0023c0080809b0856936cb283c1f589e11600418819f99406da5e056e09fd917d63c23c0083002bd04c86d922c31028c0023c00830028c0023c00830027d106021631f70581123c00830028c0023c00830028c0021c042c667abcf5f3c77227f284e87970f1c3f71387ffe5098be0e36151169595909118ac13715b32e3d2b25ced290fdec0fde435b2ca8686f3492553471e95959e998b2b252f08b34fd26fb71b8b938f70b8e2930028c0023c0085c5702233e644c5a3cdd6fb47ff0b267ed8f3de9d1c5b38317440d206ab07fdb76b03861f612ad76c16cf9a04d6916ff2a52bbe2014b4376b33f68076d32a05984bd59b648725435731e88d46a233169b5cb0632f876e3707371b66950983223c00830028cc0d01318f121e3d682ff9cfafecb832f3f3704ac3b7bf0cd9e06fc12e1b04c6d57f1f3155d57ede0fb1534c47f84b7d79cfdecf7dabc1e3982452fcd459713bb6ad59c5599a57dabf57a6a3f0e3717e75e422cc70830028c0023702310604f4c6f554fdb7a238cc40de803be5a1900bfba3d5469a8ed0f89df3f902fc251cf25cdd7e22b9b7dc867f1fa5633d51f6a0e436ddfd4119661041801468011b889098ce090f1d103ed05916ed0dd030e9ddffed373ca12e3303f5a74b96069e717ff287359b06cba0cbf01d4dd76f649afbffc6ffb8b931c7fcc721f6f9a8f4c3adcf0e2fdfe7505aba7c5cd3a733965f2287a69eeb97aea50f6b425262d9071763795b7a7cc7577e8d8b7ca2bfa7528aa3ebf74ba1f9de3edfefe3f7f0950afbf314fb2ae4edf84dcbd2bd5723780a69ad2943519dc172ca25272573ea01a2f7303bdfe52bba1b9eab5d854723fa8222a2dfbf1458128c76468afd3bd1abbe10cd735fcba1a495169458f2ff0756e2efcf3677824613f2aaff0f1d04042ced0def4e13fb6a56e2f015542e10bd1573e2afac0e5de95614a6ca0b5fe58764c8a8e1885848dbba33541de380286d68a032f25e5705fb1c692881dfffc43b0acebd89edfa7ec22ef444ed85af4b0eccc89cb778405fb351edb5b7c694ea256ae6f2c5ffb307ed55aac5d621e3409598f3f383b60ec68f28d27fcbc3515e246ba5d5ec3726fe90f572ec101860f67cb7eb263468011600418819b8c000d5a6eb23e0db03b3f345fecb8d271b9133fc8e8ee7b4b6fa531fe1e8e8eb2e0e5cba7cb7a3a2eb55ded711c3539e7c4a4aa8b3d8e6efe4f9627f19a491bc2263a3a747d14a738dffd14c68b575bce9efcf2fb6e0797a98bb31a8a1ee5d50017a6e7bf5cddfdd43c0f27c71ffe998bf162fe37579663bcd8dd76eacbb3fa1ec789f39efae6e5f926fd1b2783f369ca1569f16a7967437d931efc94da4db931e85e545661da0a75800cce5657d59ed7cb64de0113fc51ae88c97d252d0a23bdba93e547ca8fd5b5388d9b44e45cc2e94a45ccc6b2b4a80099e797effc7d571348d88fd85d9686f16253cdb1d22315ed9e7eead8ccad092a18e5ebebedadd4c6c787293b1bead021efc0d0a4ac28341e97bb3f3e2cc8bbbdbefcc8b1c62eef90a8a77263f8876d54336f97618ce736fe177e9c1b5e1e3e32b93a2c58d6ae37f887c69278516f70f39fb94425d12ec68b29bb73e2b5727fcff3b5555fd73719fbd377bb26258b8c953f582ec1615871b6e8263b64041801468011b8e9088ce090f168dc782f4f2f9f072fe034a3705c2f180f2e9ddce1e4e9e3a5fd00ef48749f12bae4f747bb0164733770c1e0fca2347f47b87af6cd9203497e0ed0dd52e6ea3b65665080d3e62f517fe2d23f736ad0a30fc9ffe65f89d31da0e7cb1d610138fb38ffc0caa96ed0d3f23b27af694153dc934fa2bee29174a10b3754beba38471b1db3e4d9437873ded8a977812ae5096d20181af6fc7641ecdac435cfbcdf6a745791bc5aed04faf22df363135337a4a6c42e99af8dcd3116765e991297bb3b39cc13da8f6c599384b3867cb2b0af5a171de409ad356f2d599392b121499b7304db0d894e50b5192bd4956ed146c7c6a4bc8b537d63e54a50ac7b44ed0fed3569da98d40d290f3f8b37113aa916f273c695393b8acb4f561c297e976f914eacd7ecdd50f8f525b4d8726ccbdad7be067095854bb4ab4858bf220815df4a9b1fbd26716dfabfb0bf643eb9ef76f9de59eeadfde1352c380c33ce7c2fd89e116004180146e06625308217a68d437a275efe316813261241769cf499f91b229cc097bc1efee1cbddf346fbe7e6cf7f3d0e763e341117414b1e8b8b2fc29bd6a0eecd6ca3defa1d3ffdfeaf32073732cd85761dfd57afc69936c37f329cd5cf5195c8db489cee20dbd2ddbd85081c4873aea349f6064b48a6f5e4deb5dc22afee93b3fa48a56c52ac668237407dd96b7499176fda7325f11349f7e2bc23347db6b3903b146c9190777062224a5a8a331fcce1833751fb8b678d435c27de3b60ac5ffcded927c394aeee384988fa8686d2d80cda800f2927e8674cf4c4ada7f2b9b232d4308027ae591bdc4791629a0a7352cd3d42a5ba3ddb75aa5732d0ddfd29853e290b51d1ef8e49a2ed4ebcf72e6cbab1fcd53c1d3567ea6f7fed72ad5b6fadfc21fdba09385bf79449180146801160046e26022c64141fcd9e2bfcdc99a05cbdf3abeea7a64f8c7e717e054c75c189c2a34b8e42b913867c3dede78ef28a322aa04724182471a30338ddfec0b3f01c8919e74ff621153a9a6a1b2ebbb850357069affb3797bba1b618ca9cabf9c2e89242310e6f5cacfbfa5b20c1b09bd1730cb54888861381542cf1c4071a0283dee0e4e6347aeacc082831c68ca2f6af388fc75b1c3b5ab87b26b1a287339ea45d982149df66ba8d901ca205c5586f74a0bda1baf24c2bcfd3b9e3db2a522c9eb052179db2c429d10b35005c74e9e84ce4d6ed8ef6c708192e9efbc1686c94b1bfb6b72bee0d4a45390c7fce92fd65058c0023c0083002c391000b19e9a81948cc6396f0326e9dd6afab4d3a32d5e3aeb21749d457f16238aabc5fdd3a6fdee8e98fe5c37371a4c67c0d0d41f877ebf434262757e7fd7581dfbcac73875bc6876f3dbaffeb9ee5131d9c5ba64d9b66ddc28d2731ae07c7ad0b2773882dff05571232b65d6ca6ae6a76242f30a2aa3d73510ffeb2207c7d7536372127ec4c7bd5b359354fe7ac088acadcd1d991689cb22396382d93fd130de7a294f2bb17c641493e29524cf7c506f877f438599db0b59f9e6e8f0ff1746f4e4d4de54c596e355171133af20b8d71aa5929b5c679d054770ee422edeac11dabf88ce5669b55b929f771fdedbf5d0c93bb3acd9ae30ec4fdb1e430fc388b749589180146801160046e1e025657e09ba76b36f4c461f4dd278e9f804b276786d3b04f58758cf0e0e8e307be3fb27ca2a3234e137efe4b326908cfa98b37f4ac769bbceafc09dfb74f7a3cba9284506d15af6c05c822e56eb035dc79123efe32dd7fc15f1b8a2e04448757bcdc3d7bf454c3e533ff28780fa6aae6cf0bf1d57fe0e4a326ea3752c2655f5f556c7adaa23177dc13aaf4c339c6bf25edd2454d358052bee4e9ad3e8bfdef51079055616e1650f7c6e1bacc4879644ee92f4adffdfa275745d0acf11de531495f9093ccc91d74790fe68c2d4b0b0b5eb171ebe5e4a44fc9b2b2b5fd12e84c8c92fb873eb63bcbebf069d7c58f2cc350b5fec8411d28694bfcc6b4f25c9977a46e71a45c5d5a985754fc318c57dca3099bd4566abc8d5291b03f271eef0c081bdfb1a6374e1539ed5bcbde6fc4475cacda2d3a316b1dfa1316bf63e35d5e333572f2300dc682007db74bddf49ca0ca4acf7281863dd9bb8cb3a662fe887218669cf961617b468011600418819b9580e3cddab181f70b2fd8e0240b9e1d1c7cff9224524d8f4bc93d9dfcbce3053d3ef582cbaaa404e068744e233986dafc27c98ea438f78cffe87b1cfc821727ae5e30da09da4e1df4fae57a2c2086e8ed76b03ee8fe574fe1d1c4e505c79f855ffa249f6debc607b19727262e5f30dbcf0d2e9ee9632195b4f1b3242423938746464562bcd8de54bde3f7b1e4d535c5a9fb4e3622b1903075805bd3a12d3baadbc1cd9d448e25d9b13b4a6bf4e01da25d11bb222a3428d0d7c315e557d01009b2b0ee86ffd951de0e4e21f12fa4df46d088d887fc87338b1bf56e41dad8e4c41518a2d597ef8dc9c6963b51bff30a3f6fd74646889bc6cb8ecd3a56df8a0f50c72727c7af880cf277faa1ae9e344713171e3a1347b86400fd15cc75e21420bfde4d8749a2dd928cbf97a335efe0b030b9ec5279f1117c649a9b68ecb35d7a0279cbb591dab085f7c9f9b6716fe58f0487e1c659d0459665041801468011b8090938f4f490b8c6944c875c46b8edee26b1124a4c0925c23c77885beb64301850885b61a6abab8b1362862b126eb9a2eaeaeae79f7fdee4de0d9c99ffeca648bcebeddbcfd66f7d7d406ece4f7a3672ba77ebb96f9f7b0e67246fd0a450287c7c704df687ca4ae33419e7a8421331c3a3a3aa446726357642111121070fe8f8ae4e675ecbba9352f671413a226a06becab1f9bb625da5753d110971698247474b734989d9bab822222e6292be6457a198abd676c4db45e3720fa82b29b13622d5aeb5694e22ea8f148761c459aabf4cce0830028cc0cd41a0a1a161f4e8d1f8623e070787e3c78fe3964bd83bcce01623a2d0d0508c5e3a3a3a366fde1c1414846ff2457ddc5a246767f2925f2ce2325c9ed3e1f4716b9db0154e686c981e9af29c0fa860f28793705b931033d79c58c878cde858454680116004180146801118290458c8c816a647cab9cefac90830028c0023c00830028cc035136021e335a3631519014680116004180146801118290458c83852469af5931160041801468011600418816b26c042c66b46c72a32028c0023c00830028c0023305208b09071a48c34eb2723c00830028c0023c0083002d74c40e49dc6d76c8b55640486848022222162d2f963bb8a07f6b69d81f910b171f72adfefdf4fccc81f98fe20b4ece3bf6a5dfaff71fdae2c2f5f27ee8a262e7dc16d70f52ab8b8b47d55965728a1265e994aede327df403ffe0c35ffa1b6cf77d3e6fd508ea32661c7e3f735ffbb60c32eb16f1dd9ec2aabc00830028c80190116329ae1b0ffc11300b7013c657fc323c7627af61f2203a1b476177991b8bd9266b62648ee14e41c91913f90ab6b4442fa8229570f6ec8b13d1003fbf8af59f4ab482dd45f950a1935731e88d41a5f196e505ebd8690d13e7ef203d48f3f36f2e7ad5aee25c7c54ef62ddb1bfcf1508ea366ce7dc17239b8cd0616320e7ea49805468011b022c042462b24f61584014cc5cfd5011cb1afdd91624d11b73532d0a9a9624fc64022bb8153d1e90e94ffc2a7be6c805667de17ae963b5fd2e4e86c8c19ede7ff553df6aeebaa54177539b1abf601c8b376676a0dd26a52d5ede7a7b1857efcb191bf94db92e36227fb52ed0e423e84e3a8dbf7f6918005173f787710eeb1aa8c0023c00848126021a3241afb1474d9c7cc48b51291be3a040cf5f86d6b7b13d0e5a4da10fd7576918f1e4ac66b92ced9cfff1fc89712b90f154ab5568b9fa6f1694747fb5613ab6e3f3f05d6fbf4c736fe02ab6659e971b18f7db3c6ec7230a4e3585bbc21c99e73f176e93133c2083002370d81111f322e07c0b5635f3aa078b1c5b9405c4446492c007ea73011e0565af429403ccd6ca65386784d46e5fd00d9fc99900ab090dac1b9a036802f00b601dc02e04e156ea35bfc0ef33700a7fab4c3db1ba6fba894dc950fa8c6cbdc40afbfd46e68ae7a2df64dafa2dc87cebcfae7faa055d16ab91b40534d69ca9a8c5ad53a71b9a0e731b9894a4fa8defb92f13288b76a253d1c1c20e354da1b8fa53e9cc2dddfa8884acb7e7c5120b68bc9d05ea77b357643be2a61eb0b31638b728ba7af5d1d4a6bb59cdcfbe02e287a61a90fe8bbc0b9adfa9de894edc606a5fc51a8343ea36e712761d89829112a003f0f68aa2b219f4294f687b329f43f616bd1c3b233272edf1116ecd7786c6ff1a539895ab9beb17cedc3a9b5109557f8786820e997a1bde9c37f6c4bdd6e9cfdd424643dfee0ec80b1a3c9b7a500da8dbe42c2c6ddd19a206f721eb6561c782929a7cf40c1163fb916ec3b8ebcd7748f9c45f9d342d171c412117f7656898f8b4f1ff6c538ab120a5f88bef251d1072ef7ae0c53e209d45a7f2c3b2645eaf7c4cf398e661c7b0f54ebb6beb05449fe22e1a7579da1ee9d3f256da7eef737eebd26588e1160041881011018d921e34a80f514124684ad00d30102e9a117008677dca7ad31f8bb13c09bcab700dc077009e038801a00c3cd3300af01bc00b0882aa03286891865e2679937d225692a86246e07f00e400680941d5e6b98eea3b20ad3b448b0bdaebaaacb67923240e639c11f4681afa777406226026b6da86f1d1be8a7d46ecafdeae1835ee2f2d44263f75529f16a7fc0a08abbfe01a43fb13238c0adb1a6e2f3fad6d1136f538e711e45551531b9af24ab9d405f77b2fcdb4b2e93ee98356e923f968cf2f2f6f60c8ccf4c06d0d757d7f806293dbdbce062e385e66643178c9507788ec591e6d328717f8e4df86d949cc48b98d4b41798693804d1d92552fe505d0073ffbd3c7c64727518c6847a837f682cfe18d1eb0d6efe3397a8228272d3823c31923ef6e90fce73c242d4b1995b3b9b9276556a5276e7ac0842c5869aaa8bee138302fd38cb71b9fb0999d6faf28a7353e78686443d955b5f952afd0d6d9bfcc426ec3c8e461cfceee26571fef85971897114f5272d33417c5c0aa5ec47ec2e13e35ce3ebebededad8d5792f3b3aed13d20303034292b4a97211e85ff8ce3c813b4da5f6e6d6e6e063ca79d7c0203fc645ef86d7692fa19774e896d1901468011183081911d32fe9a72da44c33e51642974def1040072c25b12315ec4791e0d55c5db13f30016d389438c17f1273e46019f50b522aa904b03d0381a41be0ef03d9d71fc5cda0e869ec33aa9529ec078d1d0b027397a174efd29524a0b56b8628fda081b4cd5c5396b71324c937e342772ecd4bba0eda2b81c8c2163d6fa87bca1fd501ecedf724933792cce01b57c5ebc25a318a7f84c4991bc9ac48be55be69ba24d5319cd34bd95b6244fa778e5a302a5b30bd4e627c6e053d28add470b6e17ea49f8b92ffb8ff5b7caee5e99a80e70ae786b5bd939f071736bacc25940297f8c462dfda7ffd56af66ef8e0cea7e383652dc7b6fceecbf08278852c3c1ae3c5d69ab796acc1f309e3b58d47d3c242a2135447ee5e4fe2c596b7d21eccc33923134fc5ba47305e6caf49d3ae2153499aaca3395ad5c2255048ab1b1b17ee6cf4d3dee3287485e4a5f883c4384af8b32f4f625c6a41747c55eb24383f7386f3b0ae744b6c462128d2ca0aa2c6ca318094483fdb384af8035099bf819cd198142965052b78bd7ec69d57637b4680116004064a6064878cb81e7d5e3a5edcc93fb3b215a011209832c5d9c70f05378bb9d3756a2c29a5f122667096914b183ee2bf65f4e0085f8a47383789c9da0e150fdf8d46138c53b1f565af917811938fab716a8ed26a3db997c48b98749f9cd5472a659322e00b5410930386638a84adda40b7968a3dd9bd0b84bac31fd70785056ad30a1624357d5df971d1ceec12123ade4bd69c9b3edb690c354923c254b12793845c50fbc68e1db2c62abe68029efa5dfc01b717f5475e59525809e3a312f0674183ae50f0a21f297f883131ff9dc050b767bb4ef54a06babb3fa5d02765216afadd31092d9f78ef00e70314bf77f6c930a5abfbc47befc249c5c6f257a9f3029e3326e2b9039ecae7cacaf0a6450378621c6d701f65ac2eb2b3cd4ffb8ea3883b4691357ff17194f2a7b6b2a4567c5cb8062ced6b66897346c838ee868652122f62f2211beec74cdadea351e44e0a53d21f4a9bdf46a0ff2ce36872433a23f84f87ffd324febf485767258c0023c008f4496004878c386b88c914d75863c2808f4b7fa3bb27e8f63b80d374d2912baae776002e7c661c9f11ee05eb9fc02948d911d61a86793713073f12cae08d9d9890f1b91a5cb3a749a11887373ad67d8d71e13312728088f495e4a9979de64fbd146e88391595b266b96696dc3f481d19a49e3b3bf3c1ec3a6a56721cdb1b3ee5625828c9e7a6628c8e58efa4fcecd5340fccc4fdc18e89fb8fe6bbf03657c2437fa106d7cda95d476722ef6831cd9b7a38d36076b43f46e070f1dc0f540bb58d3c1563bd116c7b4375e5995617236de78e6f4da1b0515db8b3d14f52d54ee328f4a2bfbc822a488ca3a83fbd16cdc7a5572ec8b94a70e654f46ded025de35f85c36fbfd63945f05fb7b3199f97d7c4ff6ce328f4702079e9711f486da6c30830028c802581111c32e263287afac04a183f9b68014770b1202518413e4e179793cdf5d2e9e14fbcf0f77c86db73802f0b845276042ac3324b16a171b5b9993aafd991bcc0fcea4f832580b875e1644eb0e5bffc3347d672204f8db841f55bfc532f021c95c579f80f67f1d6e566c7aa03e72e4e80a49a8b7af09705c56840302569aae3640ccd4c0261a6ab537844f322fea0dc951b4763616f25117f4a76f5e1bfb126b5c6196baa3b0772f9dd0be330a425a58ae9be084edfa5a74f4ef98cc5bb6231a97253eee378d67e7aba3d3ec4d3bd3935359516896c0c56fdb2c14ffb8da3c9336b7f8c45423f6bcf888f639ffe488d8bb5fd135f9d8b528a70eea0aa4e627f082b8b8d33e6a68e6086bb2dc528b9eee348dad544c54de8c82f243f4dfa4da2e3de6f2da6c00830028c802801b1bf94a28a37a5f03d8087e82d89f822b316fa980b5e40302e144d18ea6194897393fb01de06984897a431167c936a3f4c97a4e7d215671498963c71f208abe0c51d57657f49a727d749d889166d75d80875353f1a40295ff2f4569fc5fef7a803c8eaa991032ef3f9aa62d3d3168db9e39e50a51fce319297e6a8d224e4c6a75efe645c91e50968d2ca72969c3ff9e1c75f549fbb00e37cc98a615bf3795c807be3705d66a43c32a7f417a5ef7efd93ab2268d6f88ef298a4ed7c4dc9bddbb8e0acf42c683b9d9147c235717f68ed9aba669007dc9792db78f053ffbbc3ef74f92c76bf97b83ffc532f96fe133b22ffdd5acbde6fd4cafd431fdb9de575f8b4ebe2479661485d7fe460d18959eba2e4fe61f13b36dee5355323979188119f7080cabc23758b23e5ead2c2bca2e28f61bce21e4dd8a4b6526d6c0ef5946c3c27a8b05f2ed0b0277b57ad1437093fed368e266f2cfc11c8cdf94b8c6399e479859644c6c5f4083cce950ac6b724e7fd44e469c559074a8147fcdcaf99c8fae0e71847ce0b45c2fe9c787cb62b6c7cc71a8bff20166e4a8dbb851a3b640418014660c00444fef60db8eef057c49bca700e031f5ec17f5ce2974ff963f33d4675182f4ee19fb3c6428c35317c7c10e06e80701a746c02c0a010ef71e4d233003369d4b89e1ee3a3d99844edd09261bc294eddb770ff8a60ff903035189a0e6d797b7242e2edee1839923705cae4a19172d2b9f6a6ea5733d7d2bb1a4988662dcf4d5fe10d7a7cea05836db3a4ab39d3b42828581d18ace6e4ed0d15bbe963ad25d9b1fe2eaf3ca65586685784d0b2d6ea8ff9bad88878226f5a9429b5914ad0d7709fe113f587ab5c9cb17bc15dcf84c8d589c9a4f596939f81843fb9fb3f12f71fbbabbf82753b716acdf48b8230c87f38d37fff335141dad820da587df9de986c2454fcf705ca44ec6e184e83b794179fb8232a8c8bc3b363b3c614a6870686c62787d21afa9ad27a9a21e671eadcd35bae45dc86ba7f63c868ab9f761a47497ff8026bfee2e328e90f3124322e92f62538ab52700c0c57f8f9e63602d04d38fdc91be4f73fd338f2cd737fb29de9e42b2febdd635f8c4962dcf962b66704180146c066020e3d3d3dc24aa6432e23dc767777a3264a4c0925c23c77885beb64301850885b61065f22c60931c31509b75c517575f5f3cf3f2ff47048f291001e38b7237848a58f66f00a8eab853f011c1228a110afe74289a0907cfd658c957d513bc25ac330afd044ccf0e8a82ad1f5067caab4b26d51e74bb7c4149c52f95cac24ef33a449421eb32e65cce5caed525f5256a822e4b77a784047b35923d4a22222428ee3d8f15d9dced48ab1b101ec24fc11d65469226ef5f568feae5867bc3d12d7912dfde9c77fa139b3bc22226a069e8366c6d1bc2642ee017525f4391f337d5234638247474b734949ef2342e62a82231bfd1cfc380adab6352b328e22fe08ac8a8c8ba0d43c2bced95c673047e2f6ed368e784a44c4454cd297ec1279a9922ae5956d2b9475c599b139fcb2b5d5b80fa66fac2e2330c2093434348c1e3ddad1d1d1c1c1e1f8f1e3b8e51262c10c6e31220a0d0dc5e8a5a3a363f3e6cd414141f8465dd4c7ad457276262fdbc5222ec3e5391d4e1fb7d6095be184c686e9a129cff9800a267f3809b735093173cd6964cf329ab049857a260561061f7fb64ea242939a68a9a8d0546578666a7522c10d2ea976b5ff00b595a6408beb9ca8bc707b5e5f5de71e9415d7a8158bacc45545a5a2fe08352b7525165dc04e91077705a91fff059ae6d9da12b33707190b457972657d14995ba64736fa296a5c8a8f945cc48d018944c651d41f9331917131955966c4395b6a5dfbb1b8fd3efcefa348d48bda927cfe571757ae4acb7dc4e5dca916d7a90b17e1227beb1787f97811cbadc65dd4261332028c00233010022c641c0825a6332802b858d6bb122bb0242517a85cd7ec8de6cf75edfc001a93e223251f8049a6327802a3ee9cab963ba9a9217d75f14b39663f61066f9f596004180146c048802d4cb353811160041881614c003f6929f7f3c53b32aa0639cd3e8c1930d71981eb41802d4cb359c6eb719eb1361801468011182202b595825b8787a80d6696116004180100729b244b8c0023c00830028c0023c00830028c401f0458c8d8071c56c40830028c0023c00830028c00234008b085e967abcfffdef7fbe2f133e3ec7e46bc7ce0f81c8faf9e0c8f3b6a77d3d7c1a022226dd5dce60f0b76893c036d5bf331ebd2ef70fdae20cffc494ffbd9b7cd1b5bb53571e90b6e83ab57c1c5a5edabb2bc42fe8d3652725bedf7a31fb171f72adfefdf4fccc8ef47d1d662fbf11fdee36b2b37a6cf0830028cc0482530e2671993164ff71bed1fbcec59fb9f01498f2e9e1dbc20caec0b63f66f65c82c4e98bd44ab5d305b3ee806348b7f15a95df180a521bbd91fb4837d1ad0cc792052ab8dc4a4d52e130ca694bc4f6392851109e9b91bd3444e15cd6c4d903c58bb2842b2eab516d88dfff01edf6bc5c7ea31028c002330e2088cf890716bc17f4e7dffe5c1979f1b82a1efecc1377b1af04b84c332b55dc5cf60745db583ef57d090be8bfb986faf39fbd9efb53904395d4eecaa5573566596d24ef4e290925f9b0b33ef0b57872dd158c78c3add81f28a237b07f645619bdab61fff613dbe363163ca8c0023c0088c64026c617aab7adad6917c06f4d1777c45338065a4d787bead45436ddf567fa4f46bf1d5c93ee4b387d4e15e2d2979afc680739de4f37986de80b4b7a22e27955f0aef15da2737d4fc87dabe7d28302b8c0023c00830020323308243c6470fb41744ba41770f38747efb4fcf294b8cc41e2dba5cb0b4f38b7f94b92c58365d86df00ea6e3bfba4d75ffeb7fdc5498e3f66b98f37cd47261d6e78f17effba82d5d3e2669db99c327914bd44f65c3d75287bda129316c838bb9bcadb53e6ba3b74ec5be515fd3a14559f5f3addcf9114757fff9fbf04a8d71b5bbfc1765d9dbe09b97b57aae56e004d35a5296b32b82f4f44a5e4ae7c40355ee6067afda5764373d56bb1a9e4663b45545af6e38b02518ec9d05ea77b3576c319ae4ff8353c92a2d28a1e5fe0ebdc5cf8e7cff048c27e545ee1e3a181849ca1bde9c37f6c4bdd5e02aa84c217a2af7c54f481cbbd2bc394d8406bfdb1ec98142e9e4ad8b83b5a13e48d236068ad38f052520ef7156b3410b1e39f7f0896751ddb61d7d42b0000400049444154f3fb945dbdef3816f313fd176b176dd89ea4fc1169774f95c667d42deee4e41933254205e0e7014d7525953eeb8a5e58ea83d3b3e0dc56fd4e74ca768117627ef6c9478a83047f183ee32ba0c2b28c0023c0083002434980062d43d9c08d6bfb87e68b1d573a2e77e20719dd7d6fe9f5738cbf87a3a32c78f9f2e9b29e8e4b6d577b1c474dce3931a9ea628fa39bff93e549bc66d286b0898e0e5d1fc529ce773f85f1e2d596b327bffcbedbc165eae2ac86a2477935c085e9f92f57773f35cfc3c9f1877fe662bc98ffcd95e5182f76b79dfaf2acbec771e2bca7be7979be49ffc6c974022857a4c5abe59d0df54d7af0536a37e5c6a07b515985692bd40132385b5d557b5e2f9379074cf047b92226f795b4288cf4ea4e961f293f56d7e2346e12917309a72b15311bcbd2a202649e5fbef3f75d4d20613f6277591ac68b4d35c74a8f54b47bfaa96333b726a86094afafb7b7521b1f1fa6ec6ca84387bc034393b2a2d0785ceefef8b020eff6faf223c71abbbc43a29eca8d51185b55cdbc5d86d198dbf85ff81925927e4ab46baa36e08c943fa27cd232b7e46ccbd106620ceca64eccdc969389e9e99808b878f9427373f38f6d6edede63c77a091a97f0539a0fa92bc64182ffb01a5f01179665041801468011185202237896f168dc782f7c4a7afef9ee23bdd104c2be60047ee9e40e9f99bf81f9e5dd47e6b94f095df29ba386d716c8e66e7814b6be8ed58ad2fc1de1ead9374b0e24ad7680ee963257df705273134687d3272efdf3a3b0911cf6e843f2bfd9b27aaa03f47cb9e3fea0df1c85f907564e75839e96df39f99215f1a413dd7f0d563c920e587443a6eae29cb53869a7493f9a133976ea5da01aff8436100c0d7b92a3c9b49d22a5b460852bf15c91bc5aed04faf22df3530b853da137e8755e991297fb5ca2da0dda8f6cf99f0d85b518c4704a16f655ebc60579426bcd5b4bd6e41185a88d47d3c242a21354cf18672beb4ab7c466148222adac206aac5c098a758fa8fda1bd264dbb86cc386ab28ee668550b974021ad5e99b3a378ccfc80aea3ef9670cd49f9a95ab75bbcdd5d969fc6e6ed48ec25fd3920ca47a13a517fabecee9589ea00e78ab7b6959d031f37b7c6aa12a885c4189cf854ec3e5a70bba029d5ba68713fa5f870754538188d5af01f66e32b20c3b28c0023c0083002434a6004878c46ae77e21c143ea6224cb8180d1d2749bc8869025ff27af8872f77cf1bed9f9b3ffff538d8f9d0445c042d792c2ebe08ef4283ba37b38d7aeb77fcf4fbbfca1cdc14788c761dfd57afc69936c37f329cd5cf5195c8dbc8d4ae836c4b77f716227020cdb98e26d91b2c2199d6937b49bc8849f7c9597da45236295633c11ba0beec35e332af8f2b595225e95e9c7784a6cf769ac58bb404097907272662bea538f3c11c3e7813b5bf78d638c475e2bd03b42640f17b679f0c53baba63588ffa868652122f62f2211b827ec6444fdc7a2a9f2b2b430d0378e27c9dc17d1429a6a930c73c8295f053336b9254bbbca581ed25fd11e7535b59525b09e3a31248e77485c518859ba509f85f54f885ee3efc14e7c35bb3e24078de04e3cbf78fed190146801160048696000b19c5f9f65c69b52e50effc8acc2046bf38bf02a6bae044e1d12547a1dc0943be9ef67347797d1915d023120c92b8d1019c6e7fe059788ec48cf327fb900a1d4db50d975d5ca81ab8b4d7fd9bcbdd505b0c29ced57c617449a11887372ed67dfd2d9060d8cde839de794742347c9a988aad9e10e12aa32130e80d4e6e4ea3a7ce8c801263cc286aff8af3788c913a5ab87b26b1a287b32068d2b7b573264d861563bdd181f686eaca33ad3c4fe78e6fab846a6679e2be889faecee88e64bb6616fa3c90f44741835c82423af506ba923a7dfb69cd47d2106570138e6f1f1d66458c0023c008300283204026bc58c278c61282e8a57dfdba5a54f4b8abecc5608cfa2a5e0cc75aef576370e930fdb17ca385f91a7adde7dfadd3d398fcbb329c0cf39b9775ee7012ea1cddff3509229d5ba64d9bc2a780a0f01bf4f1178036ae5f71ebc2710eb1b5e5bf4017a1db2e3653b96647f20223aada3317118e2c28c6fa4d31a8da5ef5ec86b75ac029282a73478a50c3d2fe89afce61447af7c238ae5d504cf7c5060cc677f43861f8689e6a3f3d8d51a4a77b736a6a0a9f9236e4d199514e53131587b7069a92849f7db7cbd53674e1ed7f22492897f447a25dce9c2bd72f230cab2604edf6eda7359f5e5b161c8c0596fc87dff8f6f690e518014680116004869080d5157808dbba714d3b8cbefbc4f11370e9e4cc703e5231393bc694c3ccd1c70f7c7f64f94447479c26fcfc9774a1f93975f1869ed56e93579d3fe1fbf6498f47579210aaade295ad0059a4aa1b6c0d779e446e70f45ff0d786a20b01d1e1152f77cf1e3dd570f9cc3f0ade83a9aaf9f3427cf51f38f9a8852ddd08798c747d55b1e9698bc6dc714fa8d20fe718ff96b44b1735d5004af992a7b7fa2cf6bf471d405685b9a553dd1b87eb3223e59139a5bf287df7eb9f5c1541b3c67794c7247d414e322777d0e53d9833b62c2d2c78c5c6ad9793933e25cbcad6f64ba033314aee1ffad8ee2cafc3a75d173fb20c43d5fa230775a0a42df11bd3845c65de91bac591727569615e51f1c7305e718f266c525ba9363687a82a12f6e7c4e39d0161e33bd6e4e96865293fdf9768976f1103d309aaacf42c1768d893bdcb340b8ac56672697f24f86c470b3575cd200fb82f25b7f1e0a7fe7787dfe9f259ace01169b771c1d82eb49dcec8cb2fc991f253820fe7be080771fec36c7c7b0787e5180146801160048696000b19e9fd704eb2e0d932e89984d3805b418fb380d0c9cf3b5ed077e31d89fc34e4d1e89c46c35ff1c197dafc27f9918973cfb8ed4ae63cbfe0c58938f988f1e2a9835ebf5c8f0fb610430e181701ac0fba7fdc37ff5a3d75e2f282e3cfbefe4b9fe433975f9c3c6af2727a7f1f4e58b67c2dbd904aeaff3c095d97c94323e5a4f5f6a6ea5733d792b9bbe2d47d0bf7af08f60f095383a1e9d096b7272724deee4e22c792ec587f97571ed32a43b42b42482568adfe18b75708037a3f5ef186fff1c9fdbf89ea90f817d27f2293af22f621ffe14cfffdcf4405696383880da82fdf1b935d0caa14d4375ce1e7f9dac808b9d1e9b7ecd8ac3185e9a181a1f1c9a1b486bea6b49e66c8863bc59de9e4282794f053a25da321d29ca7b75c8b380c75ffee0d1945e452fe48b44b1a28ced8bde0ae6742e4eac464351eb69cfcccd82c82239894da4825e86bcaf2f275b6f3e14c597310e73fdcc6d7048a6518014680116004869480434f0f09904cc974c86584dbee6e8c9d0025a68412619e3bc4ad7532180c28c4ad30d3d5d5c50931c31509b75c517575f5f3cf3f6f72ef06cecc7f7653243e17f2ed67ebc903d50348f3939e8d9ceedd7aeedbe79ec319c91b3429140a1f1f7c02e887ca4ae1b41a283411333c3aaa4a746652632714111172f0808eefea74e6b5ac3b29651fa70723a266e0ab1c9bbf2bd6593e11626d8648884b133c3a5a9a4b4ab8d944a39a22222e6292be64173ea46d9144fdb4b95d0ba3a643297f48d724f8a83411b7fa7a0caccb36fb29ca418aff301a5f13709661041801466048093434348c1e3d1a5fcce7e0e070fcf871dc72091bc50c6e31220a0d0dc5e8a5a3a363f3e6cd4141414e4e4ea88f5b8be4ecec8c122ce2325c9ed3e1f4716b9db0154e686c981e9af29c0fa860f28793705b931033d79c58c878cde858454680116004180146801118290458c848a25196180146801160041801468011600418813e08b090b10f38ac881160041801468011600418014680106021233b0f1801468011600418014680116004fa21c042c67e00b16246801160041801468011600418011632b2738011600418014680116004180146a01f02ecbd8cfd0062c53f3f01454442c4a4f3c776597d7f7930ae456cdcbdcaf7fbf71333f8cff60cc658df75afcd7f4d5cfa82dbe0ea55707169fbaa2caf50676c444adeb70f3697def07ca47ad40f9fa1eed750db97eab6955c8a8394dccac0e004d785832661c7e3f735ffbb60c3ae92c179cb6a33028cc08008b090714098ae5de90980db009eba7603ac667af61f2203a1b47697e0238083a6a299ad09923b05394764e40fe46a139190be60cad5831b72f8c0cd0607aecd7fcd9c0722b5f42deaf80273e55553c82825b7c12181aa64bf6ce423306973f6daf84835d30f1f3bf5eb46e0264580934b719092f76d4daaf4e7e5a099735fb05c0e6eb381858c5223c4e48c805d09b090d1ae38ad8d85014cc5cfd5011cb12e6392fe0928e2b646063a3555ecc9184864d7bf3d5e43a73b50fe0b9ffab2015a9d795fb85aee7c4993a3b33166bc66ff7539b1abf601c8b376676a0d5d5779bf414a6e52b02923d92f1bf9d8d4a850f99af9088d08f3fdf0b153bf7e766ec22e8be6a53848c9458df42bfc7939e8f6bd7d2460c1c50fdeedd74fa6c00830027621c04246bb60943642bf93275dcc4afa261091be3a040cf5f86debbef56c2fd5e5a4da10fd7592cff6197a03b781b63728ff6bf17b353eedd8307eb55c98a4e4429d01e6a5fb651b9f013667a536283e56d68c823ef9d8a75f3f3737a9ae9bc9a53848c9cd2a0fece067e6505bbc21c99e6b0f03eb34d36204462e81111f322e07c0b5635f7a06e0c519e70271111925b100f89dc244805b69d1a700f134b3994e19e2351c95f70364f3a74e2ac0426a478f1f9906f802601bc02d00ee54e136bac5ef307f0370aa4f3bbcbd61ba8f4ac95df9806abccc0df4fa4bed86e6aad762dff42aca7de8ccab7fae0f5a15ad96bb0134d594a6acc9a855ad13970b7a1e939ba8f484eabd2f192f0b78eb52d2c3c101324ea5bdf158eac329dcd704155169d98f2f0ac4763119daeb74afc66ec857256c7d21666c516ef1f4b5ab4369ad96937b1fdc05452f2cf5017d1738b755bf139db2ddd8a0943f0a95c667d42dee246c1b33254205e0e7014d7525e45388d2fe70362dfdc76f058af909109557f8786820e997a1bde9c37f6c4bdd3ec0d94fa3efa65dc2c6ddd19a206f727eb6561c782929c7484ea4dd3d55e2fdf25927ce87b421e6a72aa1f085e82b1f157de072efca30250e406bfdb1ec9814128fdbcec7bee78f090bc9e0f88a8e3b5512e1b381dce42ae2cfcea1e7465d12dd48f829362ea2f5fb13de58e78f84b7aa755b5f58aa247f81f153b3ce50f7ce9f92b6d39f7ffd9d6f12f69898116004064a6064878c2b01d653521811b6024c0708a4875e0018de719fb6c6e0ef4e006f2adf02701fc02580e3006a000c37cf00bc06f002c022aa80ca18266294899f65de4897a4a91892b81dc03b001900527678ad61ba8fca2a4cd322c1f6baeaaa2e9f49ca0099e7047f1805be9ede01899908acb5a1be756ca09f52bb29f7ab870f7a89cb530b8ddd57a5c4abfda1b17c2d773d00487f626570805b634dc5e7f5ada327dea61ce33c8aaa2a62725f49563b81beee64f9b7975c26dd316bdc247f2c19e5e5eded19189f990ca0afafaef10d527a7a79c1c5c60bcdcd862e182b0ff01c8b23cda751e2fe1c9bf0db28b9719a4f4d7b81151a0e41747689943f468b56fe4bf819b1bb2c2dc81323e9639ffee03c272c441d9bb9b5b3296917170cf3ee0d601f97bb9f106bad2faf3837756e6848d453b9f555a985b5a2eda6652688f7abf0b2381f90f0b3c6d7d7dbdb5b1baf24e35bd7e81e1018189a9415a5cb28b6958f9dcf1f0b6217a5fa05a27cb0b6a83fd7819b85e3a643093f25c665f89f3fa68e5b662eb736373703fe1f76f2090cf09379e1b7e849eae77ce394d89611600406416064878cbfa6e436d1b04f14620a9d773c01809cf096448c17db71ee84aae2ed8979008be9c421c68bf89317a7243fa16a4554219706a07134827c1de07b3ae3f8b9b41d0c3d877552a53c81f1a2a1614f7234b95a29524a0b56b8628fda081b4cd5c5396b71d24b937e342772ecd4bba0eda2b81c8c2163d6fa87bca1fd501ecedf724933792cce61b57c5ebc25a318a7f84c4991bc9ac48be55be69ba24d5319cd34bd95b6244fa778e5a302a5b30bd4e627c6e0049262f7d182db857a127eeecbfe63fdadb2bb5726aa039c2bdeda56760e7cdcdc1aab701650ca1fa3512bffc5fd54addb8df1626bcd5b4bd6e0f98471cac6a3696121d109aa5d95b6c58c8a758f60bcd85e93a65d4367f8b28ee668550b9740e101513e0ad509f17ed582281fd5ba68713f9f39c375b8ae744b6c462128d2ca0aa2c6ca3180b4918fbdcf1fe330987652e30ee2e30212feeccb93381fecc6cde4b14546dccf9bf7fcb1e87eef6165fe06f23f189322a5ac60055fd0cff9c6abb13d23c0085c3b81911d32e27af479e9787127ffccca56804680604a19671f3f14dc5ce64ed7a9b1a494c68b98c159462e61f888ff96d183237c291ee1dc24266b3b543c7c371a4db037407dd96bc6d90d1f57e3d41ca5d57a722f891731e93e39ab8f54ca2645c017a82026070cc714095bb5816e2d157bb2e98a13c5a23bfc717d5058a036ad604152d3d7951f17edcc2e21a1e3bd64cdb9e9b39dc65093ea0a36157b32f38891da3776ec903556f12513f0d4efe20fb8bda83ff2ca92c24a181f95803f0b1a74858217fd48f9438c89f92feea766d624b47ce2bd03465f8adf3bfb6498d2d5ddcf783ce0dd8c89784e81a7f2b9b232bcf9d1009e185f1bdc4749f1a9ad2ca915ef17d7a2259f3efc446e868652122f62f2211bfa63c0363ef63d7f8813e2c9b25f527ca4fc197a6e90b6f76814b983c394f487d2e667eb46daf963eabe7446f04706ffb248fc7d90aece4a180146c04602233864c459434ca6b8c61a1c067c5cfa1bdd3d41b7df019ca6938e5c513db70370e133e3f88c702f58ff044e41ca8eb0d630ccbb9938f89190056fecc4848ccfd5e09a3d4d0ac538bcd1b1ee6b8c0b9f91900344a4af244fbdec347feaa57043cca9a89435cb35b3e4fe41eac820f5dcd9990f66d751b392e3d8def0a971b6ae249f9b9a303a62bd93f2b3571303304112f7073b26eabf82d6b4f2d3d519455d1d2da679530f67eb6056d0a8545631d61b81b73754579e6975318e8273c7b755a0a0419c55bb6676ccfb6556c41ff4eda7bead9d57247bae35dbf8d0fa763a7f84bef497971817ae9aa83fbd168786dbe1b75feb9c22f893d1d94c9ed397f0b3ef71e975b5bfdc0d78fef4e7b265b9f4f966a9c98e190146e0da08e0d569a4267c0c05231a9c680ce367132d4808fe6893128c201fa78bcbc9e67ae9f4f0275ef87b3ec3ed39c0970542293b02956199258bd0b8dadc4c9dd7ec485e601ea5e0334124c5ad0b2773822dffe59f39b29603796ac40daadfe29f7ae16ad26d65711efec3ebe7badcec5875e0dcc509905473510ffeb2a0180d08a6244d759cf0664ac9d4d5695524e20feab872e3682cecad24e24fc92e71ff6bcf88fa79e2ab73514af9dd0be3a08446b48ae9be084edfd5d1db08deb565ed272916ca6b3f3ddd1e1fe2e9de9c9a9a2aa88a598d68bb9c8e54bf8c1604edf6eda793c41f121bf8d8effc31755fc8c724241941bf40625ca04f7f86945b65b1d87d88127ef63d2e5cafa53808e537e6f943fcd744c54de8c82f243fc5fa4da2e75bbfb5980223c0080c9080c45ffa01d61eee6aef013c446f49c4177bb5d0c75cf0428d71a168c2500fa34c9c9bdc0ff036c0441a6b622cf826d57e982e49cfa52bce28302d79e2e41156c18b38aecafe924e4fae93b0132ddaeab011ea6a7e348052bee4e9ad3e8bfdef510790555223075ca6f455c5a6a72d1a73c73da14a3f9c63242fcd51a549c88d4fbdfc892e27f7f65f935696b3e4fcc90f3ffea2fadc0518e74b56eeda9acfe382d41b87eb3223e59139a5bf287df7eb9f5c1541b3c67794c7246defad2b91731b179c959e056da733f248b826ee0fad5b53d70cf280fb52721b0f7eea7f77f89d2e9fc5eef712f7877feac5d27f493fdf4f8c92fb873eb63bcbebf069d7c58f2cc390bafec8c1de05793ca726a8d04f1768d893bdcb341b897e99c92bf38ed42d8e94ab4b0bf38a8a3f86f18a7b346193da4ab5b1397df011e997e9117200219f921c293f9566744d01bad47849f0b1dbf923f0c68c8f402eec97e4f95326793ea3a521e426f0d33c2b759e4b8d4b6f6d290e66f21bedfce1dc5724eccf89c767d9c2c677acb1f883d0db3f9a933adf2cd4d82123c0080c82c0c80e193370fa883eec8ccfaf70895f3ee58fcdf718d561bc38857fce1a0b31d6c4f0f14180bb01c269d0b109008342bcc7914bb8f83a93468debe9313e9a8d49d40e2d19c69be2d47d0bf7af08f60f095383a1e9d096b7272724deee8e912379b3a04c1e1a29279d6b6faa7e35732dbdab918468d6f2dcf415dea0c7a75e84b111a9a9ab39d3b42828581d18ac26876411b6627706b154921debeff2ca635a65887645082d6aadfe98ee71838d8827f2a64599521ba9047d4d595e3e8668a2fe70958b33762fb8eb9910b93a3199b4de72f233297f72f77f24eebfa49ff90f67faef7f262a481b1b441bab2fdf1b93cd11c2e34e9c0af7f4966b119fa1eedfbd21a3883c3b366b4c617a6860687c7228b5a4af29adc74c1f7c44fa456be2c68a8f849faa14e466b8c2cf83b611c7dc701a4f774674bc24f9d8e9fce1dd17e1c31559f54b828fa43fc4cc1072e33b60bd971847897131d697e22022bfb1ce1fbeffdc25ca994efaf2b2de3d9e7bc624fdf781d7607b468011182c01879e9e1ea10dd32197116ebbbbbb511325a68412619e3bc4ad7532180c28c4ad30832fd5e28498e18a845baea8babafaf9e79f177a3824f948000f9cdb113ca4d2473361f41d3a3f011c1228a110a323a1445048d6bec758d917b523ac350cf30a4dc40c8f8eaa125d6fc0a74a2bdb1675be744b4cc12995cfc54af23e439a24e431eb52c65caedc4e4238b1a45045c86ff5f0808e66b346a8aa2222428ee3d8f15d9dced48a980d7199843f42659526e2565f8fe6ef8a75a68799adfce9c77f624ed44f4544d40c3c07cd8c0bdb1e709e0cc1048f8e96e692120b86a2ed12bb22fd926cce463f6de433f8f347d2f1fe0b44f888f823b03384dc04ad586545fc2427d54d79fe908ec5454cd297ec2ae4ff70f4f250a5bcb26d85b2ae383336875fb6b63adf7ab5598e11183481868686d1a3473b3a3a3a38381c3f7e1cb75c42c398c12d4644a1a1a118bd7474746cdebc392828c8c9c909f5716b919c9d9d5182455c86cb733a9c3e6ead13b6c2098d0dd343539ef301154cfe70126e6b1262e69a130b19af191dab383002aab4a3dba21a8ad3622dbecf2c251f9855fb6bdd68fed8bf87c3d3a2d4b848c987672f99d70326a04acb7dc4e5dca916d7a90b17a9fddc5a8b7fabcd31fd841bb015a6c8085c030116328eec85e96b38655815db09e0e25197582d29b998eef590dd68fe5c8f3e0f8736a4c6454a3e1cfac47cbc6602a3ee9cab963ba9697d7d75f14b2c5ebc6694ac2223602b0136cb682b31a6cf0830028c0023f0b311c04f78cafd7cf10e94aa12fa62d69fcd11d6f08823c06619d92ce3883be95987190146801118be046a2b05b74a0fdf6e30cf1981614880dc26c91223c00830028c0023c00830028c0023d007011632f601871531028c0023c00830028c0023c00810023771c838f9c0fd9187436eb71a6729b995e28d2a284885a23811e7a4e422aad753340dded900bbf1d595834e394f40d9efe05e1bede872e18b0d03adf3bf4b61f75a2878027e3d6d8055548facf9f5eae5f70f507b506af361d3014879745036c42b27c1e18bb0af48bc70c8a55cbf9260cf09d8f4ac1d5adb70000a0f03f786ce5e73f3ed66bfd726cb31028c0023309208dcbcf7322aee582c9381f714a8f8da6c40a5e4664a763b5069974e9319be78f39d2a7b990c830726038c07c837b7282537d7fa198e26c23d01d08e8f4cff73b08d2f9b01f811c77b003e18b8a530988675bce07f01fed25fad2fb7832f79b516490fcc80677e044526c9f7956604cadc5dc0fd3615fc6ba85ff4b1f720048d829a4ffa72e7daca7eb502c68c8631f876d26b4d0945b0783a1406c11bb65b30f6eb4750064307be11fc39db4d98d7787031f948e42c800aa1fc4e986527fb42ab2ccf0830028cc0c8217013cf321af01de53d3df8220e8b2425b750b3cf61c0ade37c64e3a7cdb08f35ce0aed97884129b988eaf5145d0674ac5bf42d3b36bad18986002eda54eb087cfc237c53d57fbc8856f55df0dd5978e920149d253e7b8d83adfdb655f5cdb98b6d2df5d5431d2f86e49378b1eb7b8819744465dda737fe00a7bf87cf2c7e8458eb494be66861d274884c92d69028e9ed57193d4ff0d331834e57c9ff04c06f799aa50b76b36f66961d30028c0023306208dcbcb38c17c9b76a4492945c44d50e2203f5c23a6ebd76d3df4b5495924ba88f1cf1439903edebac645ef39fa0f82bcc72064518c0115e28beaf7ae70dbbcd208bb740a57f5e4576af07f4a13288a2a3b06c70963be929ce7f34d0064f7afb35140bee3638c25419014680116004fa21305c43c64dea87d68df5f6a0cb88869e9eb6b6333e251f625f934223b3c7dfe28d9ff3a11da7d352246725773cfe7f1e0d7136ecfbe4cde8efa82aeadcbbf4457f8fbafa0fa655f89e79e88ec9ce9c8dee538d5f4cfba0ef8f4fc39cc5bf9a31d1c789d6c04f06755d3af5b77f7f3bc3d3dddd8918f71ca752cc001f37b878aeb2f6076373a2bb677f07f1d3c09d4efe62b8d9d1048a4ca2f8ebb5f0cc5d30ca192cfa652d7f7733cc748743f9b0965fc1fcf513f0c71950ff31ccc9874ff2e056376210a75cce54c39c97685e6cb37b232c7287ba4e98361a3a2fc03b1d101d003d5db0fc77645d58cacf7b9742c1fde0c94f5e5f3e078af788754317ecce84c871c4ffae7678e429e3e2b2943f527234e5c379bb14cede0f6e0e70e815d253117f0ec1d935e413e2780e5c6d86c97fe0aa91edd2b5b06d16fcf3100447c0ad2e4462b804139f2619530aa40377d972aaca548e1f325b94b020d0919887eecbdfee7a0d3f374e9342bb76c114c38533df3b4dbc4d4658f774b57eb0fbb5c1c4951bbe81d10ef0d341c843738fc2b1bdf0df02a89f03f3a6529e2df01b5fb208bba808b297c1bf3261fad330013f3e88fd6a8410bc8701bf64791926e0622da61ef8f6103cb48464171d80ec480aa8077a1ce0c23f2182cab1685335dc3fdd78a7f38fff810835d1c714b209fe9a021e140e1eb67d09f3d6c1af26c02d081a3f8a19028b922040060d3a78f728fe8f82c33930867a82a53d7af8ffdcc957d94dc9ac5f546ad0c3a66f608179bfb024e5303c321fdcb0dd1ec0ff17574ec3bc69a482883f41d410b91981a64d702c055c1da02c831c4ad917e1f3287c580057bf80e32eb0603ae1dcdd069bbd8c2bef527cb836adb722fe674a8ca3f4f85a9b65124680116004ae2701feda7e3ddb1c745b9bc2639e1a47e2c54b9d1d2d861e2707076f377281485247ff75a26cb4a3c395ab1d4d5dbdb38c62f2ee83970d0e0e2e4bef0ae3dd999cf60b0c757a3eaaf03ebf6c3ac68b57af5e3ed9dade0d8e53fd831b4227f36a22fb39cbd706079078f1ea9576bda107bfe7e8e2e9fdd0a2f079e1f3fc684cee336d76f8bcd998c2425522f579d1b31be089db49bc8891cac5abe0e408a34693b25fff0e9ebf1bbc9c41df0ecd82953b51f9fb3f8283233cb88c370af05b7aedafc807bc570fe3458cd8aacf41b7034c99019faded55b3c8f93883933b89173126721d43e345fc8ca6333c391ba4fcbcf757b02f9cc48b972fc1373fc2650378ca8855b4e0733b2c1e073d57c967609c3de18d4c2297f2474a4eead085696ce85c3801d5584de345516e17a1b513aee8c1d101dcb86889ab0f20f324c2c58b49bcd87e19f04471a4110f4c03dd9fe08b3f41c34be4a6c6cb6721fa13be8ef5be5dafc76fa27775e3703bb973f5a992bb079e906e7eb761bcd863b88aa7a183b3f79ce573ac0d0c54f2282c9b8aabe610c6c573634800346935a8a7424f0774f580b30c5efa8618bb4546fa159e45e245fcb141fa85df3dc779d26e122f76b540cd9764dc272d869222228766d05f017d07e83be9c9760b1502fcf11b08c773a61bbefd12709177dc3c78e7655214f232ec7a8ac48b6d8d70fa14b45d058f00d8f30ea4be064a4a18bddaf85778220b327289fede1748bc7815db3d093f507ff8164829c6be66fda2e7c9e805106ed5af9413b07a018917db9ae0d215707202cf5f1003a2fe90029a30da47854f9f2215cfff13d69f26e7a1a87d713e63c0cd1146071314c8b9e32a388e82e413c4b4141fae5debadb8ff52e32825b7b6cb248c0023c0085c5f02c33064bc35fc7f319c01c3dbc7f7fa1cd8e7fbc17f8db1e158cd9fc7e1a44e4fd9c9bd9eff6fdfd80f7fec5bfedcbfbe6cc16baafb84c3b752e4b382273a80e14a43c9bdb7fbe18cc2d546d7ff573cb3f41f4edf5cc42bcdc4092ac97533c5e2bb486068387d78c7df5e79f5ef87be477d4c9ffcfb932f4f7e79912ed8b53560f6cb6fbef9e6d3cf2b69a1d8663624d2c5c1837f07452a28b7934b3e49d3208b3ef65d5e04939f82e92ff723ff4b2ea0c78ea3a16836adfe2b18ef4866d18e3c41c2a0ee7608780a16fc11261c2657d0f1b36029d512d9d053e362151cba440a0d1760f9a724e33551c24f806df461e633e5a0781a3499a0488209f8d4099f9a6b6142320414d118d417964af8f3a484dce8670fcc8c83b7d564d6e79b729885b3a452dcbe813b53e0b6ff051c6554164d88f4b65468255f94a7e53e70db68183b1a689c0fee7ed27050fd877fbdba7bd7eebf1dba62619a3fbedaf4e5ffddf5b7dd07cf61b993cf380b2de1e1a24db0c3fc51689cab0be1350a7792d9beeaf5fc31bd270f0f7efa0fa83c617632e1e932892fa5fb8f7f0773c7929bf91c9cc854e22d38ee2d30db17628240b599e88f5b0a8b00de8d83b99e30d70be63e4884c6341f166184da03b94ef05010fc92dabff51152f87c02d97ebb03e68d8765d3609e2ba87ce0a5df40d166f8b68314fd5806afee8083afc2df5e24871369c07afa6f10331322c74288bbd9c33196fd223548b2ecd7a3101b4ce48757c2bcb170df83fcf92fe10f51c5d403d3f361672219fad33b7a674fb1c4c2be249f0bd40ecea49e249ce76a0922d72900d27c8c152c7652fe4b8da394dcc22c3b6404180146e0ba13187e2163d2645f74baed628d7141d91d2756489a1fe8876b8cfacba7c26be9717f72802f329a3af1aa1a36331c2b1cbfd51bb71fd5e8e27dc98c51dd7755d40a6a9dfa09730e4e0ae3b1e56ec6ed63d181aea6aa52ae5d4f6e751a7ec06f147cf4ffb7f72dc07a9555965f1ee40179104c421268091842244144415ec18606bb4b618619626acad6c66a1d9c489594d345982aa6d5691c991a64b09ad4d0b69968813c660a260e437a284b1e8d3843a33c9a0e8804541e09c104410c2401f29875cefaff75f7fdce39fffdefcdcde3debbbe4aed7fedb5f7b7bf7dd67fc3dd9cff911f6fc15db5947eff0bc01fdf77df7d8f3227af51f89f3fbd980cb6ae6fbfa03cb535e89c797a31c1bcb3292dbdbfdcd6178fa46b7e59649eb9b4b0779783e3233f4c9f9a5bb82f68645d9d8a517054027de775e9951b7afdb9fb9c2219eb9a1b52319fa3ce57d2e1e50470d071f57d22e73db8809de9f2db8afcb8a0cfaedfa7e3f989e5fbcb73c7a62fce2d52aafd9cdfc09774d1f0d2530b651e5e933e5a1ed4a45b51bd5ce58b996d273c6e7cac25e9df3e9c6efc5119f8593af2d234ebd2b4e4f6b479671a3b295dfff5b0a11eea33d63d61b49776bebaea8e1f1754295a4fac822e79305d7d793af58274f12de967afa52bf1bf265f2deed55dfea522f5e4db8b1b783b37a4cface8d959e8f94a3a872f16af485b8a592695e35c91b3e98eb4ac4cbef9a674fb35e9c2d30a72fdff286cb19697f9a3d2917469e704e7fce2f985c4cb77a5c7f0e7af0bb547957751a741ca77d3d7bf1892f1a9e45bd3d5cbd3c67250def0ddf4ad2fa6af7c36adbcb5c8f9d1d3853deef2f4f8ae74ffba74c9d985cbd5fd75fd87cf15fd6c7b222d2f6ba639453f5cb5fd142108323a5d707191f9f8d7d29276c3b5ba5ddcac4f71d0b6b4f883e56992a8599fefbe911edfddebcfcd5f4a9f6aeebfb61f3c8f4d7cd9878d15b0025660bf2950fc76188a6bac1a9f7450f15ff6944ec01bfd30726d2def89018def8347ca8a079e2e6e348e3bfcae13cef920e6cd9daf9ff51cde1e57d4dbbafd15d8721d845f947d2edcce69ada9285459132a4c0331567566b47e352e784f91baedb5f686497df0c85b755d79a37152fafe45e9041cfd6ebaf0fe34ae546c6bf8bcb18ebaf127e9c15f843f4fa6951c4f53718b8eeb21bc9edbc678acf689bba1c5e29351c268b6bedcf6e6176f32dbbd3d6d6de887cf6c6d9f2c817900ebd805f45ab6a69f5ef11ae7c5275ae47537a67fd7fb0b80feeffde9849b8ac1634cef57b46baa34513bde6d8a64fcbf38a378d1f986cbd2af5e2f5e625e7a4b7afcaf8a947f2ac7beffb2a4c0b7f49aef0a66db53852dd6d9e9905169f796b4926e4a1b7ed0422b3f9baebe2a8d2b9fe66d1bdb615c54c373c48c93e716cf215e8a7de9b9b4f185e2cfcbcfa75ffd437150b1ca67ad4475a6fc5955e0ea85e9ca6bd326fc8d1c950e3d365d7a7fbaf9abad60f7d7f54cb963acfe56cd2bda2bd6d9a5adeda7cce0cfc9d11f2bd3daa6aadbb68efae007355b8dfaa474fb77d2c3f7863f6bd22de593880a35fd9775abfdf0796ce2b366ec5a012b6005f6a502b5ffc5dd970df4ffacb2e5b7f1b6be622dd8f87e4d32c52f8a832796effe4b73d79dd0278ff4d68dc60be61f815f49cfaf2f6ec1fd08ef224ce9f8b9f84d5eae19879763c36e0d4f2d5e0fe5af9c5ddbb794c4a28b4fc6cbda3d0bef472c56e5174f4f86507933ef9db75afeda4f28508089535bee43ffb22b9e371a3f765e7187f2a5f205e507caa1ed38bda76e7e9a884abb8befac59bd3a2dbd3efcb921adee7548cb6929505e6f4d9feb7047a61829fef29cbacd6d6ec59f2514d8b93d35f5f38fcd7d163576a7bfbc1db732d361f3d2dacbcaa21d756b1ddb7a8dbfe5b51e5a9f8fe84dca6b8fec223a815de5fb0f6246d77fb1ee599d6efa5c5ab9222d392c5df2b5f4ccb369d3f3e9a673d2d529b53e1d726ff9a997583ce0af7fafd4933f7de47bcf6d0f95c3e5fbfebcbde7ecc4ff7fc1cbd6b5eb911f14b332deb47ae1fc74fed1ad3f4bce4be9efd3b662884e5f2e6f7f667b3998a6df6674ba7b79fa93a9e9a451e9c1678bd0822f14b67fd735bed8f2ce6b85c5baa73d7476ee07d7f0cdcb8a9f934317a77beee1d65e56baf5a14ff9d31e7736ea833bf1cbd3b2f3c29f7f567ed6a7a9ff5814ef8fac3e8f654213df7bb73d2b6005acc0be50a0fc7dbb2f0e1ab43356bcf6f6f5d3c74d99fee1f57f7cdc61932717734fb9566c7af3afa74f1b3ff9d88d7f7cf8c193a6e213a658f81dd7c4b7763df0f45f2d39b1982e776ffbf78fbc82c7ab1e78e9ca25c78c3ff898cde78dbfe37763fef4bdb3f05be3add77fd9be5fc07d3df6c94ddb17cf1e7fd0ec33ffec5f9d3061dad4d6af98f68cb2e98d9db3a78f99f5879ffaa3391b261f71ccf4d1bf59a58fd6f6d428d0aae7d337e6a549f3d2e35f49d366a50965ff78dfd6aa5fa4ff382f8d9b9dd67e254d3c3c4d2a6791ddcd3cabe246e315ff354d4591dde93fdd5870d75d97be7c43f141969f5f99eeda90969c528c1a5b5f48abb8a16b8b8f3ee045cd6a9f28f0b7cfa72be6a69396a6c74f4f4fbe99161c99deb3231d53def49a3837ddfd1769fa9cf407e50bb5dfb9b2f8a2c4da7efeed756949439f57e00c5cd1fde98869c5c75f662c283ebe7352836ef182464d48f762f3f674eef591ee8d4f49cf5f9c5e7c36fdafb569d2fbd2e74e2aa2af36bf91a0d7e671333e79d12731d7dcb1e6be5e3c1c0e6839dbe37f6b690f7ee4aaf0b58bed4f872cc7b85659134e49373f98a62d4c73f0b3bbbbd397efac3c2b5db23b1d3437ddff8fe9474fa44f7cba78deb73dd2eb6d85bdcadf9a7efe3769e194f4e89be9beefe3766e3a79719af276f1b6c59b1f49979e92165e9f7ef8f9f4ccabe97d27a6696fa733ca3ba06b7f5d7c51f607fe267dfdac74c4b969fe4169f175e9b1eb136ed6ffd323e9c5f56966f1770cefdfe8f9d44b97d775db37d3158bd3218bd30f9f4a53df8f1701ca66cb11bda99fd6b8be229dfcdee2e32fef39b7f8b8cf9f943f8755dd7057af499fe551170de2cdfac474e1dbfea1b17fe454fbc1a782ea795534b00256c00aec2705babe19b29ffaab3976ed9df76ec74436ea88625edcf5b35ffd0abf86f019e5f4f4df7dffcd1d80b326635edcfdecabc5ddc2e2f74b13df2abd76d596e2f7cfef7fbbeed616f3ff26fc7c133e973c7dea11cb8e9a85d1f3ad37374cbaefb156b0faf0d06debb7a2c2a8438a7971d7a69faf2b6e298e69bd90f6d01d8fbdb5338d3a68eafce38f9f3d7542cfeba7d53aabd383e58beab36717f3e2e30fa6d776171f5fc03f9a72c7a6227bc6ec625efcf573c5878e8beb6ae2db956f2906e0f4e62f7b6e19be774d7a07f7e78e4c9f3db528b575533ae69a7676ed63f9da5e21765cbf6ee81353e935e9f6f5c5983efbc8f4b105e90f26a509e5ff921437a726a493e615f322be5bfdf6efb5fe818fa67e9a78345f54c75a9d3ef97079d087d2dddb1bfb295353f1d5eda3d3c2b969e182f479520d16b7cae62f48572c4d977ea8780a363f974eb8a12135d04547f884f4cce9d38f3c6a51c197df15bfb31c6ae06d2fdc54bd0d5964765a777eb77811189f7a79a492858263a6a4858b8b79111f425ff3994eb721b1fb235f2b3ef87ce88969e9c5e9903169dbb3e98c8f548a06e23353d3cb6f151f103e6f593aefdc74e8f8f4e6af8bf0ca8fa4354f14b2cf3c319d756e9a333d8d2f6fa121f4ad0f26fc9d4157172c4b271d9b2660505e517cea7fe2ace26d9a4b97a5e3a6172f76affa60eaf7752d4f0f973fc9338f2fe6c5a7be9d7e87bf17e33af5537c9537d7f2f485f20d06333f996e3ea3e8bc56b7267d90bfbbf8992bd76fcb8fdd94cf6a933eedd4de8fcdfd37f5d3c4f7ae6bcf0a58012bb0af1518852f118c67ca258876d7ae627600a3052662bab0d5856f2301091bc18e1d3b480230142d434f3df5d437bef18dd821f1d9f34e38ffa077ffeee95ffc7def18f88f1e947efcf4da2e79bc07f28d25274e493baefd9fffbdd74d8534ebab27cc998ccf87feeeb1152ff53ea3ce9bb3e8c3478d7ffb85479f7cb92e3a6fd187674c1eb765f3434ff675d7eacc73d2b913d3bdffa7f5b5852a06fed489e9e1ae796c7cee86e25d83375c9aff036cf86794c16f7829adfa99caf71b34f5c9427ff189e2eeda1be18833e7a7c3cbd7d657570e6deaa789afedb5733fb55b6ac8f9e93f9f5e7e7fe13be907ffad67d4aec9dcfb14fea1e459afa5cb3e5b39e94fd363b7a4ed4fa433be9c3e3e27ddddfe1f9d4a5e4e5cf2cde2797fe5f1745b65cbc7ef49579f9bdefa495a7c56cfae93bf94ce3a3ee19b35575ed543125df2d59426a7372ba5f041ef05efed7dc4d9e9928fa649487eb178f11dabf1bacad2279f9d66cc2950765d4533d3d28357d50cd0486eeaa72cd9cb34d52f8a34ebd3ab44dbe9a04f3ba5e7b1a6ffa6e7b189ef29666405acc0fe5160fdfaf553a64c193d1adffc3ceaa73ffd292c17ba0180c54474da69a7617ad9b66ddbb5d75ebb70e1c23163c6201f365b63c78e058310013173980f5b5d388564ebe0d215660f48503f646845020c780dd59171c017dcde38ebc6b33e70d8ae74dacc99d347a7d75f7de2b007d6b64343fb71c565e9d01de9c3ef4f878d496f3c978ec30bc05ec3498172a4d8da7bbc1bd8f57d775d1af7627a6d7c3afdcc84efad7ffcd3e9739569726095bdab6f059a9ec726beef8aceb0025660ef2ae09171e8bd9771907e22662c9939931f877d6beb8661332f429cf317b4bed765eb6f3d2f0ed20fcb8157a6fdb2f71e7536ffd874c8b1ad0af8b642cf8b7ba4e68036373d8f4dfc800ef1262b6005acc0e028306247c6b55f78229d3431bdf8cada159b0747ca03a4cae5b7a745d3d28627d3aa750748476e635015b8357d6890ee057ef9d3c51b4cf16a75d30bbe83dab78bf556a0e9796ce27befb66705ac8015d8f70a8cd89131ddfadcda41facdbbef9fb54e27aebe7f3fbf09af53738e1d480ae05bb81f3990fa712f56c00a58012b70202b30fc4746bc1db5f609d01b426ba326ad8015b00256c00a58012b6005a4c010fc921df56e6005ac8015b00256c00a58012bb04f1418ca23e39c0b972d5b76e1bc7da2930fb10256c00a58012b6005acc008566088be30bde8a28b4f9f7930bee73acd3e6fd9bf39e78d7b57ded6d7371e8ee027d9976e05ac8015b00256c00a58813d5360488e8c17fdebc533d578f14fa44c28bf257acf94f06e2b6005ac8015b00256c00a58810605347935c40f44faa387155dbffb93fffdf2e27f7ed4fabbbebde6e503b14bf76405ac8015b00256c00a588161a3c0507c2f23fea10aac513367172f4c8f3b6cd83c17be102b6005ac8015b00256c00a1ca00a0cc591f1be4d6fe37b73c6ce3fe54888face6b07a8b26ecb0a58012b6005ac8015b002c34681a13832a63bbf77d7c6adad7f52ebc80bfefce38b86cdd3e10bb10256c00a58012b6005acc081a8c0901c19537af9ce9b567efb89570b45478f3f6af1b24ffdd1bc03515df76405ac8015b00256c00a588161a1c0101d194bed37bf8b87ad6f6c879d7acc0786c5d3e18bb00256c00a58012b6005acc081a8c0501c19e72c5a34a7d0b2786d7af76b1b5eafff07010f44b5dd9315b00256c00a58012b600586a40243f04b76169db678f1ccc567ecd8fa0e141f75e4f1b3f1f0f6e61786a4fc6eda0a58012b6005ac8015b00243418103e22ee3a87245b9c854f922e7c98d5bdedd99468f3d784239efeedeb565e313dfbbf3d1b8ddd80a58012b6005ac8015b002fb4b81a631a67eb0d95f5df6f3dcbd7b9711d2c47e32a518550ea3594edcdec60fddb2eaa1022fba68d9e2991befface9dfe2aefb6347eb40256c00a58012b6005f6b602e3c68d7bf7dde2031571818cae7075bce1e443cbb4eaf013a32ab57fc1de1a1979f1bb77b7de67985d79559a81a8f0e4ea6f3f39907dde6305ac8015b00256c00a5881012b306ddab44d9b3665db41664c9f6e751c8af35235da67c1bd9ab0472f4cc70b5397d91566aed20cac8015b00256c00a58012b301415983e7dfa21871c123b873b63c68cc80c18678353e6aa2c78e17d03063e32567bad32dd5f83f602646bfefcf9ddd771a615b00256c00a58012b6005f6aa0253a64c993b77eecc9933f16234d6e1871f7ef4d14783e4a163c68cc92619b80c090ca0bdeade2a3380b2dd6f19c80bd36c512f3ae3b0fe36cd7c582d16819bb58e67e2d4534f5db76e5dc6dbb50256c00a58012b6005acc0fe520003e2d4a953478f2e6ebd717ad15cf49bdffc06d34bd618071e2667c34f96d9d9cd262595edbc6b50a2fdbecbb827bd76af9132f17c8c1f3ffecc33cf1cf0d5aa5406065cd01bad8015b00256c00a58012b50ab0006c7bbefbe1bd38ba68eda3492c801e8263316617ec644772fe17edc65448b9aa0bbec865a209997d7b49dd168557ff2e4c9471f7d34361e75d4518f3efae833cf3ca3908115b00256c00a58012b60050e100530c66cd8b061cd9a355bb66c9933a7fc3747cacee27843dcd4708c0237a535f103d8d254aa96cfa7404d750499950b80b56bd72e02d89d3b778a210fcb8510802c3377ecd801808590301992dc02bc6ddbb6d75f7f7df3e6cdb11a713c170c9bc11682cce2fa91030b9e5a08d44a63d20a58012b6005ac801518c60a68c622d0abcc70b3a5b72722070b51327461e112e37d8db8c53871e24430228965c78e1dcb2d6080598dc9d1b220a200b24800e6224f8ca72902bab211000f6cf5e32e639707b0e3da698c215844615550bc400c4d9830014f003e9dc431b16a510d8b8326366a76242f8b10b02c3361bdac8015b00256c00a588111a800462e5e356712594d2302cc84d5c4065cbb38f3b1948aab0e81a4669aa2e223c8b6c4d03ec65d8d8c6897c356e7e67855b599b5a15a1548caf244b800223380100e0589270ff322933bb7ca28f2bb49738e15b00256c00a58012b30fc14d0c040200b902d5c3b660690005928ba8c52a8c87323f9188d0c30b7646487fca6cc5a7ecfc9ae46c66e8ec17576332c4a8e281f4985705c64803911b27e1682cb7cce8bb4dd34ec1c2b6005ac8015b0025660242bc011020a689620ae4e1a9c1769abd16a9d984385ab4c3c5715d400776536a665a17de0f63132a2b9da41909d31da94935d58d505c3856a6dd8c354c90ec908219ff322313bb4b50256c00a58012b6005ac40ad021a18086401aaabc3bc584d26c343b328c8c8c4c6c0777015625a96ac2841e76896dca5dbc7c8d865952c2d360acca51cbad92d4344db897d3cf28e634ce25ed6c733da61c6550f0656c00a58012b6005acc0085700b3041520908d330671e7791145aa5b6a9998a9a391495c8d925174ff82018e8cb8bcdac92cf2144b697461ab8a3014f92606bc6e253207161b49524a32c4994588132779f596a5d9b50256c00a58012b600586bd0271601006e8b06a67c75a12ea6575c4505845c58361484c748523885b22bf3770e3c88826fa355165f999abd6c163d125a64b0c5e6415e029614b3144327eea050c5d240b70232cf612ab25032b6005ac8015b0025660042a809180574d204bc04110090420b932b74db7be0a476e0650878c005c9d2e4c4636e33357694da0bff94d75c8378e8c9db7298a6eb2392cf6a728f281e912b3024945e93659a4691c640e5d6d674d3e97e80af322b00744ca626b05ac8015b00256c00a4405304bd02590e58c01cb89426e0459287363668671229978742411a5ab0432726394e4beb1fd1b19d1749cc03297d71013780d488b99c0ccac05456addc293c15b860a8a6135b8381a0b693c170c005cf2c000b211007b59012b6005ac8015b002234a014c14bc5e0259008e10005c70dbb0e7b14a56999eecde08e7922090ec22c51080efcc5413b2fc3d77fb3132a21b8e5cb5a7f22295c0e44812632f4166b13163e042fa2a0f920d7082640e9838296297161214424df0ea3f73c51b58012b6005ac8015b002c35b01cc00ba4060b900981c4aa2c62014a37423a33db5244e544204e2d9124324c964092223c0aee80e3aeec7c8989d8dcee2f8a5a8f8088861b190292b40b208d72de88eb31001e0a4c82cbadccb1ca465032237b255ee25c62e8600bcac8015b00256c00a588191a60066095e32010609b81c3068e5221479e08c912b90e5c7822a2b10a3c0e019ca005d59658ad9aba0db91116d69d28a0da9dd2cca7c58026da15bd2add991181639c2501c2e473a608e7a11b0a0c647b89a1491868d5c4c4359b8c03c85386e619aad15b00256c00a58012b307214e0b081ebd51012b1669208b085bb4012c332a116888c45887916b00e05e08a096dae5788bbb210dc26be9a3900261f19719826aaa6724d39e209e4f21ae072b16cdbeb79c4b93d4e1b41ebeabc2886a5b01169c000588c12cbea50a64597d8d60a58012b6005ac801518510a60d6e0f50ac06d0f203d8f2035f9451031b3ab4c4f95f66818196035209e0c3b918d4009042a92f1d1ed2627e6d7e27c644412ea62d2aacdee93644fd8ae2264320b375b5099bbc00b67002e1ac04498016c240980851c5a942a8996893c2f8469c4b656c00a58012b6005acc08852007342bc5ebab05a881263f010492c5b05d996ea5e9512e041998d2e32e10e6cedc9de7862cdc818c3c038298e5672fb046c11560075e8caa23ea4e47d419104e0910f8b1c4e844c637ee4d91ea2ec16160c49025af2b05acc916b6005ac8015b00256c00a8c1c05306fc48ba51ba7114435931063fcc012491c19848a8c32873616d44655563463e8ca7609901633e90e96ed7b648c27e1c2b2314b8c40359f2158846023c8305ce88b2360392602471215343e22872e8b0023198b15881122806502ac1649b90656c00a58012b6005acc0c85140f3032f992e2c17c836ec79c48c818510010200b402cc8e2e714f9580740a4166e1c6857d740514ad320a0d16e8dfc8a853d119e62d5a901960dfb48cd2d632ac83100405c6220043127bb33111392201b885a0d81f56248961b590286c6005ac8015b00256c00a8c28053066c4eba55b0c1fe542a80d7b1e35fc11c00a20499880db80594a645639bac4b00228225c058c16d97b7f0d70648c8da1dd387bd1954526a2bc249111004344e610600bf5e55e61bab09c20e5622f965c442343cc04e4282d8292b6b10256c00a58012b60054690021c4e70c102c470b9e472140109c010816c04555cdd98d5d741e085096401b898d3f6f6dd63a791113dc549ab73534cd696e802cb25ae5ae88bb3c003ecdcb993000c5c0e8811a31336264b10f918aa46792de23b5f9aa356c00a58012b6005acc0f05300c3062f8a20bac074093805229900244137b6ba8b35ab1699240964051005ee72f52bb99b9a9d46c6dafde84093963041b4d81b5d60320071416b5603494c803111f960d80372b8e002542d49f104ad3d75f948f0b20256c00a58012b6005ac0014c0ec51b51a5710e26828c059a5b3e516e508f02045c16b557b00d3998c09c47bcf763532e262349375d30af291862d04dc2e8c10b05ca8864ccc886080599fc73104ab1b8d2c5bb53c0b360260669674cfa0c9235444ae8115b00256c00a58012b30d0d9710700000cab494441547214e028a2ebd56402906132d16238815bb519491769cc940b8073612368c2eab01bc022dd64f637a7ab919145d104873082ccb2454e6cc827603e5c44b1480288110009359500ac1b8d2a4250b5288264f0d9024f8620b370bdac8015b00256c00a58012ba0c90452084700ac851105691c016b2d49e637615513e0d170f574103341519164642300de1bab1f236337c7e34a30a531335e24c8aa0b1de3db169103269e126f2e82676596e240492c86090ac12523c0e22455309e686c05ac8015b00256c00a8c1005387ee1620588e9726e21e67c021c4740ba62086009142503cbe28c020b20534b0d9081cb05b70df7dbe3004746b4cec18bd7004c465609b832602c026452350c762081059000cc684c032f1218212c56433e5d5854231688c9dc420b9e21025b2b6005ac8015b0025660642ac0f984d74e2c1b017075613801492b105d256440c90488a201602d3d1764188d163c7304b465ef81fe8d8ce84cc359b5a71815d6257123af0d362e8ac54c4e8d48c622032012bb382612d0224db323316c59a0f5fec5588a21582d45c51858012b6005ac8015b002c35801cc0ff1eae88a04201688531d312ca2b4110823c4a86c49b44856ce2c5a8a0cddccc6b689b14539d5e82032f523238ee7205505f16c46a3cda274510a39587061e5024339907c79bac8281718f09ae408301422480c8b05572443e20150846e04c0743340d7d60a58012b6005ac801518390a6078e0c50ac005a69b01bad16256914b8ced00c402ca21883962628e7a00091c1799686314585baa20cb1c805b3f32f65908ad702c63265df5a7edc801491e36ba909215c00363f883e54662d5571a78248c1933060c302c6b0260314a4c8be408e8f2085a44a36b6c05ac8015b00256c00a8c1c05389fe87ae9ca46004c17b30ab12c191401432cab64002ee5703b48d5618526973c73d470d58da141c7fd1e19d134272d816a4f0cf1f2901c5d2443208e77e0e9328798d598804cb88c82413e2c4f8f8323182c9ec27c32b074330b978b096dcf8f56c00a58012b6005acc008528073882e986e66e17221ad0d5b8f1cf8c4d3a5454604c0726388856288d554532e4075613b49816ace2032fd1e19b3b3d1a5c635751c19628694c05dd088232000cac631112e3682c168a8315165c57070049f2d6e07499059b85c4c687b7eb40256c00a58012b60054690021a4b78cd7156118e00382eeca21b673e620e36c24a00c0e2468158939809d1d6f248d897abef91115d761ead9810ad2e805788ed8c421d4e7b94093803c814c95d7485018809609180e238510c805c02d908320cd7cb0a58012b6005ac801518390a707ee0f50a13c846004c175b30c0d08d3692c20499950b806a2822405707c5f64866212644db67424cee1ef73d32aa163ae03446860d4526f2c488aa6f68c1f14e8021b82c429e36bbb988042c36408c52042c02172712830766944016a00366d4d60a58012b6005ac801518f60a7066e065563119580165625001660816ae7004e4992ccc84b805a5e80a30271e01066eb69426be364dd13d07fd181975187ae258161962f0ec982073753104d088a31e07446030ac0c1b31dc6cb1079174d1031902b514dd0c33c7d60a58012b6005ac801518b10a683e8102c462e44600dce7e220c834618088ab45d800f8d8895ce6674f13a319b937dcc691111d60fce291c2196097310df970c16311642e0b422f0e8b112004121b59041be1eadd8ac060b494230640244166e5027859012b6005ac8015b00256202ac009040c4166e502c4c57c319a08c10b03d08d0cb78881ab520499cb0490192f26034c233928b67164ecbe3aae81e35adc122f0c5128c21951396222c02ea481e12048175b00b04866165130b0accfa8488668450270896f137eb40256c00a58012b6005468a02182de2a5ca25c82c5d8c28d8a210407531019931145d61016582e17631b1436284aae43e60ba1d19d11f072c01f51d795e0698ec7aaa0cb64317ce79004800d67662ee82c512838d64328bfb916c493c33451244528c8115b00256c00a58012b30621588438b30012c97c46913bd1e11850f9b4d8162380bc668c4aac53a725993ae8e880038bacc2739e8b6db91b17a30dac270a64681c9b05dbad55d1903bd38358207c62e5a96d298a8e200116317195aba6a8c6721d404c8db5a012b6005ac8015b0022359018e2e50a00a443204abc5105c018548d60e85cce910ca8ad08d6db0b818807db33a8d8ce849f356bfbae1c5702f8be8f2aa7538236a3ae404a9a3631162582d5403a61588a47004c05e56c00a58012b6005ac8015c814d0b842506b33122e174a6580732179e13e8745e6b33115a4db2f8bbdfdcaef33b9d3c8d8b4194d703e8b00c920c5702f5dd9a682e039380ab0be3efb02970b0919804b1296800cb16c04c05cca6c137eb40256c00a58012b6005468a02984fb24b154310dd88b10b2e97b0403b527ff751d15ac022b2005c4806e096c89024b3b76d3f464634aa192be2ac458660c1239f20c3d916b8dc156f31622f9642746199c9824c908d511dc128f345122894f176ad8015b00256c00a588161af8046145da9180186e8c20a80af752349ac2dbad1283e03aaa92d02ea30034c2019719636286e1f23238eef3c5729818d3299a41802b48ba8b0ba0783499121de6b8c4580e5b20219586c64483c6b9294e589ccd7a10656c00a58012b6005ac8015a82aa04185205a24c325432c26e3e93253582ea69d6ca3424c5654a7442692c0b58b056b4303267ba6aea6121acb98105de10822c616b86408324c5269d528435942e66a17782e32c0d590c856aa1fac8015b00256c00a588191ad4036606980a32a311a43c05c4a930b00b2152e1fa21b71dc9261a6c112202a9c012690ac8622bf27b8ef9111d53581f124b9023107a4788292e8f9904a9f644cd05e1e1143b119f1ea840c73646b49450dac8015b00256c00a588111ab8066b2a800c9268b4c8414251059467acd8e31242c90d5c9aa218d9904112b93a1cc55fe1e823e5e98ee5c1d3dd50e6119cfd691a96b1016c04155cc3ae01985552932dc12372a33ee12a906c08824b6b50256c00a58012b6005469402d954c06b174910adc41129a0bd6208c00370d5e226920519158e0035a3bb0f70fdcc971dccf12b929111ce40d525230b208ce274ab0ccf6554696a26cb6782a2024c934b504b663976ad8015b00256c00a588161a940edd4d58164285aca02462401f8926bdd6294abb40e0c43b002b166e4abb88921bf87b6ab91116764d355932b9ea0ea4606986e043c4b7c7479a9d564f28a728b48968a51850cac8015b00256c00a58012b40053499c1ade2c82881242c81ead09515e046b900c419af3ae4a31b998caf75490e8aed7664c46171f6cadc181226a875150210564d3104551e4c46ca8da0482a97eab4893ef82ccdae15b00256c00a58012b30fc14d0b8965d5a951793815a3792c4b516642dcf6662080cdd18aae22c8d098368073e32a289388ad562920a451043c099cb2bcc789d1893a50549e544c01c25688b8115b00256c00a58012b6005a4409ccc40caad026e211fad7681241f1962f2b2595a962f17a003ae46c90ca2dda38fbfc43e70c19ac984a50243190f5209b11431a3dca28d0c71978e138851152190cd92c51b58012b6005ac8015b002235681ea405265200e498504b290f8982f1ca311537c302255562182fd627be6bc6e8eafce5b1913dd0ccbcd407489ab0c7b8b3c18b959340b65694cb6b50256c00a58012b6005ac4093025d0e6d4c53b200ca02cb2528895edfad982564bbe8aa432593c9dc2c59bb0611f46f64c4c1d5092c63a25bc5622210667dba19593d3a4b8bf999404da1263edb6ed70a58012b6005ac8015187e0a54a72e5e63138fa8420472e3c6482a2d23e566406e3c2bc355b7960139b8abdf23238eaf4e5a19d3e4925754803533570755798500b49426500d8931b00256c00a58012b6005ac40ad02716e638218016d1423801071b4aa534dcbf2e5724b9f6e35411b07170ccec8889eb241ad83cb90120454a4031343ca8f00385bd9962c6ad70a58012b6005ac8015b002990271b06b0a65397209e4627b13d339c473631de533249be5881f5c309091111dd4ce61553232555c65786de205e289b5a44489d1ac9a720cac8015b00256c00a58012bd04181ea10d699515400c585052229dc391a9b8c99e26b494507110c70644407d5e1ac96ccd2a24b5c6574790a095443d9a1d54c6dc940f799d946bb56c00a58012b6005acc0f050a0fb792b6636616aa2a840c6c365282644ac046eac6e179fed12bf37c0c0474674533b7555c98ca9756bc978c14a1088d1da669a32b5b1cf04651a58012b6005ac8015b002c34c813ee7ad6a4295a126e205a455c6d0ad259bb680cff2b343b571af823d1a19d159d3d455e533a6c96de23315625ac4595ae6769f996db46b05ac8015b00256c00a0c6f056ac7b2da4b8e9911c7e48c972bc0e4ce2e72b2041dd1c42b61d0c1ff074c69b2a377b46dcc0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Yeoman is a workflow comprised of a collection of tools and best practices for helping you develop more efficiently. It\u8217's comprised of yo (a scaffolding tool), {\field{\*\fldinst{HYPERLINK "http://gruntjs.com"}}{\fldrslt{\ul
+Grunt
+}}}
+(a build tool) and {\field{\*\fldinst{HYPERLINK "http://bower.io"}}{\fldrslt{\ul
+Bower
+}}}
+ (a client-side package manager).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Where Grunt-BBB focuses on offering an opionated start for Backbone projects, Yeoman allows you to scaffold apps using Backbone (or other frameworks), get Backbone plugins directly from the command-line and compile your CoffeeScript, Sass or other abstractions without additional effort.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000003860000027b0802000000306a182900001819694343504943432050726f66696c6500005809ad796758144db376cf266059969c73ce3983e49c734660c939675424882425082849041104110c241113820822820a180009822415545004e4cc2a3ecffb5ee73bffbeb9ae99b9b7faeeeaeaaa9e9ea95a00585a09e1e1c1082a004242a323ad0db4b91c9d9cb948a60012d0032ca00080e01515ae6569690afecf636b1c40c4c617e2445dff27edffdd40eded13e505006409377b7a477985c0b8150064a7577864340068a23ebeb8e87022ce87315d246c208c6b89d8ef0fee2462cf3f78e837c7d65a07e6cc00408a231022fd00a05883e55cb15e7eb01e3c0e000c4da8774028dc8d0bc6ea5efe046f00583c608e5848481811e7c258c8f33ff4f8fd0726103cffd14920f8fd83ffcc05ee090fac1b10151e4c48f8fde3ffe725243806f6d7ef8303bee2a2826c4ce03b03ecb7782f829e0d8c99607cdadfc7c8f4405e171ead6d7d20ef0e8836b285311dcc79e91f63687780976282ecb460cc06cb7783c24c887cd84f08a6504f730b18d3c098cf2b4a07f63d712c8442a2bfadc301c7d4db47570fc6f02a4238468659ffe5fb47c5dafc952726faeb98ffe507128c89f1c6c3fc6c42248c7edb8338e7136c401c9707963785475b12ed248e351c1a6c7e3017c47bdf487d228728ffe913f57bbe44dbfca3fd6d0d61396c33922a3ad296c881e78864f30dd03782316c1b52ca3fd2f0af5c333cf8f79a86fb226d2363ac897ee083b1af4fa81dd1874479b6374197e85bd827c80aa00f082012f8004f100a96011730053a40f7e0ca05cb436199170803c1f019c945f9b705bd881e45cfa1c7d033e8d77f6570cf031e0800de30fea3eb3ffac3721b90083ec25a7d40d4dfd1502c2875942aca14be6ac2a70c4a09a5fcb76d78ad63ed2f3eb0d50fee2b7ea05bfbc0fa5858e3de5f9e7b406ae45f7cd0c7f39f1effdb267df01ef680df5f86d415a965a9ddbffdff9d31460fa38b31c4e863849199c89bc87ee403e400b21bd901b890f7909dc821e41d223eb0ebef28045842f40ad1c351c004f6a20f88f9fd2bf4ef78ffe5a5987f18071af0227879600df70a0541705bc03f23d8ffb63ae07f698981199ef0888130d7e49f781cd8851280bd2b8fd246a9c17e867d8c6240b10071941cec712d94061c037958fa6f14ff7b36e2c0f7b7b7637fcf25082cc2f30889f6898f86d712d0090b4f880cf0f38fe6d282774b1f312ea3502f09312e1929695940dc7b891c00be5affde53218667ffca7c96003804af63b2917f6581670068ec038031fb5f99800b00cc62005c7fee151319fb471f8a7843c33b3a25fc5430030ec00b84608fc80005a00a34811e300616c016380137780dfb8310d8e2387004a4800c9003f24131280355e022b80cae821ba003748307e011780246c018780b66c0025805eb600bec401044025140b41033c409f143a2900ca404a9437a9029640d39411e901f140ac54047a03428072a84caa06aa801ba0edd821e4003d028f41a9a8596a12fd04f04128143d021d8110208498412420b6182b0451c46f8212210898874c469c439440da209d18e788078821843cc2056119b488024473220b991e24825a40ed202e98cf44546228f21b39125c81a6433b20b5e8b2f9033c835e4360a83a24571a1c4e1481aa2ec505ea808d431542eaa0c7519d58eea45bd40cda2d651bfd0146836b4285a056d847644fba1e3d019e812741dba0ddd073fcf0be82d0c06c38011c428c2abdd09138849c2e4622a312d98fb9851cc3c6693848484994494448dc4828440124d9241524ad244728fe439c902c90f5272524e5219527d5267d250d254d212d246d2bba4cf493f90ee905191f193a990599079932590e591d59275913d235b20dbc1526305b16a585b6c2036057b0edb8cedc34e62bf929393f3902b935b9107901f273f477e8dfc31f92cf9368e062782d3c1b9e26270a771f5b8fbb8d7b8af14141402149a14ce14d114a7291a281e524c53fcc0d3e225f046786f7c32be1cdf8e7f8eff444946c94fa945e946994859427993f219e51a15199500950e1581ea185539d52daa09aa4d6a5a6a696a0bea10ea5cea46ea01ea251a121a011a3d1a6f9a749a8b340f69e66991b4bcb43ab45eb469b4b5b47db40b74183a413a23ba40ba1cbaab74c374ebf434f472f4f6f4f1f4e5f477e86718900c020c460cc10c790c3718c6197e32b2336a31fa30663136333e67fccec4caa4c9e4c394cdd4c234c6f493998b598f3988b980b983798a05c522c262c512c7729ea58f658d958e5595d58b359bf506eb1b36049b089b355b12db45b621b64d760e7603f670f652f687ec6b1c0c1c9a1c811c451c773996396939d53903388b38ef71ae70d173697105739de3eae55ae766e336e48ee1aee61ee6dee111e4b1e349e569e199e2c5f22af1faf216f1f6f0aef371f299f11de1bbc2f7869f8c5f89df9fff2c7f3fff77014101078193021d024b824c8246828982570427852884348422846a845e0a6384958483842b8547441022f222fe22e522cf4411a20aa201a295a2a362683165b150b11ab109719cb89678acf815f159090609538954890e894f927c92ce920592fd92bfa4e4a582a56aa5de4ad3481b4ba74a77497f911191f192299779294b21ab2f9b2cdb29bb21272ae723775eee953cadbc99fc49f91ef93d0545854885668565453e450fc50ac509253a254ba55ca5c7ca68656de564e56ee56d15059568951b2a9f55c55583541b55970e091ef239547b685e8d478da056ad36a3cea5eea17e417d46835b83a051a331a7c9abe9ad59a7f9414b582b50ab49eb93b69476a4769bf6771d159da33af77591ba06bad9bac37a347a767a657ad3fa3cfa7efa57f4d70de40d920cee1ba20d4d0c0b0c278cd88dbc8c1a8cd68d158d8f1af79ae04c6c4cca4ce64c454c234dbbcc1066c66667cc26cdf9cd43cd3b2c808591c5198b294b41cb08cbdb56182b4bab72ab456b69eb23d6fd36b436ee368d365bb6dab679b66fed84ec62ec7aec29ed5ded1becbf3be83a143acc384a3a1e757ce2c4e214e0d4e94ce26cef5ce7bce9a2e752ecb2e02aef9ae13a7e58f070fce1013716b760b73bee94ee04f79b1e680f078f468f5d8205a186b0e969e459e1b9eea5e375d66bd55bd3bbc87bd947cda7d0e783af9a6fa1ef929f9adf19bf657f0dff12ffb5009d80b2808d40c3c0aac0ef411641f541fbc10ec12d21a4211e21b742694283427bc338c2e2c346c345c333c2672254228a23d6234d22eba2a0a8c3519dd174f047ee508c50cc8998d958f5d8f2d81f71f67137e3a9e343e387124412b2123e24ea275e4a42257925f51ce13e927264f6a8d6d1ea63d031cf633dc9bcc9e9c90bc70d8e5f4ec1a604a53c4d954a2d4cfd96e690d695ce9e7e3c7dfe84c1892b19f88cc88c8993aa27ab3251990199c359b259a559bfb2bdb30773a4724a727673bd72074f499f3a776affb4efe9e13c85bcf3f998fcd0fcf1028d82cb85d4858985f367ccceb417711565177d2b762f1e28912ba93a8b3d1b7376e69ce9b9ce52bed2fcd2dd32ffb2b172edf2960ab68aac8aef95de95cfcf6b9e6fae62afcaa9fa7921e0c2ab6a83eaf61a819a928b988bb117176bed6bfb2f295d6aa863a9cba9dbab0fad9fb96c7db9b741b1a1a191ad31ef0ae24acc95e526d7a691abba573b9bc59bab5b185a72ae816b31d756ae7b5c1fbf6172a3e7a6d2cde656fed68a36dab6ec76a83da17dbdc3bf63a6d3a973f496f1ad9e2ed5aeb6db12b7ebbbb9bbcbefd0dfc9bb8bbd9b7e77ff5ee2bdcdfbe1f7d71ef83d98ef71ef79fbd0f1e1cb5eabdee13e93bec78ff41f3decd7eabff758ed71f780cac0ad41a5c18e270a4fda87e487da9eca3f6d1b56186e7fa6f8ac734479a46bf4d0e8dde71acf1fbcd07df1e8a5d1cb2763e663a3e376e3af265c27665e79bf5a7a1dfc7ae34dec9b9db7c727d193d953545325d36cd335ef84dfb5cc28ccdc99d59d1d9ab3997b3bef35bffa3eeafdee42fa22c562c907ce0f0d4b324bddcbfacb232b2e2b0babe1ab3b6b191fa93f567c12fad4fa59f3f3d0bae3fac246e4c6fe97dcafcc5febbfc97debd9b4dc9cde0ad9daf99efd83f9c7e56da5edfe9f0e3f3fecc4ed92ec9edb13deebfa65f26b723f647f3f9c1049f8fd2d8084af085f5f00bed4c379911300b4230060f17f72a3df0cf87317823930b687f4105a482514131a8b2125912275224bc3dec3612808f80e2a2c7530cd209d3c7d0523600a621e665560cb675fe5d4e4cae31ee5c5f229f33b0904098608b90a6b8bb08b6c883e122b150f925093a4907c27d5227d5cc64a965bf6a3dc2df9130a568a6c8a0b4acdcaf12a5aaa58d517872ad4bcd5c5d4bf6874681ed1d2d6c669bfd3b9abdba857a95f6070cc9060a461cc64bc613264da6c56695e6dd16d396f8db661b665b1a3b247daef3aec3801673217bc2bc561d4e14db739f7118ffb849b9e755ea5ded93e09be7e7eb6feda0172812241dcc1cc2194a1c8d06f6173e12311b7236ba34e4727c764c4b6c5a3127c12ef1f0147058ea9241b1d774989493d9d569c9e7442eec47c46de49cb4cfe2cf26c9083c8a53e25745a3dcf3cdfa1c0b9d0f98c63917db16d89d559f37326a50665dae5ea15ca95b2e7c5ab442e48559bd4a45d9cb96454d754bfda40ddc87f45ba49f5aa6eb3598bc335f7ebfe37c26fc6b51e6b4b6d3fd191d999732bafabf8764577dd9dd6bb7df726eecf3c18ef6979e8dbcbd4fbb8afe4515cbfefe3c3030e83564f4c860c9e1a0edb3e8b18b930fafa05f94bc9319d71a309bd574aaff9dfe0df6cbf5d9a7c35f560fae2bbb419bf59bb39f379b3f7160b168bc61f949718976696b357e45666562faf257e34fc44faa9e1b3c1e7f9f58b1bf15fdcbe5a7c33db0cdceaf971f267c79eeefefe41fca59128e4326a063d8f592745922960fdc92b70337811ca38aa4734ccb409742f1964185399a658e45933d8463858381db90ab8bb79267937f9b6f857049e0a5e148a145617211579295a2516282e2ffe4be291e4692907694ee90f32cdb2b1726af2907c9f42b6a28512add2b872a98a8b2abbea24bc0a5cd599d52734ce6aba680968ed688fe95cd7cdd5f3d13f64406db068d86d546c1c6be263ea69e66f1e661162e9696561ad6a2362cb6a87b747d86f397c701c777ae8dcec52ee9a7d38d12dc0ddd1439720e9c9e40579ad788ff9f4fab6f9d5f99704a407860539056b86088652c02b61367c3ae25b1477b47b4c69ec83b857f1f3096b89db47c88f721c134ae63a8e39fe2ea52d352f2d32dded845d86e3c980ccb4accaecab396db9eda75a4f5fcfbb9adf5070a9f0c299f2a2e2e2bc92acb3a9e7124ac3cafcca032a8e57deab12be70b946f06261ed8b4bdbf5f8cb2c0dbc8d22f03a50bcaadeacdb6276cde97af08d8c9b175befb68db64f772c757eed42de66ec16bda37a57f39ee27dee078807733dfd0fdb7aebfbca1fe5f79f789c38103918fd246ba87b98e1d9d191a9e72c2f345eda8ef98e1f9fb8f4ead9eb6f6f6926c5a74ca7c3df9d9db93dfb7c6e7a7eeefdea221a8e7ecaf2e82af59ad447f94f029f293fff585fdc98f832f8f5d6b7eacde42dfbef82dfb77e746f27fe54ddc1edeaee2d1fc45f025a455422dd50c26812f40666996485748e6c831c8be3a7d0c23b53a65035518fd2ecd3f1d3eb3104329e60aa626e65e9637dccf688fd364735673c9736d74fee5a1e139e55de4c3e41be1e7e37fe6d81224129c141213f6112e17a1143910fa2196242627de25e1240a252f290e42ba918f8eba645c6546649364d8e43ae53de5a7e4de18422a76207fcd5b2a49cacc2a07245554bf5f921af439fd492d449d4cb35e434c63513b538b43ab52db45febf8ebecebd6e859ea93e93f3438622867b8625463ec6ac264326e5a6c66634e693e609166a96af9cdaac53ac846d0e6bd6db5dd617b66fb970e798e868efb4e6dcec12e7c2e53ae2587cd0f6fb915b9f3bbb77a6879bc21c47bf278be82f7117f1f035f453f657fa30042604810215823842a6432f4525848b87cf86ec4c3c8ec28cb68fae8b73155b1de7102718bf1e713f41226138393e8925e1cb97df4eeb1dee487c76fa534a496a4a5a5879d70c9d03b299289ce7c99559aed9cc397b3933b73eae9e95b7917f28f15b814aa9c6139b35d345e7ca3e4ecd953e70a4babcb6e963faa7855b9727ee7024535578dec45c35ad74b6175c7eab32ee7361c6f245c516cc2377db9fab179fb1aee3ac70d999b96ad496daded3f3a956f857795debed6dd79e7f6dd817b9b0f0c7a6ef5daf46df6970cc80ebe1c3a35ec3162f45ceba5f678f06bfce4eadcf0cae6b76d62fcffd4c888ef048c020067520070cc00c04e0380825e0004c6e0bc130b80255c25b4550608015f80c00d014865f69ff70704d71131801c50c335294e2008a4800a5c33b100ce70861c05679779e03c680677c133300bbec199231b240d1940ee501c540035418fa14504062184304544212ae13c6f1fceeb6291b790bf5006a833a839b42c3a13fd0ea38229c5ecc019d620a922693d192b5901961c9b458e25cfc7b1e0ea29e428baf16af82e4a25cadb5486546fa9a369a868aed2ead28ed2d9d28dd25bd03f677067f8c158caa4c634cd7c948595a58bd58d8d8cad9b3d96438ee32be70dae486e79ee5d9e7ede123e7ffe4302788119c19b4299c29e225aa2026278b11df14f12ef25c7a4daa49364a465a66533e5e4e53ecb772a142a2628792b9baa48a9321ec2ab49a8976b8a6a9dd21ed0f9ac47aa4f6fc06cc866c4672c67626e1a6176cebcd7e28b15afb583cd69db7e7b9483ae6386d3900b83abe7e146b7f71e1802b527c673d36bc17bd267c58fd2df24a038f043f0a190a2d04fe1c6118d51b8e888983771faf19d89e2497547b98e951f67482948c3a6a79cd83c1998b99a9d931b72baad80fa0c4bd1c7928673ee650ce52395a7aa0c2e6cd6e4d5d25dcaacdbba1cd4f0e54afe55bd16ea6b1b37165b97da573b3f74cd776fdc637ca0f3d0adcfa3df6640e389e453e1670aa3a12f7e4ca0de904d56bda39dbdbb805f3ab2aaf5b1e5f3ce17856ffa5bd8efa77e0c6e2ffd5cd879bddbba97ffcb735feaf7fe418c3f095c93a3816b0edc4004c802356008d7193ce00a4312c802a5a001dc82eb0853601d42432c90d4efe8274045d0356818fa88a044c8229c1169881b88052427d21d598b5c4329a0d251636861740a7a128e7d390920f1271923d523ed2493246bc40a639bc8e5c8efe12c71f314f178327c312537e535387f7d4b1d47c340d3416b4ffb91ee283d96fe1c8338c32063181323d37de600163a96fbac616c7c6c93eca51c8e9c4c9cafb92ab9bd79a47801ef4bbe2bfce902ae8272702eb7223c2472137e8be589a7491c918c96f292d694c1c90ccb66cb99c833ca6f28bc56ec576a57ae51c9554d3c14ab96a5dea9f15d4b56db5b2747b74eaf5dffb6c16dc33b4603c6b3a6083311737b8b13961d566b367cb6ee7695f6d38e3c4e81ceedae24871ddccadcfb3c46093d9e0d5e99de013ed6be867e4efea901f78328823d43bac358c21323a6a2b4a31b6229e3c2e39f247227c51e1939269f5c9bc29a5a948e3d9194b19649c89acb493c259587c89f2abc5e145b2277f64be9f5f2984a95f33f2fd4d5c85cacacfd502758ef7ff95a23e3958aab6acd1faf95de50be39dc4668dfe9ace9b2ea06771aee99dedfe8a9eaf57ca4f2987b10f5e4e9d3d8679891ece7b8173563ee1366af83dfd64f7d98e19cb37c9fb27877997135ff93c0fad3af455bb9db463b32bbe7f7deffda38883f0a90c1b5572638faa270ad490758c215a61070147ef2ab412b780ca6e1e71e0709409ad06128092a87ee40b3083238ea0444316204498ff441de41b1a18ea356d04ee8a7181dcc1db89ef280d494748a2c0a4b89bd466e8f43e23a2822f0d2f81f947d54a5d431344eb44674c6f4560cc68c8a4cc2ccf22ceeac096cd1ec9e1cb69ce65c66dc663ca6bc667cd6fcee025182a7841a851f8b2c8b51882b4af84a96498dcbb0c87acbb5c8ef285a2a3d55c93ae4a48ed6c8d7dcd536d1498323d8a1df6d70d770d868c7c4c4b4dd5cc2a2c94ac2badd56c76edc21c409ebdce46aef46ed41eee9eeede2f3de4fd53f276031c83a7828d42cec79844be45274522c47dc74c2a3a4fb472b93ed8eff4cad4eb7cfe03cb99e752727f7946f9e410173e19322dfe2adb369a5d46535150a954fab7caba19a8a5aa54b63f5310dac8d8f9b929b0dae49ded06f4d6eafe9cceb72ea66bc3371affc81d34392de4b8fe4fa6f0fe80d4e0cc50f4b8e2047d75f2c8d8d4e14bc167c53f9f6d794de74f6bb27b3947376f317de2f2f4a7f085abab0fc7865650dfd91ed93d467dd75870dc217efaf96df78be6d6e9eda62db6afcaefcbdecfbf60f871feddb0cdb91dbeddb3b3f357fa6ff1cd8c1efd8ec9cdd19d925ddd5dc8ddfbdbebbbcc7bde7b457b837b8b7f74bfa97f7afb3bf9efcfab52fbdefb37f6e7f8818ff285f5919e2db0340386db8fc38bdbfff550000924200f60af6f7776af6f7f72ec2c9c62400f783fffcef422463e01a67c53a110d7297136fff75fc0fedd8b8677c4c06930000019d69545874584d4c3a636f6d2e61646f62652e786d7000000000003c783a786d706d65746120786d6c6e733a783d2261646f62653a6e733a6d6574612f2220783a786d70746b3d22584d5020436f726520352e312e32223e0a2020203c7264663a52444620786d6c6e733a7264663d22687474703a2f2f7777772e77332e6f72672f313939392f30322f32322d7264662d73796e7461782d6e7323223e0a2020202020203c7264663a4465736372697074696f6e207264663a61626f75743d22220a202020202020202020202020786d6c6e733a657869663d22687474703a2f2f6e732e61646f62652e636f6d2f657869662f312e302f223e0a2020202020202020203c657869663a506978656c5844696d656e73696f6e3e3930323c2f657869663a506978656c5844696d656e73696f6e3e0a2020202020202020203c657869663a506978656c5944696d656e73696f6e3e3633353c2f657869663a506978656c5944696d656e73696f6e3e0a2020202020203c2f7264663a4465736372697074696f6e3e0a2020203c2f7264663a5244463e0a3c2f783a786d706d6574613e0a4a1b829f00004000494441547801ec7d079c54d5f5ff9999edbdb3bb2cb0c052a413b0204511c408a84424b1451395fc89c682b1246a122cd15fc412bb8912bb623036b083288a8882881401e92c7da9dbcbecfcbff77d772f8f37f3669765172cf77ef85cbef77bcf39f7bcefbbefcdd93733bb9e402020a619058c024601a38051c0286014300a18058e9e02dea3b7b459d9286014300a18058c024601a38051c028a0143025a9d9074601a38051c0286014300a18058c0247590153921ee5136096370a18058c024601a38051c02860143025a9d9034601a38051c0286014300a18058c0247590153921ee5136096370a18058c024601a38051c02860143025a9d9034601a38051c0286014300a18058c0247590153921ee5136096370a18058c024601a38051c02860143025a9d9034601a38051c0286014300a18058c0247590153921ee5136096370a18058c024601a38051c02860143025a9d9034601a38051c0286014300a18058c0247590153921ee5136096370a18058c024601a38051c02860143025a9d9034601a38051c0286014300a18058c0247590153921ee5136096370a18058c024601a38051c02860143025a9d9034601a38051c0286014300a18058c0247590153921ee5136096370a18058c024601a38051c02860143025a9d9034601a38051c0286014300a18058c0247598188a3bcfe11593e10081c9175cc224601a38051c0286014300a18051aa580c7e36994dd4fc6c8f3032dd77ea069ff64f6953950a38051c0286014300a18059a4d819f42fdfa7d2f494de9d96cdbd904320a18058c024601a38051e0c7a5c08fa954fdde95a4cd5b83366fb41fd73636476314300a18058c024601a3c05156a0796bcae68d7684a5f9be94a44dab1d9be675842536cb19058c024601a38051c0286014689a024dab329be6d5b40c9bcbeb2897a48daf291b6f195e9ae68a137e15336b14300a18058c024601a38051c0a14073558a8d8fd3784b47aa477e78744ad2c6d4858db1b1eb75a8f6765f838d024601a38051c0286014300a7c4f1438d43ab231f68db139ba877f444bd2c6548d0dda3468e02668931ddd021ade286014300a18058c024601a3c0a12ad0e4eab041c7060d906a636c0ef5889ac5fe0895a40d9683e10dc2cf5288c6d8348b64268851c0286014300a18058c0246819653a0315563789bf0b3c8bc4183963b3ab7c82d5e92365829ba19b8f13c92f0b3f6a36dbca5ddcb60a38051c0286014300a18058c022daa40e3ebc2f0966eb36ebc3ea8060db4e511002d5b92862907dda60e95a74621bd4292474053b38451c0286014300a18058c024681462a10b22e0c49ea806eb387ca23a09b8b5eeb8881962a49c39783216783c96086ba3878c7308c768db70c13c44c19058c024601a38051c0286014689a028d2f011d968ea15e3d980f66601c920c13444f1d31d022256998ca2fe45430199e099ed57a8599d2360ed00417470433340a18058c024601a38051c028e050207c15e830e6308c8b7dca8edd1c836d601992748b40fe88f5cd5f92ba5578217907e9184205cd68609726244983905321497b40838d024601a38051c0286014300ab49c02218bc29024730839a5490d74c20ec6310c131353218d75e49606cd5c92bad57cc1bc83711bbaf10e5dec6676ec30730c1b6fe9703443a38051c0286014300a18058c028d51a0f1759eddd28eedab38783dd480c6e187b07118e825dc786dd072a0394bd290155e30e960420e43927615b48106f659e0603e9869d0c56160864601a38051c0286014300a1805c22bd06055176c10cc7009cd6ba09776301c8624dd5cc03bec1d8b6ac723039aad240d59f005930ec63e240e66b4107a4a83e02930f6593bd6c62141e32d43ba1bd2286014300a18058c024601a300150859ea8514c76ee9861d31ed6698b20f898319bdb47dca1156db3862daf916c5cd539286ace782493b138c83191eb9e63500afb10676524b669f7544d3360618058c024601a38051c028601438020a34a622b4db68ac0192d458033ba971f859fbc1da2d351f92d4b32d019aa1240d2efb90a8830c33e49436d0400709c3d8a7b4bd1d003b9ac3c5316b864601a38051c0286014300a18055a488130759e9ed28039e821811e62d68d093fe5081b721886e4544bf42d52923aca3eb721793dab018e13d83124a97b6aa16d34206f370b33a58d0d300a18058c024601a38051c028d0a20ad8ab492ea4190d74029ad10053c4f65ec7093673d8eb215d1a1c061b68c71602875b923658f0d90d82b166ec40631c333087eca94230434bdddb015decbd3d546378bb8dc14601a38051c0286014300a1805c22860af0eed666e3c6cf414811ed23d98d48cdd12580f1d400fed6b3970f0302403b285da6195a4c1b59d83b10f1d580f1dc03e240e66a8859d07a3878e59c794c38cc6a6370a18058c024601a38051c028d0d20a1c5269a88d35407ac07a4860111e66ae19fbd0e1c5210d1c38781892d1becd0b9a5e9206d7760ec63e74603db483604cc6dee3e0ed43eda2790dec535ab2603298d1c60618058c024601a38051c0286014381c0574f9a883043398722b251d53dad76eafb17dd68eb934184deab07a8a20e4d0616cb76c5e1cd1bce174347ba9a73181630817302475af016719561905020e460f39454b4d8604b471d86b47038c024601a38051c0286014300a34a302f65a1061f55003aea52b13f2f6594c61c89ec02d3d3d4b77bac0d8115cf39ca2b15bcc23c337db53527da8f6c3b6631a6833fb5063008db5af66088279300e520fed4019594dc7a9271ae01d66666814300a18058c024601a38051c04d01b7f22e98d78c03841cda49e2903dc8903cb3b54f81e1d03e158c1d66346889be8925a9a3aa731b6a9e207868678039b4031cb3db907204cfda65d201354946fb6ade00a38051c0286014300a18058c02cdae40f8b2cf3e8ba5ed252330874c490f498619ea2906d4f63a8e5e2824b09b11dbcd34d3eca0296fdcdbabbae084f4ac03040fc9e81e406384e53098a9aaaa2a2d2dddb3678f9ed2805e3a253b1f724a5b12d0de419aa151c0286014300a18058c024681c62bc012d0616f273576148b70b133c07a9892929290901015154586c151b7688390350c66c913d0985eda3718383277ac1572b659c8a63c25e5e1e9e5ed438d1d80433ba919003b46583276921853959595bb76edc2b06bd7aed5d5d5b5b5b53a0d0d304bd135d378a07d09f4b0c108212d1de73e6410ee92905361c8267839326c64049aa1473288604fc911504fb9f1da200cd0be047a18c68553212d75da610e36cc5498459be0e5c8b0911168861ec920823d2547403de5c66b833040fb12e86118174e85b4d4698739d8305361166d829723c34646a0197a248308f6941c01f5941baf0dc200ed4ba087615c3815d252a71de660c34c8559b4095e8e0c1b198166e8910c22d8537204d4536ebc360803b42f811e8671e154484b9d7698830d331566d1267839326c64049aa1473288604fc911504fb9f1da200cd0be047a18c68553212d75da610e36cc5498459be0e5c8b091116886de67b5952b57224e464646747434d3c3141b86f5509dacf0240d1cbd1eda8103070fc1346f6bca5352b70c2056c829078f2119023b867b3069372829294119dab163c7bd7bf7c2d8eff7eb15710eb4a5d7eb65283dab87b48101005cc023204e3743e91389596d4317860246d3f1f5a274e41006f67581c16315f49aa7a51e12d040bb03804123c321314886e5d01e47dbd380eb9264ef88c361c8085c452fc1212d291a7aedc8e018c25eeba367c9eb5e6b0b86a18cfe5a2bada4d11f0aa0710772a31283845c7a4a4be7206160f63f35a10e5a2837e96040850960a62d8dfed4043ae8fb9b16c7d2a94e2b2da05d6da33f65616feeffd481fb07bdde2a002409d06bcb888888f6eddbaf59b30655506464a4da6df5f746bb971d873400091b3604b70feb69b568485e1bb41c38e4a7a4144827641f6a6c07760c2f0cc9103830496d163cbb69d3a6638e3966fffefdb8c2314bd5088041c2574ba90d18107df095c025e8abe3d01e241834fb0d08539c2560406258d2c531a43b72b31b6b1b009d30d3d0cbd146c724c02a74c1908ce366c73460434b2e8ade61c62122d092068cac0f84b33400c950f6f8da1d000d3119013d9ab62446cf08b00486317e12800d307d69cf5962f468f062044e11a34763406258c200bd6348772c6737d636003a2c00cd40ea383a26017960360ce102cc8074e490965c14bdc38c436d4903260347f0ec1916188da100b4971d00232623682f1a60082ff48c4012c6467f2da0d19f3b07bb0252e80d43929b075a01688c2119ee6458b2c1003c302db9e5282f799ad14b5b1afd210bd430faeb2d01a0769bb9ff5b9712758026494949df7efb6d9b366d8075e3e6e1d08e83193d4b809e00961a3b000d48064fd9f966c1075ec21b190ed268cb90589300760c2fcd107056633d8bcb32788aee6bd7aeeddcb97345450573e08d8cc6d09440dffe348f80b0d7a21363960c017b30da988c1e320104d7404f0130147a340e0168a9e3d017b30498a5017b5d1f58b4ca168e3a32480624830898a5a37d2104810123e89ea1b4190073606230634ccd332c96c0934bbd1083e8218363085f664203f024f59061c103d08b58af4ec0de6e4c8687435f30080e77023dc5fc199611d0a3d152c7a12f8c09304b03f6467f8aa655d5ba411f2da6d11fb2a87d6335a801b9c8402202927a08a025adf7abbbbab5aa34468fa68d8dfee6fe83cd802dc16d4340067b8c9b8d9b04060068e6fecf2b083d9a960518baf1dea50155856834fba1dcfff196fdaa55ab3a74e8c00354c759df7020803ccc7aaeee7f4e71a031017a02cc6aec003420e9c09a6c2e70682529cf9f5edb3ed4a796b31892c190c022ea4e7f3026a37b7a61f78021e6144ad2bcbc3c5e965010247a0cb99f88d113f0ba6584e0ed081b4c7109cc02d086f65894ee00b0c4cd914b7045ce826410dd8347a33d7a1d105e8c06120bd1063d33470f5e795a5a01a3c1050d00240c80f1dcde32519d36a00d0c105f1bc3c07181710918c34c2f47c0c480119f0c0f96980bd9d705cf4539851e8cd1dfe8cfedc7cdc94b039a6088dd82c66dc6dd421bf4dc39dc6918a2c11236689693d9ffeaee0735ccfdc7da1d4a0a73ffe196e005c2eb059a98fb0ff686de243fdcfb4f7171f1534f3d85ef70f3e59e77427c9ffbe69b6fd6e7bdb0b090252966d1c8eb0d4032b8a719798d09d013301ab1eed59c75172260af2ded64b36075eb6f7c20bb7148ac490062dddb810363d898863cf1418ad6ad5b5356b8501702f430d8bb75cbaa0fe76cf8eaabedebd6629cddbe43dbbebdbb0c1b9a9c9dc3c3d42f8db40789208cb0b768cbaa45b30a577db973e31af0e96d3bb4ed7c5ca73ea7a464e4d206242c1101003d6e040068003b776fff7cd9dc65eb16afdbbad113a86d979bdf3dbfd7893d07b7cac8e1425c023dae16ee3632f0e551200e73038f460c9243d47c1a03c0c5ee88211b82eb20047c31a30b7a7ac118613144a319782c41636d8359bd0ad380b19e058338b021d00155d0fa0603daeb592e674f805887a2ab76d44346408f0820990967759218c2d1ee0bac1d898dfe1044cb42c5c800532b920e55b58c467fa847016b8b0b17afaee8d2b720be7e9b413a34fffe4de0bbfeac13f8c3dcfffefd3b4ba3333d3b577c571cdffb98367838d634fdf76d5cbea634b157d73c7c00ffc0fda7aab8a83a213dbeeeb51c917196d988712c1c9afb0f74a01a4dd31feedc33e6fea3a550978aedf517982293fc69de7f706d4284993367e269283e304a11f0cd99d34e3b0d3cf61e98cd9b37e3eb3454c9ba1535b6b3bb684c601f6ac60ec2604c3563f34d9a34e930c3e96d6407c49ae1127612384c83ee708101007a8df175fbe4e464ed885381291a036ffa7af1bcc79e5835fdcd8cca8abed9d9f97109a59b36adf8646ed1da0df1d9ad92b3b361833b827667e49a9a1a04d9b86ae1e7331e2efcf8c55c5f71bf82ac82cc98ea6d6b567ff9c1b6a24db14959496939f0c542e8e1a5b36262dfae593275d6b3ef2f7bbf3abd26af4776529b84c2e22d5f2c99bf757b617a7c5a7a4a26cdb03400eff5888086211a63322b324c0c3d5cf062404b1af0864833386a7bccc28c2e5c8261698f290cd9c34507046083230d306458c8428cdeeec2b04c86963420cf7cec59690c033437fd11048d06c8996618f2b81004980664d0ebc8da06802e941a0670a1257a9214472d66f4b734e4fea720cda77fd5771ffff7eedb6efdd773ff455b5d93d5ab47bb88c6ed7fffd6cf6ebde7d3ce837ac4fbb7bc78eb1df37d9dfab64dc6a9c419acd838f38ebbe6761cdc3b49fd80a6b684faafbe6cc221f02c1fcefe5ffbf6234faf49195090de98fd5fb961fa1f6f7bb4e7e9633323ebae62e653b161fa75b73f063e23e2c02e45b66887b6ffcb57fcf992eb5b9f3eb662f69f6f7bc4f3f3737a44d75f11dcd5f66327c6127aab83a12600ebdffdd3ad8fc8cfcfe91963d59d3cdd65aba75d76f5ac016307242927d5608946801ed99afb0fb48226101680f26a55a91584a20d809bfe1413f6e6fe03297483202d73ffa9fbdeb33e5358f10771ff4792d842d9d9d91b366cc056e1762a2f2fc763516e3630a850f1dba000c8a0d798004cc8c659dd0310c3f89080dd3ee44287431e782fb8c12838a90dda8434e0fee314839009d9730fb94d61163b98b3088873c6b0e0f76fdfb660ca73a58b16de78daa999a34f95a18305f9cefe64c78cf71f7b77e6a28027f68fa9a9b9adf5be04e04f2100fb766dfd66f67f2256bc7ff915e7250ffe4554e2293847d5fb3fdc3bf7d597fff5d2371e7f5c5266626a2bdc9d71e660cfdb0a9646263bf66c7f6dee7f97ec59feeb2b7e7166e79fe7c4f601bfb97ce16b2bdf7ee9a9b70273fd1727a666a66481842ff224400fcc8000888398007a1772081ebfeb8a8b7216abd31800ee8803c0fd041e000d0c7838a267d35318126b06000d3ce3c01def1af000d1f37e8159668b1e06da05068caf79cd908731a70830cbdc08b4fe8c4f1b60bd2800ec69cc0460438639b30789a631005ce08b9e91f5148280813179a33f04e119e169a23ecda17fe9178fbf1139faaa074676d93aebc9bb5f79f4cedab43b7ed9b531fa6f5c306365f14969de5a7fc9fe652b3794f7aac2e943922ad59a7d2b372cda57756e6e84da482db0fff7ce7bf693c0d5e7e0dad1bb085b45ef16aa8429349035917861c88b0ef8abaaeaae0b6e397f3d8fcb852ed87200dcc970246868fffb673f78eb8601d7f64af4af8f4bf6a526ab77319abaff23e292bda9a99eeaea2adbfe8fe971de256d2eb87eca97cf5cdc0b2931435e4a1ce230cdfd87270be2f076819300861b803d14a36838b3043030f71faa7118fb5fbd10506df43f1dfdb76fdffed65b6fb56fdf1ebb0b070e1971ec9002db8f62a247a3bcd86f34505bb0fed516db0f64c8061b84458f59bd7b435a86277590f0664d983d8492347c741e1e6c0088756f076acebd41683d49d1c910630a40639c211aab53e1f1ac9b35a77cee171774ef94d9a1adacf84e967eab128e88c8ead8eec2f61d5efc64fefabebd93ce1b070ec608c21b0d77fc9ac5337d2bdf1f33aa7772b71ede7d85d5bb9e54661151c9c7f4fcc5a8e5afbff3fefaa5c7f51a721e13a03b223081af567cfecdeea503ceecddad5dc19adaf54bf7ad826f6c4454effc63369cb971de9bdf7cb1f4d391037f01126bc105808dfb0624c202a36764cc628857026d001e0d0630068001007adef5e88e7c00d0688021804e129678fdc32cbcd083076063647aa1d7eb6296cb310ebd181653183af407c3509cd5c1e98e210e876993e1100c01dce98225c0a071a801833301f4684c00060c0ba013c02c487b8688468661d13332482c0dccfce1c829ad030c10969189190abdd19fd241168a4695806b6b93ce7fe5f5d468292ead6c77d19fcefffcc297177ebbe7ec829486f7ffbe0533d61fffdb89beaaea80cf8b33e8f5d46d7bace50f44e34ce137f271c5e6d77fefeab77da937f56d8573cbb36c9d79751d6175f4686078eaf10baba37cb80aea6ef1dc3f480939477a2dbece5cb9531fa68d0860702018a211c01d36689c0259b6e19d2797f8aef9d7e080bf0c77235c1058c98f5fc6ecc14d5b853ea4fd1f108fcf5bcb9fc670ba701eb0446d8577c40dbf79eedafbe78e9e3228431d2bc222074c99fd6f9d8dbabb0430c4e11ea04a87aa3f22e05ce394312c7a884c126181b97f8cfe50006aa051280d7e3afabffdf6dbf8c20cb64a595919d4c06d063b877b0f436e3f0eb98bc04025ee228a460d89c3f494140604f621486ec830ee2d34d5c49214e932210d1c43f2e8ed80c3900c48e848030dec24a7f4b9c13980191ad6a594fbbe5ad8a7c29bbba754e62d928c54898b552995954bd19e9c7da5bd4bbd5bbf581838f71cc6a13bce3a22c07d5fe1825e79921c1fed59bb4412527dd17170adad2ef714ef0189a96f377d595bfb2b15d06a08022f2483fedb6dcb93bba6c625c52cdeb13c2926051f0081496575c5bef2e2d8e4d894635257ee58f1f3fa5732b860165ee899096f5278250309c60aaf5e703824832157044905f4854a05486a1746e636e58a088bd7181aa0d7003c23301ff064b417d243349d0f788a16acbf8e80203a61e6c06c49eadc30d4fa934404f8d258571b20831bec618964740f1b0464569c058601317bd8f0b8e0050c12cde80f35280534016e26fdfd9ef2da6dc5ea0d0d4fb93f3a1e15967a356e58ffe255d34bbd7fec9eee972a0fca28fc982107b6133204e1afa9ae8df46efeeacd871f9b5e044a64ec9f1ffc79875824bf73d9dbf7deffaa22334eb8e1964bf0594ebfbff8a3476f5bd47a7497c269af2e926bfe797fa7f26f5f9ef2ef39ab4b615530f6cf37febc830a61ed871d8be67a934fcff755e021a9f8b7bf7aef03efaeb6566873c2b557fcb67ba6da72beb235cfdc7bf72785f06833fcb40caf375e02f8f92720c5ab9ebd6f32f961168f1f8bd6bdfff8ed33a3fe7adbf876d16a7fee5ff6c62df7155ef9cf0905de4dd3fef5d8bbcb54f0f8eea74ffcddd96d63d5b56fd77ffd9cf7bcad7fdd2faea4ba2a501b88f726542d9bf7c2834fcc8259def1175c7dd9c929d8ffb5dbfffb7fff3c90e41f2e39260d6773cf672ffffbe959ab612979673ff0b7d3e3d48dc5e34d900d4b663c7cffab38f236437e3bf1d72726046a2273068ef2be30e3b3b5034675c0c9522ed6a564df15bc72c1a0f19ae226a1257a9298e546620f1b009e71d898fb0f85420fa1d0532573ffd1db86ca34d3fd47ddc7ecdb929a73377ecff5c7c32364885f3e8a4b66c488111f7df411fe4210370cf2c786418f4b12366804948e98020213604a37d863d7e921806608d083840d012df550037b8466c74d2c49c3e4e138667d54e0d9c040affa51ddff9ab10360bb3186683c1f7483706875f5dccaf55daa3c712b8aa4bc5672f64b42825abaa44476ec8f5bbba78b0436af5b074b7070e1fd910111aaa6bc30b75d6e544c6d4460bfc7eff156e1dd2da9ad290bd4ee0bc4d4626ac9f642aecbd30c177de277976fcdee93ee8f93726f8527b0a7b23a0abe55b55518066202d9ed32776fdbc685d0633f6175268f2182202c86fc50b3cac4aa4dc1d38c36cc995ec0681a039021492ff41832617e9541af82807061f230c31096b42746afbffdc0208c89cc3105ccb04c0043349d3348ccc21280d130c45a18323d02b838f4c72c1ad5a03b2c11163d53a52362ea2101186d83b0580e71c0680c036a0b8066f4873e4758ffda2df35e5cefcd3dbb774c5515360756c70942c3e9e01907d6fb7ffbf22f7dbeb3da4795f96b3c819a5aab24c559553f7bc0aca6163f4278d509ae297cf5df6fef3ee59a272feaba73d5c69a2cf520a172c3ac5b1e7ce384f1b7dd3330f6e59bfe74cf9d9993279d9e18e109ecddfdedd7cf7edbe7ec8937f46e1f53bde4e507e6ae3bf1f6272f4b2b5ab73390c9e090a5b6b662d9274b73ce3827b2ba16b789404585af60d49d579f9056b274f2cd8fbdf8c9e0496774f478763d7bddbd73134ef9eb3f7f99b67be183774cf17adbe3c9a5dfb7fbc5ebef53fcfde3d2f67ef5e0ed8ac7c590d7ab87f7bfcfbffbe5a8cb06b40a044a3f7af1adf21ebfe998b0ede9dffdfd33e97bd3e43bda44ac9e32e9febbae2df9eb8317e444aabb41fdfe2f5db7a23477e831fe0a3f2ed180c4fa76bef9f0942ebfbbe9f6e40db3ef7de9a5c9a999b7ffe298dab2325fc751775d3320b57809927ce1e381b79ed9a96ceddc6767affdeded0f0fcc2c5fb3be240a52ab07cce9de1daf4c7e2061ecf57f6dbdfed507fff7cca727f63ab55d8c7f7f44c7febef7366eab0cb4c7db28fa5aa6e03c47dc33501d0d184d63cd90a4177a0c712c7037f71f73ffe126d17b06dbc3dcff718140877dfbf6252626f27ac1c50212fd800103e6cf9f8f4f8b8e1c3912d7e3f0e1c3a74f9f0e1e0d96bcacd0e3e689211aefa2e8d118c10140b22102a6ecd72cdceb27ebfec76c30e9b069d161dde3f106d7b01f86c60e80a16610500fed2098c72c94a28d1d10a3d70d363813b407c973c3cd0d3236d2979c9328edd2a5559224254a629c2427484a9264a748a7f494bc94d848f54b8e708ee148d1811927322622223dc39b96ee4b4bf52aaf38fc03c0d09796892918c0922a31556026101d1391969090141b9718179b18139b121b971c139b181b9b18179710179f9a181719ad7eac41838b4e0041188d3db3c22c5f90608ce3e2429802c0147a2b8c8a03120d241906a70157618fc3441cccc2120c00bc08e8c82166190d11e0c2299a7169ec63924c033d1a18f45a7f000401898fa282d7ee20c1200e97a08d437fdaa347c32f9de55a7041435890f4454c34f2003a2566123c84975600b3706128600451b1ea1bb3c2acd1bf79f5afd8f4e9cdff98eaeb7ef19de7b4c3ce6b48ff8ad5f3bece3ebb6f5445ddfec7dfd1f38adaf970b47af5941427adc62fb8b9fa36ae5ab9a93cbb6bd7bc38b5df367e33d7ebed30b0734c61a11c37ea44df9e858515d8ff35d5953eefcf2e7dfee671fd7bb58bc6f7cdf10eb677ddd26fd6f8720af2b3d4cfe4ccaab674c3c785ded17db32aad9d24099d2fbae4e7b931529ddca147b2cf171509ba62cdd7f3bcdeb1375edc293932a9e3d03bff719ed75b8e3d56b9b68eef981491d8e1648bafc02512c81e3836c7b7e8dd79fb0381ca8d0bdedee51dfbabfe252bbffadceb3de7efd774cd88884cee3df1e673bddecfbf58578c34d0eaf52fdebfd3eb292fc1035bc54aa5d73be08169779cd22dbff799975edcd1b7fb9bb57b91504cc145979c961d55cb2423a2d55774c5ab5ea5167fb1646b654af71e1df07c526d78a9f4f972fef8c813637b75ec3ffa57b9f80953f859f3dacc4e1d7ceb76e3aa83afd9fff5faab5b049ab9ff605798fb3f44c066b06e0ccdf9fa3b75ea54fcd62704dfbd7b37f0e38f3fbe78f1e2b66ddb5e7ae9a563c68cc156c4f6c323d233ce38834beb34900cb06e7a0840ec0018e2464792c031a4014807af1907a019c9e6ed9be129a9fd6074def683a781eeed8066eca12f81ba815a8d0c7a84d518df3ec3cf9d38552071a9a0f1eb3871dd3aed5bb7a5554a8ae4a44a5696a4a5e0c710d9b35fb617496cd1de927d51b9ade0857b2eea0f8467550400262eb5fd9ec0aebcf814894f96f8248954dff095ea7d521e29feaabd9ea4f8b44c788183175c98121c316c95dca6b6b822de179d12159b12919c88b7c7448a6b4b767bf7c1c55b2239496dc000f376cf20e811879903e390f9c3343082c31240b95b3fd38041830195418f5934b823013ce7c77181840dec01d0b8160f1324cc680c0033f088c623c2be07068980e0d100e00206c6f40566fe0c0e7b87fe70616402048125cc0060890cb10a0c40022314780cb9a206f4450f1790b041e35a18522bf2cc56eb8924757a70e790eeb4d40620f52ac0467f88d072fa6f5ff8da3d533feb32e68fb79cdb6be7a61db8d21ad0bf72e3a7ab3dc32ec8447984d354535583fd1717a97eecc179c44ec0dd19bba6a2baaac69b77c52d17fcfdce971ebc635620a5efa5ffefec63326ad6ac28f2788afe79f32dd62689f37a0ba26a2a6b7c3578cb3abb535ed1c62dd67b5dde9f5df2f7e13b6f79fd5f77bf2eb1275df8fb913d5b2132e2976c5854e439be53526555b9ba8e6a772f7aeceea7e66dc47b1db152ee695bab7e02ac8ac03e4f6c13b17fd73e6458bc6b8ffac0774d357e8ba0c57bf7ee2d0128dfb317bc607ffbcb65e02f07bff1c8cc855b86a4cf7ddbe3193624cf53f95d94d79b9d1fbb7f6f316e74a5a5d5494838d25b6b1d9dba28b8ff71ecf8757298c23020159ec4d6b55b0a77aa0f947a5af76ae5fd301a35726df1d2c7ef9bf29995a4a7c2db36a0b48ae97cc675bfd87cdf1b4f2d7defa9ece3c64df8e5f149b82de073a3d92775f2eedcb1a7d6e32fc5a71cf0e8155725f2afa809a0ce87277e70c4ea384c73ffb1b61076abb9ffa8d70e6c097d83e58d1ddb0c5b059b070d7751609a11403773ff57bbc7babb42228813f2f5373333f3b5d75e1b366cd8071f7c806fd9e7e6e62e5ab4a85bb76eac53e1055f888f06775c9550158d0c67b10435a72586bc78610306533420808bb607700c61830692803dcdec4c4be3a697a4fa5075ea0ec6ce638ab304e821190cec8053e0ed80433b092f5c1e60f842020c063a46f7edbd79effeceed5a4b7aaae4b791cc4cb0b273a74444e373a55bd6d5c4f7ed8d93047bc6e709438f615c56efed251f14444644c44578a253243a5525ef437a65e59191db2a6a610033ec069c6f2c8de5d0b04b904387b4ce2b762d8cf34726495c7a447242440a5c23f14a5853555153eedf59d531ad072f602c0d7bc44104d8e8cc8141c2869b491b7045ccb2617500ac0b1e0d988780340018133da66043001bcd6b471860217ad1984b231fd8b0612d2ac3456186389802404c586268d71f3c93018fe0c430a362588bbee041c258db7315786917029d062200d30cbe0efdc133320222087aa40717021e3e784683bbd1ff88e95fbe61f6fdd3e61f7fd9e42b4f4cd8ba713b36259e9387d7bfaa70c5565f9f6352aa6bade77781c8ecdeadbc6f6dc2d340f54b85715af7ae5eeef3f5ca8a09d4d69406f2863d307574d1b7b3efbbfd3f4fbfdde9ae0b8f3fa67bf67b5bb2ffef853fb581b5fa751b35bb0ab714e3812a36497949ad87bf3ccebfaf3cf9e2bb5ebe60efda371fba65fa8b2f77bdedeaf60175e9ad9bffb96ff8d549e5b5287bfdfef2cffffbaff985fdee7cfadaf6518177265ef86e94bac40235b02c5f5f54deba950fc75259b2073f96aa976bf58251be7e772578b4aa92bdb808c057042a638f39a58f6fdeeb4f3c1eb7a7a2cff8e1be7d78020ce35dab0b4b73f3509b7aabca76c0852f048854bfff1352b37d1ef1b14e0d8817f1aaaa6ba2d4fda762e5e25dbe444f5955c9372f3df67961bfbb9ef9637e64edbb132f7c274add5eaaf697751e73ddd4b3cbbf7a6fcabd2fbf3ab34f97333aaa3707bde5d5fbab02f85c118ea3023f1ef8711563ddeaed6b377b334ec4179a705f50c2d5dfa000a0b9d2d26ac4fa7203c754cdfd0742a199fb0fb60444c066e6c6c066c69e519783b9ffd7bf7a72ab5013a884af2ee14f83a21e458f8735b8d8f18814971874c32c8c79d17177f1d2a3c87c51030f3360dd73164300ccc285b31a8047d3a1f49040f7f0a5999d81971eb61c38e49294b986498806f65e1b83b4f3108b4300e260000307896864d8537d889539e0f81d9b377f5959ddaf75ae373d43929255498a6f2904e4abbd3bf715e4671c7f2c6a2f78592f00aaba8217ae160c5be50fd8b26ced37ebb7f54a498d0df8bd0175238665794ded37eb76ee978e396d8ec310f6e8f52ee1b06b6ecf9d6b376f5bb633bb6f3a5ea67c5e25a9af26c253e10199569dd32dbf0f2e4e90489557291cd9c0301a66c1e81724000cb1168f8eb3ac6bc9608af9630acd5ecee270308b860898e2a2c0949a9139746018d3069ae0e516b318229a5e88af3d08c8f8ec990f02a27151f48c0306b3f46226e0d11cfac30696d081b3c4b007402389599a21b85d7fcc224f0444c3f58cb4310b0c334400a03113430418836164f46068c0e5300b061800b3f0e290b3467f6a42c5a03c86aefa576f79f3895950af5df4da0f3f2a55bb3f3aa36b412ba929feecd9873fac3efeda4b06e3419d43ff75df7ce4ed7f794a556da99fd79a2faf7ba277ce0b6f14fcbf9ff7caa9d8be72d6a75bbcbd4e8dadf257556cf9f4a305f9bdbae624a7657abd85d171f82869ebe3877a67bd32f98ea7cf3fe3f8444fe9b6c2dde99d3ba5467a0258074f01eb7e0e2c59366bd6b7ddfb76ca4dce4a4ff47a1393ad0f06d454162e58e63dedba56e5f8e150ed7f4fa4ba742ad72ffb66cbe6b92feef2cadaf57b8e4b4f695590e5fde0bde9333346f694c2f92fcc58e4f5e64187f8dc2e59de99efcd98d96a749f9af59fbdf896e271d00851b23f6dc488b6cb66165678db8dec1657565e169b7f5c2f04796d56bb8b4e4ef36f9d3df55dafb757ff36713595eaf32d8866291cd16344e7196f7c533cf89404bc320552bde56f4ffd28f58c133a96acfdf8edaddecee7f6480c78a29584156b977cbd75dbe72fa824d7ed3d2e2d76f7f27716c71ed3a94d52766baff7abe4587c5a01a5252cf1cdb09a2aec7fbfdad8b8eaac0b64d7ea15defebfeb1561ee3f50ff80fee6fe63eeff2d7effc77e43558adf7b8fab1eaf5f7889c1afc4c7df6a6af0f51717b47505d7bdc4f3058e371cdee830ab01560106c3ed8d9e00f66c1cdafbfa9910ff3b7c43581c1e75c82569f8e5902e0c740fa07130cf59f698856a340620c690580f7126f0c63deea4da12e712bee0a3e313324e1bb1e3d3b91fad5b9b13e9cb888cc23b67453b8bb67ef75d79627cfaa0c11149c938e5a83670beb9287d113c222a29abd3993b36bc376ffecaecb67b33b2d45399a21d5bb76ddc5e5ade2eabcba9913129f085255d70769930b6515c74e271f9277d5d38f79bcfbe6ddfba3c2b0bbf4146b6edd8beae7043744d6acffc13e2a393901e56644dc3cc1101243281311af301e04e028f4a0e7fbf012e58110dc604b001a68bd60100b98144af2d1993651649a68d1ec161891fcb101f435822387b1e23bce0c229f0880c0390c47a5d1a332518d39eb9d10541981b0f01ee21f5e7d2e8993fe270750c811910180d7130248921f42706a0191cc103a311c30536208dfe474effea1a5ca5d8586f4e790a8baa931133f0ba3f9e1c2d7e6f597175a5173f45e1ddf983f7ffcec50bbc275d9eb9af52fd44c4fddfed9c5bc6ecfefb9baf3fb1f0751543d24ffacb65fd2b76ef44c4751fbef9deac371499d0e3ca73fad4d69454a60e9d7c9d4cbeffb5c7ee9b8d931e08b4f9ed9f3ac407aaf1c6bda7567d38d5da2a51b2ede3a973e630abe1979c9beda92ea90e546f5dbdc6d7764c9a5496e32129b6baafff2fcef9e0be579f7e6085c4f61c7952a7f73e7dfb9119c91347f79e78c5c8bf3cf6ee4bff9e27d2f5bc8b4e7af9f9b5f80d00a5bef6d7fe61e42d8fbefbc2e39f07025dc8e30d7d1ca3cf579d77f2c8c4d95302c79dd10a8f55ab6a6a2579c25dd73cfef7079fbce733a4ef89eff787bb7e9b52b1b3c46fdfff15697dcfcc7cf99f1fafecfbf382a4da083cd66cebfdf6a57b67ab236e7bd284ab076514ed2ceb3b66ec07ff7cfd9907577a627b9e3e0449ce78f8cda46b4fd8f3ee2b2fbd6b5db35903ce3bb97d445569ad3722152a54e1c7369c0ebf3f169fc4c52723aaaa8abe7aff6b5fcf5bba4454ecad40645e295a7f73ffe1ed05bb0537103473ffc12631f77f88802da175e06b1c48ec10bce86093a0c1002dfceb2f66d160067b380e193204bff8895e1862efa91041afbf9802a977232f5bae8e9e59619680eee009d033377b8f59343b034cf2c8f74ab8c6acaacd1c400f2101e270883e64a30d7acca2d780c65a68fb94c67459b97225fea02816228fa20a5e900fb74edc46636363a3aaab4a57ac28fe6e6dd98eed308bcb6a95d8a9437cd7ae559151f8e103e7985af36463370020144e9efafb5ddeaabddb1716ef5a565eb201beb109ed12d37b2467f5f54b0cea6030f0e54601463ef0e27e4a4a4aaa91cab53b976fdabb66effe9d984c49c86c9bdea95d5a97286f2cd6853d16a2171c01b02892873ba7983f48fd4bc86086e5c0d000ee7c4d25cfd5190a69202b98c11e0cb0de8b3c58f41ad05ddbeb292ea48360391e290d684f12c161067b3487fe74e72c7a78e1a43002ed118199002013bbfe302009030a8b08cc16800d53cc0a434cd10c0069a04704f0200160467991007904a7172c01401afd5b507f89ef5890834b8be714827ba47ce3ba6d786f38ab5ddb044fe9ba355bf02168fbfef7ecfe66f27f165c7ddb3571e57852a91a4e77ad273a272fd75bbaab0cbfefc81b999512b56d636109be8cef4d68df31c75f5a8a7d1f1b1fbd67f3a63de5ea3e109d94959d1e535a5c1611111d1bebddb97ec37e7f444e87fcb88a9debb615c300ef7465b6cd8ff39756e2777346c7d5966cdfb61bbff553367cf4d80bdb4ebbf5bcfc8a5a7511216d6f7c46bb8ce8f24a8989f3e2eaafa92a8bf6556ddaba3721a3754e9cecaba88e8a8bf157487c826fe7c60dbbcbab1333dbe4c64b71157e368ead28ae4e4a8ec25f7f2b15b5ffcb36cd7de0f939e7fde9b676528621968b884bcdcd4eae2c555f8d8a8af1156fdfb6abf4c00f8775fb1f1f4cdffadacd530a2fbafea2ceb96d5262f1ee7e448dfa044244b4b76c53e12e5c009eb8f4b6e95195d5dee8584f79b9c75fad92dc5a1cd32e23a2a21a5744645c6445e1a6edf8ac5f62767eabf8ca0d6b710a02e24b6ad72ea37a17fe30e1370f3cf2fa80abff3e247277a54f5d29e6fe833362ee3fd8febcd3420d34606c5a921007185b05cddcff210504a13e100ab70e6030eafe65ddc1606049a8ae7a1a683d01e6cc9983bf4689291843cf4d9b36e1fbf5f1f1f89d79e1f4c775dba54b17d83032001b86f5504d210d6da0a708b0222c391bdc3355daa047838dee430265d44c4d89d89850dacc013844af01a2415cf6e41d3d66c1e83e18e0a4d200537a960c4a527c041824e44689861eca620aaf6d283ee088d389dfaa101717872178d8e0f919fe00170023405c986156e7a9e58e8989813b7c715f664cfcc8b27fff7ef862452c041718e33b01ba0682259e34201a7c5198f2efd2c2068ba28ac58794f90502386251f4dc25eaa8ea3f3f001ef60c8ea340640484190cb8698891036d306425812149b8235be6866834630f1eb30c8b80b4840dd2664ac0581198a1b8168670b4633008c868c04c1e2eb021aff5070333ae0e335ab2070f801cb06848fd1199878620b0d1c7c54c18136448fde18bc6f8b0446e18c2188d8e080806a1c0c00c8d980bd1864219fd8f8afe3b96bff7dfd55dae1bdbbeb8ccb9ffbd1151f81df1f8b24f45a5da72dc243865b88f60ffe1e70f009e6e9c4d3cfe8b8c442188bda46e2338dd3cad38e3c06060131d1b87cf69d6545556d570ff577c39f5c9cae17f189c2178c68e5030c342b5014f049e2556d7203a2e6d7c0614bf6b1eb3f8dd5431911195e565ea139ef6fb8f78c0c30c1f15506656c36fbcfee09e7f2d4e3b7dd21f7aed2f516f7a20016bff63675ad170bbabbfe93bf67f745adefef9efeccfef9d191988f4796017810f9c55a090551723c2abfb4fb53f263ac28f83b5b6373e218ad5ab6b6a23ac9d8e5d1f66ff576e5ef465edb1bfeceedd5aacae17b3ff1dfa4364c8a2764243f77f98a1c10ce717829bfb0fd58020540f3d77ac6dff2bb9600646f73f35fddf7cf34dd41b387cbe0c61dba05639ebacb3508750374c7113f23e43adb66cd9a24b52f0dc7200c47024b08803b334d33d80a3c11ecbb1c7144f8a061ca20f09c8374bdfa89294a2603d37009e8d36f5a383fec7fed363600e756f11751dcc1c439c30922849f1c5341643b8ad6307c3128be2d60cac25469985138321ca0bcca2b2641109126660e08b80007007e069008619a638cb1cf4e70468036384458f0677f65c0b3c77037a24ccb792e1856c318575912400bcd0308419000c9812001a16657c44601cf424c9c30607a55e20ad1a8b11608021a6747c86427a60d0300b0c2f5802a0c180690010234fcc2249860286013018d80330148cc3eb0f4758c2173d0e0d92428a46eacf4ce088202a2deb60a1804e1800b3e8d1b0047b18d0054338e2f43173f08860f4ff41e89fd82abf7562d59ab5dbb07b701eb1df70fad87347f1bc734b34f7fe8fca6e9fefddbd7edd8ed2e6dfffdeea2d5b77a774ec1a5fb60f752e2f76de61b04b716838581c1431817dffc767647a766ddb5b5d6703e366dcff11c939b9b1a5ebb7ecc5ea581a8d521f71fdd5e19bfb8fd11f0a6027d8f73f1f10e86ba479f73fb7fd517cfdcdcfcfc7c1a22113dceb7074b800f1ac948064f0ebefb66ddb7449cad73e75e9d63744ab8775ff93d13c001ba6eba1f37f9e05b2c4e8c3031a1c7e7f582529844306bab703ad2924860defbcec39c55ef300211bcdf4d962490a4b9c094c810786b25c02270f4360488959929825c913801ef73e62bb0d02c28c8cb60100afb72c9603831eaf287a09aca2d30089216cd0e35ac210188d5511ca32f0880686cb01c386d11004ab6308004b9a91813da2f1650c98f92002a2a16905e04b7b30c068b0841702c20b53e891895e8e392002a6180d2e344311c32b01f6ac26991566b922ec8141ead5018cfed0041a1afdb149ccfeafbb3623e2d33312f14be1f694a98b9dd7207a5e6b7536f537045e5fda0600171aaf77605ec8e87909d31811f465889818c212bdd15f6b8beb91b218fdcdfd9f2fac7ced03c696d02f88bc7be36afa9ebffe3a4a525cefdcd800219b9e2540af01ecf51d039853e8411213387a3db403e06669be4993261d7e207d73042076f4c14365575fdfe096c1a11d10a3b783a2a222bc2f8feb0a3963eba0a7b8ac90b0c340f226ae7bd8c09e6bd10b2e30430f921b143c1a30d662280c99127d81316559d5fd34830860f42cbc980f6c384563ac82b098454310fb140cf4a1210e0c3064c3148ced06b8486003779881670f0092bb8a53e839c40b1222e062434026c0c82079e0f0a50b33842586888621001a372816823bbc3804068019ddd1c31e0ccc60835938d245f74c12b3006830e012e8e902774ec11d49321418cca2612d024cd10c11c0a007a367e105461b6863ac82b09845d35e34430f33908c030300364c81b71b18fda10c7533fa1fdafe0fd4ecdbb3a7ac52bd398306f5ccfee7c5052970d1f10a35f71f73ff31f77fdc587873c0a5c1175cec0ac882eb854360007c98303d3d1d3713185b3795830049f40430e02b2c87165dd73182e61d0135af81c300433bc3e1e1f7aa2c68308ab671000ed1db01315ec000f8324610dcd386af70c076a0a700744384152b56646565014065f0e881d170083879e8190480535093b39c0209068d658a26c1a3c11753563c55f100e3b11f006e97b007c0128c06639a2107de4a300b6304e4a681010086f0458fc6a34065034b325c0b96007c080a17da738a31f1c0924ba047a33b57c7102e24794f872300a3c186c630e08ae8b9848e0f1ba40d12e9e954992d120380256681d178b05c9a43f41cc292ab60453018728a0b618886299060d098b626c1a3c100530c486cf4a756d4c7e8cfad8e6dc34d82213712768bd9ffe6fec3fb89b9ff98fb3f6e98b833603fe817b51fd3ebef8e1d3bba76ed8a9706be2eb0c7cd900c0018603bd0c6048e1e42d1053d3066d93426d07d4800b2595a5dc1d48458bcf2e148e0e831d48c067a156b52152e04217bec21cd6b0c70e69967ea380618058c024601a38051c0286014f8e12a50585888af47eb529215a12e10715ca8855855e3cb2dd3a64dc310241858b24c0286bd2e99e84233f4da0c802a691243ced285d8d1eb29fab668df949294c7d9f8b4604f170237ccc3a6eeb42446af87f46dfcd2c6d2286014300a18058c024601a3c08f430154412c407138003c2816911802b0b16a0226a099c6e4410270aa313ddc0fc9be31311d36751fe373b08d1f22456dac3181bd878d7da83180bdb1faa4313166ed00582f678051c0286014300a18058c0246819f8e02a882d05838390044b0974cf6e28a538ede31843d184d0663322dda1f4249aad36d4c4234d62ef621b01e1207f776a1b11c0cc8a06fcceac6c6286014300a18058c024601a3c08f4c015d0bb18eb2174bc1a5946620023181ee3560340c1bd30ec9b83101b5cd2194a4da273c70e4caa1eeedc08e111343b66089c1b0c120fceaeeb3f9d34f1935b37fd72003373ec8f0fb4a3c77834cbb3844726e7c08d323497596376e92274736c392ffb85c665d25030f31d29cbb65c94d8df5b9f66c79f23279ee72b9b473235dfafdea37975e74ce298db43e2cb39365f2749978fe61c508ed7ca5ccdc27ff9b167ab2c5591ed795f29faf65f25f9b61b59ba6cbd499d2df11e9e4668bef086c864601a38051a0e5144015545f10857e56ca3a0a093800cb273b491b7baab4b133471837e5b3a4c129ea43e5943e2a3b1f4c822149c01e1108203a67093419bc7aa398826346a7a64a627b59b0e2207b37fe20a3661bf41b7176e754ff9297df58da5c2187caa9f9223922cf1c1cd18d3fd8ea288c5acbf17952866f43be7db88b8fed210922c78bcc6d7ca4a1d2193e0972adc87d0d792d7f44d2ea3f66736a0ff9f30e2998d4904f8f76a9319112d3a19f7cb8b021dbc39c7f7e86748f97955f1e669810eee7fd52d293247d5488a94652e3a7c9e86e32b5bbbcd448079b59dd71ed902ebda51c7fe9e236db5c93e0c8d1122fd2576481ddbda7f46da6f8f6a8061b058c0246811655c05111e19bf5a88e40ea8f87b25862f9844c08d0d3801f06b50f8969193cdba2c7121cfcb09e92f250ed4135a341f02ca7746f07c08e46f5edbd3de0a160f507f7f06b91825cdcf820c3e620f2da6425a7e674eed11cb1ea6358c7553fb0fdefc6db4c8e062c1124565bf75b1a0f2b812a0412d977483166cbfc1db26a69c3f528a2e257496e5a2f8fce9069eb55ce0959f250836b2d5db5755fe99e0dcb5aba1eedff8caa476b36cbb9875db1051fd34b7f91b59b6591e3879c603b7766c00869db4d465de96ee13273e0b86659fba4d2c5ee50e86a75254889c36557b3c577043643a38051c028d0720aa046b25744c48ec28943e460071ceade91212cc968a00d82193dd5ece0909f923a92d3c306010dd0eb8683d198008c9bbefa1c3451827d2e1f4275e39bb84c036e7e2b8be0bab801b730d39b5de6dc7817f39f0e7dd6a4c61e6bdfabeb2ddf968207a56f84140c15995d4f86fe7fe91b2f35db13f0d02b58ecbdbf56ffbd9817c6e430a63e92b18717b9cadae2ea8ff91e623b705c2df18184434cc6981b058c024681ef9b02ba16b2ffd6275d4a6196cf4d35038043d02516807e5c4acc59fbf3d1900c75d02e1c367bdf70498a0c9abc2a7ce9ce1e71ec438d011ccd5e986a0c80163299c983cfba223331d67a9b15bfabbdb4745df27b9fc1f2ca1346dd919392885f1c6bb9e92309e2bd5f9c797eff08ffffbe7c79dca6ba15ae1c78f63fb363d76c98db7941dabab38ec98f608cdaefb62de93c7749c834343960f4793d5a27fb2c0f1c5acdfeefa67cbcb1475c4c8cf54bebe3b2fa15f490e468d9b775e1ea2dda2904f8eb5572496789b19e65a39c2d2f928249caecd2cbe4cfbd243e421cc715ccbf738ff48991b79e91cbeadfe1bdf472b9bd876c982f039e912fef9736d12a201e19ad5b26031eb570a8eec93be5f4185953259d93a46a97bc512ee3f2245023e75ca5de3777cb73e0d9f2dc291257ff2cbe64ab14bcaba2fb6be4c949322a4be55f5326bfbaaeeecd77b77cdc78844a66b667cbfa5324da236f3dad8e34443e6fc9fadf08fe9801f640f56ec9ff0bdd547ff665f2705f79fb2de97d9ab489548c7fbfb4fe9302bab5b34e5c89f3519b9e1729387dfcb0765e155e6a4b363ef1c23b757305232e1bd6debf6bdd665feb0ea94aeb404df1dc275f389cbaf5a65592e491bd33e47e843b5f3e7f5eb63f271b06c8a04e969e7be4f769ea4dead3a7c91d63e5c349d2ed4f921babd2f16f93fef88c87c85b25928b37b3d102b2f12d39eb0c054f9f2e778cb2040a48c023bbde96d32c1e539397c929dd84a771c7a772da60658fd67fb23c3851622d71302c5d2e83ae90f3722505428ba4f797d3af94bc54299c23ef7c84ab5166fe43d2ad4c301ba8949b63a45e26657fd0712942fc953279950c3bf8b8c04f9c29bf3a59a2b16e40705d54ac95419d957d887cba2b1e2d81ff4d96cf274a944766fd4d8ddde287d0e77cf9ec39a95e225f44cab06e4ae7da52b927a1ee93096efa70cde03e44fe935ccea3fbf90d0e6b18a38051e047af000b219695c0042833ecd85e5041100cddca504cc180f56813a463e42638bab9d4170b2ef34cd765b28e76b3d13c811ec20d583746d1430d1c66e44396a493879f7b5d96aa47f75795eff107f0470c12a3d50bd09583c73dd83a35c9eba9a82e2faa3950cb86e26b6794e04f07459edd6b28f311c9bfb1154aa9c0bc05893bc776433d5a5d5db2b8b8ac56bc9db27b179e905f6f16e2ff01e75cd63b4fd5a3d51565957eb51522e312cf3a7df8a0e18332ac1f01923b1f3b7cd0b168434fe817c2bf9efaeb4d727957558fa212da572d3eafc427a9b94baf92bfff4c1222a4b24c76dbded90cc97fb0433c5e1939b63ea8c81facda62c13382cf4aa21e4545b8a9a7d3fb00004000494441546cabd47aa47d0f5974d90133074a8e105f8caa47b17fa3d2ad7a14fb3842ae3956dcf21c789efc6fb8aa474bf6cbaa1d52e297b85415151192bbcae82c09540bdec08f8893972629de2d1f375ef9586fdc63a1adc39550db9659f56848ddf649719554548ad723d1acc6e82f921aa7c8d1a3553d5a5622d8285eaba292ce32e7ff64c9ff49e1a3ea43a525eb65dc97f53ec1ff975556e28f08d5a81b842f86fe96514c2c3664744607d4a3017f35b6a1272271c0390382033496395fc676c2a70a6428ebc5745560b5bd4806779240b9d4042422551e5da582a5a4aae31a7eabaa47f1c38c3aae38c5cfae55f568cd1e59b95c9df7b6a3e5bd698a97dd52592195e55259656db6148b14b97d950cc79ea9958dcb056f82670d92371e5353fd1f9327ae53f568e93659fb9d94564b6c9efce70db9e105e962298cacee7c502ebf55fe76b7b27ffe2e558f5663ddc5b2c5caa77e05358bdafaa0e3b2f649d230191e745c13bf968b86a97ab4b448f657e0cf86495c2b1520643e6ac26af86902065f5da71c77be2dd7af55fb3064fcd0faa44bb457927a2b29a07379b578e3e5eaaf5568377db86e701f3a7fb7f3e8c607c7358c51c028f013500055902e9334c0716bac01c5d043002d0fb16634d006dad7c1040fdd7c832d1bc3345092ba85704b023c9bc3112498e029074f83e01ee7409f0647646933fc5a944be27fe58be793a7ff2f6deef6bada3373c8bd5978281598b5f8f9b837ff97f9d98ef0fc6d1f2edf83d7ec98dc996dac15faf66eed117f45e17b03bb66e08948f5b6a8375feff3feabbe55fb7024ad73fbb9beaf5830ba972a3cfd6b673e3ee5e9679f7a6b3377c1971f7fb97cf1f27dd61b9aa58580cb57ad5af5d5370b9d87a3c7c7ca04ebcdd3194f49c10dd2e5115552a8d6596eb57e6dc027d324ff3ae9f65803fc7d770b32f626c9b4632df7f324c7ab9e02cebe5c9559b56592779d0cbb5d7267aa57e89cbe72b66515a2b376cabea5f2d67e35e9df25e77ca540426b973c451eb6be0cbfee1329f8930c992405574a2ebe5554df76af96dcab256f9a55e3a6c9d92ef95ce3c2d7e519903e17cb2b83d553ab559f485f3ce575d36d95f49c281dae159c6518876c90b4c30d52ac7e64b4e693a54392642689f57384c464b88b03f32d1f3efbe4134f4e79abc211ba7e5c5db4fc5f4f4c7972c656ccfb92b31c56f6e1e993e5f183bf4a8f678dfdeb2da6fe5b3dad5c767dfdd8fa4c24067b3f957e7172ecd54acfc8b6f5b3d6fff3af921333d587293d3ef5283405e77d8f1c9b26e776977ef728fbacb3e57491772e9613e3e4c4043971a422ebdac9723a2ae080dced93b3bacb7156fc36bf52937f1faffa8d8fcba01c19db59064549bf6479f4f732ed1ed958aea676cc92671f9719cfca947faa616bab205e3b45ceed23a332a57fcc415f7e721e97f250cd795ce7cb85bd153ff302199429278dacdfff2ef92853b480747b46fe3d419dfab58f1f78fa8b19477c577d765971f02478b1d2f9c4114aa2a8f622eefad43938fe73cbdfed3cbaf18eb0666814300afc34146081642f8a824b26284192c02e8c1baf5d6060b7d7d88dd706cd029a589206afed96aee6ed8018bd6e08484ca087da4003c7d257e6a7e1184af7adac7bc33d060f86543bb95d06de83ad2cf96ef86a6bdc102fb2e46f455578d51eda67381cbe6893887edeca3997a4a9275e6b362db5a2c0eabbbd401e5f41ddd8f95f8fae9948a0a668e9fb5c378eefdecb96d50be7cc9b538ca78222fb5700cef9f0c30f17d2c619438d2f1da02a8fb2c2fa37dc93eb0aa98103548554b543c6cdb6dc1ae26174f71a6539709ceadfb10ad305efc979f96ab84197c4af8a2a353d02fa8dfb64dba307fd7b67a83246bbfb5151f53fe2fc455a5915466497d079c2261d07e097eb5e52f6f6067d6af74b377ee37db6b56e84fc3e5f9904e733ca85b76895f0b8e39532f367c8106b2137dd5474ab596ff6d60f6cff6ffdaa4ed27fcd97673eb026be94bccb25fb72193b4d76fa2522411ebcdde6101aeaefe81f98467ae22f9af2ca1c4559a21d980b42e33f913baf93e347cb452fc897bbe526fce8f357f5acf1ba2b9569ff69ea01a47fb35cf8d0014fa5e73619ca37d31f9262552b89552e2a9b1dafc804cbf8f96765dadd72d6098a2c7c59f5aa5d6fd97b248f43f6b9b6c128757e21f1f5b5f215fe3da0d4f6584f81532165b5dcfe7b9b31bed5fea2dc79bd6cb50af1cdff91fb7f2f7fb9589e7851d97cf0adeabb5c278b6a65f62a197fb21ab235feb8265da2f2295f2cd75b312557e5c316321f350541bc32fa2265b9e86f32b63ee190ba5de4ae8f5aa85c06f5b156d312b9ebf39f7db22870d0bfe7af94f3dcf30f990fcea31b6fe5613aa38051e0a7a580ae851c002a80616f0734b3f3dad20e80ed8d11eccc91c1eae5a6692d7cc65a0506a7b19dd498c0d1c3cbc160c807a521b38dd0c79110a95e39447ae2839628e9caac677a40d10df03079e8e36fd583d2a856d37b0eed837ad6bf67f06a7c3c51c52babd886de6a9178216eb0e171545d4b46a0a01613c4b810113a4e66dd4b6fd774655abebbde21a1011e7653eeb31e9426c873674b4f2c5d2d67cd96284bb132dbf7d5f552cf7c2a9facb0fd5b2a4fb0fc15f588916d1edeefaec7f83f384f3ccd558d27c382f6ae6c4bfda8b3fa905fa042ca5cf2e1990d992743a84b50a453578eeafa10f91c341f62b071711d79df3372e3c1bfa06aee6ce9f9ac2a6c7c07bfe31f228a1b5553ed36e3e0c79ca8de947ff42a59bb47bd053fee055974ab32f9c62a2bef1dabf00b07d58f8a295fa67ad54e96788f048ae5090e4536bf56879eb858eebc4da2acd35cbeb57e1a07e5728e68d13f5f9d43bc55bd69b56cdda0fe6d592f6b3f570ba9669d350b85eaacbdaa27eeec2e37dd233b70457a24a5935c3e5b9eff6bdd64e38f6ba5e511a1afaa02959e6a275b7dc87c2c0bee93f6a75a66f55db06ee561f5c1467534577d44a6fd5be6cfb2fd9b212f5827111142e46fc50dce87e7d18d772463864601a3c08f5e015d0b396a241cb883e150f354c64e6aad34a9190780818369a161c85b7863d77264e918224a3043d2ce13a3b7030e43f6cee4ac23a8c4c72a55ebbaf5185d29a917a2b858ebd39792bfaa67833ccceb1e948eeedc1a2f79eb0bd523c40ff0294e916ef9a814ac96d9ca2a4b02ba38abe3f57fd64b5a6d45b145f4b8a83fdef63fd0f07950d5825ed80e5868643d8cac2aad1b2f19a92714884dae1bcefb45a3783e283d75b87ac2bac97ac3fd63ab28eca23fd3d859621129a07ea7d2abafcab8076dff1e95570f5aa46e50a78075bc21f25c85274aaa64b9656828e77aeea15f0b02f82bc42d9fafddf354310272cb343c8a95b4025972951534ac6e75cbd67d06a26e54f75fddf75f0e26f5a8fe47024d8403b5d6e733ec168dbece66be2acf5e224f3c2463d364fcdf64e577b263bd3c3b54eed4dffe99657dabc91edc866f7fcad293bb8ffcc175e13cab78edf8db7a9f93853f1fe16dfd906dc16baa16c78786cfea2ca3dad7fd1b3b5ce423295745ba5c633dbe75f8b2f0955d0e5adeb95e4e4b96be1ef9e43b35d5f577aaaffb5653238f2b5ab954ed563ddaccfaa2367c3e3886c957a97d92324866cea4eb41bdd6ad017dacdd6ef774d507ef245c2f1386dbfe9d617d97cb2d7f7b507c3e35f83c5a066efcc1de666414300afc6815085917d9491c3987045a084d6a86007c7826d8c061df8c43eb05bcf9e23175fb0100eb2181ee1d3cb20043922064ef48f6a1dd950f66442565f42b1cd1252d3151d555567b6847c90319a9d1899db68e681597908c6f28a3417837beceebe36f6f1ddb5b55af81f29b176cc3ffb77dbce9a6b11da2e33aec1c1efdca5edff96db3f1aa54ba674dfdf30efa1de897eea81894131d9933f0d7bfea19939a5cf712565f03edd8e7cfc9f0659f74de29b99b135b77c8f06e9fa2bf9a7d20864253d6cbdf0b24a14016fd4552b325c6ca1f9f9b9bb242ee2890a81c59f217896d250956ad1370e719150f4a6f784492112420773da3b8fbee936b1e555f545a7e934cdf2c638f55a54cd90699428746f7f86a0bdef40dce1301feb55e6ec897bee364d100595a225df324bd463a580fed62f3e59d6b252357da586f64fffb26f58b4243e633f13e19eb92e70d580347345b5aa7aaaf376576555fcfeaeba29bfd803c31320bce1532ec413b7d303e56d65f241bbf93d797484247b9a4af9a2d72ffa0c541ce5199e79c7d0eeaa657667c78108f010b40277b607cffb80378c16db65f3b5affed9feb510e06b59863e5f94f24b5bbe462ef06c2fd72a82706cbf88044e6cbecafe583c532f20275decb171cf4b1ce83c2bf28cb1f93ee49b2b0443e7c0e8fa3a5ff2049aa541f1b7d7e815c7eac747f50debb54561649c7de925a29275a4f7097ac53bf88bed76372fb60693d4c3a47caa0fbe4ab07056f367cb34036164a96bac6f0f99603df6a6ae471bd34596e1824f183e4bd65927c0cdec4b092b57e0470cba7eec78187a47f5bf5f5a6f461eaeb5ca759fb3058373c9574d3e77abb2ebad077d7c76eaef14b9fbbe60f9be07cf0adafd0bc8e688051c028f0535220645d44125fae25a01ec01a0073168c9dc710bc36a38d66c81fc9beb14f6ff43134323987bd63a88380d753c41c12c34c931a68df3ab0e48d5915a8f83cad553d5afbe5dab57899c377dce5dbb79e2ba901cc4e443d1af8ae483ded54c2bbf1f5e1a614abd7b7fdbb56bd58c77c16b37c07bed79e91dc7a42bb6c94b6a5259b133efcaa6e32f8bf792f15962182275ed5a3b53b96af528f447d756f34ce7be5ab52bf7822933b77eb96931c73e0fde5e038afca27d6870e7272543dbae813d91d505f4fc11f3d7a6587b2cecc51f5e8bad5ea4bebeab8dcf8fac82fa8025b4ad61c78e4d9768654e1f9629e5c7cbc0a55b6433adc5d6f1df27f6b7b2bb1ed6d9d4b9ea87aef966985eac7809c3c39b5abb4499018eb272030f8f27edf02558fe26f174c7baaee0ff4b8e5e3c62379151ded553967beb5d0cfe49d0ad77c2c53517f1ac12bddf3a57b57b994944b8f477d9dbbca0de3e4f29fa953b073b5f47cd4c5d446ab8cf00dfbac8c8cbc763d146ffd2d06bf55346154a18612fc185559866b6ffc47bd498e6f352d08b242405f92741fa4ea51fc12831917867b8c0aefe3fea6be389fd25bc65d24f13e29ff4e4e3c2e28a88db83059b694aa2f980f9f20c387494ab494ac53d34f1c2733162bd9b37acbe061929b21d1d623404cdddf4770cd20abd113a46f27894121fe90faad11b1d9ea63b2e32648970cf56180297de4908feb7a996fede4ac6eaa1e5df6b8ecc57511152e1ff5abf2d9ae97df591fc0c83a479e3f51651e5237377d601f507bce6abbacaf555967d54d9f7ad383ff77cfdf2d1f37fee0b8666414300afc2414d0b59006386c620d30a4169a0f9646db68cb609b308cc33d8ce5214da99a3a8c839e75000cd9e05b0fd5fff8b82718fd5d307efa133c7e3d0e7bcc0283474f408cbea6a646f39cb24cea3a4ca12d5fbefc965b6e094ef8e4829ea322abdffa76c54707cf811f122973be5dd2481e9f41dd37b67792d4dcf3bfa9073d1491ecbff6cc4dc4f78bf77ef5d0a683d70835caedd1af5d74e586854bb7849a2de8d12f3331aa78e7bca5ab434ddbb881436558accc7abbeed776ea19f0c7c7cafc46f3705cfda8fad4e6a3973bff4023fe8c3bf8cd9b64ca973afc2103b73c19e8da91eae9e03edb12033b4b2bebb307af062dea968f1b1f32d7f0f98474094176967f0cb07e7f6795bcf6e481523e8465cb53f843edd9bbe5aa8b83563a5fbe7a412a16cb89d7c8e9b9f24efd0f5241764e62fc6475deb72d9297825c4e9f29770e93d24f65d0e0035efdaf94c1dd04bf59f689db0e9044e3ff2a92282541a1f08b02bab63d78899365fc104980f146f5e10434d7e3b242f73f59327315721c974a26553eb92d44810e63b77cac9007756ef15510777d0e0a513f08a34fbdc981ff43e4ef761eddf803c10c320a18057ed80a141616262525e157dfe3f1247ed13d7a340c715400e8595ca1042a2f2f7fe49147ba75eb86593418eb661f0247444490414f004b0204044664f65c8b3d0c308b1e43dd980687c4e84302f287d31f8992d42a26d56fd24275c99e8cbdee048f9254d7a030d098802e2849fff297bf1cce01bbf8663f33b8575aad9c909595e1953d458bd33e5ee262f903a31fba4a526aa4df3192e6937daba50bde2037edc7a48055b2941d5c3e36edf8feb34aa236caee68193050f07721165d20970455ab4d8b6cbc1a56c0ed3cbaf10d4734164601a3c00f4381432a491f7ef8e19025a9ae3801d05092a2882466258a9e803c7a32047a08c9c063a81b1807a6ac201d80c3c3e90fedb3a4281cc32cc659371b071f3c04c38625eae10146936112388ca9ccb15959fc3a7569d9e61f4d3d0a414675adfbbd4365bb4c3d7a181be4fbed5affb180c3cab2732789ef541701bfadd3d4a387a566939cddcea31bdfa4458c9351c028f003564097493886e04ac9cee8929196f66386997d564f91779ba559f8591daa69e0d04ad2c6af81a4431a83b74fe96130a9a71087d8ce840c7e18e492df2d96beb1b271db9287761e4698ef9feb75d3a447aa6c5e2a53567dff9233191dbe022fcacf9ae959e63517a80ff8e2dd7cb737c40f3f5913c15501b7f3e8c6bb0632134601a3c08f5981e0722898c1f183644f404568e9568c7e1f546b4a496a3fc230c7c0830f6910722a0cc929f421a3350bf9e2ea25cdf4cade2ce9345b9057671fe50f4136db9198402dac007ecbfd82165ec284370a18058c024681c35440574461aa26c712b4742b46311b722a384863cc1c5e8734541f656dd1165232aec829f418b277f076033d45607aa38051c0286014300a18058c023f29050ea9580a2ea2ec5a71d6ce1c75dce225298f501fb95d4d7df02469e366106656c731c0286014300a18058c024601a3c08f55015d0b852f9670f86e069c0a397bd4456b7a49da84e3d12e001a074bc0597b1f6c1382c93d6bc284096715849839882a38edc65b6f1d7f5a83760739fd18074326de7aeb15e7f66beca1359f6ee75e71cbad132f769e80e68bdfd82332764601a38051c0286014f8c12a602f9388dd0ec53e0bec66e6c637c1c52d5478bee92529e33a12b51f76f885314b634670c471f86a4bfc2a28c79435ec71f645e3279c99039c337cc2ff1b7f9eb3dcb1fbe41e7bc68811c38eed68e77e8a78c890b123469c37e6f4c61e7bb3e93664f479a346fcf254e70968b6f88d3d20636714300a18058c0246811f9602a88274451426735d59d1388ca57d2ad89871ec362d8a230e3ffae11f038f997174340d1accf0eccb0665e9e3507fe228c6fa2dec2e7ea5d5f8534c35ea0fd7ffb49ba5c32108d17cba55e004f86aca1df2375f7c476033340a18058c024601a3c08f55015d2c05175187f46d24b8dbed31846276e60808a84bb9c35d8bd9dba30433f6d9f058fb02385a90e390347510d59fbeb965d099ed0aa73f3e634b90c9c1844f0d9d15d1c1263f959125853ad802fc79a7860ebaa5756be9f80d1d9f99370a18058c024601a3c0f75a0147458421d3d5a009d9c3d7517a06334d08db0497662b49b176484540da79c7b0091907b9e00fcda079b2725449139526d250490ab39aaab4f1773f7fc1e08ef8a3dc452bdf9ff89bbf5905d998fba7feee8476a930f097157df6eac3373c12fbf8f4cbd3574f1b37f189f1f74f3bb77be5b3975ff8ccea210f4dff53e4bbff37e19139e3ef7c72dc90ee8958d95fbc60faa357fee375f8f61bffd05de7664ebbfbf56e975d74429e8ab667f1f323273c0210ba0d19fff895bfe86d59c2a06cdbe737fc62e242cb34647ccc8c9978f705a7f6cb498d96cacafd65fedd4b5fb8f08667c2ac5b30e6c63b7e777a3bd8a3f9cbd6cc79f6c2ff2958551179c5ad4f8f1bd10513c51b3ebfe3dc897314edda5c740b9d0fa28458f7a6758c1ecbffc6dc38ed77c3d222764fbd77110897f8c1e7e53da83cf5ae7115f3a6cd8d1c78c15067fe6eba714dd31b058c024601a38051e0a7a680a300e3d0518c4213f0c1e491d1ea703f4bdac82c8385b03b3a66ed538dc01feea8c44f09119d8fcd8371d5ee863daa44bafcf2c64b0677ac2adc505429195d464cbefb5c91d39e9c7523ead1a2959fbf3f7b41595cc6e00b273d343e2a21353127a715eacc81bdf2e2123b0e3ea39f14f4eb99911a21a517dffdda2543bb27966df864f6e7db6a12fb8fb9eeee73f1b451e2131213e3da5d32e9ea13f2e2362c5b592c1297805f40eeda6eb9fc02d4a3db562e78fffdd99f2fdb502911fc3b526ef1c7dc3af5c65f0e4605bb7ed9d2d53b2b535313f372b3c3ac5b70eedd4fdf380695f69ac59fccfee4f3357b7c596d953dfe244c62f751178ee85255b86643515962bb13aebc758c6b96d036b46ee2968fdbba5c028fa90bcebd73d68d63f252e396bff1d413456ef1439e977e129f969698d865c425970c65fe953a7f37ddc21c9a99320a18058c024601a3c08f4681e0b20a8c3ebae0593d757441733e256df048ec8ac0d8210a67b50d671d36219778e3a9e9675d342a274e3d25cd1bfddbd33f7bea9da5210d0f2297bdfe8fcbf05073c82d1ffd635466a75efdaec8ea1e27c52bff7bc66fee577663eefce8c6a1fdc79df251a1bf6376fe907e43dac429ba7def2105eb72f070f2bbd527fceac26c295b79e388dfa8278b436efde81f23fafdfc0c996ab92bdba2ffde78c6fd730a9e9ef75c97884845846e43f233f18c72cf37af3ff0b7d76d6f9e175cf1abc1a1e27f27978f6827fec2ff5c3dee093c4a2d98f8fe73bf8c3a28b263dd82ab2f1aec93ca4f1e38f986a936bb7e3772b0e6fd072efcdb5429b871d67363323b76b15984860edda45f8e4b3e2eebca1015b7aaa2fdc577df366170b494cd7ee0ffdd3475b5f4ebc3f51cf15dcecbf87e7fae7bdaeaccdf4db703e725f47119d6286014300a18058c023f200582cb245650ec7920c1451498a3f510b4416d8f6849da60366114a4ac76a16dd1b6bcf1ec1332e09c09bd33c41bdd6ed084f3b266bef4a1adbcb39902a2742d5efcbcaa47d1e67cb9be725497d4b6a3fb66e1b9e1d7ef4eafb37dfdddf5d70ced121553b2b74cdaa50f1b7b7c9cecd95014d7aea0df695d6a44b6ad8c6dadbeac1ed7e5b659b310d12f71a82bfd317cbea9622cf8cfa4fb55adbafaa5c71f4fdd16a6469e3373fe86ee43db8db8f1b9615716ad58387fdabfef780fb9f768ad6ae0a0f8438614248a6c98f582aa47d192a354256e6b41eb0e549f08285af46f7b3d6ad9ab8f1b14beafea5134eb1b61e1ff947648dd2e1c92eb928febbad6e3d9de132660d53daf4f1af98ff7ac6c0ef1bc6458f621f277d1ad6e0df39f51c0286014300a18057eb00ae85ac8510e91ffc11e565de2dfc792b4899aee54dfa22fdb5711971c93dca197842d49b7ae5c52b74a4141169e79ae59511181df215553be4717b2b111d0a64636acdc22bd0b8e3dde87ea67ea67ed6efc6597b346a0a45db03b3311356859e1b285eb8a23eb9e8146946fd4a56759e157ac19e5bd679e097f44536f3af7bb31137f73ce90be1db3bb0f1ed57df089c74e1a39d5357e01a245eba7ae19aa14c657d8eb5bd0ba053dd494a36eadb7ae2c2dab8761acea4c102358b78dea9b51a1f251b4cbba2a197fa5df17ed4bead4e73479afae260d19dfedbc58d12538ff0257dde8617aa38051c0286014300afc7ff6de06aca92bddfbbe25400c3108098a04d02d904283582852a91fb19c4c31d6327e4cf561acd34ea7f5ad73fab47d6be7ada773da4e3bb5d3b18fda6ba6a7cfd3399d736adba972598fb5c73aa2335c8e996af5418be307d5021a05a408444a0a3184e07bafbdf39dbd216810dadeebf2da597bed7bddeb5ebfb562feacfd4504462301945ddff6a49d360d4e9dba043db8c677cdda7c45313e85bfe169e07e750b871f7cec076c0df14aebf1a696c5d999b79b1e4409c90e65e9d528911c7d176b9b7b203b310e9a3e3db47357e73f2fcf56c5e1e9fa73e6cfa1e76733e2c65a9f79e619b19664e05b30153b1e58766ce7ebf80f5b7decb5752be74e9975efaa759bcf89fa37ac65977b767f2d5c336b78eb49231378be14d26efdf9af1d302931b7dc00eb42ee5d920d79fc83b9412cd39e22f10cd82ef49c7ae1a5b3ffb27e79eee217dfeab5afe6d793f94e04fb971a17e18909a1f1d77f2ececd478872448008100122400488c0e82330644932eaba30ad78ce9c897366f5f5e0dd3730264d8f8b9de068bb30409c285dd5852b9f5bbb4073ebcce2ec245c23fd8fc7dfde0bbdab17674e2a7ee88f2f8dfbebb9d87bffc78f50aa5ed8ff89b92115d720e3f0e2d19abd50df70f6caf21989d076e13c1cdbb9bfe1de859973f755bcfee1ce23909235d35032b97b5fe9caf503342d72c8b0b66a7d59db3f0e1d3979baa50326aa71d113baad6d70ec6d71ffdb2fbb203bb3ec5fde187fefa49973d3f82b5c7135573a99b7feb5e1c585990bd7ef4bdeb7e74c676c566e418afdefe59b036b8421a045b99917eb24e29168f7f1936ccec9c682f9f57bd64fa85a5b72dbf2dfbcf1cd938f7fcecee70f615c203ba003def88fbd2ece6da8e312e09d7688001120024480081081e125f0ed97a4a75a6c3335aa98e8b8b13ca96bfdb6af4e7ef0b1fba4b9283c943e8999c50b33d9c19ef6d3efbdf8087f55e9bb4b5e9cf4d1b38b734b57e6f2d52efcfd4fe5ebf088e1520f24ca9afe2f33aa3f78bc6946495a675323eeac5bf992a6e2b9e229c53f7bb298afe138bbcf2b85b191f092f9ecf9f605b9b7cd9d72db5ca1424fd3d13ffe8a3526ee7fe7faff327db4fcb649334ae682ab7df7efb673ab56e78c15942956126977efba959362363f549a3da374f90cbe0ddbe9237887119abaae3221cf52772f2a6f799f6757280cdca2bd08b79dcf48c523d12e5c6531f2227ae72f1f1dffda1f56cf9df1b3579febac12f70f12e352f89454fce2dc02fb427b448008100122400488c0a8223026e80ad9a0e0bc47858cff5678b727967893ff7bae302fec0a99a0adcbe5c212dcfa67fafafa8442cc0887fcb7c2a1d3a74fbff2ca2b4141ba77a72d5d3d6762cb7fbff57118cf25cdcaca1a3f5e8b8f303d76cc7bf1a8e0266bfee269f8c84c6be34ef340b2d617429661fe34adc27ec5ba776fc879719fd56039bc6b2a335da100bbf5d45e734048a2fe59a1c21e6c3a482359f3e7670236d1d8600eeef52035bd87a5b80d18cf10da95f28f97348cccb8787b4e192240048800112002c340a0a9a9293e3e3e2a2a0a6f8497c964b8c584bbd81466708b2a4b105176bb7dc3860db9b9b9688606b80d4ad1d1d1588287848c90176c047bdc8626a1392c670df3c93f8f0518039678e3114a84adb71033379ebe4392f4c66190072240048800112002448008dc44022449bdb099eca544048800112002448008100122400446900049d211844f4d1301224004880011200244800830022449691e100122400488001120024480088c300192a4233c00d43c1120024480081001224004880049529a0344800810012240048800112002234ce0dbff5c5237c0acc50f96a4c6426fafede2a9a37baff7214743190dc3532f197bbff8ef372bc27b58d4505c5f8fade1c1e78c19e074424c4cf71755af5798afc709d52102448008100122400488c04810f84e48d2f96bf111f793d86b8f84d40077ae74bf37dd5314f94f83e147a5a590ed1c2592d470e7dd0b4bf9a7ffe303f0b39d419274feaae78c539d9ffc723d09d5c8cf04f248048800112002448008dc3081ef80242d7cfd49a6479b8eeefee093eab1938b664f8f69bf612e833be876e2eb8ea0cf39b8e54db130af5ff993ff02c87ce98f2f96ba42a2ca9ff783b999d15d86f566d2a4376538a811224004880011200244604804be039254a9c04eb81ade787c1d2fb7f6560c09c08d19cb3cd5b3f065a39efc487dd66304e37bf0359bdea8bc91f4f6b1b76f8e16f9ec0d8b324480081001224004880011e0097c0724298c8d4515363eaf10425f01baea377f5c66c855a14673d98eeefadf8fafe7df660fb0f8a9d7eebfbb3025510e0e47578fcb7aea8395cfbc5bb8ea8d57cb277cf8da4efd230f14a725229f2bfff8d33dabdfc44cd6e2b5ebfe9f0553d01e93aba7c1fcde4a5c92c4f7c45f8d79eca5cdcb4ab3f180edc2e175e54f0db00a39807ff1380dabde7a7cc96d7c24d856cf57879f59f2d4b1c2c73e7c6dd1573bd63dfe26df54e1aa8a57cbe1f87be5cfbccb020a4d598586f1ca84b14ca66aa6ce2f044852407b037fb5ada87fb787f96ffdf9f9db12fb0effe7d34fbd3d3a2e960ded1a9510012240048800112002df1502df01496afe47bd2d3b3769e5bf5515ecab78e4576f7b87e6c1d73efad9dc492815ff7eb44537ab78c6e25fbc76e1d43315f58b5faa585b3a05355ec3e9537de32767a725c66927612de538952a6ecacf5e7c12c071e1f459756e76dcb871589e55fedae627e7cac0d1f08fbf5fec8a997c6bc1c4c9cc1e171e55b90b57e682ada9e1abb12953a6143ffed262f3afdcaad71b863723e55f2acee7fef9fedbd2e45f9d3d7ae2822d3e35235b13ad445fca7113e2548e710ab75ba57a822a4ec6c7ef6dc83fb3f6c5df2dce742f9bce5dfde25cfe58d36e58b66eafb87fa172617e4e22d692a52427f97ba33c11200244800810012240048683c0774092c2eb8ffc73ec5bff6bf16d93724b7ff6d99cd2dd6fff761dde059ff5d8ff403dda73766de94fd972a2e1a5bfad2f2d3495411dfc33ea5157d37f3eb98c2dff653db5effde5b8ccea97dab7ad2d7bdd9cb5f9b3f7b3a363d0e2c907981efdfbefee7ac6ff9a80c2b54295867dbf5bf9ab0ac85a5bf5fee20999d97e7ea4b281fea5e2ac38c64dc0b5d72b2776feee573bfd2e0ae80e741bb41b7810f7feebf5972fa427de7effeab969d147b7fd5b550b8c97cbbf3a85777f19c4fd0b1e8ead7f6ba7e6aeb4bebfed19f6fbc44242a602224004880011200244e07b47e0bb2049f132cef5ab97ac9fbfeaadd5e5b74d4a5bf8e4c63878e4975753e37034e3b27f5d55851757ba200ef59d6bacd260c852015ca8fac07d3a7a7cac7b09d133f447fff3c5d79986addffad65b895f9d0298cdce9cb7d7fcbbbf1ee58db1a2ab691fd3a398c6b30dae9b0e9a82fd4ffb91689c00e6bf1eb9905b32a574edfbc6c7dbcf1c3bf2e1bfafdbeb274d076d4830a83fb6b7fe18a42c5ec5823557ecf49d841fc47fc5fa00051e667364460488001120024480081081eb20f0dd90a47cc7f7bebd7aefdbab5efff067c569b3eefd51d601156ad09ea6d3c7cedb6270ad93a568fb459498599893bb4bf0ca4a2655d9bdf3eed4d3f4b95bb5ed7d97bf3a336b1a3b12a45b3dd68eee1e4f76002b7f9360ff59ab7e2a112754fcb2bc6ef1533fbdcf5090392977eec2dcb9b38a5ebc675dd0d30494314c19fbb730409e9df8f72571ffb42aea234439224004880011200244e02611f80e49529ed8db4ffd6dd9672bf1447cfde7e77a7e36236eacf599679ef1676958bb1877bbbfb6f28586b79e3406aa4d1904ea36a83fffb5032625e6961b40b8a5dfdf9b6cc8fc82fd4bc529b4726ce7ebf80f65f463afad5b3977caac7b57c1664180da85f8dff8ff4c4cd1fac7840ab5af37b00062853843cef28bf8dfebb918d7b0f841adfddd0a92a8412c6997081001224004880011883c81214baac88770831e0b9ffaf06543d321f39153b5576092a97c119e976f6ffb0a8ebdbbbfe1de859973f755bcfee1ce23909235d35032b97b5fe9f6cb2ec8ce2cfb9737c6df3b69e6dc3476d61c1f2f3a4010e6ad7f6d787161e6c2f5fb92f7ed39d3199b955b9062ff7bf9e6c02a414236f0e0407bc75e178ff3dfa16a7d59db3f0e1d3979baa50326aa517942b7b50d408d99ccd2c77f1363ca30944cc1de86a4386de14bcfbd14034dffb9ee6de154ffd9062b64a6cd7beab5af3ef97cd2ed3fc88ba959f9d13809ffbcbbac551fadff19dec3559262ff297f1d434823544004880011200244800810818811f8f64bd2af7bc7264e2a5eb8bc78a11bca9586fd2f3ec5ceb9af5bf992a6e2b9e229c53f7bb2983fe638bbef02ec5cff5fa68f96df366946c95c70b5effedd766ed5ea9cb18232452b9173e07bd7ad9c14b3f9a1d2ec19a5cb67f08e6ca78fe003a0d0d475d5b31ed9dd8b67ffe521cb93bcb9ff46c4bf789ce6abe7db17e4de3677ca6d7385fa3d4d47ffc8dfceffc93fe62cbf2dad64611ac6bf6fdbe745cb4ba3bd61000b234e9559ba30139fd57ac0234977feea8fc6e9cfcec89cbbfa49e6edca3f6ac07c56cabfd09c3033a203effcf2ef09e5890011200244800810012210290263ae5dbb36802fef5121e3bfedefefc78a58e24d58e29f1776711b9a5c2e1716e2d63fd3d7d72714624638e4bf150e9d3e7dfa95575e0909386bfee219935335e362a1e5d8de0a73c04d405986f9d3b40afb15ebdebdbe6786b24285fdd4de40d310bf810559f3e7678202ec8d0de663014d049a5de79e689c9055383f335d818d5a03822d34ccc7c78b36ec1ddafd4e582b5dadb036eef43dc055c23ff6216bfe83f3273bf6be5d11f9ae5e2721aa4604880011200244e0bb46a0a9a9293e3e3e2a2a6acc983132990cb7987017fb8919dca2b2127494dd6edfb061436e6e2e9aa1016e835274743496e0212123e4051bc11eb7a149680ecb59c37cf2cf6301c68025de78841261eb2dc4cc8da7ef8624bd710ee4810810012240048800112002379b0049522f71267b29110122400488001120024480081081112440927404e153d3448008100122400488001120028c0049529a0744800810012240048800112002234c8024e9080f00354f048800112002448008100122409294e600112002448008100122400488c0081320493ac20340cd130122400488001120024480089024a5394004880011200244800810012230c20448928ef00050f3448008100122400488001120022449690e100122400488001120024480088c300192a4233c00d43c1120024480081001224004880049529a0344800810012240048800112002234c8024e9080f00354f048800112002448008100122409294e600112002448008100122400488c0081320493ac20340cd130122400488001120024480089024a5394004880011200244800810012230c20448928ef00050f3448008100122400488001120022449690e100122400488001120024480088c300192a4233c00d43c1120024480081001224004880049529a0344800810012240048800112002234c8024e9080f00354f048800112002448008100122409294e600112002448008100122400488c0081320493ac20340cd130122400488001120024480089024a5394004880011200244800810012230c20448928ef00050f344800810012240048800112002d184601002ba05f0e02c38f82eeca91fc472d0c34fbc00b11761c3e600c308fa0ff07b833bbad225058aaeba8fab6a6ed091afba4657a44be8be585d7bc957c67252e50156e1c7c3cd3666badabe387c22a8990077be1d8dce903fd97ef178755d87af704472e21cb4c525b7ca3a1b0ed6584624a88835ca159464aaa1bf1fa2a27adb1a0e9e885477a4f9083cbfea4cca8cccf84e2f2e9920eb3c7eb02660a28c9ef9133054e17f5f02aad10e11200244600409d02ae960f0b5456032c11dbac1ec063d3e0fee2f83f2f9c17611f31fecf886f6b9342e599da2cb0eeab6aea8c4546ae0aecb75c9dd2585f90529cae0ca52e50176e1c7c34dcdd5e9a6ebb303aa0fb0a34acbd1e932d3d40398dc9c43e21cb8ece9d9badceca9372786a1b612fe7ce026e364d26563d2e972f591eb8e341f37cf84488d2f97832391a70b9e28a366fe048c5df8df97806ab44304880011184902b44a3a18fd6e27b3e03783990e76dc0120eb0b368aa0ff60d737b06f397fc6326e6c67435da08f94a9599c7a8c83335b2c810706dbd3149465274475371fab0af428551eec2ffc787a5d2eacdccf366125de3e7cf3b07c0edd489ac310bb33f4a66fa446f8f3c162def6e16900b571a951d71f49dce27c7c3c2f2bb8a14c87016838714e5deb0ffe9f6074cc9fe0b0c3ffbe04d7a47d22400488c0881120491a26fa9e30edaed76cb8fd0f352e8bb9d2125ac785275e01c2967b5e07ba92db53a1bff3d8ae6a6f119f912a0fb4627b438bc7bbf8af010838cd1aea1880370e561a6286c35726cdc1c6607bbb337c115c9fe721cd870e1c09b913275024bb23cec78fa7d630dce33bdcfeaf6b6886f67db9ae26a8121120024420c20448928607b457039bb682218b599fa98495cfbbabfd6223cc9f0189727038a0a70f4ebe0f6b36b3434b9f859f2f64e5985c3df0b77760ed7996f72666f0039059e1b5cf5999b8ffa5b07d357089cca0a70db6bf01bfdf03331e85d796c3a16d1033078c39ec90e533b8ef0996c1b4fe1db86b1ac8b0d12ef8f84df8cd0ea1586acb1519efb8256dbc523ee69acbd9d76fbf7caaa246b6627eae1cfaf0a23fe7e52fb6ec3eecaeabd172f2d8b1d1ecf7372e51a70550c640b7b5ee925bf1e9163d5892a2b8d6786cf7eeeae08b38a79bee488a81d6e3876b03e3082d8f403c7c137d4e59b1f1be3c5d1292707436eeafd86dd116af5870abedf4fe5d872dcc445b543e7f3ab47c5e7182edf5bbe28a4ccbf33935da77b7d7fd797bd5c04256a337dc5d949da04073acecb45a3edfb60f2fbad52f2c2f4a4f50f065dd174f1fae3c5c5754b642afb0b6382664a4286d8dc76baf4e9ea953bb6c961d1f547a9b188843541412f7e86511ff2c00bc1c37349e5372d1fe36c4dc3a403c45a54ba671c9726cb2dfd17ce6c82e732d0f6a5adfc553176453f233fc780e381f44e2617ca49258bfa4c6ab92f9f1cd93003e6effa13ca5c6573fdb949f953a0ec7d1e572f4f6db5b8f6fe3fd8bc57f45f01e237ce80d2b8a321551f6137f67b35dc2bf68bf70e289f1e4dd8af0179a93d8fa38dce8f757a2012a2602448008dc44022449c3835dfe2cb36bb2c0040e724cb0a916d66c85751f828943b508a74e42c214484b046d0a335bb111d618500b418d196c3170ebed3005cbfd24e98adfc21a235b6d7c6f03b4e7b32a22fe3bc1fc2cc4a102fe0c9aa3c158040ffc1a7adbe00b35c4c783e91156aba91ee4e9c0dd09eb96c2733b60d32e304c822e0b54b7c09c3b61e9336039015b24efcae2662f31e52533f5dade6a8f8e4f4e50462b15e0b075dbedb818aa54c7c72a63592b7c3218efd5abf9f5201404338d1c5fd87516b6ece7cfc46b53262ad851d5b8906b45b5b30b3915d82c1f1db6f0953c9b90f2c8c47316701d4e9e9c9d9f0c8e2eab4da64a48489f65d45b1a629531f2be58b7a2805885521e1315afc268f05a8aa43c43120e5857e755658232496732b57d50c96b554fb0fe9f9ae9a61fcde2a2c0656db1743a640913b4ca04f4a35bf2b02119657a7be3a5aea8c919a95cbeb1ccd56d8d962bd45c06ea5657bf2a3d7f26e276f5cb5429395a382848f73038f0ad8bfbdf557d493c9e58fc9b41a4bfb14ec9787aa6dfcf46cad16969b669a6a4a7eae7983a5b2bbb140ab95cae2be4f920cff102cfc99a3952f3413c1e7f820179897eb5498e57e83c09f017c2536a7cf5c672832e0105bfb5b5b55f919014af88e5e78344fc6e498a7f1e68a6972e9e951103fdcdc73fadee4999263e7feca2f361579b384f4b556d81498cff09ef5f2e01bdc49d500ed7fffd0df64dfb448008108111204092346ce83b5e658b8ef35e808d65a0bb0d6668991e7535c1634be0280a92a7616b39ef2b0b1ee2f5e8a639b0c5dff93cb6e3b80a0f6d84c7d0a007363dccf4e20c5e92e2a120ff4f24f37ab402566e641597fe167e6984e58fc233e7d82ea6ca4df0dc56d03d0b5b97425636e81e677ab4e70cfcd34fd8d1792fc34613dcb308b6f0d5595160d214cd657ad47eb2f2dd8316fc999dfdd0b23c361b3a6a3eaec08528cd9255cb26f8d538fde9fece0485367f26173fa6f9e4e1061bc865b26f5a793d8a6697cc476ae3a68eef3f7fd653e2a96b34e8e5e03c7bb0d253e0fe0c2e8f583cfc5f0500d6ba43dbaa4e80c6f0f032bd5293045f04b6df1bb80bd05a6bfe081705b99255a66ca56612809424d5cc2a607ad472e86d7fd5aa2d5e827ad4d17ef2fded07996b7de92a4346eab4a22e1bdb6b3fbeef42f2bcc21485bdf1d0279733971526c57ad47e981cb4c5d344fd6bab3f2d148b07b438c7fc92b7bffcc2ae483ccae22cd4a3cef6ca77b65bb01e675c65d2a5de920387dc4e82784acf07713e7ea1046425fbb5d72d01ddd6def8a5e689c76b304f4f79f0f86a5533518ff6771dfb640b5bd6f7ce7f908a9f639efa9c8905a6bb677232709e3bb4731fea45e1afd090f9a32d568a8f97a75f413c41533c5d94ff097e3a797ae1fb94e2707ddf5f9f5fca1101224004468cc0f75192aefdd3df1667f2a7d4ddd81dbbd7deb5ce3ce018d4bce73e097ea01a1c65a09e0277a5b20a7f799fe9514ce33d1203e6009e696ffb3c508ff236b85c139f0f8f61fe0a3c5f0a7bf8426113eafff689b8a0067ffed86db4630f3c6d04f958f76e5325d3a398c6bb0b208f8f272e07cc07d8897ba66701c686ac597acc359327e1319ba586e9514c72195be4f42515fab8e6db858e4b751d9740a52fc2b2afcf9f087e90132a38b3bf4273d7d41495e91264f6e6e3fb2d7ebe50008494472c1e2dbb54b1bfab8ee9514cfc38f707341ebc83f68e96e34c8f62b2345d716527c525e80082c5b5bbdee4783c33df7da93a50b24e4dc1f5b6fe962fcfb8ad6abfbc323b23293a4686e1f45b8f1eb6a4de87ebe2ddb5bb4fc867df8236c2f5b8e17390f2af04f178dc61887c48c4131fcf66704cd2dd0f3fcc42068c1cc64463994b94a7f47c185a3cd2fd12091d8b069e27a13cb18ae8f8e64f8dc7a9d1d970dc7d99896ffe4bc78fd3489e321317bac15e5bf5aed9333f44fde7b0474b88cc072c15e509c952fcaf87039eae18eaf757bc192a2502448008dc4402df4749fad7ed1ff44e1de783dc6b359b7d7be2b9b31e01a2cb622aa71ed7dc50b4e04fb8c77c022f01718f2f0651aeacd0052e19c8e2a16001ecf1d3a4a1fea3f172cd3eb8e23ded1ec77ca2a815d23721b7434d8c67479a4ec1399b27aa68b870ca6d1ff2a15231b1e6b075b98fc4320922e8a410db9002affc0e391258a02bc96777355587ded514521ed9785cbd4eff48500404a75826c105a98a195bfb576e038d468917165adb3c7a23b81ee00d5398423cca98bf6b4ebbf7346b4cd41841d4b376f8353e5c5ab5b701f8c113e123c541d2bf443cc171fbfa2b1e4f94428e13c0d9d5da6ced95618ea52867672b9e94c6dc203cfdba24c5877728b291ec5790ad277e293ebcb9084f2cc70e878e6f271fa8a7a7ecca68f7fc1f80273ac2ab46fba36451724d8a0eeadc7344d47f9f4c25311f58a4a13c354a29fecc3e340dc821d43cb0c47fbc028fd01e11200244600409884aa7118ce766347d6ce7dbc786dc4eb7bbc613a52c73a5156279edf9b52041e6c19abbdd0675e7f1225248cc053c517fc05de6fbe83909cf9f818de5b0142f0ced810d5e8b10ff8d9720270beef929ecd9ccaaebf46cedd3e1d1a4a1e376b4011e2902b915d63ced6b6ea01cfb81952b79210b5ad3ec0cdc0f96a4210feb712fa57acfa2fafbe7f405f1ce9a133e2dc7ee329141eb49b1bb9a44ca23190fbb272824f1025490aa5cd95c1de2f45b3d7577a9a03893ad81dabff1d50eea57c715870b548a89d339f05ffa6db96cd327a9b5b714401d5ef680ab79fcb5b54e97ff4a33a048c53bd9d88625093ee21ca4fc3b25e241ff03f6978fc02f9efe0eab13526364f6caca4afe9867c35f0020ca132d44e683743c1e8ff8bc7cdf4493ec9764fce27cd0b9044fa1d990f19531ede9bc2afc69c72d9a95897e595803c7ef6cfd4b55fb3cbc045b6f5ce4727e7cd02278f78eaa77feb47c2d3e1f84f917cab3a3d9ea2c14e3ef690082e621ff575124bfbfde86284304880011182102a1d266840219e5cdce78007e790fe88b21670238eae1e77f80a5b700e4c0a27f85f13f843b0dc279727e15f300ecab87b22cd85805957f86ce5898763bd8cdf0737e9d5536160e6c84df4c60178696af876ffea7fbbc7fa87f14b64bb3e0ce47609d0a1a6261c53246a86a174076002a3c1128a4a31ba1fe87906580edbf871d9f815607f38cd05d09e5af7a2c023e2d2d1d2ebd5a9551b8a874923c8553f33727f18f78f299c99429c61223f45aab0ef2320baf89ecb0833a7eea1c93edcc2595367392ac659b704bbea6e87e5321ae0b65aa9cdb85df69cf5d2666dfcf36ef59a23c62f1b823f5f422704148ad9b552abb056f374a606bc4ee84d24d915a5062c88e9b98969ea4c43552dfc3aa42fb05967fd45b8dd9ea6cd343e3eabe6cbb2ad34cd4aafa2c15bbeaeed0cf54a5cf58629437586539d37351da769e3bdb8b97b186aea962cb0af75d5f417ca438d499c5fd5bc012231a0fff5797687fc5e3b11f3c67cdc956730f952f3c55db082a4d1a5272d6bdf3a90793f019c853743e48f0f13cba014f2da852715ec9a0ebd8fe6ae97eb1d5d9d0f8a5f880c4bc4227a2e36bd16bfa21499d33af6c6c8e2a9d8b174e7730152f35be5fb1b5e3a818b01c7cd7ac7cd8909192575ad6fbc9ae6671ff75d0273a1f2cfcaa337a72272fcf4b12fcb7999965c83c94e4e0718c9f43f8fefad5a22c1120024460a408448d54c3dfb276b3f006f632a647db4ec1933f66c1ef781a6abe025922180d206f834d6fe20d4b30963f7dffd28fa112af29c4fbe2cba17c294ce340c1fff2e012a78b5fe6dcf12ff026fed2c8e091f590c59308f50f9be1f91de09083e90178ac1c1265607e0f5ec2873af1eb3d573d6b6ddd7ca68fdf96bf00962e7603fe9a35505e062932a8b7f0dec5367555472d9dece2b88c0cb5c261a93d6707e01ff1e43676b15ff224f6ca1d7d26e771505b55dd6c73e12de43367cdd273c90abfbf68849914c57eb7593295e4c9c185773509cbc842e100e510b17858e07decb1e67cea65c4d9b2dc25f399966e8889cfc8ce4888e9ae3b5987fdc5dbe0d18875549d9eadcf463deaec6e3db27b1b7f55a9db4150bfb0b46effb62375ed2e90a7eaf2f2f3f4e9c9098a68ec76cd0755b536972c59973f6b661e4afc4ecbf18afde8a91f5c6c69cc8581f8964cfb936788f309e580ebe77c0c52fe25e291ecaf783c18e1fe6d558d9d0e79427ae1ac598579d9c9aa285b07ce10099e3c1ed1f920c187af207c01e46a9c5719baa96a5626d12fa9f843e689c0476abe6103e2e35b5b79bac506518ad40c2e5ed67df6d0915627c8a29932958a9f3d525558dfadddb7f388c50951a985f34bf025a9e2f347a25fd23c25f833469882e76108871bfcfe0aadd09608100122308204c65cbbe6fb9d0c8dc37b54c8f86ffbf925352cf1262cf1cf0bbbb80d4d2e7c100eca043e79337d7d7d421e33c221ffad70e8f4e9d3afbcf24a689cc35e8297908e4f056886a3f5016dcd5b00713db0c77bfeddff60162cd001ae955dac0baee56f25e4a5fca3625d3a9d995cdce15e4f0dad1b548221a52ae04a8744541e6b8d166f59027cbaa42ad662b180deb4dac0755b8ebccf3f97d16324fea9e5740971313d9db5964b3e038dae4097e0aaab763fb4667af1ec3847f3e11a8bcf82cf49956324918d27a85d611723c7c7a95aeb82df67afd168e4725ce4b55df23c67d55b3da85fde725cb9d2e1db2563c0d969b5f86a69747abcd31a82e0f8d572672539f0c7359c4e2d16276b54d2bf483c52fd0d8dc75b824d27c7c738ed3d7575166fe1c019d1f920c147ca9378bfa4e20fe533084f89f1659d8d71b6d65982fe70e2a314e12919bd84ff01c74bdc9914ffe0797853be2fe22152291120021125d0d4d4141f1f8f0f591e33668c4c26c32d26fe99cb80196c0a95154a204c76bb7dc3860db9b9b9688606b80d4ad1d1d1588287848c90176c047bdc8626a1392c670df3c93f8f05180396e056c8fb6fbd8598b9f14492f4c6197e2b3d708672935ed9da6869b9dcad484ce63252d8a39aaafe4378cce8cdefd2688be7e613a0168940f804e8fb123e2bb22402a39c004952ef00f99d79f59651e67b40c0d6de6a73ea92d3f11fdf5b97bdf96cf548e9518c60b4c5f33d9802d4c56f3101fabe7c8b078f4227024440820049520930dff5e28edafd1fd4eec7f3f66a3c93edecaef33f073f127d1f6df18c04036a9308844b80be2fe192223b224004be3d0448927e7bc66a1822edb8247a15dd30b4149ecbd1164f7851931511181902f47d1919eed42a112002c34340b88f73787c9357224004880011200244800810012210060192a46140221322400488001120024480081081e12440927430baba05b0ee65589035985d18c79f78017ef1d360bb08fa0f763dacfb33e0572fc343f88aaaeb4bbad225cb17190baeafb2782d8daea8b848af0d3928551e60187e3cdc6ca3b1787a683301ee7c3b1a9dc1682cd209efa9f4158f402e2c0e83c6a52d2e31ce2ee002ecb8a245cb979716e9020a07dd11e2e122c6673a1f5930e8d1c37f5020644004880011f87e1320493ad8f86b8bc064823b86f8732be2751edc5f06e5f3838f44cc7fb0e3e1dd9f770f949960e1f54a522e8d4b56a7e003d303a3d41595984a0d5c6061987b25779714e617a4785f67e5a92655ee39ce7f861f0f373557a79baecf0ea83ec08e2a2d47a7cb4ce39f0a3f80d9f01f0a8bc3a06170d9d3b375b9d953fd0db9c95353d4ea0c5d9a7fe1a079773c0991e2c3e5606479f8a8618c53170000400049444154d8c0346af80786457b448008100122104c806e6f0a2612bcdfcdbf959adf041f1aeabe035fd884ef120a4c11f41fe87898f778227dd7cbc572fe8c65dcd8ce86bac02853a66671ea310ece8c0fef1f52d2149465274475371fab0af428551eec3cfc787a5dfc1b9f3c6f870a7614b2cfdbfbbdd43dc4e0a61484cb61f06044ba6f397deadcf8ccab17ce0e5edb63e18be7b282f3bc14c973f03a3fd9abb8aef507cfc8d1c1ff3abb44d58800112002df27022449c31c6d7c5be8b0a6e1f61fe9e02ff1af30bd7eaf1673a525b436bed40b0bc3967b5e07ba92db53a1bfd3f76e7af711a9726f456f6668f1784f2ee06962b117ff78ddb20c6f1cac94022c867d277c0e8385626383e3edbedbbaa376df2eff97b00ee604fce2d11a869bcf70fb1fb4b76440048800112002e11020491a0e257cb1bc06366d05037f45e9994a58f9bcbbda2f36c2fc1990280787037afae0e4fbb066333bb4f459f8f942568ec9d5037f7b07d69e67796f62063f0099155efb9c9589fb5f0adb570397c80c7ada60fb1bf0fb3d30e351786d391cda063173c098c30e593e83fb9e60194cebdf81bba601be71ddd5051fbf09bfd921144b6e43e3572c82c47360bb150a26c067efc1d7b3c094052d66287b9a3959fd322c9c0913e341e67999bda46b76802b32de714bda78a57ccc3597b3afdf7ef954458d6cc5fc5c39f4f54394f3f2175b761f763bc047a4ca63c74633fd1097a8c34b35f179a9ddd63acfab3a758b1e2c49515c6b3cb67b77b5df6b4cf9cad34d7724c540ebf1c341b228b43c02f1f02df63965c5c6fbf2744948c1d1d9b8bf62b7455bbc62c1adb6d3fb771db630136d51f9fce9d0f279c509b6d7ef8a2b322dcfe7d468dfdd5ef7e7ed55030b598dde70775176828287dcefb45a3edfb6af0640bfb0bc283d01df510bfdceee8ba70f571eae2b2a5ba157585b1c13325294b6c6e3b55727cfd4a95d36cb8e0f2abd4d8472d0cf36e567a58e43ff2e97a3b7dfde7afc7cccad03f8f171e35f2a27e86b6d71d9fcdc24f68a777ccf5d1458bf38e0ee3b5e5a3a4b9f12cfe2c4e4b435eef960b7ff9885c623c52734ce6dfc0b6fc5f85c119ac3b7b9b2a437ac28ca5444d94ffc9db52ce15f84273f70d3fa2e9eba209b929fe137bebcd7a2d225d3b864394ed27e47f39923bbcc41338e37a20d1120024480085c170192a4e1612b7f96d935596002073926d8540b6bb6c2ba0fc1c4a15a84532721610aa42582368599add8086b0ca855a0c60cb618b8f5769882e57e9274c56f618d91ad06beb701daf3591511ff9d607e16e200ce7c06cdd1602c82077e0dbd6df0851ae2e3c1f408abd5540ff274e0ee84754be1b91db069171826419705aa5b60ce9db0f419b09c802df5cc523489c67f351eb2307817385c70e703ac1e6652f26106c05def40f934d6af3327616c2a701344bd7a0bb9d94b4c79c94c1db7b7daa3e3931394d14a05386cdd763b2e862ad5f1b1ca58afb1c178af5ecdaf67a1909d69e4f8035d67618bf046296dca44053baa1a1772ada8767621a7029be523410b7a3d869447269eb34c83c993b3f393c1d165b5c9540909e9b38c7a4b43ac3246de17eb564410ab50ca63a2e255180e5eab9194674842705d9d579509ca249dc9d4f64125af55bdd1fa6534d34d3f9ac54581cbda62e974c81226689509e847b7e4614332caf4f6c64b5d51933352b97c6399abdb1a2d57a8b90cd4a8ae7e557afe4cc4edea97a95272b470509081211cf4c672832e01b5a2b5b5b55f919014af888d57c53a25fd344f0d1e4777b00e07be7019f52844c913e2950a4fdf4b8af353e265b6f6e6afae38c6c6ab93e2a27cc38c3543e291e2231a273a90e0e396a4289735d34b17cfca8881fee6e39f56f7a4e09415e36f17e5b9ab4da190cbe5ba427ebc707cc7bbc7b7aab6c0743f9b698e4e4bb34d33253d553fc7d4d95a79c2abfcfd8690b24480081001223074022449c366b6e355b6e838ef05d85806badb608696e95157133cb6048ea260781ab696f3beb2e0215e8f6e9a035bfc9dcf633b8eabf0d046780c0d7a60d3c34c2fcee025291e0af2ff4432af472b60e5465671e96fe1974658fe283c738eed62aadc04cf6d05ddb3b07529646583ee71a6477bcec03ffd841d9df7326c34c13d8b600b5f9d1505a6194f8bc72fcc88f7d642debf4241227cb6094e97c2233a487a94d7a357e0e95238e0dfdf40b7de3d4dd15ca647ed272bdf3d68419930fba16579cc7747cdc715b8e0a759b26a99bfa43dfde9fece0485367f26173fa6f9e4e1061bc865b26f5aebdcfe2e998fd4c64d1ddf7ffeaca7c4d390d1a09783f3ecc14a4f81fb33b83c62f1f07f750058eb0e6dab3a011ac3c3cbf44a4d127c11d87ec8750dadb5e68f70518d2b5965ca566a2601484952cdac02a6472d87def657addae225a8471ded27dfdf7e90b5a42f5d65c8489d56d465637bedc7f75d489e5798a2b0371efae472e6b2c2a4588f0c0ce6a09d3d13f5687fd7b14fb6b0e566efb8f00bb2227e9412e30870a9661f1b494c9ad90f2fcbe373b8e11294e8cbfe55eda1aa5a11b9161c8fa75a301fad4a3c4e10e783ed324f7dcec402d3dd33391938cf1ddab90ff5a2f0572240907f6db15294a776af5bda068fafa6783aea51677be53bdb2dd810675c65d2a5de920327f8e1606d53220244800810811b22f07d94a46bfff4b7c599fc2975373ac7eeb577ad330fc8b1e63df749f003d5e02803f514b82b9555f8cbfb4c8f621aef91003007f04c7bdbe7817a94b7c1e5a0f87c780cf357e0f952d8c3170a9b50ffb74f644b957ffed86db4630f3c6d04f958f76e5325d3a398c6bb0b208f8f272e07cc07d8897ba66701c6f26b8a159f4256407fe1e93950c44b6191f8a3c1550fbf3f007ffa3576031edf0abfb887b9cab98d6dcdef303d8ac9d75f7e3764a3993c09dbb6596a981ec5249745f19f9e8d0a63bce6d9c1cf8e4b751d9740a52fc2fcd7e74fd4a25a0a4c27ccfe0acd7d4c5354a64b90d99b8fefb704588796472c1e2d6047fabbea981ec5c473c575d30112da3b5a8e333d8ac9d274c5959d1497a0030816d76e1793d919efee4bd58192756a0aae6bf6b77c79c66d55fbe595d91949d131320ca7df7af4b025f53e2356abdd7d423efb16b411aec70de5c04d4dc1903b1b8ebb2f7ff08d8bb89f6b49038f231f8ecf09ee5a1a1a3b933312748665997776b735379daade5fe791a6a1f16005513ef953e325e214e7c3e2c06190a7ccc48562b0d756bd6bf6f015f59fc31ecd20c2134bc5c737399e7dc36392ee7ef861861c903c8c89f67eeb59fb94880011200244e046087c1f25e95fb77fd03b759c8f5aafd56cf6ed89e7ce7a04822e8ba9907a5c134351813f511ef309bc04c43dbe1844b9b24217b864208b878205b0c74f9386fa8fc6cb29fbe08af7b47b1cf389a25648dff478729e4fbcbe1353d3293867f344150d174eb1c26def43867f7f3b98ac64da4f2c7ea667856664e0f04809b44c5231fb4b1ea9a8f4f497958a24958a893587adcb7d2c96fd840b3a49c43aa828dc1f7a5d493ebbaba97a5775a00391f2c8c6e3ea75fab788222638c532092e4855ccd8dabf721b6834b886e8b2b679f452703d109eab19e251c6fc5d73dabd231213354610f5ac1d7e4d169756ed6d007ef0443808edf9ae04567ac745dc8f2c6ec8e378625f45bb7e76e1342e45ad4ae6b293b9c96955eff2d75f88c7830d87f2e9e44188c429c187f50b1de155a3fd51b228b9264507756ec6a2fefb64389f4579324fa1e3ab51ca71023bbb5a9badbd9ea8a29c9dadcc9a12112002448008448280a8748a84e351ece3d8ceb78f0d39bc6e778d274a59e64a2bc4f2daf36b4122cc833577bb0deacee3c59690980b78a25e5850741fe03f7a4ec2f3676063392cc50b437b6083d722c47fe325c8c9827b7e0a7b36b39a3a3dd38a0e8f260d1db7a30df04811c8adb086bf0f896fcdbdd9f107ff3d775e502ea1f1fb9b06b4c2ef4c40a18c6906fca2c4df502ccf04825cc90b65d09a6667e07eb0240d7936927b2935e4ac37f3cfe90be29d35277c5a8edd252383d693627735899447329e28e62c38f1025490aa5cd95c1d0e97dfeaa9bb4b05c5996c0dd4fe8daf7250bf3aaee0b5bb2ac5c4e91cf82ffdb65cb6e993d4da5b0aa0ae86d5d5f0d7d63a5dfe2bcd802215ef94631b96c4f9605828adae0a7fd2708b66658a8c4b809f30b8319701e952ed41fc8751169beecee71226e714415db5783cee7a217c644c7b8ac429c1c7edc6d9fa97aaf6797809b3deb8c8e5fcf8a0c55deea1e2e5dff2b5384f61fc42c7b7a3d9ea2c4c8d91d92b2b2b3d3ee993081001224004224920407444d2f177ccd78c07e097f780be18722680a31e7efe07587a0b9ecc8645ff0ae37f08771a84f3e4fcf2e201d8570f6559b0b10a2aff0c9db130ed76b09be1e7fc3aab6c2c1cd808bf99c02e0c2d5f0fdffc4ff779ff50ff286c9766c19d8fc03a1534c4c28a658c68d52e80ec00b478a25148473742fd0fd99d49db7f0f3b3e03ad0ee619a1bb12ca5ff558047e9eb92c113f9a89cd8a2febd9adf7c64760fd6d70fb5d90c84b1b8f420e74cdf62c2d1d2ebd5a9551b8a874923c8553f33727f18f78f2d9ca9429c61223f45aab0ef2320baf89ecb0833a7eea1c93edcc2595367392ac659b704bbea6e87e5321ae6b65aa9cdb059de1b94bc6ec931dbc6789f288c5e38ed4d30bbf35492c52eb6695ca6ec1db8d12d8daa23ba13055a4169418b2e326a6a52729718dd4f7b0aad07e81e51ff55663b63adbf4d0b8ba2fdbaeca3413b5aa3e4bc5aeba3bf43355e9339618e50d5659cef45c94b69de7cef6e265acfcf2a0a735cfa7c27dd757101f4bfb37fd90a4ce995736364795cec5c7f0f66eedccd46750727674b874838c634015cef0b029a7bbe562636babad0794fc43039c3ddddebb9a82e2c1baa27c2c7a8d449c527cbe6233322a062c07df352b1f3664a4e49596f57eb2ab59dc7f1df489f2b400f2f44bdef1bd74f09c35275bcd3d54bef0546d23a8346938caceba77b699fdac294b048800112002d74f40e447e8fa9d7d876b66e10dec654c8fb69d82277fcc3abae369a8f90a6489603480bc0d36bd89372cc158fe74f64b3f864abce60fef8b2f87f2a5308d0305ffcb8602cec58bb81dff026fe22f990c1e590f593cb550ffb0199edf010e39981e80c7ca990434bf072fe1439df8f5a4ab9eb5b06e3ed3c76fcb5f004b17bb017fcd1a282f831419d45b78ef621bc9f8f15efbabac429fc3779d00ae6f5e781ecc16d629a31112bb6047959853bfb2baaaa3964e76715f46865ae1b0d49eb3a3d4f59b6e2ea64492f0fd4d3a7d26e7a9575b55dd6c73e12de43367cdd273c90a3f6d2c548de295309a9b4af2e4e0c2bb9a84656a8f03c97288583c2cf03ef658763ef5b211edc7e5de4be6332ddd10139f919d9110d35d77b20efb8bb7c1a311eba83a3d5b9f8d7ad4d9dd7a64f736feaa52b783a07e6169ddfe6d47eada5d204fd5e5e5e7e9d3931314d1d8ed9a0faa6a6d2e59b22e7fd6cc3c94f89d96e315fbd1533fb8d8d29e0b03f12d99f627cf10e703b595a75b6c10a548cde0e265dd670f1d6975822c1a95a9b81fe80c1e475ccff71b46772fb08fee6469b7765f4b48e1f2f2710c67ea9255ceaee6eaaa5aa9f1c25ae27c24e394e2034e7424acbbd7eedb79c4e284a8d4c2f9256a09ff923c25c61760ffb6aac64e873c21bd70d6acc2bcec645594ad03673825224004880011880c8131d7aef97ec7425d7a8f0a19ff2d3e8b10edb1c49bb0c43f2fece23634b9f04135f833ce276fa6afaf4fc8634638e4bf150e9d3e7dfa95575e098d73d84bf012d2f1a900cd70b43ea0ad790b20ae07f678cfbffb1fcc82053ac0b5ac8b75c1b5fcad84bc947f54ac4ba733938b3bdceba9a175834a30a454055ce990882ad07aa0f8032d853d660f0157c18a59b1328d166f59c22da78ab5582ca037ad3670dd9623eff3cf9594aa24946b395d425c4c4f67ade592cf50a32bd025b8eaaadd0fdd995e3c3bced17cb8c6e2b3e07352e5118f27a85d611723c7c7a95aebbcf7f3b8ad341a8d5c8e8bbcb64b9ee7ac7aab07f5cb5b8e0475f876cc1870765a2dbe5a1a9d1eef148720387eb5dc59490efc710da74b8e71b6d65982047da81fa104edd562fd128e6a67dff7c3bc246b6dd536ef2d451aad4e9d1083c1f7b81b19241e093e03c629ca47bc07d2fcc3e5e9f5cb428a8f71da7beaea2cde42ca1001224004ae9b405353537c7c3c3ef479cc983132990cb798f867400366d02d2a2b944098f0b97b1b366cc8cdcd453334c06d508a8e8ec6123c246484bc6023d8e3363409cd61396b984ffe792cc018b004b742de7feb2dc4cc8d2792a437ce903c8810e00ce526bdb2b5d1d272b95b9198cc65e08ddeceb355ff213c6654a4c230178db67886b9bb37c1bdd6609a2eb375d8651a5d36a794396afffb1db3df9f103721026a8208100122f01d204092d43b887e6746bd65942102374cc0d6de6a73ea92d3f11fefcb656f3e8b4f03ba61bfd7eb60b4c573bdfd183df562274de6d4511c1f90abb5f608e9d1d13336140911200244e0db488024e9b771d4be053177d4eeffa0763f9eb757e3996c67779dff39f891087fb4c533120c22dba6a5ea934ab5320e47b735e44285c8b644de880011200244e0fb408024e9f7619447ac8f1d97c2bd5af1e68438dae2b939bd1ea65608e6308125b74480081081ef2781d07b67bf9f1ca8d74480081001224004880011200223468024e988a1a7868900112002448008100122400404022449079b09ba05b0ee65589035985d18c79f78017ef1d360bb08fa0f763d1cfb0b60f3565817d20bd1a644fbebb61c8a1f51e78314ea4a972c5f642c18c46a488735baa2e222bd36a48e54798061f8f170b38dc6e2e9a1cd04b8f3ed687406a3b14827bc67d3573c02b9b0380c35aef0b90dd57388bd103f17319ed38b4b8cb30b820766f48c570800b18221f017efafdbe910fc88853168d970fb1f340032200244200204e85ad2c1206a8bc06402e721d813f844d2c1ea851c9f07f79781ac1e366c0e381431ff015e6f7467f50b30d5096b43defc34af08a665c1b468782eb01722ed49f457b094f223d5ae88ff018bb8342e591d959cadabaaf1bfcb5f57549299e83ab38f3df47fa8a9e4ee92ec04a8eba8f67fd03d3a912a0ff01f7e3cdcd45c9d0e26f41f3e11de13955469393a5d57ffc5eae067a106b47f1376040ee7c6a6197e98dcdd7cecfd5dd57ca3dc92874d49b6da73d1d9ba7859ebc9ca8f0e5af872edc29fdc9baeeceb72c6badf201510a2f36ce57fb0f7a94a700bb08dd08e7b1c0fd76546862797333d5b1d65bd78b026e0e1afa366bcfcb1497e2f86c05fa2bf4233127e24dbf50f2e9cfc70fb0f2706b2210244e0860990241d0c61377b350ef09bc14c073beec01736e1bb7e025304fd073abea1bdbb4a212b1ae6bd0a412f01387000cc93c0f2d7b09c8bf657a829e547aaddb0daf333b29c3f631937b6b3c15f8fe2e194a9599c7a8c8333e3c3fb8794340565d90951a8b4aa023d4a95073b0f3f9e5e17ffc627cfdba1821d85ecf3f6c24b8b428eddbc022f872f9d53320094a9fa624df5615e8bc9f8333155a71a336771c9fa19ba831644a82d2e4a574639ad175b1c6a5044f5f5835c15af8c8972d83abb5df8962fc737fcfbc840825bc43be68dbfeab282f3bc04ea065b61afeebad61ffc3fc7e818afa0ae497e2f86c25fbcbf424b127e24db0d8a6fd0dde1f63f68006440048840240890240d9322be2d7458d370fb1f62f07df8732aaa8a0ec09a20953a44cf6e73093f92ed0eb5158bb9d2125a075f1a8685a21d0b35f62bd195dc9e0afd9dbe77d3bb8f4995fb55756787168ff77a1a3ced1bb0c616ead8fd7acf60e52366387c657e1c664fe19b51dc6a987df8a383be264f5436e857e912920a8dbaba2ae7ccdc1400c7994fff7ad0b3165cbce4a1fce4a82f2b2b0e0674589c9bcf6d64727ef16b0d3cfc61e439dcfeaf0389f4f72252fcc5fd48b73bd44e0cb7ffa1c643f64480085c0f0192a4e151ebd5c0a6ad60c862d6672a61e5f3ee6abfd808f36740a21c1c0ee8e98393efc39acdecd0d267e1e70b593926570ffced1d587b9ee5bd8919fc00645678ed735626ee7f296c5f0d5c2233e86983ed6fc0eff7c08c47e1b5e570681bc4cc01630e3b64f90cee7b826530ad7f07ee9a06f8467457177cfc26fc6687502cbe9df7283cf52348e3fda345cb6750f604e866c078258ce5df259fb18055c43788d6ef81f18fc36bf7a18cc0955e38bd131e7f23c0e710fa6b8667c4fc48b58b4b6ad2892b32de714bda78a57ccc3597b3afdf7ef954458d6cc5fc5c39e0ba5b94f3f2175b761f76d7c647a4ca63c746333d1097a8c34b35f179a9ddd63acfab3a758b1e2c49515c6b3cb67b77b5472579da9d6eba2329065a8f1f0e3a651f5a1e8178f846fb9cb262e37d79ba241c064767e3fe8add166df18a05b7da4eefdf75d8c24cb445e5f3a743cbe71527d85ebf2baec8b43c9f53a37d777bdd9fb75705e83a661290347ac3dd45d9090a7e94fb9d56cbe7dbf6d500e8179617a527e03b70a1dfd97df1f4e1cac37545652bf40a6b8b6342468ad2d678bcf6eae4993ab5cb66d9f141a5b7097f0e9c47f0cb936f317007fdaf90a83a5ccf99b213320a0dd0872f45b5b77ce1d5a3d822be038f6d551e0d8efd151bc781e3292a5d328d4b96a3a77e47f39923bbccfc8871458b66e953e259bf30396d8d7b3ed8ed3fc6fef10b36523cf5b34df959a9e3909bcbe5e8edb7b71edfc6bf20578ce715c115befd9525bd614551a622ca7ee2efac6509ff22fcf9819ed677f1d405d994fc0cbff9c07b15ef2f7f486423ca41ea7b2117e72fb81d4a7f2dbab9d7f17d14091f8b22f0fdf2ce5af116a89408108191244092343cfae5cf32bb260b4ce020c7049b6a610ddee5f3219838548b70ea24244c61da4e8b6b3f002b36c21a03536f3566b0c5c0adb7c3142cf793a42b7e0b6b8c6cb5eebd0dd09ecfaa88f8ef04f3b34c0e9ef90c9aa3c158040ffc1a7adbe00b35c4c783e91156aba91ee4e9c0dd09eb96c2733b60d32e304c822e0b54b7c09c3b61e9336039015ba42f817dfc2790268733d560e982b44cd0f093e1e57f832c5ea9a0ffc77ecd5ac1b40b608b0dac56c0eb0eb2d260c238a1d8bd1d527f1b92c5fd48b5fbd29e80b6fc76b8d94b4c79c94c7db7b7daa3e3931394d14a05386cdd763b2e862ad5f1b1ca58afb9c178af5ecd440f266ea691e3335d67618bf046296dca44053baa1aa7e48ff86db4b30b3915d82c1f095ad07b24a43c32f19c055cc8952767e72783a3cb6a93a91212d26719f5968658658cbc2fd6ad702056a194c744c5a382636392946748c209d7d5795599a04cd2994c6d1f54f25ad51bad5f4633ddf4a3595c14b8ac2d964e872c61825699807e744b1e36a052ec6e6fbcd41535392395cb3796b9baadd172859acb408deaea57a5e7cf44dcae7e992a25470b6e4119cc814d1ebbcdae5029747718cc16bfe967d97fa695cb4b4ed0ebd0c456fba9e7af05bfd87c598743741c63a5e3e9997e3f1b2947a7a5d9a699929eaa9f63ea6cad3cd151529c9f122fb3b5377f75c531365e9d1417e59b16d85e70fc923cf5c672832e0135adb5b5b55f919014af88e5f94bf0744b525c6ed54c2f5d3c2b2306fa9b8f7f5add93324d7cbceca2fc77b5291472b95c57c88f2fce87f1eef950555b6012efaf8f61604e9483e4f7e284387f7439b4fe5e19a7bd8eef6360e4c25e64be5f23f80639b14e5119112002fe044892fad31830bfe355b6e838ef05d85806badb608696e95157133cb6048ee20ffad3b0b59caf9f050ff17a74d31cd8e2ef701edb715c858736c26368d0039b1e667a71062f49f15090ff2792793d5a012b37b28a4b7f0bbf34c2f247e199736c1753e526786e2be89e85ad4b212b1b748f333dda7306fee927ece8bc9761a309ee59045bf8eaac2828cd8389b8887b05766c821d7eba61c34b3039011e780cd2a2a1e277806b3a72399cdc03b85a79df6614a470706ba0a321f6172b8bfa916a37b031df9ea6682ed3a3f69395ef1eb4e0efe4ec8796e5b1d9dc51f371052ef86996ac5a36c1670da73fdddf99a0d0e6cfe4e2c7349f3cdc6003b94cf64dab670df692f9486ddcd4f1fde7cf7a4a3c758d06bd1c9c670f567a0adc9fc1e5118b87ffab06c05a77685bd509d0181e5ea6576a92e08bc0f6854b2dfdca5a6bcd1fe1a22057b2ca94add44c029092a49a59054c8f5a0ebdedaf5ab5c54b508f3ada4fbebffd20f3aa2f5d65c8489d56d465637bedc7f75d489e5798a2b0371efae472e6b2c2a4588fac0be6c0ccf1cfa2dace5b0a53d43a0377113599371d347f91b12c1f557fd7b993d51dde62b18cc438b23300a2f1288bb3508f3adb2bdfd96e410bceb8caa44bbd25074e342728b18efdabda4355b5224d8ac68f0e82796a5533518ff6771dfb640b5b46f7ce3710e78911a013e873261698ee9ec9c9c079eed0ce7d273adc7fb586f8d7162b45f96bf7baa56df07cd0144f17ef2f3f7caceda0c48972b0497d2f3a40f47b843d179d3f92fd05713f837c1f8362c7dd887dbf425d5309112002a385c0f75192aefdd3df1667f2a7d4dda3e0d8bdf6ae75e60187a4e63df749f003d5e02803f514b82b9555f8cbfb4c8f621aeff98986398067c2db3e0fd4a3bc0d2e67c5e7c36398bf02cf97c21ebe50d884fabf7d222e48c19f3f761bedd8034f1b413ed6bddb54c9f428a6f1ee02c8e3e389cb01f301fe671bd75701c686acf979cc016f5cfacc02b85cf8cbadf0ffb6c1d1c3f07f7ecd74e7d13dac474b57b3d6ffb6d5dd3b5f2dbe15df2ee6aeabbf10e2679076039ac41dcde449d8379ba586e9514c72e12e1a3ecf362a9421d7bc7ba8542fd5755c0295be08cbbe3e7fa2165545603a61f65768ee639aa2325d82ccde7c9cddfded9742cb23168f16a2f0c46e571dd3a398f8798aeba60324b477b41c677a1493a5e98a2b3b292e0117227130c5d2647606bbfb5275a0649d9a82eb7ffd2d5f9e7157a9fdf2caec8ca4e8181986d36f3d7ad8927a9f11abd5ee3e219f7d0bda08d7e3867210aacba0f9a35369ab0b937577e47d8dd3de9b3a0e9f6bcfcd4b82a65381cd7b0d8233c1e3c82e9d158d273e9e7d036392ee7ef861660218398c89c6324b436367724682ceb02cf3ceeeb6e6a653d5fbbd0f27108d5f9467fed4781c8ace86e3eecb3a7cf34d9c27eb070e9b3c65262e2c83bdb6ea5db3673c44fde7a4e07416e18fa5e2f32159aabfac65b124ce61b0ef4528ff21f7970f26d8cf60ed06f72062dfaf60c7b44f0488c02822f07d94a47fddfe41efd471be41e8b59acdbe3df1dc59cf2fa82e8ba9847a5cb362671f21c6633e819780b8c71783285756e802970c64f150b000f6f869d250ffd178b9631f5cf1ae5fc6319fde5ff76f7a3c0d7b3e27c6b35cd3293867f344150d174e790e8b7dae5d064b9f86e57741d624309481614eb0501e40d07afd5d5f7fbdd5453361b4ab5231b1e6b075b91dc4320912ee7d4b4cbc84937425f9ecaea66af7f38cbc5544ca231b8fabd7e96d0c33284a82532c93e08254c58cadfd2bb78146836b822e6b9b47ff04d703bc610a538847fe52ce6b4ebb771d31266a8c20ea593bfc9a2c2eaddadb00fce0897010da8b92c542b5b959bf2c559d8a679c9dfc52ab70c8bdf5f312503ef88e783c510a394e0067576bb3b557863996a29c9dadf871625f45bb7e76e1342e45ad4ae6b293b9c96955eff2e76fc5e317e5d9c983f378665722bbe79b044fbe7ddcf4bbfaa36451724d8a0eeadc6322eabf8f5d452bca9f790a9d0f1aa5647f5905b124cdc1631dcea00cbdbf1eefd29f61b41bd9ef97742874840810819124202a9d4632a09bd0f6b19d6f1f1b7233ddee1a4f94b2cc955688e5b5d8d7c24ff83c5873b7dba0ee3cbb05283117f0447de8bde93d27e1f933b0b11c96e285a13db0c16b11e2bff112e464c13d3f853d9b99679d9ead7d3a3c9a3474dc8e36c0234520b7c29aa7dd91047dcc5b0aa976d8e2a783d160c746f60f4fc76f7a150c1cfcf051d8f307564ff0ef092ac813f4f99d36becefef22efdfd086d0cdc6e401cf8cb0e72252fc4416b9a9d81fbc19234e4d948eea554bff07d2e397d41bcb3e6844fcbb1bb5e64d07a52ecae2691f248c613c59c05275e800a52952b9babc3e9e0b77aeaee524171265b03b57fe3ab1cd4af8e2b0e17a81413a773e0bff4db72d9a64f526b6f29803abcec0157a1f96b6b9d2eff956640918a77e2b10d4b527cf88331b8307de844e38f66a68b758537097f13328eeeaa7ef1f477589d901a23b3575656863abe547b10ff61af8a4d77e7730993738aa0ae7ac0f84378ca9816735e15fe14e416cdca74cf37099eee189cad7fa96a9f87973ceb8d8b5cce8f0f5a3cb105fb6ff95a9cbf30dea1f3a1a3d9ea2c94ec2f6b2568dcf9864539e09181be1778d89fff75f6976fdedf0f5f3050bbc1f1b37914c9ef3b1f006d88001118550442a5cda80a6fd40433e301f8e53da02f869c09e0a8879fff0196de0290038bfe15c6ff10ee34b0eb3e3131c57800f6d54359166cac82ca3f43672c4cbb1dec66f839bfce2a1b0b0736c26f26b00b43cbd7c337ffd37d663cd43f0adba55970e723b04e050db1b06219f35fb50b209b65bcc9bba0787423d4ff10b20cb0fdf7b0e333d0ea609e11ba2ba1fc5566ab7b14363ec2325a8f0e9ef72c6c5c043507e1e449680750f3970474e02a189feaadec36267c9ec07f1f8519a510f379c02df6c9f9f0ab97a1bb817fecff10fbfb9670a103df4a809f30da1562e3b796960e975eadca285c543a499ec2a9f99b93f8473cf98c64ca146389117aad5507799985d72076d8411d3f758ec976e6924a9b3949d6b24db8255f5374bfa910d7a93255ceed826ef0dcf562f6c908deb34479c4e27147eae945e002925a37ab54760bde6e94c0d688dd0985a922b5a0c4901d37312d3d49896ba4be875585f60b2cffa8b71ab3d5d9a687c6d57dd97655a699a855f5592a76d5dda19fa94a9fb1c4286fb0ca72a6e7a2b4ed3c77b6172f630d5d53c59615eebbbe82f978a2c2cf8e9add965b5765c4b393ff41c9bd8e1954ca9ee6209242c631c41d56b21f3c67cdc956730f952f3c55db082a4d1a5272d6bdf37fe161534e77cbc5c6d6565b0f28f9870c387bbabd773585c62fcad3a2d7f443923a675ed9d81c553ae77ebc3ffb9b408ae757ac2f51316039f8ae59f9b0212325afb4acf7935dcdec0f89d0f1aa833e51fe1640fe7ec93b1f2e49f4779b9959878e3b6710e7c0fb96fc5ef04703f90fb1bf7ecfaf08f4c35c4bb61b127fc4be5fde4770f05da30d112002a38a80d87feea32ac051124c16dec05ec6f468db2978f2c72ca81d4f43cd57204b04a301e46db0e94dbc6109c6f2caf4a51f43255e9387f7c59743f95298c68182ff2541c1eae2973977fc0bbc89bf1c3278643d2e50b214ea1f36c3f33bc02107d303f0583924cac0fc1ebc840f75e2d757ae7ad6aabaf98cb0dc58fe02bb771e6fc05fb306cacb204506f516debbdfc6fb9376e02cb4f5418181ddc9b4e6319836099aaad96dfb427aeedfa1c5c1042eba324c03cf25acec202e4526e64099099618ddc643eaef027725113f786480763df5dc9f7555472d9dec62bd8c0cb5c261a93d67c7b55dbfe9ec62bffc49ba6c9d4e9fc979ead6565537db5c780bf9cc59b3f45cb2c2ef2f32a16a944713994af2e4e0c2bb9a8465708f03902a8788c5c302ef638f1de7532f9b31fdb8bc74c97ca6a51b62e233b2331262baeb4ed6617ff1367834621d55a767ebb3518f3abb5b8fecdec65f55ea7610d42f2caddbbfed485dbb0be4a9babcfc3c7d7a7282221abb5df34155adcd254bd6e5cf9a998712bfd372bc623f7aea07175baa736120be25d3fee419e27c3c4ffa1756f7605f753dcb6188be843b21cb65ec285fee99d75ef39071148f07edf76fab6aec74c813d20b67cd2acccb4e5645d93a3ac1d26eedbe9690c2e5e5e398cfd425ab9c5dcdd555b592e3c8c721c2b3b6f2748b0da214a9195cbcacfbeca123ad4e9045e362b0144f707a3b5abb6fe7118b13a2520be797a8a5c64b8abfc47c90eaaf075cf0b84b7010cc07f85e84f01f627f75ee8042fde08101da0d8e3f62df2f0f20fa24024460f4111873ed9aef7726343cef5121e3bfede797a4b0c49bb0c43f2fece23634b9f04132f833cb276fa6afaf4fc8634638e4bf150e9d3e7dfa95575e098d73d84bf012d2f1a900cd70b43ea0ad790b20ae07f678cfbffb1fcc82053ac0b5a68b75c1b5fcad84bc947f54ac4ba733938b3b42ee340af5c2976048a90ab8d2111cd5829fc21407bcb535a01a3e0d346b320bb2e3041c08ec1adaa12b8d22eca687d2df80204276c26957a3c55b96009faaa88ab5582ca037ad3670dd9623eff3cf890cf11850a0e5740971313d9db5964bbe728dae4097e0aaabc69ba2599a5e3c3bced17cb8c6c2eff93652e5184964e3f135e997c3c8f171aad63aeffd39ee631a8d462ec7455edb25cf7356bd9582fae52dc795349d4e8d971d3b3bad165f2d8d4e8f777e43101cbf5aeeac248750d39b5ba2e174c9f1314e7b4f5d9dc5d7b246ab5327c460677b5aeb2c6c84078e5f8a27731ee374bbf0791772a23c838ddca692e3152e7faf5ff1feb2d10d98cf6efb100e5e3f9811fd5ef81b04e687d0dfc08ac17ba2ed06c77f53be5fc191d13e11b829049a9a9ae2e3e3a3a2a2c68c192393c9708b0977b171cce01695154a204c76bb7dc3860db9b9b9688606b80d4ad1d1d1588287848c90176c047bdc8626a1392c670df3c93f8f0518039678e3114a84adb71033379e4892de3843f23002043843b949af6c6db4b45cee562426731929ec514d55ff31528f1d1c6df18cc09050934460d808d0f76bd8d092e391274092d43b067e672ebd65942102a39e80adbdd5e6d425a7e33f3e5697bdf92c3edd67c4e21e6df18c18086a98080c0301fa7e0d0354724904461d0192a4a36e4828a0700874d4eeffa0763f9eb757e3996c67779dff39f870ea47da66b4c513e9fe913f22309204e8fb3592f4a96d2270b3089024bd59a4a99d6120d07189bf3070183c5f9fcbd116cff5f5826a1181d14980be5fa3735c282a22102902c27d8d91f2467e8800112002448008100122400488c0900990241d3232aa4004880011200244800810012210590274e27e309eba05f0e02c38f82eec097946d26055838f3ff102c45ee41f2fef772482fefdbc463e3befa7707726389d808fd2a9fd2b6c117dee55f8cd2e80cd0f40d35e786e73f875c2b28c709cbad225058aaeba8fab821e611f562ce2461a5d912ea1fb6275addf23a898a554798097f0e3e1661b335d6d5f1c3e11d44c803bdf8e4667c89f6cbf78bc3af801533e939b940b8b43d8b170052599f82cd07e7c84496f5bc3c11396f06a0e1be7f0e3892c07f6dcab9209b2cee3076b021eb53b7ac67de081099fdbc07edc47c31fdfb0dcf98cbe2d71fa22a61c1118450448920e3618da223099c079e88625e93cb8bf0c64f5c1923462fe07ebc80d1e9f3d1f4c596e1f39ce7025e9ea1760aa13d6f26f90f20f605e114ccb8269d19197a4d717a77f6cfe792e8d4b56472567ebaa6afcefe6d715956426baceec335bfc8dc3cb97dc5d929d00751dd5fe0fb4c7aa52e5015ec38f879b9aabd3c184fe7025a92a2d47a7ebeabf38e292d4c3a12dfb2153b2e72555fd2e47d765cb5f3ede1f20a702d088ef7093f16d096ae158ff847eaf24d5162ff9617e727b6de576f718724b1e3625d96adf16de7e346c9ca5e2098d5e9483cbd1ddf8c5df2b0f5b42ed072be172a667aba3ac178324e9a819f781e30f9f9bbf1fc9efa9c4f8fad7bdbefcf5c529d996449c92fd9274440788c0b783009db81f6c9cbad9db6780df0c663ad87187df4beabdb611f4eff5391c99dffc187e5c04cff32f10ef0b1bc75da5605c04f342023a7000ccd5f05ee073fb43acaea7e0fae2946ac972fe8ca5f9dc71bf37dff3962953b3b88c9ca99c5435c9724d415976425477734d95bfc2c5155289f26047e1c7c3bf46c925fa9aa460a7fc3e6f1fbeb9a88f1b2f0ce0c0fe7372b53736b6586d209327a464dfb3b068a84d58ccdb3efcf0ad0fabeaf03d57fe346265fcfb3ef155019ee47edfbab03b6c9ca5e2f144e1fef4e720c375034767a3a5b1bdcb2e932bb9fc79c59a20f3b076d9abbe5cfdc15fddd131ee8376204c6e417e24bfa712e31b54fd3a76af2f4ec98624e294ec97a4233a4004be1d04689534cc71c2b7850e6b1a6eff91081e55d4f821c6d9c77e06c5da3e006b6ef0d4bf9857a1ec3ae294746631575a420fe2cbc7b050b463a1c67e25ba92db53a1bfd3f70e7af731a972bfaaeeecd0e2f1fec5891a66d0f545de3858b18446309c25fe1c38d690b3fdd0eeddecca03aee42153b6523b85836a0b3b3084d4813d97b3b77b7a69845179183987114f300797ad7177e5410cdb50be4a9f10ad5085319c617452301905e31e56ac61700bf623fd3d151fdfe0fad7b57f1d714ab7231ea774bfa43dd11122f06d20409234bc51ead5c0a6ad60e0cf5c9fa98495cfbbabfd6223cc9f0189727038a0a70f4ebe0f6b36b3434b9f859f2f64e5985c3df0b77760ed7996f72666f0039059e1b5cf5999b8ffa5b07d357089cca0a70db6bf01bfdf03331e85d796c3a16d1033078c39ec90e533b8ef0996c1b4fe1db86b1ae00290ab0b3e7e137ee37967bd703468bbfa7fc38a09f0ea0e78f42148e35ba9790f56bd31643f582194c3ff3905e39530967f677c06ff62fb3880fa3d30fe7178ed3e5cf6018cf2f44e789c6fce1dd8d0fb1bdaaec03fa8a783ed7245c63b6e491baf948fb9e672f6f5db2f9faaa891ad989f2b873ebc08d179f98b2dbb0fbb7de0a350e5b163a3d9ef785ca24e0b80cf45edb6d6795ec9a95bf460498ae25ae3b1ddbbab832fe29c6eba2329065a8f1f0e3a651f5a1e8178f870fb9cb262e37d79ba241c065c68db5fb1dba22d5eb1e056dbe9fdbb8493bfdaa2f2f9d3a1e5f38a13ac42bf2baec8b43c9f53a37d777bdd9fb7570d2c64357ac3dd45d9090a7e94fb9d56cbe7dbf6e145b7fa85e545e909f89a5ae877765f3c7db8f2705d51d90abdc2dae2989091a2b4351eafbd3a79a64eedb259767c50e96d22940344c962f98e80e5acd5999d12e55ed5d4cf36e567a58ec3765d2e476fbfbdf5f8b61372f17e85f18259a105f716f90c69dcf96a229c59b90807772b037e8872106af0a07dd25a8403df5fb171b92278702f0beb0d2b8a321551f6137f67b35462dcc5e26713665adfc553176453f233fce615efbda874c9342e598e01f63b9acf1cd9650e9ae94208eeadb6a86cfe74e52973edc4a282f478365bec2dc7dffd987dd186e407ed453854b78a7f4fe512e3cb821a727f45da1dea7c63ed4204beefde6f11ef903644e05b4a802469780357fe2cb36bb2c0040e724cb0a916d66c85751f828943b508a74e42c214a6eab429cc6cc546586360aaabc60cb618b8f5769882e57e9274c56f618d91adb2bdb701daf3591511ff9d607e1650c69df90c9aa3c158040ffc1a7adbe00b35c4c783e91156aba91ee4e9c0dd09eb96c2733b60d32e304c822e0b54b7c09c3b61e9336039015ba4efca1aa782380e5e5ec3423d7506a6e5806a1c733b543fa21c5e5e0d59fc0f283a7cecd7cc2da65d005b6c60b5421f40561a4ce09b130ec18221f757b45db7b7217c70b39798f292998a6f6fb547c7272728a3950a70d8baed765c0c55aae363956e5d844e0dc67bf56ab726e0661a39be9daeb3b0457873943665a2821d558d53f247fc36dad9859c0a6c968f822e040c298f4c3c6701d705e5c9d9f9c9e0e8b2da64aa8484f45946bda521561923ef8bf59cb08e5528e53151f1b8ecc6c62429cf9084b3a1abf3aa324199a43399da3ea8e4b5aa5f3fbcd9ff9fbdf7816eeabaf24637966d210b0921d918cb985c6c0b3b023b766c07c7a6321e0d209271281ec8e792362d1fc90a7d9966d682ae669249322bcdbfa62bf0bd695fe635d399456826c0a33c124a282ead1f411313f80c3135e098c8901bc036c6b6702c6421cb126f9f7bafa4abfb47b6410443ee595ef79ebbef3efbecfddbe7fa6e9d7bfe988a1d7f5f452541d0dd430ffa55860cb3d680722c2bd7d932314cefbfd03d943427379b2ab1d705bdee64b5c648e5628c1a0ce9724a1622dcc1904a9755688666367417e110a988644c73f4a8b23fe0c5c0c1de60b318b007d5dddb1bd218d2f59a54d43f157f1b48db152367cc0bbf7f627e97c3b9292089c35ed10f15a14652384c21bf32a1d8b6c26250853c343b474b1a07844ada2f5c488adde0a6e2a5dfadca4d8150d7894f5a86b31648fbdd27ad7f9f46a356ab2d654c3bc176359d6b574deda58ec7480bf70fd25d1ed33d39d9d6458ec1dec636d958293555ad4e3194d9abb02d0cf6f66b32d353d5e4419ba81c491c6cf60ae9e7b44ddabf72ed76afbcbd92f50abd398eebc43cefb771e7ba71d8a8b028088c130125241d275000bbdf209d8e352fc1a63ab0dc07e566128f062fc2d32be118fe43db08db1b1859f9b0968947372f826d7ce1cc804aff3558bb099e468661d8bc8ec48be54c488a8c02f9cf6432f1e80ef8fe2622a5fe17f0bc1d1e7d0a7e768e13dab8195ed80e96e7607b3de41780e527241e1dee80bff90161a879053639e0a115b08d29ce95913cf5c1c687e0503e1cdb0ec929139653be511a87b75e86390678fc69989d0c3bfe1530ec50abe1e47ec0afeaabdec580149a6307923ef3e8c4ec95ab57d2c4384453c577483cea3bd9b8b599c6d775f5dad545e4a91868ddb3033bfc4c2b9f5c9dc12b7efa938383068db96421a59fd275f2c8590fa855aaabbd681593ba9d47dbd3e64e0f7d79264c0997b5dbac6a089c696606e386897816d213a60ff3eb08c0ed3abcb3a90d4cb675abad5a533a7cceab1bb323b19700bdedce0fb0738baa7d123f949b6601c885a4a6aa52128fd2877fcb8f5a71da10c6a3fefe93efed221f9ac1baf4495b6ef6828a210fb9ea3f71e0abcc9ab22c8defc2e18f2ee7ad2e4b4f25410849421c58ea94d40c8a9a312befdef9168cf1ddb4abdb5cbd0ce3d1d0d0f18fb691e82ee22f8121824b56da788e13f6bb34cee64a93240ee6963da8759c24c621881df5c682f5eb0bd852e7fe37d3af6cae5e28890348fb057be248f1d1c08c52c79285940a02e70e7f7800e345f657b4c8efe64aadb4fe7fe2425b61bb325516633c1ae86fdcb28bc68a28fb930e4bf6bc4268639a01a95b2e794f36bed74c9b56ad5f9d9ea48289ca91c141f6391d00c9e7da5cb96062f6cad42b67a42c3d61cfbb6c0dca0d05813b08816f6348faec7f7dfcdd3ce6933ae728ffbe6717bfea8ceb35fca2cd7e043fd402fe3a30de038bb349813fbf47e2514cd3c3af565804f80dbcefb3d87894e1c16e287d093c8df92bf0e252d8cf10d98358fefd33b1f300feb88763dabd1f36da413d95bbbcd848e2514cd339021431faa41582f310d3a582fdab005399beba1d9f407e8cbdb07111444672fec74b4cbe13de7e1b2e9d8222fcaa8edfa4a5e4901ba2b49809a9c5381cdb4f90a95f4facf8783b8752b434a36df412e0fe3913b357ae5ebecc71e44d736621461eba95c4a398d431b35cb0bb13bba7ae3377d8c340b76ba01b74d60abcfcfacb36e1424e18c139f9111a57d2545187fd5bbeae1307698ec29ec4f484e96326432743432e128f6262fc1f8aa95c7881fcfe9e13241ec5445fbc122c484f335880fc88904a73c8b7566f774b6cc83a370bfb2f433d5f747045dabfb8529d9b9e9ca2427542ee6347e8ec55f87dc0dbbeaf4d5d3d0f79d8f1b8621cb8e249fa325cef82a440afebb30f0eb653d5abd094c1b327b8de46a1bfb872377d1ab7df657096c381792065b593c481b4486f4ffbb921ddcc2c73a63ed7fec3eac0d6aeec2c191ca4fd42aa44f7abb316620735f8da9bb63ac37e95f47b61166a2ae147a44ab7ab4c3df90f9892be64dd3ae26a408fc3946442b33dfaa4958c0489a4e099c6df461e84aee34dcd34de1af8ebd1a39aabbd90b9404e4ea43c3f43cd95c661ace754e8df38fe92b457ae5ebe6ee3c927ec791f4f650a8f82c0a447e0db1892fe65d7fb2373a7455d33e2763aa357d2b933e117af259fbcdd3bb1af095fd6f82f38cc9ec1848078c590411257420c4250052a3d942e87fdbc98542c3fd94c3ea55e897c764f233231a865d3d5e1702e7c9ea927b98ba7e09c27ac55327c758a1077be07b97c7b07a2f12876d61e63636a802def12e6f5ff931c25e5901b32498c039f31fe7b98e54c66cc1bbfbd6ca9f8f5f27590c9eb742458f37b86b8fba9e4553ade794be4e5399e64a92d21b39a5af6b6c4724bd013ab4f7024c0af115faec2944a021e3654c58ca7ff12c760326971a0a6bb2f1cb708cb8189a18824aa88bceb015fe4736d4ad21436a827f5307d97d8b5eaeb03fcd21e49123884ef794e1e6ebd323adcde4e8729e4cc4c9767085a197ff1ece2178ce6991829148ce2335ea7a3089eeaac4031cef238445510e5647108fafb9dcdcdc84fd95639ace9b985a55d4cafb3040e327e217511678582a1245592da94650117e75b248bfd3eaad2c9f8914812db6bd2aa11d1c0506f977b24ac555260b017993b4f9d08cee041161cfe9226429814f8baab9bcdb95af1a304982acae4e4b06c92c7708d6464b7c4f3cbab5cb23812e3fb4b6c2f2b678c7ae52ae3d113fbbcf3042b5905813b1201c9d0e98eb464fc4a1ffff0b7c7c7cfcd71e21836263db3949caef4422a137b7ecdbe7a6b60c312f63eb8be24537766cc272b1f457a22b97bf8b9fe24bcd8019b1aa01e07860ec35b110e91fc0bdd50980f0ffd08f6bf4b4a5baca4efd31f8e49c57e3b76169ea800b51b366c8cd4c66576bf23a444af55208817e3c889941ae57d1665ffdd8b716099593dc3c645047019be1cec6f9c90bdf1eb652be0cb17d61db9262f6ab59609e8c1eca8cec56b6174225a1b89eb4ae5c110110794b5541f68e52d1b4566aba8a0f7a4d4ac26097a22f54922c284890940d9508caafb8e059b15aff79433a9b4328ff481faae460b0bec1ab8e20f824e33b39882488f1732f75cf658d38de679a5e02211069898b1b58120bfa7193048e50d1990c3873005fd5d6d8268949003d7d89f64d48aaabc88bfe2da454a85787ea4cf0f04ade95a63067608937ba6597a04023f1cf3138f9f25cbf95d8cb31c0ed11038561f941f0f87b0873c3e2220599386bf253149e020e317c28d29d0fbe7a6fe1a1c3a6db5af0806f634d30c150f42bff77c2ded47567fb1bd035dee4059768acad7d8d81896c99dbbdbb91e6d019db94c12c4f771e4448af3fdc87c1192c281e196f317278ae7dff8fe12db1bbf5e567e8c9e11ed05cf11f3432191ff7f2215291905813b1001716873071af10da85cfe383cff10582ba13003fc9df0e377a07e1e4021acf86798fe083c6823e320319188f1101ce884ba7cd8d4048d7f84c15458703ff89cf063a69f5535150e6d82d733c8c0d08637e1ea3f705fb4c5f231b0adcf87079f805775703615d6ac26f29bf60214904c244502ca639ba0f311c8b7c1ae5fc1ee4fc16c811a3b781ba1e18d08efb832e391632e877f7905bb52e1e577a0e3b20c0e4c6d9d6e328d09e7c5ffe118942f8594cf62a6d867961039deb364fb80d7ff34317be3d7cb9acad753c678ba074313a32eb76cc5d259ea2ccac84c4e6296788a165069b3ecb576187137353361168e891cf081513f7791c3d3d1ad33e7cd52f5ec64a7e49b2a1e739461ff529e2eb08b7ddf8767ab38a3af7f46b20c3d61fa709a86ad6023f8f095d152b554350fa71b19481f319730ecd16497d6da0ad266cece49d7621f6974b12ab15d40ffb5d36d2f301638d64e737dd1774d659a69d68dd23bf6ba1eb02ed4e594afb4abcfba5585c5f331b41d3c77660487b1326fdf706de1b3869bf525c4277c3fd20fce12e8feab21483716d6d44d2dd4e55064ce13a670c42669175b108f29ba6cf4a30a868e1f6c1918c1219a68ef0247a5bfe3121456de8b7af6775f8c3063665c7e97c1d9e594c681e65510a38f4c7b60d9194d6a55d34c39d90823f4d31db45f2783839c5f2e91703b2905e8e6ad4eed3a5b6e56d1d2ba918ff67611f0c47e77c1a8a41f69200a4453a45d75379f73171618a9b50d0f9f6abf003ad36c6c5d01d71676eb816881b172e390c3c72d7e7b907d4e192df8fe95f797b4bdf1eb658de4ebc9765d6027b0e0ff43c29ef7c892206301acdc571098cc0860178392c681403e4e60af23f168df29f8c7ef9102bb3742eb2550cdc07919a0ee83cd6f937e8ba94c64faf2f7a0b103c78d82a3011aea6101051ae63f3706ac41a69b73f73fc1db4eb20ad2136fe23c1f92c4f2e15d787137f8d5e0781c9e6e80192a70fe0e5ec6459d98fe8c6be10e3a2f9361bb031b5e027a884cc0dfb0011aea204b059d34233dce41d8214858e3c961aad3e7431dce9d5a4c98e3e080775ff877e8f193401955b22d80a9a40497b0e6198544ce4a3b4399a0bdf1eb6551e2eb19ae567876351da307c920bbdc5ca3c64fb79ff3612f14efb160229774dc02c862cda3c285db9b5aba3c419c42beb0aaca4a656a78bfecd8a291ee36476d911a8238ab897b278525c8d12161fa10c547c9f2e84c1a212d8f74db743b3b7abc90a2cf2dc835a4785d275d682f4e834726129a18730aac05188f06bcbd47f7ed6ce70a9393c02ea4b80eee3ceaea0f823adb52545264cdc934689231ec697dbfa9dd1354655a4aaa161661883f489fd87110258580f94a1e4445a25da6a1cc72697cb89a47795fd659527be3e91eebc84bd800004000494441540f2469b27329bdca7be6f0d1de00a8705a9ebc5d4c39e6c1531bd18fb996b94624753b3f3dd31f02355552e570545106b5afb77d57647c253ea9048ef1f85d0667591c583384fac8b687a82605b9d9e9aa80afa7fdf05edc13540e0759bf00599a95ed176c3ff0e1513a0049d965cb6a71b35569bfcbf951ce5e38b8b3e9c2a05f6dc829abaa2a2b2ac8d4257906f0c98a9fb072618a2b47885b1c1c506e9ce754e4df09da2b8f3f638f48cfb095c2e72861cf7bb802e5ac2070272330e5faf5e8fb416c48e42e9be11f434c571252220929fc3c7b8947710ae20230f87a645224333a3acae631c3dee21fd95ba74f9f7eedb5d7c47ade720a0e219d9e0dd005c73a63eaaa590e69c3b03ff2fd9d7f331f965b00fb5ecebb84a5f85c6c5e4e3e46acf5c584e5fc6ed10c21b11486822a656be0ca808c5632a5c4e409c98987034eff5f0e26cdf84c98a0bdf1eb151b25a698cc80f39570b5515d2a4dd36075acb7515efae87be3585fd04c590c6929c383ed747754aec9526a31045d2ddce237c595d569feae23ad749483c9c9d15193c4ea23a897bd44cd713955b74bb89fbdc96452abb193d7d31d5e6735525c6057848edfbc2db863670a0406dd74b494c962c519cc200087578acbcae22066e5514c94253305273cd182405fce2e5ed1d8ac892acd9d85a32087075c6d423062397957927ee7dde7676f0f0e8c06927ee1eb16cdcbfb7dbcfa476411d7e85302be61978b8e106f2033213972ed81adf756f88b951cbf5e49ab85cfd137f2bc4b6aa210270f02172f5ed4ebf549494953a64c51a95478c48497a82166f08891158640987c3edf5b6fbd357ffe7c6443063c0a5272723252f0169b61f32c0fcb8f477162ab433aa99849fc3c125007a444f46129ec3142c4cccd272524bd790c150977300294adc161d5f65ea07b2e7b353332a95c9cc01b38d3f49fb76b99bfc9a6cf1dec5a45750581498f80f2bc4f7a177d130a2a21690465de17c7084dc928087c6b10f0f4f77a0296cc1cfc636c0efabaceb4dcae781435986cfa7c6b1a8262a882c06d404079de6f03e84a9593180125249dc4ce5154bbf5080cb41f7cbffd207eb737e297ec80d7c5ff067feb6b17d730d9f4116ba85014041404128580f2bc270a4945cedd81801292de1d7e54acb8290406ba85a3126f4adc4d179e6cfadcb4418a0005010501590494e75d161ae5c6b70c0176fedfb7cc68c55c05010501050105010501050105010581c9848012924e266f28ba28082808280828082808280828087c2b11503edc8fe576cb72f86115346f85fdb1cb3f8d554ee2fe332f41ea79b22c3c3f25503e5f6cc2f3353f8225791008404a0ab4ff05b609d6bd5a0eef3e0e17ff042fbc2b5333aeaebf02ceff05b6080acab00bc963ca171648d0b565e9ca52cd906b4f936049f49b106fb254580cdef32db85f554c92a3c7308d5f1faada9e17ecfbfc489ba09a1871d10b93c55632c777fe44cbb8d7428a964d6c6e0c1c26689750377365edbdaac1b3cda265b9848cdfd8356befa5c1f4bcc4e05f5c599ba11a3cd18c8b97f2d2e4f12f4f29892c555a9b876ba58670c99991beb3cd6d742ccf98edff26fd3ba6fc5875127675bbea4d98018a2005818420a0f4928e05a3b9021c0e78c03216df98f76be0b13a685826e44b987ca1e0045f572f2338d4d591633d6e961a9b6a2a60413e381e8ea5f2ae6a1e22abe23f2c2ac86321d9f52fc19bcf0968e4724cf912651241a2665399c62c5c603d5698a5a2d6b1d446c512c77955bba4b6aca4342bb2ed56b8981c3d7c9f398f5f1f6aee7c8ba5d85a10533cce856e76a1c592379bac227f7b131f07099c276a97c018aaa0b8c032bf60ae807c1b2f397b0d89c29f2a440b8b70a9d8d83469fc1bab96f08a9a4376a528c064b1ccb78adc24d3fea352c6e75f8976c58a18537eb4a684e664ea95d533a1952bc21404260f024a2fe958bef032bb3ab35b3b8fc53bc67d3f6ed8342ae449a07ca1e8845ebffe3df83dee32f50abce2c04d8184a20f1d02e72ca0ff22a447af9922e282510626b77829e42743cd1bb82d6b4c1a5b7e0c7bc22ee82f3be8695307cfba622566cdcda78c53fc941317d79f503295d6151892bc5dc79b6225cad185c2c7afcf4890d99129bc7b935090e89ae1e76dfa2d62f84608021c24709ea85d42b527088bb07882afa3f65ed650e1cd956eb20eb215d7f590f0119d1cfe1dd334dab9f3f7a7018cf67abb45628f7899f6cf133b2eff4ab42b56c4d8f2795525302b53afac9e09ac5a11a5203099105042d2717a03770bbda5e956cb4f84f218454d97d3f3106c104491b135768777408d250baf46f1752a19458d255f282851d7b4b39116cbc2cdc79028a9a8989947b1d4de9f0da1c1e8def1dc3d393aaf28979d983e918f20268098cfb862c1dc96a1c248468af1d6d18438c8e13c21bb62d4f510a7458ac7dcba0d173c7bcd3646ab5b88ffad969f28fc06b0a5aac9eea7526e926effd1aac7e75fb976053096fc684d89cd49d72baf67626b57a429084c16049490747c9e1831c1e6ed60cb27dc1d8df0fd17b9623fdd04cbca61861afc7e181e8593efc18677c9adfae7e0c70f133aa6e0307cbc059efd92e4238930fc2da8dcf0cbcf084d5a7e3dec5a0fd40cc230dc07bb7e0dbfda0fe54fc12f1f85c33b216511d80bc92dfa5358f50cc9607a730b2c5e00b8d3787008f6bc0dafef66c9a2630d7cf812a8ce41dd93d15b3ffd3758990ffff13c6c3906727645b9c3b9f29fc02f5701901e6038fd21fce4d7e11bcc79fd2bf0f04298a90715eac44b62f9fff72998ae85a90c5bee72c29a06d0b91fa6c7913f717c782af0b35485fd8179b3a76bd553ae0703a321dfe5533b5a556b96cd57c3280e6a0b5cfe7cdbbe231c3f2e61aa4e9d9a4c5e9769332c66005ccfd4eb7685b7d2b4acf8616d96e6fa85e3fbf6b5080771163b1e484f81de134770c7777e12d313a00f53c1684055695f5564494758fd83170eeed8479b2bd72cbfd773fae0de2334613157342c2b869ecf76b491ab5030adc2f1680965447e6fbfeb8fbb9ae207b226ab6d49458141c3782d1470d39fed3c80836ead0f3754e418702f5d0805bce74f1f693ce2aaa85b63d5b87bfc19b9595acf8513edd7e62cb418831e7af7fb8d912a627090c399a889ddf422bb187ac5d2950ba84c353a27e4efea38bad7c9211dc593d9142f12f749f29b2bea96156b4f39db675694e6e88915be9e135bf71c01aa624595358ba12031e0b9b0fffd7dac8f25e41060178c9e3ff595ea9e925c1efe8c9eec21c65e862487bfb5da51929f3d0d710e06fd23215fef899dcc86b752f85f6185e36eae24596d6b2af23449beb6ff269acac897f017d33064f597b097a94d74a01e5e533b738afb93f7f7e0ef593651d575b55663cfb13f37b676cbd915e6e59db1dd4a3e8f0c8b9c7f25e4b7f44a3fbfea38f2278c0f4fef986c54cf9bfd3f132356b95010b86b105042d2f1b9b28119e07891860c0a0a1db0b91d366c87577f0f0e0aa3453875120cf7c0ec1960ce22e2d66c820d3612a5b53ac19302f7de0ff7209d1792aef9056cb0935eb6dfbd05fd25a48884fc41703e47c2b28e4fa12b19ec15f0f8cf61a40f3e37825e0f8e2748a98b9da0ce01ea4178b51e5ed80d9bf7826d160cd1d0d2038b1e84fa9f01dd06db2467651d82be209496c0f335f03adbbb59030f5580fa128947e5ec22558ad2d71e70bb01c723e4cf868c6931b77fba051a16101c3a4ec2d46ca032b8bb92f25f590ff94c64834c4fff9ce3dc0bb04d4efef209e313a35cf482aa5ee928ca24517c7faf2f599f69d0266b35e0f7787d3eec0cd51af5a9dad408b7cdfe775623d77d432db453cc8da133b08dddf1c99c355343eeeaa689c68a9aabcb281d78e80fd858302251444f8c3e6700fb99d499052599e01f727b543a8321a7ca6ea5cfa66a53d4a3a95cc402a91aad3a2549af4375d087e945b67474d8d0e035ad419b6e7138fade6f6462d588b6bc8ca9d8f1f755541204dd3df4a05f65c8306b0d28c7b2729d0db7b7f7f65fe81e4a9a939b4d95d8eb825e77b25a63a47231460d867439250b11ee6048a5cb2a3443331bd6c5e2208bb39c5d4deda58ec708c2fe41bacb63ba2727dbbac831d8dbd83620c69335428e3f3555ad4e3194d9ab50c7c1de7e4d667aaa9a3480daca922cbdcad3df75e98a7faade989e96c4360b6939431a8d5aadb694317822fed339fc9bc2bf4762ed45f972f85bed0d368b016360776f6f486348d76b52197fc9e0cf85a418769b8a977eb72a3705425d273e6919cec24751cabf3e497feded93d55fdadeb6c82f0b5e13017ac01bcac9cabacf46b99c347383ba6f5eb65ae5e9c57854c62e7ef968deef977c1e9141cebf92f26df60ae9e7b74d4ebe747b8e834f54e7d89c58cf1bff3f132b59b95210b86b105042d271bb72f71ba4d3b1e625d8540796fba0dc4ce2d1e045787a251cc317f146d8dec0c8ca87b54c3cba79116ce30baf2117fe6bb076133c8d0cc3b0791d8917cb9990146f09e43f93c9c4a33be0fb9b48c1fa5fc0f37678f429f8d9397289a97133bcb01d2ccfc1f67ac82f00cb4f483c3adc017ff30372b7e615d8e4808756c036a63821c5a677fe04bf6980bffd3e1792aeff1fa007f8f4ff85f28d3276c5168f5cb9de8555ef62400acddb233492b13cc5c4a35760e352323034828f9cfcb75e86390678fc69989d0c3bfe15304c51abe1e47ec0de1549f9cf3c3a317c6294e35d982abe43e251dfc9c6adcd34bec6abd7ae2e224fc540eb9e1dd8e1675af9e4ea70284d4a9dfee4e0a041632e5948e9a7749d3c72d6036a95ea6a6fb80fa8db79b43d6deef4d09767c214528824bbcdaa86c099e646f6327214d213a60ff3eb08c0ed3abcb3a90d4cb675abad5a533a7c1ea999c988c653f4b63b3fc0ce45aaf6494781d6340b402e243555959278943efc5b7ed46aae5c89f1a8bfffe47bbb9a4905d6a54fda72b317540c79c855ff89035f65d69465697c170e7f74396f75597a2a1bd689f091c759c62e536531c6a381fec62dbb68ac89b23fe9b064cf2b84ae1169ffcaf1b7316a1365bd271bdf6ba64dabd6af4e4fc21f4b94418b47dfa5f6c34dedbcf04b4ece61220293107f962ab2374c0621fe66dd428c474343c73fda46badd23ed13a4f1473d89a8d1c08c52c79285940a02e70e7f7800e345f6d73208e59b2bb592fe32ff890b6d85facbd91bc52d620ac91c69e9bcf791a2f4bcfbcc4eb2319aa9a2284b0dde0bedade6eab5d276c5148f5ec83c8f2851dabfe66a49dc64dbd500483eefe6ca0513c327aa716c4e4e4f19bb64f58c95aa5c2908dc65087c1b43d267ffebe3efe6319fd43967faf73dbbf855675ccfb6fe8efb087ea805fc7560bc07166793027f7e8fc4a398a6875fadb008f04b7bdf67b1f128c383dd20fa12781af357e0c5a5b09f21b207b1fcfb6762270dfc710fc7b47b3f6cb4837a2a7779b191c4a398a673042862f4492b04e721f2e19ec46b005399beba1d9f407e8cbdb071111cda049d8f407e09accd872d002b2a8856bf7a1756bc470a4ad845c8f289a99d7f7bd17de4cab9859ba814c1673113828be51fdb4f90ac5f4facfe783b876a54a048fefd7326864f54544cce34671662e4a15b493c8a49ad229d9cd1a4432caf472f61a0db35d00d3a2bc2055f7fd9265cc8092338273f42e34a9a2aea2c0695afebc4419a278bbca185f484e9632643f142432e128f6262fc1f8aa95c7881fcfe9e13241ec5445fbc122c484f335880fc28904a73c8176c6f774b6cc83a370bfbf3423d5f747045dabfb8529d9b9e9ca2427542ee6347e8ec55762cd6beaf4d5d3d0f79d8f1b8621c647196b32b534f9ec094f425ebd691aa006b8429c9a9a6394669ffcaf0472cc519684c9318f8ebd1a39aabbd00dd672f0c66e61a2cb6d5790f7afbba2e9e6a3948d6cb9295138c83bfd85eac5712ff92b97a74dde0d913dc309068fb94c69fe88f6e56672d5c88395f7bd35667d87f92f20bc9d20f12fe42aab4feb2f6929a255277f35977a1d59855566aea6e858a427c907dae23ad54e12a19bb2464f048c2e751ee79a1e662e82b819b6cbbe2ea10ca976bcfb2f8f074e567e5f40cf308eb1d4bcf7039e5ac20707721f06d0c49ffb2ebfd91b9d3a27e1c713b9dd12be9dc99f08bd7924fdeee9dd8d7842f6b7c0586d933981010af183248e24a884108aa40a587d2e5b09f17938ae527e330c551b8d219ae208dc8c4a0964d5787c3b9f019c76b62ba780ace79c25a25c357a70871e77b90cbb777800b13777e4a7a5e57fc10ce01604f60c79fa2d187d82e226822294b47b8bbb1678449da303eec657cf9f8ff7ecc94ccc0317e7c6404ea74e84efc4a3fc4dd4f25a10c1b27c994e091233f437834a9aca5b684cc6a6ad9db127b57829e587d8223017e8d186408532a09c1d95015339efe4b1c83c9847d8241775f389e1196039c308549245145e45d0ff822fd88294953d8a09ed4c3f4c962d7aaaf0f80079e040e31f5f15859bad82e93568d8e0b0cf576b947c2e396930283bd3a1d5154ec5f39fe70bd81afbbb8a6eb6ac5ce7292da0eece8b756972da0b28cba4caa20939a33bb696b9b4cbdf8911c8b88f5642449db2b89ff200374d8223272996b9f32f813f9c429a160284995a4366559c0c5f95052fea80a9f53497f114962fdc7c28d941224e7a90b05b6dcac7b4b4c57608e163bb23b8f0cb07db9bc11e611bb0485c7ba8cffbc48e0c617286a57fc9b6c5ebe3d93fb627cc412584a7c3de54a71f471e8398604e5b682c01d828064e87487e87ea36a1efff0b7c7275cd6cb95786629c95ce9855426f6fc9a7df5d6c086251c83eb4b32d567c67cc00ff5f8c15a90864fc28b1db0a901ea7160e830bc15e110c9bfd00d85f9f0d08f60ffbb4486c54afa3efde19854ecb76367e1091c0cea860d1b0575c2ee778414f67af77fc0dac530bb16fe05c50dc3fb9b0899fdf727b68b2f6254f4b997bd1b436754ccc0c01a5339fcb4966519433e6b57180cae48e4c4978ffd9313c227224498212f70b59609e8c1eca8cec56b61482a5a1b89eb4a958481b296ea03ad6dd1588ecc625141ef49a9594d12f444ea93448409131380b2a12a55f71d0b362b362465f838934a2bf3481fa8ef6ab4b0c0ae812bfe20e834338b29e077fdf65cf658d38de679a5e06222391333b63610e4f734c3142235029e1c3ec82387b3d8ae812e77a02c3b45e56b6c6c8cea8c9fb16d0bf052ec5f39fe70d9247ec81c2642777b33fe61ef76a56349096598535871f0b874bd60b66129b19e488c636f049528fe2a127b06aeb13f41a91555795cfb94c19f5335d0fbe7a6fe1a1c226db5af0806f634d31c3d8c7a447ecfd7d2fe62db8758ffb17043c485ed1fda8f5f28a5287dee23b5539220e0fa2b024826436292b08b90b924b108147b27e67994795ee2ca976b57e18aa3ff00e4dab31c3e61ddc538c8e8192d407e47f0af303f869e026ee55241e0ce47401cdadcf936dd0a0bca1f87e71f026b25146680bf137efc0ed4cf03288415ff0cd31f81076dec7772a617f3101ce884ba7cd8d4048d7f84c15458703ff89cf063a69f5535957c317f3d83744f36bc0957ff81fb422d968f816d7d3e3cf804bcaa83b3a9b0663531ab692f40418c7d910ec563ec87781becfa15ecfe14cc16a8b183b7111ade88e18fb9e8847d9f914016e3b18b4e6e2041c76519bb7825cdb815d32b58065e8e0d76334b08dd7b96ec50d5da49f4b73f016fde07f72f8619cc2b0223eaf8f23bdd649a14cec7ffc331285f0a299fc54ce1e7cb7ffd4f13c387a73e3f4bf70c04ad465d6ed98aa5b3d4599491999cc42cf114e55269b3ecb57618713735731d66fd033e30eae72e72783aba75e6bc59aa9e9dec947c53c5638e32ec77cad30576b1714078168b331a16309265e809d387d3346c456c478bd152b554350fa71b19481f31973030d56497d6da0ad266cece49d7621f6974b12ab15d40ffb5d36d2f301638d64e737dd1774d659a69d68dd23bf6ba1eb02ed4e594afb4abcfba5585c5f331b41d3c77660487b18afb54b1660d37eb4b880fa39404ce727675379f73171618a9b50d0f9f6abf003ad36cb42ee0dad22ae35f39fe9dce301eb167cab6ce51e8ed397fa1b7d7330c5a669181c0b017ba5ba4ebfd24b678047f19bf23b724feb4d514827463614dddd4425d0ea54f61c492df1072f85f224f5a520ad0cd5b9dda75d83d59b4b46ee4a3bd5dd2f25d302ae92f9ae9e5652a630e11fde3e326d14eb0f840cb173d5459360e0e0f0e9d65e701d2fd5765ec8ad699a2cbc6e74e0543c70fb6b03ffdd97bfce751ee79892f5fa25d4596d4c04090f7bcbb9cd2ed59161f5645110e727a46ad8dad97a5c7d7935f56c92b08dc1d08909f6e4a1a1b817c9cc05e47e2d1be53f08fdf23fcbb3742eb2550cdc0792ba0ee83cd6f633f234c653e4fbffc3d68c4b174382fbe011aea6101051ae63f3a066441a69b73f73fc1dbf8e653c1136fe2bc2092c4f2e15d787137f8d5e0781c9e6e20219df377f0f26eae1fe55ab88fc9cb64d8eec38697801e2213f0376c80863ac8524127cd48973ffce6ff01f2c93a083bb7724c71ec221c4c75fa7cb215d3438bb922ec097fe1cf2824f4957642d8ff2238690282dd0e3386607713cb150f37e478e1dfa1c70ff9366202f66f8587ce92b202f937800fa741ecc9d5748c1e2483ef72738d1a3fdd7ece07c02cf1c4b10549a4904eb694b1e651e1a2ed4d2d5d9e204e215f585565a53235bc5f76ec1345e6c330c9515b842f629cd5c47fa7e21d393a244c1fa2f82859369d4923a4e5916ea76e67478f1752f4b905b98614afeba40bedc569f0c8440c35e614580b301e0d787b8feedbc98c2ae50408ec42aaebe0cea3aefe20a8b32d452545d69c4c832619cd6e7dbfa9dd1354655a4aaa161661883f489fd8711025852048ba9682a848b4cb3494592e8d0f5bab14ce3276011cdcd97461d0af36e494555595151564ea923c0383623cb10b9eb5459a9f3397047d3189ee777baf1bb2a8a212f4f9424ba62e30d4d5c24c9f979123ada7acdfe5f06f6f3cdde381244d762ea55779cf1c3eda1b005532894c65f007b2a427dbdfd67ee0c3a3740092b2cb96d5e2269dd2fe95f397b4fe58af8cbd1c5ae2768237065a4ee2638d6a5d387582e393b78b6160fe51aa8df8dce55ae61ab932e444d4e23f8fa2e785f36f5cf952ed8aab43285fb63dcbe2c30a12e220d2f326ffcf70ea2a270581bb0b8129d7af47df0f62d32277d90cff1862ba9290124948e1e7d94b3c8a53101780c1d723932299d1d151368f19f616ffc8de3a7dfaf46bafbd26d6f396537008e9f46c802e38d6195357cd72481b86fd91efeffc9bf9b0dc02d84774de252cc5e762f372f23162ad2f262ce7778b66fc88a5301454295b03570664b492292520c7b34bc01af792c8c1f094376a96658f2f1fef9a34e33379e2f808f4359971ca12e02a98ba549aa6c1ea586fa3bcf4d1f798751f05bc824b336531a4a50c0fb693b9c4e164b2945a0c41570bb7284e7165759abfeb482b1dbecf9de5e8a84962f511d4cb5ea2e6b89caadb25dccfde6432a9d5d8c9ebe90eafb31a292eb02b42c7afd816dcbd320502836e3a5aca64b1e24c651080c32bc5656571e0b14ae2ccbb1f933551964c7d4ac037ec72d1911b48344ad98b0c92fc9182c28cc96c311a52d0d8e15e171df32b639c72e2db2b873f119e121056c9292789bf5071f65a4e3e71e2f8fc15912b67af7c3b89148d66e2da15651b33877224fd1b5ffe44dad5c4f189fd3ff0cd3cd76302a5304c4e042e5ebca8d7eb71d1e42953a6a8542a3c6262d65006cca0ce1859610884c9e7f3bdf5d65bf3e7cf473664c0a32025272723056fb11936cff2b0fc781427b63aa4938a99c4cf230175400a1ed93cff182162e6e6931292de3c868a843b1801cad6e0b06a7b2fd03d97bd9a1999542e4ed40d9c69fa4ff6f3e2376fd864d3e79b4740a95141e0ee434079aeef3e9f26d02225248d80c9fbe218a1291905816f0d029efe5e4fc09299837f8ccd415fd7195cdde7b6d93fd9f4b96d4028152b08dc450828cff55de44cc5945b88801292de427015d1931f8181f683efb71fc4eff646fc921df0baf8dfe06f87f6934d9fdb818152a782c0dd8680f25cdf6d1e55ecb935082821e9adc155917a472130d01d3b30f0762b3fd9f4b9dd7828f52b08dc0d0828cff5dde045c5865b89003b2ff056d6a0c8561050105010501050105010501050105010888b801292c68547b9a920a020a020a020a020a020a020a02070eb11503edc8f85b16539fcb00a9ab7c2fed8e59fc62a2771ff999720f53c59469e9f12289f2f76cc7ccd8f60491e0402804bdab4ff05b649ae6335a614798631e4e7c35a3bd99ad53f04275bc65e244bbe9e4976c7b27465a966c8b5a749b0a4fb4da869b254580cdef32db85f554c92a3c7308d5f1faada9e17ecfbfc489ba09a1871d10b93c55632c777fe448b7021a928cb379413e34055ac7860aeefcbd6032db76f9edacd1b2fb6ebe6641657d666a8064f34b7c62e5e759bfc4895d6e6e15aa9215c5a66a4ef6c731b7d73c6894a8f21df642dcdd527e33ad1fec1de2e5774f132919c3b8c30fee7fd0e334c51f75b828012928ee5687305381c10387cd321690d3c5607aa4e61489a30f9631922b85fbd0c1cf91cad3090f890348efce5cfc10bf5241ee552279433bb0fe0e5fa97606e009e7d237ceb4e3b53b3a94c63526681a5a9951f0d592a6af366043b0e38e9891b54bba4b6c000ae8116fec2f528468e1e53c3f8f5a1e6ceb758202334de905437bbd062190a9dbfed21a918076acedc2ca3119267c39d1c9286edea2b58ebc80c3f2c41bff7c2e7ffdd78e406da1155585c604c729f1784a4b7c98fd41c5c059f5b023f94114a78481a4fbec5f6d862ab2ebc9905801b7eb3937d5a6fe6398d79ee6ed7c5f89ff7dba5a152af82405c049490342e3c78d31b201ccc612cd6b1eee3fe25aa51215302e50b45c7bd7efd7bf07bdc35ea1578c5819bfcc465bda19bb2f2cb6103138fb6ec853fb4c03d15701fd98a864b8b97427e32d4bc0189eeb40d57708bcff4971df4b4a98367d9375ca4b2acb9f994718a9f72d2748436ae8ca9b4aec090e4ed3ade142b518e2e143a7e7d4682cc0e4ee1dd9e848244d70cbf68536e11db2d2648e2409f3e756e7adeb5afcedce2ca6fa178be5dab16e3c784c10b3d1e8d313d5dafa54a6a2a5df49198aece716942b6e8ba1e123eeab7c98fb473e7ef4f0318edf5768bec5ef6e3324b9a495ebef9e12a128f0e759d39d17131d930fb9e5949b8e1139b6ef8390d0bb8dde7f13fefb75b53a57e0501490494905412163171584c4a28e556cb975216a39ce9b7b25e69f95adc4815829df0e39f333ac56eec348aafcd7147455236dd6e1aed6ca4c53ae06665489cb86196dafbb3213418dd6b9e132d4717d73c317d2243cb4db809a458582c8561164638b12cb7fa4a068781f6037bdb6f75ddb7523edf2e0a2b0a7a2eec6b6cc68cade149ab2159a31b877bc6addfedf2e300b63035d9fd34d2eac6adf2b81865e4a792ed8243eec37b0fd2448cab8d27ec469f539e88db9c9dd8f37e9b9555aa57101021a084a4224824092326d8bc1d6ccc97ee8e46f8fe8b1cd74f37c1b27298a106bf1f8647e1e47bb0e15d72abfe39f8f1c3848e29380c1f6f8167bf24f948220c7f0b2a37fcf2334293965f0fbbd6033583300cf7c1ae5fc3aff643f953f0cb47e1f04e485904f642728bfe14563d433298dedc028b173031df10ec791b5edfcd92277894aa97152161d7bbe48e1c0e6c29c11151514d877288d922d5520ed3b53095f99c96bb9c94c09d483bf703c6b520a3cffa7f833519f0c66e786a2dcc66506afd1d3cf96b52564e9ff5afc0c30b61a61e46fde01f85d33be127ef10fe09e24655d81f98377bba563de57a30301af25d3eb5a355b566d97c358ce2e0b8c0e5cfb7ed3b42c462c2254fd5a953c96b10d26658cc00b8fea9d71d19bd6659f1c3da2ccdf50bc7f7ed6b110ee22c763c909e02bd278e08c22b313d01fa30ca8e065495f655459674740376cc1ddcb18f3657ae597eafe7f4c1bdecc7627345c3b262e8f96c07f3260f05d32a1c8f965046e4f7f6bbfeb8ab297e206bb2da96541418348c97430137fdd9ce0338e8d6fa7043458e01f7de8550c07bfef491c623ae8aba35568dbbc79f919ba5f55c38d17e6dce428b31e8a177bfdf18a9428083b9b26ed9fc74b2953beebb9704eecf0f713a03542c5db980ca549358c4dfd57174af93206aaea85b56ac3de56c9f59519aa327b5fb7a4e6cdd838e9bb03e92f251a0945fa061d982d1f3a7be52dd5392cbc319b9c349601721273188e173c35c8419c15aed28c9cf9e86780683fe9190aff7c44e66235c299cafb0a5b84f1256db9a8a3c4d92afedbf49ab93f1a3040e885a1cfde57088283cbe8c54bd4c4929bbb0fdc8e220595d0abef492d4b3cc10b30671bce7545a1ff9f623ab8f447bd8d7824a4e1437093937f8ff47122185a82070db105042d2f141dff01ce1bb48430605850ed8dc0e1bb6c3abbf070785d1229c3a09867b485464ce226c6b36c1061bbed3a1d5099e14b8f77eb807e9bc9074cd2f60839df49afdee2de82f214524e40f82f3391296757c0a5dc960af80c77f0e237df0b911f47a703c414a5dec04750e500fc2abf5f0c26ed8bc176cb3608886961e58f420d4ff0ce836d836d15959cba5ebfdcd3119bb401607a2a2381d02d7102cc880df1c82c66df002131122d72bff17e473ef5d78fae75cb1bd002f83ac3ed3749046c12b1b08d4a73a604121e8a69182727ef9e916685840983b4ec2d46ca032208319cd3641dca8ea958ea24c74df507faf2f599f69d0266b35e0f7787d3eec0cd51af5a9da544e7fecd6b2ff9dd548e2514cd4423bc56486cec03676872873d64c0db9ab9ba665eef00ee6ea324a071efa0336168cdc11d113a3cf1912cba9330b4a3271ca99dba3d2190c3955762b7d36559ba21e4d0d0fae48d568d529497aeca6031c83925e644b47408706af690dda748bc3d1f77e23bfd729a234c9988a1d7f5f452541d0dd430ffa55860cb3d680722c2bd7d932314cefbfd03d943427379b2ab1d705bdee64b5c648e5628c1a0ce9724a1622dcc1904a9755688666367417e1803f0b71036866c68cdaa0d76ac23a973a1e2348fa07e92e8fe99e9c6ceb22c7606f63db406aaa5a9d6228b357a1ecc1de7e4d667aaa1a1d37617d868ba5e54bfb2515346ab5da52c6e086384fe7706e0affee10db85fb4a33b168b16d85c5a00a7968762e90d5de60b318705091bbb737a431a4eb35a98c5f6470e64252ecd636152ffd6e556e0a84ba4e7cd2329c858f84941f7d927ed9dba791d35f0ee7984630f68534fe7b5bba65ec02391c64aaa27bfafde999da9247d665b9da3e6822112126f9e714a47168e996693fb2fa48b7078089e2262de7c6feffb0c62b47058149838012928edb15bbdf209d8e352fc1a63ab0dc07e566128f062fc2d32b496f9f65236c6f6064e15c72261eddbc08b6f185d7900bff3558bb099e468661d8bc8ec48be54c488ab704f29fc964e2d11df0fd4da460fd2fe0793b3cfa14fcec1cb9c4d4b8195ed80e96e7607b3de41780e527241e1dee80bff901b95bf30a6c72c0432b601b539c90c6979e7954badedf0c4adb55be510607f9ea7ef414fcf67f41e92c1258db1cf09bd760db3178eb65986380c79f86d9c9b0e35f01c30eb51a4eee8767b6c8e883a0b3a90f363e0487f2e1d876484e01397d2c4f31f1e815d8b8940c548df86ba2b8992abe43e251dfc9c6adcd34bedeabd7ae2e224fd140eb9e1dd861635af9e4ea0c4e31723afdc9c14183c65cb290d24fe93a79e4ac07d42ad5d55ed2f74b52b7f3687bdadce9a12fcf84292c1dc06eb3aa2170a6b9314ce0ce427ac2f4617e4de15c0fd7e19d4d6d60b2ad5b6dd59ad2e1f3d8fa47622f017adb9d1f60a72355fba4a3406b9a052017929aaa4a493c4a1ffe2d3f6a3557aec478d4df7ff2bd5de4c33458973e69cbcd5e5031e42157fd270e7c95595396a5f15d38fcd1e5bcd565e9a918343249880362d97a80780093a97addea222687f9ca628c4703fd8d5b76d148a2ec4f3a2cd9f30aa18da98e30794f36bed74c9b56ad5f9d9ea432572e98983edaca7c49f95d23d2ed240ca01067a2094962bb82d8f16e2c58bfbe806538f7bf997e6273f5428c474343c73fda46bad723ed10a47146cb49f1d1c08c52c79285940a02e70e7f78a06d80fb152df2a3b9522b8983f94f5c682bd47f6c9c59f5c738cae16f6ef9a44caafd802c0eb215357ff007d50a87354b9769295b4f59ceb47c7cb0ad5bee39956b9fe6963de10a62da8fac3e72cfe9447193937363ff7fc236286705814982c0b731247df6bf3efe6e1ef3499d73827fdfb38b5f75c6f5087e11663f821f6a017f1d18ef81c5d9a4c09fdfe3be3e4f0fbf2a6111e037e4becf62e3514638762be94be069cc5f811797c27e86c81ec4f2ef9f899d37f0c7f03fbeddfb6123ae9a34952b73b191c4a398a673042862f4492b04e721a64b05fb5701a68afadec2ecb2e7fbe7c8d42b63d76226a496c041b606fc1e0f4fd6c1f2a7e0ff580359b361c3ff09f023d8b69f2059bf9ed4fef1760e5594f10f72fa84e5ffc74bcc5ca84e78fb6db8740a16ff23b921d667d17d84eedcc24d9c8af86b82b899e6cc424c3d742b894731a955a493339ac844deebd14b18e8760d7483ce5a81b4afbf6c132ee484119c931fa171254d1575d81fe6eb3ac18e778bc813d313a68f990ce90b0db9483c8a89793e42918aa532c8efef3941e2514cf4c52bc182f434830547e7493103cc21dfc6bddd2db121ebdc2cece70bf57cd1c1156affe24a756e7a728a0ad509b98f1da1b357e1f7046ffbbe3675f53ce461c7e38a7188a993ef944c3d793253d297ac5b4744024a8629c991a71570e618e3ca81bf1e3daab9da3b77c1b289e9a397966f9a63946b27717096b48bb4306f4ffbb921ddcc2c73a63ed7fec3eac0d6aeec2c74d1e0d913dc708fa8c9d238137cd09deaac85d8e10cbef6a6adceb09f24fd589885ea4bf805a9d2fa8f853351601c49ae3d6865da0f35570e8738950d38f7bcefb4e04a61c5593a7d41d5c329b0fb409bf4735abd50ba7d220e01a60641fba1e65649fa45f6399d206eb272387327fcff270e4cca2d05816f1e816f6348fa975def8fcc9d16c57ac4ed7446afa47367c22f524b3e795b7762df11be7cf1551766cf604240bc62c820892b210621a802951e4a97c37e5e4c2a969f8cc30e47e14ae4b37b1a9189412d9bae0e8773e1338e8fc474f1149cf384b54a86af4e856f8ffb9ccc5423ae378e5d285b8cc39815ee7f07f0efd71fc083b3e191d5b0ed8d6809fc7f1f4972fa700cc3702cdc5dbae55d429bcfdc10eb9385df88b127ad9bb98d233ac3fe9a206e3a1dba1fbfd20f717252498833de794bd140882b2d73b2d49690594d2d7b5b621924e889d52738c2be67b96a31f810a6541220b1a12a663cfd97380693498b031add7de13847580e70c2142691441591773de01b081748499ac206f5a41ea64b11bb567d7d003cf024700817179e4d5a353a2830d4dbe51e51618ea4a4c0602f9bc33b5f77714dc2d5da8a44db7d13d32749232d5fa72306cbb513199c65ed0afafb9dcdcd2890b2ad7258d3730b4bbb985ee4b045648432d70e657026f612f043c150922a496dcab2808bf31592c57e1c55e1f322e9172249acff58389352e349b2ed218e5d38c496f32c0f87312b73b5ec71b5543cbca62c477f4fe17cfc69182dc16b6ab2fa70dcc2f643614f82943e72cfe94471939313553e4e8e67571c2ee59682c06d44403274ba8dfa7c13551ffff0b7c7275c8f972bf1cc5292b9d20ba94c8cf635fb2aad810d4b3806d79738581166cc07fc508f1f880569f824bcd8019b1aa01e07860ec35b110e91fc0bdd50980f0ffd08f6bf4b6458aca4ef1367e4b049ecb76367e1890a50bb61c3468e4770aaa9876c1fe98c14a7d1f0d744bc85fd7892f5cad9c5fe9b13e3c0af852f9f4fc7fc4ffe3f38f67894c6da150683d0e5f4e1caa8801fbf2251561f46740606fa98cae1a7b54c06a7588d851bc717399117bb5acbfc0000b3a33a17af8521a9686d24ae2b950773441c50d6527da0b52d1acb91d92d2ae83d2935ab49829e487d928830616202503654a5eabe63c166c886a40c1f675269651ee903f55d8d1616d83570c51f049d66663105fcaedf9ecb1e6bbad13caf145c2422041333b63610e4f734e3504a4c11f0e4f0214ca234d0e50e9465a7a87c8d8d8da29b4848e287ba783d517d4203ee0048c8a76c0b509a5c3b91c4399e5d61c43d3ee288644d1a0efcc114b8c6fe34a55654e571ed500667c28d29d0fbe7a6fe1a1c0a6db5af0806f634d30c150f423ff67c2ded17b61d88f51f0b678ca685ed3c5c358efe8d3e4072f807e4ec628251091c22d2b1b9f2e4f3c824dbb2efdc82f52591ffa6e2e754561f4e90b0fd305fa8a4fcc2fc2010b78789e396c8e75d808672a92070db11883c8cb75d93c9ad40f9e3f0fc4360ad84c20cf0e30246ef40fd3c804258f1cf30fd1178d046c63b622211e32138d00975f9b0a9091aff0883a9b0e07ef039e1c74c3fab6a2a1cda04af679081a10d6fc2d57fe0be508be563605b9f0f0f3e01afeae06c2aac594de437ed05282099488a0464c73641e723906f835dbf82dd9f82d9023576f0364203d3fb882329373d410a99f97170588ab91cfee515ec628597df81d7ff2453af8c5d7fbe2c83435838a994271fc77abeb1183ef9184eb60364c29aef12bebe1e8ebbd30df9b3c97cf93f1c83f2a590f219fc444e1fae84f0d421a34f6b27b1cbfe04bc791fdcbf186630af32f4577cdc84d281ee19085a8dbadcb2154b67a9b3282333398959e229caaad266d96bed30e26e6a66c22c1c1339e003a37eee2287a7a35b67ce9ba5ead9c94ec937553ce628c3fea83c5d60171b1f8467b738a3e1022359869e307d384dc356b0917df8ca68a95aaa9a87d38d0ca48f984b182669b24b6b6d05693367e7a46bb18f34ba5895d82ea0ffdae9b617180b1c6ba7b9bee8bba632cd34eb46e91d7b5d0f5817ea72ca57dad567ddaac2e2f918da0e9e3b3382c358c57daa58b3869bf525c427ac95f0dcdd7cce5d5860a4d6363c7caafd02e84cb3d18a806bcb4ea79093b9763927a88f4f467eebd8ed845418c159c6bfac924c8baa554d33e564232cd04f77d07e5d08d28d853575530b7539943e85612491ab1cce97488b4f4a01ba79ab53bbce969b55b4b46ee4a3bd5de40786d88f2e1895f40b0d4481688ae81f1f6789f6109591a2cbc6e705970a3d7eb0450e7f1ae814c9f673f6aa0c0ed2f207ccd56b96505f9fa72ff45ef6c1b479c5f7628bf67a3d2cb7d4732add1e686e706eb4163647f74beb23fb9c4e103759393c4526f0ff87574ac92a084c06049226831277800ef90f427d1d8947fb4ec13f7e8f28bc7b23b45e02d50c9c8f00ea3ed8fc36e9b798ca44a62f7f0f1a716c1cce8b6f80867a58408186f9cf8d015090e9e6dcfd4ff036be1155f0c49b90cf582f960fefc28bbbc1af06c7e3f0740309a19cbf8397715127a63fe35ab8cfc8cb64d86ec88697801e2213f0376c80863ac8524127cd48e71d22af108ec614d7e7431dce855accd0e4eac5c9ef5276c5c1818813c9ff7a0466cc82ba0678fee7f0fcd340e9a1b3097ef22e5335c00bff0e3d7e1258a309d8cf3415c9f2fa9032d1fe154e829c3efb5f04274d9c62b7c38c21d8dd44f8d95f64e3c18d938e23259b8ed18364505e6eae51e3a7dbcff9500cef31c2c928a049c7ad692cd63c2a5caabda9a5cb13c429e40babaaac54a686f74b902d1a5ee4071cb5456a08e2ac26b6fb3d2c40969e387d88e2a3643975268d90964aba97ba9d1d3d5e48d1e716e41a52bcae932eb417a7c1231331d49853602dc07834e0ed3dba6f27fec88824815d48771ddc79d4d51f0475b6a5a8a4c89a9369d0246398d4fa7e53bb27a8cab494542d2cc2107f903eb1e3204a0a419074c905519168976928b35c1a9f48bd6c06758ba4833b9b2e0cfad5869cb2aaaab2a2824c5d9267003dc8263e234b99983e58465abe6c3b91c659ceef283fdca20a72b3d355015f4ffbe1bdb827687be3e91e0f2469b27329bdca7be6f0d1de00a8707a9f2cce40960065fb0bdb0f7c78940e405276d9b25adcd453da8f723848eb2f8b03de6092b83d3064e61fa2da88cf4bae65ae9190e4ea95693ff23848cbf707551a5d4e415195cd6eb72dcc31a87dee734dfbb81f6452cfa9ac3e8c7c51fb91d347b63dc8b41f463a1e84b8c9cb614b845bcb78ffff84eb51ce0a0293028129d7af47ffdf8b358adc6533fc23aefd87fc488924a4f0f3ec251ec529880bbae0eb8e4991cce8e8289bc70c7b8b7f646f9d3e7dfab5d75e13eb79cb293884747a3640977037f69ae590360cfb23dfdff98ae4c3720b609fcf7997b0149f8bcdcbc9c788b5be98b09cdf1d9df1232ecea7a04ad91ab83220d46af98fe01e3ffc663b9f573e1fa75e29bbe2e120ae048557c0ec74d245d4b21f0e750a39509a49136b721c7d84a5c9b5581f5cf7d4750cf068d6c2a14350bf099eb781f36d6e1d59b688246e02f126334e5922ab8dea52699a06ab63bd8df2d247df63d68314f00a2ecd94c59096323cd8ce5f10d16429b51882ae169cfc4c527165759abfeb482bcd5c450f7274d424b1fa44abe4e550735c4ed5ed12ee676f3299d46aece4f5748b760917d8c51366b2e04e9229101874d3d152268b15677883001c5e292e2b8b038fd55cbdea91a274777bd3cec8141e1c11405932f52901dfb0cb45f378e5b2e3d527525e287f827e198f5d91ba221952694aa0d7450b7ec0300c9238478ac664e4fd78d33884eb916f0f618e98739c7a25ec8a8b438c5ce60285671bf469a92af074b9da44e0493da771f411cb671a9bc02f63b50761fb094b15e236969c703989b3945d126c0ae99b47e0e2c58b7abd3e292969ca94292a950a8f98f01235c10c1e31b2c2100813ae73f7d65b6fcd9f3f1fd990018f82949c9c8c14bcc566d83ccbc3f2e3519cd8ea904e2a66123f8f04d40129117d580a7b8c103173f34909496f1e4345c29d80c0f3bf87fa99f0a9134e5f86b9c5602f21eb70bd5813b3eec138eca06c0d0eabb6f702dd73d9ab999149e5e284dfc099a6ff6497191d878004b34c367d126cde04c4996d8e629567c0a732590a28adcadffe872dceee09944f2cabe297c4e279a74b4b547b48949c3b1dcfbb4c7f25248d3894f705314253320a02771f02b83cfef043f0a0031e646cf35f817dbf99683c8a253dfdbd9e80253307ff1839415fd79996db158f4e427d18506ecb2175d61cca98443175077bdb8fdec6781475986cede4b6b844a9348240a2da43a2e4441453320a02930a01a5977452b94351e61623505e03b85c17eece7a28bc74d40d5588dfed8df8253be075f1bfc1df90a884149a6cfa24c4a8890a61404843aff48a06184c5454a2f815bf240ac9bb434ea2da43a2e4dc1da8de055628bda411272abda4112894ccb700816392a37e276cf840b76800da846524b2c064d32791b68d5bd624046112aa346e3815c6c42390a8f690283989b75091980804868686fafbfbbffefa6b1466341a333232743a1cb2ffad484a48faad70b362a48280828082808280828082c0244700e3d1afbefa6a7878989d3cd4dbdb7bf5ea558aa2a64de3edef33c96db809f5d825266e42805254414041404140414041404140414041e0a611c0fe51af97bf5b0cae9bebedebc30decbe15490949c772b36539bcfa0a2ccf1f8b6f1cf79f79097efa23215f02e50b45df4dd796a52b1f5d612f4da449264b456585d52c1229478f611cbf3e54b5dd5e592cae26465cf4c264c105132b2cecfe8951f26dc88d0b8789ea357edc262af916f053152b1e7d7469856562a259dca884f9b1b8b2d65e5d2a6c1093a79d4c0c9d6f98fb8e6a6fdf30364a759312812b57ae88f592248ad9ee028a12928ee5447305381cf0c0045f4b12526be0b13a685826bc9330f942c177d535359bca3466e182dab156592a6a1d4b6d542c719c57b54b6acb4a4ab322db5f858bc9d1c3f799f3f8f5a1e6ceb7588aad0531c5e35ce866175a2c79b39955c3e3b0ddfa5be3c261a26ac8e036513172fc72ed418e2e2787a55373e666198db996d9f1d9047739dc0c89f22355585c6029c2a55c63d3a46927b16a4db22b99f67663ed6192d9a6a87377223032c2ec2f136b9c243196e52eb952c6928ee5482fb3ab3373188b75acfb7edcb009f7c4894d09941f2bf8aebaa2bfeca0a74d1d3ceb8ab52a6b6e3e659ce2a79cb868fd8492a9b4aec090e4ed3ade142b518e2e143e7e7d4682cc4e47e15d91848244d70cbffca6dc22fe5b43182f0e13ad5d06b7898a91e3976b0f727439392c9d3e7deadcf4bc6b5f9d89cfc6bf1bc5edb2860a6f96c467b8813cd92aeb7a48f81f6872b4931b30e71b2d22d3de6eac3d7ca39a2b9529087c2b115042d271ba1d770bbda5e956cbbfa5ca7f03c26967232dae06370143e2b8c3bd88004bedfdd9101a8ceec9cedd91a3470a463213d327f231023fbf4a6db413114b320cb3300289e1b8e517e3c761a2aa48e336512972fc72ed418e2e2787a30fb41fd8cbdf24750c76001e6e66dbadf6e3ad963fa6b5770283747bbbc1f6702718ace8a820704723a084a4e373df8809366f071b33a2b4a311beff2257eca79b605939cc5083df0fc3a370f23d6e83cafae7e0c70f133aa6e0307cbc059efd32a626c2f0b7a072c32f3f237469f9f5b06b3d503308032ea5b9ebd7f0abfd50fe14fcf25138bc13521681bd90dca23f8555cf900ca637b7c0e205803b87078760cfdbf0fa6e962c3ad6c3fea7a17327fce41df8f50730ff1a3cf53d70e15646ff0cfb5f8391ff016b32e08dddf0d45a98cdd4defa3b78f2d7f1e4af7f051e5e0833f530ea07ff289c6624afff3759392285580255617f60deece95af594ebc1c068c877f9d48e56d59a65f3d5301a82a4c0e5cfb7ed3bc215c5a5f9d4a95399dde5d3665870a826ae13ea75bbc25b545a56fcb0364b73fdc2f17dfb5a847bf8143b1e484f81de134704e186989e007d18754703aa4afbaa224b3a7ac63f78e1e08e7db4b972cdf27b3da70fee3d4213167345c3b262e8f96c471bb90a05d32a1c8f965046e4f7f6bbfeb8ab297e206bb2da9654141834c88e85036efab39d0770db6eebc30d153906dcd31669def3a78f341e7155d4adb16adc3dfe8cdc2cade7c289f66b73165a8c410fbdfbfdc648157c1ce2f35bab1d25f9d9d3b0de60d03f12f2f59ed8d9d86aaea85b56ac3de56c9f59519aa327b5fb7a4e6c6d01693f128d25f4640059307afed457aa7b4a7279b8117ea858ba720195a9c6a02ce4efea38bad7d94eb678956c0f204367ac959083aea8ac5b363f9d6cfd8efbf72581fbf3439c8f70686995358bb1087508782eec7f7f1fbf6df17163d494f5a3246e5844ca8fdcc032dc6d9524ab6d4d459e26c9d7f6dfa466997692083c99da4407eb8a1f2cd4ba4f6ddbd752f1f09ae299a39ffd6167eb0055f7839a24d7a196609184dff79007561267a44b3c5ffb5aa4db0f2347a40f4790907383ff37e46a50e80a020a02df04024a483a3e941b9e237c1769c8a0a0d0019bdb61c37678f5f7e0a0c8be94a74e82e11e12bd99b308db9a4db0c186b107b43ac19302f7de0ff7209d1792aef9056cb093debddfbd05fdb8b3258084fc41703e0769001d9f425732d82be0f19fc3481f7c6e04bd1e1c4f9052173b419d03d483f06a3dbcb01b36ef05db2c18a2a1a507163d08f53f03ba0db689769027257d60d44356264039dc379bd4b2a21cf694430606a05e98a683340a5ed9404c38d5010b0a41c72c3f2127ffa75ba0610161c61d92a66603950119ccc83739394401894455af7414a14ac1a1fe5e5fb23ed3a04dd66ac0eff1fa7cd819aa35ea53b5a9916236fbdf598d4c3f11bed816da29e6c6d019d8c6eea464ce9aa9217775d3446345cdd565940e3cf4076c2c189128a227469f3324b65167169464827fc8ed51e90c869c2abb953e9baa4d518fa6729106a46ab4ea9424bd0ed5c1b11de945b674047468f09ad6a04db7381c7def3732b16a445b5ec654ecf8fb2a2a0982ee1e7ad0af326498b506946359b9ce86dbc67bfb2f740f25cdc9cda64aec7541af3b59ad3152b918a30643ba9c9285087730a4d265159aa1990daf62714895e7bf726f83cd62c0d8ccdddb1bd218d2f59a5446ffd454b53ac55066af42d983bdfd9accf45475aa9c1fe5f4dcdba7d1a8d56a4b198303e2369dc3ada9bdd4f118f1a07f90eef298eec9c9b62e720cf60e174ab7878b19b572ed44524e63db00febcc48da4311e8524b541afd5847d545b5992a55779fabb2e5df14fd51bd3d392a2cd11dd118b5b1c3f5aedd2b8c9f8910b49b1dbdc54bcf4bb55b92910ea3af149cb70163e7252edc427e9f789e24970904801b5463d8dfc3730df334b9f920254a1b9b5237b9656d30f23d27e0790c359faf902909323a10e4392967363ff37e4ea50e80a020a02df08024a483a6e9877bf413a1d6b5e824d7560b90fcacd241e0d5e84a757c2317cb16e84ed0d8cac7c58cbc4a39b17c136bef01a72e1bf066b37c1d3c8300c9bd79178b19c0949f19640fe33994c3cba03bebf8914acff053c6f87479f829f9d2397981a37c30bdbc1f21c6caf87fc02b0fc84c4a3c31df0373f20776b5e814d0e7868056c638a13123fed870bff025973017733c2781453490d9cc3ae463ffcf51854b09c7db0f12138940fc7b643728aacfc96ab4c3c7a05362e055c873e8a032b048fb1722264411a827f8e0000400049444154c654f11d128ffa4e366e6da6f1f55bbd767511699d03ad7b7660879f69e593ab3378454e7f7270d0a031972ca4f453ba4e1e39eb01b54a75b5373c32b4db79b43d6deef4d09767c2947059bbcd4a76a56f6e0c13b8b3909e307d985f29006ed7e19d4d6d60b2ad5b6dd59ad2e1f3d8fa4523da7bdb9d1f60e71f55fba4a3406b9a052017929aaa4a493c4a1ffe2d3f6a3557aec478d4df7ff2bd5dcda426ebd2276db9d90b2a863ce4aaffc481af326bcab234be0b873fba9cb7ba2c3d351c5e0971603a5e25f8a7572fc478343474fca36da41b3ae22f229e4dde938def35d3a655eb57a727a9e4fc68ae5c20a9a7f94f5c2826c4cd54598cf168a0bf71cb2e1aeba1ec4f3a2cd9f30a3f94690fee3320dd4e64e4405b7377eb01d2e23099aad7ad2e627278a00c5ac4c277a9fd7053bb44b826c42d5c4ce847b34e0637693f62bd44d2686046a963c9424a058173873f3c80f122fbeb174020df5ca94d089e8843d802fed93530546bd41928f3dce9cc8f2963d65cd3151d76920f5cea866c9633d6ef7238778d483fefd1da62e544e9b1b9843da7b162952b05010581db81c0b731247df6bf3efe6e1ef3499d43dcbfefd9c5af3ae3c28f5faed98fe0875ac05f07c67b6031f30ff8cfef917814d3f4f02b1d16017635f67d161b8f323cd8fda52f81a7317f055e5c1ab3c1ba58fefd33b19309feb887298901eb7ed86807f554eef262238947314de70850c4e8935608ce43e4c33d1b694e15f51186d9e18a17a874585d4994e94b034b3914a27e3d24ac6443d2ff7889e4a113de7e1b2e9d82a255a4a858fea23c42776e6198f93810324902392c517434cd9985ba7ae856128f6252ab48276734e16b0fae472f61a0db35d00d3a2bd1f5eb2fdbda312a8a4d6d4e7e84c6dd3355d4590c2a5fd78983740cb7989e307dcc646c6868c845e2514c4cbbc37ed33809f9fd3d27483c8a89be782558909e66b00008836b4ec41cf225d9dbdd121bb2cecdc2fecb50cf171d1c57fb1757aa73d3935354a84ec87dec089dbdca8ec5daf7b5a9abe7210f3b1e578c0319da2ac59f342b0b4d193c7b821b1621f417e0cc31c695037f3d7a5473b5975303847e94d3131b83346e997af2a4a5a42f59b78ea80668114c494e956f0f32edc42a2d27ac27738e318a3e7b613033d760b1adce7bd0dbd775f154cb4157383495c28de82ff663c95cbd0c6ed27e247a607351672dc40e6df0b5376d7586db81a4fc42b2848484df278a2763bfc4c1eb0b80212d6f414e0af806bda90663b6251df5f3f4d3c086a442bf672e90f497698e1155927fdee5da8f50a5843da742c1cab5828082c06d40e0db1892fe65d7fb2373f1db53388db89dce705eee7c26fcc2b7e493a8a213fbb83048c05763b800ee9cce26860c92b8126210822a50e9a17439ecdf1f2e0c20969f8c7d96a37025f2d93d8dc8c4a0914d5787c3b9f019c77162ba780ace79c25a25c357a7c2b745e733dd506a81075580d1ed27143414820360a825cc370cc7d8581b60cbbb84b8fe7f92a3587e166370773824d4867120dc98447258b2e8a8d39160cdef19e2eea4925063bcf396c84b6f3cc9525b426635b5ec8d98c99692a027569fe04880af1f0613c2944a42703654c58ca7ff12c7603261df5cd0dd178e4384e5805daf52245145e45d0ff8c24113a4244d61837a520fd3278b5dabbe3efc4e1a152981031b19caf0830a9dc426adc05f81afbbb826e16a65bb1cc39cb167793d099f183793568d7506867abbdc23e1da93028391909791ce3329a6361e7d5c72620a43db811dfdd6eab20554965197491564527366376d65c68948e2464252b11f07198785352723a0b9762ee347a202716e28184a5225a94df8b8b9b8b620297f54a593f13b9174837892a25cbad4ef812ce3ec9c24fc95d5f6d50c5b51fabdf80fc0df35c83524a1df4d156592fed2e988c1f2cfbb504eb87ee139b1cfa950ba72ad20a020f0cd2220193a7db32a7ce3b51dfff0b7c7275ca9972bf1cc5292b9d20ba94c28f635fbcaaf810d4b3806d797f8f51b66cc07fc504f7a1963d3f04978b1033635403d0e0c1d86b7221c22f917baa1301f1efa11ec7f9788b05849df27ce1c6293d86fc7cec21315a076c3868d1c8fe054530fd93ed8168e834fd30085a42fd57918f60c929014f31d67c38554809d18fc2427fff9d5842b0303684ce5f0d35a26133988e444ee0833e4c5abd6328135981dd5b9782d0c49456b23715da94cc4249447594bf581d6b6682c47669fa8a0f7a4d4ac26097a22f54922c284890940d95095aafb8e05ddcb86a40c1f675269651ee903f55d8d1616d83570c51f049d66663105fcaedf9ecb1e6bbad13caf145c4c446862c6d60682fc9e66c0201567d68545cbe113be8fbd913c7ec6a2c035f6a711b5a22a2fd65f49fc50372a81cdf1fc28a7278b8b18b7812e77a02c3b45e56b6c6c148ac535d6589c23268539c4f4f872c2e584e7eef666fcc32ffa958e252594614e6105b85ae2e226f2a38a846212b8c9f891d320d0fbe7a6fe1a1c6a6db5af0806f634d361cd84f27bbe96f6fb8de1496a896d6ff4e52b0148d7a4e090f5f3ed1dd71616a5ab537018851b7f7f50845be877399c29db02e4967fde8572886c36c5eac306ecf2729832bcf6c6ca10b7074eb87252105010b8ad0888439bdbaacea4adbcfc7178fe21b056426106f83be1c7ef40fd3c12d2adf86798fe083c68e346649288f1101ce884ba7cd8d4048d7f84c15458703ff89cf063a69f5535150e6d82d733c8c0d08637e1ea3f70dffdc5f231b0adcf87079f805775703615d630915fd35e808218902281e3b14dd0f908e4db60d7af60f7a760b6408d1dbc8dd0f006e1b73c059b9e201973380eeebc4c2eb196cff6937e972b0d64bc01fd2543943ac8c9dfda49f4b43f016fde07f72f86191859f17a73a52449d2e89e81a0d5a8cb2d5bb174963a8b3232939398259ea2ec2a6d96bdd60e23eea666aee3ad7f80ccd39abbc8e1e9e8d699f366a97a76b253f24d158f39cab0bf284f17d8c5bebfc3b34f9cd1d7392359869e307d045d84bc8e3aacde68a95aaa9a87d38d0ca48f984b18986ab24b6b6d05693367e7a46bb18f34ba5895d82ea0ffdae9b617180b1c6ba7b9bee8bba632cd34eb46e91d7b5d0f5817ea72ca57dad567ddaac2e2f918da0e9e3b3382c358996eb7706de1b3869bf525c487dc6703bd3027730e0c5e0d41bab1b0a66e6aa12e87d2a730545e4c1dc31d7bc1f7a3cb29ad270da8272f4570eb6e3ee72e2c30526b1b1e3ed57e0174a6d9885ec0b565a713b9e5da83143d9e1c5ec5e12c655be728f4f69cbfd0dbeb19062db3b84160d81b99d524c64dd28fb4d524839b9c1f2f91272a2905e8e6ad4eed3a5b6e56d1d2ba918ff676911f30e276e2825149bfdf189e206e6f6e2ffe934b81607f8f0b06dcfdbea26c0d78ff7ff6de06ba89ebcc1b7f906c0b594808c9602c63188c277684edda310a8ecdcaf16a03225987e2055e9774b3c92139a1ff6cb2ef9ff4349b6e933df96e7280f36efb66b7ddeefe2149f93894e326251497d687e22d09c424a67c2850193209d88eb12d1c2bb6916589ff736746d2683e6cc9083030f7f8ccdcfbdce73ef7b9bfe76ae6f19dfb2177de0c0f9c92bddac6ffbd47a017dc25faa4ec771addca43509b1a55115011b8ce08c8bc6caeb30637477505b880bd8ef8a33d27e19fbe43746e7c06dabe02ed0c703941d7039bdfc26fd43095fd6cfde277a009e7f0e1baf80668a887620af4ec1b159fe5217698b3f19fe12d7c836ae1b137a08005402a1fb6c2f38d10d081fb617812fd452db4bc032fe2a64eecb8c8e5c840d0201b1965af0d2f00334016e06fd8000d7590a3857686952eb8445feddee344e1c07920fb44b5c3a71708d3852f23ace2014a429795bfef79686148635d2e9831007b88672098b7202787704882b7f928835fff7439f9f9167d80f19c1b463182ee19226fe02c3cbf89b62fa022a53dcdad1dfe102e215f5c5565a7b2f582ffb0b8a2b8ae860beeda121d8470551337ac1d11004a7448993e44f151b2dd391b46480f08e3b04d67cbe9ae414837e517e69bd307bd27bcd85e5c068f4ca4a196bc427b21faa3c1c1ee237b7779f8c2e4266a1752bc07761df1f68640974b979495d8f3b2cdfa346c76dbb6668f3fa4cda6cbaa1697a08bdfcf1cdb79002585214486cc42a8486cc8349cbd481e1f257ee86b3ad5e5078d3e379f326907cf7c78a43b085a5c06c7076c847c90d851494f05dc000eec6a3edf1fd099f32aaaaa2a4a0ab38d1a7f1ff61c1294fa832c7d0c399c34bcc69ac1f4fa06af9873a89232ec6b8be96c6370a0a3b5d9a3d87f94ece851c44dc18e104425b8713ecffef78e3041d0e4562cabb528f59354e2890888fb5bdf5703d87d425f5f209db2ef8b2e32d3667880c75f0818d2b9208fb3e8f7758689ffbdc7808f88e1ef627d4472aefab921aa4e4daa08a8085c4f04a65cb9127b2f492b8ee67211e115f7ec437ea444035284712e89576908e1c633f85a664334323a3acac531c26509af5cd6a953a75e7df555a99ed79c825348a7e70274c0d1f6b8ba6a9643e610ec3b1847e41305b09c061c9bfad22b2e25e556928f1e6b7d2961ffb2911f4f9596155150251cb8b8d427d66af923302f003fdb21624f3a292b9fe00064762cb7e2bebd911f9d4d5cbad5864b96c8ee92c60c8661c0ee5eefa4069923ef368986196524da28da9c993ed4ef613a63b956ba9c3687bcadfc6636a595d599818ec36d4c8c838d29d15193d4ea23aa974ba2e6b89daacf1b5d27c37359ad569d0e0779fd9d917d56a3c545ed8ad2f16b328da74ee257d47e1f132b65a5edb8021b44e0084af151451ca4ac028a95a2b3d383dd5e46e4e80b58128c26aa67541ca9da941e1c1ef27a9928918bc8f607cc92a58f25a77ad58325593e4ff3aee89222ab8db69871f3a3e010dfe8b17153b2e398b8c9da51d4443ea9249f7486c4ec1e95ab8483727f8b164d28222b1f8916aeffb39b1b687c9e5fb0a3dd634814eb735d7ea763e8a366a9085c3d02172e5c30994c1a8d66ca94291f7ffc315eb98092318257f4ac2a2b2bd10bc2fde9366edcb870e1422d4ec3d768f02a0a69696948c12c2ec2c5391e8e1fafd280b57044be6236198d733a2043541f8ec25da3448c5c7d505dd2abc750952040a0e639d8540fc9bba494b3c16d37749f67ba2e0eea676453f9b8a03b78a6f9bfb96d4605155ca7e864d3e73a355bad066c4e77a9d6df37acb5d28594411bf0fc664b8be05f1d15a16b82009917614fc42515d5aefe4e4580a8c99b1101d5258d5a4df0a5334a53232a02134660905d88c34d24484688bfb7db1fa4b3f3f08f2d161aee3883bbec242322a5bc934d9f94364e1536060219b3e752160dc57284ba3d47547f740cb05296353282135a34927548e3ca577fa7e342a432a808dc4408a82ee94d64ac9b41d5a33f85453f9d80a27d9e03db3c07f0bbbd05bf640707bdc26ff0131077d545269b3e57dd205540820830cd1f34590c99d80bbb25132a1214a1b2258d40e7e1b77f7638e952389b75923d3726d004b5888a808a401401d5258d42a1466e3c027d9d573f2b3195ad986cfaa4b26daa2c050454a32b003379c9aac926af6d54cd54049241805bbf984c099557454045404540454045404540454045404520a508a82e694ae15485a908a808a808a808a808a808a808a808248f80fae17e3ccce8e5f00f5570e86dd817bffdd378e564f29f7e0132be848d5be3b252283f4eeecd9cf8fe8f61d13c18bd0c972ec04f9e670f775f0e5b1f860bbf831f45d0ab7904ee5b00c120e0963c9e3fc076d97db8ae3f08f4d295e5fa01effbcde3ef5d95a87256da419b07bf6cf588d67d2bd1e3e426ae0f55ed5a10eaf9ecf071513571e262092bed2c9b3bfce5b156f106563196eb1493e0505abd7441ae393d1c0c0c0f780f377bae7a87aaebd390d2cada99dafe6387da26a82f87c357fd590b526317797d268fddaf8f5512a845aebf497e775479ed02dc4b360c1acd48cfd943c79904045f0716899ed7a14eb50a15016504d45152656cb81c9b03dc6eb89b1e8f6fdcfc1a78a80e1a9689f952265f2cf8baa6d7bf006f3c979a1a7fd90c0d2e282800ba18eeb90f6cacd41a07141780fb815815d5cb885deaeac8b5be2646e76229d4472c7acc343587cab6e4e086fef15cb4a3d6bdd449c513134cd5de575b51569e133da62b524c891ec967ef89eb43cd5f48d3a5f6c2b8e263248c738a687ac11ccb182cd7274b848373d5a35525f9d9168bd9929d93b7200777774d3e5c8dbd84b52523872a2a2da44b706bd909061e0773aaeca2a0cfa4b1fb0461628b25639771ea91ef6f92df1d35979cf2518881a617dae78b84a6501f91e47192123d39fe1ba6cf38eaaad9b73e02ea28e978361e2447dd007b198f75bcfc001ed8845b9dc48714ca8f177c5d53f72e858234a8791d8f53bdaab0e8192832414f2b2cff7f889c458bf803020e1e8496d9c0fc2126fcb5efc0af000a5e8697dd7838528ccec552a58f58ee7869e6f3d3ccb4a9fd6745bb57e5cc2fa02c5302540b1e029054b096d7159a35831d9f34c74b54a28b8527aecf48883d392a72ca94589024cdf227bf698f44ced511c438d8aae92c5d78b0e3c0bb7b1030abcd06898df98ab498b0bdae460e39baeb4a58d2954522e593311c2eeaa9c8614ff2ac0953e5f5991c764fb811f28ca9b22f1e272bdfdf24bf3ba665d7af4ee109c2ae7a174d0e6f8b0f29d3275eecf829899e5c911ba6cff81aab1cb73802aa4b9aa081f1f0cd6b1aaeb5fc6baa3c9e98890f59f1737622552e5a404a35ff7f7cd9a34723420ec20689b78b4ec77405dc52a54fa4fa84ef4c4b132365c6c3ca90983c4074ed5db910ee8f9d71cf8b56a24b6b4e4e9fe847132b6eaf2315164f619927e641c50b9a784a8c8335170f0382de739f60d7c0d0d7392187142d35417b895b922a3962b9e2b400079bf35adbe55acb1737ee1aa4536517e5fe26f3bbebc35f948e9c0e1bfd95455b962a7da202138ec8e889656f9c3e092bae32dea208a82e6962861db1c2e61de02c20dca79be0bbcff3c5bebf09962d82193a08046068144ebc0b1bb692acfae7e07b0f103a86d010fc710b3cfb3989470361f81bd0fae0cd4f094d5e7e3dec5e0fd40cc230d403bb7f0a3fd9078b9e8037d7c087bb207d09b88a4816f311ac7a9a4430bcb105ee2d063ce13c3400efbf05af9103ec15c3fa7f87b533e1f54678e25198c3d6d2f60e3c8ebb8acad6fb146cfe36ec7e097ec2ba86448db5706c0bfcc749986e80a9582540fe7272c59345dbf7b1134093d407c744e7cf24126c15b0c80018c5935a173d056fae022023cc70ea3d786abc4d4fe94549eba38803d14536500ed7dd77cc996ed04db9120a8e86872f9edcd9a65dbb6ca10e4671b258f0e267dbf7463659c4ad56751953d3c86b2873068dd31070dfd5419f3772e427bde21f6a73f457ce7fb2776fabd87f2a75df9d950eddc70e93e3c405414a4f813eacfcd1a0b6d2b5aa84ce427306facf1fd8b997b155ae5d7ea7ffd4813d8719c26273342c2b85ae4f771e27a97028d3e15e534659907fb0d7fbdbddcd633bb256bbf33e47a159cff69670d0c77cba6b3f4ebab53fd0e0c833e3d9bb100e0e7e79ea70d361afa36ead5defeb0acccccf31f8cf1ff35c9ebb98b684fc4ce3b6a66815221c6c365bf60c32bf21c3986bb365180c78522bbfa798bdda5d56903b0deb0d850223e1e1ee63bb8ea7352c2b1efdf2e417da7965f982f68e692f1939ec81b732edfaa45bdeee3a053c9b2e1140014f846583ddb9d6b140af193efebb9dd82f94eae57845382051c92e4a7264f4dfafa0cfff905eaa205fc68e6c8791c39955ddb174653195adc31f4738d071fac89e16514fe7dac75f6d8eba65a586932d9e598ef23c13e92dc35dc7de7e1f7f68b2f52ae0dcaa6017b65725a78f6c7fc3df8bec7320ae2982c498fd4d561f651c0462e3a329783e447f75f192d5948a406a11505dd2c4f06c60274a5e60602605456ed8ec810d3be0955f819b426f114e9e00f33ce2d5d97288b8b59b60839378516d2de04f873bef82794817b8a46b7f0c1b5ce836c23b1ba1b78c149191df0f2dcf11f7eef447d091062e073cfc128cf4c067163099c0fd182975a11d747940dd03afd4c38f1a61f31e70ce8601065abb60c93d50ff03608ec376e55559d38c9049c1cb1b88aa274f43711118a7012c57a8771a649a601a2ac40603aa9149dafbf27a28603d0c243ff9129fbb07e0c57dc9e9b3e839f8593d5fdcf918207e18ee7e01b6fbc1e7039cef50300766a27ae38597ff6fd2fac8e3a0581155bdd25d924dbcfedeeee13453b6d99066d043c03f383c8c836b068b29c390112dec74fdadddc20f8b508b5d149b317006b6732753d97266e949ae719a64aea8adba8232829ff935e70b46254ae8a9d1e70ce0f88d2ebbb02c1b02033ebfd66836e755b9ecccd90c43ba6e3483f79420436fd0a56b4c4654076d9255e2ccc2de33d07fd9603664d16e77cfb626d6578d6a2b88584bdd7f57456920e4eb62fa035af34c9bc18c72e895eb9cd9e8a6f79eef1cd0cccdcfa5ca5c75a1415f9a4e6fa1f2d1470d858d79658b11ee50586bcc29b2c121ce7517e16073feed83760e681355f120452aee9fd3bcf380d7ee6a70d2669c7ce3ebee0eebcd59267d06ea9f017a9d4e4757b0fa637ba773ed9d6b5da2642f7939383d40ae5d4e97435ecee74a78f22e200e3b5b4b977ebb2a3f1dc21dc7fe44fc5159fda3c08a7050b68b921c59fd0114f419ca2996b7fbb0ac1df7f4e86571669a3de5ee87480f0ff4331d7eebbcbc5cfb12777f77d37145df272343a74b3757b8aab02ff477f7eab3b33274f84393ef3f7b7ae47156b4cb016f72fa28f5b7e301d9e740d45ca2c818cf07257d147010098e2553f37cb88127e9c59aa2c66e7d04549734611b37be4e061d6b5e804d75407f0b16d9883f1aba004fae24f31de9676047032bab001e65fdd1cd4b60bb50780d49042ec3a39be049641882cdeb88bfb8887549314b24ffe96cd61fdd09dfdd440ad6ff187ee882354fc00fce912486a6cdf0a31d403f073beaa1a010e8a7883f3a741afefaef496ecdcbb0c90df7af80ed6c7142520a3df0ccfd70b0008eee80b474787acd38f572620623d236be0873cdf0f09330270d76fe1b99baa7d3c1897d49eb73f457f0da19a8fd7bb8670eb4ee84df77c274803fb1a3adabb6a2430a877644aa1cf33e717de27150aac4eaf82be28f0e9f687afb1083ee43f5a3ab4bc8afa8afedfd9d6d985ef9f86a76a4972f7fea4f07facd7a5bd962ca34a5e3c4e1b37ed069b5df74731f96013a5b8e7832e74f0f7f7e264289d4eb72da75103c73a82942e0ef627acaf461ff9b021c59fc7057f371b03ad7adb61bac59f0597cfd23f149806e4fcbaf71708baa7ddc5d68b0ce06507249ad55e5c41f653efc85d06bb555ae447f34d07be2dddd878868fbd2c79df9b9c58e013f49f51edbff45764d458e7ef8fc871f5c5cb0ba222b039d10368871e83c75a0a577d6fcb2923c93bfe344db593f76c34b5f7a71b6df62f447c3039f7cb09d0c4347ed156988a8bd8af6529203f2edb2daba14eccee3cc3723a2069f1c0dce2877dfb798d242f0dc87efed47ff4cb15ebe8418079e2cb18bcd288f8382fe00149124a30fafbfc8eeb64a83ac1d6dbfe35d5b11ce60ad2c457f34d8dbb46537831551aec7dd74ee1d45709ced06a46ea53078a2e9dd438c75d5fad5591aadadb278ec7a7929119c15ed9bac3e4afdad0f649f034a8db90a7de27050920f297b3e28d6a066a808a41081dbd1257df6977ffcf602f6933a0f6460efb3f7bed23226aaf8459bfb087eb0150275609907f7e69202bf7f975f7f333df2aa842580dfc07b3e8df74759e138ac642a8327317e099e5f0afb58227791cabf6b160e06c06fdfe7991af7c1332ed04de593179a883f8a01fd362e94b0fa641641cb41f2e19ef8950053d9b1b79d7f8282b8f6c2334b62eb90feeb0536de0e6fbd055f9d84fff5c658f5727509af47f71104ead793527fdcc1a3810cf5c9ead30e8ded90bf12ee01387b141a4533475969c27a95e213d0871325c24141be75ee6cc4d4cfb4117f14834ecb8dccb109bc1811fb2b9104defb3abd7d9d60b43b30fef5e7c7c51b39a107d722f4d0f89256471d6dd60e771c3bc0f014ee26a5a74c1f1b99e2161ef0127f1403db5f70dc748c80fc81ae63c41fc5c05cb8142accca34d3c04fd990149c4bbeb50e76b6c6bbacf37370fc32dcf597d33cbfe72f97aaf3b3d2d2b5a84ed877f43093bb0abf270c7af61ed755df813cdc7c5c290e88b4d7d33738c35e9207015f87c7c37002a9ea1c6c4affd963fcb40881bd64dbab642f6539f2ed5292c3ef20c1b736fe8670eb7216e380300c7b9adf6ef1925c6abea2fe982b8703b1a3d42e65f34d0a38c8eb4fea96d307c9b2f28bc89610327644aa2cce906d224fccf4acfbd6ad23a606b4384c492334e79ac7ed6426483484ce34fd22fa43c0957e8718cceafbf39123fa6fbae7172f53aa375a5e1851b48b3d597de4fb5ba42ef173204217df27a00f27428483586e249db2e74344a07a5711b8a608dc8e2ee91f766f1b992ff8043ce26b69190fe4339117295d40ded6ed3876842fdfe8cc2f8099912fda2c19647125c41084b4a03541f972d827f049a5f2d36ce413dca5e867f74c22139d5a2e7c33148945eeb34c2476e1249cf347e6a3a5c117270971d7bb902f6c6f5fcc1fc5c1dae812a22d5b09f3436c354af5120e36e08c4869601d609e3c417dd8d2191130a555244549501f22538283424546239a1fbfd20ff0f919e4559ae8baa5e8bf2d0ac22364bab68cac6a6addd31aa17077197a6af5098d048535a233210e19c405e75c558cf87bbfe219ac56034ed4f4f5b07e94b810495b59a244a296c8bb121c8e7eae4dd74ce19c7a520f3bb68543abc33d384334265506072e93e3d168c59d531bf5700c71f61aa7bd822a39f9327214da155316631239b15c019ec477c3599a618d56a3b3e6d0e08d6129532f11218f038a91daa59f35808c9c31f457d04756fea8d6a86047a2a81467ab418736090e7477f846225a6982fdddc8dc7ef258688600b2d0d0e70c11c286e0d71d9d5cccdb861f25c0f92d5447b6ff705c91ab10e7084d689789e9c36929ed6fd11a928b081a3d863eac4c310e4a15a5f6f9a0548b4a5711481502b2ae53aa844f52399fbcf78b4f92562df2a1fae9a5a4e8a56ec8607dcfafb957690d6cb88f17e9fd9c2cc599b110f043bd68a40f39864ec0f3a7615303d4e3c4d021d818e590c83fdf09450570ff23b06f2b914cdbc9d86720e2934aed76f42c3ce6009d0f363c43f885a1f1e7c2547c5c0b42bf0df3701c6f8c7ad17523a106fef97e3612b970fa441a41a813d4272250f63e1af9fc26ca95d293d2874893e020aa2296242f6a9d81fd07006ceeea7c4c8b5d52c9262ffc50aaacfa94bddc146c3b1ef33fc86a152d749f905bd524434fa53e1a224c1c5807947355a9babfa2b11b722e29cbc737a9bc720119031dfe265658d4aebe4b811018f5b34a29888e782173d745bf3dcb62bba31cbcc4c3002b3bb73618128e34033aa9b802905c4850c287cb155f5967347899ebb7d48aaa05427bc9b61725c8d84b498e42bb383564e4f0e829e019ecfe7d736f0d4e55b6bb568482ef1f62d82f1e20abff983848eca225bea78c9c31f507a93e3cbe62f95d5fcbdb916ba714e7be0e5fb022375d3bdcd4d4c48b8cdc3a3dfc88768420bc6b847e246628f51fac778c7e2bb5cb44f511ea26894b9e031c877413a8a4f46185887188d52dfaddb1ffe8a4f27915ab498da908a41e01a96b93fa3a6e05898b1e861fde0ff64a289a098176f8decfa1fe0e802258f12f30fd41b8c7c97d276747310fc2fe76a82b804dcdd0f45be8cf80e2bb60b805bec78eb36aa7c2c14df0da4c3231b4e10df8e61ff92fdd52f9e8d8d617c03d8fc12b46389b016b5713189bf70014c6e11975288f6e82f607a1c009bb7f028d1f818d861a170c3641c3eb71fce3265efbdd58f5baff37a42f279239972c2aaddd47961fe1fe03bf390a8b9642faa7f0548af489568191ec32f8d79761f0acf8042cdb2242870bf062c4f9be66fa305d7d21bbc5985fb162e96c5d0e65611727b15b06c514d51a725cb52e18f1351f62dd2c9c13d9370c16d3fc256effe94ea36dc16c6dd72e6e49bed5f190bb02c797161883bbd1ffc01059add2c225a35215e829d387d734529f60c0064916ba6aa9f60e5c6e642663c47cc057be3eb7bcd65998396b4e5e9601c748639b5549db05cc9fdb7dae424ba1fbd169debff45cd65a67d98ca3ccce3ddebbed8b8d798b56ba74677ddaa2d285e8daf69f3b3382d358d9b769a4b6c85dcfaffa12e313c917dd99de6fc2906529aaa99b5a64cca34cdcf8a9c0a7e6f9e3db2b63afcf95e428b50b5782cbd99dc559164fe2f46ad28139f4768b619d333fa76469ddc8077b94f457e80f2843d62e8cddaa808392fe5fc9ebd3212fdf0ba3b2766400ed2808519c3b0f9df315155aa8471b1e38e9390f46eb1cec5d41ef965d2d02eef1a3de16f9fec3d52b8b330a95b1efded4e823d458fa1ce072d38db9f87cd0c2c027075ab9218d94e923f9dda5ecf910dd4244d84235ae22906a0434a916788bca2bc005ec75c41fed3909fff41dd2c8c667a0ed2bd0ce009713743db0f92d32803895fde2fce277a0e934ce1b05770334d44331057af6498c439c217698b3f19fe12d7cf26ae1b13770dd0e0952f9b0159e6f84800edc0fc3930d30430b2defc08bb8a9133b3e7139326634c846b861c286178019200bf0376c80863ac8d1423bc34a1fe3221ee003a57a8fbe0e6d3d903907ea5c60e8819decd846548d1ffd27740588438c553b8b819bf23a117d587c70fc581a50d3194550e786952e4126db7c5301a1df7f6f8c9eb43e521c62c2e262dee6a34c3f99f4979f6fd10718cfb96100768b279e2b443c822c72548b7d011529e9696eedf0877009f9e2aa2a3b95ad17fc27c8fd0235e4fd4f82bbb64407215cd5c4bdab38e2187448993e44f151b23d3a1b46484f25c3399d2da7bb0621dd945f986f4e1ff49ef0627b71193c3291865af20aed85e88f0607bb8fecdde5e10b939ba85d48f11ed875c4db1b025d2e5d525662cfcb36ebd3b0d96ddb9a3dfe90369b2eab5a5c822e7e3f736ce7019414861019620ba122b121d370f622797c48952410c5826c413689a3fe4da7bafca0d1e7e65326ede0990f8f7407418bcbf870ef45d9f6b2c564eca52847a95d44908c1c653cc99695dcb89a67ff7b47982068722b96d506e5f557ea2758a9bc5d92d75f5e1f3c1453deee4a7654c4f9c0aee6f3fd019d39afa2aaaaa2a430dba8f1f7e12f6bec80958b8242bdca38637919bb004c481f497f8b6827fb1ce05f003a0b3e1ff2e9f9960873f2fa4871e065897f77297b3e447455ef2a02d712812957aec49ef7d28aa2b95c44780db34343488906a408e35c12afd210c20d5df075c78668647474948b6384cb125eb9ac53a74ebdfaeaab523daf3905a7904ecf05e880a3ed7175d52c87cc21b27da64c2880e534e0980f2efb159592322bc9478fb5be94b07fd9185b39242d2ea4a04ab97ab8d4a7a09590758cb842bda4bdb85da86016ac5006e65af5625553a38fb09a84e3d7421fab0d972ce1b9409431836118b0bbd73ba941e6c8bbecfe94636b66a3687366fa50bf87e98c315ae972da1cf2b6f29bdf94565667063a0eb731310e36a644474d52ab8fa85e2e899ae3e4619f577c9ebdd56ad5e97090d7df19d967355a5cd4ae281dbfcdd3786a663a04fb7d4cac9495b6e3ca6910812328c547157190b20a28568ace4e0f7647b62915e48c1595da6b4c39b2ed22f2a57294f054d2465aefd83828d9452a4750a3a2fe021e3eaa249f1837313b466512954ce9c1e121af978912938fc8d73b36ce52bb60bd29d227f916c8f59309e823fedd5d97e7c3445aab96112070e1c20593c9a4d168a64c99f2f1c71fe3950bc88211bca267555959895ed0f0f0f0c68d1b172e5ca8c569f81a0d5e45212d2d0d2998c545b838c7c3f1e3551ab0168ec857cc26a3714e076488eac351b86b948891ab0faa4b7af518aa126e2304286783db6ee83ecf745d1cd4cfc8a6f2714174f04cf37fdfa86dfb269b3eb75157509baa2230e911509f0f93de444441d5258d9a49f005314a53232a022a020a08f87bbbfd413a3b0fff588ed070c799d61be58fa206934d1f05d854b28a808ac00d40407d3edc00d0d52aaf0201d525bd0af0d4a2b71f027d9e03db3c07f0bbbd05bf640707bdc26ff037028dc9a6cf8dc040ad53454045401e01f5f9208f8b4a9dac08a82ee964b58caad72446a0af933f3c7d92e838d9f49924b0a86aa808a8082002eaf341ed06370b02dcfabc9b455b554f150115011501150115011501150115815b1001d525bd058daa364945404540454045404540454045e0e642407549c7b317bd1c5e791996178cc79740fed32fc0f71f11f3a550be58f498e964eb4d967fccca0196c3d61df0ca23e370ddf86c7ae9ca352b5ce5a954c44a3b2a1d769b44a4123d8e31717da86a97abb2545a4d9cb858c24a3b5d2e07cd9d2f1923df8058423824ab57e2b8252bf91af0538e156bd62c75d0c989e670a35266c7d2ca5a5775b9b843dca87e926cbdc9f28f83f5cdd27f6e163dc7815bcdbe6d11505dd2f14c6f7380db0d7727f97a90915a030fd541c332714ecae48b058f934eb6de64f9c7aebec601c505e07e40ccb5fe0578e3393111d34a7419d69492a83954b6250737b68e974a3b6add4b9d543c31c154ed7db51565e539d163b722c594e8917cf69eb83ed4fc85345d6a2f8c2b3e46c238a788a617cc89eede3d06ebb5cd4a0887645550c02d59314afc4afd4189ae2487a35373e7e7582cf9f49cb1d944b93c6ee654d9912a2a2da44b700bd9f870a3fa49b2f526cb1fdf4a714aa1ff28d957892e169bf274927aa6bc7e55a08ac05522a02e6f1a0fc04172840cb097f158c7cb0fe0814d78264e7c48a1fc78c1e3a492ad3759feb1ab3f78105a6603f30731d7bd4ba1200d6a5e07d1e1034a7471f954a799cf4f33d3a6f69ff5c60bce995f4059a604a816dc2c3fa9602daf2b346b063b3e698e97a844170b4f5c9f91107bc212b92414587e8543b913129012a6447148b63205dc9215a3c4afd41f94e84a72383a73eae4b9e90b2e7f71666c36616e0cb78b7a2a720894906102717244d795b0f8c977a3fa49b2f526cb3f36400afd47c9be4af4b12b49416e927aa6a04655848a404a11505dd204e1943be232c1a209b15d6bf94a4a245b6fb2fc4af51e840d22af93e51cc5d7a09c17a54457129f323ad3d2c44885e1e16348945354ca2ba4d0b577e542b83f76163c9fa9441796e5e2c9e913fd08829f5f4527944a45b3cc620f44ca762d2989e390ac16f2b8252b45895fa93f28d195e4f0f43ecffe3d9e7178e2b205b8d99cd7da8ed75a7e5ccb048964eb4d965f5095342adf7f94ecab4497ca4d3525393d535dbb2a4f45e06a11505dd2c4101cb1c2e61de06467949e6e82ef3ecf17fbfe2658b60866e8201080a15138f12e6cd84ab2ea9f83ef3d40e8184243f0c72df0ece7241e0d84e16f40eb83373f253479f9f5b07b3d503308c3500fecfe29fc641f2c7a02de5c031fee82f425e02a2259cc47b0ea6912c1f0c616b8b718f0e4f0d000bcff16bcd6c89115aff2f50248dbb59d9521e67f1b7ef913c8fe1a9efb4eecbcd3a7ff1dfe5701fcd70fe15c05fcbf7f077358fdb174d74750f7342c7a0ade5c0540468ce1d47bf0d44f79dde84530dd0053d9b3def39713229e5cda8e27972ad0b95146d9f6aeff77583b135e6f84271ee56b6f7b071e8f54c4d71777a31caebbef9833dda09b7225141c0d0f5f3cb9b34dbb76d9421d8c864113bcf8d9f6bd87f902b825a92e632a7baa7de60c1aa76ae2fea4833e6fe4684c7ac53fd4e6e8af9cff64efde56c1b1a16ce152f7dd59e9d07decb0c8dd90d253a00f5be368505be95a55426721ac81fef30776ee656c956b97dfe93f7560cf6186b0d81c0dcb4aa1ebd39dc7492a1cca74b8d7945116e41fecf5fe7677f3d88eacd5eebccf5168d6b3560b077dcca7bbf6b701d81f6870e499f12c5d080707bf3c75b8e9b0d751b7d6aef7750566e6e718fce78f792ecf5d4c5b427ea6715b53b40a210e63f3dbabdd6505b9d3b0de502830121eee3eb6aba9cde6a85b566a38d9e299e528cf3391da87bb8ebddd0af27624cd95d19305a478f4cb935f68e795e50b7023fce058bab298cad6a1b3130e749c3eb2a7c5438e9695ed0f788ca82c9d6dad8c1c344565ddb28559e408793c375003becf0ef236c2a9a555f61cb645a843d07f7edfb6bdc2be25c48d5553d18eb2b86111393b5ee244e129af24d89d6b1d0bf49ae1e3ff436a56e827a9c093ad4de9a2502fc8b44bbe3f1f2b5d757fbe2170fcf7bba2bf4eaab2aeb6c4d275f4f74d97726570c6df4b52cf8109d85db6dfbe1f79e0c8619182e743f45727275fa5a908dc280454973431e41bd8098e1718984941911b367b6003aecef915b829f416e1e40930cf23de8f2d87885bbb09363889d7d5d602fe74b8f32e988774814bbaf6c7b0c14546d9ded908bd65a4888cfc7e68798eb865a73f828e347039e0e19760a4073eb380c904eec748a90beda0cb03ea1e78a51e7ed4089bf78073360c30d0da054bee81fa1f00731cb6b7134ea52053af72bb508894dffb351415c0134fc151cee75b04750ed07d055b8ec2eeff03737470ba15980198b300ac6c67fbda0f3e1fe0fc85823930735a4caf97ff2f14b09e0d929e7c89a7ef01b8f35fe5e92fee536cef34236452f0f206628293a7a1b8088c828a6255f231aa7aa5bb249b78f1bdddc369a66cb321cda087807f70781807430d16538621235ac8e9fa5bbb851d7f01a016bb283663e00c6ce74e70b2e5ccd2935ce334c95c515b750565043ff36bce178c4a94d053a3cf19e2dbe8b20bcbb22130e0f36b8d66735e95cbce9ccd30a4eb4633784f0332f4065dbac6644475d0265925ce2c446da0ffb2c16cc8a2ddee9e6d4decbb3daaad20622d75ff5d15a58190af8be90f68cd336d0633caa157ae73e271f583bde73b073473f373a932575d68d097a6d35ba87cf4514361635ed962843b14d61a738a6c708873afe271c850e6bf7467839336a36fe6ebee0eebcd59267d06ab7f46864e976eae7055a1ecfeee5e7d7656862e43c98e4a7aeee9d1eb753a1d5dc1e280b84de7716bf694bb1f22160cf4331d7eebbcbc5cfb12777ff750917c7fb830b356a99fc8ca693ade87ffd6e201d6e88f8246673619f4111bd55696e598b4fede8eaf2e05a69a2c59999a58774473c4e336861ded2e79dc14ecc8bba4386c6e2d5dfaedaafc7408771cfb53eb504eb17c3f1996b57bb278121c148252ff546a972cffc77d81c22c4bb1a3b295f7f96c2585b93aadbfbbadb3b6e101199c0381a49e0313b0bb7cbf550001c9a9793edcc013e7949ba6e6a808a82e69c27da0f17532e858f3026caa03fa5bb0c846fcd1d0057872251920a49f811d0dacac027894f547372f81ed42e1352411b80c8f6e822791610836af23fee222d625c52c91fca7b3597f74277c77132958ff63f8a10bd63c013f384792189a36c38f7600fd1ceca8878242a09f22fee8d069f8ebbf27b9352fc32637dcbf02b6b3c509492188ea556c57a4b888bfee1d70bd04e575b0e8a70487b5df011c156dfb0035805938487c091a3743637ba43080772bacda8a0e291cda1123626ce38b30d70c0f3f0973d260e7bf01ba293a1d9cd8077b419e3e7e7b7be099fbe160011cdd0169110f2cae4a366175fc15f147874f34bd7d88c1d76ff5a3ab4bc8afa2afedfd9d38e0675df9f8ea998252a7fe74a0dfacb7952da64c533a4e1c3eeb079d56fb4d3737660bd0d972c493397f7af8f333114aa4accb69d741f0cca1a60881bf8be929d387fdef08c0e7fd7057f371b03ad7adb61bac59f0597cfd23f149806e4fcbaf71f08faa7ddc5d68b0ce06507249ad55e5c41f653efc85d06bb555ae447f34d07be2dddd878868fbd2c79df9b9c58e013f49f51edbff45764d458e7ef8fc871f5c5cb0ba222b23e25e897160ff3d91e19f5ebd18fdd1f0c0271f6c27035d517b11f15c183cd1f4ee21c6ba6afdea2c8d56c98eb6ca62593d6dbfe35d31316ed6ca52f44783bd4d5b7633580fe57adc4de7de51f49e427ff09d01f97ea220078e1fea6cdb4f7a1c066bf5bad5256c0c2f94d980580c7fe5f9b0d923e3ae89718b1413dbd16654c04dde8e582f91341a9c51eebe6f31a585e0b90fdfdb8ffe22f75fb7a49fd82a0d29c1137188b440fe9e70bbf8e2227eefb6b66fe5bbb2720aab6d87c9ff42a5a5b97a1c4dff4b1b502b65714ef2393001bb47da19df6f2354f13d65cf07b16035ad22301910b81d5dd2677ff9c76f2f603fa9f31608ec7df6de575ac634077ef9e53e821f6c85401d58e6c1bdb9a4c0efdfe53f584f8fbc5a6109f1c97a3e8df74759e1f86fbba90c9ec4f825787e29ec6389dc452affae5938d803bf7d9f676adc07cfb84037954f5e6822fe2886e93c014a587d328ba0e520f9704ffc5980a992b1ba083b7f97d6abd82eb684941f9bd1b416ea8be01f9f814736c18338fe3504bffc39e1fe88011c46fce10ef8df3d70f430fcc74b10f3d3586d5991fce5e83e8264fd7ad2ea3feee05125790af4faf1dafb5f2fb06ba4dae1adb7e0ab93c2aa8471ebdcd988919f6923fe28069d56c3de23172362792592c07b5fa7b7af138c7607c6bffefcb807df6af1e1788bd043e3f3ac8e3adaac1dee38768089e396d253a68f0db021e1012ff14731b0fd3d1c57b93881fc81ae63c41fc5c05cb8142accca34d3f84f8498914bcf255f92073b5be35dd6f939387e19eefacb69be90e72f97aaf3b3d2d2b5a84ed877f43093bbca85c53c7b8febaaef401e6e3eae140750e0d7cccec1a6f49f3dc67f7815db0b70e5186bcabe3f1f39a2ffa63ba2bbd88e4a7a626790c72ddb447ee1e959f7ad5b4754036c114c49cb50ee0f0afdc42e2f27a2277b8f6b1473f67c7f76be9976ae5e70cf604fc78593ad07bc11d7540e37a2bfd48e65f34d0ab8c9db91e881dd4597b3187fd030ec697ebb25d20f64e517912d2464ec9e2c9e6cfbe52fb2f52ab74b1e071abc47bddf72dbb3ee585c7de8d7876a8bf270b8fdf33fb7629563e08c9f3d127e0e4cd0ee0afd560c45ca9e0f62c16a5a45605220703bbaa47fd8bd6d64feb418fc23be9696584a3e7626f2e2a50bc8dbbd1dc79af0658dafa808fb4cd605c4144b06595c093104212d684d50be1cf6097c52a9fc349ca6380a97a2e38b9944263ab55cf86628128bdc679948ecc24938e78f6895065f28ba627c3169bd4aede20ac8f003bcb61ddc2f41f132a81f81021da0bbccad5c7a7635d43f036bee8582d9e0ac03e712b123ce2b21b9e17b4c3608e9e3b477088ea287cb862d5bf988dccd6824ce5ac03fc06766105783f393e4d8e369c4494924d0b565645553eb1ef2e61304197a6af5098d0405d59197b4386410179c735531e2effd8a67b05a71cc28e4eb89f821e27260652912895a22ef4a7038e23441ba660ae7d4937ad831591c5a1dee011080278303e7192af083168dc40583c85ec1af3b3ab91c6f1b37e418e18cbf2beb49f8a4b8590d3aac3338d0dde11b89d4ae09f6475d5e56baa04971b509e809c9892b0cc7f7efecb5575714533916633655984dcd9dd3fc36fbdd5516376265a91dfb598345342733a0f97eae6047a202316e3814d668353a6b0efa727c5f90953faa352ad89d489a209ea4682cc8d6abd82e567d290ea40d2d7feea55d59d90595f6d01c8b363c70ae8521b528e34c72c70a02fbc6b109e8e3d93dd17e9bdae7439cb66a424560122020eb3a4d02bdaea50a9fbcf78b4f92963fc897787a29895cea860cd6f7fc9a7bf5d6c086fb7806efe764e9ce8c85f8e15abc9311720c9d80e74fc3a606a8c789a143b031baea5c22ff7c2799a379ff23b06f2b914cdbc9d86720e2934aed76f42c3c8693387db0e119c22f0d35f5903b0cdb057e30e191d4abd42e5ea0849fd02303a53f7c98b873efbfcdf3e2ad7113f9c3cff49b5f0727050f3e01fbd801548e6394753962dcc0bbf2914a62395c7b85f471daab05a1ff1a13248d9117afcec03af4607357e7635aec924af646e2875225ea13e994bddc146c3b1ef3e5c8ea132d749f905bd524434fa53e1a224c1c580734c852a9babfa2b15b712e294be19b545eb9808c810e7f132b2c6a57dfa540088cfa59a51408877ebb2efaed5916db1de5e0653d422b3bb73618128e34033aa9b8a22f225a099f483e8e460af8d916052f73ff92512baa16c4db4b2374756312b898c08e4a7a72b84871ebebf0052b72d3b5c34d4d4d62b1b8528fc339daa40887943eb69c4839f1bdd37308fff08b7ea5fbbe32ca3cb7c801ded6317193d8514b7c4f19dc14ecc86b10ecfe7d736f0d4eb5b6bb568482ef1f62229a89e5777d2d6ff789e1496a11f537be6271bda0d42e257e42e7074acb9c38692a7cfeb3633c2fcebb91c3399a8bfe792ccec6a4f6e518a4f4f1ecaedc6fc53890ae96cae795a8496a5245e0862220756d6ea83a93b6f2450fc30fef077b2514cd84403b7cefe7507f074011acf81798fe20dce3e4be93b3a39807617f3bd415c0a66668fa2df46740f15d30dc02df63c759b553e1e026786d269918daf0067cf38ffc176aa97c746ceb0be09ec7e015239ccd80b5ab0936cd7b000ae3408a3a5e473741fb8350e084dd3f81c68fc046438d0b069ba0e175c24f3f019b1e23119bd00fc6e5ec89b78b9496e167c9fc40298e140f9c802decc86ecd73b06905b41d821327a017c0c24e39e8c3d13141c82e837f7d1906cfc2c6ad3cb5dd47963de17affdf1c85454b21fd537e49be0c7dccf60a2a193bca74f585ec16637ec58aa5b3753994855d9cc46ef1142ba735e4b86a5d30e26b3ec40fbcf5f60d83c5347f89db7fbad3685b305bdbb58b5b926f753ce4aec0f1a205c6e06eeefd1d597dd2127b9db39215e829d34734442818b0c1ea2d74d552ed1db8dcc84cc688f9808ea93eb7bcd65998396b4e5e9601c748639b5549db05cc9fdb7dae424ba1fbd169debff45cd65a67d98ca3ccce3ddebbed8b8d798b56ba74677ddaa2d285e8daf69f3b3382d358e5466941cfaffa12e34394226f5f5108f67f13862c4b514dddd422631e654a67f3053eb5885f9814dad1db22af2703a8a7204471eb3c74ce575468a11e6d78e0a4e73c18ad7310bda077cbae16e456ea0f72f4b1e4082a8e4429e73a77d160d797e7bbbbfd4360603737080e0d465735497193b52363b72ae0a664c7aff07f15d0a40373e8ed16c33a677e4ec9d2ba910ff674907f60a4fdc40ba3b2769f189e20d3dfe4eb556e973c3f072bc30d9462e70974b7b5b1c30a4a3847ec807761ffe1c872f63d8c5972f424edce5520c12165cf87e816225c45ea554560722020f3d09f1c8a4d322d0a70017b1df1477b4ec23f7d8728d7f80cb47d05da19e07282ae0736bf855328612afbf9fec5ef4013cea5c375f10dd0500fc514e8d9371b0e7186d861cec67f86b7f04da685c7dec0014412a4f2612b3cdf08011db81f86271b6086165ade8117715327769ce0323f5a00836c841b6e6c7881ac6dc705f81b3640431de468a19d61a50b2ed1572c4793d63b46bbb088949f97bd0f3eba40a27f886c3b75f00cf48c42b993ac58daf02414cf860bad645b8068c01187194550e78695ae280d7ef49fd015208e3536c1590cac1f4b7265e963b5573c9e11ab4214f3361f65fac9a4b9fc7c8b3ec078ce0de358ade06711226fe02c3cbf89b62fa022653dcdad1dfe102e215f5c5565a7b2f582ffecb8a2b8ae860beeda121d84705513fbde8b940750a243caf4218a8f92edced930427a5e1887793a5b4e770d42ba29bf30df9c3ee83de1c5f6e2327864220db5e415da0bd11f0d0e761fd9bb8b9d55ca0b10b50ba9de03bb8e787b43a0cba54bca4aec79d9667d1a36bb6d5bb3c71fd266d365558b4bd0c5ef678eed3c8092c21022436621542436641ace5e248f8f123ff4359deaf283469f9b4f99b483673e3cd21d046d6cf91a36423e48eca8a4a7026e000776359fef0fe8cc79155555152585d9468dbf0f7b0e094afd41963e861c4e1a5e63cd607a7d8357cc39544919f6b5c574b63138d0d1daec51ec3f4a76f428e2a6604708a212dcb8a067ff7b47982068722b96d55a94fa492af14404a4fd4dbe7f2ab74b9e9f87d8eb394fe6eaf8ce4666832be0ccb363bf25e2127d0e246f77942e1fc438a4ecf9205f9d4a5511b8b1084cb97225f67e90aa12cde522c22bee9d87fc488906a408e35c12afd210c20d60f0f5c88668647474948b6384cb125eb9ac53a74ebdfaeaab523daf3905a7904ecf05e880a3ec1060b4be9ae5903904fba2dfdfa319182980e534e018d1975e712921171757928f42ea4b09cb978d82153fd2f2020aaa848b482ff589b55afe08cc0bc0cf76085871f434c97629f1e399f5875e82340616b3a3b9d13a70b7d182b90484bee370301eba288f34824db0ea659a2c4b576aaf54ac2cc56ac3254b6477496306c3306077af775283cc91779b44c38c32856d146dce4c1feaf7309db15c2b5d4e9b43de567e339bd2caeacc40c7e13626c6c1c694e8a8496af511d5cb255173dc4ed5e78dae93e1b9ac56ab4e8783bcfecec83eabd1e2a27645e9f83599c65327d321d8ef6362a5acb41d576083081c41293eaa8883945540b15274767ab0dbcb881c7d014b82d144f58c8a23559bd283c3435e2f13257211d9fe8059b2f4b1e454af7ab024cbe769de989018b70000400049444154155d5264b5d116733a823cc4377a6cdc94ec38266eb2761435914f2ac9279d2131bb47e52ae120dbdf94ea556a97123f3ef8d63ceeb24ce96ff9cf9dc2ffbbf0d727c239aae7181159fb22bf2c5da9bd4af2c5385c97e78392322afd1a2170e1c20593c9a4d168a64c99f2f1c71fe3950b581d46f08a9e556565257a41b84fdcc68d1b172e5ca8c5e9f01a0d5e45212d2d0d2998c545b838c7c3f1e3551ab0168ec857cc26a3714e076488eac351b86b948891ab0faa4b7af518dece120ae0fbabc9b8edf20760a60e1a5f80d7447355273b3894b3c16d37749f67ba2e0eea676453f9b8a03b78a6f9bf6fd4b67d934d9fc96ebf5b473f9bd35daaf5f70d6bad742165d0063cbfd9d222f857e7d669e88d6c89b5bc7aa12e04397461b641dbeb69de1d75fa6fa45649d4ad3e1f9200ebe661555dd2a8ad045f1ca33435a222902802349999c0858f709fac9bcc1f45c5fdbdddfe209d9d877f6c3342c31d6770971dbe4dd7ff36d9f4b9fe08dcae3566cc9e4b593414dbfc50b7e788ea8f5e839e60292cb19b59b9fde78fdd74fe282aae3e1fae41af50454e22045497741219e3265405774bc58f7540f6b4bf716edcd5e0d6e739b0cd7300bfdb5bf04b7670d02bfc067f3572275a76b2e933d176a8e592458069fea0c962c8c45ed82d995091ac2c955f01016f4b1398332132fd41816b1293d5e7c324368eaa5a0a10505dd21480785b8b3878f38d8c4aedd5d779f5b312a552274e996cfa4cbc256ac98411508d9e30541367ec64bcb7c06c08b5ab4cbc07a825273702dc7abec9ada3aa9d8a808a808a808a808a808a808a808ac02d8d80ea92ded2e6551ba722a022a022a022a022a022a022703320a0baa4e359895e0eafbc0ccb0bc6e34b20ffe917e0fb8f88f952285f2cfa7aa697c3d61df08aa475d753856b5217bd74e59a15aef254cab6d28e4a87dd2611a9448f634c5c1faadae5aa2c955613272e96b0d24e97cb4193337e6e7048088764754c1cb764255f037ecab162cd9aa50e3a39d11c6e54caec585a59ebaa2e177788c9d34f924347c47d53f50791ee6a5245e0d645407549c7b3adcd016e37dc9de4eb41466a0d3c54070dcbc43929932f167c5dd3350e282e00f703d7aad2f52fc01bcfc90857a2cbb04e8844cda1b22db8658cc8fcb4a3d6bd140f489d48a8bdafb6a2ac3c277aec564486123d92cfde13d7879abf90a64bed8571c5c74818e714d1f48239963158ae4f56423824ab8a026ec98a51e257ea0f4a7425391c9d9a3b3fc762c9a7e78ccd26cae57133a7ca8e545169215d825bcec68749d34fe2d54a327553f58724dba6b2ab08dcc408a8cb9bc633de20397206d8cb78ace3e507f0c0a65131530ae58b455fc7f4c183d0321b983f5cab2aef5d0a056950f33a880e2550a2a74a0fe6f3d3ccb4a9fd6745db09e4cc2fa02c5302540b6eae9f54b096d7159a35831d9f34c74b54a28b8527aecf48883d9129727a93589024cdf24b0ef196b05d6342a23824ab86026ec98a51e257ea0f4a7425391c9d3975f2dcf40597bf3833369b303786db453d15397449c830813839d2eb4a58fce49b1cfd6402cd892b7253f58738cdd5848ac02d8d80ea9226685e3c2df49a866b2dff9a2a8fc20fc20691b798d21a47f1f528e75d29d1535639d3d2c44885e1e16348945348ca2ba4d0b577e542b83f76763c9fa9441796e5e2c9e913fd08829f5fc73de88865167b20520dae2525711c92d5421eb764a528f12bf50725ba921c9edee7d9bf27ee50a171f841809bcd79aded78ade58fd7d894e4df54fd21252d5685a808dc0c08a82e6962561ab1c2e61de06467949e6e82ef3ecf17fbfe2658b60866e8201080a15138f12e6cd84ab2ea9f83ef3d40e8184243f0c72df0ece7241e0d84e16f40eb83373f253479f9f5b07b3d503308c3500fecfe29fc641f2c7a02de5c031fee82f425e02a2259cc47b0ea6912c1f0c616b8b718f0a4f1d000bcff16bc2638539e63885effe3d730e31cf8ef84f29980bbdc7f5d05ee02e86a81ba67088b6cbbd6ff3bac9d09af37c2138fc21c56abb677e0e7006fae022023c070ea3d78eaa7d11a108514e88f47924e37c0546c1240fe7272cd0468c79da714e8dce863e238108940395c77df3167ba4137e54a28381a1ebe7872679b76edb2853a180d832678f1b3ed7b0fb38cb809ab8dd2654c4d23efe5cc19344ed5c4fd4c077ddec8519af48a7fa8cdd15f39ffc9debdade2dd664add7767a543f7b1c32277434a4f813eacbaa3416da56b55099d85f005facf1fd8b997b155ae5d7ea7ffd4813d8719c26273342c2b85ae4f771e27a97028d3e15e534659907fb0d7fbdbddcd633bb256bbf33e47a159cf5a271cf4319feeda8f07b1da1f6870e499f11859080707bf3c75b8e9b0d751b7d6aef7750566e6e718fce78f792ecf5d4c5b427ea6715b53b40a210e63f3dbabdd6505b9d3b0de502830121eee3eb6aba9cde6a85b566a38d9e299e528cf3391da87bb8ebddd0af27624cd95d19305a478f4cb935f68e795e50b7023fce058bab298cad6a1f1c3818ed347f6b47814fb031e27a9dc4f64e4a0292aeb962dcc2247c8e3b9811af07d7690b7114e2dadb2e7b02d421d82fef3fbb6ed15f62d216eac9a8a7694c50d8bc8d9f112270a4f8525c1ee5ceb58a0d70c1fff1f52b3423f49059e6c6dd2cb6dd81fa420a81415815b1e01d5254dccc40dcf11be0b0ccca4a0c80d9b3db00157f3fc0adc147a8b70f20498e7112fcd9643d8d66e820d4ee2a5b5b5803f1deebc0be6215de092aefd316c709151b67736426f19292223bf1f5a9e23eed7e98fa0230d5c0e78f82518e981cf2c603281fb3152ea423be8f280ba075ea9871f35c2e63de09c0d030cb476c1927ba0fe07c01c87eded84531af426284025431008c13d0f937c8ce494a1a707df5668d734236452f0f206d2b493a7a1b8088cd3e0eb2ef0f900e72314cc8199d304f52c4f8dfe0ffe5f28603d1e14fde44bbcfc3d0077feab3cfdc57dc9e180fe68f54a774936f1e27bbb87d34cd966439a410f01ffe0f0300e861a2ca60c4346b45d4ed7dfda2dec3811165ceca2d88c8133b09d3bf1c996334b4f728dd32473456dd5159411fcccaf395f302a51424f8d3e67886fa3cb2e2ccb86c080cfaf359acd79552e3b7336c390ae1bcde03d0dc8d01b74e91a9311d5411b669538b3d0ba03fd970d664316ed76f76c6b627dd5a8b68288b5d4fd7755940642be2ea63fa035cfb419cc28875eb9ce89c7db0ff69eef1cd0cccdcfa5ca5c75a1415f9a4e6fa1f2d1470d858d79658b11ee50586bcc29b2c121cebd8ac7214399ffd29d0d4e1a8fe009fababbc37a7396499fc1ea9f91a1d3a59b2b5c5528bbbfbb579f9d95a1cb50b2a3929e7b7af47a9d4e4757b038206ed379dc9a3de5ee87880503fd4c87df3a2f2fd7bec4dddf3d5424df1f2eccac55ea27b2729a8ef7e1bfb5788035faa3a0d1994d067dc446b595653926adbfb7e3ab4b81a9264b56a626d61dd11cf1b88d6147bb4b1e37053bf22e290e9b5b4b977ebb2a3f1dc21dc7fed43a94532cdf4f8665ed9e2c9e0407b9703bf607391c549a8ac0ad8d80ea92266cdfc6d7c9a063cd0bb0a90ee86fc1221bf1474317e0c99570145f70cfc08e065656013ccafaa39b97c076a1f01a92085c864737c193c830049bd7117f7111eb92629648fed3d9ac3fba13bebb8914acff31fcd0056b9e801f9c23490c4d9be1473b807e0e76d4434121d04f117f74e834fcf5df93dc9a9761931bee5f01dbd9e284141f38cbbff32c94fc0b94cf808f36c3a9a5f0180d739e516857b4780f3c733f1c2c80a33b202d1dbc5b61d5567448e1d08e2807893cbd2635fa6f7c11e69ae1e127614e1aecfc3740f745a7238745ed05797ab238581d7f45fcd1e1134d6f1f62f0f55bfde8ea12824d5fdbfb3b71c0cfbaf2f1d533497bf870ea4f07facd7a5bd962ca34a5e3c4e1b37ed069b5df747363b3009d2d473c99f3a7873f3f13a1440aba9c761d04cf1c6a8a10f8bb989e327dd8ff8e007cde0f77351f07ab73dd6abbc19a059fc5d73f129f04e8f6b4fc1a07ffa8dac7dd8506eb6c002597d45a554efc51e6c35f08bd565be54af44703bd27dedd7d8888b62f7ddc999f5bec18f09354efb1fd5f64d754e4e887cf7ff8c1c505ab2bb23222ee951807f6df1019fee9d58bd11f0d0f7cf2c176320c1db51711cf85c1134def1e62acabd6afced26895ec68ab2c96d5d3f63bde1513e366ad2c457f34d8dbb4653783f550aec7dd74ee1d45ef29f407df1990ef270a72e0f8a1ceb6fda4c761b056af5b5dc2c6f042990d88c5f0579e0f9b3d32ee9a18b74831b11d6d4605dce4ed88f51249a3c119e5eefb16535a089efbf0bdfde82f72ff754bfa89add290123c1187480be2efb75f7f886fbf9a5211b82d10b81d5dd2677ff9c76f2f603fa9f3260eec7df6de575ac6b4377ea1e63e821f6c85401d58e6c1bdb9a4c0efdf25fe2886e991572b2c01fca6ddf369bc3fcaf2e03094a90c9ec4f825787e29ec6389dc452affae5938d803bf7d9f676ac4a33b5da09bca272f34117f14c3749e0025ac3e9945d072907cb827fe20c054c9585d841d200d42edf09383f0cb97505d786a077cff7e92f92dd645966957a4e47fbdc0ae316a87b7de82af4e46a86ced9104b9df353735fa1fdd4710ae5f4fa4fd71078f36a940815e9f1c0ed6b9b311233fd346fc510c3aad86bd472e46c4f24a2481f7be4e6f5f2718ed0e8c7ffdf9710f7a45f1e1788bd043e3f3ac8e3adaac1dee38768089e396d253a68f0db021e1012ff14731b0fd3d1c57b93881fc81ae63c41fc5c05cb8142accca34d3a07452ec5cf22579b0b335de659d9f83e397e1aebf9ce6a57bfe72a93a3f2b2d5d8bea847d470f33b9ab5c58ccb3f7b8aefa0ee4e1e6e34a7100057ecdec1c6c4affd963fcb408b1bd00578eb1a6ecfbf39123fa6fba7935406c47253db133c8e3966d22bff0f4acfbd6ad23aa01b608a6a46528f707857e62979713d193bdc7358a397bbe3f3bdf4c3b572fb867b0a7e3c2c9d603de886b2a871bd15f6ac7b2f92605dce4ed48f4c0eea2cb598c03da30ec697ebbc5cbeac6e223955f44b69090b17bb278f275c8dce4fbcf6dd11f64d050492a02b72602b7a34bfa87dddb46e64f8bd973c4d7d2124bc9c7ce445ebc740179bbb7e35813beacf11515619fc9ba809862c9e8efc904420c41480b5a13942f877d029f542a3f0da7298ec2a5e867f74c22139d5a2e7c33148945eeb34c2476e1249cf347b44a832fa22e63842d76c7572a274e0b81c82b2e9a2b6d179f350447391f1c60cbd628bb4c248d5537b5fae3fb4d3608e949e2603412672de01fe00567105723d1754bd17f4364b58a11e9da32b2aaa9754f6b8c466232f4d4ea131a090a6b4467451c32880bceb9aa18f1f77ec53358ad383617f2f544fc107139b0b21489442d917725381ced51e99a299c534fea61c764716875b80740009e0c0e9c67a8c00f5a3412170c227b05bfeee8e472bc6ddc90638433feaeac27e193e26635e8b0cee04077876f2452bb26d81f757959e98226c5d526a0272427ae301cdfbfb3d75e5d514ce5588cd954613635774ef3dbec3c1159dc884b2ab5633f6bb088e6640634dfcf15ec485420c60d87c21aad4667cda1c1cbf70559f9a35aa382dd89a409e2498a46c318fde7f6ea0f5144d4888ac0ad8780aceb74eb3533ae459fbcf78b4fe20889240679a6a79792c8a56ec8607dcfafb9576f0d6cb88f67f07e4e96facc5808f8a15eba067de8043c7f1a3635403d4e0c1d828d510e89fcf39d505400f73f02fbb612c9b49d8c7d06223ea9d46e47cfc2630ed0f960c333bc26a25b4d3de40ec376811f1c65104ae39c5169bb78662d08fdbfa8042e32caba105c1cc70f53a83fa76104a458b552fab838c40a7331f2e2d51958871e6ceeea7c4c8b5d52c9de48fc50aaa0b931a994bddc146c3b1ef3e5c8ea132d749f905bd524434fa53e1a224c1c5807947355a9babfa2b15b09464ff92695572e2063a0c3dfc40a8bdad57709e71e1bf5b34a29100efd765df4dbb32cb63bcac1cb7a8456766e6d30241c6906745271455f44b4123e917c1c8d14f0b32d0a5ee6fe25a356542d88b79746e8eac6247031811d95f4e47091e2d6d7e10b56e4a66b879b9a9ac46271651f8773b449110e297d6c399172e27ba7e710fee117fd4af77d6594796e9103bcad63e226b1a396f89e32b829d891d720d8fdfbe6de1a9c6a6d77ad0805df3fc4443413cbeffa5adeee13c393d422ea6f918ac9fdb6ef0f4230d4b88ac0ad8480d019b995da95eab62c7a187e783fd82ba1682604dae17b3f87fa3b008a60c5bfc0f407e11e27f79d9c1d763c08fbdba1ae00363543d36fa13f038aef82e116f81e3bceaa9d0a0737c16b33c9c4d08637e09b7fe4bf444be5a3635b5f00f73c06af18e16c06ac5d4d9ad4bc07a030ae6d5107f1e826687f90ac58dafd1368fc086c34d4b860b0091a5e27fcf413b0e93112b109fd6039eb331715da454a8f13b2cbe05f5f86c1b3b0712bbcf6bb54eadfee23cba7701f80df1c85454b21fd537e69bf0c7d4c1c240d60bafa42768b31bf62c5d2d9ba1ccac22e4e62b7788ab16a0d39ae5a178cf89a0ff1036fbd7dc36031cd5fe2f69fee34da16ccd676ede296e45b1d0fb92b70bc688131b89b7b7f47569fb4c45ee7ac64057acaf4110d110a06eab07a0b5db5547b072e37329331623ea063aacf2daf751666ce9a939765c031d2d86655d27601f3e7769fabd052e87e749af72f3d97b5d65936e328b3738ff76efb6263dea2952edd599fb6a87421bab6fde7ce8ce0345676d82d525be4aee7577d89f121f99ca317e164efc1fe6fc2906529aaa99b5a64cca34cdc7f50029f3a8e3b3e21b4a3b7455e4f06504f4188e2d679e89cafa8d0423ddaf0c049cf79305ae7207a41ef965d2dc8add41fe4e863c911541c8952ce75eea2c1ae2fcf7777fb87c0c06e6e101c1a8cae6a92e2266b47c66e55c04dc98e5fe1ff2aa04907e6d0db2d8675cefc9c92a575231fece920ffc048fb89174665ed3e313c41a6bf116d22a0c4eeb75d7f88355d8da908dc8208c8fcc86fc1565e7d930a70017b1df1477b4ec23f7d87c86b7c06dabe02ed0c703941d7039bdfc2054b3095fd7cffe277a009e7d2e1baf80668a887620af4ec9b0d873843ec3067e33fc35bf826d3c2636fe0ba2012a4f2612b3cdf08011db81f86271b6086165ade8117715327767ce272644066908d70c3930d2f00334016e06fd8000d7590a3857686952eb8445fb13814886bad308c0662f30190e8556e17e1160f20121a1730674611d4b961a58b25a454ff1ffd27740588c38d4d731643644a2dc8d213c121a235789b8f32fd64d25c7ebe451f603ce786719aade06711226fe02c3cbf89b62fa022a53ccdad1dfe102e215f5c5565a7b2f502df9e2b8aeb6ab8e0ae2dd14108573571c3e91101a0444f9d3e44f151b2dd391b4648cf0be3306167cbe9ae414837e517e69bd307bd27bcd85e5c068f4ca4a196bc427b21faa3c1c1ee237b77b1b34a7901a27621d57b60d7116f6f0874b9744959893d2fdbac4fc366b76d6bf6f843da6cbaac6a7109baf8fdccb19d075052184264c82c848ac4864cc3d98be4f151e287bea6535d7ed0e873f3299376f0cc8747ba83a0c565767cc046c807891d95f454c00de0c0aee6f3fd019d39afa2aaaaa2a430dba8f1f761cf2141a93fc8d2c790c349c36bac194caf6ff08a39872a29c3beb698ce3606073a5a9b3d8afd47c98e1e45dc14ec084154821b57f6ec7fef0813044d6ec5b25a8b523f49259e8880a4bfc9f79fdba43f443b861a5111b8b5119872e54aecfd206d6a34978b08afb8771ef223251a90228c7349bc4a43083780c1d7231ba291d1d1512e8e112e4b78e5b24e9d3af5eaabaf4af5bce6149c423a3d17a0038eb6c7d555b31c3287605ff4fbbb30b30096d38063445f7ac5a5845c5c5c493e7aacf5a584e5cb46c1ca1e6979010555cad5c3a53eb156cb1f817901f8d90e01ab7274ac76299792c9499dfe281cb5b2ea65a090a52be12052d26ac3254b6477496306c3306077af775283cc91779b44c38ca2622469a3687366fa50bf87e98ce55ae972da1cf2b6f29bd994565667063a0eb731310e36a644474d52ab8fa85e2e899ae376aa3e6f749d0ccf65b55a753a1ce4f57746f6598d1617b52b4ac7afc9349e3a990ec17e1f132b65a5edb8021b44e0084af151451ca4ac028a95a2b3d383dd5e46e4e80b58128c26aa67541ca9da941e1c1ef27a9928918bc8f607cc92a58f25a77ad58325593e4ff3aee89222ab8db698d311e421bed163e3a664c7317193b5a3a8897c52493ee90c89d93d2a570907e5fe162d1a8b8cd9ae185b02b194e98f75c9da5d89ae8443023aab2c373d02172e5c30994c1a8d66ca94291f7ffc315eb9800dc3085ed1b3aaacac442f08f789dbb871e3c2850bb5381d5ea3c1ab28a4a5a52105b3b80817e778387ebc4a03d6c211f98ad96434cee9800c517d380a778d123172f5417549af1e4355c24d8c00e56c70db0ddde799ae8b83fa19d9543e2ee80e9e69fe6f6e9bd1ebdfb0c9a6cff547e076add1e674976afd7dc35a2b5d4819b401cf6fb6b408fed5b95d6151dbad2270eb23a0baa4511b0bbe3846696a4445e0b641c0dfdbed0fd2d979f8c7b63934dc710677d9b961ed9f6cfadc30206ebb8a3366cfa52c1a8a6d77a8db7344f5476fbb2ea0365845e0b6474075496ffb2e707b03d0e739b0cd7300bfdb5bf04b7670d02bfc067f2390996cfadc080c6ecf3a99e60f9a2c864cec85dd920915b727226aab550454046e37045497f476b3b8da5e1904fa3aaf7e56a28cd80993269b3e136e885a30710454a3278e95caa922a022704b22c0ad6bbc259ba6364a454045404540454045404540454045e0e6404075496f0e3ba95aaa08a808a808a808a808a808a808dcc208a82ee978c6a597c32b2fc3f282f1f812c87ffa05f8fe2362be14ca178bbe9ee9e5b07507bc2269ddf554e1aaeaa297ae5cb3c2557e55324485adb4a3d261b789a8649f1c797a1c63e2fa50d52e5765a9b49a3871b1849576ba5c0e9a3b473246be01b1847088ea65abac75559753d17424a2448fe4dfe07b0276e470a0526697521629b181278fddafca2209e07955f2af75e19b5dff6b8d8f2aff7647407549c7eb013607b8dd70373d1edfb8f935f0501d342c13f3a54cbe58f0754dd738a0b800dc0f5c6da5eb5f80379ebb5a2113284fcda1b22d39b8217e7c59da51eb5eeaa4e28909a66aefabad282bcf891eaf1529a6448fe4b3f7c4f5a1e62fa4e9527b615cf13112c6394534bd608e650c96eb9395100e5155a8c2d2427a61e1fc28818f28d1c57c3728ad6047a1363c0ee654d9852a42a44a70abd8f83069ec1eaf5692a904f04c44e2d5fcae1391afc8a3a0ff0dd3475151354345e0c620a02e6f1a0ff74172e40cb097f158c7cb0fe0814dece94d42c614ca178abdcef18307a16536307fb8da6aef5d0a056950f33ac81e3e70b5d295cb339f9f66a64ded3f2bdafd29677e01659912a05a7013fda482b5bcaed0ac19ecf8a4395ea2125d2c3c717d4642ecc94b91539ac4822469965f70d8bb84e1ba1012c521a68c523395e8b1923732a660c7a84a311c2eeaa9c86149d1dc8945c8515c57c2e227d6e4b0fbc45a142b351e9e31ce316313fe5d8f2935814c05fd6f983e09a8acb2a8085c4f0454973441b4f1b4d06b1aaeb5fc6baa3c0a3f081b52e1458ee2eb3461ef2a956d625a9a18a93c3c640c89c92b44d7de950be1fed819f1bc6825bab4e6e4f4897eecc0cfb5e31e68c4328b3d16a906d79292380e112dfcc408d16646a878ce94023dc6716363f2768ce824c0c1e6bcd676b9d6f2238dbaa6f7b1f14cb4ea89feae1395afcc27afff8dd347595335e70621909191110c8a9fcf48bc41ea5cef6a55973431c447acb0790738d919a5a79be0bbcff3c5bebf09962d82193a08046068144ebc0b1bb692acfae7e07b0f103a86d010fc710b3cfb3989470361f81bd0fae0cd4f094d5e7e3dec5e0fd40cc230d403bb7f0a3fd9078b9e8037d7c087bb207d09b88a4816f311ac7a9a4430bcb105ee2d063c693c3400efbf05af35726499eba2a760f3b761cb462879388976ad7f191e580cb34c301a80c0289cda056f67c09bab00c808309c7a0f9efa295fd7d87a4a71fb8f9330dd0053d9b3e1f39713219900edfb808c32cae180e4f5ff0e6b67c2eb8df0c4a3308745a9ed1d783ca20011210e94c375f71d73a61b7453ae8482a3e1e18b2777b669d72e5ba883d1306882173fdbbef7305f06b72ad5654c654fbbcf9c41e3544ddcb774d0e78d1c9949aff887da1cfd95f39fecdddb2a3e63a7d47d77563a741f3b2c3c231ec54ae929d087557734a8ad74ad2aa1b310be40fff9033bf732b6cab5cbeff49f3ab0e73043586c8e8665a5d0f5e9cee324150e653adc6bca280bf20ff67a7fbbbb796c47d66a77dee72834eb59eb84833ee6d35dfbf1c055fb030d8e3c339e990be1e0e097a70e371df63aead6daf5beaec0ccfc1c83fffc31cfe5b98b694bc8cf346e6b8a5621c5c15eed2e2bc89d86f243a1c04878b8fbd82ef640d7183eec6176d1e7b484aea95df5f7f986c0f1dfef8a5a83aaacab2db1741dfd7d539b59aa27418172aca8b2e79888fe1882fef3fbb6edcd1d537f193d8fa7352c2b1efdf2e417da7965f9f1f8cbf62bae32f62ac541c92e32f5b2f8c8d9e51257039ee64a82ddb9d6b140af193efe3fa4972ac897b123db61e4dac54a752c5d594c65ebd0c90d073a4e1fd9d322eae92c137761fba1efd33ff567979748fa9b52bb62f61df7774a3ab6a29e32f25bbb957fd77238909f4eddb252c3c916cf2c47791edb5b86bb8ebdfd7ee44121686b349a84fee33c67a222d5c8ed82c08c19332e5ebc286a2d1245945b35a9baa48959b6819de0788181991414b961b30736e06a9e5f819b426f114e9e00f33ce215d97288b8b59b60839378696d2de04f873bef82794817b8a46b7f0c1b5c64f4ed9d8dd05b468ac8c8ef8796e7885b76fa23e8480397031e7e09467ae0330b984ce07e8c94bad00eba3ca0ee8157eae1478db0790f3867c30003ad5db0e41ea8ff0130c7617b3be19406c334c834c1932f919c04dbf5fd2dd0504cda75fa044ccd056a26ccb4c0d75de0f301ce4728980333a7c5ea3128eb298bdbcbeba180f5785004a71546f600bc08f238fcec284c334226052f6f202a9d3c0dc5456014281053858f51d52bdd25d9c45befed1e4e33659b0d69063d04fc83c3c338186ab098320cb1ff449daebfb55bd87125745d16bb2856c6c019d8ce9dec64cb99a527b9c66992b9a2b6ea0aca087ee6d79c2fc8578e6f36313d35fa9c011cc8d5651796654360c0e7d71acde6bc2a979d399b6148d78d66f09e0964e80dba748dc988eaa0adb24a9c5988da40ff6583d99045bbdd3ddb9a585f35aaad20622d75ff5d15a58190af8be90f68cd336d0633caa157ae73e231f683bde73b073473f373a932575d68d097a6d35ba87cf4514361635ed962843b14d61a738a6c708873dd2538d85d0d4eda8c3ea1afbb3bac376799f419ac9e527c38a5e4e8e10b7d81c22c4bb1a3b295f7156c2585b93aadbfbbcd20abe79ed6cedacab21c93d6dfdbf1d5a5c05493252b5383e6cf50d6ffd29d727a66805ea7d3d1152c9e88ff741eff6301d97e15c3558283925d94f051b00bef92a2fb6e2d5dfaedaafc7408771cfb53eb500efe74e5ec3e2c8f4f8f5ebe5dcd9e72f743a48707fa990ebf755e5eae7d89bbbfbbe978f43f8e5813492c23439faec35f104645fd4da95d52fb8ef13bc58eada4e7ffcfdedb4037755df9a31bcbb6908584900cc632261763614760c78eedd8b1a91c8f268e20e3503c21cfa56d5a1e61255d4c32ff07594d9369322b4dda345dc09a695f663ad399453e1ae051fe3419427169bd28fac70496494cf97020324409d8c6d816c64216b22cf3f6b91fd2d5bdf7d832d87cdeb3bcee3d779f7df6d9fb77f6d5dd3ef79c7b14e53b9c6594fb1a947168e94c4dd56a534c25ce4af4e5feee5e5d467aaa36f643116f2db91a97fe63fccec8a5ab943b1d81f4f4f440203038187b71aad7eb67ce9c79a7dbcddba786a40977f4ce37c8a063f52bb0b10e6cf741a995c4a39173b076391cc607f47ad8dac0caca85556c3cba69316c110baf2617a12bb06a23ac458641d8b49ac48ba56c488a4512f9cf65b0f1e836f8ce4652b1fee7f092139e781a7e78865c626adc043fde0ab617616b3de4e681ed59128f0e9e84bff92e29ad7e0d36ba60e932d8c25627a4f814102e25edd2ecb23dcdc6a317617d2d99e819b5d7f3363cfe3606a4d0bc5590c89ea3f2257a96ae57c66dc3ab30d7044fae8539c9b0ed5f01c317ad168eed81e7362be38021299f7a60fd52d89f0b87b742b210810965b1b3a5ec1b241e0d1e6b7ca7d98b8febaa552b0a88f7f7b57eb80d07fc2ccbd7ac10dff4273eded76fd2598bca19e3948e63074ffb41abd15cee2663b62475ba0fb5a5cd9b3ef2e52981c2d1019c0ebb16c2a79a1b05027f96d2274c1ff6bf20009fe7c0f6a6a36071ac5e61d75bd2e1f3f8f687e22f01badbdcbfc7c12da6668d2b4f6f990d400b492d95c5241ef51ef88d386ab5562cc77834d47becbd1dcd44b4bd768d23276b51d9809f5cf51ed9fb55467549a62e78f6c04717e6af28498fbe7792e260ad2ac7787464e0d38fb69001ce68bfd0f0a1d03dfb5aefcb71a667e655590f92d8b7b0304b07c1ae2fba2b16952be9696df9ab498fff0205cfb71d686a8b855359ecbf450afa4fa7e829002bc5bfcfade857041d36497110e8d27eb11a94f101e57ec18888481a0ecf28763d5cce68207ce6c0077b315ee4fe5b96f5bbb542afd88fd63ff2a1add42e4b4521c6a3e1dec6cd3bbcd810e35ce3b2652dc887a3ac1b90b6e3d310f9970953a27651fa97769f020d7f8a5fd1ee6b9a3f5b5b3e14ec091c6b7cafd96b79fc9915e949c23fcf4259ec3c4efd69fac404aab9bb0c01a3d1c8304c6f6fefa54b97d074b3d98cf1a8c16018616791ddf160dc8d21e90bbffdcb37e7b3afd4f9ee0ded7ee1a1d7dda3f635be11e65e82ef6f81501d98ef8187b248853fbd47e2514cd353d9131e16030eb1f77c161f8fb285380c622c82b598bf082fd7c21ea1069ee5f2ef9f85ff94c31f841fc49d7b60bd13b453f93ae71a493c8a693a4f8002569fb47c70ef272fee491c073055368627b0f36779bb34bb16df47aab837f30b8f62f67292d8d679a1a2935ccf87d8105c8edbe13d04c9fa6788d57fd9caa38a92fe61ee683820c37fbdc2aad40e6fbd05e78f8bda8ecb5ae6ce462cfcde56128f62d26ac820672c1910b3abb14be8ebf4f47582c15e86b44b5f1e6dc328273e1d758b2334becc5256673369821d47f679e3b8e5f409d3c74a66588e0c78483c8a89f56b2e0888d3407481fca1ae23241ec5e43d773192979e66b2013b4542c42664e792779581ce96f890755e268e6b8e747d7192676bfbe262554e7a728a06d519f11d3ee8cd7adc89d5da761fd5562d401e32e513034e193eccbc4c54b9fff411fe85bbd02f347c687454ffb0e73e973d7d417955f3ef9b6bf2b371d8f5cbbfb6cc2b5ea4a8a71ebca7cff667e4986c8e15f31f0cf4749c3bdeb2cf43425365fd93662bebc95618057fa95f1114947040a262bf14cd332ae203a0dc2f443a76bf36b31c07a821d8d6f48e5bf8a749517e3ef92484423f2255d9af328ce4972e25fde1d5ab0954803d0e5392a3bf7ea47d49526c976617bd7f39a90a782aea49f32bda7d5d55aeeccf8843986d19572a367b31d7f7d743877497bb396de4c7f1ea4fd3472e59a5dc3d0860543a7dfa7476b2124c9932050dbf7a55fc74ba9391b81b43d23fef787f68deb458af0ef9dceed89572ee94f040b6e592a77e3b8e41e1431c7f9a05f6996c0888572c19147125c4084434a03142f112d8238a49e5f293ade415ebc576a181342213835a2e5d8e8deaf3149cdf89e9dc7138e317b44a86afa8211a5f4bde2ecdae4c03a9d22984667ac15e5e10e524d7936394e3261680cf81684a66cda6e18083cd87b9ff090036bf1dad24cf180c24580bf907f8a254f228e5e22439b39432da0357cc6bab2922ab9a5a76b588a9e81372fac4ea1319e29e9b7cb3f89096a654128273a12a66fcbde779068b05c70a23be1e216e91d6030b4b9149d4107957c3c1e8f8624a12fe72929f4dd20e3b748543abc11e7c731b13a9800357a8c1cee0929eef171a3e343ad6f6baffda6b73a667e456d82373cc9a9181336e2f384a697ac2d1bddb7aed55258b984cb32183c9cb60e6ce697a676834fd41ae27a7f5d8f8f3e67127651c505179bff4b31da0d02ea55f48032808678d8e246992b4964c1b78f8be55943facc1fb5ab11f8924b95d16bd16fb2a3cd0dde11b12b44a0af75343344e9dc4ed1aa57f89429424d7936314342433c115ee77916bd2fd999314bed4c1fff4795af1a50a355d9bfebc38913ed406d40215813b1a01c5d0e98eb618e0d30f7ef3e9b84d14de433f574baa5eec865436f6bcc43d92ab61ddc3bc48cf9764a9cf8c85802feaf105b7240d1e83974fc2c606a8c789a183b021ca21937fb613f27361e9f761cfdb4486cd4ec63e71451197e4fd76f8343c55065a1fac5bcff3484ed5f59015842da2389830c8daa5d9c545d9333150c6540acfd7b099f8c3301b8a8869723db99f5d396e5c2d8e5f508ad0707c72141c101471fc2a6e5a9a270f6aad9e0ddcc1eaaacac16b69482afb36123f942a338bc866ecc5c670ebd1582c4756ab68a0fb98d2aa2605fa44ea93448449131b8072a12a53f70d1bba8f68f49437a9b8623e19030d5e8e5596d8d577311401836e562103e2a1dfae0b7e7bbad9baa0183cec13dac2cead0d47e2fe97c7201557ee09a295f141b530c4b9c2fd8bc52cab9c2ff40b0d1f1a1dc5f003a5450e1c891f39fbf91124d1f4e470e96c6bc63f1cb5ac703d5cc498e6e69745ff05246a89f5671156d293302ae24f0ab814ef57ca38f0acb27ed190d853a15d4abff062c2dd7f6aeaadc6a9d376e7b248f8c3662f4f177a23daef5d9794fb91c3476e575f872f5c9295a2093636360a32e3cf12ffe10b13b68b0da8c77b9fcaf564df1429e1c6ea23bfaf47f71312e6d3e245a9bda3f8a70054bc3f2055ae8fc0aa9e5504ee2e04e421c3dd657fa2d6963e092f2d057b05e4cf84503bfce03fa07e01403e2cfb2798fe183ce8e0de93b3a398fb616f3bd4e5c2c62668fc03f4a7c2a2fb21e8861fb0e3ac9aa9b07f23fc6c269918daf0265cfe07fe0db55c3e06b6f5b9f0e053f0ba014ea7c2ca1544d5a65d0079713a4703b2c31ba1fd31c875c08e5fc2ce4fc06a836a27041aa1e10dc28f3341373e453256711c8cb165c276b5b6137d9c4fc19bf7c1fd0fc10c36941022642219534611fcf36b10380d1bde66af4587a89e272f50706399db7d649914aec7ff9fc3505a0b299fc1b37fa4e020129e40d6dbd517b19b0d3925cb6a676b331933bb3849323947a3cf74d63861c8d7d4cc0f84f4f605c16c9cb7d8e53fd969b0ce9fade9dace2dc9b7947ddb5582e34bf30de11ddcf35e58ade28e3dfe59b528f409d347326413ffe034db2a6b350b70b991898c11f30903535d56718d232f6dd69cec743d8e91c63e5625b70bbc7f6df739f3cc79ae55d33c5ff45cd15866590dc3de6dbb3c0fd8cb0dd9a5cb9ddad33e4d7ee1420c6dfbcf9c1ac269ac6c5421b4269c75fcea2e093ededecb23906eceafae9b9a6fc8668c292cff08d0f0a1d1b966f881521412ea6e6d25ff2e7adcca7a7a19c76a577ea0ebebb3ddddfe41d0b31f13080f06d8990f24aa90a470bfb29e1236c5c025ceaf28fe807214fbc56bb728e28383c2947e394feecca414f036bfe3d6af76e46416d4d60d7db4ab4359be078615fbd10bd88fa214f5abcee633befc3c33b3aae1d1e36d67c1609983de15f66cdeee26dc0afea3dc2ecdaed1fb9753280e4f918e242be849f32b8e5de9bea6f8093f3957d28c7029b3f7daf457d267b415fd42f3ea5945e04e4340e1c7f74e337142ecc9c505ec75241eed390efff82d2272e77a683d0f9a19b89e05b43db0e92d7c870c53d9d7d9af7e0b1a718e1dae8b6f80867a58c4808efda5c4002ec206713b7f046fe12fb8069e7a13d7059124970f6fc3cb3b21a405d793b0b6818480ee77e155fca8133bde7045187b0ab0196e78b2e115f00e9005f8ebd641431d646aa0ddcb4a171d849f6c9e246f9766d79e97c18dd28ce074c28c01d8d9442488ffa3c121c719f950e782e54e5638454f9a7cb60efcf83fa12b44026b34c1b108c8d4591a0e5c05e940274755387a9a0e7bfbc924bb9c1cb32ee46d3b1344f545ee1f2111413aeedf64b3cf6784fa6d4d2d1dfe082e212fafacb433193a91bd5cd5e83a07574d811622b8aa891b361704008d0e13a60f517c987c1e9d4d43c4c3467018a6d37db22b0029c69cbc1c534ac073cc83f6e232786422869ab3f3ec79188f8603dd87766f676795f202247621d5b36ffb214f6f04b459b682a2027b768649978c614febfb4d6dfe8826c35654595e80217ebff7c8b67d2869042264882d828ac4864c47324a95f181b6c6135d7e48d265e530464de0d48143dd61d0e03235193e38744e74a3d179f53d6d67c9dc0cdfe9e8ec5f8a9ede5e5fe0aa29932928c2be2db76518c2031d2d4d54fda18fa22750f0e7f5618b457e45f5075abfd0f0a1f60b84b183b971b8b6bd1f1cf2862129abe4911a33addf29f8d0eddab7bde96c7f486bca2ea9ac2c29c8cb3024f9fbf0cee293dc7f94fd8d6697ac7fc7ba4f29f8d3e4b36a2addd7341c38bbd008e524b577dcfa13b14afa2837a7525504ee6c04a68c3e6d365aca65c4476efd1752a20929e23c778947798ae08761f0b1c9a66866787898cb63862b121fb9a213274efcf4a73fbd095d825348a7670174c0e1f6b8d6ab9740da20ec89be7f1717e6c2121be0d8d1d71e692d311797a7c9c788b5be90b07cbd33b6e2475e5d4c419570b1f1c53ea9564bbe0ff784e0d75b79ded217e1d7f564d9fe3b1e98de2fd5506e97ad14df8b021ead7ac0bd9aea37c24b0e70bfc57f8755ac402279b97c712d2cb5e8e24d1e3f0e628198b75871c9121e1943aad7eb05bbeb190713f01e7a8ffdbea384577269656ca6b494c1fe366f67acc4622bb699229e16fee33785155569a18e83adde18079ba3d1275c1f49bbdc256a8e9f53f579d8753b220e8bc5a2d5e220afbf53f8ce6ab4506257948e08da7097ca1408f7fbbcb15a169b1d576c83041c512d3e4bc5812db730b68c9470b7c72b09e8916e56d49f42c7d7014fac719aa7f4bbff739b38ce26ca2bea69b1dacca614346a50deb8dc08a0e9a9c04a218d8103a55f466d57b15f949ba7f73b051f6531844a5432a68483831e8f57cc25f51fab63f563f680e7c0b623bd566d48e26f0a765dc77d2a5683cb2bc8173129ddd7e3c721fe77e0c6dcd72223d4ec9d80c0b973e7704913ae67c2c54c1a8d068f9824cb9b3004c2140c06376cd8b070e1426443063c4a5272723252b088cb70798e87e3c7a33c71cd219d6d996f3d9ac70ca28ca578e4f2e2639438213da186a41302e36d28840b49773e0f3f538ca76516bdf43ba89f059fb8e1c405985708ce22f21dab97abe3be1b20ab74eb10184783cbaeef3eebedba10d0cdc86072700175f854d37f739f19bdf17ade6afadc780426b4454b71d5426d04326d79197a4d6f5bd38ee83af3096d4615366e04ac8e358fd92fb5356e27ef58c64eb7fb7d71bbeb3f760fa91c9380801a92464115bd898cd2d48c8a801c01fc3cfee05278d0050fb265a18bb0fbd7b74b3c8a1afb7bbbfd615b4636feb1fa47821da7f0ab3f723b6f10e556d3e706993d59cd98f30aec265678ffd9236a3c3a59305f935c328f20e18ab7fb7d71bbeb9f7047a98c2a029382803a4a3a29b0deb1424bab013f7785bb9bee173ebd745b998aefedcdf8263b1cf088dfc1df3c136e357d6e1e12d7db32fb1216127bfd7ebd6da9f5271b81dbfdbeb8ddf59fecfe55e54b10504749a380a8a3a45128d44c02081c4eec2d7f02926e0a4b5fa774b6e24d5123dae8ada64f54b1db2ed3e9f58826fade76eaab0ac72170bbdf17b7bbfe719da15ea808dc4004b8f58237b041b5291501150115011501150115011501150115817804d490341e0ff54a454045404540454045404540454045e08623a086a4371cf2eb6db01a5e7f0d5696262ac6b684f02fc99d2cfe51e43ef70a3cff7d69f978f591d69fa46b5bedf22796398b2752bac556565166b7ca44d2e8718c89ebc354399d1585f266e2c4c52e2c3687d35966e3f6a38c916f422e211c647addeefacb0c9a68c224fbc3c4e15f5851e3ac2a963ae2c4c99f506013bf1f27b45955988ac05d86801a925e5f873ff30abcf9e2f5891867edea6a70b9a07e69a2d5ac6584ff01db64f153e556c3b7eba0e11169f978f591d69f9c6b660e9361c64f084960b295d5b86a1dcc35b559f3704d4951716674db2a41088d2e94b3e7c4f561e62db4d90aed7971d547b930ccc9b7d9e6cf318fc272638a12c241aeca6da5fff5f88fdcf4842893ed0f13863f935f98672bc04fddc6a709931f2ff63aaf12bf1fafb321b5ba8ac0dd8d801a925e5fff3f540bce65643bfb1b9602646b1cdcae27d10639fe84d961bcfca3e811c27d1dd9ddaac43c13285f2cf63af3de2f4f7a3bce1c11ed58cf0acc9c97cbe4e4cf63c62ddd525c97674a0a74b436c57f678a46973690b83e4311dc912922db355b2a307acdf227ce1ead37b199447190b77a5be97fcdfe23b73b51ca64fbc3c4e14fb6128b8c487f99264e7ea28825c297f8fd9888349547454045808280bae29e024c82e461f2b39a20ef4d651b1c67ebe3e51fa778b2fbea2d95bcee46af5c21dc640c89e3ef605bcdfd5930d21fdb3b9e174da3cb5b1e9f3ed1ff2cf135a8640324b96896591a09c8d9269392380e0a5adc46fa5fabff28583d2ed2a4fac364e33fd9f2c785a4c03cbefb51a8a59e55045404c687801a92268057f5d3f0fffc3dcc99c1b3767d0275cf91ad35a7eb612a6ef60d90b3841c717ffbf63d80a362cffc1bac9c096fec84a757f1b55adf8535bf223c6f6e868716e1e6f61019800fdf829fe19ef56c7a7e233c520a33b4100ac1e0301c7b0f74cb60c619f0df0bc533e19377e15225b872a1cb0daff6920a5752e0f5f7c0954ff2de4fe0f1e7a0f459d8f44dd8f113f825fb9da6d2a7e1172be1c866d8425860c8029bb682839d517ab211bef3324ba51f68fc723dd7bd4da4d4bf083f7894e88f2932087fd90c2f7c49f2d14418fe16343ef8c56784a62cbf1e763c030c8b337efa74c7afe0977b8018f2041cd80e298bc129b297934cc333da6e7c8629733eb060ce74bd76cad54878782478e1f8b656cdca47166a61780492c2173edfb2fb205f033f2da84d9d9a4c9e8f69336c385513bf671af07984ad346dcbbe5793a9bb7af6d3ddbb5ba45f1f2a743d909e02dd470ec6ef690972fa04e8c3aa3b1cd654381f2fb0a5a36785facfeedbb6db6bad58b9e45eff897dbb0e7a098bb5ace19142e8fa6cdb51723512492b733d51c498913fd0ebf9c38ea6d103598bddf170599e49c77afb48d8e7fd6cfbde5600fba30d65d926dc331746c281af4f1c6c3ce829ab5b69d7f9ba42337332f5feb347daaecc2db799237eefcef71ba34d2484c3ee1645f9447bbafe65b5cb1731195aecb49150c7c943bbdc6dace18b86bf3efe95e69ea21c113eac1c05fc476d97ad24eb47a66c59a53dd34870c014f69fddf3feee4ebaff58cbea1e29d41f77b7cd2a2bce666b05bb8ebcf321713c05fd5999f62a57516ed634c43f12090d8d04bb8f7c9972af32cefbc83f7b93ed0f34ff91ebb99dddb057c97f2eb296e10eb59c858e9565f37549c1a3ff87dc4d14f90afe367affd2f0e4da941f15fce11a7f1fe4b2558a8a808ac0d808a821e9d818c1b3df85395a38d902de0198331f2c2c68affdbf90cb3ea151c0da9ff0527601bcba07a619208d81d7d6617800c74fc2a27c304c230c9b768163360c78a1a50b163f08f53f04ef51d8d20eafff0e5c0cd99ff3f83130dd43a2586b265c3142ae838cd08522f0e093a43a66328b20fdcf24bfa80e16019c6b07ad159807e1f57af8d3344833c2348c8bd9a43783318dc8e152033be1f59c17663290ef824d6db06e2b5fa47852e457d413abafdc08eb50d510b4bac19f02f7de0ff760bba29074e5cf619d93d8f2ee06e8c59d480114e4f783fb4512d69ffc043a92c159064ffe04867ae07334c408aea7482d626f366fef8f7752f124ac0a89a95aee2ac84035067abb83c9c60c933e59af83903f100ce260a8de6c4cd5a746ab399c7f6737b3e335004cb993610b064ec1166ec7276be62c1d29354c93cd15b556953006f07b7fcfc582518932fac4e8738a6c8da3cdc82bca80d080cfaf31984cd9954ebbf774aa3e453b9cca3ff12155a7d7a624190da80ecea5482f70a463870df45fd19bf4e93697abe7fd4636568d6a2bca580a5d7f5fc92441c4d7e5ed0f694c33ad7a13cab12d5fedc0eded03bd673b0792e6e6643145ceba48c097acd599991c8c51232386eca272843b32a23164e65ba1990bdd13c481227f570755ff62d7b709f2a17e6f87df724f76967db1abbfbb7140a7d36ab5b612d65ec4673a8f4f539b32feb476a3ff78c8f4afa928ca346afcbd1de72f86a61acde96949e846a3f84f6aaa569b622a71562236fdddbdba8cf4542d713c65fd8ff6d99d0d0e1b6e4d15f675778fe84ce9465daad1901aa6e09c767ab2fd81e63f8a7aa25d14ffe143521caeb714d67eb3322705463a8e7cdc3298893f6c4afe1954f4b75d3dd4fea5e12972edb8acb23f5cdbef439c60f542454045205104d490744ca4aa61160efe5d849d9b60677b8c7bc3ab30d7044fae8539c9b0ed5f011fb75a2d1cdb1363801e58bf14f6e7c2e1ad909c02b667493c3a7812fee6bb84a7fa35d8e882a5cbe00b20f168e41cac5d0e87f141bf1eb6361006ae67de7d010afe098a67c0279be0442d3c6583a9a490a4c64df0e3ad607b11b6d6436e1e7cc051856340c844cf3bdf2083b2d5afc0c63ab0dd07306a488ab524fca556653d211756b1f1e8a6c5fc882cdf223bc1367405566d84b5c830089b5693f8bb940d49e5f29fcb60e3d16df09d8d4440fdcfe125273cf134fcf00c2f4f622f0dcf2d6c75be8ee86429fb06894783c71adf69f6e263b06ad58a0282715feb87db5af17af99a153345ec273eded76fd2598bca19e3948e63074ffb41abd15ceec631703675ba0fb5a5cd9b3ef2e5298122d4753aec5a089f6a6e1408fc594a9f307df8ff3a7c9e03db9b8e82c5b17a855d6f4987cfe3db1f8abf04e86e73ff1e0711999a35ae3cbd6536002d24b554169378d47be037e2a8d55ab11ce3d150efb1f7763413d1f6da358e9cac4565037e72d57b64ef5719d52599bae0d9031f5d98bfa2243d95045d24258883b56291a27c6b071fca48f5b7a415623c1aee6ddcbcc38bcd30ce352e5bd6827c38401ac524c587823fb5dd960ff116c724d51f18931eff350d9e6f3bd0d4d6c7b290837f74ff212c81638def357b2d8f3fb3223d4903960a65fd7ba11ce3d191814f3fda42a2e2a8dfb2ff0e2be02cfc0f22b577c2fc81a88e498abfd5a0ac2728fb0ff61091321c9e51ec7ab89cd140f8cc810ff61eed8bfe172d916fadd02bfbc31f797f90da4bc3f328ebaea4edf844f1876bfc7d8897ad5ea908a8082488c0dd1892bef0dbbf7c733efb8a990729b4fb85875e77d310db0f9f780187c95eda0affab070e1f847fff09793b7f780f8920eb9fc1a10ef8cb569297a4ff7a05c82bf47678eb2d387f1c0a1e27e569f9e0de4f5edc93f80b60aa1e1eb291cc9fdee3254c4f2597242543a49dbc85ffed4f00a3db67b7c2f34bb902723cd748e2514cd3c961ec843307b84902fb5b205407e67b48956d1f436e1c0eb07e3170b1ac9cffa12c524541cfc5806fda7b3e8b8f47092f19ce3216c15acc5d84976b411caecbe5df3f8b20f9870fd99a1810ef81f54ed00a01b8dcde02561f399e7c7de9c93277368e67fabdad241ec5a4d524b167e160c03eb92a5ce0b9afd3d3d709067b19e62f7d79b48d8b47440c47dde2088d2fb094d5d94c9a60c7917d5e112b061232fa84e96305346464c043e2514c6c7fe238d92809f9435d47483c8ac97bee62242f3dcd845e280dae791173c9bbe540674b7cc83a2f13c7ed46babe38c973b57d71b12a273d394583ea8cf80e1ff4663deec46a6dbb8f6aab16200f371f37711c68f2b11395f5cf0072e7a4a43fbc7a355101501398928cb488223e34fc476917c5cbf547044f9fedcfc831d91c2be63f18e8e93877bc659fa76f6cffe9f8b4a9d98b22fbfe7ae890ee7237642c52d49f9967c12eed3f7d841fa58df92d1567457bb1255a52c61320f389357632b3239a22a71a7fb36f4819ffa279468a9ecafe4384a29b6a33cbcb31176c6b7ac72df89fa23ef9e4d3150afec6f98382ff671815f18c1a23c9d0fc41601bf7ef8350513dab08a8088c0381bb3124fdf38ef787e64d8b8134e473bb63570ab9175640fd7a78e221c89d0d8e3a702c960658f8bb284d837058885237bf4d0a9ff9bfc9f1dc7138e317e64f25c357c7715c94d053c88124dc419e4ff830c0980e930642b1d117bef0329931365ac2998fe2744a08286cb9246a6967c74cb6bf0739621cfa480c5dca5653e0a7e8c992f9315d718b9827ce158188063446285e027b4431a95c7eb295d87b313a0e9d46aa7300a018b9bdb38ca435053c09599e0c0612ac85fc037c512a0959125db7441e6e89245b4d1159d5d4b2ab259e5b813eb1fa4486c2e216f1a12e4da92404e742554ba213100000400049444154ccf87bcff30c160b8ef1457c3d423c20ad07b8600a934ca286c8bb1a0e463d3325690a17d49376d831591c5a0df6001b29f252c781035d3ed145aebf4f3f0d3b343cd0dde11bd2f0715452b8bf1b5f0263e3727c68f88fd22edeaa8afd7b74efb65e7b55c92226d36cc860f23298b9739adee1e677f0762bf84ff852472757ea69c5417a0c764b28fa930e102c22339a05bf1d0567057b794da2a704fc2170fc48648648f5c8e0975e9c94ac8c7f3feb280a7a52fc87288216e0acd191244d92d69269030fef838afd3bac3150fc8d4892f7af45afa5e049f8e589e60f724e058a0824855295a422a022903002776348fae907bff934618078c69d1b01fff025f5a637c0c1c0634fc39eff20451c7ef2b7e418474ae2d4c3a7e1a932d0fa60ddfab8c65f5a4e2e2f718ff66a58f7705c297721ef253985afc685aad5f023d1902a2912547cae965c5dc447358e44b226909c3cc9f853d9d853aea7e74b9c440a3316922f619151e1f834780c5e3e091b1ba01e27860ec28628874cfed94ec8cf85a5df873d6f1311363b194b8e7e434a6e2f0dcff8f64557e401a8d5b3812c585d5539782d0d4965df46e28752656fbd8958c65e6c0cb78a3e1b4556ed68a0fb98d2aa2605fa44ea93448449131b8072a12a53f70d1bc2291a3de54d2aae984fc640839763952576f55dc439cc06ddac4206c443bf5d17fcf674b37541317848440516766e6d38221e69060c5271251b399044c14719079a7c21f496eadfd731142ec94ad1041b1b1bb9e6f8a3d58119257cc6dd2e457fd24e675b33fe210a15ae878b18d3dcfc32f0907f4be8fe93240ed591b3afc3a7a83fe3b06369f80a775f33cb2ae7a3de52bf8dc719f995ece57a7f1cfed0d9c68fcca2405992e20f1a127b2ae849f11f5e60b8fb4f4dbdd538c5dbee5c16097fd8ec151a92caefbaa4ec6f9c3d727b69780af2e5f7afb23fc4f83137aedf87b89aea858a808a404208c81ff50955bb8b98aa5f848dcba0b5198e1d835e0033fb2ab90f477fd8d4ee83dc3980ebd0ffe73094d642ca67f0ecaf94c139bc11da1f232b9676fc12767e02561b543b21d008db2f00e4c3b27f82e98fc1830eee7dbe303a9840ef48025fd7ff8294254432177a4555297d125e5a0af60ac89f09a176f8c128c1285b47ce5fbf80a2e77ed8db0e75b9b0b1091aff00fda9b0e87e08bae107ecb8ac662aecdf083f9b49268636bc0997ff819f9f20978f816d7d2e3cf814bc6e80d3a9b07205d1a36917405ed4089289da4bc3b3e18d387ee1c2dbd517b19b0d3925cb6a676b331933bb3889fdc493c08101843ed359e384215f53331b66e19cc8be20988df316bbfc273b0dd6f9b3355ddbb925f996b26fbb4a70dc66be21bc837b8e0aab5edcb1c72a2b99429f307d784d052be2076cccb6ca5acd025c6e642263c47cc2c05497555ce3c84b9b35273b5d8f63a4b18f55c9ed02ef5fdb7dce3c739e6bd534cf173d5734965956c3b077db2ecf03f6724376e972a7f6b44f935fb81043dbfe33a786701aab7c4c155bd6f1abbe24f8d070f0b895e57b219da6ff195f7e9e9959d5f0e8f1b6b360b0cc41abc39ecd1f0b667367019f71b76bad5ac5ae5a93e80f8c63b52b3fd0f5f5d9ee6eff20e8d98f128407f9ffb8a8fe13af14b9ea6c56d6fff8e5114837e757d74dcd376433c614b626ffbf0589a2c64882bd1cdbb8fd4149ba22fe5ebb85a227cd7fcee3ff48909402dee677dcfad58e9ccc82dabaa18f70f99aa27c0f0c2bfa1bfa439c8e517b69786e77137e999fd3fc412c7c1cbf0fe26a6a5e45404520610412f8514b58d69dc9b8ff14f40c43b183ac645ab71616cd86732d80cbbdb9f4e3ff84ae100934d7ad03c7a2d8da23d94006616f7885acd9c705f2c8dc5007991a68f7c2cef5d07a1e343370dd04687b60d35be4939d53f1f53daeb5bf426a0d878408152f707c841d3fb8c28f224080cd0c0fc1e137a0b507d2e6409d13f43db08d1d2b8ab2e5e202ff3a128ff61c877ffc16113b7a92f353f5c48f0c7c0b1a4fe2bc51703540433d2c6240c73e19f0b57b847df5bef347f0163e0934f0d49b38d04c925c3ebc0d2fef8490165c4fc2da0698a101f7bbf02ae24cb1178528e2c98a5738789a0e7bfbc9e4b59c1cb32ee46d3b13c4316e91fb47c893301df76fb2d9e73342fdb6a6960e7f049790975756da990c9de87f04ae2aae4be192aba6400b115cd5c40d770b0280468709d387283e4c3e3bcea62182f8080ee774ba4f760520c5989397634a09788e79d05e5c068f4cc45073769e3d0fe3d170a0fbd0eeed6d7c657292d88514cfbeed873cbd11d066d90a8a0aecd919265d329addfa7e539b3fa2c9b0155596176088dfef3db26d1f4a1a810819ba8aa022b121d3918c52657ce838d0e453f5dfb7bde96c7f486bca2ea9ac2c29c8cb3024f9fbb0c729f850f1576e97da8fde5e5fe0aa29932928421f29b76518c2031d2d4d3ca274ffc14e902665fddb1a4f74f921499795c318358153070e75874183cb25293853edbd567f906a49f31faa9e34ff813062c08d3bb6edfde090370c4959258fd49869fdabdc2f547b0194f114ec91fa39d51ff80ae3fd7d10da51cf2a022a02e34060cad5abb1e786bc5eb494cb888f23ec101352a20929e23c778947798ae08761f0b1c9a66866787898cb63862b121fb9a213274efcf4a73f95eb39e914fc0a69ee5cc081a0bea3b0bf5dda5cf512b0e8e0eb9d0a8b9ca4acb8d67e0964e9e0621fec89bec566896983711479c54428281ca359f1ac4dae164e219d9e05d0018765ca2b8aa5f113f9343d7361898d40f4b567ec5668f23162ad2f241a250826722ae22937ca62c52527805f8b34a47abd5eb0bb9e713001efa1f7d8ef26cad9c5142b6333a5a50cf6b7793b63648badd8668a785a7091304985155569a18e83ad5ef62a76a0d1519389d527d6a428879ae3a4629f07d7dbc4258bc5a2d51a704e66a7f09dd568b1c4ae281d47966cb8fb630a84fb7dde582d8bcd8e2ba141028ea8169fbd561c94e58fa63f63cb30a68483831e8f57ae468c3206fed276a9fa73122d569bd99482e00c767bbc12b041d17f629ac4e72c4afa13624a5841747cdd31afaec11f1465d2f01f554f45ff51140f34f9c40913f3b7a85c453cb154eae763f843549e42665cfdab505f25ddf5089c3b77ce68342625254d993245a3d1e011135e223098c12346561802610a06831b366c58b87021b221031e25293939192958c465b83cc7c3f1e3519eb8e6904e1a6693388f04d40129517d380a778c123173fd490d49af1f4355c26d8000e36870d9f5dd67bd5d1702ba19194c4e26f95453d37fc72d43b98176dc6afadc40d3e39aba5938dcac76e38c572f6e1904547fb865bae26e54440d49a3bd2e7a1319a5a91915813b0e017f6fb73f6ccbc8c63fd6b648b0e3147eade7a6d979abe973b380b85938dcac766f16ce6abba323a0fac3e8f8a8a52a023706013524bd3138abaddc6404fadaf6bddfb60fdfdb9bf14d7638e011bf83bf19aadd6afadc0c0c489b370b879bd5eecdc2596d777404547f181d1fb55445e0c620a086a4370667b5955b0281be4ed944bf9baad7ada6cfcd02e366e170b3dabd5938abed8e8e80ea0fa3e3a396aa084c3602dcbac3c96e4595af22a022a022a022a022a022a022a022a0224045400d49a9d0a8052a022a022a022a022a022a022a022a02370601f5c5fd5838db96c0f72aa1f91dd893d8e7934691f7dc2b90fa356c783b8e6502e5c7c91def4529fcf332f8facfb059f469aaf1cab811fc63e959fd7d78783e84c3809fe469fb336cb94e736cb5cb8b75039e0f9b249fa4bf0e532db6329b29f0754b9be89352441c8d1ed754e2fa3055cef9919ecf0f1e953413272e7661b1398ae606bf3ed222fd60548ce506e512c2e106e9821b6856d4dcabe93fddcc7fde2b71fc651a72769def4f9f3f31381756d4ccd4f41f696e8dfbe8d4add28f12dc6468dc2a84b1f4648a6be6e3b75247f01338433da79b8f7aaf4ff1ebf09feb6b58adad22705b20a08e928ed54dd63270b9e001db587c639657c3b7eba0e11129df84c9970a1edf75f552a873c1a3b82be8ad9dc6d4b3ea11d25f7575e4587fdde63073980c73267e403f1e155b598dabd6c1c41313bcaa79b8a6a4a83833ba0d95508d4617cad973e2fa30f316da6c85f6bcb8eaa35c18e6e4db6cf3e7984761b9314509e1706354c15698bcc23cdbc2bc797c8314fc135187b7cb34513833f9a859017e2a363edd22fd28c12d5ec75be86a2c3d99b964f78c3c4c36db42bbe006d76c00c57faee7f7e49a75512baa08dc8208a8a3a463754a806c4503ec612cd6b1ca712f78cdb0946902e54b458feb9ab5707842ec1c57bbe3651e4bcf9f7d0b7e87bb43bd06afb97053a3f14a97f27bbf3ce99d36b5ffb427be20735e2e639e1262dcf8d1fd71254b715d9e2929d0f16953bc441a5d2a3c717d8622ec4e4dc2ae4e5241b26b965fb689b78c6d920989e230c96a88c4c7c348c15fc4af9c8dd97541c7089b1629b3264c255b715d1d91baf8add18f64f72e34e4a6fbd3d8608ea1a7d7bdfd7727701f6967bdd3463645bbce44f19f6bfe3db94e75d4ea2a02b71a026a489a608fe02e9f939a265bfe58ca770a3b948ec57893cb13d113a3bde91385a7d7dde8959b8c9b8f2171fc0f285bcdfd5930d21fdb539e174da3cb5b1e9f3ed1972016fcdc925c583c8565964638f12c937d95380e93ad8920df4f3a390a238032fe0237ed2cb2cbea986c9c275b3ecdc838ba14b7b8c25be822013dfbf0ced192dd4f456e70cd1628fbcfb5fe9e5cb31a6a4515815b140135244dac63862cb0692b387209f7c946f8cecb7cb5e737c223a530430ba1100c0ec3b1f760dddba4a8fe45f8c1a3848e2932087fd90c2f7c49f2d14418fe16343ef8c56784a62cbf1e763c03cc0cc230d8033b7e05bfdc03a54fc32f9e8003db21653138f34991f71378fc3992c1f4e6667868116e260f9101f8f02df819ee113f6a7ae63578b41c661941236cd6ceb1d3e4c8e9a5cfc2a66fc2e60d50f0a4023ef2c6fffdf730e30cf8ef85e299f0c9bb70a9125cb9d0e586baf5889a82bd9c84f1ea296f77540a53e67c60c19ce97aed94ab91f0f048f0c2f16dad9a958f2cd4c2304e220b5ff87ccbee83bc00fcb4a936756a32793ca5cdb05901f03ba7019f47d862d3b6ec7b3599baab673fddbdbb453a89b3d0f5407a0a741f39c8ef802ea824a74f803eacf0e1b0a6c2f978812d1d7b37d47f76dfb6dd5e6bc5ca25f7fa4fecdb75d04b58ac650d8f1442d767db8e92ab91485a99eb8922c68cfc815ecf1f76348d1ec85aec8e87cbf24c3ad67946c23eef67dbf7e2a45bfba30d65d926dc5b1646c281af4f1c6c3ce829ab5b69d7f9ba42337332f5feb347daaecc2db799237eefcef71ba34dc4e1c0eae9fbece3fe8ce202a93e72f929cbbe5baef71ddfb2bba5ecd19585b3863ffb9fedad7d4cdd77ab75a1611df4d1da2dab5dbe88c9d062678e843a4e1edae5e67b26863fbb891e89d3511f457f20b081bdca55949b350d718844424323c1ee23db451bd5c6d9c5f2d370a6c951c2f9222b0977786593ddb1b26cbe2e2978f4ff10afa3c897e3e6611d60d1f0d7c7bfd2dc539423f213562a0d1fae4df95101b751e528c81faddfe50dc2a87ea5642f2b63bc7a2a343c2a2926ff7a7f4f466d462d5411b8e3105043d2c4bab4e145c277ce0b3319c877c1a63658b7155eff1db8188c16e1f83130dd037366803593b0addc08eb1c180340ab1bfc2970effd700fd24521e9ca9fc33a2719657b7703f416912a0af2fbc1fd22d9b0fee427d0910cce3278f22730d4039f9bc16804d753a4d6b976d06603f320bc5e0f3fde099b768163360c78a1a50b163f08f53f04ef51d8425f95f5fc66685844f43c790ca666013393c8c44493a348ef9806694658fb135251820f21c992ce08b9084e04421178f049528c99cc22285d029b94ecfdf56118af9eb23647273055cb5d0519248aefed0e261b334cfa64bd0e42fe40308883a17ab331559f1a95e070fe9dddcc0f9730e54e862d1838055bb89da0ac99b374a4d4304d3657d45a55c218c0effd3d170b4625cae813a3cf29c0711d6d465e510684067c7e8dc164caae74dabda753f529dae1543e9281549d5e9b926434a03a38a724bdc0918e1d32d07f456fd2a7db5cae9ef71bd95835aaad28632974fd7d259304115f97b73fa431cdb4ea4d28c7b67cb503b7bd0ff49eed1c489a9b93c51439eb22015fb25667667230468d8c18b28bca11eec888c690996f85662e7497e0909aaa4bd122c2d860bc3e4125f9cd5a9d769a611a468ef7cc36e2c23626dfda7a326bb65e777938a49baedcee60e1b7498f84fabd1d7ecb3dd959f6c5aefeeec6a37d72fc89d1a190a23f6089ddd9e0b09970728fafbb7b44674a37ea52593c492d4c12bbe838d3e45070e643520c972d85b5dfaccc4981918e231fb70c66e22dadd48f8ab80576f5e8745aadd656c2f63bfac974de4f9ada8a5dcaf87066c98fcab801d0e428d30768fdaeec87a954bfb2cd5aa2e087bb5a3ac7aba7dcd2d12972f9d7fe7b327a4b6aa98ac01d87801a9226dca53bdf20838ed5afc0c63ab0dd07a556128f46cec1dae570181fc4eb616b032b2b1756b1f1e8a6c5b0452cbc9a5c84aec0aa8db016190661d36a122f96b221291649e43f97c1c6a3dbe03b1b49c5fa9fc34b4e78e269f8e1197289a97113fc782bd85e84adf5909b07b667493c3a7812fee6bba4b4fa35d8e882a5cb600b5b9d90e293ed69361ebd08eb6b0157a547f5a7c969195296ff2f825889feb05528883f731ef7ee0b50f04f503c033ed904276ae1291bd43ea16c6f53c9f8f4a4d91baf45ecca52f60d128f068f35bed3ecc5c77bd5aa150544c7bed60fb7e1809f65f99a1542a84e2a9df8785fbf49672d2a678c533a8e1d3ced07ad4673b91be70ab0a9d37da82d6ddef4912f4f0914be009c0ebb16c2a79a1b05027f96d2274c1ff6bf23009fe7c0f6a6a36071ac5e61d75bd2e1f3f8f665f335badbdcbfc7c142a6668d2b4f6f990da01c0a203295c5241ef51ef88d386ab5562cc77834d47becbd1dcda4257bed1a474ed6a2b2013fb9ea3db2f7ab8cea924c5df0ec818f2ecc5f51929e2a44fb521c8648488d49a28fb542af243fe7ccc088d96062acf3a6b3c1b639739ee5a201072d031198aed8aebe2217e3d1706fe3e61d5e6c8671ae71d9b216e443c7d0b8fc0123ce728c4747063efd680b19168ffa0fd19d24a95d1c556617580d1439ca38a3c644d2707846b1ebe1724603e133073ed87bb48fffaf58269f825b99f58f7c682bf5134b45a1223e47d96e15ac889d697e4b93d31151967f40b9dfa97ea8212ac8fd4a97bb48c94fcaac673a95fb97a627cdde98e5f1391a0ed7f67b122f5bbd5211b8e311b81b43d2177efb976fce675fa9f3dd1bdafdc243afbb47edebd677f997e0fb5b205407e67be0a12c52e14fef917814d374e1d10a8b01dfb4f77c161f8fb23c380c652c82b598bf082fd7c21e96c81de4f2ef9f458612fff021cfb4730fac7782762a7f79ae91c4a398f079cba502569fb47c70ef272fee497c0730951dabdbf631e4c6d90beb1743ce7d84c1bd99c4a398a2fad3e414b0819982fc30a92ed71f898aed423244dae197fbe1b73f4198e0d9adf0fc5222c13e57d9dec5e3d493c81a47b2cc9d8d18f9bdad241ec5a4d524b167e180610d5c152ef0dcd7e9e9eb0483bd0cf397be3c2afd90133e39dde2088daf6929abb39934c18e23fbbc3c853bc9e913a68f954c7d1b19f090781413dbff5c9017a781e802f9435d47483c8ac97bee62242f3dcd64039006d77c95b9467c331fe86c890f59e765e278e148d7172779aeb62f2e56e5a427a768509d11dfe183deacc771e033d0b6fba8b66a01f270f371e5386091a23ef9e453050af287826130a5cd5f949d02c1fe40aac99c654b4773fd83237ae5768d4672c7a6a43fbc7a35510d504398929c6a996b1e973f30f33211dafed347f8691af1fe93b85d45f38c1439ca381378d13e6d66390e3843b0ade91db7d04fe3c20d8d55f6930c657cb031c7136bec64664734454e35fee6e80cca7d44939391a2883f7a84a2fee887994aed0e51fc2a6d96b21f4ea7ddef343da356269699b0fb37b1e6542e15813b0c81bb3124fdf38ef787e6e13b3e210df9dc6e214f3b9f121ebcb65cf2746fc7b126fc91c4479a5061261b02e2154bc6b84b21116204221ad018a17809ec11c5a472f9c9384d71182e465fbba7119918d472e9f2a09013ce381f14d3b9e370c62f68950c5f1d27c4edef418ed8de3e1286569177b5d0d9498e98f482fe3439b3fe96b029c8cf2374b9fe48546c770d3ecc38333410ea2375b994cc9a27b737739c7a0af2123c1b0cd89df8967e80e74f25a10917278d2d813c541349b69a22b2aaa965574b3cb7027d62f5890cb1ff3008ade2c35e9a524908ce85aa98f1f79ee7192c163d8e31fa7a8438475a0f70c1142699440d9177351c8cf66c4ad2142ea827edb063b238b41aec011081a78003275baecfb006fd41417e7faf1f32cd73b293300a3ffad50c4741fabd7827863ac280fc0aed26e9b4d8d1e181ee0edf90308f3a29dcdf6d3010c3c6eb0f820432b358e43fe3b0ab9f0554410e056701fc91c8489226496bc9b48187ef2bc57ea4e146e4a0c3cbfcc4a257c60799db8f1f89cc10f55e64f04b2f18e62adf47343916fd7c45fc71d281a2fe685b40a9dd79a5ca7e352509e90a7ea2a5dcef343d5978c67198d8fb771c0dabac2a02770402244abadbd2a71ffce6d371db1ce06b3c574b3217bb21958d3d2f718fde6a58f730cfe0f9122767c28c85802feab90148be803d0d1e83974fc2c606a8c789a183b021ca21937fb613f27361e9f761cfdba4a6cd4ec63e43424c2aefb7c3a7e1a932d0fa60dd7ab625d161e77f882ea25956c44c0c7c3195c2f3357c014d4ee93c65f9a52fb21565fa2355b95dbe1d72125bd1de09b98af6b203c389eb29120fc3b2d7d2e2523e8f8f2ed0ead9801eacaeaa1cbc9686a4b28fbff043a98ae2197bb131dc7a3416cb91d52d1ae83ea6b4aa49813e91fa90e7b22cb1016898253375dfb0a15b7121294be14d2aae984fc640839763b52576f55dc439c006ddac4206c443bf5d17fcf674b3754131785a495d0b3bb7361c118f340306a9b8a28f1c48a2e1c3164af5e9baa42cbfffc24018d275293895faebb69357ca0bd2b529f85ade370cb35939ec41d4ee489f2f0c59299a606363638c015f873b16e1e538fc01e1c3d0f60af72f22b3ac727ed47fc665176848eca920878233691553b8fb4f4dbdd53815daee5c16097fd8ec65a978481437ce0fe47ed2d7e10b9728e083a23bdb640bf7c8340265bfa5cab1ce50966f75b02648f5a7b53b8fe5e60fa2fe1decf38359c10f87d9ffd7e5fd4bd553245ff9235092fb828283480cde6fd21f98d17e4fe26aaa172a02773802e2a0e00e37f5bacc2b7d125e5a0af60ac89f09a176f8c17f40fd02807c58f64f30fd3178d0c1bd276787fff6c3de76a8cb858d4dd0f807e84f8545f743d00d3f60c759355361ff46f8d94c3231b4e14db8fc0ffc7b7fb97c0c6ceb73e1c1a7e075039c4e85952b88fe4dbb00d851c9a831f8e28d4b873742fb6364e5d08e5fc2ce4fc06a836a27041aa1e10d8123fedcda4ee43b9f8237ef83fb1f8219eca31523de51e428cadfc08a55d03fbeb9b82b25affbd31fc9d27bb9bdadc5e3d633da9615b77a7a0d8776e155c5a09cf079bbfa2276b321a76459ed6c6d2663661727b19f788a4a018d3ed359e384215f53331b66e1dcb5be20988df316bbfc273b0dd6f9b3355ddbb925f996b26fbb4a705c6ebe21bc838b0f84d52dee58b8c04aa6d0274c1f5e53c10ad1a81692ccb6ca5acd025c6e6422635b7cc2c05497555ce3c84b9b35273b5d8f63a4b18f55c9ed02ef5fdb7dce3c739e6bd534cf173d5734965956c3b077db2ecf03f6724376e972a7f6b44f935fb81043dbfe33a786701aab7c4c155bd6f1abbea4f8b081b25c1f0f0c2bcaf7fa8ce8bc2910e9edf2409faf375890a583c0c58b64168d62bbc1e633befc3c33b3aae1d1e36d67c160998368843d9b5bc7e70fdedecb23906eceafae9b9a6fc8668c292c980825a57fb1581167afdda22c878af37972c726a580b7f91db77eb52327b3a0b66ee8a35d1dcaf2a9b801f68b2845fda49382cf76b7883b96a5fa2d5d8e32fe1f2beb1f6b492147a261490a9df6f86d0a7e78bc2bf341c5fb9dae6754728a210b7f073430f0e9be166e280264f7051587a814fc3875e2bf27a25a6a5645e06e4040e166be1bcc1eb78db9b880bd8ec4a33dc7e11fbf45aaef5c0fade7413303d72f80b60736bd850b96602afbfafbd56f41e3499c370aae0668a887450ce8d85f7a7c6646d861ce9d3f82b7f0975d034fbd09b9ac2e72f9f036bcbc13425a703d096b1b48c8e87e175ec58f3ab1e30757f8510408b0196e38b0e115f00e9005f8ebd641431d646aa0ddcb4a573aec7919dc586a04a713660cc0cea618134d0e8d8e3515f48fc98bcfe15afb2b84321c8acd4320e392147baf414f229d85c5984bb6a45afa1021d092a7e9b0b79f4ccacbc931eb42deb633411cbd15dd16111241a4932d5cecf31941485b534b873f824bc8cb2b2bed4c864e1463735593d8081fd95d35055a88e0aa26fe192648a0d161c2f4218a0f93cfa9b36988781e19e6e9749fec0a408a31272fc79412f01cf3a0bdb80c1e9988a1e6ec3c7b1ec6a3e140f7a1dddbd959a5bc00895d48f5ecdb7ec8d31b016d96ada0a8c09e9d61d225a3d9adef37b5f9239a0c5b5165790186f8fdde23dbf6a1a411889021b9082a121b321dc92855c687ae0f457edf791c2685c8a57344e9beafbac84c8ce000f6ac72bb58ba6f7bd3d9fe90d6945d5259595290976148f2f7f5cbf1c7f17f913b80d41fda1a4f74f921499795c318358153070e758741939c42ed5f1ace1439a8270567209fcae4c6dbdaf67e70c81b86a4ac92476a70f34be57ea4e0c61aa4e027347c5021c524f3db286eca38d3e553f4576c1589b4fea5d83b7e3dd986d91f6ead197f07726cf3cc225da4f7854cfe75fe9e889a52b32a02773e0253ae5e8d3d1fe4e6464bb98cf838c20e2521259a9022ce73977894a7087e00061f8f6c8a66868787b93c66b822f1912b3a71e2c44f7ffa53b99e934ec129a4d3b3003ae0707b5c5bd54b206d10f6ec8f23f217b9b0c4063846f4b5475a4bce4d938f116b7d2161ff7a273f9e2aaf2ba1a04a384074b18fa2553c37d11fe266b546cb697224747c71ffeb7ab2fcff1d0f4cef1fdbd2a87ce50cc5de6bd05359be8c6ab1e29225c0af8d1a52bd5e2fd85dcf389880f7d07ba2ef4acaeaf0042b6333a5a50cf6b7793b632c165bb1cd14f1b4e0e267920a2baad2421d075bbdec55ec40a3a32613ab4fac49510e35c7cfa9fa3cd2fdec2d168b566bc039a59dc27756a395247645e9f86ede86bb5ae25bf27e9f3756cb62b3e38a67908023aac567a938581dab1fb3073c07b61de9b56a43327d12952f6f5142b130b60c634a3838e8f178a34548342be11365906488909470b7c71bfdc7836a175b9386b35c8ea821459c45e5a22c4d3ee9acc4fa252a4c119f68a924330a6e343952fa18fd2e6970cc4b657baf414f5a4bd2fbe286dcbf346554fa6d8ac0b973e78c46237e0479ca94291a8d068f98d86f220366d0288cac3004c2140c06376cd8b070e1426443063c4a5272723252b088cb70798e87e3c7a33c71cd219d34cc26711e09a80352f0c8e5c5c7281133d79fd490f4fa31bcbb257021e9cee7e1678a71f9ad0e0ee36870d9f5dd67bd5d1702ba19194c0e2ea00e9f6afa6fee33a3375efb5b4d9f1b8f00dfa2d5b1e631fba5b6c6ed642c5f4d770d02b779bfabf7ef5de3a91369a81a9246d114bd718cd2d48c8ac05d8380bfb7db1fb66564e31f6b7324d871aae566c5a3a8c1ada6cf4d7404f25efa2636af367d9310b8adfb5dbd7f6f92d7a8cdde2108a8a3a4774847aa665c0f02f8dede8c6fb2c3018ff81dfcf548bcbebab79a3ed7678d5a5b45e0ee4240bd7fefaefebe6e6bd551d22884ea2869140a3573f722d0d7199b05782ba070abe9732b60a2eaa02270bb20a0debfb74b4fa97ade6a0888d792de6abaa9faa808a808a808a808a808a808a808a808dc1508a821e95dd1cdaa912a022a022a022a022a022a022a02b732026a483a56efd896c0ebafc112eef3a163318f5efedc2bf0fcf7a52c13285f2afa96bc1ec3de25f0f656785d86d2d8a6b05fc55f855b66dd9864ab5dfec43267f1443666b1955594d9ad3291347a1c63e2fa30554e6745a1bc993871b10b8bcde17496d9b87d2d63e49b904b0887f1ea95386ee3953c09fc4cd9b2279ea82db38d4f34871b3361fd585851e3ac2a963ac4ade327e343e75ab9c7b0f79afdcacaa2cb5cab5ae3ad77cd7a8eb721955f45202104d490742c98ac65e072c103e37c0c2848ad866fd741c323d29209932f157c4b5c3ff30abcc9ed382aa833babdd565b028175c8f0adc099fab9792afe23f7aa34252660e9361cec40f67c72b682bab71d53a9878628257350fd79414156746b7e312aad1e842397b4e5c1f66de429badd09e17577d940bc39c7c9b6dfe1cf1d7c147e19ec4a28470186ffb14dcc62b86c64ff3071a9d2687a33373e7659acd39b639a3b3494a79dc4c13d58f4c7e619ead003f451b9f6e193f89576b62ae14fa6b747bafd9af983c447761debc89d17b4c29143d15ec1d5394caa022301108a8cb9bc6423140b69c01f63016eb58e521dcb009f7d0894f13283f5ef02d71f5502de42643f51b10fd68e9e8f6eedf0feed9e0fdf3f895677b687842fa2981c6bd5f9ef44e9bda7fda13cf9b392f97314f09316efce8feb892a5b82ecf9414e8f8b4295e228d2e159eb83e431176a726615727a920d935cb2fdb945bc636c984447118af1a14dcc62b86c64ff3071a9d2687a37b4f1c3f337dfe95af4e8dce262e8de17641c7089b3d8919ae214fb6faba3a22bdd36e0d3fb9067312a9a2d05fa3db7bed7e35cedb3311ed47e1a1e8a960ef2842d42215818943400d4913c412770b9dd434d9f2275579baf0617c7c29463f347bf7c3ba68f44a172b2fe964771095d3278be275377ae5b2715332242a1a2c6716516c35f767c1487f6c4f79be8c461755e5b3e3d327fa72045fbf46371c920be5282cb33402a1314f0e3d711cc6dbbe326ee39542e3a7f9038d4e93c3d3fbdaf6ee22fba5269c44b8591d93dd8f932d3f61ab279e51b1bf46b5f75afdca4f7e3c58c9136f859244653d15ed55aaaed2540426180135244d0cd0210b6cda0a0e7646e9c946f8cecb7cb5e737c223a530430ba1100c0ec3b1f760dddba4a8fe45f8c1a3848e2932087fd90c2f7c49f2d14418fe16343ef8c56784a62cbf1e763c03cc0cc230d8033b7e05bfdc03a54fc32f9e8003db21653138f34991f71378fc3992c1f4e666786811e04ee39101f8f02df8d94e8e4c3d4af9fbe08357407306ead6c4aa3cff6fb03c17feeb25d87c58413e4d1f5b294cd7c35476aff79c25441aee5cdabe87172bb7b7f459f8c5e3006424194e7c00cffe8ae7a4c9e78a9f790d1e2d875946d0089bca7374a95d2c0ecffc1bac9c096fec84a757c11c16d5d677618dd010df5edc8929733eb060ce74bd76cad54878782478e1f8b656cdca47166a61780492c2173edfb2fb205f013f45a84d9d9a4c9e2669336c385513bf731af079842d366dcbbe5793a9bb7af6d3ddbb5b44db8fb2950b5d0fa4a740f791839270434e9f007dd81687c39a0ae7e305b674442dd47f76dfb6dd5e6bc5ca25f7fa4fecdb75d04b58ac650d8f1442d767db8e92ab91485a99eb8922c68cfc815ecf1f76348d1ec85aec8e87cbf24c3ab65346c23eef67dbf7b602d81f6d28cb36e11ebb30120e7c7de260e3414f59dd4abbced7159a9993a9f79f3dd276656eb9cd1cf17b77bedf186d428cc3e8fcf62a57516ed6346c3712090d8d04bb8f6c6f6cb596d53d52a83fee6e9b55569c6d24ad07bb8ebcd302cafd48cc55d0930564d1f0d7c7bfd2dc539423c28df04359edf2454c86163b7f24d471f2d02e771bd9a256d11f804267ad5590835d5151f7c8c274b26d00ee279804becff7f37d84534b2bed99ac45a843d87f76cffbbbc5be25c68d5593da8f8ab86115a57ebcc8894ae14e76c7cab2f9baa4e0d1ff435aa6f8c944e0c9354739ca701b7c7465cdac29be8fdfff30fad681a9aaabb19bbb0effa9b1b553c6df46ed5f6a3f125514ecc5fb48f1f781dc5054ff89ddd7eca68dd1ffff14f424b7a6923f7f28fc10294114937fbdbf634ad2559a8ac0c421a086a48961d9c04e883ce785990ce4bb60531bacc35538bf031783d1221c3f06a67b489463cd24e2566e84750e125db5bac19f02f7de0ff7205d1492aefc39ac7392d1b47737406f11a9a220bf1fdc2f9230eee427d0910cce3278f22730d4039f9bc16804d753a4d6b976d06603f320bc5e0f3fde099b768163360c78a1a50b163f08f53f04ef51d8d24e38159302ff77a02702c545f052b5b04168352c2d03ed79128f2af01f850e8a3eb93f845c3622c1a6d7fe846f7f17c06e362bb7f7dffde0f301ce6bc89d0333a7c5f4d553e4a3bdcf6f86864504e793c7606a163033f95a8a7a220ed30c90c6c06beb4895e32761513e18440dc59ae4734cd57257410689ee7bbb83c9c60c933e59af83903f100ce260a8de6c4cd5a7462b399c7f6737f3a31b4cb993610b064ec1166e27286be62c1d29354c93cd15b556953006f07b7fcfc582518932fac4e8738ac436da8cbca20c080df8fc1a83c9945de9b47b4fa7ea53b4c3a97ca401a93abd3625c9684075b04fd20b1ce988da40ff15bd499f6e73b97ade6f6463d5a8b6a28ca5d0f5f7954c12447c5ddefe90c634d3aa37a11cdbf2d50edcf63ed07bb67320696e4e1653e4ac8b047cc95a9d99c9c118353262c82e2a47b823231a4366be159ab9f02a1e87543affc57b1b1c3613c666beeeee119d29dda84b65f54f4dd56a534c25ce4a94dddfddabcb484fd5a6d2fa91a6e7ae1e9d4eabd5da4a581c10b7e93c6e4d6dc5ae6f931e0cf57b3bfc967bb2b3ec8b5dfddd83f9cafe706e26c645ca7ea228a7f1681ffebb8b1b5b633c0a495a9351af13faa8a6a228d3a8f1f7769cbf189a6a34a7a725c5dc11bb231eb751fad1ee54c68dd28f7c488a6193a5b0f69b95392930d271e4e396c14cbc1595fc24a8d8efe3c593e040494ab8fdefbec0487666e67d0ec6e3f6b2f598fb16646935feeed64e25feeec601e5fe9d6b59acdc5fa728f7454b48f1f7016f289affc8ef6bce50653d8ff629fb33051c24cbe55ffbef18bd15b544456042105043d28461dcf9061974ac7e0536d681ed3e28b5927834720ed62e87c3f8205b0f5b1b5859b9b08a8d47372d862d62e1d5e4227405566d84b5c830089b569378b1940d49b14822ffb90c361edd06dfd9482ad6ff1c5e72c2134fc30fcf904b4c8d9be0c75bc1f6226cad87dc3cb03d4be2d1c193f037df25a5d5afc146172c5d065bd8ea84149f68fcfff247f87503fced77f890f499ff0b8c009ffc6faafc7f11c44af4d9f02acc35c1936b614e326cfb57c0f042ab8563384a4ab1d7f32378fc6d0c48a179ab20913d07842b897cdbd36c3c7a11d6d79289aa51fc6976c570e881f54b617f2e1cde0ac942042634123b5bcabe41e2d1e0b1c6779abdf8f8ad5ab5a280dc2d7dad1f6ec3013fcbf2352b841098543af1f1be7e93ce5a54ce18a7741c3b78da0f5a8de672b73046d3e93ed496366ffac897a7040aa94492d361d742f854732377193d4ae913a60ffb5f1380cf73607bd351b03856afb0eb2de9f079b46536239b07d1dde6fe3d0efe31356b5c797acb6c005a486aa92c26f1a8f7c06fc451abb56239c6a3a1de63efed68260dd86bd73872b216950df8c955ef91bd5f65549764ea82670f7c7461fe8a92f45421bc92e2c0fe9ba3c03fbdaa1ce3d191814f3fda4286a1a3fd45c4732970acf1bd66afe5f16756a4276968fd68ad58a4a8a7f58f7c2826c5cd525188f168b8b771f30e2fb6c338d7b86c590bf23fa0f883ef1428fb09450e1c6dee6cdd4b3c0e93a56af58a02368707c6a4472c82e7db0e34b529846b52dc846ad27eb41a28b829f723b64b240d876714bb1e2e6734103e73e083bd182f72ff8d0348e45b2bf4138227e22058107fa6e0d678a0fddec70ad2e7df6775930dd92c6505995a089c6d6bb5547c4fa9bfe0002f56d2bff4fb9abf8f24f642df5ec5df07106e28897cd44cf9778662970887787f8e47257645937f6dbf6331b96a4e45605210b81b43d2177efb976fce675fa9f3908676bff0d0ebee51f1c537bcdc4bf0fd2d10aa03f33df05016a9f0a7f7483c8a69baf00885c580ef847b3e8b8f47591e1c6e3216c15acc5f84976b01c3b36892cbbf7f160eeac01f3ee45976ee81f54ed04ee52fcf35927814d3749e0005ac3e69f9e0de4f5edc93781660aa6c4c4e60a7f21ffe09b43f06b945b02a1736032c2b23dafef26d28f839a9aa203f4ce8727d0eef21c8d43f43acf8cb561e25e42c25ec20b7972503b056f079d1492e7ff17da4d8bd995f3815c57f4c1cfeeb15b64a3bbcf5169c3f2e6a232e6b993b1bb1f37b5b493c8a49abe187b6d82b1cee448caff27972eaebf4f47582c18e70c1a52f8fb6e163303e1d758b2334becc5256673369821d47f679e3b8e5f409d3c74a66aa8d0c78483c8a89bd0f70dc749484fca1ae23241ec5e43d773192979e66b2017894ebcc256f92039d2df121ebbc4c1cbf1ce9fae2245fa9ed8b8b5539e9c9291a5467c477f8a037eb7127566bdb7d545bb50079b8f9b8721cc8443b25fea4d9187240ffe923fcb408697f01ae1c63bbb2efaf870ee92e770bba4bfb91a6273a83326e194672e7a7a43fbc7a35510dd02298929c4af7078a9fd895e5087ab2e738a3bca7cff667e4986c8e15f31f0cf4749c3bdeb2cf2384a64ab811fde5fd5834cf48c14db91f891ee82edaccf272cc05db9ade710b7ea0283f9f7c4242a1dfc78b276bbfd281823f74ee3bedcbb79b334b8a2d9dad50968f3f2c41cfc156c8a855ec2ff438c5fea5f6237b1fc9f114ee0ba95fa1ea8af2a9f735cd2e01038a3f0bc5c2992a9f6790ea49b55710a89e5504261581bb3124fdf38ef787e64d8bc13ae473bb6357cab953c203d6964b9ee2ed38a6843f3ef82812d867b221205eb16450c495102310d180c608c54b608f282695cb4fc6e988c37031fada3d8dc8c4a0964b9707859c70c6f99498ce1d87337e41ab64f88a1a7291f99734feed9f9011d965df031c90c591c0937f24d18793c69f47e4c8f5215421e1f34792e4f64a18249772f99906c2d229847e7a01ff51ec221506e130f73f04c0e6b70981920c06ec667cbb3bc097a79250838b9328354464f2d04b24d96a8ac8aaa6965d2df1dc0af489d527321416b7880f4b694a25213817aa62c6df7b9e67b058706c2ee2eb11e210693db0b01499440d9177351c14822648499ac205f5a41d7608098756833d0022f01470e09eec147ed18c62bda4bfc2973a7857f1b472438e32cd59025d4f522cc7cda2d7a2638407ba3b7c43c27ce6a4707f34e465858a4c62af8583889e901ca11e773eba775bafbdaa641193693664307919ccdc394defb0f3441471232191bc1ffbd90e13342733a0793fa7f423699a74ee4864244993a4b564dac0c3fb82a2fc610ddea78afd4e245d239ea42a9f46c1cd7dfc6c9e2327f3de22cb4598abc781ecf6837d60c9a1f517cec850d04768873d8bfa0baf15eda5de17ac00b9bdb4fb7a14bb584989fa334d3e2b64ac43bcbd6371abe52a0213808062e83401726f65119f7ef09b4fc7ad5f80aff15c2dc95cec865436f6bcc43d62ab61ddc33c83e74bb24467c642c017f5f2b5e383c7e0e593b0b101ea7162e8206c8872c8e49fed84fc5c58fa7dd8f336916cb393b1cf901093cafbedf069780a277dfa60dd7a5e13c9a9ba1eb282b045888347e1dff95fb0ea21985303ff8ccd0cc2fb1b89241a7fe98ba454ae0fa10a74c1388ec61e0552144f51190cb3218798a2209f25cdb4b25ca5f07c0dcf4ed3932fd6803c3e163714cb9307af56cf06e2607555e5e0b53424957d1b891f4a95a94fa432f66263b8f568ec9945569f68a0fb98d2aa2605fa44ea93448449131b8086592a53f70d1bba1b1792b214dea4e28af9640c34783956596257dfc550040cba59850c88877ebb2ef8ede966eb8262f0b011a1859d5b1b8e88479a0183545ce92788a6e12394e368a4889fb5287c85fb578d5956393fbebf92c4a16e4c029713f5234d4f0e17396e7d1dbe7049568a26d8d8d828158b2bf5389ca326091c72fae872847ad273675b33fee17be90ad7c3458c696e7e19785a46c54dd68f1a127b2ae046e9475e8370f79f9a7aab71aab5ddb92c12feb0d92b682695df7549b9dfaf0d4fd24abcbf8d865bdba7678b19c698f358cd9424087bfe8a400195dfeac05279ff9216e9fd18f55685fb02ab89fc8a15a3289fb888fc7786aa272708e3615abc188f0ff70f845c3e2f863bc9f494fb671cbf7aa122306908283cea27adaddb5970e993f0d252b05740fe4c08b5c30ffe03ea1700e4c3b27f82e98fc1830eee3d393b8ab91ff6b6435d2e6c6c82c63f407f2a2cba1f826ef8013bceaa990afb37c2cf669261c88637e1f23ff06fb4e5f231b0adcf85079f82d70d703a1556ae20f035ed02604725a3584603acc31bd917ee0ed8f14bd8f909586d50ed84402334bc417871e6e5c6a748c62ac4c1a3f1b7c3eecf48808bf1d839373fc180c6bf81488da5a83e1ca9dd47962be17709fee73094d642ca67f00e5ba0606f4c066414c13fbf0681d3b0e16d1195cd46e5b7b6137c9c4fc19bf7c1fd0fc10c8ca0d851649a9e1c0e5271d46b6f575fc46e36e4942cab9dadcd64ccece224f6134fb12a1a7da6b3c60943bea6667ee0adb72f0866e3bcc52effc94e8375fe6c4dd7766e49bea5ecdbae121c2f9a6f08efe09edfc2ea1377ec71ce4aa6d0274c1fc91061fc83cd6cabacd52cc0e546263246cc270c4c7559c5358ebcb45973b2d3f538461afb5895dc2ef0feb5dde7cc33e7b9564df37cd17345639965350c7bb7edf23c602f3764972e776a4ffb34f9850b31b4ed3f736a08a7b1b2c36e426bc259c7affa92e243cac9535c92c2fd974720dd9c5f5d3735df90cd1853d872514c2de1175f8afbd1e356d6d30b64142d96a2b875369ff1e5e79999550d8f1e6f3b0b06cb1c442fecd9bcdd8dcc347f50a28f2627d66e34c73856bbf2035d5f9fedeef60f829efdb8417830105dd524c74db11fbd760b05375a3f9e27775a520a789bdf71eb57e33064416dddd047bb3ac83f30723ff1c0b062bf5f1b9e38f3527a1f8d867f5fcb175d4c49164e628f0c9ce6d619028dffe328b26c26dabfec95427fb52adb2b9622f62b319de405f9d4fb9aa627eb575269d16b193e54f9d12a187027fe3b26aaa5665504260301851ff7c968e6b697998b0bd8eb483cda731cfef15bc49c9deba1f53c6866e0fa14d0f6c0a6b7703c11a6b2af8f5ffd1634e29c395c17df000df5b088011dfb0b84439c11769873e78fe02d7c6269e0a937713d0f4972f9f036bcbc13425a703d096b1b48c8e57e175eddc9ff5f7e45187809b0196e58b1e115f00e9005f8ebd641431d646aa0ddcb4a171d849f42421a85ffd7ff1f9057d611d8ce8590ac04657e5601457db0d28fff13ba4290eb202a391681301556c95eb609b64d98914fb6625aee644914f97b5e06b79780ec74c28c01d8d924d41fd52ed94067ac9624e7693aeced2793e67272ccba90b7ed4c10c77c45b74b843c81d371ff269b7d3e23d46d6b6ae9f0477009797965a59dc9d089fee3e3aae2ba1a2eb96a0af04189ab9ab861764100d0e83061fa10c587c9e7ced934443c720487493add27bb029062ccc9cb31a5043cc73c682f2e83472662a8393bcf9e87f16838d07d68f7767656292f406217523dfbb61ff2f446409b652b282ab067679874c96876ebfb4d6dfe8826c35654595e80217ebff7c8b67d2869042264c82c828ac4864c47324a95f1a1f1435fe3892e3f24e9b27218a32670eac0a1ee306862cbd7d008e524eb479a9e14dc00f66d6f3adb1fd29ab24b2a2b4b0af2320c49fe3ef41c9268fea0481f450e270d8f3133bcbdbec0555326535084be566ecb3084073a5a9adaa8fe43ebc7362a6e947e84302ac18dabb5edfde090370c4959258fd498697e3291782202727f1b05b7be9663f8f383ea9e3d7e248a21859fdabf5851b1bf46bf2f647e45912fbbaff1fd116723454fce8e982344ede232527c64f2aff3774cd29c7aa92230b1084cb9faffb3f736d04d5cd7fee8c6b22d6421212483b18c61b03db123b06b071c884d657c558848ae437143964b9ab459242be9cb4deebd90d5dcb44dee6a3e9b2e60ad7ffaf2bfedebbf8f7c34c0222cb75c4a71d37a517c633e9e494c0d28260232016cc7f803c78a2c6459e2ed3333924633736c19ec4061ced21a9db3cf3efbecfd3b67345b67cec795f87340293a962b44a457dc230ff991120b4891c685245e95218c1bbde063900fb1c8c8c88810c7889025bd0a59274f9e7ce59557947a4e3a05a7904ecf01e880a3a713eaaa5a051943b0ef4002514c14c02a16702ce89c575e4ac94d938f1e6b6d09613f571f5f21a42c2ea5a04a3906b8d427d76ad50f605e107eb55dca4be2347e395f343d5e7ea10a9b21c104aabdd15a92fc26f843c2acdc58c1abd033561623363b2e5922bb4b9ad2398e0387fb0927e3e78ebcdb201b66949611e37686b564a40d0d78c85adf68b0b165ac25ec6d1137b329595a9911ec38dcca45f3c56f1a7dc2f591d52b245173dc4eb5df1b5b272372d96c36bd1e07797d9dd17d5663c56576c5e888208ba74ea64168a09f8b97b2b10e5c810d327024a5c428150725ab846263d8acb450b7979339fa129624a3c9ea191347aa36a78502435e2f17230a11d5fe8059aaf4d1e454de8f8bc8fb3d8d3b634b8a6c76d66a4943908744a347c78dd68ea3e2a6da8e3213c5244d3ee90cc9b57b4c2e0d075a7fa3f1c704ca22e3e5c7e2caf6a2db2bab6d8c242a6355bbefb0d878f594e333d1bf636358a2655f1502172e5c309bcdb829ed942953743a1d5e31f07bd4024650247a56e80261c0fde0366ddab460c102644306bcca426a6a2a52304b8808718147e0c7ab3208d5219d54cc07691c09a80352f02ac4a5d7181123d71e3497f4da31d424dc840830ce3ab7c3d87d9eebbae837ccc862f2704177e854e36fc5d77f5fbbc5379a3e5f3b00b76c8576a7bb44e7eb0be86c6c2163d4053dffbdb549f257e796c545333c1904b4df8d6450baee3c9a4b1a6b02c99bc5184d8b6808dcf208f87abb7d21362b173f3c16e140c729dc65e7bae172a3e973dd80b8e52a4e9f3d97b1a630bcdde16ecf11cd1fbde5bac03518acfd6e5c03785ad1eb8080e6925e07d0b52a6f7c04fa3cfbdff3ecc7f7f6567c931df27ba5efe0af87f6379a3ed703835bb34eaef18f0d566306f6c26ec5848a5b1311cdeae411d07e3792c74ae3bc1110d05cd21ba115341d6e5004fa3aaf7d56e2449a76a3e93391b669b22808688d4e014623278b80d68592454ae3bbde0808ebf3aeb7165afd1a021a021a021a021a021a021a021a02b730029a4b7a0b37be66ba86808680868086808680868086c08d8180f6e27eac766057c1f72ba0f96dd897b8fdd358e554f29f7e01d2cfc9b77f9f40f92a554e1e6931fce76a38f757d8aaba0116ee2df50358910fa110e016359ebfc2360a1b55c1b1e4530b56c1cbdf02cf6ed8163d3894ca994c06bb724d9961d0bbbb71ecbd9f921147786c6c396bf19f6bf1c8d64dd3e8097293d787a974e5877b3e39dc26ab26415c3c61639da57303e78eb5c837808ab37c4db1abc381a63f8dce9455e7e35e9a11dcda64b8e74c731b378675343963144b225bb0f78b81ccfc89c1bf6469f54cddc0b1e6d6849db0264fff244ca4b324df9fe932b41c0d010d819b05016d9474ac96b49783db0d77b263f18d995f050fd640dddd72be09932f173cb9e9aa7bc86ef6f7e2a9a994507937c1ada6865c6be96c94d230a67c6ac12abec67b68f9e3a33373982c6b366e889f588c2daf76af743289c42453d52baa17959665c78ea18a16a3d1a3f9fc77f2fa30f317b06c89a330a1f82809d39c2296cd9f631d85e5ebc9ba4a1c68fa53e8cc5c72ca412106965de0983fb6691439a3174ca69f88f65a260a7fa6a8a4902dc62d6113c355e99f28621252c9f7e749a85c13a921a02170a321a08d928ed5227e72b40cf097b158c7cac77344742372a609942f173da9691e91113a2eaf7e17dec753a95e8297dc7858d0f855194b3e4da280e7d5d4a82691fbac9d9b3675e08c3731337b7e01639d12649a7013fd71055b594da125c5dff15163a2441a5d2e3c797d86c3fcc94bd1539ae48214699e5f71d8b5826d9209578f034d7f0a9d6bdaf9fe4900ababd6c592c3abc60c1439a3971bb39fc4edbd6860a287228d2e73cc5c72e4d69588fc96bb2afdc7aceb5a1992efcfd75a93565e434043e01f0001cd254db291f0b4d0490d932d7fa295ef8c9e683a8a60f4baa65fad5dc9c81fa5ea09cbe29a1a38a5303c7c0c89493832b2a26cf51d391019889f112fe6d3e8b2e2981c9f3eb19720368084d7b84ac1e23186724f468d71f268d784036fac8afe347a1f22a227a763c6501add309a9c514a8dd54f24f6da9d57217f94aa9559932d5f59631294f1f5e724046a2c1a021a02ffc008682e69728d376c832ddbc15940b8db1be07bcf8bc59ed90c772f86197a08066168048ebf0b1bde2259b5cfc10fef25740ce121f8db5678f633128f05c2f02dd0f5c32f3e263475f9b5b0eb09606610f3e723a2000040004944415486a11ed8f54b78631f2c7e1c7ef1001cdc0969cbc05544b2b84370ffd32482e1f5adb07c21e089e2e141d8fd26bc5a2f90a957a5fe86d530e32cf86e87b29970e81df8b202dc05d0d504351b8990275e827b97c02c33e8a287b553458f92a16697c04e93afd41371ae7a1cfefd3b3087c7078b771d829a280e97d3e0e577c1adc087a21453eebaf3b639d38dfa2957c2a19148e0e2891dadba75772fd0c3084e360c5dfc64dbdec36251dcaa549f3e953fed3e63066b07c07d4bfdfddee89199eceaef57671bae9cff68efde16f924ce12f79d9969d07dec309eec2e0d4afa04e8c3573012d22d75dd5fcc66626b0507ceefdfb197b32f5db7ea76dfc9fd7b0e7384c55e5e777709747dbca38da422e18c72f703a58c15f9fdbdde3fed6a1cdd91b5399c2bca0b2d06be334442fddcc73b3fc049b78e7bebca732d78962e4442fe73270f371cf696d7ac7318fabb8233f3b28dbef3c73c97e72e61ad611f57ff5e43ac8a041c88620b47ce9df85c37af342f517fd57621ea53f51faf5de52bd72c64b2f4e8c445821ded47f634892d4691a3622f398a76b47e42b44db09710a8fa3b2adda50539d310e77038381c09741fdbc91f6cab86ff255e129ee4ca0787735d79be2125d0f63fa4378e437f1afebc541a3e429dcaeb04f4e7582f514ad7281a021a02370b029a4b9a5c4bd63d47f82e7030938122376cf1c086edf0f2fbe066d05b8413c7c1328ff846f66cc2b66e336c70a20f00ad4de04b83dbef80794897b8a4eb7e0e1b5c6494ed9d4dd05b4a8aa8c81f80a6e7c801eeed87a023155ce5f0f08b30dc039f58c16c06f7a3a4d485d3a0cf05e62e78b9167e5a0f5bf68073360c72d0d205cbee82da1f01d706dbe8abb254f5bf6c8602543e0cc130dcf530a90523d9a5b01860f956a85b48ec6a3f0e537380994972c71d56a9dbf5aba3f00c45beaa9e58ef530fc11c3db4b700370873f2c126e9cc0b6b003525f8d8e3f85054652ad7b88bb38817dfdb1d483567598ca94603047dfe400007438d5673ba313d56d4e9fa6787951f6f026096b8183e63f0146c134e76b267cf32905cd334c55c517be522c6043eeef7822f1893a8a04f8c3ea700c7fff45985a559101cecf7e94c164b6e85cbc19d4937a6e947d2458f05d20d467d5a8ad984eae09c92cc62672636f0e0c065a3c598c9badd3def35f0be6a4c5b49c456e2fe4e059302e1fe2e6e20a8b3ccb41b2d28875db3de89c7d8fb7bcf770ea6cccdcb614a5d35617f7faade6065f2d0470d474cb9a54b10ee704467ca2eb243b3e0bacb70483718f47a3dbb88d707f59f2eea7f2ca8da2e54fddbc66d5799fb41d252c101aec3679b979be358e61ee86ee8a5c909a8dafbe5fc51fb09aa2bb3978ebfc355e7642d3879a8bfbb3b62b0649a0de97c7b51f0175d521c2eb695acfc76455e1a443a8e7dd832948d37845afbaaebbfa787827fa3471d9f36aacf3831fdf93a9e9c26e9f35a54434043605211903cc527b59e9b4078fd6b64d0b1ea05d85c03ec3760b19df8a3e10bf0e41ac0b5ddec46d85ec75b59008ff0fee89665b04d6a761549042fc3239be1496418822deb89bfb8987749314b26ffe92cde1fdd01dfdb4c0ad6fe1c7eec82071e871f9d25490c0d5be0a7db817d0eb6d7424121b04f117f74a81dfee921925bf5126c76c33dab611b5f9c9012c3e28deafa0b3de29d67a1f8275036030e6d81932be15116321fe7fdd14bb07125e0eaf9b8bd8962c74c3dfd80ba5d8d8bd4e5d3f4842a988583d097a07e0bd4abb9dd327c688ad9cabf49fcd1c0f186b79b397c8c573eb2b69860d0d7ba7b070ef8d9d63cb656ea7a9ffc70ff80c5602f5dc298a7741c3f7cc6077a9deeab6e9ca3c087cea6239e8cf9d3239f9d8a52c40c70391d7a089d6a6e8812c46f397dc2f4e1ff1d01f47b0fee6c6c039b73fd5a87d196099f24d6af987fd1ed69fa3d0e0a32d58fb90b8db6d9003497d4565146fc51eee06fa45eab7de91af44783bdc7dfddd54c6a72ac7ccc9997b3b07cd04752bdc73ef83cab6a51b62170fee01f2fe6af5d94991ef5f6e538441593ebdfd7a4da2e443a1f14fa5fa6d02976d99696a03f1aea6dd8ba8bc3928ceb31379b735b11f40a624026dfbed4a86aeff13f8fda4f80da1f64f2c16e5a82fe6864f0a33f6e23c3eeb1fe09eaf8a3c644d191d08c32f78a258c0e42670ffee103f417857fcb90acfef63f8baead1c7f1a3e6d7c738b2049be26ac3f4b646a510d010d819b14815bd1257df6777ffb763eff4a5d6cd4e0de6797bfdc346a0bb7be23be043fd002c11ab0ce83e539a4c05fde25fe2886e9d1472b2c037c93dcf371a23fcaf3e03094b9149ec4f825787e25ece389c24529ff8e5964a8f24fbb45a6fa7db0d105faa962f24203f147314c170950cceb9351044d07c88b7be2f7014ce5c7ea767c080509f6c2c66550cebbc22afaa742f834bc71007ef7229a014f6d8767f8d5eb45df20029bb6127f1443dc5e0055f9021bcf9b70b963aeba5dcb28f297d3f43c0087387031f0e3edf06f3d70f430fcd78b10f30395f82428114fd8e6ce468c7c5c2bf14731e87529fc77f462422caf4413f8ddd7e9edeb0493a31ce35f7ed626dfc8093db826a9872696b495d7b0165da0e3d87e4ea4085f4afa84e96307342432e825fe2806befd230995cb13c81fec3a46fc510cdc854be1c2cc0c0b0b7150130bcc35e39b797f674ba26b373f1bc7f3225d9fb68bcc9e4f2f55e665a6a6e9509d48ffd1c35ccefdf87ec0efd9dba6afbc0d7984f9b84a1c306b54fde5ed22f0abe9ffc5f8ecca32933b392d73c5faf5446540cd614a2ad2c2aa728ac8d6092af6a6757a71f72d5a3fa1d9abd4bf74be199b6ee0cc31711a48bc7faae38fbaf3c3e3d94b70201a029ec6b79ba237c5b8f447abd4f1a7e2436a568609ebcf4ad11a45434043e0a643e0567449ffbaebbde1f9d3e24d39dcdfd4144fa9c74e451fbc6c0179ba9fc6b1267c58e3a32bca3e93770131c593411557420c4358073a3394ad827d129f54293f15a7298ec0a5d8f85f0691894ead10be1a8ac6a2df38bf13c3851370d617d52a153e3f41883bdf853ca9bd7dc4ad243e959afec49f15aad14150f2322ed344f83b3bc91583316a2fc655e5f35c2a9754de0ca55dd974f928458933129f5d0bb51be181e550301b9c35e05c461cfd1ebe4e253e2aaa1092c9449cb5a06f50cc4f272e48b2eb9688f3924c60ab4bc9aaa6963d2d89dc2af489d5273c1c92d6884e863ca413175c705531e2ebfd4264b0d98c3871b1bf27eacfc8cb012e98c2a090a823f2ae8402b19e9396324570ea493dfcd0270ead06b09524e0a9e020d437b6fe021f7fa5e9bf7c3c76d98c7aec00a1c1ee8efee1e87ce994d04037bef456953fa2c37eab6aaf443389a93c55dd5e55f9033cd0514dc8cc65b17f52f027f25110ce1a8da4e852f4b66c16bc621baaca1f5d7f25fe747c78cb149789edcf0af11a41434043e0a64240d575baa92c541af3d11f7ef391923a06c52fe63fbd92442e75433aef7b7e293c7aab60c30a91c1fb194eb684190bf0c5b238a02866f05f43c7e1f976d85c07b53831740836c5c61215f2cf77425101dcf303d8f71629c93a88af188cfaa4ca763b7a061e2d077d3f6ce0d721f1b58997fa5f4b53625c784c2af597b226d4c22766a2a38c61313c531d6754951fcf461737fa16168938aea86e173f00ac943fba9ef59b013f50005b5e032703f73d0ebfe52b4ed05caa8a324e1ee07a23efd083dd5d998769b94baad824481c4a95981597cb38cacca1d6b6b82f4756b1e8a0fbb8daaa2615fa44ea934284c903ef800aae2a53f34d16bb9564f45434a96c693e19030d7c152f2cb3abef12ce313619669530201dfaedbae873645aedb79581b79594b5f1736b4361e94833a0938a2bfac885041a3e98a5aa3f5f88bf28da252655a23fda81816e179a2f91d3d7d11f5a9493a60b343434f005a317bb938fc9e5747da96eaf80af6a3f19c55e153d75c4f70c5d16fe8232ab2bf2c5fe49c15f5437d4fd97c6de2a9c22ed70ad0e87763773225d81c3e8fa2bf1a7e213ad0064fd84779027f2fe8a55a445340434046e3a04c6f1e8bee96c1f8f418b1f861fdf038ea550341382a7e187bf86dadb008a60f54f60fa7d709753784fce0f2f1e800f4e434d016c6e84863fc1403a2cbc03024df0437e9c5537150e6c8657679289a175afc357ff22bef757ca47c7b6b600ee7a145e36c1997458b796a8dbb807a030416f7cc12684a39be1f47d6465d2ae37a0fe10d859a87281bf01ea5e8b72247eb75fa4e88f6c6abde2d3d364e9bdeb5178fd1b70c77298819e4c74383551b04aca8e4731bd8443b8f0b35fc3ab7f56b7abb58cd095f2697a563d079b57436b331c3f4ee6f959798fb60f47dfac090ac4f049a0c6135c575fd86135e52d5abd72b63e9bb1f28b93f82d9ee23c3a63b6abda05c3fd8dcdbc9b857322fb026035cf5fe6f6b5779aecf9b3755d3b8525f9b6f207dd8b70dc2cdf14da25f801d1552c4d71b780974ca14f983ea2a6512b04cf3e9ab2b2152b75b7e172230b192316033aa6869cb26a6761c6ac39b999461c238d6f56a5b40bb8bf9fee77155a0bdd8f4cf37eda7359679b65378d703bf678ef742c31e52e5ee3d29fe9d715952c409770e0eca9619cc6aa1c53c59a0de2aa2f393e51adc4ef44fd05a2ac5dd4f5b73bd5e912f969a61c6c5f1d0c7eb4bfa5afb3f96c7f51a19579a4eede139ef360b2cd419442dead1f12c75d898f174654ede578f92afda45527ac7253daab2a9f73d82290692daaaa995a64ca65ccc2eb0264a5e2ff05b93353d2806b7ebbc9b8de99975dbcb266f88f7b3ac6ab3fb69724c4f0a7e1b3b389702bfac984f5e7d8961712a5b4a8868086c04d8640ca4d66cf649953800bd86b883fda7302fef5bba496fa8dd0fa05e866e03a05d0f7c0963771c1124ce55f67ffecbbd08073e9705d7c1dd4d5c242060cfc2f3a0e7186f961cefaff8037f1175c078fbe8e037c2428e5c35bf07c3d04f5e07e189eac232e60d33bf033dcd4891fa7b91c1d63f2f3116118b2ee05b2f61c17e06fd800753590ad83d31c2f5ded42d51fd7da5f26054682f17902386ef8f9f3d0c411a35c2e983108f58d6a4295345e3d730139eae99ee57c36c5ae7d14f9343d0f9c829e112873c2c34fc2862761e16cb8d042b61d18051fa57648f1361ee506709c343b2fcf6a08729eb30174c925b74598780a99e4a81f473e1395e0696ce9f0857109f9928a0a07936590f8f042d114de6347767775b11ec2b8aa49184e8f0aa0d2274e1fa2f808d9369d0fc3a4e791e1c0cea6f62e3fa499f30af32c697eef712fda8bcbe09189186acd2d7414a23f1af2771fd9bb939f552a0a90d98554effe9d47bcbd61d0e7b0c5a5c58edc2c8b2115cd6e7dafd1e30bebb2d8d28a25c5e8e20f70c776ec4749110893a1c3302a121f328d642d56c70719d5f517d5e1b313db85a63f8dce4be26f48bd15db378f9d2ffc9bd9bfb3f1fc40506fc95d5451b1a8b830cb94e2ebc31e42c387662f11afec27b4fe4095ef6938d9e58314434e1e63d6f94f1d3cd21d025d2af14c29f803d96a5518f7f57cf087235c08527216dd5d8d87a7aab72f4d7f2afe347c88c1d1bf1db1fe3f71fd5910af5d350434046e6604a65cb9127f3e280d8de50a11e935c20f2521251690228d0b49bc2a43183780c1c7231f6291919111218e11214b7a15b24e9e3cf9ca2baf28f59c740a4e219d9e03d001474f27d455b50a3286605fecfdbb34b30056b1806344e7bcf252522e214e938f1e6b6d096139572f8ea72acbca28a8528e012ef551b44ae41e4dff444e2145f8216116ac1a5712348a5d34f9343dd9c550309780dcd70607129b260925088bcd8e4b96c82e92a6748ee3c0e17ec2c9f8b923eff2fb3e8e2ec3ceb0968cb4a1010fd71967b4b165ac25ec6d1137c529595a9911ec38dccac539f8188d3ee1fac8ea1592a8396ea7daef959f676fb3d9f47a1ce4f57546f7598d1597d915a323822c9e5e9906a1817e2e5ecac63a70253ac8c0919412a3541c94ac495068fad3e8a388b4316c96392d1418f27ab9181b5dce68f64afbc9e8f6d2e41365d242dd5e4ef6c786574c15ff98ca09119a7cd288c9b5574c9c2a3e982bef27137d7fc514d0221a02370d02172e5c309bcd29292953a64cd1e97478c580493410237845cf0a5d200c814060d3a64d0b162c403664c0ab2ca4a6a62205b38488101778047ebc2a83501dd249c57c90c691803a2025a68f4011ae312246ae3d682ee9b563a849f807468071d6b91dc6eef35cd745bf61461693974db66a6afcedf5da06f146d3e71fb86935d56f0004b4fe7c033482a6c28d8e80e692c65a48f2c63146d3221a02b70c02bede6e5f88cdcac50f6f7338d071aae57af9a3a8c18da6cf2dd3113443270501ad3f4f0aac9a500d819b1401cd25bd491b56332b3904fa3cfbdff3ecc7f7f6567c931df27ba5efe0939330b15c379a3e136b9d26ed564340ebcfb75a8b6bf66a085c0b029a4b7a2de869656f1204fa3a5567e95d37eb6e347dae1b105ac53705025a7fbe299a5133424360d21110d6d14e7a355a051a021a021a021a021a021a021a021a021a023404349794868c46d710d010d010d010d010d010d010d010f89a10d05edc8f0534bb0abe5f01cd6fc3beabda63482afee91720fd1c6c7a4b4a8309949f20773c89677e0e8be7c1c865b87401de789e76a8f978244e382fbb724d9961d0bbbb51b605fc35546463cb598bff5c8bfc9c7a1a3da1aae4f5612a5df9e19e4f0ee391e7c9041beb2c9d1b3877ac45be41533285279427291c26b4c6d184d99756dfae1b38d32c6ea7953cfe0aa1825d5f0c64e64f0cce254bab67ea068e35b726ecd07403b46349e5cafc1c4b5a24140c0c7a0f377a12f453c0a211340434043404ae3702da28e9582d602f07b71bee64c7e21b33bf0a1eac81babbe57c13265f2e38d9f4ef1aa1ce050505c02e84bb56803dd9725f2b1f3387c9b266e386e689b5b2e5d5ee957890e8d584ea15d58b4acbb215c73bd1e8097524af0f337f01cb96380a138a8f9230cd2962d9fc398967508dc23f695949e13069b5cb0533852585ec82c2f9229d82bfbc945a5ab4cb3251383345a859316ecd9a18ae773b3aef7fa4a2382fcb6ab558b3b273f3b371b7592d680868086808dcd80868a3a463b58f9f3fad9abf8cc53a567e100f6c1a91334da07cb9e824d28b374291197a5a60d5ff45b8172f4e7643fe24644f240bf7593b376deac0196fa2d0ecf9058c754a9069c24deec7156c65358596147fc7478d89126974b9f0e4f5190ef32723454f51920b52a4797ec9a1eb0a86af85902c0e5f8b327c25893052f01f539db85d170d4cf490a3314b8dce408ebeba1291ff425cdf76b457b299fa88bf63ffbb7bb083dbec76486e8c7e744bb55c0d010d010d8149454073499384174f0b9dd430d9f229ca2fce27198dffaf987df42885efba93b9a6064ea9041e0286c4a4ddbd9800b6fa8e1c880cc4cf70177368f458c158647cfac45e46d8f09ca9980c4a8467967b3814de4922278fc32429a010eb238d1c83114f7857ed0f8a623282c42ebb73b2719e6cf932dba4495b8e158fceea3dfb91f087abaf537348a5f068710d010d811b1401cd254dae61866db0653b380b08777b037cef79b1d8339be1eec530430fc1200c8dc0f17761c35b24abf639f8e1bd848e213c047fdb0acf7e46e2b14018be05ba7ef8c5c784a62ebf16763d01cc0cc230d403bb7e096fec83c58fc32f1e80833b216d19b88a48167708ee7f9a4430bcbe15962f043c693c3c08bbdf8457f1cc777ac031d1f93349b67d112c360246c59351d5ea45b627fe37ac9b09afd5c3e38fc01c5eabd67760e49f60c659f0dd0e6533e1d03bf06505b80ba0ab096a3642d5e3f0efdf1139b178d721a889ea496a55094cb9ebcedbe64c37eaa75c09874622818b2776b4ead6ddbd400f231148095dfc64dbdec36231dc4a549f3e953f8d3e63068bd30d705f517fbf377aa425bbfafbd5d9862be73fdabbb745fe3c2e71df999906ddc70e4bcf7047b14afa04e8c3ab3b12d22d75dd5fcc6662cb0407ceefdfb197b32f5db7ea76dfc9fd7b0e7384c55e5e777709747dbca38da422e18c72f703a58c15f9fdbdde3fed6a1cdd91b5399c2bca0b2d0664c7c2a17eeee39d1fe0a45bc7bd75e5b9163c6e1569fe73270f371cf696d7ac7318fabb8233f3b28dbef3c73c97e72e61ad611f57ff5e43ac8a041c783dfb3ffe7020abac58ae8f527edaea879618fb4f6cdbdb527eefba9259231ffff7ced63ea6e6a12a4370c4007db47acb57ae59c864e9d1898b043bda8fec69125b268e3f7f981df1d3511fd5fe402c0747a5bbb420671ae2100e07872381ee633b2507c326d8c5f3d370a6c951c3f9122f094f54e583c3b9ae3cdf901268fb1fd2eb28f295b879f90eb070e4dc89cf75f34af324fd84974ac347a85376b5dbed5933c87c9474538edd9e6e34e2c9b1c21e676af592ae57737789f1449367567959ae99f49640d7314f248fda4f98f2d5158e6c9e139943bef3fbdedb2bbfc7643a69490d010d010d812410d05cd224404296bae708df050e663250e4862d1ed8b01d5e7e1fdc0c7a8b70e23858e611dfcb9e4dd8d66d860d4ef43da0b5097c6970fb1d300fe9129774ddcf61838b8ceebdb3097a4b491115f903d0f41c3950befd1074a482ab1c1e7e11867be0132b98cde07e9494ba701af4b9c0dc052fd7c24feb61cb1e70ce86410e5aba60d95d50fb23e0da601b6555d6e2e7e057b5440806e7a380fa62b8f305f819a8d7fbaba330cd04190cbcb4819876a21d161681691a5c364301160e43300c773d4c846024bb1416033cf510ccd1437b0b708330271f6c637436a6728dbb388b78d3bddd81547396c5986a3440d0e70f047030d46835a71bd3897c3e385dffecb08aa366cc1217c313074fc136e1e4257bf62c03c9354d53cc15b5572e624ce0e37e2ff8827c417251d027469f531001d0671596664170b0dfa733592cb9152e077726dd98a61f49173d19483718f569296632e30fe77664163b3311c8c181cb468b319375bb7bde6be07dd598b69288adc4fd9d0a2605c2fd5ddc4050679969375a500ebb66bd138f99f7f79eef1c4c999b97c394ba6ac2fefe54bdc1cae4a18f1a8e98724b9720dce188ce945d648766c1ad90e1909e6e48d323c25861a23e0135f9cd7a837e1af60ab0cf9b6d4e4b03a6c8deda9e33db68f86a246898ae5eef50c983a44582035c87cf362f37c7b1cc3dd0ddd0d6a7c49f181d0caaf607cc71b8ea9cac057da4feeeee88c1926936a4f3789252186476d171a6c9a1e02cbaa4e82edb4a567ebb222f0d221dc73e6c19ca5ea8de8eaab8f9f7f4180c7abd9e5dc4b73bf693e9623f69f494b9d5f111cc925fedce7fbecf21dc186666d17d0cc91f98d3b8633fa8b5977f4f4b677aba5e9f6659e4aac0be30d0dd6bc8ca4cd7a7a787a8fd247d6969b659e7ebedf8e25270aad99a999112bf2de5da68690d010d010d817120308697300e49373d6bfd6b64d0b1ea05d85c03ec3760b19df8a3e10bf0e41a32ff92dd08dbeb780c0ae01174d182b065196c9382524512c1cbf0c8667812198660cb7ae22f2ee65d52cc92c97f3a8bf74777c0f7369382b53f871fbbe081c7e14767491243c316f8e976609f83edb5505008ec53c41f1d6a877f7a88e456bd049bdd70cf6ad8c61727a4c470f47d78f514543f0477cd81961df0974e980ef0e13e787aab7abde8928aa10736de03070ae0e876484d03a107bdf32c14ff04ca66c0a12d7072253cca82b10a66e120f125a8df02f514b7382a917cdbcabf49fcd1c0f186b79b394c563eb2b698c8ee6bddbda315d36b1e5bcb8fe8125e0c273fdc3f6031d84b9730e6291dc70f9ff1815ea7fbaa5b785109d0d974c493317f7ae4b353518a500cc0e5749053ec9b1ba204f15b4e9f307df87f29802355077736b681cdb97eadc368cb844f12eb1f4e4c02747b9a7e8f83854cf563ee42a36d3600cd25b55594117f943bf81ba9d76a5fba06fdd160eff177773513d18e958f39f37216960ffa48aaf7d8079f67552dca3604ce1ffce3c5fcb58b32d3a36e851c8761e2526390e9635f6a54939f77763062355918fbfce9bcb36dcd9e6fbb64c2414b7f98f42f957a8d4b0bd01f0df5366cddc561358ceb31379b735b11740c8fab3fa0c7b904fdd1c8e0477fdc4686c563fd87e84e82dc2e81aab00bec268a1c759c516322692434a3ccbd6209a383d0d9837ff8a0ad4ffc77aa904fc1addcfee74b8246f27e625b5aa28a4f1bdfac4219e9b5f3e4fea6de59f34b8b73cdbe8ee3ad677c7a3d5c3ae7a5f5077bcbee6869fff186779b39dbfd4faccd4cd191372daaed95ce588c9817f8c273505bc31f854efbd610d0109818046e4597f4d9dffdeddbf9fc2b7511c3e0de6797bfdc342aa0f8865a78097ea0058235609d07cb734881bfbc2bae079a1e7da4c332c077da3d1f27faa3bc701cfe3297c29318bf04cfaf847d3c51b828e5df310b072de04fd10746fd3ed8e802fd54b1cc8506e28f62c0e7bc108a797d328aa0e900ff38c1f15580a9fc18e18e0fa120c15ed8b80c0e9c269e62de1ab80be0cc51a83f20caf9c9dcd1ea45a6fff30210ded3f0e69bf0c50978d005e1d3f0c601f8dd8b68363cb51d9eb9871775000e71e062e0c7dbe1df7ae0e861f8af1747d95eca367736eaeae35a893f8a41af4be1bfa317746be04a3481df7d9ddebe4e3039ca31fee5676df28d9cd0836b927a6862495b790d6bd1053a8eede7448af0a5a44f983e7632033232e825fe2806be1d04272f41034902f9835dc7883f8a81bb70295c989961618106de5cf206d5dfd992e8b2cecfc6f1c248d7a7eda260cfa7972af33253d374a84ea4ffe8612ee77e1cf8f47bf6b6e92b6f431e613eae1207cc52d5a7886c55a0227f3810024b46fec2dc34080cf8d32dd61c3613cdf50d458ceaf59acde4ce49cb5cb17e3d510d504398929a6e9b6b1d577f60e66723b403678e89d33412fb4ff27695ce3753e4a8e34ce045fbf4d94b70c019029ec6b79ba27f82c6851b1aabde4fb2d4f1c1ca9c0f3ce620333b62217caae137fbb93eafa7cf3fc3519c0bc1fe0e8f8713b22b9deafd01eb0df11cb8d2af99f0f6fdfdc811c357dda66fe048ba6a3fe1ce9c1fc8cab3b0ceb5f977f97b3a2e9c68d97fddf72b136cd4ae1a021a02ffe808dc8a2ee95f77bd373c1fdf2d46c3707f5353344efb3e157de0b305c4ab388d635ce824e0a3345a6026ef02628a278b6387d14cf19b801d86308e4098a16c15ec93f8a44af9a9383d72042ec5c61733884c746a85f0d5503416fd9e6526b10b27e0ac2faa552a7c7e821077be0b79527bfb789f92e488213daa3ca653f96a68f5e2e06e6c09d4d6b748f107f1a128a8a583601fa1c4c2b36ba176233cb01c0a6683b3069ccbe48e788c13dfb09b88b316f40d8ab474e29a087e92848b128dfd1da0e447c96c752959d5d4b2a7254a11be55e813ab4f785878ee8bd5a2f3210fe9c405175c558cf87abf10196c361c930af7f744fd1c7939c005531814127544de955020d62269295304a79ed4c38fc9e2d06aa007671cc645aae020c856ea33a233a9ca1fe8f541b6754e6e0a7ae16d9fcf701667de8e7744b02304c8af526f8a418f0d1d1aeceee81fd689fe554a68a0db6422868db73f44259099c592fe330ebb06784055e4507026e011f023e1488a2e456fcb66c12bb6159293c78dc8c10eafe82736a33a3ec87cfac4b1f00c49eb85873ee388100c02354517fb79027a7f104a84beece81462de567c290195dfa0f693b60f76f43a2a172d64b2ada62ca6308b993ba7f16d61be8c2041bb6a08680868085c1d02b7a24bfad11f7ef3d1b8d1f28b259e5e492297ba219df73dbf141ef955b06185c8e0fd0c5fdac38c05802feaa3238f62167e0d1d87e7db61731dd4e2c4d021d814e350c83fdf09450570cf0f60df5ba438eb20639fc1a84faa6cb7a367e0d172d0f7c3868d845f1aea7f2d4d8d11c7f1c651ea4525705c8516945ad56f06fc40016c790d9c0cdcf738eca329431eec7a23ef5883dd5d998769b94baad81b491c4a55bcf5260a328e3273a8b52deecb91d52d3ae83eaeb6aa49853e91faa41061f2c03ba082abcad47c93c5e6155c529e4f34a96c693e19030d7c152f2cb3abef12cedd3519669530201dfaedbae873645aedb7958197781860e3e7d686c2d2916640271557d6910b09347cf84cb93e5d5faacb1fb83818824c431a4e693ee769bfbca438539f86afe5fb4760362f87bf48ea8df4f58720274d17686868883360eb391762721cfd817767439785bf6accea8afc58ff19975da023bea78a1c0acea2cea1eebf34f656e15468876b7538b4bb9913e9517463ed48c34de807ca7ed2d7d11f5aa4820fcaeff42816ee456b557ed3fa83502f71ab25ceadbcb8a4bd84ac4e4f337eb0572d75af28652c738bcac12bfb9b2797a1a5350434043404c64440e9448c59e4966458fc30fcf81e702c85a299103c0d3ffc35d4de065004ab7f02d3ef83bb9c64fe2506e2311e800f4e434d016c6e84863fc1403a2cbc03024df0437e9c5537150e6c8657679289a175afc357ff22bef757ca47c7b6b600ee7a145e36c1997458b796c86fdc03504822b11073108f6e86d3f7919546bbde80fa436067a1ca05fe06a87b2dc69b54e4d53f53ea1da5b45a2f9afd1c1c5d0dadcd70fc38f40258f929077d382aa71eb8aebeb0c36aca5bb47ae56c7d3663e51727f15b3cc5f975c66c57b50b86fb1b9b79370be7baf505c06a9ebfcced6bef34d9f367ebba760a4bf26de50fba17e1b85cbe29b44bf00fa2ab5b9ae2ee022f99429f307d444da356243ef8ad6cc54add6db8dcc842c688c5808ea921a7acda5998316b4e6ea611c748e39b5529ed02eeefa7fb5d85d642f723d3bc9ff65cd6d966d94d23dc8e3dde3b1d4b4cb98bd7b8f467fa7545250bd0b51d387b6a18a7b12ac754b16683b8ea4b8e0fef282bf5f1c288aa7caedf8c37411a847bbbbcd0d7df1b28ce3180ffd225329b45b5de40f3d9fea2422bf348ddbd273ce7c1649b836884bc5b5bc7d71fb8deaf2290692daaaa995a64ca65ccc2f8204249695fd4461567ce61539743c5f90be20ca7a401d7fc769371bd332fbb7865cdf01ff774a8cba7e206d82e9210eb279d147c763649b8c78e7a9bd4fb03274e86559590a2429de65cff4491bfebdcf9ee6edf1018f94d1e4243d17fd42a053492868086808640b208a8fde8245bf656e22bc005ec35c41fed3901fffa5d6279fd4668fd02743370dd04e87b60cb9bf84e1ba6f29ee9cfbe0b0ded386f14dc7550570b0b1930f04f187c5687f961cefaff8037f189a283475fc701441294f2e12d78be1e827a703f0c4fd6c10c1d34bd033fc34d9df8f1aacbd1b12d3f1f19e1af752f90b5edb8007fc306a8ab816c1d9ce678e9a35c787d70bc361e68f50a1cf2814b3294896bb6308c04e3f30a90f8c529e8198132273cfc246c781216ce860b2d645b005af0361ee506c8a4bcbc3cab21c879ce06701281a47b8689079189e737b18e7c262ac4d3d8d2e10be312f22515150e26cb20f18d85a2b84e4308eeea623d8471559330ac1d1500343a4c983e44f111b29d3a1f86490f88e0706f67537b971fd2cc7985799634bff7b817edc565f0c8440cb5e6163a0ad11f0df9bb8fecdde9110b932f995d48f1eedf79c4db1b067d0e5b5c5aecc8cdb21852d1ecd6f71a3dbeb02e8b2dad58528c2efe00776cc77e94148130191a0ba322f121d348d662757c9093a20f457edf17384c0ae12f2f10a5fb3eef2233310283d8b2eaf562eefe9d8de707827a4beea28a8a45c58559a6145fdf80127ff47a24dd01e4fdc1d370b2cb0729869c3cc6acf39f3a78a43b04bad4346afbd2eca2c8413d293843080112c6ef3d1ffce1081782949c4577575bc7891b6f904a3fa1e1830a8d1648470af10d1de5a2b497988d36c802a5bdbeeaedf75fb16433c5a578cf2d61b34ca1c18e9646690f95c9d1921a021a021a02c92230e5ca95f873495928962b44a4d7083f84859458408a342e24f1aa0c61dc78061fcb7c8845464646843846842ce955c83a79f2e42bafbca2d473d2293885747a0e40071c3d9d5057d52ac8188a6ee7999043de56af6201c7a6ce79e5a5648c98a4c94721b52584fd5cbd389eaa2c2ba3a04a383075a98fa2958c9b961c7fbdaa92d8c550309780d0d74616548d126c765cb284e7cc30a6748ee3c0e17ec2c9f8b923ef4af695a495b633ac25236d68c0c375c6596c6c196b097b5b70f13309254b2b33821d875b393e15bfd0e8a8c9c4ea13af521243cd713bd57eaf7c7d88cd66d3eb7190d7d719dd6735564866578c8e6f51593cd512df920ff473f15236d6812be341068ea49418a5e26077aebfcfe1f71edc71acd7ae0f2af44956beb24619c5c6b059e6b45060c8ebe5625948c43ddf95f8c418641122242dd42d6ec34932a976f12569382be5482a52c559922f89d2e493c64aae5d62c254f189e5261d1977bdea926d76d66ac14dbe424352b0d57935aa868086c0e8085cb870c16c36e3e6cb53a64cd1e97478c5c0efc50c18c1b2e859a10b842110086cdab469c18205c8860c789585d4d454a460961011e2028fc08f576510aa433aa9980fd238125007a4e055884baf312246ae3d682ee9b563a84998000418679ddb61ec3ecf755df41b66643179b8803a74aaf1b7d76bd9c48da6cf04407c7522eccec7ee737ce969d8d9c45d9d00ad9486808680868086c02808682e690c1cc99bce184d8b68087ced08f87abb7d21362b173f7cdde140c729dc5de66bd7235ae18da64f54afebf04dde4b5f876ab52a35043404340434046e2d043497f4d66aef1bd6da3ecffef73cfbf1bdbd15df6487fc5ee93bf8eba1f48da6cff5c080afb3b3e9b7bf6aba6eb56b156b08680868086808dc3208682ee92dd3d4ff0886f6750a8771df28bade68fadc28b8687a680868086808680868084c3402d235ac132d5b93a721a021a021a021a021a021a021a021a0219004029a4b9a04481a8b868086808680868086808680868086c06422a0bdb81f0b5d76157cbf029adf867da3ee6134961892fff40b907e0e36bd95c03b81f213e47ecd8955f0d6c370e1cff0d344ebbe662daea6ba2a78f95be0d90ddb8e5e4d696a99c5f09fabe1dc5fe1ec7c58910fa110e096399ebfc2b603d41242c60dda1fd8956bca0c83dedd8db2adffc7b066b46c1b5bce5afce75af0bcb08440a3273025af0f53e9ca0ff77c72b84d564d82b878c2c63a4be706ce1d6b916fcc1567f99a6249e1305e5d68b8d1e831f9f6a5d5b7eb06ce348bdba88dc91f2b78cd9189c6a16469f54cddc0b1e6d6842d8a6f9c76bf26c0bec676b9263dbfb6c2d17e7b6946753eee151cc1ad8c867bce34b77163687093f48731acbc01b3359774ac46b19783db0da183d7ec9256c18335a03b2d7749274cfe58864c6a7e55392c2c8085a993e5923ef102cc0fc1b38a93a868f4e48dadaa22ed5b149a6097b4ea1ea87103ee9bfef1ede02e10d521b58ce592de98fd8199c3645953b20ad9c656e92e086c7975fe8c70fb0757b34154f58aea420b78fb5a64dbacd3e8094d9abc3eccfc052c0b3323c9baa4a639452c3b183977dd5dd2a47048002589040537a0d1632299c29242160622a24b3a267face03547a238f4143ee2ce8a1e72160efacf7ff23f0d87b9f18b678a4a0aad29fde7642ee9f5697766f5f7ddd986a0a7616bec16aa7e607da13522a58cc3c6496e17dafd4ea327afb97de99afb4ab37a3d0dbb0420ec4bbf7f5f696aafe7b7bbae6d6d65b4df7674ce2cc46d9bf910991919db25bd3efd2179c06e5a4eedc5fd584debc7b368f02094b1d892c90f4a0ea98ff14fa0fc98ccaf3f72e00034b5c03bdb27abe6e52bc1b51aaa14e2697405239520e03f32210d2cad841788625ffd2e7cb71c9ee70f704fa6961bb33f709fb5731d678fb579a5260264cf2f60f28ae63389d42452b6b29a424b8abfa3b53151228d2e1799bc3ec3613cc8282c9cae2497a296e6f9936757133101b46471186f5514dc80468fcb4f84716cfe78c96b894971d0e1f84970e03c77be7730a0d31b99d2aaa5b6ab914d8e480b47e437fc756af7343228a49f731b7f1e0ab1a6cc8e8743249c53361e1b27b95d68f73b8d9ebceae93afe5c5e3cea4308e9e9080cbf357bf2325439c57ecb35ed7cfffd5fbddfe84df6d7e03af507551b6e2922b921b49004024349f05c0bcb64cbbf16dd92297b00368c35fe978c181acf08f92551c9a4d15558bf5e5267f4c457ac16bdaee9e36ddff1f24fb6755c5303a7ac030f6143a25ac32879a514b6fa8e1c880c7cb4a7454ac543cc28f4442e921a9f3eb17fdee8c324bcae550a16dd01b9c7a2c63879b4e47118af0eeab8d1f08c4bf791468ec138367fbce4b5c4a438302828ec3bbfb7a11923cebac71c9654031e70366673265d3f6fddf5697773ce3c3b9099254c653eda740d81d6bed72052529476bfd3e892a2e38c4a7e3ec75932915dd26ffbb0abe8c9e9bf926e9cc89c98ba8efd2151915b2ba5b9a4c9b5f7b00db66c076701e16e6f80ef3d2f167b6633dcbd1866e8211884a11138fe2e6c788b64d53e073fbc97d0318487e06f5be1d9cf483c1608c3b740d70fbff898d0d4e5d7c2ae2780994118867a60d72fe18d7db0f871f8c503707027a42d035711c9e20ec1fd4f930886d7b7c2f285807f38c383b0fb4d78b55e20ab5cffebf730e32cf86e87b29970e81df8b282bc5fee6a829a8d8459d5ae27fe37ac9b09afd5c3e38fc01c5eabd677e0d700bfb81f872f006b3df90778ea9792ba26427f3c9274ba11a6f267d5e7ad22c233004eef03a0d0d1ffc3903c0e3c3b5c4e8397df05b7024f250edbf4a3e1ffc44b70ef12986506fe4fbf207bb42b4d4ff5fe309e7679ec9750f538fcfb77c4964225ba0e414db49f507462ca5d77de3667ba513fe54a383412095c3cb1a355b7eeee057a18c14958a18b9f6cdb7b582c8a5bc8ead3a7a692dfed8c19ac1d00f793f5f77ba34799b2abbf5f9d6db872fea3bd7b5be493384bdc7766a641f7b1c39e443594f409d087af6224a45beababf98cdc46e84036dfb77ece5ec4bd7adbadd7772ff1ee1e5afbdbceeee12e8fa78471b2910096794bb1f2865acc8efeff5fe6957e3e89e8fcde15c515e6831f0bd3412eae73edef9014eba75dc5b579e6bc1e3742112f29f3b79b8e1b0b7bc669dc3d0df159c99976df49d3fe6b93c77096b0dfbb8faf71a625528717054ba4b0b72a6a1fc7038381c09741fdb8907ed32e5ab2b1cd966221f43c8777edf7b7b05ac55f439a1576f47c441b57d799971fcf9c30489bf360affb8f4a1e0c3572b5e9438400a8f30f9adc110772dd4f1c1635b55dae592205d1c8e7338d795e71b52026dff4390a3b4bb4a3b02e9300b47ce9df85c37af344fd2af78e9e52bd72c64b2f4a86024d8d17e644f93aca70b2a906b583885423f0ba745747a217f1effbb1a3d9b42d52e7b79cddd25c6134d9e59e565b97ceb07ba8ebddd02f4769c08fd69f73b8cf63b903c0e022291f8ebc884ffb92a38b4a58e82bf4abf8d43ae12a3e949e90fa0a24f43ab7abbec3e3cca7daaa2ca2d4fd25cd2e4ba40dd7384ef020733192872c3160f6cd80e2fbf0f6e06bd4538711c2cf3c8b3df9e4dd8d66d860d4ee2a5b536812f0d6ebf03e6215de292aefb396c70e1cf11bcb3097a4b491115f903d0f41c71bfda0f41472ab8cae1e11761b8073eb182d90cee4749a90ba7419f0bcc5df0722dfcb41eb6ec01e76c18e4a0a50b96dd05b53f02ae0db651566519cc50804a86211886bb1e26d230925d8a9e1e7c9b62d734136430f0d20662da8976585804a669f06517f4f7c30840c11c98398dc811c3aa89d1ffbeff1b0ac4e7103cf9a2287b0fc0edffa94effd9bef1e120485c58030b053ced713c55dbd70854fc9fd90a75282508edc7616a0e3033a35050be55dbeb539e59a53fd0fb9b6abba098a71e82397a686f016e10e6e4836d8c9b9da95ce32ecec22e31d8db1d483567598ca94603047dfe400007438d5673ba313d6689d3f5cf0eabe813304b5c0c9f31780ab609276ed9b3671948ae691ae29518ec958b1813f8b8dfcb26022ae813a3cf29f278d7671596664170b0dfa733592cb9152e077726dd98a61f498fbd283418f56929663244857d39b3d899890d393870d9683166b26e77cf7b0dbcaf9a688a90b295b8bf53c1a440b8bf8b1b08ea2c33ed460bca61d7ac7766a19bde7bbe7330656e5e0e53eaaa09fbfb53f5062b93873e6a3862ca2d5d827087233a5376911d9a0577528183c355e7642de873f67777470c964cb3219dd7b37a6969b659e7ebedf8e25270aad99a999122348fba3e9476c4ffd2aaed8ba629f127f6d2f9c7a70f059f3db13f300a1cb0f229bc2f5ae25ccd5a74111f27ac51a1e1a38e03882e29bad7b69295dfaec84b8348c7b10f5b86b2f1d6556bf7806a3beee93118f47a3dbb88ef27d8afa68bfdaad153e67e90f4f0e000d7e1b3cdcbcd712c730f7437b4c5fe711014e341bc87d2e6e49780573fc72cfcd6112acdaef474bd3ecdb2c855817d67a0bbd7909599ae4fa7dda7b47e385efd878ad4eff70b33ab69bf03e3c38147243d6336eb301b524746322c0884e096aae3900e34fcd5fb6d1c71794c5dcf5eeaef80ba3e00eaed0240bb2fe47a68691e81319e521a4a7104ea5f23838e552fc0e61a60bf018bedc41f0d5f8027d7c051bcf137c2f63a9eb9001ee1fdd12dcb605bbc340813218397e191cdf024320cc196f5c45f5cccbba4c82893ff7416ef8fee80ef6d26526a7f0e3f76c1038fc38fce8a421bb6c04fb703fb1c6caf858242609f22fee8503bfcd34384a1ea25d8ec867b56c336beb85846f225b4fc3bcf42f14fa06c061cda022757c2a32cccd948b12b56b60736de03070ae0e876484d03ef5b70ff5be8904273e244d2a71f9818fd37fd0ce65ae0e127614e2aecf85f808f6dbd1e8eef83bda04e1f2f0e31b364782ea6e0e08f1690f1b38ff3fee825d8b812700a43bc3f44f965df343d0597149965fd81dadf627213db05fbdb2c1ca4bf04f55ba09ef2b724561423b6f26f127f3470bce1ed660e93958fac2d267da4af75f70e1cf0b3ad796cadd4c53ef9e1fe018bc15eba84314fe9387ef88c0ff43add57ddc218354067d3114fc6fce991cf4e4529d1ba5c4e871e42a79af9c9b551227ecbe913a60fff2f11a0df7b7067631bd89cebd73a8cb64cf84452374687139300dd9ea6dfe3e01653fd98bbd0689b0d4073496d1565c41fe50efe46eab5e2720df44783bdc7dfdd455e348363e563cebc9c85e5833e92ea3df6c1e759558bb20d81f307ff78317feda2cc74c19d54e260af5c82fe6864f0a33f6e23de5aac5d80b118f1a91df8c273b0d1237577d4f5c14a55db91d6bee3ed0fe8c18e4b1f1a3ef696dd682506797f40070507eaad854f3c51c8e7c3d9ff8f1f57a6e243c38121c5474233cadc2b96303a089d3df8870fd05f14461314ed6e5f6a546d47fb9f45d756deaf6c4b4bd01f0df5366cddc561458ceb31379b735b11b4f1dd80d49d107429101ae8be6cca3265cd2babd41b20dcdde1cbca318181d6eeb1e2fee30def3673b6fb9f589b8983c794fbd4be74e184e8ff07cafdde7f0ad47f07c68983609519ffb7313103799794d6bed11b56813fe5772c2e353146d3b3576493ff0ed84d94fb312636b15da8f7458c5f8b2420702bbaa4cffeee6fdfcee75fa98b5004f73ebbfce5a6045ce4097c432dbc043fd002c11ab0ce83e53984e72fef127f14c3f4e823059601be7be9f938d11fe57970f8c55c0a4f62fc123cbf12f6f144e1a2947fc72cf22ff14fbb45a6fa7db0d105faa962f24203f147314c170950cceb9351044d07f8a1041c5f0598aa18a38ab203a442f834bc71007ef722aa0b4f6d8767ee2199dfe05d6415bba225ffcf0bc4e582d3f0e69bf0c5892895af3d9a20df77cc9d18fd8fee2308d73e41a4fd6dbb8836a98042af1d2f0e441628f15c3e2a0e4afe65df20729ab6f2e048fb0321ab046a7b8508b3b23f50fb5b54b6bc5d8ec2210ef007fec7dbe1df7ae0e861f8af17c9ac564ab0cd9d8d7dc5c7b536733c871e9f95d26042f7e78a84d0d7e9edeb0493a31c695f7ed626dfc8093db826a9872696b495d7e0f856a0e3d87e4e228bf8c372fa84e96327ef7723835ee28f62e0effb4842e5f204f207bb8e117f140377e152b83033c3c2f25382e5ac243d97bc3bf577b624baacf3b3715c33d2f569bb58c4f3e9a5cabcccd4341daa13e93f7a98cbb9df85c53c7bdbf495b7218f3020a4c481999f8d2a0f9c39268e1ec6db853b737e202bcfc23ad7e6dfe5efe9b870a2653fbf6f95ba3ea21a206f471a7dbcf82352e3d287868ff083a5c401f5243dd2dfe5393b689a956dcf32e7b9be5f197abb2387860f1d076c7e7df6121ca08680a7f1eda6e84da1daee45d9a8914a3b2255bd5f6599c993202d73c5faf5a4a9015b1ca6a4c69e0e51bca5dfc1bef3418b232ba7bc98f43cae27055dd2b4d934bbc4921d1f35367318effbfb912386afbaa3f2e4ed3b0acee3d29f7ebf537e071ce3c701fbf9d98f9a3e1d30a685605ad1f2250c1a45efffeaf88fd56fa338c5bea9ed1556ed0fa5f3cd94fb5194a868974eca7d11d3408b2420702bbaa47fddf5def0fc69711886fb9b9ae229f5d8a9e803872d204fb5d338c6820f29fce989b2cfe45d404cf164f4f75402218621ac039d19ca56c13e894faa949f6a27af102fc5c6b732884c746a85f0d5503416fdc6f98b182e9c80b3bea856a9f079cc658cb2c5bff1a75210a783a0749485e750da25161c82a3820f0eb0f5adb830652c95577762f5179e57cabaa4f471e3c08b53e229d442c341c99f6d22253a3b8572608cf60731adf8a2ea59485895fd81d6df44c16aedf2ec5aa8dd080f2c8782d9e0ac01e732f91f2189522613766b7cfb3728d2d2c9a334613e9784591e1df5812b6166ab4bc9aaa616e5aa26057d62f5090ff38e7e54157cd8c8433a717804571523bede2f44069b0dc722c3fd3d51bf455e0e6c3c45215147e45d09056277565aca14c1a927f5f0433c38b41ae8c1f77d7191347c2433938df17669fb6047afa372d14226db6aca620ab398b9731adfdedfafae4fbc92e4625781ffb8f4a1e383fa517108077b9b9a9b918371deef7664e6159575f0a3cef199db317c28ed42ac278d1509475274297a5b360b5eb16d91ac6cf7111dded7aaed482429fb95cda8c71b2734d8ddd13f1cd52a05c741093725a4e8869b3c5d8e2c8628d0e53d1776106f990f510964a676e2fd18fab243fca9f1b6e24b0c6a1815e7abd55fd265132a96d0af02071415b9dcd3c97144a67dae53325998868312fff1f65bba9e99aafd6180bfe169fa60cb2bdb45fdbea0fea010eb6fe5a0ea3adde4807cf487df7c346e13a3ef6b9f5e498a5eea8674def7fc5278e454c18615a248ef6764a9cf8c05e445bd720dfad07178be1d36d7412d4e0c1d824d310e85fcf39d505400f7fc00f6bd4524b30e32f6198cfaa4ca763b7a061e2d077d3f6cd8286a22fbaaaa859c006c93f8c13106a934c10953da2532eb40eaffc524089191e8db144ce2b8d904ea2f681805295ead927e7538481110a40b3faf341c94fcc2bf9099f84702c36278a65a10937095e243d373f1737c91a8a963f637b1024abbd46f06fce0b48a2daf819381fb1e877dbf4e50299e200f6abd91ff63037677651ea6e52ea9626f24712855d2ec71798ca3cc1c6a956c1b4556abe8a0fbb8daaa2615fa44ea934284c903ef800aae2a53f34d166f2fc125e5f94493ca96e69331d0c057f1c232bbfa2ee11c6c9361560903d2a1dfae8b3e47a6d57e5b1978798fc1c6cfad0d85a523cd804eaa64ca803a3ea8163ee82e0b7f4199d515f9d276e9f434e307479997ba57943296b945e5b0a747551f22251614ed28e624d0af06ffe4f5a1e183eda18e83a062b4857c01d270a9860c9c008541051f4abb086220d4fd97c6de2a9c3aed70ad0e87763773223d3a8123d6ee5d5faab7a3d06f94fdaaafa33fb428274d1768686888ca4cfc96f51fccc439c09ef6de254ca63e78becd03f31da400df6355ec1285a548ffca88b4d897a41d47c19954c2d7122b8791d1f5a7ddef4afae872488d4a1c085578fc90981846edff4afd05e046ff1d8b48f0a1ea6947971883e2774047feeb8cb75d54ee0b6f0b2f5fbbc8115079b4ca59b43422b0f861f8f13de0580a453321781a7ef86ba8bd0da00856ff04a6df077739c9bc490cc4633c001f9c869a02d8dc080d7f828174587807049ae087fc38ab6e2a1cd80cafce241343eb5e87affe457c13ad948f8e6d6d01dcf528bc6c8233e9b06e2d91dfb807801f4523093ec41cc4a39be1f47d64c5d2ae37a0fe10d859a87281bf01ea5e237c38d371f3a3246297fac16aadcf5da4d8454a8f11b24ae13f5f02ff19721cc0ab7f9e48fd4ff793e553b8fefdbf8fc2e29590f6b1b8b45f857e153848cc8ae1d99e1c0e31fed6d3c45ed7a3f0fa37e08ee53083ff298dfe83102bb0e3914e2fe15036fcecd7406baf4d3cafb23f50fb9b447969b4ea39d8bc1a5a9be1f871e805b0f2533efa7aa42cd238d7d51776584d798b56af9cadcf66acfce2247e8ba73897ce98edaa76c1707f63b33830d3db1700ab79fe32b7afbdd364cf9fadebda292cc9b7953fe85e84e34bf9a6d02ee1791f5dadd2147ffcf39229f409d34736842419c8c1eaad6cc54add6db8dcc842c688c5806e8f21a7acda5998316b4e6ea611c748e39b5529ed02eeefa7fb5d85d642f723d3bc9ff65cd6d966d94d23dc8e3dde3b1d4b4cb98bd7b8f467fa7545250bd0b51d387b6a18a7b10aee46b43af1db20aefa92e1c3f57e15814c6bb0ad826700004000494441545155cdd422532e63161ed9a822e35cef2ef2779d3bdfdded1b0223bfd83f3484ff6468fa1c8e55a86c47214b4a1f37fee3d6471d1fce5ef908bffa4d868344c36add345b6e0ec208bd5c3b1734a9e343c5e10b7267a6a401d7fc769371bd332fbb7865cdf01ff774903f24ca76f7c2886a3b724014888758bfea6c3edb5f5468651ea9bbf784e73c986c73b07785bc5b7736116695fe23c8e0766dfd951063e693efd000a5dd05a651afd276f4365170be2afd69f7bb1afdea70881ac6e3892d42edff5146f13b8a7f32fd36cd9483bf633a18fc687f4b1fadbd3e54ef0f9cc346e96f3285a249ea7d1165d0be131150fc4b4accd652220205b880bd86f8a33d27e05fbf4b88f51ba1f50bd0cdc079f8a0ef812d6f92ffeb5379cff467df8586769c370aee3aa8ab85850c18f83b061d9430efa4d4ff07bc89bf503a78f4751cc02241291fde82e7eb21a807f7c3f0641d71719ade819fd58bffdb2e4707a6fc7c44187eab7b81acadc605f81b36405d0d64ebe034c74b975ca2b72e1902c3b556184682f1f90048f4d2ed22dcf28133421302e6cc28224716ad71f18409d5ffa7ff0f740589c38da6391702ef5f915a54e9e3c38107508927b57d29fcfb9e87268e34bacb053306a1be91072176e14b990b083ef72c17a9a3e8a9ec0f547d04618a7639700a7a46a0cc4956866d781216ce860b2d645b065af0361ee506c824bbbc3cab21c879ce0670144af2f34076ab3164b2852cebc867a2423c8d2d1dbe302e215f5251e160b20c92ff3842d1e8a63de0ae2ed64318573509af15a202a87498307d88e223647b743e0c933b900c937436b577f921cd9c57986749f37b8f7bd15e5c068f4cc4506b6ea1a310fdd190bffbc8de9d1eb130f992d98514effe9d47bcbd61d0e7b0c5a5c58edc2c8b2115dd9ed6f71a3dbeb02e8b2dad58528c2efe00776cc77e9414813019620ba322f121d348d662757cc0d370b2cb0729869c3cc6acf39f3a78a43b043a5c56c8f5f6fbaf58b299e252c47e099b650a0d76b434124d29fa600e09aaeda84257e08fdeaea43b28e48c5b1f757c68fd44a261615e4ea62e14e8f21cdc836782d2f0a1e340b6a614c6c93c1ffce1081eb09692b3e8ee6a3c6c52bdddd5f5148054e95700fb77369e1f08ea2db98b2a2a1615176699527c7d78678941d67f88322a21027d94761799d58b61a6a27d27527fdafdae4a1f170efccef4d804c2e8333ee5f827255a496d5fca7d3d46bfe5c5eaadf83b96c7ceb7f260d2f454ef0f547d848651b40bfdbe105b52fb4a4460ca952bf1dfc5c42c928ae50a11e935c20fa120251690228d0b49bc2a4318373ec1c7021f6291919111218e11214b7a15b24e9e3cf9ca2baf28f59c740a4e219d9e03d001474f27d455b50a3286605fecfdbb34b30056b1806323e7bcf252522e214e938f1e6b6d096139572f59d9a32c2fa1a04a3906b8d427d76ad50f605e107eb55dc24a8f8e6617bd944acec4e98fc2512b9b41050a55fa75c181e0862bafd46647a880c39354f5a4f507229fd6dfd42ac05d5d0be6924ed8d7060712bbae8cdd66075caf84bb0f9ad2398e0387fb0927e3e78ebc8bfb5f8e15ec0c6bc9481b1af0709d71561b5bc65ac2de1671f39b92a59519c18ec3ad5c9c838fd1e8a8c9c4ea23ab5748a2e6b89d6abf577e9ebdcd66d3eb7190d7d719dd6735565c66578c8e23602c9e589886e35bfd5cbc948d75e08a67908123292546a938f0f93686cd4a0b757b3999438f28b1564b1a563aa4cc54d54759f36814ac17cf1252e2432d336e7de4f88c8e03ad5e2a3ea4c03870a0b7bb5c4f9a26313a51c99c160a0c79bd5c8c88117aff917289f151ed52e1a793264c7fac42f57ea7d1af0b0e58e9f8fa2db68b5a7bd1fac3b8db65b4fb8234da850b17cc66336efe3b65ca149d4e87570cfc5ec080116440cf0a5d200c814060d3a64d0b162c403664c0ab2ca4a6a62205b38488101778047ebc2a83501dd249c57c90c691803a2005af425c7a8d113172ed417349af1d434d8286c03f3c028cb3ceed30769fe7ba2efa0d33b2983c5cf01b3ad5f85b619bd1afdfbc1b4d9faf1f01ad460d010d815b0401cd258d35b4e44d5b8ca645340434046e31047cbdddbe109b958b1fdef270a0e314ee2a74dd50b8d1f4b96e4068156b0868086808dc3208682ee92dd3d49aa11a027404fa3cfbdff3ecc7f7f6567c931df27ba5efe0e9a5262fe746d367f22cd5246b086808680868080808682ea9d613340434044404fa3a15b315af2b36379a3ed7150cad720d010d010d819b1c01e91aca9bdc54cd3c0d010d010d010d010d010d010d010d811b1301cd25bd31db45d34a43404340434043404340434043e01642407b713f5663b3abe0fb15d0fc36ec1b750f9db1c490fca75f80f473641b79699840f952b1376c9c666fd50f60453e8442805bda78fe0adb54f7d5ba76abd8956bca0c83dedd8d63ef6d946c6536b69cb5f8cfb5c8cf79a7d113e426af0f53e9ca0ff77c72b84db2d35282a8c4848d7596ce0d9c3bd622dfe02891ed6b482585c3e4e9314edc948a08fa7f3190993f3178962cad9ea91b38d68c9b6a4ac28dd35e12a526314ab39729abcec73d4223b8e5cc70cf99e6366e727448febe9b9cfa35a91a021a026a0868a3a46aa84869f67270bbe14e564abbaa78153c58037577cbcb4e987cb9e01b344db3b7f26e82734d0db9d6564d96f2cc1c26cb9a8d1b252756c09657bb573a99446292a9ea15d58b4acbb263c738458bd1e8d17cfe3b797d98f90b58b6c45198507c9484694e11cbe6cf1176831e856fd2b392c261f2b4182f6e0a4d44fd2d138527535452c816e316a689e18669af44b5262d45b197994b4e6328c4c0b20b1cf327abfae4efbbc9d24093ab21a021a08280364aaa024a02c9cf9f27113d5422216bbc89201ed834222f3481f2e5a26fc834cdde57bf0befe329562fc14b6e3c6c67b254e73e6be7a64d1d3823dbdd287b7e01639d12649a7093f871055b594da125c5dff15163a2441a5d2e3c797dc4e34da2a710c90529d23cbfe4306705c3d742481687c95366bcb8256a12d7ffa281891efa93c832ee143922ea4a44dec56f8cf61ab731575d80622fd7b4f3fd9378d2ababd6c54acf22bfea7ad40b267fdfa997d7a81a021a02938280e69226092b9e163aa961b2e54faaf257215ccd5ef4eaa6abd1af423cb508d7d4c02933f130312426edeec504b0d577e44064207e06ba9843a3c70ac622e3d327f652c386e731c56450223cb3dcf3a1f04e1239791c26490151ecb87093a822d1dfee9c6c3c275bbec4ae1b224ab3b70f7bb69e1cb4196bb54950777cf7dd2428a089d410d0105041407349554051210ddb60cb76701690acf606f8def322cf339be1eec530430fc1200c8dc0f17761c35b24abf639f8e1bd848e213c047fdb0acf7e46e2b14018be05ba7ef8c5c784a62ebf16763d01cc0cc230d403bb7e096fec83c58fc32f1e80833b216d19b88a48167708ee7f9a4430bcbe15962f043c613b3c08bbdf8457e9679a2f7e0ab67c1bb66e82e287c761d7132fc1bd4b6096194682101c81933be1a95f8f56af129f6dbc9eeaf6f259aa97e4ede28b33e5ae3b6f9b33dda89f72251c1a89042e9ed8d1aa5b77f7023d8ce024b5d0c54fb6ed3d2cd6835b71ead3a7f2a7b967cc60ed00b82fa7bfdf1b3d12925dfdfdea6cc395f31feddddb229fc459e2be33330dba8f1df624eaaca44f803e7c152321dd52d7fdc56c26b67070e0fcfe1d7b39fbd275ab6ef79ddcbfe7304758ece575779740d7c73bda482a12ce28773f50ca5891dfdfebfdd3aec6d11d599bc3b9a2bcd06240762c1ceae73edef9014eba75dc5b579e6bc1634991e63f77f270c3616f79cd3a87a1bf2b38332fdbe83b7fcc7379ee12d61af671f5efc54fb197e0e058fdd01263ff896d7b5bcaef5d57326be4e3ffded9dac7d43c54352d7c2523ed72db5f76c6d06596d654175bbbfe7ec65accaad8c51f705abe72cd42264b8f3e4b24d8d17e644f9387377ce1c8b9139febe695e649f02196e0b0bb02374256b18b90a341a2bf48a2e1e9a8749716e44c43dcc2e1e07024d07d6c27afa71a9e97045978ca28090ee7baf27c434aa0ed7f48efa2c857d3933434d55e157cf8da542e7cffe9fff8c381acb262453fa1d9a5d29ff7b6a0705abd2a72aeaa7fd2e4abd8c59354f4bccadf015a0d1a5d434043602211d05cd2e4d0ac7b8ef05de0602603456ed8e2810ddbe1e5f7c1cda0b708278e83651ecc9901f66cc2b66e336c70a2cf00ad4de04b83dbef80794897b8a4eb7e0e1b5c6454ee9d4dd05b4a8aa8c81f80a6e7c881e9ed87a023155ce5f0f08b30dc039f58c16c06f7a3a4d485d3a0cf05e62e78b9167e5a0f5bf68073360c72d0d205cbee82da1f01d706db28abb28cd320c30c4fbec8cb49ceae67b642dd426257fb71989a03cc4c98c9cf88a3d54bc347dddeed4413d54093afca0cc054ae71176711afbcb73b906aceb218538d0608fafc81000e861aade674637aaca8d3f5cf0eab381cc32c71317cc6e029d8269c5c64cf9e6520b9a6698ab9a2f6ca458c097cdcef055f302651419f187d4e018e1be9b30a4bb32038d8efd3992c96dc0a97833b936e4cd38fa48b1e0ea41b8cfab414b309d5c1392299c5ce4c6cb0c181cb468b319375bb7bde6be07d8198b69288adc4fd9d0a2605c2fd5ddc4050679969375a500ebb66bd138f69f7f79eef1c4c999b97c394ba6ac2fefe54bdc1cae4a18f1a8e98724b9720dce188ce945d648766c1754fc081d51bf4d34cd3d0659e37db8c0bd898227b6b7bce6ca3e152e7a534bb7561f9d296ddc29f047b71618e5ee7ebbe98924bb1abccfd20413e38c075f86cf372731ccbdc03dd0d8306835eaf6717f1f6223ed3457c3ea1e0d61852b56b4fcc354ed09fc044c3d3e1aa73b21680507f7777c460c9341bd279fc29788a2e290e5fdb4a567ebb222f0d221dc73e6c19cac65b4badbd02ea7af650ec6df4a8e3d346f933929e6e48d363cf470365fd8466977a7f06a0d54b9343c353d22513a234f9094c9284ba9e57f73b2011ab4535043404260f01cd254d1adbfad7c8a063d50bb0b906d86fc0623bf147c317e0c93570141fdc1b617b1d2fab001ee1fdd12dcb609b54781549042fc3239be1496418822deb89bfb8987749314b26ffe92cde1fdd01dfdb4c0ad6fe1c7eec82071e871f9d25490c0d5be0a7db817d0eb6d7424121b04f117f74a81dfee921925bf5126c76c33dab611b5f9c9012833f9a94d54bb38b7d9cf7472fc1c69580abe163f6d2eafd1428f850ea058a4b4a934fb3cb56fe4de28f068e37bcddcce163bff291b5c5a497f7b5eede81037eb6358fad9d195501bf4f7eb87fc062b0972e61cc533a8e1f3ee303bd4ef75537ce21e04367d3114fc6fce991cf4e45296206b89c0e720a7c734394207ecbe913a60fff6f07a0df7b7067631bd89cebd73a8cb64cf824b1fee1c42440b7a7e9f73888c8543fe62e34da6603d05c525b4519f147b983bf917aadf6a56bd01f0df61e7f77573311ed58f998332f6761f9a08fa47a8f7df07956d5a26c43e0fcc13f5ecc5fbb2833fdff67ef7da0a3a8b2fcf14b3a49d3693b84ee404c876091a4486c484c0c9148988ed95eb1d18d0c59752333ebc841cf383f67dcdfc1f9adab3bbac7f1cf8c738473be335ff7ccecec7ed17145be1916651924eae430f41a841330913f11ec8025218981a489899da6d3e9f0bbaffe745757d5eb74a083fca97772aa5edd77dfbdf77ddeebaa9b5befd593bcfd581cbc83c375564b16635f308b779eadb90b6ce72c18543c73e81398e3cace2daeb1ef23be6c59599e09027d9fb78f9996100d528ab4cb565d86fe6868a079d3560e0b19d7a36e366f6109ec153995f8480214747bb54db35df6b6ed6805a658fb25296a3ced96a5e88f4e0c1ffcd366e2cd46c61b68e389161359e3a1d915ee3b973206089ddcfbee07e82f0affcdaae4dbabcdda76be2fbab68a76010d9f437cf745db21e5c688cb8e49394e68eda28d679ade01a0e0231aa0d44b1b9f34f9b476d1ecbcb8fb8068ac7ed211d011985e04ae4797f4a9fffccb770bf957ea22b6c19d4fddf1a2272ed0ed7f105f82ef6983603d586f823bf248850fdf24fe28a659e9fc090fcb01dfb49ffd24d61fe50b312c90590e8f63fe1c3cbb02764935f0ac967feb5c0c3cc17bdb45a66dbbe0491718678a97a79b893f8a6996488052de9e8c12f0ec212fee893f0b30938fed6df9088a62da0b4f2e07c12555eba5b56bf92d44a06713f1473145da4bd37b074bd834f021648df6f2648d034dbe062b21d9e6df886d1ee1da893f8ac9682041ce684237082e442f61b0d73bd80b164715d2befee290f2434ee8c179e41e9a58d35655cf6619023d1dbb39992cd4aea227cd1e3b995a3731ec25fe2826be3f056722c602d905f207fb3a883f8a893b7d2e5c9c9d9185bda274aec52af333f1cdbcbfb72dd6655d908bf1bf89becf8f895c9d9f9fab29c84e4d33a03913be03fbb8bcfb30c0e6efdc79c858b3107984f9b86a1cfc81106465142ece4f83c0903f3dcb9ac766a3f923039cf794f716b7237be1d29ad6775aeb4af231dcf8c5a76d004e51a3e29493497e6969d977ae5b474c00b40466a4222d4cc347934e6b17ff83d1e847d4a98967f9824cec8aa1131d6274353adeb4f124adc1761b7397626019029d2d6f78a4fed0945f423ee5a0813f5235db05547cc0f9c0a30e32832392c2c79b7fbf7b6c6aeda28e678a5e66818d828fb65eeaf8a4c88f344691a1da29f24df93ea090af5fea08e8084c0702d7a34bfae7ad6f8d2dc07788521af3793c529e763e2e3da8d922e20d74616c8a77b9d2a40a73781710af783268e24a8861081bc09009152b6197cc2755cb4fc5698de370ae4b52904164a2532ba46f54cb80707e27a6d347e0e4088856a5c2974708b1e94d2890b77790b895420c4aad97d6ae5c7c870bd0db4b8e98cc527ba97a29f808d535f40a05aa2355be8a9327582cc4590b8e0c8bc5e9c46511fc24ed0a722a717612496c5d3959d5d4b6033d2779d2a027d79ef05848ae0f9d12654a272eb8e0aa626664e02b91c16633634cd27756f27f94f500174c615249341079174281c86bdfb4941982534ff4f0b14b0cad06ce02c8c0d3c0e1ab8111c8b5cecb4f41affad097b39da5d937e30009f60ce198f27c3ac0bab2738aaa1de17956c3c4f0490f876ff8797b2207a95d36b3113b3434dcdfe31b3388fe554a68a81f5f7a232f0d1f359dde2e14a3613f5235f11ce281932c213391c5f146c1933488803c119e4831a4186db92c78c53ed1943f6ec0df9d26fe4492ba5d747ca0eb484778b6ac97c2a35f7004674dbdb476d1c6335d2f0142031f0a9eb4f149974f7050279a9d6a4e0d8a0c248d529da423a023306d0868ba4ed3a6edca107cf0dddf1f9cb225d27bee275690aae7fa219d77b9be161ed5b5b0fe4e51a4f70b9c6c09b31701bea817028a725da387e1d963b0a1111a7062e828bc1ae150c9efee859222b8fb61d8f53a11c03a48ec1357140949dd6f074ec0235560f4c1fa27459ec869dbef22595546a597d62ec1cb9e23780a4be0a775a2289ade67561306353e6235955e91ce9fc6795747a0d0e4cbf963f2e4816f34f30e3ad8dd350578ad744955df461243a932b551918ca32233d47e28faac24ab5e0cd07f586b5593063d99f6a41061cac43ba0219ecad47f87c56122b8a43c456c52457521898106be895656b46bf05c300c16d3dc3206e4a1dfbe33238e6cab7d610578db495d1b3fb7361496479a019d545ca1470e2469e2c39d3917826c531a4e753ed579ecfcd2d26c631abe7ef7f5921ade037ca0b4dc89935826ba3feb2034b115ca760df6f84295796986407373b3c0261eed4ecc68e2a349a7b50bf569da2fe952e169202e57e8bcf02f22b36a59a138de28788a7242fd1fb60cd4e29467876b5538b4bd95a3c9effb5a1b7f0117757ba9f8a0ebdf1999272b698b9e136e17ef50ab7f5f34bd8cd3814a34f01155abf4464dc2efe5477fb834f95176c578a6d819e5c79c4cbe408f771f88a9a95fe808e8084c0b026ad7665ad45cf542973c04cfdc0d8e6a289903c12ef8d1efa061214009acfa6798752fdcee14de93f351cc3df04117d417c18616687e0f86d261f1ad10f0c08ff838ab6126ecd9002fcf2113431b5f816f7e2cbef757cb47c7b6a1086e7f045eb4c0897458733fc1b0650740710c98f8024f48073640d7bd50e484adbf866d1f839d855a17f89ba1f1171287d659ad97d6aef62e628feb1178e516b8f50e98cd47a8d043a6e96d3a43c1873743ad576e9d7d09fccb0b18f285e77f47954f6917d7371876582d0595ab56dc68cc65acfce224fe134f51050673aeabce0563be9656decdc239918301b0662e58ee1e39d66bb117de68e86b1296e4dbaabee7aec43855a125b455f01ba4552f9ea81bc14ba6d093668f68a9d48ad8408e955db6c2b010971b659118b198d03135e555d4398b33e6cecbcf36638c34fab12a75bb80fbb4cbe72ab616bbd7dee0fdfcec79836daedd32ce6dd9e1bdcdb1d492bf64b5cb78c26728295b84aeedd0c9e363388d957fea4bdaa4b3495cf5a5c4c7e7c7c19206e1813e2f0cfa0602a53867d47fee9c508d1302a569f84f577fbb6c57238d76f5b69ef495145b99b58df71ce9ec068b6d1eb63ae4ddf4916480708ec5275a26d1bd1eed7671f69ab5fcaa35a5fdbc8bacc69373d82620db5a525b3fb3c492cf6462133091ff0968787e457e392969c0b5bee131af7316e496aea81ffbd38e1e52492ddf0be39af8737c5498e81292d42ea0e1d3e4915895674dbdb47651c7334def916f28f868b7576e5c9a250f7fa706183eb8bb6d90265f68976a3c53ed942998c27d40564bcfea08e8084c1f0229d327fa9a925c840bd8eb893f7af608fcc383a469db9e84f6afc0301bd74180f12c6c7c0d172cc14cfe75f6f30f42f3319c370aee46686c80c50c98f827063e93c37c9873db3fc16bf88430c023af40118f935a3ebc0ecf6e83a011dc0fc1e38dc405f4fc019ec78f3af17185f3627401fc7c46082b363e07dc305980bf7e3d34d643ae01ba385e3afda0d64b6bd7ae67c183d232c1e582d9c3b0ad850815fea3d1d44b9323d8a2d62bd085d66516413daecdba43a469ca17cb54276fcb010edf061b730b0aaca620d779328066ca8679983c81b3c916318e4246aaddd9d2d63312c625e44b972d73303926d97f6a42d514de034776775da911c2b8aa49088f4b02a874489a3dc4f071f299753e8d919144c248bd9e637d7e48cb2c282ec84af37b0f7bb1bdb80c1e994843adf9c58e62f44743fefefd3b9bf859a5a20045bb90eaddddb4df3b1006631e5b5a5eeac8cfc932a562b3dbdf6ae91c091b72d8f2654b4bd1c51fe23ab6ec4649131026a1ba301a120d994ee42cd1c60706bf1a46f6f0d7a78911835ff69199158161ec2921793bbb09c577429acd4b6fd7eea696eea1a0312bbf72d9b2cad2e21c4bcac820caa1e043a56bb78bd6bf689b369e9dcd47fb4620c59457c0641afcc7f7eeef0f81219578a6143c817c725388cf757ef0ee7e2e0429799577d5e1269adafda56d27bdbd40c147c059e3a8ad97d62efa78d6d64b9343c3533490bf511aadf83b2d60175879a2b67ca941caf14cb753a831d5fb80a4473feb08e8084c2302332e5c883e4fd47a22a542467e9ce0434f488924a4c8f3c2251ed5298c1f8cc1c7299f2299f1f171218f19a1487e148a8e1e3dfad24b2fa9ed9c760a4e219d9507d00307ba6274d5ae848c51d81579ff2e2f2c82952c604ce99457594bce25e469f2d1636d28232ca7b689f154755d05054dc200d4b9418a5512f792a7e1b70d64d9fe1b5e9835a4b450dd2e7609be5f053cdacdb0670f346c80679ce0794dfc0e2b4ad5d4ab9623e8a7b657324f7dd694af66b3d971c912e0d7462de91cc781c3fd9893f173fbdfe4bf13a9669753ec0c9b9591363ad4c9f546c936b682cd0a7bdbc48fe89455d764047bf6b573510e3e47a3a325c9b547a157b844cbf173aa3eaf723f7b9bcd6634629077a457face6aa4baa25d113abe9b6771b74b7cab3ee4e3a2b56cac03577e83021c592d314bc541cd1a43611f78d4659d31e4f9b72d72bf99d62eac6a63d89cccb45060d4ebe562244ded42d9aef8f6d3f024c6a485fabd9ce21f15de164d3cb5ada4c9279d9218fe11b989e26377aebbd7e1f7eeddd23160370615e344a35d938d674dbd1a720468e8e333d2104546533ef228c7f364762ac4ca2f35ef0372063daf23905c044e9f3e9d99999992923263c60c83c180474c78895a308347f4acd005c21408045e7df5d5458b16211b32e051915253539182454246c80b3c023f1ed549508774a2984ff23c12d006a444ec1128c23142c4cca527dd25bd740caf4e09824bbaeda7f0b2a63fad6ad4337f8486b9f0b1078e9e810565e02a27dfb17ab636e6bb01aa4a979fc0381bdd0e737f37d777c66f9a9dc314e4924f35b5fc87f09951dd9ecb8f405c8db68a9a45c630e4b2c53966c34067cbd6c8faf3b8d5f4c2a42160773e7aafe3ebcee626f20e64f274a5fdbe68165f2d76d2ecd7e9d71502ba4b1ae96ed91bca084dcfe808a811c0cfe38fde0db7bbe176be2c780e76fef64af347d1b29181fe91109b938f7fbc9de140cff1b66fcb1fbd02ede141b9720ed6e25247166fce507787ee8f7e2b1d43e61124acf84afb7dd10cbf5aeca4d9afd37504ae4f04f428e9f5d9ef17dbea25b5809fbbc2dd4df7089f63bd5839d35c0fdfdb5bf14d76c8ef95bf839f66a571c45f69f6c431f53217f12f496194f2cefb321ba3ab4b1081ab653c5f2d762608bbce76ad22a04749233dab47492350e89904103890d85bfe04244d2bcb60afe6acbe69d5194ff895664f3c5b2f6f592fe7954ddcbdbcba756d178bc0d5329eaf163b2fb61ff47a3a02d71a02c23ac56bad557a7b74047404740474047404740474047404ae22047497f42aea2cdd541d011d011d011d011d011d011d816b1301dd259dac5fd995f0e20bb0b26832be04ca9f780e7efab0922f89f295a2afc66b76c5ea0756b92a9269ba8dadaaae72d8552269f418c6c4ed616a5caeea32b59a1871d10b1beb74b9aa58b2f7cfb79c12c2611a6c14f43249c3a1acbace5553a104f4cac1791a209cbac8c4c7f3d465eb357404740474042e0d01dd259d0c3f7b15b8dd701b3b19dfa4e5b5f0bd7a68bc4bc99734f94ac157e535338fc9b1e227811470b35575ee154ee6a29a5477675d6579456e649b2b49088d2e95f3e7c4ed61162c62d93247714cf538179679252c5b384ff80a781cbe692f4a088769b042d49b952c1c9892b262b6143fa91a9bae189c63cdfa96ae121fcfdf9281ba5a1d011d81eb19017d79d364bdef275bd4007f988c75b2f2206ed8c4efde24674ca27cb9d8ab34cf7d718cbb61e6d0096facfdb90b8a18eb8c20e3c18fdf4f29d92aea8bb352fc3d075b6225d2e84ae189db3316e6774c927657520a525df3fcaa4db6556cd34c481487649b11d57bc6c4489b195da212b265d58509e52ff5cac0f9129b96b4ea898fe7a4a9d405e908e808e808248a80ee922688d468827c17cb36ddf22fd6aecb5d8ff334736a9db8d917121376f72202d8ba5bf3606228bab7bb5842a3472a463253b327f2d2015f1f6b6de413114b323cb3d2838ae198f68bc47148ae2932bd76e774e330ddf2930bcd344b9bda789e666374f13a023a023a023108e82e690c1cd48b311b6c7c1b9cfc8cd263cdf0fd6745ce9f6e80bb96c06c230483303a0e87df1437d86c781a7e740fa1630a8fc25f36c1535fc408270c7f0d061ffcea1342d796df005b1f03663661c04f816efd0dfc7a172cf921fcea01d8db0469cbc155428ab88fe1be274806d32b9be08ec5803b93878761fb6bf0f23681ac715cf213d8f85dd8f42a943ea46cd763ff0a6be6c02fb6c10fd7c23c5e7bfb6630dd09395fc3d30f46f7357de25fe1ef16c2d729103e01f58f4655fcf45f617511fcfb33b089faed52a6ca75dbc279b3ccc61917c2a1f189c099235bda0d6bee5a6484f10948099df96cf3ce7da240fcb4a0317d26bf4b7dc66c16a76ae2f746fd3eafb4d525bbea0775b9a60bdd0777ee6c537e4da8cc7d5b761af477ec93ef518962d5f424d8c39b3b1e3254bbee2b65b3b1078243ddbbb7ece4ecd56b56de3c7274f78e7d1c61b15735de55067d9f6c3944ae26c21955ee07ca192bf2fb07bcef6d6d89efc8da1cce3bab8ab34cc88e95433eee93a60fda011cf73456e567e1deb548f39f3abaaf799fb7aa7e8dc3e4eb0bce29c8358f7477749e9fbf94b58647b86d6f354754c4e0c0dbe9fbe4a3a19c8ad2587bec55f57795998f783ae75655e467122d81be43a7d20a0bccc1431f36455067aaebeb4a6dc1f3338c13be8fdeda1e894a3335f5750e6bdf810f9bdbc50e8ad14b5a42c5c151e32e2fcabb01db1b0e07c72602fd1d4dfcc6b05a389ce325e14ea87c7238d754159a520287fe8728a5e0ac811bdf418bc74f1df9d270537981ac1f79a9552b562f66728ce8e44e047b8eeddfe1518c2c41377fbc8c78cab48ad9248ce7c828514bd7293a023a023a02d383001f41981ed1d794d4c6a789df769a037cf95ee2868d0f92d6bdf847687402fa6c470ec3d920ccce047b2ea1afc1fddf1b08bddd039e8fc167809b783a29e3d39a5ff20c6678f7ffc0004fd190bf123c4f137ff4d8c7d0d2061973e0a19fc3634bc06c85cc4c703f42fcd1d35d442f733bbcd840a46cdc01aec5e0e7a0e56318cf84867f8435bc0fcd6b501ecc374046263cfe738d76dd60810c065e580ff332e0c83152d13213bc5fc3ec22f8e14f24394ba0be0a8c01e81987dc7278a656a2d7c2dd480fc6f3476b56bb2b59ab25ddefeb3f3b3266c45dd8cd26f4e9fdb87daf3f946a349acde9923470bafec67daf9bcd4227ccc02c75ddeb7661baa34c9a6b6acf9d6bc2316cb0dca09a2b6aafa9642c30c2bd23f88211892a3a93247b30906bcc292e67b3c7877d43fe90312b7f99cb01e9e9e634a3295df49420dd6436a659322d680ecee1c82e755632d6f1e1217f18ccd9acdb5d1631539db195b9ffd6e940cfd3d7c79de4ba7d81147316ca6157af73a23fea1fe8f69eec09a5999972577d953d3dd568b2e276aaa65078c2925f4efcd1f084c1925b12597fa5c0213ddd94664484d13f56d8939e6e34a66555ba96e567a60ff50fe02f20dd987a7a309866b22eaeaa96ecb49716e7190da181e109a325f796e8bc5fe69685481fef97fc5150e8a5e3e070353a4b19f48187fafb7dfe7193c9388bc78d82836808869d6d652bd6391d99a6b4339f1d6c1ba5e1ac8d1b7690c968cc662b2b0b847e0c8bfd0850e1fe5e65418e3134c49dec1eb960cc732c779729175349682046970bcfa84a3197acf1ac12ac13740474047404a61701dd254d18df6dbf80efde0fcfec2015d85b60c993e066207c1a1eab85871f85ffef7d495011ac75628c0c362e87479f84f54fc0cae5d0f80bb134781ed66e80f52eb241fcc6ef93a8672429e43ff10064001cdb02df7f029efa7fe0e516c2f8c00fc12f5568de08df7d109ed849ae8b8a81fd09386f84d163f057f7c3534fc033cde8a8c1ddab246ed5392247a137ca78169e5c0e0f3f4f08a969f0fc1fd064a8a887253cc79a07799ffb4ff03bbee17ffd7db1de637f0799001fff9778a93ed9aabe539a8381b6c3cdbfdfbc75fb3b1f9e441787a4c1f6ed5b366f697adf17861902853f1efd68f75ecf5e6e185fda4ff41cc6ecdefdfbf7b71d976270bd9efd9d5c5fcfc9ce0845aaeb723ac8eef6ad88434c52d2936b0f80cfbb77d3e6a62def79d13732dbb2612c46bbf212a0bfd3b369f396373f3c8e2d34db6e8ce5965fd99655301891e6f6febe697bf307cd3b9bdefcfda6268fbd7a714e1a04070ebfb97567cb073b36794ea29cbcc555a97c2075a0e383436708c081eebddb3ace6247a64bdebe128731715749ba3d7eecb22defec1ec1819562f0ee6e1f088131b7b846f071cbcaf24c183dfdfc83b62ed4975d788b40b65595e61ac1dfdd89b15c2129f54a74a55e7bcd52360b26860ffef77f34bdb37debfb442c9fb471100bc743b32bdc0dcb0a70e7ae937bff6bc73e699ca870a6e16697fa4beac7e3623fdaaacbf03f9cd040f3a62dcd1fec7ceb436f1852f216f2af2944ddb1a7cb8567ac56f4c793fafb524ad7af750474047404a61181ebf1c5fd53fff997ef16f2afd44560833b9fbae3454f5c94dbff20be04dfd306c17ab0de0477e4910a1fbe29bec89e253dea6139f1d5ce7e029b5502312c96590e8f23fd1c3cbb22668378b5fc5be792c993ef6d17a56cdb054fbac03853bc3cdd0c3f7b9be467890428e5edc92801cf1ef2e29ef8b3003355b143895d3cabf54618fefd39205b3575c16bafc1574700dbd9bc061a4ae0c74fc2c31be0dea5c4abfecfdf91e677dd0b45e5b0b6083601acaa22adfbf5eb11318a8c6dfe8d68d308d7decaf1254643ec7f4516b4fd82acce60af77b0172c0e140b5f7f71a8b35756c6670f799af977e031745b553d0656033d1dbbb949e849b3c74ee6864e0c7b9b5a7873f8f1157feb70e40ff675bc23bcfce54e9f0b1767676461f837ea46c5d83e9fbc33f7f7b6c5b676412e6e113fd1f7f93191b7f3f3733505d9a969063467c277601f97771ffeffe3efdc79c858b31079d061c5a4890fcd1ef4c930e10ab1560ecf839feedf6ffaa61fa0f780f716b7237be1d29ad6775aeb4af2710de0179fb6412f9cf09538acb99515b6de76a82ac16119f0ee133dd2c4f5962fc84408874e74881303a2e3441b0762220953e72ec5810981ce96373c128e9aed2a219f60d0c00da9c8afd18f3999e4179e967de7ba75045a408461462aa1d192a65eecdf24e2a9569db4f1ac16ad53740474047404a61981ebd125fdf3d6b7c616dc100576cce7f144afb473c72547802d027c54767d869152c229bd8f253bbf0b89278326ae841886b0010c9950b11276ed12abe0492d3f15c34ce370ae4be2c92032d1a915d23718b18c4d7331380970fa089c1c91ac4a852fd1958c9bd47a45f6513820cd04ddf4ba487b7933b87f0e8bef828631283202bac5c2f6a24d1fc3332e58f5033809300723bbefd3bc2a9463b110672d38322cca4c278f76c14f1229714ef11c007935b6ae9cac6a6adbd126a76297a9e9c9b5273c26f81ba25a744a94299db8e082ab8a999181af44069bcd8c13267d67253f4a590f8457c42a890622ef4228302855484bc1203371ea891e3ee487a1d5c0597c932c7168e22054d0b4872115435ff7f492337acceda27fc9793e1d605dd93945d58ef03cab6162f8a487230c9e23ddc5ce82dc9bcb6de760be19038b5dfb44eb34f0477e4d1c86f8061b707008c92c8d130a0e848b8033119e4831a4186db92c78452c35e58f1b70ce83266e4492ba1f6d6623da121aeeeff18d4956a58486d035a7264dbd6813436a24054f0dd5c91dcf1a0a74928e808e808ec0b421a0e93a4d9bb62b43f0c1777f7f70ca9648efb99f5841aa9eeb8774def7fc5a78d8d6c2fa3b4591de2fc87cd3d98ba016448f4dae6bf4303c7b0c363442c3cf616c145e157c3ae450c9efee859222b8fb61d8f53a11c03a48ec3328f9a4ea7e3b70021ec1499c3e58ff24e157a7da06c80bc066991f4c78547ac58a06c0789132ed1203a5cf3c44dcc8ed6f88e5dbfe1dd6de01f3eae05fd0ac51786b83b25ecc35711c8c66de8106bbbba600af952ea9eadb486228557aa91a238f71546486da0f457d39b27ac600fd87b5563569d093694f0a11a64cbc031ae2a94cfd7758ec46c125e52962932aaa0b490c34f04db4b2a25d83e78261b098e69631200ffdf69d1971645bed0b2bd05524756dfcdcda50581e6916664244c0a3e113d79e14b94b2b19e91502a5e5ce726c53f7671d22bdf3607705c36416dc5b37230542de4f5b05fad4f41a88ef193a2ffcebc5ac5a56288e130a0ea2ea50ff872d03b5eed21c876b5538b4bd9513e9d2848908ce7d5f6be326f493ba1f077b7ca1cabc3443a0b9b95992197b56f4975848ebdf24e0296a50ea4de6788e6da17ea523a023a02330bd08a85d9be9d577b54a5ff2103c733738aaa1640e04bbe047bf838685b8d00956fd33ccba176e770aefc9f928e61ef8a00bea8b60430b34bf0743e9b0f8560878e0477c9cd53013f66c8097e790b062e32bf0cd8fc5f7fe6af9e8d83614c1ed8fc08b1638910e6bee27d0b5ec00288ec130e2381ed8c0bf4077c2d65fc3b68fc1ce42ad0bfccde23456f687b0e11152d12ef7830134f4c688575e0881528c080f1f864d91086e17ecfc8438c4e8679ef6c44c4850d607ae6f30ecb05a0a2a57adb8d198cb58c9e224e03ff114653598735d752e18f3b5b48a01b981c1005833172c778f1cebb5d80b6f34f435094bf26d55df735762bcabd012da2af81fd2ea194fd41de12553e849b347b4546a852c2689242bbb6c8561212e37ca22316231a1636acaaba8731667cc9d979f6dc61869f46355ea7601f76997cf556c2d76afbdc1fbf9d9f306db5cbb659cdbb2c37b9b63a9257fc96a97f184cf5052b6085ddba193c7c7701a2b1f3694b4496793b8ea4b890fef2853ed916a2bce62a0340dff59ea6f6f17fe3d4396c1b6cffb98ca3ca3113ffc7062b7f0cf02057fe4d6c48173d82620db5a525b3fb3c492cf64a20a81958ac357e8eb434a1a70ad6f78cceb304c5bbaa27eec4f3b7ab4e57b615c13370e1037598af4636feb495f49b19559db78cf91ce6eb0d8e6616f86bc389d97706bf497b65e99688dec14f0146aabf4266d3c473e79a161a64ed211d011d0119816048843a0a7c91128ba1d1aea893f7af608fcc383847fdb93d0fe15186683cb09c6b3b0f135b2fa6726fffafef907a119e7f6e1baf846686c80c50c98f8271b8638c37c9873db3fc16bf82433c023af4011af5c2d1f5e8767b741d008ee87e0f146986d00cf1fe0f96df8bd2852e1bc14f3f2f39971fed8f81c70c36401fefaf5d0580fb906e8e278e9b243e4112bd034f40a05cac0a52462177c7c9ae4ff8c96c8d26fff2f9057f161689242a7b2c298acb7e500374426fd1514584d41aef3640017ddc88661987828d9b87f13eb2864a49a9d2d6d3d23615c42be74d93207936392fd2725544d21fe0849eeba527484705553c43f8a4f87a4d9430c1f279f6be7d318e9e9090cf7f67a8ef5f9212db3a0b8202bcdef3decc5f64ef06ca4a1d6fc624731faa3217ffffe9d4d9d62657252b40b29dedd4dfbbd036130e6b1a5e5a58efc9c2c1359c4d4fe564be748d890c3962f5b5a8a2efe10d7b165374a9a803009f985d19068c874226789363ec819d71e2cd44cdece6ed2f1be1331b37c07db0ef791e54813dd47c4d029ad5f0893260e9dcd47fb4620c59457c0641afcc7f7eeef0f810197d9517180100a12e2eb9d1fbcbb9f0be1f2a3cabbeaac14f954dc28fd08b0bba9a57b28880bf02b972dab2c2dceb1a48c0ce2481693babfb4db25b25f2a9e925ad53849da788e68d0333a023a023a0297098119172e449f576a9d915221233f4ef0a12da4441252e479e1128fea14c60fd2e0e39a4f91ccf8f8b890c78c50243f0a45478f1e7de9a597d4764e3b05a790cecac3351e7020121ae475d6ae848c51d81579ff2e37a40856b28031ab535e652d399790a7c9478fb5a18cb09cda26c653d57515143409173f9f1b545ab5f261b82908bf7d5b645ff234fcb60170d9fe1b5e983534b98562b595d0fa7348e560291fb555a84ee4d266075caf845f1bb5a4731c070ef7634ec6cfed7f93ffde647c017686cdca481b1deae47aa38c36b682cd0a7bdb0e093e6859754d46b0675f3b17e5e073343a5a925c7b147a854bb41c3fa7eaf37a158eb2cd66c34f60e19cd25ee93bab91ea8a7645e818916371d74c5c523ee4e3a2b56cac0357de83021c592d314bc5c1ee5c77afc3efddbba563c06e0caaed518be229ec038fbaac33863cffb645ee4fab99a97a79561a0e3686cd490bf57b39056e42252d1cd49a0985269f8099186e11b9c4a4ccb45060d4ebe52244a222761cc234e31951add47b59c67344bb9ed111d011b874044e9f3e9d99999992923263c60c83c180474c788992318347f4acd005c2845f4a7cf5d557172d5a846cc88047454a4d4d450a160919212ff008fc785427411dd289623ec9f348401b9012b147a008c7081133979e64e1a64b17760d4bf0a2271aeb8c0a8ddda3989a2987a00b76695591b344f234f9a8745bc242e29b24cc498d681432a3bde0959631298a622e8be0a7f793f8ecca7bc8eaae6dff27a6702a17cc22a7db61eeefe6facef8172cbc05bf9c8933064f9f50bcf6d696d8cb7965bea8c833e88dbe3046d2a17dad9a9569f4a4dba3a91d2dd7a40f0ea2afa5e56e2135b65db2ea832acf160b07bd9dda7264154996860316e1fd6622348c0eba1a64851074c02a6a1619c390cb16e357fe073a0fc6f747e3ebc5521a0e839cd2899759a28983ac5c96a5c94f1cb788309a49eafe9a563ca3f6c48e93cb339e23daf58c8e808e808e401211d05dd22482790d8b62c90c04217d8cdfc38ae3884f02c2c840ff4888cdc9c73f9e331ce839de264e379ca4eab4145f69f64c4b2313134ade7b27c68993638b4b1d593cf35077c7d6c8f79612ad7e5df07d2b78eae3f9ba185b7a237504ae5104f417f7d768c726bd59381f00d7401fde15e7034f89ebc4f7f6567c931df27be5efe013af9f6cce2bcd9e64b72ff9f2f84914304a79a79e7c7dd7bac4e4e2a98fe76b7dbce8edbba610d05fdc47ba538f9246a0d0337111883745216e45adc2c15ecdd9815aac978576a5d973591a7d494a3427515c92c4ebbb7272f1d4c7f3f53d9af4d6eb085cad0890f9aa7ad211d011d011d011d011d011d011d011d011f81611d05dd26f117c5db58e808e808e808e808e808e808e808e0041407f713fd9386057c20f9641eb1b53583e4f13f9c473907e0a5e7d3da63c89f263e426fba2f661b8b3104221484b83ce3fc366e9bb57347a92f5af84d71f82d3efc3cf5e4fb26051dc74cba759cdae585d611af66e6f49e89b03342931741b5bc566f94fb5c57c29143968f498ca89dbc3d4b80ac3673fdb77288105fabc7667f9fcc0a98eb6386be8632c99b68b8470485cfb1471485cf0249c975daf80db5743d985c9e9c7b2eaba3986a18ed6982f66e028bd52c6497cfc998aba42fce6ed047e1a67ecec89d6439cc84ea3c79736e5d2c47fa75316cd57986ef934abbe2dbd347b74fae546408f924e86b8bd0adc6eb88d9d8c6fd2f25af85e3d34dea5e44b9a7ca5e0245fd7dc4570a8af27c706dc2c554a34ba543eb5f363cfc12b4f6b54a9ad82c545e0be47a32829a4e9964f339299c7e458f1534a8ae1c556d5b95738195aadb8f4ba3beb2acb2b7223db7a49cc34ba54ce9f13b78759b08865cb1cc531d5e35c58e695b06ce13c6b1c96cb5394100e145334fa65aa3850244f999c54bd1aed521924e29695ac7e644aca8ad952fcc46e6cba62c649ac59ca2b663ed9cda31813cb2e722c8814d3e811862965a8fd42f99d4e49783ce6e9964fd34dd14bc5812647a75fb508e851d2c9bace4fb6c001fe3019eb64e5b89f8d615cc99444f94ad149bd7ef941f82340d10bf0821b37298a8aa6d1a31c53c9ddb1028a52a1f617200561c5ca7bf680e746e0fe3c155953e19d6ef9345bb82f8e7137cc1c3aa1f86c69ee8222c63a23c87870338129255b457d71568abfe7604bac441a5d293c717bc6c264a32a61b724a514ad6b9e3f71762d1149a0258a03459546bf4c15078ae4299393aa57a35db10645713b6362a6d2edb16262aec81666172664b712bef4ca182731866a5d709ea63f1ec58fa1b91a5c2cd9a44d4a34ba543eb533b55f28bfd3a9498fc33dddf269aa297aa938d0e4e8f4ab1601dd254db0eb4613e4bb58b6e9967fb176c9eba197334bcb4e1a5d5e37c1fc38dedca3f77759a53db05ee1a5ca0a93909d6ef93413394f33a72ec3cdcd90a809849a594661eb6ecd8389a1833bda6444ccd2e8b15ce46a6af6445eb2e0f7c126fd523fcfacf440d4164c2725711cb4ada0f5cb9470d0167d51d464e9a5b54b324a869bdd39ddfd38ddf2a5465dea996c736124bbd8467a419048a35f843e7abf68ff4e2f4205a5ca74cba7a89de2fd872645a75fbd08e82e69627d3766838d6f83b388701f6b86ef3f2b56fbe906b86b09cc36423008a3e370f84d58ff3a296a781a7e740fa1630a8fc25f36c1535f907c241186bf06830f7ef509a169cb6f80ad8f01339b308c9e85adbf815fef82253f845f3d007b9b206d39b84a4811f731dcf704c9607a6513dcb11870e7f3f0306c7f0d5e8edd895ee0911f35ec7c1dadd7d02baf95789e668f5aefbf1f81596698c9ef555fb09268c8c00db376c1ac9fc0afee0320116638fa2efce43732e55a766ae3f35ff0ee73603809f58f46abfff45f6175116cfe33fc2dce07d094afc61360d7e3d0d5043ff91dfce61d58741e7ef820786b61d73fc3ae97e0d754a799a972ddb670de2cb371c68570687c2270e6c89676c39abb1619611c27a385ce7cb679e73ed130fca4a4317d662a79cc65cc66ed00f8fd56bfcf2b6d1dcaaefa415daee942f7c19d3bdb949338cbdcb765a7417fc73ec55e4a6a7a12ece1cd1d0f19aa5df795b2d9d86dc1a1eedd5b7672f6ea352b6f1e39ba7bc73e8eb0d8ab1aef2a83be4fb61c225713e18c2af703e50c6ef904fe01ef7b5b5be23bb23687f3ceaae22c133f2a26423eee93a60f70d2ade39ec6aafc2cdcab17b79bf29f3abaaf799fb7aa7e8dc3e4eb0bce29c8358f7477749e9fbf94b58647b86d6f354754a87170d4b8cb8bf26e40f9e170706c22d0dfd17428b5f1aec5e3a78e7c69b8a9bc40d62e5abf9066e16b03150e84ac61270f885afebe05f7dd5d600e1efab029d2ab4c757d5da9b5efc087cde7f2562d73e46692f6620a8d74ef7a6ba7d0f753d04bbaa2feae32f3114fe7dcaa8a7c5e5aa0afe38d8f4ec51d6f44a31a375a3f6ae0c96f14acd58fe78868c09d71f9e470aea92a34a5040efd0f6919457ee278eee478a9552b562f66728cf8639a08f61cdbbfc3a3f865f04cb283969ddae34d56690a599a3d1a7a0ff66bf78bb15afbbe41ac481c9fa38bd6d4cd9de1fbe8aded184f101253535fe7b0f67d7ac2baa858e3bec433a9ec87557fbfd4ec3bb279675bd53d6bcae68e7ff2df4ded834cfddfd7a678f76c17ee00927cf93909f79fc8af5a2e57cf5ffd08e82e69627dd8c84f703ccdc11c064adcb0b113d6bf0d2ffe11dc0c7a8b70e43064dd04f366833d97885bb301d63b8997d3ee819134b8f956b809e9329774cd2f61bd8b44c1fef02a0c94932a1af287c0f33471cb8e7d0c3da9e0aa82877e0e6367e1332b646682fb1152eb741718f381b91d5e6c809f6d838d3bc079230c73d0d607cb6f87867f04ee106cee229c9a49dbce95da7a7f9bc8bea3b16a68f668ea7de13128e23d0f94f1f8cf45413b00368f80cf0738dfa1681eccb941a68062a7363e7f81b361a82887676ae165c171ac85bbabc0f8157c7006ea34e583169ebf046b26e4e6002c815be691de59b504b62f8139f86f835f665b4c96a959ed2ec52ae1e181fe406a664e9639d56c82e0883f10c060a8d99a996e4e8f5470bafec66115c32ecc5217c3170c1f87cdc20e57f6dcb926526ab9413557d45e53c95860847b47f12450d19363cf71b2d59331a7b83c0782c3be1183252b2b7f99cbc19d4837a719c7d3454f03d24d66635a4aa6056dc63ecc2e7566e30f6378e8bc39cb9ccdbadd67df6ae67d55be998a83adccfdb7cb981408fbfab8a1a0216b8edd9c8572d8d5eb9c39e8a60f74f70ea7cc2fc863ca5df561bf2fd568b23205e8a386272cf9e54b11eef084c1925b628756c17d53e1e070353a59dc822ae4ebef9f306565679ad2d1ce7430198d46b692b713db354b68d77cdb72ed7ea1e1d012d2b473c7599396fc2fda0683c5d9d6c555d56ddb857f4eeca5c57946c3487f7b6f5de33db9998691819eafce0567665ab3335284e1a28d3f4d6f5b6f7abad1989655e95a86d80cf50f9872b2d38de9938c37ec12156eb47ed4c61397d569f7a3e89262d8dc56b6e2bbcb0ad260a2a7e3a3b6d1dcc5dae32430153c1d5c4b6785fb7be417111ce27a466c37e5e73996bb87fa9b0f517d198a9ddae36d47e45f07c5a8a55fd2ecd1d4eb7455698fb74341cdfb06ed77411b6f27fd13f9b9b9b73819af87e34d666e59c88fb7137e6381c67d0979b4ecff1fa3c97883056fcbf69b6eccc485af4c89bdfd58de8d66d300d97e5a3b25e7fef32deef8a7dd2c9d9a1c04749734611cb7fd82041d6b9f830df5c0de024becc41f0d9f86c757037a6bec93f076232fab08d6f2fee8c6e5b0592ebc965c04cfc3da0df038328cc2c675c45f5cc2bba458a490ff440eef8f6e81ef6f20151b7e09cfb8e0811fc23f9e2497989a37c2cfde06f66978bb018a8a81fd09f147478fc15ffd3d29ad7d0136b8e1ee55b099af4e488a44b1f3894dda7aa7ea9252edd9ae8dcf920e989f050f3d0ef35261cbff0274238c4671b3a8fb5e4787145adf8e69c0130f68db49c3e7d5f7e1b78df0d7df175dd2c7fe0e32013efe2ff0be0e9af2b5ed2f846edcd97d012ca925da3195d7c2490c6506e1531c045ac956f51de28f060e37bfd1cae1e3b766edfda5e45737d8be7d0b06606cab1fbd7f8eacded18f760f6599ece54b99cc193d87f79d1801a3c1f04dbf14cbe8f5ecefcc58306be28be31245aaeb723a8c103adeda2c11c4b3929e347bf8ffbe007cdebd4d2d87c0e65c77bfc36ccb86cf62f5ab1e4cfd9d9e773058c5d43dea2e36db6e04a0b9a4b66515c41fe5f6fe5eeeb5daab57a33f1a1c38fce6d656a2c9b1e2516741dee2aae1117235d0f1c19739b595b9a6407ef76aad0000400049444154f7de3f9d29bcbf323b5d70df009438d86b96a23f3a317cf04f9b897711e917c96045bbe8fda28d83bddaa669a7fd7dd11553c8f736b5df52e0cace2daeb1ef233e7459599e09027d9fb703b3da8cffaa05beeadcdbd2a9e14e29e450f5b66d270091e43fdcfc662b67bbefb1fbb3530c473d71c79b1a37410680b21fed166d3c41bb1f011822693c34bbc27de752c600a1937bdffd00fd45e1bf7a957c7bb5794a7882adba0cfdd1d040f3a6ad1c2a625c8fbad9bc852570881f3644b72269db491b6ff6b6edd84b5348547b8e698e739bbd4ffb3e30089af70d7bf5e229e1b3efa3ae9bef2dcd2ebcc5ee211be8d9aa4a738de0efee6c1f6c6fd7ba2f51f0b472c313564b16635f308bff27d49abbc076ce822f1d06bfa2c093b4fbcf14b0d759af2204ae4797f4a9fffccb770bf957ea624705773e75c78b9eb8bdd68e1bbbf32fc1f7b441b01eac37c11d79a4c2876f127f14d3ac74fe8487e58021b3b39fc4faa37c21861732cbe171cc9f836757c02ea9069ed5f26f9d8bc10c784f7a906cdb054fbac03853ac73ba99f8a39866890428e5edc92801cf1ef2e25ef09866aa6269123bd5ce5be7c7d31bad3e598e6a0f059f03bb08920d8f11ed7f795b4435aa846f5df41220be9d6a7c0e6c80ae7ba1a81cd616c1268c6e56915ef8f5eb9248957c9afde7fcc064c3fdd5a4fad90c60974009f66b9f723d9624d736ff46ec8311ae9df8a3988c0612e48c26bc7dc385e8250cf67a077bc1e240f3e0eb2f0e293fe4841e9c47eea189356d55f56c9621d0d3b19b93c9224f1a253d69f6d8c914ba89612ff14731f1bfa78918e5ca0be40ff675107f141377fa5cb8383b238b05da0eb5f3c9bb657f6f5baccbba2017e39a137d9f1f13a5777e7eaea6203b35cd80e64cf80eece3f2ee7361b5ce9d878c350b9147988fabc68159808f60183ad12146bb64fda2d92e6abf5070a0d9898341533ec270c07b8bdb91bd70694deb3bad7525f918befde2d3366cc289eea19c822cd6797fe1edfeb33da78fb4ed16bea3a529278ede100f19ae7c6be53037f8e9fefda66ffa077b7be38c37356e5813f5aafbb17c4126054fed7e24b6e07031e62e5d8ab94067cb1b1e2fa161d2945f423e21a1d1ef543c7332c91d392dfbce75ebc8d0001c213023357297e635c51cb4ed8c83674ced492fa8f668eba58e375191f2be11c74ecd7102bdad277c250e6b6e6585adb71daa4af00618f0eec37f9285a4940f14fbfd81106465142ece4f83c0903f3dcb9ac76663bf8e0c7092a4d873d2ee3fb162f5ab6b0681ebd125fdf3d6b7c616dc10edc2319fc713bdd2ce1d971e8c6c1179fa76612c081fa6919950007384a09948d6fede2b013b0c61031832a16225ec92f9a46af9a9187b1b87735d923d1944263a3f42fa6654ca49e7b918f4c357f947e0e488343f2b15be3c2215abcebcf91a76a6f26a687a5562a8049a3d2c6f67fc7187cf9949537c3bd5f8a0c0a68f49a479d50fe024f617ce88789fe60d11e534fbb1df2b58b8dd00e8f57ec4406309b80186db68f65a2cc4590b8e0c8b0ce9e4d128f849b42a517a9c07689409736c5d3959d5d4a65ed5a4a227d79ef098e0e788d6e0c34f99d2890b2eb8aa981919f84a64b0d930f617f69d95fc10653dc005539854120d44de855020122f4c4b992138f5440f1fe2c4d06ae02ce01bf848a2e10306ec0c219963fa659276c9440bb5d5fc743b490d353f1239cfa703ac2b3ba7a8da119e67354c0c9ff47084f9d0075b061c35958b995cab258729ce61e6cf6b7963b79f14a9e5c4d78b6eeed73dbda426bac0ed11ff4320c440c693b471d3ecc721bec334f0a4f423914f3a77223c91624831da7259f08a634153feb8c142e97722498d83cd6cc4be0d0df7f7f8c624ab524243fd845b3351ec9c0c4f4d591a44aa3d36727f508ff31811aaf11653ca5fc4b7538d0f56f21ce92e7616e4de5c6e3b07f3cd1850eeda17f955a914d0ecff0afb3dd73a2f3f05ff3b3df4e56c6769f6cdf86409f60ca9240884e4de7f284a74f2558c407cd7e02a6e581cd30fbefbfb83718ab58bf82700163db182949feb8774dea7fb5af811d7c2fa3bc57ade2fc85299d98b005fd4ab97bb8c1e86678fc1864668c089a1a3f06a844325bfbb174a8ae0ee8761d7eb4432eb20b1cfa0e493aafbedc00978042747fa60fd93a2258a536d03e40560b3e407d3ecc4b85c1cbd82cc71e9eda642859c4eb5a7361e3e42bb243014e2412e3fbe9d6a7c50d6b67f87b577c0bc3af8172c1e85b736c4934fb37f6505400989417bf6c2f621e29262fed809a5a8e83579f01acdbc230e76774d015e2b5d52d94764847a6228551366c65191196a3f14f5e5c8ea1303f41fd65ad5a4414fa63d29449832f10ea8e0aa32f5df6171d80a2e29cf2736a9a2ba90c44003df442b2bda35782e18068b696e1903f2d06fdf991147b6d5beb0025d2a52d7c6cfad0d85e59166402715570c920349daf8a059e8b29c17feb563562d2b94f78b66bb909fd62f6a7e9a9d022e6a7e628d14282d77e2649e89eecf3a782239f476b6e21fb6b6da7d67399335bfa40af85b985a4e7cbdc4f7d1f26f34dba58d9b6893aa1f0dc4a7d3c093d28fa29850ff872d03b538d5dae15a150e6d6fe544bad47b9171d2f7b576bfd3f01cecf1852af3d20c81e6e6664966ecf9d2c69ba0579028ff08945c879c4eb787d11ce7821ccd7e89aa90dd37e2f7bb7a9c10219d07bb2b1826b3e0deba192910f27e8a032c36c9e453ed677343906d4ac3250ca73a8f9d5f5a9a6d4c43efd627fedf83f21438f3de7732ef87b126eb57573b029a8feeabbd51d360ff9287e099bbc1510d257320d8053ffa1d342c24aec9aa7f8659f7c2ed4e716621f118f7c0075d505f041b5aa0f93d184a87c5b742c0033fe2e3ac8699b06703bc3c8784eb1a5f816f7e2cbea156cb47c7ada1086e7f045eb4c0897458733f6955cb0e80e298e645028ae28b69276cfd356cfb18ec2cd4bac0df0c8dbf20fcec0f61c32324638ff8c1343bdfa7e825b5c5645f02fff2028664e1f9df4924fe2ca7c7b1471b9fdf10115d3eb28c09bf63f0df0760c90a48fb2466897d4e39d1eb3f4176c07a996627051f5e3aecfc8438eee81f9ef6c44c9ce0cd07b97c9afdcf9ee17983f0c92e12d739d748e669705f0802d447ae6f30ecb05a0a2a57adb8d198cb58f9c549fc279ea2bc0673aeabce0563be96563170353018c075540b96bb478ef55aec85371afa9a8425f9b6aaefb92b2d008596d056e1f92dad3ef1441fe7bc640a3d69f628426cb18e8e955db6c2b010971b65f13120a1a9e8989af22aea9cc51973e7e5679b31461afd5895ba5dc07ddae573155b8bdd6b6ff07e7ef6bcc136d76e19e7b6ecf0dee6586ac95fb2da653ce13394942d42d776e8e4f1319cc6aa196b3289abbe14f87003df4c40b6b5a4b67e6689259fc94ce36d94f9ce62f7c4b64ba35f2838783dda76728076ca52ac7c31508ac604fbdbdbf97f7719e73a7789bfef54777fffc82898f98f0f8446f19f366cb72c4972e87a8191b12bb25aed3208abe514b86145cd7ee41c360a9eb47efc8afc539092065ceb1b1ef33a0cd795aea81ffbd38e1e6df95e18d7ec772a9ebdad277d25c556666de33d473abbc1629b87a331e4ddd4e4216dbfe4f1c61129624ab3e4e1efd700c30777b7f17da645a7db4319e7fb508a46bf443ecd81ff20c9ee1bf47e8f33de06db3eef632af370d27e78f8847abd905c3ebee8d7c6b3c58f0fbd34080ff47961d0371028c539d0fe73e74408543827edfe23c341d4a59fae090452ae89564c7f238a6e87867ae28f9e3d02fff020d1b7ed4968ff0a0cb371dd0418cfc2c6d730ee0633f9d7f7cf3f08cd38d70dd7c5374263032c66c0c43f31f0b71be6c39cdbfe095ec33ba3011e7905d7ed90a4960fafc3b3db206804f743f038fa3d06f0fc019edf26467fce4b31203f9f11c2878dcf01374c16e0af5f0f8df5906b802e8e972e3b488f2e42d2b693a65710c2abcb2c827a5c3b758740e28f5a749a3dda7a79313ffb37e80b42919334c1b91866ca346068717609d1bbdac5536976f29668e283d57efb7f81bc420f43d31b32d17c56291f3f83a085a7f710e9e86037605740177c729a543e7d8a17a175f0b61ce0f02d9631b7a0c06a0a729d2703b88dafec6717264ff86cb2158ca390910474b6b4f58c847109f9d265cb1c4c8e49f69fa35035850ff221bbbbae141f28b8aa49fe2c8c4387a4d9430c1f279f3be7d31819d9242cd4eb39d6e787b4cc82e282ac34bff7b017db8bcbe0918934d49a5fec28467f34e4efdfbfb3a953ac4c4e8a7621c5bbbb69bf77200cc63cb6b4bcd4919f93654ac566b7bfd5d2391236e4b0e5cb9696a28b3fc4756cd98d9226204c42576134241a329dc859a28d0f74361fed1b8114535e019369f01fdfbbbf3f048654740629ed22368256bfd0f86976d2f87905e0edec2603d477429a45cc0df8fc17b27299d2721c0b4bd91c4b68b8a7ad05db4b9343d32bc8c74ed048ea76d1c61556d6ee472a9eb47e04f2494f210ed7f9c1bbfbb910a4e455de55879b746a8f135abb6838c0eea696eea1a0312bbf72d9b2cad2e21c4bcac860f47df2258f370146fe866eb4e2efb7805d608d42ab41a7d94319e74496ba5f221a48b363ee1b53c607450db61dc6db2d7643f79168485e50a1924fc173f0ab61fcd985bf3e4d7ecc835ff691d11b18a6e39cb4fb8f60a67ebcd6109871e142f4fead6e5ca454c8c88f137ca80729918414795eb8c4a33a85f1032df8f8e25324333e3e2ee4312314c98f42d1d1a3475f7ae925b59dd34ec129a4b3f2007ae040578caeda9590310abb22efdfe58545b09225b18c535e652d399790a7c9478fb5a18cb09cdaa65af1a396c253d024fc47f5dca0d2aa950fc34d41f8eddbaa6a9a764e5daf4aae48a0d9834da3e183556ca6c49a9c3c3ba76c3fad422cdd66c7254b805fb5b4a4731c070ef7634ec6cfed7f93ff5e632cabf2caceb0591969a3439d644dac946c6c059b15f6b6891fb329abaec908f6ec6be7a472f14ca3a325c9b547a157b844cbf173aa3eaf723f7b9bcd66345a704e292eaa515454b44b566a6371d7497c1b38e4e3a2b56cac03571883021c592d314bc5812fb7316c4e5aa8dfcb29ad510b925134fb45562ecf266aa754877de0519775c690e7dfb6c8fd75ec35d69a851fd9098d2668ec54f512fdf2764d821ba51fe3e2a9d98f52bb63cff47132e576119332d3428151af97932b99a6f12657a199a7d983915bad714e64c8fb4553a68c38657c647513cad2edd7aeaec4f9b2dc7fb44db982a9a74f9fcecccc4c494999316386c160c02326bc4493318347f4acd005c21408045e7df5d5458b16211b32e051915253539182454246c80b3c023f1ed549508774a2984ff23c12d006a444ec1128c23142c4cca527dd25bd740c75093a0254041867a3db61eeefe6facef84db37398025ce81d3adef21fead7645411492db8d2ec496ae3ae5e61b68a9a4546fcbc185b9c63360c74b66c8dac3fbf7adba45bae23a04240bfffa8202104dd258dc0227b2318a1e9191d011d8124213032d03f126273f2f18f97180ef41cc7aff82449fad4c55c69f64cbd05d7640d6b71a9238b6fd9507787ee8f5e937dac370a11d0ef3ffa30888f80ee92c6c7472fd511b82404063b77bfd5b91bdfdb5bf14d76c8ef95bf83bf24c11759f94ab3e7229b71ad55f37a9af1f38e90e86bf96badf97a7bae1704f4fbcff5d2d317db4edd25bd58e4f47a3a02092330d83bb5d98a090bbe48c62bcd9e8b6cc63554ad97f3ca260c5f430dd39ba223a04240bfffa820d1092202c2ba431d0e1d011d011d011d011d011d011d011d011d816f0d01dd25fdd6a0d715eb08e808e808e808e808e808e808e8080808e82ee96423815d092fbe002b8b26e34ba0fc89e7e0a70f2bf992285f29fadbbdae25b8ad59922423d815ab1f58e5c29d9392976c6c557595c3ae1248a3c730266e0f53e3725597a9d5c4888b5ed858a7cb55c592bd70bee594100edfb28ddfa67a011f2669fd55565de7aaa95076fc95331e928cf5147f1749d6ae8bd311d011b81211d05dd2c97ac55e056e37dcc64ec63769792d7caf1e1aef52f2254dbe527042d78f3d07af3c9d10e754996a6b096e0d774fb59e363f338fc9b1e2277214ddc056d5b9573819ed3a9350ebeeacab2cafc88d6c7f25b1d3e852397f4edc1e66c122962d7314c7548f73619957c2b285f3645fdd8ec33c9d4509e1309d06a0eca9f62f8d9f46bf14f3457cb292d55f4c4959315b8a9f608d4ddfea78980edcc4e64df577118b8a7ea523a023704d22a0bba49375ab9f6c0903fc6132d6c9ca719f8cc826f511de24ca8fc84c3c73c70a70ad82dac42b24cc29b46b3c29c0911d3b8f713d273b643bbbf386e42e28620a4a1630095b2531da2aea8bb352fc3ded2db1df63a2d1a57ad239717bc6c2b8735158b65bb4248272e6f91367a748b95472a2385caa9e49ea4fb57f69fc34fa24eae9c5517cce90fe4d4a7f912daec213ca1fccb73a1e928e5b14d1a9fe2ea235f59c8e808ec0358b80bee23ec1ae1d4d90ef62d9a65b3ec5ae71f218a4945d5164ced3cca90dc24dc09038f506b075b7e6c1c450748f7551348daed63c357b22fff9e16bd949370ae299959e89da82e9a4248ec3745a413cb4a9f52f8d9f46bf58eb65f8d89dd3dd5fd32d3f0e08c9c64da96a4abf0b6565fd5a474047e09a4340774913ebd2311b6c7c1b9cfc8cd263cdf0fd67c56a3fdd00772d81d946080661741c0ebf09eb5f27450d4fc38fee21744ce151f8cb2678ea0b928f24c2f0d760f0c1af3e21346df90db0f53160661386d1b3b0f537f0eb5db0e487f0ab07606f13a42d07570929e23e86fb9e20194caf6c823b1603ee041e1e86edafc1cb642376edc42e81596698c9ef955eb092f064e09eedbb80440d35f5fe04367e17b6fe1c7ecdef9e4acc58031d9ba8edfd23aff67c1abcf826b85576f285ea0353e5ba6de1bc5966e38c0be1d0f844e0cc912ded8635772d32c2f804a484ce7cb679e73eb1167eead3983e93df2d3e63368b5335f1bb9f7e9f57da72925df583ba5cd385ee833b77b629bfae53e6be2d3b0dfa3bf6c5ecd908a0a627c11ededcf190a1da755f299b8d700787ba776fd9c9d9abd7acbc79e4e8ee1dfb38c262af6abcab0cfa3ed972885c4d8433aadc0f943356e4f70f78dfdbda12df91b5399c7756156799f8de9c08f9b84f9a3e680770dcd358959f857bdae22ef3fe5347f735eff356d5af71987c7dc13905b9e691ee8ecef3f397b2d6f008b7edade6888a181c88618bc74f1df9d270537981cc7e622654ad58bd98c931a2673111ec39b67f8787206aafaabfabcc7cc4d339b7aa223f93680ff4750e980be7cef07df4d6f648549aa9a9af7358fb0e7cd8dcdeab21276eff3a6adce5457937607bc3e1e0d844a0bfa3a9ad5f7b3ce0768cd471a2810f6995166e3c5d3cc4e0c3d368fda56127bf91ac567f9d13a4e32ea924399c6baa0a4d298143ff43462f45be96fd53ef2f5e9fea100f7f4dbd94f14c6bef11a251e377a1324427e808e8085c3f08e82e69627dddc84fb83ccdc11c064adcb0b113d6bf0d2ffe11dc0c7a8b70e43064dd04f366833d97885bb301d63bd1f780760f8ca4c1cdb7c24d4897b9a46b7e09eb5d24baf7875761a09c54d1903f049ea7899b78ec63e8490557153cf473183b0b9f59213313dc8f905aa7bbc0980fccedf06203fc6c1b6cdc01ce1b619883b63e587e3b34fc237087607317e154a717fe3714f11e0c163dfe73b17c07c0f340d17b036464c20d68109fcc684646dcf6f26c8beb61b160a73d6aa7284279626a56bb4b7388373dd01f48cdccc932a79a4d101cf10702182c335b33d3cde9913a4ed7df38ac62908559ea62f882e1e3b059d819c99e3bd7444a2d37a8e68ada6b2a190b8c70ef08be6044a28a9e1c7b8e0306fa8c39c5e539101cf68d182c5959f9cb5c0eee44ba39cd389e2e7a20906e321bd352322d68ce384076a9331b07d0f0d0797396399b75bbcfbed5ccfbaa116b65195b99fb6f97312910f6f571434143d61cbb390be5b0abd739711b78ff4077ef70cafc823ca6dc551ff6fb528d262b53803e6a78c2925fbe14e10e4f182cb9257668155c77050ee92693d168642b797bd0fe59a2fd2d9d15eeef112483435ccf88eda6fc3cc772f7507ff3a1c1f474a3312dabd2b50c650ff50f9872b2d38d30e89fc8cfcdbdc5c9783d1c6f3b73cbc23ca361a4bfbd5753ce6809b57f1dae46278b5b1d857cfdfd13a6acec4c537aa6c5e9aad21c0fa7e7a0dfab394e40139f1d6d660a5dfac746810fbdbf34edc4b653fa4b7449313c6e2b5bf1dd65056930d1d3f151db682efe80b4c64340dbceb353ee2fd9508a66e9bf2f0a6e67a9e399d25ecaefa245f17f62d4243da723a02370cd23a0bba40977f1b65f90a063ed73b0a11ed85b60899df8a3e1d3f0f86a38800ec093f076232fab08d6f2fee8c6e5b0592e9c9fb0193c0f6b37c0e3c8300a1bd7117f7109ef9222a342fe1339bc3fba05bebf814869f8253ce382077e08ff785214dabc117ef636b04fc3db0d50540cec4f883f3a7a0cfeeaef0943ed0bb0c10d77af82cd7c75b18eecf4eaf3303f0b1e7a1ce6a5c296ff05f8c0351ae1f02e7862d3247a0519fe88284a7b97f04e3c7229ec8cd453646c55df21fe68e070f31bad1c3e966bd6de5f4a46e760fbf62d18f0b3ad7ef4fe39b22a473fda3d9465b2972f653267f41cde7762048c06c337fd520caed7b3bf3363c1ac892f8e4b14a9aecbe920bbccb7364b04f1aca427cd1efebf14009f776f53cb21b039d7ddef30dbb2e1b358fd63b19700fd9d9e7730e8c8d43dea2e36db6e04a0b9a4b66515c41fe5f6fe5eeeb5daab57a33f1a1c38fce6d65622dab1e2516741dee2aae1117235d0f1c19739b595b9a640f7de3f9d29bcbf323b3d9dd0312971900c53da6fab2e437f3434d0bc692b87d518d7a36e366f61091ce2d51149fec3cd6fb672b6fb1ebb3f3bc5b0afadebe67b4bb30b6fb17bc80656b6aad25c23f8bb3bdb6dd53fd092f32ead7fed354bd11f9d183ef8a7cd24fc2d8d13da78f01d07cd7142c3a7c890a2899bbd6d3b6ac3a4c48727e241d95f768ba69d68b1667f218244d278687685fbcea58c014227f7befbc1a141f1bf3e957c7bb559dbcef745d776eafd45f447120d4f1a6e7649af28411a36d4f6daf11e4892d24e81aa1f75047404ae4b04ae4797f4a9fffccb770bf957ea629707773e75c78b9eb8fddffe07f125f89e3608d683f526b8238f54f8f04de28f629a253dd26139e09bf6b39fc4faa33c0f86bf32cbe171cc9f836757c02e9e281cd4f26f9d8b4126786fbbc8b46d173ce902e34cf1f27433f14731cd120950cadb9351029e3de4c53df12b0166aa6284123b1cd8452c6f788c68f9cbdb622bb0f4c7f3e3e98d548f66e8ed451eb59dd18a3139dbfc1bd1d611ae9df8a3988c0631b4c55f61b813db7441cc93d360af77b0172c8e2acc7ffdc5a14ec15f90311cf2c83d34b1c05655cf6619023d1dbb39192bf19094f4a4d963076cc8c4b097f8a398f8713711a35c7981fcc1be0ee28f62e24e9f0b17676764b1c04fa950f2e2f57cf26edcdfdb16ebb22ec8c538e244dfe7c7c41a9d9f9fab29c84e4d33a03913be03fbb8bcfb304eefefdc79c858b3107984f9b86a1cb048dbfe9c4c32e2d3b2ef5cb78e8804940c335223bf02e839d8d2ca21c7e0a7fbf79bbee987dede13be128735b7b2c2d6db0e5525385c03de7ded90b342530ead7f991a746561e84487381d431a27347e844d739cd42cd5c6677e2e06983570137e48347cd4fd55be2053d34e5a7f21527cd830772906ae21d0d9f28647fa674a733c94904f4568db7971fd450c90251a9e34dce8371aedf189aab4ed94d9a06775047404ae3704ae4797f4cf5bdf1a5b7043b4a7c77c1e4ff44a3b775c7ae0b345c4abe8c218173a09f84896d8e7486fb4793268e24a8861081bc09009152b6197cc2755cb4fb5935782e722afdd33884c746a85f4cda89493ce733349eef41138392259950a5ff233b62416ea59fe3c49e5d5d0f44644e0cc4d21c5692f32a8ed8c4888cd582cc4590b8e0c8be474e2e224ba6e29ea08c50a555eb175e5645553db8eb6d8120d7a72ed098f85e41af161ac4ce9c405175c55cc8c0c7c2532d86c669c30e93b2bf927ca7a207cc75225d140e45d080506a50a69293304a79ee8e16358185a0d9c059081a78183505d6dbfcd6cc40e0a0df7f7f8c60c9823292534d42fe4b0e4eb9e5e21ef6dc72037499e23ddc5ce82dc9bcb6de760be1903ac5dfb06c156105f0e5f5366227f0d9246328358639ca8f8855af2a6d2f0a1d17909daf868f6d710df311a7652fa8bc8279d38119e4831a4186db92c78c53ed7943f6e40d759b37f89a4a9f717a9454d323ce3e223131019cf71daab65a74c849ed511d011b8ee10d0749dae71140ebefbfb83536ea2f4a2fa8915a4eab97e48e77db1af85477e2dacbf5314e9fd022791c2ec45e4cb4afc42a01855a387e1d963b0a1111a7062e828bc1ae150c9efee859222b8fb61d8f53a91c03a48ec33f20d2975bf1d38018f5481d107eb9f8cd118b9a86d80bc006c96f9c15824c89194135e8c37c6d18bf30d48aa857fba9bcf60102a6e7bd5768ad5d427f240369a79c71aecee9a02bc56baa4aa6fed88a1d4e85b429958c65191196a977d368aac4a3140ff61ad554d1af464da9342842913ef800aae2a53ff1d16bb57163d159b54515d4862a0816fa29515ed1a3c170c83c534b78c0179e8b7efcc8823db6a5f58015ede23b4f1736b436179a419d049c5957592681a3e58aeb67fb0c717aacc4b33049a9b9b2501f2738adcff130b3a0f7657304c66c1bd75335220e4fdb415e9f1e568f42feffe86ce0be39059b5ac503e4e34f879dd6a3a0d9fb367460ab570c37e8a834f04c5687f19882fa66127a5bf448842fd1fb60cd4e2946a876b5538b4bd9513e9522f45e4f77dadddbfc2789a7a7fe1c401e5ef0555278e1bead51ecf71dbabb6536aaf7ed611d011b81e119882cb703dc21369f39287e099bbc1510d257320d8053ffa1d342c04288155ff0cb3ee85db9dc27b723e8ab9073ee882fa22d8d002cdefc1503a2cbe15021ef8111f6735cc843d1be0e539646268e32bf0cd8fc537e66af9e8d83614c1ed8fc08b1638910e6bee27b6b4ec00288e1845329100e7810dd0752f143961ebaf61dbc76067a1d605fe6668fc0561637f081b1e2119bbdc0fc670af0f8ae6017e37e0bf0fc0921590f609fce4fd787addff2fa4ad249205d79148a4b4f73f48593445ec8c9262725cdf60d861b51454ae5a71a33197b1f28b93f84f0045d90ce65c579d0bc67c2dad62e06d603000d6cc05cbdd23c77a2df6c21b0d7d4dc2927c5bd5f7dc9518472ab484b60acf7569558a27fa98e72553e849b347b4546a852ce084242bbb6c8561212e37ca22316231e1a3dd945751e72cce983b2f3fdb8c31d2e8c7aad4ed02eed32e9fabd85aec5e7b83f7f3b3e70db6b976cb38b76587f736c7524bfe92d52ee3099fa1a46c11bab643278f8fe134563e1c276993ce2671d597121fa95c3c47ecef6d3de92b29b6326b1bef39d2d90d16db3c6c45c8bba9c9a3a821bb1c6cfbbc8fa9ccc349cbe1e113c23a34882b47a37fbff86602b2ad25b5f5334b2cf94c661a2f5ef2e535f8f9f1a045d7c6a7c3635ca4851b67af59cbaf8a53e3a3d95f9cc346b193d65f5f11673b250db8d6373ce675184e2e5d513ff6a71d3dc4d5538f072f8c6bf62f07d8bfb294607f698c2b222471dc04bd5ae399d25e45542062a7cc763dab23a02370bd219072bd35f822db5b840bd8eb893f7af608fcc38344c8b627a1fd2b30ccc6f50e603c0b1b5f2301c499fcebfbe71f84669cc387ebe21ba1b101163360e2efb8f8da3dccbf7adff64ff01a3eb90df0c82b50c45ba4960fafc3b3db206804f743f07823cc3680e70ff03c7ed4898f6a9d97625b7e3e33ce1f1b9f036e982c6c5fbf1e1aeb21d7005d1c2f5d7650dcfa7ff66fd017248e2c56712e06325595a2f7c02fa0fd2c64cc837a1798cfc2163e362698a1dd5eba9d3273a2596fcb016e08e3a4b90505565390eb3c19c018ae6c7886c993391bf76f621d858c54adb3a5ad67248c4bc8972e5be660724cb2ffb084aa297c500dd9dd75a5e808e1aa2621ac2d09a0d22169f610c3c7c967d0f9344646c004867b7b3dc7fafc909659505c9095e6f71ef6627b71193c3291865af38b1dc5e88f86fcfdfb7736758a95c949d12ea4787737edf70e84c198c79696973af273b24ca9d8ecf6b75a3a47c2861cb67cd9d25274f187b88e2dbb51d2048449282d8c864443a613394bb4f141466dfb017637b5740f058d59f995cb96559616e758524606b10785849534d260db611c6e6843f7918e48711c391afddbd97cb46f04524c79054ca6c17f7ceffefe10185205cf1434f879355a741a3eda74daf8218dd1ec2fba9d94fe82100a12de03747ef0ee7e2e0429799577d55929f2a9fd7b71fda531aeb06953c08d3e9e29eda5da1919187a46474047e07a4360c6850bd1e792baf1915221233f4ef0212ca4441252e479e1128fea14c60fcfe063994f91ccf8f8b890c78c50243f0a45478f1e7de9a597d4764e3b05a790ceca03e881035d31ba6a5742c628ec8abc7f971716c14a16303675caabac25e712f234f9e8b13694119653dba22b90d4d5e5143429cf04e7069556ad7c186e0ac26fdf96f38a79ac6233c5aaa0e825ed859859b0517153696fb49694b3d971c912e0d7102de91cc781c3fd9893f173fbdfe4bf6b2831699fed0c9b9591363ad449d6724bc9c656b059616f1b2e5a26a9acba2623d8b3af9de3afa2071a1d2d49ae3d5195b21c5a8e93727d5eafc251b6d96c46a305e794f64adf598d5452b42b42c7355a2cee469906a1211f17ad65631db8321b14e0c86a89592a0e6ad6588a8d617332d3428151af978b2d99da551c39eafe25cc69a17e2fa7c04d50a9e6a7d369f828e9f1f1a1f5575c3b35fb4b1b349a7cd2e989f56f442e0d67fab8c22fbbaa7f5fda7a69e399d73e85f646acd5333a02d70302a74f9fcecccc4c494999316386c160c02326bcc4b663068fe859a10b84291008bcfaeaab8b162d423664c0a322a5a6a622058b848c901778047e3caa93a00ee944319fe47924a00d4889d8235084638488994b4fba4b7ae918ea12928000e36c743bccfddd5cdf19bf69760e53800bab43c75bfe437cbd9b040d531371a5d93335eb756e1d011d011d011d81ab0401dd258d7494ec4d6784a66774042e3b022303fd232136271fff78dde140cff1b66fcb1f450bae347b2e7b87e80a750474047404740474042e2b02ba4b7a59e1d695d11018ecdcfd56e76e7c6f6fc537d921bf57fe0e9e56673ae9579a3dd3d9565db68e808e808e808e808ec0b78f80ee927efb7da05b104160b0577b766084e13267ae347b2e73f375753a023a023a023a023a02970d0161fdee6553a72bd211d011d011d011d011d011d011d011d0115022a0bba44a44f46b1d011d011d011d011d011d011d011d81cb8c80ee924e0638bb125e7c0156164dc69740f913cfc14f1f56f22551be52b47ead46805db1fa8155ae0a75c1c5536c6c557595c3ae1240a3c730266e0f53e3725597a9d5c4888b5ed858a7cb55c50afb3946c9df422e211ca66a170d371a3d22df5e5de7aaa960a4eb49f925c64b3f271b8732be25ca0ebe72fafdd211d325e808e8085c6708e82ee9641d6eaf02b71b6e6327e39bb4bc16be570f8d7729f992265f29785aae1f7b0e5e797a0a92a7ca3f05d117c5cacc6372acb9f8c1fdd8da6c559d7b8593892526785577675d657945ae6a7b2a1a3d466ce2f6300b16b16c99a338a67a9c0bcbbc12962d9c678dc372798a12c261aaa65070031a3d229f292e2b6617152f100993f2472a5e7246c28159bdf6b1487a74eddfbbab998b92cd94604b4af153b4b1e9dbe97766d50fb04d6be53fa1ba07d62928b18692aba9feeea6caafd6a85374047404ae6404749774b2def193ad6e803f4cc63a5939ee5b13d9a43ec29b44f91199ff7f7bdf031d6595e5794d911421268424189300162165e8080c0869109c209b15a3bd342dd37a187bc6198f7ab48fd3ee2cf619a77bdade63b7334ecf11ced99eeded99eddd63db8eca613874bb689371268736db282e280c601a0c6ab510624c0869628821a9b8bff7ddaa9b97ef4fa52a2480ddf71dceabdffdbdfbeebbeff77d45dd7c555fd5e4819bd652fd7afcc47dba2d53ff74e38ed72ff6fed158db7b07ad5fbe772295cdad8a54ce9f1bc9386cf19275d585597d6d079a5a47cd0de24739c1483f9ff371fcb2539c7fddc71dc5cf76fcd377f70b31015cba3a64ba54806e417a5ae147cb1814c79a3021d0d621847b4a077a4ec44e749ded0f85f3228b57af705fea4c6b4df3535ff161f7ff4c97e8b8679b1b65c3b3ae757ed7c3a4bfa4bc083fd130c6eb4ba6cfbb4cfdd3d2519d540155e0b25140efb84ff350e0d74227b54d76fc094a7ec8bc0c66102b53ff0c428fcf35d6dc18f3cec48f8981cc64631c23bae6fa0a1aee19f90dfa44e820debb7266f9c82b3c6a18df1f2eb217709cdd158bed30f9387d1d32cdc55f37d4f8bec777247aaf39c822e3d8fe23332f04d93a441028de7be2e5c63d00751befaf299c928b1fea1af370a6bdfe253cee0515d794d321fc865a64d53cec69cc96e9f32e53ff31135007554015b8ac14d09234bdc371be98b6bc407555c6fb6823fdd16389695fdf4cb72ca319611a18a0734374f859daf46333b4e11bf4d52f181e2d7e8e7ef1343dfabec1d28cc37fa45037fddd5b86f38fbf81b63f489119c6e15c276dff7bfafe2e5af600fddd9df4da36cabe91eae79ba1d8ebf4e5870d40fbded374d302c22f9cc7cfd28b3fa0bfd9c1b44fffc39fd28cf7a8f773b46426bdfe13facd4a6aa8a2f6667a3c465bbe44dbbf43df777e25d52c77171d7c9a7e7884a6e7d154e737e32b6f3501f1cba2c777115f1df4ea90cadf6f5f08f8e0ffa0bb66d2933be8817b6896b3eb033fa1fbff9e563f40ffe50f120cdcda5fa775c9fd9a3c7c5aa4b6fef3d7ce9a9e17bee2d3f8e0d070ff4747b61e08dd75cb75611a1aa6acc18f7ef5fccb7b13d3f055a8e19ca953ccebf8b419517c5413df8bdad7dd9afc49cee8fa3f595396fbe989375f7e799ff573a5cee4450d9f2fc9a68e837beddfa0c788979f807c9c158706432beabfbc305a82c3800b6dbbb7be1c2b5f71d7ad9feb7d7bf7cebd31e3525ebbf19645d4fed6d643c61a8e4fab6db87371a408fe7d5dad3fdfde94baf229aea9bbb9b6ba30d739cac383ddb1b7b6bd7280a8e60b1b6b6717e2b7716978b0ef83b7f736ee6dad5d77574d6e77fbc0cccab2bcde13075b3e99b33c5a14ef8ded78ae5196f0ea50b3aa617155c595881f8f0f9c1feeef38b80d3f181ba95dbfb2a6acc0c4471bec3db1ebb997596b9f7c8e84fd8f2374f03dbe4ecc11fd9d1fc533757a0aff8cf209d0c75936d17975a02c476132cf54bb42f6d7073f1bea735cce70745c8a34ada6eeaeda79b959fd87feaf512ee0b8fb1c47e7845930f4c1915f87ae595c699d574ed4dab5b72f889486f1e4181e683bfac6ce66d799ee38399df9c57ab4f055f84ccca9569a778df3fca561ca5d71d7bd7ee7e7be8e14cf3b1f1d52f9fbedcb3c15d6ddb228ef4873cb55b54b663b67577ffbc1675edc9be27c73f6a09d2aa00a5c3205b4244d4ffa8dce07284fc6686684e637d09616daf4023df1cfd41041b548470e53e135a6662a2f33e1eeda4c9bea5033d08166eacda6cf5d4fd780b74ad2bbfe9636d59bab723f798aba169b293ef17ba8f91ba6ec3bfa3ab54da1fa5abafb3b74be937e55440505d4709f9975f238856753e4067a62037d6b076dd9497557d3d918ed6ba71b6fa00d7f41b143f4fc71e3e96db905548524e33410a71bee36e300658b6956174d2ba02bb1b0d3f2b0dc34b3afef3e485589d7517ae83b89d19d448feff2d721d09ffcf7f50ffbe9ca7c9a16a1ef6e32d21d394a0be653fe9566a1affd31cd0ad3d17d143b4bb3e651f118276d64d5ed0d0b4b4d55ded5d13fa5a0b4306f4a5e2e0df4f6f5f7e362685e51414e5e4e227f5ca6aaff4f3545ce75255cda595e1f7106ce1ea3e7f997a3cacbaeca35a3f9577a3e2b5abe6a69249f7a633fe55a50227af889c9e7185ede295c5abdb89406ce76f786f20b0b67afacaf89bd9b93971d1eca49542694939b17cece2a3097a886884a16d69540cdb33d9fe415e695441b1a3a9f6b746a55c9d602c58b1afe6065248be2ddedb19e8150e1ccf2bc42c489de7e6f5d29caf4ae13a7ce66cda9ac882cae5f17efeb9e12ce2d8a54a2468d0fe7cf5ebc1c72c78743f965f3cb690f97931e1d6aea37d6450b51737677740ce7169614e4e63879ae59b1b8ac20d4dbd5f6e19981a9054525d3b2f8f0f8e713701cf137a1eff1c5febcfa9b4d07fb67964f803e3be50f188f0e58fc0aa7165d54b73e5a181aee8d1d8a998c82f4f1d781122529caebe2456bbfb4b2329b86db0efe72dfb9b205fec7bddff738eeeccccd0d87c3d1a5ce7982f36a7ae2bc6a6a59d2f01573860ff4c4da7a8baf995d517363434f47e321f98bc3e43cd212cfa1ec59f316516b785601ff5f914521fff3b3aebe36e879e7ab43b03ff9ef6bdfa99c9c7038bb7069fd4a9c9b3d1d5db9a52539617366051ddf91bd28520554814ba4c018afee9728abcb72d91d4f9a8b8eabbf4d9bd751f4f76859b9a947e327e9a1db693f5eb81fa117363a7957d13d4e3dbae5467adede88f301cc814fe89ecdf4101cced1967b4dbdb8cc2949e1e88aff70a9538f6ea53fda6ca26cf85bfa663dddf900fdc57b89a08d5be85b2f50f41bf4c206aaaaa6e8d74c3d7aee28fd873f360eabbf4b9b1be8b6f5f4bc333d31c77ae023ff934769e15fd19219f4fa167a7b2ddd17b53c1cd897249e7a9ce614d2dd0fd1ac29b4f5bf11ca8e70980ee3aaed23fe3a04f93ffcb4ffbe5092265a273d721bbd5a45fb5fa029a8b456d355b8d87c86766ca11d01e57572a6792caefd7d538ff61f6e7c664f0ce6aa7bee5868f67afac08b5b71c1aff8f6fbef9869fc12eded5feeee29cc2d5fbc3c527045dbe1bdeff6523814fab883affd129d6a7ea365dadce9c3ef1f4b32c989f57535611a3cb6a73149241eddfc84e5e3fcb543d4ddfadab6a643545c77ef1d3579c525f4abd1eb9f1f6d1275b434ff1417b7226bee6fa8ce2bbe9a28a8242d5eb9c4d4a3b1d77e6457ade52b6e473d3ad075f8d9ed7b4ce89ab5f7d755562ca83ddb6bacae83affcba74f5d2b2dcfe13afbdf4d1bc3b9696e4703949e4d6a17cd572d4a3c367df7ce97953adc971a148611eca97fe0f5b5e6b6ab1cb1dff7cb0a8ef710c3abe999e0fa86033ca27489ff27d2f6297686e1d501fe1427d51f5830f26ee547befff39d79503f509d22162a20f0dce58d270f3f2488806df7bed67afa05ee4bf8a3dc7bd7c459eef712cff974469eb3eaf8a572c423d3ad8d5f8f4f618168ad4dfdf10adb8763e1d724e03b3f6a816caa2c19e8e4ff24bf34baf59b22a9c4bf18eb6ded28a7cf7a76192e767e0f32e408720ff14fa27f3eb3bdcf8ec9e58f1971fbca3c45c9c0e3abe49777d540554814ba7c0ef6249fae83ffde24bf39cb7d413ba0fbcfce84d4f34a73c08780799df047f751f0daca3a26be8a60a33e15f9f35f528daf4e44b31dd4878cfaaf3add1f5a8e383cb56058be921e033f4d85adae590dc79e35f7f155ebce8e72f269c76eca247ea293c35619e6c34f528daf404410b9d7ca6cda7e6579d4b30ce65cea99e6b7b4977a229143f6ede9dffa7ef205dfada0bf4f5db4606bd68ff2eb3d30d0f9aac7ef14262d770fbba53527b7508f2ffb339a9f68580ffebdb643e32709c7ef003faf00861a5d763541fa16fbe407fde49fbf7d20fbf93f8b400bc3cad78ced5d8736fec80a947d1c278adb45b3e5e943eb588d3a75a4f9fa2fc9a5a70bf79ff500bd71196c3a166bb424b0c14d7aec3f5adfeb683bb6396aba987ddfc84e5536e3e01397cb6d5d4a368cef93b3c6a71b701ff81f683a61e458b9d3c13af2e995688bf39dcc57562de1cf3de66dfa97da34bd6b965b8ae39dcfeced18457cb3b675655964cc90e219de1eefd7b63155faec7b496970f85575d0b1ffe3cae5787c8dc32a4dcf3eec1c4d5c391e3127bf7444f696561b4ee8e7937f475b69d3cb26f77ab294dfdf349a441eee318c467aa3f94ca289f207df889e7d501799a33b2afbde5bdb3f9579595971654d6ffc9aac167da2a82f409d601873f5cb61c17a8a9bfa5e999e6e471f53deef3cd5742f81c47b0fee7556981f91f2dbbe4e67bef35879a70c4e98a29860b6c03a74f0c14d69456d42e34675eac33cb94a4012de8791759e5af4390ffaae5fee727f635e82cddf666d39e18d0e97f7fe38ddc8f3bf05766c0f10d485469554015b8880afc2e96a4ffb6fdb9f373af1c11f97c7773f388e58f8e255fa8a355a61a388e6b537871c77fd949f799c977ba1d1af59e4f33649ce2210a15d0925b699755937ae34fc1c71a87e88c5c179c6662a2a8e5f6f1b9244a3e5e5560d0c923f45e6f32ab29f46b9474410d2f311c2e4403f6d5a9d1fef864a5b7f1ebadcd8b97e8608fdafe539c6d04ed0b178ff7272f973efde3448c47efa00d8fd09d3751d5d554b78eea6e7417f4d65af9f9a6581be83d9be072cc4b29d7499657004cf9826bcd89ae596cee6adab7739f4502faf0139b4ffc3cbfce26964531e16e39a6e0e15215a0b7ebc384437131ae45c6bb3b93758b7b1ef14ddf9e882113efd3c17e3943b2b3aee0a2deace35cf3c2a5d5fe4e224b3c1f1d78bd100e06b7bc91e372e895ad5d35ab962e889415e59746aa4b237366353db3bbdbf1f3e4939c9feee338f4cf289f607d9061a00ef181aee63d7be011a9fb72434d49e5fc256dce55671f7d028e8bd9bf1167383e9c15ca0a179745a935716c417b8ffb5008d5a1ef713491bce755715e18c76af06c475bf7f9645659b80e6abc035a56e87c734b7b4d69c424d0defa41bcc654cbae669d9f2323d6a9c3647245f3c96e9fe7afe59f527f041bfc4ddb298ed97a006f9298e67f7c039f183c497b554015b8180af8964e1763e14bb8c69b3ffbd19b192f9f7c03fbe1b566ea990eca716acfdff04bf56ada74732264ebfbf82424cdb8ce7c53927383d0a8a5ce1da6c78ed2e68db4011f0c3d474f898727fe895334bf8a6efb53daf56313215a63ae7dca7748798fdbfe77e9be5a0a77d3a64746ad28c6ea0d54d14fcf5b75b00c79a3a134346d35fde5e84ba7ec994cd6b8f0cb83570733662ec59a66fbe33a648a7d619376fdeacc36dd8ecde61f55d19627a92e425f7c8076fda30c8e06e6853a9ce714e854deb0aa12b6bb24f57c3752e2526af25dc5510123354b0a060f585f1b65ee560951c761bfbb9a7cf889cc27cb047337a700e55235b2eef7a3384db82475fc125b5ab2629eb906dafff1c864d7be4e9fc16789f373af5a1421fbd26ffb47bd352545e5d72ea156e715bdd8f96ced60dcbed24c285271875e32b4bf3e480b05c2277c5e45d6af9c671f97532d7bf00f57995734dcbc385238677e2dedecf4cd27b988f3e8398e89d151fc78f44f3f9f207d703cfc75e0149347a8b7df1cb829b9d3f809e7a34fc07149ec74b0e35f9bba56e3a3d335f5ebe3832fee8925f8e4d190e3defe1bffe3c8e78df7bc3addd63db8b4223bd4dfd8d8988c39fad175fe60109f016e39dab53c52121e3871a885e6d6f08414e7a7cff32ee579e2f54fa1bfb37a96fda7926cc0e7f8b6bafebc145f05aa802a70f114f029462edee29fa19596dd4ddfbc8d6a56d0fc9934709cbefa8fb4e15aa2f9b4feaf68fa17e9863af3f9483473d9f1557ae538adaba2cd4dd4f873eac9a105d7537f337dd5b9ce1a9a4aaf6ea6bf99693e18baf17bf4f19f25de01f7c64761bba18a6eb88f9ec8a77773e8ae3b4cfca69d44d5064893026eff663afe4573c7d2f6efd38ed7a93c4aabeba9af91363e697ca30fd0e6fb0c28b7ebe0e0a3dff0e7947dab89c0a59d99e9b4e3dd54358b707ffdffd94fcbd652f65bb4fba3001d02fcbff62f01fb4aace07e58fd0ddabc9e0eeca1c387a98ba8c8f9e8c2695c95f36fb1f6d3f19aa2fccaa5ebd75e1d2e8b14393727395ff134e21fca2bab5f534fe7bb9bf6242e9c749deea7a282b93736f41e3d955f3eefea50fb36be25bfb8f62b0d4b717d695efee0767ebd4fdeadd23cf2f2ef440ee0272c9f44a6c95df05f0249ab28ba726de85adc6e5468ae11271a4a81dc8a256beaaaa75d356b76491eae918e7c5995775f14fbf7e3ddf5d545d50df75cd9fa4ee727a1e2abcaf387625b77b67ebe6679feec65b7d787dfed0ecd5f741d4adb9ef78e9dc7c7589dcb74c9d5928fb989bbbe5cfac4ba3e1ea692a2f9abd74d9d9f3f3b5290edf823c548ddbd0df3fbda3f38d1d1d17b8ef29c9bfd07cfe18f98a07cf6265722ef71e4219bcf58ff8cf3f1d72756beea1ee7ee37970e56866b425716cfae808cd4153b1a1bc8f7d72750870f4df196954db13dcf34e7dd5b5759b670edbaf32fed6c337f90788f7b2b0df91ec7189904469a9c57a7f6bcd73dbfba2872cfc62f1c693941f9c5b370760db63ebdadd938fb9c3f1c23b6fde97f601499cb8fa6f73d3fc1fb3cefde0f384f9c603efe2f07e88f33cb99e2ee028fafdb516d554015b8f80a645dfc253f932b56e106f675a61eed3c42fff90fcd16763c42073ea4d00cdcbf40e14edaf203739d63aa53993efe87d478149f1ba5868db471032d8850aef33f3d0ad6b8f35ef98ebfa41fe07ff610ddf73d5cf833cd1b9f7e4c8feda0813035dc4d0f6da419216afe093dbe237135ea93e435a93e070c39fdc66f9b7bd27103fea64db4711d9585e878cc896e75f292834b87b8d70a6d6860e4f30020cf3c49073a69da2c5a574f799db4b5d1f8c872dffa9fd43e600a5f2c51b780501fa6d00113bdfe81fb32eb782f68d2abc7a8738896d4993bab363d440baea693fbccd70b04b5d6a6fdb11ef321bbcacaa2dc8158cb7bfdb80a659de6e6db6a724bf0fb4dd19a7991649096a67d6dbd71dc42be7ce5ca9a4869ae55abf3d4e497f650c39a85618ae3ae26be3c9e0c10c8d384e563121f325f8feeb4f3e64c1ac6e5c053cd47dbfb28bba0b2bab230bbaff5702bf68bdbe0e164365a34bbbaa61af5e8605fc71b2f6f6b494c360fae7d8169ddbded8dd6ae38852ba20b172fac995d5a983b0565cf81e79a5a7ae3a1d2e8e295cb17a2c4ef891ddcba1b9186296e2eb1c591c8c825d3e1d265fefa504be3dbedbd94955b51192908f51d7bed8d8e410ae1f6b5585777dfa7856591858ba1fdf26869fee0d9b67d4d26d3807c30629aef71f4e13dfaa3dab54e074f9c8cf3f1d727e83cb132acaeac28090df6b7b7bcb6f3c0e9407d827518c401e6ebc12daffcec8dd82065552cbd654d51d071f7cf9385f439af88766f6b3ad133102e9cbd74e5caa50bab4bf3b37a4fe3999568aef3c724e3d386f1d778d0f909779fe75dd079e204f7f10f3c3f391b4f5ac1c7d7277da5540155e0e22a70c5a79f8ebc9e7897965106763fec5c7a02230d8c8dd944ef6d717c610c5e4e9d266068688831000fd93d0fbdfdf6db7ffdd77fedcd73d2197c84747a05511bed3f3e6aadd5b7d2b473b44bde7fb707abe8d628e19ad207adee59b617e3a0f8a858372c322e1fec18b9a3c83bdd669052452e9d39edceead63fa56b06e81f5eb07d03b1d9178dfab4abed8ad1e2dc5129a5d201efff7bfc33dd57741955cd31629e3e44af8e3e047662c0c5e584fb95f06da3f939b1588c6a1a1eac8bf4c5de7816df7f39562b8f440ba7659feb69899d1a712d8e2e8916c65bf725befc66d18a55d306daf61e888d783828889ff07c5cebb289ccf1a1dfee56e7be20cba3b8b8381cc645dede53c9ef599541d7be84878251fc4a65366ea0ee8e8dcc2a8ed6e08e6d728963cd4ac0401d9cf1e248b4347bb0a335e62ae8a152b4a8301b8b9ef30efae6e35d39158375f15b425e7d02e7649c8f5b9fd43a04ad1ba88f9990810ec1c7dd9d675026c29b940ab207fbcfb5b6c68404083e7f6caf040e3a3f79d8fbbc4ba90379fd4d3ae99d9f8984521d5f9ffc95520526558193274f161414e04b93afb8e28a5028841ecdf90e6502c0d2a8ac5002a1f5f7f73ff5d453d75d771ddce080ded5a64c990206430c18b30ffba3f7365e0ebc59d8693606811cc0a0676cf742025c78d392f4c235d40897910291ba8d0d35791d2762ed1ff5e5ce288d54e206dec1634dff9bbf66f4e2277ab9e573f115d015550155401550055228a025a98863bd43299c0255e033ab406f5747ef60b47436fe397b88f7b71dc3b70a5db2fd5c6ef95c32217461554015500554015520a5025a92a69447073f6b0a9c6ed9fd5ccb6ebc6f5f8477b207fb5aedf7e02fc55e2eb77c2e8506baa62aa00aa802aa802a30b6025a928ead917a7ce614387dcaf369c54bba87cb2d9f4b2a862eae0aa802aa802aa00af82860df7bea33ac942aa00aa802aa802aa00aa802aa802a30d90a68493ad90a6b7c55401550055401554015500554813114d037eec71088a2b7d29faca43dcfd0ae94df3d34561833fef0b729e7037aeac7a37c2730fea8b89f156319fdd7f5f4c1bfd1d3be5fa435e62ea26b6f5f927bb6f5c5a6b1bfe369cc580987e2686db4b0ef837deedfbb0fe247c54d3f9fc8aafa79f1ce5fed3d647de3d4a850a38de268dde239fd1f1cdce7fea2a7d16e17c1621d3eec2999e7974f64c99a79f86ecc617c65c8f9ce77f71c8a8dce287d7d46cf136b8cf8e2170c52e71f3c2f6864d18a3533433d07f7e0cb45ad76f91cbe85101a00002c9b494441542f2ba98b08cb57acf95ca8e7dd3d9eaf4b4b2f870b3e4fd25b46bd540155e0b25240af928e7538ca6ba9a1813e1f1dcb6fccf1d5f49575b4f116b7df84c57707bea8f683dfa6ef7d633c2baebe8dd635d017568f672ee64466454a8bcaf0c5f7a3e7476bd734acad8b8c26d3b4d6dcbc66e9e22565f2b358c969417c72dc794c3f9fc8dceba2d14535d5a3a6a730f267cd8f46e7cd2a4ae1727186123a14fae71399637e85a01a2d1abdae66ae3ba5f4f571667a8fe318f1ddebf9d8a9f3f79930061599bfa83aba105fe53aba5d36c76b745a99595efdd39d1fa9862ad7557b4e8034e767789ea41955dd540155e0325740af928e7580facc4fd490d38de53ad6f8007eb069c8ed3481f1dda12fa27dd35aaa9a42ab9fc4cfa966d81c6587c6ab6fecfda3b12ba7f6bcdb3a7ad5b2b95591a22b0622cdf8b2fc8c5af19275d585597d6d6f368d8e18c4bb83a79fcff9b8f30b4bc95f637207f2d88effa81f6ff7b85c046244878f7223c91f0fb2d78d356ffbe7b7f10b92f51beaa3e6c7a55c2d7d7d9c89dee338467cd7721e73ccfc3d33c626cc4f657d3aec3e832f8fe33576f6293dbcfaa774b707333cbdeda9c0199e27aed96aaa02aac06754012d49d33c70f8b5d0496d931d7f5293c72f5de265d9537fa4b3e6a9e42fa3a6e3ece3136b6e8c7969fc3818c8cc138aaeb9be82867b467e0b3e113a88f7ae9c593ef22645317e97ca1b6c34e338bb2b9fd12e936d593a94d705e5731a3b099b1f9894dd596965a68fef714c19df5aca07a695bfcfbc715141fa8c2bd8a599e4ab7f5aa9f49a279fdf0990d66cd4a413fabc4e735175530554814bac8096a4e91d80f3c5b4e505aaab32de471be98f1e4b4cfbfa66ba6519cd08d3c0009d1ba2c3cfd2a61f9ba10ddfa0af7ec1f068f173f48ba7e9d1f70d96661cfe2385bae9efde329c7ffc0db4fd418acc300ee73a69fbdfd3f777d1b207e8efeea4d7b651f68d543fdf0cc55ea72f3f6c00daf79ea69b16107e993c7e965efc01fd4df06fc18f23ceea07e8bffc01cd72f2c15aedafd3ba87093ff5393d8fa66249a2ca5b4d8f5f223dbe8bf82a63503e0f7e97beb09cae2aa09033d14c4bd522b5f59fbf76d6f4bcf0159fc6078786fb3f3ab2f540e8ae5bae0bd3103eb438f8d1af9e7f796f623ebe92349c33d5f955fb6933a2e544f87ed2beeed6e44f6346d7ffc99ab2dc4f4fbcf9f2cbfbdc1fe25cd4f0f9926cea38b8d7fcc2bad5bcfc04e4e3c41f1a0cada8fff2c268095418e839b17bebcbb1f21577ddfab9deb777efdc1b332ee5b51b6f5944ed6f6d3d64ace1f8b4da863b17478ae0dfd7d5faf3ed4da90bd9e29aba9b6bab0b731d918707bb636f6d7b051fbaadf9c2c6dad985f879561a1eecfbe0edbd8d7b5b6bd7dd5593dbdd3e30b3b22caff7c4c1964fe62c8f16c57b633b9e6b9425bc3a64900ff695d1f1c2cf46a63a8e460d6fab5d7bfb82486918a5d0f040dbd13776368f3a92e9e75fb3aa617155c595d02d1e1f383fdcdf71709bf383b47e7a9ee134f06baba6d5d4dd553b2f37abffd0ff356757803e3efa3b077ac1d007477e1dba6671a5753e385153efcb714976e684c9304ea476fdca9ab202733ea00df69ed8f5dccba7523e8f82f219795e383f3e38e6df4f23fe17fabce6dcb557055481cfb6025a92a677fc363a1f943c19a399119adf405b5a68d30bf4c43f534304d5221d394c85d7985aadbccc84bb6b336daa438d41079aa9379b3e773d5d03de2a49effa5bda546faee2fde429ea5a6ca6f8c4efa1e66f98f2eee8ebd43685ea6be9eeefd0f94efa5511151450c37d66d6c9e3149e4d911be8890df4ad1db46527d55d4d6763b4af9d6ebc8136fc05c50ed1f3017765e5651ee76b7f4cb3c274741fc5ced2ac7954ec9c3cdffdef54e5543cc8e7a1ef98acd076123dbe2b309faf3f4d1b17187d8e1ea6a9151499c99382fac8aadb1b16969a2abbaba37f4a416961de94bc5c1ae8edebefc7c5d0bca2829cbc1c995b57ff9f6a8a12576722cbeb23cec0d963f43cff825379d955b96634ff4acf6745cb572d8de4536feca75c0b4a440f3f31f91c235c470c97562f2ea581b3ddbda1fcc2c2d92beb6b62efe6e46587877212150ee5e4e685b3b30af2910e3ef351b2b0ae04c29dedf924af30af24dad0d0f95ca353ab4ab616285ed4f0072b235914ef6e8ff50c840a6796e715224ef4f67bebf073f57d5d274e9dcd9a535911595cbf2eded73d259c5b14a9448d1a1fce9fbd7839e48e0f87f2cbe697d31e2edd3d3a6496cfc04046c7ebe4cc35a98ea3b54d814b1abe628ee0404facadb7f89ad915353736f474341e4a56d469e75f53bfb12e5a88daacbba36338b7b0a42037c7d13f40cf44498af2ab78d1da2fadaccca6e1b683bfdc77ae0ca7b8dff1eaf7d57f67676e6e381c8e2e758e2fce87e989f3a1a9658c7dc9fe19e4641c67cd8ac56505a1deaeb60fcf0c4c2d282a999685a7538ae751503edee7852b3597e9f51ffff3da155a4d554015f86c2aa02569dac76dc793e6a2e3ea6fd3e67514fd3d5a566eead1f8497ae876da8f17fa47e8858d4eac2abac7a947b7dc48cfdbc1571b63e013ba67333d048773b4e55e532f2e734a520cb9e23f5cead4a35be98f369b891bfe96be594f773e407ff19e31d11ab7d0b75ea0e837e8850d54554dd1af997af4dc51fa0f7f6c46577f973637d06debe97967baa146b7bea4996e9cfd74152efa9ea11d5b688755e63ef538cd29a4bb1fa2595368eb7f23942fe1301dde1598cfbe8f9d7af40c3db2d67cf07444b7643eaec7e2dadf37f568ffe1c667f6c4f0b2bfea9e3b169ab3f6f48117b7e2825ff1edf7df6197b46fff72774f616ef9e2e591822bda0eef7db797c2a1d0c71d7ccd96e854f31b2dd3e64e1f7eff5892492e575f5713a6c1637b1a9344e2d1cd4f583ece5f2f44ddadaf6d6b3a44c575f7de5193575c42bf1abdbee7730d1d2dcd3fc5c5bfc89afb1baaf38aaf260a2a498b572e31f568ecb51fd9556bf98adb518f0e741d7e76fb1eb352cddafbeb2a2b16d49eed3556d7c1577e5dba7a69596eff89d75efa68de1d4b4b72509e38cdad4382a674f3c9f078751fa354c731b9fac863f18a45a84707bb1a9fde1e031ba9bfbf215a71ed7c3ae46c9328ddfccbf397a31e1d3efbe64bcf9bcbe872be91bf9e58c9e43034386349c3cdcb23211a7cefb59fbd823a98ff3a25b73ee52bf27cf52fff974469eb3e1fc6da9759dd6ec91326ed386d8579f893b2ffc396d79a5a92e53b516fd0f328289fb6f3fecf533b371b4fd8f3c80eaa581550053edb0afc2e96a48ffed32fbe34cf794b3d71ec065e7ef4a6279a531ec8033f49bc09feea3e1a584745d7d04d1566c2bf3e6bea51b4e9c9976eba91f0ce76e75ba3eb51c70797950a16d343c067e8b1b5b4cb21b9f3c6bffe2a5ca8a29fbf9870dab18b1ea9a7f0d48479b2d1d4a368d313042d74f299369f9a5f356fdc9b7a9668aa732d70eb2fa96ad47ee9911b894bd20ce2bc4aafc708971dbff902fd7927eddf4b3ffc8e79777eff2ea3c086074db6bf7821a10696de1090cf8df34c62cd4f276e841ad1cdd0de563ce76aeca13776c0d4a368e15096f398ecf2b1d74f93061e4f9f6a3d7d8af26b6a817ff3fe21f71739a1826bb62bb4c4cce2da75d1c2507fdbc1ddb104c30f5e7ec2f229379fb41b3edb6aea5134e7f8e0ba698a06ff81f683a61e458b9d3c13af2e995618a5c447243c13e7987762fb4eed1b5db2ce2dc3f5bfe1f6778e26fc5bde39b3aab2644a7608e90c77efdf1babf8723da6b5bc7c28bcea5af8f0e771bd3a6028c37c78c1f48fd718c73191bf3c941698676076c9cdf7de6bb642d8115d3125f1ac4c3fffc5730b70287ade3d98f858c7c8f9e6afa7591f872d5cb61c1796a9bfa5e999663c299ce6abcf7cf3550e3efa83f53f1f82f75577e7fd35e6131cd2e2c71a7fb4fb7ca67162ef9ee829ad2c8cd6dd31ef86beceb69347f6edc6f78c053e8f6afc752e9e5394f2792a4926c0843d8fdc81d556055481cfb002bf8b25e9bf6d7feefcdc2b470edaf9eee6e611cb1f1d4bbeb047ab4cf5701cd7b2500ce02530e93ed32901613934f9ea6ac838c543142aa025b7d22eab26f5c69f828f410ed119b91e39cdc44451cbede37349947cc4e732d14e1ea1f77a93594da15f1f31e4b667a9d2deef69530e2e332394519c47efa00d8fd09d3751d5d554b78eea6e7417d678519216944f9923d0a95309c7bca46e327134c8cf37c5da40efd9049d634a0dae93463bfa598982c46f6814175db3d8dcd5b46fe7be5134f9f0139b4ffcfca0bd228a1277cb31253897aa00bd5d1f261c8a8b716d2bdedd99ac7fdcf308374ca17922864cbc4f07fbe57a5876d6155cd49b759c4b6cb8b4dadf496489e7a303c7ce201f279d313a6bc9519e41bce5549c17c6893178b6a3adfb7cf2f3c959833d1d8e4b06f9f738c22523984f2227ceb7003d4d7c23f2707c382b94152ec6e9dd9a3826a0bdfa0c85f203f43791bce7438a7d1d3f72303ec392267eeefd183e7c9c719c43af6cedaa59b57441a4ac28bf34525d1a9933abe919fe9c8b8985662d12944f7ebe1128fde7e9c43e8f9c2cb553055481cfbc02bea5d3677e57a937f0e6cf7ef4666a0f9fd1e4fbdc0faf3583673a28c729ad7ec32fedab69d3cd8949adefe3439234e33ac21bf5a8fc5ceddc617aec286dde481bf0c1d073f4947878e29f3845f3abe8b63fa55d3f3631a235e6dae740b226f51eb7fdefd27db514eea64d8fb8d6a41dffe866c4ce280e66edd86cfe51156d7992ea22f4c5076897139ce3243761c207e5f3cd3bcce84ce7951375f1d7d7183355332ff8e13ca7e0a6f2865595b0dd25a9e7cb861297529d0acb1d3b52b3a460f0c0a1915acedcf512a28ec37e7735f9f013994f9609e66e4e01caa56a64ddef4771d8adaba7892d2d5931cf5c03edff7864b26b5fa7cf0cc4293ff7aa4511b22ffdb67fd45b5352547eed126ac5c71ef0c6b4f3d9dac1b87da59950a4e28e3bd39916a48f33189c0fd2f61c17678aa9df1220f91074bc82789e67c73fddd63db8b4223bd4dfd8d8988c9a78cc2cff9029ad063fe13ff922eb57ce4b9c6f017a26d618ecf8d7a6aed5f8c8734dfdfaf8e08b7b62093ea9a21caff6dff8ebcfc7db7b3ea4d8d7a916cf0d7ac955338a8349a75af6e01fce86150d372f8e14ce995f4bade6cf33affe41f944ea16c03fd5f3d4757e3a857c2a7f844bfb3c81af36554015f82d50c05b92fc166c6a12b6b0ec6efae66d54b382e6cfa481e3f4d57fa40dd712cda7f57f45d3bf4837d4f1fbe4ce55cc57e995e3b4ae8a363751e3cfa92787165c4ffdcdf455e73a6b682abdba99fe66a6f960e8c6efd1c77f9678a7db1b1f85ed862abae13e7a229fdecda1bb9c4aae692751f5a8edc985c9fd9be9f817a9aa8eb67f9f76bc4ee5515a5d4f7d8db4f1c951fe41c698717e48b4793d1dd843870f5317be78d2f908c1695c4d73daf16eaa9a45f8fe81ffb39f96ada5ecb7e86b01f93c73dcecabfe3efadeefd1f537d10c545cd6d55f8e66f5b1f6d3f19aa2fccaa5ebd75e1d2e8b14393727395ff134e214ca2bab5f534fe7bb9bf63865163e1379ba9f8a0ae6ded8d07bf4547ef9bcab43eddbf896fce2daaf342cc575aa79f983dbb96e48def5d23c5246389103f809cb2791697217d685285045d1956b43d7e276a342738d38d15098e6562c5953573dedaa59b34bf2708d74e4cbaabcfba2d8bf1fefaeaf2eaa6eb8e7cad6773a3f09155f559e3f14dbbab3f5f335cbf3672fbbbd3efc6e7768fea2eb50daf6bc77ec3c3ec6eabda68a957313777db9f5710ae5c07c9c94b3f32b705c4274f6cdddfbf84f37de49fac72bf0387ae39fdaf35ef7fceaa2c83d1bbf70a4e504e517cf827a83ad4fff32ce77ada5997faca678984a8ae6af5e37757efeec4841b6b392f99b2048cf0fcd199c954db13dcf34e7dd5b5759b670edbaf32fed6c337f4878f569a5215ffd6304fdad26e743d0beb6355bdec170cc38ff8fee6d98dfd7fec1898e8ede7394e77c39c3e0b9c41f977efa07e87c20e5f3d4737e4ed8f348be6a2358031d51055481cf8a02599761a25738cd4e8c192f6ffb4c2eaec20deceb4c3dda7984fef31f9ab5763c42073ea4d00cdc3741e14edaf203dcb044539db7a11fff436ac467f5705ffc46dab881164428d77965c025ceb8739973c75fd20ff08a12a2fbbe870b8ea679e3d38fe9b11d3410a686bbe9a18da6746bfe093d8e2f7572ae4b7d92bc86d5e78021a7dff86d732f3c6ec0dfb48936aea3b2101d8f39d17dbb0ce3bc7a8c3a8768499db99369d343b4e06a3ab9cfdce6cfed5bff93da074c418ca571bd843ff2ea9bcfaec7a83966c4a9afa719676947936f7223646bd3fe588ff9b05e656551ee40ace5bd7ea229d6691b37affc25e627836ae64592d35a9af6b5f5c6710bf9f2952b6b22a5b9d65f5e3c35cba984e1deb0666198e2b8abc9ae9952f03461f998c487ccd7ac3bedbc3933cc65bf53cd47dbfb28bba0b2bab230bbaff5702bf68bdbe0e164365a34bbbaa61af5e8605fc71b2f6f733e559a08e0da17d8d6dddbde68ed8a53b822ba70f1c29ad9a585b953b0ed03cf35b5f4c643a5d1c52b972f4489df133bb87537220d53dc5caa8b2391914ba6c3a5cbfcf5192b1fe7440f17e1b85446e7162572340f191dafe0e3e8137ff7b6a6133d03e1c2d94b57ae5cbab0ba343fabf7744fd0f10dccbfa5f1edf65ecacaada88c1484fa8ebdf646c72085a698ca34404f325fc1cad7f35a5ef9d91bb141caaa587acb1afca8aafff10ad23fe07c20f2dd9791d2bf651827d6d5ddf769615964e1623c5796474bf307cfb6ed6b4a9c59befafbe7e3795ea0aab59ea6092ccfbb897b1ef9aba0ac2af0dbaa40503974290ba489d3fa8a4f3f1d79fdf186955106763fec5caa02230d8c8dd9442f0da3717cb50c5e789d9e01b0dd400e0d0dd90c63767efbedb79f78e2096f9e93cee023a4d32b88da68fff1516badbe95a69da35df2febb3d5845b74609d7a03e6875cfb2bd1807c547c5ba619171f960c7c89d43dee93683942a72e9cce980ac6cd794d8370ebe85b46a8ed9d4e943f4ea6829100c538a73dda9fac60189eaddfe346d502ec5e5b8d582f02d89f939b1588c6a1a1eac8bf4c5de78d6f99ec8a049cc9747a285d3b2cff5b4c44e8d38164797440be3adfb125f0eb468c5aa69036d7b0fc4463c1c14c4239389cdc7b52e9bc81c5fa7daddeafe3dfbe2e2e2701817797b4f25bf6755a6bbf6253cde8d8de2d72eb369b0a73b3632ab385a833bbfc9258e352b01037570c653e4e30d3526e37bbc302b88f70d581c899616640ff69f6b6d8dc1617cf99b20d9831dad31d71f2ace8abe7afae642c1faa4abbfc475ed4bf84c817f9ce2f2685161364e92733e9bf6d5df370ec822bff31649bacfcf8bf23cca541cf557052e8902274f9e2c2828c097f9a2ac0c85425c5c3adfed4bc04809b5134a20b4fefefecd9b375f77dd757083037a579b32658a2f0f9279ee11d621129d98bc349b820190035cd133b67b21012ebc5da4925404457dc9ca32b0cb4dae44317a3996a417aeb44618970291ba8d0d35791d2762ed1ff5e5ce288d549699af6a6afadfa36ebf1857e4f14dbadcf219df2e74962a706915d0e7d1a5d55f57bfac14988c9214b529aa552e40057005ca26302a4b666c00cc2603ee21173cd1c374f562025c78b3ded1bce060c815a5a72b0cef4778d99ecb4d4d55c05781deae8edec168e96cfc73c6e3fd6dc7f02d35bebe1783bcdcf2b9187bd63554818956409f4713ada8c65305c656c05580b94c990f5ef04506135692620f5277f21ebc4cfa7b1345005cedda6baf7de79d77d20fa59e9f69054eb7ec7eae6537deb72fc23bd9837dadf67bf0976263975b3e9742035d5315b85005f47974a10aeafcdf49057081d35511c16425048c4318ef5c2f338eb0e39832012529a76ed7a3996e86fdd14bc34e18bbb6949393b37cf9722d495db2fcd69ba74ff97eaaef92edfb72cbe79209a10bab0217a0803e8f2e403c9dfabba840474707aa20d7cea558920a0a003edcbb9c53982e7f8e96c27f3286ec7b22c713ff42f6c01be608ae38ae54c473faf4e9f821e855ab56b91cd4540554015540155005540155e0b755015cf8dbb56b17aa20a98852ec542a2b764ee1690f799d398eed33a978fc574991a87d65349d2c656fbceda0e93c6af7123c3f3f7feedcb99878cd35d7bcf9e69bc78e1d932105aa802aa00aa802aa802aa00afc96298072a8adadeda5975eeaeded2d2f2f97ddd96512631972017b14d8353aa6398e2963c6f47518a3ac94aa9181ab1713000d37cb33408f5be985619e6fb4472ff7da33664fb9cb1ea460be1f9ffdc5195f8270e6cc99cece4e304c32406fafcba63000ae0639e0831e3c4b23c0572925550155401550055401554015185301a9e118c8edea305d4d3e1e2a37bf33c3267ab941beb4b4149748737373c108c9587afb4ba080b1160f491c990806a3768f21c98d7936b1591bb029bd0d802fb08dff2a699a0bf34e7cab3dd93c468125a0f002eca1a953a7e2c09494944825ea028886c6852c264a6dcabcf41802969e3dd16b53055401554015500554015560dc0aa0a4e3b95cdb482f558d00f6442f1521b06fe36a9243497089c3401266371915de06ae29f6d0a5c2e32949b10d2ee65227cdbbf5f5f41df2558749e97945980042ba0086b028481c54d4a3ec9c3a551e857f3a6eeaa30aa802aa802aa00aa802aa409002527830901ec0d51001b5074800d7906df2282f67f33c91797bd46680798a8b4ce11fe4e9cb4f20399e92349de5b1ff748a5191c996954919c2723603cc1527c7770dc1647fae47b94f2761f5510554015540155005540155e0c215e0520471a42661ecad58b81ee5de3bea8d63fb709e5ec65e572248023ccbd5db6eaea18b696656922269df429333e6d1201fd786bd26186e889684238c974ce18c21f8733dca9833d45e1550055401554015500554814955400a0f06d203785b8a7ad4ebcc0c27ef1a056933f606c1a7306588dd5cce32ca20f5a8cb395333b39234d3e8de0d6033dc24149bae4b9e184d3a8ef1c8574c6d279ecbf171a453d4d0928302554015500554015540155005264401d4241c8781f476adc238753d8a20de29be8ced294bc393b177941919bd4cc0c494a4d8b66fe567f32ca2b8b189deab140fd97c10035e2e85b20f7a4c6492256686b1abc71057b4cc4b6e2e3735550155401550055401554015485301bbf0100c90a2f9d6a6be247270c51186d39351e1c1f09030b629d806f6149b9f549c6e498ae432aad85cfe2e53b6041e8d4dc66c32062fa417e050714af61093f65d4d60d884b3009e881e73194b4a0a54015540155005540155401518b702282d782e03e91970a109070620b9b9cc249df8aa26315d0071981100535617cc8cf42ede658a5b10c8d43f288e8b4fb724754d0b3291a5abceb3f396514c0766933107645246d90ceae126e526fbb029d339261f6364857a14580b5096457b55401550055401554015980c055093705806d273ad829e2b13316de01a7299b6a70b634566eca56d12a36c8a033362daa34c5ee4fe824a526cc6aef05c26efcd76e0bdc1cdf604664f5f605cfd1a0e125ff2944161381a4c2c8d06375e170c004ce68101a4b701b036554015500554015540155005c6a1002a139ec5407a002e4500b8c14cc291472fe96546bc4723accb0403495e486118804fcd781d5cfe13688ebf2445965cd2f966c39b170776b649c698cbc0d563a28b818943e2e54172025ca1b20f18bb12c52c69709021c4042ff9bb4ce115a802aa802aa00aa802aa802a908e02a825c40d584c0054200ee1d361c81e65d366648e2f8915c5c106c2734a3cc424332e07216d8059b6397978fc25a92b27646c9777322abc0d18a34783a7f4029834c37e0dc7036b6104802b51f66293e7b20fdc5c05284fe454792e63cce221006daa802aa00aa802aa802aa00a8c4f01d4243c91010a12985ca8702f26866c1ed8c58829c0e56f0794b002ec5160f03ce4026c4a2f9ec25c1c30ce9214e94a2567272adb708db23f7a0632854d874ed4a68cd1c347308e044c2e1981b994b4010794f214a654a270c3446eec86b030817915c6f61476d35e1550055401554015500554814c15e0a205b3a498b1b1d43636c0149e0592317a76f00542da4118f35ac0b2280037db21c98d1ae259ae219841bcd7f34298314a522421155bd032413ec2331093f706931b874d5a238f5877c448221c036f3d2a0c87c244b80103a0f12863e9655176b34dc6daab02aa802aa00aa802aa802a300e0550b3f02c01309385ccc82348a92c6d6063f6f632235192a5a7cd004b02c233c399486f03716020415cbc6da6e363fba7c66394a4988cf550c9a58e1234cab962ba0461c6d5c37435a8cfb3c00b760198581715a70b6022930068f0e11ea11c22d1d93ce7cf6e8cb5570554015540155005540155601c0aa0deb067b1895e1a4619a3801192b1f45ee09ae29d2ba104f042aede36e109737ced42e6faae387649ea9a860cecd24dcc3101a78e5e00e2b0293dd682c47c5d534806e0e18f1e3e5c71b21bfbdb3ca7875178622e7a304c32e09e79f4d2d8474c05aa802aa00aa802aa802aa00a64aa00d71e328b4d2e66b8c71003ae5e8001d084646c33b68ff0ec2f3d78892ca48b6153fa3401dc6c4f3627bccfb824b533c0865d659c3002bcfe3c841e43e86de0c230a12f9640cf6528b04d228294a77c24b84ee545e18cc61118632e03f4f0e19e9dbda6f00a5401554015500554015540154853012e66c4994df4dcc027e1c8236a15340c31c00000f702d8db36198f44b190acc2c0d5c3b41be6b1294046bd8c0c4d38b8a09254b241c628efb807e902bc1fee79947b5f86e360084203a33100c324e6baca50f80809c0531898f956b349c6e8a5c151b002554015500554015540155005c6a100ca157b169ba688711a869270e4518a4b06e805c04930039e06cca1847445b64dc6e8052088602fe051e37d11dbc494a476c2d8865ddbb1293d3c31ca5b15d206c010977d18600aebce7305b3899e2b543131174d4c8cda0c6376808fb8d9c0a1b5530554015540155005540155206305b8c8c134018c617213934b1a90003cc4407a1b78b177a22bbe2c045e3003e901b8b14fd2ba048f1994a4c8d5aee45227cbce32c53681c564eceda13bd6020f108fc7198081c905a88d910927263d039bb787bca3bc17e1536f4d47550155401550055401554015085200450b0f31b04d60361970950967062019a4d37b67714c6f0f4f2619482f00a3c069b68c9cd38cc96e1994a4be71919954728219d83de6da2630330076c331e06820193340190a7f309c037cb8c104f0f64c0acf2031c7cf1f0eda54015540155005540155401598400550c3209aab87c90d435c7a0a00cf4c8a9e87c453002f24a3bc04f7de1cc0a4266d07c617a11f4f498a1d4acd974e8af0871ba630e0e98231042c26d484276a5030c01c9f97e321f472a194c37a7b5e0bbd0d80d9d3a1470a595e428288a9401550055401554015500554814c15e0924666498503e0c2ccd83d8a1c98dede45b20937f6141300eba2b74110960cd3011c241dcf71fb8ca724e5c5901c17790c5c3da7ce1521fc19b03f4c8ca23109208c009050591c80e542a90461e0ed1104cee05d0d3c330c5c3d4c6daa802aa00aa802aa802aa00a4c940252e120a0601b004b43a903372e317d7b26d93f084b3401bc344cd91463769051219991de06c093dac65f92a6931676882a903dedcd83f49ad0d7fed8287cc0d8abd81747c173640ec5052b6361d841866032238083332901ed1515ab02aa802aa00aa802aa802a9091025cde618a00c66c72fdc398eb1c60bbc464531806e819c82833e839388f020b80a73449801998dc6026e1a57f9c9892145be2c28ef706cc8cf4e2801d03a3318027ab89c21124b0003800f3a8ed065e48600ca17134f8b3891ed1180bb09d790af7e0798881f6aa802aa00aa802aa802aa00a5c88025ce77004c6d2db00d8db50e480e45e806d8a830b8833038c22016069b2236678d4eec1b38f00997211c00595a4c8588a3f6faef6a860d92a4fe43da3b71b8bc89e5c95c2198d190021318bcb5006dcc34d6a53c6e89d0089cf8fdaa17808bd34191546812aa00aa802aa802aa00aa802632a803ac4f661534800c602ecaa91317a8c726f03c118e251e91d22417264578f946c864d576fa7cd1853c4c73b3a194c5a2529d2e242cd0bec9c78d4ee5da36c22147cd060a21713188a82e4b7ef8d87d3c080974a91018a4e0c32468f0653481e121e0041d8b401309b2ec0a6f6aa802aa00aa802aa802aa00a64aa008a109e220026309b2ec0a6dda3e6119331a6033016203e0c6c1f616c1fc90124b0dd98b17b7b1458a67881cbf342ccb44ad23117408a5cf6b1279b92b74c870f48e6d1db2624e608e081515ca2e7898c25beb8818743281402038c9e6302a0f12863eee16c03367909ee316a9b8a550155401550055401554015c85401ae7364169bd2db00984dd43c8ca5670641c030965e9c01b8890f4f072971384290c93cfb48c25ed31e9a3c7ca1252936c3959c006fae3cc4db86b36dc219c271f9089e4df661ccd1d8019e3079140cfcd1f3ea76610a068d57617f66d0b3e9ea61726387a4a58faa802aa00aa802aa802aa00a64ac00d733328d4d570f931bdc9230f1c805a5f06c720f0f1b008b690f71207b88a3494c3101bc0dd39914e0f5990ce6424b52574ec85eca41d989cd30e62171e059d08e4b4c0084b5cb5098980806a5a794a11256182e4cc1bb1a4f07c9c0d5c3e4c60e494b1f550155401550055401554015c85801296f78a65df308b601b0dd308b4dbba664cc059260710040e38902ec988cd9c1ee7d79385c929671498aec53976eec60f7b231de39a6f32854e36a92e5037601780ac9b3d8140cc098017a382038561406404c06d2dbc085616a530554015540155005540155205305b80ee1598219486f036036310585109b766f938219b87a3101100d4104b0290bd9e931e91a6207bb1fd3c1761e07ceb82495359019577bcc70a23663f38c312afb81465c3e0ae021981c8479ee5d1747e180c609304628061c042656640c1e984719480f9002f3a8f6aa802aa00aa802aa802aa00aa4a900d71eececc5cca017209e28788079083d4cc136609e9d05b3833d05a1d814c03ef6126060ba9ab809efeb26a31308c65f924a12c895cb3e9b610c9e77c2c065ca2619403b2e25b9000506c391d1db18a6ab710e42b2891c98612029d9a60bb38ff6aa802aa00aa802aa802aa00a5ca00252e7200e6361c4b401f0988d0b4d76130c60636f104e00bc9d8998ecefda2c8fbac84935d32d499119ca3b4e45b00b70f6b61bfc61824763e032392074e462d406180289891c041361caa74581c148131f61008464e0eac504d0a60aa802aa802aa00aa802aac06428c0950c223370f56202d88dfd85918a13bc6000366d86a708035342317099ec00d2c50be302ecc6e4c4f6e996a4e9af8abd7139684fb1378c5128c535a8f8086303cc821b182e34d9c4140034265d3d46c1a0e7f83c2a240f712f240037e193843eaa02aa802aa00aa802aa802a9099022851ec09623270f56ca2d4c1141902f0367680a73d649b82058827189e2e8c9d21630c79c98bc98cb32445de5cc00990fdd83c6f0f8c6b9f5e06d3a117d79100700096e98c79167a3461309119578feba99c92f0ec2924039b1446812aa00aa802aa802aa00aa80217a8805dfc0866809e9b2c9124463d6214367a5795290cd79af6a88d2516c7119363b2294bd800d836d99fc9c9ebc759927a1342ba28fe6403c0ccf036d8f4ce7231d091ab52f0c098c53d879232548203d818b398e19e4d498cd7c25010605e7b5540155005540155401550052e5c012e8110c70b84e421f4d27808a6001962d2b7e8649f1443ae206cda69707061002e72cba02445ae52cf6594256f92e77210d9b6370ed7a0527d72852a4bdb4118a3978668c0dc0bb049c13600d6a60aa802aa802aa00aa802aac0242920650f03dfde45c2e486945c80eb4ee6058f598cb23f6f5002b299518fb919f9a7ef9c41491a1414c971fd670338831486e7b2297d5040f05c980ae0f8726f134c6e707001984ca267c00c63e96d00cc4d3c93843eaa02aa802aa00aa802aa802a909902a8735c138461609b36c62c98dc040b488ef85f3d95515fc041a407e00667009e62334c3273d1faf197a4d880d4703676a5ce43e8c1c39f810bbba6c0e459f62552cc45932136d1b327076407e9ed51598247d95f480632e4e2d5540554015540155005540155204d05a4d4117f6104f0109be80580f7356d92b14c910ba5c2bb80c49429022443176007266dec729b5833b3921469a5aedbc48137c0ce4c0ac300dbc0a860d9151854a23cc4d74aed20c062720466d063220f09cf3199949e57647f5954812aa00aa802aa802aa00aa80293a780143c0cec1e8bc26486b1302e9e4df6142c26aa26d7441962671995556cc626817d1b07f41dba7072a48c4b3396947dec6f9b826d60634c81c90c03176652dcbca33ce4727099320b3c376680bd4342265cf5411550055401554015500554818950c055c04981c8b1ed517b08989bb88909003231ec3cd8a68ded292ecc6ee8196054b00bb00393de219b9f109c71498a55a5c2e30cc41460fb80149e81438cdc843426693bc85c5ec21eb293115e3261867da4f7256554812aa00aa802aa802aa00aa80217a880d47c761c26837a786248461908e98c8caa4ded21c1025c715cd1e0c69e0c6c2c9e3ce432c57fa240666fdca75e15b9fa16792e9eb7044fd99b600158c88b390e781e452fa198e129f644f1b467092909801192b1f6aa802aa00aa802aa802aa00a8c43015775c111846460f7b284900264ae300cc00370f3c5412407e451c136404cdbbc98d8bf884c9d019777b68fcd087601afc98cf40082119c4d2fc3ebf2a8b849322e7f76905101ec2626035fd2e5a3a62aa00aa802aa802aa00aa8022914f0adea52903c64f71c1c8c900cc03b5ce212a998e29682e121f402ec9836efc5410cf313d58fa724c5daaeea2dc8149e81d7b41960366dc06b096f9b2c81d7997919e5294272287b548614a802aa802aa00aa802aa802a30b10a48e587b05e6c33e2c0247a069c8f984ca6306588038abfc491857c81edc6d8761366c2c1384b52e461d7762ed31e12ccc0d7942100c1125318065e1e8c8b14d306c6c9691227498cc1bbdcd45405540155401550055401552048012e01bda35e5e1817f0356d92b16f0fd297e77cec21306cda435eec726387c9e827ac24457276a9e78b9994211bd843c02e9377eee26545db593462527c6cc03ee2205314a802aa802aa00aa802aa802a30e10ad8951f828be905bc34f3762fb340326f338c9997dee5e6f217132005f68e323319fd44dede64e70721a4e6132ceaf0908b07290e7628c63cca5364220ff12c594e803d2a411848ef72165e812aa00aa802aa802aa00aa80217a880b7b0f1325882491912e01a12def6176c8fda98b7004648092b430c2e6d3f52388e230f6f3de7626cd385c57401db64ec6538559b0723a66bd435e4726367ed550155401550055401554015986c05d22c0ad94d9c05203d60311938c4a8ef167539b866b1293b1567665ca6cb59664d06b8a0921409792b3c17639b5e2c8c0d04737c365da47769979bedef122e682888774d57531550055401554015500554812005bc551d7b06f11895210662da136d52dc5ca4982e20a6bd960b7b4d5f06e424b50b2d499196b79273314126f3322a8063ba4c59c8cbcb1080347113e01d1246812aa00aa802aa802aa00aa80293aa805d17f242c208900484118021c6762f71bc6e2e7f3179ca98a6d741264e12f8ffba3514d26992f3fa0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You may also be interested in {\field{\*\fldinst{HYPERLINK "http://brunch.io/"}}{\fldrslt{\ul
+Brunch
+}}}
+, a similar project which uses skeleton boilerplates to generate new applications.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Backbone DevTools\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When building an application with Backbone, there\u8217's some additional tooling available for your day-to-day debugging workflow.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone DevTools was created to help with this and is a Chrome DevTools extension allowing you to inspect events, syncs, View-DOM bindings and what objects have been instantiated.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A useful View hierarchy is displayed in the Elements panel. Also, when you inspect a DOM element the closest View will be exposed via $view in the console.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\jpegblip ffd8ffe000104a46494600010101004800480000ffdb0043000303030303030303030304030303050605030305060706060606060709070707070707090809090a0909080c0c0d0d0c0c111111111112121212121212121212ffdb0043010404040706070e09090e110e0b0e1114131313131414121212121212121212121212121212121212121212121212121212121212121212121212121212121212ffc0001108028b048e03011100021101031101ffc4001d000100020203010100000000000000000000010205060304070809ffc400631000010204030306070a0908080600020b0102110003042105123106415113142232617107165291a1d3f01542535556819295b1d123335462637294d4e1173574a4b2b3c1d2082434647382a2f1254375b4c2c34484f2263637384576832793b5ffc4001b01010003010101010000000000000000000001020304050607ffc4004a11010001020402070407070302040505010001021103122131415104132232617181425291a1051462b1c1d1f006152353728292a2e1f133b2244373833463b3c2d207546493a3a4ffda000c03010002110311003f00fd1a2eeec74716767f26dac03282ea29e374eefd5b5c98087568cc3771bbe96eb71f6708dd7eb0074dd7dd6d6f017198024393f67a2e6028d7d129dce3fc2dac0496d42036e0cfb8e8c0de0274b311ab35f8dd3637e301501b706d580ec6716d4bfb6f096019ba2dbd3bb5d2c7a5010a04dae2d76bdbf36d730129e8a8b8b6ff004dc5b5e3000fd260ab5dd3a7cd6d4c03824803b87a438d60248c9d54e52da0b81ae96eb4045ca83b01776e37d3b78c01b462d676edf31bef8095be845869e9b8b1bfb778406d183e819adb8b5ae601c7a2ccec536e3d5b6b002eaddfc0bea9e8ebc600c3781a1bb717eaf6c01981d48008ca3777747ad014292c546e4f0f9faa5b580b93d116e92756fb45b5ec8092eeec74716767f26dac03282ea29e374eefd5b5c98087568cc3771bbe96eb71f6708dd7eb0074dd7dd6d6f017198024393f67a2e6028d7d129dce3fc2dac0496d42036e0cfb8e8c0de0274b311ab35f8dd3637e301501b706d580ec6716d4bfb6f096019ba2dbd3bb5d2c7a5010a04dae2d76bdbf36d730129e8a8b8b6ff4dc5b5e3000fd260ab5dd3a7cd6d4c03824803b87a438d60248c9d54e52da0b81ae96eb4045ca83b01776e37d3b78c01b462d676edf31bef8095be845869e9b8b1bfb778406d183e819adb8b5ae601c7a2ccec536e3d5b6b002eaddfc0bea9e8ebc600c3781a1bb717eaf6c01981d48008ca3777747ad014292c546e4f0f9faa5b580b93d116e92756fb45b5ec8092eeec74716767f26dac03282ea29e374eefd5b5c98087568cc3771bbe96eb71f6708dd7eb0074dd7dd6d6f017198024393f67a2e6028d7d129dce3fc2dac0496d42036e0cfb8e8c0de0274b311ab35f8dd3637e301501b706d580ec6716d4bfb6f096019ba2dbd3bb5d2c7a5010a04dae2d76bdbf36d730129e8a8b8b6ff004dc5b5e3000fd260ab5dd3a7cd6d4c03824803b87a438d60248c9d54e52da0b81ae96eb4045ca83b01776e37d3b78c01b462d676edf31bef8095be845869e9b8b1bfb778406d183e819adb8b5ae601c7a2ccec536e3d5b6b002eaddfc0bea9e8ebc600c3781a1bb717eaf6c01981d48008ca3777747ad014292c546e4f0f9faa5b580b93d116e92756fb45b5ec8092eeec74716767f26dac03282ea29e374eefd5b5c98087568cc3771bbe96eb71f6708dd7eb0074dd7dd6d6f017198024393f67a2e6028d7d129dce3fc2dac0496d42036e0cfb8e8c0de0274b311ab35f8dd3637e301501b706d580ec6716d4bfb6f096019ba2dbd3bb5d2c7a5010a04dae2d76bdbf36d730129e8a8b8b6ff4dc5b5e3000fd260ab5dd3a7cd6d4c03824803b87a438d60248c9d54e52da0b81ae96eb4045ca83b01776e37d3b78c01b462d676edf31bef8095be845869e9b8b1bfb778406d183e819adb8b5ae601c7a2ccec536e3d5b6b002eaddfc0bea9e8ebc600c3781a1bb717eaf6c01981d48008ca3777747ad014292c546e4f0f9faa5b580b93d116e92756fb45b5ec8092eeec74716767f26dac03282ea29e374eefd5b5c98087568cc3771bbe96eb71f6708dd7eb0074dd7dd6d6f017198024393f67a2e6028d7d129dce3fc2dac0496d42036e0cfb8e8c0de0274b311ab35f8dd3637e301501b706d580ec6716d4bfb6f096019ba2dbd3bb5d2c7a5010a04dae2d76bdbf36d730129e8a8b8b6ff004dc5b5e3000fd260ab5dd3a7cd6d4c03824803b87a438d60248c9d54e52da0b81ae96eb4045ca83b01776e37d3b78c01b462d676edf31bef8095be845869e9b8b1bfb778406d183e819adb8b5ae601c7a2ccec536e3d5b6b002eaddfc0bea9e8ebc600c3781a1bb717eaf6c01981d48008ca3777747ad014292c546e4f0f9faa5b580b93d116e92756fb45b5ec8092eeec74716767f26dac03282ea29e374eefd5b5c98087568cc3771bbe96eb71f6708dd7eb0074dd7dd6d6f017198024393f67a2e6028d7d129dce3fc2dac0496d42036e0cfb8e8c0de0274b311ab35f8dd3637e301501b706d580ec6716d4bfb6f096019ba2dbd3bb5d2c7a5010a04dae2d76bdbf36d730129e8a8b8b6ff4dc5b5e3000fd260ab5dd3a7cd6d4c03824803b87a438d60248c9d54e52da0b81ae96eb4045ca83b01776e37d3b78c01b462d676edf31bef8095be845869e9b8b1bfb778514c12ab24962dd9c776b01aeed76338851d552d151d44ca5419226ad72ce551254a4b38bfbd80ce6018954e278309b56be527489ea94669d540242813f4a03985efbc5f3003fe9b6b0172e59c8e36bb7eadb580adacc3a2342069ae96378097201ca19b727cee3a3ade023aa4b0eaf93ff00c6ccfd9012cae97bd625d871de9b6b0062059814dd80f48b366809200b164b689176fd5b75a02a74653f4bb19b5d2c7a57f6de12a0c199f2e8187fd36d4c0468961a83701eddd6d601d562fa5c376bdc3837f6ef0a925f7b6a520687f36daf180b870e01005cd9b7f0b5cc045bfe62094e51e723f3a02580f7a3b0368e59c747580127df0b0d0ebaf93d1b9808e9300dd56d03fce2dac04e520df7700edda0b758c04849be96d14373f0b6a60219cd8f1ccc93c0e9f9d7f6de0172561c1dedfe01b5e3ece10c1ee001c5238f061ac01aeaec7205fd16d7dbbc04f4728d068b1c7f3586a60205efbc5f3003fe9b6b0172e59c8e36bb7eadb580adacc3a2342069ae96378097201ca19b727cee3a3ade023aa4b0eaf93ffc6ccfd9012cae97bd625d871de9b6b0062059814dd80f48b366809200b164b689176fd5b75a02a74653f4bb19b5d2c7a57f6de12a0c199f2e8187fd36d4c0468961a83701eddd6d601d562fa5c376bdc3837f6ef0a925f7b6a520687f36daf180b870e01005cd9b7f0b5cc045bfe62094e51e723f3a02580f7a3b0368e59c747580127df0b0d0ebaf93d1b9808e9300dd56d03fce2dac04e520df7700edda0b758c04849be96d14373f0b6a60219cd8f1ccc93c0e9f9d7f6de0172561c1dedfe01b5e3ece10c1ee001c5238f061ac01aeaec7205fd16d7dbbc04f4728d068b1c7f3586a60205efbc5f3003fe9b6b0172e59c8e36bb7eadb580adacc3a2342069ae96378097201ca19b727cee3a3ade023aa4b0eaf93ff00c6ccfd9012cae97bd625d871de9b6b0062059814dd80f48b366809200b164b689176fd5b75a02a74653f4bb19b5d2c7a57f6de12a0c199f2e8187fd36d4c0468961a83701eddd6d601d562fa5c376bdc3837f6ef0a925f7b6a520687f36daf180b870e01005cd9b7f0b5cc045bfe62094e51e723f3a02580f7a3b0368e59c747580127df0b0d0ebaf93d1b9808e9300dd56d03fce2dac04e520df7700edda0b758c04849be96d14373f0b6a60219cd8f1ccc93c0e9f9d7f6de0172561c1dedfe01b5e3ece10c1ee001c5238f061ac01aeaec7205fd16d7dbbc04f4728d068b1c7f3586a60205efbc5f3003fe9b6b0172e59c8e36bb7eadb580adacc3a2342069ae96378097201ca19b727cee3a3ade023aa4b0eaf93ffc6ccfd9012cae97bd625d871de9b6b0062059814dd80f48b366809200b164b689176fd5b75a02a74653f4bb19b5d2c7a57f6de12a0c199f2e8187fd36d4c0468961a83701eddd6d601d562fa5c376bdc3837f6ef0a925f7b6a520687f36daf180b870e01005cd9b7f0b5cc045bfe62094e51e723f3a02580f7a3b0368e59c747580127df0b0d0ebaf93d1b9808e9300dd56d03fce2dac04e520df7700edda0b758c04849be96d14373f0b6a60219cd8f1ccc93c0e9f9d7f6de0172561c1dedfe01b5e3ece10c1ee001c5238f061ac01aeaec7205fd16d7dbbc04f4728d068b1c7f3586a60205efbc5f3003fe9b6b0172e59c8e36bb7eadb580adacc3a2342069ae96378097201ca19b727cee3a3ade023aa4b0eaf93ff00c6ccfd9012cae97bd625d871de9b6b0062059814dd80f48b366809200b164b689176fd5b75a02a74653f4bb19b5d2c7a57f6de12a0c199f2e8187fd36d4c0468961a83701eddd6d601d562fa5c376bdc3837f6ef0a925f7b6a520687f36daf180b870e01005cd9b7f0b5cc045bfe62094e51e723f3a02580f7a3b0368e59c747580127df0b0d0ebaf93d1b9808e9300dd56d03fce2dac04e520df7700edda0b758c04849be96d14373f0b6a60219cd8f1ccc93c0e9f9d7f6de0172561c1dedfe01b5e3ece10c1ee001c5238f061ac01aeaec7205fd16d7dbbc04f4728d068b1c7f3586a60205efbc5f3003fe9b6b0172e59c8e36bb7eadb580adacc3a2342069ae96378097201ca19b727cee3a3ade023aa4b0eaf93ffc6ccfd9012cae97bd625d871de9b6b0062059814dd80f48b366809200b164b689176fd5b75a02a74653f4bb19b5d2c7a57f6de12a0c199f2e8187fd36d4c0468961a83701eddd6d601d562fa5c376bdc3837f6ef0a925f7b6a520687f36daf180b870e01005cd9b7f0b5cc045bfe62094e51e723f3a02580f7a3b0368e59c747580127df0b0d0ebaf93d1b9808e9300dd56d03fce2dac042d24053b581ee1adc16d4ef80d1f6dff009de9bfa223fbc9901b16c7ff0031cffe9aafee9101973ef811a6a07da2dadfdb78481c52599c11b89d32db58035956722d606dae96d6028036a3a274501e62036b0166297b9007929d7b9c6b010500b2729b0259bfb36b98092e06997b06efd5b1b9809395c82963d9ff00c6c5cc01432e6395c962c077e840d60232d88cba7a3b536d78c0491c5dfdf650eddc5b58065e1de34d0bdc7475bc045c0b8d356dc4bdd36d6fedbc07536e96ae9ff0f9e0248e1d1f2bbcf9367780aad2e58259b4481bb882dac0087bb3286a18b8ed072f5a02dbef98b6f0347e1d1d60212866212ce1dc6ed7ab6d78c037170e12d617f35b57d60272850394585cb5fcd6d4c041eb1b1001d40e3e486d78c05b290fd1091c07f85b53edda15cbaeae3736ef293d1d6024823835ee35bbb10c358083ef811a6a07da2dadfdb78481c52599c11b89d32db58035956722d606dae96d6028036a3a274501e62036b0166297b9007929d7b9c6b010500b2729b0259bfb36b98092e06997b06efd5b1b9809395c82963d9ffc6c5cc01432e6395c962c077e840d60232d88cba7a3b536d78c0491c5dfdf650eddc5b58065e1de34d0bdc7475bc045c0b8d356dc4bdd36d6fedbc07536e96ae9ff000f9e0248e1d1f2bbcf9367780aad2e58259b4481bb882dac0087bb3286a18b8ed072f5a02dbef98b6f0347e1d1d60212866212ce1dc6ed7ab6d78c037170e12d617f35b57d60272850394585cb5fcd6d4c041eb1b1001d40e3e486d78c05b290fd1091c07f85b53edda15cbaeae3736ef293d1d6024823835ee35bbb10c358083ef811a6a07da2dadfdb78481c52599c11b89d32db58035956722d606dae96d6028036a3a274501e62036b0166297b9007929d7b9c6b010500b2729b0259bfb36b98092e06997b06efd5b1b9809395c82963d9ff00c6c5cc01432e6395c962c077e840d60232d88cba7a3b536d78c0491c5dfdf650eddc5b58065e1de34d0bdc7475bc045c0b8d356dc4bdd36d6fedbc07536e96ae9ff0f9e0248e1d1f2bbcf9367780aad2e58259b4481bb882dac0087bb3286a18b8ed072f5a02dbef98b6f0347e1d1d60212866212ce1dc6ed7ab6d78c037170e12d617f35b57d60272850394585cb5fcd6d4c041eb1b1001d40e3e486d78c05b290fd1091c07f85b53edda15cbaeae3736ef293d1d6024823835ee35bbb10c358083ef811a6a07da2dadfdb78481c52599c11b89d32db58035956722d606dae96d6028036a3a274501e62036b0166297b9007929d7b9c6b010500b2729b0259bfb36b98092e06997b06efd5b1b9809395c82963d9ffc6c5cc01432e6395c962c077e840d60232d88cba7a3b536d78c0491c5dfdf650eddc5b58065e1de34d0bdc7475bc045c0b8d356dc4bdd36d6fedbc07536e96ae9ff000f9e0248e1d1f2bbcf9367780aad2e58259b4481bb882dac0087bb3286a18b8ed072f5a02dbef98b6f0347e1d1d60212866212ce1dc6ed7ab6d78c037170e12d617f35b57d60272850394585cb5fcd6d4c041eb1b1001d40e3e486d78c05b290fd1091c07f85b53edda15cbaeae3736ef293d1d6024823835ee35bbb10c358083ef811a6a07da2dadfdb78481c52599c11b89d32db58035956722d606dae96d6028036a3a274501e62036b0166297b9007929d7b9c6b010500b2729b0259bfb36b98092e06997b06efd5b1b9809395c82963d9ff00c6c5cc01432e6395c962c077e840d60232d88cba7a3b536d78c0491c5dfdf650eddc5b58065e1de34d0bdc7475bc045c0b8d356dc4bdd36d6fedbc07536e96ae9ff0f9e0248e1d1f2bbcf9367780aad2e58259b4481bb882dac0087bb3286a18b8ed072f5a02dbef98b6f0347e1d1d60212866212ce1dc6ed7ab6d78c037170e12d617f35b57d60272850394585cb5fcd6d4c041eb1b1001d40e3e486d78c05b290fd1091c07f85b53edda15cbaeae3736ef293d1d6024823835ee35bbb10c358083ef811a6a07da2dadfdb78481c52599c11b89d32db58035956722d606dae96d6028036a3a274501e62036b0166297b9007929d7b9c6b010500b2729b0259bfb36b98092e06997b06efd5b1b9809395c82963d9ffc6c5cc01432e6395c962c077e840d60232d88cba7a3b536d78c0491c5dfdf650eddc5b58065e1de34d0bdc7475bc045c0b8d356dc4bdd36d6fedbc07536e96ae9ff000f9e0248e1d1f2bbcf9367780aad2e58259b4481bb882dac0087bb3286a18b8ed072f5a02dbef98b6f0347e1d1d602991904e5d52e4f0d74b6bc60348db7fe77a6fe888fef26406c5b1ffcc73ffa6abfba440661ecca1de407677d0b6b7f6de0c8d6b8d4333b0e29b6b01010a396d95bdf0dde8b98082092a70437017bf0b6bc7d9c2ce06660a1c1291a775b580382ee9ba83d85ff00e5b5cc057505ca757200e3e4dbad003a358a48dc3fb3d1b980b646d7a2e0bb76f0b173015ca06a6e905b2fa18b6b0136197a0e13a3379c5b5802937dce6e400fc5ca4e5d7dbbc0014b70dec01e23a36b980305976525add11a3ded6d6f7806536600d88b0b37116d60052a4a343fabab777475300cacee0bf16dd7eadb5e301399f716372e3fb36d60209b82193bec1f8f56dade01c4f45eed947d96373be01973125bbc81f638d60053a39d03102ff45d3ac003066b948ec604ef4db5f6ef000e92908ca06bfc3a3af1808cbbecd72328f480dafb77859ecca1de407677d0b6b7f6de0c8d6b8d4333b0e29b6b01010a396d95bdf0dde8b98082092a70437017bf0b6bc7d9c2ce06660a1c1291a775b580382ee9ba83d85ffe5b5cc057505ca757200e3e4dbad003a358a48dc3fb3d1b980b646d7a2e0bb76f0b173015ca06a6e905b2fa18b6b0136197a0e13a3379c5b5802937dce6e400fc5ca4e5d7dbbc0014b70dec01e23a36b980305976525add11a3ded6d6f7806536600d88b0b37116d60052a4a343fabab777475300cacee0bf16dd7eadb5e301399f716372e3fb36d60209b82193bec1f8f56dade01c4f45eed947d96373be01973125bbc81f638d60053a39d03102ff0045d3ac003066b948ec604ef4db5f6ef000e92908ca06bfc3a3af1808cbbecd72328f480dafb77859ecca1de407677d0b6b7f6de0c8d6b8d4333b0e29b6b01010a396d95bdf0dde8b98082092a70437017bf0b6bc7d9c2ce06660a1c1291a775b580382ee9ba83d85ff00e5b5cc057505ca757200e3e4dbad003a358a48dc3fb3d1b980b646d7a2e0bb76f0b173015ca06a6e905b2fa18b6b0136197a0e13a3379c5b5802937dce6e400fc5ca4e5d7dbbc0014b70dec01e23a36b980305976525add11a3ded6d6f7806536600d88b0b37116d60052a4a343fabab777475300cacee0bf16dd7eadb5e301399f716372e3fb36d60209b82193bec1f8f56dade01c4f45eed947d96373be01973125bbc81f638d60053a39d03102ff45d3ac003066b948ec604ef4db5f6ef000e92908ca06bfc3a3af1808cbbecd72328f480dafb77859ecca1de407677d0b6b7f6de0c8d6b8d4333b0e29b6b01010a396d95bdf0dde8b98082092a70437017bf0b6bc7d9c2ce06660a1c1291a775b580382ee9ba83d85ffe5b5cc057505ca757200e3e4dbad003a358a48dc3fb3d1b980b646d7a2e0bb76f0b173015ca06a6e905b2fa18b6b0136197a0e13a3379c5b5802937dce6e400fc5ca4e5d7dbbc0014b70dec01e23a36b980305976525add11a3ded6d6f7806536600d88b0b37116d60052a4a343fabab777475300cacee0bf16dd7eadb5e301399f716372e3fb36d60209b82193bec1f8f56dade01c4f45eed947d96373be01973125bbc81f638d60053a39d03102ff0045d3ac003066b948ec604ef4db5f6ef000e92908ca06bfc3a3af1808cbbecd72328f480dafb77859ecca1de407677d0b6b7f6de0c8d6b8d4333b0e29b6b01010a396d95bdf0dde8b98082092a70437017bf0b6bc7d9c2ce06660a1c1291a775b580382ee9ba83d85ff00e5b5cc057505ca757200e3e4dbad003a358a48dc3fb3d1b980b646d7a2e0bb76f0b173015ca06a6e905b2fa18b6b0136197a0e13a3379c5b5802937dce6e400fc5ca4e5d7dbbc0014b70dec01e23a36b980305976525add11a3ded6d6f7806536600d88b0b37116d60052a4a343fabab777475300cacee0bf16dd7eadb5e301399f716372e3fb36d60209b82193bec1f8f56dade01c4f45eed947d96373be01973125bbc81f638d60053a39d03102ff45d3ac003066b948ec604ef4db5f6ef000e92908ca06bfc3a3af1808cbbecd72328f480dafb77859ecca1de407677d0b6b7f6de0c8d6b8d4333b0e29b6b01010a396d95bdf0dde8b98082092a70437017bf0b6bc7d9c2ce06660a1c1291a775b580382ee9ba83d85ffe5b5cc057505ca757200e3e4dbad003a358a48dc3fb3d1b980b646d7a2e0bb76f0b173015ca06a6e905b2fa18b6b0136197a0e13a3379c5b5802937dce6e400fc5ca4e5d7dbbc0014b70dec01e23a36b980305976525add11a3ded6d6f7806536600d88b0b37116d60052a4a343fabab777475300cacee0bf16dd7eadb5e301399f716372e3fb36d602932e0b048b3f66feadb5bde0348db7fe77a6fe888fef26406c5b1ffcc73ffa6abfba44065c0cd6503af0ecdd6d600c3368ca53e82dbdc871ac000caa16601fe6d74b17301248195fac937e8fd963d280af459360083767b1e29b1bf180b062ea663aba43f99c6a5e0259add57bdaf7bdd36d602aa00fe6bea079dc5b5808705bb346bb7eadaea80024336a4bb81c5fab6d7dbbc2c5394300edb80e3a1d35e3010dd120025c3b0dddcc3ad011b87448e3940f38e8dcc058a4313975736d433dc5b58086040205aed67b5f4b6bedde161a5ec03e602fafcdd680a3870e03026e01b706b75a01d1ba58339d1d8768e8eb01729d581603300ccdfaac358071dfbec34dce9b5cc071d925eee778ff000b173013c1b4170903ecfcee30161d2b9f784eed1f858f49e021afa10dbc0fecdb530107ace51a8fd6f9c38d60240cd6503af0ecdd6d600c3368ca53e82dbdc871ac000caa16601fe6d74b17301248195fac937e8fd963d280af459360083767b1e29b1bf180b062ea663aba43f99c6a5e0259add57bdaf7bdd36d602aa00fe6bea079dc5b5808705bb346bb7eadaea80024336a4bb81c5fab6d7dbbc2c5394300edb80e3a1d35e3010dd120025c3b0dddcc3ad011b87448e3940f38e8dcc058a4313975736d433dc5b58086040205aed67b5f4b6bedde161a5ec03e602fafcdd680a3870e03026e01b706b75a01d1ba58339d1d8768e8eb01729d581603300ccdfaac358071dfbec34dce9b5cc071d925eee778ff000b173013c1b4170903ecfcee30161d2b9f784eed1f858f49e021afa10dbc0fecdb530107ace51a8fd6f9c38d60240cd6503af0ecdd6d600c3368ca53e82dbdc871ac000caa16601fe6d74b17301248195fac937e8fd963d280af459360083767b1e29b1bf180b062ea663aba43f99c6a5e0259add57bdaf7bdd36d602aa00fe6bea079dc5b5808705bb346bb7eadaea80024336a4bb81c5fab6d7dbbc2c5394300edb80e3a1d35e3010dd120025c3b0dddcc3ad011b87448e3940f38e8dcc058a4313975736d433dc5b58086040205aed67b5f4b6bedde161a5ec03e602fafcdd680a3870e03026e01b706b75a01d1ba58339d1d8768e8eb01729d581603300ccdfaac358071dfbec34dce9b5cc071d925eee778ff000b173013c1b4170903ecfcee30161d2b9f784eed1f858f49e021afa10dbc0fecdb530107ace51a8fd6f9c38d60240cd6503af0ecdd6d600c3368ca53e82dbdc871ac000caa16601fe6d74b17301248195fac937e8fd963d280af459360083767b1e29b1bf180b062ea663aba43f99c6a5e0259add57bdaf7bdd36d602aa00fe6bea079dc5b5808705bb346bb7eadaea80024336a4bb81c5fab6d7dbbc2c5394300edb80e3a1d35e3010dd120025c3b0dddcc3ad011b87448e3940f38e8dcc058a4313975736d433dc5b58086040205aed67b5f4b6bedde161a5ec03e602fafcdd680a3870e03026e01b706b75a01d1ba58339d1d8768e8eb01729d581603300ccdfaac358071dfbec34dce9b5cc071d925eee778ff000b173013c1b4170903ecfcee30161d2b9f784eed1f858f49e021afa10dbc0fecdb530107ace51a8fd6f9c38d60240cd6503af0ecdd6d600c3368ca53e82dbdc871ac000caa16601fe6d74b17301248195fac937e8fd963d280af459360083767b1e29b1bf180b062ea663aba43f99c6a5e0259add57bdaf7bdd36d602aa00fe6bea079dc5b5808705bb346bb7eadaea80024336a4bb81c5fab6d7dbbc2c5394300edb80e3a1d35e3010dd120025c3b0dddcc3ad011b87448e3940f38e8dcc058a4313975736d433dc5b58086040205aed67b5f4b6bedde161a5ec03e602fafcdd680a3870e03026e01b706b75a01d1ba58339d1d8768e8eb01729d581603300ccdfaac358071dfbec34dce9b5cc071d925eee778ff000b173013c1b4170903ecfcee30161d2b9f784eed1f858f49e021afa10dbc0fecdb530107ace51a8fd6f9c38d60240cd6503af0ecdd6d600c3368ca53e82dbdc871ac000caa16601fe6d74b17301248195fac937e8fd963d280af459360083767b1e29b1bf180b062ea663aba43f99c6a5e0259add57bdaf7bdd36d602aa00fe6bea079dc5b5808705bb346bb7eadaea80024336a4bb81c5fab6d7dbbc2c5394300edb80e3a1d35e3010dd120025c3b0dddcc3ad011b87448e3940f38e8dcc058a4313975736d433dc5b58086040205aed67b5f4b6bedde161a5ec03e602fafcdd680a3870e03026e01b706b75a01d1ba58339d1d8768e8eb0165a432ad6ca54da33f061af180d176dff9de9bfa223fbc9901b16c7ff31cff00e9aafee91019822f97aa06b943ee3a5bac600cd99d2df9ad6dfd5b6bc602aed7072bea9e1fabd1d602cc426f7ec48efd2ccfc600dbef70741c5f4e8eb00090da0b82c00fb2da980ab81de0ea91f65b580bb162f723de8bb6ba3837bde02bd2bf4436fca3427858df8c04106fc52746e3e4dbad016293d2e8b13aabec29b6b01045cbcad06bc3bac5cf180920073919b7f9ee9b5d5010536763c6c2e9b9eadb5e300504e6621b57501a6ba7475300e928f58167d03fd1b6b01245d42e1b80efeadb58033900d881ab697ddd1d7dbbc208018b0038377e96d601c5890379eff26d73012a704b27b5dbfb36d6f010730dd948d5877f56dafb778026ca1973253b870e22daf1f6709214cb395f8b7f85b58030657e09acec3b8dc5b580117cbd5035ca1f71d2dd630066cce96fcd6b6feadb5e301576b8395f54f0fd5e8eb01662137bf62477e9667e3006df7b83a0e2fa7475800486d05c16007d96d4c055c0ef07548fb2dac05d8b17b91ef45db5d1c1bdef015e95fa21b7e51a13c2c6fc6020837e293a371f26dd680b149e974589d55f614db580822e5e56835e1dd62e78c0490039c8cdbfcf74daea80829b3b1e36174dcf56daf18028273310daba80d35d3a3a98074947ac0b3e81fe8db580922ea170dc077f56dac019c806c40d5b4beee8ebedde10400c5801c1bbf4b6b00e2c481bcf7f936b98095382593daedfd9b6b78083986eca46ac3bfab6d7dbbc013650cb9929dc387116d78fb38490a659cafc5bfc2dac01832bf04d6761dc6e2dac008be5ea81ae50fb8e96eb180336674b7e6b5b7f56daf180abb5c1cafaa787eaf47580b3109bdfb123bf4b33f18036fbdc1d0717d3a3ac00243682e0b003ecb6a602ae07783aa47d96d602ec58bdc8f7a2edae8e0def780af4afd10dbf28d09e1637e301041bf149d1b8f936eb4058a4f4ba2c4eaafb0a6dac041172f2b41af0eeb173c6024801ce466dfe7ba6d7540414d9d8f1b0ba6e7ab6d78c0141399886d5d4069ae9d1d4c03a4a3d6059f40ff46dac0491750b86e03bfab6d600ce4036206ada5f77475f6ef0820062c00e0ddfa5b580716240de7bfc9b5cc04a9c12c9ed76fecdb5bc041cc376523561dfd5b6bedde009b2865cc94ee1c388b6bc7d9c248532ce57e2dfe16d600c195f826b3b0ee3716d60045f2f540d7287dc74b758c019b33a5bf35adbfab6d78c055dae0e57d53c3f57a3ac059884defd891dfa599f8c01b7dee0e838be9d1d600121b41705801f65b53015703bc1d523ecb6b01762c5ee47bd176d74706f7bc057a57e886df94684f0b1bf180820df8a4e8dc7c9b75a02c527a5d1627557d8536d60208b9795a0d787758b9e3012400e72336ff3dd36baa020a6cec78d85d373d5b6bc600a09ccc436aea034d74e8ea601d251eb02cfa07fa36d60248ba85c3701dfd5b6b0067201b10356d2fbba3afb778410031600706efd2dac038b1206f3dfe4dae60254e0964f6bb7f66dade020e61bb291ab0efeadb5f6ef004d9432e64a770e1c45b5e3ece124299672bf16ff000b6b0060cafc1359d8771b8b6b0022f97aa06b943ee3a5bac600cd99d2df9ad6dfd5b6bc602aed7072bea9e1fabd1d602cc426f7ec48efd2ccfc600dbef70741c5f4e8eb00090da0b82c00fb2da980ab81de0ea91f65b580bb162f723de8bb6ba3837bde02bd2bf4436fca3427858df8c04106fc52746e3e4dbad016293d2e8b13aabec29b6b01045cbcad06bc3bac5cf180920073919b7f9ee9b5d5010536763c6c2e9b9eadb5e300504e6621b57501a6ba7475300e928f58167d03fd1b6b01245d42e1b80efeadb58033900d881ab697ddd1d7dbbc208018b0038377e96d601c5890379eff0026d73012a704b27b5dbfb36d6f010730dd948d5877f56dafb778026ca1973253b870e22daf1f6709214cb395f8b7f85b58030657e09acec3b8dc5b580117cbd5035ca1f71d2dd630066cce96fcd6b6feadb5e301576b8395f54f0fd5e8eb01662137bf62477e9667e3006df7b83a0e2fa7475800486d05c16007d96d4c055c0ef07548fb2dac05d8b17b91ef45db5d1c1bdef015e95fa21b7e51a13c2c6fc6020837e293a371f26dd680b149e974589d55f614db580822e5e56835e1dd62e78c0490039c8cdbfcf74daea80829b3b1e36174dcf56daf18028273310daba80d35d3a3a98074947ac0b3e81fe8db580922ea170dc077f56dac019c806c40d5b4beee8ebedde1558003b0018ff8f66b01a3edbff3bd37f4447f79320362d8ff00e639ff00d355fdd22032f9435d37ecfb45b580b160599b78b7f0d601998903d9fc9b6b01553bdd290da101f5e1637800b0b66ead98387ded6d602401c7311761f6871af180a9ded622e84a459b5b5bad016e901ec1b835b5807483f474e034fd51c602193a90406616d35d2daf1f670909292edd31d9c4ea2dac0350ae8e6dd6f9efa6bc6023525f4fe1a8b6bedde1664f4992cdec5adac01c33f71e88dfd96d600e59c04ab2fb5adac071f7598120241ffa7a3ac05ceba9000b59be8d8b98010c2dde1605d8ef4db5ef80ab703d0d429becb6a602c73decc7b2edbec5b5f6ef01d58a1ad6cbb9f858de0232dac2c9eb0cafc6e2c6fedde126c328d0755bb46a2dac042ac54c9cbff7d45b580650d74dfb3ed16d602c581666de2dfc3580666240f67f26dac0554ef74a4368407d7858de002c2d9bab660e1f7b5b58090071cc45d87da1c6bc602a77b588ba129166d6d6eb405ba407b06e0d6d601d20fd1d380d3f547180864ea4101985b4d74b6bc7d9c2424a4bb74c76713a8b6b00d42ba39b75be7be9af1808d497d3f86a2dafb7785993d264b37b16b6b0070cfdc7a237f65b5803967012acbed6b6b01c7dd660480907fe9e8eb0173aea4002d66fa362e600430b778581763bd36d7be02adc0f4350a6fb2da980b1cf7b31ecbb6fb16d7dbbc0756286b5b2ee7e1637808cb6b0b27ac32bf1b8b1bfb77849b0ca341d56ed1a8b6b010ab153272ffdf516d6019435d37ecfb45b580b160599b78b7f0d601998903d9fc9b6b01553bdd290da101f5e1637800b0b66ead98387ded6d602401c7311761f6871af180a9ded622e84a459b5b5bad016e901ec1b835b5807483f474e034fd51c602193a90406616d35d2daf1f670e19d514f48cbaa9f2a9c9ea959087fd5701cf180e1462387cf57252ab29a7cd51644b44c49275b801efc603b9a92fa7f0d45b5f6ef0b327a4c966f62d6d600e19fb8f446fecb6b0072ce025597dad6d6038fbacc090120ff00d3d1d602e75d48005acdf46c5cc008616ef0b02ec77a6daf7c055b81e86a14df65b5301639ef663d976df62dafb7787055cee6f4f513ccacdc84a5ac253d8926c58de035bf1827b06c3a5b0d472c7b6e3f026f780d9a4ad5329e42ca42394425594176ce97e89cb737e101c8ab153272ff00df516d6019435d37ecfb45b580b160599b78b7f0d601998903d9fc9b6b01553bdd290da101f5e1637800b0b66ead98387ded6d602401c7311761f6871af180a9ded622e84a459b5b5bad016e901ec1b835b5807483f474e034fd51c602193a90406616d35d2daf1f670909292edd31d9c4ea2dac0350ae8e6dd6f9efa6bc6023525f4fe1a8b6bedde1664f4992cdec5adac01c33f71e88dfd96d600e59c04ab2fb5adac071f7598120241ffa7a3ac05ceba9000b59be8d8b98010c2dde1605d8ef4db5ef80ab703d0d429becb6a602c73decc7b2edbec5b5f6ef01d58a1ad6cbb9f858de0232dac2c9eb0cafc6e2c6fedde126c328d0755bb46a2dac042ac54c9cbff7d45b580650d74dfb3ed16d602c581666de2dfc3580666240f67f26dac0554ef74a4368407d7858de002c2d9bab660e1f7b5b58090071cc45d87da1c6bc602a77b588ba129166d6d6eb405ba407b06e0d6d601d20fd1d380d3f547180864ea4101985b4d74b6bc7d9c2424a4bb74c76713a8b6b00d42ba39b75be7be9af1808d497d3f86a2dafb7785993d264b37b16b6b0070cfdc7a237f65b5803967012acbed6b6b01c7dd660480907fe9e8eb0173aea4002d66fa362e600430b778581763bd36d7be02adc0f4350a6fb2da980b1cf7b31ecbb6fb16d7dbbc0756286b5b2ee7e1637808cb6b0b27ac32bf1b8b1bfb77849b0ca341d56ed1a8b6b010ab153272ffdf516d6019435d37ecfb45b580b160599b78b7f0d601998903d9fc9b6b01553bdd290da101f5e1637800b0b66ead98387ded6d602401c7311761f6871af180a9ded622e84a459b5b5bad016e901ec1b835b5807483f474e034fd51c602193a90406616d35d2daf1f670909292edd31d9c4ea2dac0350ae8e6dd6f9efa6bc6023525f4fe1a8b6bedde1664f4992cdec5adac01c33f71e88dfd96d600e59c04ab2fb5adac071f7598120241ff00a7a3ac05ceba9000b59be8d8b980858e81603885761de2daf7c068db6ffcef4dfd111fde4c80d8b63ff98e7ff4d57f74880cb7bd660527461a768e89bf18091bfdedc3b5fcd6d6020eaa6dd748ff002d8de0272b0dc378cbdc6e9b6a600ca00b87c9a65b33dadd1d60243bbb5c5d4c3ecb75a0214863a31b9b7f81cbafb7784170a6617e1a70b5b5f6ef0928b3116dedaefeadb5809500e0141d2dd9af56dac018dc04dd37d347e1d1eb1808606c065e235035d2dafb7782ce328e241f3e96d6021577253f3a7ed4db5bc04ab457940ee1f676c043153b01c41fb48e8ebc602c5ddd24383bbe7ead8df8c054b870cc94fcff0046dac05f2923abd5736f9f4e8eb015cac2cc46ef4e9d1d78c012ea199b41bbff00d1d60272b672527317729f9fab6d78c04306cc12dbcb0d2fbba3ac01419dd0c2f95b73f0b6a7dbb42586a6e6e401d97b5b53edda15f7acc0a4e8c34ed1d137e301237fbdb876bf9adac041d54dbae91fe5b1bc04e561b86f197b8dd36d4c01940170f934cb667b5ba3ac0487776b8ba987d96eb404290c7463736ff03975f6ef082e14cc2fc34e16b6bedde12516622dbdb5dfd5b6b012a01c0283a5bb35eadb58031b809ba6fa68fc3a3d63010c0d80cbc46a06ba5b5f6ef059c651c483e7d2dac042aee4a7e74fda9b6b7809568af281dc3eced80862a7603883f691d1d78c058bbba4870777cfd5b1bf180a970e19929f9fe8db580be524757aae6df3e9d1d602b9585988dde9d3a3af18025d433368377ffa3ac04e56ce4a4e62ee53f3f56daf180860d9825b7961a5f77475802833ba185f2b6e7e16d4fb7684b0d4dcdc803b2f6b6a7dbb42bef598149d1869da3a26fc60246ff7b70ed7f35b58083aa9b75d23fcb637809cac370de32f71ba6da98032802e1f26996ccf6b74758090eeed717530fb2dd68085218e8c6e6dfe072ebedde105c29985f869c2d6d7dbbc24a2cc45b7b6bbfab6d6025403805074b766bd5b6b01aced18bd0809b854c3a68e9eed6031d8500710a61a5cbf658e96d60376b38ca38907cfa5b580855dc94fce9fb536d6f012ad15e503b87d9db010c54ec07107ed23a3af180b1777490e0eef9fab637e30152e1c33253f3fd1b6b017ca48eaf55cdbe7d3a3ac0572b0b311bbd3a7475e3004ba8666d06eff00f47580e9e2496c3b13252731a79ce53fa8aeadb5e301a18ea82cdedbadac07a0d37fb2d2e64db904656ddd0dd6d4c076186a6e6e401d97b5b53edda15f7acc0a4e8c34ed1d137e301237fbdb876bf9adac041d54dbae91fe5b1bc04e561b86f197b8dd36d4c01940170f934cb667b5ba3ac0487776b8ba987d96eb404290c7463736ff0003975f6ef082e14cc2fc34e16b6bedde12516622dbdb5dfd5b6b012a01c0283a5bb35eadb58031b809ba6fa68fc3a3d63010c0d80cbc46a06ba5b5f6ef059c651c483e7d2dac042aee4a7e74fda9b6b7809568af281dc3eced80862a7603883f691d1d78c058bbba4870777cfd5b1bf180a970e19929f9fe8db580be524757aae6df3e9d1d602b9585988dde9d3a3af18025d433368377ff00a3ac04e56ce4a4e62ee53f3f56daf180860d9825b7961a5f77475802833ba185f2b6e7e16d4fb7684b0d4dcdc803b2f6b6a7dbb42bef598149d1869da3a26fc60246ff007b70ed7f35b58083aa9b75d23fcb637809cac370de32f71ba6da98032802e1f26996ccf6b74758090eeed717530fb2dd68085218e8c6e6dfe072ebedde105c29985f869c2d6d7dbbc24a2cc45b7b6bbfab6d6025403805074b766bd5b6b0063701374df4d1f8747ac602181b019788d40d74b6bedde0b38ca38907cfa5b580855dc94fce9fb536d6f012ad15e503b87d9db010c54ec07107ed23a3af180b1777490e0eef9fab637e30152e1c33253f3fd1b6b017ca48eaf55cdbe7d3a3ac0572b0b311bbd3a7475e3004ba8666d06eff00f475809cad9c949cc5dca7e7eadb5e3010c1b304b6f2c34beee8eb0050677430be56dcfc2da9f6ed0961a9b9b900765ed6d4fb76857deb30293a30d3b4744df8c048dfef6e1dafe6b6b01075536eba47f96c6f0139586e1bc65ee374db530065005c3e4d32d99ed6e8eb0121dddae2ea61f65bad010a431d18dcdbfc0e5d7dbbc20b85330bf0d385adafb7784945988b6f6d77f56dac04a80700a0e96ecd7ab6d600c6e026e9be9a3f0e8f58c043036032f11a81ae96d7dbbc1671947120f9f4b6b010abb929f9d3f6a6dade0255a2bca0770fb3b60218a9d80e20fda47475e30162eee921c1ddf3f56c6fc602a5c38664a7e7fa36d602ca4928361d104be9c7b35e301a2edbff003bd37f4447f79320362d8ffe639ffd355fdd22032fd3753a4fea8d3e6b6ad01396ecb09bee1a778b6b00629be5b7671fcd0da9bc01940e8185cb7da2dac04dc3821f7b80fe6ed6f6e214526e7a2ec2ec3ccd637e30124105c0dfd1e3c6d6f3c00e6cf6410410e479ed6d4bde02400414abdefbe0c78e96b9807604f9afc74b75a00d6de4fbc6dddd667300d497d780d07eadae602082016bf16e1b9adafb7784f48eeef57dd6d5e0232023a205f87dba6ad012731f7a1d3723eeb6b013d26dc48b961e916d60208705d36e0036be4f6bc05427f35956ddc5f4b6b01370950cae9ec1c6dd1b6bedde0e900e43312c9efe0e2e602c4245c0f986ed7461d6808d7f34f677dc8b6bc7d9c0adece941f3ff00cb6d600c3b86f6e95b8861af1808e9ba9d27f5469f35b56809cb76584df70d3bc5b580314df2dbb38fe686d4de00ca0740c2e5bed16d6026e1c10fbdc07f376b7b710a29373d1761761e66b1bf18092082e06fe8f1e36b79e007367b208208723cf6b6a5ef0120020a55ef7df063c74b5cc03b027cd7e3a5bad006b6f27de36eeeb339806a4bebc0683f56d730104100b5f8b70dcd6d7dbbc27a47777abeeb6af0119011d102fc3edd356809398fbd0e9b91f75b5809e936e245cb0f48b6b0104382e9b7001b5f27b5e02a13f9acab6ee2fa5b5809b84a86574f60e36e8db5f6ef0748072198964f7f071730162122e07cc376ba30eb4046bf9a7b3bee45b5e3ece056f674a0f9ff00e5b6b0061dc37b74adc430d78c0474dd4e93faa34f9adab404e5bb2c26fb869de2dac018a6f96dd9c7f3436a6f006503a06172df68b6b01370e087dee03f9bb5bdb885149b9e8bb0bb0f3358df8c0490417037f478f1b5bcf0039b3d904104391e7b5b52f7809001052af7bef831e3a5ae6031f8ace994f87d4cc904cb9880e858bb17d438eb40697366d4d4141a8aa993f927e4924258386246548b9804b98b94be525af24c4f5543def68706f0199c26a6b66d5844dab9b3a5e45128640d059b2a01780d8eaaa65d24899515072cb97aab7b9b008b759f74069b518ae2158fc9914120f565cb03946e256458f74075394a937355545437f2d33d17d603214d8ad753eb379ccb1acb997dfa8533bf9e036ca7a997592796962defd0cc527b3b5e039d9817197792cc37beef3c069b598e54d49992e80f37a3492055048cebdc4cb043247cd018e136a4328d5d5b8d3f0d337f00f0190f74e7734aca79e4cf13644c4ca5300a4a8a4b36517260318341bbdbed80f40a6ff64a5d424c995fd9f7b6d603a789e25270f427a3cad44e7e469d377e2a76b76c06a73abf14a952953aad72527ff229fa091dcaeb13f3c07105cf49ff006aa97d7f1d30fcf730198a3c66a242826abf0f24eab0005a7b43000c06d683982549ca507a40a7786d45b580c6e2b89fb9b2d204b13ea6793c84b6b5baca25b86b01a94dabc46a14f3aad69fd1c81c9a7e66753fcf01079e4a39f97ac45ec4cd99af63980c8d263157266244f3cbca04662474c0e29237deef01b7a148988045d243a5618d887e8dae602dd813e6bf1d2dd68035b793ef1b777599cc03525f5e0341fab6b980820805afc5b86e6b6bedde13d23bbbd5f75b57808c808e8817e1f6e9ab4049cc7de874dc8fbadac04f49b7122e587a45b580821c174db800daf93daf01509fcd655b7717d2dac04dc25432ba7b071b746dafb7783a40390cc4b27bf838b980b1091703e61bb5d1875a0235fcd3d9df722daf1f6702b7b3a507cfff002db58030ee1bdba56e2186bc6023a6ea749fd51a7cd6d5a0272dd96137dc34ef16d600c537cb6ece3f9a1b537803281d030b96fb45b5809b87043ef701fcddadedc428a4dcf45d85d8799ac6fc6024820b81bfa3c78dade7801cd9ec820821c8f3dada97bc0480082957bdf7c18f1d2d7300ec09f35f8e96eb401adbc9f78dbbbacce601a92faf01a0fd5b5cc0410402d7e2dc3735b5f6ef09e91dddeafbadabc0464047440bf0fb74d5a024e63ef43a6e47dd6d6027a4db89172c3d22dac0410e0ba6dc006d7c9ed780a84fe6b2adbb8be96d6026e12a195d3d838dba36d7dbbc1d201c8662593dfc1c5cc058848b81f30ddae8c3ad011afe69ecefb916d78fb3815bd9d283e7ff0096dac018770dedd2b710c35e3011d3753a4fea8d3e6b6ad01396ecb09bee1a778b6b00629be5b7671fcd0da9bc01940e8185cb7da2dac04dc3821f7b80fe6ed6f6e214526e7a2ec2ec3ccd637e30124105c0dfd1e3c6d6f3c00e6cf6410410e479ed6d4bde02400414abdefbe0c78e96b9807604f9afc74b75a00d6de4fbc6dddd667300d497d780d07eadae602082016bf16e1b9adafb7784f48eeef57dd6d5e0232023a205f87dba6ad012731f7a1d3723eeb6b013d26dc48b961e916d60208705d36e0036be4f6bc050864aba2c59f461bf4b6bc60348db7fe77a6fe888fef26406c5b1ff00cc73ff00a6abfba44065d4735941cb3903e7eadb5808caddff006775ae78c05d218eedfa0eaf758b980822e4b1252ec1be771d1d4c00a43b073f9cc0eafa5b53be026e5c84f400d137d785ae60043df78176bee3a58de00aee6b5879f4b75a02a5c6e17f247a536d601673aef72069da9b6bc6024bdeccdaf7b1eafe7180ad98f41f8b68ff009b680b02cfae8730bbf635b53be02b95cb8b3fbee3c1986b01397b80dc581fa36d4fb7685cf553b8704eed6e3a3d680ae5001174801ec3e6b5b5fbe01d50e12335d9b76bd5b5cc049074219937fe1c4fb77819b3589d6e077e96eb4046b6e896de077e9621f8c05750733ebef43f1eab8d78fb384eed0d86e7f3a6da9f6ed083f9c003af47506fd5b6bc7d9c26cecd907be21fe66b6b0051cd65072ce40f9fab6d60232b77fd9dd6b9e30174863bb7e83abdd62e60208b92c494bb06f9dc7475300290ec1cfe7303abe96d4ef809b97213d00344df5e16b98010f7de05dafb8e9637802bb9ad61e7d2dd680a971b85fc91e94db58059cebbdc81a76a6daf18092f7b336bdec7abf9c602b663d07e2da3fe6da02c0b3eba1cc2efd8d6d4ef80ae572e2cfefb8f0661ac04e5ee0371607e8db53edda173d54ee1c13bb5b8e8f5a02b940045d2007b0f9ad6d7ef807543848cd766ddaf56d7301241d08664dff8713edde066cd6275b81dfa5bad011adba25b781dfa5887e3015d41ccfafbd0fc7aae35e3ece13bb4361b9fce9b6a7dbb420fe7000ebd1d41bf56daf1f6709b3b3641ef887f99adac014735941cb3903e7eadb5808caddff6775ae78c05d218eedfa0eaf758b980822e4b1252ec1be771d1d4c00a43b073f9cc0eafa5b53be026e5c84f400d137d785ae60043df78176bee3a58de00aee6b5879f4b75a02a5c6e17f247a536d6020a50a70a1985deddbaa6d73c6035ada2e89a20948402579d835f2d9adac06370bca6ba9dd198662e9671a1d2d01bba592e52900b1ccc2fd8d6d4ef80d2f1d9bce3111207e2a89215d8664cb8361a84c05f0aa14564f519bf8890332db7be891df01b89952b93081265a65fc1a50186ba747580d4317a24524e419692995381200d011b85b7c04e0d3cc9ab086b4f04771bb65b6bba0329b453972a84530e8aab0894b3f99752c8ed2031eff386b1264aa64c97225a7a4b3952076fcdac06f5228e9e9902549968530e9ce6751d5c8b1f34062718a296aa7995484044c9375e44d949de74d46f80d5f77b79c406fd4cdcd691fe0659e8ea0e5f7b6d78fb38685367f3caba9ac55b95514ca6dd2d36435b7ebf3c06c783d04a5cae77512f952491265ea186aa008b980cdcda59335051365a08219b2871fabd1d7ba0349aaa7e6b553a46bc99e89ec21c7cf01b060538ae5cd92ae9191d2963b0bbb5b57fb603178ea3ff001449b948a646457eb2d799ada9b3c0530bab934752674e4128c84254919b2127ac071680dad15749580a11512a7123a728104b31f7a412f01855600a751e72121d4509c85d9cb7fccdac066a9a42e969e5482b134a1fa491b9cf56dade03b3673aef72069da9b6bc6024bdeccdaf7b1eafe7180ad98f41f8b68ff9b680b02cfae8730bbf635b53be02b95cb8b3fbee3c1986b01397b80dc581fa36d4fb7685cf553b8704eed6e3a3d680ae5001174801ec3e6b5b5fbe01d50e12335d9b76bd5b5cc049074219937fe1c4fb77819b3589d6e077e96eb4046b6e896de077e9621f8c05750733ebef43f1eab8d78fb384eed0d86e7f3a6da9f6ed083f9c003af47506fd5b6bc7d9c26cecd907be21fe66b6b0051cd65072ce40f9fab6d60232b77fd9dd6b9e30174863bb7e83abdd62e60208b92c494bb06f9dc7475300290ec1cfe7303abe96d4ef809b97213d00344df5e16b98010f7de05dafb8e9637802bb9ad61e7d2dd680a971b85fc91e94db58059cebbdc81a76a6daf18092f7b336bdec7abf9c602b663d07e2da3fe6da02c0b3eba1cc2efd8d6d4ef80ae572e2cfefb8f0661ac04e5ee0371607e8db53edda173d54ee1c13bb5b8e8f5a02b940045d2007b0f9ad6d7ef807543848cd766ddaf56d7301241d08664dff008713edde066cd6275b81dfa5bad011adba25b781dfa5887e3015d41ccfafbd0fc7aae35e3ece13bb4361b9fce9b6a7dbb420fe7000ebd1d41bf56daf1f6709b3b3641ef887f99adac014735941cb3903e7eadb5808caddff006775ae78c05d218eedfa0eaf758b980822e4b1252ec1be771d1d4c00a43b073f9cc0eafa5b53be026e5c84f400d137d785ae60043df78176bee3a58de00aee6b5879f4b75a02a5c6e17f247a536d601673aef72069da9b6bc6024bdeccdaf7b1eafe7180ad98f41f8b68ff009b680b02cfae8730bbf635b53be02b95cb8b3fbee3c1986b01397b80dc581fa36d4fb7685cf553b8704eed6e3a3d680ae5001174801ec3e6b5b5fbe01d50e12335d9b76bd5b5cc014e12a043322efa778edf6ef0d176dff9de9bfa223fbc9901b16c7ff31cff00e9aafee9101971dc90dc071d72f6b405d82490cc58e9bbb836b01c6a705c243bbe83d16d600126ee19afd1d076a6dac04b28fbd03b7eeb6b005248b973e96ed16d7dbbc1978f7a836fd2ddb012525ddc917d0170fc2dafb77845c1360e7429f9ee1d2cf0105b73963a01a6ba5b5f6ef0b2b7eef280077be96d6000067091c53d9ae96d78c0429ddf2a6db83bf7a6da97f6de16605f4e8e85206fd1b5bbc00dc06166b6f6ee71a980e2198fbd16e1b9f806d78c05c82376badb8ef1637e3013954c7def109ffb6b015cb7219825f4e3aba6dafb7785db82995c403f76b014283959b4ec3e74db580925c5fa23730e2eedd1d601e5d8b03b83f1ba4b6b00b127791a29bec705cc058ef012007ddb9f78b6b0151dc90dc071d72f6b405d82490cc58e9bbb836b01c6a705c243bbe83d16d600126ee19afd1d076a6dac04b28fbd03b7eeb6b005248b973e96ed16d7dbbc1978f7a836fd2ddb012525ddc917d0170fc2dafb77845c1360e7429f9ee1d2cf0105b73963a01a6ba5b5f6ef0b2b7eef280077be96d6000067091c53d9ae96d78c0429ddf2a6db83bf7a6da97f6de16605f4e8e85206fd1b5bbc00dc06166b6f6ee71a980e2198fbd16e1b9f806d78c05c82376badb8ef1637e3013954c7def109ff00b6b015cb7219825f4e3aba6dafb7785db82995c403f76b014283959b4ec3e74db580925c5fa23730e2eedd1d601e5d8b03b83f1ba4b6b00b127791a29bec705cc058ef012007ddb9f78b6b0151dc90dc071d72f6b405d82490cc58e9bbb836b01c6a705c243bbe83d16d600126ee19afd1d076a6dac04b28fbd03b7eeb6b005248b973e96ed16d7dbbc1978f7a836fd2ddb012525ddc917d0170fc2dafb77845c1360e7429f9ee1d2cf0105b73963a01a6ba5b5f6ef0d6f693ad43bba531c35ae3516d6031f84ffb7d330df6ecb1d2dac06eaa777ca9b6e0efde9b6a5fdb786875e3ff0012c45f2da68ba47e8d2df3c067b006326a837be47d8a6671ac066c663ef45b86e7e01b5e30181da3e8c8a3b5d551ff00d4b73a6bc6030b878573ea46b1e591a7eb774064f6892794a0dc9499bf4983116d5bdb8874b0a6f7429aec736a38b16f4c06e85072b369d87ce9b6b01d5c40a79856e70c8e466bb0b7554ed6d6034245d21c1d3d9adac06fb26f4521aeb14e8c85bf337382e603cfe4069124001b227ecdd680df70b6e614ac12c127771529f2f6c064582490cc58e9bbb836b01a4e3b6c54b000f379656cdae799e980ececfa49a9a8b58497b6ee9a6e2dac0676b28515a90998909527a9340eaf75b7ef101af4fc0eb6539434f48d08b1f4ef80c54fa4992d854d3a923f3d167ec71ac07348abaaa620c99ebca34945d490fc01d3e680dca8aa8554913929659b280dca63a7459ef01da2db9cb1d00d35d2dafb778595bf7794003bdf4b6b000033848e29ecd74b6bc60214eef9536dc1dfbd36d4bfb6f0b302fa747429037e8dadde006e030b35b7b7738d4c0710cc7de8b70dcfc036bc602e411bb5d6dc778b1bf1809caa63ef7884ff00db580ae5b90cc12fa71d5d36d7dbbc2edc14cae201fbb580a141cacda761f3a6dac0492e2fd11b9871776e8eb00f2ec581dc1f8dd25b5805893bc8d14df6382e602c77809003eedcfbc5b580a8ee486e038eb97b5a02ec1248662c74dddc1b580e35382e121ddf41e8b6b00093770cd7e8e83b536d6025947de81dbf75b58029245cb9f4b768b6bedde0cbc7bd41b7e96ed809292eee48be80b87e16d7dbbc22e09b073a14fcf70e9678082db9cb1d00d35d2dafb778595bf7794003bdf4b6b000033848e29ecd74b6bc60214eef9536dc1dfbd36d4bfb6f0b302fa747429037e8dadde006e030b35b7b7738d4c0710cc7de8b70dcfc036bc602e411bb5d6dc778b1bf1809caa63ef7884ffdb580ae5b90cc12fa71d5d36d7dbbc2edc14cae201fbb580a141cacda761f3a6dac0492e2fd11b9871776e8eb00f2ec581dc1f8dd25b5805893bc8d14df6382e602c77809003eedcfbc5b580a8ee486e038eb97b5a02ec1248662c74dddc1b580e35382e121ddf41e8b6b00093770cd7e8e83b536d6025947de81dbf75b58029245cb9f4b768b6bedde0cbc7bd41b7e96ed809292eee48be80b87e16d7dbbc22e09b073a14fcf70e9678082db9cb1d00d35d2dafb778595bf7794003bdf4b6b000033848e29ecd74b6bc60214eef9536dc1dfbd36d4bfb6f0b302fa747429037e8dadde006e030b35b7b7738d4c0710cc7de8b70dcfc036bc602e411bb5d6dc778b1bf1809caa63ef7884ff00db580a293d60d600dbb59dc76fb778691b6ffcef4dfd111fde4c80d8b63ff98e7ff4d57f74880cc8700f44dbacdff6d4ef80a96bb0f30b0eeb6bedde12cdda068007e374f475803d886b87d01b3ef16372f7f67082e0939736fd34b9d2dac05884b1e8b117d37efcb66780a97b0bb80e4b6efcdb6b00d0b1b07b167fa36d6f0177b1b31ec1df7162e78c0519c392dd82f6ecb33bfb710b825c0d02aefe7d18758c052ef6404df51b9f85b58032429d3d5ec1a768b75bdbbc255c149ca7d3bfab6d6023796b36e6bf78b173edde13d56b69aa824ef7b8b6b00377006503461dfa5b52fedbc03f390cc5ec37f116d600cc4b0213bd291f65b580ab167bf10dc0f0b75b8c0582b7fd834ed16eb7b7784aaeab581e1f6a7a3730066b03da19b46f7b63780825c0252925dd85c8eeb6b010c329cc329739401e76b6b0160e01e89b759bfeda9df0152d761e6161dd6d7dbbc259bb40d000fc6e9e8eb007b10d70fa0367de2c6e5efece105c1272e6dfa6973a5b580b10963d1622fa6fdf96ccf0152f617701c96ddf9b6d601a16360f62cff46dade02ef63663d83bee2c5cf180a338725bb05edd96677f6e21704b81a055dfcfa30eb180a5dec809bea373f0b6b0064853a7abd834ed16eb7b7784ab829394fa77f56dac046f2d66dcd7ef162e7dbbc27aad6d355049def716d6006ee00ca068c3bf4b6a5fdb7807e72198bd86fe22dac01989604277a523ecb6b01562cf7e21b81e16eb7180b056ff00b069da2dd6f6ef0955d56b03c3ed4f46e600cd607b43368def6c6f0104b804a524bbb0b91dd6d6021865398652e72803ced6d602c1c03d136eb37fdb53be02a5aec3cc2c3badafb7784b37681a001f8dd3d1d600f621ae1f406cfbc58dcbdfd9c20b824e5cdbf4d2e74b6b016212c7a2c45f4dfbf2d99e02a5ec2ee0392dbbf36dac0342c6c1ec59fe8db5bc05dec6cc7b077dc58b9e3014670e4b760bdbb2ccefedc435bda27cd87f925530beeb8dcc35e30187a19c9a7aba79ab195085f4942ec0d9c5a036e9388d04f9c2553cf13165ce4092e19efd5eb7b7786071da654baae71932a2a12331fcf4dac5b5290203af86568a39ea2b7e4a6596da8fced0b980da7dd1a14a73f3c90129eb2dc5b5b8fce80d4314af4627528e4011474815c929982d6ad5490dc203bd81d399b57cb290d2e97a4e07bf23a2ddbbe032b8dd299d4bca4b4ffb2ab95c891b98a55bb5bb9101a94b5ae52d1351654b21483edbe0374a6c568e7202953512661d6512014f6a6d73edde188c7715913e52f0fa29899caa8b544d965d32e5bf499405d4a166f62180d2c3d1fe101e814c7fd4e8cb05112a59b6a3a034b6b01a355531a49d369d49ca10a3c8dad90e8d6f9a0335846252e44a34d5072252ea44cdc1f769a980cacfc530ea796a9abab92c344a08571ea24392a3edda1a54d9d32aaa27d5cc49472c7f072b5ca80193bb5de7be036ac0a41974f3aa14920ce3965dbde87722c6e4980e86295b895357cd44a9fc9c9294ae5279341677058949bbbbc07670ac48af95975d3c15920c9594a53facd940198c067a6942259e55402025e6294d972fce3580f3d5cc973274f549b5399abe6e78a1ec459e036dc052451cd51046798725b80b9162f7d60330ce1c96ec17b76599dfdb885c12e0681577f3e8c3ac602977b2026fa8dcfc2dac019214e9eaf60d3b45badedde12ae0a4e53e9dfd5b6b011bcb59b735fbc58b9f6ef09eab5b4d541277bdc5b5801bb803281a30efd2da97f6de01f9c8662f61bf88b6b0066258109de948fb2dac0558b3df886e0785badc602c15bfec1a768b75bdbbc255755ac0f0fb53d1b98033581ed0cda37bdb1bc0412e0129492eec2e4775b58086194e6194b9ca00f3b5b580b0700f44dbacdff6d4ef80a96bb0f30b0eeb6bedde12cdda068007e374f475803d886b87d01b3ef16372f7f67082e0939736fd34b9d2dac05884b1e8b117d37efcb66780a97b0bb80e4b6efcdb6b00d0b1b07b167fa36d6f0177b1b31ec1df7162e78c0519c392dd82f6ecb33bfb710b825c0d02aefe7d18758c052ef6404df51b9f85b58032429d3d5ec1a768b75bdbbc255c149ca7d3bfab6d6023796b36e6bf78b173edde13d56b69aa824ef7b8b6b00377006503461dfa5b52fedbc03f390cc5ec37f116d600cc4b0213bd291f65b580ab167bf10dc0f0b75b8c0582b7fd834ed16eb7b7784aaeab581e1f6a7a3730066b03da19b46f7b63780825c0252925dd85c8eeb6b010c329cc329739401e76b6b0160e01e89b759bfeda9df0152d761e6161dd6d7dbbc259bb40d000fc6e9e8eb007b10d70fa0367de2c6e5efece105c1272e6dfa6973a5b580b10963d1622fa6fdf96ccf0152f617701c96ddf9b6d601a16360f62cff46dade02ef63663d83bee2c5cf180a338725bb05edd96677f6e21704b81a055dfcfa30eb180a5dec809bea373f0b6b0064853a7abd834ed16eb7b7784ab829394fa77f56dac046f2d66dcd7ef162e7dbbc27aad6d355049def716d6006ee00ca068c3bf4b6a5fdb7807e72198bd86fe22dac05561b3e5e8862e00b7d9af180d1f6dff009de9bfa223fbc9901b16c7ff0031cffe9aafee910197cac48d03f48379b2d8def002937e86603b34fd5e8b13edde12a0fbf8f400e2e7a36eb7180ab0676dd72076ea035cde0393a2731629ed034dd6b75a0237976bf548ddfab6d601958800653d9f3dc74758010a37ba72dd807e3d5fcef6ef0a801f82b71f4b8b6a60218db5ca017cbd2f330d4fb7685956b9cf98a7ede16d60091996fa067035b765b5e301052e18d803aa53a03c2daf1f670967049bab53947d9d137809621dd3c99d4948efd0b75a029943b594e0dc0efb8b1bf180b586ee1b9fb786a602ca1a84db88de3bac6fc602080a73940005c0dc4f0e8eb01233007e7d2edfab6b93014296b173becf673a8b1e9404f6a6c0390036bd81ae7bbfee1001ca410bb25cb0f3316d60209170906c2c7fcb6d602f9728490dde13b8f0b6b780ae5624681fa41bcd96c6f780149bf43301d9a7eaf4589f6ef09507dfc7a007173d1b75b8c055833b6eb903b7501ae6f01c9d1398b14f681a6eb5bad011bcbb5faa46efd5b6b00cac400329ecf9ee3a3ac00851bdd396ec03f1eafe77b7785400fc15b8fa5c5b53010c6dae500be5e979986a7dbb42cab5ce7cc53f6f0b6b0048ccb7d03381adbb2daf18082970c6c01d529d01e16d78fb384b3824dd5a9ca3ece89bc04b10ee9e4cea4a477e85bad014ca1daca706e077dc58df8c05ac3770dcfdbc35301650d426dc46f1dd637e301040539ca0002e06e278747580919803f3e976fd5b5c980a14b58b9df67b39d458f4a027b53601c801b5ec0d73ddff0070800e52085d92e587998b6b01048b84836163fe5b6b017cb942486ef09dc785b5bc0572b12340fd20de6cb637bc00a4dfa1980ecd3f57a2c4fb7784a83efe3d0038b9e8dbadc602ac19db75c81dba80d73780e4e89cc58a7b40d375add6808de5dafd52377eadb580656200194f67cf71d1d600428dee9cb7601f8f57f3bdbbc2a007e0adc7d2e2da9808636d72805f2f4bccc353edda1d3c468d1592b2ab3a66a7a7294defae3876de035a560d5e15d1949989d414a92df33b180efe178755c8aa1327c932e5252a05432fbe1b86af019f9f4e8a994b44e016157537a0a7a3ac06b15181554b2791026275e0479f53018e385561507a298a3b9591fcc58de03214f8254ac8e5da9a5f1eb2be6097bc06d32e9e553491229c14205d43df3f1700f48ef80e52029fa21802e06e2787475e301ad55e0731d5328d8a4b9e4787eab8bc0621585d7755547355bfaa48ef163780c9d1e073120cda84a5094a5465532487529ada5a03a52f05c5320cd4ccbcaea0168d7cf01b7490514f2251073cb952c1d3509be5617301c55b87caab9480ae8ad0fc9cd4a6e01e01af01ac4ec1ab65294128e553c53fe035780eb8c26bb31cb4131fcac8de62d0197a5c054e175ab0948bf3645d47e716780d88048486484a4060122c00b74436b01d5ada1915c8e93cb5a1f939a05d2fbb4b980d666e0f5d2c96962724f55682fe6077c074fdc4a92a03dce50234e8581bdc599e03294f81554c21551fead2937207494df9a03dfbe0367972e5ca42254a4e44cb0d2dafdae2dd63be0258db5ca017cbd2f330d4fb7685956b9cf98a7ede16d60091996fa067035b765b5e301052e18d803aa53a03c2daf1f670967049bab53947d9d137809621dd3c99d4948efd0b75a029943b594e0dc0efb8b1bf180b586ee1b9fb786a602ca1a84db88de3bac6fc602080a73940005c0dc4f0e8eb01233007e7d2edfab6b93014296b173becf673a8b1e9404f6a6c0390036bd81ae7bbfee1001ca410bb25cb0f3316d60209170906c2c7fcb6d602f9728490dde13b8f0b6b780ae5624681fa41bcd96c6f780149bf43301d9a7eaf4589f6ef09507dfc7a007173d1b75b8c055833b6eb903b7501ae6f01c9d1398b14f681a6eb5bad011bcbb5faa46efd5b6b00cac400329ecf9ee3a3ac00851bdd396ec03f1eafe77b7785400fc15b8fa5c5b53010c6dae500be5e979986a7dbb42cab5ce7cc53f6f0b6b0048ccb7d03381adbb2daf18082970c6c01d529d01e16d78fb384b3824dd5a9ca3ece89bc04b10ee9e4cea4a477e85bad014ca1daca706e077dc58df8c05ac3770dcfdbc35301650d426dc46f1dd637e301040539ca0002e06e278747580919803f3e976fd5b5c980a14b58b9df67b39d458f4a027b53601c801b5ec0d73ddff70800e52085d92e587998b6b01048b84836163fe5b6b017cb942486ef09dc785b5bc0572b12340fd20de6cb637bc00a4dfa1980ecd3f57a2c4fb7784a83efe3d0038b9e8dbadc602ac19db75c81dba80d73780e4e89cc58a7b40d375add6808de5dafd52377eadb580656200194f67cf71d1d600428dee9cb7601f8f57f3bdbbc2a007e0adc7d2e2da9808636d72805f2f4bccc353edda1655ae73e629fb785b58024665be819c0d6dd96d78c0414b863600ea94e80f0b6bc7d9c259c126ead4e51f6744de02588774f26752523bf42dd680a650ed65383703bee2c6fc602d61bb86e7ede1a980b286a136e2378eeb1bf180aa99416728600b8e04fcdaf1bc068bb6ffcef4dfd111fde4c80d8b63ff98e7ff4d57f74880cb96d6f9747d7e74f47580b74401a3dd88b33bf56dac055b8a47e76fd5f461757180b00c18d85faa09b1f9b58006ea94b5b51fe16d58c056c1cdb5bb07f35b5300b3076bddc07ec74b8378011d99557cc076f936b9f6ef059ba22e3c91df74db5fbfce125ec6cfc1b4ed4db580861d6cadddb9f7a6dac000054e03137701dbb45b5f6ef05815eae7c9d3bd36d78c04867ed4bd80ecdd61780163a0e82770bf9add630062eec9052eecfa765b5809234dec18d9bcd6d49801ca58d83dc8f4ba6dac055eecc3b80f9c3768809605cb3ef240d38330d78c057a20dc0ec02fc74b6bedde17b82d701bac03f1ba6da980af630ec29d476871ac0187532b7161df701b56f6e202064e01dc240b8ed4db5f6ef016d6f9747d7e74f47580b74401a3dd88b33bf56dac055b8a47e76fd5f461757180b00c18d85faa09b1f9b58006ea94b5b51fe16d58c056c1cdb5bb07f35b5300b3076bddc07ec74b8378011d99557cc076f936b9f6ef059ba22e3c91df74db5fbfce125ec6cfc1b4ed4db580861d6cadddb9f7a6dac000054e03137701dbb45b5f6ef05815eae7c9d3bd36d78c04867ed4bd80ecdd61780163a0e82770bf9add630062eec9052eecfa765b5809234dec18d9bcd6d49801ca58d83dc8f4ba6dac055eecc3b80f9c3768809605cb3ef240d38330d78c057a20dc0ec02fc74b6bedde17b82d701bac03f1ba6da980af630ec29d476871ac0187532b7161df701b56f6e202064e01dc240b8ed4db5f6ef016d6f9747d7e74f47580b74401a3dd88b33bf56dac055b8a47e76fd5f461757180b00c18d85faa09b1f9b58006ea94b5b51fe16d58c056c1cdb5bb07f35b5300b3076bddc07ec74b8378011d99557cc076f936b9f6ef059ba22e3c91df74db5fbfce125ec6cfc1b4ed4db580861d6cadddb9f7a6dac000054e03137701dbb45b5f6ef05815eae7c9d3bd36d78c04867ed4bd80ecdd61780163a0e82770bf9add630062eec9052eecfa765b5809234dec18d9bcd6d49801ca58d83dc8f4ba6dac055eecc3b80f9c3768809605cb3ef240d38330d78c057a20dc0ec02fc74b6bedde17b82d701bac03f1ba6da980af630ec29d476871ac0187532b7161df701b56f6e202064e01dc240b8ed4db5f6ef016d6f9747d7e74f47580b74401a3dd88b33bf56dac055b8a47e76fd5f461757180b00c18d85faa09b1f9b58006ea94b5b51fe16d58c056c1cdb5bb07f35b5300b3076bddc07ec74b8378011d99557cc076f936b9f6ef059ba22e3c91df74db5fbfce125ec6cfc1b4ed4db580861d6cadddb9f7a6dac000054e03137701dbb45b5f6ef05815eae7c9d3bd36d78c04867ed4bd80ecdd61780163a0e82770bf9add630062eec9052eecfa765b5809234dec18d9bcd6d49801ca58d83dc8f4ba6dac055eecc3b80f9c3768809605cb3ef240d38330d78c057a20dc0ec02fc74b6bedde17b82d701bac03f1ba6da980af630ec29d476871ac0187532b7161df701b56f6e202064e01dc240b8ed4db5f6ef016d6f9747d7e74f47580b74401a3dd88b33bf56dac055b8a47e76fd5f461757180b00c18d85faa09b1f9b58006ea94b5b51fe16d58c056c1cdb5bb07f35b5300b3076bddc07ec74b8378011d99557cc076f936b9f6ef059ba22e3c91df74db5fbfce125ec6cfc1b4ed4db580861d6cadddb9f7a6dac000054e03137701dbb45b5f6ef05815eae7c9d3bd36d78c04867ed4bd80ecdd61780163a0e82770bf9add630062eec9052eecfa765b5809234dec18d9bcd6d49801ca58d83dc8f4ba6dac055eecc3b80f9c3768809605cb3ef240d38330d78c057a20dc0ec02fc74b6bedde17b82d701bac03f1ba6da980af630ec29d476871ac0187532b7161df701b56f6e202064e01dc240b8ed4db5f6ef016d6f9747d7e74f47580b74401a3dd88b33bf56dac055b8a47e76fd5f461757180b00c18d85faa09b1f9b58006ea94b5b51fe16d58c056c1cdb5bb07f35b5300b3076bddc07ec74b8378011d99557cc076f936b9f6ef059ba22e3c91df74db5fbfce125ec6cfc1b4ed4db580861d6cadddb9f7a6dac000054e03137701dbb45b5f6ef05815eae7c9d3bd36d78c04867ed4bd80ecdd61780163a0e82770bf9add630062eec9052eecfa765b5809234dec18d9bcd6d49801ca58d83dc8f4ba6dac071aae1418687ef0dda37c0691b6ffcef4dfd111fde4c80d8b63ff98e7ff4d57f74880cbe5605afc1bbf54db5809bee4b36ac3d29b5cbc03b75ca2ea1f3f56dac050328119437103b3dedb5ec8058bbdbc9ca2c3badd680b1245f21cc7a5a5c3ef4f475e3013b8f0d5c07d7782d73012735f2a42523c9ff000b6b015b9ee41ef777b8e8eb0127a415d1b6f17f3a6dac041e1a8d4009fb3a373002e7731df63dba5b5bde0232be8741661bafd5b6bc602779b0237307f9c0e2dedc405daf6046837f682dac042fa2c19c8dddafbadaf180100680026f61fd9b75a02587bd76d5c0d1b78e89bc01efd5c805c017f9d21ae7dbbc2dff0028cd6ddc7522dade020e64dd4efb80edde3a26fedde0eab867bea3ed16b9e30062e772bb03fce2c6f015f2ba258eac9f48e8ebac00ddef72fa0dd77671ac04e5605afc1bbf54db5809bee4b36ac3d29b5cbc03b75ca2ea1f3f56dac050328119437103b3dedb5ec8058bbdbc9ca2c3badd680b1245f21cc7a5a5c3ef4f475e3013b8f0d5c07d7782d73012735f2a42523c9ff0b6b015b9ee41ef777b8e8eb0127a415d1b6f17f3a6dac041e1a8d4009fb3a373002e7731df63dba5b5bde0232be8741661bafd5b6bc602779b0237307f9c0e2dedc405daf6046837f682dac042fa2c19c8dddafbadaf180100680026f61fd9b75a02587bd76d5c0d1b78e89bc01efd5c805c017f9d21ae7dbbc2dff28cd6ddc7522dade020e64dd4efb80edde3a26fedde0eab867bea3ed16b9e30062e772bb03fce2c6f015f2ba258eac9f48e8ebac00ddef72fa0dd77671ac04e5605afc1bbf54db5809bee4b36ac3d29b5cbc03b75ca2ea1f3f56dac050328119437103b3dedb5ec8058bbdbc9ca2c3badd680b1245f21cc7a5a5c3ef4f475e3013b8f0d5c07d7782d73012735f2a42523c9ff000b6b015b9ee41ef777b8e8eb0127a415d1b6f17f3a6dac041e1a8d4009fb3a373002e7731df63dba5b5bde0232be8741661bafd5b6bc602779b0237307f9c0e2dedc405daf6046837f682dac042fa2c19c8dddafbadaf180100680026f61fd9b75a02587bd76d5c0d1b78e89bc01efd5c805c017f9d21ae7dbbc2dff0028cd6ddc7522dade020e64dd4efb80edde3a26fedde0eab867bea3ed16b9e30062e772bb03fce2c6f015f2ba258eac9f48e8ebac00ddef72fa0dd77671ac04e5605afc1bbf54db5809bee4b36ac3d29b5cbc03b75ca2ea1f3f56dac050328119437103b3dedb5ec8058bbdbc9ca2c3badd680b1245f21cc7a5a5c3ef4f475e3013b8f0d5c07d7782d73012735f2a42523c9ff0b6b015b9ee41ef777b8e8eb0127a415d1b6f17f3a6dac041e1a8d4009fb3a373002e7731df63dba5b5bde0232be8741661bafd5b6bc602779b0237307f9c0e2dedc405daf6046837f682dac042fa2c19c8dddafbadaf180100680026f61fd9b75a02587bd76d5c0d1b78e89bc01efd5c805c017f9d21ae7dbbc2dff28cd6ddc7522dade020e64dd4efb80edde3a26fedde0eab867bea3ed16b9e30062e772bb03fce2c6f015f2ba258eac9f48e8ebac00ddef72fa0dd77671ac04e5605afc1bbf54db5809bee4b36ac3d29b5cbc03b75ca2ea1f3f56dac050328119437103b3dedb5ec8058bbdbc9ca2c3badd680b1245f21cc7a5a5c3ef4f475e3013b8f0d5c07d7782d73012735f2a42523c9ff000b6b015b9ee41ef777b8e8eb0127a415d1b6f17f3a6dac041e1a8d4009fb3a373002e7731df63dba5b5bde0232be8741661bafd5b6bc602779b0237307f9c0e2dedc405daf6046837f682dac042fa2c19c8dddafbadaf180100680026f61fd9b75a02587bd76d5c0d1b78e89bc01efd5c805c017f9d21ae7dbbc2dff0028cd6ddc7522dade020e64dd4efb80edde3a26fedde0eab867bea3ed16b9e30062e772bb03fce2c6f015f2ba258eac9f48e8ebac00ddef72fa0dd77671ac04e5605afc1bbf54db5809bee4b36ac3d29b5cbc03b75ca2ea1f3f56dac050328119437103b3dedb5ec8058bbdbc9ca2c3badd680b1245f21cc7a5a5c3ef4f475e3013b8f0d5c07d7782d73012735f2a42523c9ff0b6b015b9ee41ef777b8e8eb0127a415d1b6f17f3a6dac041e1a8d4009fb3a373002e7731df63dba5b5bde0232be8741661bafd5b6bc602779b0237307f9c0e2dedc405daf6046837f682dac042fa2c19c8dddafbadaf180100680026f61fd9b75a02587bd76d5c0d1b78e89bc05545c2ba01219c2776fb8b6b01a46dbff3bd37f4447f79320362d8ff00e639ff00d355fdd22033197ac46f72c35dfa5b5f6ef081dc42f2dfe6f26daf1806eb8e89f24757b3abac054800b8073ef207d832ebedde1c8dd7d41df943ebc3a3ac0326a45c24166fb53d1d602aaca45b2d89b6bf45c6b003bc8b1d72b69da971ade00ae93862cda26fa7cdade01aea8246ac069c5836b0166272b0cbbedbbe7ca6f0106c48ca389b6a78a6da9f6ed0ab023c9de961f67475809502090412962f9775f75b5f6ef070d199c1d47061d1d4c01817cc08f292dbf7374758081d521ba09ec1dba746e78c05ca6e6e5fdedbece8eb010c119410ccccdf3dc06d78c055bacccde52777730d6f012ed986bc08edde181bc046f7653a83e66fb193ab405831d1195c392cedda9b5cc01884b91db95b43c4747580a92e744bf9490fdedd13780b65eb11bdcb0d77e96d7dbbc207710bcb7f9bc9b6bc601bae3a27c91d5eceaeb0152002e01cfbc81f60cbafb77872375f5077e50faf0e8eb00c9a91709059bed4f47580aab2916cb626dafd171ac00ef22c75cada76a5c6b7802ba4e18b3689be9f36b7806baa091ab01a7160dac05989cac32efb6ef9f29bc041b12328e26da9e29b6a7dbb4284a1ae4237a6ddfa7475301554c4824172962f9375f75b5f6ef072a8b5c33383a8e0c3a3a9808e52597cd6f292de66e8eb0102627291ef13d83b74e8dcf180b95a5cf4afef7f85b5808e525a3282c1999be7b80daf180af288e9314b7949dddcc35bc04f2c9198383c08edde181bc0472a977bba83e66fb193ab40584d41d1395c392cedda9b5cc0394012e7bf2b68788e8eb01533904fbd7f2921fbdac6f016ce8e910a1772c35dfa5b5f6ef081353da1796ff37936d78c0395435db29f24757b3abac054cc402e3afbc81f606d7dbbc3933a7a7763bf287d78747580664dc82e120b37da9b6b01554d96458a6c4db5fa2e358019a9b90a00eb95b4ed4b8d6f0054e429c6e6d137d3e6d6f00e550750e356034e2c1b580b7280e56e8efb6ef9f29bc0419c9048e8f13da78a6da9f6ed0af292c8d4277a587d9d1d60255300241ba58be5dd7dd6d7dbbc1caa6d70cce0ea3830b6a601ca4b2f9ade525b7ee6e8eb0102627291ef13d83b74e8dcf180b95a5cf4afef7f85b5808e525a3282c1999be7b80daf180af288e9314b7949dddcc35bc04f2c9198383c08edde181bc0472a977bba83e66fb193ab40584d41d1395c392cedda9b5cc0394012e7bf2b68788e8eb01533904fbd7f2921fbdac6f016ce8e910a1772c35dfa5b5f6ef081353da1796ff37936d78c0395435db29f24757b3abac054cc402e3afbc81f606d7dbbc3933a7a7763bf287d78747580664dc82e120b37da9b6b01554d96458a6c4db5fa2e358019a9b90a00eb95b4ed4b8d6f0054e429c6e6d137d3e6d6f00e550750e356034e2c1b580b7280e56e8efb6ef9f29bc0419c9048e8f13da78a6da9f6ed0af292c8d4277a587d9d1d60255300241ba58be5dd7dd6d7dbbc1caa6d70cce0ea3830b6a601ca4b2f9ade525b7ee6e8eb0102627291ef13d83b74e8dcf180b95a5cf4afef7f85b5808e525a3282c1999be7b80daf180af288e9314b7949dddcc35bc04f2c9198383c08edde181bc0472a977bba83e66fb193ab40584d41d1395c392cedda9b5cc0394012e7bf2b68788e8eb01533904fbd7f2921fbdac6f016ce8e910a1772c35dfa5b5f6ef081353da1796ff37936d78c0395435db29f24757b3abac041992c17f7fbc81f60cbafb7785f944f4eec77e50faf0e8eb013991720b8482df7a6dac049c8a1d1ca589b6bf45c6b012779163ae56d3b52e35bc015d270c59b44df4f9b5bc035d5048d580d38b06d602cc4e561977db77cf94de020d891947136d4f14db53edda15604793bd2c3ece8eb012a041208252c5f2eebeeb6bedde0e1a33383a8e0c3a3a980302f9811e525b7ee6e8eb0103aa437413d83b74e8dcf180b94dcdcbfbdb7d9d1d602182328219999be7b80daf180ab75999bca4eeee61ade025db30d7811dbbc3037808deeca7507ccdf63275680b063a232b87259dbb536b9803109723b72b68788e8eb01525ce897f2921fbdba26f016cbd6237b961aefd2dafb77840ee21796ff0037936d78c0375c744f923abd9d5d602a4005c039f7903ec1975f6ef0e46ebea0efca1f5e1d1d60193522e120b37da9e8eb01556522d96c4db5fa2e35801de458eb95b4ed4b8d6f005749c3166d137d3e6d6f00d75412356034e2c1b580b31395865df6ddf3e5378083624651c4db53c536d4fb76855811e4ef4b0fb3a3ac04a810482094b17cbbafbadafb7783868cce0ea3830e8ea600c0be60479496dfb9ba3ac040ea90dd04f60edd3a373c602e537372fef6df6747580a2c04a58802d6e1bee2daf180d1f6dff9de9bfa223fbc9901b16c7ff31cff00e9aafee91019720b741eda01a5f7871ac04f604f445c1171d8536d600901c742e385db5d2dac032a75160bd0f0d74b6b010ca6de127725bce2daf180652350c06f02f7f7c186bc6000102e1b42193e94b7be808506dd76b148ed3d5b6b017366e8b11f3907b2d7540458f0402ed946ee22cef015cafb988bd9eddd6377809dcf95827de81bf735b57f6e20666b311a6506d72ed6d600ca0ee09ca5d3c7b5adaf1801dd993c5fbcbe9d1d4fb7684e549484e56d481ec3ad00d4db8976ddda971ac046555cdca87cff003a6dac04149e174eac3d28b6b0166eb5859dc04f11aa6dac04259cf4580de069dc00eb40380ca907b069da92dd680369bc5f8b0eeb6a7dbb420009f7bae85bd23a2cfedde12c5c8cb7b925b79074606f0020b741eda01a5f7871ac04f604f445c1171d8536d600901c742e385db5d2dac032a75160bd0f0d74b6b010ca6de127725bce2daf180652350c06f02f7f7c186bc6000102e1b42193e94b7be808506dd76b148ed3d5b6b017366e8b11f3907b2d7540458f0402ed946ee22cef015cae2e188bd9eddd6377801d0909609f7a06fdcc5b5f6ef0f18f0b78a56d061547cd2a6651a975494ad529450e0a662b50c75119e24e8db062f2f9ff00c64c6be39aefda267f9a30cd2eac91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe686693247241da4c69d3ff008cd76bf944ce1fad0cd2648e4276931aca9ffc66bb4fca267f9a19a49a23927c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324727d73b19573aaf67f099d51315326cca590b5cc21c92a402543f39cc7553b386addb6aada8bb58a4769eadb58955c86cdd1622fc483d96baa022c7820176ca3771167780ae57dcc45ecf6eeb1bbc04ee7cac13ef40dfb9adabfb7103335988d32836b976b6b006507704e52e9e3dad6d78c00eecc9e2fde5f4e8ea7dbb4272a4a4272b6a40f61d6806a6dc4bb6eed4b8d60232aae6e543e7f9d36d6020a4f0ba7561e945b580b375ac2cee02788d536d60212ce7a2c06f034ee0075a01c065483d834ed496eb401b4de2fc58775b53edda10004fbdd742de91d167f6ef0962e465bdc92dbc83a303780105ba0f6d00d2fbc38d6027b027a22e08b8ec29b6b00480e3a171c2edae96d601953a8b05e8786ba5b58086536f093b92de716d78c03291a86037817bfbe0c35e300008170da10c9f4a5bdf4042836ebb58a4769eadb580b9b374588f9c83d96baa022c7820176ca3771167780ae57dcc45ecf6eeb1bbc04ee7cac13ef40dfb9adabfb7103335988d32836b976b6b006507704e52e9e3dad6d78c00eecc9e2fde5f4e8ea7dbb4272a4a4272b6a40f61d6806a6dc4bb6eed4b8d60232aae6e543e7f9d36d602ab49ca430700b86b77a6daf180d236dff9de9bfa223fbc9901b16c7ff31cff00e9aafee9101976c9a8def945f71b8e8f5b8c018b9b750dc6e73bc5b58059ee3291a167de7ab6d7dbbc1755c1d2fa3b77745de0218e9a04dc7474d74e8ebc60252ec5b87bdb6bbc7475809e0a0328d3a23bf4b6b00eeb7161bcbdc58df8c054023450b3b04fda9b75a022d61c356d3fe5b758c0722ae0b8e8ea1b7f122dade02a52f6cae123cddd637e3002822da017eefd5b75a0074ea9649b902ee5ee3a3ac04904066767723b5f4b6b00709b02dab30fb2d73df0104117de2e193c787459e02198eee364e9fabd1d602c7811722dd962ed6d601c5decf9401e629b6b010417eb333eebf6e5b6b010da39f9d238ef4db5e30129d14c3a5ab7fdc75a025aeb21ddb5efbdadd6808e4c8be56290fd1fb47475f6ef0364d46f7ca2fb8dc747adc600c5cdba86e3739de2dac02cf71948d0b3ef3d5b6bedde0baae0e97d1dbbba2ef010c74d026e3a3a6ba7475e30129762dc3dedb5de3a3ac04f05019469d11dfa5b580775b8b0de5ee2c6fc602a011a2859d827ed4dbad0105adc06ada7fcb6eb18095dddc7445c36fe245b52f01c6b0e199c253e6ed1637e301f3ff86c519583d16e1cfa5b0ddf8a9dec633c5d9b60eef9af9cf6c73d9d3739cf6c2c5ce73db0b1739cf6c2c5d5554dd17dff00e06164dc454f4137dc2162656e73db0b22e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858bbedad8057ffab580aaf7a1a5bb3ffe50eadb5bc75d3b38aaddbdbf076de40de5ee2c6fc625548047bed1d827ff008dbad0136b0e1ab69ff2dbac603915705c74750dbf8916d6f015297b657091e6eeb1bf18014116d00bf77eadbad003a754b24dc81772f71d1d6024820333b3b91dafa5b580384d816d5987d96b9ef808208bef170c9e3c3a2cf010cc7771b274fd5e8eb0163c08b916ecb176b6b00e2ef67ca00f314db580820bf5999f75fb72db58086d1cfce91c77a6daf18094e8a61d2d5bfee3ad012d7590eedaf7ded6eb40472645f2b1487e8fda3a3afb7781b26a37be517dc6e3a3d6e30062e6dd4371b9cef16d60167b8ca46859f79eadb5f6ef05d57074be8edddd17780863a681371d1d35d3a3af18094bb16e1ef6daef1d1d60278280ca34e88efd2dac03badc586f2f71637e3015008d142cec13f6a6dd6808b5870d5b4ff96dd6301c8ab82e3a3a86dfc48b6b780a94bdb2b848f37758df8c00a08b6805fbbf56dd6801d3aa5926e40bb97b8e8eb012410199d9dc8ed7d2dac01c26c0b6acc3ecb5cf7c041045f78b864f1e1d167808663bb8d93a7eaf4758095d81717cb6f3176b6bc60346db7fe77a6fe888fef26406c5b1ff00cc73ff00a6abfba440663a5d6096de1bb5ee2c5d50139754e9f9bab775b5bde0232d99d803d1395fe8db53012a0c1b4fd5ddda2c4b97bc0458ea0a586e01afe4d8dcbde002ec1bd1b8ef16d602b77b9218f48a469dd6d78c0586565707f7bf7b5cc04654df8f117f35ae78c04149b8cbaf4bbb5d2d73c602dd1529f28ca6efafce2da9801403994124dbcdda2daf18082d7ca2fadb776a6dade02729de32e5ea91b9df4b6bc7d9c248e96606ef661b8ef16d6f0009eef98333be96d602af736377709bb7eadb5bc04d810c0d83e501dbbadade020e8fa0eebb765ae4bc0477f59ec19dbf56c6f016504927ecff00286d60053ab0d2f6bb6ba5b5f6ef08e2e962be906f9ee9606fedde1395397aac4ee4eeeeb5cc00a425d252d6dde6716d6f00e975825b786ed7b8b175404e5d53a7e6eaddd6d6f7808cb667600f44e57fa36d4c04a8306d3f577768b12e5ef01163a82961b806bf936372f7800bb06f46e3bc5b580addee4863d2291a775b5e301619595c1fdefded730119537e3c45fcd6b9e301550371975e91ecd74b5cf180a9caa53e5e89bbff0088b6a60385601cca0926dec45b5e30186918360b8f62936971ac268718a59724cd452d6489751293333001694cd4a80532c87eded81765ff0093af07df21366beaca4f5511684e693f93af07df21766beaba4f550b419a4fe4ebc1f7c85d99fab293d542d06693f93af07df21366beaba4f550b419a5d69fe0f3c1f89b4606c36cd80a9a4287b994971c92cfc1c44c34a666d3e5f8c147e0ef6015494aa56c36cda94a9482a51c3291cf447e8e111a189339a7cdd9fe4ebc1f7c84d9afaae93d544da19e693f93af07df21366beaca4f570b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c84d9afab293d5c2d06693f93af07df21366beaca4f570b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c85d9afaae93d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaba4f550b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21366beaba4f550b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c85d9afaae93d542d06693f93af07df217667eaca4f550b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaba4f550b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaba4f550b419a4fe4ebc1f7c84d9afab293d5c2d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21366beaca4f570b419a4fe4ebc1f7c84d9afab293d5c2d06693f93af07df21366beaba4f550b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21766beaba4f550b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21366beaba4f550b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaba4f550b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21766beaba4f550b419a4fe4ebc1f7c85d99fab293d542d06693f93af07df21366beaba4f550b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaba4f550b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaca4f570b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c84d9afab293d5c2d06693f93af07df21366beaca4f570b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c85d9afaae93d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaba4f550b419a586a2914f47535947492534949493972a9e9e4a0225ca968514a1129290c0246806ed2250cea14920f07f7bf7b5cfb7787284a4bf11bc5fcd6b9e3016625c65d7a47d3a5ae78c05ba2a53e5194ddf5f9c5b53002807328249b79bb45b5e30105af945f5b6eed4db5bc04e53bc65cbd52373be96d78fb38491d2cc0ddecc371de2dade0013ddf306677d2dac055ee6c6eee1376fd5b6b7809b02181b07ca03b775b5bc041d1f41dd76ecb5c97808efeb3d833b7ead8de02ca0924fd9fe50dac00a7561a5ed76d74b6bedde11c5d2c57d20df3dd2c0dfdbbc272a72f5589dc9dddd6b9801484ba4a5adbbcce2dade01d2eb04b6f0ddaf7162ea809cbaa74fcdd5bbadadef01196ccec01e89caff46da98095060da7eaeeed1625cbde022c75052c3700d7f26c6e5ef001760de8dc778b6b015bbdc90c7a45234eeb6bc602c32b2b83fbdfbdae60232a6fc788bf9ad73c6020a4dc65d7a5ddae96b9e3016e8a94f9465377d7e716d4c00a01cca0926de6ed16d78c0416be517d6dbbb536d6f01394ef1972f548dcefa5b5e3ece12474b30377b30dc778b6b78004f77cc199df4b6b0157b9b1bbb84ddbf56dade026c08606c1f280eddd6d6f0155be426c35ff001d2da97bc068fb6ffcef4dfd111fde4c80d8b63ff98e7ff4d57f74880cc6a8b01c4a47f85ae600e5cfbdecd75de2dac041d4bf1e95bfb36d602185ce509e2121f5f25c6adac048b8de6ccbca37767475bc04a6f6b31e01afc430d78c054e6d082c7ac00f48b6bedde16201b11ddfe3bb5f6ef082d95f2dce9c78dadac04b29364bbea7d3a5ae6025b5b30e1c3f57a3726f01523ac169edb7cfa1637f6ef0331e90d6fa766a2dac0497495745f7b8fb45b58082ec6f6b074ff871301040bba41eedc3765b6b00600b136b82c3fb2c3578092f6275ed1e94db5bc049721f7fbe238f116d602039e91eb716efd2dac0193b93b9d87fdb5bc032dd4402129f26fd96b6b013d2b8502db88bb0ece8973edde05025fa20b5d605efd96d6020a5ca986f755becb6b013aa2c071291fe16b9803973ef7b35d778b6b010752fc7a56fecdb58086173942788487d7c971ab6b0122e379b32f28ddd9d1d6f0129bdacc7806bf10c35e301539b420b1eb003d22dafb77858806c4777f8eed7dbbc20b657cb73a71e36b6b0152149d1df53e9d2d7301c6adf661c387eaf46e4c074e668a0b4eb7b7cfa1637f6ef0a6cff00f3e5493a9a63fdb476406f7008040203ab51f8da1ff8c7fba99112d28da7cbf18287fd8a8ffe0cbfec8853b18bdf9f376a259900804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020101e68927dd3c505ca4d4ce71ff31d2dac06612c6c43f0ff001ddafb77873db2be5b9d38def6b6bedde1caca4d92efa9f4e96b980bb6b661c387eaf46e4de02a47582d3db6f9f42c6fedde0663d21adf4ecd45b58092e92ae8bef71f68b6b0105d8ded60e9ff000e260208177483ddb86ecb6d600c01626d70587f6586af0125ec4ebda3d29b6b78092e43eff7c471e22dac04073d23d6e2ddfa5b58032772773b0ffb6b78065ba8804253e4dfb2d6d6027a570a05b711761d9d12e7dbbc0a04bf4416bac0bdfb2dac0414b9530deeab7d96d602754580e2523fc2d730072e7def66baef16d6020ea5f8f4adfd9b6b010c2e7284f1090faf92e356d60245c6f3665e51bbb3a3ade02537b598f00d7e2186bc602a73684163d6007a45b5f6ef0b100d88eeff001ddafb778416caf96e74e3c6d6d6025949b25df53e9d2d73012dad9870e1fabd1b93780a91d60b4f6dbe7d0b1bfb778198f486b7d3b3516d6024ba4aba2fbdc7da2dac0417637b583a7fc389808205dd20f76e1bb2db580300589b5c161fd961abc0497b13af68f4a6dade00bba0967b1cdc1f8f7c068db6ff00cef4dfd111fde4c80d8b63ff0098e7ff004d57f74880cbb0d1afc586bc74d78c01887cbde1b4e0e9b6b00cb9897e1dfaef4db5809b680004f01d9a8b6b78014a5415d5b9ddfe16d6f015df61a8e8b7cee53637e30162d99b2848de1bb751d1d6f010a48ce2c027b05ae4f57b7dbbc248719826fd9a8d7464ea77c04e5b82c433dbb0be96d6f0116b962d67602ce3516ba8bc0400c4b07c9c058775b5f6ef08ed376d401bcbdc5b5bc00a46a2dbec2fde90dac00e6655adab0ede16d6fedbc2d953c125f7b7a45b5bde016570b9b5bbc38b6b78085243a8a59cee4fff001b6b0121883d0b7bd2077dc7475803029258155dd85f4d536d6f0109000622f772069dd63780b35c8ca47eae8351d171ac0430018bdb420697d406d6f010a003962950d585efc2dd6801b062185d8371e16d600c346bf161af1d35e300621f2f786d383a6dac032e625f877ebbd36d6026da00013c0766a2dade00529505756e777f85b5bc0577d86a3a2df3b94d8df8c058b666ca123786edd47475bc04292338b009ec16b93d5edf6ef093d5cc1371c351ae8c9d4c050a742c433dbb0be96d6f01d75b328b16b380059c6a2d751780e9aec4b5c2380b7cddbedde14d9c2f8e5571e6a5ff00ff00626037f804020101d5a8fc6d0ffc63fdd4c8896946d3e5f8c143fec549ff00065ff64429d8c5efcf9bb512cd0e1d9c3f08012033901f4801200725871808704b037e101680404404c0201008040201010e1d9efc20260100804020101018dc1041d0c04c02010080870edbf8404c020100808808ce8cd9330cfae47bf9a02d0080402010080402010080402010080402010080402010080404404c02010080f3007ff16c4c7fbccd7b7e79b8b1e3019600674b8197b05ae4f57b78fb387705d39826fd9a8d7464ea77c07365b82c433dbb0be96d6f016b5cb16b3b01671a8b5d45e020062583e4e02c3badafb7784769bb6a00de5ee2dade00523516df617ef486d6007332ad6d5876f0b6b7f6de16ca9e092fbdbd22dadef00b2b85cdadde1c5b5bc042921d452ce7727ff8db58090c41e85bde903bee3a3ac0181492c0aaeec2fa6a9b6b780848003117bb9034eeb1bc059ae46523f5741a8e8b8d6021800c5eda1034bea036b78085001cb14a86ac2f7e16eb400d8310c2ec1b8f0b6b0061a35f8b0d78e9af180310f97bc369c1d36d60197312fc3bf5de9b6b0136d00009e03b3516d6f00294a82bab73bbfc2dade02bbec351d16f9dca6c6fc602c5b3365091bc376ea3a3ade0214919c5804f60b5c9eaf6fb778490e3304dfb351ae8c9d4ef809cb7058867b7617d2dade022d72c5acec059c6a2d7517808018960f9380b0eeb6bedde11da6eda803797b8b6b780148d45b7d85fbd21b5801cccab5b561dbc2dadfdb785b2a7824bef6f48b6b7bc02cae1736b778716d6f010a487514b39dc9ffe36d6020b6451c8086394eedf71617e301a3edbff003bd37f4447f79320362d8ffe639ffd355fdd22032ea42439424df87da9b6b0100ddc200035b7cd6b6b016002b40cdd65a6eddd6d600c33590dbc96d2fa8b6b010779ca53e7ed36b1bfb77858a03a9ec4824b69de2d72602aa0386b72477771bc04942429cb83d603ee71ac03aa4eee013f3f56dafb778435cb0e26c375ee2cc4def016ec3ff301bddf4ede301002af60c3abc3bd36d602592b0417e2961e76ede30142c0dd0fe4dbec71ab404bd994079b8dedd1d602d9401749ec480edab3599fdbbc23def535bb2469da2dadfdb784b3e60776bbdb5ba6d730119479c02df66ed60232b8558beae3bce96d6019465e8f7b8b91faac35e3012a2fdadc03f1b8b1e94005b76e7fb58a6dadfdb7841e22e7ca172d7eadb580b5d3b98ea328dfc438d7dbbc2aa42439424df87da9b6b0100ddc200035b7cd6b6b016002b40cdd65a6eddd6d600c33590dbc96d2fa8b6b010779ca53e7ed36b1bfb77858a03a9ec4824b69de2d72602aa0386b72477771bc04942429cb83d603ee71ac04755f77009f9fab6d7dbbc3888b961b89b0dd7b8b3137bc070cce07e7037bbdc76f180e82f35ec2dd56d3bd36d601b345f1cabfe8c7bbf1897f9e03d02031d884faaa69689d4f2933a5a0bd4277e5ec80e8ccc684e4cb9587ca54daa9def48b23bf8c067519f227946cec33e5d1f7b4075ea3f1b43ff18ff7532225a51b4f97e3050ffb151ffc197fd910a76317bf3e6ed44b368d50327843c3d7f0d844c47d19c5501aced2cd9989e2c8c592b3ee7ecde2349494cdd55cf54d4aaa15ff002f45301b2ed4be2f8860fb2b2c9e4ea95cf3186dd4b24d927f5d76ef80c3e1b8ba91b43b57514385d4e2d55cb4ba59522404a512a552a325e62d92332b41d901b3d36d7e1f3705a9c6a7ca9f489a39caa7a9a3525e689e9207269035273080e04ed5cf9553432b14d9fadc2a9f129a9914956b54b58e517d44ad292e8780c3d5e398a4ddb1a4a59185d799185cb9a6752a2625299a26ab9344e50ccc53bc3de03d2a034d1b5e2a2a311a3c3307acc4eab0e9eb913512f2a51d0b663314400e6c06b01d8a4dadc3a7e0d538cd4a26d0cba39aaa7aba65879899c96fc18035273080e04ed64c953697dd4c0abf09a3ae989954f5d3b21485afaa26a524996fdb01dfc53681143572f0da4a1a8c5b14988e50d1c861925e817316a64a413017c231e9789cdaba49d493b0cc468329aaa19ece12aeaad2a4b8524f180c59daf55419d3308c0ebf17a1a7514cdaf959128565eb722145e63764060f09c7a844fda7dad589b3692a67d351e1f2929fc22ca258e825277a94b80d929369a6ab10a5c3b14c16af079b5f9b98cc98a44c9730a46629cc83d1536e80daa03cdb09c7315c476b6b5470caf97492254aa4994c662793a75a8f28664c48565cc470bc06767ed4e6aaa9a4c1f08abc71542ac9593e4e444a42c6a80b59199438080cae0b8d52e3948aa9a744c92b9331526aa9668cb3254d4f590a101d3daface61b338cd43b28d3aa520f6cefc18f4aa035cc37697dc8c1b0ecd81620305a491265af176481a04f2bc93e7c84dde0369c53682970e1488972a6e255988de828698665cc4ea56fa0481bcc070e19b43cf2b9585d7e1b5184623c9f2d2a9e714a9332582c4a1682416de20363dc5ecda980d34ed72aa39699846055f8c50d3a8a66e212b2250acbd6e4428bcc6ec80c4e078ce1eba8dabdafa89dc961cb99229e9e62817099328580d5d4a58b7180c92f6c974e89557886cfe234184ce5240c46664e867eaaa64b04a922032b8d6d251e093f0c913e54ea8562666090248ceae8006c917254540080ead1ed3ae762d4f8457e0d57854ead42d740b9a50a1339319943a04b10202b3b6a57327d4cac1f05acc6a55128cbaaab95911282d3d64a0ac8ce4764076fdd29d8e6cfcfabd9e50455cf42914fcb740ca9af954162eca440693b45b3981e0b81a563943b4b332731ae4cc98aaa9f54541ca6f77f477c07a85189e29294555ea84a47393fa4ca337a603b300804020100804020100804020100804020100804020100804020100804079616f75715b3ff00ad4d73f39d2d01984246604b826e91f738d603b883949dcfa04eefd5b6bedde1cc05f4b5cd86ebdc5989bde0397b0ffcc06f77d3b78c0400abd830eaf0ef4db580964ac105f8a5879dbb78c050b03743f936fb1c6ad012f66501e6e37b747580b65005d27b1203b6acd667f6ef08f7bd4d6ec91a768b6b7f6de12cf981ddaef6d6e9b5cc04651e700b7d9bb5808cae1562fab8ef3a5b58065197a3dee2e47eab0d78c04a8bf6b700fc6e2c7a50016ddb9fed629b6b7f6de10788b9f285cb5fab6d602d74ee63a8ca37f10e35f6ef0aa9090e50937e1f6a6dac04037708000d6df35adac05800ad03375969bb775b58030cd6436f25b4bea2dac041de7294f9fb4dac6fedde16280ea7b12092da778b5c980aa80e1adc91dddc6f0125090a72e0f580fb9c6b00ea93bb804fcfd5b6bedde10d72c389b0dd7b8b3137bc05bb0ffcc06f77d3b78c0400abd830eaf0ef4db580964ac105f8a5879dbb78c050b03743f936fb1c6ad012f66501e6e37b747580b65005d27b1203b6acd667f6ef08f7bd4d6ec91a768b6b7f6de12cf981ddaef6d6e9b5cc051491955b9d2ff76ed60347db7fe77a6fe888fef26406c5b1ff00cc73ff00a6abfba4406580ed481b80f465b6af017627deb003501edbb2dae6021fa576e01aff003871af1808d41e8f1766dfbd36b980926e0eadc3d396daf1808e8dec5f88b3768b1bde00fbb2b3f55be7b82dd67300247543ddf35becdd9bdbbc195f76509bba477dd36d60177df6e0347bdadaf1f67092007edea1ecbf56dac057212ef66d5b70fcdb6bc602486396d676e37e16b923db881b7d94fd6cb7ef2036a77c0588291c14751dfe4d8b980ab861616f278f116b9bde025facdd1716fbc30d6f78082cccd61a307d4fbdb6b007e09ddd5d5b894b8d6fedbc25d26e74dd96f7bdc5bad780abb8cc439dde9ea920dfdbbc272e516246f2c2dbc746da98096b1b1046e03ce536d7dbbc2a43f540091bc0d35d2c6f016c852ead08dc2e1bf36dabc0540ed481b80f465b6af017627deb003501edbb2dae6021fa576e01aff3871af1808d41e8f1766dfbd36b980926e0eadc3d396daf1808e8dec5f88b3768b1bde00fbb2b3f55be7b82dd67300247543ddf35becdd9bdbbc20a5ded9426ee91df74db580e353b9d6dc068fc2daf1f670ebcd619bb7a87b2fd5b6b018f9892429ec46adb87e6db5809d99718e56278531f4cc4fa603d0a031d88512ead0832a69933e41cd24bd9fb60303228eb2aa62e4aa4268900b564d4862b3c06ef35b7f0840db10912d094024840001373680e0a8fc6d0ff00c63fdd4c8896946d3e5f8c143fec547ff065ff0064429d8c5efcf9bb512cde63b675f3709da0c12ba9e599b553a92ae9e8e580f9a72f2a658fa4b101d8c7f0b4e0db06ba5073cca134f3a7cdf2e6f3842a62fe724c0777671426cbc6b6c2ac11ee8952a901d51454e0897dd99b3180e5d8a9628f6624d754322656f2d5d59338f28a2a7fa004069f87e21574b85e0125351230c99b575959595589cf4266265329d3942fa3996199e039ea391aada8d9ac395b493f1b32a7aaaaa732a509085c94e69612252427393db6f9e0361d9fa9a7a9daadad9eb9f2c5472b2a969e9ca867c94e8216529d48260376a89e8a6913ea667e2e9d0a98b3d890e60351d8a9628f6624d754746656f2d5d59338e75153fd00203405495ab02d98adaba95e1f4d8a62d3ababab92c7919b30ab9159771bb53019cc428e96b27d0e0d3b6bf10c657884d4b52538a7999420e7e52614b6548d5e029264e7da5da9e71b473767eaccf4112de52795a708fc1a819a2ec38690154d38a9a2dadc570dc5310c66aa4d14ca1e7b3132c4b98074d5c82a5dd5943ddb7da0366a0da2d9fc2f6630f9f2eb246491492c4aa342d266a961174040be6cdac06b7860c191b2f82e1b8fa17211b4b367d4a6b0108972a6e6ce826612321296cb680cc6135b5747b414f811c5e5ed250ce913274ba856554fa5c9a728b4d959b4737ff10f4280f3cd8ea8455d0ed155d3cf96ac4711adaa9e9939867427ab2814ea0404ec7e2f82e1db2f4c2a2ba4524da4e53dd29535613344ecea2bcc93d224ee80efec6ca9d32462d8bcd92aa74e3b5b32a6964a831127aa82471533c0747c20d54845260d455009a7abaf94aae003ff00ab48e9ce2c380626039f6ab1cc3a660b518761f512711afc611cda828e4293314ae56d9992ec0072f01ae2e8554db4f2e8eab1c99824ca6c269a461f549c8d39280d352153437583b4065b05a7a5acda413918f5763b3b0494a7a9299469872e3299626219d5bfe680da76a39c78bb8d7340a33cd2ccc813ab65e9336f6780c3d06d160185ecc61f3e5d64832e4d24b12a8d0b499aa5845d0102f9b36b01a64a909a5d9bd8fabae4e4c3ea314e7b8aa9ba09e514a328abf359a036bdafc529310c30e03864f93886278d2912a9e44950999539829531795f2a401ac05e5494d4edbcb97d795b3b85a5092774e9ead7e79701c789f2d5bb5e514c334cc13089f36436ea8a9e8247ce980d630014b4fb3b4f51e3b4fc2d14e851a9a01c8854b98e4ad010a19c9274e301beec8d249a4c184f9532ad72f119932b14bab4a5137f09bca50e03b3fcf01d6d9ea3a2afacafda5555cac5a7d4ce5cba0a9015969e426c99680b018f944406e5008040201008040201008040201008040201008040201008040201008040203cac9ffc5b151fef3358ff00cc74edbc065924681eef9adf66ecd01dd4241dd9426ee91df74db580e7bf6db80d1ef6b6bc7d9c394801fb7a87b2fd5b6b015c84bbd9b56dc3f36daf1809218e5b59db8df85ae48f6e206df653f5b2dfbc80da9df01620a47051d477f9362e602ae18585bc9e3c45ae6f78097eb3745c5bef0c35bde020b3335868c1f53ef6dac01f827775756e252e35bfb6f09749b9d3765bdef716eb5e02aee3310e777a7aa4837f6ef09cb945891bcb0b6f1d1b6a6025ac6c411b80f394db5f6ef0a90fd500246f034d74b1bc05b214bab42370b86fcdb6af01503b5206e03d196dabc05d89f7ac00d407b6ecb6b98087e95db806bfce1c6bc6023507a3c5d9b7ef4dae60249b83ab70f4e5b6bc6023a37b17e22cdda2c6f7803eecacfd56f9ee0b759cc0091d50f77cd6fb3766f6ef0657dd9426ee91df74db5805df7db80d1ef6b6bc7d9c24801fb7a87b2fd5b6b015c84bbd9b56dc3f36daf1809218e5b59db8df85ae48f6e206df653f5b2dfbc80da9df01620a47051d477f9362e602ae18585bc9e3c45ae6f78097eb3745c5bef0c35bde020b3335868c1f53ef6dac0428d94c9dc6cf61c48edbdfd9c347db7fe77a6fe888fef26406c5b1ff00cc73ff00a6abfba44066122ce37dec34e0ddb0025c9b587ce2fe4dae6fedbc2a40535bedd3b2d73edde16094b123cc9ddc08b173f3c0404a731e88b1bdbbf4b6bedde16502cf9587670ecb6b7d2021ec19c02387d96d6f012efaea937b77e9d1d601c98d5bb4803717d186b0143c093c430fb2dac07210ee3314fcdda74b6b01566eb016b16bf1d2da980ae5b94e509de481e76b6bedde1c85c0516f379adadcfb76857b08ef61f70d7dbbc2a109ded7d08e1d96b9e3ece16580069a70bdefa38d6d780b048d0245fc9e1e6d6028cca502189766bebc2ddbedbc27379b786fe1af1809ca0bfce4d9dbf56dafb778414e4d2c46ac3ecb33de0200eb1bdcdf2876d7abd1d602c537770772bb1f85b580aa86a7202c6f6fb3a3a980948b38df7b0d38376c009726d61f38bf936b9bfb6f0a9014d6fb74ecb5cfb77858252c48f32777022c5cfcf010129cc7a22c6f6efd2dafb7785940b3e561d9c3b2dadf48087b067008e1f65b5bc04bbebaa4deddfa747580832c33b769006e3c186b01c0be049e2187d96d60386607046629f9bb4e96d6031f3437580b58b5f8e96d4c046cc06c76b465cbfeac74fd74f6080f43804020101d5a8fc6d0ff00c63fdd4c8896946d3e5f8c143fec549ff065ff0064429d8c5efcf9bb512cdd69d4749513644fa8a5933e75292aa69cb4254a964ea5048749b0d202f3e9e454ca5d3d4c997512265a6499890b42bbd2a7060239b53f37e69c84be6b9392e6d94727c9b65c995999acd01229e9c48e6a244b14a11c90a6ca393c8cd932e8cd6680eb4ec2f0da9a54514fc3e9a6d1ca6e4a9552d265a1ac32a5983764051183e132f9b7278652239928ae8f2ca40e4d4755218589680e54e1d87a2ad55e8a1a74572c32eb04b4f2a476ad9e03b3325cb9d2d72674b4cd953525336528664a926c4106c41101514f4e29f9a8912c528472429824727c9b364cba3359a029cce939b732e6b279984e4e69913c9e51ef72365680e0a3c270cc38ad5418752d1aa675d5265a504fce0402b70ac3311c86bf0fa6ad28ea2a6cb4ac8ee24180edc993269e5224d3c9448932c34b952d212903b00b4063d38160a89b327a708a14ce9c1426cc1225ba82c3281b7be06fc603b3370fa19f4a9a29d454f368d0025148a96932c04d920219836e80ad16198761a95270fa1a7a20bebf252d28cddec2f01de80e953e1d41493a74fa5a1a7a69f51fed13a5cb4a14bdfd2205e03866e0b83cfa8e793f0aa39d55bea17250a5f9c8780c9c0704ca5a69d3254e9d4f2a6cd921424cd52029480b0cb09274cc35e301d4a5c1f09a098a9d458652524d575a6ca94842bce040735661f4188a04aafa291592d374a66a12b6ed1985a02f4b494b432848a3a6954924692a520213e64b4076603149c0b0444d9b3d38450a674e0a13660912dd4161940dbdf037e301dee6b4dcdf99f3795cd4239314b907279006cb91999b74075a8f0ac330e2a55061d4b46a5f5d52652104f63a44076514d4f2e74fa8972254ba8a9cbce67a5202e6640c9cca17530d1e008a6a7973a754a29e522a27e513ea128016b09b273299cb6e780e8ccc0f069d53cf26e134536a9f31a8549415bf176d60326a4a54929524292a0ca49b820ee80e1a6a5a6a3949a7a3a6954b212f964ca404243dcb2520080ec40201008040202202601008040201008040201008040201008040201008040203cac96c5f15d47facccbb7e71d2dac065e597d750787d9d1d603ba996356ed200dc5f461ac072f6127570c3ecb6b01d821dc6629f9bb4e96d602acdd602d62d7e3a5b53015cb729ca13bc903ced6d7dbbc390b80a2de6f35b5b9f6ed0af611dec3ee1afb77854213bdafa11c3b2d73c7d9c2cb000d34e17bdf471adaf016091a048bf93c3cdac051994a04312ecd7d785bb7db784e6f36f0dfc35e30139417f9c9b3b7eadb5f6ef0829c9a588d587d9667bc0401d637b9be50edaf57a3ac058a6eee0ee5763f0b6b01550d4e4058dedf67475301291671bef61a706ed8012e4dac3e717f26d737f6de152029adf6e9d96b9f6ef0b04a5891e64eee0458b9f9e02025398f4458deddfa5b5f6ef0b28167cac3b38765b5be9010f60ce011c3ecb6b780977d7549bdbbf4e8eb00e4c6adda401b8be8c3580a1e049e2187d96d60390877198a7e6ed3a5b580ab37580b58b5f8e96d4c0572dca7284ef240f3b5b5f6ef0e42e028b79bcd6d6e7dbb42bd8477b0fb86bedde15084ef6be8470ecb5cf1f670b2c0034d385ef7d1c6b6bc0582468122fe4f0f36b01c6ab6770c58e97171c5bb7db7868fb6ffcef4dfd111fde4c80d8b63ff98e7ff4d57f74880cb5ba4082fa25bb756b6bc6025897ecbe9dfa0cb73edde055acd7b9e88df71d1b6b0117beac6e1b4bf0e8ebedde165235707a3671a8df6b75a02cdd66d06a7cf74dae602ad7198101b76e7de9b6b010a0028316bdc00edda9b6bedde1201bb8213ae9c778b6bc600f9520333dd80d2fa8b6bedde0d140e53d10fd5f48fce80ae501403311c34d3758fcf00512d99dd5d9bb5d2dafb77849fccea8d080fc7abd1d6f012da93a6a1839dfa5b5f6ef0a393d5b7be0df39e8f47580be53d2d7b7fe6f9b58065087b11f9a3fc3b78c04a828136bb1eaeeed1d1d602328ca5ecda9037f116eb7180a8d2ce7297b0f48b1e97b77859ba41c5c39240d3b45b5bfb6f03e6bb1367603b351dbedde10dd10e9609d0817bf0b6b001601992953bd9f8e96b9808b748105f44b76ead6d78c04b12fd97d3bf4196e7dbbc0ab59af73d11bee3a36d6022f7d58dc3697e1d1d7dbbc2ca46ae0f46ce351bed6eb4059bacda0d4f9ee9b5cc055ae3302036edcfbd36d60214005062d7b801dbb536d7dbbc0c58b8213a9b71de2daf180e3272a40667bb01a5f516d7dbbc3acb0c41ca6c09eafa47e74063a6a40533311c34d3758fcf013b31fcf956e5cf362edff00113d901e870080880980ead47e368bfe31feea6444b4a369f2fc60a1ff0062a3ff00832ffb2214ec62f7e7cdda89664020100804020100804020100804020100804020100808809804020100804020100804020100804020100804020100804020101101300804020100804020100804020100804079511ff8c62af99b9ccd6ece91ba6dac06592c142ed7bb07f9d36d7dbbc3bc80778213ae9c778b6bc603b093952cccee580d2fa8b6bedde1c9a281ca7a21fabe91f9d015ca02806623869a6eb1f9e00a25b33babb376ba5b5f6ef093f99d51a101f8f57a3ade025b5274d43073bf4b6bedde14727ab6f7c1be73d1e8eb017ca7a5af6ffcdf36b00ca10f623f347f876f1809505026d763d5ddda3a3ac0465194bd9b5206fe22dd6e30151a59ce52f61e9163d2f6ef0b374838b872481a768b6b7f6de07cd7626cec0766a3b7dbbc21ba21d2c13a102f7e16d6002c033252a77b3f1d2d730116e9020be896edd5adaf1809625fb2fa77e832dcfb778156b35ee7a237dc746dac045efab1b86d2fc3a3afb7785948d5c1e8d9c6a37dadd680b3759b41a9f3dd36b980ab5c660406ddb9f7a6dac042800a0c5af7003b76a6dafb7784806ee084eba71de2daf1803e5480ccf76034bea2dafb7783450394f443f57d23f3a02b940500cc470d34dd63f3c0144b66775766ed74b6bedde127f33aa34203f1eaf475bc04b6a4e9a860e77e96d7dbbc28e4f56def837ce7a3d1d602f94f4b5edff9be6d6019421ec47e68ff000ede3009892cbb5d8f777e9af180d176dff9de9bfa223fbc9901b16c7ff31cff00e9aafee9101992eeec74716767f26dac03282ea29e374eefd5b5c98087568cc3771bbe96eb71f6708dd7eb0074dd7dd6d6f017198024393f67a2e6028d7d129dce3fc2dac0496d42036e0cfb8e8c0de0274b311ab35f8dd3637e301501b706d580ec6716d4bfb6f096019ba2dbd3bb5d2c7a5010a04dae2d76bdbf36d730129e8a8b8b6ff4dc5b5e3000fd260ab5dd3a7cd6d4c03824803b87a438d60248c9d54e52da0b81ae96eb4045ca83b01776e37d3b78c01b462d676edf31bef8095be845869e9b8b1bfb778406d183e819adb8b5ae601c7a2ccec536e3d5b6b002eaddfc0bea9e8ebc600c3781a1bb717eaf6c01981d48008ca3777747ad014292c546e4f0f9faa5b580b93d116e92756fb45b5ec8092eeec74716767f26dac03282ea29e374eefd5b5c98087568cc3771bbe96eb71f6708dd7eb0074dd7dd6d6f017198024393f67a2e6028d7d129dce3fc2dac0496d42036e0cfb8e8c0de0274b311ab35f8dd3637e301566dc1b5200ec6716d4bfb6f0e350019ba2c354eed74b1e9407526826d716bb70fcdb5cc07457d151716dfe9b8b6b00d98fe7dadfe8c74d3ae980f43804020101d5a8fc6d0ff00c63fdd4c8896946d3e5f8c143fec549ff065ff0064429d8c5efcf9bb512cc80402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080f2a3fcef8a9caed553773ef3a58c065e5dacc46acd7e3716d78c0775019ac1ae4803b19c5b52fedbc3b0c033745b7a777758f4a02ea04dae2d76bdbf36d730129e8a8b8b6ff4dc5b5e3000fd260ab5dd3a7cd6d4c03824803b87a438d60248c9d54e52da0b81ae96eb4045ca83b01776e37d3b78c01b462d676edf31bef8095be845869e9b8b1bfb778406d183e819adb8b5ae601c7a2ccec536e3d5b6b002eaddfc0bea9e8ebc600c3781a1bb717eaf6c01981d48008ca3777747ad014292c546e4f0f9faa5b580b93d116e92756fb45b5ec8092eeec74716767f26dac03282ea29e374eefd5b5c98087568cc3771bbe96eb71f6708dd7eb0074dd7dd6d6f017198024393f67a2e6028d7d129dce3fc2dac0496d42036e0cfb8e8c0de0274b311ab35f8dd3637e301501b706d580ec6716d4bfb6f096019ba2dbd3bb5d2c7a5010a04dae2d76bdbf36d730129e8a8b8b6ff004dc5b5e3000fd260ab5dd3a7cd6d4c03824803b87a438d60248c9d54e52da0b81ae96eb4045ca83b01776e37d3b78c01b462d676edf31bef8095be845869e9b8b1bfb778514c12ab24962dd9c776b01a3edbff003bd37f4447f79320362d8ffe639ffd355fdd22032c2f7de2f9801ff4db580b972ce471b5dbf56dac056d661d11a1034d74b1bc04b900e50cdb93e771d1d6f011d5258757c9ff00e3667ec8096574bdeb12ec38ef4db5803102cc0a6ec07a459b340490058b25b448bb7eadbad0153a329fa5d8cdae963d2bfb6f095060ccf9740c3fe9b6a602344b0d41b80f6eeb6b00eab17d2e1bb5ee1c1bfb7785492fbdb5290343f9b6d78c05c38700802e6cdbf85ae6022dff003104a728f391f9d012c07bd1d81b472ce3a3ac0093ef8586875d7c9e8dcc04749806eab681fe716d60272906fbb8076ed05bac602424df4b68a1b9f85b53010ce6c78e6649e074fcebfb6f00b92b0e0ef6ff0000daf1f670860f7000e291c7830d600d75763902fe8b6bedde027a394683458e3f9ac3530102f7de2f9801ff004db580b972ce471b5dbf56dac056d661d11a1034d74b1bc04b900e50cdb93e771d1d6f011d5258757c9ffe3667ec8096574bdeb12ec38ef4db5803102cc0a6ec07a459b340490058b25b448bb7eadbad014575594fd2ec66d74b1e95fdb78526060ccf9740c3fe9b6a603a93032586a3501eddd6d603a337a377d2e1bb5ee2dafb778576669e5d56395889a660029576973264a62a2106e8292ecaf98b1d40301e8aac369579dcd40cf99daa278eb728eccbb7e34b369d16ea2580ac3695799cd474f33b544f1d6e51d9976fc6966d3a2dd44b0158652af3b9a8e9e676a89e3adca3b32edf8d2cda745ba89602b0da55e77351d3cced513c75b94766586fc6966d3a2dd44b075ea70ea654ca604d47e166ac29a7ce1d6953c9cacbe8fe30b369d16eaa5a257a769f2fc615a4c32957454ce6a06792976a89e3ac95bb32edf8d2cda745ba89653b2717bf3e6ed2b0ca65e77351d3cced513c75b947665dbf1a59b4e8b7552d2cc561b4abcee6a3a799daa278eb728eccbb7e34b369d16ea2580ac369579dcd40cf99daa278eb728eccbb7e34b369d16ea2580ac3295799cd40cf99daa278eb728eccbb7e34b369d16ea2580ac329579dcd474f33b544f1d6e51d9976fc6966d3a2dd44b01586d2af3b9a819f33b544f1d6e51d9976fc6966d3a2dd44b01586d2af3b9a8e9e676a89e3adca3b32edf8d2cda745baa9602b0da65e67351d3cced513c75b947665dbf1a59b4e8b7512c0561b4abcce6a3a799daa278eb728eccbb7e34b369d16ea2580ac369959dcd474f33e5a89e3adca3b32edf8d2cda745ba89602b0da55677351d3cced513c75b947665dbf1a59b4e8b7512c056194abcee6a3a799daa278eb728eccbb7e34b369d16ea2580ac329579dcd474f33b544f1d6e51d9976fc6966d3a2dd54b0158652ab3b9a819f33b544f1d6e51d9976fc6966d3a2dd44b01586d2af3b9a9e9e676a89e9eb728eccbb7e34b369d16ea2580ac329579dcd474f33b544f1d6e51d9976fc6966d3a2dd44b01586d2ab3b9a8e9e6ccd513c75b947665dbf1a59b4e8b7512c0561b4aacce6a3a799daa278eb728eccbb7e34b369d16ea2580ac369579dcd474f33b544f4f5b947665dbf1a59b4e8b7512c0561b4abcee6a067cced513c75b947665dbf1a59b4e8b7512c0561b4abcce6a3a799daa278eb728eccbb7e34b369d16ea2580ac329579dcd474f33b544f1d6e51d9976fc6966d3a2dd44b01586d2af3b9a8e9e676a89e3adca3b32c37e34b369d16ea2580ac369579dcd474f33b544f1d6e51d9976fc6966d3a2dd44b0158652af3b9a8e9e676a89e3adca3b32edf8d2cda745ba89602b0ca65e77351d3cced513c75b947665dbf1a59b4e8b7552c0561b4abcee6a3a799daa278eb728eccbb7e34b369d16ea2580ac369579dcd40cf99daa278eb728eccbb7e34b369d16ea2580ac3295799cd40cf99daa278eb728eccbb7e34b369d16ea2580ac329579dcd474f33b544f1d6e51d9976fc6966d3a2dd44b01586d2af3b9a819f33b544f1d6e51d9976fc6966d3a2dd44b01586d2af3b9a8e9e676a89e3adca3b32edf8d2cda745baa9602b0da65e67351d3cced513c75b947665dbf1a59b4e8b7512c0561b4abcce6a3a799daa278eb728eccbb7e34b369d16ea2580ac369959dcd474f33e5a89e3adca3b32edf8d2cda745ba89602b0da55677351d3cced513c75b947665dbf1a59b4e8b7512c056194abcee6a3a799daa278eb728eccbb7e34b369d16ea2580ac329579dcd474f33b544f1d6e51d9976fc6966d3a2dd54b0158652ab3b9a819f33b544f1d6e51d9976fc6966d3a2dd44b01586d2af3b9a9e9e676a89e9eb728eccbb7e34b369d16ea2580ac329579dcd474f33b544f1d6e51d9976fc6966d3a2dd44b01586d2ab3b9a8e9e6ccd513c75b947665dbf1a59b4e8b7512c0561b4aacce6a3a799daa278eb728eccbb7e34b369d16ea2580ac369579dcd474f33b544f4f5b947665dbf1a59b4e8b7512c0561b4abcee6a067cced513c75b947665dbf1a59b4e8b7512c0561b4abcce6a3a799daa278eb728eccbb7e34b369d16ea2580ac329579dcd474f33b544f1d6e51d9976fc6966d3a2dd44b01586d2af3b9a8e9e676a89e3adca3b32c37e34b369d16ea2580ac369579dcd474f33b544f1d6e51d9976fc6966d3a2dd44b0158652af3b9a8e9e676a89e3adca3b32edf8d2cda745ba89602b0ca65e77351d3cced513c75b947665dbf1a59b4e8b7552c0561b4abcee6a3a799daa278eb728eccbb7e34b369d16ea2580ac369579dcd40cf99daa278eb728eccbb7e34b369d16ea2580ac3295799cd40cf99daa278eb728eccbb7e34b369d16ea2580ac329579dcd474f33b544f1d6e51d9976fc6966d3a2dd44b01586d2af3b9a819f33b544f1d6e51d9976fc6966d3a2dd44b01586d2af3b9a8e9e676a89e3adca3b32edf8d2cda745baa9602b0da65e67351d3cced513c75b947665dbf1a59b4e8b7512c0561b4abcce6a3a799daa278eb728eccbb7e34b369d16ea2580ac369959dcd474f33e5a89e3adca3b32edf8d2cda745ba89602b0da55677351d3cced513c75b947665dbf1a59b4e8b7512c056194abcee6a3a799daa278eb728eccbb7e34b369d16ea2583ca79312714c4e5cb52b2c9a89894e65296a64a880732b3152bbc930198400031b7048bb775b580ee27aa029fa4fb99b5d2c7a57f6de1da218333e5d030ff00a6da980b68961a83701eddd6d601d562fa5c376bdc3837f6ef0a925f7b6a520687f36daf180b870e01005cd9b7f0b5cc045bfe62094e51e723f3a02580f7a3b0368e59c747580127df0b0d0ebaf93d1b9808e9300dd56d03fce2dac04e520df7700edda0b758c04849be96d14373f0b6a60219cd8f1ccc93c0e9f9d7f6de0172561c1dedfe01b5e3ece10c1ee001c5238f061ac01aeaec7205fd16d7dbbc04f4728d068b1c7f3586a60205efbc5f3003fe9b6b0172e59c8e36bb7eadb580adacc3a2342069ae96378097201ca19b727cee3a3ade023aa4b0eaf93ffc6ccfd9012cae97bd625d871de9b6b0062059814dd80f48b366809200b164b689176fd5b75a02a74653f4bb19b5d2c7a57f6de12a0c199f2e8187fd36d4c0468961a83701eddd6d601d562fa5c376bdc3837f6ef0a925f7b6a520687f36daf180b870e01005cd9b7f0b5cc045bfe62094e51e723f3a02580f7a3b0368e59c747580127df0b0d0ebaf93d1b9808e9300dd56d03fce2dac042d24053b581ee1adc16d4ef80d1f6dff009de9bfa223fbc9901b16c7ff0031cffe9aafee9101973ef811a6a07da2dadfdb78481c52599c11b89d32db58035956722d606dae96d6028036a3a274501e62036b0166297b9007929d7b9c6b010500b2729b0259bfb36b98092e06997b06efd5b1b9809395c82963d9ff00c6c5cc01432e6395c962c077e840d60232d88cba7a3b536d78c0491c5dfdf650eddc5b58065e1de34d0bdc7475bc045c0b8d356dc4bdd36d6fedbc07536e96ae9ff0f9e0248e1d1f2bbcf9367780aad2e58259b4481bb882dac0087bb3286a18b8ed072f5a02dbef98b6f0347e1d1d60212866212ce1dc6ed7ab6d78c037170e12d617f35b57d60272850394585cb5fcd6d4c041eb1b1001d40e3e486d78c05b290fd1091c07f85b53edda15cbaeae3736ef293d1d6024823835ee35bbb10c358083ef811a6a07da2dadfdb78481c52599c11b89d32db58035956722d606dae96d6028036a3a274501e62036b0166297b9007929d7b9c6b010500b2729b0259bfb36b98092e06997b06efd5b1b9809395c82963d9ffc6c5cc0428650a395c962c077e840d6038949b11974f476a6daf180eb4d1c5dfdf651a7716d603a3353ab1eed3420dc5b5bc04ec9294368ea9077d12c96d1c4d97a79ef01ea3008040203ab51f8da1ff8c7fba99112d28da7cbf18287fd8a8ffe0cbfec8853b18bdf9f376a25990080402010080402022026010080402010080402010080402010080402010080402010080404404c020100804020100804020100804020100804020100804020100808809804078c662ac5f1957fbed4247cd3543a3637b40661196e0a58f67ff1b17301de0328272b937603bf4206b01d809b11974f476a6daf180e4238bbfbeca1dbb8b6b00cbc3bc69a17b8e8eb7808b8171a6adb897ba6dadfdb780ea6dd2d5d3fe1f3c0491c3a3e5779f26cef0155a5cb04b36890377105b58010f76650d43171da0e5eb405b7df316de068fc3a3ac04250cc4259c3b8ddaf56daf1806e2e1c25ac2fe6b6afac04e50a0728b0b96bf9ada98083d6362003a81c7c90daf180b6521fa212380ff0b6a7dbb42b975d5c6e6dde527a3ac04904706bdc6b7762186b0107df0234d40fb45b5bfb6f09038a4b33823713a65b6b006b2ace45ac0db5d2dac05006d4744e8a03cc406d602cc52f7200f253af738d6020a0164e53604b37f66d730125c0d32f60ddfab637301272b9052c7b3ff8d8b9802865cc72b92c580efd081ac0465b11974f476a6daf1809238bbfbeca1dbb8b6b00cbc3bc69a17b8e8eb7808b8171a6adb897ba6dadfdb780ea6dd2d5d3fe1f3c0491c3a3e5779f26cef0155a5cb04b36890377105b58010f76650d43171da0e5eb405b7df316de068fc3a3ac05323209cbaa5c9e1ae96d78c0691b6ffcef4dfd111fde4c80d8b63ff98e7ff4d57f74880cc3d9943bc80ecefa16d6fedbc191ad71a866761c536d602021472db2b7be1bbd17301041254e086e02f7e16d78fb3859c0ccc143825234eeb6b00705dd37507b0bff00cb6b980aea0b94eae401c7c9b75a00746b1491b87f67a373016c8daf45c176ede162e602b940d4dd20b65f4316d6026c32f41c27466f38b6b00526fb9cdc801f8b949cbafb77800296e1bd803c4746d730060b2eca4b5ba2347bdadadef00ca6cc01b116166e22dac00a5494687f5756eee8ea601959dc17e2dbafd5b6bc602733ee2c6e5c7f66dac04137043277d83f1eadb5bc0389e8bddb28fb2c6e77c032e624b77903ec71ac00a7473a06205fe8ba7580060cd7291d8c09de9b6bedde001d25211940d7f87475e3011977d9ae4651e901b5f6ef0b3d9943bc80ecefa16d6fedbc191ad71a866761c536d602021472db2b7be1bbd17301041254e086e02f7e16d78fb3859c0ccc143825234eeb6b00705dd37507b0bffcb6b980aea0b94eae401c7c9b75a00746b1491b87f67a37301250cefd17176ede162e60385490353748b65f4316d603ad31804f41c24599bce2dac074678bee7372007e37496d7dbbc1b241b69a7ff419ba69f8e95a58407a9c02010080ead47e3a87fe31feea6444b4a369f2fc60a1ff0062a3ff00832ffb2214ec62f7e7cdda8966e962188e1f84d24ec4315aea6c3682983d45754cc449932c3b3aa64c2122fc4c06a183f84ff0778fe2030ac1f6cf06c431159cb2a8e5d4a33cc3c2502dca7fcaf01be40202b9925450140a93aa77f9a02d00804020100804020100804074ebebe8b0ba3a9c4712ab934141468332aeb27ac4b972d03552d6a600080ea271fc115558650a717a255663521553845289c8e52a64253995364a5dd69092ee2039b0dc5f0ac6654f9f84e234d8949a69f329aa26d3cc4cd4a27ca2d32528a5d969de203230080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080f1545f16c68386e7f52e1bf4aaeadb580cd4bd1ad948dc3fb3d1d603be8436bd17776ede162e60398240d4dd20b65f4316d60396c32f41c27466f38b6b00526fb9cdc801f8b949cbafb77800296e1bd803c4746d730060b2eca4b5ba2347bdadadef00ca6cc01b116166e22dac00a5494687f5756eee8ea601959dc17e2dbafd5b6bc602733ee2c6e5c7f66dac04137043277d83f1eadb5bc0389e8bddb28fb2c6e77c032e624b77903ec71ac00a7473a06205fe8ba7580060cd7291d8c09de9b6bedde001d25211940d7f87475e3011977d9ae4651e901b5f6ef0b3d9943bc80ecefa16d6fedbc191ad71a866761c536d602021472db2b7be1bbd17301041254e086e02f7e16d78fb3859c0ccc143825234eeb6b00705dd37507b0bffcb6b980aea0b94eae401c7c9b75a00746b1491b87f67a373016c8daf45c176ede162e602b940d4dd20b65f4316d6026c32f41c27466f38b6b00526fb9cdc801f8b949cbafb77800296e1bd803c4746d730060b2eca4b5ba2347bdadadef00ca6cc01b116166e22dac00a5494687f5756eee8ea601959dc17e2dbafd5b6bc602733ee2c6e5c7f66dac05265c1609167ecdfd5b6b7bc0691b6ffcef4dfd111fde4c80d8b63ff98e7ff4d57f74880cb819aca075e1d9badac01866d194a7d05b7b90e3580019542cc03fcdae962e60249032bf5926fd1fb2c7a5015e8b26c0106ecf63c53637e30160c5d4cc757487f338d4bc04b35baaf7b5ef7ba6dac055401fcd7d40f3b8b6b010e0b7668d76fd5b5d50004866d4977038bf56dafb77858a728601db701c743a6bc6021ba24004b8761bbb9875a02370e891c7281e71d1b980b1486272eae6da867b8b6b010c08040b5dacf6be96d7dbbc2c34bd807cc05f5f9bad01470e1c0604dc036e0d6eb403a374b0673a3b0ed1d1d602e53ab02c0660199bf5586b00e3bf7d869b9d36b980e3b24bddcef1fe162e602783682e1207d9f9dc602c3a573ef09dda3f0b1e93c0435f421b781fd9b6a6020f59ca351fadf3871ac04819aca075e1d9badac01866d194a7d05b7b90e3580019542cc03fcdae962e60249032bf5926fd1fb2c7a5015e8b26c0106ecf63c53637e30160c5d4cc757487f338d4bc04b35baaf7b5ef7ba6dac055401fcd7d40f3b8b6b015705bb346bb7eadaea80e324801b5777038bf56dafb778704c4e50c03b6e038e874d78c063a68e8a8006e1c81bbb986b013b25ffed2cfb37fa8cdd05bf1d2bb203d4e030b271ba69f884dc3d32e624cacc39c1cb90a91d602efc6e44236b93bb5cc57179b8a4df73f0ecc699472a968d679e03f33edeed6222ffafd7ebe499b373a29269a92969d4cf265a505b4e886b45a510547e3687fe31feea64565ad1b4f97e3050ffb151ffc197fd910a76317bf3e6ed44b37cd98dd048f09be1ba7eca63a9e77b21e0df0da7ae9f81a89326af12adcab94aa8468b4a251b255f628880cd7848c0fc0be258557ec96338c6c7ec8e392248385d4aa75151d661f38a73d3ce4273c998002cacae0284065abb6fbc53d8ed8c9145592bc25ed46d0f25866cf4da29b2d12f14a994869b54a9d9a6a512d39734d53963e80ebd1f841db3c0b68701c0fc24ecbe1b85526d5cfe6981ed0e1556ba9a74d6919a5d254226a10b4ae60072a8589d06a4079aec7e21e1155e1e36d5551b3b834b9f514b842368d09ad5a853d107089b20f27f8498517292d7df01f5ac07ce186f853f099b5d87627b59b0fb138257ecae1d5151269e8aaebe62315ab14a596512e5cb54b94b53590bbf7ef0dbf683c2c2707d95d95c5a9766b10abda7db75cba6d9dd8c9dfead526a963f0889e660fc1a249ebadb86e2f01875f849db9d92c530293e13764f0cc3702da2aa450d2ed0e1358ba89749553bf132aad13508202afd3496101dac6fc25ed44bf0858a783bd97d93a7c6712a7c3a9abe96ba7d49a7a69489a489abaa5e559094f44242124a89dc2f0184c2fc29f846c5318c6f60e56c261c36ff67d48998954aab949c19149365a57267f2b9153d4a9856009612fbc90c44066b673c2f4c186784256df6152b67716f064a97e304aa49bce244e97512ccca65d395652f3599293d97bb00c5d4f84bf09f8561036db19f071452762c21353594523102bc629689573533649962528a659cca9614e3791760f78a0aea5c4e868b12a19c2a28b10932ea28e7a745ca9a90b42877a4c078e637e12f6a657842c53c1decbec9d3e338953e1d4d5f4b5d3ea4d3d34a44d244d5d52b2ac84a7a2121092544ee1780c2617e14bc236298c637b072b6130e4edfecfa90bc4aa555ca4e0c8a49b2d2b933f95c8a9ea54c2b004b09d1c9218880e399e136b714d8bf0b543b65b214231ef07b27263d8109c6750564aa89466c952564660998949b1ece2c03acaa89559e15fc02d5c8a5974326ab65f109b268a5f524a57492d425a3b120b080c3f837dbac2761761f6b2aeb9136bf12c436cf1aa7c0367e9867abafaa54d465932101cea4665683cc087d1db3151b455982d255ed561f4984e335033d46174b30ce44807ab2d534819963df359f47d486c100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020101e2e8fe76c6b50f5d525f5bf2cbd2dac0665201fcd7d40f3b8b6b01dc4105bb1d9aedfab6baa03b292400da92ee071f26dafb7787294e50c03b6e038e874d78c043744800970ec377730eb4046e1d1238e503ce3a373016290c4e5d5cdb50cf716d60218100816bb59ed7d2dafb77858697b00f980bebf375a028e1c380c09b806dc1add680746e960ce74761da3a3ac05ca7560580cc03337eab0d601c77efb0d373a6d7301c76497bb9de3fc2c5cc04f06d05c240fb3f3b8c05874ae7de13bb47e163d278086be8436f03fb36d4c041eb3946a3f5be70e358090335940ebc3b375b58030cda3294fa0b6f721c6b00032a859807f9b5d2c5cc04920657eb24dfa3f658f4a02bd164d8020dd9ec78a6c6fc602c18ba998eae90fe671a9780966b755ef6bdef74db580aa803f9afa81e7716d6021c16ecd1aedfab6baa00090cda92ee0717eadb5f6ef0b14e50c03b6e038e874d78c043744800970ec377730eb4046e1d1238e503ce3a373016290c4e5d5cdb50cf716d60218100816bb59ed7d2dafb77858697b00f980bebf375a028e1c380c09b806dc1add680746e960ce74761da3a3ac059690cab5b295368cfc186bc60345db7fe77a6fe888fef26406c5b1ff00cc73ff00a6abfba4406608be5ea81ae50fb8e96eb180336674b7e6b5b7f56daf180abb5c1cafaa787eaf47580b3109bdfb123bf4b33f18036fbdc1d0717d3a3ac00243682e0b003ecb6a602ae07783aa47d96d602ec58bdc8f7a2edae8e0def780af4afd10dbf28d09e1637e301041bf149d1b8f936eb4058a4f4ba2c4eaafb0a6dac041172f2b41af0eeb173c6024801ce466dfe7ba6d7540414d9d8f1b0ba6e7ab6d78c0141399886d5d4069ae9d1d4c03a4a3d6059f40ff0046dac0491750b86e03bfab6d600ce4036206ada5f77475f6ef0820062c00e0ddfa5b580716240de7bfc9b5cc04a9c12c9ed76fecdb5bc041cc376523561dfd5b6bedde009b2865cc94ee1c388b6bc7d9c248532ce57e2dfe16d600c195f826b3b0ee3716d60045f2f540d7287dc74b758c019b33a5bf35adbfab6d78c055dae0e57d53c3f57a3ac059884defd891dfa599f8c01b7dee0e838be9d1d600121b41705801f65b53015703bc1d523ecb6b01762c5ee47bd176d74706f7bc050e66574436fca3427858df8c0712c1bf149d1b8f936eb40704d49e97458ef57d845b580c7ce1753cbd079bbac5cc04eca0ff00f5a2a3a2dfea133e7fc34af4c07a94079757d2cd3895553a652cae64d5e4961ee9512df31062288d2c4b75c1f084e1f2f9498cbab983a6af2479222c8672212ead47e3687fe31feea6444b4a369f2fc61143fec547ff00065ff64429d8c5efcf9bb712cdf396d80aff00065e1457e147dcdaac4f63369f0e95876d94ca494674dc3e753948a7ab54b4f4952f28092c0b5f7e50430fb63b7fe08f6c692be4ec7ecf617e123c206394ca938453cac244da80b32ca113aa2a2a64a792449b13994e0080f2e46ce739f055e0176b311a7c5a7ece6c9ab1395b529c2d73a5d653d3574d5a39d2791fc204c954ae9e5bb16d20365a1a3f0478f6d66c7619b0d37697c21d74bc46457564f562b88733c265539e50564f3512d4852810c997627470e1c37fa5da0c2765ff00d21b6b69f1ea8561d336cb0dc1a9b664ae54d29ab9c97965085a52a4839cb5c880fa44bb160336e1ecf01f10d4e21e06eabdd8c5b10afc6fc06784844e9feece1186d4d64b9bce10b5645a65cb9624d4266d95f83425dfe780cbccaadb946ce780af0b5b638656e2355b1d3f121b594e89079d2683100644aae5d3a53acb932d2b5371078b066fc256dbecf7860a0c13c1f783baa5ed26218be2745538a57c893393270da2a798264ca89f31684e436000d7e7604375c0ff00fe2236e7ff00e98c37fbe3011b1fff00efe7c317fe9db3ff00fb75407976d2ecc623b638affa55ecfe10833712aa4ecb4da3900b19aba5a6e73c90ed99c9651da60359a9acf0273b674cb955db6d8b6d7554ae6dfc9c1c47154d6ccac50c8ba39895254948770a5170dc7480fb3f64b0c460bb2fb3d84cba156188c3a829a48c3553b9c9a7c92c0e479764f2993ab9983c0793e07fff00111b73ff00f4c61bfdf404ec7fff00bfaf0c5ffa76cfff00edd501e61b4bfedbfe97dffa7609ff00fcc9901b2d0fff00bc8ff478ff00fa42b3ff00632a03ce3647c15ab6976736df6d366eaea69bc22e05b5b89cfd95aa334f2283473b94e6c25751aa3390a7decf67043eabf06db7747e10f65a8f1d912f99d7a09a6c7b0a2e17475d2ad3a4a81b8bdd2fef4880dfa01008040201008040201008040201008040201008040201008040201008040201008040201008040201008040203c59247bad8ceae2baa7417fc72f4ed80cdca058ef2370bb773837bde03b89ccc7a21aef94684f0b1bf180e7637e293a371f26dd680e6293d2e8b13aabec29b6b01045cbcad06bc3bac5cf180920073919b7f9ee9b5d5010536763c6c2e9b9eadb5e300504e6621b57501a6ba7475300e928f58167d03fd1b6b01245d42e1b80efeadb58033900d881ab697ddd1d7dbbc208018b0038377e96d601c5890379eff26d73012a704b27b5dbfb36d6f010730dd948d5877f56dafb778026ca1973253b870e22daf1f6709214cb395f8b7f85b58030657e09acec3b8dc5b580117cbd5035ca1f71d2dd630066cce96fcd6b6feadb5e301576b8395f54f0fd5e8eb01662137bf62477e9667e3006df7b83a0e2fa7475800486d05c16007d96d4c055c0ef07548fb2dac05d8b17b91ef45db5d1c1bdef015e95fa21b7e51a13c2c6fc6020837e293a371f26dd680b149e974589d55f614db580822e5e56835e1dd62e78c0490039c8cdbfcf74daea80829b3b1e36174dcf56daf18028273310daba80d35d3a3a98074947ac0b3e81fe8db580922ea170dc077f56dac019c806c40d5b4beee8ebedde1558003b0018ff008f66b016c5b6669f1d3266aa7aa9a7c91944c09cc0a75621c4077a46152306c3e551c851580bccb98755288b9f440743286ba6fd9f68b6b0162c0b336f16fe1ac03331207b3f936d602aa77ba521b4203ebc2c6f001616cdd5b3070fbdadac048038e622ec3ed0e35e30153bdac45d0948b36b6b75a02dd203d83706b6b00e907e8e9c069faa38c0432752080cc2da6ba5b5e3ece1212525dba63b389d45b5806a15d1cdbadf3df4d78c046a4be9fc3516d7dbbc2cc9e93259bd8b5b5803867ee3d11bfb2dac01cb3809565f6b5b580e3eeb30240483ff004f47580b9d7520016b37d1b173002185bbc2c0bb1de9b6bdf0156e07a1a8537d96d4c058e7bd98f65db7d8b6bedde03ab1435ad9773f0b1bc0465b58593d6195f8dc58dfdbbc24d8651a0eab768d45b5808558a99397fefa8b6b00ca1ae9bf67da2dac058b02ccdbc5bf86b00ccc481ecfe4db580aa9dee9486d080faf0b1bc00585b3756cc1c3ef6b6b01200e3988bb0fb438d78c054ef6b11742522cdadadd680b7480f60dc1adac00e6015d1d380d3f547180e1213a90406616d35d2daf1f670ebad2525dba63b389d45b580e84eb85f473777cf7d35e3011b27ffed3d4ff004199fde49be901ea7010c1ddafc60260101d5a8fc6d0ff00c63fdd4c8896946d3e5f8c143fec547ff065ff0064429d8c5efcf9bb512cc80e19722449330c9932e519a734d28484e65712da980e680a225cb979b9396946739959400e4efb6f80bc044071aa4c95ad1317290b992ff1730a4129ee3ba03960289968979b22128cc732b28672753df01780402038f9397ca72bc9a7956cbca30ccdc1e0392010080402010080402010080402010080402022026010080402010080402010080402010080402010080402010080404404c020100804078aa3f9df1ab9cc2baa728fff00baad2c6f019b9599bd83706b6b01df4660fd1d380d3f547180e6484ea4101985b4eeb6bc7d9c39424a4bb74c76713a8b6b00d42ba39b75be7be9af1808d497d3f86a2dafb7785993d264b37b16b6b0070cfdc7a237f65b5803967012acbed6b6b01c7dd660480907fe9e8eb0173aea4002d66fa362e600430b778581763bd36d7be02adc0f4350a6fb2da980b1cf7b31ecbb6fb16d7dbbc0756286b5b2ee7e1637808cb6b0b27ac32bf1b8b1bfb77849b0ca341d56ed1a8b6b010ab153272ffdf516d6019435d37ecfb45b580b160599b78b7f0d601998903d9fc9b6b01553bdd290da101f5e1637800b0b66ead98387ded6d602401c7311761f6871af180a9ded622e84a459b5b5bad016e901ec1b835b5807483f474e034fd51c602193a90406616d35d2daf1f670909292edd31d9c4ea2dac0350ae8e6dd6f9efa6bc6023525f4fe1a8b6bedde1664f4992cdec5adac01c33f71e88dfd96d600e59c04ab2fb5adac071f7598120241ff00a7a3ac05ceba9000b59be8d8b980858e81603885761de2daf7c06cf4da4071e21d44f7c06b7ef598149d1869da3a26fc60246ff7b70ed7f35b58083aa9b75d23fcb637809cac370de32f71ba6da98032802e1f26996ccf6b74758090eeed717530fb2dd68085218e8c6e6dfe072ebedde105c29985f869c2d6d7dbbc24a2cc45b7b6bbfab6d6025403805074b766bd5b6b0063701374df4d1f8747ac602181b019788d40d74b6bedde0b38ca38907cfa5b580855dc94fce9fb536d6f012ad15e503b87d9db010c54ec07107ed23a3af180b1777490e0eef9fab637e30152e1c33253f3fd1b6b017ca48eaf55cdbe7d3a3ac0572b0b311bbd3a7475e3004ba8666d06efff00475809cad9c949cc5dca7e7eadb5e3010c1b304b6f2c34beee8eb0050677430be56dcfc2da9f6ed0961a9b9b900765ed6d4fb76857deb30293a30d3b4744df8c048dfef6e1dafe6b6b01075536eba47f96c6f0139586e1bc65ee374db530065005c3e4d32d99ed6e8eb0121dddae2ea61f65bad010a431d18dcdbfc0e5d7dbbc20b85330bf0d385adafb7784a91d1622c356d77f56dac071cc01c0283a5bb35eadb580eb2c162026e9be9a3f0e8f58c063e6007419788d40d74b6bedde0d936f19aa1b4e6336ff00ff007a576407a9c02010080ea547e3687fe31feea6444b4a369f2fc61343fec547ff00065ff64429d8c5efcf9bb512cc80402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080f154a7ff17c678f3daafef97a58de033487040617e1e6b5b5f6ef0ef841ca0116dedaefeadb580ec101c0283bdbb35eadb580e463701374df4d1f8747ac602181b019788d40d74b6bedde0b38ca38907cfa5b580855dc94fce9fb536d6f012ad15e503b87d9db010c54ec07107ed23a3af180b1777490e0eef9fab637e30152e1c33253f3fd1b6b017ca48eaf55cdbe7d3a3ac0572b0b311bbd3a7475e3004ba8666d06efff00475809cad9c949cc5dca7e7eadb5e3010c1b304b6f2c34beee8eb0050677430be56dcfc2da9f6ed0961a9b9b900765ed6d4fb76857deb30293a30d3b4744df8c048dfef6e1dafe6b6b01075536eba47f96c6f0139586e1bc65ee374db530065005c3e4d32d99ed6e8eb0121dddae2ea61f65bad010a431d18dcdbfc0e5d7dbbc20b85330bf0d385adafb7784945988b6f6d77f56dac04a80700a0e96ecd7ab6d600c6e026e9be9a3f0e8f58c043036032f11a81ae96d7dbbc1671947120f9f4b6b010abb929f9d3f6a6dade0255a2bca0770fb3b60218a9d80e20fda47475e30162eee921c1ddf3f56c6fc602a5c38664a7e7fa36d602ca4928361d104be9c7b35e301b3536901c7887513df01ae74dd4e93faa34f9adab404e5bb2c26fb869de2dac018a6f96dd9c7f3436a6f006503a06172df68b6b01370e087dee03f9bb5bdb885149b9e8bb0bb0f3358df8c0490417037f478f1b5bcf0039b3d904104391e7b5b52f7809001052af7bef831e3a5ae601d813e6bf1d2dd68035b793ef1b777599cc03525f5e0341fab6b980820805afc5b86e6b6bedde13d23bbbd5f75b57808c808e8817e1f6e9ab4049cc7de874dc8fbadac04f49b7122e587a45b580821c174db800daf93daf01509fcd655b7717d2dac04dc25432ba7b071b746dafb7783a40390cc4b27bf838b980b1091703e61bb5d1875a0235fcd3d9df722daf1f6702b7b3a507cff00f2db58030ee1bdba56e2186bc6023a6ea749fd51a7cd6d5a0272dd96137dc34ef16d600c537cb6ece3f9a1b537803281d030b96fb45b5809b87043ef701fcddadedc428a4dcf45d85d8799ac6fc6024820b81bfa3c78dade7801cd9ec820821c8f3dada97bc0181052af7bef831e3a5ae60287804f1d2f7be96eb4075a60b6f27de37f8599cc074265f33ebc0683f56d7301ae9c62a7666b67e2b4f86fbaaae6eb946984ce46c54958505645b9e868dfc436c95b7c2785997230858428a14462b28b11bbf17db01cde3c2bf26c2beb497eaa01e3c2bf26c2beb497eaa01e3c2bf26c2beb497eaa038a66d9a96a90ae6f850e45654deea4bbba149f83fce82d136246d9aa4c9932790c295c92128cdeea4b0ec1be0e1055379bb97c7857e4d857d692fd54153c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd540478f0afc9b0afad25faa809f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf55011e3c2bf26c2beb497eaa01e3c2bf26c2beb497eaa027c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd540478f0afc9b0afad25faa809f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf55011e3c2bf26c2beb497eaa01e3c2bf26c2beb497eaa027c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd540478f0afc9b0afad25faa809f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf55018eaef08cba44a84ac370eada90105145271496a9aa0a5e474a44a24b6bf34060a81736a67d4d72e4f20bac9f327f22f9ca0cc515e50a6bb3b406c487ce1904106e47f85b5bde03bb2c020a55ef7df063af0b5cc07607003cdf3e96eb405dadbc9f78dbbbacce601a92faf01a0fd5b5cc0410402d7e2dc3735b5f6ef09e91dddeafbadabc0464047440bf0fb74d5a024e63ef43a6e47dd6d6027a4db89172c3d22dac0410e0ba6dc006d7c9ed780a84fe6b2adbb8be96d6026e12a195d3d838dba36d7dbbc1d201c8662593dfc1c5cc058848b81f30ddae8c3ad011afe69ecefb916d78fb3815bd9d283e7ff96dac018770dedd2b710c35e3011d3753a4fea8d3e6b6ad01396ecb09bee1a778b6b00629be5b7671fcd0da9bc01940e8185cb7da2dac04dc3821f7b80fe6ed6f6e214526e7a2ec2ec3ccd637e30124105c0dfd1e3c6d6f3c00e6cf6410410e479ed6d4bde02400414abdefbe0c78e96b9807604f9afc74b75a00d6de4fbc6dddd667300d497d780d07eadae602082016bf16e1b9adafb7784f48eeef57dd6d5e0232023a205f87dba6ad012731f7a1d3723eeb6b013d26dc48b961e916d60208705d36e0036be4f6bc050864aba2c59f461bf4b6bc60369a6d2038f10ea27be035c51cd65072ce40f9fab6d60232b77fd9dd6b9e30174863bb7e83abdd62e60208b92c494bb06f9dc7475300290ec1cfe7303abe96d4ef809b97213d00344df5e16b98010f7de05dafb8e9637802bb9ad61e7d2dd680a971b85fc91e94db58059cebbdc81a76a6daf18092f7b336bdec7abf9c602b663d07e2da3fe6da02c0b3eba1cc2efd8d6d4ef80ae572e2cfefb8f0661ac04e5ee0371607e8db53edda173d54ee1c13bb5b8e8f5a02b940045d2007b0f9ad6d7ef807543848cd766ddaf56d7301241d08664dff008713edde066cd6275b81dfa5bad011adba25b781dfa5887e3015d41ccfafbd0fc7aae35e3ece13bb4361b9fce9b6a7dbb420fe7000ebd1d41bf56daf1f6709b3b3641ef887f99adac014735941cb3903e7eadb5808caddff006775ae78c05d218eedfa0eaf758b980822e4b1252ec1be771d1d4c00a43b073f9cc0eafa5b53be026e5c84f400d137d785ae60043df78176bee3a58de00aee6b5879f4b75a028a71b85efd11e94db580a1673aef72069da9b6bc603af301bd99b5ef6f7bf9c603a2b665745f8b69ff002da031d3a5a540e60f63986fecdda9df01dfd9fa2a54d2d63534a6354a2f95377968ec80ce734a5fc9e57d04fdd00e694df93cafa03ee808e694bf934afa03ee80734a5fc9a57d01f74039a537e4d2be8080734a6fc9a57d01f74039a52fe4d2be80fba0239a537e4d2be80fba0279a52fe4d2be80fba0239a52fe4d2be80fba01cd297f2695f407dd00e694bf934afa03ee80734a5fc9a57d01f7404f34a5fc9a57d01f74039a52fe4d2be80fba01cd297f2695f407dd00e694df934afa03ee80734a5fc9a57d01f74039a52fe4d2be80fba0239a537e4d2be80fba01cd297f2695f407dd013cd29bf2695f407dd011cd297f2695f407dd00e694bf934afa03ee80734a5fc9a57d01f74039a52fe4d2be80fba0279a52fe4d2be80fba01cd297f2695f407dd00e694bf934afa03ee80734a6fc9a57d0100e694df934afa03ee80734a5fc9a57d01f7404734a6fc9a57d01f7404f34a5fc9a57d01f7404734a5fc9a57d01f74039a52fe4d2be80fba01cd297f2695f407dd00e694bf934afa03ee809e694bf934afa03ee80734a5fc9a57d01f74039a52fe4d2be80fba01cd29bf2695f407dd00e694bf934afa03ee80734a5fc9a57d01f7404734a6fc9a57d01f74039a52fe4d2be80fba0279a537e4d2be80fba0239a52fe4d2be80fba01cd297f2695f407dd00e694bf934afa03ee80734a5fc9a57d01f7404f34a5fc9a57d01f74039a52fe4d2be80fba01cd297f2695f407dd00e694df934afa0201cd29bf2695f407dd00e694bf934afa03ee808e694df934afa03ee809e694bf934afa03ee808e694bf934afa03ee80734a5fc9a57d01f74039a52fe4d2be80fba01cd297f2695f407dd013cd29bf2795f407dd013cd29bf2795f407dd013cd297f2795f413f7406ab8bd153fbac958a74f4691174a45bf09334b6b01c92a5802c0585dafb8e963780c8a6db9ad61e7d2dd680ed070d617f247a536d6039c33efdee40d2faa6daf180e42f7b336bdec7abf9c602b663d07e2da3fe6da02c0b3eba1cc2efd8d6d4ef80ae572e2cfefb8f0661ac04e5ee0371607e8db53edda173d54ee1c13bb5b8e8f5a02b940045d2007b0f9ad6d7ef807543848cd766ddaf56d7301241d08664dff8713edde066cd6275b81dfa5bad011adba25b781dfa5887e3015d41ccfafbd0fc7aae35e3ece13bb4361b9fce9b6a7dbb420fe7000ebd1d41bf56daf1f6709b3b3641ef887f99adac014735941cb3903e7eadb5808caddff6775ae78c05d218eedfa0eaf758b980822e4b1252ec1be771d1d4c00a43b073f9cc0eafa5b53be026e5c84f400d137d785ae60043df78176bee3a58de00aee6b5879f4b75a02a5c6e17f247a536d601673aef72069da9b6bc6024bdeccdaf7b1eafe7180ad98f41f8b68ff9b680b02cfae8730bbf635b53be02b95cb8b3fbee3c1986b01397b80dc581fa36d4fb7685cf553b8704eed6e3a3d680ae5001174801ec3e6b5b5fbe01d50e12335d9b76bd5b5cc014e12a043322efa778edf6ef0d9a9b480e3c43a89ef80d7077243701c75cbdad0176092433163a6eee0dac071a9c17090eefa0f45b580049bb866bf4741da9b6b012ca3ef40edfbadac014922e5cfa5bb45b5f6ef065e3dea0dbf4b76c04949777245f405c3f0b6bedde11704d839d0a7e7b874b3c0416dce58e8069ae96d7dbbc2cadfbbca001defa5b5800019c24714f66ba5b5e3010a777ca9b6e0efde9b6a5fdb7859817d3a3a1481bf46d6ef003701859adbdbb9c6a60388663ef45b86e7e01b5e3017208ddaeb6e3bc58df8c04e5531f7bc427fedac0572dc866097d38eae9b6bedde176e0a657100fddac050a0e566d3b0f9d36d60249717e88dcc38bbb74758079762c0ee0fc6e92dac02c49de468a6fb1c1730163bc04801f76e7de2dac05477243701c75cbdad0176092433163a6eee0dac071a9c17090eefa0f45b580049bb866bf4741da9b6b012ca3ef40edfbadac014922e5cfa5bb45b5f6ef065e3dea0dbf4b76c04949777245f405c3f0b6bedde15b826c1ce853f3dc3a59e028a6bb3963a01a6ba5b5f6ef0e29a3adbbca01277bdc5b580ea2921ac91c53d9ae96d78c07426a4b93945b70d7bc5b52f0195c0c353d58e8b0a95365fd4440536871ca6d9dc39788d4d35655cb4961269242e7adf2a957080728e8f59561015d9bc646d1605866369a73489c4a509a29cab3943966ccc1fcd01864edbe1c312c3b0a9d2d7ce713aaaca692a9299d365a4d2d42a9c675f24900a948e90d13bcb7488656876a302c4aa9545478809b3c256a40c931289899459664cc524226849d7213018e46df6c94c12d52f16e504f9626d26591507974dad21a5fe1549cc33250ea4ef020363c3f11a2c568a4e23874f1534950099538021f2929208500410410410e0c06b54db71829c2305c4f129bee74dc5e8a5d71a34a6654193296904aa62a54b3950096cea09101d3c6f6fe8307c57dce14eba997268d75b595294cf20232e696993c9c99899857c4a9291c5ed01b761189d3e3386d1e294a260915880b425685214371042c0363e7d45a032300804020100804020100804020100804079ee35b7f4d83ed5e1bb36aa055448aa32118862c998c9a49956569a7429194be728f28308acd5aaf145e2ee5c6f6dfdc7c531dc37dcce71ee2606ac6796e5b272995651c8e5e4d5974eb39ee84d445376db85577ba785e1b89725c87ba14d26a3917cd9395405e5760ecfc22cacb11b53b4676729244e9587af14a9a85af2d1217915c94994a9f3e63e557510836de586f8899b2698bbb95fb45836194f47535758d2f110f429952e64f993465cee897252b5a80497240b42e8b319336d3044d760345266ccab1b42852e86aa4cb98b96c0b25d494967558f93ef9a199395dbc2f69b0cc470d557aaa654934f4526bb11424ad48932a7cb3352a0b5225952592abe5dda085d13493b6af67e45449a59d88044e9c251fc5cdc88e5ff15caccc992515b86130830b9965b1c4a1aa546398a54d7e2141b3d8553d79c25699788d5d5d4aa9a509ca4266f252f2499ea5a8216924b001f7de22eb59caada7a3a3a2a3a8c6e4cfc1eb2ad4b968c2ca155138ae53e7e4d34e998a9896be603421da174654cedafd9c93268679c493325e272a64ec3c49973672a7225292999911290a51292b0e96717b58c2e9cb2506d7ece627534f494189a2a66d5a0ae9549973793999519d4944d2912d4b4a6ea485661bc4334232cab876d96cde2d3a9e9f0fc48544cac49551ab929a8973b2a732932e62d0942d491d6482e378b4332669974e9b6e305384e0d8962537dcf9b8bd14baee6694cca832652d20954c54a97d14025b3a824433195da56d76108c75580ae62d335347cf0d6e45f370862bfc6e5c8d9066ccedb9ded0b997476a8369f02c49354ba5af4e5a295cbd499c899232c9bfe1bf0c943cbb1e98b76c2e8cb2c6d1eda61389e3187e1386a95546ba4cf9eb9cb44d905089593229289b2d266266672ca16b6f8664e56e312a90080402010080402022026010080402010080402010080401a02cd01ac62c9ffc492abda991bb4e9ccd2d014972d99fbd41b7e96ed80eea505c17245f405c3f0b6bedde1d943a49b0cc7429f9ee1d2cf01cd6dce58e8069ae96d7dbbc3915bf7794003bdf4b6b000033848e29ecd74b6bc60214eef9536dc1dfbd36d4bfb6f0b302fa747429037e8dadde006e030b35b7b7738d4c0710cc7de8b70dcfc036bc602e411bb5d6dc778b1bf1809caa63ef7884ff00db580ae5b90cc12fa71d5d36d7dbbc2edc14cae201fbb580a141cacda761f3a6dac0492e2fd11b9871776e8eb00f2ec581dc1f8dd25b5805893bc8d14df6382e602c77809003eedcfbc5b580a8ee486e038eb97b5a02ec1248662c74dddc1b580e35382e121ddf41e8b6b00093770cd7e8e83b536d6025947de81dbf75b58029245cb9f4b768b6bedde0cbc7bd41b7e96ed809292eee48be80b87e16d7dbbc22e09b073a14fcf70e9678082db9cb1d00d35d2dafb778595bf7794003bdf4b6b000033848e29ecd74b6bc60214eef9536dc1dfbd36d4bfb6f0b302fa747429037e8dadde006e030b35b7b7738d4c0710cc7de8b70dcfc036bc602e411bb5d6dc778b1bf1809caa63ef7884ffdb580a293d60d600dbb59dc76fb7786d34da4071e21d44f7c06bc1c03d136eb37fdb53be02a5aec3cc2c3badafb7784b37681a001f8dd3d1d600f621ae1f406cfbc58dcbdfd9c20b824e5cdbf4d2e74b6b016212c7a2c45f4dfbf2d99e02a5ec2ee0392dbbf36dac0342c6c1ec59fe8db5bc05dec6cc7b077dc58b9e3014670e4b760bdbb2ccefedc42e0970340abbf9f461d63014bbd90137d46e7e16d600c90a74f57b069da2dd6f6ef0957052729f4efeadb5808de5acdb9afde2c5cfb7784f55ada6aa093bdee2dac00ddc01940d1877e96d4bfb6f00fce43317b0dfc45b5803312c084ef4a47d96d602ac59efc43703c2dd6e30160adff0060d3b45badedde12abaad60787da9e8dcc019ac0f6866d1bded8de020970094a497761723badac0430ca730ca5ce50079dadac0583807a26dd66ff00b6a77c054b5d879858775b5f6ef0966ed034003f1ba7a3ac01ec435c3e80d9f78b1b97bfb38417049cb9b7e9a5ce96d602c4258f4588be9bf7e5b33c054bd85dc0725b77e6db5806858d83d8b3fd1b6b780bbd8d98f60efb8b173c6038b2bdc96ec17b76599dfdb8850bb8dc1577f3e8c3ac603a8a49dc809bea373f0b6b01d55a066748e8f769dd6eb7b77864b084b48aa7194f3855bfe44407362b226d4e198953c94e79d3e9a74b948b075290400e6dac06076170cadc1b64700c331291cdaba8a984ba991992bcaa736cc82a49f98c06af2f67f1a933b0c59a09aa40c4f1fe70a95324e7932313a898645474a625c04a82880737e6bda03abb37b2d8a52ced9f935d458aa15b3b2569554cfae95328cac53aa9d3cd254b515b2c2bff003129ca2d730198c1767b12a493e0d93514425ab67b0f992b1419a59e466ae95129ac4e62540874bc06c3b2f87d5e1d84cea6ac93c8ce557e27392874abf07515d3e74a2e9247490b07ed80f32a2d92c7f0da6c3ccca2c5a7ae760787d0cfa5c3ab69e4723514885a552ea394584aa59e52ca415374ad780dac6cc57c97a5912073797b2dee4c99a66050e5c38087574c86f7c4406dfb3e9a9460985caaca39987d548a744a9f49315296a4aa50c8f9a4aa620e6670c74d58da0331010d012d010d012d0080868096808680404c01a01010dd900680f9f2b3c1ced7e3d43b5b8a56624bc2712c76a55532b67f2534dcdcd3fd810aaa0a5642180e8aadbf7c67965b6788652bf6736b717a8c6f11aac2392abc5763bdce5cbe5a9ef889592b941a6331d42b4ed89b4a2263e6f58d9fa59f4380e0945552f92a9a4a1a693512dc1cb325ca4a541d2e0b11ba2d0ce776bb886ce57e39b47515d535b5d8450e1b4a9a5c21749324854ee5ff000956b505a66b0e8cb43100f44ee88b2626d0c060f836d0eced561b39584cfc669303935d8451265cea6150aa45ce953a927a794992d1d44724b0483d104068888b2d3312ce2e8318157b215eac1a52554abac18a51d12a52534c2b345fe11680bcbff9995c92e4031286b72f6431b4e13b2744290239ce154d83ed7cbe525fe0e9e52e5cd26ca65f444e95d17fc63e8222c9cc9c5764f139d5fb494c29715aca3da1a913654da7ad95228d285c9972969aa96a509ae8c96c8953861684c1153d7c25801ab6f8bb368a9978c6cee318ecea5c12a31cc2f1d9e8ad93cd2653a66c8a8e45122622626a2649052ae492a0a492d77115d97ddd29547b534988e17b4788501c6aa4d3d753d66174aba74cca4454d4227484ca54d54944ce4d32c4b59cce75bc35345767b67716a3c6b0ec4eb68d12113118dcfa99295a162966621594f3a5490c7a47221598a433bf63a209930ed9fc4e970fd8592ba3e4d782d6d5cfc4d2172ff0689b4d5880ab2ba4eb9c9eabebdf0b1760b65e9f17c5f667c1fd00c117434d85f32ae9b8b99920c95ca95289472494accde526e665664001d5736788d9356f2eb516c963f86d361e665162d3d73b04a0a29f4b87d6d3c8e46a2950b4aa5cfceb0954b3ca59482a6e95af1164e6865f13d92c5172138451d2ab9b546cd7b902b44d41453ce95d3489b9d499aa42fa8e94a8f111364454e05ec9e298bd3e31ca52e2b45533b099f434f3315ad95539a64e52165094d3aa60e49e5875163f9b0b19acd864231bc5369f00c4ea76726e0f4985d1d6c9aa9b3a7532d5cacfe45932c499931d1f832c6ddc2278a3837e68b28404c01a01010dd900680968086809803401bb200d010d00809803402021a025a021a025a01012d01afe2480aaf16b8a74316fcf5f56dac0712506c2ee2e4b6efcdb6b01da48ca5b40f62cff0046dade03b69363663d83bee2c5cf180b04bf4896ec17b76599dfdb8872025c0d02aefe7d18758c052ef6404df51b9f85b58032429d3d5ec1a768b75bdbbc255c149ca7d3bfab6d6023796b36e6bf78b173edde13d56b69aa824ef7b8b6b00377006503461dfa5b52fedbc03f390cc5ec37f116d600cc4b0213bd291f65b580ab167bf10dc0f0b75b8c0582b7fd834ed16eb7b7784aaeab581e1f6a7a3730066b03da19b46f7b63780825c0252925dd85c8eeb6b010c329cc329739401e76b6b0160e01e89b759bfeda9df0152d761e6161dd6d7dbbc259bb40d000fc6e9e8eb007b10d70fa0367de2c6e5efece105c1272e6dfa6973a5b580b10963d1622fa6fdf96ccf0152f617701c96ddf9b6d601a16360f62cff46dade02ef63663d83bee2c5cf180a338725bb05edd96677f6e21704b81a055dfcfa30eb180a5dec809bea373f0b6b0064853a7abd834ed16eb7b7784ab829394fa77f56dac046f2d66dcd7ef162e7dbbc27aad6d355049def716d6006ee00ca068c3bf4b6a5fdb7807e72198bd86fe22dac05561b3e5e8862e00b7d9af180da29b480e3c43a89ef80d732b12340fd20de6cb637bc00a4dfa1980ecd3f57a2c4fb7784a83efe3d0038b9e8dbadc602ac19db75c81dba80d73780e4e89cc58a7b40d375add6808de5dafd52377eadb580656200194f67cf71d1d600428dee9cb7601f8f57f3bdbbc2a007e0adc7d2e2da9808636d72805f2f4bccc353edda1655ae73e629fb785b58024665be819c0d6dd96d78c0414b863600ea94e80f0b6bc7d9c259c126ead4e51f6744de02588774f26752523bf42dd680a650ed65383703bee2c6fc602d61bb86e7ede1a980b286a136e2378eeb1bf18082029ce50001703713c3a3ac048cc01f9f4bb7eadae4c050a5ac5cefb3d9cea2c7a5013da9b00e400daf606b9eeff00b8400729042ec972c3ccc5b5808245c241b0b1ff002db580be5ca12437784ee3c2dade02b95891a07e906f365b1bde00526fd0cc07669fabd1627dbbc2541f7f1e801c5cf46dd6e301560cedbae40edd406b9bc072744e62c53da069bad6eb4046f2ed7ea91bbf56dac032b1000ca7b3e7b8e8eb002146f74e5bb00fc7abf9dedde15003f056e3e9716d4c05483d1d72805f28cdaf70b9f6ef0aaed7e9e629e1bcf0b6b01c59732f460ce06b6ecb6bc60381729c31b007dea740785b5e3ece1dcc292449aa7624d42896fd444064da00d008040201008040440202601006ec80340201008034020101101300808809807cd010d0130080402010080880404c0437f180e39526553ca972244944991252132a4a121294a45804816004072b40201008034020101101300808809807cd010d0130080402010080880404c0200dd9006803404b4060eb87fafb91ff00e1d0c7874d7d5b1bc0409594800653d9f3e9d1d6039f2937ba72dd807e3d5fcef6ef0ba40ee51d0fa5c5b5301663d1d72805f2f4b5ee1afb7785956b9cf98a7ede16d60091996fa067035b765b5e301052e18d803aa53a03c2daf1f670967049bab53947d9d137809621dd3c99d4948efd0b75a029943b594e0dc0efb8b1bf180b586ee1b9fb786a602ca1a84db88de3bac6fc602080a73940005c0dc4f0e8eb01233007e7d2edfab6b93014296b173becf673a8b1e9404f6a6c0390036bd81ae7bbfee1001ca410bb25cb0f3316d60209170906c2c7fcb6d602f9728490dde13b8f0b6b780ae5624681fa41bcd96c6f780149bf43301d9a7eaf4589f6ef09507dfc7a007173d1b75b8c055833b6eb903b7501ae6f01c9d1398b14f681a6eb5bad011bcbb5faa46efd5b6b00cac400329ecf9ee3a3ac00851bdd396ec03f1eafe77b7785400fc15b8fa5c5b53010c6dae500be5e979986a7dbb42cab5ce7cc53f6f0b6b0048ccb7d03381adbb2daf18082970c6c01d529d01e16d78fb384b3824dd5a9ca3ece89bc04b10ee9e4cea4a477e85bad014ca1daca706e077dc58df8c05ac3770dcfdbc35301650d426dc46f1dd637e301553282ce50c0171c09f9b5e3780d9a9b480e3c43a89ef80d70b6b7cba3ebf3a7a3ac05ba200d1eec4599dfab6d602adc523f3b7eafa30bab8c058060c6c2fd504d8fcdac003754a5ada8ff000b6ac602b60e6dadd83f9ada9805983b5eee03f63a5c1bc008eccaabe603b7c9b5cfb7782cdd1171e48efba6dafdfe7092f6367e0da76a6dac0430eb656eedcfbd36d600002a70189bb80edda2dafb7782c0af573e4e9de9b6bc602433f6a5ec0766eb0bc00b1d07413b85fcd6eb1803177648297767d3b2dac0491a6f60c6cde6b6a4c00e52c6c1ee47a5d36d602af7661dc07ce1bb4404b02e59f792069c1986bc602bd106e076017e3a5b5f6ef0bdc16b80dd601f8dd36d4c057b187614ea3b438d600c3a995b8b0efb80dab7b7101032700ee1205c76a6dafb7780b6b7cba3ebf3a7a3ac05ba200d1eec4599dfab6d602adc523f3b7eafa30bab8c058060c6c2fd504d8fcdac003754a5ada8ff000b6ac602b60e6dadd83f9ada9805983b5eee03f63a5c1bc008eccaabe603b7c9b5cfb7782cdd1171e48efba6dafdfe7092f6d1f8369da9b5cc05328eb646eedcfbd36d60299415380c4ddc076ed16d7dbbc38ca43af573e4e9de9b6bc603aaba52b528a6aaa245ce74495ad2096d7a2d7f9a0380d14d2ed88d7301ef6a261b6e6bdd5015e633fe30adb6bf879da76713003413adff0088d79b31fc34d1fe3a930034534b1f746b866671cbccff00a789ec80af329c4b7ba35dbdff000d374ecbebc602798ce2e7dd1af23df34f996e0cda9e3011cca6837c46b8f74f987b9afafb7785b98cf7638857b37584e987e71db015e633f4f742bbbd33e67a1f7c00d0ceeafba15e371fc3ccf40777801a19d95fdd1af00ee13a63b7e6df5f6ef07329bf18e20126cfcbcdf38ed80b1a19a07f395739de27ccd3f36f73011cc67efc42bbf3bf0f34f99bdf4048a09fefb11af1dd3a69b79f5800a19da1c42bf4d44f99e8edbc041a29a3ff00e635daee9d30dbb2fa9808e653583e255c1f5227ccff00a5f7c049a19ff1857a4fbe027ccffa6f73edde0e6538839710af36b813e67a2fac00d0cfb7fe235c0ef1cb4df4713011cc6733f3fc42f6b4f99f365beb012286713fce35e1f84e986df7fb77847319aeaffc471027f367cc6ef4df580b0a19ae5f12af70ee04e99bb876c041a19a5db11afca38544c36dcd7baa01cc2a3e30adb6ad3e6e9d9c4c049a09d6ff00c46bcd98fe1a68ff001d5e0068a6963ee8d70ccce39799ff004f13d9015e653896f746bb7bfe1a6e9d97d78c04f319c5cfba35e47be69f32dc19b53c6023994d06f88d71ee9f30f735f5f6ef0b7319eec710af66eb09d30fce3b602bcc67e9ee85777a67ccf43ef801a19dd5f742bc6e3f8799e80eef003433b2bfba35e01dc274c76fcdbebedde0e6537e31c4024d9f979be71db016343340fe72ae73bc4f99a7e6dee602398cfdf88577e77e1e69f337be8091413fdf6235e3ba74d36f3eb001433b438857e9a89f33d1db7808345347ff00cc6bb5dd3a61b765f53011cca6b07c4ab83ea44f99ff004bef8093433fe30af49f7c04f99ff4dee7dbbc1cca71072e215e6d7027ccf45f5801a19f6ffc46b81de3969be8e2602398ce67e7f885ed69f33e6cb7d602450ce27f9c6bc3f09d30dbeff6ef08e6335d5ff88e204fe6cf98dde9beb01614335cbe255ee1dc09d33770ed80834334bb6235f9470a8986db9af7540398547c615b6d5a7cdd3b3898093413adff0088d79b31fc34d1fe3abc00d14d2c7dd1ae1999c72f33fe9e27b202bcca712dee8d76f7fc34dd3b2faf1809e6338b9f746bc8f7cd3e65b8336a78c047329a0df11ae3dd3e61ee6bebedde16e633dd8e215ecdd613a61f9c76c05798cfd3dd0aeef4cf99e87df003433babee8578dc7f0f33d01dde006867657f746bc03b84e98edf9b7d7dbbc1cca6fc6388049b3f2f37ce3b602c686681fce55ce7789f334fcdbdcc047319fbf10aefcefc3cd3e66f7d0161413b7e235e3f5674d36fbe02c28a6e8ac42bb4d44f99e8ed80eccb93c9b954d993d5a6759330e5dc012f7ecf621d8090c3335eee03f6745c1bc072656f7b9541dc0edf26d73edde170033a45c7923bee9b6bf7f9c2c5ec6cfc1b4ed4db580861d6cadddb9f7a6dac000054e03137701dbb45b5f6ef05815eae7c9d3bd36d78c04867ed4bd80ecdd61780163a0e82770bf9add630062eec9052eecfa765b5809234dec18d9bcd6d49801ca58d83dc8f4ba6dac055eecc3b80f9c3768809605cb3ef240d38330d78c057a20dc0ec02fc74b6bedde17b82d701bac03f1ba6da980af630ec29d476871ac0187532b7161df701b56f6e202064e01dc240b8ed4db5f6ef016d6f9747d7e74f47580b74401a3dd88b33bf56dac055b8a47e76fd5f461757180b00c18d85faa09b1f9b58006ea94b5b51fe16d58c056c1cdb5bb07f35b5300b3076bddc07ec74b8378011d99557cc076f936b9f6ef059ba22e3c91df74db5fbfce125ec6cfc1b4ed4db580861d6cadddb9f7a6dac000054e03137701dbb45b5f6ef05815eae7c9d3bd36d78c04867ed4bd80ecdd61780163a0e82770bf9add630062eec9052eecfa765b5809234dec18d9bcd6d49801ca58d83dc8f4ba6dac071aae1418687ef0dda37c06d34da4071e21d44f7c06b995816bf06efd536d6026fb92cdab0f4a6d72f00edd728ba87cfd5b6b0140ca04650dc40ecf7b6d7b20162ef6f2728b0eeb75a02c4917c8731e96970fbd3d1d78c04ee3c35701f5de0b5cc049cd7ca90948f27fc2dac056e7b907bdddee3a3ac049e905746dbc5fce9b6b010786a350027ece8dcc00b9dcc77d8f6e96d6f7808cafa1d05986ebf56daf1809de6c08dcc1fe7038b7b710176bd811a0dfda0b6b010be8b06723776beeb6bc600401a0009bd87f66dd680961ef5db570346de3a26f007bf572017005fe7486b9f6ef0b7fca335b771d48b6b78083993753bee03b778e89bfb7783aae19efa8fb45ae78c018b9dcaec0ff38b1bc057cae8963ab27d23a3aeb00377bdcbe8375dd9c6b01395816bf06efd536d6026fb92cdab0f4a6d72f00edd728ba87cfd5b6b0140ca04650dc40ecf7b6d7b20162ef6f2728b0eeb75a02c4917c8731e96970fbd3d1d78c04ee3c35701f5de0b5cc049cd7ca90948f27fc2dac056e7b907bdddee3a3ac049e905746dbc5fce9b6b010ae1d61a8013f6746e602a5cee63bec7b74b6b7bc05723fcc2cc375fab6d78c00a6e6c08dcc1fe7038b7b7108292d7b02341bdf78b6b0145a72b0cae46e17bbeee8ebc600500689009bd87f66dd6809e4c7bd05b5709d1b78e89bc01afd5c805c017f9d21ae7dbbc2d93f3466b6ee3a916d6f01052a4dd4efb80edde2c6fedde0c995c33df503d22d73c60190b9b32bb03fce2c6f015cbd6e8963ab27d22daeb002877e25f41baeece35809e4d816bf061dbaa7b602721dc966d587a536b978064df73945d43e7eadb580a0405023286e20767bdb6bd900c892ef6f2728b0eeb75a02c52d7c8731e96970fbd3d1d78c04e50c6d6d5c07d7782d7301250abe54e548f247d96d602b91fb907bdddee2dac0494e60ae8db78bf9d36d6020a376a350027ecb5cc00a49dcc77f44f6e96d6f7808e4df47b0b30dd7eadb5e301392e7a208dcc1fe7038b7b7101416bb8046837f682dac042d39583391bbb5f75b5e300280344804dec3fb36eb404f263de82dab84e8dbc744de00d7eae402e00bfce90d73edde16c9f9a335b771d48b6b780829526ea77dc076ef1637f6ef064cae19efa81e916b9e300c85cd995d81fe7163780ae5eb744b1d593e916d7580143bf12fa0dd77671ac04f26c0b5f830edd53db01390ee4b36ac3d29b5cbc0326fb9ca2ea1f3f56dac0502028119437103b3dedb5ec80644977b7939458775bad016296be4398f4b4b87de9e8ebc602728636b6ae03ebbc16b98092855f2a72a47923ecb6b015c8fdc83deeef716d6024a7305746dbc5fce9b6b01051bb51a8013f65ae600524ee63bfa27b74b6b7bc04726fa3d85986ebf56daf1809c973d1046e60ff00381c5bdb880a0b5dc02341bfb416d602169cac19c8dddafbadaf1801401a24026f61fd9b75a027931ef416d5c2746de3a26f006bf572017005fe7486b9f6ef0b64fcd19adbb8ea45b5bc0414a93753bee03b778b1bfb778326570cf7d40f48b5cf180642e6ccaec0ff0038b1bc0572f5ba258eac9f48b6bac00a1df897d06ebbb38d602793605afc1876ea9ed809c877259b561e94dae5e0013bf5ca2e47cfd5b6b014080a07a01b881d9ef6daf6405b282ef6f2728b0ee61d680be9ef0e63d260347de9e8ebc602cd636b6ae03ebbc16b980bb2af952001e4ff0085b5808b9ee41ef777b8e8eb0127a415d1b6f17f3a6dac041e1a8d4009fb3a373002e7731df63dba5b5bde0232be8741661bafd5b6bc602779b0237307f9c0e2dedc405daf6046837f682dac042fa2c19c8dddafbadaf180100680026f61fd9b75a02587bd76d5c0d1b78e89bc01efd5c805c017f9d21ae7dbbc2dff0028cd6ddc7522dade020e64dd4efb80edde3a26fedde0eab867bea3ed16b9e30062e772bb03fce2c6f015f2ba258eac9f48e8ebac00ddef72fa0dd77671ac04e5605afc1bbf54db5809bee4b36ac3d29b5cbc03b75ca2ea1f3f56dac050328119437103b3dedb5ec8058bbdbc9ca2c3badd680b1245f21cc7a5a5c3ef4f475e3013b8f0d5c07d7782d73012735f2a42523c9ff0b6b015b9ee41ef777b8e8eb0127a415d1b6f17f3a6dac041e1a8d4009fb3a373002e7731df63dba5b5bde0232be8741661bafd5b6bc602779b0237307f9c0e2dedc405daf6046837f682dac042fa2c19c8dddafbadaf180100680026f61fd9b75a02587bd76d5c0d1b78e89bc05545c2ba01219c2776fb8b6b01b4d36901c7887513df01aee5eb11bdcb0d77e96d7dbbc207710bcb7f9bc9b6bc601bae3a27c91d5eceaeb0152002e01cfbc81f60cbafb77872375f5077e50faf0e8eb00c9a91709059bed4f47580aab2916cb626dafd171ac00ef22c75cada76a5c6b7802ba4e18b3689be9f36b7806baa091ab01a7160dac05989cac32efb6ef9f29bc041b12328e26da9e29b6a7dbb42ac08f277a587d9d1d602540824104a58be5dd7dd6d7dbbc1c346670751c187475300605f3023ca4b6fdcdd1d602075486e827b076e9d1b9e301729b9b97f7b6fb3a3ac043046504333337cf701b5e30156eb3337949dddcc35bc04bb661af023b778606f011bdd94ea0f99bec64ead0160c7446570e4b3b76a6d73006212e476e56d0f11d1d602a4b9d12fe5243f7b744de02d97ac46f72c35dfa5b5f6ef081dc42f2dfe6f26daf1806eb8e89f24757b3abac054800b8073ef207d832ebedde1c8dd7d41df943ebc3a3ac0326a45c24166fb53d1d602aaca45b2d89b6bf45c6b003bc8b1d72b69da971ade00ae93862cda26fa7cdade01aea8246ac069c5836b0166272b0cbbedbbe7ca6f0106c48ca389b6a78a6da9f6ed0ab023c9de961f6747530052589704a58be4dd7dd6d7dbbc0da70670751c187475300ca0be60479496f33747580809e890dd04f60edd3a373c602e517372fef6df67475808ca11941b33337cf701b5e3015cbd6666f29234ee61ade0274cc35e0476ef0c0de021aefd27507ccdf63275680b0483a232b87259dbb536b98065212e476e56d0f11d1d602a6e744bf9490fded637809c9d620eae586bbf4b6bedde1007610bcb7f9bc9b6bc600d6b8e89f24757b3abac0414805c3e7de40fb036bedde17c9d7d41df943ebc3a3ac0393d48b8482cdf6a6dac05541245b2d89b6bf45c6b0023520b1d72b69da971ade0255d270c59b44df4f9b5bc0433ea9246ac069c5836b016c84e561977d869f3e537801b12187136d4f14db53edda15ca08f277a587d9d1d600a490482094b17cbbafbadafb7784b69a33383a8e0c2da9808ca0be60479496dfb9ba3ac0027a2437413d83b74e8dcf180b945cdcbfbdb7d9d1d60232846506ccccdf3dc06d78c0572f5999bca48d3b986b7809d330d7811dbbc30378086bbf49d41f337d8c9d5a02c120e88cae1c9676ed4dae6019484b91db95b43c4747580a9b9d12fe5243f7b58de027275883ab961aefd2dafb778401d842f2dfe6f26daf18035ae3a27c91d5eceaeb010520170f9f7903ec0dafb7785f275f5077e50faf0e8eb00e4f522e120b37da9b6b015504916cb626dafd171ac008d482c75cada76a5c6b78095749c3166d137d3e6d6f010cfaa491ab01a7160dac05b21395865df61a7cf94de006c4861c4db53c536d4fb768572823c9de961f674758029241208252c5f2eebeeb6bedde12da68cce0ea3830b6a6023282f9811e525b7ee6e8eb0009e890dd04f60edd3a373c602e517372fef6df67475808ca11941b33337cf701b5e3015cbd6666f29234ee61ade0274cc35e0476ef0c0de021aefd27507ccdf63275680b0483a232b87259dbb536b98065212e476e56d0f11d1d602a6e744bf9490fded637809c9d620eae586bbf4b6bedde1007610bcb7f9bc9b6bc600d6b8e89f24757b3abac0414805ef9f7903ec1975f6ef0e4cbd7d41df9471de3a3ac0326a40709059bed4f47580856522d96c4db5fa2e35801de458eb95b4ed4b8d6f005749c3166d137d3e6d6f00d75412356034e2c1b580b31395865df6ddf3e5378083624651c4db53c536d4fb76855811e4ef4b0fb3a3ac04a810482094b17cbbafbadafb7783868cce0ea3830e8ea600c0be60479496dfb9ba3ac040ea90dd04f60edd3a373c602e537372fef6df67475808608ca0866666f9ee036bc602add6666f293bbb986b780976cc35e0476ef0c0de0237bb29d41f337d8c9d5a02c18e88cae1c9676ed4dae600c425c8edcada1e23a3ac054973a25fca487ef6e89bc05b2f588dee586bbf4b6bedde103b885e5bfcde4db5e300dd71d13e48eaf6757580a9001700e7de40fb065d7dbbc391bafa83bf287d7874758064d48b8482cdf6a7a3ac0555948b65b136d7e8b8d600779163ae56d3b52e35bc015d270c59b44df4f9b5bc035d5048d580d38b06d602cc4e561977db77cf94de020d891947136d4f14db53edda15604793bd2c3ece8eb012a041208252c5f2eebeeb6bedde0e1a33383a8e0c3a3a980302f9811e525b7ee6e8eb0103aa437413d83b74e8dcf180b94dcdcbfbdb7d9d1d6028b01296200b5b86fb8b6bc60368a6d2038f10ea27be035c20b741eda01a5f7871ac04f604f445c1171d8536d600901c742e385db5d2dac032a75160bd0f0d74b6b010ca6de127725bce2daf180652350c06f02f7f7c186bc6000102e1b42193e94b7be808506dd76b148ed3d5b6b017366e8b11f3907b2d7540458f0402ed946ee22cef015cafb988bd9eddd6377809dcf95827de81bf735b57f6e20666b311a6506d72ed6d600ca0ee09ca5d3c7b5adaf1801dd993c5fbcbe9d1d4fb7684e549484e56d481ec3ad00d4db8976ddda971ac046555cdca87cff3a6dac04149e174eac3d28b6b0166eb5859dc04f11aa6dac04259cf4580de069dc00eb40380ca907b069da92dd680369bc5f8b0eeb6a7dbb420009f7bae85bd23a2cfedde12c5c8cb7b925b79074606f0020b741eda01a5f7871ac04f604f445c1171d8536d600901c742e385db5d2dac032a75160bd0f0d74b6b010ca6de127725bce2daf180652350c06f02f7f7c186bc6000102e1b42193e94b7be808506dd76b148ed3d5b6b017366e8b11f3907b2d7540458f0402ed946ee22cef015cafb988bd9eddd6377809dcf95827de81bf735b57f6e20666b311a6506d72ed6d600ca0ee09ca5d3c7b5adaf1801dd993c5fbcbe9d1d4fb7684e549484e56d481ec3ad00d4db8976ddda971ac046555cdca87cff003a6dac04149e174eac3d28b6b0166eb5859dc04f11aa6dac04259cf4580de069dc00eb40380ca907b069da92dd680369bc5f8b0eeb6a7dbb420009f7bae85bd23a2cfedde12c5c8cb7b925b79074606f0020b741eda01a5f7871ac04f604f445c1171d8536d600901c742e385db5d2dac032a75160bd0f0d74b6b010ca6de127725bce2daf180652350c06f02f7f7c186bc6000102e1b42193e94b7be808506dd76b148ed3d5b6b017366e8b11f3907b2d7540458f0402ed946ee22cef015cafb988bd9eddd6377809dcf95827de81bf735b57f6e20666b311a6506d72ed6d600ca0ee09ca5d3c7b5adaf1801dd993c5fbcbe9d1d4fb7684e549484e56d481ec3ad00d4db8976ddda971ac046555cdca87cff3a6dac04149e174eac3d28b6b0166eb5859dc04f11aa6dac04259cf4580de069dc00eb40380ca907b069da92dd680369bc5f8b0eeb6a7dbb420009f7bae85bd23a2cfedde12c5c8cb7b925b79074606f0020b741eda01a5f7871ac04f604f445c1171d8536d600901c742e385db5d2dac032a75160bd0f0d74b6b010ca6de127725bce2daf180652350c06f02f7f7c186bc6000102e1b42193e94b7be808506dd76b148ed3d5b6b017366e8b11f3907b2d7540458f0402ed946ee22cef015cafb988bd9eddd6377809dcf95827de81bf735b57f6e20666b311a6506d72ed6d600ca0ee09ca5d3c7b5adaf1801dd993c5fbcbe9d1d4fb7684e549484e56d481ec3ad00d4db8976ddda971ac046555cdca87cff003a6dac04149e174eac3d28b6b0166eb5859dc04f11aa6dac04259cf4580de069dc00eb40380ca907b069da92dd680369bc5f8b0eeb6a7dbb420009f7bae85bd23a2cfedde12c5c8cb7b925b79074606f0020b741eda01a5f7871ac04f604f445c1171d8536d600901c742e385db5d2dac032a75160bd0f0d74b6b010ca6de127725bce2daf180652350c06f02f7f7c186bc6000102e1b42193e94b7be808506dd76b148ed3d5b6b017366e8b11f3907b2d7540458f0402ed946ee22cef015cafb988bd9eddd6377809dcf95827de81bf735b57f6e20666b311a6506d72ed6d600ca0ee09ca5d3c7b5adaf1801dd993c5fbcbe9d1d4fb7684e549484e56d481ec3ad00d4db8976ddda971ac046555cdca87cff3a6dac04149e174eac3d28b6b0166eb5859dc04f11aa6dac04259cf4580de069dc00eb40380ca907b069da92dd680369bc5f8b0eeb6a7dbb420009f7bae85bd23a2cfedde12c5c8cb7b925b79074606f0020b741eda01a5f7871ac04f604f445c1171d8536d600901c742e385db5d2dac032a75160bd0f0d74b6b010ca6de127725bce2daf180652350c06f02f7f7c186bc6000102e1b42193e94b7be808506dd76b148ed3d5b6b017366e8b11f3907b2d7540458f0402ed946ee22cef015cafb988bd9eddd6377809dcf95827de81bf735b57f6e20666b311a6506d72ed6d600ca0ee09ca5d3c7b5adaf1801dd993c5fbcbe9d1d4fb7684e549484e56d481ec3ad00d4db8976ddda971ac046555cdca87cff003a6dac05569394860e0170d6ef4db5e301b4d36901c7887513df01e65e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c063d582f838429485ecfec6a5692ca49c3f0d0411b8fe0e03b52365f616a539e9b64f656a11a679785e1ea1e712a039bc4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980c79c17c1c27114e10767b63462cb47288c30e1f86f3828f2c4ae4f3b76b445e17eaeacb9ada737711b29b113153512f6436596b90acb3d09c2e809428a42994392b1caa06254b393c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea60293364f6264cb5cd9bb1fb2f2a54b0553262b0aa009481a924c9b080e3a6d99d84ad912ea68f653652ae9a6de5544ac330f5a15baca4ca20c073f89fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f530187a8a0f05d47549a1abc2361e96b54c1347368b0b44d2fa32152c2af01961b25b1459b63f660be9ff85507a980b789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5301d6aad9bd81a1926a2bb65b64e8e9c100cf9d8661f2d0e6c06654a02f15aaa8a62f3a2d451354da22f2e746c96c54c42664bd8ed985a160290b4e15404107420f231656616f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5301d59fb33b15226c994ad8bd9979c1647fe1343ef1bf43db011e2d6c57c8cd99faaa87d4c03c5ad8af919b33f5550fa98078b5b15f233667eaaa1f5300f16b62be466ccfd5543ea601e2d6c57c8cd99faaa87d4c03c5ad8af919b33f5550fa98078b5b15f233667eaaa1f5300f16b62be466ccfd5543ea601e2d6c57c8cd99faaa87d4c03c5ad8af919b33f5550fa980af8b9b13cb4893e25eccbcf240ffc2687724abe07b203bbe27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea6020ec7ec6fc8cd99faa687d4c076f1ac624e0d49cbcc419b3662b253c81aad501a7236c31c9753569acc132c9c3db9fa1299817241397a64b8d4f080f42a6a995574f26a642b3c99e90a96aec301c9317c9a16bf243c078f9c7cae8a46275b5532422748973a7ce3595326582b4051b22721090e7847e418ff00b41d36bc59b553bce917fc1f1189f49748aab9b4bab4bb4b855656d0d22b68154526b12274cace775f354890a42952e626572e0a82d49cafb9dcc75fd1ff0049f49c4c6cb8f8955146b79bcefcb774745e938d5d76c4aa69a79ebf9b7bd9cac9d327a64a312462b8754d3cc9b4b3ccaa995353324542a44d0a154b98bb966bfdb1f7df434cd5839baceb2999d26d6ff97d1f42be4be6cd1c1c3fca26cbab69eb363e52f16aac730e9b2a462229f07c527d253cd9d213532d33f10954aaa3964ca989574a68d63d589bc4cf2bfcb5976d7192d7e3f8cdbef8fc766c38063987ed360783ed1612b5ccc2f1da4915d874c5a0cb52a4544b132595214c524a542c62d55369b23f5f065e2020101d4a2aea1c4a9c55e1d594f5f4aa54c969a9a79899b2cae52cca989cc8243a1692950dc4110fc75f49d627d63581db804069b268700a7c1f049d5787e12575387522e74faa514a8cd99210b52d44eae5e03868a8367f145a1547b274b8950898a4ccac93473b2d87574b107b60329b39c8524bc47074485d0cdc3ab6b569c3a62152d52e96a2b6a17484057bc54a1d1680c1e13e1436271bda19bb2f87e295271897515b492e5cfc3ebe9644fa8c39665d64aa5aba8912e9aa5720a4e6126629989d0428edc5e395fd2f6bdb7b5f4bf398e69c48c9369fd5e3347adb5b3d020820100804020101e53e1536f6a363f0ea1a2c1512e7ed263b3849a00a1ca0a6940813aad72810561198048dea21ecf1d3d1ba3ce2cf831c6c5c90e860fe0c86334a8c5368f07918ae2b521d7896315139554a0f6e4d12bf0724762529ec0d13564a66d0ad39aa8bcb5c9bb6357e0d36930ac1b18a829c0310a8e695b85cf599d370e5ce3feaf534f3ce65ae997efc4c516be5202729d7ea99e8cd4294e365aad2f68da6daad9fd8ec12a7693697139584e0546a929aac4a6052a5cbe7139122595640a212573120ab41a960e63cfbeb11cf476d34cd5b70899f488bcb232b13a19f884ec2e5540995d4f4d22ae6ca014c2454ae62252c2db29cca90bd0bdbb444d916d22784dede96bfdf0e59b5d4522aa968675648935b5c261a2a45cc4a66ce1280330cb413995901199b485f5b71dfd348bfce3e3089d3eef5d66df089f84bb50080c3cfc770fa7c7b0dd9b9ab58c5716a3acaea39610a2832286653ca9e4afaa08555cb61befc0c235bf813a3310080f31c2714abafaa46cee1a29e77b9d8348a9ac9b317309454d46614d24a52cc92259528bbb69018cc076865f33463070ec4d671ca79692bc3d299c8a4ada698b4d44b9a662a5b806d604db480f51c2f109589d14bac92f954a992d4e9c9d393315297d12491d241d6035d95b79b3951b4f3b6429a6623558c52cde42b26c8c33109b43227f37155c84fc45120d1ca9bc8a82b22e68374ef21d4f6a2fc3e17b6936befae9a71898e1255195b940201008040756b6ae5505254d64f2449a642a62dae48487603793b840798cf9db65b514d578860f2270c270b9a79e2a44f54854f327f1b4945c98cf3660ea998a5a519ac06a603e51cf8a524cdb446238d946d9e053462bb3db6f39596a26d3abf107959bef08e82a55d3aa08378f8ec6c5c7c3c7aa267b71ac78c7e4fdd7a2744fa371fa0606261511f57ae9c95c71a6b8ef5e79df589e5aeccaffa2e784dda0c6b6c768f05da0aaaac5e76d12175f3ab882b08aa906ea537465a664b394689e825223d3fa2ba5575e255156b7d7c9f3bfb77f40745e8bd130717032d397b16bef1bc551cfc7cdf5257f85dd8cc371b3b39548da718c3cfe4e9656cbed0ce13534cb44b9d364cc9587ae5ce94854c403310a28e926f711efe1c679b47e5f1bedeafcb6b8cb179fcfc7871f0dde83455d231092b9f4e270972e74f90ae5a4cd90acf4f3552663227250a29cc8395406550652494904c421dc80c457637418757e138654aa60aac68cf14294a14b079b4a33a6394bb7445b8c573c5e63953357a44d313f3aa34dfe0899b5bc6acbeb6aa7eea65dca1ac9388d151e214c268a6ae932e7d389d2a653cdc9352169e524ce4a26cb531ba5690a1a100c695d134d5313c3d7e71a25db8a840685e11a4aeab66e6d2cac57dca9b3a6a18d8a26a5073ad1377f26120a96db86fd20359c1e9719ada5a95e193e8b04c36420d7893573ab252b919f997cba296866538912662d0aca14b591a103489b6975f0e89aea8a6379d19ca0c7b18c1f11a7c2768e9d52155212a92a528cc42a5a9411cac99aa4a165295a809889a3321c1722215aa2d366eb8c62f87e0184e298ee2f51cd30ac1a9675662555956be4e453a0cc9abc92c296aca9492c904f08ad554531795b0f0e6baa298de582d95dbad99db4e7e9c02b2a2654617c97ba387d6515661d572535092a90b5d2d7c9a79e113424e45e4caa62c4b18d32cdafc2f6f58b5e3c27589b72989e2ce2abfebeee6dbe2a968f86edfe0789d3d5d6c8a7c565d053cdad95231099453c49a8f73f941513252c24b20192b0954ccb9fde3b87cb131a9a30fac9db267fedb5337f58aa2623798be9a4d94f6abc91ace6cbfddade3d2699899da274bde61b5e1d5f4f8a61f4389d2152a9711912aa6994a052a32e7202d0e937058e91d18b8738754d33bc4d99e162c625115d3b4c5e3d5dd8a342034adafac994dcce448093598a24d161eb593925545554d34844f290d9b921314403be2622e89ab2eae1c3701d849b532f67e9301a0c4e725fddaabad962a2a539539b94a89f391ca6799aa594dc2d168c4a2f66d5f41c5a30facab489eef8feb8b5dc2958661db412f67a807288c3f12a69f8655ae6ae654731aca2ae3cde6ac9572825cd91d124be5caf71115439e9aaef5a5ad12d0b99314112e582a5acd8002e498a5554445e5a445e6cc0ecaed56cfedb60187ed46cb6272f18c07154a9541884b0b4a5610b54b5f46604ad252b4904100c5eaa269df944fc62f08beb3e136f87eb7da778d1b0c546a5876dbecde25854ac6d35aaa2c2a6e1f2b14388d6ca9b494e8a59ca5252a5d44e4a64a54e839905599218a80043a9ed5adc72dbc73f76dceff007f9af8944e1ccc4f09aa27fb3bde9e3b4eb6da5b6c1420344da69f55eed60f412264c1cf65944b40a89f210264ca893292b5f375a14aca166d018b9322aeaa6ca91498b22a27aab514151239de2c899226ad2b5279542ea12402259631d3d23a262e0db3c6956d3c25860f49c3c5be59d637f06c35db23b4387e1f5d88cdae96b9741226542e50aec501509482b29079c58968e66ee1d97c5e5a766aab16c56b134d474336b9753595538e4934f226add53274e5164a10972546c222aaa222f2b5144d73963599716cc7844d9adb0aae6b810c6a685d39aaa6afa9c1715a2a2a8900a53ca53d6d5d2c9a69c159c14f2730e61d20e2f168a66dcbc2749f84ebf2d38a978fd6bf36f3109201018ac1719a1c7f0d938ae1ca5ae8ea153532d4b41429e4cd5495f4557eb20c45339a9a6ae1553154795511547ca51155efe1331eb4ccd33f38656252d7b6976864eccd04ac46a30fc431190ba993226cba0906a674b4cd532a71928fc22d32c749425a54a6d1262622e3c7316f0cf3f9ee2543b3f53b2202b28c2712c5f1791432a48c8ea5d5c89b31158579ac250929ed98c5e358c345d3b17e1967555162836b5786e258952842f0b91b372d5573aa9d04cc93cce96a712e4ccb5003955ce0853fbd0924aac3e43ddf0fac4e2141435e993329d35d225cf4c8985056813121795465a96870ec72a88e04c6296947c286c79c766ecf52d46298a575356a70eada9c3b08c52be869ab14a09e6f538852534da49331054338993464f7ed0a3b7b7cf489b7299df969c74dd3894e4df95fe3ac7c635f2d766f7513e552c89d5350b12a453a153274c3a25080ea3f30114c4c48a299aaada354d34cd5368de5a0e1be12f05c566ecbd352e198d8aadaf9136b709a59946a96b1412554e95574e0a3f8292f5727add3e9756ca6de70aa899898eeefe13ada27c672cdbc9953894d54e6a7589da79f8c786af448cd76a5b4fb6fb3bb20ac3a46335156baec5d5306158461f435989d7547229cd3972e8e825544f52258233af2654b87370f17d6c9b697fd794739f2e1ab3383631478f61b4d8b5026ad149579b92455d254d0cf191450a1329aae5c99d2cba4d9681c748b554d9589bb29109203118a6374183cec1a456ad69998f568c3f0e0942979a799336a19447546490bb9eedf0e311cff000899fba16cb3966ae14dafeb5453f7d50cbc15203e69f0b3438fccdb0c130bd9dc12a315da0daecfe2f6229ab14b2e99543292b9f2d4a52993965a55347124b07063c9e97f47d58b5e689b3e87a0fd2f8383d1baaaf0f34ebae9c7e6f9fb6a6a369703c476765ed06cf4ac66af6ce448abc07179588c9af975326a664b952674ca959065a16a9c8652ad7e00b78d8ff42e2e78cd8bad5ceedf07e97c3cb36c39b53cacf4d93276ff0064f12c26836836766d7d14cc52560d43454788d3e25cc317a8909aa44b992f32664948a4599cb03a39595c0c7a183f45635116aabcd1f72303e9bc0c3aa6aeafb567d318e6d3ecef83dc27044637515a24d4cd93856152e9686b311a9a8a812173128453d049a89a4f27216a2c86b47b9444536a7f5a3e76bbe24d55facfacdbef96c7866234f8bd052e25488aa974d588cf251554d3e8e781fa4a7aa44a9d2cf62d00c69316634d5775f14c6e83079d8348ad5ad3331ead187e1c12852f34f3266d43288ea8c921773ddbe238c473fc2267ee85f2ce59ab8536bfad514fdf5432f05480d2b696af9be31804b76e5a4d696fd5e43ef80f02ff0048bda7c6301f0635b8b60589546158a525750aa9eb642ca169fc3871da0ef06c77c74f44a62aaed2e4e9b54d3877879fe05fe91bb4fb2b2e7613e17365e749afa2a6973656d061e651935299a0722b5cb0aca9cef732f4f213a477e1fd1538d19e8d28e333c1e6e27d33181393122f89c22379fc992a6f095b67b51b51b075f3948c2764f1cae7c2e8a9a68573844929cca9cb49ccaeb8b161d9be3dbfdddd130ba362e49cf894d3acf2bf2781fbcfa6e2f4bc1cf1d5e1d55694f3b73e3f7793e89da1db0c2765b0a9f8de3751369f0ea65c9973264a913aa6615d44d4c8948449a744d9ab52e64c4a404a4eb1f1733f37df534ccfa45fe1aca300db1c1f6a30f18a60956aaaa4e56648999e54d913654e92ac93654e913d32e6ca9885065256904708b4c6d3cd4beb31c63fe7ee989f2668e20c0926c22b3368ba5ad4bdbdc1666ca52eda2274e38156d1c8aea79bc9af94322a02552cf25d604858b44d5d99889de6623d6a9888f9cfa22aab2c5533b531333fdb799fb9b373fed824e7fdb00e7fdb01c12abf363fb3b25ff1d3aa037752cc57f8406d78fe332767f08adc62a252e7c9a1467992d1d66ec78cf171230e99aa783a7a1745aba4e353854ef54db5787619e14768b6df1c1836cfd24ac168112a75457e2737f0b365c89282a52b2b84a4bb0d4eb1e4e17d255e3e265a22d1ce5f6bd2ff0064f03e8ee8b38d8f5cd756d14d3a44ccf8eb33f26b587787ec6706ae9f846d86092e7d451cc32a755519ca491bf935f1d5f37cd1a47d23344e5ae35f0615fec9d18f8718bd1b13b3545ed57e71f93ea5a2aa15b494f561065a6a5016941d4055c47ad12f89aa9b4d986c2f6bb6731bc6f69366f0bc564d6639b20ba797b478724282e955572b969198a800ace8bba49de0dc1113117a7370bcc7ac6ff7a2aeccda77b5fd3f5ebb4ed30d8e202030f3f1dc3e9f1ec3766e6ad6315c5a8eb2ba8e58428a0c8a1994f2a792bea8215572d86fbf0308d6fe04e8cc4068b8b7848d8fc15788c9acc42a66d661788c9c26a30da3a1adadab5d74fa44d7a29e45352c99b36a15cd55ca9e492a012092d954d5cdf8fcb74cc5b7e57f8ccc47ce25b661b8853e2b4147895209e9a6ae9499d2135122752ce0958702648a844b9b2d5c52b4823788bcc59589bbbd1097cdfb7db47b7541b6f3e56cb62b36561f21122457d2d4a254c9324cd959f97934e9099d392c75cce140fbd0d1f19fb43fb49fbbba4453af76f698ecd5cad57097d0fd15f44c74ac2999e7bf18f3868b3710f0b384521c3e9f6f26ed08ae9cb9f5589ce952696652800d913895a32157fe580ff3383f3781fb7d562476e3abd636ed4cf8445be7b3d7c4fd99a289d3b5a797acbeb4c0aa79e6078355f2951379d5153cde56a42133d59e52559a68960202cbf4b2867d23f55a26f4c4be26a8b4b54c73c27ec7e018b5560755518a6218ae1f2e5cdc568f08c2313c6154489c334a359ee653548a7e513d24898c48b8b45a9ed4da3cafc2fcafb79eba697de0aa998b5f8eb1e5b5fcaf78f389e4f4005c0237c1589ba603a932be865565361d36b29e5e215b2e6cda3a154c489d365c82813972e59399499666a33102d983ea205b8febf5a3b700804020101060343dbca09f55474753292a54ba35ab9c0487212b6e937634060f18da6a1c5f0b56092135c39a72230fab2ca995851d16aa0380ba2e5a03d0367e8e6d060d414b3ed3a5a0998381528a9be6780c95487a79dfaa603e4aaac04ed0617b358849ad08a9a1a2a632a8aa13cad1cc3901fc24be37d63f10fadf53895d331a4d53e7bbe2a9ecccc734627b3d5fb4d2a8e654d760980c8a05a29e6cc4a17ce79c2402514f3436545fa219e3c2e91fb474741c59c38a2bc49b5f7d2de30fa2fa33e83ab1b0bac8aad7e6f6bd83994d2a9b66a44bc4e97139b3a8714cfc8cde5172c4baf491cb3f48294268d77bc7ed1fb278f189f47e1ed7d666395e65e861f459e8f19278355c2f08da6c17c2a6dd6273364b69ebb08da8c52867e1b8d5162386a30a4c94e114b4336655d1ceaf9352552e64a5be5a75120259d847d1511fc39a76ef7dd16f8dacdb1a62f4cc6bd988ff005553f74c3cd0782cdb2969f062319c1f1baea6c0b65767b0da797834dc1175380e31874d2bada80bc4e7204b13d065cb54ea35296a4cb29208c91bde3af9abed44c4f846f4cdb5b4f188ef4692af4a8cd8755a779c4d38f6bbb5c5f4bc7b39ad926d31bd56dc27f81d4e278ce138a62fb3a9ad9d59b678e54ed3cf9b559b95d9eaaa7afe6f4ab4f2bd2a49b3b9aa974a91954ae94c967a6630e8b4c514ebbdabf9e24cd3f08d69f7785a5a74998c49abff006f2f9c534455ff00dd13ce34d62cd4716f04fb5665ec8d3d560f8dd7e0783613370ec1f0bc126608aacc0eb65e25326d3d7d3af179b2e5ca3cd3929689b4f33949611972b1b5ba2d5546251557decb837aa75d688fe25357b56aa7bd96fd645efb537e7c4a6f44c70cf8da738aeafe1db87662272de6268cda71b7a04ef0635551b618ced7546082a318f1d682b703c52654256b9182a70ca2a6ace6e0cc69089ab44e4cd969015358660a195b489888c28e16c5cffddd76589e71ae1cc46d156b689bcab8d4cd5155b7fe1dbfb6ac39abe5155e74bc69ac3cbd5e09b16c1f6029367f05f052578f6cfed26375f8651895b3f5181622b9d3a77b9f5588d354d6c95ae9b9bcd9684a9396a24997d14e5033679eacd8534e934d14d3aed154461e6ab4bce69aa9998aa2f36cd7ef5a76c4a289cf7d6999be9bcc76ad4da6d13117b4d355a266d313a5e3ed195ca7252f96094ceca39508ba429aecfb9e26ab5f4d94a6f6d7762368e6d448c1310a8a52b1369d0269c872aca10a0a9894ab7128040310b3e2ddbdf0a7b6182eda62fb1bb394f2293dc99a893839c3a895575d3689484ae8e689d3b9ccf19a4ad374651d91fb87ece7ec6fd158bd070fa5d719b353799aeab5313b4c708de38ddf23d3ff0078d754c457969bcedd9da678cebb6f697d4be0365ed3e29b04676d6cbc4d58e2b12ad4568ad2a95521285a7931312acaa16e3768fcc7f6aa9e8b4fd215c746cbd5e9ddeededad9eefd15462538111893333e3fefab629120536de6d6c81a4bc3f06de55a9acdeabc7cebd17806cff836db7c0f6b2836967c9a9c569276d16d7195824da8a3c981a31aada89b498ed104997ca15c939274a98b5cc099a7930965a154c3898c3cbb4ce1cd39b94e6cd97fa6ab44f38aa9a785edae2d57ae6ae17a272fbdd9a69f3bd3dae3698bfb595acece7829c728b60b6a703c736636c4e378850e0d4db402826ecc2a9f1aafa0aa336a311902754a0561a937aa5626942e7c9696a054e22f565e11a5e2622785a3e16daf6d666d3e5944cdfb5ae9545fcf6d77bc7b3c2358e3ae7ab762b6a6b707d8a99b5be0b28b6ae9f0fc02af0e91b11854cc3e8e9f07c44cf1ccab514f51568a592ae6a9083329a74c5d3a9c49ce95154571a9999ab2cf6aaa28b4f0a2a88ab3eb1da88cd34da62266d46badaec3d2d7d698aaa998b476a26632e9dd998889bc4cc44cd57d387767ecc7850a1a597b3d3706a8da9acc429362fdd5db44d752cba6e5b07aa95eeb19889f39154a98a4cb3312d2885837503d13ae2d51562cdb4a7afcff00db6c3e1e744de3846d79d19e0c4d1179d6f81345afb556c5e33bf7e2d3bccc6b68ed476b1af05d894dd9fda8ad97b3c315c7319dab995f8ee16aa99627631b3d2f1433c6172e74c99c94b953a432b9ba94896b566131b94598e6c2a6698a2fb45554d51cefd6649f1cb355355b945bc1d3d2273d555a6dd9a2299e5d9c2cfe59b2cd333e53b44305b5de0e314c62b3662af0dd86c7703d92a5c25549836c6e0c366a5576ce6262b973ce21253535268e42e64b29cb369271988666e916e9c299a7a46699bffd3b55ada229be6a27dacb3788ab2c4e68898f668bf3e2534ce15a23dfbc73cd972cf2bc5aa989998989aaf1bd4df76576671bc2bc2fed6639276566d36078f49a85e27b518a230b5d5aea12aa6452c8c36ae92a26561a35225ad6a9357293914d90b1cb19f47bd344c6d17bdb8cce69d66da4c45fb37ed444c53b4696c588cf13bcdbd222d1b5f589bc45e23b3337ab7ef7bb44a5f16786a9f89605e18764b169e954cc3aa82158724e8554dc995a52772b35e3e9fe86c28c5c0ae23bd6717498ed44b4af0a73b6f713db6a9da2d97f76717d9fdaa4d24ec31786cfaa54a91c92254b99cba6490991996093d8e4c7c3fd21f47578d5f7e68b6967b1d1ba553871ad3766bc2252099b0db2f86e2b8909b8fecae1b4185d4cd96a5544caeaf5ab21952e71bac851cc49bf4b8c7dafd0b1565ab4d3eed1e274aa6f543e92dafd93afda5f06580ecc546192b199caa9d98f7770ca8e4ccb9b4d4789514ec404d13884ad3c84a984a7df680125a3e7eacb38bf66f3f74d9e961d534c4f3cb31eb679556f82ef08d45847840d94c2e673ac029a9367e9b60ab4544b1575783d16273eb6b3049fcba8a73cba659a442a68e4e64b5204c51fc236537ae989c4ed559bb5f6a98da794cebdabef34dfda6916eed33962d5dbec55544479daf4de2622f444f6626698bc52782892aa9f0655d57e0e312c4f0ac0f13c665cfc0f1546cf0a9c1e4e27c9aa44fa7934553cce5d252cd965494485aa6a1dd28262725eab4ce93855537d6f79ae262ffdb9e98b6911314e917b73de623b3fcca6af0b461cd336f3af2d555ed7aaf57274700f05de1565e21b3c71a9ea5d1d5aa46cd6d64ce7685abc5ed9c9b2a7e1758ae99e526624ba7a84ce48e904d5f487e0cc6d462e6ab357bd5fc4abc3162f1114447b3ad35cf0ec4c71b2d8b6cb3146d4de8a6fac4e1d7de99dbb514da98f2bf8465308f079b594f8d48992f64a6611b4149371f99b65e10f9d52291b4d4f5b22aa5d0d37427aaad6d327489813552908a7e4b24a252cfc355357d56aa63bdd464b73c4ecf6b96b3154e6998abb56b6b55b4898eba26758eb735fdda35ecf3d22629b6d36cdbc529c7bc10ed3230ed86a5d8fa39586ab0cd9caf95b652975225af16aa9f370654fa0aaae42d55295d7caa19b2d5568ce52121cb308ede91551d65568cd8713a53ce33553c7c6734d356989378af4aa58f438aa3a345354db17b379e539262674d39469dd8ee6d0fa6f0a5156178728e16bc109a794f832f91cd49d01f8057375cc92f2fabf83514dac488ae277a75bf8f3288b53b59908a2cd2f0da5a5c3ea305c54cdac9136b7029147513e5cea14c996898a51953548a93ca6797316588194bb107480f1cf0b3e10e4ec455613b25b3f86d2ceacc0a968a752cac524c99cba9485294814eb9131d627970bb24a4a4b58bc7074be973853688d5f7ffb21fb1b4fd2b85563e35734e0d3396f4c5e6fbf1ff99673c097847a9db4958f5062122929eb70da95cdc94f344cff00685aa6cd2a64cb03f08bb306dce5a3a70317aca6ef9bfda1fa16bfa2fa54e055af18f189dbca79c70956b300daa97e137dd1d8dc171fd95a4c4aaa62b6e715a8aac3676018b49140a9326a65510a99f592eb513532121689327325244c2b0131688ab2554c6978aad7e15709a6db5e7598db7d333c7aa62f133acc5b6e578be6e7a5e238dedecbcc30ff0005db6a366f17c2f0bd8c9bb278cf88b8ae0bb558a2abe8bffd6bda1a84d38a6c444ea69f3664c505c99ebe735a9973472cd96ebcbdb463d346275914ff000e2ba2a8c3e596acd31ae9b7677edef5776148a7369577b589abc2d31e76bcc4dbd9b5a377a1d56cced66dad662f598e6c8d660185e2b8d6ce4d4e133f10a55542b0fc3f31ab351cca7cc968752b2aa5a262f3237975247246153788abb54f595d53cad38114d31e3db8d639df7a7b53857389acd3a4e5c38f8634d5579766749df6b5aad2141b055585edd6d5cd3b0a8a9a9c43a3e0e3c24c9186ae4ecde1e8c1e5d14ac3e5c99d3e5d5d28953e5cc2114b2548509ae4839d98d9f1302b88ab2e2d515deaf7a6a9bc4dfc348b4fbb7e2eaa2629ae9bc5f0e32f67cb7d36d7f5b3cff03f0538ad2783fda4c0b13d91db1189d6cac0518cd152ccd96994d8ad7e1b39736a2be54a99532a5560aa5b73c562025cca8959411981037e9189154de988b67998a6623b31316b4c4696e59674abb516dd9d11546f3adad331c75f1bcdf7df868fa6f60a9f18a4d8bd97a5c7f09c3f01c629b0f912abb05c3d0897494aa4202449932e5ae6cb4250001950b5246895283188c59bd57bdf9f9f1df5b5f6beb6dd5a22df19f85f4f598dfc55dbc5ae4ecb621508055cd2652d44d03e0e4d54a9937cc8498cd7726c4e6c53c1b61b4386e393292ae54a426554c90940a09d4a072c679d2621530198a0aeb05376c5665ae1e1c4eb3a447eb47857854d83c3765313c1718c457eedaeb84d1498ad42805cbaf9ab1513662100e5ca729992d20747a4075a295605155715cc76a36974617d23d230fa3d5d1e9aa630ab989aa9e1331b7eb8bd8fc1d60586617b3d495d4785d2d0556321557573654944a993133a62e6c9e554900a8a25ac0bc691110e5ab12aaad133336d9c988e0d894ff091b258fcaa6cd84e198163b475d579d0324facaac2a653a32139ce74d2cd2e0306bb387bd1368abc6df2ba2a9ec5bed5fe557e6f31a7f0635b8d55e0949b63820c4b01a6c4b6e2ab10a09f508992262315c5ccfc2c4f9299844e42e9d45410a0a082139825694b618b46698ffd2b7f75e8f9e9369e1cdbd789a4db7cf44ff6c61d5157ced131c7caed329fc0f6d7d0ec48a4c0e92660bb5b8dec561b47b638a73c42eaabf15a5a99132a2454552d73b9598ba7e5e4226ab3212956507200236c7aaf555a66a33614c53ce299afacd274bcc65be6b759a45536bcc727571155a9d22d8d11379d33658c29befd9d662dddb690dc763761b13c311b3e68767719c070ea3c4719a8560b899c1648a1455e1c9912d1474f834e9b4b2a9d738121092f9d4b528006298f1334f3fe0d74f8de7168aa226fe11311c2298a62f75623b54cdadfc5a6a9e568c3ae999f8cc5f9cde6dc5a5d6f81dda6c5b64ea138b60aaaeda9c27c196cfe13b28b9b5b2d429f69e865d719f3a57e1b934d4c998b9392a8dd2e7935dd71eae263614f4d9c48ff00a73d222adbd88ae266de74def1c634b358aa7a98a7c2bbc79c536bf3d63ca2756dd846c0e3d49e192bf6a318c3b1bae33f159f59846d7522f08e668c2e6e19cda5e155ca9b325e29c8ca9c14b12252172b95c939c2b3e5f37a34cd38769dfb57fb57c49aa9db8c536a6f56d1131b5918dda9f0ecdbc2d169f8cde74defcdf48440f19f0baa99253814f54b52e8d5cea9ea1b4cd33915849fd744a5a7e780f52c628b07da1c269b169352b069242aa29674929962a241226265cd0010a94a992d0a6e29ef11b4d31542f858b561559a9dff003d1d6aac370fae9f877bb98253e274939329526784cc99352aa99225cccfd200673e81a691f31574ac499ef4a9b353db4c3314da4f05bb7981e1b24d7e2f8be118de1f865329694f2b366227c8912ccc9a5290e583a8b7131ead39abc1f174f46ae28c6a667689879f577816913e6ec69c455896d94dacc5e9a6f843c4314a890153b0ea2c1b11a7a6a45c9a54d2d3aa9915154949932e532f3a8cc0b05663d39ae33cfbbda9f3aaab45e7d222dcad16b3970afd55a77cb4d36e511544cc47cef33acc6979d218d93b01b448db79753e28a938ccbda79988afc2b1a8a4e495b36a2a5230612f96e7ac24914bcd8c9e4011cbe6ced1cf81c337dbcdf6f367cbe7acd3576ad972e58d222f38f11ae4ff00e5e5b7b397266f2be5afbb7be6d6d7aad91c07c1855ece6ceecc61581ecc51609c82b68a66374947cd6421536b69e748a45cce49413314a4f2497bb0001602dcdd229aebc0cbbcfd5727fee4f53331eb315cdf6df5d758c2ece2c55fff00226afecfe2dbd2d553a7cb46bd3bc1aed378ebb238be2f8563789d250506cc4ac16bf0a9983e6c0a7e18b2712953575f365544a9156e04f34456674bcd2d49b2337a75627f1f12abf7b12b989b7b134c4453ef6f154c44e913544e93761838731d1b0e89f670e22638e68e3cb945fc1baf82cd98c6f6736bfc204d99b2b3b08c071a9e6b118ee288c28e2d5b5936aea66ae59aac36a27aea68e4a260e439da51365a4e4e90eaf3e1cff062274b5ad1e9acd5ece6dbb51ad5acd5ce7a3175c4befbdfe56b71b4eba70b45bc3dde20697b5d840c6a58a2154aa2aae6753370fab4eb2ea64cda69b25638b2d20b6fd2262663632457d99e2d0b0ff091896182a25e3be0d7135ed22bf05513e96a649a0ace450a932a63ae6098841428b2548252fbe36c946f698971558bd2a2230ef15531b5efa7a3c564786ea3a0f0812ea36b66225d654e25295b612d085cb4e068914f3a9a8d12c11feb14a51501666d94f98e501a33ae5d183879637bcbe92f0a1866d06d5ec455ecdec84c9499db606561d578e15255268b0daaff006cabca26c95cdff57cc996994a72b526e94ba867922aaa98abbb7bcf1bdb5cb6e55cc4513ca999974e1d596f37b5511a5b7bce978f1a6f9f5f76dbbca29762bc226c6fbb5474f84d3ed76128c7f07da8c3246092e9b0897ca2a67258b505251d757cc12f28949aa19e784ad53163303134d569a2fec555fac574576f8575f1da9b5b6b4618b857a66299de28f4eaeaa3feea29b478c4ded771d4ec8ed85553ecfd66d3783c5ed6e1231fda7aec67601359874dcaac46accec1eb6673b9f269678a6979814e7742a6674a49406cb0b0ed6bef96a8f2aa71335fe1b55119a234b466aa1d18d8b15e6988b6b87eb4d385966395e6ab4e59ece9de9b44ce1aa7c126d5625e0a711d92add99906a17e0eb09c2687019d534f365a317a09f533f9ba6667280a4132b2ceeabb1cd6b5f0bb38b4d55f6a299c099f1c933d6697e31a5b69bdb65aa9a6748b537ab1fca98af2e4e1ac45afb5f4da25b778a38949f097b03b49b3be0e27e1741498752d056a31295812e8303a09726a8aa5e1a69ab1759475815384a9829d13244d4b027a3986b875ce6aafb4ef3c67b316889e31788bd35691daaa9d67b5cb5c7622dc3870ef6b33e36d6263c227c3e8f8a2ed0f1e5251b5fb26b57552b964fedb4d01b962c709c32844ec3b0b9149329ea454d1840ca66559cc94296dd6fc628977b461f4bfd2dd460558f8d55e9a29fd441d17a2d39b2d116bcbe75f089b5be10e971fc5b009f8dcb9586d2507395ce4cb57e1a85432d4cd1947e1264b57479240cc43101b311f31f47fd378dd2689bcd39f0e6d55b6e778f47e8dfb3df427d1b8f87fc68aaaaea9b46b6f28f0fea9d238f0bd36539cf85af013b5f83e1ea95475f8e4ac570fa69b3ed24cf9c8ce9e5b2663c9a953005b0eabda3e97a3e34e2534d76daaa66dc272d5136f29b59f37fb47f4247d15d3ebe8d355e9b6f1bc4574fdf17f9363c7eb7c206da6c862fb3d2fc1e633b218af3690ba89d3b12c305255f2153257558751d4d1564da848ab9099b2933664994c0b9ca6d1d1896aad56b3115533967bd317bcc6f976de26ab55ddbe59997cf61767b3c72d5113c2272cc533ef69369d22f1e7a351c3bc19e2388cd972256c54dd88d81aada5c3ab13e0fc54d249e6d4f4b87d54baca854ac36a66d34b975750b9495d3c998a0b00a963f08b115aa8cd962aed76ab9f08a670ed14cf3edde6dac76bc253155a2bb6939288fee8c58aa663fb34cd369d3c2999c4e3fe0df69e9365b6630fc1762978ae2db2d8fed2556c960d3c61157b3f4b4d518ace9985fba14b59572264b948a654b321744f3a9c02909b996ada89fe2d15728a627fd37b4ef1545b49d639c4a6bc992ba7d99989b719ecebbe9966a99bc4f1b4c33d5db09b4d3b6ee7e209d9459da09db51438a51785a4d552e4a6c024990a9f8432a70ae485cb97369f9ba24990a2be58a828a9abd17b16bf0eb337dacd9f26d7bdb351deb5b25e2f6a6f963deabf1be4b7d8b65cdf38aaad3bd9b2ce976b7b55e0b76b310a4d93462183e338be1587d06314a708c1a6e0c6bb0dc4aaf11e714b8b532b169d2a9d1351201089f2a689d289e88652dabd12f464bef187811fd33874dab89e3699b5ed78aa29d782784c73c4c59f38aea99a7c348be93ef784bebc4b84a5ddd83bebf3c5a514ecf07ff488a3978d6c4e1bb293b15a3c025ed7e2f268118ed5839296a2552d4d75190b71c999b57492a4e6e0b2d768d30749ba65f95b59e10bc2eecc5756e0555b75b5587d5e173574f5544714aa225ae59ca40fc214b5ac458ee8efc94caadefc15537849f0dfb6f85ecb62db61b418a6cf2168aada7e778854cc908a196a1ca2722d6539a6f5101b52fa0315c4cb445c7ec649932a9e54aa7912d32644848449928195294a43252903400479abbc53623c71d87153b1955b0188e2f44bc7713aaa1db2a0abc33992a8f14c4675709d588a9aaa7ab44e942a089a94489998a5d24bb051daa29a7bb34d314f84e5a6d78b5fbd6bcde23b533c353122d555546b9a6fe3aef1e9c3ecdb8e8f3bc0bc18ed12968a2c43624516249c2b1aa2f08fb5f5151453e56d8aeb24aa55302844e993a7054c22703592e5f2007252dd2a31cd894553d1aa8a62d3d56588ff00e6465eddfd2aed4ce6ab3de6d37b6d3553d7c4f0eb737fedce6ecf3e34f66232f677d22f9a1e060d3d5ec74fd9fd9bc1f66b11c07c1fe3383d063926452a558663b58aa35534d962574b3256aab595cbf2977e9dfd1e9d5c5747488a37ae698a387663ad898bef4c6b447c2ddd73fd1f54d1460c62c5f2eb546faf62fe733669949e0ab6a51b1d5187526ce6d0e1c062382d46d76c9541d9a34b8dcaa3953d15dcca5c898aa69eba998b973272b1012ccfe4d014c5db1c5ae9ab2cc53d8cf54e5d2f4c5545a9d2f932d33ac531339673571798a6f5c1a269a6627bf9698cd79d669ae2666fde99aa9bd3798d62622ad2f6de703d9bda8d87add8cda6c2b63f1fda7a0a6c0ebf03c47676aaa306463986a66e21cf694c809aa9586f2194722a972ea1d284c867c8a02f9ad355f5cd4e16be3871544e6beb3339ef33ef5f84de2f96f4c5b4cb35cdbfaf2ed6bed97489b5a999f2747c206cb6d4ed85756e3157e0d2bb195e35b388a1d8da39f5d862276ca6352e7d59388cd5f3b2990b9899d4ebe7140674d4f25940eae6e7aa89d72cdab9b5abe516d639e93acc6d5f1da1ad3891d9cd17a6266f47bdb7df1131af7378ef556edd5f82bc6a7e398bed45461fee86d54adb0d96abc131e554242918551c8c264e2f369506635372e9955699c9484ae72592acc9c91dd838987189133ddfe2fa66a2b8a23cb34d33e13ab399abaa8a666f6a298fee8aa6f3e76e3cb486115b03b729adf0b14fb3fb355187506d3cc35b3319c4a66194f8be293938a26a26e1f4d8961953367aa867d1f2d2a49ac4cb994e16848252e25f153111851131b5544dbde8bccd79b84cc696d6d5eb1569aaf3ae24cc71a6b8e368ab2c5344c4ef1aeb3a4db7a76b4e7b66b6171ca7c5e82bf0ad8c3b07b232769a8abf0fd8754da106865c8c2ab69ab2b391a19f3e9648a99f3e58e4a44c53e5e5140296a64c4f679e6ae7fa69ab0f2c47f95e7fbfcd178cb5db8d14479d54e345533fe1c66d3396dcafcbe06f60f6836531fc42ab692871c18daa8ea6463bb4ca560dee5e373d75826caab269667ba53a7a65b8966aa58e4d054804d9ef8136c0cbb69469e34d33154c70ed4eb5553daafb33317bab8d1138d3578d731fd35557a699bfbb1a446b14eb1136dfe8f881ac556c9d26dad5d5aeb2b6bb0e9bb333e5a700afa09c6454d2d62a409936a50a0e0e6953c4a650232958f7d1c58954e7d383aa9888a23c7fe1f21d66c06d16d356f854a4c6aaa77bbbb352461b49eeb554cc41588cb9721551492e866265518a794a33010109e815b92a223c8e994575e2d354e26de1b6bfecfa0fa3a8c48c198a30af15e979da6de7b6fbb6fd9cd8af0908d8bd96f08fb79b5f5f8b62d8557d262149b33504a932533a7caa4428ce0b519b3e6485652a5b9095148eddfa56262e95535766998e1bfeb93cfc0c3c3a66aa2aa6d54c4c6f7b7eb9bd4fc2fe078e62f2f606b304c1715c77c5cda4462389d1e13574b455c29bdceaea62a9336b2a68e5fe327a011ca02524c7b71a6244f84fce1e4c5a70ea8e797e55d33f743ceb6cbc1a633b73236c3199bb2989d362e362e828fc1fd3e2988532eae931da4a8c4d62a33d3564f908ab467a75a2a73ba42884ac3cc11d785922ba73777aca26ab5e3b1d9cd11b4c699a2ab77bc7456713f8711fd7a79db2ff00b72e3673e3be0c2a70f38ad3611b0f3716d963b61418cf8b543574d4e6ae91182737ac5a79c54c84154daa7e5513169e59d59dd2b513c1699aa9cd17a69aabb46968a670ad1a72cf33a70decd6f4d344e4ef4e1d179e335c635e66679f5711daf08d6f0d5317f055b5753836cfca99b2d89f8a326af68972bc1be1f3706a8acc251894d92ac2a74a46273fdcd4ae8932a6e512a71e40cd024929062f92748aa6f5659ed4693139e662d3a4e944c519a35ecf29bb3a6d7aa6348cd4ce598d2a88a229aa34be935debcbb551379b55110f71d8ed87e65b59b47b558d61f3ea312989c3e9f67b15af9d2ea2a514f2f0ca793524096b5cb953664f4ac4e5200e5185d49088d2f6ab13866ae76db2da8dbc2f1b785d9dbf87854eb3970e37df366c4d67866cb546b1a6b36de592db2a754ec7b65d41da5c8c45fe7e6ff74425e21e1cf0b9153e0f6ba5d64a13a40aaa45196a76244d043f18f6ff0067b0a9c4e971156b1abc0fda6c6af0ba15534cda6f1f7be6fc071cc0363978f609e17bc1e4c993a649cf2b15cd2eb24cc9139b924e4529a593a898824feab47add2f13a4f4c8ec4e5c189f28ff007f2789d0b0ba27409fe2467c6aa2fce7fdbcf76b7b31814ed9ff0009be0c714c0e4cec2f64b6db1398bc1b0d5548aa97c9c954b0bcaa373d701c87b461d32aa7030eaa30ebcdd9ed72fd7dce8e834d78f8b4e262e1e48cdd8e7e3fae2fb43c2a6ce6318dec655d0e0b415389e209aec26a51454d3a5489eb4526254d533b919b51324cb4ac4b94a292a58bc7ca7b54cf29897dad36b551ce9aa3e34cc43c2713f071b7d57b2d5780ab60d3885262559b455983cfad99865563787d556896ba1a9aba99953cdd0be5e654669d4e66cd4204a09e96630aef6a6ddea68de39c5536f1bcd396679e266999b6b3a515d19f355ac4d54de278c445a7c2d16b45f6a74b4f0f49c3b6531756db271fda4d85aac7666234d872b67b1a9d370f9cbd9d32e97255d34c44da9cd2d667665aa652729ca6662592226adf12238cd5313ce2698888e71b4c5ad975bf1aadcdec517d6d11131f6b34f6be16f1ecedb34bc17c1aedee19b0f8ce018ae0b331cc5b11d99c3e9b0aad975b229d549cd24ca96bc0ff001c1328a6667988a992596e7394942334d76aa75fe651333ef46689bf0b6588b65dbdaa7b5554bf48ed555cd3c631223c2f7b79e6d37d784e910eeabc1ee3f3138d56d06c2d5613b275789e173ebfc17cca9a013713954d2aa535f3089355328bfd6264e90b28993c72bc81e51b3c348a688b5ed5553e54cd114d3169b4766a89aad1a466cd1da8b1a76b84cd31af398aef3e3ad1d9bceb3dd9b531765706f0595f884ec1246d06ce736d92933b1d9f4bb1d3a7cb9b26829eab9b268a86a254a98b93351d09d33924e7952c9091d4418c6bc3bdafacc5156be39e269f5a69d227ecdf92d156936d2f5d33e91875455b73ab5e737d77986bb4de0cb6c4576c054ed06198de25ee6607b394b26ab0f9f854ca8c1b11c3a695e20664daf9c95a51520a1336651a96b9884a90a0c10fd3331d6cd5ceabf85adb73def33ceecf122d16a7bbdafbf498be9b6d3bc3e9fa6a45a76a765265da5cfab7f9e8e688cd2dd76ce979eecae3f4cce6651cd61da12e231e914e6c3aa3c1dff45e2f57d2b0eae55d3f7be6cc124ecfec97836ad9fb47578850625e12654d9744ba1948993d1875331ffcc20251396ab9de1b847cf7478a30b07b7789c4e5ca3f37ea1f4957d23a6f4fb60453553d1b7cd33119eaf2e34c3cf76868e8b698ecfed2e0f367d52275553e138d2a721299a67852532a6cc0970f312a6edb474e3d318b96ba79da5e6fd1b8d89d0face8f8b1116a67128b6d6d6f11e52fb9d4aa8a0c156ba2a25e23554748554b874b5210b9f3112dd1292a9aa44b49590c0a9407131edd778a672eefcd70e22aae334da2677e5e2f99367bc16f84ed95adc2f1fa8adc2368311da3a1c62876ea8b0fa5e63325ccc5f96c4d3513aaaa6b668ace675e4c895965cb2254d2c960d15e958511858985877989c3b44e917aa989b5531c26bbd5355bda98be9178b61d79aba71274b577b4ebd99b44d37fb31145becd16de4c43c1ad76ca6cb6d34dc3e5d3eced3556c8ecfa369714acc4c52a6b6af0dab9b3314975b5e662d695cea3fc01a956895065326daf4bae9eb6afe4f5944c47098cd39b7e35465bc55dfdaade59743a6d83879bfeae4c48aa78c4cd1464d6385356698cbddd72db46236191cfa4635b4de0eb62247b8784edb61f5f2b65302acc30a2653a367a5d15422967a27cac315324cd9cf3112ea0a014a80595da294e7ecd556d9abb7f4cd1962de19be137b5e22f379c5a2aa6623f97447ac63679bf29cbf18cb336cda6d586ec9f848a5a74631e2c519c7a5617e118c9c1eaeb254ea5e798e6374f5d8552cd992e6214a973a54b2e52cc032b2168be2cff000adbce4a22de31de8d6de97b5dac574d555e748cf4cfa4516bf1b78efe1760766fc19e353a44fc1314d83a8d9ed8da9da9c3f1a9f81e7c2e9294508c1574b592051e13573a5a12aac9215364a730988983315bcd02b896bd333ac53557fe338736ff0054edcf85b5528aed4ce5d2b9a288d3df8c689998e5d8da77d39d9db9583d2ed0a7c22e25866c5ed4e2f85566d4d0ced8cc430132305c4684d1eced1d173fa0562b3f0d4e494b44c916cc95749250b46611698aad154f7b35737f3b46bfd569de358b4f189526298988888cb145316f29ae74b6d6898da6262f67d09b0b2f6a256c8e012f6d66a67ed4269923179a39272b739794e40093ca646e5393e8667cbd168b55c39da2f6db35a335afadb35ed7d6cc70efadf9cdb9e5bce5bf8e5b5fc5b6455a3e5cf09186e0f3b6d7110ac5a51afa9a654f98b42473cc3148934b2522595e60d3414ad052014adee5e3f3cfdb19afa257d7d1315f591d5cd1545e9b6f78e53e2faffd9ecb8d4757545b276a2a89b4f2d5af63b85e1f2674aa8acaa43239a09722b420d2c951aa4cb556298254194b0a9b9482a602c0c7c0fecfe3e263d5f568cb4d38d396aaedda88df2c4cecfa4fa428a28a7ad9bcce1c5e22fa5f9cf37d55b37269e9b67701a7a3abf7429245052cba5af62396969929089ac5cf4c5e3f7dc2a72d1117bda1f97e2559aa99d9e278a23c25ec455f8551b21b0f3f6aeb36d6ad58bec7e3b4b53870974f5aac369a8848c52557d5512c2254da5052a93ca3cb2d622fa616d4d13a5aad6784d3557354edade2272edb453699d6d154466cdce3e13116f86d3e73569c66718f0778ad41f0c9b452f0215fb538dce90363a62aa6585cca49585e1a26c8a652e67274bcbd5532d2b7c99ca50564a528226f9725b8625354ff004c625355be11b5f7f3531a9eb68b719c29a7caaaa2b8ff00ee8d6383ad376436a76c713acacda1d97abc1b05c576c30ec4a6e113abe9ccff0072a9702e6ca15268ea168e9558c9324a16a0a4920e64131cf183798cdac67aa6795a70b2c79ebbc73e71aba2ac6bd336d27aba698e778c7cd3e5d99d3c3955a462f04f05955836d3f837c5eaf616462345b2d886d7d1d14a97cc16ac2a9311c685560955284e9c809914f4a8504a24bcc941612997d603a70f4c4bf19c28a6fe34f09e3ac5e2386bae8c71f2e4b46d9e99b79d3da9ff003b4fa5e3687d4515410080402020c035b1b83a880eacba0a193339695454f2a69d66a65a42bce03c076e02aa485a5493a283180f219fe0a1a6afdcdda8c570ca37264d0cbe4148960fbd472b296a61b83da3c1c7fd99e818d5cd7551acf8cb8eae818554dda6d6783fda8c2eaa64aa6a2a8da44caaa555e1b8df38a7913e599884a56850fc10f7ada311db1f0bf4f7ff00a7b8d8fd266be8b5514e1d54c44d355f87a4bdff00a37a560f46c2c9313a4b6cf06db238b60b8ae2189e23850c284f90b42b34e44e9d513a6cc42d736629055ba58173dc008fa3fd90fd9ce91f45f59d7554d59b2c4453b44537f2e6afd21d2f0f1ad92262dcdecd1f6af388040201008040526213365ae5ac3a6624a543b0da03c6a46cfedfd34a954669696aa9a9644aa594a978c2e88cd932258948e54d3d0898ae8a7454c536917ab12a9a72cce91c387c11962f771236676d29506561782d3e0d20a94b552d0ed36214d2cad5752ca255324152b79d4c512f43d94c0a760f4732762136754e3588294bc46a67554ead565e5662e4c913e7f4d4992899945877406d5008040201008040203cd7c28ec0527842d9df7366e6a7c4a866a6ab02c5658066d2d4a3aab483d649d149de3b58c76741e9d5f45c4cf4fac73856aa62a7c712bc1f7874d99abaea1a6d9a998c619593259e5686b0c84b05bccc99972d52cad36b82ddb1f5189f48fd17d26d5e253315f95feeddcfd5571b4bd77c14f81cc76931893b47b6f26648553d4f3ba1d9c13f96912e7a09e6f3a6af2233aa4a5472801b3749f48f37e93fa6a9c4a3aac18cb45ad7da7fdaebe1e0da6f2fad23e75b90080402010080880d1118ec8954d45495380edb4ba9a1a4954738d153532a9d46486cf2f94597bdc1f44078cf858d8da1dbfada0c668f0edbbc3319a5a31413ab3dcea698a9b4e9b873caf454e4dd203b911cf8dd1a9c49bcbe9fe81fdace97f44d334e1659a666f6ab84f38fd7936ef025e0dd1b0d844e9e51532ea3125acae5d54a4c99e94a14529ce9056467484ab295ab2ee31ad1445316878ff497d258dd3b1e71b166f54fcbc21ee9177010080402010145a11310b97312172e60295a0dc107504407ce5886c27840d9ec4f1156c0d4cb9383570285e193e7909e4c86e4cba26a1686b00b416167680c7afc1aedfed6d5ca9db7959cb5348465a6954f524aa511d4285654650837094a00e3680f59f06d236c287034e17b594d2d1330d9ab9141541614a9d4e8b214402728d72837096074721e8f00804020100804063318c2e931ac32b30cae902a29aad052b96ed7d5252a174a926e0ee301f39af643c31e0722bf0ad9cc4e4cdc22a4af9395367e4202b794f253919bb521301ee184633b65c8d2c9acd9a974869e54b96b99eea2941465a424961206acf1e34fd1b573699d9fc329e652d1a654e6130cc9d31613703959aa98cf676cd1ea60d192888672c846a100804020101aee389c725cca6abc0a8a9310a844b9d226c8a9a9552a72cec87305a654e723268df3c44c2d4cda6ef3ba3c136ee8a655cd460785a9557304c2d8bae5dc2e62fa4514033fe348755d808955e13e147fd1ef6bfc206274d8ed34ba0d9dc6e4832e76268ac5d7f2b24bfe066485c8a7ce9736e9da03ea1f065b2f57b15b05b31b2b5f5cbc4aab04a5e6f36b1618a996a2000e582410901ec0406f700804020101a1ed56098fe218850d760aaa37a595947389b325290b1353352b4144a9ae5d03580c2735f0814f3f97c569bc6094896452d352d64ae84c5594b5f38974def6c19f7c7c97ed77d0bd2be94c0a70706aa69a6f7aaf7d796d0efe81d230f06acd55da0f84ed89dabf08d438548a1c12b766f19c26bd15786e3936b29d5c88eacc734eb52cb8d193631e4fd0bfb2bd33a2f4cab16bae9eaebde2f333e13b47fc3dee85fb4bf52ab3e1d3154dad3154766627d5ea5e0c36317b07b294fb3f34c95ce973a64e9d365294bceb98ceb52d49412a2dc23f40c3c38a29b46cf9ff00a43e90c6e9b8d563634debabf568f08e0f438bb8880402010080c563783d163f85d5e13884945451d6272ce94b485a4f7a54e2c603e50da4ff00439d8bda3c426625371cc528aa277e3552152fa4c183f292e668035a36a31eaa5167a0782eff00479d99f05956badc2310adaba89cc27ce9ca19a6657cb9b2a522cfc2295e24d5ba5f424502010080402010080402010080c2d60c4e8aa5588e084cbab9a94a2a65a8099227843e5e525ba54e97b292a078b8b46189839a6f1a4b6a316d169d618ba8c4ebaae6f2f5fe0ef0bc42acb05d5ae6dd4da75a96611f48c613d1eae51faf47551d2f2c5a2aaa23f5e2edaa7e338eae9e5e2f86c9a2c329664b9f270c947303364a82e52a6cd584e612d490a4a421370358d28e8fef30ab1e23bbf16c71d4e62010080406bf8ad1f39c430c9cdf8897503e9f27fe580f3ef095b13886d86cb4ec0b0c5c9935353514ea33a7121084226052cd8126dba3d3fa23a653d171facab6889791f4df40afa6747eaa9de6637f36bd81f805d8ba0c3ea29b1da24ed65657a0a311aeaf19b366d793439e4fb0b957e746dd3be9cc7e91a47668e51f8b0fa3bf67ba3f45d67b75fbd3f872fbfc5e503fd1646cd7842d90dabd8ac5d7e2ee1189a2aebb666b56a573705b94994b36f99c252e9507b758d80e4fae66a262adddbf51cb5c554edc9f5b731ec8e17a2731ec80731ec80731ec80731ec80731ec80731ec80e14e1ed89e153dbfd9e64d3f4a4ad3fe301b32d0898854b9890a42c3292778301e1bb61e04708c612b9f804ff0071aa98814cd9a9cbee08f79ff2c797d23e8ac3af5a7b33f27d97d17fb69d27a3c65c5fe253feaf8f1f5f8b25b15e05f66b65449a9ab7c6b159642f9d4e1d042c6865cbd036e3af6c7460742a30fc65e5fd27fb45d23a5e9dda3947e33c7eef07b10b586823b1e0a6022021294a404a521291a2458405a01008040203c53c29783dc6b6929cd46ce4ea733e654cbaaaca49e897cb0992a5a65a66d154283cb5b4b4154b51c8bca97cb727c9fa63a055d2b0268a6d79e7f75f85f69f077fd1fd2a9c1c48aaabdbc3f5ad9a4e11e0c76c666d4e1389f25ee450e1f2c09d3b143495eb4921a64ca592999528e557620cc64cb201015a47cc7ecd7ecef4ae87899f16288df6d7cbcb2f09df5d5ecfd31f4a606351970e6a9f97eaefa5e8a92561f4549414f9b90a2932e449ce732b24b484a5c9d4b08fbd887cbbb500804020100804020101060359e4710f8f6bbe8527eef1b7570cb3c9c8e21f1ed77d0a4fdde1d5c19e4e4710f8f6bbe8527eef0eae0cf2723887c7b5df4293f7787570679391c43e3daefa149fbbc3ab833c9c8e21f1ed77d0a4fdde1d5c19e4e4710f8f6bbe8527eef0eae0cf2723887c7b5df4293f7787570679391c43e3daefa149fbbc3ab833c9c8e21f1ed77d0a4fdde1d5c19e4e4710f8f6bbe8527eef0eae0cf2723887c7b5df4293f7787570679391c43e3daefa149fbbc3ab833c9c8e21f1ed77d0a4fdde1d5c19e4e4710f8f6bbe8527eef0eae0cf2723887c7b5df4293f7787570679391c43e3daefa149fbbc3ab833c9c8e21f1ed77d0a4fdde1d5c19e4e4710f8f6bbe8527eef0eae0cf2723887c7b5df4293f7787570679391c43e3daefa149fbbc3ab833c9c8e21f1ed77d0a4fdde1d5c19e4e4710f8f6bbe8527eef0eae0cf2723887c7b5df4293f778757067975aabdd290992a4e395a794a9a692a79749d59d3d1295ff91ab2ad15aa8b4262a67fdcba8f941897d0a2fdda33687b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda03a953455926761f2d38f6204554f32e63a28ec0499932dfeafc50203b7ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda03a987d156555051554cc7b10132a644b993025146ceb48259e9cf180edfb9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed01d4451562abea694e3d88727264499893928dde62a682ffeaffa3101dbf72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda035cda7562583504aaaa4c72b664c5cf4cb226cba4218a547dec84f9301998ea73b40daddb1c4707c5f02d96d9bc091b43b55b432aaaaa969aa2a8d0d153d1d11949a8a9aaaa4c9a95a405544b4252892b5294ad00750a44ccd568e11799fba3ce78794fada6d1179f28fd780bdb39fb3b82a311f08b4547b3b5d5159cd30fc37089f578e2aac947289e6d2e55148aa9abca95a94844825294951e88245aaaa98b73fd7cadadd14d3337fd7ea7c38baf8c785cf075815061b89623b4f205263344712c2952254faa5d451a5b949f2a5534b9b3148940e698427a09e92980261ed65e316f84ed37dade3b6dce08899b5b8ccc78de378b6f7f0df7e52c8625e11b62f08c430cc2ebb1c968aac5e5d3cda532e54f9d2512ab267254932a6a25217269915133a12953d481315d14391136ede4f6b6f5e5e7e1bab13134678eeefe9cfcb9ced1c52bf08bb1c8c5f1dc0462e67e2fb3321753b4145229aa67aa925a65a268e54ca94b0954c44c065a1f34cbe40acaa68bf67370fc6f6b79df86fb4ed2bdb5b73fcaff00a96311e12709c513b373b670aabe462d8f9c0b14975526a682a68a6a68e7d5a84da5aa952a7a2634a47466212e950568cf133daa39577f94553f7d3313ca568a3b15cf1a6299ff002ae8a7eeaaef498b3320100804020100804020100804020100804063f122d229cf0ada1ffddca8a57b2d4eed37c31af6a28f62768769765b6d711d91acd95c2313c4049a5a5c3aaa5d64c914e674a4cfe7f4d52425265ffe5949b97dcdc78b54d31777745c38c4ae289e331ab48d94da0dadc364781399b49b738d6d55678475f2b56174f84d1c89655814eae549522968a5a95282e5e64b2c2dd9d652e93d9d230629e91561c6d44573e76aa8a62fe317d2dce6f7d2dc183893898118bef64f4bdff53e5a5b561e97fd23b693129b84cbc33c14cda8f18e831bacd9d5ccc6a9a509c7019fc955f2df81519329408e4d6ca59558cb09e9c71ce25b07acb7fe5d1896fb3545fe3ca237bc5e69d623a6dfc6eafedd545f9cd3f873bed69b455a5fbb2bfd25a9abf12c0e9305d8dc4314915586e0189ed0e49931557472b68824d38a7a7934f39153c82559e7954d94129ba739703a327f1eac2f76acb7f1b5fd236658954d18715cc6f4cd56f089cba78ef68b36097e1ab11abdabdbbd9195b374584623b2d4d5f3302a5c5f11994b5d8b2e9248992ea29a8b9a142e8a6971cb4ba85a833996239aac49ea6ac48f66266dc62d36ed469bf0e13a6baba7aba69c6a2899d2bb6be717988e731c6386bc9ab4bff481da2c37c156c7edde3db37b3f3f1ac73069d8de21805362d3e4ce5d0d3ca44d5cfa1a7e6757316a295b944c5044bb054fbbc6d89314d76e16899e717fc3ce63945f773e15eb8f1bcc478dbf1f2bf3d366476dff00d21eab652a7165d06c1556d06098061f806298d62c310934cb45363d50aa7948954f310a54c9e14974a5c248cd9a621866d69c299ae68e3189d5f9cda274f8da6f6e13aeb651566a22be138735fa45ef7f48fc2ceeafc3ae3320cec3ea7c1e4ef18e56d848d9218249c5244c19aaf0df74e4551a832d08039229e5117cb7652daf9537ae232ef39bcaf46fe9e36bfd94dfbd33a45314cf8ce7988f49bcf3b7dae5e83e0d7c212b6ff07c56aea70756018becee2f5d81e3f84f2e2aa5caada0584cde46a12997cacb39810ac89ee8bcd3d8a6a8daa8bfce63ef8945e73554cc5a69f9de22a89f84bd13968a2c72d018ead9bfeb384f6552bff6d3a03c87c20ed26d5d5f842d83f06bb358ff008a34fb454589e2b8e6d1ca934f3eb790c38c942696853572e7d385cc54f7595cb53245a2b8719f12a8e14537f3bcdb7e111bf8e90624e4a29e75556f2b45e74e333b6fa6bbbc927784ff00091866232b64e6e26adadc5f657c2450e02ac469514d433718c3ab7069d5f2e4d67fe44b5ca590272e5252191643d8df06acf14551117fe244c5f4bd11def0e76d7589b5f6457114f59179ecc61d51cfb5891197e1a5f4df5986df43e1c666378e6c34bada3c53662ad18f6d3e05b5980534fa4aba3e7581d02ea26e79eba6e5a74a0121528ca324b9e9022d15aa62988afd99c2ab13fc6a8a663cefb6ad29a2a98aa9b76a3128a7d2aa7345bc26262f78bf2f1e9e17fe9494753b378ded6625b0f8b516094b8548c6301aaa754c9e9ab95535a2824d2cf9b3645349a7abe5264b519699935390e61314c6359c1aed111ad735534c45f7cf178b4cf08f6b4d34deece8aa2a9bc772d5cccf2eaf7d3c7d9e76d6cd8f1af09fe14b08dabf04bb3b55b0db3d43336f310c4a9f1aa7f762755f214f47469aa4ae4548a4a7698dca12932540e4cb9867ce9a5169c5cbf626af85511eb1698d34bdf865d66d3d4cd7f6a23e313e1ce39e9e37d3e84e5a203968072d00e5a01cb403968072d00e5a01cb403968072d01e75b658de23807827da7c6f08a8e698ae0db31595986d56542f939f4f42a99297926052159549059408e31963d534d17874f43c38af1a9a67699878dec8f84dda9d97f07fb2db77b6d886d2ed5d06d3546034b8f5462d49856132f0746272c056214e8a1a6946753f389f2d0a1316e05c1b17eec6c3a69c6eab6bd55444cefa6d13c35b5afcdc587566c29c499eed39bc275d6d3e11af8c72663687fd22d1867b8d2707d929b8d56ed3d5e3c8d9896aaa992a555d16cf742a2ab94914b56b49a8981429d02594ac328ad19a39626f4e6e544573cf2d53d9cbce662d3699a77b5f9e9a5ed78ef658e57b76afcb24de99b669bc6916bdb8b1fff00489c430ae795543e0db12adc2f07c1f00c77686a2aab64d0545152e393172f91552cc42d6aaa9251f8b7ca594eb41090bde9c289c4c97d3ad8c3bf099ab2da63c2f545f978eb67b37fb1555fe37bc7c234e7cb8b77d86dbfdacda4f081e15366b14c1b0ba4d9fd88aea5a4c1f13a7a89a6aa61a8a49355967ca5272174cdcd992a4e5ea65575e31c2ed60e79df3551e913ff001e77e16d695d5fc6cb1b6589f1bcfdfc795adc6fa7aff2d05ce5a01cb403968072d00e5a01cb403968072d00e5a01cb4063a5cdffc56b4ff00bad37f793e0323cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d01a6edc2f36134e3fde93fddae03391d4e7798ed96cc6d2cdda7d9adbad8d5e173f1bc0696b70daec17135cca7a6aea0af5c89ab4f3b932aa26489b2a652a1483c92c1e90203b8a466a6a998eed5169f4eecc4f85e6f1e3c2cb4daaa6dca6f1f74dde6f8df82edbfda6a4a6c631aaaa25ed061fb53538e506cdc9da0c5e9e965d0d4e1c30e3452719a5914f594c53d29c3929190925252ca262629b65e3314d74cf0be7c4cf1e796d4d3ae968e16a6d335cce68e17a6dfdb169f8eb2ddb04f0775186c9c3d1230ec2f069547b2b5781c8c364d5d4d78a79d533c4e21157552913a6cbe88ccb580a27dec63d270a6bc2c5a227bf4514c728cb4e247c3b516f08570e6d8b4573ecd55ccf8e6aa89bf9e937f379c7f2198c53e21b39553a970cda7a497b3fb3b83e3d87cdc7718c1a4c9a8c05f2d4225504b5cac465acaf30975484e5290c7a6a6efc5c48afa4575f0ab17ac8f0eef0daf19626279efa5ad9c44f5314718a2699f1bdf8ef69bcc4e9b3d2713d89dad183785493b3f8c52e198d6da6312f11c12b11326c828909a1c3e926c89b512e599921734524d409b2c2952c2c2d3d20d1962557c3c3a63d9bdf85ef89555bff4cc47eaede8aa22b9abc2d1c6d392d1369d34ab5b6d3c776abb1be0c36bb07ae993f13f72e4d32b6b69f6965a538b6258b4f4caf70ce173a99753884913a72d1312852662d7d304da5e50939453a61fd89afe154556f9d569f08bf1b44cd516afed534c7ad3894d5f753f19b6dabe888bb220100804020100804020100804020100804063716b52ca3c2ae8bff752a295ecb53bb9318c3f0fc7b09c4f03c5a473bc2f19a69d478952e65a394913d065cd4679652b4e64a88749078473554c5516974e1e24d154551bc3129d92d9b40d914a70e61b09ff00eca0e5677faaff00aa2a87cbfc27fabcc523f099b8eb78d6bc4aaaae6b9ef557bfacc4cfce2195144534648eec5be5b31545e0df61f0e560caa3c104956cf52e2547839e7154ae46462f304dae474a69cdcaac02ea729f7a446534c4d39784d1147f6d31688f488df75bdacdc734d5fdd3bcfcfc9d11e09f6065cdc127526175985cec0282970ca19b4189e2544a5d0d13736a7ab55354ca356894d61519f7f12fa679cf35f199bcf9f3b6cacd3134dbcfe7bebbbbd23c1cec748da556d72a8ab2bb1dcb589a79f5d896215b2699388106ac5252d5544da7a613598f252d36b6968ac77669e1545a7cb95f7b782f54de62796b1e76b5fcedc5ae9f01be0bce1d86e10ac0eb5587613495787d0d29c5f1664d0d764e7146a3cede653ab934b4a59284b744088aa2ff000b7a45edf0bcda778e088ffeecdebe1ca26dac4693c635965eabc156c05761d886155b822eae8b15a2c2b0ec45136b6b56b9d4d824c3370f42a619f9de52d44e67ccbf7e551ac62d51566e39f3ff00769afca3c1114c453978659a7fb66f78f9fa7061f6cbc10eceed6cfa29c899370a2ada6a5da6da25c99b5699b5b3e9281587a04b9f26a24cca45897c9b2e490d934724c6787d8aa278466f8d5164d5ad3547bd963d29aa2afc2deadfb65f66b00d8cc253826ce50f30c3c4d9b51312a9b367cd9b3e7accc9d3a74f9eb99366cc5a8ba94b51262d354cdbc22d1e4ad34445fc66f3e6d8795ed8aac72bdb01d1ab9bf87c32fa542bff006f360301b55b17b31b6830d3b4187aa7d560d3553b06c529aa2a28aba8e62c6559a6ada39926a2567019410b1986af11975bf15b34e5cbc27f0dbe0d74f81ff070702a4d9d4ecfaa4e1d45899c6a4cd935b5d26b0e28a42e59af995d2a7a6aa6d434c3f845cc2ad0bb80d79ae74fb3168f085223498f7b7f8dfef86bd45e0728f0ddadd91c4f0eaea4a1d92d899d8956e13b3a8a6a89b5b515f8b53aa9eae7e2189d555cf554e6cea5de585390ea2044533acccebd8c91ca2999a676fedf9f35b48a6d4e97aa2aaa7799aa2f6f2de39eda5b86c747e08bc1e50e1f8b60d2b049d3701c669e652d5ecdd46218854e1889336609aa453504fa85d352b2c029e425a32fbd68ad74e7a3255ac69e7a6daef16f3299cb5668d275f2d77d36d7f3e72e74782dd8a4d3e012154d8ad4ab65f10f75301ada8c67169f554d53c972072d54daa5cfe48ca190c92be4c8d5316cdda8ab8c44c7a4cde6fcef3cf942b97b334f09fc3ee7a372bdb109395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb0180998761f8eecbaf02c5a473ac2f18c3799e254b9968e5244f93c9cd4679652a4e64a88749078456aa62a8b4af878934551546f0d430ff00045e0ff0dd9ec6364e461988546cde3b448c3abf06adc5f15ae922925a4a512a426aeaa7736ca0d8c9ca430bd835b127acef6b79bfac6aa53d99bc78c7c7777b11f067b0d89e19b3384cdc1d7494db192849d95a8a0abaca0aba0942509265c8ada39d26a52954b480b1ca7498667689aa66aab3719e5a7a5a34b786d08a232d39787c7d75e3e3bad3fc1b6c4d5d2e2d475784cdab938f5061f86630a9d5b5b3665452e14a5ae8d1326ae719854854c512bcd9d6fd32a89cdadfedc57fdd196d3fe9a74db4d933ac5beccd3e955eff007cb2d41b25b3b866d3e33b6187d24da4c7b68654b958d4e454d489153c8a5089732652729cd8cd4a258489bc9e7cb6ccc4c45339699a784cdfd7c395f8db7e24eb37e36b368e57b620395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb01d19737ff0012ab2fff00e1e9ff00b73a03bdcaf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb01aa6d82f3619207fbc27fb0b80c4ff29fb11f1bccfd8eb3d4c7bdfb9ba57bbf38fcde47ef3e8fef7ca7f23f94fd88f8de67ec759ea61fb9ba57bbf38fccfde7d1fdef94fe47f29fb11f1bccfd8eb3d4c3f7374af77e71f99fbcfa3fbdf29fc8fe53f623e3799fb1d67a987ee6e95eefce3f33f79f47f7be53f91fca7ec47c6f33f63acf530fdcdd2bddf9c7e67ef3e8fef7ca7f23f94fd88f8de67ec759ea61fb9ba57bbf38fccfde7d1fdef94fe47f29fb11f1bccfd8eb3d4c3f7374af77e71f99fbcfa3fbdf29fc8fe53f623e3799fb1d67a987ee6e95eefce3f33f79f47f7be53f91fca7ec47c6f33f63acf530fdcdd2bddf9c7e67ef3e8fef7ca7f23f94fd88f8de67ec759ea61fb9ba57bbf38fccfde7d1fdef94fe47f29fb11f1bccfd8eb3d4c3f7374af77e71f99fbcfa3fbdf29fc8fe53f623e3799fb1d67a987ee6e95eefce3f33f79f47f7be53f91fca7ec47c6f33f63acf530fdcdd2bddf9c7e67ef3e8fef7ca7f23f94fd88f8de67ec759ea61fb9ba57bbf38fccfde7d1fdef94fe47f29fb11f1bccfd8eb3d4c3f7374af77e71f99fbcfa3fbdf29fc8fe53f623e3799fb1d67a987ee6e95eefce3f33f79f47f7be53f91fca7ec47c6f33f63acf530fdcdd2bddf9c7e67ef3e8fef7ca7f23f94fd88f8de67ec759ea61fb9ba57bbf38fccfde7d1fdef94fe47f29fb11f1bccfd8eb3d4c3f7374af77e71f99fbcfa3fbdf29fc8fe53f623e3799fb1d67a987ee6e95eefce3f33f79f47f7be53f91fca7ec47c6f33f63acf530fdcdd2bddf9c7e67ef3e8fef7ca7f23f94fd88f8de67ec759ea61fb9ba57bbf38fccfde7d1fdef94fe47f29fb11f1bccfd8eb3d4c3f7374af77e71f99fbcfa3fbdf29fc8fe53f623e3799fb1d67a987ee6e95eefce3f33f79f47f7be53f92f276d364b68ab30cc128f119b513f10afa296248915720a93ce6595b4d32d197a20df30ecbc73f49fa331f0b0e6aaa9b4478c7e6db03a760e2579699d7ca5edbe256cffc0d77d615debe3c97a27895b3ff00035df58577af807895b3ff00035df58577af807895b3ff00035df58577af807895b3ff00035df58577af807895b3ff00035df58577af807895b3ff00035df58577af807895b3ff00035df58577af807895b3ff00035df58577af807895b3ff00035df58577af807895b3ff00035df58577af80c562bb2181c8142a972ab02953d9cd7d69ff00ca986cf38b6901d0f1670aff007efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff7efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff007efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff7efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff007efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff7efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff007efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff7efdbab3d7403c59c2bfdfbf6eacf5d01d7a4d9ac28d25296ac0f291615b5607546804d6101d8f1670aff007efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff7efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff007efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff7efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff007efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff7efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff007efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff7efdbab3d74076b0dd92c127d5d609b2eb159254863cfab01baa6ef139f74066bc4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c063716d92c129a826ce908ae44c4aa500ae7f5a7ad35293acee06039246c8606b1d2975c7ffcfd6fae80ebe25b15b3aa9694ae9aaa62733e55d6d6283b1dca9c603f397dd0ed8fd672bf3b6dbb35b2db51b5f2abe7ecf61c2ba4e1990574d55453c812f947c8e67cc97ae53a47274ae9783d1edd64dafb6f3f737e8fd1f131e66288bdbf5f830b8c48c4301c4aa709c565269ebe9328a8929992e6819d2163a7294b41e8a868636c0c4a31a8cf4ed2ae2e15585565ab7633dd0ed8d72b23dd0ed8651deaa462343268ea2b682aa8e9f11472b87cf9d2972d13e5f97294a002d37d44529aa8aa6622626637f05e68aa2226769747dd0ed8be550f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61946e9e0e6b395dbad9496fd6c424ff006a3c9fa729ff00c1d7e9ff00743d1fa27ff89a7d7ee97e83c7e78fb32010080402010080402010188c63f154bff1bffad701868040429494075a824380e6d72580f9cc042969424a96a0848d544b080b402010080402010080402010080e291f8993fa89fb20396010080402010080402010080402010080c9e11f8eabfd495f6cc80cec020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804063f14ff00635febcafef53019da6d2038f10ea27be03f20fdd0ed8fd872bf377d19e06369301a6d90f08b86e2b8c6c95157e27cc7dcac3f69aae5d3d154aa5998559d2b98852d28b1e8ef68f9afda0a2acf83319b49aaf97598eebdafa12b8a6716f68bd31117da7bfa7973f06e1b1bb49b0fccf1ed98dbada2d95914bb2d8c53ed26cdcdc2eb652f0f9b9819f328680a95f850920a793054ae911ba38fa6518d1931b022b99aa99a26f1daf099fbefe10ecc0c954d5838934453396a8b4e91aeb1aeda47ce5b8601e13700c6763a457d254eccf3dc457892b6db01c5f1891850e52a9672cc9a9994d54b9e8cbd14104009617664f9fd37a06260e3e49bda229cb3117e5b45e3599bfaf9ddd9d13a6538b44d716cd9a6f1336d35b5e6dc29cb1ff1af5367fc24ecb730d94d9caddacd9e9780cdd8332b1aa79955481f120244b452ce98a5664cd4a1531a53837258d9b7e9dd0ab9af171222acdd6f677fb5798e7b42bd0ba4d14d385178da736de16bf2e3e6e948dbfe7147e05b15a6da8d96c4a561b2152b1cc1f11c4e9a8d48c47992d082b3916a92b4a4a92970c54a40f7c0c6b5f448a6be93134d51788b4c45f4cd17f3bfdd13c9c74634ce1605a634aa6f13fd3396fe517f5b6ef19f0f58ae1551b5b4551866d5f8ce66502055a796a6a9e62ae5661e6bce294250bc998f59d437a8da3d6fd9ea6a8c1989a72c5f49d7b5a6f69737d3769ae99beb6d63dde3bf8dff005130f11f743b63dfcaf10f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8651e85e09eb395f08fb1d2dfad884bff0018f1fe9f8ffc157e9ff743d2fa23ff0089a7d7ee97d95fe90e76747815f0907696661f2a8fdc4afe626b96844b35dcdd7ccc23942019a67e5e4c6b999af1f9ade22ba267de8b7c7f2bbef7a377f5db8f978bcfbc31e21b0b8a23c1be314388ec462bb473310c06af02bd3cfda2aea0f74e9d69f176a50a5cc4e750566294290a46604a012b4eb87131d234bef17b6f69bda6afb11acd5f633d9c9133f54d6d6cb55b3776f14f6a22f6fe26d146b78c4c9a4ecc452572e87c39e2f3ab69b64b1fda8aada59b4d85e0b5342a56d4d1e0e9d9f13245751574da869143caa57288974fc9154d5e69a26a9698c306a98c3d22f55b12f6d262d5d7973cebdea62888eeef44da78eb5d11354deab4762d7f6af962726ddd99aab9de7b3570b4c60306da156cf621e1c71af0dfb215c8a0a8d9dd9cc536b30dc567e175f42ba9995788ca91875221155364f3727939127940904cb54c9f94af32b7aa8a63a2534cdaa9eba62f3a66aa69c1d7ece59d759ecd334eb396ab5699aa71b35a63f8737b6b6a29cdc22f333319af6ef559ad117887770fa4f07147b31b0036bf17d8ac4bc1455d6ed2d657d353d4d2d4eca61f8a55cc1514186ca9aa690b149297532e5152520cc0e94215c9a13cf8b139a22a9bcc61d59678cd59e9b64e3788cd4d36ed6489fb4bd154554ccd316abaca2f11b453187544e7b69ad5145555f49aea89de619246c6609b7d81f809d97db3d93a2c4b6e310d9ea0c4369f68f15a44ccc5e8f09c1d34f326c9e733d0a9f2ea2a6aea254a58cc1402e7a810b488ec9cdf589ae74aa8b5555b6cfecc4659b5b3455545af4cd3465b5aa57a4757561d5453ae1d75574d113ee4ef579c5196384c555533c19dc2d3856cd7864db93b3541b1fb7bb5d8e516298a4f3412e4d3ed06153e9e551a64e1789d719b3c0915a72f259c49ca53d5981ca78b0a67a998a35b66d784cce24ce5abc62f3e946d165a70e9eb626b9b44cd3a6f31192d9a98f76d4ebe35c6bab5cd85a9f0a54587f867a5a6d94c7266ddd7e3184ccc4b119f5783e713ebb0da3975f3e8259ad9d21028e48e52964cd5e5cbc9214a2ae5009a6989a669a66629eb27faad96999feeab9c6944d716898a72ad89355334d53ad5d544dbd9bf5989111c272c6d3b55565ab8d5154e0e9ab766f0eff47ac155b6b251b2e301dbb992f678ed1d7d2aaa794a4dae98bce2a39c4e13274aa74cd13159c939262ef2fa47a7a64dabc098d272e06dc22d8779f298d7c299b4da6f0cfa344446353c2d8dbf1aa68ae63d73edc73469c25ec1b65b27b0fb7fe13363693c5ac1312c530a914bb4f8ded87369332b65d151d43e114b22b13f8548aaab4aa638514995266208fc23c6585465c4aa769a2d7e17aa6f117d35cb14ccceb1313d5ef178462f6f0a237cfb72cb169abe39a98f18aaa98d61a17827abe47c28e292abfc51c576bb12c576b13b40845014ed66174927149870e995f5caa99ab5514fa54d3a244be425a32725914a02f6c298c91111ff0097133545ed9ef44554557f6a666a9de3b956589a6d95d2aafe26bbe6888fe9c954c551e11a44f8d7ace69d7ea7c63f154bff001bff00ad7154be5ef0c4bc4309db3f07db6d8552e278a55ec2d0e2f8854e05878cf32ba827d4e19455d2f9201e6aa5c8a833a5a1eeb408535f571557acc694da22f339b365f2edd345e785399ac5335d192f11ae6bcfd989fbe99aa3ce61e5fb378be37b1b3368b03da5dbafe4fa9316da6c5b10da5dbb9a68949978acec2307c41186c99989c99d4c996b995b51c9828cc51232a482e636c7a630e8c28a3588c3aeda77e631eb8d6daebde98a662a999bdf49be74d39a6bae23bd553a71a699a3f0b534de748bdad79a5cfb47b778bed1cad8ca2dadda646c963936abc1dd74af073cde964ab169d5d8a51d4564f28ab9736b0229e70294a654c4196659e573661134511f58aa2dddaea8b5ef6a630ef13a78ccc66eecdb48bdd5c4d28dfb3344f6adbcdea8b72eec53569ac66bed677e6ed8ed56d2d2f84bc3f1ec7f08992a9a56208aad873514bee9618aa4c6514f40a4514ba797528933e9197326544d9a16a52152b2cb53463444554e15531ff9bd1e6fca66b89ae99e1196a88cbc74aaf3368965d33b98b4ff00f2f17d63ab9b4fafe31b3d4bc20ed64ec1ea303a4fe5065eca6cee278c5652ed26db361cf84ae4d1f2f4f87f29592a6d24833963f1950851f783a4b4919d1544cc5e74cb54c4e9daaa2b88cbe368cda46bfc3f0aafb4ce939759cd4c4c7b91345efeb397ff00ecbed6606ae66caabc36ec5d4e0753b2f8962f53cec63c7084c94ed005ab0a2a97558bcd92a26661ea9425a421684fe1554ca04b0117c1bc62e26d6c93e93d651f3bdedc7bd1ade66298937a299bdf58f58cb3b7ca74f8f09fa3a0b900804020100804020101ab6d5565761fb198fd761989e1b82e234985d44da0c5f13564a1a69c9904cb9d54b364ca4298acee115ae74f87dfc2f78bf2d275e0be1dafabe7ea3f097b593b02d919b8262b5d8e0dbcf74766f06c6ab25e195664e3f4f5ca4cbae4cdc324d35254d20a44d4ce0a4a5295229d360b5a9f788be2444c5a2629ab9766999eb3deed554da68de2fe130cf3658bcdbb3369e379aa989a358e115766af6a336bdd96517b5be11a8eb716c5e93173b441757b5f41816c5f33a797294ac15139543f86968e70b9eb9b232939c20a14d9338ce78631a7abaa78f575d5ced34e34511a718cb3ac6f3311698d6fd18b4534e35146d135e1c4cf857839e7cbb5b7af85bd3bc1763943b41b369afa4f0892fc23cd9ab42ebf12473048a49d324cb5aa8f92a09527920877c93b34d4bb29463b71298a748d6234bef7f1bc69fe3111e0e4c3aaa98ed45aab6b1b5bc2d3ac7aeaf488cda100804020100804020100804064f08fc755fea4afb6640676010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402031f8a7fb1aff5e57f7a980ced36901c7887513df01f8f5e25f840f90fb4bf5655fab8fd77ebfd1bf9947f947e6fcf7ea98dee55f093c4bf081f21f697eacabf570faff46fe651fe51f99f54c6f72af849e25f840f90fb4bf5655fab87d7fa37f328ff0028fccfaa637b957c24f12fc207c87da5fab2afd5c3ebfd1bf9947f947e67d531bdcabe127897e103e43ed2fd5957eae1f5fe8dfcca3fca3f33ea98dee55f093c4bf081f21f697eacabf570faff0046fe651fe51f99f54c6f72af849e25f840f90fb4bf5655fab87d7fa37f328ff28fccfaa637b957c24f12fc207c87da5fab2afd5c3ebfd1bf9947f947e67d531bdcabe127897e103e43ed2fd5957eae1f5fe8dfcca3fca3f33ea98dee55f093c4bf081f21f697eacabf570faff46fe651fe51f99f54c6f72af849e25f840f90fb4bf5655fab87d7fa37f328ff0028fccfaa637b957c24f12fc207c87da5fab2afd5c3ebfd1bf9947f947e67d531bdcabe127897e103e43ed2fd5957eae1f5fe8dfcca3fca3f33ea98dee55f093c4bf081f21f697eacabf570faff0046fe651fe51f99f54c6f72af849e25f840f90fb4bf5655fab87d7fa37f328ff28fccfaa637b957c24f12fc207c87da5fab2afd5c3ebfd1bf9947f947e67d531bdcabe127897e103e43ed2fd5957eae1f5fe8dfcca3fca3f33ea98dee55f093c4bf081f21f697eacabf570faff46fe651fe51f99f54c6f72af849e25f840f90fb4bf5655fab87d7fa37f328ff0028fccfaa637b957c24f12fc207c87da5fab2afd5c3ebfd1bf9947f947e67d531bdcabe127897e103e43ed2fd5957eae1f5fe8dfcca3fca3f33ea98dee55f093c4bf081f21f697eacabf570faff0046fe651fe51f99f54c6f72af849e25f840f90fb4bf5655fab87d7fa37f328ff28fccfaa637b957c24f12fc207c87da5fab2afd5c3ebfd1bf9947f947e67d531bdcabe12f45f04bb31b61877849d8dacc536571cc36824e212f97ada9a1a89329199d29cd3168090ea20073ac78ff004ef4bc0afa1d714d74cce9b4c7bd0f47e8ae8f894f48a6669988d78784bf4de3f3a7d88c2c5ae3430060eed7e30080100ea1e01010c01240b9d4c04c02010060e4b5cea603118c7e2a97fe37ff005ae030d008040186bbceb00201b10e202183bb073be0260100804020100804020101c523f1327f513f64074aaf07c36bab709c46ae9533eaf0399366e1331454d2264e94a90b9894be5cdc92d48721c05280d4c226d378e316f4bc4fdf4c13b5bd7eff00cd92804020100804020100804020100804064f08fc755fea4afb6640676010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402031f8a7fb1aff005e57f7a980ced36901c7887513df01e731d4e741213a903be0260100804020100804020100804020100804020100804020101d79f799868370712c39c7ff009d9314af65a9ddec3c94af834798460d8e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af834798406171b952f250fe0d37a8bd87c0cc80c4f252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f3080ebd1ca9669294996924ca43961e4880ec7252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984064307952f9dd70e4d2dc948b30f2a6c06c1c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af834798406231d972d3864e2109073c9b81fa64407629b480e3c43a89ef80f398ea73bc03c366cacec566613b552f0bd9bdb4a6d8ea1c466e2be0eb68720a6ada79c252cd5534d98264ba7aa93c814cb99325292cb525d2ef1cd895538754e257dcb6bce98def1f8c5e2f67461c6788a234aa674e53c2d3f1d397ab023c29e3d518d619b2b842a6534ff000952f67f17f063367d2242a9306a991ca6312e680954b3368a552cc983393d29d2d3711db345518f56155bd15ce698e346f13e19aa89c3f589def6e5d230a2b8daaa6d11f6f6f8444c57ca629aacee615b55b7c31ed9bc5b10da7955981e3fb6db43b312f6611432252114742714e6f39750c672aa10bc3d21c14a0a0b1415f4e39a9cd16beb9a899f845e3e31bf9e9b6bd38f4c76ada65c9eb9b244ff00dd78fd5abb378df848da7f0675db7983ed9c8c4b6a768e8264cc1f63f91c3a45061b522a12834d2664c95cb9a99290649e753948e54f49294d84da630e9e39b24ccc729d6acbc369ecdefb46bbab34d3d6d51b4539e22fb5e2f14cd5c778899b5b499b707a9f832c7fc61d95975136bf19c42ba82b2b68315998cc9a2915f2eaa92a572a6c99e9c3528a426511942a48ca4005c978deab4c4551b4c7fb71e3789bf8eda308bc4cc4e931f944c7a4c4c4c79bd0228b100804020100804020100804020100804020101c13bf1b867fea586ffef64c52bd96a77647c37a6a13e08bc23d651e278960f5d84e01896214188e1b573a8aa25d45252cc9f25499f4ea44c002d00900df4368c23bf4ff00553f7c6eede8f4e6ae299e2d4fc334bc470fa3d92dadc3e7e2f4bee662b82cbc6714a4c7abe8e5d2d1cdc4e99330ab0697351478999e1664a9338660953a33a82506f4f671e3955311cf9c445b85e66d354777bd3ddd396899aba34e99a6289ab94e94de6abc6b392233c53b556cba6696ab45b4f8ecaf0b18d6258ed0d7d7e0f2f6ba6ecce02aa4da4af9669792d9e188cb42b6669d08a2a844cfc32ccc9f31538a9685253c9a65e5cb0eacb87154c6b54625b8df2575c6d36cbd9c3d262f79e319a5ad585555555698cb464bf0b4559237f6bb75ebb465bc6f4da75ed8ef08f331cc5fc324ef09788ed8ece608300c0b1a9b83cea5c67035e07266cfc4106828e6ca4489e6a16895212a9921655513b9412494a0251b4e15ba2466d6beb6dd9beb334e165a69da6622abc5ad17bc4d54c759ae79ff008d78d299a277da229cd7aaa998b44cc4e6fb3b5e725db2e1983ed14ca6d81d8edb0c6f69703c231e9fb4f8a269c63d5c8c5e448933133b09c32b31aa7a9e7336648a5a85cc9894d429ccb6cf365cb515f3e24d57ed6f4e155378daf15d1113ca72d3565d6262a9ed5af698d2269cb9a9d3362514c44eb331d5d7356f798cd5d19b4b6589cbb68f31c436d76cf19c2fc186d24dc431aaf4611b1db2b8f6de57d162d53849c39189d6f4b18387d22e4c8c639d4aa49d9e967272ca4a7a095198507ab2d7f59d632c555e1d36b5f2d537cd87699bc5e6aa68cd3ad3de8bcd336a74baa8c3a2a8a66f14f5daf3a22d14d77e74c4555c47b5b4cc68f7bc1e93dd5f0b38cd5ecc62db413767708a7c42836fa755633885461f3b16aae6d369e8f0ca39d50b954f32865e6336653a25a519c4b056be5392e6c2a6f8757b937b73be6d662ade223b54e93beddc5b12bed445bb713133ca29cb3d99a76bd57a6bd62f68bfb7af53c196cc53e23236fb19a1da3db15ec86d04c3846ccc9adda3c5f109bc8618b9d26a713a6a8ada89d3e9955750a9894195318c9972a6258acc4627fd0bfbd19a3c29b76758f7a3b7fdd14cc44d3378ff00ced36a7b3fdded7f8cf63c2aa6ade261a760955886d56ca7803c231fda9c7e8b0ec5fc1fd5e3b8ce33498ad6d05654e25454b852644ca8afa79b2a7cd6456544d54b52c859199614131af4fae28ab16b89b4d34de36b78d59769cba46b134f6b58d61bd147b36bdf172fa76fb37de2f6de2d569a4daf7e4462bb4d3e8bfd1e3c20e2deec51d56d52367a4edae21231ac425d3cba9c4a88a534ead9b0b145353535539295cdc99e53e76696e9e9c7c0cbd3aac3a74a6f89a77af968aa72de7bb9629cf1553de9a32dad5ccb8b06acdd12f9af6c9ae9ac67a6335e349cf136b69ded358a61bbe1f2f10c0fc3b4bc34cfc629b04da4c0318aea4933b1baec5e9abea6456d019abe67593548c2b99f3928949a74944c4cd209472484ab9f02632574f18cb31e5dabcdfd69d27d2f69b6d8d4cde9af85ed3e79748cbfdb3dae7bf7b5f5ec6fa941fd27ff00a66c547826d9cbf77fc256c7ec66278ee2b83e015982e2d89a28b0cc42af099d88d752cfa392941aca19b4f51969e5542d6652660cd9829408444e1539b3ccfb392dfdd9f34dbc32d31ca3373982bae698a6236aa66f3e511314ff00776a74d7b16bda6627118eedb63bb298862584ecf4cc367ece783da0c16762f2b179d575b8a6292f15a99b4a84d3d74ca8796b94241cb32726799f30e43918aca8ed5a6769c48c3f8c61f6bcbf891f0ab55312724556bde9c3ab139ded9e72c78f626faf66f4e8f3899b7b8d6c92bc61e5eb718f732578515a30e9d5334c998ba7db0a2a6a333b32f2f274c898c096e4e5e600a52f1314e94c46f57534f3efd596f6bc5f7befaed774635111154fbbaefcb066b98e3bcc729b727a349db6f09f3e76cb6ca555060db35b558fd46327ddfc4a8662e8a651e15c8aa5ae561b4f8929699b549a80532d55a72a50b597eac446b54708cb35551bce95c51a4da2d7bc553369cb78a3b5de617b44df5edd34c4edbd135dedaed31345b4bdb3691a4f050ed3ed7a71799e30e29478c520f0813f09c1245049a8a0994f472b0ba9a912e7f2754a4d5e8964cc4b66e9104e4c98f5b6c3c3aadacf5b7fec9c588d3fb3e16f6a26aaad85154d58f178b53d57faba8bebbc77fcf7d72559230127c326dd0c0b07c59543b395f55b7380516d0ec950cb4d553cbc3d3578961d42287129fcad499ca6c4d244f972e5de5aff000568e9af0b2de2f1334d7854ccc6b13d6cd51788e519349bf6afecdb5b4444d73c29cb8b369ef5f0a9bfcf8c7b1b5eabde3db360f1ac7b17a1c6646d2ab0e9d8be038b5561b3eb30e93369a9a7a65645cb989913a754ae59cb30020cd55c3bdd8674cc55874d5cf37fa6baa8f9e5bf85ed79b5e72cdfc4ae9e14cc7ce8a6bf966b78dafa5ed1bc41720100804020100804069fb518b629806c4e278ee0d42314c4305a0e7a8c332a94aa9974e913674996125279599292a4cbfcf67045a226a8a6d35694de2f3ca9bf6a7d22f2bd144d73969ef4c4e5d6d19add9bcf08cd6bcf27947f2918f63f57271ad91c36971ca7afa0da99be0f24a6ae7d3cac4d186228254954f066269d62a2b0cde4a6285a565295273ac9557a66227499a26678da3aca622622fade898af789d72e9aaf19668bdfb39e88bf9e1e2553adaf1698cb546bac4ccde622daaed86dee2b89f83eafaaf75261c695b21b7a2bf10a29388604692bb084ca9265f305d654e59d21672f2866cc6524aa5282577ae25519e229da69bde76d2ba29f0b46b3e31b34e8d873a45716fe2d1131c6d561d756fe569d272cde278433b336bf6c17b53b3db37b473e866d560d8fe1352ac4303155229a7d2e2583e2d3050cf4cd9b34cd9b2174b994e405a55297c9a09617c6aa29b551c2bc5a6639e5c1cf136f66f9a34bceb17bb97a2e69c1aaf6bce1e14f95f1e9a675e5a77b4bdea8b69aedde07b6e76d36f70d563bb478053e178262f87e1f8aeccd6494725d1ae1355368560d5552a72a952996f50d242f3b7228ca5ef34658d7bdf2da358f5bf9ee573dbb46daefbe936d7f2e1b6af668a040201008040201008040203bf83ffb6577fc2a7fed4d80d86010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402030f8f7f35cefd791fdf2203969b480e3c43a89ef80f398ea73b58c7f6276376ae751d46d46c9e07b473f0f7e613b11a1a7ab5c90a20912d5390b297203b44445aacd1bf34ccde2dc099b2b433b6ba836c674f9f32b309c327e1785d0fe0f9bc8455ce9736a66a404e7e526721293753009b00e5ed4cdb37dab7caff7df5f28455178a63ddbfcedf75a6d6f7a6f7d2d934e0982a39b04e114091455736be8da9e58e4ab27f286754cbe8f466cce5e66658e91cea73d2311f826f3f1fc36fba3e0c24cf07db053aa319ab9bb13b3b36ab68d065ed054ab0ea5332b9054165354a32de702a48532dee018a64a72e5b766f7b70bef7f3bf14e69bdf8ede9b599ec2707c2701c3e9f09c0f0ba3c1b0ba40452e1b45265d3c896092a39254a094a5c926c2349999dd4888864621240201008040201008040201008040201008040704efc6e19ff00a961bffbd9314af65a9dde998f6ceecfed4e1b3707da7c0b0dda3c227292b9d856254d2ab2996a967320aa4cf4ad04a4dc5ad1cf34c4fa37bb0aaf075e0f955580572b61766cd66ca4a972765eafdcca4e530d9524bca9744be4de42506e912d80dd17a6a989bc6f3a7a6df74cfc655aa2269cb3ddbdedc2fcedcf48f84324764f658ed10daf3b37841dab4c8e6a9da6e6923dd0123e0b9d65e5727e6e668ad3d9bdb4befe3e7f08f826a8cd6bf0dbc3f575b16d95d97c7e4e254d8eecde118d53e332a449c62456d1c8a94554aa598a9b4f2ea13350a13532662d4a4053849248b984ed6e17bfae917f3d23e10989989bc6f6b7a72f2d67e2c3afc1a78385ecf4bd925ec06cbab6524cfe752b667dcaa3f73d350e4f2c9a5e4b920bb9e965784eb313eeede1e5cb7453d9bdb8efe3e7f08f843bf8b6c4ec663d886118b639b2581e338a60052ac0b11aca1a7a89f4652a0b49a699310a54a6524286522e0189a6662acd1dee7c7f5ac9ece5e1c9c187f83fd82c271eabda9c2b6276730cda7af33555db474d86d249af9c6a0e69c66d522589ab330dd4eabef888d22d1b15ce69bceb31f95beed3c9955ece6cf4cc08ecbccc070c5ecc9a6e66767554b24d0f366cbc8735cbc9726d6cb95a22a889dff56dbe09cd37bf19fc77f8f160677833f0715180526c9cfd80d979db2d87cf35541b36ac2a8cd049a82544ce954bc97248592b574825ee7898b5354c551546f4ed3cbcb92234bc471dfc7cd929db17b1f51b454bb5f3f657059db59452f92a3da65d153ab10952f2a91925d51472a91956a0c15a1237c453d9bdb4cdbf8edbf3da3e104cde2dc213856c6ec8e038a62b8e607b2d8360f8d63aa52f1ac5e8e8a453d4d5a94b33546a274b42573095a8a8e626e49d614f662d1b13acde77fd7e51f07671bea507f49ffe99b01a66d0ecaecc6d751cbc3b6af67309da6c3e54c13a550e274926b252668052262513d2b48500a21fb622d098aa634e6e99d85d8933b67ea0ec7e026a364d0256cb4ef73e9b361b2d2d95144723d3a430612da2626d37e3b7a2b962d6e0c90d9dd9f0e46058682a4d6cb57faac9ba3129a27d727aba554d485ce1efd57539855da8b4edf96df05f34eec0afc1a7839998149d9799b03b31336669a7f3aa7d9e5617466851505de72698cbe482fa47a595ef09d6d7e1b782b4f66f6d336fe3e7cf68f83332765b6669eba7e294fb3b84c8c4eaa749a9a9c411492533e64fa792aa7913573027315cb92b32d2a25c24948b44dfef99f59de7d78f34445b6e3111e913788f289d6393a743b0db13864cc56761bb1f80e1f3b1e9f2eab1c9b4f87d34a55654499bcbcb9d525081caad13495a54a721571788f6629e113788e113ce3e11f05afadf8cde3d2778f5e2d8645252d29a834b4d2698d5cd33ea8cb4251ca4d5000cc5e503328802e6f0e16fd6f7fbe667cd5b6b7e7ff1f74443b1049008040201008040203ad4801a3a504383250e3fe511131718999b29b2d370f91844dd9ac2266134b47370ea5c3154720d3cba29c94a26d2a2514644c95a5090a9606520071684c44febcbf28f842734fcefebaebe7acfc679b869f63363e930c9182d2eca6094d83d35354d1d3e132e869d34c8a6acff006a9099211904b9edf844b32b7bc4d7dad675d2de9a69e5a47c20a2668eee9adfd75d7cf59d7c64c1f62f63b67696450e01b2781e07454b546ba9a8e86869e9a54bab28328d421129094a669964a738bb5b4899999b5f86de1e5f19f8a234bf8efe36d75f847c1cd846ca6cbecfd662d88603b37846095f8f4de5b1cada1a3914d36b2682a509953325252a9aa798a2eb26e4f13111a53978722759bceecfc020100804020100804020101dfc1ffdb2bbfe153ff6a6c06c30080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010187c7bf9ae77ebc8fef9101cb4da4071e21d44f7c079cc7539c8040201008040201008040201008040201008040201008040203ab544a4d011a8c430f23f6c9314af65a9dde9fcea7f97e81183639d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e810187c66a6719748ebeacf7161f06b80c3f3a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf4080e1a7a99c9a79002ec10902c38407373a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e810192c22a67738ac39ee51246837199019ee753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf4080c6e2d3e6ae866254a705725c30f854c065e9b480e3c43a89ef80f398ea73bcdb69768b13d9bdbad884d4d601b23b569acc22a242912c0918b265f3da29dcab67099b264544b20a9b36460ef14a6ab57544ed96f1e197bd1eb4ce6ffdb9e7acd51d8cd1c26d3e556913e955a98e79fc9a2e07e136b64d251ed5ed256d62f03c6b06da9daac3e82449a712e5e09875451730b72627aa72a92689a3f09d698b0a764645554e1e15ea8ed4531331c6f55e72f2bd3a513c34bf396d4e17595da9dbac8a238ed13133e5355335471b4c3afb31fe90986ed072af85e1eb974d886034b5d598562f2714a7a791b453665351aa74e952a584d44ba99625cf921c23305098b11ae5dbc6aaa9bf0bd3467d278c55dd8da7370daf84cc65bf85e238f7a226fcad139b8ecccecef874c0b68b9354bc3d787c94e2f8b5257d4d54e1251230bc2e8f9f7bb44ad297a69f2a753149d3f0c93988119515d334c4ccdaf44d7e56aa29cb3caaed44da787936c4c0ae9aa69b4df3c511a6f337f9766b8f19a6dc5c9b5fe14f00c5b61f696b7c1b6dde1388e31861c3e5ccaec2e7d257ae8c56d6caa7130cb509d2dca4ab2e7490e3488aaf334c471ae8a7fcab88fbaece26222a99e18789547f6d1331f3b35fdaadaedb1f0458828e29b473bc21e095fb3f8fe294b2710a5a4a6c429eb304a6455253cae19229a4ae9a720942b348cc9531ce4160ab12d4d51ed4539a27877a9a6d3fe7131b6913e6bd38779a275b4d714cfad355578ff09e3cbc5ddacacdbdd88a6d8ada9c5f6e6a36aa5ed0e2d85e19b4bb393a8e82450cbf7667a29d3330c553d3caaa97cda6cd4e513e74dcd2df37499437c9971a30b789cd17e37a68aaabf2d72eb1e3a4e9af3d1567c29af69b44db85af1a7c2749e71e2f3bc1fc306deaf633c2461d59574d53e107dd3a895e0d67f272258550d755d5d2524d5a02021668154155326f40f425df31d78aac59faad156d5e5899f2eae31b36da5e899a639d74f8baa888ebaad266889f9e7eaeda6b6cd96f3cabbdf97aee33b5d8f53ffa3ed66dcd2d7f27b4a8d8bf75e4e27c94a2d5870e151caf2250657e32f972e5ec68f43e90c38c3c7aa88d22312dcf4cf6fb9cbd0af5e1d3356f97e7668fb2fe1131f0ada6a3c4b6871bc4e9309da3d95c370c9f8a61d498563a462f57264cf35144692423994c54cc92e6f3742d404dc85d295c3a351d64c471cd89fe34e1678bdb6aaf1336d34c933a4cc2f3b5fecc4fae6b4e5e71f8ddbe49f0a988ccda1a4a099b1b3a9f672a768aab663c665d6ca7556c8138cb992a91282a548519050a52949295d825497547260627596be99b35bfb335fcb4a6663ee8d266f8d4f577e39725ff00bf25bcf5ae2ff1bef11ada7c256d4ed06d4f82e9b43812b05d88da8c7711a7a4c5b9ecb9b3abe9a930ac45694d551f24934e26cd9099d2b24c59ca9fc2726a390df0273c669d2f879a23cf265f5b4fa7898b4e58ab9d35e5f58998abd2f16fb99195e13f6851846c453603b2955b698e6d3ecfd5635ce2aeba970f972e5d0aa9d330d5cd97232a55339c809e4641e930ca94bad348c4fe17596ecc514553fdd1336fead3c2275dacd3130e231a68dbf895d3fe355bcf2c7acf9c955e1a2aaab0f4e29b27b1d331fa3a5d93a4dafc715515d2e815228b10953a65253c849973b96a8573699981c88481d72484c5fa4cf539e67bb4697f4be91cadbf1d7489678344e24d14c77abe1eb11bf9ede5acc43da30aaf18a61786e2699664a711a693529944b9489c80bcafbd9e36c6c3eaeb9a794d9860e27594455ce2ff00177e33684020100804020101d4abff00f03ffa861fff00bc9514af65a9dd6f0bb5f8de11e0cb6e71bd9dc6a6e018ce0183d76254388ca934f3d42651d3ae7a5065d54b9d28a5650ca74e9a31bc611dea7faa3d62fb3af0298aaacbcdacf854c6369b6793b278f60f8de3d43493312c2e97189122970c9f83229e7d749454cfc5553a9e6d7cb4aa4cc5212aa658095315e54e650b5368c6b4ed336d76e3a45b5cd54da29be99b2c719bf3c551f57cd3bc5333a6fb6f37d32d3deaf8e4cd6bcd9afd27841c655e12f17978e54ed4615b29438fcec0307e6f4d837b853e653e0e2b95cee6cd1371754d5a8cd57292422482844b37cf9f3c3ae9c99eae315ffa2baa99cb6d6f1144cf6adc6decaf5515cd5314eb14e4bdb866cbdebf3aab8a6d17d262ae336c16c2786347846c57c284b57842c3767700a2c1f0bc6b67aa681740aabc1b0e9932b054cdac5564b9f2c547252254d9c99d28a6472a9410e0a95ad5856e8d9eaecd79e736d368cb8734d3c637cf4ccc5ef315659d22d5a6b89c6b53ac4d3a473989989abcb5898f0cb788999866305c5fc21e3945b1db3955b558c6cfd46d14dda2c42976b66d061d2b199f8461d3d09c339c51cfa33494f32a25d54b9931e952a094b144b5a95931aea9cd113a55144d531c2f1553117e3ddaaf5444c76b69b45a7588a724d74eb4e7a698bef69a2aaaa98b5bdaa2629bc4f6275bcead1f13f0bbb695949e0c71a958a6218652e27b3f8062db56ac1e8e86761d473b13ac4ca99518e73d955153270e9a89737905522c2c6598662824058da26271b48ec553465bdfdabccd3788ff00a96cb14fb39e69cd68a95e951d4d3545ef553d6c4cc5bd8b45357f4df355571cbddbda5ecb4959b4733c2a56e0d85ed862b8f6012282b17b5945369b0d14781d5cfe6ebc2e9e96a24d24a9cba854a54c5aa54e9939a5e55af205cbe531c3899a6a8f855c735f68e168899bde276a77bca6b9889a79de34e196d3799e379aa22d698f6b4dadd1d8393b638a4cf080a5784cc6f1ed9f9337dc7d99c66b687054d4cbaea154d9789d5d39a2a1a695325a67914e94ce94afc249986e95261897ea736d33ac7f4fafbdbc70c9966275d2bb62db8446bfd53aff00a62deb334cf75aee13b4fb6db5bb3be0670e95b5f53b3d8b6d66c5d46d2e3fb4d4b4b87ae7cfa9a29186a04a32aaa9a7534b95366e22664cc9281e884a0a0131b74bec55895536b511a470bf0beb7b693b4c4cdfbd16d75a688d627f9996fc6ddadb85f48de2637d35bc564edded3d723c06ed8ab13c6f0ac33c22c9c18e3986737c317b3b4ebc468d533929b3d520e272e7cf9eb44ba7226f26579127accad71703274bab0a3bb19f7ded4d33a45bda8b66ab369962be3961cf879a7a3e6d33c65ffbe22a9b5e749899b5af69b70cd2e6d96f0cf2b6afc364fd92a1da2c1cecdfb978c49c3f0042e59c4666218456d2c89b535014d3258999ea04894074a5ca54e72140233e8d467c0aeb9dfb131fd13d66beb6a27c22aa22622acd0635514e25317e713e35693a7945e386b156f1112f79c63f154bff001bff00ad719aef9f3c24edbe33b17b65e0f2a0e214945b0b3c578dbd13d2974cb9b368a8a86a1330a49409357568ce7304e4512740d3876bd535776dbded69b5557ade289a623deaa17cb7a3b31335de36f77daf85f379533e53a6ec3f857dbac58e3185af05a4c7b6af10c6b13a9c0307aaa8f7269e8f01914586d748953ea114b52b3508978ac841065175a94ea094bc698d873834e1e6df2555573a4ed8b5d16a784ed68da2d4de6abef4e354dfb39a229f29a6f7e769b4cf19bcc696dbbf8df85bc6f1ec2f00c4762309e6d8254d6ec6ccc7f1baaab44aaba697b418851ab99caa3122a513d469a784ce2674bca26032ca88b451444e2e5be9154d3e731466e311d99bc6bbdef788b15c4d313131dacb33f09aa9dfc269abd237d5359e18712c770fdb29783e095983d361b26b1780ed3a795981670ec4d3874f15026d2a29e52e6add721289d3b3cb752b93232c529a73461cdf7af03d68c5aa36fedd2bf77345a66f12cfa4d53451896de9a3135e555144fe3b796b0f4ada6db0c6f06adc1f03c2f6729714da1da3abaa9581d35462069290d2d1c913e754d4d4a69aa1728df2a65a24cc2491ef732935a7b536e3966a9f28aa29f5be6a7971d74d74aa6298bced354531e3334cd5f2cb57c239d981c4316da2c2bc286cae1d3319c5d1826d373a13e86b2461c708cf2a8553534787d448908afe779e519df875941962735c2009c298cf553379ecde3cf3d3f2cb33131bed317b548ae6d4d33ce6227e13f8c472fba1ec104900804020100804020101ac6d3ed078a9b2989ed2ae8d55f4f8152f3caea742b2af9b496554ad3d156654b9214b096e93359de1c63c6622fcaf36bcf846f3e0b534cd5a5313355a6d11bccdb4a63c6a9d3d5e7d5fe13e6fba3595385613896314186d36d19c36868152277bb2bc165d1f29c9239254dce2a66cda79610bb94a890a7435735ade34cceb7d2d89145e74beddad227b337889d1ae4ecff75117feac3aebd35b5ad6ded39b4bc444df5ada9f09d8acfd869f8e6175f4d8762953b2bb5d5f20e11572f11a29157844b9625954daba1a69e67495aae832e5e556744c429834d7dfcb4ebd9bf0d7b544693af3b44ede0746a631222fa5f129a7c62f4d73b7a72bedadaf7ca2fc22ed0cfc7b01d9fc5b0c1b298b5263387ab16a591552ebe55561388e1b89cd9055379095917cb50ac4c42474548e8ad682e6d8bd8b55ece6c4a67ce8c3cfa71b6b4ef113be8c3a3debc2aaf1ae4a263fbb169a6627c6d7bef4daa8b4df6d8fc18f84c9be11a555d578b75382d01a4a1c4b05ae519cb9753478889a64a56a9b4f4c94554b4ca79d2e519a8485a1a6a9ed392623b5a4ded6f48ff8f382a98cd68d639fadbfe3c393d5a2a10080402010080402010080c9e11f8eabfd495f6cc80cec020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804063f14ff00635febcafef53019da6d2038f10ea27be03ce63a9ced376ff61703f091b2b88ec86d0f39461b88992b54fa5589551297226a674b5ca9852bcaa0a470d233af0e2ab5f84ffcc794c5e27c27834a31268dbf5ff1bc78989ec26cee2f3a8955b4ca5d15160988ecfa7084909a65d0627cd84f96b4819dc268d094e550604eb66be2ff00122acdedeff3fcd5c1abaa8a629f666263d2263f16b933c14d2d76c7ed06c363bb61b4db4980e39448a1a74d7cca154fa09529f935534f95472a62e6a4e53ca5419aa74a49def5c6a7ada6d5eb3789bed333169e168de384414d5967b3a45a62dc2d316b7c192c03c17ec96cced4ccdaec229174d892b04a2d9f9527a1c84aa2a1ea7269080a0b5a532d2b39988968601afb4e24ccd73fccab34f9daccf2f77ecc5a3caf7fcfe33cd9fdaed98a4db1d9ec43672baaeae829b10e49eb68ccb4d44a5499a89d2d72cce44d96e172c75904764635d17b70b4c55eb4cc4c7dcd29aad7f189a7d2a89a67e52d670df0618449afaec5b68f18c636f714ada09d8573cc7574ca4c9c3ea72f38a6934b454f474a84ceca39457259d4c01510008b4d3134cd36ef6fce7fdbcadcf729aa69aa9aa275a76f09e7e7e2e8613e08f0ec3aaf67cd76d56d26d1e0bb21344ed93d98c4a6d22e8e866a1265d3af3c9a693535069d0a29946a674ccbadd40285af39b3ceb573f38b4f85e6379df7e72a6588a724694f2f29bc47944db4f08e4e7a4f03bb0f495184579a29d558b6032b189184e313a63cf932f1c9f367d581942659633d6104a7a209e25f1ab062ac39a3855854e14f3c9444447ae97f36918939a2795735f85e7f0fca19dabd84c22b3c1ecdf06b32a2b53814dc13dc135495cbe762979b735ce1665997ca64bbe467ddba3a3a4e24e3624d73a4cd59b4e77bb3c18eae2d1c22cd6e8fc1060f2a7d657e2bb47b43b4d8cd755e0b553b1ac426d272e118055f3ea1a542296969a422489d98a809799598f4b469c2c4eaeacd4efdabf8e6a268f9535696b26758b785bd2f76c276030632e8259a8aecb876d0ceda593d3977ac9f3274d5215f83fc50350a61ae9d2e3cf461c5397ece6ff5e7bffdf36f45f16bcf9afed451fe8c96ff00e9c5fd5ac60fe06b06c1b19d9fc524ed36d354d0ec956d6576cbecccfaa90ac3e88d749a8933a521099099b3101354ae4f9598b54b60942824a92abe0c7574e5ded4e4d7ddd2df0cb117de78dcc5afac999e739a7cf799f59d67c65b2e13e0fb05c197b3d329aa2ba62f66b04aac0280cc5cb39a96ae6534d98a99965a5e63d2218861adb845316c19c2f666288f1ec4554c7caa9ba6bc49ab133f1cd555eb54de7fd9e2db6fe053179b85d06ce6c34b9d2e8d1b2b4fb2f578ccfda19f87f39a7a44cc954a9c4a8e96826738448135535e4cd92a592a94a694a3138bfc59aa2748aa75e36f188e76e13369f6b685b0b13aa8a6aa7bf4ccdb86f69ef79f85e9de99bcbe96c3689186e1d41874b39a5d053caa796ae22520207d91ae2d79eb9ab9cddcb83879288a79459dd8cda1008040201008040752afff00c0ff00ea187ffef25452bd96a776cfb53b2d836da6055fb35b412aaa7e0d8a2392c429a9ab2ae8553651b2a52a7514d913722c5949ccca162088e79a6fe8e8a6a9a76612bfc1aecae29ee1271218d57d3ecf2699343433f1bc5e6534de67304e90bada75559955ab44c48567a94cc5120392d178aad566e3f971f09f1def69de215f6326d1aeda6fbc5f7cb31a65dad78b5a65d8fe4f764fc69f1cbdcf9c31c3379c96acabe666af9bf33e7868395e686a79bfe0b97e4b94c9d1ccd15a74fd6d7dedcafc6d6bde79cdd56bfadedac5f9da758bf28e506d1783cd91daa95b412b1cc326548da9a6a1a3c7572aaeae9664e9186cf99534881329a6ca5cbe4e6cf5974104bb29c5a2734e58a784559e3fabb3affa29f85f73f1a669f49bde2de37974eabc18ec9d6e0b4381557bbb3e970da85d55057af1ec655894a99352a97332e286b39f645a165251cb6529b33444ebf0b79c6f69e717e137da39411a7dfe53b5e394f95b79e737e3c4bc146c1e293f0d9d3b069b4a8c2e8e970d9343435b5b41493682856574b475749473a4c8aa9124a959254f42d202941994a074eb6aeb3acbdeabe6d75ed7bdfd5e3bedca11963265e1698f49de3d7f5bcbb5827838d95d9dc7715da3c1e5e2f4b88e3751535989c956338acea2995156419d3bdcf9b54ba34acb0629941b44b08ce9ecd39636fce734db96b79f59e69afb5566e3a786d1962f6df4888d79432f4bb2781d06cc4bd8fc3e4d561f8149a634926552d655c8a844a3a94d6ca9a9aa4acbb99826677be678ad54c4d314f08888f48d223cad16f24dfb533c666667cea99999f8cddab2bc106c21d9ac1364d3458ac8c1f6712b97821958d62f2eae9e44d4e4994c9af4558ab34ea4324c9337936091959296b4eb5669b4f0d75898ded313a551a469378d134d7317f19bfaf38e53beb1ce79cb2f51e0f765aab17c1f199d4d5a66601c87b91850c46bd38548552a4a69e6270a4cf1419e503d05192e0804174a48b45539e6bf6a6facebbc5a6d7daf1a4db9cfbd37ce28a6288a2222298b69fd3378f84fdd1ca1b0ccc170c9b8dd1ed1cca50ac66828ea30fa4adccb745355cc913a7cbc8f90e75d2ca2e43f46c758535cc5334c6d55affdb9adf0cd57c569d7d3f1ff0085318fc552ff00c6ff00eb5c546918cecbecfed166f77709a7c565cca3a8c3e6c8a81ca4a5d2d5ae4cc9f29728f41416aa7966e1ed6df113113169daf13eb4eb4fc26568ae636fd7060714f069b1d8baeaa75461f574b55595aaafa8c428310afc3aa8cf994b268a6354514f91352899229a52152d2a0856504a5c3c5aa9bdafc2263d2aaa6b989e71354df5453368b4787ca2d16e568d34e73ce5d5abf04db03595f85e20ac166d32f064e1a9a1a3a4aeaea3a26c1e6f2d87729454d3e5534de6ab1f83e525a985b4b45a31273cd5c66667d662d33e731a5f92b34c4d397d3d395f798beb69e3333bcbbd2fc1cec94a9b8daa5d1d6a69f684cc5627857ba55fee795ce9c2a26cc9541cbf35913264d19d6b952d2a512a24f494f489b444729a663c2699bd36f089e1b6da68574c557bf18989f1898b4fcb8eeed639b0db3bb452512b13955ea5c9ad5621475b4f88d7d255d354ae5190a552d5534f953e9d2a94a282894b4a482435cc4445ade17e3c266f313ce2fc26f116a6ddda6d31a5fc6df2888d396dc3c79cde256c2ecf4ac7a9b69548c46af14a17f73f9de278855d3532d520532a6d3d2544f994f2a6aa4ba4cc42028e65dfa6b7b44da6679fdd7bdbcaff00747245b488e5f87dedbe2124020100804020100804075d32a5cea412672133254d95926cb55c292a4b1047688ad74c55169da534ccc4de1a952783bd90c3f09c1f04c3b0b9986e1fb3f875461582a692aeae9e6d3525589627265cf95353382d5c924f299b3821c2817316abb539a77b5bd34fff0018299b539636be6f5ed7ff00955f1f27553e0bf6213841c11784cda8a05d2e2b473b97adad9f3a6cac6d4158972d533672a74c5d4283998b5958dc444571156fcadcb4bc4f0f18bdf7bf9caf4e2d54f1e3156baeb4c4d31bf2a66d11b5bca1cf84f839d92c1448e694559513a9ab9188cbadaec42bf10a9e732e9d74b2caaa2b67ce9cb4cb9331484a14a280f60f1356be979f598cb333ce6da5e785a38433a7b37b71888f4a6acd11e11156ba78f3964366f63b01d911568c065d752d2d5e56c3a6e215b53494e941514cba2a5a99d36451cb198f4242109660cc03234a6dfaf8ee5539a6f3bb68804020100804020100804020327847e3aaff005257db32033b008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201018fc53fd8d7faf2bfbd4c06769b480e3c43a89ef80f398ea73900804020100804020100804020100804020100804020100804075aa0665e1c93a2b11c381fdb64c52bd96a777ad73295e52fd1f7460d8e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f74061b1aa49625d107574aa18e9f0530f080c473295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee80e0a5a496aa5a6512a754b413a70ee80e7e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba032383d24be755a975309720eede66f6764067f994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba03158d52cb97874d582a70b93aff00c644077a9b480e3c43a89ef80f398ea73b52c4b6a9186ed76cf6cb2e8f3a71dc3715c45588f28dc88c31748828e4f29cdca73c77cc1b2e85ed4cf11337da29bfcecbe5ecc4f3aa23e3154fe0c2609e177c1c6d10c466611b534d554f8561eac5aaeb8cb9f2a9b9823f1b512aa26cb44a9c8927a334cb52b935745795568bd5d98999f677f5bdbd26d369da6d36445333311cf6f97cf58d3c5d2c4fc32ec561583e0d8ed40c7d58763b89a309a229c0f144cfe70b9666a49a59b4c8a82829eaa932ce67e8bdd969cf4d1c6abfa5af7bf2dbf19ecde62becd53c29b7ce6222d3b4efbedc23b5689d986dd6cc78cf2f63955b51271e9f9852c99b45592a9e72d1279c2e549ac5c94d2cd9a995d332d130ac004916311476af6e1f9dafe317988bc6974cc5a2fcff001fbbd584a7f0bde0f2b2b6b70ea1da0e7f5b414d5b553e453d2d5cd71877fb64a96b4ca28993e4db3484133438395888ae78eafacf66d9bd39c7870bed13a4da568a266bc9c7365f5e533c3699f18d6345b657c2660bb6747b278ae0b2e6cac2f6ae82aaba48c4113e8eb258a6120948a75ca289a9fc3f4a6266e4d0a0cc0a717aed4cefc267d22623cf8f9eda6aac6b4dfed453f18aa77f4fbf5898b4f42bfc34ec1d06cded3ed41aac4e7d16c8a244cc6a87dccae915a845516a7989a5aa932262a54d63966b7276574ba25a23d9fb5565f5d3498defac69beb1689998bccd33af845fcedcb87e1cf4666a3c27ec451d460d49578bcda4a9c725534fa5933a8ab659932eb267254aaaecd24731e5e6fe0e5f3ae4f32c1487502227dacbc7f5a79f86eafb39b87e5bcf94719d980da6f0bfb3b83e3186ecee17508c5b1ca9da0c3703ada7e4ea534f2a6564d409d2c56094aa65544892be54c8e533b6a00bc307f895d311b4e7d7fa28ae74e7daa724cf09d37d16c48c94ccd5ca27e355311e57bde39ef0d9b6d36bea3667dc0c3b0ac195b41b47b575a68301c2ccf14b233cb9132a674eaaa929986549952a5294a2996b56812924c5359ab2d3bda675e14c5a26769e33111e331b6e9b4659aa7fe66787df3e513e4d1abfc2dd76034fb4d47b5980516cfed16caa709adad42710e73864ec2b13ae1466ba4d62a4d34c69196672899925194a46a939a22ac4a629cdf6e9a67c334c5a7d7f09d39cd3873336fb15d51e392999b70d6f6e7a5513be8d991e14b65b10c3a75760388d3d6aa8b17c3708c4a96b05561f3244cc4aa654894552a75319ceb4ce0a92f2c226d99612730d6989ab2cf0aaff0028bcc5b9f389b4b3998d79c45fd39df94ebac5f666247841d90a9da556c8c9c602f1c4ae6cae4b919fcdd53e44be5675322b0cbe6cba8972fa6b9299866252ea29604c568edc4cc6d1f84e599f188abb3331a44e93aad5465dff0057d63caf1ac5f786a9887872f0774382631b432310c4718c2304992a5d56214186574fa69a66d48a57a5aae4453d5044d2cb3266299b8da22fb693da9a623fbb69f2e3a6fc2f3311335d134ccc4ef4c4ccff006efe53e7b71b444cc6d323c20ecb556318660122aaba662d8ad2c8ac954830dc43f0126a50b5c835aae6f9288cc12979535265a890433da2ded4c729b785ed7b5f6dad3bf18e70a4e917e7f9dbef6e90080402010080402038277e370cff00d4b0dffdec98a57b2d4eed93c2a63fb41b29e0ef6c76a7664e1beeb6cce175789c946252674fa75a68a4ae7ae5a91226d3add611941ce19defa4611dea794d5113e533675e0d19eacbcdacf84cdb6da4d8ea8d8dabc3b11c191418f627866193f04acc2ab674ca95d6d749a79a518b4aab934b419254d2a473892bceb0109752808bd14df1b26f7f4b5af79bf1e797499b4c46f16c22a89c0cfb4dafcf5b7662d1ac5ead26ada989cd3a532c4e1de162a312f0a18becb4dc5a8304c1307c5d781caa2a8c0f159d32beaa4e169c46665c784d938652cc69b9934ea44c59972d4a775b4ba61cde8cd3caa9e5ddae68de7bddd999cbb46fdda96ae2a8aad69f675dfbd113c3bbbc5319bdad38d37e4d92f09bb41e10717f08186ecf8c1b04a0c368308c4760b1dac9732b93574588cdad94710aaa793514cf2a6f312b9084cd49e4ca16b502aca9b7573f568c5eeccd731698da98a70ead63498aa62bd6f6cb3a4c5e99baff00c5cbbd397871aaf544fa44c447dad6626d312c6607e117c206d4e13b2f87e0d51b332b68368aab1f5d1ed84dc3ab2660f598560b5024c9aea3a04d7cb9e45772d24cb3ceca326698954c4e4cd9555eb168b7626a989df4aa29b5f4cb9af15ded368eccc5f58be588899be6a73d345f6ef5135cf3be59a6aa378bcf6b4d9ace2fe1fb1cff00fc4f57429c1b02a7dbfc2b07af561f5b475788f38abc4eb24d34cc3c57d3d452cac3392130e4a8aa96b4ce55909cc82956b134ce3cd14eb4f62db53334d79a6faf1a69a7364dead69a7557a4d13834ce6efd338913cb361e588f4aaa9989ab6a22d35692f554ed2ed953f8511b1b3712d9ec5f0bc470aafc4934d4787554aacc1512e6ca9587af11a85574e953d356a54d4a409520a8cb564cc10b29ce8bcd3547b511bf0bdf4a6638cdb5de3bb3a46684d79632cf39db8dad39aabf088aa222d69ef46ba4dfa1b1d8df851c5eb3c20d06218cec7e2b2767791a0c0b6828b07c428647bac10a995d2a7489b89561a8954c95c94954a9c8fc27292cb290622aaa7aa9ae3c6de311a4cff95e9e7d999da62f5db172cf2d7ce75a63e16aa7c2aa6dc586a0f08bb77b4db3be0953b3fe2f619b55b7bb29376a316acaea3aaaaa042692450f2b4b4f4d2aae9e6a4ce9f89232ad539591292e165a36e931d5d55cc45e9a22f6beb3ca2f6d369bcda6da76678694e1e9313be7c9e5ded6dc7bbb5e37df4b4d24f858c6b10aef0338a5055e154f81785aa7c3e753ecbd4e155bcf25a6ae826d6cd50c7055a6852b9411d192aa7cf318849b822d898593a4d585de88cdaeda444da6d3debd568cb1ac4559a74a2a6144d55747eb2dda8cb7d6f179aa29ab846917d267798b6f543b9e0ffc2b566d96d962986d4d7d261b8726b71ca1c1767d780e2d2a74ef712bd5413272368274d4e1b52a264aa6aa9e4cace84a802afc1ac9a514de8bf19a62ae5a4db84eb311788aa622d154c6b6989aaf8d6a6bb46d7cbe755a667cb69b46f314ccf1b53ec18df5283fa4ff00f4cd8a8f1fdabc7f6b17b59816c56c6ccc230dadaec3ab316c571ec5a967d7c9914f4b36453cb932e929ea6854b993a6543e633804a506ca2a10a23366fb397fd79adff6557f4f499aa9a62227bd55ede54db34ffaa98b69bdefa5a7af5fe1264ecc55c8c0f1fa3adc6abf0ca6a29bb69b4984d226561986f3e98a914f3a7caa8aa5d42513972d472c9e5cca48cd34a50ca334f6a74e35451fdf36ecff00aa9ff28d54aaac91333c226a9e16a22faebe113e3369b434ca7f0c35787554bacda75d1d3e014d2f6f26e25364c95f2b9766f6869b0bc3d32de61199726710b7eb2d88ca2d116b5313c6628b70bd5893688d66dbda35f8b5c4a32de7844ebe5d5e799f4b7af06c949e1a303c4e870c5e0bb3f8e6398f629575f472f64289586cdad96bc2ca456aa64fe7c30fe4e4f2b2dd42a88256948751689b5e6223698bdf68888ab2cdef69ef69a44df7a6f4f69966defa4c4c53eb5539e36bef476b5f29b4e8be1fe13aab11c4e75154ecfd5ecbc8a2dab99b3a2aab853d523104cba29f52664834d540d3fe282b34d4aba3662a51e4e915d3928aa67bd9ff00d19fff00c27d62636b553344cd538b16ee64d7fae70f87f7f09e3155ef9a88eb4bf0e7b3070d9b8bd4609b4547413a86562bb38b552ca9b331ac3675548a4455e1f269a7ce9a47295727f073532e734c4fe0ef179a6623589898aa9a66394d778a6fc35b4f1bd36ed5b4bdf2f6e698d6d154df87622f56be1f0abd999889b7a0ec9ed4c9dacc3eaab118562381d4d0564fa0c4708c4532454c89f20874a8d34da892a052a4a8144c5063c5c08de98aa369bfca6699f8554cc72e3178b4a99a33554fbbf8d31547caa8fba75bb67824804020100804020101a76d563759b35b058fed0e1d46710afc0f06a8ada3a2e89e52648a733120852e5021c5fa62da5e33c5998a74dff5f737e8b871898b4d33b4cfafa78f2e0f3a91e10768e454e1984d61cb8c67d9938b61957432a4d4c9978dd4d74b9815329abaa6994a229192941646572a999fa3d35d1ad36da6bc4a7fc303ac88f3cd6bced3b4445b33866baa307371ec7976b169a27e5336f4bf2750ff00a42e05876cce13b43b53b318cecdcfc53dd49e707993b0e9b3a4e1d83cd4caacc40a855a50b972ccd40e4e5954f51244b9530078ca9b5592dedd34d5e59ed6fbf4f0d66299bc4698754d515cfbb5554f9e599dbe1af089d226632cd5e9f81eda526d06d16d2ecfd06118a64d959c9a5c4f1d988928a1354ba7a7ab4d3ca3cb72cb519356853f25945c120b0368a672e69d3978da6aa66de1134fcf4bcc5596d9b5b785fe3b7ebe3c2fb945524020100804020100804020101dfc1ffdb2bbfe153ff6a6c06c30080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010187c7bf9ae77ebc8fef9101cb4da4071e21d44f7c079cc7539da1e39b2f5f89edaecd6d2489d4c8a2c1b07c730fa994b52c4d54dc4d742a92a400929ca9e68acce41b860776389873315fdaa32faddad35c444785713e911547e2d1683c186314345b0d4f3e4e058ba365fc1fd7eca62785d42e6a296b2b2a9186800b4857faaaf994c0b397300a0c8376ede995d38b898b544766b98b4785eaf869316b33c1ecc51c32cdf9ffcb1187f837f08387ecdd0489751864eadc036a6971ad99d96acc6710afa5a4c3e4530a75507bb35348aab53a95326a0ae9d591c4b1d10f18477e8aa66f31355ff00ba9aa9f5b66bebbeca65ecd74c69154516fedae8ae74e17cb6b46dbf8255e0e3c22cdf08f846d6d75761f8ad060db495188d3cc9f8d629fcd7554553448a69385720aa0a799468a8b2d0ea9ecea5cb72f1d1e32d579f76a8e7bcde27c368a6d1e7af1db1aacf168d3bb6f488cde779cd55e76d29db6da293c1c6294e9f0769e7187ca1b255f8dd5e27c995fe1062922b25a0cafc1a732b3d5052f336fd633a689c969fff006f185fddfc1d7cbf873f18d19c4cc4ff00eecd7e97aedebda862767bc1eedce1db35b0f862f10c2307c6f62b65f13d9ea3c56966cdac4f2d369e92450d70973a9a48b1a5cf325a9dac015c5ba466c4ae6b8d2a9a263caa9aa99df97677b5fc1be057451d9aa335318b4d5e74c4577bf29ed739d38b4ca3f03be105784f847a3af9f84caabdb7d96a2c2a454cfc7717c6a62311a09954a0b9d518853899c8d473acc723094d9532d5d68d299cbac7b38d46244785334ccd37dfd88d7c7c35cb7b66f76aa66748ef46f11b46f3d9db4f1d33fb47e0a71fc7f6ca5ed75761184e2b2f1ca0c269f68b67d5b478ce1d4f475385cf99393325f31a712f1497f86708aa932d8a031016a02b8511455fdf15df94da98db6d32c4c4e93cf85ab89335516fb3553e7137e3c2f133130e53e0e3c2126ad1824a9fb3476429f6dfc6d4626a9b563119b266e27ee9cca334e249932d72e6ad404ce55416900654125427a3f626899f622b8f3cd4625313e99f6f5be96974899ab365f6b26fc32e4bfc72de396daeef43dbed96c6f19aad92da4d969d87cbda6d8aaf9957434d8805a696b29ea69e652d5d24c9d292b99239444ccc998942f2a921d0a1158bd35e68d749a6636d26699e53b4d313e36b5e2ed22699a669abce3faa2ff18b4cc7adf85a744c4fc1dedced22b6b769f1656cf506d6e314f8350ecfe09267d4d4e1d494b84623ee8ffacd5aa4489b3d73e6a959b2c8400025237aa2b34da22dbf594553e544e911e97d79ceda222bf864c4a63cf129b4ccedca9d3945f8d9a9ed460bb49eee2ebb6870f40daddb9c7b6339860581cac4713a1a6c3766f1795553e754626ba3a69495b4e9d315ca265b21202731731be05a2623ed555cfae1e5888e7ddf3bd56b776f4c5999a66676cb9639cce6bccf86f1a70b4cdf78a764c07c0fd7e0db795b8bd4d15163183cfc6b15c6b0cc6978f63126a28178b4a9e26a1181659b864c981550b472c148250a729ce1d5cf8747f0a689e534df7bc4cdf69eef8daf7b5f4bda36c5c4bd59a3ece9e34c4470df6bebe4b52783ff0008a8f05b33c18d4a766326cf50d1526cae3d2aaaac1aef736a254ca735b4a691a933cb909130cb9b3ba44901ac75ae734d354ef4d544db84e59899e1a5eda45b463688cf4c776aa7123c633d3311a71b66d66f17b6d17d3318b6c56d9629b79b2bb5d454b856cb4fa6e6476b716a1c6abe64caba79289bcb6173b0e3452a96b65679a792a89aa42d0f98241e896176312a9f666febd9b44fd9aa26dac5e669a6299d36b57566c3b71e13cbb5133e778d2d3b4cccbdbe0a9008040201008040704efc6e19ff00a961bffbd9314af65a9ddbc6dcec94adbbd94c6f646a719c4b02a1da0a699478956e1bcd79c9a69e932e7ca49aca7aa9691310a29272661ef48378e798d63c26ff00afbdd3457344de376031cf0713768e9305c3317dbbda6a8c1b0e4520c5f0809c265cac615473933d332ba64bc3d339256b427944d2cc92822d94025ed78cf9a62f69898f0aa9d62af3bdaae5788d2d789cedfc3c91c62627c69aa2d34eb78b5af17b66d6f7bda62b37c1660f3b6a8ed24dc63179940baf562ebd8d52a995851c5174470f55632a9cd53aa9d4419427f2255d332f392a8a5344445a7588cd6f0cd79abcef9aaef5fbd3e16be69d6da66b66fb596d34dfcb2d3b5a7b311b5efae625fe8f7e0e2a64edbcac0f0e1b10bdbec2e8b07c6a7ecfd361f44a4d251ce993549929349311feb426f2750169505a1294b74634aab99a3270cf9fce7b3689e74c65bda7deab8552a534d3137b7b334f2b44f1898b4c4edac4fb34f26c159e0d27d6e178353ccf081b532f1fc066547b9db6b2d1834bc4534f548e4e7521968c3534064a92136e6ae0a52a7cc906295c669bf84c4fda899899bfac46b4da74df59bcd1d98b70bc4c784c44c46dbe9356955e359f0b61b10f019b31532e86870dc5f1bd9fc0a4e09866ce62db3f46ba4994f8961383ae6ae8a96a575b4d55509c9ce26833244d97314165d4e1253b75d3d666fb515c46d4c5516b4c445b6b53a777b31a5af7ad5445544d33c62aa6678daaef7c75d7c65b06ccf838f15f69b69768e976d7692ba56d5d74fc4714d9fab1852e939c4d422520a66cba0975d9644a94897292aa9212900318c688cb465f3f3d66f33e7e77d34da22d6afb55e6db6f2d22dc76e7a5bb579e337cbe0db194db3db1e9d90c1318c4f0fc92e781b4639acdc40d4d54c5cfa8ad599d4f329973e6ce98b98a2a9052544f4622b8cd4c53c2229a7d298888f946bc7d537ed4d5ce667d6a999f9708e1168d9a5c8f0314747b2fb23b39876dc6d561d57b15433b09c1b6b257b95ee97b97509968994133361eaa554b299127a5cdc4c7969567cd98aad5dabaaf56b1316aa35b551e36b4fac4c4c45ed3acad4e24c5fc6acde556bafce749bc6bb6916cc54782dc367cfd95a64e3d8bd36c86c77b9abc1bc1fca14030c13708634331730d21af3c8ad08584f3acb990970ce0ebd7d738d38b54deb9cde99e99a6adadbc4d5bdfbd3ca9b654d114e1f571b69c66f369beb33e517e76d779bdb03f05f85e03b4671da6c7319a8a191538956e0db2b3954bee7e1f578c4d54fc427d39453a2ad4674c993159674f5a539d4109486033a74f19cb96267851789cbcadd9a6da5e229888988bde71633cc4cf3bff007659a6ff00099f0999999d6cdc71bea507f49ffe99b109798ed56c349da4c4b07c768f68318d92da3c0e554d35163f851a4338d2d5f266a2966caafa7aca6992d6b932d7d294e952414917745e2f6e3bf8db6f85e6de73cd37d2d3ff001faf1d3d62184aff00053458955c9ababdabda399ce29a86976ae405d12518ea30e98a9b4eaafcb480cb56698acdcd0c8cc93954e909014e9e5154556fb5197b5cefd9a779b76634def4aa9cd137de626999fb337ecf976aab718bcda6faa957e06f64abe4cda7ac9d894f93365ed0a32f2d2d252769313958bd4cc4a912c292b91534e832083d11d6cc6f133569e592de1346b4ceba6facde2627959b4e25ef7e3bff0086498f5a65cb51e0c15514f81ccf1ef69646d26cf4daa5506d9489582caaee42b5294d452cc929c37982a52f9341bd366cc849cce22277bc69a5bce2f13f7c45ad6f9cdf38da62758bc4f94c45b86fa4cf7afbf8536ef4af06f8623139b884dc6316ab96bc6918fc9c3269a5e425567319941372e5a74cd32e7a2615ad2a59657532a5d3159a299a69a6da5335ff00fe99af1e57aea98e3aef6828bd39fede5bff00664b4c78f62989e1e179bb5ec3fc096cfd149914b3f1fc7f14a3c2a9a928365e96a6651e5c230fa3ada6ae45152aa4d2ca5ae5a9745212a5542a6cc299606705c9d6712aaa35d666aa6a99e354d13334df871aaf68899cd379dad313acf8c5716e1fc48b55fedc9e99846074982ab175d2ae72ce355f3711aae50a4e59b35284282192964b4b1abf7c529d288a7845ff00d55555cfcea9f4532f6a6af7adf2a69a7eea619982c402010080402010080c256e154f8eecdd5e0956b992e9718c3d747533251026265d44932945054140280559c188986985893875c551bc4dfe0c055f83ec16b76826ed24d9f5c2be77b8d9d095cbe4bff029b553a96c6593d2556cccf7bd99b7ebd64e9f66aaeaf5af0fab9f4cb1a78fc184d17a3270b531fe35c571f38d7c1ad4cf03b870461caa1dacda1c3310c1a7e24ac1f17969c2a74ea7a2c567a2a6a70e08aba0a89132472b290a4aa64b54e1947e159de947622988da9a69a7faa28d29bf8c46978b71e332b445b378d535794d5799b784ccccda6f1f08b7a0609b374380d5ed2d6d1cc9f3276d5624314c4b95524813c51d350b4bca94b2793a44162f77bee17ab12668a69e14c4c47ad7557f7d53e85b5f87ca2ccfc6692010080402010080402010080efe0ffed95dff000a9ffb536036180402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080c3e3dfcd73bf5e47f7c880e5a6d2038f10ea27be03ce63a9ce4020100804020100804020100804020100804020100804020101d6a9565561ead72e238716fff003b26295ecb53bbd5b9f7e8bd3fc2306c73efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc2030d8cd63cba33c9f56a1f5fd14c1c3b60311cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc203829ab32d353a7937cb2d01dfb3ba039f9f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff080c8e1159feb35aae4f5972433f0333b3b6033fcfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe1018bc66af94c3e62393675c9bbfe9510191a6d2038f10ea27be03ce63a9ce4020100804020100804020100804020100804020100804020101d4abfff0003ff00a861ff00fbc9514af65a9dd95f087b4f886c56c5ed26d6e1d834ac7a6ece50cfc42761936af9925722965aa74e69c24d432b220e5190b9b5b58c23bd11ce623e33674e1d19e6dc582db8dbec4b63eb765c4bc2706c430fda2ada2a0e466e2eba6c5973ab2a65c857b9f877339c9ace411339699f8796c80a3ba2d4c5f1327ddaf3bccc70a634bceba5e786b9c4df0b3eda5f5d23c2227deaa7b34c5b5ab2c71d3a587f854a6c5fc23e25b0740ad9b47b8d52aa3ae455e388938d4d9b2e8d35736651e0c9a69aa9d211cb4b415ae7cb3d721395292bae176e2f1b6bb6b316ab2f6b96b13f2e68c4af2d5978e9be97bc66d39e9f8c7097260de136a76af16dbcc1764f67915953b252e85783d6e2156aa2a4c579dceaaa75cd97325d3d4cc974f2e6d14d4266f26ae5329284e4caa52989ab029c6a76aaa988f288a2acdeb15de9e716d75d2d3a624d13c237df5d7b3e9316ab8c4de2d78d71343e15b68317c3b0ca6c1f63f0eabdb2aec471ca09d83af185cbc3109d9fa834d5b512f134d04c993526672684014a15994ca09caa2293891a4d3b659abc6d15453368e3379d2f31134eb7da26d344c5efc2aa69d358bd54678bedb444c55689b5516d7763312f0f1225ccf078ac2703a39b4db7f86d0627452714c4fdcfae9c8af9f2a4f34c329a5d355a2beb29c4dcd3a572b2c206539d8929db2c75d3446b1197588bde2abf6ada7622233553ecd3ad95c589c3a6f5693db8b72aa8b767cea99cb447198b3783b67b454bb794db1d89ecde17269b1ba2c4eb766712a6c566544f9a8c3574e8573ea4550ca14a999ce92ca44d9c01b1b9119533331547b7117b70b5edacf099bc6969f6b7cbadaa888b4dfb33311e3dd99d238c45ad3378de9d35d31db37b6fb778c576dbe1388ec3e074988ec94aa514f3287682656d2545754cb54f3433a74cc369174eb9524c99ab3c92fa3350ce6d0aeab61cd5fa9b6f31e11b79c4c6f12afb797c2ff97c6d3e5169e30e84bf0a98ce2bb3fe0eebb66b6429b12da1dbec055b47ee1d5e26aa4a7a5a291229a654279e228ea153668995b265cb4f2290a72494011a63c755555bcd3445e678f9445f79d78c469acecbd38778d77cd97c2fdade7976794ceb1a6f31c88f0b2aaac4bc1c1c370ec1eb3677c25c8a4a8c154ac5952f1de4eaa95756670c1f99a92b9325091caaf9d0ca1cb598dabc39a31eac29d6d7d6358b4477aae54ccf66275bd55511ed698d355f07acb4f0d3c666d31bcde69bde7c22ae5af3ec5f858a4db6dadc7300c397b369a5c1a76234e69bddc4ccc7cab0dabe633674ec1534df81a754f42f2cc3504e5c84a46764d68a2668cfc34db5df6bcf0998d6dc369d6f6be2766acbfabdb5b73b6df1b69699f48c63f154bff1bffad7151e13e13fc2756f83e9b489a4c028b1993ee462f8e62b32ab13f73952e930734a26a298736a84cf9f339d8c8852a582d75878889d6de5e7acdb48e3fa86b4e166a74def6e51b4ceb3c36fc65b49f085b292f1ca6d9c9d884e938bd49912ccb552d49a79351532f96934b3eb132cd2c9a9988214992b9a262810424b87b5bb534c6f17f5b6b36e768d66db45e76861355a8a6b9d22ab7cf48bf2bcf6626749ab48d5d1da8f0a1b25b2781d663d5d53555b26970aaac665d0d1534d9f533a8e8a6ca933d72e5b01d099512c12b2901f3121209138544e25adb4cd117ffd4eeedaeb69da2674daf686914de6dcb37fa3bdfae2ef49f085b273f15c3704188544ac4f16952e652d3cea2ad9012a9b20d4cba79eb9b25089152a92933053cd299b941391845674998f777f4d66dced1acdb86bb22d36bf3fbaf6bcf2899d2267499d23564365b6b700db4c33dd9d9aac9988e14a5e4955e69ea244b9bd04ade4aa7cb97caa46662a438cce97cc950169a6637e3faff8e71aec8beb31ca6deb1a4c7a4eed922a10080402010080402010080c5d7629418260b578ce2b502930cc269175788d5a8122548912f9498b21209395209b0889988dd6a289aa6d1bcb4e4f858d833370b95eec4f41c5c4b5534c5e1f5e8952e5cf9eaa5a69b553552022965554e414d3cc9e5099dff945622f926f6e3f8f2feafb3bf833a6b8aa9cd1ac5afa6ba73f2f1dbe0cc627b6fb3985504fc427d5ce9d2e47ba4048a7a79d3a74c5e12261ac972a5a1054a52392500075b73c638989145333ca99abd22623cb798dfee6993b514cef3311eb34e68ff4ebfeec3517856d8bad95b333155b5943336ae4535461d4d5541592972535b3390a5e7a4cac949ce27032a499ea489abb4a2b8e8af0a69c49c3de63fe7e368da75e70c307163130a317d99fd70de22f1ac5e9d626f698666ab6e36728eb307c3e6cfae557e3b3aa2461d45270eaf9d34f35a84d2cf9d365ca90b549a744d5a419f34265749273b28135a6999db944f86b178bced133ca75d262d7896b3b5ff5a35bc67c316c360d49b4554babc43113b3009afa7a2c3eb272a6897529a39c68d5c90975629ea1425cf3256a1295d198526d11113a4f09aa98ff003eecf3b4ef4fbd6ec669d15c4ab244ccf0899ff18bcf87c662ded5a354516dfe298a6d6e2582e1f836128c13084d39acc42bb13a8a3c515ce28135c932b09561ea2c9131295679c850e9745d2d194d73115ccfb1331cf6a699e1c3b56d2fcda4c772dedc455cb7aaaa7e3d999e0c4a3c336154b2a8eab16c3ea2651e27ee0230ea8c16555e2c95cdc769d73d27f074f2e67228c96986582a0474028e58e89c3fe35587b4c6257445f4ee514d779e53acc5af36b5e672e69a79b171f26b3b64a6aff3aeaa3e5689e737b4466b44ed73bc27ec3534eda193518e721e2bd355d5e2f3d74f529902461ea08ae5489e6572553cd16a089e24296652884af2a8b4651378bf0bc47c66d1f3e3b3a269989b71ff006bfddadb96adb309c568f1bc3e9b14c3f973475614642a7d3cfa598425452fc8d4225cc00b3a494dc310e0831698b7eb9fdd3ce3789d275562a89d99188490080402010193c23f1d57fa92bed99019d80402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080c7e29fec6bfd795fdea6033b4da4071e21d44f7c079cc7539c8040201008040201008040201008040201008040201008040203a957ffe07ff0050c3ff00f792a295ecb53bb29e11366712db3d8ada4d92c2f17a5c0a76d2d0cfc3aa313a9a35d7265d3d54b5499c53211514873e451ca4cc606e42b48e7d6f131c26ff000ff77561d7926fc5ad6d5ec1ed4ed7d06cfe0f896d2e012f0ca25e1f3f1f992b039dcf26d550d4cbaae570d9f33115a687399490334b9ca46a16ec45e263accd3c26262da6b1cf9d33c638d37a6666ec72db0b247189a75e53168b445bb51bc4ded9ad36d2d3d59be0a674ddad9b8aab1da5f15a7e36bda59d808a029af38a4cc2ce14affc4915091cdcca566ca647281561342190338a2f4c5356b14e688fef9aa6abf3efd56b5b872d75eb2a8bdbdacb7e3dc9a6632f2ee537de37d2f378d7bf902a4c0e4eda27c1e6d4e23b1b3b6a301c2f00c2d7327e2589a30ba7c3e6cf2be4133f104a87292677272f22e5990c552c82b53ed898935e1e59fe6679f18b53197d72cde635989b7b34db3a298a6abf2a6623c266fdad6f1369b4eb13b4fbd2d88783bda8a5c2364c60fb47b35826d2ec7cba9a2c2aaa9367e74bc1d386d521085528c2fdd3331253c8ca52569aad53a65244658919aacdce99a67ca6627b3ca632c5b78b5f4dad347669cbc334551e7115476b7bf7aadad37b729bead89f8021369f02c2709da3a6938261b8260d81d40c4b0de7d5f2d182544ca8935d85d5cba9a54d0d6cc54d25737929833265a8246463a4554f5915658b455154447d9da9bcde668e16ded35c5fb48c5be25356699cd545779f1af7aadcefaf9db9377d98d87da9c0f6db6af6a711da9c1f1ba4da79ea50927069d2b12a6a59432d0d0a310388cd95cda98665644d2a732d6b99652d4f4a3b3465e3aebe37e3e51d98db4f1bde7135af347847a5b5b6dbd5da9bdf96d6b66b67764f11d98d8f9b81e1d8cd3546d1d41ababacda5aba35cd933f12ae9cba89f5336911532d650664c2d2c540ca9648530114ae9be1c511c2223f39e1ad5ad533ef4cceab5fb7555ce667ffc63ca98b531e10d0f0ff051b57836ccec150613b6f8548da9d84c1ea367a9b6826e0b3a6524fc2ea534e9503403124ad3509e65214260a8cae15f83653274c4fe24ce6be5aa2d55b7f389b4da635e131aeb13a5ad4e26f7f7f3479eba4f38ed4f29db5def919be0aaa81f07b82d163387526c4f83af72d784517b9b3158d67c265f272929c5b9e0972e5cd00266814aeb415a3332cb6b38f3563d58d55af39ad11a476e99a75def6cd3316b5a72f2d71a69cb83d5de785e79daa8aaf6b5af368f9db85b9b66fc1856e01b4b22bd5b414b57b378457637896cee0e9c3ccaad95538fd42ea6b39cd7f395a27cb4ae74ce4d29a7964029cca514b9c69d359ef451d5c708cb7a276e7d8a75bebaccc4ccde271a33cf866cdfdd96aa7e1da99f85a6222d3e918c7e2a97fe37ff005ae0978c6ddf82fc23c2062785d7e2f3f93183e1b88d261a512926a296b2b27514fa7c46967a89e467d22a89d0424be6d59c2ab34f18ef69313ca699bfac4f18da6349d2578ae32e59d6999d639c5a62df3df78e1ab068f0598e2f12e56bf6ba8aab08c4f17c2768b6aa891852a554d563184caa444b994b51cf148a6a699330f913152552a6abac04c650cbd3878f92abc6d4e7cb1cb3c551313a6bdfaa6369bdb5b45a729a6663c6d1133ced37fbb49f95a58aaaf02f8ce2b231ea3c676de4d551d6ece639b33804a9185720aa3a5c62a254f13672cd52f9c4d95c8250584b0a003041cc555e898d5747a6229de99c198e57c0bdaf1f6afaeb1e1e17bf6ef3ddbd733cff008937dfc3588d3ceeced2f82eaa93b6c9db3a9afd9fafa9ae34d578f09d834d5540c469e83dcf33f0ba935e7994b5ca03f06b44e23a402fa64c63688cd11b4dedce3345b7e3f0fc2cae734537de9b4785a2a9aa34e7acf1b6da6f7dfb63767bc52d92d99d96e77ee878b986d261dcfb2725cb73592995ca7279979736576cc5b8c6b8b5e7aa649d66679cccfc66ed9233410080402010080402010080d5f6a767fc6cd8cda1d97e77cc3c63c26ab0ee7d9395e479dd3aa4f29c9e6466cb9ddb307e3131a4c4f2989f84dd7c2af25513c9a7ed1f837c4319c5f11a9a1da3938760db4d4d87526d7e1b36879c4f9f2b0d9b3172f99d4f2f2934ca9a99a51333ca9a198a4254e4a9d27c3ac8c4f1cd193e5fc3a74b44efaeba73d5831344c719a3ab9fe99cdc39f6eaf95e26ceb4bf0658d2b1f99595bb612e7ecdc99d8dcfc33029786a65d42178ee7338cead33d626722a9aae4b2c94744b2f39650c2bc1cf875533bd545545fc2aaa9abe56b78e9b6b7e9c4c4cd894d7eed54d5fe387347cf7fd698aa7f03d5b2f16d96c72af17d9fc5f11c268309c371c35b81cd9b2e7cac12a6654514fc3d1ee803455039653ad6a9c9cc12a081958f6578d9b16aafde9cde39a62d369e5e1cb8eb32e5c2c1c9834e1ef9632df9c70bc73f2b71d36b6c9b57b078e6d4d5ecb55ccda0c2f0faad9ec45756bc5a46193d388737e792e7a6968ea915e8e6e99922526454e744d44e1d2c89b24654da2b8abc238ef3c6ff66675cbc234bdfb4daad6998f3df870898dbb51c27e316bc4ead4de04f9948dafa1a2c5305914f8f49c41382e2870752b16a45e235dee8ad35359cf022aa4267ffe5a64ca52804e6999866314f669a638d33873e13d54f673739f1bc6f57bcae2d39f3470ae2a89e7db8b4dbfe27846d0f43c27631345896d2637884fa3afc67690d3aa6d6cba3e4790549a09544b128ae64e5e45aa5a96139ed999cf58e75e1c4d35d31a457333f1a698f5eef835eb26f44cef4d311e76aaaaafe1deb71db769741e08eaf08c0b0ac370bda7949c430593b332e86baa280cd9255b3b284979b21153294a15097b098321dea6bf5e2e3759d2271a63bd8b5e25bff530fab98bf846b13cf873e5c4c19aa9b5f5cb453eb4624e244f94ce931cb8f2c6ccf01d2cd3edf6192713c224e1bb67478e53d2579c214ac668d78f541aaaa0aafe7825ce9026a8912f9ba0b0402b391d55e898bd4d5455ee5544f2bc51566889f1e17f5b4ccba312734ccc71bfc669b5ff001fca36f7e8c904020100804020327847e3aaff005257db32033b008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201018fc53fd8d7faf2bfbd4c06769b480e3c43a89ef80f398ea739008040201008040201008040201008040201008040201008040756a466387a46aac470e03f6d9314af65a9ddea7cca6f948f4fdd18363994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd0187c66926097461d3d29ec35f8298784061f994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f74070d3524c553c85029654b491af0ee80e6e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba032584524ce715a974b89724efde6676764067b994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba03198bd2cc97413164a582e4e9ff15301e7bb6d57502b6928d33149902409a500d8a94a50bfd180d87662ae7d5607f8798661a7a954a42897394212a1fda80c547539c80402010080402010080402010080402010080402010080402038277e370cff00d4b0dffdec98a57b2d4eede36e76ba9f6136571bdaeadc2b12c668700a699598851e1a992ba8e6f252664e989151369e5b4b424a8baf759cda30f6a239cc47c5d145135690c76d5ede276466e1332b765b1cafc1312a8a1a5a9da5a43879a4a29b88d5cba2a74d44b9d5926ad4f36721f9091318178988ede59d38478ceba7fcda358d77b569ed519a9d7499b71b446699d74dafc6fa6d7b5f96936dd3896d4d7ecde17b358d6234b83d4733c6b6ae5f31461b4b55cd855190ae5aaa5d5cd2944c960aa4d3ad014b092a74ccc914eb17e1adbc6d3967e7131fdb289aa2f6e316bf85f5fba627ca618ea5f09f82e2d896dd60db358662bb518b6c01a5462745429a747399f54b9d2f90a39d573e9a44c5495d3cc44d2a9894a1495233664a806bd546246b1354d3f0cb79f28cde7a4da36bcce98992749cb157c6f6f59b796b1aef6c523c3061f5184d0d5d06c86d36238fd6d7e25871d86929c3bdd4933b085a915ea9aa995c8a112e4909e98aa2159d01198a808ad55445adac4c4d57e514ce5abc66d5766d11337da2622656c9317cda5a623d6aa73d3b5e22f476b5b729b55a2b5de1a766e478b5370cc271ada2c3b68f0dc3f1938ad122925caa2c3b159e8a6a3a9a9975b534b50ae516bea53ca9b3035d00948569553971670ea988989a69e717ae6629d62fbcc6fb7199b6aad5131466b70ae6dc7f871135fc2f1f833e9dbf09daff0013ebb6476830ba9ab915d51b3f8b547b9c68f14187995cba69b91ad9b3d0afc324a79c4a94e1c8d233a6abd33ef445f2f19889b5e386f31bcc4f6a3c6d6aa8b5bdd9988bf089989aadcf6a6ada2634f2be3302f09f3f1ba9daac3a6f838db1c1316d93a3a5aca8c2eb1384cc5d50ace5b91934d368b11aa91cb7e009289b310c0a546ca0622aae2289ab7cb36f944fca26267ce15f6e29e717f4dbe73136f29714df0bd852b67762b1ec2766b6876867edde17eede13b39432e8857cac3912254f9f51502a6ae453a448e71290a099ca5152c0405c698d118554c55b53acceb688f85fca2226a9b4da3495a9a2663c7365b73ab5d39709d66623c6f30c82fc265073cd9234fb3f8cd76ccedb0a3f70b6ea41c3d586ad75f2553e990a96aac4d7f4d291714a521c396cc44d744e1e34e157d9aef5479cd34cd53b5f85356f6dbc62f9535c5585d646dd9e1378cd54531789f198bf2bf9dab27c23cc3b7545b0b5db07b51854fc50621330bda09fee4cca09f230ec9cad4014d884fab44a519b2c255329d375a41625a230e33df85a2ff388b72beb788beb1154c6d2be2f62dc6266da73cb356bf098bed7b47186e18df5283fa4ff00f4cd881e43b7be1370ef07f3a8e556e018e63827e1d8962f5b370c4522c51e1d849a7e79553d353534eb50473a41cb2533166ec93117f846f3caed29c2aaa8eceb37b4471999899d3e0da46d66cbfbad43b3e768b0a46d06274c2b30fc017552535d3a9c82796974aa509aa4744dc25ac62f926f31c69dfc3cd8e68cb4d5c2adbc78e8eaed0edc6c86ca60d57b41b41b4587e1b8450d2ccad9f56a9a15feaf296896b992d08ccb99f8498847401254a4a45c8115a75b78dbcbb5ddd76889e73a5af3b42f4d333368df5ff4f7be1c5d9a6daed94adacc370ea3da7c1aaf10c668c62383d0caad90b9d5742438aaa79695954d9247fe62414f6c262d3313bd3bf879f247089e13b78bb984e3d81e3f2a7cfc0b19c3f1a914b3049a99d45512aa532e619689a10b54a52825465cc4ad8ee20e86162749b71656010080402010080402010080c7a2aa9a8b0b45656544aa4a4a4a6136aaaa72c4b972e5a11994b5ad4c129480e4982622ec3236eb6266cfc22965ed8e0132ab1f993e4e034c9c4298ccad9b4ab32aa114a9131e72a4ac14ac21f29b18445fe17f4e7e4accc43bd88ed2ecf611435589e258dd051505122aa655554c9e8094268429555bff00f242159c7bd62f15aeb8a62f3caff87df311e7310b659bdbf5b5feed7cb56370fdbed88c564ecdcfa0daec16a13b62854cd94473c9299988a658799cd65a941734cbf7e121d3ef9a35ae89a6acb3bfeb5f2f1d99e1e24574678eefc35e537da7c275e0db628b900804020100804020100804077f07ff006caeff00854ffda9b01b0c020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804061f1efe6b9dfaf23fbe4407926dbff3bd37f4447f79320362d8ff00e639ff00d355fdd2203a71d4e72010080402010080402010080402010080402010080402010080e09df8dc33ff0052c37ff7b26295ecb53bb64f0ab816d06d4f83bdb1d96d989386cec5f69f0babc2e4ab12aa9d494d2935b25521739532453562c99617982793e969993ac73eb13131c2627e1abaf06b8a2acdc9a66deec66d8edb48d88a73b3bb2d455f8354e1d884edaa38bd64cabc12b29ea65cda9f7325270d97cec2e54b32c2a6cd921599972ca5d274a66d8b9f6b7c6635cd44f8551d9bef6999b44c439a68ff00c3f573accc5bc2263b95f1d69abb76b6f4c466d6f181fe462be5f851a9daca5c3b6768e9aaf1e9d8fcedbb93326a768f24fc1fdcb5e13c99a654be439469d9f9c84d80320ac72871c3a6d465eee95c4dbdbcf555576b6eecd7a77bb94fa6f5551333331155f2dafec65cbdde79a29b4eda5756b6d27a387f818dbed831b7951e0ef6e66e255b8becde0b81ec71da19d4c39acda1a8ac54fa8a89b498592a5cb975657256a44d2b9aa599c1632b6f5627f0230e34fe25f4d2228cb874da9e53314e5dad4c45168ef5f3a29b577bfb3578deb9999bd5b5e336b3ac4cdeaf06c345b0db6981617b1788ecdecdecb506d16ca8c569676ce4ec7710a9a2a9918ba91367d64dc626619cee6562aa24a674c54ca65728553332b310b8c6ba7b578d3b134ff4de699d238db2edd9def7d3b5344f632cfbf15f39aad4d54ebb5bbf3ef6d116d7b3a1e31fe8ff00b4865783fc3e85781e39e246058261bb3fb5559555587d6ecfe2786d42a6d662d875348a6aa4549ad1c966913274b4fe09282a29596de89a29c6cd178a6269e3ace1d316eae768d69bc4d5f6a66dd9a51d27363d354d5deab3ceda4575ce6cdfdb56b1e5a6f2f55d9ad9bdbd95e1236936a76b70cd9cafa1a9e7149b278d48c5ab2655e1d84bcb32a8e5e1b330e972252aa172f96aa9a2a94a5ab2a7a489728231c3d289bf7a7e7ae91e1111e77aaf3c749c58bd716eec7cb4ed4f1bce6f2ecda39e6ce6c9ecded16cbec8e28b9b2f0cc676ff001ea8abc5b1d5aea66d3d154e25527a12b9d8a69b393229e4a65534a519054254b47462312f38514470a623d675ae78ef54d554478db48dada759555ce74fe98d288ff188cdce6f57179b609e0fbc266cdecb782c9987d1ecad5ed96c0ecdd66cad661b3714ac461b3a9aa53440574bac186aa77289561b294649a7665a93ca744295a63cf5b3546d4d7169d2f31ca622f19b499d2f179b6b16d6f4e246b7f7f3c78f7af1e1dedf5db6d74e6fe4931aa2a9f0398461787e088a0f04f270a9349e11575d3d38d721434c69ab291186a68cc832eba53ca59555d92b528273a131b4e3c55d26bc5b5a27345b7bc551d989dbbb5dabf6af34473d30a2269c0c97bd5a5f4d2f9a26a98d667588b479eb78dfd4f00d9ac46976b76d36af1b9f4f53538c4ca5a2d9b44952d5cd306a49095264a82d29099b32b26d44d594bb828049c81b9e9d28fb533333f75317ded14ebaed5555db495abed551ca98b47aeb54f9ccda3fa68a78b3d8df5283fa4fff004cd80f00f0a9e09e6784ac4f0a9eaaf450d2e1782e33472565734ffaf56cfc3a75299f4a96935949fea4b13e44e391608194ea9adad39e3bf134cc72eccded3e13a78c6f169b4b58aa268c93b4ceb6ded96a8d279eba70e778d1821e0e76eaab1a9b32be4ecdc9c3f68368b01dacc7b16915b54baca0acc229a8a54cc3a8a42e8d299f226ab0fca99cb9d288973560ca2dd2e9c2ae8a6b89b6947596d359eb29ae9bd5ae934e7de2f78a69a6dc639eb89aa8b78531e1d9ab3691f388e156b7961314f04de10f68a8f6830dc526eccd152a763f693657666753d4d5cd5ce5e2f554d3e9eaab12ba540923253252b44b2bca5c82bccc8741e913d1e8a74bcd35747abcfa8cd7d7866be9a4dbd35d6f7af5eecd589333c7f893a69f662f7d75f06cb4fe0db6857e10d1b5d8a61d8655d1e2353458bd44b46395f2ce1188d361270b5caa5a44d12646212b295659935524f4d44a2c98e6c9119a238cd569feaa629d63d37bede5aabab3453e1114cc78535cd71af1d67bb31a4c6faf67d1fc1becb4cd89d81d8fd939e9a34d660185d252620ba30d22654ca9494cf9a874cb27949999598a412ee6f1be3579aabc6dc3cb82b36cd54c71aaa9f8cccfe3ab768c820100804020100804020101a46d9e0159b57e0e76a76630f99224d7ed16015987514e9e5499299b5748b92854c284ad41214abb2496dd0b44cc5f6bc7ded703132571572979d6d37830c76b316c524e0349b3a367b6a28302c3f10a8a95cd9153842303a99b3d06829e553cc973df9579493364f253067753b0be799aaf3fcd8c5bef336c9d9f29c9bde7bf569cf8fa9b61e5a74be14e1e9a445e2a8cd1fe5ac71cb4c5e378b0d81dbba9da0548ad5ececad92a2a9da5a9a0ad953aaa66213ce3fcaaa589b4ca90893285319ea4a9a72f94b28646ca7931707acc2ae99ef55875d1e1daae9aa27e14ebca79dfb3d98b897c6a2b8da9ae8abfc30a689f8ccdfcbcb5c0c8f04db52bc5f64316c5f0ec1710954f85ecde1bb4383cac7710a4914737666be6d6d3565272540d5f9d5344ce46722484a90067505123d0c4c58ab1eaae34cd39bc62669b4d3ca635d27c666db438b03072746a30a77a29cbe131a6be13a6bbf08be9afd311cee82010080402010080402010080efe0ffed95dff000a9ffb536036180402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080c3e3dfcd73bf5e47f7c880f24db7fe77a6fe888fef26406c5b1ff00cc73ff00a6abfba44074e3a9ce4020100804020100804020100804020100804020100804020101d79e42578693a0c4b0e27f6d9314af65a9ddebbcea4797e83183639d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e830185c6aa649450b2fab50e6c7e066406279d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c075e92a64a6969815dc4a40363e4c07639d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf4180c860f53279d571cf632a40d0ee54d80d839d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0603138dcf94bc366a52a725725831f864407956dbff003bd37f4447f79320362d8ffe639ffd355fdd2203a71d4e72010080402010080402010080402010080402010080402010080ea55fff0081ff00d430ff00fde4a8a57b2d4eeda36a76a704d8bc0ebf69368ea66d1e0d8620ccaeaa954d5156a9681752ccaa597366e548ba884d85cda30e311ce6df16f14ccece863db75b39b355b85d16333311a638bae44aa4af461788cfa14aeaa70a7909a8af914f329698cc9aa091cb4c4dc8e3134c5eacbc7e1cf6e73a6d1aedce2f1ec66e1f1d23599b6f688d6fb5afca5c89db6d9e99b4b3764a44daeacc669949975bcdb0eaf9f474d355239ca65556212a42a8e9e6192cbc9366a54ca45ba68cd14ebfae5f7ffcf29266ce29db7bb2b2aa76a6865e233310c4362d348769b0da0a5aaafa9a635c0aa991c8524a9d3264c9890f925a54a662431109d28cfece6cbeb16bfc3345e768f49b23bd978dafe9afe53a6ff1862d7e15b621181516d173fc426d0e215751434b472b09c526e226aa90cc15325585cba655721523915f2815246401d4c215766de317f0b7399da22274999b5a749d742de9e7a6f178b5f7bc76a2dbd3da8d3573623e13f6230c9b81cb9d8bccaa46d0d3d3d661b5941455988528a4ab5a65d3d5545551c99d269644d52991367ad0855d8f454d79c398c49c39d2a89b4c4e9acde2235e33313111bcce90899b539b86b3fe369abe11317e5776e46dfeccd46d0d56ca89b8949c6e96554cf122a30ac4a9e5544ba352135068aa67532245672666a5c53ad7ac65155e99ab847c796dbcc78c472e70bcd331311cfe1798bc45f689b5f499e13ca58bc1fc2bec5e3871f97433f1a9753b334926bb18a0acc0b19a1aa45354aa6a24cc974d59472674ee51522604894951252444d5544533570856359b71fc9cd5de1476328303d97da25d6e235b866da4b44ed99f73f09c4f10a8aa97329f9d050a4a2a69d5281c8f48e7961b7b18b574cd35e49ef445fd22622ff198f8a2f16bf8dbd75d3fd33f064eb76e767b0ec770cd9dae56274d8863065a30fa85e15890a154c9c952e5c95623cdf99a26a820b4b5ce0a760ce43c46b565e3f7da334db9e979d2fa44f294ccda9cdc34f9cda3cb5d35e71ce15c1b6ef6736831cc5767f095e27515d82ae7cac42a558562526844da698254e952f119b4e8a39b310b5314cb9aa3adac5a30e73d39a36dbe731f7c4ea9c48c95659df4f9c4551f298966718fc552ff00c6ff00eb5c4a1e7bb4bb69b3db26ac3e4e3151566b31654c4e19865050d6627593f914e69ab974987c9a89e512c119d7932a5c390e222fad96cba5f87eb4f19f08e1133b433b8757d3e2b414988d209e9a6ad9699b2535122752ce0950702648a844b9b2d5c52b4823788998522580c336db67717c42970ba0ab9936b6b0e3029e59933500fb855a8c3b10e929200e4ea26a523ca174b8bc235f844fc764ce9f1b7caff736b80c61c670de525ca9753ce9732b0d02853217502554896669973cc90b121909b999945c077524146b6f1bfcaf7f9c4c79c5b7235bfd9b5fd6d6d3fba27ca736dab270080402010080402010080407148fc4c9fd44fd901c332b644aaca5a0589dce2b25cd9924a64cd54acb27205e79c9499683f841942940aaf95d8b136d2fe36fbff2df6db9c317b41b4d846cc51566218c4ca891474141598955d44ba69f3908a6a040993ca95290a48504aba282732ef94162cfd7cedf8a628998f5b7df3b6fc37f28de61d9c431bc3b0c99834aac9aa42f1eab4d0e180216acf3d52665404ab283906492a2eab6ed4c3dacbc75f944cfdd0ad319a89aa368b4fc66298f9d50cb402010080402010080402010080c9e11f8eabfd495f6cc80cec020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804063f14ff635febcafef5301e79b6ffcef4dfd111fde4c80d8b63ff98e7ff4d57f74880e9c7539c8040201008040201008040201008040201008040201008040203a957ffe07ff0050c3ff00f792a295ecb53bade1768b19c57c196dce09b3d81d56d0e33b4183d761987e1d4d36924ab94ada75c84ad532b67d34a08415bafa6eda051b473ded31e71f29bbaf02a8a6b8aa7834bf08d87ed3ed6506c551619b1bb4d4d8949acc2713350bafc2e5e1743329eb64ce9b271aa64d7cce77c92251504c9953866632d69532d3a53ff5a2ad2d131beb16d6f6fb56eecf0ab2cde6225cf116e8f34f19898d37bc4766fb762a9ef45f5a3344d3ada7094db0fb6787784fc4b10c2e463f474d8aed14fc62a769bdd70bc09585cfc18527325e0c6a92f549ac9685bf353619b970fc98c70e26288a634b4577beb7cd5d75d39759b5b345fbb7cb56937d74ab2669aa62f7c96b69698c91567e77a69aa23bdbd3a7673461f67f617c2e78309fe12315c14619b7d8856ecfe0f4fb3ca9547270d9b8962e9acc426d5d655f38c4f219885562aa2792a9627670941464bf44d54c7478c3a74fe279e5a32e1d3355e7bd3d9d2f37cd4ccd5339ef158899c4cd54dfb33bf1ab59a69beb96386d314d33111ddb360c3301da0d9ba5d8dda7c2f60f69b14c430b563b2b68f01aeabc13ddaaba9c69726a26e26b992ebfdce65cfa7bcb44f4e442fa08010111cf5d169eced92aa63c266aa6aed79da66662f379db7b5e9aa66898ab7cf4d533ce29a2aa3b3bed9a22226da53bed7f3dc4fc146dfd0d3783ac36461588623886ca6cd6cf61f8662d84575249c325e27415667d74ac7a455cfa69b5b870c924c84a254c52409a52944c29277a69a3aebdf4cd45e6623b5451c6dacc626b54c4f0ab24c4c5aa957a557562d354c6933d64c46ba55893136fe8d222a8e34de262747b26012b6b315f0a18c635b5db158cd0d160a2b30fd81c4f9ce12bc2e5502f92e56a548935abad555d72e56b329c265cb4a5032a8cd54ccb0bbb354f7e6ff0cda531e768aa6f6d74e11762f7a237a749f5cbaccedb5e688b5f9fb5a677646831fc1766f1dda6c7305abafdb5da59f3f13c5301a69d4aa9e81f8ba1c3244c9b3e5d28e6d4c8972df964cb54ccf31dd64c56b8fe0c531bdb5feaabbdcaf11dd89df2534c6b64da2716a9e1b47f4d37cbfe5ad531c2aae783ca55b2bb55fc89f83ac1fc48daba3f091b27854aa0c11786e2d87524cc2b13a7a1e6a8aca99d2f1214f3e8d6b482a97f87cc83d3904ba634c7aa6ac5cd46954c4c5e768bcd3a551c7689d2276de2568c954ce7be5cf7b477b5cdad3ca6d54c6f1acf26e7b6383ed5633b5de0e4d1e098daea766abe8eb713da3e79469d9c549e4e64bae4cec3d557ce6654645ab9ba852f426142b3e50a8b61e4ebe6ab7663346bbeb4ce5cbbda734c4553d99c99e9bda6d5677aba8cb369aa72fc62a899bf8697b6badb69d69edecde058d61be13718abc2304c77677632aa46233768518962126aa8b11c5aa2aa44ca6abc2a9535756ba54e41526774240515a5d0a55d39e07670e69da2fa73dea9ab5f766f7b4fa65d6f6c69cd5df79d2f3c2d14c4445b9c6917fb33ace8f4fc63f154bff1bffad71287896d6526d0e13b71b3db6d83eccd4ed7d153e138860f89e17433a8e4d7c83553e9aa655448e7f3e9242e5934c513472a15d4201631387565cf1ef65f4c99fefcff002f1d15539ad37eedf4e79adf38cba784d5eba0ed76ca6d36d2ed2271c5ec3564ec4714a2c1c6c963536b2804cd92a9a7a99936bccc22a4aa5aa62148cc68b96e5b2f2533f06012c3eccc73eb22a99e745a8bd1cf8571b5bb7bf2cf1626aa6ab71a2aa622d1a57dab57ae9c699e74e5bc6ba3158af836dbdaaa2ab9386537b9f57329bc20225d40a992927ddbda4a5c428a505052b29aba494be931087e9b1b44d56cb1e1d55e37bc5337ae35d274d2d3a4ded7b3ab12a8ab35a759da794f5534c4f3d2ab6daf27123c1e55d3615b2499fe0e319da7d8fc3ebf189b89f82caff172599336b44b551d449a393568c24c8a65226a512f95cc9e573b661117b574cef314cda7798ab3de37fb37a6263bb4da88d266d8534e955bb37ae99b70988a32cc45b9d56aa62ab44d59aadf2df65c2b60b12c371fc426e13b1e8d9fe73b6feee5763524d0a115947518554a04c2254de556a9153372ad13103a4acc9cc1d5194d35757874c4f76717fd5d6659f84d11ce32db68830a222ac5998ef461dbfb670b3478776b9e5adef799868786782ddad99842709f142a767a7fb9387e1db7d88a6ba925ab69f134e2d413aa317973e8ea8cf251224552f96a8e4a79e58001c30e8aa689a7b31689c4c298a6f7c94d33567f0d62698bc6b5e5ed4776fa455fc49aa75ab262c66e77a7b116f3da274a368d265f43783fd981b2545b4184d3e192707c20e35575180e1d2320912e927096a1c94b9672ca49999ce561772d78ce999eae989de337ff0052b9a7e144d36e5168e166369eb6bab84cc7ff004e889ff544df9cde78ddbec172010080402010080406a9b5980cdda7d8fc5f02a7aa3415b5f4446198880e69ab1004ca5a8038c99c942c77456a998ed53acd331311c26699bc44f84ed3e0be1e5bdaabe59bc4db49cb3169b4f09b4e92f17f1236c714c3938a6d26158848c5f6ab09da69bb678760f5d4c2a696ab1293454f4347473a7cd4483364d2d2894998fc9e74952880abc571ac446b4c533bdb79c4a6bd636988ed46bbd31695e9c4ecebde8ae9e7dda68c4a74e59aa98aadc26af0bb0b3b60b6e2b7c1ecbc1646c8d1e093d1b33b6d85d2e03469c3f0f405e2465a70a13a9e92a26524b9f509495cd329665a56545d2ed138d7aab899ed762d3bdaf9e89b45f5eec4f96d133a5edd16aa68b6bb62d1379ded145713336fb531e33169b46b1192d9cd81c764633458a611b1b51b09808c6f0daa3b2f533e8664c953a9b0cc469eb7155f34aaaa94a5554ca9a741026198b32f9458751317c7bd514c46f9f126feed356165a62dc2d5de6d4de3b57e76e6e8f4d3451545bd8c38fea9a7169aa7fd3ed4f6a6d6e14b3be03762318d8e938ba31ec3717a1c667d2e1f4f8dd74f5e1670fc52ba9b97e7189d37319aba99b36a5531e6ceac9689ab4f260b9496b5e325a348bedc63488f2e1eb379b2712f3897bdf7d7d74ff8da3687bf4502010080402010080402010193c23f1d57fa92bed99019d80402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080c7e29fec6bfd795fdea603cf36dff009de9bfa223fbc9901b16c7ff0031cffe9aafee9101d38ea739008040201008040201008040201008040201008040201008040752aefcc00b938861ec3ffce4a8a57b2d4eef4ce4a6fc1afcc6306c72537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc603118c4a99c952fe0d579f6b1f835c061b929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c071489530c89244b51050962c784072f2537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c064f08953397ac1c9a9f249b31e332033bc94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c063b159731344b250a033c9b91fa54c079cedbff003bd37f4447f79320362d8ffe639ffd355fdd2203a71d4e72010080402010080402010080402010080402010080402010080e09df8dc33ff52c37ff007b26295ecb53bbd3f1ac7704d9bc3a762fb458ce1f80e134cdce314afa8954b4f2f31ca9cf36729284b92c1cc61c6238ce91e33c9bd98fc4f6cf63f05c570bc0718dabc0f09c731cca304c1aaeba9e455d6675644f369131699935d561901bc4d319a6698d6637f9fe53f09e4accda9cd3dde7c3f5ac7c5c93b6bb6529b6829b64ea369f06a7daaad472b47b3532b6427109b2f2ad79e5d215f2ca4e594b2e13a255c0c446bb70fd7e31f14ce9bb9711da7d9ac22562d3f16da1c2b0b9380ca953f1c9d5557264a68a54f712a654998a489299994e52b605ad11354445e76bdbd74d3cf58d3c639a622f368ded7f4d75f2d27e12c64ff085b034db3b4db5f53b71b394fb2758be4e936a26625489c3a6aca8a4265d5999c8a8e6490c15b8c4d5d998a67499dbc78e9e9aa29ed5e635b6fe1c1dbc5b6cb64301adc1b0dc776ab04c1711da35f25b3d415b5d4f4f3abd6549464a497356954e39a6243201b91c6262999ab2c6fc917d2fc1c749b6fb175f8be2bb3f43b5f80d6e3d81217331bc124d7d34caba344b60b554d3a56664a0970e56034522a89a26bf66379e11bef3e93f095a62d5453ed4ed1c65d0c23c26f837da0a6c56b701f083b2d8dd1e03284fc72ae8716a2a9954725599a654ae54d50949390dd6c2c626a9b45e76446b36e2ece2be10360f02c230cda0c736db67706c071b083836375b8952d3d2558988e55069ea26cc4cb9b991d21949717d226a8cb5659d279712358bc6cec4cdb5d8d958f51ecacddadc0e56d46232c4ec3f66d55f4c2be7ca5254b13255295f2ab494a145c27404ee8445e662378dfc3cf96f070cdc24a0db5d8dc571eafd96c2f6b702c4b69f0a4a978a6ce5357d34eafa64a1494accea542ccd9612a5a41cc917238c28edd39a9d6234bf8fea27e0551966d3a7eaff0073b78df5283fa4ff00f4cd80d766e258748aea3c327d7d2c9c4b1144d9987e1eb9a84cf9e891979654a944e658979d39881670fac235385fd3d77fc27e051e25876226ac61f5f4b5c70f9eba5af1226a26f21512c02b933721392624283a4dc3c2358bf09fc26d3f3898f3838db8ff00b5fee9bf915f88d061521155895648a1a7993a453227ce58424ceaa9c8a7a79609f7d366cc4a1237920409d16afc42870ba49d5f8955caa1a2a600d455ce5044b40259d4a36173117dbc66223ce66d11e733368f144cda2667688999f0888bccfa43b71296bf276b7656a71ea9d96a6da6c1ea369e8d25757b392eb242abe524250b2a994a17caa404cd41ba7450e222226fb13a6ed8224201008040201008040203ad47fec74bff00091fd9101132ba8a5565361f36b244bafad44d9b4742a98913a6cb91904d5cb964e65265f288cc40b660fa88272cdafc2f6f5d66df089f84f274f14c7b03c0d13266338bd0e168954b535d30d4cf9729a968d295554f6590793921692b568970fac45ff5f232cdafc2f6f5d66df0899f49e4ecd562587d12a811575b229978a4f14d86a662c24cf9e65ae68972dfacac92d4a61b8189e36446b19a368fc66223e7311e72eec02010080402010080402010080efe0ffed95dff000a9ffb536036180402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080c3e3dfcd73bf5e47f7c880f24db7fe77a6fe888fef26406c5b1ff00cc73ff00a6abfba44074e3a9ce4020100804020100804020100804020100804020100804020101c13bf1b867fea586ff00ef64c52bd96a77777c398e53c10f845a39785e218cd6e2981623438561d87d054e255132aeae96648a70891492a74cbad61d79593aa88178e7cd6aa9fea8f94dff005f076f46988ae26768695e157129fb4183ec3e1d80c8da99d595f8860589a366fc5cc4b9a6212646254f3f91c52b66d223dcbe4392334f293a52d2dd242c7e0d5a445f1e38c44c4ef68889f6a278cd3decbc6622998ed396899a3a34eb699a6aa79ccce5b4d16b4da312f9335b4899aa2a8cb78c1e1b236ef02f0b5b45230ca9da05f8c9b553b10afc22760f2fc5e9b82ab67e5499358ac69348a5f2f2eae9a54912f9d8581d1e40a1a61cb0a6aeae298d662312f7f6666baeaa2da466bc4d113deb44ceb1974d2aa68cf354de3b96b6b9bb94d513be5b46798eeeb113799ae6275bd93a6f097e0af16f0c3b53b4db0b2b6a313abc0700ad9f51814cc4b1256398f73bc412a329070e1352897caa02d12c4ce6b4e89212162c9e8bc51d129a29fe6cdafbeb4e14555d56e17ed766359cf111196226969ab1734dbb93336d3bb7cb4537b45edd98bcde7b3354ccd532d8308934fb394fb0db635941b4db49860abda8a8da95a36631893529c6b1d5a27f2f27015d32aba4d35a7d3cb5f26a212b19d6aceb98796ba32ce58d699c2aa98f199c4a6ab4f08bdaa9ed5a98d22fddbebd64e2537abbfd65155f9534e1574697d66d1344766f33acf09b79ae21b31b7781e1de0cf085e198ed0e29846c66ca505460747854fc56871f9f495c6654e07895752ca9f2b0c4d08968cb53cacb4ab955152a64b414c74e5cdd26f5559a66bc3cd3adbb179eba2ad2f3154cd714f1cb1134ce7888a74baf3e1d53445a9fe34d31a6d896fe1dbed531144cf0de269cb32f78c0b163b59e182beab14c176870297b0a8c4f09d92a69d80e292296b8549a7562189cdc5a6532689689ab9225d3499736e02a6ab395a132b1c2eecd7c66262dca9cdf39aad13a6d4f8e64e2cd513187ecde2af3ab24db6da298aaaa75b76afca9be67632472382ed4f84ada9c0eb29713dac2a9eac1861b3e7d75260b44a989c2e8398c992baa54c12d4aa8992b2294274e9805800298916c1b71aa2f3fd554469c7b916a397666bd334997f8d3ca3b31e54def3fdf37aa38e59a69d6d0f21948ada4f011e07f14a095b65816dfec560b2a9b6730695b315b55326e2f230ce69328312a2a8a098b934b396932cce2a9018e644f4839a36e915cf5f9e8d6aaa998b4e913135513acfb3ad34f1f1b4c27261e25539f4a231335ed798efc6688f6bb354e969e5bbd0b6f6ab19c4b6c3c16e1f47271ba8afc3b16c3ebf1fd97460f54ac1572952e6a6755ccc74537212a650e633512f9cf4d484cb28fc2021874513d22fecd39ed33a5a7abaa22636cd9afd5cf7a222baa6d7a6f4d37e8fda8ed4e4ffbe99b7945b370da37bdaaed6c726bf08f0a1b4181e03331fc4363ab862f8a6d21c5b085d153e1d8c4fad90b952b0baf5d25273d955426d4ad402e7e5c896989040567d1ad18734f089d26749d6aaa6a8b718bce93f3aafa5fa4557c4cded4e5bf2b5344444df9da298b79e91312f5cc6fa941fd27ff00a66c5957cd1e18b67f68eaf69f61f6c764b009d8eed2783ea4c4f11c16984c32654f5cda9c3a9eaa855349129332aa8175225e7f7c1f71845538715551acf669b5ed78ab3efe145592b9fe9f16b1115d1926ab45efeb4eb1f1d69feef079560db2d8f6c5af18c1f68e5ed9a3636b368714aec7b14d99958c8c42bb18acc23079f2ead2708cd5bcd66d62b107c9f82130210bb068dba4cc65c2eaefd9c3ae29bf38c6af2e6e17c969ed7666f333ecb3a22f9aad226aae99aa3c268d623c22acb1d9ed7a6672e31236e71556c5d1edcd16dc556d7534df07d5145230d9388ab052b9588524ec767625ee6a7dcd3365cc44c2b150e1094cb5496e9189c3b7d62a9d3bf57964eae2d6cdf6e6ab7b7cf4b23126d4697cb344ff00566bd7bf1ee64bdf4ef5b5bbbf22836fabc784aa7c6ebb68eb315a89788a2a765e661b8c4ca298d8ca1585cfa0ac9a578634ba064f274412a585669e394429b2c2ee61ff00ea74799e74cc55138bbeb34cceb7eed314e968a9974bd69c488e3878b6f189a2d4fafcef331ad9e99e1155522a302fc26db0d8a38cd6276e7dc44e33ee885f337a2e40e1c9f74398f2c066e676cece7272919513178bed96ab6fdfcf1bdbecf59973766d96dbd0d66749cbbe6a6ffd393d9e17bf577b7dbf6ae6253ea316f0adb01ee749c7f12a0c05556ac4b0faec1eae92870fe5b0b98118a4ac527d3c913ea0f2a294c9e5a67e3564a02a5129d30a6a8c5ae6fa4d131feba26d1cef96fe9131311a554aff00e9d36e713c75eccefe57e3c785f6f77885c80402010080402010080d3b6a6871ac4b62314a5d9aad561fb4668394c02a82d4802b64a44da7130a6e65aa621299837a491be2b55597b56be5989b7bd11379a7fba34f55f0e22a9cb339626f17de69bc5b345f8d3bc78c3c5397f0838d61d2f682b276d4ec71dafc1f6a2bd54a9a2a9aea8c03349a1a7c225f3190952cd4a254a54fe413d233553426f0afb35453bc649bcebacce2535444da6f16a6724cc4c691354597a6a89a2f6daba62da5ed187899bce26bd6266fa4d113c9ade268db3c6fc17cca0a7d9eda5968a9d92dbda39b87d41c66ba7d64ff00c1cac3a6abdd707104aaac675d3c9a8e9a41c81c2618d339e2fa464e16d273d16d634cd96f3cf7beb769d0ed4db58998c5a35daf192bbe93b4455689e17da66262672780d1ed05663983cfc211b63896c7d26d16195187ccda79189a2ba5568c2314462734a312952aa255195ae9427a22509856258096116c7f6663bd9f16dcb2753d8f1efe78edf6b6e195c9d16229c2ae9999ff00a7877f1aa31a999b78e58899cbd9b469ae76d1e0193b5e24e30bdb2c631fa9c69749877bbf83629418b49934d8c0e5fdd09d47598895d34f953959009787ab9b202029094f297bda9c9d9dafbcefb46f1bff00bccc42712fd67c76db7d2de9ebef6afa162810080402010080402010080efe0ffed95dff000a9ffb536036180402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080c3e3dfcd73bf5e47f7c880f24db7fe77a6fe888fef26406c5b1ff00cc73ff00a6abfba44074e3a9ce4020100804020100804020100804020100804020100804020101c13bf1b867fea586ff00ef64c52bd96a777b2460d880402010080402010080406131bea507f49ffe99b018a804020100804020100804020100804020101d6a3ff63a5ff848fec880ecc020100804020100804020100804020101dfc1ff00db2bbfe153ff006a6c06c30080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010187c7bf9ae77ebc8fef9101e49b6ffcef4dfd111fde4c80d8b63ff98e7ff4d57f74880e9c7539c8040201008040201008040201008040201008040201008040203a957ffe07ff0050c3ff00f792a295ecb53bbd22306c40201008040201008040203118c7e2a97fe37ff5ae030d0080a09b2d44253312a51ccc011ef0b2bcc6c602f00804020100804020100804020101c527f112bf513f640565d5534e952e749a895364cd2d2a6a16149517660458dc4073c020100804020100804020100804020327847e3aaff5257db32033b008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201018fc53fd8d7faf2bfbd4c068db6d49506b692b132d4a906409456058292a51bfd280d87662927d2e07f8796659a8a954d42486394a1291fd980c547539c8040201008040201008040201008040201008040201008040203a957ffe07ff0050c3ff00f792a295ecb53bb01fe90e76747815f0907696661f2a8fdc4afe626b96844b35dcdd7ccc23942019a67e5e4c6b999af1cf788ae899f7a2df1fcaeede8ddfd76e3e5e2f3ef0c7886c2e288f06f8c50e23b118aed1ccc4301abc0af4f3f68aba83dd3a75a7c5da942973139d41598a50a42919812804ad3ae1c4c748d2fbc5edbda6f69abec46b357d8cf67244cfd535b5b2d56cdddbc53da88bdbf89b451ade3132693b311495cba1f0e78bceada6d92c7f6a2ab6966d361782d4d0a95b534783a767c4c915d455d36a1a450f2a95ca225d3f24553579a689aa5a630c1aa630f48bd56c4bdb498b575e5cf3af7a98a223bbbd1369e3ad7444d537aad1d8b5fdabe589c9b77666aae779ecd5c2d3180c1b6855b3d887871c6bc37ec8572282a367767314dacc37159f85d7d0aea6655e232a461d4884554d93cdc9e4e449e5024132d5327e52bccadeaa298e894d336aa7ae98bce99aa9a7075fb39675d67b34cd3ace5aad5a66a9c6cd698fe1cdedada8a73708bccccc66bdbbd566b445e21ddc3e93c1c51ecc6c00dafc5f62b12f051575bb4b595f4d4f534b53b2987e295730545061b2a6a9a42c524a5d4cb94549483303a508572684f3e2c4e688aa6f31875659e33567a6d938de233534dbb59227ed2f4551553334c5aaeb28bc46d14c61d5139eda6b54515557d26baa27798689b495353c9781f9bb5630a56d1e09b25b2d533b0dda60f8e574e9b5e0cd46cccca83cacac6502980aab294b2b929390b2e3aa22b9e95af7a6ba2262998d262f354e9131d55eaeddb4ab0e9af58b45e9d2eaa7aaabab8fe1c75d31a6f44e5cb1fd7963b1eed531a4ddeddb3355e0d3697c396d14ed9b99b2784629b392715c276a28642e9118d6d0d6d42a9d75932ae9d0d3974943c9e40b9a145530af2e4421e77360d3138557f2e627b3c3bdad75473bde239c5533ed42f8d54c574d33de8989bcefdc9b534cf2cb3154db4bd34c6f4cdbb3e0e764bc19516ceede7841f17366b64762f6d65f252e951269e830e3b3d8719a8a6a9ab032493cf0cc9b5056a03f04b972d5d48ae2dba8d7db88abfca3b14f0d622d78df3cd5acc591967af9b7b37a7e1df9f8de3965a62ad2f2f2faf5ec5e27fe8efe04b692b718d84c5e9b64705a75d0ecb6d0a24d7516355b4f84f379b8553a44f4e5ad0a4a90869739485ffe528da37e955ffe226befccd354453ed4deaa26f4f8de9b7f75af174c61c577a6272d3189bded4c77e2337d9b559bd225e8db7d3765bf94af04d59494db232f6c3dd1c39388e052e5c84ed8a2927c99f2e5991352ae553454f9caea505194ca4cc650362c2a2fd266d3b67bcc6d7eae7fea6f7898b6589b7f1270a6fa5a697bf45d6263b96ff3a748f1deff00673469acc603c13d5f23e14714955fe28e2bb5d8962bb589da042280a76b30ba4938a4c3874cafae554cd5aa8a7d2a69d1225f212d19392c8a5017614c648888ff00cb899aa2f6cf7a22aa2abfb533354ef1dcab2c4d36cae9557f135df34447f4e4aa62a8f08d227c6bd6734ebf53e31f8aa5ff008dff00d6b8aa5f34f8503b19e3e6c68f0a5ee67881ee5e29ccfddce4bdc4f76795a5e4b9d739ff0057e5f9b72dcdf94fd265bc30f2debbdafd9cbfebcf6fff00cfc6de175aa9af2c65eede735bd325fecf7af7d3365e366bb8e6dca306c568f0ed8dda9c3700c06870dc126f834d90a2a7a35d2ed322b6a664a9f269de5aa6cc9726521099628968e4b3729333cb294c4e1de662face78a6dcb0ed476f9e99aadf4fe1f9b0c59cb4d59785154c4de22f8919bb1f18a7c673da3569f3316c5f6754ac6f67a904fc630ea7f0ad328c64cf91f6c28b949c50028a84b4bcc2002eda1d22662d44708fe0c4ce916a6aabb5379d22d179bce9c67475e2d1deb46b1378f19ea666234d7b555a3c5b227c20e329c2b64a5e37e16307c2365f16afc665d47856a0abc1ab41e6825af0fa19d59328d185cb9f392b9a564530fc5654f48bc47b74df4ecccdb68aa62bb71999eeef69899aaf316a6998614ded55b5edd31e34d3345e666db76f4899d32cd37ed550c8e198b562368eae967ed4ccdafac93e10ccb9184578a29b330ba59d835554d30a60892899213353642cea87cbaacab2cd5538787a6b7c68f1bd3d6da3e1113e555bb9962183ace3f6b4b61795a67035f2bcceda66a6fdfcd33ab619e1436cebb084ab0bdb6a6c631dc5309c3eab69a9d54947353b258dd5e2d4145ee5ae9e9d32660196aaa13c8d5accefc01fc26add15d1114e937a7acc2a69aad6cf15cd59fc3488a74b5e9cfdabde1a46b893c2d462ce5e5d5d37a66ff7f0abd988889bfd0de0feaf199b45b41418de313b1fa9c0b1aaba0918b4f954f267cd92812e64be5534b2e4c9cc9e532ba25a6c03ddc9ce99cd874d5c6737fa712ba23e314c5fc6f6b468c734f5b5c70898b7ae1d157df54dbc2dbeedf60b900804020100804020343f08b266547833db6932aa6651cc99b3f8804d4cb082a4ff00aa2f41312b4f9c4678d466a6dfafd4baba0ffd7a3faa3ef78dd4519c336ae9b668725532b0856c1aa5e2fcce8e9eaa72e6d662e15ca9a493225108e4c14a4202524a881d231d95d39babaafaf5b8f1ff00fcbbf9cde6f3e9b43ccae223a3dbc30b4ffdfa6dfaf0695336f76cb03d97d9aa2a3f09d4c674c9fb4a9c4f6c768eaf0ca6932b18c3aae54ba2c12bea1748a972d0b44c993264a64542929fc14c4252d1860f6a30bc70f0e6dc6abc466f39a7bbcefdebce696b851a6271fe2d71fd317ab2ff0096931ecc44f662226888fa1f62ebf68717dabf08d3b12c726cdc2300c5d184e0b80a2453a2421070bc3ab553cce12f9798be52a1607e132b1b82588d670f2e1d33bcd779f2cb898945bd6dafa5adacd56bde7d23e33113ff001ff16f4e8c562010080402010080402010080c9e11f8eabfd495f6cc80cec020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804063f14ff635febcafef53019da6d2038f10ea27be03ce63a9ce4020100804020100804020100804020100804020100804020101d4abff00f03ffa861fff00bc9514af65a9dde9118361858b5c68600c1ddafc60100201d43c01816245c6860100808201670eda40183e660fc60258392d73a980c4631f8aa5ff008dff00d6b80c3100d887100616b69a40202183335b8404c02010080402010080402010080e291f8993fa89fb2039600c384020100804020100804020100804020327847e3aaff5257db32033b008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201018fc53fd8d7faf2bfbd4c06769b480e3c43a89ef80d0b98e23f904dfa72bfcf1b7590cb249cc711fc826fd395fe787590649398e23f904dfa72bfcf0eb20c92a2a96b90a969550cc0672b2cb19a55ce52af2f824c3ac8324afcc711fc826fd395fe787590649398e23f904dfa72bfcf0eb20c92731c47f209bf4e57f9e1d641925434b5c262651a199ca2d2a52539a5689201f7ff9c21d6419257e6388fe4137e9caff003c3ac83249cc711fc826fd395fe787590649398e23f904dfa72bfcf0eb20c92a0a5ae33152850cce51094a949cd2b451207bff00cd30eb20c92bf31c47f209bf4e57f9e1d641924e6388fe4137e9caff003c3ac83249cc711fc826fd395fe787590649398e23f904dfa72bfcf0eb20c92731c47f209bf4e57f9e1d641924e6388fe4137e9caff3c3ac83249cc711fc826fd395fe787590649398e23f904dfa72bfcf0eb20c92731c47f209bf4e57f9e1d641924e6388fe4137e9caff003c3ac83249cc711fc826fd395fe787590649398e23f904dfa72bfcf0eb20c92e29986e24b5521e60b69157493e602b957448a844d501d3d4a505a2b557784c52defdd347c4d55fd5bd7466d0f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d018fc42a15569a612b08a84f25373af3737b8c8b4ee9a77a840745a67c513bfabfac8034cf8a277f57f5900699f144efeafeb200d33e289dfd5fd6401a67c513bfabfac8034cf8a277f57f5900699f144efeafeb200d33e289dfd5fd6401a67c513bfabfac8034cf8a277f57f5900699f144efeafeb200d33e289dfd5fd6401a67c513bfabfac8034cf8a277f57f5900699f144efeafeb200d33e289dfd5fd6407148973a5c9932d7854d2b4212951791a81ff00120395a67c513bfabfac8034cf8a277f57f5900699f144efeafeb200d33e289dfd5fd6401a67c513bfabfac8034cf8a277f57f5900699f144efeafeb200d33e289dfd5fd6401a67c513bfabfac8034cf8a277f57f5900699f144efeafeb200d33e289dfd5fd6401a67c513bfabfac8034cf8a277f57f5900699f144efeafeb203b5413974b3aa664cc22a0a26a25a500737d5056ff00f9a3ca10194f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d014998bc99490a5e0f5490549482d4daad4129ff00cde2602fee9a3e26aafeadeba03a388d52aae917224e1152898a54b21479b81d198951d269dc2039a5621365eb85d5f9e9fd6c052aebe6ce4809c32ac31de69fd6c06bdb678d556ceec7ed66d051224cdadc0b09aeafa4973828ca54da5a75ce40981252a292a4dd88ef80f17c0319ff00492da2c0b05da0a21e0aa551e3b454d5f492a7271a13532aaa5267204c092a48500abb123b60352f007e1fb6c7c29ed8625b3fb438760747454784ceaf9532824d44b9a66cba8a7920133aa27272e59c7770bc07d5b547f0f86ff4857f713603a5b4589e238460988e278560d3768abe8a5f292305933132a6d43119932d4a0466cae40de6dbe03cf2b3c2563d8b60b81e3de0bf6247843a2c4b974e2a8562b4b844dc3a6c9e4c0913e5d52544cc254a0a48eae5de140c06cfb178f6d9e3722b97b63b0a361a7485a050c8f7529b13e70920e6566a64a4232960c7580da567ff0011a5fe8f3ffb726031db4fb49876c96cfe2fb4b8ba969c3b05a75d4548960198a091644b04a415acb252e45ceb01e3727c2c6dde12367b1ddb8f07d2301d8cda6a9a7a6975d4f5fce2b30c35672d32f109265a0645923314919378ccc921f416680e920ffe2355fd1e47f6e7407773403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334074abcfe011fd229bfbf4407436971ca6d9dc0b13c66aeba830e974728f27575f3790a54ce59e4e409d340252954d5252480f780fcea57856f0e7b71369319c3a46255b4de0eeaa7546d2d460351369e8ab2472c99c9953d34eae4e6252894a482333a0b906e487d47fe8f9e16719f08f87e31e3462581ab17e7136a30ac268e601572e882c255cb5387cb2e5ad6942144e657bedc541f469540689e11e9aaabfc1e6de50d153cdacadacc0314934949250a99366cd99473128972d09054a52945801ac078d6c6785aadd9dd8fd94d9fadf03de1526d660584d0d055cd93b3ea329536969d12565055392a292536703ba03c5ff00d14f62f6c766fc21e335db43b278e603453700a8932aaebe82a69652a6aab29142585ce42525452925bb0c07dc8ac5f0da9c63dc7a7ad953b13c297266e254692eb928aa9351c815f0cfc92881ab5f42202fb45578dd260988d46cde1b2717c7512fff000cc3e74e12252e69200e5261d1297cc78b30bc0782625b0db41b37b3b88e192b608785fc4fc22cd9b57e12eac631270295cba0cb54944842b29e4dd4a09c8cae8babac000dafc0c6cc78af438ecafe4b0782ee773a4ab9a0c73ddbe77952a19f3e75f2591d9b7bc07af2cffafd37fc09ff00db95018eda7d9fc3b6b767f17d9ac5d2b561d8d53ae9ea8cb213312142cb9648500b416525c10e34301f36ed3f82af0d788eced2e0f376f305da7a0d92994d598160f3a8954f33175d0ad2a9323109b9c04f452c1964294d9d43f1890f7fd85dab9fb63b37458dd5e05886cdd72d5324e2383574a5ca9b22a2428cb9a94e74a73a3383954dde0170036441ff005fa9ff008123fb73603b99a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a03a75c7f028ff008f4ffdf220303b6fb3941b5fb2b8cecf62787fbad4b5d282bdcde5d74a274d90b4cf92833d1d2960cd96973f6c07e7460d887863f043206cad2e194bb372fc28d64ea7c370cac0664da69a262690cc96ace4a3f1890952f366002b8121f487fa32f82fc436324e398bed3eca2f02da69532761923125d4ad46ae90cc44c99feaee658489925392627ae34b5d41f58154070bc01e0307b4f5b5387ecded0d7d1cce46ae870eab9f4b3582b2cc97254b42994082c46f101f1bff00a24e215d8b627e10f13c4aae6d76215d57854eacac9aa2a993262e56244a944c07dc8f007803c075167fd7a9ff00e0cefed4a80edbc01e00e603a883febd53ff00064ff6a6c076de00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e03a95a7f028ff8d23fbe44076de027311a1d6021e03e61ff004b0f089b63e0d3c1de0d8eec4e31ee2e2b578fd3d15455737a7a9cd4eba3ab9aa464a9973501d72925c07b407fffd9}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 At the time of writing, the project is currently available on {\field{\*\fldinst{HYPERLINK "https://github.com/spect88/backbone-devtools"}}{\fldrslt{\ul
+GitHub
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Conclusions\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this section we reviewed Backbone Boilerplate and learned how to use the {\f1 bbb} tool to help us scaffold out our application.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you would like to learn more about how this project helps structure your app, BBB includes some built-in boilerplate sample apps that can be easily generated for review.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 These include a boilerplate tutorial project ({\f1 bbb init:tutorial}) and an implementation of my {\field{\*\fldinst{HYPERLINK "http://todomvc"}}{\fldrslt{\ul
+TodoMVC
+}}}
+ project ({\f1 bbb init:todomvc}). I recommend checking these out as they\u8217'll provide you with a more complete picture of how Backbone Boilerplate, its templates, and so on fit into the overall setup for a web app.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For more about Grunt-BBB, remember to take a look at the official project {\field{\*\fldinst{HYPERLINK "https://github.com/backbone-boilerplate/grunt-bbb"}}{\fldrslt{\ul
+repository
+}}}
+. There is also a related {\field{\*\fldinst{HYPERLINK "https://dl.dropbox.com/u/79007/talks/Modern_Web_Applications/slides/index.html"}}{\fldrslt{\ul
+slide-deck
+}}}
+ available for those interested in reading more.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Exercise 3: Your First Modular Backbone + RequireJS App\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this chapter, we\u8217'll look at our first practical Backbone & RequireJS project - how to build a modular Todo application. Similar to exercise 1, the application will allow us to add new todos, edit new todos and clear todo items that have been marked as completed. For a more advanced practical, see the section on mobile Backbone development.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The complete code for the application can can be found in the {\f1 practicals/modular-todo-app} folder of this repo (thanks to Thomas Davis and J\u233?r\u244?me Gravel-Niquet). Alternatively grab a copy of my side-project {\field{\*\fldinst{HYPERLINK "https://github.com/addyosmani/todomvc"}}{\fldrslt{\ul
+TodoMVC
+}}}
+ which contains the sources to both AMD and non-AMD versions.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Overview\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Writing a modular Backbone application can be a straight-forward process. There are however, some key conceptual differences to be aware of if opting to use AMD as your module format of choice:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab As AMD isn\u8217't a standard native to JavaScript or the browser, it\u8217's necessary to use a script loader (such as RequireJS or curl.js) in order to support defining components and modules using this module format. As we\u8217've already reviewed, there are a number of advantages to using the AMD as well as RequireJS to assist here.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Models, views, controllers and routers need to be encapsulated {\i using} the AMD-format. This allows each component of our Backbone application to cleanly manage dependencies (e.g collections required by a view) in the same way that AMD allows non-Backbone modules to.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Non-Backbone components/modules (such as utilities or application helpers) can also be encapsulated using AMD. I encourage you to try developing these modules in such a way that they can both be used and tested independent of your Backbone code as this will increase their ability to be re-used elsewhere.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now that we\u8217've reviewed the basics, let\u8217's take a look at developing our application. For reference, the structure of our app is as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 index.html\line
+...js/\line
+ main.js\line
+ .../models\line
+ todo.js\line
+ .../views\line
+ app.js\line
+ todos.js\line
+ .../collections\line
+ todos.js\line
+ .../templates\line
+ stats.html\line
+ todos.html\line
+ ../libs\line
+ .../backbone\line
+ .../jquery\line
+ .../underscore\line
+ .../require\line
+ require.js\line
+ text.js\line
+...css/\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Markup\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The markup for the application is relatively simple and consists of three primary parts: an input section for entering new todo items ({\f1 create-todo}), a list section to display existing items (which can also be edited in-place) ({\f1 todo-list}) and finally a section summarizing how many items are left to be completed ({\f1 todo-stats}).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1
\line
+\line
+
\line
+\line
+
\line
+ \line
+ Press Enter to save this task\line
+
\line
+\line
+
\line
+
\line
+
\line
+\line
+ \line
+\line
+
\line
+\line
+
\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The rest of the tutorial will now focus on the JavaScript side of the practical.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Configuration options\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you\u8217've read the earlier chapter on AMD, you may have noticed that explicitly needing to define each dependency a Backbone module (view, collection or other module) may require with it can get a little tedious. This can however be improved.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In order to simplify referencing common paths the modules in our application may use, we use a RequireJS {\field{\*\fldinst{HYPERLINK "http://requirejs.org/docs/api.html#config"}}{\fldrslt{\ul
+configuration object
+}}}
+, which is typically defined as a top-level script file. Configuration objects have a number of useful capabilities, the most useful being mode name-mapping. Name-maps are basically a key:value pair, where the key defines the alias you wish to use for a path and the value represents the true location of the path.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the code-sample below, you can see some typical examples of common name-maps which include: {\f1 backbone}, {\f1 underscore}, {\f1 jquery} and depending on your choice, the RequireJS {\f1 text} plugin, which assists with loading text assets like templates.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b main.js}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 require.config(\{\line
+ baseUrl:'../',\line
+ paths: \{\line
+ jquery: 'libs/jquery/jquery-min',\line
+ underscore: 'libs/underscore/underscore-min',\line
+ backbone: 'libs/backbone/backbone-optamd3-min',\line
+ text: 'libs/require/text'\line
+ \}\line
+\});\line
+\line
+require(['views/app'], function(AppView)\{\line
+ var app_view = new AppView;\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The {\f1 require()} at the end of our main.js file is simply there so we can load and instantiate the primary view for our application ({\f1 views/app.js}). You\u8217'll commonly see both this and the configuration object included in most top-level script files for a project.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In addition to offering name-mapping, the configuration object can be used to define additional properties such as {\f1 waitSeconds} - the number of seconds to wait before script loading times out and {\f1 locale}, should you wish to load up i18n bundles for custom languages. The {\f1 baseUrl} is simply the path to use for module lookups.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For more information on configuration objects, please feel free to check out the excellent guide to them in the {\field{\*\fldinst{HYPERLINK "http://requirejs.org/docs/api.html#config"}}{\fldrslt{\ul
+RequireJS docs
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Modularizing our models, views and collections\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Before we dive into AMD-wrapped versions of our Backbone components, let\u8217's review a sample of a non-AMD view. The following view listens for changes to its model (a Todo item) and re-renders if a user edits the value of the item.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var TodoView = Backbone.View.extend(\{\line
+\line
+ //... is a list tag.\line
+ tagName: 'li',\line
+\line
+ // Cache the template function for a single item.\line
+ template: _.template($('#item-template').html()),\line
+\line
+ // The DOM events specific to an item.\line
+ events: \{\line
+ 'click .check' : 'toggleDone',\line
+ 'dblclick div.todo-content' : 'edit',\line
+ 'click span.todo-destroy' : 'clear',\line
+ 'keypress .todo-input' : 'updateOnEnter'\line
+ \},\line
+\line
+ // The TodoView listens for changes to its model, re-rendering. Since there's\line
+ // a one-to-one correspondence between a **Todo** and a **TodoView** in this\line
+ // app, we set a direct reference on the model for convenience.\line
+ initialize: function() \{\line
+ this.model.on('change', this.render, this);\line
+ this.model.view = this;\line
+ \},\line
+ ...\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note how for templating the common practice of referencing a script by an ID (or other selector) and obtaining its value is used. This of course requires that the template being accessed is implicitly defined in our markup. The following is the \u8216'embedded\u8217' version of our template being referenced above:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Whilst there is nothing wrong with the template itself, once we begin to develop larger applications requiring multiple templates, including them all in our markup on page-load can quickly become both unmanageable and come with performance costs. We\u8217'll look at solving this problem in a minute.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's now take a look at the AMD-version of our view. As discussed earlier, the \u8216'module\u8217' is wrapped using AMD\u8217's {\f1 define()} which allows us to specify the dependencies our view requires. Using the mapped paths to \u8216'jquery\u8217' etc. simplifies referencing common dependencies and instances of dependencies are themselves mapped to local variables that we can access (e.g \u8216'jquery\u8217' is mapped to {\f1 $}).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b views/todo.js}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 define([\line
+ 'jquery',\line
+ 'underscore',\line
+ 'backbone',\line
+ 'text!templates/todos.html'\line
+ ], function($, _, Backbone, todosTemplate)\{\line
+ var TodoView = Backbone.View.extend(\{\line
+\line
+ //... is a list tag.\line
+ tagName: 'li',\line
+\line
+ // Cache the template function for a single item.\line
+ template: _.template(todosTemplate),\line
+\line
+ // The DOM events specific to an item.\line
+ events: \{\line
+ 'click .check' : 'toggleDone',\line
+ 'dblclick div.todo-content' : 'edit',\line
+ 'click span.todo-destroy' : 'clear',\line
+ 'keypress .todo-input' : 'updateOnEnter'\line
+ \},\line
+\line
+ // The TodoView listens for changes to its model, re-rendering. Since there's\line
+ // a one-to-one correspondence between a **Todo** and a **TodoView** in this\line
+ // app, we set a direct reference on the model for convenience.\line
+ initialize: function() \{\line
+ this.model.on('change', this.render, this);\line
+ this.model.view = this;\line
+ \},\line
+\line
+ // Re-render the contents of the todo item.\line
+ render: function() \{\line
+ this.$el.html(this.template(this.model.toJSON()));\line
+ this.setContent();\line
+ return this;\line
+ \},\line
+\line
+ // Use `jQuery.text` to set the contents of the todo item.\line
+ setContent: function() \{\line
+ var content = this.model.get('content');\line
+ this.$('.todo-content').text(content);\line
+ this.input = this.$('.todo-input');\line
+ this.input.on('blur', this.close);\line
+ this.input.val(content);\line
+ \},\line
+ ...\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 From a maintenance perspective, there\u8217's nothing logically different in this version of our view, except for how we approach templating.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Using the RequireJS text plugin (the dependency marked {\f1 text}), we can actually store all of the contents for the template we looked at earlier in an external file (todos.html).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b templates/todos.html}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1
\line
+
\line
+ />\line
+ \line
+ \line
+
\line
+
\line
+ \line
+
\line
+
\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 There\u8217's no longer a need to be concerned with IDs for the template as we can map its contents to a local variable (in this case {\f1 todosTemplate}). We then simply pass this to the Underscore.js templating function {\f1 _.template()} the same way we normally would have the value of our template script.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next, let\u8217's look at how to define models as dependencies which can be pulled into collections. Here\u8217's an AMD-compatible model module, which has two default values: a {\f1 content} attribute for the content of a Todo item and a boolean {\f1 done} state, allowing us to trigger whether the item has been completed or not.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b models/todo.js}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 define(['underscore', 'backbone'], function(_, Backbone) \{\line
+ var TodoModel = Backbone.Model.extend(\{\line
+\line
+ // Default attributes for the todo.\line
+ defaults: \{\line
+ // Ensure that each todo created has `content`.\line
+ content: 'empty todo...',\line
+ done: false\line
+ \},\line
+\line
+ initialize: function() \{\line
+ \},\line
+\line
+ // Toggle the `done` state of this todo item.\line
+ toggle: function() \{\line
+ this.save(\{done: !this.get('done')\});\line
+ \},\line
+\line
+ // Remove this Todo from *localStorage* and delete its view.\line
+ clear: function() \{\line
+ this.destroy();\line
+ this.view.remove();\line
+ \}\line
+\line
+ \});\line
+ return TodoModel;\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As per other types of dependencies, we can easily map our model module to a local variable (in this case {\f1 Todo}) so it can be referenced as the model to use for our {\f1 TodosCollection}. This collection also supports a simple {\f1 done()} filter for narrowing down Todo items that have been completed and a {\f1 remaining()} filter for those that are still outstanding.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b collections/todos.js}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 define([\line
+ 'underscore',\line
+ 'backbone',\line
+ 'libs/backbone/localstorage',\line
+ 'models/todo'\line
+ ], function(_, Backbone, Store, Todo)\{\line
+\line
+ var TodosCollection = Backbone.Collection.extend(\{\line
+\line
+ // Reference to this collection's model.\line
+ model: Todo,\line
+\line
+ // Save all of the todo items under the `todos` namespace.\line
+ localStorage: new Store('todos'),\line
+\line
+ // Filter down the list of all todo items that are finished.\line
+ done: function() \{\line
+ return this.filter(function(todo)\{ return todo.get('done'); \});\line
+ \},\line
+\line
+ // Filter down the list to only todo items that are still not finished.\line
+ remaining: function() \{\line
+ return this.without.apply(this, this.done());\line
+ \},\line
+ ...\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In addition to allowing users to add new Todo items from views (which we then insert as models in a collection), we ideally also want to be able to display how many items have been completed and how many are remaining. We\u8217've already defined filters that can provide us this information in the above collection, so let\u8217's use them in our main application view.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b views/app.js}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 define([\line
+ 'jquery',\line
+ 'underscore',\line
+ 'backbone',\line
+ 'collections/todos',\line
+ 'views/todo',\line
+ 'text!templates/stats.html'\line
+ ], function($, _, Backbone, Todos, TodoView, statsTemplate)\{\line
+\line
+ var AppView = Backbone.View.extend(\{\line
+\line
+ // Instead of generating a new element, bind to the existing skeleton of\line
+ // the App already present in the HTML.\line
+ el: $('#todoapp'),\line
+\line
+ // Our template for the line of statistics at the bottom of the app.\line
+ statsTemplate: _.template(statsTemplate),\line
+\line
+ // ...events, initialize() etc. can be seen in the complete file\line
+\line
+ // Re-rendering the App just means refreshing the statistics -- the rest\line
+ // of the app doesn't change.\line
+ render: function() \{\line
+ var done = Todos.done().length;\line
+ this.$('#todo-stats').html(this.statsTemplate(\{\line
+ total: Todos.length,\line
+ done: Todos.done().length,\line
+ remaining: Todos.remaining().length\line
+ \}));\line
+ \},\line
+ ...\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Above, we map the second template for this project, {\f1 templates/stats.html} to {\f1 statsTemplate} which is used for rendering the overall {\f1 done} and {\f1 remaining} states. This works by simply passing our template the length of our overall Todos collection ({\f1 Todos.length} - the number of Todo items created so far) and similarly the length (counts) for items that have been completed ({\f1 Todos.done().length}) or are remaining ({\f1 Todos.remaining().length}).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The contents of our {\f1 statsTemplate} can be seen below. It\u8217's nothing too complicated, but does use ternary conditions to evaluate whether we should state there\u8217's \u8220"1 item\u8221" or \u8220"2 items\u8221" in a particular state.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 <% if (total) \{ %>\line
+ \line
+ <%= remaining %>\line
+ <%= remaining == 1 ? 'item' : 'items' %> left.\line
+ \line
+ <% \} %>\line
+ <% if (done) \{ %>\line
+ \line
+ \line
+ Clear <%= done %>\line
+ completed <%= done == 1 ? 'item' : 'items' %>\line
+ \line
+ \line
+ <% \} %>\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The rest of the source for the Todo app mainly consists of code for handling user and application events, but that rounds up most of the core concepts for this practical.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To see how everything ties together, feel free to grab the source by cloning this repo or browse it {\field{\*\fldinst{HYPERLINK "https://github.com/addyosmani/backbone-fundamentals/tree/master/practicals/modular-todo-app"}}{\fldrslt{\ul
+online
+}}}
+ to learn more. I hope you find it helpful!\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Note:} While this first practical doesn\u8217't use a build profile as outlined in the chapter on using the RequireJS optimizer, we will be using one in the section on building mobile Backbone applications.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Route-based module loading\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This section will discuss a route based approach to module loading as implemented in {\field{\*\fldinst{HYPERLINK "http://walmartlabs.github.com/lumbar"}}{\fldrslt{\ul
+Lumbar
+}}}
+ by Kevin Decker. Like RequireJS, Lumbar is also a modular build system, but the pattern it implements for loading routes may be used with any build system.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The specifics of the Lumbar build tool are not discussed in this book. To see a complete Lumbar based project with the loader and build system see {\field{\*\fldinst{HYPERLINK "http://thoraxjs.org"}}{\fldrslt{\ul
+Thorax
+}}}
+ which provides boilerplate projects for various environments including Lumbar.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 JSON-based module configuration\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 RequireJS defines dependencies per file, while Lumbar defines a list of files for each module in a central JSON configuration file, outputting a single JavaScript file for each defined module. Lumbar requires that each module (except the base module) define a single router and a list of routes. An example file might look like:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \{\line
+ "modules": \{\line
+ "base": \{\line
+ "scripts": [\line
+ "js/lib/underscore.js",\line
+ "js/lib/backbone.js",\line
+ "etc"\line
+ ]\line
+ \},\line
+ "pages": \{\line
+ "scripts": [\line
+ "js/routers/pages.js",\line
+ "js/views/pages/index.js",\line
+ "etc"\line
+ ],\line
+ "routes": \{\line
+ "": "index",\line
+ "contact": "contact"\line
+ \}\line
+ \}\line
+ \}\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Every JavaScript file defined in a module will have a {\f1 module} object in scope which contains the {\f1 name} and {\f1 routes} for the module. In {\f1 js/routers/pages.js} we could define a Backbone router for our {\f1 pages} module like so:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 new (Backbone.Router.extend(\{\line
+ routes: module.routes,\line
+ index: function() \{\},\line
+ contact: function() \{\}\line
+\}));\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Module loader Router\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A little used feature of {\f1 Backbone.Router} is its ability to create multiple routers that listen to the same set of routes. Lumbar uses this feature to create a router that listens to all routes in the application. When a route is matched, this master router checks to see if the needed module is loaded. If the module is already loaded, then the master router takes no action and the router defined by the module will handle the route. If the needed module has not yet been loaded, it will be loaded, then {\f1 Backbone.history.loadUrl} will be called. This reloads the route, causes the master router to take no further action and the router defined in the freshly loaded module to respond.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A sample implementation is provided below. The {\f1 config} object would need to contain the data from our sample configuration JSON file above, and the {\f1 loader} object would need to implement {\f1 isLoaded} and {\f1 loadModule} methods. Note that Lumbar provides all of these implementations, the examples are provided to create your own implementation.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // Create an object that will be used as the prototype\line
+// for our master router\line
+var handlers = \{\line
+ routes: \{\}\line
+\};\line
+\line
+_.each(config.modules, function(module, moduleName) \{\line
+ if (module.routes) \{\line
+ // Generate a loading callback for the module\line
+ var callbackName = "loader_" moduleName;\line
+ handlers[callbackName] = function() \{\line
+ if (loader.isLoaded(moduleName)) \{\line
+ // Do nothing if the module is loaded\line
+ return;\line
+ \} else \{\line
+ //the module needs to be loaded\line
+ loader.loadModule(moduleName, function() \{\line
+ // Module is loaded, reloading the route\line
+ // will trigger callback in the module's\line
+ // router\line
+ Backbone.history.loadUrl();\line
+ \});\line
+ \}\line
+ \};\line
+ // Each route in the module should trigger the\line
+ // loading callback\line
+ _.each(module.routes, function(methodName, route) \{\line
+ handlers.routes[route] = callbackName;\line
+ \});\line
+ \}\line
+\});\line
+\line
+// Create the master router\line
+new (Backbone.Router.extend(handlers));\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Using NodeJS to handle pushState\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 window.history.pushState} support (serving Backbone routes without a hash mark) requires that the server be aware of what URLs your Backbone application will handle, since the user should be able to enter the app at any of those routes (or hit reload after navigating to a pushState URL).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Another advantage to defining all routes in a single location is that the same JSON configuration file provided above could be loaded by the server, listening to each route. A sample implementation in NodeJS and Express:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var fs = require('fs'),\line
+ _ = require('underscore'),\line
+ express = require('express'),\line
+ server = express(),\line
+ config = JSON.parse(fs.readFileSync('path/to/config.json'));\line
+\line
+_.each(config.modules, function(module, moduleName) \{\line
+ if (module.routes) \{\line
+ _.each(module.routes, function(methodName, route) \{\line
+ server.get(route, function(req, res) \{\line
+ res.sendFile('public/index.html');\line
+ \});\line
+ \});\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This assumes that index.html will be serving out your Backbone application. The {\f1 Backbone.History} object can handle the rest of the routing logic as long as a {\f1 root} option is specified. A sample configuration for a simple application that lives at the root might look like:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 Backbone.history || (Backbone.history = new Backbone.History());\line
+Backbone.history.start(\{\line
+ pushState: true,\line
+ root: '/'\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 An asset package alternative for dependency management\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For more than trivial views, DocumentCloud have a home-built asset packager called {\field{\*\fldinst{HYPERLINK "https://github.com/documentcloud/jammit"}}{\fldrslt{\ul
+Jammit
+}}}
+, which has easy integration with Underscore.js templates and can also be used for dependency management.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Jammit expects your JavaScript templates (JST) to live alongside any ERB templates you\u8217're using in the form of .jst files. It packages the templates into a global JST object which can be used to render templates into strings. Making Jammit aware of your templates is straight-forward - just add an entry for something like {\f1 views/**/*.jst} to your app package in assets.yml.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To provide Jammit dependencies you simply write out an assets.yml file that either listed the dependencies in order or used a combination of free capture directories (for example: /{\i {\i /}.js, templates/}.js, and specific files).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A template using Jammit can derive it\u8217's data from the collection object that is passed to it:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 this.$el.html(JST.myTemplate(\{ collection: this.collection \}));\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Backbone & jQuery Mobile\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Mobile app development with jQuery Mobile\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The mobile web is huge and it is continuing to grow at an impressive rate. Along with the massive growth of the mobile internet comes a striking diversity of devices and browsers. As a result, making your applications cross-platform and mobile-ready is both important and challenging. Creating native apps is expensive. It is very costly in terms of time and it usually requires varied experiences in programming languages like Objective C , C#, Java and JavaScript to support multiple runtime environments.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 HTML, CSS, and JavaScript enable you to build a single application targeting a common runtime environment: the browser. This approach supports a broad range of mobile devices such as tablets, smartphones, and notebooks along with traditional PCs.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The challenging task is not only to adapt contents like text and pictures properly to various screen resolutions but also to have same user experience across native apps under different operating systems. Like jQueryUI, jQuery Mobile is a user interface framework based on jQuery that works across all popular phone, tablet, e-Reader, and desktop platforms. It is built with accessibility and universal access in mind.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The main idea of the framework is to enable anyone to create a mobile app using only HTML. Knowledge of a programming language is not required and there is no need to write complex, device specific CSS. For this reason jQMobile follows two main principles we first need to understand in order to integrate the framework to Backbone: {\i progressive enhancement} and {\i responsive web design}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 The Principle of progressive widget enhancement by jQMobile\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 JQuery Mobile follows progressive enhancement and responsive web design principles using HTML-5 markup-driven definitions and configurations.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A page in jQuery Mobile consists of an element with a {\f1 data-role="page"} attribute. Within the {\f1 page} container, any valid HTML markup can be used, but for typical pages in jQM, the immediate children are divs with {\f1 data-role="header"}, {\f1 data-role="content"}, and {\f1 data-role="footer"}. The baseline requirement for a page is only a page wrapper to support the navigation system, the rest is optional.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 An initial HTML page looks like this:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+\line
+ Page Title\line
+\line
+ \line
+\line
+ \line
+ \line
+ \line
+\line
+\line
+\line
+
\line
+
\line
+
Page Title
\line
+
\line
+
\line
+
Page content goes here.
\line
+ \line
+
\line
+
\line
+
Page Footer
\line
+
\line
+
\line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Example HTML setup of a basic jQuery Mobile page}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 JQuery Mobile will transform the written HTML definition to the rendered HTML and CSS using its Progressive Widget Enhancement API. It also executes JavaScript which is conditioned by configurations, attribute properties, and runtime specific settings.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This implies: Whenever HTML content is added or changed, it needs to be handled by the progressive widget enhancement of jQuery Mobile.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d4948445200000290000000f00806000000b7de542300006d974944415478daec9d075414d7df86d39bf9fcc7c4984493d8a2468d51138db1c55e62ef1d2b8a057bc5868a0a885d44117bc18a52040ba860a3f7de7b2fdb3bf07e7377175810128d242afc9e73de233be5ce9dd975e7d97befccbcf516411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004f1aff02997de140a85528bd289befa0982205e8e190d1a3440efdebd29140aa55684fbde037df5130441bca4404e993205044110b58537402017713945a1506a4dfa91401204419040be2c0fbef9e61b346bd68c42a1d4f0f4ecd9937d1f1993401204419040beb440b66ddb16ddba75a35028353cb367cf26812408822081ac3e81ecdab52b8542a9e199356b1609244110040964f508649b366df0fbefbf5328941a1e124882200812c86a13c8d6ad5ba34b972e140aa58687049220088204b2da04f2c71f7f44e7ce9d29144a0d0f09244110040964b50964ab56add0a953270a8552c343024910044102596d02d9b2654bfcfaebaf140aa58687049220088204b2da04b2458b16f8e5975f28144a0d0f09244110040964b509e40f3ffc800e1d3a5028941a1e124882200812c86a13c8e6cd9ba37dfbf6945792b66852f753bcf7de7be5f3c187f8a259ebffb42e3f36a9fb6c3db4a95bbf3eea7ff8213eaef33ddaa897ff192dbffd008d7fe4fe6ef7231ad5adc32dd708ade93d7dad43024910044102596d02c91e71f6f3cf3f535e490ce1e09ffbec07a7488107d70fa273d7dfd1ee3faacb7ea7c02a3fc7d2dc5cf0552a88123db0eee72ee8d77f206ec64ae17c805b77d25adc4fe2a3b8281ae6f49ebed621812408822081ac36816cdab4297efae927ca2b8946208b8b0b1178cf0216169a3c4a93038a02d81d5c88df7ee1966bdb1a8dbfad8ffaf535f9a6490bb4d529e787260d35f3be6f8eb62d9b707f7f8dc6cd7fd4cc6fdb164dbfffa674ddc62dda545a97290b576bb67fec3cbc520428861c51b734f531ddba096b56aec4b2f9f330b8e550ecb70b476131707de757f86ee832b89508a4b6ac362d9a94d5f5bba668d396deebd7213367ce24812408822081ac1e816cd2a409d8e30c29af228b60cf04b248818b3bcba60f1c761b399cc265786d40ef6e6df14b8716b0750f4670b02677cf996270b356ea655b35fe025baefb68e6dd3d82fa7b5cb8bfbd716de95c7463e5b5698c3d377d4bd7bdb86b22beffa175d5751a3805d6de19288410b7366aa74d32828ba73fbc6edbc1c6f01c6273655ced007e961f9caedd4764a24620cd587d9a7d8d09a6674ab7e7ebbc0f3f756c4feff56b10124882200812c86a13c8c68d1b833dce90f22ab210f67e1a813cbba9011a34d0c4d4470814cb117e63157a74fa09b79380429904bc9c1c644b9580ac00c7cd9672ebb785c9133eb76c11246221f2f3455031b38308fe5b57a067bb36704e64eb8a51909d8dec6c2994e26c581b4fadba4e0326eb08a476da6c0b440b151026fac1718d3d32c485eacfb7429201efbb3e882b15c836586a710205f24248d5db2b8058ca95e46789b6ade9fd7ed521812408822081ac5681648f33a4bc8a2c500be43314a9901ce402bdf17f72cbac82cdd533d8b7612df4c74cc654d7786e0119a26c4c31f48fbd48e65e290ba2b17dc9686ed949b08a1569057239ba6db90929a782990fec613c752aa64e652d9b4a24391ec0984e55d4a9ff241cd50aa4cb06edb4d9bb340299f000ab5b8f84a57d94ba0bfbe63e6edeb85570d30aa4e980f1b0f2cd4411b795bbeaed6d82ddbd0ca8908d8bc3e8fd7ed521812408822081ac3681fceebbefc09e46437915998f1bac05b258052fc77558b74e9b35ab3069e41f9a659a7d8735074ee194fd3dc4e5cbb49f2c4e208f7102b9e90214dcabdc007b2ce8a229f3d72341903381dcb21c0b2ff856fab9e4c59cc2b41155d4a9dfc432815caf9d368b134881462057b51a81432502b9979b377665a9405a8d9a06e74471a5db7c729cdeef571d124882200812c86a13c86fbffd16ec69349457114e207d355dd8b6db2b5fa6b98503a42a40987c032bf47ba2f3e510a05084a70737a2f792139ce601f9d12e58fc67336ef9e668651b89622690c6cb606e1f0a14c9117ce9002676eb899ebffd8c468dbe478b966dd0ba4d1575ea3b0147bcb40269a49d36d3bc542057b61c8e433722d502e9b4bb395a8e590157ad409e1ea387a7e97240140c93cedcf6bafd8ed62d9a71db6c830ebfd2fbfdaa4302491004410259ad02c99e464379159957269026952fb3e84638278132f89f32c5a0d6ad713154a811c8031bd0ab851102a4458034077b3619a075eb95f0e717a9bbb0fd362fc5ef0b8e214bc9c967d235cc9fd41aadcf0570654911686d828155d5a9cf781d81d44e9b512290f7b1a2c540ecbf1eaa16c8a71757e1e789ebf0407b15f68eee43b0db2d064a6e5ef0056e7be3e7e272a280ab7e18cce8fd7ee521812408822081ac36816cd4a811d8d36828af22ba0259c532f3b7203857a9fd4449106f1bcfe9a102f157cc31e4e71f3065eb514415a834b345a938119aa51648ffcd4bd0855b7fb3f535644bcb3e9359e12ed09fd8b7ea3af51e0f2bad40de32d24ee3043246db02b9827b3dd9ec3284eaab750a91161f87f47cad4072f3864f3380677c7ee9f6548244d8ee5b40eff56b10124882200812c86a13c86fbef906ec66e29457912e183e7e06f4f5e76048efaa971b306116b78c3e173d0c6f390cd3b8bff5c6f643fb36dfe3ab3a75d0b1cf100c1f3e1cc3fb77c52cb71cceeb0a70cf683e7ee1d66dd5ba0dc64fd7d7aeaf8ff143bbfd759dda76c480717adcb2b330b287765aa73e983c730e664d198d6eecf56ffda13747539e1e775ed79b3193fb7b0a7a6bcbe8377252e9f6664f1d81b6ad5bd27bfd1a84049220088204b25a0592dd4c9cf226c604e15229a43a51161543951f09a37943d08c8e1145273366cc20812408822081ac1e81fcfaebafc16e264e7953b30bb77c7de1ab8d8fd713ec5e33868e0be59990401204419040569b40b21b577ffffdf7140aa586a7460ba42cf929ceec5f8fd9b367bf588e3ac22743544b4e4945508892e07660f68b1fa78a59ba11a68e91d0bd6b97243b18b78eb3f92bb06ddf6dc448fe4115155908713a8e2dcf6cd31cc7eda2904f5e419040be5602c9ee0549a1506a766ab4402af3e3e1e97603a74f1fc556fd3ff0d3576f957c01abd3b4f764acb3b0e1e69fc6e9239ba0d7a925be60f39a7640af5193b883731437fd3221aed1a7a44248f2fc7168183b267550afc10c6c63c7431d1b58ee988f816fe91eb77a68d8742e76942c73c212a64b47a1359bd7a00d7a98dc2f153a152f190f8e2f44a7e66cbd4f50bfd1482cdfed87cc17ada24a80b4e0c738673c0503daebd6a51766ac77470a79054102f9da08e4975f7e09762b1f0a8552b3534bbab095c8f7b2c1f47e3f9413c8cef3f6e041bcf67e048a5c44799cc1c6aeedf07de9324dd1b19739ec6ab4449608e427f8eccb79d873231a05a5f3a4c80db3c5d27202d908ad3b9f46686903a61cfc142f5c5c3f13bd2b08a430e9010ecf6fa0b36e53741d6e0dbfbf688514a44420d4e73ee2a5cfcee3855ec2fa098d49200912c8d75820bff8e20b346cd89042a1d4f0d49e319089ae301cd7b56a81d4280fd2ec2cf0e74fdfeb2cd7041dd65fc0d3cc9aaa901a813c31ad21161d88d191c7e71448ada00b621fe090c1b8720229497d0a9b253feaacdb023d469e4588a24a7bc46deb7d305c6b0d1fc1b3b325d12ed8a2d781049220817c8d05f2f3cf3f07bb908642a1d4ec9040566ceaca7a804dc37ed3746597a489218edc4faea1ad904c20237169c162b816549cf7bc0209148953e1e97808063a025924e521fcce6e4cfb83adf7399a775884237752d58fcaaac41e917cc71a866dfe409f29249004f1a60a64bd7af5f0d5575f5128941a1e12c88a02c97b8a0323bbe2bb72d2a4875df6155be76a9040f21361677609c9f8e702c9192452223d71dee67eb98b5a94a20c44fb5cc1952b4e707b148dd20720944381ec881bb098dc1adfbed594049220de6081fcecb3cfc02ea4a15028353bd3a74f2781acdd02598c429504e9f11990bf8c40a20872891059a93950bcd0f615c889b8897d73daa3693dcd384912488278b305925d4843a1506a7648202b08a438f42cf47bb7c4c73acbb51eb90bb7c20af06ce399082197d7c170fa488c1ca99b4db8ec970161e15f5749e07b1c73a74facb06ee5b10d12435954b18468d88d1eadb3dc288cdef308bc6a3b5dbd8840eaa0e221f1e159ac7f663f0cb1c1d413e9a50b0a91e271015b7bfcac9547edd5dadfb6c71f43b4ebac36837560f63f10c85c849edd5fbe0ecbf6e1b27f7a25a24c102490d5259075ebd605bb908642a1d4ec90409613c80c3c5eaf87dfeb7dacb35c6fac38e1855459797b4b7db8192be60dc2bccde63873f93a1c1d1d61b9a20d9a3460ebd447ab2e7db1f6923fb244859599236ce64ec7c8df9ae2e30fdf53d7e3fc557b389edb883feb7d8a0fde2a7fbb211663571ee43a45f11eedc1a8917fa0f5db3db1eab4837afba757f5c4db8d3a61f0a8dd78c47b8502592487203d12778f1963763fdd75dba2f7183b4e7b993ba6e2e1a51de8fd4b2b34ac647f4bf3fb1818de4d7c218194263ec4b1edb3d0ed871e183d6123acae3ae2f2fe1518d4b70bf7bee863cf657fa49345122490ff8a40fedffffd1fd88534140aa5668704b24420c59170dcb1107f36ac8fff2b59a6cd282cdbe786a82c71b9d6c7d4879b3077687d7c56e72d4cde7d0bf1051ab914451d8141fb46a8ab5dbf7ecb7938e59581720ec9e471fa20b4f9e443bca75e6e2c0e78a5415c58acbe61f6e3eda3f0c5a71f68eb3809db2ede80a3b333627295282a2e91c7dd18dcf93bbcf3f6db786bfa79a4c93433646917309d5befed77be43e73faf6944ed550864c9daa95e38b1eca7ca05522942466c209c2f1ec1aaa93d7596f91a3ff75e8cfd579de1ccedb7f3137f84e54a9f5b20993c5aad1989265f7d8ab77e9d840d0e11eae3af1204e0dcdc2168f3565d7cdbd21007ec63abb1a596204820e9221a0a852ea2a93502f9bf6f5ba173cffe1834681006f5eb82d65fd5c347ea2eeb25d877ce11b7bd2291c697a15cdba3280427667441d34f34657cdb7a23aef865437d6bc37c376ceedc52e70aee2fb0d23618393a8d9cf10ea3d1a561893c7219771cc1b992d26d289e98e19b2f3ed5aedf0cbfda7843a0d031d08287d8fe5b63bcc7e4915b66a6631e8ab562595c5c00c7996cbdb7f1cefb6dd1eb5ad42b1548794620ceadf9a372812ced690ec739e309e5ee15f98fc7404a13717ff742f46ca0397ebfcedc0c977879e9be445c5c88916dd87a5fa2c9ec3db08b2d2023214820ab5920172e5c883d7bf65028941a9e050b16d45e816c35c40016676fe2eeddbbe5e213950abeaca8f2720a3c60dab703be2e2d67084c1ca290abaa4c20df82e1293f6495deff47807b9b7fc4b79fe908d9ea6b48e0ebf4a7fa5ba261fdba65f3a79d45bc5801ad2322ea421734fee01dbcad9eff078ec71696ce4371111eefd0aef7f6fbf8a8dd7144d52281cc0db2c2ea910d50475bceb8d51710c22f5b3fc96d392674d7aefbe5646cbe104ead90040964350b24fb0e95cbe5140aa58667c58a15d485fd42a878083dbd0cbf35fb5c5d468769fb703f9a0705e79b892ed3d1b7c52778bf4a81cc85cbca566854f7050472d431448a4a04b2004e8beae0c3f74ad65f07374951e502f9d6bbf8f0e305702aa82d022945a4c35a4ce858367675ae893b920bab10c8b7bac160f70324d25848820492049242a19040feeb02c91c929f8c20bfa77077774750623c1ed92cc0f491bdb0cd6c29c6b7f80effab522095f039d0068debbf8040aeb0479654a59d1902cb269fe083b7759e92f3c71fe8d5ab97367fa043535d819c8eab59b5452033e1b9cb0003ebe83eb3bb237e2f3d36bdd0e5e76ff165a9bcff8a39667711272129214820492029140a09e47f2090ba2d5afa93baa25de3a9d878f41a8243edb0f697bfeac206c4518731bd697d7c52b2ccf82308d01903c9bbb5125f7ffe8976fd9e58ed9e066961491ba30ff67cfab14e0b671f6cb273c7c3870f2bc9233c7e5cd58dbb6ba240a6e2d1167df42d9dd71cfdf476e2dcdd87551c9f00c4a4f250d548058220812481a450282490d52b90c2009c59341dfd5a7e864f3f7a0b23565e4150861c857f3b069235421620f1fe414c69a495c87a4d31ff422878cc64788fb0b37b0b7cfade3b6a795c73ce0fa9629d318ecf08e417d8edabd2995fddbcc902f909862ede0fdf2c920e820492049242a19040be72814c829be10474ab5b32d67104763947a3808db57b1e81d48ea34c0a0a80efb97568f4655d7cd6b82d7ee9f41bbafcd2120dde7f0fb376dfc483c7d1c896165690c3145c185e071fbc5b56fe7707834a6fef53bb05928fa0b3cb30b299ce55f62396c22a2097ac8320812481a450282490d5279075266cc2f9b0bc176c7cb4c6c4ce8dd5b7fbd194a30fcbfbc950fbcef30a247878bc773406efbf0897475ef0f1f12997549eb20a2954a2e0e60af5cdc74bf7e3dbd63815fc6c3f6c71a10a21e78ce1965f5b04b208d24827ac9ed8b96cfeff1a60c2e6e308abc421d3bd1cf0d89fdd209ea48420812481a4502824902f20906f8d31c289e09c17fa022ff03043df0edfe894f305969c7882744e12e31d27a067f38fcaeef1c865b8c53d24f3543a25c4e0fad8c1e8d4e043f4d9ed8e0ca1eac5ce209208580ce7b6f14ed9361ab6ea8875b7cb44b8a83013b7d677c1917b89e0a95ee26c552844dae3fd18f96f0aa43801f7f61be0a7d2653e4497514be09a0cc852bce076fb121c22c4cf2190ccaf73f0f0f87cf4d16985acfb65230c5f73040f134b5a9ac58870d88a73a7ace09d24849cc6401224902490140a8504b2723869b8ba12c3db7d525e20ffd717cb6d3c91f602b772290c3d8f415d7e2857cee78d9aa3f54fedb1e19829d6b66d816f74e6fddf37cdb879a6708ace076bece23dda8eeedfd5534b66dd863fa06dbb9fd1be7dfb2a6289273c19ca3f0c51055eb22d567cf83eded5d9ce678ddb94aed7f1979fb1df3904392f7985b19c170b07e386654fe651e77d3468d91f169efcbf5d5f90e08a03fa7574d6fd08edfbcd814b92ce424542c4dcdd8d99edcab6f149ddcfd1ac757bb41b30054b4e7a2045aa3902d9fe56583142f731939f62a0fe4e7866961606192f00768b47a2b34e9d3faef7159afed84e7b7c7ec2dcf5bbf0303a17521509094102490249a15048202b6a63a413b62d1c8e76eddae0876febe1d30f2a3e6bf9637cce095eabb6edd06ee561383dcf9349e47c045f5a83ce2deb9796f39bc15ed8bbfb232d3f1f39b7f6a2530b9d16cac926b8f2201e3c994a7da575aecb4ab46854b7ea673f974b033469dd164bed1220551657e85a0ec5038ba178f79db7cb967ffb6dbc3bc4020f424391fb8fe5510141f21d58b46b87b6ad5be2bbfacfd6ebdd0f3e4283a66db8e33a1063f59c10f74c4f7b2ea25df643af55137c53affcba1fd5a98bc67f4cc1e27381106a3adba110e721ecf60e180cd419dbd96518b6d88520b5408a2259121e5b6fc0e81fbec117ff57bebc3af5be44b3214b61712746f334202821ce4a45e8b55d98d2a759f9baff381c86564e88ccc82379244820492029140a0964e514c9f8c8488e437878f8df2735077c79e1f3b5424a7291141f5dba6e528e00725571a96026c4c594959bc9834c55d64f5a28f28069abef50efb904b2a415d3005713a450551817a912a42122a2fc7e44a409f0726e548c42850059cf73ccc263109fc8c7330db8c52ac804d948ac6abd9804a4e44bcab5ac1672c72d27b56c99d8a434f0a4dae356a48028371df155951797822c81bcdc23278b640264a65478efe3d3902b52807aad09124812480a854202f98621073f211e3ed633f06dfd3acf29919fc2e4011f8a423a8112040924092485422181ac7d0259e08e9d037aa05dc3cf30ffb01bfcc26210135359bc7078623dd4d176bb1bbbf2202781240812c8d75c20efdcb903994c46a1506a784820ff5b7b84bb4937b4acf71edee9bd01ae893c28abbc876321c451c730b95e1dbcffd64058878ba1a4be578220812481a450282490b54d2073e1b2b2151ab1e7317fbc06d7e30af0571780e7b92cc1b7753fc260334fe43c73537182204820492029140a09642d10c822c8126c31bfd9d7f8f4adffc3175f6fc5cd243e14952c1972b2235a7f5707ef2c3b8fb87c198ac91e09820492049242a19040d6d23190457208b2b390117a16fadf37c5b70dbec6370d1ba261854c3bf2003189a94817caffc5471512044102490249a1504820df289114e6e6203b2b0b599584275551ab2341102490140a8504920492200882049242a1904092401204419040924052282490249004411024902490140a8504922008820492049242a19040924012044102490249a15048204920098220482029140a09240924411004092485422181248124088220812481a450482049200982204820ff5b81e4a745e09cc5622c5e5c21a79ebeb927d68264f84587214bf0126524de855dccebb45ff9f0b6b5c665ef5412270a092441100409e4ab15c882782f6cddb01cf7a2b2a05028b449c68989a33178830b72dfb893aa14d11e676161710aa9fc7f5a4632cece9c80fd21afd37ee5e096c94a58dc892571a290401204419040be0e02b902f7233375a62ba08ab7c5907e867894a95d2ed11f5e5e5eea442467412a2d2b83971aa69de78bc8c868f8fb472043a49927ce4b85bf9fb77abe7f68147205924aeb211515202e22405b8e3722d2f8a5f384d931a5db0e4d29d04e17212d221471b9b988d2ce8b4ccd85549886bb27cdb166d576dcf64f82885b5622e09609d5d4dfdbcf1fa979e2d256bdb8c040c4c5c5c15f5b466a8110e9714fb16bec70acbfe68df0a45c482ab6da6644c3d79b2def83b0b028040545224d20d5cc17e62034c84f5d966f5018b27865fb5bbe1e013af5e0cacc4944a0b60eea7af0aa1048275f846a97094fca8044fb3e487859080bf2d56c37300419059aed4a257948e4ea171616cccd8b4641857af8b07ae48b49c64820492009822048205f5620b924d96142bf99b89f214376e86d98efdb091b1b1b1cb1d888c51b0ec0374ba45e2e2fce1347d62cc60e6e9ecde14330315a845ebde6e326279e624e8a1cad7662edeec3b0396605b3ed1b71d4de1702b1f4997a84dd3e89cd5bb6e390b50dacadb7c368cb69446572db48f7c4decd73b0660f57becd1e6c5e698e735ee9dc3ae9b8ba740ea6afb7c2894336b0325b8b051b8e22382d1c27372fc6ac1986d87fcd173cb100be378e62e37633581db3c1e1dd6bb1d3ca1189394c9a82b1b5ef20ac37b5c1716ebb07568dc686a377f0e8c155acfcb33ff44d4fc2c52709629d7af252827166cb4a6c3f6c059b23dc3e6d588201030c703551a896c727f67b6168b25b7dac0eeedd09339bbb48cf1741cad5c3e7fa11ae1ee638c2d5c392ab87e9114724e572f52808c579b375d8b5cf46bd9ecdf6595873d40e71f9cf0aa4bec166ec3fc8bd0fbb3763e9fabdf04c1340c2cf81c78503dc7eecc1316efdfde646d873da4d2d9122be0fb68e98876d96c7b979f7902ee2c3fbba55f97a1c75d2d483848c0492049220088204f29f0b641aec97cf40ffedeee04b73e166b61b564f52d5dddbf2fc30ec5b301dfb7d0b2013e7e2feb10d586fe90211ebfa968910ecb01d43fbcc824b9604d10fcec3c8e830a2b345dcbadcb662ee63f5d203f0c9e157a84704f6ce9c838b9e6990cab96dc80448898e479eb0009e9633b1f89417f224ac6b5d820c971d1832cb1211bc0c5ce30472d6014ff064dc3ab901d8a13711966172c4789c8785f929a409e410e4f8c0cc60199c83b220e3ea28c98fc34933539c7f100d892c14db068ec6e987299070db95259cc5e2694be195998a737ae37120842b572e2faba7840fdfabbbb0c1fc3c32853228e41244ddb3c2a4c15361972c444edc23ecb330c1e3f83cf5b112a50662dbea4db8e09b025e9637578fe57009d1d6232f0e274ccd70c13d0692f0a39832f51062a5da2104a23444c4c4a140fcac40ce33bd8502b6bf059138bc7436f63ec94466b42bb62d31c6e3d83cc8b9f585e9c19c745bc02928452d909bc7cdc3cdd07c6e9e1cfc4c4f98ce5f895b21d9da7ac4c266a7196c1fc63ed3d24a218124812408822081ac5a2067fe866edd7ba067cf9ea559702600c5852a7577b652a98058c843416602ce5918a0cb6f9d61ea950f5941228e9a58e09257d9b83c65ca3d4c19b3022ee93cb8581b63036b81cb2b40410197ec50582d990653f7acf2f54873c0caa90678942e2f3f3d2f005b470e825598b26c5aee1dac1836167792340269e12dd04c97a7c1567f0af6044b11edce04f2a47a0c6496bb29a62d3d8ad06c9ea60e79e9b863b301c6d62ee08b436131660aeea528346528836031751e1ea7a5e22c2790cf8c8114e6c2eed02e1cbd19acee1a67d314195e583a7bb55a20235d0f62c3562bc41768f743948aabdb0db1d3310c190f4ca1b7cc1a61a5f548c32debf530b6b90581220cc6dd8762c36e17a416688e95485ad518c878edfe66c1c168212c1e65208c93f6f95b6d119ba32d3b370157cd97c2e4b28f5a202d6673529ca1a953fa7d534c5f710ce13af570396a842dc7ef402021212381248124088220817cee16c895708fcd4561616159545a6993f0107add0253172cc7aa559b70e6823df62f9e0a734e20c539b13864b405971eeb5cd8c109e4e412813cbe0a4327ccc2b295abb875cb722522bf7c3d321db17efa5604e655bc9a3a10db463181d49926f285c9704e20934b049257da6a6a3ba712817cbc137d068dc7c2e5e5eb60e3ea0ba18409e4644e204bcaff6b8194f2b3606bba09471d824a0552c609e4e21281bc6fc909a4252790da79d26c389baf82f94d4e201feda8b41ec75dfd3859544290158133669a697347fe8add8e11c813ffd545349c40aed30ae4cdcd18307c0a16af285ff69927d15a815cc209a4a69c748fede83378c2b3f570f3af445a292490249004411024902f3206b2b415301c16cbd7e352440e944a25947921d866300e66ac0552988ecbbb37e3a06340e9f28228274c1cb1042e994278da1dc0ce233791cf09927add92282ab6ec3dc6a6f1b3702746587eba3805e7170fc38e473ac219731e93472ec5d3ece713c8bcd8ab303234457841853a28598bdc8b09a44c9c0fd7933b617ee63ef8dad63a61823b164e5ba616c8a4003bec34db87e86ced78c282381cd9b81207dd63901b7305464bcc1151b11e0a4dcba05cae289d9613b01fab66ac836fd6f30964bcf7696cde648d44c1b3655714c8eca8cb58bf741722aba807850492049220088204f2e5055210079b35f3b1ef21bbffa00081370e636cb72e587c3d417dcb9c847b569835713342d9b2f9f138be731e7eef321b2e596ccce313181baec2a5604dd9d921ced8b86029ec630b2a6c47829be60bb1e1a82bb24532888549386aba0ef6815910f91ec4807133e09ac4964bc2d9692331e6902fc4b2bf16c88deb0f2321570c892007b6db16c3fcb217789cf40973927072c31c1c760e8448fad702b9f676d633b7084af5b982a57aabf02493db074126ec0e2f43f7aed3d50229cde58471fb3c6c7308542f1bf7e412661a982130251f127e362e6c5d8c5d57bd35f5c84ec409ae1e562e4110859dc4bca54739b9d46c471e7a187ab32d10c67b3e811466c5e288d1321cbe13a61ec75890148803abe6e3f4e3d8670452cccbc279ae1e16d77cd4122cc84ec0f1f5fa38722b18626a812481248124088220817c9ef09203b0dfc2044f62b32b5f46ae003fd40e7a934663d8b0b158bfcf090137b763ec28233cc99141a15422c9693d376f1897593862791063c758205421d35cd011ee80d953c76ae72fc4258f586e9d4a6ee393178f63dbf435cb8d1c0393db295072ebcb542ae4791fd4ae3f0cebece350a4626333b3e1b2750dac034b2ec8c984fd9a253816c1a4d807bb9672cbaf3c872c76db9a8c6058ac9ba12d6302b61f7a08be8a8d7b8c82b5c1623c4e2fbb98c77ae93af8642a107f7d39868d188d4de77cc1d7a9a742a144dabddd983c96953519e63b0f419f933d1f91883b567228b37db166f174f5b6a618aec7e34489f6421c3924e941305f53528f89d871585b0f5521a2ef9a97eee3b0619be0c72f8442ae7b8cf2f0e0e076587b24940ae55db38db0f6c9526f579cf818eb0da768d79f8e83b67e10abb8e9822058af364640696b26ab4720cc564fd72e3b093bad1e41a03e1e9938bd6d014e3e492339238124812408822081ac3a4c6e549c9029e5557761ca39692a191ba95269ba5a0b0bb9756402c4073c826f4ca676be0c698fce63ce92b348d55957553ab6520555555da54cbe54656330d9853ba5f394aa72db2f112125375da52c1323a54af35ab34f6c1ca70a0a99ceeb923294ec4a6fb60eab9b4a7d85b8ace4355b47cec45855615936a6518c94082f78872642ae6465299015e080e52b6c1027d4deef9193deb26db1b2e5158e7565f5e0e6e9eca3fad8ca2b1e23b9ba4e2aa5bcc2eb92e3acd039ce5cd90a9d7d5429cbc928eb2eafbc1e0acd6741a12039238124812408822081fc97221522c5fb0a96ad5e85356bd6705981adbb0ee14178b65adc6adc095b2a4166880b36ae5f8995abd9feae82b1a9056e07a472f3486628249024900441102490cf17b91442a1007c3e5f1da144cc4dabc1276d6e7f452261d9fe8a45357b7f29249024900441102490140a850492049220088204920492422181248124088220812481a45028249004411024902490140a8504f27905b208d282342446052338b8429232902f55d1d9e88d4005695e06b293d32152d0d1204820492029140a09e4bf2a90124439efc0e2213fe0cb7a5fe2f36f9aa34dfb8ee8d8b639ea8f5a888d8e81c816ca39cd245e677994e486e0e65a3dac9bb0046e4974440812c8d75d206fdfbe0da9544aa1506a786a7e1776921b964d34c48cedb71023e15ea77b62cbbc3ef8acf354ecb81901c11b6d904ae4c7fb2153f4326514a34825415e52307224afdbfee523f2b239f41bd5477f1248822081a450282490af4c203952dc5660ccef1d31dbdc05b1a237f974928cb383df83e9d397b1e04288733c71625c635805bc86bb2889c5ed9db360480249102490140a8504f2550aa4c0d706d3fa35c718231b04e7700a25ca4274983f9e3e7daa494c2af24ac648caf211151654364f9d3864f0e49c7aa920480d4390af667a786a3ea4cae22abb63794981f0f3d69691940799aaa8b425b120c10f3e5eda7951599094ce1323c3c71b697c297263bde1e5c9cd4f15a0a8588474af1358f4ee3b5860fd845b2f0d6a172e5620375a538ea7971762f394da56463ed2bc7d902e90222b8a9bcffded972942a1221b11f6e658f0c5d7587d9a9b1690c56db102454a4872122b1c037f0485e640c295ad94e623255c3bdd3708616902948d302d82429c83a430cd7cbf9048640835738be4426425846acb0b46645c0164550ae4223805a62236985b362c06490279a9004bf393111da4293f283a09f9d2426eb204b98951484c48405a4c0cc29e46223143c41d6926cc718808d02c1f12970ebe8c06321024902490140a8504f2af04b250847807538cecf50b669a5f454cae10b1767b316bf44074ead6033d7e6d832fc76dc471af54c88ba4c8bb6309bd517fe2d7df7be0f7764df059c36668d5710b2e7927232d2514770ecec4c4a1dc7abfff84d14bf6e351543e1485cf76351724de879dc9280c1fc02ddbf1077c3ce308bcd338812b66ddd077716aed000cecd31d3d7a7441eb71eb70de2f09a242012789a7b0ac6e1d18ecbb83f3ebfba1cf2f4df1cedc8b489584e242f7b6f8eaedb7d1e467b6de39844181ec884738bf96db468feee8d9b51da6efb889545e3e626fed83419dba30b472c5c9155df15ba776f87a8d0352d33c70a8437334f8e04334eff027464fb0474c797b84323f060f76cc408b8e3dd0fdf74e68dbfc6b7cfa5d5f4c367041b49413d07b96d83cfd776e9bddf05bbf3f316cfd093c49e57312c9c9a3280711aec7b1731e57a76e9dd17fc458ecb8e0833cb11cb991f77168f514fcdea307ba759a02c37577105785404eef331e2616e6583ba93d9a0e9e09c3aba11017164292970c9f2b265831952bbf6b470c99b618a79c7d11e27b03c6e37a60c298d9d83a6f35f47bacc681cba148ce8ec3e3336bb0603c7bcf3a60d86c235c7b9204b192e48420812481a450282490e504722606eb5be0c25d0f78dc3a8635e386a2c7f8adb0f54f875c1c811bc656b0b50b42424624421c76a26fa769586aed891451186c470d83f95e17c4f101a1df118cd3df0f5bef344825f138b37c3e8c0f9e86fd3daedc9bfb30b3cdf75872c81d29820aad90e26858ad1c04ebfbd1e0b186b358274c1dbf0357c2f221154460dfe42e586517069eba258c8747a63dd062d01ab8a7f8e3e2c0dfd0f8bd77d1a4dd3adc4c91a330c812df7f341967939428cabc8c29dc3cd3279a16b4627e208cfbf7c7961b5c7d3c1ec0edd27a0cf8f8136cbefd14369d5aa2c1bb1fa35daf5d78982341b6eb2efcf0d57c38644a90e7cf49f2d7557461178b91e57f06c62d7be37c14a01224c3fde46af4597413198562247b5fc4c619a371d85fa011e5b83bd8b7a837fe5c7916f10221a2efdbc278ce7c1c72e6eae47a0d47d74ec0f85e6370c93f014fae5b63cdfa8bf0cb93429e9989b4f070a4572190bdbfec82b926dc8f80447f1c5ebe1a93169e47505e361e9edc0de3b55b70ea3657feedd3d83ae10fcc1c3d065317ccc28f0dbf40a38693b0ed7438f2d4adc9e970d96b0ce3ad659f85d5037fc5dc5547e09741ad900409240924854221812c279083f075d39fd1e58f3ee8d3878b810527309c3c96742e0bd21016f014772e2cc1c209edd0a0de008d40e606c266aa0176da3c408288138c6c37188db6c4c57b8910465ec28081fdd0f6b7eee8d5475b2e9795679e20955ffe16414a5f4bfcbcf014ee27f351f1e6414aaf3d68f2cd0edc48e2a3f42e35bc5b58d1e033185d4f8324cd0e733efb14db5d7990b396cdacab98fef1009c88523c2390454f77e2edafdaa2bb4e7dfa0ffa13e6eed990449fc094ba9f63bf2f5b50065ef0094cff6a1c2e27fd8d40168a90ee79162bbbcec1c50425a0c84394f371cc187c11518214b81fda8cf63dcf23bc748772106eb7050b3b0fc0198f28dc3c6488cf9b77444f9d3a4d5868846bfef108b3b7c0b43f4761ec8e73b8ef1b8c484e24ff760ca4380a4e9b8db0cec01a7e619ed8b1722abe6ddb197fe8943f7beb313c0af582ede29158bed00c5ee9659f85a573c6a259fb2ee5969fbffb320233e46427040924092485422181ac7a0c6439a4b9f0b9781033278dc4e6336e48f273c0a4fef33502291321f48c3e0c8cb6e0f04517b89e3a826966d771272e1f4a2690fa4771de3fe3d9717b15103cd88a9fc659e2567c012af694f2ef1aa1f15773703a340f6543f1fc71f0eb2f60703a1aa2d46b9508e487d8e921436146458134c5bbfd4e23f1995644652502c9ed4bfd86b0f4fd1b81646306337d70714d0f4c32b583ab93034eed3b08bd937ec8cf8fc32d537db4edca495ae9c0493e12ef1ec0a68e7db1df2508374fed453f2337645756b4221b618e87b0f88fdfd176e0308c3bea8a5ce9f308e4542c9eb6060f3c3981343d08c3e3fe28a858b630b872815c6f892dd723202017214820492029140a09e43f154855a41df406adc7ba1301c8e23c4c157e19e3fbccd10aa404d9372f6391de14f41938100307eec235ef74cdc52a29ae98377425d69e798c049142733f495106e2b2859054bc9026e11a86b732c4e65b91c82b1920a9c8456ab614aa683bfcd9e14b4cdbf608494295ba1c45b60396b5ed8ae34ff321cfb8fefc02197e06ed1be9e3504896a635b3b81845bc4484658a5f4a201579f17860b2015dd5c76032f40def6a24559a83c02b1bd1ad7367ecb896a1bef8a6489185a01ba658357c3edc22d2f0f0e43e0c1db50b0e89059ad657a518fcfc4c24e58b2093f0c063ef093f09ce871762d4743dd845aa9e5f20034261b3d104d3579cc5e32c11d447565680ccdc3c6467063c2b9059be305bb809f3b65d877f9e44b33cf7032235a74073e10d4190409240522894da2e902a08d2c3e07bd514a3fe188efed34d70fc49249205e5bb2ac55157b17cf0584c99bf0ba7ed5de06abb15637e1b8a494bf6c22df221ce0edf8add9b6c70c5c5052eda7845a543281720f8e2428c1c6d801d476de1c8e6399fc6c17b31481354eca84ec49d8513d0739a314e5eb2d79473ef322eb8a741282d8097d524f469a987ede7edd4e55cb45c8da166b79128c9e5dc732bfefcf4234cdff1108939e908babc09fd3f781f3376792335fd2e967dfb2e66ed71e6ca8c07af380ff7777643eb3e46b055d7d519379d8f63f7832884da2c439f4ffe874556c148cb8ec3432b43f4adfb25961ef54754d07918b66a00c343aeb8ef9e5ca1754e8a9c106798355d062b9d63e0e6f11831b95208529fe2e4e23f31a8f71a1ce5a63b5e3b875d7bb763c5a510b06b9ef3e3eee0e0f2611831c70257d5ebdae1e26d67dcf08f40b4d7359c3cae29efd20533581cdf04e728dd6bc01510c4dcc3b1190330bce764d8dc89465c8033f64ce983117d67e0947b02c21e1ec51afd89986b6485ebeaf22fe1a4eb3ddc74bc04f311bf63f4b0d938ff28017cf5db2e41acab29e6ebe961d9f6e3b8a17ecf2ee0989b1f8239c9e62507c22b300c490552bac13c4102490249a1506aa7404a117fff30b6180cc3b061da989c80731cafc27299f0d9b7054bb5cbac343787b9a12166727f5b5cb9006b834598d57f50591983ba629cc1293c8e66e31953e0b16119f44be659ba20a2b2717c2512b9481fd34a96dd720391a5a2c287f79119983cb6a49ece48142b508c58384c998831ea7576c035e83e768f198d11ead7a6b89f93078f5d23305cfdfa2aa258a36361382e956c63e4688cbb1105a5240817d4d34661fcc43d70f3bb0513f5eb3198ac67098fd438386d65af276186be0be2cbd55b86bc58176cffed8fb263306420468c1c0323cb0808b9a3c04ff5c4f9f5da79d31662ede51094dd5e53840cefebd853b2ee4223983e4de7dc3007112ed65859327da931f6f9645438663cc4399fd4d6751e8ccdcfe092f51e2c56bf9e0f93a3ee4894e621e29225369694b3f1102e4570c27c662f8cb4d38c8fda213abfa4cc6c041e352ddbeef653b89dc053cb65b48b39d69a5bc1292c1bf4d444820492049242a1d4e62eec9740991f8c9357ee21302ea7b4454a99648f1db34ee2e6d30c486ac109ab58294672b82b769ff32e95aa226916c21d0e61d5ccdb48a6733a419040be9440e6c2dfee128e1c39a2cd758465e46be71520ecae13dca3f35090190e77970748e7555e4e9cbf1b6e3d89004ffc6f9e3453e17ece169139dad7298fe097c1fece43c0f5cbf048fe9bf5453c242547208df73275c8c693d327e193cefd9d9f88a0e40c882552e42405c1dded29b20524361412c8572e90e2483b2c5bbf0e9b0e1dc7e5ebd7719d8bcbe503b0760d426241edb87160a1240701f65b31d86013ce688f81839d2deced6c601b24a4333a419040fe73812c48c1359b4dd86ae38880800075ee1edf8679f3b6e051365b260b4e1b1763d7bd6488f839488e4ba8421025f038bf0d6b0eb9204bf46f9e34f9480e0d438e90fd9d08db1923703692fd9d820b73266377e05faf9f9bf410d6a67b1192fd32758883e580be3811ce4788c3111cbcfa10424e2005f959484e4881404c624321817ce502c99e0213e9b8036be78dc3b8719a6c3ae7516be451ab9090e486e18649d93198b968156c83491e098204f2e504322fce139b2d4c10905c503a4da1e4c3dd6c22865805690572092cee27432a1143241441a2238d22a100020117be000fce9b941348b148a899c74524d6594720844824e2a60b2196484ab72b1173d344629db2b9e5c4daf9dcb685ea6d6bd667eb898491d8d3bd1b4e87b1f23502b927905bae749b920afb2b465aa40bcc97192320bd643f2455d453bb0fe2cae6c5e33013c8b07c3c3e6906f393b7912f1043c28e8f485baef6588974cb969495cb8edbb3f5a35048200982204820df0081cc8d7b8c8d9bd6e2c4fd689de93228548528542aca09647ad44d98afdc81506deb5dfc936bd8b571390c972dc3b2392bb17ce5b25281cc8b7982839b0d316f31376fe134ac3d740bf1d9226ebd181ce83b1bdb0eece1d6db05b7a064ed364588be7318638c2f42c0c42d2318db978dc3dcb37e6ac94bf5b98a95c61688cef185f9b0b1b81d9d04a7c35b30fab7ce18bf641bae3ef6c6594e2097ef3a8af58b96c170ce242c39e08414ddeee45c1f58184cc3f08143a1bffd1292f922e4c67ac07cdb52cc33e4eab96c36761ebf8f980cbe46f2d283606db114b316b279fad870c019212905a502b9c7c5096bc68fc0f071d3b1e4900742bd2fc3dcd8127179520813b9fa8e31e08eed7a2ce38ec192b913b0e38a97b67b3b17b78f1ae3a24f3a491085049220088204f2cd134899281f811ee730cf602dccccccb81cc19da7b110962ea32b90b760b16a07c2d8f8c3bc0058cc1987f31e29902a955064f960d5c47e5a814cc5950563b0e5ac0f0a644a28c549b861b6143b4efba1401a87437d7b61b96d94663d99acacb52fee0ea6cf3385671e13500f1cde3805dd575f479e448000071bec3b7d1bf9c250580c1f8b3b4932c815f1d8dfa31bce4773e5c8d360cb09e4f88d37912651429af610cb474fc2e9689dfd95c99193e80a8b152608cf534026cd83f3feb9b0b07b8a7c6e1da5321be78d97c3e48217f2c505786a390d4627ee2053c4e6e5e1aee9422cdec7bd166a04f264a410dee72c6071f601a4720512bcafc2628b25e2f339814cb6c3dcc1a361753b1042ee1808933c60b27d339c8233206182ae50422e9791045148200982204820dfcc8b68643211725293111f1f07efdb67b174ca308c1d6784fb597f2190a1873165da11c44bca24e8c189751a818cb884c1bd16c323b3ac4533cdff04d6ac3047788e46206d422ba98b241e47a74f8565881851f7ed7176cf6e2c19731861c23c381ed98d2337fc39b12d1148b64e2cf677ef8673519a8b6b5817b6991fb73feaf212603369240e8594df4666ec5d4e20b76ac64066bac268d264dc4d2cab67f0adbd58bff32492521e636dff9eb8125d362f23e824562ed986e06c6d1776040f9e6738813ce3a61e03195f412057ce30c493d4928b77f2e168bd05db2f3c41018d91a49040924012044102f9260ba4889f87ec9cbcd2f17972b91245c5c588bfa0873e03f6235a52b94066dc5a8df17a679152ee221aed18c8d0d3e8d4a91bfa0e1c8cc183cb6260bc1b115a813c1551597de488b9a88f455763f1d4ed1a1c1f78e2f4d4b5b8169e80c3164be01c92c32df3d702b927a8a4ac649c9a34ea6f04d2192b464f869bce95db318f2fc07c873512931f6049f79eb08b2d9b9793ec0af3251b1194f53c02791d5b0c2c11c92f134887a35bb0e58c0709248504920492200812c8375b20631f9fc69acd7b109e292c375d117112bdfb9b209857b940ca634e62e6147384179409a4dbf1f51a814cba89c9bde6c023bb1085856551a91490cbfe4a20a5e0079dc4f0292771f0a431ec02729170491f7afb4ee2e84e7384e5caaa57200bbcb07de624b8c496edbbbfbd058ccccf21253b103b46f4c4853041e9bc34afa358ba9cdbe7dce713c875b34ce09721d25c20c4cfc1c57dabb0e7ba2ff812121f0a09240924411024906fb0400ad243616ebc080b2d1c9153323d2300fb8ce760ee3e3ff0645574618b5260bb791e765df2448e8813a4981b98356eb44620c5f970df360d4687ef22557b114bc0e5cd386aeb8e0ce15f0ba44c1c84cd9dc662fe065304644920f23f84ce7f8ec286fd7791a316af6705f29057fe0b09a4c9c24df04be1a45126c2a3138bb1cefa065279daf2162dc45ec75008a462445f32c47cd3e388ced5dc32e8ec223dac3ae98502497981dc74e82684e267bbb067f51e85bdd77cd52d8e398117b068c5323c882920f1a19040924012044102f9a68f8194402088c5f1d97ae83f600006b0f49b86c3ee1110a8c7375621905219046961d8b77632fa71eb0cecbb04a6a69b4aafc296f03361bb6306fa6acb1c33e62022f94248a47f2d90acdc475bba60ceb22b489771afb3eec0a0d7001c7f9aa31ddba82b9032f89a7747f7a1d370c8d903679e4320f91971d837bf1bfae8ef454c8110e2fc781c333540dffeac9e7db0f76e320462edb84e4e846f1e5b863eea797db1f1463cf8ea7925022945eae3339833b61706acba81a08a6320c78d87d1d21518ceedffd0614370359cafbd755026cead9f8cbdae89244114124882200812c837f5493472280b8b505454169542562a744af52d7d6490c954282c54422e2bb9f8460695ce7aeaae6a95422b7ad2f26516aa20574f5740a52ebfeafab0f50a554acdf26c4c26b7bc5221d7ce57a2b0a8100a79f96da8142a755d0a9565fbc45eab94152f182aa9335786faca6c19143af55429e5e5969773fb5eba7fa5f3caf641ae5070f561f3555c9d34c74726d308e4ea998be1935db6be5251be6e65fb44a190401204419040d2b3b06b7d3402b9084fd3e9585048204920098220812481a43c4724c274440485a8c787d2f1a09040924012044102490249a15048204920098220482029140a09240924411004092485422181248124088220812481a45028249004411024902490140a8504922008820492049242a1904092401204419040526adead86241288c5e267c2a6d3f12181248124088220817c6ea1484b4b436262e27f928484042425252123238364e03f94469148041e8fa77eaf63636311111181e0e060444747233e3e1e5959591008042493249024900441102490558789029338260fc9c9c96ab160afff8bb06d31896432999b9b4bc2f22f8aa35028444e4e8efa58336964a2c86452a150a0b8b858f3ac703e5f2df7e1e1e1484d4d45414181faf341c7900492049220088204f2197964e2989d9dad1606d6fac4c4e2df0e131ab6adfcfc7c646666aa459249248941f586bdc7ec7d2d1175d6fac89e5b5ef28c6e268f2ce59e85ae52a96593fda8484f4f57bf4f24f72490249004f117b093e9d3a74fe1e4e40407078767e2e1e1a13ed9b22f5c8204f275154876b27f9e30b1602d4d7979796ad190c96490cbe5ea56a9ff226c5bea67477332c90496fddf627f3f6ffd297f1df69eb2f7b6a46b9a1d6f5d51fcbbb0329878b2e8766b535e8f904012c46b84b3b333eedcb983fbf7ef571a5757575cbc78517dd2234820df7481643f98584b131383ff4a1aab1249268eac259285e4a07ae491b536c6c5c5a9df63dd56c717096b8d8c8989414a4a4a694b248504920492202ab077ef5e752b4855dd35ec0b79ebd6adeab15bd40a4902f9a60b24fb1cb3cff47fd9ea585558eb276b2d632da2d5758265c2c35aded8983ed67bf0e0c1835a91921fbbecb3c00452a954aa05f29f86bd37010101eaf2eeddbb576b8ee38b845d88c4bafbd9385212481248a216b26ddb36f5382c36468b9d7c2a86fd1a5fb76e1d424343d5bfce0912c8375920d9098fb5fcbd6a792c69852cb93ab83a4eaeac7535323212818181ea933b4b505050ad08933d4f4f4ff5bfac25f265e4b1246cb8838f8f8f3ab5e538be48d8e78b7dd6d88f15d65a4b02490249d45281642755f64bb262d82f792690bebebe249024906fbc40b2eee257dd7dad1bf6238d49edcb9e58d9853925d218121252abc2f6d9cfcf0fdededeea71a5ec476f7584bd3fec221c562e13a5da765c5fe4f8fbfbfbab870d9040924012b55020d9898cb586544c8940b25fe1249024906fba40b2ee5df6ef3f913d5e7200b6cdf8152b2f3c85422e87f3eea9f8f5d75fcbc560df15e4889ebf4cf6c38db51cbeec89b5a4e591f514d4b63089f1f2f2527f47b1efabea0cfb6e642d9b4c906ae3b17d91b0e3ff6f5f7444024910afa140b2d646d66553312490249024905cc419b0b7d0574be2aa4b9c402ae4f0b133c7a2458bd431983a14bd462f8143603ae48aff5620d9ff53769fc3b0b0b05a19d602c65a09a3a2a2aa5d20d9f722eb16672d9c4c926aeb317ede94fcff22812481acb5b02ea5a7daf134353d1b376e54773db09310eb06ab9812813c7ffebcfa4bb4a61f0f76fb0f7662274820cb2244c8a51598d07726264eeca7154805942a9576bc5c366e6d980de333dec897295fa8ecea1048d62dcf5ac89844d6c6940824bbf54e750f316063c39918b11fd04c206beb317e9eb09660f6a41f124812c85a4d0cf79fe0aeab2b42b92f8e9a9e8d9b36a90592c9226b89ac18f625ca04f2d2e5cb08665d1535fc7824a7a4a8c58020812c49b2ab3946f7ed8c033703b067f5e852812c499cfd720cebbd1d21c217bfb2bb3a0492fde0656394590b5c6d0c1348b6ffec8a7676615275865d8dcdaeea6602c944b2b61ee3e7091348269224902f2990b961e77070eb344c9b360d1b8f3922343112f1a9d9c816b0b9d908b4b680e3b547481566c1ffb0191c6f78225d544941e22838996ec0e55b41c891fc97a78d04dc9aa70fc7302954cff45ac6c1494f0f8eb1fff5a94c8682d8077034da8ac76915e7499013721b8e5b76c13ba31af63e21015edc2fda4c4eac6a7a8c8d8dd52755762b11763b9f8a61b7f259bb762d6edfbd8b746eb99a7e3cf80201ddae8804b2ec563ba99e58366b18e69e0d434e7c00762d1d81a527ef22872fd55c492d8dc7b1c9a330d83a12aa7fd0c2555d02c97a07d8b39d6b6398b83081643f82ab5b205958af0413482647b5f5183f4f580b2d1b8b4b02f91202c9e471a7993e5659ecc5695b5bdcb878189b574dc186a30e08cbe6e4f1e866cc6cda10069bcf202c37160e5306c2d4e42222f32a1494e10d8bf5d3d1feeb7a58b0d70509bcfff2b4e18b7d9f7d0a5337011485bad363e13875303abcfd364c3dff6b79bc0bcb01bfa1dfcfdd713eace27c3e126eef8769d73f7125f2e5b7c62e1e515f19c99ea95ac3c3eef158f25c6076f3dc8a6183a299403e7af408223640ba861f0fb9f639b90409a4422145ccfde39832e0d7672e96e96c11c0cd9721fdf1298c193804a7e354ffa88bb43a0492b5bc31b9a9ecff6f6d086b192ce9c2662d86d519f6feb0dbd430416572545b8ff1f3847d06abeb9654b5542073e16d310b6b971ac3295208e65ecafc0478b91cc4999b4f10952d4286fb49aceada1a8bd4022942baa73b22c29321a838ec4a988a878e7b31a55d132cffcf05321fd1d7ed1091a54451311f9e967ab08f627fe721f2d832747f2e812c864a96864756fab815ffb2f551419a1d0ca7b51330542d902a08d27ce07e6e2b9ea85b239510674623c2cd0329c297dffb92a711943c33b526875d44c364998d5da9ac5b828d016202c97e81b3f15eb5e1981024909ac8c14b8b82fb6dcd633daf5f3c8125d30660dac6fd700861c33bf87872cc1883ba2c839758f1ca0492fd1f65ff5799e0b0eed6da16262eecfb89b58255f7b397d9d87076753b1b63cacaaf8dc7f779c3c690ffdb4feea9e1029907af83b3a1f7c76cecb38b43a9f3290b502010412c678d65deb09ad80babd502f937c51578c0ac7f4718fde702a94b18ac5a7c04d3873214b2736be6254c7ae77904b21032de231c68531f07fcaaa11aca3cc4dcdc86d96a811423cdf324f60dee03db083ac9bf0c2502c9be00d80948775034fbc2d41548ba0a9b04b2368e812cb922579a138b03da31904aa5e6caec1b3b97a0d7b4c3c854bc3a812cd92fd695cb7a126a5bd8f714ebc267ad84d52d90ecb8b2d64d36ce92fdc8ae8dc7f779c204bb3a9fa8544b055205bedf19cc19dc1b3ffcdc1b8687ae2130435ea1b755572033e0b3772becaeb0f190da2b803dcdb161c9688c1ecd65684fb4fdf27f985f2a9022845e598f253335f3375ff246ba400508837061e502d8debb073b4343cc1e6d03f7443ecab62c80dfc905983599ad771a9ed9a1709c370b53d93646efc4ad441114b1ce98396d32469bdd45aa2c120edcdf76dc7f1abb8903d1e1dd77d0b6e7088c1a751591e917b502c9c3c3dddcfa63c662fc8d988a6d78508a03717e6877b47dff03fcdc7b32f46639239e9b2e17c6c3658776ff26cdc0bce3be10e848a7242f0c37b669e74f33c0b27381109613c85fb0ffea4dece9d91e6d3fab8fcefd1760f5963bf00f7482ddda6d7892988fb8076760b5612b6ebadfc3492356963ed6ee74429498b5eca6c0fdd26e186cb0c0ad6849ad17840b172ee0f1e3c7ea2f4ad60dc1ba6b58588b06bbb8867d31b38b68d8af4b124812c8da7c1f48057b3c5e51318a0a4baeb45642c5fd9f28663d16af58205998e030d161ff8fd9499d8de5ae0d613f7e4bc641b21b8957e7b3b559f9ac5cf683ba361dd3e7093b1e259f39368c809e44531d17d1487210faf034960cf805adbf6f8daefd8661e7e95b48e0571448739c5abf1a13bf6d0003ed1848268f4b37cec756eb13b86a6f8fc36b3ae3c7466f61965a20993c9ec6f5eb1770ddc91ef6e7b7c170f8181cb5398c39b346a0e5ffeaa055c70d386a7d0d0ef6214811c851367c5181ac503b6c1ffd15661abb21969f8bb8bb9761fce7e798b9d5051179dc17232f1e960be763d723179ce3a4b1e3fbef619b5b3222ce1aa1ef07ef63da8eabb87e231af9199a16c8363d4d70f1ae3dae9b4dc7fb3f6fc2635ef9eeeb224506022d17a1579dbad0df73132eb7e3902d8ac71d8bd1587bf02cecedafe3d28583583c7d1066a82552238f372d266083e5396ebe1d2e9cb2c0a259a3b0904964a9407681cdfd6038ad9b8801cddb61a5a503ae581dc286ae3fa17f878e58bbdb1cbd7ef9018dbf688dd1730fe2ca2d7b9c3f6c8cc51386c170a737321442a446f9e2ee231f2416286bbd20b02f023b3bbb528964e2c8be2c993cb256c79d3b7762fffefdea2f0beade2581ac0902f93a3d89a63a05b264ffd8ffdf92ab936bc323f5581733bb91b89b9b9bfa072feb76ae8e63c964947d2fb2e73e3389a4c717960febb162612d8ffff60dc46bd76d7c547ca4067be3fe09130ce9d60a5f73a2337bb71d8233e53a027904f7eccf6075d7d658c204323902e717ccc79a3d37109823036beb11c59cc2f2eecdb0820964e83d2c18de0bbf74ed8501438661d8c0dfd1f2b34f316ef3719c3d678689cdbfc1a4a5d71192a52b8eba2810736a127a6fb881f002567e0e1c163644e7431ec896a8d417c89c3b700b59d21cc45fde8c419f7c081376114dc6554cfff843ecf428df853d63b73fd2e5c5288c398edeef4fc595ac8a4320951045da60ea67da2e6c9514398f4fe08f0ecb609fa5504b66a1341301b68618d679241ca20448b8638d013d8ce09cad99af1426e2d1f1f918d3671a6ec5ea746107e620e2fa66ccf9957561ab20c908c08dd5e331a6732f583addc7fe156330b86d2f985f8f47be928d200881d3cea9d01bb202f7d3490aca7d54552a7517d0e5cb97d517cab07bcab1dbf794c8e3ae5dbbf0e4c913f5d816124812c89a20906c58c6ebf428c3ea14c8923191ecc21a7641033bb9d786fc7f7be702df53fdfff1afa2a6d0481a960d63332bb70919866a6e852449b996fa53548ab2fc56b9a56142a8c58a42852e44723719e67ebf366db699996d36fbeefefa9fcf779f6367c7f9eec277a3edf57a3c5e0f763ee7f2f97ecee7bc3fcff3f97cce39616161965e300136a2574c9481809a9bb5007b15c0058c8b37529495b22cac45274371cf792c63009982b36745458b937fc6e2e8fe8df8627467b46f391433569d41827608fb6c0866f76e8b710a40866e0ec2a0766331edc7a388cd32980319b21c4f0dfb08e3e72fc5ef6bd762adf4ee3331488e5e0fdfe62e98b0680fa293ade72eedccb778b1c518fc78f832cca75761e18a2f30dcf343ac3d9da8c0dd12fc107a11e60c05126256626895fb30291f80cc9903a94060c40f78b1421dcc3d9c3f4066a526e2f8a23750c3712ef65d5fc78cb8e3df636ccd7a18ffeb29ec9a3b02751b07e2d0f5f4245c085980f75d9a61cac6302b00297e58340e2efb10af89a7b00f4662efe2f731bc5d4fac3ca58ea85fc2e11ffe8777db3d87c0bdc9a402fdf4d2f4740b442e5fbe1cdbb66dc3ce9d3b3175ea54f8fbfb5beec0c51d3d87af0990a5012045a327e0e04e8047f18a18f1c68792f8867069b70acd624445809f8067b1ec66adbe185b809238472ce33bc3a51c20af62ffaa8dd8bee530ae68e645268606e1e5ce1fe0c3c083b86405200f6f5b8adeed47e283c5fb10956e05207d66e0abe070dcf0cac8cb1b0a059048bb8435633dd1feabcdd8fef517581f75017fbcd3045e81abb062f67738122f21b14800f9bd0290f7c07f77fe00999d9684b09fdf41d587dbe1fbebef905402e8d915985cdb05333647e2d0b76fa2964b37fcfc8f9a9e8ce8bd4198e4da02f342a26f1e201187133f4ec2a71dfbe2c7637c49b435881473a756ac5881c0c0402c58b0c0d2f348782440962680143d26a24e8b57b4dc6e80140f6908e811c04238b8758b1b0331ecaccecb1310293e45581470147543c441b1bd782d10cf0f01b2640172b12f5eef310a5ffc724a42e4359c5a39163d467c84d9dbc3916605204f841fc0bc9eddd1defd437cb73d22e7c1112d40469ec1a2d1cfc1e7dd79d8723e1e160c3abf11dfee38870bffac2b1c408a1c6efd004eaddae2f5591b109e9c8684cdefc1a145737cbafc3812d224281403408abfaffeb31eef74a886d63d7e8360c82c731c0e2b65e3d57f268e259871e9e84abcd9de119d5f5c0bf1e69fcca448fcfdc358f8bc3a0f27af5c2e1240fa34e984ff5b1f91f39bc337e1eb493d30f0a3e508e37333f90e678b27b2c5433422888a3b6fc22301b23401a4189e1490206043f400de2e7814002be0469860603b8b1b04314d4140a4187e16714cfc2d968b736ecde23c8487875fffa6b88047319547a4b15c0990250790c1ebb1e6e7e5583e6e0c5eebd8111d3bb6438b616f63e29f7b1195741ebba6bc891e35ec51c7b92b06b77e125e0f3d803a75fb62daaa501cdbbf1ad3dbf9a0d3a3ade025b6f56a86fa552bc1c9e5317cb27c274e1cfb1553bb3c8da71e6f8b0e227d62207e3fbe07bf0ee98996952bc2d9ad05fcff50c0d59c4f1693b6e143a7d158bc371ad704115edd8cf71cdec22fa71558b44c713b89155d1e8753f9bb51afa92fd6861dc15c1f3b346cd101dede3330b3ad071e561a957a2d3ec5a6a31bf1f113eea851ee6eb8b69e82ad57b407ca84f9f22e7cee5d010d3cbba2679f9538919188733b16e2bd8e0de1a9e4dffbe9eee8367e91657e63ba786f646a1c4e6cfc126f7774434b91deb5177a7ffc3d369e8b44f4b1df30e5b1baa859a90e7c06cec3eacd8b31b69d3ddc1fef8b173abc8751ee4ea855a5017a0d9b81a079efa397930b3abe384c29ff8ef0eaf13c064cfb0e211109c848388f0ddf7e82fea33ec66fc7399cad9798e7284052f448121ea9d206902a440a601050217a014b122405388a3ca8c72fa9870fca8a45798a72153d9162385bdc0c8bde44f1af982729968b1b08b18e004431e75bc0a63a7f523c1422e63bb2e79100791b003253a974d794a094882b678e61ffd6add82a7cf49c028f625cda8cb89347b0cfb23c5449df895d96ffefc7d9a844a466a520f6e84184aadb697cf2c2159833ae21e6d03eec56979f8e4262aa72c7b53f142172d999e8abbaafc7dc409088dc1581787306b2e4df17422290a06c942d21f8c2df3bb0ddb2bfa3884e3123e6c4766cdf26fe3e85d35bb7c93c1d474c620c8e59febf0ddbb79fc025ddcbd0b332af21eaa8480fc6df3b2f2847ca4656ba72fc2332ffc1caefb7c0e3757c512052b9133c2cd377ecc2de7fae28e99948bb1aad1c5b2cff1b7bf6ff83988458841d147f8728bffd088e58d27662ef9e5dd8b4e87d0c6dd9095ffc7e20673f21fb71e442624eaf6dfa355c3c7f1cbb0e1ccb7905124551650a20b5f3e6044c088bdef692b07a3c8263f10f67ab0f1289d7fc0880144f6b8ba7b4558b27abc5fb0b557014c0291e6812e787f04880bc7d4f6153b74fa9467320298a2240d265edc11ad1d32b7a1ac5d41cd1b3a8be3752b5f85b0c5d8b9e48f12d6df60a132009906555e9b138b53600afb8d4c2c355aaa1cb9071d8fa2f8b85a2089074591ed6163d92a2075840a2e899145029fe15bd8d0232453ac1910049802ccbca4e47726c388eedda6579b1eca1e3a7116766b150140192a6afddf0be4796090192004951144580a4699a004980a4288a22401220699a264052144511200990344d1320298aa2089004489aa6099004488aa22802244dd3044802244551140192a66902240192a2288a004980a46902240192a2288a004980a4699a0049511445802c46805cb76edd0d2f88a669baf4990049511445802440d2344d80a4288a22401220699a26401220298a22401220699a26401220298aa20890344d13200990144551044836ae344d80244052144511200990344d1320298aa20890c50290aeaeaef0f4f4a469ba947bc8902104488aa22802a46d00d2c3c3036ddbb6a569ba947be8d0a104488aa22802a46d00b271e3c668d3a60d4dd3a5dc04488aa22802a4cd00d2dddd1dad5bb7a669ba949b43d814455104489b0164a3468dd0aa552b9aa64bb9099014455104489b01a49b9b1b1e7ffc719aa64bb9099014455104483e854dd3349fc2a6288a2240de1e806cd8b0215ab46841d37429370192a2288a006933806cd0a0019a376f4ed37429370192a2288a0069338074717141d3a64d699a2ee52ed500999561c6b5e4042424dce86be6346466977c0390ade4e9ead544c33c596c4e4756361b4a8aa2fe9b0059bf7e7d3469d2842e3637429d4a9550b162c5bcae6c0fc7868d4b381ff7df988f8a95f050adfaf078ecd68ff1a87b03d4adf7083c1ee579bf135daa013262fb040c7bfa7edc5be16e98eebe57b9c01e4055fbcab8f79ef2e8313a007f9f3723bd8469edf28609f07475c0dd7795b334067695943c55ad866ad5aac1bed2bdb86bfc6a4426a5d9e660596948cb60a34b5104c89203c87af5eae1b1c71ea38bcd7ed8136bbeb1729863e1ffe948b87a94543e3e46685caa412dcd40f8f699e8dde956f7df0ccff67d01c1db66a2970fcffb9de8523f847d75ff62bcd6b5214ccd0761ca9fa771eddf4d18ddef0954b8db8466433fc78633c928f10ebf835fc3b5ce434ac1df8371abce21415e83b1ebde83cb8c8d88b2054066a7e3da9945f8710f1b5d8a2240962c403efae8a374b1f97f1680cc4abf8a13fbd760cd9a1cff9398a1347861f8f8ad5e96f53cdcdd50afee2378e411e13aa8d7b0113ce43e3c3c1aa3417de79cb4066e68e45a5ff97f5d34746b9c93ded81d2ef5647a9d3a68d8a8b1413efc2c0029f2717c5f6e3ed6acf91d4b668cc4934f88753ce0eeea02a74772f251a74e7d34f2d0ecc3c3036e0dea5f4f77726e00774b7a63b8b9f8e1683270e9e064746aed8246967c3542fdba4e725f4e4abe3ce4be1ac145fcc67a2e707616e9f5e0d69875a5b83d78f0e0320690484468e04074aeaf04e296c311b0e51c526e1b4076c3ac908b48cecc426a4a2a32b363b16edd0198cde9b74a8f30c7efc5fce7efc30c02244511204b10209d9d9d213e67481797275800322df10c668ec95d3e7ae2015c4526cead79d9f277db0e4fe0f30541080a125e88c9a387a0ad029122ad49530f8c99b930276dd6183c367eb6f2ffaff069b7a72de9cddbb4c447b365faa240bc33ec69b8b8b9ebf2f13f0b40a6269cc2f4778df3eaee5a0f4f8cf4c7c2a09c7c2c5c3013033bd7b200a948775560b1db7b33b148a67f153001cfb57b046eee7d30f59bddb8a230b1f972287ef9792ede756f84961ddae393b98b72f2f5cd3cbcf1726734b0e4eb5dcc5596cd9e3d0ff3e7072ae9dfe09dbeac2bc5edb2079099b1d836f72578399960e735125f06ff0b738619f17197101919297d05492919c8bade236f465c6c8c265dfa72225232b22c3d9859a957111b132dd312702d2dd37acfa61e20cde158f2c52ae50ef29a72f95f1f7f5620301a5151f25871d7909167875948b912959b972b29d7f39b9a701e2bdf37a1c2bd15f1bf3fa210159d040b92666723e35a9cdc260ad11793af2fcf34275a96475fbca8fcf614244646e362cc35a4b3cda62802641100d2c9c909e27386747139072053e38fc2f7e50aa85021c7d3b65e56da80349c58f6121e7dcc15ab0fc7223d2bb75321ede271bcfdeaf368e45e0f93fe3cabb45db241c9b88618b36879ae60dbb0fe0af43d8295072f21f5fa4302d9483c1f823707fb28db6af32101f2ca618c1f909b0fbbfb2aa34e7d3725bd3e9cbedc81d8e4f4eb6d6176760622f77d8d577ad7b7e4a3d5b77b7045696bd5f4accc54fcb3fd53747f6a0476276a6b7e0456366b8cd5472f234dcd577616ae9cde8c41fd3a29fbfa0eff2a8b3233339125a6a525edc7d8e6ac2bc5edb203901e7d31eefbed38bdf37bbcdca5192a56ae8ac15396e2f8e50c98f72f47ff8e2d51a5dac3a8f1e07db8b7424f8cfd6e3f22153854c810577707a16bab2678a0ba036a393c08bb7bcac374bf3daaf79e8a3527950b2d3511a756be0f2f4f37d4ace58887abbd8a599b4e234ec2a57580ec848f7f3f80537f4c81e3d0efb0efb20a90020e0f63e10027383bd7466dc71ab0ef3603c11712906ed9612652e20e607eef07e1f088231c95f4079ef912fb15c8cccccac0ee2f6aa25a4513ca952b87076ad44343b7af715081c4b4f87fb1c5bf1bec6b38a276ed0668d86032d6c72be0997615e16b26a0b2d238d93bd4826fe0527c50ad2e9c1b29dbb1cda62802641101527cce902e2e7f84dd067320b395d81f77663b9e7fa6b302905fe3ef53fbf1ebf8b7d1d9bd31dafe715eb48608f57d0b6d9a2f44b8e0c6d8a31839f019657fef626b6c7a0e400e7d116e5343700d29383a63029e548ed7a2e56a5c44320e4e1b03afc6da7c4c309c039991180eff712fa051b300fc23febe7c169f8c7cc9b2cdc47517918124ecfbe44db4f60c52f2a1b44b9187f046ff1e96f4395b6395d62d1e3b46f4530065328e2501b187a7a37ba746787c56a892ab641cf07b076d9575bd9f5c8f58e537ed193f1c2d5480bc7c08c3fa77611d2921971d80bca792024eb55047096e22c00dff4cc0a358e35f6c1a3318dd9c462060d529ec5d33184f375500f1a549f8f9641cb2623661e2d3cde070ef60ccfce32c124efc84ae6d94fdbdf039fe387d4541bd745c58f5011e7771c25b0b7722321938fe434778bc3416ab8ec520353b3f80ac88aa0e8ea8a30060e55e0a00aa0099168685af3c84caf67ed8703945b9e00e6076adcab0ebea8f4309cadd5cea39cc7bee5edc5de933ec12908b50f8df6fc25dcfcec5d954f1f47938163f6f4205bbdc21ecacd438ecfdac0beeb7af8f058781f4e48b583bd9010e838210969686c47f7fc787023aefae0ed72673b07af53cb4edac9411db6c8a2240160120ebd4a903f13943bab8ec6b01c8ccb478ecdbbe188b17e7f8dbc0d918f24267cb3a8d1ad6c32b234661d4173fe19c3ac95e00e47805dca6fc05b3d2aa446c5c807ead73f6d967d5196589029043fae1993fc20debdea5fd1fa3535b6d3e1480bc9c8accd42bd8b72d6f3e06f7ed0437dfe50af065236af3f71822b769d57609c23380b843b3e0357fab928f349cfd2100bd657a8fe77f41b4927e6997af0228937200f2903fba757443ffbf2e18e62b7ad73b78bcf9b74a4b9e8d4b87be46bf2eac2325e5323807d29ab2909a7811277ef5c353cd6b5d07c8c4dd73d1bb9513ca7bbe83a0dd1130ab0069f71ae66e3a8fc4ac23f8cebb199c4d2f62e2f21d387cee1cf62d7e138d9dec31fceb5d884aca2e7808fbd2267cf0ee729c8ccb01c8ccdd33e050ad124cbdbec2b1aba94ace62b072681554ac6082ef5f0930074fcee905edbb041196eefc682ceba7c0df5d7761e28e0c0380cc84f9f23a7c60b243e5aa13f09b92c733c70f60cda74fa2ca438e08d89386e4d8507cd1c384ca0f3be3fd75716ca9298a00795300e9e8e808f1351abab89c03906909a7e1ffb6f13a8d3ef9169752c433353fc3efc337307a6714901187bfde1f8e1613ff54c02e13e19be7e185362ecafa2ee8a60064a600c8c12f60d2ce04a5c948c2fea55fe3bdd7dfc0eb4306e0d9679f439f9e5e78d4437b9c8f2c00999a70129f8f36c8c7074b95f6361b117f7d8757eaba5896793653005269e42e1f9a86b6733729f948c3c9207f3c5b2f27bd6b0f052095f4985d6314409998039007a7a1ab77434cdf93a8fc8604ec5a38076f2bf97a6dd04b4abefae0f99eade1ee2e003213913be7a28f37eb4849990009d11b1783c8f0e3f86bce30f46af910eeb7cbed8144e25e7c33b80b1adfd70fbe5f6dc4bef5b3d1be7d4bd4ea3b0d7f9c8c457ac2364cf5f2c0c3a68aa856b30eead677817891aef0a079db109e905130402a17ccb14d9b109d92338ff1f29a51a8615fd11020fb2f0943e48a6139af26d20364b9bb3078e5a51b01523c917df63bf43395c35d775741cdbab979f4f07c027e1b2f5d07c86ab5eb63c10136d4144580bc7980145fa3a18bcbe3730172b4f13a9342122cc0f8dba87ea87157392c39a5b4136997f0ebbb43d1d42d67083b3bee18fa3cdd42693786634f42b665087beba0be709bb21be2dd2417778f83877339d87f7b182929b1d8e5fb165ae7398e2ff648809c36ca201f6e332d43d8d989e731fae5272d53aac66fbda2ec3909fbc68f80a75b504e3e628fa277e7e696f4e9bb1294f478040fe98b86ae93713c194839fb2b9a367446e319fb2c401a193c1c756a9443dda5c7947cc560fb9b43d0a4419004c83978ae03eb484999009965c6a1a503d0d9dd0ba3e60563efbacfd0a365cd5c8014f311c3d623a07f77b469e80a5757c51f062138e2aadcc159acecd5122e155ae3cda03d084fce79782633391609d7d29191854201641e1dfd164d9caae0aea7e6e260a200c80b58de5701c8aa0e08d8998c0c65fbba0f5640b92e8b106601480518bb2900f9406dcc3f9877087bfaee0c5cbd9aac5ce4c198aa6c73bf7d3fcc576eeb2c87ccce44fad58b8837672239260433bc0990144580bc3580ac5dbbf6f51b54ba38ac00e4250190a71480345ea751c06a5c4ab9fe5825e20ec6215dc1c2fd9346a26543174c58b91b57cc32dd1c877d51f1390039f079cbf63f049f424ac6f5c9958839b911aff6eba43b8eeff51ec869a38cf3e1aee4e3746c4aee433499669c090e40ffee39e9edbeda80f357ccd7d333d3127164bd2fba7470b100ca4fc7d5874393b07d7253acd8750e66b5bdcccac085c36bd0ff592f655fb900d9bb3deb4849b95403a498e7776aed543cdfce19a646bdf0f6d79b712e3619695aa84bda8bc0173ba2bec90723a7adc4b2e9fdd0a69e1d4cdd4761d19e70a4a55dc4fa8fc761d6373f61cb816338764c75186214b8130fb29d5d33183d5add07bb7623f0e51f3b7048493ff4db642cddf52f6275ef08ca4cba8833bf4f8473cdaa4ac1b7c787cbb6636fd455dd0bcde3b0f1634fb8dc3702817fefc3e1633f615c6de5627c6b25c25305a05ec69fe35c51ebeed1f8fef051252fcbf04e95da707d6f2d622dd755147e1dfe10cadf638731cb0e60c5da23ca8579153bbe70459d5af7a36adfd90816bfe16028f6acf81f961e35e3cac9a518aa344e0fd4ac8bc95b9290c9b69aa20890370190356bd6847817245d5c7e1663274fc78c6913f04257e3755c14f87af5237fcc9a354bf127f83f8f1198346b06fc467483879b139c1f71c64ba3c6c3cfcf0f7ea35ec45bc197808c18fc3ea0b765fb966d3be0a3a9b32cdb07cc9c8e375eea6c709c9e183b45c9c7671fa16f172b797569808eaf4dc08c5939fb9af1b91ffa75d4a4bb37c1336f7e7c3dfdf34fc7e099b632ad7e7db41ff611a65bd23ec7e89ef5d0a6a30ffca6c97c4dff0c839fef20f735049fce9a8989efbd84279ab28e94944b354046ed9e8ef7077ac0c343755f4cf8e66ffc9be701b6706cf31d81be96f4973065ca4c0c18f09c65fd71817f212c621fbeeadf0675ef35a9c15bda13af2d0cc179d97d2820b2cfd3b9c77a75c176c3e1eb2bdbfdd1ad532b4d9e14cfd860f0f59963f8befd1368a9ae337aa592ef0ccd53dd87b1a859533ca6a64b7854ef1853431728cb9ba079cbf1f8ebb284d7d404ec98937bdc164f74c0c4cd7182b411b96966cef2c73bc0e7b36dcabd28455104c89b03c8ba75ebd277ac27e0b71d3bb043e3c8a44ca4c7ecc5885e1d583e74a13d68d0a0d23d847dcb52a06bcb9281e8e9e38e4735df80f4a85f13f78f9c878de713d8aa511445809400e9e0e000f13271facef5131d7e43784a0a52a49362cfc1fffdde2c1bba48264016a4f37f61f884e9f0ff711d42f6edc33ee9bdbf4fc780effec4eea824b66a1445112025403efcf0c39657a5d1345dba4d802c50577160c95b78a5ab273c3d733d7cee7a9cb9ccefb450144580d402648d1a35e4f797699a2ecd264052144511206d06900f3df410c4ab7c689a2edd264052144511206d0690d5ab578778950f4dd3a5db04488aa22802a4cd00f2c1071f44ad5ab5689a2ee5264052144511206d0690d5aa558378129ba6e9d26d022445511401d2660059b56a558827b1699a2edd264052144511206d0690f6f6f6104f62d3345dba3d70e040022445511401d27600299ec4a669ba749b004951144580b4194056a95205e2411a9aa64bb7099014455104489b0164e5ca95211ea4a169ba749b004951144580b41940de77df7d101049d374e9b68f8fcf7f17201507cb7f699aa6cb82ef7480f4151049d3749971f7ff2240b6561c44d3345d863cc744511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445dda4bc0bb07d11f6e5a6b8e97fbc3c5acbdf614dceb25c8c6427d31c34fb2aa87cede4fae2ff5e8538ae9bee58ce36f8cd6e32af375356831477be89736f5f40fdb2d7940f4559545d5678ad1d6db05f71e1f551ec62a37c969779b32be205e15c4000502f16478372d0db4edab980fdaac7ad6ee55877aa2ad928f855d7046c8aa28a261460ef22ec2b48f196ff787984c9df614d7eb25cacc57848a852f75550f93acbf5d5bfadb5611b647a90ee587e36f8cd4132af45919ae778c5bfdcc4b9f7d6d52f11c39719a43bf312a5b415d5e8228a553c5582dbadec738c8df2e9acabdc02c6020ad826bfc062d25dec85092cde9a8b08f9dcdd2dd10516930d034b716a5001e555961a2d8aba9d001950c08d2c01f2e60052db51e0a569a3b4e55b5e130bcd8a7daddc2467c8f43b0520d7290ed5b4d9e2f7f914617b07f9bb1dacb4076a7a255ea294b6a2469bf276e18b4a37475e20cb6e629f198580bb5b05c8c2c04e5100523bb4d14fa64d35dd3874a4026492e28906fbb493696519207b6a023645514507c8a2c60a4793f1f0a316209d659cb30600d5e53e3c0be838685ac03a8ef238d5f389e5def9a49797c7702b06802c6c9a1a0b454fde0183f4617279980d01d24553aed600d2319fb2db52403969dba882a60514a53d50dbc582461b3de47139045eca0032ac800bd3db4a4576b11244ac5d94d5e5363733445edc0059d8c0a202a4e8653c63059e220c82dead0416a3a1e5f2852c4bb5cced0a482f9f4f995692eb542f208814941735cf0ef9a43b9b38fc4d11200b132bc43ac1a6bc233ee2e67da42ebe8b5ea9d59a75ccf226599583840f75f853fdb7a7669d3079437d42b39f08093cdab819acd95ee4657e01c799af6b43bc648786597a83fcfb7601a4da99e062006b636c04900ef21ca9e51226cb31ac80b20bd4949dd16899fee601b26ec46bd60bd5dc74786bb6f5d3ed6f90e9c621ecf2f2fc89f31c2bd30ee8c0748b5ce780665fd1a69b9bdf49fdc70052ed4dd306014f5d6588d75c80de0615d9242b54a86ef9095d4533ba90b7185c9cdea6bcf353f2bb608b13207de4bffa0b41dcb14eb411406e9141225ab77d3fcd3248906dad3ba74b740d8b384f7d745018a46b0c0275e5a50d10ea7a3feb7a30c4b239a6dc5ed701a61b87cdc4725f790c753f5b74bd25debaf4d5b2ce04f112a5ca2040fe22e38fde7d0ce2db120918e2ba5c26af577b4d2c5087c4ede4f22db2c157b55ac663071dd01cd101a459e6c14e0255b48c07aa42e4362e9a9be90c0dacead33d4db953a5d49bd978b94f75bef97cd38da339d6e2bc9f81036e11209d657cf5d3759e40fe6b0b800c96e5efa83b7698ae6cb56da65a76fef9f4401a016484a613a6bb3c3f630c00d2a893460f90fe32eefb68ea4db03c869d264f2ab8aacf0fa8804c95728034c940b24553416265c071948031525690ce9a0aa29d57629217e0164d80522bffcf37099095e4fed5ca6c7f1381c5ef1601d2598274800eca44906d6a4380cc9040da5d060f2fb96caa3c5e25097ef19af20d92eb04caf3e428f715afb9639d2fcf819726d89b7501638edc460d101ef25ceacf9b38d630d950385801c858f91b2a691a96719a809c241b3f7be95f0ad17050546905486b0e33886fda1bbace72999b2616c4ea7af9d45e3507cddfad0d6267920e2057ebd6992fa1c624639eda0e6835522ef3b292ee2b8f535ec61098f28e74949731a830001966e0081b00e44453ded1a6d11a00ba55807491dbf4d12d5fad39d79e9a4e0badc6c9986d5704801ca7dbc701cd364501483b79ec89567ecf204d9e4274eb4c35157d7e27f51f05c82d9af431b2d2e8816d836cf08d60d04e5e70faf9164b0c20a3b0006954b98b1a58c26c00906aaf9aaa019a806a2b803c60d0c319aa5ba6f6148fd39c536d605101517bf127996e9c1c3e4753a6f63ac833da8ffabb9619d429fdb99d6a706312a46944e275f955f34880a4ca22401676083bda4a7cf2d65c8bc1f9c43055ad657c5787bc3374f135cc74e3bc763f4ddb3048d32b6724150e43646c507d429397005d3cd5f6beddae216c670d1c37d5f418be6e238054e3a94b3e9035c84ad91dd19dc7c200649f7cdad8a200a40a8a3d0d7e93f6f9802db2add79faf0c5ee66503204334012848d3a86b7d42b70fa38bd24b82e47cb9cf8c1204c8a206eac202a47a117969ee1a7d6d0c90fac01926ef86f5e7407b976e744e0b73f16bcb54ed3158a73bcecf7279f77c7e575011cfed320328d64326451120ad035c7e00b9a500800cd4c4637f0919730c00d2af1000696dfeb23a52f5bac97868be923c664421e3604902a449c6dc8932768ab2aa6e2380ec6305208dca76a495b2732802407adb0820dd74ed8056f19a32303a7705b5cb54290148b5172850fefdb3bcc08d8683475b0186f212accc1244c55d663fd993f65f0748932977185b7dad834b09006488957330a89000e961321e12e9a7292f75fd402bc76a6a4380fcc574e33047617a1e288a00796b00a9c63afdebd6028a0890ea3e5b1bf4a44d34599f332ee2c80053dee950faa7c423ee00805487b14507c1065db9dc0a407a5801b1259ab2f5d1755468b755cbaea401b29229effc49550e729d61044802e4eb3ad00830e59d47a7ad585e5680a1bb95de2e75e2767e9071a2100059fe3603e43819e086e97ad18a0b200554ad3358b79f29efbca7fc00521d9e1ead5b679ca6bcac9581a3bc6bb6b721404e34a8578599fb4451a51520f37b0f64751b02a43a1a315a0775f14504c8f2f2ffeb4cb953513c64c7c168b92c427622a8b143fc7b4413371de471b54f17ab73dd6f3740aa3d6e1112daf203486be7ce5a5b1522cb403daf5eb2dcb4651b21d7abae29bb5053de294ec505900e56da3eb543c94593cf5fe439ac4e802c3b0019a1abe84d4db9137457eb028bfa5087497361c59bf2ce8fd15e943d0d2aaeb7dc8f36f8897d68e7d20d3019bfe55fdd8fdaf5ef719b01527d222f5a17848d00b2a881c5e8e21b29cbaebb0e1eb5f35b0a0248932ceb3053ee9c25f589426d79e99f0ed406884a3604481759d7e69b8af6f42545955680cccf413604483516a873ec42647b30d1947768b5208034c9de45b16dac841bb3dcb71adf3c657abc4c4f92db6be7c7f794e9674cb953a38edc01006992b06636e5ed213502c8fcbe70632437f95bd5728b37e57df6406d7b236499592b3b5b03a48729772eacaf41bda92edb087574513df7de05b46104c85206904695dd2cef04f5c309a335f0b7455379ecad00839d0c002a8caa016a89bc08ec74bd5f619ac0b12e1f8074d6546effdb08902a68e927901b016451038bd1c5575e73ce0ec8f254dfa7662a02403ac8f3a206ab24cdef3069c0ee88262d4cfebf670165585480546f08d477c709abef7f0be0254a9531791760374d9cd20f09ebbf676cf43d64a36f1aabdf50eea9b989f336e5fd86b4b3419cd41fdf4ededc0e32e57d47a436ddc794fb5e41a3f7d3dacb78d047b63f4d4db6fb167661d31c0cf2e766f09bb42fe4b63315fc8d6d6b2aaf2917c77cca36bfb2d39793f6dcdb998c5f34afddc6e85bd8221fea77b5ad7d0b5bad3bdd0b91a782ce17f51f939b4145f734e5ffb92247d943384cae6f34a4eda0abf83de5fa6a80522ba3f6381ea6dc779dd9c9bcb9e5730138cbf5dd6e22b0a8f9742e626031ba885c0c2e76fd9bfe6f26b0e417389b9a7227517b189cd3d685c877794db06faa099a46816d983c2fd50b5186fa46cba82c8d7e9bc89b97e6f7449beefcaff750144551144551b741e266245607a7d6de7d4651144551144551167014bd8d62885c0cc58b795362a87c358b86a2288aa2288ab22631c42e1e1012ef8213735a7bb248288aa228eae6f5ff83a529fb47789c710000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Comparison of the user interface of the default HTML to the jQuery Mobile enhanced version}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Understanding jQuery Mobile Navigation\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The jQuery Mobile navigation system controls its application\u8217's lifecycle by automatically \u8220"hijacking\u8221" standard links and form submissions and turning them into AJAX requests. Whenever a link is clicked or a form is submitted, that event is automatically intercepted and used to issue an AJAX request based on the href or form action instead of reloading the page.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When the page document is requested, jQuery Mobile searches the document for all elements with the {\f1 data-role="page"} attribute, parses its contents, and inserts that code into the DOM of the original page. Once the new page is prepared, jQuery Mobile\u8217's JavaScript triggers a transition that shows the new page and hides the HTML of the previous page in the DOM.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next, any widgets in the incoming page are enhanced to apply all the styles and behavior. The rest of the incoming page is discarded so any scripts, stylesheets, or other information will not be included.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Via the {\i multi-page templating feature}, you can add as many pages as you want to the same HTML file within the body tag by defining divs with {\f1 data-role="page"} or {\f1 data-role="dialog"} attributes along with an {\f1 id} which can be used in links (preceded by a hashbang):\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+ ...\line
+ \line
+ ...\line
+
\line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i jQuery Mobile multi-page templating example}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To, for example, navigate to {\i secondpage} and have it appear in a modal dialog using a fade-transition, you would just add the {\f1 data-rel="dialog"}, {\f1 data-transition="fade"}, and {\f1 href="index.html#secondpage"} attributes to an anchor tag.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Roughly speaking, having its own event cycle, jQuery Mobile is a tiny MVC framework which includes features like progressive widget enhancement, pre-fetching, caching, and multi-page templating by HTML configurations innately. In general, a Backbone.js developer does not need to know about its internal event workflow, but will need to know how to apply HTML-based configurations which will take action within the event phase. The {\i Intercepting jQuery Mobile Events} section goes into detail regarding how to handle special scenarios when fine-grained JavaScript adaptions need to be applied.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For further introduction and explanations about jQuery Mobile visit:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://view.jquerymobile.com/1.3.0/docs/intro/"}}{\fldrslt{\ul
+http://view.jquerymobile.com/1.3.0/docs/intro/
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://view.jquerymobile.com/1.3.0/docs/widgets/pages/"}}{\fldrslt{\ul
+http://view.jquerymobile.com/1.3.0/docs/widgets/pages/
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://view.jquerymobile.com/1.3.0/docs/intro/rwd.php"}}{\fldrslt{\ul
+http://view.jquerymobile.com/1.3.0/docs/intro/rwd.php
+}}}
+\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Basic Backbone app setup for jQuery Mobile\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The first major hurdle developers typically run into when building applications with jQuery Mobile and an MV* framework is that both frameworks want to handle application navigation.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To combine Backbone and jQuery Mobile, we first need to disable jQuery Mobile\u8217's navigation system and progressive enhancement. The second step will then be to make use of jQM\u8217's custom API to apply configurations and enhance components during Backbone\u8217's application lifecycle instead.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The mobile app example presented here is based on the existing codebase of the TodoMVC Backbone-Require.js example, which was discussed in an earlier chapter, and is enhanced to support jQuery Mobile.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000003310000024f0802000000c3abcdd2000020004944415478daecdd796c24d97d27f85fdc1179673279df55c522ebe8a3fa76b5ba5bddde9647b2c63b1e8fd7d27ae1f5311e7964c85accae00af6d6067b0c660e131766c09d6c20bcc606160b0f202de81ed51f7da6db55a525fd57777759d64158b3793791f9171c7db3f9264659119c9248b5545567f3f7f7467456646bc78c9ccfce67b2fdee33eba51ce94ad7ff32fff0901000000c05df7eaabaf66b3591e150100000070cf891c4744e4fbfeae9e661886aeeb9665398ee338ce6e9fbe8f789e97244914454551229188a6697851010000e01066322222628c75f268dff70b8542a552d1346d6464647474341c0e47221151146559befba5b76ddb755d5dd76bb5dae2e2e2ecececf2f272341a4d2693a228e2d505000080c393c938ae934cc6182b140ae572b9afafefb9e79e4ba7d3954aa5582c66b3d9c5c5c57bd554c6719c2ccbb22c2b8a323535f5e4934f168bc577de79676e6e2e1e8f2793499e47e72c0000001c8a4cb611b9da3cc8f7fd95951549927ee6677e269d4e2f2e2ececdcd75d8b4764731c64cd3344d9388b2d92c11c5e3f1679e79a65aadbefefaeb4b4b4bfdfdfd8220e06506000080839ec988db2193799eb7bcbcdcd5d5f5ecb3cfe672b9f3e7cf1fe4f32997cbe57239168b7de10b5f78ebadb7161717fbfbfb2549c22b0d000000073a93716d3399effbcbcbcbc3c3c38f3cf2c8b56bd75cd73d1467552e976bb5da638f3d76e9d2a5e9e9e9818101b496010000c0c1ce6414389e8c3196c964bababa262727a7a7a70f426765e75cd79d9999191f1faf56ab994ca6b7b71763cb000000e02067320aca64954a4514c53367ce2c2e2e1ed2d35b5858387dfaf41b6fbc512e971389045e6f00000038a0992c683c99effbe572f9b1c71e5b5a5adafe34cbb24cd3b42cab71b9a52008b22cabaaaa28ca413bc3e5e5e553a74e9d3b772e1289a007130000000e6826e33612d8963b6ab55a3a9d668c6db9cb75dd7abd5eafd79b639ceffb8ee3d4ebf55028140a850ed4dc608c31cff3fafafaaad56a2c16c34b0e0000000710df6827dbae52a98c8c8c34b2d726cbb28ac5a2aeeb41e3cf745d2f168b9665b183a45eaf0f0e0e56ab55bcde0000007030ad8ff1dfd218e6799eaaaa8ee33467afc68cf98ee36cd9c517bff8c5975f7e79f39f8ee3e8bace71dc816a2d731c47d334dbb631bf3f0000001ccc4c46b46d3c9965599148644bfcb26dbb313b6bb3b367cf7efbdbdffef99ffff94f3ffd7473a3699ab22c07a79f9ffda39ffcee4f2dfe3fbff9d5ef5cde7bc977b713c771e2f178ad568b442278d5010000e0c065b29663fc2dcb4a2412cd1b6ddb2e97cbdb9fff877ff88744f4ed6f7ffbf9e79f6fde5e2e971b03ff5b1dd4b488c831ecdb9a5d63d73b5114a5582c1eae193d000000e0b392c95ab693357a2db78ce2dfbc1d8fc763b1583c1effca57be323c3c4c44c3c3c3dffad6b75e7ef9e572b95ca9541ae98de3b88000b4be91dd563edacb4eb6f4c6020000001c944c46ad3299e7799224356f6cbed0f25bdffad657bef2952d3bfadad7bef6b5af7d8d88fefccffffc8ffee88f88c875dda0b927181111fb47ffee8dfff62c11d19bfff6ecfff45f888868ea77fef23f7e6578fd510bdffbf55ffaf6e56ddb371eddd80931f6b37ffce6ef9d6dda490049923ccf4326030000808398c95aaeade4fbfe9638e579dee6eddffffddf1f1e1e7efae9a7b7efeea5975e6a043222320ca3dd7465e3cfdbdf4ca55e3ff387effee0ebbff797bf33f34bdfbefce53ffe8f5f197ee51ba95ffa4f44bffc9785ef7ce55fffcedf7fe5db97a969fb2fff65e13b8d476fec67ea777ef92c5dfbee4ffff2f7a8bfed50319ee7b734fe010000001c944cd6f8dff6a4d23ebbfccaaffcca5ffcc55f6c89656fbcf1c637bef18d4e7772edeffe76697272b2f4a77ff6cad7fff717fbc718bbf4bd5f4efd7139fe33dffdb8b0de2636d23fc6d8a52f3f7396e8957ff8d1e4e424fde85fa45265b57b7c34d578c4f8bff8d7cf8dbef28d813f2d8da6e44ee21632190000001c9a4cc6719cebbacd174e4a92b46501f2975e7a694b26fbdef7bed7fccf1d2668e5e5904c44722a2a12d1e8f809a2a3ffa9f0fb67896efc9f3f9dfadd937f59f8ce8be47b44274686894854c34444e1bec9c9be9b3b197fee734434f2dffc76eabdffb2d3a97a9e173cc40d000000e01e67b2166b908ba268db7673f7653a9d9e9f9f6f7eccf6becbb367cf7efffbdfdffc672814aad7ebad0e7aebf07c464474edd247eccbbf7696e8956fa4fefbbf1f3b7e3c2912d1b5eb5718bb7ae91ad1d8b6c1fc8d7fbcf28d6fd077bef3e27ff73b537ffba797da9faa6ddb8dee4bbcea00000070e032d97a2eda96c91cc7515575734b2291989b9b6b7ecc97bef42522faeddffeed37de78e3e9a79ffeb33ffbb3af7ef5abbff77bbfb7f9807038aceb7a60261bffd5dffaf2fff13ffeed89ffe1379e277ae5effe46623fef12d18bbff8af86dff9dba96ffec6f34474f4d809c666ffe6ef5ef9b73ffde26f7c73eaeffee4d23ffef7e7fee0ecc2fffdabffec4f1a516e7eed87ffeb375eb9f19daffe9b6ffedd2ffe49db54e638ce960b17000000000e4a2673bc16994c5114c3309aa757755d776c6cecc68d1b9b5b7eeee77eeefcf9f38ddb2fbdf4d2c30f3f7cfaf4e9cd7bc7c6c676b8c8f1da77af3c7beedc1f1011bdf28ddffc7ea827fcfffeda379ebdf19d17ffe0dcb93f20fac177bfeb7efdeb23e3538c5dfafe6ffef4d80f7ef0f5ffebdc571b8f7ee27ff97838314c44c4f162a8e7d5ef7cf7da8b5fffea3fffc7fffe5ffd4d9b53350c43966564320000003880b8b7ae162a86fb5bffe4c9e6ada9546a6161617474b479e3d8d8d8cccc4cb158dc71a7c964f2d8b163cd01ee56fadacc4a4549a7955cae424414eb3fd613debca3f198583a6de572941e1d4e48444e69612e67addfd378f4fa4e46871352e3decdbd04585858e8efef2f954a78d5010000e0e0b874e952369b15aba64bdbd6bbe479def33cdbb62549dadc5828144e9e3cf9de7bef6d5f61a999aaaa274f9e5c5d5d0d6e910a751f3dda4d44148f7737b6ac3f76f38e86787ce32e313e7434beb99d3176f3b18cb18d7bdbb481b9aedb1821b7e54c010000000e82d64b5296cbe5783c9ecfe77b7b7b3737964a2541103efff9cf5fbd7a757676767b00e2386e7c7cfcf8f1e3b3b3b307ad392a9fcfc762b14aa582971c0000000e6e26dbd27a6418c6e0e0e0f4f474bd5ed7346d737b2e97731c677c7cfce8d1a38b8b8bf97cbe502810512a95eaeaea1a1a1af27dffead5ab2d57c6bc874cd3acd7ebc78e1d5b5e5ec64b0e0000000737936d6ff4aa56aba954aa50280c0e0e366f2f97cb1f7df4517777777777f7b163c752a91411150a8552a9b4b0b090cd660fe049e6f3f9442251ad5631c01f0000000e59262b954ac3c3c3d56a3593c9f4f4f46cb9776d6d6d6d6ded509c612e9723a2eeeeee858505bcde00000070c8325923781d3972647a7aba582c261289c3787ae572d9308c8989894c26834632000000389499cc308c42a130353575f1e245dbb6d3e934d758b1fc30608c150a05c3304e9d3ab5b6b66618065e6c0000003894998c884aa592ebba67ce9cf9f4d34f575656d2e9b42ccb07ffac6cdbcee7f344f4f0c30fdfb87123603901000000804392c988a85aadcecfcf9f3c79726e6e2e93c9288a924c269b97273f503ccf2b168ba6692693c9d1d1d18585855aad8697190000000e7d2623a252a9542e978f1c3972e2c4890b172eacaeaef23caf288aa228a2284a92c4f3fcbd3a01dff71dc7715dd7b22ccbb27cdf8f44224f3df554b158bc70e102c690010000c0fd93c91a0f989999595858181f1f7ff4d147979797171717755d775df79ecf8ccff3bc288a8aa21c3d7a747878389bcd7ef2c9279665e1d5050000804396c93acc5586615cbc78f1f2e5cbc964726c6c2c140aa9aaaa288a2008f7ea041a6b40198651afd7d7d6d6ae5fbf8ed593000000e0b066b25df17d3f9fcf3706d103000000c0be6532b42d01000000dcfb4c76e4c811d405000000c03dce646fbcf106ea02000000e05ee1510500000000c86400000000804c06000000804c0600000000c86400000000c86400000000804c06000000804c0600000000c86400000000c86400000000804c06000000804c0600000000c86400000000c86400000000804c06000000804c0600000000c86400000000c86400000000804c06000000804c0600000000c86400000000c86400000000804c06000000804c0600000000c86400000000c86400000000804c06000000804c0600000000c86400000000c86400000000804c06000000804c0600000000c86400000000c86400000000804c06000000804c0600000000c86400000000c86400000000804c06000000804c0600000000c86400000000c86400000000804c06000000804c0600000000c86400000000c86400000000b02b22aa00000e33ebf20717ea01f785ba86a6467b504700804c06007717f38a6b2b9ed69d8e299fa5d39612c908d7ea0e25acf13ce7fb0c7f1a0070f0a1ef12e03ee198b5994b176797738228701c870a0100385cd04e0670e831dfc92ecd2f65cbbca4c6e361914720030040260380bb9bc76ac5ec8df925c7e7c3d1b824a2e51b0000990c00ee2ecf311667afe76bb61a0ac715098d630000c86400707731afb8b6b2b092f53929168f0be8ac0400b86f321963b82e09e0d0b0cab9d9e55c281c51a4163fab182362ec33f3a66e7f9a8c317cbe01c041d7b8300ba34f000e25490db50c64000070482193010000002093010000000032190000000032190000000010612e0c00688931dfaceb954aa55aa9988eeb38eecd4f0d49122535120ec79389b0a6eefb4c1cae6d968bc562a964da8ee37a9b07d542d16432198f47efce42059e6bd5ca9572b55ad30dd775bc8d4533395e9044510b87c3e1782211912591dbbf3ab74da352a9e8baae1b96d774d08de30aa2a245c2e1582c16ba03350f00c86400b0735099bf7c296fdc0c469216097a687e757ed5acd50ca7695be8e499c90e9725774c7d6d753557aaf8c4c9b2224b5228a4721c35afa1c918736d636da5e638ae128af5f6748734f9b60302336ae5e5c5a58a610ba2a4aa4a28ac72dccdc332e6970bd97c76558d24fbfbd2d29d49248c79d5426e6575ad6ebb3c2f2aaaa2a8aac687b62c21ca985fabe42bc58cebf3a9ee9eae64ec7692a26b1b6bcbcbb972d5632449b22c4baaaaf1db0edaa879cba8656a15c7754539d43fd01fde879a0700643200d805219688089d2d2e2ea991a4dabc4191789ef37db6431aab2dcd2f147553909470342e0a81631b388e238e13795e1425624e66799e13437d03bd9a24ec3109f9f6f2ecec5aa52eaba1783cc4b7ca371cc77182200b826feb8b7346aaa7271e56f7378d957399c5e53587715a28140f897c706d731c27088220081251bd92af16b2f1eebe7422c2edfea0f9e5f9c5b5122fcaa148ac4d9ddfac044ee07941942422b6b6b2c0cb91c1811e096d6600c86400705f60e5ecf2dcd21a896a2c9ed86da7182f88c4ec9585f968b2279d0cef361db856edfaf4f5bacb45e37191ef68902bc7f9c5b5553b994e27a47d397fcf31e667ae952c2f148a84e5dd7547721c2f4abc5ecaea954adf409fdaf1aaa3ccb7e7a7af160c2f1c8dc9e25ee22ccf0be41a4b0bcb7d83fd2a563b0538e4f01e06f8ccc731e6aede98bebe989543d15844dbf328259ee7f4727675ade4ef32905dbb7acd64522c1eed30906d4421d24bb97c49bffd49fa4dbd78f9e2958ac3c5e23145def3f8308e7c7b7569b9663a9d55bbb3307db568b0586c8f81ac695f4e6679d5f27cfc3103209301c0e10d64dedafcf595921989c554791f1acead7a2993ed3496f99e317bf59a457224a2ed2d0ad64a1529a2dc4e81ed7a6966fa0693b4582cdc61d770db0a75739955dd72777c5c61692e6ff8d158645f86ea33dfcee52b58430a00990c000e6b242b2ccd2e178d48342209fbf66960e9a542a9de413ef0f34b8bba2fee3990350892b4e7677b566de6ea2c9342e190b26f03b298975bcbda5ebb0a70eae5a56c351c89ece3b5934ebd54d66dfc4d031c5e184f06f0d96554728bd96a381a6f13c84439944a25345516789e887cdfb50ca3542c1a76bba6a05a29272b7d314d6ef3185b2fafe4f5702cd62696f0bc184f7545c35a63f0bbefbb96512fe68be6c61c19b7c75dbe71c311d45838309071bc1089c5e3d188b43ee705736dbb562b97cab536574c30cfcaac1506fabb02ba2459399f253924b71e01c6295a24118f28b22cdeecd364aee3187aad582abbc107ae14cbd148b780e63200643200b8736fd591a993fcc6702bb75e9e5fcd073db4ab6f241e6af1d6def24dcd98b534b72c6a1139686c3827a4fbfa1bb98a31e6fb8d0e495ed1c27da188512daee54bc1f1c02fe50aea50af1cd81be865975738456b1307d548aaaf27c1370abb7ed128af6891fee1885ecc654bb5dbcc1eb55c2657f763f1c08b12642dd1d7975acf628cf98c11112f4af164773416cfaf656a666030f5ac6ab9124ac5b456773aa5a2ae8662adee127a0607228ad438226bba549617c4483c198e44b2c17da3beabd7f44422242195011c46e8bb043834fc0d8e65ec30909c317f1bb6359164ab9ea02901d72d7262dfe0504c931bbb628cddba7ba646127d7ddd42701397ef99e5b21174af6bea859aa3a9810d696ab4abbf27c1af9ff52d87678c4289ae74227c3b95c998b5b29c55c3a1a0de4335da35d89f123962eb2560cda7cff152576f7f3cd4ae21b0522cda7ecb73370d4f105b4561391c0b2b12dba8f36d319a112f76f5744bc1e3de74dd601ce6c500402603804382316b7525a786d48040c277f70d846481b12d71e8d600a184bb53f13647d1cb2527e0d9b5629e494a501e12e4686f779c23da689c6b9119c389ae88b2f7cb156bb96ccd179580cb1a242dd1b75180a0f3e73821d1dd136a739926b3cb5563fbdd9e6db1b663e0186bd7cec50b4a3cac0415cbaeeb2efebe010e27f45d027c1699a562cd17e30189448b7745359158fb6c4044a446e3e14a450f4a5eccaee9562aa26cbbdbad547445d102720997ec4a0aed02d97a3889c76395d502bf9761f24e6eada08642ad7f95725277f77a135dfbbd709c9848c6f5b52217d034552f57dc4448d8528f8cf162eb16465b2f976b5a34b4c3d4fca1648c0aba1852385e50155910254596785192044110058e3a79e90000990c00ee3dbf542c2a9a12d04e2e26e26122f23bfa5ae7e3897835530c0a46b54a2d1153b95b5b757ccfd6ebbe1c6f7d7c5e0c8535913a38ba148aa85cdea65d67325baf556d0a8702226934ae8a3c631d4de821876321b164045c72c07ca36e3831556c3e195e56823f79fdc2da72ce67e1782a9588060db6e385d091e3c7b6d4792386b19d566b0000643200382818b32b154b8eb55e9848d4224ac7898488e4704870732ca0c9cdb30dc765f2add1c2352d971783fa4db54844e834110a614daad7ddddae3569d6aa9ca2040c86e322e1101175dcd0c447c36ab5640495a16e58714d6a6eb7126489f73c4681dd973ccfd52bf94a7ec57658249e48b65eeb1de90b00990c000e39a7a61b24064d41a185349e68375ff7722424941d0ad89f6b3b9ea2dc323f836b9924055e1ea028f2b68b4403a921d5ad56447e5703cbbc6aa52a49016b65728ad6592bddcd0247222c5ba380c62fc7343d2eca35ed901794882a586df7c971bc24ab924ccc31b32b8b4bb6ed334e0bc792c978381cbadd79ff0100990c000e02d3d005450e9a004395a5ce23d1468c53f30523684e0dcb7263aad8dc50e43a8e2004a50a419185ce8f2fc80a793eed6eed7357d75d31d6bab4a2aaf23b8db2df560659f43d46ad47fbbb96ed13dd5a3e21998a2d15eb1d35ef719c204a9ad8981dc329e4326b2b8ee771d154329548843405d75802209301c061e5d8b614d8d0c28b22bfcb4846a2247b9e4e0199cc766ce2d4e67d3a8e1d3c309fe338621d97405415c16dd70fb89d673b0e1382960e10448127dae5ca91822c328b51c0407fd7753c51e09a4f494b76852b756b97f5cc719c20888220129167d657172b8ee74793dddde9842ce0227a80430f6f6380cf1ccff3f8c029ac4449e2d92e43192f49b4c3258a5cc70510761b0a7d6777933f30df2731b0e75496e4ddd7a820c9c20e03e0b61e4fec1dec976e6722318e1324495515c728cfcf5e5f58ce39185e06804c0600870ed73e0decfecb9d79bb4b04dc3d9dd774a7a3ef21dcf8bb9d7c8217d5defe6e791fd6bbe44451f4ecdae2dc42a58ef52e0190c9000060974439d43f3c948a85f6259f729c5f580b5c76090090c900007665b72d6e871bc709b154cff0f0502a1115f6a1cdcccfafe56c746202209301c0a1a0aa5af09daee378bb0e026d9fc36d1b4ba5286af0c33ddff3efe8e98b6ad01a9f448d2b1276cd736cb75d05ecf8412c88b1647a64747468b02f16d6f8db0867be67b65cd009000e3e5c7709f0d9fb2926089eef48ad67a3f05d9791c8ed6a4895ebd814dcc823c95b2310c7719eefef4b015cd3728876392c9fe3fcc00ce9b99e4fdc2e87947996c5b850d0d144491268c73978196344a2a476f568698e1cdb36ea7ab556b36d77b7ad5e4655f792611ead6500c8640070c0c98a4acc088a06a6ed44557557975e1a755de0831add5b4c78a6a82a559ca002388ecba94a8705f06ccb9776fb3926689a6805b45fb9a6e96d9d4e6cc732d886c3b480eb061a139e755e9d8c31c64810a5683c194ba41863ae631bf5baaeeb96e3743277bfef9ab6e36bb7cebe0100c8640070f0def6214df0f2c101cbf0e3ea6e22995d2ed545351270af242b5be780151495f3ca4113bd9a964d31a5c302d46b553e78628ba04c160acb86c95a771132cb34dc88c2775e0156adea8a62d0a59c8aa2ec7ec2b3cd70c6881af92c114b248998e73875bd562c55dc76938f788ee36ba240086500c864007090f1821296b9c08622a3663909a5e396225bafd51c2e120e98165f0b493cc76e0d10a2aa4acc670105b074dded8e75364799532ad62425b2db1a084763d97a3960352856d3eb1135daf1f24a7ea950946439209271214dd9d24ae67baeebf98e653a9e6f19bae5b886aebbbeef3aded0d1135d51b94d3ee304311c4f46e2b1dcf252d56a378a8f238e219401209301c0c1264463a17ad50e58dbc72d55f4de54b8b32f743f9fc9708a12349a2c168bb46a25922221b1c65a6732e69b7add8aa9d28ec7b7aae5b24dd1d0aeaf5592221171b910b4f080512d9bf1b0d259eb9bad9773553b146f7dd9042f8642b7ae9e592fac5c995be5785ee0794194049ee37941941589e73922cf73794ed961ae33c618f1614d2d19b5fdb85413000ecc0f665401c07da693b51a43b118b981ad2c46395f333a9ae6aa5eca66ca96a6b6be9091e3b548586ed5e0c44563612ff0fa4a56cc95dc9d4fd3595d5a115555d87d2ce138391612033bff9893cb9618d749553b2b0b8b9ca205ad5c194dc4845be7935522d148289a88c7a3d1684853154591245110049ee3388e332a15abb3b1f91cc7ccc08b3d39443500643200b81b38be5d0e713a586b485022c9881cfce5efe7322b3bce3e6aeac5eb3796e550382891c45349312023aa89a4143c22ca77f5b55ca56d36f1b3f3b3059305c5c11dab30d993e6dcc00238667975adecef10c8dcd51bd70b260b69adaffbe4052d1ed3b6745c0a7228a60941a7c67c339faf7410ca58b5520e7e98242b02de2600c8640070e7dfb792c4073786b9aed3411b0f97e84a716d6602635e7675b95c33595026c8af5c9dbe4172480b98ed4b90a3f1984a01c3b2384e49449436a1c7aa1556d68a6eab6733e6e5166f2c15ea916844d8eb1a4d82128987c536e9c7d28b2b2b81f3af7a8e313f7d65b56c4503cbc025d22991886ddd039f48c63c2ff0c866f0893755feea52ae26072c24bf3e868f613019c02183f16400870fc7f39c173846dea8148a92108ba83c478e6de9e552b6608d4e8eca5b43493815d3f2ba15186a985fccad14b2423c958a8635491488c8736dbd5a5d5b5da99aae1a8e6a72c067082776f7a404a2367337c47ad295b9153f70120db2ebe5c51b652d92482422b22472449e6bd7cac5e5958ce9b270342609b7f3ab924b7477eb0bab5e70aa73acdad25c5552425da9a4a2483cc731e6dba6512c64d7b245c6cbb158e0e4fb6a34150f2b2d1b0995682252ac9ac181b471e24a289a88471bc72522e67b8eebd4cba5cc5ab66e7b6a382ab71e0fc7c5e391bd5de90900c86400b03b822c4bed9a87fc523e935b316a7593314e104545890b3ccf6dcd475cacbbc7b29674b7cdd737c7717e39bf965bb14ccbf67c9f88785e9455259e08f3816986efeaed0bc9026b3b512a2f68dde978a6506d1b9cc8d08b9562c6324dc75b3fbaa26989b0b479708edb639b102f6a3dddc9956ca9cd4cfb1cc7b9767d79b1629aa6e3ba8c11719c24c95a24268981fd83a212eded8e73812b930bddbddd4bcb6b7e9b463e8e2ca3b254c95b96b57e5c228ee305419015351e12832a5fd2e2d1904c68240340260380bbf3ce0d6982d176d51e51d612f2cd8b015dc76b358d97901eeca7e555bded7a4a1ccfcbaa26b75b91e916d1544f3c2413db392969b1645437aa3b0c5ce32459916425e8ceaeae702e57da5b3d2a91441f5126576a5b524e10a570a4d3816bbca0f6f5a705223f78c09ca0847bd2f1d57ca5fd898b922c4abb58a48017d4dede241f980501e040c378328043f9ce4d2463fe2e16cff15db7f5cc131c27a5fbfbc2b2b06f054bf777274244acb358c0a7fafa629abcc7a37162ef40bf26f2b6edeeb9c46a24de9b4eecd7858a82141e18ee97b74dc9d6e2b8d1644f2ab69fd74772624f7f6f27870600643200d8376a22b99bb9f699cf1817d0acc6f152ba7fb03b19bdcd8f038e177b070753318d88759e17394e4cf6f4c643f25e0e37d01f5644e6daf66dadedc8a991c4e0409f26dd6e305523a9e1e1f554d44181b8502cd5df9716f7230ff282dc3f38d8e82f461319c02185be4b804389e3e4defe9e4c36ef76f6156cdb2e6962f0def870bc4b0d454bc57cb56eeda138a158aabb2b2e7037679cdfcdb908c99e7ea552cc152b1d060a510ef7f577cb02cf18f3bc7d68161224b56770d0aa55738592bbfb54c38b4a774f775895a96d97e576b21a1918944bf97c652fd5bebdf2d16909804c0600779da4450606e4523e5f313af93a67c4edb012b620c95dbd0329cfa9148b15bdee75d4d6c387c2b1542ad1b806d0df7baf19178aa58623d1523e5fd14dd62efdc8a9ae742cacd2ae9ae33a2901f16a243e148ddb7aad582a199df5870aa292ecea8a86558ef69247898817e454cf40c2b52aa552a56eeca28991e7b5d0be543e001c8c1f6186fb240000200049444154db7fffc91a63f4ecf128ea02e090be8b99efd46bb54a4d775c77f31b9d17449ee3552d140e6baaaa0a3cb78b0cc3713c478e6d1bf5ba61d42dc7f35c97dd4c21a22048a190a68542aab2becee3feb5d070449e51abd574ddb21d77bd0d8c1345490b872391c8fa7468b71e8fe3f8369730ee21ac701c4fcc334dd3d0f5ba617abeef6dec84e37981171455d5b47028ac8a8db93cf6e5fc398e23721ddba8d74dcb342dc7f7bde6978ce7059ee72445d5b490a6aacac64424681e0338f49fe31c97cd6691c900ee9337749b54b2b7f69bc6c704d77652d63def79cfe773c78eb8a71ab833a5d9b1da378e4d981816e07eca64e8bb04b82fdc99a692bb1c80eef8f91c921ab877d50e00f712aebb040000004026030000000064320000000064320000000040260300000040260300000000643200000000643200000000402603000000402603000000006432000000006432000000004026030000004026030000000064320000000064320000000040260300000040260300000080edc4c6ff1863a80b00000080bb8fe338423b19000000c041804c0600000070ef8907b664e84e050000807dd7e828442643d8020000807ba9c31c72f7a39b78104e1b000000e0e047b73b1ad4c4bb700200000000f75f50dbdf8826ee7bf9000000003e6b11edf6f39978fb8500000000403ebbcd7c26eef97800000000d0262fed2a9c89bbda3500000000dc897026de97690c21120000e03e7660e7186b9f4cda175b3c809906890a000000ee6854b827a9ae7db39978aff21082170000001cc0547717e25acb6633f1eee424243000000038a471ed0ea534c658f39ec53b949910c2000000e0be4c69fb18d19af78c79fc01000000f692760edc3cfe772d8a21f0010000c0aedcd1c161fb1bcec47d290ac2160000001c401d668cdb0c55fb12cec43b777a48600000007048a3dbded2d5ed84b3bbb4b61272180000001cd294b68780d5c924b17bcc647b085577228721db0100004087f66b30d99ef3d9ae9299b8ab727472efedc426442e000000d82f3be68a3d3780b57c6ed0de3a4c66bb5eef72cb96cd7f1e908634000000803d4791ce53da8e43c7b66cdf3243ec2e32599b34d6b8d1fcdf0e03d69d0e6108790000009f29777a1da44ef6bff998c68dcdff6e6f1e6bdf602676986c3613d8e60ddff73b8941e8ca04000080fb20c3edf8dcc603789e6f04328ee3366f6c8f37dbf7b68b35c8d906dff737ffdb3ec3217b010000c07d96d55a3eb8b9798ce3389ee7dbef797b5613779bc67cdf775d379fcfd7eb75bc8400000000cd42a150575797288a3ccfb74f665b1acc3a5d837c3390f9be9fcfe7af7ffcdeeac28dbb7f9ebe69f2aada7c03000000e0e0e81f3dc24e9fe9e9e969fcb3d195d93e62dd92c9dac520df6f6e27f33caf5eaf2fcfcfde93f3f41923c69a6f000000001c1c4b37aef51e9df23c8f36ba327ddf6feecd0cd2e95c18cd7d9744e4fbf7260f319f350ebd7903000000e0a0d9cc619be3c6f63e1706b59a8a8c31d6c87df76a54becf18bfd14ec6a39d0c0000000e24cff31a816c4b946a13cbc4ced3d82ded64ccbf4799cc27e637df0000000038681a916933416d46b1365394ed627eb2cd29301a47ba2767c83642e1e60d000000800398c91aa949108496b16a8ff393b15b11fa2e010000008235f731064d8411383f197530fbebe6ed7b35bedef719f9acf906000000c0c18c656d12d8f68d62e781ac798b7fefdac93017060000001ca240d6612c13f710c8e8def55d36779e624526000000b80f62d92d99ac93bd346fbc57e3eb7ddfa7cd8b0c30c61f0000000e762cdb3e9705ddce7597dbb7a0ef12000000a0c364b67dcb5eaebb6c99efd8bd9bc79f6dcce3cf30c61f0000000e430edb1ec2767ddd65cb4046682703000000d8d75826ee21901111bb4773e833e6370ebd7903000000e03e886562e77b69fee7ca5aee9e9d5fa5b6f506000000c0e18c659bc44e12d8f66963bffd1ffee29e9c9871f9b23635d57c03000000e040f9e0830f5a4eb9df32966ddecb7712e882ee020000008096dac7b2ed8fe711c800000000ee792c13ef5520abd56a954ac5300cdbb66ddbf63cafd3677ef0c1d61bb08d2008b22c4b92a4695a3c1e8f4422a8130000807b1ecbb6f45ab6beeeb2c364779be1ccf3bc4c2693cfe755558dc7e3fdfdfd922449921434de0df6fc17e0baae6ddbf57a7d6565c534cd6432d9dbdb2b49122a070000e02e47b1a01cd64cdc5508bb9d40c6185b5d5dcd66b3a954eac48913a2b8c3d468709b4451144531140aa5d369cff3d6d6d62e5fbe9c4ea77b7b7b799e47fd000000dccd58b619c5826e8b772790f9be7fedda358ee3a6a6a66459c6eb74970982d0dfdfdfd5d5b5b4b4343d3d7de4c81134980100001c9058764b26eb7ca77b48668ee34c4f4fc7e3f1818101f451de43b22c8f8f8fafaeae5ebd7af5e8d1a3aaaadecda3bbaebbb0b090c9644aa592aeeb681905804d1cc785c3e168343a3030303434841f8d703fa5b1cebfefc4f6816ecf396c93effbd3d3d3dddddde9749ad0477900f4f6f6cab23c333333393979d73ef8b2d9ecbbefbe1b8fc763b1583299e479be4d873a007cd6beba388ef33ccff3bc9595954b972e9d3973a6bfbf1f3503f7653e6bd954d62293b50f647b88538cb16bd7aec5e3f14620830322994cdab67dfdfaf58989893b3db68c3176fefcf985858563c78ec9b2cc18e3799ee33804320068fea0608cf9be1f0a85babbbb3ffef8e34c2673faf4e92d238f01ee8334d6269689ed77d1664b27565757398eebefef47f3d841d3d3d3d3b824737070f08e1ee8fcf9f3d56af5c4891392240982e0fbfe964c86700680afabcd4cc6f3bc288ac78f1f5f5d5dfde8a38f1e7bec31d412dc377fe7cd5b5a7ef7892ddf1bfb12ce3ccfcb66b3c78f1f6f796fa150a8d56aaeebeeb81f5114474646f0a2eebba1a1a14b972ef5f4f4dcb91ecc6c36bbb0b0d0f8b1dbe0791edac90060fb374b23930982e0ba2ecff3838383972e5d5a5959412726dc9751ac65b399d8e12f98dd063222ca6432a9544a92a4edcf320ca35c2e53676d249ee7cdcece8e8d8de105de5f8220f4f4f4643299a1a1a13bb17fd775df7df7dd89890951141bb3d00982c0f37c2393a1fe0160cb374e23936d7e444c4c4cbcfffefb2fbef8a2a228a81f38d4b1ace578b2edc41d53d79ec793e5f3f9c9c9c99677158b45bc5407413a9dbe74e9d2e0e0e09d08490b0b0b894442d3b4462613455110842d2d64086700f8d2dabccdf37ce353a2b15d96e59e9e9ef9f9f98989095414dc07b16ccb575e7353d92d992c682f7b6e2aabd56a8aa2342eafdb7eaf6ddbb7f3be85fdc2719ca669b55a2d1a8deefbce33994c57579720088d34d6f8f9bbf93a228d01c0e64741e39381e3b8c655478cb1c65087743abdb0b0804c06873d8d3587b0364d657cfbe7ef59a55289c56277bd0666ffc33f9d9a9a9a9afa9f7fb86d636353f36d20224a269377a8d9b2542a699ab699c6367b2d31980c00b627b306be4963ddde7abd8efa81fb3eaeb5c8649d44bc0e8f671886aaaa2cc0de4e6067d75f7de9229d3a758afef32baf361d8de38888e7b6de06d6e81db02ceb4efccde9babe39340463c800a0f37cd6fc2b4ed775d409dc37d9ab7d04e2774c6d7b6b3cb36dfbee4fc43cfbc3972ed02f7cf39b5344576667f1c7d0115114f7d095dcf9df6273c318621900ec18c8b67c6e00dc67b1accd767ec7bd74b87d57998cdbbd8e23d9179e7bee0bbf40175efa214259472449721ce7ce7dbc2290010062197c96d358e7394adc438eeb84e779b71fec76f794d9575fba40a7be3cea7974ec14fdd54baf5effb55f1f2722624dbb607b2fc1fdcbf7fdbbf3210b00804f0cf8cc86b32da3fbb75f77c96fded1ccf7fd96638f1adbf7e5fdb6efed64b33f7cf9029dfaf20ba344a32f7cf9145d78192d6507e18315bf7401009f1ef0d98c62edd3d4f671f681eb5d76b2bd8dc62a3a416fa73bd04e36fbc3972f10fdc2f888cf7c1a199f22faab977f78fdd7c6c669a3a1ac71d2cdb7613d98dfe1252f0100003ee3f92c68fbceeb5dee39396d9265d975dda02165fbffd367f6b5972f10d15ffdd689bfdadc76e1e5d7667f6d7c1c7f0b6d398e83557e010000ee4e386b1381f81da358fb7f069124a993b52cf737929dfadd57aead7be5774f354219fe0076e0791ed62d010000d8f7f8b5db3425eeeac99db79c699a669aa6aaaa77e8dc6e75a311c9befcf941c330888868f0f35f3ef5bf5db8f0f26bb3bf3ac66dec60738c3f43dfe526cbb290c9000000ee502cdb1ea85a8ef4a7ed7d977b6b15db2e1e8f2f2d2d25128996f7ee77dfe591dffceb6bff9263ae653aeb5710fa23bffed7d7fe456313fdf3bfbef65b9c671bb647e34db78188a85aada6d369d4030000c09d8e684169ac75266b93cc7695cf2291886ddb9ee7b51c3f2e8aa265591d26b3cdf5a1821fe2d946dd0eded474b3c5233fe37f1fbaae8f63d01d0000c09df99ea59d9aca36f12d43d88e7bef449b8514138984288a1dce82218a623299c415d17742a9544a2412b8ee120000e04ea4b15d3db2dd5c187b681e6bd6dbdb7bf9f2e5582cb6fdb23e4992fafafa3a9faab4111a30066c7ff9be9fcfe78f1f3f8eaa000000b8d311add1e9d7a6fb52ec30d9ed219f4992944ea7b3d96c7f7ffff634c0f37ce75330f8be7f17e69affacc966b3c9641203fc010000ee500e6b13abb677008aed77749b7a7b7ba7a7a70b85423299dc7297e7798df597e09ea8542aa6698e8e8ea22a76a376ee876fe6eacef0e4130f1eebdefea6b9f8deebb3990a9134f9f8d9633d912d771bc51b6fbe75d122ede1e79fca7cf0d672c91c997ae281a3fb7381856d942e9f9f4e4c3e3012570f4f7deaefbcf66656b723e991e79e7ce0b63ef87c7b7ee672c94b3c7462643f0a567ee31fde2a59c28927cf1e4987ef72a59c3ff7a3f95c4d0e779ffdfc13e17bfaf27876e5e22717338592e578449c24abe9fea1932727541e2349006e2ba8050dc7e2db87b0dbecbee479fec89123e572b956abe1653838eaf57a2e973b76ec184692ed922c4b021109428b7aabad5d5fca54888888135a54ac337d75de64ac67ece848c8d46b169192ea8fef4f545cbbf6e31fbeb95271bb92da21aa4dc728ebba4d44b144ea362be0dd1ffff8d3e99570aa6b5f0a6696cba6e5f162a8bb377ad76ba55cab9a44148ac7a3f7f4d5a9ac5efff16b6fce67f296d3f8f1cc1cdb58999bfef16b6f660d079f0500bbcd61ed835683b8db3dee962449478f1e9d9999711c27994c624cd8bdc5715ca552c9e57213131341ab2c403045564422b2ac3ad196af7f7b7a66dede7caf6ceb6aafadcd677255414e4c3d74b4bc72d5747d510d272232f9fbf08e28e4ca1663e15834e21fa637586dad6c121189d18049733a8e5085aa6e118553fd917da94f3d5fb588b45834ecdded211366b95cb75c228a4693f774b846edd2e56b75c70b27fb1f78f881e1ee0447dee2f4c58f2f5cd58dd2cce5d9ee3318870ab0ffd989ef3ccaed99aaaa939393baaeafacac6058d83de479dedada5aa9549a9a9adac7e97c3f536faef59adcb646457e6e2653ac0bb22c101139f59ad92ab17103e3c7e38e532fd52c22251a89f8fbf346abea35228a446287eb174fa15cf1898894547fe4f62394128d84f7a93e4b7a8d11456271e1aed74925dbc8a9523419b9972fcddc7c41b725adebc9cf9fed8d2a755dd775b37bf4c4c313c344a457ca3a3e0c006e3ba86dcf5a7769a1434992262626969797676767bbbabae2f138e6b6b8cb2f7fa552690cec1b1d1d4597e59e29b242b4bd23be766d76c9236e6064a4323353db362b7223b1495afaf8a97ecf728bb5f508e5da958b9f5c5ccd176dd79794f0d091c91347fa6f7d6378f3572fce2e6674c36244bc2845e35da3472786bb638dbb33d31fbf777571fdf6ecf9efcf9eef1d3bfdd8a9d6c304cb8b97dffaf89a961e79eec993f3572f5e5f58ad9b36f152cfc0d8830f1d976f3deec2b5ab738b2b55ddf41913242591ea3df9e0c9982c6ccb100bd3d7e6f2e5aae3fa1c2f842389f1a993231bc5bbd9fc53c95ebe3cbd9a2f793e132475606ce2d4f19e72a546446a221edbc85295ecfcc5cbb3a59aeef98ce378351c1d1a9b9818ed0dfab0607ee6b597dfab13119155cdfcc3f7bfafc47a3ff7cc636aabbd85a2c923adcab68d53abd589f85822393ffdc9d5d965d3f136ca3c226c2d8079fdca95c595ac6e586c9723ae3cbb72e5c2e5a5b5bcedfabc2877f78d9c7ee078be5c26225e0ca77b23e4367ec1b2ccdcf4f48dc5c66bc1f1422cd93371f2646fec969f554b973ffce8da72f7f089c74f0f4c5fbcb8b0bc663a1e2f2a8347261f9818e67659e6ee6367fed9c9c789f966ddd8fcfde13ae65aa94a44a2829f740077c4ce6b906fffefdef03c3f3434d4dbdb9bc964666767354d8b46a3922409822008025e893bd12ae6799ee338baaeebba9e48248e1f3f8eab2c6ff70d23084454afdfd24cb078793aa7db92d63579aae7dd99192272dde699898d1bf3ab1ef12347274296eb93d9f8cad714e7cd1fbd55b1d7bff21c4b9fbdf4a912891eddb83880f9fa476fbfbb5cbc792cdf75caf9d5f3857cfdc1c72787924454d6eb5bde67d14432b0f1a354f388a2f1f0876ffee4e66e7d27b338f389283f766a6ce3b895777ff26eb6a9a9cf73ac7c66feedd72b677eea896e6db3cb9bcd9c7ff7ea7c96ddfcb2f76a95fca7efbe5d3b75e6e4e8cd6b20b20b973ff9f4bab911bc3cc75c98fed4a80f9a158b88c291a844c4882aab33ef7c70d5daf89061cc376ae5e94fdf2f968e3ff1d0b19619a7b25cde3205b416896a448cbce98fdf9f5e6c2a1bf3f54afefc3b6f96261f7af0587fdb17b956ad98445279e9936bd9326b2eb3613797c4aead9c7beb93cd577073c455b9547dfc738f467668db9b7bef83cbb58de7faae9d599ca91b35d93488488d45c3aedfc84fe7df7d77315769aee4727ee5fdd70bc71f79e258dfcd7c59aa5689f868447cfbc7af17746b63b7d6c2d50ba21c3a39dab5ab327b8ea53bd6962f84a5e94fae2fe5898481913171b3d118003ace51dbe7c2689dc9eeda302f4992868686060606745d2f168bd56ad5b66dc771d0a7b9bf1a538d288aa2284a3a9d1e1f1f47dbd8febcc11aff6b9e5dc6cfdf98cf30e2878e1e8fba6a2822d76ab66d199b0f589d995eab185a62606aa2c7b75d22bd56b18868eeca9570a2f7d1c74e8c0d757bf5ec5b3f7a3353b5f2ab998d4cc6663ef974b9a80b72f8f8a907268f0ccb0257cd2f7ef4c1c72b457d71f6fae8d0a32ad1034fbd30ba70e1b5772e71a1ee17befc7c9cc8b5cd8d41d95b9b7f2ad52a9150599db55cf1c499a7268f0c4be45c78f78d8bf3d9622eabd3589888c878ff8d77b3355390c347a6a6a68e8c69325f58bef6fe079f16eba52b17a6d38f9d6c9cfc8d0bef5f9dcf32127a478e9c3c3dd51dd1ec7ae1a377df9fcb14e7af5ce91d4e77f11c1119c51b9f9cbf6e32164ef63ff4c8c3435dd16a7ef1bd77decf2ead37ef4562294644644e4fcf598c45d3c34f3ef5682a24dbf5d2c58f3f9c5ec8e616e7e6c786465b5d4f9a1c7be09f4e8efee06f5ecb9bdce9a75f383918679e5b37ad1b173e9c5ecc32e252fd630f9d39dd1dd18c5af6a377de5bc85517af5e4ef5750d45e4c0b4942b99ae4f64e50afcf133674f4f0c79f5c2fb6f9f5bc855f34bf30b63438d2b5b999f7fe7cd8f2b8e27879253a74e1e191990057f7dc4553973e5c28d4737326eabe6bdfc87ef5faa399e1c4a9e7ee4d1a3032967fd10ab8d0784a351818811bbf4c17b0bb90ac78bfda3130f9c9a4c84a45276e1c3f73ecc56ad6b173e4df7fc5462bd71ab5c291b444266fe8a4b913367cf1e19ea26bbfade1bafcf65abb9b5151aedbabd327b339f7e383397f148189c387d7a34613bb86a1e609fa31bddb5becbed89211a8d46a3bbbeaec8b87c599b9a6abe0170372522a1c6fb871135be0caf9fbf5676bc46e4f2ecca666adb784679766ec52769f4f8a460bb8ca8ba5a321923a268f7f8e79f7d94776c53d7392edadd15cf54d73cb6fee3c431569696f344f289c7ce1eef09d966dd211243dda78e8fe6ce5df43dbff19568994626577289a2d1a8acebfacecd3fbecba75ff8d96722be639b7587b881a1de99f92cb1f5122f5ebebc56310539f6c40b9fefd778db317587b4d4c8a30f183f3a77a99a2f14895244766d71766e8d91307efa894727fb6ddbd6759de3b4479f79b4f6fd1fe58ceada42b16b3445645fbe346b32164e0d3fffdc13826bebba2e86ba9f7afaa157fffe5ddd67444a2cd998f0c1f33d9f481c1c9fd0c8d57587e394d34f3c522efe305333abb91ab5ca64be6be5f319dd74393e1a4faf57c046d9b8def1539f7b74d2b12c5dd73921faf8334f59affc68ad56cfccaf0e9d0c9c32a331da8f483ef5d4e78e77874c5de738edf1671ed35ffe49c1340aab8591f80011bbf2d1d5b2e329d1de675ffc5cc4731db3ee10758f9e78c0ac9fbb34572a164c1a0be8e05b7faea4759d7df1d90473ebeb8778bcfefffd246f38445c34966444a5c52b0b9932913076f2f14727fb2dcbd6754789f63ef5f4c3affdc3bb55b3bcb2504c8ca6a8e9ca00213cfed3cf3dcadbb6a9ebc489c33de9b96c75e3b5dd7399ed0befbd3b9729311246a61e7eece4886561813a803b420c6a646bd3f8865a83cfac46ff9b533774a208915d5b9c5fcad1cdc8c5718dc62163bd4b71f1f2f5a2e986d3a313fd51dff588a85aa93944bc183ff3f419df30d6a719605e55af1391aa841a4f9443235ffac5098e98639996b3d1c3e53b8542c521929b425fb55623a26834d6bea9b9ba5aa8bb3e917cfca18715cbd8e89762d542d52152d667702e2f2caf31e2868e9eec917ccb5e6f0bf13d47eb4b2a4435d72ce7f4543a7c6366a1ce58383df4c0448f615a1b1f14be696891a892336a7ab54c942a2fdf582bd689d489874e936dbaeb67e172523a95d0f4429d17b56497469e4fa4aaaa44ba3ef3f139ebc8d163e34332ef5ba6fccc17ff6b9ee33cc734edd60d33eb03fc373afb88a851362d31f0e82313a6616e344d7996ad7677c5d76ad95aadd2a6a21aa3fde2fd23c7d26aa3e619f32d3b1a8ba905b3e638662331afae1689a423271f502d7333a1b88e154a442522ab52d3895a66b28de7f2a393a7629eed30da3844a4bb2b965fcc1329b17498c8995b587589120347ce3455b2efb99cd4db95d4aa59bd5a2911a568e3ca005e8c9d7aec01bfbefe4745cccfd774221205f136ca6c7ff2f6db0bf92ac72b538f3e796a3865229001eca6f5ab4db2dade952976b22f00681024b1d107cc1311b199cb37ea8cc57a8636225758d324aa5a6ce33bf1c67c86917c646a92b9eb5f94e55a958852030371db6a4a19d5ba6e1189d16462e30de89672b91bd7e68ab55aad663022c67c67fd1b9ce4702842e4af473293484aa47798e2ab582c3b44e174df684af69ba6782854ab8c289a482844d5b57ccd708968eed2db73975a7f30107144b552a946447a6eee6ffef35cd0e388289f2fb944e174cf605460decd0f13e6f382c85363e0d47a61c4071f7b587ffdbdbcaecf5efe646ee64aefe0c8e4f1a3eb6719ac718d64349e90d70fda281bd73734ce9b36db9aa839a25bba9eb7698cf6930646461cb7f9d09baf154744a5a57c9d3122e7d2b97f08a8a7c04fcec67325ad6b642ce1ddd203e83546d636264961ee5aa958279287c7c72cfb96eb7c99ef354e61f3a3bc7165406a60b087f7dd9b4776aad51a112592dd7b2ef38d0b9f2ce6ab1caf9cfaa9678f776ba68599c9006e2ba5b51f5226a28e003a276b8a48c418f3d727892d73bc76f4d4d446e4ba2540cc5d9c2d3b5e62e0c8d194e2ac270f5daf9a4462baa7b7f9dbd82c17ab7587e3a35d1b336c65662f7c7c69ceb9e56b9253d410cf6cc372c3e1a8bfdee852add71d8e8f267bc3e4b6892fac52ad1251aaab976e9973ab562ed588f87832cd882ac5ea4e6d20523c1d768ca5c65caf6d68e13811d3ebf5c641396fcb17be61592edd1c3845448ce4f4f35ffad9b92b1766aecf956ae6cadcf4eac2dce8d483a7c67b838fd3b84672bdb38f88986fd4759b484d7447b6470ccbb669fde2d9207aad62896aaab76f4b7d9a8d028ba2dc684b6bff6b550a69415726560c8311c5bad26167ebec6766a378d148c46795b58ac5182f86925d2a6d7b60a3308ada6855add5aa46e38fca65cdc1b7542a1a446ab237b6b732333fb7b09865c48f9d787822ad5a1843067087219301ecee670e113975c3247b6166de26ea1a1c1d890aaeb739fa9f2322d7b20c3fb7b094e5f8f0f1d3c737bf7c995fafd52ca270f2d6d94d373be0a23e2322c758be7869ce611449f51d3d7aa437158fc7a31c1163f957fff6470671e1f0fa05778d69579b7bee829240b562122989ee78f317b363546aba4d14ee1e8e93ef9b8e4d44e1eeb12f3dff44405312b3f47ab9dae8850c7fee17be3420b47ea0e758a65d320d87880441dc92061ca358a958cd598a8898ef1a7577f0e8a9d1c9072b991b9f7c7a2953a8cd5dfa349c888d05ae4fd01824d7e8ec2322d27355878848d422d2b6f963cba5924e44a170e074188dd17e4a3412717dd6a2c0eb0d998e6d1351f7e8e9e79f3c19504fbe51375abe24866110912008dbee5d2f5e639e39ab6e3844b22a0bdbe6addd2c4c281ade7c11393e9a1e8c36e7c8ca72d1644c0a459311897cb68732e76757abae2faa5d478ef7d9b68b773fc0c1ca64e8ca84cf38251612896ca2eadc4ca658e7c5d8f1d3136ed3b76648d388aabeeb2d5c9aabba7ecff8917e85dbfc7eaf2c175bce6edae880db9c15223bb756674c8df53ff7c2d392e378be5fd775222a2fcf574c97488d75af47905255f76fe9b96bad31069c1723c994d6dce85259291aeb3384f944a434069511d375bd4df79ea4298d0e5ca7aeebed26e2e2373e37b6a68af9e9059d3122b591a53e79fb870bf97a7a68f2c9878e39b6e5d8a424063ff742cf1b7fff83958a995d5a194b1e69dda8952b99ae2f85a2a98d1511f8f5f230cff5e9d6b2adcecc170d87484d0f06f6f33646fb291cb7a532d7e63275c67831d23b1825d75f1f7dc7bc1d2eab68a5d165b1bd4e368ac747e3c9cd70cf7cb63dd8356a8f1723bd833172fdcd5c1eba3597174a1597289188877de613eda1cc15a3ce88b4783c6cbbb8301e604fbfe277979ac496cf0c1ae60ff059ff11a3483c1191bb34bfea1137307eb447604d2378d6c7e430662c2dd5393176646ab4b9c1a55cadb944916854bba59b73a3032eded578a8e93a4424283219375716647ee5caf4bc43c48b6a743d82b09a5e23a27024d1fefdd918031e4e26e2de2db3cee42b1546144ba41a59301a0df144f55c76a96637cf1651599d39f7c1559bc9a7ce3e3d96d49478541579d3ad2f5cb6c3ac00002000494441545e5d4a4f0d35b5b354def9f1b99c6ef78c9e7afcf41851241251d674bb54586347d25cd3de66177344b499a5445120225dafda448da3fa9e6318242b8d990b03635fe31ac948241cdec82e91de7448e4ed6d65b36b2b57af2ff944f1fea191b0e406ccf8df18ed67962b459f2537229d5d5bb936bfca88fa46c712aeef11454221a252299b29f9e389a6e4b732f3c9475716488c3efee233e980b41a0d87896a9552d120d2b6158f486bb459c67a93eac51b66bdb4b4589a1c4ad0b6daebdd284c6339846db9bc31f509974cf6acd7cceecb3cf5d8730f3cc933dfad1b16defb00fb98cc9a879435dfe6db3c13c3fc0102de2066b962485a6af2e4887beb1ba4d14ee3d4ab75c7ef1b3fda73eb74c81bd7486e59ca70bd032ed9b33e3b4c7732c613d5732b9fce2cda3e23f2320bd7defcd1b96ccd22225195c5f54851a9552d22515676987cae31063c1edf72dcc61a397c2cd198218c926323294d62ac7ef9bd0f564a3a11997ae9eaa71f9cfbf0aacda8777ce2583a4444cc4ff60fa488d8f2f5cb976eac78449e6d2eddb8fafa8fcee5745b89f63ef8f0b146b24aa7921c513933ffdec7574c9f31df9ebbfaf1db1b13c3aad168a3bdb03b95e4888ce2ca3be73e2ee8261179b679fdd2078b599d48eaea0d1c4fd6b8465296e4cd814ebe17efee896d946dd9f619f3ed856b17df78f3e3aae30972ecc483936ee0124c8dd17e9c6f173f79fbc3926113b15266ee9d77ce571d4f89f69e3a3dda38d0e0c45098e71ca3f0f1c6c3f46afefc7b6f7d7275d1276174ea546f70f3613a9d9288ac4ae6fd731f576c8fc85bb971b9513c5a6f43f589488e74a7121a91337bf1e3eb2b058fc8b3f56b973e6ad45e5361cc72e5e688c0e61c5e2e1a444a62e38f6a0f65b64d43d7750432807dfcfa68dffe85f16400bba2356685a5f54962dd2dc39e63da7adbc77a62bb6565ccf56b24b72c65d898a54254c3f18d215089b1f19e6b0bab556beecac773573ede7820170a69f5ba41cdc3b83d9fc8bffac1eb57891b997ae281a3e956655e1f031e4dc49bb73a46b95ab3383eda331c27df2722cf093f7c66f2276f5fb0f4fc076fbcd6f458ae6764ea894726dcf52914bcc9471e2e147f92a95ad72f7c70fd4253edc47a1e3bfb84e6ae7775f54f9d1a5ccd2d16eb6b8b333f589cd9686b8c2564ab54b536e7efe89f7a70bc5099cd94cab9c5b75e5b6c3e6eeff8e4647fc409e83a6bacf55e58bafad2d2d5487ae4b9271f20f24f3ff178e5073fce54adeb173ebc7ee1c3a636ced8433f75b657e682325963b49f9a18184b7a576657de7875a5e9b989334fdf3c2f4eec7fe0e4d8bb9fced68ab73c8ce3c591c987ce4cf45ac1a3af220393e38399e9a54239b7f89357d64f9613b4545228146bda461b2af3e5479e7aa8f6eabb15bb76e983b79aaf946cae64e657ab158b484bf6846f69f05bcc1b8cc991586ae38f6ab765ce5d3bffcee57946cae9cf7daee584bd00b0ef30b73bc06e7fec10116989bea9899eedd7a16d6487f5c4766b066a5c23a9267b6fcd64959a43a4c5e3d19bab0fa93ff5c2b3e3fd5da2c011112788d144cf834f3ef3d4e95191c8bfb9047ad70367a662aa4c4482184ef7c75b9677630cb8d675eb52df8dc1644a2c1abdd99fe96bdd132ffe574f0ff7a49a0ffde8b32f3efbf80976734e2b721ced732fbe78eae8b026357ed7716a387ae4e4a35ffc996793d2cd2150ae2d3cf1f9174e8c0f28a24044a2a4f68f4cbcf08f1e151c8f488c26121b0fa333cfbcf0d88393a96848e06f39e5cf3d32e1048f659a7ce08181ae1847c4f14232b59e476d476d942da448dc46d9c6271ffce2cf7e613826053792ad8ff60b4762271f79e2e4c6a909a2d2ffffb377dff16dd5f7fef8df67680f4bb6bce31dcf840c2701c2c804d2b02e4d8032dbcb860297424b2ef7d75cfabdb7b440a0259dd00b74115669182da384368b15c8de51bcb72dcb96656b9c7374cef9fcfe38922ccbb22cdbb29df17e3e82908e8e3ee79c8f649d973ee7733e27bfecd22b2ec98cd82e42c4ccd2ea954b1664584cca0a33ac2a3523efc24b562faacae3e3768797c5c0ecf39756571585ca57a565175ebc7289819287b6a11250655eb27a65716e8656c5020045337a536af99c459195ac74e4571b8da6a19722553a93e9cd66bd4cc6b7cebd031e02a0d29b33463cc102219464d496430e4260412e3dd2d52d6559966559144549920441502e85545d5d3d2dab8be3f89f46fefad7bf5e78e1851a8d46ad56b32c4bd334455181c0e93ebe11add36b698a2244f2fbb8e1bb7746add5aa18089e7838643f4751ac4eafa180705e5f649863355a0dcb44f7daa168ad56c3d083dde445419080d56ad8c8f3e318955aa362298a022082df1f881538c2cbe5bd3e71c8aa6ab42a76f8865034abd1a822171de0f961e3360000a5d668583678e22521441203bc1088319b56c332ca6c4496249e17353a2d4d81c8fbf988bca5526b5896a107fb58c8a2200862bcf117289ad168344ac290442162f42c4aadd1b00c13ea504f6449e479217e3f0c9ad5e834ac2c897e4e88d834224b12cff1c3b79f66541a8d2abcc2b22c05783e4ee68ba4526b55aa60d5c9b224f0824aa365684a12798e1723b750a3d1304ce8cc05224ba21859c9ca3a132273434f99546b742a9656ae3435be75d668752c43c739817492a8542a4288b2d3110481e7f9cf3ffffcda6bafc56f54747ad9b76f9f4aa552abd56ab59a61186527a85ce4908a185f307c6b341abbbbbbc770ec123b96210420fb7dbe384f4b0237d2d05d84883e6f8c161491e7c4e13d7688ccf9fdc38bf70e9d550a08be8030da5f6eece54a02ef1562741522b2c8f91319f880083c27f009ccc67151abe8f7c538f54f39e3726c4d96b2c4f97d23aedb58df5a910f576f229b264b01bf6f9cbf31020217b5b152cc0d2132cff9135ce74802ef8fb9fe89af33cf613f328492604cd9098f5d22841042084dbf843219b69021841042088d4f82390adbc91042082184a61f9d94648710420821842692a968cc610821841042d39ecfe871a739841042082134f134364a264308218410425306331942082184d02993c9123c52890734114208218492989ac2b3d118b91042082184a63db4e1b14b34b99f360556054208bf3d108a0f33199a2c14455183d793c62f5684d0180259f86b046b0361261bf12f04a104190c064992c2bf74f12384104a7c77136e27d3e9745827e8ccf88d91b44c86d058994c264110220f40602c43088d29900982603018b05ad0590233199a2c3939390e87430ec14086104a309685bf379c4e67767636d609c24c86d04433596f6fafdfef972360bf5d8450cc1ca688fcba1004a1b3b3b3a0a000eb079d2558ac023449341acdfcf9f30f1e3c585d5d1deeef2fcbb272871082bd77114210d1ab41f95a902449144559968f1f3f3e6fde3cad568b55843093213451d9d9d91d1d1df5f5f5454545144511422449a2691ad31842687832539ad245510c04024d4d4d66b379c68c19583308331942c93167ce9c03070e1c387060d6ac593a9d2e9cc930962184220359f8c025cff3478e1c319bcd0b172ec49a4198c9104ade278c65172e5cd8d1d1b177efdeacacacd4d4548d46c3308cf22c263384308d297744511404c1e572757474cc9b370f5bc81066328426457676f6a5975edadcdcdcdcdcecf7fbbd5e2fd6094228924ea733180cd9d9d9975c7209f6214398c9109a441a8da6b4b4b4b4b414ab022184101a0ec7c24008218410c24c86104208218430932184104208612643082184104298c910420821843093218410420821cc640821841042a779267be79d77a6e5f61fc78f4fe3d2f1166ff1166ff1166ff1166f13b91d076acb210721509d4341e81a1751b7ca75a3455194244910844020100804aaababa72542fa4f9cd0555444de41082184103aa5ecdbb74fa552a9542ab55acd300ccbb20cc384aff53cfcd66432757777e3b14b84104208a1e987990c218410420833194208218410c24c8610420821742a6095ffc5ecdd0fa13efe51b0d61042082184e218477cc2763284104208a1e987990c218410420833194208218410c24c861042082184990c21841042080184cfbb9c7ac34f40502e2f801042082184996cd2731821a4b7b7b7bbbbdbe7f3711cc7719c2449e1341679eda711b5b545df39bb310ca3d56a351a8d5eafb7d96c56ab95a6b1f913218410c24c36421af3f97c8d8d8d5d5d5d7abd9e65590050abd52a952a328a511445d374d4453a5122288ae279bea1a1e1c89123369bada0a0c0683462b52084104298c906f13c5f5757e770384c2693c9640a07afc8c397ca4359964551a44330968d359669341a8d4623cbf2c18307ad566b7171b156abc59a41082184cef64ca61ca93c7cf8b0c964d2ebf500c0300ccbb22929292929294a802084f03ccff37c7f7fbfdbed16451100028100c3300cc35021f8568d89d96c962469f7eedd959595369b0d2b042184103a7b331921a4b5b5b5bebede6c361342542a954ea79b3163c6f0636a7abd5eafd75bad5600f07abdadadad3e9f4f69336359168f638e5b5a5a5a4d4d8dc7e3292c2cc4da40082184cec64c4608696969696868d0ebf5841096658b8a8acc66f3a82f34180ce5e5e5fdfdfd0d0d0d922405020196651986c158360eb22c9b4ca6cece4e4248515111560842082174766532e590657d7dbdd27b4cabd516141428e12cc1124c2653595959636363f8c44c8c65e366369b3b3a3a4c26131ec4440821844e5993326802cff3478e1c319bcd4aaff3b2b232a533d99868b5daf2f272ad564bd3b4288ab22c271ee9505444b65aad76bbddeff7636d20841042a7a6e4b79311426a6b6b4d2693d287aca0a080a6e971c7a9fcfcfcfafa7a41106459c633312718cbeaeaea66cf9e3d09c57b1f7ea1ee83011900aea84c7beecabc33a0c63aec2d6bfed6d30300403f7775c915e586e9a8abdeab9e69b60300c07f2cce7fe0a254fc242384d0192cc9ed648410afd7dbd3d34308a1693a2f2f6f1c2d6491743a5d5e5e1e455192244992a48c3a8b6fdb3850143530303030303029850fde3963123335d9e5265257f8fb03218430938d5f434383c16050ba9129675c4e90c96432180c344d4b9224cb32be67e38ecb2929298d8d8d5815082184d02928c9c72e254972381c4a4fb2acacac64159b959555575717ee523679872f9d359f7eef910dee584fa5e42fd9f89b4713ec24ffc6d3fff1ea670d4517ddfccbffbce1d479b3298a723a9d922429274c20841042e8cccc64cae9963a9d4e394d52e9529694920d06834aa55206fa571acf262996a9f5e691d20aa331aa132e27c5a001008d21e5947ab3954647a7d399999939794b11bc032f7fd4f66a2bef0810a39ab9bcc4fcc8aafc5455d4fb25edfdbaf5c523035ff7891e095886ca37a9ee9a9f71cd425b64fd7ff0fe89878f73009066d2be7d6f45f628d3a5cf3e6f7ef198e7f080e4910000ac5ae6dc6cdd034bf2cb33a2de3a72704ff3cff7f71fe897fc32e854f42cabe69e0b7296969a46daa8969af60d9ff6ee74897e19b28daafb1765ae1dbaaa002078bdef7ddafe5a0367f7482280514d9f63d33db23c6f6e4e429752e86d773ebfcdb1b94bf0486054336bcbcdf7adc4ab6321841066b2f1eef21d0e875aada6697a82ddc886d3ebf58140201cc826299365545ef655dd8d340040c7f7be71f5df6b7aaf7af0971bbf770500c822d758d3c08fb1c053ed8c04ad563ba999cc27f08fbcdab0c51d3cc4ec11a4bf1c779de817ff70534938ef4881811f6f6a7acd29865f254aa4be4ff8af6dadaf9f70fdfa5b33b354e3a834e1b76fd4fcaa2520454c7271d2c70d9e1d6d35bfbfb174e1602c135e7fa7ee7f6bf9f09cfe80bcc7e1dff36efd4d73d2fe7bd58ce1a1bcbea5f3a983035da1c3e61d9ec0fa6d6d0e4e7ee0a28cc1d076acf59e4f7a6a85c11f211e41feb2dd7bc3ebf6dbe7a73fb222277ecb64cbb1969b3eea092fc223487f3aecfa678b87c3af288410c24c36ce5db2cfa75ccbd2683426b733bed168ecefef0f77f39fa4acc30f38ecc71d0000d0afecb32561e0f8f1e3cab3ce9a4f1f7af8e9d091cda25fbdffab8861589dcf7cf7a11dcd6e0028bae896d5c3ced27be3a907377dd6a0dc5f7ae37f3e7af3c5d3f27e2b972a9fbcf2b7d6c53887e0509be7c303fddf9aa78c181c7871737364201b326787f7a1cd0d7fb8a178ac89bee570c7ef5b0212409a49fbfb6b8baad2b5032ed77fffa5f903b7cc09811f7ddcfcd6ad33953277ef6cfe6944208bfc4df1daa19ea254c3771659874e977fb57ff84691dfefefb9eaa28c02e563ef72fe6068200b9364f2e2de6e93567def05231ef79602aefffaa4b76b5857c9b6be007e432184d0d923997dfc09211cc729514cad562777459502c3fdc9a640648ea128aa71fb1bff3e18c800a0e1c12b6ffeb4c649511445399fb9ff7b4a20038086cf36fdf6e313112f753e73ffcde14006003b5e7ffac1a7dea0a6c9648f52765e9ee9e3bb66d5ac9bf3c27c43e8a01dd9dbde1f0a4fed2fb504a3c64c9bee8d1bca6ad6cdfff486dcb5b6e0cf83fd2d031f1d1ef3c9a1879afcca02328d6c668a9a1062b458bebfd8a2c4c09a4effee56a5c969e0f787bd4a26adca327c7cd72c65e997a5287f08e42f277a7cc30a6768fa817333f63d3cefe8fd336fcf0aaea7870b9ca80dcefbd1ceeefdc14046adadb47e7aff9c9a7573de586a9da9563e45e4a5fddd2d23affcfecf7bf686f25ca8f6e67d7c757a951a4fbb440821cc64e3e5f7fb95762ce5e2e249142e309ccca656c3c667370140e5e50fd7d5d5d5d5d53d7c792580fbff7ef9e76e80ee93b5879bfa00e0e19fbd5f5757f7d93bbf8c1c486ae7a63fef687203a4fef29dcfc2cf367cb6e9f56d0dd3f296070293d8fa62d46afee7da92228b8a107ac5a539cb8cc10f98186a04faa2d6a78427b35ef39b5bcbabf3f48490ccbcf49fdc9abf5c1f4c306f9f708e75b926757041c73a3c17fdeaf0bd6f9e7cf7eb4e7646f6de75f36bd6cdaf593767e90c2d00b41d73edf3291f1ef6891b4b8b2c2a65e9ffdfc556a571acdec10f0f4f1714991f5896636441a5377e7b614ab8194d9494a2faffd12c285396cfb4fce4aac24c3d4d085d7d6ee16f96054361bf4fd8babb6fa495dfd3196cb74b33699fb97166914545081495e73e7dbe59835f5108218499ec54464d614319051445510ddbf6d70200543ef5ecbfdbed76bbddfe8d7fbf3b15c0d570a0aec6597770772f406ae955df5862b6dbed7cdae26f5f5e195a55e781af0f00c0550f3ebe388d8f7c76f781fdd3d24e36a96fcd8c347571f8783801367a69bebdddc144383f475f1471e49c66cd2b73826dab8d2ea16b8ccbad2a37e6d1e1a8246f6df6addbd1b9e4a5a34b5f38fae7cfdaf95088efef0db84273ad79ee40d933c17fcbdeef51a64bb2546bf746153e3f23850efd0aa0682aea6fa6abb6ff18176c245b599c4a0ffe6020457353e76b8341f368b7678475f79eec0b1e4a5d946bc88af8bd517e9e05af518a104298c9c649abd52a9949398899441cc74d637f79bd590b00a9a52581c636650a9b95a974f0d6e9353a8d122e6457b70700784f774e6149e8a51a96060028cccee8f6f091cf528c765ab645a5524d5ee185a6f8c7ac49b8c1cca48aeef56e0875ed976532d661e86c05393fbf2825635847faf67ee1c75f74ad7ad1de121877db2a9d9f16afc66409426b4b19b4517f50b429b45162029bc4467fc2d5334d347e492184d05922c97dfc351a8dd2c73fe907c89402699a56ca9fca7c165e586f4d4d2f4529ddf7dbf69f7484834841f1e0ac0000505f5b139a107ca6b6fe2435ff3c887e761a52a64ea79bc4cfd3285bc498427da40602d1fdecbda1d8440f6b8b8a22c5ca5773cf2bdeb940f8fcebb657ed9e2f7b457f44066aebf3bff0aff69f7c2377f083aa52bffbf0ac99b17363f4a171868eb7515a43385c13af3f6aa3a481d046b1231642b1a1ad1d562742931707494608a1b345927f85ebf57aa5596b606020b9ed641e8f271c62a63ecacc5cbdb41200c0bee1a7af2953b6befb6a2f406ae905732ad335b979a900bd351ffc636b3d00749fdcf9e6167be8a5e92b2ebb00003e7ae9173b4f76473ebb6ac5d2a97fbf0921493ffd622cb4c5a6605bd6fe765f7d44db951470ffab3dd82babd0aa8e1aaba3cf2bf50f3ef27fd525c4dc389a555d7c61d1ef6e3f67ff43b3fe7e45d6c365ba7033d3e15e0e00f4265619f28b0f04f6ecef8bfd511be3265967e872828d61e45f0daec854557fc0b53f74587356fa48838de94bcc837512d99bedc42ed7498c64082184996c1c288a4a4f4fe7795e96e5a49fdce7f3f908210cc384dbc9a6a8db15051445797bb2ef7ef02a00a8fdf495d5ab57af5ebdfa8fdb6a00521f7ff211bd37602d5ea17411fbe333f7af5ebdfadb0f3de91aac93c0d27beea80400703df9d0b7c3cf565efef01d2bb3a7be3319c771369b6d1a3f704b8af54aab52bf8f7f60d3c9bdcd5e00e86c76acdfd4b2cd173a75b122b8860529c18386921c78e16f4d9e0011bcde57de697cdb151555b8c75f3eacf40cbbefdd464208cdaacaabb2be7b4dc56dd9c19660938a068082b996ca507efac98e964f4eb825008fcbfde42b4794972f79c93ee6f30bc0b23a2fb89edb6afbd6bfdfd8e99500a4bd5f373eb0a32f7442837ae5a21107105e98a5614275f2f0a69a0697a0bcfc91af0678fc8a4208a1b346328f5d5214959a9a7af8f06165d8588fc7633018925232c771a2288aa2a8d56a954c36e515e5bdf8aea73f5b71e9d5dffc8fdee094caf7ebfe96d5dee2f402789db73ffb2e05d73cf7e17100a8bcfce16fc03f94fb00e06cb7bd5b57f7c2835786a75cf5e02f9fbd6f594373fbd4bfdf6eb77bd6ac59d3f8812b5a907bb7ddfbcbb60000d43afd37be591335c37985e66bce098e2f6bcbd4a4c1400f00007c60777d60778d50aaf6da4ac3bb9ff77300db6bddaf7cddf5cdf91946956c3fd2f1cf6ea5dd8abaac50395d32e5ce2addbe833e098013c4fbffde007f1ff211be636ee63812eb354bd2df6b6d3f281000b2f978dfe6e351a758520f9e9b3d63e497cfbb28ebb213f51f0dc80070a8c3bbeaa563f8c584104298c9268a6198b4b434e5f88fc3e1282a4ace79635d5d5d00c0b26c643bd924d74ce633ef7ff54b96e6bdae968e1e00e8e96851a75ff0555d5df8f4be8edafa9ed081d48e96c6db9e7df7815fb10020f25e1eee7de057acc87b1b5b3a007c8db5b5e1670180f7ba1a5b3aa63e59cab26c3299a6fb6297aaef5e5fe07ca531e6b0b10bf24cbffc6651b8f136ab2cf3e65cb712e0222dced59e68e32203da9c0b8b9fecb33f7ad42fcaf28f7774fc784747e4fc5755a6debac8a2dc5fbeaae8c1de935123fe2bd6cc4a0bcf3626c6f4f4e72ee3efde1263d85886a6ee5f9415bf5886353eba34b566d8cbb56ad5f96679bb53c2ef298410c24c36361445d1345d585878f0e04193c90400fdfdfdca9d89f0783c7ebf5f9224954a35851dfc8596c6fae849de9efada9e915ed0d1d218a7b8f8cf4e018aa25c2e575959d9b47fe668d6f83fb7575dfd55cbff1df5ec760506246019aadcaabef59cf46b16a5d3433a74a9be7b7d49ce3f5b7e6bf7350b84a1a97cb3ea9ef919e799b86bdb865e7688c0955754cc2d6dffe517bd3b5ca22b400040a7a28b53d4772fcc5835276db058a2baffc65917ed6efef9fefec303e28004e162872d7d0c6654e6bd5790fadeceb65743d7bb34a9994559daef2ec99b9ba31db5d41995797fb1e97ff149e7db9dc280043a15bd385bf7e08ac26d9fd8b7e3b71442089d1da82d871c84c0fc6c80d0096751b784104992445194244910844020208a62757575cce20821a2281e3a7448144596655996cdcbcb5306c81867321284a6a62651140140a3d1a8542a86614eb58b489e162449e2386ece9c399314f8223f03a34e1ff664ec3962cf4708899816f5a2189f8dd8c58ebaf48819863c35d2f4d84b1fbef0387512f5f2a1d7109b8e91921142088dcbbe7dfb589655a9546ab59a6118e5405fb85169f8add96ceeeeee6693be1e344d979494ecd9b3c762b1c8b2dcdede5e585838be144508696b6b9365599665ad561bb549684c99a9b3b373eedcb99354fe4879216e8e483464c49a6fc4d7269c5c469d713cdb94c8d2e3cc33fc290c62082174f648f25818cae14ba3d1585151e176bb9546b5c6c6c6715cf75a1084e6e6e64020200882123331908dfb4d71381c25252546a3116b032184103a3525bf9d4c89659999990303031d1d1d26938910d2d2d292959595f869983e9fafa3a343966551149543964a67329ac661cdc7cce974a6a7a76765654d46e165cf1cc01a9e32271f9d879580104298c9c61ccb4a4a4a0821ededed66b3996198f6f676ad569b9e9e1ebf7b19cff30e8783e3385996254952abd56ab59a65d9691a02e3f44651545757577a7a7a717131d6064208217496663200983973a6c9643a72e4485a5a9ad24fbfa5a58565599d4ea7d7ebd56ab572ed45e500a5dfeff7f97cca6c8220b02cabd56a552a1576231b1f4992dadadacacaca26a9850c21841042a77a268b8c65ca21cb9a9a1a97cb65b15894ac208aa272ad24599601207c445219189665598d46a39cb689ddc8c641966587c3a1d7ebababab27bb0f59cdbaf958e15306bbfc23841066b2f1c7328aa2cc66f3bc79f3fafafaeaeaea7a7b7b8d46a37219ecc81d8c3227c3303a9d2e1cc5a6e58ae3a7efde5a96659fcfd7d3d3939292525151a124604c09082184d0d99ec9945816969a9a6ab1580441e8eeeeeeeeeee638cee7f30502014992c2f3d021e13c87696c540cc3a8542a9d4ea756ab6d365b6565e5748fd48f104208a1532c938593593866310c3363c68cdcdc5c6534dae1e92dea12e35145f94f9cd0555444de4108218410c24c36865846519412c294de6391570b1869585b8410420821cc649392ccc2b7f1af39831042082184996c14ca701549c96708218410426718651089b1be6a3cc3e28fe3424908218410426789f125a5f164b2a4b49321841042089d91c69794f0f2910821841042d30f331942082184106632841042082184990c218410420833194208218410c24c861042082184990c21841042084d2893eddbb76f5a6e8ffb7cd3b874bcc55bbcc55bbcc55bbcc5db446ec781da72c84108cccf06187a5df0f02d21449224511425491204211008f4f4f42c5fbe7c5a22a4ffc4095d4545e41d84104208a153cab66ddbd2d2d2542a955aad66188665598661288a8abcf077e4add96ceeeeeec663970821841042d30f331942082184106632841042082184990c218410420833194208218410c24c861042082184990c2184104208612643082184103a55b0caff628e160ba1316387df47082184104223199ea0467d8abed9f3000020004944415409b69321841042084d3f16abe0f40de0515394eb33208410420833594249c2e572757777fb7c3e9ee7398e9324696c45b4b545df39fba258389011421886d16ab55aad56afd7db6cb6d4d4549aa6319f2184104298c962f3fbfd8d8d8ded9d5dbd92aec64dbb38d2cf531e412b48d8412de130a6fc4708048f4c130050d3944e2d59b49c55cb179a7bb2d47c766646414181c964c2648610420861261b2408427d7d7d637bf7d101fdfe4e25840db68d616e48288f1100220391892ce7a5b025a9ea3c3363505326350500de0019e0498747dad725777bd9aa5e4f75d7bebc2c5b4949894ea7c3fa43082184309381cbe53a74f8c89101fdd7ed6a4e0c000066b071c431203245a405399a0bf3d440338c3e252335c5acd7580c5a9980dbcbf57bb98cbefeca4cb70aa45d6d81d74e520b3d038eeeaf66cfaa4a4f4fc7e08b1042089dd599acadaded8bc3f5769fe188434963980cc691c70891a5420bfd8d12935aa32b2e98916b3347cda8b518322d86d2dc340068ebf104e8e67999fead8ddc4e5eebf01f3bb722bfa8a8082b1f2184103a4b33595b5bdb9ee30dffecd0f4f3018c03e30a64046489c8d2b9b9ea0bf275f9858579e996515f979b66cc4dab6ae9766b550d7bdbb94f9a699daa8510525c5c8cb10c2184103aeb3299cbe5fae248fd5e97614010310a8c2790010091892cad9aa9abcad2e7e717e4a619131fb07786cd4c33a5c03459b5de4f3b04bfd06c3299f0202642082174766532411076ed3f5ae337b6f40730038c279201012213229d3b435396a19b3fab42ab66c65a488e559f995221ee3fdec7cb273d8cf1e0b1e5172c32180c58bd082184d0d992c9eaebeb9b05e3b1ee00b6ca8c2b91292390c98529cc4505baacbc028d8a1edf25ad680a8a0af3d554fd87766f13a7afadad9d3367ce99f7a674d85bd6fcada70700807eeeea922bca47ca9dde875fa8fb604006802b2ad39ebb320f3f6b082184cee44ce6f7fb8f353b8ff5e800f3d83823192144a6405a35d398913323df669c486933520d5220ff9240fde613be74c65758d86f369bcfb858468d753e0a3f9d082184cef84cd6d8d8d822187afdd294edf61e5933af3a4d1535b1afa7ef81b76b4ec74006841059aeced2a834ba820ccbc42ffa9e9f616e6ad797a58acd1ca9afaf9f376f1e7eee114208a1333c9311421adb1d0dfda6a96c88110409203a9359d22c2fdd3cebffbd76f434bb001321046490a5f373f5b93959c92ab520375b23fb5f3be26de9f2cc0a04d46af559f969373c77dfdce7226b1a2184103a533399cbe572c93a1747a6fee898b3adf51bcfed54ee2fbd7cc9cf56ccd0eaf5f75d96f7df9fb49e46890c28a0089991a2a26826df664e566ec8b3191b9b18a39a71493aa7d3999d9d3d096f1039b8a7f9e7fbfb0ff44b7e19189aca33ab6eadb27eebc2eca8002878bdef7ddafe5a0367f7482280514d9f63d33db23c6f6e8e7678a19dcd8e3f7ed9f351a7d0211000b0e9982b669aef5b999faa1a65fd8fec6bbc6f5b5f970c003027d7f4879b4a4ce0fddef3d1fdc922faa2b1ef3d5ae9d8deb8f1b84f59b16ca3ea8e79b69b176732b13673779f2402e45b34ffbd6c4699dc1751c8ec4afc5e41082134ed99acbbbbbb835351943cf55b42d1ecacaa32e57ecb9efd7fca347c6796353d553f8302a5a92c377fc6e397648576fb815ffcfee03e0000a85e38f3a1391680c0a67ff65c1b9a61ffa1da8d7bfa42655b7e71fb4c656430cee7fbdf378e4d52db9bd2b91f402eb66a024c92af894454fa0a1bdfe991babbbbb3b3b393bdeec26fdfa8f9554b207ccd2c49268d7dc28fbfe8fab0c5f77f37949842d35b8eb5def3494fad3098353d82fc65bbf786d7edb7cf4f7f64454e440022fff8b866dd211f1799bcfdd29f0ebbdeaef1fcfc8ac2a5c5239e43da72ac251cc8e6e69afeeffae00ac4ea4f16be23ffe40fc7bf768ae1423a3c81273eeb38e20a6cb87c4678953ef8f0e4a347fde1999afbf87bffd6f09f8b4cf8558210426882e8e416e7f3f93c224d4dadc15816a24fcfd97bacdb07a037ea1717e8298a5ab070e64f07031900a81eba7dfef5057a8aa284e04e5f754bc40cf3e71429cfce2898f1bb50200300ad5effd3dbe72e98d44d2124d7cca4a6184952a5a6186c7ac6cdc91cc725fdb0dd471f364406b2487b5b067eb3b52bf8f170397f3034904144867b716ff78b5f38c3530e7ed11015c8c206b8c0837f6f3ce80ac45c990187e3e14f7a95409695a27deefa126b423f3de4c84036b86927fbeb42f74fee6efcaf8840165a73f9e9ddee3efc2e410821744a65329ee77d0142014ce53f8868f108ffebe9f0f8000048c0cf5360f9f61c0b0038db5a17fee0b5853f786d679b1f8059717ec18c88124e1e3db6f007af5dff87633e0000a6aac84c01ac9963d5869e0abd5075f5cadc49d916021421408881059d36c95dbef43a8d41053e41f6f97cc9cd6452a0f7cf2739259065a568dfb8a1ac66ddbc8faf4eaf5207abf6bd93ae4e25dfececde1f0c64d4da4aeba7f7cfa95937e78da5d699c139c94bfbbb5b42c9ea85fd034a20d3aad9ff5d9a7b74ddfca3f797fd6fa54ec9cd9c10786167fbf095e1bcaebbdfec382410004835a87ff5cd921909b7053334fdc0b919fb1e9eb7efaec2ebd2820d767c403c61f7020040e06f27bcdcd0398fde5ff6a3322d258384df250821844ea94cc6719c4f04a0a829fd17d15016fea7366ba8d0c4f90b2d160000ffcffe6fff39b32bce995df1face261f80cea039af203c66877fd3bb2de7ccae50795cadfd010090c4005096a2740d0094cdaadaf3ec4d7b9ebd6949ae0e004c6a7a72b60580020260545316bd36b9ed6416bd56cf523e91088290dc37bdf180fb4840495af4ff5b55589da727048aca73ffa35c976f51dd3f27f5cfd716650100f4ffa339b8e8e5332d3fb9aa30534f1342579f5bf89b6516e5129efd3e61ebee3e00683ad0fb952f98ded62fcbbff1dc7415212abdfec6abcad7cfd428857cd6e0ad8b5e17f2f4a73d7b3902001a15fbebeb4ae7a6ab12df9035b36c0f2dcb31b260b458ee5e601e360689e74b47b08d6c7579aa32a74aafbfe59a997764b1f855821042688292bf2f898a49532972b9b979e67087ac802f0000be7e5e2cce55661970fa7d007a2001bf40057b25512933d25b013466034d850be4623628e90c9a7037b5a46e0000100a26eb7c400a0026a1f0da6e81070000ab515d5e30787c78c5eaf2954a50220400ba6afb8f05ab935a599c4a0fb6d591a2b9a9f377f6ede0080039daed01b09c68e73c000060d4aacf9b6b1e9c95c079c57a632def01e003626dadaf64a63e3293f58502271f90bb7a05184326a3cad2f4e195526b190d8027e2e9ae5a6f67b09f24bdacc41a9e93107655a1ee779d03f86d821042e814ca645aadd6a0a67de294f6f11fecad1d11ca5253347a005fbf6747832fdf0600a0376b7328aa1700008a66dbf4435f1bf97a6a58b8dcb975e7231f0e9ebfc9aa75a51585c91f4f82a2288aa628ca2782cbcba5e855492cdbe5e5bc22e8d5b44aa54aee5a8b72309ed0d4d076d7a187486509421f0bcaa08d6aa0a54d2a0a380200ca67275ca6464545d573645a12a5381153fef5aef625e5a50977bfa76ce6783513b1fec00c5d7d0607a045082174aa65328d46635051ce69da98f09e31272fe7de051900d0dad6ed32ebba3f6d719e976503ed6d5716ffe0fd7a00f8e6ec0c25b16d0f2536181ed10028701e6ff35f94ab5b745ef5e5ada676d0fee8bab23c1dd3d2d2f53fdbda276313680099a23c02f1f33c4032cfe6f371bc2f400c2a5aa74be6199d6fbdf51600fca430f8f0b3b70ec799f991d06cbe43f6b70e0d796a711a2c4e0300007fcd5b6f41fc328797139e12e51f6f1d88bf94386b156729c3d73fbcb647de3a7e04e0baebaec32f178410429398c9461dd44aafd79bd5c2b45cba272d3beba56f0f1964d5d7efdaf04e83262f5393e9fff8a8ebe659564b6aca4bdf9e1f7a3eb0f9bd7d7d29690510ee78a6ac77e4899c29af7dda547d4385de60fcdfc117fa5f7ce50095973909a192a6689aa6e96e9faceff390dcb42496edecf3f4f8e51435add1689258ecf5d75f6fffbceedf3eef970000e817ae2f5b5918cc7c8d071a6fddde7f7e81fedfcad2ce9d655543df4dcf35ee0e1000583ed3fafc9ac2f0b017f5071aafdbe2ea0700a07eb8acf0dfcfb5d47e5d7fcd76370f00403d7159d1b7e6a584e6256fbe7d7c7d2d0f001a95fadd8767cd04e838d1f2cdbf397b0000a87f9f9ffed8a539affce5d84f1a0500483369dfb9af3234f287e7e1e7ebde1f9001e0ca4adb7357e5c190d7d2cf5d5d726545b01759ace9bd6b9e6d3a2c0300ac2c4b7de19a82d02a094ffdd1fe72b0ab19fbb775e754e280b408218412484dc3db6592c966b365a8f8e9eae21fe9e4d1632b9eda2ee66752145094f99df7b6874ea80ce6aaefff60f37bfd7a4d440931cf19f0f534dd19fdc2f7eb83c526fb1f0d144d513455db1b60257f72df1a5af437f68999da80cd664b62682684949c6b9d171cc155fed1c70d7b9a3c84908ea6ae67be72770ad2bb3503b77dd0f2458b9f9094d579c18383db6afb7ef8f7860e8f4888b8e7ab86fbb7f7f503008059af5eb928851052b228757ee864cc27b637bffe55174f08eff1bcfe77fb13b54aef35b8a8c858a29cbf10f18ecdcd4ba109ac5d66ab525100d033c0fdf15f9da1f31ca2d77cd834183c2722c674e30519c1df30db6bfb7eb1ad6d4090798fe7cf6fd7fed121469580df4408218426b79d6c5456ab35058e5ab4a96e7eeaba943df1bbbf7778a287aab2a6d9e6ce2a1e6c452b2816dcad2b7e7020b4f35455ceaf549aa1f67dba7be15ffa015495f3cbf40000fe7b9fdcec12646b9aad383f5363c9a2a25f586698ac4da1699a109ae918e05594dcec1cc84b3326a5dc56974f4f4bbd3e7196de9f919191dc864c86b57ea7cc71e0a85f02e872f337be197d99d1f979864533b40070cd92f4f75adb0f0a04806c3edeb7f978d4a85ed483e7668786674d796881f1c097031c0027888fef687f7cc79083c55ab5fa912bf2475a25637ac643557ddf3de893005e3bdcb3e6e28c32d5c43759b5668ee9f54e573f8024cbbfdeedf8f56e47f0091a2419bf4c104208252f93511435c19ff8344de767a515c8e4f014f629cb2d2bcb4d60368d25735e758c038e86ecbc854386b5d7950cbd3ace482f4c3a0a40a6299aa18944ef778895d095ac4cd6d4d659ef946698991c5b0acb26ff64dbd55714d7f79f8c396c6c568af6f19579fa60544a7fee32feee2d31868d6568eafe4559b72e0a8fce0b0b2e2ed9e03bb9ee608c61634d5ad5f3d71697c6dd8e252b722eabafff6840e604e1f98f5b952b294d50d1dc82ffd7e27ff43817b9992cc3dc5daaf9cd091f7e9b2084101adb7e7f6813091d73ea44141414e4d0fda95a869aea61ca4eff7f144d034d530ccdb0073a384a121abafa263e3259a3a35f23f3753d42aec65f5c5c4cd374d23bfc11a2baffc6596f2e4fbdc0c2e8e860c6ca35aa1e986f7beff68a59110352cca8cc7befaed29f9e63986564944c6552332bf20d6fde54fee0d2cca1a76dc2ea55e59fdc907b47be263b34fc6cb65175c739a9ffbc6fd6b9d9daf8abc4b0c60716989499fe6177ef72246754b6abaeaa7873b9759e916101189a9a9ba97fe3c6d25556269c2c69fc8e41082134ae64466d39e42004e667077b25877bc3443e942449922451140381802008bdbdbdcb972f8f53fab163c7beea94773bb057cd38c20d21b2248b013120145be815857a5bf68c1956fdb80b6c77739dadcd9fb77026565e98c5565757330c33692761c4283866cbebf0f9e234d0263073c42c43bb9785a72b93238b0acd38fa6b872d6fc81a1142766c3979d7411f00a499b46fdf5b918d9f6384103abb6ddbb62d353555ad56ab542a966519865176becafe237c1bbe63369bbbbbbb2765fcf1a2a2a216c7be4a5bda891e11df9831861a20c0004b1842ea5d7cba412895dbb3ccc50c3d9e1425c9a4b1b9adb52f20cb249bf1cc9cb970924f894df4d0f7980e912730f348b3c4e8d73feed702c0af5f3bf2cb36e5234d3d7a51f6ed8b3318200d27da9f3b1e3c2123cda4cac00f314208a17161e3344e8cbb6f994ea75b30bb9c3b54e3355b5a07f04a80634b6540030d0cb00440feaac567d130fbed0dd9d9d9b996b18d2bd6d1cfb5b675f4f985da5eaecac8cd9f5566369b27e3c0e5d923c7c00028998c3cf359fb339f458f51b73cd7c460352184108ab39b1f792fcc26378d85d96cb6b9c51e7573975b3079043c8839b6778b504051ac7261f22df5def367c8b4dc2a0632f36d898e22dbdce371767536f505f6777217dbf88a829cdcdcdcc9086465cf1cc0b72cec77bbdb7fb7bb1d004e3e3a0f6b032184d09892193b7a3e20647c3bf2c2c24242882076b692547b2f1ec41c6b2ca32986015051005fb5f8ba3dea8ba1a3d5d153909d911bb77b597b9fbfb1bd4b07c2576d8224498b52fc1505b9a5a5a593d98d0c21841042a324b051f7c2ec584b1c93a2a22293c974ecf8f194acf4434ec24bd860967065d3845014455132455314dde80e341eea5f94ab37d3ad2d6d0cadd1a59af4469ddaa2d7c884f4f9048f5f70797c32ef37b15273af74a8d35f91c61668dc559595b9b9b9915d0b114208213495692c41ec64af8dcd665bb470616a5d5da6ec6e21a9c75d2480a36b26f836122014a38cec2f33b42c31bbdbf93d6dde1cb3ba342d20f83c7a165c2c00805f049f08bd9cdce812dafaf9628b6a45863fd36a9e397391c562a1697af2ba91d5ac9b8fefd57038943f4208a1b11a73261bc7ae5da7d3cd9e3dbb606020b3a1a110fa7cacb93da0ed17286f80780318d1e2d7b572e498a2295aa61942b3b22c7578a5b6011f9109109900a828d0aa28939a3669a83cad384bedb1a5a516159d939696c6308c92c626af850cc3074208219494bcc44ed9ca994ca63973e64892e4743a9d4e27cff37ebf3f100848129e98397aee2184c8b2acdc2ac243c2320ca352a9f47abd46a34e4fcfc9c8c850abd574081eaf440821844e0bec142f8f6198cccccccccc715eaac87fe284aea222f2ce5915cb22c359d4b5aea99070c3187620430821843093a12453029612c2689a86880b2dc0d0133a123cb90321841042a76526c37dfc2992ccc2b7c33b72e17b841042089d9afbeef164b2c80163870f4e867bfdd3f13d46082184d0f4eea9871fc51abe1fa7e3bc1221841042084d76568bce64082184104268ba60264308218410c24c861042082184e264b2913aa361573384104208a1f8c691a3e8f8af8f9c8e1042082184c697cf464d5cf4988ac37086104208213419d9891e29c18d543ac63284104208a16445a6f06c7482f90e2fa1881042082134a64c160e4e89b499b109961b2e9da6699665df7aeb2dafd7ebf1784a4b4b25492284a854aa29dacae6e6e83b0821841042d32410085014c5304c4d4d8dd16834180c595959344d4705b251c5beb652e41596a2e21ec3307abdde62b1b02c0b0056ab55144542885aadc6770521841042671b4110288a6259d66834a6a4a4188d46bd5ecf30cc480718470a6a63b806394dd3344d13420c068356ab9524c9e572959494489224cbb246a3c1770521841042671b9ee7699a6618c6eff75bad5686611886a143c6730df2e16d63e11047d3b42ccb4a2c0300a5218da2288d46b373e74e97cbc5f37c6969a92ccbc34b40082184103a2329d1a8a6a646a3d158add6ecec6c96659540a6dc86fb7d8dd4233f72221b6731310f5f2afdc92449a2695aa7d3592c169aa6398e4b4b4b1b9ec930a221841042e84c0a61c333594f4f8f56ab359bcd3a9d4ea552291dbd46ca61719acdd844d218849aca1886511acc288a92655939621a0804bc5e6f543bd9b8d318c638841042084d7dc01ac70b954c268aa2c16050a9544a0e0b1fb20cdf26b868364e1a0bf7f787d0f14a18766ea7d2998c65d9f014a584f8db192778e1581b0821844e058490aeaeaedede5e4110b03630aec59c47e9c7e572b94c2693d28d0c00c27dc822cfbb8cd9af3fea211b338dc55cb012cbc24d65e1e94afb59cc058c546682c10bdbcc109a249224793c1eafd72b8a224dd3b8cb416838bd5eeff3f9743a9d56abc5da4071029256abededed9d316346b8177ef83691cc139e818d93c0a21e2a275d861bcc1886093f1c697989e4b309a65484d058793c1ea7d369341a6d369bc160d0ebf5319bd64f117bf7ee5db06001be6b5815536ffffefd344d6b349a387f206ab55ae93f84d575a6228488a218ff87ab20084a4c8a4a4409368f85b189a4b1a819c21395dbf04a441ebb4c7a3e43084d9c2ccb0e87431084e2e26293c974bafc49e2370656c574d5b656ab8d13c8542a1521c4eff7cbb28cd5758619bcde114d330ca352a9028140ccd9689af6fbfde16fd43883c48e9acc123def32e658b2e13132c6fa13216a7efc9641686a381c0e96654b4b4b4fe58631844e9d4c16ff2f4519321d2bea0c0b61c37fca4676d91ae9a3121e9b62789909369241e4f52e23bb888d1aeba2669e60b32d5e4613a129e0f1780441282c2cc4408650b2421b56c29991c6460d21a3f6b91f351a8df43072fae8d7204ff061220110931942d3459224a7d35950501079460e4208611a4b7a99e3c84e8a7863618c347df8c3f8f38f6363f0c70742c9e5f1788c46a3c9643a1dffb8f00b01ab02a1494d4e935d7e82cd5874fc99c6d1f296c4e88a2d6708253193e9f57aac0784d0d99cc326295a242b35b1c37f7e8d7427cef4c42fa9f4e1ab2f1c6c76cd5df2adcb2f2c1efeecae0f5effb2096ef9ee8d3642ba4fee7a7f8febb69b56e3c708a189134551a7d39da6ad2cd8388455815072ff7c921bcb227351e448fbe151f4873f8cba139dc962e6be98872cc77decb2fef30f0f36bb008065632f77d975775dc682b7df2351cead5b7705acb3267218142114c6308cc160c07a4068ca747575b5b4b4381c0e8ee30040a7d3a5a7a7e7e5e565666662e54c8ba93cf29660cb591476d4c8153f8d8d7425a5e185282d64f1b781f379b8d01e84a6808ab50118d1101a079ee7b1773f4253a3afafafbebebeaeae2e7287353030303030d0d0d0505252525252929292821575c684b05113589c2b91473ec58eba98b1a6b158b1acfbf5df6e6a7473003aab155c2eff482f091dbb3c6ff3936fba00c0b5f7c927ebbff55ff71603749fdcb569f33625b159f3e7de7bf3e5e1a8d70cf9f9d074b0b90f00002cdf7aecde13afbda03cb4e4cfbd178f7e2284109a2a4ea7f3cb2fbff4fb63efe90821b5b5b56d6d6d8b172fb6d96c585da75dfc4a6e328bc22692c0e2cf93402c63181a662e587de775e52f3dfd429cb6329661800606cad73df5f0cb4fbfe0b2ce7ef4ee353e777ffbc95d9b366f9bb160f59dd72d05e87ae9e9e79ffbadfb96efde980ec032b4abe1a0b5fa1b4f7d7759d7d11d2fbcf2d19b4f3d551c7af8fc2b1fbdf161ea8d579c8f9f57844edf36666c1dc7aa385df6f47d7d7d870f1fe6388ea228abd5ea720dd9e359ad56bfdfcf711cc771870f1faeaeaeb6582c58c967ea67267e3a8a390f9df80b12b913b31c8a4abf7ddd8f6ebbe67cb7db9fd8d749a0dfed234080c86e777f0060ef9e83609d79f935e7bbdd6eb7db70f995cbc0ddb8f7f3fad0fc694bbeb9d8ed761b8a8a73ad3a9d75e695a18733acbafefe7efc882084109a02f5f5f54ea71300aaaaaa1e78e0815b6eb92532903df0c0038f3efaa8724573a7d3595f5f3f4a710d9fbcf5f2f3a17f9fb404a7f61e7d3bf2e1696732d63f4e9975bb5e7e7e57c3e0e3966d8373baf7ff25296b92acc8442732ebf88a8e207b07063c3e6edc1ff2a6a6de19c525e6600992b9a8648655e71e702a4febac56ad8f03002960b558f47a8bc51c7c2812203898064208a129d0d5d5555b5babc4afb56bd7024051519172470964ca6c8f3efaa872a7b6b6d6e1708c549a7bff5fdeda5a5b75cbc6f51b36aedff0d892acda5d2fffe5a80b00340635009cbe63db24b6feae3d5bb6d54dbc4cf7fe032d90933b6330baedaa1f9c33b37a413ad4daf7f72665c3c61a96863f9be87997899cc399e0ba8e1d4b01d4eefdf889bd1f474e2d290c064a02e1d67c8900001009bf1b101a068f5de29b8826557b7bbb72c7eff777747464676703405555954ea72b2a2a0acfb679f3e6f07da7d399919111abb03afbbe1e9877dbaa0cbbdd0e00da731ed8b8442db89a1a1cdc595095ae3d5bdedeed9e7dcd840beaed6c7140d665852690b8ba5d2f6f896a12e33433cbb2b67cded2ec9e9f9aac732ee207b2099d7719b363d9b863d944cc0c76261b2405f809b4bd2184c6e7e40b3f7cd10d0000f90baebc71cde05f65ddb6cd7ffde72e00dbb53ff9cf12e87afdd9df34bbfc51f34ca30f5f7afa7083130034d6b29b7e705746c22ffce2ed179ba04cd90aa59094a2f3efbd73ede9fb1686ab0200007417df72ff05959953ff113ae792bb2e5f5e167f56c7f11d9b3f38b9762cefd7581791441d1d1dc13d3dc7bdf4d24b6bd7aeadaaaa0280c840b669d3a68686c10369511dce0635b43401549566b6ba95bf36ced1601fa1492d226a58175db666614a64ac09ce9356b5e6fa59d6d0ccd6b414578f1b669e7fc7a579c3939072bff8b2eb969784da96de3c165ccdd04b94398b1755b9762b4fe5adb80cb60657236fc57de717859735330f6a5b5c91d3475dffdea33b76bb01e0c8bb6f1d519638da36162f5e143bdb35b77603cc49517120815e07d56b365ce6fcf9533b3b0743993103e0507da76b5e8a75b27258cc403686eb5d8ea3ac31c5326a6c17993259adbade1e877bd0fea71f7bec2f9f1cc3dd2342636a6299b8da6d4742dff2d0557fb22be2a9c16f034208191ccb66824b4cd29a9f6c09a510ded5527bac33c1977df0d2d39fee3d19de0a651327be51d35715275ff8e1a311810c00fc9f6e7af6f5cddba7703ba8043f1bb5db36ff61d3fb3c5030698b18b5c2c74414c5c8879b376f8e8c5fc30319000c0c0cc42ccaed770180e8778fb6ccba5d2f6f69c95a7df7868deb37dc56e5dabde5ed3d6e65fadbbbddf36e5baf4c879e633b94e97a1d00b8d4b31fd9b87ec36db3a38a0abfe4966aa8dfb2657f2f40ddae97df3ce6aa5e3378fcf4931600d018540050efcffbfec6f58fac4e0768d97a20f711651e68d9aaf4d0529655ab5b159eae1c7b1d75fd7396dfb43a1d00e6ddb67ec36db3e36fa3327d95a6ae2b56f578077a01d253533800808a2b36ac4db5b70fedd8ce19527300ba7cde296d181b29ffd0634a70498c65e19724f02adbe5572ef535ee7dfd835dc11f79af6ef15b675ebcb21cf7b2084d752b597d0d006494946a0078574bddf1aed362b5ebb61fe903d0586764587500fea613f6045f480ffd7ebaf29e1faedfb0f1fe7bae3b3ddfbd59f23f3e0000200049444154ae377eb6c90da0b196dfb521d84ba9c0aa0380e67d5bbf3cf5de4afa34ef0e6cb55a235bc800a0baba3ac1d76ad8c4b6bda1a50520bdaac86fb7dbed990b2ecd015773a70b00aaafddb071fdbf316f3ff9bd27d6fde11800f4f8078f2b659d93c7dbedf656f7b0a2aa4a33ed76bb3d63edfa0d1bef5995132cffd28b53ed76bb9d3f67593544f6be9a774e5e83ddce1bd300206b5e216fb707134f44bfaeacd5e7e5845fdb237813597fcee1f41300105d767bab7ba46d8c9c4e575566c58ab6fd4e0048b39a9447ad519b0c0000066b0600f4f58fb34b599c81c7c61aab60787fb2f87dc8e2cc30910f6eac97a75fbcf09c3f7eb2fbc9278f2e5f7bcb85b316df7b2bf5c22b1f3d79681b0068ad33ef5d779bb1df83fdc6109a5a352df54e005de5454b1b7b5b9b5cfea613f6c595a7c1a0e44a94cc2aa92e04bb638fbdabfea40396441e0e731cdff1faab1ff0caeed05a7ae3f7efca80ae377ef6db66971f009af6fc7dc39e7f5e7cf3775d5ffce9488333a5e8fc7beeb8507976f625775dbeac34a204ddc5377f7771652644bc1cc0b6f6897525d31f4c3f6f76f9016cdf7cecde5441100000d22ebdfad257fef4c9e2ef3cb4b83c4d9295eff69adfad7f31b4eb0a6f4e78baeee29baf38f4ea5fdd83cff687e68fdef6fceaa5d0f0b552092945e7df73c79a982b1659f9e1d9be7cfbc54ff7d50000efb2ff61fdbafcea2b6e58b3344ead461632fb92cba7a586552a9532643f0cedd41fa6f42ddbb46953788ad96c8e5994c59609d031ea1295e6b4eeadbf7d2562a2cf0b60ddf7d7755b5a0052573cb6fe1b5d6faffbc331a023aea5287839d08ed432670670b7dadd8313d38cb41b008073784400600c9a50c3a0df0d16e002f208650200107f9f1bb4a1d7f6f5f70268465f7fcde8db185cb7140d071c701e818c186de540bc6e4ecaea03ab494a8c9948208351c78c8d9fd5c69ec6d26f5ff72386a244dee7e3c5e14f5fb4f6f6150c7807bc32c8f9175dfdd4cab50084f779b900672c3aff474f2d55164688e40d05b26beefcc1b5b41cf99005b1dfe30b2f8e96c30f114249696dca9f595e0125f94db1c2cda91c250babca6702ecda63575af8324269b26efbdb9bffb92b3c37efaa79fd672fdef8fd7f8bfa76a3688aa6c2df7b594525f9cd7becadf54760592900d49da8e10134d6fcb25959209f8c883500e0dcbcfe4711e1667a74bb7a01c05252561850f6420040d2ca973eba61852406944016996c0000c0ffe9ab3f730573a7f275effff4d5bf869ffdfac33f7cfd6a2f3f38f39f329e5857129c139af7ed18dcb336ecfaddcb303c964555bebb61d72f7ed673e3f7efa2e8a18771687a68581c52ab51ab7de49f1f4e4b0de7e4e4281df2a302d9a64d9baaaaaa9446b2a2a2a23befbcf3a5975e529e4a4d4d8d1d148a2aabe0c0b19abab999f1c27c6656164067faa58fdd73e9603391b7d3de7aa0a505a0ea968d57e635d9ed2e1100b2d2e38f84a6141573a2b3b31d4658cfb1b265e500f48cbefe1da36fa3b321c9eb3671a306b2d1db86132f68acf76391bd0303fdfdfd31031900f03eefc08057f9b210797f7f7f7f7fff002fca1445c922df1fea4dd61fd142e6f3f4473f1c4c6092a7bf1f031942c1ddefc4fb22d5d70080ce9a96264933abca83872fc37db3862e2859cb9d780975db0ef701001832cad3d3cacbb382872f4f849eefdcbdf72000584a2e58bf61e3fa0df759007857cd9e6dee5b1e7b726e890d000a165dbd7ec393175664446c94acd4405f7d4d1d21847436d5b70040c5a2e56992fcc5db3bdc83056e5cb6a81cc07ff88bcfa7b72afa5cbdc11fb511136549e4795e9464a52ab67eb8958f38b8b96c5139001cf9e73b7511efa9b25d37acba00007857af2ee22180d771ac33e2ddb7dd10518ebba1b62efa9312acfcb9abee0b1f4be55d357bb69dbcf0da7b95329595b9e5da65716a5509c4518b9bf8a76fac7f62f9f9f9c1701a3188bfd287ec830f3e08f7240b9f0a000059595923b480152cb83407ec5b42036b29e36f45f7c7e28a2aab00ba0fecf8da6eb7dbbf7cfbc9ef3db1eed75fba01f42a0038b6fbc30607e7deffc54900e8ec72c65d79a5a893bbf6b821382eda96fdbdca44e797075a9475d87508a0fa828bd2c650295ddb0f350cbeb6a4884b68fd53d36da3cd135cb7da663700347cb5bb6ba4e646e8ed89775cd2dde300009b2d6d1c5faa23659e716727369196b044ee4f71021d699783fb5d8426b9b509f267ce21004ab86972f99becf6f34fedc397271b6a95f6a16299c8905e186ce1ab09b5f00df4bbfc00bab9175dc4f33c40f1fd1b365200b21410043ef8a54208cff351c5866ac079727b8d31b3a3cbe507b0952f2f21624773430b00f4d57df1c4ba2f065b9cfa7a1d00a7729ba2e3b8bdcbe507d02dbefa1a2bcff3008bd72e3fb0dbde07ce93db6b8a9705bf81f34be6f03c5fb06c8ee5e32ffa863da422bae0152cbaa060e472229608073f7efe60c46047037d9d62a0540c1e4b8500cf0bd03572ad76298178d8e2a65a7a7a7a4545c5891327388e7be69967eebcf3cead5bb786a3d8a64d9b6eb9e51697cbf5c1071f28532a2a2a6c365bd49901e1a8000bbfb73ef38d27363d1f1abea17acd861bb2a3c6c27017acda701bacfbc39697bf0ccdb336d5deea2efbd69a7987de3eb0e52d3b00cc5b7229bbf313a7c70599714e2d7417ac7a6475f7cf3fdaf2f26e008079b7ddb3cad2e0d0acdaf098ede74fed7cd9be2bb2fcc42b256b7576dbf36f6d05809c258faccd760f7ded48ebcf9594cc831307de7deb485ad59abb62cf33b8c25f42f9ca2559f69d9dc382a6292d1da0dbed0518b12d8d737702e4584c131ac621598d596c9c059c22512c89a10da1b3bc9d6c222fafdf7144d9c91ddaf2c2a12d113f83eb6b1ce4e2748021ed64518fa673cd8351b2afee8ba7ff7b705fcebb5aea8e77a65764769f6857da348828124200249e93623632463f966c4abc6b693892e2eae5838705251920e63711efeaf510923e7d55614d4d837a67bc42825fa186f4d25459260010100c29565d9fcb4fd154e8453a6ba681102205a4580f8754558a354b22239513b9c461f1c0d513514cb0cd6ae45a0d3d45e4a8c54df16f7551144b4b4b7b7b7b1d0e07c771bffef5afa36688ec49969191515a5a3a4220035046bfc858bb7ec3b74313bc9df606070040dab90f6e5ca5f676da5bdde06eb567aedab071cde03cad6e0070b7a6fedbc6f5370527ba5caa259782aba9c1c1555cb161e3f5b1873973b7f2e7deb661957a48495cab5d191a6d68f9a94b6fdf704d701520b2ccc87553de147fe10d1b2f310080e06a4a78fdc19d1d5c7fc1d5d430d23c832bec75b954572d895caec2545e96f5af6ea7db0d79a1e1c7a2d6b0d7e304c89a5d680269c2836b459db6388e238aec48392cc158864908a1b384d2da146ba77872ef8e9a6f2c2d3d3557bb7ec7d111da4bfc47befce2fc8a6f6654e5ea00f87105a492aab25d7bec7df5b58dc5c1062439e2e9824557df7add8ac8f9058e97a7af2a32525301a0afbea61ea03822b3bef8f8cb792bef887807bd9dc73a0b2a94b64fb7db157d2d6d2293380f87ece47bda428b8a514e04ddb2ef3c74d1acac8832655e3909619858b52ad4580d30a4fcf88b9b4446a371e1c285dbb76ff7f9e2759bd1ebf50b172e341a8d9214f75cb5505ffbe169cd31da4c515343d70b883d73ec82e34c1d322db2cc18337b5bedf689aeff08ab3da4a4589744e034795539b0d5c501a4c45ebab7df01e92b66aab8248f369f60201be57a9771e64eb0d0b10c3c86103a5dd4b4d63b61b0dfcf9091145a1b8e9ee25132dc0929a22b12f435d4d50310d99462d501f80f7df1b9d2f0f7e6cfffe7d9c71f7bf39d9d833b84de9e9885a7952dad28b101385beb9d00b68a654afec82c2cc90780a6dd5f1ce3388ee3de7dfec74facfbdeaf9e7f439ed6aa285a7671815507e0fce0e72f7707a775bdf9f3d7dc0047fef5daae135d1995154a67bbaf3f7a5f9961d73b3bfa00006c15cbc793b99bf67e551fb79cf0120fecdca65c98fb57ebbef7c4baefbdf7c9d1212d61a3d42ab1a6a60140d39e5d4317370d2449b2582cab56adaaacac1c6960aacacaca55ab56592c965102194a024e75deca2a38d2da30c2f30d75b550bdf83ccd58dbc8e234898d3b9041cc639789b796c1c8cdc2f19f45089d5e42ad4db6f2a545e1b3fd01accac1bbbefadafa110e2d9d225132bf644ec46a437165d997bbed3c384feea8295e5a76dea2f94d5bbee86bf8ead9c7bf0acd625bfcad1520048f2bf5d57ff9ece35fce5e79071ddd62249697941dac738272e05294650000b2f8dae507f7d8fbc0f9f6e38f859b82e65d3ccdd733904565e48bbff17d357f1a5c31a5f1e9d28baab2441994aae05d436698bbeadad0a68d55640d40c1a20ba2ca2172faf0cad758cbcf5f590e627846e7e6c71f4b293aefbe7b46acd558153e6d4451d46ab5e79e7b6e5151517b7b7b4f4f8f7251cb8c8c8cb4b4b49c9c9cf4f4744110e21cb53c53c4394e3a85a1cc91bb6ac346e81ca113dcbc5bd67f63c427476d001bf5d93105328879dee5c40bc53633844e41133ae3b2a1160034d6347d60c8497b2595651a0000e7c9ed27a39614ba3f9de75dd66d57a2a4ce9269889c9e5aa69c7d09ad0d4709910b97adbdeb3b57470c4f64bb61c30f0bf90021e48abbaf0d8f2040478cce102eaa70d939ca0cf925e784ab26c017dfbfe1be88a10774cbbef3d0e2b2d4e93e0555b6942e7974c346e564d288757bece6354b0292ac54c5fae8357fecf2a5c5528c5369e33d0c85b0154a4b2a00142cbafae6354b869603ca1243e76c0603d9b71fbbc71290082125cbaf0daf2a45d1716a35eaa9b9abaeb424e3633f91d632bfdf6fb158e6cc9973c92597dc7aebadb7de7aeb25975c3267ce1c8bc5e2f7fbcf8e163277abdd6e9ffeeb73ba5bed2367aeb84f8e35d28c3b3b0d8e5eb6e590831038375f35fcf337bc4febf08784904020e0f3f972727264598eff21c6663384a6adbda8a646b9f4def8a8355a86a680c81cc70fe9a2cda8b46a16002451908051b30c0011fc9c049446aba52990259117021359f363c78e8d7bcd19955acd3200200a5c401ab2e2caea1159e27821724394ef2ac11feee7cf68756ae5fb521205a0550c4d855f153983240a422072473bf8c2582b30d55511e3dd1c71dd465af3e0f4d094380fbbfebaf1852697bf60c155375fbf525954c42721bac6c26f93d27416f9190baf6aa8cee3d46ae43b25d22c1beb4d1973851b8d46fcf638cb8d9ac3689aeeeaead26834f9f9f9cacc89b77385a7e874baeeeeeed86361c49c12ff61e21b86c90ca1e96a271bf76b792e768f69220a3e319c4ec4c1bb4038bf6fdad75c147831764ff1e8d51bba2143caf0fb228f3189a3cd30eaf4697b13477d37c7b845f11fc6f91844cf39f2db347c55e3d4ead0a746384500a164a5b1045f9548200bdf8f77de6522b16c82ab8bf90c21841042a7750e0bbf7622810ce25fef324e0e8b9a32ee6dc07c861042679ccc9b1ffb294d51b214e0f80056073a83735882612bc129a39f7799e094c9a8144c690821741a9239bf1f6b019da9096c92221a8c348e7fccc6b051a74c65c5615c4368ac4edfbf1afc7bc7aa98ae9d372104470fc0e095f8e2c69dc68664b298ed5e0936984dcbe715ff48101a13ad568b7b1784c6c46030701ca7d56af10f07c521cb32c3306ab57adc816c946b90c70f61317fabe14716a15399288aff7f7bf7ffdcc67de777fcbd0b9004c9dd35d5d432b180e4f82c99842ccf885122ca6a13e7ea40ca45897cbd149d5cda5ea7f15c5bc7cddc792e397ba67f80d38ed33677bd7c69726ea6d39bb9195d3c76228c234bb68fa2e3d49ed09463392244d83939e4121063475e2c16fc02ecf68705408004bf89924c89cfc72fde2f9f6ff850965efbd9c57276763612893015c01a45a3d1a9a9a962b1c8f22456a0284a381cbef5d65bd79ebd963bb8caf72e5738b834995d8b87cc005c156d6d6daeeb767474dc8883e72f16a6e283fab7d6344de6012b5055555555cbb2560e5e6b4c69ea1aebaceb3880cda6bbbbbbc463d700702d43fc7a43d4a2236bfade6563e5966b6624336093330ce3e2c58ba552e946bc7dc9e2105301dca0696c852a4b0faaeb6a5d786e0cb83185c3e1eddbb7e77239fe510780eb13d4d61bb1d4abdb1c890dd8b4745d6f6f6fcfe7f3c43200f84052d7ca3149bdb2fe845b96c00da8b7b7d7f3bc8b172fcecccc301b0070d553da7aef57360aaf31062e7761add4f09300363f55554dd32c140a96657576764622918e8e8e8e8e0e555537f3b059d8632a3ea87f5f9904ac3d8a6d248d3565b2555f63711ddeda0fe0fad075bdababcbb66dc7712e5fbeacaaeaececec661ef0f8f8383f35a6e2fabbebaebb98045c8764dffa9db1aba62e92197073088542dbb66ddbb66d1b5301001f781a0ba857d6042bba000000571c93d6fa7e3259c362186b660000002bc4ac75150b6f3072f18c3f0000d8e251ec8ad7c6d694c9ea95d7b212d6d807f90c00006ca94c76558a6df45d1841015555592d0300005b2d8dd553d0c6435b78edbd2e97cc1445098542535353b3b3b3954aa565191e3b030000376ef65a2eff046f79bc2abfdf287c05636a0c58413c6c6b6b13915028e479deaa8d90cf0000c08d98c3165155351c0eb7b5b52d5d2abb829b87e18d8c3248578aa284c3e120995d59de22a50100804d9ec05ad65255b531906de439aef0c63f40f03d8060058f74050000b65492bb5a8fd487afd698785d190000d88299ec6a095fa3c111ce000000516cdd99ecaaaf722d1a2e110d000010c2566839bce8c4350a4f4b3f0c290d00006ca904b67247e196a7af43605ae10313d70000c0cd11bcd6de7b78e5a21f483cdaf83491ea00002051dd58c30eafa5f20d1771f82d4f0000e0c64a26e17535c4fa130000c0558c6275ea7a9be6778d031011991c39513794b183837666e8c4c864e3460b7666a85e61c999656bad4bada1358d678323b96a8306703345b12bc84be12beeacbecde219b0d5d899a133e3c6602ab5534444de79f9f89921f9c47d7d86aa2aa28644a467ef9194522ecd955b5d0aaa8ad2fa7ab05e7da36a0dd587b1de96d751feaa0d1ac08d9ec336d842f8ea0e827c066c0193e3e34a2239182d954a2222121d4c264e9f1a9fecdb7f4badc8e57327cf38bb3ebb3f262232397262744a4444dffd89fbfa8ce66827f56393237f9fb1457e7ec21bf8ecfed842ade840b59da631b43a5b3ba8474d45948561f4e69a5a6eeabf204bfb58cb4896f4b5eca80090c3ae57265b61704434e0668c64f9292396e89c2b7bd503e5b9cefec329a55c9abb5c2bb3b07864678646d56049ed9d978f8f66a2f7c56af9e54c2e9e4cddadcdcecc7b2222b7df9b9c397daa90481d8896e62e8e8c1613c9d4de1e79e7e5e34319bd31cb894cd6ce5e3e77f2d4c8646c7facf1a05c7cf9f8ab125b184653cb6569ea7f6f8f48632b6b1b498bbe1a0fb61a330042d8cad46b3df4a5f8890237b6b0aa189ae6351ef2e66782b053ff9fbcb661e7f3ce8e58b4542a954ad1c1d491bd3d228aa24cbd967eab2779a4bfb3540d6422529e9bf71545bcd25c59262fe576f4f777964aa55234b6c3c9e79b9e3f9bbc94bb251eed2c954a9dfdfd3b729726ab076b55ccfe3db734fc6ae0a696eb6ebf377524285eead40c25d47085baea485af6b5f29801dc78f1eb3a6798f007f221d7528c35366093d274a350b82cb7ad691148551443eb2e57a34ea99a896c259ed027deb974e7eed68dd825477c3f486be56ecd50fca6ebc7b022f6f9177f7cbeba6b74db22d254a55b97d5125179ae549e7c2d7d762ad88d45d73e12bb555fab8c19c0260a5b9bf482972903b03e86a6db997c61f72dcd4f8639bb3e5b7d9eac7e31196cd8b6ad285ac3ffdc22462cda6fcae9572ff436dddfabd7daa6ebe2d4fe16b06d5bf4c517a8f1c1d4bd3b6b5770e5d9997969acf27ea120126d1ec6e2bf5626474e8c2a1f4ba5fe6970efd26e3abbf248b6b5ea6bf53103c08ad7b04c0180f5f1e2fd09e5c29985f73f4c8e9c1957127b6e6f19e06231c3ca4dd6925bedad119e37dfdd7f309e1b6dfd520c2f6ec62733c1b9c99c65c4624deb6971333ef1cbb3f952a954cabe74fc27afbfeb2daa329e59f5bea1ed16251e8b954aa55269de132914d63e92967dad3266005845982900b04ee5eefec329e367c74f9c18ad06af44f2707fe7c293618d9946eb3f3cf8eadf0545f5443279bbbc17dc73f4e63bfb0fc64f9f1ad1ea5f51346231e385e0db8eb71f18b49e3a73625c446283ffa25f6b6abc1c5b386b2492077b64de9372ec40d23975eac4b8881e8b1be22f8e862f347defb267cf60e2f9534f9f1011d1cd9861171c11a345f9562369d957e3a8968e190056a13cf78b4bbe2ff7de11612e00ace782aebdb3adf6562ebf5cfdeea4da16e908de0756db682a1a9453db22ed323733ef3594af36a4b6453ac24a65be34575ea815ec2ed77dbdef7a7511bf529190944b735ebdfdc696a5b97443f9856e561dc992beca8da36a39660068adbdbd7d7a7aba9ac90e7eb88319010000b8fe3a3a3aa6a7a7799e0c0000e08347260300002093010000804c060000402603000000990c0000804c060000003219000000990c00000064320000003219000000c864000000643200000090c9000000c864000000209301000090c90000004026030000209301d884ac91f488d5b0936ede5dd81111113b33141c5abab1f1de57666786d28dd6d9e9a28fb6ecb186be8632f6b59ffcf406660fc04d23cc1400b8a5c778ab688b18226217dd783c6e37ec1a3db73495eed97b24a596ddd9b21a5225a48a487de3ca2e0d436baeac86541123913cb2b747e4f2b993a746d3237274bfb9c69e761e4aed0a55e6dcd97253efd2aa7f3b97770cc3b0f339bbcf30aee595f1320300402603b0e5e851537e9eb3771b86d8b929d1fa357b6c61d7fca82ef6f9a15147935ccee91df8b8363eecec3e1a9d1acad82223e9c9a091917465e0e87e53ac91f4684e44a47720484b766668547ab56cb6e968b3a991f448ae7ed61a494f458fee37ab7507eeeb6b0a45de9cebba2291befef8f95727f29698a6d899a1e1ac139cd7767dfcbe3ec90c0d67b5815a2bc3596de06874eaf8682ee8a256bed78cb59c123b972b18b103a6bc3a96b5eefa882922c127d37a7b2597734444db35d09b1bcd3ab51e0d11691847ed989d191ace4aad56bde46a0300b0e5706d06403c4dd30bc5a28848b1a89851336a2ab5dd82ae699ea821d5c985f6a452a9433babab623b0f251386c40753a95475e3d04e116b64d44d2453a95432e18e0677e4d490ea64f33dc9542a951a8ce7b22dee064e3a3d8d7576ee88bb455b44a4e8aaf11d3dcb8c7abe4b33449ca22d76e66c564d547b10279bb5a46747dc905cde0a5a7124be63e7c292949d399b758c443295daa14c2e17c944d7a251d390a97cf5c6a21a1211c7ed39187c62273beaee69e8b19ab382710cc69decf08825d5b53dc7ed3958ad542db9ca000090c9006ccd50a61b8e638bd88ea36b5a59d3742b6789d88e1337635e50286e465d77e1be5f7976ce13f1cbaeeb563766cb62e57386d91b715d37d2d71fcfd5d28cc413fd11d775dd4ecd28b8c525fdc7fbfb1beb94cda83e95b345ac9c6346356fb961eb9a2e623b45e9d97b3895ec7b77f8f8f1e3af4c8848b1687b5ad434c429da2256ce1243eb2e3724ae7c4182719a667cb948163763652d6a1a62e51b9ef632cc68a7eb46ba751189c7a2c1671229166db17379a7daacdb1b8d8b2c7c7ec38c76562ba9ea1a0600600be2de250009ee5e668a6217a67433e1493966c62fbc6fdbce9468662dcbf85e79f5cb3c45ecb1177f3c568b225d7670e9e757e63d1111df175194c5b50cad6bde13116fbee28ba28a94bb75652c676b45c7ecd33c592e945db60b228661c8e5732787b38ec4065329f9d9f157264451c5d3a2a6313699b36f531c31cca82e52a88d525544c4f73c11af5b335a473223d65d164fd37491c9bc35609af569f044c45f9811df171151d4a0d9c68f2f4ed116a35ecbf3658d0300402603b045799aa65b96d52b8a1e2b8b48b95b93c9625114b34f976533514bf1c1d4bd3b6bcdcecfccccaffec545dbb645ba45c42e14447a838ca864b2f9952399a88a88e89a1e2c50259283bdae3be18b88ae1b520d6576b128b661ee5fae1ddbb645f4a5914c64ecefd3b570653586b295d5be8150fffcbfbdb4860faff3471000f72e018888783133ee64c71d331ac4033d6a3ae3e38eae69eb0b64667ce297a339d775ddecf0f1675f7f776db5ad9c1584a1293b6ec625c853ced48a372e45ac0b195be266cc0b16a8de7f77b62cd6d4a48814eccbd5460cebb5d72c63513b86691a625b965def7969248b0fa602c98421cdb72f978d63a669883df10f39d77573a3cf1e5ffef3af3c00005b13eb6400442458192b4ce85a753dc9d334bd5090fe9827e59532c88b23e9cac0e712d58da3fb771e18b49e1a4e6745c4487cea608fccaf2595c5957c3a3d2aa2f727936679b65ccd5305add5ea969d194a67aaf50653077add592f71203175fafc6b694b24168fcbc4845314316a2b6562469bdbf1b4fe0309ebf4f9e1f4b8198b8b4cb48864d15ed775454422bda671deb6f2d64074b55cabf527079d1fbe329c1e0f06f7f9bd3dad9709571c00802d4a79ee17977c5f0e7eb883b900b636b52d1269f3175ede15eee86a97daaeda1689a8e56067615b6d8b44dad4ca9c3baf543766cb12eee86a0f89546f5c7acbd56db834ece80a4925140a2d541111fbc299b77bfed9beede525636c58deaf348e2f3851a95442a1fa4bc8d4b648a44d6aad863bbadaaba76a159a8b2f34d570a47ea012ea6a0f5587b8b8a95a1ff54f5f1f5cc3e9864a2b0c00c096d3d1d1313d3dcd3a198080373fe3ce37ec9767dd72d3c9a5db0d5516ea36d55bbeee321d05792c33349c55faefdf536e5ea44bfff8e99bf80770f4e851fe14025b19eb6400369de6d5ad055d5d5d37f1a7aede2b05b0f5b04e0660935abc64476a01b0152e4799020000003219000000c864000000643200000090c9000000c864000000209301000090c900000040260300002093010000804c060000402603000000990c0000804c060000003219000000990c0000008b8499020057cece0c0d679d8603daae8fdfd767acada2b3fbe87e736d1dd49a5dd2df1abab446d2a3b9de81e5faaa37592b628da4477341bb03323a9c751aeb5a23e9d15cadc75a4969a80d00643200d79f1a52253e98ba776775ff9d978f9fcd443fb17a2a5343aa84565fa8b77379273e98ba373e3f3333ef89f4ec3d921a5045def9d9f15726aa1d7bd573cb7725b2425f6a4815310cc3768bb6882176d115c3306c5b426a8f40e37c10000009fd494441541937b263b9bc256690b7eca22b62c477f4887d7e6838ab2692a9bd3d2297cf9d3c353a94d1d6144701804c06e05af0cbaeeb56b73b75a36017459a97b4aa6b48766668d4d12497ab2d748da42bcdab4bf585a7a08635323c5e1079e5f8b3ef5697c2bcf919775e44ca7e53c70b7d2d2c9ad58ef59ab1c690d7a2a4888869c6c78281171d3b6ef6dbb62d229e16358d31db09d29a889d9bb2c5e88f6a9ef5f3ac23f1037d11d77545227dc9d45e59251b02c0cad7aa4c0180abc69e9cb40dc310116b64381f4fa652a9542a997047472c115143aa930beda91e34243e983ab4531a13d9a89b48a652a9d46068742863cbce43d56247f6f6acd0ab35329c75e283a9542a9950b3c343195bc4ce9ccd3a4622994aed5026572c590d969a66388e2d623b8ea1697ef5b0a7454d43eca95c50b0582c88614635cf2e16450cadab9ac1bcf919d7259001d810d6c9006cd0e4487a21f5c4063fdfafcfcc7b3b0fa57ec79b091691ba75b16bd77f7133eabaaec89c27e297ddd97243b4cae7e2fd0723aeeb4aaf197f652c67f7196a506c667e851c98c9e6c448f4f5baae1be9358df363f99c1d957c418cfede88eb9a665c2627962dd9575da6d334ddb68a22e2d8baa9d55b0f56cac68a451143ac9c15ac92c9a4638bc4345d841c06804c066073687c9e4c2a7341ce2acfbae58647e063bdd5f3be575e2e5b151df12bc15a53b95b33147f6debf86a481111af5c16114fd37491c96251d51511f13d4fc4ebd68c154ad69af135dd701cdb16c7d035df5f1cca72d64054f2b548e619862156c1be2cb7f1001900321980cda1f179b23a6b243daa7e2c95fa78f000bcbd7a333d862ef58464dbb6e8573096cb7641c4300cf11bc29e6dcbd2c6ea256b9dea9a6e5bc5a2d8baa94b411687b2bc75a7e604372ec5135dd345269de0c93900b81a789e0cc03560175d89c74cd7755d77ce132914564d655ecc8c4f5e089ef0b27296619a6b8b3b86691a62672e58527b06df8ceac141cbb245ac9cb552c986eca51b4e2ee718bad67c3f3278a6ccc967a7ec2092898817eb4f18628d571f48b33343e9747ac4e2070fe0cab14e06e01ae8d97320f1c2e967d22222ba19336ca7d8bc566598a6f162f3f72ecbe68141eba9e1745682c7d2b4b53d34ef69fdc9a472ead4683a3d2a622492c9bec8ccbcf41f4858a7cf0fa7c7cd585c6462f992f5b0a8474d191b93fe3e5dbca925a16c6c6caa76e35244a4dcd5974ccaa953c17045243e983ad0dbf47c1c00ac8bf2dc2f2ef9be1cfc7007730160ddd4b648442db78a226a5b24d2a68a8878958a84a4ecce7a8d8583f3b5c7cf6a57891d5ded219185c7d2966b3fdcd1d51e5aa8dcd059fd8514b563954a25140a3536d85c526d8b44da647e66665e5a6c798ded2f7a13da425b0d23068075ebe8e8989e9e669d0cc00678f333eef267167f5bb2b170abf3529e75cb2bb79f4ea737f37c1c3d7a943f1400ae0c990cc08d24954a6de6e1b5f8b6030090c900dc7c083d006e567cef120000804c0600000032190000c066507d9ecc6ff84d22000000b8ce58270300002093010000804c060000402603000000990c0000804c060000003219000000990c00000064320000003219000000c864000000643200000090c9000000c864000000209301000090c900000040260300002093010000804c060000402603000000990c0000804c0600000032190000c066150efe73fffdf73317000000d7df4f7ffad3854c16894498110000800f4a3593799ec75c00000090c9000000c86464320000804d90c9dcf3236fba2d0a74ddbd3fb1c167cde64bef8fffeaf2ee3db7b731df0000002b66b2df7dcb3fd7dba240ee2b1ff9cc4f37d0c1ecfb97947bbef2d6f347bffc993fbac87c030000ac98c9fce50a8436765ff377bffae4ff7ce87021f786cffd51000080d53259352f3df7ed2f7ff5db2fb52c3a6bffe6c2c5a96ab5c8b6ddbbe3e186b3bff97576ea7229d8ded6fbe1f8adba8814a62726de9f1111f12bd9d75fb7aac7cb13e3e3bf9d298b8848e75df7ecea10090aff43eeb7e188de29a5c24c796917000000377926f3fdda3a99ef2f6c3728fc6672df9ffc20f3d8b1eaeed4d97bcd43337befec1011294f66b33f78f99d6303d1e0ecd91ffd9743fff69b77c63ff4e73f187ae8c83d22a247f79df3fd374e7efb8b5ffdef6f9d6b7fd97a6f5f54171191a9df57769eddbd4bef0807850b53d9bcdcb62baa17f26ffed1a7be90e547040000b64e26abdf569cb1a7ce9d3b573f7ddb8e5d1fd2dbcbb3cec3df7de16bc7f6d58febd17de7fcb7523d03bf8c7dc879b7e785b7eb194b4464dfb147df7a2131f0c09fb5b7373dd6dfd6de6e4f7fec2dff6fa20bc7a24ffbef7de38b9f7df2f5dfd45ade153434f3dea50bdced0400005b2a93552ad5f473ecb1a7fdc7164e9ffcabfff0277f39143ff4c87f3cb64f44cebff0bd7ffee56f88ec7aeaccdfeed91efd8b17bfff4ffef04f1ff9fe77f6457511e77b0f7fe11bcf6777ddff677ffb577f1c1d38f6fd477ef8d5877effd5af7cf3bb0f1f29e4def8979f4cfd4aca8f7cff875191a9d11f991f794044befecce8a3c7f67df1cf1ffbf6171ea92fcf3dffbf1e7ef8bf3dcfcf0600006cb94cd6f27ea588b4b5857cdffffc17efd7450ab9735f7be8095f4464fc2f7ef8f2771e3a1c1df8e8a7fcddf77ff47744e4dc73fff789d3e322327efa8997dff8dce17b7a3f7aff1ffadff97f4d7745a55a383a70acb147ed36f3ceda6e21f7c613df38edf3930100005b3093552ad514f493bffce3fff4cd171715f2c5171127f7ce9b954a484444de7a75acf0d0615dc4af54bfb1f9cef9572a954a507eecd7f9c3f7f48a2f954aa596b57caf52a948ebaf77ead1e81d954ad04bad240000c0d6cb64f5ef5dfae22d7d6785aaaa22a2dd666effad337d4b9748e51fefb943171151544f54451111f38e8433f342577ba832e7de11dd2e228a1af23ccf0b9296ef973dcf936ae1b33f7ae2737ffaad3691f7a7adf79cd90eed1f99b7deb2b796d73cde9a010000b666265bb891e8b7b88ff9f4dfbdf46f0eefd5a3fbbefbbf1f1978e03191bb9ffad79f14914b6fbef19c7f61e08d8b7b6fbb7bdfb1871e79f2ff3cf6cc9b773ff0f54f0e4445e48d978efb7e75f14b8f6ed77ff5ab49edfd97aa85ffd5fe07bef68cc833af59c706a2f973a70e7eeedfd7bbf397bb930a0000707367b28677c6b678b7ebd8c9c77ff6e61f24efdebeefd8a3beff68edf0a5fffc99073d91c71ffc1f7f70f17bdb457ff4e9730be7de3cf5e0d74f8a881a0eba883eedfbb9d79f1d3c16148e3ebd90bb9ca7bef95fbd8611b04e060000b66c2653d4603fa4b44c445ffaf4fec38f3df9d70f27ab31ead29b0fecfff485eac99fecdfb1e3c96747927bb707fb6f9efad6a7bff478f5dce35f3af589ea293514f6bc9fecdff1e0c8afff7a7b2d907debc1071e7fee828884c2211151d4654600000070f3529efbc525df977ff77bfb980b000080ebefedb7df9e9e9e5efc8c3f000000ae3f3219000000990c00000064320000804d94c9eeb8e30ee6020000e083f2ff011a904eafd37001040000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Screenshot of the TodoMVC app with jQuery Mobile}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This implementation makes use of Grunt-BBB as well as Handlebars.js. Additional utilities useful for mobile applications will be provided, which can be easily combined and extended. (see the {\i Backbone Boilerplate & Grunt-BBB} and {\i Backbone Extensions} chapters)\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d4948445200000191000002f90802000000fe0c8eaa000020004944415478daecbd7b9c635599effdaceea6b90a8da28ec2d1567bc7344c54d0e36b320a22c31977263396f31a459d770a74d841d019932efaa858234e8ec2813a0930c3255187ae161866e2605a8bec39c3c5cb68822220864bcc2ea087a669a5a1baaaabbbaa72dbebfd63e7b293bd73ad2495a47edf4f7fb46a67edb556762a3fd6b3927cc338e7d41a3b77eebceebaeb080000d68e0db804000064160000f4844d3deaf7c73ffbc5eca377b3d2af9cf8e9db3ffae1f3dfc7361d8b8b0e0018b8cc521ebeebaf3f374e3c473ccfd565ae2eeebefd8edb9fdcadddaaf20d0b4b27eeb8ea063c0000806e66d67df73ff0f4534f6a3f9f71c61937dd7493f6f3f633cfbaf08f2f68d679962fc45435afe6b38542e69317bd8788b89ad36e8bde737f37e62f7b98df9a8e7b857ab73ac3528c87c4aa3c0d3a2c3e0aa4e3d6a9ea93650f8b8e951a2b4187c5972022227bc06c84c643b735e78ebb6af13f20418725e2ee5dff000c4e663dfdd4939fbbfc72e3f15b6fb9a571663146c47399c3fbf63c7040cd2fe7f319cafd8c789e95cac5f9cc6937dc781d11bdf6756f78e39bce3aff8fcee9cd13d86e4ffa838aa80f88295f82c84e44e298e48cce12156f93a361692c54ce2b5b8cf3527c0565f28a43fb200bde38f7e26f1da0366c04e754c8befcc307f75e74d9fd9c678838a979a20211275289ab9c678867495d22f5a55bfff5595d6675199b8d22338ab7b2988a8625490a278988b659ede1a81c12c5aac85282e33e9b7e712678b142016040e8e5eb86f94c3e47446aee77dfcbedff6e66ffed997ddfce3c1fceedbb2dbbefe6ccb3d7afcc5e7b30fee9eb6f7de88a4b3e5655cd51c26761cc2317973cac8876407fd0114c555540c69644d689499b6f4a2e37f227031363a53072b9ede1a85c59658944a4cc4412da4f2d305b9e8952be0375a75b3db162dbf221435766f748f6304730581cc3ac65f508a43b4ba9b974c1d241d9c31c41b978dc23573aabf46fe8ae7ab4aa1e4a67991e04a0f799b57878e1a3977d4fff6ff1f00211edaca6769d45f4fde8773f79859cfdfd0c6d38818ed9b269f3ab371ef79a0dc79ec4376d5637f002650a2c4744c299e7eace13433c26913d90e63c2412c91ead46e39ca7034967e939563a384d9170f97964d2b2d8e798540a266526426e5765d124b8dcf6644ad147161191ddbaada5ab97f0f9699a739e0e906f5c1b510c71ce39e73129ec0f2a95cd24eda86e634d093a9c142b1f327655ef1e257ca9316d8444318b654f798418f91ba583e9a5d38d1e93c24e364ed3d5fdd762b88fe697a2ce41007a5f1beebeee42e3c1a6ef89e7ec64c636105f2635cb798eb32c5186e7e7734bbf57d5a57c662177e8b97f7ee49c2fee3cb76e174a2a49d2a4582cd026255f74968852497b605a2c1ff3d76d59ca267122e01f0f2aa27776ca679be402c9fad0a2f119c5eb4a25edd689f25338a53bbbd1665960da2bd48ca8ad14b55b4babb6c9786d6791710bb9d371b17e5754ef1ed9031362318ac99f5248a4549212610bf3693d496375e7ae985d3afde8e2984449ab16ea95fecbaf46945ecea8b98ff52e85f941007abcce5a5a5a36fe6b6543cb3dfe9dec8bbbb9bac8f961e20b6a7e8eb22f536e91515ecd2d65327344b4fdec8bfa712f05979b223372d09f2c3edf0d37e9d65ffa82b1559454b26af1c4793a606fb44023b22752b38dba6a0f495b90d5ace5ba74f5bc717dd74deea3e9fc3bbb5300f4733f8babb9f97fcfbef850eec55fe67ef7586effe3d97d4f2c3fffdb9517f6aebc7020f3c2413aba70dfc35bfee4c2864f30c16aa3725917f46bd59b60b5958a1625e80f3768a97fda4dda7c4e5f555da80badea9b04efa4147656ed4705cd232c11995148bf05369b4a6875a53213495412d050afd9ddd3f118e92b5843574dee51ed55f2b7527a995eba7631de47d3f9d73d08402f6bc3ed679e75cf3df7981e6f7ce25bdffe9e5da1ef571fdb4cb49988884e227a0dd19bcf7eff474c774bc624a7d3c27c528c87c4503ae0b0686f90b0078ab594188a49ccc9c244f64040a248718fc5a4a5bed789809dac66afff092eb7bd26cdc4104f5b4bbd69fd99d786b6d43863096d9d2316ab508b85f9c82e49f6f22a259662c5ca4dff5e3131944e392c2c12f86ddc6ad255d37ba49f6e3ae0b0948a43c3fbd1aa5a9a5cba3631b98f6697a2ee410056056bddeb008696aa37cbea0e76eb7d70a65df5f88db200b52168f6b4d4e3918767aa31391a6ef595500090592342e9f5fd5e6d74f766aae9809dc27fea4c165fbf0300b5210000609d0500006b9a59c637ca777fc5c8d87bc25df85f00006ac37eb8e4bb12378f78502c038075565f78c4c356dfc9bb43082c0090597da12b71d395e00300f48e4d0338a7ce5cf28f78d8ea630beb2c0090596dd3994bbe6beb2c09b105c0baccac3ebbe4b1ce020099b52afaec92c73a0b0064d6dad0994b1eeb2c0090596b87ce254f8525555d21354bbcb081e539cfa9d943bcb0bcf8bb5fec7aec13ff73e2abfab8112f24ff5b8888e8397acf7da4720a7a68ef0374de05b49568efa3f4b15f991fc43a0b0064162d1e5ef8ab9df7e98f689ae69ab7c5d7bcddb4d625bf61f3269ee594e3ea125797d442b640196e70c96beb2cf93e92a9984a5f7835ddf80a11d1f839f4a910a55e43f77c8cbef0acf9c17f98c33a0b00acb3fae892d7e2467d1b3d5ada2bdb5bba69fa014a33da3047df798efef854a257cc0ece619d05c0bacfac96ccf126895572c95381788678562d2c6f5097a9b05c76c96f30b8e41ff1b0b323fc9e0b683244f712fdedc76b7b55396ddbd2e420d659000c3803f93ef88e5cf2ef0e713a95b61ea26788e83574dea9959bce7b2b51e9e0fdb38d0ee27df000acdf75569f5df28f78d8d9b7f1e973e82e0fd121fac9a1ca4dff752afd4a2222fac9032433226e7610eb2c00868111f73a145f22fc5e718bbdc1c172f0c1eb00006ac37e00af0300c8ac61025e0700d6039b46e69e98be0f7e03a31d869ad1f420d65900609dd5ef7596b64a5afdff0200069621d883efc3fe3d0000eb2c00004066010090590000302c6c1ab1fbd3994b1e0080cc5a1b3a73c903009059aba2cf2ef92e217b98df9a8e7b850e6e05000c7366f5d9250f004066ad0d9db9e40100c3c228be6ea873c9e7f67f37b3fff6ccbe6f679e0fe7f6dd96dd7773e6d9eb5766af3d18fff4f5b73e74c5251fabaedd1c4139e8608c31e6914929fec81c41a5d8a47c88318f4c35071dc15455578af16732f4a37553fb3b0060f8d659fd74c99748f8fcee34e782ec614e960ca4391748f630e794ec0d89247b2c3e5b8cc7452225e8b03882e9b857a81c54820e0b51a0f93d933d96883bcde30291ec710415d13a55ea170030ccb561df5cf225ec8169af4044e2984449ab4ba0e2cffe944222a592244d6ac1227827255f74968852497b605a2c1ff337bf574a2a4989b085f9b45fa5317259ed61a703fbf3000c756db8b4b46cfcd7fcb4b24b5e5de4fc30f105353f47d99729b75876c993c125df77a4182f111249f0c6399fa671d486000c71667548472ef99610ac360a47b54c5182feb034261209565bc23725978e159b6eb3da1329cd312f47c366fdf86bb7b848f0c6d3017b32a5e08f1280e1ab0dfbec926f0d31940e382cdabb26ec81b4b6ff2486621273b230913d109028522e1db583244992793fa5e2508af1b12873864bbfa03c04a01170d10000501b020000320b0000905900006416000020b33aa0e64df300006416000020b3000000990500187636e11294814b1e0064d63001973c00c8ac3560205cf24ad06189b86197010099d5948170c90bde38f7e2cf0b0064560f814b1e80c107af1b56d3894b5e093a74ae3ed9c31cc1b45e035f6d7b973de5c6d56da0fb0360ddaeb3faeb9217bc93128bca21512422391a9626b9857419566d7f8f8f494eadb11c4dda2939a378bd82321321eb34fe1c0158bfb5615f5df2a23e87021321dd4da6f6f7644a2171369a744fba23fe19c5eb9a89907b1adbf500acd7cc6ac91c6f925825973c1588678867d5c2f20675990acb6597fc067397bc3811f08f07956de44f9a648f14e3219dcb799b9bc667146b2ae99e08b9c83f35ab10220b80f5beceea28b38a2e79224e4ca57c9ee7b3bc90e75ccde732f9cc113a6ee1be5f6df9cb2f99b8e405979bc6a7a6c83619afce1ec16a239f3f382156def520b8dc343eee27f7b44082cb9d9c9a22724f20b20058a799b5362e79c1e5269fcf160b199660b5f6f79028b8dce48b682b2bc1e54efa22ee34220b809618711f3c5cf2008c1878af03000099050000c82c000040660100905923015cf20020b300000099050040660100c00082cfee7407b8e40140660d1370c90380cc5a0306c2254fb287f9ad70c90380cc6aca40b8e47b9e6bc84480cc5af7c0250f407fc0eb86dda313977c71d9a3f3c597982d5ae48d567929267b98334c099fa5ac9877783c8ef22f86de1a9c0b00d659434e7f5df244446288f350b1642bc901133ebf3bcdb9a0041d96f1a02bee9d9df2d9623c5ed20df21855ea3b992891b4a6391788886a7b2b7ed5222fcb08abce05009935fcf4d525afc58b334c4444f640f1903d30ed1548fb7e0c5f7496689bd51e763aea268ddded12cc7b53662209a9d69e0a006ac391616969d9f8aff9696597bcbac8f961e20b6a7e8eb22f536eb1ec92275397bc12743829c639e7e980ddd8af924a1291f625af7c9ac659e392ae496f0020b34031b38a2ef9dc8bbfccfdeeb1dcfec7b3fb9e587efeb72b2fec5d79e140e685837474e1be87b7fcc9850697fc6c2a61b76e2b2e88ca47139119854aaba4b1d24982379e0ed89329a5ee348cbd092eb73dec0f2a7888006ac311640d5cf2e244c06fb1301fd925a9b232b2db52e38c2588488a71b1aae293625c2012c624a7d3c27c528c871af72678e3b1142b0ae9a5180f89a2ee5c110f3a18b6f5415fb8f2ca2bd7d5b900801e81da100080fd2c00004066010000320b0080cc5af7c0250f00320b000090590080a102ef291d20aeba764ff96755e544b4e3b2f34f7bf529b8320020b30635b676fc79f9e71d5fffb9cf7fdf37779e77c61b5e8b2b03006ac3016529c78fe6d4c50c3ff1f8e33ef569c797ae796076ef7e5c1600905983082752555e2850a1a012d1bb2caf75bafef0eac07ffee6e967cc9a57047fac75859f1274944d8286eeaa6e903dcc233768bfcae10040660d7f66a9bca052a1c00b2a27a2a97f78fcd18757fee0f5db6eb9f3c775ceb007d25c73cf249dada596e08d73730d9738262552b395c88a86a531b1417b5add70007400f6b3060b9553aec055ce0b2abfec525b5e25b540af79d5c66b6e7cb25934586d14492924ae261db659ede1a81c12c5726485f09800acb3407d0a9c673285bba7afffcf7b2ffdb77fbbe207777de1772fbd92cd169a9f2947c3d2a4b69c3128e12b3e788f5c530256df24b8dcf67054d6afb2aadb5737d76a4732b6a95af0956faa99060058670d120dde0adf40d3acaa746d688fed03ef7bef3b4e3ef3d85fd1f37b266f9f7bdde5dfd6defa6046c2575163156558b582f91a977c05832a9e0497dbaeadd6cc5659b2a7dc5cf638824a7c4c726acb32399ab4537246f17a05652642d669b354ad370d0090596b4d53797cfdcce2f7bef2ea1bb6ffe3ab366da6f97d078f9e90cbfefe95b9256d4bde0c7b4073c42b410773a4b49f6b94f0f55cf266aa78c1e5a6f119c5eb4a25edd6899a884b2529112e46249134462eab3d9952489c8d26dd93ee887f46f1ba6622e49e16ea149e0d94f600a0361cc6da50e54bf30b37c6df48cfff825e7ef2ac3beebc51f9ece1232b5c559b9c29b8dcf6446ad64c09dfa24bbe125a911979264295afc5d021c5caeeb590586cacc8d1a4db25badc949a55ea9dd8e6340040660d4966d11f9dce26effdcc0b8fcfff70cfdb0ea68ff96fa751a1c09b9fa9cc443415bcb960decc256fae8a175c6ef2397d26c923586d54d35e70b92932ee4fba5d02092e77323a952a9d58fbc689bad300009935d4ebac1d177df0bc2de9731f0c78d25fdcbe75dfa73fb0fdf8e38fa50df51ea984cfc21863cc12716b55973811209f8531369eb269ebacd29ebcc5679bacaacb046f3c662b9e5f59fb082eb75dffe56315c450bad877f904c1e5a64431a604973b194ed65965359806006d80fdacc14255f9d6d79f70e3e79d7373478e1cc9a89c1f77dce6534e3971d346d3cc2aedb61b6a306fd5819a5662888b8d7aa8ed40d7ded077d591aa5bf5a3d8ac82711a0020b3869cb9c5b9dbefbc6f69b990cf1572b97c3657c817f846c696b3b9d34f3f7658ef951c0d1b76f30140668d02b77ee39291ba3f4ad061f125c81e4887500a02641618788c852400ab067bf000006416000020b30000009905001826b007df65e074070099356cb105a73b00a80d870b38dd0140660d0d5d75ba973e696c6655af3a9331c65af4ae9b7f7ad9acd7ee79dc618507c8acc1cdac8e9dee9c87ea19f12a56f54ae28821eda49854eaa14b6aaa626fe900f9c6bb9433b0c2832e81fdaceed3b9d37dc010bc9392cf3fa378913500ebac51a673a77b5525a5d566297d4117486b06d284cfd2d09b5711afeb5a99f459a765e38ab1dcaed261b09e30deac2085151e609dd533d6c2e91e1249f6588ae67425e8b010054aed1813433c46ccdf50505c399d94a0c3e208a6e35ec1b44fd396fa40f387edeeb450aa43f58ef9ba1d5609e345e32c618507c8acded199d6bd73a77b312a52497b605aac5467ed0dafa492244d8a95ea2e3a4b44667d9ab6146a32b434af1ac7bc52afc36a613c19320b567880da70e06ac38e9dee8342f93581d24b0246c77c5daa85f146608507c8acc1cbac4e9deec567b5d596f04dc9a5eaacdde105ab8d4adf51a804fdda97149af669dad214a363be7e87d5c27858e101326b18d6591d3add8b6f8812433129ec648cb171724bb58dc531a9f11ebc184a0792ceb2245e5bed98f669dad2b44b8363be7e8735c2f85a608507ab84f7852bafbc729d9cfb956ba2cfbdb4a21c58fef5330b0f3ebcff073f7a36fae033ff1edf977872ee0b57dfce479274c0ae2f09cd8949cddb00d01cecc17799d174ba37449ef225ec816d4d1ac10a0fba0332abcb8c9ad3bd2e45d93b1155bdbc58b721acf0009905d6929665efb0c283ae823d780000320b00009059000080cc02000c13d883ef32f0c10380cc1ab6d8820f1e00d486c3057cf00020b38686367df0069f5e27eaf4ba8af75e38e36b6f933dcc23afd6f80e613c4066ad5966b5e583af685e384f5b537297d5e9bd70c68b635222355b89ac68581a13573b6d08e3416b603fabfbb4e7832f6b5e88481812f3fa36ab3d1c9543a2588eac101e768075d6d0d29e0f5e1c931235df6e53aebd648f265bafa9e94c45ec5545560bbef5d538e30597db5e126f155759d52563f51cb4da918c6daa2608613c4066ad9a9df569b4ce52e9dad09ee3def9bef7fee97fff9f7f99dff927911fddf9370b8797ebf8e0c5104fbb23963a4fd1842f35a6d57625c55e51c4ce399fa688c1085834b273ce798cfc75f7872a9df07420e92c45a449cfa62d0597bb68ecab4456fd3988635231e1e468d24e9119858894990859cd64109a30bef137a701d486c0947ef9e0056f9c7b95a0c3c23cb19a27aa3d3021169763e44f292452435b7c2b4676ea82335e70b9697c46f1ba52498362c6380797d59e4c2924ce4693ee4977c43fa3785d3311724f0b750a4f08e301d659fdac0d3bf3c10bdee940b9e25a0dcd8cec5d4170b9293223cf44c8ed129acd416bacc8d1a4db25badc949a55ea9d08613c4066ad4166b5e3839783a5024e998954b6e3eb8745435bbc8991bd4e27ab75c60b2e37f99c3e93e4319983e0725364dc9f74bb04125cee64742a553a11c27880cc1a8075561b3e78d19ab2940de9b1160aa226b6f8e646f652b3553ae30597db4e76b3c592c91c04979b12c598125cee643859679505613c68067cf043ec836f49c43e2c40180fe0835f0bfae9836f49c43e2c40180f5a0399d5657aef836f59c43e2c40180f905923cdc8f9d5218c07ed803d780000320b00009059000080cc02000c13d883ef32f0c10380cc1ab6d8820f1e00d486c3057cf00020b38686b67cf0bdf0b537690a7d3b406681aacc6ac707df0b5f7bed10d0b7831102fb59dda73d1f7c1f80be1d609d051ad09e0fbe51f1d5a9afbd46a90e7d3bc03a6b9dd0c0fbde40bbacf9e06d1f78df7bdf71f299c7fe8a9edf3379fbdceb2eff761d1fbc29450b7b5cd43e42ec08a6e35ea17250093a2c44817a2d67a74a878a859ccb6d8fa4141205b3555651df1e1788648f23a8c4c724a7b62c93a3493b256714af57506622649d369b69cd580020b3d688ce64f0d4890fdeb8c85a9dafdda05487be1da03604f56bc3ce7cf05dc4a85487be1d20b340fdcc6ac7076f1e3aabf7b5d728d5a16f07c82c507f9dd5860fde9cd5f9dacd94ead0b783d18071cefb30ccce9d3b3bde1e5aab733be3aa6bf75cfad90fe70bfce852766eeec891231995f3e38edb7cca2927de15d973d3d72e1e95bf1cd9c3a263f8d654d077b007df65fae9835fd3c882be1d20b34682defbe0d71ae8db01320b0c13d0b78335057bf000006416000020b30000009905001826b0076f029cee0020b3862db6e0740700b5e17001a73b00c8aca161009ceeb2c74c95a0041dad76dfa87fc34df0bb0364d67067d64038ddedf664b57081e4295fa22777187e773024603fcb9c0171badb6c149951bce52c91a3614992c2493c4000eb2c50c50038dd8988ac1393b6a2328b8894a03f1998185b5dfff5c47cf0bb03acb306836175ba1797566259ce4e4ad16f9ceaa4ff2ae3bbd8e0f382f0bb0364d6dad2993f6bed9deea572509c08f8c7838ae89d9df2d926b9407247fd571bdf1b00bf3b406d3894b5e19a3bddcb1455ee417f3230d1f9eaa7daf8de6838f8dd01326b28336b209ceea54594cd44e5de66ff7ef33732c0ef0e501b8eca3a6bc7451f5c9efe8f731f0cac64366ddfbaef13e774e2747758182322b207d2f1b2d39d395998c81e084814a9df52dfd344c04ed6da62adddfe4bc5a114e30dbe475af63067b8d40ee5211838e0833761dd38dd6bb20a7e778075d670b25e9cee559105bf3b40660d2da3ef74d703bf3b40668161027e773054e075430000320b00009059000080cc02000c13d88337013e78009059c3165bf0c10380da70b8800f1e0064d6d030003e78537496bf46a7967bee6088f2389deae1a19607c8ac35c8ac81f0c11bb3c0929a2c2965a669a6cbae185dc0ad460f0fb53ce825d8cf3267407cf0558935eeb3c5741f6216bcc8058075162832003ef86a2fbb321349d478b51a8ed2a89947361c92629a8326e1b368b7ebd65c26fdcb1ee608063d758a54a8e501d659ab60587df0b3d55e7685c86eddd6ea28a6cd6a95f04147f990560fc788f94b5265b959ff095f6a92f310c91ee69c92bd66121ba8e50132ab5d3a166fadbd0fdee8654fa4749af886a308a693a956c22ba948429a8c0b9ddc0b8188ec45d3b33826913fa59068ec096a7980dab07fb5e19afbe06bbcec82cb6d2f99943ba465257c8fee0200c8ac5e66d640f8e0755e76c13b29859d55fb6241b9a94bbe6a32554a78c1e5b6d793c437bb17f56a61a8e5016ac3355c67adb10fdee86517433c6d2d35d31a5273977cd564f44a78d11b8fa558f18814e321511c939c4e0bf35509e35becbf4e88412d0fbacd88fbe03b635dfae0bb08d4f200ebacfeb21e7df0dd8c2ca8e50132abbfac2f1f7c17815a1e20b3c03001b53ce83d78dd100080cc0200006416000020b30000c82c0000e80da3f6bae18f7ff68bd947ef66a55f39f1d3b77ff4c3e7bf8f6dc2fbaa0040660d1ecac377fdf5e7c689e788e7b9baccd5c5ddb7df71fb93bbb55b55be6161e9c41d57dd80071e00645637b9effe079e7eaa68043de38c336ebae926ede7ed679e75e11f5fd0ecec2c5f88a96a5ecd670b85cc272f7a0f117135a7dd16bde7fe3ede0fd953315201004637b39e7eeac9cf5d7eb9f1f8adb7dcd238b31823e2b9cce17d7b1e38a0e697f3f90ce57e463c5ffa6031cd674ebbe1c6eb88e8b5af7bc31bdf74d6f97f74ce1ae50be20c00d486449c5321fbf20f1fdc7bd165f7739e21e2a4e6890ada37e9105739cf10cf92ba44ea4bb7feebb3bacc02000c01a3f8ba613e93cf11919afbddf772fbbf9bd97f7b66dfb733cf8773fb6ecbeebb39f3ecf52bb3d71e8c7ffafa5b1fbae2928fe9563d7a1bba51652e7b982328170f7ae4caed2565545503a347aaf27d6245db7ae3e160520760d8d6598b8717fe6ae77dfa23bbafbb900c7ef71a4d0d27fa7ef4bb9fbc42cefe7e86369c401b366fe2594e39ae2e7175492d640b94e12c4744c299e7eace1343d53674a33d9d28e1f3bbd39c0bb28739593290e65ca8b6a1971a284187653ce8aaaafbc410e7a16249189c883719ce0a933a0043581b6a215543539716672733b681f832a959ce739c6589323c3f9f5bfabdaa2ee5330bb943cffdf323e77c71e7b975bb30dad38988ec8169af409a013d6975691e3ebd0dbdd4c0d4cb5e11e0d9034d8773c1a40ec0b0d5864b4bcbc67fcd4fe3dc3dfe9dec8bbbb9bac8f961e20b6a7e8eb22f536e91515ecd2d65327344b4fdec8b9a75b41a7bba924ad61c083a9c14e39cf374c0dec27030a903307499d5215ccdcdff7bf6c587722ffe32f7bbc772fb1fcfee7b62f9f9dfaebcb077e5850399170ed2d185fb1edef22717368c21a33dbd2512911985c8ecbb08675309ed9bbe949948a2d5e160520760686ac3ed679e75cf3df7981e6f7ce25bdffe9e5da1ef571fdb4cb49988884e227a0dd19bcf7eff47cc4ed5dbd08df6f456666db7a5c6194b68675485a23811f05b2ccc477649b2b730dc58142675004c810fbe5be0fd5600a0360400006416006078810fbe5b88218eb753018075160000ac9fccaa79d33c000099050000c82c000040660100861dbc6e58012e79009059c3045cf20020b3d680c170c9e3a33c0020b35a632d5cf29db19a5c43260264d6ba072e7900061fbc6e584d272ef9e2b2c7c4df3e5ba387af58dea5588d125ef63087c7e328ff62e8adc1b900609d35e4f4d7254f54ab7b17bd0299e8e167ab2defd54a78a244d29ae69a2dabb63725e8281be38de70280cc1a7efaed9237d1bd1bf4f0db1a5bdeed6e9760de9b321349489371e41300235a1bf6db25df44f75ed2c3b768796f2e8f0700990568152e7973ddbbb91ebeb9e5ddd89be072db3bf0d30380da7018580397bc89ee9d4cf4f0958a4fb3bc0b3a257ce3de046f3c96624561bc14e321b14a278fbf63b07e18711ffc90b8e40100a80d0100c82c00004066010000320b0080cc5a57c0250f00320b00005605bc0ebd65c7df7cfc98ec331b88883823ce0296c69300002000494441541811e7276c58f9ca2d295c1c0090596bcf87befaf9f2cfef7bf77b57e61fff3fa11f1257a9b048d997a8f00ae51727777e03170a0064d6a070f7d7aece5321cf0b276d38f1ea1f7c93d4e58b2efffacdbe6336f2b9cbbef1cadd13a733c671950040660d0a792a3c9fdd9f51b37f70cceb8911e55eb96507ff1739fbecf3cbc1cb32949957555c24003a047bf03dc82c5ec8a8998c9acdf12c23a2c221cacd3dbfffe06927e5796e997287ab3f2e257bca4ec0d651828e0eceea35ab9d554797a20bacd5b80099352899959ffccc1d0b4b4756d4152295f2472ebfbef0f93f7b4572fede774b9632f35da80c056f9c0f9ef0af1fb3ea73be20ce9059eb23b338f117f61e5c548f1cbf7923a94b777b4f3efdb8d34e2d9c7af7152750ee28ae3a00c8ac0122c7f39cf8c1830bb1ef3d965b5afcf295935ffec75f5e15feadf7d667afbe73f16b91634e38e1a4da736acdf146257cc507ef916bfefb5f7393d94a416eda7fa51b4730e83151d89b6a0aebcdaa6a508f5c6957ead77c56753baedc976a117e6db3d58e5b7d599a0e07905903c6cefa34382b4b394efcb9a75e3ac9bab170c144eec2bfdffaad5b2ed8155b747ee9eadd07be7ec781af866b9e2a099f9fa639e7e900f9c6b5e79118e29c73ce639226fb93a77cb69876a8da975552c59bdcd44eff247b2cc511a629122e3f85cb7dc7c8443a587756ba416352d8c9c6695a1b2de19b92ebcf8a9a8c2b86784c227b20ad8d67da6c35e3d65c96568603fd06af1b36a233f75686729cf819e79d5cb02c2f6c9c7be2fa0369f7c677d03b7efd509c2e313dc3608e170c4af87a2ef99654f12df4afa492f6c0b448a5567ed20e52225c540d12496344d5033532dc970615c7244a5a35d5bd3826913fa59028d49955f14e351bb76eb3d58d4ba65eff366705b0ce1a3a567846257e78c3d1978f993fb471a1c0d483c7bcfc325b6ce1d49239dea8846fd125df71ff75918aeb28d3555c7767d5fab86d376b6ddce6976535c30164d6a07284ada8c40f6d5a3cb0f9a5431be755e2f36cf1153a5aff0c8339de5c306fe6926f4915df42ff82d5562a9f94a0bf581b0a561b35f7d03737dcb738ab4a8fc671cd5ebf6b6d7a6d8c5be7b2af6e3880cc1a7816362eaba42ebeeae8a18d8b474e5ee6a41e6147e768a941ed664b8d33c698c5678b854422122702e4b330c6c653367be939cb8a4d26ab0a31c11b8fd97c96863bc32df44f622826859d8c31364e6ea9bcbd932e3634efbdeeac5ac1302bfdb652dd71c531a9bc29de6c7aed8e6b7659563d1ce836bc2f5c79e595ebe4dcf3afbae2d6ccbffdefdcaeabf2377fbef0bfffbf82ff23852f9fa77ef19c82e7ddd29ff135a0b48bdc3ae9805d5f040dc8ac867b5cd035b007df6532075e8afeddff5d2635cf55ce49259e678c939acd648edfb0b1f7e357f690b5fd977bf958db5d4cf912f6c0b6163ac777fe80fe83ccea323fffcebfaee9f86288577df11891bca7b50de9a0c3e24b94c3c8b4d233760e00320b743fc55a590c09de38f70edcac46665cd035b0070f004066010000320b0000b09fd55be08307009935d0c0070f00326bc8800f1e0064d630011f3c00bd037bf03dc8ac75eb83ef21701c0364560f336bbdfae0d7265f1067c82cb0eacc820f1e0064d6d030143e78dd49e5b34c5bea0732d7bd3b6a455750b6831e823df84634f0be37d02e977df0d6f34e3fb46122479b854f9c261cf3d6bb76df1fbce44b6667247c7e779a7341093a2ce34157dc2b943f8e2c7b983f38217a67a77cb6188f1b3f2b57f2c137d22b1bfb2fdadfe3a2d6812358d4239bcca4e53eb5e36288c788f94bbee5a2433d2e10c91e475011bdba73650f73b26420cdb940b28739a764af268a68348dea2b136f361cf4c7c8ac75436732781a0a1f3ca592244d8ac5ad319d16bda12bbde99c8d40d90e501b0e3e43e083ef6b4b28db01326bb019021fbc60b551385ada28f387cb5a74a32b7d9bd59e48cd6a0b9c68b8419f50b60364d69032043e781243e940d2a9f51871a7cb0b12634bc13b59f4c4b328498dfaacec3841d90e7a07e3bc1f9f23d9b97367c7db436b756e677ce8ab9ffff8df7de8f086c5c3ece8023bb240d9c3b434cf9617f932fbdc8bbf0afda0ef0fb1eca96c51f7bf654f270cd623d883ef3223e083070099b58e185a1f3c00c82c3010b46e40ef45cb9e4e18ac47b0070f004066010000320b00009059000064160000f406bc6e58e1c73ffbc5eca377b3d2af9cf8e9db3ffae1f3dfc7361d8b8b0300326be0501ebeebaf3f374e3c473ccfd565ae2eeebefd8edb9fdcadddaaf20d0b4b27eeb8ea065c28009059dde4befb1f78faa927b59fcf38e38c9b6eba49fb79fb99675df8c717343b3bcb1762aa9a57f3d94221f3c98bde43445ccd69b745efb9bf1b13c46753004066e978faa9273f77f9e5c6e3b7de724be3cc628c88e73287f7ed79e0809a5fcee73394fb19f13c2b958bf399d36eb8f13a227aedebdef0c6379d75fe1f9d8318020099b566704e85eccb3f7c70ef4597ddcf798688939a272a10712295b8ca79867896d425525fbaf55f9fd5651600a04fe075c36af2997c8e88d4dcefbe97dbffddccfedb33fbbe9d793e9cdb775b76dfcd9967af5f99bdf660fcd3d7dffad015977c4cb7c8aaa724d7d95094b2e05cf7adf7262de1330760fdadb3160f2ffcd5cefbf447765f772119fcee359a1a4ef4fde8773f79859cfdfd0c6d3881366cdec4b39c725c5de2ea925ac81628c3598e888433cfd59d6734a01b55eb95834ad061210a509d9675bdef008091ae0db590aaa1a94b8bb39319db407c99d42ce739ceb244199e9fcf2dfd5e5597f29985dca1e7fef99173beb8f3dcba5d2866aa754a25ed81e9b243cfe7afdbb29ef71d0030c2b5e1d2d2b2f15ff3d338778f7f27fbe26eae2e727e98f8829a9fa3eccb945b649457734b99cc1c116d3ffba21e4ebd3bde77009059eb01aee6e6ff3dfbe243b9177f99fbdd63b9fd8f67f73db1fcfc6f575ed8bbf2c281cc0b07e9e8c27d0f6ff9930b1b166ea6aa75c16a4bf8a6e4d2b1062d4bc155eb7d07008c6a6db8fdccb3eeb9e71ed3e38d4f7cebdbdfb32bf4fdea639b89361311d14944af217af3d9efff88d9a9e298e4745a984f8af190184a071c16ed0d12f6403a5ef4afc724e66461227b202051443bcba465c5332ac538ca43006a810f1e0080da1000009059000080cc020020b300000099d5676ade340f0040660100407bc0ebd05b76fccdc78fc93eb381888833e28c11717ec28695afdc92c2c5010099b5f67ce8ab9f2ffffcbe77bf7765fef1ff13fa2171950a8b947d890aaf507e7172e73770a10040660d0a777fedea3c15f2bc70d28613affec137495dbee8f2afdfec3b66239fbbec1bafdc3d713a631c57090064d6a090a7c2f3d9fd1935fb07c7bc9e1851ee955b76f07f91b3cf3ebf1cbc2c43997955c54502a043b007df83cce2858c9ac9a8d91ccf32222a1ca2dcdcf3fb0f9e76529ee7962977b89d8f4bc91ee6082a9a0ad011546a6faba1b645e33e5bb94df6308f6c3afa5ad3e85ef48f465766306688cc022d64567ef233772c2c1d5951578854ca1fb9fcfac2e7ffec15c9f97bdf2d59cacc7752190ade382f39054bcf0431c439e79cc724b207d29c73be7aeb9638262552b395a75d342c8d89bad187225f7a3d9caeffd55e1980cc1a8ccce2c45fd87b70513d72fce68da42edded3df9f4e34e3bb570eadd579c40b9a3037dd5b759ed25414e39b20040668d32399ee7c40f1e5c887defb1dcd2e297af9cfcf23ffef2aaf06fbdb73e7bf59d8b5f8b1c73c2092719ea0b7329bc4e1e2f7b98239036b8e7eb162c9d0ae90597bb1c5a95c8d2ad2caa67abd58e646c5319b8812f5ffb5df63047502e1e2c56a255a56e5503e30aaa52231767d47838b34593a1f3ea3e8bcd3c1e0763a2b3aaffcabd369c0290597d67677d1a9c95a51c27fedc532f9d64dd58b8602277e1df6ffdd62d17ec8a2d3abf74f5ee035fbfe3c057c34ad573c61271a7b5228ffc41a5ec89e79c4f5324ac6bca98182a578221b16ee5523a9da70349a7f68c32edd3b4a5e07217758366abacdad98a635231e1e468d24e9119858894990859b795cbcdea391bef2f11257c7e9ae69cc7a4b0938dd3b456f2963c89ba06e900f9c66b52ab522387fd41a595e16a30e9bcbacf62b3a4759a733956e721303b05741fbc6ed888cedc5b19ca71e2679c7772c1b2bcb071ee89eb0fa4dd1bdf41eff8f54371bac4b8264a252911b6309ff6ab34468a993cbe755629a4174870b9697c46f1ba5249bb75a2d96c5d567b32a590381b4dba27dd11ff8ce275cd44c83d2dd49f5e750f4444f6c0b457d0b6d328697509c5ad35f2a71412055d03dd3cab964a4551a23dd07c38e3c4cc3a37e9d3ee76094db6b9ea4d03609d35c8acf08c4afcf086a32f1f337f68e34281a9078f79f965b658ff0c495beb70de60f5d44704979b2233f24c844c9fa4d5b3d51a2b7234e976892e37a566957a2776e5fe2aa9a4a11076524c5b2bda57395ca9f3e67d9ad5e3ed9e02905903c211b6a2123fb469f1c0e6970e6d9c5789cfb3c557e8689d80b0daa8ba963095c7b79138ab17d20b2e37f99c3e93e431ce560bad717fd2ed124870b993d1a954e944b3d7ef4c7a6885845675923213495417acb3a984ddbaad78530b97b795ce1bf7694a07a70064d680b0b071592575f155470f6d5c3c72f23227f5083b3a474b759a8ba174807c16ddf6ad188a496127638c8d935b32b41f931aefc18ba17420e9648c316689b8d3a1b290ded0a769cb620ed9cd4b21e36c4970b929518c29c1e54e86938613f57336e9a105ecb6d438638c597cb658cd36d244b1bbf194cdded97086ce4dfa6cf610343905740df8e0bb7cee87befaf98fffdd870e6f583ccc8e2eb0230b943d4c4bf36c79912fb3cfbdf8abd00ff037d73eb2a7f295b7c3d539e83ed883ef3299032f45ffeeff2e939ae72ae7a412cf33c649cd6632c76fd888eb3300f1e7d495dbd2bd7c0c170599b5aef9f977fe1517618011439c87aa536c0fae0a320b806e078d389c9d83ee833d780000320b00009059000080fdacde021f3c00c8ac81063e7800905943067cf00020b38609f8e001e81dd883ef4166adc607df8979bdae4ab817c2f81e03873a4066ad4166adc207df55bf782f84f16b972f883380ccea59660db10f1e0064d67aa34d1f7c8daebcbc9a903dcc110c7a6a6bba8ad63d68b2ee68e23e37366b5f185f59f50cb2e51d8c2cd8836f4403ef7b034d4dd9076f3deff4431b2672b459f8c469c2316fbd6bf7fdc14bbe64a878a67cb6188f9b7ee42de14b4d721e22d9c39c53b23724960cee719194a0c34214a8799a5b22ee348f0b44b2c7115444f34ab0d209294187c5114cc7bd8269cfa62dcb75678c2a1617e3d04494f0f9dd69ce05d9c39c2c1948732ee8ee8bae81127458c683aeaacab5f46966d9c3fcc18978b3e1a092416681fef8e0b759ed61a7c35ce0640f4c68c2be92199d1aaae25b729f7741185fa7cf41b3bc03d486a035daf3c10bde38e7d334dea522670dd5f2036b7907c82cd090f67cf0a5e04a078adfd0d588c6aaf81655ebab15c60f8be51d20b3406bb4e7832f6d355b7cb6c9e69b324d54f1ada9d6bb208ca7629937c89677309ac007dfe573fbe78357820e4b6a7288eb2288d84127600fbecbf4cd072f4ff912f6c0365c7180cc02aba1c73e7825e8b0f88afb3b528c638d02905960a011bc71ee1d91fb02113be804ecc103009059000080cc020000ec67f516f8e00140660d34f0c10380cc1a32e083070099354cc0070f40efc01e7c0f326b353ef826b4e517d6ebe007dc4a3c18dee446327e989d9159a39c596df9e07bfa64286ae0d301f28d776b9011d3c0ebfaefaa8c1f20b38629b306cd072f7827a592f705006416a8a21d1f7c03cd7907a6f6961ce9d59ef59afe758e79f3ce065c036fdeb9e12ecb1ee6f0781c8c89ceaafe2b6b2e93ab04905983cfcefa3438abec833fc9bab170c144eec2bfdffaad5b2ed8155b747ee9eadd07be7ec781af86cb4f543154fe22af9058f6af6be55cd259fa328bd2c1698a84cb4f4e634b4d2d6f66ee5482feb0dd5d941b97bf40ac68cdabd77fc49dd61a92ceae679cb0b159c2e7a7696d04271ba7696db4925250d7c0ac64ad9e5e2bc3d560d2b9e12e135122699de65c8e55f55f6f1a782a0c1078ddb011fdf0c15745cbea4ced266af984af284dd749206a3ceb4abdfe5b54cb0f9a06deac73933e4b11de60395a6f1a00ebac11a33d1f7c5777ad0c6af9e21e7c6515d1dcb35ea645e1fac06ae04b9db771975b9f0640668d101df8e04ba1b34a537b31b81aa9e58d9ef5fafd571745c3a2813774deb8cf16af1240668d30edf9e00d9af3ce4dedada8e5cd3cebf5faaf235c1f700dbca173933eeb5dff06d30083027cf05d3eb77f3ef85ed00fc77c4f35f070cc8f3ed883ef327df3c1f7e4193f648ef9ca3e39111149f7f231fc0522b3407bf4d807dfabc5d5703ae6c510e7a1ea14db833f4164161875faec98efa9061e8ef9d1077bf000006416000020b3000000fb59bd053e78009059030d7cf00020b3860cf8e00140660d13f0c103d03bb007df83cc1a141ffc2acc758dcce8edb4314ea7bd8994efafde6ddfb80ffd2935d3abea6438edee10e723b37a925983e183af0855384f5b5372d3b15a31a3afc29eae04fd49494a76acd02b7975d281a4b363796859ced3aef8bd838709e27c64d6f064d640f8e0cb42152212bcdeb57e7fb8321321f7c4849b56eba517ac36aaebda01a80d41db0c8a0f5e1c93127a7571ed580dcdebe5ffa856fa9462f5da188636d1b62b331172bb04c1a50f2dd9a339e86b8a35d3fb5bf9ef7d342c69ae1dfd041aac32644f837ab2e10567954bd5dc82eff138747d409cdf33785fb8f2ca2b87f1dc06d43bebfcabae7874e909c7c73c175d73d5d5f15bfe765770c7ae9b6f5bfe9707f20f7ff69fae313ba3e4232ffe5c1271a603f6e2f1cac174c04e8683959631496ff1e43acd66e9b07e2ce3046a6662daa7591bdd5c2bad6a66920ed8cbdf5b66afbabfc596953b54f7fe9628776d3a999a1fd201bbfeeed7f4d2e482571f348ec5794c2a5d26e3956d7e8afece156faebe0e860b6c7c041b3e7c95e18c0f3ad57bf4aafbd47564da7fa369f404acb3ea725d431a9c58e583dffef24f661eb957bdff417ae8d70fc59b954fa92495bc9d8277524aa4668bbef689b2afbd414bcd075ff51f64c11bd73680ccfe2b58fc4fa45ee762c0a44fb3aa2f215559060d67155759444482cb4d95afb3a0d27d13c724ade233bdbf55fb59567fcb1b3791f18a3bb1663f2b24d6bfe0c683b50f53a2681e74864b373714ccd7394527ce2f7fc548e93ae81b984ea3c1c3673e9c616bcfd8b9499f2d88f39bfe15a1361c7006c9075f3c3e1db0974cccc61dfa86caf37a7db6371379ca97283d8798c597a0dad9b475375d6e7b9da7612d09a2569bb64907167c88f3915983caa0f8e0e56079b3692652d98eafdda16f4179dec4312fb8dc76134dbb6e26d17055b990364668d54530dedfda659d36f56dd67222c951b3ffcedbddd3f118d55f27d6bbe075aeadfeacfa2f7f429c8fcc1a3606c5072f5a53e5958d2d16f70a55633531afd7eef4961cf3666d48f0c663b6d232aab845ab3b4b8e86ab0b0cc1e56e105aa6f797a85cec5822eea23d59f04e165bb2284975bb4bbb2316e608a6cd6f34bbe06607dbb7e0439cdf13e083ef32c3ed83070304c4f9e6e0b33b5d66a87df06074e36f74c4f9c8ac2e33843e7830f28c94381f9905c0c0060dc4f926600f1e0080cc02000064160000603fab3970ba0380cc1a68e0740700993564c0e90e00326b9880d31d80c1047bf075326b709cee030794e40099358899d596d31df9d29fe10645490e905983985903e174070020b35aa11da73bc99eb29f43b71050828ee6666ec36d267af2a6e2f07a4340490e905943c8cefa34382b4b394efcb9a75e3ac9bab170c144eec2bfdffaad5b2ed8155b747ee9eadd07be7ec781af862b4f60714c2adaa0e468d25efc8a06652642d66d44b2c712711785da54ad6153828ef26dbc68c0b2f86cb1f23762959fc8099f9fa639e73129ec64e334ad09b84b6abc7a4388a1b29c3b24d669d6b8675d837480f45f88511aa0e8020ffb834a2bc3d560d279759fc56649eb34e772acaaff7ad3c0937ac419f1d70d3b96675539dd37ce3d71fd81b47be33be81dbf7e284e97185a6fb3da932985c4d968d23de98ef86714af6b2642ee698194992425c216e6d35a4a3a0788a6518febb664945492a4c98a89dc179d2512a85a1c9eb456c4e1fe944222a50c43986df32829b39934ec593f74d57caa57725a3fcd8733cecaac73933e5b5092d79b06c03a6b9dd09ed3bdf805587234e976892e37a56675dfd9b03a11788bb4380494e4009935a2b4e974175c6e8a8cfb936e974082cb9d8c4ea58a91d5c0cc6dd4a83735919b0f6e1c024a7280cc5a67b4e97427c1e5a64429a65cee6438595a653530731b34eae626f2a63418024a72306a8cb80fbe33e074d7add7a0240783053ebb63029ceebd49a8d151920364d66001a77b0f18292539406681810d1a28c9c160813d780000320b00009059000080cc02000c1323bb077fd5b59557a5549513d18ecbce3fedd5a7e02107009935a8b1b5e3cfcb3feff8facf7dfefbbeb9f3bc33def05a3cea00a0361c509672fc684e5dccf0138f3fee539f767ce99a0766f7eec7a30e00326b10e144aaca0b052a1454227a97e5b54ed71f5e1df8cfdf3cfdcc90dd9346ee730090592393592a2fa85428f082ca8968ea1f1e7ff4e1953f78fdb65beefcf190dd13b8cf012831cafb592aa75c81ab9c17547ed9a5b6bc4a6a815ef3aa8dd7dcf8241e7800b0ce1a380a9c673285bba7afffcf7b2ffdb77fbbe207777de1772fbd92cd161ad760abb6b3b7a56fafee36e861e6e6f5b20fab89621d00acb3068206eef6069a1a55a56b437b6c1f78df7bdf71f299c7fe8a9edf3379fbdceb2effb6f6d607b3c0b244dc695e911d17edec7151bbd1112c8a53123ebf3bcdb9207b9893250369ce05923dcc39257b35c354e306f5bb4d4d721eaaeeaa26bba64a670280cc1a603af367a92abff79557dfb0fd1f5fb56933cdef3b78f4845cf6f7afcc2d695bf286c8ea929dbd257d7b9d6e27444357d56cb3dac34e07a45300b5e168d6862a5f9a5fb831fe467afe17f4f29367dd71e78dca670f1f59e1c3fbbdf58237cef9348da33604c8ac91cc2cfaa3d3d9e4bd9f79e1f1f91fee79dbc1f431ffed342a14ea7859bb65676f9e3bad776bfeb5cc82379e0ed89329bcf701a0361cb975d68e8b3eb83cfd1fe73e1858c96cdabe75df27ced97efcf1c7d2860d75d630b1142b7eb99514e321510ca5030e0b634444f640ba5bdb48abe8b622fb94621ce521588f8cac0ffeaa6bf75cfad90fe70bfce852766eeec891231995f3e38edb7cca2927de15d973d3d72e1eaa8749f6b0e858cfbe680c00acb3d69eb9c5b9dbefbc6f69b990cf1572b97c3657c817f846c696b3b9d34f3f76c8ee8c1c0ddbad13f86b05608433ebd66f5c320a7743093a2cbe04d903e9104a4100083ef84147f0c6b9179701803270fe01009059000080cc0200006416006098800f1e0080cc1a90d8820f1e00d486c3057cf00020b38686befae07ffa13f6ee69f6a9c7d37b1f779cb327b8b759fb169b0100d64f6da8f9e05595abbce8832722cd077fdbff7a5b5787fa2fcf179f936eb838742e1151fcd177363f63eb3b5b6a0600583f99d55f1ffca9d637e1cf0900d486aba07d1ffc7cf053bbd8bba7d9bba73d3f2d5770d547e8bf3ce7ec09eefa8976d0b16b9ee8bf3ce7fc28cce67dff6ff9d752d1573addb1eb714f6d25586e6618140030ecebacbef8e0e7839f8a46fec718bf6b4b2556fee231db0d17c7cf25dafbb8e32ff604eff988772b111df23dfb2efec879f4d39fb02f3e2e5f7c5ee8d1f3e99c5f5b8bb72e184f5776edb110054c67f9d3c77ddbcee777bd197f8b008c4e66f5c307bff7bf22a9b74c56028b68ef7c92de32792e11116d7de7a4ebb1e8f3445b89e8d4c067de4c4474ee56897e9dda4be256b3e1f7ce27ad674f9f4b44245cfc2ee9a65f9bcff24d5bec333f72bc752c7ef116fc3902b0be6bc3a1f0c16f7d67fcd18ba7e927a80d014066b5e383dffa66b7f539ffae79dd912d367a2e5adad8f2cfbc65ecdcb6c2688b2df5d8d44f8988945dbf0e970b46b3b73808177f24fd852dc967e7f11709c028d4861dafb3daf1c16ff1de757eea9c28fb07464452703c74ee9b43f79cedf88b5d8c31e25b02f77ca44db5f19b4337bc8579a7c344f62fbc4ba2bde6ad7efa13e6dd4b44c4b7c61e457908c03ace2c55e55b5f7fc28d9f77d6f8e0376ddc5037651ebd38545bb8bdd3d0e6cd869f4d0f129d7b1e7fe43c6d99e6b869cbd8d69a965bac5b89b696da0000d673660d940f5efea7c712d6b3b7552daff686ad5ba0780700995564007cf0f3c14f457dbf654444fc2db147df5914baef7ddcf1178f25e8d4c03de741f10e00326b70d8e2bdeb6213973b3eb503c02a80f30f0080cc0200006416000020b30000c3047cf0000064d680c4167cf000a0361c2ee0830700993534b4e983973dcc1154563f6cb99f061d766bac763becfab8444ad0d1f53e0158a799a5f2824a85022fa8451ffca30faf683e783cf05d43f0c679dc8b77f4837e011f3c0000ebacc1a07d1f3cd16cd0c11863956a47f6b0221eb9525e058b472b4591523e3155a780aaeaa5f5b13c1e07639e9879174d265fff24d9c31c41b969fb562650ae375b982100eb649dd5171f3c11257c7e779a7341f630e794ec0d89446288f390f6ccf4072744af4044095f6a92f310559ac91e8bcf16e3719194a0c3a07e973d96883bcde30291ec710415d1ab1b4b093a2ce34157dc2b988f95b4a6391748f6fca936405d8c93371dd7d0be3201f379b63a0179cad7648600ac9bccea870f9e88c81e98f60a44248e49e44f29240a44b28739c3c55bcbcd2644d237a354d21e9816b5ed9d49c9e7af5e64a59294085b984ffb551aab1a4bf04e4abee82c519db1dc2e8188689bd51e763aace9fa5b4786c993e9b886f6e50998b76f7902cd6708006ac3c6b5e1ea7df04ad0e1a418e79ca703f6d5cc458af112a19a9588924ab63096e08d733e4de36d565e0dc6354ca071fba613e870860020b32a99d58e0fde7c872895b05bb71191321349d46f26586d09df94ac258f3f6cbc95c2fedab7032422330a157b96c6c496c612bcf174c09e4cb5f6ce02f371eb4fa049fb9a0998bf6da2bd190280ccaa5967edb8e883e76d499ffb60c093fee2f6adfb3efd81063e7833c48900f92c8cb1f194add13a4b0cc5a4b09331c6c6c92d196f4d17bbd16d50db6da971c618b3f86cb190d874acd2febcc5679b6cb5f8321db7c838e93d00001d3149444154521bd64ea071fba613e8648600b40de39cf761989d3b7776b627d5f1b9575dbbe7d2cf7e385fe04797b2353ef8bb227b6efadac5ebfb71973dccdfa5ad27d9c3a263f52b4f00ba0b7cf0439a384e5d052ac5d63032e468d86e85d81e20b356cb00f8e07b47e94d116b8b1274587c09b207d22194820099057a9d7aab5e9909de38f7e252823e03e71f000099050000c82c0000406601008609f8e00100c8ac01892df8e001406d385cc0070f00326b6868cf07dfd86b6e7a6ba3534a1f21eebf2e5dfbdc9f23986e716808dd016ac341c92c9517545255aef2a20f9e88341ffc6dffeb6db5ad1bbf43b272abee937aadbca9b2df6fbc943dce70f9b33c2d0d8db7860264d680b05e7df09ad10600d486c3469b3ef8eaeff8aa35becb1ee608a4b50f27277c164dd55271481954eeb5dd5664e9e5368dfce986db74e7975a1be759995ee9d7d2f42bbafaa0c17b05a13bc03aabdbf4cb075fc6687c2722624c0cf118552c2e9567b699caddb402933d2c3a1612cd24f1822eb0cab79562a5e49b2725e8b03882c509d4ceb37a7ab3c6d3cd74f5e55610ba03645697e8970fbe525ed51adf9b8a0b4c54eea6ad9c14e322994ae24b63283391843419d70da9a492244d8ac5f0abf8e35b9ca7d250575f06427780da708d6bc3d5fbe05ba4456dbcec71524c67ba6a45d6de47207407c8acb5ceac55fbe05ba4256d7c756299c8d74bfb4a82cb6dafbe49b0da281c2d6d6cf9c3d2585b1167aeab87d01d20b3066f9db55a1fbc09e29854de832f1f6bae8d973dce3069ca786dc3bc817c5df0c663b6d24d1e9934537b523bd91271a7db5d9535d6d5eb3213427730f0c007bfce50820e4b6ab2aa1685d01d0c13f0c1af2fe4295fc21ea87aff1684ee009935088cb40fbe93c595afb8d126c578a9f083d01d20b3c04052e7e339f8d40e1842e0fc030020b300000099050000c82c00c030011f3c0000993520b1051f3c00a80d870bf8e00140660d0dddf4c1af25661f66aeccd6fca3ce5d1e1f827980dab01f99d5451ffca0d1bfd942300f9059fd62bdfae0bb0e04f300b5615fe8d4076f6a4fd79760262d4b3619d9c31c1e8f83b14f781c3ac18cec618e605afb3fb9788a47ae9c5d29a54cbcef4444345b9e92d2b06084601e609d3500f4d707df9a3dbdd8b2c6e94e4489a435cdb940f216169543a2484472342c4d720bc944099fdf9de65c903dccc99201ad65d93a5fdffbae9da5041d96f1a0cbd47e0cc13c40660d0c7df5c1b7684f2753a73b11d9dd2e8188481c939c5a68c9d164602254acb302d35e41bb9592d6724bcde64ef5bdefda5955079b4e06827980da70b86ac37ef8e01b38ddc58940d21f5494a03f598cb1d5a3a4929d4d662d80601e20b3daccac8e7cf0e6f6f46d567b22a5d54672345c6e59eb74afeec9e5a6c8d454845a8dacbadef744644629af98cc65f010cc0364d608acb33af2c19bdad305ef64f1208b92546e59d7e95e3ac9160eb76157afe77db7db52e345557bacde0a0a8279b03ee07de1ca2bafecf3b95fb926fadc4b2bca81e55f3fb3f0e0c3fb7ff0a367a30f3ef3eff17d8927e7be70f5ed6667c4247d6d5539680fa43bbfe3a69d8e14e980bdf62e8efe9d066b087cf0e545410fb4e84ad09f0c4c8746f9bf7910cc833e031f7c8fb4e85aa7f6403a3e8a451104f360cd18d9ef0a03008c2470fe01009059000080cc0200006416006098800f1e0080cc1a90d8820f1e00d486c3057cf00020b38686f67cf01d003f3a00a80dbb99596df9e03ba045f139fce80020b35a013e7800501b0e139df8e01bcada4b6e95b2e945aeb2c55799d40d3dc38f0ec0fa5967f5cb07df58d64e6288f3909641fee08458ad84aa35a99b18a9e04707603d6456c71f906edf07df50d62e94be86466b693cb7a9491d7e7400501b36aa0dbbeb8357820e27c54a9abb4e801f1d006456c3cceac8075f8fd95442fb725265269268e504f8d1015897b5e16ad6593b2efae0f2f47f9cfb606025b369fbd67d9f38a7151f7c1dc48980df62613eb24b5267ebac4a6929c538ca43003a61089c7f9d71d5b57b2efdec87f3057e74293b3777e4c8918ccaf971c76d3ee59413ef8aecb9e96b17f7712eb28745c706e2dbbb00c03a6b5069db07dfc3c8821f1d00645633daf0c1f70ef8d10140660d13f8d40e00dd06ce3f0000320b00009059000080cc020020b30000a0370ce2eb863f7fe891a77f79072bfdca8913d15bdef9f10bce73e00103009935703c95d8fd890faaaf7afb45fa83bbbe753b21b30058f7f4f0b33bf7ddffc0d34f991841b79f79d6857f7c418313bf15fcdb77bd75617ff6353cb7c4d5659e5f26a26336b0175f7e1d2badbe3433c3bbdef321fb07c6f028028075561778faa927afb8e20ae3f19b6fbeb9716631466f7fd3abde6dfb2adb702c1127354f54d0be9282b8ca79867896d4a5ec91c7bfbdfbc7ddce2cd9c3fc305c01b0de6b43dbffd899fc8f563f23adadfc182d17167e54fabd406c132f2c909a2335c3f932a92b87f73f4cf4363c8400ac2b7afbbaa1cab9f6afe6e7d64e2e1023e279ce97b97a94670f52619117e679e110cf1ee2f939c6164c9749d5c6f51a05bbc1c8ae3b102bca62123e8b7633f4ed00acbf75d6472ffb1e11bdf52dff5dfbe1fbb77d8c0c7ef71a4d4d29d572bcb0443c47852c5186ab2ba4aef0fc32d1321556b89aa1dc9271b85a65fb6cb582bdd6c82e7b2c11779ac70522d9e3086e8bf318956b43d9037d3b00eb2bb3160f2fecbeee42227abffb9b3f8b7c453b422d2adef932e58f1265786185d4155ed0a5152fd43dab46d95ea360aff95549252911b6309f76ae54bd35067d3b00ebad365c5a5ad6fed5fcdc2cad381171b5c00b0b3c37cf738778618e0a87786e8117961a059651d95ea3603731b24b315ea2c6ca077d3b00ebb036d4f88fe976942c5c5d3e3cbffccba66b316bed816a65bb5b173e69728c97be0c47f7abd5463ee3d77ed50497fe5c00c0c866d6f633cfbae79e7b4c8f373ef1ad6f7fcf9e9f3fd0ca10ffcffbdf5ff5bb51d95ea360af35b20ba174c061291587528c87c431c9e9b4309f14e36351e8db01183446d6070f001849f019690000320b00009059000080cc020020b300000099050000c82c0000320b00007a037cf0000064d6ea800f1e00508f11f6c1972cc9147458226e186500c03aab3183e28317bc71ee6d146ac83200905935c0070f00e80aa3e6832f3bdc1dc1946e3de5082aa4f7bb4bb11af53b0000eb2c22eab70f5ef6588a0e7725e8b01005aa6eac96c1ebd5ef00006416f5df07afa492f6c0b44844247827259fbfea56f8dd01406dd8987efbe01b03bf3b005867b5489f7cf082d596704ec9de90484ad01faea90d4bc155f2bbe3d1070099a5630d7cf02486621273b230913d1090285275a341065f51bf871060000c07f0c1030086097c461a0080cc0200006416000020b30000c82c00004066010000320b0080cc020080de001f3c000099b53ae0830700d463847df0add34fc972e3b1a07b0660edd65983e283070020b3da053e7800405718311fbcec618e60d0c38a4a78a578b82282d7d9fe4cccf1fa96a65a40d9c31c41b9d8c623579ab73f56d9525ff373bd9934991900c8aceef0d1cbbef7d1cbbea7f9e035253c11edaca6769d55fcff1c2f2c71f528e58f526191ab0b3c3fafa595e62c35f3c11351c2971ae39cf39894f04dc95a22587cb618e79cf37420e9d4d2a172709a22e1728e5822ee34e79cf318f96b53a4d4bf9fa639e73129ec64e334dde9588d31cc4493d973ce39645f00b561cfe8b70f9e88c81e98108988c43189fc2985444a25499ad49ee7827752f2456789c8cc1cafa49294085b984feb491a23124cfa9ff60ac5fe935697d0e1588d31cec405993d00bd5f670d960fbe25a4e26266edd733d53381cc1e80fed4861aedfbe00f1dfce5758794df1c7a263dbf77dffcde97e7f71d59d89f5b78512dff5373d6967a13ac360a47e5e226913f2c8d899a39be58ce69e6f872cb3a252175792cda66b52752b35a21180d9bf5639c89e08da703f6644ac11f2e406dd87dd6c2076f8a184a071c16edad5df6405afb82435373bcd6b2549275e2896f7d2cc13b593c48922499f7a39bc958b45a660fc03a053e7800006ac31141f6303dd8470260a46bc3e1470c711ec2650000eb2c0000406601009059000080cc020000641600009905000083047cf0000064d6ea800f1e00500ff8e00100586711d1daf8e0dbfa0e087c610400c8ac3ac0070f00e80aa3e483973dcc19a684cf524fa15ef95d8a191a0300b0ce2222cd01aff9e089e8fbb77d8c886a1cf0359a1abd0f9e788e0a59a20c5757485de1799d61b9d6072f86788c2ae55e51a91e1788648f23a888d6299f2dc6e325255655630000326b6d7cf025a0540700b561bbacb50f1e4a7500b0ceea88f67df0f3cbbf6cba166be88317ac36f2f9831362f5aa4af0c6d3e4184f29846fdc020099a5672d7cf0e298e4745a984f8af15053a5baa06f8c3f05008602f8e00100c3043e230d004066010000320b0000905900006416000020b3000000990500182606fa7ba4afba764ff96755e544b4e3b2f34f7bf52978d80040660d6a6cedf8f3f2cf3bbefe739fffbe6fee3cef8c37bc168f1c00a80d0794a51c3f9a531733fcc4e38ffbd4a71d5fbae681d9bdfbf1c80180cc1a443891aaf242810a059588de6579add3f5875707fef3374f3fd3765f4ad0c11c41a58583000064568799a5f2824a85022fa89c88a6fee1f1471f5ef983d76fbbe5ce1fb7dd97e08df3920eb09c53958300802160d0f7b3544eb90257392fa8fcb24b6d7995d402bde6551bafb9f1493c7800609d35701438ff9fb7fee6cbb726bf725bf22ba1e46438f977dffe4da1d0828ba2247f770483a55595ec618e40bac604af5b73d5392518f4b0e271a5a6739d3e50f63087c7e3281ea855d10300866d9d55e380d7d34053a3aa74f567ce5255ae722aa85428a805b558273644f6588af27725e8b010054a373056ab8d6f764ac2979ae43c44b28739a7646f48d4b52425e8b03882c5ae12496b9a73c144458fe21380a1cbaccefc59aaca27c349ceb9ca39e7c439e72addf8c5b39b2db252497b605a242212bc9392cfdfc2baacde29f6c0844844248e49e44f2924522a49d2a4660914bc93922f3a4b241091dded128a5dd5a8e8099905c0b0655687b5a1cabf327e565ee5aaca0b85e26a2baff281bfb0909f02d013067e3f4ba5af7fe737dff8a7e4376e7fe29ae927aeddf5c475d349b56e669536a704ab2de19b2a7ea9a13fdcca48ad9f22586d148e6a35a512f487a531d1a4811f6fa000607daeb326fef22c55e505955495ab2a153857d5a6e789a198c49c2c4c640f04248ad4dcaa33c1b7784a75e7e980c3c2985639a6e3a279039d8a1e4b2e00bac440fbe0afba76cfa59ffdb0ca8bef2ce59c3811e7c43985fee95f6e981c6fa91725e8b0a426db8a8d0e4e0100609d35b73877fb9df72d2d17f27995ab6a41e5f93ce79c2f2d67def0c6cd2d76224ff912f6c0b676c6ede0140000328b6efdc6259d9eaa041d165f824ab5592bef35e8e014000032ab3b08de38f7f6fc140040bf81f30f0080cc0200006416000020b30000c3047cf00000645617630b3e7800c070d586f0c103008626b3bae9836f0adcf00020b3569b595df4c137a53d37bc4e700a00e817f0c10300b0ceea1e9dfae0650f7304e5b2df5d291f3453b65739dd6bdcf03aa17be59014ab91ca0300466e9dd55f1f3c11257c7e779a7341093a2ce3419751d96eea742f8557add09d828ef221ad6ad54be501002397597df5c11311d903d35e811a28db4d9dee54bab55ae8aea4220969328e7c0260dd645687b561177cf04a2a4934d6eec8d576512585bf1500068111f5c113112522330a1191321349982bdbeb3add8d4277c1e5b643f10e00d6592dacb33af2c11391dd961a672ca12d99ea28dbeb39dd4d84eede782cc58a47a4180f897aa93c24cc0020b388884855f91bb61c53e383af5f1a8a215d3a5927e2baafa8a8bdb58ee3cf6615eadd2a8678557fb5bf0300d6796675c507df0672346cb74ee08f0200645667acc207df264517bc3d900ee1a541009059fda7ba0c6c0a5cf0000c0970fe01009059000080cc0200006416006098800f1e0080ccea626cc1070f0018aeda103e7800c0d064565f7df08da9d8e26155060099552fb3fae9836f4c7bb67800404f800f1e00807556f768df076f10b9d7f3be976cf11eb9d2446f8e37d5c9d7968426da7800c048acb3fae283576aaded75bdef255bbcec614e960ca4391748f630e794ecd56c58a63af91a8cda78948e008c4a66f5c307afccd45adbeb7adf4bb678714ca2a45593c48b6312f9530a89fa06465b7c55e7d5da78426601302a99d5616dd8051ffc2a69ac9387a51480be325a3e78a3b5bdb1f7bd110d75f2bace21890700ebacaa75563b3e78c1686d6fe87d6f40639dbc8689361e7f5200f414c6793feaac9d3b7776b09f75d5b57b2efdec87554e353e78ce29f44fff72c3e478cfe62b7bf07dab00609dd52efdf6c103009059abe1ff6fef5e639b3aef3080ff4fc2b52d1775a5a5a537416c853157eccb567ba3b495a6d516aaa2494cd3a0cb4a850d8c69d8c9d60b3514652d68cd6c68b752bb5c1aa920b6b49ad382bda91ada46b1a9404ce074b3ecac451446474a2ee4eacb79fffb704cecc427896d1c724c9fdfa7c89cf73d564ff5e87d8fede7dcb83e7800406695b302ebe401e04641e71f0020b3000090590000c82c0028279aef5646253c00945166112ae101a0ecf686a8840780b2c9ac622ae103b6ecb2be71648ade4ba1b4b30140d9ed0d79e807d29cae842722a512fecd5f2f524f2c8bb7801f2cebec41b697eced9676360028bbcc522ae11f78ea74dbdb4bd7ad351cbd6bc6772f0c8e57096facaec2c505c0de7032c8ccf75f34f4ef6dbaf2a787ab2e2f7dea8b0dbd7ee3e895f0019b64f152c8a1cf3cd82babb13de6366535b7076c92c91d1d56f49e779dbcdb36bc429e864d5ac06c00a0c97556717df0442404fdf2e8a6459776fef6d335757fde47faa3a79a2f6cfdc1689965f6b09fb29a64cc1e668f12250deefaa0dd69957c018fd94c44019fd7ea643d0d85472175f21127b3677885fc08f9cf0600dacbace2fae0894808761d9fffd8131fb5fda3f57b2737d3aa55b1f38102da959585171191d14544e61aab4509ad802fecaaf764874c2175f2f566a21115f223222bffd900e066da1baae553be95f031b7c9427e66e6a8cb985e88d5bbc20dee58ccdd105eb902890180cc2a7966a92fbef21adc160929b7e363879b43e9d7742b5652736363b3c1396263765d75f2394f3f2c65393d0094d53a6bfdd25bfebee783f596f8c18d75db8fbd3b6bc3d3a357c20f67ae7791432f49526dc460cc4a13f27a0db989a1b307fd06873eeb1eb9d91375852d92244992be7965b4a0bef7d2ce0600441aef83a7c9ac8407002dd2faf7b350090f00e59459a88407806ce8cf020064160000320b0000990500c82c008089a1e9cf0d51060f00e594598432780028bbbd21cae001a06c32ab9832f88983ae770064d6389925581624cbac34d234be7ee6f4c941a50c7e82cf9cd3d3404ad73b5afa002693d6ef672965f0825916bc6ead212548c8345e193c00609d354964e6785c3ed4f4eab1236bdf7bef67ef1ffcf91797af2412f298db37a5a6dd6dcb34c29b6c369324d9fcc3564f81ec0386f7bb674ae587d7b60f0dc9297a07809b6c9d555c1fbc10b4c3d36258f6f0b71e9afdf5e9a7e87c8b737fc79d1bf68cd2f997295c8fb94d7a2257faf550b83acaac230ab4a89f6764bffb8852f99cf3345eeb7507809b34b38aebcf12828f5cb97de7e2dfcd9a328dba3e6fefbb2599f8df958e7e59b5bd3416091b5d4d66a274df7ac3b57f308ed7a29c47bf7bb6aa6aa3d762aac6232800b0371cb13714dcdfd5bd2b780f9dff98befc64c93b0776c59eb9da3bc8f916954e0c9d3dc8dc44b5d81b0220b34664167d6781e43cb2e6c299ae0f5a16b547a7de77078dfa70435db521e4680c10297debea0ba450a44dd9dff9bcf9be0bb5cf108974f660d4650c47f0dd07006456d63aabee478f2e9f1b7de4a8cb16ddb4f8c1cf572d5b3c73e674aa507de7668fdfeab5489224d5d24aabea02c9993e40f29175ac339b6bacb9f7e0b3424c697577e43c0803002692a6fbe09532f894cc7dfd898e8edededeb8609e3163da9c39b71e6c6e796deb4fc71a1c739bf4112797f63911019be4ab613c7b0260d268fafb599932f8a49c4ca61249392573a5240d24920b164c1f275d1a1d21a3abaab46f28e0f31aabebf17f0d00324b55e165f031b749ef483fc7d0eae7d26ddbd2131b5d510fb68200c8ac52d1d9836c2fab8901a020e8fc030064160000320b0000990500e544d3f7e01f7f71e3d0df42164474e8175be6cf9f8fcb0680ccd2a8435b5f4a919c6239c5a9356fec7878e7b347ad5b172e5c882b0780bda116a5483e9fb8f859fc7cdbe03922b23cb4f8d1d736b7b6b6e2ca0120b33499592cc7453c2e12718e13d14f6abeffc883f759f6bc72e2c40995a30be86b57ffd973a987947c06006496d6332be55cf34e777f6f5c2488e839cf5b17b877e103736dfb5e51397a12fada1143003794d6ef67a538c5c417ceb5cfd3dfb67af5b24169708093d5b7e9b66d72e3e201609da539494e31717b7bb7ffad7f1e7b37d231d8d759d9d959d13ddeaa27b7e27d68f3a8bc1219bea34c77bbfbb3b797aa4ba8b6a119726be30336c9e40ea40fb0053213632506507eebace2fae0139464e2cffe75f99e6fcffef4e3cb1ffdfecafdcfcfbab3a2378f138eac7837abb7c5076cfae695510eea880236939b82417f446a0cd86b7c16caf99575c8d1b032caac53af8d0f0c3f400abba2ccbaac370000e59359c5f5c1c729c9c4f72e9f3d533f65eead332ebcda39634ae2cb8aae3c86e654bc935a5b7c2c12a690572f399441d61a22b3c7ef93248bd5cfe6dc399bec3a1aa3363efb8070b552429f67c73c00682ab38a33c871417cb5a2af6f2a775676cb92689fdaf9a5d453d29358fda8f10328135abf9fd52b0d0ae2ce293d97a65deeacec12c45d52cf15ea2b662ed5b6785db581bc0dc3ee37056c16f2b39f2c4aad323e19044066e5adbb724090e899d5d759d9d33b7b8049f44a7d1dd45fd464aa6df1664fd4450e7dfa2ebc758fdb6409bbeacd64ae77852d267774bc39c7aa8d078052d3741ffce32f6efce196c7af56f45c95fabaa5de6e4a5ca5fe2e69a08707a4f5ff3de5791fd70fe0ab46d3f7b3e2972efbb6fc6580448a053309e294243189443c3eb3a212170f0099a52dc7f7fe11570800b2a13f0b0090590000c82c000064160020b300002686a63f37dcbca365e86f219888ead63d76c7ed7370d90090595a8dadba2787feaedb76dcd1f0e12bbf5a7eefddf370e500b037d4a8fe24f725454f9c6f9d39e3c7ab4ccf6dff6bdbb98bb87200c82c2d6222215896499605112dd5cfb3acf8c64bae6367fffd9fc97b5363fc6aba543fa8c60fb301ca34b304cb82649965c144d4f8fa99d32707e7df55f5c681bfe1e2017c0569fd7e96604aca2c9865c1ebd61a5282844c5f9b55b97dd727b878005867698eccfceceeb3cfef0ebff066f8054fd8e90d6fd973569679ac2dd5c81af86135edaa2fe6d5dd3e5e977ca68ca64ded5cb19c4d5f6642f7583bc1cc29b2ce91e75800acb38a565c1fbc10f4d29a2542b0609205c9b290457a9f388adc1a78cad4b4c7dc267dad7b8552df5e50777b3e5df231b37db473a9c5abca84631d4631b7496f724783765d9e63019059d7a1b83e7821d8e90d33b3606626666641bb367d73f4113935f03acad4b4ebec4eabc3d74694fda26a773bb94d7a478828ddbc1ccbb34b7eb473e5ae9ed426543d8cac4e25418726a4fcc60220b326616f28f885da2529c142b02ca7575b2951744f612c1226aac9e3409d3dc8f63c8e1bd1251f28e65c009037cddfcf12b46defd997f7855fdedfbabda975c7dbadbf690a8b82332bd47c384644143bdc1cb2d614f1bc8a7cbbe455cf55556d0c45da944cf379c79830f72b0eba6a03797d4a12c6dc0d5e6b8d79b4b100586769639d55bf7a89102c0b1282852099598842a7311a22b5921452d645453d62c7ecf15b258be42532ba5c566a4ebf187599f4d73687563f7b54cfa5b33bd363c96ab58e35a1da79a32e935e92945d6734682e602cc04d48d37df09b77b4ac7de609c1e96f9632131331133379f6fd61a7b336bf6902b6cc63533529e636e923cee29e57763d6301b0ce2aad8e9e8efd073eec1f905329c142c882532966e6fe81f8ddf74cbb69ae41a0d11132baaa6ef85800645689ed7ef9e99bf7bf7c6ce8834922ab9f0b5a055ecf5800ec0d276c6f080030023aff000099050080cc0200f83f290475eb56a270680000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Workspace of the TodoMVC app with jQueryMobile and Backbone}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The order of the files loaded by Require.js is as follows:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 1.\tx360\tab jQuery\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 2.\tx360\tab Underscore/Lodash\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 3.\tx360\tab handlebars.compiled\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 4.\tx360\tab TodoRouter (instantiates specific views)\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 5.\tx360\tab jQueryMobile\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 6.\tx360\tab JqueryMobileCustomInitConfig\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 7.\tx360\tab Instantiation of the Backbone Router\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 By opening the console in the project directory and then running the Grunt-Backbone command {\f1 grunt handlebars} or {\f1 grunt watch} in the console, it will combine and compile all template files to {\f1 dist/debug/handlebars_packaged}. To start the application, run {\f1 grunt server}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Files instantiated, when redirected from the Backbone-Router are:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 a)\tx360\tab {\i BasicView.js} and {\i basic_page_simple.template}\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The BasicView is responsible for the Handlebars multipage-template processing. Its implementation of {\f1 render} calls the jQuery Mobile API {\f1 $.mobile.changePage} to handle page navigation and progressive widget enhancement.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 b)\tx360\tab Concrete view with its template partial\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 E.g., {\f1 EditTodoPage.js} and {\f1 editTodoView.template_partial}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The head section of {\f1 index.html} needs to load the {\f1 jquerymobile.css} as well as the {\f1 base.css}, which is used by all Todo-MVC apps, and the {\f1 index.css} for some project-specific custom CSS.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+ \line
+ \line
+ \line
+\line
+ TodoMVC Jquery Mobile\line
+\line
+\line
+ \line
+\line
+ \line
+\line
+ \line
+\line
+\line
+\line
+ \line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i index.html}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Workflow with Backbone and jQueryMobile\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 By delegating the routing and navigation functions of the jQuery Mobile Framework to Backbone, we can profit from its clear separation of application structure to later on easily share application logic between a desktop webpage, tablets, and mobile apps.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We now need to contend with the different ways in which Backbone and jQuery Mobile handle requests. {\f1 Backbone.Router} offers an explicit way to define custom navigation routes, while jQuery Mobile uses URL hash fragments to reference separate pages or views in the same document.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Some of the ideas that have been previously proposed to work-around this problem included manually patching Backbone and jQuery Mobile. The solution demonstrated below will not only simplify the handling of the jQuery Mobile component initialization event-cycle, but also enables use of existing Backbone Router handlers.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To adapt the navigation control from jQuery Mobile to Backbone, we first need to apply some specific settings to the {\f1 mobileinit} event which occurs after the framework has loaded in order to let the Backbone Router decide which page to load.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A configuration which will get jQM to delegate navigation to Backbone and which will also enable manual widget creation triggering is given below:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 $(document).bind("mobileinit", function()\{\line
+\line
+// Disable jQM routing and component creation events \line
+ // disable hash-routing\line
+ $.mobile.hashListeningEnabled = false;\line
+ // disable anchor-control\line
+ $.mobile.linkBindingEnabled = false;\line
+ // can cause calling object creation twice and back button issues are solved\line
+ $.mobile.ajaxEnabled = false;\line
+ // Otherwise after mobileinit, it tries to load a landing page\line
+ $.mobile.autoInitializePage = false;\line
+ // we want to handle caching and cleaning the DOM ourselves\line
+ $.mobile.page.prototype.options.domCache = false;\line
+\line
+// consider due to compatibility issues\line
+ // not supported by all browsers\line
+ $.mobile.pushStateEnabled = false;\line
+ // Solves phonegap issues with the back-button\line
+ $.mobile.phonegapNavigationEnabled = true;\line
+ //no native datepicker will conflict with the jQM component\line
+ $.mobile.page.prototype.options.degradeInputs.date = true;\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i jquerymobile.config.js}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The behaviour and usage of the new workflow will be explained belowe, grouped by its functionalities:\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 a)\tx360\tab Routing to a concrete View-page\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 b)\tx360\tab Management of mobile page templates\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 c)\tx360\tab DOM management\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 d)\tx360\tab $.mobile.changePage\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the following discussion, the steps 1-11 in the text refer to the new workflow diagram of the mobile application below.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d4948445200000415000002c40802000000d8519fe0000080004944415478daecbd7f50ddd59dff9f6dae0d3518d19009466ca952c3272629c9976c888b4a2c36acb22946dca2610d7e820d356cc44ce262659451b2a21faca4253b74645b4671a4533a619456b665656b3665b2348b2e757007a77196cee00e7ff0077ff0073b93ef33bcd633a7ef7bb9b9fc4802dcc763ce306fdeeff33ee7bccfbdf7755ecff7f9b5ec3c0000000000406c2ca30a000000000000fd000000000000e8070000000000403f000000000000fa010000000000d00f0000000000807e000000000000403f000000000000fa010000000000d00f0000000000807e000000000000f4030000000000a01f000000000000d00f0000000000807e00000000008085a01fc6c7c7737272d200001609e9e9e9bdbdbd33b575f9f9f9541d0000d06ece837e3877eedc32008045454d4dcd8c5fae000000d06ecea37e484d4d3d0700b0e0a9acac9c8b7ea00201008076737ef4435a5a1a63bf0060e1230b3817fd4005020000ed26fa0100b083e807000000f4030000fa01000000fd0000807e000000403f0000a01f000000d00f0000e807000000f403fa0100d00f000000e807f4c38c191b1babababcbcdcd553d646464141515b5b5b55d9eac9b9b9b4b4b4bddbffdfdfd0505052a465656566767a72e9d3a756a16c94e4c4c8c8e8e2e9c1a1e1e1e9ef5bd83838311eb41cfa8f3478e1c99eec6fafa7a45d0876b95bca02a243a1d1d1d8babc0e80700b35401d4b2e8fc3ca67fd116412651d1c6c7c7235e55d3a6ab6a68948e0ee6ab6c7329f0826d62848cb02ea905997b092d29d9767e29807e58220c0d0da5a4a4a812a41c2421727272121313f56f6161e1e4e4e4a5ce5d06c5f76952535343a1902484344c4b4b8b2ee9ef4cd354dba00fb4a7a76781d4b0fcf8f4f4f459dfae0799ae1ef479e9d2c0c040444d989090909d9ded2a595ff5c5f5535f4405463f0098a54a4a4a4a9bc2da1121933e0b333e234b18d00f8ad6dada1af1aa9a3995706262c2da974bda4cc458e085dcc49883e4bfe39b3596d42c0c1700fa6181229d20fbee7738c8b6ca7d57b53434345ceadc0707079d051f1e1e56a6252525f6efc8c8882ee9ef4cd3bc0c0dc38cb08e9d4b61dcf5a9e952757575f8a5a6a6265dd25f57c9fa58d10fe8072a102ea9bbec7f33272727bbbbbb939393131212e6de9d383636164b8b303030a062e4e5e5855feaebebd3a5f2f272d7be28cd25a01f2e5d13338ffa410d9032c2aa03fa61e9909898989595156ea965f173727202e7d51ea8c6a6f344755e57a3b413ba14a59b35c6f7134a217a53349d7ed043298be9fab5239627d003a32627fce4ac8dbb1e248a31d5335a4b19c5b8abc2939292525353c32f593f529487d525e53eefcda77d4322e66b97a234ffaa102b4f44fd70890a8c7e00b844fac1a8aeaed6f9f0812b660023da0a6b4a627c79a4740231b3b3b343a150f8ed1515152a89544474f3358b9756b1fbe517cdc2daa988ad8cd9c0f036f4d23531d3e987e829eb11621f4fa532cc65f01500fae18a919292929c9c1cee96f5f6f6f6f7f7db717171b1fc51d917c5342fa4b0b0d0b780b26b3231921c7655822460a31b1b1b55c9765539baf194478e1cb1cad781fc60d7fdddd0d0d0dedeae03fd7559288eae5a221b376e5409c31f4771ac90cac5e91f3d485e5e9eeb4c57e1a3182c655a5f5f6f438394ddd0d0904eaa181919199682fc72e5e2ecbb8aaa5bfc04756c8f60a9a95a94a93b737eaadfc0d5864a5b5757e717e0d4a95399999976550da1f5244cf712cb5ac4c0d055955927cbcacafc4a7625d407a71a701f966ac69ed18aedffc0ec53f3bba16a6b6b75266293af448a8a8af4a4966c414181fb86d867e7c633a826ddc76ae8fb6083e874bbbe6c3602c1b54f4a4729fb05bea4a396d10f00f3a81fec1beb6c94ac416565a5b3e4fac9eb17eddb0a3525ce8cc8ce777676ba26c96f116481a54c5c9324abd2d5d5e5ec4978ffb9348922bb9765d6beb8462460a314cdbd815219647ffcc7d48dceba8627359d7e500102663030cf50e557beae95a9aaaa72ad4c7777b7da82659f236b697dcbb36b62949a1ecaaeaa95b4ea8a513f28b2b5d496b25a045feaa8125ce3a507b48fcc4ae5378bf6f1a9542e291d4c37e40c00fdb0a0ab55f6480732f1115f7bc8994e98428eb58481dc4a593719208bacbfb27ab25fb2e6b298b202e9e9e98ae0e487cc84b97d9d53981db466c0cd7f50d64adc94890c99ee0dcc7f903faa7fe52ecbf6290b15585998e31b70be65d91553c6d7b250528a294b2783abe2a930fa57d66aba3740661695beca969f9fafa7330f5ecfa80465e2cbcbcbf5af2ef915e8bf8cf13b52547e995125680fe5da3655424747879ec5525383eaa48e6a5215a867545ece239f4e3f588fbcdf98b9177eae3df3e73f4828daa7a3da566de8d152a63075a14bfa585d3a26baf4e9bb337a96f05e294b5655ea925525abd8ee1b62e9a8907a22d5a1b591ee89ac7aedeba1ab6a7eec91adc06ad795a9525643e50aacfa8cdb7e70f4032c16fde0c62fe947ed4ecac29bc59335b095127c736a16cfcc883525fad72c67c01d2f2929b1c1484ac7c5b4c960321ae1fdeab22d6e48e7f93feda65639cd4659fbe2ac90691e65a4b6cfbd3451cb62af965cca8aa07fc39bce4081f58ce68bfb66d0bd4a93f5d3bfca57aebf221417175b2b6646decca992529a72c1cded360b3f5d1323bbadea7549b995362c35d7c4a8613549138b7eb0a65c295b536829bbabaa7c25256fca52d6554bd9be1281f105f692481fb75f1b4e0102a01f1601b27a3252eee5ae7ef032733240fe20257b192fd9e0bf9976b6cf1f6a6fc8195582d624c8ecda5028675e7546d6d68cbb3f7f3a605f7cfd209bee3bd9f69ec3b7893e81f14b2a866b817c4bada6623a374b05766febadb4b2b6fe4b77b37dd6231f5d3f9cffd3ce654bcd39d6be7f6fefd465cd95bb9f9a356c5106d1aa26d578f89f975a175f06f8fac11a3fdf4c5b73620ac49ecb94951254499494fe5ae2d6ada1a63dbc0ca658fc64ada55155ab96029f942a41f5a97ad081ea2150219222d6176105966c706ad3b552aec0d841f4032c28fd108ebc5b37e25407faf1ba496e869c6619193bd6810486bb24bbadb6c30c8bef8eebbc9bc960c87efabeacbd45f25f309969753ded7e3361d242a6c67f21e23a2be40dfbc64da535f7ddda14192ec50c3c51b87eb046c76fc2eccd8899c1f353bd1cb27bfe4000e56eb6d73a99fd6731a3eadee58737312a6478136316550da2dfc0299a6a3816fda0764137aa547eca26214c6885375e76355c3f28777d0d9c68b42f86ee8d386b0500fdb0a0d1af57e643bf76d71dac3a71a344acffc1f750756c0381ce7fde331018d362d3b275d24c7360013837ec3546fd20b31b30a0e64746ec2df11b06e562fde38138f25f65aca773b36cd92243cd86ce04fa7f7dab3a23fd60ad48786fb26b0c9cee72d824e928fac1b49c1b5eeca716de78a895f2df9cb916d16a43cd80cbcb1edc3a85ac322da3f03e1fd7a6fa67dc10d888ab3f99ba5016a603031562eda5dda294c30bac362cfc247610fd00575c3fe807eb166f552b204b6b836402e35d7d6b69efa7ec5f1928ebca0e5f56ce77c7cd8004860cc934b946ca0c8b5b5bc2748b3f0ec76f26ac2b2330a8d514886e9429d3bde6faeb29ccba3a1b6b3633302033bcc0d6cf1c309e665d65ba2d595f0e595e4e4ef835a667344913b18931691178cb63ed8e0a6c6f85d464c7d8c4f82d9d651a88661de0aa1c4bd9d77eee5308d70f9654a0d2fc8f0f00fdb028914530074ea6df1cf488d3b36c97063b58360daa5e33b5d3ad8614a37eb0d7183196df6f182ccdf0ae06eb4a9ececd0a6f66dc185c875a141bd83323fd602e78446482edc6402b62cb8944d10f36d9dd8dd0b5de767f8ab9efc12f9b9ec0bb349b356102cc9e4532ccefd6f0d15dfe30271f9d570a8193d69ee9a1ac21098c7cb51e2d2bb01b2e1c4e7c3636e80758c8fa21fc9b69bebe33aa3232725865e5b2b3b3ddeb2af7cd943bee4eaa019255745dc7be3b6ece7df479b732566e55536b86fc79627e3361022622768b4c5f464686737c655df5af79e1d67b1f714a985f605f2305de1ca951b09811bb769d6fad8a9577ae7cdde490884d8c3d694464d2ad89f1bb419c06b8a87e30cb1368ca658475520db4c50c8c08f09b42ffd892f2070500a01f169fc5afaeae8ef846d95ec9d8346899a7f0e5a5535353ed3dbd6acf065f8623ab6a8dc71cf5830d995d50fac14d0cb0efa5ffb6cccc7114e32e231b5e576aa822ea071b35147d11403742d706feca9a8757b2d30f6a81227e582eb2f545a8f5b57ad0a79c939363e3d022ae156b5efe8cf483bd249b4e3f589d5b8195e974058e7d292df403fa01ae947eb0f70bd661e846cba84191d592c72cbb17783d2497548eb514828d6374d6cf77c7cda645d70ff676df04406666a6098088cd84ad5617d1c858b789d96d65a77c6d2e87acb46ed1e3c84e067a8c67aa1f6c564314fd206b29136a36566d87d457a0aafd26c69e5aaa264a1313d00f515e51c5a81f142162e3857e00f4c392c56c689411edd6412cf364b6d25d95eb666f1dce471add747e6a34aa19f788e3971a1b1b6d09a3b98c5fd2497f4a46c486c15e9f87db77dbe12816fd1065fc920dc10fb7aa764bec9dcb636363aa2eabc0f0f14bee55fd455b6e55b2b9e30113efeb0735dbe1ebbdaafd70a30becf3b24730b75e0f623b404559fa508d68205925a8fa51031965fc921e2da0b50c7ffd251b161cc84ed5355f6b2ca21f002e837e500b72fef3a9bd81b7d4a628dceb125f15284d7b831070c7ed571018bfa436cb37d436a4de7a30c2adaedf4cd87e470193e297c40cbe0a2f4b6e85374b6e237fa6db9e39bcc3246006ddf8257b491478cf2523ac33ba45a655eacbaf96284d8c19f040cbe89a18b5b9e14d8c7b9b135d3f44dcd1d54628a9922de5c05b24bf9c7efb6e3dcc81257d25d2a67b3f05807e5870c8ac244e1130c4b6d49aedd3e9de9df88bcd99ff6767ecdd4cc070eb5eb97db22966c4fd457be4d3eb92bdc589513f980f6d8b5118fe4e4051f4c3f9cfe74ffbfd0396da74137003fa21cafc697b7ccbce6f42aca9f08dbbf3adad7f403eb19f9a8d16b3d46cf911bfb4d6f772d14d8854c2c229c2bfccbe076f4accff28755e39bab54aac9fc156c3f0570757b211379af02b446a21d034aa318b3e7ffafcd40ac27ef5eac0a6275a81c37793b5d9f9d38da4c20ea21f6041e9071bb46923e3eddbeb3b8e729d6df50eb514d604f87391d582c83ed88fdd77c7cd6df5edbfd9b140d7abcca98c89bc525d0aec1ae43713f6dac56f5f0236ca5e64d8ca813691da2645d8d8dde9de65f8053633183e7fda8d7dd2b19ed46f17d468da555bfd2fdca43ba3eaeb071bce3aa326c66630c6387f5a95103e7fda2cbf1a3ea5ec5a5e4533cf215c3fd887e54fc3d0a7a39631e2e27e00e887058abdaeb005346ba690b1b041e7cecb342ba0931209b20eb2b3fea464690c9bf4668bdfe92ef33e9dcf674be8c86cd9029d66856d44508cfae1fce7cb105916f61e48e589b888a7596ae5622f336c51395b305b85975f6bff4659bf35b05d8ebd33b3f55bdd8aabeef1cd14aaa5918ed2b3cb9e5aa3e21ec404806cab4d17b3d6d4ad066b96ddad4fa5d6d48aa707575e4acd164abfa87ed047636bec06ba4a02fa4166da9654b2c57695acad7be87759d8e02ed7ddaf82d9f761ba15ab2c595b515795a0a4f4ec3ab63540dcda88aa375b1b31b070a17d0375521f9cbe153ab0ecfc02bbd5815d81e376a53ff4032c64fd20eb97eb61f3a7f58b3687d5661bdb5e0dfdfdfdb61cb39938fbbd9bb594a9b1c5becd3db5ae83c072a876c95a04330b2e1787bdffd6797f038770fde03c5d5b0dd63561fe2a14d6216f8b82d8196bc8a2b8bc11d76fb52c9c1974eb16da20256b17dc83db925056361976d598ad8b6a53445c3be51637b726c6dedd049a1825624dcce0e0a035316e95d5284b844fb77eabbf32acd37bc3c3c34a568d8b72948192fd8fb27eabbdc9520a56e1b660ee74e39c01d00f0b94dede5e5b79cddfd0c79f6a66f64b0e9f992d3310feeb8db1b131a73aac3e0323da6588dd60567f0f20b77fdcf9b0fd65c2f78f93c57159c8764f377a527ac6eca97be714d83f4e6d49f4fde3c29785958173fbc7a91214c11faf2573eff6c1515d4903f80fa2eab5ab6e6d0a7f731f55a6aaceaf4c5bb2d0aecaaaaa75f4eb613a24876c5056b82e0aec1fa7037fff3869bf802faecf2eb0919c5a089d896edcf5d4aa766b8aec45a07be117d8384939067aaef574e667b80d40a26c78175e60ec20fa0116423b9216862c98ecb63ff4541eb3db3c4e11f4af997a7ba314d88a5496d38d3b0adf3fcedf5154ee72f80e6eb63791eef2bb46fdf6c5df3fce6f5f946f6054525f5f9fe2fb3a44ceb4ce441c431bb1c06606fd2d5003565d35e0b732eec165095d8ba09a9169b533eefdbd6b625cf1cc84ba5bcacacafc2646cfe276a3d3076491233631d628fb0da2bdbc73dbd805f68f537ce5953e859492bd1b8ab87f9c5560c4edff00d00f8b0fdb943e7c591b37f74b96421122ae9aeaae4619983e3cc55c4a6859047aa2634422274ae163418f16a5fcba14be8d77f4d4a29447495dd221fefa94675d9351502be516e78df8738b5245fe7a8597adc0e80780cb4ff496e2a24dc9bcb40873c9778ecf1edd0c46ec57b7f66b468bce5dba2666648ac0c9818181c073f9f3e866f74d00403f2c6e22ae1d0100e8070000f313929393fd9747361020e2028f00e807f40300a01f0020aeb169e8e9e9e9555555d5d5d536c1c39f950e807e883b2a2b2ba75bdd1f00d00f00009d9d9d05050536f54507179db607807e0000403f000000a01f0000d00f000000e807f40300a01f0000006837d10f00807e403f000000a01f0000d00f0000000b443f2426269602002c78323333e7a21fa8400000a0dd9cab7e181e1e5e0600b0a868686898a9ad0b8542d41b0000d06ece837e383fb5c57a0b00c022a1b5b5d5dfe43546babbbba93a0000a0dd9c1ffd000000000000f109fa010000000000d00f0000000000807e000000000000f4030000000000a01f000000000000fd1023232323b6de6b5d5d5d4d4d4d4343436b6b6b5f5fdf2c9653040000000080a5a91fbabbbbcbcacad2d2d2a6db9622140a656767d7d6d69e3b778e8f0100000000201ef5c3e4e4647373737a7abad309d7acba366bc71dbb1fdcfbe8e387cb9ffc5e71e9815dbb8bd6dfb679b9b7b76b6161616f6f2f1f0600000000401ce9879e9e9e8c8c0c9304eb52bf2cb5d0f6eee9feff1a8f184e0f7ef68396f6fbf614af589160b79494948c8e8ef29100000000002c71fd30393979e4c811930169b7dc5adfd4fabb3f8c4da71c02a1fbec27521aa622929393bbbabaf854000000000096ac7e181f1fcfcdcd95f7bf3c143a78f4d9d895831f7ef1db8f6ecfbdc7e645343434f0c100000000002c41fd20f190939373a1eb60cdda373b7f330be5e007c90febc4404200000000002c35fd303939693d0f69b7dcfaf6fb1f4694046def9e962ad8b9ab60d3d66deb52bf9cbe7ec3f69c9dc5a5074ebc71f2ccd06878fc63c79b6d6a757373331f0f00000000c0d2d10f555555d6f310513cd49d6891ae58363d575fbdf2d1c70fbffffb3f066e7ce6c5e33690a9bfbf9f4f08000000006029e88753a74ed99c871ffffc57010170b2e7ec86cd5b97c5c635abae7dfefb4d81148a4b0fe8524646c6c4c4041f1200000000c0e2d60f939393b6546bf993df0bb8fe3f7aeb1d4982653364effe83fec4eb3343a3e9eb37e87c6d6d2d1f1200000000c0e2d60f2d2d2d72ee6f4abb39308741e261f9f2d0b259b1fbc1bd81a474322929696c6c6ceecfd9d0d0d0dcdc3c2f490100000000a01f6686ed301d1877f4f6fb1f265db77a76e261d99ffd99fe1cad79c94f707bcecef9ea82282d2d55520909094545451d1d1d9393937cf6000000000097433fd8cc87b537dc18d8ea216bc71dcbe6c6f2e5217f2af689374eeaa4b4ca7ce907477272724545456f6f2fdf0000000000804bab1fcacbcbe5823f76e8295f3cbcdadcb66c3ed8b9abc04f562a4527e7eee807f48343e2a4b6b6f6dcb97397a272956c4d4d4d78e22d53cc2ecdb1b131a5b9c057a66a6868e8e9e9595045b2cf82016c0000000057403fd8cce9d73bdef31dfdd8175cba283ffbf519976c51c97e9da9ababbb44fac191939333ef1324e4432be5704f3a778a59fbc14a73d6f2e3f290969626677d4115c93e8b4b241401000000d00fd3323a3a7a61eb86952bfdc14bbff8ed47cbe60f7f4da7ba1317266a1714145c6afd60242424141717777676cecb0409f403fa0100000020def5834d7ed8b4759bdff950f5c22bf3a81f366cdeea6f2571617febb4b4cba31ffc09129595957d7d7d97413ff4f7f7d7d5d5555454d4d6d6fa398e8f8f3737371f397244e755ed01fd20916397060707c3b3eeeeeeeeeaea72ff76747404fe7519e9bc7c7de55e5f5f3f3232e20b159d5116fa3b3c3c3cdd33ea92456b6c6c94b6f4f5436f6f6f55555575757560f899fed5f3aa7af5d70dc4d2c3eaa1f4b7adad4da9e9d2d0d090bb45724e65b6c2a8902ab33f824bff564de13fa3989898686a6ad27955a32a04fd000000007005f483addc7adf9e625f3fec7e70efb279c5a5fcbb3f8cd99996b991939333bb92646464c8478fe240cf513fc8510e854285858552389999998a2f07fafcd43c07659d9e9eaef3f9f9f93a2f57d8e9075d928f5e5252929a9a9a909030303010c842659604726eb4e2a4a4a4384f5d39b6b7b7cb29cfcbcb4b4a4a523aca4511121313cd6b978baf6315d24aa5e3f02c4ca5e89222289a8aaa14aca2543695500550ca1b376e5481959ddd220da0c2d8f3ea16954489b8e7528e3a595c5cec174614151559d7504141812e298eebdfd04925a2083a501c256be72566540645d699acac2c1509fd000000007005f4437373b3fcb0fb1fda17bed0ea3cd275e66397782874d5b205805c5b3dbb9cef99ea07b9b0697f8adc5cd30fe6cafbb33be4f2da602da908ddebe663c8ed96cfedfc6cc921db995b11e46757565606b2eeefef77f3cee5a04b245c506553efece5caab00cabaa3a343275d47845c7ffddbd8d8a8e3b2b232f9dc765e3243d9353434843fa0d48b1c77274bf4a456123da38ead3b42b74b60d84359e1558d2e65a5a0bcdc2529251b39a6c2b89a696d6df565984aa87f4d3f48192a9abba4673169a463954465703d2a2a27fa01000000e00ae807b974f2c31e39f084af1fd6dfb6797e9df5b6774fbbc457255db76cc120cf5b8ea9f9ee31ea87d2d2d29a3f45eeb5eb7f900070a90d0c0cb8ae091b6f535c5cac44fcc918e6675b5f8461bd04e1b92b17db3aa3aaaa4ae9a4a7a79b065064379fc4b9d72a83c4866486f9e5ba458eb88e23763b3867fd82d2f3860ca96ca61994b5048f3b6f9d18ee79dde348cf482f59e1edb92415fcf29b1a91eb9f9d9dedceeb767d0a564e692aff9290ecd1c39a122b2f2f77e7554ef403000000c015d00f367e29b057f4dc777e08f08bdf7ee4125f38caa1a4a4446e68ec53ab6319bf24075d0ef4c68d1b957e6262624a4a8abb6463906c3286b236573e7cfef474fa41ce774e4e8e0ee4bb373737979595590f8652733d009d9d9dd21236b6c78642995f3e3e3eae1cf5af2d712b39e1e63638acfb22a2471e983fade2b9192c7a0af9f772eea54f92a6f0f5835f57bac52ee9014d1284a76f83a3c27b8a2e7cb33fefa3f07517fa01000000e072eb87f6f6f6f05d1ae67dfe835bdce9fddfff51ff5e75d555a573c336cc9ef5c8259bda3bd3babaa87e18191991669097aff4e5584b991415150596663a75ea940dc5514c952176fdd0dddd2d1f7d6868c8fce6b6b63639eb36fdddc4800900e90a1d9863ad2c7c9fdbc6389990c8cbcb0ba46f6ff4fd79ccae6f613afda067549194546b6babc921a70da2e887fcfcfc409d480259fad9d9d94aeddc9f629d2a7a58c91e778bb2433f000000005c01fd607e58da2db7fafaa1fcc9efcda3785897fa6597f29b9dbfd11937fa65d6cc74fda539ce9c8e513f58678e5b4049ceb7748e5d92bbefa6169cff7c3893bcffd8f58352931e90776ebebbbc6add286fdb3a25848481bfb095290d377ec99f95515d5dada402e95b82fe48aa8282024b7c3afda0fad42d4e894d4c4c4809d8f346d10fba4bb9bba92036b5c3d2afa8a890b2f287931516165ae5f84f7afef3793be80700000080cbad1f6c311fb962effffe8f012f7fbe282e3de0523e5af3924d21b86cfa615e566e8d513f982a907f2ce7582a420e7d2814928438fff93ab972dce5f2ea92dc62156c46fd0fa610ac87c1feb5f59deaebeb9d2ad047d9d9d9a9dc959dae2a779bb7602e7b7b7bbbb2ebeded55917c31e3a72ff75d29289a84845b67693afd609d570d0d0d7a10c900e90de57851fda0e2a5a6a66edcb8b1b5b5b5b1b1d11f67a59a5139f3f3f3f57949ff9497972b415beb5649d9e3e87c474787ee423f000000005c01fd600eeb0537b4a9d5ef82587bc38df3a51f7ef4d63b2ed93bbf913f2fdba55d543fccefce71863c6f39c181dd0fce4f2d39ea06f4dbab7d15c0c6dbc84596b36e6fe89b9b9b6d66822db864926678785827dd72a8969a3f59d947d11459deb3fd6b53b7dda2a8ca45b2444eb64d72686b6baba8a8b082a912746cab36d9c48ff0f90f262615cdcaef4fab08acd7a4e259578092958b6ffa53c2a3aeae4ed1240c74de9ecbaf2bdde29e4b7ebff596646565e933f2b724d72dd9d9d9aecb48575d0a7a701bb7a6bc243c74fb5c7a93000000006096fa413e5ff81408eb28983beb6fdbecd2ecf9e0d3152b12e4e0fafb9acdbb7e98c5c2acf34e94dce5a3cfa3a49969ee3156cb4c6b2fc605ac8cfefe7ebf5f4279b95d321caaa2e9d29c515e0000000030fffa41debc7c7a79f6dd673ff1377abb29ede63949873ffbb340e7836992fcfcfcb93f67b87e98fbf406b83c48ddb94d1e2406cacbcb131313f9e000000000168d7e383f3566462ef8defd07fd2e08b9fecb972f9f8b82f097853d3334ba7acd5a9d74c36fe6453fcce3f406b83c4833d8f7cdc653d98c0baa050000006031e987fefefe5028b43c143ad97376be46316ddaba4d9ac125f5d8a1a7e665e525a3bcbc7cdea737c0e5647474f4d4a953fae2f109020000002c3efd601eb9fcfb2ddb76b8bd1a2c1c3cfaec2c862d493cf8a3a1dade3dbd624582ad58ca870400000000b0e8f583adaa2917ffd1c70ffbfa41e1d5e6b66b565d1bbb82b8ffa17dbe08393df8994da5a8a8a8e0130200000000580afae1fcd41e05b6fae7d19a970212a2fbec27c5a507962f0f5d74ccd26b3ffda57fa3c4c3966d3b6ce4122be72c0d24359b9b9b8b8a8a727272b2b3b30b0b0b1b1a1ad88a0100000020eef483686d6d352570b8fa58404228749df9f899178f6fcfd99974fd6aa719beb822217dfd86c70e3df5e39fff2a10df8987949494b9afd90a579cc9c9c9baba3a9bf71c40cab3b2b2f2ca2e9b0b00000000975b3f9c9fda0ec27a21763fb85702205c45b8055e7ff1db8ffc5dab03a1edddd3366c49e261707090cf66b1236d909f9f1fbd032a333313a108000000105ffae1fcd43ec7b609b104c089374e4ea710a60b6786461f3bf4944d98c6a15c32d8a2ab17253b3b9b816a00000000f1a51fc4c0c0805c7ff308b376dcf18396f6c0ba4c1143cf079f1eae3e66fb3cd884695cc9a5812465ec13e86b6a6aa83100000080f8d20fe7a706bb373434b8c1ee49d7afdefde0de63c79bdbde3ded6fec20cdf0e39fff4ab2e1f6dc7b9687fe7782755656566f6f2f9fc7922123232376fda0ef0c132100000000e24e3f1813131352111b376e0c77139d5af027d1161414747575f1492c2506070767ba7be0bcec320e000000008b4f3f38060606eaebeb0b0b0b333232429e72484a4acacaca2a2b2b6b6b6b1b1d1de533587ab4b4b4cc543f545555516f0000000071ad1fc2999c9ca4c6e381dadada99ea87d2d252ea0d00000000fd00f1486363e34cf543797939f506000000807e8078a4b3b373a6faa1bebe9e7a03000000403f403c323e3e9e90903023fdc08e8100000000e807885fcacaca62170fb9b9b9d41800000000fa01e297919111b713487442a1105b7f00000000a01f20dee9eeee0e85edf8114e7373337505000000807e0038dfd3d3939292329d72484c4c6c6d6da59600000000d00f579ec9c9c9bebe3eb9a735531c3972447f1b1b1bbbbabad8b4ee72323636a69a4f4d4df595c375d75d57565636323242fd00000000a01fae24e3e3e3cdcdcd797979d1d7ffc9c8c8a8aeae1e1818e01b70d958b76e9dabff4f3ef9840a01000000403f5c49c6c6c6aaaaaafc39bbab6fbaf5d6db0bfe7ccfc1eca2433bbe7d587f37ddf370ea86ed57255cede2e4e7e73379f7f2909696e6aafddcb973540800000000fae18ad1d2d2e294c3ba8cacbc032f7ee7b5be27da3e8918fef6cdffdc53fdfac6bbff3a74d50abba5b4b454f2836f03fa010000000096b87e181f1f2f2e2e36af3475c3f687ebde994e368487f27ffcf73fdf73d054446a6a6a5f5f1f5f08f403000000002c59fd303232929595257f74c5ca55dffceecbb12b073fec6bf8e794af65da7240ededed7c27d00f00000000b004f5c3f8f8787676b69cd1a494af3cf2fd7f9a9d7870239a36defdd7b697595757175f0bf403000000002c35fd505050706125d075b73cd6d43b17f1e0c2967b1fbda0469292868686f866a01f0000000060e9e887c6c6461bb6b4afe19fe7453c58f8daf67c259b9d9d3d3939c99703fd00000000004b413f8c8c8c242626ca0dbdefc9c679140f0a8fb7fcc7aa3517763a933ee1cb817e0000000080a5a01f2a2b2be5837e75ebddf32b1e2c489328f1949494898909be1fe8070000000058dcfa617c7cdc3a1f66b454eb8cc2da9b3729fde6e666be1fe8070000000058dcfaa1a5a5c5b67a989124d8fd77afc5ae37bef9dd9795454e4e0edf0ff403000000002c6efd60bbc5dd5df642ece2e18167dfbc2ae1ead8378878bce53fbeb07cf917bef085aaaaaa1a9827dc06e1a2b2b2920ab9fc3435357576768e8f8f63f8000000208ef483bdc62ef97fbf8c450954bcf1d19fef397875d29ac4eb5366b4c19ced2807b0f4484848282c2c64b775000000880bfd303e3e2e0768f9552b629401fbffe15f37dcf580fea66ed83e23fdb0e99e8795d15fe4de53fee4f70884a511ee7f68df966d3b9c90282e2ea62f0200000096b87e3877ee9cfc9e556b52673a257aa6fa21bbe8903292cbd5ff5fe304c2520add673f79ecd0532b5624e81b9e9191c16e89000000807e403f100817096fbfff61fafa0dfa92a7a7a78f8d8d610a01000000fd807e2010a285d3839f6dd8bc55dff3bcbc3c4c210000002c4dfd3031316143b72bdef8e892ea870d773da05c9e79f1385e26610987ae331f275dbf5a5ff58e8e0eac210000002c41fd2032323266b179dc4cf5c39ab4ffa35c5eef780f1793b0b4c3d19a97f455cfccccc41a020000c0d2d40f6565651756467af8e88cf4c3967b1f2d7cfa2731467eaca957597c7145c299a151fc4bc2d20ebffbc39875410c0e0e62100100006009ea878e8e0ef93aab6fba75a65320620f77edab5616777e231fe792100f61f7837bf585afafafc720020000c012d40f93939329292972771e78f6cd4b211efef6cdff4c4af9ca0577aaa915cf92100fe1b9974fe80b5f5a5a8a410400008025a81f446d6daddc9d94af65cad79f77fd9077e045257e53dacdbffbc3189e25211ec20f5adaf59dcfcfcfc720020000c0d2d40f131313a9a9a9f278eeda573dbfe261ff3ffceb8a95ab94f2abcd6db895843809affdf497facee7e6e662100100006069ea07d1d9d9298fe70bcb973f58d3365fe2a1e28d8fd6debce9c272f8f716e25312d00f000000004b473f8823478ec8e9b92ae1eae2bf3f392fd31ebeb63ddf462ef57cf0293e2501fd00000000b0a4f4c3e4e4645151914988d8d7668d18bef35adfba8cac0bcb3aad597bb2e72c0e2501fd00000000b0d4f4834988e2e2621bc8b4b5a06ca69b525bd8fd77af255e7f6141a7b537dc887820a01f0000000096ac7e306a6b6b43a1901c20c9806f7ef7e5d85544f1df9ffcead6bb974db165db8eeeb39fe04a12d00f000000004b5c3f88dededecccc4c53025727add972efa30f3cfbe67442e291efffd35dfbaa53bef6bff1af5975ede1ea63acd64a403f6010010000205ef483d1d2d2e25484085db562f54db7deb2ed9e0d773da09071c7b7a419be74cd752e8294c323079ea0db81807e403f000000403cea07e32ffff22f2fec2e77e34dcba661f59ab5bb76171d3bde7c7af0337c470201fd0000000071ad1f4a4b4be50c3dfffd26c983b6774fbfdadca6630509861ffffc57f4361008e807000000403f44d00ff8850402fa01000000d00fe8070201fd00000000e807f40381807e00000000f403fae14a85579bdbca9ffc5e94f0feefff388b648fd6bc1463f52afdf04c756f7d53ebbc4f4461055ef403000000a01fd00f730abb1fdcbb2c2abff8ed47b348765dea97b376dc114b4ca53f5dd6cb43a183479f9daf277deee5133b7715f089a31f00000000fd807e987de8f9e05379f016ea4eb4a85af2ee2d74671466f7ce7ea6fa41322670528559bd66ad2ec9739d97278dbd4804f403000000a01fd00fb1fa880157fe523beb11f58305d3334525fbd10fe807000000403fa01f16937e383df859f993df4b5fbf415eb8fe1e3cfa6c6067bd675e3cbe61f356f3d17ffcf35f059cf5b7dffff0fe87f6dd9476b3ce6fd9b6c3aff928fae1cdcedf042ebddef15edebd854a44e1f6dc7b9491bb74e8e9e703f2e0c41b2775467fbbcf7ea2832fae48b866d5b576c622e8f69dbb0a2c3525dbf6ee6977efdefd07151421ed965bf5bcaf36b7f1dd403f00000000fa01fd10937e9054900fad4bbb76174945e8af8ed7dfb6d94988471f3fac3372cdedaa3cf5ab57ae74debc9c7efd2bdfbdb8f480226cdaba4d91757c51fd607333240c5c77c4f25068ed0d372a3b05a9115d956ef123fbb7ebf3b54fb9e7834f75556558bd66ad0e4c751c3bdeacd494884b4dff3a69a1c24b39a8ccca2ee9fad5e807f403000000a01fd00fb1ea87bdfb0feafc732f9f7067e47ceb8cceebf867bf3e63d2c2ef0a303961ff4a69c8773fd973d645b86f4fb122fce8ad779c7e501c7ffd2539f45bb6edd07939f1a652defffd1fe5cdcbcb971870aa4677c9e9b7659aa2e887f0f14b4a4d45f225900e94b80486cdf7504cddfbc881276cd526166e423f00000000fa01fd10ab7e90572ddf3a70529ebdceeb40eebeee7ab3f337fe32a93652c8a98bc01c86ae331fbb8ca65b7f297dfd067ff5581303be8651a86f6ad5c9a3352fcd543f042e59385c7dcca91ad30f6fbfff21df0af403000000a01fd00f33d00fa7073f0b742ff87d083d1f7c6a078137f45bb6ed3067dde6408757b5b4c7a6addb9c7e708b3e9dec39fbc881272c477f8a85a9147f8a4260ecd38cf4830db85a7fdb669d71418ac80d8832fdc05702fd00000000e807f4c3ccf483df57103e39a1fbec273b771584bbdae6914ff7a6dfbcf90d9bb74e37ffe1b1434fe9e4f69c9d4e9698c71fd88c62d6fae1fe87f69968d15d8160531dd00fe807000000403fa01f66397ee98b2b12e4ca074eeaccf25048074525fb759764867fd55eedebe0476fbde3cf81b670666854f7de9e7bcf74fa41b241eac2bfd10617fda0a53d7c8126890da71f7c81f1dccb27a6d30f364323cace12e807f403000000a01fd00fb3d40f72f4e5eefbaeb98e7566cbb61d3a7eb5b94d77c9bff7576b75f3a74f0f7e26f92139e10f70b29e01db5b7abaf5974ef69cd58d0a36f1baedddd38a76df9e623f4e71e9019db445936cd4933fc0c9065645d40faf77bc179ea952bb66d5b5b63a13fa01fd00000000e807f4c32cf583bc6da985b45b6e55843343a3fa57c73a63aeb684c1a6addbae5eb9f299178f4b2dd8557ffd25e9041b2c245da108c78e372bf2da1b6eb4b9d151d66fb51b4da528d840a9c70e3dd57df613dd7be8e9e75506e562cac4265a28b22484327af4f1c3cac5ff9455aaa4eb572bf79ffdfa8cfebdf31bf9baaa684aade7834fad7f63c3e6adfefa4b7c25d00f000000807e403fcc66ffb81fb4b4af5eb3d62d8e24efdf6d95a0601bb4b9abbb7617b9f9d36ef6f3175724b808d21b6e69a328fa41aebced3b51f5c22bd695615d0a7e466e812645b6214cc6bad42f5bc788fb944d8db86567959a248d9f9a0a6c4bc1a21fd00f000000807e403f5c3c9c191a9537ef365808bffa7ac77b75275af437e27e086def9eae6f6ab5b7fb72c49d2feeb65c90e4904f6f117c91102553dda5ab7e525d673e96985108cca57643a7540639bbb66983e2f88b38e9aa2ef979298292d22dfef61456fe88e9a31f3088000000807e201008e807000000403fa01f0804f403000000a01fd00f0402fa01000000d00fe8070201fd00000000e807f40381807e00000000f403fa8140403f00000000a01f080402fa01000000d00fe8070201fd00000000e807f4c362dfb7ee67bf3e230f554107818de708e807000000403fa01f081776833ef4f4f35bb6ed5816c6d52b57e6dd5ba80f68ba7da909e807000000403fa01fe2259cec39bb735781530ba15028232323778a8d1b37262727fb42a2fcc9efbdfffb3f5269e807000000403fa01fe22efcee0f63c5a507968742aaff8484047d10ededede3e3e3810f687878b8a9a9292f2fcf54c435abaead3bd142eda11f00000000fd807e88a3d07df693ac1d775887434545c5c8c8c8453fa9dede5ef9aca6221e3bf494e407d5887e00000000f403fa212ec4c3bad42fabda535353fbfafa66f47935363686a6ba2c76ed2ea226d10f000000807eb8dc1c397244ced0a1a79fc72fbc6c2b2c6ddaba4d759e9d9d1ddeed303e3eded1d1515757575353535f5fdfdddd3d39391988d3d3d3939898a814ca9ffc1ef579f9c3abcd6daafc8282020c22000000c4a37e90932a6768effe83f8859727ec7e70af2a3c2d2d2d201e4647472b2a2a12121202eb2f2527274b4e4c4c4cf891bbbabaac1742be2c557a99c3332f1e57cd9795956110010000201ef5436767a79ca14d5bb7e1175e86f07ac77b365b7a6060c0ff147a7b7b535252964d4f565656406f98f05b7bc38d678646a9d8cb19eedb53ac9a57fd6310010000201ef5c3c4c4840d86e93af331aee1a50eb6c3434d4d8dff11484bd847109d8c8c8cc0ea4c9999993a7fb8fa18157b39879f255dbf5ad53e343484410400008078d40fa2b8f8c2fbd4fb1fda87777819e6dda6a4a48c8d8db9ca9f9c9c943058161bfaa4fc0faebbbb5b27e5ceb216d3650b476b5eb2ee20ac21000000c4af7e181a1a0a8542cb43a11ffffc573888972eecdd7f50ae677575b55ff9cdcdcdcb66427f7fbf7fbb698f1fbdf50ed57b19c22f7efbd135abaebdd059d7d5853504000080f8d50fe73f5f852979cddab7dfff1037f112055bb3f5d4a9537ecde7e4e4cc483f545656fab74b8d30fdfdf284f77fffc7f4f51b54db85858598420000008877fd303939999f9f6f83615efbe92f71162fc5ab6b5b4cc9aff6898989653364e3c68d7e0a52233ab9feb6cdd4f0250d3ffbf5999bd26e8e380b05000000201ef5c3f9a99d070a0a0acc49ddb5bba8edddd3788df3184ebc7152159b9797e7d7f9b973e766aa1f020a647878582757af594b0d5fa2f0f6fb1feedd7f70f9d46ab9999999b1ec140e0000001017fae1fc542f444d4d8ddb82e0a6b49b2524e43c953ff93dc21cc3ce5d7fa52a2d2d2d9d5ffd70e14b3905353cbfe191034fdcb7a7d8062c895028545e5e4ecf03000000a01f22303c3c2c5729fa7604303b02fa61eee39744525212157be9484c4c2c292909ecd701000000807e88405f5f5f5b5b5b4343430dcc8a93274ff67f4e4f4fcf4f7ef213fd0d54f21ce74f8b9f4cd1ffa7286bea7f2ed4d5d5b5b4b4f4f6f64e4e4e62f800000000fd000b05c9b319e90779b4541a00000000fa01e294898989f4f4f418c5435151113506000000807e80b8a6afaf2f3131f1a2e2212d2d6d747494ea02000000403f40bcd3d3d3939c9c1c453c6464640c0d0d515100000000e807800b9c3b77aeb4b43434b5cf804f4242424d4d0d2b8702000000a01f00828c8e8efa2b321d3a7408e500000000807e009896d2d252a71f5a5a5aa81000000000f40300fa0100000000fd00807e0000000000f403a01f0000000000fd00e80700000000403f00fa0100000000d00f807e0000000000f40300fa0100000000fd00807e00000000403f00a01f0000000000fd0071aa1faaababdbdadae625a9d1d1d1e2e2e273e7cef16902000000fa016069ea8779ccaea7a747a9a11f00000000d00fb0e0f4c3f8f8f8f0f0f0e4e4e4a953a79ccbae7ffbfafae4c7fb4efcc4c484fed5257746378e8d8de98cce2bbbfafafa9191117775707050290c0c0c0472541c9d57764a306279dadada949a22287197756f6fafee528e7cc4000000807e00b862fa4171d2d2d2f2f2f2143f2525c58484ce242626a6a6a6eaa41234cd10de2da068353535261e8cdcdc5c5308f9f9f9fa57298442211d8f8e8eda2d478e1cd119dd98344567676778795c6a4a5c67541e15cc95a7bcbcdcd73000000000e80780cbaa1f14b3a0a0a0bfbfdf5ef9cbad2f2c2c1c1f1f37cd20c75d4e7f14fdf0bf5f6e2f3ba5a64b838383e7a7fa28d2d3d38b8a8a74dcd7d7a7685d5d5de7a7ba142c5a7891fc8c24455400dd6e9d15dddddd0909095555557cd0000000807e00b862fac17c7dd1d4d4a47ffd6148120ff2e027272763d40fd61dd1dadaeaa2d97824a5d9dbdbab838686061303a3a3a37e4611f5437d7d7d2814720399444545457272321f34000000a01f00ae987ef0bdf39494143f8279fff2e663d40f5d5d5d3aceccccccfd1c1deb8c6e9708292828d0714242426161617373b3f57244d10f7a9cf4f474ffaaeed255264200000000fa016021ea87d6d6565f3ff8f3a1939393c3f5434747878e6b6b6b5bfe14d7d5d0dfdfafab262a323232c225442cfac14da800000000403f005c31fdd0d0d010f0ceabaaaa6cfc92cd5e90736fe7e5f7bb29cebe7e181c1c0c8c5fd299a6a6a6b1b1312907a5efce9bd2b0e910d3e987bababa5028e46b0cc62f01000000fa0160a1e8079baf5c5c5c6c5314e4f1272525c9653f3f355d4131ed58577510d00f3ab6bb727272d2d3d34d004836646767eb5f2990eeee6e456b6f6fb75b6cae859b7a11d00ffaabd4868787559eb2b232b706949bcf0d000000807e00b8c2fae1fcd41a47c9c9c9920d1b376ed425b716d3f9a94da66d99575d2d2828904e70fa41c7361ec944485656562814d2bfb6ee6a6f6faf5fbcb42914a1aeae2ebc48122a4adf966a3d3fd54d618bbd2a359d2c292989b8710400000000fa6171303939393838d8d9d9e946bacbe11b1818c0c95b14fa41da207ca7679d948a686f6f0fef1c181a1a6a6d6dedebeb339de06ff176ead4293b6fe8580508df27cebe2dfa92445c7cc949889e9e1ee5e5caa35b541e770600000000fdb0c8181e1e6e6868c8cdcd4d4c4c5c16895028949d9d5d5b5b8bcfb790f50300000000a01f2e2dfdfdfd4545459207ce4f5db526f52b5fbf73c35d0f58f8ead6bbaf5b77cb17962f7711f2f2f2dcbc5b403f002c6a8686863a3a3aeaebeb6b3ea7b5b5b5b7b7979dd1010000fd10646c6cacacaccc9483e4c12ddbeef9cb278e7fe7b5be27da3e090f8fb7fc47e1d33fd978f75f5f9570b5b9b3050505e1436500fd00b028e8eeeeaea8a8484f4f5f360db6577a737333a337010000fd708153a74ea5a6a65e189874d58a2df73efa58536f44d9101ecafff1df777cfbf08a95ab746f5252925b7e07d00f008b828e8e0edbb1c4f8d235d77d75ebdd3283d9458714fe7ccfc15b6f2fb86edd2d2e424a4a8adb671d0000204ef5839c7eeb7648f95ae623dfffa71895831fbef35adfd7b6e75be3ea6f0200e8078005cbf0f0b0ad2d26ae4e5a23b5f0ed17daa7b3728ffef05fee2e7b615d46965311e1db9b000000c4857e70e261cbbd8ffeed9bff390bf1e0c25dfbaa6d5e041202fd00b0c0b1b58c4d39c87655bcf1518c86ee8167df742aa2aaaa8a79110000105ffaa1b7b737212141ada09acfb9280717ee7bb2d124445b5b1bdf09f403c0c24406cade9b7ce5eb774e37cb2b7af88b878f9aad2b2a2a4242000040bce887f1f1f1b4b434b57f5fdff537f3221e2ce4fedf1a9b6bc8746af403c002a4a7a7c7c44376d1a1b9d8ba079e7dd31690a8acaca4560100202ef4c39123476ccec31c872d85079b0b919797c7d702fd00b0a0181c1cb46d6db6dcfbe8dc6ddd83356da1ab563068130000e2423f0c0d0d8542a12f2c5ffe70dd3bf32b1e6c3ab5adc8c4be10e8078005457676b67e3e5fdb9e3f5fe6ee2f9f38ae04131212c237740700005852fac13a1f36dcf5c0bc8b070bd945876c5308be19e8078005426b6beb85d195d7a794ffe3bfcfa3b9932155b2858585d43000002c59fd303939690b8f14fffdc9181bc86fbfd0beabe295288b1b86774184ae5a110a85868787f972a01f0016021b376ed46fe79bdf7d797e5f973cd6d46ba398060606a8640000589afae1d4a9536aeaae5b774b2c4de3dfbef99f5fdef41749295fd970d703fa1b7bbfff57b7dead5c9a9b9bf972a01f00ae38bdbdbdb65a6b2c33bef635fcf35dfbaaef28793ac6cd34bfbeeb6f98480d00004b593fd4d7d7c7beecd2eebf7b6dd59a545b1cbdfc1fff7dc5ca553a13fb424c7279f972a01f00ae38555555314e9b7eb0a6ed4bd75c97f5ad7219491dc4b2abe6b75f6857e2696969d43300002c4dfd606ee8dd652fc422031eae7b674ff5ebeedfebd6ddb2abe29518873c2997f5ebd7f7c03c919f9feff4839c212ae4f230343484815b02d856d3854fff2496bed3bf78f8a81d6fbcfbaf37ddf3702c16cf168df8b77ffbb773008b9fb1b1318c0600fae14fc8cdcd553bf7c0b36fce7498af9adeab12ae8eb143ffd11ffecb328025416262626161614b4bcbe8e828c66e91929494a48f32c6dde2dc18276989ac6f95c7724bea86edfc526029919090909191515656d6d9d9393131810d01403fcc463f3c58d3b662e5aafb9e6c8c31bee987152b12b276dc41202cdeb0f6861bfd06b5aaaa8a37738bd2464f11bbc5cb3bf0e2ba8cacb5376f7abce53f625f8529e9fad5eb52bf4c202cf670f5ca95be9690fcaea9a9c1f401a01f66a61f241b66241e9c7e9019eaffaf7102615187ae331f3ff3e2f1ed393b5d53ca7e618b8bf1f1717d7057255c3da3eed66f7ef7e5556b52ff7ccfc1d8f5c3f3df6fe2f742581ae1f4e0676f76fee6e0d167376ddd66a62f252585a97700f1ab1f8a8b8b67b488e1dd652f7ce99aeb1eac699b517f45f1df9fbc30ffe1b6cd5861c292096def9eceda718735a5fa1dc92bc5f62dd5fe070b7baa5fffc2f2e5b68004fa8110b7e1b59ffed299bef2f2f2c9c9494c0a40dce9879a9a0b2b236d2d288b71d8929acfdd7ff7daa33ffc170b31f6e6e71d7851b9ecda5d84e5252cb1f06a73db35abaed5d73b27270709b158b04d6f6299be2525e0f6c679b8ee9d0b0e530cfbcda57c2d5331e566f103212cd5f0dccb2756ac48d0f73c2f2f8f19110071a71fbabbbbf5fb5f7bf3a6586440c61ddf0acca98ab1e3e2d6db0b2e2c13f4c22bd85cc2d20b277bceae5eb3d63659e755dca2401e8f3eafbf3ad2148b7ef8f2a6bf9066f8ce6b7d5ff9fa9db76cbb2796f9d657255cadf47b3ef8945f07610987d73bde4b9e327d2cce0e1077fa61626222313151bfff58d6359f5d78bce53fac357dfbfd0f31b884a52a21ac1dada9a9c1022e7c6a6b6bf5616dbcfbaf63315f92105fbae63a19311dc4d2e3baa7fa75259ebe7e03bf0bc2920f3ffbf5199b5d5d5f5f8f61018823fd20cacbcb63dc4a6976e1ae7dd517d2dfb603534b58c2e1476fbdb33c7401f68858f80c0c0c5c58116ee5aa582633cc3458776bf993dfe347418893319cb61e1da60f20bef4437f7fbf7efca1ab56ecff877fbd149d0f5727ad51fa3231d859c2d20ef73fb44f5ff5a2a2228ce0c2273b3b5b1fd61d254fcfafc5dbd7f0cf5f582e42bff8ed47fc22087112763fb897514c0071a71f444949897efc5fdd7af7bceb87afeffa1ba5bc61f3562c2c61c987eeb39fd884426972ece002a7a7a7c7ba20e6f7bd89aca892953bc5cf81103fe1edf73f94e90b8542030303d8168038d20fa3a3a3b620c98e6f1f9ec7a6f4af8e3429cde5cb436def9ec6c212e221ecdd7f50dff9caca4aece0c2a7a0e0c240a37519596e87e939863b4a9e5682d7acbab6ebccc7fc160871d8fbca043080f8d20fa2b3b3533ffe2f2c5f3ea38de1a22ff66ad3a60f571fc3b612e224fcf8e7bfba3077363d1d3bb8f0191919494949d1e7f5b5edf9739710b29cb62a5d7d532b3f04421c4e00d3973f333313c302105ffa413434349884b86b5ff5dc7b1e4c3c14971ec0b012e22ad85aaef4e32f0a0607076d01ba18d7569a2e7cf3bb2fcb722a9da3352ff11320c4613833346a0b318d8e8e625800e24b3f3809216ebdbd20966d92c243c51b1f6d2d28b344763fb8f7777f18c3b012e22aecda5da42f7f6b6b2ba6705170ead4299310ab6fbab5e4fffd721616cf769b167bf71fe4fb4f88dbb065db0efd0af483c2aa00c49d7e106d6d6dd69a7ee99aeb72ff6f4deceb1bfeed9bff79df938d49295fb1390f0c5b22c46778ecd0538c035e5c0c0c0c6cdcb8d196a1db72efa3b1ec4b6dcae1ae7dd5b6bedcd557af7cfefb4d7cf909f11cf2ee2dd46fa1bdbd1d9302108ffa419c3b77cef667bdd02e26adc9fa5679f1df9f8cd28e3ef2fd7fdaf1edc3a61c6ce3a4d73bdec39812e233483933857ad1313e3e5e5e5e1e0a854c4564dcf1ad5d15af7ce7b5be88b2614ff5eb5b0bca4c3988f5b76dfed9afcff0cd27c479282ad9af9f43636323f604204ef583d1d1d1b161c386659fb362e5aaaf7cfdceafeffa9beca24316b6dcfbe857b7deed1a517153dacdcfbd7c82314b84780ecf7fbf89a5d01729434343fae04c4518d7adbb45566ec35d0f28dc7a7bc1da9b37d9cc2ea71cd8d98640b050fee4f7e87a05403ffc6f4784ccc1cac46bd6a57e79d9f4ac5eb3f6be3dc527de3889722010d00f4bc0ee353636e6e7e74f67f1d2d76f78f4f1c3affdf4977cdb0904f40300fa21b27e90789069e83af3f10f5ada8fd6bc241b61e170f5b1579bdb4ef69cc56e1208e8872568caa790ddd367aa5077a2e5f58ef77a3ef8942f3981807e00403fc4a41f080402fa210ef5035f690201fd00807e403f1008e807403f1008e80700f403fa8140403f4cff43eee9e9994b22636363d36d6a312fe9cf3bf263542af40381807e00403fa01f0804f4c315d00f656565b9b9b9112f8d8e8eea79070707d10f0402fa012f1000fd807e2010d00f17d0134da71f1626e8070201fd00807e403f10084b5f3fb4b5b51517171f397224140a151515d9dbfdb2b232db153e2727e7d4a95316b3b7b7372d2dadbbbb3b333353975253539b9b9b5d3a3a9f9d9dad4432323274ded70fba51e9e892d25439474646ecbc32adacac54eebaa463bf54fa579113121294e3f0f070434383a2c95150ccbcbc3c9dd179256b915b5a5a94a97254c1dadbdbed16bb545757979e9eae4b92228aa64b2e8ba6a626bba40751b4c9c9493baf38f5f5f5ba949494d4d1d1618f969595a5983a535e5e3e3e3eee12d18dba5da52a2828d025f40381807e00403fa01f088425ae1f868686e416cbf356332c977a626242c7f29ee53a0f0c0c545454c839eeebeb534ce9810b7b11a4a72b9a5ceac2c242fdab38baa4088aa632e85f0912b9d44e3fd8a59292121de88c1c71a56fcebae24b24480f545757cbeff74b353838989f9faf98ba454552d992939395b50ee4dcfbfd1bca4ec74a41593736369aec51045d524c652deda1d474a3d488f3efe5f7eb92feeaaed6d656d580dbc05b7114530a4a1a46372a17c5943650f9bbbaba24545caf8825a24c15adaaaacabc7ff40381807e00403fa01f0884a5ac1fec47e7e612983bee4f2dc8c9c9915470fa4111ecfce8e8a8fe6d6969d1b1e4c1c68d1bdd2d7eff43414181130c2e3b4bc4f483e4c145c72fd9d020d7e1e0eb0739f4caddef1030fda01c2539e4d6bb4bae7f40394a30f897546029013d9139f1922efee3fbc3a8a4221441f249e90712292a2a423f1008e80700f403fa814058fafa212525c577b21312126a3cb2b3b32d82e9075f5a38fd909e9e5e565616f8219b7f2f273b2b2bcb4f509aa1a2a2c21482129fae60e1fa213cfdb1b1311d343535b94ba74e9d32fd303030a083cece4e7fa49625221da2031b106598b4e8eaeab287aaaeae76774957a8187ef915a1b6b656f51048bfb1b111fd4020a01f00d00fe887cb17ea9b5a4fbc713296986fbfffa15cc6eeb39fb833bffbc358c4984ad036b29d2e5cd2a2bed9f91b6531dd7ee1a7073fd3d51fbdf58e79c03ffef9af680eaf947ef06705281d79fca56138fd60438302fa4129f86fe22726269c7eb0690981d46ce244f419d201fd909a9a1aae1fecc0ca60986cd0792bad3f875bf2c0fc7bbb545050102895cdf4f03d92f1f1719b041288d9d1d16142c54f5fc5403f1008e80700f403fae1f2053d75d68e3b62f7175ffbe92feddfe75e3e91776f61c4984a7059542e6951a53194c57d7b8aa33cc5e1ea633ad6c1ee07f7d21c2e04fd505959999898e847181919b1813d51f4435656567171b13b6fefe6cdb796dfef774d588e36666946fac12fa4d30f9393932aaddf5dd0d9d9698554b175e0cff076fd03fdfdfd3af0675c4827b8e70a78244a3f30b77b686848e5b7f47de9525f5f8f7e2010d00f00e807f4c3e50b476b5e8ab143a0edddd3b29bbff8ed47f6af6a6c3a6fbefbec278a66a1eec48597a37bf71f74675c0a974eeaacbde1c6ab57ae3c3df859446df3c515093d1f7c6acdc0abcd6d3487330a6786467ff4d63b078f3ebb3d27f7c2af66ddbad9ed8710d00ff65addb9c572acd3d3d3fdf90f11f5436d6dadfc6c77c926139b7e282f2f4f4a4a720b22f993282eaa1fdce8a6e9f48345730b2ea9b4393939ae90797979999999267ee4eedb1a4d96821e4a57ddac0c15382121c116860a78244545454adf1211521d6ea4938aa7f25b2252141b376e9ca37eb0c9df7cb71763d007273b463da01f00d00fe88745d36ec5e2cdbff6d35fce570b17bb7e30fb7eec7873e0bca48bceefda5dc4c7378bf07ac77bf7ed2996300bf426cd6ebf85807eb02e08a526cd20af5a7e767272b22db214453fc87b96e36ef395f3f3f3cd93b6f2c8f396e3ae4b151515d21272919dcf1d5d3fd84c0325abdca3e807a5afec94ac15403ebd2be4d0d0506a6aaad48b725104dfbf974cb233478e1c292828d0f9bababa88fd0fb656acd251b59495954966d82ab7e7a7e652dbec0e3db59252b439ea074b816ff8620cbb1fdccb4b10f40300fa01fd70b9c323079e38f4f4f376ac0385b7dfff506ea26a23ed965b75d5bdc5fff1cf7fa5b6ea64cf59051da8c656af59ab83e85308a2e807a57cf0e8b3eb6fdbacbc366ddd76b4e6a5c0848ae75e3eb165db0e5dddb9aba0edddd301fda0721695ec572175fef6dc7b7ed0d2ee2e759df95899ea64204765a7f36e12850aaf2c0209de9476b312bcf31bf9eeb9144731fdde0c558bcef8a5d58d552fbcb254bf24aa99bc7b0b9d60c8cccc94fbdbd8d8d8dedededdddedf65598116363630d0d0d81939d9d9d72f7e5dfcbab76c9eae7a9a65af17d17bfbfbfdf8e25219a9a9a744b7575b57c7a5d724ac35d529aadadadeead7f4747873ffe27c0f8f8b80a26d75cfa4152c12fa4ca10485f35505f5faf684ad317398ad9d6d6a64bbdbdbd81f9cd52174a44a5521dfad24b27034accaa48312521dcf2534e5d5822cdcdcd9213737465d00f0402fa0100fd807e98e54b7d1dc87bbe66d5b5f2e6ef7f68df86cd5b7d2fdccd7f9817fdf0feefff28d75f97e498eaaafc751d4b2d38a75c1eb99dd15595e1ea952b155c5195a9fe55518b4b0f3cfaf8e1f4f51b1459f2c0a5af5b968742364ec905d3067e178a9bfff066e76f5c828f1d7a4a09ea765317c78e5f5815d4bde4eb3efb89b9d16e2a88eed5bfbe14594a410f6e7d0e090909f2d1fd7e8078a6a4a444c2c0fdab9a494a4ab2e3fcfc7c7f92436091d905c8a2d30fbb7617e9c72e6ba01fa9fdeaf51bdc9eb353ff2ac89848f1baf1998a7cb8fa58d2f5abcd9ac926c8a4983d91f171ef0574cbce5d055f5c916066c77edd3253321a7e4fe6cf7e7d4636e4f58ef7742c4b6876464107d3add9a0f8329e664e756c93afec3587fe7de6c5e3323b6b6fb8d16e578175d2aceba1a79f377bb877ffc1c0db1015f591034f58e2bac55945953cbc3c8aa0f37e47a2ee52eed625aba45400e5a812fa6f6102f17ff4d63b5630d9463f9ace5ba6f6747a1c7749d1d6dfb659e7f5743a76f56677a995d1257d0a32c201438d7e00403fa01f16997ef07d7d355d6a182eac3a3fb5e65260fef41cc72fc94d0f0c315263e962aa9909cc8196487039aa60a6735c03a9336a2f2f0c707ff7b49db17917ae65b5c635a0317cfd2031230fc3cdcdb0679733a16757dba6d6517ac6e928fdab4beea1ac39b1f6788905ebb111728267d7cfb05491603041d5d2d2525555150a856a6b6b9d609096a8ababd3a58a8a0ad55e6b6bebc2d70f92cd11a70c2dc0203b60debf7e7af244e5faeb5fc906d90d09091dc86195eb6fbf4dfd5ae5aa9e78e3a46c827eb6d6bba8bbe4e9ea929908fdcce5af2b9aac841482cc822e99b3abc8bea19321b296c26ed125bb45d1f4afbf3c9d6f6794af329279a97ae115a56c4eb60da7d45daa792904d91cfddc2ca62c9b4aab87d27973c415d389221db87e54673365fa74afea44855125c87c3983a6087eeb6636d92ea9fc7a6a3da9eebaffa17d2a5bf8fc348baf72d637b5eaaa8aa468f6da4899ea58c6dc3295c5564c1d9bbdd525a569cfa2db5df3e12ee9761d4bb7284cb79a1ffa0100fd807e581cfac1f721cc505a3b3abffa41de7ffafa0dfe19b51f6a63e4c7db0021dde5bfcf53a9d43a5a8ea62ed49007966db589da6e9aaf9a4f358d2e82b58ebe97eff4832568eff3fc97673a692dbdf2755f8f5dbb8b94ac827b7c1dfbaff7964c385c7d4c3560fb2563ef024c4e4e363434e4e7e7676565151414f8e38b262626a4256c16755151914d7a5ec8d8cc13f311c3670d2d4cfd2085e0f755eae7a99fbcebdb94e76daff9cd8239b7dedeb5bb1be5b69a055034b7ac8285f5b76db657fe729afdb703cad7ac99ec8f9272d6d20c8e944044fd200fdb7f757253dacd4e3fb8371a66e27c5329e3a3337a1cb38d2e71c5718fefacab94838ca77b34a5a6e2994d8ba21f14c71952dd227913fe1ec4e2fb1d0b3277aa49eb46f097b053052aa62dc82141e55b457ba163cd872ad6b7cc268754cfe80700f403fa61b1ea07354b811908cee8cfa37eb086337ced54eb43f00ffca016dd72b49284cf1a0c14495ac2bdb453eb6e6f2803f1ad0c96a05a5fddee828d37b086ff68cd4b2e29f312d430ab6957b2369cc9efd6581a419e818d49088cbc8725496f6faf4d0117f6427a81eb077ff168fd721564645c90b76d1102aeb37eeffa5dfbe998050878b4f60a433f707bafa19fbc4d12d38fc27f73af94fd4cf5eff69c9d11f583ef1c9bb5b145ea74607bd1b80ed2fbf614bb04ef7f689f33b92a8fa90e1b87e99c7e675d95bbe207cca9d9c328fac1b2485fbf41366dba0fdde2bbde0f2b8cdf529cec39ab07940d94a870fa4195e6bfe2313b69cfa28a556dfb55a73381f741e80700f403fa6131e9874025f89a61def583eb2b70c126e95a49ae59756db8d360393ef3e271bf24d3e9879ffdfa8ccbdade7e052487d30f2693d4dceadf40b0590df6864cf95a2f87b2b65d26d4f6dbbd7ee3ba04c2fbbfffa38d17a78d5c8c8c8c8cd4d6d6ce62a64a6b6b6b4a4a8aa9087df9238ec65920fac17ffb608b3d047eb9e6f187eb07df44b874741070fdcd47746f22acb3d4bf7dfd6d9be5c747cc34dc2ef9c64a56c8dc773383ee92994ab9e08134dd5c0b5d95c63099e1fa669d8993431f70c177ed2e32b114453f481dc9362aa6cd715235869b328bef7f196c028959727bcfa21b65bdab5e78c5e98780d93f3334ea1ed6e65a44b4b4e80700f403fa01fd30ad7e907b6a2d6520b21a15930d363f3b301adb15d54614f8fde92ecdc0b6719bb66eb39776d206abd7ac0d0cb175fac1d44520c140500379e737f2e51fa8e1545b68830dd460eb29dc7bc125131e3bf494ad611af1f73231312147b3a8a8283b3b3b2323233737b7aaaaaab7b7179bb8a00c9a7d82cdcdcdfed25517657c7cdca676d8dcd683479f75e38216ac7ed0cf3c30bd584eb09bff108b7e90036d2327fd98ee776d6f226c8905b75b8eac81df956199469c07ec5c6a379b59a643b628a01fdade3d1d78c7a147509ace6ae931a5648a4b0ff8e3829c7595c209ac4cadf8d6e31aa80427604c965845e953b69512dc44af800db7590dae724c502947d9553765c2deb3d8c3aa3e7d6b6c75680f6bcb54f859a8188b65ee0dfa0100fd807e98937e70b3116637ff416d9bda2abfb9b5b6c7fc007ba9ef37bad6fc588edd673f591e0a0572b7575ffe8469d753614371c2fbc79d7ee83af37178824a2ae9fad59216cea5b61150ce5351fcf5b76dd6c988839e176f50f5ae985a85c6ad913add2bea00f9f9f9acceb4a0f483617b47747474b8156c2fcad0d0906eb1dbe5462fb4b1e901fd60d38eddda09b2156e62748cfac1de20b8a1443208f2717d4f5a52c14c9653536670dcea73325f2ac374f31fb6e7ec3419202fd939fa01fd60cb42b89836c5c29f95216bb6f6861b6594fc57f5ceba2a6b4576fd126678cd841e7afa795b0ac24d0231fd602f41dc7a50ca5775359d7e701ebf558e8dd854697d1165ef1d2c53455075d987a294ad6fd91ef6fe87f6e9295c79ac2f7711ed62817e00403fa01f66af1f14d356e58bbeeed074fac1de81a949b606efcdcedfa4dd72ab5a7d1dd8cb30fdabe6c71c17354276d515d5966f5253a7c6d5bae01559ad6fe02596feb5f3ee7d5b44fde01254c3a6564db92b5fddb87acd5a7b39e746270b3744c1ad4d147d05db45176c212cdbfb39809b683b1dc9c9c9a74e9dc2382e28fde07f3a151515b1f714757777dbe677e601fb6fa017947ed00f76cbb61db612a86c82ad406da62046fd608327e54ccb02ecdd7f50deedfadb36bbdfbe530bfe04035bf34d46e9be3dc5b21eb6f6837f8b6f6774557eb6dc6bdbafc66c51403fb865a925301e39f084cd01f3779531775fc1b772cebaeaa49eda5eedab9c8a269d6052c4d6a752be7a583d97adaa67659044d12328a60e74490f3eddf8253d828aa482298e52301d6513c36ccec69ddfc8570a8a666f6a1441d56b531d74d232b58795d1b6f5ee545415c9968d62fd2500f403fa212ef4832da86acb3ece6eff382568eb8ebbb55fdcce6ed6e6d9dae1c6aedd456a815c51d5d8c851b009be86ae862b0437142a625789af1fc21394ea3031e3822d41e85e73daaa4d8119e74b20584befef6060d4d6d62e8b0139a9f4422c4cfde0484f4f8f7182c4e4e4645353933e53dd65ab184774912f7390e908bcaeb69708f29be5923ef7f209d74b20fbe3f749ea2ebf573390ce0f5adaf5800a3a1f18b565bb46047678b04c155f993ef3e2f1e946e0d8e6305202b2362a8cab401d28cd80d5d2bf3aa99832b0e1139a8f1d6f0e2c90a5c8ce26abcccac824506027079953b9febaa4dbed595c31145379d9e48d88335ecc86cbee1d3cfaac52f0abd7aa54d959caaa9040096d9d5c65e18f5f724555a6ba5775b888c403fa0100fd807ef8dfce68d766e820d099a01651ed99b516feb11b27a0f6207aff83e2ebaee97c0ea529cda0d65ae9446c42d482eaaaf9f12a5ea07953d66a7b14a2bc19b562472c80ce07c62b2bc1faa656e5f8e39fff2abc3cb6648aef3de8df053bc77476c136bb484848181f1ff77f23838383214f5c45273f3f1ffbb890f58323c609128a505151615f00697eb9c28bcbe1bbb221301473d1057fbe75ec4172c51f326a43521782f8443f00a01fd00f04c225f115b2b3b303bf91929292653381e9d48b423fcc68828434645e5edefff660acdfe0660b10d00fe1e1d8f1661b62aa67b7f59a02cbcba21f00d00fe807026189046bf58b8b8bfd1fc8c4c4446262e28c5cd2871f7eb807ae106fbdf5d6b259919c9c5c5959d9d7d717c55a767676a6a7a75bfc3bbf91bfc4562ebe1461f7837b17f514a9933d67f5081197968a1eea9b5a77ee2ad8b26dc7edb9f72ca2e559d10f00e807f4038130b3601322e544fa3f9081818165104f646464d4d6d60e0f0f473498d2937575754949498ab9626a15e345b4f82681807e00403fa01f08844bde34f6f4f4e052c727b9b9b9d32da825b3e956f20d4cea2510d00f00807e2010e225d82a5ba5a5a5fe0fa4b7b7174f3ade9036a8acac8cb80788686f6f77a398f2ee2d9cc5e0160201fd00807e403f10084b21d85e4eb9b9b9fe0f64747474a6dee79a356b72e10a919d9d3d6bd9909090505252d2d5d535dd5cea8181016651ffa0a57d7bceceac1d775c86890dbb1fdceb87c70e3d15b1cecf0c8d56bdf0ca9ddfc857a976ee2a38f4f4f3fe6247127876bb5b7eda059dd1f9470e3c81f5433f00a01fd00f04c22cd76f352732b07e6b5656d68cdcd0d6d6564ce49535683345aaa0a5a525f0b9fb8c8d8d959797db2aae49d7af7ee6c5e3f1b98aab7e235f5c91b065db8ef0dd1b2ed1f24db64b8f85b537dc68dbf9f94b699fec397b53dacd2a956de5a6bfd7acba569f919337b6579dd8bbff60207d9da1f9433f00a01fd00f04c29c82ed1fd7d1d1e1ff46e459ce68e8cbc4c404267251e8878d1b37d6d5d54d3755da989c9c6c6c6cb409d3cb43a1e2d2034b6321ffd905db8a3e7c73b74ba71f02fb6fda20437d0aaee741e221ed965b7d31d37df6930d9bb74a42d80635a61f146df59ab5beead3b10489a2d1fca11f00d00fe8070261f6e1d0d3cfebe750585818f0203333336374492536b08f0b5c3f449fdee0d3dddd2d8d61776dcfd919d883390e3748b12dedf7ee3f283fdef690ee3af3b16d97669b69eaafdb43dadfdaf268cd4b6def9eb65dae75bb5daa6f6abdffa17d8f1d7a6abaae8c70fda020f12021672aaeea855714c736d90cacbbaa384ad9e98783479fd55f7ff8938e251eeedb534cf3877e00403fa01f0884d987eeb39fac5891a05f44c0b91c1e1e76ebed44a1a2a202e3b860f5c345a737f80c0d0d151414d88d37a5dd2cc7975fc7abcd6db7e7de63b3c6a5b4cd2fdfb4759bbcf06b565d2be5208171f5ca951b366f95e3ae98f2e0a510ec5e3531eb6fdbac9a94b4d05fc5977248bbe556fdbb7acd5a057f485274fd20bf5fe72de53bbf91afd42296567a2f7dfd06a71f2478b66cdbe1efe3a663051580e60ffd00807e403f1008730a8f1c78c206c4077e299210517a2142a1506d6d2d967161ea878b4e6ff0191b1babaaaa92d8d08d7273e52847746de3b60bc2edc76c7eb9dcf4dffd61cc825c79fbd7cd7efee28a045b9f4a4d8c82ed9571b2e7ac6e94376f31a38c898aa81f2cdfaa175eb1649563c4a21695ec9780f1f5c3d19a9724752c53fdd5b1a408fa01fd00807e403f1008730deffffe8ff21a23b691939393724303d3a91313134b4a4a060707318b0b4d3f6464645c747a43007dbeaea3499ea50da02744d10fcfbc78dc2ebdd9f91bfd7be28d93fe2022d751a026c69fbe6c038a7c3d10711b8d28fae170f5314b36efdec288457df4f1c3173a123dfdd075e6633784497fd7de70a35404fa01fd00807e403f5c3cccd7abc41ffffc57b12f5fa8a6cb0f7359f7508d71f82a84164e0f7ea6c4230ed156dbacbb14fcd69d106521d7e5532bedb4b7b747fcd58c8e8e9e3a75aaa7a767606080d9d20bcda0252727575656f6f5f5cde8c6dede5ea70cb76cdb113ea49e10513fe88c3facc8b73ff2cefd8e025f099843efeb01f7ef45f5c3eb1def3959b23d67e786cd5b231655bac2da353f7d3784e9be3dc5a667d00fe80700f403fae122e168cd4b4525fbe77161f2d85711b966d5b5d6836f4b1066edb8c3baf2671a02cd70f855b58b8193f65e508dae6e54be3481b14fa40e85428d8d8dd8bb45c4e41433ba657878b8a4a4c494837e9eec273d3bfd6097fc9723f6bedf1cf779d40f8f1d7a4ae76dbab67ea792fa6fbfff61c45e44930a7efa368449b6f7ea952bada8e807f40300fa01fd709120ef3976a77f7ef583df0afeecd767d4e6b97eff1905b59a51968f3c78f459b58b0165525c7ac0e611ea46c663ccb4a5b41da9474646b07a4b921ffef087898989fa9457ac489063ca548759eb0799972fae48f00d9dadb56acefd7ce907194f99383766a9e7834fa51302af637ef787b15dbb8b6463adabd64f5ff6d316e1754d1efa01fd00807e8847fda0f6feb9974fa80d5093e0861ce8ccd19a975c1c79ea6a3c5e6d6eb33540dc25b52e8f1c7842f7ea8c6b7e14d3d619bcffa17d7e9a0a6a081f7dfcb0ce9f78e3a4af1f7ef4d63b7bf71fd4bfca28c655446e4abbd92d61ae76b7ea85572c413f05652787462775af7bc1a6a2ba065b62e0d0d3cf2b82648309036b1dfd17a84a2de9fad536565837ba465a4daca2d9335a823aa38cdcf003ebaf70e9a84a2fc376b30b2da88a6c3926b9986a326734921e1605696969fa7ce56e5e86ddd096b67ee89fda8e4df647d64c97ea4eb4f88efeacf583b4816e5490edbdf31bf9922869b7dceabf0791f95546b2a8b28d3a56ee1b366f75e3a6c2d3df9eb3d32ded8a7e403f00a01fe2513fc8e9dfb4759b9a1335064525fbd5b45823618d9c0d905533a6d642be6f403fe85f9db72d4b75528998845073b565db8ef4f51bd45ce940714c42e8af5aa9db73efd179db8ac8f4835a299dd74995c1b64abda87e5023a764adddedf9e0532565fbb9aaf555527265dc6b36130f6af0746c4da66b86e5e84b18e8f16d549212b1086a6255487fbe845b02c58d5f9254d8b9ab60ed0d37aad896a97488ceabddd519bb51c550b1ed059e448812f1974e8f9f20e5a6ba725372b3b2b2aaaaaa5a5b5b7ba6f8ecb3cfb0864b403fe017c6185eef784f26c86df5a0e3c0ba49b2243a6923c16412dd5a4c3271fe3b1dc5714bbb5a3aeedfc0804c1764a565d9947e7807ac8ca16d3b6dbb834bb4f8a50aa47fec78b3fe75b3c81e39f084cac6278b7e00403fc4917e3878f459f9cdae3951fba426c464805a0535246a246c05c6c0f8257b2befceeb16d580ad07a2383a766bfc297d3bafa64baeb9eb34d7ed9694e2bb391572fad58c854f6cf0e73fd8c45c15cff9f7f2da5d2bab4750bb6b8fe6d635b74542ac4574fa414ead5b2a517fa57fac795682cac20483453341e2eb07b5a0d203ee85abdda2565699bac9887a403dbb55d10f5adaddba8771fbda554e8984566061504908ace162e47ffee77ffefbbfff5bd62f34f57bc42f2410d00f00e88778d10fb6f8865bd7c8e6bc9a9f2d6777fd6d9be525fbeb913bfd602b78c814ba7bb76cdb61eb882b8e3f0559ffda402379d87e0fbb9c724bead1c70f5b3f869cf2e9a6442b2ff9f12e2f5b98dcc6143901f366e76f94826dcfe44a682fedfcd9814e3fc8a1f7dfe7f9637fdd25a90865e4d65c72fac1b67072e579eee513caabee448be4960ebacf7ea2c2483c28be7565dcffd0bef069d97118243b25a5f4897ffdffdb6edb187ff4d14758c3c56dcaa7e0bb4d20a01f00d00ff1a21fec8dbe7c623fb861fab6feb75b65dcd70ff202cd3bf76f34173930c7dafe957faff8fe1eb41215164dfe7ad50bafd8985a05e98af02910e1f31f1e3bf494b48dee95b36ec363e4f4dff98d7c3b76ab88aa48f6ce5b32c9662638fd30dd8861eb7bd9b4759bf566f89facd30f36de29506f26336cfd1929313d88ed26ab42eae4abcd6db49d8189a1a5a5a59842f40381807e0000f4c3620ab7e7dee36f1e24c7dd8dc9697bf7b4bc79db00d50d750df43ffcecd767dcbdf2e36dcc4f44fda00379d2fe8a49aeffc1dda8bff2d7236e8414ae1f94d485d12f1f7c7aff43fbe49dbb1e063b6f93aa6d90b11eca666e98bcf1fb1ffc1e0cc571f2c6b66d529aeb6fdbeccb27bfff2130e45791ad97c674912af6b9974f286b3db572511dce6eb559f403a01f0804f40300a01f16d67e0e726ddd9241326d3657588e6fda2db79ab4d0dff4f51bac4f60e7ae02f3c2f5efea356bdd981c39ebfad7b6139a4e3f28f2a6addbcc8d96677fcdaa6bedbc7c7437ffc19615bfa87e50815524dd1898eeac52290bf3661e3bf4941ec175656ccfd969d3189c7e90f0d8b079ab95477f25427ca9a0746c94948990807e90d8f0174e316fd8aaf1476fbda3aa70b32354360915d51b0d27fa01fd4020a01fd00f00e88745af1f7ef78731f9dfb64aa03c5d3745a1b8f480bc5eeb16305fdfb4819c72c5b18795f7acf372e22503e431cba18fdeffd07df61339f437a5dd2c3f5ef175e0864229cd2ddb76d8a4021d441cbf144031cd5faf6f6ad5bf7a0ae9019dd483d80c04155bb9a8a8d657a0a25a6f89d30f561eeb97d05fa76ddc72ab966cc0f4bbe5a1949d8a2d61a0a00337955c55aafa74df07eb51516a349ce807f40381807e403f00a01f16bd7e706be31cae3e261fd74601c903d6197fceb13c75b7c581fcf563c79bcdc5970bae63ddfb6a739b73fadbde3ded3a3402ff2a4edd8916c5972baf93eefc2f7efb91cdde969688b8489172f7831b4fe5b2a87ae1155b34dd229b9279fff77f54764a567fdd1a53af77bce7c668a93c7a9c83479f55f903f9ea92d2f13b1fac9c7ed64a4af2e099178f8797c78dec52be4a87c14be807f4038140403f00a01f968e7e2010d00f807e2010d00f00e807f40381807e00f40381807e00403fa01f0804f403a01f0804f40300fa01fd4020a01f00fd4020a01f0000fd40b8f2a1edddff9fbdf781aab2caf787bb710c02b4a3c2ebc9304f8a4a048a5e1cd1b0d03048c9c8682225d111939441726183c975b8a923395450ea4b576ace9b5074a3252ba9c89848cd1817394cfe199a45375a17efa5b5582bd67d997b59ef705bbd1ffcceecdf9e730ee71ce000e71c3e9ff559673de779f6b39fbdf7b3f77ebe9ffdf7fcc38f67aa99d324f50341fd4092d40f0441fd40fd400eb84c6de4fc45784dfa667924f50341fd4092d40f0441fd40fd40daa16ce62078f5ad534c10ea0782fa8124a91f0882fa81fa81b4cfb357ae85844eebef7c484cc46ff8bc48bb5b4c90d40f04f50349523f1004f503f503d9b379fb2ebca0f8f8f8dededef0f0701cef3d54c664a17e20a81f487294f9f0e399282f151515ac3a0882fa81fac173f9ded92ffd0cfd686e6ec6cbaaadadc5cb9a38e916b51d3549fd400c076161617895563bb5932469976bd6a5a3bc582c16561d0431def543575717aa03e394a9ac193d90f7dc978cb7939595a5de978c624adfb48d8933e63352f4f7427829e2e2e2f02a8fbffd017335493aa5ace4d1d4d4c4aa8320c6bb7e600fbec7f2e88993fdd2ce68ececec542febf2e5cb0683c1cf6038d9789149c441c0c430919d9d8d578917ca5c4d928ed9f8876fa53fbca7a787550741503ffc080b155fd0868b5fb37ef4a8355bcdb3e7e2bd949494d8b57896c4af602a8d15d3376dc32b282d2d6555e8ed686868c0ab9c77d77ce66a9274cc836515b29207eb0d82a07ee8477c7c3c2a85a3274eb27ef41c16ec7fa17fb5a5f0f0bebe3eabf7d5dddd2d92ef654b0d136a4cb870f152a47f5d5d1dab426f476f6f6f707030de263bf448d295f1b4478e1c61bd4110d40ffd28282840a5b079fb2ed68f9ed34d3c71d22d0e2c54d4e0b83ac33ceb425b17936b9479bef53b7fff00a43f841cab421f404e4e0edee68aa414e66d921c88c7dffe00c504625b1f4f4b10c4b8d60fd283cf25983c8769195bf046929393077a657d7d7d5151517093bbe73926d79874e2c7c7c7b31ef40dc01e922e88d7df3dcdec4d920e3a5d39e98b20a81ffe0eb288614979256bc931e73b1f5f90396aadadad4e55dfc449b770e2ca2873de5df391f2e5e5e5ac077d06b08af04ea7dd7a1b4b1349da726bee33282026938933a70982fae1ef50515121e361b8b7f1983376e972bc8bbcbc3cab0e87caca4aabb796929202970f3f9ec9441b35cace0f66b3b9b7b797f5a0cf00e54ba681452f5acc31812469dbe36a30181a1a1a58571004f583f5e753f636e67898b165497925de42484888d5d8fafafafa989818abb7d6d6d61610d03f10bfaaee0c936e1478f6cab5e961b773fb249f446767a774c34242b017822485bb0a0ffa190cec712508ea8701010b1575046a8a57df3ac54a734c78a1ad6b867996dd9a3a2323a37f8f8e9616abf332f77de1e2a54cbd5158517749fc0aa4766c6caceda258840fa0b5b5d56c36e3154f0d9dc6f5e8c8714ea868d96d9ad31e0882fac1096410f0c449b7547f789eb5e7e873c7ee7d48ffa8a8282bf3b4a7a747fa19f2f3f3ad5e597777b7c964c2a58365154cc011150f32a91da9ddd1d1c11ad057d1d5d5959090203653ecd2e56fd47ec2cc4f8ec30500b39f7e56d6000c0e0eaeadad65cd4010d40f4e909a9a8a2a233028e8a58a6a56a3a3dcd8836447e23736365abd148bc522064d5858986dcbb75c9d76eb6d1cb73d720bb62e4b588544868a6b6a6a62f5e7db40112b2929912d56a464a56fda56525e595577e6fdcfaf92a44ff2bdb35f1e3d717257e141c86619b004c01e70bc8c074110d40fffe7dbb969d326a93bf0d53c7be51acdc7d1a1f414a7a5a5d9be94c4c4c41bfe86fafa7a5b07b1b1b1b8b435f71926a3db896faa0c2a0b0909b1957684afa2bbbbbba0a040664410c4b842404040727232ab3b82a07e18348a8b8b0dd75b20264eba25fbe9671bfff02dedc811e51bb59f48addddede6ef52e3a3a3af49a3d2323c3f67d9d3b770e97fcfd03defffc2a13d38dfb25c95a5832a8ccf6d510e3015f7ef9656969e9934f3eb97af5eaf84162f6ecd96682f00684878727262666676757565672915682a07e183a5a5a5a929393c578f2331860486ddebeeb6059058c2ad2ed9c352702e95c58586857cb59b50cd9addc6582f5e265f7323187c3972d35bb8b9e5ffbe88669b7de26096e341a4b4a4ab85a2b4110044110d40f2ea1b1b1313535d5f0b7d190c4c861a0ad79649f691d76170fede8e89039d684bb60369b0f1c3860b5902e411004411004f58373c084aaadad2d2c2cccc8c84820dc845dbb761d3a74e8e0c1835bb66cc9ccccfcfcf3cf6d53bea5a5c5d6ae4d4c4cb4fb9ade7bef3df803dfd6ae5dcbe41d1a9293937372724a4b4b6d97ca25c61ba0c92b2a2ad2d2d2222222f43614084be493e2e2e2cb972f339508822008ea07c2b390979767b769dcf112a2df7efb2d938e208686bebe3e8bc5121313e34a2755585818d42687b711044110d40f84a7d831b2b7832d8a8b8b1ddcf8effffeef4c3d8218026a6a6ac2c3c3a5944d08089cb3243971dba18c5f7f9073e2eaceeaafc19f57fd29b3f4b70fec2c8bbcf7914063a81a7c78e4c811ee2a48100441503f10630cd911dc2ea2a2a2983e04e146f4f6f6666767ff75d2bc69e6fd4f1d865410cde0800fe6979be6c4a881859d9d9d4c4982200882fa811833c8924a038103f409c25d80dd2f9ba81826f827fcacc815e5a03375cf6f82aef745984ca673e7ce313d09822008ea07620cd0d3d3e3783da5bcbc3ca61241b8a5acc96c07a369e6fae25383520e8a5bcb9b6e8fbe5bf619e496bd04411004f5033106b0582c4ed77be5786b821826508812121250a0264f9f0d0d3034f1a0a646cc59922c93aa6520537b7bfbcb2fbfdc48101e80a6a62664487e350882fa81f0652426263a5dfba5bebe9e094510c3417e7e3e8a52903174f32b9f0e473c08b75b2e4d8fe81f07054d22fa81fba8109e86888888f4f4f4f2f272e44fd6000441fd40f80e3a3a3a5cf90c64646430ad0862c8686d6d35180c37faf93db6bf66f8e241f8e4f1e69b274e967d1efff33fffb37f44d3ff658a5dba9c24c79691f3174d0fbbddea23121f1f0f21c105880982fa81f005141717bba21f020202ec6e594d10842b484d4d45395a90f484bbc483f0fea70ec3dbf0f0f0fff99fff813ef13318de3bfb65cbbff790e498f38b6fbadff9f8c2de4365496bd3028382d468d8929212aa0882a07e20bc1b5151512ef6445b2c162617410c011d1d1d30ee0d13fc8739edc1ee4488a933e6a278d6d4d4c89ab00f3f9e49cb95f4345e68eb3a585631efaef96a63f5dada5ad60c0441fd4078259a9b9b5d1fc99a9898e89389d0d7d7c7a5f48911454949094ad0dc65294ef5c0a4d0302b3abd6579c61e789e9696265320fcfd03ce5eb9468395f44c1e7ffb83f07991f24d81e265470441503f10de87bcbcbc414d86ebe8e8f08158e38b555f5f9f9393131515151212a262171616161f1f7fe0c001c82ae60dc28d484eee5f2be9819d654ec5c023fbaa1443cd77462c7fc8e92d9b5ff9b47f4158a3f1c7bfad85507cd4423b95f4e4714dbb8b9e87d095fd49d97c4310d40f8437a1afaf4fb79e5d417171b15747b9bbbbbba8a808969655bc6412aa8e98981876af13ee8214b42dc73e737d605252ce0b9342c3b65b2eb9e238f0fa8e726d6d6dd2d1b1f6d10d3452490f67f587e767986749c30db7312108ea07c26b50575737d8c5f8a2a2a2bc37bed0034a394c9b151d9796fbd8fe9a278f37ebedb86b9e3e12b5f2a7628d017171715c769018267a7a7a9097260404ba2e1eb25ffb3d322172a38beec32297e0118d8d8d322271de5df3699e929ecfb357ae2d5cbc542655b3a62508ea07c23b909e9e3e84f5bc5b5a5abc2ea67d7d7db2f47e7f5b57e49247f65539b6c6724e5cbd37b3505444484808f7be2086039996e0ca4c064564bf50f39daebb9fbb2c058fa8acac14ad72937f006d53d22b78bef53b91101111115d5d5dac2e0882fa81f0f436d180808021e887bcbc3caf8b6c565616427ea39f1fccb241b501dfb168256e34180c9410c468ea07a3696652ce0baebb97bda86b6a6afa3f18a2f3699b92de2321645da6e4e46456170441fd4078251212129454686c6cf48118151515f5b7c806043e5a543d84f53117aede8cdb8383839b9a9a983d8821a0b7b757e4ab8b592ee3d71ff84df07771e6835036a296022b732d1a2e7e4dc394f416d65ff8ca38652af26d6969296b0c82a07e20a81fc61830fac5747b30bf7cc84bec47defb8874aff7f5f53187104380c9644216daf8e2472e0e5e821e185416950500641d1bf63f90dec8972d35d252e31babfc1104f50341fde0c5888b8b43447eb26ec730b7e89a3c7db60f2c3f458c15d2d2d2fa7750d976c895fc16b5f2a7d1abd6bb9e3f337efd81cc40c583bababa701c1814447b94f43a26aded2f26e9e9e9ac310882fa81a07e1833d4d6d6f637684d31391d0a0207f73f75d8818375856fc812fbdced8818022a2a2a907f662eb8c7153db0f1c58f36bff2a9ebfa212e2d179e6fdab4090f4299c571e4fc453446496f1cc5249b4278e32a1d0441fd40503ff8887ec8c8c8402c963eb6cba90516bd6a3d5c3a76136abe136eb829043104747777cb72052e0e61729d3927aeca4261525a65b64ffaa66d3446496fe4862d3b9418260882fa81a07e186df4f6f6060707231699a5bf756c81adfdc5f149a1614ef5037408dc40938c42e02d16cb409df81dd7313a3901c170eaacbdbdbda7a767a40383d47025309e0cd9ebfd8e452bddab1fee5ebf5bb63b94a7e0007f5fb6d4d01225bd91ef7f7ed5cf6080d8e65aae0441fd40503f8c01dadada64f09263f3ebc9e3cd100f8fecab72aa1fd27f755237d4461445454566b3d9f67c67672744d1e8bc174416c170ece6f2e5cbf8d28fc2c64f480da781f170c8bb43aa3eb0b3cc5de221e3d71f1826f8c34f595f58368f334e997aa1ad8b9628e9a55c12bf02d9b8a2a2829f6382a07e20a81f461b32103c2c7289630bec8e452b5766eddffccaa74ef5c3d6f226d94e6e0cf583ec24e039fa411299fac1451c397264384b09db6648a369a63ed8233535b57f88d4b69db44149efe5c1b20aee054110d40f04f5c3d8c062b1f42fbabafc2107161894838c2771453f80922c560fcacfcf4742e5e4e4e08327cdc05d5d5d05050548499c81c9a8affa0a97b0f612ae036ef43e7a5c4a4b4bc3f9e2e2e2c2c2425bfdd0dada2acbf8c05bd5385757572777c1dbcb972fcb49788bbf30eb11365c4a4f4fc7bddddddd0824fe666565298b1fcfaaadad45201313135352522a2b2bedea07e595fe20f88990c01902a0870756ac3c050e6cdf0b920897f43441001030757b4646066e4778f07435324ae98773e7ce21007abae12f4eca31dc1f387020f13a103535d91d8f437e5001530935fac8cece468add3c71f230274264bff67b9990131f1f2fa9245acedf3f803b3f905e4d646059c895eb651304f50341fd30da68686870dcffb0e5d8671302029767ecb9ffa9c3f885631c6c2d6f1a6cff034cdb888888f0f070241d4ce1cececeb0b0309c292d2d2d2929817b3593a1baba5a5a8b61cb4221188dc6b8b838b904c35d2ec11087ed8b6fa7ad7e80112f63e8e14ca671e3110683010631ee82118fbbc492966e0a0409b638ec691cc0b7989818b8c4734d26931a858530cb5ff8003d03dfe0de4a3fc03704152ecbcbcbf1c4a8a8283c08d1c4798444b62497f0c073151ea81138b35d4705a2c26a1aba040c07f01fb7434b207d2057703b2265a51f4416ea3d1ef82b5323604623d991f8500e08276e816d2d2608a2861781a8a9e46d6b6b1b936c89f0482f01f2de900732a5ffeaa4ccd8417c65cf07893bce643ffd2c0d50d2db699e3d1799b9b9b9995f6482a07e20a81f461562a71a4d331dac921979ef23c2394bfadbd171e0a05578a0f90fe6eb502de5d9d9d93061bbbbbbe5af0c4987989196727d5d11d8b8aa3703b7880d2d26269ee274fc120cc78080007d4b0a98ecb1b1b1ca999aea2debd8aace0498e9f82b0116fda0020fc1033fe5afba05363734836acbbf7cf9b21a70af8f5fc22fac7f7dfbd8e4e464f86f1b0ba826a5a9c437913d700fd9a077ec28b5e68a7e803cd0379f821bc4452e21fcaa8b0311c1d3c7306f237911002962512b7fea40b2da5d6d095af7463f3fdc8b772de2e1c7bfed2f31efaef95f7cd34deb93f48d8d20f4ee508220a81f08ea87d1805a7f69cbb1cf9c9a65ae8c5fba37b3d0eefa4b306df593f80b3bb85183d168cccbcbd36f696b6b937147f010f6aed8d038a31cc01476aa1fa43703f6b17a100c6e9ce9eaea12676ac122b1f245c3a89e1931c1f1ba2178ac449784c476fe03ac5578555858a83cd7f583c8126815151e98ec4aa8e88020512aa5a0a0202222c2aa851ec1803f92155dd70f902530a9f5940f0f0f971e0cc836e91881b7a3b05ad440888c8c549d06482e59d1d530c17fe1eacd4e570983cc400e94a55a01a4ad1add21bd521327ddf2ded92f697a923ec0adb9cf204ba3aae1179920a81f08ea87d186ecff00abcba97e80c698141a36b4fd1f60daeadf39d966cefcf790667598c5a9a9a96235c2888c8f8f175358ac7035885fac64a7fa41ba2fcc36802011674a3088ffea6dea463f5eb72e1264f76231c7957e80c10d0b1591924d8e535252ecea07d979c06e786c1be055cf800c37527d3589898986eb888a8a821818947e801b19f7a5433a3af044bc02c80938c6a3212a54cbfd6862e9d2a552b2f0f6a121a11b652c93c0689ab920e9890776963d5a540d410b3eb6bfe6c1fcf2b8b4dc69b3a29533bc32f52a21922593070605bdfeee69da9da46ff0b917cbb90b0441503f10d40f630319b703619073e2ea30d7ba71b0ffb4d5d2402121216aa88c1560bfc6c4c42055a5095c99c2b6fd0f2525254ef5834c99b0bb1784d5324d8ef5831e5abbfd0f7000bbbcbaba5a662deb9d1bba5708338ed5c02da7d20e52010a075241a2808445d2213c4d4d4d92c82248ac12597a5d947ec0e3546090b630c71d3fb7a5a505620fd119687b8d11c5bc79f310dad973ef94bc5453532341426a20ee373804640f949b5e24f1b264b7078a0792fa812008ea0782fac13de8ebeb9336ecb8b4dce188879f57fd69ea8cfef97c6a6eb103fd00c3143a41c90c18c7300d61eb777676c2077d7a800c821753589fff00c0b676aa1f64830bdd4318fa3028f1e841e987a8a8283512c6eefc07a4a1be96a2c81e5d3fc824695141faaaedf8fcab09e256c08d500e696969ca67b91df2404f045bfd204f54132b45224a60f2f3f36194aba599202d90aa88118e232222f48922034dcc1869203c08edf9d6ef5624a54811832450ab544138218e4893f8f878e93c41cac3415e5e5e7d7dbd2e5c11b5828202e9c89a1e76fb3b1f5fa0c549523f100441fd40503fb807e7ce9d43446ef4f35b57f8c690f543f4aaf5b29c916de783ad7e8039181c1c0cbb199a01762dee52d3a965a52698bc3007f16934994cf056cc47e94c8000c055e80abbeb2ffdf8b7f14530ac656621dcc30a872989bbf0ab14cea0f4037c803d5d575727ab272941a2f403840d4cd5f2f272dc8833888efc551a0636ae34a52352b8047ff057263f1c397264a0578308ea8201690beb1f1673dd75a4a6a64afa489aab4486b68133681e0815480204067f453f40a1e116a4302ec15b78854b124de942817b15cd31d9cd5a8a9558487b0f954d9c744bfffc078301916d68687065b54a483535960c78f8f14ca8119a9b24f5034110d40f04f5833b21b38a87bc69d74fd6ed90c5c89b9a9aecfa0f73dfca188524c8c8c8807280099b9d9dad8618c9060e307063626260e8435420b5d5b025880a0803dc057b1df6f740036c60dfeb838e60a0e32fcc6bdcab82014b1a27d5daa938b0fd2b13007080a02289643e86defc8f4b6a5d54d8ac0833dc203ab0c8f17425991011d9cb423a7c101e6827c4029a44f7cd16502070a34bb2e6e66658d2b8173e209a4837f82cd342f4448633281644198e11175c92c5a0a4b70721941446bcd422ad0818c229edfa4828513b63ab1f649dfbf44ddbfcfd03e47c484808628488234b20abb4ff0d9016482bc44be66f0862972eafaa3b434393a47e200882fa81a07e1811c81c53c304ff9559fb5d570edb2d97e62e4b9116e2b1b23847e175f3233d56fa41a988dc3dcf85cf8bbcc10518a74c7df8f1ccea0fcfd3c424a91f0882a07e20a81f46107d7d7db2efafec28f7c8be2aa7131eee7feab06cd1151c1caccf6ca67e20dcab1f144f365e84d994be69dbb2845533ccb3a687dd2e5cb878e99a75e9bb0a0fbe51fb09b77720a91f0882a07e20a81f460fd5d5d56ae0b8694eccddeb77af2f3ea52fcdf4e4f1e6d43dbf5990f4842807d9a26bac362a1e1da4a7a7eb5bb61163a81f4892a47e2008ea0782fac1e3d0dddd5d5454a45484604240a0120c0a313131b65b3d1004f50349523f1004f503418c23fd20e8e9e9a9a9a9c9caca8a8888904530ff3ab8fcfafa3f858585fa566e0441fd3056bcd0d675fced0ff61e2adb5578f06059c5fb9f5f659a503f100441fdd0bf50cce5cb9761a7b6b4b4e87bca12d40fa386eeee6ee43d5756cf2408ea87d1e117df74e7ee794e96b8d571cf7dc90d17bff6d860bf77f6cbb48c2d7c7dd40f0441fde07eb4b6b6969494242626ea4dbf0283c110171757545434d05a9904f50341503ff83c1357a7f66fba322ff26059058cf2f73fbffa46ed2730cd65cbbcb357ae7966b063972e47f0f8faa81f0882fac19da8adad8d8989d105c3cd13274f9d31372c7249a8f9cee02926fd527878b8c56261ab30f50341503f8c2bee3d54265d0db6eb4dedd8bd0f97b29f7e96fa81fa812008dfd70fcdcdcd4a39403344defbc8033bcbb25ffbbded8afb6b7f713c7ad57aa525a022d4e65004f50341503ff83c6182dfe41f60779c12148579f6dc8ddb76ea670e9655ac7d74c3b2845538ffcec717d4a5ea0fcf43699cbd72eda58a6a388020d99afb8c95b78d7ff8169a2471752a8803bd670377ed2e7afebdb35fe25ef08dda4fe471c5472d69195bf0b8a4b569f05f798863847ce2a45b7070fced0fe4243c842770b92229c5f6e924f50341503f0c88f2f27283c180ea20d0187a6f66a1be62a6e305f88da699f2c52d28286047c4e8eb0793c9642608c24da07e7085557567904ab0b65d717cbef5bb858b97c27de4fc4510005343a7f9190cb03e753314e771120e64933eb8816650cfc25f68158801a80b1ce0efc9c68b72159a017f2157fefa19daff021e17bd68b13c0eeead3c8c5dba1ce2019ee040c200ed014581a7e30c6214181404befeee69be65ea0782a07e7002d9fa175890f4842bcac14a45dcbd7ef78d7e7eb81d766d4f4f0f73c368ea078220dc0e5a87aed88eb97b9e73c5f1c38f67c271f1518b5aaf6949fc0ad8eb30dc9557d36ebd4d4982eca79fc5995d8507a5276186799671ca54d5650167f80b55a0f4830ca3823c808767af5c43a87046e91370f3f65dfa19abf14b9019100cd27101d65ff80a57111e84932f9afa8120a81f06445e5e9eacafffc0ceb24129079d8f1655071a43e14f4a4a0a7b21a81f0882fac1872926be6ea383bf3c7c54061129c2a63fdffa9d34f6db765f6ccd7d4699a1a216d4fa483893be691b8e5fb6d4d80a15995f215d04a21f94f50fbefad629b8d76765c8e3d47c0c5d3f547f785e3dcbca32568287a47e2008ea076b949696a20ab8d1cf0f0260c8e241b8f1c58f82ae4b88acac2c668811457171316a6d1a790441fd308693a7adcc7a31e575c88a4c38885eb418e6bb2294034e2e4b58a5cc50e8047db204cec0372515d6ac4bd76f4f5a9b264395d4436de77043ba1c3d71126ea00d6408935dfd204f5f9194a2fb2f1d261e3bff7bbce987aeaeae9a9a1a7cf5605a6cba8e9c9c1c982e0d0d0dbdbdbdb40708ea8731404b4b8bc160807858f3f491618a07d50b71534020ea149476e68991463b4110ee06f5832b3cfef60762d60fe440cc7ae80771699c321526bb1521039419aaa6320b957e90a147d36ebdcdf6f6dd45cfab07e9f7365cfcfa9efb92e53d06060541ba40420ca41fa423656ae8345bfff5f9dfe4e8eb87cececea2a2a2b8b838073a3f3838382525a5a2a2824282a07e185548c95c9492e516f1204cf859914cea65792608c2fbaa72ea07d7f69c862480753ed0260f4a3f48ff03648063337420fda00f5572f020fd8c88070803356502b73bee7f2829afe43bf51cfd00e5909797a7f69e324cf0bf3dfa6e182a2bb3f6dfffd461f0deccc205494f4c9b15adaf23525a5a4aab83a07e180dd4d5d5c96a4b839d30ed94a1e63be1330a33b3054110d40f3e49b1ec5724a5d88e1d82ba900597a01f707c937fc0bcbbe6eb0eaa3f3c0f077b0f9539d50fafbe754acd94d0275a2c4b58555577c6ae7e90e152b6a3adecea07680cdb8e94e2a39625f12bf068bee5d1d70f168b253838588ae1ecc5abd6fee2f876cba5818c8dade54d90136272c852f22d2d2dacc408ea8791454a4a0acadbf28c3dae4802688cf5c5a79e3cdeec8a631478f81c1111c16c411004f5834f12b20146bcec3f0d83febdb35f365cfc1ae669709484000080004944415478ee9ee7a6864e93f3d23bb171db4e99a32c2b1ac199acaf2abd0a8ef5039e027ffc0c06359bf98dda4f028382a6dd7a9b786eab1fa463a4fec257aaf3016794876a095704557c9058200a4a5120fcf081bb408cb27ee8ededcdcaca920278c7a29530395c6fb57c30bf7cea8cfe357c030202cacbcb598f11d40f23859e9e1e99f9e08a2440c9bc79e2e4e911b1f88d4bcb75654557d95a8e2d010441503ff8b084d89afb0c4c6dab51e9b23b9b5aff140732e3192e65d739e80199bde0543fc882ad6a0f07dc2eb329d488265bfd002500fff194858b979a67cfc501240d7eefb92f599ff300c8040ca567649206ee45f85faaa8e6fb1d4dfdd0d7d7979898080f6f0a08bcffa9c34318f89073e26af4aaf5f2668b8b8b599511d40f2382dada5a94314802a7651202c33f68d223fbaa70bce5d8677e13fc37bef891d3bba256feb47f5069490973064110d40f3eccf3addf959457c228dfb86d277e8f9e386977e784376a3f811d0f07500eef7f7e555fad1596a855633fcee8731e20545eb6d4c8e248b8a44fba8033ab6564657c943cab60ff0be2336e3f5856a11ce0efaec28308aabeeaabf8bff750197b1e465f3fa4a7a7c3b72063e8a0ba1d6c9994f382ec4665b158589b11d40fee07d4b98b33a7ef7fea7058e412f51712c2c16044c59559fbb932344110d40f2449fde018070e1c909e87618a077d111783c1d0d8d8c80a8da07e703364f780c46d879c16c505494f44af5a0fa56134cd34cd8971719b8847f655c976d4cc190441503f9024f5835d5cbe7c19b63ebc5a57f886bb1671897d285b266172452682fa6144f4832ba30c23ef7d644240e0d2c7766d7ee5d3e5197b709c59fa5ba7773db6bf7fd3d0d8d858e60c8220a81f4892fac12e642997e855ebddb808e4cfabfe24d3a9b90e2441fd3096fa61daac68f5d73427c695259bd8ff401004f50349523f38c0e5cb97e1897fd0a4ecd77eefde75e41fccef0f5e5858585f5f1fab3582fac16dc8cbcb43d1ba7bfd6ea785106e6e8fbe5bfdbd63d14a57ee92a23b75ead40482f072a4a5a5e5e4e41c3870a0a1a181bde1d40f2449ba4b3f8829b220e909a746c5e6573e8d4bcb557465a6c4e4e9b3e1797d7d3dab3582fac16d282fef2ff97396243b2d8119bffe604240a0acb9b4e5d867fe41935c29b728de371084cf213838187282d3f2a81f4892fa61f8fa213c3c1c9e3cb6bfc695a55c26858645defb88d095a9984b1fdbd5bf6f607636ab3582fac16d686d6d95cda75d5ccde0e68993ef58b4d2c5fd1fc0b0c825f0ffa95d7b8fbffd01497a354bca2b0bf6bfb071dbce7977cd574222252585db9b503f9024f5c390cb5a6767a70c5e72c5a858b87ab32b2b46dacec38c8a8a62b546503fb813a2fb53f7fcc69572f8e4f1e647f6556d39f6992b8e37bff269ff5a6cfe01e75bbf63254bfa12eb2f7c95fdf4b31327dd22eb0372a353ea07af60d2da34d92bcd96b14b976fd8b243cc411c3b60f587e71b2e7e2dc75b739fb1eb5bfaa66dca433077cf73f8ebca760acae78108af4639d1100b3cd775f7557567a81f068573e7cec107d39c18171b2513b71dbaffa9c3a02bfbde82db2d97a4a266b546503fb813b205c4cc05f7b877d292b413a8ad3d49d2f7d8f8876fd332b688a1999d9dcdf979d40f1ecee961b783762ff52f9477dd4ab6d20fb28db4957e78fff3ab923e814141b69bc4415dfb5d5f885399ddb239b4be5b9c8bfa616ae8b4fe3579162d1e43fd2089e0a2e3c4d5a983121bd40f40656565ff2aabcb1f72c5aef00f9a3429342c6ae54fa747c4061a435d590752eee2b05bc28d801c359bcdf1f1f1e9e9e9c8c05d5d5de3513f7477771b8d46f72eba0ca2541b26f8c35b7c6c6868923ecc836515fefe01c8ea59595934bba91fbc5d3fb8725ef4c30cf32cfcbe54516d757577d1f3375d2f1143d00f561cf28d63a51f90bcd40f8385c562810f91f73ee2ca7aac89db0ea96e87d98b57b9327b1384e4a0c94b8ca89c18fe60e61bbcf14b295d1028605bcb9bdcb5e8f2f48858f889da9ff625e9f37cfdddd3814141c8f01cc844fd307ef4c3c66d3ba113d6ac4bb7baba70f1d2c4d5a9a3a01fceb77e87a277fced0fac46469dbd724d6eb9d0d685ab70a33a491afff02dce54d59df9e29b6e3d3ab80507d51f9eb7f5cd563fe05ef8203eabd1b938097fa6dd7a5bf4a2c5ca43154e994385a7533fd8a2b6b6163e400c0cd6d28096309a66bae2f2463f3f3c427fe924391ca24a413147a12ed8ffc292f815d2e30a6464647476768e23fdd0d7d71713138398c3e8df6eb9347cfd306749327c434daad7a124e9dbbd10d208c1e9d4d40fe3443f643ffdec8aa414ab214cf517be924e8991d60f3b76ef935e0e01648c32e511300983cc50928fd1c9c68b7b0f95a95bc2e7452a9d205a08b247f986e72adfacf4c3eea2e795b732c10f8f5369a2202761b06ed8b243d9163848cbd8e26356ecf0f543737373ff3aef33e6ba32aec1342726e7c455f9fb93753bee58b4d2e95d5bcb9b64181ebf53e40811b62eea101989101616862c3d5ef4c38fd71740309bcdd206301c09f1f3aa3f2d487a42c6c5bef3f105e62a72fc10d507774ba47ef070fd3035749adde5c586a61f4427e8439872f73c278a6244f503c48368067c65de3bfbe5aec28330cd216674fd007b11e7abeacec0e2170981b843e7e34cfaa66d38b379fb2e1547dc0efd008d01d920b7abce735d3f9494f78fd4c7836412c8cb961af3ecfeed8ddfa8fd44fa3af0887977cdc7818459e647e171f019e1dc9afb0cfe3efc7826f5838e9e9e1e83c170a39f9f53db0306864c7ed8fccaa70fe697df3c71b22be3ae651faaf136ae8c1c938555a4ba080e0eaea9a9192ffae1c7eb6bb99a4c266906c8f8f50743100f50f9b260ab9f9fe1f5774f333391e3ad05421a26b92f04f583c7ea0707437887a01f6034432de84398603d8be53d72fa0105ed26ff80e8458b6dd53bec78a51ff499d6b2e6f2ab6f9d52638d106c153c111b7a6f79d2dab4fe1dc72e7c65a51ff014a4a1bea260f1d1feb1fbb0a16de73f20d8baaaf19c191d1eb8ff434242023c796067992beb3ace5d96022b05c6868beb46426fc073684e7ea4c89126ea96871fcf140931d85e881bbcfa930909111515d5df271b10189796ebfa4ef23927aede9b5978f3c4c9fdf223741ac503393e0993054520393999f637f58367ea07e394a930f86c3934fd806388073584e9bdb35f2a337de4f483747a6ccd7d06e715c58e17cd20fa415fba4334806ef7eb86be7465d83e4254c140f3a76128bcf3f185cddbfbf726db5578d0d6dbbd87cae4921e4e39895fea071d478e1c19a1752061c64c080884e7271b2ff20b458e0e45428485850d6a2ec40ddefed5ece9e9414520df4effc0493f59b7c3715fc4e6573e5d9eb127d0182ab72c895fe1ca22df24e9936cfcc3b72805010101284734c1a91f7c7efe8332b56508d38eddfba04f647cffc8e90731c1ed428606897ed0efb2d50056fa41e2a22803bae4a4d5bd88e98aa41419b6242375f5db756f25187661f538ea87eeeeeee0e06017b7a01e14e3d272c532e1e7891ccd5e08a93706552e6ef08d6fe73ffee33fea955df01453e4bd8f4027c8a62de0bd99850b929e983c7db67233efaef9b60bf991e478a3ccc2acadada5094efd301ef4833e840956755ac616db1bddab1f7e79f8a80c47b19dc5216dcceed20fd2aba0df2bf32e669867a56fda06bb59d66b72ac1f0af6bf601b4e8e5fb245515111fc0935dff9f3aa3fb94b3c6c7ee553e97c409af3db448e2651c6653ab5eb4baaf8887e909680b2dfbc83ea5b76f019081327dd92b4368dca8124853245b2b0b0902638f5c378d00f6a08d31bb59fe0a41abc3a72fae1e88993b6c3d9eb2f7c85cf90b81c827eb09aa52053aef120fdde2fbee9bec93f0037ea0b28c9b829bbfa41d66483dab14aba972d35bed44bef2efdd0d3d3238bb82c487ac22de261bbe5d2b459d1f03071752a3f4ce4e873c3961dc87ea9a9a9e3483f74747420cec62953552a54d59d29d8ff02d202b5b9307dd336d4b0f854704165921c89af2941fde02dfa410cfae8458ba7dd7a9bdd1bddab1f2eb4754d0d9d862f946e85cb8c6798e643d30f10066ac1c0f3addf9967cf85ff32a943dd7bf6cab5fe6dcee62fd24322fd8dba7ec0bdfa3cef19e659fa1e114be257c03d3ea9acf16cd1d4d41410d0df647bf7faddc3df84eaf6e8bbe1155e874f6ebb417a3e5141f919fad1dddd3d5ef4435b5b5bff5e10037c6648927440b1a51213136982533f8c13fd00b318d6b6eca2e0403f405d48001461f40f413f80d009f8304345ecd8bdaf60ff0bf7dc97ac37330f413f040605210ae25bf8bc48782e52c4ea5e394edfb4ed605985b89489106a29d86509abf017bfd2ed2043adf0acdc3dcfed2e7a5ec4861ae245fd608b9a9a1ac3f5ed32e2d272873c90e9c9e3cd3317dc23abb9bc77f64b7e95c8b1a2b4175456568e17fdd0d8d8c8c59249726894f1d0dc0582fac103097b7d20931d15fe862d3b5c3cdf70f16b9c578b96cac4009cd1f7fcd16f84f58cbfb6b4fbc496bf5fd00cceec8ef679fdddd3900da25b60c7c3a5ea0c47c0aceec283acbe684807f574d9ed013e40e14048e093af567ab5ba177eae59973e71d22d10187828627da1ad6b45528a9204d51f9e8748806050e20a5ec143b92572fe22a80ef6b83a467979b94888dba3efde72ecb3c18a87c7f6d7044f31c9180a5feae721bd913212d2c5d241fd4092d40fd40fd40fa4d750df2d8ef484119b0d0d0db21b956182ffc2d59bb79637b9a21cd6179f9abd7895945ca838d9be8324bdc51ea07e2049d617d40fd40f24f503f5c3d0d1d9d999969626c5102a62eeb294fb9f3a6c574864fcfa83bbd7ef96bd6b652acbe6edbb383393f404ca9638e1e1e1d40f2449523f503f90d40fe468ac18d1d2d2929a9aaa2ff978f3c4c9a63931500b60a8f94e599e5529870d5b7670072ad27378bef53bd98b9afa812449ea07ea07d2a798fdf4b35c82dc33f583a0bdbdbdbcbc3c2525455696b7c2d4d069907fc5472d67af5ce3eb203db07902a07e204992fa81fa8124c9d1d30fb60553b6e1abaa3b43cd40523f503f9024f583a7a0b6b6363f3fdf8d1ec237efda939bfa81243d563f30d949ea07ea0792a47ef03814151599cd66377a08dfe027f50349523fb06092d40fd40f2449523f503f9023cea3274ea66fda9696b105074c0dea0792a47ea07e2049ea078fd60f972f5f2e2c2c8489505252d2d9d9a9bbacafafcfcfcfc7a582828296961675beafafafa6a62627270737b6b7b7533f90c3e1c66d3bf13a6698674dbbf5361c6ccd7d866942fd4092d40fd40f2449fde0a1fac162b1180c06c4282f2f2f2a2aca6834363737cba58c8c8ce0e0e0f4f474b90467a83de4124e060404646767c3b0080b0bc35dd40fe4d078b2f122dec59a75e938fee29beee8458bfd0c064e9ca57e2049ea07ea0792a47ef044fdd0d9d909190079a07a151035d90de7f2e5cb88694d4d8d5ceaeded0d0909c9c9c9f9f1faf6b1b8545f5faf1408fe523f9043e34b15d57817bb8b9e97bf1bb6ecc0dff73fbfca94a17e2049ea07ea0792a47ef038fd505ddd6fbab5b7b7ab4b7246862a41334051e0a0a7a7a7a9a929222242cc08a888b0b030dd43f63f904366fd85affc0c86e961b79f6ffdaee1e2d73898619ec564a17e2049ea07ea0792a47ef044fd8003abba0f3a0167649cd2b973e75253534d2613cec820253123d2d2d2e2e3e3f5bba2a2a2a81fc82133fbe967f13aa2172d364e993a3574da3b1f5f609a503f9024f503f50349523f78a27e282d2d4574babbbbf509d338d3dcdc0c2161301820156a6b6b3b3a3a7029363656cc08fc464444e81e72fe34391cbefeeee99bfc03640a75fd85af9820d40f2449fd40fd4092d40f1eaa1fa013101d7debb7c2c2c2e0e0e0dede5ee99ac0819c87c6c07931232a2a2a202dd44a4d50179cff400e999bb7efc2bb089f1709f18083e2a3169c3cdffa1dc8c4a17e2049ea07ea0792a47ef02cfd002426269a4ca6bababaf6f6f6d2d25208035102322bfac8912338dfd4d48428070404c0b14c87c0edb1b1b1901fe7ce9dc301f5033934ee2a3c881791b83af5425bd73b1f5f080c0a0271b063f73e3f8301c58d4944fd4092d40fd40f24e90bfa61dbb66d5e5d094027a8090c1003d9d9d9c1c1c1881754012ec9f9bebebe9c9c1ca3d1d8df361c1e5e5e5e5e525202a9a0fa1c525353213670e3810307e09bba91fa81749d5343a74d9c740bc483fc2d29af94514ce04dfe01ec82a07e2049ea07ea0792f47a1695fcdf283e9999993f12de0c9a299ef3f58d5eb4583fb335f719793b1bb6ec60fa503f9024f503f503497a31cf5eb996be699b9f9f1f8acf534f3d45139cfa811c3ea7dd7adb4dfe01fa6e0fef7c7cc1cf60c0db417163fa503f9024f503f503497a25bff8a67befa1b289936e41c131180cd9d9d9fffddfff4d139cfa811c3e51b2a40ba2aaee4cc3c5af61ad1aa74c0d0c0a92b9d41bb7ed44e9632a8d37fd805cc1f74e523f503f90a417f3d5b74e85cf8b943a223131f1f2e5cb34bea91f4837726bee33d2e120807278a3f6136809f3ecb910eddc887a5ce907d4b1920d50eba2ee65fa93d40fd40f24e9657cefec9789ab53fffa310b0fd717397580bebebe8686868c8c8c9c9c1c9ae9d40fa42bacbff0d5c1b20a98aa301955c3f3d92bd7aaeace3071c6957e0050d3a2befd6b93cdea54d4c37c0b24f503f503497a01cfb77eb735f719ffeb1b5a050707171717ab6d101ca0a5a5253f3f3f2c2c4c2a94d1fce212d40f24e9c9faa1babafac891235d5d5dae38467d8b5a571685433dbc79fb2eaec445523f503f8c38dfa8fde4ec956b6ef430696ddaeea2e74722a81bb7ed046dcfe3710b172fb53dfffee757ab3f3c3f72498798da0d8fce938d17c76a44c117df74ab1e6da7412d29af9c1e76fbd0be975343a7290da076491b081d1d1d25252531313137fc3da81fa81f4892fa4120fb511a0c86d4d4d49a9a1a575a6450f7e2b95254512723247c1d24f503f5c308f6832376ee357073f73cf75245f54884f697878f82b6e7b39f7ed6aeed7b937fc088d6a1c8156b1fdde0d8cd186eeab463f73e956ff152ec269dd5676fb0ca337ad162a90ee2e2e29a9a9a1c94a39e9e9ecacacac4c4448336749bfa81fa8124a91f06d20f0a46a3312b2bebdcb9734e6f443d8cda58ee42fd8c5a9a2f85a47ea07e703fa11cdcae1f469f03e907446dccf503c23056fa01c9e27abe1d947e68b8f8f59a75e95211984c260803a7d31ba46fdd01a81fa81f4892fac1ae7e50080f0fc7a5b6b636c7b7a34e5643435157a3c6e6ab21a91f7c4a3fbcfad6a97977cd87ff814141b04465261cacf9154929b2c246e4fc45aafd60e1e2a5a89ba4c517ee611daa612a9bb7ef92e532679867bd6ca991213d496bd34059d44fea3518d9f80b97708fbbea2f7c35edd6db7006bf32e208cfc21371e626ff00543a8ec75022c0fa8ae3afbf7b1a4f6ffcc3b7faf8a5972aaa6561410458d6163cd97811c1c0af38c0539625ac52f3ff70c9c188237dfc921a368304c1136df50392abbfd966ca54b905a98a0749aa2e895fa102801b8b8f5accb3e7e23c8e91023b76ef4368e1126f41f679855738296f0a1eee3d5466ab1f72f73c27c92b4112ffe50cc22961c0493c1a67e0390283f4779c3d70fbaec28392807847aa57071f83c4d5a908a4246c5ac616c9394887adb9cf84cf8b84ff08335e34de233cc183f4f14b08aabc773da82eea072488a40f1c070404141616f6f4f4b832bdc129a81fa81f4892fac1b17e50888f8f2f2f2f773041023533ea67d4d2f29940bdadb62d1f540ba3fa560e8dc7dffe6008cf1d5be20b3bcc91cf631eebe14781fac1a3f5038a25cc3b5875b0b9abeacec0a413b31ef61f8c3fbc7be480871fcf44c99715156008c2783d585681228dba00a182c98ef3b80b16ead11327617fc33484edf8cec717a02ec402867b382b29afc4df5f1e3e0a49001319ee6168e259b824fee05e3c05cf826f080fc206cb5259f67609b31be1571a034115f7482bd1365047f0bc60ff0bb23008ec60d9211531c54931466fba3ee9565a4710545c72ac58c45e87cf880eec7859011dc7b6fa418666c1fe4674f0203cfd9efb921147fc4550f12009b9c80678884bd04e4801481a441f320cde228e92f238c683906208248e45a429fd204901fb1e31c58b83d2c0b354f70eaee2a1b8846487e70818828d578317ed78d16ea9f7f166117e4444de2cce239df176700c3fe139cee3fd4a78244721a8b88ad4863384014f5141451e809f88af7a2990222eea073c45c40c909696d6dede6e770caedde90dd40fd40f2449fde02efd20803c484d4dadadad1d6882046a69d4d5e2181f32f9520caa13db691fbb537bd1eb0638e0250ed3e4733dd6f8828fc47c51a75180f934d8cc40fde041fa01963a2c48f51726296c3bfc2a7b5a689e3d575a8e51f8f5f6fe89936e91c13910157afe83b480098b620f7fd4c4680812bd1680f90e231266a53e7e099eebe18171894b0eda1e60d4220cb0a7e5181e8ab5adf4030ec43615c225ac5bb84ccbd822e635ac58c40e26a9dc08db1a96bd2bfa01de8a0f4aba381ebf241a43a58684562ec10d44974a16fc558a08619388c073844d9f36ad94928407024ca2603b9e4a8d5f82e7482ed52681c0e092e81007250d324ffd8518900c80922f42427553e0a54b78f437a88f5f52414560f45a039950dc38d60f789cf49c005151512814b60b805456562627270f34bdc129c2c3c337119e0aea87714b5459b21045e31fbe656a789a7e50080909c9cece1e6882046a6cd4dbe21215befef91869fd200d58def51261030c73c497ebfa01c9abc6928ca67ec0d53199614ffde01ec20286256a5b5ca7864eb35ae4479e2ea35974ab11af5f0480ed087bab2901d2420f7f84321407f7eafa01e7f168e546c6ffe866b12da10460568a8656c6b1d20fd36ebdcdf6a11024900da25e60bcc207941f1981031f1cef80a3f40324876e58c33477ac1ff0204817151269a7171ff4391232264a2f604a3fe8290f635d1ea78f5f42bca043203322e72fd2fb43d4db814b44d02a0c62f73b2869fa4c74c824c909482b080fa8ca15492932444a09365de7d8d50f204c010415f94ac6aa39d50fd2a9259fa8f2f2f2bebe3ebd80343434e063e9747a03e103186f56e0487cd75d1c7b30d0a429a9b18766d2c14fab178ada237c5ee4862d3bec8ea57cefec97a82564b0a20075b83418592514207dcbb64bc019a74c1d7280bd37e73cf0c00396e121353575c80d31762748a0de46ed8d3a5c06d0e29beb8a204411485c9d9abe691b3e13fa2df888e05b8393cb1256a901bdc8307212b7a8ad48f0eae52ee46af880abc8548e050c6ec1070e3e83ca24405ec2e712f6067cc0a750d9f77810be8338b9bbe8797caaa4c5138e710cc7f0c1b10d234db730c6e003a229debefeee696955c40162275f528988ac4a8200483ba3b894938897da7c43995570862f35aee211b6e68d0cf046b192d54d708b7ce5e1956aba85ff08a1d8818823dcc8b15a10050e4aca2be524822a6a4dd70fb85d9208bf1206dc0b5307369e1818eac5e177a4f70fa17e700f91b95dd40fd2d62e826168fa412651c1bd4ee46c2bfd20532c743ace4c28baa88950e41042d537a2cc6e4404f5889587702ccdff0833ec57e47b7c905084f017271d0f19d4f5032481be2e9363fd80020c3163151219fd65a51f747f74fda0f7f0a8b45546b97c3390089019474f9c44d8ecea07f3ecb95661703c42d1aa83023e483ec42fbecaa88ba52302cf52fa41ff4edbd50fb845051501435065e95b07fa414d954e4848686d6dd5c7d742390cb9c381a07ea07eb02b1e264eba65a0470f5f3fa0f2948a14843d2153bff044abbde7a44246f58e0f102a0d2408148288015408aa4559e907bb434f6508eb38d40f6a43b73184dd0912dddddd7979795269e3a5cb4062c7fa41bae8f1a9c2d73c7ad1629c84192df72237ca805ef990418bc2254ee27309076a8430cee0cb8e9c06e3181f2c7c7a601b38985d2913f3e027ac5b6439f952e3238e93c8a5380fdb498636c0670989044fad76888fa3ac3d851c88efa383b50761a6e311f86ae34035e92ae35b462e2011c45c814b4805f88963b140c4018c1f584a5b739f4129101b4637ab50ca103cc818c4daca54936999281d78fad92bd764103b92080988678998810f8802924246a1e3d1727c937f80680c384022e0246e44acd57c578902524f45102194765e1c43b4e05908009e8280218ed2b08863f72ee84ffd3022fa01af591f6d822c8e9ce178fc92ad7ec0016a79bd16803988cc67a51fe0b3de328d4c2cf31f74fd80b28d67e9391bcf753ac757aa0c646bf5f9d1c72fa1e4e8cb7d22bf4ae942514709971156882c0e506ef5103ad60f6a049110a5d7b17e40daa2b0a9b613441c519389e92eea077d6015022ff152463912419782fa782aa51f904aaa4a955101088353fda0c656c94b9460eb8a51c498ebfa01d6833e0a0e7191a03ad00f482ed4f832411f1f9efcfc7c7c84540191fd1c54e73841fd40fd30fc35f146e2d1a21f6c4d799880220054f38d9865a0d5ea9fa8aea55f5ad54b9250d2b72c769e4ed484e3b3ffc113f4839a20919e9e6eb52d4f4b4b8bd16814078efbfc910ff5054e640e9eccbb53437d603648af9498a1f29d853311996260e029c809bab5e36080106e51190faa550c03e45ed59a090b473e6d3063948d815049bba40aa7cadebaa1d562b30ab99a6488908b2da4eb07752f3e82c8e76a0c823c170e5070949c4652c8f06089358c227d8ea874e60c347e092a5d0f27c48c1a96ac8a1b02a08642c0b19af7a8164791e8203c2a0a900aca5ab06a2f16cb079eebdb67e1bc535549fde029f3a7917564262bcc38640299e98bd7297a14463672835accc7ae7e90f9d3526c50aed4fc69dd149646026450b8410e53b366253f49a718ee12252da50861703ac1570a1562a1e77b65762373abf9d3f01c454bd544121e69cc90920097563de30ef483d8d00836822a425c451669a81a1ba4915eea3b14723c5de64f238e485529452eea078416c1c3bd48431ccb975219e5f019c63d9e22e5561fbf846304096f509a1591eca2f8a137103cc73dc8b2dc1324259c21248826c20f45073fa566117ff4f14b56fa01190315373295ba84d70a22a838297171aa1f84080312530d64aaa8a8b01ac8846f525e5e9ec9641a726b9985f0548c73fd80f22b060d0e50bdd8ed98850369a7b7bbe27ef587e77109f75a35f38bcfa837508fc126c35ffc8ac12d55baed6c049c57631b702cf5188a393cc7bd0eda0e07d20ff21191d526544d8bbf76a757a21e40a584ba481e240925eb79580d614250e1121282fac1a3ba206a6a6a54f0f03d72bcca228a80bef1a83484cbc01be9bcc28755edb3844f957ccaf189515f61315807352319b7e81d5c72233e7cc860d20920e3a26d270fe03c32b998073816ca3a8d0e1e0711023f65e914299eba7e50c1b67b6c152fa4898447c55abeb0423c456fa2b5d20f4867844139963539ad262ad83dd64fa2d0592538521296124c14a483bc1d2bfd80a7583dd7ee5844ea078f5bbf15aa57dea8be0a27ca895abf55dfff056552afd0d55f694d9751aafafaad565b32a33ccbaa9d524e54ad8167a979ba2a3ca811f4454e1d9b95c873ba60d5d76f558bc6e2a17a552577a9d1ff283f08b9e38acc6afd56d45f121d1448f8a3228b03e5466c6e99a1216ba7aa5571555399be24050ef4445311811b1c4bcae8eed5a2a8d21b28e986f4c42b905553a5f944c600880d21ad772eeeec0367d295d1ff419a17a95a1190dad2aa871a2177cf730883b4d0586d320de124953b0ed4258441bd62541cb2a4124c0117f79fc6ed280b1285989818dbe97a1015f5f5f5191919b26e20d75fe2fa4b3ea01f5052503ac4c816a050ab5a0ec547150a55c3a8a601546bf878eb57f157d575e2b31a22a8b67217d80e4cb51abf24cb73aba7cba094812a1607fa413a8195c181eada6a18ad4ed469fad214728c9acd6a0813aa6869de1e87fae1eebbef1ee68a054358c24ec16c36171616da4e81b87cf9726262e25fa749681f14d7e74f2377e1d3093b0139e46059857ce35453a6e46a486b7c91f17d81336549c3b16abc17b9ebb8ff41151f685a19bf2d9dfcf80049239d3459222beac19386547ceff4c5639caea30a07f0134182898208ea8df7aee807d50c2ae687082789b58cbfd21fe460fe34124d5f15463976453f28030c892f71572144ad854fbcacb828c5dc4a3fa46fdaa68f9e18e96567a91fc8f14535c160f4572a189315125c59724e6d76919e9e6e7721d79e9e1e8bc5a23e57d40fd40f5ead1fa475467af360a04b9fa4d84f5b739fd15beb658a911a25089b002ef1811733459a2495a1009ff117760fce439054d59d9135b56118c9a871a7fa417c83cd04c7e2b96ea8b9a81fc434145b47cc2f7de8a96db3978aa0d20f309bac86304114c9fad1e3503f8cfefa4b8ef7a8eeeaeacacece96690fb285918b6b224927b658f3881aee95c5c4a19055b79b2c6e0ef100cd20edf7f0dc3c7bae8c71522bb5a841ceb062213f1c8cdd951e2d1124d009323f1b9e4bdb283c870297d62e6469e45b69e8947227a2084555155e35c7cf2e65faa5143435dc6850fa418d95c22f6e57e31a702043aad4582f045b0642e3bc126f281ad27a8bb283db25591006844a22ee8a7e4004250a88ac3498aa10a220abfe04d430ba7e90fe46a4aada24002f1aafdbe98c73ea07ea0797888c2e85df9623a453077adc18eea03972fa41d646b44bd4201eab1f5afeb6919cfff5ed3b6423b9811620efe8e8282e2e763a4182fa81fac1c3f5833e521c9f5e65ac24ad4d53e379d4775a6c1db1c5ad96a596f67b317ac467fd83ed78fe83ad7eb05a7642fa3a86a01fa445c0a933b5b4b7f4792afd00cb038694b254645e968c8ca57e1851fd0055909a9a5a535363b706eeebeb3b72e488cc7690f1c9839a1d8b7c087b14b62ca420c4831401c866e416c8545c82e50aeb48cc7dd8bbb2c6a08c55b69a49acae4ebbf5367d5edf40f3a741b854fbeacadc5f48653c17d94c657b788563840d86321c4891842d0e3b182e4104dec1480a780e3f654094da1c7650fa01fe23be3289d96ad4960c6ac079c4056e20bac48c9122a6d7245245c8deac4852045e45dc15fd20d1c42f9e224a4085106a1f01c09b9249b04852798978962ab0b201b1acc0a99e4bfd40fd305ce203a006c659d1e9f09b211beb7669bb56d5a851a6a48f84cfd290699732a0684c7678719df890a8a1176161619595950e8a92e30912d40fd40f1eae1f74335d1c88dd2ffbc6e0d38b8f31becdfad7571afc64fd1645992d20558af8ac378e0c563f58b5ad8a87c3d10fd201e2c0e2d71d28fd202b0aaa214c32f90df503f5c3c8e987b8b8386803075b503734344444448863170724db36200af1d2f501c6280bd51f9e170f65608c720f79a96f7da0efff20d32f9dae1b2bc637fcb75abe054f51c1106f110069fb97ce3ddca82626e12f42a2a6713bfd90c92eba56fb3fe81b41d83d16335dfa247561a6c75aaeea892fed867abcf4044439d52b041cab94b77b2c1335110519dc651b5a4976f98b5f154ed9ca56b9410a8c422b2df50349927f674fc856123263afb9b9d941811a688204f503f58387eb075b07aa2d109240a663c9f810b817fb4096bfb40bf1dcd6e7c1ea07ab6fd3d0f403cc8e9bfc0366986789552193341c0c5f8403b57ea5becc9d1ac2b4222945c651503fb85d3f0c34bd4107aea6a4a4887b352bd22b8636880c7071f3b5a3274eaac549d332b60c3472cff1e386f9bac7dc38540bbd7805a91f4892b45393aad99f595959562b063a9d2041fd40fde0bdfa4175276ecd7d06e69aaceb00d344f4434979a5ade122ad801ea21f6496b35a413b7c5e646050d040035da4cb514641e8e9a08630c95078b52516f5835bf48383e90d3ababbbb0b0a0aa47566e2a45b72f73ce799db3fbf5451adf621d1895ca4b69c7331c1a17565f73707773978dc30dbce1c8fc51a052200fa3eb3d40fd40f24e995b365366fdf259322f0b52b2e2eb65ae3d5c1040980663af58337ea0718ca561b54c9a276309d65188fbe7bbdc80c9cd1e73f8cad7e807d292b38a9091e32ec4adf28469ffc0091203d15b63a4a8630c9f2dc6299513f0c533f389ede60058bc5a20688ea9b349324f503f503497a3adf3bfbe53df725ff7595c0f0f0baba3adadfd40f3eac1ff075500b98a8110530a0659715e394a9a01a8f214bcae0aab81f483f584db91e21fd80e0bdfeee69513bfada9150143222d16abaadac47a936c0b1d50ff2d73c7baef28dfa61c8fac1e9f4061de7ce9d8b8d8d9572ba70f152ab6d464892fa81fa8124bd83afbe750a66845416870f1fa6094efde0abfa4196b09c38e99635ebd2376cd9215bc1c8f40019a20d752157618ecb183fb51e835d731f8ee1218a8f2bfb3f0c563fd805cc7dabed77f07749fc0ad92846d6d891091eb2a3e540e3b864e492be1928f5c3d0e04a6f83eabfcdc8c890f7289d3ffcfa90d40fd40f24e9c5fce29beef53fdb8ee293999949139cfac1bb960480c9ab4615fff2f0512b0b581ca866f8773ebef0f0e399d18b16433c24ae4eb55a36edbdb35f4239c00ac7d5a4b569b2afd6403e8ba1bf22296559c22a5bfd20a3c3d570291c5b0dbfb6eba1f064e345abc1df08f3aec2830e56e287548033591d121a03b2c76a5284553ac8686c9cd1b70ad5034cfde05e1c387040a63af8fb076ccd7d66a437ff2249ea07ea07921c0d4a93e7ce9d3b6982533f9024f5c348144c885217172c2249ea07ea0792f41afd70e8d0219ae0d40f2449fdc08249523f503f902449fd40fd4092e4a8ea87bffce52fdf7df7ddb7df7ecb8249523f503f90a4cfea87cd9b37d304a77e2049ea07164c92fa81fa81244997f4434242024d70ea0792a47e60c124a91fa81f4892a47ea07e204992fa8124a91fa81f4892fa81a0994292d40f2449fd40fd4092d40f04cd1492a47e2049ea07ea0792a47e2068a69024f50349523f503f9024f503e101080909c17b6cfcc3b7ccd22449fd4092d40fd40f2449fd403881d96cc67be41eb724e9987b0f95a1a4646565513f9024f503f50349523f8c6bc4c5c5e13dbefad62966699274c00d5b76a0a4141717533f9024f503f50349523f8c6b646565e13dee3d54c62c4d920e78cf7dc92829b5b5b5d40f2449fd40fd4092d40fe31aa5a5a5788f6b1fddc02c4d920e3835741a4a4a6b6bab141c8bc5929e9eeec69208dfe027f50349fd40fd4092d40f84a7a3a5a505ef717ad8edccd2243910ab3f3c8f6262369b55c1292a2ad2ffba652612fca47e20a91fa81f4892fa81f002c8124cb09098ab49d22e77ecde67b5f812f503498e5ffdd0dada8ad8ce30cfe28b2749ea87718b9c9c1cbcca8ddb76325793a45d9a67cf4519a9afaf1f483fd4d5d5a5a6a6a23e4c4f4f3f77ee9c3adfd3d3535252929c9c8c4b292929fa08255c3a70e0809c6f6868a07e20a91fbc061d1d1d88edd4d0697cf1243958be54518de283ef22ed6f6f47535393d48417daba98b149d26e5b89c964eaebebb3ab1f0a0b0b0d060374b84c8ac0b1d209898989b8b1b4b4b4a2a20297e00f0ee41294835c82c0080b0b0b0808a07e20a91fbc0628b188f0f9d6eff8ee497250dc55781065272f2f8ff6b70f203636166f7377d1f3ccd82469c5d8a5cb513a74e35ed70f1d1d1d100cfabaae59595946a3b1b7b717972222221a1a1ad425fc954150b5b5b5f0b3b9b959cee3c0ea11d40fa417b1fec257a2b1c7917e888f8f479c4bca2bf9fa4972505c12bf0265a7b2b292c6b70f40ac99a9a1d3ce5eb9c6bc4d928aafbe750a45037aa0bbbbdbae7ea8aeeeef896d6b6b5397201870a6a9a9499dc1bdf85b5e5e1e161626fa21272707c7ba87f8abeb079995d470f16bbe02d2f3f9cec717905dc3c3c3c7917e282e2e469cd7ac4be7eb2749d7092bd3cfd00fab6f2ae1ed8d291bb6ec60f62649e117df74cbcc07db6de3947e9015906da7564ab783c562912ddea140929393712cfa01bf313131560550d70fdcd891f42296945722bba6a4a48c23fdd0d6d686384f9c740b5bdd48d275ee3d54868293989848b3db6770f9f2650842c8429a2c2429943da7232222f4990f56faa1b2b2df726a6f6fb7ea7f3877ee5c7d7d3d0e0a0b0b55ef044482ec1a61dbff101e1eaeeb07dc453d4f7a0bd73eba01d9f5c08103e3483fc81c26447b6bee33cc0124e90a2fb475c9564a35353534bb7d09305ff05a4342a771d40449ca121110d56a96825dfd00e50037252525ea12b4417070706f6f2fcc29f88003b5644b404080ac596735ff41ba2c74fd00f9c18d59486fe9a6334e996a358a6f5ce80799b7e4ef1f507fe12be60392744a590a3d36369606b78fa1afaf2f3131b17f18ebbc48ae2a418e67befeeee9c0a0209485d2d2d281c4b65a7fa9a0a00012a2b0b0b0a6a6465643964596a42362d3a64d38282f2f0f0f0f0f0b0b8b8f8f97bb50d6424242e0bfcc8bc0b1d5146d93c984db8f9e38c9d7417a320f9655b83ef9c1a7f4c38fd7f78d47e423e72fe22793249dce26f43318505e1a1b1b6970fb1e3a3b3b232222f07e172e5ecafa901c9facaa3b1372bd8b55df30ce76c981fcfc7cf5d762b1400fc0844a4d4dd5b78950e7d3d2d26444537676b68c86eaeded8560888d8d85a2a8acac2c2e2e869ffa236466c5bcbbe67ff14d375f0ae9b19d0f33ccb39051f5bd4dc6917ee8eaea42f146fc93d6a6b1a092e4403cd97871e2a45b64442f4d6d5f45474787347c86cf8b64af2c390e9b48a4e70116bfedb487d1040486ccbd2ed8ff02df0be999cc7efa5964d1a8a828d70bcb0d3ef6c96c6d6d0d0e0e462a2c4b58c5563792b4e5f1b73f90318e2eaeb140f8402f04de38874f90e3a72515c690f4af6664648cad7810d4d4d420300812aa5fbe20d2d3f8b2a5465662d437391977fa41a62b49ab9b79f6dcd7df3dcd9c41926ac274ee9ee7e4b30af1d0d3d3430bdbe7d1d5d5959c9c2c9b58a5656ce10a75a46fb3fac3f3d18b16cb8469ab7908638b82820251f2557567f89a488f6a52949e3a17975df265fdf0e3f58514a2a2a2e493b9222985c5951ce73cdffadd732f964f0fbb5d0a456161a127b4c911a386e2e262c375dd08f3051a922a82f43dbe77f6cbb58f6e90f691b0b0b041b5a48e0250e5a6a6a6226cb0d50e9655f07d919ec05f1e3eaa7aea069ba56ff0d5ef654f4f4f5151918c6592d5d3366cd9517cd402a5f5fee75749d2e7f9cec7175e7deb54c1fe1720a1fdfd03a420c4c4c4e8930289f183d6d656599449b6ca49cbd8c2ee59d237ba55f165bfe7be643183a093f3f2f23c73434c4888acac2cd5b209c1c3d7478e614fddb28455921b0b0a0a86d0a478836f7f323b3b3b5195848585dd4010e31bf1f1f1aeafab40f82a1a1b1b65ab1c25241257a7e6ee79eea58aeaaaba3354dda45710d2f76059c5e6edbb62972e578d230101019b366d7271e9fa3144797939822ad32192d6a641fc70ae26396a3c7be51aca0eaa7dd1db46a371c886c10de3e4abd9d4d4545454949696866fa79920c601a2a2a290dbb3b2b22a2a2a20a4693a130a972f5f2e282890356108c2db111717575a5adad5d5e5452d9ba8996548a1ec5b153e2f7249fc8ab58f6e20c91122c436b299dfdf721d446c5e5ede704acd0dfc941204418c4fb4b7b75b2c167c45525252626262a8badd08357ab67f2ff0901026881b111f1f9f9696565858585b5beb9943955c2c7d903d888b12120431d240664b4c4c3c72e4484747c7303330f50341100441b8199b366d52df6c0e1d241ca0a7a7a7b9b9b9a1a1c14210230664b096961637aebb48fd4010044110d40f044110d40f0441100441fd40100441fd4010044110d40f044110d40f0441100441fd40100441fd4010044110d40f044110d40f0441100441503f100441fd4010044110841dfcf0c30f7dae61e3c68d4a3fbcf6da6b4eddc367262f4110d40f04411004e153f8affffaaf6ed7b07efd7aa51f8e1d3be6d43d7c66f2120441fd40100441103e05b1f57b5cc0860d1b947e282f2f77ec58bc65f2120441fd40100441103ea81f5c7139a8f90fd40f0441503f1004411004f503f5034110d40f0441100441fd40fd401004f503411004411043d00f7d7d7d292929093630994c4a3f444444d83a3870e000f5034110d40f0441100431bef40390919171c3e0515d5d4dfd401004f503411004418c3bfdd0d0d03058f160341a7b7b7ba91f0882a07e200882208871a71ffafafac2c2c206a51fb2b2b29c7a4b100441fd40100441103ea81f80fcfcfc41e98773e7ce513f100441fd4010044110e3543fb4b4b4b82e1ecc66b38bde120441503f10044110840fea07202626c645fd50585848fd401004f503411004418c6bfd505252e2a27e686b6ba37e200882fa8120088220c6b57ee8e8e830180c4ec5435c5cdca0bc250882a07e20088220081fd40f406262a253fd70e4c811ea078220a81f08822008621ce987ff6f00582c16c7e2c16030fcc77ffc87ed8dd40f0441503f0c1dfffbbffffbff0e005bc77449977439262efff297bfb0ea24c6b37e1808d7ae5d0b0a0a72a01fd6ac5933d0bddf7fff3d93972008ea87a1a0a6a6e6d501f0171bd0255dd2e598b83c71e204a43e6b4faf434f4f4f5b5b5b23310c5cb972e5dffeeddffef55ffff5e8d1a3afbdf6da4736b8efbefb1ce8877ffaa77fb272ffe69b6fc2ab8a8a8a2fbef882c94b1084db71eedcb9f6f6f6bebe3e5fd60fa840ff9f01f0271bd0255dd2e5e8bbfc977ff9174808bb1d148407a2abababb2b2323535353838f806c27df8877ff807fc3637375b25784343c340b7188dc6dede5edd31fe0e76e36a822088a101b54d5656567d7dbd5bb484c7cd7ff81341101e0c4808ea07af006cd3a2a222d8aceae3e137c17f52685858e41272f89c18321d491a1f1f6f95ecf8300f2409f0e5b6728c1784f337dd1cc4f424497284689a13839a5faf8bc2c3c32b2b2ba91f0882a07e20fe0ee7ce9d5356ecedd177afccdabfe5d8673babbf26ddc5ecd77e1f680c45f25657575b257e7e7ebe5dfd8097a23b6b6f6f0f0808c0f9478baa999e24498e34d7179f5afad82ea369a6d448f1f1f19d9d9dd40f0441503f10fda8a8a8908d084c73621ed957c5afe6083171db21191260352aa9a5a5c5563c98cd66abd7949e9e8ef311cb1f624a9224396afc79d59fee7fea70f01453ff37c264b21d8449fd401084fb515d5d5d5555f5e73fff9966ba67422d21ba28250bdf097e2c4794d3664523a98b8a8aacde424c4c8c957e282c2cb4ea20ea5fce75823ffb8548921c7d3e79bc392c72096aa1e0e0e0d6d656ea078220461c5cbfd563d1d4d4243d0ff76616f203390a7cb4a81aa91d1010d0dedeaebf889292122bfdd0d6d6a6cf911081b1f4b15d4c439224c7aa2362ce9264990ed1d5d5e5f5eb2f7df4d147c3346e4e9f3ebd6fdfbe356bd6444545ddf637dc79e79d494949f9f9f9757575b4ff0882fac127274ce333808fc182a427f8691c35462c7f08699e9e9eaebf8b8e8e0e117282b8b838ab0166383929342ce7c4552620499263c5ed964bd2899a9191e1ddfa4156971f9a4dd3dcdcfcf39fff7ce6cc994e57b032994c999999e7cf9fa7214810d40f3e83d2d252d46fa1e63b396c6934b9e5d8678609feb6d3a3131313d547e7c89123ea7c7777774848084e3eb0b38ca94792a487d4602d2d2de34e3f20ce500e93264d929ada3f68d2dc652989db0e3db6bf66f32b9f0ad37f753229e785a8953f952923fdcefcfda1227ef7bbdfd11c2408ea071fe87c90a55a53f7fc865fc451665c5a2e523e2626465f55bdb2b252be350683411f1b20ab334d8f8865ba9124e9095cb87a73ffb72335757ce987d3a74fdf79e79d7fdd1a2372c9bac2379cb6bd414bcc5ebc4af545bcf9e69bb4080982fac1ab515757279d0ffc168e3e734e5c95e5d52b2a2ad41be9e9e9913dfbf4af725b5b1be4c48d7e7eeb8b4f31dd4892f490b9d4a89450357577778f17fd70ecd8b1c0c04054d093a7cf1eec3285a8bea747c4f6efa9e4e7f78b5ffc82462141b8824b972e7dfffdf73ffcf0034d768f42565616e7e38e211fd859260d52fa0738232303276b6a6ad499e4e4fed98a512b7fca142349d273787bf4dda89a06b5a99c17eb07b884e98f08cf5d96b2dd72696873cf631fca968e88bd7bf7d2342408a7e0fe0f9e099939cd56ed31a43448e5e7e7ab97d2d0d060341ad5ee10f5f5f532c2f6c9e3cd4c2e92243d87cb33f6a076cacecef67dfdf0e69b6f4acf0304805bda8d80975f7e99d62141503f782364a8ccd05a5248b710e24dc600a8a55afbfafad4d610388e8888c03bc2779a694592a447f1c1fc72d44e2929293eae1f9a9b9b4d26931b7b814578f9fbfb7ff8e18734100982fac1bbd0dddd8d1a6c424020bf82634b7c92f022929393d5ab5133aa654708a3692657c72249d2d3f8d8fe9afe16f9d8586fd50f2eeefff0e8a38fca6c693756c4b286f74f7ef2131a880441fde05d686f6f97fd04f8151c5b6e2d6ff20fea5f09b0bebe5e7f415d5d5d5c1d8b24498fe5e6573e450565369bbd553ffce8c2fed3a74f9ff6f3f3bbd1cf2fb3f4b76e4cbbecd77e1f680c45f21d3b768c362241503f503f9043eecd8e8888d0d772cdceee9f683773c13d4c1f9224a91fc6463fc88a1623b17ec5bd9985fd8353972fa78d4810d40fd40fe4d096e5309afab7312d2d2d95b7d3d2d2226bb66e7cf123a60f4992d40f63a01ffef8c73f4e9e3cb97fabed5f7fe0f6e4cb7eedf7b209df99336768261204f503f5033904a6eef94dff5407a351b68d4b4848c0df4529594c199224a91fc6463fbcfdf6dbb2db83e38480ba48dc76484f9785ab3747adfce9bac2371cdf78c7a295f07fd6ac593f21081fc2ba75ebb66fdffee69b6f42810f533f545757575555fdf9cf7fa6d54efd400ec4990bee91c510515e7070f3c4c9d9affd9ec9429224f5c3d8e887bd7bf73a1dbc04f110680c8dbcf711d5ab103cc594f0b3a207f3cb71f06851b5d3214c04e1ab983c79320ad1a54b97862321b8ff34f503e9981b5ffc48d67295a502f5f62c922449ea87d15e7f49263fc0ca1f2809d63c7d04222162f9434a3fdcffd4e1394b92e57865d67e75eca0dff9cee885c7dffe80247d83afbe75eab917cb376edb39c33c4b54046c9a77df7d97fa81fa811c392e4ac992e2166abe936bb6922449fd308270baffc3ba75eb104348828192607df1a9ecd77e0f074a3f44af5a1f97962bc78fecab329a663a48c1478bfafb9a172e5edaf2ef3d24e97b3c7ae2e4bcbbe623930706060e79c344ea07ea07d2950975374fec9fad87ef0e53832449ea078fd60faacf41e9071ca8fe8accd2df3afec48a7e885eb4988626e9abfce29bee871fcf443ef7f3f37bfbedb7a91fa81fc811e2fae253dcf0812449ea87b1d70f8f3ffe386298f0b3a241e907d5fff0d8fe1ac79f5819bf14bb7439ad4cd2b799be691bb27a486868737333f503f50349922449fde0b3fa41e64f2f487ac275fd00f1b070f566395efb8be3d323629dce9f4ecbd842fb92f4f95e08e864e4f6cccccc4189874b972e7dfffdf73ffcf003ad76ea0792244992fac10bf4c389132710c3a933e6baae1f6439a6ade54d3faffad31d8b563a987b0dce59920cfff71e2aa37d49fa3cab3f3c8fdceeefefffbbdffd8efb3f503f90244992d40fbea91ffef8c73f06060622928e37f2d4f503b8f4b15d9010f8b8ce5d96e2601d8ced964b1302fa3d7ffff3ab342ec9f1c06509ab90e10f1e3c48fd40fd40922449523ff8a67e505320d49024d79973e2aa63072bb3f673f23439aef8cbc34791e7939292a81fa81f48922449ea07afd40f4ef77f006a6b6b1149c304ff2dc73e7363da415d041a43e173497925cd4a729cf09d8f2f20cfcf993387fa81fa81244992a47ef04afdf0a3b3fda7056bd6ac413cef58b4d28d69277bfd44ce5f449b921c3f6cb8f8b56c4a4dfd40fd40922449523ff8b27e3873e6cca44993105518fd6e49b8fb9f3a7c7d397c43f587e7695392e38ab2452ef503f50349922449fde0cbfa01b0582c7e7e7e88ade3f5945ce183f9e5375ef7aa60ff0bb42649ea07ea07ea07d28dcc7eedf720d3812449ea87b1d70f40494989983e0b576f76b0aa9263427e8878d89afb0c4d4992fac129aaabababaaaafefce73fd36aa77e209d72bbe552d4ca9f46defb0825044992d40f1ea11f807ffee77f965e8869b3a2d7179f1a54626d2d6f9abd7895184f140f24f503f79fa67e20ddab1ce62e4b91f6290154044e8ec2a3ef7fea7058e4127ce306faf6e12adcc85f1cdfbd7eb7dbc33042deba2b6cb68c5eb5fe917d55a3198c9c1357274f9f2d2f02590561500703bdbb514e250446cf33568405b53c63cf93c79bd52d30c3707ee1eacde25ed6c98403ffa0498fedaf619d40fd30c6eb2f59e1dd77df0d090991da19b9d91515b1e5d867c8d68609feb865e2a45b5eaaa8a61149523f503f503f906e64c4f287a47b3c6ae54f85f88bdf5178745c5a2e9e0583c081a10037f257848ddbc33042deba2b6cb068951d3c6d5634ca8ed4842bb3f68f5a3016a5644d9d3157464f4800d4c140ef6e94534955299267f444339a66ca7e59374f9c9cfeab93e20c020c677055dc8b22920c09a5e4740d7d92fa61e87065ff075be01644fbc61b6f94f28f6cbd20e989b5bf38bef1c58f24bfa27c226952f7fc26f6a16c145771e6e76758fbe8066e1547523f503f503f906e9ff370a39f9f2c1208e3498cf550f39d38390a5d108ef5837c10d578aaf1a91f9469ab08dbd76f823f6ce2d1e923ca2cfd2d32c383f9e5f217760bfee2006206c1d31bf53d473f58251a3252c2cf8a10ec4063a864a7f5c5a7a42577cbb1cf70707bf4ddaa2f0e6e946425a91f3c453f9c387102d15e10bb64c3961dc629536f7086c0a0202887f7ce7e49db9124a91fa81f48b773e38b1fa9367ea51f327efd016877b61e0c2c7cbf71097c6c7f0d6c5965c5e69cb88abf8f1655db36dfc20dcee3aad57017a51fe00057e1a1fe50a7fa010f126f5ddc6409bec171faaf4eea4f51dec25096ab7607f04864f1abc70ec7f053cee0c681428258e3920c3a407424017507722fd2dc15fd0022c0b894bae737b6296c153b9592f208494c04c0caeec75f5cd5dfa6fe2cbdc0c2e69e3a63ae9c87a9adc64a8887c84ef0c4ae2054614038ed2a1fb9176f4152cc2a251dbc6ba7fa41cf6c4b1fdb25be414ec43e948d63ffa0490b929e50ce7012675408112fc99fac2ba81fc65e3fc42e5d2ef6d01bb59f643ffdec92f81533ccb36ef20fe8ef6a3018a687ddbe70f1d28ddb76befad6a90b6d5db41a4992fa81fa811cd1fe87e911b130ef947e70ba86f8033bcbd4401a185b3064d7fee2380ee44cf014931aa00b6f7fb26e87dff551b882394b9295352626ddf28c3d32c2a4bfd5cc180aaf5c19bfa4df65e5ad5ddb1471fc3f6d73da53e4deb9cb52d4d569b3a295056c1b7e44538d1d926130f83b79fa6c7df688b2e01124191e2630cd89895eb55eef72810f46d34ce520d47ca7ae2206328561e3e2d29aa78fa889effaf4153d76e0bac23764cfd97e1b63823f42aba7242c690449dd0e074870157e640f9c113b5b88d4407249facf5c708f9c44664034715e850197748902c72a7ba8a7e816a1f46608101dbc2cbd9648f859917e3b1ea4cff277513f20a1f05cbc29f90b15846c8c03bc147d3018440e7c48dc7648976a6a120e49fde011fa8124c991d30f972e5dfafefbef7ff8e1075aedd40fa403ca8407985c772c5ae9a27e80e10e9b12965652ce0bb0c920186e9e38194618cec05214f3510d9dc75f1897308b334b7f7bf7fadd4aae28fd8033b84b3a0760dee12fcc7dc7fa01fe881d096fe14cd62754a3506c0d4764398419a18563d8d332265e3a4394650f9b1bb247022c26b27a10920841c2bdb038618be359d20a2efa01290007d2418164d4ad4f110fb0b91177240e9e228f13fd80c7c12b4419024c862e23604849d54b63d71486c52fc39ba5a95e5e9f3c02c4a3113558db92c208b63c42ba05d4428e2a25c5e8c7db844b50a20fdfe42ae28bbfba1ab14b24af3c057144f09013f057851cc9aea67d220cf04de496cc54867b791df2767055d48eaa2544f02073c27338c05f385659c875fd209a01579d4e6fc02b5019000902cf45aa91d40fd40f24c9fd1f08ea07f2af4dec301fa5895d8c7b9868032d352efa0166b13a232df7093f2b5267a6cd8a96912d30b2c543dd07d8a6d283a1f483debc2de3a9c4ba1d483f400fc03ec653f4408a5776172682d1ac9e2884a58e8049abb3c821bd3d3bd47c272c48153bfcd57d1345210f12fd20b34774e3460d88b29a898ea788712cfa013722d9f50139d2f8ad369cc5b12c7ca488d4132358bd02681298e6b682501e016788a93ea048c22f2194c7e9a3776484124225bd07b8d4bff0a3b34596443f88ead37b48249516aede0c077aef90c81269d487e0c131c4835522482d015b1f298657a0bf6b79a17a0f928bfa41d49dd339df70860cc69a81fa81fa8124a91f08ea07d2c92aaeb029619bca40115d21d8ea07d5beaef4803e6d40ac342b33d1eaf31fbd6abd32faadc6fdc35814f931907e80f52f0b46c18122ac492b29a208331dd6ed408a489f3eab37c9db9d05b1bef8940c68910669d10fba76120f45514857ccbac237f4abfaf82598e948703d1620d25f2916bb13237117cc7abb83b570f2b1fd3578ba7a8434d55b4dc65029295a026f530fc0d2c776e1a44c9816af9c661e9468aba7c80465dbee2cbc05bc6e51179231e411567d02504d524b88968022d2438824d5658fdbf583bc62ce79a07ea07e2049ea0782fa8174be1a1208b349a60ad85d085ff4833e73d7760d25a51fc412b5ed135026bbdc6b65d9abdb07d20f1206bbb0bb92922c7beafafa4b623e2a7b178f838dabe67bc8a40bb17d453f58092465bfca58202b6b552597c4ce2e5468654684cc6c166e7cf123abe482e57d6f66e1cc05f7a8490e124299f56b374dd44989a95d48e70c22e24a69851baba7e8fd3020d4c8ecc5abd42c113d0dada63aa83c202765ec935da83d1f5cd70f484c578481f4ba78c2d2b424f77fa07e2049ea0782fac1e3286dea325845cd9f96b67cbbbbaa89edae4b0207fac16e033ccc5f65fcc9bd56c36370bbac10ea583ffc64dd0eddb056e6b56d984d736282a79886a61fe41876e7c2d59b1fd85906ffe5e9aee807bbbd2bd25d83a8c9caa1b0fb6d63a1949b03535825a6a436acf0d887b2d73c7d043eeb6f44261ed8a6bf44593a43102fdb30c84b7171248fcc9f76dccb240bd623ad90df24dda417cbee2394a8902e2c44cd36842a615dd40fd2f10231e9343af2d2a91fa81f460a7f1a3ca81f469f67af5cabbff015d381fa81a07e206d99f0b3ffbfbdaf01aeaa48d3764d9cc40011048a880122ff20a0220c824189864946188c31ee44640c6e5018408816080a8551618c7ec8df8a158be06425192f35505082c038481614916218342acc14d6607db895a9a22aec2ed9a2f66353f33df1597b7bcfb9f7e4dc9f84dc9be7ada75237f79ed3a7cfdbfd76bf4ff7dbdde5c60336fce1674b2af1e5bd252ba3e40fe4216011760a708e197d64ee7da43c605fc078770ffe80ebdda14aa040c876509f8f2b34eced80c09ae0a132631efc812ebec31965cc8f1ffe40dfd78ef50240188cbae037732f541bb8cb3f7f60061c87fd31ff2ca31e7d0739b813f5cf57e64202c7e260f8e52838f207700f9ff14b8e55228c3143ed025de1ae47f6b40935c392e5603fd7829bd28166d84a300ecab14263ded63f22cf862bfae40f0c9af273d63803d814bf24fe20fe1009e073f7cdec9f37a3281ac7fddddd8762959fb59535c88f8dac4143efb93fffc5d737ffe12f17ddd7bf7fe48b871e2de9967e833949635a61f16f7f7fdcbe6669f96b4c0a89bb53a8fbfc5bfe8acbc2cdede37317e34679fce20f12f1870e0eaef1e5fa54c31fe835727c9787309835be61f1073882d777eb81e236330c488d0e343903ef35812866352d3dfb50fc018970c7277be5319d66b348dace33bd55b3a790d9d287eb163cf8039d57b3150f3d576eb7ea873fb85f9f84caa88b0b9ded85dd54afe103adf207b8d18e65065c4161ca880cc138cdf089593a6685fab549497d068eb60ff100a5314baee973bb0fa670f3077ba289b3225c1a0edac6edad6c7ac07da8986d2af996b1f71982c1291ad34a40e178237b668994c32cb96e953fe0edb8f117aa8d1f5600733009eafc07f107f187f0f0c1a75f47935538dfdd6fec39ef991762959f97d7b58c878133204bc4e8b1e37968c6b05bc780ab38c80608037e02c1401e162c5d3569cad4a4e46460c5ab1bcd65f8894d794ede74f713c14cf86b046f31e391c770a33c7ef10789f843c7078358e044c28703e8df1b1796bdb529b2b0f803a732e0b7e1763870f0d7b9b2c24c1df0deb4eebdf15cf8f4f00bb95f1357d37aecdfca0d94e09de35724cb35b8f632684735c34f5c146e9e021f914ff1e00ff06879dc323c5a78ab6035489341fc5c1ee0cd1f4818703bdc5f7024eeb644fa41758157307d681b89a0207001b461984fabfc017c06895f979a06f52287137ffe2c74c247708d0a5e813a87cbce93e0987ff3ca2418e00c783b7ce60a01c3b5b852d93e1e21147f401eb8ab2f2ee613cdb272d607a81d39c49778167368aa01590a1751209fd0009232c507aa897ff15ec8151227b9459a1efbb7428df8c6c01c4b1234bccdad52bbfeebfc07f107f18776e50fbc3de6fc017fed2f8f9fbd5034ab14df831e982f03fb8f8257f4ecddc731fb81eff12528c496edfb6cfed0e7a69b71fdd1337f753c7142760ecf08177f8853fe1008046a6b6b9b9a9ae4b58b3f08de31f4f01db92b284b076ea871cee0e3c257335304f04af1af391e8e8c02dfd86b18ee78e009dbeb85ff07d7196e2e00efd0dea993f7966cf808a485e748e05e33d6cb471bd70d9fede093e25fed822b09b7929b9cdaa79ef1627b5a83b32b7c473ec56cd8ea4896114a26ffc81b320fff15d903c582fb8b1bc146788c31f4802bedd5e44c90d159261c08c4005f0e99900f55d88b2b38bc8d8be94fe35db8d150a8a482027ae0603fb75a0261439e6dbde1dd49b1f025b28dfc38a62c4072b808817311b6af8c7be1cddb9a0cc51ff844bc08728252b663a2508e606e4c1f4500f582b9213ff6ab210f780a12a1061c1b3a21cff8950bc4f108aef20f5ad6ac330e40e7b9735f6df5d807c378edb914e416cfb52bad20fe20fe1003fe70f0e4379bb7ed5ab3b1ea9d9d1f1a171c1ff02f6e7fac7401d2b1e38be0c4576cae7efbbd3d0e7f1d971df9ea3bf081f555015ce3933f00481c8e3e7ec2138ddf8f7f83864e3157c36e1d63f387c7e72ec65fbc82237c0b5f3ef46849abfc811a585b59f3fe912fdcfca1eef36f3755ef00f0c19df3dabd8771235e7957dd49c7d3793dd2c405203cee93c8a12e3cd7a44c05da17204ddc8b6bdc8f466a4813af0c2dc5d119e73a7f5afc416887fd97a4875801be2c9c517bdd059d5d38faed9607701b7b6b5d3367e25894e2015c698e83f0e60f91e5101c0c99b4b91f974cd8a76ab427f05cc75a0ebc9a63898e20fea0fd9722e70ff09b731f28b03753eb967e035c61e3eb1b41527467478e196b5f6c8712d18fcf1af4df0360860cb4ca1f00f8d0e42acc55cbcabcf11343651b6f840bb81082fc0164a6fb8d3d1d214c4bcb5f4bebd2852987e20f9cfd484a4e362f05be41b244fe8017648455cb746a72f28baf6f36f742513d7bf7b1b504da630840dfccfed30a8b01f3ab633a65f92b6f30400b8247e041763ea10492287381fd0a8e47a320822eff107f90883f7436f08432e921b66b4becc17bb8a1d72625d90b2ada1a9cee30713b70cd19eb65cf20b51acf93d225dd9b6f44c31f1811679fa1c115ea4197efb7836f8a02e2d917663aa267bfa1a10e0f11c41fc296843fffa155fe00879bcb09e0ad026b3656c14f85231e74fe019e719f9b6ea6ab0ab71b5ce29efb5bf637309e2b9738836020c1e2d973fdcf3f38b28a04494542657bc1d255f4ec0d7fd8b27d1ffc7e4708131808dc77fce4c11f90cf9630d6f9cf52038ca442fa863fe07d9161646ff3b65d787da80b977156018f1b76eb1850026806dac89b51643f08fc0117431bb811b7832df05ffe8a2ff9be81fd47eb3efff6d9956bc861783bb48d2b492af046b89db328b88c45033d8f1e3b1ef7a22090817e5903f18d63ee42fc4122fe2008d163f8e407195e850ffd47dfcda520edb93128780283af401bc064b81820dc5926b8f8d777eb611fd11d43fe30bfba9e4b32fa0e1f07b6c30518d0d55571d99101c7bc07a897f7dc8b20fe20fe10067f80930a0f1b1eb3fd25c7cbe9893ad63f2c7afe659b2d70f0be67ef3e269488c3e41e5eac077fe0ed5983869a45cf1e3b26311d66ccf087b7dfdb6387303178697d55c0833fc07187d70e16647f893c702506f9839d5b7000a301fc1d3c6ca43d9f8017c7afb8cbf00768c38e3b42b2664105bc7ff0349bed80a7997c566cae366cc1007a069941a98136189243e0dd9f5cf45c5c6c712bfe20fe200871879f2ede3864423ed73fdc5bb2d2c30b6f3b7f6bdc83f3e09103b7e5fd22b2509cd153673ab679b581f78a66e60a1462f2ace7b94203440b1abb2ae4e1c9ca63036ebbc7ded44b107f107f68dbf5d3f03e3755ef607812a3951cfc81eeef6f7f7f1cdf1b700a825e72cb76103f8caf47c61f484518c903673d2cfe00c7da0e61827b0d6f9b8b0442f1074e7484ca0ff90355614f1ab8afc753a016667b42768ee10f0e6d3041ae8b68d9b7ee7fefab4b56c07c721a84131706fcb276ef61b00ebc1ac8c9438f968020c5d1e207f107f10741100441fc41fc21bef9c391afbe7b62feb3707319889f949ccc0f41f943bfac81a18ea0e7528456d5e2c11f76d59de456ad662d44abf14b4cc7f0077cb643984045f02f3e78f0077afc662ba756f75f625226ffefecfc30f78102b3de831b3d190d803f38b4610849d08dadec2fed950f0e8172f868f35cbc325813c84642f287fafafac6c6c6e6e66679ede20f82200882f883f8c355e60fc7cf5e183c6c2403789e5db9e6edf7f6804ed883ee0e371717c345860fed065df668f883bd7a18a9c127c6e342a573c7f889b8987b25d9fcc18430e1272eaaf6e60fcc4f28cfdb9b3f2071a8ae67ef3ec5b3e7e28981fd47fff0978b61f107c71211e699f9e4ac0e1ee156b51d10855b163dff32b561a885ce7f90883f08822008e20fe20f6dc21f18bdf3e4a2e71c2baa43f107eed4e408b287f36d426822e60f6432f8c96c81cab5c88efd58ed9d9a4c9890cd1f803e37dd8c5758b074153c7b6ea3e4c11ff8135c70fbcbc74a17c0234796bcf903a3b96c6d70db283ffc019fc1c4ccba11022f6bf2c9ed681d1b58e15f1419381e52401eec47933899a517e20f12f10741100441fc41fc21f6fc810eabed3df3d436e3c7f3764330c013f0efb4c2623be808d7f7cb1a685cc308f843eddec3f4c5ed95dc78343cecb42e5d1c17230ff81260c4949b3fc0fbe7dc05b782f5e60f5cff0d47dfac638653de2dfd86d163c7b73affc08522f66271ae4ff0c91f9e98ffacad0a700f8687319f5c0b81dbcdb11bb8005945de9055777c1774e81df125fe20117f10044110c41f62209de4fc07f8d3f0651d585b59039794be387c5938b2c5b3e7e2f3b05bc798c81fb8aa5c118197a5bfce6901b8d77073e1a073152f2ff6cf1f400c4c36ccc10bb90f14d847d4d127ee73d3cdf8098e353c6f8011ffb8dd1e9877f007ee396b0fde7befdf0a5f1c79c023a004004fc4fbe2d1adf287a5e5af5115cb5f7903c08be35eb8f866cdb4377f806e19770485e7e44d8726f976269f24182042e06ff8cc53b7f968288a2760e0465c8f5fa113a4602ff5167f90883f08822008e20f6d22897dfe341802f219140cfa87a37ccffdf974e5e1c1c3e7064fc0af665cbc627335fe854f6c1cf4175fdf0cc797b7804ed8e74ce34a33ea1f1478a8231bd30a8be11f073d679acbbb19df4fd71cce3afe75ec0f8bacf21405f30ddec8de92153fd96f14f4406b38e2ee37c2b31ca5cca4cc7a09500878ffb80b5efee37317d77dfeed82a5abcc117248caa10d26c8e32338fb01e281cba0f9351bab1883649f4f076e83d49831bc91bdce1bf4034fc473f113f9957d72b6f88344fc41100441107f107f10120a200c0ed6c470b27839465afc41fc41fc41100441107f107f10da0f93a64c4debd2c5441c1df9ea3beea26b6faf24fe20fe20fe20088220883f883f08420bdedd7d086ce14729a9a84813b273baa5df90949c1c74bfa94ece1f0281406d6d6d535393bc76f10741100441fc41fc41e8d478ffc817f39e7921f78182bc19454f2e7a2e5e1630e8fc6989f883200882a0fd97c41f0441fc4122fe20088220883fb426097ffe8320883f48c41f04411004f107f10741107f90883f08822008e20fe20f8220fe20fe20fe20088220883f883f088210197fa8afaf6f6c6c6c6e6e96d72efe20088220883f883f0882f883ce7f883fb970e1020af1fa6e3dd40b0a822008e16266c51e7422a3468d127f100441fca11349727232ca71e1b6afd5110a82200861a1e0f95fa307c9cdcd157f100441fca11349565616caf1f175bf5347280882208485fbe6bc821e64f6ecd9f1ca1f74fe8320883f4822908282029423fa00758482200842581832211f3dc89b6fbe19affce16f3a7f5a10c41f24e14b4d4d0dcab1ffe8bbd5110a822008feb170dbd7d7a5a6a107397ffebcf8832008e20f9d6b09757272f2b54949332bf6a83b140441107c62ca3f94b778d1e3c685d5e924027fd8bf7f7fcbb6538386ca171484b050f7f9b72dfb7ea6a78b3f2480949595a1346f197b9fba43411004c10fe66dfd6397eebdd177ecdebdbbd3f18713274ee0cdbba5df20775010c2c26f7f7f1cb63370e040ffe61608046a6b6b9b9a9ae4af77c02988eeddbba3407ff2cbd7d5290a822008ad62f8e407d16b64676787dbe324027f80a4a5b5446ebd7fe40b798482e01f6b3656c17072727274fe7462487575350af4daa4a447ca03ea17054110040fdc3d7329ba8cae5dbb7ef9e597f1cd1f22db7f093263c60ca86069f96bf20805c13f72f2a6c37056ad5a25fe9060514c3f4a4dfbe9e28dea1d05411004379eaefdf3b807e77101e4debd7b23e86b12e1fc07c8a64d9ba0827e5903fff0978b720a05c10fde3ff2455272725252d2e1c387c51f1246ae5cb9327bf66cf60ab7e5fd62ded63faaa7140441100c1e5ff7bbfea3ef461f919c9c5c555515595f9320fce1f4e9d343860c812e163dffb2fc4241f083dc075a4e0c282c2c0cd7dcc41f3abe6cd8b0812752a774491ff7e03c6dca240882a03987c295ef0e9ffce0b54949e81d7af5ea55575717712f9320fc01821ba18ea4e4e4b7dfdb23d75010bcb160e92ad84b5a5adad1a347c51f12524e9d3a959f9f7fcd0f92de3b3373e48491f73e2c088220742a0c9d341ded7f4a97747607c9c9c90b172e6c686888a68b491cfe00993f7f7e8b4bd4a5cba6ea1d721005c19b3c402230b7fafafac6c6c6e6e66639e871211f7ffcf19c3973323333af9148241249e79651a346ad5cb9f2ecd9b3d1772e09c51f4e9f3ecd85d449c9c9c5b3e71e3cf98d3c4541706cd83a69cad4161b494a5ab162450456a6f31fe254befcf2cb83070f564ba293ecec6cd313839849211289a4e34b4d4d4d5d5d5d58c74b772efe40292b2b4bfa3eb42bad4b97bc19452fafabdcb27ddf079f7e2d089d13bbea4ec2049696bf36213b27e9fb98f8f4f4f4880d4dfc41d299c5ac4d87a0579642241249e79404e40f3c913a373757135512894340ad4b4a4a3efbecb3888d4bfc4122fe20fe2091b4855454544cf9410e1c382085883ff89588cf7f082a870f1f5eb162455e5ede9d77de79b3e46a4b464646af1fa44f9f3e5248bbc98001037efce31f171616ae5dbbf6c48913519a95f88344fc41fc4122917d893f742cf9b32441a5a2a2c2b40b11ec192ae92022fe20917f23ff4622917d893f883f48c41f24e20f1289fc1b8944f625117f90883f48c41f2412f9371289ec4b22fe20117f905c2d090402b5b5b54d4d4d6a3d25f26fa4108944f625fe20fe20117f90b42e3a7f5a22ff46fe8d4422fb127fe82812dbfd9724e20f12f1078944fe8d4422fb9224327f88d5f90f12f10789f8834422ff4622917d49c41f24e20f12f1078944fe8d4422fb92883f883f883f48c41f2412f9371289ec4bf625fe20fe20117f4830a9afaf6f6c6c6c6e6e56eb29917f23854824b22ff107f10789f883a415d1f90f12f937f26f2412d997f883f88344fc4122fe2091c8bf9148645f12f10789f88344fc4122917f2391c8be2409cc1f74fe83f88344fc4122917f2391c8bea410f1873044fe99f88344fc4122917f2391c8be24e20fe20fe20fe20fe20f1289fc1b894422fb127f107f90b8e4e8d1a3875cb26cd932d32ee4e7e71f0a26a74f9f96f6c41f2412f9371289ec4b0a117fb80afc61f7eedda87c151515705bf177ebd6ad3b77eeacafaf97ffd70e525252724df892919121fed0f1251008d4d6d6363535a9f594c8bf91422412d997f843dcf307d083b56bd7ce9831a3478f1e413dd4b4b4b49c9c9c975e7ae9c489137204db4e40de22e00fa5a5a5525d5c88ce9f96c8bf917f93f072e9d2a563c78ed5d4d4545656969797575555050201380f972f5f9672645f9204d97f09cc61c58a15bd7af53235af7bc680cc911346defbf06d79bfc0dffea3efeed96fa8f9353d3dfde9a79f168b683b19326448b8fc01ac437a137f90442ce7cf9f877fb372e5cad93fc8c2850b376cd870f0e041793cf26f243ee5dcb9736bd7aecdcdcd4d4d4d0dda5575edda75faf4e920150d0d0d5297ec4bfca1434864e73fc0ef1c3060002b5cefac1153fea1bc64c3478b03dfb851fad627b9735f05afe0c53d7af4d8ba75abdcc1b690254b9684451e468c1821a5893f482290b367cf2e5fbe7cd4a8511ef6458fa7a6a6e6ca952bd298fc1b49285342f92627279b22ee3370f4d049d347ddf7f777152d1a79efc34326e4db039120186565656211b22ff187b8e40f2fbdf4524a4a0aaa1aacfa674b2a83d206371e5e55db77f838d6d1a79e7a4a61f73197c3870f87c51f962d5b26a5893f48a27177ae4b4dbb65ec7d3f2e5cf0935fbe4edc5bb2f2b6bc5fc00732863678f060f4ca62117e048c6b8a4b3232328c32870f1feebe005c4eaa8b3b8145949797d394ae4d4a0267c85bf8c6535b4e780c44c2d60c8bd8b061837428fe20fe104ffc61c58a15ac67a3a7ce5cb8ed6b9fe4c1e0ee994bd152e0f6471f7d544e61cc65d2a4493ec943525212f8863426fe20f12f70598cbb33f2de870b57beebd1063e59790c74a277d6085adca851a3befcf24be9d0bf2be35faaaaaaa4baf892868686dcdc5c634aa1e217dc9859b167d0f8a92cf7a2a2a24b972e4999fe65dcb871592ee9dab5ab31a55ebd7ab92f98376f9e5427fe102d7f58bf7e3d2b19fac57099833d11715d6a1a1279fae9a7e517c656ec031fbc054c43ea8a17a9afaf6f6c6c6c6e6e56eb79b5e4e2c58b050505b49db0dc1de0674b2a7bf41dc488a69a9a1a29d3430e1e3c182e79484d4d9513195f72fefc79ce2975e9de1b243c022f0236452f62f8f0e1b04da9d4a72c5cb830027e1e0804a43af187a8f8c3871f7e98f4fdd4c1bd252b23260fc6f8390ba1b510b19553a74e31b4ac5559bb76add4152fa2f31faeaec03d1d37ae25f632a54bbaff884d1bf3abebc13a687a6fbef9a654ea21999999613937c5c5c5525a7c517138fd28b8bec3c73d59792c622f021c9eb43c3b3b5b04d2a71c3b762c5cf2d0b56b576d0521fe102d7f983c79720bdd9ffc6094e4c1043221b50103066821446c65c68c19adb608696969601ad295f883a455b972e54a7e7e7ecbde0f7d073df18fff1c4da3776fc94aa4939c9cbc63c70e2936942c5fbe3c2cff66efdebd525a1c59d3942953684d20d5517a11a01f5d6fcc10870c4b060f1e1c967dcd9933474a137f888a3fe01a0ebf855ade142e9eaefd33070fb48a37b6b275ebd6565b04700c294afc41e24738e3dfa57befc7d7fd2e56e326a9a9a920f0d26d50f9f2cb2ffd3b37bd7af5d2c2f43892b56bd7b60c69df9811cdcc830d5825dc122dfcf52fab57af0e8b3fd4d5d54969e20fc1c5e7f90f5cea3479d6f331b17962c6b22d9c8290831843397dfab47d28475041532b45893f485a15f49d2d3306d7a514ff6a57acdabd51f7fd3dd2bcfdf6dbe5f8861228c7a7735356562675c58b34343474efde1da556f0fcaf63e848fce497af23cd8c8c0c85d9f89173e7cef9270f999999d298f88397f88caabf362929d498c1cc8a3d77cf5ceaf81264c3bb9978baf6cfd777eba153cc622e2525251e2d02da59c58c893f48fc3bb277152d8aa1bb33bfba3ebd77a6464c3d64c3860d3efd9b13274e485df1228c4c1b347e6a0cad89e02e675a59e453b2b3b37ddad7ca952ba52ef187a8f8c3a64d9b5093fa8fbe3ba8e916ff6a575af7de23ef7dd83d4ddfea364d1c8ad3464cb115f0318f16a1b4b4542a127f90b42a070e1c68592cd4bd77041b55fb19311d3e7cb8941c6aa0da3e502c944881712457ae5ce19e4b3f7f6547ab06028b9bf6cc9bb9735ff5b9d1192ee69c9ef4ec47aaaaaa7cf2873367ce485de20f51f187a79e7a2ad4201c3ac2f4de99a001367f1870db3db78cbdaf77d68856f9c34f176f44cab9b9b9f211c392e3c78f7b5f3064c890502d82667bc41f247e64d6ac593e271f9eaefdf37d735e413338f1e7cffa592186eb414b90f8b163c7a4e7a0c235ebdeb27af56a292a5ee4e38f3f469175cf18d0aa75c0827af41dd467e0e83b1e78a2eb8d197012fc181457419c3b774eaa6e552e5ebc989a9adaaa7d8d1b374eba127f88963f141616869a4c787cddef166efb1a3fd9fc6166c51efccd1c39a155fef0f0aa5aa47ce79d77ca470c4b3efae823ef0b962c5912b44518316284b417771208046a6b6b9b9a9ad47ab6e7702963b5fdecb9347aea4cb83b790bdf4033080fc9cf7c057c23850778484d4d4dabfecdf9f3e7a5a878119e4d745bde2f5a358d1f172ee89d350294c02c8ff6b353d39009f98a09f42f454545adda974ef8167f88017fe096a01e64c0c11f083ffc017d73cb566e3d7a5448c29175ebd6bdf8e28b0b172e7ce38d374e04930f3ef820688bb078f162c7959f7cf24959591992dab265cbeeddbb77eddab57efd7a693802d9b66ddbfefdfbdb68635c9d3fddcec25d80d27b67fa099fb82e35cd2cb0ee7a63c68c655b7cee1e3165ca94ceace47ffdd77f0df5d3e5cb97ed6371ddd2c9551777525c5cecf3e45930015008f32f0ccacf19730c995eb2648954ed47bc839cb9cdf4850b17a428f1072ff1b3ff92c7fc4394fce191f2c03592e864e7ce9d414b6dd2a4498e2b9392920e1f3eecb88c411a9258494a4a0a34bf6ad5aacf3efb4cfc217e65c78e1dfed77af6e83b68ca3f947340c4e612de5bd773e8e45c2796f3e7cfffd77ffd57a822983d7bb687a15555557997e0a54b97ce496227511a148f7d787855ad9fd93c73ccd4bcad7fbc3629c90febe09a22d419b55d7ee4ca952bdefb344e9f3e5d5a127f6845fc9cff505a5aea1d071c317fe0b2a78c9bfbcd78e431215c0c197e2b178d052d35ce17db02bfd671cddebd7b412afeeeefaecdf9c934e9331a4c2b2c1e377172bfac81493facfb4c4f4f7ffae9a763351d21fed0cec22586ee662d2866fd9f7d295dd27bf61b0af2e0de892e1444b67980435656d6b061c3dcc148070f1e0c75576a6aaae3c8e17ffbb77fbbe38e3bb22cf1b3025b1296646464e4e7e7575656461039e69f3ffcfc951d49d7a58c7b701edc83fea3efbebe5b0f3ffc216fe11b3a482e2ce1c936a12410084845e20f31e00f3cf325d4fe4bd1f0070601cf7be68553fff792102e8e9ef96bcfde7da0401450a85d77ed16c17d19e7288a67cf95326385bacfbf5db3b16ad294a9a6c70d354124fed091858dded8e973fcec15d3a3efa0dbf27e51fcab5db9735f85bbe3f3b008d690be99fd3b39ae4feb12caf3cbcccc0ceadcb82f2e2b2bfb7ef62f55fa6c0bf4b9e9664770cbecd9b31b1a1ada823f303061e8a4e940e1ca77615c7e020239ff909d9d5d2db104de5d4949c92f7ff9cbfff88fff7094c8b163c7429187ae5dbbba0fd378f5d55791d4ebafbffef1f7b27bf76ea9d75b76ecd8014585652609c81f3efbec339eff106a6b9169cfbce9ee6861fcf8de7bcf041e3e1fd87f547e676478795d259dd4fafafa500b57286969698eb1709e29de2dfd86235f7d274dc61c5bb6ef1b3d763c239a82123cf1878e2c68fd7dce3ffc6c4925da317b4cc4445f78b30e1aa62ce5c0f13fc1ef872ad0d73a4a812706b865efdebdf66567ce9c81479b949cfcdbdf1f973edb0e1f7cfa357a9c9cbce99c654d4d4df57fe482fff50f4ffce33f833f98f8a5a4eb52fc1c56cdf50f9250b270e14277a10c1e3c38e8c573e6cc091acf29894ca067346531d90c37fef8c39f7f387f9a31beb142c1f3bf469afdb206aa5d8e0623c78c851ae7cf9fef2eb5ad5bb79a1a0c2e61ff04be3160c0007cbffc9537a4c336c21ffe72f1a147fffb2cbf4d9b36454c1e50588d8d8dcdcdcd72ebdb4d78f843e6c8097ef69eb797598f7b709e9f5513332bf620fdac41436526c0bc675e087a263757b1bb439e1c9771b3d7a259a5d264fbe0fd235fe4cd2832bea69f93d4fdefbf44420ee6f074ed9f474f9d396442be1f77024687f4ef183f51c1b40ee4fc64dadf5d7b2d0836acc95128ab57af0eeaefd6d5d5d9975dbe7c994c63cc9d3f963ec3d07cdef4d163c7774bbfc19eb58b72d7b8b8e40f6fbdf516defffa6e3d60d531210f681a7af61b8a34173dffb29ae368f0eeee431ce43e74e890a3d44e9f3e6dd648555757bb37781d3c6c247c5ce9b04df1ecca359cff89f8e40d9dffd0fe72e1c20594da75a969dc47d2036812e1ee8036946cf868c6b22d295dd2fd845be4ce7d15e9a383918100c7cf5ee89bd93fe8aa681e016e4b5959999be9a193aefbfc5b69b23d51b1b93aad4b4becd9ac59b35a352846cbf839ff01183b7d0eec28ad7b6f90073f9bb72edcf635cf7ff8e0d3af552e6e14cf9ecb83b61c8572eedc393779c8cccc0c4a33e42d443c8cf8cece0f8b669572d6ae7bf7ee070f1eec5cfcc1c4ca8f9e3a3326fce1de92959c7c40cfa11a1625a615b64c0d4f9b36cd5d6a2525250c70b2bf3c7af4687a7a4b6bfbf67b7ba4bd76c08c471e83b6070c18004627fe102f327cf870949a9fbd23c11c864f7eb047df41fd47dfed1db4e9182e5df1ea4659877146d9525dbc78d12e850d1b3638fc9b13274e985faf5cb9c291d1a5e5af4987ed8fc0fea3a410ad9ee517d6f9d3e1821bb10cbb758c4a24288e7cf51d47c177efdeed2897ecec6c877d390ea5696868e04eca5bb6ef9326a39cb5bbe7fe7c4e44545656762efeb07ffffea4a4a4984431a14bbef6fba4d6570554ab621240cc467cdbb66d8e52e336cf4f3df5947b435e8d7db6e70844d6a096d9b655ab56893fc48b949797a3c8864e9a1e7377e7c9ca6368009392920f9efc46d66170c7f889ee2dfce1bed83b2981d4b997b9c3b834327ab5b0a97a0707564f9d3ae56d505ccd72cbd8fb626e50bdb3462816d71b2b5eddc8407cc7c2686e34678b234c9f3bbce73e50201dc6044f2e7a8e14e2c0810371cf1ffc9cffe0d812143d9f9f23e53db656b82e350de93c3e77b12a53acb060e92a1e2fed1ee11e3264c8debd7bcdbf3b77eee4462560c3d25bbb015499a1db4157ba8b3f7440397ffe3c5a793477251b3e8aadbbc37de7d425bb07b3e18942ce9e3deb5ede40411f64530b9e11be79db2e69ef2a025db99f13fd2e5cb8c0f2f213e0e71fdc79a967ef3e8a65f01ec31a3c6ca4c38220172f5e4c4d4d35f6356edc3877d499bc85b658ee055b88e05895f83b7fda1d37cf9d0d5b8d0c0e1ab6c499876985c5aa466d1140fcd24b2f398acc31bf74e79d77e2b227e63f2ba5b53386dd3a069a7febadb7c41fe245b845ba9f55d4fe31b3620f271fb459901bdc6f0084c12e8540e07f8e19b5571fce993307dfdc737fbef4d641c263dc3b683984f34569dd7bfbd952c90f1e5ff73b0e47aeadac514178e3edf7f6706f56c78ea2454545c6be366cd860ff74d75d77e1cb27173d27edc5160c64f2b37028a1f80364c58a150c64ca1872bbcfed9cd96b0eb8ed1ed6d1c74a1768bab98d02887bf4e871e2c409efa33c7af6eea33d5bafd61c516161a1f8431cada2e60e043f2e5c10abc8a51e7d0769f635140e9efc869ea83db97ff9f2654660db0b404f9d3ac53d5b3532da71a232dcfb7eba5741f020085841f47bb1c09a4045905ade8c2215811fe4e44d779fd2cd206706d5a0c533dfd7d4d4d05b387ae6af525dcc63ceb96975ab517f89c61f20dbb76f27856839ff68f8b8dcb9af96bef549a8cd497eba7823170b72970cad79683b8c9b38194a2e2d2d0db50d2857b0bdbcae52ba6a7fecaa3bc91026f1873892bd7bf732fe3efa755ff3abeb3386b4ec263472cc5875c9defb950d1f3edcde1594530dd5d5d58e759fa2611d27f62ce8d63d6eb974e9127726802d84721bfca064c347a4e2778c9fa8c825ff4b78e9b63a3621e028494141815d4cf416d66cac92deda028f952e68393d79debc4ec71f20e4033cfff8bf3ff71b7acbd8fb46ddf7f777152de2b6cd7d068e36bffe282515fad27ac176082006b5dbbf7fbfbbc8e6cf9f4fdf458aba5aa02d84bb0b532010a8adad6d6a6a92377f558467c95d9b9474f7cca511bb3b7095481eb2060d5533e81da8dd2f6ba02394a2aeae2e3535153e8d1dd1d44bf3a81d0974061c6b57824a4343435656167784f7b3bf991b3f5dbc91614bb02651f1b0f0c4fc67a1b7bbeebacb1da8b963c70ef3cdca952d3b648e1e3b5e1abbea943bd1f8c3a1432d670ef4b9e966f0fe175fdf7ccffdf9dcffc72da00d13b2739696bfa62eb37d5034ab146a9f3c79b2bbc8525252f0d3bbbb0f494b570b5ca3e23ea943e74f777031bb880eb8ed9e08e22e662cdb0257896de6aeba9332046f6cdeb68beb0bed688ae5cb979b70267a9fe87aa4ab8e36fbed387acc2332d02c8b1f347eeacc8a3dfe03a14d3843de8c22918770018d91e9d5d4d4d8eba4616e666b2690402eaa96b7d0a64077106e08531cefbf64c72f3946b2fff0978ba86aebab0268d3e73df3c2f257de585b59f3cece0f65deed8cbacfbf6500f1d6ad5bed229b366d9a96ad5f758c1e3b1ea5f09bdffc46fc21eee4c081039ce54fe9927e57d1229f2ce2e155b5992327d0dd993465aace38f309e8ca31b96fc299b8af2e7a1f2da2eb50e089d4b657daea5a88d5ab579bcd7f6e197bdf4f7ef97aa875d54ffce33fdf37e715b384127d9cce4e89182fafabe4c8b799d0fbdbf707843b5654cf78e431e9aa4d31213bc7b1d62bcef883fff31f6cd9b66d5bcb565f1327ab0674d80062fbb43296574a4aea81e37f927eaefa109dfb980ef187b890f3e7cf171414d083b92e356de8a4e9a13c9e9fbfb2031cc30470c2dd8155aafe87b558887bb93a06e75004f438dfd9f9a1b4d4a1c05332ed352a7ea4a1a1a1acacccde42b477d68841e3a78ebcf7e1dbf27e81bff8cc750ec694e63df382e2d6a204e8b7fba838132bd8b24756972e8a19e9802623fe20b47900314f2b5bb66c190a0b2c62c48896e375162c5d25e5883f48a21478b4864550aeefd603542173e40400be4ed27529727762b5bed071aa407171b1f6db4924fe6058446565e5c48913af09217067731f2878f1f5cd32a598e0dddd2d21e8a06d8e2308ae5cb9326ad428790bed03ee5a565e5e2efe2074b800e2f4f4f4cf3efb6ccd9a96e988be99fdb54985f8832456827eb7a4a4849b1ebadd1d985bd1ac5298a18c2e62c053ec7e634f7b59e7c71f7fcc79d40f3efd5afa4924fe608f7c8f187d47c5e6ea97d7552e2d7f0d7fd756d604f61f55ac5acc31adb0858a8390db450016872ffb650d54c3d50ee04172e20f42070d209e366d5a8f1e2d0b37d1224b2771ca1feaebeb1b1b1b9b9b9be5b577c07d99e0361d3cf9cdbbbb0f6dd9be0fd85577528bbe628515af6e6cd963272b8b2b3bc78d1bd7b228e29917a49904e60ff22bda07078eff89dbde9825ef172f5ee4122f1dc627fe20fed0a9f1fe912f927e18195549c5357fd0f90f1d9c3fa862b75d28264f6d5fbd7a75555595d9f44f9a117f10a2078f34bdfdf6dbb9390177719d909d23cd883f883f74763c3e77318a092c22b0ffa8b421fe20117f883b6cd9be0f4aeedab52b4fb3d23caaf883102b808a734bf1cacaca3367cef040f7dffefeb83423fe20fea000e2efee183f51d3fde20f12f187f8053706e549c3d286f88310438090b71cc5d8abd7942953f0a16856a97422fee057223bff41fc4110c41fc41fc41fda011f7cfa754a4acbfe9eb57b0f4b1be20f425bf44adc2c4e07d4883f8427119c3f2dfe2008e20fe20fe20fed83b7dfdba3359de20f425b20b0ff28974a2e7fe50d6943fc41fc4110c41f24e20f8220fe20b48245cfbf3cadb0589be48a3f883f0882f88344fc4110c41f0441fc41fc41103a257f080402b5b5b54d4d4d72d9c51f0441fc4110c41fc41f0441fc41e74f8b3f0882f883f88320fea0fd970441107f107f1004f107f10741483cfea0f31f0441fc4122fe2008e20f8220fe20fe2008e20f12f10741107f1004f107f10741107f90883f0882f88320883f883f0882f84350a9afaf6f6c6c6c6e6e96cb2efe2008e20f8220fe20fe2008e20f3affa1d3f187a367fefac1a75f87c291afbef393c8c193df1c38fea7b8b302e43968b6a19377767e58b1b91a7f836a00774139a15ed9a854ed8cf8c35501aaeecbeb2a43fd1ad87f14bfa27ebe7fe40b7c80f1aace883f883f440bd8129a1ee0dddd87224bc19c9b089b446ab0cfab5e33366fdbe5d194b00589613edbe8e44836796ae962a561f107f107d3e85d135ad0aff8ac4e7d33fbc79d2921cf8e6c8312408d3f4a49351a484a4ec6370eaa80bbf0132e03557027fb58e902deabc6ca1bec7dc41f628edc070a90ff2ddbf785b256d46aba281e9709e20fe20f7eb1b4fc352495d6a50bfa86f55581706f3f7ef6c213f39f5db07415ff854d22b5b6681c23f314bdbd8798e4135d293a4ea381b6a8df9dbca573d431f10749acf803ea034ccc0d9f169718fc6157ddc99ebdfb401b70bfd656d6e0ddf137276f3abec1f7f8d5c11f206b3656b993ed73d3cde20f7e0002d6164177e20f9bb7ed42fe1f7ab4c4fdd3079f7ecd1ace5139d8b826ca049dff10ad062764e7803cd47dfe6d64b7d32ccd705dc7e10fc883c720620cf9035fd9e780a5f843f4754cfc41122bfe1065a54a00fef087bf5c1c3c6c245451b1b93aa88ab2060d058137378251a0bf00bb08da0c0ebb758cf843ab68a3453be20fa8cc20b1ddd26f3035d6d1938260a8fa0989c31ffe76b5cf9f8eb20becb0fcc18ff720fe20fe20fe20fee031b5c828c78327bf595afeda13f39f5dfeca1b7630211b4f782d70be1f9fbb78c1d255ee10d0dabd879f5db9e6b1d20578162e339e8d49bceef36f912c6ec765ee4845dc8e64f1eb8a57373ad624985c2d7afee5c0fea391f187351baba087e2d973835ef9d0a325f8158fb66f9c5658ec0e61c295fdb206d285f57eba795f77b6a11ce4076ff4e4a2e7d65705ec90c577767eb8b6b2061f3655efc0afd0092746700dd4e8d09ed12daec153902034ef0e8084378942c1bd2fbebed9d62de38b9008b28707e176e4ca713bb28a34836615c9d24fc5f7bc0099b7e37ba1a23bc64f3481a9b8972f858b1d39117f88acc7744752a0de825ab098501cd0953db106fddf737f3eae0101467de0702a2e46ad868999cb7efbfbe3b8d19803cd13dfb8ad0f89f311a8ea286ba40cca6daa81a96645b34ac1de613879338a4cd3815b70af4d81609ef6a40a3386aa12b40ee07b543f142292c543f16a8ece142f387aec7864098f46061cf330a8966cd6721f284096603e807d3b32c33ce302c71b893f7422fe804a8f1440d6d119e0037a38f688767561542b2a373fe327fc8b4a033363e54345444e50db70235a433ad3a8c168cd7101bf7ffbbd3d76823042f440ec8a264d996a5741a48f67c1ea468e199b3568a86da8b455a4c65e84c005f8c61e54c0732764e7c0f6904f5b3fa8f7ece10034d3b8d1e60f304834137828b284db6136b89d0a31a68e3ce35e5e609e881438e466341054d5b061bc29ae61176b5b2c9ec27e14a68e0bf0d6306fd337b37ee376e4193fb119b25b2b769f347800c581d6c74e1c40e6a1553e1d4566cf35e176d3c0a1bcf014db2d40d13057005240c1b9534623c26c43f32c23be29d4e2a067780ba88ed94059d84a40e2a1940055db752c2c3f49fc41fc211afe40e28abaca46b2fb8d3df12f3e1b434075ead9bb0fe3aa4d6c0f0d81c6858a8d6f70237ec58d1ccea783c8c461714801b7338228ad4b175890e376dc88bb700d3e985fe1bc224b00cc9629c36422e00f8c53b27d29471f815f61b6f68d70ce1c214cc82ade11ca6c953f30db7817bc11b36d8a0079a00ee1e7511b7835d3a222657ccf0077fe8a74d83818ed210f6c55a85bf21c248286dd911ada16bc94291a2ad9f444ac1b68dfa873140a3d7ee3d221abc83fbe648f800f7884491cf50117c31f655691080bda0c3619c1bfc8092ee65b9b528e6c21a2f883297ac7fc184ad6ae698ef50f281a4e9d81c2c1d8516750a62c4da80235c4a403324913b63dfba0cb8158d0a815284d5831c06a6ffa2f1431ea157e450ac8002a127e25ed81fb644f95f08d20e65ebe4ed0d14fd6492e5e426e39b568fc28345c7c285e130f454fcd2a6af2cf2a840a095de12f2e46b534f501198036703bbc08e8ca91b8f843e7e20fa4c89c8fc607d206777f6c4f50e027541ad421dcc5aacf061db6879fe098d26cf02b804a866a8ac4519b4d83880bf00d7e456fc72a885f0d93667ef0383c02b0a93f1b7d18a12133005b5e3cc87c03e3616f67af7f8005f23569aba62f3716c87e1ae684fa84bfc8129e6ed48b3e1bf7e21be699bd11cd06064f23341a08b5c284cd1352403a48cdb405780a12c437c8367a2c266e9a3fd66f641eef452287bce162b3ae117d242e405fc58134766686017210024f84a2703bd5851ed7e48dde035f1c492171dcc2411af4f4f897748b4a6387ed4899d9c6678e6232b601dfd0d9326d349c2a871250044609489c4a404e8c1218ab8ab6d2ae63a11c1df107f18708f803ea2a3eb8e1e8b961c2340a8e3bc052ecea64060e703dcd848e2687f651db792fbee4703e9b3b93384c8f17d02f37ce3a6ddffc0a638181d077811f00db84399b016c989eff09559b3fb061f40ed6372e146fc48bc0786d17ededf7f6e0e9ef1ff9c29b3fc078919a71b5d19eb3f144ef8034e1a9202766b06953f50e5e6c7b3668bb782f9f0825a049a4f7b3fc95378c9b6e746bb8dcdaca1a5e6c2fb435ed24f4c94e8189b36e40336cbe903776102c38467c21aba67143ab88aca211b66b054a8764066d355d3ad368db9596d936c163f4f070aff843c440a54271d8d338b43ba37f9b3fa0eeb1af313348342e5615765b86b44333dc63c070458e81868a4ac0afe6a1a8cf66a20fcf62ef697e451d26d940b6f1a53d1c8036870f35d5157d287218d4d9702c4f32c9f2627a0bf63820b913e7286853f64407f260d70774c148ca74c1780b3456c85bfceeef22fe10e3f8a556f983a961a83d40d0f825f404a64ab1521ab3e134a2f915df90e6b27e337d63ccee2846b4d1a8c1c636e84c9bf100d46c76f60efe40b7db9e44a69fcdee96ddb63d7a07fbb4d58bf4cdc896311beee4d06afc12fa545c89ebed2daaf00aa65f643ecda4012ee3703b15c2fa8d6fcc0801fb1b5ecfd141bbbcd0fa4021862130713b6f1c156313803e159ff1b28e17c7f74c07ed85792e3e70b08d2fc294d95bf3a538cc6666873846c2391c3c0ebfa29d7528c174932c8e504ab8eaf14b8140a0b6b6b6a9a9492e7b27d97fc9e60fc6a127d01438eccbdea4883daeb12f3495f6d8240d96359989c313b51387c599c616eda4e357b46c68ca60146c276d2ecdc86fdc1e2e7fa097e37db15188b991c3b4f6b0251fedcd1fd8bc186f8c2d035a24b82f70a06d77df766ec82898b23d59cde5dac64d4467612a0375ebe81fc901a0bda043d45c7acbc69075c39e87b70b8e573a66e98b66959241995a61cf94d20d357cc3aeb46ce1edf742fa9a7f8872175743f658313832e5b07d16070bce76a9d94ba2c342f546819ab2a6bf611375dc653fc8cd1fecbe15168a6f484bdcbf9a6c3365b807c6f6e10ea144605fe615f053a832724c8f3892459d74ac0021abe1afac3f362da1eaf82cbeac3d566bbc3bc738aff883f883177fb0fbada0fcc161181c200fe56adbf59be93be29d6c706a8fcd2bfd7e6e1a48579ecd34bb73c31f68030e278057f2a11c77b7872b6cb3416f67fc6087d5d16cbcf9032ba8e38dd80699ce063db11d3ecb5e967485b7db4b1bc991a861b4685085638f45868dd9fe8dfd6a9c0c61d3c90ed5fe156d079e8547075d1f8266d4dccb94ed18240ee0d93a347529e82a0e36dc4c81a3b6a19470d5f983ce9f4e54fe807b512dddb01b374392ddce37e3975a5db084d609dd36e831a7fb6cfe10aab1e5af8e66c7002e021a28c79c090329dd632edefc81b3c11e177341aae346fa0d1ce6646b49d7dff0077c69eb932d36c365833e854da2c38d63d3ca8dd798b2fd761c8a0aba2e99da73b011ce1d19aee288bba07bc76e8275c36eb499209d27364d208ab6f239c24d85b8b7fe7304ccd8e50ecda0f7e118131ae7683605127f305d0fa7dced153e76d8b35d1c2c2cee5f6fc0c81c3240d81a15c24e1f05843acce263871874f43de84250a35b5645e4d07e2887f6d83830500a29a35ae271f817750f5666466c43b9ecf6eca819c1b41b312807151bb723416480331b86b4b88712468f1dcf3c538df8d7ce33e7f1e2f7044fedbf7415f843b8eba71d6643833460b7478798e97bb4a19cdae3e36000488a2343a6e1362370a6110fea04d8f9b41d6e03d812f36c3621b1f3ccd171cec378f307ce18d2080d18edc39100f7fa75db0571bb236eb7039d2e140b5763d294a98c1ab2fd1b3410a17ab2a0ed853d8c0a65dad966c82f875bdc7da47b5379934f1215871238aec94eda7d2f5f5cfc4172d5d73f38ae71f0070fe34567cf503dce69c00f60b88e1ffec0b08a50d963b87f50f1e380daafc0e637d49a5d7ccf76c07123173c70089fe3381cc5301d848920a2f02eaee0f2f07d1d99672276d7e0b3c1e18d8e6ec88c89f083ed501aa664b7f9a15a5de624a8b8a7be5be50f24638c036122d07664db04893f9cfadf4791b04e42b7a8abf6e0945d1cd036d77fba41fec060a1a367fe0a8acbfac6c5840c9f0e1569e6ed08b1957074af04e73ae8d5e076b603f8cb60017ca01315caccdd4d0aab2e0340ded9f9a1593b84de1f5f920c339f6e836265f67084ec3c8b3f5c05b9eae73fb4277f20ab4627eaa0fbdc34c00f7f2021a6d17235303e703c005d1decdc9c12601a710ed83b7a623b9f41cd068fb0cda1f2394400000ff249444154066d50a83c7bf3077a0cee7b01ce5947c31fcc0a4b0642e0331a17c7fc832371bbe90cfae276c068ee0305ee6c738d5758fc814b153d9420fe20493cfec0317518114c86ae8cdd16f9997f702c893e7ef602dd20ee76e0f34d6bf71e8697603304fb15e840d883f178848961e07cafc9867da309619a56586cbc28d341700724033aeb8ed5a82630d2cc463a5637d9242a02fe60ef2461cf3f7024d51176e29e7f08d5ead237f55888152e7f307a40c640c9d08b4516532efe608fa971e60a76077d3aecc82e0e2e77f498b563202eaa0d5c678e18b222c1ac706328d7d9db11620d74ef98eca8deb02c547e4e3b90c9e371c8b04798a25937e8c83f6e64f4389c25f055c3a6ec40837beecf774401d8a49a04c66153dabf55fca115fe60fba351f2073b54c9ff289403681460b76c20d82d713c803669af4b6656d117ba27f5ecb03f8efd38ccc6ac9f6ed56cbcf9831d17eb73ff5cfffc816b21f08850ce81377f081a4e80c611ba25d3f3d837362cfe60872ab53a202afe20490cfe808ebf5fd640fb573626f442bcf9039a23f73a5ac64bc07161d880c3c5e456a1a1fa487b5b277b4a0189a0f573ac5843038b0613ed00beb77d59fbdd19c20435229fa679f45effe06e0c9132074749541c3e3d5b2136f211f007479bcfa9603c912ccef12bdd2c3a9adefc81bf3a7a0464126f415211167f403a8ef3ce223ea940fcc131ce3872cc58c6eb3ac89e5d1cb429c77988b8176e8f21159c6a331ebf595de3d1b37b3b428c29320bee4d6831cccdec3ccb3d48c016cc421dbe11ecd1a3d5e29662f69a2b8612c02f62b6eded678c4972f880ee84ad0ada38f30c3f8a7b363834d9b3779fa0a7498a3f7452fe6027cb75b1b1e20fb898819e8ea508f06269997ef80399038305e937b3ef41cdb67b6bbb1187d5398c8a66c37cbacd8633f2de66833cf376c7de7041d772397e458b00ab33eb1f22e60fa196a398b0606ffe602f4f742c5fe14b393a36749050a30965f6df9d93da390e904609420966fd83f883a4fdf9033a69d42e37cc7e4ad1f0076e3266b83df7e171f8b81e93bd9cbe30ed126e875d730f7b0e7fa021356d1a4dcc31f4688f95e0274e5fd029b75756b0fd44dee8b3224d7cc31dea1c3ebde3e039bc20f2636f05e3cd1fb8960c864fcf8cdbd8d3578696989a69cdd0ce230fdcee2932fe808c9996131fecfd97b8e5aed91a1f4f471fc161a956f903c3eb01b35a0379b6cbda0f7f309d20dd3b33140d9d78efa82bfee01376b07450db6771a0ea720b323040cebcd137b0170ab3963ab65da2c9788f2a8672840c9b858de389782e9ece9548a6b9a0ef6e3355f6d78ea5f941f75f421542738164a104d46a3210ae534245a5e3817fc99d4c13876fb8b118980cf28f7b51a5b925a3dd22992de09143ee06abfd97c41ffe8779a3c6a0eaa0c5841349beebc11f388084cbe0739bf31f3ccc86a688bfa8df9ce3e61ec3ec08fdf00763bd660b23136b6b778a7623ce1e14dfa051c6836090dc2c88f93466037342fec167b8e7acc93327ac61f078106e7798bad9a4051a70ef03cdcdfe901a92c5af50110306eccdfe22e60fb47fd833bb58941797289817f7e60f2802183f94cf094dde8e576373c0a023e4168d05de14f9c75b40e7f6fe4b3ebb736a18b7a361a212d8149a91156ffec019a461b78e611d6b7ffe505f5fdfd8d8d8dcdc2c97bd93ecbf64c63ba2e10f344f34145c688886146d8839bcb955fe004be13a2b181df79dc3bd66a31e3623f006f013d730c078835a070c96d51e19202b80c93b365d3084812e3b3fb391440e83ce3f9886d11e0f6af5fc076e5c810c20db6cac4ca38d57c30b22934890fe3d546776228a803ff038058668e3837dfe032ee0d38d6ef15c43d5bcf983c92a13e76ea1806123adf20796176ec7f768dc981394358f300beb280ff1078fc31f7970873bdec1511ce08124f64660ad7657cef1443b6a881c23e8749f4ffec0c03ffba1c883bd7f0067206d2669f6843de579b439ea39d77f53503fed51061a355741e089a8b4f8c60c14a25960bfcfb368e007f27c1b9325bc3853a0c090e3fa0839f18718f307b4d7dc178f82268967bd79740f6c2e79e863ab66e3ae82a8ebc6427cf207f65bf69268dabf5d951d8d382c81d648c3a0ff6af2897e857190ec92d19b9afd97ccf6ea769ef1387b0c80e72a84da390a891b1551d04f18938e863f20113b65f461782f2a27d4e486a3e984c6eca6d36e0e9038c3248c98fde6c3e50f4195002fca28c19b3f18321374d5a3ce7f107f88ecf44cd4b15060cb00da8ccf8e283e7060b3f9092e736c84828b718ba9b7e89ed137c3de79ec263d75c64c3371c741b98e04793a245280b1c05971348cb57b0f2359fcc433713d62b8f1d3f257de8039030b96ae0aba733cf2836bd0dac346f0179ff10dcc0deda10961b2df9de3ee7805bbd5c5ebb43a4f68b28d8ec011a583a7207b79338a90013cc80ecb74a7ecc80c1b0dead3103fa40fe52041bc8e433ff8174a23b5836eed4014d60d5bdbeec24256518ec8a7fb76149923ab8e04f101b7e0f559b5a879eec0838ec6236a54fc212ca08ca06af7b9e3e877f0bd5d1f387c86828387ed9ef9e1ae47b6d5a0c83898e86171ee0bccc4a6bd39129e88e7a2d0ddf964fe1dd9f01e4163f1e1e9687990ac63433332848acdd5f809efcb27e21bc76802f738a67edc1b589b14ec7514e20f9d943fa03a3a6a0f77f84215619b88ca642e60c50ada25a03ac25a7c9a0dfe65fdb6f70237e9b75a2969fff653dc2d85c3f668f37828fa003c25683ed9283011777862a83cd3b0c1bba8018fb393d0191bad7ae89fd9a0f5da9f43b565c80f72c518008772dc89076d3a917936076e170417436368e31c2d915bbdee66c8914f0f25b8efb5cbc251c7c41f24d1f307c1ff6e985192f6f6470c231ee308e20f4234c5073e9c3568a84d9fb8814164b361e20f9d823f080b96aeb2e36e439d62212400c41fc41f848487f883f883f843b8e0f2a49163c6aeadace1fa879ebdfb744bbf219a3349c41fda56aefaf90f0237621b3c6c24c7e0c1c2b93c2e7e570509e20fe20f82f883f883f883f8837facd9586587af4fc8cef158ab2dfed021e4ea9e3f2d304cd9ac3c0697b8e7fe7c8f1d5705f10789f883d09163aeb66cdf97c0e3a6e20f42dbe1c0f13fc176429d2929fe20fe200481cfd51782f88344fc4110c41f0441fc41fc4110c41fc41fc41f0441fc41fa14c41fc41f0441888e3f040281dadadaa6a626b9ece20f8220fe2008e20fe20f8220fea0f3a7c51f0441fc41fc41107fd0fe4b8220883f883f0882f883f88320241e7fd0f90f8220fe20117f1004f10741107f107f1004f10789f88320883f0882f883f88320883f48c41f0441fc4110c41fc41f0441fc21a8d4d7d7373636363737cb65177f1004f10741107f107f1004f1079dff20fe2008e20fe20f82f883f8832008e20fe20f8220fe20fe2008e20fe20f8220fe20117f1004f10741e8bcfc41e73f0882f88344fc4110c41f0441fc210cd1f9d38220fe20117f1004f10741107f107f1004f10789f88320883f0842473499aaaa2af1074110c41f3a91d4d4d4a034a71516ab620b42f4fce1dcb97348a16f667f2953e80c9834652a2afc810307c41f04416813fe1008046a6b6b9b9a9ae4b27728d170a92018e4e44d8739ecdebd3b6283ba7cf932524849493d7ae6afd2a790f0e897351015fed4a9539d8b3f6cdfbe1daf3d72cc58d50041f08fd163c7c3707ef39bdfe8fce90490b367cfa234d107a8620b021bb763c78e456353d9d9d948646d658df42924367efbfbe3a8eabd7af50acb401261ffa543870ee1cdfbdc74b32a8120f847dfccfe301c988ff84302c8a54b979293939392938f7cf59deab6d09971fcec85b42e5dd0b85db870211a9baaa8a84022b90f1448a54262e3c945cfa1aacf9933278ef94364e73f40aef95e540904c13f6835a74f9f167f480cc9cdcd4581aed958a5ba2d74666cdeb60b8670fbedb74769500d0d0da9a9a9482ab0ffa8b42a242a0e9efc867c3bdcf9ba04e10f191919327241f08f5d7527395f1981b9893f744cd9b06103caf49efbf355bd85ce8c6985c53084d5ab57476f53cb972f4752a3c78effc35f2e4ab14202db4b414141b8d69120fce191471ec1fb2f58ba4a554110fc00c6029381e1883f248c34343474efde1dc5ba65fb3ed570a17322b0ff685272726a6aead9b367a3b7a98b172f7274f2a1474ba45b21f1f0ecca35a8de5dbb763d73e64c27e50fb80b2a183c6ca46a8320f8018c0526f3d65b6f856b6bf5f5f58d8d8dcdcdcdf2d73ba09497977333090d970a9d10a8f613b2736002656565b1b2a913274ec0bb429a45b34a65564282910790ed88772a4b10fe009fa657af5eda2a4110fc607d5580c14b309c706d4de73f74f055d49999993a484ee89c78ac74012a7f4646c6c58b176368563b76ece042089093f78f7c213d0b09b0e681614b900d1b3644661709c21f206bd6ace1f685c7cf5e50e5108450808170a7e7975e7a290243137fe8e072ead4290e97c297d270a9d07930ef991750ed9393933ffef8e3989bd5b163c718c894949cfcd0a325efecfc500a17e234c0efc945cf71c1347a8a68ce48491cfe70faf4e9810307ea045641f0064f661d306040043b2f893fc485a04b48fe7e567ad294a9759f7fab3a2f24368e7cf55dde8c2292879a9a9ab65b5f3467ce1c5a16a4fb8d3dc74d9c8ce65410e20213b273b8693ba5a0a020ca35428970fe8391bd7bf7a6a5a5412f60576a520521d4b26998098c25322b137f880ba9abab634867b7f41be63df382ced0151212a8d84bcb5f4325e760ea810307dadab2ce9c395356563678f0e06b249238948c8c0cd0e0288f56ec88fce16f119d3fed58489d9494c4f05fcddd0b82bdb2f0a1474bd88244b06c5afc21eee4dcb973d3a74f67892725274fc8ce7976e59a8acdd55bb6ef1384b806aa3168c3a4295353525259c3a74c9912930d97fc0b1e07965e2d91c489805d9f3a752a86269068fc0102df88b31083878d7cfbbd3d721c05013d2e375c8269ac5fbf3e1afb127f88bb8988fcfc7c137421912498646767b7c3b4834422497cfe00d9bd7bf7cd37dfccc6e58ef1135f7c7df3c193dfc889143a1bea3eff16951f2660262e611a511a97f8433cca850b176a6a6acacaca8a8b8ba74824712e4545450b172eacaaaa42c596754b24e20f31e30fdcd175d9b265e9e9e96694a26f667f3852b90f1468198d90d840254755b7574ac110962c5912c16ead6e090402b5b5b54d4d4d6a3d2512894422117f4828fe403971e2c49a356b72727252525234cf2be96c826a8fca0f138021c4d0ac74feb44422914824e20f1d45a2dc7fc97b3ae2d0a143dbb66d5bbf7e7d854492d0824a8eaa8e0a1f930907f1078944229148241d973f4473fe834422691f117f904824128944fc41fc412291883f482412894422117f904824e20f128944229148129b3ffcd3f7f2c9279f38bc967dfbf6fd5330d195ba5257b6e795fff22fffd2dcdcacd6532291482412f187ab2fdbb76f7ffb07397dfaf4fffbdff2d1471fbd1d4c74a5aed495ed79e5af7ffd6b4d41482412894422fed021044ec9bfff206e07e5f2e5cbff1e4c74a5aed495ed79e57ffee77faae9944824128944fc4122914824128944229148c41f241289442291482412498ce4ff03a47aec21c1eac1c20000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Workflow of TodoMVC, with Backbone and jQueryMobile}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Routing to a concrete View page, Inheriting from BasicView\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When the hash URL changes, e.g., a link is clicked, the configuration above prevents jQM from triggering its events. Instead, the Backbone Router listens to the hash changes and decides which view to request.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Experience has shown that, for mobile pages, it is a good practice to create basic prototypes for jQM components such as basic pages, popups, and dialogs, as well as for using the jQuery Validation Plugin. This makes it much easier to exchange device-specific view logic at runtime and adopt general strategies. This will also help to add syntax and to support multi-chaining of prototype inheritance with JavaScript and Backbone.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 By creating a {\f1 BasicView} superclass, we enable all inheriting view-pages to share a common way of handling jQM along with common usage of a template engine and specific view handling.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When building with Grunt/Yeoman, the semantic templates are compiled by Handlebar.js and the AMDs template files are combined into a single file. By merging all page definitions into a single-file-app, it becomes offline capable, which is important for mobile app.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Management of Mobile Page Templates\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Within a concrete View page, you can override properties for static values and functions to return dynamic values of the super class {\f1 BasicView}. These values will be processed later by the BasicView to construct the HTML of a jQuery Mobile page with the help of Handlebars.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Additional dynamic template parameters, e.g., Backbone model information, will be taken from the specific View and merged with the ones from the BasicView.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A concrete View might look like:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 define([\line
+ "backbone", "modules/view/abstract/BasicView"],\line
+ function (Backbone, BasicView) \{\line
+ return BasicView.extend(\{\line
+ id : "editTodoView", \line
+ getHeaderTitle : function () \{\line
+ return "Edit Todo";\line
+ \},\line
+ getSpecificTemplateValues : function () \{\line
+ return this.model.toJSON();\line
+ \},\line
+ events : function () \{\line
+ // merged events of BasicView, to add an older fix for back button functionality\line
+ return _.extend(\{\line
+ 'click #saveDescription' : 'saveDescription'\line
+ \}, this.constructor.__super__.events);\line
+ \},\line
+ saveDescription : function (clickEvent) \{\line
+ this.model.save(\{\line
+ title : $("#todoDescription", this.el).val()\line
+ \});\line
+ return true;\line
+ \}\line
+ \});\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i A concrete View (EditTodoPage.js)}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 By default, the BasicView uses {\f1 basic_page_simple.template} as the Handlebars template. If you need to use a custom template or want to introduce a new Super abstract View with an alternate template, override the {\f1 getTemplateID} function:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 getTemplateID : function()\{\line
+ return "custom_page_template";\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 By convention, the {\f1 id} attribute will be taken as the id of the jQM page as well as the filename of the corresponding template file to be inserted as a partial in the {\f1 basic_page_simple} template. In the case of the {\f1 EditTodoPage} view, the name of the file will be {\f1 editTodoPage.template_partial}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Every concrete page is meant to be a partial, which will be inserted in the {\f1 data-role="content"} element, where the parameter {\f1 templatePartialPageID} is located.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Later on, the result of the {\f1 getHeaderTitle} function from {\f1 EditTodoPage} will replace the {\i headerTitle} in the abstract template.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1
\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i basic_page_simple.template}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Note: The {\f1 whatis} Handlebars View helper does simple logging of parameters.}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 All the additional parameters being returned by {\f1 getSpecificTemplateValues} will be inserted into the concrete template {\f1 editTodoPage.template_partial}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Because {\f1 footerContent} is expected to be used rarely, its content is returned by {\f1 getSpecificTemplateValues}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the case of the EditTodoPage view, all the model information is being returned and {\f1 title} is used in the concrete partial page:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1
\line
+ \line
+ \line
+
\line
+ Save\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i editTodoView.template_partial}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When {\f1 render} is triggered, the {\f1 basic_page_simple.template} and {\f1 editTodoView.template_partial} templates will be loaded and the parameters from {\f1 EditTodoPage} and {\f1 BasicView} will be combined and generated by Handlebars to generate:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1
\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Final HTML definition resulting from basic_page_simple_template and editTodoView.template_partial}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The next section explains how the template parameters are collected by the {\f1 BasicView} and the HTML definition is loaded.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 DOM management and $.mobile.changePage\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When {\f1 render} is executed (line 29 is the source code listing below), {\f1 BasicView} first cleans up the DOM by removing the previous page (line 70). To delete the elements from the DOM, {\f1 $.remove} cannot be used, but {\f1 $previousEl.detach()} can be since {\f1 detach} does not remove the element\u8217's attached events and data.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This is important, because jQuery Mobile still needs information (e.g., to trigger transition effects when switching to another page). Keep in mind that the DOM data and events should be cleared later on as well to avoid possible performance issues.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Other strategies than the one used in the function {\f1 cleanupPossiblePageDuplicationInDOM} to cleanup the DOM are viable. To only remove the old page having the same id as the current from the DOM, when it was already requested before, would also be a working strategy of preventing DOM duplication. Depending on what fits best to your application needs, it is also possibly a one-banana problem to exchange it using a caching mechanism.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next, {\f1 BasicView} collects all template parameters from the concrete View implementation and inserts the HTML of the requested page into the body. This is done in steps 4, 5, 6, and 7 in the diagram above (between lines 23 and 51 in the source listing).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Additionally, the {\f1 data-role} will be set on the jQuery Mobile page. Commonly used attribute values are page, dialog, or popup.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As you can see, (starting at line 74), the {\f1 goBackInHistory} function contains a manual implementation to handle the back button\u8217's action. In certain scenarios, the back button navigation functionality of jQuery Mobile was not working with older versions and disabled jQMobile\u8217's navigation sytem.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 1 define([\line
+ 2 "lodash",\line
+ 3 "backbone",\line
+ 4 "handlebars",\line
+ 5 "handlebars_helpers"\line
+ 6 ],\line
+ 7 \line
+ 8 function (_, Backbone, Handlebars) \{\line
+ 9 var BasicView = Backbone.View.extend(\{\line
+10 initialize: function () \{\line
+11 _.bindAll();\line
+12 this.render();\line
+13 \},\line
+14 events: \{\line
+15 "click #backButton": "goBackInHistory"\line
+16 \},\line
+17 role: "page",\line
+18 attributes: function () \{\line
+19 return \{\line
+20 "data-role": this.role\line
+21 \};\line
+22 \},\line
+23 getHeaderTitle: function () \{\line
+24 return this.getSpecificTemplateValues().headerTitle;\line
+25 \},\line
+26 getTemplateID: function () \{\line
+27 return "basic_page_simple";\line
+28 \},\line
+29 render: function () \{\line
+30 this.cleanupPossiblePageDuplicationInDOM();\line
+31 $(this.el).html(this.getBasicPageTemplateResult());\line
+32 this.addPageToDOMAndRenderJQM();\line
+33 this.enhanceJQMComponentsAPI();\line
+34 \},\line
+35 // Generate HTML using the Handlebars templates\line
+36 getTemplateResult: function (templateDefinitionID, templateValues) \{\line
+37 return window.JST[templateDefinitionID](templateValues);\line
+38 \},\line
+39 // Collect all template paramters and merge them\line
+40 getBasicPageTemplateResult: function () \{\line
+41 var templateValues = \{\line
+42 templatePartialPageID: this.id,\line
+43 headerTitle: this.getHeaderTitle()\line
+44 \};\line
+45 var specific = this.getSpecificTemplateValues();\line
+46 $.extend(templateValues, this.getSpecificTemplateValues());\line
+47 return this.getTemplateResult(this.getTemplateID(), templateValues);\line
+48 \},\line
+49 getRequestedPageTemplateResult: function () \{\line
+50 this.getBasicPageTemplateResult();\line
+51 \},\line
+52 enhanceJQMComponentsAPI: function () \{\line
+53 // changePage\line
+54 $.mobile.changePage("#" + this.id, \{\line
+55 changeHash: false,\line
+56 role: this.role\line
+57 \});\line
+58 \},\line
+59 // Add page to DOM\line
+60 addPageToDOMAndRenderJQM: function () \{\line
+61 $("body").append($(this.el));\line
+62 $("#" + this.id).page();\line
+63 \},\line
+64 // Cleanup DOM strategy\line
+65 cleanupPossiblePageDuplicationInDOM: function () \{\line
+66 // Can also be moved to the event "pagehide": or "onPageHide"\line
+67 var $previousEl = $("#" + this.id);\line
+68 var alreadyInDom = $previousEl.length >= 0;\line
+69 if (alreadyInDom) \{\line
+70 $previousEl.detach();\line
+71 \}\line
+72 \},\line
+73 // Strategy to always support back button with disabled navigation\line
+74 goBackInHistory: function (clickEvent) \{\line
+75 history.go(-1);\line
+76 return false;\line
+77 \}\line
+78 \});\line
+79 \line
+80 return BasicView;\line
+81 \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i BasicView.js}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 After the dynamic HTML is added to the DOM, {\f1 $.mobile.changePage} has to be applied at step 8 (code line 54).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This is the most important API call, because it triggers the jQuery Mobile component creation for the current page.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next, the page will be displayed to the user at step 9.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+ \line
+ Save\line
+ \line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000002a90000013d08060000002839fb0f000080004944415478daecbd77585549b6fe7f9f1bbf7fdc7b7f37cddc3ba167a62775187bbadbac6dce8a220644494a54101473c69c73ce6d4654cc9845441424882839e79c4e3e9c80efafd63e6c3cd0daad8edd8ded7a9f7e9f936aef5d55f4717fceaa55557ff7772c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c12582c16ab158aff7566b1582c86547cf1c517f8ddef7ec766b3d9adc2eddbb7674865b1582c8654296281bcbc3c369bcd6e15a67f93f85f67168bc56248c5dff1a83f8bc56a5d43fd0ca92c168bc590ca90ca62b11852dfc6bfa52c168bc5b9fe0ca9acb7a8ea9a5a3c4d4a65b3bf375755d7bc37901a121282b90b02317b3e9bcd66fff89e1fb80c6a8d8e2195f56e2a3b271f77c2ef2323339bcd7eeb0ebffb009959b9ef0da4f6ead50b631c5d3165d642369bcdfed1fdefffdf7f20233b972195f5ee426ac2e3a7dc11acef45894f92df3b483d1a7215f1b9756c369bfda3fb97bffe0d5232b21952590ca92c16436a2fcc5eb81c81eb76b1d96cf68feefff8cfff46746c3c432a8b2195c56248ed85e17676e8fa5537369bcdfed1fd2ffff2ff70ebd6edf717524d8a42c45edc8669d3a6bdd04b36ed45788eee0d4e5c87fce8f338bdf3109e56bece811a9427dcc4d197d467dafadd38965cf503dfaad5288db98adbfb4f22a5faf58f2d890ec5ed03a7905afdf66bc690ca62487dcb903a7c38ba74e9f286eefcdc9d7f42b66ed71bf70d9bcd7e5dffcbbffc8b80d45bef2fa4d617c7e3daae49709bbf199bd72fc174473bf4fcc416feabc4eb55f311b874213644d6bdde49b51548bcb60b0efdbec480dea3713ef3750ed6a32623069702a7c2be4757fcf94b0f2cd82cea22bc9ede1bd9031fd9cec7eea349f8e150b5124fbf5e88d5366e08cd7edd63455fec9f87d5c3bd7035872195c590dafa21d50e5f7df5d59bbb5b377493dc1dddbb5bdca3478f77ceddbbf768aa3f99daf437f50b9bcd7e6d33a4166722e5d6693ca8955e20eef026040cda00894bf555c8487a80339185af77527d2db2a282317d5c2fd8be36a4369ea2e001f64c99847e632f403edca42ac5d32bdbe03a64007ed3790a3644e442f783dcaa75a84a8946dca55bc8537c575923aa33ef20ea7a5063d4551c9b1c85b8cb61c85730a4b218527faa91d4ae5dbb4aa6e79d3a7542870e1da42d6265b76bd7ee9db25c6f6a47c78e1da53651dbe8c629b793cd667324f57b8554b34603654909eaf0024885196ab5122525756f40998578b83f0013df22a45a3ea841c2c51518d2f32fe8e71f8c745d6bbbadd721f5cc326cf6f4fc5e22a70ca92c86d4ef17526d6d6d25207b5577eedcb9e93941dd679f7d863ffff9cff8fdef7f8fdffce637f8d5af7e855ffce217ef9c7ff9cb5fe2830f3ec0ef7ef73bfce10f7fc0279f7c822fbffcb20958a9ddb25fa7bfd86cf6abfbbd87d41661d516906a2d13eaf2a3716e931ffcfc8417aec7aeb0ec66914c6dc563dc38dcf8f9a4f118ddfb73f46f8254236af31e2064a37cfc06ec09cf796924f4a5902aa4caba868d9e7f457b9b69b8596439774df63d9cde603977e0a60388c8b59cd958938d88531b2cd7f45b839d47925029473cb3eee2d4fac6faacdd85a34955e2ed6a64dd0d46f0eeddb879f9320ef8adc5ee630ff124fa326eee3e86e4d26a64868bcff71c4244d41d9c948e5f8cad872291af53a138ea14d6f469872e1f7e8a612eebb0f7c443243eb8849b7b83905265b96e55c66d04ad6bbcee926d38f2201f7a4bcb5074ff026eee3b8288fbb77062adf87cfd3e9cfc96645686541643eadb85d461c386bdd2cd438e3012a47df1c51712ccfddffffd9f04a7f4ded0a143317af46838393961fcf8f170777787a7f8f14af6f2f26a7596eb46767373838b8b0bc68d1b87112346a06fdfbef8eb5fff2a412b41374178dbb66da5f6cb66a060b319527f244825408dc4c55dfe58ba6e3d76ecd882154ba7c3cd7f1a363782aaa6fc312e1e9e04cfb9d3b17ec70eac0bf4846d87bf431b09520950237061a73f96351ebf7cc934b84d9d81ad775e0caadf06a9a6b2041c9a6b833ff7b4c7a1c74a01a889083fba03878fedc08ecdcb1038d50df317edc5d3921aa4475dc6e6e5ebb141d469f3b25df87aff1d6449807a1bd7f6cfc48edde298350be0e2ea81a1d3f722f8d4268ce8de066d7edb1d9e7e07716cc741ec5db91ef3fbb4c7983e03b070cb46d875fb0bdafcae333c66896b8aebae99ef0bf731ae58fa751cd21343b1756437f4f8ac2b7c977e8d7d2bd6625eef76709072520da84abf8e333b02b062fd06d10f9bb164a13fdc662cc0fe0749c88a0cc2ca5e6dd1f9c3afe03567070eed988bb1ce5e18b5fc1a0af40ca92c86d41f0a52ade1cbda3298d223dd40084e7ffdeb5f4b91471a22b7b7b7978094008fe094206fecd8b1d2fb04acf43866cc98566db9aef49cea4e6da0b6b8babac2d9d91903070ec4471f7d24455afff4a73f49b04afd21fb657dc766b35fdf04a9376fde6448fd5648d596e2feb12d98e0ba02374aeb2d6900c55138b144fce3356129628a6b917e651fe6bbf8605b5429a884be320e214bfa603841eae362441cde2c7e9dafc2adb2c6e38beee368e058b878ac406cc5eb41aab1240e0766f5c7c7bdc7e0787436c20e2c42ff2edd31d2c317bede2e126476efed80c351a9883cb2028e8e8bb0ef69254c2a1514e5e550a80b71ebec764cdf7000699427aa13301b1385f3172310117e02d3ec7ba0479b6158732a1f4a81d0d54faf62fbe8ee18d5cf161b8e9f408078dee3b3815811948c0a8338bc2c1247678d84eb9895882accc19d4ddef0b5a5e17e716ce265095a4713a426e6e1eaceb5f0f6db8a083a50c0bf22f726f6cc1a03afa9abc5afa54bd83ca22b7a7c6e23ae9d8a8aca54842c5d0c77d7fd885332a4b218527f0848a508a83574c9b6ce2f2540fdf8e38ff1f39fff5c1adea768a30ca60e0e0eb0b3b3c3a04183d0bf7f7f290a49e7edd9b3e73b63aa6fefdebdd1af5f3f094a6d6c6c3072e44809580954a98d7dfaf491d20028a5e1f3cf3f6fd6472fea3f369bfdfa66487d0548359525e2c48299e839e22c329a92592bf0f46420a6751d865dd763716ef96c0162479058ffcd9cd4d3110938327726fad89f7f0e9ce672241e5b8080ee23703041f75a90aac8b88475133e41c7610b10969482e3dbe7e30b8759d8b86b177635fad8f9eb482aae4669c205ac9d2c7efd0f7684cfaaed382460d5581c833ddb96c27e6734be319749978b88ad3ef0b199f07c26bf782f7cf324f19e1b42931a9f0f75c715f973530962764d47c000171c7f986c05a9746c0ec2368ad702522fdebd8f6dfeb331dceb2a9ad2554d4588de1e20fadc0d413149b8b5ce13be7613719db8409b855b6bc579c72cc2dd5286541643ea0f05a9d6402a4f7aa288a10c607ffce31ff1b39ffd4c9a4044e046804a1047404a33e365d093618f804e36bd6ecd7e513d65c8a6c7c183074b515602728a3a7ffae9a75234f92f7ff94bb3fe6ad9876c36fbf5cd90fa0a906aae4842f0e20968376036c2cbe5776b9071763596761b8eaf6fc62128701abadaee47bcf69b901a12f904c7178e478721f370b7296a5a8db4532bb0a4c7481c7b627875485597e2deb13968dfab2386ad0b43798980d48d1b6033ed268a5ed426930aa5499138b73e1013c6dba1ef8c2d4878128ffdcb17c376e62d14bf0d4845259e1c988fc583c6e3545cda4b21f5d2bd87d831cd19bd1c5621aa69fdac0a3cde3b178b6d3c10129ffa0248f5c0e411932caf1952590ca9df3ba452d4b0e54c771950e939450f292f93a08de074d4a851d271b44cd3b781debb6cebf650bb09c429c24ae9001435a648ea6f7ffb5b0958e5fe7ad7563360b35ba3fff99fff9921f53b87fbebab90707e05ecbb77c5e4d509204e35d6a6e3cabef9f098b20b29e5c5883ab804437f330ab3b63e46450b483dffb4127167978ae3bb63ca3acbe7c69a545cda330f5ed3f62055f16ac3fdd224a8c373d1b77d2f7c3a78154ed29a4efa0a3c0cde0c97b193b156ce6f5597202b2d1ee1e945a8aecc412ecd946a5c1560fa2c071c8e4e47f8f665b0eb3b135be49d068c55282eccc0d394945782d4213decb1fc81e55855f16d1c5c39167ef30f23a33ce7a5907a355900f6919918d97310e6ed4a96d6793554262068d31c4c59741499e5d90ca92c86d45600a90459b26946bbfc9c260cd1103f95a3dc5302355a92c93ae2f83e98da2a478c29824c6ed3a68d34f44f1155ebfe63b3d96f6e865439e058978fa8e0c518d1ab0b3efba0335c03b7e266961c16354353998cab5b03e0daaf3fc6787bc3637200266f3c8ab34fcb60403dea72ef2368923b467cd81f0ee2736f7747d8f5f80c9ffcf243b805ee44e4d3a708dd3c152efd07489fbb4f9e06bf4dc7713ea91ccde3a81a94c686628fe370746bf3097ef5074b796f3a669c2d6c6dc5aff739c770258cf2452d755397c5e0cc2a2fd8771d8ef15476c162acbc1a8de4fc0c245cd88c690e96e35da6fb614ed0092457285193198e23b37c306ea083f499f7ac40ac0eb98eb090afb1a4eba7f8f4377f86f74ada2d4b85e27bc7b0b8cb27e2bdae98b2e210be5e2d20f593b6183869aee5bc13bde0bd6e3b42532b603055e3c999404cecf931068d0d44a07b20a67716c7feb63b0236dfc193ec389c5ded03e741833196dae4370353b79dc2d5b46c64871dc2824e1fe3d3dff5c0f4b56771edd476f848af7b62c6565a3d802195c590fa7d43ea902143243025d3c428195269b210cddea77c541aeea6b232a0b6cce79441aee590f9bb969bfa5db62cfadf5d1af6a7340082788aa8d24a00d46772ffb1d9ec373341ea8d1b371852cd9a2a643cbc847dfbf6493e71fe1a9e94d55b9710a09a81e84b96cff79d388feb12a036855ba1c87d8c3b8dc75b3b24f436f21402262bd21075b1f1fda08bb8f10d409562a8a8cb4e40d80bce430eba7813c9e5866f1c539bf5e8f931e7ae21bc4020ac598db29407b8d0f27df998cc78dc963f3b7919b7530a5066f5deb9eb7751a0a41db0e2704b7aef242e8786e2f4ba4970ff6a1096efbf603936381477522b1bdb6282aae42922cf53f93338b32f14a1d2b1c108bd93864a83094af1f9bdf38dd70dbe82f0343a5687eab418dc6c2c7be5662c1ec7dcc379f9f5dd7454191852590ca9df37a4126c115c9169189b608ba2839477496b85d21037c119edc024839a1c55b406b76e4d3b4f3db7bcfb947559f9f5bbb82b955c6f6a1bad2f4bafe57555a9efe47e64b3d96f668654d6eb49f7a29cd41f4f0ca92c86d4b70fa90458140d24533483c08bd608a519fb2f0335324556e505fd29f24a91455aa6895602a0e170ca31a3c956ef22907e17ac128053ffc8cb72517eaadc8ff4c866b35fdf0ca9ac5797a10ae9d7766272a78ff1c9077f86f78aaf21a7b432a4b218527f3a904a6045a0498f143da5216c7a3d60c080a628a91c3195e194d634a43204a5648a26d22a00f26bf939c11b812cc1aa7cbcfcf82e9bfa845637a0be2038a7f61298cbfdc866b35fdf0ca9acd7c88950a12cf9012e1d3c8883c2176f45a248c590ca6248fd29412a45036548a5a820012aed2245004630295b1ebe27d8a4682b454e6518952d03aa35a89209e2e81ab43355cb748017b95b377a947341096a5f5ef66f73e3f259e21a3de875b757bf0ed59f0095fa89fa435e968a4183cd664865bda762486531a4be5d48a519fb04576402558254024c822f025219c6c8f49a725669389f40568e9ecaa6f76922164559e5f350192a4ba04a104ca02a9f8ffca25cd66edde85a9d2dbbd074ea8c2e54eeab6e2f29fb66feaa1b5dbf0b3a77ea880e1d3ba17317f1fa35cfd1a54b1769a92a4a6ba099fe04ee144d95fb939eb3d9ec5737432aeb9d87d4eb37c311179fc866bf75df10ff6fbd6f904a43fa34244f504590f5e1871f4a370b82308252194ee93541239525f06c09a8742c4d26ba7cf9320202022448957354e9732a4fa90434f4ff6d90dabd4717746c3b18a33dd7e0c8e98b38bb6731dc06f7454f2afb92095add9a4539bbbd741297fc79f7ee74ed5ee8dddf0f2bf68420f4f47e2cf31e8d3e1d3bbffc1a2d21b7b15fe89cf2860704e3d446ea23b94fd96cf6abfb9ffee99f185259efae542a35f20b8ad8ecefcd4af1ffd8fb06a90456748320c82253b494004c360119450d095ee5327284942c2fc374ecd831d4d7d7e3eeddbb5284f617bff845533455865aba0ec1ae7cde96eedea333dab6b1857be015a49468501b7b0cb3860f442f2a2f4362b3635e0e912f2b4390dab54b6ff41bb212a71ed54253f404670227a05fdb8ee8d6a3bb14c9edf682bab5b4dc068a0e531f523495a2c9f4dc1a56d96cf6ab992195c562b1dea27e0a904a60453708822c8aa4526490008cc05406557a8f80535e72894cd153824e5a4b95a2a7e5e5e568686840757535b66fdf2ebd4f337609d8e8583a37455769789cce2ddb1a88bb7527481d0ca7d927109b5b889cb01df01dd4039ddbb6433bdaa6b5231df3556379cb707db3ad15db7540c7cea28c0cd85d3a8b7a74908e95cb74e8d4591cd7137d06cec3a17b1928cf0ec7c159e3d0f3f37602a03ba07d878ee8d4b96bb37abdc8d66da0fea39db9a84fa83fad6195cd66bf9a1952592c168b21b50952fbf7ef2f8115dd2008b20854094809bc28422843184d0e9287b4a90c41da9c3973b069d3261c3a7408292929301a8d78f6ec99144dcdcaca42707030366fde8c458b1649ab08d0b1740e82543ab76c6bd8fbaa5b277cf9e96038cf398d478505288a3d8e0d4bd763f59a8d58bf76351678d960486f82c80e68db79006c9c6760d99a0dd8b871a3a8cb06ac5b1588c9c37ba297f8bc53974e68ffd5508cf29c87d51b36619328b361752066fb8c44f7ae3dd1addf7c1c8bca434dde3d1c9a3d0eb63663e1bf640d96cef583bb9d0066717ca7ce5d9ad5cfdad6f52748a5cd0f08c6a93fad6195cd66bf9a0952af5fbfce90ca62b1580ca9bdd0af5f3f29ba49904a904543f7045e140525cb2046104691508aa012ccd2ae5267ce9c8156ab6dea0b0254ebe7649d4e87f0f07038383834a507506a80f5b99fbb0bba7ed5115f48901a8c98c27c5465ddc2e53397117a350619e56a54c41cc216bf41e8ddb60b7a38aec5e1f06c54e5c5e0d2f9abb87e231d55263d524ecc847b7f01bb6d7a6290d70e9c7990838a8c87080d8bc2c3dc62143f0942a0f728f41d300f871ee4a13a27028702a762cefa3348ac2a43d2d5ad98e7dc155d05e876e82480f41bf57c6e6a070df9532ac4fffeefff36e5e7529fcab0ca66b35fcd0ca92c168bc590da0c52e505f809b20852294ada1252e9731aea9787fb29df94d60bbd70e102542a9504a434d42f3f92096009509d9c9ca4e82b1d2b4f2ea268edcb2175089c661e436c41156a922f60bded67f8f8b79d306e4724b21546e404cf865be7deb09f7100972f1dc7be597668db6b3846dbefc63d8d0966633476ba0dc6e71fb961cdf542e8ca2270d8f353fcfb07edd079ca3e5c0d0dc1f1151e18356201f6decb4175711c2e1d3f87539713f0f4c666048ce9884fbfec88f61d3b7f2ba0b684d49ffffce752dfc813c6e891cd66bfba1952592c168b21b5095269a9a996904ac3d734b9e94591541934c91451a5e3efddbb07b3d92c81293d9a4c2669e83f2929093e3e3ed2ee55749c1c8925a09321b57944b511523f190cc759c148282c41feddddf0e9df15eddbb6c7c79efb1099a7444df86acc1825ca77ef8ffebd4760fcb46d087d1485887b9928af177530a6e0a4fb6074b35b8a13b97a28138f63f9c8dfe0b32f3be08b361fe10f7ffc133e6ad3053d062cc4918739a8d594a224af1085297771628903be6cd316eda4bcd44e2f89f83eb73c09cc1a52e57562193ad86c86d43792a6cc8c4bbb3418374e03df053a842619505361407a29df74592cd6fb05a9f210350df7cb39a932a4caa6354ea99c356cd202f694abba6fdf3ee8f57a09500d068364b55a2d2d474539af04a932e0d28d88262fd1395b8230d902a98304a49eb2406af84ef80cea85ae9dbbe273ef7db897a3803e612b02c638c273d505c4a6a420f95e304e2cb01360b90ca10a034cf58938e4d20ffd5d37e172a91e758f8e61d9983fa17de76ee8dcf6afd264af4f3f1390da7f010e47e5a2cea04575b90215c5d97818b41c9edd2df0d941406ae76f8154b90df2ec7e827c39eff6459b1bb0d9ec6f37436a23a086ec53c375811a074e1a1072528f3d1b94f09da5416806df74592cd6fb05a972f4ef97bffca504a9049ed242fa8d2668a59d990864094c0938c9549e16b38f8c8c9486f64b4a4aa40954b9b9b9502a95888d8d85878787740c012a456929622b2f6945e7b506617297ae1df0f92703e138f33862f34a50f8e030660deb8a8e5f8acfa61d435c9102e5e766619cab1f564756435bfb1067667c8e367f6883bf745e851b1a230caa5bd838b6173ee9331f879fa8a048bf80f54e9fe02f9f0bb0ec330ca3468fc2c84103d06fe03c1cbc9b8daaf234849eba80e00bc9284cbd89437346a257675a09e09bf5b3b6751f117c13e4cbcb73bd682d59369bfded664845030aee68b166840aebee885ffde21db3ae01b9b17a9c38a9c52d8654168bf51e412a41a60c56049314f5a49da708206553e473e8d0a1d2725234c42f4753297268636383fcfc7cc4c5c561cd9a3552fee9ac59b3101616260df72f5bb6ac6942169986c569d2150d91d379ad414f8a4a766d87bf7e34084eb34e202eaf1aaabc689c59e68af1e37cb1e6fc6394953cc5d5b963f0555f0f2cb99987eaea2708db34160386ba62cec9a7285234c0a07d82e3936dd1e1573698ba3f0e79a53988d83f1363edbde1b3eb2aee455cc6b12513603b743ef6dd2d444de63d1c9c2dae3175076e651621e3fa762c72e8812eeddb5986fd5bd4d11adee991562ba01b2c413bf58b9c0ed11258d96cf6b7fb1ffff11f71eddab5f71952cd28b8a7c1fcee0a782caa4749d3dbcfa0d39851a5e29b2e8bc57a7f20958051062b7a94b7f794e1944c103668d020a92c7d260fdf13b052395a8a6acc9831d2ac7d02358a2adad9d961c68c19d2fb544ede814adeef9e86c8e9bcd6302c45563bb7c3671ff783c3d483b819fd08a9b11771facc395cb87c0f4f53d391183c1bfeb69df1978f3ec7c8993b10f2281dd929d1b876eb0aeea5dfc5e9a0a7484f4fc6a5c0b118f6d19ff099cd6cac3f1987b49458dcbc168ef0c74f10756523bcc60c46d75e01d8762901c99117b0ddc7065d05f82e3cfc00e90f2fe1c8a271e8deb93d3eff5280748b3a5ac33b412ab59bfa83da2847995bc22a9bcdfe6e33a442c068613d0e04d4e17f7ea980e31c2d2ea599be51ca586dc69d231ad8db377aba16abaeea71e7f0f3f7966ca847291a509d598fc30b3598be448f98d2065489d7871658ca4c9aaf4368ba89efe42c16436aab8454b20c5834394ade41ca1a52e51c528aa6d236a032cc5a43194555095ee5e3094ce53402f97d3a07c12e9da3d902fcd60bed77688fb65f7646f7bec3e1e0e4004787a1183ed61bde3e7e98e4e90e877eedd1a5d3e7f8e2af1fa15d976e18e0e00ab7893e983ac5073e1ec3d1afdf18b8b8bac2c1a6a780cc36f8e8b3ce023eede1eeed0b7f7f3f4cf6188791033be04f9f7e81cfdbf5c5707b47b83ada6368df9e68dfae077a0f1a05e7f1e3306a783f74ead8016d09a45f52571952291f95da2c6f2b2b479ad96cf6eb99219564684049921e6b262bf0e57fd6e1afbd540858a4c74339ac6a3423e38a068b1d54587ed88033877498e9a34037370daeddd563b5783eb4ad0a7b6f9ba116d0ab10507a669d0a2b4e1af024418f9b0734080e15c705e9b179be1233fd75025ef966ce6231a4b64e4825c0a2a17e1ae627a8a4e5a528ca299b608cf254293560f8f0e1126cd23104aad64b4bc979a732a4c965e8351d4f0bfad3925704c0b4f5ea37a18fae47a0da165fb4f9133efcedeff09b0fff843ffd5e5ce7835f49e0fbe1270250db7640878e9dd1eef3bfe0a3df7d805fffcaf2d9af7ef54701da1fe2835f0b28a672ed3aa173872ff0d74f7effbccc0702ac3ffe5c82e10eeddae0cfbfff2d3ef8ed1ff0519b2fc4f53f479b8ffe20aef521fef8f167cf01b5b10fac2df70db58586fa09c42995416e379bcd7e7d33a4ca6a7886da7c23ee1ed161b6731dfefd7f1418e2a3c5c55453d3674fee9b909f6fc2b9f52a746e53870e433488ac7e8682077a2c9ea9c49c48239d0815597adc3daf4366a90961fb95e8d846815ec3341865a742efb6e2b86e2aec8be3682a8bc590dafa20952644114812645124902055dede934052b60cab03070ec4881123a4e3e4fdeabfcd741e1ae2a7282c412a0df35b9ff3856edb4e9ab4d441cafd941f1b272b759001b1ad05683b5a4f66a261785a31a0a3804b4b99b6a28cb4cda95c86ced5748ef6cfafd108c85456ca37b502d11759ae3f0df5cb37586a2b01f977f5099bcd7eb10952af5ebdfa3e436a036a6a0c484d353646559fa124a31efbd7a9e0d0a50e0e3375529e2a0df7871dd2c027408b23272c202b416a9d38a4d488c3ab15e839598bb47213b2e2b5b81c6f86b1c688337b1568efa6c1d1b3469c6df4b57051a6ba81efe62c16436aab84540254d934fb5e8ea612805104d4da143924d8a41da4e4e17f5a9e8af24d65d8a5e3e9589a1c3564c8108c1e3d5a2a2b6faf4ab606e057f3b71d27d7efe5c737b5e1b5affbf273d17339bd81fa8da2a8d67dc966b35fcf0ca902528b93b4b87a40f77cd254539eaa023decb4c8509bf1e0841a2e4e6a1cbd67424981804d01a532a4c260c69350355c5d95f038aac583ab3a64aac5fb04a99b15e83f518b7cbe77b3580ca9ef00a4d2ae5134d44f2630a56820ad234a33f229a7540632025119d028a24a43ff1451a58951f4686b6b8b61c38649a6e73471cadede1ea3468d92d64aa528e69b036aebb1755f503f51d49940959ed34d56ee4b369bfdfa664825488dd360b5bd025356d5a3b8f1bdea141d564d5360c8663d6a4b8d3836af0e9d6d3488d50046f1fae8dce79154096a0beab16f511d3e77505ba2a86884d7cb6ab88d5162de250334f49eca8cf427ba174ece62b1580ca9ad01527fd598af29af934ac3f81419a51d94e8b90c662da3aa342c4e33f5094c09485d5c5cc48f7757095c0954094e297a4a40f7a2e3df45cbeda048b13c4449515479072e369bfde6fe877ff80786d4e26c1d4eef55e1f43635960f5763f8701506382be1b45b2bcdce6fd099107d4009bbff55a0db10352678aae0ef5e872ee2b5e36c3da24b2c40fa34548d35b33588575b45646b0db8b65589316d941842e79ea4c6bccb3ae4d4f0703f8bc590dafa209586eb094e65cb0bd2d39aa8945f49b3f6294a28035a4bd3fb72beaabc7ea83cb1e865c7bceb96fb866eaa04f104a932e4b3d9ec373743aa0049bdde8cea6a33346526245c34e222f98e11b1a50d4d65d4a5263c6afceca6f82cfe911191e2f99d072694aa652035a32cdb6c89985a9d5f5df2fcd88be146c49531a0b2580ca9ad175269985f36412a3d5224952093608c6e1e9406600d6964f9394515696500d9f49adcb2dcbb6e6a07b58f724f696892009566f4534eaadc6f6c36fbcd4d907ae5ca95f7175263624c18364cfd837bed5a3ddfcd592c86d45607a9ddba759300cbda143d25302508a388284118bd474b2d11a4c9d0660da22fb30cacefb2e5b6c8ab1950d494d694a5f708585bf61f9bcd7e33bff7905a5ede80d050e30fee478fcc7c3767b118525b1da4d2f25004a0d69641558ea8525e29a500508e2a012bc19a35acfe94a0f445eda1740779692e8aa0ca6529ca2cf7159bcdfedbfdde432a8bc56231a4368754824f6bd3cd427e4e1046504ab3f329f792c055dea39ea289047034e46d3dccffae9bda426da2b611a4d3ac7d6a3741a99cf220e7ebca6ed9876c36fbf5cd90ca62b1580ca94d904a6b99feec673f7ba1e9a6418f046134cc4df046ab01508451863302568aae522a00e5ad12b812e0c9b6ce556d6db6ae2701a9bc46acbcde298129b5918094d687a5496104ad1451b506d397f51f9bcd7e3d33a4b2582c1643ea2b41aaecfff99fff914c70264fa8a209576439ba4ad0665d56766bbe21b6acab5c5f8a1e1378533b09ca298a4c102b474f5b7bbbd86c86548654168bc57ae72195f24dfffbbffffb95fd5ffff55f4ddba652349286be29ca48e72168edddbbb7b4d03fad9ffa2e99ea4dbb6fd1443282529a3046116382538aac52c494dafe3a7dc566b35fcf7ffff77f8fd0d0508654168bc56248b544525f14517c9965502553e4435ecc9e86cc095809ee085adf35d3daaeb4e900e5a452ca02a52f502a83dc5ef926fa3a7dc566b35fcf1449654865b1582c86d4378aa4be28b2fa9ffff99f4dfe8ffff88f77da723b6410e7e8169bcd91548654168bc590fa23402a4511fff55ffff5adfadffeeddfde39bfed3e60b3d9af6f82d4cb972f33a4b2582c16436a2ff8fafab2d96c76ab30fd60bc7fff3e432a8bc56231a4f6c28d1b37a0d168d86c36fb4737adaa919393c390ca62b1580ca91648d56ab56c369bfda39b2195c562b118529b20f5d6ad5ba8afaf67b3d9ec1fdd04a9b9b9b90ca92c168bc590ca90ca66b319521952592c16432a432a9bcd6633a4b2582c16432a432a9bcd6648654865b1580ca90ca96c369bcd90ca62b1580ca90ca96c369b21952195c562b11852d96c369b21952195c56231a432a4b2d96c86548654168bc5624865b3d96c86548654168bc590ca90ca66b3d90ca92c168bc590ca90ca66b319521952592c16432a432a9bcd6633a4b2582c16432a432a9bcd6648654865b1582c8654369bcd6648654865b1580ca90ca96c369b21952195c562b11852d96c369b21952195c56231a432a4b2d96c86548654168bc56248654865b3d90ca90ca92c168b21952195cd66b31952592c168b21952195cd6633a432a4b2582c86548654369bcd664865b1582c86548654369bcd90ca90ca62b1580ca96c369bcd90ca90ca62b118521952d96c36432a432a8bc56231a4b2d96c36432a432a8bc56248654865b3d96c8654168bc56248654865b3d90ca90ca92c168b21952195cd66b31952592c168b21952195cd6633a432a4b2582c16432a9bcd6633a432a4b2582c86548654369bcd90ca90ca62b1580ca9cdadd7eb9b1eb55aed7758233dea4459f9b8efb6fe05d7d089e7cdafff26f5d5bda08e1a8d46b24ea7b3947dadba7e5fd6376baf5627ea2ad7ef35fa80da64e97bcb39753a4b9b2dc7b78676b2d90ca92c168bc590fa1623a904374693090d0d0daf6493d9f8da8049650d4633ccd239cc3018ea9bc0ed4dea6b3018beb58e66d19e7abdae15819b052e0d06a3a58e66338c8657eb43b98c491c6336199bface2c5e4b6d351a1888d80ca90ca92c168b21f5a71649d5498fcada1ae465a622292919c9c9c948494945466616b23233909a9a22bd47ceccce43658df28d22a91a551d4a8a0a515c5a01b546fb374552b56a252a4a0a919525ead75837d9a9699928abaa83c124c3f08f1d657c1efd54ab6a51989b8d82e272a834baefec03e933437de3dfa80ab5b5b5d068e9389d687f0172b273c5df43d50adac86633a4b2582c1643ea5b84549d560393c988f4d83b98ef6e8bdefd06a07ffffee8d7af2f7a76ef8eeedd7ba26fdffee8dfaf9f78af3fdcfc1620f45e8a348c2e03e88b01497e5f078d8031a3d184ac473730d7db157e8b7620a7b0bc3192a86b768ee6e7fbe670380df11b457d8bd31f61d32c3774fdaa3b7af7ed2bd579c000516f7ade6f18166f388894e25ae86958bd71685d5fffcd3a5bd7ddfaf1e5757a9572f54d6906721fe87414fdd5a0302b0a6b67f961cd8e6064952a44bf1804746a5f7a2e1ae2371a0ca816401eb267334e8484361ea7c0d9bdab31dd772eaedccf825a6bd5ce97d4fbbbdad654f6a57f53369b2195c562b118527fc09c544b7ea71a8aba6a545555a3baba129949f731dfc31e0e9ef3702b2655bc5f85f28a0ad4d6d50920d236c1d7cb00ae19a4aab512a466c65fc3cc090ef09abb05d904a9c6ef02c21741aa806ab30945697158ed3701c3ec0370bfb018d5a27ed515e5a82e2bc2a36bc198e6e108efd96b119b56290dfb3f8fe8fe18902a83aa4ecaeb55883e542ad5d0eabe03182907d56044bdba1671978fc1cbd105abf69c466eb90206717d954281bada3a292afd6db0cf90ca6648654865b1580ca9ef6c4e6abdc100f3b36710ff099951559c8c95be4e70f55b8e98f43234343cb3e4ad0a1b8d46981b9af71be580ca8066815e4bf4543add334b99bcc41b98e53e0edef3b73641aa56a346bdd12caefbacd9f98cf5ba46886b3ecc4f938528925a921e8f35feee18e1380fc91a3da8e2cf04bc3608eb9555b8736a1f3cec9db1646708ca1acc52fba84e3abd686743cb6b5922b44d3049f99e0d2d1a8886c6c86663ba81804d7dbd11cdaa2d5e980c96094ef5022ee5a6cb459e49f9a3a6a6e726a341b4c52c95687846b6ba1af5274d52a3bf8b498327d74fc0cdc105eb0f5d4185ca208eb5e4105bca1a2d13a9a4496d46e95ccdfe36d4cfd43e09fa0d6868ac93b959b16752aeb094c76bfdff0683169b2195c562b118527fecd9fd96d9e21491d3a0bcf011964e1a07279fc5b89f54204d5452a9d4300a3aad29cec2b12d8b31cace1603070cc458d789d81f128ef23aad943fa9d3d1a41e3de26f9dc61c2f270ce9d717f69e7e98b77809029cec3149406a664119ea05f0116865465fc2421f470cb6198601fdfbc1cd7736225394023a2d914f9d5c47b2a82345528bd3e2b15640eaf0b1b3f1a84601bd803a1dcdec9760cc88daf274ec5d3513ce8efeb812932eb5cb2ce0ba3c2f195faf998b7176361830c806a3c7fae352e463e805a41968685d9c475b9587b37b56c17ee4700c1e341043868ec0b4f5c7505eab12a5cc5029d512549767ddc77c573b0c1a3a1483070f869dbd27eea6958bcfcc50972661e7aaad58b97825b66f9d87de3d6ce0376b0dee673ec49e754bb0fbf025e4169723f1ee25ac59bd193b76efc1faa5533164f020712e072cdb7a0c79354a284af370f9eb8d701a31041dda7740b71ebde039732d1e6526e3d6e95d58b1682dc26272a096e0d40c45c1232cf2f3c4b0218361633308c3c64ec785e834095cf57a1394d5a5e27c9b3075e16e5c0cda06cf090ee8d77f10468e76c58e231751aa16c06b953650cfd15436432a8bc56231a4fea891d46633d075a82c7e8c65931ce1ecbb14512985303f6b90a290394f63b06ea627ec473960f1a6bd080a3a84950ba660cc58776c3d7419c5152a01aa75880d0b82efb871f0983c137b0f1fc6ae2debe1693f187d7af785db9c6d5224b5e1991a51a14731ae671f719d69387ce2144eeddd224056409f5300c2132d206ba8b71a866e845439926a376e0e1ed7a96010b04b70252d3da5a3895565b874788d803b27ec0a0a834aa34769ce136c0b9c8e31239db07cdd56041d398ca553fde0e6e18b8317c25022ce5357928e436b96c2c36d12d66edf8d93a74fe2c4f1b518f4552f4c5db4132939e5d01b0d880b3b0937bb9170f29c853367cfe2d4c9206c0870479f0163b0ef5234caf21230cfcd119f7cd405fe0b97e17050086e87df4762d22dcc741e8199cbf68b7395e0fee99d1831b02f3af5b2c54c01b4474242b069e942380e1b85451b0e20352717b98fee61cf8a39183a70083c031622f8ca7d94d516e1f09a691867eb8ae0dbe950a9d5488b388f29eef61864ef831d7b0e2324e434fc9c470bc876c7c93b4fa468704d711ef6cd1b8fbfb4eb86e1cefe38f0f5711c397c10be4eb618d0cf01876f2440df606a5ac28b23a96c8654168bc562486d058bf9b780541f82d42578905c8867cf4ca829cf45d0b6a5b0b7b1c3a6c33751adb30c3717a5c662a5bf271c9c67e25a543a4a33e3b174f2788c759d811b8fb3a07f063c5357e0cac1a518d0a30fc6cfde869ca272d4e53e4480a32d6c47fa232cb51486c61c82f47b6761d7ab1ddc171c43b98054b380266952905524952075ed4b20956056abac46d8e9bd98ece5856d41b7a0ac2ec3cd63db3166e828046e3b8dbc5abd74ad8a9c182cf21e8b3113a6232c21071951173169d428f82dfd1a39a5758dc3f91a449c0bc6998b77c47b0a98140558e5331eddfa4ec0837ca51455259baa737074ff4184c5a6a1b22805ab029cd1a7bf0b82c3721a07d88d28cc88c452dff158ba290899051588bd7010cec3fa6394fb3cdc8ecf975206ea15f938b67e1e460d1d8703e72351576f40f29d1078398ec7e613b751a9358b722a046d5984892efeb81a9787f2bcc7d834cd157d86bb23f44146530a454dea758c1fd00bc3272c407edd33a82b0b7074b91fba74ea8fb5e2dc946cd020fede3991e2fcb6c3e139678b28a76f36098b618bcd90ca62b1580ca96f05525f6572cc8bad6bccb9d4a2a238e139a42615a0c1a8477e6204564ef7c2049f40c465d5c2a0d340ad5643a3ac42c4e97df07074c7fa03e711763118be13bcb1e6e07914d769a052088814a095fdf83a7c478d80d7bc6dc82e28c1934b0760d37328369cba0585ce00756d35340613b475e5085ae6834ebd1c119655827a5a4a4a6f59c89e264ed1907c715a1cd6f8bb09489d8dc7b54a01b866d46b75d222f9d2842b8d1251a127312bc00f3b4f870b908ec3d67953e115b002f793f2a5bc5ad9b1978e6092c764ec3b7f1f1909e15822e0d766943b761d0a4156498d3479c944f9b804a3a29ff3a3cfc16de868f8ad392ee594d655d540a95241d76081d5670d66288b1e63e1245778f92d436ab9113a95021aad0279e911089ce482c00dc79051508ee8f307e0e9e4860d872ea1466f80aa4e2100518f94fb5731c7cb0df3561f464a5e011e5cfc1acea3c662d98e93482fac86c1588ba0cd0be03176326e3dce466afc79b8db0c46c09a20542934e26fa3454dad42d4598f33dbe660604f1b1cba530893aa048796faa1afcd54246bb4a2df4c508af21549f7b1d8c70d63bd17e24991f2f9e4299dee6ff8ff89fdbe9b20352727872195c562b11852bf8f48ea6201a9f9300b70cd89b92d006e32bc67ad4352792d7472bea84e814761c198e2ee8a59813b7060fb16f8784fc1ee903054691b27510948cd791c8ec593c7c3377017b2f28b11757627460c76c1ee8b775127c04c47a0676c80b1ae0cb7f7af44fb0e7d71e4d653a87446694292b44bd3774552f59648aa4e558d3b21fba548ea8ee03b488ebb8bc57e2e707099844dbb0ee254703082834f21e84410362f9d053b5b67ac3a7c19a515857870f908c60cee83cfda7442c0928d381a740a2121d790595a0193b8ce8333db3076c44804ee0915006b8246ad91a2bc04d04a01994ab51e750252174df4c444ff15c8acab9720db60d4203f23028b05a42ede781c19f96588bef0357c27cdc0ae90bb509b8c522498803eef7104d62d0cc0fcf507f134a70031578fc2c5de112b779f414e9952f481022704a4ba8ff3c3ed2799781a1d8c09038788cf43515c5127a54868541a98cd0db81bbc01437bf5c7e2c377d1a029c7e1e5feb0715984b88232989e99a5f488a284db98edee0ce7c904d5eaa65c548ea4b23992ca62b1580ca9ad38922a20d5a04176ac80543f7f4c5eb80dd9b4ec9134494a0f8380d4d81b410252dd11b8f6000e6e5b070f172f6c3f7d0b155acbac735aebb330391aab6778c16ff16e64e515233a6407ec474fc4c1ab5150eb0dd00a48d50b483528ca706dd752b4ef3814171373a1359a04e4598058fb2d91549a0d6f015903348a625cf87a15dcc679e0d0c518a4c5dfc332bf71e82dfa6888ed48383838347a0c9c5c05384f5f86f36131a856eb606ed02239fa061604f863bcf3380c1fd2171fffa10b161f388da23a0d62cfef82cb3847ac39725bda30404d90dab4941745730d16489de4016fbfe5c8a82190a74965ea6691d4f4fc52449f3f28803e003bcedc8592266d8936d0060499b137b178da24cc5e73004902521f861e85abfd38acd87d1ad9a57530991408da3c1f1e63fd702b310b89d1a7e0366828361d0e47458d5a8254b580d4866726dc3eba0a76fd8660c3d90498556538b4dc0f431ce721bea4124601a9f4372c4e08c35c0f17388abf7772a9aa2982aae3482a9b23a92c168bc590fa3620f5e6cd9b963ddedfc88db3fbeb35282f7e84a53e9689530f9e160848d521373e1ccba77ac375d20244a59649704343d37a7535222f1cc164371f6c3b740eb72f9e809f971f361cbd8c62a5065a8d5e5a6e293d3614531c4763e2fc1d02524b1077712f86f51c8eb5415751a915c0ab544a90aaab29c6d9f5f3d0b1db04c4d609007dd620ae21ce4390aa110026a095f26057fb4fc0f0b1b39050a340bdf5ec7e51aeb22809bb57cec2e4490b1195518decc4fb02b03de1336723e2b3cb9bf2489f89736b5575282faf408db8964e9a2c6480c9dcd054a626370e81beaee8d0d10e41d1e9888f088243ff41d270bf5a40aa46a992e09896ae3248d14782d4042c9c2820d57f19d2ab75a89796ac522137ed2e164d74c1a20d47919e578aa8f307e0edee834dc7afa3465c572bda6010309b10760a53c7bb60de3a51aea01831978f582075d7296495d4c168ac7b3edc9f9085e4d8b39830701066ac3e86928a5af1a3400f95528b06b31e17762f80c3307b04dd2f81a1b6c802a94ef310575c21fad624fdcd8b0852dd5de0e4bb1849250acb7256d2baaedabfe1ff27f6fb6e8654168bc562487dbb90aa9721d5092e04a994936a36a22cef29f6ae9e0317a789387d3311b502400d463d2a0a53b17fe57c383b4dc1a9db71c8787c1773bcdd3179ce3a3c482980522d204d5387fb570ec061c060b8cfa69cd45214c75f83dba891f05fb0154ff22a0564aa051c1a91fbf401663adb6084d71a6429d452dea45e630da94629c7549edd9f28e0922055afd14ac3fdaaba72dc397300139ddcb064c729948ae32b0a52b07bc91c4c709f8173e1f150a834d2b0baaab60ae7f6ad83ef94b9387b2b16d5d55528cccf475169a5b4483e01b1a15e8ba42b5fc3b69f23f6dd88475e7614fc46d8618cf73264d7aaa153a925b8a56d5ff3b2325150528daa82c708a448aaff720ba4eab4cf21759280d48d023e69b8ffdc3eb8d80d83effc4d789c532ef5bf56558e2bc7b7c16f820f0e9f8b46557535622e7c0dd7318e58b98786fb153099085217c273dc645c8bcb457eda3d2cf27080a3ff0a3c4ecb9786eb35ba7a282837d6d31eb6f63e88c913405a996f19ee779eff4d48f510903a992055c990ca6648654865b1580ca9ad6db8bf31925a645927d5d967a934bbdfdc6016d0a642ecedf398ee3a1a5e7e0b70f9ae00d28c245c0ade8389e32760eeaa8348cead82465d8af307d7c1d5de152b771e47cc9324c4845dc132bfb1e8d1bd17c6cfb22ce66f3256e0e49685b0e93a184b45b9c49434643c89c5d72ba763c0d09138743545daee9386ae25586a1cee97219522a936a3a7e0765a0632b3b290959989ccf41444849ec41c9f09f015901c9d5226b5ab5eaf460a0de14be0b810176fdf4766661a222f1ec7540f0fcc5f7700a98595c88abb8565d3a760f6f2edb8179320ca887366c660e34c2f384d5a8cbb7159d2f9ceef5b89c13d8661f9ee10e9da99991948b8730aee634663f59e506467246299af073c7c9721bd71b85f4fc3fd5224d5198bd65b22a90f2fec83e3d07ee83ec8099bbf0e41b2b8debdab6730dfdf177396ef446256090cca6ac4871e87a7a3386ee341c4a6e441a5ad947252bd1c7d7021321bca9a72dc3dbe0523478c80ffe2dd887b9c24fa2303415b1762585f3bac387009463350539c2b20750a8638ce477c71258cb4dc94e8e3e284db98e3ee0c471f01a9a5ca66a0c1c3d66c1eee67b1582c86d41f195229922ae7a42662dd0c2f4c9ab90e31a9c5d2ee511a9d8044b50a4f22ae60c58c49b01feb88b163c760829b27361fb880d40201a812e4eaa1aa2d40c8bef598e8ec80b10ef6709de8073f7f7ff8b8382260d99ea61da7d402ae2eec598789aef618ebea0a07bb917073f3c7f907c996086ce32603322c49c3e102528bd31f63fb8289e8db7f30ec9d9ce0228e75157616cfc78d71c2b20d7bf138c79292a0937255a9ee4a24debb82c5fe9e70741803474751ffd18e58b9f5089ee6968b32a29ca20a3137ce617180079c5d9cc5395de0e4e8801163fd7021fa2914da7a68557a6844b93be70fc27bd470b84c7083b3b3a3b8ee082cd9128ce49c2a54973cc5ca69fe98367b3db2ac7252f333ee63d5f44958b5fd1432f34b11756e3f5c478c81d384899839cf1f8ee29a63c6b961feea3d78945904b5e803da64a0a23005bb96ce80d3e851709fbe0a5149f138b77f25a64d9a8dcbf7322c39bd8a0a3ca49da9c63ac1618c23c63b8fc548d7293812128e2aa5565a964a515e88931be6c2c17b39124a9e436ac993082cf19f08ef996b905aa6b46cc9ca90ca6648654865b1580ca9ad29924a56ab6a909b9e82948c5c54d7a925d8b34cea310a6852a1303b05f7ef45202c2c0cd1b10928adaa93b62bada7ed4c05e81a0c26d45514e369dc4384df0943644cbc385736b25253909e5d0885529c53ab97b6f7d429ca911c1f8df0f07071be70c42766406732c1dcb8c5a80c4abac6893cf4a852d4225fd42136261a11e2b83b77ee20fcaee5f1defd18e4155748f531d4eb1a87ad75962d5bb54a018a497870ef2ec2ee844b650b4aab04c019a5f61b8d0698f42ae4a7272232e2ae385fb8a85704621333a1a4496246ca1bd54a4b5219f575488a896c2c730711910f5052a383d94ce05787acb434a48bfe536a9ea75328ebaa909396829cfc12d4565720fcd45eb8d98fc7b2cd879090fa58f495388fa85356016d1a606c8474ca93d5a2342f13f1d1f7713f2611251515282bcc41466a06ca45df532a8441d489ea9e92108788bba2eee26f1395900e85c620ad88a0a154028d1225e23c4f52b251d398a620fdbd45bdb2d25291929e03855a6bd942962195cd90ca90ca62b118525b07a45a0df90ba023109360cc0a1669b89dc0c6d8f859b3328db3eba99c46801ced136f6a514e32cdc4afaf6f2c67c9316d5986d660d568ad00d50a96a4e7d29ef6a6179f5faa8f415a124a6b7d5ce3fef52deb4ecb5be975daa6f6d1c429e30bce59df04bb7a516f2af7a26b1b2cf99cfae76d6f5ae355a77fdeafa20fb4ca4adc3eb91be3473963e59eb350349805b41b9beadf2c9a298e355af593a1def8fcb554ffc6fc5151a76fb6cf525f5de3860872bf19eb65e8d7a15efcf890dea7b563eb2d7565406533a432a4b2582c86d456b504950c821ab55a5aac5fdb02142922489fa954aa46ab2d40d90c2675d2d0bc5afa5c299553379e4f2d0353e375090cd58de7522a9552996f40698be772fd9ed7a1b909922d6df9e6e430758be3accbca30fb8d73bfa41fd42fb92e819fa5bd9ac655109a1fa31670ae16907ae7d45eb83b8cc70a01a965e273a552216d0ca096cf63dd5e8ddaaa2e5a4bbfd1f3c6beb7b4b545fba4cfb5cdfa4f2beaa45237ff1be81bffa6cfff360ca86c86548654168bc590da0a23a932acbea9bfeb78f91adf16ad7bd9e7df67844fa7ffee7a7f771d742dced302e0e5a8b44689eca4385c3c731e11b12950364697756fd4dfdf7edccb86ee5ffe3e03169b21952195c56231a4b62a4865ff1096a19296b86a36bcff0aa0cc6633a432a4b2582c86548654f6f706a94dc3ef722e6f639455ff86d154369b21952195c56231a432a4b2df1aa43659ff3c7795cd6648654865b1582c865476eb8157ee0336432a432a8bc56231a4be46fe249bcd7e6fcc90ca90ca62b118525b2da4b6bc61d5d7d7c36030b0d9ec9fb8ebebebbf01ab6f0aae0ca92c168bc590fa37436ab39d9d5ac0294dec512814a8aeae46656525cacbcbd96cf64fc8151515a8aaaa424d4d8db456317dffe9bbffa27f1b1852592c168b21f54789a45adf90084ee9a695979787a74f9f22262606f7eedd93b61e954d5b99b2d9ec77d7f2f7f8fefdfb888b8b436a6a2a8a8a8aa41fa6dfb59e2e432a8bc56231a47eaf90faa27c34dab5a8b8b818b1b1b14d37af478f1e498e8f8fff86e5cfd86c76ebb7fc9d6df91d4e484890beeb51515178f2e489146195772c7b939c558654168bc562487d6348b58e9acacf69b82f3d3d5d8253f9669591912145540b0a0a50585828455aac4d40cb66b35bb7e5ef2a3dd2f758fe2ed3237db7737373a5ef3ec1ea83070fa4d113faded316bb6f32b98a2195c562b11852df0aa45a032adda028a2929999d904a674732b2d2d955c5656d664cee963b3df2dd3f7d6fa7b4ccf4b4a4aa4ef387dd7094c69d89f20f5e1c387c8cece9646575e77e89f2195c562b11852dfda703f0129e5a82526264a372a194ce5891534798af254c9b5b5b54d8f6c36fbddb3f5f7d87a62247de70956b3b2b22450a511157a8f87fb592c168b21f5078da452149566f2d2cd8922a81439a1613fba29d17b04a77423ababab9322ad34f4279ba22b6c36fbddb4f57799264ad1779c8095bef31461a51fa994ea43904a39ab04b2f212550ca92c168bc590fabd432a996e5834bc77fbf66d69688f86fe287a4a372cba79c9402aed336f655ef89ccd7e372d7f87351a4dd373fa8ed30f51825502520255ca594d4a4a9272d4e9c7ab75fe3a432a8bc56231a47e6f906a1d45a599fc34cb9786f9e8b50ca874e3fab64913743c9bcd7eb7fcb23592e9df04fa514aa02a47540934e9df069a44f93ad1548654168bc56248fd9b20d568344a119288880829078da2a87473a29b14ddace44955f28dade5cd8e77e961b3dfdddda5ac815506558aae524495d27ce8072b0dfb5334955281280d888e654865b1582c86d4ef1552e96664369ba519fd376fde6c1645a59b147dde124c9bdfe0be794ee97dab1be0dbb3b82e3d7e47f4d660b0d48ba3656c76fd777c570ccd1ead7799a2ef3e8da4c893a9281d283232521afe674865b1582c86d41f0c5253525270e5ca1569688f7251298a2a0ff3bf08522d8f46716c039e3d7bf6dc0d66988c8617de04ff765be097aed9d0d060b98e74fee6650c5219331a848d0603477cd9ec6f89a41a5ef083d27ad85f9ef54f904a2b7fe4e7e7376d97cc90ca62b1580ca9df3ba4262727233434548254ba215104853e93f7f096a3a69628657d13106a359689160a6169e6bf5a033d41a3d168897a360264fddb1896345822a93aada631c25bdf04a5cf23a806a99e1a0dcd5e6e5e86cd667ff7d03f3d9753810852695485fe4da01fb204a9b44c1d4752592c168b21f507c9492548a57cb3cb972f4bc37adf06a996e1c07a184d2614672662e7d22918693b1883060fc6e021c3e0e2b308d76352a0139f1be4e3de06a45234d76084b6260fc7b62cc6c449b311fea4a219a45aea66407579168e6d5b860573d6232eb31a4651c6f85623ba6cf6fb05a994a34e91d4b0b0302992ca90ca62b1580ca93f18a4ca91546b487d3e9c2747282dd6d496e2cef943f07071c3d4796b71fd7684b48662e49d9b58bf603a5c1d5db1f7cc2d94d4e99e0fb74b796e96e56e646b75fa6fe6c551395a0e472ea7b594d3132c1b4cd0566561eb7c6f01c58e088d2d13e7b74477e5e8aa56ab8346ad4041763a52933351ada036e82ce79496ceb1ae83782dc1af25426ba987e5facdcae82cc7ea65c895a3ba6cf64f1052adf35229e54786d4b4b4348ea4b2582c1643ea8f07a904a87443a2a17beb59fd12440a40359a35488909c56caff1f09eb11a0f9372613499a51c51b3d98482b40758eeef0c1b1b171cbc14891a7d23780ad03537b4c85f7dd6d038f1ca92dfaad769a55481e665c846e828aaab37415793839d8bfd307cf8785c8f2f1375d249106a6e2cdb6016f5301aa5fa34507eaca813457dbf79cec6f226e373409580d524eaf9e2b2cfe4e830030dfb279ea36a3d798a66f8535e2a412a4752592c168b21f547835479ebd3e64b4f594095a2a275456938b4761ec68e9b88b31129303598245054a9d49648ab5e85c8cb67b06fff1144a5e741a9d549f06ad6d4e0e1d59358306b3a264d9c8429d366e2f0c5fb50a8eb21e84f5c4b2d81a5415385cb07d760b2ef64f8f8f8c06fda0cdc882d14702c20d16c84b6325b82545b01a957e24ac4b5453b54b57870f908962f988323e7efa2a8b210e1978ee3d081d3482f52a2b2200357ce86e078d0395c083e80c0f933e0ed3d198b966e40584c32141a716316375c02dafa9a425c0fde8be953fde03d290081cb76e2eab53358bf7e0f1e64e4412360daa0675065fff42752c9902aef42452b8030a4b2582c16436aeb8aa4eae561793d72e2ef60d9d4c998bc701bd2ca15e27d82b6e7cb4e69343a54965640ad54a1c124e0d46082a2bc00e7f7ae86dbe8e17099340d0b021761ba8f1386d8b96277d02d945728a1d31b5151988c6d73a66248cf5e0858bc14cb962c86ff98fe183a763242ee24435bdf004d4d26b607fa62d830175c4ba844bd5689c8730730ae5f578c7299889337e3909bff049be779c0d9612aee2655212f21024b26bba07befa198e0e987050b0311e0e785c1bd7ac2cd7f391ea417426734415d5588e06d6be0e1ea8a693367619e0069279b61183ab42ffef8c75e3878370e4ad126a3006f3d030dfb270ea9f2c44aeb48aa3cbb9f2195c562b118525b4524551ef237e835488cb88c39937db0604b308a355a9804b4e9f5cfd745a5fc501a6637d21235e27363bd1a7743f6c271487ff8cedd82acc22aa9aecf9405d810e08afe36de387f3f057aa31a419be7a2cba79db168e7152985402a57918c09361d3074fc2244670b70561562cb8249b01be5899b8fcaf1e8c669b80cea86f1fe4b119f5b278e684065493af6ac9a8d697e4bf030a30645a9b1d830d31383863b637b4824eab4cff04c57816b07d6c1ded6119b83aea14adc70632eec87bbdd382cdf731925b55aba3a9e861fc5883eddd1fecb6138f3f0295434e4afd3732495fdde40aa7524952195c562b118525b21a4ea61d0aa117d3518be8e633067fd5114283552bee7f348aba1d91a8b141dd594676247e014388f0fc0958759d244289a8ca4159f65dd3f8b317d8762f1a15064673cc44c879118e5b314855a71cdba5aa8d46a189e3d43d489d518d06b183609c05428cab173a10f6c6cc662d3ce2398ebe9008f805578945b03b300db7ab556406a1a76af980ebf890b11955e8da2948758356d0afce66ec6d3e24a515f23b4753548ba791a3e2eae58b0f108b27293b17d913ffcfc1623f2699174ed7aa3011a7511f6ce9b889e9dec70222a5140aa0070865436432a432a8bc56231a4b69e486abd4e8db85b2198ea3e1ef3369d40910042a31449d53fdf61ca605923952649991b0055de13ac9fe18ff193e6e3cee36c01a9bac649583a54e53c84ffb82198347b17ae9c13e71d638ff13336a35c9c57abd688324669c255c983b3b0edd50753571d4551593e0eac98860e9f7e8e9eddbba15bff61d873360e4abdbc6e6b3daa1a21d57fd22244a7d7a030391aeb17ccc2f465bb91985b26eafc0c06551de22f1f83a7a30b966c0f427cc44dccf37683d7f415026c8ba41b30b54da3a8c2b503ab31b097038edf7fcc90ca6648654865b1582c86d45633714a8250ba79e99011730b4ba74dc5cc3587905ba76e8aa4eaad16dbd7aa14282f294159a5b8b9e53cc6bae9d3e13d630d1e6515414ff99c8d0bec576447c1d7de0653161fc0cd4b6731c3dd0dbecb0f412180532741aa657dd5c2c85318dab31f666f3e25ce5988fdcba7e2cb4fdac376c438b83ad961b08d27ae2665434bf9b15a3daa4ad3b067e58c26482d4a7e88f5f36761dad25d78925f0e1341aaba0e8fae9e809780d4c55b4fe0d1fddb5830c91d9e12a4160b38d64929075a6515aeec5d81013d9f432a0ff7b319521952592c168b21b595cdee2f4f8fc7d605d3e0e23d07b71fe7424760282d23a59316db37e8d4488bb888691eee98bdf6001ec54661d3dca970f69881ebb199506bf54d1b0394a5df83f7087b2cd91e82b807373065e44838faaf45b146dcfc541acb8d525c3337fc3806771b817567ee0a00aec18e79de183a6c3c6e3cce47e6934b183f7030dc676c44aa00d086676601a9a9d86315497d29a45e912135088fa3c3b178b227bca72dc78354eb486a052eee5c82fedded1952d90ca90ca92c168bc590daba2055de89c6887a5d0d222e1dc44497f158bdf71c4aab14d00be0a425a8a86c5d550e8e6d588091431db1f9c4759455e5e3e8c6f9701ee78563a171a851aaa548aa56a3c283b3bb31bccf286cb9700f95e5a958e6ed8261e30210935b09bd5a09adb4db951667364ec38081ce381a9e2c20b502dbe64fc4703b378425d74159918f43cba761a8cd581cb810896aad0915c5a9d8b5bc39a46e58301b3396efc6d30201a9660ba426c891d46d27905f962fd57bb2d72c5cbe97863aa546c0ac0195258fb162d2387cd561384e463fb10cf753ca02030d9b21952195c562b118525b07a44ad15493113502028f6c0ac4c8d1e3b17e7f0832f20a515c5c8ca2822c5c3aba05e3470ec7ec157b909853018300bdc4bbe711e03c126e13e7e2d68347282c2a4256421866b98dc538af408427e408e8d3e3f6e9edb0eddc0313676f414e7e018a45b9ecbb67317a50774c5cb807a9c53a6894b9d8b6c817b6b6aeb8125b26a05983dca7e198e9620f478f05b8f5380fa58569d8bd34a0794eea7c4b4eead36f0cf73b63f1d6e3c8ab5221fdfe45cc7075c7ace57b10f3244db4271b170fae824d9f1ef8aabf3bae3e4e874ef4553d4752d90ca90ca92c168bc590da5a769c92b737a5a5a874a828ca40f0c16df01def0c4f0f4ff8f9fbc1cbd30bceaebed8b4e738d20acaa095769baa874e598d47b7ce604980171cc77bc0dbdb0b1e2e6310b06033c262330410d3d6a3f550d796e0e6f1ffbfbd3301afa2badffffdfd4adbfc9e3f0a488480010244081030405054ac11aa20a8a86829a0a2c516152dad28d41590b6a8b856ad5654b45097628b8a12103048d851c3264b8204081042080964cf0dbcfff94ece494e86b94b2021b9f8becff33e37b977eeccdc99b37ccef72c3313bfbbf53adc79df38dc37f61edc3ef4260b22dfad00ded272141c4ec3ab4fca13a7ee44e23799282b2b4561ce412c78631aae1b743d263e3f1b5b53bfc3dbd31fc2b8b18f5b907ad886d4e71e3b1952bf332035ed609e3dfe34f9937fe14fe3efc15dbfb9cbfa5df762cc6f1ec0c4f177e3ba110f6261ca0e14cb0a02c5255c2795e63aa984548aa228426a7d4452dd1e8b5a69ab822af31ec7d1acfd58f3e567f8e7ac77f0f6db6fe39d77dec3bc852bb027f348c5e3464b4becb1aa5e794c6969217ed8b416733f98636dfb16de9bf33e52d20ea2c802cf72af55e1a9f3385e568894e5f3f1eedbb2cf77f0eeecff60ef91621cb73ef3caf256165c6e59bf125f2e5a863d59f91595a9559166efd981250bbfc0e215df20333b133b36acc58ae5eb909953803cebff8debd660f5b7dfe3505ebe1ab65080ac3da958fe5512bed99c8a23c7acedf27271242f0b1bd72659c77f13ff787b363e9dbf04efce781823ee9d8c959b7f4059b917c58ca4d27ce2142195a2288a905ab7902a9590c0e1e6cd9bfd4652053875052633f88b8b2a66e9cb779db6a3a7328bdf780e787149a9bdf07fc536fa5596982ab65d59e99594d99f79d5bebc5e7995cf0ad50a026536b0eaef572e7b651cff7879d571bc162c979595557e267febef98e7539477004b3ffd00ff78e743acdbb00387b20f23e7f021ecdbba120fdf792bfef0e759d8b9f7b005d45e7b592c422a7db642aa8ea26a483523a984548aa22842ea1987541d49cdcacab241352f2fcffecc2d925a59a1d991d8027bbb2a17aa25a62a60b62a32536c8366c536f9f66b9144244b5c2238d63ef3d5fef2f30baa43a11de1b1f653585809c136341717a1d0dabe62b255c536856a4d56394f89d4eacfccefd80f16b0b6cbcfd98705b35ec0e8e123f19b7113f1c2cbafe2d5979fc3e489f7e3bedf3f812f967f8fdc63c5f60a0795604cd36721a09a909a9f9f6f47519dddfdb28db98e322195a2288a905a67ddfd5bb76e456262220e1e3c68475235a41629b0ab0254edd24ac074750d40ce0454dfdb95b8c2a1139c6b72bc6a15b3d78bb2dc035836ff434c99fc041e79f4514c9cf810a6fcf9192c5dbf0b05c5a5f096955681314d9fe5902a65834ca014489532412075d9b265d8b3670f23a914455184d43303a9d2ed9d9696664749323232ec48aa8c43d390ea3a2e3528b00c8df17795157469c593b24e9c3851cde532be5655dca1fe9b69da5703d1b47eb4b18654e9619186ecca952bb17fff7e422a45511421f5cc40aa8cd3dcbb77af5d01edd8b1c3ae90641c9a74f59ded90eafc1d722d4eb28f6d69fa6c8454733caa8c4d97ae7e01d34d9b3661fdfaf576f9a04196904a51144548ad5348955781d20d1b3660d5aa55c8ccccb42b26b3cbbffaa2fefea330a168b72e4f5f504ed3678bddd2b4391e557a54a4ab5f4073eddab5763455ca05f99c904a51144548ad7348d515ceae5dbbec2e7f596a46bafc055cf5a2fece0ac917e4d1341d5ae34f35986a6b409528aa74f54ba3553760e5a11d66b94148a5288a22a4d619a49a1111899a6cdcb8115f7ffdb53d39422a28899a08a84a44d504da602a289aa61bbecd3c2d795c03aa3452a5b12a8d563d1448ca02fd9d60f64d48a5288a22a49e32a43a415566f74bc444c69ea5a7a75776fb4ba52515945460d5979ca2693ad42df95a2c795cf2ba3458a52c484d4dc59a356bf0dd77dfd98dd69a002a2195a2288a905a6b90aabbf9641295544c02ab123dd16354a5e2920a4c5768344d9f1d36e154c6a04ab7beac9dbc62c50a7cfbedb736b09e4a2f0a2195a2288a907a5a90ea045589acc86c5ee9fa4f4e4eb62ba99d3b77da159700abccee352d5d82344d8796cd3c2c107ae0c001bb812a0dd375ebd6d98d549928259feb0996351de64348a5288a22a4d62aa46acb9834e9ee93ae3ea9b456af5e6d475664cceaf2e5cb699a3e8b2c795b0ff59106aa0cf731c7a09eca5874422a45511421b5d620d56d228574ffc9a31025c2229195cd9b37d3347d9659f2b6344a259a2ae34f9de50123a914455184d47a81541356ddc03550d495a6e9d075b08dd79a962784548aa228426aad41aa1b8872991e9afe712e4de5f6372195a2288a905aaf904ad3347dba26a4521445115209a9344d135209a9144511521b2ea47ef9e5971c6347d37483302195a2288a90ca482a4dd38ca41252298a22a432924ad334cd482a45511421b546902a6b9bd2344dd7b709a914455184d44a485db468112b479aa609a984548aa208a9eceea7699a66773f4551142195904ad3342195904a511421f5ec8654e992d3af050505344dd327d9ecc227a45214451152cf5824552a1e592ea6acac8ca669daa74b4b4b09a914455184d43317491540cdcbcbc381030770f0e0419aa6e9939c999989acac2c1c3b768c904a51144548ad7b4895ae3c8154a97cb66cd982ad5bb7d2344d57f3b66ddbf0fdf7df2335351539393984548aa22842ea99edee97aebc5371494989ed53fd3e4dd367cea79357e5bbeceea7288a22a49ef1895335b59e54919f9f6f9b134c68bae15be755331fd724df9be5062195a2288a905a6f906a7ee65c05402a3b199f76f4e851db32ae55acffa769bae158e74d9d679d8d4b27b4fa2a171849a5288a22a4d6cb3aa96625e484530da5ba92934a2f3737d7f6912347ecb16adaf23f4dd30dc3ce7ca9f3ad09ae26b03a1bb035899e1252298aa208a9b50ea9be22a766c4540369767636f6efdf8ff4f4747b32854cac9089571b376ea469ba8179c3860dd8b469933df969fbf6edd8b97327f6ecd963cfdad7d02ac06ac2aa5bf73e23a914455184d4330ea96e959106540da71289916568a4d211284d4b4bc3debd7bedf7a4b2931502b40f1d3a645b6096a6e9fab3e443334fcadf926777efde8d1d3b76d879591a9bf29909aba7bb903f2195a2288a905a2bb3fb9de3cff49853a9b0349c4af4452a35a9d0644d5589c0c8f7cacbcb71e2c409fb1ce495a6e9866d59985ff2b880e9be7dfbb06bd7aecabc2d102bb0aac7adba4dac22a45214451152eb65e294eede17403d7cf830323232ec2e7d81548153d9c6acf08e1f3f5e6901569aa61bae755ed58d4a794ff2bbe473e91d11cb509eda0055422a45511421f59420d517a0ea4951d25528e3d624c222af5251693075abf4689a0e2deb3cacf3b4e47b89aa4aa35422acd28b22eff902d540b04a48a5288a22a49e5624d5ece2d7e34f0550f5983589aac822de8c94d2f4d9195935ff967240374e65ccb9f4a6e8886a4da3a984548aa22842ea2947527545231593eee2174095ca496601cb842819bf269597d7eb65a54ed367b1751e973241baffa50cd011555fa0ea0f5609a914455184d41a43aab392d1ddfc7a0caaae9ce471a91a5009a9347df643aacee75226486f8a74fdeb89925246d4647c2a2195a2288a907a4a9154bd68b7d9cd2f95919ee5ab67eeeb8a8ba6e91f97a567452053264dcaac7fbd3c95dbd3a908a914455184d45a8fa4eaa5a6248a2a63d164dd4481561d51610495a67f7cd154716969a90da7d2b3223d2c7a2255b0d154422a45511421356848352320f2bfb958bf445165f919a98ca472924a4ac6a332a214da2e2b2bb5ef6795cb50c6eb4207b0a415c9ffbadb5f6053c6a84b59a1a3a9ceb1ed84548aa22842ea6947524d48d54f93922e7e8998c87b5239d1a16eddc8b0fe2eadfebeb754bdf23ad13e6c366c6432a50c039206ac393695904a51144548adf548aab64444a4d2912e3d1977269154b38262651dc22ead888297151d43ce81fdd8b77f1ff6ef3f8843398528f3961350e9a0acc7a64ad92011550156bd766aa02e7f422a45511421b54690eaecea9728aacce4974a485eab770dd3a167696494a0b8c88b726f16b67c310b33eefd03264e7e0413273c8e27a6fc17df1d2d44b18c3fe4f5a27d583756f52354258a2ac0298f48d65dfeceb1a984548aa22842ea69475235a4ea7551a5ab5f2055805516eea743dbb274585969313256bd8947065c85fe97df83a7df78154f4fbc0d03da5e8bdfbeb10ca9c78a2d882d43497149f0f0525243d8e1bd382b2ce5858c47d563d6f5baa926a4b2bb9fa2288a905a6b902a158c40eaa14387ecae7e590f51a22366e5c48852a8b9c4765161094e9c3888654f0d437ce42f71c7df37a118277074ff6a7cf2ec8b7869f66aecca936eff32141795a2cc39cb5b8609a8fb5ff1998c5fd5d029ddc07a267899fd9e446fbdd5f6e1ad06a8a5dabc472165b3d123e5847e44b209a9e6239609a914455184d45a8354e9b693ca470055264dc9fb8c1c85ba8b5158506a41ea0e7c72ffb588693918f7ce49459905a96565d6e716701416eb570b52f333b069c94778fde9e978f6b91978eeb93730e7d39548cd2b45c191bdf87ec90798fbfe42ac4bcb464179a905b50790ba6a113efad71758b2713f8e161422fb87142c79ef4dbcf6dcb378f6c5bfe38db9abb07dff51949495f17e9c055179799525eaa48c905e17f95b2f454548a5288a22a4d609a4caa4298154591b75ebd6ad76f4442a253ab45d58603536ca3391f2ce1f715dc71ee836e441bcf8af0558b0e6008e5b69e5c4092f8a658ddcbc3d583b6732ee183214d78e9a88a7a64fc5836386e3a66beec1f4053bb07bdf462c7a7e246e1834028f7fb41efb4a0b51b02f09b39fbc0dd7dcf4206624a662f7f7abf0d1948771e7a091b87bcc388cbbf70e5c37f85e3cf252223664e4a0b0b484f72484ad1bae5256483921d0a9274f1152298aa208a9750ea902a86299246156508c248568f44bc61c9794a12823091fbffc287e75437f5cd9ab37e26f7812efce4fc4679b0fa220bf08c5c7d29034f3593c36ed5dccfa742912df7b0e4f8ebf05bfe87039aebdff7dacdab71b1be63f8551bf4cc0d0273ec28afdb9c85cf5061e1bfe0bfcf2b7cfe3d3ad695839fb710c4f188a5f3f3a1b0bbfb11a3b9b96e0dd3fde8ec183c6e3c5059b71a0588609e834c57b136a51541352a58c90a14184548aa22842ea19e9ee97e5a72442225d79ba526204e92c7051310af38f20ef7006be5ffd31defce3605c77fd100cb8b42f2efbfdfbd8b04fc61fe760e7cae558f8e18798f9b76978e4772371db2d57a167643c126e7801891959c8dcf0199efdf5351870e7b398f3ed0eac9bf310eebce6463cf0cad7d8b17b253e9a7a337af71d801b1e7a096f7e340ffffd78365efbc375b8b8732f0c7fe673accf52905ac47b12ca91541987ca482a45511421f58c465265d6ae4c8810eb4a870e510b5428402d2af1a2b4acdc4a19d66bf131e4eedd880deb3fc65f06b647a7b89b307de901e4647e83d97f1c811baffc25463ef132de59f6253e9b35113745f6c1d5c35fc5e27d3938b6ef1b7c317d3486dff1209effef7f31e7cfbfc5a8e18fe3add58771645b22de9e780d627bf544fcd537e3d691b761d46db7e3b651c331fc57b760d2cca5f8769f753e25c5bc37216a5d5e08984a4376d7ae5df6df9c384551144548ad7348d50bf9cbe42989ac3a2b273a3461b5e45836f6ed4ec3b6dd0771e858a99d46ca8fedc4d23ff541a78ebd70ff7f76e3e0bab771cf8068f418390d1f6edb8bccfc9d58f5e144dcd0ee725c7befbfb0f6d05194941ec4b6a47f60f26f7e83f10f4ec0f87b1ec0038ffe13cb0f7a51b47f353e7cea66f4bcfc5a8c983e1b9f26afc1ea356bb16ecd4aacb4fedeb22b133905bc1fa10ea9622927a48c3017f427a45214451152eb7c76bf5e2755a2aa7a1be742dd74e8f8585119cad317e0b50937e3b2610fe32f9f6c43ee911ca47efb1f3c3de842c4f6fc3ddeda9a859c8dffc03dd77441e4e0497865f92eecfeeebf7865dc15e8d4b60fae1cf63216ee3b828213c538bc7325e63c740b06c57545b7ab1fc0d47fae4646a105c2457bb0eefdc918d16f086e7ae04d7c9962ed63db0afcfba9073076c413782be97becb3bbfa794f42d9b2a6f2fefdfbed3262efdebd84548aa22842ea995b275516e8960a4860557fce486a085aee9940853430f233913a77226e1f18870e970cc188e1c330a8ff95e8d7eb064cf9240d7b8e15a238673bbe987e33aeb9b8037a240cc58d836ec3a81b47e1cebbae42bf2193f0ee060b64bde528c9de89b533efc3ad577442f7917fc57bab3351546c014ac131e4eedf842fff3e05bfbdf26a0cb9fa5a0c1e380857f61985497fff1ceb337390a7cecb4e7bbc4721d9d52f8d59291ba4c7459e4a274b50b1bb9fa2288a905a2790aaa32352d14854e4c0810376579e4c8cd01154465243d8d6bd2b282a4169ce2e6cff36090b172dc6d2255fe2cb454bb02c79a305a8256adb02e4ecde80ef562cc4a2c54bb064c96aac5db705dbb7afc3aa759bb12beb288e49dac9cf43cedeef91b22e192b36ee44c6610b4eacef16e40b9c142037331d5b567c8da42f1759697029be5ab6113f64e522bfa4c83e4601ef49c859f2bf2e03a48c90b24120551e8b2a93a89c8f4525a452144511524f0b5275c5a3ff968a462a1ce9e697ca4426464864556f67022b1d42d6a05a2c4f8cf2da4f8692e5c5cacae4ef729416556d57546abda7b791274d89cbcae19567b717a9fdc87625154f9f92274f95149969c2fa4c8e23fb2eab388eecab441a45eabbbc27a16769c4ea3242a2a77a217f199b2a63d99d90ea06aa84548aa22842ea294552753455cff097b166124d9559fe1261754653e850b4dcbf7cfb3e57b9022cab45cc8ccf2b21c506cc82ead15947e3a5ea18b28f029fc7a043338a2a9628aa9409321c48c6a5eaa74dc97df607a884548aa228426a8d20d58ca8caab543452e148c5235dfe52a16cd9b2c5fedb1951a169fac7154595c6ea9e3d7bec45fc258a2a8d591d4535c7ae1352298aa208a9b516497576f9eb45fda54292a8898c3f93088aaeb074a5553d2247d3f4d964338f4bb9209153290b248a2a932b652890194525a452144511526b3d92eaecda9388898ea6ca62dd123991ae7f19af4a38a5e91f9fa5d12ae3500552656d5489a24a79a067f507eaea27a452144511524f0952cd2e7f0da17acd54899808a84ab7bf54307a26af8eae683bffa7693af4ec968ff5c2fdd25895de1569bcba8d45d5b04a48a5288a22a4d6492455573652399993a8a472d9bc79b35d5949d7bfaecc08a7347d7682aa44490548257afafdf7dfdbe3506566bf345ea511eb36a39f904a51144548adf548aa73617f731295ac8528a02a1155a9ac24a222e3d3a412d3966dcdff59d9d374c3b79967cd7c2c0d54899a4ac354f2bb74f16b4095cf641be78cfe400ffc20a452144511524f0952fd81aa5e3b552a2d99342195d6a64d9bec088bbcafa1d459e1d1341d1ad6d02af95d60541aa302a8320e551aa7f29e74fbeb086a304b4e1152298aa208a9b51649759b44a5e15383aa5456526949e525b0aa2def49c45522af664596efb2e6264dd3f5b79c94b68e984a74547a46e4095232f65c00551aa032b44722a8d2e5af23a83a5f3b9f2ec5482a45511421b5ce23a96ea0aa67fceb0a4d2a2dddfd2fb0aa2b35f95bcf00167095f7a5d2d3151f4dd3f56b333fea3c2bcbcce946a7bcaf9f26250d526998ea86a7eee27703544652298aa208a9750aa9be40d55c9a4a2a2b89aa4ad79f445f0456a54293288c0656e926dcb871235252526c6fd8b081a6e906629d2f258f0ab0eaa8a9e461899cca8a1e3a7a2a79ddec19a9c94429422a45511421b55621d509aa26b0ea59bf326e4d2a2e89b008ac4a85265117015619b72ad04ad374c3b740a9e4590153c9c3326447f2b4bfe8694de194904a51144548ad3548750354fdb71ed766c2aa0c039065a924f222dd8352d189055e699a6e58961e109d4735944ade953c2c79d91f9cd6a47b9f904a51144548ad1348755646fe60554faed2d0aac155ba0ae595a6e986639d2f755e154bde159bddfae6e2fca70ba884548aa228426aad426ab0b06a42abf9ac6f9aa61bfec2fd6eab6fd464d63e2195a2288a905a6f901aece42a7335009aa643c7ce479bd646e494904a511445483d6390ea8ca8061ac3ea0b64699aae5f3bf36630799c904a48a5288a901a9291d4baa8d4689a3e33aee9c2fc84548aa228426a8384d4602a3b9aa6432bb25ad70d4d422a45511421b55e2195a6699a904a5114454825a4d2344d4825a4521445480d3d486557264dd30dc184548aa228422a23a9344d33924a48a5288a90da702175d1a2458ce0d034cd482a2195a228422a2195a6699a904a5114454825a4d2344d4825a45214454825a4d2344d1352298aa208a984549aa609a984548aa2a8b30b52172e5c88fcfc7c9aa6e97a77dbb66db173e74e422a4551142135014b962c415959194dd374bd5b22a9bb76ed22a4521445115213f0c9279f60fffefd344dd3f5ee366dda202d2d8d904a511445484dc0d8b1633166cc189aa6e97a77e3c68d919c9c4c48a5288a22a426e0baebae437c7c3c4dd374bdfbe73fffb9fd143c422a455114211543870ec565975d46d3345def16485dbc78312195a2288a909a80ebafbf1e175f7cb10f5f82be7dfbd6a92fb9e4924ad7f5b1689a6ed826a452144511522b2175d8b061b8eaaaab5c9d70e52f70a9058fbe21f6f47d49df4bd1af5f3f5c7ed9a5b8a40e8f43d374c337bbfb298aa208a995902a15c339e79ce3ee73cf47b7f878f4e9d3077d64cc98bcd686ed7d09a0f6457ccf58b48d6c830e17c6a0776ded9fa6e990342195a2288a905a09a923478eb4274f0d193218830757f8da6b2b3ce89a6bf08bf8de88efd50bbdc4bdd5abe1debd7bbbbb97ef6d7b89e32e42d74e9dd031a6372ebb722012aeb8c2388eda26d0b15c8ee1f79c689a6ed0fed9cf7e4648a5288a22a45640ea679f7d86acac2c1c3c78d0c5bb30a1cfc5e8ddbd3b7af4ec899ebd7adbd10eb37bae8f05b13de533877bf78e479f6a5d797dacf77aa9cf7b21defafbe2cbfb63f8fdcfe28ba415786dea245cd54b3e8fb3b7e9651fab7a5760ef5ebd2af72f101bdfa76adf95db5ae7d7ab574fd773a269ba615b20551ed54c48a5288a22a4da93140af272b02f63b7fdccec5dbb7ec0ceb49df6535f367fb70cf758301817db0ddd2db094d70b3b7640545414dab78fb25edb23ba530c2eb2a0302eee225c745185e3e2e2d0ad4b17746cdfdeded6debe4347c4748db501b547b72e88ed7509ee9af20facd8918d837b7760fa0377e3a2a80e88e9d215715665d5a37b3744ab63551caf03baf6e8818b2c8895fd778fed5a712ed6313a748c46c70eedd571a2112bdb59dbe8f3a1693a344c48a5288a22a456426a52521252bf9e837b460cb42a895ed5c687c55b807a51f7eee86eb95bb76ee8d2a923ce0f3fcf5e70dbf6394d10deb28d0d96b16abbeedd63d1d5fabf43dbd6086fdab872dba6e785a34d5434bac6f640f79868c4c45e84118fbd86553b737024330d53c68c40c7f35aa07d746774ef118b0b3bb443cb664d718e3e56e3f32c20b5bedf2dd682d08bd0ad73345a9ddfccfabc099a356f5179ac739bb5b660b82b7a5cd4c33aa758e3bc689a6ee826a45214451152ab41ea8e65ef62ccb02bd1a973d7aa0a23d6824d0bf6ba59afdd7bc4a17df33074bb65023e59f7030e666561cfbe4c1cd8b717f3df7b091dc2fe1f3a748a416c9c058f5d3aa3758b56b86fd2546cd97b1059070fd8dbefdab20acf3c3206ad5a4722ae6f0266bc3b0fdb338fa2a4ac1c5eaf17c78ee62175fd97983af10eb46bd30a0306dd81af96afc7fe7dfb909999898cdd29b8bfe745e8d4a235dab58fc2f07b276171ca6e64eefb015b52d6e29bad7bec610b7bd3d6e1aeab7e812e51edd1b54777c45ae74fd3746898904a51144548ad06a99b3f7f1697c7b4c04f7ff23ff89fffa9f279ad3a20a6730ca2db85e3f6c75ec637bb73517ae244d58fb7fe2e2d3e8a555fccc1c0e6add1f982f6886e7f31fefafcdb3878240fc6963871dc02d1ac34fcfdd94771f9c09bf0eabcaf5060bd7ffcf871cb155b9ec8db8ec9f73d84dbef9c8695dfa4a1d40258630fc8d99b86990fdd89cba35be1d77f98860d07f2516e9dc309db155b1dcf4fc5e0fefdd0a64d3b3b922aa04dd37468f8a73ffd292195a2288a905a05a90587f7e2bb35c9f86ae9122cfe72913d4e35f1d38ff0d4b8ebedaefb2e97df85e5a9876c50f4e6a7e3ed572723a1ff30fce5e97fa2c87ab7e4e8112c78752a7af7ed8d51135fc2f6fd85282f3e861dcbe7e12f0fdc813bc63d89398bb6a0e038b067eb1a3cfbd0080c1d760ba6ccfc0ca999c7909fb31fefffed39dc7e7d7fdc7cfbfd787fc956e41517e1f38fdec41597c6a34b8f9ef8f37b0b917dac04053b9271db0d09b87eec2358b3331ba5dee3282b3a8c551fff05b7de3a1c375d37c886d30b3b75b62abd2ee8d285a6e950312195a2288a905a0d52251279bcbc1ce5d5ecc5b237ee466c6c378c7be10b0b1a8f5bef1562de4b5371f98591f85958135c3c60383efe2e03c7bd5eecd9b101e36e18857fcdfb1a25e525c84a5d8fa71ffe0d3a463447cb369d70fb0393b125e330ca8ab3b1f4a319d6b1fbe1a6092fe19bf45ce466a6e1a97bee40db735a61cc43d3b16dff6178bd45d8b6692d66bef93a5efadbab58ba6e0bb2728ec25bb8177f1c7d336ebdfb61acfe2117def213d8be2611bfbe381ae1e1e723bc652b5c78e18588898941270b543b77a6693a542c90ba70e142422a45511421b50252b35257e39f6f3c8f279f9c82a9532c4f9d8ac98f4fc2a8ebfadab0f7dc7f9291577202de63bb306ed44d38bf590bf488ed846e97fc120ffe6d214a711c19dbb6e1a921bf43e227cb505678049b17bf8bd137f643eb76d1e81cdd1e436ebd0df3d7a5a2b02c1fcb12e760f00d37e2f6275fc7c68ca3c8cbda85171ebe1f17b5e98509d67b7b328fc8f8001b9ccbbc65282b2b436969294a4a4a5062bdfe63ec1db877f48358b12b0fdee3c7b172fe6cf40c6f6d474e63bac4d8901a1d1d4dd3748899904a51144548ad06a95b125fc190be1df17f3fff3f9c7bce3915b3e9cf6d8a66cd5ba2a3057c33e65a905a0a941dfb01bffdd50d68724e38ba75b9105de2fbe3f7cf2f40890594fbb66dc5d4c1775b90fab505a939d8bc70266ebbfe1244b4ed68416a14aebd65243e5d2b905a80a42ffe896b060fc1c8c75ec386bd47917bf0073c3be13ec446f6c4838fbf6a416a0e8e176463d3baa598f5cf773173e69b78fe99e998f2e41398fcd4d31875f925b8fb7713b1e2872316a49ec0fa451fa15f9b36e86855721d3a7644479aa643d28d1a35426262222195a2288a90aa66f727cdc2e81bafb000cf02cf98183b7a2aee18d5d606bf3ffc6d01b20abcf0961760ce5fff84ee2d9ba1f139ff0fdd2ebd01b3d7a4e344b917e99bbfc5b84123f0fec74b515c568ccc6d2b31e5815f21e29cff4393f32ec0adbf9d848d7b0ea3a4381b8bfffd22ae1e7835463cfa1a5276e7e258f62e3cfdbb5188fc7973dc31fe296cdd7b08a5b91998fbb747d0ad7d2bfcec673f47e7d81eb8e4d24b7155ff04b46bdf0637dcfb27acde5901a9eb12dfc7a5ad5adb80dabe430774a0693a244d48a5288a22a45642ea575f7d856d4bdfc288c17dd0fa8236958be7db6edb06edda4521b6ff58ac4f3f84e3274ea0ecc856bcf4e771d67707e0c189afe0184ea0f8683612dff8abfd44a9d17ffa3b52338b515698878d89b331e157bfc4b5b7dc8bd73e5e8ffc522f32b6adc1f4f1c3d0bb4f3cee98fa1652f6e6a1b424079fcc9886e1fdfae0fadb1fc0fb8b3622d782e28c94d578fceebb30ec57bfc6924da9282e3f8ec2439b2da0be0ad7def92056ff50d1ddbf76c1fbb8a44584fd708176e6f9d3341d5226a45214451152ab45525397bd8d9183e3d1b2d50568dbb6ade176888c8c44ab16e198faea6c6cc93884226ff525a88a8e1dc68acfe7e0e60e1620b6b8001d3add8897dffc0499870edb939ab48e97972267df76bcf5f234c476e98456513118f1f03348de9a81cacd8a32306dd25f70fbddcf60f9da5494969a4b501db72758bdfbc4ef10dfae3986def328d6a61fb3201558bfe843f4096f81b6eddaa14db5f3a7693a942c90ba60c102422a455114213501fffef7bff1d587cfe0c6fe716819d11a6ddab4a96e0b5223e535e27cfce2aec7f1e9ca2dd8b16387ed6d5bb7e0b3d9afa26fdb36b82022c2de2ef2824874e8d0110f4d7d06ebb7efa8dc76d3baaff0c2e4fbeca756455830dc2aa22562ba75c79417dec0fa2d6abb0dc9787cc2ddb8a0750fdc7afb142cfd7a7de5f777ecd880998fdc85cbbb5f88e64dcfc5903beec7bce529d8b63d159fbef70a7a869f6f9f6fa4f3fc699a0e191352298aa208a995903a68d020748db910516d23d1ba756bdb175c70c1496ed9e27c4444b647e7aeddd03d569ee454f134a7ce029de7b7402bf9aeb55debd6add0b2650bb46bdf01dd622b1e932a4fb08aedda051ddab7b54038a2625b6bbbd6ad5aa143c768b59db54db7ae88eed81e112d5b59b0d91e5dba76ad7c124df7d86e888e6a637f2722a295bdff98ae15fbeed2b913227d9c374dd3a1e39ffce42784548aa228426a05a45e7cf1c568daec3cb46869c1a305803e6d4160448b70346bd204e79e7b2e9a583ef7dc2668765e7344589fb552f02896bfc3c39ba3499373ed6deded9b3445f3f0f32bf717a11cdefcbcaaedac7d576c13614171389a36b58e657c765e788b0ac8b5bed7e2fcaa7369669d7f4b7fe74ed374485820f58b2fbe20a452144511521370c51557544063cb966819d00288ad2b23aead159cba6d6bc3aa63bb080b305db7d3fb34b68950305a752cc7f78dcf6da80deafc699a6ec826a452144511522b21f5b2cb2e438b162d689aa6ebdd84548aa228426a25a45e7ae9a568debc394dd374bdfb7ffff77ff1f9e79f1352298aa208a915907ade79e7d1344dd7bb431a5295bc9693689aa61b88bda10ca9fdfbf7e7936e689ae613a76a49f19613689aa61b88e34319529b34698266cd9ad1344dd7bb2592faedb7df8634a452144551b500a9d9d9d9484f4fa7699a6e10cec8c83087525114455114455114455114455114455114455114455114455114455114455114455114455114455114455114455114455114455114455114455114455114455135545fcfc94f7b89b5dce834f6d9d4f228cba32d47d5d27946a8736bc88a52d7f374156739a601fdae7eea5e0e0dd1f33715a3ceaf2128cecfb9e8f42e7929cc13f8094d7d8ddf9710e037c6a96d228cfcaa8f45d58e9aaaf2c097236ab0af46ea3b61217c3d1a07a80bf46f6cece3f370cb912efbf3774d22eb204d3bcfc3996707581ee2a7fcd3e92232c031a26ae9dce538c36a507786d7306d9eadf2779f9d69352a083732d26c6410e546d320f3c58f42e996e1e26ccb134e617f526864582e56fbaeadc71b8e56e7a52520fd4103bb9693d56f3e5dc9b3cb673590dfa4af7ba6e5b93eb61963795c033d7fa766a9f3d31a6e79aca3509f7786ce25c9712e6ed73d41155208e074e3f7c9fff93e2af0462a6f431dc3a38e8110680486922607b85f49356cfc86fafd7196dfbe7ee3683ff936dd47fef057b74dae83f223dde5dca5ccf03aee718a6ae0bba50baf02213725ab6d4ef7dcfbaa724097dfbeb619efa77cfcb16a969fbadc99561184a38c345b937b1f285ffc682075ae83fa25e1ce3ec58cd24f7d6f601d1772b505840d115207ba146ef5a54455d8064a4393430452fb39d2a6f3dc0355a6f501a98d1cf97382faac9ff15ea451b8e6aa82d02df23dc0a84c09a9750fa9093e5c93683e21b5e140ea5007d4452a004cf35444501b19796ab5ca6b035cd245be6adcfbba0eb501a92faab2a0690d022284d49a43aa99afc7abcfc63bde0f33d2acaf7b1fe972ef09a9ea46f8020a815789883ac3ff8d3d555d8c66b4a6a98a4ce90ad4fc5e98a76a6881b32b24cc531512772686c62e855cb8ca80191eff5d3efafbf2ea8ce886ab738977396e8491b1e3d576bec2ed71eab786f98154dd051bede31cc33cd5bba1238c965623e3da8407a8e01aab738935127d305d46bafb37cae5dc561b8d98301fe79fa1ee47a44bc117e8fa45fb48134e35f59cdc4dd2d4e59ccdedcc6b1b6fdcf708e3fae8738f52df9d60b47ccd736e64a4dfa62ed73dcad8a7af7b7daa90eaebb3283f85eb62d5d0746aa6fa8c907a6620b526d2793dc20fa4ea6dc203005f94c77f1761e300db043a4e234ff05d978d1a00a406ba66a72a291bb33dee5de4726db7298075a68bd92a1f3af598913f8381d4c61edf430366a9f23b5019e40b52c303d4af61a7705d9b7afc0f65301be4fe867284bb30437880f418e183334e17524d2504516efbbaf702b68ca4d61052e35d2ed05805aef9aa95966944a69c5d5c49c67772957557e37a237127f8a874cd639b85dc2cc7717c155450dbeac891eed69da6decb55bf23cd003b9d715f57114418ad9fa18e04bf5e5d8b4c053b731d093b42ed0bea73799de7a818a0c0411f67a0a3e08832126db1f15b921c99789cfa3c5b9deb7c755efe0aba18f51bbc9eaa611fe6f92188ebecd6e52ce7a623b0c5c6f51be8285ce77baabaa2bcea3bbec6438d52db46382a08e77bb2cf0f8c739b6e5cb3518e42d839d4c5997e75daeba7ee9f579dabfca6492e85cf34c7f767d723a48ef19cdce51fa6de1b45486d3090aaf3f7638ef498e8a93ee60daa3195e9485f8d1c6573b6f1b957956366ba4937ca12a8d7c71ce7e4dc4f8aa311393ac0e78dd471bd46fe9e594f90fa810245b8946fafab7ced8496d57eea44f33cc2d5f5f357c68e32823666ba18ea71eff64d51793710a43656f7df1c6230d7d85fba8fb2cc797dcc6df4ef4b76d449524f0e7349dfc58ef41a11002a173bd2e65c47f934c991ae8a55f96d1e33d991b63254da33cf37cd5136ea7acefc3d63eb115207a8572750271b9158426a9090dac8a8e84543d4ff138ccf5f54155f940fe08c52096ab2a77a5788d7d84f4d21d5e309ae6b5d27f4e12a61842b98f31a992e4c155c19468649327e6723d5ea5bef681127a9c24f27b4a106ec99db9819265a7d3ed3718ed90ae086aae3b941ea3603a48739a0bbaf23613736006eb29f7b9ba60ae40823a2ea1c7b1a4cd7bd5b77bfeef2d0d72f45fd061330338ca870a4fa7cbe9f42d9ab0a7d7dfeb9ea38c38d7b596c6ca30ba4a1eafa36f69cdc9d15a8bb3f42ede303a3721be64843a38d86438411110954892619c7777ade69426ab8e7e42effa19eaade0742ea9981d4041f8e70e4ef6c55be861b6033c9b14da6a7aa57629cd1f0d20d290dbb8d545e98a4de1b62a41bafaa0ce354bed495bb8efc0f348e1d6634c6d73b3e7f4c9d47b8cacb9946746c9aaa138618dfc9af274885ba56ba27c42cdffa1ad0e031ca687ffb35cf23c11378685b84a3ced4e9423718c7388eadc13510a4ea6bdecff82de946d916a9b659ed27621ee9a9de5366068066a9738f54fbcc36eaef49ea3c871bd1d4d501a2b633547d1369a489624fd5d089a18efbdf58b1058c7a6fb201b751ea7d1d34785d9d6f5f555ebf68446e33d46f8856bf618cd150f007a9b93ecae6174f1352f5bc80f141dc7b426a004835a3911ed55a4a76819d5ce3a23a8133425de03097e3ce380390eafc6d692eef853b0afc240750798c4ac14c38c35c0a0e7d4eb13e32828664335a39cd055e9c90ea6cf99951d2992ee71ba8a0d3954d5f97288a199d3c5548ddecd8668271fd74c1ed1c9733cc0f7c793cd5bbb0fb1a11e3d78d4694f3dabeee52f8d404522739f669466c931cdfe9e780ea40854b92ca3b492ede769a90eabc5e1ef5f70c42ea1985545f1eedc8dfce3260bd4b1930da4f1910eb3979a26b988f3234ce116532effd6297e87e5f15a808f311fd6faaf2c838e3bc6638b699564f90ea9c0439c651be6d73946fd302d42be679b8e57b5ff5d0349708bbb3db77b271befecaee281fe5e71047991eccf852b7ee7e670f8cb35c16c07ac5258df8bb1673d5b58e707c27d2f87b9c8fdfe9eca90d7739df468e7a22d1c7fdd69a17e0dacc32824e4e679c26a4ea3adb64a9c78cb44048ad01a4863922a9e9aa007256a8f94665e8069c8dd5457e51259e4c0740d625a44e76792fdde537788d6ddd0a62f3f8031d2d3cb773d2dbaf761c470f218877f98dfe2035c10f18267bdc67de67f829e8c61b2d7ab7c226e1342175ae9feba7ef778ae3daac77896c38013fdbb8d689ea7768407fdd51e8c3d15a3d15489da55aeacef492a1ec0f1a8381d4baeaeed705b4ae701aabbfe308a96714520329aa96ca005d5e0f53159ed9cded2c43c3fc1c3fdd05404ce51b60673a5f55bc913e7ecfd02021754c2d43ea24c77bf18eef4d704059468008a6791e030294571ae0cd7ac84c17433cd5bbfcd33cd57b81020518e27c446d479f26a46ef6015e51c67d4a76dcffd901ee5f82bace3a923fc973f2b87d3da7659a4abfe98edf335935eafda50be7ef9ea9ca6f677a4d51e7e30932bd05dba00a16529d5dfe299eeaab051052838454dd8534dcd876b1ba604e0ff4019c519eaa319bb31434f4751cf74c41aa86eed93e7e435c90903ac407a44e7281d4f13e8e15518b90badae3be6c92bf0277820f488dab25489d1504a44ef6716d7c4d3a8a34005f8fdf8933d24e86a39074bbb6a702a9193ece73740387d4c6aa801eaa2abf341f051f2135f421354ea5d35c55164c362a425f65a8dbf1b33dd5c701ba95a9491ef76ed0a1c6fe4639be372088ebe10fcce679aaf716050ba9ce466aace37b119eaa6144091eff3d39cefc15a9befb989fed87f888067a3c55ddbe63d4fd2bf654ef05f2752d7464d339d9b4512d416a5210903ad7471af0773fe45a8f550ce19c27a2bbe9f5708c499eaa49d8a3fdd4f98120d55fb77db08d91ba8054b3cb3fc6cfbd27a40680d44475831b1b3094e423c2d5d70770ce70dc007d83725d2035c64fabb0b622a97a10bf33623cde80ce4090aac72d0df393b0754472880b048e7124c8d3ada05ef7541f2f6b5e3f5f1971a823a2eb31a26fb5d1ddef0f52637c546431aad0f2375b34c55335f12dceb8a72f7a4e1e8c1e2ca44ef303a9d354fa0d73a92886367048d595fb6c035c08a96727a4ea31de6639ab87fc4ca801a4a6784eee058951e9274a45d9dc7a6d861b8dcb7c9772676c10d723dde37b2de60cc767c142ea2b3e00cfcc3bf3d5ef7b2508a873e6af44756e4d1d65c664f55eb22a9fc27ca40bbddac6344ff5a139feca6edd30770e25738eb1ad0b48d5730326b9444187797c4f9e4a70447e9baadfadaf65b24a7b8d5c7ee7e940ea641fe5775f8fff611a750da9bade4e56f77e9e8f7b4f48f59cbc4e6a5f95f8f5cceb312e1779b40350e12792aa2bf9080350a77baa77f76be89b6640e3cc2020355b15c4613580549d680718e7f38aca78314142aa4765b0cdc6efeae7a97a808196b4fcd71be0a427606d0e003235ada0623d553379f5d21c819631d10f5d48320ad848b5dfc400c0e99686661a15642048d5db9893cac25486759b6debbc7ff99eea8b537fe0a9ea460a0489ce4278b34aeb8d5d0030cc5335a07da6715e3aea312304207594ba5ec50644f882d4e19e939f941249de3c2d488df2e3da84541d696c64946baf3bca80602075924a2b718e34a5414b979f092ee971a051f96618bf315ce5b340903add88aee932dd9c4033e4142035db48f7bafc4d7601d77c4f558f494d20355a7d77bd71cd06aadfabbbb787f869bce8758b331cd01968e2548a3a6663a3fc4c74949fc142eadc1a40aad9208a720097d74f79314f9d7398a371a0d7e076de97469eaac9a3a703a931eabc5e34ae4ba44a17b3ea1952754f75a623e0e506a913fc94213f0a48751bd89fe6e3264c373255bafa7bba9f041da5b6cd5709275325bef98e4439d3b8617a3675861f481de8a9ea32185e03486de4a99ac198a6126bb1e7e427260582d408a320da6cfcbe744704629bdaff36b54dba23625c5be3d1867aaa96eff01a15d4243ff73e4eed47ff8662754f226a08a97a3c52710d2055cf1af6aa6ba3bb7a024d42d0adeb0f5ca2bf8f9d02a4be62a4f9a6aad22976a49d619eaa25d4b679aa96cb6a1c0290aabbfc53fc14b2099ec04fb2a24e0d52fdb9362175a09197f4044e0daeafd70052351ce8b240975bfd8ccfe7aa6349fe5dadbe3fc311254bf6544d0acc361acdfe14668089b92c9e5b977ab0903adf388f4cf55eb44b9da097ee0bf4f849377889f754cd35c834ce3bc368cc36f501a9fad8b90e800b04a9316affd99eaa31f2999eea13618381d419c6358e081252233c55cb0b261b65e2d800e5b62ee3938c32bf9f713fcdf49ba19820d3b8f7a702a9ba7e2856f57d92fa7bb3c7ff92596702523d061b850580547f65c859af48173a0f0fe23bc3540b31d2a5a0897244c3c2548b71b801686e0bb1c7aac88fb9187d63a3b2756eaf17828ff093987c2d1a1cadce67a0cbef8df0b83fc020caa570ebe7a9eae6705b705e2f7d324a6debef8105e6f19d15859dfc0000022b494441548bf987b9dc83a6c6b534b76dea39797c92bf8aa19fba166e0f098808223de8dfa87f9fdb777c3dbb3b5e9d633f4ff0cf2677ded7301fd7c8eddaba3d9b3ade716ff482fc518ef31fa2ee75ac8fdf16ccbd0d94ce9cfb0cf3f3995bc4d96d41eb48c7fd703e0f3acc4fb48f91d4535394c7f7f25309462516e6a30c8b33ca4abd8db32cebeb48a351aa421eeba91ac6633ec822c2a5f2f4757c3ddb7a948f341aaf8e33c6253fe8343650eda39f3af78420af5d8c2a1326a8e347f9c83b091eff0f2be9abb68b55e731cc4f1993e4397918584de1455f9371aabe6ba4eea3b3c191e072afe35c602750a42c4c05277cfdb6184fe0279b3552e5da70752dddbea3ef5d988ffb3b2ac8a89e1e1230d6389eb3fed7e937c6e5da44794e5e8d26c6c77b6e93ca46a97d0ff4045ed0df6dbf81f28c79ad9afa49b3cedfecefde87055186505483d7244ff5b1c366ab2d869787a228caa7f464aaf820b6fdc0736a8f0d0de365a628eac72afd78cf4ca310ad8d673f5314459dad8af25474574b776b6210dbeaa5b65ee4a5a3288aaa99f41a7302a6d24d16c74b425114e5537a52d6344fe0b1a8323cecf520b7a5288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2ea56ff1f94c413ab860154e40000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Look and feel of the written HTML code and the jQuery Mobile enhanced Todo description page}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 UI enhancement is done in the {\f1 enhanceJQMComponentsAPI} function in line 52:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 $.mobile.changePage("#" + this.id, \{\line
+ changeHash: false,\line
+ role: this.role\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To retain control of hash routing, {\f1 changeHash} has to be set to false and the proper {\f1 role} parameter provided to guarantee proper page appearance. Finally, {\f1 changePage} will show the new page with its defined transition to the user.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For the basic use cases, it is advised to have one View per page, and always render the complete page again by calling {\f1 $.mobile.changePage} when widget enhancement needs to be done.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To progress component enrichment of a newly added HTML-fragment into the DOM, advanced techniques need to be applied to guarantee correct appearance of the mobile components. You need to be very careful when creating partial HTML code and updating values on UI elements. The next section will explain how to handle these situations.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Applying advanced jQM techniques to Backbone\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Dynamic DOM Scripting\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The solution described above solves the issues of handling routing with Backbone by calling {\f1 $.mobile.changePage('pageID')}. Additionally, it guarantees that the HTML page will be completely enhanced by the markup for jQuery Mobile.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The second tricky part with jQuery Mobile is to dynamically manipulate specific DOM contents (e.g.\u160?after loading in content with Ajax). We suggest you use this technique only if there is evidence for an appreciable performance gain.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 With the current version (1.3), jQM provides three ways, documented and explained below in the official API, on forums, and blogs.\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab {\b $(\u8220"pageId\u8221").trigger(\u8220"pagecreate\u8221")}\par}
+{\pard \ql \f0 \sa180 \li360 \fi0 {\i Creates markup of header, content as well as footer}\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab {\b $(\u8220"anyElement\u8221").trigger(\u8220"create\u8221")}\par}
+{\pard \ql \f0 \sa180 \li360 \fi0 {\i Creates markup of the element as well as all children}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b $(\u8220"myListElement\u8221").listview(\u8220"refresh\u8221")}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b $(\u8216'[type=\u8220"radio\u8221"]\u8217').checkboxradio()}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b $(\u8216'[type=\u8220"text\u8221"]\u8217').textinput()}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b $(\u8216'[type=\u8220"button\u8221"]\u8217').button()}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b $(\u8216'[data-role=\u8220"navbar\u8221"]\u8217').navbar()}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b $(\u8216'[type=\u8220"range\u8221"]\u8217').slider()}\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab {\b $(\u8216'select\u8217').selectmenu()}\par}
+{\pard \ql \f0 \sa180 \li360 \fi0 {\i Every component of jQM offers plugins methods they can invoke to update the state of specific UI elements.}\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Sometimes, when creating a component from scratch, the following error can occur: \u8216'cannot call methods on listview prior to initialization\u8217'. This can be avoided, with component initialization prior to markup enhancement, by calling it in the following way:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 $('#mylist').listview().listview('refresh')\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To see more details and enhancements for further scripting pages of JQM read their API and follow the release notes frequently.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://jquerymobile.com/test/docs/pages/page-scripting.html"}}{\fldrslt{\ul
+jQuery Mobile: Page Scripting
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/questions/14468659/jquery-mobile-document-ready-vs-page-events/"}}{\fldrslt{\ul
+jQuery Mobile: Document Ready vs.\u160?Page Events
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/questions/14550396/jquery-mobile-markup-enhancement-of-dynamically-added-content"}}{\fldrslt{\ul
+StackOverflow: Markup Enhancement of Dynamically Added Content
+}}}
+\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you consider using a {\f1 Model-Binding Plugin}, you will need to come up with an automated mechanism to enrich single components.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 After having a look at the previous section about Dynamic DOM Scripting, it might not be acceptable to completely re-create a component (e.g a Listview) which takes a longer time to load and to reduce the complexity of event-delegation. Instead, the component-specific plugins, which will only update the needed parts of the HTML and CSS, should be used.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the case of a Listview, you would need to call the following function to update the list of added, edited, or removed entries:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 $('#mylist').listview()\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You need to come up with a means of detecting the component type to in order to decide which plugin method needs to be called. The jQuery Mobile Angular.js Adapter provides such a strategy and solution as well.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "https://github.com/tigbro/jquery-mobile-angular-adapter/blob/master/src/main/webapp/integration/jqmWidgetPatches.js"}}{\fldrslt{\ul
+Example of Model Binding with jQuery Mobile
+}}}
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Intercepting jQuery Mobile Events\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In special situations you will need to take action on a triggered jQuery Mobile event, which can be done as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 $('#myPage').live('pagebeforecreate', function(event)\{\line
+ console.log(page was inserted into the DOM');\line
+ //run your own enhancement scripting here...\line
+ // prevent the page plugin from making its manipulations\line
+ return false;\line
+\});\line
+\line
+$('#myPage').live('pagecreate', function(event)\{\line
+ console.log(\u8216'page was enhanced by jQM');\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In such scenarios, it is important to know when the jQuery Mobile events occur. The following diagram depicts the event cycle (page A is the outgoing page and page B is the incoming page).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000001a60000023c0806000000ba640fbb000072c04944415478daecbd7d9055e595ffbbd50eb4d02a0a0a448cadb4da41a2c8b406150d5c7130c1f1253223be8c9040844254346acc6802f1256ac28c266a2425a3249292897aa546275a6ad28924f15a4ec2cc24b9ccef920cf31ba62e33c31f54c2dce2d6c5faed7b3e9bbd8eeb3cbdcfe9f3dae7749fefb76a55f7d967bf9f739ecf5eeb59cf7aa24892244992244992244992244992a491a0152b56cc315bb66cd92c5bbe64c9924ebdd7beef7dee739f9ba15f8724494d51ae01ea37bbf1c61b9fb7e52b57ae9ca4f7daf3bde5cb97bf935bb653bf0e4992865cb9c66771ae619aaf3b21055e74b7c0244952b3c0b40638e94e485e784dde8b9224491298244992248149922449929a2efa1208dbe84e485e64e6f94c3d499224496afa038b921f244992248149922449e9e292c0244952ab8149c90fd200295d5c9224814992244992ea04a68e9c5d9db36773d62f6b9abd9cb37b72a60c4b499286b76a4c17efc9d9b69cc5b296b1fd395b5eebf742e9e292240d474dc8d92e1ac313ba4f8e6fbff7c1f8e9bff981ac49b66efda678dea7aef0805a5aeb038b921f24491a6e7a8a06f0acb3cf8d7fb6fd3fe26dffb64fd60276cf43df3030ed4d1f1e042649928697aa4c17efccd93e1ac0bf7dfb1f058416b3f3e65c5cb3d724304992d44c305593fc309d86af7beaa902416b7b4d4f57fbbd50bab82449c30d4c7368f8facebd40206841bbefafd61b989ed5375c922481492630499224d5a22ad3c505a6110e26a58b4b9234dc34a4607aeb17bf4d1adbd01eddb0397efddd7f6e4938bcdcff8be41cf93b1cc1a4e407499204a612c6381d8e37fed889f187a77c24b1c33a3a9265fcbd73ed232d07a6b9f32f8d478dee4cc616094c92244915a8ca74f1a68089bf7ef9dbbffef70400c0a995d2d6f1f038a7eb96de94fce5b5c0244992543e985a3ef9a11898b017de7c37798f14695bc6805fc27c34d00f7e6343fc773fffcd80ed80dac34f6e4cd6e17de0f1dd2d3f2a58e7dd1d7b928a0aacf3ede75f89fffe5ff69675be54c11833766c721efcbde9ce2f0f3b30295d5c922481a94a300113dea331e6f5332fbd111f71e45149b88ff39b38f9f801e0f2eb50b90278e079f1daef976dc71d333ed90feb7f6ce6d971ff3ffceba0e7cbf8ae059f5e94fc7fd99f5e97eca75ca8292b4f922481691883096f09b0102e33af08287c7cf6dc3c08f8cb6b1b0c8c1704282ebce892e47f0315fd4106265b870a0a566e098f8a9a80069c6266a0c4c3f2e7fecd8d2f0a4c922449e56838a48b5be39e65783b84eb6cddcdaffdaca04f07302d5ab23c0f1d80c176ace78f01706c9d279f7b3959e77baffea4601d922c80a0012dcbaebc667181e785013420a774714992a4c6a92960facccadb0bd2c5f142c202b240e3eefbff329e7fd9c2f8b4d3cf48c0e5bda1355f7b32d957b8dd8adbfe22bf0e00621dbc26cb02c408ebb13cabcfcafab6381e2022846786b7566a3b253f4892240d533065f53179c33b9a76c6cc042064c4e149318ec843c71aed30530ee8d93a80cdc26f59534c14f3986cdf785f1e4c988155609224491a44c3395dbc58ff0e99747e39de13cb6de02bff93b5e7d7e15a0c4c763c427a7e1d40055c8a8189fe2ec058ace237c02c15061498244992a2e19f9517565b60bdcfdd7257de83a291b6c1b8b61e890f0cd605602450e05df1be8189ed7a4e9b9684e0789f65f437b14db101b376ec62837d494de77dfe2a5d5c9224a94dc084ddb0fcd6645dbc1352bc3947eb57b2f240f405116ea3ef0968912a0eace81bb2fd50ea886dd98ef5f84b765fb1c1b27852ecab583a399e12e78457a5ac3c4992a4610ea64a0d3810d6cbaaa30720f082c2901aa0023ce1faec8374f2a1aede20304992d4b66ab7eae2547ce0dca9cee0c37078572449a8baf841295d5c92a4e1a6610b264b0d8fd219784956200487b714a690b7339894fc204992c034c446d157ab95170ea41598042629ea4c7fe79fcfd953397b3967fda9f1bd7a2867d7e5ac5bb74aaabbaa4c179f4dc347ed384dcc273049234a0b5208ed8f8a545bc9b01d39bb27679374fba47a81a99ae407be8049bfcc501627959567a4cba70dc643d57e2f942ede76ba3a67db3d70a89cc2500a069c33b4c20698f3e043c57cb2596903dc36c0ec69014a6a1698d0afa2a06ab7ac353212196f95361417e91b2e0da229397bd3e0c290091283ca9d199a0753ea4f32becfc60be66c6fce96ebd64acd00d355513a83ace0d43afd662473a48dc3567dbba54144087f4f948efb63bc5f2d1110be7f5438711e141e77976eb354b1aa4c17373d6a5f420a9e920c216b8e392059ccbfa6708ad2c5db22747780ef0b3029679eb1728da4228a19bb0724c1496aca17bc20362d6b9a598c7f423d1e5894fc3062759541a954616106a1535372e1f54b93ca28f43931c4820721a677c1c32a36f09cb1813649a7e0243553bdd1c1f45259736c763d7ffc02d388559f41e9962fde970915604345fc51a34797f540c418c0ac2117ecc7c149893452f9aa325d5c1ae1129846a4787021cc9b7841595022dbae5c20854615ff70903a9e930beb2921422a1b4cd5263f4823584a171f91fa7a94a68187b522010a9975518de164427d24416455d68f0e66eb29955c129824494ad493b30364d186613732f1ac927e3d6cfcb1c70d483767cc53a4c2c292c024499213493149df5118be239121aa73220e5e990febe145a5e39cf6cb6b9206558de9e2d20895d2c54794ba52200c08b3312b73d4a02c51aa4664cd249db335fa482449aaea8145c90f2346145b1d3049a5cdd4dc28301d7658470108a910117d30ce4e921a2a62d7541fde1d691c51b3c730f5a78d90c024793dc777849a774592121a6684093d085d6dbd6e7d2c5251d5982e7e5574c821ff2d28b49c511dba43609252ede27bc1cccd1e4cf5c8c21bcc2875e4cb1cb92488ebf4b148a5c0546df2c38cf4293d3ef68c79f11fad7e3ebee0c19fcb9a64e7adf9617cca955f8c3b3abbec87ff542ddf0ba58b8f18d1bf148f1add39a0aac398316387e441e99997dec81f9741bde9f2afeba3911a01a6a422f1e473ae14185ac866aefa4e7c68c787fe57747074ff747dc3db5e7c0792be240f26bca7a1f2e0a9569e113ed4438f5477308da3e13bb463547cee97de10105acc26f55d663ffe2fe81bdef69a1365cc36ed12111a6ebe1e1ff339a5cbfbf5d148455565ba38f5b6e2b1934f11085ad04ebdeade9a07332a5d7c6483c9cd72dc70f363a70426a9e15ff6a34e9a29108c503029f961c488e2be0352c5a91a3e54605ab46479feb84f3ef7b22d7f4d1f8d2430094c02537b8a196a93598d3d98284b345460a230ac1d974945d3e54feba3918aaaca747181496092868f92ec595f22e8ed5ffffb908169ddfa4df9e3520d2252ffa7540698aa497e185230918a3e71e68201464660efa2fbe2d9f76f6d09204cbbfe91ccf39cfa279f4fd2b9871398942e3ea2f40edf07c268de6b22bcd7682851fdc103f16333cfb6f734d58e34bcc174c6b227922ff3d1a7ceca37f6e3a75d98245fb07cc2f4b92d01a6132f5a7a709af9f41c8f9b313f3ef2c43363b217c71c7b627cfe577e3c6cc0248d283d1465d4ae73638a1a664c2268c763fa7657c85533da4a23034cfc2d0683acf79a05a670f98c154f27cb7b2ebf4b60929aa1248b967e265f8581709e2b11d410232ddd8e77e7da477c6512492aae2ad3c55b064c7db77f3f798f70995fffc3b316c6c7f49e9f782d00210cf74d5ff26832de076f8b869c81a9272f585db0ce99373e95ec07ef6cca05d7c667dff1525560c20e39f4b0e47da58b4b4dd276be13a4890f95d7e453d401e209dd27db7b57e9e3901aa1960113fd3abcf7d16bbf9abc06424000e80002c0c46b0063dbb00edbf0de47e62e890f1f3f2509b5751e3d79c03a808bfd8c9b7a767cd8a8c31380550a264a05710ea5b655f283d460111549e0e0bd264a13317752bda174f898b10595c5ddb8292a8b77e8e390460c98f068f81ffbd867bf99bc1e75c4f878f451c7e5fb6fc64e3c393efebcab07544230e8ccbae707499f8ff75ea85ec13e6c9d8fdffd4ab20ed0f2fbc1033be284d3070513fb3103482c034ecaca939aa80ef39af092bcd7c46cb3cc3a1bd52de1e1b0649e271f32248c18a978ab54ae8643bab88129341a7d3c996205648110002369c2a083679584196eff7ec1ba7854e13a6c4bf8ceeca44fde9c2c2f5686c9c0c45fb3133ef1e7490204e78a772730494dd445093832a657dffcdacfe289938faf4b165e182e7415c5b7ea2390ca05d3b0497e2035dc83222b4d7ce62d9b923e21abb20d6c7c980ecf252bdc06446c9d93e6af2cf9e32bd6d754aa8f897b8577a77471a9c97a94ef06107aeb17bf2d0008af6b4921c7ebf295c4b115b7fd85bdbf37d21c4cd24804d36099778c15fad09871898772fa0deb128fc9806150006e591e13e1bf105eb67dad5979fe3dc284caca939a1cd2c37389bba79e3a004ef43fe1f154e23d8d1a3d3a0110213bbf2f978547a5fb05baf5525b82c9d623e3ce2f0754060cc040588db09c071a0910062642835146bf109e14fb2a36a0b71898589fbe29a0a97471a905c4ec00dbcd73228ce781624911d4d3a3006b16a44833bff0a24be2355f7b32199f14c28dfa786efda5bae552451aeee9e2619f12490b24299cb5f29924dd9b490cc9a6f3c0002096b907a018a84be8cf67e591b1c776c088e3b21edbd06754ee005b33a0170d610284d2c5a532e194784ef4399110e1b3f5b2ecef7efe9bc48056b17598e769da1933bda7a4d47069c834a46022cd9a6395936e4d08afebf8de043464e8010bfa9d92ed737f7de30dc0489e600c1400617defe5b02dcbf074f81b8e73ca0202c7098dd24943390058c90f5299ea8cd23e270bed11c61b0c5059466a38de555ad901e3bbd3a75b2c8d5830d5d3c8a80330615f0f90c254c455606a4391adb723ca27314c4cca17515bcfd7b90bede5fe5f24d5c2293be4c2760752d88dd36d95aa56bb551767bc13de1421be73eeda9280ca06e50ee5582381496a319114415ff3f628e84fa28f892a0e660cc81d33766cd8efb43ffdbef5e8564af50053cb273fd4db08f759bf0f46a88ebe244d7bf181942eded6a26f91c2afefa41e50b18cbcdd39e33bb2541e922430d531ac3758fdbb76059324395d1700e9ef0522a915c194542b269b4d13f3094cd288d79c004cfdba2552435565ba384f4b0748cd2e569e47d63c230d3eaa719650a58b4b0293341cf51a5f5252a10583d631c66fa58563e91b985ecb038b921fa41ac1d45d22e437216753ea7c9e53d2fd4a6d2c1a3d3271920c371a4481a1b9fd656417da60e29c3d5eab272d304935828975d714798f3073bdbf5f3b2385af4786aa4c17375d1e1d72c87f470d9e9e5956b1912955d39c370293243049cd045335c90f5e8c5b782afd52080acdb37d397b337958a883942e2e35094c84fe48aeea2df270d599466bb2def760ea49d7d3a4846d0a26499204a65ac134297db0f2c7d91b3c685d9db33dc1fb570560a2effb3db7ceae48a59104264992042607a6fe144ea16d0bc0f47cfabac781ea1db74e5774b04f7b4dea05e1393d9d2eeb7260e298b7a6eff7a6cbded44738cc5465bab834c2a57471a94e60da9bc221b47d019818c47b51b0fdade93e0c54fcff50f44178cec27e9d0e4ce1b93d14d5bf2f4b92a4663db028f941aa03982ae963a24fe8a6e86046e99b29bc62f7fe73d107fda9cfa530eb72ef67253fac11982449609204a66ac0747fbafeb6144ccbd36de360bbd9e9ba560d9d3ea46e816984a9c6747149609204a65ac134215df79e609d87a2c2501ec90f9deefd59516185138169048149c90fd200295d5c1a42304d49d7fdbc7b1f2f6877ba9c705d4ffaff72b74e6f543875bbc0243049922430d5054c888720ca68bd991a50b2d975fb020fea9df41cf6a7eb760a4c029324490253b9db7517790f6fc7677d926947561ec90f84ec26a4cbd887cf1a26416271badeec609fb3d2fd4681e7a5ecd2e126a58b4b5952bab8540730499224d5f78145c90f92c02435b3119a63e69f92796ad67bedf9def2e5cbaf16982481496a8a68903ef7b9cff59bf94c2c427c7aaf7ddfcbc149959a258149922449129824499224496092244992da1a4c33d2fd0cf78c6052d735105d9224690480c9f6d93dccef8d06f04a9224094c0293244952bbebba004ce5666b52e3ee0b29c8304a0a4d08c044f586a7d2f75f4e977b5123ef51b70fc2667e46dacbd363b0ec85749de7a20f261c34f5a5dbf2fed3e96baec3578a989e2e631d66c2cdaa88b32067afa4eb5074f67e8149922469e8b5b80a30514e889a76d4bca3382bc55799aae257d107a5866c2241c0448921a6443fe0a0c25fe65e7a33faa00c11db53236f8af35876a5f6f51452f6da6ae8cd4eb731d83c1d7d30d7d31c07ae7d297096a7d0d997c234bc0f8fa7ffdb9c5102932449d23000d3d5e9bad3ddb21929886639307dc1bd6fb3d42e779e9a81cc7b35ac33df81290e3cad05e9321b34be3535afc783edfad375fcb1ae4ad7e94997ef49b7f3f0dd26304992240d0f303d3d48833d27035c51ea61655524ef4e61f4f574bbc501983a82750d3a1da917766bb0bfd96e9d71e9ff4fa5afcd0c7037a51e15ff87d3bf2b94274992344cc0f472543a49c2c0d41d2cdfe9c0d495c2c2c26e3bd3fd8660da950131834e77b07ea975f6a4c708ed5677be3332ee8dc0244992344c3ca61d19cb17a42028074cec83d0df55a957136580262b2bce43a733f598be10ac73915bc766d0bdb5c4f598c714cef6fd05814992246978806969f441ff8cc966a1bdba4c30d1bff44af0fef20ac114a5fbd816154ecbfe6cb00e89175b33bcbabdd10721c1b08f294abd4281499224691880a93385c18e1452ec637bbaaca3028f896cba9b520f87fe9c5de9b2e51580c9b2fb00ddd75398d8b4ed7dce83b2197417a7ded3eea83021c2d2e69f4ae1fa4a0a2e814992246918800975a520d8964281f1481692eb4df73321d886f52f77db3f9a7a33db526f654a0aa39bd2752e4fb7f19a100d1ca304ac1e4a97137e5b900146b2f89e4f01ba35056157b06f4279afa5eb3c1e7d9090214992240d0330b58aee4941e4756bea7975e9e39524491298865a840477a7de151ed2d5e96b155f95244912989aa2aef49cf7441fa4853f2a6f4992244960922449922481499224491298244992244960922449920426499224491298244992244960922449920426499224491298244992248149922449920426499286ad264507a717783a6d8c64ed695b0330edd03d19d1c6341ecc4fd5a126506a25f185642e9afd41832493c9dac798036b869a43a955f4827d39274c9f1bf75c7e577cea55f7ca64b236b08fcc5d121f3e7eca41381d72c87fe7fece569328355b84eee28eceaef88c654fc4173cf873994cd66676fe577e1c4f9cb9c03c27a6b3d7142152534378c99c35d3ae7f443f5099ac8d6df6fd5be3234f3cd3e0f405358f52b384cb1e8f39f644fd30653259f2809a8269ab9a47a9594ad28271e1f5a394c96467dff1928169a79a47496092c964029324094c32994c60920426994c26304992c02493c90426496092352ca597c6c3dbc7ef7ea5e6312c8c61c3ce5bf343dd6781496092042659550d47811d36eaf07852df6509642ad91f2062b880ede78f563faffbacef97c024094cb2ca1b8e133ef1e7792fe7639ffd66dc7df18df121871e164fb9e0daaac6adb00fdd5f99c024094cb2aa1b0e6a9c85eff1398e3eeab8a2dbcdbae7070396b31ff697e569b13edb953a1fc2888417432f8ced2af5de64029324094c23104c63279f32003cc0ca4275e3a69e9d878dab8d16fbefc1592b9f89bb8eefcd2f67fbd3fe6c4dc13e3b8f9e9c14ffe4fd0f8d19974008201d7bc6bcc473b3f0229e9c3e3781499204a6360be5010a5e1fda312a3efd867503c27400c4bc1f6aa151491a90b0eca44fde9cac631ed539776d4980327eda85c9b273bff4467ce2454b9375ac9e22c7e35863279e1c9f72e517136339d003589c13fbffe8b55f4df6c531f4d9094c922430b559f203869733f3964df9758110b008436facdbbbe8be82509ebd0fe08049989d77d4493393fdf96da62f7934ff3e5e56b8ccf68747a5cf4e60922481a98d4279c066c68aa7137000154b1f27a446688fcfd71bde0ec0c8021320330079c3eb627f7e1bbc2b7b9f39bca2743e2f7f2cab563d585f954c609224816904f631cd5cf59de4bd9317ac4e5ef3ffd1a7ce4a4271a1f9b09c07139e1116eedbc27959db60f425b12ceb581821417d7e029324094c6d0626c620f1de49f35726af471d313e9e7cce9503d62335dcbcaa10327c17e8270ab7618c944d8f920526fa9358e6438976be67def8d480cc3d99c0244902d3080753dfeddf8f8fe93d3f09b7191c8e3fefea6466620f0b838a8d5b0a21431f11af7d161ec02344582cfc87e111712cb2f20c42fc3de284d39324097d76029324094c6d98fc40df117d3d7e3c116060395976f41fb19ef7a2b220c320dd284d2da7cf88edf9df1222b2b6b12c40d625ebefb819f313cf0b58e131e9b313982449601aa1061c00436834fe5975eef05a4821a79f87b4ed1012785a59614192290809b25d5815a2d8369688411f17db91465e6b1d3f99c024094c32994c6012982481492693094c922430c9643281491298643299c0244902934c2613982481492693094c9254ade6f32564ac8b7e9432998ca1012998de53f328354b9d39dbc71791712bfa61ca64ed6d540f49c174bf9a47a9995a13a593c1517a463f4e99ac3dcd267eccd9de9c4d52d32835531d39db1aa5338e528e867a6936099d4c261bd946150f9b9e2467077276b99a45a915d495b3e7a22235d86432595bd8ee9c2d507328b59afa72f6f59cbd99b3fe06d8cf72f69b9cfd4b7430eb4726930d6eff57ce7e99b31f37e877f942ce96e66c9c9a40a99d34451e994c56b3edcad9756a4e24a976cd484304c9940864fd30af4fb1994e653259a17d78d6c2642a1107a867d5ac4852f59a6050623e1f06ef29fb4926abce9846e4b05187ffaf144ef7a87991a4eaf4343f22327e34b5b64c569f01b0cc521c1dcc9eeb5113234995894cbffd808989e5d4a8c864f5314a88451a042b4955e9a248e58e6432950d92a416920ac4ca642ab42a4902934c263049922430c964029324094c3299c024304992c02493094c922430c986c6ceffca8fe3b3563e93549b9e79cb26dd1381499204a6916051911a674c273276f229f1d43ff97ccb9df339776d493e23ced19ff3a823c6c7272f58ddd4739b75cf0fe29ecbef128c04264912986a01130d3ad7ecedb819f3e38eceaee47d26636b95f3c543e27ca924c0397ef4daaf26737101a431c79e989c2f75da9a757edcb3a34e9a2918094c922430d502a6620de9c7ef7e25696881009e40b3cff5bc353f4c662da6b02ee1bbacf7bb8eef4dae0958b5dafd14980426491298ead0904eeabb2c598791fbb68c1a8280e1a44fde9c5492c65b2936c53da59d0807765f7c631e26fc0dd7679fc084f5fcbaded80fe772fc795797ac3000b8cccb3bf74b6f24fbe2ef99373e95ec9bbfe136765c7f9d59de1ad7ca3573edbcb6f7ec389c1f2150fe07ec955c9fc0244992c0540198ac2105281632c39bfad09871f93e9eb03f8a06186f0b50e0e9b00ee1b7f01ed3809ba7c3fe6c9f5477c70bb2f5384f961783a04f8ab0ff0d164c5b9216124df60f28382ee5a76c1921c2282d49e5a1c2391c7deaac7cdf9bad67d7e38fe38de9bfedfa80d560d72730499224300d022600007c008b35a034a6bcf6a1b299abbe9334d62c3728f03efb9e307d6ee24db06cc68aa7f38dbabfc734da34f8a7dfb02ebf8c461d901c7bc6bc82fe1bac92eb3360b0af93e6af4c3c223b0e15e4596e00c1788feb0044b60c0f8d7d90d46015e73d4c7d4660d6fd2cf7fa0426499204a612c90f34cc34d0bc4f836ee1a8c9e75c997842e17e4838605d9bbf0a800191d02338edcfd61480c90096b54ff3d6acd23bff771e3db92a3079d018248b8505a75c70ed41e0e480cb6b42779c4bb81ea00afbb3423055727d0293244902d320e9e234b0bd8bee2bba2d5e031e08fd2e16aa3230e10d8c9f76e1806df09efc3da62f88d7ec03887823fcc67b760e84c008095603a630b3903e220346785c96d93965a5830335c296165af41e570826bb86aceb330096bac7029324490ae50d623cdd139eb35472f3b8acdf8906086095ba8ffe3d374f4f51032249486ce2c9c9ebc1fa657c06a181291c5b64402c65784ad6c78447e8fbd392715ee9f994025339d7d78a63c504264912988605982c5d9b4699a7fd69d73f920c76f5e12f1a20427efc9fe531b10f7f8f2d040840d836cb0c440613df579395f8c0f9d1ffe3c1e4e161e13996730dc58e6b7d63f445b12ea137bc1b4bbe609f838189d067b9d72730499224305508261ae562fd25c7f49e5fd02f43661b1e86cf90b3e4027f8fad9f26ab5a02eb02100b0fb26fd6053ac5a6bda73fccf71d1503935d8b796361f80f0802206b50b3206b702b05a64aae4f6092244960aa104c545988321206e8e0b7546c4b2bb72407bc0c831361c0c3c74f2900135e0961413c31df40130e24d101efc7a76e5bc20020f44903808a9018e701102d9c570c4c9c132148d6f5e9e71c8b73643fe6d144696a7798b168a13dbf6faec3bcb572afaf15062f0b4c9224300d4b30d198d3985a62031dfb64bbd1b8da381f1f66b3f01e0db335f696304088cbd6239c460620fba1ff8a146aab38010cc381b8bc6ffd33f46db14febf302007e006d3130d97b1c9363735cc624196cbc8763d746480f4f8a756d9bc8652dfab01fd0b37d54727d029324496d0f26aed537ac83194ffa00071860fc8fe7628555f194c2b46c427f34e8400b4f237289053ea9c2ef1770595830cb800ffd53b63e1e14996fd62fe43d1bce2bacf6e01b4c006bfbc123f3151dac5f8c6bc06bb273631d4b9ff7f78ffd715ee1bda8f4fa04264992da164c8d32c26a59fd2a780f519b64a2c904264912985ac82cdb0e1079af81d01b212dcbe693094c9224094c43d610d9381ffa7dac6f0a287958d5731e24c047e8906387d980328149920426590207d2b2e94fc24eb9f28b75cb40a3af8bbe1d4bbe883206ae02433e4b120c8aa597cb04264912986435377064cf591d3fb3091326c4dddddd715f5f5ff2b7a3a3a3e07dbc36fab504288149920426595d132acc3b023c0b172e8c376fde1cefdebd3bced2b66ddbe275ebd6c5bdbdbd794031f077b0693364029324b51c986c8e1d59eb984d3d8101a49d3b77c69568cb962d892715a575ee8aa58fcb0426496a35cd8ad2419b6a4c5ac7ac42375ed2a64d9b0a8083b7f4c0030fc4b366cd8ac78d1b970febcd9e3d3b7eecb1c7e2bd7bf7e6d7ddb76f5f02b5044ea30f6fab7144cd361b2690b37e35339254993a72b62772a57564cd35abdc0094de7aebad0228011e8351319b34695212ee331d3870200f27a6ea509fd3d0188393d3cfe41e35339254b9d6f003a2848eafd1266b8e596dbdb56bd7164069c58a15834e27e1ede1871f2ef09cacdf296bce25597d8d7b9c7e0e7b7336ae5d9e7009bfcc91b5a54d69c077aa3367ef4569ba71a929166443e32d4d993225f1744c40a612289979cfe9d5575f8d15b66dac3134c0f70de6ecba7679bafd7a355f50d988b17d2948eaad49397b2772a9c68422c2e9c7658db531c7760ff09676edda1577767656f57d21ac677d4e808ed72c1fffd10b75bfeb6814aa25fbd12acee7ec40ce96b753d8e5592ebc7beaa971dfb917c8dac8468dce374edd0dfa6e01bc5b73b64b0f00cd35bc1bd3ead5ab6bda17fd52a64b2fbd54f7b7b106905ec9d98c76eb0f48c074df5fad8fb7fddb3e591bd987a77ca4d160f2eacdd945d1c174725995b669d3a68d398f677bb9f6d39ffef4ffedefef8ffff0873fe4616229dfd51ad97aa6eddbb7c7ecffd7bffef5ffed8ffbcb5ffef2c763c68cf9ac3eb3aaedaa9ccd6e97fe248149d62c304975508e05950d3e0ab47ffffe9a9fe249252f53fa5e4902934c6012984a8b41b5f50831094c92c0241398a4ba808934ef5aa1c4b8278149129864430aa65c83328946a5061ba79f556b8209913a5e0b98a81021304902936cc8c0946b4ce6c7b56b1fed9f7e5aad09a665cb96d50426ca17094c92c0241b4a302d8eeba339fa69b52698c8a40ba7b4a8248c57ac12b9c024094c32814960aa5a77dc7147cd63980426496092094c52ddc044d5864a07c7525baf42094c92c024139804a6cae084e73458588ff245be80abc024094c328149f260da11d759f439911071e491470ee84fa27c11b5f5aa94c024094c3281a90dc044d6e4b3f5b67dfbf63d7fc30d37fc0f0fa6dcebfff3fdf7dfff4e95fbbc559f962430c95a1d4c541ba7f6d71c59cbdab34118ef59dd93a61a855b3b052635d602537dc1c45c5f4b73b63d52956899acda69699ecf598fc0d424fbdbb7ff31398f62f6e4732fc73fdbfe1f4d3b3f8ecd796c7eed6702d320dab66ddbe5b9ddf5db0faca3b32b995fe6a89366ca5ad4c64c9c1a8fea1a9f375eebbe34cfc64e3cd9036a7f74b0eab8c034d4c6390cf60471c49147c5dfdcf86253ceefef7efe9b8369b3b7fd85c034883ef9c94fee6477a38e181ff72eba2f9e7dff56cd482a935568e7dcb5253e6ec67cdf062e10989a04a6dbef7d308180b717de7c37597e5847473c66ecd8f8ed5fffbbc034c460dab06143fce28b2f164cd15d348e37674e7cc8611df1d405ab052599ac463b69fe4afbadee89da648ea6960353a973b96ee94dc93a0f7e6383c034846022653872d36bdf7df7ddc9140ac5f4e94f7f3abf3e5ed3c939409dfba537d4c8c864551ae1bdf43775abc0d46260bae7a16f24ebdcf2c5fb0a967ffbf957e20b2fba24696c4fe83e39bef29ac50948fc3a6c83bddcff8b78c1a71725eb32a5fc0dcb6f1dd077c5ebcfdd72577cdae96724ebb1bfefbdfa934c30b17cfe650b93f530fec7c3f3ebacf9da93c9719e79e98d649fd8baf59b860d98b2e6f1616026d50398b63bf4a2de7ffffd78e3c68df1f4e9d363dfcf34e5826be38fdffd8a1a1a99ac4223249efe96de14985a084c7fff2f7be3b3ce3e37590710d9f2bbefffcb641990f9cccadb13008c3b667c12f2f3890a7de75e90408b7e2af6b3f0faa5f1b4330e3e859c37e7e2fc7aefeed8137f6ce6d9c9722063801a7fecc401607a74c3e624bc3871f2f1c971393e0d3ecb48d6b0f52efbd3eb9273621f18e7d0ec7b5e0d98d8e6bb5b7e94dc97d1a33bf3d061ba6eaa036415f8045c84f66cdd430e3d2c9e3873413cf3964d6a7064b232edec3b5eb2dfd04e81a90960c23bf1d97877ae7d2469f07b4e9b96bc8f67e4c36b4000e800145bfed62f7e9b34fe00c58389ed6fbaf3cb99b0631b96713c5ee3e5f8f53e3e7b6e0198f0aa3806b0f37d5e2c671900b273024c6ccb5ff665361cc164dbf7ffc3bf26fd7e5cabf7a2162e5c18f7f7f76765ea25eff91238c7f49e1f9fb1ec09353c3299c034fcb2f2800fde0dd0f00d3aa139def7de89191e0cef11ba3330b11f0f300cd0b01e21395ee32de1dd84e0200ce7c1f4f0931b93d7786ce1b1cd8bb30c4203532ba59ad70a266fdcff799fba22b9bff699f5f6f626d5a8f7eedd5bb0af1d3b7624a56ea8c166eb8e9d7c8ab2f7643281697864e53dfd373f48c26ca346770ee857f20d3e30013cdeec49defa725896d5b01a983816aff18258375c0fa07930d9767865e1b159e6fbc2ec3c9bed25350a4c66afbffbcfc97d21b419b922a04b962c89df79e79d827d022c269d2399c2d63d7cfc942451e2fcaffc588d914c2630b56e1f138db985e1e8eff1efcd9d7f693e4456ccf0742a01938506b3ced183c93c323c8562c7a60fca83a945b3f2cab6c1c0e43f33ae9d870abf7d5f5f5fbc7efdfa78dfbe7d7940eddfbf3f59d6d3d3539028f191b94b94282193094cad9bfcc093389e0cd03080602430b00d552306db7fb960c2d3f27d53be4fc583a95418b19867d74a60a2afae5230711dd5a4d95b424ae42a57af5ab52afed5af7e55e0456dd9b2259e3d7b767ebd433b46c593cfb932eebbfdfb6a9c640293c0d47a5979f63ee0b07e22ebe7c91a5b84274348c9d2c6cb0513c917be6fcaa77cfb63919d56acb1661d921f6c9fad08a6a1363e333e2f4b36319b356b56bc79f3e6c473326dddba35bee28a2b0ad61b3fedc2f8cc1b9f1a518dcda957dd5bb4240d23fe7b2ebfaba5c29a0cf4e4dcaaf164b3b6a54ff18f563f2ff0084cc37b1c938586c8d2b39011d97a78528c7122238e0c39838d4f032f174c785ff469917e6ec90a2431907e1e42d0ce87651c97c697f3e07c382feb5312980a8d715e8b962c4fbc6003cf8409139289ebfcc05d12259839d5274a50736fdaf58f8c88c6e6c48b96e60721771e3db9c00e1b7578f2de98634f6c99c1c9a4f9734e3492b56ecb35716ddc038147601ad660c2fb011034fc060dc27cd607e50d68580a782560b201bb366ec9cc42771e4cc008cf2c3c3619843ebc2830152f8c0bc86d3c99d925975c5250fe88f1516bd7ae4d42803e51a2d53c8a6ac1949532cf75e125f27eab34deb58069d63d3f48b6b3cc4b6b68052681a9a5c14423057806ab200e6c582fac9707a8b80eca158595176c3b20162e673fec2f4c23e7359e12fb34c8641dd7bc2c8ecbba96761ef64f85952864fb0654d000e07ee0ee9429531220d92caa84fb4841f78912781b346ec3b1e451293059114fdeef3abe37f33db6c34a5d3b4020045ace8066c26aecaf58786d3030712cb62fe7580293c0342cc02493d98302e3d508a58603775f7ffdf504507852785464f9f94489e3cfbb7a58254a0c0626bc0bf30e6dd98c154f27e3be422f7dc2f4b9f1796b7e58b02d892354daf061502b08eae172d6ca6706ec93d733577d675030f19a0ccaf0586cef01e7b7a56f2d3c7f0db416980426d9b030c2ab943ff20377297fb46eddba78cf9e3d09a4a83241cd3e5ff288469ac676b883e9a3d77e35799f44085e933840df13a0a29f8dc68a6d8f3e7556b21ed0b16d3f3c6be1c114ffdc5f0081d704980c1e061740ce3e471f755c723c964f5ff268720cd2f63d848a8189f5983f8841d29ccf099ff8f383d99753cfcedc96ebb0da6f2c1fcceb93094c3259cb196158faf8fcd82b1222162d5a941fb84bea3903797da2045960a7dfb0aee5c144438e176176ca955f4c8082170848f09258ffb43f5b137f68ccb8041c6108cd1a790bf319a0fd7a7854843e3d5c0c1861f88dd72cc7131a0c4c9c6798a947f8917328b6ad42790293c0241b11469623fd7ebe3e1fe6c743912871fdf5d717bc1f36e4ad06a66286d73218588112de93f750005b92849391bd48b8d303c2bc9dac7db3dc87118b81094fac587f94c02430094cb2119dc1470d422be66b7d4f8c77b23150dbb76f8f972d5b36c06ba2f16e65305186c91219cc8af5951196032ec000a858f8d2aed5ef372b9c39f54f3e9f0784f5610d668381c98e2b30094c0293ac2d8c6c4b2a7cd838b22863b242fa99fc805c1a6a52ad2d04365cfb9842633dc2660089eb3be99337271e1521ba2c3065edb7fbe21b07808944051f4a0c4d601298861d9808af902e4d8a7633a63c978dcc2a117c276d5e2c33e675a24a04597918258ca81ce133f3e89b192e99799582896942b2fa83481cf0800056bcc63b0af741bf9307047d4e3e5ce7ed639ffd6641669ec02430b53c9828d9c3e0d2516edc8955fab6c2a9b2fa8cef29a716e04830be53d4d5f315211854cb341984e96c2cd3134f3c5130968984001ab8e156f4b55230594a7738a898746d0f08deb76a12fe9e90991766e5599f93f78ccc3b6339197f8d0413c7177804a6ba8089a9240012466d39eac8b10fcacc586506abac2dabdee8e80f0bd78ec48406be4f3611a3afa1c7f4ecd67f447a38836dc36932f00a866bf5874ac1640022c981c406d2bb8f3d635e92ee0d9cfd405cbc2620c472d2cdf194784d5ab80704fd6fdc47dec3db04501c877d62c5c622d50a263e338ec931383fd5cc13986a02134fefc087923d61a1537beae57d9e7a7d492059f5659a462298a8c241cd435ffaa9abab2ba98df7de7bef15d4cba312b94f68a001a6511eee130b92f48057536e5f18d73be5826bf3490ffc9dd47759d268e17900183f1e88e4071a7dc04118105819204829b7f5f0aad80f10e33d60c1fa61c8906373be7e5b5e03c7f05c6ddd52db52528a7a7936864a001298aa0693d57d2bb50df326e14d514d3a1cd5cfd331d955bc47a99eb06f814618a0f13f5e17b5d4fcd4126467b12dfba0c277584bcf1a713acdd9965241c500c9d33afb665fbef450d8f96e75f908abd93eb3ca1bd935d879739e59c7e61c39573b3eeb725f7c3926004fc3cdbda6128287936dc772ce3bab04532ba77b33e5861f343b7dfaf4243ce767bb054e2434f8a9d8e9f0578580c10d389122ef2b419801113fbe4826308d08309937546a36561ae7b0f61c8db9ef3b48ea9ce5e045a3ecc1628552c3b12af4670186b0b82a7d12614156fbcbb41716720ca740a7e1f7656ffc9c43feda28feca540d0b3ebd68c074ef8430fd3e7df157eb7bcb3a36cbc934b3996ef3fd29c78ccfd7dab307006fe6b1dabdf1fd7b14ad0def7929036cdca74a8ceb6bd400593f2713490e3ea181a77c857a2a2b986a658ac25473ee6756e80d985925093c2d5f70552630b534980c1cf40754d230910c41434e628485ffd897cdcd63fd51b67fd6a5e1a641c3ac7a385064ea753c2f1a68038b79250624d6b3469475ed38e661b10c80b09e1d1b6f054fcfa0e1c16415c3d91e68b16f208b190c2cc4e9a7cbc023b45976f1143c9830caedb01dfb005e7eaa0eb6e55a5986e7654560d91fc73180b1ed754b6f4ad60b0158ef196c0162bd4b0a594203fd49bdbdbd05b3d8521141b3d8566784f02cec09d8811450225c47880ee8d04fc57b84d8b23e6f3c2bc64bf139e8c140606a5930d1d04455cc640ac8689cc2f01780a07167d0a407138da6f75a68d4594e08c86f4f28cbf7c11898c2061a70717c1a49bf5dd67503067fae06a6b03fcd6060e13f9b4dd7a0e4bd473c21a0ecc18437177a9d785000b3541f13e0c3fcb61c038fa4926c4807a64773b606fbe33ffee3974930088dacb8a8cca9d5cb29c26a2274f7f0c30f172434d0df40df4b56184a56be011e4a1811fe3cf2c4339384099bae9ebe1dfaa30abcf571e392870666109e316346f2bf0fa36249bf5350d8552630351d4c34c21656ab044c849cf05ab2deb3f98c6c6a08f324b2808847532a39c0c094d5ff83c70320fcb4e259536c105a342fc5c064db959ac709b8e2c9f03a34a004ec0c26c5eea141b01498c87c6419c7e37e84fd6c5580a9dbbe0c39562c8e33c440d6c1c054ceb4157e7fc08e64075f8d9a8654e1a3c6366e84f1ec9e9372cf83c1b66ddbb23ef678dfbe7dc9c3849fac112f8a6c427d4e0253cb808986dcc25ae50c92b427e8525e96f5a500250353b8ae81299c42bd1898b28ee31b7dfe0714a5bc42ebfb2a7782c1b0ff2ccb2c1c57ec7e9403263e03bc336069fbc5fbc2831b6c2eab7a83a9dc89fe4c3480d4b1f34fe28c936120a71a9fc61aa1382be0ca03039f8f179f159f0f207aebadb70aea0f9a77cb0cc3f6d9111a149c04a696497ec0f3a1510f33eac24c36bc244b4ce018f48d64ad6b4905de63aa154c5989199c37f0c802403846cbdf9372c1c43a84af0cb059e63da66ac1e433dce8eb024880292bd4d92830953b35ba89c66edebc79057d17f481282c34748d9a418987069ffd48d15bbc573ebff0410a80f199faf529ff64a1d7ac347199c0d4143059273d0d62b1750c3664e259bf087d2759c0e03d0346bdc01486b7f0de38060dbfef1fca0a83d97bd65f532e98580f18679565c2abf0d9879582c91239ac9069387899fb6a197e8d0413f7d01249fc4058ca04d94058ff04be69d3a6a4bfc2273430dec68f659135de2c7cc7bc55de8bc56bf2e1d46246ff135e94892a1c36cd7d583142d618a36a47fa796c13988a84e8acc2338db30f1ff19e65b6d1501a886ebaf3cbc932fe96825cbdc044028387a01ddfae138f8ed780c0a758dbe060b2cf6cfb72c164e742250c7f6c3b779fc9582e98cc7bf35003f078481e807c069c33cb1b0926df5031e8350cf7f8068fa7edc84d7fce24769a0c6ee8cd26e4c323f2999064415692914908efd5575fcd6fcf43873d6c0cd7ca1bc3c918009d7e165f17984ad434b3ac2b1a729ea269542db403b8fcc0521a6a6b745997101ff0b0fe2a835bbdc044e3cd39003c3b6e986c40169ba540b31e5e1e1e8f1f4b5409987c220750e61a095f12f6e47cfce0dd72c144c8ccee31e7098cf042ed1ae96b22a466e39a2af91c2b01139de08086a9ccd7af5f9fbc2e251b873466e2c9c913b51aaee67b4b7c6e261e28c28cbb720cef8a4a1c262ba02bafa9f1de525ae3f040ce7a04a6413c270698d2f802291a47fa38f082b2067a02279efc0112ebf39775bd77413f130d7638701510b23c0c61116e63b9a572fb501e8d3670c253e1fab2c28836ce0690004c2a2d84951a00981fc46bc6b9f863fb81c4dc138e4d361efb0cb304b3aed18e15028bfd71afd8a7ed87d09e9d376007aa9516cead044c956aeedcb9072cbd58e3909a3fd0968c3aff30e1fbfb2a3592574c1b366cc8a791eb7e37c6186b4689a876f29646dc7c4c0626cb7e9335074cdffad6b76eceed6e8fd55d23d18179804acdf923abbf7de47f3b38b68e7e3e5f7bb05a285948cf428264f12563cf8e3c56f7bb8e46616206355b35f9d49ecf5987c02430094cd56b4e1a7278b9964650561fc343325193b0d6fd59aa39e3d3747f1b6e3ce0dd14b599042681a951603201a8e539bb3ffdbec9aab46baeb9e6b50d1b366c2bd79e7cf2c9ffb166cd9af8dbdffe76fe8321fdbbd6c6f281071e48f6f59ffff99f31fbbffffefbf7fbe37ee52b5ff9a93eaf9aecf19cdd93b30539eb8cda50230a4c64db712d950c3415981a0e26a94e2253bbd60f66d9b2653583896a1e65688a3e31496092b51298faf4d36a089876d6fac100955ac14438b00c75eb13930426593dc03421678fe7ecd91a6c4dce3af4d36a4d303116a956306dddba5560920426d9d080491af960a24287556da8c618cf56a6f4bd92042699c0243095272a8a570b262a46084c92c0241398a4ba82897a7956b5a112a3006c58315e6092042699c02430d5455415a7c454b950a2ccd460a5a80426496092094c02534d02347e8ea52ca39cd1bdf7de5b89a724304902934c6012986a13d5e31f7becb1ccb4703cab2aa5ef952430c9042681a9368560aa51fa5e4902934c606a03306d1d2660a2336a823e31496092094c231f4c9d78228db20c3055bb2f4149aa1d4cccba0a9c64ed634c8828304921fb0293a4e68149d6d636493f034960925a49b32295986f675b3344df33e03747d6f2168249f7a479363b67e3842849aabfaeced93679a53259d5d69f824a92a41ad5151d9c0a3af9718d193b36ee3bf702994c56a69d75f6b9f1e8d19d1e50f7ab5991a4daf49c0169cdd79e8cdfddb1479990325985c684a737ddf9e5f8b00f2a73ac51d32249d5e97283d20b6fbeab064626abd1beb9f14583d3819c4d57132349956b2b60bafbfebf54a32293d5c9ae5b7a93794dcfaa8991a4cac4c0ca78d4e84e85ef64b23adacbfdbf3030ed5133234995a98f1fcf69a79fa1c64426abb38dfa2019a24b4d8d2495af39fc70c82a52432293a98c9824094c3299c0244992c02493094c922430c9640293244902934c26304992c0d42063da8f62a5602ebce892f8ceb58fb44cbafb5bbff86dd1739d3bffd2f8c16f6c88fffe5ff656bdffefbdfa93b8e7b469498347d6d7e6d77e36a4d7c775ccbf6ce1a0d7cf381e3fa6a7d436664f3ef772b22d7f05264912985afa07bee2b6bf487ee0a4b5fb86fe84ee93e3238e3c2a798fc6ba15e0f4773fff4d723e9c5778ae963e3cef535754bd7fee015505165ebf34fedc2d77c56ffffadf87f4fa387f1adcc1aedf7fa7f8bfd436fe01241a4113a10a4c92d406607afa6f7e30e03d608427c2fbb77cf1be960153d63d0522e7cdb93879bf5aafa0d99f573560c28b7afddd7f169824496a0f30f951f61f9f3d37f33db6c368208b1d83869375ac5e2010a191cd0abb114ef3eb960b260b57f13ed79405d9ef6ef951b26ff61342cdf68dc7c5fffdfff0af038ecdb6cfbcf446a6f7c835da36ac9375fea5aeadde60a2e829e781719f4b81c93e9f62d726304992c0d45260a2b10daf83429a84cfa260be1cfa3a7cc346e3c832bfcec7669e9d84caf8df0382e387fb24b4e61bf1c1c0f4f0931b93f7a9e21e7a0b16963403b40653bb07de2efbd3ebf20d3febfaf7d8177d6f6143c93680cdd6e37c0c98ae21cd5f1b606f44288fda8cfe7a79ff86e5b70e0013d7661eb1bfb67b1efa86c024490253eb8289468af7172d599ef792e887a1df89276c1a4bfe5ae3ed1b358312fd357ffbf63f26eb01266b040d4c2419b0cfeea9a7268d38cbf90ba8c61d333e0f106b98d907ff7b0302e38f9d98ec032086b0e2fcf05858177051f11d380052f386588f7020ff739dbcc7fe38b7dbef7d30b906f6415208ebb2cc379434eafce57a811450c74b0baf0db073ae98f7ccd827cbcc0b0dcdaea51498d6addf94bf0ece95ebb8f29ac5f97b6e60e2dab87efae6ecda7808b06b23914460922481a9a960facccadb9346cb0c8f80068d4695469c868bf569d4693c69f4b29ee6cdd300361e683e6c066c3c98680c6920c39094ed83a77d7f8c62c67ec330190d18e66165d71136c0fefccdf36059e81d111a03cc80c8f66b0d2520f2eb02c4ac6b331002317ffc72ac1498800d9f4f78bdd6ff6660e2ba8b5d1b0f04e52454084c92243035144cc58c860e4f67b0a4047b9ab7869da7705e676d6b4ff0d6cf44c3cd71422f0803365608d7c044a3c4797b2384c67e80a81d1348b1fe824f2f1ab05fc06ae1c7626032ef216ce4319241229768c13971ae613f0f60cff2f030ce75da19330b8ecf3efc038237bba7c5c0646157ee6f78be0622039379b3e6f57ae31ef05e186a14982449601a5230f1e4ecc3463458610280195e018d978582a2743244dfb0e32985fd48e131ad211ccc43c00328a78f898694f3e189df7b25e57a1f2198804631cf214c2630cf2ccb8b2c657e9b5afb98ccc3cc4afeb07b61e7cb76839d5bb1f0aec02449025353fb988acd200a2cf044087701314274be61b7cef6aca76ec2570626425cbe6f27cbcc031a0c4cdecb21f4688d31c916c5f6ed07d186603aebec73f3502c06264b70280526cea9d8f17de8af56305906a50f0f9602139f63b1f3c2867a1c97c0244902535560c28bc8ea33b1461158f9863bab13dd1225cc9ba2afa6d8bc558f6ed89cefcf2a074c965cc1f985fd5e61fa3889021e9ce1ba5c8bedabd82caa06962c3059989273ca3a578eeffbea6a0513a1438e0708c36dad4fcdc064e13aeb3b0c3de26f3fff4a4ba78e0b4c922430e58d301961bb700c9285eeec7a6924e92f211bcd8f71c2e38a82ac3c6b2469a84328f93e935260e27cacf12531c12703d05887491176dd3eb32e04931d3f041bd7c3b54d9c7c7cfe3e6481c9f7e584837e0ddc7873f54c17a7af0d4fc87b829c230f141e4cf639d88384bf36bc441e1604264912988605982c4487d743180b18f0844e6306b0087ff986dd87fd2cfbcec62b9927426348236fe580683cf9cbba6c6b00b38699e50602331bb7c339f8f0181e09cb789fcc43ced73ca1b0d45216840c2c9c3bdbde74e7979373e51cf02ac2ecbfacc1ab5c03d706bceddaecbe7868d7034cac6360e15c49dfc7636359148c63b2fbc067c67a24745883dfea15220426491ac160b222aee5162ce5e91b3859ca378d34612d1225584e5f916fec01038d3dc7e0691e005a83183ea9e319b1bf281de869d974e51471051c4036ab0205de128009cf39ccb6633f61e925ae97c4102beeca3eb88ef07eb1ff62c5548193bf36f6c1eb3031a45e455c09cf718edc43a0ccfb40342ce2cab5d147683502812d901a0e855e0526491ac1606a642570c245591de8347e34989abe4126304992c0346466c91061688c0c3b9ece6ba902de48c3dbe31c6d90315e18213cfabfb252df65029324094cc3c8ac7f8630188022cc079468545aa991074616d21c9d8ecb8a4a8c3ba28fa895079f0a4c9224094c25faa34817a750a8f5039105d74ae3630092250698cd9831235eb26449bc7af5ea78eddab5c9ff575c71453c6edcb882f5f0faca99724226304992c0242bab0fcc06e31a8c366cd810efddbb372ea5f7de7b2f5eb56a55dcd9d9994fd21829731c094c922430c99a0825c657f1f94c9830217ef1c5170be0039c366fde9c784b784d0f3cf040fceaabafc6fbf7efcfafb367cf9e78e1c20fa6f4088ba1ca0426496a45cd8ed2291ad490b45678d1aa43f4f6f6c6bb77efcec386ff09db75747464572f1f372e81d5be7dfbf2db3cf6d863f9f7c301c2b2c6999b6f6a829a1a492a5f532cd4933553abacb9038abbbbbb0ba0b475ebd678d2a449654d3b317dfaf478e7ce9df96d1f7ef8e1fcf8a462856f65f5f578d3cf62bf9a1949aa5c3bf801319e470d4af38d01b59675d7dfdf9f07cbb66ddbe2aeaeaeb2e743c27a7a7a92709e69ce9c39f979ad74af1b6b844dd3cfe11535319254b96ee50744099e56aed4dc2e66b3f10211d381030712c854022533fa98bcc715a55525e42137cea86ae1c2780bd4c44852e5eaccd9b6281dcb131612950dad91decd67b171e3c63c509e78e289aaa064f6ce3befe4f765802bb7bc93ac32a39c954bed7f59cd8b2455af4939dbce8f89c1a5143f65be9c70065659e3edd8899307c064f6ecd9358189d471d3a5975e9a2cbbe4b285badf75346a3052c6caddf7fe9c75a96991a4dac48fe8f19c1da8a51194d5c776ecd8918084f4ef5af745669fe9faebafd7fd6dacedcdd99a9c75a84991a4fa695cceaecad93de90f4c56a54d9c38f1c1ef7ef7bb6f7efffbdfef2fd71e7ef8e1bd6bd6ac897ff7bbdf252021b3aed6c6921472d35ffff55fc7ec7fc3860ddbfc71cf3df7dc47f599d5645f48fb933ad5844892d4b2ca7160715ca3ea0da6127a4a9f98244992c034a8ea1dca2ba167f589499224094c65a99ec90f0293244992c054b37c49a1a8c67471814992244960aa59f51a602b30499224094c750153b52589a8b5e74b12094c9224490253ddc0544d11571b0b2530499224490d015339d35ee05585d35e084c92244952c3c0e42701fcc4273e5100a5db6ebbad60a24081499224491a3230213c270f265ff8556092244992b2c0347f1881698d3e314992a4f680d3949c7537c28e39e69817a2c28487cf57bb2f7d52922449523df46c5498fcb058b74492244912982449921aacbee86009ffa7d3864fd6bab62300d356dd93a6d9d773765dce26a80991a4fa697a7470d64d4df62693556ffba283739969a24049aa511745871cf2dffcb0461d313efef0ac8571cfe577c5a75e75af4c262bc34e9abf321e37f56c0fa8d7042749aa5edde9535e3c71e682f8dc2fbd115ff0e0cf65325915f6b1cf7e3379b84be1f4b89a1749aa4ecff3231a3fed42352c32591d6ce6aaefc487768c3238cd5013234995695cce0e1c72e861f1c7ef7e458d8a4c56273bfebcab0d4c8faa9991a4cab4801fcf5127cd54632293d5d1cebcf12903d3363533925499165bdf921a1399ac7e76f61d2f199876aa999124814926139824496092c964029324094c3299c0244902934c26139824a90dc174ce5d5b921f7668b3eef941cb3540e7adf961e6b9720df5d8ffecfbb7c6672c7b22a92ec0e0cd667e26d3ae7f247f1e5903b13957ae5d83b40526491a7160ea3c7a72d15a64878d3a3c39df56197745435dec5c3b3abbe229175c9bc0abdafd93ca6ffb1b73ec89437e7ddce7a34f9d35e0da18fb36a9efb2826bb3c6f8c48b960a4c0293248d3c30d1a8d3c08576c409a7273ff8aee37b9327f45601139533fc799ef0893f8fc74e3e25aee5fe9eb5f299647bc030f3964d890de5b5717fc74e3c393907068c9e7ec3bac47bfbe8b55f4daed7ce4d60129824a92dc084156b2c8f3cf1cce447dfccd0560826fe6636ec299caa0943028162fb1e0a03441c1faf2febfd637acf4fde9fb1e26981496092a4f6051346e573ce9b8ace1e023cc9d388723d5448e7759657452d331a4fd69bfa279f4fc251d3973c9a580896de45f725fbb275c3fe935260c2d896f7f17ec2bea953aefc62120e9b7cce95c9f6e77fe5c7f9f73917bc2eb6651ddef7e14b60c0fb9cd747e62e49ae29dc3fdbf4ddfefd0430ec83fb66c7b06be3d8bc57eada38cf62e024d4c8fe433071aedd17df989c1f7f398f2c70b3addd5f3e4f7f8d5c5378dd765c9687e7cb3de33317982449601a72309df4c99b931ffdc90b56e7fb412ce474f8f82949b88f506094516e896dacaf8af7f84bdf0ddbfb75937da6de0eefb14ffa55a81c6d1e42b91e13e7e2a1f347ab9f8f471f755cb23f4292981dc71ae163cf9897af52fda131e392fb61c70526b69c73b66b055461c33861fadc82fe39cec3dfaff0da7cb8d04289dc1f7fcd8335c684f73816e7c7e761c7f6fb009cd67fc6b5e10553f81433b8e011f33ed0f4c7e17c587eda9fad2958cef15aa518b1c024496d04267ef0961c4103cf329ef879ed3d1e1a3e9b1fc7bc159ec069806904ed699bbf161af460224cc5ba7815e1b1818a81a6581f135e0c50a2a1259bcdc38ac69a46d47b517801accb39970ae5d1489b1765e7c05f039035d6ae614c3c255e53bf8df73806d7669e4e726f7240024c5c9ff7325d31d2e43da0c83dc90a4dfa63729eb61f3e1796714f6d5dbe7389d79b7bc8f0997f809273e37cd81ea0f9edec18ace3bfb7569b2e8495c024490253ddc044230d28bcd1d0d32085de010d2fe1a2703f84a03cb00c60612a3761260f267bcdfac5f669c02a959587e18d780001a9b0410e21605e4b1698801a00f11e988198461cefcb378ca1c7c8be590e60c2e31bf43cb0acaf092fc84de5907c0e00c31e0efc31b9e670df7839f6b0c1c34008aad04bb3f3c373e4ba0c72dc7f3bb67f78e14180e5ad32a4406092a41108261a19f39ccc6894f14cbc071236ce346c4083be260b5759c3ce6bbc9dac6d596e8d38dbb3dd7133e60f98a914004669969a0713a0f1e398800a0d3d10a161356f85f3627d1ad270df064e7bea0fc144a36be1b952c908be61b4f30c438f7ce6e1f139a7a844f2023004f25c8385d3b83603a91d33ebfbc4bd35905888ce42b1a1e14d1a60b917accbbd3050e1e15a489663269f6deea1c57b9b029324094c43dac79435f8d3426ff6446f7d46be61679f2ccfda074ff906264bae286576cf064b7ea05f257213315a08ab9499371582a954c3eff74d1f52b10c395e977b6d167a2cdad7377f65b23eb0182c2bcf8369b07be63f7fbc2b3e57a0c96b1b4680a766fbe0f32f053a81499204a6210793f54be0cd0082b0ffc77b4c783059fb60b981c9b6f3fd4bd5a48b9b59ff8c0fd7f91058b9e9e200c783a01c8f29848441b798d7197e0e78a9a5d6e1bed93ae582c9fa9c4a794c7845f61a4f080fca206fde13c7c6abb56baa57b50d81499204a69ac0647d26598db585cdac61cff7e104a9d5bcf6fd31b64f1abdac09e0586e8d63b91e9385997ce82f0b727c1606adac3e264bbe083d19606c1986a52061e7438a76787c80c1b559d8917b1a054925de082dfa848d72c164802dd5c7e4bf9316b6a35fd1f737b10e70a2ff8b509ec6314992c0d41260b2300ea138df585b969b6fd8496a60198db735fefcb5fe129f28c0ff61561e0d2aeb5ad658a93e26004047bda54b5b0a3400012c84a47cfa34fbc35360b9650c6681c91a69c062d7cb5f0be3e13d0c0609bc0faec18ff9e13e72ae2cb7314796c5080c38ae251658fd3e4b73cf1ac7540a4c986511fa6b63ff766e3e61c4f6cb79f84a1376efcd5b16982449606a99501e4ff9162ee37f1a3700641e926f28698c6ddc8f810bcf80c6cd838986da8065fd55348cace7c7d50c9695c7fa61438d4702846c1c938d23f24912c5c00414ec7a2d6183bfa117540a1280c78069d7c6bde01c42cf8f901fe76ad7e333f3f8dfdf8b4ac00484acbc94bfbfec33cbfbb44416ef699ae795e5050b4c922430d5d5783aafa4239bc69aec2db2daac8280656bf17fd8d0d128e209e1d198d712b904051f1eb36c39abb010f60d591589d0d88e46bd58fa325e118d3afbcdaa7a608d1bfbca6a740198554c20c415569660ff6c6b21c7ac0c3bab3c51ecdafcbeb8bf76bce47c530fb1dc63723fc2cfd4579fb00a11e13e7dca3afb0edfe73c7c051081499204a66165d6b886d5be6ddc52985addea06c83877404028b058a32e13982449606a613045e9e04debc7a16127032cecd76845332fc7972b8a32a605a11f26cb0393094c922430b598f92481289837a95915bccb0512612cdfd7834d983021eee9e989e7cc99134f9f3e3d9e32654ac1fbf4d770bdad94462d304992243065185e1220c2fb2019a29689fc1a6df481591206366bd6ac78fdfaf5f1f6eddbe32ceddebd3bdebc79737cc51557c41d1d1d07c17bf8112d0d5e814992a4b607d37031a069d52c66cc98116fddbab50042dbb66d8b376cd810af5dbb367ef8e187e3175f7c31debb776ffefd9d3b77c60b172ecc436db8f5a1094c922430c95ac818d46a505ab56a557ce0c0813c70366dda14f7f6f6664fe79ef392962c5912efd8b1a3607df39e5a6dbc8fc0244952a8eba222150e64cd3312336c6cd2ead5abf380d9b76f5f810754cabababae2575f7d35bf2dde14700276e5ccad24139824a959ea8bd2c9f5d498b48e592925fa93cc53e2ef25975c521694bcf7f4faebafe7e174c71d771c84565ab95bd6f80cd09cbda66646922ad7aec895cc91353f73d0b2efde7befbd3c541e78e0818aa064366edcb878cf9e3dc93ef6efdf9fbc8edc9c4fb2c698956bcad9ad6a6224a972ddc40f887131e554bc9635d6ac0c117d4826c06240a9c67c3870c58a1525e75c92d56e6ed6dfdd39eb5413234995ab230d3724e3792893d3cae9d323dd6c865c12184c64de550ba5281def64dab87163ac7ec5c618a5a3286b95def70339bb48cd8b2455afae9cbd12b98199f43b85539bcb1a6f143ae5332005dcb468d1a29ac0e4c382fdfdfde9a0e22374bfeb6484ed824a1cfb72b640cd8a24d54757e56c6bad8da0ac765bb66c591e4c5476a8757f96a147eab8ee6fc36c4fce1ecfd924352592547f8dcb596fcee6c86ab3eddbb7ffef7bf6ecd956aefdee77bffb2d5e8d4f7c983d7b76cd8de6962d5b927d31be89fdffd33ffdd37ff8e3fef297bffcae3eafaa6d56cebad56c4892342c14d741e58e5d2a65efbcf3cea0c7d1a7254992243095a5c71e7bac262831d8d6578e109824499204a69a4461d6cececebaf457094c92244902535d64551b2a3580b66bd72e8149922449aa2f98a893d7d7d7573198c8c22b57fab424499204a68a437ae566e851278f799b2a913e2d49922481a96291c440ddbc52258a18f7544e169ec02449922430d54d14640d0bbb4e9d3ab5e8ccb60293244992d45030f9f242de53aa45fab4244992042681499224491a7230bd96b39d8db0d75f7f7db707d379e79db7bf86fdbda04f4b922449aa5573a2c2c4877edd1249922449609224499224814992244912982449929aa80969a3b758d6d2765f7470723ab3ff43f7a469767574705ea60e351f92545fcdc8d96b393b1069365299ac1adb9bb3fba383936d4a9254a3961a90468fee8c3f36f3ecf8b23fbd4e26939561f33e7545dc3df5540fa8edd1c159a02549aa5297db0f6ad192e5f1dbbffef778dbbfed93c96415daf75efd497cdae967189c76a4617149922a5457ce92819ab77cf13e352e32598df6b3edff114f3b63a6c1e929353192545d082f3eebec73d5a8c86475b2bf7dfb1fe3c33a3ae2343cdea56646922ad32b80e9bebf5aaf064526aba3f59d7b81794d57a99991a4cab48d1f0fb17135263259fdecbaa53719983eaf6646922ad34e7e3c7ff7f3dfa83191c9ea682b6efb0b03d39a76694c26a49d6acfca64a92d1698643281a999ba2ed2403659a1ed1498643281a9995a6c9954745acbdad76ebff74181492613985a074c8c38d617a0bd0da0084c3299c02430c904a616b6ef6ef951fce1291f196027749f9ca4f05e79cde278f36b3f6b99f3bd61f9ad99e78b5145807237dfdcf8a2beef0293c024139886ab3dfd373f48eec9f863272620f2069c788fc18fdf7efe9596385f7ec79c13000a6bb011ae4f076ac677dfff97face0b4c02934c601ace602af6fb78f8c98dc9fb3da74d6b293015fb0cf0eec68c1d1b1f71e451f1bb3bf6e87b2f30094c328169a48109b3429bfdfff0af05cb5feeff45fce886cdf183dfd89084048b81e0ad5ffc3609af6114bdfdfb7fd99bdc43eaa485ebbef0e6bb090c9f7ceee5cc02b98381099b3bffd2649dac102483a3395fae3beb7cd9af1d97ed3917bf1fcefd9997de48f6c1f5671d9ffdb20e0937e17db16b0fefa5d9ebeffe7362613d39ee07e7c2fd1198042699c0d4f6602244c63ad660d220bbaad0799b38f9f8a421f6dbde74e797e351a33bf3ebe0cd5876a42fedc4beed38666cc7ba958289694858871a6c1e48169a34c3ab5ab77e53c1b62ca70a41782e0b3ebd2839269ea35ffeb95bee2ad81ef81216f5ebf0daf77b719f3897f0bc0122d74c98d296512cd8df3f8ceb0be12530094c3281a96dc004846818694c6d1973e90018bc259efc69240d36bec0ed9aaf3d992cc3830112aceb1aa03c98f02868a8d9279e08afb9c70621f6530e98f02c6cff54acf6d003420082be32bc163c0feb93e21e7830b1ecc28b2e493c25d633d08d3b667cbcf0faa5c932006ca03348e025b12df7877d723efce535cb0dda768eacefcfdfee97418c7e32bb7f5c2ff70590729f00e4480a550a4c328149601a00a6709c1f4fea34c234e81e0e5c3b0d75e8c998a742e36faf69b8314090e5f51898ee79e81b030064612f1a75bf4fdb165086597996f8c0317d988d4cbe2c10e0a1d0c893e8e1c114f64f11468b32aaca1b38789fd7e7cdb9383987f0fbc16b967f7cf6dc82ef21f379859e29d7ca7563fc0f80c2fb67001b49c584052699c024300d005331a3911fac01c41ba2ff0338b08dbfd740215cdf1a7adbaff509116e633b6f0622eb5b09b3f2f06cecb89c2bfb0e1b721a770014ee1b034a40c3b6613f0026bc3e0bf1f9e59cbfbf0e3c4b834f682cf7c7e1b87860f6daeed76756de9e0f3d5abb159eb3bd472abfc02430c904a6110b261a63fe372bd541cf7b7853f43359ff077f69fc0d4cb65f1a9c629f8335e86eca83a266e1b662a13c6bd8d85708260030d8fe6d7f596d859d6f782d1e4c84f34ab533e179dbb68443ad2f8ed7e6e9b17cb073f69e9ec02430c9461098e2385e9cb303f1e0da71e49147fecf764c7e0833ec08310122120208671122a33fc500630377b39203bc37e0c1647d3dc5cc32e54af53199e70534fd724b3628b57f0bdd550b26206e491259f78de5bc6fc7e12f20b7f5393f42a1a15749b8afd839b7d2c06781496092d5174ccfc665aaa7a76757bb8389bea762fd1b96b1668908c5425b77ae7da4601f84a47cb8ce1bc90a74f85b6a7929300107cb88f35970808f73c94a16c03331afa51630f19a63d3279675df000f7d577e19d70d9c0ce2f4b585e1c3accf0548d3cf542c5d5d6012986402535b81893e101f8232031e16620ac3573e259b90171e8c6fd0ed1ce82ff26138bc33cba633a80c962e6ee741bf93c1cc9214c2fe2e8080a7e633f86a01934d764766a15f8fd759c90e06240b8986e3ba6c793831251e61083281496092b52998a64e9dbabbddc1442349630e2cf09e7872675b1ad070202e7ff1202ca38d501beb9967e5bd2e6b6cd907e13f00c8313896876025036c0d04c00ecf8d65fca5110422400f8fc537fcb580094fc652c3e75fb630599f501dafb9e6ac01c3767fb2428084ea3847ee19d7c2feecdab2fad204268149d68660eaeeee4eb65fbbee5b23e69ed0f8d1c8019972b7a1ff03d058b1571a55c2702c675fbeae1e5e00a13bb2e868acf11ec206dd37f46c6fe9df6c13a678739eac833755ecfcf0ca001066638c68c4390fbc237fde61382ceb5e702c9687e76bd76be9e276bd801510596159121bb2aa5c58ea37fb08af334c34e17cfdfe465ab92581a9058cf8313f12420b7c89f9c2673d4df1850f47a6cb9a07a669d3a615a451f319667d6eb20feaec8561281f5af3035b65aa95273035c978f2e229302bf513979d1f72f8f4c65392beb8430ba63d7bf6c4070e0c4cd4fbfdef7f1f3ff6d86379cfc94aec106619491dd1f5329eee09c779ef86ff2d11a0981721139804a621321f6f27be6d31727e9cc4d02d9bc8c7d305a6a107d3f6eddbe38e8e8e78d2a449f1dab56be3ddbb770f0014d0dab2654b3c6fdebc82870bc602692ea0c2ba71f4af0021ee0da1351bef3454f7c90aa0d267451bc039f0bba2af86d778bd2329ed5a601298aa2ad7cf0f21eb7d62f4d6a9ec47870b4c430ba6fefefe02d800a9850b1726cbb3f4ab5ffd2a5eb16245dcd9d9a9305f91ef355020e38e3e2642d743913c4208913ea4d14101d46246a6206596f499094c6d0326c2174027ab6e58988a8b37653f8e2c30d1e9498c9e27503a7279f2cbea87e2387434f33e03f7e8aca661083b59e9e7a20396c6827115accbbe6958fdb9e2c9710fb3a63e60b9797abccf6b8e4368927db14f2b7e395cc084774bd8d5eaaf61bdbdbdf1134f3c11efddbb7700a058b66edd3a85f99a6cfc76ec21d01e2c66cd9a15df7df7ddf1c68d1be3b7de7a2bf98c5f7cf1c578fdfaf5f192254b0a3e33bcbb9154834e6012984a760267d5da1acc423001252bc74f488246cf2a1f87a3dd7d5a29d74e236be5637c1885fdb34f1a51fa048097d51ef3fbb42f4ef8b41b969eb1c69f7d723cf601fc280b638309870398acdc0b0f155c9b8dbdc1bababa122f69dbb66d0af3b590f1ddb2cf89cfe88e3bee8877eedc595662cbabafbe1acf993327ff79f13b1849e9d80293c054f4a657fa241682c90637865598ad7ab2792d56cec40a4286a5607cf147831029a83e2e8f77e707fd550aa6703a011a78e0546c647cab82c97ba078a6361ec68ca7f1cd9b37c7fbf7ef2f3bcc87c7ab8efffa1a1ebad5ea03305940a2bfd0bc25fe6679be7855e3c68dcb178a159c86c6ac0dcbd91704a66106a662254ff0a400015e9235c07869594538c34697fdf3830e7f80368add40542998e853088f4dff8255911e6e600ac3973640d3803361c284245c94d5206685f9d8967df8c9ec64d587efcc53a23f30cca8e4c1a1afaf6f40bf1261bed9b367c7afbffe7a1c26c090fc52ac3abaacfe464421fd5cae169886c86cbe995ac064d58bf901722da10197b03f8a86182f8a018374045b566008a62cd88520aa144c5903360965454d9c47a65e60f20f047cb6f4f5f9c6eed24b2f4d4243e586f980b81fa429ab2eb108efd54389b47f1f9e2b658b162d8af7eddb97dff6bdf7de4b3e4b3fc19fac3146dbe6925426084c43648c84cfea07caca24022459c90fd6a8e235b13ccb888b5b288effed4747088d27122bad1f8229ab11ae154c59f0b1759b55e3cb81a9ee530ad0788559607848784a34905961be65cb961584f978405098afbac4222082a763023224ab94fb7963784f1e6cf7de7b6f3ea4a77bdd182352e3bca5e7a23652d3c1c4cd378fa65429112b8d6f7d451e4c5656bf9c1f89f545911c1182a4563085633e0cba2198b2a63bb09937c381c4436534f856cfad94d1d0f93eb74ac7ab91766c7d7718f0b9fefaebe377de7927ce1accfbf0c30fc753a64c5198af0ab36ae784f0bcf05a2b8192d9aa55ab0afaa4cc6b521a79631e141d94a843d92d300db1599f4dd6c469e64d8429e5611f13f5b768b4c21f898da6b778b8cd8b13f61b5935e36ac064de561872b2f54230f9b9657ca620d7586c02ba9138c094305d8127d6d7176fd8b06140b2044fea74caf3d4eed73ff1e49ee48185fb2b1b68279f72d02bdab46953d1b168951820dab163477e5f8407adfdd0fdae8fd116da606b07a5d9519ba925c0c4d3baf5f1d040032262ab74a4f3848d4745a3ed0b608660b2b47352b1ad382550b214721bcf64658f7c388d30a11ddff729950b26f38c3816c7b42c354b0008c1645e131e22ebda936d58fabf5d9e0cf162fd4caa647ead5ebdba20fc64220d3d0cf3c94a9bf746f14e6bd917492c26c639e9fe36cc0ee4ecd976f3945ab2569e8d2fca1a791e7a2359036c69e0ed49c31a3a80e63d31424056e288fd62ac634f2ac0c4428ae58209f3fd56513a9db6cd7f13820917dd4af65b1a2fdbb773ff09f79c41cf36f6ccec924b2e49bca5309bec0f7ff843924471db6db7c58b172f4eec339ff9ccff77cb2db7fcf6befbee7be36b5ffbdacb8db2952b577e271d5332643671e2c40773d7fbb39ffef4a7dbcab5ef7def7bffcfb3cf3e1bffd77ffd57febe3186a9960673faf4e9f97dbdfdf6db31fbcf9dd7ffb463fee8473f7aefe28b2f7e7ca8efcf08b25bd3ecbb09511bab25ab8be3cdd09853610120658d97a03f272b2308c0e13d115ea3a133ef294ca1651d8ee1d7011c786b0608f69f552bccd60bfbc4589f73e6fc6d9fac6700f373d7709eac47877eb352c45b79ba0992617cb204fd4c0f3cf040667dbe2669d250fe5073c7bbaed613a6cfaed62779c056869e8d24692481a91dead115eb4b930d7c8000dc16662da73edf10aa7b88c1b4b8d613661c593dc24c02932430094cb2b41f2faccf4758a9587d3e8129ce1c2b562b94f05c0526496012986441a896fb67fd8491abcfc7f82781a9b466cc98511398aeb8e20a8149129864b262e3df482e09c75e65158f15983e10e3c26a01934f3d1798248149267346520ce3a07c680f6f60089323862598087b52bbb01a28f5f4f464ce5e2c30490293ac6dadd2ca110253b6a849582994b8cf15dc638149129864237f2e21bea361ad3dc25259b5f604a6c1c544801dcedb8c064911672c59051298a4d60513951078bacd32fa062827a3eac4b262036ea91fe8ab9363c5aa930b4c958b94fbc1922128035545bf9dc024b52e982ce4124e4301906c847f38699eacbdadd2f99c04a6da53c89973e99c73ce299c55f8bcf36a192b263049ad0fa6c1a655cf2a6a2a6baf0c3baac6bb6acaf93984c802cb9a01b70dc13421674fa57364d5dd962e5dbacddf7b5ed7b0bf3e35add2b00553a97508e530a892b23d4c0d5d6c1a679b91167be1cd774b4eb8457a31ebf1549e5565807d85c7e13c586e658a78df5e5bf9a3700a0696533d9b7247c5a667a8f7f50dd73149948eb21956ad939d31494398f65d8d98356fdc086b0bd60461bc356a1ea5b604138d33211b0a99fae53c3dfb6ad3185357d080fba76ccefbb0a003973e091a3c7f8cacf528d8ead71b6cb23fab46eee754b2419e36270db0a2c65b782c4297beae5e25d717c6fcc3ebaba7013eae7730ab756a0ef641d15a7f9f98b8eeb1c71ecbace2f0fefbefc73ff9c94fe29b6fbe399975d56cdebc79bfffd4a73ef5dbcb2fbf7cdb505a4f4fcfcf73e7dc3fc26c67f05ddb3902af7138d86b397b2a3a58c8b553601a6230d1b8dae47ffef836f712e13d2b6e4a8204f5d28098810350446915058302b3bfb2adcd56eba796a6df8263b22e8556598f46de3c954ac14465708e4307bd4d95ceb415bcc7340e34de1c8b79a05866f341d5e3fab86f8d9aedb49c2c2daac05733b50975ef98372b0aeadebdf5d65b458b8e861305ca646d643c1c2c10981a04a63023cf9793a15fc14ff7c034137850e1533915a70d30bcbef29ac5c9ebd07b609c8b4d4f4e188d751888199e9b4dee6733c6560a263f6f93850269d8b99ef05840c8a6cfb0eb0b2734b4eb3380d9f585ebf9eb6bd0d4eafbede96dfaf4e9bbbd8762195c954cad8e17861769d37b6093264d8ad7ae5d1befdab52b134859732e4d3afe84f8dacfae8c9ff8ce4b65797532d97034ba00f88d07154d6e12981a989507200c4a346e61aa3880326f82863234c25f3c71b32efd37160223ac9695766ed395db2481e1f41abc47a3590d98c27b46788ee5a5a051cef5f1852cf7fa1a04a69daec3fdd930bdb81c3011b604f83649a31970cb9a5ba9d42cb57c67c2b9b864b276309b40343a3869e06c81a981a13c1a2d9b45d6bc9f8cc6b1a8f9c9018189efaba1139d709ac1c560532c1ddd3cb66ac0141662b5d05ba9d4f74aaf0f2095babe56031309268431bd47cc6cb4ab56adca9c8db658b88e9026df8d6289233259bb186d40fabb784f606a701f1370b2be06fa1dc2c6115814737543cf813e22b2db68c82cbb8bbf1ca31498f05efcb5d70b4c784e8335fef5babe560153b1ba755417d8b76f5f2690a8044ef69d0fd7111ee5fbd0ce33f9ca64615be91e4e7b05a606273fd0a742434612817f32e669d9c27559a139838ca55a87eb584205eb59788d986dd6fc3e96a8e0c114ce586bc0190c4c64d4b19cbeabf058f41b11bea3c1adf5fa6c0af77a0f4aae144cf47d715f0935fa54ef458b1615ada946b88e3a6df3e6cd53b84e262bd3ec379fb6d70253a3d3c50d06fe099c3e1f96d1c79205084259bc26330cb085637b2c6980e5f6b48187e19324f0423826db1b886864d98e8c3def5559858ac1c0c43e394e782cfee71cc800f4e757eef58563aefcf5350b4cc0b592ba75a480af5bb72e594fe13a99acea70de1a816988c631d9b4d9780b56419a6596f60d00f08278cd72cbd623d59a4c2f6be0588fc69c7dd18765c720cb856de9f7c073e143b630a2f76e0008fb635dee07fbc41bb0ec98c1c064212db6e7baf1c43040c57e2d4457eef5b13ede64d6f5f974f86680c9ec924b2e49ead6159b0a212b5cc73d05fe0ad7c964e5993dc00b4c75744107cbe02204c63a34bad66f4298c8004223cf5fa012a6900327204463c77a7825783e611505bc0bcec5d2d5395656e808ef89f7580748f085a0c1e6fc6c7d00c6ebac309b3f273b16c70dc383b55c1f8d7ab12a118d06139e0f3398de71c71d45ebd6150bd7d1afc643821a1a994c606a2a9864c36fdaf752602aa5dffffef703c275788a8426b34a40c964328149609235144ca79d76da80705d3838582693094c02936cc8c0649ed2da75dfd2fd745378640d092044dba87a87b5a425736e61d8390c41b38ef780e90b2d67f037d7cbb67a5811980426d9908169ead4a9bbb3c681b5b36515e1f5463f66ab4c94699f7fa93e611bd3e7db0beb4b1d6cffe50c4097094c0293acae60eae9e9d92530658389841c1a666f56859e7eb856f09eaa0513493b56df51601298042699c0344cc054ec9e58834386e6700553b92630094c02934c601a0660a2af294ae7ebf203b5197ccd406a1b4641c394e555d11f84e7c5dc62643f322c826a275983bfd9a70ddf60ddb02fa95a3091e4e207a55b5f14630439778ec930816260e23c381fae81a1119c67238643084c02934c60929501262b996515ee1974cc58359651718486da06783340dcc389eaed8402a92a42e36f83b6ad4494af5e6255ded92710b481ef1e28f5ea63623f9c834d0183f1bf9d830713c7b76be3bc3836af595703b00526814926300d3198586610b281c736cd413878dbe60eb382c756a584ed7d969b6bc0f2cba81ae22bab9807654577cd73b2cf1f48d83435a10199c1c0044cd9af071083e8adc0af2dc75b6419e7e12164d3bd94d36f2530094c32814960aa124c365124c6ff56253eca98bd39ab72894d2269213af334c2b018dbf93260bca6ac15c70ccf8db09f9f7ac6cfcc1c4eec194ef0590c4c36df982f0916d678b473b67b9335f81ae0e209ea3b2430e90b2030094c430026331aea6253a4e01151020b00d1ff62b51d0d4cb6dfaca94fac12b5071ae140b60dcd87eeea11cab3f7b3aaf9dba49d0626ae0988659d97852ff55d1298f405109804a621ee63ca029285cbaca413fd2dc0c98389448162c591ed981e1414022ee605d94499f50453561d4940ebc1c43656f0b898e9bb2430e90b2030094c4d0613fd2d56f5de87b82c7bcfc06453c3306370b17d788fa99cfe9a7a8089c1c2c52aef871e135e91c2750293c02413985a1c4cac6bf3766535ea36571719795130fb334675fa51e93c59d6c784b744965cd86fc53c5884182dec560f30115ac4cbcbead3b27b6160322f90c488705d32f4fc6c030293c02413983c9816e46c47ce760e62fd871f7ef8bf0a4cb58189e4021a76bf3e5e884dad6dbf532083c7c1ba64b10124bc2a9bd4d287f9ac51c3cbb2869e90a1a56f5b4660bdd2c599832c9cebcc52db3d9848be00a2a4b9db64915c976526662550084c02934c60aa543b05a6dac0846744036e997434dafc4f630d84ac3f08238c674902919ba23ecc68a3b1b7f3601f40847d721c0f8f7a8189e30115d6e33c802dc7b2492e7d26e1baf59b128f8ee5ecc300cc39a8d8abc02430c904a60618612a12012a192c4abf1020a231225467836a491ec03bcaaa1e41761f1e88f5dd641555f5fb257c17a669738e9c6bd6049a3e3983757cf80db86059d70ef830ce0daf886dc30a16bc06c89691c7f155f941605a6c83eac27456597b990b03094c2d6e8008ef082885a580f08ac8dad37d129886b316942acb2f6b4bdb2630b5be774b788cb01d7d50781d7844969197e5c10c668406f16c6cce288ea1709ac0d44ccdcad91c992cb5290253eb1be12feb9f31e3b52f3d54ca08979194c0805cabe89065840649372f3581a04c6092a45695c034c446961d7d397848fc2d27bd1a2051512284d1840913e2e9d3a7c773e6cc8967cf9e9dcc48dcd9d959b00e21c25699d85060922449601a016663970c3480e889279e88b76fdf9e39366dfffefd717f7f7fbc7af5eab8abab2bd98610221e9412140426491298643567089218c1678437f4faebafc79568efdebdf11d77dc1177a4e3914809179c0426496a75bd131519c92f6bae911a6e505ab87061bc6fdfbe02e8ecdcb9335eb76e5d7ce9a597c67d7d7df1ac59b3e22baeb8225ebf7e7dbc7bf7ee8275df79e79d78d2a449c9bee89fd2fd6dbc5909aa9cdda46646922ad373fc78182ba3c6a4750cafc6c277c0e6c0810379c80028c274e6056519fd4c6bd7ae2dd88ed0dfb871e38a166c95d5d7acba7cce2e523323499529197ac05c439a7db475cca6349f32654a128e33e109cd9831a3ec6104f3e6cd2bf0b45e7cf1c57c26a06ada3576cc5afa19ecc959879a1949aa5ceff1235201ced631f396366cd85090d440b82eaa708c1ba13e2fdb87bca6c618e3ca5cf6a4c2789254a57a73b6971f12e107d29805a8e619036ff92cc8a80346264273519503b0376edc98df0fb0b30711ddeffa19839d4978b07ec19cbd266f49926ad3f428cdd033e3a9afd48470b2c6d884f4691bcfc67b4bd63f548df5f4f4e4f7b56ddbb664d9873e344af7bb4ee6606446df6da79a1549aa5dfc906eb5d09eac7e46aa77a576e38d37e661b265cb969acf0120a15dbb76651e2f1c982babd8f6e5ece5e860251649921a24ca1c75cb6ab33ffce10f3f8c6bd4bdf7de5b73c3e9fbabb2f4fefbefffd735d75c73863eb3aa6c9c9a0b4992868dd249196bd292254b6a06137d5465a85b9f98244992c034a856ad5a553398188c2b304992244975011350a9154c8c611298244992a4ba8069c78e1d3541892a11614923814992244960aa494c6d512d98e8a32a530293244992c0549ede7befbd92f5f18a19037529f82a3049922449750593afda105510c2ab70aa0c814992244960aa4c9b376fce4f0058ca98ddf6adb7deaa74f70293244992c054b9a832be62c58a043e2190a848cee480be2ab9c02449922479306d8f1b24e65b0ac154a326e9139324491af9609a9eb3c58db20c3055bb2f4d6827499224d5877d81499224b58dbaa383959365ad65bb03d33d690d9b1d1d2c842c49529d45d5e48772b62bd2b406325935c63c676b72d6a5e644926a575ffa049efcc0461d313e3ef2c433e3a34e9a2993c906317e2b1f1a5330b9e3f6e8e06cd1922455a99e289d6efd88134e8fcf5af94c7cc1833f97c96415dac73efbcd78ece4530c4e3ce829f35192aa543f3fa4f1d32e8c67dfbf550d8c4c56839db7e687891795c2e905352f9254b966f103eae8ec8acffdd21b6a5864b23ad839776d890fed186570ea5133234995896487f8f8f3ae56832293d5d18e9b31dfc074ab9a1949aa4ccff3e339edcfd6a83191c9ea68272f586d607a5ccd8c2455d1bf74c6b227d498c86475b453afbad7c0f4ac9a1949129864328149920426994c26304992c02493094c922430c9643281499204a6861aa9f25965668ee93d3f9e7cce95f147affd6acb9d33d5394847ee3c7a72be84d4b8a967c7bd8bee1bb0eeb167ccd3700081499204a6e164364a7ff451c7250dbdb7c8a62e9f3eb765ce77daf58fc4871c7a587cd8a8c3e3a34f9d154f9cb920a9da61b5da78edd7e73ab846c14260922481699881e9ec3b5e1af0dec7ef7e25ee3abe37791f2034fb5ccfffca8f13ef080bcf9752381413e55ca72f79546012982449601a8960320f85f727f55d96597a867b3773d5771268143b06803bf3c6a7e259f7fc60d0f3f9a3d5cf27fbcc5a77e62d9b9273f9f0ac8545437ce1fb1e4cc08bf3e8bbfdfb25cf81f73907ae4f9011982449606a3130cd58f1f48010197d393ed487511bedc48b960ef0620803faf5e8f3b1657eddd36f58171f3e7e4ac1ba84e8809a071ccba9609d05428af0721d1e6a0626cecdd56f8bc74e3c3981a0df1e68b1dc9f03c702bc1e8c277ce2cf0bb6fbc8dc25c9f293e6af2c580ecc3926f7416092244960aa1398acd1edbef8c6e435f72a4aa708216446e38e57650d3a531fd8b684d6e80fa2c1663d031acb3c98d8866540807de2b1f45c7e57d28fc47e3d84ac061be13c00c1b6a5bc353b1e7d6834969cbf5d13e7e7bd2d8ec77a9c27e7cbfa1c87e5e665014fc29bfe18dc0bf6479f975fcebec2650293244902539960a231e63e60c0e1942bbf98784934ea241698e7020c68a8c33017db7880010cffda87ea423001248e115678b7c68d73f15e185976defbe17fae63ea9f7c7e00a4ccb30bbd23b20e596ec704209c57b89e85072d018463f3daee07dbf31a60711e767cbcacf0dc0526499204a60ac054ccf00e2c9455aa0f090f87f52d9c473f0fafb3fa69ec98d64f6521beacb97d2ca497f51e30059e3eac38e6d8130bc27f9661186e3fe5826bf39e222140a042ca79d6f5710f80b1f718adf02fe7c06bbb7efb2e01640f308149922481a9068fc9ac58e73ffd4e8c712284c55c566c6f5e9081c93c92aced8189bd670d7d29f321b76246ff0f70637d9f85572c2b8ff33430615146aa7978bef45d0131aed9d6a51f8970239e13f7c0ae9f732ee7bc0526499204a60afb98422334c5fa84de00c1499fbc3909db59e8ca1a66bc1c5e67f5ff583f910713ebd3986599a57fe3950084527d4a96de6eebd4034c063c9be198f3a7efc9f66f03780135c7026051463284c0244992c0d40030d938a2b03fc8fa980c4cd6f093e916ee83709b81c91af1ac41bc8080fddab959ff0e197cc5cecf3cb54ac0c47108d50196ac7dd27f8497e4b312ed3cfcf99054414890be2e960f96962e3049922430d5014c519a6a1d2eb714701bef44a34c688ba402f33430fa662c44e7b3da68d009c7f97d5abf8da5679b570618c3750d8e1cb3d2509ef7e27c56a1a5b147c1382efab7385fee03c7b37470f3fe383fe0ab714c029324094c43002640c3faf4310102bc079206488d0ec36184b2a23421816408bc19cbf2e36fbe7f28071c3c1696933440a38677c43a782b7e5c92cd8cca7bf4e1701e98557d000a3eb3ae5c30d19f66a9e1809073e02f00e2dac201bf5c7394a6cdfbca146ccf72bc27814960922481a90aa3ff84c6bbdc2a076499e11d59ba368d3910a1e1a6b10e21c0182780444a38db91380144c24c393c20d6b3fd123ac38bc9ca6ae3f3625d8380f57901a8707d8e9595f107e0c2eb0652ac6bfbe51cd86756150afadad89e3eb6b0ff8ce5a4990b4c029324094c2d6434f234ce59890a782059e1c06acd870a65029324094cb24cb3be193c93ace5c5eaddc9042649129804a6865502b73245f44b913c607d4cf43985597d328149922481a9e1067c4880a0ef0948f1973e99762c6a2a3049922430c964029324094c32994c6092a45af572d422b3b3ca6423c9ac7495c0244995eb297e3ce15814994c569b59f5f69cdda36646922ad3d5513a4ba91a1399ac7ee3cadc542473d4cc485265eaccd96e7e4014de54a32293d56e56ee2967db73d6a1664692aaf49a9229c03f79b3aa08c864358c5db369eb7376206717a97991a4eaf5f9f4c7948420888fe341159b1f4826937d6054f7a0928715f24da1b45ccd8a24d5aecbfffff6eedda681208a02e81441092ec3011d105004010510125002010145b8080784144040010484a478b442b256f67a3f6f6656e21ce935f0a4dd2b8fd6770ef3912edca66a8c199c77bf9420563e0fbf4edd9744cfa9fbd4d5ac67fa2f413b59c7e467e5e1305baf10e0bfe9071300082600104c00082600104c00082600104c00082600104c00082600887293e23adbd4e300b058be1feb2b20943ead1280282f01c1f4648d0044d90604d3c61a0188b4e45eac37eb0320dae38260bab73e00a26d668652bed2fbcafa0028613f239876d6064029773382e9d6da0028251fc9fd4c08a5efd4fd0f0a008ad94d08a657eb02a0b42915452a8800286e6c45910a2200aa195351a48208806ac65414a92002a0aaa18a2215440054375451a4820880eace5514a92002a0995315452a880068e65445910a22009ae95714a92002a0b9e38a2215440034775c51a4820880e6fe2a8a541001b01ab9a248051100ab918ff05410010000000000000000000000000000000000b0d42f54060b96fa63a5f40000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i jQuery Mobile Event Cycle}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 An alternative is the jQuery Mobile Router project, which you might use to replace the Backbone Router. With the help of the jQM Router project, you could achieve a powerful way to intercept and route one of the various jQM events. It is an extension to jQuery Mobile, which can be used independently.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Be aware that jQM-Router misses some features of Backbone.Router and is tightly coupled with the jQuery Mobile framework. For these reasons, we did not use it for the TodoMVC app. If you intend to use it, consider using a Backbone.js custom build to exclude the router code. This might save around 25% relative to the max compressed size of 17,1 KB.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "http://gregfranko.com/backbone/customBuild/"}}{\fldrslt{\ul
+Backbone\u8217's Custom Builder
+}}}
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Performance\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Performance is an important topic on mobile devices. jQuery Mobile provides various tools that create performance logs which can give you a good overview of the actual time spent in routing logic, component enhancement, and visual effects.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Depending on the device, the time spent on transitions can take up to 90% of the load time. To disable all transitions, you can either pass the transition {\f1 none} to {\f1 $.mobile.changePage()}, in the configuration code block:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 $(document).bind("mobileinit", function()\{\line
+\u8230?\line
+// Otherwise, depending on takes up to 90% of loadtime\line
+ $.mobile.defaultPageTransition = "none";\line
+ $.mobile.defaultDialogTransition = "none";\line
+ \});\line
+ \})\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 or consider adding device-specific settings, for example:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 $(document).bind("mobileinit", function()\{\line
+\line
+ var iosDevice =((navigator.userAgent.match(/iPhone/i))\line
+ || (navigator.userAgent.match(/iPod/i))) ? true : false;\line
+\line
+ $.extend( $.mobile , \{\line
+ slideText : (iosDevice) ? "slide" : "none",\line
+ slideUpText : (iosDevice) ? "slideup" : "none",\line
+ defaultPageTransition:(iosDevice) ? "slide" : "none",\line
+ defaultDialogTransition:(iosDevice) ? "slide" : "none"\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Also, consider doing your own pre-caching of enhanced jQuery Mobile pages.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The jQuery Mobile API is frequently enhanced with regards to this topic in each new release. We suggest you take a look at the latest updated API to determine an optimal caching strategy with dynamic scripting that best fits your needs.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For further information on performance, see the following:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/jquery/jquery-mobile/tree/master/tools"}}{\fldrslt{\ul
+jQuery Mobile Profiling Tools
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://backbonefu.com/2012/01/jquery-mobile-and-backbone-js-the-ugly/"}}{\fldrslt{\ul
+Device specific jQuery Mobile configuations
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://www.objectpartners.com/2012/11/02/use-jquery-mobile%E2%80%99s-tools-suite-to-help-you-debug-and-improve-your-jquery-mobile-application/"}}{\fldrslt{\ul
+jQuery Mobile Debugging tools
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://jquerymobile.com/demos/1.2.0/docs/pages/page-cache.html"}}{\fldrslt{\ul
+jQuery Mobile precaching functionalities
+}}}
+\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Clever Multi-Platform Support Management\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Nowadays, a company typically has an existing webpage and management decides to provide an additional mobile app to customers. The code of the web page and the mobile app become independent of each other and the time required for content or feature changes becomes much higher than for the webpage alone.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As the trend is towards an increasing number of mobile platforms and dimensions, the effort required to support them is only increasing as well. Ultimately, creating per-device experiences is not always viable. However, it is essential that content is available to all users, regardless of their browser and platform. This principle must be kept in mind during the design phase.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i {\field{\*\fldinst{HYPERLINK "http://www.lukew.com/ff/entry.asp?933"}}{\fldrslt{\ul
+Responsive Design
+}}}
+} and {\i {\field{\*\fldinst{HYPERLINK "http://www.abookapart.com/products/mobile-first"}}{\fldrslt{\ul
+Mobile First
+}}}
+} approaches address these challenges.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The mobile app architecture presented in this chapter takes care of a lot of the actual heavy lifting required, as it supports responsive layouts out of the box and even supports browsers which cannot handle media queries. It might not be obvious that jQM is a UI framework not dissimilar to jQuery UI. jQuery Mobile is using the widget factory and is capable of being used for more than just mobile environments.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To support multi-platform browsers using jQuery Mobile and Backbone, you can, in order of increasing time and effort:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 1.\tx360\tab Ideally, have one code project, where only CSS differs for different devices.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 2.\tx360\tab Same code project, and at runtime different HTML templates and super-classes are exchanged per device type.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 3.\tx360\tab Same code project, and the Responsive Design API and most widgets of jQuery Mobile will be reused. For the desktop browser, some components will be added by another widget framework (e.g. {\i jQueryUI} or {\i Twitter Boostrap}), e.g.\u160?controlled by the HTML templating.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 4.\tx360\tab Same code project, and at runtime, jQuery Mobile will be completely replaced by another widget framework (e.g. {\i jQueryUI} or {\i Twitter Boostrap}). Super-classes and configurations, as well as concrete Backbone.View code snippets need to be replaced.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 5.\tx360\tab Different code projects, but common modules are reused.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 6.\tx360\tab For the desktop app, there is a completely separate code project. Reasons might be the usage of complete different programming languagages and/or frameworks, lack of Responsive Design knowledge or legacy of pollution.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The ideal solution, to build a nice-looking desktop application with only one mobile framework, sounds crazy, but is feasible.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you have a look at the jQuery Mobile API page in a desktop browser, it does not look anything like a mobile application.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000003b8000002040802000000bc2415b6000000097048597300000b1300000b1301009a9c18000020004944415478daecdd69781bd97927faf75401857d070992004970df254aa25abbd42d75b77a77af8eb7649cd8c98d939b711c3b76627bc61327be736726713cb6afe3b1338e6fdc5e7b97ed56ab5ba2285212458a92b88a3b097001b183d8b7aa3af3a148882da957f726e9fd3dfda809a050000e8ac57f9d7aeb1cf2672f6f06841042082184d0ab114a29b6024208218410425761b009104208218410c2a08c104208218410066584104208218430282384104208218441192184104208210cca08218410420861504608218410420883324208218410421894114208218410c2a08c10420821841006658410420821843028238410420821740b906113dc34444adf99832742de91f5d0f5f74329258400007987d68c1042e83d4029cd6432c964329bcde6f3796c90371bad6432b95caed56a552a15c3608fe48d8dd077285da1f7735f06f08deeb14e97ff77ff3609cb7e6d6fe3fecae2df31d40602819e9e9ee1e161bfdf974ea7351aadc361dfb163c7ce9dbb542a157e650821f40197cd6643a1502e9753a9540a850203df5b3ac0c8e572e9749a1062369b351a0db6090665f43efe42c25c247efb8f8f275299df7d6dac5cfebdfb3b9e68a97cdb4139168bfdf0873f3872e448269329f425c37abf725959d917bff8a51d3b767c90f7b982206ce83b2172b98c6559dcd21042b78e542a150c06351a8d46a3c188fcb6e37226938946a37abdde68346283dca0b0f4e2c63fd62130e65fcde48577a4f44246c5ad6596b7fd74af77e5f39ffffcf4f434ac975e14b232a59452babcbcfca52f7df16b5ffb2f070f1e24ef5c8dc73b58d4914aa5bef085cf8f8e8e4a37954ae53ffff3b75a5a5a704b4308dd22f2f97c241231180c7802f077fbeb4c542a954c268b442272b91cfb953128a3f7ed9875c0137ec3ea315114df70550c2195269d4da304420aa19bbcf6eb6edc1d0040381cfec217be303d3d2d3d4408110481e33842482e97631846caca994ce69ffee91f9b9b9b4b4b4b5f6b55aff32a1b1f120421954af13caf5028d46af5b58bbde109936bd7f9e4934f5ebc785114454a29cbb29ff9cc9f353535e1668610ba75fea6c46231954a5548c994d24422914aa51886d1e9744aa5125be9cd93cbe50683416a52ec9bc7a08cde1f17562284c0eb64429bd1b8bfbd95651802afd7f34a01122cf7d171ca101e0028037f6283078b65d7ee467ff18b5f3cf5d42f45910290bd7bf77eee739f6318e63bdff9b69492092194d24d9b367dec631f6b68686459767a7aea073ff8c1c4c484f4f45028f4e28bbffda33ffa14008442a12f7ce10bababab84405959d97ffb6fff5dabd54a8bcdcfcfffa7fff4d5542a4529dc76db6d7ffdd77f2d97cb0120954a1d3d7af4c48913b3b333d1685414458ee38a8b8bf7ecd9f3894f7cc2662b91de673a9dfeca57bee2f3f9aeed6e6618c6e974fec11ffc416d6dddc6fb8786067ffef39f150e2a0e1dbaf3d1471fc55d1b42e8d621d59e154a0572b9dcfcfc7c32992c742e58ad5687c3811767bf791cc7c964b24c2653e8d0411894d17b279acd4ffa23547ccd982c8a625b8dd3acd31242e075776d84823b45e6a269a91f99c8e4ab6696d2eb3ce9ecd9331ecf8a94896d361bcbb28383973a3b3b0b11f381071ef8dbbffd32c771529f6e4949494b4beb273ff949af7745ea57be78f1e2c73ffe098542313b3beb72cda7d36900a8aaaa96a2b0b43b1e1f1f9f9f9f170401008c46a3f4d0e8e8e8d7bffe772e974b8ae3d2fab3d9ecd2d2d22f7ff9cbaeaeaeef7def5fcacbcb29a50b0b0b2323c3b158ecba1f767272726262e2073ff881d16892ee89c562dffce63793c9a4b4ceeaeaeabffaabbf522814b88d21846e1db95c8ee338a98380e7f9b9b9b9542a65341a753a5d2c168b46a381408010e27038a4e5f95cd23dbfc813b9bddca955bdd9cb39f2e9e49c3fda5059762b34292144a954e672390cca3722ec2abbb15180717f3429bc5e850161489141cf300c218400bcce7f0034c4834841a440014014db0db26bfba0e3f1f8dcdc5ca1bea2a9a94914c5a79f7e5a0abb8490f2f28acf7ef62fa55c4b88f4b260329976edda59e884080482b95c4e0aace9745a2a75a8adade1386eeda3513a3e7e99e7794a29c3308d8d0da228cecece7ef18b7fed72b90a115914c5c24b504afd7effcf7ef653e94e976b3e9148d075d7b6cce2e2e2fcbcab504bfda31ffd686a6a4a4aff6ab5facb5ffeb2d96cc66d0c21744be1795e265beb448b46a3a954aaa8a8a8baba9a65d9caca4aa9a7391c0e6732d2e5e3fce2c2b2bda6a5b1be46ce0ad87aaf8565599ee7b11d6e44d8a37c831fa7020c7923996cfe9afbafe442ad52a955ab00a85477f13a913a4f21b15ec94c285838a65c71754e968ad53a3ab667b31900c271f2fafafa6030d8dfdf5f08a38f3cf2b0c160b8f6c49c5e6f28c46b4a456901a91e03001886696868dc78f1dfe5cbe352b731cbcaeaeaea0541f8e637ff29180c4a2bd1ebf5870e1d72381ccbcbcb2fbdf492746690523a3131914aa5341acde5cb9705419016369bcd854379a98f9c526018b2b2e2696f6f078073e7ce3dfffc7352ef3521e4cffffcff6e6bdb84e7161142b71a51140b67f612890400180c86e5e5659fcfe77038cc66f3eaeaaa2008d96c56a95402301a96865231bb5ea3e0b8446065291005c81bcb6b8d4274ce1b97f1b9e29a86e4f29427478bf4455605bfe08b706a8dd5529c5a5d18cf258564dad1d06c54dde46944ba4a07b72e0ccae83ddfa3517a7e250270d5857ab4c21452ca7929e55559ab369914d23422028599783e7fbddf564a2126409e4af11b2840a34eae62af3ee7205d99b767cf6ee9664949a94ea7ebeb3b27e5544208c771fbf7efbfeebb954ed849fdbbc5c5c532992c9fcf4f4f4f49bb0f9665ebeaea0ad9341c0e2f2f2f49b9d9e1b01b0c868181f32323238561e6befded6f3b1ce5d2c22d2daddff8c63f4831379bcd4a1520e3e3e3d2da5896fdce77be5b5f5f2f2d3c3434e8f3f9a45d96cd661345311a8dfecffff9ad542a257d847beeb9e7431ffa10962623841000a45229abd54a08311a8dc160f0aa04585c5d1ff22e8e2f2c165794f83d8ba2520f79e20fac5a2b0c4a6635c9e4d3f13421b2eaaa068b32333bb3d0d8d6ca509a4f2755dacaa69ad274da1b8a268c2a1c3d0d615046ef4a50864b9ee0ab0f536963b1f7c3ed170080101044e1f68a9a6da59a4237edbfbb9213f1eb9c002200419e14465aa30cd3aa1238e63a57f2fdeffffdafc78f1f97d2ed134f3cd1d6d63a3434541876a3a2a2c262b15cdb17cbf3fce5cba3853a87fafa068542b1b0b010894428a58430a5a5a546a3b1f03e5daef96c365b281756abd5274e9cc866b3d2da0e1d3a248a74616141ba99c96458969582b24c26278484c3e1a5a52551141986292929292e2e2ebcff53a74efdfce73f976e3a9dceef7ffffbdffffebfcccfcf4b11bcb6b6f6b39ffd4b2c4d4608dd9a36f61168b5da5028e4f57a29a546a331954a9596962612894c267365274989c5566132a65d9e00a731d73434b000944f4d4cba9c8d2d6262319a028110c250000042454aa51720324a01a828e6dfc4a04c3759c3220ccae8bd4001e623717f2ab7f1848e2030d596a0203284005010455aaca921eb751702105ff6fa65640420c41342a8d4a3ccb2b2cd7a19d0abc787e3797e6c6c4c2a696059b6b9b9855298999991ba8a01a0bcbcbc5067bc315ecfcc4c078321298c320cb363c70e4288dbed5a2f74a34ea7b330ea102144aaa0907e6e6868cce7f3172f5e2ce4ec9ffce4274f3ef9e4ab8e19d677b5c5c5451cc7cdcccc48b322514a9dceaac2384784908e8eedbffad5af72b99c74c1dfd34f3f7decd831a9ac59a3d17cf9cb5f31994cb87521846ed1582093f13c2f555f180c06b55a9d4aa556565656565600c062b1c86432b3d9bcbebb16fc9e85702c4bb359634dbd3eb33a766990e514c5a5a54ac84d4f8c66f3bcbd54b7fe67465162d44f0e8fc8541a5b916de38b464301466d125391c2bfba9bab184314c542e537c2a08cde230460ccbf9a79f5f5010c2396e9570be95629d314a9cb0bd514a1ac10cf5fbf4c4a001a154861cd1c159ab4575728534a171717a3d1a8947709611a1a1a44512cd40d03804ea763d9eb6c57972e5d2a0c3064b3d9a4c1892f5f1e972ee90380eaeaea8d57f24d4c4c483157ba5ed0ed76afae460b63cfc13563244b5dd184909a9a5a8ee3a6a7a7a58b0b01a0aeae6e630f71535393c964f2f97c0090cbe5befffdff25556e1342fee22ffea2a5a5054b931142b72c8ee30abb65994c565d5dbd7178b870386cb55aed76fbfae26c89a3b6940000150411b4aa369b830088a268316e6698f5b1898a0d208a1440632d69b3d90980280a66b35614a94a63afd6022504a8081a5be1df9baca0579a5500b72e0ccae8bd36e089f0f95705650d9733a953eb3dc1c4a42a95318af5720aba9216f8eb162803a444488b5722788d9ebb76c40b42c8f4f45461748bd2d292a2a2229ee70b7b554a692a95920a1eae7a89fefefec2327bf6ec91064b9e9f9f93822fc330f5f50d852bf9789e9f98982c0c40e1743a4746863399b4f474994ca6d7eb5fab2f64fbf6eda2288e8f8f4b3b6896659b9b9b37cede67341a9b9a9afc7eff7ad45e6b91071e78e081071ec4948c10ba95b12ccb304c6137ce715c7d7dfdeb4c38228aaf3a4b290a859b74c38ff4da050a7b6091ae2f40c52bffde4428a53ccfe3cc7c1894d1fbe0a2f7aaa94668b12ec6b1fc5aa52f0865da3a19c31562a22bf91ac3d35058e589b03e62b248a051292a1972ed6fbb349484f4736d6dad42a16059766361c3e8e868341a35994c1b476d0b0683131313d26e512693dd75d75dd270752b2b5ee94e4110ac566be155969797a2d155294057555569b5dae5e5e54219f4be7dfbbef18dffa7705df6758fdd2727d772b65c2eafa9a9d9187f0921bb76ed3e75ea54a1c71a00eaebebffe22ffe231ef123846e71d2c4cba9546ae38e5da7d3e9743a6c9cb7279fcf2b954aac51be41e1d776030ba5b213beb0b861aa1191924a6364c381be58a6ab211b266a5e48f1afb51d04785218548e61e5eddaebff4e8f8d8d157e6e686890c6a5afaaaa966231a5d4ebf5fee7fffc9f464686a3d1683299482613a954eafcf9fe4422bede735c5f5fdf4008e1793e9bcdacbd22c30c0f0f4ba32903c0dcdc7c2a95228488a2585d5dad542ab3d96ca1b8626666c6e3f1504ac56b48bdc82b2b2bc160405a95c3e130180c57c5fdd6d6d68d7dd23a9dee6ffff6cb572d861042b726b95cae50280ad56be877219d712d1c75a01b0ef628dfc0c6fc919400cc86be524aa1dc140658abe29531f2124db554cf0b00719e8672af399263783d42130042c5563d7bed5423d16874717151ba6c8e6198e6e6166975070e1ce8eeeee2f9b59ee6f3e7cf0f0c0c487dc6d2130541909e258ae2cccccc638f3d7ad75d777dee737fa5d7eba5782d8ae277bffb9d679f7d46caaf5eaf2f9fcf4b85138d8d4d8490a2a2a242fff4e2e2e2c73ffeb1eaeaeaabce6411423ef2918fecdbb7dfed76af5f230815159557eda10821168ba5306b20003cfef8e3cdcdcd587481104212a907349d4e731cc7b22c36c8db4029cd66b372b91c53320665f4fea8346a1f6da94ce7aecc3622d0ac49b39a16d6c650d3c8d5a9cca55c9e0300a0309d36cf67aaaff7cb0cab02ac0ab056d74ca058c95e77aa1169c8362950721c5728693878f0e0af7f7de4c2850b858beda4ec5b889e1be3792e975b5d5dadaeae01806ddb3a464646606d0a12eaf178a40bab37cea5275df6d7debec5683446221169c96c363b393979d5076159f6d39ffe634ae9c4c4b8149409210d0df5d71669cccfcf15067e6618e6b6db6ec3cd09218436e2384e2e9767b359698c20f1d618c4ed1d21f513310ca3d56ab1e20283327a3f83f2f7ee6907911622ad3b3ef9ddb158249d92a6a02ea1fe91a5bf911e25941e4d7ff24caaf6baab2200841456431a7532e5f5a61a999a9a4ea7d3eba5c3573a74150ac5dffffd3ffcfddf7ffdcc993370bdd122afeaac95c964ededed84900f7ff8c367ce9c999c9c28143417969758add6d2d25242486565e59ffee967bef9cd7fca6432d2faaf1df542ad563b1c0e42c8e4e4a4340d12cbb21b67fb2ba4f6e1e191743a2dedcb8a8a8aa4d211dca21042e8aafdea5597ee21844119dd58c7adecc63a73777c369bcbae4f554d59020270840200b0c0fb990e938a0378fd444865843c6201c535c7c094d2cb97c70a3fd7d5d56ddc815a2c967ffee76f0d0c0c7475758d8f5f8ec562af335d677575b5cd66934a20bef7bdeffdfad7477a7b7b63b1d8b54bb6b5b549534f13421e79e491b6b636a9eb3a10085cdbbdd1dadaaad56a05412084a9abab2704388edb38db5f413c1e6b6868903ec8d6addba4213810420821845e75b888938fdf3428d09f4cfe8ffee54eba214152a9bb990027537e6dd7bf191466026fd4754a2990eb8c77b1babafafbbfff096954358661bef4a5bf79e49147c8f5967cf77a67dfd59523841042086d843dca370f918aeed549b8ba2041fa97388c4e15ab79e3945c78ce06c9643293c97ceb5bdf0a04028531d7b66eddfa1acf7e1783ec9b5e39bdb6e39cae4f4f88104208218441f9964283e995783e7cfd530494da553572f62d0f124c295d5a5afaf4a73f158d460b63b701c0a64d9b4a4a4a3e809dbb94d2df2efe58c3186f773c2cc5e24bfe9e175cfffa878d7f7bd2fbcc6dd6bb9bcc1d189711420821f466e0c598370db2149fcd09b9eb3ec6cad92a7dd3dbc8b58490898989783c2e08c2fab4d5846198dffbbddfdb3829f47b1c86452a52a022150b93ea5110a59b02e58703bd4a564da934d713352b8b6fb73fcc0bfc7464442f37010511044af1f26d84104208bd01ec51be4950a0eef8b820080cb9dec18f482af50dd7ab4778a3d5523a32325c98cb54ea51fef8c73fb17bf7def7be3b793e7af9a7b3ff28e40542885aae0fa5570e393ebcbbec9edfb87e3c1838cd0073c0fe488b797b3c1b7966f65f7e3dffa3dbcb1fd171c6175d3fd964d9ad66744a562563b87f1bffc67ce232c3b00f56fc5147f11db8e5208410420883f2cdafcad4b49272c3756a2f68a3659b55697f7bd156a95475747448ddc9365bc9a1438776eedcf9be0c0cb9189fa33c6c331feaf43cd5a0eba03cccc72ea785f85478e8c3559f1d09f79e0fbca29519640cf761e767c7a3e7fb7daf7cbae96b32909bb8627762caa6aae8f51e0da6bc9f69faaf17029d17bc5dedd6bd32468e5b0e420821843028dfcc08902d9603edc603d77f987d9bd7b11142feeccffeec83f00129d0a5d45485aeb1d1bae56cf037fb2b1e7c6efe7f1939eb58e4fc9ed2fb36d97606b24baba237985d2ed196b7d83a82f995e5ec6c9a4f66c55485be7ed4dd5ba56d190bf5c7f3ab3f9afa7a5ec8351b763004a79b42082184d06bc21ae59b2b2eb3aff1df8d7ff91aa5d4939a2fd7d6f8538b5ace2027727f6aa95c5f9fce25ddb1a90bbeae332bbfadd76e5b4ecef179e1d4e2916ecff30ddaadf1dcaa9ce554ac369cf155e8eb32426ab369cfc72abff031e75f3f58f5c9eb97a92084104208615046374c4a061acb85f342be5c571bccad38b475897c5c2153966bebeeac78623e76f937ee7fdb6adbbfabf4702cb3ea4b2e762e3dd368de76b8eaa3e1acd7aead49e5636a4ee7d0d41caefae85462f0c773ff7064e50759318d0d8b104208a1d781138ea01b272e0b4098f52192095071eda6b409aff50ed3b50528bdf22861362c2caedfc4b20b841042086150460821841042e8adc2d20b84104208218430282384104208218441192184104208210cca08218410420861504608218410420883324208218410421894114208218410c2a08c104208218410066584104208218430282384104208218441192184104208a19b8e2c1a8d622b2084104208217475502684f03c4f29a5946273208410420821440891cbe52493c96044460821841042e8aaac2c93fe876d811042082184d04678311f4208218410421894114208218410c2a08c104208218410066584104208218430282384104208218441192184104208210cca08218410420861504608218410420883324208218410421894114208218410c2a08c10420821841006658410420821846e05326c028410bab9514a0541104591528aad81d0bb8d10c2300ccbb284106c0d0cca0821843eb84451cce5720a8542a552310c9e4544e8bdf8a5cbe7f3994c462e97b32c8b0d8241192184d00711a53497cba9d56ab95c8ead81d07b83611885422193c9128984d4bb8c6d72037f9bd804082174b3e2795e2e97634a46e8bdc7b2ac42a1e0791e9b02833242ef86f4a0ebe9ce999f2e2452d81608bd0d94529ee765323c7388d0fb432e97f33c8fd706dcd070077a8367c960cf538b979d26230004633e936edbbecadd32e68375f54038baacd3d9e56ff1a06cce758c351ebcdb5a2c0abcf856763289f844e7d891da863f6e369936decfa797fb167ad272c231108d071cc50fb5db2a36b6542231d9337742a9b7643371bbe5c1b6221b6e60e8462708029ef645e8fd4208110481528a57f5615046efd32f2110bbf9f0fe4a270010860df85f7a7ea2f391a643ec07e857929f5ce96bd73efa564ffd86d3b4bc54fd564f5a2d2cfe7a226f6e74340bd71ed92b4a76377d8c11450a40d8fc8b17fe2d6efa949e2b5c6691ee9de9ddd5fa7f19652c21b9e3833f0d193e61e1f08435bab1615716420861504600005414ac45775778ff75399da9502be3b1d1b30be7955a752a9968757ea25ca3f02cbf30b24a18755a4152896c7d9d3cea26714ec8e4d9c603ce1d3202f1d8d8d9857ea5569d49258a2d0736db6a37f644c56363e797875915433262a5f3914aa56c78f2573e3951e4b23975e3ed8e9d3226dd33f273a2348bb22c64a349aef52ee7ee05ef0be3e1f32977dea26d6d2b6a49272e9f75f729b4ea7432d158f931a75635b3742c2032c96c48adaaec28dbc9310400e63c47a6a3177d8ba93acbe17a937164ea692f4b15ac108fa976353f689671b34b2ffb0592cc8554aacaedebcf02802ae7c34e519859faedb54199322c11d7faa6a940944449e14a86e0136e4153af95b1004029576bd12f44572d4545b85d218410421894d1cd1196a9cdc879a2c90a2e7372f6fc9d9b3fa96608c32f3c3d71aca4e5210219aa6ebeabaa0d808c4e7f7341fed85de5159490f3a33f0de4379732d9aef9c17bdafe50ce0021ec9991ef7b758e32b5723d4846bbe6070fb77d9c6300082194badc4f270d7bef2aa90042c6667e3c196f6e3170fef8ca81e64f58590e081918fb992fbfa5baec7e5728b5abf2f7542c001fed9aedbb7dd37fd0320cc32f3d3371acb4f96180983755f270e34736768257973d148e0a8ef27b4b14ca85c5e7d286fd77dbca28907c62f095d9bec3f5fb0062de74d1871a3f72d549654110de4c3bcdcefd822dba4dc75dd9feb3d920cb5a0ab7759c662611020cca082184d02d0c6bd76e361cc809217c7c4669daa362080088b24a6d7e392f080060d3564a819a53545518cd14002855c8d53cd04c748cd36f933152de16eaadc573e15061b589c805b9ae7dadce98520ab014a74d9652e9a643571c580d02804957a9010ed656ab1140dcf8def8c41c67d8a96118001065e57ade9b130400a8296a7b9d52117724596bb25200002ad7b52ad293295e04806aeba6b7bcf90af18b8bcf75bb7eb9cc6b0c7266e339695ecc88f44a99878cc879318f9b13ba898d78922f79b357dd194ba547836f54ef94cf7dbe73e9c940f6b51e5f5f89f0c35ecf775c196c6a84d08d0b7b946f36fe64d26057c4132b2b91fe1eb824dda9b46e9633040036161bc0ab6b177931cd1039b99214651b93222fa695ac86bcea6fe185f30bbc825d0bab76a3f13a2b7db544cebb1299e921c3d24db9a555c11000a5e2754baaf334cfc2fa02942520502a022815b2b75e88cdeab6963f02000ccb0e4ffddcad2cadd6e9a447b45c3100a1b0f64a1921a953987073423773505e4ef4cb95fb0c7032906304ea6164bf5faef8c5d8eab319ee2febd4565ec8cba847943d60963fe94eae00f944a5c6a924671612975242940700f1cc424cae57d790dc89183c56ae1c5c4a1e8d8bfbcdcae9c5d55fa6b9cfd5a9b796eb78ad2c97159e74253c403e5ea1b101dfe9cfc944ba40d8ffe0d428f06b4008615046ef1d7ed59d56dea352b3d4596aa8dceb7c0b7dae3a4d4526e4e1698d943f43a9a85eabdbf0a8331671f3d45948a7565d4765f983c5dcc6bf746fd075a45357961a4af73adbdf524fb055a509e5b206e9ba3a2194267ad9ef3cd19128081c2bcff0f90d11ba5ce6e9c98aad4a060060291430576a71834237bd542af35f8762db4b5447035193dc723921820c00c48185e837d3ec57ebb5dfbd10e966145524f7c781dcb7abd92f8da5f695aa4ee7c4db4138e38ea9cb390393fed522dd2acf7e7638b5af429bcbc3e584082c00881717e39962a6d7173d4114b524f7697ff6474d8aff3e1c6d2f51bd12481769e58f5839fc0a10421f64587a71f3f0067b9f1f7b7253cd231c4b58fda622fec2586059eae0f58667de708435aaa92f6767c7034b14201e1b1b4f69dbaca60d39b2b5844c8e05162900f0e9645edce46ceb9f7831290800904e2e86b3af751e56a5827c4cc80200ab6b291187467c0bd27bf18567843771457e43f996f1b997133c0fc05f9afe7545f941f55b1bd4233de8ee8ef37c2231311df6497705c2e72712506d3002a48716bae37c1e18b35399eef78e08009178ffac60ae521970a342b7820a2df7e516fd7d0a9295b33bb4b203459a7b4a9400e42f6b8d7f6091bf9c12ffb85ef7957ab536255cf2f18c5ef177edba3f325c39584de569126031ca1383e2ef5a0d773a143bb4b2fd56cdbd254a00809cf07252fce33add571a3486b410cc805dc37da545ff8092c4441c910321f441873dca3736b9a65295eced76f5018041d3fec896ff4845110080d2ad0d9f5ef01eed719d0600a7f5418680deb08961d72eceb39a5a8862ad2fa7a4b859c5ca81d22df59f5af41eed719d91c9abee6bf910f3aa3a0dbaa3e9338b2b2ff5b8ce0218da2b0e69e48df737e8cf2d3d9ba7a24ceedc51e600106a4bb714c64b2e296a52c83800baa3fe9efe95236eae6aabad6373fd1f2df98ef5b87a01a0d2721f4bc06268a20ae5b51fcd616bd1c96400a050d5dfd7a8eb5b7e2e47c54ac7e34ead9602588c4da25cf95acd6236348a7255e1689095c908804e57bfb2fcdb6e570a0074ead607db1e235404605856468000d0daea8fe84367cfb87ea950543fbae931f6d505d608dd227ebb12dd625c3f9da294ddad667e38153f4e7209b57c8b8d1587525f1b8c3f1715be0aac51ce3cb3983c93cb8adaae9d000020004944415426948a72838ccea6be361ad9a35703c0516f749b490b00c0b1776b981f4ec74f925c5425b32ab1811142371292c9e0951608217413a294261209a3d178ddc9f9463cc96546b6cf00477dfcbd76e5e9a564994d5309b99fb8733526ce9ae7a95eb5dd2013b2fc930bc94571438d728e34b3c45aac7292dc4fdcb916a32c21907b1dcabe85446792de5daa69e4f23f71e7aa4d5c31cff35a55879afcd49d5810d76a945ff4e6ef71a87a9792c5c5eacd1aecac4137335114c3e1b046a3c1797f3028238410ba918232420883327a43f8cd2184104208218441192184104208210cca0821841042086150460821f416843c8b19010084903724bce567af3dcbef1a397efcf8f09cef2d3d77797e3a9e030088877c8168baf04032198d4b0f8018f68652c9782c7ee5d1a867f278e769ef6a1a0040cc8e0d9c3d7eea6c686df9d7c17bbd11fcba11421894114208bd5991c0f2cc921f400cfb5e3f280bcbcbde6bee642d259664c0351fd5dc79e79dfae4c29c2ffaa65f590cac0456a33180fcf4983b235eb9a03c955a5d0fca8cb9c4c2a712d10d415965adba735fdbd2a2070002be458d7dd39dbbb72b15e2f2f2cab5af914c46a3d1040000e47d3e0cca08a1b7092f854608a15b91ca50a222517f540500c988a7f7c2781e988a723bd5e8adbc77893a1c9a0495dbb5acbfafbbb776e74e2eec598a44388d7dd7ae5639e4a787e6b536b6baca0900e5cecac948d0e5ca3a9dc5aea1217565d1c4c0780e98ead6b6d8cc70505058b55a67db6631389356daed669946a94eaec6322aaab31773909fbc787e311c96abcb6a9dcc60dfe8a886ab6fdf965f099aca7400fce4a5f38ba1a85257b4ad637360694a652c0500bdd6383d70cea32d6d6b32f7f79ca9dabec746bd2373ab75ed6db1e991002f57f28950567de08e3d4615c456a64f0466449979fb56c770ff580e88b3a52d3537eacf2bea6b1dae89e91c1067cb96da529cb51e21844119218410000014dbcb5db3b369419e5cf5a5f2542e17048d51cba77c514eab0d8682f28a66b9124c35cddb36d9e4435071e7b6db7caea150124a3400008220e6d319d06bb2999c6cc37499a9557f2247394ec8e4059db5baadd1998d06c2a1a5d82adbd0ac02c803ab5673b1b9958441530ca940c664bf73ebf6807bc893d56fd971a0cc981ef2c5d5d2baf2a9402406008290e3b389a4aca4c56e010085cebafb8e3b5321f7b43759ddb4757385a1bf6f0cf2623297d5599cad8d5591a03b9bb518552c00e84beb366fae0eba5cd1b53746b379416b71b634564517870bf7e0f68010ba16965e2084d0ad8a55969798839198c658ac9603b02ab35eaf861458ca8cb2ac3f27cde429cff927fbdd29996ffad8f1e3ae2067d1ac3ddb6ab12d8e9f3e7efc78cfa8cb56645f5d1c3d76ecd8a03ba036166939005669d6ab58a59c05501b8cb1c565a5e9caccd7168b359ea47a0d0b6a93dc3f7becf8f139bfdca6ce8c5c38f3f2e9418346b7b69c5c5d64d20280526356b21498b5e942e341f7c9e3c7cf5e9ad56a0c7c70faccc87432b3967419a59c05908b7468a8efaa0a6695f4c618a559a79616531aa47b14661db734b790c34d0221f46a38e1084208dd9cdecd0947f2d343f3959beb39807c72757462a6aead43cbbdf6e24276e8e278fdd676158b5f0bba85e0842337012cbd400821f4d6f85d13695db1148ce51ae3966d1daf9faa27878675e5f598921142371cec514608a19b134e618dd0fb0b7b946f02f8cd2184104208218441192184104208210ccae83d9209b9c2a96bef762fcce404fafebe35af6f29c3d30f483bf9bdaeec0767042a2179e695a3277b8773e27bf8a2b9a82b187b9dc7833e579a7fd73e712ae489c4f1f71521841006e55b29a62ef59f9c0e0140706ef499e79f3f72e4c82f7ff58bde41d7ef9e7f06ba9f3a767abe10336373a3fffec24bd7c955d9a02bfcaa4af79e33c7123971716936fb1a4139e3b97872f22dcd799b8944b26f2728073dd9b71994b391480600b2dea1ce71cf6b2ee41dee1c5f7e936b0cf85dd942eb657d5d17160b37fa5eee0c785dc77e7be4c7dffdde8f7ffad491232702e1851ffcf0e7fe6861b82aa1e757ff3eb01882acbfebc242619df397cefeea17cf1c3972a4bb7f2c5ff8a0f1f9aec92b73950df43cbb9a0357dfc0ecf26ae14ed7e8e5d24dfbeedadbae782ff701b9a82bf47a51351c70a55ff7586270e09595f8db8cd2623abc12bdf2eaa9543c9b157107821042e875e0151e37fe57687054abd5905ee95dc83cfaf023042821ccf8b9a3b3215b953c1c20c5a53a3900acacb88a6c4e19c35fec3ce68e92dd77dd65d3ca83616f78796ecc4fb7545655d49631001ef782a1d4aee15800008593a466d2b94a35c700c06c385aad591bff69acf7c5296fb66acb8176a7190020133afadbd3999cfac0bd07cc4ab9b3b28e630bd30ff097ba5e764560e79d7796ead69e2ed397552bb4009973474fac64728d3b0f3595ead7178f77bd722a9261761e3a54aa5748770dbef4f4c965d2d6dc7460c75621e2ee3c7b31ab2ab9e7c00e959cf1795da66227c7001f5f095073a95ec1c7bdaf74f76572b21d070f01807ba26f76de6bb637ecd9debc714e844c78e1e4990b19a5edf0811d6a8ef5fa9762fee5b1698fad62f38e6d15a32f3fd3b920b63637ed697554cb34900d2f8513a3172fb146c79e5647f7e973acd17160e73699aea45aa64af8e6bacf0d6545d01697efdfd9910fce759f1b5297d4efb9ad454e407a546e2d2f8c3e0b00400008d97003b445cec3f73be77b07a0aabeaa440f397f7989616a39506cb0034036b890d51417b1573d11924475e0f0fd3693f2d51b05d9b80c2140d65f65ed590157776f9f688e18efda921384b10b177455db6eabd19de9ecf627c46dfb6fafb06856235eefc2ecf89cbf65d7214568f4e294af65d7a1fa123d803076b673ca97dbbafff65236ea17b40e8b3eea71a714d6528bc6b3b2a03196a972feaed37d4999e5e0fedd06952cbaea0df93c43aec4c1ad0e00160052c185a58cbade615dcbacc185eeb31788b1d4b6b61508e3bd5d13def496bdb73b8bb4d195d9d3e786a9a1f8f6bdbb4aedb51a0523a4425ddd67626901d4e63b76b4ad2693f39747561362fbde0355453a0061fc5cd7c44aba7073e25cd7f84aaca6d60ebab5ef20155a7cfec80bbcaa74fbbe834d76d3dc60d7d07cc4d678dbee263bee521042086150be79f0b1a5b99452951aaf6ede49800200a562536bfdaf877ce5957e2f6b9282b2d7e732153b2f9f7bb9a8e3f06d6638f1d279c3811d7383bde0d8f7f8e19281b327cd599b5e41171717ad8ef2b555e7f2f54586715f7c5bb9818fcd89aa0a129a018091bea3ca9adb9fd8a71feb3d3aa2d8d1a6864b17e7fefcf71f560be19f1f3d75ff3d07dd0bd3a662a7b48ed1be57cced776db79293c7ce1bf6ed9032b710f7ccc51cd4ed2edf7dd75e8b3a9548d0f51c170e6677dffd805ac19f7aa9c778c71d2a1600e4dbf6ec8e074c77d45932abee9363dec30f3ecea6bd2f9ee93db877b7cfe7d25a9d1c0342c2bb42d54524f054d7cc63f73fa2e61851e017cfccc41cb73ffec43e57df898995d5d632e35aa32596ba463c773df8b82ce33b7ab6f7f6bd7b162ef4ac96ed7ffc893d73fdc72fba0d3b77ef8ad5e8efa82f4e792ece458a9c5cfaf953337ff291471393bd3f7ef1fca73ffa6862b2f7f272a449e19d0b5bab9a6b1f7aac3eb13c7e396694a597cfcc860e3ffc447261f8e2846f5b79b67b3470f8e127203affdccbf3b52d6fe19b653515aad87c345b6a5030ee9590c36210afe9004d44e72fbe34ab53ea77dfb9dfa653bec9356b8bab6fbb6da7d6d966957bffbd73f6c107ee35ab64617f60ebfec33a0d3dfbf229e3be8353977a328edb9f7862e7911ffeab61ffa34f3cb1a3f7e55331cb41dfe553f29a5d4fec57f79ee833b43b2727bd65bbf59eb9be31b1fdd1fd3501f7ac4aad383538b7ffdec7547cf8e5de333b76edf34c5ef2706d8fddbf9d46e7210cb9e8e2e0eccab6db7601880020a43cdd838b871e7a824d2e1e39da55d104b3c3ddc4b9fd897dda739d7d3a75ebdc44e4eec79ee0f85c96d219cf8c4d5b3671696cdbc187e48189d184c1244ffdea58ffc31f7db84c2d9c7ce9a4e5d0e1e0780f54743cb157d777b24fa7da1e9eeae2cbb63fb1d73279ea672e28915a4063addcb96f97a66c5ba996cc0e77450dad4f3c51e21ae93937cdecac2bbdc97611b95c8ee779dc5522f4dea39462236050461f08f92ccb6de82fa52c27cfa6aef9058d8ff7cfb19e5f0f10087ad2753bb7e6f4c55b2acd02cfd71569a702c94d6a0fb5b56ce80c066d75b3af6f2467df357ed95fb5b96562090032d9a4a9b148cdf37ce3b62d5ddd3e710b346f6be788c8cb8ccd06cd6a7ae3e45689f1f3b3643973914068255dd5b145cd5d0973456596dededfe66fbbd769be72a7b9447beea51757d2d9b0006dbca86219002a8882200abc200666bc4d6dad2c08a02a726a1763c9ab27d25a5d0cedded7c13122cf8b0000a5ceed753681e76d76c3f46a1ad6837270c6d7d0da2203019456a74e134b64a1b4727b5d89c0f3cef6b6d963cbd93d1a4114794128ece5366ddbca816029b5b46eaf927e18f1e54121ed0a453e13eb9b8eecd855ebb9d4e99ef11ff12d01647342757192d6b736b294077d455de5d8c6b7ba3c7af6c892f4c1f97842bee93adf2a536ed62d07a306abb01257d7eb93916b96d875c7137b1902d9c8b3aff4ec3d70d0fce606aaa554142915055ea4b4a8aecea06004513458b5174ebcb2104b4579de99137465ce2abb99e7d9eadd5b2d25669e6775766d26179fe89f4a59a26304568369435d53119948248c8bd986465d289532a5b8aafc8adf59d7a46444ca196bace6d5482aaf313597db445e000a422a78f4a4fb8e071e5490b5d4ef9ff53aeb1be4c083a6acaeca04909ee89f4a9856c7198886d2daea46b33e7eaafbf49e9d3b556bbb2bc200e5059e08bc488102addcb6ad58c5f294d55b99643a3ed13f15374626fa20164aab9dce9857d1b6c5c0f3bcbdb62d9cb8d20282280a022f8a622c206b68b1f23c5fded0327f6a91af2bbdc9768b1cc7e1f07008bd2f44514c2693d80e1894d1fbcf5aa63e134cd69955d2cd4c7089b3d73110d990a4d3008cbda663ef437ba5442df0fc322793cad4b5d5cdb4e7f2a4121a5bd4af8e545cb191f545fc4981d32ba5c20942c5b5f058f8a1d0d129d2abcade496955c79e87f6cad75f716376d794541fbebf7efcdcb35de3adfbf75433000099e3bf38b1edb1fbf6aae4bdfd9dd7fba01b5ffd550ff0f92c65443ecb8b1b5e44c1c9082100400100886f6ee4fce8bcb1acdec9025cb31e2af5c78b001bcb140a1f4d7a1440a46b3f6cfc2c1343176a5b77285902a0df7fcf8e8632a394c6dc7d7dfcda0b51faaa6780bd75f7ed5b1d000090eb7bf9f4f5bfd6dabab9b3633361b6b2be8ef54e5c27f28a022f02b0ba4d15e5b96416546a0000993c13bb52352e67d5af3382a74229ed04b2ddcf9c68b8f7ee1d7ae5a54b5d1b3fa0b8febe292500a4c8be69db03fb550c00802808d371dbcad4524573a526e65f9c70194bab99d5c486b6a5048093b30cbbf60ebcdec8a60ac39237dcecb0148e07d697975e9358cb5aef7ae0807afd2568f94167c27ffcb72f34efb95b5abeb2a6a4f7a523cae2f27dbbca20bda0506cdc8f116b69cba1070e68d69e9eec1d96d6ba713b7dd516051428052040affe8a104208ddeaf062be9b84a27cab66b66bd0b50a0099e0dc6f0612b7551b95d6b2e0944ba0105b1e3c3f1801d0aa75bef1c5559ee71389b8206e080554c169330922d729af9e85b6bab9f2e4532f989b0a05be4a993238ed8901c0f0d95e4b838d019838d317cd099009cd6572268d62c3b3b53a83ffb23b7c9d570488c722399eaf6fdb9b4b7ad6aefae333a251af61496471647078c34572322eeb8d8800b6fad24be72f6479cac757a657570d5a4e9667c2b13400df77f24c222516d797f6f5f6a75e6328075b75db030f3db4b7a3b1acbe74f0c2c50c4ff984773a1c366815b0e2ee9b58a6007383c3fad67256c6657de137394645627922c6d596199500606f2e19bd70299ecef37c261ecf9435974e8f5dce0a908dcc2ff9def2e96fcaa8cdbad4c5b9a0cdacbbdee382cfe5110084a47f74c1a7d2adb7bcbad41c1cb8bc120780e5f1de88a259fb8647c4428ed76af40a597465f2c285b9d75e4e6d2a8e0f4fadf03c9f4a257279a1c2ac9888448b7446bb8d1bf6c5ad4aadd9593c3e3694c889422a38e1f19acc9a571d1e54d76ddab63b3979d9175b3b1b60abb5b9a627d23ce4a28b0b2b690095b9243534b1bcf612c97838956535458d15c5d1f4daa578a9e46a46a071ffd2b8db7fcd3b54994bd343e34bebef90b3d8b3d3ee1000accc8d27b31b1a222da49219004e63c98d4c79006076f8a2dc61c4ce0384104205ec57bffa556c851b1a1f5f5eca9babcc9af286b6c8c4c9de8b174ef4057effe30f285902328326ef3975a63f4c2cfb76d4e9b40647754b70acf3ecc5cbd1bcd25162615956a7d1b184008032ba1035d5d90d57aa2008cbea0d3a19a7b794992b2c1686212ccbea4c06bbb33934de75f6c298a9e9f64d763d10a6b6c13ed0736acc9dbcebd05e958c302cabd799e472d6a0333aaa5bc2135d672f8c45b30a7ba985912e2b238455e934d9606757cff84c64cf9d7bd5320600805159149953dd67a28c6dc7f67a9d4627939ea030b1d1cbe7a70315550d8dc5b2935da72602e2bdb7ef55c8487149d1f0e9eec1b189fa3d87ca8acc3aadb9c1263f75ead4e5f1797d69b95ec569353a1943082132a5cea85a3b0c209cbeb6487eaaab6bdcc7df73c75ea58c04736913933cd777415eb6a5a3c60a9c51169fe89ff4973bec4ab5dea8e618b9c6a09203218c5c6d50c981308c5c65547132a536175b999e9e9c9a9c5c8e241d954d0d25b2ee535d63e36e4b8553afb5142bb3dda74e7b328aad5b9bb42acd5a610b611886336815eb2dcdea4c4686006118b55eabe4644008cb2a4c46b559afd5975559351c21ac42ab532bb995f18b9746c726272713b2229b2ad975b2676239b9ff8e3d0645a1ee8238eaeb97cf9fe91f19e5d5d57b3a9c84026118955ea75414ca1758ad4ea7e0648c5c655071c028ad5aa1a7ab27c81b76ee6cd5a9759c9cd1a875729610e6553f9455d46716fb7bfa8783717094dbe42a953caf2a2933b22a9d22932f7294c8396d8d4d7da6fbe4d872fa8e0307b41c210ca356eb389600218c4c6550a94acbf40b2b51ab594f00885c6fd3893d27bb1713646bc7268d4a53e2a8cb2f5fe8ee1b0ac4a8c369f75c3a7de6c230afa9dcda5cc9328c8a494fbbf9bbefbd73536ba367fc2c63a9d2a9d5061507002ccb6ab4a6d2f23ade73b1bb6f2810151d15b6e2b20affc8f9bea11173c36de525660d27975ac064d28e0e9c8e32c696a63671e5d2a9be21b6ac7d5783fd26eb53cee5724aa512670543e87d41294da7d31cc71142b0356e503885f50d2f31d73dccb6efaed417be53ef48f7d988f6a1bd5b646fe58fe3b9735deddb0e28e5b7e82ff3d0587f654d87518979e2832e1f9c7c652c75f7812db25cf4d8a9811d070e1a39fc0bf49a7fa4710a6b84de473885350665f43e8b7ba6baa76387f76d5beb795dfb5609cb104178f363c466fb8e756a5a76b73a0cb76c4bfa432b7a4389528691eb83bfd3227ed7d0b92117a82d77ecdba553e09f1f0cca0861504618941142086150460883327a0fe137871042e877954a679f9e4f26056c09841006657423ca045de1f407e4bd78bdaefcbb3379b0d7b794e16fbccbb17cfea5f49519a8814ff8e702d177f62584a47fce1f15928139ffea3bb85acff26c32f7be4d041d0a2ec7dffd69a8c3a1e5d8865711d2e1396fe826d825fcecbc4ff9ac5bf9dcc2e7c7626f2fe0a6d2e93f39bea87cd6bdeb74c09fcc3e339f4860504608615046376a508ebc85329bccf2c0c9a900402612c9bef3b9d0f70e07e5783c268dd1bc12f4645f2f28bf2b1fe777d17feee5504af0073d29fe4a8b8829bf2b107fa78372c0158c0a29bf2b107b278f4c3c7389fcbb7d64928b44ae7f8c170a7b12ef5c4c4fa5e2d9ebc5ee70d8b3318e8be9f0bc3ffce6dfe407d9d79a6da1bbac734bb193d1cca9a9e0a7fb029fe85a3917cf7ebfd773ffc925cbb3eedf3be76ffccd82f3d8ca484ab83817ad7adead7c7ee1ebb36b13282c06528bacc2f3a1ca533b4c5a0642e9ec7d2f2f54bebc3291112ecd47ab9f772b9f5ff82fb3895f5ff27f6a30de753950f5e2ca842ff3c889e593def89f1e5f543eebfefae5cce98980f55977c5b195f164fedf2eac289f756febf2af24335fe9f1fef979df1706a3594008a1f70d0e0f77e34b07970281eeaeaec5d56c995678e995cec5d56c455909436079f242674f5f20c53a4a2d4c36e84a6b9d66556c797229a3346b988b9d47cf0dce98cb9d5aae30ac58e6ec8b2f0d8c8e31a672ab4e2153aae64e3ef3c2f9c9544ea8282b49ac4cbddcd9ed4f308e522b4332bd478f0d8c8e1193c3aa5d1fbe978f9f7ce995c1d11993a352ab603dbe25cfdc58cfd981408238caac0c81b867fa95ceee85488663b34536a77cfd306d657ab0b3bbd79f007b5911930db97ca173a7bb4746178b9de56a39bbe25bf2cc8ff59c1d584d2beda5260299be975e3e3f320a067b914e0100f195995f3ef3cc8c6b5953e2cc24fc31ffe2d9de017f9c3aca8a1802de99a113a77a7d71ea28338dbcfcf473e72e27327cb9bd746d98363ed1fdf22b1747a6f565157aa52c1cf12ecf5d3e35e4ae2c2fcb06e65f39716a252a3aecc5572e952c2c5f5aae57ca01606eb8bbebec455f4cb4db8b69d2f7caf11323a3b3bad272bd920cf7bc72f6e2a4aeb45caf944716274f74f64cfba2e5767bc23355f89993337a9d391cf644fd9ededef3a184dc6e37d3a47f21a5ac2ad227fcf3c74f742d47047b59f1860913616ae07877df504266b65bb4905d75f90203bd3d4323d35a9bc3a0921716f3bb464f9c3ce359e51d761ba4020b29458526b790545415af5db519082c2fbb27bb4ff707e3acc36e6100b2abcb274e9c187105ed768742c60402cbcbeea9eed37dc118eb70586832e04d8134d876c0e76295c680774e5f54a565d3673b3b078626d44576a39a8bae7a97dd53a72e4c97d9ed4a39030051cfcc89e3a7a656c26576473aee734f8df49c1d608c65a9c54b9da70718639955a70421d5db7962606842555426adc4e39eeeba30b13a7de937e70663c98cbd48b7ec0f5cea3b3d383c6f28b5eb94f250c8130ef8cef5f6794259bba344462017f3769e786578ce5f5ae650ca99507079d93dd37dfa9c2794b13b4a650452a1c5ce139deec0dacd2b2939b4f4c2b3bf1c9e59e24ca5451ae8ebea3c3f38a1b09498348a70d8130ef8cff5f6f922e0282f8274d81d836a9b251d5e3a79fcc4bc3f6d2f2f9e3dfde253a706a2f154a9a39cfb20f53fbccef070239e6454a13c582673ad24b344f6fc62926a15f9543e0d9c2a9de5adfaef38d97f5fe25fd8659d5d49eab4ec93d3b13fd962fbc772e60753e9dbcbb43a199854dc6a32f99981a8a8e05a94e2735efefb3b2d1e6f52a9627f3613fb54bbed9b15cc0f2632f73ab833c11427889a3ccd2bf32b69763b273e95622fdc6d3f6c93515e54a865ab916cb15176c19b692cd1fe8f665d3498fc7fbdc266bdbccf9fbdb3446be470478f6e48383c1c0665f4019074ffa873e1138f3fa00f4d3c79defbb1c71ed287265d5064d30a898c71e79e0e6560749e16d96451575a5b222e5c5cca6daaab1839f79265f3e13d1d35e7bb064acaed329600c0dcf98b451d7b776ddbac6578213a3bb2aadfd75c942b69bfb3bd9a8fbbcf4cafde7bf7dd86f4d25848969b9fb06cddbb7bdb662d2330b2b5bc11f2c76a376f6ddf5475f1d4e9e2caaaf1ae2311cbb6070fee82c5c115b9d544973b87a3f7df7f77a52e75e6c27c4363d37a50ce26d2ba1d7b3a3491c9b9bcc1c606ffff17461f7efcc16df59657bafa2a9cce89eedf044d5b1e3ab42bbf74615630e4e7260d6d3bf76c6fd7b16b2fadd417c954b073efdd253a99fbfca9b0a1fda13b7713cfc8323115eb483ca5ddb1a7431b9d9ec918b6d65b7345ad776dad25eb33b04582b1aa96f6f6cd35233da72d155573173bc3aa96fbf6b692e4f2d909ff5d771fb608be9115b017690acb3b9bdbb76cae19e9396daea81aef3b9a30b61f3eb0a3babc588c2f3dd3357ecf3df7b56f6ad22bd9f18113cada7dfb77348c9cb96028354c0ef96e7ff0ee06870d98e4e845effacf30353ea02baa0a8d9e0d9ada3f747027f58f0c4664e5eacc424a59a14a9c1df71ebaeb9e22080e2ff18e62adf41e262f1dcfdbb61fdad39159383f97d59671d19fbd70e9ee0f3db8bdadf2c2a99ea2aa9af5a0968bc555b7edd96e4c2f4ec564c55cf2daa03c7deed83c53f7c8e17d6cf0f2e53857a6489cbc347ffba17bdaca75a7fa068acbcadde75f9927b58fdcb34f161ebf1c9397b0e1d9a4accca0018045d7a0c2e45cf5cde98baa8444d25ed7b2b5bd6eb2f78cd651e519ed5912ab1fb8bd7d7d1491f4c8c0e2defb0f375594028189fe578286cd0fdeb1b5ffe99fa49cbbee3fb075aeffacc65e9d8bc5cb6a5bb66ea99bea3dadb6577bc74ebb79e783776cab2c33e4ccb5776f6f95657dbf7ca1ffc0fd0fee68293bdb73d6ec70ae4e9c9f179c8fddb75f1377cfc648b1327deac2d4de83f76eaa349eeeebb7945678064f8ee7ca1fbbef8036b1381da53665a677747eff9df7d915894b7389f2922bc3bc701aa35acb34751caa2e52c756e3c5cea66d5beb67fbce28cbaa63530373a4fa89c37b9589b9dea56c9581ba6350a9177b4766f7de79bf4395bc349decd8549933390fefd824271facca9f370cca9b15f96fcd660e56a84603993b2a8cdf68316c3693114fca6ad16ed6f003abe4c335aaf38bc9328b722698ad2dd65492fc6ffdc283155a9d0c22f15c4ba9fe0f4bc8ff379a6837ca075785c79ceac1e56489453917ca5617699c4cfe373ee1c315baae859847e01e2f953f359fd158750754c24b31fad10a552e96fd9ba1c84ebb2614c93a8b347f5eafd724b25f1c8bd773cc60967cbba3e8d30e8556c3e2a5880883327abfe0fee766b075fb5646148a2b8adbb4258c281457145d0e65014c5c6ee6b9a74e0899a0664b535b09f031cf9191c5473e740f03b1f1fe39d6f3eb0102414fba6ee7d632b902008a1de6de9edfe476de576952660100a8200a8228f282b8383cbae84a3ce77503640422d4efb4f49ffe4d6ec7bd4ef395094a2c25badea3bff166726181b40b2294556faf291278dee630ce46d3ead995e6f62d44e46586ea5ac7e486b7afe0f8d9e79eea14b221555bcd262d34eedcae658107438d46154e644859d5f69a6281e7abb66c9e3db654b7d57cfedc8bf9edf7558bf4e80000200049444154545954eb7b224110292ff0a28c8152e7f63a9bc0f336bb717a3505a5068530f7fc539d7c36ac6caddc6c100451e0370c9c672ad6f51f3bba9cca4404dac48b399db5a5ca2af0c2f2e5cbeed9e00bbe25806c5eacd9da542c2b2cfff2d1e5646655a08df91c4b4d9b6aac3ccf03407429bc63778782a53ccf0324c7fba77977629840c49f2e696d316943274f9fdb7b5b8782d16cf879fd7dd82ab65458789eaf686b9939b698b7b000b03239e19ef61ef12d0364737cd5d6961239004036155137b51b789eaf6edbb4d8ed13cc8a9adb3a4c1ce1a9426b867456d0a8a553049c8a711f79ea643eb72a6bb0b668aeb7e9143bb63bed22cf3b5a9aa75e72fb724c757d938211a9c2546d36aeaea649b1a3a3d22ef2bcbdb979f2a5f9fc76e575b74083457bf1c471772c19e3f98aac90d7989a2a6c225fa857559875b1ae9e337b76ec50c940535a516eb7f23c53bd6b8ba1d4caf38cceae4fe7f8128bf652e709573411e3f38e1ccf6b8c4d8e1291e741100491e105012838b76d2b52313c686a6d96a03f46aca51df60a91e74dc586114f7a75295351d3a86245ca1a6a8bad915012ac25dbcb2a459e371619863d99c0bc7b7e7236e2f703e4d2197bc7e60aeeffb077df61729cf79de07f95ababbb3a4fa7c97906c060301880088344304a2425ad2dead6b6f4e8ce679dedbb676f7ddef5f3f8d995d6a75defddeee35bdb67ef9d9f7538cbb6e4a04089a41820126166004cce39e79eee9eceb1aa2bdd1f33482408318104c0dfe70f72baebadd06f15aabef5f6db6fddba9ee99aaeab9aaaebb4e8308f5db9bc9cc86494a25752c1e93becf7abaaeaad6fe4de5c942bac00105d5d5a9e5d8e477600947cc1dfde50a319baaa3d645d74bf3d1dfef62cf13bcd8ea7028223a7fcca50e87f06f28767dc7729cab1bf5327fee240684327fe4d8b2bc003006c67724f5d0a2700bed1e4f00a7714fed7b5e22f0e86bea113bfdbe2ac7652074ce41b3475c4cffdde42ee9f97b2f516ba6a31ea7d79e3df37b94b39f27f1b4b7d9e2341d7fe6577ec1fd2fa174b6de76a4dd763d1d257d7dabce62b1d6e3cc923843028a30f6ff7c9d0c66d7f18406c8ff42c52655f7af1452d3cda99200160239c3de435b6125295932cad3d72ea0ba776dbfb3475af57afc55ff76c59d354cf0f3bd5d6c7aaee580501b6f3cf3f59eb1200c0d0754dd79f7dbe71bae7479deac1d327ab490000e9ad7f78fbe88bcf9de699ebfd9700806329d8ebb260000010c4def68161c0ad56b7f044ff9c52f2a5175fd47726ae444900d06f651720f63e0e0080a11b0410166fcd33cf35ccf4fdf8f2ccbeb3a76adfd150c6b2f4ee8dfbee2a23938333b2f38b2fbea847a7ae44a877d59c74e99f2eb6feb3cf9d14d8fec1cb00c031344112004010b6b3cf9e6cf0dbf622d45eb6962f7fffed962f3e7bd2cc0d0c5e06d0e4c2adccad1455fd56f768c25bd1f6d80ba7771f60a26baae179ba36157ce3e5578e3cf14ce3b1a76b53c1375f7ea5fd89676e353cec7d460003f65a1e08ebe9678e369539eedc06c2d8ad11028c1b15c97177f9871c9d1b9d4c985e78f145233e7f3948bd6783c76d557deb60daab6d30c0b851c020e08e161145bad92557eefed195fa679f7acc661a1bb902000c43ddd98449d61d7da22a137eebb5970f9c7afae62ed68d5b6b07285e7da9b3e6e9278fda4de3a357000886a628ea9deda03adcdc3c200960188abad5258500206edf7e1280a129f2b63e2b04613971feb90375de3babf49d8db0d77f72b1e28927da1dc2d478e7ad0ddcfb9fb1f76845301f7ffc732d0dfebd45a5371ebaf3c62f1ff5fef2d15b2f3bea1dabf58ebd172777ef42f97f380300f087e7cb00004ab885aa3b865a3f50eeda2e77dd7cf90fe7ad00f07fed16066efeb6c2bf7bbaec77010060f08b7b5f8c7ce7e9f2efec4d34fffe8d625f2f17fffac6df7ff478e91fe1c91d21f469c31ff33db252855c20e0d655a9f762a75cd401a0babee1f0c9f36b3d7d99a2c92c86673612aaaa66b319ed46b648a71345556d3a785aca6d69bbef319c148ae90015ad81a1eb837959515529939532e94451551b0f9e92b3374aaa92e1b09b4922b13e3e3a1e7cf7f654b404a647a7141da4d8c2d6ce1ddbe92b2dd155a9ff7267bea001c05c4f5f5256418a2de565a7c813db2b7d734103607178cc76b0229f4ec8aada70a043cd076fe5d28c9c2f2aef5e695acaf9026e5d9506ae74e60a0ad0ac1c4edc367e81acd9440b452637a78647ef083aa5fbfce38323594951552993b9f123484dd2aca24853c9ada9e1d175008eb3a447e643bb134b6a7d037d033979b74dd16c7325269723aaaae67219259789178a94d5df14b0a5523b7b7f97da9337b36678bd6f66c300581d9f30ef2fdd8dbd8126dfd4c848ba5054553993b9994a39de9a9d5edd0180d9c10173b5ebbd227056ca97044a0c551ee9ee4a6794bb178a6cf64fadeb006b13937c53c057e59b9a1ccb15752db733178a381c02b1b3d53fb5a603ac4f4ef14d018bdd9d5ad92aea90db99ef1dd8ba512d45c522583926b53d3f38b47cb7e4998fe765cae2692a2f4916b277df12ada8984d369e498716060797eebc9d678ae1840a0000eb8343db992214530b3b71b7e79dcfc771947be666c633b2aee563339b41a7dbf28e0225d5dec599b1446eaf4ab57c6c6a2d7cdb7d9396cf49a0158b26de6e623391a5c1fe79008078b87f7c590708ce4d53b5bedd466877b577796e3c7e635140314a24a9e2790721841e2dd847f9e147902463b6f13410c4ed7fd43554cd775d1e9e5e6b3bff844db4da4c0cc9986d3c575eca2f85e4d6c347a35397ae0f4fa714becce7daed3da52482973aafce2ca64e3f754aa0498ab7da6d1e223139b818abaaded7e8312e5dee9a9e5df754d7b0f9d0e52b576716931d4f9d12769bfd4893932d5ce9ba9ea67cc78ed68b82c8d09428881449100449f1a2c3e6f130d92b5dd7c3aad8de566fe6cdbb2d7deeb2b2e5eb5d43532b07ce9c77da6d36225db47bd6c7fba7d6b24f9cef10683252945c44a6b76f982b6f6faf72a9a9d0952bddd38b89934f74986f3ca4dbeb32f55eed56cc3e8fd564318b3449100441f3626d5dd54a6ff7e0e4cafe538fbb1c769bb5844ecff6cd47ca027e9a248034b9f96267d7b504941c7bac51144496a1cc82489304c1daeb3cd4952b57a666d65d1555e26e932d69729994ceceab09c37dfc58932888a5958dd25aefd581c9485a2fabacd9e7e3bbbb3aa76656445f595dfdfeecf2b5ab0393893c5d56e55febbfd2333249381b5a9bcb570676ffae6fadf75324258a0eabd76b55c3ddd70648dfc1c7eabd0441509ce8b095d479d9aece2b53336bcef22a91df6b36f694d51756fbba07264cd5c78f56bb0d82241993cdc402004951168b83a1080070f8fd5bc33dfd138b0dc74f7bdd0ebbc0519cc521f0146fb10b7bbfbf8c17f3365aeeef1d244af61f6b0c108ca5ce2b5cebba3cb52d9d3f7bd6cc12713967678afdbd8350b2ef58630048b38d4e76765e0f495c4747ab68b1b13465b17a0356b87aa53baa88c74fb6580491a3494110d99b4db934b53edc7d7d6842b354b53557900461164496220892bcf587c51db01157af744564cbf193074593c8b1a4c924b214018cc8cb6b3d13eb7eb745b539e20ba3630bb113674e3b788a2049c16465298220089a333b6cae3a9f78bdfbd2d456eeec99732247beab40496d40ece9ba3831bd2afacab5c46681104aec7b79da61b74c0d5e4dd1de964af1dae5ce504138ded16a1144abdbe9a2335dddbd456b7dc7810a82202856d85d545fd7c5f1e9558bb7cc6e770acae6f5b1156fa08c7b909eef788f3eca08a1fb0dfb283f0a210b9fcc871e2ca9852b3bce7375b7becf1d9eecabab3f6ac52715df07d3b3fd25e5ed2566eabd0b0cb8cb0f7bdebbc0272abb71658b38d758f6712d2f9349329c8d671fd90b183e990fa14f173e99ef1180674ff480e15d35eedb7f1604a5be8a07aa89ee51e2f1940bf71ccccce329131e9cd1ce385b4dc9c7b931a268c763002184d03de02d0e7ac070ce0afb1d432b78dd7e8ec2a07c5fb89d7e81213e4a814f1463ad705a70af7d5c667a2e5e78fbed6bfde3d20719ab23150e6e86123fb79826c52ebd75617a230e901f1b5b793f4bcee5721f68fb154529168bf72820e7b3a9cc077e0a4c21165bdedcfcd01bb93e36960100d0e3a19852ccf576fdecedb7dfbe70b1339e7fffb5ac8ef4bcbd1e91016063626872337a734222b1b1bebefbc0203d1e8aa61291d5f51d3c9211baafb08f3242083db2eed147b9a891070e1fae2af526236b2a2de6135b1a414d0cf56c6768a7482c8c0c4e6f843291e0f4f296d3e30aaf2c4f8d8fe418bb48a94560201fbede3328b17611327dd77b3676b21e9f9726211359bdde3328b1626679763da337d4d75a78637d71756d69266e083e2b3339d43fb31eb68a36599189622125298626c93209c5e8e5b72ee75987598b5def192c30b6129b0000f954b0e76a5fd2607892e67936150a29863474fdfa5a24990e2d8fce6d797c254be30333ab2197d79fdc5e191f1ada29282b93a331dd542272aaaa2c4d0e8f4fcfa57593454f5cbb3e90a7ad1e9b0000e9edf9eea139abd315dd5c9b1e1b8e69269f951a1dec995b8c98bcce12ab1574797a78606a75db6eb78562092b47ac6eac0e5debc93236ab91b8767d20478922579c1b1a9d5cd9b49704d4d85277ef443aaff86b2a39300a59a92045197b53fba1e63287692b16a50986e7d974280402bb30d23fb51c747803d99de0d4c458b6c03a5ca25ac865f22acf5399604ab3995c3cac46a412a74049f16bd7fa33a4c5ca4bd383936b9188c35b6a48059236a422c1ea896bd7fad384c5eb30e301ffa0c13eca1894d1c3444d6f858b2691a3dee7fbb748d1d53461bfed916f1f5a28b4ca09766c2046e8530fca5b3343a373cbd1845c51e1991aeacd733e27a3aeadade7b345b39d21057fb9554b1825ad65b6a8940eaf27db4e9d9037e60aac8532e4e19e118d63b7971678ab3925936ded6d020da024a7d6f2c74e1ccaafcf9b4b9bfc95fe805d0450b6d663ada74e68c1cd8492e4ddcd4d25f47a349297293dbeb0258ba29621ad2eb340e68b626b9d756a357becc46169634eb3fb05223b37176b3d79b4d4c9844259bbdd125e5a5218259a21dada8f984ce071d51085757036377b99959d443199693a7a3832b7d870f20c19da90794a2a50754d356abee0f53907ba7a55960d2dcd3bab9b2d0c6c2ccdc66339b0f3c9cd78eba993c6f646424f73cefdf53e362d11250eebcefad4e0e436594c475453059fed9b5aafaeafd30df15093abebedeb2acb8697e7299b68d0ded61a7724b1bd1d87e3275a0ba1a8adbc94036d6b698bb352345f62e149d22846f2395d22763f425a8d8f8e6f516a369cd78944a4e27087958a26653eb7bd42bb4b4db49e8865886256e14d8c4153647e6d5b3e7aa25ddb9a4b52268badbcb5d6b1b21d511259de6692256962605866d89de5596bf57e91c1431e8332fa98611fe5cf5250ce044394c3ffae53a996098628bbff1ea75829b69a20ab9c7b0ff8c864d28220521f2aed86c3ab56f7ad8757bfdbb5eb175ada9fc29fee2174bf59fdb5e7abaa1800259b60689e21896878a5eed8e3e9850560793b6b0259f4d805860516748a64a9db6ea503b5fb9b5aeb774f1955bee4d8604f43fb092b01ba22bfbb8701273a4d1425884256cf289a0a14006377ebd135aaaa14d62636eca70200009aa26870f72500403e93d774399e2ed4b7b69eb4a5c686ae39ca021468aca1299a0a0c000067739a28d2662b31b3a4269a77bb656ccfcff2be4ab795f25735371c6adc1ddd4fcf4562acf7e463a6a0a4e8a2d344918268cec21dfd3418ce7cb8e36c4dc00a00e1a5290b6f02005d5134005f65d3eea262b1f5026da6e9ddb1ccdf393c204db3734b4bbef686e0da0a23faf3899ca617e3e9bcdbef397cf26c6d990d405d5d0d3939d00977687145e7c5d2bd01694887df3a37365bdf7a502d48ef5527bbbc150d75879a393ca011ba3fb045f951b0353b74a9bb6f274f95fb5d841c5d0dc7ae75754e4d2d392baa2c2c05a00e5d7aa36f748a33738ae0f75b6e066275f8d21bbda353ecdefb6c7a6bee6797ba2359b2ccef2609a9e7f5370727a74847b99bceac16cc554e5326383fbdb4f6e69baf2eaf6d597cd576133dd5f3c6b5c149d9e4f5d94d20c556c3b19eeecec9a90d6f75b989be755dcd0417debad4b59e90584a2ef15631a43a72e5cdde91057b5905c4a34596e3680ad4cce25ac6e9b4d86c0e9a241646af74f58cec64a13450920b2dbc75a92b9481d2400949487d6ffe6c6062126ca525225e1d10ba977bb428a7b79786c6a6b7a359ce44f96bf773c52870e2c2c8a43510703bac1ccdd23445b31cc7d2246d6cafadaf2d2e71e5cde50e13cd892eabda77b53f92055e0df78eccb28ef2ca8083a47891caf5f58cd9aaf707ac1cc930dcde681b94c5c21300f6125f786e7439a6ee6faea3595a348b568b451045ab9907608cccfa7c946af2337d3d2362d5be521b0f046ba2b27d3d8305c65dc2c67b87162c5eaf498df60dcf30b6f2fa72d7d2fc94abac21b536b1b453dcbfaf8121099ee709204c1681046078136d14d73656b73636d386adae8cebefeedb4eeb7e9f9362b9fcd6f262b05051572ad09cc56202009bd3b5393bb81e51ab1a2b0486e12dd6e8d2c4c8f4322b0886c9d658e989c4730e32311b329aaaccfdddbdc194e6f7bb3886e7789a6004179db9da3b650d9497b86c14e8f170c25d55236ae1aeaeeb11b2e4d8fe5aaa18ee199c35b9bd5535d5a995a9e1e965ce566235b13ccf111497da98e57c8d76d36e8d91768795b3bb5c024f31824784be6b437c7973758910595e98df4e3436efe729c2240a0c63f6b8e981ae9ead84eab04234a988661e0ffb0707b6283f027078b8478014dc2c96573943c397429e232dfcfa1ffe60e9377fed7991c8bdf146cfb9679e18ebfa89a7ed851a1737f8f29fca07bf76ac7cefe75083575ef61c7aaec6cd0fbdfc5f0b2d5f3d628f5d998a3fd97134b938b4a895bb528b7c635bb9c394cf661969ad335672dc161d58954e1d6d1b9de86dde774ca0f4f1de37b8eab3cd01eb54cf1bc5d2632de6d01fff60fe1bbffa824d4fbc7471f4e927cff21401006a66f9c240e2f34f1ed3e20b3fba38f2c2177f6179f84db1e17cad9bbc7261a0f5a0736c5bec381848cef72df30dd2567fcbe1a716075e87d28ec7ea4bc0d0a5e45ae764e47cc7b1f4f2e89cecf5e6d7a8ea962ab7399fcd323c8fe71e84ee7191fe988687cb8f8d855b5babb14adfa7d8c6e4e89a7eeed4410a0040df5e59124aeb6dec7b1557174706d615d7f9c71ab0ea1e31383cdc2300bb5e3c0278565e78e9071775296a66f7b7f8607fc76326c25041e0acaaa2a50b396fc046a9aa5abfefe0dcad1d9e29e43c013badaa6addbe96391a36c62737d6733f0ead02481a69d43fe6ecbffad3e2f1cf573a7890404d075f99d8fcd2179e210c4d3374555575b228e51c8d2582aaaa4ded6d57bac27a1b349f386a260d95b4d7085c3c2707ac3c006c4e6cef3bd446e82a6dafa92b9b03c8cef42f119b85610262db85aaa307f9ec4841f1afe689e62adbc81600a80ce96eaa72a8aa0a005b9353eb4bc99f84d6016415e4c693ce81ded795a3cf56bb4cb8ef11fa440898923f1057f98127ca6fbe22fdd5f5f7be10d7b59da8c35a43088332ba1fb6477a16a9b25f78f145353cda99200180e3f63a5718000004180618000418a0df361f79dbfbbb4f82b63ff1fc53354e01000c5dd774fdd9b2a6a99e1f75aa074fef838d70f6900fb612d26df194306e3cfbfae61f375760e8b70f3d4880b15b606f9581eaf6135f38b5fb9c074d55499b359e0c2a929ddf1bb257930b86716b6efbe39f3f5be7116f6ed833cf35ccf4fdf8f2ccbeb3a76af1261d21841042f709c68c875eb2900b949668aad47bf18a5c7cf74f3e2c6631b2119701606d7e4ed56eee718bc5bab3119700606d614ed589ca4381816b4305595155299395d2e94451559b0e9e92b25b3a40757dc3e1138f6ff40ea4650d52525ed500789a8fce07530030ded3e36af49200b3d7fa52450da4d8b2547498f73a10571c0c4c8f4c293a48b185ad1d00b0586c3b336b715555b3d98ca61ba5f5eee18b03b686d21b1bc733a6f8d8d2def8a0e52dfe91bee19cb4b76199744256d586031d6a3e28a5b7a73713780c20841042e87ec03eca0fff2e248a3d6f5c8c14a98e33877260ab3065d70b960a3b07001b5b2b3e7f154b2bbdaf5f0c1795f613c718b3cb23ec7d8d4090c5de372e8665e5f08963acd9e5111825b1f6f6f55145e34e3cf98429bdd63538a5ead6739f3b63d593eb05a1c2ceebb9f04c846cf2e86f770d541f3ed7e8b3cdf6bd311792aadbce1d2cb71aa9f9ae2d525a9f9308c7934f9c106e3d4e8f486ecc5e1b9913fcd507eabd76ab87a5a9d9be37e6b6255759f3f1b67a8a20e666c7ab6af7730cb9155c29f15671343dd7ffe6ec76c159da78e270939edab8747d5856b963e71fb7e4b7bafb278aba78e699d35635369fe29b02363c0c107a377c8435429f2eeca38c4119a1dba4e6afecb8cfd539b12610c2a08c10c2a0fc08a08ddbfa8222f491f0ae6a97098f28841e9ca08c9580d0a7fecf701756c5c31a94b10ad0c7867556b0580b083d588ac5e2ee00320821bc59451894114208dd7603cbb2d8f502a14f85aeebd96c16ebe1a1869d66104208218410c2a08c104208218410066584104208218430282384104208218441192184104208210cca08218410420861504608218410420883324208a14f8d76752dfdfb33a9ef6ce4b5f73b8b3eb59d4f29b0134fffd2a57044f9202b2b6a7fbb90fac3f94c44d6dffdfeebdb12ee0f84d00388fae637bf89b58010428f244551789e27c977b789e86f4c447f7bb5d864a3ae2ca57b65a2c3acff64b3586da12e6f640d8ee655e5af97728319add9ca8612f93f5dcb2f497a40917f6d34b5a510076c8c8d67f6d9d98550eecf370bab45a3d54a0d6de556f3f20f3724b3c07849e37b2bd95722b257a0dd0c09005d73b1ffbcade4d35218d80ed7ad07a004a3a96f4d662772eae7cbcc7a517e73abb092942f25d503763614cbffc95a7ea1a0b3f9e28c443292f43741b9d144fd783327f0d45a24f7575b124bd32e427973abb09a2e1224716133f772442e31d1252c3603a14f9f611885428165598220b0361e52f8b8268410faecd1d46b31e5b70e94fc0f016ec2acfff67261c545ffe3b2f2b897797325fda4407d7f2e5955e7ccac26ff46d17a36d39c4370503023435c0300c815e41fadc8758cfe5b93e91301d35f4e4439ca955a4ffd8d441f60b41f2594ffe2833f5851bfece72205ad51a000c06fa5612b2f91648797b93daf5f5997ce969be3f1fca544f10c25ffc178ea90cff4f64ec1cd183f9d4b825db09110ce2b7f10cfffaa49ffceb6dac468af2ce74b09e54fd7d4ff7c40f8b723b16f1e30fd87b1e4fe0af14bd9c27fdad25e0cf09182d66ca6702723843e3abce7460821743340c38e0e20eb5d05fdc276216a175a9cfc6f549be742b93999a8b3714d1cf53f568b251c0900cb094917b96f1fb47dd5462e240c00e297aa6dffaa82b32b7aa9cffc0b16e3fb5b926a900000aaf6b72b8512818918707d39f6c4a570580100286695ef4495a5a211d3e0954d19004acdecbfd96f7bc144a469f21b3596e5706e46865a975022c97379f85507fd5a3897333174511f94b4bf8b68272acc3c40ad99fd3ff739ce575bbf6225fe71b3a018786943086150460821f4e150ec131eee8f27e3df9e497c6bb6d0ec3105182629abff7126732d6700479ee18970ce00452715654c86733e612c944ba8c68eacfcd9526a47d601a0c6c19319f9f7c653df4de9f58e3bbe598ec48a8a4dd84fe99d51190034455b2f682c477538893f5c2e3c5b6edb6d569e8e661224532f50550e662e9c5dcedfd67d59d2c625e38c5f980ce7759ab419c6db2a71ba92190caae703964a3bed53f48c02445125d8bd39a231b960351d62e0f20ef67846087d4c274beca38c10428faaf7eea30cd525a6a32c319a2c8cc9e47f69b597896c1d4b1802fd8d80a9ca61fa5c994553b52c4d9e2ae175590b03f9abb5f6a35ea696231340b6da591bcf1c2bb39cb751f34578bc42fc95000f0411b072a53c29f0ec011bb59cd12b9dc26f549b790a48867acacfa5f386ce30ffb25e8816348740bb190866f5c7fce66f545bceb9789e02af95f19b987d0e96a3c81a27cf2bfab641fef735f63617ed67299fcb74de6da659ea9c9fafb10b1d22b5a2e86e2b77c2cad00cbdcfc132a4b190d1ca9ca6dfacb198b0e7057a00601fe54700512814b0161042e891bc48e77239bbdd4ed3f7f8398a7e752d3b0bf4d72a050eab0ca18f95aeebb158cc6c36dff566153d1470cfa13da1cd55cdf8a033a9dbabdbfa7b4f5e9dee79bd6ba0f8c197fb5ec29babeac7b63050b3f2f5cdbc81fb1e7db6af02a72aadbf862919218430283f9a1233dff9c12bafbefaeaab3febc92bf748ad904e27ee115977826bfadda74aa39d23eadd67d2226ba1dd998243a3c1ec9ddf4ea83beb3b25cf9f3fce523fe72ba7ede1b160267febe5c858309dcfa413b732b19449c82a0044836b3f2775abc57ff70f4b23091500e450fa7f7d2df81743b16fbf198c15f53f7f732378e770b15a56eed92cdc97a02c15e763c577bcb715c9e51423b991fae381041eb6082184d0830ffb283ffce4185171e44cdbbec6da728622e6862e75f78d52ce0a97858d8756873aaf26788fcfc6a783733f7ef9d5ad2c595de65f1cbdd2ddbbecaba930d1e4dcf0e5eede51c15763a4376747268717c3e555657a22bebc3279f55a7f9674f8dd168aa4cd36cbc2f0e5aede51c1574325967f76a92b4338fc6e53786dc753e527010892e02c96ecf652cfd59ed1855059a56fbaf3cd9eb955caecf670d90b6f5d5a08652acb0214b9179a33dba122cb713415db0e036fb2d8c5b589ab5d3d2359c21e28b12ad9e0ebafbdb69981aab2004d6a83175eea1c9de75de5743e343f363dbcb05d5a51cad1e4e2686767cfa2a7aa4c60f63a2406d7e212cfc5d35a939fd7b3f21ac9fce661a7ad905ed385c44eaea152141912000a29e9ef2792c1a41c05ea449930b590f8d1628e64e8808552b3f2f7c693633b8a8754d7b3e0b15093ab69decc04b733d716b2178392c528be32938d6a506367e494fcf713c94dc9a875b26b9b999195dc9b9b856a173d3416fbdbf93c23d06a32f7fdd96c5836dc84f267dd91f19cb1df2b94db39b7404d2f267eb890038a2e15a9d5cdecf06af6cdf542959b33d3d8950d7d6ceed147192174bf611f650ccae80120455f7bfbfadac2ec6a34cf47d7e29e43cf741c59b8fa9629503d76e5e57dcf7ca5aec46c18066ff3147336040000200049444154526abee354c7cedc70d17fe85c7bf950ef14910b659cfb9fec3862379183572e1e7ee19fb755c2c892e290c6c753812f7cee4c6463caea70ad4daeea722865dfff54c711bb895408b6e5507b32b26c11edf1cdd86e508ecd2d151d8ed18b3f3dfcdc7f77b8921c59d28e1fa92c9a6a4fb5382fbe35f6f8739fab73e4ae0e462b2bddbb670b9ecbcc6ce83ea729b8b5ac27f31a5f58cf069e7bf2b8dfc6c7975688b23a07a59ee838c590060025d286b7e578a34f1ceebed8f2ec8b47aaa99125994d2de7dcfb1f3f5a35d237e92b0f500400686f4d65cfb4bb836b69a7473049c5e12c3ce623df184fefafb1ae6d666f0465e5af2fc7be70d26f930a2319a256cb75e74cffd331db5bd7b62d3ef6b56bf1f3c7fd8f570a8960722445eef7b09727a25e8fe5edbec881367f1b51f8f345fdb7cf940c0ded9478d90b43f1678ef9336b3b298ebf3e14a93fe83bcd2bffdfbcf4b932132108cfd75b2c3c7da2c63e3e11769439b9a4fcc2110f9bcaf5c7747b217d25cdfffa71fbe5de6dbe44e81e08d71cf09d1594bf9acd9f2813f0848a3e89a0ac6487067a1636636e6f80fdc83f7d9372997cd1e0d88f736cfe5428445a2c1f74d3e47c3627693cc77ce4f5ebf1509cb508bb75572c64b305f51e8bfd705b8b3028a3071c3e70e451f0d8935f6cf3720046cfc0708bc7acaa6a6365494c2aba4b6bec2ca1eb3a0018ba66e8baaa691be1d0e6ccfa1c4dbacb9bb7a45c4bb55955550008d4d4596800c60e3b51dd676b68f4e9aaca2b2649d50060b340b554ee9694e6aef704657947622b2aabdfb12581ea3a0b4d006b23a251a54ed035d0f231b6b4912574b03578b82baadeb8fbc02c830df0d26076c799e32b3cf975e003d5a6a9977f3252baffa817c0d0f5ddada54800300c4dd37455d70d7f65adc810066923a3910d3abc3abeb2c092aed2c6dd2b999accaf48446c22a32ad0bd59f88205e683b9bfd08c6387cb1a6d64d7ad4b7a5137d1164ab7595921aeacc7e5a632bba142830b225159e22827adab2a807147a70c8f99f5b13a4d527e9b411b066968e9bc3c9b54a3a37196104ed194c7c2fa58c3465014a969baaeeb84a617df1c0c6f92c272426bd134c330344da30c030036e35283cf6aa8d0e0222219dd6366fd9c61a5689a547500bcd6a24f20428f0c4d551e38e9309100da473fe878b3c87fdc9b980c87299f8f7ddfe573b994aa52369be563ea6fadc7c351b3cfb55b35acc9c29aee19ebc361f2836c2d42088332fa84e8baaaaa1400d40bda442875b4d239bdbad35cc9e6eeec7e6bd0601850e10f5095e587ab9caaa2c456a66743a9c355ce1b25000878c76defeecb0a0166b75387ab9d900b25ddfb9f6bf3befedadbf7e8dd7b6b21262f15efca2b1e323d1f2d06cac221d9e5125906c0f0591d139bd983fbcad3710055f1d6b7bfd04c8f0f5c9274077f636bf70e530e8aefea255de6f31b3eef91da125551763b745c5b4e7feea86f9f8d2274f91fafa7f3355c43c0fc8d43b677ce69e2a9423259d47389425ea52bfda637b7a5c7bcc44c141e6f364d4d6793b22e984896a293b26aa8c5b9b8d671d7cfc873b50279729fb58635148a58ba5185bbff8949aa91975754f6d74f8b7ffe6a0a0072452daf1bbbd7d10a97f0eab674c24fce468d937554fa46db031ecce81322a5484f85dbc2004036111c1a9a9134a3b9bd3d3e331c938b894c511478dae439d8649f1c9a2d80542c0a1c0b4d87dbe5ade5cd78823597d694131383ebc0918d878fd7786da9483023299b6bcb59196a9aea222b8b59196a0e3491125555e5591d1b132a3db383d345206b1aeb7656173332d41c385ce3b329f9e4f0d0a04479ebaaa8f1be55e0a986b6c3c5b5d9f58cac4ae4d956005066fafad633b22e91ad671a79d56dd252db4a5e0d47d66329dee2aef1d313b321b3cd29406223ceb4b5d410245388acafc7128cc9575fcb8e5d5f2604aa6edfbef8fa625a32aaf6b7d5f91dbb37d7f3a3a3ebd124677157f998b42e1a85b859e4670697690b53d7da0e006a213d36d89f274a5a9abdb982ba3e352553844e398e1ea918ef9b2c0251b9af45df9a5f4d15943c9c6dc5030ba1470d76bd78f81104c9086686040053496961adff5aff78f5b127fc5696a248b3c576f30b1fa390ee9ed868693b2c6f0c5eeb1fd7c4406d4d75617de06affb8e0ad72088c59b411044192acd521b06691a7299224cda285a5694f6dbdb43170b57fdc54de66cd4c5eeb5fd8ffd809b768a2295ab059080092a4388bd9c4d082682309922419d12e9014673373e55ee1ca95ceb59c70f6e4fead8d0d8bd5c5ed6eaddd0c19cae9b15224c999c9c1cb9da353d3556de7dc668613cdac92bf3abe5a51eaa7298215adf3bdd712b433e0340ba28d240892647c3555c5e04877df5851f0f9ec26003d2d31f5251c4d02100c65e882c88a0213b8f1245b8aa2fc0e96a50800f2a05ff8e95cc630f3cd5e5373b95528c82f2fcb47f6b99aad4c8b5f787d3e3397d65b6b45482b6f04d5d3f5e6322b6b6229978d6129921598520b45d194c7667aac5cf8d97ca6675ba970b1369676da1886222996a92be333716585e4da2cc4abcbc5138d628595ad2a61df5a956a5cbc6861aa02a2452efe64493ed4e4da6fa7489a72edcecb30255a7823ad3bcc3c1edae8a37bcfae178416dc4c7a7c4e1220115e76359e3854615e4d16ecb692c3875b98227da8e398cd9015b3b9a2bcbedce32a29ad6ea92e93e49d0ceb3dd97e88d7b67754b1ae7adf819a804cea569349ce658a84c54615a269c55b516327723b69c5535662c884dd6e4e86c30a64b742798a324cee4a2f2beda4154f59c066e252a1e5e560d250c156ea2af537b7d49549d24e96f775b4b77285b4e0f3b1f978106c1dedad6c214d39ccb42e30869c95d3e160543580a099d2f29a7c3c08acbdacd61770d7da7845cea63326d7c9f6368b110aa9627545734b5d994cd376a2b893923da5a5b6dd413e94dcecfcb26a0041d3d58dad3be3bd7ce90187a0bbbc8d6d4d9ef578862d6a049959dd4a806a38034e5dd575ca7ee2e4111ba1648af1aded1c4519268e552cee8e236dbc9431f97c387808baa37d0abb5e3c02210bc751469fa45c2ec30b2285670c843e918bf43dc651de5e1c1d5f0af336775365c9c4f80c41f14ded079554beaacab330b652d9da905c5d55ec8219cc20277386d9c343048ac9d9b9cdac6cb79796969b68a3c4655223ba5eea70a422c18ca44782cbf1ac525edb980b2fc7b34a59638bbc3619ca2905893a7976dfece07491e20fb4340797a6e219a5acf17053b9636bb16f743ec33142eda1524e719558f4b02a6516e6d633326508c79f3a69d96b519654893c7cbc6ebc7f52c92bfe2387c444683d96b1b8ab1bbcdaf0d43a2338ea2a5c63e34bcd4d7534c7e7b616d6d292cdeaafa8b118b2cb23eae1423abab61c4d2ba50d074b88a2b5bc9405757e74783d9ab6b8abaa9d6a867428e9306322674756590b57d7daae877618313d319be2697e5f7b9d5a5013b1626b6b4d74755577f1b37d934592dbd7d69a599c584d15488d6f3dd9a449acbfc48ac71eda85e3286350460821f45006e587cedad898abb5d5f2d11724676643b9a64adf5d27c662eb8582a3ac4cc4e307615046807d941142083d14ec5eefc7f353394e6caa7ccf1c6c32d918063b50208430282384107a78d87cbe4f602d8260c3aa4608dd84df052084104208218441192184104208210cca0821841042086150460821841042088332420821841042f7198e7a8110428fb262b1a8aa2ad603429f3cc330b01230282384107a70b12cfb683c7004a1878eaeebd96c16ebe1a1865d2f104208218410c2a08c104208218410066584104208218430282384104208218441192184104208210cca0821841042086150460821f429cb15e41faee672daa7b2727d6433d39bc4819f114218941142087d4a52f9c26f5cdce25f5a73fd747330f56182e93f0d86f997d6f89fac7f7b09478a45083d9a70147a8410fa0cd2fe7e2c91b55a62e76c3ca182410f2da77e713c1902e2dfb6b87ec3a1fe68456ae6d5df1dcbc4343d4833173adc5db3b16e9d5a8d4a1d35f6df6f14290000f856b3f71c99f99dedc2ff12a0fe703095e2c1cc0abf55467ca12731a9c05f1c734b6bc97f2ce8a349edabfb1cffa9dafcad9ed07f8dabe576fe67271c17c7632fe5b5fe84f6b503ce6fb9e0d99ec4b802ffed984bddcc6c9b94dfef97fefd716f6c3dfe6739e2b75cf03751a328a9bf7eb8e494152f5b08a14f0eb6282384d0678fa2cde5f5cf57537f7a7dd3fccaf68570f68f9633ffc731dfdc71b16f251b94f64a5124f5f7273ca7096d302175a5b4af560be7cc64bb8ba36e2ce63fcc84bfb258fced6aebc676eea705c346330391fc68b448f1ecffdbe6fcb2970180d301c768877571a3706929314830e1174a7f8d517eb8a980611cf5d92f1e328f6c17e60b45e0d9ffa7cdf9152f0b00a2857bda427447f2afc68a5ff6f2df59936486d275fded4d05771d42e89384b7e60821f4d9c390951cd115d4ffefe39ef0d5c87b9532d1a4c091251400477fd9cbbcb6211faa76fc33377bb3c0b7eaddd9547a4b566b016c0cf5af0fb82c8a2203fcd8a7fcde60623e63a9bde756b8785aa0093340add3fa93c7d4ff7d303e97b1340200493d55c1fdfa44ba94a7cfbbd9b797e0945bf88d567bda3070d721843e49d8a28c10429f41f4d75a6c3bc194edd5ed3f4b1b2ccffe4eadf8ef06428dbd9963d59600ffeef2fa6a52f96f2b997f351cfbe3e5dc6d8ba1fe4583e595a5b46c17da0c25f0eadaf9d1d47428d57271e7953c9cf7f100f0f252acfe5abaaedc74bed6d141a8de57b7fe5261be5cc6dcbef49950eae0db919773f0846f6fddb576336768b612c167a17fbdcaf207a361fea75b6fa534dc7308a14f12512814b0161042e8d16318462e97b3dbed34fd51bf3cdc89a77e67baf827a74aa6e777fe3c45fdc55127f5bee6d3fea2272cf99dffa28ac7dd813e83745d8fc56266b39924b15df2a16d54c02a400821746f254ef11b15d93f9949d919e18f0e99a9f73b1fd15e2e2a16bcd020841e56d8a28c10428fa68fb1451921f421608bf22300f71c42082184104218941142082184107a7ff0fb388410fa2cda5a5df5545531a0acae46aaaa4aef513297cb99cde60fbafc5468b9a77f9ae098caaa7aca2ad6bb996bddd32d674faad185780a166767098eb5071a8fb554bd6346399791759a2275b399181b0bb7b656df98a2c74309d1c10ef4f6e4155223b963274eda4defb3bfb43278add3df78a6d4cdae8e0e143c35cd01d7ee84586cbd5070949589bbcb2719255d602aca5c788420840080fae637bf89b58010428f244551789ebf6bffc84c3269b6db29d093c99c5d642706fb6637766c66abac1541caa5244d57f3c522a54b91cb6f774abcd3a444aff70c4aacbdc46a0250924989e7d96428a4e8f9c1eb3d1b3b598fc73633dc37bb1e717b032c0572be60f7d7ecaf70e74828eee479336fb03aa5b3f978ceea303bfdb5870f3517820b84ab8c96721959268a855441313429975555297ebdeb6a9eb5c8b1e8dad24c5c177c4e0b8051c84ad942d4e46a3edcda546a658289240d0ccfb3a950881498d9a1fe99d590cbeb4f87b72627c6f3126b7759947c3657d0788ecc04539acdece4f595b0ec7109908f5ebb3e90a7ad1636373338b5168d3abd01bd2011942eab14a544af5d1fc851568f5dc0a3087d688661140a0596650982c0dac0a08c1042e8a109ca5b3343a373cbabcbcb0999374382f1ec6f70121b89684ea2b5d87cb06815b50c61739905aa50145b6bcd536b8563270ee5d7e674a7df44c9a150ce6e37879696545a89e6c8b6c36da98df1d1b91d2824a21a5fe575c8999de18181f9f5f4c1c387383512cf142d56b72225f38cc5461b4583b18a82528881d9273285d5705e8f2f6c1645ab96c9eba01224c3795a9b7d5bebb1d65327b5e03aedf5b0a06e2e053991624d6e334f52ba1429e47589b0db2de1a5a5a4b433311322e45444268c58a4fac849334432aa29b3bdc2b803264a4fc4b220671496e3089aa6f26b21f5b11387e58db934c9595d55072a2cabe178319ee5ac9c5294c6fa8655960d2fcf39abf659183c8e1006e5cf2eec7a8110429f45567fedf91b5d2f408b29ba0a2400eb70a9910da6c66fac4c6e393b4a01003445d1007445d66f9b3d9fc9699a14cf488dadad27edc9b1a11e97df75e4d4b94aaf65af04c91f387a4650c33bf18cdd6c8d866255b51563fdcb81fa0650b200a0e4e26b61adad06006c6e7d638daa2a83b5b10d7b6b0d97554057140d80139d268a14c45b1d3f188a5e5859f51caadd5c5be39c817c34a7e9723c5d707b5ced1de7aafd2280b2ba1a76b0a0db5cf38bcb20d8caf69e2448d9bde2c2d462fdfefd7a51d615f91e0f2ff15535371c6a64f12841e8330f5b941142e891758f16650280e579120080747b3c9b3323ab097d7f632dc530568b289a2d66ab68157800464faf2ec6d9061fd5d73366abd91fb0f2008c51d8ec1b5e14bd5eae18e91f99651de5cd8d95e1f9b1d1d955b3d363e16900a059ceee7464d205afc3428b362b6fb25a4846707184343b3eb2162b1c6c6f1728000083a64541b48aa259b458059e66cd6c717b3ea2064a9c160b4f00303c4f811e0f273d35356679bbb3eb5a9c0b1c6daa21a460efd0bcc5e3adaaa98a2f8e8fccac9a1c1e9167799e23683eb13e23041a6d260a8020807038ad9ccde512389235bb05b5f7fab0a5b2b9b244082dce2fec649a9a9a798a30590486b5b81dd0dfddbb9dd2fd7e27fee61d7d68d8a2fc08c071941142e891bd483f4ae328efac8d4f6c91674f1ea00000f4e0ca92585a2fbe67abaf3a3fd41734bce78ed4e191803e2d388e3206658410421894114218941f4db8e7104208218410c2a08c10429f3186616025208410066584104277200842d334ac07843e159aa6110481bfe4c3a08c1042e8414cc924494a92848dca087df20cc3902469f75f22d60606658410420f1c86616459cee572baae636d20f449a6e442a190cbe5388ec3da78a8e1a8170821f4289365399fcfd3342d08024551582108dd6f9aa6499224cbb220083ccf63856050460821f4e05255b55028c8b2acaa2ad60642f71b45511cc7994c2686c107a06350460821f430300c033b2b23f449442bfc01df230447a1470821bc78238410ba0bfc311f4208218410421894114208218410c2a08c104208218410066584104208218430282384104208218441192184104208210cca08218410420861504608218410420883324208218410421894114208218410c2a08c104208218410066584104208218430282384104208218441192184104208218441192184104208210cca08218410420861504608218410420883324208218410421894114208218410c2a08c10420821841006658410420821843028238410420821f4a0a30dc3c05a400821841042e81db045192184104208210cca08218410420861504608218410420883324208218410421894114208218410c2a08c104208218410066584104208218430282384104208218441192184104208210cca0821841042086150469faacdf0484a53f75ec8e1c1e08876e3a9e499f4d4764e0ec77ab772f23be61a9fffc946b170bfb72d9b197e75ea6fafaeff602b5fc03d85104208210ccae893dd85fae2dc4e6af7ef9df8f06c68297f23372f0417280e488aa6debd9f0982f8206b9959e992b40fbc6d8bc18d230d5f3955f162a960c23d85104208a1870b8d55f0b0f38acd63e1151d5c24c05232d756422e27d3ad6e274021a1a92d249b262c24b99b8a95e9b597c36ad1653b6edc9c5f4df56d5cc8eb7bd9bacafd42b54d540b1bbddbd714436cab7ada4e310b9bdfef090d6f6a9b4e4beb21ef7e6a2f6217d6e251331d9bda992e773f5f63b3aa85cddeedab37e75adcfcf154726473255d5ff2b946875b2d6cf66d5f2d1ae2a1caa71d340350588f47053a3eb53355ee7eaec666bbadc0530e9a0550b7a2ab164e198f8ca8c0ef2ffdbc87e77757bc1de99ecd6c00f0fb039ff79878b5b0d5b7dd5d342cad954f3b69160f09841042087d2cb045f9a14789cd5476b4a8e900852241373a0fee64823a809a590273134d12f1f46c42560094eec9bf641c4f3fddf4f52a213a145e3400404d5d98fe7e7dc58b4f377ddd67c4adb6a76a1d562937fdda62dfd1ba5f7ebafae4b5c9ef4615a5b9ea176aac07cf377cfd58590b75ab215a1a5bf8c7d92cf778e3d7eb1c362937f3fa62efee5cd7a7bebba3284d555fd9676b3f59f72bfb5c1e2937fbfa624f7bdd2f3d5d7db277fabb3b8a02208d2dfed34c8679bcf1ebf50ec76d053a7aa7bf17291601d489e5ef4de6e16ce3d79fae3edf3bfbbd84a202c0d8e2dfc5e9daa79abefe74f5176d2656cacfbdb178ed70ed2f3d5d7daa7fe67be162110f09841042086150460000605025bc65a75854135386b98db654f3f999a2668433cb017bf5cd58ab6666f3c263b556aba22856e1589d00060014360cf1a483221445d9e77b3c920eabba31b331de5eff3ca7eb0ae938ecb52e4793aaaa1a86ae288aaaeab7af394fd9dbbd8dbaaae8ba31bb39de7663ae36af7d391a57554533745555345d9fdd1c6fab7b9ed70d8574b4791dcb3b3100c853b6765f93ae2a9aaecf6d8e1faa7b8ed70d85b4b7f99ccbd11800106c599bab51571585b4d75b7d694d52b3d39b7a45a323a02a8a42521c90f39be3076b9f37198642dadbbcee959d1d3c2210420821f4b1c0ae178f821a87633a9992a5d580671f1894cd44476579355e6cf57037cb485284a16b6edc181976b19e040073a5baf85711a9decbb333db4301f7e74880687e7e67e3870b240900526e81100f0288775dafdb5c46937b8b8ce6e7231b3f5cdc9b6b11c47d00de9b2563f9f9f0c68f16a9bda986d80ce0710ba53441de28b010da786989220140ce2de9964600074f7370a380611800902b6c5af85afab6eed5b1fcc2f6e64bcbbb33e69735732d40291e1208218410c2a08c0000ec8ea6f4ca92ac1027381e006aacb6f1d486c65a78ead6fe256e64cd5daa5a300080144f579eea0ffdd84492a5fe2fedb358750092ae3855ff350bb337afae699a9ebffb8a6f2d0f48aafc54ddd744f6f6b9f4dba6969da9ffaa9565f6a6ea9aa6c56e5f1241bfbbc05d56ca907c41c9190037a33241959eaafbaa9dbb7d461d0f09841042087d74d8f5e2516030555ce1aacef8699a04008bf3506eeb65956fbebde5d562df97cb8c17f5dd6c5b584dccedfe35129c3d5df6e553152f565bacbb01b3c1e9998e85941b345d07600843336ecfc5efd2e0f2cec48377ce754bbdcb3713dbbe35f55d59b6c1e99b8905ef516097d971d8c88fe76feb0152eff2cfc6b67eee8c08218410421f14b6283f2251d96bb3c6d83a6af705e91268dae7f1127784e94047b9efe2f4dff02696208552cf69860090239cc934b8f5121000a0a4739e271bcf57543c9b59f8c185b8ca92845a64daaabfe0e6b93a7bc9c5e5efba84a6a381a3f4dd06962b2f7f26b3f0c30bf1224b926a913954fd42c98d412a00a0bcfce9ccc20f2f246e4cad7aa1e4cef1e2caca9fca2cfee842426649525598d6ca173c771b50ce202d1db5edd767bf43997842631bca9f2b2b7b32bbf8d285a47463c6e73d261c8a0e218410421f03229fcf632d3c02489206506f36e392340d377e79479214189a6e000041d3344180a16b9a4110ba36baf86377c57301767748356273fba514f7c47ea79520489aa600000c43515500d87bc7d015f5e670ca044511b7b7e0be7b2e92a20c6deff927ef9afa736727288ad4b4bdd5911405faeea7008aa27707bcd3544537eeb25e84104208a18f0e5b941f11ba7e4740d46fcb8bba7e33da1aaaaadc7cdf00908a294dd5606fe8612392963c950c001886ae2877f46178f73b003733f07b96d135edbda7fedcd90dedb6d96f5f94a6a9b7bdbaebb621841042087d54d8a2fc99562c2c77af7502cd9104e48b854aef53079c15582d08218410421894d1ee03ae0900b8b35b0542082184d0671d76bdf8acd33555c7788c10420821f42e383c1c4208218410421894114208218410c2a08c104208218410066584104208218430282384104208218441192184104208210cca08218410420861504608218410420883324208218410421894114208218410c2a08c1042082184100665f48051872ebdf6931bfac6d7f50fb59491d14e49bb6da1e9e06a2c8795ab66c32b3b999f5f2ebddcb910f9b9a5e4f0c4e5992d351b59d949437aa5733efcc97fa2e2cef4f0face879831b8b5942beac3036f4572da5d2667d63be782f7985dcb4757c2896274eed2e4caedefcf4d76c6e5fbf56117e606b633ea7d5ab856882f87621ffb6297a63b23858fb4849dede594f4014f03f970e7f4cafda8a58de5a19584729f0f6a7da1efe28f5f7eb36f78385ed03eeab2e4cc7230f4609e8eb46c646076164fcb086150461f0873ece92fbdf8e2932eb2e6175e7cb1a3adea1e7b7476614652ee7e0525c877bc2449eab3786c2c2dcf646f0b19044952f7a8073934ba1403002000889fbf708200208024098a22810020894fe533121f6ab5344d1304f19edbfcf36a8020488aa600def9a90902ee632ddccf1abef5891e80bd0300db5bf3e1940200144dbddf852889d185e0deeebb4f75f5fefe697cc4dbd98dacebf92f3ddb58e1223f74f5a9e9d1f90d002008e27eecd68fab3209bc6223f489a3b10a1e7286aa2a00aaa1698aa25000e9adc9eee1158330eceea613c76ac62efe2c58d0298bfb709de36ae7e599e9c5a3e79e29b3b1000020f5bc7121a6510cad176853d37e989be95e58cc1856cfd96a635982f8dcd8bea3c759127aaf5d696a3fbed2fbb3ad2ca917a9c79e7ac227ee2e0132c1e9eea1259d306caec67dce7cdcdd50ef32ab89f9ce65d3d140e6eae0dea493c71b97e6aece2f640cabc34bebad274e7224f45defac3fd4e1146800c86c2f5c1a9ca108d2196838d65633de7d6133ad6b865e5a7ff4485360e4da2beb6986d672aa6ce6aca0c9395e6c3e7766ff64df6bb341ddcc12852c79ee8b4f7a4ce468d7cf36d29a66e881baa3479b0363bd7b058a39f2f4f34f7acce458d7858db4a117a923e71f0f105b7ff7d694992359ad68f61e6cafa5ae765e313b168f9c7ea2ca2500809ade5e4aba2be8d077df9a12d8bd62674ed4510000dad4f5eeee352d196d3ad968dd18ef7b698660b5a2d9d372e6647d213c7f7560560542b4d79cecd8cfdc76f95632a1a5b8a3a20c3667875e9d330849e2ca0f9c7fac617dfedad47c5637db9e387970be77309849eb0a75e8ccd97226fcd6d8762e19b79badbe7d2d4d3e87965ab932af9f3f5a7bdb52e5d1cefead4c4a57c84367ce95b391bf7f6bfcff67efbebee23af3bdc1ff76aa5c454151452c720e12109ff5d200002000494441548a0825942dc9b6dcb6db6d7bda769f76f7d1593357b3e6b2fd27bc37b3d6cc5af31ef57b520777b7c211966dd9ca1212205022480284c8a980020a2ad70ecf5c108464499d6cb74afe7eae80daa97ecf2ef6b79efdecbd0d12af5363c6e4f21d5b8bfda39d4d377b5481d7b31973f981e5d98253bdd79aefcac45b6c399bb7568626076fdeba1761aac596b3796bd9c3c64bbd3311c19450b365d3c8d0834c4b2611f987baa613524bd31deafce0e5aed8ce8d850bc7eef19ed6cf1fb672e188945ebabba6b4f7ee1557616da29e62deae8e6062a579f6a1479f9abab0dad89d4b174602aa28328567ce82a5ad090cffe9dc6d49e475b22ca594ecde52169c1cba71e36e84a9666bd6966dab47bbafb73f9c0a8c0f056c05efbdb163acedcac3a918297ce5e66d2e71b6e15a5b54e052f257ad2bcd5a8c1361df95fa8b16168b06d8fafd3bc30f3bd2ab6a6c22dd6f6db0b8d765390c44149a19b9d4748b31c1eac8aea92eebbb79b96722a81125b92bb654e5f5b59dbfde13b6193839c0d6bdb223da7b37adaac62652575b83604c188ae8b38da163e76f081caf638ace56b06b67e55877cb9d0713c189913943d67b6fbd92b8b07b7b475a9a3bc24c319933b6d4ae1dbd77a1b13b6435705a88add9b92bc7a96bafbf3838278b0253796563ce524142e3c7cf35f39ca05314de91bfb77655647af4c6f5f610538ca6f42d3baa866f5eed1a0f08464b4559eecd2b1743fab4f535dbb4a98716297da6e7f2d5aea0cdc069615655bb33cba65c6e680887637d1dfd15afff6457452691d677a7f96ac7a477bcb0a62a6ffa61db89071d7aa68ae69cdd7baad4b9d1866b37c24c301ad3b6ec586f58888ee189ffbed0a817f47238ac379a346272385cbc6e7769b6b9b3f976ffd494aa70c5eb361725cbf56d0f7c93b3c905556e231151646eacf9ce83f2d2dc8179757d611e110d765ed165d52a43972fddf527183935a856ecdc55e4b22eeecdf31397ae5d5734c19490be794bd568dbb57b23b3449c25a5a87663c978d7958b1df309468e85b5f22db5d2e4ed8e8e079cdd922e0d8a99e9e1b1b6e67b23d159cf94ec78ebc0dab180b2bea8808886bbaef0ee5afd744bd3bda02672359baa67bb3b7a3d93aaca15aeae36ceb45dbd3d3c3556b07e555ecfb037dbe5e86f6de8189e21e24dae829dd5a593ddf567dbe7ec468e85d5d2cd3b8b336c441499197be08dae2acad522d3976e0d6d5e9dd9545f1fd2f4314edab0695b9a7efecee8fc86e222221aedbea265d4ba2d0b6f6fe6d4f92bb22aea49e3a4f4bd07365060b2a1be21a8893a2979eb9e1a313cd958df1058fa950b8c5ebbdc1215241d17a48cd538e6012028c3dfd5bbd2de33b5efb5d7258ebb7ba72d14090654fbfed7364b3c478c5555cf95956c302da5b699ae3bc6d5bb5e4bb772bc76e5ebcf8868642850bd679fd32846c76e122f9a396d623ee2b68435cea90cb652d18ed7d26dbc3673ed8627a53a8b5b5cddc4ee575fd7f3dcfdb67631dd3dd6d295bb6b5ddfc05c4561c6dd3b3dcb2ff943f2d87060c3ae3d2966e9e18d268f2f946d8bf26286ddb4b807763c1cdc77e090512422f2f5b450ded6d73313388ebfd9747926e494a5c4ed3b362719c5c66b674bd6ed4a328a1df71a22329b0f8ab5fb76a659749abfefd2bdb1b5f6292d77f3eb6e3bc7f1b7ae5f9e0e3afd2171fbde9de9565d78e4e61d8f4fc786d49c9ad7b292786df65a8b27ad8cf449f96fee2ee788bbd1f025251ca8aa5e9f9db7ce6ee057f48771449c2e7169b2c62f03d1fc043d472494af5be7755b6a0b5ce4efd325e4beb9a78223ee66e39781684ed783916dfb5f378b7ccffd7b7373d164bbfef17e658e8824a3fbd53d153c71371a2f4df8b23ce3a1ca2db5d98906226efdce1daaa669b33d37e6826e07371bb3be736833affaeb2f75e5b9368c8d842a8bf21eef3a33acdb595ba5699aefe18dd9803b99245bce9b7b5771c4dd69fa722e92d7d73fbef5e0eb56899beb6dead6964f85ab9ddd8335af1cb2497c5ff7fdd9d9706a5aeebed77234460fba1afdd1c85cd8b0e7d53d269123a2fea51e475b6666774b7734d53131162c2f78740643d0a71fdcbb46206a6dbe32eacd59d98fb8d8cdb7b404ffd003c5bdfa50613a9176e3e2672b3bcc784bd68ff6ade5893aef5c1b9f8964a5e4ec7b2d5b63f4b0bb712e12097bf5fb0f1d320446ae8c32defbd0ef283f549341aabfb165429f144cafac2ecf73f13caf698be7048221be6a5d4d49aa9985c64fdfe85f9d621a1bf5da320de188a338d9408c88a8a7a77be3ae434e23474481d1ce797bf1a1ea4c22aebbad61c89b168a08ebb6ec2c4db3b0b0e752db485192797464cae63606c349e559bae111461c71c68c1fbdb28127bad772da1b280c4e8aaf1c3a640c8e5f198e252eedde3667d6ded7dc1aa381078d33612d1411d6d4ec28cfb046bd3d373ca34e99855d25876ab389d89d4b271f6fd88c1feddfc813f5de6d1c9a0c15a4b8f7bc96a9311aec699a09c57c7e7ec7c1d76c3a8e88b44d1bf8e4d5590962a79788e3c251617575ed2ab72d36dddb3c369218d2e7156dcc75bb86ca6fb2c49485f6c8ab5cb3ca16ae2dc9a1f08426a5beb97f93c0a8fbd6e9097fb9ef7e77e5ee375c067e7cb8677cdc9f9bb918614dcea2573655907fecabf6c9835baa2830d63c3a4b94585e5353a6695ad0d33c3a4b6499f4896fbe7148606cb87f520eccdc1979b071db4e2938c405d49567572231a162c3b67539762d3a7de9567fbe6bd54220ef7f70af62dbeb99569e88c253fd9362da1b876a19d150d7f59eb18014e3cbd66fdb906b8ff9869a0686b657acabf4dab7ae2b18bc3b44a4cc8f68fb0e1d3287a7ebfb665c56692ca43cfa2c13cdcfc5528aabaaf3121971a91b3795689a169a6a1e9e2d29ab5a65c8ae2d2b50fc63c453787a789c73bd71683b231a7dd0dc3de237c942c99a2d9b0a9262f3a34dbd7dc519554464484c8ab4def2e7e7ca3373d919eea17b6d253bde4a377114f35dbcd1ed5a9df6a883fbf19e759973fee88d6d02a3fed6af467cb2d2dd51b4e38d0c933033d1373c30c3793b0a6bdfc8300b33137d430333fc7457e99e3732cd7c7466b0b9770a0739000465f87b0446eef4cf04823c11912dabbca2a6da7de5dc29de9eb36dfdaa27269d1a2557a644444ce313521d4464cf7098569c762caaca6db83f6d364eb8caca666ed777cf5c18354844949a5db5dc2339da3a30edff822722b2669494395dc3814824acb01cab32da3ae85d7a29bd984b4877982481880a57e736dc9bb15abc8985454b312b62650e6969678c048ca969121131a625189249d17466bdc87344cc9498b0f083ca491a63b6b424b32412116f4bd68df40445439aebb1196da949669d4844bc244583daf4e47cf7f8e5b1761d11a5b82b19516a560ac78888a9a2a431f6acb2a666b91626d38485c99e3cc39b9abdb81c4d94342d38da36e499fb522022b2d464173c7d99d92e9e11114be6acb148cc9a62b71a242252021397afb5869498169de50b77926371ed8cb7a565e87d8150301c70598d2b17a506272e5f6b0bc9512d3acb15eea0644a796c7b4251af552f714464b4254811ddd27ce1d1f6e111df97221191b93a3d6fe0eef5ae3eafcc69be58ec1577f5c69aa286cb9fcbc6942dd51b1f9dc2e0ade96ee3ec5c3010f067179a89168b9692952230464449a24d0e479eb38ffaa6942497913122e26d2ec7ca9752b25378c688c8c22c517f6870e26ee7c34999d3e662d1dd191b8d8ed017c78f318dd6d71e9c1b1d7e78f7de64b7898892528a538ad7ca1d57befeaa2967756d49ba7d61696687cd6236101167b625cd0e3bb7140cb7fbe6855993db212c6e754c8a265a8d8bad190b4b2956036344c4cc669716554c0e9bd1622022ce64337a869ceb0b87db67e6a53953a643a0c5c1ebaea56d6692a46892d919fde2f851d2b8b55bf72fbfaf91ee9b77bb3d32a7f9a3e16da91b4c49569dd54844bc204499323f2bdbf5498c1111979092bcb220cb0b37f1b6395f60d4d7ddd13d2e739a3f1adae25abf6e7365d3d5cfc352d2a64d5b9e28b231d162b6998888138418936d698e960b67da6e91ce94bd7baff4cd4671652f361f93748a1a1ebb3fde33fda5444464585393f668b13613c718098239d1c63146bc1055498bf81a1b6ecc8523aa1c88a6ae22b76579694ad0d774af3f257f955160df1c2d6eb49985043323e2f466f364284a64222252b8902dc9c62fec5972547099f58c3122325a52e4b06cb0991317e6e285d8939f44312193fbf2d89f78a2f20dfb889ebcd0c2603525d92c8c488bce5f6f6c9e0d4654251476966cca7ebcbf212ab8cce685951aac2921bfacb71a932c5646c4f17c8c2dad9433e49538c6c7e7c4c989c4caece9a1840433478c4867b4abfae78c13772ed5879374313532d6353933755a4f44a4ab58bf76e0dae4f48a5fa73a8c19d53c3112f5465382050739000465f87b58dd6bb2d76fdba51796fe95ebdc7bf6678fdf6c1ef53f7989508a9bef9b8da65b0c44caac679aca170e4c8f5220d3a55b584357405c9bab8f64da8b0a37ae75db9f5c5d5556d5965d46717116a343dfd6dbc1120b759c35f3f197d852a262ba342b35f485cd1516c3d272a499e86424a659743c1119ad918e517f5ab189882666871d62d1b3deedfcf8f47c46cca63728b393b2db69b54c758ccda7d9cc0b332616143e917c9de9f642f7aaf5394b5964be7779ab9e8ffdf909564e6276af769754efb2ea9e376272ac7f5c2d7009443e3e9c6932047c8b7fefbd3758b0616ba6c334d7dfdc125057ac9d6527995a07bb758e7cd3e343157bef0de5afdbe24e36cd0fb434cfabdfd81e9321793e1cd5747a3ee89b8d71cb8d6872afcaccdbb0d3aee78988d4d92b23863d875e1598527fe10b2226585cb57bde98eebe3bfcd8556bcc9d686e1deed625e5598447df2dc607c695a23491688e820e8b291094544d23e2e7bc5361cdbc90801624ba74f7c3c17c4a24527d135ee78aef11e3fde34a51ba483447814493fcb04b5ad89e868b5f1011199376eddfec4a101555f5c7ecf91b33aa8bb396364acdaad89abb5abb7dfe7a2875f3427d82d3f3317328cd6a55fdb3e134bb4e74b874dd0f66cd797979cbff0043cc3b17500c169188f446a5dde3cb4e4b26a2e9a9417b416668643e620c65586daa7f369c96a0139352745d0f66ccb9b9b924fb9fb66f303226eed8579d96a8535465b13aea7c6f1fb7fbd0ab22539a2f7ff1cdb91292f483b37e2227913a3b3165ce79f49267605c2ec99288fccabc3e31f9612b5b584ecb952f888837266edd7d687ea8777868ccf8dc9d96e7d5c49c9a5757e76a9aa2aaeccfede186ccf2d4a4ca1da9e6bf68b4ae6770383167ed96fca4e064f7e5bec8cadd4f3427ee38b05318ba767fc059e2146575e16c86ec1998706751782e30cbfc7989495ac81f48312ffd3be0657e766a56ceb64b44a4d3b381d1e9fcbc74229a9d18a0d40d2cf6bc8de1f4e6cdbbdeca4931288aa205a3f26217b6e2199848cf5cd14d30326c49afaa294e0e797b2f76fb9e5888a46783833305059944e4f3f42bc91be8195709265a93fb1e764be6f47c899f146727a66379493a2538e7d5823ac1b9744988e2e9f7b8329ef5ef4297599a925f5a9b655da836534a53f256fe9a1e999e57cd5621160e04e70238c8012028c3df4328cbcd38fbf97195248b2b6f4755667d7dc37c448d868dfb2b75bc1cabfbfce4fa2daf14a5988928b1784df0e4e7276f083a036f74ba9f1aff9275da90d7acd771c6e22ae5eb3375b7142271f5965db94ef3c221ad34cf7dfe8be32a496667ce8e4dab751905835f1fdbf1feea85972e7c715c597ae9b1c5eaa93b9aa0971e9db7df5055fcd5677f1424535246c9960deb12ae7d5dd7195588cb2bdfb23c3ce39b6c56d670f18c8e631a25ec3cb0cd6ec8b45f3b5357775d212eb77c73a2591a7a7cfa84820aeedcf9bad6289158b1a9b6c0f48d9e1e4dfbea8bff5e5db3b72c23e1cf17db921a3973eaf3d1dc3d95c94fb442517e4efd57c76526991ceeda9ab57af1298959af78febbae5f62e4c8a972d874134b378dc82ab09f3dffd54dbd6497c25a4e16d1a3bb424829d9b30da7d7ee2b27a2c6fa5345eb5f4d360944e4ceb79f3dffd52dbd6497226a7626d11351822f2ac8387fe22467121c564d5f54b1fcf7c282bcab5f9f8831c99898b17dcb9a24e3d067c7faf47a2926e928e66f6c6e9a9c8fc6c2d2f6d7f3fd2bee0420b9dc738d1dab7695af3cda1bb5a993757512a34477655992de12765e3855c7e999169a4d5e97ffd8b7abac42e1ec9913ed37f546ceea703d9672a26327eb862546899915a52ed79cf956ddb17e835e9245299fa2a1d1a9aefbbd2a53496fdfbd6bb3a9e1725de74d22b168ed961436ded8fa508d2ae6cc8a8aa5ddca6ee39b5bae74934264aed9b58d2366b75a7a8768dda3fcc75756559e3d7b54e54db6e49cad5b56677a2ed7d5b5abc4a7e6afad741a62e3acf9fae507824664deb4731b47cc9e60ede957d7550acaec53f789587074eadebd87aaa6329d6dd7ae9d669148b4a4d8273e3b7a526f903451c8f8c63ce6f45c53d7d913f7da75462ec1f15817bba84cd4d5d5498c6ca925db57b9e4c1d685e530914f958337ea9b4767424a58d8b07fb775ce77f6eb1353eb6a4d4f3dd334170c0fb69dec6b55e470eeeaedabf3528888f476a1a7e1e4c8e0ce75854fa4cd9ce2d2abe74f5e67a2deeadcbab5c6aa7fde4564c9e9496d5f5feceed05925594979e2cc15d33435a7bce67a7dd3a87dad65eceef18e76519063b1989bc868a0e63b0dc3ed2ac78cebb66f5d5a075f5cb5e6dcb9e37738a3d99ebe75fb8682f186baba131a0949eecada0ccbe8f3eecfa1cc8fcef47a7bee689aca1b76eedd9d30d171fcee5d519063b168faca809beab8f3d5a5879d3aaba42ace52d25b0d03574f8c0c6dab2a2422437266d1f8f0c24aed99e53bdd16cfc033fee1da12c93b695d55c6882bac5a7fedcaa9f6a8288ba62d5b6b059398e86d3f76e2be24c8b168d4f5ec6c9f555a71f5e2c9db4c944c895bb66d7597555ebd70f2361325a37df3f66deeb2d2f39ffff76da36435913e7b9d1a9c3cdef4e0dd3d5b71b403f87e70a15008557809da511038555decbe104589e38831555198288a1c474c531555e3385e14055555348d2df5338982c011d354c63455e30541535522e2389ee398a6318ee7792255d38888e3795110884855646d45445ab13a8d8844515414e59b2f2d2f9c8806eeb79adca52eabfeb1438e28f21cc798a628ead2ba98222b8c6879de277e68bd7fa3a0a83ad1282cbcc1151bf9e48c2bdfd1e2bb50658df13c470b435a794160aa4a1c278aa2a6aa8b6f99e3388ed318e3396ee564cbef5e10449e2345d5b8c797c31e7f3b8b8dc4711cc731c61697c9733c2f70c45445d1187182408b4be6165a4dd55462b472eda4066fb7f5af5a53216a33ad77c3ab57672c9f037ed62c4bdbb33881a6a98c316d45fb2d6fa7aaa8c40ba2c02fbcce348d178485aaa9aacaf102632ac7098ca94c09de69ebab5853f9e822458e5bf176548d31e2385158dcf734c618a347ef5dd3385e10057e61c763dad29897e0f09531717759d6f242b815db131a6dbf17495c9f93ce88ebbc77cd9e5d9d6ed589e242532a8cf1a2c81391a628ea523737c7f31ccf091ccf344d515522f20c74c54c6959aec7be050982c8f34b15e03851148998a2a88cb1870f6f9ad3d7672548cb4b9818ec8e1852b253ec4fd9377821ecb9dfe1376ec8cf62c43db87fcd94599d69138988e304515c2eac4a9c404c5da8c9624138411479624c65daa38284c6af0ccbbb2bf21f15e4b1e5683c2facdc72411499a632c631f6e42aba6e7d9558badf69605a60ac7e30b4a37cb11b9f170481e71445e51ebd0b9e31c6185b280b314d51972aca718b6ff6c91f98200a3cc7699aca1edffd389e27c618633c2f10d318c78b024fc4344dd3346da8ef96e25853e4d02fec63ec1b8db2b076224e10458e485114c6d8f23289e3048e5335c60b1c53358ee7a33303773ce1ead262c668e841632c794361b261e51a895b9a97b8c7b659d3164aa12a2ac771aaa671dcf357ba34b0428bb6dfb95fb466ad81674bf5e4973ff5cbff8e16d6fe641957547b6146626ce144c4e3bf7282b0d0d0aaa6318d91c0f3aaaae2b007801e65f8cbad0c6fa428f2537f664c931fbf3d9ca629da8a3f2c0759c616ffa7334d5357740dc9da53c6ddad5c05112da7e4275e5a5a78e4fad717bde6a4fd25fa2796a32e27ca6fac6b79c39ef683b2f24d3d6bc695ef68c5048f12e3e2948cc9f2ca8a2d1c536979f8b2f6f8f1495517b799b127d7b8f2ed3cb1b4c565aa4c53b5954db8fce313255d58fbecc8834b4dad95b507448e4874ac5db362eb9f31cb8aed797282a7969d34557ed4e04fb4884a448ca9beb187971a6e976ddbb7f2561ec4d8136f87d8936b5cf9ded9e32b5ad9ffa8acacff8ac98c8eacd933178eb592284aaef4d222abf8f8feaccab2fa8d85694c236df1ac79acf572fd8022beb2b3f4898106aaaaaca8fd633bc0d20eb6d85bdc76e56a7f8c7f6557c952633ebe6f68aa2129c37ff3c2d18edb922826a796d624888be399d8e39bc7d46fec124fd9fec5323eb6433e36d9135bbe72ca2756919c98fef517c74da2c0191237546f58f901d1d447ad4344cb97423eb6f0273f454ffef0c4debe5c13b6b4b4c57f24ecc9765fb85dcf5376cbc7d6fe7811963fbf8ca94b1fa585bfebac4eb9e5c29fba3a7582604f2edc5aac7b724f63daa3353fb1cd4ba5a0a51df5f92b25a2906fecf28526d7eaea8594bcb410959eff3f73b97a2baafdc48c8fffca9e680ba46400f428c3cbbccb89a2c898aaaadadfbfac95bdd42f7fe1784114384551187b11364365dffa76ace8697b46738b02cf2d77f7feb54b1744915beca1fc2bde2c3dca457fd11238411079fe6fddc8bfae207fd5a24451e48896bbc65f8c5d7ab97ff7db5be662fd177b82bfdbed5f3847a728da3ff633090008ca0000000000df333ce707000000000041190000000000411900000000004119000000000041190000000000411900000000004119000000000041190000000000411900000000004119000000000041190000000000411900000000004119000000000041190000000000968828419c8ac562914824168bc5623154030000e045c3719c24493a9dce6030e8743a14242e1b31140aa10af14555559fcf27cbb224499224711cc7711cca020000f042618c31c66459966559a7d3252424088280b22028c377485194e9e9699d4e673299f47a3dcff348c90000002f6c56565535168b0583414551929292441127f31194e13bfbbc79bd5ebd5e6fb15824494241000000e2822ccb7ebf5f966587c3811eae38828bf9e24930181445d16ab52ea7e470383c3939393131110804501f0000801793244956ab95e7797450c617f4ffc79368346ab15816ceda689a363434343b3bcb185b78d56ab5e6e6e6fefde774bcde99244712ff177fddf5fb674da60441c0972e000080e7656593c9140c06cd6633aa112f106ee2862ccb3ccf2f5f363b343434333363341a333333939393398ef3fbfd7d7d7d9aa62d4c109c1b6bef78d0d3d333343ecbfeaaa03c3dadfe9919229d3dfdead22f81804f7df60ca179bfcad07a000000a4d3e9789e571405a58817e8518e1b8aa20882c0f33c1185c3619fcf67369b4b4a4a666666ec76bb5eaf1f1d1d0d04027ebf3f21218188e6fca1a2d27c8328701cc7189b1cea9d09b18cc23caba00df5f6855431273f8742415fcc3737ab15e4baa747fb6742b233a3509494c1de070a13b3f3738c024f4b7dcce179afa24f4c10233301d9959cc4118d0d3c9c8f689a8e7710f97d63639e7946647766241b59fff09894e04c3669f7eff75a9d99b92eebf0d8b8cae9b2f3b28d22aef90500801fa285e3b8a228b8a42f5ea047396e689ab67c27b85028a4699ad56a9d9d9d1d1818181d1db5dbed0b193a180c2e4c9fe14c1becefecee1b55546d76f4a16acb2c2fce1cee1d54233147767179ae7d7cd417f54f4ffaf4254579f313fd8a25a5bcbcdc69138253c194fca2e22cebf8c8ecc2a262c1194551a73cfd9e715fc4e70b68c2a4776666ac975953cacb0bb599398d02e35eada4acdca4131c0962efe0647e719925361314edf624677141d6d4d4784e7e717961ae84111a0000f043b5701c5f3ef70b2f3e7ca18963e170382525253535d56ab5462291e5c1ca0b98de5c52b44a0bcf75f70ee9d4f9987f2030c59bac8981f0f4b067442f4635c145229fe8b4334df58763a94ea3aaaa446448b41b8938834e8ecd6be4e0892c3a6972c6a3e8734c14f08698338d0f4e933f1ccb4836a92ae7c874f06410d8f0bd7b01c67419317f2018e8ede926e29c3ccf98a6aa5a5666565f5f67883316e7659380ab7d010000200ea07b2f7e9a8a7fd458269389e7f9b9b9b9e1e1e1848484582c66b7db9393938968e525028c691c912ccb36abdd929c56585898999ce09bf0e715e4a727591673352322b299f493bec0d25cec8941c53657a27760d29662371a846054954481884c06dd943f42a44c7b6619897ad1565c5a5e59912f98ec66a321272fbf3037c7ace70522c648e6a49ca2f23cbb6e745646530200c00f16c7712b0fe8f0a2b7176e53122f64590e8542cb432c060606666666965fb5582c66b339140ae5e7e72f4c10f0793c537ec6e9b2f3b3f53ce71de99f09c9f6e4f424833630ea112c3687c5a62339a6335b750271dcf448ff4c4876a4e5913c6fb727f25c747636664fb42e74ff4e4e4c399cc9a21c9a8e505282617a369094649f1cea9b8fa816674a8a8e3d1c1e265ec74523a6f4bc34131b18195779435e764668cee3f1a9c916ce3b17160df6ec4ca77762d2e1724e4f4e25b99c339353494ea7883e660000f801d0346de112238c514650866f9fcfe74b484858be3ddce0e0a0cfe7fbd66f0ff737084e0c4d728e5c97393433e88938f3d24d682c00008027c8b23c3f3f6fb7db510a0465f80ef26830288aa2c9f428868642a14020c018339bcd168be51fb71f7113437df31145b22465a739d03f0c0000f0d4e3b8a6692b8fe380a00cdf1ac6d8fcfcfcca27f3010000405c58788ab5cd66c323ace3088693c7d5d71a8e339bcd8140409671491c0000403ca5e4402060369b9192e32c7aa14739eea8aa1a0c06753a9dc160e0791e1f390000801713634c55d568341a8bc5cc66b320e0915b08caf0bd88c562b22c6b9ab670f36300000078d188a2c8719c24493a9d0ed5405006000000007849608c320000000000823200000000008232000000000082320000000000823200000000c0774c4409e2cbc21d1919638c3154030000202e701cc7719c200878fa0182327c5754555555d568348aa2c8f3381b000000101f344d1d09dbf500002000494441549365391289e0081e5fd054f1f4195314c56ab5ea743a7cc6000000e2296ff1bc5eafb7582c0b0f0b43411094e15ba6288ad168444406000088538220180c064551500a0465f83631c6144511450c95010000886392242d5c6b84522028c3b71994354d4377320000405ce3380e41194119be93ac8c22000000e0800e08ca000000000008caf00f161e1ef6a30a0000000008ca2fa1d6d37f689d0cfdad73878687fd03571b87fd2154120000006081f0ab5ffd0a5578f131c66459369bcdcf78a24f787c4a0b4f4ea767a5f11cb5d6d79d3a539f90536e8b8dfef60fc77ba7c38539591d573f3b75a65e975a9462d37b871f5cf9ec8b4993db29f77f7ab46e744ed5098eec2cabd19e20f8477ff7c7e3f746e68bf3b36353930fba5a3effe2dcbc94929d62c3a384000000fefe037a28149224098fe88b0bb8ddd8cbc0dbd9e35c55e1efeb09c7145f57b33f6debe1edc944e193750f7ff2e1c746911f69b838edda7c78bbf3e29f3e9d7ced9de67375abdff93fb3ac6a5d9de7271ffe32da7bee0f6321f7e0a490683a73aaeded9ffe9c9fbe73e6eb7b35995db7bd853f3fbcaba9f16a309c66310a28350000002028433ce9eeba71b7fe3aa7fadc9acb1ce4d615251211453c7a67b151e489a88f3356672712d1eae2cc8948d49553916ad6516440e72c324abcb164fdea9928a9449109737e9559e229755d8af1b4aca5ac5b9fc71359347d44512c84a00c0000003f2018a31cffc27d6af6c1c3ff72f8f0fff17f597d9de946767b649688c8901a9dea0e2b1a119599d5969159226aeb1e4936e8176734a4b0c9b6a8ca7cbd77fba311222243269b6a0fca5ad8736b229c2561ef000000801f30e1934f3e41155e7ccf19a3ec1b0ba415a418049e88d7719233bfc4df75fed499fa849caaea3cfd1fff74a2773abc7ad3d6c0fdf3a7ced417ef793bcf61e4886c890e9e93dc89f29f8ed74d0b79db2ab3cc669dd19e589a613a7aecc4039ff9d0810d22cf4916bb591238224b824d12119c010000fede033ac628c7112e180ca20a2f3e4dd342a190d3e9c4e70a000020ae0fe85eafd76432e169bb71018d040000000080a00c0000000080a00c0000000080a00c0000000080a00c00000000f01dc30347e2492412c15d2f000000e217630c45405086ef84c1604050060000885f9aa6f9fd7ed4215e60e805000000000082320000000000823200000000008232000000000082320000000000823200000000008232000000000082327c7b5a4fffa175324444347da7712c4c44141ef9f4d89998468aaff7ab2bad2a234fd7adf6d1c57b379ef8edffb8b7387debe9fbde672c35d274ba4179d62ac373d351e5cf4c0300000080a00cff5061662f0a7575a92b1ef7d3d7355b9c699d0e44457b7e51527060d233e0d795a75b175e2d5db5f6eea58690ac2d4dae5cfdec37473efd723e161de919d68888c2fd3db39985593c85cffef6bf8e1c3972e4f8b9b01cbb7aea37473efd623e1ab974fcc8bffecf7f6d1f0eba0bb378a2f66ba78e1c39d23e3c4744defebb75bffdcf239f7e311745840600008078257cf2c927a8c28b8f3126cbb2d96c7eea93f9bc9d9dfaa2323e3c674a4cd2c52687d564b7951b1df554accdebe99e4f4bb325a5a47ff5fba36bf7ecb6e98485597afabb365626b7dc0ae4a62a0f83b6428b62295cbfad44d7705f6534919090a20c774e25264db5f7fa67a7dc35bbb65524fa99bbc84196c2f5db4af40df7b5aa3453c6e67d9569c67bcd5dccdb379c58f5cefedaceb3270deee24b27fe57cd7bfffbb602bea953cd5b8ae6000000c0180b85429224e151bb71018fb07e197477ddb85b7f9d537d6ecd75c04d44141eb9d774b3a5f1f68d80985056fe4e6cb833bba274e8e154caaa8ce5cfa529657de2405d8fd745449efee1fadbcdbe50d05670a8a648e89cf0b3e9506986a18d2825d5fcd59f7ee717b92dfb7f32d13f587fbb793614b4e6bf4ec98f36a09ff41bb31d44b4aa386b3c1ac92d5de730e944dec94d8e6b9486d31600000080a00cff08e13e35fbe0e137d33852ae5d6e88a65b89a8cb137ef7e7bfb4e9055fd78dcea9a9e090bfa676cbfdebf5d36157b2515a9e75fd9657eafee33f2ceb8b7b6626f6bef54f9ca7e1cb41cd9859a66bba14d0971a753c115924b5e2ed9fae719a88e85afdc4eeb7fe89f7347e39c82403459606569458d88d91e9ddc529eddd4325391b826814000000887f187a111f9e33f4c23716482b4831083c11afe3243deff750523aaf73b8ec1c91213969eac683dceab536bd909a963038144c76983922e2c86673089c949d66e6cc89ab32cd278e9ff0f2b9db2ab3cc2683e6a7d4c20ca32470248ccd4f765cb874fde6cd7b93a19d6bf23e3b79728acbde56999d94eebc79eae4a43123db614d2dad08765dfceceb2b853bdfcc779939226ba283e788484a5c581d00000060e845bce1824174ffc5014dd342a190d3e97cfee76ab0b5feabc69ed73ef830d3a6fbb6565d7ffed4fa1daf9b44f5e2c5339bb61e34e9f0c1060000f8db0fe85eafd76432f13c46262228c3f71b94bf0be189fb47bfbc16552c07df7b3bd3a6475b000000202823280382320000002028ff70a19100000000001094010000000010940100000000fe66b88f723c89442218a30c000010bf1863280282327c270c06038232000040fcd234cdeff7a30ef102432f000000000010940100000000109401000000001094010000000010940100000000109401000000001094e145a68cf40c6b28030000002028431c693dfd87d6c9d037ffee9b9b56bfb55b9b2bc33d438f05e5f0dc745441f1010000e0a5247cf2c927a8c28b8f3126cbb2d96c7ec60347c2e3535a78723a3d2b2d3ae189180c7a9ef778bc9189aefff5efff39302f94e667775c3b75ea4cbd2eb528c5a6577c83bffbc3f187de70616ed6dd6b9f9d3a53af4b294cb1e9bd0f6e1efbe2eb119f1818bafef9997bd96585dc8cf74157cbe75f9c0b59b3b31cba919ef18cc2ac8eaba74e9de9c82ecb6d3efeffd55d6d4fc82876d0e4efff787cc26fc9cd76e08128000000cf39a08742214992f004310465f89e82b2b7b3535f54c687e74c894991fede50529255927a7a06d273cb8d14ddb377efe4f54bc3cef5efbcb2fdde5727ccb959172ede3df4e3b75615668f375d1c4a5ef7ce2bdbef7f75c29c537cedc2e957defd98ebbce849dffaee0ee7e9c6e94cadb34dcb7beff5bd832d97f569e9bec1490a8f86d336bcba3dbff1726b459e3b6bcbbeca34dda52bf7f7ffe847347e376076261a75682f00000004e597001e61fd32e8eeba71b7fe3aa7fadc9a6be3d326e8e38cd5d98944b4ba3873627658e72c324a3c11f5937153561211ad2a764f446225799556bd60b3e7246627905197149d6094b6ae2c8d23aa48b78d476244d43f3c70ff6a5b8bc4a7176ee2689e882832d97af34eef601791e54039f6280000004050861744b84fcd3e78f8cd348e946b971bb464bd6736966ea48bf58db925c54c248d5199596d1999dd55e86ceb1ea9285cfde0e6cdb09c6194f852b3da3232b3abc8d5de3d5c5e503dfd94a5f75c6d35bdbbb9b07b74a2a070d53c51ae3b872f28d85eec546439d4d71c51880cae828a8a3d07779a394d16043408000000bc1c30f4223e3c67e8856f2c905690621078225ec749b69cfc81cbc7cfd43fd8bc6f6f96c3cae63c754d3debb76e0f765e3875a6be78cfdb790e5b41aaf0a7a3271e7ac3ab376d0d769e3f75a6be78f75b79c9268ec89490c07164b427e805814832c83a55193efbd5c5a4b5074a53ad1c099965e5739d174e9db912b5e715e6a7dd3c7572d298b3abc276ece889e6be998aa23c49c0b924000080671ed031f4228e70c160105578f1699a160a859c4ee7f7fcb99a6e6b8b141666984c68020000806fe580eef57a4d2613cfe3ce637100432fe0794ca9a93a49421d000000004119e031c6941414010000007e98d0ed0f0000000080a00c0000000080a00c00000000f037c318e578128944703719000080f8c51843111094e13b6130181094010000e297a6697ebf1f758817187a010000000080a00c0000000080a00c0000000080a00c0000000080a00c0000000080a00c0000000080a00c00000000f042c07d945f06678ffe3fbdb37aa62a657bdfdd51e858f9926f6eda6a730811df346f75e805d40a0000000041f90724a378dd8e559b755cb8f1f46dbf359f9293ada2e8f178c5e0d0bffff164daea1dcec99bb70396d7dffea8d43cf3fb93e72457c18ff7d7aa53137d23f79b6e3f2ca839585b99d97ef5b3e6ce89a29a83b5959978a8090000000082f2cb60b4fb56fdf5bb3a51a93ef0616cfc613421c12a8ae3e3932525ab6b6b3c6b76ecf6b74b59eeb5650ee1d86fdadff9e0636efaf699afef6dcae8bce32df9f8f0aea686ab215f74945f7bf8b05b9165d4130000000041f925b1d0a3cccf0d7ed674c799627de6749109737e9549e22975bdcb785ad152d7aecfe589cc9a2e2c66e6e82effe677d70aaaf76e2e4c4649010000007031df4bf4a547afe7785e678c7a666344e18bf58d51222692c64867a0b04c64c8d4a6da42b216f6dc9c0c67892b1b5f560ad7effbe883f7794f4b44452d01000000d0a3fc5290e726fff3d747c892f1fe3bfbad12eba8fbfd914969c7c18316894bb3597e5777fe83836b478e1e8b6c3eb47f47e5ef7ff7ef92abe0c7fbd7a953c364d211516a76a6491f39fddba3131179e75b1f1a70c91f0000000011170c065185179fa669a150c8e974721c2eb403000088e303bad7eb35994c3c8fb3fa71008d040000000080a00c0000000080a00c0000000080a00c0000000080a00c0000000080a00c00000000f0fdc37d94e3492412c1ede1000000e217630c45405086ef84c1604050060000885f9aa6f9fd7ed4215e60e805000000000082320000000000823200000000008232000000000082320000000000823200000000008232fcbdc29ec1a970eccf4de3f1cbf2c2cfdee1610d5503000000f806dc47f965e01b6c3d7af116c96a6adec64d49f35e29d969d43d67fa90c7134d48b04a12114d0d0fdbdd6e7c61020000007882f0c9279fa00a2f3ec6982ccb66b3f9690f1c51ce5dbefde63b3fd9b4617d715e6ac4333e3a3174f6abb37e7d6ab6cba6fa067ffb87e3de903527cbb1f073af379c69d43167b23138de3b2f6a930fae5db976eda1b7ac305712b8b6ab9f9d3a53af4b294c91666f8d2be90986be07b72c89e977af9d3a75a623bbac50171cfddd1f8f37df1f2b2ccad38b08d80000007fdd013d140a4992842788c505f428c73f65526f2b353ccaac837df3e53f3fbca3f15a7d389ad0707df0bd8f7ed1df746968ce71e7f2c39f7cf0b151e2a75b5bd590e77ccfecae0dee2f878676bdfb4b6b78f08bcb1d6bcd3353c935870fbb2e1dfd74f2e08f75c30df7668c4a72d9e4dd2696537bb8869dbfd0225af937dff999554fb220a0f6000000f012438fe04bf065c76288ccad78727cdadaf5b93c9159d387fd63ad37effcd7bffdbafebe478a7af5ce22a3b4d0e233a7bf6e487517ea04ae24afd2aa17447b5eba30dac30cd5d94944b4aad8ed8d442b57a51d3fdb559466eb1f1e683cf58723ff7e34a2b76eabcaabfbe2f8ef4e5d51143cad1e0000005eea908512c43f9b51dfddd493bda5d0f1e42bc694828a8afdafed3492260bb168635358ce304a3c51d2c1b76ac65b9afdc9dbbafa3a52d7551b66effaa5ec4aabefc6c8ccae22577bf770797ef5ad5b9e8f5fafbadfefcd75e7680505db8b9d8a2c6b441fbcfb5ea0fbda7d6f605d9a0dd5070000809715170c065185179fa669a150c8e9743e6b4853cbd7bf691d8ae495efaac9974209694ea3ce33389a90962a85467e7ff25cd496f3d1a15d6270f8f727cf59324bf796e7734e87950b76f6c7d26cfecb67ea27cd991f1eda6d94f8b6ab9f35774ed41c7cafd4e2eb8f390a5de6dedececc9c92aec6cf9b3b3d653bdeca0a779e6bee4cc82d7b63f756092724000000feca03bad7eb35994c3c8f832882327c5f41190000001094e1db25328691a6718031869602000078698ee938acc7057c9b0100000000405006000000004050060000000040500600000000f836e13ecaf1241289e0ae17000000f10bd7f02128c377c560302028030000c42f4dd350843882a117000000000008ca000000000008ca000000000008ca000000000008ca000000000008ca000000000008caf0ed52467a86670687e763f25f3843d8e3f1cbf2cad9711b1b000000f861c27d945f06bec1d6a3176f91aca6e66d7c755795f0e8eb8f32dc33e4b4707a47b24d27fdb9c5449a4edfca4f372b369b559296674f2d74e3eb140000002028433c52aede19f9f0c39f1bc5c540db5a5fd7d235b9f9d5f72b32a49561fae4b996bcea57b757664cf7dfbd7af5c69439f3a343bbc5e0c8a727cf46f469effd788fbb308b0b4e0fb65dfdaa63b078e75b5b0b2d0bf3b65d3dd5dc197bebc337ecd1f14febce457429efbdbddfa6c7ce0300000008caf042e7e449bdadd4b09492471a2e4ca76c39bcdd79f18f9f4ebdfedaa3c9ecee8f7e5175f3f68d5024f56a43c3ce777f69090f7c71b923d11c7aebdd7fb2e84816e47b3d43f9e9fe295dd1c7875fa9ffeacb89b4ad4434d2dec4726a0fd7b0f3175a442bffe63b3fb3ea491604141e0000001094e1056f438b21e261440bcfb6ee23e3a6ac24225a5d9c3911892d4d14ee3873a17bde3716b59695ad29c9abb4e805519f9f269c5eb37aed9f3e3fce49ceb75faf2122a2d4f5a5a91c5145ba6d61f681e181fb57db5a243ebd68d381aa944f1727de2949789836000000bccc30faf4256033eabb9b7aa6177e29b3a8cd233344d4d63de234e81627f10fce666cfcc52f3fce4b648ca8b5ebda7c440d7bda025236e91c1fbcfbde1b65bafbd3412222f2dcecf430a20723134e939e8872dc39157bde3e7cf8f0fe2da59a94f4c1bbefbd51aebfef0da0ee000000f072137ef5ab5fa10a2f3ec6982ccb66b399e39ed28f9b9157e9b971fccb8bcdb39184b20d6be6ef9d3b75a6be64cfdbb90e134782cd916072e569c3d73e3fd3ba71f7be74bb490afa6f34345cf708afefde3871bfe9f8a93363bc6b7b65a1c009b68c7c83afbbeef3b349eb0f94a65a391232cbcae73a2f9c3a73256acf13c65b4f9c3a33c23b6b2b0b057428030000fcf507f450282449d2530fe8f0a2e10201740dc6014dd342a190cbe5fa563e579d8d8d859b3763d80d0000c0f77f409f9a9a32994c3c8fb3fa71008df443e474e38e6f000000007f067a157f8892dd6e1401000000e0f9d0b1080000000080a00c0000000080a00c00000000f037c318e578128944703719000080f8c51843111094e13b6130181094010000e297a66928421cc1d00b000000000004650000000000046500000000000465000000000004650000000000046500000000000465f887f10d0dcfc764d4010000006001eea3fc5264dcc1d6a3176f91aca6e66d7c755795f0acaf3f61df346f75e885672c64584874d87412ea0900000080a0fc7250aede19f9f0c39f1bc5c580dc5a5fd7d235b9f9d5f72b32acdefe8eabf537a724d7fb3fde73e3e8bf5e9fb3bcfef64769daf88d4b4db69ad7aa9dc14f4f9e155d053fde5fbb30afe7fe8dd3d7ee2844653bdf2a31ccdcbcdc64a97e75932bf469dd393139ffed03b59a7752494ab24ad2c484372929696ee4feb56b37278de91fbcb1c724e10405000000bc3c906c5e829c3ca9b7951a9652f248c385e9942d870f1f9ebcfaf954503efbf9c99a773efcf860fe8d8ed9d5ab6b7ef4d39f5566589bced595bff9fe9642d3c9536d3ffee0e337d759ce7c7d4f2322f2778df03ffbe7c3e5e5a56bdc89d7cfd795fee8fdad45e6bacfdbdefee9cfdfdc603dfbf5dda0c7331f8b1191c733158b690d8d0ddbdff9e0e3bd05672fb7e3594300000080a00c2f12d16288cc2d3f39be8f8c9bb29288687571e65424965fb13ec9208a76274dcc2c4fe3caa94835eb283261ceaf3249bc31757d8a7148d188c828f9bbfefdc89187f32449bc2b7b7132535e9559e28d29eb528cc3f2e371b828b7d26610c584bc74614c46520600000004657891d88cfaeea69ee9855fca2c6af3c80c11b5758f380dba95d349060aafbc5acf90a94db585642decb93911ce127922126dc5b91ffef2f0cf0e6cd309dcf264ccdb1e94b5f0c4ad89b0db648a7a666344e14bf50d11a2f6ee065f58094f74f8a52c8cbc000000809789f0ab5ffd0a5578f131c66459369bcd1cc77df3d58cbc4acf8de35f5e6c9e8d24946d58337fefdca933f5257bdece751839225ba283e7382229253ffdc6c913d3e6ac2c87c996e8e0393e2fd5f0a7a3c71fcc5b0eeddf20f29c511f69be7eef4653c3cd3b77b894c2349b7e79b2a3c74e3cf0995f3fb0d1ec4cedbd7ce2cc9507d57bf66427dba4a0ff5653d3f531eed53dd58fb2350000003ce3801e0a8524497aea011d5e345c201040155e7c9aa685422197cbf59d7eaefc5d57db0de55b72927c7d573a9455db8a12ffec2c9d8d8d859b37e39a50000080bff0803e3535653299781ee761e300120e3c622dd9a63bf3db2367c3e94535076a13ff92599c6e373ee8000000f052428f72dc7c01fd1e7a94010000e0bb3ea0a347398ea09100000000001094010000000010940100000000fe66b8982f9e4422118c51060000885f8c3114014119be1306830141190000207e691a1e631b4f30f402000000000041190000000000411900000000004119000000000041190000000000411900000000004119be0bca48cf30ee4603000000f057c17d945f06a77eff3f46fc09221f8e72f9fff4b303deebd7a5756b33cdc6e5a03cdc33945ae8c6b7220000000004e51f16476ef9deea834681c2230d679b07b667670992e41b6c3d79ae256fd3abdb2b1c0b93b5d67fd6d23551f3eafb951956cfbd96d30dad0a51d9ceb7ac9e86e6ce89a29a83b59599789c09000000c0027432be548c99eb9c7ecff4e0d0bc2c93ddfdd12f0e1ba2a3e1884a44230d17a75d9b0f1f3e3c75edf3c9e074d7a8f0b37f3e5c565ebac63937caaf3d7cf8f0d6921414100000000041f925a50402a4e78888c21d672efcc7ff3a72e67aafc61811f573c6eaec44225a5d9ce98d0892bfebdf8e1ce9f59364cdcbd1ddffcdeffed0323087ee640000000004e59752f8e47f1ecbd958ce13d1fce06c66f52ffef9e3dc44b670195fa9596d199925a2b6ee916483d9569cfbd12f0fff6cff361d530bd7effbe883f7794f4b44450d0100000016618cf2cbc0acc47efb6f47882cafbeffcb0cabe4cbcee21d69593d5ffcfa48c39603fbcc3a9dbb30cb55e8f6d47f76e4d244cdabefbbf8e9cbf7479a1b8f6882b07ecfbee12be72722f2ceb73e3408a825000000c0222e1008a00a2f3e4dd342a190cbe5e2b86f617c84bfeb6abba1624b4ea2aff74a87b66a5b61222a0c0000f0fd1cd0a7a6a64c2613cfe3ac7e1c408ff20f91b5649b74e63747ce46328a6af6d72225030000003c057a94e3e60be8b7d8a30c000000ffa8033a7a94e3081a0900000000004119000000000041190000000000411900000000e0db84bb5ec4934824828bf9000000e217630c45405086ef84c1604050060000885f9aa6a1087104432f00000000001094010000000010940100000000109401000000001094010000000010940100000000be7fb83ddccbe05ecbd70dad434454bcf9953c3d9f51e87eee17a0e9c6c6e8e6cde97fd9b2234da76fe56758e4c2c20c9309a50600000004658827318bedc35f1c360a44a48cf48cffe5332ae35dbda69ce204036a0800000080a0fc7253867a8626e6ba6c79db95be7352de6ea5ffcad53bc3bce4fec9fb7bef5e3ddaf670ce62e475597b1726be70ead8cd70e2a11f7f141dacbf757f5ce0e4ea033f2d35cffdd7e717d5702cc19dfbe6bead444434f3d5f1631489469d051fbfb663b2ebf2b9e687ba8c929fecdd76e3c4ffec99150bb7ef9c6c6d9a0e8473d7edd9bd2e0f037a0000000041195e08d3fdf7fea3feaec8d3e657df24a2aaf53b9b8e1da382da2db6d9ffbbaedde4b68706eff44ee5fbb98dfff22ff95cb8bfeef642bb8bebab77b833d794d9fd5fdeccfee77f7e8da7f0a5e38dcd16e1f537de77d9f4fd972e0df882444464def9c6dbf90996f19686d1402839c121720f07fb46a25195ec89effff83d239b3bd56528acd8b163951b4f0e04000000046578513872cb7fbe7fb35120a248631b11c9be58c4140d323297ef7c7befae7c8e8894b1b3dd612222496fe39e78d0bc64b23dcab77a8b9e139ebdb270ffa576ed838f0fdfb9754720d24b369e2312120ebdf5ce70fbb56317867fb473b30e5dca00000080a00c2fa0f66b57d6bef1d3705f4be7645592fed6912317b804f7fb6fed73a8fff5eb23e74d069dbd78e7c2940999b64ffff8fb9957deb6ea077efdeba647432ffefb0f8b432fece6692232a80d9f9fbc140ab3e48c8f5695df9a38f66fbfeed02c9692f2cac55546a64f1c3d351d910bab36f1e8520600008097021708045085179fa669a150c8e572711c72280000401c1fd0a7a6a64c2613cfe3f46b1c4023010000000020280300000000202803000000002028030000000020280300000000202803000000007cff701fe578128944707b38000080f8c5184311e22928a3c1e2e8736530181094010000e297a6690b877504b0b880a117000000000008ca000000000008ca000000000008ca000000000008ca000000000008ca0000000000df3fdc47f96570afe5eb86d621222adebc5b1af2149567e9d2d26cbabfa2717d43c37c6aaa4d273df1f7968ba757ef38a8ff5bbf4f0d365ce72a2ab312cc68230000004050867f8098c5f6e12f0e1b05228a340e79fee6e5f474b76615563d3f162be3ddbdc6ac62bb11650700000004658833bec1214372f2d53ffdbfd3114b80e756d5fe686b8183887a3b1a2e35ddd30c290737260f19cb376728fff569fd4ffeb7373b3aaeffffeddded4b53511800f0e7dedded6ed3ddf992b69cdb5093896652eaa891e5969a52666aa9e5a217f21fe8cfc9c442a6226a2431424d6d509b4c946116f8d2e69a2f31e7ccdbbc73af7dd0b4a80f7d0851787e9f1ece87e7c33d877b1e0e0fe7c4792351d63dd0d5af3cb7517f3ea3cb341ae182bababb6b8ed99ef965361cd454371729a400e19157bd363f537df35ec8659e9859e111214de51d55d43d60b2b0accb213ef3b8f2e4f0d0f84efc30571607303b39689e720125bfd5542ea571c921841042080b657450bc8e9976f3078a04edd5dabd41b9ea7445899e4f84ad83e650969e4f00251000a3b85d5721116c7d19712dac7e5329d3b9e016c5022d20695541b9de57505a6ab758ebeb9a13e2f800b0922ed395358978ebe691b598424a0055a4b9244f2bc84bfc6e9a50b68774a9f40000019649444154b45c23811bed7d472825ba46838c7499e798cd7597aec120e3b9dece31e2ed4508afbc7e69a7e5d2c0b27ddeab2d4c93e27c21841042080b6574409233f21e546a775b2fecbb8381d0662c06f0cb8bd72a75f1a3ac8dbe6e637e550395e8736ef8b545d953d37650e427b9a7ff9a59c867480200201c08fc9e8c2f62f65b34d4a78e773c37465294869a327178bbed993192a2345c2ff3d8160120e7e28df2cbd9f8f43642082184b05046878277d9d9ddf6d417f4eb6aeef309008005db9bd1a9055a141f4f9312c23f49670a25995e87a538bf30e006000871abed7d43cda5d93dfdc69dd68b3fd33272a6b3bbd35751cf089dadad969dd60b92fb4af062b0ee1cffb47441bebd17670010d48963e2b127ad638444de587b454af3706a104208217424102ccbe25738fca2d128c771a9a9a904f1af27b31fdfbf576bb50753960e9b5e9cd5572709299bddbaf479a9a4aa265948d9ecd61cb54622c42b08114208a1fd0ddde3f188442292c4fdf108c01365f41fc812627d1d6db19848959ba54a21fa7fc6b400ff02082184103aaa7e00dbe8b1f54790d6200000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Desktop view of the jQuery Mobile API and Docs application (http://view.jquerymobile.com/1.3.0/)}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The same goes for the jQuery Mobile design examples, where jQuery Mobile intends to add further user interface experiences.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000001aa000002cc08020000003aa8617b000000097048597300000b1300000b1301009a9c18000020004944415478daecbd79701cc779ffdddd73ee7d6371df044090002992212551a268dad6e1c89115c94aa48a23c7ae388e1c3b95549c54d995b22a4e39e594cb710ec72ea77e8a2545b6638b7a2559d44549767853242192204080b8cf5d008bbd8fb9bafbfda3c1d5123c0490e021aa3f52b1761733b3333ddbdf799ea79f7e1a524a0187c3e17cf440bc09381c0e973f0e87c3e1f2c7e17038373b62e91b8cb16559a5d1408490244910c22bf90e765800802ccb5778a8254208310c0342288aa220088b4e4392240000bb52411044513cff842f181285100a82c08e0321bcf296e170383784fc1142c6c7c74f9e3c99cd668b1fdaedf6dadadaa6a6268fc773d95d7d7a7afae8d1a308a18f7ffce34ea7b3f44f86616432190080c7e3395f862e9b542af5ce3bef2084366dda545353c3ae6e6c6cacbbbb1b4278c71d7788a2d8d5d5353f3fdfd2d2d2dada2acb72e929f5f7f78f8f8f9faf7de17078eddab5535353274f9e74b95c1b366cf0f97cd7f1e61986c16e96d3e92cbd040e87b36cf93b71e2c40f7ef083a9a9a9e287b22c575555dd7df7dd0f3ffc706d6d2d4297e32cf7f6f67efffbdf174571c3860da5f247291d181878f6d96701005ff9ca57984ead08333333fff44fffa428ca934f3e5994bfe3c78fffdbbffd9b288a0d0d0d4ea7f3673ffbd98913273ef7b9cfd5d5d5956a473e9f7fe185179e7ffe792679a586f08e1d3bbef9cd6f9e3871e25ffee55f1a1a1a2a2b2bafa3fc514afbfbfb7ff5ab5f0982f0e8a38f3637375fdedde170b8fc014a692693191f1f8fc7e35bb76e0d06838490a9a9a9aeaeaea1a12141103ef7b9cf0583c1a2565a96250842d1b52c62591621a4d431cce572636363922499a6b968e3c9c9c95ffef2970080471f7db454fed8f11142173309d90617733f0dc3181d1d5514a568c9b2ab1b1b1b134551d77545512291c8e8e8683c1e27842cf27ca7a6a67a7b7bebeaeadadada8aca88100a87c30080743a3d3636a6288a61188bcee7820dc2fe8a311604812914c69810228ae2a293c718b3cd2e7610cbb244512ccadcc4c4c4f3cf3f2f49d2f6eddb9b9a9a16dd82d22d391ccea5e4af482814fad297beb47efd7a00c0d4d4d4b3cf3efbfcf3cfbff6da6b5bb66cf1f97ca6699e3a756afffefdf178dceff76fdab4a9a3a3c3e5720100e6e6e68e1c3972fcf871d334cbcbcb376ddab47af56a87c3517a705dd77b7b7bfbfafa1c0e87cd66dbbb772f53a8d75e7b4d55d5d6d6d65c2ed7dbdb7bf4e8d199991955553b3a3ab66cd912080430c6c3c3c3dddddd1e8fc7e5721d3f7e3c1a8db6b6b66edbb6adbcbc7cc5fbb920085bb66cf9ea57bf5ab4ef20842e974b55d5455b6a9ad6dddd7df0e041d6201b376e640d924824f6eedd5b28143a3b3b8f1e3d3a3131515959b975eb564ae99e3d7ba2d1686363e33df7dc1308042084d96cf6d4a953c78e1d9b9b9b73bbddb7df7efbba75eb54559d9999397af42800201c0ef7f5f58d8c8cf8fdfebbeebaaba5a565626262cf9e3da9544a1084b7df7e3b140ab5b6b6c662b123478e7477771b86515e5ebe61c386f6f6f645b780c3010058c4b0882120518092857549b05d56748b0270a5e16f4a09a11821110278fde54f92a4b2b2b29a9a1a84504545453a9ddeb76fdfc0c0c0f0f0f0dab56bdf78e38d1ffce0070303038661c8b2dcdcdcfcf9cf7ffee1871f06007cef7bdf7be9a59766676701008aa2b4b5b57de52b5ff9f4a73f5d6addf4f6f67eeb5bdf1a191979e08107ec76fbae5dbb92c92400e0a73ffd697575756d6dedae5dbbfefddfff7d606040d3348450201078f0c107bff18d6fc8b27cf8f0e1ef7ffffbaaaa0a82303c3c9ccfe77d3edf030f3cf0377ff337d5d5d52bdb2e104287c3515e5e1e08048a9fd8edf64506ac65592fbffcf2f7bffffde1e161c3301445696868f8e217bff8c8238f4c4d4d7def7bdf9b9898d8b871e391234732998cd3e9dcba75ab699aecadd7eb1d1d1dfdca57be2208c2cb2fbffca31ffd88b5aa20088d8d8d7ffaa77ffaf8e38f8f8c8cfcebbffe6b329974b95cc3c3c3a9544a96e537de78e3effffeef2727275f7cf1c5f9f97900c0fffeefffb6b4b4949595fdf33ffff3cb2fbfcc4c5a45519a9b9bbffef5afdf7befbd8aa2f00ecf29112d1ac90ce6cda45b09ba94d0e0fce1d565db14c1beac83106266cda45b095de1c99844cf18718f522622e9facbdf2229acacacacacac7cf7dd77e7e6e64e9e3cf9939ffca4a7a767c78e1ddbb76fefeaea7af5d5579f79e699e6e6e6743afde28b2fc6e3f13ffbb33f0b85426fbef9e6c1830777eddab571e3c6a2fb393131f1dc73cf1d387060c78e1d0f3ffcb0aaaa94d2e9e96900c097bffce5cd9b37f7f4f4fcf77fff777777f71d77dcb16ddbb6b1b1b19d3b77fecffffc4f4747c7a73ffde97c3e1f8d46d3e9f4c68d1bffe22ffe627272f2b9e79edbb973677b7bfb17bef085151c3961baf6dbdffe767676b6281c3e9fefab5ffd6a737373a937dad7d7f7a31ffda8a7a7e7de7befbdfdf6db8f1f3fbe6bd7ae679f7db6b5b55555d5d9d9d9e9e9e9b56bd77ee94b5f3a76ecd89b6fbec98ce82f7de94b870e1d7aebadb75e7ae9a5071e78209bcd3efdf4d37d7d7d3b76ecd8b265cb8913275e7ae9a51ffef0879b376fd6753d168bf5f6f67676767eee739f4ba7d3bffce52f0f1f3ebc6fdfbefbeebbef0ffee00f9e7aea2951143ffff9cf6fdebcf9d4a9534f3ffdb42ccb7ff2277f120c0677efdeddd5d5f5c20b2f6cdab4a9aaaa8af779cefb3f6facc5f363b2e850458700c5642162e242de4c626c3a641fa656c14c230811922c6c78d4302156ce4ccaa25d84928e7386a5d925b78673fdb3fb7ea7fa3392682314e78c846666044176483ecdca6062a8824bc33911c9aae804804a826a5879088502ce58d89091ea90bd0292101424a4685646b70a98181eb50c4294d163084a2ec52f22f9bac91f534045512ccbca66b37bf7eeede9e9696d6dfdd6b7be55515171fbedb7e772b9ddbb771f3e7cd866b365b35987c3b16ad5aacecece8d1b37eedbb7afbaba5a9665964492cbe5befbddef1e3a7468dbb66ddff8c6373a3b3b21849b366d62aed9f6eddb2b2a2a5e7bedb5aeaeaead5bb77efbdbdf5ebf7ebda6697ebfff073ff8c1ce9d3b376fdecccea7b1b1f16ffff66fefbefb6e84d0fcfcfccb2fbfbc6fdfbe071f7c30140aad60bb1042262727e7e7e78b1e417979f91ffdd11f2d8a301e3870a0a7a767cd9a35dffce637996f9bcbe5f6ecd973f8f0e14d9b36312bf82ffff22f3ff6b18feddebd7b707050d3b42f7ce10b0f3cf0c0912347bababaa6a7a76767677b7b7b7b7b7bb76cd9f2c4134fb4b5b53df0c0031313135d5d5dafbdf6da860d1b00000e87e389279e78ecb1c70a85c2ccccccabafbe1a8d462b2a2ab66cd9f2ab5ffd4a92a4db6fbfbdb1b1f1f8f1e3a954aaa1a161d5aa55ebd7af5fbf7efd89132742a190200894529ea3c379ffa78bb5b41eb3116338de1574d411404caccfe4869385a88414cdca09484a15224e350001f2a8e506ce5bd810919c3312985a6e259831e62a5d6db3b9d182991105792e3b3295e99705fb68fc58837fe399d8c1f6d09d297dd621fb342b27404912947adfbac1f923b2681f8a1dae72af36a9d1e4db1874d4e58ce470e258b21011a0e4b595f7c7f6051df58655287336d865b708ae9ffc514a73b95c2a95b2d96c8aa244a3d142a1303a3afaf5af7f5d1004c3302627270541c866b31b376eececec7cefbdf7fee11ffec1e7f385c3e15b6eb9a5b1b191c5b60000f1787cefdebd94d28b0d6818863135354508696868088542104259963b3a3a6c365b341a8dc7e36cfca1a6a6a6b2b292c5f5b76cd9f2c20b2f2412094dd316b9ae57da2ea278d75d773df2c8236eb79b7d62b3d95a5b5b4bb7c1184722114dd3c6c6c6befef5af8ba2c81a0421944824745d2f460c21848aa2288a0221743a9d822030179e526a9ae6dcdc5c3a9deeeeee7ef2c9276d361bcb405214251e8f170a0566789697974b92645996dd6ebf98b7ded1d1b179f3e6a1a1a1ef7ce73bec16747676de79e79d5792b4c4b929b14b9e90a3c12eb953da1cebe70533ab59b9bc955204874bf1871cf57392c7ab864d5248166652daaccf568920a20057ba5695bb5b4e4cbfee55cb438e3ab7ad8c50ace382470955badbd2faac08a5b0ab31e0a82d589926dfa6487620961f4748a094528a11807e474d9d6f5d2c37a6e3fcfb669660abf374f86c95ef0cff3f8f5a5eef5bef514314000ae8d58b097e80fc699ad6d7d7373131110e872b2b2b63b11800c06eb7373535499244296d6d6d651dafa9a989b9789148647a7a7a7c7cfcd0a14367ce9c79f2c9278b29c4cdcdcd8944a2ababeb8d37dea8abab5b9403c8d48d595ec55d58063242a838b851da9331c62c1579d1d0872ccba228628c53a9141b2d2584643219c330988e7f60bb20849a9a9a7eeff77e6f9151c9f468110e87a3b1b1515114d62008a1f5ebd717bfa5f4842f28431042a6927575751e8f8759b89224ad5fbf9e3d27d805b27d2f21647ebfffaffffaaf8f1c39323b3b1b89444646460e1d3a343c3cfc8ffff88f6d6d6d5c0139a508504250149028405110e44461dac25ac85e6fe08224d84424cba22a0a12a158166d0ed9278b36bfbd4a166db26817a028090a82220140b3728a6053457bc1cacc17a672462260af5145a72cda001492fa8c49349be82294a6f5d9ac1157259766a653fa9c452c495001001040114ab2a04a828a9060939c129253da8c80040405044545b04388ae91fc5996353b3b3b31314108e9efefdfb973672a95dab2654b6b6b6b329974381c5eaff7b39ffd6c5353532a95eae9e9492693353535478e1cf9ed6f7f5b5555f5c4134fe4f3f93d7bf6fce4273fe9eded1d1d1d6599251e8fe76b5ffbda8913277efad39fbefefaeb5bb76e65ee2153b16432c9863e54553d73e64c7f7fbfc3e1c86432870f1fd675bdaeae8e8dc012422626260606066a6a6a344ddbbf7fbf24495555558b6c22afd75b515131383878f0e0c175ebd685c3e168347ae4c891743addd2d2e2f3f9f2f9fc079abd8944a2bfbf7f6e6eaef8a1cd662b4df41304a1aaaacae170783c9e471e79a4b9b939954a9d3a752a93c9ac5ab58a597f4b892d844221b7db1d0e871f7ae8a18e8e8e42a1c0ae9a35f852c294e974ba5028ecddbb77d7ae5dcdcdcd0f3ef8a0aeebefbcf3ced34f3f7df2e4c9b1b1b19696960b26d3703e9a4008fdf60a1129b260532447ad67ad43f226b51908a05b09d925b75df2000014d18145cb26b989ddca1b2904449fad5211ec22522addad76d9137636ea664e11ec2ea54cb3f2696d1602e892fd6ed9ef10bd61677dc1caa8a22b64afcf9b29cdca7bd472a7e4a3141856dea504dc720800208bf690a3de22ba43f14948690e6c7629a1642192d1e3b26893912a0bb6abf4e8be80fccdcecefee77ffe673018b42c6b7474b4afafafb1b1f1fefbef6f6d6d2584ac5ebdfad8b1633ffce10fd7af5f1f89440e1e3ce8f7fb6b6a6a0cc3d8bd7bb7699ab1582c1c0e0f0c0ce8ba5e5d5dedf1789882b8ddee3befbcb3adad6dfffefd274f9edcb56b575d5d1d7384e3f1f873cf3df7f8e38fb3349a77df7df73ffee33fd6af5f1f8bc55e79e515b7db7ddf7df715530ec7c6c69e7efae99e9e9e582cb677efdeb2b2b2db6ebb8d65de14f1783cf7de7bef8f7ffce35ffffad79148a4bcbc3c1289bcfbeebb08a14f7ef2937ebfff03e50f637cf0e0c1f9f9f962de1f8470d5aa557ffee77f5e6a636edebcb9adadadababebc73ffe716767672412d9bf7f7f7979795353d3f9b6ed05515575ddba756d6d6dddddddcf3cf34c4747472c167bf3cd37c3e1f09a356b2e6db2b1197bd3d3d3cf3fffbccfe7c318bff2ca2b4ea7737a7ababcbc7c6060a05028d4d7d77bbd5e6efa711609a0cf560501a40a85103a251f44c867ab0400b0041408914d72438828a080520080454c04110408410421aa74ad1690d0e4df08004410894856458789b53adfba80bd56161404c572e72a4c4c049180240f2dc7c484101ab85063ada9f1ac9145870045008022dacb9c0d005008050040ada71341c1a394154f06c1abf5e4164b1f080e87a3a2a2c2b2acd3a74f17ed9d6ddbb67de6339ff9e4273fe976bbd7ae5dfbe52f7ff9a9a79e3a72e4c89123472084d5d5d5f7df7fff2db7dc4208e9eeee7ef5d55759301e00505757f7d9cf7e76f5ead5f97cbeb2b25210049bcdb666cd9a871e7ae8673ffbd9e9d3a7878686cacaca366ddab467cf9e3d7bf6dc79e79d0f3ef8e0e73fff79cbb28e1f3f7eecd8314288cfe77be8a1878aa91b6ce659369bfdd5af7e158fc7cbcaca1e7ae8a1eddbb72f0a262a8af2d8638fe5f3f95dbb761d387080f9bf6565653b76ec78e8a18714456136576565a5c7e359e4382384fc7e7f5555151bd85de4a2eabace5a29140ab13497279e78e2a9a79e3a7cf8f0e1c38759aad07df7ddb766cd9a582c56515181106202aaaa6a797939f3be5958b3b2b292526ab7dbebebebbff8c52f3ef3cc335d5d5defbefb2e21a4babafaf77ffff7d7ae5ddbd7d7575e5e9ecfe759be2184d0e7f3b1870a84b0aaaa6afdfaf5c964f2d0a1433b76ecd8b163c7638f3db67bf7ee175f7c91850baaabab1f7becb155ab56f1fc67cee2f00e14c0d99c3d012100003ad73f800b1b2c44dee473ff2a201100501c9615a06897bcb260b3492e45b4b37d10148ac714a02808227b51ed59a38a6e74d69f8500c2128113900400607ef1557f0814a36c94d2c9c9c9dedede5c2e57ecf06cce6f555595d3e94408514af3f9fcd0d0d0a953a7e6e7e71d0e474b4b4b5b5b9bdfef07004422919e9e9ee1e1615dd7dd6e775353535b5b5b30188c46a3274e9c4008dd71c71daaaa4e4c4cf4f6f60a82b07af5ea4020303434d4dbdb6b59d6c68d1bdbdada3299cce0e0605f5fdffcfcbca2288d8d8d1d1d1d6565658542e1d9679ffdf6b7bfddd1d1f1c77ffcc76cba6b7d7dfd860d1bc2e1f0f9dddbb2ac482472ead4a9a9a9a97c3ecf2ea4adad8d0d9b64b3d9eeeeee783cded4d4c4e298a523303d3d3d23232317f017fcfef5ebd7a752a9dede5ea7d3d9d1d1e1f178f2f9fcc0c0404f4f4f3c1e77381ccdcdcdab57aff6fbfde974fac891239aa66dddbad5e7f3c562b153a74e1142d6ac59535656964aa50e1d3a0400b8f5d65bbd5e6f369b2d5eb5aaaaab57af6e6f6ff77abdf3f3f3274f9eb42c6bddba756565656c62e2d4d4544343436b6bab65592c50609ae6860d1b56ad5a158d464f9d3a353636a6ebbacbe56a686858bb76addfefe7f2c7b9da504adf17cb4b6f793547332e53fec0d9b9598b2abe0882b0c875228498a6c926a5c9b25c1a54b22ccb300c365821cb320bd8b3c30200d834afe2b7b0d95dec6894524992d8a14a8f2f4912b3ecf2f93c93bf4d9b363df9e4932d2d2d2c7056aa5ce7df0f8cb1699a8490d243154f95107289797b171c0f61c3b5c52117d63294525dd7d97cb5e255504a59511936338fbd2d3642f16d71dc865d353bb2a228ecc3457b959e76b16d59eb89a2c8ae6ed12de0213f0e6749b1bfd201d64b99cd08b1348e0b1cee6c27bcc461cf7fbbe85097387e710355553ff05459c1ab8ba5435f224dfad219d410c2455f0d213c7f321cab88b5c4b7176c870b6eb6e8dccedfeb1297cce1702e2a7f373292246dd8b0e16b5ffb5a757575381ce6b17c0e87b392ceef0d0e2b8872417f9cc3e1706e66f9e370389c15840f0872381c2e7f1c0e87c3e5af085b3388a556143fb42c4bd7f50ba686946e6318c6a5b7f94028a5a5f37fc1d95c16f64931b3e4fcbd0cc360c91f00008cb161182cf3069cad995cdcfdca4f92c3e17c48112fad7d9148241a8dda6cb6eaea6a56fb249fcf8f8e8ee6f3f9603058555575c1b43bcbb2c6c7c733994c7d7d3d9bc37f7964b3d9f9f9f9e2b7b0b205e974daeff7db6c3656feafbababa34e984521a8bc526272721841515152e976b7272329bcd8642a170382c08c2ececac699ad5d5d5b95c6e7c7c5cd7f58a8a8ab2b2329e1fc7e17c44e58f525a2814344d73381cac7894cbe52a140ac3c3c3369b2d9d4e4f4d4dd96c36511463b1d8dcdc5c28141a181870381cc160f0fc41d85c2e37343494c9641c0e87cbe5cae7f38661b8ddee743a2d8aa22ccb894402632c8aa2d3e9340c431445bbdd9e4c26ed76bb65598944429224b7db3d3d3dcd4e201c0e1342e6e6e6fafbfb31c66bd7ae4d2693434343f97c3e140a95ca9fa6692323232cafb8a7a7a7aeae6e7676d666b34d4c4c0882502814fafbfbfd7e7f5959d9f4f47422915055757272d26eb75f894c73389c0fb7f597c964262727cbcbcba7a7a7dd6eb7d3e9cc6432baae373535251209562d4a92a4603068b3d992c9249b9f70419b31914898a6e976bb53a9946118ac5a5f7b7bfbe0e0a0a228aaaa8e8f8f4b9294cfe757ad5a9548245c2e574d4d4d6f6f6f381cce64326cfd8a502894cfe7b3d96cb13c81cd66733a9da9548a4d95f57abd994c6691f3cbaab0d8edf6c9c9c968349a4c2659c16a566ad4e974aaaacadce1743aed743a43a1d0c8c8482e9773bbdd3c9986c3f948f17e113d5675391a8db2a2cd1042162f63b3b808212c0c27cbb2aaaa4c83d8069aa60d0d0d9d3c79329d4eb3fa9dd1685414c54020904ea753a994699a2cc4a6eb7a3e9f8fc7e3a150a8a5a5455555167d63f3d2745d370c43d334d334154571b95c7ebfdfe572b15a2f0821b7db1d0a859823ecf57a4b3d564a29d3415996cbcacab2d9ece4e4647575359ba1c1768110068341562c809d3cab98521a4fe470381f39f90300d8ed76a7d31989449881168fc799b8a4d3694dd32449d2342d9d4e4f4e4e4e4f4fb35565d90ae5b404e6f9cecccc689a168d4653a9d4fcfc3cc6d8b2ac7c3e5f2c81679a269b24cbe4c9308c7c3e6f9a66b1f8ddfcfcfcf4f4345b57e8038726745d4f26936c63cbb2464646de7befbdaaaaaafafa7a45514cd34ca7d384103607b96824cab25c2814d2e974e91c5b0e87f351747e21841e8fc7e170b05525c7c7c79b9a9abc5eefd4d4942449e170389148302b6c7a7a3a9d4edbed76361862b3d91a1a1ad81c7b08613e9f77b95ccdcdcd369b6d7272d2b22c87c341291d1f1fa7943a9d4e4992d870442e974308793c1e565d5551144110f2f93ca5d4e572b195301142c964b2189863514236a755144587c3c154786c6cacaeae2e180ceabace8af4699a1689443c1e4f2a959a9e9e66e20e006093851545090683a3a3a39148c4ebf52eb1361f87c3b9993867d607ab22c50ad2a5d3699fcf6718062b3ce5f3f9344da394da6cb6442291cfe7bd5eeff9c5f200002c62e8f57ad91a209665298ac28acecbb22ccb72369b9d9898b02c4bd3b4f6f676bfdf1f8bc5988bed743ad9d08720083e9f4f14c5b9b93955558bb54e354dd334cd6eb7cbb2aceb7a3a9df67abdf97c9ed534f57abda66916d7d99065d9e7f3a5d3e97c3ecf56074608314bd0e3f15896158fc70dc3f0f97cccd9e7bf060ee7a32b7fcc9365a13170765989e2ebd2176cb30b4a46e9be8b0ec83cd9b9b9b948244208b1d96cb5b5b54ea7931052dcfe62dfbee80c8b7f62ce2f1bb36631bed22b2a9e6d51a6171dbcf44f1c0ee7232d7fd70036f04a08614930576e769d2f911c0e877323ca1f87c3e1dc0870bf8fc3e170f9e370381c2e7f1c0e87c3e58fc3e170b8fc71381c0e973f0e87c3e1f2c7e170385cfe381c0e87cb1f87c3e170f9e370381c2e7f1c0e87c3e58fc3e170b8fc71381c0e973f0e87c3e1f2c7e170385cfe381c0e87cb1f87c3e170f9e370381c2e7f1c0e87c3e58fc3e170b8fc71381c0e973f0e87c3e1f2c7e170385cfe381c0e973f0e87c3e1f2c7e170385cfe381c0e87cb1f87c3e170f9e370381c2e7f1c0e87c3e58fc3e170b8fc71381c0e973f0e87c3e1f2c7e170385cfe381c0e87cb1f87c3e170f9e370381c2e7f1c0e87c3e58fc3e170ae8ffcd1124a3fbcd8c6bc41391cce8705f1127fb32c2b1289188601001045d1e3f1b8dd6ecbb26667673d1e8fcbe55ab4f1cccc8cd3e9f4783cbc59391cce875bfee6e7e7ffebbffe2b1a8d2a8a2208426b6beb3df7dca328ca2f7ef18b3beeb8e3d65b6f2584504a218408a16432f9d4534fdd7aebad9ff8c427000084100000420842c8deb22d0100104208212184100221140481df060e877363c95f2e97fbcd6f7ee37038eeb8e38ef9f9f9975e7a49d7f5eddbb7cfcccc64b3d96c363b3c3ccc2cbee6e6e65c2ef7d65b6f0502818f7dec63d3d3d3c3c3c38490fafafa9a9a1a00c0e0e0e0d4d494dfef0700545656ba5caee1e1e16834ea72b99a9a9a028100423c0ac9e1706e18f923840882b061c3862f7ff9cb994ce6bbdffdeea14387dadada62b158269379efbdf79e7beeb95c2e0700d8be7dfba64d9b2ccb22844c4c4cfce8473f9a9e9e1645b1b2b2f20ffff00f2dcb7aeaa9a732998caaaa994ce6a1871e0a0683bff8c52f72b91ca5f4ce3bef7cf4d14717b9d21c0e8773b5f9009b0b42284992dd6eafadadada8a8482693b158acafaf6f7e7ede300c9fcfd7d1d1914ea7f7eedd1b8bc5d82e6fbffdf6d1a347efbefbeefbeebb6f7878f8d5575f7de18517c6c7c73ffde94fb7b7b7f7f4f48c8c8c747575f5f4f45454545455551986c13c650e87c3b951acbf52745dd7344d9665511459200f633c3b3b9b4c26d3e9b42ccb9665b12dbbbbbb7d3edfc73ef6315114f7eddb77ead4a942a150595979db6db74d4d4deddcb95396e5c6c6c64020b07fff7e59966d361bc698df090e877363597f84906432393232f2f6db6f77777737373707834108a16118bffded6f6766663ef1894f3435359546ee42a15032991c1f1f9f9a9a4a26936565658140201a8d4e4c4c0c0e0ea6d36926945bb76efdc217be505151f1da6bafa552297e27381cce0d64fd21840821afbffe7a5757572a95aaadad7de081077c3e9fcd666356dbd8d8d8cf7ffef3a9a9a99a9a1a4aa9a228a2287eea539fdab367cfb7bef52d599665597efcf1c7755dffce77bef3777ff777966565321908e1dcdcdcaf7ffd6b9fcf178fc7ebeaea5455e57782c3e15c63e02572953399ccfefdfb13890484d0e3f1b4b4b45457576b9af6eebbef363434288a72f8f0615114fd7e3fc6b8aeae6e7070b0bebebebebe7e6060e0d8b16396656dd8b0a1b5b5f5d4a9536fbef926f3975f7df5d5bffaabbfbae79e7bbababa060606fc7effc68d1b6b6b6b4551e43783c359dc3f21e48d707de48f7185733928a5afbffefa4f7ffa535555b3d9accbe5fac637bed1d2d2c29b9ec3e16a7883cadff99f5fb60e663299eeeeee9191115996dbdbdb5b5b5bb9adc7e15c89ea711dbc5af277b1e9bd4b99f6cbe170565cf296f29a7319881714be452f4affe5f2c7e15c17f9bb98d871115c01f9bba0d215df168bbe9c99a34ebe00002000494441542f851c0ee72a695fe934f9f33760f3e88bb3e93997e9fc2efa7791ea71f9e370aebbfc2d629155c815f032adbf455e6da9d8b1091eecdf45b2c8db8ec3b9aaf257aa7dac78127bc13ddfabe2fc1629ea5da9fcb199b9ec5f6e037238d7c0ee2baa5eb1b25cf1c5a22db90b7c45f2b74804c95930c6c5d7177484b90e72382bae7d4550098220b0178b3c36ae8097297fe747fa16095fa9fc154590db801cced590bf45c1bea2ea9d1f7a2a7ac1ec2d17be95747e199665e1b32c92bfd2082057400e6705e5af34d2c7e48f41296553064a074038572a7fe76b1f933ccbb2b2d96c341a9d9f9fb72c8b49dff9eb1f71f1e3705640fece1bea450841884451f0f97cac4c3a8b038292e06069fa0bf77f2fd3fa0300947ab81863d334d3e9f4e1c3ef9e3c79329d4e132676e7461db8fc71382b287fcc085cfc1a42a7c3d9be66f59d77dce1f57a254962abe530bd6370edbb1cf93b3fb9af287f96654d4c4cecdbb73f9e48948e3471389c6b4c22914ca692151515eb3a3bd900c8a26ecbbbe7955a7f452f9879bea669cecccc46a3515996793d7a0ee77a42693a951e1b1d6d6b6d952489d5e23c3f0d90b36cf9bbe0a00733000dc3b02c931768e1706e0001a49aa6b305c51845112c3500b925b86ceb8f5e88e2482f37fd389c1b41fececfc0057c16d695c85f69f2caf93660f1e5126f1000a018b43df7c65d795e123bc8058fff01bb9dfd6abadc7d399c1b4afece75cfc8f9c2c74dbfcbb1fede179873f39f29a194608cad8bed2fcbb2dbed96651900609a662693d1346dd13682204892c852082f781087c3e1f178d86b42482e97cbe5728b345714454140966511f201cbc2298ae2f1784451a41498a691c9644cd374381c8220e47239d3344b8e29b85c2e8c49369be5162ee7c3207fe7a4dc2eca3fe35c91fc8173e7b19d35ff2eeafc4208c3e1f0c73ffe71bfdfa7691a21e4cc9933fbf6ed67af17262742545959d9d6d676fcf8f1582c4609258440744ed2e6aa55abeebbefde743a4d08d134ede4c993274e9c340c0300400945084ab25c5757575e5e7ee2c48964320901a0ec410720125031f0c10e180e87efbfff771545d134cdb2acdeded3dddddd8d8d0d6eb7fbe48993f1781c1302004008b9ddee6ddbb62593a903070e98a64908011440b4104e2e5e0228c9b0e770aebbf3cbf56e25e58f5e9cb3832017963f8490c3ee686969999d9dedebeb6b6868b8efbefba2d199c181c1ea9a2a8fc7934aa562b15847c7dabbefbe9b607ce0c0c17079381008e473b9a9a9a9743ac36e643018686969d9f9fc4e669dcdcdce793d1e57753580c0edf6cccdcd66d2d9cdbff33babdb576733d9e84c549165455128008490c9c949086159595932914c24120000a7c3d9debea6b7b7f7cc9933cd4dcddbb7dfa5691a424812650060b8bcbca2a282601c894404416ca86f98999d4510050381caaa2a51142391c8ecccac2ccb55d595369b4dd70dcb32a7a722854281ff5c38d75900c9056ad08192f01f1ffdb822eb6f918d5d8c325cea8610d2dfd7ffd6eeb76b6b6bdbdadad6af5be7b03bb6dd75a76998008253a77ac2656197cb555656d6d4d4f4bbf77f8a9975a74ef5ecddb33797cb8185ec69a8eb86a6e9d95c36954ab7b7afbe73dbb6783c1e08f8354d7be5d7af0402018fc71b0c056b6a6b56af6ed3757d6a6aaaa9a9e9a5975e8600de71e7d63d7bf6cec7e7010584124270cfa99eb7df7e7ba27df2d1c7fe70d5aa55994cc6e3760702814fdefd0987dd6198463a95debfff000b070602811d3b76f8037e6c5914d077de7ec7ee70dc71c756d330ed0e87ae6bbffce5aff29379fed4e55c67f903ef97a1e39eef55913f704e2d037a69f92384d2b356793a9d2a140a76bb3d934d0f0d0d29b2b26efdbaf9f9f9442291c964868686d299f4f0d030a5b4735d674bcbaa63478f663219f6453655edececd0757d2e164b26934ea7cbebf5befbeebbd188f3ee7b3e2949d2d4d45420189c9999696f6ff7fbfcbb5e7d757060b0b3a3b3bd7db556d06caa2d954c322b95b2c25c94589695c9a42dd3b2a9aa248a1eaf07213839390928686c6cece8ecece9e905940aa2d0debebaa1b1feaddd6f251289cf3ef2d98f7ffce3b95c9e60b277efbe5b6fdb525951298912773a38378000f23a23d724f6572270e4624316945236108131364dc3e9743a9dcef9f87c3010acaaac9a8e44745d0700140a05c33052a994d7eba9a9ad99989828140a02120080ecc89490543ab573e7ce64326918462e975bd5dc9ccd66c64647bd5e2fc1841092cbe70c43cfe5729665cdcfcff7f6f44c4d4df5f4f4747474cccece4e4e4dceccccb0a32dd425c49810ec703a45494ca5539224514aed767b7d7d7d2c16cb66b31002414414500491d7e7354d737070707e7e3e954a955794cfcccca653a93367faeb1bea42c110261863cc7f739ceb08848002bedeced5777ecf7dda908b0fb6524a2982a87d4d3bc678e3a68d0080d3bda76fbffdf6b270d9c8e8a82ccb80020b5ba22886cbc3e5e1f29aea9aa1a12149920000846076640aa8a228ad6dadd96cd6b2ace9e969a65618634a169e7504139bcde6f1b845416033522ccbeae9e9b96bfb5d9224eddbbbaf3858ccd2413bd775daecb60d1b3698a6d977baafb5ad95525a5159d1d2d2323939e9f7fb0524b0488a611a9313939d9d9d9b7e67d3dcdc5c4545457777b7655acdab9a3f79f7273b3b3b5545059412c2e58f737de50ff2d9f5d7c2f97ddfff65ceef45863e28a1c944b2a7a7a7baa67ac3c60da9546ad72bbb4e9e38a92aaac7eba9aaac3c7dfaf4e8d8e8e4c4e4d0e0505b6bdbc18307ababab6b6b6a47464662b198aee9ecc8d353d3a74f9f5ed7b98e02aa6b7a5757d7fcfc7c6f4f6f2a99c218bff7de7bf3f3f38490b56bd7565654cecccc6433d97c2e4f3019191e999a9c2a140a67facf58e642764e32993c7efc78201058bf6efdecccecfefdfbfbfbfb5555cd66b2fd7dfd5595552dab5a2627270f1e3c188fc7fbfbfb9389e4d123476545deb46953c7da8e03fb0fbcf3ce3b5eaf575194fafa7a01098661608c09e6ce2fe73acb1fa13c3d6b459bb4388786d538304dd3344dc330745dcfe5727bf7ee7df6996745e1a22a298aa2aaaaa228524a755dd7759d522a0882d3e964e5020100c5b4bb543ae5b03b00008661200475dd60eeaa24490e87a328bbec20a228b2115b45510a850284d0e57231bb0f42c8726b6edf7afba73ef5a9e3c78fbff8ffbdc8be8b9d92dd6e6773c28ba7a4280a42c8300c55556d365b26931145d1b22c41100821baae0b82e072b9044148a5529224dd7efb6dabd7b4cfcdcdb5b6b66a05edd9679e8d44225cfe38d757feeeb9ef9efbefbfdfe3f1288a229d4514455613f0fc5590389769fd9d13fb0317cd34c618b300dfa20fe3f178e927c56d0cddb8e041ce4f962e52fcd3f95fd4d9d1313636b6e7fff694fee982a794cfe7174ec030d2e9f4f9df625956712fcbb24646476bebea9a9b9b1389c4dbbbdf8a46a34579e570ae8ffc21581cfae05c13f9a3ef8f6fdc80fcfce73fb72c8be54bafe0610d030f9c3933353565b3d90cc3c866325cfb38d71d0410e5c1bf6b297f0b231f37aa213d3b3b7b958e4c08492593a96492ff443837105cfdaeb1f38b31e671040ee7c6503fae7fd7d4f965c61f973f0ee73ac3135faebdf30b08a110f0e1760ee77acb1fb7feaeb1fc09481010c416e62dc5e15c67cf1721c80b56aeec13e512797f9aa6a5d3e9c874c4340cde521ccef50509a82c1c0e068376bb9de7fd5d75eb0f21545959b971e3265e0a94c3b9fea60a04894422954af1a658b1270a6f020e87c3e58fc3e170b8fc71381c0e973f0e87c3e1f2c7e170385cfe381c0e87cb1f87c3e17c1811791370381f2e2eb62c2d84b0b8dce54d5316f0aae66f73f9e3702e53832ef1f6ea08c1a596e4a637697592450d5bbcc015b9d225c91f9f66cde114bbe3c2daaee7f44cb620d755973f8c31c61821c4fe65941a7da5f3de6e3e4ab56f45a6f771eb8fc359b2f411424b5619278430315cb010aebefcb1050e218408a1a271c496362c9df37b53ca5f51ecd8e517ffbd12055c8afcd14b3fd7d80de07d8373936b1f000b828731399795f27c8ba27631f9d3348d2df2c53a1dc658144556f2805114889b55fb044160572a0842698b5dde255f91f54729c5d8324dbe0e06e723e0f4524a08c5d862cb0d628c2d0b330da2740514905200219424e962220821c8e572f97c9e956562b55e4ae5ef26aef8522a7fec92d952e08220301dbcbc4bbe22f9636baa499224cb322fb0c3b979956f41fe30c6a6892ccba2673f821040080881e08a473f8a0bc38aa27809f3509665841044084058dc0b21042133fdc04d2d7f481008c6b8187f607f2a7ac1d754fe08c11042b6862fef249c9bd9f0a3146302216472a369dae9bebec1c1218395c25ca1d01f5b529109d9c524925202010410420816fe5be8f9e7f4ff9bcefb3dfb0080c8e974747676363535b2e741d1ebbff6ceef42a081af3dcab9b9e5afb424b06118d391e8bbef1e191b1b2f9a81bc0b5c1b58d48f501a0a05fd7e7fd10c2c5a82d74efe169e48b4646c8452b65e385b1f4e926449920441e035ba391f5af15b58ea9ad5426785d073d96c3693c5183b9d0e555509211813be14c755778021340c3d93c966d2994241334d93c5018b59dfd7d4fa036703c2ec352644d7344dd3582c1663aceb194110ec76872449a5e776366980b258e6a50322ccbabc89b3993837b6fab19f2bfb9f608c4dd3228400402551dcb861c36db7dfa6aa2aa08027c85e6d4cd33a72e4c86bafbdbe68d8fdb24def2b953ff6b3608a5628e44dcbf278bc92242d0822b672b95ca1500010888258d4be6c36333e3e9ecbe53c1e6f555595c3e1b8a0b45996393333e3f7fbe3f1b8aaaa7e7f802b20e77af8be0bceaf6561cbb208c18412e66bb9ddeefaba3a97cbc59be91aa069dad0d02005803d89ae50fbae5cfe16d28f000018134dd7dd2eb72ccb84520820010022d1e974653269d330e1d9c161c3304f9dea3974e8a0208808c1ad5bb7ae5ab52a914c628cfd7ebf2ccbc964b25028b85cae6c26f3eb5fbfb26ddb9d914824180cda6cb66432a91b86c7e3b1d96ca9540a636c1886dfef773a9d5c173957d3fa2384104c3066992e842cd88494f0bcd76b06b3beb16595cefebb92035ee9d0075d9803044cd3a4944a929837f178daf0a962d6203a214d1e45969542212f8a024408006098462c36679a666363a3699a08a1f7de7b6f7068481484b27038140cf59eeed535adacac4c14c5dede9e9a9a6ae6e4f7f6f69e3e7ddab22c7f20b0aab9f9e0a1434ea7339d4ad5d7d76fddba555614fefbe05c0dfda39432df97928557c56e472928cefc38274e55a29e9ca503cf7df05cc8da5a68fcb3330faf882b767ed9a38f020b5bd8c21893b481f78ea6280500822ab7546d47324218630b6316e41345b1a6b67676767662624292a4ea9a9ab7df7e5b1445b7db3d3131110c86745d5bdbd101015455d56eb70782c1bed3a74dd39c99998510d6d5d59d38714240a8bfafefeebbef0694f6f7f7dfb2618378d6e3e670565efe1643cfcae2c29f4af7300898d770d2208a004336d12d5e1511644a00cf4b7963d128c432123f6c642c1acd638b50bf22f85524c145d6dffb361f3db7fec3d5923f7af127182d99f106212494e8862e11d0e044fbc6b23e9bd050a1406c1914438800056c4bc330744d0f97973becf69327bb4ff7f6a652a9c6c6c6aaeaea423e6f1806a58adfe7d775dde17048926c536d84520b634a88cbe5f6fa7c0040660f3634344ab23c3b37c7562be65d957375e58f2efc4b8bfd8202362652f48752063d11d77be35ad6242204154e695b85a3dc86d08a6a11212412890e0c9c696a6aaaa9a929fdbca7a72797cbaf5bb7ce665317ed552868838303d168341008363535616cf5f5f565b3d9d6d6d69a9a5a8cad687446d30ab5b5b500c0818181a9a9c9b2b2705b5babcd662bf5f992062604f8556105059650309ac58767f2d3398b50ea5584d53ea523a0b84b064d292574452b4b5cf1c82fa167a3c0901062188624c96b03b257720908846d105062e8c6426ee05981d274ed4c7f3f8450d7f5e6e6a68d1b378e4f4c44a6a7ababab5d2ed77bef1dffcd6fdea9a8a85cb3760d847060e08cdd66f7783c8a22f7f6f68e8f8fd96cb6b2b2b0dbed4108499264b3d92080ec34389c1556bf85f206250e30eb830bde173300177e7b054c4ec58dfd93b9f9bc61a706a6209a56b145efab737ae595d43f8c49341a3978f0a02c2b4ea74b10055551d3e9b428897d7d7d333333e5e5e55e9fd76eb7e7b23908a1d3e984108e8d8dbdf2ca2b2cd7623e3e9fcd6687878628a5fdfd671e7ef8e1d1d1d10307f6bb3d9e071f7c706e766ef7eedd8a221f3c781080cf747476a0b3c9d81903bf33928e6bf8332dde806dc56aa6a44cface586630a9c9c08280ce66c4b9ac2903d01994e5b38f0e52d2f22b62518b57f8d32094e2b38f3e4992f3f9bcdb25aa126cf04b10000142c33030c6a22416d30345516c6f6ff7fbfdd96cd66eb79797971342229108a534142a5314a52c1cd6342d1008b8ddee47fee0115114ed763b9b5a575e51a1eb7a201070b95c3e9fcfedf128aa1a0a85549b8ab9f5c7b96afa8709c164c1d32dba5bf4fd5161cc9ca164019f9e2bcca60a3ec1dc5c619f2cc09e84d93d935de3935d3e6105f31608c1a669e6f3f96432f1f6db6fb9ddeeb56bd7bef8e28b6b3b3a745d4fa7d3c78e1dc5986cd8b0e1f0e143e5e5e5b7de7aab2449baae5556553537351d3d7af4746f6f32995cb3766d6545c50b2fbc30393569984636970300e89a3638386059e6bdf7deb373e7ce9e9e53ededab8120b0c6e89fc91f1d49250a56b5827634bb8515316b211c48e8fdb13c26745dd856a680bd53b9d934ee9943754e145051f1aa5736bb7c09f2472f5ac9ac18fd606f6559860064b21959960541a0005884589625891284b0b819004055d5bababad26cbee6e6e6e2dbdada3a001692189b9a9a4a9a0836343480b3b9ddd535d5104259969c4ec7a2e373382ba77ea068feb1da2e8b424dc5a10f4269aa608ec60b966eacaf7528823010cbcde78828c089a4b6da6b5f29f163a11e7616a6694667660cd32c68daf8f844754d0d05409665499206074f4bb21489461b1a1bd91ce1d6b6b6dababaf7baba92c9646d6dedfcfcbcd3e10c048294524337d6ae5933353535373b87094924938228fa03018fc71b9b9f372d8b8d5b520a9a03ea576e2b2714d825c4ae7a25c20b6422a1c5d23aa6b41fe2c646d7baa0ba7b343b9140990ac52bcbecc141567a72cd155a7f009458fe0000519210428450cb32d8546449922044e4c29e293c77f8e69cb7e75fe8f97fbac4c61cce0a3abf2cbf7521f599921217ecfda10f42292416b4f078dce8b6cb5b2a4564e8b309cba18876442ccb5aa9a9f1afeedaa5288a6ab3514a01849450d3340bf902c6161b0f01108642a1e1e1e193274ef80381b2b232169bca66b3070f1c387efc787bfb9aa6a6a6e948a4a015b2b92ca55496250021049049bd2cc9d8b2f2b95ca19077bbddc5103fa5604eb77ae246c122ed7ea545928495107542881d81f9b46658a4d1a6640d7272469b98d7c33611128b9005c399120200012be5faaed0c82f2e1db08608090014ef34fb85f05ec4f950ebdfc2b0c7429a5f697d2b5a0c7f034add2268f108bd11face40722e6da475609a787585a3c60e28a114ae4ca7cd6432c78e1d0b8542a228fabcbe443c1e8d448e1f3f5e28142042082251107c7ebfc7eb3d7dfa745bdb6a9fd70728c0180f0f0dbdf3ce3b7ebf5f51145dd78381c0f0d070341275b95c6565614001424814058460754df5998133070f1e9c9b9b5bbf7e3d82a8185b972198886b310ddf1250e00a996318e3555ea1de259f8ae62653e4c59e64cf4cce6b17dbbca243a09450263074a5abca5e99fc4156f20f5fa24605877353587f04974cb35a30fd1646fe4831ee6c97e02d412159a31e9a280ccfe52401ad2b53ee6fb4f954002058a9f0f4e6cd5b0cc3302deb77366f6e6c6ab2dbed2c7074cb2db7545656fafdfe603060b3d99c0e672010a8aeae9624899d3c44a8a5b51521144fc47d7edfc68d1b7b7b4f6732996ddbb6797d3e8c716d5dadcfef5354b5b1b131168b45a6a7376edad4b6ba9d82f743fc01196eabb46b9854d9d14aa55b40083d22fedd261bc4d6585cc794d6b8c45b6bec1d4151155171d8009fdbf8d759fe58d141d330019f8bc6b9d9ad3f0b5ba66998a6619a262667735f289bf7b9a00208a17297744f83add527ce674d5516ea7d72b55b9004f1ec1e2b404d6ded430f7f9610c2ea89389dcebafa7a84100054100416418ac5e6e2f1f9a6e6e6f28a0a00213bc3a6a6e6fafa0676105628b4bea11163acaa2a845014c5b6b6d5ac86a8aac2bbeeda6e18862c4bc27927dfe81501a0909215ccb69044716d400876b886629a4968b95baef7ca1ebb08cf9e3c282e33b07206e095c99f203a1d4e5dd431c6bc9b706e6eeb0f5988526a5916b6b080d0f9b1bf856e2c497e277429088615002142489625d67557f0ac8a2551d961a5929c7f56f15492e49696567fc0eff1b84bd5b9b4341ea5b4b4620a00efd7af63e6a4a2289738f3150fb7db6d6ab56856b84408288050124551144ab39a2921805e3215f95aca1f84908d31f19107ce4d2f7fac929b28880821511217b2fe2e34eb4014040141560df36cc4ea5a7710b7dbddd1d9c9861f3f44dd5312454904c52490454d576c6f70830c7d809b7469150ea754fe404961610411a01014930ece9bf456ba2fb87e6909f06c35fc0f75b397c2227f2b6944f3df378773995d14d08592073ce5fe9ab030f201562cfd8fcbdf557f88811b232db1f41c4a974ce5f7e832a50f50082042c8d0357863167681f03226c8dec86b5710424401c195ab1dcfe5ef2aca4d41d372d95c2e9f3b5b1ff8ba91cbe5745d47c2c23ab0a220cab2ec743abc1e8fcbed1610cf5b5aaae68173c34e8280bc5eafdd6e5fd6714cd3100471e90bf440080dc36083b34bdf05630b63228ae2d21f720821d33431b6647979e5e33e708dbaf37b075b0f6359a9e08410a7d3b582cfec2baaf8c2b9c47dcae572994c4692a5b2b2902449085dcfc5f0b2d98c2c49cad9928818937ca1904c26a6a62321d3f4fbfd7cadbe4bfffee9b9da478ba510281b5d58d6f383b25d96257f6c2dc765ed420842882e6b11487656842c7bed34842000cb38bdd2b65bae79ba82eb4a71ebefaad87df97c3e9fcf87824187c3b1c2a58e2e0bd3d0655956551500903749d6222eb7cdeff325128989c9494a412814e48e30e7a30697bfaba035a6592814bc5e8fdbed5af4702b5d928aadd65c5c168ab067eee52ed8bc94800ea5d422b47726f7ee746e53a5635db9c3e7f31142a62311b7dbc5c491b3e4871c28967df9485d38a60000b0f4a9be84028b5000a084963a3d8202800920940a1022b428d4b72255ee972e7f74652b0cdefc68054d1444bbcd0e4ad20e2805a6694e4d4de672b9868606cbb28e1e3dca5ed7d4d40c0c0c4c4d4d555757b7b7b72f3790b434677c61d27ea6600ecfe54767735e01347864bf5df2f97ce94c261e8f5794977303f0a2bfff8bfdff910ae9509035c8e998e152e02abf2c2dc1adc1148c25cd9e39c3c474438552eb59ca4e20a39313337a246355bbc5ceb0e294d185a21137a4f59735c944d2702a824f15e2056c621ab00b12820450dda27e55d430d12c0a0170caa86011dda2699d50003caaa05b44c7d4a3085e5510d187b4b350d334154561956f4a4dc2a1a1a1d75f7f4d92249fcf3f36367ae0c0c18a8af29191918e8e8e9e9e1e42c8f8f8b8c7e36d6868402b3d16b1b03a02a59280d6573a9a03aa5d165411315334e0f74f472218e3a587ae3967bbe0474801f326e99e355e1bc8ae2f571a3cb2b4841fa96691d3317d328373068590963904fb12764b14f040dccc1a2492b52a5ca2433e473357f0a1b3f23ff7f7a60b8a241430994c99058b8a084d652c8b1009c1e184b1a3c19933c968c22858f4960adb6cce8ce571d821a9324a696422658a028c6671b34f0a3b3fac5d91cd9a5c944080100a87c39595553333338661f4f7f7979787b76dbbeb99679e3e7efcb8aaaa5bb6dc7af0e08168345a535323adf4ba254c9421840200554e449d080200a96918ece4a0853126848b1fe712a8226af2cb7ebbc0ca1e822524a0a802da5c6dafcfe13707b326016069392b654ef1b61afbdeb17c46c722ba984b72bd4b1e5ca4a7c148c62a770a1082948e25446501e60ca20a100178266e7864a4619a31c84cd64a1448226f21009d9610b4a3a4660902122130894401f8907a62f442f63942d0ed76058381787c9e5292cbe5fcfe80dbed6255d81c0e87c7e346081986412959719b8252a21b26c6174ebe6175e2788863b94f144a3f5ab33d45047c2a74c9cb8891200400a52767340c6067b94d15e112ba0f2084ba6450ef934e44715ac3c4259eeb32dfa869cf84d2729758e94673796b2663aa12aaf7a9011b3a1ec91342ab3c22807032632a085638c5ac49929a8510aaf4c86e454080da64c1210ba645d08756fb000010420b1342e8e225b816824510421408046766a293939382209697976b9a363e3e619aa6d3e94448b80a9d0aca922cc932a50053b60c1f10ce663d634bb0a92ae2d97fcbf67d3f720f0c0880088108e112738f358b1e9e2cf4ccea1d619b0828a1142d413b4753d69eb1825b8122048bb596aea4f7bbf2bff8a48627d33aa1b4d22d35f9a466af10506199430c39c40a97b4b64c512514728a751eb9ce23879c52c821260a389231344ceadd629b5facf18892083fa4bf2c08a12449a6695cb00a8ec7e30987c3aaaa6edab4319fcfefdab5abb5b5e5ce3befb4d96cfff77fbff5783c3535355729058fb567ce22c7e78d37260ac76246c65af81d1986a1aa2a0ffc5d8efa7dc4045080e0964afbea329bb8b4a15f4a41d021af0ed94c0ae60a042fa1b92000d56ea939a81a14dd56e368f09d3b5a02c10db4d2db623585705db92d6d100941bb0821a0ac995687144a01824044f0ae3a070400418020a8748b9402035300802240114101028f0a04f821b6fe544549a5d2f97cdee53a27431d21d4d6d6d6d8d8e8743afd7effe38f3f9ecbe582c1a0c3e1f4fb03e974caedf678bddeabd56109a1842040e339f3e8547e4ba50d7a45402026249d4e07833cef6fb9eab7720b8e7d784008ae2d5320a04b4c7cb1497053a5bca142010020089668d5b815b8bd4e2554152110cedde5ecaff4461df9550410b2a11229671fbedf5ab612ff9f0def3ace5dcdf8c33eff40966555553299ac200876bbbd5456ec767b31af251c2e2f7e1e08040281c0d5eeb184520581b53ed109d57a9fec10a185ad6432a5a82a4ffae32cd9f96ddeeef70000200049444154a5cbdc1e8065fa72100009d20b5b40374ebd3fcec5fc5f87c341284d2493ba6138ec7636107c1d4f0913823166d13dbf8a3c65aa00693e9fd70a0541107c3e1f37fd96fd38e1e9b0d735ea708de48fcff9bd1c1f4110dc6e773e9f2f140a86612084aeef7228d96ca6b8d2d8c2444b0a28a08aa278bd5eb62a29e7d2fd6df1b4df85255e79cb5df3e74ee94a53dcfabb916d4045514cf3a21927d70cbbddce0a6c2ca833428220c8b22ccb321ff0bd1269c498e8ba2e086839dd17606c616c2dc7e286966542082d6b79f5515891eaa57f1184d0b2302178b9ab33b281bea59f1ea58010bcdc920794528c09b891d39e39e7b4efd9b514aef789d82f58ef8fdfa02b441090a2c8cb8a9c32f95b663c049aa680d0b2ca4341267f82802e43fe969b78cfe46f59490b181308c1b2e48f5dce4a764ffe0bbe3696203f879bcf2766c3be102e2fb20121b5ac8520c432efddf2762184b0e25acb2a780500a6142c3f568397757a671fc670994dc71afd069ef3cbe17c34d4af98ffb2dc4908f4f28a962c7797cbf8966271f2cb3837b09caae6c5afb88cd35bc1e18f95acf8625aa669987cd537ce4d257494524a179c417a56f04a52ff3e5027015dc63ad8ef4fa65d4eea2bb3452158ce1795cc9e58fa8ec5d35b962f41967c6ef4ecf92c5cd1051a61413957446556d2fa9325599165de6138379ffc614c4cd3bca0f577e9ce3c9fc706266187b4949815a120a9e194860100650ec9212f556372069dc99a08824a97a4884bda4bb7682c676998520abcaa1072084b39bd9486e7f25844a0d225aa4b28ca4401c819643667110a2a5de2a5cbbd500ae2052c0bd026c1580ea70de2b7097e9b503aeb03c11b35f6f7519b01cef9e8c8df79bfec0f163f0a404a236f0ce5f3067eb4c37d6ed1ba8b49123932ad4da4b14b4677d42087bca4ee6911da1529f4c40c08e13d8db0c1bba4518bac49fae2e644da9a4c9a77d6d9b73b6c1fb84b5a27fb270ae369cbc4f4138df6d541e5038bf7e9163d31a39f9a354c4c6faf513bc2cac50afe59840e27ccfde3858eb052e5167f339a9fcde33ab7b8adde1eb09548332cdaa02ba0353ce981c359be262e41ff4c4c4fcd6a136973206e984b4b232958743469620add36519597da37333a3916d1740c09853963a9268857113656d9eabc321260857b49f9bf39938c262d5944f30512cd2e65fe2ec81aa43f663864c1a5082766f4ac71d19d4c024652f868448be5ade9b4359bc70d3e793c6dcd642c422fe020af085cfe389ccb52404229b99400cee470ffbc19b409ba45356b896974b0cc21b96478325a189cd797eaf99a346b5008404ac333396ba97e1f0212a01349bd33acd67ba4258a0584603e4ff2265d62645212a04b1562796b3c65cce5b071f1765004784bb95ae194080579932000c2760429c899e799de2be76672f9e370ae0a59839818c6f238a1914461a959c43e1b6af249864566737889bb2802742aa8da254008a632d6128581523a9e3267b2b83d24cb4b49d7a320675203d33a8fe8b7a1a466912568902ac23a8f1c724800209f4d502e1e2e4410384520218020b0498249e84cd62200d8a4abb81a354f7cb9ea912370632c73ce593a1f9c16fefef0ef45a9f1489f6a1106e6cd9c497d366169df0b62793c385f201436f9979a4aedb1a166bf727246cb9b7475bd7de963b8f102093a84806d694b1142e05250c02e0e270ccda2152e5958c237410030a5d3191353da19561d97f4e821026e15d92414760a8a241c9e369afd7299e3dc5aa70b79283cefefc6563d4dd3d2998ca6e9d8c294cf0cfd50a9dfffcfde7b75c9756569627b9f73ae0f6fd21ba40108802408da2a164d75d3548d5ad5a3715a23a9f5a0d15ad22fd00fd0b37e8066e955eaee91ba6a75f7ccacea29db5d6455816491a003e11326bdcf0c7fdd3967ebe16606331399c90c208102c9d82b171999881b71ddf9eeb7ddb739679665a553de1ec19e7b11e4900beb19e819bcd7e3e7fbadfcd172b8190b7f30917af5043080fc91e78c1b0cfff484f3d2900b0479eba8e53288f85cbff3749f9d368e887e5072f9bf389df2150240d6a4a3a0a6c1f1995e6ba2600140d684c3e77cd81cfffba773262393e3fff05426d2e80848190ff14a1f09feba6bb723d35ad76bf546b3e9d876b99c16423c0ea37ebb76e44717482983c0afd6ea7e10e4b2d9441262f7cf57677e71cb33dda5f676b871c48c09994ed11a206560a7308108ae011da9aa73848c89995dc7f7d5fbe60a70c5517729676d7d72c1c64700485df677fcd857abd5e2580ef4f7398ed36d35fb5a98d244009c2110c49a520c31970bc3707d7da35aab6732e97bafe3b772d4e563f0706a93ee47d4f5d1b54e7c5edff795523de5a2e7a5ee5933a4b506d8a5724144c980f37d8132a938638c256f83b65cd5ee371069c692d9725aa9ad4f6b8f9a4b5e249b3fa431ea5f6be0ab856ab12e95a6b4cd49c3ba1f973db3e872cf7519674b4b2bad96efbaceb7e71ebeafa6377854b7153dd6ec4f6a921a38038361a2308c80f1b6421767a0342462f700a00904c3e43511845a33c4a430120194264090c9fb19108126101cc5e3ba7eb5d6611839b663dbcebdf750abd59c9d9dcd66b33d3dbd6d08abd76b0b0b0b7d7d7dd9ec1e997b8aa2686d6d4d29d5d7d7bfb1b13e3f3faf942a97cb2323238c6d85d21b8dc6ddbb771b8d7aa9541a1c1c9a9999d9dcdcc8e7f3c3c3c38cb1c5c545cff34aa5d2fafafaeddbb70dc3181d1d2d148a5d046c5b3d54bf9eaafd61ae114a6aeb0a642cf6f6c9cc4b4329cbb432e954b556374d73cfdcaaf68f524a29d9d14dd26ab538e747173b41c4388e2dcbece4baa1d64a6bdd91b21611dba8b716361adce8a07d4b30c83b229fb23beaed534a2176e6c926cd6ec73864e0f8e16fba1a3742b20decf58460b0e12bd76495965a6aca92234c0eb548db021d817e4ca102d7c09ccd155120a91a2a8b338b43d6628c613da258522352a6609e89b5406b8294c5fa3ce1188fe3024e347c4cd380fdb2bd6b6bebbffce52fcf9c391b45b1ebbae9747a7171b156abbdfbee3b2fbcf0e2e8e8683a9dae56abaeeb66b359a5d4cd9b53bff9cd3f6532d93ffff33fbf78f1e3cf3efb349bcd3ef9e453838343894e0611ddba75eb37bff94d1cc700f4d65b6fffec673f13825b96fdddef7e17807ef9cb5fbef0c20bafbdf6daaf7ffdeb5bb76eb9ae7bf2e4a937de78c3719c2ef025164abd548f56eb3120f8b17604038430668bb5582acd91398e5badd595923b4741b5c14f53222bd5c1628ca2a85eaf1b86d1893c1445518498e15c1c1931b7fd024d9da092fe7c66fd3ffc612646ebe8479431f49f9d29fce9d3a31d9d070022c28e3639f6b6b2a39ccdce221cd39b51ce117e0cd395c8e47867339a2898aec16fae4703278ce5465c8b68306dd4235a6d4aced8425d955c5e09144318ce590870b712990c6c93672dbe508b1440d965ad8866ab71d61195307638d85c3c860c86120793f37ba91f1129a582200c82e0c2850b3d3d3d4f3ef9e47ff92fff3036361e04c1c2c2c2c2c2fcf0f0f0f5ebd7cf9f3f9f4aa58888318ca2a85eafc571bcb0b0d06ab572b99ce3386d4f96886cdb7ef6d9f3712c7ffef39f4d4dddac5436ffe5bffc579f7df6d9f4f4f4e8e868b3d96c365b4ae94f3ef9f4fbdfff3e63ecfaf5eb2fbef8a265595de0db725694160863792b65b295961ccc18ad4823a21f29adb5d69068d2e9640ef256b755fbbf940cf6eb481d4f4a6918462a953afa5644ba52a970ce8ebe09222aa5945242888e04afea315c5bd73eef8018e578f06223e45c747244a4142276a460084484dbb8fed88e398781942080a98db015d17c5d161c3e9a351c014369b1d28c6245884044912213296371a569d397799b4fe4442869a946333555726128cd634d1a101118922fb588b5521d3e631e7564766f7882885aad56ad560bc33089f52d2d2d22621886d3d3337d7d7d006059e6c2c242a552a9542a9665274b6e6464647c7c7c696909807a7aca8c61b55a7defbdf7ce9c399384a21061686850caf8f7bfbf303c3cec380e63bc5c2e3b8ea3941a1b3b313838c83923d28d46bd5c2e69ad832088a2a89bccdf7975388382cbb3b688b4ee4f19b5504902457a577a970eb9dcf7f3a5896ccad13dd9fb48b3dc1f4620326e184647ce2f4a787443ef8e73dac7f1c39f06a8849208fc9804c7b182152a885432198f3862ca44d7c030c6b4c9fad246d1e17737438ba3065c6dca46a437023d901196601bbe42c094c93c03b586acc5fa5262d3978fed5a6a271976dea95ad3c2c2c2071f7c502c96e238668c2332df6f552a9bbedf4ade99cd66abd5daa54b9f3ff1c4e97c3ebfe376c7245a944ea70b85e2cacacaa79f7ed268d4b707a2b3c5c5c59ffffc1744fa95575e15826bad5656565aad663e9fdb212489e9747a79798531b46dcb34cd6ebe72e7d33a56500d9424a8867ab5259b91028082c3934ba0351169dc4777e9fed3be44a4b5d2ba0371d04756398f085c30617440ca383cd27cda231d75d4a9f5a68ca5864a99ec64d13218646dbeda941ce14cd9e60c4baea857d54a53652c1cce1a25973b027bd3c2b59826bcb1a9d2269e29db198b991cab81eaf160cda795862eb83851b08a0e4f9be819ecf11c039c04b3e3282687da3704223a8eb3b1b171f1e2c5fefefe91916129e3dffffef72b2b2bc924cc4c2693c9640706d4679f7d363c3cec795e7b43d775d2e9b41046bddef8fcf3cf5bade6b973cfcccf2fdcba35f5831ffcd075dd3b77eececccc5896f9c107ef7ffffbdfcfe572fff00f3fcde70be3e3138661a4d369d7f518632fbef8e2ef7fff3bd7755f7cf1c5542ad545bd2f573b80c5b1ec1a39972b4d8369a31ef278c7134c4aa9b56ee79a1e9cfa25cfb3f6e0bdc70ffe9073264407f0c7e811afc7c798fd9d2d9b521347487a6218826b180ce174c9e2082359a33f2d92cc2fc7ad9c6f8f2bca2e00c14886388324aa870059936984494d0c80314c3aae1d43b0c775083ae79c331e04a1e7c9761c04117b7bfbfecdbff96f3736d693b4efc0c0e0c4c40463dc308c5c2efbf4d34f09216667677a7acaa3a323ed10bb6118cf3df75c14c5a954ea95575e999c9cd05a0f0c0c56ab95f5f51c638c3176eedcb9a1a141adb510a2afafff2ffee22f36372bd96cb6a7a78773fee69b6f59966518c69b6fbe75faf469ce797fff80d9d564dc610647c1706a3d60556845bae26ba9b52df07c9fc310b5d6d55a4d0861182289b71eee8111402469b1214d8e3daea8046aa9299f2c5b7bb891d624a56ad373ad55b55a0dc3a8502854ab95999919d775c7c6c6db2344f6853f45b0da94cd480f668c755f7eb11259025fe8b353d661a81a2b5a69a958d1604608860bb578b6269feab153edbe1404ce19ed68cee5a41c0a633414b21405164531f02af3d4f6446ea1f696f56b820d5f2d37e4c9a2d988f495d52854fa7c9f5d700e2b018f144c57234fa0e0ece67a142832399c2a98e57bfade1edf39bf0241ec3ec6e4b7e47c72047ecf19d83a36843ddd871c810318fb7dda63ebfc7a9eb759a96c562af95cae8d804288fefefefefefee457d33433995db5fdabab2bcd66f3b9e79eefededdb398fad5d0d93cd66b3d96cfbfd4f3ffd74d28fb5673ebae779fdfd03ed5f7b7a7a9217a954ea89274e77c1ee5ecb39fc5f3d95dba344820896608c68b3528de338934e6f653fbe6a0dd643fddb19fffd59ffe5617b3467fcec666bbe1efd1f6ff7ecc9d3257930640c009494333333172f7ee4badeb3cf3e7bf9f217c8d8e2a54b7e109c3bf7cc4efeb70bfb34dcdc887e72a5ee1af86f9fcabc3b1dac0534b51e4431bd3de11de48906923e5d0a7e79bb359416fffa6c3a26fd37571a9f2d07fffbeba59469ec707e11b7dbd32ca6cfa6e9b5c9810bcb72a516bf3d56ce5b70a72a7f35ed27b2ac0009d1d9f5950b35f91f2ed796ebf1fff64af1c25c707935e60c3d933fdfcf0ed2fb0b627a67daff4f376a7f7e2af554afb31ec1d5d5a81ea8accd4b1e87874378ba65cfc77d4205cfa453d55a6d6373339bc918867194b048a150fcd18f7ec418638cef5966f79ae7799ee751575df6b808208261dc034f32ae369acd66339df24cd3bce7a2ec687edb79f519163d91f02fcf12c594b1b29f021525e5324a25dfe5ba6e26934db2b44f9c3e0d009b1b1b6118266f68efd21e804e5bac941261ac19c24b43ee5a532dd7e3c307a131c4bc6b145da13484922ead84a6602983a95dd100e40cd936fb4bdbc613a3e589c1c2a5da7aa4d032d8dc66edf65a243517dbefe1c4f6dce3b6c97b53e67a4b35235aac4bada9e870c738cc6d630cca19c33305220ca6b9c1acba2f8b3de6447eb7b6c2b1ce1defc2dff19b699ab96cae5eafafaf6f5896c539c3ee2cddaf911129a5a228d644b96cc634cdfd1f33fbad43d7c0b1acf8c2650cb1d76527b2ecd6fa3e9b2aa5778e5d4ea7d3b95c767d7d833126b871edda55cff3464746d50ef8db53eec010ca2e1fcb8adb1b1111588c040344a8858725064d0e23193e94e62b0db5de52b73663240824adb4d4447e27fbe3b09dfa682a786fd11f2b4bce516add5430d8571eeb57f5abb5f96dc5534e0c70d7ee151c76aa206e6d8026529ab20e6f44eaf272309913e200d11793e3e9bc28da0cb6949fc340ea278a8ebba7c217e1f8aa9ebbf0f7705c60d3340a857c108451142b92dd1e8baf9dd9b665db36e39cf623e3f4e5c49dbdeb900118881c01893880c9f621ff04a49446d46d344c5a219badd6cd1bd7171616c6c727b426a5f441ec0f00104030100c634d9757228698359922a4431d4504e208828325702c6fce5425328c772a3727e1a91db13f640c1018638af4cc7a6dbd2e5e18ebf19c800761b21953b8e75180440cc964e8186c206d5443d520b4c45727880d8e1c3152b4da52299315ee11e342c44737e98d8e996c7ebb50d0766ccbee16187f5d9f61ed90dbbd3f007090e28163e0d91e3b6331ced940c67869d8db472e416b09b28d5204542a953ccfe39ca733d951c3600cc330903b7ae9ee853f86389c315d43e46d514ae93b9bf170ce7c71d03e5c5d88331ccb5b654ff7a5c560d658f7758fc7cf96ac9d07ce39c31df0a711179a714369cbb1878a2223e06e2daac6c4dbceaf646c37fb0384be94f9e210e41dfe4c9f7d6935744c38df6fd987f6ab0a86cf0dd80329c11047322667e0ecf77eea2abe7cbd5651d7be710ef281bcc035d8b95e8b01180c46b2467f4adc8b475a1392da594c58281488001127272748130070ce77c7fef4bdc1b2133963240b2687677aac899c291864acafb8df04c389824144964004e871d99f8e39bbf2b1088c23df017f21d1870b8d66ac224d9f559867f0cd20682afd65ec8fef8de921c0409a975cdb11389e173d1ed70069030f876683c34b83b6c150209c299b0860f087cbc8baf0d7b5ae3d08fedd4bcac0da5eb406837d139d49272e287dcfdfa93dca5113e81d6fd84baf0010a02d526f71b09ca30af0591cdafe3147f076332c04e01cc5ee3f6e448a800061c597e04b0262fccbaa7abe9fee73e298030007c85a471707c4f6113d02a7f438e12f8aa2388ebae9c8ae7da3706e6bccb989bbf38f0fa23bb22d92d08967f0a80abe1245b58e5a7119e380f2115e9163e37fc7097fb66d398edd5d305dfbe6c1dfde31e70f4640b406a535c051871921c27e6d270fcbf86ee7f7abe1ef91d6e23eae3dbf5a77d3245dfb66c29fd67aa75b43dbb2c3a4494a296507dc474aa9948ce3581f9961212243532975f42f4a145fb4d600b223c517242554c4a3560720a2228ed4d1ee0180da2e7bec98fa1d9fc8f657c15ffb3a77ad6bdf6e14dcf5b3e31fb4565aab0e969ce0a5526167dddf51b04c082391b438ba174ba4137585a32f5f223d9177fef9b00f2c3cfa1119056bace8214047e72149e668ddd975d05a75677d74ad6b8f16f80ee00588cc322dcbea2ce6631806e7a223b5e7288a1071a7e4ea11d89f544a77aaf737de2746cbb94e1bc313de77f4dddb6afbeb5cef8f73718c5cac0b7f5deb5ae790b80315a9630f8eb426c63aeb59bc8f81d1895457a7df72afa77f642a8747dfaaddb2d9f949384eefb7db8cd5b5aedd27046e377e74cfc5a37df0c0238bfd75ad6b5d3b6c25dec3b908eaa166088e81ebbe5e6fc99ccd7b3dce0f2ef9258056ac2345699335235a6a4a57b0fe3417876ee2c77ab9a100a82725b486a58634180e668571e856f5502f37a52558afc74d86b5500342da3acc0f6fc57abe2e0d863d1e8f352d3795c3b12f258c8313be4ad374552a4d7d69c111961b4a130da48573f09c7322d8f0d54a4be66d51f6181056024500399bdd731e1e63bdbfae75eddb41fdf6e120414c3736a24bcbc1c992359816bf986a4a403f54fffa6c7a30230e428af9bafc7021b0383ed3677db410acfb146bfde609f754f1c0009cd47479357a6fd6b7043b55346aa15e6ca856acff6cd27ba2641e044b7e4c17e6fc6b6b51dae4e7fbccacc57e3fd31aca18af9f70d901a0a9347c381f5e5c0a3d939dc8f250ea858656046f9e704e15cd8390f6f666fc77d79b799b171dcc58ece646dc8af5eba3cef93efb20746ec5faa7379bbe2493c3f7475d93e32f6e355326fbc18497b3f7e8f1c0318dfae83abf5debda83f961ed854800a186b986beb121375a6a33d08b4dd5eb89e95abcee1f9812d504eb3e4c6dc8b95abc58977737e544c104c24f97834316381110e058c1f62c767121f86c291cc91a82e1674bc1218ea1d480c04e152da9696a235e6cea2beb72a9290f999ea308220da74b96c9e0f24aa4889dedb19b919eaec40785ed34413da689827522675e5a89028d27f29606586d6a75709e37d620387fb6df5ef3d595d5f0e67a74633d5e69ca78ff6d1e55ec8fba3fdd9f6ff1cf41abe05e43808c85cff49a83690e00aec1224517667d5f91631eb8d004c75345e34cc9e40c6dc100e18b65ffea6ab05c9787ac7193e3b95e6b34c357ead2e48c31283a2c6fb343701600d216be32e278066ef86a306b7c67d0194e8bc385ea4d0eaf8c3a65972d37e41325ebad715729dd88742975604299219cebb59eee31aeaff92339e3bb8376ce62cb0dd59ee8bdaf652cfea353de462b6e444488b33559703922ca87195a3d1ee7b7dbe8d6b56f2cc7dbd7765400d26e041448c9225facc5b6606f8cb9bfbcd558aac993f9fd8740220047128c10a0e8f05746bcb9ba5a6d518f77d85073a5e1e65af89faf37fa33e6b3fdd6bb779bb550d64395b50e5bd191a28f1783dfdc693dd5eb9c2e9a06238e7478eb9d26b8b91afefdb5da99b2fd648ff98779ff7733fef97e673c671cb27b1b4df5ff7c5e2d3ac67706dd996a24189c2e594b4d192a320f8818c6a47f71abf1c15cf8e7a7d348747121586e489bc34ac3ee7177444e697bdaf9e3d0f39bcc12a54e8b17bbd6b5af15fc69d252ca288aa22892714cea409265302c382265b29e94489b786d354899ac2f73d8005c8690b6585e0a45305f8b571ab2e0f2e7070fab258c344d6dc69ba12e13d54255f6c4e555d988e8d513f621a8d488f4e595282468c66aa116672db3e8888c75980c5f28f5274b61ac3090f0e96270b71a2363eb4db95893596b7f8056045fac8695400fa4e1d646d88a69be1187125e1971ac83b325b5407fbc18661db1d2884f97acfff585c2c585a01ac8de94c1d8c36aaa7b20f8d35ac7512484b05cf77095edae75edeb0d7f5a4b290d117086405a08e3a0e2b3b4c55f3fe1190c5c81ffcde9cc7aa0f30e1b700f5b1d06c373bd4eac296bb1d72dbed4d0298b0da60ef749f1e561f76c8fc31032169e2ddbab2d6d3018cd1ed67f9b36f97f7d2aed2be288791b39e29f8c7b82a138782353b0b726d2df1dd11cc116f8ec00848a00a0ecb0833093019ceb7306b2164770045a02d77c0d002369661efc45199bfdbbe7f24468302ada3c6de1eba34eac28b7774ed471961b3d18fc29c539cb64d247aff6ee5ad7be8e08d86e68d55a4751bcddab40fb611994b6b5a786d26c28cd11bf223a849848422100146d2cdae22b3d3b8ed0e7b13eefcbbf949dafdecae43092d905c43d2efbca2f1a4a234007bd19885072b0e4f08ef6cd627832b7f35b286b023ce4918e0f045b04908c5bdc773a0f1175c53ebbf6cd803fdd36da6ea5386a00ea3e02e374bfcbf1f13d85c7f2298c3144a4e3ebfa100f7e587b9430128f388e63adb56118866174d475d8b5ae3d86ceefbda98fee99f906d857c2dfa11d764404f0a5a0049194b2d56a1111e71c11832068b55a8ee3d8b6dd9d76d6b5af2ffee984f2254910bd1f1ede17a276b40d74de217b1fdf725f47d4f1eedd5fcfef977bf838747d24bbd1ae65944a361b0dcbb29209dc00a0358561108621229ae697e35482c05f5c5c6a34eab95cbeafafaf3d0e7c8f69ad6bb5aae3b8d56ac5b2ac6c36fbb063015debdabeeb4d6bad55e2fd2a22dd5e7d5aa9300c84e848b624a997909db84428a5640ca58c8ffe4589a72ea5ec48594ba9ed63ecc494d288d0d1ee259bb0ce5811762429f8d09d5f4dba1df80b8280319e4aa5db679b3160dc0580308c18e3c9a14a292f5dfae297bffc451004a954fa873ffce1993367927f42c4c4b74fe286d56af56ffff66fdf7cebcd9b376e148ba5679e7926f9d7e46d9a34c297bf76176ad71e0afc01ed8afd6df1c02d06c838735dcff3521d7d661cc79cf34e05af3ad2a0df963b559c8b8ee04f4a9984ad3a843f09d0997a552278d521fc011782daf3f7fee8f097dc1bc9ff8320c8a4339a60c3570464715cf165de1239db0ec2504a691802007cbf3537379bcde6de7aebc5b5b53529e5279f7cfcbbdffd8e88ce9f3fdfdbdbf7fefbefadacae9e3a758a217befbd0b96653aae2b0ce3d2a5cf2fbcf75ead563bfdc413a74f9f7ee7dd7701607d7dfda5175f7cedb5d73abd605debda11c95adbfd4df21e7a77302801c58e3eb223add30495122ad7218f535a2b44d691de5f52e2d31190c1967473072ca4adf7d7d1b71c3bd17940f823ad2969184cea4289c88fe34f169bb3b5a860f3cd507d6f2895112602b6cfa961987dfdfd376fde7ce79ddf94cbe581c1819ffffc67994ca6582c7efef9e7b9dc6cabd57ae18517e238ce6573b95ceec4d8d8b5abd7e2285e5a5cf25cf7e4e4e4175f7c6159d6ada9a9b7de7a2b97cd5dbb76fdb9e79ecf6432ddb5dab587e6fc92d6db4a785a833e56cdf5ae1d998aef905a7c2c26bd51f2e82322048ca288130c38f8d95c70753efa93b14cc9d0511469ad39e7c93b9552e974fac5175f8ca2e8934f3eb978f1e2e2e262c2b73dcf534a799e37323c9c105dc3306ddb26a2388e89289f2ff4f6f65dbd7acdf703c330274f9e9c9f9b5b5b5b4d187bf7f6e8da4383bf24fa475bfeef01cdbf042015494d9ca1e0a834290d88601cdaeeaa082249886472464091228668f2afe0398a2020943700002000494441542056044406679a4811000047300e1d3ca434449a1890c999260a1531c464e6efc1012e08152180c951d3d6ee1dbe0900049288c814888091d48068f2af98f32b35459284c04415466962b8cf268f8bda331168bd0d7f008cb12008528631e0e1db27bca58679ba641a084a49ad35175bf027955c5d5dbd7af5aaebbab66d974aa5f3cf3e5bafd55cd72b140aa6695ebd7ae5c2850bf97cfed4a9538621e666e71cd7c96432828b9999e9b5b555dbb6cae572369b618c096138ae9bf820ddb5dab5870a7fb4a3f86f5ffc0b24dd580be76ab22725c673c6dd6abceeab94c9ce95ad94c50e42b1b99abcba1a191c9e289aa1d2b736a4c9e1d97e3b6bb1432069b921bf580d19c260da6884ba12a850d1405a3cd36b1fd4812535ddadc437d6e39489937973335433d518917d67c0ce3beca0353e5f939756425be058de08244d57625be0f93e2b671fe820d7027d61d62780c9826109bcb11e490dcf0dd865f7406c569a2e2d8773755576f9d9b22989e66b71af6794ddddcf81473ce6fc90ef22004d5a6de38e619a81ef8761600863346b0c670d86a0b58aa30810013079a710c6c9932739e7f55aedc4d8d8d8d8b8d6eaf6ad5b00383838e8a53ccff31acd465f5f7fb9a7f74fdf78d3b6ed899467dbb66559e94cdaf7fddedebe52a9645a662a951a181c745cd7304dd585bfae3d34fc5349e2778bfc69a27dc6fc1240255057d6e26aa8ef546528f5c5c5d034f8449e1d726b86926eac4777ab3288f54a5336630a350a8413397d08fc494d77abf2564512c152430d65cca6c4f7e6fcef8f3acf1cfc5d7e4c57d6a285ba929ad65a6ab9a910d97c3dcc5af8f290b3ff17115c5e8bee562511dd580f119963b00d5f5902be33e8eecbe68860b6165fdb882d8ed3d53867b38d805ab1b6047e6ff8c0b6df564c9fadc4007875cdd700ab4d7975357c7bdc2bed444c04c0e39cf5268ee1d6d8de13c698699961182aa9186788a80194d2002038db59e093cde6ce9f7f964823222203a062b148b415dacc6673499813009e7ffef9f66b44cce70bed00f0d9b34f228265d9854201baaa335d7ba8f46f9f42bf7d2250aee0e7faec9586fcc3bcbfda526b2d55f258b5a5d4c1f7a66070226f661df1de4ceb6e4556025d74852130d287ddcf0c71306dd8827dbe1c44924e17cda9cd78386b3cdbef1cd27c6f709c2c583d1efd61be558bc88f29d6aae22b4d073aa588309a33cb9ef870ce9fab495bd0f97eb1d4886f6fca170668ffbe5f84bc239eeeb5bf580e1a910e159cc8197eac67ab71d86f1f047f06c767fbedeb6b613dd20cd1122c5410e90318e963a1f64c40dbce6f629c7130506b2da5c22453c318630880fb39a70992eb3d775afbf5cebfeffccb8e17b0e73d5debdac380bf2fcb5e92c297fd962002380648a5afad452339f3899255724d53b0bfbf5a395d36f2b67500fca1cbf1a3f590239e2c9a9757c35325f3da6a787b233a5538b0988123d802ee6c468d88be37ec28d29f2cb49ee9b7cbce617524264757c01fe60353f01339b1d6523d29a31ee94d5f1ef245790b2fce8792e00793e9f5969aabcbd9aaecf5381d0c0b26871359510d8c0f665b0c88a3e008ead0058a08391b270ad68df5482a3a911337d6f62197c7eafb3e70cfefdeac3f110270c612b84a68da1e8ceb5ad7bea6b1bfadca676ae73e76396104b0da94bfbcd5ac463496375b11cdd5a282c34245876423fc587f30dffa682138d767971c9e315914ab56ac0ecf12449a3e5b0a7f3bed3fdd6bbb02961bb211d3505a1caebbd48cd46fa75b9756a2ef0cb9081029b239991c5a076b8a4a4defcdb6de9ff75f1a741c018c812d58cee1c3d90373339ae0f395f0d6469cb59929d031f99d4adc8af5d9b27d485aa61ae8ff78b531593410808004c2fe1fbf75da1f03f84b76e690fa9d2d46d6e5655dfb46c0df5604507f5978bb37f887ac2f6da515d5631aceb2ac236e57e21f4ca64fe40ee4711ad0b3c464c92664b6c95f1ef12eaf84677a9c67079cc3179e65b09365db106c33a494c1bf33e4963cf115c962c08c6b4c169924740dfef2b03bb5110f67ad5747dc83e10f6c4b9ced7190b140618f67acfbd17303eef9de03b5fb3883274af6cd0ddd88e15f9cc93a067eb410b8163cd367d907c35fd6e69325eb6e253edfe73cd5632bd2e7fa9dfe94388800fef1e14f08c1188ba24808deedbbe8da371afe48efe8f505d2f7c6df116130cdffe25c0a000108899e2c1b8a9001e1c10b366de20fc6dd84ea201120bc34602300c2610e9325f0f511e7f55117b6c7ebe216321c66398bfdf353a976e089105e1f7519121e4c501c81ff6cc2dbe9e07f67d0c243370180a134ff5f9ecf00014302a2d3c50c20b14337b138fcd9a4ab0819029206e0af8f083c68c0fce3a0f8c239775d370882388eba14af6bdf64f823925246511c45511c47875459e1cea820113f0253c19deb99801d8ddcecdcaa83e6e11d612824e0f0d58e24ee8e5cb1af865920a2ada3a064137da4634a4e17ed3c930fd71e08fe10d1344dd334bb8ba46bdf78e7574a1986a1effb8d86699a16749b3efe6857e451c25fb7b9a76bdff2d5b6efcf71c6a08e84c28f26be747f151444d0e9deddc71169ade5d69495ee98f3ae75ed8fca0ab5d6b55a6d7666c6769c8e368d63d999e20b401cc7d889e20b0024799ace155f62ada95301914456ebe8bbd7963ce8e888c230bc71ed1a699db8fe5df8eb5ad7fe6816c5d1477ff870e6ee3432d474644a8240ba33e283890fbe5dffdf11917b145fd4f6483bd96a676ddc112d8ee5dcecec31b6b776e1af6b5dbb4ffaa7a5ba73e7ceddbb773b9347c6c77b2cc7fdedde7d6c755f5fb4a396ee9128be1074e71adcbf7f94b848dd53f1f5b264a4ce56d1fec13f9a08760ffcd55a2bad8ea5018921638c1fcb885badb552ea586a851926c3cdd857dcf6880f2ecc8ea0f1800f792ceafeba769029a5641c47711c85a152aafbfcf81a192270c685212ccb324d6b5fef8c7637680240a2b891c9664ba5b2eb79ecc126db28292bd5cacaf24a1c060916dff77d888ca533999ede3ec7711e3079124551b55a595b5b8b8360df981d017237951d9dcc4d3ce994fa1fe4eb7414b656e72b53571af3777418ec453ceaa63e1e57c6a7944a4ac1f3b9ac61189cf32efc1dfb190e82200ac3e39dfcd0a67e4218001404818ca5ed385f89654a6bcb714e9e3a552ef730c68f85fdf50d0c8e8d4fcc4c4fcfce4c93d69de26952ab98ca66c627260b8512e7c7b35743c323ad56f3ee9d3b8b737388bb428428446a7862e8b51fa54e3fafac9482077a0020804baaf4f246fdf2fb33bff98fe1c60a3c042faa0b7fc7be32a5d63a9d4ad9b6ddbe39ba0d31c748ab5bad56b3d90040c7711cc73df6af90520681af94b62c5b4ad96c366ddbde4b7676a82e69ad4dc77ee6fc79d7f5945252aa6304e291d1514318d3776f2b2959478905a25c2e3b3e792a9dc928a5943a9ebd4204c330264f9e340c63e6ceed2f73179ca7c7ce0ebefd6fc5d0993a0a1d01c083a21502a253745ef867a34e7ae6677f1daccc1fbbfb2b1e3e226c1fca7e7fdf7941b71b7780b67fd9a37208077cd463067fdab12ddbb6e09e122a2965227c6d9aa66118711c1b8640bcff8764528b4b448c3122128233c6bfc1d8a7b56a369b8d46d3755def811dcc832c1955d86ab57cbfc5b920adc33074ee296da1eddc25703e36366118661445db18c10cc3e0dbf20351142b25db957144c0391782c7b14cd4630e8135442c964a8d467d6569f1e82b5e139996d53f30643b6e1cb7a7afa1e3d88cb1388e13edf42f97dc3d6b73cf2e21a210426bdaa6db38303858ad6c6eaeaf73ce01d0ca960bcfbc0ebd932d8d446a07849149b1a923008c8047dca42d56b8f3bbe91086100358932ff4bcb038f3f3ff8f54bcebe43fe6f0d78aa9122a22700d46440643db408e580b553dd49c61cee68e81bed452412029efb058512ba6481101642c0604aec162a266a403494a9367b08ccd0cf6386220692d38df1ee9b9eb02f941b0bcbc5cad54a228761c677878787e7e6e72f2a4103c99804c5ab7c3ed49b62459dec9186586480049c553120e27a24a65737575cd308c743a55ad564ba552369bdb5651fca6314e220ac330e162b66def941a524a552a956ab5ca18cbe7f3e974fac191d1344da55418068669b45a7ed2debe1700899452d96c369dc9ec4019705d777474687060d0b4cc7aad7eedfaf5b5b5f59d973597cb8e8f8f5db972b5d96c32c694da313d09f77a0bc8309bcb6d6eacc76178c4cb4a5a7bae97ce66db932711716870f0e4a94900acd7eb5337a72ad50a2223b535aa0c1926532e0120f19413517fc13901599635313e566f3466666693873a22f6f6f56f6e6c00110ae10d4d88c153bee67a37cd74383c9581010343a97d4d571ab0122153110249660200d33103d2c81537998a0549c98466e6ce23d54c7867bf677ff88fad95793c4ef2f790e16fb529e71a2a6db258c3f5b5b02fc54733a66dc05c4dd623c839dc33c10198aec4f590e6eaf2a5012b9034579396c100d0154a693d59b01a915e6c48a9b119d3892ca6acc7747d0282611888a8776b552aa5969696161616f2f9bc6559ababab96655ebd7acd304cc7714ae5b2effb9b1b1bb66d178b4529e5f2f23263d8dbdb27a55c5f5f670c4ba592d27a6d6d8d214b26230741303535b5b9b9d9df3fc0399f9d9df33c2f8ae246a39e4ea7f3f902fb66cd95d75afb7e20954a19c61e57cef7fd4f3ef9647171c175dd62b134393999406410045a6bc771e238464440d45a9b8611040111a4d3e9300cc2304aa55296b54fe326e75c6be2084014c7b16559f7b2bf58ca7cbe00443ba390328e033fecebebebebebfbc31f3e2c168b23232352caf9f97925d5e0e0c0d0d0d0a953271717164f9c18756ca752ad34ea0dce79b3d9cc64d32b2b6bcd66b3ed3a20a26ddb866905be7f9422e1c41b70531ee92f95d85329ef7bafbc1c47f1ecdc5c3e9fefededcde773c552d16ff9f3f30b8383838c23e7e2ce9d3b88383a3aca90ddb97307194e8c8f47715cd9dc3c79f2e4e2d2d2eddb77b6e00fc04b794c70529a19a6280e283b17c57b1d5ec31067867bd226bfb4dc7cae6cf2c5eae5c5cd9359ae00669a11313e6081cd5935a6a94634e2c6bdb6588fe4f506b5c0d8f91860563e3530d6589e63dbe9f8af01fcb5246dfa4a30963260b61adb1cfb526410d4425d8d2865259c06377c5509743dd4b3354544ab2d95739031208256a4634d09efcbdb9ca12e38cc7c3ca91f11000a21ee8d31fbbebfb2b292cbe5c6c7c719b252a9bcb4b488086118debd7b77b8d908fc4008313f3f5fabd51a8dbaebbab55a6d63639331e6fb2d21441886b57a9d216e6c6c6aad474646c2280c82c0719c20f0852194929b9b9b9b9b9bb66d2fafac4c4e62215ff886c19f943102aa1dab3ab1200c979696e6e7173ccfabd5ea8b4b8b86304aa5f2e2d2a22184e77904e4fb41122228168bd3d3d3aee39e38317ae3c6cd300a4f4e9e7ceae9a7f6a01b6ce77695925a2b29e5dede768284fd9996958420daff52afd7af5fbf3e3838c0185ebf7efdb5d75ead56ab043034381886e17650183dcf9d9c9c40c0d3a74fddbe7dc7f33c3f086cdbdedca8a8dd1f880c3967a4351ce59146849c0b616c79b80000e079dec0c0e0dfffdddfddba753b93c9b89e7b7272b2a7a75c2c962e5dfae2f9e79fbd72e56aa1582c150b6118a5d3e92008896862623c0802dbb69329b55aa99d3b260c81943cf53918ae241ec77b238cd26052eb3b9bf1bb772a835ef14431d5ef725fb346a45eefc186e23d9eb15c8f9ecc9ace7ced957e736e7573b294512bead3b57867c1040198992222c2b16ae83d5cf8438494c90a0eb7cd5d8c5530cc5a2c6f738331dc3e9682c30070b9110380c1b03765644cb8b9ae358122e20c2d81a60483c363edd81148b5371dd968361b8d465f6f1f02fa7e2b8ee35aad363434542e976fdd9a5a5a5c4ca7d3a3a3232b2bcb37a76ee6b2d9c9c99361182d2f2fa7d3a9cd4a2597cb2d2fafacaeaee4f3f97abdde6ab5a49471149ba6e5384ead564da604dcb8710311b3d9ac542a0882879115fde3263da228569aeecd2d48a908c8f3bc7426d36c36565696cf3ef9e49dbb775229cf719d6bd7aed9b6bdbab64a44d94cd675dd8d8df59578d9f75b57af5ee9ef1f585b5f6bb55a9c8bfd82685a2b2da542a6f604ddb7c24f0cb58aa594f756d5492995528ce1c0e0c0077ff8c0f3bc975ffe9e94f1ed5bb7d7d7d77b7b7b6cdb761da7d96ca652a9300cb3d9ece4c4f8addb771acd462ce3dd490020ad09f148b229b085cb527d0955524a200ac2308c42dbb10bf9bce7794a69cff3d2e994619877eede619c0d0d0ed5ebf5bbd3d35353533d3de5f1f1b10f3ffcb056ab5a9625446ecf67e2971a5ba4959691baf78693b1d68a62bfd55c5fc5d845911a2de7fefef38546443f3a5b128ad7155ddf9427ca999122f6178ccb8bb5da662308b88c6977bd986271dc8ea63f42f6f7009207298143693e944245d0971680f8f94a94b359a8a9166a223019b718cf5adc602818f4a6792b160683910c1f48334458f7c5e7cb114398c81bb600692087c7553f950888d4be43af89e2285edf5817424c4f4f7b9edb6834c7c7c77cdf0740c6b8d67a63633379a7695acd566b6d6d2d9d4edbb63dd0ef54abb566b399c966cbe51edb76cae592d23af1ecb4d68cf146bd61dbcecacaca9933674dd390521a86d168368948704e004a4ad7f3bedef0a7b5268aa3308ead7b818631168621361a866178a974b9d42384716b6aca4ba57a7a7a18e741184451d4dbd7074496690ace9552994cd6348d46bd766b6aca304cc334373737ce9e7dd2b6eded6863c43903a02ddeb135e06d5b728ec8328ccdcdaa693bf75ef4288ac2306ab65a2bcb2b4f3df594566a637d2d08c352a994cd6639e7e9743a97cb359b4d29d5eada5a2e97751c676e6eaed168ec7c74316441104471ccdbdce72b12a6a0b46a351bd95cb6fd39cbcbcb57ae5c7eebcd37e64f9f4ea5536b6b6bb95c2ec9084771d4f25bad66cb6fb52ad54ab3d1181e1a2c974bab2babf3f3f38ee368adc3300a023f8ee336cf45c4300c93f3403256d555d9acc66676cffe453193b13a5b30f2cf96cb29e7d7776b677adcf305a834a37a046b7e8488f5403643355f8bd6b268aac074534185c238d23b0ed6a2c05f99413866007cb8ecaf372508c0604000af8f7a041449141c1850a89021a40c4084c98291b4199a0cf21607049381c100004e178c1e57181c72160240d662878f31fd231a221291923279b12b00ec38bdbd3d737373ab2b2bb95c3e97cb0741984a679a8d467f7fbfebbaf30bf38d46a3afaf0f10e766675b7e2b9bcde6f3f9999969402ce4f3a572696579797965b95828dab6a3b546c652294f08210cd16c348ba512e76c796539e579bd7d7d8d460300e238f65c2f8ee3280a479cd1af3b01640cc32834a2704f58930bfee4534f0ff40f0821f28582522a93c9f40f0c2413a2878686945241705a6bed7a9e218465db5aebfefefe5aadda6c36b399ace3ba44c439072c105042be9452711c09e168ad05df25e8db6efc608c371ab55c9867f75cf4ebd7af2f2d2dadac2cfff4a73f3d79f2641cc7b76eddd25a4d4c4c30c66edebc393f3f1f0441b3d9bc74e98ba5c5c5bebebee99999d99999c0f7771f356bb51a328e90b1a3d6ee11f8be1ff83e636c6bb8b6943ffbd9cfcf9d3be7baeeb56b5717161727c6c73d2f75f5ea95e5e5e5d999d9e5e5e520084cf3661886274f4ec6717ceddaf52b57ae9c3bf7b4ef07535353a994d76836e3384e2098735eaf5513d97f1d47f1ea0caf2ce9bc27774f4daa10bd7b6b73346711d8ef5cdab8b1dababad4786e304560fdf68b75456409b6528f7e716d6dae1aceac5b2772e5d9b5e8c65a338a55fb5805035699f657e78fbd030d9301e1495b8c9432498a475114866114458ee3148ba56f981bf5501d3400e0fb85ff92d01500086120a2568a73be353307514a89084218096611916108c4e4ea6cbd8e6309b0955a01802435b7739124c3e0396749b946c25f923583008c7fed6b628220585d5d954a398ecb197b884110224d148501636899561445b95c8e73beadf7d7b8f4f9e7ffef5ffff5eccc0c00302172f97cbe50480660ee606149907e8b2b2160a213cd700bc5688b5402220e0e0ebefaea2b376f4e7df2e9273b133b8cb1388a37d6d65acd261db9ee171185616472b96c2e4b3b0ab010307936b7bf7a8777fd653e3bd9c3f69e6fdd483b0e87216aade767e7641425ba55869bca3dfd27faf49b4d23af760b95227c59f1435b7c1610516fff4e0009af4500c650efe8a6410404ca86abecb3bf5fbbf281dc4eafbff2eaabffd3fffcef8647463ccf735dd7308c2435df69c143b7ecf99809e0d60cec7b8afe10d130be8c9d33ceb77435101350db912cfbf27502887bfebefdc9b8a72134519fdd0e9633d8ce9cb5efe0affbe9350c239d4eafadadd56b55d3b484100f0701494915472122cb66336114b9ae9bd4c1c08ef3f9e5bbb5ae55ab8c312fe52549ff36761cdd6667677ffc939fc858268163dc1a92886110d4aad5c0f7a9939e0722925236ea3544743d8f31544a3f78cf2f0232c610218ae3cdb57525b7262411910c5aad5b1fb986ed0cbfd0b44b5233fdc0f71b473440bae13a4efd63fdce25753009bbef32af2efc1d2bfc3106444acaa4e495a83b7ef398cd75dd42a150ad5482a0954c887e18973181da94e71191699aaee7b5274d6fdb566238813f94b25aa98461984aa792a2b94eaf7ba45414857bee25bf15361af5388cb4ea584681948aa3a856adc671e47a5edb0978605acc02df6f361a7114efdc2b25a5bfb90a57deb5eaebe9c173a15388e10145e0c9d0a1dd5a86852f1ad397fd467d67743561af0fd20dfdd5f047c73d55f3db609c7329652c156ff3afee10a8e33321442e97f33c2f0882300c1e4ecf2fb72cd3300c292511789e2784d05a4342d51356b6b33299482995c431fc56d3b2ec7680e2be4d6b1586511c450c51eea85fe92c14231550d454aa596fd88e230cf1800d534aab30089452a0694fad0f00c8386e6daec6ad0f8cd9cb4ebecf75520fd4eda995f26b416525f21ba1efdf7b0612e99907acf0efb2bf878280db45f36dc9abee13e498cd340c438887c2fdb65b2f2dcb320c3329e44c9619638c73ce3947c668773c81948ab4668cf9b2e91f076348f8a5d4fa411c0829252ac5396f351ac772ae705be67adfbd92522ad588a3c0af6e3c786dae4ee68beec77c1932ce78a298fd2008d885bf87b17eb66c7b3e2c207625ff1ec2597e381fccb66de7ba6a5fd34484cfb1ed4c26c339df99a648a4681eb7f344bb3b521ec5d7c5f143fd0acbb24ae5b297f2b61e45bb42125df87b9c40f01bd679f62dbfa0c97a138651eeed7debedb79f397f5ea9475a1441db098564a5e3567a19f710b46fe2d9fff22a78a9d4b3cf3e9bcfe713f6f72004b00b7f5debda51e12f717e2dd3ecebebcb64b3711449a5b4527a0b96e861ef4014047e1070ce93520fbe6d0c31296cc2362dfe66459c93834a0ed634cd94e7398e639a664713a3baf0d7b5aeddbf9fdd9e4c66237221a4945aa9adbc07d0c34e11226260f98c73c33012cd34b16d6c7b08dc7dbb815f8b4bd08ebd266720790074d95fd7baf688a219428884060ac1b5d65a1f980778183b9014c0ef84bf76c56f1b05da353adfc8f3df767813287cc0da972efc3d146b677c93769aee09f97ad99e98fa4ef691201d638c88ef48ee3f22f823ada228324d3381bf36014cb0e09b0d7fedf8431be8bb852f8f29f625ad844ac9c437826ef1f3719f63adb554ea61e00e22330c611806e75baee5ae8916493a8b880018c36df9a547047f4a1a6dd2d7b67604f01b0f7fb0abf2fc188ef450f8db2a7aa6eeeaed14fb88c8324dcb4a1986c939d3445a2b0060783ca30bbfcda6940a82300c4322fd70f29c5bb23d5aab3090da344c634b7cb81d02dcfe3f7f944be3cbd4b310bc8dcd3b1220df06f86b9f8a6339c62efb3b7eec43c454ca330c833146049566edcefadd95e60a20f47b7da3c5919495c26e2bc87d591cc78d46238e63c3306cdb7e18b34db4d689e207671c188541c090ed6cc4deeae4b9775acda3253e87d8b704fe1edc1efaac8f0d5f494d6993718e06038b2343ac85aa1a6840283adc33592849124592b2368b15b462dd8a3511161c46008e814a432dd4cd98b426d764799b998fa5ec55c2193ccf350c0300b5a656d4faf1673ff9ddc67b9bb0c2190c9afdaff5befec689b7f36ee1fe3a905aad661086857c9e087cdf8fe33895f2f695eabc6f6ea5946a8fb60802dff783a4c4f7be4e88aa371a4208d7711ffc96d55a351af5200853a9946ddb3b2b1e764ac31fc3aa104208a3d96c2648e2fb2dc6527bcec0a3c7979d00b733d1b1f3f5b704fe8ecb1e2efc2d37d55c43656d010c2e2ff87d1e1fcb99ae013335598fb1e08a2c2000dcda8caaa19eadca5786ed564c3335e5594211adb462a5e98992598ff4624369608d488fe758ee712ded2422d3344cd34caac09456bf997ae7a7ebff394ad57cb12a78344b777e51b96d2ed19b433f728d541b3495528c31228d8c27da1ec898effb9ca165d90010040111d9b6fde9a79f5ebd7af52ffee27f94527efae9a72b2bcb2fbffcbd52a9c4398fa2c830444288a4944a490014828761a4b5765c8734c571acb5e69c5b964544411068ad6cdb49068011d19d3bb7a7a6a6ce9f7f7670701011efde9dbe72e5f21b6fbce138ae102249e324799d288a4dd3b02c3bd11314c2304d33d1bc89a2c8300da574ad5afded6f7f5bee29bff0fc0b5a2badc9719cfb435222f27ddff77dd7f5923d69e794a4948b8b8b6b6b6b4288dedede62b1c81f58dd8b316659a6effb8661345b4d238e1dcebb78f16d84bffb0e6fb4a45e69c85881c5f8625d7a02234d264125d4ab4d2d107a1d4180954057021d2898ae2986b4d692f5486bc0a2c362a5a5864812692ab8c0010a361afc7154612022d852b5da52bedcf42bbf5f7df7bf9a7cb39c4efd53edffaed1cc8475c696992bcd779ff29f1b15938906dceaeaea8d9b3772b9fce6c646b95c4e269699a6f9f35ffc2293497ffff5ef23c26f7ef34ea3517febadb7171797ae5ebdfaf1c71fafacacd4ebb59595152ec4c0c0c0f0d0f0850b175e7df5d552a924a5bc7af5eae79f7f96cbe58aa5d2c7172fb65afe9b6fbe6959e685f7de6b361aa552e94ffee44f6bb5da3ffdd33fd5eab5575f79756868e8a38f3e0ac3e0f6ed3b376fde544a954a25cbb2a2286c341a7373736b6b6be313130bf30b8cb14a65736161616e6efee4a9936fbcf1c6a79f7cfaf1c71ff7f7f7fff0873f28977b6ab5daaf7efdeb89f1f146a3de6834efdcb9a394bc71e3fa3befbcdb6c36df7cebcde79e7b8e753ede536b1d04f03954080000200049444154a1d6c4394f0692b5add96c5dbc78717979299d4edfbe9d3a7dfab4e779a974ba56ab29a972b96c1004498fbc94d2b6ed440bb65c2e2793038ac5a2ebbafbb12dae3501e8f6a8a32ea5eab2bf4e3e1d7130638ce62c0335006a00a9482974041b2b18c359e1896da54584a2c390e1424d191c8772d650c630515f5a0aa4a65803e79808e273f69872bf4450880bde563a6b46b52acd0e994f9fcbbe58c70f6f44d393ac6fc07dea03fac7b56876488f27ba922ddfffe8c30f95520b8b8b636363d3d3d34f3ef9e4b5ab578787879b8dc65ffdd55f1240b954324df3c73ff9c9e8e8c8eddbb77ffce3bf79edb5d71dc72582cdcdcda9a9a9b367cebefffefb2fbef4e2f4cc34107cfae92717de7befb5d75ebb70e1bd5c2ee738f65ffed55f3e73ee998b1f7df4d24b2fddbc79338ae3b9d9d9fefefec989891ffff86fbefbdd97df79e79de79f7f7e7474a4d96ce4f2f985c505cef8caeadad4d454a954ba7cf9b2e37a9f5fbac4194e4f4f6bad9f7efae977df7dd7f7fd5b53533d3d3d57ae5c4e67d26fbffd03d3b21a8dfabffff7ffe7c0c0c02bafbeca386bb65abffad5afebf55aa150f8f8e2c5279f7c32a1b49d79e5c9506300a914c0ae5aa2280a6bb5dae2e252a5522d168b0b0b0b88d0d3db37373b63d94ec2371bf506e70c114ae5f28d1b373299ccc4f8c4a54b9fc7b13c73e6cc2bafbce2ec878004a094924a3319537ba477d7baf07714730d141c8a9696443d298e805facc5059b058aeacdc88fd4645e945d9e360563ca643890361a11590c7a1de8b189080b9e71713134387ba264980c3c93f1c7f8164cf2e4ed3e508166de495d6ffdf254f0c439e7fb8658b4e386afafdbdc07154b291312944ea552a9d46f7ffbdbfe8181dbb76eadadadbdfaeaabb76eddca64325aeb2008d6d6d6e228cae7f30c318aa2a5a525db761cd76d361b80303a323a75f3e6bbefbe3b3e3e363b33fbe31fff4d7fff0063eccce93367cf9c7defc285280a8bc5a26d596118f6f4f43ef7fc0b2d3f989d99595f5f7ff3cdb70607077ff5ab5f2d2c2cf4f5f5bef1e69b0b0b0b737373954ae51f7efa53a5d477bffbb2ef074118f941e0fb7eabd94c66893cf1c4134f3ef9d4fbefbf3f3b33b3b0b09814a0c671dc6ab53ccf3b7dfaf44f7efce3fefefe81fe812f2e7d8180038383177e7f677e7efedcb97332969c77dc2aab940aa348299da85eefb4582ac6586f5f6f2693a96c569acde6f7bef7bddb776e8f4f4cb8aef7d9a79f3aaeb3b4b4a4b5ee29975dc7f53c2f0c82d9d999d5d5d5136363b194956a4d694a3cf79d2c4fc692482b25b5ee2609bbf0d7a1f5a7050170040ef8d6780a11a44686c40024212298488874a66c101808c8918aae03000c892100c299a271226f72049b6902283a8990e8636a88a87614a3a544fa7cfa3b1f45ffd7e5ca7f7a3afb67e7e0bfabd18ccb070dfbe9b2758288346900705ca7afaf8f88fafbfb6fdeb8512c96c6c6c64f9c38914ea7d399ccf0f0f0ecec9c6559ff3f7b6fda1c57925d09faf2f6d8231040047610240832c124996b555665656655655556a9cad466d3a391a9cdc6a64d3636fd517f407f445f5a261bcd4c774f4f4b2aed95a95a72e382e406820440ecb12002b12f6f7fee3e1f9c0c82004182c90d24fd1808035f44bcf0e7cffdbc7baf5fbf27954a86c211dff75f7b6d66fac4f4d52b578686871459c90e0e2693c9afbefaea673ffbd9f489e93ffbb33fa3947ef1c5979d6e27128964b38308c1818181a1a1618c71b158387feeebd256f1c8914908d195ab575756571445cd64329ee7420010428ee3e89afe7ffca7ff8411beb9701340a0c8b2e7bad7e7aee5f3b9b1b171455179196a5d37d2e9b4e338a9549faa2ae9bef4dcdcdcf8f8f837df7c333a3a0600d8dcdcc41803087cdf3b71f264a35e9f9f9fb76d5b561eb91626af76e979aee729bbac304aa96e18f546dd34cd78221e0e878d507862e2c8f5b9394dd78e4c4e42086549f67d7f68784456144e70a1507878785896a420f0f3f91c464851d57abd3e3373aa2775e4799e2461c000be57eb4340d0dfc3d15b9e8500e898010000627b238a32ba7b44b957cc4f422c82ee150e38c4dcc74b1e21846e972627ec84fee6a679b66ce746d45c5bbab41a7c9a727e743afabf26e4217047ec0002786c6aea17bffce5c8c8e8e8e8a86118c3c3c37ff8877f383b3bebfbfe99d3a74f9e3c79f9ca954ea7737cfa84224b9170687c6282cb9865b3594d55e3f1f8f0f0f0e0d090aaa86a5f3a0882a9a929cbb6e289c4c73ff978f6e2c54ea7fbfaeba7aab57a4048abd53e3635f59d77bfd3e9b42fcece6e97b77ff18b5f0c0f0fa752c9502894c9648e4c4e22849289a4a22857ae5c010c0c0e0dbef6da4cb95c3a72e4c8d4d471dbb6d2e974341a7df7dd77474747060707979757229148341acde5729d4e3b9148fcc7fff8bfb5db6dc6c0f4f474341a21945eb9724555d53ff8835fe8bafe48a5db7b775e92a420f05dd791e47bd8134bd2e9d3a7278f4e628c23e108214451b52cce462211ca585f5f1fa534f003ca98a22818a3582c46294df5a56dcbb22c33140a2b8a4c29431845a351845040080020f07d3ff064d9e05247822c5e3e3c48eac875b9d451ca1752470776d0f82c658c01c01cc7add5abcba5791bb427faa6daf272c19b1b904e9feafb61588ded0d6c618c29a510425992286396652284755de3392e8c31c3302821845249927a55d54aa5d2bffddb67c964ea273ffda9cecd963bbaae922401006cdba68c2a8a7ae9d2a59b376ffcf4a79f241309aeea6dd9362124140af1c6f3f73bce6d891fc6d87ff9afffa5d96cfec99ffc89aa6abc8512c65c41092144824092244289e3b88aa2c892e4070146282081222b84125ee715238430b62c8b52c2d76dbf5db6b0eb79b55acdb16d4dd7b1b4bba2f25d519ebb397990fbb3775e65bde377deb95b05e5ce67190902cff31459c612a68426924945519ef35c85d0b1ad4ea7a3288aaaaabd5d1fafcea637417f871adcfae381302e7a695ad6f676b9d3694308545dd10d231a8e472331fc84ac09c658b3d9ac6c6ff70f0cc462b1070c7ac658a3d1e876bbd96c766712ef834f7efdfa5c381c1e1d1dc387c0fc618c599655abd53cd7e585f79ec6161a0658e0134202555142e1b0ef79a170381c7efe99ea82fe04fd1d76f0bec4182388f88678dff33ccf2384400865455114053dd1a1c9e5e2d841f626dea9417d70e3ebb02d77524a1dd7ed743aaee3f0a1fbc4bf0221c4b794c8b24c299515251c0e1f06f617f4f782c5fe5e4170bb2f08088204220c0150544556e41dded553b18b0eaaa974f077eef0280f0f30c686a1abaa12704129fae4abe9400011468001420245d5bf759eb680a0bf5711dcf9e50635fff7348c94573ed00000044f83982084086108a1a6eb92842114720582fe041e710add2ec38d31038031417f2fd0bd43c27f14f407eecafc8a8257dfd28dea95e611ded38b68608a61ff924318f6020202c2fa7ba00528f06d0d08d1792fae177cb89c5fe18a3f07fa13f876ac4729ed2515890e7991580f0000212fa7fc984a3a0282fe5e45ee0b029f10ca773b008c8501fd62197d9432428813043cb14e30a0a03f8103811b7d124686ae2b8a22cc8717f62612dbb62ddbda55034640d09fc003ecbe40927038143ae0c632814388db8a42b204216c77da1042be455a40d0df23c0f459c3260103610501c05404351962085a0e6db90c2190d4504841964f090556c0523af209303de610ca0048a8880160c83060a0e3322ba084b0d021d6fae0250f745dbf53f50030006dd77303c25e8a0820040c017698d30530c68aa248d213c8344210462261d7756ccbe2a140c11782fe1e015b9d60a343129a140076b5680f45a4a3493924c3d566d0f1615f488a2a103070ab1634dc60b511fc785c377db6da0c422a66001a9878949e4aab1d976c762861b0e3d2634914530fa92702219015599664cae55f21dcec789fad56eb5de7696ccf7a0ee402d831d04e02e7d0ba828aa2a4d37dc34343f72d294808b16d5bd734843197ca4408d996ad6a9a24498c5159de554c10862391ae69fabe2fe84fd0dfa3c1a7cc0b28035406b8e192b48129030c008f308f50092009610881e513db0321196db40902cc0d685445104100a01730c600a140c7ac2f845b0e188922ed508e43c618005051d4de7f161aee5fdda86fb65ccad0cb91b7204396094b69453eb40620a5ac52a9a98a9acd667605ec0821d7ae5d5b5a5afcf0c30f1555fdeaabaf30c6a964727373737070309148a652a9542a05d13d17274b32170911c5ee05fd3da2b180605891129aa4ca4042900260050c230821542524e1dba54f108418b1848e420acab53c08018568282ca53478639b9a3e75089310420ca0db5b500ee328e4d30363c4335d0863970ae6adb2e9939767d957410cc7e590211d72ad76db7109253b05951863db95ed72b964dbb6eb7a5b5ba576abad284a229ed034cdb26d496a271271ae207c2f9f524699a03f417f8f8ca88a0c0964c228a06c2ca6180a2a766854030a860103a6473d0d19324c189226530981fe90e4064c4160388a33614c19eb0b49b90e85008ec7b1820083001fee994719e3028c01631ddbeb76fde025cafbf311c448d2b4437e1380a6a98c329fdd2dd4e6fb7eb150e4f998cd667373735355154a69369b4da552ad76cb759cf9f9f974baffd8b1633b0d404a29a1140be213f4f7a8481bf8b6d60784df19d218002e01120208029f020080810104e0485ce2069204417c50638c610400600882a349b9ed320981b00c196031151d5aad0f5e4a2fe0b51119800c0c1b48a3b4dcf55e9ae11248104255d5547c88d9002118898428a38cb29dc679341aed74dadc93edebebabd5aa9eef2baaaaaa2a0360bddee8763b84908989899d613e4629a3042b8a30fd04fd3da2f3db1b3010e812000018f7fbc29d91a4dd5a1f90256f6b22f23ae587bb3b192301c118f365dfd303fa2fa7639f2f77ec80bc1cc3459160dcd0745d3bb4d61f82509625555528bda75407c6383b38184f24d2fdfdfde97e55d35acda6655986ae7b9e178b4627278fd4ebf5783c0111dab955d1f73d4284d6c7cb8907577b76755d4f2653fe1d5909818778be944208245966ec764d653b601b0dcf232fc9d65f84e0585c896987d7178400401eb0bbffe3896f61bf53f51a300820979a6600504af7a6a9371a75cff51289c4734fe444083a8e23aa3d3f53eb4f943c7824079810024080a5db1bdd74099ce87ff9f60cb0433b26b8c0c0c318b2578a023270777c238476bc0420049669b98e1b0a87b124b1e7dfe9022f94f3fbeab11f84087169142c4980d1fdcc1081437e1f0184b66d77bb5d4dd7755d17c694a03f818378280800e0f93e0c7c4992242c418444e1cc17cbb2f53cdfb22cdff78d5048d3348444594c417f02076640455128a5be1f38b6e33f1d413281a777fb30c6aaaa8642a15e284d40d09fc023932093654d143d7de13c5fb17420e84f40cc25018197d946115d20202020e84f40404040d09f808080c0cb8e87c4fef82656b1eb4340e0b9036324d6d09e1dfd410811428a2c89c0bd80c0f3f7d420244120fae1d9597f10424dd355f1cc11103804705d5774c2b3a33fbe8f4b749380c0e180988ccf94fe18004c441c04040e07c44c7ca6f477801bc218a5f4f12992871a85b1f9024cc12774c71f732450c6828078017939ca894100248c15094b58e463bc08f44729f53ccff77d5edefdf1073d572994655990e0e104a59497832484f0c2794f835d21440f1e098c31d3f18a8d76ae6ed66cdf252fc3966a0c6144c103117524154b474382040f35fd052430bba6effb1823499225497a1cce628c0641e0baaeeb3aba6e68bab653a746e0308010625996ebba08215e65f3693ca5ee8c04c7716cc308ddb7d854ad6d5e5c295ead74b73c6c011cbc14430502a052378eda47c2f5f726faa787fbb160c0e74e7f8cdd67c73e65b4dd6e0741103242aaaaf24ab38fe94f31c65435b06dbb6b7601609a268aac1d2ebbaf6b765dd7357443d3348c31786a7b9929a5aa1ad88edde97618633b9f858cb15ac7fcdd42eec2b6d3c0615fd3e8ed02cf2fc5038651879166c7accde719a027473370c7a589d97028ac3fc698633bb665c7e37145550184e40915744218ebba4e28312d0b6349b99f52b5c0b30763ccb66dd77175c35035edbe779c47426459c64f42160361aceb06a5b4d3e948d2dd91e078fed5f5f26cd9a94a51072a340007ac47ce2805944284c02316efa38440c020c2cf867e20c0be1c5e76c03f5c5d1fed8b87756de7334614e07afef447296d341b8611c292b4b7929de3b85f5d9c4508bdfbc6d90b97afc892f4c6eba714450600b8aefbf5eca5442c76f6f5196eeeddf776aaaad669b76ddbe62206e2261d12b7172224ddef8e33c64adb9573b3970a5b254d553ffef007a323438c320058af7c7c4f4663e7dffc548cb10b97afb8aef783f7be83ee1d0caaaada966ddb762f0858699bd7b65aa540b521a6e0601167c614e20c806e0cd3ba8bb75134c00aa36c6f4e17630030067b324e9418819945b602d9762077702841bb3529e6c3db5e3fa30cc2bbf6d95d216076c79bbdcdbc77dec600db79fefdc24a00106c6c7aee85a58d0f4f4d612cf8ee99d3df8ea1c176293b789e17f881a228c1fd72d01dc75959dd00109c983ababcbaaeeb5a3a95cce58b0c80a347c657d636a2d1b0244bf57a83527af4c8447f5f6a2fc721845cd7d50d5d46b2b849cf1d7ee0134a54592284ec5de6725cf7dcec37eb9bb953274fdc5a59fdfae23718a19bb76e21848e8c8f067e50add55b9deec4d848b63f3dbfb8dc6cb526c646fa9289e5b5f5ae654f8c8cacac6fba8efbddb7dfdc457f104259514cd30c87c30823c658b9d55d6f7b160ef907568f57109849e96f0d24299631f33f5d6b2d55aa9a677b48f66503101fc82af01d20a98006ba67795822461c20298e830f46a2e3a91188b1e79ae7b69c8f2787fecff34b15d3f3d408a481ea9914005f8b31d7462c5021752483498aec7600213e44408f42cfd603c79154aa8625cf9402d7970da2861f6c8406005852f856a9fee6513b1636768407059e32fd3dd4baf67c0f4b98ecb3dc4608b15d776965c5b4eccd7ce1c8f8e83f7ef65bc068a76b2daeac0641e0f9febffdfe0bcff70180b9e2d6273ffc301a89dc8ffe1c4a089005fd3d7fcf3708024a1900e8be37bddde996ca95a14ce68d533367664e9aa6fdcdd56b376fdd6294dd5a590b08711c0742746361f1f8d1c9f3972e8f8e0cdf5a5d1d48a737f305cad8cd855b000245514840d81e529024b9dd6a514a38fd354db7ee305f43de81e32d8a8c122123f09c73cbeb92aaf954f97713b189be2197d0d9929d32945ccb3d128fae379d91903a9ee873fce057ab66de45993e7d241dfba260af379d6349154b6a3aaafdcfa7867cc6ce6fb67459399be95311fc974d7b66a02f04bd90aaaed6ccb596f7eed0b021638fc2cf37dba7535a5f58699aee85a2f5e691647f58b95e363fdf269d87893fb720eb40d8b59d1df427f094e90fee79fcde35e67b0417104a282501db87fe10047dc9e4f1a313dd6ea7dde9349aad745f2a1a0edbb6c318551545c2f8e8f818c2d2d2caaa69592143dfeb5f0784104a459ae721e03f4009a124a094dc37cac6188510b89e67394ebdd1b46c1b41a0c86abdd14018ab8a7cecc884a16b172f5fbbb5ba9ee9effff9c73fdcc8e5672f5ded74cdbe64d2f53c8c912c4984048ca1bde44b0821844a126094f984ba3ef3313db0f107ba7e305f68c647c21fcd1c21ae7da9d0d5105b2f5567268653714d85f44c46a248ca4065a65f995bd99ccca4a6d3b1f575539630a1a0da32b7aa66b7eef527a21ee9ff5d994ea5f41343f256a556ae354f4f0c0ea7946c2a72bd6c060e7d6f62305c33ab3e2936bc1f1c499e19554ec4e06fafad9c991c7c5b3112326bb6da8802cca0ef3dc4738790fa2aa364df292082804fcbf9edd528be6f1743080809c83e89af94125dd3c646864ecf9c2c57aaa665a98a9288c7744d0b1946b154668c59b6bd59d89265251a8d4818eff5a78220604222ed100152ca4810b0fb2d6ba8b2921de85fddd89cbd7c756d3397cdf46f6d6d43c652c9044250911549c208215dd7fad3a9cd42f1cab5f946ab158fc50000fde994ae69955a1d424808d93ba2082100de99ea10a818a980747d9f5078c0f181319048b052b4ae13f0d1f1c1e3435a4aa585a64d20aa9b0e64f4fb23a1eb15a7ee3002b0a485974bcdf516f23dd0e87aaeeb6725171afe747f78cb934c8f949b6ed65006c2a82f120a6102b04449e007b4d47230041e055ec0886d31d30cfc3003c867106ba19bb94ad941a331793419812a93ab66f030e57b155399117977ee0b1462becf28f6773bbebb47d5559264c7758d2060f755b180e8f8b149080184706af2084248c26869758d523a393e9688c55a9dcecda5e576bb33323c7862ea98aaa9febd31440491ebba0823841013e6dff3a73e80302284b89e272bcade3b8e303a736a46d7f4c256696c78e8ece9995cbeb8912b840c3d168d4a12e6bf4f233494cd28b25cadd727c7c7fa92c985a5e5ae6566fafbfb5229c6182174d7823284d0b12c499220827c24a4424abf422b96e303851d94b91195c223fd0af4eced6eb0da6627d26aade330c92d361cd3a7294359a8b8f99613c140b23d490b377cdff39dd5aa755997a652d1c954b8e24bb99ab550329b969f6f3a5ea060801cd7a315a7d472108095b68b20bc5e686f565ba7627478403530ba5e6c9b964c830084125d9f7818e71a761768960f7cff41f48700d4a1dbaf8390aede3b0598a0bc2739b48320a077100401afeee7dd816e18fdfdfdbbac33dff773b91c00d03042f73500838000c02449e21f440879be0f005015c50f8266ab7d6369299d4a1d1d1fdbbbb60b21a4945896198bc592c9e413c9a210784cb8aebb5d2efb4160e8a1fd48272024f00349c292240584104210babdc6c91fa594528c317f4991658890effb8c31599618650c00e9de7b0d21a48c76dbad7822d1d7d78710628c95aa8dbfb9b0f4db22d926618fc283b1375025dc1f96639ad476829ae5a70c499325db0fda3671098d6a92e911dba7095dca44d4b61b6cb53d9f52084048c19988aa6058ee78a647fac272d5f40d194b184a0886144c2868dbbe22a1b61b4000e23a4e2af49d8c9c8ea86da0ffed7c23a0ac2f24d72cbf69fbe9901a51a5bae5554ccfdfdfb9411018884cca8dfffdbb63a78e8d4992d4eb904ebbcd33815455e599e73cd388abd341788f6d287020eb6f577fc15dbdb827ad0a631c8fc7cba512844051349ec2723f120c7afe0b46881f810044c2a1d74f9e90250921c469f7ee8d4790a798c99214320c049130fe0ec52891a450385cabd52cdb5254952788dcef6db877dff18ea75a6f841042f8ce564a29a014410820a4779653762612f0ec10c7b630c62123c4470204301109bd399eda6a179c8655279a470f24a1ec79a4637910de7e73d3f400cf43018031d0b17c7e8e9217945aee4e8fc6f348d3f4c09dcbed3a3e63a00b7d7ee4f6a46100dc3973cb821d43922514eed08d463ddf707c427375c8cfd9b67c00e083f74a6308554c0650f7dd417d72780023bc770af0b4a19dd356b0dee33abff05ea03b607b125f2084e170d88a465badb6ef079aae03000f2e650b2134741d00b0d3d3811060847ddfb76d1b21188d25554d031008e7f7300021140e875dc76d341b411068ba0ec113cb75df3b3c108481efdbb60501e8efefd774ad370c14453e3e92e9daae737d6ba1e57461c40c60c00ecb30210094dda0da72210484b147ea2108818a6108fa69d0fe7e56ff6066ccd0774f013e2de11e8821fa2de98f67a2ee22c11ef7edd7b3b22ca752298450a3d1b02c539665093fd60e500a98ef798410c330fafafa22918848783e54906539914c4004ebf57aadda551445c2f2d398779451df0f28259aa6a552a9682cb67324400823e1d09bc7c763ba7271796b6e6bbb852402307df117ca30043a0e86c2e8adf1d4d9a3c399f47d223f0842eeeaf64870efc3438cd54778e4104278f1224a294f6ae5e13f1e01d4342d168fef57d0c5f7fd6eb7dbed762dcbe231c4c7b12f54550d8542914844d77511f23b84e00980a669f23bee79ded3a87985319665391c0e4722114dd37a91af5d2d715db7dd35f3db8d6aabe3f901a50773830fed3c845092a488a10d246303c9582864ec9d021042c7712cd3e4213f49922449c218ef2244c1808f4b7f9c018320505535128d3eb89e15ffe0e3cf0404115fed1577e59083524a09a5ec699599ea05f21f4ac7b72b0f52f61204497a550ef79b021042d7711cc7c1184b77d0e33e417fdfc6f905f766f9f5ba1263ccf730d287511b7f703d411343dc95c33f51b1843178ba16fa414602af11095e2e57e1c1178e764044009f00fd817bd73d7adcc71fadbeeff34731dbff76897e141078220f96fb1f06800140eea4130987f789d1dfede416c6761a808c31ce808410cff37818e23621f2fa7f3b9f5082fe04049e28fd41002042000074674e020018a57c62eeb7322948f05b5a7ffbd9800000ce80bd1061ef8f1e690a775540e04945157a7ff4e2803bcdbdde1ff07e101df8ed9d5f6ef4ed8a3ef06e2584f0ac7dbeb6db7b27a554f4a080c01367c0bdf4b7cbe7ed597ffc0f61007e7bfadbb5e5a3c76ebd474a6f7b06a55492247607c2f41310784af4b7732972270fee3c28c8ee717b7b671cef6e26c18edf1cbd233bb96f97a9282020f0a49cdfbd66205fe6de69f1ed24414185dfdef9dd7b0fb80dc8fb7a17fd0111f5131078fa0cb897fe44a4ef19d11fb85d7c85f2be668c7142bc2ff1091e14107852c4b7d70cdc4979bd489f60c027437fbddc97bd1dda93aa11469f80c07321c45db587ef5beb45f4d5b7ece1bd51bcbdebbffb1d17101078968ef0838f0b3c16fdedc771c2e11510785e8ef003e84f70df13707e1f70037a19300fbd43020202cf800dc5bc7b8ad6df2e3cceab0202024fc4fa1366c7f3a13f4176020287990d059e11fd09080808bc4c10b54505040404fd0908080808fa1310101010f42720202020e84f40404040d09f80808080a03f0101018117120f17a8148981022f13440ab1c0ddc1b01fbbed3d2e7850e0a5613d418202f7a7bf835476115428f0825a79820705f6a5bffd8afa89627f022f3a0fee57374530e02b0be9a11cb75fd1534185022f96ddb7f3d59db5cdef5be75ce0d5a2bffb9674de59e65ed47c16781119f0bec5e285e9277097fef652db2e31dfbdff157d27f0a238bcbbd4827ae61ed7f01254f84ad3df5e7f9652ba8bf5b8d0e5ce83f7f59a05040e03f1eda794b657255250de2b4d7fbb64ce39c7f598aea7edcbc5ce77d19f88030a1c426ff7be465f4f1dfcbe54d808a176780000200049444154538f1484f82a3abf3b5dda1ee5f5586f97ccb9d0bd147821acbf9dc4c7fd5c2e57dd3b28f84ed01fd8e5c6f6586f27fded3ab297fe04090a1c42e2eb197d08a1de93bbc77d3d06148bbfaf34fdedc77a841042481004beeff3970821f7b50105040e0909eef579f96f45512449c218638c77d97dbd31cc8d444185af0afded5ddeed312021c434cd8585852fbefc329fcb134aefb5f476b09e20408143417e3b68b0f70b00082196a491e1e1f7dffffe891327745deff9c2bb9c5fc17dafaef5b72be41704413e9fffbb5ffd6a6bab2449b21816022f2e98e35ebb36d76ab5a2d1e8f8f878cf47ee39c5bb8c4131da5f21faebddf59d0eafe7798542219fcb4b924c09119d25f0420321542c16d7d7d707070779d48f7bc7bd80a0e8a25791fed81ef4027f8ee3f8be8fb124027c024fc60a632c08024ac9531b511021b433c0b71341401cc709828010b2d3f4dbb92a220cc05788fef66ee4d895f242e9ed64400181c784effb9ee7410865599664e969f00b2534087cd77525092b8aba371f908fe75dac276e8db0fe76a7b90441d0f385454f093c2682c0374d2b168b45a3314dd7ee5867bbb7613c2efd51e2ba6eb7db6d36eabee7eb86b18bfec81d208428a5fcdbf91f3bd77fc5fd7a55e86f1fa3af97eb472925fbc753b02461fe60670c48922449d8f7fd67c3980861599620848c01dff70909b865c118088260e78234845092244a1921c1637e23c698670201c030c6b22c23843ccfbf77fd1bcab28cf1ddbd043c9cda9b600861499282c07f452c6b4248d7eca6fbfa13c96410906271abb25df63c4f96e5783c9ec9660dc37822a40321d4345d5114c3d08b8562a7db367463c71e38b46b9073ff5710c1abebfcee17fbe3a61fdddffa43080d0e66de79e71ddf0fce9f3fdf6ab5bef7bdef0d0f0dcfcecedeb879e31930e0f8d8f8071f7e20cb3263b45c2e7f33fb4dbdd178e79d7718a55f7df5b51fdc65ba443cf1ddf7bebbb1b1b1b8b81804c1b7e53e94cd665e7bedb5e5e565428822cb1b9b9b67cf9e0d87c3bffffdef1dc7e9bd53d3b4ef7fff7be3e3e3dcc62184acaeae9e3b77ceb22c3e45878786df7cebcdafbefaaa542abdf4838c31d6ed76e389442291f43d6f75752597db34bb26a50421a4aa5aa7dd3e3239190a85771a71dc22431833ca186018e147fa5255d5d2fdfdb9dc86873d4992eedc41c64dbf5e8aebde245661fabd8ad61fb85fc51700006380d17d1e8f10f4a5d2efbcf3ae24e162a18011fefef7bf373c3c5cde2edfb8710363ac288aeffbbee753466559360cddf703c7760000928c55552584b88e4b29c312d2341d00e6380e0928c248d354c600210402e8791ec248d7354288eb78bd760e0c0cbcf7ddefcecdcdd5ebf5d3a74f8f8c8cfcc33ffca3ebba8c5142084648d3351210c7710d437ff3cd3728a50b0b0b0842ddd009a18eed504a21829aa6410882208010f99ecf1843086249e2a61937f72080b22c53423dcf9565f9adb7de8ac5627ff3377f73e2c489bebebe6f66670160aeeb9180400829a1dd4ec732cdb7de7e0b4174e1c2856ea783100a850cdf0f3ccfeb4bf7bdf7de7b8b8b0bad56d3f37cdff721848aa2288aecba9ee77a2fd324f47d1f231c8d440212140a85b5951508612a99b42c4bd335cff3363737b0241d3b768c5f3596a4b1b1d1d1b151c776161797344d0b85426b6b6b8412c618820800c000630c70b799dda1ad5d5da6c8723814716cfb2e7542b673a94fcc7f417fbb1fd4f7ddf8f18047bbef79b26c2493491e3d098240c2786c7cec271f7f9cc966b6cbdbbffef5a7a669fec12f7e3e363a669ae6a79f7d96cfe77ff4a31f1d3b76d475dddffdeef757af5cfdc94f3e3efbc659cff3ae5cbef29bdffcf6f499d33ff8c1fbfc395d2c16fff11ffef1e39f7c7cead44cb7dbfdfdef3ebf74e9926ddbbcb57ee07ff1c51757af5efbe0c30f3ef9e4a7232323d94c2620412ab5f2c9279f4c9f98ee743a5f7df575b15090251941d897eafbd9cf3f3972e4886ddb172e5cf8faab73d327a67ffce31f41088320a8556b7ffdd77fed38eec040f6c38f3e2c168a0cd03367ce7cf6d9bf0d0e0e8e8e8c5c9fbf7ee4c89168343a3d7d3c954a2ddcbc69e8fae8c8c89ffee99f6abaf6f5d7e73efdf5a7beef5b96f5d5575fcfcfdf181c1c4418fdd33ffd733c11fb0fffe14f8687873b9dce3ffdd33f4918c762d15ffef2978aa26c6c6cfcfad79f2613c91ffee8a3bebebe76bbfd7fff5fffcfc6c6c64b14f50b144da50c388eb3b5b5e593e0edb7dffee33ffee38d8d8d6c267beedcb97ffe977fde2a16464647f9ae8ca92313efbcf376b556cf0c6492c9a4e7fbe9bebecdcdcd7038ac696aabd5b61d27168d84c3e15aad6e59563c1e3342a156b3659a26bbd7110e8542cd664396e5bd237cd73676c105afa8f30bee57d16fc741ba5f7c8af39de7799eef45a3d1443251afd7e3f1b86e18efbffffee0d0e0e5cb975f7bedb58f3efaa85aad4e1f3ff1e9679f0e0d0e1e9f9a4a26125353c76edebc198d448f1d3bba5d2e8f8d8fdd98bf110a87de78f3cdae69bef9e61bdbe5ed8585853ffa5ffe48d3d4b36f9c7de79d77ce9f3fdfd797fae0c31f6c6f6fdfba758b52ca00050c044160db7665bb82108a84c38383830121d96cb67fa07f7676767474f4dd77def9ddef7ec7000310fcf8c73f9a9999f96ffff5bf653299f7df7f5fc2d2d4d49465dad7ae5dfde94f7f1a894421448410dbb60dc3786de62463ecd8b163ab2b6b274e4eb7db6d8ca4e1e1e1dc662e9fcf9ba6b9baba76fcf87184d1c58b175f7ffdf577de79e7c2f90b954a05004029f57d9f32ca08a094a6fbfa1545bd7af5eae9d3a7df7ce3cdb5f57508e0fafa46abd9fce10f7fe83aae110a699a7ef1e2ec6b274f4e1d3fb6b6b6f6d20c324a29829077886d5b00c076bb9d4c267ff6b39fcdcfcfffddaf7e150484106a5b966e189aa68d8c8e365beddffce6b70000fea49124e9e8d1236fbffdb6effbddae592814a6a7a75555d9da2a5dbf3effc9273f0982a0566bfcfef3df97cbe51e9541082509735777e78805fbd4acec79bec2057e45801e10afe9911f21c17e3f94524249b55a4d2693478e1cd92a6e057ea02acaf0f090a2289148a4dbe952468a5b85cddcc6f1e3530082b5f5b55c3eb755dcca66b30cb08d8d8d5abdb6b8b01804412c1a5315a53f9dd654ede6c2cd6fbef96673338731ce663386ae47231100806ddb928429258404945006186594316a183a25d4766cca28a3b45aaddeba754bc252241c51140522c818c3188f8e8d6e6e6e9e3b77ee9b6fbea1944e4e4e46a3d19595956fbeb9b4b2ba1a04b7afabd56a6e158b03fd03d96c766363636868309bcd2edc5c705d0730e0388e655a66d76cb75b849042a170f9f2e5f5f5750801427067ff30c600638404e5727973734351145dd715550180d98e7df9f2e52b57afb43b6d2364e436373dcf9d181faf56abc56291b10775fb8bf54319e1890484108c31841021ecba5ead56b36d5bc218212461cc5d0712048c52dff33ccff53cd7b6acc00f3046a3a363954af55f7ffd2944706878985252a9540242a68e4f1986b1b1b101008d46a3fc8b7af08360674f5246f633f78401289c5f00f6d900b79ff54729a58456abd5a1a1a14422512a9728a39ee7552a158c70b5526d355ba552c9f3bc56ab55da2a9d7cede4f7bffffd73e7ce359a8d62b1786cead8471f7de4b9de8f3ffef185f3175aad562c166bb75a966d8d8d8d398e934ef7753bdd5aadd6e9761a8d86e779b663974a25be8a4a299525797c6c1c30f0faebaf576bd5d256e9e489930080e9e9e90f3ffcf037fff69b4ea7a31b3aa38c5116f84169ab34363e36353595cd661963f97c1e4b786878f0c489e96c360b21e0d7ebba6ea150d0348d31766be9d61b6fbc01215c5b5b4b2693b703029468ba160a87f8ca462f9abeb3bb28a58c328aa82ccb33a75e3b7dfaf4cd1b372dcba28432ca24491a1f1b6bb7dbb22c371b4d4248b150745ce7fdf7dff73cefdad56b2fcda230a3ccf73d12f8808148246259962ccbababab5f7ef9452a959265599224c330208224082ccb2a140ac78f1f3f317d3c1e4f04410021b06dbbd96c0c0c0c0cf4f79380d4ebf5962247c291b1d1915bb7964dd3b46d7b7bbb52dadae2a1dbdef8f43c1741d4eb493e0c76793c820504fdddff19f850faeb743ab9dce6faea1a63ccec76739bb9f5f5f5cdcdcd4ea7fdfefb3f181d1b050c140a05d775a3d1a8aaa88eedac2caf341bcde353c793c9a4ebba37e66f542a95ad6231994c78be9fcbe5d6d6d703424e9c980e87c38661d4ebf52b97af643299c1c141c6d8caca8aebba3c6ad36eb78b5bc51327a68f1e9df47cffd35f7fbabebe5e2c160100d56a75bbbc3d9019705da75aad763a9d5c2eb7bdbdbdb8b0f8c9cf3ff9d18f7f84109abb36f7d5975fd51bf537de78e3ec1b67e3b158bbddee51583e9fbf75eb96effb0b3717464747d7d6d6b6b6b66459ce6d6ed66b750041369bcd66b2b55acd755dd775abb56a2e97e36deb85fc0b8502c2c8719c5aad6659563416add7eb954aa5d56ae5367363e363b22ce772b96b57af0d6406d2fd69dff3cbe5f2c2e2024fba7c69c699e338a17080208ac5e3dd6e777979f92ffee22f1cc75155350802499252a9142584021204fef5ebd7114299cc80ef074b4b4bb22cd76ab58d8d8dd3a74f2793899595e55abd3e3232e2795ea954ba71e386e3381823cff3baa6e9fbde5dd70663d334797edfdd071210658a0476d0df7d558d7ae383db77fb3dd5575757dbad76a7d3b9b9b0204bd276a5f2dfffdfffde6c344dd32c97b7e3b178a7db29e40bbeef57b62b7de93ed775f3b9bc699af95c3ed597e29e63bbd5eeb43be170b8d56a514afdc01f1e1e364db3dd6efb9ebf55dc5a5f5bff1fffdfffc866b29ee7e5f3f946a3c107f4f2ad5b7ff99fff33429852da6ab6cae5b2e77b9f7df61900a0516fd46b7545513a9d0ea1a4d56a55abd556b3d56eb71b8d46269b711db75028d88e7d9c1eb72cabdd6ebb9e5bad565cd7e5d75bda2afdeddffc2d21a45eafb75a2ddff7dbadf6fadadaafba66ad569324a9902fd4ebf59595158450abd5bafccde5a5c5a566a3d9eb2ecbb43efdf5a70cb05aad76e1fc85d2568904c4f33dd771bb66b756ad114ac2e170bd562f168bcbcbcbeb6bebd168d4b2acd5d5d5c00f5ea6714609ed76bae1705853d5fefefe56abd5ed7601047ee0abaa9a4c24755def2524d5ebf573e7be360c230882ae69628c252cb99e5babd76459b66ddbf7fdb5b5354dd56cdbb61dbb52ad288a62dbb6633bbd718b31761cc7b62c8c50ef8e504cef3be00511bc9a809ee7f5f678dc0e97f8bee7799ee799a6f9c5175ffcd55ffed57db74fee7bc67bb3e7f74ac9eccaaddffbe65028f4830f7e70f6ec599e71f2f77ffff773d7e6f6be7fe749ee7b1eb0a37c5beff7aeaf5655f5bdefbdf79d77dfc5920421fc977ff9978b172eeed7fe3b5f793bc1f9eeab7b8f1cb8a3765ed4de6b79a91810305555c391300902d7f53ccfa38cf2347545569ee052034f71f77dbfdbed324ae18e32588aa2fcd11fffd1fbefbf1f0a85943be01b84f9a273af12ea93dd8b22f0c2c4feee35f00065143e5b27acdbed7cf1f9e74b8b8b8aa2b4dbed72b9fc806d278f09dbb62e9c3fbfbeb6a6699a69595b5b5b8fb92d44e001ac14785ebd5e0f1986a2c8b2bcb38ec6138bc171ce6ab7db41e0f38440caee0edfa7596a41e0a5a33f066e27473de366351b8d56b3099e89a866bbd5eab4db4008783e7dfe638c61099b9d2ec2889b5a4fdec6a494e7a84300c88e5d86b75f65a27887c0c1e98fb39ff002049e04f8c667becd96044fcba27fc07a1da522df45e0e0ce2f00f4dee88980c0e39220786e058418a140f09dc041e98f31462910f427f05280edbb7d5d40d0df1e208c11c63410f5fe045e0e88f55c8183d11f42687878f8934f7efa5c72d07804e791726e9e4a33003b54beff616bcf8b05455586ee087d08083c84fea6a6a6de7df7dde7122ef17cdff3bc275505f3db37c375b1243d7716eec1751d59560ec3040e7c9f01b0b398ca8be0fcb276bb2da6bdc0819c5fc3300607079fd33c776ddb0e87c3cf77aa77bb1d55d50ecf246fb7db8661f4ea773e47388ec318d375fd051aee8410dff779b5340101e930378efbbfcf7bc2d007ec7a7ef6b8233f400f474b5e30192c21da25f002d11f4fd47a6e8b757c431aa58c1e9a0543c618a50c427638da72887ae660f42732db055e10fae393fdb90e57c818608cb2c3b15ba0b741f830b4873783bd50fb2898d8f521f0a4e88f977aee09984992a4aab79555797e3f5741dbf9115e5281ef333f88abf2606f855767e07f736911fe758c31d7756559def92d84105edf010020cbb22ccb0f5d54e155090ee86cfabeeffbb78bcded6c0caf722cddbb7ec2002041c0d591545595a40389de420879631efce69d57ca254478ac90d713658c298ab2f326baaecb65bf25493a48b7f42ca9174e039a3bec62da0b3c01fab36dfbfaf5eb8b8b8bb66dabaa7af4e8d153a74ef1ea95954a657979796a6a2a9148f4483008821b376e2c2e2ebef9e69be3e3e30759d360003cc0fc5b5c5aba3e3767dbb62ccbc3c3c3274f9e0c472218634ae9575f7e393a3a3a343ccc499031562a952e5cb8e0ba2ec6786060e0ecd9b3a170f8217473c7fe7ca8091a04c1eacacadcdc9c699a18e3a1a1a1d75e9b0947c2922439b673eddad5c1c1c1c1a1a11e093a8e737d6e6e61614192a4c9c9c913274f861fd61870a7b20c650ceedf1e4669a55299bb7ebdb4b5450889c562afcdcc0c0e0e4a58628c2e2e2efabe3f73ea142f730221741ce7d34f3f6db75a9aa6f5f7f74f4f9f48a69207bb355c05eb456213c17d024f8cfe78b5a26eb77bf3e6cdc9c949cbb26667675dd7cd66b39ee77df9e5975b5b5b994ce6f8f1e3fdfdfd0821dbb6bff8e28bebd7af2b8a323c3cbcd306d98ffb18650fc872c3081142ae5fbf9ec964fafbfb6fdcb8e1795e3c1e1f1b1b9b9d9dcde7f34343c32323c3e3e3e3184bd56af5e2c58b939393b22c7ffae9a7a954eaf8f1e987583af0b6c3f4f0cd020c602c114216161692c9642a95ba7e7dcef7fd582c3634343c3b3b9b4c26878747c6c6c746464630429b1b1b7ff7777f77e2c4098cf1dcdc5c2c163b76ecd8c377d7400038e5ec1ffb630c40843042b95cce34cdd75f7f3d9fcfaf2cafe8ba3e3c3cb4bcbcbc99cb75bbdd582c7ef4e8d15028e43aeeecc58bf1783c93c99c3f7fbedb353ff8e0034dd31e4e25141ca8670e17fd893d6f024f88fe344d9b9999a1949aa6f9eebbef6a9af6f9e79fdbb67de5ca959999996eb7bbbdbd5d2c163b9dce471f7d140a85cae5723e9f9f989828168bed76bbafafef0091bf07ed389e387244d7f5ad52e9c4f4f4f8f8f8f9f3e7b7b72bb66dfff4939f3a8e532e6f53c6f2f95c2814eaef1fa07776c2df55b3630fd9ce0c01e46f7b68a51088e0c8e808c6a856ab8d8c8c8c8c8e5ebc70a1dd6e6f6f6fff4ffffedf7b9e57ad561dd72d6f97755d4f2693cb2b2b18e39ffdfce700806aa5128bc52865e0610b1a08a0dbcd660f6a76229e78e3cd37abb55ab3d13873e6cc8d1b378bc542a3d19c3c3ac928edb4dbf942617efe06c2687a7a9a318a319e3975ead4a9539f7dfa6979bb6c3bb6a22a0789a3b103f4cce1727e5fb460a5c053c563a5d471eb8ffbb6b22cf370dbd0d050bd5eef743ab158ecbdf7de3b7af468a954e239628b8b8be572d9f3bc5c2e97cfe71fea8930fa104008255986104284024210c60303039665369b4d8cf1c9d74ebefdf6db9d6e77bb52219470ca0b08e14546dbed362f28ff30307a30400879cd548890effb18e36c76d034cd46a3a1aaeacca9536f9c3ddb69b76bb51a2124f07d4992787c1061cc0038d0f7304ad9c3dfc700c318638420849431c7b1b383838aa294b64a84d2a1a1a10f7ef0035996b8064b4fcb58922488103bf805f307c38b06e1ff0a3c19ebaf4782bc8451a15068341a3c0f960795d6d6d6eaf53a4fd3f53c6f7e7e3e9bcd269349c771565757a7a6a60cc37848e0ef6161fede1beab5fa76b91c894428a5bc4a2117fd608c69aac628038c618c23e1b0a6e99452cbb61f7af2475afa007704122921dbdbdbb55aad2f9de63504832028160add4e0742a82a0a84706474f4e2c58bbffdcd6f1863dbdbdbdff9ce7763d1d88136b331f6d06683dba2160042d8ed7437363727c62708096459020c349acda5a55b9665710f97324608595a5a6ab55ac56271faf8b424cb07b95ec6859c44de9fc00b0bfce77ffee73b15dd764a9b134214454924120f3e85ebbabeef8f8e8ecab25ca95442a1505f5fdfc8c80800c0344d00c0e9d3a78786865cd7cde7f31f7cf0c13befbc138bc524491a1a1a525575bfd372b15d04d19d28e0fd7ffc20b06d2b9bc94422d17abda1284a3c1e1f1f1fe7b2e5dd4e676262e2e8b163b2243bae6776bb8ee3b8ae33363efefaeba7439c7cf73f3980202001040842f8a0b7ddf90982c0769c745f3a1a8b369a4d55551389c4f8c40460c0b66ddbb68f1e3d7ae4c8a424cbe1700463bcbebed6ed76c7c6c6278e1c5115e5a1e7870006810fe1c3dbc328b32c4b37f4ec60d6b16dd775138944babfbfafafcf719c4ea79d4aa54ebe361309872965b56ad5b16dcff34746474ebf7e3a128940f0f0ebe5e10384d0417ae690fc30ca6cdbe6fe7e0f68077a35ee45b1fb57010fd2fa705d371c0e4f4c4c3cf8149ee7398ea3691aa5b4d96c725f988b2df8be0f218cc5625cd0abd56a452211ae5613044128147a40fa8bebbaf57a1d63e9a1d69f6ddb7c45b56b76f9c0d554cdf73d42881f042123a4691a84d00f02cbb248e003083555d375fda1e31b21e4ba2e42e8807b7e7b8d411875bb5d082104905fbbeffb8c51c308f556153ccf6b77da10805038ac2aea41261bc6d8751d080fd41ed77509258aa238b6e3799eacc810428cb0ebb9945245960d23c4cdf676a71df801c2485335de57073375691090176bcf2fa5b4d1a8534a7b421f3c5141687d08fafb96f4b7d7fb7b222d735db756ab3fa592e8078d8c22e479ee01e9e659d8ea8f427f4f1b8c314202497ac1e8afd96c08fa137862b1bf5dc1b22739c1c0c317679ff21407943104296587622640062963103c64e5f799d11f7dd1567ec5b2afc053a4bf273f5a9fb3d008d77a82cf71dff1bd4f97db724c8761cf2f048c514045de9f80a0bfa7e2aa30061879ae3e08e36d3834f40718250c1c0ab70c42401981f4f07a887b99ee906c971610f4f7702008c9734dd462b7ad057898122620381c091c9c830f732a89e77ab663f3bd321070f14b4682e030544b1438ecf4f77ca3bf922445a35191a825f0add16834cc6e579224c618c65892e5db892d624d43e020d6df731c2818e38354011010d8d7faf3bc542a158d46799d1b9e90df68347a55820404fd1d5e88a7b4c0633a10baae472211dbb60921866108ad0f819d109257022f3320849665cdcdcdddb871836fc416cf548117c3fa1310784cf02dd5e7ce9d5314657474f479e9760908fa131078d6a61f00206484de7eeb6d8491aaaaa2dc8b80a03f815708f1447ce6d4290841381c169eaf80a03f81570294d246cb5cda6c6ed5bbba8ac6b3b1e181a430000504fd09bcfc70dce0fcb5d2bfcc3979172562ec747ff9e399816c2a227a4640d09fc04b8e96197cb9e0adba711a8f91945246f51b9bdb6115854386e81c01f0a4842ef97f79e9762eabc62b12ef140ce3458f0fa8e8c8182384f00a94fbf9358490039eed31c15b7edfc276bc56d8ae4d540f6dfcb768c01339e1239de7be97f6f4bc5442ee533a9037f85b67ab381ef0e5c85ba7061c458f44434935ee942bb6e3860c5dcc7c01f0d06acfaaaac6e3f1fd3eecbaeed2d2d2d75f7f3d3f3f5f2a953a9d8ee338e17098525aad5619639224f1f90621b46dbb542a4522114e977cef11638c6be3f6b6227181604a69a552e164ca53f6b9106d4fa996cbcba5d369de60fe15bd8ff3f3f3f3f08a9ebeeff383bcb2216f3f3fd5ce3794cbe56eb71b0a857a2ff1a2d3e7ce9d1b1e1e0600d4eb755ed09f100200a8542a6b6b6bf1789c733d21a45aadd6ebf55c2e0700505575e7c9ebf57aabd5d2759d1ff43c8f7f2a08027e75c562d1f33c5e1e1500c04fb8bdbd6d9ae6caca0adfb78031ee5d634fd498b796f740efaa2184954aa5d3e9689ac60fdab6bdbabada6b1800c0719c959595783c4e08e97dcab2ac42a16059d6eaea6a3c1ee707f978e8dda69d5dbaebdb1963b66d6f6e6e2612093e967abb83f949f2f93cd739e98dba66b3b9b0b090c96476dd324ae9cd9b372184a150083c7a1a7cb9debd59f626c692aaa6c6a2da4002e1566e20ac18bac6abfb896acfc2fafbf69065797c7cbcd56a75bbdde9e9e9f5f5f5c5c5c5a5a5a5b1b1318c71a3d1a856ab849093274fa6d369dff76bb59aebba2b2b2be9747a666646d3b442a1c0c7f7993367fafafa2ccb5a5c5cdcdada1a191941085996b5b1b1e1380ed7de1e1c1c0c82a0542aa9aa9acd66f3f9fcc0c0c0c2c20284706a6a6a68688810323f3f5f2814b8a2c8e2e2a26118838383954aa5d1682493c9643299cfe72dcbca6432fcb35c66b7dbed6e6c6c442291f5f575499266666636363678d1fc52a9542c16af5cb9f2ddef7e3708826fbef9a65c2e4f4f4f57abd54422a169daecec6c2e97ebefef3f73e68ce779972e5daa542a7c8f413c1e3f7dfa742e972b97cbfdfdfd8d46a35eaf7ff0c107e9747a636363717131994c8e8d8dadacac589695cd66e7e6e62291c8d0d050b1584ca7d36fbdf556b7db3d7ffe3c63ac56ab699a964ea7cf9c39b3bebe5ead568786864e9e3c89312e140ab76edda2949e3e7d7a7575b5d96c6a9a76f2e4c9783c3e3737b7bdbd7df4e8d1eded6d5dd7878686ae5fbf1e04c1f8f8f8891327e2f1f8d2d2d2bffeebbffef297bf5c5f5f9765797a7a3a93c9e4f3f9dffce637e3e3e39b9b9b8542616060607474746565c534cdc9c9c9d1d1518cf1f2f2f2d2d252341a1d1f1f5f595981108e8d8d95cbe566b389100a87c3972e5dfaf18f7f5ca9544cd31c1f1f775db752a9789e373636f6f9e79fbff1c61b6fbdf51667bd66b3994ea773b95c2693b979f3a62ccb478f1e354d73757535140ad5eb752e1b3d3232128bc51e697c42086405a932d428d264a8abd09504a709dcc563395318e368349a482462b1583a9d86106a9a96c964ae5dbb76ebd6adf9f9f97abd8e10e2326fb66d2f2c2ccccfcf7323ce755d00806559baaed7ebf59595154248ad565b5f5fd734cd34cd8d8d8dcdcdcdb5b5b56834bab6b68610ba7af5eacaca8a2ccbed767b7373d3f7fdebd7af77bb5ddff71716166cdbcee572a552299d4ee7f3f98b172f86c361dff7676767373737c3e170a9549a9f9fcfe7f36363635f7ffdf5a54b9728a58d46e3d2a54b440f4b3500002000494441544b4b4b8944a2d3e900003ccfbb71e3866118dbdbdb5f7cf1c5d6d6562a95ba339da06118aaaa524a6559be75eb16976d9b9898585f5fdfdada4208298ac28bf8f7f7f773ae374d5355d58d8d0d6e576a9ae679dedcdc9ca228b66dafacac6c6d6d01003636366cdb5614e5ead5ab866198a6c9fd3e5dd70dc3400865329976bbfdf5d75fdfba752b140aadadad954a25dbb69796960cc3f03ceffaf5eb376edc5014c5f77d2ef324cbb2aeeb9665c5e3f14aa5b2b2b20200482693f57abd582c32c6c2e1b0aaaa0b0b0b18634dd31616165cd7551445d7756ee10e0e0eaeacaccccfcf734e5f5e5eee743aed767b767676626282ffc16fe8e2e2e2dcdc5c3c1eafd56a8d46839bd2b55a2d0882f9f9f9d9d959dec87c3e6f184628142284acacac388e138bc58ac5a2effb57ae5c91655951940b172e2c2d2dc56231fe5d972f5f2e168bdfb2aa3e038c02c240c00061402cfa0a3c31faeb910287a228e3e3e34343437c3ea45229c6d8f2f272bd5ee7028392240d0f0f97cbe5f5f5f54ea7c3182b168bcbcbcbb95cce711c082127d3b5b5b542a160db3663acbfbf7f7474746060a0bfbf9f10128944464747138904f78cd6d7d75757574ba5120f02b6dbed68347af4e8d199991942c8f0f0703299f47d9f1b59a15088523a3a3a7ae4c811cff33636365656566ab59aeffb8aa28c8c8c9c39736670705055d562b1b8b2b2d26ab58220300c839f074288314e2693aaaa964aa5d5d5d572b9ecfb7e5f5f1f6f52b7dbc5184722914422914aa5c6c7c739032e2c2cacaeaeb65a2d2ec3a4aaaa2ccba3a3a35b5b5b2b2b2b8542617171319fcfcbb29c48241289c4b163c7f2f9fcfafaba6ddbb22cc762b1582cd6d7d7373e3eded7d757a954f855f32d5cbc1fd2e9f4c0c08065599148646262221e8f73cf3d1c0e47229146a3b1bcbc5c2c165dd78d46a3a3a3a35c0f8f31964824a2d1a86ddb6363633c92100481aeebfcf8d0d0d0d8d8982449a552899f817bdc8ee32084b809a9695a7f7f7f3299648c717b39954aa9aaca197c7575756b6b8b521a8d46c7c6c60606062084a9548a37c0f7fd783c7ee2c489b1b1318450b7db1d1a1a4a2693a66932c64647475f7ffd755555ebf53a2f46ffe8d40728600165ae4f1d9f393e10f583049e98f3db5bf1e0fa38baae4b92c40b55711389c701796c91ef3fb76d3b93c9f049cbe33be9749ac75c7a26612693e1cb1a86617029e14824a2aa2a77852ccb020064b359ae1557abd50cc38846a3b22cf7f7f7cfcdcd5dbe7cd9f7fd68347af3e64d8450369b0d87c3b22c874221c618b7a4b2d96c3a9d0e820042180e873b9dcecd9b37b9044410049393935c824e5114d3341717171dc70177742f79fcaebfbf9fcb44349bcd6bd7ae71879a072b2dcbc218cbb2cce59f1863c3c3c39665c9b26c5956bbdd8ec562b66d0f0e0e168bc58181014e16b1588c3156afd78320181919d9dcdce4cb4710c24ea7c3f5940dc3989898e06c4829e5a6a8aeeb1b1b1bed767b6262a25c2e73db8d87f6745d5f5d5d6d341a131313fc09c1c30bbcc778b7bbae3b303070f3e6cd5028148bc50cc3e01a55dc56c5182712895028148fc725498ac7e3fcaa5555bd74e912ef8a8d8d0dee07c8b28c310e854210424992c2e1f0e4e4246f365ff5320c8310d26ab56ab5dad0d050341a2d140ae5725955d57038acebfaf2f2b2a66983838394d2f9f9794aa9aeeb1f7ef861b1586c369bfdfdfddfc2fa0b28f3080304f804602a0c40811da6db03a48e3ccf8b44226363630f3e8565595cb68d1393aaaaad560b634c292d954a8cb1f1f171ee87b6db6d4ae9c6c60637c730c6d56a3597cb7129b8c1c1411e17e7812daec446290d8542dc7f2c140a1b1b1b92248d8e8e6632192e2fb7b1b14108191f1f8f44225c6b787b7b7b787858d3b4d5d5d570383c30304029d534cd711c3e09239148b55a55557573735392a49191111eec1f1818088542c562311e8f6f6d6d71f387bb729aa64d4e4e42085bad56a95482107a9ea7699aaeeb3ca639383898cd660100cd66b35aad1a86d1d7d7c7fbb65c2edbb6cdd7103ccf4b2412f178bc5eafafaeaea652a9818181adad2dcbb2464646822068b7db8aa2f0d81f1799aad56add6e57d3b44422c165e79acd66b95cee7d63a7d3d9d8d85014656c6ccc344dded57cb9c0b2ac5c2e274952bd5ee72ebc2ccb8d46231a8d0e0e0e7237797171319d4e6f6f6f638cc7c7c73955f15060381c8e46a39d4e475194adad2ddbb6474646f83a4fb3d9bc75ebd6c0c0402a95e2f497cd660921fc4b21843cda6859966559434343bc7c99ebba84105e7365646484dbe0dcf60c8280df325996f985140a85bebe3e5dd743a1100f0bf0059083e3cad2d65ffeae323836500d1425640cc4285cfefcf54c289588abaa2aa48e049e00fd3de8d1fbffb3f766dd6ddb59f62866800348701e4551d42c5b9687d871924a6eea76753d74757fbbfb05faf9aed54fb7bbabd6aaaafea79cc1f32059b344511cc479264162be0f3b46ab3cc58e95eea40ae7212ba64010f8013838c33e7b5bd6ab0dbbf31f2230b47b6df627af45668c46a366b389d4c9dee74b3ff1d2cedfde2eb43738bfe57911f197fe74fe5be773ff578fe1eddb9f3ff1174aeadf37a0edf6f4f9c7ef55fdbcd7aee1ab67fad209daffffa6c37bd3aabee5bc5ebb442ffdf5ed07ffdadffdc16bf7aeeeef2fcd4c36de35385e7447fd86b17fe752d4717f8e5d5cf2fbf6b2e0db3f7cf5267bcb6d87bec14b28b057bffef65f7fedc6e7b77cc9f3beba931ffce4edff7cf534cf832d7ec431bc65c55e7b82ef78783ff8e16b77fe2e7f7d9783b920d7439214c9d0244f520243f20ca138046f8e5d60eb0391e35bfeaa288a8db37b4bfa3c9d4e51f07ebbb77a2f9c336065d8278e733c1effe0c1bc8b410419fb9f4c262ffd753a9daaaafaa67379e9a886c3a12ccb1735888a98fd43a2f5375d4d402f719c9aa6a14afbea36f6b91886319d4e2f50abc0344d942fdec3f911164910244150244939b19c63171bfd198651abd5344d43dd07b00f2471c8e65455ed76bb5eaf17219b20087696679a261e549ee7373737dd6e77bfdffff8e38f5996c5f383cd269309768bac9ce7791bcf8cee0aea5c3ccf6b9aa6eb3ac771344d2b8a0290ede9e9e9dcdc9cc7e329140a1cc71d1e1e2e2e2e4a92e476bbe19a91fb20eb07c41afd163ce4aaaa62036c8c5f5714a55c2eebba8eda1c4a8dd3e914505e822080839b99994113009d10fb08699a3e3c3c4ca55292248d46a33b77ee2c2f2fa7d369345eb068e82061892ccbe238ce9e8b80df71b95c482ab156f6e2a0ba8ace38c330d8deb22c9c052e99aaaa1445d97f427f064b3a1c0ec7e3713c1ec752a0a385f288aeeb8d4603d8c9e1708896375a58c06903a653ad5633998caeebcd66b3d96c2e2d2d01578ca5c3aaa2688b0b7dfe36c0b19dbf22f6d5045efaf8f838954abd7b03c42208cb224c8bd04c8b362cdd204ca7f1e1d845b9bfc964f2f8f1e376bbbdb0b0d06c362dcbba7dfb763c1e2f168b9d4e677e7efef0f0703c1e03b8a728caad5bb77abddefcfc3c862b00c5b87af56aa3d190240965ef743addebf5fc7e7f3a9d3e3d3dbd7fffbe699ad7ae5dcbe7f3a3d1687676d6308c4aa5a228cac71f7fbcbbbb8baec8f2f272ad56ab56ab2b2b2b8140e0d9b367d3e934140a3d79f2e477bffbdddcdcdca3478ff000a34e7ff3e6cdc16070727212894444513c3b3b43cfc1308ccf3fff1ccd9067cf9ee5f3f99999994020805f9f999949a7d38f1e3d6ab55a737373994c46d3b462b1381a8db6b7b77d3edfcd9b3703810070c83e9fefc68d1b14453d7af44814459c75bbdd8ec562f7efdfdfd8d8f8e28b2f8ac5e2e3c78f3d1ecfe9e969ad565b5c5c0418e8d6ad5b8944a25aad3e7efc783c1ea7d36920e96667670f0e0e689a5e5e5e364d339148341a8d4ea7837992b9b9b95028d4ed76ebf5ba2ccbd168746666e6e8e8489665b7dbfddbdffed634cdfdfdfd9d9d9d5028140e878bc5e26432f9e4934f363737c7e3315e51ed76fbf2e5cb83c16030182c2e2e9224f9fcf973e007ebf5faeaeaeaad5bb7baddee603038383828168b2e976b6e6eaedd6e379bcdb5b5b566b3e976bbbff9e69b6eb78bd992d3d353cbb2ae5dbb86dece9ffffce76eb73b3b3bfbe9a79faaaafaf4e9d3d3d35382206edebc592c16cbe572329904227d3c1e2f2c2ca09baf284a2e971b0e87e170f8fde259d3d20d4b354c42b7148370442e1dbb30f7c7b26c3c1ee738aed3e92c2c2ca01b88d801885620b6daed364110f178bcdfef9f9e9e2693c95aad669a662814aa56abc562d14e15dbed76bbdd4673763a9d3e7cf8f0e6cd9b93c9647373d3e7f35dbe7c19b0dbc5c5454476954ae5d34f3f6db55adf7efbadc7e30985423b3b3b987f1004a1d168e472b9582ce672b942a190dbed9e4c261b1b1bd3e9f4bbefbe03ceaed168604ac4ed764fa7d36030089787813ff8b27ebfcfb2ec679f7df6d5575fa9aa9a4aa5128904a2304551cececefafd3ee07e48cd689a5e5d5d4d269377eedc5114656d6daddd6edfbf7fdfeff74b92e4f7fb1389c4dcdc1cc771b1582c9d4e6334f0f6eddb9b9b9b83c1607575351a8d6a9a562a9542a1503c1e6f341acd66f3ead5ab070707972e5d2249f2fefdfb9224f97cbe5aad767a7a1a8fc77ffdeb5fffe10f7fc86432a3d1683a9daeaeaed66ab57bf7eeadafaf4b92f4873ffcc1308ce17058abd5d6d6d60cc3d8dbdb5b5b5bf3783cdf7df75da3d1f8cd6f7e53afd72b954a369b6d341ae8e16e6e6e26128970381c8fc70f0f0fa3d1282ef768346ab7dbc3e1309bcd5214757070c0304c381cc69b8920887038bcb4b4f4f8f1e3c3c343cc8063d407e050bfdf7f7c7c7cfbf66d0489994cc6308cc3c34360e69bcd265e450b0b0bc7c7c7070707c160d0e3f13c7dfa3493c9bc6f95c02208cdb014cdb23442d11ce08b6317e7fe9096da98678ee3805e4673f6d9b3676b6b6b966589a2381e8f8bc5623018d4755d96e5e17008708ca2289073036c30140a3d7dfa746161419224948ddc6eb72008687ab02c8b344a922400d35c2e5730181c8d46989f057a6e341a01d7661846b7db452f8fe779000f239148b7db05b4cde5720199e8f3f99006baddee6eb76b5956afd703f01850e16030e8f57a6de40a52517b11e6e6e68e8f8f8f8f8fbd5e6f381c46ea8ac1e1c964321e8f398e9b9b9ba328aa582cc2452215c59003dc1f324de09c31d88b6c171d491c1b41102820208d956519e070bb29840cd4e7f34992d46ab5c0d4802a81cd4301c8b12008006c5a96c5f37c381c1e0c06c89731e68c3913807b3c1e0fae2f4dd3f6d577bbddc16010631b822020a257144551141c0fc330a842f8fdfe4020009c13a67af0c243d502e0a166b3797a7aeaf7fb31f58c5340a9010844c02adfb7824712044512144d501441530449114e05d0b10b737f2ccb6202ecf8f858d334c4263ccf230c49a7d3a3d1a8dbed02021d08040cc3402e036f0247100a8530ce190c06599685af2149329bcd3e7cf850d7f568348ac97fafd71b0a855c2e1762379b9401c9a02ccb814020168bedefef93248907a6dbed8642218fc7d36eb75d2e17e0d3b95c8e24c9e974caf3bc2008c00cc221c2b9d0348d22208087004ea3605728142ccb4290cb715c381c467888890e9c7eb1586c369b376edc188fc7d3e91428eee9740abfac695abd5e4fa5520cc3c4e3f168347a7878f8e8d123e4a4f85d8661fc7efff6f6f66834124531180c8aa298cd669f3f7fce71dcd2d2922ccb18e0c5f81d2667513ac0a85c2412a169fae0e04051144dd3288a72bbdd6eb71ba1b4288a27272798c83e3b3be338cee7f3a19c875119555531b68ccc3712890c87c35eafa7691a3e07ee9a611848470a828022efc2c2c2d6d656b3d9f4783cb158acd7eb6192047edced7683b80125d1c160008460369b45928e8307723e1e8f472291c160a0ebbadfefc788defbf6f6189a14488a6749812174c7f93976feedf821b83fcbb2c6e33160b118ea8ac56298cd5414653a9dba5c2e14c51b8d0606ce068341afd7f3f97c0cc320dcb011588aa2542a9552a9f4f1c71f078341f4318bc522c771f178bcdd6ecbb28c471a5573741210641986311e8f078341341a1504a156ab1104118944fafdbe20089224e1af985a43b91dec2c3e9fcfe3f1d8d42928f97b3c1e4dd35aad16a6bb7c3e1f62253cb1ad560b9e1afd13a07cabd5aadbedc6e98f46230c6f4058e7f4f4d4ed76a32a37994c22910858c262b11816d0ed76773a9dc16080b3c36a2091dcdfdfc7492d2d2de1c841979248249081baddee72b9ac284a2814ca6432681aa093a0695aa3d1383939c17ce1bffccbbf5014351c0edbedb6d7eb75bbdd28d7a652295996bd5eafaaaa9aa6c9b2ccf3fc6432c17c0ec23d9aa655551d8fc71445218407b30b2e84aaaae899c46231448518070c04020cc3b45a2d8aa230dc8293320c03fa9314453d78f080a2a8743a9d4824daedf664321145912008c49b8aa260e4ce34cd783c8e2ed0bb0fff3e3da8feeb9dd65c2e313039417485fdbab27b6735ece0fe1cbb08f7673bc1d7a25b5fda863887743dff3ff63f3103805cd206bebdf68b6f3f12e275e8d91f0460ffe061bff687deb4e59b90bde7dbb56f07159ba6d96eb70f0f0f0982c866b3b1580c9ee855c073abd5224932180c9ecf4cf1d74ea773707030994c5657573122f2eafabfe96afee011befbe9bf09658df7a2c7e3812b7c1352fa4743a09f1ed4fef5eb562e171f9abc20bac27e6dba7b6725e4b83fc72e22f9fdde83fe3564f72ddbbcf4ff2f7d91e3380c96bd0916fb2360ccef08cd7d97c37efbe7ef88be7ecb5abdf4214551e170381008605cfa4d006692242391c89b0e29140a7df4d1472832be6595def16abe65b9de1d7c7efe9f08635ffdd1770166bf6be7c3322dc3d42d5307f0c5e9fc3a76b1eeefa24cd77590890201270882dfef074f01ba07e7eb3e48d37c3edfbb3c1b4851f1b67fed066892a03c7f81678486cc4bc91a66febd5e2fc7712f6d309d4e5115c561d804a200f7b85cae97960b55d737ad00e848cfbb4e10a3025e87157edf0b74fe175f5db4d71e12120ba0a0fd7eff0f0eb45cac5926a199846258966e29ba83fb73ecafec83d89ef10c8cc7632075f1a0e261d6340d231628f90f874364166856020c311c0ecf13d61b86d16c360f0e0ef2f93cd89e555545a5afdfef531405c42cc3301445298a32180c789e1f8d46e064479b62381c02cc6c53c86083d1688458693018802c1aa40ce3f1185de0478f1ec562317855b49851c1c417298aeaf7fbc012e334755d4723783018a02389be27c3303877a03dc0ef321c0eb11493c9a4d7eb6d6d6d0502019ee70f0e0e46a31128674077787c7c8cf21f60cfa0de42290da42fbaaef7fb7d8220badd6eb158448d4cd7f55eaf87221d7acda669168b45946571b260c7025a08654df479354d43171e17c8300c74d2d18f966519be9224c952a9d46834801f0264faeeddbb685261fd01639224693299e07d031aabc3c3c37ebf9fcfe74145631f242ee54f7773d7daa3a705d9e3f70c749aa05981b5c84ed1617b76ec62a23f5dd7c1856918c6c2c2c2f6f6b62449fff88fffa8aaea9ffffc67a0976766661a8d06485ce6e7e7efdebd0b42fc783c0e9acf6bd7ae65b359145f52a994aaaaa552697e7e7e7777f7eeddbb344d2f2d2d816baf5c2e5314b5bebebeb0b030180c8e8e8ef2f9fce9e969381cbe75eb9624494747477b7b7bc3e1f0a38f3e5a5a5a1a8d46c0dfa2c900be1678317439755daf542a3e9f2f97cbb55aade3e3e3a3a323d334b3d92c70d14f9e3ca956ab0842cfcece1886017774bfdf07c3ebe9e9a94d6607a6e2442221cb72ad56f3f97cf97c1e489a42a1004a9b56ab55afd70783c1caca8aaaaa00632f2d2d954a2594c03637378f8e8e4451fced6f7f4b92e4cececef6f6b6dbed0635fce79f7f5e2e971b8d86d7eb6518e6e0e04010845c2ef7e0c18372b94c92e4f5ebd73737371167359b4d822030d4110804befcf2cbc964f2e4c99366b309c9018ee3ae5dbb0684a6c7e3f9f4d34f7d3edfcececec1c1c1743abd74e9d2fefe3eb0329f7ffe3948b14e4f4f171616403b76fdfa75f0154a9274edda3530423f7cf81064b43ccf2f2c2c5cba74a95eaf7ffbedb78140e0ecec0c1cabd7ae5ddbdfdfd7342d97cbadafafbf7733f7fd4a332fb02f2449910466e01c73ec02a23ff05946229170388c07fbf6eddbe0accfe7f3972f5f064d394551e3f1b85eaf83302e93c9140a8566b389395ff805840fc0438cc7e3643209b795cd663115a0aa2a72c64824224952bfdf2f168b8aa28cc763d0460982d0e97480ec75b95cb3b3b38aa280495f14c5c1608064399bcd0e8743a03d4892cc6432a09f6a369b8d46633299201aba74e952b55aed76bb57ae5ca169fad9b367bffbddef388edbdadaf2f97ccbcbcbaaaa026078f5ead57c3e7f7474048cdbc1c18124491f7ffc31caf9d168f4e9d3a798decbe7f3c964f2c68d1b9d4e676e6ecee7f30194238a62a7d301604514c55ffdea57c5621160178ccd7abddeb5b5353473354d9b4c269d4e271c0e4b92b4b0b000ba664c920d060330f84fa7534992128944afd703f51ef0d5e3f11868c7c5c54534559f3c79120804daed3628148f8f8fb3d96c201000c2fc8b2fbe80d8402c16c3f982b70afd5cc3303ef9e413408892c92462ff5eafb7b8b898c9648027472b1c05ca2fbffc727777b7d3e9341a0da4086036fb896eee7a7bf4ac340904448da20517eb775b44a718f538d19f631754fb43ca89495e8fc7630fccdaa24268edf9fd7ea44b486001a6134511407fccabda3b4442c4b22c1027b829118255abd54aa5024009907d3ccfd7ebf55aad06e5104dd3809c205e4891d46ab572b90ca253c05cceef167e1f19191e72a49376fbcf9e5f46010b9c9df05c86610040873a1ae6e7002d04669be77910ca8344bad168d8c24076b707087080f26c2d27bb0b89f41030e0c96432180ccae572229140ea8d1a02e8545d2ed7f3e7cf239148341a4da7d32ccba2b098cbe5a04875e9d225bfdf8fb20080754851c1bd88881831b2adf186b5827b428dd2b2ac939313e0fe40160bf837960b39b23d868c15868b210842144500f7789ec77102dcf71316fe708b53244f503c4d720ee38b6317e8fe5c2e1730c60441e472390844e04f83c1e0d9b367f1787c6565c5ce3763b1d8b367cf46a311c330b3b3b3c8a1e0b6e6e7e7310801a250cc2100de0cee52a8c7b95cae70380c02e14422319d4e47a351301804c44c9224044136abc2703804640c432300eb81ff391a8d562a954aa5323333333f3feff17810f2f4fbfd9999198220c2e170ad56dbdada0a068357ae5cb97fff3ecbb2d7ae5d037617f03d38bb4c26c3f37ca150188d46b95c6e3a9d3e79f20461ddd9d9d9fafa7aa552b12c6b6161a1dfef6f6d6d793c1e00a4254942268b1cd3e3f1b45aad67cf9e61308ea22814cb307781b93d30e880e719a32fa04e188d46f1787c6d6d0d40bf68340a1115545a53a9143a2a50f080da462814c2ba81cf1580f0582c767272a2aaeadada5aa7d3e1380ea0715c1a4dd3d08cb2aff5dede1eaa070048aaaa8a616db7db3d3b3b0b84b32008a048c00b2910089c9e9e0e8743a0dc7fd2c497244992222892642892a608279e73ecafee900fc4fd2155844c876118889ba080934c26e3f1b8cbe542f7000ddcbdbd3d55557d3edfc6c6061a057866c0ed8c060826b74021839f803b431303d4d08661402113c2666829da3d160c7ea1bb32994c3c1e0f1e33845408af503da4282a97cb89a288c8aed7eb99a62949126a6db22c63e882e3b866b3c9f33ce643707876d888234453459224e4c5e8098cc763a4de38d3c96402078df106b4561886b19b3c183803e93c7a2fc8285d2e17224a59961545c1841cd8562021001786993f4551100283a31f1a20f62793c9042118c234455186c3a1288ae0a779f58222ca4338391e8f91eae278700a88d3112083fe1ebcdf08367115ec6e3ece14ed325cca9feee67e7650fdd73bcdd96cbc6f0982d715f1ebeabe037b76ece2dcdf9b7c62b7db7df5e646658a2088b9b9b97038fcbf7b7bd9ccf2183a76ec6fcfc0f63c331bef181cef7547fc867578e7b2c3f6ecd845d5fe5e6b2ccb82dee3a5cfc10185e8e91de7077ef0f337d67dde4c9afffd99330cba3a2f31cbff2445a837f3d1bfafd947fbda0579f773f9c1f579df13247e7a10df8f5a2f42372d55b708dd527487f1c5b1bfb29faa146ceb660038667f8ed72c9ede97fe44bc40d202d7f6924d26937abd6ef3acd875bd371d802ccb80c2bde5899d4c26cd66f3ecec6c3c1e5facb3b34f0da95fbfdfc780ed87ef199243f8090cf39ef77de0617d4b540e48a065596058792d69f38fb0e9740a62821fbd07e835bff64f48ba7fe4ea01ec821aa0037c71ec62a33ff039a3e685027c381c06d205d0d942a1100e8783c12000c02e976b3018d87ff2fbfd687a8c46a35eaf079133d4dd46a311b6ef76bb48c9c1958422fd7038bc7bf7eef5ebd7398e83bcaf5ddb0237f26030006154afd7c38805fa92203bc0d83fe4c40683c1ecec6c2e97031cd7ebf5c267a17e47d334b023a15068341a8111c0ed7603bf8df256abd5425f6532990c874386614e4e4ea2d168369bd575fdebafbf0e0402600f0d040240026a9a160a8580a0360c0354d8a0ba42bb1c7c88baaea3728aae0e1a4ad7af5f47110d53228aa260b7baaedfbb776f636303f430e3f1783c1e43a0b2d56a8141a0582c5ebe7cd9e3f1ececec1004e1f57a2793095821645986923284e4fbfd3e602e703d28d8a10c0a7e335996d1c7c72b0dce4b5555d03a188681b22c444a0dc3e8743ae0a0c5dc0bfa3fe83e831e2d9148249349d0e7005e03aaab56ab55ad563ff9e493370dedbcd9f51124493014c93104cf101c43984ee7d7b18b727f90493c383880fb6bb7db28defbfdfe5aad86c24aa7d3b135c2a7d3298897f178349bcd743a9d4ea71545f9d39ffe84740c35f542a10048602c162b954a14450982003f38333393cbe5d05da1697a381c02c971fdfa75bfdffff5d75fcfcdcd753a1d4c44c07945a3513080f23cbfb5b545d3345c762e971b8fc7fd7effeeddbb60a9dbd9d9f9e77ffee77ebfffdd77df0d8743afd70bdf34180c969696b6b6b68037f6fbfdf57a1d43b58822c1138559149aa6cfcece96979741a6f2e0c183d9d95950ad00be03df0a1e1a34af3d1e4f381cbe76ed5a341a054e18cd075dd781b09b9b9bc3e9efededadafaf4344f4e0e0002cfcababab6b6b6ba6691e1d1d81b6cbde39bc15ce82e7f9e3e3e3442241d334a874402eabaa6a2291a8542ae974faead5abfd7effc18307d3e9f4e4e4e4b3cf3edbdfdf87f22488bb198689c562b3b3b3fff99fff314055cc000020004944415409643b2428455184a4a76559d02c6d369be040bb7af5eaf1f1f1cece8ea2287ebf1f4e13dc6298482108a25c2ea7d3e962b1d8ebf5c02309b78be649a954ba72e5cafbba3f047f0c4df124c5d3244f13aae3fe1cbb28f7379d4efbfdfec2c2423c1ebf77ef5e2693595d5dfdb77ffb37cbb25656568005810cc8b367cf40a904b1881b376eeceded298a323737c7f33c1cdce79f7fdeebf5f2f97c3e9fbf74e9d28d1b377efffbdf4f2693cb972fc7e3f1a3a3a37bf7ee310c73f5ea55e078e7e6e610f280051a52b682209c9c9c407fa3dbed82892b180c221ac5681ab83901ae463e1e8fc7f3f93c4110a0789a4c268661fcea57bf6a369be572f9faf5eb954ae5e0e0c0e3f180765f5194542a1589440e0e0e1e3f7e0c6d8d7abdbeb8b8f80ffff00fe0becf66b300e8e472b9542a351a8dd6d6d6b6b7b71f3c7880ee73b3d94ca552cbcbcbad562b180c229c440500feb1dfef673299cb972fb7dbed5aad2649d2fafa3a9aaa36df175ac9280280fee0f6eddbb55aede1c3879d4e07c15a229168b55ad16834140a99a6190c0601b76418a65aadfed33ffd53a9547afaf429227197cb757272228ae2c6c646bfdfd7753d140a81e46a6565259fcf8325cc96ebbd75eb56ad56cbe7f3885b5756565896ddddddd575fdb3cf3e2b140ad063393d3d5d5c5c4c2412e572797777f7934f3e393939c9e7f3f3f3f30b0b0bfff55fff150804a2d12824ea416093cbe592c9e4dede5e30180428e7fd6b0584a95b9a692aba4518846a10864379e0d845b93f00e587c321f1622a0383565eaf17330fc84359965d5e5e5e5c5cecf7fb80b920f1b1358900616b369bed765bd3344892371a0d86610441e8f7fb0813a052d46eb791d0c1894ca753e4925096c866b3bffffdefc3e170381c1e0e87c964d2ed76371a8de170d86ab514450113dfcaca4aa552b1912bf3f3f3f7efdfafd7eb5f7cf105f14265a9d96c76bb5dd410dbed36c8576cc01d30de82202493c98f3efa087811683f41900ca7660fdb026a0746eb858505280d6106032ca4f0cebaae03bd9cc96410a021fd4492db6ab5ece1652cefcccc4cb55a85730136a5dd6eabaa1a0e8767676793c924667b73b9dce6e6266810f143e079a528aadd6ea33e805343623b1e8fabd56aabd55a5a5ac26143cd1d8340bd5eaf5c2e0355d36c3681a4819c13226e4c46572a9566b3994c26f173b84f9acd26981641a70a2a59bb2e91c9646ced76ac30a82e80767cefe8cfb4d4b13618e94d9de44c96242cafe6847f8efdb77dd0d01b1ab867676793c964797979301854abd5c5c5c5542a05e41a5c129e8a66b32908c2cccc8c2008e1701883fda669462211900294cb658fc793482430d5707676363f3f9fcd66cbe5b22ccb50d8001818beb5d7ebb95c2e8472f1787c767616dcf1a669e67239b84855553b9d4e3299cc643278e432998cd7ebc5946b30188c44223e9f2f140a0d874397cb85413d7b4a2f1289048341e857a0e28623f7f97c81400055ad643259a954745d075b57a5520904024017c76231d04d9324994aa542a110d4517abd5ea7d38188522814e2384e922497cb65c3fd6cc193582c160a85789e8f46a3a669d6eb75a826d94a6f50f6989f9f07b535fca3c7e3595d5d350ca35eaf036c5cad567d3edfc2c202c04c98d9c098cae1e12145511b1b1b20af47c9a2d168944aa55eaf77f5ea554992a2d1e8783c6e341a8944229d4e379b4d20abdbedb6699aa228cecdcda1e06883d53d1ecfc9c9c9783cc6577c3e5fb1586c341a88d96bb55a28149a99990906833e9f0f85cef1789cc9646ab51a45518944221008f8fd7e8661028140b3d9c49df35e3777a33df8f3c3664d651a8aa91926311d07cdd64cd025f09c33f4e618f1e1b83f302703168b740c885c9bea12e2b0c0d3b22c8b392d8457400e835e45d775308b008af192ce21f428ce479dc8feb02b4dd3b0e5f92136e285b6afad9d88e304910990d5f0e0c04e6f6e6ececece8269159367e09187dc84edaccf937102784c1084a228f0f2583db46e00f4455003ce3e9bd1139f00784c5114766b3f7220a4c2819da7ab42160921117bd610a37808beb0679c9a7d39b06e6850701ca7691a9e791c09487140fd6243737abddecece0e20dfbff9cd6f308d672f08e876b0ece8b488a26877f36da69cededed46a301c60adc4238360cf0e0446c5e2f9c0bee1060c8b143fc099700afd2f7bab98f4f6affcfffbbf397aaa0889e44905916479fa7f495a48f65bea7d476707f8efbbb78d8f32fcb2ccb1a0c06e3f1381289fca43358bf14d334ad5aad423c0401ec6b37436f5792a4574912c15756afd731bdf7235a161762b55afdeee3e36755aaa6b34191588f921b1989210dbca21cf7e7d805447fc48b89f7977c0aa2b0f3ac0117e8b0505673aedf4ff74af8f04bf63f80277fbb359bcd62a9ccf26e8ae10517eff7083c4b4351c4717f8e111f087b364db3dfef63d6f5a53fa1c900e86fafd73b3b3bb311cb1f6ea3d1e8edf85ec73ef4adf8c20b7cd0bdf5feba94176e0c4df9bd422aea4f45a4805f04ad86638e7d7f7b7c608ca0aaaa2ccb9d4ec766002d954a866100b20bfe7a10852221f2fbfde851a0d7619a26fa24baae974a2594eda3d128b4ae63b118c330a02d89c7e328e12393aa542ad045eb743a954ac5e572050201a8cdc5e37192240f0f0f354df3fbfdd002076090208862b148515428144274e0f3f91289c44fcbb8e9d8cfc09b3ba19c6317ecfed05b2c140a00eeefeded2512896ab50a6d565555154501ca0108db6030787272c2304c269369b7db8d4603c8928d8d8df178fca73ffd098c9b10366cb7dbd56a15957851144f4f4f2391888dbd006bde643279f8f0219277822064595e5a5a8ac7e3a3d1e8dffffddfd7d7d7f3f97c2291188fc748793a9d0ec06e18d200233c49927ff3f54dc71c73ece2a33f4dd32032bbbaba7afffe7d411000c5482412f07dcbcbcbb158ecf1e3c7e57239128980f60a221bd002b7c941bd5eef471f7d54ad5631cc00ac462c165b58589024e9ebafbf3e3b3beb743a1e8f27954a215e831cedad5bb72a95cad1d151381c069ad7b2ac5028b4b1b1b1b5b555afd73b9d4ebd5e27084255d5dffef6b71e8fe7e1c387854201f0e9858505e73e70cc31c7fdfd98fa0ec0c918c55514657e7ebed7ebd56ab5442231994c6ab55aafd7f3783c737373ebebeb880181a1f5f97c363fb06559dd6ef7f0f0108474a228e672b97ebfcf308ccbe5c2585532999c9b9b037a06985b346a312107e0ae2d3386b0145064506f025abcbbbb9bcfe7799e07e80c6355c3e110047cce0de198638efb7bb72f330c68844147bcbabacab22ce87f2f5fbeec72b9545545d0072473a15008068320139d9d9dc574b02449a891839e20994caeaeae9e9e9e82201a4e8a65d9ebd7af438982e7f9542a4510044614a09b130804305d6033b383bb747979d9e572158b459aa6fd7e7f3c1e0744399bcdcecccc944aa570380cb7f8d3294e38e698633f4fbb78dcdf4b9889f3e887979010e7e1bea3d1686b6bebca952b00d9da00e397fa8fafc5d9bc0ab0188fc78f1e3dba7dfbb6ad788903dbdada6ab55ae3f1f8faf5eba954eaa238f81cfb791ad8cc2449f2fbfd822000fa0e5e0607f8e218f153d09dbe74df9c77552fb9adf3ffc4c0994d796fdf82afe6daaf4dc05ffa441084ab57afda89b0fddff9f9793094c46231e7fe76cc31c7fdfd2c0c1a8f17b8379fcff7eae75eafd7a1b677cc31c7be8f9c9c2570cc31c71cf7e798638e39e6b83fc71c73cc31c7fd39e698638e39eecf31c71c73cc717f8e39e698638efb73cc31c71c73dc9f638e39e6d82fc63e08f66c9ae66432817205d4bc5896856a84ad29616f6c1806e43bde65d6e2b57b78e9a75555c5d8ef052ec76b098ac1ac051122cccfd91bd8521be737c604a1ad6571fe4fc4eb4659ceff3af1ca108b2d0f82c1acf73a9d977e1107767e555fcbea6c4b5f412ae447acf0dbc9a25f5d64c330a0d5f7eacaffb81377ccb177b10f527a5355b5582c3e79f2e4e8e808b4cfd03c240802ea94d0e201a381a228cd66d3e3f14ca7533c1b98ed854cad2d5404894810c0e021c13f21ff8ae7c134cdd168b4b7b7170e8731a48caf1304818165fcff743a350c83a228c330b01348f6288a820d209f08b12145510882a856aba05cc5f6d0601a8d460f1e3c005b6aabd5ea743a2e970bdbb75aad42a1e0f178a013661846a3d168b55a954a055c3250bf9d4ea72449b65aad6eb70b6a19c330405a032d249c5da954824fc7f6f86ead561b0e87272727b6a491bd437831cbb270a6d8adad76441044bd5eeff7fb50e6c42fe6f379cbb26c652859968f8e8ea0530cf9219224c7e371a9549a4c2685424114455c051c244ed37ef361495f5a46b0999d9c9c80da07dfc26ae3304e4f4fc11284aba969da7038dcdfdf8fc7e3aaaac2416357baaeefefefd3346d3359bcd7cd2dcbf27038041d11a4a60cc3188fc7f63bc0517a73a2bf0ff832c344a3d16ab54a10040854b6b6b6c2e1702a9502bd73a7d3310ce3d2a54bf1787c3a9d168bc5c16090cfe7c3e1f0c6c686cbe52a97cb3b3b3b04415cbb762d1a8dcab2bcb3b353ad566766662ccb82e4b6aeeb60704924125013e7793e9d4e572a956834bab3b34392e4f2f2722693d1757d7373f3ecec0c92de8787872e972b9148341a8d7ebf0f55c942a1a0aa6a2c164b24123b3b3b2ccbcecfcf0f87c352a9e4f57a21b87ef9f2e542a1e0f7fbb3d96cad56ab56abcf9e3dfbecb3cf745d7ffcf871bd5e5f5a5a6a369b8140c0e3f1dcbf7ffff4f434140addbc7953d3b4a74f9fd6eb75c3303c1e8f288ad7ae5d3b3d3d6d369be170783018743a9d2fbffc3212891c1f1f1f1f1fe3278e8e8e4067bdbdbd2d8a623c1eafd7eb8140e0934f3e198d46f7efdf879f150421180c5ebb76ad5028b4dbed442271e5ca1586618ac5221812af5ebd7a707000c5ce4b972e8542a1ededed5aad363f3f0f5ec5743abdb5b5a5eb3ad4d383c1e0c1c1c11ffff84782200a8502c7712b2b2ba954eaececec4f7ffa53369b2d140aa55229128964b3d9e3e3e3f1783c3f3f3f373747d3f4dededee1e121242e8f8f8f0982989d9dad56ab503ef0fbfd4f9f3e05bff768349a9b9b9b4c26101acd66b3df7cf3cd8d1b376eddbad56eb7777676daed763c1eaf56abb89a1cc7cdcfcfcbb27c7c7cec76bb078301c330954a656e6e2e1008384fac633f97e88fa22897cb351a8d689a5e58588042ebdcdcdcfefefe643269b7db90d395244914c5c160b0b9b9391a8d088210453110080882d06ab56459aed56a344d2793c956abb5b7b7c7f33cd8a121763e3b3b5b2c16e3f1f8c9c90904bca7d3e968341a8fc7109c25497230182412894aa552afd733994cbfdf2f140af0a1c7c7c7aaaa2612896eb7db6ab52693c9fafafa37df7c8307753018800366666606d4ad78683d1e4fb7db2d954a90e82d168bb76fdf86b8b0aaaa7ebf5f55d552a90445f09b376f9e9e9eba5c2e9fcf077547cbb2b2d92c7608c1c976bb6d5996d7eb851cf0a3478fa0b0deebf58ac5223807c7e371341a2d168ba228d2349d4ea7e1f85c2ed76432c966b3b22c974aa572b92c4952a3d1800ceef6f636e2ac56ab552e97d3e934ae60241269341a50e06459b656ab411a34914840f7321c0e6b9a5628144cd3844a6fb55a4508d66ab5a2d168afd7bb72e5caf1f1f170386c341a04410c87c34824329d4ebffbeebbab57af0e068352a92449922d0dbcb4b4d46ab570453c1e4fad5683607ca552c9e5728aa220669c9b9b9324696f6f0f6ac8dd6e773c1ef77abd6030e876bbf7f6f686c3612a95022f64a15070bbddb95cee7d536027fa73ec276f7d902f8c65d9582c160e8751369224c9ebf5562a9556ab05b55f8220d2e9b4aeebe572b9dfef9ba6592a959acde6743a852892d7eb8dc562fd7ebf52a98c4623d3347d3e5f341af5fbfd7ebf5fd33497cb158fc7ede4b4d1684c26139224bd5e2f4992602d4da7d3a9544a519468342a8aa2a2281e8f27168b711ca7eb7a381c4e269393c904bf0bbe23866162b1189e499665bbdd2eb41051d0c47e40850485f57abd8e271694858944c2ed764f26138aa2dc6eb7cfe79324291e8ffbfdfec964b2bfbf3f180c2062ebf3f9789e671806cef1e8e808929288987c3e9fdfef5f5e5e5614051ae10cc3783c1eafd78b5f1145b1dd6e0f87435555bd5e2fcbb2283e0602814020301e8f799e8fc5626eb71bf535c8c04354008becf178e2f1b8cbe5d275dd344d7040408c1cdae7a8f789a2e8f17842a15024122108a2d3e90c0603922491e663f153a9141c34a4caa1e11b8d463d1e0f4dd33ccfabaa3a1e8ff18e84840b14cda1e68e2a84d7ebcd66b3c16010970f9af7b8f4f1783c9bcd425058d334bba4f83f698e837092df1f309ee75d2e17ee727813904a298a725eb91c4f72bbdd46d10aaf56c330c04d8fa7713299f4fb7dec040ccf085ec0d78668a25eaf731c373737d7e9746667670b850276ceb26c2a95ba7ffffefff93fff876198502874fffe7d96656766660441e0380e5c2f7838676666229148afd723495292a4c16070fffe7d8aa2bc5eef6432c964322884c5e3f17ebfffe0c10304ad2856b6db6db7db0d9a6bd334ebf5fa9d3b7764594ea55288203a9d0ecff35816a8b9330c0369f06eb70bbeeb46a381fa572a9542b448d3b4dbed3e3b3b83bfb62311cbb2daed361c8ac7e3595a5ab2a5a3dc6e37429bededede170b8b1b151a954789eb799ab5d2ed7dedede603048a7d3509a9765b9d168040281d9d959fcc46030585858f8eebbef44514c24121e8f47d3b4f178dce974bc5e2fc330766088422ac330a0e9fee31fff28cb722412d9dede462cc9711cae32ae2fb6d475dde7f3e112c02f43fd2a9148f8fdfee3e3e38383836030e8f57a45517cfcf8b1d7ebcd64328aa27cf3cd37344d7b3c9eab57af9e9e9eb65aad6432f93ffc78d892f68efd4dda05d09da2ee8e048d24498ee3909022eb4198e0f178745d47b8542e9741ce8cd4efecec4c14458ee3a2d1a8699ab55aadd3e9c4e371411090adb8dd6ec435676767272727822064329970388c2e01e4e2d2e9b4c7e3413cd86ab520ad5d2c16dd6e77381cb62c0b44fce8b1b8ddee6eb7cb715cb55aa5280ac160ad568b44228220d4eb75a49608457bbd5ebfdf77b95c687d2059862be138cee572198681030e87c3d8a0dbed42794ed334d3345badd6743af5f97c0864fc7ebf288abd5eaf542a0502817038dc6c3665594e269386610c874324aa914824954a9124893013ef007448068341bbdd8e46a308cd64592e97cbf0fee8504302541084e9745aad56699aee76bb2862b02cdbeff7110e2378cce7f3a150a8dd6e5314954ea70541300ca352a9b02ceb72b9101bb22c8b60391e8ffb7c3e1c43a1508844229224552a158aa262b1182e962ccb2449b6db6ddc12d3e934168ba17d81b60cc45e92c9a4a66970f78944c2344d9ee7510748269328890483414110d068621806cdf777b766b359ad56913afc68bad3f3729d8e2b74dcdf05bc51cfdf49afbe60dff4ca1d8d46ed763b10089ce7f27b154d627ffd078126f6c6e7b77ce993d7eeff7ce2ffea01bffacfd7eeead51f7dedf1bccb12bdf6204dd3b4ff6bdbababf1ee1fbed7366f5ffc377df7b56bf2a30dee4f9224849f707f2898d8ee0fa58f37b9bff30541db1cafe124bf1f542b7ccb3fdff2cc783c1e50e1bfe3d7dfe54e3d4f07fdda4fdee5f0de7e486fdad5ab3ffadae379df5fb43d1d1a2078b7d97ef0efeae606aa062f726412f67bfdfc4b023901d042b6fba3fedad021716240c7fdfdd5bbda300c94de5ebb01607dc042bf653f83c100772712abb7f758defdf010d282f21e6923307d6f3f98773168780a82807a251a2ff65f51ef1704e14d010e0a8b38e55eaf87bae4853c5493c9045924ce1d507334f16df7f71627880e955d997df55ac317a08cf0aa3814544c511885df4151f842ee54e01691aebee3576459966519e92dbc9ba669104745a2833b13fd5f5c11b83f3beec3e7a8b4beb481e33bfededd9f6118d56a55d334d471d0fdc0538da74851140020ecae28deb4781481fb75b95cbbbbbb6eb7bbdfefdfbc79134323b8c900a0c56ed148c1fef1f8b9dd6ee0995fda8061185996f1622f140af3f3f31e8fa7582c320c93cfe773b91c803886612009621806d8143c1ee8edc2c74da753a0460cc39065192d85f1787c7676669ae6dcdc1c4110bd5ecfe572a140865e07ba31c96412fde2d168842e0730bd0cc3ecefefa7d3e96030381a8deedebdbbbaba8a6340b95351149665398eb331e17067988bc0a2a1d0696b84a28b8a22299c9d8da99665d9c67e63d90dc3c0f2a2448857172e197acac160108b0f4783afe8badee9744451144571341a699a1608041060627de0555bad16d49c7bbd5ea7d3999999c1ebe7fc9c099ae0e72767b0014e0471961d9401a98e3f95cbe57038fceee83f34bba7d3e979f7379d4e71ffd8e7855f8413b4335cdb27c2ec89148aa2dea5a8e2d8dfbefb5314e5f9f3e7dd6e77666666381c1a86b1b1b1914ea7cbe572bd5e5f5858383a3a82d768341abaae5fbe7cb9dd6e2f2d2dd56a355996bbddae2ccb2b2b2bb55a2d1008e4f3793422068341201048a552474747fbfbfbbaaecfcfcfd76a354551229188a66900a65cba74696f6f0f0f703a9deef7fb9d4e074e070841afd7bbbdbdcdf37c2693d9dcdc344df3ececac56ab310cb3b2b222cb72bd5e0712a5dd6ec349511475f5ead55c2e27cbf2f6f676b1580c87c37ebfbf582c1a862149522a95dad9d9c10f65321955558f8f8f5bad56a954f2f97cebebeb8140e0ecececf4f45492a4f9f9798aa20a8502cbb2f178bcd7eb8dc7e37038fce0c1838d8d8ddbb76fd76ab5adad2dafd77b7a7adaebf52007daebf56edebc198944cae5f2f6f6f6743a0d8542dd6e97e7f9482482b66f3c1e2749329d4e371a0d801fe18fc2e170bbdd6e341aaaaabaddee783cce306c3c1ef37a458a225f940131734619864e922445d188942dcbf2fb255dd73d1e0f45918661300cdcdff7685054d0785e080683a669b22c873fe17d068f100804799e334dcbeff7c7623151f451144910044dd304818a9ea9eb06c64bec97e88b94d3d275c39eff314df3c568101c37e1f57add6e8f2008ef787f4a92148bc55996611896a629ec361c0edb61ec9bea7ae7fe8949240df9b29d1a3be6b83f82a6e940206018063c60bfdf3f3d3d4da7d3344d178b45c40b344d0f06835eafe7f57a47a351a552c96432cd66137519380ec0711149f57a3d40671445d9d9d9595d5dd575fde4e4846559e09f87c361369bd575fdececac5eafdfbc79b3d56a3d7cf890200841103036b0bcbcecf1787abd1e308300b20982d0ebf516171765597efcf83140399d4e876559c0cd80672e97cbb95c0e752259964f4e4e42a11045514b4b4bf7efdf370c23140a499284ac5f55d566b3a9280a74d6114fd1343d3b3b9b4824eeddbb072473a7d3c10f01a003d7c0308c2449d8b9a669ababab00a92c2e2e4a92a4695aad56134551922400b62f5dba747a7abab0b04092e4e6e6a6288a00d0148bc568347ae9d2a5afbefa0a0364b22ca7d3691c58363be7f3f95896a528f2034b7f9214f8c190e79c5c95ffc25123685ebfd73e25e9c71f034912a66999a6a9aa14e00d7f87f553c7fdbdd150e1e2797e3299008a0cec0ba6c19e3e7dbababa4a1084d7eb0d0683954ae5e4e40483107088c8a4ec5b4a10844020f0ecd933c851c201619ee1e0e040144500f780e95355f5ecec0c01d16432d1340da1d9743a6db55a009700558b3959a0e1dc6e37660c1445c11018465c7d3e1fe64f0149b12cabd3e9b45a2d9fcf371a8d288ac2c01cfc1d621f2001114da5d3698ee39acd66bd5e0f87c30079f8fdfee974aaeb7a3a9dc65432cff3a5520963212890e1a8505ac231e08dc2b22c2af41cc7f13cdfebf5007c29168bf6a162f217652c8cd62095b32ccbed764b92d4ebf500a56659f64537f3227b5617befd4fb1c30f3c8617a12b659a86a65948871d30a0e3febe8ffef0a0b22cbbb5b5659ae6471f7d8461038c7966b3590cba763a1dd334138944b55afdf6db6f4992f4f97c08affc7e7f381c962489a2a868342a0842381c46016e6969e9bffeebbf2ccb5a585800f035128960aa81e7f9502884df0a85426b6b6b80bfa552a9a5a5a5a74f9f120491cbe5002444b1af56abf13c2f0882288a8b8b8b00307b3c9e60302849126a527662859aa03d5f214912c7713333338140607777d7b2acd9d95978b46834da6eb7dbed36f60ce4e3d1d1d1c9c9c9a79f7e3a1a8daad52a4992d168b4d96c621806a366080093c924a68fbffaea2b04ce6883b02c1b0e871f3f7edceff7317de1f7fb171717efddbbc7f3fcfafa7abfdfbf7bf72e45511cc76d6f6f974aa5743a8da00fd38a5eaf5710048aa6488a24082766f9200f88e2a6330af237661f84fb43fb429665866146a3110684514ac7d7799e47cad0ed762dcb02a9019a83344dcbb24c5114fbc214452997cb98ae459a0382038ee382c160bfdf5714c5eff7db7c4d1814b17f623a9d8ec7634992789e07323910088c462396654551c45fa1266c77450100b6b5d58917731d8220e8badeeff7411e036fcb300c8ae8981541368ddfa528aad96c8292806198c96432180c0cc300e2bad168f03ceff3f986c3a1a2288140006b2e4912499293c9441084c160803701d067682694cbe542a130180c24495a5959090402d81b26312693c97038e4380e31753c1e8fc7e3587970a50c8743499282c1e09b48c31c7bf71a77b7db45efce1e1f7630807fefeeefc26fb242a180a10ee7c6b22cabd56aedeeee220a8e44226f82d1606003ce14f9afa22878cd60fad8a9d67ff89d89b943b7db0d6881e3fe9ce4f7828de7f9a5a525e20db316efe22f2eea76fc905dbd34bff12175ae7038fce9a79fa2c8f07adf47100449a2284910e4794e80f3fc3daf7e11f80f9a66344df3f9c4773c4ec05c00017eed06baaecbf2c4ed769ba641d3b4aa6a0461bd0a0ffc25be8a88738beb780dc7fdfd2437d9783c5655351008a0a8eff3f9de85e3088ca42ccb7a3c9e376d037ed077e19a9e4ea7d3e9d4eff7bfaff3c2c42ef26b9435c15bf5211e90a619d5300dc3e2995771c8c440d10d9310189224c989a6fb78daf65383c1e0ecec2c954ab9dd9e578fa1582a3d7ffe1c1461fff89b7fb4b16c301b9487d41edd6a4c1fefeded653299783c8e1e0bf82c9034300cd36eb7eeddbb77edfaf5fdbdfde59595e1604092e4c2c202766577607e61f911496276c609a21df7f79a38623018100481677e3a9d060201b4532793095c922ccb93c90400947ebfaf699ad7eba5286a381c8214043ece34cd46a3d16eb76fdcb8d1ed76abd56a2e97c3b8121ac140c302ae85af74bb5d345e8ac52241d4d05c45000020004944415410e9741acc4b28ea81bc8465594dd3f6f7f70541989b9b63595696e5c160009e051cbcdfef07e00e353ed4d46459c679014d821dd234adaaaa4deac9711cbcf670384463575555108262de00440fa22882c306183710c0c8b2acaaaa2449a66982960ec818d44c413ca599c4416b4a9364dacf8d54c3c5523e9e19abc64835dc2c55eaabfd894e5164cccb52144112e444d534dd20a753308901e3f6aa1fefb43bcfb7b6488218f4079d4e67737353d3545dd7398ea728eaca952bb158cc34cdddddddfdfd7dafe8bd76f55a341a3d3939f98ffff88f6bd7aeadaead1e1e1eeababeb0b0984c24b6b7b79bcd662a95e279eee9d3a71cc7fffbbfff7f5ff67f2d0882451083e1b0d56c4ea6d3b5d5d5c5c5c55f5c21922449cb321d4fe1b8bfd7f83eb01683d665777737168b7dfef9e78aa27cf5d557d3e914401390a04892343737f7ecd933e0ec0140310c636d6d0dfe822088f1787c7070409264a3d1003e66329980534fd775411040da1c0c06b3d9ac61185f7ffd35a6055455edf57ac7c7c7b3b3b383c100cc228b8b8bed763b97cb9d9e9e3e7efc38168b45221197cb75e7ce1d5dd7018e2997cb40ae80110fbc5518e468b55a344d67b3d97abd0ee2962fbffc329d4e57abd5dddd5d5996d7d6d61617171545b973e78e61180036d66ab572b98ce0d1ed76e7f379cc29fb7cbe99999956ab150c063399cc83070f40201a0e8759966db55aa0a44fa7d3cf9f3f5f5b5bebf57ab76eddd268e1794db608e2b833d50c4b37cde588fbb035612892a3299a22da63ad31d616432e8a226a0385a3488630c2f4d4ef9730b6f0e650db0a04821b57af0d87c36fbef97a6565359fcf87c32155d35c2e573018d4757d6f6fafd96c6c6f3fe7393e1a8d721cc7b20c411077fef2178661449feff7bfffcfc585c56ab51a8944eedfbf9f4ea7344d13049e2449411086c3e170382c9e9e721ccb30cc577ff92a168b398ccd8efd8db8bfe974da6eb763b118842cfafdfe471f7dc4b22c72d8858585e17058ad561545a956ab18b70885422e976b6b6bab5eaf63a00deec00e0aa07a0366ba4ea7f3eb5fff7a3a9d3e7af408dea1d7eb8542214043d09c85d6d2ccccccd2d21249928787873ccfdfba756b7b7bbb5c2e8fc7e3542a25cb32cff3f178dced7683e179341a599655a954c0d20cfa29bfdf2fcb329440c03e0d827ecbb26edcb8f1d5575f81a95855d56eb77b7676160e8781ade9f57af6a45a2e9703f53190343e9f6f7676f6f9f3e71cc76d6d6d61fc83a2a87ebf9f4c26298adadcdcb4077545510485354641188621292ae2e57a134d35cc4b3177be33fdee741817d98d84fb796dd21c6b928b49d2a497a76b43b535d6ffef9ca81bfa4175f2512850ad9e09829048245e2d57e103411022e1f0a0df370c737636d36a35239168afd7c3f1288ad268d481be1c0e078013fa7c3eafd7bbbbbbf3d967bf0a85424f9f3c393a3a0c8723ebebebf57aaddbed02c0e8f57ac3e1d060d05794a9695ab3b3b37ebfefce9d3b63597e0b79f8cfb8f6e7380ac7fdbdb91c8ef40a6cef76e11f4fced9d9592814cae572954a05ae0d0404c1607071719165d968340a5a048220288a4a2412376edc28168b7b7b7b703798ae1745319fcff33c8ff90a9aa68f8e8e288a5a5e5ededddd0590c5e60745640a4c62bbddc6402e2a5ca66966b3598499a150e8f2e5cb60395655757d7d7d381c82989ee7f9402030180cc6e3317ce2783c06d0e7ececcce3f100a387dfcae5725011028d285e066039f5783c3e9f0f38e46fbffd767d7d1df36a2ccb068341a829251209fbc37bf7eee572b99d9d9dab57afb22c4b58044f9314496aa6655a966658344568a66911846e590c45b11469bda8491916615884665a344d91a4290882cfefa719fad58797a4289665498ab40882041b3ec7bb5c6e4110389ea319c622087932a99c9dcd65b3244991146d5a165e51ad56d3eff73f79f2d8e7f3b95ceee5e595fdfdfdbffce5abd168944aa7abd52ac3b20ccb1ee7f328080e47a3eded6d8ee7bca2efe424bfbfbff7c517ff9783c571ece7601fa4f58171857c3e3f1e8f171616bc5e6f3299c458fee6e666b55af57abdb95c0e5319344d2f2f2f9f9e9e964a25411072b91cd43c666767c13f8cb17cd0b5a3ac1e8fc7b7b6b67abddec71f7f1c0a850441c866b3e1701804ce04419c9e9e82c0dded7603547cf5ea559224f7f6f6bc5eefdada5aa3d1a8d56a3e9f2f180c627896e7f9a3a32350a266b3d976bb3d180c72b99c288a90375b5c5c74b95c8019731c170a8530fad66eb7575757f14fa4c3922421f23d3c3cec743ab1586c6666469224b7db8dc936b0c0fbfd7ef04863a00de1d8743a0d06835035090402954a050cf81cc72d2d2d79bddeb9b9b9502844906477a2ab86c53354beadb034f9c59cbf36d44fda4a546417c38287a3478ac15054c04d97fb6a73aca99abe1ee5dd94a1aaaadf2f79dc9e573b382ccb8623e15432e512048665b1a4900188c7e3f144c2278a82208482218661af5cb932373787d26d20180c06821b1b5701f9fef2cb2fd72e5df27a3c0461ddb8f1d1f2f2722291989dcd261349511467b3d94020d0eeb41986999999f9d5af7ee5f7fb798e0f87c3bf20c808491096658259c3668871b8fffe36ec43717f607c822686cd95341c0e9f3c79323b3b8b8211baae00b241dd4614c5ebd7af637be09611fd61000e23f4e87200ab0c2615e857102f08784dd304b1307e1443b820470196186d04880b13048166027a1710e404d6fafcb740cd620bd1c24f3d7af4c8b2ac5aadf69bdffc26140a015807ef8f3da3e7835f245e60a78973e47dd3e9f4f8f8b8d7ebadafafe3756287cc3865b019a3376277781022a98665981649128a6ef10cc93394a29b8a6eb9188aa6084dd7dbdd3e45d1925ffccffdfed584e06309ca54e5f178341a89a2cfe3f110af63af022ec73e86970862cf1fdbf947dd16f0c59fec0b61abfae27fecfdf7fbfd870f1f46a3d1d595159665ad171bfcb25a1f86a10ffa7dd04d43d1c1c1fd39eeef8d862eaa288ae7f5bf0982180e874747470441643219a8dbfcfc17c834cde3e363743691f0fe889d80639de7f970387cb10f7fa3d1d8dada5255f5934f3e195a7cd0cd50a68e1e8e2ccb1e8fd7ed7613ff7beb6cbf54de51dede717f8efd926a7f6f4a8a5f6071ffca4451dcd8d8207e512a821445cdcfcfe772b90f21b9e4380ea268177bd68661349bcd5eaf572814a083ec4e24fe9a0fcab208eb7f71de17ed6f3be4fc853e2496e58c4c3beeef3deffb3779935fdc1a5dc8315fb8bb0723d6e1e1a1a2288220140a854aa5924c262f5fbefc57831616f12adf81011e6c8679c7534339f83ce1fb0f1f9eae1304c1bea092459281b22386c6a03baaeb3a495168fb902f7e4bd5348aa2b81f45ca8ddedafb2a023bfecf717f8efd926c3c1ee7f37910295eba7409f0f2b3b333c0c5cf3db9af7970878341a9544ccfcc487ec9220855514cd344e511a552d45241810382eb6ab50a717a86653555354cd32508a66952687fbf604ee6789ea169c3306ad52ac8beca95ca7030984ce44ae50c38505996699abe79f366a9542a168b814080e779a898836aecf0f010dd70c334798eb30842d7348aa24ccbb42c8b24488220588e232c0b4329103072bbdd00c98ba208053e9aa6598ed3340dc5658661745d2f954a0149124551d5348661be77d086c173dc9b2b1b964399e3b83fc77e4646d3b4aeeb50e02c954af57a5d55557cf8d283fbaa4d2693b36a35180cf97cfe5eafb7fdfcb94558d14874329974bbdd642a49122414d1161616e672b9c974babfbfaf696a2a958ec56395724555d5543a6d99662010302db3d3e9c8b2dceff713f1c4e2d29265599d6e475194682cd66ab528924ccf644aa57230148cc563df7efbeda0df5f5a5e2e572af97c3e9d4e0b2ed76c364bbf98fcd9d9d9310cbdd96c8e46a3999919cbb2ca954a381c6eb59aa661c253e772b9e17008f2c44020f0e8d1239fcf3799c8a9542a954a371a0d45995214b5b4bc7292cf0f47c35834b6bcbc3c9d4eefddbd9bc964a065eaf7fba2d158ad56ebf57af3f3f3333333f4ebc246c7f339eecfb19f97b9ddeed9d9598087e0f5a0691b8d467f38992308d3f85efeede0e080e338d1e78382c7683c3ac99fa8aa1a0a8763f1d8f6cef65c2e471004c332a24f1c0c07144d6b9a3a9d4eb79f6fa567664aa592c7e3393b3b43825fafd56667671996edf7074f9e3c2e140add4e6763e36a381c167dbe50302449015114754ddfddd95155d52b7a4992b06c5e0692e405211a8d4ea6538aa603c1e0c9c989699924499a86d1ebf5c2e1c860d0374db3d96c6a9a4610c4f6f6f6cd5bb7bca237180a0e87ac2ccbad56ab582a6d6c6cecefed3d7cf0c0e7f779bdde56bb9d55558665d1bed8ddddbd74e952bdd128572a7ebf3f994a1de7f3a2cff7da9ab5637fabe64c71ff82a3bf743a0d8c74a7d30181762a953aff005be749605e3282b008c2308cf178e497fcc96492a2e96aad66e806e80243a1503c9e00f29c2008af578c46631cc7d76bb576bb4390c4643a0d0482e572b9dea8d30cad1b3a2ff0a2cf47521441101e8ffbf2e5f5cf3efbd5f2f28a200848902d8200074c2018383a3ad2754d147d16415ac47f93a9b00ce3f57a2d8b7009ae7038ac1bbaa6e9c160d0e57279bd623814f2893eb7c7331a8fca95b2aa699aa6d214e5f58a925ff2f9fc244523678fc7e3824be874dac09c03ac03d22a966355554d24931cc70dfa038ee393c9a4ae692850be66a99cf0cf89fe1cfbb99920082b2b2b83c16077779765d9e5e5e5f5f57550a59ef77faf79e99124cff31445d114150947b6b6b6f2f9bcaa288a02513453e0798e65698a72092ec2b2289214789ee3589e633b9a669aa62c4f088bb04554d2e974f1b43855a65e8f17f840811742412a180880809624089ee7199a262c82e778866646de91d7e3250842d3f5c249613018062469edd225782882204ae5f269b1e813458661785e6018c625082ccb024da5288aaa28865b2748723c1e8f47a3aa65cab24c12444092dc6e1745511eb7271a8deeefedc918b6b32c92200cc368341a0ccbdeb9f317c22252a954a351af56cf62d1d8743aed75bbce54f2df8ffd8ce84e1dfb110605486845120481c9191bf7e7767b789e7fd5ffe9baae4ca73ccf332c6b1a46b55a354d33100c82a41a5aba1e8f87611870a61abaae280ac3b2182eecb4db6073094892a66b344d731cd7ed7687c351381c86248baa28a6650982a0806a8ce76579ccb21ccbb2135906a49c666843374ccbeaf77a689b40f809454c48b244a351c2b2289a862014242b81a91e8f47a3e1c8ed715324a51b0622488661bca208fd135996c1b9d06eb744d177fdc60db7dbdded76a7938957f4369bcd6020e8f57a3bddee64328946a324495014c5f37fa52487431d0d07ec8bc4d9c1fd39eecfb19faf2b3ce7fedc3ccfffdd4eec5b96d5edf576b6b7755dcf6432906779ef2784242dcb1a8f470eecd9497e1dfb79bfcd5e8cd9fdf798dadf73e392240381c0279f7e6acfe75917b1b0ce6de6b83fc77ebe1ef09c516f2afffdfd184592df8ffdfdd8754052fc21633f8e39eecfb1ff39df07c6048a221dc0ee45adab9df03a742f8efb73ec67edfe20c84d51144910a643d7f981f1234562e0cf0900ffd6aeacb3047f7b1e10beef7bf62d8aa29c27f6038ca628847e36d39fb3264ef4e7d8cfd1f1d9ee0f1e50d7758a32598e252ce27f97fae57fc54ccbd4358da66992a448922448c2b208d3342cd32249822429827cb168044910c48bffbc7070244112a46559baa163499d86afe3fe1cfb99676a142863c15c00495f5dd7016ffabb92a9ed743acd66d3e7f3793c1e30dd42c900e20a1cc72146a6cf19f1824cd77e8540e713e6b83fc7fdfdffecbdd9771cd77d2ebaf7aeb97a9ed00da0d19841902001829328991a3cc889e238769c957b938724e79eacfc05f7252b2ff917ee4b5eef798b9dc4cef1f1cdb1add88a2552126712244010c43c76a3d1f35073edbdefc3265b4d0c342d532441d6272dac66a3ba50555dfbabdff8fd3cbcd406202b09e6799eb96c6c28281bbdb2efc8f357184c825b9665555599740d1ba105001045915577b7e88fbd008ff4cd98add74e822deb0f7c05f2651e3cfaf3f06c18b065a4b005ccda245e37d30f00a0ebba2ccb8aa2288ac24611b07660364986d15f3b03b65b7fe871b0a89f67fd79f4e7e11030e0ae650c0eb3d8f297069b24254912b301592a9ccd75111f81253476597f8f554e3efe4fefeef2e8cfc3cbce7dedafe17ea38e5e874bd11ed4db15e3dbfbab7de90fb4697d7bf4e7d19f87434382adb5fa9ad35f2b84b7177b7fb597fe3ccaf3e8cfc32b620f1ef4ce2b8976f7bffdc5418e6deb4dcfd67b4de0953d7bf0e0c1a33f0f1e3c78f0e8cf83070f1e3cfaf3e0c183078ffe3c78f0e0c1a33f0f1e3c78f0e8cf83070f1e0e255edfbabf56e9ef73ab00865fb6e0ee794a1578f56e1e3cfafb92844208711ce7393715305193a757e2a594d634235ba9979ba6e53e2721001ec1a02ca522fe44c82ff04f356f0c635cabd53636364aa5926559cfe138799e0f06835d5d5dc96492e965792bc483477f4f65a1d46ab566b3d92aa67fe6c61a338276cd2aa414608c11824cd6add5a1f984e35cda2efee2f662de863a145d00e9b33e5448282604728f5d040e1019e00874cff4c4ce1de90daaf2937762dbf6f4f4f4af7ffd512eb7ed380e7ed67a2d1c828ee3c2c7bf290e219ee77d3ef5dcb9b3dff8c63742a190b7423c78f4f75b8849d7f552a9c4715c2814e679fea180eeb3a63fdbb62104a228ed6534c7b1abd56ab3d98cc562a2283ec19efaf4def28fefacdba1a42e081661930f9ff1a1f290d89400c03dae324f39000a102fdf2fac979bdf3d3d120f070efac39665fdea57bffaf18f7f2c8a322f085f855615c70b96ed204adbe90f13425db75aabffe427ff736e6eee6ffee66fbabababc45e2e15505fafd59c9308c72b92c0862281c11040142f8cc09e5a155050f747e25490e86c2ae8b2b958ae33807d87d746635f7933b9b357fb20c24cd852e0198004ce863ff63bafb9ddff17f42f7db2d01360135c235d4c46779f3c3a905ddb00eb24faf5ebdfa2ffff22f1c2f4284985033fd4ab0cf6e992aaacfe7bb3b3dfda31ffd48d3346f9178f0acbf037db472b9cc71bceaf33139f5fd0d37c721188ba2b8cb75c518430831261cf7db757409732a917b0039c2403058ab566bb57a341ad9eb05176af59fdf59ae2bb13ae1b18bf72573841d1e6002910b0500519b3f8b212014214829011c0484427410cb4300b04b292510edb3810d0116c31faf6c1feb299c1a4cefdda05c2efff8c73fa614b2cbbbbfedc67110028c775b85ed67cd7e7590d9c82184312684ee7bc12184aae2bb74e9d373e7cebdf5d65bbf35a4e0c1c36b477fccf4735dacfae483b29394d27ca1f0606159d3b5eecece2343039224b135e9ba786965351c0ee5778a1d89182184e7b98e787cdfc50601c004634c30c6ad55cd962e6df3e04449d274cdeff7c9b2bccba45adc2aeed85c1d228beccb7d40a2ceb068c464d870c0a2e936a9f8904110ea125c1fc44d0c55e89688200152c6a27380edcc01e062420184844501280510020a292510010074083054a7567227fbbb769d2ca5f4fefdfbd96c2e100c1d64c64622914c4f1a4258281677760aadcd10425d9d29db760084b66d03402dcbd6346d5f06c404638c21a42cd14bdb4c6cb6394248f5f93efef8e353a74ea9aaea2d150f1efded0ea599a6c9c6653156dacf3c743ebb7a73716525118f6e66b72551040038aec3719c4f552f5db9363a32b4b2b6d19fe95958590dfa7ddffefa3b7e9f6f5f7b8410420866d2ed954a991012894459be25954ab29820c771d8c5b66defa23f17937c4daf614e27041f60b50d85c53f1a88ac578d24005cd5de6858327539040a2e7f2c95e80a88b3b94a974caa984fa9dc279b46cec464bf5df1106297100a3908c33cf6219cb75048a021096e5ba8891106801394fbd91d8cf12efa735df7c183073c2f388e43f77ba2703c7ff6cce9aeaece42b1188d462821b6e3b09843a55c79e3fc1bc542d1300c8c4932d591cb6e4fddb96399e63edf9dcb1342002588e3e2b1a88b49a3d18846a33ccf150b05db763000a2286e6c6c168bc54c26e32d150f1efded8e52398e0be8930ad31cd7312d0b41140e0631a6d57afdb36b37427e3f05b43395ac371ab6ede8baded09ad95c4e0b0675c35464795ffaa384604c10c218e3c5c5c5ededed2323232b2bab10826030c8713c78e88e52dbb6e9e3417d4aa9ee60dda10e25f400fa13794510a5aa56361dc253fe6ccaefe72905a060e090844441e0393e20438e0a9d2149d9b608c6785fc30ac1876e25828311fe8d4efff5ad465fc4a748c287ab5acd220000cc7335cd765d5710845df4572e97114207997e082145555cd72d974a9665452291818101cb3283c1e0ecec7d36bd8c05193a539d96694108ddfd9e4ccc90261488089d3871221c0e2d2e2e8f8e1ea956ab9f7efa996e980000e8383c8f9acde6ae8be9c183477f801082b14b283d800718ef80e1813e51e06bf5e6f6ce0ea5a45aad8d0c0e94cb958dcdac619884e08d5cae33d5110d87037ebf248aee7e81391676c318438828a5b1686c6579f9e2c54baacf77ead4a4203cfc14841013c64bbbe98f528a317531d9d76483806ee42b97615395957400424e901525d7b0cb9a7d2c192600514243aa1a8d2a5bdb9adf8615135836d9f7a4790e624c5c0c3184ebbaf0757ff8cf2642351b7cbcd628e8d4710800c001a095d0d8759cccc875f78f4e024ae9dd3b7733994c341a9524a9d96c86c3a1a93bab8aa20c8f8c104258ed5ead56ab56ab954ad5340cd7dd275aea6217638c09059466b3b913274e8c8c1c29140a5353534d4d631f8100d04711000f1e3cfadb8f043125981c3443dbb6adedfc8e65dbd170e8fefc62a556332dab5ca934758de778e6d2524211841cc73535cd344d51d8f7a81078440d008054aaf3ccd9733333d3030383e9740f4290bd0f2124789f32110821a40010ec38f800fa03e1a01093b9959da22f19eeed4ee8b62b3b9a1f5b98f81c4a05400926ae4b0ccbe530e05dcb75f661520800a6c875a803288460a5a8ffe45ef1addef04251bfb25e6bd8986d430056046e6f8b05c771aaaa3a8e43c801dcca73c96412635ca95487478629051cc70bbc204972a3d150558525a02ccb725d87e3394209c6eebed61f7b4e108267eecdf0027f6464786aeacedc8307ad7c0bcf7184d027141279f0f0fad21fab70c6d876b17b9085c0212eddd5393d3bb7b1959d387134d3ddb5b0b8522c96e3b1e8f0407fa15c8ec762e3c78e263b3a82fe60be58d00d5355957df64329040063dcaa7f4924126fbef9a6284a007ce1df410830c66ccaed2e9f31a8f00a71802bb8747f3f6ea38e06e381e11e9fe6d05fcd978fa77ca9681835adcb6b7500a05fe24abadb309dc582a12085e304824d778fd70f017001c018bb0440085c00ee6c36968b86e962c321ad8c0d758dc11edfae3c38a3bfdede5e36877bdf70aa49e9dadadac4c4b82008b3b3b396659f3e756a6060a0d16c5cbd76b53793d1345d92a46ab55a2e97785e401062f700fac318630c01d05df7c68d1bf7eeddd375dd69e59a21b41dbb33988c46a3de3af1e0d11fd8bb56398ec3d8755df7090e52ba2b95ec8853421142d57a2d1e8bbe71fa647f6f8617f881be1e086177aa8343885030323cc0f3dcbece1ae53884e02e9e15448902e03eb26e587c1000b0b7618be3507f2aeabfbba142d1b0b97d4395db35fba7d34591479850bfc477f88439cdf96ca5da305d8020828010802070315d2a682e010edec7408300b8003a2e71c843a27600312c17b46557650ef8697dbca78fe7f9bd97746c6ccceff735356dff6c92ebde9bbdb7b4b4c4e283fdfdfde9eeee5bb76eadaeaeea86bebab24a2861363582082164d9d6be9159c175d817d70ad1eabac612ddade756add93cff7ffe1f8140c00bfc79f0e86f1ffaf3f97cb57addb66d5e109f9000e1391e700000100e86fef43b7fa82a0acff3800208110000218e020021e020a484e2fdfc6808210408630ac0817f8543c8324d5555e53dc91304e1602af6f67032776b4b07a186cbedeb5bda8ff20d0dd3f99f537907d3bae5ec8d7d19f6c11631002e0218138ce9bebf153910e3f437bba5b1feae7d8710a5d3e90f3ef8e0473ffa110070df7e0fecba96f9b0647a71713197cb359b0dd3b4000016b09e3a6441082607d43f02842001e0c89191b72f5cd8959cf1e0c1a3bf876b5555d54020502e9529a50871f429e2e401bf8f395fbfebdf820090033ec50aa66dcbe0382e1a8decb5aa00008a2cbd3f39b45d6dfe66b14aa9bf893997420ae0be414bec80bc89bfcc350180204430d91d0f800001aa70a4035a6f26c01f9d1a8e8643fb5a55a228befffefbf97cfee2c58b841042c9134469344dfb728d19e411f6e53e00603addf3577ff5d7c964d233fd3c78f4b73f04418845a38ee3d4aa3526bb42bf1a0929820106e891eec16ec6a100b88e0321887774f8fdfefd0ba7218c04037ffed6585859f86cb150b0b8a6cbbb043ef3c4a68c1006d479fc32f088fa789292ddf12ee5bd1303833d9d02cf1f6079a16432f9177ff1178140e0c68d1b954ae52b917b8180e7b9bdccc6f3bca228838383dffbdef726262678de1b85eac1a3bf838d32455152c9a4248ae572d9340d00216bb67ab6076a33eb8f905dadbf1021402982d0e7f345a3d15028f48415cb71a8ab23fa676f8f9feccfcf6f158a35cdc5f82b606bda3249bf784e7028e253fb53d1feee64341c7ab247c9f37c4f4fcf5ffee55fbef1c61b333333dbdbdb96653d07d53f9ee7c3e1f0f0f0f0b163c752a994e7f67af0e8efa918501004bfdfaf699a6118ac6dfef99c00c771a2282a8ae2f7fb2549da9b4bdd6b5b057ceaf1c19e919ea4ed38ac42f0391c278250100449920441789a165a8450381c1e1f1f3f72e488699aac14e639d09f2ccbb22c3fe5417af832cfc647685f41ded53eacf4c7be3f411082c1a0dfef6f55f33e9f1360b70e53187cca28153b5a4110d4e75ed0fb3bc5d15ac7e9dbaf0bf06538c25700cfff7c354dbb73e74eb95c6e3de73a3b3bc7c6c62449f2f8e850d25feb4e62a530deadef5192878350afd77ff5ab5fcdcece6e6c6c4892944ea7cf9e3ddbdbdbcbf33ca594e3384aa9ebba4cc39c598bcc47d95bcdeae12ba43fef5a7b784d8cbee779ab4722913ffbb33f7bf3cd37fffeefffbeababeb6ffff66f1142172f5ea4944a92343a3abababa7afbf6ed7038fcad6f7d2b954a2d2f2f5fbe7c59d3b4f1f1f1b367cf3e4f57e035a2bf96f3081fc1bb3a1e5e01ec0db4b5dfe7cfff312fcbf2d8d8587777772010482693a77abe261900002000494441544f9f9e9999f9a77ffaa752a9f4d65b6fcdcdcdfdfad7bf0e8542a552e9debd7b3ff8c10ffef99fff7965654510840f3ffcf01ffee11fce9f3f7f881cac971cc8b3f23cbcf2dc471e763793e73933ef0986274288e31e767c23849863fbe77ffee77ff7777ff7e0c10308e137bff9cd77de79e7c30f3ffcf77ffff72b57ae4c4c4cbcf7de7b9aa65dbc78d1d3dffe0a9ddf762af46c400f879dfb30ebec731fb6f7b512fd2fdbbd2dcb726767a7cfe7b36dbb56abddbd7b174278fefc795996abd5eaeaeaaa6559030303dddddd5e8ef82ba43f8ff83cbc4a705dd7b66dd33429a508216600ee7ac6bf583390bd6639c36030d8dfdf5fafd7cf9d3b8731d6342d91484c4d4d0d0f0f8f8e8e160a85b1b1315996bdaff599d11f849049ceed8dfd7924e8e1b05b7f8ee330b97fc33020844cbc6bdfdbfb39dfed1cc79d3c79b2bfbf9fb1ded8d85832990c8542dff9ce779acde66f7ef31b08e1db6fbf3d3131f19def7ce7d6ad5b9b9b9be974faa08e260f5ff209c4ea695970a4e526388e63dbb66ddb7ebf3f9d4e7b97c9c36144a150585f5f672d833ccffb7cbe582c6659966ddba2288aa2280802cff33ccf738f0000684da9fe4ad99029962b8a924ea7755dcfe7f3e170381a8dbaae9bcd6673b99c288a4343433e9f8f8dbab72c2b954a757575796d885f09fd1142dae98f31a0cfe7ebeeeef62e9387c38872b95cad562184baae0b821089445455ad542aa66932ee63e0388ee5225ae988179211f6f0029cdf5d663fdc03ef1a7938a44008499214080458ad9ccfe7634cb7f7f6f66ef5d794fe58ec0f3c0ac4b2c0306b233b5c2d1c1e3cec022b79c9e7f377eedce1386e727232954ab57a93da79d0bb56afbbf5d7aa426a8777677838d46037f0d6d696288aec7ede7b877bdeee6b4d7fedf74a3b09b227a437e4d0c3a1a6bf4422f1b5af7d0d00108bc55a25c77b896fd70b0faf91f3dbfef533ca63add7acfbdaebb5f67078fd5f511407060630c6104256fccce8cf737e3dec63fdb5d39febbacd665396e5161bb6ee2aefda7978c9ed3ecbb24cd36c341a8ee3b0901f1b02d58afded4a83bc281e64ab8915667b5fdcf3a6bfbdd5ce8c01d94fd33459d17cab3e863e929cf7d8d0c34bc87aadfbd9711cd77599ddc794abd11e1cc47dcf870a5961b6e3386cf40dcff3ac1471d75f6f2527bdeff72bb1fe5aacd7badc4c6e0c42c8a6c1b6b88f754db62bd6b6fff4e0e105125ffb4f7603b7cafa5a21bf5df57dfb0ae53e37ee330cc3b22c4a1f4a33d8b6cde6dcb74f6a755dd7300c17639ee315457e72d933c6b85eaf3b8ec3f623cbf257742e1863cbb2144539d4a4fcc57386d97afb3e6d98cbc0ec3ee6057bd69f8797dffa6ba57adb45565af47790f3fbdcd633f3cd6559461c47288400008a59873242e8e1a0154a5dc7a855772ccbe238cea7aaac6f0f004029a2905394c7c6ba369bcd4f3ef9c4eff7534a55553d76ec583018c41833ea67cb962d6700402ba2c53668369bdbdbdb3d3d3daaaab6de673629636176f5d8eb7abd3e3b3b7bf6ecd9964aeb61f4dc1f3abfadf46ebb19d822c196c3db223e8ffe3cbcfcf4b7cbc4dbe5f33ec1f37d0e2084689a260822cf0b0d872c54cc008ffac2a22c2ba669d8b6cd7c2f4a1d642ef88d9b8a6b0108918d1e8dfa82848b36e128a5e976fab32c2b97cb7dfbdbdf364d7369696963630342582814a2d1685f5fdf83070f044188c7e38542c1308cfefe7e4248369b350c231289589675eddab5f7df7f7f646444d3b4a5a5a566b349293d7efcb861184b4b4b8220b024d2d2d252a150c8e7f32323231b1b1ba669a6d3e99e9e9e435726bc8fe015e3bef68c30330c5b433c76b9bd7b4d7a6f117a789e0eef93bde0bd66e0cb90f12084b09e7a000004a0d0b43fde6e7ebd2f349ef20982e038ce438b84baa4b9020a1f22ac3ffce0c39344541ec281a4e3a676ad3ecbb26ab59aa6699665359bcd46a3a1aaeaeddbb7092157ae5c3973e6ccfafa7aad561304617a7a9aa586868686eedcb993c964d8e0300040b95cbe7dfbf6d1a3479797970921cd66535555dbb6a7a7a7abd56a2010e0795ed3b4070f1e94cbe570383c3b3b2b4912ab2a3f64ce2fbbd0ed3f191891b5b88fbdf0e8cfc3a1a3bf5d61be2738bccf6df5b2b20a4229252e0f6850045b356b7ea739141515013153836d871dcb6e5489fbb8ca294414d75dc92204efdab3699adbdbdbaaaa9e38714251949999995c2eb7b5b53538382808425757d7e79f7f5e2e9743a110f37f1389c4e0e0e0fcfcbc2449b158cce7f3b10a214992060707cbe5723e9f374df3e4c993e572f9c183078542617474545194b5b5b5dbb76f2384745da7941e461dd6c7c4ee5b2e702b0ed8ee05b77e7a3eaf8743c1897b9321fbbac64f26d3afee20398eb34c0b535ab6c85cc9184928a7ba54801de751821a004029c00eb64c8738ce2efa039ceb3a9860b26bb7f178fcc2850baccdf9e6cd9b96658d8e8e6e6f6f33d91b4551a2d168381c4e24128ee3148b45511499e60d3bfd56c8ab95861604c1b6ed46a3619a26c77182205896655996e338f1783c1c0ea7d3e966b3190e870f5d1ae48bd81fd86ffe4b8bf2da5f7b869e87436415ee9d60f3323478701ca7288a6d5b1ccfab887ead4b513918e401049412d29eb1755d626a0e71ec5df40739dbb21f56ccb420cbf2e0e0606be0753299dcdada9a9d9d0d040294d2c1c1c16030c85cdde5e5e59191919e9e1e49924451eceded8d4422b95c6e6767279148f8fdfe4c262308422a956229e99b376ffa7cbea3478f9aa6b9b0b0609ae6d0d0d09123476eddbab5b0b0d0d3d3c31cf943769feca2b3bdecb66f758b477c1e0e2303eefab9f79fcf139665d5eb759ee709a11450000082ac4007a9aacaf88bb86673ede3ea839f1157df4d7ffe8c9d783fd431d2d191685fb32c9bccce8810d268345cd765113d36c69ee9481342588298bd6fdb3642c8344d9ee75555c5183b8e234992e338cc0bacd7eb1cc7050201b64fa693288a62b3d9745d371008b452d28798fe0e7af1e4f73d7878f9e9ef09af5f08fd31abcab22c4229a01440c80a149916616b2b821d8a6d00f6ac38c8012840c479bd22cf86fe9ec07707b19ec7831e5e66e2dbf79d9764d607681bc6c4e24bac54dba3b317467f1ed379781d38f1650bd27b6d6d2f17fd79dce7e195b70a5f12e26b8ddf3ca4bd13af3efd793ce8c163bd674e7c6c101d2b72668df69224f97cbef6c65e5621c87edb2a4ff1f062e8cf83070fcf048ee3b0ccaf288a10224aa9eb3a966589a2d83ed0d234cd62b16c5a9620f09170a8bd26a6d5c4e25dcc2f076f689e070f2fc6f4d3348de9b2b814944d2c2218941551940c4367622a0000405d848b32dde2a00d31342bc8460fb90f53d120c150281e89445abb755db7582cbaae8b10f2f97c7ebfffe9fb707f276d63a6041a08040ef538208ffe3c787831f467595628142214d44c7c71a36e98eebb99607748623dbfcccaa3c4a6b5ebd2d6bf8a7877d31b96060dff9f3a4ea4fded5aadf6939ffca4abab0b632c8ae299336762b198e3386ca4a76ddb00009ee75dd725844892c428cf755d4110aad5ead2d2d2b163c7c2e13021a4a54228cb32eb508610b28f5896552c16af5dbbf6c1071f701c470861ad231efd79f0e0e1b783d515430829c10a476322f71f4bd5000231252ca0871a4b10424029360db351a47b7a7e891a73457357cf2f23ac53a74ee9ba3e3737c7ba7d4ba592cfe71b1e1e9e9a9a0a87c39148a45028d8b69d4ea76ddb66af5993dcd5ab57a3d1682814aa56abf7eeddc3189ba679e2c4094dd33636360441c86432b66dafafafd7ebf5ededed9d9d9dcdcd4dc7713a3b3bfbfbfbdbb5673cfaf3e0c1c3fe602d77966d13421b0ead9a76dcc74765e4380e12bec86f500ab04b6cc321eede9e5fc7753126649751a9ebfad2d212c658966584d0e6e62684906913dcbc79f39d77de999b9b2b97cbb22ce772394288699a939393d7af5f1f1e1e56555592240040b55abd7bf7eed9b367d7d6d65cd76d341a5d5d5db66ddfb973a75c2ef7f4f4c8b2cc3ae12a954a341acd66b3aaaa66329943a6f8e2dd881e3c3c7fb024af6ddb1440c7254111bd9bf10d86784809c640680bc0619758864b1c770ffd61674fcf2f004010846834aa284a3018acd56a9452411098884b2412e9ebebcb66b38c1c59db493299ecefefbf77ef9edfef8fc7e37ebf9ffde968343a343454a9546ab59ae338838383954a657e7edeb6edcece4e5114979696f2f93c6b193ea443717f07faf372c41e5eacb9f48ad19faaaacd6693e7f9008fc6231041c02388208400b689dd43c0f9a990a26077cf2f12e29ca0ec8ab821842291c8c8c808536ccee572f57a3d1e8ff33c6f9aa6a2288aa224934936ef291a8d361a0d66244a928410320ca35aadc6e3718490a2284cdfc5eff7f33c3f3b3b8b310e06838490f5f575c7711042bdbdbdd56a95f5028742a143a9f8f22588cfa3420fcf99f25ab7dc2bc3839224b10c03c70181471042422987504baf0500003949ed3ac7fb5294b8bbae0d10fc54e916e460fbbb7ebfffecd9b34c7d0042d8dbdbcbcaaadf78e38d582c964ea783c1e0b163c7fc7e3f21a4b3b39310c2340e26272783c120633d66fa1d3f7e5c5194e1e161b6877c3e2f8a626767a76ddb3b3b3b94d24c26934aa5d6d7d729a51d1d1daaaa1ebe1bec699ade3cfaf3f0f2187d2f56a7e0d982b99f2c0fcbfcd676e9bdb6adc8fed70640ba675336b8a325de67db766b8426eb29669ccb9c62f6298ee3d8280f8c31dba6a570dc1a0fc232bfec232c69c3240b5bbb3a8c1530f069149b0fa2428f043d3c37e23b88f55e01126ce579bd02e6174f7f07c95efd56152c0f1e9e39f71d24dbf78a99811e5e08f87db96f5fe2f3c4ee3dbc40fadbcb83add90cad1787d4ff6d4df6d877e8b087e7477f7b79b085d6704b8ffe3c3c67fa8307e05033205b53a669dab6dd1abc2b8a627bea83b9c6845000a8d7defbd5d25ffb08b7d68bd67ccb5df4b74b19df8387674e7f070deddd77fb43c7802dd1798ee358b6c1755d36354d5194d694315dd7eb8d26a5541245d5a7b633234288f734609e09fded3bf483b0470fa5ec057814a6dd3bebd2a3420fcfcae2037b26b1b50fea058f4fefddf5fc3e445c601806c6d8e7f33397972d2ed775d98c73d67d4108d1747da7b003285064d130e4f6423f599282c120c70b00a076566d2552bed2abc152c3af02fd1de4ea124230c6e4115ac660cb12047bc2851e3c3c43fa6b556cb4c0ca380e9adf7658c0dc5e9fcf0720b45cca216a63e012aa0a3cc761c7715a95cfaee35a961590ac20dee0aae5f6a11f94171c3d06c2e39c6f00401e00a0ebfad4d41423a6582cd6dbdbfbf47db8b66d379bcd6030f834e205baaeafadad0d0d0db58d25399cf4b7d7ee6b99781863467ffb92a0477f1ebe22066c25015af4c7711cc771adc7733b03b606b11e2206641a2ac160b06a3a77f2864f40ba4b5c0ace2455bf205896f9f0a400703106c4f59115a9fa11b0f28fcd3c82d0d18779b51ff8608b95a6a7a74f9d3a65dbf6fcfc3ccff3c160b0d168f8fdfe5028542e972184aaaa328dd568344a08d134cd344dbfdf5fafd7efdebdfbc61b6f7476763a8e53ad562dcb0200747474b8ae5b2e9759a30821a4542a954aa5999999cece4ec3301cc70987c38140e010777dec0aea31a6db457fad7f1e64037af0f06ce98fe9bfb79cacf68873bbddd73e8afa502c42b67c1cd7756c275733a7729ac4a3b7327e401c4cb8f6ed082122b278fd815d59a1c47aec727112174d41350d20d7625508e1c8c848ad56dbd9d9d9d8d8a8d56accd19e9c9cfccd6f7ed3dbdb9b482472b91cc6b8a3a3c334cdf5f5f54824625956341a5d585818191949a552a552e9bffeebbf82c160a552999c9c6c341adbdbdb3ccf777575e9ba5e2c162b954ab55adddcdc9c9f9f170421180cb2be91c34a7fedb717fb6e701b2ccbaad56abaaeef4b7f1ef779f84ae98f0d050f87c38f358441c87ce1c318fb67495edbb22540cf2505628b088263611e61ec02daae392a70407137ddd27d5bd3768dbb14029d7cf8349262edeb379bcdfef0873f14453193c9643299adad2dd334e7e7e7bbbbbb9972c1cccc8ca66981406079791900108bc54e9e3cf9d1471f757777a7d3e96834ca06fe524a2727276fdfbebdb8b8a8ebfaf9f3e71b8dc6eaea6ab1583c73e68c288a1f7df4d1d5ab57054188c562d96cb6ababebd01980fc5ee26b997e2d06acd56ab76edfbe75eb56a3d12084b6050b1f7d1678f4e7e1d991e0c3ff5a8c0821027e9f7f7272f2ecd933acb5bebdf6a5f5003e446b8f75d71a86c9f37c4c42eff7fb0800320f118200d056e00f42a808d8b1d6ecfa0e71e8e3a69f20f98e88913108f9f6e7472a95fafef7bfeff7fb0541989f9fdfdcdc8c46a34c945410045555598f9d2ccbccb85355d5e7f3b1674cab778d52ca34f72549324dd3755d4992589e1a632c08026b2b360c83bd4e26938140e050c6fec001695fc68396654d4f4f7ff8cb0f354df7ca8e3cbc28944b9562b144087eefbdf79e50017388e0f3f9989121081ce2280480518f247da19c8c100a86c27cdf5b6eac7797e90739498e1fe57dc9c7d633cfc762b15028a4280ab38b99b63300c0b6ed68341a0804868686969797755d5755351289f87c3e8ee398656ddb76a9548ac7e3a2280683418ee318031a86c10cbdcece4e5555e7e7e7755df7f97cc78e1d5b5d5d354d53966545510e9d190edb1dd8768b8f49603b8e53a9543efcf03f3ffdf4b3432deaefe11500c6786262fc2ffff22f02810053076043c1d9cf5db53287e58c4cd3c41853fad09717045e10842fcdec8ee3148bc58e8e0eb65a4dd3dcd8d860e3931445e1793e914898a699cd665dd7edeaea6214e9f7fb4ba5922ccbc562311008241209cbb21a8d46241269341a6ccfd96c56144526a39fcd66d92c917038dc527b8e46a38732f5b1b7eaa59d0a1dc7314d833d403c78788168dd8aed4508edce2f386ce52f6cd4d1339cf3cb0cb4d63f65591e1e1edeb58ddfef1f1919d9f566329904008442a1d60759c54c6b8e52fb40a5f614c79123470eef1db54f81cf5e066cdd6dde0af4f002c16ec9f6e4db417a45878804997fea7db92f92fef635fdf6c2bb5e1e5e20f6bd2759f2f790729f8797cbfaa307e2b7d01fa5b435748a52b0ef387ab687bde63dc62e9bd77cd04ddf2ef708210400024011e2da8e99ed997bc21e20840871ade344e82b6f967ce4d4b066752f72fafbd31f7d0280a77ce5e1f7777ef77dd8624c00c0076d89101a1a1a387af4a8200884d07c3e3f333353abd5193b31d6e23874eedc594ae9ad5bb7774512fbfbfb1b8d46a9546aaba6f9e23e9e98181f1e1e8210410830c6dbdbdbb66d2b8a3a353555afd70180aaaa1c3b76ccb6ed7bf76631c600d0f68f0b023f327264646464736373f6feac2ccb6fbdf5a6ebe29b376f158bc54747d8da7ef75fdfb5b73d1becfaed17efb06b72e4c811d775e7e61e6c6e6eed9d4ae3e1777d9cec8dfabd66eeffaba6f8ff32d2df1ec38f12829f70c1390e0d0f0fbffffefb9b1b9b86699c3f7f7e6060e0dffeeddf9acd26c7711c876cdb41503c77ee2ca5606a6a0abb0e93b8c084000afef6bffff72b57affcc77ffc6f8c3187104488496fb39dfb54b5abb3aba7a727100c2c2e2e1a86118bc533999ef9f9f966b369db36a5b2dfef374d93108cb12b8a82e3b8ad7e6c8e938e1e1dfde0830f666767b7b25b1d1d1ddffbdef79acde6cacacaf6768e059b5dc78510124a208492285ab6ddbac91e0e87a6004040089125c9c518bb2e4490697c3b8e0d217ad472400541701d4c29cdf4f7fdf55ffd75bd5e67d3a67ff8c31f2d2d2d79f5e1bfdfe2275f949abe7ec4e7388e699a8ee3f03c2fcb72db38240fcf82fe0e0a24534a0826101c78ad092208729665fffce7bfd8d8d8f8c637bf3139797264781863fce65b6ffafdfe3b77ee5cbf7643e0050aa82cc9a74f9d3a7bee2cc6f8f3cf2ff33c9fe9cd400417e61745497cebad372549ba71e3c68deb37755d07005cbd7a6d6161f13b7ffc47fdfdfdfff1fffdefd5d5d53ffce00f63b1d89ffcc977fdfec0eddbb7ef4c4d45c211c334a2d1e8db6f5f181818701ce7e73ffff9c2fc02219460c271bc699ae170241c0af7f5f5e9bace86de1f1f1bbb70e182cfe79b9e99be7ae55a2c16fde08f3e0804029b9b9bbffcc587b222bff3ce3b3d3de972a9fceb5f7f542a95befd07df1e1e1aaa37ea9f7ff6f9c2c2e285b72f1c3f3e562e954549bc7cf9f2766efbc2850b43c343b95ceee2c54ba150687171f1e2c54b7d7dbd7ffcdd3feee8e8585c58f4e2a7bf97f3fb85f1b78f1bfc0a7301c658d775d33459898fe3389aa6fb7caadfefdf558ee6ba6eb154721c4714a55030b04b8fa0bd5892351db3c1209224618c598f0d78342b9d1910edef3c4de91b93ed3a2c3a08fbc7fe76bfa6a0d5e2f684e01a21b8d16c148bc5d59595d3a74e4d4e4e76a7bb9bcde6cececef7bfff7ddbb201843cc78d8f8fbfffed6fadacac2a8af2ddeffef187bffc4fd771b736b71445fec10f7eb05328d4aab56f7ffbdb96655fbf76dd755dc3306ab59a655aaeeb369a8d66b389b1ab284aa3d11004f1073ff8d362a198e9cdd8b6c52174faf4e9d9d9d9483872e6cc99f5b5754dd3092594d252a944094d24127d7dbdebebeb3de94c2a993a73e6b46ddbc552e93bdff90ea0e0f889e3a954eaead5abdddde99393271389c4c4c4c4ddbb777bd2e9e3c7c7d6d7d7878787b25bd9debedeaf7fe3eb3d999eaf7ded6b77ef4e4ba2f8f5f7be9ecbe6464747cf9c3973fddaf5d1a3a3aaeafbd77ffdd75bb76ea7d3e9b3e7ceadacac2e2c2c78c543bf2ffd51f21af61731594017e340200811870911388431d6754dd334bfdfdf1634a7d4a9bb46de751c62426a496cc22f0080024eb3f96834e6f7f9d83ed7d6d61e3c78609a2642e8f4e9d36c5e25ab92c966b394d2ededed4c26934c266ddb66e3dc86878759a2893d7e587c9f05b8193312429acde6ccccccc4c484cfe76383935ee6eaf42739bfedff6c95261d14fb2384020a28210000499220848160201e8f33e91ecbb2e2f138a50421bea323118bc572b91c8ba319a6e1b84ea954e2053ed191a854abbc20504afd3e1fbbb800004230633182092198125a2c142f7e723193c91c1919114581528231ded9d9a956aac98ea461189b1b9b8ee3608c09c69410dbb22ddbeae9498742a1e5a5e54c4f261209777675e6723941101cc7f107025b5bd95834964aa51af57a7e7b9b10ac359bc98e8e6ab5bab3b3532e979797966559566485529aee4e6b9af6d9679f2284de38ff862449e9745a92244555b08b1559964491e3b833674f5b96f5d39ffe3497cd79b1bfdf97fe087e72bcefd5b30199318531962509715cd974576b565f508cc8bcac28b6653b8ec394011fa27e2b58fa774a77df6948e929826f59aa8fd15fa552999b9b8b44223d3d3d0b0b0b4b4b4b8661341a0dd77543a1108bb1aeaeae068341d3348bc5e2dada5a2c161b1a1ac2186f6d6d699a66595657579724495b5b5b00804422c1f37c3e9f2f954ad3d3d3434343c562b1d96c060281542af5d811befcf4b7eb0b20941082c1c10f5e4210a584e7f9eeee6e4114c627c61bcdc6c2fc42229e68369bf97cde75ddf985f9fe817e4aa861185a53ab556b9aa665b3d96c760b63ac280ac144d3b466b391cb662b95f2eadaaa6d5b2c4bfb85e234c584104209c6d8322dec3e5a0f145042eb8dfac2e20242687c7cbca3a3e3ce9d3bac4b915062db767e3b3f32324229ddd9d9219418a6d16c36354dcbe7b72dd35c5e5a0a85421c4288431313138492070f1edc9fbbcf21eedc1be7fc01fffdd9fb172e5cb874e952b556430836b566aa33d5ddddcd94295dd76d369a866e54ca15cbb48ac562ad56a394948aa59d9d9df5b535c7b13dfefabde98f50f2dac90b31a781152de80eb9bcd1b849c89f8cc6127e9ee739d775db67a2bb66c92e4d833d8331b9a085e5b7307978ddf2f93ca57468682891482412895aad76e5ca956c36cb3c5c9fcfe7f3f95cd7d534ede2c58ba9542a97cbb15267dbb62f5dbac46cba959515bfdfcfba8657565610429aa6d9b65dad56b3d9ec8d1b37c2e1b0e33867ce9c191e1e7e391f4bfc9389ef0be79750029ee4fc36b5a6655b6fbef5267b1c5dbc7871faeeb4aaaa3d3d3ddd5ddd2e76cba572a5528110cecdcd2593c948341208063636369af5e6caca4aa223e1baeeed9bb763f158577757a554a9d7eaadf9a7aeebd6ebf572b96c5b36c6b8d96896ca25dbb175432f140b6c34bd65598aa2643219cbb2744dcfe7f3a6611242b0fb70fbd5d5d5debeded5e5d562b1582c14d757d74541ecc9f47476765a9655afd733bd9981c1817c3e5f2c14b773db3ed5d7d7dbd76c36cbe5f2c6fa46b3d16c6acd68344a30ae56eb0fe61e04fc8137de780363ccf37cb3d9dc58dff0fbfd5ddd5d94d295d51543370004f1781c228820f2a27ecf84fe9813005e2799f1877da8040382033c0d4bf0ea72f38d2e5f4451f79e3e7188a53b7be94f105c8773489bffd1ea0ed475bdd16888a2383a3adad3d3f3e0c1837abdce8277a5528910f2ce3bef5cb972a515f8e379fec89123aaaa7efcf1c7dbdbdbdff8c6376459be7cf972a9543a7ffe7c2c16abd7ebabababf57a3d93c9148bc546a3c104fd0fa5f5071e691f407a207f3bd499ba35552955789e2794948aa5b5f53543377ef98b5f0e0c0cc88a9cddcaaeafadffe787ff0900585d59ad56abbdbdbd94d095959552a9f4c37ffe612a995a595e595a5cea1fe81745717d6d3dbb95759d87c1324337ae5ebe7a6fe65ea150c02ebe7debf6daea5aa958324df3473ffcd1daea5ab55275b19bcfe72be54a47470776f1fcc27ca552619abad7af5d9f9999a9542ad96cb65aa96aba56afd75796571616170606066459ce65736b6b6bb96c6e6d758d3dd016e61720829b9b9bb1584cd3b4a5c525c771aab52a42a8516fd88e8d38542e974551a480b246f15b376f954aa58e6447bd565f5a5ad2751d2174f3e64d08a16118047bf4f70c88a0dd03794d6c40841005c0b26c0a404ec31503bfdb1fec50a063db1cdadd31e2bac436dc7dc6a2cbae233af8d13338168badacac309f77767656966526c0d5927b619b31b72697cb95cbe58e8e0ef6a6f8086c837c3eafaa2a6b1c6656886118aaaab28e6c9fcf170a855edaf01f6c9f64d4123b701c8765d96ddb2e168b3ffbd9cf3efeaf8fbf9cf9cace7cafedd3fe3e4b39b58af85b21bf2f733e8f34e09ed2da627fae3569901d492bd0c9f6d6fe5bb6310020dd93feee77bf9b48247881370df37ffcbfff2397cbb54b30796cf555d0df99b367fedbfff5df2291486b11f23ccf649adae781bc3211404a29d3a0a7140008ab36c9692413e0540ef21ce238773326b50000200049444154a4284a7b9ab53cfbc3c28dff672ffdc9d123f9e05ff40c9feeeaea0400388eb3b8b8b8b9b9c9ecb2b1b1b162b1c8f37c381c666a088140a052a9a4d3e9b9b939c77128a57d7d7d63636318e33b77ee7476768aa278efdebd4824b2b6b6268a626767a720081b1b1b4c2ae5f4e9d377efdee5382e180c1e3d7a341c0e1fd6d81f737e31c14f287c79020e22b25defb7b2a2cf393fb0f7cf3d657e36bbb5f5bf7efa53f648dcdedededece7b998de7c005afdb7385559e4a92645916802024207f08f20872082204799edfe554fa92a7e199ff7bef55e294882c8d04c3a147beb0303434c444ed15455114251a8db2c01fa32a8410c65814c5582c669a263b06d69e3c3636c6d458cf9e3dcbf37c4f4f0f008029063209199ee755550d0683b66dcbb2acaaea4b7b799fd6f9a58478f64c3b2c0bafafaf6f6e6e82479919ef9a78f4f71539bf4c4acfb66d882807110410a187b4b8cbaf14a38362a8775f1e0d400e42d4160d14da8db2f6d05efbe7fc7ebfdfef6f7f475194f62ddbb3baed3b3c14c2f74f477f2cf3e12df0a7b66d3d7c25f40728782def42a68bc58a935980a82571b887e538c0ef9f64f01a44bebcf34b8917cff2f0321880afe98933c7d393c67a21f447e813cb9e3d78785efcf7ba27d03d45afe74a7f10429e175866d6bb5e1e5eac098438eef55cfcacfd837580701cc72cc17d2f85a70af32ce94f92a4c953a7fc7ebf17e7f2f082d90fc19e4ce6b0b4d33f43b0f2d5874d9c84b0ca1e36be6357e617635cab373076799e5714857ffcb7dcebfaf0f8f2f427cbf21be7cf7fe39bdff4ac3f0f2f160821cbb2eaf5daeb66f7b10a5c26cdc22a4f1dc7b16d1b42a828ca17c95f4a09b674bd69db0ecff304635114bed8896507030136c1030060db762e97ab56abd16834954ab12afd402040296d369b4c5fcbe7f3c9b24c29d5348d52eaf7fb7f2b7bbaae5babd542a1d0a108533e95f32b8a82aa2a5ee98b87174e7faf61009a311dcf0ba228566dbcdd747a83a222f38ee3b0818cac010300002000f5297ff197ac531e4244d0a369c952aa0ecef3fc00a33f36bdb65028040281858585a1a12146a6478f1ee579be56ab1142e6e7e78787873b3b3b1b8dc6caca0ac771e3e3e30821f71158b387699a8410569a639a66ad56bb75ebd6850b1714456103305baa338792fe0078586ee0919f87176c07bd86a74ca9ebbaac969802d0b4c9c76bb56e95ffe64048e139423013d76b491e107d93143f610922daa6cfce05871de9586b1cc5cece4e2e971b1c1ccc6432ebebeb9aa6e5f3f9d5d5d56c36cb745c10428542a1bbbbfbf2e5cb8542219fcfb3896eaeebdeb871a3542a398e333a3a1a08046edfbecdf37c5f5f9faaaa0f1e3c607b3e75ead4ddbb77ebf57a2412397efcf84b5b03f8b4852f80bec645071e5e1a3200afa5dedfc3ba7a42a212ecf2f13f9f2d266574ba2708d16e290dd7c507481e380eb25b1d4dd56a95e7f9542ae5f7fb8787874dd3cce7f39148241e8f6f6d6db166354248b55a9d999979f7dd772dcb6276b7ebba2b2b2ba9544a96e55bb76e89a2984c260381c0dcdc9c699a1d1d1dfdfdfd3b3b3b4b4b4bcbcbcb478f1eddd8d8505595998d8796fe3c78f0f082002124949a964501c86aeefd823e91f2a5039c655910d0dda98f03145fa8e83abcd3e24a4110580091525a28143637374551eceeee8ec5623b3b3b8661f87c3e0040b1589465b9afaf6f6767a7e5c04a92944c2655559d9e9eb62cebdcb9733ccf33bbefd8b1638944626e6e6e7373737d7d9d29263c9a037178ad3f0f1e3cbca825caf30842823105805272a2433e19957c3c25847008ed8aac61825c9bdbcb36d0e5da2b7793c924537c314d736a6a2a168bb1163a9ee7997a2013924826939b9b9b2b2b2bb95cae353d5d92244110d8bc917038bcb2b2e2f3f9144549a7d34cde4ad3b4919111c771c6c6c60a85c2cbacf8e2d19f070f2fb5e9c7e6d2d8b68d10ea94519722114a118408429ee7762558c560bfdafbc15ec5173ed015f3a5994d07000887c3131313b3b3b3535353f178fce4c993854281099d0e0f0fb354462c164b26931cc72d2d2d7576760e0c0cb08319191989c5623ccf4f4e4e46a3d1dbb76f9ba6393131a1aaeacccc4cb55a3d75ead4f8f838d38b4ea5521d1d1d2f6deae3b70b5e618cc3e1482814f20a5f3cbc582084745d63d24caf89e015035b8c6ccc27050021c821c414fa76153f536c61dbd81b21851c4fa0c4717ccb1063525a4cd685e77936eaa825fec63c56966ab76d9bb518731cc7e65eb454e91042b66d030098cd68db369bfbc1f33ccb0eb3afe670677e8197f9f5f012e0b5bd091989d8b6fd48f81e711cc7dcde5dcc02398957f61facc1edb12bdbc55a5a31c4bdb2cc2d8917f0a8f5b8e59503005a8584e071f51766b4beec8185a7bdf128f532bf1e5e34ffd1d7f6218c109224491445669abdcce3d30e11bcd89f070f2f03b13f94137fc236af9e53ffead01fa5349bcddebb77af542a8642a1d1d1a3994ce6f7697cc118cfcfcfc762d18e8e647b106463634351948e8e8e762b9d55c6b39105fbee6d7373d3719ceeeeee2f4ae45f0998a6b1bebe118bc5a2d1e8cbb6361cc7c9e57208a1cecece9773d2cdcbc07a2c46e6384e2bcbe15dab43467f94d26c2efbb39ffdaf6834dad393d9d9c9fff297bfb870e1c2e8e851363a83450a10429810d77520843cc733416dd77559acb47d6f8ccea6a7ef8e8e8e26121d2ec684109ee35cd75d5a5a0a87c3b1588c2d30b6dbcdcd8de5e5e5b1b1b18e649260d28ab9524a5dec124c5656562ccb4a2412bbe88f1d00bbf35af4810966c33dd9f31613cca18747e8ba2e2698e7788ee308a5aee3b08a7c769a2ec6104281e75960d8755d00a12808ec9f2cbacc8604524a1dd70500083cdfeec8b04f218e63cdea6cd61dc771ec5cd86a81e8e1d503001886393b3b3b3232a2288a2449dca34f315d9056d4990280318600b0c8343b9896543adb9efd9310e2ba2e0540e0790021c6981d09613a4b94b6162a78a4f6faf02ab171d73cc7218e9d9dae69cbcbcb3ccfef7a567968dde7a669eaba4e298010504a755de7793e1008bc620fe9c34d7fbfb5e9cdb4acebd7afa73abbde7df7dd603068e8fae79f7f7eebd66dc334f3f97ca3de304de3ed77dec9f464eedcb973efde8ccfef3f73fa4c341abd75ebd6c6c67a34167ffbc2857024c2186d7979f9ce9d3b86aead6f6c0c0c0c96cbe54f3ef9a4d168f4f6f68e1c39623b8e8b7153d3eedd9b595c580c47c21313271fcc3db87af58a8bc9d0a03ef7606e6767a737d37be6cc19dd30ae5fbf562e958bc5e2c0e0e0aeb368d4eb535353cbcb4b88e3ce9f7f73606080e338d775e7e71f4cdf9d761c4710054992cae5727757f737bef9cd72b97ce5f2e55abd3e3030303131b1b3b373ebe6cd46a371e4c891f18989b9b9fbb3b3b392249f3a75aaa3a3e3e68d1bebebeb88e3befede7b9168f4f6eddb2bcbcb92247575778d8f4f1476766edcb881313e313e7efcf871c60ecd66f3c68debababab3e9fefc285b71dc7b97eed5abd5eebecea9a9c3cb5b5b595cb652b950a25f49d77dec9f4f6b282d86ab5fac9279f7cfef9e7f178fc5befbfefbacef56bd7b2d96c2ad579ead4a9583cce46cd7dfae9a7baae25e289ceaeae7bf766caa5725f5fdfc9c949d3302e5dba546f347a7b7b4f9e3c99ddda9a9e9e765ce7d4e4a9aeeeeeab57af9c3fffa620084b4b8baaead3346deefe7d4ae999b367a2d1d8e5cb972921e9743a10084ccfcc34eaf5d1d12327274f6d6f6f7ff6e9a79aa6999679ecd8b16795b278c5e27e6c8691cfe7e3791e00080025841886c1d407d8e396526a3b8e6dd900504110da46fa7ee111ef65d5f6c95c5f297d1f76679cfbc77ffcc7f6abc62a60189851402995655992e427946ed7ebf5cf3efbeccc9933e9749ae3385e100cd35c5b5bab55aba552f9f4e9d3ae8b575756385eb87dfbd67bef7d1d22b8b6bab6b8b80800387972727d7d6d6b6b6b6868082194cfe76fdfbed5ddddddd393999bbbdfd7d7373575dbe7f71d3d7a6c6d6db5542ad9b6e353d58d8d8d8dcdcdf36fbed96c36efdfbf9f4a754208068706a7676614593e71627c7afa6ea954dac9ef1042c627c673d99cac28434343ade72a2124bbb5b5b9b5393434dc68d4b7b6b60607074551741c67667a7a63637df2d4e4f2d2922c49c78f9fb872e54affc0c0a58b1783a1e0919191e5a5a54aa5323737a7aaeae8d1a34b8b8b8aaa5ebb76756060c0eff31986de68d44bc5e2c9c949cb346fddba4901dd585f7bf3cd378bc5e2c6e6862c4bd7af5f3f7efc784747c7cd9b37229108a3fe6b57afb261a98d462397cd1aa60120181818bc7f7f5692a495e5e572a9f4ee3befdab6fd607e7e6868481004c3306edfbe158bc7de7de7ddc5a5a5f5f5f54aa55a2957264e9edcdcdaac56aba9544a14455dd77ff98b5f442291d1a34767676709c1478f1ebd77ef9e655937ae5fefecea3c7efcf8c6c6c6eaeaea4e61e7d8d8582693f9e4938fd3e99eebd7aec9b2ec623c777fae56ab6de772232323b2227ffc9b8fbbbaba3efdf4d2d0d0502c1e9f9e9e8e4623bd7d7d9f7df6993f10b872f9725f5fdfd0f0f0fafa7a3018eaefef7f26d61f84d0751cc3d059ea9381bd6ed5bbb4f0f29b7ef57a5d14255996298500420a008048124596de65f635a1b452a96c6e66cbe54a43d330c6b6e318a6c9fec704b3a2e8b6608879fffefd7c3e5f28144cd35414e5e903508ee3349b4d41109e26af629ae6e6e66630183cd44998a7eff97d62e69752040125846d460921d84508c9b29c4824fafbfb0921b76edddccee512f1785f5f5f32995c5f5ffffcf3cf45495c5959b16ddbb66dd77138841af53a8228d3938944223d995ed33417171747478faeafad699ad61a62b9b4b408215c5d59d19a9aa11b0842bf3f403029160a8e6d43085d8cf3f9bccfe71f1b1b1b1a1cda58dfb06dfbb1b3a0d4e7f38543e152b1582c1425496a1dbf2c4bbdbdbdfd7dfd5b9b5b9d9d9ddddd5db22c954ba5f5f57508a1ebb8baae05ec402818cce7f318bb9d9d9d01bf3f1808aeadad25e2894c26e3f3f90c5ddfd8d828958a9aa6974be544a2a3b7b7b7d96c124276f23b954a399bcd020008a1954aa58f108cf1cece4e77ba3bdd9d8e4563d56ab5d16c9886b9b9b151ad541cdb41081d3932dad3d3e338cee6e626c1981d6d241c193d72a4bbbb7bfcc4895ffce217f1781c21b8b9b1a96b9ac0f38e6d035505940602fee363c701a55b9b9b6cb4b1a11bc542a1542efdc11ffc413c1ef7a9eaeda9db08cabd998cdfefbf72f972a55c1e1a1a5a5a5a4a5b962449d875777676144501801a866e184628143e71e2c4f6f6767e7b1bbbae6dd9a6696c6e6c98a6393a3a2acbf2d6c08020f0cfac6ce015eaf9c518dbb6adaaaae9e0a281250e6a2eb131490744411098cc018b36b8ae6bd9a6c4531934dc7aae7d0e219165894490d201f920800800d068343efae8a3e3c78fdbb66d1806ab4cb66d5b14459fcf57afd7590699c9b4f87c3ee68033d9985aad36333373eedcb98e8e0e4685ec30c2e130c6b8d96c420803810021a4d96ceeececdcb871e37bdffb1eab1756559509c0bc8eb13f4551babbbb171616128944381c6e341ab95c2e180cfafd7e84b8d6d398459d6cdbaed56a8d4683e390aa289148c4b6ed7038cc1e53082142b06d5b866158a609219465595595703802210c8542acfd50142500402412e138140a85144561a6ab20083e9f2f1c0eebba1e0e878ac5a26118a6691a860121745dd7344d269a8631ded8d8585e5e1e1a1aeae848e8bad12e93cba266ed7604424892449fcf1789442004a954a72008e974773e9fbf7cf9723c1e3b7a74d434ad070f1e94cb6559961dc71e19190194964a255611aaeb7abd5eb32c33180cf23cffe8c94993c924fb2b3ccf3bb6c386a657ab95f9f9798ee3bbbbbb73b92c421080872557bb6e32c77174dd701c47d3b440c02f4922c771a15088101c8fc75ba55808712cba2749a2aa2a8140a0bbbb2b994c66b35b966599a6592e97b18b01c776a8bbaecbfa3de7e71f60ec8e8e1e6d369b92248642214ac99123471445e6b8875698280a7ebfcfeff70f0c0ca452c9cdcd0dd33499d3cd715e75c181490f004045b73f5e6b180e2114c47d7c54844111b56a8f0100d8c5d87502422edcb808ad4d00dabb0fa05dea863d7f2e44df60f4c722d17d7d7d86612c2d2d150a85e5e5e57abd4e08999c9cbc74e9523a9d0e8542dbdbdb18e3cece4ea6fa2749122124140addbf7f7f6060209148148bc5cf3efb4c51946ab53a393959afd7b7b7b7799e4fa7d3baaee7f3f966b359a954d6d7d797979701008944e2f8f1e3a150e875a43f59964f9e9cbcf4e9a54f3fbd148944354d334d737c7c9c09e3b048b9a2a83d3d3db9eddcb56bd76ab59aaaaa994cafa6696cb1653219e6bf84c3614551e7e61e4892d868d403c1e0d8d871cbb22ccbc2182b8aa2a88a2449a3a3475657d76cdbd675239188fb7c3ed33434add9d999a294dab665db763c9ee0797e7d7d5dd7f55c2ed7dddd5dad560b85c2c4c404ab9f7ac8388e63db8eae6b9aa605020176b4a224b1e724f3051445090683c3c3238c4009a1922465b359c771545589c5621893b5b57536d31e00c0ba8e6cdbd1349d10120c06b3d9adebd7af2f2d2f014ac7c7271a8d3a6b38a714b05624766fadaeaedeba752b97cbc5e3718410cf738661388ed36834d1a3064f8ee398bcda232aa44b4b8b84e0b5b5f53367ce524a3736d6993870cbf78110aaaac2a6b8f6f6f695cb65d3342905d168acb7b76f7a665a55944aa5128bc5ebf5fa9d3b7728a5814020954a4108fdfe80e338e9745ad3b45aad8631d6755d9615455199d6662c164ba77b58e41e42984aa592c9e49d3b538aa2160ac57038e291ddbe8e3c42c8342d81922e195edcd6250e9d8e07058a5d97b6f766604278e808c6bc53bb47ddc6633b413c5486a1dc0510dfda5ed7f5e5e5650861341af5fbfd85424196e5999999542a552a954e9d3ab5b4b454a954fc7effd2d21221441084b1b1b18f3ffe381e8f777474844221f6dcaa56abe3e3e377efde9d9f9fd734edc48913baaeafacac148bc513274e40082f5fbe3c35356559563c1e5f5d5dedeaea0a068387cb007cdad89f28494f926d80d01f088442618c89edd8814070747434d3db2b4a52381c0e8642bc208482c1dede5e5956745d8f4422232323ddddddecdbeae8e8181c1a62e5e3a224a93ed5711c51947a3299bebefe743a6d180625a4b3b33393c9f8fdfe6834dad9d9c5f3bcaeeba15068786438180a22887c3e7fa6b797026a3b4e3a9d1e1c188c44a3ecb053a9545f5f1f42686565a5bfbf9fe379c66eccbe4b75764622d18e8e0e45510084022f84c2e1d0ffdfde9736c771a4e96566dd57df27ee1b2478401439e21ca119edec783666e7c3c6ee7abc111bb1e19fe0bfe27fe04ff63ac2617b771ce358876224cd4aab8b146ff0c0dd001a0da0efaeaaae332bfd21815213a048eaa04412f9048351e8a3aa3a2bf3c937df7cdfe74da52449ca64329aaeabaa3a3c3c92cd665dcf23242a0f0d8d8d8f6baaea7a6e1491999999c9a929ea89d30d7d6e7e6e6c6c1c101211522e97d39974a958a23e47cff354555d3877ae902f58b6cdf1dcf4d474a158440801088d440221e47a5ebe903f7b7621954a85215655756868289bcb150b8562b1a8691ac771ba61e47239c471102145515455c518978786ce2d2ca4d3e988802008f285fce8d8b8a2aa94232559ce170aaaa6a99a16628ca3687878786c6cac582c7abe07201c9f98989b9bd734cd755dc471e7ce9d2b140aa2281a8944b93c343232a2ebba2849d47c3e73e64c2a9dd6753d9f2f5022f47d9f00303935491bca711c4110464747c7c6c6128904fc2e3c4410c2300c1cc7790d7c7fd46cc738e4104a49b0a0709329613cc90b1c0280d07c3eeaa1b6ac5e64ae49dd8fc2de36f6310ea2f81fe1d3f2f0afe5dc8f203accafe8f7fbcbcbcb57af5e1d1b1b1b1d1ded76bbfbfbfbb22cefeded0d0d0d99a679e9d2a5adadad2008e23553369b9d9e9e5e5f5f2f140ab66d4f4e4eeabade6eb71b8dc6e2e262a3d1a0c9afd3d3d34110743a1ddbb62726266459dedcdc248488a2984aa52449a23b60af16fd3d57ce6f329932128967e6fc527b3e0ea1a0f98347ebd988865c5056a5a9337174c8c9c017ba2e8817a14110d0698ac6cad09913634c035f789ea7a98883971045913a0ae3d2a808c25eafd768362627a7a8273e7e97e63cd281048eca96d3a57a1cd541af422351e89dd0009d288ae8b5a882501c1442fd268220789e57adeedcba794b14c576a7333a3a72f5ea5545518320a01eeec7143b300ec3703006251ecc71422b7d581c4200c2c32747c86020cbe04906cf1c7f3d56d0a456067d6af447d18b0ede58dc1af498fe466a3ed3863d79cef84ffaf8be2bef3842c875facd66f3f5c8f9751cc7b22cea1d0a300604083c0721a0d203714c52f360db5cfb2758fd7de4b51e9f0c38a5742577f93f49d973f18bcd66f3dd77dffdabbffa2b4a6d4b4b4b376fded4346d7373f3cc9933ed76fbb7bffdedf2f2f2eaea2a5d6d388ea3aaeac2c2c27befbd37363676efdebdcb972f2f2c2c54abd53b77eebcfdf6dbb76fdfa62b1ecbb2680c53afd7b32c8b7a03e7e7e73737375555cde5726fbef9a66118af980dfe1dd2df2be06fa6e4f5fd0655d152093b3b3b8ee3c8b2542c9652a9144b5a62f4174591effb9ee7611c1dd52c27b4a0479c2d4b48e4f4f6cc8d77fdc61d12858fb5062feb233f494cfe0a09faa045d96c36f3f93c654fdbb61b8d065dcc518749a150e8f7fbad568b3afb68ab6a9ad66ab5144569b7db894422954a799e679a663a9d364d93da31dd6e973a4fa80c2a9d20138944b3d92484d06fbd72d19dcf497f49c34830c5976fd9d70f8d50467cdf86fe5ce7b5a13f0a9af54163ece932e8580f21118e029b60ffc4d845889711af80c77fecb170bc633eabc330f8133976b1cacbe067e82bf19f5403063c5e4b93befe8a26e4b15db9ef6fe832e26378c2083cf2de80afc8f98588e3a4af512be39971d14f7c716027edc9af0c12dcb18fbdbac1cfdf65ce2fadc5f78df37ce3620274267fbacf98ba96e89f54f8ec99cf80baea4ed69da289712422c7dea22eb0f8e750ebf8ab6a4b3ffdbad48718bbcf30c6dc51b42a75933de527134200846118a2a3337c878fecd83888e32de249fed06388107c92d932d83e0cdf6a15c6b40c5e66fa7b66bc69b3d95c5a5a9a989c1c1b1bfb06f7d1eff72db3274af2f6d6d6d0f0304de9fdaa41bb59a96c6f6df57a3dcff332994c369b3dbbb030a83bf64498a6f9e0c1830b172f0eea9701001cd77df4e821006061e15c9c138231deac540889262626e9083fa8d7777676161717bfee800fc2706b6b4bd334ba520bc3706bab323333abeb3a00c0b2edbdbd3d5a74e6e4777ddf374d5396e58d8d8d6432393434f45d312021a4dd6e238468a00321c4b6adbdbd3ddff3755dcf170a3ccfefefefb7db6d45518ac5e2b11aaf5114adadaf0300e6e6e6beb7ceca04d7185e46eb2f08826bd7afafacac94cae546a30e01e4054192a46eb743774e5455ed743a1863c7711485561af593c9a4a669745ff5c1830777efdc7ef3f29507f7ef7b9ee7388eaeeb89448210d269b71dc7d10d23ceb0310ca3502cd6f66aababab7ff3377fa3288a6ddba669d27a0594160dc348269318e376bbedfb9e61244cd3bc79eb6636971304ded08d543a4d87fdcef6f6471ffddb9933f318878d46afdfef1bbaaee9faf6f67618864343c3dd6ed7b6ed5a6df7d1c387e7ce9df37dbfd3e97008d13358968931561455d7751a1347dd37fd7e9f86c877bbdd7ebfef79deeaea8aaa6ae572f9ee9dbb922869ba9e4ea731c64ebfef795e1445aeebd2c8182adf1245d1cececef5ebd766666657575773b96c18868aa2e4f37984906559dd6e5796a56432157bca7bbd5e10048ee348924423c9bbddae69f654554b2693411090289264d9f77dd771feeda38f389efbf9cf7fa1ebbae7794b4b4bcb8f1ee986e1badec58b176459f9e0fdf773f99ce338c3c3c334f3973eeb56abe53ace8307f76559999a9aa25b818a22a75269dbb669e4390da51678de34cd1087c9648a3e6b36e4bef1741507a5a123b0667929e8cfe9f7eb070711c6fd7effd34f3f29168aa5520947d1fe5e2d22c4308c3716dff8d39f3ea0abaa5eaf974c26c32028148a171717755d0f83a0bab3b3b3b3333a36d66eb71e3e0c76777765457ef3cd37bbddeedaea2ac65810c585b30b43434310c262b1582c163b9d4ea7dd397ffe42afd7bb76ed5aa7dd9e9f9f773d77afb60700880879f3cd4bb6dd5f595e2680d00835a7dfbf7bf70ecff310801fffe4a7d94c268aa266b369993d12451b1b9b9b1b1b00004114a7a6a6684cccf6f6f6c6c6060e83dade1ee5b2f5f5f56ea78d311e1d1d4ba6929f7cf24932993ab7b0a0ebbaebba0f1f3cd0348d17849b376fbef3ce3bad56ab56ab093c0f11acd56a022fa88ad268d497969604415035757676aedbed2a8ab2bebe6ef76d8ee37ccffff55ffc452291c018b75badad4ac5d0f55eafdb6eb7fbb6edb8ee952b3fd275fdfefdfbfdbe0d219c9c9c9a9a9a12040187e1b56bd7daed962cc951149d3b774e51949595e57edf8948343b33cb71dccececed0f050a3dee078be5aad46117ee38d37745da74f707676f6fcf90b1f7ffc31a5fe6c36f3ab3fffd5e6e6e6dd7b772dcb4aa7d351142d3f7ab459d92451b4b6ba3a33335bdbdd5dbabf1406411886e7cf5f68341a61185efdf18f2b95cad65625994ceed5f668bace1b6fbc61bcacf55e5f7eeea31a48344489c68d51f5d3939e1c9ad08610278a4c3beb1940cfff049ef24f5194542a552e975445595f5b4ba7d308a1d5959552a934373bb7bdb555ad56971f2d8b8238333dd36ab6444128168bbbbbbb66af0708e179be50c86732996c26cb717cb158989e9ededfdbdbadee7efac92718e352a9dca8d7efdf5fc24789ae4769a40410e27bde6eb5ca71a8542a7aae6b1846a9545c595e5e5f5baf6c6e369b8d742a050809033f8aa262a170f1c2c566b3b9bdb545084110a652c942a19048246fdeb86118c6e2e2a2c0f3b76ede741dc773ddbb77ee48a2b0b8b8a8a91a0ec3ddeacecaf2723a9d1104f1ce9d3bd59deac6fa7ab954cae5b280100461b7dbd9dedede585f7f707fa9bab373f7ce6d1245f5fa81eff99974ba542a26120900e0d8d8e8993367d6d7d6f66ab55a6db7d3e954ab55599217ce2eecec6cb75b2d4008875032992c148ab95c4ee00543d7cf9fbf4022727f6969f9d1a3dd6ab55c2afb9e777f69a9dbe90042a228dad9dec661383f3f1f45786d6df5e6cd1bdd6e776868c8f7bc1b37bec018572a95f7fef8dee6e6a6a1ebd96cb65c2e1bba0108a14e053af30000200049444154318f9665359b8d66b371b07fb057ab150a45555593c90420c4b62c4088659a4b4b4be954eac2850b822050739e435cb1583a3838d8d858e738eed6ad5bbd6e777d6dadd9686e6f6d753aed542a49230ae2acea6ffeef54721fcd98a43e62bacd1d86a16ddb71f9ddf8b361e0375bedfd8346bdd1ecf67a967d08cbb64dd38cebfc82c3806aabd56af5fb7d1ace19bf4b033f689ed520f93e4fbd4a42c889bb7addad3f4110344d15455155554dd3e6e7e7abbbbb10c2d1d1b1542a75f7eedd6eb7c371686a6ab25028168b85a1a1214551f6f6f6300ee9de452291d4349dae58c7c7270a85fcbd7bf71cc7d9dadaa29b03beefe328a2e277276fc030f4b1b1f1542a4d0868341ab64df569c8f0c870b7dbd9d8d89024d93012aaaacecece2512094dd35dd7a51bf9aaaa26120941e01dc79999992e95ca8ee3acafaf2384300ebbdddee2e2e2f0f0c8fcfcfc175f7cd16e77aad51dc3d08fb65f22c330e6e7e7a93f5114854c26b3baba1686e1d0d0d0dada5aadb677f5ea8f6fdcf8421004555593c9a4aaaab95c96c6cdd30a5e74b721954a8e8e8e0e0f0f2b8a4223a2e3643b5dd7755d2f954ae5723997cb1e1cd45dd76d341a3b3bdb9665d3844ddae124491a1f9f181919a95677daed76a3d1e4798ee6304188d2e9743e9fffe4938fc7c77f3a3c3c5ca96c4a924cef5c55d58989c9e5e5e5dbb7ef349bad5c2e4707034dcba349160000d3ec8561383a3a562e97272626e80688699a74b40441303e3efed9679faeadadededed5dbc781140b8bcfc687d7ddd300c3a9618be2e30c6aeebd124a590400f471acf0110799eef791edd38fe927d9c8a6cdf10308610028f0b8f16c8904fb682914c7e249948d073562a159af41604015d66f13c3f35354508d9dbdb0300ecefef8f8e8ee6f3f92008b6b6b60000d3d3d371d43d38aa0a428fe3e018cbb2eedfbf7fe1c2055555e3a8f8d77feb237e1722c41d252d789e67d9b6e7798aaa218ee3789e0000110711228fcb081e252f1c9a2104403afe75c3189f982897ca5bdb5b997406711c79d28d418410c775bbdd6a7567746cbc5028acadade3880000e7e6e60900376fde68341b04008ee7c0d156fde03d70bc4000b0ed7e18863dd31445511078000844b0dfef8718d7eb758c4349920ac5e2fc99339665db96252b4afcbb000088e30bc5d28d1b375ccfbb78f1e287fffa612e974b2493e4e856698c25c7f187024703bfe2d09b032138bab7a3af44110108419ea7df82104255550bc5c2b9f3e76bbb350080ac28f4840821c47100420020c7f3b22c170a85b9f979da7d8320e8743bb2a2b4db6ddbb609215184a9381cd56a2d95cbd96cd6f3bc62b1e838cec1c17e10043dd38408a99a4600102539c4a1e3f4832068b5dba2206cef6ccb8a3c373bd76c3620429aa68d8d8d7ff8d18799747a7878b8de689c3dbb1006c1f5ebd73b9d8eac28b498ec37defa386de6df51661156140522b4db0bfeb5d2bb5450160aaa288abeefd1c4a778f011eb215fff1f1cc1c74625d2267dfe6fc3e05038bddd6e2f2f2fa7d3e9a1a1a1cdcdcdd5d555c7711a8d46a3d128168b94d43637370dc3304db35aadd23abfd423b4b5b5d56eb75dd79d9d9d95246965650500303636268ae2e6e6e6fefefefafafaf4f474ad566b369bd96c96bef53a5b7f00004110114488e31445e510caa4d3b22cbffffefb3409ac5c2ed33c1e3a89711ccf214e1425840e4d394996f7f7f797971f711c421c8710122551d3f5858585959595dddd9aeb386363e383ee5e5ee06559a12c298992c0f3822886182f2f2f6f6f6d9996b9bdbd2508c2caf2b22c4b5114e9baa1280a840800204a62dc691042a2282693c999e9e93ffde94fa954cab6ed8b8b8bdd6e178761a150bc71f3c6eaeaeacece7622912c148b5bdb5bb76ede741c676a7a465114e5f11de76c369b4ca579db1e1b1be7f94f464646789e974489c6e8aeaeac864128083c828896daa2f20a3ccf0ba2c8711c04403e126d0600f01c6799d6f2a387aee7f1024f1bd3308ca9a9a9cf3fffecb34f3feb3bfd73471bd610027a2afa315d374ac5d2a3e5473dd3acd7eb57ae5ca9edd5a228fac52f7e51a95476aa3b08714bf7ef4f4e4d4f4e4e228ef35c77e9de5d5996014423a3a33ccfbdfbeebbbffffd3f3bae3b3f7f86ea3224128952a9fcf1c79fe8faddeaceced985059ee32b958a6dd98d4613e3c8eef76766673ff8e0fd371617355dbf7ffffe6665531404411410c75dbf7e6d766676687898d9745fcbfa8bc5af5212e220f8af37f7fee31b85b9824a533f07e39cb1dff77bfbe0449d5f029381e286e1212dd6ebf5288a2626260a85422693e9f57a9f7ffe79abd54aa552cd665396654551e80ee4b56bd7c6c6c61a8d46fa488df8b3cf3e93240921d46834128944bbdd360c839609b66d9b6e361e1c1cdcbe7d7b686868696929361b5fc2b67ddeac0f4d379e9ef5d1ed760921aaaa369b4daae0645bd6defe7e1445c562d1308c838383782f924a83f5fb7d5dd7e9d0f57d7fab5291244951555dd7054168b7db5408b756ab75bbdd52a994cd6607e98fd6932f954a74fd2589a2a2aa9d4e67af5653354d9224dbb6878686f66a35dbb6f3f9bc914898a699cd66398e6bb7db54018d4a51599645033b6ab55aafd7cbe7f3d96cb6dfef13421445393838a02f124232998c699afbfbfba22896cb650861a7d38915abe874dde974a228320ca3d56a69aaaa6a5ab7db15451163dc6c34e83440778da93496effb9224f9beaf288a2ccb070707c96492c6f1846178b0bf1f048124cb8661a8aa6af67a21c68944a2d3e9ecefef2713897ca1405de0349685ba202ccb2284689ad668340e0e0e72b95c2e97334d935258afd7a3db5034133e914800003ccfdbdbdba34d4aa361badd6eb55acd6432f97c3ede5cf67d7f6767c7f7fd4c26230a82208a74ada4ebbae338b95caed56afdfe9fffe9dfffee3f148b45aab5e3fb7eb1588c87cab1c0a3afe1a846c8f3dcd6eb95f5f14cebcfb22cd7f32449060074fde8ffac74570ffaff70313b955520c134652dfebde6ca7f6bdffecf27e94f4ccdd58c7f288d5f2a974b00807bf7ee6d6f6f5fbd7a3593c9d8b65dafd71f3d7ac471dcf0f0f0c3870f8320c8e572b55a2d954aedededfdee77bffbfcf3cf1142bff8c52f7cdfffc31ffe303f3fafaaea1ffff8c720087ef39bdf0882f0f1c71fefefefbffdf6dbf97cfe5ffee55f128904b501bbddee850b17ae5cb9f2726ec27c67d65f2cf5552e97e9816e18330329d0a55229b68fe8c160a49e288a33b3b38327cce572f4e0ab02090dc3a029d63ccfd3a90900904ea7e3638ac9a9a9f85855557a90c964062f1dff3978adc4d136e5c8c8c8e0098f5d22fe5d87f30984f1bbf15bf1f98f09a2e5f3f993bf8bae3e0e1f0fcf1fb395124767a08c76ecd2f185e29b2f954a275b3e3e48a552f1d725491a1f1f7fca2f8d9b6b6aa049e9dc1e1fefefef7df4e18773f3f3347647d3b4999999f8dd42a1c0acb9af3d44791e785e10f884809a890342fefe6266c4e07018f01c3a16871f86c4773139417fd08f023f8c221277c8cdcdcddddd5dba55e5380e9d518e69e7a8aa1aab73c63d8a0aedf0479a49bd5e4f966584109dff3a9d8ee7799aa665b3d9a9a929d3348b54d0e8d55efcb23abf0ccf015dd37ff2939f148b455110befb0e73faeafcd218179ee3c21023844655549ed66544208920e0068b8e1f1ac8429ad3e79f407fcaa4ac1a8228c4f3d0e8e8e8eaeaeafafa7a18863ffde94fa99aa9a669c56211636c180642686262a2d3e97cfae9a7beef8f8f8f53e3ba5c2e1b864127cb5c2ef7e0c10355552726261445595d5ddddada4aa7d38b8b8bfd7ebf5aad4a92f432c77b3ef7e257d399e401c30f0b8490e779add6295afc82a35012c771e8714400821021487dd654b3f24bebcfa9fbbddd93130f12d490cf4baa1e3b31c230ec76bb8ee3a452296ae551cb2e8e3ac0188ba24883fc354d9365992a875325470821557e6cb55ad49ca48e204208a53ccbb22ccba2710baf36fd2518fd31bc34f4d73e65f4078e12c37ddf8fa288c698d0527027e561187e18df1f0303c38b5b020b82404579635d5e467c8cfe18184e11091e0b7266f85ee88fb0ad0f86976211789a3be1602619138f60d61f03c36901ad104bf370e9a6070d3739c9837120f44b9e70f62ad11f616a6b0c3fb8f9735a7f381538088220ae20665996e779b460f4e0278320383838f0834014c5542221cbf2a014fe49423ca68ccfe88f8181e1e5b2fbfafd3e21c0300c02511811112142b0e338b66debba3e90504148d0447e850f4312c2ae872c78542f1849a6a7158be5387ad9f33caa8c49a5217ddfa771ce54328b32a92ccbb4a41f0dbb89ab4b3ffd6e690ed52ba1b5c5e88f81e125367809098200632ccb0a42dc9e1ddcabf7cfa4a5a18424cb8aef7b5405ebcb2f746e68f5ff0ec871711d4e9de8a2df06c1619a90effb0f1e3ca8542a0000c7712e5ebc68591684f0ecd9b354e51b63bcbebe3e3737572e972dcb5a5f5fe7386e7171111c9627c61863ca8654a95796657adce974ae5fbffef6db6fd3584251144f969760f4c7c0c0f0bcd61f0000c2c34a2c8f1acedd9ddedf5dc817750142444b5a1ff10bc47ecf6baf9fccf9e5b0102a0ec687afd7ebf5ededede9e9e9f1f1f1f5f5f576bbdded76f7f6f62ccbca66b33491aed96c5a9675ebd6ad4ea753abd54646466874f0d2d2926559340f4496652a0d572e974551dcdede6eb55a6b6b6b972e5d5a5b5bebf7fb894462727232f1b2cadc32fa636078a941f311428c01c0128c1202bcbeeb1ef4dc8c02013c5ec7320c23d7099e207920060117e0a3cc8556abc571dcd0d0906118e7cf9f775df7bdf7dea3bb2b8f1e3da2024818e36eb7fbc5175f5cbe7cf930e21a802008eedebd9b4aa52449faf4d34fa9368c6118b76edd0ac390ca79044150a954ae5fbf3e3a3ababcbc4c08b978f1e2cb19a5f85cf4470e2b0db0cd0f861f7825484edffe075ddbfa7e4008d9efe33e8e7e339b2ceb280c4284a0f0f8d6070e23bf1f9eccf905521808619cb8453d7a5496b956abd5eb75aa6431323272fffe7dba9e0500f47a3d5114cf9f3f6f9a66bcc45655756a6a4a55d5cdcdcd6eb7fbeb5fff5a92a4dddddd46a3313b3b9bcfe7b7b6b66ab55a1886b4d6cdab2f777a9412c74620c30f4b80a72dee8f863a2384228c21843a477e5292cb0a1211018420888e79d60894239024277c7f042420e2d1d14e483e9fdfdcdc5c5a5a3a3838585b5b2b168b822008824073e9082154d625994c866178f7eedddddddd580c89e69f50d9fd542ab5bcbcac699a2449e572b956ab1d1c1c388e532c16ebf53a55b44ca552af81ef8f4016fac2f0c372c1a9fcd58220c8b2ec380e84302972ba4010041ce2a800f8b10d56ad7c95fb69e609be3f29a10ba3aa71a896964c26cf9d3bb7bdbddde974c6c6c6666666daed36c771baaecfcfcf4751a4aa6a3e9fa73a8fa669cecdcd0d0f0fd3dcbbb367cf52ffe0952b5792c9e4e6e626c7716fbcf186288a954a250882b7de7aebcc99338220789e57281472b9dcab2d79904ea753a9345bfc32fce0a6906ddbf5fac169933c88a288c63c4784d0df468d2f6aaf3d6ea5444f58f9d2b9034200be6c197ace288a6803c6253be2035a7902634ce30d29d5127258f91e00400fa8540cdd7e09828056e3a1456c30c6f4e4afbaf50711428cfe187e70fa3b9d21ba54589496d6a3f58362ba3f39522144cf79ce41bde1d88a3cc6a708a158232b5e8c0f7e7250bb9b2a629d3c7e69f19cf4775867908d40861f16a7b60b4208a93f8ef581ef9ffe4e69d61b212f76cb3b56157f7ac38718bb7ed0f7c200e3d7e6214000788e53445e110581e39ed7ac635330c30f407fa78ff8a80f9416f37d316e770221e4389e3a719e488211211dabbf7ed05969f4767a9ee987d1eb32fe11009ac0950d692aa3cf9732d984ca04ec1818fdbd14dce77aaed37708213ccfbd2069494200c6a1e7b98eeb28b2a228cab1ab6012d53bd6c72bbb5fecdb4d20625187b2005e1fef172161b8d674efd6eb8b8ddecfe786470b2978fa7677e996238d8f434778629f64f22d3f18fd9d22df1f01aeebf6cc9e288a9aaaf1bcf0e2ac126a633a8e63f7ed8844aafaa5054408699bfd7f7db8f3c981d71392012f460492f0757a041002118a4240944f1bbd6e7ffdef7f7a26a5aba767f54bf3791dc789a288eeb7d27d06599607755cc230745c97e6f6aa8ac2e44e7f08ebefd4f8fe8220304d53e0054dd5d0d14eff09cec21002aa3ef4757bfc31a94a84102dbfe9380ecf719224d3b7c3307ab053ffbc66b5c5b40f041c3ced01408215a7cd876e04902728819c00f0d047ce615ff44d4f4e4547afc028e4420f7322e184c74f12499ec961cf9593300a65dff445c317b4173bd50010400e8bc9bbdde6678fb6feece28c786a8637c6d8b66d8ee3445104001212618c692686a6698713212161e0753b6dd7f3788e735595d6c506873930505594c10d5cd775efdebdebba2ecff3b49c5bfcf9e7e9f99ee7298af23c1b2c8ee354abd5898989579a8ed94c729c9e6cdba6f93a84101c86c73e60f79da587cb2beb1b3ccf5d3a7f7e6a628ce33942081a28734ef98b0030f87a44080460737ba7d9eecc4f4f19fa63b4220a82ef798ee3f2bc40fb93e307372a8d032cba117a66be4d5242bf7b635c45911be28eedbdb7d36ffa800f9d08f1f9b4f1cbf9917f5eb74dcbe2b18b9190d5a4b91cbf6185bbb6cf851e01201435c0f12a8fde99294e1bf00f1b765a12df192bfe69d7bdbed3e542274202e6242e0a10f6302f459c8402978ffc9093225e4281cb4501e6c48813b9c085248c2022bc0c48c4876e84782c28003d6d4485101029f9c5d6c1c571ab9c4d3db7f5085fe99ed6eff7218492248700f4bc48e2385d1131c6aeebf9be4f498d101f390f0dfb9a1a7a1042e4a22fd50db8acc52d003232487f9665ddbc79737171d1f3bca5a52584502693314dd3300c4dd37abd1e008006518761984c26a328f23cafdfef6b9ad6e974eedcb9f3d65b6f954aa52008fafdbee77900804c268331ee743a08a164324908e9743a8d46e3f6eddb854281c6082793c96f5cbd9e2d7e5f22478ce77982289023a58dc7a7eb68657dfdfd8f3f191b1e362dfbe36b5f48b2d8354dcbb427c647459eaf375b7dd74d187ab95868345bbb7b07855c7674b85caded379aad7c3ebbb1b5b5b55d1d2a1654453e7672c471beef8738e4780e00e078c14ac3f29492ef3f7bb7030a68349bfa78bb57b3a29f8f642ef964b76d2e640dd30d9a848c6692e26af74a2a9c4c19fb56c009e8e753b9cfaadd34e8cda45500c847bb4e2d500102494d992e6a43fb7e5e17260a995bcdc6a2e6cfe7124d377850b7c7b3d2442ab9d2f21e75dd4b79389448563adebdb6b358e04774a5d2f3d77beee2b0a4f25244c8ed0ed0005ec86acd7ef845db6f04c2d3b78f088475cc559bdd6226f155bcf63ab9bea8ac9e61242084a68b3fdc36231cfd7cccc8a98220e020080e2b58124cec7552ff7f30b401005f0634431429b391510ab4d2b10e4c08999f9feff57a376fdedcd9d9b973e70e8d4cbe74e9d2071f7c502e978bc5e2cece4e1004a3a3a3beef6f6c6c689a0600482693f7eedd9b9a9a2a168bcd66f3fdf7df9765d934cd1ffde847bd5eaf52a988a238313141edbe56ab6559d6eeeeeebd7bf71042f97cfed2a54bbaaebf3ef4074f5f98298e70100682288627ec3e0080e7fb959d5d04e1cfae5e9645d9b2edcad6ce27d76f789ea7e9dad4c4d8f55b7752c9040260767aead1cabaa248ed6ef7973ffbd9071f7f0201546449531502401086e1096ee538d40f8320086800bde37b077610ca9c173cbbbe68204411896a3df751ddbe90152f8de6c613a2d969cfe6f4225078088655f1cf26120f2bbbf3d954241b07811800f967d34a63ff20adcbbf9ccafe97fbb60f91e562cbc72306c771b0e3842a8afef2dcf0c34a6d5457cf96f338f03a9d765ee2484e7f7b3af9c583b5bc660c875c828ff828786b3c37e5039ee36feedb7f7b360f76cda210b49acdd9b46a73fc875537782a8d0710f491d0b6fa346de099dd32ee99af6817a5f22a1c87088974019414fe7fdead133ffccbb31991e35cd73d6c0742c2c0f7ac6e14da8fb7022291e94bbe74c23353abd5fef11fff91e7f972b99ccfe7e95ecae79f7f5e2e976ddb9e9e9e5e5959a1a6dfe6e66618868944e2f2e5cb7ffce31fcbe5f2c4c404cd51731c2708829ffdec67b76edd7af8f0a1e338972f5fb66d7b7373b3d168bcf9e69b7373731f7cf0c1b56bd76459ce6432b55aad542acdccccbc5a8f837fe6b2024208003c25be3f9af477d2df77f86e88a3084300088e82c0775d0763ac6a8ae77b0707f5422e5bcce6deba7ce9f31b371faeae0b3cff97bffa65abd3595edd3868342746472cbbef0541d2306876e149730087380c42dace24220413ec638c9fddf06118e10820c794fb5d25d2bd48d6352d08f076cb0c45389627ba2a27755dd092d59e1bda3097e2082186a27aa9d441cf3a70cc300421170538aadbe1902137bdc8f4b1aec8494394f5e4be656f347633ba3c9ac988aebf52e93dd872e62646fa8e57b59ca4a224745955d5140f6acdcec6ce813991d02431a32b96e3ed59ee7ec70b02f8f46d1b0840c8611091a7f5b4d7682ea643ccf57c124576480e2cd79050564181ef23e1cb8c0e42000e22cfc151808fb97b01c24110e2c7ab6f43084ba5d25ffff55febba2e8ae2dadadae6e6a6a22874b52bcbb2aeeba669f67a3d08613299a4927c549c9926ab1d5d97c8b29c48246459ee76bb54cc8a2ac15085415a69a4dd6ed37414c3305e39d3ef69d6dfe9dc65870044511404c157843a937c26f36079f5daad3b3dd38c22e2ba2e0e71219fab867b1c4282c04312091c27695ad7349757d6ebed96ae69c55c76726c5492c476a76bd97d1c4527ad4b424844a2b8d5790e6544b0e37901e19f497fae0feba677a9289fcf8a0114ffef83c64c9253021b40a1e9c2ddaebf56ef3fd0a163590127b543a4ba5ee8396b0d18d91624a0138a41e07810746c7f9590922e543a7e48bcd5bacd85be6d5911e190960e6150adb7b554d648204de3972b7bc3c3434652e604dceed91e11d6daceb446fe6c882f6ac2b55dd33431e73a5e84fa11e707fed323b6790425e01a72eadb73ca2b019a7316f83e01a0ef47220ffeddb4319b14208930065470f468d205be4ba2638b0008a048c210478fd31fc771d96c369148288a4208f17d5f55d5542aa5280ac638954ae9ba3e3b3bbbbbbbcbf3bcaeeb82205091be4422218a22c6b8d7eb150a054110128904c7719aa689a2d8eff7efdcb94317b992246d6f6f3b8ea328cafcfcfcfefe3e3dc3f348e1bfecf4776c5971747c58e9f2f5a73f8400849ee742a83e9101c746862f5fbc50d9a90a82706161c6f3fcf5cab6240ae954b25c2ce473d98461cc4c4d260c7db7b657dbdf3712c6f9b37380904eb757c8e586caa5300c454108c3e3d65f18f800008ee3693b2b223f99966b0d3b823a7ed6f2b71b45ffebf67e5211420caaddfabee56f1ae26446353d5cebd98feafe66dbe9f583b174aadef1ab3d33a70a104027ec4e64d43022776b56e8630b479f6f76050eca3cd7f5c284c875dce0d60e9aca26da7d7fbb63951352d948d656fadb1d67abab948ddc17cb56b5eb8fa76591e3fbd52ef6fb7201254471dff4efefd96d27984ceb1d27586d3a9e8f9f4a5b40e6a382e497330644f0ab7a1a0110bc162b5f7ae78aa2d8769fe3b8a4807e941721000202080208a0140b38438ed386e4fc5b51e81ceba9501be55205f5f10d075dd7af5ebd4a777b2184d3d3d31042d775df79e71d4dd3a6a7a729fd49921486e1c8c808388a3db872e58aa228b22cd338846c367bf1e2454551e6e6e6e8dcbcb5b52549d2d8d818c6b852a920840cc3c866b386610441303232f2d24a3a3fed291c537ca1c62dddcdf13c8fca36a452a94422119d02c9830847fbfbfb96652592898880273220c611ad0b238a2200c4f37c8ee3000108410200c7711863fa7f1004a228f03c1f04411084a2204004a998da63ee050001004edf1645315fc8d35c71c7f33ebcbdf2bfefd537fca485b9676e7f407018104d3f0901400846841002d091cb1c214808dd9b068000020042101070ecc9d277c1d11a74e05b101ec65b0008018290101291c3eb4200b29a70b9ac6614d8f6d1471b5dcbc35438843cebce15448a7cefef16f43fbf744655bfd2884008f5fbfd56b3497544681d8958f16550eee595a0455ac388d6a5a46d8410420852259b38f0250a6cec9b27755c201208af73bc74cc553a18201da76c1e9b30625997f8c5634584e36fc5afd3032a7d125fe2f0f9d2bef10a4e45fc139dca68005fb6e629f0fd4108755d372dd3b26d5996c95730a0280ab467c6c7f14826244208d2ff25490447ba40f4180c680a0d8eeac0f7c3304ca692022fd0769678e1dc7871b76ddb1bdd90e836e6c3973edf77d7c78d9ecf73d00fa3e7bc5b04a1c2930ce9be998157e7c7155986e0ab85250980001e13b61ac4abd5d9a8be9ee779b12784aa8d3e96010921127524ea5fab0f3f713177accb3ddd6f70d2be7ed2a2f0699778b57d7f4773113a55d93674499249671a8d060e434992214200c017a17a000f6d30d2779c300c92c9a4aee971532384f2e9d4cf17c600a97c5a695743d104621071d1cb3d0b4518f8cfec58471010d16190e7fc9f8cca6f2f8c6653c9e749b039c97daf747f9365991a80f188030cdf33fdc1afc0a1cc1f84e470b5f4fa83e3b9443211e2b0d56ab94e87e7798e17d00b196230c441188610c2542a95c964445100f0cb7616047ea498fb95c08da46bf7ab9dddaeed04247a5d9e028440e651c910668a99c5a9a1522ecdf1dcd3fb1801044270d2ee7be5bb1c93b17a79acbf634be0c1d485d3d2283c9fc9646459eef57afd7edff7dd63cbd5ef0408425e100cc3a011f9a2289e94331004be94cba40c7d61a26fda8e1f0461f43a545c810020844441d055d9d0545591f9e7a48001cfcc13b98fe902307cdbc5efe0d4fa0d325b5f8325b02008c96452d775aa79f5e2a6fdd86dff94cf68aaa22a7231475e040bff80f806c2f4e871c7f4130d40c6800c5f83fee8f6cdb1052fed5e1cc751299ed359e8928a8c7f0fb2ddcfd3b6742a7afd1af9f9fb551445746ffd890c084fad163ec337a6bfc1bdedc10e44cb9ad0b7428c51183e79ecb102200c2fc6027f22fde130a4f9094fae74c1c0f00d16bf83bbda71684fcc8011c681ef139e0747615f878cc96a9f33bc20f643081c06331e820080c39046111d033895f9e90cdf19fd9d5c67d15e15af7fc330a421d034343a0e96a6f4772c369281e1eb5b7b8fc597c5abdad80973ecffa7f8fe1818be36fdc5dd6ef04f9a7b48dd7fb11e37a33f86ef93fea84056aa8c000001d749444154d3f389f43768fd311b90e19bd0dfc99497c12e78ac6fc5c4078e526762d663dcc7f0ede90f7c4514ea31fa8b9971b07fb26664f826d65fbcf93b98be3798df1713df20fd9d643dc6800cdf92fbbe8a0163ca7be2862fe33e866fb5f81dec8883f9cce028893a16023b56fd96511ec38b20c4b8cb1d234116ecc2f09d75b363b6db20a9c5dc171b7df18297d97d0c2f7afd7bcc157352d0e5989f9af120c3b7a2bf93bc36487627898f511ec38ba6c241fa3b691532ee63f82e17bf719f8b25284ed21c5bf632fc8096e053b4981818be95f5f7554bda279a7b8cfe18be07fa7be20a97711fc30ba1bfa7332003c3cbb0227e0a5132307c2bfa7b0a1b7e9bcf30307c2d8befdb7c8c81e1bba13f46790c2f27153230fc60f4c7c0c0c0f0ea82151660606060f4c7c0c0c0c0e88f81818181d11f03030303a33f06060606467f0c0c0c0c8cfe1818181818fd3130303030fa6360606060f4c7c0c0c0c0e88f81818181d11f03030303a33f06060606467f0c0c0c0c8cfe1818181818fd3130303030fa6360606060f4c7c0c0c0c0e88f81818181d11f03030303a33f06060606467f0c0c0c0c8cfe1818181818fd31303030fa6360606060f4c7c0c0c0c0e88f81818181d11f03030303a33f06060686d702ff1f8c1a01100076319e0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Design examples of jQuery Mobile for desktop environments, http://jquerymobile.com/designs/#desktop}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The accordions, date-pickers, sliders - everything in the desktop UI is re-using what jQM would be providing users on mobile devices. By way of example, adding the attribute {\f1 data-mini="true"} on components will lose the clumsiness of the mobile widgets on a desktop browser.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 See http://jquerymobile.com/demos/1.2.0/docs/forms/forms-all-mini.html, Mini-widgets for desktop applications by jQuery Mobile.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Thanks to some media queries, the desktop UI can make optimal use of whitespace, expanding component blocks out and providing alternative layouts while still making use of jQM as the component framework.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The benefit of this is that you don\u8217't need to pull in another widget framework (e.g., jQuery UI) separately to be able to take advantage of these features. Thanks to the ThemeRoller, the components can look pretty much exactly how you would like them to and users of the app can get a jQM UI for lower-resolutions and a jQM-ish UI for everything else.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The take away here is just to remember that if you are not already going through the hassle of conditional script/style loading based on screen-resolution (using matchMedia.js, etc.), there are simpler approaches that can be taken to cross-device component theming. At least the Responsive Design API of jQuery Mobile, which was added since version 1.3.0, is always reasonable because it will work for mobile as well as for desktop. In summary, you can manage jQuery Mobile components to give users a typical desktop appearance and they will not realize a difference.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "http://view.jquerymobile.com/1.3.0/docs/intro/rwd.php"}}{\fldrslt{\ul
+Responsive Design with jQuery Mobile
+}}}
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Also, if you hit your limits of CSS-styling and configurations of your jQuery Mobile application for desktop browsers, the additional effort to use jQuery Mobile and Twitter Bootstrap together can be quite simple. In the case that a desktop browser requests the page and Twitter Bootstrap has been loaded, the mobile TodoMVC app would need conditional code to not trigger the jQM Widget processive enhancement plugins API (demonstrated in the {\i Dynamic DOM Scripting} section) in the Backbone.View implementation. Therefore, as explained in the previous sections, we recommend triggering widget enhancements by {\f1 $.mobile.changePage} only once to load the complete page.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 An example of such a widget hybrid usage can be seen here:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000003b3000001a808060000009490b21e000080004944415478daecbd77981455a2c6edf7cfdd9befeedddd7beff7ed8decdeddbd1b5c774d98155159c588615514141141105050144140328a029225486672ce39e7d893677af24c4f774fa7e93ce1fdcea99e196618e2084c7adfe7f93d74559d73babaa8a93ebfae535537ddc4300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc38c487e28f88c104208b9080ff2ab926118866198d12ab3c5cb962dc39a356b08218410855e91f517fc659c7effdd2e00218490116713958cf93ea91501c3300cc3f4a5f7fb217e1c9f999df5939ffc0477dc710721849011421c8b8fc8e331758ca1cc320cc33094d9ab90d97ff9977fc1dd77df4d08216484a0cc322322b385a757e1d65b6fc5fd4fbc88aeee1bd7b98a3ff889f2be77def5151cec6b320cc35066bf87ccfef4a73fc5e4c9930921848c1094598632cb300cc3506639cc98104238cc98a1cc8e66996518866128b3d752666fbbedb621c8efb75ffffad7ca10b8871f7e18d3a64dc3830f3e883ffce10ff8fdef7f7fc13a841042ae1eca2c332664d66eacc0f6ad5bb155e104da2f58ca89c8be3247a3e1821b09c7e4f417286bb729252a538395e55f7c192f96ca18714696dfb11f5631551d73b4f73db62253cbce28c3300c65f6e232fbe31fff58f92e1b8894d53ffde94f78f5d5573163c60c4564a5d03ef1c41378edb5d794e9dffdee774a99f3eb124208b93a28b3cce896d94e23ce6e5e3e74e7bd7f3afca22bd057b5d3dc844f5e1d5ce6c937e6e3bda7e4ebc988aaf3e8efd061c68d9827cbdffd30f67efed2e0f7b8eb2144d45ad923651886a1cc5e5066fff99fff197ffce31ffb91227bdf7df761faf4e978e0810794b306bff9cd6ff0cb5ffe1237df7c33eeb9e71e3cf4d043983d7b367efef39f0faa4bc8b5e0965b6e51f8be6d705b92b102659619d5329b796a8d473e273f81f046bb322fe1e806dc2f6573f2fdc86af39c710dfce23da5dced539e4395496aaa159bdf9ada2ba65720b392294fa15a27e6da2af0f6d47b3df3de380317fba40cc33094d98bc8ac1c3a2c91b2faab5ffd4a91d57befbd5779fdbffffbbf439065a5e83ef9e4938ae8f6d527e45a20efb0fd9ffff99fc3ae2f470dfcf0873fc4fffddfff717b923101659619d532fbe96b9e6b8f5647ea06cced81ffe69795f9776c4811d3162c7fd653eec3b073e57ada32ae4a66b714f4f4d74d3bb1b6b7ee56f0dc2cc3300c65f64232fba31ffd48391b2b91d7c8cae1c4f2ccac14d95ffce2170acf3efb2c66ce9cd93f2d9167be6439290c7df509b916f864eaa02fda3864be9454b9bfc9fd54beee9b2f7f5091f37efbdbdf2afffe66e61ad8d08143bdf3e572598ffb2a19ad506699512cb33598a908e51484b60d5e92ebbbbe57363f871975784379fd3022065e4cdbdd8ac5572cb30f2068802fa79fa4cc320cc350662f2db3f20c969400891cee268711cbef0e398458228713bb5c9ef13d8b162dea9f2fcfd0cab21229167d6d10f27d5164b670e390f93fbbfb196cfef24b6cdbb6151f3ef333454ee57ef8c6ca6dd8b6793dfe6dcea7f8e28b5578f48119d8f4e546ccf9c5cd787fc356ac5df80a566df9125f6c5d87e9fffeefdcc664d4419965c680ccde03affac14bd2cf7c7a79997537e01dca2cc3300c65f63acaac3c73d577f64adebd58be9e34691266cd9ad52fb27d59bd7ab5b24c0aed5d77dda5c8ac148abe3608f9be782b32bb61d0bc5ffe721a029b3ad052ab424c4212ba7b80154ffd11733678019d764444c4a0cdde25f6d006cc7971a5e8f75870e0e7b723dbe4923725417a4404f4a2d3d4967b0cbf17fb39b733194d506699513dccf8f379539472ef7e5380fe41c0e2c0baf3dde9cafc670e148a19767cf6dafdcaf45bdf55f497b354845fc53063ca2cc3300c65f6ea64f69ffee99f94a19892fff99fffc1e4c993155195af5f7cf1c521db64eedcb98af4cae577de79a7c27ffdd77ff5b741c8f7c53b430b7dc1fa41f37ebef83bb8a0c5aa499384d8de856cb31badc96f6167462b7405a79461f1ff7d284ff49f1af0c60b9f2832bbff7f6e45b6d185e6a4994a1b0bd25b616b4cc49f44596e67329aa0cc32232ab31767b3e7513951dfe02e65fa2eec492a815aadc691d5f33cd7cbdef314d41d9e5fbd130f7de6a977e73d88ca2f15e58ab1f0c95b29b30cc33094d9eb26b3fff88fffa8dca958226f4472c71d772882fadffffddf0a32df7df71db66fdfaebcee9b2f855796edbb66b1af0d42be2f5e426675f96bfaf735657f5b7454c86c1b96ffe427f8d9cf6e5164b625793676a4b7409b7f0cfff11fff811feecf51ceccce9ef1b122b3fbfeeb4fbd32fbaad2eefc5e99bd85db988c3228b3cca89659a01bc5a1fb862e9ffa325a1c9de71aeceec2d12583cbbcfbc916bc4a99651886a1cc5e4799edbba9d3edb7dfae3c8ae7b1c71e538612cb33aea74f9fc6ebafbf8e2953a628afe53c89bc01942c2fcbc9e7cd0ebc391421df0729b32e73256262621462636331eda16710d8d8014d7d191292539561c64ba7df8237d79f548619c7c424a0bedd72519995edf6c9eccddcc66494419965464466adda3ae4e5e55d8206740d28dfe93422bf7f59059c176ab4c78dcabe32d5ad80bd0aaf9d27b3c6d65a65797e7e53ef336a9dbd750aa0779f6bcadc56dffb5e8d83d683611886a1ccf6c9ec3ffcc33f28422a913780ea93d3a953a72a8f479167bcce47def0493ebe470aadbcc6565e33dbd70621df97394bd660ebd6ad83b8e78e9b31e99ee9d8a04c6fc1d2e77ea594fdc94f7e82a7de5e8e4f562cc363fe5580ab122f4d7e5c945b8f5726fd161facdb84d58bee57ca4e5dfc1936ac7a0fbfe23626a30cca2c3322327badb377d5cb787cd6727cbd6b0f6c6ecf55b3f589273dcf9e9d7c0f6a8c4ef62c19866128b3d75466fffeefff5eb9fe5522a5543e9a47de5d535e3bfbf8e38f2b438fe53229b17d773096f3a5c8caeb14e577545f7d426e346f2d0de91da5e649c2e9d5cab0646e1b3296a0cc32e34266aba28fe1a10b0e579e8cb75746a093fd4a866118caec7590d9bea1c31279fd9614597953929b6fbe591972fcf6db6fe3fdf7dfc74b2fbda45c4f2bcfcc4a919d366ddaa0ba841042ae1eca2c332e645689b5517938fd40c21ad9a1641886a1cc5e1f99fdbbbffbbb21c388e599ad19336628d772c91b3d49b195377a926766e5f2071e78000f3ef8e0058720134208b93a28b3ccf8915986611886327b0365f66ffff66ff1b39ffd6c08f27a5939c4580e3b966767e5d0e2471f7d54b946564aee85ea104208b97a28b30c6596611886a1cc0e4366ffe66ffe06fff66fff4608216484a0cc32945986611886323b4c99fdd77ffd5742082123046596a1cc320cc33094d961c8ec5ffff55fe3a73ffd29218490118232cb506619866118caec3064f6073ff8017efce31f134208192128b30c6596611886a1cc0e4366ffeaaffe0a3ffad18f0821848c1094598632cb300cc350668721b3f7dd771f8e1d3b4608216484a0cc32945986611886323b0c999d3d7b36ffa319866146f6bb8632cb506619866118ca2c659661188632cb506619866118763028b30cc3300c6596a1cc320cc3309459ca2cc3300c439965465466bbbaba60329960b7db0921848c010c0603babbbb29b39459866118ca2c33b165b6b9b9193d3d3d841042c6085264a5d0526629b30cc33094596642cb6c5353133b87841032c6d0ebf59459ca2cc3300c6596a1ccca5ff90921848c1d28b39459866118ca2c4399a5cc124208657602c86c7d7d3d5a5a5a0821840c83d2d252ca2c333a6556de04ea4ac8cecec692254baeb83c218490eb0365767832eb72b90821840c03ca2c336a65b6b3b3f3b2e4e4e460ead4a9b8f5d65b3177ee5c381c8ec165dc6ef8a76ad0d13bddd8d886862b68f76aa92caf81e33ab44b08216309ca2c6596104228b30c65f60a6456eebc0f3ef8a022b27dcc99334779a44f7f399713f3769440d727bfd915c8bce61d381b22336bd9912584506629b394594208a1cc3294d926b8ddee8ba2d168307dfaf44122dbc78a152bce95753a14992d30d8502b084d2943a6986f5457e18fbb8a3023a81e76b71dc7f6e662de8162fcf85039cec696e0dff614c2ec74c3626ec45451eec5d006382fb63ef662a835ed975c5f42089908506629b3841042996528b39791d93e2e24b383caf4ca6cb9d58d56414c5a3932c5bcc5df94a0552c8f4f29479cce8e13fbf3d0d2e14652641982eadc686e6cc417452e7c7ca0044da25c5a5605a2b5175e878af0c36833b3134b08219459ca2c2184506619caac90d92bd981a5bc1e3972a4ffb5645019875d91d9b6dee9ecec7264381c78616f1974623a23bd12212d364566351d2ea4449521a2c1859686466c297462d97e154e549b102cd0d82fb00e36038efbe4c0e1e6c184104228b3c39359a7d349082164185066998925b35942665d4e64269462456423e607d6a0d5ed91d9d62132eb42457135d64434625578359a2ef0fe96f64644d73ad989258410ca2c6596104228b30c65d623b3d76a27efeaee84abf7b54bdea444be76772acf44ecea728bf92e7476752b65dc9d5d70bba59cca9b99c83a6e51bfafdcd0b65d2e373add3c9010428884324b99258410ca2c4399bd86324b082184324b99258410ca2cc3dc309995cf8c2584103276a0cc526609218432cb506685ccdaed764208216308ca2c6596104228b30c6596324b08219459ca2c218410ca2c33d66456a7d3c162b1c066b31142081903984c26e5b84d99a5cc124208659699d0322b237fe1afabab2384103206309bcdb8da506629b3d71af9c38aecdcfaf8f8103221292e2e86d56aa5cc526699919659866118667c87324b99bd96a8542ae4e6e6a2baba1a0d0d0d686c6c24644221f77bb9ffcbbf0309659632cb506619866118caec08cbac111b3e7c67d0bc951f7f88760a6c3f723b161515a1b5b51546a3513933c5e1ff64a221f77b79c98746a3414949096a6a6a28b394598632cb300cc35066475666377e347fb0cc7ef29122b3664d29fcfdfce02768327996694a1394e9d8825a655a57572d3a7c59625e0e4a92e3909795a52c2f6eeb7d3e7065b2321d9190ea69df528becb232c48979213149b068cb10205ea7963628cbed268d525ea231d987ac6f6a4284b2aca8a9434c3b501c9e8ed8d8086415355c97ceac7c2c544a4a8a22b2b243ef72b90899d0c8bf83b6b636f17717abbca6cc526619ca2cc3300c43991d5d326baac13b8fcf84a3b3073d8d91f8f4800ff4e509786ad64eb8ba7a70ea93b9f0c96e4549c421ccd89c8cae9e2e782d9885354792e06c2bc6e38fbd0fb3dd8c7777faa2a7a707613b9622b051b4df168e271e5e00b5bd07113be7e0c999a7e016cb97cefc18d5562b4eaf7d17a946f19ec6342c5c7706d601eba54fda84b53e19a23d3dd6bc3a177a9b15fb1e7f0461c56de8ea745fb7eb64cb847ccbebb6293284789037e4abaaaa427b7b3b659632cb506619866118caecf591597966f1d21814991d384fcaacded986cf6e7b08c95a53fffcf0036b11a97379a6f529f874fd41a8c20f619fca33efecfc59486e72c2e1d462eb238fc360ed44a75b4c3724e0ce3b6ec75e95a8a709c7da63f14af9dc806dd853eca9bbfb9dbf20312f11af2cd8d3ff7ebb17bc8ac486def5b299f1e9b48750a2f39c2dcd0ffd12bb8b3c325ba2755ec1e71c1e1d1d1d4aa75d0eb1a4c410e2413e2e4d3eea528e58b85e7f7ba301ca2c43996518866128b3a35a66edd8b3f13c99ddb41e7645202d282e2a42c4d7af61c3f114847dfb290ea51429d78f4aaa1a9b1599dd5fe21820b3f2b50edba4ccb624e1d35d6744d92a64fa6fed97d975c7e2cec9acca714e660b12f1ecebebfadb97b4db7ad7cb6ec6cac7a4cc7aa60b4377e09be25e99d539aeabccca9bdec8ce3b2586100ff26fa3b9b999324b996528b30cc3300c65762465d681e4e3dbb029a1c1d3414ddf8d755f05c161acc757df04c26a77c0d51a8bcfb67ba3a52002f3d60728f39a334ec23ba6e0d2325b7d065ffb6789692db6cf7e121b53da2f2db3cd261cfb64210ada3df3bedbfd2deacde7d6b3ceff43ec8e2c54dadfb1e43dd4768c8ccc3aec36040484a3b4aa4a396b2ba956b7c039a4d3ef44556a241a7423211c5a8484250f9a1714140ff31816a8fc486f649795f76ff3aa2a353a86d14ebbb6111aa30b1de602441770f838659632cb506619866118caec989559a74b08ede13558b34670200a76d9599537772af1f7cc5b73002d3697720d5943ca91de79676074bbd0509888b8464f3b19df1d44b95ebe3621ec8bedb038dc38ba77ab28bb13aada126cf9c21b1d864204a6a894f2eadc30c4f6d68df96e2fca445d7b7b7d6ffb6b9052da029773c0babadd387d6487b22ca6aa43ccb3216efb1768308d80cc0625c232a493df8e7ad1c1572b72db00a7b909d1817ec855d5c32696eb1b6b1409ab696c57ca1bf5cd686cac13f31a946d2ee73589ffb3bef66a1b341ef96a522bf5d4cd1ef1d2b5d643679265eca89743a0eded68ac97edd4a07da0cc865f58660d6df5fd4268b57b96b5d5577bd6adef3d348d62ffa9454d9df8b7ba0af56acf3a684d9ef2ba064f797593de7353208328a7d5a25a7ef6ba56187bdfa35eebe85daef5bc67b55aec5be76d37871d35d59ef5d19be44db6ac68a8f6bc5f8bb9a3bf5c41942feaade7dd844bec1f7535d5a817fd40a57c9b0135bd9fcd62f39469a9f54cd7b7d9cf93d9424417526629b394598632cb300cc35066c7accc9261c86c600c9a753ae87ad19be4f22a04f884a0c9da839a9460a43475222d3c10cdc66e18ea4a101c9b859eee6e644607a3a2d188dab22444a694a1a7a7bbbfedcaf418945b5d705ad5882bd4a3439d8fb0c46251c681f4401f34b499519c190555a32c6f41f4d9b368b7542330200e1d3d3de8bc9cccea2a101a9ba3dc94aba72603c9c53ab4956723324d859e4e3b12827cd1a8ef4049760c92f36bd1dd6d47ac8f17d2d506581b54088ecb82c5d002ffe42aa58df48840946a85205727c2db2f121dee1e6444fa2126ab1c9df60ef87987c3e0b022312c1475961ed89ab211105705c780b3d72d19e148ad7489f65a101e223e87a31d915e7ed0b8dce872bbcfc96ca40fca5a5afbb7b94e6f1022dc81303f6fa456e944dbe5f0f20e44bd582f436134526a5ad0549687f492567409f10ff4f1479b456ce3c278e4d5516629b39459668ccbac722027841032eaa1cc5266479dcc0625c23e601fedeeea5464363ab54629a3d56423b6d489d4b00034e85d284b0c4791be57ccb4f9084fa9526436b3c63d4812b4b51588caac46536a20aadb8dc8490881aaa9b74c4b1a2273b41794d9e8e4caa1c38c2f24b3ee26847805a072c0fcece85054187adfa3351d9159ad8acc1635c8791d8acceacc6299a81b1d9906b7bb0b5d9d62ba260b5ee2fd0b1b3c321b55ec390b5b98122ae689ba763342445dad4ac8727685a77dbb05a13ede6833f6bebfa51541fe21b0393cd345696128a86b47b49c671f2c50f2cc6ca3d3756e9b7777f7cbac3cd3ea32aa11dcf799355988c868406767173add2e98f3237156ac6bab81324b99a5cc32635c66e50150de4a5cf92555af278410328a91c76a79cca6cc5266479bcc0e1d662c65b6da23a52de7c96c5218b26adb957d5962305b7b65f6fc21b71a44874723c12f0046ab0b398952663dcb9c6d1988ccbd98cc569cb72e0e44469d27b39199ca75bd0e5b87b20eb9115ec8a8d1233b2644c8e7b975335aecbd32eb1a2cb3ae6645668d759908cfd68ab246e429e2ea91d9e862fb0099759d93d9926c84a614f6b72fe91f6adc3158668bd32350507f71991d32cc7888cc260d92d9ca9c5864948af7d4eb10eeef4399a5cc526699b12fb3f2d958f27971f236fb841042463f46a351e958506629b3635166eb3436686b0b119556ae2c6bad2a82aaaeedc232ebb22bd2e61f57a988677b650e6232ca95eb4855d181a86a35a22c3b1e69c50de83036c0e7a232eb426e52248a1b75caebc69268245534c3a56f444179ad32cfdd9c8eb8e23634956420214fdd5b2e1ba5cdc64bca6c7b693c521be4f6d02026d007b9d5e64bcbacd988c4a878348b36ec560bb2b3f360b69f936e754a188aea64dd36c486c7406fbb76325b9c12a90c83b6596ae0ebed8566bd9d324b99a5cc32635b66e52f82b273241f844e082164f42385424299a5cc8e0699758af9793959c8ca3a47764e01ac8e569454796eda6436a88514baa011e29a95ab4287db8dd6b2dcdef2c5e8e87443db5c819ab6a1a2a0ad4a86cad83becd7dd094d65a1522fbfda04b75b4868673b0ac5744e41014ac4bf169b0625952d43dae9ecb4a224b7771df3aa445b6ea5bdb6def6b2b2f26075ba459b9d6828e95bb712d8c5ba35a94b9433ca2e970da539d9305b3d37b82a5155c161b322275b96cd15fb581d0acad4b0b495a3a4d133ccb8beb2c8730767871505a2ae49d4b5691b7bdbcf41a3580ff780f5743b1dc815e5e4f2d676bb72c6b924af00f6f36e1455af1abccd655b6a830d45b9393076c8b3bc6d2828ea957a630d8a6b74b0ea9a95b23979c5682acb17eba8476b7d19eaa4e05aeb5152cfe707536629b3cc189459760e092164ec207f80a4cc5e3f99ddb7f81ebcf8f2cb78b98fa5dbd13e8c8e5ff8864f91d3ea802ae25bec291abf327b3de930b7a3382561c08d9c08a1cc526619ca2c6596104228b394d90b7260cdeb68bb861d4055c461ec2ba1cc0e87ceae6e747775519808659632cb506629b384104299a5cc0e4b66cdb578fbcefb702c360f19a73fc353333e42b24a8590edef205b67863a7c13f60626233fc10fcfbfbd0716bb0367e6bf8ee4a67332db5e5f86768b7d4c7766e5be575151a1ec879418423cc81f77d46ab572833eca2c6596a1cc124208a1cc5e1799959dcecbb17fc593f8cedb1bdebd84a716c06e56e3bdc79e84c92a6454978c0fd7ec8743946d2e388acdc91a5424e4406b73a030ee5b3cf7e8133074d87156ca6ca35dc8ec21ec53d9afe8bd473b72ff4b4949516e1c498921a47738bc381ec7c5c529ff8e87bff38b41996528b384104228b3a35d66d7bc0ecdf9f385cc2e99f6148c4252edda647cbaf1a032bf29ff28b6a46890f6ed0a2cfae4731c3b118a258f8d5f9995c83ec68d1c6a4cc8683f2bdbd0d080aaaaaa712db2945986324b082184323b4e6576c9acb5505bed30d666e0be479f5086138f5799951416162ac38de563a2e434eff44c261a72bf97fbbffc6147de217abc8b2c6596a1cc124208a1cc8e05995d742b6ebbedb6013c8bd4a64bcb6c7bea2ea5ecccc50711b7f66e1c2fd19d27b356042d9f82f832edb8e9d8ca7db0a8a8085e5e5e844c48f2f3f361b1582684c8526619ca2c218410caec18905987d309e779381c76e55f4f1987f26c55e5b57296c6f3af525699f69457fe1d50a67f9a104228b30c4399258410ca2c65f65acb2c218410ca2c43992584104299a5cc1242086596614681ccea72b175994ffff4d76fed40dd28eef0f96df918afbcf106dee82520bdea8aeba6fb06a2dadc8c77efd88276769e09219459ca2c2184506629b3ccf893d90e8b0906830116ab677e87c52ca68db0ca72d60e984d4698cd16988d66a59cc9d2a194b3983df50c66ab98b6c222ea197b979b94f9164fc7adb7bd8ef33b741d16a5beb9c353df6432c168b40c90d9fd281b52c7ac3c1f4f593fb16ec601f59575513e87e8285a2cb00e9059b3c5c24e342184324b99258410ca2c6596193f32db88fdef6f87aa30072fac0b86c9a6c5d17d5fa120391c7fd91a8b8ea650acfafa04eaaa32b1f0b9b950151760c64b3ba1b1a9b16dc53aa872e271e7a3aba0b53463c192552850a561e993b391a75261c5cc35a836ea7172d71a146525e199b56130f7af8f067b66bd8682221516cedf85265d1e3e98bb14e5e5cd1e895664f6433cfdfcf378be97e4722d8a82b6e39dafc29197e58597971f11edfa60f3b640a8b37db12a480555d8666c3a9b81c8bddf423540669b5a5ad8892684506629b384104299a5cc32e34766db11be6f1b56ae5c09efc236d8344958f0e2db62fa43bcfcd032e81b42712c2017367d313e9b731036ab19ab9ffa122da27e5ee42951ee23bc307911344266779ff012edb6e3c4aa5794f6a337be848cf22c2c78fa4d516e0566dc3e1f4de6de75692bc66b8bbc95b3b5a1ab1721a32a0f1b969c386f98f1d033b352664f95da60d295e28bd82a458a0feede069b458b83e233ac5cf91eb61d4b1a22b3ec40134228b394594208a1cc526699317b03280d762f5b0d83f2ba090b379d8149085f52640e6ca6363c3a651334ed45d8bf5b4869871e3167329533b35ea1058accae9b7bfc9ccc36c4e0b3cffd60d65663eea564b6a61cbb3748093622ea44dab933b3e63ad1cec7305b6dd8327b3d2a5af2b0e503ef61cb6c8eff2e44eb6c68ce3d801d945942086596324b08218432cb8c2799b5415b9e8c59b3662994359b957969fe5f88e93908aed02ad3d93e07c5f4bb486c15753429884eae80cd50856f37860929b560ffb21368b3e9f1cd87b3307ff92788d936072dc6367887478bfa4684ef5ba5b4937164258a441baa98d3a2bdb711d538f8bad5e6223fbc21d6e3846cbfbd0cdf7d1d336879dcb12ffbd755f2857f1a2a134f22a2c606737b0d4e64d58b723a04781f476b658a52669d5f22bc22e290e613802a8b065bdff80e46d1d6a9c04076a209219459ca2c2184506629b3cc58955942082194d9b12ab3dc7f08216478506619ca2c218410ca2c6596104228b30c4399258410ca2c6596324b0821945986324b082184324b992557b81fb6b6b62a1d5c4226222d2d2dcadf01659632cb8c2199351a8dd0ebf5649c22f707d94966478d10ca2c65965cf466905a2d12131351545484eaea6ad4d4d41032a190fb7d717131626363a1d16828b39459662cc8ac941df9076c3299c838c5603028076876d608a1cc4e5499ddb3e036dc7efbedfd1c4cac1bd9ff73b3168f4d59885ae3e8d8ff2c160b32323294ed29a5567e6fc81fba099948c8fd5eeeff0d0d0dc8cdcd85d96ca6cc526699d12eb3b25db7db8d9e9e1e328e696c6ca4301042999db032bb7fcdeb687338e050b062e3b28f91a31b4999d5e1b18717a3ce343af6bff8f878a5032fa5566e2397cb45c884c4e9742ac7e2a6a6268487878ffb21c79459665cc86c77773798f11d7950a6301042999dc832ab1930bdefb3e5886bb621c7672d7cfcfc70facbf7b0d33f5748660b0eae5c085fbf00047cbb0a1b4ec7a222e534d6ef13d3010158b4620592c28f62d1915c580d2d9872ff64a4abdb5116f2053606d740937f1aefee3823ca1ec2eaad67c57bb561c3bdcfe2908f3fcaeab538bb75350e8976ce7cfd09264f5e2064d682f4ac9c11ddf7e47e278756cab352b2234fa121c4a58c6c53a954e3fe3e3494598632cb5066092194d9d12eb32ba6e3d0c99338a9b013ebbe0985d3d18ed83dc1e810cb63027660e98603b019aa306bca32d408c9b409b173bb9d483ab313078284bc8a722e77279cedb958fcce26b43715e2d0f1dd084cafc1f1f55f20dfa8c5f659d360e890efe9c0771b3f4244431bb64c790c3a9315b68608acde76160e2990662d1e7960c1a838332b87525656562afb202586100ff26f438e6a933784a2cc526699b122b39d1dd069b5caf502129dde8c9e1114309bc50c77df845837abcb3d7a6db1cb3e68db69b506745d715d07cc1d76743a2c70506609a1cc5266afc399d9596817df75ddbd389d76d8ac26846d7d1dafbd3e0b51a97ef874e3014542ad866abcfde62cfce5c9071090df0a87281bb6711666cd9a8585dbcfa2bdc301ff7d4b50957d02f5c6521cf14bc1faaf36c369aac5e2a9d3a0b378de3366e72a7857b561dbc34266cd36e832f763ed3709a36e98b19459795f05bbdd4e8921a41739dcbeb9b999324b9965c694ccead391d5a8bd64dbcee64414892fea1b91fcf84834f77fa8746436b48d5e9935ab109f53f1bd9ad057c4a39c324b086596327bdd87192b680af1e7a7f6c322b77fe949bca1c8ac15168be7eeef2e7715b6ad3f20fe6f3a94b3b2729ed7bbb390d460438eff096cf8f2cfd01aad98b7fa5d7cf575306c7633bc963f865683a7feced52b91ae3f27b3367d1a56aedea5b4d5d1de82a90f2c1cb532ebb0db10e073165e5e5efdf886a4c37ea16b0c2b52d0a01b19e1880a18bc8ead3ad3c84a90be11be41d1b03b29839459ca2cc38c0e993517233d250abebebec8aed621eecc7738e11d02a31b68a8c810f38350af942b455c7828920bab956a3da2cdb0c4328f00ebea1197d70218f3e02fda4954891a2e3de262729433bf19b12930db9b101d1e85d0a86c745f4a668d75caba0486c4c1ad14d422424c47a7148937ed42625c324202a3915b9881b4b450f8f907a0c3d105e8ca957abe41914a7365e233454789cf159a04734386b2acdde2946f8428f13a2c3a67f05969970161b2be6f182c9d4045613aa24342d0784999b52223291621a25e504a2d12c383e01b95a72cd1a9623ceb1327b691ad0e19055594594228b394d91b29b3b60e24ec988d175e7811bbbc13b1fc8d99c8d59a9171f633bcf0e28b78f199f948af6f875e9d81c7678869316ff39914457e9bf3c3f0c8e3bb94d75fcc7d017e795acff5a7ed3578e6a59745d967702ab91676db009915b258977a064f8ab65e7b7129eebfff3d21b35a6cdebe6b74ca6c50223adc6ee526917d0cedf43b911a168006fdc808477468140cfdeb67434450085a2c94594299a5cc32135666235233fb1f1c5dd968168d6528d703c1a2464058c6b933b38e7ac4a414a0db6582d7b15038f5d908ceac19b0163d480ef045ab1da82d4884ca6485d7fe33b00aafcc890947ad49033fef044518a37cc260b0d6c03738e9b26766cbb3a390279cb6b3bd1e1d9d5dc88c0845a34374688ae2502a2c33f0c44968c47b96a60523a3c985ceba68e41b3ba06bae45bb98afaf4e44b20ec80d3b83728d0d4d15a908cf17331c558828d2a230310a35e2e3692b1350683a3750b841158f428b7861ca4162950605090128d40f3e331b141e7feec1dbb572a11961c17170c189a86387a1b777a2202e18e50627eaaaeba4f123fcb43734ba0a45c629b384506629b3572fb372db5d0e87d309db05e6db1d4ee5a64752de6419bbcd0a5bef3c893c532bcfa4f64dcb727d7737753a1d9eb61db29eadbfcdbeb29e799e76fb9649a1ed5baeb46f3dd7ce48216f74733199b50ce9e4572224380c79656a644687a2bcb90531417ec82f6d8249d782f8a868a8d53588888887a6dd8adab26444256488be46331cbd6d142444a345b96bac1e51197570e9ea111f972cea55203c3801468b15c599515035caf216449f3d8b764b35c2822251aaae8771a0cc8644a17dc0744c48101a8c2e1465a689f6d4288cf1477ebd112e4b0b5292529479eab45064951b505b9c8cb43c315d5986c0c87494a7c521bfaa19564d1dbc7c83947da324251225e2fbbcb53815d199a2ac3a0dc95915e2bd9a11e1178c62752df4e2ff31233a5abc568b7e4b0865769cc9ac6424ff3eaf37945966fc9f9915329b51a7016cf5081928b3965278fb0422292909c929397009994dab6c1c7ccd6b7d1a8a6a9a9199940ab8cc387c3446881d50961e85e2a6a1321b1e9b3ba87e5172346afb2e936d49445ea3904e742047bc677cf059689c5d480cf64594984e125f52358acc86403a67695a341ae4a5b6ad89281032aba9ca40446c12a223fdfb65b6de249aadca42629d72ae14a1b96dc88e0e4084d25e322acce76e8c5593158556e5553322f39ac59771149a2e3bccd88ca8d84cf1af1b89678ec0ea926784c3a06ab1a2302d52bc4722ce1c3d4d9925845066afb3cc9261c8ac7f30b2727395e76d4a8a6a8414baaa101e5f0ab7db056d6d0a624bcf9d99adca8d45668d45a9dfd99085b8c25a21b349482db50c9284a6ea5c2415eb612a8b416e633b8ad3a35154ebb9f954674d3c6254da0bca6c445c31dce79f990d0e46615919ca14929051502bcab4a3b2aa1e2ebb1515795188c8d6c0d52eea47a7402feb7576a1abd38dfca46814366b9476bababad0a92d42547a3934b5c588494a40b5dd81f8b008349b5a1119918c4eb77ccf4e248405a1ae5df40542933ceb539b8c84b236e5b5a5ad81324b99a5cc32cc48ca6ca2aa123a9d4e41af6f478ffe3c99d5a423a2b801ee2e2b1213d2a06bad85af6f0adc86a1322b9318e58fd402a9952e249efd0eb5cd3ac48747412fa4344a7c41b56975f03d1e70419935a88b111e9725d6a51521a77da035bb5129a432b34e87a68c4054d89da8c9155f86553a54e4c6a1a1e7e2329b12128c0af19952fc4f22417371996d2849417a990e75c5b150779d93d9b6fa2c441488ed92178c7c8de182321b9194d3bfed24eeee8bc86c5503bcfd63a06d6bc3d9a3c7d1aaa5cc124299a5cc5266c7c299d92a44a7562bafb52dd98364b62c29044111318889f1905ad8a0c86c66cde036dc86068446a6222fdc0706b3033989215035f55e7f6b2b4474ee8565363ab9e282c38ccd039ea92e25db65b720232a44ac433cd4ad69889432eb72a3bdb55259af60dfb3a8d7d9d0d9d581ac8418444745222cb35508682712e333509e978266432912aa0d088d2f12eb5b8d90c8b4fef7cc8809464d5b33a2235295695d7618b29ab51c664c99a5cc32cc88cbac1c1c3ce04b4132307d93e7e60f2d737e322223a019d446cfb96b51cf7b9f0b36d55f0643d6f142d303d7edbc86fadbe9b9c89bf55ca4fd0bbfefc5975ff0339d576f48b98bb449992584324b99a5cc8e0599adad484666b5e739b572e8b41c467d219995829a14e80dafe00ce58652557949c8add47bdeb7381a89d53aa832a3c5bc76b86c06045c4a66cf1b66acd05482a8cc62cf7aa862109edd0a971c22defb0cddaeee52448b79ca3a4ab9767720d6c71b3ab30b85a909088f4f80dddc0eefc00024560811769b101f1927ca7bae118e91f7cb309f935997260b91194d4a5b96965aca2c659632cb302329b3d72e3d48890a415c61151ff2cae7cc124228b394d9b126b3f26688e1e108ef2522321e16fbf932eb4279721882c2536074d8511c17a4940df28b40b3d57e11997541531a87e4068f5cba1c36a89222443dd14ea2da73bdb1558d30ff2044c44422e26a65d6694776b4673d526a8c080a0843abc986b29408cf67090c82c6e280b5b61081a1623a2c4c08b45191d106551622d20ae1b29b10e4ed8516bd67f8b3bdb5067e81723b04a2bec5a45c33db2fb32e379af212102cda8a0ae335b39459ca2cc38c13996528b38410ca2c65762ccaac72fd6a67e710a4b87576f6ded5d8ed56ae2375f72f3bf7ba7fdadde919fa7b9e28d4e5c6c33a607e7fbdfe3b26bb2ffebee7ade38544e45c7b9e32ee0bac9bb2fe03ca79d6d7ddbf0e83db760fae7bdefab8dde7af2f6590324b9965981b26b3f2c6070c6596104299a5cc5266af379afa52945436519808659632cb5066bfbfccca1b15c9ce80fc1223e31379b0928f23a030104299a5cc920bc96c555595b21f5262083927b38d8d8dca736629b394596614cbecc08e1419bf501608a1cc5266c985b0582cc8cfcf57f63f4a0c211ee471392f2f0f068381324b9965c682cc124208a1cc52662726f239b2f20c94b3f78ebf844c64e4df8156ab455a5adab8ffdba7cc3294594208219459caec9846ee7bd9d9d98ad0cacb5328b564a24aacdcffa5c8666464287f179459ca2c43992584104299a5cc8e01a12d2929814aa542616121211312b9ff1715154d0891a5cc32945942082194d9119659b9dd0821845c3d945986324b082184324b99258410ca2cc35066092184324b99a5cc1242086596a1cc5e0e632d0e6eda844dbd44e6d7dea0ce9b1e51fb4360652796104228b394594208a1cc3294d9ab96595d2eb62ef3e99fdeb26421b23537a2f3d68cedcfad4387959d584208a1cc526609218432cb5066bfa7cc066d9a8fd4263302762ec28ce79ec51dcbfd60b69ab077ddbb98f1ecab3852a815e58c58b9640e663c330bfee51a04ad78040ded561cfcf04d8454762023683b9aad7a7cfee62ccc787a0ea22bb4a8c838864d1fcf407871353e5f3e07cfcd9f8b75bd32bb2b30999d5942086596324b99258410ca2c4399bd3a997df98ec9b8e79e7b14b6f865c36ab3c26c3489e5267cf5e8fba8359661f3aa5d62da0a83c922fecdc7e67da1b0593b603477a0bdd20b05755a8405ecc2a988129c5cfb06cc6a1f8417d68b3215d8bdf2382ae20ec3bb5ebc9fea28f6479588f98dd8c633b384104299a5cc1242086596a1cc5e8b33b30a86727cfdc90ea4a52563e5438b85ccdaa05157202dd60fcfbd75066651a6b1b40869e147b0704d382c8606ecf13b8dc8e44284ef5a8b453bd2612e3f8e6855a3684f8d7d6b0e0a993d812c51cf9cbb0f0762ca38cc98104228b394594208a1cc3294d96b2cb3ba527cf8e63c6cddb6191fffe5599437d762c7fab5d8f2f9e7f8ecdb0c74182af0f9e7ebb165cd1aecf42b84adc384d5b35f4266bd05a7b6bd8f532a23ac965aac5fb9015b56adc2f198f27e99b5d95ab067dd5aecd8b30d8b7b653638bd989d5942086596324b99258410ca2c4399e5a379082184324b99bd14168b057abd1e1a8d060d0d0d841032a6686d6d558e61f25846996528b384104228b3134066cd66b3d209acaeae86c16080c3e1404f4f0f21848c29e4b1cb68342ac7b2969616e5d846996528b384104228b3e354666567afaaaa0a6eb71bddddddec101342c63cf258d6d9d9a91cdba4dc526619ca2c218410caec18915939c4ee4a90df8d4d4d4d4aa74f76fe0821643cd1d5d5a59ca1d56ab5577c5ca4cc32945942082194d9512eb3269349198a273b7becf41242c633757575ca195aca2c332164560eb9aaacac4479793919a754545428bfd4511808a1cc4e54996d6e6e86d3e95464961042c6332e974bb9411465969910322b7fbd91fff28f7ffc2287d4c90e1f858110caec449459f9a3adfc0ee5f7012164a2202fa990c73eca2c33ee6556b62b872430e33bf2a046612084323b1165565e3f26bf17e50f7b9742ded9b8adadeda2c8b31d976b8310424603f2d28a2bb9769632cb506619ca2c2184323b8a65560e3196db56dec1f862c832f2928c4bd1771764420819edc8ef952b196a4c996528b30c65961042991dc5325b535373d98e9fecf4c9fb475c8e4bb5a10adf8b4993260de2cd757b6f6007b60853c47b4635dcc84eb31327d72dc2cdbd9ff785655b2912848c12e48f7094596662c9ac3e1d3e4121888e8e5648482a44d7796d77dbb5307576dd1001cb8f0f4450efba44fb7ba3aadd7e43deb7a122153906ca2c2184323b5e64560e11be1452662f77665672a93654617bf1fbdbef86d9e9b966cd587002936e7f02adbdcb03cf1ec1debd7b915e6b81cb6943e4d14348ccc9c24931cf37a4081dad7938205e67576a94f27643b3525ed228beff5cd65678ed3d8cc29a7ca55c56452bca52c3c5f2636856dec323b34783e3953a87529bfbd72d3de294322facd4a44c97440622383852cc3b8c5253ef67e8a8c7a9bdc79153902ae6ef4799d684ec305ff1da0b9ade76cc95714a3bc783e294695b5b326efdf5dd88add4a3cb5c8aa9937e83fd15aecb6e6f42c8f58732cb4c4899cd6ad49e67af4ed86d56e52272bbab0b86aa6864b5e8d0d503b85d7631df02776f39abe888d91caefeaa1d36a7f26f4f971b564727d0e58045b46373bae54cd1797328cbed561bba7b44990ed199b3da07c86c249acf7d2a8467368836dccaba98c51fa07c50343a9dca747fbd4ebb326db53bd12dcadadcbdebe6102fba3bc57cd790f5e8e8909fcf869e4e87e7eece45499459420865761cc9acbc93f1a5686c6c5486115f8e4bb5511cba17bfb9e55644c62522313111c736cdc7ef1f9b0bb7c38ed0e5b7e3a1c79fc5abafbe80871e7c1eed761316df710b26ddfa105e7de109e5ace61dd35ec48bd3eec0a46737c3623360e38cffc3d3afbe2aea3c836973bf81c5588ca744b95fdef7345e7de601a5cea3cffc058fdd7b33fef87e34ec4e8fccdefdc83378e5856730e957bf45669d01e97be6e08e7b1f17edfc05f7fefa7728d598e1b5702626fdfe0ebc3a6f390ceedecfa04f15323a09b73cfc2cfe32fd6ea5fde9335ec60377fc1633b6a6c1d65e8dc9bfbf132f8a757a72ca3df8e0a80a4eb7e751472e97fcfc5fe397bf998c44bdf3b2db9b1072fda1cc321352668f1e3e82a3478f2a78c58bf76ccfc0a9b07c385b4ae01391858eda38e4e94de8410762e3d2d1d1d688ef0232d165c8866f7c29dc7d676d7bba1172261c66f1b2b52a1b096a1bc28f7c8b3693134921a1687368e0e79d20da01a27cc260b0d6c0cb3f467c21ba2f2cb3ea18a4d6b5a12a370a69b54e18f3fc91d868475e4c182a0d4ea833c261401712bd7cd16c71222f311a3a632b8e445403b5f13815510447730522f29a117ef4107466271294f568c19993be7008b14d0b3a8bca362732834e5166092194d90926b3f239b497e37232fbf39fff1c37ffe10ff8e5fffe020fcedb24be0abbe0ecd0e1ce3ffd76d0f0e32f733c32bbce27074e63a190d4db10d4d60977d15762f91cf1b962870c598e2a2b12e56e55ca39db8271c7a4e92830b9107ff81dfce14f5b615164f6178869708befd276acfedf4958165285f9af3c34a89d6541958acc3ebd74d3e0cfa0c8ecfd88d777c2ac3e81df4d7a113516170eaefd0b9e78f1300cc92b07b533f9cfcff7d72d3db318bff8e5af71a2aa8712410865966146d1995921b329d52d80ad1e216119703627a2c862032ca5387dca0ba1a1413876c80b765d3692ca1a06556d4e0b4465b31545290942164df8f6589c7216b73c230a450d436536343afbbc61c66128101d8c468516b8e56a3a35880e0d45709017e21a6c30eb4b10ec1f8aa8a44c69d0686fcd4548602862b3c41f678f1501470390191289e8f814149464a0c268c4a1e3f1ca7a94a5474225daf5f38953decfc737160e0e3326845066c79dcc3a1c8e4b72a5327ba9368a42f6e277b7df8576ab1395219f63d2ffdd8c83e93ad88cadb8fd0fbfc6c1f06ce571789276ab11ef09995deb950987a1104f4eba0f39b29dc2ed8acc9617fa62d21fa722bfb7bcc4dcee91d9801651ae55caec6ca8459dd8c3f31499353ba4ccfe1ad1f5727df458f31b21aea19598f3cc1d58ba27b2bf1dadc50aaf776762f6ca93833f834ecaec7d886d73c0542d6576315ac4fcfd6b5f5264b6e6e46b98f4f44654f4b6d3d8dcdc5f77effce7316f95afe8403b2ebbad09213706ca2c4399ed95d98c3acd00994d407a9b905957336292f29521bb8539e5ca99d9b4cac6f3d6c484d4cc6424a51503dd36f8ec3f898e4e202b2a0cf5763d024e87a25bd86cf0e9204566c36373cf93d981c38c3dc98b09468d53c8594128e285ccaacb543008336d4c0f42554f374af38b6015ef51181d04a9d6dad4d33815528436551abcc292c57a58e173e0945226233214f5e616f8fb262a6d47fa07416b17929b1a429925845066c791ccdaedf64b72a5327ba9368a42f62832abb7d8e1705ab17bd1d3b865ca1bd0d9ad0858723b263ffe0216bcf9226ebe6f0674b65e993d9b017b7b8190d9fb912fdb29f0c86cbd4d8f754f4fc223331760c1cc4771ffec1d3019fa6456945364f64dd4893a31877a65d65ea80c33be77ea0b983f4788e72f7f8782c67624ef7c137fbcf7612c787b367ef1abdfa1b8d988b38acc9e18fc19fa65d60e639594d9f7d12ae62b32fbc221580d15b8f377933073ee023c31e5362c3950d05f37e2e097387826ebb2db991072e3a0cc32134f662d1588898a42542f31f189709b2a51a935024e1d72f22ad1e56e475c74140c42fa5a6b0b45b918945b445d6b35ca5bf443d62539c40b15c6de0973a9d27e56558b32a9294c54de273331171d0e0df28a6b06d555ab0ad07e5e7bdaba12a54e8aaa0e39f50ef161ab94e9a4cc624f014d91329d5eac5626bb8c25c8525b01831a6945d59e11d0e612653db2ab5b01b7019919259ebad65ac48af9a9d979a8b15266092194d9f120b3f22ca2dcb6d75b661b55a9f872e737305b3dd3cef60a6cdebc19014506385d6e1cdfbb59994eac11eb62b32060e75788ca57c36e69c491cd7bd128db694c1465bc8400db61d1542ae525f57a9b28d724caed40b1f802b61b55d8d95bae3cd307dbbf8e4787bd09fb45d9e88808a58e9fca0c8743ac87cb85c8e39e76fc8ac53c5127dfef34ce86e50cfe0ce61a1cd8bc071526f1de6d39f87273108c627e6ad4091c3a9ea99469493da0b4b3e74c185c4e477fdd54df63f00b575120081925c8ef1479cca2cc32134b66af71ece20f292a2683cfc5a1cc124228b3d74d66959b025e82969696cb7e2fca4e9d6cab6ec0b0def3696b6be3be4a081913180c06e5f9d9973b3e526619caec25e2723ae1eee2336c29b38410caecc8c9acd168845aadbeecff81bcc6ec52375391673bb8af1242c602f27163f2d847996528b30c65961042991dc3322b916756e53626849089c0951e1b29b3cc9897593904410e4560c66fe4f378e5fe43612084323b516556a7d329672ae436268490f18c3c81212f8ba0cc3213426625b23320ef7846c62755555557bd4f104228b3e34966255266a5d4b2b34b0819afe8f57acfa3bcaef0b8489965c685cc124208a1cc8e779995c81ff75a5b5b95d797bbcb2721848c25e4d9d8cacacaab3a26526619ca2c218410caec1891598956ab553a7cf2bbd26432295c6d1b8410321a90c72f792c933fd45de9d062ca2c439925841042991da332dbd70194c3f1647dd9092c2c2c2484903185fc514e3e235b5e3e31dc1fe528b30c659610420865768cc92c218410ca2c43992584104299a5cc12420865966128b384104299a5cc526609218432cb5066092184506629b357781d2d21848c0528b30c659610420865761cc8ecf7e9101a0c0668341a14975560edc133f8f3fb5bf0dfcfbf4f0821a392298b3660d5be53282c29538e5df218f67d8e81945986324b082184323bc664d668342a8fb1f08b49c6dc6d47f1f6ee602c3f918ca527d2b1e8442621848c4ae4316ad98914ccdb1382b7b61ec5b1e018456ae5318d32cb4c48998d8d8b838fafef05d97fe0c0b9b2161dd2636210d34b6583f63a74e83aa02e484587f53a7416cdad4815eb9d9496c98e332184323b81655676fa9a9a9bf1fe8e63787dbb0f969eccc4ac03c9786d7f1221848c095e172c11c7ae3776f8e3dd2f0ea3b1a96958424b9965c685cc56abeb101816d34f68543c72f30b07cbacbe101b169cea9f5ef0fe0668af7987ce80532b9e85b1e3da7714bd3f5d8ce85a1b727d37e1b4ba839d674208657602caacececb5b6b62a9dbf770f4461e69e04bc4a08216314790c5bf86d2c5e59b31b2d2d2d945966e2ca6c767e09720b4b5152518ddaba06a84a4a2f29b37b17ed825afc5b9de18369d3a623aaaa45ccd7e2d4ce8fb068da343cb93b0f5fbd3513d33e3ca894af2f0a16e5a621b8b05e4ceb70faaba55822a6a7edc8c69e456f60dafbdf786476f1144c9f3e1d0bf7c528f54a628e8b7acf21a5557ca6b6746c5cb1084b5705f6af47c6918fb171cd1a4c7bed3de82b7cf0b468334aa511cb9ab046bc7eea99bd308a721aad1e56f16f73592c36a45366092194d98928b33a9d0ede11f178759b175efe269e1042c605b37704e2586014b45a2d65969978325b535b8fe2d22a456a5b351ae5cbbebaa66688ccce9bfa12962c59a2702649059bb10a5fbcf7356c5633d6beba01f5a6367cbd71354c36238ebc3219e51a33a2777e82e82a35b6ccddacb4b3f9ad4d509bb4f8e6f3e5a29c09c7674e466193090907d6214c6dc0b10f9e84c66c45dad76fe2746a26befe643fac163d3e7a761d9a9b12b161f39941eb9fbc7b01bcf3dba0cef4c1878175b09a4af1cd9948c41fde8f549d0d6de55e08c86b50ca1a6b73b078fe46456ed979268450662796cccab3b20d0d0d787dfd41bcb63b0e2fed8825849071c1cc6fe2f0fceabda851abaf6ab83165961917325bd7d0887a8194588bc5a274a89a5b5a2e7c66d66a41d8562190196a31af18ef3d311f3b76ec109c45abb90ddfee92d26a86f7c2c9a86f97674e3f4288aa0c8b1e9dd75bee345acc5a1cdebe4a94b3c06fd1645409e9cc39b5067e15e78619ab833ec1e984782c7e6e516f3d6f689b1371604ffc10998da9b5a13e2f105fe5ca79cdf8e66c30c2c47aac55eaed446a4d9b5236fedbc3c86867a7991042999d88322bbf1b3373f3f1ec466fbcf0553421848c2b5efa321871a919d0ebf594596662c9acbc114653539390597dbfcc4ab1bdd430e38f3f588982260d82bef9107171b1d8b8e404b4b68bc86cb511a1bb968a7271d8baec3834b68bcbeca10553e11d158bcf16bd87825603fc76af425c6c14d62e38097deb95cb6c4dfa59ec3e1d8718df03c8506b94b24d55d5d0b3d34c08a1cc4e48999577fc5cf6d561d1e10bc5f3dba30821645cf1c297e158fef551e5be0094596642c9acfc05e7420c925942082194d9312cb38d8d8db86ffe1abcf045389edb1641c8b0587a220b9f9d4c1c76fd67772660ad4f36166ee57e48ae2dcf6f0bc71d6fad562ea7a0cc32134666e5c396e5b3f62e84bc889c9d4c4208a1cc8e079995657ff8e7f978664b1821c326a2ce016353d1b0eb4f3f928f26b309c7d7fa737b926bce5f4f9d07e90c945966c2c82c218410caec4490d9baba3a45669fda1842c8b009af75c0d0583064fef4237968b238a0b3d8911a1eea99bf2104feb556e88c1d783e532b9619f0f1a15cd4b61bf0dde761c8d0da505e54817283a8673463cb86606e63f2bd9032ab56ab29b30c659610420865763ccaecf4f541840c9b30b594d9fc41f39ef83c1bd5ce6e6466e662f1ee70b8bb81c02331f82a410b38ad98bb251045e62eb1c79af1c9fe1cd8e1c2d995629e5d147419b1618b0fca2d80a5ad01cf711b93ef016596a1cc124208a1cc8e439995dfa352669f581748c8b0f1c86cdea0798f04aad1052bb6bd77040f7ee48f4c4b178c757938d9e0405b79311efee42c6e0b6d41b790d98ff7652b327be6637f140a996d2d09c1948fcfe0e34a2bec8626cc581bc0ed4c860d6596a1cc124208a1cc8e219995cf54bc12fa64f6cf6bfc09193661351e991d38efe17d6542509d38fc55301e5f1b0ab5ab0775e93138a4ea4087b601d356fb635e91593933bb624fa647663ff245a1ad1b6d15714a1b6b6aec42661bf1dc677edcce64d8fcf5d4b751535373c5c745ca2c439925841042991d43323b6db52f21c346caecf9796f6710765759d0d33bed76d8306feb71cc39950f871c5d2c96d4991c8acc7eb4db23b3a797fbf4ca6cacd2ee67d53645669f59e5c3ed4c860d65969990325bde64c0075e25786e6fce75e750729dd26963e795104228b3375266e535b38fbeb71e7ffed40b8faef4266458dcb3e81026cfddd5cf7d0bf661dacab3b867d949dcb7703fee9eb71b8f2d3d88473ef1c2fd1f9cc0e4850771f73bdf6055811970b661de47a771efbb7bf1b8287ff7bbfbf1c48aef9476efffe8241e58b80f8f711b9361f29838b63db0e07365983165969930329b53a7c74fb7a4e367bb0af1ef3780ff6f473ede0d2865e795104228b3375466e5b3173ffcfa301efbf824a67e7c969061f1f08a3398228474207dcba67c7466d0f4b3eb726118b0bf7e75d877501df9efc3e7b5cb6d4c86cba31f9fc68a1d47afeab8489965c6bccc7e1854821f6ecdc74deb726e18ffefa6749e9d258410caec0d95d9d6d656a4a467e29ec5fbf1b0900e42ae370f2c3b895be7edc3efdfd8893fccd98d7b971cf3082cb70db90e3cf8c11144c627a1b9b99932cb4c1c995dec538c9b3ecbb9b17c94a074dad881258410caec8d9259bd5eaf74dc9efbe86b4c597e0a0f1142c838411ed31e59bc15854545d06ab594596602c9ac9790d9953937966594594208a1ccde589935180c4af9334111b8fbdd1d78e083138410322eb877d16e1cf30d56ee0d208f75945966e2c8ec5921b32b7286b2be087be36af0b7175a7621f6d760e537aa2b2bbb94324b082194d91b2bb31279c6a2bcbc1c733fdf8d47961dc47d4b8e1142c89866ea07df62c647db50565686b6b6b6ab3a26526699b12fb3a785cc2ecb19caa632b49a8cf8e1c0794b1271d3bc30dcf47e9667fabd38dc343f12372d14f396a5e3a6c599625eaa20c653ee839c0bb7bd88324b082194d91b2fb39296961614ab54f8e8ab43b873de36dcbbf828ee798f1042c61e77cddf8e459bf7a3a8a8e8aaae95a5cc32e347664f0a995d9a3394f5bd32db3f2f17f3d3db115fd381dcb85cfcc3925c6c293222adc68c7c6b17fe27588b981395985f644646a51589e62e4c5f9f7fe1b6175066092184323b32322b87e0c94e9fecc49d0a08c56bab77e1f7b337e1a12507f0c0e2c3b86b2121848c4eee17c7a8294b0f2ac7ac573edd89c3de81282929415353d3550d2fa6cc32e347664f08995d943394b5bd32db37bdad1ae5256de2751ea2f50e4c8d6d414c68ad9856a1b44bc86c8090d9ef84cc1658b1f3600e7ee06784efa68bb4fd366596104228b32323b37d42abd16850535383828202c4262462dd9e637875e5763cf0ce1a42081995bcb8e20b7cbef718a2e312909f9f8feaea6ae54eedc31159ca2c333e64f69810cef93943592d6456ece43fec9bdea6467951b3789d8748ad13d313348809acc44def1442e51632eb2764f68890d97c333e11e57fe0236476fd45da9e4399258410caecc8c96c1ff2fb527604e5776c6565a5d2b153a954282e2e26849051853c36c9635445458572cc92c72e790cfb3ec740ca2c33f665f6a810ceb77386b2b21ced4e3bbc12aa7042f0f4d60aac2830e244720d0ab26bf1e3b78bf14da916fe190d68ea74e13fbd7488395485f9791df844d4ff81b719be6b2fd2f66cca2c21845066af8dccca3312d702f9dd49082163816b75dca3cc32635f668f08e19c9373f57c5484d9db9271d35bc96871d9f1b377aea2ee6b94594208a1cc8e2e992584908906659619fb327b48c8ecec9c61b129c38cc4720bb6ecb8cabaaf5066092184324b99258410ca2c4399fd3e32fbad90d999393794ffe725ca2c2184506629b3841042996528b3df4366f747d60ab9ccc44d7fc9b961dcb23c97324b08219459ca2c2184506619caecf065d66cb6e0b3e3f9f8d9dbc1426a7dae3b0fad8a414e69b3d271630796104228b394594208a1cc3294d961c9acc462b1c06432dd10cc66334596104228b394594208a1cc3294d9ef2fb384104228b3635166e58fa4b233460821e4ead1e974945986324b082184323b1232cb300cc35cdf506619ca2c218410ca2c659661188632cb506629b384104299a5cc320cc330945986324b082184324b996518866128b30c6596104208659632cb300c43996518ca2c2184506629b30cc3300c6596a1cc124208a1cc526619866118ca2c33ca6456768c64a7881d444208191b582c16389d4eca2c659661188632cb4c6c999591326b369b9507ca13420819bd4891bddab3b294d9c1e9ecec44796d0bb61e8fc3f25d41584608216410f2d8b8fe48348aab9ae076bb29b3cce8965986611866dcff5a3ee165b6a7a707467307f6076460f9894c2cf12ec6222f42082117421e23979fccc26ebf74b4ea8cca319432cb506619866118caec08c8accbe5c20eaf642c3c5d480821e42af8f24cf2155dde42996528b30cc3300c65f61acbac3ca350ddd08a15c75230ff643e218490abe0c363a9505535a2bbbb9b32cb506619866118caec8d9459799d6c60423edef92e07f30821845c15f2d8793830f5b2d7cf526619ca2cc3300c4399bdc6322b8718fb4467e1ad2384104286c37edf44381c0eca2c43996518866128b33752666507cc2b32036f1e4cbf02f2e055d88c3041505af915d6b9f1bc71200dc7130a46edfa1142c6177bbd1360b7db29b30c6596611886a1cc8e84cccede97764966edcb4280be131d863624e6d7c0ded583b8ac3265d927c1e5d81d5d819d2105caf4d2a032ec0a55e11b316fe3ffcfde7b4645952dfabedfde9777ef18778c77cff976c6b9afdfdd6f9f77529fdeddbd7787bded6cab6de836620eadb639b459dbac98132aa218080694a0081214447210c9a1c8190aa85c542ef8bfb95615088a8aec6e03fdff39fe835ab3e69c6bada2aa983fe70afe99f08c52c02baa40f4918e3de2b16778895cffe8ad3c77dfa9381c532697edbaf15094a56377af7ac744bdd94fd4db7e2d556ebbfb4eef7af998772e070fa5ed54d563f3d587581e522c3f77fa5e0996f8a4be703f1986615e369459429925841042997d8d323bcb3bf9b99971b30256bb097b375dc6e483d1f0cb52e278d06dec8c2e4757a7132d2a3d4cf62e842715e17883559439d06274c8ebd0e9cd70c281289f64a46b9ce872d8d0ac12659d76045c484282d20ebbc5e42ab35bb1f45c0ad2d4a29e53d4335800bb19f34f2522bec50e93be43d4eb8055d45f7c2a15a9ed0e51cfeeae67116525d0daba443f66f84557428d2ee8c4b635ab0cb81df6f085fbc9300cf3b2a1cc12ca2c218410caec6b94d9e95e89cf8d4754151c86764c3e142b2f4f391287a9c71370acce8296f2027cbfeb26f6243540d75281a3f556b496e763ecae4a5860c4aeedf1a8b17522253a5e96d4bc80bb18b33504b14a07ea6acaa17374618fef6d579910d6a2acfb4811925a9b1587717b32a1725a70e6640234a29edd6a87c16447a7f8971e751fc96da28f87f1a25e06daa57a07a2105a6581aa2603930ee7a04dc8acc56485d1acc1c663f75fb89f0cc3302f1bca2ca1cc124208a1ccbe46999d7afcfe7333e55411345d9dc87a90018fa3f128d3395198578083a51de8d0b460e6b17b082935a0ada6044784e0b6561661e2fe5a58ac2a6cd89f861aab90d9a8bb481532ab2a29c584fd19a8b276a1b42815adf62ea427a588fa19a8b43a9115774f96d9fc1ba9429ef3d12624d5fb681c9a8510a7df4ac2dad31158e71d8935de7765992d0816f50ee7c9f57cf60b99ad16325bfb081ec7e231f34c32369c8d4562a3196d55b92fdc4f866198970d6596506609218450665fa3cc4e3e12f7dc4c3a7c0f8b6e9441ef6e67d729b1de370ef3bc1391a371f6946df08dc76149662b0a31deb34696d9f59ea9b2cc2647c62055e54443ab6bd0a7696cc0cf0762f04b689e7c68b044559910dd03712e99bd9e8a8907725d32eb79079b4372d1e13a7219daa626ac391887245966d37aea9d11f5d627b543bae36342660522ebbb07984e04fadd7de17e320cc3bc6c28b384324b08218432fb1a6576d2c1bb2fcc847dd1f86ecb350c5fe78f31db4230717f8c9c31db43e5b2d1a26c82581ebbf316466ebe2664f60e466cbcfcf8e7de585966732edec5880d811827ea4d3c102bf73b4ad4ff76bd28db152e978ddc74553cbe25fa8beee963c2be2851ef2abe5d17e05aff33ea8ddb7153f41580b1e2a7b42ddf8a6d93ea8df78c1ad07e320cc3bc4c28b384324b08218432fb1a6576fcbe98df3c3f78de434485067117135ec9fa1886615e4528b3e4cd95596b23ceefdf8ffd5ee7d0d9d5c5511f2184506687a4cc7ebfe7ce2bc9986dd26ce9ed57b63e866198df3a9459f286caac1efbb7fb40231e99550a7cb7f406ac9daf67b07565b32f1a39e6248410caec6f24b3637746300cc33083086596bc99325b1188d3e1854f14da7075cf3a784c9a8b1b0592e6aa70f08c17967a4cc0fa7391d83a65323edb140d47975ed4db88f11e9330717f3c9c5d1678af5b068f89f371a74c878eaa305c0cd8058ff1a3702dab1d0e6b2b0e7cef8149a3b7a3de6c4782ef399cbcb0493cff2d2ad5e598fff9706cf38e8143578b51133de0f1c33214a96d1c8512420865f65791d9efb6dd621886610611ca2c796365d63fa5b66f992e0557af3d120f3438fec31e21ad2a9c8a7e28963b70f9c80648574b8c5aff256a8c7a5cb8e40be9c0e492e0f568af8fc2ed0715409712de8bbc85cc8620a85005e81fc2d72b11e571d7512855ee2cc5e51b0f85cc9e4492167034dd4242795bcfccacb2e4368e487eddd5c9c39e09218432fbabc8ecbd945cacf789611886610691d0bb199459f206caac2507477ceeb817ac089a3f1fed0df1b81c9a0fe910649f699b6499f58ecd9665f6cad18db2ccc66cf84296d98bfee7e5969591bfa0a5321411a935f24caeefca2342666f22b5590f18b265992d8b0bc4adfc7ce48b34b41b85ccfaa352d4763487e3412f9915b68b26a9de9d83b874b782a3504208a1ccfedd325b5e5e8eaeae2e86611866105128149459f2665e002a3dec2cd6ef3d843dfbf7e06a42a550491d2eeedb83437bf6e2484831baf06c993db46e31f61eda8bddfbaec2dea9c1c95d9e38b473177c632a9f9259b3b60287371ec2a1dd07915da17e4a66e34feec0e1e0bb30d46561c92e516fcb56dc2f69e72894104228b39459866118ca2ca1ccfe9a3c9e992584104299a5cc320cc35066a963e495c9acdd6e87cd661b64d4b81e7cedef68cf300cc30c264ea793323b0899edecec641886610611ca2c792365b6b1b191ffdbc4300cf39645a552516629b30cc33094594299258410f27641991d9ccc4a33da0cc330cccb87324b28b384104228b3af51661d0e07c3300c33885066096596104208659632cb300cf35ad3d0d080fbf7efe3e6cd9b484d4d8546a3a1cc12ca2c218410caec9b2cb3d2450f07124d7d060e7979e380c883d29601b7eb2f8696722435d9ffae3e1886617e8d74747420222202a74f9fee93b367cf22252545bec0e0b3da526609659610420865f60d97d9d2a4407c30fc7b6cd8b51f9bb6adc5c7c326e25a81729083470df6ce1b0eef520ea2198679fde92db277efde9597bdbdbd7bca72727228b384324b08218432fb26caec0b6f7b645162cbf411d89fae722ddb9df009bc0c83d381d69abbf870d8027ce731191b2ec4a3292f0aef0e1b2ee77e59ab5cbf3a3da4a7ec526a050a224eb897c7e2419b0ec5770ec8cbc366ae4493d6dc6bddf55826ca4f16bb96972e9e8e6de753603236e067777fefae380d8dd1024b871e7167e6cb65e376fa412dcaca52aee2a3e18bf1e9c831381c95c7db57310cf354eaeaea70ead42939e7ce9d8356ab9525352a2aaaa75c8a4ea7ebb73d6596bc9532db5add8493192d389c558745d12f21be0e1bae25b7c1c1312721845066df1099b55aadcf8fae009386cd4691fde9e75a6bee09991d8ec48a7658b545f0f87c16f244bf66cb238cfc721b1aad7558fef94c5759be37defd622b9aac6aec992b24b5c002bb32069f7fb60975e2f9c2787f7c35e5223a7afa6fc00ad1f7e912d7f2d22533b0dd37053977bc30ec7b1f18449b8573c7e3546a0372a3bcf0b77167a01765d737aec436514f917c0def7ef3036ada0cb0596d2fde4f86617e77b977ef5e1f69bd70e1428fd0c6c7c7f794d7d7d7f7db9e324bde3e99b519f1a37729ec5daec5e49c0694191c482fd7e146890e7658115fa2465c83c955416fc055b17cb5420fa3568561478b506cec144f589120ca636a3bfa74dfa4d443277e769a0de20fbe133099e5f6b72b0dddc30fdc15cb894de283d3d589b40a1dc24b7530731c4b08a1cc52667f33999d8207aa67c9ec3cd41badd029227a6660bb93dc6c43b8f71acc983703ff25976d1182ab81e78fc3e12d24b5fdc1ce3ef53f1e3b151ad3f365565599de537ffc829508c96f4184f7a23efd4cf7bc20cbecc7a3574363e6809d6198fe131a1ada4766a5646767cbf72e6f6e6eee29abaaaaa2cc922122b35a1dfe70ad165d7d460446ccf22a8459b86774783132c5782a28b208754e27022f17a3d6081c0e2fc4036507e69c50088d05e2a24a91d206444417a1c6f9b8aba8fb0a14899ff6a67244b4597027aa0419c26e0b732ad12eca6f5d2f448116f0092f4283f810cd38f4088d260e62092184323b3899957e3e37d60e9cdd3c091ebbcec16816cbba322c9cbe00e7d32aa1ac966476291a8d16743426e39be19311d7e280a32919874e46a2a5220aef8e98863495038d77d6e0dd05a7a0b5a86599f5cc50c15072011f8d5b0485d6014556044e5d4c85a967ddadf865c2702cba53271eb763d6b4ef65992dc90c8797ef2d04dd0cc7fad933b1c2eb3692ae6dc3a73fee82d1ea4058c865dc49ad8022e91a3e19b3195a93e5c5fbc830ccef324949493879f2644f121212e4fbc7b6b5b5212020a0a75c7283feda5366c95b29b3ffeb7c259c4fc8ec429f72f9f061cfc03cfcb763b9f86f8773704bc82ada6bf047b1fc7f1ecae923b3c782f25df58ee420b8f5d932eb70a830e9482efee54299fcfce6f3b9f8ef527fa2ff28a524b3c5d0730c4b082194d9df4a6645748d4558b376917b767538262e3f880aa30dcaaac7326bb1da107b6e4dcfeca867642e6caa62cc9cfebd581e8905dbd7e3a3616b5065b422f4c85c51f61d02cbb538b461aa5cffcfa33d70bd48d36bbd56c49c5de9ee6f363e1f3b16dbcf25a3ad2e1bd3be77cfc28e9e87f0dc7ae89acbb0609aabec6f3356e0618301a56e99d550661986794624693d73e68c2cacd24fe9ef486b6b2bfcfcfc7a44d6d7d717068381324b86ca39b34e445ccf43549b74a8b0094bfc8a50a39364b64296d9f09bc578a4857873d7a3dce1c07f1c2f42bba8ba4d48ae24b3b3c4b2492c47459622430dd4543640d1abf7d40c056e36012dc905b826643622a9060a13f030b918e9e2f9eb41452816f69a5b588f2a874b660d1cc3124208657690322b0dc406128bcd81ceae2ef9f03b87cdea2ab348659de2a7bb8ed52a3f2fc52a9d272bcaecce4eb1dc09bbc52ed7b58aba56bb532e73d82cb0d91d72fdce4ee753ebb45aedeefe9ce2f94e38ed36516e81a3d3b58e2ed1c6e2ae6b77baca3a9d76775b87dca76580fbc730ccef33d2ecac7428b124aed2ed78a4748bac745563e97cd967b5a5cc92b7f20250703a712c4b8903192dc854d9e40b3bc5e46ad0293f694290280f2891ce7ced427961ab5c2fa5548d525d27f2725af0a0599ad7352358945f28d2f6e9daae37c9f56f576b506b12f50c4679f96cbeda5da3038162f95a99305af1473a3253051bc7b0841042991da4cc9a4c26866198df6da4fbcc4ab7dff1f2f2ea13e9eac60d0d0dcf6d4b99256fa7cc124208a1cc5266198661864c341a8dec00b5b5b5686a6a825eaf7f611bca2ca1cc124208a1ccbe469995662518866198970f65965066092184506629b30cc33094594228b384104299a5cc0e5c668d4623c3300c3388506609659610420865f635caac74cb09866118e6e543992594594208219459ca2cc3300c6596905f4b66ebeaea18866198b72894d9c1c9ac74c54e866118e6e54399259c99258410c299d9d728b3d2df47866118e6e5439925945942082194d9d728b384104206076596506609218450665fa3cc767575310cc33083086596506609218450665fa3cc767676320cc330830865965066092184506629b30cc33094594228b384104299a5cc0e5c669d4e27c3300c33885066c9db27b33613b6dda8c02877b6a56b7ee7c3470bc2625caf977f6c95fc9a64b573504d08a1cc526619866128b39459f266c9acc580c5be9570fe0a03aff07b0a14bff5c347238ef82ad0a5acc4a512f1613618b132a48aa36a420865f62d915987c3c1300cc30c229459f256caececd3a5082bd7e2964885c101a3ba1d3ffa57629c5f01b2750e04dd2bc1ba1bd550d88c581d588151c10a6c0d6f42874e8df97ea29e7f0152356a2cf6c9c39cfbcd3d5d3717d66143ba3418eb426e582ecaf41d3879ab0ce3ae95e270b1095096e356b3f8c0e85bb12baa09756565f00caa408ccada3d6d8c4b6773f1796805def72b438bc90abfdbc518175c8effe37c052c9d36ecbda5c0b8200576149ac45a2c581422fabf5a0a9f4a232203f3d066e9c2f1ebf9b853efc4830725d0749ab0f16a05c65d2e46509d15e5c50a785eafc47d9d012b6f28303a44816592ccbab7c0a4d5c2f3763d47d58410caec5b22b376bb9d6118e6779dcaca4a5cbe7c19e7ce9dc3e9d3a771fefc7984858541ad563fb71d65960c8999d9e47405f2e5474db8906d4050743152f5407d6631f24c0e69888503a14dc87ea8408e5caf05bee9da7e66664d3873ab0e5d3633a61d2f83b9ad16e70ab4a2bc03c7cf2b9e96d9520582945dbddadb1070a908d64e409b5d897d457ad86c0e341accd875220fcd56158edc6a14cb7674489b05250ec5aae465b3d8a18ec60ae46aad88482d456076332e5e2983a5be0c51b22cab713abc01e5850a84b4039d8a4a1c2ed13d9e9995d7df899ffc8a51cb31352184323b8464b61e4b860dc7bbbdb2f65cecaf3e9854d5e561edf269d0997fe7036b9b05133c26c02bb20076b31227b7fcdcf3ba7bdecaa27830ccaf9c8282029c39734696d80b172ec0d7d7577edc2db5ededed945932b46536e529992d45199e96d9472f945921c619954855b620a05118692f993d76beac1f992d438af339329b5983cdc1d568365ab05b9659c872dbdca2c1ff3a57256a4b8319b15cabc497618d70586d38115b8ee80a1da26e166244acb21f992d43069e21b3da06f864ab39a226845066df2299b5d96c2f489d2cb3e7ca1e5fc1d3e9b0cbcfe95b15080d8f44487802dacd525d2332c3a3505691db5356919b80903bf7606c29106519d04b7d5a744890db4522a7b64db4eb40c29503f870c4785cb999830e79bd3a248be70bda5ddba1aecc44544681fcb843558630f77adbe4f576204b2c673518e4e70b7392119f560993b101b7c293702f211ec97955eefdb1a2f0ee3d249596225eeae36e72cfbeaaab1fcadb14129d0083bbac3233cd557637a9a75e6596bb2cd65556fb281e492575f2e3b2cc48dc2c68951fa7a7dec7c34af1588c1d1eb8f737aba2597e4eabac4468440a2263639155de04b3ba5e7e3ef4760ec609993d1951809cc8d3f864e22ae8a5d75d1983bf0e9b84d436db007e670cc30c2406834196d753a74ec9422b89abe4017e7e7e7299948080005958fb6b4f99254342668d9a76ccf3abc0984b05c8d63b7a64d661771d663c22b8045b239b61920e33be24eaf915204de3c0c3cc0afc10d9d4a77b6b533b3ef553c075e0b0553ecc78ccd5521c293189653346f997615944193c9f21b3e77d72f06d700566dfa881466fc0bc7385181f5a8175a77250abb560dbad528c095260675e073a6d26cc0b11fd5f298177b9f820763ab15cb4cf5777e264583e821b1c62d062c2c62be51813588cebd261c66e9995b6ed94d8b679e16558de2db3867644571a39a22684506687a0cceebd578ac2125754460b0cf50ff1eee7a33061ee224cf09884495bcfc1686bc756691671cc2c4cde751db599d7f0ee57633179de228c1c3502ef0edb8226219e378eadc007dfcf15e58bf1f1d7237047d182b31ba7e3bd2f4661e2dc4bd0caebb523da6729be3a9a06ab58beb86609d6f9de83a13157ac7724c6cf11eb9d3a19e3379d16eb5561a758eff6a426799bbd0f2ec3cc3561d0b626e113513e6ac6425c4caa74ef8f0967264dc6bbdf4cc444b1fe9163bfc3df0e24c062d563f6c471f841948d9ef03dfeba3f05567315268d76958d1c371a0b6fd5c226ca268f795cb6409469328ee2fd55e7c46b5a8f15627d7ffef628f45613164cfb0ee1656ac4f8fc8cf7c6cd91f7f7afc34722a440839a476178f7b36f316ef64fb8535883236b3df0d1f879983cf747bcfff97059661d4ee93f0f9cb059adc8bebe197f1ebd1ca5060a08c3fc5a494f4fef915629696969f28c6b7373b33c2bdb5dded2d24299254344665f02b346855cad344dda8c5fe294036a636f5361f2cdc1aefff1cc2c2184506629b3039159ab10a5e7a7eea9c38ca3cab4c8083b8a6f3c2ec124ead81de5982acac3aada6499dd9da195db861cdd84a9ebcfcb8f9d253eb2cc366a8b3079d82c14391c72f9f5b5cb31737f00ea7223f0f1d8a9d0981eafbbbee00e3e1a330dea0e2b664d198ea4263b1e457ae1b31f7cd121afb70233c4faae573c9659a95db7cc6a942e992d56d97aed8f09de4266970526c22e962b33aee3cf2327a2cde880538863b4cf76bc2724f393516760b01761ccb06ff1dee723b030ac024ea7d8665136d65db620b4bb4c89193fcc455e5526c6cddb8625df8c434b433cbe9e7b185a4319a60df340bed3b5bfb7776fc4e46da7509d1d863f7d351a4d424eadea6c7c3f6c21caa4d7c462950f333e793bbf679b338f8d905ff73c957300bf2f8661061ae9bcd8de322b25252545be52716b6b6b4f59555555bfed29b36448cb6ca7dd8119372b303ab80a359601343069b022b81a75835ea303f7e3ea60a7cc124228b394d901caacf4f3f971c9ec59c5e3d9086910971c7a00df4cb908935ca71233bf92a4522964f63b5cadd4c86daf1e598fe9eb2fb9fa515cc29f2499d5e409191432ebee3f6ccb0a4cdd77097539b765995577f45ab7ae1a1e9f8f434ad6797cb8fc8210670b32238ee0b3efcfc128d7a9c29caf87e37259ab5b661be576a765990d85a64592d9c5a835f6de9f0e784f9c8cd5971fc8cb151921426627a0b5240c9f88be025214083abd1a9ffe7c0b1d422c6baa2bb06fdb425926ffe2b11f5a93ab6c7f4fd93e59c0d7ae9a89e37e3e987e3806014bbe43d0b90558702e1a566d31c64b32eb5e7fd4814d98f08b17aa84cc7ef0f51ab49b44b92a1d23874d43aa4a3c369b3063ea445966e5eded50629190e7ab850de275b70ce0f7c530cc40131d1d8d93274ff6c4c7c7075aad5696d9fbf7eff794d7d6d6f6db9e324b86b4cc124208a1cc0e19992ded5bde5a9a8877bf1c835ff61dc196750b307af97168acad6e9955bb44f19e1fde1de9819d078f60cfbab9ae9959ab0ebe9be7e3e3f9db44f9317cfddd77b89ed988e6a27bf8d357527f0168eb115a2b4a8257c8d218905e2997b555a4e1dd2fbec326cf23f865fd4f18b5e410d45613ee6c1f8e7767ac177deec7c891c3fbcaace169997d57c8e346b1fe0573c663e69174e81e9dc0bb63e663dba163f22cf027b32fc3d89e29fafa1e3f1f38818d1b57e1e39fcec3d0e62edb2fca36adc2470bcf436fb620ebd2767c326a1cce151ad196b8035f7d3f12d7326ae5c397afed5c843fcdd92aefefa871a37129a9eeb1cc4afb6ad560f7c209f872f10eecd8bf1b1f7d395cc86c9e6b7b4d1a5c3e7212b98d2aca07c3fcca9164b45b58bbcf999544363e3ebe8fe44a7f5f28b384324b08218432fb86c9ac34107b7e5a71f9c0513c687ca25cb4d736a463b7786ec7013f349b6ca25c839b42fc325a74721d8bd586ecbb17b1e3f859b4a51f14b2b8172da2dc6a56e392dcee28628a1a60b588ba1d6deeb2cb42661fafa7b5260a7f19361125adc69ef51a5b32b147ae7b098df27acd30199b70e08854168adbd157e01b940dbd5a817d0702d16aecbded4659669705c6e0fab9a3387821080e9b15669b1d57fdbd45fb4094543dc4dee321d099aca84a0d93b77387d725e81dd2ba4459dacd27cac43eb5e689b2b328d59b85f066c3533c2f5dab427e1d2c3a04b8f7f7f643e97045335aaab2b1fbc875684daeed32294be5e7771fbe871367bd11f7a8d6b5bd1d6a041e38869cfaf601fcae188679d95cbf7ebd475a939393111313d347641312129ed996324b28b384104228b36fb4cc0e3ee94167f069af736d575f4981e525da67dd3e26da8dc077e71f8aedfdb5b6cb2db3fef11cc8330c23df4bd6dfdfbf8fc04a91ce95bd79f3263a3a3a28b384324b08218432fb26caacc964fa0d63456767574f24217d99f616bb53be1590c36cfe55b74bbe4ab0d3fa1bef3bc3306f534a4b4b71f9f265787979213434144d4d4db2c83eaf0d6596bcb132cb0f35c330ccdb15caece064561aac310cc3307dc57520f529b38433b384104238334b9965188679eb429925945942082194d9d728b346a391611886194428b384324b082184324b99651886a1cc124299258410ca2c6576e0326b3018188661984184324b28b384104228b3af5166f57a3dc3300c3388506609659610420865f635ca6c454505c3300c3388506609659610420865f635ca6c575717c3300c33885066c9db27b3160316fb56c239d0ceac1da8333a5e6a8065d019a0461702ef35422f96ef262a50d05f45a7035ee14508c8d3e0466903b687d4bdfce84fdb8c2389ad2fa864c24eff021c5174fcfaa3cf4e27cede694007c7e18410ca2c6596611886324bc8ab95d9a6a676ec4b6f419ebe535e2ea96ac3be87ad28ca6f83dda845b1c686b26a35124a953894a984c9d1e56ee94041b11ae2d380b81c25da2dc0c36a151adbd468ecd463d4897c8434986599bddbd026afa3b717b736d4e150e9630daca96b43b3ec9e5a7889bae13526978a6ad5382496135a6cf2724b8b0afbc4763cca5542ddda2db30e24893afbd2dbf1e447d25c5609bffc261cbbf3589613f294f2f654195c421a9ed1222fb7488d1d565c97fb12fb2a5ea8c20a1534a2b843a3469db30ba9852a841428713a4705ab4583bf1ec947548b9523714208659632cb300c439925e495c9ac53833d5744df0e3b3e385a04b54989dd514ad8b406fce7f17c189bab71a5c280d0d82278179ba12e2841b8ceded35d545c09acce4eec082e407263072e4755435150864cf1015977b604adf2cc6c31a6a40a1d549420b0f9f107a620bd449643f971831ef76a0c68b7d9b1eb682e1a45b583b74a50643361dbc92258c406cff32f468d598bf557aad16977e093638f505ee792d9baca3a5caa057405e5385ba27fbcbf623b7e395f8426e1c1fef10a94897e3bf5d5389d6b96a5f9ca4321a8354276aba429e53644941b842497e1baf412d688beaa3b1010518a7249a2cbcbf0c0eac49e803c21e736dcb95f821ca7030b4f1443cb7138218432fb5a64b6b3b393611886194428b3e4ed97d916257e8895e6433b11722117398955d890ad16cb36049cef2db30a944abe57578ed85e325b57279eaf6b47b2b61eb70aaae017afec4766dd87192bcb71ab97ccd62bca116fe9ec592e2aae40a4b0ceffeb6c19a479cedcb40adc2ad4e3ff0e10f22acda646142336ad05c3a39ae4edbde99fd723b3798f4af0df8fe5e27f886c78a8ebe9d3616bc3ff3eee2aff1fc772f0d768259a62f310d7fe7826f55e443e9aba1ebf44fe71a5701db8acc6f114633f325b02690b3233159459420865f635cbacd3e9641886610611ca2c79fb65b6530bcfc06ac06ec71f8e1641636fc5dedb2db0a9f4f8e7e32f96d94e4307669e2f4083d189e397f370aea4a397cc16a0c6f26c99edb49931fd443eaaf4d2b1c7666cf6cd4564bb1dfb8ee6a0de04ec0c2d4689d3845d5e85308b0d9e7ca91875762db6055489b60efcdbd1c733b30d35f5f0a910dd681a105669ec59477a582e0abab7b7ab1397838ad069a9c5d12cb11d46150ede6d466343154e29209f7f7b265383dcbc72044a2f77b9023eb526c4c695205af87e56743eeef52bb3f9701f014d08219459ca2cc3300c659690df44669d7624966a10e44e5387530ca0f4f2e32a936b7ab2be5987a0f2561cf42a126ff00ed41a1d686831c8177372980c68b13f9e4d95ce374d5768611345e9b55a681cae0b404943b2e67a1d529aad50b619a0738b74a3e5c94b4fd910a5706d4b7abbdb08ad46dc92969516f7a201c162395fe392528d5a6caf4285435ef9683498a1689366599d2894f7492b9fe7eade38948a6db3f79a7555b5e9e56dcbafd2caeb94cf91edec449afbf5d0d87abf465a58c57ed9c53aa4e7329a0c687776a1b8462f9f97ab561ba041171a6bb4c854da3912278450665f83cc3a1c0e8661186610a1cc92b74f665f8459874d6195389858871971ed03bfeaf1abc26682e7b5521c4c6bc68488669838fe2584506629b30cc330bff348f78dbd71e306bcbdbd11111181d6d656ca2cf91dca2c218410caec5b24b376bbfd0569c69eb98b70a3ca3e80bafda7bd3c0253e75e84ce3ef83eecba3c2c9bbb17b5e2b1d9a0424061bb28afc326b16d31f5cf6f7b60df164c12f5262ddf81f6bf671b7ac758838d7337a0742075cdedd825ad7fee39a87fadf5bf642292135ecb7a19e64d8f5eafc7e5cb9771faf4e93e3973e60c6edfbe0d9bcdf6ccb69459429925841042997d8d322b0dd49e9f7a2c19361c6715b601d4ed3f4655056e45e6c3641b7c1f36b312b191a9d0da8c0858311c3b925b44790566886dbb51dd7f1bab598f5573bfc7a4ada77033321a8776fc84f7bf9d8316bd79f0dbd11d4319a60d9b8afc01d455d5a4e3bdcf67e3a3e1a3105fa9fdfbd7fd92893fba000bce84bff2f532ccdb90e0e0609c3a754acec3870f91989828cfce4acb92d43e78f0e0996d29b384324b08218432fb46cb6c5dff326b6cc3b993bfe03df1dcbbc3a6e0727a895cde9c771b7ff96a04de9db31d3f2d9c86795bc2d1521888f7871d80da2609e0702cd9b547b411eda66d47b5aac3dda70977f64ec2ac608578acc28a49c3f1934f062c86767c314a48e0a3687c376c0952f2235d6d452e3cb827cbecca03c75d6553b7a2a2ddd8b38d9afa687c346c2eea3aecf2b245d784a311c5b04acf6b2ab0f5e79fe4761f7cf323126a5c9259901e8c6fe5fe4760e5c9cb6835da606aafc6b65553f0ee17dfe1f4d175e2b9f5a8eb25b3ad45773171f258b9afa53e779e7a0db3c276e12f7b137066c574ecbc91e1da16b15ffe2756bab6fb87e57850a614652a04f42a4b1065369316972fedc687f2364d846f428e68af83a758de70a754eeebeae9d5f87ec11558add9f85c94affa7989dcc7376b7cc4f30d1831d2f57aad38104b7961985e91be03bb45d6c7c707cdcdcdf2e1c3c9c9c93de552341a0d6596bc5d322bdd08991042c8db8174bf3fb55a4d991d84cc5aadd617c42db3a57dcbf3a27df1c1984530581d30145d16d2381ff9fa166c18f62d465ecc13bf131dd6ce1d8b1f37df4673d1157c30ec20d4d6725966378795c832fcb7e1dfc22ff9f136a82ac3f1e705bed0b62462c2d8c998b1ca0bdaa6747c3266039adbd3317ad85254d93a7079e570ec4c6987d35e29cbecbae02238ad7a7c3dfa3bf8de2fede9af25f520de5d710546f158d7d680477905228568339a706dd34a7cbefab4fcdea9bfb71d7f1ab6014d8612b17d63b13da141f46dc2b4efc7e268642e12fd0ee1cf53d788ba4e649d5d2ac47003eaf50a97cc5a3ab066f224ecf28f4541493a1608e17ca0ebf55a995bb167d6285ca872409b75021ffce4256f4f656610fef4d574288568a75c3a0d4fbf7ba8ca0ac27b5f4e438b284bf5f386e7a5bba8cabe8efffa7c2a6a34167454dcc627c366214bafc57eb1df1ba35cfb7af5f4cff861c155f13b7d24cb6c706e33b48abb623b27e191d58e07c71662c19948743aec03f87d33ccef273131317da4f5ecd9b3686a6a9285362323a3a7bcaeaeaedff69459f246caacc160908f9fa7d01242c8db21b2d2acec8b061494d95f5766eff86dc037532ec2242fb761e994e1f0b99f8eff1a360ec96abd5c27e4d8a67e6536b45ab4e950e1b351a3e1df4b66cd7a153e1f390a9971ded871e916b6cf5b87fac47d981f5c0a9bda25b315560302574a8719378b36eec38cab447b9316df8c1d8b0bbd645655711d7f1ee68936f1b8e4ee39fce98b1142f04623aeae1dab57ccc2963349723da3a60c9f7d335c0c5e83c5f38b512eb7b72066ef0c4c3a128af3475660eaca6057bfaa7bf8aa97cce675e830eafbd178eff311a2ff91728e173d7e9db4e5f77a6692bb13536b45e6cdedf8f09b53d0f77a4db344d9fb5f9dec53f6307c07fef4a597bb4c854d3387635f72d5736536bb55d46dcd916536573c7f5f3accd8fb16e585619e485858581f9995929797d733b9d55d5655554599256f8fcc760b6d4b4b8bfcbf330cc330cc9b1be9bbfa65459632fb5866a59fcf4fb7ccf62dcf8bbd80f7472f804a6f82ead125fc65d84f283229b171d8b7f8e66ca6a8d38ad5b3470b990d4753a14b665516d761c621d5a20f63bb4b66937a6f831e7bc7fe801f3d262324bf15d70f2fc7f29f4723b241058b2acd25b3a28e24b38b428b44fd725966af5789b61d1a97ccc697f6f4d7a153e22b21c7bf8464b8666a15f13d327b7df36afc6df971b95e45e466bc376c0b9acc65a2bfd1d81c5309b3518bc9e3c6e244741e92028ee0438f55a2ae1949a716c933b375ba52d7ccacd98875932762ed95442190059834773d4aac8f5fa7787f4f8c9cb31b65955572962f99810d3ec9a8cc0e16923a15f5ea0ee4dd3e8d9ff65f90cbdefbc20375a22c3fc25b949d47554e08feebf3c9502875501785e2e36173906332e2eae2e1f8eba118b18e76ec5c34569659b3d92db34ab16ea55b66a56d10323b69ff9501fcae19e6f795d4d4549c3c79b227f9f9f9f264567d7dbd3c4bdb5d2efdade9af3d6596bcb1324b08216468439975c9ac34107b7e6a6599ed3db33876eb3921a32a04faee709f33eb81e047e5b09a2d682d89759d333b7f0fd6affdd125b3052e996d37bb65b64af46b6873cb6c59af7559d0fe60877c0e6eb64a0c346feec787df4d419bce04b35b66cb459d8a7bbbf1bee8675fc42d97cc568ab646b55b664b1ef727f651a578008fe9935cdbfeed545c8e8983d66082555b8bddeb17cbe51f0e5f80b4061d2c662b4a1e8563a4fb9cd9b5be2168375a6052d763ef3a0ff99cd95bd73c9f9059b18eb2248cffdef5daacbc784fbc0eddfba3c1cec5e3b039a2a2679bb2037761d8b27d30ebd5083eb3c6b55d135623a9a041bc266a84f87497ad42a228b374e810766dbffb9cd949f04f2d945f67654110867d2d95cdc39275735d326b729d33fb5029d6d5f248ae9f23d6a92eb884bf89f2793b2f0fe0f7cd30bf9f68b55a9c3b774e1656e9a24fd239b3d22cacafaf6f8fc8fafbfba3a3a3a3dff69459429925841042997da365d60afb93f757b4dbe4e72c567b4f99d522d5d521f9462882c26e2328f416e6cefa015bc34bdcf5ecb22c4a756d5657dfd263bbd88e3eebb3d97bfab3b81fbbc4d4d5561645f77aed36dbd3fd592d4fed43efedb7f62ab7dabab7dfde4b80ad3d75bbfbaa2dccc295d07079bfce1d588ccfd6fac2e0ae677b621d769ba58f9cdb9f28b3cadb6cefb3afaed7c6fcecb2a75e67d7efa5673bedddbf13dbe33abdb7cf62ebf37b6318e671727373e543892571956ec723a55b6425d1ed3efa87324b28b384104228b36f9dccbe4c2cd0b56563dee2959829b2eedcad27e4eeed8cd5d68e13ee7d9252aceca00430cc1089c96492a5342020a04764a5438c434242d0dadafadcb69459429925841042997d8d322b0de41886611893fcbd285f8cce2db92f0a6596506609218450665fa3cc4ae782310cc3302f1fca2ca1cc124208a1cc526619866128b384506609218450665f2cb3d2a174d2553ba5fbaa1b8d46866118e625227d77565454c8ff31489925945942082194d95728b376bb5dbe776243430307a60cc3302f19e9fbb3b1b111369b8d324b28b384104228b3af52663b3b3bd1d6d686eaea6a7986c16030300cc330038ce416d2d58e9d4e276596506609218450665fa5cc4a4857e3acafaf47696929b45aad2cb50cc330ccb3a3d3e9e47365ebeaeae4f36607f0b786324b28b384104228b3bfb6cc4ab3b3d20c8324b4dd8333e9a2500cc330ccd391be23bbbf2b25b17dd1ac2c6596bc3e99359561ad87073c16ac82b3b30b30e4202abae4cd1b8d699390a668e5a894104228b32f2db3dd422bcd2e4887cb497f2ba5015b5959993c606318866114f277a2f4dd287d472a954af93b7320224b9925af49665b71c0d30f26f1c866a8c3d42927d1a14ec6d56b396fde684c1589bbb98d1c9512420865765032db8d343093ae702c1d7acc8bbb300cc3f48df4dd287d470e546229b3e4f5c96c45207ca24afb96e992b173eb11ecdbb91ebf0494a20b6a1cdbbe17fbb6ee4060428d90de6aecd8b80ffb366f45749e12baca2c2cdd2196376c4141ab09daba541cdabc0f3b577aa2cde2e8e936deef17d19384157b02c2d1561c87ad9b44bbf5bf40a131e3ca665f48aa5a97760305e2e7c1b51b70e0e855689f90d9c6447f2cdeb20f5bd6cc4789d60eaf799b71d4f724366cdc22ea76a2f0da3eecdeb50fdb36fe889be54aacfff60ceca2f9b9e53e50c28cb003abb0cf730f862dbe800ea71141877761ef9143d836edaf508b0f6ef08943d8b3790faee535035d9d88cca9e148981042991d42324b0821e437f95b439925af5e662f26543d25b33e1793857336e0978917d1d91286587946b415be1b4ea32def1a72f4d27da6ea71e9f46d343cba8d539185282c2c84c509449ff0c65df1383b3d18c145ea9e6e355549d8916686a3311c91629db117fc5027fd0fb9bd085733ea9f96d9a93b50dffb0ae0dd33b39d665488fe53ef5dc5cd3a8b90d9dda8b602b937afa2d4a6c3576bc32035cbbcb8a71f9905ccba16b1adf9d83b621dea4b6ec2f366b12835e1d47021b32df771c6e7b6783e059e338ef05b89104299a5cc124208a1cc9237f330e30a1cf60a4197fcd88c231f7d84a626f761c6dd32ab8a424c76bd78be193eab2f4255188a2cad592c57e392570cbababa5ced4bce2020b112315e97c43312eef21e3a707cd87144edda8146219f09befea89464d69683e0ac2621b3e75c329bda2db3a7a0c6d3321bb2fb10720c80ba2611b76499f5461b5c32abb0e9f18d5b6653ceec74cbacb72cb367970999359563fbc2d3d25a716eec26345544c233ac482c1b71e813496613101259e4daface2e7e2b114228b394594208219459f2a65e00aa393b183f784cc394798b505ca74597ee09998505c7572ec1b4493f21b65c07a7b50d5ba6cdc6b4894b91d9d80173532ec64c998669e357a15c638555afc0b689d33067f62ea8ac7d8fb557dfdf845f424b65c935b5e460f984699831691d9a4d0e28137d3166d234ecf2f17baecca605ecc5c469d3b0c72f00a7f23afacaace8b93ddb1f73c5fe2c9eb706291a27b24ece81c7d469d836fd14940e353c678fc24c31e8f15e3a16e57a1b22bcb662eaa205d8fae922181c4e84efdb82691e8b105da411a2ee84cfbd427e3b114228b394594208219459f2a6c9ecaba42de5208a941dbfdd0a3a6d083d721d06e1d0d70f9e44a9fd05f52db5888d92c4bd15d33fdd0b33276309219459ca2c218410ca2ca1ccf646597a1f870edf87e3375e4f47f14d787a7a2224be6840f5936efa88fa4751d8c12f2142086596324b082184324b28b384104228b394d9218574af5e9bcd26dfba43baffa4c16060982119e91635d27bdc6c36c36eb7cbd78821945942992584104299a5ccbe4548837887c3210ff0abaaaa208d335a5b5ba152a91866c847a954caeffbdada5a59705ff6deab94594228b384104228b394d9d724b2168b050d0d0da8afaf976765a5d95929f2dd0c186608a7fbbd2e453a1a4112daa6a626f973c0995aca2c790364563a6c42fa50b6b5b5314334d2ff9e1b8c467ec3124299a5ccbafef2a1383f07393939a852767f379ad0d066e01ba51fa4432ca55929ad564b816528b7e233d0dcdc8cbaba3a58ad567e415066c9eb96d9d2d252fecfd2ef80f2f272be088450667ff732db656ec5e75f7c8e2ab5eb52f717578f464cab74c860110edf78c837ca134883f5cacaca1e916518a6b347681b1b1be54921429925af51664b4a4af8c97b0b910e6f91be445f946ecacacaf8a2114299fdddcb6c41e85614eb1f0f3e1d6d4d4851995c327bda178bc68fc7b21d477b9edfbe6e21c68bb290a2c797bbdfb1de5dd67d097c6d12668b65a92cbec95d947c585e5e7a30b0cffa1b6377233857253faeba7b185ab310e9c6bb72ddb96b76b96b55e16278b6fca8fee12d5cab72e0dafc4358b366314e07e5bcb2f78c346097ce179406edd239820cc33c8e740e79f7110b9c14a2cc12ca2c7949a47336a42fd2e725232383324b08a1ccf660c0b1c9636171f437f02cc28255be300ab74cbcb41541b59dc8f39e81a8a256f19c197ebb36a1a843949d99893b85529945946d4491d680899fad824abae79ca50d8999b930b5e760f6ae3bb0740a4f4dbf8a4d271f7f17a3e3110e1c0e1616adc67e8f25b0388dd8bcff04da2d80b1361d5ffd781ef6ae121c0e4c92ab572605e04c89033e23be427aedab3d5d443a4fb6b8b858fe49796198a7235de9583a72419a602094594299252f29b3d217e9f32e299f99994999258450667b30e2c4b467cb6cf761c6a5b1beb850d28175c33e419ddb1f0b224ee07c7107d67ff629ba9db230f2047c154ea49c398c5d87bd101818884a3dd07c7f2fd61cbf202f075e3c82050bd7f659d3a17dfbd1529f89d93ef9e852c7627760b2eb09a70abf7c3d121d8efe6556eafb5521cd3469341af9149517fdc729c3bced91ae565c5454e43a8fbeaa4a3e4f7ca06da5cf885eafe71f19ca2c79a36456938963472f213636d69d22385ed08fbe2c0a0f3526943d2c83f9c9277579b87c39939ff0df4066753add33439925845066fb521cbe13d9eac787195b9bb3f1b5c732d83b9f945933f67ef7296af42ef1cdbcee89cb1566788ef92baabbcb6e7822b0ea71dfea82202c5aee05658637fc4b9f7d31a9cc8be770d2ef2ad2a52afa34ec0a78e09e0a6dc2fcaf27c12464d6f342825c547effc26b91d9ee7302a58b0852765e366694a5a622b54f1e41ff92fd5417e4a0a25e0d4d5305b2b26b61efb79e0e0f45ff2a135ff7c1443aea401ae77a7b7bf789bfbfbf7ce5ee81f4215de5bbbdbd9d7f6428b3e44d93d9d0a8a2be65b676941516e0fefdfb2854baaede569e9389fbd905a82d2de891d9cadc4a58c473aaba7c513701355a9b4b66cf47cb6dcbb5fca0ff9a322bfdcff9b34299258450669fc0aac1f0af3f4361830e26531bf6cc188b446d3f33b3d25766a90fd65e4911f5aab17aca4a57fbd2b3587b39e971994d8fef86af429dd60453753ce6adf347a75983515f2d47ad28ab8ef312657e7d36c124fe5e8e98b1b26779fda2f148a835a128ee12c6cb2bd660e6b2836837b5e3f0ac8f5f8bcc4a7f5fa4c1bc744f4de90237cccba40d6bde79077ffcd7ffc07ffc4777c6a0e425fbd93f7938b6792721f3c66e7c35e20c2cfdd6cbc3dfc4ba129bf8babf6ca4438383828270faf4e97e73e6cc1979c6f645fdb4b4b4c8219459f286c9eccf3f2dc3dab56b5db9510a681f62c7f160c0508365cbaec1697d04ff986298eb93b166ebc11e990ddc158856b4c17f9baff86b6883e7f964d884ccaefee58cf80bde8c79b32e811732fff56456faa25db76e9df4e5d193f8f878b99c324b08a1ccf6870d8d7575f2ad35daf4d69e328dc1e27a64d241e73e05aeb5a551aea7974e8045df325d77994d2b2fd7d535a1bbc8d9d1ee2e1383e127576f52e0c4c9e4c7cb76a35cb7a1b9b5a7c8d8a694cb347abdd8962ee81a1b60ef7c75ef1769c6495abf24b3d2a09f7999b4ca32bb2d55df577c6c469cf96e24b685dec7faa95fe2cb894bd0e66ea34a3b832fbffc123baedd133fc7205d63946576ebe924e4841fc3e4e97e308b7a616b16c9f5be9cb1dabdae5c596683c3cecae593f7c6c3cadfc18022bdbf25693d75ead453916667a59f92ecbea81f4964a55b5c12ca2c79d3676685cc0687e703d616780a995526ecc18372e98a8c46dcf47e526681ba4737e1e19e92a6af00002fe849444154e18153a96d8f0f33b6a9b19d32fbabcaac42a190b363c70e5964f3f2f27aca28b38410caec1b86b90207b61f44a1facdbe9d47b7cc4ad75f906ecfc3bc4c94f85908e697d39760f9f2e572b61c3a2bca0dd8f71fff86773e5f8890dbb7b1f4bb77f0b79941b0582bf0d57ffe11ab8e5c86dfb18d78e79d7791d8ae77cb6c2252af6cc5c7c34ec0a44ac2c7fff23d0245dbcdb3fe8671e715a2cf5cfc55ac6be14e1f84f99fc03bffef7b78d8aae7ef60000909099185553a47563a4cd8d7d7575e96c651d239b0376edcc0d9b3675fd80f6596324bde5299759a1f22e06e09cc0da958f7e4ccaca51157cfdf019c162c59700e7acaec6f26b3d2050bba131616d66799324b08a1cc12caeceb91d9d1cb77c1d3d3538e975fb028d7cb32bb2420153651efe68939f8f40b2f98cb2fe0dfde998e4a934d0c934af1c9b364d6de8811efffab90dd77306af97e5ccb6ae991d9070da26d5b8178ee3f71bf59c3dfc100d23d0b2b8d95a4f7bb24b40f1f3e942f7e26dddaf0d2a54bf2f32fea473ab79c324b99256f9acc8a2fe2f8e86844f74a87b11515d5ed42504d78f8a01cd2e52f4a3292109d168bcbbb2fc3a6ad45abd501459642be00545b55b66817834a8d553edf56a150029d1664080176f2b3feabc96c7e7efe33439925845066c9df23b3d20c9574911ce665e292d9ada99a27ca75b2cc2e0e48929743dd326b5245e38377be464abd01baea64d7cc6c9ba82bc9eca90748bdec92d90e5505d2d20a70e1d42ff87ec46778ff939fa137bb6436a141f4df9aef9659357f0703c8f5ebd771f2e449396969693df78a95eead2ccdc84ae53e3e3e2fec87324b99256fa2cc0e0443097c024290107e15e76f15f1d3fb9a6456faf9ac50660921945942997dd5699165f69d3ef90b229add32ebff84cc5a1c9835e62f72bd4ffe36ec29994de99659471bc67ef407577fffcf1ff0cd9658982d6e99adef25b34d94d981443abcb85b66a5242626ca47224802db5d76f9f265ca2c65960c599925af15e9cbf3c081032f0c659610429925839559e9366fd23d37999789096d4ffd077303f4e23995784d5bb5aed754a356a2a1412d3fb6185472bdfad264bcf3ff7d8012951eedcd8d68173ff5daf69e7a0655b3abbf862659a4cce60e348865bd49acd76414cfd5c1d861e2ef600031994cb2ac768bab7448b17441a8ee65e9b1f41978513f92c8526629b384324b7e6328b384506629b35a1c1e3de1955e15f86da5fbd63cd2c56da4413ff35ba60ddb467cd6338b3bf350b82ca47c5d7efb68b55a848787c3cbcbab4fce9f3f2f8f9b06d287f49f0bbc350f6596bc46996d6b6b97ffe7950cedff616f6ce4ff1a124299a5cc76cbacb63406fefefeb8792fc9fd5c3bb2140a444a6577137b5a4486f88b7a379191918a5a8b1339d7ae422fdfb6a70359b10fe43aaa9c20b9afe88cc29e76dd650909c9888ccb97cb2cd58972595842b6ebbbd9aac6d5ccc637f2fdd2d9d9291f01545a5a4ae97905b1da7addffd46ae16bf28a238d9b333232e4438d0b0a0ae471f140db4a9f91b6b636fe91a1cc92d725b3f29f77ad16adadadcc108d74853e69604208a1cc52662599edc0cab3d17249c4b135b8a3941e1561d2e8f568b20a813d2e953911b77518628a5b01753ec67d391cf11a1b4e7d310cb546a97e0b0e2fda008bba1233fc5d127b6afd72a4a801736b1126ccf2972f86187c621966acf085dd508fb1530f40eb00d2afecc3e188da37fafd225d0c47ba104e6e6eae7cde6c474707c3304f441a3f4b778fe0a4106596bc66992584104299fd3dcdcc9a3a8c3054dcc5a79f7c840b652e993d7ce3a15cab34d617e70b34f8ecaf876174b7bc7b6167bf322bac0f46a3e8ab28089f7cf41784d7018d710791a635bb1a2a9365996d49d80fbffc16f9023386d64758bb60cd1bff9e91669d2a2a2ae4c38d292e0cf374a44391a531b7748b1e429925945942082194d9df5e66550fb0fdd25d3434b421fdc6defe65367f6032ab5184604764a9e84b859b0757ca32db70777f3f32bb0f3ea965a25e839c9636d51bff9e91ce9b950e9f946ef5269d1328493bc330ae48ffc923cdcaaad56a1efd469925945942082194d95724b3f5d77122aa485ef69c3c1c87d23b9e92d90b0a0722d7ff0d718a7651ad0433c64d1032eb40f0fccf9052ad43634620660a996dcb3e878bc592ddb662e5e82f10586086a925171e8bafc3224aef5cd82ccbac4d5f8de94b7da073003ac55d785d8c7b2bde37d21573a541bb24b4d239b4f2cc32c3fcced3fb3361b3d9f80786324b28b384104228b3bfb5cc9a91782910ce2ee046e059787905a2b2be0ce7fde2d0d9a544627e835cabad2c0b59eeebb9045d94ae6e1a821b170e432197b4e2a29717821312901816852ebb0967cf9c1275825053968aa0db59ae5a69e7e4aba2de8fb88a856bc3e5325359b4fb6aa937a011cb76731b7c1ebcd97fafa57367a5c329a55b9448e7cf565757cbe709526898df63a4f3c8cbcbcb91979787c6c646f9d63cd267845066c96b96d9065d03428b4371e9d1a5b73eb195b1b039fbfe2f99cd61434c45cc90d8bf6725a82008652ade7e87104299fd55e8b4e0ecc2f188789089cccc681cdd7966c04d0dd5d1d8109020da65e2fa897d882a33bdd5ef1d69b02e9d3f2bcd424987553e7af448fed97d4b128619ea91deebd24c6c4e4e8e7cf562a552291fb54091a5cc923740666b74355896b80cebb2d6617dd6fab73e6b33d762e1dd8530da5c673a196c06fc74ef27b97c28ecdff3b22279058a55c5fc2625845066c9af8e7438a5342b2bcd484917869206f5c5c5c5282c2c6498211be93d2ebdd7abaaaad0d4d4245fdd5bba8512a1cc92374466b7276dc74fc93f614ee29c219395692b51d8e6ba55c2a3e647f2f250dabf67e5c7a41fb1f4ee527e93124228b3e4379ba595ee5d2e1d5e291d7629dd9244a3d130cc908df41e972ef824cdc44a1745e36c2c6596bc6132bbfede7accbe3f7bc825bbc97553facc86cc21b97fcfcaa4e049fca2258450660921845066c9d097d97577d76156dcac2197ecc6c7323b14f7ef59997863226596104299258410429925bf03998d5e8719b133facdea7b477023eb869c85d18b9e59efefc9b4e89f10e45ec79ab815cfa9bb107e59d7b0347e60fdf6c86c7d66ff75eecdc5c5ac209c8d5feb2e5b0c7fb10da7e39edccf99389615888d89eee5f8c5627b03b128ed087c1f6c7ec6fa97e062ee55ccb937a7a7ec6c4ec0805f93b959e7c576fc34a8d773c2b50994594208659610420865960c7d995d1b2d642e66463f590985a6ccfd783f5af4c5582a1e4fbbed8189411331356aba289f86a9b7a6899fd331e5c65479d9236c12a688b26911ae7a1e91d3e53ea6dd9a229627617aef75440be96ba9c1797979172af595f8f9fe0c4c8fecdb76aad4f6c64fa8ed34606382e8eb663f7d3d91ec0697cc66d467f45fe7ee7cd4d8dbd1aaf49797e7276d87d9d48a8ce4d5f27e4c12eb9f14ec211ecf44bc4a8323f7276352e814d7be064dc5f4bcbb282e3e2d2f7b88ba13833cfa6ccfcf151578943a5f7e3c3dce1b4dfa54d7be5c97ea4e91eb4ebb33151ea113314dbc96934326c9fb344daa1f2d5ebf3bd31f6f478887dc567a8da57aaeede87fbf275ca5cc124228b384104228b3e47720b36beeac11e234ad9f6c8542d780993e333133743ea6844f15657370bab4124a217d8acc5598997d1b6565e7312d6107349662cc2fc880d2d2829ce20b3852e4aad754b911b3443bbf47456833b720feea024cef5e47863774eaa427d63b1bbbf2caa1ec50a23c6f176647cec5a5e666b475b4a019466c889b8b90e252b48bf54406cd7fdcd71379d8f0d025b37519fdef5ff48fa8b1d5a1a6bd08bb853cfe929e893ba5c5c8485c85b909a1505b9568d416608190caf8760dd4c626a834c5f8f1de6a18d080553942668b4e62d6cd7d68b42b6170366173f8cc9efe7f8a5f0dbb360d33c5e313855178a0d883e9112ba13036426b6fc2c9d039d857538646733362e37e4696a6054aab1a31693f62bed88ef4072bc476dc746d87260f0ba266a1cc5a8f3a9d126a83023f3e63bf7f08fc81324b08a1cc124208a1cc92a12fb33f47fc8ca91153fbcd8c3b73f163cc1ad43aac30b6a76072922fea9ba3c4733fa1c2aec19682db5028ce636afc7621b345f8313f03d5f5fb3135dd178d4d11a2de34cc8d9e87e919d785fc9ec537077f44bdb3154b63dceb483f8dd696e8beebbd7f084a5da6fc385388dba1922054d45cc3b4c865a8eb34607dc11d14dc3f20fa5a815a6b39e6dce97fdb1fd6bb65b636a3fffdbb334f96d9d0b24484e46c41526b09e69408894c5889bbea6a9c16fd6e4c7b84bc9c694266d538993a03bbb3fd50d5765f96d9958f84cc169e84574329ae1dfa1a230ec7a0b86a5baf75cc479ec98aadf11e086babc0e1c8a9585a5a8807dee3f1eda1b328575e81675d35b20aa4ba9168a8dd8eaf0f8ec08cdbb3f1a324b3f797235e538393623bb664e4e051ce4c21b35aec7f301de75a2a70fd19bfb3effdbfa7cc124228b384104228b364e8cbeceaf0d5f0b8e5f174524e202eed74cf72acb205de651750571f2e96e7a3d062c096c270288a7ce171779b2cb3f372d3919bb10b73332fa2a13e4c6e37eed4584c490f467dfd5dec49dd8dcd573761e66df73aa20ea2c5908789ee759c4cbd87934587d1a64a92979354adf0a90e457979003c6e2e4175a71eeb0aa2515379cbd557d07a4c0bf7e877fb1fd6b96436bd26bdfffd8b988b6a21b35ba2fc50da58892a652c661715213d7e05e2b5153812e681f5f75350523c157142668f3e988cade967a0680e976576c5c35814e77b0999ad4452e21eb13d3bb031724e9f752c11721c9d73178a8a20d7b2a21405694744dd9dd8747331f6d6281025d79d88a591bf604ff11dd4d6f9635eb1d88eb8657820b6e3b0d88e8d09a9282c9981324b2db68bfa679bca71fd56fffb3deed238ca2c2184324b082184324b86beccaebab50a93c326f7932508ad8e477aea355c13c92ebb828561ab11d952806b59b7d0d07211f3c336a34c938bf0fc58b45b8a313747c86cfa4ed176056eb514e35a7a08ea55d7b1247239a22b53702d3b0ad58da731abd77a760b216ea996d69186849a302c11ebbdde5221afb3bc45b40d5b8398965c84668743db65c4dae855a2de7d5ccb894371f5514ced77db2723ab2eab4766fbddbff0d9f2ccec66f1f8bea1030ff2576166a190c87bcbb1a3200539e5d770a7b50cfb844c4a325ba188435a4b150e65ac946576799690d9bc1358167711650d62fbabeb71216ee113eb598f2a8b0597b256c8cb3323f6a0b22504d74a0b70276b03f60899bd23d58b3f88fcc6785c2b49474ea927e6141523edee52ec2c4cc3a3b26b885296c2f3d67421b375d82aea4b321bf48cfd1e7b612c6596104299258410429925bf03990d13321b3279c825abd62db3d5e94372ff9e9531be6328b38410ca2c218410ca2c19fa32bb32742526dd9834e4d22db369d5694372ff9e95d16747536609219459420821945932f46576c58d15f2bd49875a326b325d325b953624f7ef5919e53d8a324b08a1cc124208a1cc92a12fb36752cf60fce5f1187f650825703cca5acbe4fd2b6929919787d4fe3d273b6377526609219459420821945932f465d666b7e140d4014cf29d84efbcbf7beb33db6f36fc93fce1743ae5fd937e06a404c8e54361ff9e95f1e7c6636bd856586c167e93124228b384104228b364e8cbac348be7703860b3d9864cba45b61b697928eddfb322fd1e392b4b08a1cc124208a1cc92df85cc124208a1cc526609218450660965961042086596324b082194594228b384104228b32f96d94f3ef904bebebe0cc330cc6b0a6596506609218450660721b3fff88fff884f3ffd94611886794da1cc12ca2c218410caec2064f61ffee11ff0f1c71f330cc330af299459429925841042991da4ccfee52f7f611886615e5328b384324b082184323b0899fd9ffff37fe2cf7ffef3a0f2effffeeff8c31ffe807ffaa77f1a72f9e31fff88f7de7b6fd0afcd071f7c807ffdd77fc53befbc33245f9f81e69ffff99ff12ffff22f78fffdf707fd5a32cc500f6596506609218450660729b31f7ef8e180336cd8307cf3cd3718316204a64c9982e9d3a7e3ff6feffca3b3a8ce3c3e7fe49ca62db6d4725adaa62daed92eae20911f1a204048800049a010d70858a38dcab6b8a2424b2db258b1c54a15155ba4b6468b15352a5ab011b18d2d6b51b1a2520c8a1a292ab608010204457df67d867bc9cdcdccfbbe095a34f97cce790e9979efdc5f33dce77ee7fe988a8a8a0e6793274f960913264851519114161686a327e9d48f861d356a94949494c8a44993e4cc33cfec90f593ae9d75d659615d8e1b37ee705d6ae7bd2dcf1c86757443cc026216000010b3ed10b39ffffce7c351b3744c85485e5e5e28680b0a0a3a8de98ecff6dfb8bad10ea98a7c156ac3870fef54f5d316cbcdcd0d9f23fd37dde70ec33aba216601310b000088d97688d9638f3d369c4e9bca54a0f5e9d347f2f3f33ba50d1b364cfaf6ed1b8ed046d58f8a339d5adc59eba72da62f0554fc6b7da6f3ec61584737c42c206601000031db4e31ab223599a9e8c8cece0e055d67b621438684a2d5af1ffdb486fedbd9eba72da63bb8da172418d6d90d310b8859000040ccb643cc7eee739f93debd7b27351d71d4d13415736a3ad5583b60ba49926e00a5a69bfce808830dd3514deb43c5bd5b3fba1196d6890da375a5e7bef18d6f842f01f4df134e38219c82dcd1eba72da6cf4f4e4e4ecae70fc33aba216601310b000088d9768a59155e7176e28927b6106b3a0aa9e754a0e9bf37de78a35c7df5d5e1df2adc4e3ae9a416c2aea399965f772976eb47a7ccdadf75c4d18a580d7bd55557c945175d141eabe98b0184ec9016cf52b2e70fc33a83216601310b000088d97688d9ae5dbb86e22c99a94055e161a7d31e7ffcf172fdf5d7cb962d5be4f5d75f974d9b36495d5d9ddc70c30de16f2ad86c786bb9b92572d7ea57a56ef513d2b063939c3924af55980fca0a4617cb154fbf2e7f7af4117965db6b72536559385a1a1576d0a00259f5d21e5937eb82b4e3d7cea7ad1b2b660fc535281c6dd43a503be38c33c2e768f5ead587cfe928b60a5e37be81032f9237de7d3b0cf7c8dfde903b96fc24651e72736f91c6fdafc83413d7a084fdf77f9f1d5bce28fbee9cbba5e9adbf85f9d1ebee7c7e873c76ebbcb4af9f3879a9bc2fafc87fb5214ddf74542ad5f387611ddd10b38098050000c46c3bc4ec673ffbd9708a709ca938d3dd3655eca8e9391d79bceebaebc23a6a6a6a9203070e847f2f5ab428146b2af06c786bfff11f3f939d0d75726a4218f7e8d1c34c5dce9792d271326e5ca98c0cc38d94d2d2b13274d050195baae706cb989252291d374ec68e2890fc51c5e1275ec615171dda6178c4d8f0b834713cd8496bda9ca7e58dc7ae3b3c72aa23a2a79e3a48c684698d9331f9c3c270c3468d4da4779afc3e21669f9c31f5507ec61d0a33222faf5519ac69bcb67eb4bcba29949ed77ff5bbb2da3955817bfef9e787f5f2e8a38f1efe0487feaed3b1ddf84e3965ba6cddffcf50d8695e5fdcb55fae9d962b43878d3e54de449d0c4984cb2f283a745c325a06f4fbb5ecdebf592ecc1b2aa525c532e6971be4bdd7d748d1b0a1cde1c68d95bcc4752312f5565a5a129e2b1ed59c6e9f0917caae030d52187eeb72b8bcbabb51aeaee8254386fae98e49fc5d9a38572ca3c71c8a67ecc842e9d77f70e23e9e2c831362b860e49843f762ece830eea244b8e2924361478f18145b97c99e3d0ceb2c869805c42c00002066db21663ff399cf84e234cebefef5af879b1e59533176c10517c8fefdfbc33ad26fb1eab766957dfbf6c9b7bffded7004d2bd46edb8e34e94252fec94bd6fbe2c3f4c883a3df7dbd5afcadf6eb852cebde87ed9f9fc2392d7ef2ed9b7f779f956df73e4857d7b6569dfe1f2f4ceb7e5c57bbf2b79a75c242fef7c4dfae68f941d8974a69e79b3bcd1f077997ef219f2f7837be5fad1230ea775e70bfbe4895f7d395ca3aac72a322b2fa895bddb9f916127ff48b6ef7c592e3e75babcb47787fc38af40ea76bd2d4f5e72be5c7eed7a79e9915b65d8f01ad9f3da6332c12b8335b77ef43bbdf6bcaea53deeb8e3e4ca2baf9477df7d57de7befbdb05ede7ffffdf05847b0f5775d3febc63760c0ff8462d6ee6c5a5dbf47aa7eba485ed8b953e6e70c903f6fde29f7ce9c2a0f6eda23eb1e3a4bde3fb84f4a0a978462f6772b37c9dabb6649df6b9e92f7b6fe4106f5bb54b6ec7d4b7ed177a43cbde7a0d44c3a4d7e79ff16d95d7f8f944db95dde6daa978945b966f7e55cb96563a3bc787b6fe97371b5ecaa7f504eed5b21753b1b6441221fab376c9715975d2833af7846f6bdf9940c1c3840b6ee7a47eefbd36fa46173b51497dd2aefcb4b32f19485f2e6fe37e5477d4f938dbbf7cadd8307cb83cfee9457ff305f665ebe5ede7cea76191453975ffef297933e7f18d6190c310b8859000040ccb653ccdaf59c51a6a3063a62784a387a774a786ed4a851b264c99250a4555757cbca952bc3fad2f5b3fae9151dcdb5e1ade9463f5ffbdad7644cd925b279df41597659be6c6a78472eff4e1f397e62a5bcf7f62e1936f8be8498dd2853fa9c259bf635ca6ffa0c95a71262f6ee73cba56cce0db2f7b59a70a4556dcae295f2defeb7e48f7ffca3bcbceba0bcb47ce4e1b42e7ffaad8498fd528bf47fb9718f3c737bff5048d6bcb657563cfeb0ecffc76389e393e5772fec96272f3e4f1e7c759ffc73cbb3f2a73faf9177de3b28d3a60c68550e351d99b5f5a353b055c4ea791dc1d65167ad1f15b4b7dd765b582f4f3df5945c71c5153273e6ccf077bdde8daf5fbf0b4231ab75a4a662f6813f5c9f10adfbc3f26d7c63b7bcf1d80fe4b29f3f2ebbfef18a3cb27a9514e4dd24bbdf3d206f1ff8a7cc48d447df054fc9bb5b6aa4fceaa5b2e795eab09c5fb96bb3ecdd78abdcb47c8bfcf5962be5df478c53692d93260c0fd3d591e2924b9e9083afaf90df3e5a2f7ffee977a5f88239f27e225e4df76fafed94379f9c2797a8207d7299f4499475e5b3dbe5c5e79f9195775e29a3bf794b22b6cd3277e91ad9f1dcd5619af9355b64cf5faf9115cfec9087e75e20e77e6fa5ecd99c10d911f5a86647a331ac331b621610b3000080986d87983de69863c2d1d638b3c2cd4e9355f1a6a3b57ff9cb5fc23a3a78f06038d55879fcf1c7c391c743a38d035a58bfca99f2cbeb7f9c103c03e59efafdb2eed221b26ad32eb97fde77a4f09c05f276c366193ce026d973e065a91c355dde78a7516e3be99098ad3e7f92f42dbb5c76343c27670cc895454b6e96929977c99eb79e96c27fcb91efcd5f20df1b34f0705aa79fbf441a5ffd3fc91bd857befb83ab65e1dcf3e4fc2575b2fdb95b6540ef7279ae61875cf1fdeba461df6b7246bf81f2d737f7cb13179d2757affcbb3c71c765f29f2796cbcfaebd5cc6f4efdfaa1c6aba6ed8d68f4e95d53a1960469bb56eac9d7efae961bddc73cf3d2dce0f1d3ab4457c7dfb1e12b31a6fafd32e961d3bea65f2b99748c3fe7fc837ffedf884209c27974d2c91d957dd20e75e58244defbf2be346df2dbbdfd922f7fd6a85bcbcf6d7d2f7ac5a7967cb43d2e7f46b6477e34bf2eddeb972f15f77c88b37ce929beedb225b1ebd49068f9f9dd0b2db65427e73b906956a1e0fc8b6449dccfcd660e957325d761e784b2626ca76cec53f92ff2dffa65c9c10b3ff5877a7f44f88f5f93fbb4e0ae6fe449a763c2f45e37f1d8ad9e273ee90c69deba5bcf730b96ae30e796e6e4528661ff9d17439fffb0f86627660443daae97add64cf1f86750643cc026216000010b3ed10b35dba740905689ce91438bb6e56d7b9ea37425590a9089933678e6cdcb83114b6975e7a69784e471e757456c3baa6f12cbc63a5ac5ab54a7ebffc16c9ed9f9310b69364d9830f27ce3d203f349f69b9e6aedfc9eafb96c9af1eb85fe62404d9cfef5d29574c1c1b8e7e7ef38adfc8430f3d24ab96ce0bd7a59e7bf1ad617c2bef5e14aec5b56969d89cab9685bfad5a75a79485a27c98fce281d5e1b95ffc5769389db764ee6db2aae6f772e33d2b65f1a40972e28993e4ce871f4ea4f17bf9e980be613c7e3954b8eac8b0ad1f3dd6bce86f3a9d593735b2a275cc9831f2ecb3cfca35d75c73f89cbe1c5031ebc679f2c993e4b7897285654be4efecf2b161fe0a465f6fcaf05b2939e10439edec05e1714df5b5d2bfe74c59febb2a292d3c431e58798ff4ea7d92dcb772952c5b708e9499700f3f5425f90981bcf8be57a5fe994713e76a64f1d4ecc3f752ad4f9f02a90ad3be5dcacc678786145c6bd2bd432624ca36f9dc9be5ee9fcf919313f767f60d7786f9bce907e7495ec10f127f57c988c4f9f3be7f5378cd03b7fd4cfa258e7fbce45eb9e6dc7299f8adabe4fe5b17c8294e9ad6b42e746436d9f387619dc110b38098050000c46c3bc5ac3b6a18652abe54b0a9080aa7a6969484a255a70dbba69db233cf3c33142a1ad63515672afc54bca868d5732a9cf49c9daaaba6a3936a7a4eafd1bf6d781b870d6f8f358c1ebbe9b9716b383de7c66be3b3e7340d9bbe1bc6375d0face1dcfad132e935fabb0a7abd56cffbf5a382beb4b4b4559c36af361e377f6e79358ff6d8fe6dc3b8c76ebd683c8bef7d559eaefaf1e178fcf4dd34e2d2b571d9fab1f7c596dbfe6def95fdddbdd62fb33e433a8d3dd5f387611ddd10b38098050000c46c3bc4eca73ffd69f9ea57bf9ad454c0d94ff4a8d051415b595979782456a7218f183142264f9e7c580c7544d39d8b752ab15f3f76e4d986d330151515e1dffabbd69d4e39d6b5b45684ff2badd74989347bffe747aa2ef599d19724a99e3d0ceb0c869805c42c00002066db21663ff5a94fc957bef29594a6a3863add58a786ea689b0a92bcbc3c19397264286475eda81d89eb88a66255a74febfa36bf6eb2b2b20eaf97b5e155e0aa5853013b7cf8f0700af2d1cabb1dedfea8d4a5be1cd13ad14e7c3acf1e86757443cc026216000010b3ed10b39ffce427e54b5ffa525aa6a3ae2ada548cd829b11ddd74545585ec902143c272c7d58d0a5a5d2fab75a4a2bf33d44d5b4d773bd69721fa1244a75da7fbdc61584737c42c206601000031db4e31dbbd7bf7b44d859d8ec6da8d9054b875c44f65d85168fd7c8c8e22eaf750d3a91f1db1d6115c15fb2adeb4be3af32747746ab6ae8bd5ba54b1af23f8da796fcb3387611ddd10b38098050000c46c3bc46c6666a67ce10b5f68b3e948a40a93a2a222292b2beb503671e2c470eab44ecdd58e667bea47477175e7e7b163c776b8fa698b8d1f3f5e0a0a0a4261ffc52f7eb15d7589611ddd10b38098050000c46c3bc56cb76edd300cc3b0a364885940cc02000062b61d62f6139ff8841c7becb1188661d85132c42c206601000031db0e317bcc31c7845362310cc3b0a363885940cc02000062b61d62f6ecb3cfe64603001c5d5f839805c42c0000206611b30000885940cc0200001d0cc42c00002066e1a32f6613d6836a0000000fc42c00002066e123cd9b095b6b3a2d1886611866edb184cdeea0beefc2846de31e6318861d557b266145c8313812ba9b37ef18866118e65bcf0eeafb4e31429d7b8c611876f42c17290600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0895898b0da34adbd7437d75778e7b323c2764b5897a354ee1509bb39619509cbfc88dda79e3caab12c33f71300a0adcc32ed7ff788df728c4fa84b5863c2ea13569db0f11fe3f216393e6f4a8ab0d526dcac23a8d754e478fd83b8fe424720a703970d00e0a80a817ac7b6254c12d6e09daf3f82347a9838e73ae75430364538d90613fec3a6d6e4c92fa318ab33c2fa68a3c27e4dc2aa785463a90f8eec650b00745eaa4c9beffb9d79e6bcfaa9d526dc0a236ac59cebf2312c6f85e3e7d62409d7df09577504f59a8a7caf7f10d55fe828e477e0b2010074e8c636d3c4db2385a39b1bd3a9f830c56c545e179adf3e0aa37d3d8ea033d159c80d0ebdf10600682b3d8d7f7267e3cc32edeedaa0f50ca2ae095bea08da8fab98dd6afecd8a09b7d008f90f5bcc76f5fa071d59cc768de80b0100c0c740cca6ebe85289599d7ed4cb38846474311d94cc76885925c338f10d31bf7733f9e89e8688ef693a431949c2753362ac7b3bc46c664c5933cdb5e9d4978da3fb8778bfb34c1aa94632ba46741e33ccb5a9ee695cbabd82f44650b2da990600741cba9bf6bf3e45dbb9c2b4cd538e303deb4f52cd04ca346de391b64f56ccda97b6d363c2a9d8ad4ee27f324c7ee2da4cd7c7b7c5c72413b3a9d2fc2048d76fdbbc768ff061bdda2158db926e8613160000da2066ad73eae635aa8dc6f977f104e5c1842d8a704eee745eeb286bbd73eeb4661d795be7fdbedc732236df3a7d795b441c6d11b39941f3d432979c887c6abefa4788e90541f35b6db5ed099be185eb19119f4e6f2ef63a1daee53b65ad089adfae6f35f7a2bba9cf26efbadaa0e51bf82a533f9541f3b4391bae670a27aa65591f536f1a578d73aed8bbdf074dda5d225e62e4052da7f0293a42d2e05cdf14717dd434e3294eddc4a56beb57a7b7af75c26a1e66d31400740afc69c6b3cdf1d414d7e5386da64582e8250f512f6f73bc76c7b67bd9117ecd6febd79ab6304a6caf3161528959fd7773103dd538cf84191f2166d507ccf3dae546d38e67449479bcf11936ec5acfc7f87d8e38313bc38b272acdb8feccbc88df8acc6fd39c72cdf7fce1f688e7c0ae379ee784ab34be65a9f13571d747f5af32d3ec2fd874cbbd7ad86cee170000a42166ad639b12e1f4ac28b0949b738511cea9cc3850eb50f3ccb5cbcdb919268c75f88da6c12e37c271aa3957e788139bef06e32c171ac7d45631ab4e7699714885cef91e266eeb9cf24cdeb799bcf472c2da37f68b4cbe8a8cc0f3eb7583b9de96abcc08b326234ab34d5dd8b54d15e67cbee3f0d69a74ec94e8b526efb34c382dc362137e85d7d1683236cd94afdc94656b907c24d3bed1efe59db7f7bcdc7b5ed699bf734c47f1a0f7a260aed3495b6ef23bcdd487ed48e599971a8b82d653c07d315be1a45b6cea619e49775dd0fc46bfc27966969a3c969be74abcfb0f009d43ccdaf63b9d4df7b6997625a38d6236dbb4b5db8c3fcd71fc89b683dd3cbfb6d5f16b8b9cb6abd24b273b89788b12b35690f9538d17199fdb2342cc5a7fb2ccf8b6fca079daf5cd11656e32ed7effa0f9e5e9b688322613b3f605c372d32ebbbe60518a7b546fcae2b3cce4ad9b97dfc5c6dfe49b30fee875adf1bd8d26ede5c61756996761ba29abfb92343f49ffaada49d7ef2fcc8b48b7c15c5f68fc7ca339cf8c22008034c46c97a07964cc1522dbccf9f99e236b304e3eca39a53bcdb8c6c4ed3b5b2b746679f95e1fa49ea2e38ad9389be685b7ce3ad73bdfcb1367458e6372c93082f4a011a4dd83e875b985c6b9e57a8ebd2ae21e6df0ca9a6dea7c41447937042d47aaab82e829667ebd46d1cb84f15f16ac30e9673a9d8828616c057ab177df977ae16ca7a96b44c7707e8c98cd348ebd3e22dd59debdad703a6541c40b1a36e900e87c62767390de5a4fd78ff468a398b52f4c7bc5f8dff9de71bdd7d6db59306b627c68769a623627c20fd8d9377323fc8f6dfb6b22e2b5a22cc72bb3ef4bc67bed6b2a316ba77daf89f0ed719b77051142382fa22f63dbfe9c207e3a75adf16b5dbc7b5e16219afdfb9165fc62594c59f3d3e82ff4f0d22df7c22e88281f0000623649477e8511af96b5c621d49abf2ddb1d71d25e319b19b41ec57369743a0ef931022b5527a4cab36ae3b80e7a0ebe21885f43bbda84ef12c48f5afa9d085b478d26cffd63e24e266617a451ce0ce3a8eb4c1efdfaef1211be3148bdb1c9baa0e554b6ee26fec55ee720eaad79b6f7dbdc18273d2d681e959e12c4af5f73c56c6e8a9731ee0875454cba59019b6e017456315bff2f10b3dac6ae8f89d35dc661dbfaa8cd086f0e5a8faac64d1b4ee687fc6b0a1d41ecfb1fff456454df61b657e6a875b20d4e7f219598b52f58a745c4539ce437bf3d77056365d07236d9eca0f5ec32cb74efb7da18df59eba4531844bf54f7cb6afb0b51fedfce749a9a225d7b3ff3f9af0c00909e98ad74c45a5723602a4c782be8ecc856d9118a597b5d32abf7f29deef7db92ad99ed6284ab7dcb9c19448f1c467586aa93c4ebd76d61d0bcbed74e255bec39b6646276464cdef5fc7247c0baf5e5e6b93e89384cf529262b340b3d87dfdfeb6424b31aefbee74708eb6541cb75afab4d5a993162b622c57350ef741493750210b3009d53ccd604a947372dfe4bc274c46cf734dac6ed69f8e33c4f3cdae3ca368ad9d95ef96f76da48dfff2c0ce24742fdb05546b447b12ec277c789d9b969d457aa593435a64e331cffbfd539ae4a238d0ae7daed1169f40c9a97a8b8cb578a93f401ec8cafcc34fa0b717d16c42c00401bc5ac75c4b382e637a63d9ceb740a91aef37037843a52316b3f321e65651f829855a63a823123889e8eea9725cb115fc9decacef2045bbee924b81b168d4f43ccfa65edea3853bbbeaac274ca6adb2866eb52d45f57738fed1aa9f541cb91eb6227df71f7ae288598b564990eda6a479caf73eab82d6256eb780d62160062c4ecbc347d4996d3d6a612b3cb22c4ec9a246d63459afeb8ce69771707ad37624c47cc663ba238d388b01929c46c761231bb28898fb76c6887989d9fa4ae527d9aaddcf1ab5941eb595c558ebf8f4b23dbe93b247bd99b639ea1f51162db2f6bdc0c2937ec6cc42c00c0072b6603e3bc571be7b9d911658dc6d9a9a35a11e1e43ee869c6f94ed80f5acc4e0f5a8e7e6e0ba23791b0f5d164fe9e1fc44f1bb202b9dc38afdca0f55a602b026bda21666d9ea3a65cad8f10b3514ed4ee425d9d461d6a074ddf50f70c5a8f14279b666cbf3bdc2d8598d5ce83bf0ea85bd03c72921b2166fb07f1d3cdbb05cd9b88206601204acc669b367043d072c4ac8bf145531cf1e88f8436c488d9b55efb9b6cd94abe239c52f9e3598eb8541fb5348df246bdf05b6fc4b55dcf9a15e37fac8f298b8877bce707a2be7e60db7f77d7fb5462d6be348fda5dbabbf111e97c7ece8e94ce8e10e4f65c618c48ef1fb45c335b1f117fffa0f5a6613d8d8f8c1b69b7fd85bc14fd05c42c00c0072c66671bf1b63968b90ea526689e365b790462d61582cb631a6aebe0167f0862b647d0bc6ecaae7db53b2716c7d497154876cd66758448ac0b9a772ab6d7f96ba1ba062dd775766b8398b51b41f8eb7edc1da7fdfa9f11d3394ae7db8976b3abdaa079632b97cda6039115739fa7a710b3b54e7db9f8eb8c5c319b618eb7475cb7c02b1b621600a236115ae0b4eb5d1dbf60773ab6cb50dc1922b6cddbe69deb15347f76c54fb338a64dad4ed31f6799b6b726487f07f628313bdb69cbd744f8ee2ae7f8a011e76e19331c9fdacb2ba39ff7699e384d2566ed2c20f7eb05966541fc5a579f4541f35a657f5db1ddd86a7544b9ec464cc94666ed922b3fde0c93efad3165cd49d25fd8e0f93fc42c00c00728667b39e2c87d433bdd39df2d8598b582a4c61154954e07c18a3cbb43af3aa17941f3e704ecf6fe594728666b3ddbe094c11dddeb16347f3667be1144739d7cf488e8a8d498324d0d9a47465d91bfd611b453cc6feb82d69f056a32e95419e71757d642a7a355668e6d1eed14e64c2f8f4d41f374e48526edda363c2f5b3d31efe7e7a0a99f194e1a368f9929c4acedd8d5993a9c12347f62c7cda3ff699e2213a6de749c34dda541eb5d3811b300102566339c3643fdcfcda69d5291eb7ee3d3df0dde8ae035a6cd9a6bc2d77942242b68f915006d8bec67561a83f447660347c86e4db3bc516236db29d3d42462d66daf6d192b1d7f3a2fa25e1b82e6cf092d70daef8c34c56c10348f526e306dfa14e7c5c28a34cbdd3f68f95d589ff95eb92a82e64f08cef7fa0ef53162d9e6c74e4db6799c95e47e2e727c5385d75f981ad16741cc0200a420d734d4d353845b63c2b9d37b7a9a73beb0c98a88b387699cdd9d73bb986b1b82969b33a8a3ad0e9a3f66de688eb323f25d9666399705cd1b1db9b6c638e1a837bddd4da7c6cd4755d07ae431300ed77ee2c1beb1f5dfc27733f1b91f9f57813bde0b5769f2d6601c57b2b2563a02d3a65b649c7fbd2392dd91019bcfeda6b3d196efd5cd32f11627e940d404cd6b5d6dc7b09bf712a43e68fdd9a3c094715dd0726394c5def56b82e8cfebac71d2d5f867072ddfba972549b73e486fb76800e87862d6526cfc5393d306ad336d96bdae36689e5e9a61da8d464760563a6d9cef17ab9cb04d46fcf46ca33f2e0f527f5b368868f7ca224471bdd7b666c5b485e541cb35a1eb82e84fc6d41b9155e7f8cc4541cb1156bf8c593165f67dc13653e68c36dcebda207a84d7f5dbee264e51f9581644ef189d61f2e3ee7db1d913a471f7d3ed2f484c7f61598c884ee6c70000003a7c070e0080b630fa13322e51eb32f38d08ec7a14f33f2348fdad5500000000c42c004007a3fa63dc16ea28aa8ee8ade03602000000621600a073506e84acddd0e8e384ee5ba1d3611b4cfe99620a0000009d8aca800d8e00a0f332dd885815b43d3f6679d711595dcbab6b408bb9950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d021f97f9a3e15cf46927ea90000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i {\field{\*\fldinst{HYPERLINK "http://appengine.beecoss.com"}}{\fldrslt{\ul
+Appengine boilerplate, desktop and mobile appearance
+}}}
+}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Although it is using server-side technologies for templating using the programming language Python, the principle of triggering progressive enhancement at page load is the same as {\f1 $mobile.changePage}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As you can see, the JavaScript and even the CSS stays the same. The only device-specific conditions and differences in implementations are for selecting the appropriate framework imports, which are located in the HTML template:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 ...\line
+ \{% if is_mobile %\}\line
+ \line
+ \{% else %\}\line
+ \line
+ \line
+ \line
+ \line
+ \{% endif %\}\line
+ \line
+\line
+ \{% block mediaCSS %\}\{% endblock %\}\line
+...\line
+ \{% if is_mobile %\}\line
+ \line
+ \{% else %\}\line
+ \line
+ \{% endif %\}\line
+...\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Paginating Backbone.js Requests & Collections\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Introduction\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Pagination is a ubiquitous problem we often find ourselves needing to solve on the web - perhaps most predominantly when working with service APIs and JavaScript-heavy clients which consume them. It\u8217's also a problem that is often under-refined as most of us consider pagination relatively easy to get right. This isn\u8217't however always the case as pagination tends to get more tricky than it initially seems.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Before we dive into solutions for paginating data for your Backbone applications, let\u8217's define exactly what we consider pagination to be:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Pagination is a control system allowing users to browse through pages of search results (or any type of content) which is continued. Search results are the canonical example, but pagination today is found on news sites, blogs, and discussion boards, often in the form of Previous and Next links. More complete pagination systems offer granular control of the specific pages you can navigate to, giving the user more power to find what they are looking for.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 It isn\u8217't a problem limited to pages requiring some visual controls for pagination either - sites like Facebook, Pinterest, and Twitter have demonstrated that there are many contexts where infinite paging is also useful. Infinite paging is, of course, when we pre-fetch (or appear to pre-fetch) content from a subsequent page and add it directly to the user\u8217's current page, making the experience feel \u8220"infinite\u8221".\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Pagination is very context-specific and depends on the content being displayed. In the Google search results, pagination is important as they want to offer you the most relevant set of results in the first 1-2 pages. After that, you might be a little more selective (or random) with the page you choose to navigate to. This differs from cases where you\u8217'll want to cycle through consecutive pages for (e.g., for a news article or blog post).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Pagination is almost certainly content and context-specific, but as Faruk Ates has {\field{\*\fldinst{HYPERLINK "https://gist.github.com/mislav/622561"}}{\fldrslt{\ul
+previously
+}}}
+ pointed out the principles of good pagination apply no matter what the content or context is. As with everything extensible when it comes to Backbone, you can write your own pagination to address many of these content-specific types of pagination problems. That said, you\u8217'll probably spend quite a bit of time on this and sometimes you just want to use a tried and tested solution that just works.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 On this topic, we\u8217're going to go through a set of pagination components I (and a group of {\field{\*\fldinst{HYPERLINK "https://github.com/addyosmani/backbone.paginator/contributors"}}{\fldrslt{\ul
+contributors
+}}}
+) wrote for Backbone.js, which should hopefully come in useful if you\u8217're working on applications which need to page Backbone Collections. They\u8217're part of an extension called {\field{\*\fldinst{HYPERLINK "http://github.com/addyosmani/backbone.paginator"}}{\fldrslt{\ul
+Backbone.Paginator
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Backbone.Paginator\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When working with data on the client-side, the three types of pagination we are most likely to run into are:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Requests to a service layer (API)} - For example, query for results containing the term \u8216'Paul\u8217' - if 5,000 results are available only display 20 results per page (leaving us with 250 possible result pages that can be navigated to).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This problem actually has quite a great deal more to it, such as maintaining persistence of other URL parameters (e.g sort, query, order) which can change based on a user\u8217's search configuration in a UI. One also has to think of a clean way of hooking views up to this pagination so you can easily navigate between pages (e.g., First, Last, Next, Previous, 1,2,3), manage the number of results displayed per page and so on.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Further client-side pagination of data returned -} e.g we\u8217've been returned a JSON response containing 100 results. Rather than displaying all 100 to the user, we only display 20 of these results within a navigable UI in the browser.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Similar to the request problem, client-pagination has its own challenges like navigation once again (Next, Previous, 1,2,3), sorting, order, switching the number of results to display per page and so on.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Infinite results} - with services such as Facebook, the concept of numeric pagination is instead replaced with a \u8216'Load More\u8217' or \u8216'View More\u8217' button. Triggering this normally fetches the next \u8216'page\u8217' of N results but rather than replacing the previous set of results loaded entirely, we simply append to them instead.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A request pager which simply appends results in a view rather than replacing on each new fetch is effectively an \u8216'infinite\u8217' pager.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Let\u8217's now take a look at exactly what we\u8217're getting out of the box:}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone.Paginator is a set of opinionated components for paginating collections of data using Backbone.js. It aims to provide both solutions for assisting with pagination of requests to a server (e.g an API) as well as pagination of single-loads of data, where we may wish to further paginate a collection of N results into M pages within a view.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000003aa000000620802000000d64db90d00001819694343504943432050726f66696c6500005809ad796758144db376cf266059969c73ce3983e49c734660c939675424882425082849041104110c241113820822820a180009822415545004e4cc2a3ecffb5ee73bffbeb9ae99b9b7faeeeaeaaa9e9ea95a00585a09e1e1c1082a004242a323ad0db4b91c9d9cb948a60012d0032ca00080e01515ae6569690afecf636b1c40c4c617e2445dff27edffdd40eded13e505006409377b7a477985c0b8150064a7577864340068a23ebeb8e87022ce87315d246c208c6b89d8ef0fee2462cf3f78e837c7d65a07e6cc00408a231022fd00a05883e55cb15e7eb01e3c0e000c4da8774028dc8d0bc6ea5efe046f00583c608e5848481811e7c258c8f33ff4f8fd0726103cffd14920f8fd83ffcc05ee090fac1b10151e4c48f8fde3ffe725243806f6d7ef8303bee2a2826c4ce03b03ecb7782f829e0d8c99607cdadfc7c8f4405e171ead6d7d20ef0e8836b285311dcc79e91f63687780976282ecb460cc06cb7783c24c887cd84f08a6504f730b18d3c098cf2b4a07f63d712c8442a2bfadc301c7d4db47570fc6f02a4238468659ffe5fb47c5dafc952726faeb98ffe507128c89f1c6c3fc6c42248c7edb8338e7136c401c9707963785475b12ed248e351c1a6c7e3017c47bdf487d228728ffe913f57bbe44dbfca3fd6d0d61396c33922a3ad296c881e78864f30dd03782316c1b52ca3fd2f0af5c333cf8f79a86fb226d2363ac897ee083b1af4fa81dd1874479b6374197e85bd827c80aa00f082012f8004f100a96011730053a40f7e0ca05cb436199170803c1f019c945f9b705bd881e45cfa1c7d033e8d77f6570cf031e0800de30fea3eb3ffac3721b90083ec25a7d40d4dfd1502c2875942aca14be6ac2a70c4a09a5fcb76d78ad63ed2f3eb0d50fee2b7ea05bfbc0fa5858e3de5f9e7b406ae45f7cd0c7f39f1effdb267df01ef680df5f86d415a965a9ddbffdff9d31460fa38b31c4e863849199c89bc87ee403e400b21bd901b890f7909dc821e41d223eb0ebef28045842f40ad1c351c004f6a20f88f9fd2bf4ef78ffe5a5987f18071af0227879600df70a0541705bc03f23d8ffb63ae07f698981199ef0888130d7e49f781cd8851280bd2b8fd246a9c17e867d8c6240b10071941cec712d94061c037958fa6f14ff7b36e2c0f7b7b7637fcf25082cc2f30889f6898f86d712d0090b4f880cf0f38fe6d282774b1f312ea3502f09312e1929695940dc7b891c00be5affde53218667ffca7c96003804af63b2917f6581670068ec038031fb5f99800b00cc62005c7fee151319fb471f8a7843c33b3a25fc5430030ec00b84608fc80005a00a34811e300616c016380137780dfb8310d8e2387004a4800c9003f24131280355e022b80cae821ba003748307e011780246c018780b66c0025805eb600bec401044025140b41033c409f143a2900ca404a9437a9029640d39411e901f140ac54047a03428072a84caa06aa801ba0edd821e4003d028f41a9a8596a12fd04f04128143d021d8110208498412420b6182b0451c46f8212210898874c469c439440da209d18e788078821843cc2056119b488024473220b991e24825a40ed202e98cf44546228f21b39125c81a6433b20b5e8b2f9033c835e4360a83a24571a1c4e1481aa2ec505ea808d431542eaa0c7519d58eea45bd40cda2d651bfd0146836b4285a056d847644fba1e3d019e812741dba0ddd073fcf0be82d0c06c38011c428c2abdd09138849c2e4622a312d98fb9851cc3c6693848484994494448dc4828440124d9241524ad244728fe439c902c90f5272524e5219527d5267d250d254d212d246d2bba4cf493f90ee905191f193a990599079932590e591d59275913d235b20dbc1526305b16a585b6c2036057b0edb8cedc34e62bf929393f3902b935b9107901f273f477e8dfc31f92cf9368e062782d3c1b9e26270a771f5b8fbb8d7b8af14141402149a14ce14d114a7291a281e524c53fcc0d3e225f046786f7c32be1cdf8e7f8eff444946c94fa945e946994859427993f219e51a15199500950e1581ea185539d52daa09aa4d6a5a6a696a0bea10ea5cea46ea01ea251a121a011a3d1a6f9a749a8b340f69e66991b4bcb43ab45eb469b4b5b47db40b74183a413a23ba40ba1cbaab74c374ebf434f472f4f6f4f1f4e5f477e86718900c020c460cc10c790c3718c6197e32b2336a31fa30663136333e67fccec4caa4c9e4c394cdd4c234c6f493998b598f3988b980b983798a05c522c262c512c7729ea58f658d958e5595d58b359bf506eb1b36049b089b355b12db45b621b64d760e7603f670f652f687ec6b1c0c1c9a1c811c451c773996396939d53903388b38ef71ae70d173697105739de3eae55ae766e336e48ee1aee61ee6dee111e4b1e349e569e199e2c5f22af1faf216f1f6f0aef371f299f11de1bbc2f7869f8c5f89df9fff2c7f3fff77014101078193021d024b824c8246828982570427852884348422846a845e0a6384958483842b8547441022f222fe22e522cf4411a20aa201a295a2a362683165b150b11ab109719cb89678acf815f159090609538954890e894f927c92ce920592fd92bfa4e4a582a56aa5de4ad3481b4ba74a77497f911191f192299779294b21ab2f9b2cdb29bb21272ae723775eee953cadbc99fc49f91ef93d0545854885668565453e450fc50ac509253a254ba55ca5c7ca68656de564e56ee56d15059568951b2a9f55c55583541b55970e091ef239547b685e8d478da056ad36a3cea5eea17e417d46835b83a051a331a7c9abe9ad59a7f9414b582b50ab49eb93b69476a4769bf6771d159da33af77591ba06bad9bac37a347a767a657ad3fa3cfa7efa57f4d70de40d920cee1ba20d4d0c0b0c278cd88dbc8c1a8cd68d158d8f1af79ae04c6c4cca4ce64c454c234dbbcc1066c66667cc26cdf9cd43cd3b2c808591c5198b294b41cb08cbdb56182b4bab72ab456b69eb23d6fd36b436ee368d365bb6dab679b66fed84ec62ec7aec29ed5ded1becbf3be83a143acc384a3a1e757ce2c4e214e0d4e94ce26cef5ce7bce9a2e752ecb2e02aef9ae13a7e58f070fce1013716b760b73bee94ee04f79b1e680f078f468f5d8205a186b0e969e459e1b9eea5e375d66bd55bd3bbc87bd947cda7d0e783af9a6fa1ef929f9adf19bf657f0dff12ffb5009d80b2808d40c3c0aac0ef411641f541fbc10ec12d21a4211e21b742694283427bc338c2e2c346c345c333c2672254228a23d6234d22eba2a0a8c3519dd174f047ee508c50cc8998d958f5d8f2d81f71f67137e3a9e343e387124412b2123e24ea275e4a42257925f51ce13e927264f6a8d6d1ea63d031cf633dc9bcc9e9c90bc70d8e5f4ec1a604a53c4d954a2d4cfd96e690d695ce9e7e3c7dfe84c1892b19f88cc88c8993aa27ab3251990199c359b259a559bfb2bdb30773a4724a727673bd72074f499f3a776affb4efe9e13c85bcf3f998fcd0fcf1028d82cb85d4858985f367ccceb417711565177d2b762f1e28912ba93a8b3d1b7376e69ce9b9ce52bed2fcd2dd32ffb2b172edf2960ab68aac8aef95de95cfcf6b9e6fae62afcaa9fa7921e0c2ab6a83eaf61a819a928b988bb117176bed6bfb2f295d6aa863a9cba9dbab0fad9fb96c7db9b741b1a1a191ad31ef0ae24acc95e526d7a691abba573b9bc59bab5b185a72ae816b31d756ae7b5c1fbf6172a3e7a6d2cde656fed68a36dab6ec76a83da17dbdc3bf63a6d3a973f496f1ad9e2ed5aeb6db12b7ebbbb9bbcbefd0dfc9bb8bbd9b7e77ff5ee2bdcdfbe1f7d71ef83d98ef71ef79fbd0f1e1cb5eabdee13e93bec78ff41f3decd7eabff758ed71f780cac0ad41a5c18e270a4fda87e487da9eca3f6d1b56186e7fa6f8ac734479a46bf4d0e8dde71acf1fbcd07df1e8a5d1cb2763e663a3e376e3af265c27665e79bf5a7a1dfc7ae34dec9b9db7c727d193d953545325d36cd335ef84dfb5cc28ccdc99d59d1d9ab3997b3bef35bffa3eeafdee42fa22c562c907ce0f0d4b324bddcbfacb232b2e2b0babe1ab3b6b191fa93f567c12fad4fa59f3f3d0bae3fac246e4c6fe97dcafcc5febbfc97debd9b4dc9cde0ad9daf99efd83f9c7e56da5edfe9f0e3f3fecc4ed92ec9edb13deebfa65f26b723f647f3f9c1049f8fd2d8084af085f5f00bed4c379911300b4230060f17f72a3df0cf87317823930b687f4105a482514131a8b2125912275224bc3dec3612808f80e2a2c7530cd209d3c7d0523600a621e665560cb675fe5d4e4cae31ee5c5f229f33b0904098608b90a6b8bb08b6c883e122b150f925093a4907c27d5227d5cc64a965bf6a3dc2df9130a568a6c8a0b4acdcaf12a5aaa58d517872ad4bcd5c5d4bf6874681ed1d2d6c669bfd3b9abdba857a95f6070cc9060a461cc64bc613264da6c56695e6dd16d396f8db661b665b1a3b247daef3aec3801673217bc2bc561d4e14db739f7118ffb849b9e755ea5ded93e09be7e7eb6feda0172812241dcc1cc2194a1c8d06f6173e12311b7236ba34e4727c764c4b6c5a3127c12ef1f0147058ea9241b1d774989493d9d569c9e7442eec47c46de49cb4cfe2cf26c9083c8a53e25745a3dcf3cdfa1c0b9d0f98c63917db16d89d559f37326a50665dae5ea15ca95b2e7c5ab442e48559bd4a45d9cb96454d754bfda40ddc87f45ba49f5aa6eb3598bc335f7ebfe37c26fc6b51e6b4b6d3fd191d999732bafabf8764577dd9dd6bb7df726eecf3c18ef6979e8dbcbd4fbb8afe4515cbfefe3c3030e83564f4c860c9e1a0edb3e8b18b930fafa05f94bc9319d71a309bd574aaff9dfe0df6cbf5d9a7c35f560fae2bbb419bf59bb39f379b3f7160b168bc61f949718976696b357e45666562faf257e34fc44faa9e1b3c1e7f9f58b1bf15fdcbe5a7c33db0cdceaf971f267c79eeefefe41fca59128e4326a063d8f592745922960fdc92b70337811ca38aa4734ccb409742f1964185399a658e45933d8463858381db90ab8bb79267937f9b6f857049e0a5e148a145617211579295a2516282e2ffe4be291e4692907694ee90f32cdb2b1726af2907c9f42b6a28512add2b872a98a8b2abbea24bc0a5cd599d52734ce6aba680968ed688fe95cd7cdd5f3d13f64406db068d86d546c1c6be263ea69e66f1e661162e9696561ad6a2362cb6a87b747d86f397c701c777ae8dcec52ee9a7d38d12dc0ddd1439720e9c9e40579ad788ff9f4fab6f9d5f99704a407860539056b86088652c02b61367c3ae25b1477b47b4c69ec83b857f1f3096b89db47c88f721c134ae63a8e39fe2ea52d352f2d32dded845d86e3c980ccb4accaecab396db9eda75a4f5fcfbb9adf5070a9f0c299f2a2e2e2bc92acb3a9e7124ac3cafcca032a8e57deab12be70b946f06261ed8b4bdbf5f8cb2c0dbc8d22f03a50bcaadeacdb6276cde97af08d8c9b175befb68db64f772c757eed42de66ec16bda37a57f39ee27dee078807733dfd0fdb7aebfbca1fe5f79f789c38103918fd246ba87b98e1d9d191a9e72c2f345eda8ef98e1f9fb8f4ead9eb6f6f6926c5a74ca7c3df9d9db93dfb7c6e7a7eeefdea221a8e7ecaf2e82af59ad447f94f029f293fff585fdc98f832f8f5d6b7eacde42dfbef82dfb77e746f27fe54ddc1edeaee2d1fc45f025a455422dd50c26812f40666996485748e6c831c8be3a7d0c23b53a65035518fd2ecd3f1d3eb3104329e60aa626e65e9637dccf688fd364735673c9736d74fee5a1e139e55de4c3e41be1e7e37fe6d81224129c141213f6112e17a1143910fa2196242627de25e1240a252f290e42ba918f8eba645c6546649364d8e43ae53de5a7e4de18422a76207fcd5b2a49cacc2a07245554bf5f921af439fd492d449d4cb35e434c63513b538b43ab52db45febf8ebecebd6e859ea93e93f3438622867b8625463ec6ac264326e5a6c66634e693e609166a96af9cdaac53ac846d0e6bd6db5dd617b66fb970e798e868efb4e6dcec12e7c2e53ae2587cd0f6fb915b9f3bbb77a6879bc21c47bf278be82f7117f1f035f453f657fa30042604810215823842a6432f4525848b87cf86ec4c3c8ec28cb68fae8b73155b1de7102718bf1e713f41226138393e8925e1cb97df4eeb1dee487c76fa534a496a4a5a5879d70c9d03b299289ce7c99559aed9cc397b3933b73eae9e95b7917f28f15b814aa9c6139b35d345e7ca3e4ecd953e70a4babcb6e963faa7855b9727ee7024535578dec45c35ad74b6175c7eab32ee7361c6f245c516cc2377db9fab179fb1aee3ac70d999b96ad496daded3f3a956f857795debed6dd79e7f6dd817b9b0f0c7a6ef5daf46df6970cc80ebe1c3a35ec3162f45ceba5f678f06bfce4eadcf0cae6b76d62fcffd4c888ef048c020067520070cc00c04e0380825e0004c6e0bc130b80255c25b4550608015f80c00d014865f69ff70704d71131801c50c335294e2008a4800a5c33b100ce70861c05679779e03c680677c133300bbec199231b240d1940ee501c540035418fa14504062184304544212ae13c6f1fceeb6291b790bf5006a833a839b42c3a13fd0ea38229c5ecc019d620a922693d192b5901961c9b458e25cfc7b1e0ea29e428baf16af82e4a25cadb5486546fa9a369a868aed2ead28ed2d9d28dd25bd03f677067f8c158caa4c634cd7c948595a58bd58d8d8cad9b3d96438ee32be70dae486e79ee5d9e7ede123e7ffe4302788119c19b4299c29e225aa2026278b11df14f12ef25c7a4daa49364a465a66533e5e4e53ecb772a142a2628792b9baa48a9321ec2ab49a8976b8a6a9dd21ed0f9ac47aa4f6fc06cc866c4672c67626e1a6176cebcd7e28b15afb583cd69db7e7b9483ae6386d3900b83abe7e146b7f71e1802b527c673d36bc17bd267c58fd2df24a038f043f0a190a2d04fe1c6118d51b8e888983771faf19d89e2497547b98e951f67482948c3a6a79cd83c1998b99a9d931b72baad80fa0c4bd1c7928673ee650ce52395a7aa0c2e6cd6e4d5d25dcaacdbba1cd4f0e54afe55bd16ea6b1b37165b97da573b3f74cd776fdc637ca0f3d0adcfa3df6640e389e453e1670aa3a12f7e4ca0de904d56bda39dbdbb805f3ab2aaf5b1e5f3ce17856ffa5bd8efa77e0c6e2ffd5cd879bddbba97ffcb735feaf7fe418c3f095c93a3816b0edc4004c802356008d7193ce00a4312c802a5a001dc82eb0853601d42432c90d4efe8274045d0356818fa88a044c8229c1169881b88052427d21d598b5c4329a0d251636861740a7a128e7d390920f1271923d523ed2493246bc40a639bc8e5c8efe12c71f314f178327c312537e535387f7d4b1d47c340d3416b4ffb91ee283d96fe1c8338c32063181323d37de600163a96fbac616c7c6c93eca51c8e9c4c9cafb92ab9bd79a47801ef4bbe2bfce902ae8272702eb7223c2472137e8be589a7491c918c96f292d694c1c90ccb66cb99c833ca6f28bc56ec576a57ae51c9554d3c14ab96a5dea9f15d4b56db5b2747b74eaf5dffb6c16dc33b4603c6b3a6083311737b8b13961d566b367cb6ee7695f6d38e3c4e81ceedae24871ddccadcfb3c46093d9e0d5e99de013ed6be867e4efea901f78328823d43bac358c21323a6a2b4a31b6229e3c2e39f247227c51e1939269f5c9bc29a5a948e3d9194b19649c89acb493c259587c89f2abc5e145b2277f64be9f5f2984a95f33f2fd4d5c85cacacfd502758ef7ff95a23e3958aab6acd1faf95de50be39dc4668dfe9ace9b2ea06771aee99dedfe8a9eaf57ca4f2987b10f5e4e9d3d8679891ece7b8173563ee1366af83dfd64f7d98e19cb37c9fb27877997135ff93c0fad3af455bb9db463b32bbe7f7deffda38883f0a90c1b5572638faa270ad490758c215a61070147ef2ab412b780ca6e1e71e0709409ad06128092a87ee40b3083238ea0444316204498ff441de41b1a18ea356d04ee8a7181dcc1db89ef280d494748a2c0a4b89bd466e8f43e23a2822f0d2f81f947d54a5d431344eb44674c6f4560cc68c8a4cc2ccf22ceeac096cd1ec9e1cb69ce65c66dc663ca6bc667cd6fcee025182a7841a851f8b2c8b51882b4af84a96498dcbb0c87acbb5c8ef285a2a3d55c93ae4a48ed6c8d7dcd536d1498323d8a1df6d70d770d868c7c4c4b4dd5cc2a2c94ac2badd56c76edc21c409ebdce46aef46ed41eee9eeede2f3de4fd53f276031c83a7828d42cec79844be45274522c47dc74c2a3a4fb472b93ed8eff4cad4eb7cfe03cb99e752727f7946f9e410173e19322dfe2adb369a5d46535150a954fab7caba19a8a5aa54b63f5310dac8d8f9b929b0dae49ded06f4d6eafe9cceb72ea66bc3371affc81d34392de4b8fe4fa6f0fe80d4e0cc50f4b8e2047d75f2c8d8d4e14bc167c53f9f6d794de74f6bb27b3947376f317de2f2f4a7f085abab0fc7865650dfd91ed93d467dd75870dc217efaf96df78be6d6e9eda62db6afcaefcbdecfbf60f871feddb0cdb91dbeddb3b3f357fa6ff1cd8c1efd8ec9cdd19d925ddd5dc8ddfbdbebbbcc7bde7b457b837b8b7f74bfa97f7afb3bf9efcfab52fbdefb37f6e7f8818ff285f5919e2db0340386db8fc38bdbfff550000924200f60af6f7776af6f7f72ec2c9c62400f783fffcef422463e01a67c53a110d7297136fff75fc0fedd8b8677c4c06930000019c69545874584d4c3a636f6d2e61646f62652e786d7000000000003c783a786d706d65746120786d6c6e733a783d2261646f62653a6e733a6d6574612f2220783a786d70746b3d22584d5020436f726520352e312e32223e0a2020203c7264663a52444620786d6c6e733a7264663d22687474703a2f2f7777772e77332e6f72672f313939392f30322f32322d7264662d73796e7461782d6e7323223e0a2020202020203c7264663a4465736372697074696f6e207264663a61626f75743d22220a202020202020202020202020786d6c6e733a657869663d22687474703a2f2f6e732e61646f62652e636f6d2f657869662f312e302f223e0a2020202020202020203c657869663a506978656c5844696d656e73696f6e3e3933383c2f657869663a506978656c5844696d656e73696f6e3e0a2020202020202020203c657869663a506978656c5944696d656e73696f6e3e39383c2f657869663a506978656c5944696d656e73696f6e3e0a2020202020203c2f7264663a4465736372697074696f6e3e0a2020203c2f7264663a5244463e0a3c2f783a786d706d6574613e0a94fae1d100004000494441547801ed7d077c14d5f6ff5d52363d2410124a124a409ad2451e480da0c442d100169efd293ec5f2d467fbf1fc5b9ef21e2a3e0515b1174009c580540169520204429114524848208df4dd24e4ff9db9bb3777677793094208e15cf84cce9c7bea77eece9cb97b77c6505353c3a8110284002140081002840021400810025707022dae8e34294b428010200408014280102004080142404180ca5f1a07840021400810028400214008100257110254fe5e45079b522504080142801020040801428010a0f297c60021400810028400214008100284c055840095bf57d1c1a6540901428010200408014280102004a8fca531400810028400214008100284002170152140e5ef5574b0295542801020040801428010200408012a7f690c10028400214008100284002140085c4508b8eaccb5b8b8b8a8a8c86432e9942731428010200408014280102004080142a0d110301a8d0101015e5e5ef57ad455fe969696a2fc0d0e0e7675d5255faf5712200408014280102004080142801020042e220255555567ce9cc1fb8cbdbdbdeb36ab6bf1435e5e5e9b366da8f6ad1b4aea2504080142801020040801428010b85c08a05245bd7aeedcb97a03d0359b8b6adac5c505d574bde64880102004080142801020040801428010b82c08a05eada8a8a8d7b5aef217560c0643bdb6488010200408014280102004080142801068e208e82d7f69eab7891f480a8f10200408014280102004080142400f027acb5f9afdd58326c91002840021400810028400214008347104f496bf34fbdbc40f24854708100284002140081002840021a00701bde5af1e5b2443081002840021400810021c81f3e7cf6765659594949495955d7198e0c9a93e3e3eeddab56bd142fb84a82b3a2f8707a28e641dca13b31920a0b7fca5d9df6670b0290542e06a43a0b2b2f2ecd9b3393939575be2946fa3218027e23b7c30286ac43ffef82328280802eeeeee8d16cfc57264369b7373738f1e3ddaa3470fb902bed2f372888fb3641d0a13b37920a0b7fca5b5bfcde378531684c0d583406a6a6a4141011e03e9efefefe1e1e1e6e686dc71278fb3d9c5bd9fe706f949d2997d3d32ce0ecd9fd1756653e6ebb1af4746b629d37f4657b6e38cd6635f8f8cb09f9494141111819183877e82e94c173757e5e5e5f9f9f978cc3e2ae0f6eddb0b0b1806a74f9f46ed0bbe605e59044a764cfd02042482d40002e26f0679393c0a0e93752849cc668380def2f7e25e2d9a0d7c9408214008344d04509aa02ec1c51bcf80c4959b5fbceb081502bc72ad43c6591757e427496776f4c838b30f3ec55f07387ab0d52323bbe0800bd805a191c1e8c2cc281abe6190e78031458a5baf5ebd7ac9f25722ddb2654bdc0c201de488f89b4d5e0e8f8526598732c46c3608e82d7f1d7ef89b0d0a9408214008343304508ee0528da470ee924f5f9c96392271874cd15b07a1b179c176ea7021ba34be041fc405fbd5d8bc603b7230ce688d2f59ec82fd6a6c5eb01d391867b4ec8bd3a80b4160b06567678786860a45dc80a13816bb5728816951cc702378816af3c8cbe1e1b04fd6a118319b07027acb5f3eb1d13c72a62c080142a0d9238025bf7cc20f99e2cacddb65cc1a01f048780c7cf732c6d350d75755fc7cb4f06d1d404180cf89727030e43a74e8c0e59bd91513e9f08cf8b60e4c9a41979a2bbde3b6191cc97a52d05bfef28f773dc6a89b1020040881268600ce5df2351bb4e070c2fee4a64746ced299bc33beacdb505a8f4d3d32b25f67f2cef8b26e43693d36f5c8c87e9dc93be3cbba0da5659bd0e5bb9cc0d67e2c35d47e93956fc6a9d9637e55256b9ffe55c2d15bfee2437e95204269366d04b2972ddc3bf4e15b431a16e5856935cc074937590470311367307e6113973741c8c1cb3232ad297d848a2c03a6b0e98c2f142f80d063539691698aff0200d7a8c8786abab02b869920ec65ae440ed2e119f1ed959882fe98d55ca9e0d10fd8952aa9b7fcbd90fcb2b72fdcebf3f0ad7d1de9961edc9cf7c7a91aff0eee378c6adbd28144d1c1cd85750a58748e6f4e3dee17307180bfc646c5c9ec83a7ce7b283ff5661595ace38036215eda640be3b3d61d3233b7167d4606750ff1942d54649f399858c5d52d7c4fafbe7da4482b0b977c9ac77ab69c3aaa9555b1e2f76f32d3bab69e7a833618ab80a3bf9515156e1e1e9a1e189f9f177c5bfb919db43d1a41a7bb0ecd3a913e19b723cb357c681fcbd7760ea44ab27ffe6ae1cf7be3d3b359cfbe43273ff4f0b0081f96bde79d85c97f7d617ac8457ea44f9d87de9cbd70f1fb5da6df1ae2a309936b9d3776701f39aa9d749c5431a75a6aefa9ac25712da6de2e2aea7a07a7c6b5b25b3f865ca9ae0f8503b35656fe9e759be3d3cd21113d868eea1b68e5d6fdd79cbde7a3f717c7e787bef2e1d31136c7c8a1b59283db37ef3d96ed13d263d4a86176f03a7275a90680235f8e783a31e7176c5eb5c00c0870f82e27b880230f0a8ff7f26d43759dd994f90db5d950798a5f46db9e6e109e269309f258218a2d37c5d5edcd720ec047132eae50da3e3b35ad2b3e2f87c7c53e59871c9d271f87bac46c2208682b42676161b83beb72cc2f499af3f7d9eb4b264fbba58fb6506185f39e3ef36c151be16bd8babb822d2b497827a2bb976c46235096f46ee78e6a212b0b81ae389ade6b99a9cfb565b7f7f7b3edaafa7df1b93199b5bcef025b4eed69f32b84e3df26f5de7d9ef9b618517c7eebf6f4d52f741edfa1168d931bce0d45afdc3ccd25d7f9d756a3e68a15c7aa961ecb0deee13722982b9e4f8dabbabbac2c7ab02618d98a862e5ff25cc69cebfce3ee0fb6e930577c9258155d5435a2a1b05bac38316be3c3ba63cecc2aadf6e91ce0fc10a7bf71fb035b98dbc8c933c605e4c42e8a9dbd3776d6e76b4615ec5dbfe5e7f14f4d0b767468acd61bfab7be435fc37c58805292c8e3b1f2cc4bcf14ce612cdad7b074b789ad4c3ef55e6751cc2a1138d4e2a1959d9d37aff8d94ab7db6eab510fae2600fbc1e928a3fa3154b5eafa5038326be165cfb9f99ef5952c2034a06071c1fb6f8cfc78cd2bb6e5ac435df3aa7fbe189bdd65dcada1de6e325c0ead952c7b76e2827816d025b42079f167eff7f978cddc7a5d94645f8a01e03017474c1d98e3f28626566782e68614a22c73eba6ed293985e566e6db32b8d70da3fb7776fcb1adca4d88dd94d17fe2cd614645dbc688b42b4204d690c1ed67b58bd1c3adb6d41602f6846cd39419ffcbd643b926df11e3238e6cabf52b6b415e8e4aa843c694b92b763fbbe5d6216ab0b54a552613e231baea8d9f8f1858e6e9d41a7244f100ec5d3892557822604e885d67f2325f083bd3e5015f40fc223058969becfdf0e1c345454563c68ce14c8881c00043e334f70b2627f07b38f0ebdc9acf9d33198d7eeeeef54a3ab5537eee9cc1cfcfbd7e5ff616e0bdc6cfcfa3ce08951c910ecf886feb96577b2f6f5ef69982535e5262f0f1516e5dea885f4e16b4e3a6e3e4e35891b84d0901eddb5c9cc58611a3b7551e7bf1e6c8c8898fae2f602c44196a9a766e7b3e6adfefefeff0ebbfbb95cec49cebf94f37e6cb32a643851058362b4c11980581aaf587cb64012b9dffc1820a047c8d979551fbd7fc47267bf79e0ed51f5ec3ff4feb652b547cfaeedde7670cf3affe77d75f3f0c9cc1d89c2d05b5da06438f7bbb0addd299caa5e4fbfb833d650977c64be131f332950901dedcd808372badeb6f0b831b6bc99453a74d53e7ea3c95cbc4853527661d192b48cdac669ee11dbc1d752abcd2f8d82d8ccdfc64d5ab8fdf75c75d4f7fb9722e7edb3c3fe618e6409403eceb4cef42f83a0ebd3a426d6da7c514a1f6ddf4cf2e3f60c03c6c6455554bb717d98a38d032549d7de9e913ae2f143c8b9f357b5a0e41bd83d3d6ac65af5e0c0df57d281c9ae5ccd2f818d4be333f59f9d3973ffdf2c94cc6b6c41e2bad435e741594b08029cfbff0f81d6d054b399a8eace56c41ed3be8a92f7efaf4cb4d5f3cc558fc82f519929213f2120c00279e1cb0ebc51c879cab09a2d64a75fad22f571ec9c8f30e09ebde29d85498f5fbda6fb7665442409432bca001c79c9b9a9577b2b85ad1e64c7b19a5cfda5499b28d9f7ffef9ba3fc01376acfd75ff35eff8654756617540909f4b71ad5f7b1d392adecb1d9d2f39939371c6acf55bb661d1a2456b8f73196c05616f597409c25ec611c7e2c251972e9e7027087b35d125880b93b1d7d2c3c9cbcbdbbb772fde648117b9c9f2eac945298235230dbb2816516939d996c72d7bf9faeb6f8c8c8cbcf1c6eb1ffb2aaedca9a4b050b46fdd8e5c5b9be529df0f8f8ca95075cb53d60d1e3c78ee3ee5479fcefd0a6b90c97d25f2de7de7648e03fa32e65594f23332bafefaebf9f6e5afd69f2d7710a1be7cf35e1e734f5c513dc86892950fb4a0eb3df90849222e1702388ef536bde52f8697dee616f0975b6f993c79f24054492596bb4659f7f4513c48dc755c7f2f308d3d023f72655bb3cd36028955ccd56d7c84872210ee3ec27aeb29cb80def57eee4b81ae6ffab29c4a3b2fe6e2258c8507d6949f2b2937576a14b15b70a43c9eb5f8bfa9c13535e86df9ee332d3f1aa9c4e3a815bc36df34a2bf5f740f251ea93194ded11d5bb062d36bbfe659f82adea0cb53b25e7cee0f97bfe3ff89c5dbd05bb9eb934497e7928e952a82e5f169fdfffec78aa3592f3e95765739dbbabfa0ffbfd3cb2d26f81fc5508d5d5a277f4d9daed854febffd4396aa52b20596554eff17930f6494d798cf38376be343dd29cdc831b90484fadbf7080e4fca64b230bcfbcc9c3c727c1fcc16a32363d97bafdf84c9903163ee7b7d55b12a519cf6eb0b77a8ac31635e58b8bdb8a6f8a7676e7ae4a383bcf3a717eeb8e3f5b5dcd6f677eebbefa33dc20f88d3f51f7a1e8dac54535e59c35c8d83dbbb806bbcaef5478cad4cb485934f15db28d5d4b8ba8fb8ce6d517fb7e77d718765c1badec1a9b1a1eeeac0b0be0f8523b316dee9a478e636795c176fecbb8576095000d08adb619ef8fa4d372f2e60058bff76d3333ff1e3c2751c5a3b9d7490b1d069e3421599d091d30258fcd16c5b1fc56bdf7b861fd49bee7b7dcf697e002fce0030a5adbaef8e673efae8056e5f0c24db00347bf5638ee070e6c596974af259b82ce9502e63dd273c3cedb6a8c8a8c98fdc3f06777247f6277279a1685171c5b7462eaeea8ee812846c56a2dd980bfe712589ad83345533974e23efbc2d32a2c76d8f3efae8b53e4e74a4a8b8045ed000c268b444cb23b42a5be211610bc22af0e7ff5e78cadcb7084910f631892e41d8cb5c3ace8e1d3be017edd75f7f95bdf0c29777c9c3141c795743579c8c99392771de8a4d7bf6ecd9b474cefef93317ff51a491b1dbcd9af9ead3591532bb62f5ccf7677e33cd47e51d59fe1e9c2e79e7b77a0d594d84bcf07adb999fedb7ee3afeab4944b3abd1b9c8793113638173966e425bb17441abc5af464dfa5a77769ad02e24598d0975b7fe938f232de2352a0218a5f5b6daaffbeb16c5a7bd6e01a9b7ed6d8f3f8ddda41ff6eefb4a9d8091fa40f6981e9279877b806ab02231fff12af65637656a564875baa36bf51d8c95151edc5db46e4df956e6f2791f5c0444bf4254c49d1c96643832a7ddf1d7d3d75baf7342a222d3bc95b1ad1f58563f8ce8eab9665658edba05c67292aa21fce9db89733295ca28ba87e7178f07db7ab0183bfecdd939ac45f2036db5bd0696c3d8df6e0f9eb5e6f4d098bca9035bf5f5b3c468c83f1df56e7161478f23b77b666f3b376649aea195d7d47b7d673c7faef73b19a5ff707f6061457c579f9b7afa779f5255b1acfc034fd777c779636a59c4cf54d2600b5e45626a448ce9c9c13ec9c3dc53b7178ed9513c725cbb900d59630eb365f707f6f5acfc647ef1c077b24b3f6cf3d729158ecdd63ab050e77353cf3143689710d9b946ca3762681716b3e0c9898bbb8c9c72ebb01e7d7a5cfff8abd7e3d6e6a822b82536e3f9b9ff0bce59f7ec9c799fdd3afae9b083773ef06665c0b8d7e68eaf3cf6f31b9fcdbeb3e4dfeff60859b0f8e79cc7fb8694242fde5750c062325ebd2982a5c7accf087925ac61879e83a45c7c6ac33454a27eadc61c3cbe2900750e873ec78cddda23ee488bb196373da02c124e5d7c62ceef16aceb1d9cb55ead941e0c19abe7436135e6e06fd73b3edd848f4349f69ebd3bd67d34bf800d9ad21353ee9264fe763bccffefdd579e2a98fd7e7ce8b817665c2f4b3bb496b310eb1ec64718b955dfa1e303162fdb5bfac2f562d952d20f4ffc27b664e6dc4f06b967cf7f62f68bf7f8acdcf43497fef303a0b2343ea3203e23a68bcd40ea2b9c4b995a497d985bca5f28f1e122068d05bd6a4c92aa63c4a7dbe0b0f894207c800da569fb96afde55a09c1e5c3a0d991035205ce842ab2475df8a3596dece43a2260c50466f51f26f31ebe28b151516dc3d72d28dee4b16aec1575f2c7dfd875fa5dfffd748f9e495b673f5dab814b322cb5a771a3629aaaf8758605095fcc38235a8cbd9c9351f7ed5fdae91c6253fa78fb9ffee6edeac2c3d2e66f5ae42352af88d1a6813d5d9139b57ad4b2883a24b40e7f6985c506e911018ae360a614ef9e6d33585a0d4781eb86f6c4dea8ee56bf6abd65840e72193a2067aa3d7da6a6ace6d5bbe3c3eb35861b8b71e1635a95f0705a5d2b49dcb57c7a9c8b0969d864cbe65a04bf286afb69986f7356cdc96820b091c0b173008ef3c0628ae58b39f2b7277ae699bbf5c9d16d2de353d5dc1c9bd75efe9d347c94b4f842e7ab9116c413be3a34bb48b22c3ddf12d2c833870e0c0a953a7b817ac7f40cd8af9482106028dbbe632d805010e673ad89a300a7ab769e9555d5ded157ae39239af66b92bf22736bcffcceca5f98c854d78f9dd7f4c6895b371ce56d63b7df67f76dd33b6e05bd87c7864d46bdfff34b6a3321d63c8de30273f6a7957f7f3d5d506f3917796b0794b17fd10fde0aeac9b22f1d56b49fafbfff7f8d2dd8ab1e73efc6862bf40447578f5fb7f7b7329ec0c8e7eedb559916d87cf087cf5b3d4473f0c73b71c2f91888819c260a271025b74895ef06de88b9a57cd4978f30d6ee3e565645e5e7d9f59b1e8f7e10fae3e111d1de196b871de7db39544c63cf9bf57a60d702f4a9d37fbef3cd97ffcefc3c9035a23aa236be63d624df6ff3d3536e4c67b91ecc9bffdafa3876dccd6b12a72e4048cdb379d271f7b45e2343504f496bf18490d0ddd54520215286a357dfdb0d01513a2a99b3322622a59a0c79323fdeca52ab28bde5959be5439a7d69cce2e0f574fc196182acf3cf68579eedd21d778ba1e8480bac04e0eafa60c3e0dcbee0b1a7f9d3175cde9de1bcb5f5c91f7eeedb53f19aa510accf3739831e119df8ad4730363ca733ec9daf4485bd98842179d9eb9bbe6f9c941e1f6f1a9599597b90d7eb2e58c270a07fc37bdeab5209ee9b135255b598b7df7b40af764e153d8dc4305ef6c2e889ed976fe63e6af17947bbf54ce3cdd729f6c67ac61d70c6b317855fa889e3e23fa07da78500df1d95f119231c07375a4fb88dbdb7a5496d6742c66bbcf1f3f55e2af48d6149eabf48f08f8bf578c338a5c8c355e4ecd0a5b5622352d8fb9b509f3b4716eedb4fef5eef3c9c6a57b7f8e5916bbeeb3f7b7a8dcd0c7e6ce1daf2ef97deedb4fc629cb6cbb4c5b18bb6c47d2b8bd9f55b23e1f7cf77c4fcca7f5e9d3a626e3c945f3cd9f4e668be7ed39fdcaf89c1dcae58e25ef49ace9e2be1d35d7dc819880e7b0a986d54d5d879ecb4247520a1fe0caf6574efe6feadcb1eef1cb8a5f8291fc2a1b11475ac25f39aa673150f50d4ea10b4217865605671f0a737efab18c02bc95178f940f08ee1266f7d33373de9ef9ef2ccc5042cd4fcf33854abf373cbacc1ef32fcc0f7d3230e0fdf4a1b78ceca3cce95afd5bfe6aac0507f8b002f51b18b55f957697013429ac92ecec7cb7a1835efef6f3e41277cc4597a872176100a42b5e35769eead3478dc5f1463fe6e232260858f40eebe6c5d28faffb2a715bebf0cee19d3b77ee7bfbf4bee8387bf0ab55bbaa033a470ee97a36615bfcae9fd7f83d30127cdece1efcfa67b977157aa3028e7db5269ef9868dbcb177754adcb6e31bbf738d1c3ca4f7ee5d09c5eec103067443756bd567a6e4d5abe2527c3b0f88ec1d9c93b02d2e657b426ebf81414a6da1c8b8860c18d27ba755d1cd7cb09a15a14237e46aa25ab55a8aaa2a7be7e27509cc2b6ce4c8dea6e3bb76a51433f7206ed062d61834508ac77876df829ff73397e02191d79a530ec6a5ecfa3cc6f589c94af6bca5ac591c9f59dd7de4846ec6826deb766d5fbea6db1393bdcfeefb7c559c46eb81de6673f1c98ddb5840fbd0f6ad7cd30e1de529f365c7961872e3beb073f740ef327375717aba579fc8f1016713b6c4276c3c3c60f2b5b505b04dfc6aedc56373c6b7c6aefcbd443278a0efa4499364479c863b7c52b85370c4678d1375ac31f5e8387c6af8f4e92357b3b0c18f4d9d303cf2e6c1beec5cdc7bf7cdfef1f5af970f69678e7970ea1d6ff9fefa40f12f1ffff7e8d4d7177f7e432bd33571d3de7b7af137c3c22cab75f3d21259ff1bfcab951ba3acdf96a4f57ffafad09e6e53d9cc25472267f53bb1fcf1a586a737fc3eb664ffd79366ce1bbce335efb8f7fef6e6a6d7176f18d13affa3c8a98f74edf6c384ee0f07eedf75ba222cdce82c5a9e17cfa8f1f3e2deabab95b5d135ae9da705b2a21a53f1fef9f7cdce5fb4e6b708b7d43963672ce8ba76c2d1bf23d98dbbc715c77d3569e60783b7ffcbf7c0078fbcb9f1f5251b8707e6ce1f3bede1ae5d1747f57c2870ffee1c7358a8b248d161be72b2a0ed9bfe938fbd2e719a14027acb5ff1f1d61f3d3feb43b1f6f42f948bceccfb77c133c5ecf961beb3a7b5ab9da553052acaca9997a767e7b01fde673f949d79f1f982613105d5b3da59b5abb67c50f835336cf232fdb1bf6437160f9c2a8f4f2aeadbd5df2ac03c7b85577f68d9eb31b1fdf7bbd3ee3a56f6de44f1880614bfb8741be26675ece1c558e75671497f0c38aafca6571349ea865214b2f36fe453d5c2bc4aa85919183e93c1efdd53f6f5b7e55fef2ef1f7649865c1ac2d6aeb816f58e69e15e953ca64a467af76abdb274765b22787050a8b8a99cadab3a76a5a3181a699fd65ad3d58e6199f274e586454811ed3db6f2a3e3d26a6f8c11865b6e6ddb1fe3dbab554751d99159a9c389f75ba94f9770ec33b61353df26e49767abad9e7fadb1ec67fc6ccf9497bf0a3c605cfbed9ed7f3d30cf14a2acfd85b8529761be0e1364287bc32df388acebf5a3d8a2652c78d838362f765f7258fae680c9af3d9c3ffb8743c7ae67eb59e874cd3c667d87de828c3a17511ba3679fce99f7a43dbdb862e042d38caeeecf17997777f5b49f4dd768097d9e7ced40ad73700a2d0ba10f43a1a5f565ed488e99fdece20cbe173079ee4f8fd7962366dc46faf818c36ffb72ed6d9872ffe7ed4fccfe6cefa6578759559d606ea82c85845959cf2a241586236b73034b985b2d3c95ca7dab527709cd5e777df87cce1b73fef362cc7fd0e536eea9b7fb766dab765f84016056dcd8d9a9758e5edba61b732505eb2a5898006d31e4d3f3a19941077edb9d90929692909b9210b791b9f7889c129eb2bb9a798d8a1cdec19b858f1e95f3e5ea94f8c451fc50180c897b1cf4267ac561762aeade895d702a8de8e86a884d0bf0ebd9af4bca9e84b20efd865ed7510eddd5bf5befdeed078eeee7652a32e406b094e2ccdce2416d44d9e773cda0a18956c5d21309d0c5fa09877e455427e30e2b01dcc70388f058f1d1e6f4da43a97af7ef3968a888e744ec5ac8dff4d0d46ea8527bf60c8afd6c6dcaee6365fd7a5a6780d51ffc569715161bfb5e37f9ce366965eea8e013f728696ab412bb7680fdf6374e9fd22f083fba8b3d72d43ee513ce15fbdef9d07065c2a1637ac22729299986eb6a4fe06ad89779c3478b183378a1b17d40e84593173f60978b7102c522af17edb7d5aea14f2ddef550765a42c2fe0d31b3a7ff67f69d6ffd1895be894d9d3f2642991498facef3f3a7fd96f36057c6a62e7c2ad21bbf6c3387fa32dfd0e000d7ea6a5cc0209397b831f0c628dcaa9eaf29da346f13eb7fedce7dfb72702958f34deadffafa768c641fbffae02b871f9c303c667d749b9a9aa423b03f674c18ee5ebd9edab5e501651dc5792c2f309bcde7cf2bf319f671728e92a79a1adf82c9f9f6db8b9b97b946198f58aeab3ac485f2bc7ad3cdb2137fc7d72787d62d3bc4581e63ab7f393a7578245bf0ea032f5b93c5f7cf47362ac986625963284f16f52ea6dcf1f80e2c7db38f9c73e04ecdd57aaee087536c759f7c8406114d1601bde5af1819fa33e1c35419b51a9dca33cfbc54f881af5bd29b9d3ae2cc6f27f0fbbcf431e59e55af852a7a9e0183030b587625d6725a6b53730533f471ad19b3b0c06238d334e09bc292d7fcac022c7565ca4ba9eedfcf52cecea8446b3043eca9dca35be419f36f8f45cfe78d968f0042408f1269ad84227a6ec596f32cc2fb1aab9850570855944fd0fa0fee801f918ff9361fece88e0c9f2c5cb672ffd759a94319cb8e3bf5879baf110b8eb7a7a1f68df6651f6c38133dd8ff06e5610fdca34d6c8a0e37eeda428ee8f8b73951c70cfb5e08eddbc19355668f79a60873d80527ce0547b6ab7ad8b322af70f7aadc311bce5dd3bfd5f80e4ecc2aa66b5b6192f2a3b7b0f675cffd6211cbfdcfc60efc76e3dbca242f730be832f4b9e70746bf995c5a86f257c980a3a7d0ca69149b6c2c76e617d3d3470f2adc9a805ba6853ef9d5fcf90505a33e18f497829173def86c3ecb18f8fc5f6c9e49c0587d87de828cd5a9621bade254f6f14acfefdf0bfb5ed92bffeae98c545f1be8389e1a2d45566dfca05bf2a86f705a952c7f756228b46c7c092e56043df4c5c6876af7e5e3feebffddfe9f92591b3fb955e9f6ee31b00bdb9b9c8ee5bc62718013ccb92b25e95abb58b6e8c85ae0f8412c667352f14cf5292d253bd615b88d1faaac35b66ae62725054f7e79e3533e25f9d97b17cf7ef3fd677b0cdc38ca26198bac9360ea1a00ead4b2762049cead4158ff361873d8b29d9f2bcb4e3f65f2ec3b2aaadf687cf42a50ffae5dbdf3d8c6588f4e381f966dfef14bab2b4cb5672af70296e6a0b7cc0b6b7583f0cc18d585ebb563275eab082bb71ef809a6b2959a6b802fcbddf1e507db249e829b149eaaa25574e0b7d87a6c6a1866fefc8220a2b66ed7866f4ed7fae50b13acf128f221468bd3b0ee212c250d2c1143b75beeca5eb6f2e0c16de9079538437a4776eb822ad5a2c5bd082dac5ce8d13348d5751839c46d14c37b58dc61a1466b5fe400fc953b672c586e68e301630b45d42b227e3d762e40176f74438d08e342b77dfbf6d8454525c7c0692e26b620ec5bea9ad91f1a1e9c3b217cf098b01b2227cd58f3f8b497368d9a0541372c87801d5757d4a366d46a8191fd941512287fab955ad064f568b509d91a53dab605f981535b9ddebd2dcbe03b359c2d597120efa91b676d583dfd445cdceaf7ff3e3bbddfa20df35c0c2c30d062bffceca9b3e640afb6ee7c2889c8ad666dfe2a3ef8895edada4858772e6e5ee21cc4bdb3bc0373f2d9cbeeb85967ec86e11d3b86039f49efbc3ea1a655c02548d69a53eddf869e7c6a35896a7a08e8fde9db8546ae9c2f34edf892731fe0766d9a3fcb397bfce819fc2f2cb3395f5f33d885e5977fb239a730efdcc165e953f21916bc8ad21695ecf867bbc6bdd7adea7ff81ffa9d27ebd3dfbfea359ba5bd38292d4d2a7b67d9e9c2bcc2dfbfcdbabb9ccd1d20aa05259c90015e2358cddd1fa4a7e69c3bbef9e4c0c32c7a80b7e4420db9ac6215631f0de345ac2609cdaeeb88c7fcf1f808deba8fc21ad4aa99f34f65179566c76574f8b2ec93c46a96737acc92aa11fdfdbf7f2b782eab19f6f6c942455a399d6dcdaf387eaa88eb8a2d6ae33f0ee51d3f947d304efdff7b762e7e6a87565959782ae793d9455b192b2c32676f2eeafd6ec6ba43f9787a31e69ed1fc3d7125746a5691b0b4b2f49c729780f6f5a6d7e596c718db77cffd73761c4dcfcecf4edabbecd937f761a96827d59dd59ae56f8f5b00c3bebffdf387a4ececa33b3efbdbbc7d6ce04328aa7ade328d15c427b3d0a111ee3e3d86ba55c6c757064c1fa456d49289fa0ebd242a9345a6314b0ade59995d58746eebfc530f56b1bf8d0a94fb75d00a6268f50e4e2e66ddeac5d02acfff3af850d80ad8ecf519379025cf7b7f5d7c3e4acf656f2c48667d260f9547b333cc61452add2c361d5a0bed313e8015fcf38d65d92525f1cbdec78aa45b47759183c888fde7b30fdcf9737c3a7377f7c14a09e61688c52d8e9ab360740e00472635bc0660ce6771303987c6696c41a7ec5cb96ed5ba2c95d9a285679b8841370fc47ad932d3799c8842a26759da94517d078e18e8abfa87a25a446a7b8da8eeaa8bf0d418ee62dfb2cfbed990a20aa328d3fef4edc4da9884eceae1531e521c3c3a0a359fc1a07c092b87a778030bad4ebf7e6ab72a063365c5aa063699c74e59f5ad2cf5af6a568947fd9ebc4c049c93a14e224831e4a6a4050d9c82001fba6bcac070afec848ddb32517cc180a2c59b550bcc6a43b5257ee1c22aa5fcd52866ab8b7d95da05515af057af41b28e3e9a8386ad20f4e92952424510f5ea6666662e535b4c4c0cfe6257e872021694ac6c1b8a6367cde85eb2fbad17b7a49cc17aa7ca92f4b8f5fb5964db366183d992f971997808446eec8237d9e01b43f1d0c68800b5fa459d6d2a66c545b9e8551a2ac2c088c1f9cb13b17f74e5bfd9d4d72d0377d6acb79f0ffff1ad4dbfbc3a74ec97197dc7dcfccac20f03d98183d9269f907ef90be61f3e07eddc1f27def3e4ee3c50ca47597d528462d451b3cd49d9732465e15ddcbcd4aab73837f75c45515156eaefff9af80fd6eff951a16e8161bdd8ef2782fb5c3f6cd8a08af5af2e2f72dd75c99295d26fc0c947d222b28922609d34a82f3ccbbd577d6236fd989ff2519e266b9da7e09de5c7131546d4c25c21fcd15fbd1e1960fdee0d3f1f19d97663625664ccb9c763ce4166c6b5de6fdee6eca9b435789225be33d33809bfadddf6a2d3c3b614bfbc455912f0e650df2787da2e2ff60df9e9afa6c8af2a22de508acae808cf45772b73182224101539caefe71e56d7c8cb7c0b5dc350a11a5dac13b79e6de6de5df6f577951eae869a36ed33a2536f595ad6e165e5e72830fed164f7c52fe7c67bba9dbd0f5f40b1479e29fafaddf299dfe47c774f9bebae6dc1f654f49e9b57fcae6f6dfd5da33c556dce8ed2393b6a3d7f7687c78cf88a81ef662b36c35d8617573fbb24ff91b7033e9b5320c07c7384ff606515b19763b3b5c6d8f9bc93e76a58bbf0104dd6928885f4ee32f99bb7cc2fbdb468f693eb39cbad4bd482ff3ee895b118eb1da0aec2a64ef762ed6ae82ddfbc95fde44b8b1ebd67118403ae7bf0837f8f532482074e0a60cb7dfed219f3bd01ddc7b9b1d53d667497271855d3f51f7aeecce2d412a1b147d0f6fe59c33616bdbc51b98bf8f6eee0e16d94a74058baf1c79196e8553add14f91a56ffe0145a20f46358abe5f84351db6f4f058f7bf9a5a3ff78eb3fcfc6aa7d5da25efad72d36cb799d605e824f54889b667a9d39b6c6423ff8d7a47bffb5e09e890be0a4cba47f3d769dcdb1c1619c74ecc979cf3e304f8d61e463fffd4b404d49363c5c840150c31cd8b1397c12280dc29cd734d0e6a509ca144e77eddf7373e6d1651f2f1936664868a0474946fcfa7d05cca5cbc0217e47d30eac5cf2dbad13fa19d27e5fb6f9a8b167a7011d95b2a6858b4bb7c1bdd6a628bdb745f567a9bb78ef03d775dc90960ce6a409fdca0effba33b32ca0ad878b4b0d74aa8b1213b35a77e910840a17169401a6dc64b91ace97e765656c59b51925a5a9bcd4c5452c7e804c0b4551a90c959a4a89b6458baed75bfc222a661b157abb0de8be36e5d0b2af6327458d64195b62f1b33aa32b94b1a2896388dce158c4d3b97f2f967668e5d7b1b78e19549dbd77cde10216d0ef5a3f177c5dc251ca3db879c3a9cdd9e3260deae0e5e3aa5c20fc3d8d5dfbf7da60a7d5c3b368273e052e684a7ec2055216d79588fe3d37a41dd6b8ebae2a02d2162de01433924aa2b08280790c9c90e2b7f015416b7326d350bed59ef257e8aaf82b1bd13b60c080949414feebb7a0a0a0a14387a20b55294f9e87cd2d70151e3cdf0a2332d136f2ad77cfbcfccc8cc916e6e0c7be7f093f571bf6ee63ff786ada38851918fde5f79135595fb7ca53070f6cb9873e16c99e9b3af699afd7df1aaa7cb4037adcccd257e59baef9e247f6f2f73d504883896042873ec1e6fcc375dadcc18f3c39f447c558bfe8776f0b377a747cf6b5dd8fcebc6584c21afce4d29b3bd6980e2fca0ffb6f283ec83693508a80d460160d0c792bf5d7921733af9ab1ad6a509ce73f37358a3b888c7e6dd5ac4857fc40e2fa67df8e7eeeaed1ca516061d1dfbd141e3ef87f836f7fe2e2265b9b954a35e8e4a3d1a5dd268880b57aab33347cecc3c3c3eb14b9049d78707c658d8797a33946bdde2a2af01b382fcfdab252aba80ab8b979b889d3b556e24fec57559455b28b6c5cb6595e51e6e6c15f657701589d2f2b2c622d5b62edb3de5652926f3663f60f0f0eaf5fa5046b4c21aa43d281ad3ad231c7df39e18d5756fc68ff3215dcb05414613587b7cdbbfab8f5bab41cf8d7cb6a38867a2ddbcb99cd256633b0b7ef119c0660eed81a16069beb3a6a8eb5847f1ba201c1d8e8d5b7a31bf383070fa234f1f4f4c43bba3c3c3c8c462308613d2b6e45cc9664ac7ab434af0eb7dd1bddd5c790be7bd98fdb5339d318745df48cb1be892be6af3a35fe6f8ff7f266a7f6c62cdd66d38b9be6a4cddfaf3aa0dc94a27975183463ea7094f3092b16ae4bc6cd58c7879e9d823b6f74a128a9ccdafdd90fdb957b62dc3907045415e071081d1e7c26baa5b554c5aa8995f33e39d571c2e3b777af485a59875fbfa4151fad3c35fed1bff7f666197b9689a8bcbc3089dde5d1a72662c1a35c4a8a781e7c6672f1fe95cbb6242bf3b95875e0d765f27db787c9afe7284d5af6f5ca541e256341bdc64f1fdf0be7c753b65a53ee9f1898b4e2e3d50a32bd7d94ebc891959ff194e1025312a265ec5f09a885bb5a453578a4bce2fd8f533b46cdbafd1a04ccab2b4ec8f1ebe70bbf20a0e5d0a63319c13f71e244b76edd50fe624a134c6e04eb1fbef9e61bec46474787868682c072888a8a0a6cd1cacbcbf1ecb9be7dfb7223a0131212ba76ed2a621049710ec4d4b7c7994dc5f8d0f91a8df8624f295e5d5d5d5b5456626462c482032d343efb8b7830c3805df011982a5cbde5a971871f8e9d75adf2ec4a2ecf8d60f043065b2c0f802dac0f4690d0552c98cddc3e38399b5f98b663ea965707c0057aa16bbf4d4a4aeaddbb370243cc8d9cd7df7bfa20600e29b63c476c2de8a989004644050e2479b26ee7cf0b0e4f96cb64fffa3c4f96a3679f29388989892259e1d742e83ef9681569bfd111484b4bc36f9aeb76abb7fc0d0b0babdb10f512028d8180397e42d48bff5ebec651f9ebdcff856939b7473d4d1f81f8f8785cf350f8e2b28d2dea607e1d1517785ccacb8a0a4a2adc7dfc7dbc3de41be0aad252137331da3245c60e7a6b2acbcbcacc35ee5e5011d754a1604b48ea0a69f4f6965ddbcadaec5914bdf095937d99585551aabcd6cd49c83676f88e1486a332b11a754475b55d70365a0eac3a65d52a4af85bca4aa4e3544f5fc745b789775b5c734d6d392ea2d8b97327eaddd1a347f30a0c3516aa5e703881eab38ff58925e01c3972a44b972e623c882005076651d1723eafb341f32967c8c81cd05c8bcb43916b8130e66f1b7667c2cf9b1ff7b4ad5f21092d87d6a0c5ed1b0c396f8cbe6bc2caedfd7c943b41fb083907e56faf5ebd44f9db9879adfa7526be8792b3167182107c8e4fdd1c3c56fecd31774f58b1adbf9f72f3208e8226ebe4e464912c0c52bb4211484f4fafb7fcd579e6553e2d57280a1476b342c0e033aacbf8403c59a241e3f1c2b49a157057633298fac205125b65464d256c5170f50b6c2b561e88ab2066e57c7d6be7896d55b067e915974fb06a5a78fb7928eb4034c236329679b516b5c6554bb28cac2ec5c3cbc4167e7e9a37194be22edebed6e7b64adc3a487758e32e2024fbe23a2e5e5e80408e4d9531d6066fb52dcb5879ca5fd9265ec7014548ca021a5a96d77439dc95fd3ad36da88c70c4470ec60cea2430859d4183066117bd5c127ef9e88218083ef9cabb78b2104003c7d996dbe72a7c8b5958791734e7700b722fe754b61eb161f520cc0f639773f8964bcaf2f6f60d8696cfaedee0e5555955a5a489265b9069a4c333e25b74c9bdf6f445cb0b86b076473d0a3c42bee51e657ebd1c8321404d1637260ac2f631730ebad45ceb1aab7224445fb908e82d7fc5c8b87253a5c89b03026e5d9efb18bf8e6ee078bc30ade680d7559d03bf8cf10b364a198e0576317a3853468773ecf9b28c4cc3086cf281c809e1421613069dd997ed4046c426cb3b93b17724dcc95d0e69d926c50f348092c01f0430e15bf00556f81a41c870797ed065498e3637c8b79c7389b6a8b95b189547f65e807d2cb5301a95a514f5ea22119e8bbcad57ebcf08fc99bc1cfabd80641dda2166b341406ff9db6c12a644080142e0ea4140d431a24041eea0eb4600d778c8f02b3d27ec553847f00551b765fb5e3d76f4c8c896297e198dba6987d882c91bd7050d826f350498bc5076e80507421c0b485e225a75e260cdae1e8f7a74ed53d3a3a5c77bdd3217dd0b267eebf6885efb6489d35c11a0f2b7b91e59ca8b1020042cdf63f26fabf9441daea9fc12a841475c17c197659cf165755946e637d48eac2bd3b27dd9a61e9986eaca36655f7aecc8ba32ad47d7998c33be33fb32ffcfc40fbf3025b6dc14381a9b5c868bc9ae398d4959745de9dbe69a97c3e3629f2c719a2b0254fe36d7234b791102573502ad5bb7c6d327445dc26b5f20220a1a7b7484b046c6195fb62064ec99a24b43885d59c5192d843921766579c1d4c838e33bd4b5676ad421a0b12fab38a33546c4ae2c2f981afbcef80e75ed991a750868eccb2a9c860097115d6297137c8b41853b2bd020504bb56ddb5696c78a732cbd15375de842e97cc56db108812ff9e0a921d9e69197c36381e9613959713489689608e82d7ff9586996105052840021d0fc10c0c359f3f3f3f9d51a350a1a2f44c0e1137848991397eee4d6505f7ae4f5c85caca3d9505f7ae4f5c85cf6f8f968e1a16a8291e347c9ab8e2c17944d7888584040edf3e931a8fcfdfd8b8a8ab0d558b8b276710fe9edad3c051c0d9163db3cf272781434c93a942166b341406ff98bcf7cb3c9991221040881668f009e7ad6a64d1b3cab1545096a143cf84c9cc43404dfc51697764e73825fef65a0f4c8c8f2a0b94141f0dd3aec3894ff9336857a1d7e858c8670184f1d761ccaff499b42bd0ebf424643388ca70e3b0ee5ebb089c9513cfbaca0a02024042f99a97d422deeb570038647e66304a25ec48ca9702a465713e7a0a02f2c2cc404365eef8c743832cd202f87f8e30606075193ace6b8d36e3343c0f2f38ebab3c267983fe5bb6e31ea2504080142a0492180abda99336772736bdf31d9a4c2a3609a01025866831b2d14b8722ea8b130378ce2382323e3dcb973a5a5a572ef154163d217853b2efd28eb45f9db0cf27208bec3641d4a12f38a40009f3b7aeeef1571a42848428010b82408e0ca8db92bb44b629d8c12024e10c05c296f1d3b7644c90829be7522dee4d8081e31612bd681f0102d59190c57685e0e817696ac436162361b046c6e58ebc8eacafae8d69108751102840021400810028d80002f1fafe8f29797869a02e0cacdcbe14117e5afc3641daa10b31920a0b7fc6d06a9520a840021400810028440a32180728a57548de6b1711c35d7bc1a073df2d24410b0bc09a989444361100284002140081002840021400810029714012a7f2f29bc649c10200408014280102004080142a06921a077f18366e94fd34a82a221040801428010200408014280102004f421a0b7fc6d960b98f441445257180278d6554e4e0e1e388fa70e5d61a153b8cd0b013c772230303038385893161e89959d9d8d8761e191b19aae4bb48bc71ee3d14e78362d9e6075895c90594280102004ae2004f496bf0d9dfd450982676de289df57101614ea9585009e2a8f276e6a1eb789147861819ac36834d26ddb95754c9b53b438679a4c269c03711b263f790db56f727232462fde918b7773344eca7885014ec8274e9ce8dab52b55c08d83397921040881a68c80def2b74165447a7a3a1ef48dba040fcdc61bb4f9bb70703180918696d17563c70df2d89cd9d723e3cccb9fd1756653e6ebb1af4746b629d37f4657b6e38cd6635f8f8cb09f9494141111819183db27309de9f2372de18d44b8a2a3024619212c8000bf43870e98ee128f6a977b8926041a07019c91309231084f9f3e8d91cc9d8289af2650fbe245098d1306f7823abb5dbb768807def17911f134660ce48b1020040881a68380def2577fd98ac205f507ceb3785c364eb2f59e6721c02bd70b00852bf2d89cd9d12353876b8abf0e70f460ab474676c10117b00b4223c31fc68eda02b36b9a3960ccaea1f6c5f59e8f4059916842a0d110c0c8c73b54e10e776ba0b95f0c4e4c0de0f6acd1c2901db56cd912778c8881268065588826040881ab1001bde5af7e68f08a519c5e218fc245ae5d382d73844d874cd15b07a1b179c176ea7021ba34be041fc405fbd5d8bc603b7230ce688d2f59ec82fd6a6c5eb01d391867b4ec8bd37c7217830d430e335bb2220a5fde6426d18440e3238071283b451d8c6a58c394052e298d7b42ac3616b5f825f545c6090142801068ca08e82d7ff59f31f3f2f2202c8a15109cbe5c2870ef2206415cae781aeaf7aa8a1fc98a56075090e1d35720208621a759ff0026efaac308751102971a013108c5f9531097da751df611435308a38e08a98b10200408814b8d80def2579cc7f5070415f9240b5a7038616f538f8c1c803379677c59b7a1b41e9b7a6464bfcee49df165dd86d27a6cea9191fd3a9377c697751b4acb36a1cb773981adfd586aa87d9227042e1d024d6d7c36b5782e1df2649910200408018708e82d7f516d38d4af9b8993ac50e4275c71da15846c419691694de92354641930854d677ca17801841e9bb28c4c53fc1700b84645c653d3855d31ccecbb8843085c7604c4f814c4650c09313485302e2302e49a1020040801bde52f2f3e1a84173fc30a4510e0f05d4ed47d0ae6bd7cdb505d3d7136d46643e529feba8f4283f0c403a4208f958bd872b35c5db8107cc1218210683a0888f1c9099c1cd0f8186ee42d308147b4a6030e45420810028440e323a0b7fcc5c95a7f70fcf42a56678a53ad4294656eddb43d25a7b0dccc7c5b06f7ba6174ffce7e0e2d57e526c46ecae83ff1e630a3d26f6344da15bafc7252595151ed62f470ab2db585803d21db3465c6ffb2f550aec977c4f88823db6afdca5a9097a312ea903165ee8addcf6eb975881a6cad5295c984788caebae237671d926248ef3f7142bbe25a108429615d04c009b12b04348410d0292fabd7ab2b2ee7d08230df952dd8d3f636c1114d963f7cf8305e633166cc18ce840c080c30344e37687cca968926041a0101313e3981df6b62dc5e962d92450c3c8c46489c5c1002840021d03411d05bfef22243670e10e6f29ce0b4a25b95b6e4cbd85cc65a87750a7731a59cccfa7dedb7c5b73e3c32cc32ab87933284f9a9d99c9b9a9597deb55ad1e64c6e479691e3517b4b377efee5c9b0d18fdfda830bcb0275d2a61dbfecc8327b0587f9b914d7fab55791a3e2bd3cb6f32567723298d960f0b4c6aff6966e58a4c4f3f7db7af2b0c1741ebfd93e06c99dc51452b38feacf7078fc1c2ee7b1d596b375c8200c01bb201a141bb444138a7854d3debd7bb1dba3470ffefa002ec3055001830047c8134108343504c4f8e4043e446808d27e5b713276c4b4d7a5f8c3177c16f5d8436cfd62f77133ddb7ae197b644342f8d821ad1ce9da5bb3e7c0b2fcf1911c114908100284c0558480def2979f467502c34ff17c664e3ed596261d42eddb7dc2c3919dd549d2d2639f7eb1e9c8fec451e1bdb965ae68d9bae281412eae8abed269f96325c4ae6d486ecc05ff14255b7ebd7b06533573e934f2cea8ce107db46b95abab630b06dba8208ce71ce321c746a3f2782338c656f26e894766f25e49069dbc3988a1b4d6dd05a76635effcaf08c6796cb549d521e3dc83de1e18174de8ecd8b183d3bffefaeb8c19334073195ef8f2ae068d4f61990842a0711010e353ae479db83631163867e98f035a31bcaaada6c6cddb2d77fe22a3916d65f9787e70d6cc579f5e78e3ae40cdd74c4e6c396423061e86c35e621202840021703520a0b7fc6d1016a84eb83c27a45d955d8d49520f85f2e936382c3e25c80f02a569fb96afde55a03c24dea5d390095103c2852e8c95a4ee5bb1c6d2db7948d4840161e82d4afe2d665d7cb1a2c282bb474ebad17dc9c23505d8495fffe157e9f7ff35d2c71a0678693b57af8d4b312bb2ac75a76193a2fa7a882fe8ab927f58b00675393bb9e6c3afbadf35d2b8e4e7f431f7dfddcd9b95a5c7c5acde55a84605bf51036da23a7b62f3aa750965507409e8dc1e6f290b0089c0f8a5c5604ef9e6d3358560a9f13c70dfd89ad41dcbd7ec57adb180ce4326450df4462f6fb631dc3dcab878555ae403f7b6e7f5b439e5bb2f6c52636971322008cc94bce1cb6de6e17dd9c66d29ed47fe75526f5f18e6c194a5ef5abe3a4ec5d6e2d7356df397abd342dabba6a72b80b9b7ee3d7dfa28ac4141e4b5f10b7c9cf32dc1ab7f9ce9364806de21cfb79c3870e0c0a953a7b811ac7fd8b367cfe0c18385180834ba96cb2013ddf411c08845e343d76e8bf03b86867a793186b7b7a0b72275c7d7312dfedf3d982d2e787bc85fd1fdf0c8a8d77e58167e62c17db397623772d6872f45f733a46f9cb395f54e9ffd9fdf9f5c173bcdc789fda60f0e454808100284402320a0b7fcc5c9ba41d1e0accde505815defb06e5e2cfdf8baaf12b7b50eef1cdeb973e7beb74fef8b8eb307bf5ab5ab3aa073e490ae6713b6c5effa798ddf0323c1e7edecc1af7f967b57a1372ae0d8576be2996fd8c81b7b57a7c46d3bbef13bd7c8c1437aefde9550ec1e3c60403754b7567d664a5ebd2a2ec5b7f380c8dec13909dbe252b627e4f61b18642db35c43060ce9bdd3aae8663e58cd8a50a11b723551ad5a2d455595bd73f1ba04e6153672646fd3f15dbb528a997b104fd692b23168a0148ff1ecbe053fef672ec14322af35a71c8c4bd9f5798ceb139395ec95661b83ab0931146316c8d28c4188b036b5dcf84f6d015103339b8b53366e6301ed3bf70ef112b01b72e33e5f15a7f1fb40ef327375717aba579fc8f1016713b6c4276c3c3c60f2b5ca7d083cd6ea5a3174c6b7c6a7fcbd4432783fd6a4499364479c863b5e40f0dd868e4f7b83c421042e1d02627c72a28e55bf6a0cfbe7bcfe7e579f1a569c1778e3a353dbe5ffbe9a99ef414fc0134b5edf33f5bda7977cdbe7cc82db66e77fb67a6b3763fadb91f77e1cb1f6d156c5bf7cfcdfa3535f5fbce8066fbc78c8c9da6258410c3c8c4b972f592604080142a08923a0b7fc1525919e7c208c267e9604daa2e5d3f3a19941077edb9d90929692909b9210b791b9f7889c129eb2bb9a798d8a1cdec19b858f1e95f3e5ea94f8c451bc32341812f738e84df48a63cc37eade895d9041444757436c5a805fcf7e5d52f6249475e837f4ba8e729caefedd7af76e3f70743f2f5391213780a51467e6160f6a237e72e773cda0a18956c5d21309d0c53206877e455427e30e2b01dcc70388f058f1d1e674a504b4a60a1bfe3d070d15f19c885d0bf99b1e9ada0ddf5af6ec1914fbd9da94ddc7cafaf5b4cc003b8ec162cea035e50caef6374e9fd22f48cefdc41e05288ddfc4aeca3b57fbdef9d0f0b6f8db313de19394944cc375feb2e2e5a2398402c8366ddad847a2e06c7df305efc5aebd18710881268280189f9c1005282f43e5edf91ae59599dd86f4bfc1adc664367bb7f3ad71c7d4430b37a64c4078b509f565bea16d5ae6eff81ddf631d5e1f83d3503e636b7e39fae83df8726beac2a72251fba2c936651a4610030fa3898043611002840021d0f808e82d7ff909b441f141054d9c67419765a79f3279f61d15d56f34a6ee2a50ffae5dbdf3d8c6588f4e08a36cf38f5fd6dacfcf2ca9dd71d05be685b5ba411d5cf9f7f5aed78e9d78ad225faa6caab00ec1a6b906f8b2dc1d5f7eb04de22ad712293c5545abe8c06fb17512bc866149845f9015bf6ed7866f4ed7fa45288a478b59453ec468711ad63d84a5a481555f0c22e45a5335cc41602a5cee3d7adad4beaab263bf58b1d1da52ff2b969595cbfa1a0f185b88e3e04af1d7af7f01ba67cf9ec50a489816bafcd76fe202cf63e0f1d41f01491002970301313e392176ed63513f58fd27460e0f535f1d0f49733aa4f057f9c4a1acc5d674febc11b77b370cefd8311ccf049cf4ceeb136a5a994c270223fb79555757ab8af6960547b1d5c06ff3842e118400214008340f04ace55b7dd9882ab63e41a51fc26898fde513c0a0393365e7cacd99013eb3667450643cdb440cba79e0b1eff71599cea3fa0a899e3555998b64ecd4a1ad69aedd7cd93eaea51691da5ee38934565d546030b4558deffd69e131bfd133c68528fa06ed4fdffe581b93906d1c3ee5a17e980a7202d600000be1494441545e361dfaf0e3cd06839b1aa39832540989a5c68cba50ebd7cf6089caa0548c65c506039f32cd3c768a31c4a29984e4669578aa5185b23204ecaf8ae464288b6e81029edca5104a731003ef53cc72c36a6a06a5aad606a6c2556d501f94c1cdf1ad13bfaa3f8bd55abfb2a2339a47628947c940c4ef4ca3965faf2e0444e36a999999bffdf69b308185bfa1a1a1a87ded479790218210686a086054f390388101ec2c42b530cd2b2ca96ce76e2952d59217f7998ac6f9f315c5acb828b7fc9ab05e6cde89e0b7ee0c73afd8347bcc8ac1df0d0d663e1101a87eeb2d6df947cc5900c42704080142e06a40407968949ea69c89f5355813a7577eaee7958a8b8b4bd7fe3df1eb8d651f2f894b4c3f937726e5e08665fb0a984bc781437a3196bd72c96f99c5c559091b966d3e7838b3d245ad0b5bb8b8741b6ce9cd2a2911bd11caf2865ca8e414179fdcb972676619f3f67071a9c145a6ba2831312b0ff5113ca2c1bbfa75a2abe17c795ed6f1655f6c46216a2a2fe5bd7cab94e95064bc64572e54a0ba5e5f1b55a66d54e8ed36a0bb92cbd7b1e97925e9076363f1b33aa32bec708f56e2bc88a7737f582b58f9756c4a664e625ceccac3052ce0ba6bfd94f0ec6310b90ba2450baba9ccdcce8e00e19296aa1046ad2d42c51c7e4f669d117ebb7b5a728414bcf31d1eb96dfc96d878847ccb55b879a12208fd7c6736b905b11d30600096fff2211a14143474e85028625c61cb471aef92c726e7d09610683a0868c6a7bc6b47bbe3c90f6e3535fcfb0db5170c65fa175b660c7b2c923d3775ec6f214fbe1d7dfaaed143870d1b333b31fa1f63c25125b7ca536789ed2cca0c6022ef124d0810028440f34340cfc95fefecaf1e5b420650a24011150c08dee5dbede6e9234d315b92b7af596e11f6ea70dbbdb707f918ee1c56f0e3f6033f7d7e007c63d075d1377776493c8425b8d8756d3b2afac682a5db0efcb8a8b6d7b3a6d36dfdbe5f75e0c06255c5abc3a0a923c251c64574f44b4e4e5ef363f543cf4ec12504eaf07ecd9021db52b76f5dfe9d623c20c0c55490bd7ddbb9eba35b5a1f1ac0cb74239e766630b8aa3e41b8b5b3f895a3724d52a2426e6e6163a36f2c5aba2d79f9b7c9308bdf699799145fb8b6f07c01428b1601229e079f991c3db274d996e49f7f52e45dfcba4cbe7714a6a01122f70ec094f05cdda0eea2c6a08859895a533f29a96900b9f3a64eecb81298928052cc5a1a763c3b8d8d1e5906bfab7eb4f89d3263b47bd20a9e851aaf2aac569370ad86ad44c2096c41c30e08615a43f05d792bebca36b929d59f621f2ac23eef024734e177d4a851df7cf30d7641a097f3b145058cb92ecec12e3542e04a4100c31e0d43d77eeb163a7efbf6a8ca4a3ce34c6990710b9db27d952b86faf6552ee0dffcaf5537ff0bd3c0e70d4f7cb0e3d14afc40d668346281508b88bbe63d816f99b0f64179a706d7b5df5e2910519c84002140085c52042cf547dd3e525252dab56b57b78ce83d72e4085e4eebe1e181a7e1628b67f7b8b9b9a1579c88b198a1aca8a0a4c2ddc7dfc7db43a9efacadaab4d4c45c8cb64c6b2773d05b53595e5666ae71f7828a38e30b055b42525748a3b7b7ecda56d666cfa2e86554261d91053a6b7d5555942aaf757312b28d1dbe238561838964d3819643968d29871212b3aaa4a4c2e0ea812cc0ac8d5f92b800523aa617c7e61f7ffc71cd35d7089c45483b77eeaca8a8183d7a34c71fcf5a2e2f2f078713a8097af5c2e4baa56104f6ecd9133501bf0fb1b2e92f21d0d808a012c5dadca3478f8af189118b41dea54b17f119141f22c1e151ca7c4ddc9084653ebc390d01c8835377ed0b19cc0ee0238693b3c626ed1202840021d06c10c8cacac2b3c5ea4ee7929c04312d871331b638c972c2360857bfc0b6e2b10be22c8fe7cffafae28b3f67cdd22b5f246a5a78fb79e001974a492a371b19cb2c4b8b5ae3aa255946d695e2e1255d0b3f3fe78f9877f1f675af9dc594ed38a1dd618dbb8080ec4b969763732e6344469094153536253b2efefe8eb370665f6356ec4a36ff64fc96092a6119041f39fc2a8e5de16bd0a041bc970b23663eba70b10781f297f3694b085c11086000a32154675b9e85dc6b9f17267a354cce91b5ec698d0aed1202840021707522a0b7fce5a7519d18a16ae10df22865b816383082adc608e7d8f335626217466093c7c309e142c88010069dd997ed4046c426cb3b93b17724dcc95d0e69d926c50f34f8c1e2f8034660c2b7e00bacf03502985c86cbf3832e4b3a449b9884405340808f7344c209b17b596283f7cb1bc065c99a9c12028400212023a0b7fc459d21abd54bf3ba045b4e7079d0752be2a40c197e6ae684bd0ae708be20eab66cdfabc78e1e19d932c52fa35137ed105b3079e3baa041f0ad86009317cab224a7694b08343504346318270a71ae405763d240061ed19a1a44140f21400810028d8980def21727e80685c5cfb0f8621a5a7ca24e9ce2357620c9bbc097659cf165755946e637d48eac2bd3b27dd9a61e9986eaca36655f7aecc8ba32ad47d7998c33be33fb32ffcfc40fbf3025b6dc14381a9b5c868bf15e6ca911024d13018c5e1e1827f80addcbb24518888187d134b1a2a80801428010680404f496bfa2cea837a656ad5a9596960a795efb424b1434f61684b046c6195fb62064ec99a24b43885d59c5192d843921766579c1d4c838e33bd4b5676ad421a0b12fab38a33546c4ae2c2f981afbcef80e75ed991a750868eccb2a9c860097115d6297137c8b41853b2bd02050430407070b31a1480421d0741010e3930f5d2cd2e527465e8636da163fbce33f0915f1341d88281242801020041a1301bde5affed90294bf050578bd039e20e68a1a058d9fe8c181117edae5847e9b0d45a4a1bef4c8eb9169689ccee41bea4b8fbc1e1967f13494df505f429e8f16beab712a64c0e7bf7883302ee778e453cb962de5b184f1063e1e3fa2b140bb84402323806189f18933a1189f20fcfcfc8a8a8afcfdfd1b3918b82b2929f1f2f2420c688def9d3c1202840021d07410d05bfeea8f18e77a54c0f9f9f90178c2ae8b0b1e7c86c285ab6b08be2b97353829f35d8d3b3d32f62ab2d37a7d7101a808498d41d1250821c9c3069fe217a039c4134c6758399417d63821cbe0690f78f6196eb4f02e0c0c3359323030302323232c2c4c1e7bb200d18440232080a18e218ad716e2f64cb8c318e6e3136ff346058cb3a5f85088b3c7a5e0e086101f16cc3a77ead409f6453c441002840021707522a09423f5668ee7feb66dcb5f485cafac4500e7d9dcdcdcbcbc3cbd0a244708341001dc65b56edd5a53fb721ba74f9f2e2e2ec625bf8126499c10b89808a0ba45eddba64d1b6114e75b7c77819b373c961273c0582726ba2e29e1eded8d59673cbe1d4f61c7d72354015f52b4c9382140085c5e045003d4fbdcdf4b55fe5edeccc93b21400810024d13015e016382804f3de89980f89389f062175bdc2b52edfb27c1247542801068fa08e8297ff52e7e68847374d30794222404080142e0cf23c02bd1c62f7f791d4c27f33f7f04c9022140085ce908e82d7ff979f34acf96e22704080142e0b22340a7d3cb7e082800428010b8ca11d05bfed284c1553e50287d4280102004080142801020049a07027acb5f9aae681ec79bb2200408014280102004080142e02a474057f98b1f4c88e7b45fe57851fa84002140081002840021400810024d1301d4ab7a1efcdf424ff478b46a6161212cea112619428010200408014280102004080142a0911140a57aeedc393c5ebd5ebfba1e7c062b785d102c9a4ca67a2d9200214008100284002140081002840021d0c808e0bdee78e71a5e6f59af5fbde56fbd86488010200408014280102004080142801068fa08e85afcd0f4d3a008090142801020040801428010200408013d0850f9ab072592210408014280102004080142801068260850f9db4c0e24a54108100284002140081002840021a007012a7ff5a044328400214008100284002140081002cd04012a7f9bc981a4340801428010200408014280102004f42040e5af1e94488610200408014280102004080142a0992040e56f333990940621400810028400214008100284801e04a8fcd58312c91002840021400810028400214008341304a8fc6d260792d22004080142801020040801428010d0830095bf7a50221942801020040801428010200408816682c0ff0719d0f99045652da10000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone.Paginator supports two main pagination components:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b Backbone.Paginator.requestPager}: For pagination of requests between a client and a server-side API\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b Backbone.Paginator.clientPager}: For pagination of data returned from a server which you would like to further paginate within the UI (e.g 60 results are returned, paginate into 3 pages of 20)\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Live Examples\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you would like to look at examples built using the components included in the project, links to official demos are included below and use the Netflix API so that you can see them working with an actual data source.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://addyosmani.github.com/backbone.paginator/examples/netflix-request-paging/index.html"}}{\fldrslt{\ul
+Backbone.Paginator.requestPager()
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://addyosmani.github.com/backbone.paginator/examples/netflix-client-paging/index.html"}}{\fldrslt{\ul
+Backbone.Paginator.clientPager()
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://addyosmani.github.com/backbone.paginator/examples/netflix-infinite-paging/index.html"}}{\fldrslt{\ul
+Infinite Pagination (Backbone.Paginator.requestPager())
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://addyosmani.github.com/backbone.paginator/examples/google-diacritic/index.html"}}{\fldrslt{\ul
+Diacritic Plugin
+}}}
+\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Paginator.requestPager\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this section we\u8217're going to walk through using the requestPager. You would use this component when working with a service API which itself supports pagination. This component allows users to control the pagination settings for requests to this API (i.e navigate to the next, previous, N pages) via the client-side.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The idea is that pagination, searching, and filtering of data can all be done from your Backbone application without the need for a page reload.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d494844520000055d0000030a08020000001927730400001819694343504943432050726f66696c6500005809ad796758144db376cf266059969c73ce3983e49c734660c939675424882425082849041104110c241113820822820a180009822415545004e4cc2a3ecffb5ee73bffbeb9ae99b9b7faeeeaeaaa9e9ea95a00585a09e1e1c1082a004242a323ad0db4b91c9d9cb948a60012d0032ca00080e01515ae6569690afecf636b1c40c4c617e2445dff27edffdd40eded13e505006409377b7a477985c0b8150064a7577864340068a23ebeb8e87022ce87315d246c208c6b89d8ef0fee2462cf3f78e837c7d65a07e6cc00408a231022fd00a05883e55cb15e7eb01e3c0e000c4da8774028dc8d0bc6ea5efe046f00583c608e5848481811e7c258c8f33ff4f8fd0726103cffd14920f8fd83ffcc05ee090fac1b10151e4c48f8fde3ffe725243806f6d7ef8303bee2a2826c4ce03b03ecb7782f829e0d8c99607cdadfc7c8f4405e171ead6d7d20ef0e8836b285311dcc79e91f63687780976282ecb460cc06cb7783c24c887cd84f08a6504f730b18d3c098cf2b4a07f63d712c8442a2bfadc301c7d4db47570fc6f02a4238468659ffe5fb47c5dafc952726faeb98ffe507128c89f1c6c3fc6c42248c7edb8338e7136c401c9707963785475b12ed248e351c1a6c7e3017c47bdf487d228728ffe913f57bbe44dbfca3fd6d0d61396c33922a3ad296c881e78864f30dd03782316c1b52ca3fd2f0af5c333cf8f79a86fb226d2363ac897ee083b1af4fa81dd1874479b6374197e85bd827c80aa00f082012f8004f100a96011730053a40f7e0ca05cb436199170803c1f019c945f9b705bd881e45cfa1c7d033e8d77f6570cf031e0800de30fea3eb3ffac3721b90083ec25a7d40d4dfd1502c2875942aca14be6ac2a70c4a09a5fcb76d78ad63ed2f3eb0d50fee2b7ea05bfbc0fa5858e3de5f9e7b406ae45f7cd0c7f39f1effdb267df01ef680df5f86d415a965a9ddbffdff9d31460fa38b31c4e863849199c89bc87ee403e400b21bd901b890f7909dc821e41d223eb0ebef28045842f40ad1c351c004f6a20f88f9fd2bf4ef78ffe5a5987f18071af0227879600df70a0541705bc03f23d8ffb63ae07f698981199ef0888130d7e49f781cd8851280bd2b8fd246a9c17e867d8c6240b10071941cec712d94061c037958fa6f14ff7b36e2c0f7b7b7637fcf25082cc2f30889f6898f86d712d0090b4f880cf0f38fe6d282774b1f312ea3502f09312e1929695940dc7b891c00be5affde53218667ffca7c96003804af63b2917f6581670068ec038031fb5f99800b00cc62005c7fee151319fb471f8a7843c33b3a25fc5430030ec00b84608fc80005a00a34811e300616c016380137780dfb8310d8e2387004a4800c9003f24131280355e022b80cae821ba003748307e011780246c018780b66c0025805eb600bec401044025140b41033c409f143a2900ca404a9437a9029640d39411e901f140ac54047a03428072a84caa06aa801ba0edd821e4003d028f41a9a8596a12fd04f04128143d021d8110208498412420b6182b0451c46f8212210898874c469c439440da209d18e788078821843cc2056119b488024473220b991e24825a40ed202e98cf44546228f21b39125c81a6433b20b5e8b2f9033c835e4360a83a24571a1c4e1481aa2ec505ea808d431542eaa0c7519d58eea45bd40cda2d651bfd0146836b4285a056d847644fba1e3d019e812741dba0ddd073fcf0be82d0c06c38011c428c2abdd09138849c2e4622a312d98fb9851cc3c6693848484994494448dc4828440124d9241524ad244728fe439c902c90f5272524e5219527d5267d250d254d212d246d2bba4cf493f90ee905191f193a990599079932590e591d59275913d235b20dbc1526305b16a585b6c2036057b0edb8cedc34e62bf929393f3902b935b9107901f273f477e8dfc31f92cf9368e062782d3c1b9e26270a771f5b8fbb8d7b8af14141402149a14ce14d114a7291a281e524c53fcc0d3e225f046786f7c32be1cdf8e7f8eff444946c94fa945e946994859427993f219e51a15199500950e1581ea185539d52daa09aa4d6a5a6a696a0bea10ea5cea46ea01ea251a121a011a3d1a6f9a749a8b340f69e66991b4bcb43ab45eb469b4b5b47db40b74183a413a23ba40ba1cbaab74c374ebf434f472f4f6f4f1f4e5f477e86718900c020c460cc10c790c3718c6197e32b2336a31fa30663136333e67fccec4caa4c9e4c394cdd4c234c6f493998b598f3988b980b983798a05c522c262c512c7729ea58f658d958e5595d58b359bf506eb1b36049b089b355b12db45b621b64d760e7603f670f652f687ec6b1c0c1c9a1c811c451c773996396939d53903388b38ef71ae70d173697105739de3eae55ae766e336e48ee1aee61ee6dee111e4b1e349e569e199e2c5f22af1faf216f1f6f0aef371f299f11de1bbc2f7869f8c5f89df9fff2c7f3fff77014101078193021d024b824c8246828982570427852884348422846a845e0a6384958483842b8547441022f222fe22e522cf4411a20aa201a295a2a362683165b150b11ab109719cb89678acf815f159090609538954890e894f927c92ce920592fd92bfa4e4a582a56aa5de4ad3481b4ba74a77497f911191f192299779294b21ab2f9b2cdb29bb21272ae723775eee953cadbc99fc49f91ef93d0545854885668565453e450fc50ac509253a254ba55ca5c7ca68656de564e56ee56d15059568951b2a9f55c55583541b55970e091ef239547b685e8d478da056ad36a3cea5eea17e417d46835b83a051a331a7c9abe9ad59a7f9414b582b50ab49eb93b69476a4769bf6771d159da33af77591ba06bad9bac37a347a767a657ad3fa3cfa7efa57f4d70de40d920cee1ba20d4d0c0b0c278cd88dbc8c1a8cd68d158d8f1af79ae04c6c4cca4ce64c454c234dbbcc1066c66667cc26cdf9cd43cd3b2c808591c5198b294b41cb08cbdb56182b4bab72ab456b69eb23d6fd36b436ee368d365bb6dab679b66fed84ec62ec7aec29ed5ded1becbf3be83a143acc384a3a1e757ce2c4e214e0d4e94ce26cef5ce7bce9a2e752ecb2e02aef9ae13a7e58f070fce1013716b760b73bee94ee04f79b1e680f078f468f5d8205a186b0e969e459e1b9eea5e375d66bd55bd3bbc87bd947cda7d0e783af9a6fa1ef929f9adf19bf657f0dff12ffb5009d80b2808d40c3c0aac0ef411641f541fbc10ec12d21a4211e21b742694283427bc338c2e2c346c345c333c2672254228a23d6234d22eba2a0a8c3519dd174f047ee508c50cc8998d958f5d8f2d81f71f67137e3a9e343e387124412b2123e24ea275e4a42257925f51ce13e927264f6a8d6d1ea63d031cf633dc9bcc9e9c90bc70d8e5f4ec1a604a53c4d954a2d4cfd96e690d695ce9e7e3c7dfe84c1892b19f88cc88c8993aa27ab3251990199c359b259a559bfb2bdb30773a4724a727673bd72074f499f3a776affb4efe9e13c85bcf3f998fcd0fcf1028d82cb85d4858985f367ccceb417711565177d2b762f1e28912ba93a8b3d1b7376e69ce9b9ce52bed2fcd2dd32ffb2b172edf2960ab68aac8aef95de95cfcf6b9e6fae62afcaa9fa7921e0c2ab6a83eaf61a819a928b988bb117176bed6bfb2f295d6aa863a9cba9dbab0fad9fb96c7db9b741b1a1a191ad31ef0ae24acc95e526d7a691abba573b9bc59bab5b185a72ae816b31d756ae7b5c1fbf6172a3e7a6d2cde656fed68a36dab6ec76a83da17dbdc3bf63a6d3a973f496f1ad9e2ed5aeb6db12b7ebbbb9bbcbefd0dfc9bb8bbd9b7e77ff5ee2bdcdfbe1f7d71ef83d98ef71ef79fbd0f1e1cb5eabdee13e93bec78ff41f3decd7eabff758ed71f780cac0ad41a5c18e270a4fda87e487da9eca3f6d1b56186e7fa6f8ac734479a46bf4d0e8dde71acf1fbcd07df1e8a5d1cb2763e663a3e376e3af265c27665e79bf5a7a1dfc7ae34dec9b9db7c727d193d953545325d36cd335ef84dfb5cc28ccdc99d59d1d9ab3997b3bef35bffa3eeafdee42fa22c562c907ce0f0d4b324bddcbfacb232b2e2b0babe1ab3b6b191fa93f567c12fad4fa59f3f3d0bae3fac246e4c6fe97dcafcc5febbfc97debd9b4dc9cde0ad9daf99efd83f9c7e56da5edfe9f0e3f3fecc4ed92ec9edb13deebfa65f26b723f647f3f9c1049f8fd2d8084af085f5f00bed4c379911300b4230060f17f72a3df0cf87317823930b687f4105a482514131a8b2125912275224bc3dec3612808f80e2a2c7530cd209d3c7d0523600a621e665560cb675fe5d4e4cae31ee5c5f229f33b0904098608b90a6b8bb08b6c883e122b150f925093a4907c27d5227d5cc64a965bf6a3dc2df9130a568a6c8a0b4acdcaf12a5aaa58d517872ad4bcd5c5d4bf6874681ed1d2d6c669bfd3b9abdba857a95f6070cc9060a461cc64bc613264da6c56695e6dd16d396f8db661b665b1a3b247daef3aec3801673217bc2bc561d4e14db739f7118ffb849b9e755ea5ded93e09be7e7eb6feda0172812241dcc1cc2194a1c8d06f6173e12311b7236ba34e4727c764c4b6c5a3127c12ef1f0147058ea9241b1d774989493d9d569c9e7442eec47c46de49cb4cfe2cf26c9083c8a53e25745a3dcf3cdfa1c0b9d0f98c63917db16d89d559f37326a50665dae5ea15ca95b2e7c5ab442e48559bd4a45d9cb96454d754bfda40ddc87f45ba49f5aa6eb3598bc335f7ebfe37c26fc6b51e6b4b6d3fd191d999732bafabf8764577dd9dd6bb7df726eecf3c18ef6979e8dbcbd4fbb8afe4515cbfefe3c3030e83564f4c860c9e1a0edb3e8b18b930fafa05f94bc9319d71a309bd574aaff9dfe0df6cbf5d9a7c35f560fae2bbb419bf59bb39f379b3f7160b168bc61f949718976696b357e45666562faf257e34fc44faa9e1b3c1e7f9f58b1bf15fdcbe5a7c33db0cdceaf971f267c79eeefefe41fca59128e4326a063d8f592745922960fdc92b70337811ca38aa4734ccb409742f1964185399a658e45933d8463858381db90ab8bb79267937f9b6f857049e0a5e148a145617211579295a2516282e2ffe4be291e4692907694ee90f32cdb2b1726af2907c9f42b6a28512add2b872a98a8b2abbea24bc0a5cd599d52734ce6aba680968ed688fe95cd7cdd5f3d13f64406db068d86d546c1c6be263ea69e66f1e661162e9696561ad6a2362cb6a87b747d86f397c701c777ae8dcec52ee9a7d38d12dc0ddd1439720e9c9e40579ad788ff9f4fab6f9d5f99704a407860539056b86088652c02b61367c3ae25b1477b47b4c69ec83b857f1f3096b89db47c88f721c134ae63a8e39fe2ea52d352f2d32dded845d86e3c980ccb4accaecab396db9eda75a4f5fcfbb9adf5070a9f0c299f2a2e2e2bc92acb3a9e7124ac3cafcca032a8e57deab12be70b946f06261ed8b4bdbf5f8cb2c0dbc8d22f03a50bcaadeacdb6276cde97af08d8c9b175befb68db64f772c757eed42de66ec16bda37a57f39ee27dee078807733dfd0fdb7aebfbca1fe5f79f789c38103918fd246ba87b98e1d9d191a9e72c2f345eda8ef98e1f9fb8f4ead9eb6f6f6926c5a74ca7c3df9d9db93dfb7c6e7a7eeefdea221a8e7ecaf2e82af59ad447f94f029f293fff585fdc98f832f8f5d6b7eacde42dfbef82dfb77e746f27fe54ddc1edeaee2d1fc45f025a455422dd50c26812f40666996485748e6c831c8be3a7d0c23b53a65035518fd2ecd3f1d3eb3104329e60aa626e65e9637dccf688fd364735673c9736d74fee5a1e139e55de4c3e41be1e7e37fe6d81224129c141213f6112e17a1143910fa2196242627de25e1240a252f290e42ba918f8eba645c6546649364d8e43ae53de5a7e4de18422a76207fcd5b2a49cacc2a07245554bf5f921af439fd492d449d4cb35e434c63513b538b43ab52db45febf8ebecebd6e859ea93e93f3438622867b8625463ec6ac264326e5a6c66634e693e609166a96af9cdaac53ac846d0e6bd6db5dd617b66fb970e798e868efb4e6dcec12e7c2e53ae2587cd0f6fb915b9f3bbb77a6879bc21c47bf278be82f7117f1f035f453f657fa30042604810215823842a6432f4525848b87cf86ec4c3c8ec28cb68fae8b73155b1de7102718bf1e713f41226138393e8925e1cb97df4eeb1dee487c76fa534a496a4a5a5879d70c9d03b299289ce7c99559aed9cc397b3933b73eae9e95b7917f28f15b814aa9c6139b35d345e7ca3e4ecd953e70a4babcb6e963faa7855b9727ee7024535578dec45c35ad74b6175c7eab32ee7361c6f245c516cc2377db9fab179fb1aee3ac70d999b96ad496daded3f3a956f857795debed6dd79e7f6dd817b9b0f0c7a6ef5daf46df6970cc80ebe1c3a35ec3162f45ceba5f678f06bfce4eadcf0cae6b76d62fcffd4c888ef048c020067520070cc00c04e0380825e0004c6e0bc130b80255c25b4550608015f80c00d014865f69ff70704d71131801c50c335294e2008a4800a5c33b100ce70861c05679779e03c680677c133300bbec199231b240d1940ee501c540035418fa14504062184304544212ae13c6f1fceeb6291b790bf5006a833a839b42c3a13fd0ea38229c5ecc019d620a922693d192b5901961c9b458e25cfc7b1e0ea29e428baf16af82e4a25cadb5486546fa9a369a868aed2ead28ed2d9d28dd25bd03f677067f8c158caa4c634cd7c948595a58bd58d8d8cad9b3d96438ee32be70dae486e79ee5d9e7ede123e7ffe4302788119c19b4299c29e225aa2026278b11df14f12ef25c7a4daa49364a465a66533e5e4e53ecb772a142a2628792b9baa48a9321ec2ab49a8976b8a6a9dd21ed0f9ac47aa4f6fc06cc866c4672c67626e1a6176cebcd7e28b15afb583cd69db7e7b9483ae6386d3900b83abe7e146b7f71e1802b527c673d36bc17bd267c58fd2df24a038f043f0a190a2d04fe1c6118d51b8e888983771faf19d89e2497547b98e951f67482948c3a6a79cd83c1998b99a9d931b72baad80fa0c4bd1c7928673ee650ce52395a7aa0c2e6cd6e4d5d25dcaacdbba1cd4f0e54afe55bd16ea6b1b37165b97da573b3f74cd776fdc637ca0f3d0adcfa3df6640e389e453e1670aa3a12f7e4ca0de904d56bda39dbdbb805f3ab2aaf5b1e5f3ce17856ffa5bd8efa77e0c6e2ffd5cd879bddbba97ffcb735feaf7fe418c3f095c93a3816b0edc4004c802356008d7193ce00a4312c802a5a001dc82eb0853601d42432c90d4efe8274045d0356818fa88a044c8229c1169881b88052427d21d598b5c4329a0d251636861740a7a128e7d390920f1271923d523ed2493246bc40a639bc8e5c8efe12c71f314f178327c312537e535387f7d4b1d47c340d3416b4ffb91ee283d96fe1c8338c32063181323d37de600163a96fbac616c7c6c93eca51c8e9c4c9cafb92ab9bd79a47801ef4bbe2bfce902ae8272702eb7223c2472137e8be589a7491c918c96f292d694c1c90ccb66cb99c833ca6f28bc56ec576a57ae51c9554d3c14ab96a5dea9f15d4b56db5b2747b74eaf5dffb6c16dc33b4603c6b3a6083311737b8b13961d566b367cb6ee7695f6d38e3c4e81ceedae24871ddccadcfb3c46093d9e0d5e99de013ed6be867e4efea901f78328823d43bac358c21323a6a2b4a31b6229e3c2e39f247227c51e1939269f5c9bc29a5a948e3d9194b19649c89acb493c259587c89f2abc5e145b2277f64be9f5f2984a95f33f2fd4d5c85cacacfd502758ef7ff95a23e3958aab6acd1faf95de50be39dc4668dfe9ace9b2ea06771aee99dedfe8a9eaf57ca4f2987b10f5e4e9d3d8679891ece7b8173563ee1366af83dfd64f7d98e19cb37c9fb27877997135ff93c0fad3af455bb9db463b32bbe7f7deffda38883f0a90c1b5572638faa270ad490758c215a61070147ef2ab412b780ca6e1e71e0709409ad06128092a87ee40b3083238ea0444316204498ff441de41b1a18ea356d04ee8a7181dcc1db89ef280d494748a2c0a4b89bd466e8f43e23a2822f0d2f81f947d54a5d431344eb44674c6f4560cc68c8a4cc2ccf22ceeac096cd1ec9e1cb69ce65c66dc663ca6bc667cd6fcee025182a7841a851f8b2c8b51882b4af84a96498dcbb0c87acbb5c8ef285a2a3d55c93ae4a48ed6c8d7dcd536d1498323d8a1df6d70d770d868c7c4c4b4dd5cc2a2c94ac2badd56c76edc21c409ebdce46aef46ed41eee9eeede2f3de4fd53f276031c83a7828d42cec79844be45274522c47dc74c2a3a4fb472b93ed8eff4cad4eb7cfe03cb99e752727f7946f9e410173e19322dfe2adb369a5d46535150a954fab7caba19a8a5aa54b63f5310dac8d8f9b929b0dae49ded06f4d6eafe9cceb72ea66bc3371affc81d34392de4b8fe4fa6f0fe80d4e0cc50f4b8e2047d75f2c8d8d4e14bc167c53f9f6d794de74f6bb27b3947376f317de2f2f4a7f085abab0fc7865650dfd91ed93d467dd75870dc217efaf96df78be6d6e9eda62db6afcaefcbdecfbf60f871feddb0cdb91dbeddb3b3f357fa6ff1cd8c1efd8ec9cdd19d925ddd5dc8ddfbdbebbbcc7bde7b457b837b8b7f74bfa97f7afb3bf9efcfab52fbdefb37f6e7f8818ff285f5919e2db0340386db8fc38bdbfff550000924200f60af6f7776af6f7f72ec2c9c62400f783fffcef422463e01a67c53a110d7297136fff75fc0fedd8b8677c4c06930000019e69545874584d4c3a636f6d2e61646f62652e786d7000000000003c783a786d706d65746120786d6c6e733a783d2261646f62653a6e733a6d6574612f2220783a786d70746b3d22584d5020436f726520352e312e32223e0a2020203c7264663a52444620786d6c6e733a7264663d22687474703a2f2f7777772e77332e6f72672f313939392f30322f32322d7264662d73796e7461782d6e7323223e0a2020202020203c7264663a4465736372697074696f6e207264663a61626f75743d22220a202020202020202020202020786d6c6e733a657869663d22687474703a2f2f6e732e61646f62652e636f6d2f657869662f312e302f223e0a2020202020202020203c657869663a506978656c5844696d656e73696f6e3e313337333c2f657869663a506978656c5844696d656e73696f6e3e0a2020202020202020203c657869663a506978656c5944696d656e73696f6e3e3737383c2f657869663a506978656c5944696d656e73696f6e3e0a2020202020203c2f7264663a4465736372697074696f6e3e0a2020203c2f7264663a5244463e0a3c2f783a786d706d6574613e0a158cb5e600004000494441547801ecbd5f4c5bd99eefb90b617786de9dc656bada931bacd3c11dd5b56a0a4fa6b08e8eaca38187c0431b69020fc73c24681418a9e021e601f21078808c141809e76aa01e70344ae501fa013212ee914c69044747283a634a4726b7e45b3732e95c43e7ba336983d2bb996883c8fcd6fee7bdeded7f1828a87c779fb6f75e7baddffaadcf5a4ef1fbadb57eebb38f1f3f72b84000044000044000044000044000044000044000043e4902359f64abd16810000110000110000110000110000110000110000146007e018c0310000110000110000110000110000110000110f87409c02ff0e9f63d5a0e02200002200002200002200002200002200002f00b600c80000880000880000880000880000880000880c0a74b007e814fb7efd17210000110000110000110000110000110000110805f006300044000044000044000044000044000044000043e5d02f00b7cba7d8f968300088000088000088000088000088000088000fc02180320000220000220000220000220000220000220f0e912805fe0d3ed7bb41c04400004400004400004400004400004400004e017c01800011000011000011000011000011000011000814f9700fc029f6edfa3e52000022000022000022000022000022000022000bf00c600088000088000088000088000088000088000087cba04e017f874fb1e2d07011000011000011000011000011000011000815a2000011000011000813340408caf445382d56a15c5f7c2ff57cbff659d951345ceee6ef7b9ce807a5001044000044000044000047eb104e017f8c576ed396b9818bfd316dc2caab4c56273fb7ced1d5ded1e67d18c27f532b970b777664393de1b8e74bb78ed113720707402e761fc1fbd75e59514e2d3c1f1889ab78ee3f6d47b4efc6eb9c369d51e7103022000022000022000022070bc04e017385e9e9076740262a9a2fbfb3b1bab11fadf84ad6de6e93df7a99be46246d0eb687cd2bf39c1fb746ceee15cdc2a9948a2c877ddbbe773c05e3a41e0c725ba64c79dfdf17f5c280ac8494f0f694e01aea1f37fedcb0c8daceecb994363d1f6c71d18e805d0211904400004400004400004aa2580f802d51244f9e32250c11ffd3bcbfdfebb0983917e5c5a9c7539e9587463635dbe363656e3e992e6e4596fd127a25fc98efbc4c77f2636b7ac38016844587aba3cdeee9eecd8d80c45d3d927dc8100088000088000088000081c2f01f8058e9727a49d1a818dbbd3b153ab4caec86a5ca1204fda9fb60e3f4bada7dcc85f6275b469fe589bf5338cff63d53f4798109dce2e16e01a7abc0eceea6a6dd1e57af2e4b47fefbaca710b02200002200002200002bf7002d847f00befe073db3c4b30fcd4c773d26cb8280899542cfa30ac9b50e4b8fde5d9c4a0d77dbcd656515eaeeec7cb5ddafcfc711b7a45abc6cb4f8cc0591cff27d80599f893adacf8a62efae9d3e5e8f037ac4694173bcb73c97b5e841fcc62c21d088000088000088000081c1f01f8058e8f25241d2701a7d3e9b0676d7ea7cbe5696df5dc0c4cec646bd95c49086e8f61125f14d2a9643a9d490bb4cb80b7daed769eb73b1c4ebb21575604dd91cf219948a6338268b53a1c2eb7478e2528521c74e52ac303909f5b482713249649250d9c6eb78bcf364795ac7e97a5362964e5c845a21662df026b27456fe74c7564305229d6340986c34918cda31164f5d70409e97822914a0bbcd3d35a34d063a56533a9449229455a59898c8b742a828675104329771023e972cbbd99ad57d77ad3448d98eeadae8cf65abaa94c3d1a3d8c70869a431dc1ba9a283b8d0daabce338ee1c8cff32416599171e5ae9b5a5ec1e02ced2e155028bbada7d5c645eed9f8da57866d063571ff10d0220000220000220000220706c04e0173836941074ac0444b65420c79076b476354c8475f38afa1a338995870f1fae6fe9ec0bddeb86e6c0e8685feee9014262eaeeddc8664e114b607cd2be10cc9e3cd010883ced23c74262ee4e7f387b66426026d227053f4cccdeea9f57d56ae85dfcd63d7d2bb8aa7360c88ab40467463bdc3aa5d86db96a8bf15b6d41b58eac8ce591c0b2f4d4198a0ce85c24e9f8c2fdb199cd3c1d68e7764b6074b04f9e8f55e418f4b7f52e3feb8e4ddf1d59544f5eb0747abf1f28e457a9a86c223a7d7f62315f295b53e783070326812485e4f4fda1c58ddc124d81f16e7e6138ac6ac83586961f7bac9c4119ae211479aa43c20989597fbf66647239c4884565ea09c9d9a9b1f9d5fc3e61549bfcc3a383edcc84adb0e35861769dc5f12f6b469fe58332f448c1a125ae2dad6bc2395b87c7a13cf12e5f2337affde4a273f1414f6b3627ee4000044000044000044000048e8900e20b1c134888390d02da0c7e6e65c9a5b1cefef1424e01cabdb53edf9b13aa3013bbe5efcf730a50defdf911c92960516bd1021c6a37d29bec8202bd03632bdce937710a5089d550ff5034a50a65df15a99de324d1cb31de8b6b53b7024153a70065dc5f9d1ff1df1833466dd4c9b6a79e8cddcc3a05a884f90a03adce32cb66e6eedee837730a90a09d8dc57effcd684e0c45d641bdf94e01cabf313fa2730a50826445338d74cab0c7f2af0ad513e277fdbd859c0254eb4664a2f3e6941c29efc83ae569ff738f7fa65085a0f43d527068a5d634d39fe31a5a7dd92501567757b3f63be4f6d7d7107c306f542001044000044000044000048e8100fc02c70011224e8b402669661608c9b9ded06a8e0e164bd69c505f6d4c2d25d5fbccd4ef86cda77ad51c5cce32022dbd8a9bf589275a0b2a535be40cfb07f274d04cc6f8ec9d11754b765e2e35617fb5ffe6434d133555fade5c9ecf5fea60c851f8a1605971e96e6778a338d09d89c037f1ace725fdb064071556a4c23795aa2746ef07b5b50a4a5df9036e27f2cd548c5c1665765c193affece3bf5250c636151a1eb44d4497d1e152570b48894ec31e96782a3b427465700b02e78ac0e1de9e20ec8987e74ae9d354f65078b3bd9dd903a0d3848eba4000044080c33e020c82f3418076bbcf0e05d5e3cc659d6d1e275bde9e8c46f56db0b504bf1dec70b037427c6e2c18ce2e51de8cc6846eb69940883f8918add48696dec16e1f2fa4969e8c454a58b0fada0add37f60ef7b91d99a5b109a395bdba921c9454a854edae6fc33382958b4df56797cfd37af5de8941af9d76ea3be43d1299b5216d4783a49aa5d13f3ad0e1b48bf1a527a1c52c0a0adbf870a1fb5197b291bb5033587a359698545688cf860c66b4cd1f1ceca01072e9f8f4d0840ef6e6d074ecfb7b5eaa33bd326b083249d3c82d81c1ee76bb985e98bd7f1c1d946d71e5ea8949c3b28fa6f1f9073e69c0a5134b43fd21cddfb4135d4b0f0e94d5715975ccefcec2f8af1c94795bb2a9f2f04827f5bf4597f4a3cec9a33eeec4928257bf39447da17eefbd588b650ed427edbba6b6de71d573edb29670d49bbdf85a6c97abf7fa3c754715a1941385cc7bd17ad1aec6d6383ec9552af67315cf0552891ed594ada49e72f28a6f5e3c7f99a9adbfea33b8b4b4a27b89d89fdeeeb1315a73f1ea6faf97f12fb056f4ecddbc4bc47e7cbb474db9ecf9edb57abd7e65fd12b7e36bc9dd837a97d773c5f07b4a275ebc7c27d6fdb71f0efeebb6587b1c3f37bd6acafde9fde24a0d0913e59004022000023f0b01f8057e16eca8b42481ada0ff86cd4671f558cefd7dbde1a0966decf64a1bb89331cd1063af0615a700ddf29eeebec6f07a7691b22c8e1357f487a291cdd9197a3ae091e43a071ffd837be8ef26d6cd6a947294feb0b47df7fd3df9cf3dcf330f7f3310d16d90cf2866b658a1da560a89c8aaf6368637b20d727bdc4e5dd48495e931bdde96e6e17f986c97d7b13b07267ddea9cee1ec69701b3353c9ae472ef3f6340d87067d6e32d14481cb399fd1bc802e35a76c7a6a6c51f7d63632ffac559e1276b43ffade337623a0b97bd4332684a5278605208d81d0e3bee3eb209d36e48298ad543dea3a5d877216bb430d6be97077dc0b2c64834deca732a2950225b20a8b769c4123f67006c77fe5a0cc7750e40c0f2e1e8be99bafdb9ec3929d3eaf2ec200471145e977adcf9f736f3ec37878b0fbe6e5dadea1cf7325277fa58f87cca03b34afa512597be9972f5ebde79d5f7f7d5569ce7149ae448b3394371f48f9ca5553b6fc5acacc79208f8e0243646ffba5ec14a8adadb55e30ff859459d119c8b69b7a474e01ba0edfbedebe66fc71990330fb251ee6fe9e76b7dfd102b80bce7f674dfed7136ea5b996c75c69f12171cc95411c088000085441007e812ae0a1e8c912d8dfd15b5f7975f5dfeb90feaab2767c3bef25e355c9c04b13b7f28390882e656de8ac84b47e3f334dba8f2a4e013987b5fddee854e788dec0ce162de3ae65b4c799cde6e8ee6b8e4ce826ea955747509b9524335d7f198d282119d76b6d7b30aa3805e42276ef407f53241b4f91db882745974b259795db148a3c5227652b760ae496a5996e5d3f5a5aee294e01a53a474f5fd36a5627e98c097772cde0ea697ea03805e432d6f6d107b3fe619dd4acea15df1d413d8f9ddc1a5905f7577bdbd69afd3d1dad5eb7cbe9ee7bbada67a245d18e33c94fdeb0b335fe8f022adf8037195a56edb7cb30580a9c98a1208ab3ad44868d06a6ec2e3abfbeaed9dbe26ef2c7c49bf7e2c1eeeb9478c5993fde4d4598275eb8fac53581bb6098dc34cf5922f5422ddbc4576bd5b43936c9252a3eabaff38054a06835652ba8a6bcacc5ffa8ba20edddacadbfe6f354bf7aa53c854e2c97f826f55eb5ab0f76b7d387571c793b538ff04bdcdb7e4dff95abadbf4c916d92a4fce1b95fd75a7c489c58ff403008800008544c00ff5e558c0c05ce0281ce89f92ed5a0b5f20e79e9311d68974ac6d756e2c9642a994c6e6e15b01c299fbe0d0dee5c3bc3eee9b0712671f3f5a50ade5b3cce6cdc34ca6577d24477be5f8066e12b54bb608dea0b31b9a66fb1ad3d2fc2bfd5e36de474cb0de818c5fc587d4dfdfa930d54e1e57de797155286e51cfbabc32d86a500140642efcbe062b124e75017554895dafc5db91dc4bbdb1b38e38689f2f4cbcb7514f53c6e8a92af5b854242f7d72361fa1f136f69686ef775b4b67b3dd559a079aaea134e7ffc1f0994bcc423ab78fef0c8be53ee0cc793e6bd2dba54409f5bf75fb61a6bfdb5eb5fecfefe05cd6c1ed06c3fb3c4f75ebd48a4df7fa0793cb26b6a6b6a2ed43baf7fe9d48c9accab1f936f763f1c1c1c7235d6bafa2b976adebc797fd1f535fd4b917e93da3daca725227587efe2b19fc40b0ee7a50fc9e43b125c5353535b67ffe2fa97764550815a58c1e4de01fdf4b8f7af7ff863aa86e977a922c95c610d35478384e330fda73f260fea2e5fbb72f8f2a7f4de41cd55ef6f9c759cf0e665e2f55bd6c0c31a9ab6bee4bcf6c5957a8ddf3ba9f922bdada9b15eb8e8b8647df726536397da2fb57aaff6d2d75f7fa1d624fef4c39fde1d585ddeebb2595844b8487abf4cef9168097bed858baeafbeba546b0ac46a9e59ad55d1d61c26cb24bcf929917af7416493b5d448befeca975f16fa4916e8299252ba973923aefa4b3c35ceec3accc47f78b927b9720f7693cf9f6fdb5d97f792afcd7aa780e68a329fd3beb057afdf5178021a7134743d5fd4fd144feeee7da0feaaadb15ebc7cedabab86ff06a9da54d54c5548f6fbf5f62e3df057ae5d784babfe3f6cbfda75b8b2a348c957e2979895a6de1dca622ffd8abceb29965873f0faa7f8bb77e4d8630da60179e5da57ce7aedc75ab8519244769cea76860d0306a796b73bbf725fd10aab95b2ef772fe32fdfed1d1ed63aaf7b8bfd468e7148e8abc73d088000089c0102ba7fb3cf80365001044a1268a47de6037d6ee39f3da9b5b9fb23854e30cc13699ca0e41c267f2cb285e17a1b3b4f46e1043abddef0a7ab5878837e656a17ae527d63252ad9796c5eddb9acbea66f878776ef9b2da1d0e5f1e6f949742f4bdc565ed6e01460d289573aa967bf635c222169c0bb5c16aec099942554acecb5897a6459763c9a89dfecd7b63f1844ee6fad47e6e97f9ca579e2e9a437d7a561c87b8487b33afe4d41e5b6af8ce1917740a3503c6e636e15f2730d67fccb7f6f9759e1ca75f8532c9696973fb36c8764380aef5ec51275bf765fa22cea966939f7a1b897799562f75666d1d57c103e7ce03eb059d20f7b0219d61fb67f62c611192cb4bbe05014debdf8e1a7df7abfa0a782b5b8a8e007d9763c3c103f909762af22c9c53534fce3c37d1099112ea6e29292ccc6e2b8dde49fe2dbef99d2ec2215f6d2c9f887c3afe5702de91ffff8d33b528a5d35d4a2bddd94d4fcda0f1242b9d5354c63b5a6830f7be46111f7a8505d51e1bb2ffff8e28d3ac1cc11f60321f3e31fffe4f9f5251320bbafcd33fff6bac1f43c308569cdbc8cbd78a3f43135841af9feddabe7cfdf7b7ff365de5a8fc23d45e3a1442f7379b832ba6a2588dac701851a54fa9d3412c5bdbdf71ff27ba798e68a326fe421c7da757840c3f3f973b90e36040f0e3f64522f12f5bf75abde29b5feaa9aa90ad17defa5deb2b880b50ed7e5fac3ed776ff684744a74d5aba342c959f497a893a6dd0aafd8e8b35eba4add2c8d38ee4078233bf2d98f950dc857f1e71f3cbfb9c65c03451b45bfe59f623f6a3f750647dc7d9b7cfe41f45dbfaa55280fc87422f6130b94c0d57dfe2b720a14fb8d1ce390d094c00d088000089c0d02f00b9c8d7e8016b9042cbda16f5bed1c9bcf562f9eb7d3345dce9f1df432151dba6db2509f15cb9d8c964569a7dac98fc994ee6f5c39a99acf3cc3a680b08ad52e20a748b249bb743c0b146c6051058e78555356a9921d5668ec638bf151ce676533c77aefc11135aeb498729622ef1efd3ed2b1b23437b7b0be59408dfdf5e1c0dd99c8a3bc551be5d4797ec7bfd2ba9c4327a5d47286478ed38ea6238d2ec072e09141b1f75edc3b94e3bd8befd3c957db921d5e5b7781acf0d7d2dfffb597bfbc7eed12198987a9f81f5fed8ae207c98c14538a7970c9f5f59734af78b8fde30f496513b55437334624af83f61fcf0bf6afbc5f911526bc79f1c3cb0cb727900d6e2f528bd5f99bdf3adfbffe533cf59ebff2d5d76400915381db937c1465482ea9a11e91a6245753eff895d371a9be76fb8f9253a0eef36b5fbb2fd7706232fec3f6aeb8fb2a91717aed7baf929253e082fdaaf72bb68022f32afe22a53815986059202d8dd0d7c298d4b037e276a2b0f00bef0566835db8e4fd3533cec5772f633fbe39387cff56bc9e0f642f5520b3c0d5ebff7d3285496a48d679edc5cbd7af5fa3ba76532fe2af3254e58fc95d6fce9c76919ed2dacbd436ede552b8a8a076599dbedf3a77a57eafa9bbfc6bafcb2a6eaf6dcbafb3bdf3bc88e64e55d605bbc7fb557dcde1cb1865a7a15d53effcd2436b040edffdb0f62381fb20ec716ad013a54c35cd54abd57fbf7bfd86fda6ea3ebf429fbfba5cfb26797090799539fcc2e88f28f64bd48b53efdfbc7a4b83e4e2955f19fed5afa9735dfffa0a5fc3eda5fff4a79fde1f1cbc49247ef59b2fadc51b256ed31219124c83f9fa57ccfb2f0fe683f7dbaff6ae5e55fd4394befde28fc90cf385d1da0b0ffd1e8b0e63bbf69baa7e48a8adc637088000089c1102dabf7067441fa801023201a7db5d7ca3b10a4a4cdccf710a34b404fb3a3c2ea7dd4eb1be93775b7a0db1f0a99cd538afbe9348719c5b95c7be85f84276da5dffe2f8ee8fa076e9ca8d7bd895208b8662a944ccf07c0a0f399e8896e1f93e8fa88f8b60cdeeb166ea50e7a40d4a9a2c7be0848461494179cdd057aa9538827a4a59ded3da4dffa3900f6cfb4a7c2dbab4b491bb8461239a14dc6aa806adce326ecedef83f3aa8329a9bcdb2994c091e5d28cdec1be9ce64ed484e0ee9712ffdd373c36621964a0b9ed942f70b17eb2ff287d6cf25a70019b40735b5f4df41513674f7d26c47004d574a4e01baabb9f2a5fbddda0fbb2cd5f4aab9f215730ad0c55fbe5aff2ab37bf061978cb2a2b590556db5b232b42a5a720a5420f9c2bb4a3564c2ebafd272006609eda55eb29eb47ece9c026c1b85d5e571effe9e4e08dddb7e235e38901a5a6b273b4a0662a7631cde3f7fa95f6fc1e4995f44af8870975ce8c3eecb97dbae2b97f94bd7ae7f59b79d113faf630ccc819865cea93bbfec5efa2debaeda7a8fe414a0db7ae7575fbc7ffed33b5a1a9137a75db4a7d4bacc7bf9c2bb0a7169cdaca5908332605683ae777e2aa6b9535e2a51ebba4e4e012a57f3ab2bfc9b97bb5cad5dd9385073e9f2c5da97a683b58a66dad9c0c9b9765f4bfea34b57afb11756eaced729e1e0ddeb6dda38a7cf5aec97a8cfa7dc67683c90b3c169f44d5f724b4e01ca53e7b8ee11fef0c3364dfc93c9ef2cda28e5b75c5b2f3b05a8b4fdaadbb11bcf883559a743cd4132fec7b7bbe414a8b974edeb2f2f4bbf91a2c3d8ce1615d1754c434216864f10000110381b04e017381bfd002d7209943beb2ea6930613beb137f2b83b3b9f249a19c7b413d6b0cb7ee3e1745c3d8f80f41097c6c60a4c01e76a79e4e7a3a86d5659f6ef1b7a4bedb271d9d9eb9d683cd3e733ccb60af1a8611381d364f98559352c4dcce876fd5badbcd9360593b23c536a5ee369e17887c361cc47339609d5de232bc5c15bbdfae8013b9185d4a0d7f0c7a6901398d0284f79da5a4b0a1e9d4d9e88aee4e73b827ae494989d5d1115f48e8e9e2ea7cbd34effeb1a1085e4ecdd6f1637b38beae91c2ecee3c9afd7d071f9af69052dfd795c2a13953bca403ad2f83f0a2893769924199c44743e843a14e4ac390c7cc68160224e4ea27dd756f9bf6eccf6a57dff9f5fbd7695ad0e607fff7f75fde29be4cb1f62cf3fb06dc70619990c9b60a4a00259a38de32ff1b5bba6b616cbca3bb256935288555cb4165d95c6ea752f0a49ae58432693676ba3a54bf9158b6ffff0fbb7728af649fb0d64e1b57586d5e0972ed595e917282ebccee1a87bf57e8fa3b321923fbc49b25eb968bf7acd9ddd2ace545180949759d35dbe51caee4a73bf14eb21fb1f02da42f5abcf5fbedb667b3d727e58e5f454815eae1297aa7db6774a6ace8ad01e79f557218fde5a3e8bb0e078aaa299aa9ed96ff1cd6b6939072dd4a74d0c14a4a2e640640e8d83f76fd2874e43f4c122bfc4ac3ce56e2f95a29f5f2d05f430bcaa735cd2ff1c1d7ccdb612efb068a3e4d148c340a54542ad5f5cf71a641f086f95d530f4a32feb37a2143fd92161d0110f20000220706a04e0173835d4a8e844088899945e6e83f170f3f49ad10e56b25a5b3b9ac3a16c2cc0adc5e01da17fa0cb6315d2d1e9b188ceaed30b3fc6fb23a96d527f86f93db4bf7e798fd736bfacd9e03b23630b91475ddaeb5474ca1883a1b9fcd07889d93bd9e3f748115b20f2ac4f936ca29996c43b7c162ea25acafbab23731d916ebdb9be30d49f3d8f801b9e5f6d77383d86e801ebf7a7634f07b4bfe784a5b121833348ad4b32a6d5078e5b7c12ed519b2fa6a20fb364b279c84d51a97abef4ca7c247bf262d2e57bd4ae783aacbc6b60b06bb17f5eabc0edc97182286f8c1da765aff8e64803e948e3bf72502a95128d72b8dddc62b63f8dab47b85422a12fcfe7bcd6bfd3ddd75fa513d175e680ee152d127efe3cc9a6b5c978afb5d6f175b51f76dfcbcf649516b4abf42274f7392beab537456bd17215bb2920b9620da90e3a122faf263a274f4ba3886cd4726b2d2d206069072c2c60f66281fb2abc4c8573d6cbdefff1d276f2653af39e422ab0bdf1bb6f7f8cbda580865f5dc9fbb7a4a2cc39ea495664aed2d28284dc442a584e4f15ed8b6a71e97ba722cdb55697d341553453ab47bb914303b2c7839c5558b9d1078bfd123571ca8df88a0532aca18005c637d216157d92d68b451ba50e66f5b7ad97a0bfa7453b3522850a79f3227ef9b7baff32b1df8dc96f44297aa24342af1eee41000440e0140964ffd53bc54a5115081c1b01ab71d5e2d6fc54d4fba0d5e3b0d2d46d6cee9bf165d39a1ced3d8d214344f9cde599a0795e5301d5261e4d6d56abf1efe7e59140a2b1c99a113a1e7ddbe1b47a07eed9967507f86dccf86fc6c8e1e1b28bb1a5d9f9d5acf545929a87079d15b4c3685918d5282ac6d1f7c01f198e6879c241ff4a5b6f5f3b796152d12753cb7a2f4c53503226ed5d034d915076ffc7d6e2f0cda47fa0bbd52ea6966643c67668822982a44b1f7891a3e6df4a047b7c427c291cc94acb16607795abc7fbf4a7556c4cdc9ab64ef678ddb4df219d58b91fcc3a05483a2dab50aa53bfe5c79c8e53f254fe75b48174a4f15f39a8f29a637751af657f7b896486d385644827f58ebf066fe12d06fadaf26785b5b7ef92dbcc50a8adffea371e652b743afe7b3592dbc58b1738da067fc0220b4a361a65dd7b2718ec644d54919be2b568050b1817da7b939b2a35aca745e1bbef6bf8abbeafb3bf7e21fd8ac202d0747eed870bafde0bdca1bef9147a4fd77cddada2dce1aef6beb8f0bd77293a1fe0f36b5f7e4d1dce1d0a99372f7f4a92476637fd9653fd021a907232e7d0d1cad6d559b98c484120759dc809a934d33d370e1e57664fe5d4253fdaeb4be1322d5638b122cd0b8b3179534d3373c5b188839456e3f8f26bdaa5af8c88da5a0ad8f96af74048bfde7379b43534457e89b962775fb33d04172ea9078c6aeff7deea834a1cbea745ff7451bdc51b7591fe457e4fb968146817c5297c4e1b103effd22bc518a5f40bd77efdebcb5c6aedf9ab83c3dd172fdefce6abcbc587b1da604da6e1e6d88784413a1e40000440e08409c02f70c28021fe8409589dae464384fdcd896060a250a59a6d66753f0a05fc46132eb79079d0c2dc5c477b3ea2da1ce774d3a274c35e80ad4d66f1a6e84f2a8aacc47b27fb9b7a75d3efdccefacc78766544565b5be7bd32e773b3657477c6c5deba1726b7bcb7afbf3132a3d37a73393c9cb504b52296e17b1df283b3e35e4b28a03fd070672332be91752e6865f4370e5f876d62555b2fc15e6dad86c6f562f4d995fb8ad5e3dd7dcd968975750904b7bf381eccae1f30d4d0d2a1ce3f95e83843a90a1e8e38908e34fe2b06555e3bac0eb7fe279c4ad101049ac92a2412bafeb4b81dda4fb83ce1f9b99490f0b51714a7009d1e979456124ba1f4ea2f5de4b605eec3dbf82bc775e9b0b7373ffe58680f41be702da5782dd96c995dee8a664369c9c56eaad490b75fac79f5fe5078fde39b4bf26e6a0a2cf0e227167bb586f65ad05b0af847cd4f3aaebba43d48c22b39789ba2531d0bf77140a1db76b96bf52c2df5829595afe2c22fbc7e459b44de0a35beaf5d649ef3f62bcefa373f9289a99b0fde5381bc2b23b35aadf2ad95254435dbac157f7af9f9d7d7a435e942eac76d66cb5aeb75db3ea47265f6544e5df2236b6f715ca6c50a2796d25c235d58448137d5343347e4bb5752c441ab9d36e6d060d01cc6ce5f7dfe3afee6f080ecfbc39c03837224983e6ebf661107ebaffc4af5c769b90edffcf8e2f2afbf927efa87c9f82b46a1a68e1c5c74d228cb54e0b77cf112cf5110c7bd372fb62fcb0b5228d4e55be6c4aabd78918d6256968e28650d70ba2fa7e9000b31f3329171b88bfe46ea8bfe5e8f7d4830257181000880c06911805fe0b448a39e52048efa278f7b74b8b9d07904b9756e25e86f58b7f4870cefe98bcc38efde9dd04f57cbf9fdc3e37c746c7e4335fcec863dfab9328ff87c54b55dbe266eb1d0dc37e9e2ea7a1412878261335f80a66a43e7fcd3810a5b75d4fe6195f25d8fe7337702f33ad780a68b76d332fc58e7a970dc9b1f8907c67546a19651bdc977dcf09ed1ce86a06e51ba9a55facecfafbcae543d6bfbe4d3c4cd40a4987224da36323faa19b87ca98e3b2adfa30ea4a38cff4a4119f0177cb0bada1b39cd6db4b3144d0fa8bb2fc4544cb7c6c5e23b86631f9509bd0fe93f3c7f7fa1f690ced893e7130fe8f8b3e4058feb9af3e2dbd4fb83f7a917bfdfaead61a7e9298ae7ce344b66856132526d21bdf95c9e492e58cb2579c702d921bfff7dd27eedebaf2eab85e9bba864aebe6c0d3591873a3579d7958b696a209d06b0f6ba8e08d0e1792ce385cfa538fdd7aec8cddf7ef187b77575da5b4d14c7932d489b00dec4ffb0cbd71dd2b18db2b6b2d645851f5cb9f4eaa77787c2f61ffe90aebb603d14e9b44606f782bca64602ad01f9a278e6ac3ed29db1ec57979556086f7efcc3db0b5495741224e5acbb9677086b89f120f78b3a06f4d5b276d797c4a52f51e05edf3baa4073cd3f486b67cc9429203a9b5c5533b362e84e8938c87f9eb751a7fecac5da37e444cbbc7ecdd9cdf74f1924191edeb192140843ef26538716f721f3c3efd7c8254547624a710ce8c002e695aa2df12bfbc251f796560764923fac6dd7596b0e946150e7c8539db35ff35c7af79cc266befd9176135c2ff61b61fe25e32a04b521c736245481f80601100081532690e7993de5fa511d08a804b4690729c15ede3e6296d7d93e191ee9b4a972b2df9686de89f044274d466a5782cdabab17ef6e7ffcfd6a643e3c3112eca72b383c1e0a47965707db7d7c46750a5066513941dd6a8863a53b074a5b2bce241bdb41cf56c314a7d6ae23aacd7b1e2d863a9b1bd446987c7bba2723e1f1b64613249ca5b17338b4fc74c0f0575b51fde50a285aa0a126cd57524659a9a0a3eff1eacc48a0918cf3bcaba139109a8f8cb63bf56fac8ed6679199cea6bc56589a8667c2fd4d164ed7455a41cfc0d3506f8bf6a8dd34f94722ff106ed69e59bfe81e68374165ea39069f4542c1ce06b3e690dca6b6feef22cf5af5cc4a759c411dee2c8e7f895785a0ca1a1e565fb7aecbf65762ea510242624def4a6a6da7c532252ef93f69da92f2fcdc3cc524e799439c4e42df634e81dafacfe5a3c70edf53503c8ebb7adde7fa9c8e44a31ccc2940c1f1eaf55108295daea3565a6060f29fd01a8a7858b21616574f71cbb3c888ca558664ca595a43559ea2abd1a571f5bad7294d7a1e887bb253a0b6eed2575eb75c39bdbd524fc739323ed2db5a2580a322d3fae557572fb0ac877b02730a58f97a09276b355d45845b1d5f7e79a55e424f161a4d6053b36bf8cf5dde6bcc459903a478665693eeca294b6fae5effcd55298c3e6d0991adc1da0bf55ffcc6ab0f60270b28d153457b59aa2817d7850b12089381a1d3581a3b057aa7b0e679cac809da8e17aa401ef9c60e67f556d94c4df5c38c1c18f4c2153acf2ff7aa73d2d912e4211268d587a254915fa2569af208af5ed36fcf7ae98a41682d39e6c8faafb3b3e17a40c351720a505cc22faf4b9b0d4a348aabf9c2eb75b0a5011c1b057bec3ffd17ea2f7fed756955ebd059bff438a5c1f9fee5cb4c9161cce5f5822a2dfb13c8f9059535245429f806011000819f91c0671f3f7efc19ab47d520707c04c44c9a2e66f793296ea7a8f746335e5f5126bef0702ea1d82c02df313aa82ef7967209f15bfea0364f69f3879e0d963648f4f22bb9af40ed1cb1a22828419fa8c1463357c94947e8a553121282c20e0228c22447f8c93d0a523f09927f8694723ae90082a2b50999142d2e67fdaa35419cbbd5a68ba1d8108a3c35f420476707d25860bb1d682c38e9d8abe255e8eaaf543d41c85083325a7be8784c873e02b64eb47a5bbae3d49c957c5730908e65fc570aaa585b8cbfb8a6fef0a32ef6b77b7cea6630bb2aa33114796cece562228bbf939c02e241adf5222f19fde2deee9e481e002bb7fbf2a7edc30b8e2fae5e3a1459063a4ff0c7e7bfa7894416414d8dea5f5cb8f6b6602dc58d46adbce9cde17169280a5264006b5d3d5b0e9e73d1eefcf7b4e4baf6623d2dc68effe1e56eedc5abbeeb59cfdd9eb04b461a394d78e9c0c59cd2e44c2d229c39644491623ed276fa92242aca9ca7c6a1b0cbb6985beb2e16afaada9e5271d5d597ff2f4d9eb28684723537142af5506d334bc93ffa7b3a77f0dd01efb82439e4ccc42884ad795e3ad9c167f65bd6c696529633296c56952eadd830d66533bb3dfe2161560bd240000440e05809488eed6395086120f03311b0da1d4efa5f39b567926bebebd9c5f8abf79dbab8fdc28231dcbd475dd45c8ee4caf354a0768ef042de806c366676bbcb43922d74d277e4b37155b4ca940c7bb731bc243bc4aff8450d771dade195aac7f376de95a35e71dd98dfcad48d53a25889d7150ca46319ff95822aa63eefe969b68cab211b36e656842e0a30985eca3a05284ea6fe148b62c2ca79478792f156dd4661328ee5c7bdcc9bb7ef28a2d9dec1b52f5d9769c97c32fe829c0234d1e8d0af702ea70e9a322d544b79c5cd737d382e0d69a63fdf1fa0d659937dbba72d67505fd2771d5f7c9f75b6b8ae90724b0e01ed4cb8fcb739291565ce294b3dc0d71b66a0f3322809d5f6940e57a12a2a4c2f57f38ac456dbcc8a2aab2833057eb85cb44061c2a51b55b86cd12ae965b1615ca2ecd12b2d2118af41000440e0e408c02f70726c21f9ec1270f95a397d703e0a5cdf32d7e26f7739c49527fae3e7a9098d5d3efd72f0b3db2868060265123883e3dfd7d7c3ad8715fd7716d6d27dbecc923e62646f9fafccd65595adee2a05c34bedd241ec2f9fbf79a989e22f5f339ccaaebd38fd9bd3d750dae740c70a9e7e5b51230880000880000880c0a911805fe0d450a3a2b344c0d1110a2c050d71f07628d280de0e91d5ed0d3d92e3149e25eda10b085447e0ec8d7fabab23d0109e5776efeccfcec5c594eec4c7c6fe2e57e1c9edea60e494beeaf1d56fbf4cbd7d4fdb0828c040ad95bf7cf58b2b25b686e4c838d9c753d6b0ee92e352a6a6d65ed6c4fbc9b61cd24100044000044000044e8c00e20b9c185a083ef304124b0ffb4326c7e5298a5b9a461e3f68751aa2069ef9367d220a0ad337fc8bd9b883b650e4d971ed3cff44085233cfdaf81713736dfdea920116102cbb7e3d38bfda81553b9fced0444b4100044000044000044e9d00fc02a78e1c159e290262261e5b5b595b4b24d3720c3fdaa5ed76fb5a5bbd1e170c9133d5550665d2897832234abbf4a9df1c5eef69cd261bb438ff0f676cfca7e26b29a957c57ffb207e56c3cec4a3eee55dde938df171fefb112d0001100001100001100081ea08c02f501d3f940601100001100001100001100001100001100081f34c403bc8e53c3702ba8300088000088000088000088000088000088000081c8900fc0247c2864220000220000220000220000220000220000220f08b2000bfc02fa21bd10810000110000110000110000110000110000110381201f8058e840d8540000440000440000440000440000440000440e01741007e815f4437a21120000220000220000220000220000220000220702402f00b1c091b0a81000880000880000880000880000880000880c02f8200fc02bf886e442340000440000440000440000440000440000440e04804e0173812361402011000011000011000011000011000011000815f0481da5f442bd088f34de0d5ab57e7bb01d01e044000044000044000044000042a2470f5ead50a4b203b089c1481cf3e7efc7852b2211704ca238041581e27e4020110000110000110000110f8e510f8ecb3cf7e398d414bce3901f805ce7907427d10000110000110000110000110000110000110a88200e20b54010f4541000440000440000440000440000440000440e09c13805fe09c7720d407011000011000011000011000011000011000812a08c02f50053c140501100001100001100001100001100001100081734e007e8173de81501f04400004400004400004400004400004400004aa2000bf4015f0501404400004400004400004400004400004400004ce3901f805ce7907427d10000110000110000110000110000110000110a88200fc0255c043511000011000011000011000011000011000011038e704e01738e71d08f541000440000440000440000440000440000440a00a02f00b54010f4541000440000440000440000440000440000440e09c13805fe09c7720d407011000011000011000011000011000011000812a08c02f50053c140501100001100001100001100001100001100081734e007e8173de81501f04400004400004400004400004400004400004aa2000bf4015f0501404400004400004400004400004400004400004ce3901f805ce7907427d10000110000110000110000110000110000110a88200fc0255c043511000011000011000011000011000011000011038e704e01738e71d08f541000440000440000440000440000440000440a00a02f00b54010f4541000440000440000440000440000440000440e09c13805fe09c7720d407011000011000011000011000011000011000812a08c02f50053c140501100001100001100001100001100001100081734e007e8173de81501f04400004400004400004400004400004400004aa2000bf4015f0501404400004400004400004400004400004400004ce3901f805ce7907427d10000110000110000110000110000110000110a88200fc0255c043511000011000011000011000011000011000011038e704e01738e71d08f541000440000440000440000440000440000440a00a02f00b54010f4541000440000440000440000440000440000440e09c13805fe09c7720d407011000011000011000011000011000011000812a08d45651164541e0d808a413f1b4c8a4395c1e079f152ba412c90cbdb03add6ebb359b5ee69d26363fbf5491908c2705926e77ba9d768ecb79cc2f744652ce8b9ee5e33af1166923a1e8003b5e35aa92a62a6c1cf962269e48295879a7c765350e6013e0423a994cb3317eb45f90894424810008800008800008800008fce2087cf6f1e3c75f5ca3d0a073474098bee15fdc97d46eec5f7edca57a00b2e9fe5064d0a37318983531138f3e594952596f779fd741dfd9e2f9d9994057f2a63fb843ef2c9d91ef0778216e78cc2f7346527e3e3df3081f1391136f916e2414196039e3a1cac655d5a8acc2ba919f9ebe195864e3955d4dc1f0a356a1e4888d4fdf0c4a6574726401f804011000011000011000011000018500f61160289c09027687aac6e6cc542ca33e705abaea29d0de98dca4d6662391c5c5c8e29abcf680cb1637c94d49568e1609b08b3911709526904fb87499b391431b485c1503acb2a65437ba3485d5a129ccddc93a055ac829d0e12a471fab5519e3aa9c720a210f0880000880000880000880c0a74500fb083eadfe3e17ad5d1e1eeb5a7ee4aadc8ee1ed6402b1e954de9a5bd8d2dc39e07388d25605ca208aa25bef0ba075d6ac98e7e9e222dbb460e54bac4c90b2ff6c1f3f9f9e45085745e3745b5470809d901af2e8aa0a90b8347433bca988680e864765a7c009295c95aa280c022000022000022000022070fe08c02f70fefaec13d07863683af66cd06bda5221159b9d9e8dae6fd2b6038bada1bd7ba0afcbcb73e9d9b187d155c5725a981a4af2f68e7b039a84aebebe8e7c4f83ea2650b3a5e6a6a7d3f4e0e8bad7e7599bbabf94e6ad5cc6d13a30d84e73b39985870f63199e1333be81071d2ea3eb404c4ddf9f4ad12eeed66e9f181d0b2d937fc2626bec197dd0edca4cddbf1fd9600e0b5b63dbbd0783d21e0756a7988e3f997db2b0bac1b650582c4dbeae9ebe1e0f73585073a6929441700e3e18704a5e8ef4caf4c3a514ddfa06fee7f4dcffa1eae9955d2005b0b05a382131373dbb104bececec532d3687bbbda7afafd52dbdcbfb2898d994f03d9f83a3dd1b4fe6a289f4cebe24dee9f6f60c0cf8888fcc44e45cdd831dd6b5fb63e1cd9dc6d0e2e8dac3a9544e6264349625efb5aa305dedddee4c746a86c1e42c0d6d7d83f7ba3c9ac6a9b5b9b1a9279bd428ced2d27bafdd9e585821c159625acebc9b42034c3f0014b0521f4d2facb2f1463ddad44a43a9dbadccc117e9c1bc3aa58462dd645e82b3f3626cea56689dd54f5753ffcc6476a58089c2c9b5d987530b12165b4befa04f3fc855b0958c52b144ff72d6e2dd24ab8d4f100001100001100001100081b34c00f105ce72ef7c3aba0973b7fce12d437bfbbf5bee728ab3b7fcf3527a672832e0e1d36b53819188211f3d34f6461eb969a3b56239a9afdb42f3cea9802c562eaebe51bfc5f89db620f325d80291677d145fe0963fc86ab375469e0d086b0f0323cb72d6e1f955f7dadddb331bd26373787932d7c9a095950b14fb6c0c451e53a80432c0fdfde1fc8cbda148b7879bbee9977792ab9a0b1a8ae0e3c9853b439a9ee49f2888e5713735ea8e5f6aa3b1a686ced0d381ac8dadbc2c92b987bb6146d8fd241092a918e5b3eeb327149ed9570da1f9c1a98004d93451229fed886c1ee5ae79787eb29ded39492edced55ba2327534328f2342f12457903cc95d40f00022b2416fcfd333915907b60f8bb7f68775a8bf620b9458ca3ab7837e5d661a2306569ee0f4dea3c239c36ea646e1c9798bbdb1f36eb0f8e6303496b606e75f9cff2281596eefa2be95f458ed64df9729102022000022000022000022070060920bec019ec944f59a58696e606b9fd33776705ce6a989417e243aa53a0b9333831dedf6491f26e86c7d6fe62727cb84d29ca3575f68f8c8c77eba6f41783fe1bead5d2d272672e6142d94a0107e48b7d3b7cf7c6db6cf2f344a045750a70fddf3dc8750a50a66c59722b34f7f676aaba3001b6e6cefe408b2c8ae33657d81908a931d5296069f28f8c8f743629758583634991efea6996f3af442555854454f69bd83a5b1b2c7a3dc9382c88259a16926bccf141b66c53ef7c24321f0acad56c2d4e25f433c9529e6299ad2e13c27f11538dc68660e8bbc5f99980d225dc5a8c164f683c25e99c85b3d8a94755e54d13a597fa82b696fe61b5a3396e7d6e85adca17e263aa53c0d61c181f0f362bf06499453e8b0eb06cbdb28ee929d52920f7515ba33ce0f627ee2f08257a304f87a2dd9497db3cc1e331aef2c8515888dd579d020d2d8465b8453f0a4964367f79a334bd526eff9a76937923900a022000022000022000022070e608601fc199eb924f5b216bd7e8a8d57f9b4dd3ef2c4e457d6cc1b66c0fd31471f489621afb272607d82e03f723519e725f9ffb7f469f7677a51696a54dd8eed68e56379976868dddfbb4cc5dbd32ececc3d297efdea396e5dbabba8c8dbd335df2b27e5da2f1b639fc6c92761d74b844ffb0b4b4c1d6f97472801c1c2e31195c642d609a25a2eb72315be7b347ec6dabcfcbddf24befd7a30961a0b5cb165aa7f5f33bcbd1f43daf3516656be9696d44773b2d35908bca9f45b1ac0883b289cbed275616565c5d3eefe8f888c0fc2dbc593b8a64e6795f3b9f435848f6070222cff3aed60e0f4de30b2ea783db606dccb0b3f1b25776a25b8c6ba9a689da5b7663699b7f768fe476791d373b47180141720ba462caa068ec7d3ad94d8df1799dcad20f43f9fc8762032c27b7985852badee6fffb478334125b7daecc8ddb6c457f3afdcf257bd068c297e8a676d68a9257b8f7be377fad8a5a2cb532270f12aeb1fff1283bd4c3470ab7f46ea81974df658d528e7797d5bf05ba49571d6e410004400004400004400004ce3401f805ce74f77c7aca8922ef1c0c752e0717a9edab1341bd4d2e661453732732dc92b399406086bea89aa2145650b2be75fc6c4d2d1e6553b820649cda06715d16b35be7bd70ff6aafb692bcf351b7d1dacb2fd3c0ec6376a9b10b1bda7db2c967d545431432ca990b8d5dadaa41c8b7b7372e4a7e8d1419d51e77772337c3e6fa5763e9013e2a93b074fbc8e79035ade975712c56879be6b89947647f733134bc18a23b5b531bdb24afd64b29cac53b5cc533e712e65d5dddfc4a74616d6e687a782beb7751052adf16bf3e2e40b1c49c82bc5d5192e7a9f314a397d65ac46372c6a6760a2d215d5697d7c66d6a3972e4641f8b0db06c2ee92ea3f5517bbb327438e7e4f7ca904caf3d94f317ec41e34829de4dc5dd54b606dbce96dcb6f5defbd1d5c9f61c55e54721ad0c2aff40bbe2e0e15c3d9d0db237ca50a4bc51ca95d9bf05bac950231e400004400004400004400004ce3001f805ce70e77c9aaad1e601cfc070f3d2841a68ad38068b852deddedf89a7a860e1ac8107937d6c0541c557269dd29549522dee7c7b5a97439ed0d62770a6369f7a3482fee804ed1804c92275f8ba5b66c69915ba30356b955d01369a38274f8041bce943160b3ff07dc4b5f4646e61695935dc773696c3fdcb51937df88ed60a3253c5e9951b8171cd1d4061201dc2965a8b4e2fa7d9d204d3445d21bab5f954b3df982e1d8bc05c2665aefb30942e7b80651214f9915dbcdd6ce494ee41b974b1cf6c3709145fd03c67837fe2e9a037f6f0e6b0147e915b9f185bf18cb62ade276319454fbdba5653e5a5651786b2a683aabcfe2dd44d06f97800011000011000011000011038c304e01738c39df309abd63e3a39278700d441105583581fd52c158fa739d1ca3b29d49c1633403f332f0b305941a0935cf05688695bf7a53c1bfdf717961fb115da555ebc7a3cfdc65a82eba22500ec4ad0bd7479dc4efa76783b1ab8555a30bfb5ae843f6ceaa14d04b957712cced4da4252e0ddeddf0edce385743cbe363d3623c5d6dfa230071e6380be4c628d12cbc92c138e2f3c919d020d6dc38f06dbc902156253caee099d9a0d5e135f8a69a2ae10bba5d3204c2f879388b17d185bf34f123d93e4f0a17d190ba5170b6485990eb0ec6be9cee9f572f3ccfba0eba3f4c39680d4194dff6152590fa07b9bd3838a5b41165bbc9b8cfd6050c4d7ce2af2eab6b4ac8e7fd3ea79e653d73068b9b5681c4b4bb1014fab949e597ac29a70b4abccfe2dd44d47ab14a54000044000044000044000044e9f00e20e9e3e73d4580601de3339ac05ea53f2bbdb3be4bb750afb46eb0332e9b5d9a1dbc1e030fddf2cb3a825e39f6559989d5d598b1b77b8cb452bfa14e6ee0ecbfbd82d0d8d4a60bb8d99fb517644609517eff2a80243630bb13459ec0b63ea12099bc72999ffbcbbab495f8fadcbc7fc053957712c293ae62f3431311ebc35b522f00e8fcfa7d9e8f9e65cc9cc39849565eb1c677739d9b4b49098ba9fb3c14352569d5a37686e9a68c851f0c1eaf2352a2fd7fbdb6edeb9738b4e0dd0962d142ca67f6136c0f4efe99e7c4dba3e8a67847474eabee2a169f05efdf7fab7057a5027b17837e932e6deaa9c9c8333bdeabb9d913bd31a7c359173b576c9f7fbabe3634bf14c26bd3235b45c19174d9874a3fa654af4afb1109e400004400004400004400004ce1d01f805ce5d977d2a0a3bda07030d86c65a9d5dea01019b33c1dbfecec0c8bc1cbccf367e8fcd8e3adccac4fbfec6e2f848708e85fd2f71e5ac9ed63fa696c6a4cdfe24a1f1dba78f9f8eb7c9b2d627be5931f30ce8cb16a8559785f74e0695130756678603fe407046d9b8ded43fa94e055b7d5d4aa54c6043971a21415d382155531c8bbbbb47cac5ed44c6fd7412434b20a2ccabb774681e023907c5712c953987f073ebafe4a21b33fd4cb6bf7f55b342559352955de25b87c62ca736db2ebfb4ba1f8cfbd57c3b9b9b4a144235a5aceffc0146c50c6ad8bd93fd8a63667526d8e90f4c4494b9f7de7b1d7c193da89756bc9bcad198777787fcea4f6267f1ee34db5ba2af8273b48fb4b06d3574ad86829d9d8171556139913e0df9b554c34d368bb42e83bd2bb77f73bac920160f200002200002200002200002679700fc0267b76f3e49cdf407a9f17d93c3ca842dcd484b76a6efdedf4ff4aaa68f04c8d2d03c127e2a1bd28ed6be5ef598437aa9b74c0b6dde56f2a8afb38f62622ca49c18d039c1ce17e07d83c166d9e8da197fb894359ed47eca969552aceaaa6e2ddaa0d5aeacfc9673ba3a26bf1b09680d940a35748e841fa9db0a28c5eeed5027c6b9966e2d42a1da3455ed2258ac8e8ec599a07a06a2a2aba5b12db4389abf43bd64e61cc2f5de6f86db340549b8ada949315cd3c97416918246a95df93226e6d0cbcd63b52aecd4688e0edf60e4bb50afbfada5b9b9a5ad7322fc5dbfd23b46b9c63a8d27f5990cb01c355c5d8fc2239d863eb2340dcf2c764b2e95923d9823ad4837e5aaa97b563b9925790627d5a333b9adc521f24fe554d13afa2ca8ef115b537383e22990e5e4e42f3e4ac9755259ffe67593ae1db805011000011000011000011038bb043efbf8f1e3d9d50e9a8180390191e2f90b2267a50074f9abe1950d05f94106cc65fdeca9525b44b2d0a831d529530c8b28088248cce85041de8c99a1e69299e5780d8acb43aeb6506718041fd38310bf45e1272c9cc5e17ffa7490393884f85d7f7083896f0a2f3f7229e6ef315547e2d9782bd847c5dfe62951ac9bf2321f294110d21459d0ca3baa1d5152eda7dfbf476a340a8100088000088000088000081c9900fc02474687822000023f1781f4584b40d977c1d99a5b9cf1d50d790783cd3ff16cd0fb73a9857a41000440000440000440000440e03c12805fe03cf61a7406814f9d80985efb2630a26cf75761d85a824f473baa5c74a10ac337088000088000088000088000087c2a04e017f8547a1aed04815f1c01319d4c2453e98cc0d1b98f2e371d8a009fc02fae93d120100001100001100001100081932700bfc0c933460d20000220000220000220000220000220000220705609e03c82b3da33d00b044000044000044000044000044000044000044e9e00fc0227cf183580000880000880000880000880000880000880c0592500bfc059ed19e80502200002200002200002200002200002200002274f007e8193678c1a40000440000440000440000440000440000440e0ac12805fe0acf60cf40201100001103e5ce1cc00004000494441540001100001100001100001100081932700bfc0c933460d20000220000220000220000220000220000220705609c02f70567b067a81000880000880000880000880000880000880c0c913805fe0e419a3061000011000011000011000011000011000011038ab04e01738ab3d03bd40000440000440000440000440000440000440e0e409c02f70f28c5103088000088000088000088000088000088000089c5502f00b9cd59e815e2000022000022000022000022000022000022070f204e0173879c6a80104400004400004400004400004400004400004ce2a01f805ce6acf402f10000110000110000110000110000110000110387902f00b9c3c63d40002200002200002200002200002200002200002679500fc0267b567a017088000088000088000088000088000088000089c3c01f8054e9e316a0001100001100001100001100001100001100081b34a007e81b3da33d00b044000044000044000044000044000044000044e9e00fc0227cf183580000880000880000880000880000880000880c05925507b5615835e9f30013171b7ad7fc300c062b1f14e976f6070c0e3b072fa0c96b6f9efef39d4cc99b5a9ce9188fcd4189879dce75cb8e39fd964098d81d0e33e8ff44a8c0efdddc4fa3edd37f57ff7a8cb2925ca6f4a559dcd5ad55d72e16eef0c35b1311479ec4e2fb4f5ce90b8c04ca4cfcd0b99743a237056bbcb69afaa0e140601100001100001100001100001100081320860bd40199090e5b4098899dc1af7f7777636d723c1c0fd147ba5cbb0bfbc9210d4ece2da82e21460994491e3f88ed1a0fc76737e6825cd6e85f8b4ec14e02c6df7f44e01f65227993dd29553b59c58eda748963fbb48434e1424b54831f6c425e7bee9a5ebce9cd62a968a0b044000044000044000044000044000044e8600d60b9c0c5748ad8e805529de181cef7390ad9e8ecdcd44b658e27a3421f4b93835034b5a8826badd5e762726968ccb0c28cdeaec08059682f3b466607ffcfe52eb63ef5850f11df47f3ba82d3460c5a54b955ca06a37af66aceadbaa13c37b7abe0bb79313c3ee62a9bc9d9609ec700ebbaa495515a13008800008800008800008800008800008142700bf40713e78fbb3126868edf049063fe7732422c155491969525dafd64e249a1ef492852f2456a41d03fa97ecded3f7c0bf1088d0be81cd504b8bf2d6d619ea721536bd8b542da4e6a6a71762f19d9d7dce626970faba06fa3a3c0e31bd72fffe9cc8bbbb7a3c2b530f57b7a83e4b736074b4cf273901d24b530fa7231b94dad0e2f764a4750fb22ee9c493e9055a1dd03ef8bf24a6fff758526ac4d6c2377763ee8ec1c1566726119d9e9a5b4b6ded5385b6065f7bcf405f2bf618281d892f100001100001100001100001100081ea08c02f501d3f943e5102e9643c9d26835fcc24a349b9a6469fc98cfdea52629076e6c796a205d4710c3e0e466e87b26f2d2ddf0ec8b106b26986bb8255a786fcb7d7b5acfbfb5b9baba1e0aa3013e91093eb9b64d26f6ea8eb116885c2fafcc898737eb29d9fbb15084b0b1ea8e8d6aabcf6419122a463ab1b4ca4f39ffea7a575e63890ae9dcd8d9d943333e88e77f66735dfdfd95a9d1f5f4d8aab93ed4a467c81000880000880000880000880000880401504105fa00a78287ad204f657830176ddee1f59968d6aff805b37c7dfd0dcd220e910656e83d4d22ab3a929b1d192a719db4dd0a8a5fa274d7610686fd94d81aa85f892ec14680e8657575723a1805c2a43ab1834c52c4d2333f3a1e136f955329e12e24f14a740837f667e313cde6950d0aa96fc6ffebb6791f911bfd4269b3fbcb8f8accf935c5b91e4587a4311aa71a2537abb3e97c85b372157874f10000110000110000110000110000110a88800fc0215e142e6d32660b1499745b5a323c1876b4a943e52c5ee69ed6a66af76a2d1787c4d8a2d60e9e86ee5d539779dba99d81a4de62b5722a62c3f50134cbe4dabe63d7d91c5f9f04ca8dbcdc5632b734bb1fc926d0f1eb4ba1d9ef6c18064c2efc462ff714dce6619991c743bec74aec283365b7e414ae179878397dc047467b7f33ca5c85e83fd70f0e69db1a994ab27149e5f5e7daaf78f988a422208800008800008800008800008800008944300fb08caa1843c3f13015be0d9b33e39429f9058b8d93f43f6fef2426cd0ab9c2c98e11cbeeef6d07a84db5f0ecac70e58da7d2e7bfe7682c4dcd0bcba8c9f1ab3391f5c6a5fee70aa13f5f9ed2b54b5cf1b9d1e9a59d5c9ca2bab18f29ca8c416e4ad16654580c3ae24714eaf875b96e325e4959713d4d3081cedf77a57ee84d777680dc3e66a646695054d6cf08f3f1ef415d6be804c2483000880000880000880000880000880401e01ac17c8438284b343409d2b278d78b79b020db02b95caaea01744bba75d9a9597df710d1ded0e5e3afd4f4990bed2d1bb6179b180adb959c91eba339d5d78a0cf2cdf17a8fac5ace21468680e8cd3c47d78d87cde5f2f50e0f6d9898974c90711b2bb74a2d482055a2a205f22dff5e0e9fc77e1d0c470674b93bc70622b32b290cc625072e20b044000044000044000044000044000042a2700bf40e5cc50e2d4086cc556e2f1782c165b8b3ebc735799a377ea66f999bdedee96b612c84a7575b83951344ea467a6bf9990371634051f4d4e4e2a2712ec478666e3059b52a06a8b1a45a08f8e19f0b8b8548ce6f14b5e9f7bdc529e9d87534b6c1d4026fe64b1d88a0396792b96480bd4bef8f4efdadafc81dbb3766ffbc0e8a3a7c38afa99ac9341928d0f10000110000110000110000110000110381201ec23381236143a6102ea54f8c684b23d205b5fff40ab9533cc95d3568209da4a4097c5efa31d06a261bd40626e6c51b6dd6d9d0f3ad80684c199c06aff3cdd6c99ed26285eb565658155c47123376f3539858d4dc52d105b4bf6b4ca6fb29fea5600eeaf7d3d2dd2b6819dd5907f3594cd6176272a8b0b3686037e3a4cf15baf978b2c73dcfaed969b8d8dfce6a6ec50686c353997c14c1cd240000440000440000440000440000440a02801ac17288a072f7f1e025a80fe6cf5168badb1d93ffe5da4cb450becd50cd2c200deddd124656cec69b74b37f27a012be512e20fc3523842ce36fced80bc349f77f78dab61ff42f71734eb5d2e6a5c6bc0d2f455bbfb26034dd2d681fd2d720a343436a81111492765e5bfaa1ca7041a6041051ca38ba1e6ec96036d3b03abcd6a95b5569622b8bbfae41ae8152be9bb37136c936ad9519c0296c6e1f023c41d647d830b0440000440000440000440000440a06a029f7dfcf8b16a211000029f1601511068893fd9f35a108032db2f08195a0d60a58306ca28400b07986b43bda43a2985d7853e50dfe11b044000044000044000044000044000048e4a007e81a39243391000011000011000011000011000011000011038ff04b08fe0fcf7215a0002200002200002200002200002200002200002472500bfc051c9a11c088000088000088000088000088000088000089c7f02f00b9cff3e440b40000440000440000440000440000440000440e0a804e017382a39940301100001100001100001100001100001100081f34f007e81f3df876801088000088000088000088000088000088000081c9500fc02472587722000022000022000022000022000022000022070fe09c02f70fefb102d0001100001100001100001100001100001100081a312805fe0a8e4500e04400004400004400004400004400004400004ce3f01f805ce7f1fa20520000220000220000220000220000220000220705402f00b1c951cca81000880000880000880000880000880000880c0f92700bfc0f9ef43b400044000044000044000044000044000044000048e4a007e81a39243391000011000011000011000011000011000011038ff04e01738ff7d881680000880000880000880000880000880000880c05109d41eb520ca81c08911c8c4a767a3a2d52a5a5d7d031d76b91e21393bbd205022e7ec19ec7214aa5c1404d1caf3d642ef8ba7a7d7e6665752ad3d833e67010947962fa6e7a69fa43945ac288abccbdbd5d1ea28504f413da9a4d5ca0a65e253d3b1ae7b7d85342d28a1f48b4c2cba124f65ec4e4f6bbb57e1cf09f1b5955822cd3bdcadad3e075f5a8a21c7316a5b29c963acdad024930731bd32b5c00d0eb496eed5f4da6c8cefebf0a852cc9927626bf1788a333097738a0e97dbd7ea517b4715a3ffae1414953d89d195ab06e7f2b577f8dc3222311d7f32fb24ba96e07887d3e3edeaeef1b92a1d5bfa36e31e0440000440000440000440e028043efbf8f1e351caa10c089c1801213eed0f2ecae27bc3cbdd2e6641a4578602e3eb52a22d1479e631b71d84d99bfef99d22194a281d9fbe155cdcea0c4506cc2ba842be10bfe90feed81a9b9c92ea426a637387e35abe5b1d7596504aff5a98bde15fe8087d3fe01112d3fefec55064d55c537da18aeec5c4505b3f816e68b06d6ded7096b6f9efef393861e1ae7f6683b33536ec6c6e715c5378f991d42de58a3e4e6d2b24290da7a550e4fb630665d674213ee50f7291d541f3e1a91511920f6ff52e0b9d91ef0758ce02cce7eef8c39b9cada161678b310f451e79f8f4c31b81e57d4ab4ed50ef702de1e5d1821d5121288e3b99d165542393d8d822fdfd13cf06bd4262cedf1fe6e829409ebe74743e42edec9c581cd09c511a31dc8000088000088000088000089c2401ac173849ba907d3402d274b85c746129d13d4873aae2da9cec14a0e4223617ad14e0b81dde5a244b5195787bf189de2ae44b82030fbeed53264ab9f4dac3c0c8f2527cb0800fc25451a6002f2d3ae0dd03abab03a699aa494c2e4cad7396e1f9efdbc919109ff507e79facf5dc73c5c829d01cfc6eb2c3c9a5965a6e87a6a3a947745ff6759cda564a920da7a30e88b21b28672cbd50855c007fd7bfbe2f656f50069b29f341e71a39055a46e6475b1d5c66ed46e7483491715917c829d01f8e74b97831b9d0d63bb394181c2ce4f0a814147732a32b570d313af6771391d9c480738939059ac3cb93b26ba3bbafebe18ddb8bf79f747f3f586c1d44859d82ec200002200002200002200002250920be404944c8f07312d8892ca5a97e21b1b499ab86908e8dddb9d9c2ae1b43d32b824873b0bf7b42138edcd6fd9b37c7969274975c9bbb73f38694a7e5e69d87b1b4982b855622c4e76e49596edc9d8a26b31972cba6fe5339f24532f787861e4eaf6405e9aaa465dada93c3e3b3480f626ae9e68da184f246581aba39b494a4c45b37ef4e4f0fc9cadf1a5ba2060edd680bef703b8bfd37ee2e645251564ae0e49c53534acea1b995b58531b9d49da9a8205521a4d68664542d3767d7522c4d4c8edd6c195a4848efb31fa290e12c5d3e699f06efe9f6735c2c9e4e27e3b480a0bb5d7204385b03366e23c1ba45bb4aea201ab535b48b4911a25377659d6fdc1a33ed26ad2ef9c694241394df525d49d3b7a995d95b72dd2d37c6e662523f98eb635a3c9358ba230fb19b43b3d124a774aa395ece6af775f83b3b3b9b1b4857453353e6f266119f47ee09e6d7c80822eb084b67bbb4d2deea74d9744d2b745b08546eab8b8eaebcfea25f64546df5ddb1a15bb7c6a2628111252ba653c3ea76d340cafcdbabb5658ef34fdcd3ad7770f68cfa2dbc60f6332dd43ea48300088000088000088000081c0301f8058e0122449c0c018b6461ad92192b245798bd2f27c895a5576e06865737771a9b5b9a6cdcfae2f8cd87ff9177d8e57961deeeb4f3565a40de3b12a6d5fafede7e7fb36d677379f89b27aa2da6a84c066d2018660b9b9b9adda9c8e22aab872e93b277ffaf3f2b437e261d5b5e5f5f5e54cd7c599cf449ba094246a0ffcf64d2e9c4ecd8d83ed740bba94521b5b39fd43c06e9e44e3c2588427a6b67637131331c9a090dfbb75643b309be7b34d844501adaeef578ad42929522035fca198970e33333c3fec6f5f0f8c8ac303e139ee86fd98c4c3c890b5c2676ebf648dcd51b0acf0c77dae7476ecf923b8113333b5c26eba65014656aec6bc902e5db49a6b6e271cee653ed37ded76ee356627a922575108dda1ada15179273df4c4452fda1f07733e39eadd5e1c0b45eb80ea1725b88648196aa02cc3888c9d9dbe3f3f6c048f8bbf048c0bd1abe1fcb70e6fa9815a7fd2d9dfda14d6767281c1eefe2e6173738256284395e8e73740c0c0e0c0cf4b53764fd0266cc45872fd0c08d77de995d58981a1adae71abbbd0e57d7e355da7a402eb19585b1df0577b8e62eb73ce4d5361abf0b813269b5e02832ba72fa8b5a7db37f62d3cd5a3dd22aacae6f6dc553628111451a492aaa434d4845d7c8c9e7faf0e31a0de556b7ba32803c0722357af0fb67a3ea921a6363f0040220000220000220000220706204b08fe0c4d0427095049aba065db189c5cd6874cd9e2113826b1b184887421b92d8c4d2135a8b6d6b093e1868e552ae5bc1f0feeaffe98b3cb57fd312de6ab8f7f8919b0cdf74ebc8b053b4bb5b3d8e843511595f6545d3f18595a41cfecfeaf0b8120b946669197936da4aefe4cddb946275e497bdd83bf9f8af6f9590cf3b5bfb03bce8f02a6bc45995ca4529cb23b7698e54bb6cbd0f680db8a00623d4d235536f78fe31ade727232a301b59584b0f0eb47bf950cad7d1ea710a097d0d96f1c5491f5958ae81d948b0f5d10316d6cdddd530c39a9c5898dee11a43831d34cdeceab9175feaa5dd197df7bc8f5625205aadd28dcbd7ca2d2ede19b28f767bd6a687598e54eacfbc3cb7a3da754a7e7ded7252311d88a8524efa32b62bd9ce6c43219dce587dded1f9ef9242898d20854826664d5adadda1d46ccea1cf170c7a5a3bbce49ee1dc2e8edb20a70c0d857c7d4c8bfbec4f58b485c7035492734d863237834bac3067759be295deb10f8a5fa9dd9b3217691501cbb2b93037b7bf43833d95a667b64f86ecefd8f4c3597266d1ac7b2a233a0bc7ae2c048ab3e7b79a1bf0151a5d5c5e7fd1afaff9bb47036c01c9c0b79978db4ca65893498dc560a71232848ad03281f1c1bf887fc3715e2580a510bfe10fb206b1ab2114795a686f849c039f200002200002200002200002c74b007e81e3e50969c7472063f77474708ba1cdf9917126b5a9c3e79a0dc9f229363e9bd8df590d05569524e985626b9189c776e1f35c22bab0b8b1352117a24f32c2d32b33e1889ae0ffdf02cc5eede8f04a298e8eae86e57926d9b42cd98a72c122f239bba7ab4f0b322f67573ec9b0f68fcf53340166618be92743bd8be1e954f7a43a61aa64d39c02e4f750c3feb312523aab9982c62b59b35fd98ded92e14819ac944d5197d9e49bc100ed0950af04ad22205bdfe4e23d03f313f6a1fbe1e0fa7c638bbf391549fa7c8799156579bc54425622af70711df4d973dbe5eefe76383d363131bcc8bacad2169cf4b80a9e384139a879a62459abf35baafa05ccdfda3bb8c4ac3f34acd7af803e26c2f77cc4585eebcf04b8dbdbb9c5fcded1cb36b937659e5e185bdeb18dccff3d3bb282f6c8fc5defc4fda8efdb768a016075763cfdbe8396f20ff9fb476663aba33e13a1525221504ebb3dbfd5c4b5c0e8caed2f5af7c2d9b4565b3dad0ddc93422ab07452a32518eaa1912fb1e11d2e1ad8a90c791562698163839c773f9d9fa70e12934f6e8f3027202e100001100001100001100081d32400bfc069d2465d95101044bbb3dd6f0945a469444b4b17ad38560d5ddeed6de0b6b61a3a434f073ca29889afaca5443b1918ca767966ec73f127f71737761afc238f065badf2190734e1eaea0987154bd1ca3b320b3469c9ad44e3031e32ae8495a8b28fc0b46c56fbc2f2693237994c73bcdde5ccb56c497966d429e6b3ab6fb073b17f85e680edcc5ae2d5608b628ac2cc97b8a4ea0be45111e95e334744dbfc2a1d2bc0ae743c9ae00a4ec7d2b97171d1fbf4fb6e29af307d239276d04e762fb7b89214e40889c25a74c7d2ee33752b48a5b46e929f4a7f123247d72845f117681bc6dcfdf150d0ed5dedc8e597955388a4d5bca5f20c3e3136e1909afd26b46c9f988fb0996b317eb32d48d598ea431b3ef231d6c5c88825db56f6da70297ab4c83ea6acb625ef4c99d36e138ef379e5b50056577b876d7929fd7fdff7ff0721b8fa581ac0f42368e4d69329adf6fc8a0a8112e64c5aad162f36bad43cb47e249ee6baa58013428c7e35454683e44eb3bb5c4ef9240e5584d34bad189f9a8b3f657e34abc3c1fa3bc9825f1495a516c7370880000880000880000880c03112407c8163840951c74b80d93b1d3d8db2d00ee9a477b2cce4cbd5da4e375b8b6363d373b30fef0e4f8466a66364d048abb3b7867e776b7a453130847432198b4e8d49ab98d9cc245928cae574f06c8297d61d2c8fdc79383d75f7d662d62667c6496ed932e4d3d16bbdfdfdbd771648fb129795160aec904dc93b68d3c3d693a538851d883ebc431b0d8a1b463ba978224d4663a94b85e56eeda61d0c430fa36941a05d1481e0c4138a4b20a61ede52a2331a0465621323bd63a48c40cadc5adce77a680bb89b220aec0c8d2d9084f8c2142576b4ba0ca50a3da83a147a2fa7a7968682b76f2ec5539cd5cab3181116762e44210df365a924cd5baae6377d2bcd60934740cca4e3537768c73e0d21c1541fd3e2ee8e2e8e5bbf353497ca08a9d86c6f784b892f5096f22a1d33e64e2ff9172263736be94c26b1321d5cdcb1b5fb7edddecc6d86a6a26ca8c416c66636b9a62e1f5f565d1205159469ab654ee58c2eb9d57786165299f4cad437d46836648baba1b655ed0d8ab4d01aea6cd89a0f5274cc2435324d9110eff6d2b917b84000044000044000044000044e9d00d60b9c3a7254588a00d9862c0b196bb465bbbdc7161ed9e15a3a68865b14a5a94cf6c1bbbbbf1bc9dc195f5c5d0cb3cc0d2da147ec6c335f77cbfccceafeced64a2233d0d5d7b838b2b93e3fbcce0e81e776b6b8ad24853a57e3e7b1725657f74c30d91f5add5c5e6447c5db383a159e2aa0cd006665f992f2df7e266d2230dbf29d63ed5b9d1ef27950b083f66edfb8bf616426d839435b071ac90227f358b2b4b225d89d94e86d6f9a9f0ff7dfca2c7e4bcd9533d0a721a7b2f4c0caac407639dae7c793b7462602cb6c997e434bf0519793e6c6935b3b1936d96cb8aceeeef1cec4482828efcf084cccd33179c4e3dbf1cec0c84cc04f2a728d9de379672b96d041ea53736da95d9e9e6f3b13df8482b7e53d212dfd21162b8162159a69480a645b2be9ae2369d2526b52d5cd8c833d3d481d3d7cbb9324353437dbb6d69747e6062266fa7026c239ce393f9eba3512beddc9c66163a36553f1d8640a292fa94c1f74e0a4d23fe6cc1df742bd99200543540678ffa3418f9d738d24ee8e4f04e59d308dfe9107745aa49828545721508fbbcc5abd3a58cee862e3d0d1b11812ef06676ed390b53535d9b636d8582bd8e41c3554029c67e069c8f1303833d1abececb105468289f1052d036e4000044000044000044000044e87c0671f3f7e3c9d9a500b089c00010adf46de03756dbe590534fd5bf4bd5cc63c9779aab19672f2184b14783a364105e44b33e165a0908b4b6073b99a2616acaee217141041147929b49e5c363675f33e37fafda079bc8622f28bb3cc7fab4ba15b55853c7de41a7599351518995c5adacb726fccf15275b992f3143b1a285d4374ad2e435b3a8c737a2edd3dd8256df510666ffa177ca12374935a150bb128d2118eca71226a32be4100044000044000044000044e8b00fc02a7451af58000085444404c0cdd59ea7bac3fdfbea2f29f4ce6d307955e69098c7396a6408f371d0dd3e19efde148171d77810b0440000440000440000440e07c12805fe07cf61bb406011000819f8f8098492ccd4563c914e77075f7f478d8a102b8400004400004400004400004ce2b01f805ce6bcf416f10000110000110000110000110000110000110a89e00ce23a89e212480000880000880000880000880000880000880c0792500bfc079ed39e80d02200002200002200002200002200002200002d513805fa07a86900002200002200002200002200002200002200002e79500fc02e7b5e7a03708800008800008800008800008800008800008544f007e81ea194202088000088000088000088000088000088000089c5702f00b9cd79e83de20000220000220000220000220000220000220503d81daea454002081c2f81ffe1bfbffe677ff667fffccfffdcd8d8f8f2e5cb6bd7aefdf4d34f2e97eb1f5f6fd2fdd6d696dd6effd77ffdd73ffff33f3f3c3c1404e1f3bf72fcd33ffdd35ffdd55f6d6f6fffeddffe6d3299bc7af52a7dfecddffccddbb76f2f5dbaf42ffff22f7ff9977ff9d9679fd1a3ebead57ffccfffd9f5b77ffb9f5effe3e7572ea752db946d2bf95ffefd175ffce3ebfff2d7ffeef2f6bbfff7dffe7ff6ce07aea9f35ef8273927c9c9ff8404122040802828285869e156da3ab5d54e3bddec9ddcab7bcb36efeabbdbfbd67ddabbf5f37677bdddd6f7aebb75d7deb9d5eeba0d37dd70abad6edae22a9d6db1150b0a8a9840020910089040fee7243927797f490402843f5abbaeebf3ac1e9ef39ce7f93dbfe7fb3c87f1fb9de74f90e2f3851c163b43aa1c19ec2f589a7fe54adbb2e2955d5dc6c2c2fc5eb331272bcd3e6ad36466b99d1e7684c72785a0865421edeb339794975e6a6d2b5a560c9ac774eeed059dbbbbbbb3b2b2c6c6c6c46231b082cc10f1f97c32996c7070705951f1d5ab57a1b126930994b1582c5aad767c7cfc727bdbed058ba421028800228008200288002280082002880022309b00f20bcc6682523e6602e011e0f3f909637e7474542e97dbed76b8825d0d61686808c771bfdf0f9633d8d560ea1338178a80a50d99c1fe071f41767636a4c35370228028c809463894023f424f4f8fc3319e99138447029964d0da9fae500e8f0ce564aa07ad7d2c9ce5f37b453249c0eff1f803521c1f1eb4f2b8b87d78845dccd8062daa74597f6f8f44c0b10e0c0949e1e8c89880140f8f3a986824cc0a39dcf6419bd5e37383b50f4e0a854261b3d94073508fcbe5425ca552253401c707d8ff1c0e07b455c8d312fa83ce229108aee0f280967eccdd80aa4704100144001140041001440011400410814f0701b48ee0d3d1cf9fa85682252f9808104fdc82a9cc661122a144c01745232c2cca964ae43c2e1fbed50bc52282cb09864302782c93266ee1cae17121452c958824622ec9836b048ba6ab5402b1888e309001244b601e41342c170b083c2a17904a29c98d52022c2ce36162829192988ce4a44be54a89ccefb50bf91897cb2895328140244f53f148099b20f912994026e508796c21214a17f1441c36c102970478282080e50f9a83b50f0d0207014110f088cd66433a24c2140648840cc901d2e116ae9fa84e43ca2202880022800820028800228008200288c0279500f20b7c527bee6f586fb096a175d16834d14688c0777e08f0c99da669780aeb082031140f9092780aeb052001bec683c90db309a02c98fdf0082611401c1261f63edc060281509889606cf8620fd9e8701067b1fd3e0fce8ab23006e6cff039381b63041c1ca3437e8f0bfc05a100050525223ec189d04c8089844321dae70d4630168bc0fd949f20791136eef4fadc3e77180b531405ea0583c170380cf58286a018488074f00e40a50cc3249a062d826c89f84d5f2973fda183f5678d4905a9a6fa43f51706685b4bddc17a2395f464a1e84d14817a0f1e3a9b24ddd9d170e8e081fab3e6b98450e6b3878e9cbd19751652f7763c9f4bdb5b904d0f5c80ae307fb81652e60b7507f6ffe085ba6b961bdd775b349c1f7e42f3a4ce5ca0f5340c627a813c1ff5e35bc0720b4512adf8cbb7f7b68ca58fba0b907c44001140041001440011f8db2380fc027f7b7dfa896f519415a1c1f6a6c1b0a6c20cd8fd4c880e0782141d894ae5691c1ee91877424499a192a52914e919b08200bebac30201b0c64b4a4ae00a7b0d80bd0dcb07207df9f2e5304b1f6e351a4d6666264c28e0903cf862ef72b93294e92a653a24e6e5e591240fea1ab68f462298cf1b0886992c4d0e3c87e9068a8c74900941a14c9348e043be082778d99a3c890c2ae607c22eb7cf49e0c2c282e5b04c80cfe340369814006b19c085014e01a80bf40125e116ac2ab55a0d3582930256198028500c663aa4fc6f818ea49d66ebb0e1fcd1b30393861a3d60b01af436caaeb70c1b9c93c90b088a3da66c8b2e423b8dc3d601ef0d23d8db71e2c5e3cdd661b2a25a3b57bdb473c06a1af87056f322da7093596ea2c90b49a6ec46e80afbcd009f25926aa83f6371d04ab58cedbcd117b745c3f9e127345ff450f1bef2fcf3cfd77fccdb5edc02965b2812efa08fa1bdb7632ccd1a5c28011140041001440011400410818508a0fd051622849effc509c07400f8900e263458f51087909896bf6449d1ef7fffbbbebefe53a74e7de52b5f696b6bfbd5af7ef5a31ffd08befcffe4273f6e6969f9affffa2fb0c3c1728125fadbb66d7bf6d9671f7cf04198baffd65b6f7deb5bdffaee77bfbb6ad52a9224bff3ed7f7bfdf5d7bff4a52fbd7cf065a76b6cdc3156909bf3d24f7f7aa9bdbd50b764c0360c0e82daaf7ce59ffff7d7bd4e17ec35587577b55edff93fbf78e9b7bfff5d9a3c6dff7fff3418603ff9e4e31eca150a05dc1ee7430f6d7ff8f35ffcf77fff164c23b8f8c17b9e31dfdafb368056cf3cf34c6b6b2b5cefbffffeb7df7ebbb6b6161c01a03cb4aeaeae6ef3e6cde06bd8ba752b34107c04700547065cdd6e375c17a64e60f0f6c26483f3475ea978aa46962880633841884a773d5d4c1337f572c772e38b2a11cf94c8e9d59fd877bc1dc3f31e79aa560b49b3ea85ee00fe2419cb9e28b270bbfe623916dfe405558a89e291642c1f4d6337477e42387c87c78bb6ecae298684a74b62dde7fd701a2e0afe94e689ec13daa4fe496030c03ef69ebc052cb7502446e0e368ef548fdcfa584add7b2815114004100144001140041081b909fcd5fdad3eb7aae8c9a785006cc8074635ecd207d7c4c681b0391fd8f31d1d9defbedbb466cd9acaca4a2a103af5c7d77ff6f2a1279f7c322737f7a72fbd0c963f78119e79e65930fe61f37f0e97dcbaed0b6fbef926487bf4d17ffac52f0f1ffed5917befbbef0f274ffee4a73fcecdcdadffcdd16f7ce3f1ccccecef7effb97f7bfadbbd0343631eaab3dbec70b9712ee7e41b8d9fdff1258c61bf77a90de7736a6abea852655fbd6abae79ecc9f1ffa3514ffc6bffe9f73e7de82b309fee59fffe5b30fdcfff3977ff2f5dd5f21b99c92c23b829a006c10006e8b975e7a09a609c0c40130f8e18804f05680ed0527148086d004b0ffcf9d3b77fdfa75586b9068205cc16500574859ccbe83f07d9aa790061d86230dc6c736e926c707656c78e1a871db138f958a30a7bea1ee9566577ce14276d9d6da6de5f0ce7b8d67ebeacf3be2898aa2f5b535d5936521e23536d5d537c69fe245eb6b6aaaa7244f66234811663cb5ef58925300261d24d56beb3875e478ab0f0ae08a222d68aa8428653cb5bfdea8d610168b036e15456bca496363fb30c48579957b6a37c19e0ac6b3f5af9c37241657a88a36d6d6544145504aa3254ca658299e6af59e3d5b6ef841e0fe96c5c6cb26bef19b9b8e1c6934a92b77eedea44bd57c67435d5db3c5152bc1536daca9add2c67d007109139760d39183c72db1b64c6a385b14a53fb1bf81da54859d3c63c8dbfc786d45bc1db4fee073c762250dc79edd5ff6cf5bc883f1eed34e885e0cb789bcb19f29e143fa6c7de2a582e7ea0e1cb7c6d8e2d2c28777ef2a16c57aea85a3e66ddf7aac34d650efa903fbcd9a2aacfd7c2c93e9f8b3fb8d4fecdd96bc01c6ec5e23b185a1a52a15d7287e81e1b4ff689b324f648d8f9649dd2673a45052fbf0635b8a678ff94491e97dfda0a8ed0d9b76ebde9af2d853da78e80747890d5fadadd2dc904fe90f3c7f2cb9bd58aaf76236d24467cd3d5cbd27f6ef332a373fb9ab02c09e38b0bf83a87872cf2612a39b0ebdd044ae7d2ca64ecab134f39d4de67f4367f4031140041001440011400410815b2580d611dc2a3954ee23230026349cf007270e4280080438eaafb8b838f1151dce268014385c60728d4062b93eac05008dc0d8864904afbdf65a5959198eb3607301a7d309e9700a204c408008ac29f8dad7bef6c31ffe003ed00703149f4782a3e18fa75e379a7ad333b38a4b4aa1e665cb96434e5868009ff777eedc0905230c6c28e00c87fcec28c6e3f00936c161b3c254b0eb7a177c40cdcdc9e172a31c76f4fcb9f3428e18a618c0c18af09d1c0e1dfcc217be007b0a808f202727e7a1871e8238ec8000a715401b57ac5801716854bc8953175035114087f903d839da0d35eb5598a3b9fe42ac9537024dd919cc196badade9c563cd2e51e1e61d3b3696655bdb4f1e386584c47d47c1c0cb5ebf75eb9a2295c3d0b8afeec24451287261ffd14687ac68eb8eed9585a4a1f1687d8777ea693c069e057b5bfd0f8eb68209bc796f7ca6403c7db25e7ae0eccbe01410c6ea5dafc30c2617c68342184d79838ccb62c1d66fdf5e99277418ce37b6d3ebb7836e2a9fa5f9449b97d2d71f3d6f208bd6ecd8b9634d9174d870a6c576a394c944556eddbeb9322f38dc7aa225a9b5b72a36d114f8c86f6c3878b8d144166dae05df4aaae6ebeb0f365bbc659b77ecdcbe5e111c3e73b87e2691b8ac618bb772739286a944d134157419c029a0c82baad04c587684a67afd6a2908e165afa92e2526bb2f2e162e0b729bc818fb3917fc944d4b1474589d651bb7efd8bc9a70998eedabb3c56a74c68650c29206fbd5c938bc82642593fd22297b6d4168294b4d6b08e50c6241ab65a66e9379522809a33ee5988f9581792bc97d7d974e8dbb0c4dc6781b9d6d4d5606d369279c02909d544f6b6faade4c8934d159730f57914ecdf3995acc508557dfe16098e10e33e8409b5bac41915a0dc910668da579dfd9441974450410014400114004100144e04310407e810f010f15fd6808180c06a3114cebaeee6e53773c747575757474c09a7c30a721e1d2a54b12a9c01ff0e2040bbec6f3b8dcec2c75c7d576d8ae70e992c2fff32fffbcf1810de79bdea1c3e1f2b21515ab5741fa07172fe46b73215250a0fd877fd80156382cfb876905d002a8ebeb5ffffac6cf3e681de83399ba8dfa4e7ddb6585902ccc54857d8ef6e6f3f755ddfbdffff19f2b9766e76608b10896abd408b9122688e90a963cb4e573b0a7e1c5e64b24c95566a4b1d958381808787d6932795e4e2ec9e5dd77cfbd512662eee9c5a2d8439bb7c09a85a5ba2543d6c1b64b9759180b8b444747464c506b7737b411bc098948e2ba18ba3425abdebd5d8831670e9d4a9aaa1f33c2e15fc7b9260c93ee786c57457171d5b6dacd65856a259148dcfee4eeeaf2f20d357bb6170931cbb98e89d5ff1de7ce319870f3b64d5ab5a67acb966cf8867da163862620d96130c53fe9071bea9b268cc7449db17af54d2db17af7c6eaadae796c73211e5bf03011d63ffa587569e9a69a0d38f86bb6efae2e2daeda52cd8b3da50959e9ead5304760834ea3d668949064b6dd7001547ef5c94de5a5159b6a8a70cca237c7b24f0fb72436d854b7ff68f3b0aa72e79335157162299a1f6f20e3b53b494d45ed57776eddb121d92a9ed422a661c59486f390ccdbf8e863b535a56aa8301144a5d51bd4e061d2566da8d0c51788a498ac3f4f0327e4c47ece057f1e7d8ab6eedd56555a5cb165eff6220cb35c88ed4318d36d523f88e398a07c9a92b1ba122165af2d082d65a90991533f53e936f974b692a9c77cbcc0ccbeaed8500503f942070c30fa429305935656ddb0ca13f265c9edd5a77a2fe6413acf702dae2a05c3bf63002665e8e353767c6de09c30b7b830bcaa4a9ba87bd6586a82176ac63bdb96d23b95288fae880022800820028800228008dc2481e43ffc6eb228ca8e087c3404e0433a1c25003b0ac6b70324e10af3ea61d7c0f474154cc577381c7ffce31f6187bfa121ebfaf5ebfd7e6f47c795fbeebbefd5575f854ff4b0a1006478e2892760ffff6f7ef39bb0a45fabd5eedab50b7c0db0e2e0830f3e802d00b93ce2ec5b8da5a5a52ea7d3d2dbb7e3efbfd86b36b55f6ecdcfcd5e969fa355ca8607fbefaf5ce91930982d3d9c80afabe54f2ab1f7c1b579424e7fef9553051a76466696adaf27120aaa55aafff8c17fbc76f2c453dffcd7ee1e23c3a24f9efa43980981912f914860bd00ac2380850c3029a0bdad2d232363ddba75b04c0074fbf18f7f0c1960f242c9f212980a01eb0ba099b0fa009a09e97085d90a8ba34b6144e9ae8d2d2f9f693d72412722b11b471ddc280c6bd6d5da1b6f3951b12d367739fe7552a699306d75e51acc90f8689a2803b97da77ffee254ed76b313ab924ddd6360f2e1aad57bf76c19a8df7fccd078e8ac66cf066dd273884216d9a4d95b5aa13b6d8adb89b14cf8e4098c31bd683041610e35acca8f054229c36c675f7cf64cfc2ef982ab6f6810cb080e8559e1d6c462c3d61867fb808dc6c0208790a2f99add7b2aeb8e34379f3135c714cb5ebdb5b45813cb3b2dccd63085a8c45284f2f26906685c4c1cc00d0cd3e44edcccd7c0893c899f202a25fc39f529859503f140ea8ac111e4844d25e32ca68b85bbd44aa6ecb5d29a3d03f3424b596a568dbc45eb365934c598f7765c80c733fb5a535d263cdf0e3eac523518e5855bab66353ab9bd29e8f9442912e35d3c7b304caa8711da8a6cac55dfa6d738cd78e1fa0a6f631b78043133c62b85853ff12a67178ff5e9dcefec947014430410014400114004100144e0d608ccfa43e8d6c4a05288c0ed2370fd9a1ecc695887cf84e9ab1d57e950b8e35a87cfe36d78e38d336fbc0e663f2cef3ff1ea7130ef057cd17ffde805995c0e53096093ffc71f7f1c4c6b388910bc06b0dc00dc07607ec35a00d8de0f3c0b8f3efa685f5f1f1c2800c71c807cc7c8f83b7f7ec7e3f52894e9e34e477abac23e342a60fca58579eb36de73fec4af0ffff0bb7c1eb6a22c87898e0f0c79ffd7574a7f5ff7daa5cbe3e9eaac37df78fd7bcf3d2792f3875d01854a11c5b167bef7bd17f6ffd8e7726a73f37acdbd9a6ccd8075402c12bf74f0a574653aac6580bd12bc3eaf364fbb69d32638aa10f439f98793f9da7cc80cee8c2b57dac3c1d075fd7558da002e0cbfd707fa2f9ea8ba6a5765cb73cd678e4191f887f71b45636626e304419a784253dd0b6db22dd531cbc30b8909437bc038a322789cfdd56776278a985b1a8c4469b253000a430e5df506118615d7ec2e7a619fe1fce106ddd39b26dc0ff1aae0178bd7395185b9cd3ca142fce1c425a6c8f4d0f14a5dab95dcf8c813555a58e3def2fde74f4fff683d3df71c773725b6f291a74b8d877e7ebeb1ae49b7bb1acc75283db3f994dea8aeae7da656e4b5992f9c7de57cebc986d2d22dd3da9b529514a2a45853ac8ad92aa6143047e242a5e7823f973e41a3992a2d8e398a68db005c49d8fa2e367460602634f07aa7799b6ea44e6a97b2d76c7afdfcd052969a94391149a5dbc4b3944aa61cf3b5ba5899597d4dae5d5bd87ebaa5fe151183a9d696cf18e693d524da9b829e507f64f6688977f164d99411755511ef785bc35986d16eafa8727634379e6dc0828a3515d007292701c41a35df3b9bb21694880820028800228008200288c04d1098f917de4d14455911818f86c0b265cb60be006c1f006b04c034818fe7b09b005c61d3fe3c6d4e8fc99c99a582cfe96069c3a775657a1acc08e8ea364166581700dfe4615a3e6c4c00c561d1011c6400891e8f07348585034545451c0e6eeeeb85c30b0dd7ba5794945cbb760d3ed45b062c4b75f923fdbd9e116b965468ebbe6a37f66ac558d1b26c4daeb464e5b2cb1defe44a05852a5d75054ba2ccef31739e7ae6c8f23beeee1bf510021e47407adcfe34699add66851d11144a7956a6065c0f501dec9b089ac31c017055804703b482dd0ae0c042f05fc0c68a9028954a211ba8071b1040ab2105aea033446e862eb1a9766bc7be93b17dfe92427185eea4c970e450c3ae87abbc2da71a2d3e85862c2e2d3f696a3d7aa07e07b808069a8eb73a30456529e96c8c172cae2ec70ccd50a4e661d8f0efdce1d3edbc32dd86f224a1f128ac938f7de7c744357bb6beb0ef64f3e143baa7f74c7e048fcd9436b41e3e50bff3e14d98b9e1186c2318df5f60a694c9fb98d9130b71fb078c5230c08d0df5a7c11aa5c0bd3097bd962833cf7561b1b85a4d68b4b5656dcfb737d6b5943f559eaaf94ae7e99396d3035b77566b45a2b8ad2c8b9fb0304fcdf02825c9aab8813aa1d74c01d3acef990f53dda7123417fc79f4693f7650b9b346470c9c380c7b46282a8a45221b74a6e95c438bb24ad976ea88f586bf29561fe3ece8302b8bb593d34152f79aad6d0168a9fb1a0377d3b4305b374c7f2383489942c994633e5e60665f578830594575f6e9c306435058b44333addac4cd547b75a906c693a912135d9c425852527155ec2df3c10c011d2973eab0c6f3b08860f3e4968749391351c83ffb9d2d9f896a563194800820028800228008200288c0a20920bfc0a251a18c7f290257dbdb61e23d4cbf67c2e12b57af04033ebda18bf27bbb8d26261c301a7b5ce3a330410066018009edf679c14700930bfc3e4f579771c58a92ce6bd7b81cfc5ac7d580df0b6639a483590e1e0498bd0f9679a14e67ea35c1e9069dd73a9860087632806d0bafe9afe3acc890b97bf3bd776767a45dbb70a54823c84a1747694fff35ab8cf0f4b753cc889e2b62cbb2c2f76dcabafb4eddd71f7de817bfba6c1dc7c24428140d45a22170048c5847037e7f6787de59e0369a8ce089b8d6792d140ac1ac075da16e686808fc02c1601034572a95307901348766c2261f57afb447681a322f2b5e06b30628bf7f31f305e0ed9dfca48b89ca776d6c7bf98c0552e2a66becd5268b6b76541e3ad6dcfcf3179be15698b7a67603eca4af7d64a3f7c819c3b1c30648c4a545bb603b74637de2cb3ca1d9f4c87afbe1c6e6c3f122b0b57eedb6b82d9bd4fbd37e6b88caf76cd5ef3b69387ae8ecb7d642a6d84342bbe591f5cec38d86a32fc7aa100a311f053f1361aa34c46ee80f6719c61f96ae5d7bd6d478e6e8cb70c75328f0a0c3da78d6b51d1e4e958a659cf8901d2f94b84c6558a458df8eb8d898e9476edbbdd9f8e2e9d3871a4af7a668bedabba3e3e0b1d693b18d1621a8cab64e5f881e4f9da5616a921d2d29b54f88e0257a2ed694f8bf8948fc69ec2611203683dbc493d8cfb9e0a7d487d0833e98504a351e7d39ee1812aed959ab830a6027c4bc96c6f6d32fb7c31011e2982fce5c56ac93c27c96e387e9c79fd935e9ae49d96b0f3fb1a3705e68294b39ab6b27c5261a355b376a124b2a25538e79427f218674565fc3bb505d263dd6eead5a5b9ca86efa755a7b67bf1704a69b9d88c5bb789a9c59c395d09617e2cd2642ab8331a82ecec3ce5ba4e5b08860224cf5752c05de0edd96d9efecf44c1345d14f4400114004100144001140046e89000b4c945b2a880a21021f1581bbefaa84cfe970b61f4c01e8ed35c1f77630ef615280c5d20b4bf1c10500d635d48d136cf8f00e270ee4e469618742b55a0dbb0fc01c01b0b4e10afb144266b3d90c05e1cc3fb0a3607e019c5620974bfbac0305f9f956f340a62acbd23750b04467e8d6e7e6648e0f5abefcf7dbda1adfc0dc36398fc9568ae0140255a6a4b2ea0eb7db7bf2d546861d55e663ebb6dcc1536a28b6e6fffefb4977302dc215f2047cb7675c95a1b459470bb505d7ae77c3c77f980e00eb1d405b88834700662e408b603a032c73004f01dc4206d0adb3b3736569295c61da02f82f603504a443c341d577de3b7f7b10c30ee9b0629c1489a67de5a6638970dee0b4c4c90ae77f3a996dde08d44bd173d63067d1a4aa6351d0fbb6584037253629f3849e34ccf4a0e99bd72685a809911fe5cf39e1a7d6279e3d3646925927b2c2b85984a2496263d11b92168296ba54a23a6f47fdbee3e6ed4f3f550ab9e899ba4daa94103153c9d4637eb2d054e4ec8167cf53ab9f7e724b72c3a71ecf8c25293cf52865e2d4e3db17fb8b5574fb54469210014400114004100144e0134260717f0b7d421a83d4fcdb2000c63cccae075f0098fdb0811f2c2280fdf9e1abbec964048b7a702836271fdc010201ac83263c1e9fdb159b1110a6024693196ecc9681a0dfd76f3633a1200809783d901972c21981305f40a9cae88f65a6ccc61e8fcb6becb5b8fd81be212b138dfcecc7075e3dfcb2cb17f08d8c3942982e372bca225e3d610987dc4b9616ac2ccbe58bb82dd7bac3419a171d65b1431b36663dfdef1fa8d469e32e56140b3b648e81fefea82fa2d777820bc03a68856308bbbabbc011000a80a7034c7d9805005bec413a58fe030303606982863289041a08930b60f73198d400e723406341d5dbd69b609acb669b7604ecbc307715f33f9dbb5cf213a8779e1a92734e8b27559d149d96e5566e92642545e7909422071c73772badc152889aa3d2db9a3c27fcd4faa4cc9e3a6b6a3593f226471780969c75d6788cad3408c64e179df5245985241149c9a9c77c520658a2626c3850dfec63b0a2ed6b17fd7f84296b4b9938adaedb74f317abe836e98bc420028800228008200288c02787c0a2ff1cfae4340969fa4927909b99490a4574382257a4676972e11802e7984b91a6fac74776f3246287d385f3b8b115041ea7902f00d35ac01378bd7e488163fff02858d6118c24bdfe808424693ac2e270c09bc0e526aebc48341aa443228100f6f6938b25215f6cb53f45f9569597ffec7f7edfafb76a0492c151ec3377a66717e4aab3e4cbca0ac3218fd1d22397c833b3b3992bdde140c43b3e94914f3cb02e8f142b78f22d5450cdc108381691c7c33176341465700e274c8539041189847924079404ef069fcb017d0816c9c209861521f99c08134e93087f72e045f00280b323e0f3abd23342202e43c525389ff47e44fa23021f8600a92d2f2a52aa677bb43e8cd0e4b2844826cbd695afdd9634833ff9398a230288002280082002880022f0e92180fc029f9ebefec4b4947239e960082602b8dc3ea7c7eff6fae1a480cacafbeedbbce3dd6b06b14614e591c1689080afea619acfc6591826c7b9748861d374a650681db661caf40cb118f706c045c070f8384373704688e3219acdc2b97c164e05bd321267852981c78b79dd3b373ff0ed6f7da7d714950a4bccd677832c8c2311e052ae222f531814f185ec6b16334171de7bdfc023f99d1dfd25e58428ea0f46acda82acf3663bcdd6b02921c921fd0137c30a46c1ee67b3b1b080727b4524dbedb185a2341bc7c828380db80e5b288cb13d511fc60afa9db64d9fa9cc2fd0bd7eea448652e11e1ff3c8a4ae31874b24f4389d9f980e438a22021f010142565a5353fa1108be2192d456ef7eacfaa3938f24230288002280082002880022f0092280fc029fa0cefab4a8cae770d9047c6be7b009f8cace82ff0830fe09ce07d74d9d03e38c04f7b3c3218c86cd058970040b87595c36078f441986f0baedc17e73f7757961a1345b33e60eb2f8e2102bc0178b28ca450a846e386f8dc58bd051f8aecf61f958aef1e8d0d0bad5e54f3cf9f4c8805d28ca0c53638128e60a61694ab97dcc2e9096b535b7deb17ac59ab5ebdf7df38373ef0e690ac89555cb6592c0b8c32554aac241efa87b9ce605332559ed1d5d11827679c6700e01ea8ab992d52b4af944d8d9edb6f49adbdb5a434e4faeba409b77e798871af48f70795167bfe5ae95a50c039318a26cf01ab0d9d06c1e97cb27c9104c7f4001114004100144001140041001440011400410818f9e00f20b7cf48c510d374980cde2b1310e1b63c146fd2c5608638559ec30d8cd6c92c79128086936cde661ac2897cbc5430c2cd78ff0d82c3ee11e1dca9044258e51d9788fede439f5a62d92c2329730b694c0ce8cb3c5110f1660c9959035120ab24314d7178d8cfb776ddcf6db5ffcacb5e58a4a951ef4f6138c67cce380e3e2d40a55c9924c361ecdd166bbed236c16db1761c317fcce0b545ea95f92ce2fcc48777bfc1c9ccfc1d89d8676f96a019b74d9ac76a93c8dcbe3c364878cfc8c08376cb51999a8d3e3e91f307c4044d97efbb03667a9dfe78ed07e65ba4aaccc26c21c12e771e201bc20800ad64140a3c2e1f04d6243d911014400114004100144001140041001440011b81502c82f702bd450998f94803f10c4a3518a0a50014f90f2852977301c0e84021136ccd18f46a26c9acd8d12449061b1c2611cd6e17388e131479a38233a1672787c43033d4bc51cda7c85ccd7b8592c0197c58d84dd01972f8461b0ea3f880b383c5688a69cce0d15ab7fbaff3f077bbabffa9547b2342a962f9026e55ebabce4e08f7e74ea4f6f5907339fb8fbf1507fa775c0b861dd43477e7376d086f1a5d81b6fb50f0c615fdc515d58b282b2532447ccc1fc6d171b85a484c76668bfd7eff7c3b7ff77df7f3b2b5deab275a789399fb9fbee9e8e8e81de1e3a1a1249f85caf4f2d480f8528700188c592517b800a86607b4208b01301ec86004e01e417f848c718128e08200288002280082002880022800820029304905f6012058afcb51090296438c9f5d3a174b9cc29932ad3e40a19294f9344594c94cd3060d3b3b818ce8225fcb0d91f81b331262c6573220ed8164082a997ca96579428a2464ba788b69abaaf525e575abab2e76a67feb2d5921c01c522a3a120e309dcb9bcf8f4abbf19b4ea57ad5efae5473e4fb0d89c614a4954000040004944415460589125b9a37ae9be1fff486f0f177104bffccd6f1ffc6cd55d6b8afb0dfd4216fbbe32e51bed76593a3b5d9d9659b062705ce16388ccacbc9a15f9bffae9017d371ca3902b57e5600249862647ae942e5b9aff5add455154261365a9327492b4aceb7ab365d43ee6f5906c1af6231c0377070713a7496452519a42264f93c2118c5eaf377110e35f4b7f203d1001440011400410014400114004100144e06f9a0098562820027f5d04ece336bbdd36661f1db73be03fc7c8f8a8931ab58f079928c625a31c0e15a1c3d10843b0a3b0af008ec18777119fcbc330af73dc190aaedbb6599c2575fa870c57fe7cf1adfaa1aee6c89859cc78946cbf921ec586ae3396eef525454d6ffca1f9fc9b72259e99271d738e9c7bbbf1dbdf7efae08b3f79e7edb7ee597bd7388d9d6fb7ac5bbb5993933f3460168bb8152b57063dc1957999610fae492b35eb29634fa4fe77efbef2fb93ffbdff477285a2fc8e3bd6aebd178e4b54c804855af5c35b37658a856a9c1cbc6ce08e868ad2f2456c89529e01bb2912e1b094cbce4b57b8dc235eca3d366677b9bc636363702ac1483c0c0f0fdb6cb6f97b851eb870e860bd194e715b28d0b696ba83f5c645e49c4bd2e2eb9a4b02a4c78fb29fe7f9621f2594f930cdb92dcadc1ad59b557e12da825d3097e4493d27238b059d2adf5c4228f3d94347cec2109b2b432a6129d2166c6672994938c98993f1db286a52e6ecc8fc3accce3f7fcaa4b49b527e7e99e8292280082002880022800820028b2180e60b2c8612caf31725a0c95570397cd83e409b97478783dabca5ce312627af848ac031047428ca0d627894c6a2b0e3609016f208ae903f36ee14867d01779fb690dfd9759e3fd2b6fac18a3ff79a8a96a8972e2921d84236971c34755e7fef7cd4cf7dea5f7ef09bc3bf6abdf4c1b6cfad5b9a2b0ed3a10ec3f528cefb872f7d594432afffe99779aa0cb7eeaefbd7dd6d1ff01a9bcfacff6c6924cc5ebaa470c37d624f482195a7df999f2553651efef3f9736fb586f89227fffdfbabee5e83b3f9a77f77d234d07bf7fdf7b45c3897a79464b178fcbee12db925b86118378fc938ece2f44c4bc735b954b67469d6f8683fe518e012e1ac4c75a63a3d272707ce29cccfcbe51278ae362f2d4d363f74ca6eb40e9bec34a69d3f1f9cd36ed35b864da57018fcad86c5d735770dde579edf6728dcfaccaef2b9f32cea494219e787680e78903ebc32b746f526959fd273c12e984b3265bfd1fbb7a6f08c2e999436239d760e584d18f8058889ea666458e4ed82cd4c9233052729712a7a1b454d099d195b408799d917b89f927633ca2f20143d460410014400114004100144603104905f603194509ebf280183be9bc3138c0c8fc329833d2613eced6fb15a7acc96ecf53c56348247d8249b0845235eb71b0b53629e88093845bc20e11ecb54466dd64e6b57cb5d4bd2acfe604656ce92cc2c90f3566383d71d0af9686d5adeb7f73ef5cae1ba9ef66b77e932b67de68e92d2c223f5af58aef75455dc43f8fd0a9140239472d2b1a046c950c251bbcf3638e6718fb119d6a83d5cbab2ecbde69192251558901e3485ee2cb9ef2b3bf0d3cd4d14e5f7c3c987019fa670c9bf3cf144dba50f8cd7ae1dec31dfa32b7e78e367e9013bcf4b150965849fb2d9c796e2fcfbabef7551e3c74f9e90e7e54824926bdd6dc3b6d17e4b5f6f6f6f8466fafbfb619701c7f8d802d00978797964fc74779ac662777385d8337c9ee773959b4a5f7c5d536566c4080c87ff7d282d6e489c5206f66724e66bf80c15a66e6f8732b746f5e6944fd273aa2096babba7324cc3222addf5743160c2bcb10c1f6e1860d8a4b4499689ca4832d6b3f06f7686c99c8b8a4cb5628e664e49498233959814bb8da292a44e8f2ea4c3f4dc0bdd2549bb09e517928a9e230288002280082002880022b00802b7e3cff4455483b220028b27b0bce42e8140641b1ac92fc813901c4d9e0676f2d3e6a819cae3b78f853d5177900ed00192c7a23c2e0217c8656e16e5d066a70b31418f39eaa1e837ded6dfffc03a1697e932da86ad7d52b16464a057a35ef6cd6fbd78e8e7c74cfaaea55a59ede63b3a1b7e9b23fad2f6b59f73dab141bd5921224856a07ae9eaeb268b9c61780282ab90dfb3aac6157c5fc062d25499e3a30149463a5b2875bbc7b87ca182277be4f335d7067aa57cdc35d073fc6403c316c3ee8303fa9e803bf2c07dd5118fab557f654b451535e8d6f8b8b81fbb67c932dacfce6078269ab8f78e7bfe78edcaf0985f9393b754975f5090cf6661da9c5c799a4cadca74b95c8b20166c3a72f0b8651872f254abf7ecd902730cbcc6a6bafac6d8990a185eb4bea6a65a3729873236ec3fdaa6cc13592d8ed86369e1c3bb77158b20ea6ca8ab6bb6c46be4a936d6d45669e3fe86c992b1c8a2eaa2f427f637509baab093670c799b1fafad88cf7aa0f4079e3f16abd274fcd9fdd74bb04eb372f393bb2a40d91307f67710154feed9446274d3a1179ac8b54fedaaf21acfd6d59f8f37015314adafada98ee9382d04cfd51d386e9dd18a946d9fd534b5394919e3137bb74d0a9f9b0f663c5bffca794330ae83aa68636d4d55923ab3aa48412f293b3697f2d35bbd4d593705cdb867034848d105c97221c36c2cd0a8178e1ab73df198369e3531cdc2dc74e448a3495db973f726dd3c0326213cb94f73ee2c1ffca01fa4958a305bc7a923c75b7d900957146941b012a293d5e96ca7f6d71b355ac2648a75d3e4f87476341c3ade1c2f2555c9282751be37d6fbc9214533670e89e9709ed8bbb629f500be8da292358cc7a78d6ae33f6f210e1e356ffbd663a5b1c6784f1dd86fd63ebc5ba79f7c1d72ee5c3172a96f36901b72a74b9babbb17ecac595aa204440011400410014400114004164500ed2fb0284c28d35f92407bfbd5ab57ae5d6abbd4d9d979e5ca15b3b9c762e91d1db685bd016acc1576d8fd83e690ad8bf09ba5ac81a8d72060ec99621687719d6d384e334155760e29d158474286ae7eabc586313ccf886f69e6b2679ffacf5ffee294e17abf5cc8ca9131226a3032d4d9fee67192b2b7be7bb6e7fad5d6b7dff10d8e8647832b7397ad2e5c9a9f994d85f000c613a6c939c26846266c67d027513ad91c9b588231b44fc0a1bd8eeeda2f56668a5cbffd9f7d7ffe7dbd63d8c6c10997d3b7aabce2b35bb6e1a4b0605569ee8aa5b26cd88e50912122493a949f9de574ba1bdfbb78c79ab5f7def7a0909fd6671e301a7b4d462334fcfaf5eb572eb775e9f510590cf3618bb772f3f6cd9579c1e1d6132d4ecc7661ffd14687ac68eb8eed9585a4a1f1687d8777520e9cc110c482568bb36ce3f61d9b57132ed3b17d75360cd3d71f6cb678cb36efd8b97dbd22387ce670fd5499c9c218b698ba689a0aba0ce01450e4155568262c6e525dbd7eb51444f1b2d754af5aa2e6f94c2d66b8f5ea3b1c0c33dc6106a39236b7588322b51ab335ed3b7ade8165afdfba754d91ca6168dc577721498b1b518775662b52b63d45d3a6291337e226a4cfc587d2d71f3d6f208bd6ecd8b9634d9174d870a605a84d8414554c3c9aeb672ae567b5ba7e28095a296c9f01616617ccaa60b6649ab2339873627309022698181b0e1e6e3491459b6b37e952429b2135b94f574adc0969f4c0d997c129202cdcbc63c77a1d6630b9305ecccb3c591d4d79838ccb64a22ab7268dcf81b32f8253405ab875c78e355a7ad8110cda27759baa766633670f89e9702c730fe0db286a4abf446cfa402228678cccc4f216af9371c05dd2ebb052124c016452e87469a9bb7bdeb77b52128a200288002280082002880022700b04d07c815b80868a7cb40456952d170804399af4ecec2ca1889d9999edf346b2d579518a45bb7cfe9087248219e9c1e2424e24ea958a05a130fb4a4bd7b8c992ae9046596c822fc2585ee7983bc265f2b2f3ec7da38519cb776dffa75f1f78cd68f2a6f1c5cb956377e5b014ac00ee195684bafada7ec7e2c8d272f3f8a3dcc12147d192c240202413095c63e33ebf2712e65c68bdb24cc7c949e3169544076de34cd0d379c19b9e55ec21ac2ecc5a9ce3eb1ff310e1618c093a07fa0c9ed0d7beb63b2d2dadbbc7bc74c54a6c6cf092b597f23b2221a7951a1fb138fe4eab7bd3601c9609deed3547a37c3c48e465e516e90a2008497ea64aad542a150a851b56492c22547ef5c94d1ac8a733b63c6fd09b3b8ce7184cb879db26ad08d36dd932f0e231c3858e2dc9dfb631ac68ebde6de560b197ee25bdcf1f375c3052f119058cd7ee24ab2a6abfaa367a13ab136656bff8baf2363e5a5ba54e2a2f2bafdea03fd7ead5566da8d0d1cad21386d68e014c6dd7c7a63560be36235d4cb4b8307c7395b6e3543d8649b73fb93b66b29797abeb5f386e38d7e6ad8aa99c1452b4a22545dbe1b33686cd68da34659244de88ce96bc4556ba7ab5b67a4b958802cf8b1233b8cc3667f9c4efceb82538a38ad952a7a5ccae42d7d234abd5cdd8c37bd513d0bc1d2d20624617601533376b982d79437cedc684b2c1a6bafdc35697aa72e71e700a6058c7b914d028a5526f83650704ac11102975898e4cf4a9b7a3fe747cbd80be09f491eed8bbab184417179347be7fda946863acaa89ea662adc6184528a9d7b77c5ea2ed67a5f78be9d9aca9c280fd719cdec3036cd0fa7c30885667641c215725b444d2a363d326d20253a68b2e190139fc89d8c6e863e493d9842da8ccc29df6eac74faeb3d5129fa890820028800228008200288c04d1148fe33e6a60aa2cc88c04745e07afb55b1446aec332f5f56dc7e5d5f5e16ea31772f730ce54978220eb3bca0804b86a3c460d8698db06c3d1697802cb8f2dea5c20c6524c884dc41ffb8df65f7502e5f86863c597f5a25cc7cfe7b3f7ef578e3d5eb8352958e8c588b35426d06477fbdc3ed762e2bce1ef4bbd233b3e5f2cc8ece8bb807d366b3581c5e84154ccb907aecbe1015954a56f6f777fac77b7439e92532d26bb7656fc8191a19bcdc7b4e94c93375d9742bab1fd9b57d3cd078e5aa49a10c7231ffabf5278647edd7db2ed3bed12f3ffcf79f597517572ec0056ce1b8f76d536793b5e781af7ec9eef58fb6196502c1f51e5b8fb147c417b45ded282a2830f6f42c292c1c738e2f822fae8ecfd387cfb490396e87c01bed3bfdf317a7cadacdd31724f04ae32b072003a92bc63083d34b95d6ec19a83bd2dc7cc6d47c06d2b3576f2d2d8e391ba687c5d7c503737e7a59b88b9bcfb0321e8c466d4536d6aa6fd36b9c66bc707d85b7b14dafd763668c570a66bc319653a601a7403ce8ca3598c1182f7c2325fe23452be2d6e8ccb66b76efa94cd1b429659285ce2599d0ca30dbd9179f8dc1991d16472fb95c4ae553b67a869eb3bb20592cc453499efe3b1e9c0290cf3e60a3315dfc498a01d37eee5cc38d3513185eb8756fccf930bb4f630aab27849756e84e9be2da4ed368b6c234862b3537f290c51a5ebb615a81f84daa522986c4149cb9bbe0368a9aad27a44ce990f2713c3119dd6c7d92cbcd90363b738ace726255377e07244b42714400114004100144001140046e92c0c49f7537590c6547043e3a024579a57ca1204d9aa9d264b0792ca54aa61e970b253449baa4628a878df575195794e576991c21dae3f17abaadefe5cac501af6bc8d22bb33a288a26c26c99447af5e215055ff3d31f1e3ef48b57de37f609b3b247fd2322a1d71f1cc6799ae5956bee5abf31c4b66bf2335b9bac2d17ffc4b68497952fb38f862559425c10e6707039910df679967843a7c13fc2b93636aa5f992f4bcb5060b2a0249bd0aee4db7c9c90f2b327ded217952effd7bd7b5e7bfd8348186b7be738e1b5dd5bb1da6cb8e0a7b137cf379e3cfe8a4a2c29c85069f28bfac2b474699ed139545971a7b3b70767f9c5227e76964aad4a5f1d5dae5667c9a552986ea0f0286e89309816d95f7d66b7265ed8dcd260244aa5585392a8a0d14c9516c7cc6eda36005792206c7abdbabaf6995a91d766be70f695f3ad271b4a4bb76817fce530575d74c25c4aaa74329a90a9ae2ae21d6f6b38cb30daed1555ce8ee6c6b30d5850b1a602d48abb0ebc76303ae385068c109d1d52b4226ea4cd6c3ba537a66a5a4260ca06a690dcf14a5dab95dcf8c81355300d836af9fef3894fe637b4b2a5ae22a5f044911455ccdbea7944cd209342f28c1c958f3c5d6a3cf4f3f38d754dbaddd5e0be49d18995e5359549c5bc1dfa5836c8382d80565ee7443799dbcc18961874d332cdba2130c63e00f35b620fbc6d66385a64569659090bc249d9056b67c981845b13b5d0bb10efa098e8c95d30bddef84c98b80ab3d1a5d26c2a2d2e6dea363996a2b390532019108a23028800228008200288c02d1340fb0bdc323a54f0a322303a6c758c8e741bba87871dfaeb46a7c33d3a3416763b70dfc89d0569cb646ca5df3ef0eeb991f72e8ebcdf26ee1fd37addb63f9fe10df6fabaf48637df1c6d6bf70cf49a3aafe5642e3df093633f39f46a5bf70826c9f4b1f8b840e60ad23ca53a2854fa042a96a6dc8617bcd5e179e7629f42967fe7aa7b42de48d00f671f0a060606864747a469997c419675907d5d1f92a9aa344b1f6c6af73636593b46433d01cce2f449b30a2c43d1b4f422098f3f62be2e6507324551b5887ee8febbbeffdd275f3ab83f53ad148bc5baa2a5fe10f3beb1bda1e9dd300f4e5b64c35e835eaf37140e70481c8e3370d8edee71a7c160181eb241234687478687866e816f71753986598f1c6a303b9de69613874f37b798a91972da8f1d6c32da6ce69643875b61527745b1c876e1f4c9a3fb4ec16c7e9214c53642c764f1ede567149c713b4f5d334dc858c9581ae3ece830c3976aacb8aa1c635c3ef8bead23653a3012619745bcaa4a0379628f30c7d103f57af3404753fdd15607e838631101649bdd8a94faccd1b469ca80b4e4305b72dc9824301adc266d75fb4f83c547c52ce21b21751594f1d00fbe7ff01458d429c2ec2ae668f57c7aa6909b0acbf46cb85a4d6836d49609316b635d8b174b096d7a911b773155924271552974d3e103f5469bd378a1fe18cc2f88ef2f909425453451eae88113469bf96cdd81d8a48479ace009010bc2b12e7a00dfa2a8397b73aa834825385982e71a5ae0d56a3874c89ad4b219e8269a35fbe794b4944516df59b345a314440011400410014400114004e627b0883fcae617809e2202b79b80501121f9115576864c2a2fd0142bc5aa5cc9901a1764048343967e39c6b99b13eeecec28928b64f20c56d04f396c9f599a65718e9769d2edee900fe7768e58d4c5abbff3ef3f7aeebf7fd53330ce556a4218878d71f01016627cd7ed43aa2569b457f8db9357f4167bbfc52ec3b2b552d1eafc6c36e318b35a04c2b0cd3e6c728e0cfde9ea9d77df4546fc724dde1fdeee905d957c76d37375478ebb9bd91c329a9f93c56d1fc231f1bd55f7eadb5a650c4b1eb43a879d4d97dedffa8b43c3e343557757fef27f7ed177ad6755610989734e37bcf1e7f31fa8738a7087a7246bf991a3bf9471b80cc6c2718e4824120a85b99a1c459a2c1c86450d721c5fc487d41946157cadd46c7a64bdfd7063f3e1179ba15b6013f8da6d3a42df9264a4604229d578f4e5c658af09d7ecac8dcd267f7847c7c163ad278f829f0082aa6cebb4cd01e289c912620973d485c596c1c75d0b374a4dfe9015eba4e0f8387e987efc995d326d7921de6c22b43a9821a02ecec3ce5ba4e5f1bd006075c39647367a8f9c311c3b1c9b628e4b8b76edd994fc7b2a213d452b52b55ded4dd9b4e9ca4cea188fcc964caf5d7bd6d478e6e8cbf09ca750e04187b5f1ac6f07a81ed3ab3c253d0af67864a8597beacda9fc1cad9e84b67b3bd4958c6126e6b92453b142f17f8948cce224b7edde6c7cf1f4e9430da57b530c18c8312bdce8d3f88fb820ed9647d63b0f371a8ebe1ceb26a110f3c51d509319e2126239a7028c19ed9647b7d27527db8fbedc0e5d2bc5832e223675657a98596aae213109e7f1277614ce1ac0941da4de1e51d81cbd090eb4291d9e79787d5e4b63fb696819860b71cc37f11edc40176fe34c7da6377c4a5acaee4ef9764f9780ee100144001140041001440011b84502ac68347a8b45513144e0a3217067a194cf975bfb5d8585a5dddd86225da1a1adf50b9b376effdc16dfc8600e8f1b72bb223cd6b8c73d3ee6a1c6ede121138b0972e47217035b1372fb020c9d51b0e59f9e7ae1976f5ee9f3f8085e9427e07204ec3086fba312dcc18e5ecccb918ebb04eea0d84d0bd348b9d0e5bd53a97870491e3d6091f159ca9cb45edfe0990fde53688b55b9199b3f57f1d6dbc7a3a4b7dfe650a856bff6c625e338ce130b031ec3921cf9376abff6a793af2cd7a92b572d1bee3589c5c237df39bfa9e64b8c3853a12ac810287b3b7beb0f1ff3383d8323c3a3633ebd71b86add86351b3ff3fbd77eb7243beb817b575fbbf8fab15f1d2c5bb1b2abab4b5758d8d7d7979393e374b95a2d7db70a98f67a613f375234fdb33f6c1ab7efb879fbd34f95c2731a2345a2643385a66005063d2371110aa4ae6b1105e7cfb2b058d8f11eb67f9fa5708a828b6cdabc7c92c4c6a233ab9d55057da1ee0767b02dcfd4c2f4871461f1caa7283c6fd21c92e72d037321520d98f9cbc49ec62b9b35d0e62c47999beacfd9d7eedaa68d8d3c67fdf75f3468363f530b27562e262ca0e4ac2e9847e6cd8a5aa037276b4ac81589663b3b26b37cf8c802ca7ff80a900444001140041001440011f8141248b60b3e85cd474dfe6b2420148904245f220e4b448444cc12f0a302a1502a928606879a4fbe12d0a825594a47bad2c9e75fb5f7e765e4e4e99612c1f18e0fdee1901c8a4d4704cacf7ff9ffee3bfc56fbf571416601ccfa0e44236116cee5b07962224005c3d1a5d418ac734ee3f195d11013883022b65f2c11787c6e298f18eeef2779b858265e77e7bd837647df95d65fd89ac2ec9e47fea992cbcfbaf041bb50d0cff66a3d613e292dfcdf4f7cfba7fb7f6eed75573db83d24e1301c93d33dfe8fbbbeded13bec230624f2dcab83dd6f5f6c2674daee4b57cc5e8a45b0b5a5b9832386005d4e70a323c3763c4a08f90282608bc402895828e071a522219fcb6144820fd137044c4048513c36213e48c177dd548fe108bb54655288999e34475dd333ddfcddc262c11c4da5708a828b6dda7c7c92c4264527db35b30a4adf6253ef886fd937992739b278e5934b2d263e87e4f98ba66ad2fc25124f6fb23282a02c96f6c3cf998b8ad44eb36198c1caaa8a17534f3ccf024aceec82f9e4dea4a8857a73b2aa05e44ee6fb5091bf48251f4a435418114004100144001140043e7904905fe093d7677ff31a47685604a6d747c2388bc6d8d108ce627056984d78d8a4832dec7478bc76c7efaefeaedf8715e4a8ca8b578c78d20a32d37aa8a888e048d539355f7af27b47ce9cef7229b3743e861d60c21c219f8d4582013f8b4de25c4188c9c2093e9b1006d9dc70d4c744985024ca0878e324db4531cbefae62b31932e295324c8427ca5d56fce6e5df73640369e44a820c3f74ffd2bce2bffbd68bdd6e3cff7ffdd3cec37ffcd30746b74ca47dfe176776ef7c60d5d2b5cde7fe6c6ab13284282260b5ebcdfb7ff4e3ad0fd708658ad5caace2bb826defbdc7635c70dc2243756fbc37ffe25b17dd63461e274ac2c9809168241261c7038bc58ad2531b97ddae1e27b5e545454af547fa2df376e9fa71c8b99d7cc8d2c79e2afd381af1575d27ec6df0ad47d50d675b066c364c59b879c3b60ad8caf1af3fa0defcebef23a421228008200288002280087c3802c82ff0e1f8a1d21f0181a0374a449960888243023d210cfe73857d834cb8579e33bc6c8d2023edddb74ff5fa30218909d94c964c64b70d7b5d9ec2350f750dd8eef9fcee6fbe7ceaaa571255e539a3e05e0813044eb0c2d16088006f038985680e0f4f63b1f1609462682f8f83f161293f8bef2479e729bb50c61d62534c7f9f2ee02dc954e5680b02ecf1aaa222a12aa3cf302894b12519248b612fd5a905f99ff9dd9be72f361b6469d9ae08e68b104fee7b539b2e2258515fc82451c0498ba1a7bfb93114155ed35b367cb1c2651cb05a06850259d9caa2a6377f191df37fa67a951a23572e8fbcf6aa29180cfbfd308f3f140e33708d443086b9fd0b7c0859694d0d3256e71cb288cf9c686edf03525dba6d171a84b70f2892840820028800228008200288c0ed2080fc02b7832292715b09a855b9022198df910cb9c226f548e532a944ce91a50532723cb97eab54a48ff2a35cecf13d5f7cf8814d62bee062eb959f1e3e26282afdc2a3fff7e5dfbcde171233425590c50d05293e97cdc6d80c1582d9071c2e2f8c73e94844c015508c3fcca6b97c5634480fdafaefd4e694dcb92cbf3cbf7778f0bad19c9fa9645f6d1f1ab2520ca52bcb29112f8f08edbffdcd81e255399fdda679e7ddc6d7dff063d93ec9f2cabffbec568fc9346cee1ff3b364d965f650900e532c1e3132e6a66d8eeffcbf9fbd74e8d7075e7cd1da6369bfd072e1ddb6e7bef3c4ef7ffd1d0e6d5eb55473fdf209657a568196cfe3b2944a65464686cbe5821d07c7c7c7e10803b4f1c76d1d5348182280082002880022800820028800228008cc4900f905e644831e7c5c048c3dfd52a1606cd04a12a463c8221393ee31e7b8d3af884402228947ac0e8b55380b5b57b174a956082bf6654e6ce56796ad5e7befcf8ebcf6feb5119e5247c21a8140904be26c163805a2d1089bc7e547589c7000637378ceb00fe761510e8785335c82ccca4bffe2f60ddb3ebb3cc4c704eafc0e9f6fc0e9138bb8e93c69bf7bd06574def59955c7fef0f3df9ec41ec908fef1ecbbe5950f14740c50e999cae225e148e4ee0dab75599ffbcef77eecf18ec5962740ad1c9ac0f8024151778fe3df9e79e1997ffd7ac3e913868bef47b0b07dbc9370b67ce973655919acbb56afefeb778c3a46fafacc030356a53c6d707050c0236d361b8fc773bbdd1f177f542f22800820028800228008200288002280087caa08b03f55ad458dfd4410585e5a52bc7c59d192629d363f3f273b274ba5cec8484f4f6711bc30c11f63f105ea02919837326c6df8d3ab46734b141bf94aedba73afff28ea7eef9e522c8bd71d1979578df7f19c468e6f98c469983340c37e05180b6362db15b0b93c8ccb8d621c3f1519f3b884625e5a1adb697707c783421e1126053e12f7f3fd666fbb48eb1569fc218eefedf7cfaf5b27cecb2d68bed8156642ab2b560c0e593aae77f4765fbffb8ea27b578b37aebb9b150d03de08867ba970288207c324ec5378b97bf8b91fbdf4e55dff589c9fe31f3651ae81e51a798e8c5f565cac50aaac43f6518773c58ab2fcbcbcdcdc5c6d4eae56ab2d2a2a2a2c2ccccfcfff447416521211400410014400114004100144001140043ee904d07c814f7a0ffe0deadfdad12a178a5c566b38e2b7f4f5127c7c68b4df6ab3c822381de2504156c57d1b79bc21eb6860cd3d7961c699ce0e8e5ff9c3373e2f0a04fd0289df1351fefaf4f5f64e8332a3c86c778f12ec3057160a87080e049cc622ec081e70517cbe502e128f8d1ad5990a0e8fa6836eb138db3b4a39865c394aae52c7a2a3e6b2754bc462ee95cb670962fcaef2123ce2a4dc1813f6ab33e451c64efb3db9599a6c112b0dc78a0a35248f1bc1382106c70831874bd29e8897a1051945efeabbbef16fcffff087cf6ffb07fd685fcfbaf27b9cc35663d7282993caa439c3c39e7187abbfaf4f2e9399cd66d87d706868c8e3723b9dcebfc1ae454d420410014400114004100144001140041081bf3e0268bec05f5f9f7cea35aa2c2fbbb36cc5aab2152b4a4b4a8a9616eb0a0bf233f3f37261a700569420589c8037b07459c9c0d060241cc2315acaa773150c1168c5dd6f29b01671e0bd074ad8cfedd9f0d5079716885d98af8fc429d87d10cee863130c0133061846c011f058dcc0b817f37b1e587bf7f2a2426fd087f159c6fe218c0e2ac4519c1c89702c0eaa8d231e95488359e902ad2a8d15f049f9188f4df03824e50f607444a352f2318cc360623e677c7c94e0e26c028fb2082ac4105c0e45d37e06972b553dd72ebff4fffeed9bbbff91191ee404302947c10ee1519adbf4def5513b9d975b98a7c929295e56babc04ae2b4b4acb57acbce38e3b161c08f103dbe7cc450f5c3874b0de08a7124e0fb4ada52e55faf45c9f963bca7ca1eec0fe1fbc50a74f023517bac543f9f090e7d261aef4c5eb867222028800228008200288002280082002330820bfc00c20e8f6e327d0f3414befe5f6ce4b978d9d9dd7dbf4e6eb5d16c390adcf8a47710e4670036141341a0e3af9bc68e7c54bdc605828e2b27830fd9f0e84303715f2b8299ed7efb87e2943605f9e1f491778d981719cc526b8649809e0040dfb0d903c0e1da4f070e0aea5dab29c4cdaeb152a327a42d8c5014b981ecb100672d331a9289ca7cda6e9d05b6f9c5a55bc040f63de111fedc634e939e3a36e8245da87c7a2215ace878d0d3192874be4222a120e4799281d6431619a4db34876987249a3fe1c9627a87fbffe87cf9c3f7efad4af7e336c349311c6d66f3bf0d37381907470c86e1bb45efee0a2bee36ac7d5f6b6cbad5d06c3e596d6857ac2fbcaf3cf3f5fdf365736ca6eb40e1b9ce00e991e289bde922a7d7aae4fc91dd5507fc6e2a0956a199934776a2e748b87f2e121cfa5c35ce98bd70de544041001440011400410014400114004661048fa5b78c613748b087c4c045616170bc512a55ca1d26445082c2f5febf587544a359b4dc845511eab9f3ddeeeb15f90503d9120f7e4abefacff5c559a92a6c3986e99d636ca33768f745dee22795976bbf34bfff8d8f01ffb8f9f1fe6904420401124c71ff67178427fd0cd66b30402f6c67b2b452c983ec00bf305d747bdb6a0375d8ecb78d48afca591a11cbf97df67b23ac73cba4c2eec29383034969e113b417064648ca159eabc2c2e2c5208076182c007cd17027e8a9082fb81e0b2f020843045609492e309585a7224e385c20857c20e4431f768ecf845954c0ac5651c0c0f621a55668136677971b14428d0e5eb7a64f2f474687af642f8090c87ffcdfd0a13f08847922086a66922769708b1183e793791fa29fd49d1185eb465774df1b4f6cf856e5aa6796f3e3ce4b974982b7d5e75d043440011400410014400114004100144601e02c83a98070e7af4f110b8da6394cbd206871cae48a4b3ab8bc2986e4b7fc6d868a6501470bd7d77b16545b95ddf64088e5a3ff785f5ac6856948387189a664b6186be44a6b9de798a61d25c2361dbe86887ed354fe63a2fede207189cc58a62045f2a0dc3ec7e161dc1b92c2eab68692ec96109b8bc00490c79dcfe28c565057d0e8a95230e4634975ae901a36b45d972a194345a1c0e1a2b2b48f7d2bef72f5f7153b99af4349154888371ce8a8e0c8ef2d8429ae1d22c82a67d4c28c4e50bf98c278dba5ab5245ce075cb9870981721578a75bab46525590aa5bce36a97308c6978b8c9d2d3d76be6e31c83a13be8f5c339853e97db4f05e6a34fe90f3c7fcc01394cc79fdd6f7c62ef36dbd9fa57ce1b82f132aaa28db53555f168f05cdd81e3d658465c5af8f0ee5dc5a278f2c4c56b6caaab6f7430b1e745eb6b6aaa7518e66ca8ab6bb6b8625978aa8d35b555da986b2139788d67ebeacfc74b618aa2f5b535d584f1d4fe7aa3464b984cb1ba78aad57bf66c912597c130e32c0d67c87576341c3adeec8352b85425a39c44f9de3d9b066695c2e6a82b65f1e42a66aafdb0f2c873c786a13ac3b167f79701c3e96c52a39bdd8a94fa247eb126e66a989b8e1c6934a92b77eede04786f044a7f627f03b5a90a3b79c690b7f9f187652d3390c6f3a5d601c352a7cfeecde9b57c59ddf1eafc3d3ba11dfa8908200288002280082002880022f0e92280d6117cbafafb13d1dac2a5cb142a759e4e0b471154dc51919b5d909f9f9795a10cbafb7469fe75c5a155aae1bf7fb0b0e6efcb82a11e9cebf153de73efb45e6c1bb1daf9570ce37c790e572c1cf339ada38e6bddd6f72e758bd372d91c2e97e0e038c7e7f1469830c927a278d41f0a1a7abaa23816c6396e1a1b76fab9a490170d055c63631e8662c4575a8dbef1407e5e8e7d7cd43aeea0d8b848a134f45af4164b5a961a4e245467a67160b140240cdff8797c7184454430f882cf51a6a5c34a829565cb1edabae10b3b1fbee3fe8d9d569b4224d2c8043e8fdded19ffd3ef4ffce1d7bfdd5a55288cfae5029e56935952ac5bb56279615e5e7e6e5e4971912e6fdef3084875f5fad552e84e5ef69aea524c5f7ff4bc812c5ab363e78e3545d261c39916db8dae76589d651bb7efd8bc9a70998eedab9b488e3fb55dd87fb4d1212bdaba637b652169683c5adfe1d5d71f6cb678cb36efd8b97dbd22387ce670bd77c6a0b135ed3b7ade8165afdfba754d91ca6168dc577781a6bc41c6653251955bb76faecc0b0eb79e6899b66f2235b78637c40f9c7d119c02d2c2ad3b76acd1d2c38e60d0ee74a52a95baae54c593760cc0b0d96a1f194e6698ec4148a8341b5dca56a4d627268280c91ac68683871b4d64d1e6da24a7003ca3692ae832805340915754415e998d742e1de64c4fd59bc9b5645dfbcd023d9b108dae88002280082002880022800820029f3e0268bec0a7afcfffea5bdc63b2cae442eb805e4496745f32c37e7c7dc67edd90b998ddef1af9c0f0a7565e7e207b890a9745425e264407e5ea2236df7df888f1e12fe2382919f4fb69cf48c57d2bba2c749f8562b8429bc3a75028709c4505fc021e110d311c82086184cb3f7ee14afb83ebeff470d996b1b0dd11960932c8b0dd39eaea1b14fa8234430dea7499042b34eab0b3d8327f389299ab7b476fa33912454e2e978f6567c96916c34422619c1d6445a2e01688e22c06778db9a572415a76ee15d7f807a66b25aa8c6e617e9637200e874de3becb973a706744c29707a281cbade706c682b6c121a3803f38688b84e981fec13015747b3df37694acbc7a83fe5cab575bb5a14247dba8d5abb5d55baa449413b3293183cb6c7396c75feea2ad7bb795c387f0d2bda4f7f9e3860b466ac384dc8e73e7184cb879db26ad08d36dd932f0e231c3858ed2d847f3ffcfde7dc0c751dd89039fde76b6f7a2de6dc99625b9175c009b92600281744823242477b94bbd5472c7e59f5c7209a9170e724008042e1042afc636eeddb22559925556657b9ddd9d9d3ef31f9b8398604220217179fbf167359a7defcdef7ddfda1fcf9b57b44ab6482de9bbfea381b1cac989082f67317f0e6cd90e41f6ab3effb14ef34ebabb3b70fff71f1ad932d0596f7eb4f8a39fdf10317f368fedffeec87014eaeb367f79e985393a5f1be18ac01f86140c6cdf0f41eef77ff603cd6686f6facaf7bfdb2f42e4e972bd54af3fbad6c0d869b29f04f8bf004e17f62ef5eacf065e36fcbf74a7fc782ddde57f763cd089aa4bdbefba3515e3fc8bdf7fe3ab3b055eb948ddfa4f5cbf243070ff775e8ff4b531bcd47caf3ddfbcff34ad79f9c95123a75ce54fb5ec2b51810320000480001000024000080081f34de0d4ff399f6f7507f53d4305ccf9f60e97390a5fb6b36c4328e2b53beb6a1b821e9b1b29f96968c9c20d07f6fcfe4832bdfe92657c7690c62d2387a7f40ad9d31a34df0f1ceec730e3ddefb9d0e3f45fee997fc7a3333fdfca856bbbb852c9305f888ea3040293b2a4a134231b308a119805d561289e2b480ae470b088a0e4d3a999292c154b857c743840562a4545d5cad5b2c7ef73796aa7635310e1b738823485bb1c0c64a81a84cda6f2bca213146cce20c0091445cc3d0a8ca1b168a938db5a17c66a5a165c7ca5b0f96107e140357578b8d4e5f792187be8e8b0bf55530daaa5b1261c0a8a153e1cf0439aeef77a188679a3e639394a5d3df18e791c50f2f91f7deb99d764213b5f9e394035b79b23e68b15f1941509ccbffefc13bffcd11f7265a3918fddb8f8ae5fefd9f3ccf89e13a5857bafe86c3f71af7fcacbbca223f2f2e3f5e6ee083432763214f4e5dbfc13bfa1a764300f5f3fc257d29913fd3d2f5f896a8f90fd237f22d76baf759aecaf147df2e0b4619f0cfca4e1ab139bbf9d860eab7f3de7d7c673a23cb353c07ccfce2655a8f974ffd49266bfca8974d0696333cf9f268693cd77baf3273ef8e3d67c6936c84b57e97ccf8db36fd0b22763016f40000800012000048000100002e79fc0e9feb37afe29801a9f51021a9f2b4384b93a8095b1897c51124ae95c3a57c8aeee9bd718b2207ef7b30f8cec1f998a69f47b972d294d0fa68e24e90ae59791895dbb3548ee5bd59d981e6bf43b49215967d76984cf17661997b758ad301642545406a50c5d47ccb5f760644e53138342bc029983d621c4d054b1909b72204ab5508d4567e7f6380852cb14245ed553d954d7c245e50a7c742447b957581c110b5e711210a163d99296cc945084200d04d215091225a1e2f434b6cf9df7d8ddcff1e3e643784bbdd75bf0868e0cf4cf16600be3ab68345728e36eb6a8e06630e522a7f92443d34a1c57adf0025b15ab2726daff19af137f85071ebceb408c5a7fdde796988ffec5fdb77cf78913b3194ebca4b1a8d8d97ee2265e4dce9aefd48955eb5e7999b7a3e18f7ef363919327a2fb9f1ec33ac5e1b1c08aebbf793d5b4946773fffe08e038f3cddd97979fd1f729dbc89ae64cdbe8193b966c7ccc3377ebd7e84afe4c5202d6b86d87ce244e5705432bb16865fb75eafe47ae5e034d95ff9cc3c78f3619f86eecfa8c5a9d784165ff7d5ceb13b7eb963d35ddb9b3fb6e2a52e805313a8273a04fe546ca789e164fed39e3f4d6bdaa1ed273a1d4e5e25f9462d7b6a64e018080001200004800010000240e0bc1200eb0b9c57cd7d765496a5301c86dc0eb7b9b4bf41c179b958dfde72e5c68de9d191052d73278f97a6263137d1b3fbb944ffa1eabebd89f1c3d3c70f8e522879c18a952ed6aa96ab2157c381170f3f71cfafa70f6d69668b01322d9592346d91140382494983098a563419d1e588df85a8e6ee8650b12a5024512c160f1d8d7215747626179f8a79dd76879dadad6f2648469020cac256756bb288d6b775977891c1112b0ee91a343b9b2d8b2a42313a0c6324618e4ba09c8e02c73df5e433217fc44e32bfbdeb8e6ddbb7b4afbb28493814d25b14f1fe681af14652b2417bbc9ffeec4768bb9ee50a3a82210862a149f30f6a982b15fce9d789bb3dad3830104d4a270e314835efe50fdf75eb13e6328262a5f852e6fe077eb17d2c998ceebfe3ee03e640fdbe97870f989fb6af3007bbc77e7dc7d3d16231bafff7773fb1677f544cee7ee2917bfff3f1c3632a45b1273b115eb5839f996b89992b77ef4fef1f8ece0e6cbfffde0339b3d413730afee4ebe46df9e9237c295ffb92ce93c5fe7e2c197dfeae9f9e5841d14cfefaf5faa3ab9d36fba9694e1bf6890916a6e1a9e94e397e2ddd9f1fcfc962d040008b5c78fd7c0b14db74d7fe3f5ea7e144929337ec7f8af4b531bc14e06bcf9fb6355f4afcd2554edfb2e2d81ddfb9e5178f0fbf9412bc030120000480001000024000089c9f027f780c787ed61fd4fa0c141065c142d9c5944086a8292ebe7c51d737bff0ada71fbc6fcff1ed97ac5bedf1b7d457ca61ab952b56efffe541a75dba72f13297cb9546ed3b8ff49744c1e3883cf7c83e4c14fd0cec21f357b468bbb3899d1cc9eb6155842986c54894abe42056b739f0965abff9778013e54c99c768726468726cc290d2c2872f68bf78ddc50c5529149289ac948867700a72f8c325c3630b76e23463ae6de0a4cd7d06219c8066d299925425fd35654181758cc16c86281318011982a29909cbdcf4d0985d1a5617b75db171e7fffe1652257f537b7f9a833cded5ef5c43384bdffacea77f7edb0b5309be9e606431a5090209c36fd4348ef666fbc8c8c84377ab377d74b5657cd333f7de666621cd9514a45c6cd3f3fcb5276ed62d7671d3bdb76d3a519665f9fbaf3787b39bdb27be349a008b6cb86e5df6ee4d7beefed11ef394b989c0f51b9b03956b077ef1c08147ee357b11cc977ffe154b5efd9c9b6abefcbaf5955f3f33f2c0dd236602d4def6811b3760c3f7bf3c42e16436f3ed550313a0ced5ab9f7f4d84c515d7bf34e8e044f2facb3f71857ad723fdf7ded66f166a47250ea3da57afdefe9a5cdc5566bd5efd0f97b909e3e9b2bf1cca899fa70f1b3a71b34ebe3a54f3cc4b275e4ba79eae16a78fe725e41377e4d4c68f5d36f6a3279eb8e3e9cecf6e7875ffc9ff5df8b4b1516326e9eb35df69ce43a76b4d6860ffcbb581baaf3e5dcb9a1d4892261645f35ae00504800010000240000800012070de0ac0e6b3cdf3b6f2a0e267a6c0b5cdf5084aa40b02edf796acc67ffcf0c777fef857dcc4481b5d20b50a6d8bb0b4abc615e1caf95939369338b6b2a73559cced8f9750bb2de8a052a393e26c79794787132bf52ded73cfe9be6347ec6707d98a7b214cb0e6207d7338024a42d9ea4cb3c7f8edcd375969685cc11e7861f74cb6f2ecaf1fb0f9420b82e84d1746b4a9a785ec8b419f95573c773db8dbdde25b71d907ef7f6c6cd36029b4fa3d8170edd50b9baf59db4c8bd07fff6af30f1fda5aa17d3a4ae1188596ab18646014a9956782e834cb0f4389c3c96ce9921bbf40597df2646cec48ffe8d888cdeff13537af5ed172d5722797cdb2aed5efbbf653cd5e079f4d049d4e45101e98987e330da4564eac1d4099a32dcc8103159162d9ffbb793617cc1755e80fbfff71a1a7647cf923551445557dfd2c66bad3e47a39f7ebfd3c25cbab23343388d1edf76fc9aefec0c69353168af7dff2a391c865dfbcbeef55177a4dae57aef4fad95f49f2d2c12931fcd127a7fbf57474a794f0faf19caeb0373c774ac9a7a43d5d0c273e7e9df3a72fe495f2fe8c967d252d3800024000080001200004800010385f045efdd8ed7ca935a8e7192de0c4686b30325b9d0976747fe65fbe7ccb8f7e541e8cae696fc12a6342a12227a7ba96374d4c452be5625bbd0d2fb97ef7e8ae50d78258be2415f882039b1e285ddc1ca22559cb0ac3db8e221369aeec60b0ce32a241a484a286282a0c865a2d646dd8c5da3143506d18c442ea96a79f80582ba11b761cddbdf5e1359db852714ca7a454215750a0869aae43e37cff5015c5eb7414276924e0b0e1ca897904a5528981211c35c71df018a923a40ceb9a582ebbd4548f63bad1990d86bd29315051f9585ef277ac9d18a9c6e414e2ee48292ef9b8dc12d6188ddc3edc7fef33cfdef2e54f2b72d655e72fa4126fb29130963d392cdecc76cae189dfccfbfb3f55d6ab539f4c69eeb0f727b3bce61a7faafc573e3be542a71cbef43186895353fd77ff7bb4ad2d508c8ea43468fe92f6931f9d92f494c3570a7da3ec7f9cf00f4a7ff4c9e97e3d1ddd29419c7278badc6ff6dce98b3b5d0c274a7e9df3a72fe49550fe8c967d252d3800024000080001200004800010385f04c0fa02e74b4b9f45f5ac964a2343c782e1d0473e75d3b77f76475a6188f09ca319ed78859cccea5e97b7caf347d2e512e32be78420ebbbee0337299a6dcfa1443aa3cca6c56411e27574365ba058a7b97f60723a5de50492201445e2e58aa48b84059555b15a2ed919d69cc52f0842d009c1d5b23c3119729a730bf45d9b7eef771a8a544c17449df20f4ca6119b4fb6d41f9ae05da1055ace803092b5d175b53e5355c7a068222369e6da02308dbfb42e802e4bbc93d2030ebca1deb761fd050bba1ae6b745ec18949c9e8e26d20d7dcb2c5d4ba8fa6e81ae29ea6edcd9c0b8ea8e4c447f7ed79d9ffadc3f5464213a13cde572675193fde5a19a13f1bff489abe63739b2c9a4ea69baecbacf6d3c652984372cff2fccfe86e583044000080001200004800010000240e01c1600e305cee1c63d5bab166eac25cb95797d73eb7c8e5c2e5f24bc155f635a109c55af8d83114d32743665f7ce2a905dd589520cf3f201d6f799eb3f39301dad8849736fb6226349cfa415b5daded0a0a29420e21a4240308a180845e2c54ad16965100e6669aba24389e48c273cc70a6390a4b208c4a7473aeae8fa20c965265245c1cd90a9aaa6b0ae9ace358f1dda6ae06ea8de8e6044734b43ba90b5e39e584c3e3411d7ed6e4e35acacb981421587104c2fa162baa5a75eab69797caaffba25cb7243c3ea14dfe2f71e8bee0e772dbdf0dd573fbdf5a0246202a14793c57a2fd634a7fdee3bfee7c31b575dfffef7ed7fe6459fa7ee6c6dbfb71a3715e8dcf881ceb79a1bfa0bb3bfe5eb828c4000080001200004800010000240e06c1700e305cef6163c07e33f3c345495c4fff9c54f773ff3c46dfffeaf3e86c8cb629e60045b6d5a630c92e2147556c332a4bb843948877f6474d8ce929a287b1cee3dbb0f797cd8d199b8e2f0c6ccdd0775483510b33b00339fe41324a4a386061184b94121c4509654226d4efbcf150bd1b16c5d20606e22a0f0399f856ff6c3145211251ea3ecb33931c3432df3560e8df3bcea2c889ad9b5002b723a3a994ecde806f4f093cf17641462ec10c9483a0a215455d26d4e8f41a0c3f1ccdd4f1e3d56728d5670b2b675f7f11983b65d7cc9a5e313139333e9e517acaba90d090a1f2f963ca17a44d7bef4994f8f1f3af4b35b7e865795d14303e760d3822a0101200004800010000240000800012070e60980f102675e9b9cf71135b675912469b579b63ef43b49d4eefcdc0deff9c6f7105b48d650c4428d95c69a22769954244d9a151504521299a8dfa213b696b9ad7541375515c59174a9265033952b8665acd11cdc5f55ca7c55a3081c362451c02954a8f088a2f15531c77187068e6cddb2fbf874baa3adb59c1b37cac7e7ad6a86d5120c21c148d3d6c7f70b9a2557220646a77034c038cca107ba944a35387a1677355929e8e8c07182729664738b425a31f732c41914c73242d68088d844bea1a5e7e8e8b1e12626994eee2d21fe86059322093391c9e15955c1abe20c6515e3457dff91e10b97ae1c7971db96df3ef0ee657d2c626d64fde7fd17010000012000048000100002400008000120f0b71000e305fe16cae01a6f4a606a6c22351d1bda7700e1b89f7fe54b034f3ff49b1f7c5d2f8ca2e6ed3c2472b001d38487d09d983a109bd17d1ed48a0e8d1c2e7219736a7a775b178551354df584a7ae8a399305195694a08d7190186adeb52b0a86a04a55b65a5849125c7eaf39cb602691af6b6d6d6869d60d29e0a53aea28bf4db13bd8c6d6b9fb0f0da53905b73654549704b90cd49acf2572f1d1dcec04a92a0d767c7a2255ae4a1a4a620469683a0a9b8b1a56ab5255c5098d72bbe72ef4056bddeea068d0dbf70db902f553c95c51d00a251187f172211f0ebb21487be4b9ed8786a70eec3ff2ed9b6fd14ad581bd07a6c6c7478706df141a480c0480001000024000080001200004800010786b0260bcc05b7303b9de46819ee646d66a09b364b8264260e4330ffc46b713b7fdfb67fff15f7f6a316fc5a395b6bcb8ca153e329d38aa57a70dc1e172f033b3068a5014c5172a5d731625509b66ab43b1543193a5eb3c4a29e7b6940b464565ec99721547094950583b0d11483c2b244a3a1d4bcba891cace449a499fa679ecb0399121962bc5d3055e22eb1b17e70db74c59751d829492968942ac2d139b42a12e995704cdc018a22a09b06a9863066058216858ae542167d0ea72c15076f5ca566e6abb1d214bd94475eca8ca26fc6e5728525795c5e8f1239aaa74f6adf334b4ce66d2f573e636d4b864176bb33825116c29ff367ec740d140000800012000048000100002400008bc2200c60bbc42010ece1481d1c14313c303a30347a26323c303476903fafc0d9f4c1c39f0f3efff1b4ee839419479a183545679e9d53dedc54c0ad18cb96dad8bfbbafb16f4e8105110e0c69e9555dae56898033b03c952d5ed76da71051532d572c6bce726084a96d5505da4a6b95980c845ab2f31588fa0433627cd9713612f45e13a2768dbf78fc453659bb766cec275291e8629c2eb63252ec5bae8775ebef6c2352b04039acd94ca2a5c56159226281a352019c634b9948328a4b6b1c169b7d4872db1f1c353d1f1e5bdbd57ace87569a580951c1b1e9c8c4e8c8d8cc8b9fc8defbe765e4db3942ae955291e8d4e4e4eeedadb3f391b1d8d4e9c29ed01e200024000080001200004800010000240e09c1600fd02e774f39e9d956b9dd3d4dad630676e73201c686e6b0dfa4397752f7ae2ceffb5e8fa57bef039dc42735c8aca8dd654a23da8b2dceb762ac8d2b93d338303db5f7c7ec94597954836a91af50b971c9735aca125a6c2b3258ea414442fb20e8b8640e6e2052842283a5ca84aa98a2893f64455ed5cb8aca3bdcd61c13d2e4a92e578de984a69190e5a7bc9e5f92a2c9903012073a6c2b170c4591b74063c94c345173568d3a111887520162b27f1bc2e6ab0628e41a06b02ed8b16b0941c7499db1b64d233c76b6b23b2c2dbb0eadac573c21e87c7ee164bb251956ebae69d375c74013d3159d8b1bb3a38b0a8b931e8f62c5ad81d0c8683a1c8d9d97a206a20000480001000024000080001200004ce3201308fe02c6bb0f321dcc9f1e34ebb2b9f2ed46196d9681441f1f163c7565dfbfe279eda640ffb3ff285affdefbf7ee5f2c63a0dd227046d603c6a93f356cbd4e617f785e72d5ad4d533a7ab735b74a6a0c0ed8b7b66fa77b8ecbed5ab560a29c92826154d906102d650d6e528558527376d735969c95c84902bb2ac05d6643b43989311f25c79efa1c4d1d152a8a179e585977ee7fe7e7307030fa52de89efbaeb53754b94c9ecb9b3b20240568dfd40297590000400049444154445c46ad068cc22461a57183af922cd9dcd3cd9572b51e2b2be59f7de4c1f7bf634d5d63e4f09eddd2545cd472ba678ecde121dd96d52b37e262e2f1df3dcc960bfbb63f6769a9191f3ce09ad73e3311ad6b68c9178be7435b833a02012000048000100002400008000120f0771700fd027ff7260001fcb1406da0de6a75629add670fb68765879349f99d15ddf086da9ed87fb8c18957dccda312ca4be880b576af145b4e8b344d066a42f95cac1c1b9d13693a92d3b97c416719d663451cb5cbaefee05297b36f2cfde53b9ed25448877459acbadcf6b22424ab82b98e61b0766e225df14812ae295c41e44b95f159b12010d75c7c55beaaccc66757afbbf4e31b97d63aa0c96363144938bcc1d874f1fe1d47b31a4ad03608367741b4f28584924f694e9b2096159943abdcffdef1e3ab2e58612e32f8b3dfedb7d04eaf61c5097a26256b56d2eec3aab8b879c7c0c7d72d73b048b30b69f290d6963a9fc56af84234c1f8bccc1fbb80df8100100002400008000120000480001000026f83009847f036a08222ff328162452af3523a5f48a7d3b9444ae0b87c36a5a346458704ca91a2bc595b785f34656feee02cf63482c8281c4bccb6b6b7785d762e3aaccc8c77f8ddb50e6b259f8cc6a626d3e982a2a5b349b79dbafad2b5a85c36c7f11be6da838c85b639aa060659dc8c2ba828089fcb7a58ab61584626b8f1e922ed8c88083b932d93560bc920040421b2d15813743b1c186e3d3438feccee0390c3a9e1982ccb62850b39d9ebaebdfca68fbc0731643b6b79eae1079b1bead7acbb646232dedcd01ef084dae6752b88b93a22edf07813f9cc542e4386431c8694c552b59c552b5c399592b86a395fe2799eab707f9922c80d0480001000024000080001200004800010f8b30440bfc09fc50412fd2d05549c8118c6ea616d6ed66673d82c0ea783d5355ed3ab1a4b2628a7ad67f968beac2290d74dda2d068440b2a145a7271b2301ba52b1960a11885fd95adbd7d1ce735c3a139b898d3df2db877ef08d6ffa647e516348912a769f07462103c520da8e301e94b4c130822852d0e5393e5ae81f4c1904db36bf2753d1a2e9b24461e3e978b2581655d8dcf58075bb822da1917409f5f8201b0b5930d28a7bacf492aeb6de8e5063d8d2d9543b3638d2d2d0ddddbdf6f0e8accbe59a6755bbed95626277a401ffe7cf7eb4b1a14e322ca82d305bca5510496569c91c708033346af1581c0e86b539ad10a6fd2dcdc1b580001000024000080001200004800010386f0540bfc079dbf4676ec5698a55cd972118885c11aa9aa2323046e8300ce9a2611409ca3eafafe80e6d3b361cb62275b42e95f216c63a3333a3f07c88a549b10c094559a9d4b57598f7f6b922f7ebbb7fb563cb8bc9587c663aba7cf91204875454aba87cdbdc96850bba291c46504887211447c2354dbc42e08cafa3abdb170e76752f646c4e9226cd07faff7ddffd4fed3eb87732717036ff9b6d63c7b225d2e186099c755a090a75bbed6e9775f0e8aef8e4e0b15d3b4851c10dd2edab4b95a4f6ae0552b57cecf0eeee05f59ffe870f71c5d4e1fe7e83a0b3bccc38dd304541386abe307346024d9b430f3445c6200d8541bfc099fb150591010120000480001000024000080081734900ac2f702eb5e63952178317201d814451910508d3cd2e0294d7ad1a811ab882c01a4954319c5cb67afb730f7617925f79e7bac7ef9b35b7183034bd9049377a9cac05df3d74d8ed740f1e146a16ac68f64670a1e26e0fa486262679d9edf739c3760182218349a567352e17a0ad0ca16a34d6b574d996033b36ef3ed43a672e5d53c343462a9d1c89156b1ceeaaa22176efde38c74fe7059888668a3a4e631443f21243902a8d07c2eeaa56adab094c8f1d6779b596b2705c8197b5dac68e1d07768a99ecfb3ef0d1a54b6a1e7dfca14d7b0a4393f9f67517ab180ac1164c677451277443ac564ad5925b7319b02ef3154c52ce91e604d500024000080001200004800010000240e0cc1600e305ceecf6392fa3f35a1d5ebbc3eb74b81d767306016b6518c242a0164583cc67ea1549ca2a10d5b1c8a8693f74f008294befb878358e684e8723973557129055c468ebea9888c7a7b385c38323fd078fc626a7f2e9546fef82d97c6e3c9d6a696f51cda904349c9f19997af241aa928214730b436a7078747c36757c56b4861b15d256d3b5380fdb26f212af23b0c522502c19aad759a7d9bd307bf8004393ba0ed91d9e8aaa3a437e8484614c33873674b4b4b22402cb5c2448c69383c3d111da17b2d6cc29c38edb7ffdf8ae03234353316f7d03e9b47362d51c2600ab3aa6eb0c81dbed5687d3697358ad368bd3ca7a6d8ef3b2f141a581001000024000080001200004800010f85b0b807e81bfb538b8de1b0a64d3c9743c119b9d8dcfcca6e3b3855cb6282a650d56605c87301821440de7e970d38a8dcf0ecdec181ecfe59321b7399d40c916cbf10a2f61f0e103070777efe96def6caf6f28a462b9e40c65ae26a08a18214d4c0e3acde9fb08811652fc683f347c48898fbbade8e8f1411b6b2d5715a6c60507eb8a4cb8ea9acb79fad4fae559da35abeabac79faf5684d4447ecff350760c4b8e9bf30778731900bb53a4088281115d1e1918d9b5737fac98f1d433377e7cc5a21e4b3433323c1bcb16b5dfdcff6234cef48f6b455eabefee16cc9911348322555d2d608826097c3693492593d96cba50c8e532d96422f1865020011000024000080001200004800010000240e02f1700fd027fb92128e1af2c50170e34d6d7b535b7b5b7b4b63536d7d7d47a7ce618028781a2a2a432380543445136571dac5f7ad587ee7ae6c59c84a284bda1a696465159538b155eac4a014fe0c8be03e140b8b57769c59c0400eb85e1c3cd1e9bc6e533c96cd81f4e8d1e53e21310a38f1cde9a9d1a6c0ab9fc2ec7c0c0405d4707e50dd2beda8c8ccc4ab0abb5930e3652de3a1567054919dcf5229418855213d17d2f1a124f52e6ce83284d998ffd792e9b41517ba50af982ceb56b17a593d35b373dc760d87baebe3ae00f33b6e0c064319394db2e7c4705c1550381215595793b8ba30864ae4dd8d8d8d8d2d2521ba909fa03e170b8bebefeafcc0a8a0302400008000120000480001000024000089c4e00ac2f703a1570eeef2a30333d65aee49748c72a252e3e3d634eb4379fa3a3d98c1535efa061499008c20a413027c37dab378408f557f7ddfede558b17cfeb6d70bb6c16a840584af9b1824833896426cf3be6ad3e3e1aa52ab95e2b3a934df87d9e74be481284b9c3012272ba9c162a7a253614a8a9354a0558157b17f5e918a22b5a20e0181dcf98ab1d22a48d45594343d5b2c8c763503e0149a228291424e2b8ae4202294989b1419c1730c35553db4933d9e4f4d8f62dbb342578e5c59743d54a3a119dcde47283476b376e84591fca986b151a9090250873e983aa262be60081f1d1e3d363134aa592cfe725452e94c03e857fd76f21b8381000024000080001200004800010386f0440bfc079d3d4674f45db9aea69d6e2f19bf7d81197cd1e8cd4990ffcdd1e5b55d7701c173408312073d17e03c707f285652b367033c9dfefd9bcac35d0d31c34333cfce21e89e3a4923ac171a8cbdfb6600d1d69193afed89adeb623037bf1765a7551a952353b35ad7345c4edd48bd9d2d471d2450e0d6d6fae772fe89ab3733ca5c1365d936de6c4054435efdc7184b0c0309fcb918aa0ea2a6b672b889e3b3ed4e8f2110444a9525eacc666e2184be94c05d5e35363432d8d0bd7afb9ac52cc6ddafaec6474a2341d0b5e7291a3b6ce5ca1205d28d7367a61c4a2a651588258c66a0e10e89c33d74e5b423e6f2a9572f9bc5e51387b5a0c440a048000100002400008000120000480c0592c00fa05cee2c63b57431f191ea2192691cb14b8626c669697d5f8cc84969ca03545d17402a77849660c4552ab1c63bbf5d1c717f9024d17ae3b3abc33b66fba9da416cdeb8be19e5fed1d345c4c349fe3078f59343c57966b856a9b8f8dc6fa110e2ae5e44ab10ce176bd50f6d6342d6a6bae268e57f283bd3d9da8524624d51d76ef78614bae20e3ac878761bfd7974dc694e8201f9f35c7fd0b151e47e9f8815d419b55d03567c857496762f164dbca85c75219295f3478fbdaba3ec360eebde767e3b3936aa1d470c595a1f9dd5909e6b80a61b34d6433764871eb8c93f6a40b5c7c36368a51d1e3e30217ce64328552912b97ced5f605f502024000080001200004800010000240e08c1200fd0267547380604e08cc6d6f2359c655f00422352c6b8bd4452455f6860245d48054095114d23028c4dc9d40cb4b7a64e18ae9d1439a15712dba204ce8f10387f51477f9868bdb56af65ba16ee9c4833eee65ab775fc05edc8de67ae5ce88761bd6745e7405a3a44f2cd0d2b13d1a1f75d7db9c4e58f1f2d4c1dcab4b7d40e1c1d4ae5c9ae769b1589a398984d1eab6ba86ff2c1b17c290f17d75cfbce627cc25c18b0a16d3e1d6cdfb9ff28899339451aea3f36a77789a60a2ccb78a996a0cbf9e2f6ad777cefdf2145807c9e251fbece110ae48a295dd2bdae1a412d3a594329e621591604c5e3f4d686236dcd2d0c8ad686226ea7cbedf794f80af836000120000480001000024000080001200004fe0602a05fe06f800c2ef1e604c627c6480b93e18a65418cc7e3e6528289640cca24ec386cc50cc5a89a4b0fea7c09231009a7ca2ae59eb35a31848c38150a5975b6ee48ffc1f2d0d0a5976ea8908a1ac066e04c9a4bd7f7f48cecdd7a7c6cbab9be6978d7a31269f7bb0cd2a2706abe201684628ee33812c182fe5acee2898fe47b5b1b19581d1d3bca7605598670da2a5d3dfe944f58daddc1e5da628938c17a50ca5792649c703cfdd4a6be4517b87cfea22271b3533e877ff2e88189897d901b72362f0e36b655701ae68a0131a7c562f5017bffe8d16c7174714fdfaca62a586dd1dc7c201e9f24a8d8d434ac688944bc52ad14c1fa026fee5b035203012000048000100002400008000120f0160540bfc05b8403d9de3e819aba3a8aa12d9ccd13089883f643e190a25643217f2e3f539d9942ad5ed540f94a697cf0684d5fafb96b41399b120cc94120896c2e12f1b75817a1531333e6e87d0bd57ff0d08402f11ae2c12c1d6d9dc3db1f6351dd6a73d1e6b686b021f346576b9dd9295017f4eedf140f04fde552c9ced65f724117a5547cb8666fa9319720ace4f293fb0e1f3b3e866218978d4328e6f0043a1be7144bbac5ce3ffed833bd8b165cb6fea212cf591d4c361e38f8c24ea791bdecc2f9595952d9a04120e6d20458a5aca4269637364848358489282ee0d9710b16d0f46a241452c291ba9a1a4c876ac3611c45cdc111f692fded1306250301200004800010000240000800012000045e1100fd02af5080833345602699a51992e3f2e6f28299f82c06ebf19959f356dfd7d3db626e502870f154369bad40331398b5b47fcb5ddded0d88281ce93fba6c514f6079cf963dcfcd6de8786168b0b1a5eedd57bd73dbfe038b7b57f8716f98252697d63f7cdfedb50cfcaecbaf65bbfab20a84eb184b90e6fe813f9f1e5dbc24b26cc902156dab6a76dc6ae96b5b250b6a2a16b3b6a33f3ffa73bd2ce5253e939f511046824afda3706777efee43c38b972dfaf847af2d65a622214ad1c4c2f8589d255d536377f82d87a74a47a687ebdabb56f6b64e0e1e4c27aa86aa1c3bb02f161bbf7279b3c56edbf5ecde77ceeb88cd4c9aeb0b782826954890309c4c243443e52ae533a53d401c400008000120000480001000024000089cd302a05fe09c6edeb3b3725e7f8061288ac4825eb73903dfeff795aa42adcf13b4e3b6c56d73da5b0c847c66fb41abf51ded35ee3ddb9fb65990deb91df7fdb20469456e76ac677ebb8df5f86a83b7fee4a75f0c45562d5eae55b5ba909f46c4d597ad9f498d0c9bab021cdcbda8a10152b1b2a0d9fc8181fefd8661f42e5d271a16022631181d1a1c3e74f4d87434954ba521b532353559d58d5449e8ea6deaea5bb565e7115982fbf71fd645c967274be9682133857a1ce58ac8a0068bf07aa90411eebec686a517ad9cc99794a2f9f914435353e3c7b339ae6f6e736af27826976f0db62b854cd0ed167c3ebfdf6f484ac0e7d775dde7f7993b329c9dad07a206024000080001200004800010000240e02c1300fd026759839d0fe196b88a2289e562de4222a542d1c2da2a5c59281473d15189c5c6b919d6ea88a0469dcb6be7531f5ab374c7915db9dccce7bf7cd3e617f7c016efd225cb776c7e2618097cf1ebffb6fff0a83fdc8352c64826d550632b4bd245efff50452526f2c5ae7285b0d875a71573db8e0c0fc0a41561db8a464d7ca6fad0e3bfdfb1677781e7318a85144d2e150c554451c462b54d8c8f5a59a78b349c98a44942ff8e6737457705d16a77777721c56fdab22fe2b3d9adcec71ebcc7e9f2adddf841ba228822b279e7c189c109838baf58de6bae84c06291eebeee3befbcdb8a786a2c9658b15836f71fe04ae67b85b1980766b748198c17381fbeeba08e4000080001200004800010000240e00c10406fbef9e633200c100210f883c0a13b7f65b5e0b02eb91d0e41329c1e73da7f35d058efeb680e36d5b6b5341572392e5bd22b7c76625ca870fe9ada487de3739bb60722f58a8a09bcd4d6d050168cb488772d5e3b3a1147715ad3645eaec0561aa2ad6df3974ea54ab9028f318ee97c2991493f74df1d35e148303267cfc1b16dfbfb0d9c686befb0dbed8cd51e08876caccd617769baa1a97a255b9c191a74f9bc14acee78fe71bfcfd6dbd9f6ee2baf983c3e7ad7edb771e9193d1fadc4fb19bc522e270e0f0d45738aa0111363932e972b914a29baaa6be2ee9d2fea9a9a2d9431dcdae4f6598ad9f2cc5424105404d1eb76cba2e4703b75435ffc891bff80028e8000100002400008000120000480001000026f8f00f2f6140b4a05026f5d0096784416605930544dd611594515c51065b82ca33bfac7f39aa5a8594b124a5b036d3debb3552bc336b4b7ad81e8c6aa626badafa7519457d8fd47b3b932359516ad9186682e27083264d0d159796046df365656bd73e282652aadc412e2e4443c999da108f9d69bfff5d69bbf959e1d5dbda2bbbb35323370a8c96179ef2517d6fa5c2e9bf5e23517791c7e4886bd0d6d161cdaf1c263507ed61c6d70e3a73eb9ffe0fe5ffdeaa72bba3defecd62f6a295ed6c7fee757affaed9d37d5fad3bbb73e1c1b3beac02a83cf3d3a7ff5656c5d4f494420949111e7789c3f3c32a1c0b039854157354d5154595155f348330f345979eb8220271000024000080001200004800010000240e0cf1600fd027f361548f8b712d0145953544831971dd421f319bdae29862ee906e9f0a77968eb918978495fbae222bb2b9817f49ad60583c766ffe7aedf4ec5b89ac63992aeda5d4e41c383f59d2e5fbda463098e73844215d92c8f2916f56323f1585e356c212cdc94d630d61d9c9c4ef1226cee3b389d29e90abc7bfbaedb6fbf9d2ff26e9ba3a9b616318cba488dd3ee5ad0bd28126e34e7126cbce28ad8ec1454adf4ad5cf26f377f75d78e17feeb27df9e5b67ab7757dbbd95882559eb16363f738f26c56ef9d63f3536d6b1ac2d3a3c04d958bbcd55df3237cd890aca861bda975c7091cd15943548372b6af60ce827c612982fb38fc0ec103921005e400008000120000480001000024000080081b75f00ac2ff0f61b832bbc4901abddc5103824ebe6387e8f95b7322aeb22210b5ed2208baf3ec5c36db54d5353a9b98db5c3e3c37cbaecb6ba2c089a2e09a36323285af50502fd43533b0f8e772cbc80f57b1dacedf8d8f1e4c8c4c8a1bb3e7eddb5cd91d0e1e804cad2450822298644e0e84c12c1ebda175ef5a59e0f662b52a190dbbd7ddbf63dc79205e5a1679e0d878376c6e5710763f1cce2a52bb2f9c2ecf4444d24b47261f70dd77d70efae2dbfb9e3c7d76d5c197154c3d62ac2659c4eb424a40d4cdfba755fb8b771e5fa2bfb472555c3a172317a741fe1f240a885f1850f0c1d6d6d6c442997a4a2068a315696612d169b9561189bd56a65ac2884be4936901c0800012000048000100002400008000120f0560440bfc05b510379de56816c3ee7b4b2e56c8942f15c212b1148862b908ac6c258b652d6106acf9151717626cbf19b5e7cfec2756bf7edd8e3f5fb8ec766f5e9a9b9dd6d599d9fc82a6b2f7d37429038836ddaf1cc433ff9e9aa6b6ff0b4ccbbe3de07bff62fffdc5257776074c4d336b75215ada81ea8eb686ae8c65d2d244ef850b4164397acb938339b89748c1f193a309e8a73d929f3517f7bc7fc7c3697c86524a5b462f1826b365e7eecd8b1fff9ef5f5cb8bcaf35c44e0c6dbb68e3b2c4886eb36082393281764c440b792ac6951d33892c63f79aa3060af95ca5c0bde786cfecd9b3edc8d3f719ab35ab2d429b131844912f71f97c9ecb17ca14c397ca388494cc1d0dc00b0800012000048000100002400008000120f0f60b807e81b7df185ce14d0a04225e8739ac1f66bcc1401ed5ebe674258d119275515667fef8ec9e037b2eb9e4f2e695add315dedebc547536d26de274310b7983eded9d28c3f68fc6e29c6d72fb48397d6c7c645ff6c8b6ce8def66bd917c59aa59eaffc68ffeebb3d75dd3198e8c45a728bb4b46198bafd1e3f0cd96b8ac5ac4ac048c981317609276b8dabadfb1a057d52408438f0e0e653385e6e6c69517afd0cbf9cb562f1f1f3afcec738f5a19442a240f6c3fea764b8252527581216d7285abf5b74d25e3acb5e1c0134761cc9fc997e6f574e604315f2cc56289125786cc788a954a710ceb6c715094dfe9ae0d842845f7b9dc88aa07fd5ec5e779936c20391000024000080001200004800010000240e0ad08807e81b7a206f2bcad02a94c2c5e1189129ce6cab68ec68d1ff974d36c7c305f4228dbda55eb56afbe04a7d88a28d5363a2e5ce78a46a702586df7923eb18a143969369ea7480f4d970eefdb63850bf3db5a3a365e58dbd27578a26c0bdaf6ec78a677eedcb1a3c73ffca1eb2c1393a4dd3d1d8f87c3351e67c02157c3b0a0a25aba9c4fe52be6aa7fe648fe6a413931d11f93020dcd9d7d4ea852e22686172d98672e34383b7e0c31a0fa7070c3b24e449ec2a9240da11aaf4f8ea72d74a42adbcd890f9c4899eb1d2a9404d124af2ba2ae1a6275ffee5d24064308c55715868131dd1c2dc0e552a9599c4ccec45045cf67d392c0178bc577bcadcaa0702000048000100002400008000120000480c04901d02f00be08679c80cb6f71d54518811231ab7be12ab477715dabf1dd6fdcbcf3d7bf970c1832e0325f25180b86611df54d377df2fa799d7366e3896f7dedfbe5aa5128163ffce1f77d607defe3b7ffcb2f7efa0babc5f6bdeffdc878eec8e225bd5ffbf24dd73c7efbd7afffda734feffacc27bfa2a1e855ef79d79ad58b75047ee8774fbfb87dab8d45375e73754fdbdc47c6b639dd169ed7b9aaecf6b8042e47a1487e76b63233ba7ede1c3ba2c509b467c9326bdf92e9bd5bb213c39d7504696023db0e3a1847b6ac75742dc5435d07ab03cfec3ed6dad1be7f708c75d18405e55259c89085744c252992b11bba361b9d2251d869b38642017330828524421e1f45202173cf4205ec4770c67d3341404000080001200004800010000240e09c1400fd02e764b39edd95cac7d3e683f6e8f1c4951ff97406c2fa0f47f725b2d13c1f0ad7c19a6aeeeb47d08c66600602e773a95fdf7be7c73e74a5c3e2f0306ebfd35171161a031e3137c6c2a50b572eb9f7bec75cce702a11773338a5a9172d9c7bfcc0eeaeaeae871edb542cf0c347c6375cb84c50f5a181fef19191cf7ffed37d7d3df73cb999a4588e2bab3041d96c79aec840085cae4062eac2de4eb7a1a6a7c7e2d3d382dbcb27524c556044a57fe711ab4d406035211455dcaa0fc42344ebc2a5174ab68442f813d9b437e05a7fe945f73df0206a207d73ba27c6268627c7c47241af165c16b450c8c6623112c55233339a24e65319be5ce1386efdd9dd8c207a20000480001000024000080001200004ce0e01f4e69b6f3e3b2205519e3702a9879ea05927ec73b5ad5977d5973e4ffa1a109b3b55c85fbefe82c4ec386ba15104e9eb5beaf1fb60075e918b0fdcf9cb8b57ad2f72684fdf52bfdfe5f132b05eb6d0e4dab5971e393252d7d445b29635eb2e206964db96a7bff0857fea58bc64fea2e59a6e2e6588a573a5cddb764cc5631ffcf8c7de79cdaa5f3db92d210894c325989b051248c5100c437142aa109bb8b8afdd22172983ef993fb722c83846389cce179f7dda2e572d88319b49e8844d85bd08e13d7a78309bafb6cf5bb4ffd0e09e9dbb0c4d5bb0a04b566543d79dac25e472ce9fdb128b4f7858e4db5fbdc90509482a25e6f34d8d0d388206fc010436c29190c36e6bfff087cf9b36071505024000080001200004800010000240e0ef2600c60bfcdde8c1855f4f60767246b55049123a38352a4050a0a95645a19eaef9348aefdaba4dd33408212ed9f08e8a2276f635df73cfedcd2d2de64682ad6d0dcd1d6d05ceca5834b9a45c7ffd4727a3e37d0b17140583a6a105735b373ffd785da4cee1f5fcecb65bbff2cd1f36b73619102548a2cde65ad4ddbd7851df632f8c6578d5eaf2a58b05867408026fae2368c70c35197fdfda45426612e2f381a033397c647ec4678e2698998acd6f6c640ab3344951aa982b299a61d0945157d36e61ec07b66cf562f8552b174a1022c20aa18975ad0dc7878691f814979d59dd526bb32099a181beeece9dd95c369d4e59aca94402858c7c2663286aa552793d1f701e0800012000048000100002400008000120f0571400fd027f454c50d45f472058e3e160c3d1d438954ec8b004914a7b63a85414dc0cbdf9c9cdbaaa68883e30316eeef0973d36bce391c7fef18b9fa57c6c73a7dfe7c7599787cb67ea9bbbcc59fa65b18a3188ac17e7357be88ab0a8be25e7b15f7ac915f7fdef6f1f7ee8be4b2e7abfcde635306c766ab8b3bd9d9b89f61f3a4a85ebe4aac692764dc7ad9879e52a969a7a576f5b2b218df1050745905c195304499e31cbed651c0bd65d846a55ab052d093973db0214b789b28ae93a4a904543272c56a12c912455152414456145dbb0ac1752211d86545833208580359f46a9c54a43a8261208c2925a63ee4a00a376abcdfcf3d7d104a5000120000480001000024000080001200004fea400e817f8933ce0c3bf8740395f4aca52fddceeecf41463a86e3ec32446a47c759697c765c5ce30b2267674b5d735ce19a630285f5852d7602462703e138d8d373734378502f978c21bf48b92c815f3735b9aa41ce744c47ff8d23fb5f67433080e097cabcb3abfde4d5b1d62956fb2d525468f2838d1d710ee8fa5109b55d65573540203c964317979676b76d7e61ffce07b4d0dcdd552d14642d94cb2aea1369b36bb09dc424560ec16499504b9cc582c4541f47afcb958cc6eb7a64a795fc09f8da7fc1e7f365374d89c4aa96cbef3554981cc5109965c3ee3b27b333333bd0d0d4281cb11292e974f229819f3899e0759fe7bd8836b0201200004800010000240000800012070de09807e81f3aec9cffc0a07ad21023767ef47461e7afc628703d9fcd4c39b9fbfe62337bcb0f3e0a1e39352a178fd7baeade4a2e9c9ba4073e71c5f64ae0c7d79dd25f5bddd6bd6afcf8c4d8d653291a0678ca1075349dceef01b9805472a8af0deab37ec1f9eb8ffcedb3eb86acde7365e72646c7f11321c24544c27d6f42efcfab7bf7bf527fe1166f5817c96b63a710c35b2a9ab1776f187b68f3ff1c4b55d0b6ac3b5c78f8ff8c3ae9cdd1674bb8b18eb7405b962d9425266bf004cc1146b998da56a82a1bc6e2e13e09acd90e14864c6206a228d33642ee80b967339a7d359962445179c0e32c920e148f324863587eb133a5a13acc15423180c9aab0c785dce52a974e6b714881008000120000480001000024000080081734000f40b9c038d78ae55a1c455cb84ea23d842b6d0e37705ab953e1f1b81f9355dcd1e2be3a2c816068ebdf0f82842d8565c584b63fac850afcdd23b67cee88b2f7a50fcf8e051ac6f8184c2e96c81f5783ef7d52f5ffff18f6c78f73b4b95cc2f6ffb5197ddf9ad0f5c7bdb3fffe358a5148cf8c4d929cc302efa8f9f7dfeea6b3ef1d1f77ee3bf7e8961f4dee3231845bd63f182a3bf7fe0f06fefd9d0de51181f2f8b9a9ece6884216572e6c203952c87cba826c8825184115d45541935b72d5054841153590986e5748e37503d9513615a4e72a28e28853cc71554d8dc9440e38aa25ae64a3a0d95453e6f4e7dc8332463be23305628164892e445736905f0020240000800012000048000100002400008bced02a05fe06d27061778b30206a13b03ae782e5d86c45a5f9844b039ddf3aa9adc376f414fef1298af085313fe80aba2a88f3cf6608b0572c8d9de7a4fbdcbfad443fb2edef80e8f10a2519d1378fd587fefca1581051dcbc2dea9b189af7efd963a1cfad7ebaee2b66f5acc62d75c7655cfd2259beeb8dda86ad1e7f6ce5fbf7e436beb7ddffad2f5fff63d2a803737d6148676e6f6ee5c5c534f481a4db20c6b2108cc8291e62203106b83358434a70628451c52480c5135052530cc425114835aec30eb802b658c76d0b46c2e84c85202432084398701856503857082c0494881698c8521c1ec83606c36d26271f9fcb485563419826118017f37dfec1707a407024000080001200004800010000240e0ad08206f2513c80304de4e015e57ac3ea7089bf7c790bbbd65f9bbae5ef49e0f46ba7a18a717a758d6e5aa9ddb4107fd054dd93374d4ee76212e47f3e2be58313f3833519485b645bd9ed6d647366f3148a2aeb97ee5da0b92b9dcc7ffe10be6fafe575cbe21e4f741183e677e4f343efbec138fadea5d5c6773511c0f41c8b23973db3deebbbff985852c94d9bdf9a9fffe69b3c3ae96ca2c6b53cca10086819a6b0112a4a4c2661f8088e00a424a06ccd89c28496938815aaca2ae9bf7f4e61a8322468828add33609c20c8292494cc2101e52112ba9e2485551759ce03588b0da34145711a46aa80a067382b95022231b064e521881bf9dc6a06c2000048000100002400008000120000480c0ff09806792e0ab70c609c8e6e377123f747c3007419bb3f1c2ae9da8a6121465a036cd8031c25c6130fe8e0d6b657760eaa92d03bc3268f3afffd00d0f7de3e6e31094af092cbff25d0f3fbffdf16cee7dcb56a69bdaeb6a42f77cefd691a2b470de050d9dcb245760c115d74f8d1efbe2fbae08dbd8d6cf7e51a109542c54f6bdd8d1b1a07f6cb2d7e178e43bb75410b2d9e15378c9bc799f2ee412b2c8d81c13b371cc61dee133394e94352453ae6a1a9ae12459110412c265b5a42a90a6e4451eaa944b069e1190a20ae3bc9c8490b222cbba58d1485e35340de675220f4398502923e69e0746c5d07262355de11c8a9757a4aa2c49aa76c6350c080808000120000480001000024000080081735100f40b9c8bad7a96d70941e1799dedbf3eb00b85a0a7366f7962f3160682ccbb64e364bdccf70bd7acbda2b6714147cf4d88ebe1c79efad5f6c3dec56be3a82530b7670ca613ac67db542a0fb33f7df4393950ab88d2439bf77a6ae7c48bf2d76efd9f0fbee72a31d21999d3b3fc9a0f1ddafa42cd8597edc83f72e0f917edd9eac61b6f6c5cb07078dbef972f5d34f7c22b53f98a07a7468786162cea7145c2831333f3afc1714537a3c2685492249ab01762c9913dbb1c0c5adbdbe9f0f9aa05734c80d6290b16a753862812a7e47c9e62e8922ec3046cdefe238aaccb8685b5591c3673d040315314ab92398da0be5aa5697c2906eb0a2fa4d299230378367f963723081f08000120000480001000024000080081b34300368c97eeb6ce8e704194e783c00f5b9b16afbf18aea98d73655d541d561b5f299a33f27548a34892c0485e87e7adbf34dcb3603cab5ef7b14f4d47670451f4867c16ab45ac9479bebc7cf94af366bba5a5a9aea6f667dfff61a9582e56448222cda9099cb90d60a9b46c59dfc56b96ce9bd371e9452b6fffc9830fddf5a8f9c8ff735ff9a4cfaedefe6f9ffaf0c76f9840225ffff67f7ee9c6ebbadb5b3ae6cedf71a8ffb35fbf99b0bb74c55c600043309e26295da4de7bf9e52bbaea09129ebb76e5fffbee4f5e78fcf9efffc77f367734dff00f9fded1df6fb1d88da242e28400cb30a2b8181292cab77cf58b6b36ace709f23bdfbbf5f1df3c062b980e53044369888440d5253d6d9fbc64fd811ffe029e497c60f2c0f9d0dca08e40000800012000048000100002400008fc7d05c07881bfaf3fb8fa69049a42117e36999d8eb12eafae403ac77399b8cfefcae75281507070723a327fe1cf6ebbe3fd5ff8daa6c3231249cf59d4a7ca8aac68a22ca176a2b1a96d6c36317ffe7c261016091ab1b9ea02e1a02096cdd9fb56962e579aac8e5c2e95cc95a958861c291de475aea69e25b0df1f19fcf035ebead76cd06be7e4921814686c58b97cffd061c698bf673a41d7b754540386888250b6b1b682a2c104fbdb7d873b57cc2f578ab400ed4f720d2b57156862ebc870a4a7b7cbe190358ce720519023568ca661a15268087ae8dae66319ee48bebc37536dbce0521bcec0185ee0b208aa544b89f6be5e82b1d8694ba8b6ee3434e0141000024000080001200004800010000240e0af2d00fa05fedaa2a0bcbf58a01c2f96925c2c9b0b466af2f9bcc3ed48a467f47020938af37e1f11a999c9247f71d7af17bfef434363232bd6ae70d8b0fffef14f4811aeab6db8e1531fdfb273fbbc35cbb7eedaf5e47f6d5bba74697d67e39cfabadb7ef8031d328a9af2997ffed2e8584af67b535cf627fff49fbfd97438cd157bd7cc41617d6878f450a2f0b5db1ffe1cd54cb24d2b17ad8aa5139ff9cc8dbf7b664f22cbad59b98a2b149f7ffa294de65319e5831ffd6436a75b48f2e0d1633ff8f10fbff7cb076632858baf5d72db1ddf8b4f4c5effc18fd45817445ae6ed1a9ad9b577cfb5efb8c8694504a96828e2173efb25dce6b5772d8650cf55efbaa2929c460c8e8083160a9d5b1322b8fcd0a38f9767a7628572df5f2c090a000240000800012000048000100002400008bca100e81778432290e06f2d10f207ac1636e4707bbdde69030a86827e1c71b95c2584519d565b67f7cf9e7c0aa3d950b84e850edb3dae422116a9afa54bb0d7e5357713b43b6da1706068e008e97059add6969a1aca30ac5e97c3e1f018908ee2a19a7a5daa0c1d18b3f87c38414d4c4daedf70652814d83f3038912c5ffcde4f9181b98554b5a9b97d78f4a8b3bece11ae99c9653eb066d5efefbb6776f8308a631a852d5bb2e89127f7cceb5e30b4f7d9606da3a823169bcd6125a78ff5ef7d71dbdee79e9320eab67b1e4d98631cc201078d5f7fd5e57c35871284b9ade19cc56b091e7687229bb7efbce3bbdfb07929814b2ceaecb8fbd61f7099ccd4f1f1f93561da2efcadddc1f580001000024000080001200004800010382f0540bfc079d9ec6776a5c713131482a91c6ff0e56232894b62319bd5337c959779a7a275c283d3a9a6d679284235d4b77192d2b3e4a2154b2ff1e12c8ee3cfeedd1cae6b7cfaa967a3fb0ffdbf9fdf8e5396125ff5d4d77dff8e7b1014276862f39683a25c5eb5b46febe3f774b4b4c0badcde524342b2cce5d72d59154f0ba19a79b192666e3ad8dcdd75ef2fee0f05223949a89bd74159f1a58bbbe7843c3ffcd1adf69a3065a5fd2157b826f0e05d436ded732092eceded6d747bdf7dc1ea6b17ad78f889a70f4c27582f8ba508978d6649fcf3377c82c6e45d870f3db279efbacb2e4ff38c5891a2a991cb6eb84155551b43b29072e7a35b42a826b18efdfb0e0761a4f7cc6e26101d10000240000800012000048000100002e78600e8173837daf19caa456d5dc8ec1730b8aad7e9c270c8e3f23a18d66e77e5f395aadf6b8d84e399d87b576fb0960af35d96385fd9ffdc93088452926ea3e9d5172cf57add0155799c26d7b6b6a0347d383abe7fdb0b2f547954479c847dc39a8be99a5a2ba2178e8fae5cb1cc98185c53e78792333ff8e55db77cfb9753b1d2b1c9691dc63a3bdb3d2c121d3cba605e5b4451e7516444178a5a39d81044a44a9bdd1612ab5d0c1151f9e2b1a3cb5b9be8c9e3e15231a4c9cd2e97ae4384aefa48c82a70ff9fbd7b018ca2ca13857ffafdaa7e77920e791048801883890a91d1a83c14b2aba00bec0a8c8bdc1d60e70abb0bcc5ce0db1567079cef137725ce7e309f12e67e3823046789a3449dc401a24e5008e0242346221dcc9374924e3fab5fd55d5df75fdde92490eef01014e45f77b7535d7d1efff3ab62afe7d4a95379123645ab3105ddf96ab9342298307be63b876ba552df93f7cfe9eeed57a8739c5e8750a675f5f66998a0d4636ffaf4f0df4dbb9bf5b332bbf37b7552b13128800228800228800228800228800237ab008e0bdcac67e6368ecbdad1a155523eb7cb1bf4f4f4f5d36c801ea08d4ca0bbdf6948a7dcb6f3324266993575ffcf73cd1de71f7be6e9fff5afff42e075054176fbbffeacf377165541a1c46e9d3121cdfac9e1231f7df837abffc7e6fff705bb971678032ffff366aae94f877effcebd25f7283abfbe5bf6c089ed5b52c699850513bef8f08396dab7e1d5002a98d36fed8b28dded5fb8fabff86cda03f71efea77fee6ffbbaf07ffc8dd4e7b0b0ac9c04e799f41ffd5fffdad3e7ca9effd8b8eed6bc9eaf3ffec7fd1373c78b52fffeccb18f14b06ea2bbbf2445d77be877678e7e3abdf81ee1f422cb7b6f4568dfc38be7179865af6cfbf1430fbc9f6a480b853c4428080b9433ee28565b1dc7de79fbb1b90f729d3df6d676ce89ef29bc8dff0d60d351000550000550000550000550e05b14c071816f111babba328189e9e3e0890087908ccbcc102be529a6b47e51afde944a0b859979e33fb176aa0891bb6c7a67ef0c83dcd8dff9c6733ff5114ec28634aceb8f95bf174eff4193a367bc84b31e3ba2ecfc9afee2e40f26a4fda5c3ebf20433fdfd5ffdfed4389fdfe0ead312ff048ed3735e7d8436a61a29424efdf1d0f8f48c53f51f89b8c89b6fed2fbebb6892583cceeff7dbfaa66ad59342c187e63e72acd9421e79f45e99cce6b38e332a7a4fd59b42aedcb03fc5ac4f37a8d4b43b43af2329266b8fb56c5ca6b9cf5a120edccd7ad3bcb6a969fa7e81c076def29b5ffcfc47eb7fd277f49dde1091110147041ec24e99364711e0d2fb2f4c920b95121252090dc6ac2bd3c25428800228800228800228800228800228f08d04705ce01bf161e61b2160bf6095cbe5b4dbd54704369733c4b04e9b8be5c45dd6de7436dcd1d5192624eca58bf3f23c3e97d2e9cad7ea825c8415b121b76bf1fdd34244f0ee67a70beeccbf47a39c3421c314f1fffb8fffa1fcedff3efafb8f840eeb0ff232c27265fdf1e3298418bdbe3b27647707ddf797dcfde8cc078e7ef8c7e7fe6ef9dd771528fc0c2b55c30b112ca1a0d6e634eb95669ddade62b970aecda8ce589557e2e8f8ca9495dea79254bef396512a09dbfb0a26a628f494adbbcbde6f0fabf51c21a620b94ba2ca9d90ad244197e5f33e6b7bc63df79bb3b327b3b27f29b85706830242793848fcb437ec769bed369d446a36cad4a1fee6735f05fdf6804f78236cb14c14400114400114400114400114400114b84400c7052e01c1afdfbd80516752c8a5728158ab810eb6406330105648198d069693aad5a7ce349bc7a9f31f2c9d94319e8839c286592612e6c29cc8e773b88899fdedefde3ee7b62f28983c6dfa74afb5cf25129d6debecedeaf11232e59ee2c97a5397d77bfac01b268d297dc2f84926a5a6a7bbfd54d382071e3ef2e1b14f9a4efe64e683056999030172fc7fffff468962dca4f1534a4b8411d619084a2514e361254438a178ead71eeb0557ff673ee6c171a6293fb8d718666d36a7d7edcd49c9f832108277099827e61ac76772615a22257e97a3e8ee62477ada2f5edbfdd4f469b34a1e4c51a97c1eaf50a416445849d0ebecee649cae8c6ce384ec8c96737f494d31f83deeeffe4c6004288002288002288002288002288002b781008e0bdc0627f9566ba29bf6b2a188dfe5970ba57eb7572451b83cdeb0dced6298a0487aceea704ac8ea8a8a883f48c422b1582ae60412c2ca39ffd34ffddd9c47ca3ef8f59e2f0929ffe07d8d967a64eabd6d9ffe59316edc175f7413a5ece59a233f7df6d92e2179db6633ca85eff5b6fdcbb4c7cc4add6f2bdec87df0a1926925bf3fd520a1b87f5db74ea84e79eb3fbed61be4fb5a4ecacf89fc7e4622d72894aa08cb4a85c2b3679a56aeffa7882fed1cf9ef34b5fcfddecea71f9e932dd3bdf7da6f53efb8e30f67ff1224e464d873675ec6a41f14106bf71ffeeb571352337ff7f127472f744df2dc298f7022bf3bc03142814820e01cae0b33eebee30e9da9bff5fc27c74e7aad4eb5392de8676eb5f386f1a2000aa0000aa0000aa0000aa0000adc9202382e704b9eb6ef77d04a8d5e29938a4384a234ba708852a87cca20a5521278d320e39f9a6eee0cfafabbba8402a99f0949842229210a2eb2fe1f9e11d0ecc775f57abddeacb10ef4f48558c19e8adf646bd2eec8c8cb10297b829e939f1ce7d6fcd3894f4ec809f107228140e09df73f60db2e6802115320bcea89bff9d3a9868f4e9f5d1364bcfe3e3b47dc0381b69a4f411b563a84290011420484c0ea064bfe7a76d6b8ac377ff35b11219fb774e5ea5b7a0bef69fce3db3e9bfd81ccb9deda430a42f6bffffe3d1373ce7fe6943a9d7aad2e3b35dd7eac5142c83b476baa8fd6b0d153080f4440097f557ce7acfba69f6a6a6c397e2acb6834a9743281d8a0d27dbfcf32b60e0550000550000550000550000550e0261110701c3c0a8d1b0adc4402b5f7fc402593f91d4e934e6bb7dbf44683d56ed39a0c2e87fbaefb67d8c444a0d3fa7d0c8c1a08c2427124a2100968db00e7f11f3fd170f7ac878272892ac5e4f5d02962c5b13f7c90a93664dd31c99922a523a154b9a2b7db2a9428b55aad2012a244e2131fd6992472cee6906828d1a4891993f302fd368ee5844a0d23644514eb0bf824628af6f80d0613170907fdb4921384acf6ee9ebe8c69c5ee608865421a01d7fb45b39c0b777577ff60ee1c9aa2fa9c6e8a08b3d5da236fbe796ffe646b575bd6d422b739d7c146542424977042b1c0e3f5ebd529c2503055c27ef8de2183820afb02e3d2c6592ff4180c069fcf37b3e9d44d74563014144001144001144001144001144081efa900ce17f89e9ed85bb9595c24148988181281ffe1380107f7d6d98838cc8a9860e7e74d4e9f574a51ae4000e60b2804128fd3999d91666def32aa8c664ee83b6769b376a6668eeb1f70f4cbb52962894ec89dad3fca9a64ac4cd0ef62d472f580dd2dcdc93ddfdc9c969622f5789426a997634d4aa5e5f429b1d5ea1e704aa54a46280a0b399132d43f604b4f9bd8d3d3eb4fd5f5f6f44c9c98fbd5d97319320debf13a22e17e8f57af31f67a3c1ced90eb64268db4f3cbcf7b5cf4b8f4ac0bdddd84d267283461bb27ecf1076cf6810e874c6f70fa60394556a152c27b182394b1afbdd3a996e8c344c309ad34cd9a422c1781f5124804a626e08602288002288002288002288002288002375c00c7056e38315670b5021a19275108fc61b150259779954a19a592f91572b58f62341a0d43d346994c29825ebb48215528a5ac48caca4d2a953e85714895728149233128184e1ed6aa25615f484698348d9453087d618695c8f41aad821308dcce3bd333d46aea9ccf66d45121a75f2e9219a522030c3f08398d461922c2fefefe1c4d2a25607461b95828334b849442a2f484d2a5fa8c14935c3620128523d208bcbc4028148b750aa124ac0c7226a99c0dd1da00c38a84426158a1552b75062a1424c188920e6a156251c81511b17a9194637c1a4613914a33cd59671d2ebd3e252294786116438a4e221209c4f86ff36a2f1c4c8f0228800228800228800228800228702d02d8f7b81635cc734305fc2e572814a2692ff4d57d342d17cbbc342d914b6c369b5ea7667c7ec6edf5f969998a1a187084d8b044acf5badd0302bbdd61170994119f3b428b822e7b80957a3d3eb916b2c0bb083836140e8565ee1009fabd129962a09f16980dc230dbdfd31d62388fdb4902014faf9584459e81fe301149c3e1b0c3e5ef7328054a6757779636cbd3d3ab4857b33e5f7fafd513702b45aab0d7cf0a054126c009bc724accd0bea0941678fd81fe01c6eb508ac5fdbdfd24c47abd7e254c6e0878037d5eb19c09b2013a100e390302913a60b7f72b24a160d8e572f5f658b5e34c76e78050ab0ffa614103dc50000550000550000550000550000550e0860be0b8c00d27c60aae5620d5902e9649a522a549a71f08717abd9ae3421a8d9a4452347255c494aaa62891422182771168f45e2f6d541b393a6cd0a995919049afb771c440a584fc22bddee496b8356a2d9426140bb54221bc5680a2288f5b9c62343a44369d4917e0020683d1c139534d1a2117d0e9346e8f57ae524538413018d46934a170d06850719114b9429d923a4eaf55b16cc8a8d74a9c028d564b8b7c0a09249647224a85522e15b80d5a3d1b608d46a348404c1abd38c89a4cba0112828c52214751ca00cbb05c58a150a8c4b44e236753b4e9467dc8eb81c514c24cd0a0d32b040258a7d027f35dad1ba647011440011440011440011440011440816b10c071816b40c32c3756c06aed934aa5344d9360686060201266e09309051c8e015873d06eb77bbd3e866144fcc080d8477b09131ee8e9e53f1d76c230f0203f1716d8fa6d91100737e1c34106d6f0839430addfeff7327e9fc3e16143a181fe3e86656c7dbd9150d86e1f101276c0668362a15ea5d71be1088c0bb0c1003c4d008ffbc3540598dadf0f6546b8684801bbcb09f30920b154ee665916d6ef84ae3e54070b22d8fafa3896852cb0aaa7ddd62f60c37c21e110fc0aa3125045844062b9dbedf67b7df67e9b4c24b4f7f54a4402088923acc3e108fb43de00ce17b8b19719968e02288002288002288002288002281013c07101bc126e3a81ac8cccd8b8002ccbaf942be053a550ea743a4aa9484b4b83fd58ef1afaf9d0dbf77abd46831ec608e0163d2ce6673498e44a8531254d2693c14b0720b1065e5ee0f74302d8605c40ad56ab143424564a252693492e15c3be2a5ab25422815af87101a532c272302e00792197c9609488c466b359241042301289043e611440ab37f2e302526924ba412ed8a04c89400865ca24d294941499440c47a064c8a2d56854d171011844902bf971013e42b9625cfa381862e0cb8756a4a640c91aad1e62bee94e0c06840228800228800228800228800228f07d14c07181efe359bdc5dbd4dede0ebd7ae872c30637e7e113e608783c1e786721f4d5617fe4b8800f9eddf7787a7a7afcb4d7e6b0fb689f6d60c0ef0ff6f6f743571c6ed14347dfeb1f9e2fa051abed036e184db0dbfa601e417f7f2fcc38b03b06a064b8c30fc7a13ae8de73117ebe007cedb3f50761b980fe7ee8baf7f6f642160800eef33b5c4e9f2fe086850f2492d87c01c805d53181607f6f6f201018e8e7671fd86c7d7cc9fdfd70049a108b9c85a70e540a97db0d47a0641221dddddd5008940f59069c0eda0365fba7dee2e711c3470114400114400114400114400114b82504705ce096384db75790e3cce9b17101e8d8c35d77f8944b657abd5e26e56fdacb6532954a05fd67b8bb1e9b2f006b0a0010dca297c86546a3492295a6a4996377f52125dc938f3d47201008fc01af9652c38a0090582e16f1f7f6454213eccba43013410a2f358ccf17e038120806212f5461843902e2e87c01213f5f00628360e0aebec160527b87c705e4fc74017ebe804820884d3180f90212b1909f2f201441464aa154aaf9e708a20f1dc8f9190750be48644e4b63824108002234a5a6402bb41a9c2f707b5df3d85a14400114400114400114400114f80e05705ce03bc4c7aa130bc02d74e87bc3bd74b8850ef7f0e1463ddca2873714d81d367876e092f902304d806342fdbd7d9130cbaf2fc072b0be002142b8cf0f3df0e80dfc80c7eb85ee3df4bae14d047eb5d7edf2c1c4ff015b3ff4cffbfbfa222c3cd26f875ffbadbd419fdfed8dce1788ae2fe0f7f9fafafb43fc6d7f1b2480fbf910064c6180230ea79361c21024841a8ec00c80486cbe40241c8660e0dd079005e2b70ff4c3e7405f7ff40d0b34e5f3c14e988bc4d61780c905904c2c1443c950beb5b797cfe274307ec68bcf1124be3af0280aa0000aa0000aa0000aa0000aa0c07516c07181eb0c8ac57d7301b81b0f0fed434f1eeede73611696e8276c0496e81770ac51a7174460557ffeaefbe0fa0212292483a7f12117ace707fba1080bfb309a00b7e861d600dc93873bf3501aa40ff8f8b509c4428f41afe7c22128391c0a426241240225435d905d2ee76ffcc37c013fc3cf1780b18354a349c811f8e4833118a01cc8c287a7e5e70e0cad2f00ab1bc041988940221ccc171012013f1f01de4a00330822849f682091c6228fad3b281589f9f2c3ac3925159e3280c90530ba009f2278efa256afc271816f7e256109288002288002288002288002288002572080e30257808449be5d0198f60fbd7af8842e3a3ce10f7d6ff884ee371c896dd0331f1a1780234aa934e0837506bcb0528042a1e4d3d0f0cd0b83021e971b12c381f8b880179a0283087c9af806b5c02ea487950520197cc2cd7f1817807501e05105f8aa90f28b1dc09da1659d0000400049444154d400d8200cafdb134b26124ae0b8542e839bfc307c009f90809fe9e072c33a85b0ac20241efa842c50054c0a883d471089b0f0150e42d59006ca742b951eb71bb2bb9d2e814004c7bf5d75ac0d0550000550000550000550000550e036158037a971b769d3b1d92880022880022880022880022880022880022870db0b086f7b01044001144001144001144001144001144001144081db5700c7056edf738f2d47011440011440011440011440011440011440011c17c06b00055000055000055000055000055000055000056e5f011c17b87dcf3db61c05500005500005500005500005500005500005705c00af0114400114400114400114400114400114400114b87d05705ce0f63df7d87214400114400114400114400114400114400114c07101bc0650000550000550000550000550000550000550e0f615c07181dbf7dc63cb5100055000055000055000055000055000055000c705f01a4001144001144001144001144001144001144081db5700c7056edf738f2d47011440011440011440011440011440011440011c17c06b00055000055000055000055000055000055000056e5f011c17b87dcf3db61c05500005500005500005500005500005500005705c00af0114400114400114400114400114400114400114b87d05705ce0f63df7d87214400114400114400114400114400114400114c07101bc0650000550000550000550000550000550000550e0f615c07181dbf7dc63cb5100055000055000055000055000055000055000c705f01a4001144001144001144001144001144001144081db5700c7056edf738f2d47011440011440011440011440011440011440011c17c06b00055000055000055000055000055000055000056e5f011c17b87dcf3db61c05500005500005500005500005500005500005705c00af0114400114400114400114400114400114400114b87d05705ce0f63df7376fcb99e675b362dbba6666284cfae0bab9fcd1e5bb694218cbc1588addcdf06dac8db1ec8fa5dc9f28256db75a60ebb08f55c475fdeddbaff1ba868f85a1000aa0000aa0000aa0000aa0000a7cdf04705ce0fb7646bf17ed61e2ddf4a6753bea875a64b787f8fde83800435b63c7e9e18183a18417ed30cce0c0813d514acbfe6757c1b672ff6546172e2af21b7df9f66bfc46e16266144001144001144001144001144081efbb80f8fbde406cdf2d29208d471daaddb27f71edb23cfe00153fc8ef17af78bda28c6188216fe4e1112946ed4aa543a50eff46190c843888d990e0b7e154d773efdbaff17a468f65a1000aa0000aa0000aa0000aa0000a7cef04705ce07b774abf770daa787667d9071ba0fb7ed1666ddebbf320dce42fdbf0c2ec6ce8d4db6b766cdd51dd04330ab2a6cf5f90c7d4375b6969c10b2fad1e1a36b036d6ecd8bdb7bac9418864fad2e79f5f9dbd77e38e064b2b5f6ce7c167d735142cd8b0a1a063e3730719ca50baa0d8b27f676d6b8848f4f337bcb4bac0ba75ddd6938e9044a22f5db179f3b2127e1c81eed8bf73e7c1864687039249b2b24b17af5dbda0d80cbfd89b6b76eed85fdfd119e20bc82a2d5bb176f56c03e9d839bac6d9d9909e4fbefb502b94432445f3566fdeb0d82c258cf5e873cfedb753c51b3697d5efd85a79b2736979f5eae2a106413edc50000550000550000550000550000550e09b0ae0b8c03715c4fc375c2054bdf5e0e257169b474ef5a7ad0d754d27a1ea6c3b333b9b39b872d1ae68071f8e749eacdec5ff029bdd4aafce8bed125257511edf0d9dacdcb235754be3497e1c21ba395a9b1c1dd9f6d586c693ad4d70a4a9a96ef09790a37afbaaeac12f241472d4556ca2cd952fcd6636ce7f66b01ef83514ea6cad2b5f5f47efaa5e6638ba68cd505d24e4e8acabdc566761ea9e371f1a55e386d9d9475f5cb8ad16462b625ba8a976d7d2a396ca0f365356cbc9566855eb9aa555b1df460ac4d3e35f14400114400114400114400114400114f84602b8bec037e2c3cc37542077d19a79597c0d4dbb9e6ba4998be6fa8f782880e9a8191c14c89abfabb26ad796f989a392146dd95559be695eec57cb59eaadeaca2df3a315e8e7575455bdb5ba980c179bbba9bc62dbd2a27851fa55db2b86f33676d08d87628302d3d757d4d5d555972f8da584550c2cf547a3fb9255e5d5f0d3f645d12a4eee6f96168fae916edc1d1b14c89dbfa5aababa62cb7c09640ed5be78a8838c78b641923b6bfefc45a5308b003714400114400114400114400114400114b8ae02385fe0ba726261d7558031146f786155ed3315300960ebd6fda5147499e337f84754d4515f13fd26d9f4d2860298c56fdeb0adbe7e4bddd01df8c1a4f35e78617601450a362cdd5f5bd9491c0d0d842a3153d19e3645990d0698a03f74437edef697ca8a0da478756ee51ab865af9ffffcb2129879b076d1eeda2a0771d437920dababab165badf0b402696c38da50d3301411152b93842ad62f3c3aabacac6445794541415eb44f2f355f5263637d7d2c63411e69869008156b61d3c17a7a73bcc8a2f5efbeb2008704e21cf8170550000550000550000550000550e07a0ae0b8c0f5d4c4b2aeb3809d96662fdb326befb6ba90e364e5d064fe4b6aa107df49909d1d5f84c09c6720a3c605067beb84197c403ffe9d2f6d683c205e34159b38000b1b46b7a1b4fce0010c38f045d86b766edc55d719cf31fcd75cb679d5d1951527215da8b5ae7a571d1f78d6fc6d7b36940ef7ede3350ead86585dbeeda2065ae19d0c83c917ad983d9c71b81edc4301144001144001144001144001144081eb2080e302d701118bb8a102b337bcb4bf6e3ddcb44fb64557f887fe796b7d335dc02fcbc734368c913c5e4cbc67ce7fa706c70ae2bf5dee2f4dceee1e1c14c89abe74f5b2d97994e5d955db07a72830d4e2177e331be612582df5353587eaf8550c3aabb71c5c30f862859135326470e861e9b6f292c128e0d58a0ca1b229129b0771b960f07714400114400114400114400114400114f80602b8bec037c0c3acdf8e0055fcc29659635495573a3bf66be5fa6777d7d4ecdeba7217bf74e0d56c9d0df0fa82f8e4802bcc38780b7ff5f3ab4b8bf34847c3d0730b8d3b97cc9b377fe933bb0d25656b9f7fe5379b0683b70fce6b88961fafd19c0d4f3ef01b43ccc5b0e5198eee786ed3962d3b1b60be006e2880022880022880022880022880022870c30570bec00d27c60aae4160f01e7a3ca779f686a57beb605180c49bb96ccbac9df0ac01dc95afdcbe3d719a1147474e14600607039a362d9daf5f54fe9bc11186e1d497443222efe02f5b162e2fcaa69b5a0787051aea2d8b4b4a48752d21279f99b53037976a6d8dc59dcbaf6e00fdff8b6b7c6bed86793b96d68648d596f85b07a2952f5e5040ecc36b160c07847b28800228800228800228800228800228705d0570bec075e5c4c2ae8f40fcad00c34fd553ab5fdaa48f151e9d6c2f950eae25104d229dfdfc5be59b56cd9b351db6a59bcab72dcae5d34a8acd14bc616070767ebc5032b85800bf54002958bcba68b05c7ed1808b8b85df07ab195a05209ed790bffaa5a5b19ca14e1814c8cacde2df2310ddcca59b77ad9f17fdea181c1490e46eaa78a5201aeb2535c232899bdfaa583414049420c95ab5bd728119eabc34f2c10af00f0aa0000aa0000aa0000aa0000aa0000a5c3f0101c771d7af342c0905be0b016bcddca5304d4052bafe57cf2fc8831501772e5f540537e9f54babdf5a3dd8b7be5c5c701b7fa8f37fb9b4c3bf33342c7a08190d09172888fe08bf52f137140c6784bd4b6ba4693b3f95401a7d31c24529f10b0aa0000aa0000aa0000aa0000aa0000adc38011c17b871b658f2b726d0b175d63375b1daf47a89c3117bd5dfac4d95cf970d3ebdffad858215a1000aa0000aa0000aa0000aa0000aa0c0ad2580cf11dc5ae70ba34d2890fd7cf5aea5b3a2cf0ec4060524b94bb7bd8e830209b1f0200aa0000aa0000aa0000aa0000aa0000a8c14c0f902233570ff96178089fd0cccdb1f5e98e0966f113600055000055000055000055000055000056ea8008e0bdc505e2c1c055000055000055000055000055000055000056e6a017c8ee0a63e3d181c0aa0000aa0000aa0000aa0000aa0000aa0000adc50011c17b8a1bc58380aa0000aa0000aa0000aa0000aa0000aa0000adcd402382e70539f1e0c0e055000055000055000055000055000055000056ea8008e0bdc505e2c1c055000055000055000055000055000055000056e6a011c17b8a94f0f068702288002288002288002288002288002288002375400c7056e282f168e0228800228800228800228800228800228800237b5008e0bdcd4a7078343011440011440011440011440011440011440811b2a80e3023794170b47011440011440011440011440011440011440819b5a00c7056eead383c1a1000aa0000aa0000aa0000aa0000aa0000aa0c00d15c071811bca8b85a3000aa0000aa0000aa0000aa0000aa0000aa0c04d2d20bea9a3c3e06e4f017be3cedd358c54ca48f356af5d608821d096dd3b0fd2709064afd8b0d89c4c86a169464a51d264bf8f7ddc5abf7ff7d18ed92b3694662729e19acb67acfb77eeb592c1621986a1f24a162f986d4e524fd23821a754ca67b237eed8d9b078f3ea6491262de1f23fd81b6a8e3676d80dd9c5b3cb4a06fd63b9acf5bb1ba8d50b8a2f5fc62529ae63b4572b791dabbea451a3be32d6a33b0e920d6b675ffeac5e2a99d09c6e6ea86f6cec20e682d9b34bcdd4607dd6c6faa30dcd34652e9d3dbb60e8e8a860c8d542410937e2eaba863046b7058fa0000aa0000aa0000aa0000adc480101c77137b27c2c1b05ae5a806edc397f7d552cdbaa8ada65797c27cb7a74e3d26d27a307f5e5d56f15c7fb4817974eef5e38bfd23146828b938ffad6b873f9faaace45e5d56b1357f00dcaa71b17ce5fefd0e716654743a73b9a5a1d84cc7abdeef9ec5161243f40ef9e3bffe082f20fd616d3cd3be7afa92aafae4b1c69f2222ef30bd3bc71de1a80cecad277763a88645ee5079b07476168cb8bcb57d5d28baa3f589b983f79d1d733daab948c5e4e87caab3fb8ce50891a4b37ee98bf9e54d76db88ccf259289cde9fd2be757b4127d5696a3b39390a2f2ea57a0098dbb57aeaf6c2559b9fa4efe025a5f59b720d920d95542117263aeaeab0e23912c1e430114400114400114400114b89102385fe046ea62d9d72610bd1d1ecb7af050f3b20d70779aa9df1f1b1480c363f4b960a600210e4a3a46923143a20c63dfe8fd06e5470b5efac2af56170c5661ad7f71e996da438d1b928c41240c940f808a4e3aa00ad6d6d5ad4d98e89b1cb41cdc71924836557e50662674e3eef9eb2bf7d6afd85c62dff8f89a93a168c159631325aefc7a467bb592fce574ad1744e2d6243d7af9892a3004304a32a1f986ec7a181498b5a5f2f9d96662af9fbb684b4db3bdb8c0b2b1b2357755f99e65f08fc2b272d6aabd879a17ac2e481cd0d542911b73755d7518895b83475100055000055000055000056e9c00ae2f70e36cb1e4eb20e0a83e648562e8e643ad9796465b1bb6ae5c388bdfe66edc799466e06ef692bd706395743eb770e1d64316d8b3d4ef5fb9706e34cdac852b5f6cb03297960233111af72f8f2699bb6e478d6538c1a5793bbebc92f219e8ee6fdcf8e2cea3c3058da812a6690f7d3317974aa25f988e430be76e6c1efc853eb471e1c6431638b87ce1ba9d3b37c6825fbef5103470e3dc79150ee2a85a3377dd417b470d9f8b26b1943b760ca6dcb8ff68fdc1adb15c2b77d4d0d12ae88efa8d31aa590b77d777f0c718cbd685b3361e6c8efe3efcc1d07622595c1abd054d152f9b4f4843233cfd60285d307fd1a245d3b3e05c0c271edabb6c0cccc5d15ed42ebe14ba66c7ba58cc73976f4d789a86ea8aed2494e40b1addd2113913feda7174f7f258ddb3e66edddf103d0f89e34998ddde7c6865ec125bb871778d850c9ed4c4bc0925139ac71e16292d8e9d097e5cc34e33f6e6a32192bb991f14802defa5d777bdb0e032d34d92415ddaea31afae51e70bfe45d6c45bbd6eebc6e5cbb7d63049aea868a8fc030ab11df81cbaf2878ee00e0aa0000aa0000aa0000aa0c0772b80e302dfad3fd63e868024dac3aa836e2c6d39caf7f763076239ac47172edd54d7eac89d3eab484f4e566d5bf8e2e794d910bb2f4c19b20d94142690afda520193ade7af5a337fbaded15abbe9d9bd97f46aa143bb747d456788e88ba617745457d5f1f5c09620efbaf7645750beddda507bf2646d55bc9b1f2b2efa09b1d1b49d86ffb5dbadd6e6dd5bb7864856691ec5d01d8e9065a8df64b5381a3b6886b6763a9aaaaaec9bca77956f9adf5957bebb995af6fcfa2240c99ab779458994b6f0b9a0831f4d595d4db6eddab5697eeec98a6d5b76d3db76556c5f33abb57afbde469ad81b963fb3a5316f5579c5ae4d8b0c955b9ed90dc30984b13b887db8b33618281f4668e8300de91c960e869817acddb076eddad5655989c7052e17037371b417b5ab91b6ec7f767b75c79af28ad7776d2beeacdbb474e725a7698422bf9b4c32494be3b913393096ddcf6cab342cdd52f17ac596a5057515cf35d849e278126587e75b16ad296fcd5e545e51b16d31a9ac6a22832b4624e6854ef168c9c4e6e6d2a55964dba295bb0f1edcb171230c072c2b317734c2388e7df7bac1319e75fb2dd963ac2f901c2a41ab69f31857d725e70b5abd70cdf6d602bed55b66d375273b3b1be12249d6e4e4e72b7e66f02f0aa0000aa0000aa0000aa0c0772b80cf117cb7fe587b7281a2c51bf21ab657b5d6d4d41becf5906ededab5d6f2f2a6688ee6437b6156bb7ed6fa17d6ce261d79cbd75784ea7e5f5afd1bc3b3b32a3ab336ef7905a65633d6d95b3665338682d9c5e6666973f5c93a3eabb5f1e0514b6cf93fa9b938aff9201c93ccdaf2d6f3b3e1b717e72ead8dce96979a47e7d5ac7a694fdaf2cb944f65cf5eb39462cc25d1d9d3d158e31f70a476cb33b5f1aff057bfea0578629c8e2f4638f44b6c7403be6eaadc03f3f9e1cef0d2ddd507ebad1bd6969550e51da50b661767d3cd236b906cab7aa9145608cc5bbbbb7afdec575e2885a7150a1667ede29bdc7c70a783e4966f58904791bc159b1b0fad82a733566f2e79a52e0a32546b7427af7436a9aa5ab9d1f0fcb2e2fa9d9bf8141dd0e51b0c11565dbc38f9c86f63c5102f6030fdc5edb294f16b1bd256ab5d5a5af27ce5eb16fa320f8224936cde9da0a5cb160c569ad86175e9faf5c5b31794c0f00c29c823a4090665e052181d4fc2eca586bdf0e47fc59eb59013eedf97db17ae3fc46726d28284bcd1dff88f919289cd6116018fdd7a70fffe90032eca0eab9dcee6cf83e32459baebf532a6f9e0faede5cba5e6b736940c157bc94e32286218dd6ab2b634d9d575c97508e70bfef54d7ffd95b5fc5c85b5bfb237cedb651fabc949c3b8245cfc8a0228800228800228800228f01d09e0b8c077048fd55e56c06e285eb0805495b7566ed9c6272e5a509ab7bb3c968d6eace76fec3beaca97d60d1e8afe30d86b852e1eff143e459a6b0e5635756e8f65824fe8845b8feeaaa88e1f98ff1f4ba1cf42162c88f5accc0b1667d556f22527cc0b7dc558c631ca2786e2c5ab132fd70fbdebf9db2a613501fe263d63ddbb715555c5ce8e652f5db4e07ff41e6fac16183788df0ce67344070bf89a614e763cc1d0dfe107dbf9647c02297c0e86cb77265bd72f856702e25b33cc2228191a7d881fe5ff52c56b2bb71b363e57b1fe6465eeacf9d33baa2da5a509538ecc15dd1f3b8691c92f6d57c1b25f6db26eddbe7d53157faa24f3d6bf549c976c313dbe1c685e4249bed5a35b1a1f1748fcab610169de3dbf7cd3c8f892c493a0705f2918c7e6faf30514949591aad1676764d909f6139a5b0f6ead75e8b7541ee05f5901cfc83cbe6afb73352f9542e159e52fac2e805392bda1bcb9667d4d03bd21f1a9849a9241651b0ca35b0dc9935c5d979e2f98f742f443ad9616cfce227b13b46be850d2308652e00e0aa0000aa0000aa0000aa0c0772a80e302df293f563e8600cd18b2cbe64bcaaba337f025b3161718e2fd724215946491ceceac45e5bf595bcc30f6c6a3f51d8c017ad1838fcbf39d7dd2b8f7b9aa2647d6fc2daf6c982d8dbde3802654de8a8a8ac19ea29432db0f3e0b298fd634ae2d2e856effd19ac1e70812e61d0e3679f93099da62b112ca90977d69cf163a5db0b01bff3f7c4179ab372caa5a7314ee091bf86e3c155f6c91e98055e62fb3450b4892263e1630e2677e20625e65dde06b05ac8d35cd24e9dafc8cb5b19129f9cd07cba2f9e99d73abad57fd2ac5a1d3342286317781ccbcf87958c59f86c730f63fb7ad7c7d4149f265f6a3c3330925a5895b1abb830fc6091c3a763f5b5e6bd85e595d02570fd3b870de7a8834613cf0c0c7684665433d4c3301f3d8d049077c9524bd7b9fcc20a1393c6d424869490c5f9a57b6405f7bc86ae02faac1d92ec94a1b793cd92547ef4fd0ea78c6b1aeae781a8a3860d98965d1b50de806f85733e6d051b23062afe68897897f510005500005500005500005be33015c5fe03ba3c78a2f27c0f7b616acc88d255bb080bf090f3db3d89637bb0c763aabb66eddb97ff78beb366d2fdfb5b3013a34d179ee9d1b972cdf79b423d659a3ad164b43cd8eadd1171f42ef057aecf10d9ecde66ff0c2bc83da2d2b5fdcb963ddf2aae13e39dfd1b934ef15944f37ef5fb566cdaa950721facb6c529828e0803e256586871e3af71e6a8465076a5e5c090f1a8cd9c9220e78cadc0a9dc6cb6d71ac82d9cbe009868d2fd658691a9ea258ba7efb5e589780e97871f9e0ea8c1715646fd8be65d55608868660965785c88ad9972c771f2ff7a26c49be5c59da8e431bd73fb3f0506307914a297e8d0809ff5e8864118eae2a2e99b8a5f1f4097f8dcebd801101c66e6ddcb1723d9c7f580022613c09b3172c584cc8c9e51bf777d8e98e86ddab2a3a07d717b8a2e0e33a89ccb34b607ca17aebfe7aab1d561bdcb9becaa12f2bcd2d5dac278e8dcfedb7c0021570b03a94b578367545754515e250095b1d73ba92ab2bd6ea951b0f76d8ad47773c0b8de62fd9ab0f237e66f02f0aa0000aa0000aa0000aa0c0772c80f305bee31380d58f1680be217f103a6b7057bd6c85be628b83cc5a0077b819267a2b93ffa00a96bdbec5be725b555d55059f386b56f92b1ba09f5dba6c56e5aeba90a3f368b37dede2d5b9555b5a4f566e3ac9bf049e383a49a705de4890172d85cf0537f0f396ed5a6f59535ed75a5bc5bf2a5e4f3a1dfc6474781820515eeab2e5f709a20f1124bac77e496f5f9a5d0c631eb0d841d9b2d26df3b3b6ec5abf68173c3a900b1d3fe81e477b5ac339f8bde8c192b2a2caca8a35cbed55bf82e6c612c0e7452907a71e48f95e20bf99cb2ab759966fd9beb4969fa69f356bfd2b8bb3e1deb8a5d361efb874f8425ab06cdba2e62de5eb63cf672cdd5e09afc91bb1c16b12074b1d7110762f1343f49c268e16da55bce2578b9a9f2d5fff4cec9990596bcaf9b51260adc24411c62a1b59fb08c9042d955ae2b12572305837c089def4cc2228306bfa747de7c9da2dfbd756278a8724281c66f3576eeb58bea5e29945fc75989b2b691d1cb1b1270b3e1ef9b0646273f3e6f255f6f5b018e2e005bee615fe859de457e54b61358d55d1a3702ae1bd9784694e56d7f06511ad75086acfe244adaedb702557177f1d9a17549533ebd6ef7a062e597d5191beb389bfd6923639591865cbf2e21af8170550000550000550000550e0bb1410701cf75dd68f75a3c0371280e5db60f4203e373f515170fb77ccdf637912a74a7cf4e25aae24cdc539927cbb6e0525293f7a27fc0a2862d9a3b063b926ade5da7f8005111886a2867b910d3b163e479eff20da1fbeaa62c7b61cfdeb8823b01b0f61543cb11846241e0a8ae7fac65a89cda1ba51255f9af2daa046346444ab87da947c075ec6b973bf75d986c5d121237af7c2f9074bcbafe13425af017f410114400114400114400114f85605705ce05be5c6ca500005ae548069deb8f2d0ea3d9b47ceefb8d2bcb755ba6f1fca7a74d6d26d4452b4744589b5a6025eeeb9a6a27a31bcee02371440011440011440011440815b5300c7056ecdf38651a3000aa0c07727c0d89b0fedaf69b0741073deb2152b8ae36fcef8ee22c29a510005500005500005500005ae5d00c705aedd0e73a2000aa0000aa0000aa0000aa0000aa0000aa0c0ad2e80ef23b8d5cf20c68f02288002288002288002288002288002288002d72e80e302d76e873951000550000550000550000550000550000550e05617c071815bfd0c62fc2880022880022880022880022880022880022870ed02382e70ed769813055000055000055000055000055000055000056e75011c17b8d5cf20c68f02288002288002288002288002288002288002d72e80e302d76e873951000550000550000550000550000550000550e0561710dfea0dc0f8bf7f02a74f3448c5a2b6d6f3f6817e12662f785c3d11b6cfedf1dbbc6256e877b9fca2502455aed5c9724412d6e9700ef4a568d561a743a910aab4429954e8e9b6b3a1b04c2e19b03bf59a74abaddf9495d2d9715eec09a6a41a040a41b7a78fa8e53aad41e063ed170622de08a552c8c542b54a400958995ce88904e870382367b2d99c4a4938b54aa94f314ba5525b778f50100a847c6a03a5309a3aba7a8c8a74bdda64901b142a252360432ce375d17e8fd3d6d77efad49f3c9e5e1127f5f6ca2412b527e2e66402562e2eccbf534b6452b140a80db321461e106b29a3572c3a77e182c264be30e008d24135a5ddfc9fef7cff4e2eb6080550000550000550000550000550e06613c071819bed8c603c44a99477b47ecd3141a34225158882c160b7ad4f2b91664f48ebfceabc58229d3421e7bcb75be20ff8fd9e0906dd5f4d2fb1f7f410bfb7e5ece7fd8e5ea55236d0dd5f72f7bde999292291a4b5a57bc066ef6cef502aa909e3f36dfd3d2aa9241208a7a71bbc4edfe4d4f1f765166ad5c64030d8d3dfd5f8e74f53d562ad489966368b5c9ea249853a9d4e14098bc5c2f1e3275db87021333d47c0320261241409c9255ac3841411234dd3a6093919d1693812727bdd8634bd958998264ed5c8144d9f9fc84c1b2f650c5e5fe8e4170dce9027cd985e30f10e7950d8dfd7156239b954314e972697510aa1e07c8f2d14084e9d7487d7ebd76af57829a0000aa0000aa0000aa0000aa0000aa0c0b72080cf117c0bc858c5d50904033e9d466590caee199fdbfce19f4c11a1cc453f7acff454b91c0e1666663d7af73d5334fad410f760eea4a7ee7fc876faf333d587cf7f78fa1ef3a454a2b9f045dbb2054b1f9a5e7ae644e33bfbff7ba0f342d943b3c49ce4c1871e997cf774e3b81cf780a774eab481af3aa78dcb5b3c6d8ef5f8d92f0f9f6cfbf3577ea72f2b33472c57e5e44df6d28192c2924ca5f974cd6799545ee194d2dfedffc307359fe814e9a99a097fd87724d22b4e27198ecf07f63cf75fe5eb7ef18bd5ffebb7fffe5f82805cabcd9272caf77f5773e0d76fdd53fce83d77ce9a71d79cafcfb4b77fd15a943f55ca8a552c95a51d5f7da05a101008fcc465f364664c3c71fcb3bac3f55a99da28d7b1ee003de0d62bb557a786a951000550000550000550000550000550e09a04705ce09ad830d38d14a09900130a09d8487f57c7c9babad3878fe6e90dca60e0cb139fa4ab1566adf2ec9f4f5e387b364b45cd983cb9eef7bfffa8e6bdbbee98e477d80fbfff7e96795c7eee94bcac9c5ffcfb0bc2307b47dec40be72d17dabe9e3a69b294088f7ffc4990f61b345aafd31970b953294d43ed9170bf2b45a5f1f4dbc30ce3f57a942aa941af316835064a433ce10bcdeda6ac3b4e7ff4d9a1b7ff30efaf17383cbe809fededb22b041ab150f3e55fbe0a05c377174d1d9f95f5e1d1c3873f384264eaa0cb7bf6f3b3f51f9dea6f7715dd3fbfbbdbf3515d3d130c9a528d1a8de6aefce233a79bad6d3d7e3a684ecbd4ab53840299b567e0d4f146b95899a933777fd5c6fa434ebbe3f2c674dbbb6fbcfa9f2fbef0f39fbff0cacebdf5679db12ce1402010be7cee588a40dbe13d6f1c0e5c69f2c174575145a0edc0de3d7be3db9e3d7bde78fb7057f2fac25dc7f7bc7ac0322a41d2e3d6537b13a5bfca068d957c6ca2b335075edd73e02c3d560957fbdbd8bce11bdfe44b024e18cfb71fc625515d97af434d1bd99c8407af4b7558080aa0000aa0000aa0000adc9c02382e70739e97db3a2a815a15140bc2122113094b45a4affd7caa4c48b17e0d1760bdfde1a093b03e8d4222e5222187a3e974c3d3cf2e15a689fef6d91f4634a23eda5634adb8e1e4a7e634bd4a292ebc33aff4c1e95ffce5a4462ad412412a27334b2926e8b5d303a9d929945e2110474a1fbeffd1b2b9731e9d956236f9834e8d5aaa90b213b2d3354a99381c366bf4c4eefef5ae5dfff49335542ac5a904de888f137162858468154ea1bfb86cc6837ff7c8927f7ebae4d192daa38722ae9ea09f86a70fa616dffbe5d75d449b7efaf37345f74ea3f4ca8030285649264f9a74eeecb9071f7ef8abf3ad524ae5611881402611536e0769696a495519755215acaad0d1d171998b206c79f5e5d74fb7f65299794553320303ed47defce5bb7c7f9a3eb87dfbf6038d97c91eff39ececea6e1da39f1e4f77d1dfaba922ecb4b477b777d99cd18d765a5b9b8efd7afbab96242317019ba5bbb7c539ead7e4c7cfb6274a7f51bcdfeccb5844e1b335275a7abb5b0ed7b77db34a46e6be0c6fc07ac39b3c329a645754c0f62d87717150d7e7db30f588e6243c787deac35250000550000550000550e0e614c0f5056ecef3725b47e56385ee1074c8d51ea763e2e4896aa9a4e993fa7f2ebdefdd9097f309251283422c8c84fd2a99d8e774692985cbefe8b077f842febb1e28f6857c29e38c7ffcf478e11d93adbd5fbb9db6bba7157dda78da433be522a1321411b87d3eb7db23f4082562815c2c53293efcf8c3bb426c5fc04574a470ea1d214f97dfeff407c2e353c7534a95dddaf7fffd6c6b0aa57ee0be19edce1e83562b67851e7f404ea98958c249a534090f84fd4695fa07b31ff8ea77bfef6e6fa7429c808b14de55d4dadef9502062f3f81e9d37f7ddf72b1fcc9de90c7a9c0376d6179cb5e0afcb5f2db7f5dbed769af6310e27bd6eddfffcef370f6aa52a5158c009b9499373c7be08e833c77b09297a6ad393f9723e25ddf8e2cbef9cae3ff3785e2111c1ffbbfc3fed7018d64d10cbe57ccacba7be281af11556c1678a163de5c9b54b0aa37112d255bfe7d747ba8f9f71e615eb2e2a35f6450c1964723e6d2cc0789224c7a9c2a7ff2d1f1a124f765dff5e96c87abcde45445a153b70a2de599693a83dd710d0e578f9d68a6e4c8b13469b389e1b2a9f308e1b7070b869239a93f0e00da81c8b44011440011440011440819b46e05bfc6fcb9ba6cd18c84d2e108c88850a6dcf8055a352f808bbfc6f9f7afe67ffeaeee95446824a91ca1f707a05ac97a1853291cfe78b442230f99f8838561a49cf18f7d5d72d324a1af4d18290feae823bd4064d80b072a396e6422eaf9b924b3d6e3bc746382191504a4fd0ef8b04fabd8e4fffdce08e0426de9da335105fd0f3f5b92fc50a75b7aa636a7aaad309ddf8408fd3d65077ace8a1fb188609870811ca54949628284e20a57d412dac7510605cee804c22d729299187968944850577bcf1d6a14ecb7915a583171fc8640a81487857e154cf576ea5449c75c764a35ef7756b27ed0df4db5c62913c35c53c256f525ded1f4da9faf6bef35ec67745a7290c1304a2fd6daa7066eef1b326cfce9f6f1f809cad553f7fc5b2e671f1abfbda9edcb436da25a7dfddf94a5bcee2b58fe75bcfbcfb46d5692f241319a7e4c0ad7953ac2eda52bff7c0910196ff61ca9c254b4af30296775f39608155175a5bf9526569f7fe7845de1bdbdf1caae227eb66d6efdd7ba2ddc597204b9bb764c58c9cc1fe3f7f24be41073bbe4b320bf3c991eed857da7278ef8163d11a8971ca9c154b4aa3c7831feedd59d5cd5722d2e62e5ef9743e154b9ee078c052f39ffb2c4ffe646d214546c71fcb36f469397ce0e0b19660f47bda94792b96cc20a31bf8e3c7a17b9f8c68a8a8e80efd617d37499bb3e211db2ff7357d68093c99278f899933c5eded7cfcc6290f14cb2d479a600c87a8c6dff7e315c5efbef89a35e789754b8af912c2963d2fee133ff2a3153332f9afb005ceeebc88f749ebe898a30963a06df56fbc71a4d57cdf0f5796e58ddd7c807a655fa3693cd51d0d6c246c0296b36fbf5213289b41dea96d81ff4f82af2b7a45fd64dd9383a702228dcbe759475d2451c36898831fa3abb8e42a719eadd97bf0848bbff64846d1132b9e2c867a475f1ee2e8f94ace5b264edecc4b7da6854752af795cfe2a5c486b1ef970d7f0e53d78f0272b2c7b5eb6981efbe9d3d3f8f80267766eaf322dfac99242ead2324bf3f804b8a1000aa0000aa0000aa0c0ad2680cf11dc6a67ec368837ec8fb00c275368fd61ce130e3184144cc97fffed432410825eb75848e4621105d3f8c38c48c0b27e3f15919c6f6c9e51342d1cf0c30b05055c58063753fd8ccfee11b352a3deec7105b88890e588dfe7336a751333c6a7ebcc8ccbcf0522241079e4e13973673d0ad301c201c6e370e564658b0402a140a0d7a861dc4128166c79e9ff2e28bce3c0ebfb2421a1302c8641058158e60e3024249086c57a9941a13029537304441a0c306abd5e2812f982becc9cacd474f3eebd7b27dd51c049a49e4028755cb65a6f3c77aeb5b1b1f1e5ad3ffbbabdcd66f328e5468e884532d9d9afbebae79e7b5a5a5a4e7c7a9ca2945fb79f1ffb54c362882a429aaa7ef9c27fbe7ae0ddc38d16eb8ca77fbca2eceed239f7f22b16ca321e282d14079c2c710ead35403bd901f8d675f835181450e53ef6d45373f2484bab8bc8a2e383d6e3afec3b32a09bf2c4538beecb95b71cd977e00c1d0ed041d6d5da1ab8ef89458fdd373ed87bfaed33ca9155b41f78f5443b5df4d8533f5c34c718ecad7dfdc0e807eda1f4006da5e11102abb5abedcc81378e407cf9793a62ad7f79dfb1019231e789271e989236d072e4e5bdc763ad1ee87616cd5bf4d463f78a5dad6fbebcd71ab7187d3c1cb0f16d840489e28fe7e3ff06ce1ed877ac453ee581a77ef8d40353b4bd2db5a7ac2441034f3993128d2c0ef6bb8ec318c3f869c5babc62239c8b0f1be158acc0f6763267d1a2fbc6ab065a8e1d690acf59f4d4bca2346ffb89b71ba93c78d3454b7dec310a67637d374bf272e28302905f6e1ec94b12c51c8d02267a104bcdabaf1f69954f796c4559de659b1f0e388324d8dd7e296c62967020e86a814101e3f8894525770f5d51233bf343f2090da3410e7e24ac626402b8127ef9e60917c55f93f38a32ba9bded9f9ae25e1e571395eb862133733818f453d925a1cbb902ef61f3c48e0acc9bcadf567a38331d6c6e303449497432528f3cce8cbffa286e21714400114400114400114b83905705ce0e63c2fb77554142b219e10eb0b8b8552a184eaee1db87b5ae9975f7edddeda2d15402f5c2b0e731aa148c2f8c33e6784f6782dd64d4bd7a446a8dfffef035aa19cf08f008cfbecd867599aac92fc9263ef7d6294a5f4773b05300d412e6323c287a73d3ca778d624dd78052dd2122a6cf39b95fa09a68cfcac8945f9857aca60d2a70569c6e5a0155259ca3833199ffad0824783bee0c77fac37a566473869582ae167ae73222da7747e71816db1f99abb7ff7dbb7a64c2d22a926b946e30e04442a69eaf88c8f4ed44f9e3a95952a189152a64d9352a6cf9acfce98f550466e4e7ef13d6d9d0362a936241411a9d8d27e5e4ea9b273b22ce7cfc91452ade17273d2a9e29ffedb3fcebb778a8ed85a4e1f7b67dfaf7ffef317df6e0c14973e6286e70872663c322d4f1c9dc41fedf40f5e512242ced69f2244fbd4baa7a7e5e7972e59fb58ae88446fa09ff9f04396a81e7bb22cc79c59faf8e31984b41c3f13cb76df8f7e5a565c38ad6cc91411693f6b1f5905c7a760699b539e396dc58f7ef8c4538f8cec3ac6b24300dd47f6bdfcf22f5f7bedb55fbf5ed5029daa298ba751e4cc87f510c9a29fae2c2d2e7e64c98f174d5191f60fcf44571c9cf2c4ba276714e64f7b7cdda22984b41f8faf4398e838df3ef8df31e21f0c435778efbd3047e091bc4c7366a6090eb6599db19f2e6e605b32a258e2a1cf33bca4aa380f5a6c2e06afeefa58f09060ce3fae2d2d2c2c5bf20880e72e5a595a983fe3f152199f333ced9119840cc06314b07fbcbe9d68ef9b611e2a1276742379e549630ed6ef7d65df89deb4fb7ef8d325d3aea4f9b13a46038a935641c6cffbc7b52bfefef1bf9a3be28a1a19eaa07cecd0258617a54b5e452c59ec4a786a2d7f4dce7872c56345b96693788ccb630cde5881a39b99e8f2e81c491dffc772917ffc20299c594a88eb78237fd64ec12411e38ce8059cf49fccc8e6e33e0aa0000aa0000aa0000adcfc02fc7fd8e18602379580d7eb0bb35c988d385d3e37273aeff26a64aa71c5d31a8e7fea972ae021008f978e44c2b4d711d06a730ac67ff8f147fd76d799af5b8a8aa7f6f65ce8efe929c89a24d7a9abde7fb7f6d8a79d36cfbd0f3ff851e39ffc9190cde73e73ead4b1a64fec2ed78c99f78924b2019ff7e33f7ddcf8f557dd6eab3e47ffc4df3ed2d3eb84e5fc4562b142a3b4bafb7a7d7d8edeaf32f23353c719dfacfced5f2dfe1ba7d7d5e9b28ab5322264fc4ca0a1a1e1f4c9cf1c8c77f2f4c2bfff87a7237e3bcd7a43d28880122b8c0a8541963e75e2dbf575ce082737998fd67f4a87fdf73ffa60e3d993f7dc71df17fbdf0b8459b797a643fe71e3ccb51ffe71ee7df7ffe1e30fe472992905ee408fb5d15d96b60035e3f125331e8764b014dda9836f1e697ae7407ee14a3edb8879fba34a819b9e3a73fc9f7ee1b4bcf75aa3b741f9ceb5f7bd5fff7238bdad2dfa7880c83c3846c127838e2e941efde03f0b97fcb86bef1b274ed4b69ea885af19f73e51989fc9ff3a628374e3e73cb3a4d8045d7e31ddf5f61b6fb6b6d458c26ba3e5e832e3030979c599a425761f5d56187f72409e970f03144e3a101de248763c565982f89d64c660ec50b50966281cfee5cff9382fde12363021d1c87c6df5fc1309c1777ef98b77060f7beb4f7545d7181051d4e0219e39f6acc7d0a31499a545aa634d30a650683ee522b94fcc889f8aa1c2877993c74c7abbf99363ebb286090c00c17699e6474b4f0028868813b3c88a8b632316c3f1440b49f831da7038d918ad88270a1391396710423ced497ebefe9936a837e1e531262f5f62826626f129e4935ffa8f25517bcdd38a54479a60a4ac58d7e82553e0110b7ebb12f36842fc40011440011440011440819b5b60f03fc46eee2031badb4b809644045ac5409f53a256153ffed756b7bba9b737ebeebb0bb3b35a036ee2b04fc8ce50a6cadb5a3e138bf5390fde494d1adfd1de73dfdc87035cb0a1f9784a4a8a6dc09d76f764bb7d40ae33e64f9e78fadc5f1859a4eecf7f2aca9df2838c991a959208b996ced6771b8e3e5c7cdffd8639fea06f8afececcc9e961a12f24e614269d84154853299140f53fb7fd4b481b0c31cccab57fef67883bd0af19a7d9f21fcf8952250ce799b978ce5fffddfc5020c8c945e6fc6c220bbbdd0317dcd6d53ffd9fb2719a87ca7e70d7cc6941d671df5f3d5c52f6d00587db3c71c2dfaefa619ba3e32f5d5f68fd7df7dc7fb7dbe1a93ff589619cb1a5dde2e8eb4b37ea7ff4ec2a5acafa5dd12e79f2337ff6f0bef7da8dd4cfd6e6f069e4e6fcd2c50f34be768cef4147b7e83f6dbec3036b0bc68ed074f4e1ed68678686fb9eb10e735b631b2199d1149038e3473f5b19fbd276aac6222ed492fa58e6449f7cb9d6b31673e98a9fada0686bdbf1c3078f9d7ea7a6b0f0f1780f2f968b0f8232c9298a1f01a0f21797e56eaf6ae3e3841f086d8b47d26581ddd81684318fc2e87a8a616b171c920fb621d9f158ae04f10f0d0a408a3307f79eee96cf7be62733600678e0d40bdbdf8b52c4f25ef2094d4b48349ccc79aa1ed60cc89df7d44cb31c9ed4908be99a37aabaebebbd8f0fa7813dbe89976ef29933739bde3b75e020c592b49909175fe4b3f0bc63c47cdf33ff5668d9f3eb6347f6d6e7ad2c850efc659a1f8d220160f22ac21747cfc7736d5bf22a06cbe3af53d609a73f337aa07eef7f36ea1e2fe5ed125e1ec351f049126c099a39a64fc2a65d72503ea334a3a9f6f8bbeff267ad1456b3e037a8ffd27f32232fb904a1e12114400114400114400114b82905f039829bf2b4dcde41793981ddcfb8c35c9f2f400b25fd2cd72f149eb1d9ce799cb648c411087e7aead4e767fe9292661a7fe7047bc8e510f8cc9333bebed076f2e4a77abd76c039d0d1d779a6e3ac93d06df6cecfcefed9cd385c74ffd956cbe14f6acf75c113097f81dbf55dfded7e91fff8570d7fee68fcb2eb2f364f7b38ec107201b54aa1962bc7678c53c8c4ba716a8956e009385494d498ae2d983a492c236a9d7ce29489049e7588f8cc774e34e467a4dc95a39e9812e4e04507b608e313c90553a64ee96a6bf1065d3aad88e1dce993b235e614894c9e96312e48603682974a55ba03f6befece7396e673e79b9bbef8736b676b9084beecb0fce5dc979f7df6d9d7e72c635f05f9338a603afaeb2feea93f63e9b2769d3dfef65e78545f949747f17d25d679e64c9b156628c00ded0f6b4e59ad6d357bf6c05a7fd0d7c99f51c867dc79c062755a8e1f78136e7a47d717c82f2d86a9f06feca969733adb4ebdfdfa7b274eb50d8e318c8a64b88aeee3efbdb3efe5771b2d61b99c8af6de75d1171c24cc3278904fc65a6de1fc1950e3c0be9d07ceb6759da93fb0eff400314e8bbdb5a0e9cd57eb2d10f5a93daf9f86c5fba6c5a70f243b0e255f36fee85d613109c30846e3de57de83419200dff74fb025231a9134505fdf0ac3028fcfc8cfccc9c9831502720a67166b49b0e5447ff4d18a1149077779b3c14d37ad340392b60ca8a6cccc8c1f1cf1779837c8ef268c5964368b331f5951a4826734f69ea22fdffc58f9a301c76089873c1c4ffcc88860af60778c2a62b9f3a7e511d20bd75e97d379f6f01b47dabd84928f717924a8f3e2c8463733c9e591b069090f12f3b45223f19e6eea554d29cd8c4690a4cc04d1e12114400114400114400114b8c9052eb9257293478be1dd16023e4614624552a9c6ef87550561dd3b4ea250b83d6e26c07024a46443b084a04c2010b19c542cc9c9cd3973f603579f4b15166964527ba79589108940e88fd022b9d6ebf5862342994cae5271013b918b58a34ea1d7c83d5e2ec0b90422bf5021d2ab25ac93568abd02bf43e0e714214e2912e61a52d94824e4b7535a9d4165647c21855ced723bd526738413307408162b0811212d64bd41bf5048229ccf00f54438da436766a4098461b3c968777b1a1bea8b8a4a029c4a2c863509042291c89c663872e6e30881c515bd61da9f6e503ae0a508918846a8130b44fd3eb7a0af572c15fb83c9fae483d70095ffe48fe605dea86d3952b56ff0906afc533f5e02b72bf3f3b4b07e61d5ebe17ff9d9e239e34f1d697aefb52678004025225e7ef640cee3cfcc71be7ea465df6b2d9051a522de6855e2ccb267e6d85e3f72e2f55f9e80e3f0ea81154fe69133a72ebda9cef7ea75c355fce4a9dc57df3cfdce3ee8bec39656f4c4c54fcbf3072ff9bf32f21c5831b1e5cc714bd992c79f99474313de7c9d8f44a49df2f48fcbe49603b0afd2068eec7b0dd62784dd077eb8224f4c02d152921ce77f4b1c3f5fc2e0563873e6e1d623b5fb5e83ef32a351141ce83e72d8b50826315c1c6072a27849fc1a86675cc478dff0430af0535ee90cd1e9da2fce79461608450f4ed88057420ee7cf292dd2bed944cf98993f7c6c786f9877cd8f66aa46c5ec7d2a1a33df7b953fb9f231cb2fdf7b6f4f4de1ba44a76fb8ccc1bdd180e1e42c7197e178fee5674fc30516dbf80b61982e9e76c46f83e9e061934455384b570c1525cf5ff2d47d7bde3c71e2d7d16b4f35fe81158fc06b2d72465f1ee2b3074654ca579f8837c1f543125ede23feb1fcf829beb068ccc3ed1d71107ecc9f912b83876e66cc8491357ebbec25174b869f2880022880022880022870f30b08382ec9ddad9b3f768cf07b2ab079ffa7524184047dd0ff0e073cb6811e273de0710de82865d8e75084fc191aa9411aeebb704ead1614dd33f58b2f5bcefcf98c5ea0201c4787682210c824944225efeeeb96c8e09e30114988dc200f7803944092916abcff817bc311e6d07b7fcc1e9f1e668391209d22938e331aa452a980085353b2e412b939353d2d2bbd2fec8e482511183d906ba40a559893680d69fe508413c938b184150919011b88c0cb0e420a0127e7c2eef66e4aa510c844612251a98cc130ebf10d78036c6af654b9ca1074bb49c863eb39f7c73f1eecb177c2a286be36af5c48b5f6f4b210a854dc678366fa192f9934de946232961f3a7b0567384c3b6d74404ee9609afec57db378e630cd3f9d1f9bc51f3f0633a00374202c968fce144b9ee087e1bca3f6c2b02443380c4f0a248e6054fa8b0f24ae311a20195d66b2e3f132139796e0573ee1e8e2e309e16f52a21169ae75f7f0ce9f1f0bdcfb6f3f7dfc0ac446b4e8b231c37408fe6c27387df499032f57b52dfab7cd8590041e7cb8e8648dc875f92aaeadcd5750058043f010d94557f2888c5750f398cd84fc5757da15547883cabcb29a31150aa0000aa0000aa0000a5c27812bf88fd2eb54131683025728e015aa7c91a058c0702c3760ebd5aac4190a5d4b7f07e3f3cb8430912022908b543a75ba38c76afdfaf3e6735abdce9c9dc9418742a60cfb5d344d679973fa2e742be5b2a03f9899a297514a3f09867c0183cec4862367bffa72c60fa6e765a76b9454bfcd238d10d64377d3744a7aaaca90e2e6042999e38542b9c31b1469143db63e01519a94ba1e7b9fd194aa14c24d7fb140201609a44196954bc45c841511d6e7b08559d6683641073900d319942a99ca04ebcf87d880542d97506a5f88c864144c1a506874faf48cf3302e201269f42afb059741af0b8bc45e96556bb5de60502ee2065c6e214c42b8a24d4ce9ccb1679d93258721810409a0eb98e02894913879b2c263c7e1a579890b1b3bdbe0af896b4c1660b2e3f1aa129796e0d7b1134286cbd5142ff3eafe062c353b0f9cf0b264caa29957f67f7f47043a623749adc953f0b3f98301981b92e07a18916bc46e922aaeedf0887247ec5e541680eb464caa18fc2d59ea8bb20e7f19ab9990ea2a4b1b2e778cbd1b51e618d5e14f2880022880022880022870fd05aeecbf4baf7fbd58220a241518f0052985d4e709a84502855a170a0ef83d8ef45483cddaa5504a241211acecce0945f985451abdb6a3fd2b7f9055519ab044083d762e1c3499d56edac34618894824d7c885020e5e52e0f0737a83d06c4e21f03c81a3e7d34f3ed6512a6b67975842609200dcc8cfcb3528288d5a6ba40c298130673050a148a0e7c205562234a6a60c78bde3b2b3956a0d13880845300e004b98476472b9dbeb50c9653e2f2d9748757a95cfe7132b950a9942289287c24187cb2394c8b486541f47c2024e2c1006038c4ca5cbc999fcd9e7a73d2e5fc4e193cae501261c6022e68c0c23473822b25ee80d858940ac4c0a843fdcd2023092a3cbc82b9ef9e4e0da75df5263e439c553a698cca3fbdddf52fddf5235b74933bf254dac060550000550000550e0b611c07181dbe654df3a0d85ae759fc3a610087d0cab104a8201562e148b88cc40fd1ff6de3db6ae3acbf7fcedf7f3bc8f1f899dc4104352dd2e926a5237a92652713bdc010966c80ca51b5ac54c452a740b694a6aa42aa9afd47fd02dd59506a94a03121a5133b4265c114dd0800624b813fa26d37475e826d5a12b0153d8c40e76e2c7b17d8ecf6bbf9ff3ddc789e3c7b1e3044225e4b73b65efb3f7febd3efb84ce5abfb5be2b9b4bc13300993cc6b183c9e932cfcae94ca7e7364451c96732e5d94a5652592674892d8931cf4aa8005836ea489681b29ec4b3c56e153201dbb9fc6c692672bd2076655e8b8264c75f849ca09a15052d853dcb545a5004db3248e417321da2206feed9c4739265207540c64778203c3762fd080f47b12f0a293fe0ea76204812cbf12236fccba5ba1548996c3adde9b24218c38f81e807481310f4d3b7f9deadf9bef1cf3f8b7cdff4dca6cdc69c7a7e78c40b02c70d3d3b60784549e76f9f3746677a1d04e4befd4fff74ff7534f88a1ee5b3034f3e39f0157576eb7673872cf3d67d01746694002540095002940025707b12a07e81dbf3bd7da3678dad75f8012cc3f3ecc4bc4fa7d372c05b95a942262db29124b0ba2209b1e7b95003341b8d665a579dd0aad70d9cc74190d604cfb583d061624ed3f5c0375cd7cfa52526f66af5992d5b76f6f5f4fcabe37e7276308aa230f04cd3ede9cd6b99ac2cab1a0e456518c60b2251d53bc54d4a2a87d4058670e88d65f988303e89785e807b200c021e37089401049e93e120805d6f39361c168220e9858e4c470797caba1117a34d1470e81729089e208aea1fdf337071f83c6139f8019c80a995671a661006248c48141229cd3517c400bfd12f9a2e8e12a00428014a8012a00428014a8012a0046e0502d42f702bbc053a8765043ccf210c0c7c3ff6dda60773b999c9a9f92d9b99c0e2635f15794d6643d7b44dc7f72ca347143b29000040004944415451e73816550b2a73f3cd7a8367091babcd86c9307e776f67cfa65ec3b0c6c7c7450926b763349be5d9d9d2c5a94b63970441898338865881c0c49197cdea1d1d5d84953801e6bf18109e654558f06128cabc1c78497502566463c810b2814fd0946148084b9f89c2c8b7305526f659df0b7dbf50e812f5b492c931b26679911d463111508f2072dd384a4206900b71cf3d3b3ee9ed9d1cbf208a31633b902c2816320c2318069c214802772e5e1c5b06857ea00428014a8012a00428014a8012a00428014ae0e610a07e819bc395f6fa2508a0981f6189ef392c0979961151e00dca7da218587e0af1f59ae85af59a5137eaf37160fbbe3f3d3d6b1a76ad52f33d4f45107fe43ba6ad2afcec6c9963784d4b41c20f99ff9ace0b2c572a952a33d57c2a6737aab619e43a5311cfc0506f36ea86d9f423ae670bb3f5ee22c3c996e3c141809d7f0899c54c4c501d310a48c4c267013d41d4f188513191e1d93874217658ad3bb6e9bbb6e3c7d9ee2d122b7b9ccb046cc4c9ac24f382849960aa7e442028887285b2a2eefece9ef9f972409a921317218da875184d942c98731c0fbe8d544afb120869534a8012a00428014a8012a00428014a8012a004364a80fa05364a8a3ef7b5118047405314925139cbd5d8b8a84888d9775c4397c56c5a4beb62d56b84816b34e6452ed97b9f9c9a46953cdff1433f9039ae566bf04cc471a265394343e7a13b10a32c0036eb6d374af324e210d28f3faaaa465e20f212f6f06dc32e97cbdbefe947cc41b93a97696cd63372cc0921e12217e204a128f19cc00731bab1508b008a861c032100b36159b5b9b9f2ccac63d9e8309bcfa773394e52092721a0c0778288f758c8c0b31113c529456644910d3dc419842c7bd73df76e1b1b1d1afe4c74836acdaad54b66338823369bc9112ee8ea2e7e6dc0e9409400254009500294002540095002940025702713d8602db43b19115dfbd74d808d9163ef8b1ca74aa2844a801ce398568c02837e50ad566667a79b469d6523d36a4e4c20dc7e1c56bd8d78fd1039fcb10b5d01db43e07e18e2c4b76d52abd7e105c867b399740aea01a9949e4aabe5f9396cc86732d946c3300d172a013d3dbd77f5ddbd7dfb761471336dc3724ca815e2707d0fc20221421748ccb6d4048863d64b1317877efff13ffde693d3a72efcfee3467956e0d92c8e7c31932fa43379157e05499578282472501fd06425a5e90817104511890421c38a9226ebe95df7efebded41b92d0b40ca369a1cc82a268e9741633453737c03d289d39f2f2b111d4a2bba1e39acd036438c0cdb1b1c3193bf1ca6b276e742e1b1be3eb7a2a98f8f095eb017b5da06ed22216f95ff3b5dea409b4ed7691cc02d2b18d7d3f165bade873f1fac67bdb088dc56e570c77bd1f373eabb57afef23dacd533bd4e0950029400254009500294c05202d42fb094063dbf25082892ea99b0e91d8e25294d4ea94ae0bb1c2af7092c62f76db36919758644718873d8d32602efa12088e28584c4beef0af028709c6db9481fc8e7c5544a96254153c55ce218500db3d1346bbccc200f41d5355407989d71201b30393ef3e9a7c350fecb643292c88701d2026a916fc812140b90361085a827003902cfaecfcd4d8f9ebff4d9a05f9d0f6b75948457782ea56a82a231a2424499816a22c749a2a8a9aaae2812c793c00f209a10b53c0d2cc372121e239cb2b5ef9e815d7b8ac522b415f113ae04a824cc4c97a05cd0dd55b88197e19487c667866b1b36dd570ce194d66f6ebcf1fcf3cf1f3bbba2d55a1f83dac4e4e8c4c6ecbeb5fab855ae3be591c9eb007b7da06ed22217f97fc96fc5573abdab64169022916603c7d556cb1fbe7a7de3bd6d80c6d56e970f77dd9f363eabb5bafef23dacd533bd4e0950029400254009500294c05202348f60290d7a7e4b1040aebe260bb9ae0ec1aff28cadc8822f4a295d82ee2036f35dcb9daed51c137100501c1472d9c2a589390415845120082c8a0ee8298d8d7cdb72582949e6d7543993d1f385d4a6cdc52d5b364d4c5f14243693ca138fafcf36901d5028a829ecf27714584660206168db6c106b0c870005377442c697259ee755fc2ff6825a657e66e292393fcf465152a500d6bfacead9bc8cb2829c64fb31e7049c10459e9b28130a21a40b208b18c26341e0345082c0e31132004d45d721bcccc6d1ddf77eebbeb9c95ad5aa9513f87070483287ac05dfb36fe065e8034ffdd5ce80bfe1bfd6494bb831d63a78545fe0c8daf7afb4838f06b8643979f2da4f5f69754bff4ec848b28c392e2c6efdc96e14d4fabddcf0dd15fcbfecb7e286e7d1a6e112325791822959f74bbba4d5b23e975cdf706f1ba0b1a4db65c35dff870dcf6acdaebf7c0f6b764d6f5002940025400950029400257095c037e41fed571744cf6e7f02d0fa8370806736b05d1ff09e81d2833aaa10b002a73a56757eae6c9bc6e4c58bb0a1a7a6a699889704c1f73da8fb29121ffa8990802272928c1a009c2ccb6198880bf83ee40383cadc5c6f6fefddf7de33355532ca7639a8a1f680aca94a9260a0cf56ca1e140f45259beba8ce97b1bd2f2b8911cf8bba00c9009428449d415e4439432e1bb0ae84ea038e65c03751ab1ad5e97aeff69d025178243c0415cbb6b3d9a2a8aa92025dc38813651f163ff21c12f542d440e0105c80ca05a1e7eaa96c7f7fffe8d0c8d0c71f35eb912860ee5c4a97219e78ad37593b7ee4c8e9f17af298d4f5f09387f7f5c9cec8f15f1e1d39f8b39ff697de79e1d848772f3f3e5ec1fdc28e0776cb2327cfcde05cdbb6f799c38ff023effcf2e8d8c1bffce94062eb1aefbcf4c258df0f0ef7e1fcf23172e2d81b1f0cbbad4f5d3b1e3e7c30fbcaf3af277d8dbef9372f8cfcecd98364e4d49163272bf079106ec781279fdcdf8fb3d2e03bafbdf991995c2bece8c35ef00a9504e3ad177e35527cf4e74fedc1a06fbdf4c220bfe7e7cf3c2293e0d42bbf3c253ff81f9fdab772dc27f791a1b75e38ee3cb28fbcfddef0b647ffe2f09e2cba5f386a83c75f79f3746bb84c57d6a9f1bb9f7de691891533470f23d7a0a16336ed9673659c85dfeefb475e7a733261c065b6ffe0e9a776eac4598db1771f39f7c15250e8fccad1e695e1963172e2c8b10f5a24f1a60e1c7e727f6b3e2b2fe295e19df6f6f1a3a349f752d7fdcf3cf3d85516ad31daf25ffc560ce8ed27501b3a7ee48dd3f5e455929e5d8f1f3eb81bff8f61d5ac769fb8faee0871065f7afecde2133f7b72405f8dce69fbca9ca197967c859e7908a3b9a75e7bf9cdf1e46bb9b89c955f80555fbccb3c37d65b9bb92dfe1d9968f7bd5adeed5adff395937c721ffe1aadc698006db7c636b36a4bacd5be6d0fed26d0fee55eee83fea20428014a8012a00428014a605d02348f605d3cf4e61f8280c4f202872a8010fff74481cd67d3b94c5611a528087dc80f1a46b55a457d018643b500d9f3025c5715f80d62c76a22d03f512288a2aeae2e86106cfe0751689ac835b0262727cf7f3e7aea1ffff9ff3c72f437bff9ede0a79f4fcfcccdd76af54663b63c839a87b962e1c217e3a317c6fef9c3d35f7c313e3d3ddd9cafc91242024401ce075e92a424b2a0d8b9399feb509454181268134c5d9a849701450dcf9cfde49f7efbbbcfce8f8e8c8ccc94a6868606cf0f0fd7e72b818724020f7a0728751821118270f00ec40c87aa049036848ba058ec84b7624bef6655812383d5152ef06c7846d63f868ebd7c7adcd8f5e8a11f3e71a0e0cebcf7ea31037bd94e392435781402c770c3faf83839f0c4137bb76995e10f4e9e0b0e3c71e8e15d5de6f8e9b7ce1a81534b9ebc12c56dd4c24ad2eef2e10c1d3bfac1b0bce381433f3cf4c08eccccf07b676addfb0fdc9fc17da9e781fd0372e9c3178e9eac64773c7ee889bddbe5e193478f0d1ac1c4895fc329a06d7ff4d0a103fd6478b44ea4159e47bdbf5b3247cf8ca11f6368b012863383639843307666d2d5bbbbdb8c5bc266b2e3d687e114286cdbb1a77789953d71e245380532db1f3f74e881be60a6e2bae55a7df5ccd1c3b5689076cbb9cc62c9afca646dd7c34f1c7af47ebe3efafaaf8e9412ceab301aea32504b9ab77d65a474ea5747e147e839f0f8e30fece8aa0c9ffcd5910fdb5e5c58c5e8a8b3f7f1271eddbbcd9df9e8ad33b525dd93b5f82f7e2bd69ac08baf9faeebc95b7b7857cfe4b9b75f7a67a4dd04065befeed450eb3b533afb618570fd7d7a5b74ed5f99bcec2b24b5a63e336eec7df4ea72da7c01567cf11617bc81dedacf6df1ef48dbefd5f26edb7ecfdb4c125f85d2a93618dbadb1fdacda4ee6ca62af4da944dabfdc2b3dd0df940025400950029400254009ac4f60c5bfdad77f98dea504be0e02901548ab2a5207c2a6811c02941ecc88321788a1c8366b33b6638691ef05016359be1f23961fd104bc8089b1082e28e6725d9d4581e353696d5e533d18d842649855d70f1ccf857040b5d6a8ce4762a768b97eb369a56418fdecc4cc8cc778e98e42cdb2e01740b6fff858a9abd011df75979caa6d2a6e612485571494391405958fb979d39b3766674b5591e16667ca33d5fae4bf7c3c5ea9fb825edcd465564afbf67e57949488f01393a5fe9d7fdcd5b345d65308380851e210750e19d42a143075782e1822e84a7a7377cfd69ec9b9d21cc7328582260a015222d667ddb2ce42a35c93f7ed39fce3ee112309724772025a2dfead3ef0939feeef26a43f38f3fcdb7d4f3c0d739eec0cde3ff726ecd985a7169f44aba58e083e3b70fffd7dfb1fdba73b35522a92e1fa58893cb5ffa1a1f73f32faf63db4a77ff0d81b21d11e3df8080cc3fec71e9b78f1f5e10f0787f43384640e3dfbd44ef4bb73a7fcda2fde1d5db9889dfb06c8f0478313a4bb3cd4da9f36cf8e043bf93375c23dbaaf8f378c55e3d692cd6b42b63dfc93c3fbb098abc7e0290c57f8e1b34ff5e3dace3ee397cf9f7388d466e6977b5887c6e0fbefaf5e0e19d87775b0d6d98ec79f3db81b8e89816765e3f937873f1c711e5a0e1c4f7144ddbdff4f16412deda1ed2b1b7cff14a03df1f3a793c08dddbbbb8ffdf2cde1f7df3981762b2f0e0ef4e1eade1ffffc915efcee1f39f3fcf0d018d9b31b1f168ea104485bfe0941fc6f9d091cfae9c25bebe7c9b19122df7656c1ffb89f0c9ffcf06c6de71efdcca9495278608f4e06df6983eeb116b955af2cbb7bc957c818c46c572e877fe81a5fbccb4b4d7e5dbbb7c191b673bb4c63a1abf527d9f67bce3fb67a92b5ec50f21e57605c1862c52b5b6356c9b3ab26b3d0c14628d55a91232bff8370b93dfd450950029400254009500294c0b50824ff42a20725704b11402d41ec966b921885bc10bb240e9838e2131b9af55c3bf4fc44ff2f0e5d17bafebca6a1d06060354c08ffc922a76b524fcf266413cc964a7001cc572ac5bc02c5015952aab579df8bdc249e80f81e2b3232c4ff33f98c24c44e60f2a85490ef9a35c2cd7dfd33d3e5d80b9918a6f64cae674bcc4baca2f28a9e5424885d5ef2195ef1039e89c5cf863ef58360c7b7efcb3b41ba5c9b361d8ee73befb9f7bbdffb539415085b0903e94c8e17a4187619cbc12580c9c3191043c5306a9dc7b1c00a1dd942219fd135019510f33995655cb35e5dffa50c3cf9ccc491d74e9f7e6ff4f47b78b2e7fec7077626f6e29283d361c3b68ee4ef79e0108280fd449ef19a075fcc92d28917ff26e979c9d16a7ab9037469befbb72f5ebd5b1e33753c90edbef21f95813dfdef8eae1c8defdbd3433e1a3a3bd45b1be3b61fd8639c3c3b343444c6883430a04372a1edb8184482c97c75accb6701e18abd97cfe59dbdd2b961b2c6ccf1d0fa34da2ca746f62d8fd297069039d03ae4fe9d840cd78c053fcce5192cf9b514d4d5cb6bbcb2045a2f9c02ada37f772f191e8992f395175b9d72dd97e7947c5aeaca69b54eba5a87ff9a13e0bafb2ebf357ecfc124c7a315c5b16a029d7b766927cf7d38487667cf9a6407523b92a30dba85e496f6af0c2dae7e07572e678dd7d75afad556ad61931f2baeafec6dedb92df6b0c6f72ae9bbd579bbd519c5fdedff76acc2680c7e88b7b4ea955d17314c65650f6d29adf17217574a4f28014a8012a00428014a8012588fc0e57f0caef708bd47097cbd0444360e1c2be00d11e201285a8822039e15b81e137a10e643828165a132a1adf04924324e34ece323f39f2361e096a62750482070a34ab96e59249325ac203a3eea0190bbefde19c7ccef93a2035eb36175e78b44c6cebdc0086cff3d77f7dc7557c88a33a6c098115fe74dbf569a6f320c7bef771846d2f027e0a5c887bd26b34a9c296ef62d6ffcfc68b952ffd6c0b7b66eddaa0721c2f8d33d5ab6b3e3be6ffd514f4f0fcb721dc54d1caf78b0ff793162391ff508128f40cca29b3862a15880e544b1c82bf96c2197d50bf994d9aca5548e63e4a9e989f5a9978646baf71f7eeeb06e94c63e3cf1c6071fbd7d7c60e0c135da2c9838cb6e26660fc40117ae19466bef7ef181c1378e7c34293ffca39fed433c8073e617cfbfdb32b116ee2fb441f39e1f3ff7746febdad899e323fc8086ed6b62d4609b2e5c3c8b8f0bf75b9f2fffe8deb7437af3ecf11361d8f7c49e7db5c1d3274f1c272ef69e611aaf3d6eb060032eed2899525806a6fee4aa7176cc85a13cb4decc2fb7c6d4571d6d96b3dc298016eec89833b033b1e08312862532f0ad877101d4d5a1dabeb2de643646f90ab489119ca2ca669b8b573b5af30c23aec77fcd098489eae5c2ab3a75e49767b38fed6f372bac78dffe9e73ef7df8ce3b7a48baf6c391931c6dd065c8a9e47ad249db632599c587d6fe02e091b55aad751d4dd69adbe280d79c649b1e26da7dc7922fc22a8c87fb17075a7ad2a6cf6b115bdabcfd5f93d2d0d0eaff203cd6b70e9c657dd20f94002540095002940025708713a0fa0277f817e0565cbe80ecfbd817b8189bf41244ff233ff43da8097a9e63db26f208e027e07908f825b5091772f6f1906b3ab0ad777fe7becd9b378741ecba44d719d320539375dbf26a0d7376b6529a9e0b22d6b1e3c00b611333902880a860b6a8663a6a467ce21f7f77a9645d98685a815469789586335b6b569b06e2ffa3988b88183232ca0984a226648bd9cdbd3df7dcbb7bdf9f16bb3741a14060d9ef7e67f777ef1bd8f5ad3feaecee0e582e208213113b226e18fb310bef00d20a92aee01260080b0d43c40dc03b00bf471049d027d494624e57555691595511b8c479b0de51faf0ddb78ffeea1d44e1cbb2deb2efb32dfdfff5dae01e4c92d6a117b1fdeebe7ffc4ca93476fc955726975b5d899103332c80cfe1ec9117de8595ea24f6667235ac0d0e8e95faf7ef2664f2b5578e8fd56a6367de7af5ddd367c69c244780545e7de9d848a936f2e1b1d7a15ab8525f20197be7bedd24ac9b8810e89721ba48481d4904fbf6f5e2d61ae326adae4c3c395f3816863bfad25b23a5b113475e4a341217ecf43633bfd266c5ef2b9dee6cb79c15cfe2e3b9d75f3e350260675e79f523a430ecd9a9af81f12aa82b23249db57d65090d5239fad2b1a1b189c153c78e7e5441c7ffee8136175b0a91ab2775f5ca35f9b79fc01ebc8219bcca895a6de8c46b27c74da2cb6d6785148aee3dfb0bc4fce8dc8cb6637f6f6be475d02d5dfb9559b62773e5ee5a5f80b55aad75fd727febccedea888b67574fae76dbf67bdef65bbab31dc6ab5d2e395b6756c9c01b38da4ea0edcbdd4067f4114a8012a00428014a8012a00412027433817e0f6e390261e03050f657c5bc9ad222568a3cc60a6c37ae55ab101d84778061636801066e9094214ca542abbeb5a72b9b91bb7b3a5116f06219462ed134015e030e75f5602b868c61ba9655b62dbf5a75709187efa17598b6efcd35ce5f9cfd6272aee6c27a97faeff9f6a5998b69bd28cba21bd751b9502002e33111cbc63c1f12de8b3d4696fc94b6e5db7f94df94ab95a660c4139ed345a1e1f85218cdcc550a9b7b3b204fc0490c27738210733cfc17706440040103234c20295c4822143b44fc808f85c444532559e1042e0c030b750be0e358ffc5ecfec1a1c1975fffe8eda3b0507174ed7a1cd9f7410da78b7fa9174f924b976303503eb0f53ce9dd7f60db9993e7defdf539c4296b1c3193279216c9ff061e7cf0c4e8c9f78efe1ae752a1c0b995c993276afb0fefeccf0c0f0fbff96af017cf3df5a303e5574f9e7ef5c5d3c9335df71f3ed8cf93fe1f1da8bd7a72f8e8af877151d38889dc855507dfb77b3b777a94efebc754ba776e231f8c67762fec3db71db7fe049e6b4d6d79577cdf633f793c38f2f6b9a3580397c9706e9d97773ef8e0a955335fe861b1f56a1a7cef23ab97b3f83c4e1686d732cec9a3bf3e99dcd01ef8e1612cb82d46ecfd2f05b5f822dbbe329e3cf6a3878dd7de1b7efdd5041a97d9f1d4338fe83c597d911f3ab6f07692f1178ee55400a42dffd653c96b6d3f81ee270fed7de5f5d3a7ffb6f52ab56d0f1c7ea84f267d6d26802ef89dfbb64b480fd9f7207c40c9d11e5da21db07c720b4f2f21f3f413c97bb87c79e117cf0fecbff6176f91e752ce6d7b6b3b377e2899db9571af31c9b6dff3e2449b493acf1d5e8d912479048b63b5c6c45fb2b65fb63589a1d5ca1eda52fac1cf0e6d5ff51f842bcba4bf29014a8012a00428014a8012b806815686f3359ea1b72981af95c07ff8f57fd1e5786b07bfad2877682c6c56a35c2d8d5faa94a6ea88ee9fbff8c585a146ad1ef9c4364289158bbaa2abac1734617d37b1bd1f91cd9d9b6ddbadced7393ecee57549860381450903280bd8b6df340314034c693ac312df777df821c29853d221a73921c7721acf927c4a22518378d5ffeee0e3071efdf79c960d7939e48490307ee4f38800701a4e65c66f54dc6ad9352dc81f3a9e9fc915f9544ed9d423a57292aa59a6ab6a198409a01a41e29f8033200eb93864231f350e8967478ecd780e8782858e31f8f1bf7cf0c1c9f1b1cf3b8b05db72f21dc5fff89f2f5c937be0384e10c83a0cc91b3902234991d77518deab8f859bb28e3084e4b4ed204b9e59ec00baf94ec0b7da2d5ebb9e93257dae396ed29f3376ead8fbe5079f3ad8972cbe76ec172f0ef73efadc6164c76fb48755b35ad270d5bd850badc591152c169aad817165476bbcb2b643b7bdb8b2c3959fafc5bffd04d00adf052c6c59d4c9c627b0f12757ce77d5e7255d25a72b60af7afcda17967478ed87db3eb1ba872557964eb23dc60df6d9f6b1b52eb69f40fb97bb561ff43a2540095002940025400950025708dc983571a535fd4d09dc040221838870d66bf8938d794b66322a0f8dc188636ccfb59a5679a6365fb12c13c1f842188ad874af5a61b56946c48c2154885a0629d1767d961711b38f7684635981efecec344cb35e6fd6ad46d3266e201a08c6655040d085c1ded959e8dcd43d5d2a17735aa1a3b3a77b93a670b3a54bb50a2bcbaae139b21af3c94e3f42ff917a00f53e8617b3990e89c976465d9667594110c2f520c92a2b6bac928e58b80e5819b50c9112c1c41c4a12b6b206209e88188138f011c3008941dc033f144d607c4f66798508b1154d7c3137b0fb5e51533682964712c1469e5be319b804d66ebee4e692d3e53db5bb0197c0da9d2e6fdef6d3923e979cae7e94e79df1f173affea7b11d3bba6b63c33321d9b56f67ebb125cd969caeee61d5956b3fdd7671d76eb664a4355e59db3eda5e5cd257dbd3b6535cf264fb09a05576b57b68e313d8f8934ba6d2fe7449574b4edb3fbba1ab5fbe97d53d2cb9b2e414ca99ed30b69de5d2666d1f58ffe292e64b4fbfdc7f10d61f92dea50428014a8012a00428816f3001ea17f806bfdcdb7569110990cfefbbd015f0ec301690d8ef3b96e57830a01106906cf0b361c0b030f85901f676d3f6149997a56c143a816342432f0a6cdc73bc0851c24dc39a2dbb4dd349a5326ec0d79aa86da80404550c10d8ef7b6192020fd1420816f46debd9b265cbe6cdbd295569d4abf3a548959542bec8b312cb408c00950339fcc18811720b509b40e2385e66454592d242044144069f090b11012e26c80cc0f3504ac0c942544eab5dab0801a4035050017f70238c224d574ae5a9744a0b5ddf69925ca788a4036828dcaeefefeb9a37dffbd05ffea4fbf8893313a512296e7ff4a1837ba092480f4a8012a00428014a8012a00428014a8012b84e02d42f709dc0e8e3379f004404d9c4aebe2a918ffd761c0ccb06b0ab517a20910c4c76da71f851c8421690e108031f01ca0be2c02d5ee098106500049e1525368ca6679bb365cf0fc430d65dcf13888711a0eda7c84455054591044984472093ce44bee33ab120f0996c4ad54455d5454614638909212ec0c23300833f2431221360d27388226044941e6093fa0289a220120d9233d41d60c9c21c11d8002d01ac6741d180c02310c231803a880819487ed6eb558810fa8eada7d4741ac10d6c269daa99ad5a6f0b8ba43fd72020770f1c7c6a608d9bf43225400950029400254009500294002540096c8800f50b6c08137de8eb2400cb3e8e39ece7c3f887d99d1cc9afb875c6084262c65bb68d2921241f327dac4820e9e72184001bff82c2b330d6393ff6092f795128c66c3a5f8c1bb669464d03fa0152c84412cf692aa7298a2c134593f58cc671c910902d5464095e02c4fe377595e1328a9ee238a814a2aa205c02b0e71188801800280d063c27a186623241440644f009402e1053602336f11db00c9754256c1526c454111ed02a4000df41c020522184e820ba4b2207a2d087134456a4622e9b49ab724a45f105555d1dd4fd75be043a162540095002940025400950029400254009dc2904a85fe04e79d3b7d13a798685f12fc444e139d8ed080e4876da19e4e17b2831805df8e4aec821499f6142968bc208e90031e144f803503a0057bd20741d976183b4ae8a8a1a31ace5a276a1e006082870a0362847b12c0a1d79bdab2b932be4a4544610d54c2ed7552ca6441e867ab35ee73926d7d991cee5117c10b149fa008918113fc3588a103900cb1f1d43742089110860e8e30936492f40ee00e6b0e014684535c489c700ae8ee46a48c200fd278910ad2bf076c02581ae5182315fc8c2d16136ab99422a8697831e94002540095002940025400950029400254009dc7c02d42f70f319d311ae9740148b3c8f7a00aa22a764640d20dd9ee579b11537906cd627290048130812053f5c24c8f66708820c7cdf8f8390835a0061fde426ca0d70aec73bae3b376fa2572f484408515000d6394202d28ab0b958d8dab7452b74b2b22af0922c09c43103cf093d0b73e8eadaa4a452118a07225600bbfb2d7b3f31fd099217628c95a414c0e84fe20860fae31c8e81c4311123be0067493942a41124d10224425a04c20a924801fc491c04f8d32a5818863ea21e0ca391cb65344db11cb3abab63ba3c7bbdd8e8f394002540095002940025400950029400254009dc0001ea17b80168b4c9cd2510873e22f661c18b1c020760e4fb01e4fde3585615a800c04910047e9258c02289c06309c20434e411048117f8360c6f866739841310de77fcd939bbdaf07909367e161105b0c761b9732454144e9638a41c287cacf08c2208d00bf47c1ff714012e08ae1925ae80743a8dddfc0011fff033242a81f894ecf92307007779880f225801950522174e01780b9808e10cad8c8224bb00fe815616019ac14f8088067801421f33444e025c0580b8a038208a228a2b66b3d9da5ca9bbbb5b5244c443e432999b4b99f64e095002940025400950029400254009500294408b007635e94109dc5a043455d1555993250d49f692042339111d24f891c80d2228000905d86d6f6db627b637ecee0899fa2d154059e1151d86367c03c9be3e8407211cc80b021ef3421fe905498d03db460fb0eee16c10a29887d50f5b3d0ab39ac62312c0753cdbc21f18fc880ff01c07d762e2c4b11d330ec14f022f40f22788511bc1b6ec9a61d61da3e699b5c06e046613990d3c340fc3900b222e0cf08745fa431890c067e09940c840122980230931c0b4e11de8e8e8b02cebe2c58b9aa6415f112bc432aff9565ab5caaff9d4977ac0193bf1ca6b279c557d2c0e1d4c7cf8cacbc7c6563fb1aac9755d084a678ebc7c6c64ed6e172770cd6edb76b578719d936bf67cb31f68cb7671c2377b74da3f25400950029400254009500294c09d4380fa05ee9c777ddbac14ce005594210918c07a4798802ca3008124492d2d3f4194e5aeaeae7beeddae4139105bfd8ac47208c3b719c615a558d3f9cd9bf23d9b739210a93a23c9c840406dc379510e333991e19c28b6d155102445037c3740f101df76cc6a1dc50c5cd380e3c1341a81e762d7bf315fbdf0f97963beead46783e63ceb36527c9891087ea6f8980b5ce25b22aa144441e41aa163c49e45dc26e3d98c6333aec77a3e874007cfc7399c195c98fc841a018f8085240901790ff066104428b0bc806409c2a1c0213b333377fefcf952a9542dcf5feb85196f3cfffcf3c7ce5eebb12f753fa84d4c8e4eac32cfaf0eed9447266786cbc1971a657563a73c343e335c5bb3dbab1358dd76c515a7d4a6abc5fe17ef5e3db9c6d02bbabf891fdbb25d9cf94d1c98764d09500294002540095002940025708711a0790477d80bbf1d969b4ba553281510f9520c89411eb27ca8082048922caba954cab3f38edb34ad66a23e28088e6341325080c90f09029e11383109db27b1a24a90f29364be61d41174a0a715cbf6781e520482ebba4979c080715dcf36acd0f17825c0fe33ea1c205880671937084dc3989999a95a91e1fa4a2add77cf76c4f9fffee373bffffd67dbb7dfb3a577dbd66d77a1928167343081d0b65b490db0eb915c0035421441447c03540f8296b2401211102ca80c268e38c40e245770062d02680e20e6017a8aa669d66a359c60b1f55a5394856bbd2bb812f07f37ebaf306602a0f0c9601aabc65832343c1a04af26992ca222924f5fc5a10f3cf5573b3181b5fa5a3281b51e59bc9ef4c2ade869b17f63f1ee9593c55b8b1dfcc14e9229ad647b0b4def0fc6850e4c09500294002540095002940025f0151358f1afe5afb877da1d25700304b2691da90492cfaa312b0b101a8c501b102e0098a990f28703a05028208ddf730307f1fe28501886b0c221fce77b8c1d1017c1fcae6f41de3f9feee82c62373f9dcb729c52af7b8e0d77802f4a4820f0a13d888a06b6e5c33b2043c2d071bc24aa1f46bb6f39b69fd8e75cbd5a99bc70e1deeddb3ff9fbf77b7a7a0496732f4efc1fffd7ffdd7fefb7fefda13fdfbc6d0bea11a098a128ab4e6039ae83fa082a2712df46a902c279b88b1206499243529c0033476e034a192258e08a5300ee8318b6b78c3a097e104dcfcc323ea21eb846a3a9c5fa7ae89ca1979e7fbd822746dffc9b1746fee7c7f8978f8e1dfccb9f0e24f6b9f1ce4b2f8cf5fde0e9fea1178e3b8fec236fbf37bce5bbdf9efdd78bbd7dfce868d248eabaff99671ecbe2d19153478e9dac24690ddc8e034f3eb9bf1f67a5c1775e7bf32333b956d8d1872dfb224eaf1ecb877ee621dc714fbdf6f29be333385ba76767e49d178e8d74f7f2e3e3c91c0a3b1ed82d8f9c3c97b4d2b6ed7de6f0234b17ec8c1cffe5d191833ffb697f2969b56ce687fb5f5bb2f69f3d7b908c9c3872ec83d62ad0ed81c34fee5fda15fac7b110793076eab5d74e8e76effde153fd230bfdf7b5ee2efdb1ded02d68b5c1e3afbc79bac527d395756afcee679f7964b1aae446963972e2d81b1f0cbbad51bb763c7cf8c97d685e1b3a7ee48dd3f5568a49cfaec70f1fdcddbabf92adbc0e9935df69edf89123a7c7eb498752d7c34f1eded7b738dfd620f40725400950029400254009500294c09d4d80e611dcd9efff965cbdc873f0064022003a01700720100042013c8782833a2401117f6fdb480780d19d1cd8d68694008f06ad80015196783ef12040325056c4544ad37409d67ea552711d1ff50d742d83be7d080922eb9ff05e409066807c7ed7b17c1bb28589c5eec22b80020251343d39f58f7ffff79f9f3d97e639a423ec1af8f69fff0ffffdcf9efd0b780afee1377f3f353d63ba9ea4e9a97c4ed13398237408309f3070c2007511933f71e413d44588f133a95088ec010824a22c0132093079a81e60da7ea23810b342a29e8069e7e1cf48a70dc358efe5c8ddfb0fdc9f28134a3d0fec1fe09d5a486ace95a87ba31656f02970dcfa309c02856d3bee4b2346a23e3aeaec7dfc8947f76e73673e7aeb4c8d943e7ce1e8c94a76c7e3879ed8bb5d1e3e79f4d8a0114c9cf8359c02daf6470f1d3ad04f8647eb445aee3d5c3eb4d49ae5ccb8b1f7d16bf5ec1898c3f83839f0c4137bb76995e10f4e9e0b0e3c71e8e15d5de6f8e9b7ce2e5b6fe0949315c19e6fb55a36f34175e9dae5d2a95f1dfda0427a0e3cfef8033bba2ac3277f75e4c355e8e07c2123c75f7ef5e4a8bce3d1c38ff42ff6bfea498cb8f6d0803671e245380532db1f3f74e881be60a6e2bae5649e8bc7c284d759a63374ece807c3f28e070efdf0d0033b3233c3ef9d29c11973eac5d74fd7f504fbc3bb7a26cfbdfdd23b230b7dae607b8de9b57ba743c75e3e3d6eec7af4d00f9f38507067de7bf5d832d68b53a7279400254009500294002540095002772a81e5ffe2bf5329d075df5a04b0b58ebd6a86150556923858f57e14c041008f8028c8be178c4d7cc1f0a80488200289e5cd9841b100d8e32ec308f016605b5e447880222180c0b4eaf028f861506fd47c9f47a03b89053c00e182a613b811eb06a4deb425a5a992900b455e915c68fea1b6202742c9006e05a7699efbe80ca2090a1dc55c47e7a66ddbeefd93fbd277f735bd50ede8e6d2295744e642c06af83fe21b8d1063c4502fb01325019645d14482ec8256b142822a0b51ab484152aa009f403d29abc0f25ccc739d9dc51ddfba37ab2a61e4a7adecf0f9a1755f4a76f7fe8786deffc8e8dbf7d09e7e63f00c1e5efa9799bbd278dbc33f39bcafdb183cf62e217b7ffcf3477a71a37fe4ccf3c343638323ef87447bf4e0237d3ae97fecb189175f1ffe70704847579943cf3eb513ddeddc29bff68b7747aff475f9779ba137d2f363fb92f6077ef2d3fddd984270e6f9b7fb9e787a3f221c7606ef9f7bf3ca8efee258c96a1657b4bcfff9c34f5d5dfbe0b13730e1277efe74122bb17b77f7b15fbe39fcfe5963dfee653103eea9232fcc4cd6bbf6fef09947fa5b632ceb7f71d4d5b7960f0d68e053f8e1b34f25bdecec337ef9fc39e7ea3c17fb5967997c76e0fefbfbf63fb64f77e09a2992e1fa58a9961d3a9560ffe902f67e9e1c1b292633c4b1620264f7b299afb8dbf69d0e242842a35c93f7ed39fce3ee116321eda3d53bfd410950029400254009500294002540092cf98737854109dc3a0462c4da27e5071024c0f3280e08bf8028cabe1fb4fe840e6a04f088f70f0422a27601ca11602f5e14517a10120132f6e47d0ffbfe91a6a55ccf15654d1524c7e34c8b34eb918f447f84f6c7c4747cd3891c3f324c47350c06150a5916550a5cece813c609c2ba69224301c51125869b989d8598e1a7e787533d9b33c56277be986760cccb0854406c41e0c792c0aba868c809c86d70fc442e11b28631ea192234002200d01088922521a1206450a400ee822bd904319c0591871408146664a13b38536f547845c0c56bbd8f567840e2ea58e79060295fb9cd752373203992262dc7012c4cf3ddbf7db175b1f5a33c66eab89bedbe6c9392813dfdef8eae1ea275e5ead01beab915c5cee957ccf56484c021444e422caecea0edd9eafe974e00e7d9de2b71f1fdbb7bc9f0c8ea0ee11440d7e589524060756ffc68373457ecbddc81bcb3573a37bcbab7f596c917b3a474e2c5bf796f79b38070dd7d9767c6ef39f8d41e64790c22f061f50496b65b7d175dac7ca7bd4f3fb3f7c86ba74fbf377a3a19b4e7fec707765e59c1d2cee83925400950029400254009500294c09d4ae07afe857ca732a2ebfe9a0924dbec700ac4493d3fa8f5b5220092bd775dd7a12f80ea83f96247bd5e352cd38d3c9611e004c0f67b927bc0c10e0f51893009300850cd80c083e0a14c2007eb3d46e200b6e6e13ef0223fe678cbf7eba844e0f2a848002542d1e550ab30e2d954be8b93e498136cd7836d2e29101f60bbb76eb9fbbe015e10cf8f5fbaafd88d900046e27d589fd038c45e7f2b2100ae005e486a2446463d29401824d101081580a200d21390f7c023c8019103970f18e6318b0562e6f012204f01850a48b4a0a7e8c31fa1291bc3defa2b9c58d6489e586861180b6510934f288eb84e37b8d7f3e3e79eee6d3d3276e6f8083fa00d8dc120adc1d45eb878161f17eeb73e2ffbb1ce7f3ddaf49c21a796b6c6135ffa4826d0722a18e52b139e18c1699b63ef8ffe6a60e495bffde0e49153fd4f27110b377cc023559e40c443d2817176cc5d70b1acd5ddea650ebe71e4a349f9e11ffd6c1fe2349c33bf781e911cad4896b086a92fb03e75e49767b38f1d6e8db156cf6b5c6f43de191ae9de7ff8b9c3ba511afbf0c41b1f7cf4f6f18181c7ae3821d6e8875ea60428014a8012a00428014a8012b88308507d813be865df2e4be5099c01986c848dff208471ded2f3c7f639cbfa2184036358c09ee741ae4f561498e8bc88d4003e8a39ecd4cf37ac5ac36e5aa161863821ac84ac807ac3f4109d8f708320342c07363a6a032283a0697986e75b61887a85d018c0163f7c0418a2d1b4e013c8e43b72c55cd7e64d7ddbb7776eea2d746eba6bfb0e8e159a4d13863c340b91c800d180c4f86744a403042103d98320e6245541f504011e084806f0a843c810282470a85590fc817f0089037051e080ba00c7709ee3427d003517d3b9ccddf7dcfdfd3ffbfeb62d7d19fdf2e6feda6f2d3139c3dae0e058492ec2d075df3f7ea6541a3bfeca2b934b028156dba58b1deedcbf9b90c9d75e393e56ab8d9d79ebd5774f9f197376ee1b20a4f2ea4bc7464ab5910f8fbd0e75bc15fa0249fbab43b7edbf6dcf8be3ae3c69dbc5ca87567cbe3a81fe7d5845e5e84bc786c626064f1d3bfa518514f62c4f22405baebb9bef7de8f02e8d4c9e3c72e64ba4d72ff039fad25b23a5b113475e4ac40313efc4068e2bcb6c39327812c0483f7be48577e1c3718cdace3df001cce05d4cd46a43275e3b396e12fd4a08c406fa5e7ca42df9d287efbe7df457ef9c1d096419121d78388b3213cec82bffcb2f5e7e6768b12d3da10428014a8012a00428014a8012b863096cf09fb4772c1fbaf03f0081c835ed1ab661e3a22e7382cca24e61d832a4792157c897266193b3b94cd6b42d5e9243cbf11c8fc5febfe5201c802102c7652ccb6209e3392667d9a2c4082276f219db42d4ba029bdcf17c5d5583a6335f6ff676a5ebb6ad795cec33a12b660a9d9e0fd35de078d60b4c5191a16b904e7576776d494b199d53f26a3634023e871004d14a1c0c61b2ef8fba832d450204044491ef1abed0aaa1d0f25fa0ce402449d8fc47148448a03b8818081430f4e1ee408a4122af885b886db0cc5a18a1de6134313519054c75ae712df4d99dfd99e1e1e1375f0dfee2b91f1cd876e6e4b9777f7d0e26b0c611f34ac1c02b3104495fcbffb26372bd8ffce840f9d593a75f7df1346ea394c0e18388b1efffd181daab27878ffe3a898fd734245c248d971f57877efa0974bba19e49228270f5c9a4d9c2ec500d7179eff8d4bab3f8f0e249ebb9e4ded509fcc5734ffde861e3b5f7865f7f35993097d9f1d4338f2c6d70b9abc42c970f3efde8c88befbefbcaf1fe47924192ffb57eb43dc1c585675a270b9f78beefb19f3c1e1c79fbdc51b0e63219ceadb79bfe621374bf6299030f3e7862f4e47b477f8d67a44281732b93274f38cf1d3eb4f795d74f9ffedbd6bbd0b63d70f8a13e92e4112c5d4aabaf2b135e98d0e240c9c91aefb4db3834f8f2eb1fbd7df4a3d6d35dbb1edf073f12bc116ee82cd34c5cd619fd400950029400254009500294002570e710b89ce47ce72c98aef4d62770e4f8f1acaea664a190d652b282b87bc7f31ab55ab532333f333932f4bbf10bc34c1ca0f440697e7e76a68267912e609a7001288e0d7101127861a2f117dab2c44a6228a14681a894e71a71ac78110b1b1edbf6045e83d0bcbb37bb6593de55508a1da85fa0e9e98220a40451b73d942f6cfa81a1e96a5a29f4746cbe7bf31655d1ac6a23240cabe9acaa11511664859712497ea81e06d0251062144184eea0efd88d4603450d784e4a020458048a47222f22bb81452604341511f81022d82096588f8fccc9b1a10f4efddd4c69329749d5ab8df24cd332bdfff5541b8b7c9dd717180624f0f4ebde675e6827ebd8435e3ca0aaef04fcf26b8b37377cd2aee70d37bece07bfa6b19cb153c7de2f3ff8d4c1be8456edd82f5e1cee7df4b9c35003b8ae63c96c935359d75bf0811def109f96be8bebeaf8f2c34bfabfd23c40524d105c19e9ca55fa9b12a00428014a8012a00428014a801258b91945895002b700811811f90cb350a410dbfb309e11728fea8308f1c7810d7cdff7d3bad2b5a9bb61d9aaaa9a9687ba82788ae144968f905120b09c65982c2321d40062ff1242fa4584f62349000a04112b882871c0f2027401eb0da7b3a059b607b10085e160b7731c32169074e0623f1f6287ba22f382631b97c686a6f458d079c96e20cb20e4658d11655e56d47446cf653899f7896f457e250e957c4150548c22201c40942123807c014160494b499061c2248580206a00610649d400cfb066b3393f3fdfd1d1e1dae6a589299e5190d770bdaf022e01fd7adb24cfb76b0797c00df5b57cfc763d2f7fe2abfbf4358dc5f3cef8f8b957ffd3d88e1dddb5b1e19990ecdab7f3fa57b164b64b4e09b06757074f5c7ff7edde294a357e05aff406e6429b5002940025400950029400254009dcf20496ec10def273a513bc4308201a3a491b48caf825074e91d50f07013c024810b0edc462c7dea7613660c6e36149128b9d79780d6c3b348da6eb46aaa88a128b7801e4fb23b7008f618f5e5134d7b123d40540c143fc8a08c74b96ed1a66a06b227ae56c680e60235f08a2d8340d066a0011833004277046c6c68cc9d99ca0ecbe7b271346b52ab675fdf363175dc28a8a92ea2ca43a0a6c4a0905d661995d7bbf57d8d48d1a8ad01214a04180a284d020801a41b2a8e413c408313c221a92028610570c822f462f40538021de8572b9b3b3ebe2f80cc3b62a062c20a03f6f19025029f8cb9f741f3f7166a25422c5ed8f3e74700fe403e941095002940025400950029400254009dcce04a85fe0767e7bdfd0b94b92847a0430fe137b5e1499567902d8d4d0190c49b2c38e1801cbac56e6229e634449c8e4f2ae17cf4c942bf30e43d42814e390e71908136083de875240d36c489eaca78b95391bb508182e82a7c1f77c5194a03758add9b98c665901c3baa81600fd42141a745c176e08c7f19b5567ee8b7163b61c378cb920ae4dd4e05fe8dad49beddab43dd74950c6309dd58a05359f11b31939971675d9761dc411b85e00b35f5211e90059012435200802950992034b482415030f4e018813588d7ae87a7a4a9e2acd998695c97504d10cdc05dfd0d77bdb2f4bee1e38f8d4c06dbf0cba004a8012a00428014a8012a00428014ae00a01ea17b84282febe6508c00580b920cc3e86b01fa206926d7614f3e3108f9fd420906555568cda9ccb388aaebb418c2082df0f8f5d1829c744c867b609bc10718caec99280e2801ec3613fde4355001981fd821425cafff814c7ac0f7dc18815eb866b3ab1ee13216244c2d89e4ddca42c816d5be572d9aad49ae3536a403a53a94dc57c57b1a3a37bd3961df7e67b7ba56c5148a5889e86d04088bd7e6408887054a048014ee366b399142744f9444c1f7911285188a28b881c68f902102480b8050816466150afcd0b1c1bfa91ae6678b18268852ddb7aa74ab3b7cc0ba113a10428014a8012a00428014a8012a00428816f3201ea17f826bfdddb746dd8ad8f659415e0e10b80418d0315fd784e441c41269369e87a39d1f90bc23080e7c0b182861597a6cb0c9c09b18812835c1ca7d3422aadc504b50cf5286c22c91fe500e16848a90aca14103ef63c8717c50831fd9c64fb56b5e9e859455242de4392022406d007ea17b8a5d9196bb27217afddd7d7f7c7fdfdbd3d3d30f3a13ac0a47422f23e475c841f20d200e10abcc429320bdf4262f827ae005151e3887841e8861e1693c4214054008a02a1cf40a1100e02e813c219e059b5f9ca17a3a377f5df058f47369b0fc2c8746b5a2a7d9bbe3e3a6d4a8012a00428014a8012a00428014a8012b8bd08241bb3f4a0046e2902aeeb22f09ec7563bc4fa92947c64e11338065a0e82c49305ab3ed9670f3dc36822265f9134db82359e6cc90791cb4b68446ab59ae7331c2b7b6ecc739014845aa12bcab120a0a1ebb8f642aa0212071071305fb72c98ef11e3437980896545c866d3d01344c2422a9d927459d4a4a66f951b9579b351751bd39599e9f9d94660b8c40f05120b1cdc048cc0c71c1fc2dee7f8968a80c009c96ce1bc68cd3c5908d207a200be020f050b31d9d083e281353f5f360ce3c2e89865ba5b7afb1c2f9a9999837be1967a2974329400254009500294002540095002940025f04d2540e305bea96ff6365e97aac808bb47e901d8fc8bcb80ad2ff01292f271c0cccee772f00ea01ec1dd77dd73e65f270822f459e41c049ddd195952fb7ab7b184191f3daf6b2ac76645d1338daa233a295d9ba994195ed134058e058ec738222bc84e442a3543cb88a222a812df344da802e819bdd0d961f1a2efbae34c3362e5a61da4593d9d29300a6f4626eb996aac286cc84b8495b8808f43d68f93b00544036032101684a600c407134181249120f4453e4960408c03894249e0ec38989d2d4d4d4d21e9e0f3912941d676f56dbfffbb4551d1bfb838beb8767a42095002940025400950029400254009500294c0cd2340fd02378f2dedf9060924b20289191d23ce3e14239422601881617c6cbfa3121f520972b91c099528f284ca7ce88563a3e30c49ca02e68b393ff4a6a6bf8883b8aba31b028141c86aa94cb57a09150ed076a634994eab8683d002066a0504b907182860dd30a836eda21ba622d1851e21f6ff5926911e14455695d8b4e409ac9f552249b638d8fc9e801285900440a70254050502d33fa937800a84c9cc132700bc14580149d2179824dd014a0221dc030812403201cf22e4c1736db75e9d8747e0d2a54b8853c8e6b489a999a675fa9e3fdad9d1d139539ebb417cb41925400950029400254009500294002540095002d74380fa05ae87167df66b219084db47880c8883408c638524450b61840bb0ae11fc2f4982aeabbe15f841c8b3a823d86cd46a0ce11549742c5bd3d33ccf6edbb64591d4f2ec0cc70984281d1d1d61d0703cd7b02d298c3822a34c2092ff11abcf120e66bae3c5d586d5683aa9b4044f812c8b51ccb8be27ca9214e9211b3602a716853a3c0d8a22a532d03b94b474c4f0885388217218c36d01f500040390a40c61f28b65d88885d220e206504201bfe12d48864425020f190d28a0e838f6d4f4e4d027e71a66c30b83880841c8fceedca71f7df269774f6752df901e94002540095002940025400950029400254009dc7c02545fe0e633a6235c27016410a04ea0e7ba3841536cb4c323802d7855d52ed72350556413c02390b80944011bff29596ad66bd5f9f94d9b7a0ad98e743adddbdb2b2b62b53e1f11ff9e1dfda22237ea86c0abb615f28cc8110e3d270e08e809b49c0e7ecccdcd9bb5ba1b046c10c15310620f1ff50404454de5725ab620a39020b406d219299d92b3794e4f41db909155642384481968851e2cfe75c26c5b07fc0e1021641020808ff005b84901441bca02ae65cd94a62e8e7d7169625c5495ce4ddd1026b0dd80e544481f5a96d76818d7898d3e4e095002940025400950029400254009500294c08d10a0f10237428db6b9b904c20861f65ea2d89f1c48ce475e00eceaa442a1aae1506579ae253d006940d74dca0e6a9a08b981ee445680efece829e4bb352db573e7bd1f9cfaafaeaf6a29ecff878e8ff80049d7a0f30f2982884346000b5140781590072010dfafd6ac9426e7b2aae3421230e6791ea50178415045f8010a9bf3f97c2a0335445e57e5629e57755e4fb1824a2221c02c912f90d41cc05c118b90780118842384612b4c00210389ca60e0798163737100b5c1c9a94bc39ffd7eae3c934ae99ed52c163b59313331391b466cefd6bb3279ccc16cad9efea00428014a8012a00428014a8012a00428014ae0e612a07e819bcb97f67e0304102680287cc408e058688eb80028f905b193140848a5eaaa8a52052946933575a256f63d12382e440152ba3e35315da934b3998eb86773d7a6ae5436559a2b41fa2f972f4c5c9a1659991714d7b090a3c04aa883c884014a07c23fc023e03ff09946dd369abec031444639041e9e09a81be04f46cf686a4655d29880a06b4a26c7aa1a1190e320c5b0fd03b80258442040e600f3862b036e01164903ad25404211ae0d780512c54436b69ad6d4e4c5f1d10b50169021a5c8e96256b72c279d2dc4d3154152fbfbef99afcf5aa67303e868134a8012a00428014a8012a00428014a8012a004ae9700f50b5c2f31fafc4d27d068d634451619d9b22c4551555d845f0026364a15225820cee77da36b76f28ba6e1c2dc9e9f9f4f29240d71c1d2b4d5341451319de6f0f050be90411c00c78a96157575f54047e0c2e84512f29e8bdd7dc409b47213a02148623f8ab8442680e119a9697aa55255100a2c2fc74e0055039414803b40d772c84140bd434949b39ce47b6c08e1300b6eb20000400049444154c228164496442cc40499084e04841e84103344c840cb2180e0018429c02910c06de13bb6ddacbb96592dcf4d4f4dfabe0ff544144c9caf56202e20ca2aea1c28b2e6390834e07cd7838ce14d074d07a00428014a8012a00428014a8012a00428014a008613854009dc6a041af315369b46d5bf862048928cba8304bbf2c8fb87901fc349b2ae65f284976a75eca83b9572d3b6899e49ea0362337f666efedf7dffdfa6331d5313939d1d854aa5beb5774b57f75d30ef37f7f44d5e9a808a219c0501830a82281900c940d41048120a08940119c1b0fc89997aba909334c6f11c4d51e3188a03c8291093ad7d51421401f6fd193f94241eb10684873781478d01c40690c88fe15d48c2031017802c82200c10c9e047bee3daa6038f40a5323d35d1a8d5112690ebe884b46233ae498aee39a61fc4c3e7472cc75175ede2c4e4d4ec34e4156fb5f742e7430950029400254009500294002540095002df4802d42ff08d7cadb7f7a23ca399eaeaf45dbb518f0bb9421c127804044608e3501094b2edba84df7acfc07cddb9347671fce28c478807a940c2dba6e5d94e672eb7b5efae2f3ebf60cb9e6742f32f0b5dc2fb763d506f3a35c3b4ad0636f49b8e2f86121ba25b5651d133eb07a469048a566cfacd8f3f9ffc16e9dad499c1aebecccbd00ac449a0866ee408a881c023fdc00dec062be95164f8bc801dfe444f208943483206a2c48781b001df77ccd0771cd328cfcdcccd55aad52a7c1ca97c079e867782117ccef119c696047ebe5ebd74711a090de9b4542ce6ffcdf7f7fff6b7bfbdbddf229d3d2540095002940025400950029400254009dc2604b8bffeebbfbe4da64aa779a710f8c77f3e857c0118ce99741a827c3a14fe040971ffd89447383e0be1be3018c2f6fac818e4007e776e028509055eb61d3b972b7476747e7efe7c215f1465f9eebe7baaf3b5e9e9992f2e5cc43efff7fef44ffbeeee773cafd16ce2a3ef27d1fe1ccb407d80e305a812f2921610060a819eeff9aea3ca424a51c3c04741015d53911de0f976224580ea886c847a09c8118037005107481f207110215e000508031fb282c82b887dab313f377969ecd2f885b9d919c33453e91c2fc982a408b2c67312e4083cc409446ca36a8c8f5ddada77f7e6de5ea8194ccecc1256f8eef71ed871ff9fdd29af9cae9312a00428014a8012a00428014a8012a004fe700468bcc01f8e3d1d790d02d97c370c630801b6ac770f7a010c8a0710029bbadeb45445b974d1c8173a7841fe2feffd0bb6e9dd20125c37954ad71ad5ae4ddd96ed8888fae7d97abd8aaa802c230e7e323cf8d9f0dffdd77fb87fcfaeddf7edff93ef7c6fbe3a3b78ee6c697acab66d943e1039599165542cc447141c8819b95e332e8c4c3301d9dc5da8d59b9333a5829fedeac879be53ab7b2852000bdf711cde350551c13ce11c40060126035f03aa1154e7ea95f2dcfcec74b35e45ac812449994c4e9055c208bc08c143918451e841d84066a42066854abdb163a0c08a52a96a5c9a9e2955ea55d3fa6fffc31a80e8654a8012a00428014a8012a00428014a8012a004be3a02d42ff0d5b1a43d7d450444590b91f21f279be98ee7ca016a0360979e37cd46a1902bcf4e76776f3e3f3cf2dedffd030a00909888826c392ec779bc2422a660a63cfb77278ffff993ffd3f0e763954a85610449d46dcf3d7d66f0cc994f73396dc71fddb5ef7bdff9febf7dd8f3ad66c39c9a9a9a9828d5eaf520f4902260590689459e4b97ab8d289ae638a1774b47cd40ee3f420df0c79525a81e088228fb21112419a343778061a13180ba8430f7fd66d3ac55caf5da7c1cfa49dd84544a5234c82278210bcd42c28801e1a041e0c55c80e408881db0c296bbef9937ec30b63a7bb75851747ef48bdf7f3efa15e1a4dd50029400254009500294002540095002940025b01e01ea17588f0ebdf70721c08a1acb84b22822bc3fd97e4f36e1832848ae40d55fd3529f7df6e93ffce69f264a7501750a220e66b9e53785985365a9d66c6869d9301bf3f5f2d8d805c402a074a0ebd91c27e942272a052286e0b71f7e7aea837fcee5d59edeee62b1a352ae9aa6f927dfd9653b8da651f53d277023964ba1f061b5d938fbd917a6ebf6f414f269bd5a3343cfcf66f494ae465193e3455eb4e021e090e6c0707ee022dc00ee03280b625c680d204c4014e16210a14f184091901559516538d10f221f8b1215468c2237eade7677c40ba66923a3a16e3a8e1f2b7a3a9d413d057a5002940025400950029400254009500294002570d30950bfc04d474c07b86e02901640503e0b0dbfe440e400e4fc62861378ce8dc8d4d4f4c71f7feaba412e9fa9ccd539c2364c9317c4380e21ec877686616deaeed9befdaeb7fe9f775170033a8151c8057e1c919023c8301051f010c5071cdbffe4e3cf58fe02b6f43b0a8542b1d3758546731e810912a738d8bce7144e100ca7faaf9f9caf1be6f66d3d3d9d799e8d79d6e763681da2028113b30cd2063039f82f10dd007700b206305fa4310802fc183274045838380485b032e164965762460808420d508850885174810baa73d3318712095e8829468c1bc69292fafe9ffd37d7cd8d36a00428014a8012a00428014a8012a00428014ae0fa0950bfc0f533a32d6e3201db7520e3a74604027d1ce2f8613f87700bb0d8c8af579b56d3950439a56714456588817080380a5cdf6348c41066b63ccf22a49f63df3dfeffced7e765296d398dc44e27aac0a3e82041690186c0ac47964204c902063e8298c8aa9ac9a6e6661b5819c402384e8e5c27912d801b4110224fba34512bcf35b6f7766fedcee733aa9dd63816b283a8260077030a26c4ad0a03f006f0d0218cf151409541de7242d6f755566378258a7053f1433e8c916ec045319b94310cf90873935396eba57245c417409e709b2467b3f97c47e74dc64cbba70428014a8012a00428014a8012a00428014a202140fd02f47b70cb1180a85f1c45a2c842625095156410d42a4d366653a90c1b4ba8efc773722695c52d98d82c9b58da501940863f9c0881ef87513c3e7e6964745ce4540801188e2521ab3ff69da00987010403995810d99c175a416c331004207e2aad21727f6c6c54d532a659a91906c13ebf2cd849d1415f6235c40558b6fdc5d8ececf46c41133775e65491810ea208d785aa205920293c98542648ca0fa290213c11f3756b7aa68cf2871ddd3d3ddb52996c2664a4304446048bf802d45c7483d80d388f884ec8f81157af99990cafa6f37214757675cd571327053d28014a8012a00428014a8012a00428014a8012b8d904a85fe06613a6fd5f3781940e693fd5771abee30c7efcf185cf47155eff377b1e90b6a6325a7e7eae9ccb14d25aaa90cb8a082208dc448100d10231072b1efbfdf8e3070143383f746bf5320a0bfaa1c1f1129b8406c0020f544e75fde4014dcab8611d1bfefd776f8541ef4021208008802ac4828d128230df791981001ec40b1801150ab1b5cf30486c10e6ab2693d5fcc8c942f2c04365435f5438d4564c6210182162c4f3e7c7073f1b9aaf995a26af4f1abd73c1b777efc917537013d896cbf0882c10912fe045a1ed5a01a386ac4b04a65cb72b172e2125e1a1ce5ecb76af1b1c6d40095002940025400950029400254009500294c0f513a07e81eb67465bdc6c02118c76540620b3b3b3fffb4bff5b215df8ee9ffca9633ab8c8b3520a9102122209944c26a3e93263da30b011c78f9001e813b6fc02a852b070c04a47f400840098382004f2ff0c2741e1cfb5334a1a1a81b66beaba1231714747de0f3d86976cdfb090e48fc1b1f91fc49e17230280156544254002d1f14cecf5a759d1f16d278c5549a89b964ae48caab03c1f8431ca13386e7c71bcf49b7ffa9d8dc005469c1a2bb382e572f940b8d07737bc019222ab980c7411917d803911291dfab1c7ba4e14a36021a7643dd79d377d170a06f4a00428014a8012a00428014a8012a00428014ae0e613a07e819bcf988e709d0490df1fb85e6d7e3eadca900fbc387a112a7ed546d3757d599635454d697a3e97eb2c16d2ba56af5bc94e3e12fd93b081cb078406a00bb8f0b375898d48004d3f9cfb4cc830d8ab8f585eccc822279af9ceee9ead5ba6ca650b650258241f70bee705bec50a893e217213d017cf8570057474744bc473424f11552388e16280f801a40cbd98700ccf48487b485d2a5dfcfffef1b733550ba901414c1e78f0e107beff10f4103ef96cf88be9463a9b7367e7305b2c04ce8d5aad96f41ec936a33523b837903ec1358dcae4bc85fb5756437f530294002540095002940025400950029400257013092445d7e94109dc5204822084aa7fbd5ec7cf1ffce0075bfab6368c86a2c9481980f58decfd8560815c2ed7d5d101b31a1e81a49ce115c700ae247a03c967640224be80c46dc0420850c4fe3c22f93949b182c00edcba59f7c360f777bea36652d566d30e22280d328aee332c9e1264050a869e67551b8de972b566d963a5b9b986f3ffb377efc1515df79ee8d77eefddbdfba9572321f1900c5860233f202f2531c4316472a0e600674e60e6124f8d61ce0dd494e1d680ef54f09c32f9c3f8de42aeba90ba05a97b9ddc0c9c3a053973e03cc0278193843889b063616c6140e2a117ad573f7777eff7beabf50081258c0832c2f9761ca9d5bdf65a6b7ff6e68ff5db6bfd9610889a9cecf0beb44ecbcb8c1420828f57020e2be64cb7339ec81ba46073bd09adb4aa76f117977181b2cec142c1f3cbd1eabe8c7db537a311f9da80d67aadb7afe0698c92b4c41c1bd4e87f8c2fcfaa2947e84eea9a4b7b8b170420000108400002108000042000812917c07c81292746039315a07b0bd00d08e8be00bdfd7d33162efcd6b757feeeb7ef25b3039657cdd1047f36aff87d8a8fbed4ca19332fb75f4b64f34381806240801d8a08d037c54d01e80e82749100dd9c80c83caf7a9ee4d1c1362715f4fca267962cfbdad29e9e769f623db364d1403291331dc6e7371dc32c46075489e788ebe473e94422e1d0dd0c583624fbe6cf9f37a3346ae533893e9ba393fe25d964e59c4b571af86dce9fd5199a883018ad4a6aefeb9667b172d9ccdabeb4d193edd52d36630ba9786af6ecb93dd94b173b062de20a92c8d9eea061f8e8ca0246ca73b4cf36c739a66cf4ea0c53188a6f4cd60ee52100010840000210800004200001084c520071814982a1f8d40b58341d9fe5d10d0a4dbba05bfa334b1b689ac0bec178329b2829444459f0d3ed0342c14030142e2909052349ad40130c8cf6cba5bb0214a70f1403043428505c6340f307f26c4010421c1fe07dbebecce08cda395bffeb5ff5745d4f273afb077a3ebcd24e3727606485d01d12591252c396961cecba9a1e1cb4731a899445cb2bbfb3ee2fe6cfaed506066265e16bed17fff51727045be41d91b892e0cabc29f02ccd5c60657597262f4c172cba624152c38627e44d96087e31e42f2b8f9974e6823fea0b303dbdf1446f2654120d06158bd07d0a4cc3f37bc454048e0d918c9e3313fae819e1370420000108400002108000042000812914405c600a7151f5fd09e805876611746cbab65fe84ff44b32dff0cca2aece3ed3cd27b283556a85a4887411416565655f7c301a2defee1da05b02b88e4357ea17c300342240ff4f571114dfd3d000cf109965149e0dfa9598120e076656671d3b9ec8e64c4d33f2f18141cba34906398366249024c62282e2d712a9bede4192a39b053224672a817246085eba7a636679b9e9facfbe7f79f1b3cff5f7771a8e4ee72fc844cd1834d5007bfd6ad7d9b3746a439e1714ba45c18dc194bf32cf2ba5b6c3c8c1a84ed71bf803be52bd271ecf7b62da6293fde91a396c72bc6b7b34d7225df66039348610b55c366f14ee4f0f47410002108000042000010840000210989400e20293e242e1cf42803efc775996aef6a7cbfb07d26959f547c2a54f2c7c7ca03fe959f4e13b1df4b37e7f60e6cc9aceeb3d151515172e5ff21cd3a5db0e7884c60686ef69fad89f6e4440e70eb0446238c5253e8728845358c92f84e58a39953643f3fcd984f55c9e3758296d7a364f9ff173ba61b29eadd124013addbf80ae68b0f8f28adaf9f5ef9efba8a2b48c0edbfffedd9fe7d2fae3c18ae79e79b6b9f94c62a097d3896b9b02c7f7f4a73be30374e5826d5a84972fb45d2b88656a19dd14510a166c9ae99097e440283c63766dcd7c2595495fbc78319bd359d1ef312223703add14c176438a4214ba9002ff363f8b9b0d6d4000021080000420000108400002c83b887b60da09f8543fe1053e10b4651f1d340fa473fd8329235fa82c29f331bc5330fc928fe74445f1cf9a591d0ea8e1a04c1305d2a800cb139a96d0f68a7fd057716d014b47ff4490438214e2c480cb3279cf76d500f1077d3e9938ba65199a63a539d154c30522e474876325baf141265b201ccd21c0d128843fac76f476d11e645cfbfdf6ab1a2f746bc6f98e5ec7575a3dffe9748149eba42f93b3e95686926438169d76508c4fb092e9b0bd39e34adf60422f0ce6b29a6de89e932e1468f441cb17189bd494963179ddcaeb34d5a2ed3296c7fa029154ceb2595fca9876d7051d82000420000108400002108000043e97027826f9b9bcac8ff64925521a2bb01eab1846c1d05de219d9bc615a8e453713283e502f6ee727883e86cb19bae3381edd55b0385980ae22a00b083c96fe600847c3043ce73a7403415622748d80e515e85c03c509aa6acef3944894c60b4ccb361ce2b09223299e4c1ff9e71cd7320ba6c83282acea9c486c8655d5f48d1bbca432a192777ff75bed7af79757fff997bef0459913ce7d704164c9fcfaa7689e82bcce24b3a6142ca1cdd28a447f68e6130d5ea09c0d57f465f5744e73785e33cdaa60306759bd9d5d9e69dfe8eaf48cbc4fa109113d43d78334d380bf84ce50d0b39a96cdc8fed0a37d15d17b08400002108000042000010840e01111405ce011b9507f4addd434570e080ecd3b687205fa109ff172a64787ec9c67676d43726d859725bf28a46912804257473f7df4eeda74f06f312eef792c432709d0ac029e6bdb45359a62c0b16c7fd827fa4a3c494ce979910f57cd9943671130a2ea7279cb130b06c9e9369dd22f0aa2e81369360227606625996834e0e010b7e02406af5eba2c2801d127bff33f8f44d7ac9304d1b6ed39b366d195012c23798cff6ac740381c267209c9f6d1cd12beb274e9b564ce92d54069e94797dab35a36545a91b9785194d5fefe411a93286643e059c7353d331f08d0190d028d86a43319c3310c9b862b867758fc53baf0385708400002108000042000010840e06108202ef030d4d1e65d0538d1efbaac41a7f81718c7e60d8368792ba75b92240d68693912965495e7589f12e439a97f304387d86e311cc0d15a693ca0b83301c3b92e11e8c47e47e4086f9879269f67541288467c95654e449c3b67262dce099247270bb85cc1a0ab131c56503841a45b156ab97cc1744928463c9da4fa59864b75761096b72c37188ad42e78ecede3ff5312952f7de92bddd73bc2d188613883496dd69c797ac164e96a052e9bcde6def9f5e9484d5d36a35dbcdacd044afca19274bc4f8c96d10905e1503897cf5aa6e9f329f94cdac7f3c14898b52ddb74bd5c9ed52dfa899649df15095f420002108000042000010840000210783002880b3c1847d4f2000544c96f3a663eef9a06635b42ce2ca433059a0850f52b8944225a52e245a2964dfc0175664d75281c753baf149fbdd33902846e64405f342650bcb1e9aa039a7c5020ae2c8834fda0615b3467a12c72a521696629e314b2345b205d9240d31c72ac2c496ed629e63a2462881523fe8013a9a8365215a98b1fb8fdbd4240a65900fcd1e06373e7b0341d22ed19cb765d6b77aa2a03814055e5cc77ff702e1ca9985bfb18cbcaaee53022dbfede5972f93229ab8accac2daba9be3198ab98398b6e8ec0323c9dce306bce5c4dcbb47ff4e1ecdabaafd62f0a488a24fb34dd48653389743a932f2438c4051ee03d85aa2000010840000210800004200081090510179890065f3c2c81bc4933069834199f61d1ed0a39d362f39a63d2fd01f2462699caa5d35ca54b570908bc38634645d98c32b6952612a093052c8e19ca33500c1014136ad219043efafcdfd27d747981e4092181a89ce6689502a70a84ae1c10e87c034e123959e025c25a4a50d174cbe57896154cba57a244a7174482c1b29e0fcf5ad7dbb99212cb25972e5fa6bd9b5159d6d313779cc2e0406f4949493a9babac28ff5ae3574459a9aa9c713d7e896618a441841c9dc990e8556a660b1e79b6e1599a83c0325d4914886dd11406037dfdc4d09fae9b2bea85dcc040c9ec39019f58aa947a9555595dcfd313c60b0210800004200001084000021080c0d40b202e30f5c668619202d95c963ec72fe8468126f4279c6bb33495ffe080a6b24c7f57bf68bb5591d2602042e8060311b56246392b88c527ff740101fd1f4368a242c216f703f05c87aedea7f18199334b484989115072113acd9fe1bc9c441c89633d59914543967d3e29efbaf9b4967758d1e569ea00bf695bba91b709ef574ae73cd5d8e98fe8d7db1cc63553692271d7bb3b398eb9d87a6edec285972f9f1f184ccf5bf0b82458aacf37af76e6f50f189ef5720371a2f8e9dc859ed6564e2c2f2d3143be125fc06f69d9050b1ee388e5f5ddf8ea0bdfecbe78e1d8db27e97a89450d4f2d7bfe9b9ce2a7bb15288a22f2347481170420000108400002108000042000812917405c60ca89d1c064050cdb70099337ad9ce1701c8d0b707d695de94e0424a1bba377a0b3a7aa34367f41bd4ff687c37429c14c96a34368ba0101eb79348e40e302f4452b605986a5db15d45454ffefffed7f8b2d7ce69797da8fbdff617fba8f637c3c4d51c8f30ce169620251f0f915551135dd2136276674d7724d8e973d97d19d3ce371aabf64f1979feb8c550edcb84ea3078e91f112bd8ec8b3327be9fc1f789f1a0a85d3891b7ff33ffe1fc7f60496c625e83e07062fd08c01066115924977b65fa1e90ae63ffeacae7b8be6cc2df72951959fbb6245b43cf2d39fb4dbfd9db4c33d9d81dab92fa60bfae9dffc465454832e86204f4e960ee52100010840000210800004200001084c56007181c98aa1fc940b3834bb007d7c6f3a39dbb36d878edb0d2b2fe79d19792f5a3ea7ed5cf3850fdb044ea639fc259ffacc92254f3ef1d4072de74ddda10902591a46b04c86133c978efd393a465ffe8d6f7ce39bcb8d005fde509289048efcfdd1f2f27259118cbcc8887e86cbcbb2a548793a7d80a3130c5c476205dba1db01148a0109d7e25856f4d31501f960494538e40fcb4ccfd58f7b18d34c0dba0e0d2ab0b69115b82063ebc9beaef8d5eb349d21cf782e29ee7fc8f0740b05872b2b5df4e45372a8faeae5b6f24899543747621d3fc7d1cc07619ed454448944bef0d5af7cfd1b2ffcfcd43fd0a0000d4f54d6ccb6e9ac07bc2000010840000210800004200001084cbd00e202536f8c162629a0eb86e5b186e9e42d276bd9bc28482ceb73b8ae447ef682c51f9fffa0f542dbd34f2fb14d4f50d99a9995922cda8ec9311cdd9b50b74c3a11c0f1e83c7d3a3467c372f8ec7b1feed8f9df9f7ceeb9c675df8c06a24ece7a6ae1132243b205d3b26c8917649ef3719e2ab0bacca575db2e181e1169c6019a1d90cee60fc9744d00cd16c8b13c27b0e21fcefe5a4ff53ff3e4e3ad1fb6147ae32ec732b2425723f8643e1a0c24fcb299d36cc796259f2008598deeb2486694572ab2bce499a7793190ea4ffa555956b8ac960af8b8423eb3fceb5ffec37bbfaeac8cfdcb3f1f7bff57bf268a4214df9581b8545e36493614870004200001084000021080000420703f02880bdc8f1a8e9952013de7580c4d34e85a1e5d85cf5a1e63381e93d77db250595e3e7ff1174e1dfbd9ec77dead99339737ed60505d307ff6affff58440b3050a1c7169fe01c7331dc228aca71a86dcd355e8ee6ffecd8737feee746bce1760737cb2ab4feb9b138b865c9b0edb79ba4f41222b0d8695fec13ede135591ce17605cc7248e2d2a42882e57605c621bb942f6dc7bbfb1bbae10d17defe76f139e6ea718300b05badd21ebb1859c4e1711d06c0884c624049fe978ba61324aa4f1f96f377c71f9d98fae1c3ef456edfc276757d774f719ba2a7276412b30a1a06f4679c9bfffcbef6cd9fc9f38bf4ae8668bf4bf9c461325b812fe6d4ee95d86ca210001084000021080000420008111018c3d702b4c3b0187ee36c030a64107ec66ded489c8f312cb13f6c640e1bacc353cf5ccef7f79faa30b1fd35d00d49290df277df94b8b7ffaff3166c1a0abfb5555cde634c7a193f0e922029a774065f968dee2dc84134abb9148b918f6766ffbafc71eafaa9b53170c8419864914f2d7fbfbdbfb1206eff397568bfe32860ef0e93a049e5368ab7641a42b0a0ae9f77ffe8f444b16abcc65459f44d5aa2a625df15e8e133956d27286ae9bb436c22b0eddb7c01f58f4ec53df78e15b4f2ffd32110395b5f5277ef1cb5f9ef9797775754d6545d8af841429a2ca8b16cca7b915e73db6e0dfadff0f7ffb3f7eea2b2dc967337228f4f8c2fab28af2697761d02108400002108000042000010840e0f32880b8c0e7f1aa3ee2e734984afb543fefda7ebaa5004b47d9166713bab19fc7b097db929de7cf5eedba4adcf28b172f94cf2c6505f7f1c7672d5c38e7bdb3e70dd3164536180c0ea6b274613f4b24db130d5b0c852b6c5e4af6661d2e11563999e1cebdf39b73effc9666fb63685601baafa14f26c112a562b6c2ba0243e85c05ba0aa0341af0d3a266d64cf4b59d3b4b0cad186a3072b4092b9f1325293198b20a2613500ccbcdeb39d7a3e10c96b05cc3b295dffef3bf9859355b927d8a1ae8eb1f143c6fe1dceab60be7badef9f960eddc802f10f4a975b367297250e0951c31beb1e2db7fff8fff9c1f4812c6fbf6b7beb5f5bffc1741a43b2fe205010840000210800004200001084060ca051017987262343059019ae4cfd5ec81ae4edb2a302c5d4d6064ec82e31ae77bba483e43b2699af03f1a14bae39db6ad1393292b8f7ce18bcfd0b8009d23a09b96e4f37b8e433729701d3ba0fa0ba6ed160a3e49208ed3df792de165ed9cc91251e44596f7e8a607b66310972601d40b3dd74949553014f30cc7d072297db0379f48f7775a0337dc543fd1b3acc48a22e35a747d836359969118a47b25321c9f2de8f42fd5277b741500273efbf51792a620e4dc99a1482a67048351a7afcbca0c72565aac0815127d343141bea4aa3a56dd71bd37a884caa38a653a5f697caeabbb63d5aa6f3ff9e4a2777ff7fb7038f89545cb264b87f2108000042000010840000210800004262b80b8c064c5507eca05e8f47dc32c5c6f6f356e74106213c6229e4eb3fc13c123a6e90f28856cfeea95d6775b7ef7c5af3d3d7ffe6384f1357e69d9df1e7e3b3198211e93c9e488e7099c67d14d0805571605d1e711a660d175098eab6507e92a03490ad3c7fba65570e9d6031c4bac82d5db2d54ce573957a2b1866c321dbfe19859e26aaea5316e8178269db1c0b2c42814e8c485703892d27234b6407745e06585d6c0b82c237282c48be1c8ef3ffcd811c2b1f274e9e51e9567aba2fe6c5f879b4bedf8ab4d6595b1dfb7b49e3b7f9925be39b3e665e274138384e0857891fcaf5b5e5ef2ccecfe8102c790abb2dcdddd3de5d0680002108000042000010840000210800021880be02e987602c97422e4532445340451706cd675e8803b185553b994c1380e1d997b1ecf49dd5d377aba7be7d6d5d26d019f78e2c9bab98ffd6ee05dcee3e8427f41960ddd50645ecb2415bf9fa1bb115a0549b015c9ebefee205e81a6f7633c4f9104b3c0d3b8835bdc5590b506e2d9811e550e4565910b07b474a1a0d15d118a091069799eee5f58c83292e21292caeb84b0747a8263d98e6ef33e8195e9be820c8d3194945428a1b0ee054d871d48641dc9d5fb3b16cd2afbcbd51baae754a4b4424565cd9cd98ff5c63351b5fc0ff173798d4e71080992d476e1725092a2155187d815332a351a77c00b0210800004200001084000021080c0d40b202e30f5c668619202ae4b4cd7934aca482a55a2560425bad5006398d9be74b2986fc0656832008997d3293393b12d83ee4b68068381e79735bed7dc4c33061022589eeb8b460b898c8ff3b326971ad02b16cc96435e6f274d13708db08e5e303881a62ce044dea17184591573fa3399ac9d8f775e8e7725162d5a1a90a4945e9c1a508c190812913c2f9351a5b0c6d33d071862ea0cdd85206f45fc01595489e9b17eba0b61d04d3a2e515d872e277022911227970e2af6c205b56b5f784e12bddec420a3c82e63d5545794460282e7bfa80805ba66c161838ce8e37c572f5c92220d0e6b1b79c3e3c449b2a138042000010840000210800004200081fb11405ce07ed470cc940af8789ed856693414141ed3fbba93e9e440df80471fc67bb620f97d964c3311e6349b1bccf776a5185ba4abfd7985fff297bf5c56f6d31bfd8374c04f530e9644a244f4fae26981c97112afe53281b2a0994b1242b309181c4f1cbac98049388fee5ce00ed2e9fbae4e24c61deca43fdbceff211a8dce2829e94de60597331c8b30ae8f8effe9b40141f2684240fab3a005221159f245826146e46d85f0b2aaf85ddbe27aae75f8c3e59793e7cac26aaccab7b0feb16c3655a0158924954e30161f90394f77398ec46acadf7dbf35ac97f97216e7d8855cbebded4ab02ce2640a76de9e5264540e01084000021080000420000108406058007101dc09d34e40f66cfa283f9eea4bc53b52dd571dbae09fc83c27735cc8a1390208ddb530607116eb4a5d973aaf9ebf3a7ff16ccf62163cb1f8c9679eea3e714a7018c7324292ec9a85b2baaa0b6ddd4a90cd65cdaecb24df9fa00b1168ce029a41d0b169e602e2703437809035341a5ca0c108c2098c3e4867f667cdbca30759910874ce8091f7ab8a28f81c57647c3ec3b308c9ab256534e56040f2abfea04f91253fadc476a3526dfdd3bffcedef681020e02bb1b24e497406ef93fb72698eb579816651f418dd36744bf09cbc9d75fd8c2e38c96c9ab36d816655d0cdf495ee6a87e1b29699a5678d170420000108400002108000042000812917405c60ca89d1c064053833476cb7afe352a6bf53200597d8bce8a30bf95525e0318ca9bb06cd16e839b982d1fef1b5eb6dd7673f562570bc20735ffbc6d7fef597bf761d3acf9f6e53a8979507188f5df1cd2f7e78255e128c5eefb822b2743c4ee717e8b669129a4590be3cd7a5bb0f129be33cc72322633b4e8e75382bc7a56d2330a3c427f8e9c606bcc7eb9ee053230ee32a3c57d04dc366fca168201cf52c2ba0066756cf1848a633997834126aa87ffc469cee3e50601dcfef932f5fbeec1368524287ce082809a802f1597a8193047aa049f73870ad424e4b5b966ccb340f6232a3e98625e74976303d593794870004200001084000021080000420701f02880bdc071a0e995a81882a7edcfa41e6c655c21a0c677a745b4262ca6a34a3e523beb049e8f47f9b9738cb31dbae5eb970b96dde92baea48b941f25f6c5c347b5eecc285762e280f16124f2c9efbede7bf5d5fb7f4cd1ffeb4f942a7ea53e9c6828a4417f67b052bcdf08a497307d06406747d3fc311d70af8889ef744d6b1dc8261b241c59fcfe47cc19042571030821c0a174f3bd12330c41f899a84b139550ace0872deecaa19a521d9a213014cb3bbbb73febc3a9ee344c13fbba68a662fe8e94896a98180c89705e47c5f86979dbc65145226ad52ceea41dd9445c330f4fe42da21e680951f4867cb8470a60f7181a9bdcd503b04200001084000021080000420302c80b800ee8469276068c97867bb2cf3aa4fc8240625ba3ba06930822d319eae2518e20539c172358b060658f1ca952b3ddd37a2319fe2776a6b2a9f6b5c72e1fc478e6e0ef669b9f460c0c7cda92e5df2e4bc4bd7ba3aaff548bc6b1969961444e2f286a590e24a028bee4540148bb86c9ec81edda2c354787fcece1b99014e574a23b1b219731951cd58464fd7d520cf1a85ac43731d2ac190bfc4d4f274f782192aef6a49564b4764811ea5dde0abfcbc22f0426ea0f3c36438e88bc46a723443e2d50cefdaa21a2cb89627b002eff317f4276794a7b55c4ecfe5f2d9826726ac422667a5e5d27cd6987617061d82000420000108400002108000043e8f02880b7c1eafea237e4ed72f5fc867132c3133ba59aed045f9a2ce8692d9a4ca4835e5e5343b5f6fb68bee10180d57f0bcd0d179e5d2071767579696cd09892eb3ee9b2b3f7eeffcbbe7ce170a66baa7ebd2fbefcd0acefc8febd7fcf3bf9ce2f2fd95018f73b99466948a01ce3425c2d1dd056c86d308c97a2458dc7990060944cd306c62cd8c54c88c3c4394244fe8eae94fe613d5a5fe7241b649f9f59c9da3e907f3b9d212ff730b2b175585b2fdb698e11301e94ad7355160ca036a9877799db03e41a0590f7bbad25a664138a812ba0cc1ccdba623f337baaffa881c15e54a9f6bf324c9b803ae6b64b4826774f565e936878ff86544f72100010840000210800004200081474300718147e33afd49f5b2bdfd02dd904062b85830f2df36bfd47dadb3374ffee95f4ed30d02fe6ad38bd72e7e74e29ffeeecb5f5bb2f0e9a5bf7ab7edfd73975a5bde5dfe95868014d372c9af2cf9c27fdef81f9dfffbc0871f7c3043f13dbff4d97ffefba31b2265dff9b72fcc8ff9bff6d88cd3278e872bbf34af7ab6d511f7d1c4028498227f3d971fcc25bffaecc2c1447fcae64ffeeb3b8417b76efa4f5de73f361c7f1fe7efbadef6c4ccd0ffb26ed587bffa79de7619c16abf919089f5f5858f3fbfb0f2fabb672efdee5c7f223fb37c96a8906f2d9c650c0ca63a2e04fcaac17a74f3834cc658f69546fe4647bcfd725e522c9ecdd04d10b4fc934f2f2585f48d2b177c3ccb734416b88c95b339379e1df444ff9fd445c7c942000210800004200001084000020f4b00718187258f762714e0189b6e494877102c6303512d7fee7767755e5d1c8984234132d0fbe12f7f1e31f37325bee3f7bf895f8a5be94cb2979f59194c24fb03c160269b5b30eff1a58b16777ef041c0b02fbc73f6e7fff8f70b173db1e1cfd73d1e12de39f87fe5cfbdffc4dcaa5c775be6fd8f7c74df013dcf8442d70bfa13cf3e1dca6a674fff2a49f818e3955544b44b67e3bffd75c153a28dff46f17ae649aebfe3ddc4afff4167c49ac79774a4aecf7b7ceeb79e9dd573f6ed1bbf3b635fbc1134d89eabed4f3ff14445a2e3f7bffa85d7db6f78ae21f0498f4bb04aec0b4f9c3ffb8bce4b172c8e35044197858247bebc68ced5d68fbacfbeab722c5dc890745c9aa8f0b1f98b5ab3bda6129c10085f40000210800004200001084000021078700298abfce02c51d3031270589a6bd026c4e14d3d90d34af3f9a8962eb30b4c3a417269c13225db54f23959cb863c87e4fa973f353f79fde35c7f6f2e93e538a9b4b4ec4bcf2ead9f359b356cc9b1c312df7bbd2dde71e9d9857576a25f728842530b9a39233b283aba8f3139a7c071b69bd7dc4432a0db9574e18096aa523829d71f75b34127e7e819d62cd48564e7daa5323d1dd533be5c22e4e516cf290bb2c660e7b5f8b54e81a61c70d858289cedeba37b1af2b64172099f53083896df7503826064d33ec6650c4d9618cbd32dd7ca177285e4a0424fd3d305cfe073996a4594d3693e99a80aaa7a66e00171a21a0840000210800004200001084000027713405ce06e3af8eea10878bcebd075fe84d084833e2b177572413313f58c584021a6290b32ebf18ce5f81956f6ac98c43694fb2ffde21fbbcfbd6f255216dde4cf1f9affc4c2854f2d0e04fc7a2e2d5a05c1ca5d6e7d2fa3f50bd180e3e7ae0d0c682e9dde4f74cecbb24ec2d16d59e454bf5f54259b15f25694131754550a465eb00c91633339d7b1e4b9a573f25dfd414f0c71829b4b9487a4b9b32a0693c90b6d7da1aaa7a2f55f352a165cb0d86449acdde6bb3c999d312bcbfb071cd1f245737c28e3f975d6571094a4201ba1928c120a552f48e759975535564c339e2f5a92cf9ba552d81ec8f216f1688a03bc2000010840000210800004200001084cbd00e202536f8c16262bc01122108f2174cdbdc0b82263894e5eb073b1a0ea19ba6ddb96ebd9b6c3b2ac964a55452201c7befcde7b573efa78e0467f26adb9c4534bc24f2d79b63c56c15b4e09e30d9c7f9fe9b926e592a6916715f1d767ff70f8ed33b3163f35fbe967fa6dc78d843feaeefda0fd2ae144cfa6b10827282a332225e9c124edb861da1e6158960baa81787f9fee7906b159566f7ca67e7e5559a6e35aaaa3d74a9b9e29ceaa5d2484cafb2df667bffa7ddc65977e73a5545a5610c4d0ac39038e773d99f238d1d4adaaf2184d3b28727257e78dfebea4eb7169d39abb687152b7bff8d5e7041af56069373cd33427cb86f2108000042000010840000210800004ee43007181fb40c321532fc030162116c75b3c57a03b09b2f489bdae4a7cd8e7372ccb625947925d9eb76c8726fe774c263998bf72b5f7f4af7e3f984c154c8393c4bafa058f2f5c28b876b4907f52e4e71b5af7a9936edf0d5552e6cc5b9425e44a56cf05234941b9ae999d2e19b4bd944b4c9e9d3d6f9e20cae150c9c0603656fb7896a63a70734a90e1c3e20d2babd4cf29593c6fd6fc9aa71e9fc50e74d96d17679996dcd56377b493c1de32458df7f47fd076edfcd5ce3cf1882ad3250497fabbdfe9fa30e3ea746b8512e22d088696d7cdfbea63f31f2b2be35d932d4640d8f86072402f543d5e9f715c291489a753051bf305a6fe36430b1080000420000108400002108000a19bb5e30581e92660d21504c4f358db150a44485b76301ae132593fc35486433c4b5ce2b89c67d0cdfefcaa22f98c826d196ea67ff0dc8d5f2cfdc63262eb928f0b4543d2c27a4391dafef517d91b9dbfe9b99c2de87e51bc91775efacfffe5bd8b3b93f4797cb024cf48aca4daa48fee1ac087fc293357bba0b67ba02be00b9816a95bf8cc992b039954aa2c12b0dc42576ae00bdf7e61de934fa4747db0377ebda3dfef719e66b8b4fd5c7e20d9c35454d45655f49a362ff005861bc8e7f21ea3d3bd10059fc578c43505dbf8b8b99984a2dd2e1f9e51c5332eefda15b252132af9fa5f2e69bf72315d48fbb919792bc72bc274bb2ce80f04200001084000021080000420f0b914405ce07379591fed93f2db0c4b448b081e13b2b890ce28b55535bc9cc8f7f6a63aaefb183af5df753cdb741dd721022b712e27103663ebbdbd9dbc9df27271860d4a02a3ce9d63f9a4c52b9fcfb55f0cb1019f697f74ad8f97826135fa8de7be39d8f671266788b26ad1e7f584c8b2cccb6cd6d4a410cfcbccc71fb7fa14d5172a31694241cb9d59599a4d2642a1406cf6acaaf9f5998bd7dbbbdb2eb55c7aaaaa3a2b0679d19638232a3a85fc754e74c3c1684f773c6fb39c1c1c9ad3c099964b5710481eabca8a2d09f14c32c3c95e3633a722a61846349b4db5bcfbabf3cda64f91657730d599326e38bed0a37d15d17b08400002108000042000010840e01111405ce011b9507f4add1408c3118e211cc7f19ee8b7c440b46a362fa96defb66673964f5044427c4a98cefa37cd6bbc28b92ce7318c63e8349b80d6d737405c3d1c127d7e8717cbe6d43eb9ec9bef9a663231a046fdf3638ff7b55e6dbd74a5ac7c6644a04906b94281899694b3a4d32f062c93554325823f22a9e15fbdf3fb9aaad92c27d1cc023c6122a1b0ec0bfcdb75ffaefe89458e615ffde062ae37dbd593c9f7b73d565aa51b592d7dadb8d2215292c967a26ae515bab8400ed91e9fd74d22d13d105c81e1092fa70d26e5ea7c65b5e78996e0d33dc1c77a12e7a71b1af2325f7049c1b08255c18024e78ddc9fd235c7b942000210800004200001084000020f4d00718187468f86271270096b923cfd5656633489408e88bfbfd4d9306f3e27761b85e2a47cbf1892dc50c1c9fbd550d62818b4282f9428e1245f38f7abf7172f7d86f7a454325b5a3dd364582f3463ee57ffecc38b1762f3e6d10d10cf1bbfea1acc182e5b37efa9bece4e878b1896a2322541a5cccf57e5d27e8729f195d65ebc1c9f35db1754438ce3a82175e1534f3d36a7ccd206799b29f4df187caf850ee26bca6259ddb6c2e5593d289795c99c9dece9601d2710e27c3455a1c5088ccf742ccfe314c25986e9f9caaed9ecac67bfdcdcd19557d44c57aaa4d4f197945ef32445f03ba298b36d3524e9a62059a2df9b88079f430002108000042000010840000210789002c83bf8203551d7031170588e61259ee50dc7ca9a2e51c39df429bc2728d1192ea7b8bc4f33e92e868a658b74789fcc15183ec03b413e2fd5573c2e69f29cc8dcd6e68f73093dd99f7639c99582c19af942d55cfa9f34a36af6138b4495ae1da02b157c86cb735250f6474b4a66104f705c9fe02bcf390aa396e87460ae84e9b05ff6079f7cb2e1f1858b5c46b66db1f5dce57ff8dbe37a7f7ab023beecebcfaffd8b7faf862b0ce2bbda5b58f2d57f23faca044e25ae679102e1e93c8010e70fd2ec8906dd70d1e7cf5b746e42ade1faca2aea66d72c0c852b7326dd2b51c84a3e654eada184177de9eb39874e92f0092c4fb75c782098a8040210800004200001084000021080c0dd051017b8bb0fbe7d0802ba4b74d7b55cdea453ecd588ce4a89827d259e9831af7ec072358fe383613610a2236afaa0bd6072a97e125317708940153be7b905cfffd3ff7bf2eafb1d1fbdd766e88ca659593a359f78b3eb6a7d2145a1fb1994044a6315fe60c01f0a28a1802708be70b072764d454d0ddd8c80ee53d093d1c2d5730d5165231591da0555f3ea2b67548baed0736da0f3eac0bbcd97daaf2674574de71986913e3edf7ae5fcc56c7cf02fffec2f5283fa8d7edd60fd294d174930ed3a713d3f609b3a2732c44f5740789ec09b9c9a254f06ab1ee322d5bc3ab3bc382122439cae6cead76d7fa89a5f67099c4e3c8ba57b34d2d51278410002108000042000010840000210987201ac2398726234305901c5176408c9e733164d081850fb75935743e7af77d67da5d60ca839aba079ac46130af8649de5acbcd939905682e5a4dfecbda1fdeda163592faf073d62e4677de15921994bf5a6cb4aa2fe68941579ba8501ef57a54078569d58316366816e172070655555625579acba866554c7ef93cb62aec8a489249457a71939edd2e9fd5ec1f23efcf8eac58f5a0b85425e1723ac62f9ccb6ae5e4ef2d12c8522ebfdd3c953baad67795509c5b4949625565ee0ed6090109666513408cb487ec71568b7b337060add83bc3fd2dddb35736ea9a3f8b3bc2b888cc5884947b7452ea1a51945cca7d393754379084000021080000420000108400002f72180f902f7818643a65640cb6b2e433723e43845e94c27d28ce7f97dd79283099ecdfb9484678bd1704e60fbf45c5f3e235584ceb49f37cb9494e4f598e934e7f5e89a50563a60eadd29ed6247efaf7ffb7e574faabf4f6748e85a57aaf3464609852baa662a6aa0403c291c28aba99af7e4c27065659f5eb8964af165655956e8c9db76a0ecba669debb851e0c4f72fb7fff8f83ff779d287fdda8c671a43f3177719e4e31b7dfd793d61e969e276e572371c921083fdacdc91ca16089b1584be82d19fa30b0a148e2859d3b966e8170bb938eff6b3ceb5f4a0ed17ad8032c098bdb6ae495c92d809d7ea2b64d88092b30c7f08fb114ced6d86da21000108400002108000042000816101eeaffffaaf6101816925f07f363511d6338d82eaa7abf2555e960aae75a5eb9ae4f7bb22c787fd69b330984948619f2f1a48e452577abb5c1fe72f09a5acfca09d55abcb663c5e9322465772806178d6e4e8d83f9d33b205334b730c0622e1d272d330599e4e1f30a2d168e5dc59bed228ddd7404fe766cc9a1daaaa1a34cc928aaa5069ac67209d733d56962f5cbd4afc8141cb7be7c2c71d03a9aa9a5a5b12d3ae79e9da95eaaaeac17c8e04c309d79362951f76760d9a46ced15981157c7e4e56af77dc486632743702dd34d890df0afa0d599222615be12ef65f1934d2c1f2d2ebf1ee8e743c9fd77d8a5fb3f4782e95caa6fefabfef9a56d7059d81000420000108400002108000043e9702f4512cf29e7f2eafec237c526a24208a229d53efda8ecc083e51665cc6d60d91e5598e48748ebd9ecbe432959533ca6365dd7d3d822afa645f2c38c3c8ba79d38e0f0ce6cd822f126444a5a6a2ba363033aa962991a814f4ab1195153941e488639784c27e59a27186ac9e4f5a8651d04b5d996785eb830305c7c96946e7f5ce02cd77984db55df93863e66cc197311c86574487889ae9e748ded11c2b5f26fb4a2251ba27628190f8602653d03d89a5bb11e8b984ea5338564e6999281b745d9310c321b621f0f4df1c673b744a448124e97a08e2b9122bd00bc6b90e4f6c8e0805993505c6cea41ee1ab88ae43000210800004200001084000028f8800e2028fc885fa53ea66b044655996d8aee7b8129d84ef12db74183a9666185916b3d9ac432c9f5f31ed027dda1f2a0f0e1a49db7353dd99905a9ad73d8fe5588e6305c1ef0b45a470953843150244f605caa2ac22b122e1885d1a0dbb8e250ba2220a2ecf1a1c6d8fb029cb28989aeb26b5426f6f5f2eab27fa13d96cda74733a71064c8bf5054d9b2579a384d0813bdd5ea0c0732ea315b754b4452967ba72309a2be80ce7d0f40602e75a96c1b922ebb0b2c7d39d07680820c7188446256c8b30024d41c028ae6764594ea045198695595e711c9b7819c62202eb1934d48017042000010840000210800004200081a915405c606a7d513b0420000108400002108000042000010840603a0b20efe074be3ae81b0420000108400002108000042000010840606a051017985a5fd40e010840000210800004200001084000021098ce02880b4ce7ab83be410002108000042000010840000210800004a656007181a9f545ed108000042000010840000210800004200081e92c80b8c074be3ae81b0420000108400002108000042000010840606a051017985a5fd40e010840000210800004200001084000021098ce02880b4ce7ab83be410002108000042000010840000210800004a656007181a9f545ed108000042000010840000210800004200081e92c80b8c074be3ae81b0420000108400002108000042000010840606a051017985a5fd40e010840000210800004200001084000021098ce02880b4ce7ab83be410002108000042000010840000210800004a656007181a9f545ed108000042000010840000210800004200081e92c80b8c074be3ae81b0420000108400002108000042000010840606a051017985a5fd40e010840000210800004200001084000021098ce02880b4ce7ab83be410002108000042000010840000210800004a656007181a9f545ed108000042000010840000210800004200081e92c80b8c074be3ae81b0420000108400002108000042000010840606a051017985a5fd40e010840000210800004200001084000021098ce02880b4ce7ab83be410002108000042000010840000210800004a656007181a9f545ed108000042000010840000210800004200081e92cc04fe7cea16f10981e025a22ae9984886a34aa8ad3a34be805042000010840000210800004200081072380b8c08371442d0f52c06c7d79c59673b7d718a95ebc7cf58617d72d556ffffc8ffcabedc8cb9bf6d3a66a9b8effa8e193559bf143af7fffe0e9f65bad4496ecfcc1ab2beb3f59f45611face6c3bb262d37efa66fdfee39b3fadf06d47e20f0840000210800004200001084000029fad00d6117cb6de68ed9e04ccc4278a253bcf1dddbf73d59ad73be883fb07f73213da5065e355aad1f0c4fadb8202b468f2ec9e2dabf6b50c1f35613fccd13330c7ab78c2c3f005042000010840000210800004200081cf5c007181cf9c1c0dde83c0e864fdc88af5ebd7af5dbba436327250f2e44b7b9befa1827b2d224efce0ffc46b37e72cd46edaddb4bf69d78a5a61b8dea3dbf6c6efb5059483000420000108400002108000042030ad05b08e605a5f9e3ff5ce55afdbbe79c3508c606bbc79dffa9d47298875f240ebf6a5f5439fb69ed8b7f7c0b1f6a44588b078c5e657b6af8b0d4714b48e43fbf61d696e49d2af04a1baa671ddd6cdab1b62439ef1637b5fdf77fc1c3da67ad9aa8644c7f8c8f1137bcf0e7f736b8941fd8f964637ae3adc493f3f7daaed950d7522b95b43a315c7cfecf8fe11538d36ae6e683bb4ef643bed5264d5f63736d7c75f7bf9b5b3494b10228d2fbef2ca86a5a3d190d103f11b0210800004200001084000021080c0d40b202e30f5c668e1be05b4a16c7f4387c7966eddb9e4d89eb37438df7ea655ab6f504fbdbe66f7c9e468ddd6b993fbd79f6a3bfcf62b31d2b163d5774706f5f46bcbea6c3fddb4edb4b6fff8867a7268e3fa83c5817df1d579faf8e8dbe10f6efdd4e26db425faaaddb47d4cde01f5c537f6370cad64a8a9a1a3f8091b5a7dab26a2c55bceb617b3259c3b777ae4632b797ccfa6e3a3652c2b79fae04e2d76f88de5c3918bd12ff01b0210800004200001084000021080c0d40b601dc1d41ba3850724505357335c135db3afb51c180e0ad4aeda75f4f8f183bb5615a7f85b275f3fd6a1b51c1b0e0a2cd976f0f4e9d3c79bd60f1f9530e9516f8d0405aa57ed3f7cf4e0eeb5230b033ed1c3b6e691d50a4b1b461a1d2e22c6ea9776ee5db800004000494441542e6da0ffd189097769e8b6fac49bf3006a77361ddcbd7ef1e8b7914d7b0e36ed5c31fc675bcb043317464be337042000010840000210800004200081a910c07c81a950459d5322608e49e2d776e6cc701bf575a4b5388657871fef9f3b7286fc64f3f1a3ebe2f1b8269296e653cd276ee523683b33fc5ed8f5c6f67afa6c3eb6f5072b4eedbc35e9604cb7ef215fa0da306143632abaf576c59e3756364449c3e6dac35be80e079155af6e585a47c8d6b5074e1e4d92e499166dfb03de6de156db78070108400002108000042000010840600201c4052680c1c7d34fc0346fed02208e3e843fdeb4fbe684fc6297e3742b83c4897d3bf69f1e6789c0e851b1e868bac19aa50de4e4e8f4fe31a75cfcfc68b186d6d60419b3d160a2e5c077769ca047af7bf3271beab5891a1a53d3adb7ea709f47a31beae834826267e87a88d12edd3a00ef2000010840000210800004200001084cbd00e202536f8c16ee5b40bd39762666c789d78f0f6713a85d5eaf9acd230ff4d7ef6e1a7dc84ee30626516b3a0e8c0405aa97acdfbc61799ddaf6bd4d7b868f1c9d71504c5b30fc8ab7b68dbebded7734469fe4175fe7f6ef6b5bfd06cd3038f432cfbc75d8b28aa378228aad1337345c7a723f6f053d26771c4a430002108000042000010840000210f86304905fe08fd1c3b1532cd079e4c0a123870e1dd8fbdacb2bbe3b32b617566ca69b11c46a4652f49924d6405f75d1537bbfbf73d7ae7dcd74bec0c8207ef3ab9b1b1bea4847f3705080f635d6503fd4e3e4eb7b8f1587e18996b78626058c731a352bb7d50e7f7c76d39fbd7cacb9b5a3a3e5c08eef34151308d2d78ae5c550c1840d0d17c24f084000021080000420000108400002d35f00f305a6ff35fa53ece1e8f3fce4d183fb6f3bffc88a1fbdb2947e125bb97dc5def5272d7274d7fae2ee85a3af75abebc9b191a377add9b8b8463bd73e1216683ed3b675eb8bcb86960d244f37ad3add347ad0b8bfc5d56f369d5ab5ad1807b0ce35eddc32b6d0a6fd5b69582241266ce8c5e5638bdff97ef4ec463ec744813b81f03704200001084000021080000420f0190a60bec067888da6ee55603479c098f242a476d5963dc77ff6cae8f600b1577e7670ede2c8ad2242f5a63d8757c7c4facd6fac1ffedceaa44181eadaea319b0ec45e3ddab4e4d64191254baa876a1879f27fab36fa4e6d78f3e48f372d1b993630f25564f1ce8374bfc3623280bb34248ad1e1f2c5490563de0f7d38f2f768b20332b258223a72c84843f8050108400002108000042000010840e03311603ccffb4c1a422310981a014d4b1433f989d19bb90487da31354d334d3a2657c7cbe7377cd09dc74cd441534b248a2909449536726704e1ee0d4d54253e870004200001084000021080000420304d04101798261702dd8000042000010840000210800004200001083c0401ac237808e868120210800004200001084000021080000420304d04101798261702dd8000042000010840000210800004200001083c0401c4051e023a9a8400042000010840000210800004200001084c1301c405a6c98540372000010840000210800004200001084000020f4100718187808e26210001084000021080000420000108400002d344007181697221d00d0840000210800004200001084000021080c04310405ce021a0a3490840000210800004200001084000021080c03411405c609a5c0874030210800004200001084000021080000420f0100410177808e868120210800004200001084000021080000420304d04101798261702dd8000042000010840000210800004200001083c0401c4051e023a9a8400042000010840000210800004200001084c1301c405a6c98540372000010840000210800004200001084000020f4100718187808e26210001084000021080000420000108400002d344809f26fd403720704b20d1b2efc00953144db16ef3d6d5d1e12fb4b603fb8e68f44352f3e2f675b15ba56f7f676a9a29aaaa78fba7f7fa57fccca103a73a96bfb8bdb166821aeebb7e337e68df5b713252ad699a6addd275ab97c7266867c21ed32345b17850a265efbee675af6c9ea8a713d6f0e95f249a4f9c6ae948446b1a96af5c3ae24f48bce5cca9e6564d8d352e5f5e1f533fbd9ab1251e606f272bf9009b1e7b46e3bd37e3a7f61e21dbb72efff4ab1a3f73a059ddbcba61b49a71cdb5d6e6332d2d1d2456bf7c79e328f9b82547ab19fb7bb250f4d8a9b8bbeea31b63cf02ef2100010840000210800004a65e80f13c6fea5b410b10988480d6b26fd5b6a3c3076c3a7872435d7190153fb563fdeeb3431f469a8effac61fc61a97660cdaac3c9bb14f8946eb4ecdbb8ed68e7daa6e35bc76fe08fa85f6b59b36a5b3252bbb866a8eb5ac7b9f62421cb7e7cfad59a4fe9d4d8afb5032fac3ab2bae9edad0d5aebbe555b8e361d3f3d7e4fc71e34a9f766eb8e155b28747575a4b33349841587df7e8546615a0ebcb4ed703ba9ae8d7416fbbdedf0e9d513c666c669ef41f676929243b7d3b1a6e36f3f60a871ce92682d7b576d23c74f6f1ffff6bc7988d6f6fac64d27b5b5c7dfde5a2c39beb976e8a55507db49a4ba3ad9d949c8e2a6e36f3688e35f9d9b15dff6669250844ccddd35e96edc7612f80302108000042000010840e03310c07c81cf00194d4c5260e871f8f031478eb56ed84e9fa99a670e0d0705e8c7771973d19902842455f12e45eeda17357af707bd7f44fd4315afffc10f37d78f34113ff3fafa5d278fb56c9f2006316e478b1d5087261da8f55b4f9fde3a6ea13fe6c3b6237bcf1261e7e1b757c6e828f7c0aa6d87df3af3e22b0d1d3b0eb7d76e6afad1067a2dda5e5ab6e9ad63adab37d7df7b430fb2b793952cde4ef77b43dcfb190e95fcf4892a3404f0675bce5a43a5ab47ee8471cdb7d79ca1418165bb0ebfba3c4612675e58bbeb446b426d1befea344e10a1992c14999abb6bd2dd98243a8a4300021080000420000108fcd102c82ff04713a282a914481e3f16a7f56badc7daef6c468b37bff6d29a65c5d70b3bf69dd24cfa0cf63b6fd107aba4f3fb6bd6bc76ac8dbe6b3b73e8a5352f0c9559b6e6a5d79be3e69db514a7c71fda3854e48597f79e68bb55e0ce633b2edc4bfd261deeefd8f1fabe53b72a1ad3249da67df3af5843a330f487d9716ccd0b3b5a47bed18eed58b3e3581bfd70e39a97f7eddb31dcf98daf1da327b8e385150793247974cb0b2f1f49749c281ea591e1927bf78e94dc71e8d49923af0d1ff5d2de13da50135ac7991dc354cbd61c38d351fccc6c7b6dcdb21d475a87bebff5c3d4124458373cd2541b36ac22a4b9259e683d6591da578a4101faaa7be3c7fb7fb0fab6590e9fda07f3f6dede765ec53ab5137b5f1eeef30b1b5f1bf732154b8d798d2b49bf1fe74cc71c35eeb71da70e6c1c6e7bd90baf1d6a1eba0ee3f767dcc313adc75e1abec5d6ec3870a28d8c5cd4f17989186d5cbd6aeddab54baa695f477a36aef9f06291c686a1317f31dc45129a396ec931e737cedb89a0ee3cebbbde5d9fb85ef45fe489d1b37ef9b51d1b37be76c29ce08e1aeed344dd18a7c7f80802108000042000010840e03317405ce033274783f72a200c8db04ed361acd676aa38de1ffe60f8f0f8a935eb779e6e4fd62e59b63842ce1eddbde6f5f36a2c3afc5c588dd64455914e20dfb4eb209df5be6ad396554b22c9f6933bbff7d6e8586ca4137440bb7edbc14e8b44162fa9ef387ef474b11dfa1ae7d897ff51ba87fa13f1e69367cf9e3c3a3acc1fae6ee827ed9ba62534faff44221e6f3df0da6b16a96eac534dad2369b5dd8c18c4db922d1d9aa9c53b93e78e1e4dec6cdadfb47355e7e9a603adea8657b72da628d52b5e7971a9a8b5158fa203fca192c78f93ddfbf7ef5c557bf6e0ee5d07b4ddfb0feed9b2acfdf89eb75a349268def8dd5d2d759b9a0eeedfb9367a78d7770fd0700231134992b815a618e968b11bd6cd8f355a2ed9d6d1de42c30789032f8f84165e3ed45633bad87df8b04fed83797b6f6f3baf16adedd0f7f61cefd8d274f0c7fb7737749edeb97edf1d97698c62f1ed4492139ce9e8d1e339986d07bebbfb7074fdae833f3eb86b7dfde983df6f4e90f1fb33dee1747dcbda2d4ded356b9b0e1edcbd8e1c3e7a8e8c648c189f9790d8eaaddbb76eddba7965f5adb8c078e666ac717d35d9bdf6a503478eecddb183c665362c8d8d7b753e710d47cf7762a871ce5a8bdde5eebae37ad1b35eb3654f7b7df1ac772dd74e9fedec6ce93027b8a3ee76bd6ef514ef20000108400002108000041ea600d6113c4c7db47d3781c5ebb6d735ef39da7ee2c49968e20c2db962ebd67853d3b9a1635a8fbd45e76247966dfbc1d6e5a4a36ee3b683d6e9bf6b3cfe93e8f7961decac7ee5476fd239ee667cf9ae9d3566b47e7943ac556c3d7ef674f1d078cb91536dc3e9ffc458435deb11fa99b06cd7cf5e5d4ebf7bfd85f52787e6788bb14f1e1bdcf4c68f2a367e4afd6acdf22deb5533b674648ef8506f877fd04f4eeefaeec9319f4436fd802e7ad7469311defc6638ba41ffdc79f847743e3f7d44bffec0f12367e2dbb7ae5caa367534ae5ede50a3b58e6d41d87df48d469a21b06eeb81e3db96bff98346ba5aa17e5df5fee229b71ed99724b54ddb57d7a9a4eec5575a8e6da2ab3336bfb2f4cdd34320375b1d7a53d7b89c1c3dfad28ee8ab1b1aceecdb592cd1d1c114d73e24cf92f5fb7fbcd26c3db26d4fd34631f6b3ed4b6f3ff46e7d20b79fe3ede7d5b6b298db508bc71362e3d2570fffb84dfb9485201349b61e18e74c37ac1ee9e6f80e9b1bb76d6b58be7a290dcf90fa3a42ced1a00cbd153ed99f710f6f8cbe4557fe1ffcd1567a249d48d19458b3ed58f16022d68fcb3bf45df107cd5f79f3fdb8e6c5b901c522ed470e1db292f4a6ec8827b4c6f1ae0e8d0b8cbd156e564bdf4c0445a29f3c6bb2b571a2bbeb8efb905e2ffaaf6fc98fdfdc5a9c34b2f587899615fb13773be509bb31b6af780f01084000021080000420f0f00410177878f668f9ee028968c3ead5e46853fbe15dbb8b2517af6eac3bd0347c8cd672a6f8603f79ba69fde9918f86be18196bd1215e7115be4a5a4f1c397aae73cff041f4271d84c74fed3f787cf48355ffc7fae2906af5eae1216e6cf5baea93878b358f7b2c1d2b0e1f7897fa49b461dde69b49e647db19fa4dc76fab761fa6d9048a0f78cdf85b3b361d3db8af63c31b3713fe0f97be1914a0718fd1a7f2c523863e2fb64c93c60f971cf3f3d6c2f662b1620191fe1ce96e7178d8be6d3d5d1330fa6aa5b308968e6968f473da4ac3d6c37ba23bbe7f70dbd9c3b5cb562de938ded6d8c893663a4ba1e9079bebe93135db9b5a4f6c3bd1ac6dbfa386bbf7e156139f3caffa0d3fdc197f6dcf9e9d478b974a58b1ed8d86ba09d6cc0f55434f6f5cc9a181f027ce74342e30feb7d1d5a4f5c0aaa69d63fb37417fc661cc3752e3e1b9fec50aea57ae24473f7975c6d63dcefb71cde3475e3b998cec3afc37c52d2be81a993fdbb4e7fb2796ff649cab33ee751c6e6622a89a68f493675d0c56d0c3c6b9bb3e711fd2a046e4e6598b0dcbabc95be39cd7cd8f26ecc6cd12780301084000021080000420f05005101778a8fc68fc2e029a19ad59b94a683a3ef4005f58b6ae3e3a3a2e276afdd26ad2d959bdb6e9275b1b4c33d172ea4c8719a5a3e891e5f2c5c13e6979ebfb47cf25ab57ed7a73fb7271788f038da8752f1e3c38325214d558e2c8f768c953275ab63634d261ffa91323eb08c63df6566727ae9f4ea66e6b8b13355a5773e7c8960eba6862b7e27fc58aea366f5f7b74cb29fa4c385a1c89a9a3c916cd0e9aeeff535e43154c5066341630e6eb622062c5e1d3c56d05e82bde72a2954c989bdf8cb7b4984b7ff2f686a1b2dabe178ec763622c4a0f1d996431f4f9a7fc18a70f773d8292c5d6bd4ab3f86b7419c6a1efef6eda56bff46efb1d4c24298e7fa6c34ff0a9f1380e1d07bed77432bae7f0f1a5f4ee315bd6acd8467b3a6e7fe8828f4f32fa9acf5051da9fe1c17907fd53b8631ac55dcf7ce8cb71cde96a13421a970eaf4a10eb56ae8e9c3c16d7c6bb3a7769602228edd038673d5acfddeeaed1322a49b6c4c986a124135a33fd577397e0c450386ddc3b7f786b8ed13af11b02108000042000010840e0a10920bfc043a347c39f26501c6dad7eb176b8d8eaa19ddee9c86cf855b77c257dd379f4b5d7f61d3af0facb3bf734eddfd74c073443b3b33b777c67e3be531dc383352dded6d67c62ef6b431b1fd2d10b1db18fbee822f9e2035e3aefe0e4ae975edfb7f7e58d476f8dc98b039d3b8fbd87fab5d6439bb66cd9f4d211dafb4f798974a240928e29d5185df4d0f9d6b1169a76e0c4eb2fd18506771d649164474b6b9c0e1a3fed358a55bf7c035dc1b0e3f513718d8e2b8facdfb6e72d9a97c0ec787de34876c6db2a4a34efd9b5e935da198d7666e3518bbcb8bc3ed6b82e42923bbe7fa88de64538b56fdb71ab7addf2bb7772a4ced13edcd6c427fee838b663db77d71c6be920a2a816734408c57d2126eae1270ea7c9fc8625c73fd3d1f2e37e3bf4749c4604cc44bc65ef4bdbe8f5a70920c6edcfb887d7af5e47c8d98d3b0e7524b48ee6039b0e768ee417b8a7ce8fea8c675eb394c6178ebf76e84c3c41d33eeedb76341959d9a88e57f23ea0c63deb61a77bb9bb86cffaa51d473a12f1537bbf474fba78cbded3290f35327abd46af0c7e43000210800004200001083c6401cc1778c81700cd7f52808e0d8b1fd2c11a7daabef2c5c8c15d49b26c357dc26d9a438f328b3fd4fa0d3fde957869f7d1d3470f160b572f6b7a733b1d1d366e587678ff692bd979aa35b175dde6daa3bbdacf1ede79b6b8093c497692ce36ba2341dd502dc5a3e803fcba0dfbb7b56d693add7ef26871abf808e94c16a7ddd3c500e31dab7e6afd7dccd0228291e473c38d8cfcbc63202dd634d098074d76b07243e3ee55d5bbf66f5bbb9f4eb1afa523703a3c1e1a69dd3aa2f86ee8c3a52b171f3e7c70cbc6c4d11fd2d31d2e407fde567264ea81581c7e155fb1958777b76ddcb567fdc9e234fdea65dbde5c57439f8db77526131d77862fc4fa0dbbd7b6ee6ada36bc3e63fd9ec3749b3c4296feb0693d4de2b0697d519bd640b75ba46fc6bc3ea50f43d774fcded2f36a78f1876b5bbfd7b4edbbc36b42966d692ae64aa0b90ac7eb216df4d6d90ef5608ce438672ab68df66d3c87687c3bbdd03bbfbb96d654bd6449a4f3ecc95d87b61e1faf3f649ccae9b28ac3bb3b36ee3af8ddb54599da5aa17d24629398a8f3435da63fe8869323d7677cf3d82b4d9b12db6832c4911b7ccb9bdb1b445237ced5993cd48fd68d77d6a7b7dfcbdd55bc0f63ab8f36992f6fdbff5d7acb46162f8e749e2bde6b139ef2c4d7ab6e5403bf21000108400002108000041ea600e379dec36c1f6d43e08f12a0e9db68f460746efe7855d1c7bf77fd7ef898f14b8dffe9edaddc4b99db8f98e0af0756d104f50f3d09bf078ae1c38760ef741df7c3099b9bf41734218269aa437bf20d1fdbbc77cdf7c9ab6f6f1f3f5fc35deabfbbe527bf1df3097d3bda854ff467b8c531856f76a12873a7d6cd2feff5cdf8bcb4b94fd47c67c9fb831a732263cefa1e7a4b37e3dc7728be61fbbaa19529da8135ab8e3436ddc765ba87a6500402108000042000010840e0b310405ce0b350461b1080c0a405ccd61d2f1ddbfca357c6ceef9874257f0a077cf650f153cbd6ef26c2e2f52f2e8d9f384837f7dc72f0f83abadd055e10800004200001084000028fa600e2028fe67543af210001083c3c0133d17aecd089e6b60e12abdbf0e28b0da33b673cbc1ea1650840000210800004200081fb17405ce0feed70240420000108400002108000042000010840e05117c07e048ffa1544ff210001084000021080000420000108400002f72f80b8c0fddbe1480840000210800004200001084000021080c0a32e80b8c0a37e05d17f0840000210800004200001084000021080c0fd0b202e70ff7638120210800004200001084000021080000420f0a80b202ef0a85f41f41f021080000420000108400002108000042070ff02880bdcbf1d8e8400042000010840000210800004200001083cea02fca37e02e8ffe74f8061b8094ecaa59f33b77fe715ff1c0e6f15bf1dfb1a5b72a8d8d82fef785fac8161868fb8b31ecf1b5bd39ddf8e5434b6c8a73576b3ede11619afd8ba479c9b9f0fbf71bd7baee88e23f1270420000108400002108000042000817b16c07c817ba64241083c68010f23ff074d8afa2000010840000210800004200081c90a60bec064c550fe210bdcfb33f44f2b3951506cece713cc0ef8a4c1706363670d7cb2cc789f14430343477943b306468bdc73bba307e037042000010840000210800004200081fb13405ce0fedc701404a65480c626ee1a1ad0affdcd4f7faef1fcd87fc0b6adfb66d4e43b33cfbff89dd9f264ba675ffb9b1ffdbcf4f9fff07cdda40e9b4c13535cd6d675fbff67ef7d60e33ace7bd139ffcffee1ee924b892b911229910e697b63311553b1119b28955229950aa95746a5c22acc0b1bcf066aa0066ca005721f7c0324800dd80f36a00bd80f4a41e18900d54aefdabdd22dd58aadf24a356442b9a2c3c85c6b692f2d525a8a5c7297fbeffc3fef9bb35cf2907b96a4fe394a3293f5ee9c996fbef9e63773147edf7cf30d2b8a7638caf728c5067a2e0cc4a5c091573a1be24bf916dbe8ed34f6f2f25c1f728d161f3af361b403a632b93273dfb3e488d26247f7cd16466e87ab09ddc35cd8515b144f9b18e8ba105bcf327e28c2db6578ccf352ecf2997e74e2c43eb6b83c1e64d61ef3c112f10802040182004180204010f82a11b06f8d7e95fd92be0802ab20002ab1e3a7d00416ed8a4f81b894e10a321a41e4021cbca050be921eb6ee4b1285830b5086ed5312e1c02e0cecf9e36d7ffb67652feb7e0626ab2429939c49428a8f1792f5904c4fdf9a9c8acc68ab3474aa929291a9c9898ce454f71b519639f7d65b6ff55c5f9fac526fcfa5f184561d0a88ac3d6f6f5daedc4ef368f3d2cce8f85424a921295ecc144beeb7636794163bba5fb6d0ce0e97732feb60bed4509a89ae73193f0ce1d721da6343a2252726c726e045fd5d1bf86333034410820041802040102008fcd622b0befdb5dfdae19381fd1620b0eabeba7d7c0b6105ed458f6d7e75a3004262cb8bafff2d965e1b79f3c7e751f3d1d78f87e12933d2f3cef89c68ed7b6b1a5ae64eb0ca585904c692dfe47f0bf00098758f40d210d37ce8c5e32da05e0d2ce5970164a35956fe953d78c3277ed0a2c10c825708420cfcb75872bf3238a3f4c06cb13836b8a4817b990bdb586ce2e1210beb59c60f45789b0c8f6f56d360312cb8c43c8cc5f0f88e94484610200810040802040182c0af0501d80e5deb14f6af452ed2e9ef3002c57b01d60b81fd507f713597e8d576a3c0c29a5f8f41a1c06775ca92be6c8253b6e30020c2e2db5694d322a5ad111885712c71334dd5c6a94c3673fdcd773ed21a0fffb713ad4081ed02e72335f53553e353f028d4ec7cf9e54301288ff677f5f425f08d074cf3dee3c73b9a96b193aeffe8ad8f1a0efff5b3defe777ba2750decd858c2de3c39d27beafc6016b7f6d704a424dbfaf21ee9fd5ee9403bfae852a4fee05f77247bcf5d8dc816d39ae6fd9dc7db51f402b00ad5b1e3e39855b07977ab18ed1bc65279ea77bddc79c08b92bd5d5d83e329dc48a8d97fbcb37de5e1076782956369d34ebe7516f701c9bfe3b5578f780b79eb3b13bddcd573d51a38c8b0b7f3d9ea333f3e8b8580e46bd8301f9b2ee4ed0db5d1f71769ac72b482c9f10e76f4c3776dc3ef6c038c1752f472cf0a286ca71380c67950a5ad50b4f7edeee891d75e6988c19c460fbff6df5ae20b254d718ced7aa6e9d5970f2cf42e8dda51faab03e85451fe2ddf6cbdfd8b5bd05153bcf7ddeeebd5f5de496bca187fe3b32f9e68b1a3690d71a5a8cf06ba16e1f23554cec7e60a482c40b772e1498ed02d17efe57dd2fbeb5bc65211a5a609c71989f7bcf941bce1f0abc7f1db81b4e8a937bbd97d2f74b6d7ad5c1830a7d10b6f77c78efccd2b610c59e6c2c977630dcfbed812bd67a8714fceb3ecd8a9237fcca398e22317ce9cbf66bd7dc1e6062d3256fdda1b27d8e2c0c35ec7b7db5980224bf24b1020081004080204018200416025024b4ac8ca1af24c1078ec11004dda6e140079573c961fc1eaaabebdddfa29edad0af9656d6988305894aff88bc9a885988505e2654d4a39ae2c81adc39234359ed975f0e8c15df5f2d4b50f8792283ef06e775f22d07cf8d8d15d8d62a4afbb672453d20817685246d6536363d2aec3b6e61397df03a380bff1f0b163bb1bb4a9842ccf24b39a24a722601408d6373fa3fe53f7d588d8bcfbd873c77637fba7229786e20bacc6c7d1dea34777d57b1291ab7dc3dadea3c7f6efa8c98e0f7e783d33daf3fee07866c7c163cf1ddd1b94a72e9dee5921933341e958a2151d7b77fa417aa1767787a5d32d8e2ddeff4ef7d504aadd7bf8f0eee69a44a4ef9d33534bc47ff87bbb1d1bb2754b34c0b09449d7008472581c7e5bdd92ea2c8df69442b1280e641c07e5d84a93667494b41fed582c59ff342d351743f641b136f99ff1cd173ad2a4a48ce4c9f1e48efd478f1ddcc9a6c6cebed315b74b0f7e01a5039cb1c1f5873b96415a3a59231967e8968b27589dae67192f61621b916d46424d212615e98f5a276b92d7fb2775d4d450871ce7544a621c8a677032493d014feb7e2396a02e33cb653a757ae36c986b13973f00a380a7f1e0b1637b9b50642c8504fcce2f0edcf1ed765c6636ae244b102008100408020401820041602502c42eb01211f2fc3820e072090c4403408863e94246e059c8c03714c20732b0cb0ecb173e5054c82c6add0c43b12c5edb148dbf71c64ac8d4e1037bf8c0bbc05c1438c814ba0086853ccbe05aa8823e20b3d829e40b3490f1b845f8c62534b8ebe35e18861104acd12c9423884c007fc3738578069c351c17888d85b144b228710ec72430e17f8558830c0c79bd0700acd6255fbb5e78fd405bb8edc0f166068d8fc646ae5cd191e7e091030da1ba8e43876a118a0c8c94345a2ac0cd5b6dcdfb8760bfffb9574fb4b6b4ec3bf1ca0e0fa62c9823eaf7bff44ae7f167b67d7de74ef011d8d75417aaabab86da583c5960b7f7a5573ac2e103c7f701088d475fec08b7b41feab0b43e38e50049cfcc24c5bab6ce179e3b7c6cdff27d75e448e034965bad1dfb42e0bbded0beafadc96e2719b9d20f2e04475f7fb1a3b575dff1978f367bd0f8cfb4d645e2afef706ee80ddbca471d985c19b1b4c0c2f0c3a1a53ed940b81c1405401c0755a61566bbc41ab75f56b2fe69b2ba0e94a25490bf25c0d93b6a3efcea91f6704bdba1578f3623343e10b52bbcc84954cd0657ebce65d0955d7825d03988b7be65bc0c9312b6a86d5f3b428981115890da40ff38f2ef6a0f21a7850173ba8c1560028bb690ee11ea724bb7bf64352e2ca415fc8bdde2df51fcf6f98fbd7aa2ada5a5e3f82b071b195470cb292e06a73762c47199d9d9923c418020401020081004080204811508e0bf844822083c560880a69dcfcb58bb06859fa635cd70bbc55c4e026d5f51b4ea4a9fa6abf3f3f980df9dcfe65c2e97aaaa70f896e7798a66d2993c2770926c79e0e31083cb12180780a1a1eb146d06bc158aaee4b3b2dbcdf12c6b52942acbb2aafb2b3c82cb3d1d9f06b655fe80a228996caebaaa02d4fc546adee5125981d77553d7755110e15bd554dd34398e077a78e4380e8ac0ae017de92afc098fd57d1798073856ce49a6a1f32c3618801141d1743830ec76bb812dcf738aa26a3a12455e5634d3d0387e859abc6c20ab3e30a105af76ac1d5810c06b9ebdf893f7965acdc492a87d816aa9b4902b6d0e47f0abeb16c8c4963a61385278105a5b439063ab03287ef9bd1f5e5a2059fa61bcc5ad74fc0f8d061aa68860aa2c82f0f19727bace0c0e5e1a1bc40d6b771e0eb7143b598dc0712c61dc6281b1d578e10bba0ad415816c6aad4311d839b6fa5f20b6e757345c64e8c8048817866f6f561e8a052ac751afd9cade4531bffe692ab65836702874901f0ac3c5930362530b589092381a6511c1b2736d87d19e7798acc2b991c2ca5994cccad81b4241e900cb715b64e334a2ba8e1d9eabc3a05d87434329d478b81d2f450c45e9c258e4b322532a49b93762a1a1e32c97efb494bf5d002ceaa2e929dcd67471cc026a89c40196ba175fdeb5eacbb5d49ae4080204018200418020401020085808587f23112c08028f13020684ffa710cfb110fc020c013c4f4b398967e070be79e4cf0e7d3c742d97cb78ddfcf7f6fed13f7e786143b072f7eedd67baffa125dc14dc5073e95ffe0dc840f9876f480b5bf37867de289498ba01aa326cdaeb9af227dfdf3f76f3b3c8cdcf5459fbf69eefdc8c7cb631543376339acba4b6356cd9b6bdb1afefca932d4fe8bab6756bdde79fc7e6e6e6b359e9cf0ffdc9e57fe9ab08f863e3130b4effa6a9698a6502c0fdc2b6bf94cf01a27f7ae8fb776edf86a2c4ecf4962d5b466f7cfa47fbf69efdfb0f291aedfef61f4c4f273ef9e4d33fdcdd7af7eedd3b77ee488c94c9c9922481f00cc7a9d8a6f0b0122812b52fbcf1629dc52f36d41b65c3658c028e3db2489f9940a8095766aec7e4e246ea828a3d72aeebdaa4b8fff9d7da1bbc481afad15b1757ee735b2ad10ad6f1d168a8a3f38d4e6f261e1bb87ceeeab58f7ac3e1430d4bff22391234608daedc5896da16fab274ffcc0ce855d6f34414b2f79cca335918be9de39a50380f6a606d00edbd94c9979ba615e48b2839c88f901c8d4961eb62462d3e012dc5e5ae2b6b0eb0d859a11787c9f2a37ebc1ca0c6392d8a575a5d8edb22a5235b71cf9ec6e18b433de7bc3aaad9d38ad782f39ce2d2c59b3f33191c8ca35c5a036ac759aec343be8fd508806492c5351cbb1e43a86eb9580eb0486bbd5ccb39902782004180204010200810040802583f228920f07821006ef96017008b006cc083ef80017602d83d6469f8fde5f0f5f0532df55b6a7d6e616efaee77bff3ad5be3b7a7a76effd177da19d884a70aaefb6042c0560068b5601ab01cf7174a90c98261c040156ef7bfffdbbf8a3c7be4d0f755d9141804b686c6fabad9445acd2bd0edc6600008e55caeb971bb92cb32a611a810aafc2e2997af0e56cdcdcdb95d3cbc3f3c1c70808eadeec00b00cc0d7028a0c2eb027f0743d780435530e08633099043e0e820c1a907d300ab0703a60418ddf07f7edcf67bdfd055259b9181069f68c0a38021afa697dcd384b574b4223479e6546f2c998c0d7d78fae2e0500c3681d79b5ada61373ed17df2c3683c76b9eb248e2e58d4ddb0a6b3a065b1480305ff7ad7bb17416eb844b12cf7421b04c7a22f7ed4fdce85eb514d14bd96f209d706da5b391294190b66aa27474662f1227bcca9a51d060e92f78cc62646fa7bbaaf2550b0add58babece0daf3b8ae980ae58e4c0a610cec7d151a590ae76a50380e6acd56458956fb5d659a8acd56a2542a3f500e9f7dbf3f1a8fc7864e9dbe06e747da8aee030526ab885a8471a997a6f20bcfa9eba5864eb5a8ccd4170767fd3a360cb475d422391249789af7d459648e73da5e07ce2ff295de21187cefa953934bcb7c5917f0b026d48eb3ecd8e9f278182b3b5aecebf4c99e683c191de8390baf9f155f6091d411164701169b900c41802040102008100408020481520496fd215e5a4d4a08025f3d027070004c033443815d00146450b02bfd9e642a2b72c8d094a19f0f6ede1c82100057fb7ffeddefb65707dd23bffca4a2c2974aa5c075dfede2b239194c02a0abeb3a84f8c71a3b9417cef2c38fc05202c348ba26e5d39595fea1a111299f09f8d9f1d81753f17862667a6b5de57c2a9d4d2707fee36aeda66a96312ff5f685c38d86a642c001bfdf9f9c9d19ffe28b6d8d8dd1e8188003660b38560002437770aa8063583007643379e86b3e393b7577723e350d768ef47c4a5395d9b984db43d584364dc7ef18baba71834f10b81b23d7f3d93c8c4eb24e3f9894a9ea2a9c44581ff258a55edce5b49a2c7fa9a1aeeec0f37b674ef70d9e7e6f1008e09282ce234dcb99db37854b9a371c7ae9b0d6f5d170f707c3701f819f91532c3896836561a15578cf9ecb637d97ba3fc0cc8341464e4cf65d4e1d059a2556905b1012ee5ab3fa6e7df6d8c8fb67af7dd40dda27a49a1d87e1e0b73d3912b0c8792c2d4dfe482472feb4f6d76f9c0814b9884d879edf9f39732972f67404ca187ff389970fc0c57f90176c23b6e78b4df16fa1dc99c968cfe2f0ed4d1ca14876742e8ae43828e40460f6d8028096a418c9c58cd5e312b6f811c0759e268b76e12bb088d28b47ad09b1ca97b3451ebfd4d7fd411faef2ec7eaeb369793f6506f82c5017615cea05e6c261e18d0c3942073be22bc4b3a42b7e9559c6ec28e6b64454cc2dff6de8d8e13f3b9c69dfd35228779e5356da5b3fd4377c119639623c0cca1617f8227fabf53aa0769c651639ad466b212d93d69a8fc51298d6e7f7264ff745ba3fc06bd8e34159cba6b7386b8e6f7728b3c6cbb5c89f6408020401820041802040102008141020f7149295f0d821006a3c68cb8aac826ebfbd7e6bf586e0cf073ff67ab8da4d3577e377c24f3f1d8ddeac707b52f37381400014f59191cfbfd1fae4ad5b13b7a7d3de0a21fc4cebcf0606351cc80fbbc314dc0d0a83845d7a8f28b4edf8fab5a1c1a79f7eeae6cdcf5a5b5ba3d1cf80a6be61cba73722d5d5d5d3d3d314c540f9c0c090a420b788bef1cc3343439f6806fad6eedfbb7af56330547cef7bdfedff8fabf319a5b6b64674b9a35fc4784180e8046020802ec0234055f48e6fb5ddb831d2fc4493ac48c3c3d1af3f5d9f48246ec733dfee684d67739f7cf259854fd8ba756b6cfc8bdf6ffbe68d1b3702fecaf8dde9bb892cf0d7ad2884051f8487373d5a06ce8ab3a277f9b6fc9afca5587fcf95993d278e583efec99e1fbd17a93bf84667dbf28636e6382b7abdcbb5a9e5d48b4f1a1c9cd0b455a8cb10d8ba5be45536734fc4e5b8ac9f898d12671d06e734a8b55b9593ac50bebe695a8d8775c965ece80ffe360cb268c841ee85d6f72aaa8d7eb5fed759773fdc2e9ffce15569e70f5e3fb47c513ab02a1479bd05e395b348eb84da699681a143a7ceddd84be15e04495bf5dd75605b46003b5f9227081004080204018200418020b080c0f23f93082c0481c70001300a40004070bd8710755353537ff8ed0e8fcbfdff5de9e7596e3ea3b7b434df99fc323d9fd4147d73a8c6e7f3fdea979fefeef883ff71f2efc00ca048f233cf3cf3f17f5e5772321ce35f4cb07b0f096e0a64680a74f5d191e1e9f8d4fcbc06b686d8e79fe565b9b9a9f1e7039f56fae583dfdffff77fdffbf5a79ecea4e687873fdbd5d6f6f4934f0dfefc930a370506829ba39199b92cb8fa1f3e7cb8e7efcfa5d369dd801884268445844301858f22eb1baabc10a780a1e86fb6b5fddddf75b979b439b4b1f989c67fbcf8af37a39103df3f08a70f7e367823b4494e26b586adf5ffd1ff33cbac60083c360a189a15ae7051fa879361bd8b6100ef8521cb4ae3e3c3a77f1c6b6e0e256391291ded685fd877b5b1b131b7656d04ce59160e1138d72c949621b8973ed03d11979366fd4c6c94b6ac9dafd3a06ca4b6acbdd5eaf9f54dd3aa3cf02101887081d01a0bc5269f2d5b9ef5ba88ca375f51736fdca468efc99ec1ac8e9a8fee29f97f3b07560e452bfac7de0eeb7923c004e7b8b6d7d343699760a529295c56e0c0b68c00cb9a91078200418020401020081004080205046c9a13818420f0782000fbeee0ab0b770a409c7fd1c59d3bd7535d5df59defee4ecccd827a2f65b2a1e086e6e627727988702f1b0a90a1e9a9bb3c87dd032034c15c622a9d976908fb0f01090c384400b70ee21b08e1d4be6ae810b540f0b8fee44f0f4ecd24f0217e2b2e0084fa83330b100160e2562a5859bd3954f14fbd175bbff10cef4289e4ccd4f414506ed8b8311a8d7ea36d27701d1a1afaf8e38ffff22fffd2edf5e472398ec3f7214239f001e1e12ec3b9b94c723ef9ec9f1f3d77fe3c88e5f5b93f8b7e5eb3b986e7512e97fff0fffd9f9b43b5dffd4e1b882d70082e32d8bebda176735d36abc810be108745c02686c724b175fbfee6a5a33b1a0333f1b856dd78f0f9d78e2c3f73fe98c8f93b2ec6834f93d8d0dadcbc2bb4da4ef96f20c6ac3710a8ddb1f7b9e3e13514ebf58fedc1a15e7f5f8492204010200810040802040182c0578340c90eca57d32de98520501e011af1588fe73453471cec9f1bf4ffbcf08f070f1dfad3c3477ff27fffdda6e0869ffdebbf25e6f375351e81e6054e046341305869a8d0067de3e927e1fe429341ac077d6d73cba79f7ea69914cd42343f1d6a751db903dec4fcec8d5f8dfcc55f1e3f75aa87e5399ae58d9cea12bc10cf2be0f3ce4ecfe6d239700498b8f3e51f7fff3b3ffbd9c0534f3de5f3b1b097daf7d3fefffac27f0d6ebc2eb83ca3d131c5309ffdf33f3f73a69b6268f019c0dd8349c03a05007684bff8f3fff28b8f87e289744bcb7696a27f3912fdd5a737bebb77f7c07f0c682abaf0bffee52f8efd59854bfcdfbdfd701221128dc13d8b9b6a374f4ede5154136c02109bf0f14962287ce444f8f1918748e288c0034e131b081f3ffedb36cb6243c78baf7438c2f520850f08f583744dda1204080204018200418020401078140830fffdbffff747c197f02408dc37023ffce19b3ad6f20d8645d5953e8ee36666a5cfbff83c359f994f24dc3c9fcbe7bc3e17c7f16a1e3c0614454d31bc90ce2b9b6a422eb76b0636ebcd5ced966d6a46cda4f22643c3e504946940a87fd88717055110c48f3f1e362983e390a6ea77ee4cc1cd862ccbddba75bb66d3e65f0c7dcc0a7ccde64d3fbff6e97c7a26afa8706d601eba51b5b9b4c48bac0e5e08c8843b0befcecccd4350c1c44c3eaf8241401078b843018c032eb7e8f7b941f84f473f0d856a1846984fe764359bcd67555da7285ed5d07c569998b8939c9fcfe5b2824b4ccea7fd812ac330e7e7d3801bf8378093c3fff9c61bf78d2169481020081004080204018200418020401020081004d68900893bb84ea008d95787004db9616b9fe54c5553c1a145101808d40fda388d188e36e0264010051cf2c17400f102c0853f671a14440f877bd22886872d7b8ad25813147e7001c84b797cbac0d459d380730610ef9f82468c0e1101802d4428004b0144f606c704ecba4f519e0a2f780a1826727b0519221faa10651d6c0748142194a0250368ec1cdc7480fd030a3bfa1ccf8239004402fb85aa6be09900e717783893c0c2558b701f21c5b2829407df026b002c5c5e08f2d0a6c1436c41978bcd4b5918231802048195650d0e23400404f8865a0d64228920401020081004080204018200418020401020083c6204885de011034cd8df3b021cedd14c15a201e033f696f22df25e884168182a4fe970c60002fe57fa059111048a07355b435a5ad726d3198a739b0a68e5a0824354013835605d4ac01a1445bb54385b00660456017250c2dd42369b05dd1be2ff0167303ac0458388663455a5581e5f04a0eb82c8ab70dc1f1c0d6008109e0033c5645810885fc83190a007b005407de1ee00d8f987c0872ccde98602510f3d1e3e3daf3034c3b0a2a68369005c0f50c1ac812881625813813879608dad0f980d12204c02842cd70c0885006e0eb888248200418020401020081004080204018200418020f0281120f1051e25ba84f77d216080ea8e60571df178fb9f56350529328bd40d1e3704f6f78aa6486b4197e8a278172dca8a91d6e80cc5e7a5ccac948323fe3c72c9c8a0758841083e00ba6cedce6367020436055e87f0830c9bc94a1082002be10c92c1f91fce1ad00c5c2c005de26885a0be339c9c57299a0383806e829f8109110d55b00798088c0d104500e214c287175ca6a68381003b2980666f80a18dc2070dc00241a3f9b4e212447c7da1a2404842b02c086e8f4481330063a8d8f6006c294ea07549c3b60c046c2415575837273c368107ef6b124923820041802040102008100408020401820041e0370501a27bfca6ccd4ef909c0652c0c91f76e61555913405d6a89f13b6f902b52eaeb53658eb329ff00b8d2eba8151b732cad73c744b85bbd12d7cbdda1762900f1910a9d04dc3aebbc6c02e3edc4700fbfca07fc3334239134e24180a181ac0ed9fe5144591f2398e6139b00bc069011c3740e7bd2ea4c3b9059de179acac5b5a3aa26813ee3540a0fc630706b00cd014ecf683ef00dee587630986618822980020d0008b0f0150605f80fef1ce3f580d60083c0dcd513e933514d95065163c04b064ba098719e054827501013816e05b13284a7441f404ec38b07ab2ee275f9d64b55a2d3ed4f57e4f14eea55b775a6cb29859b3e9fa29d764f55811681303a7deef89ad0b3da9bfe7544f7fac28bf34d003212ffb33c5e789819ef7bb7a67ee8161b165f9dfc5b5712f729667476aee1d013205f78e19694110200810040802040182c0af0d016217f8b5414f3a2e8b00ece16b2a76d7872d749686a0fd9522b38163bcf979bf9cae678c662ffff50a714795f769bff074a5fba90a611badeddae0ddff64e8c950055c65281bf36eb70b870d3010cf22b8b350632999e5c0c55fa34c1a2c010cad6892e59800d6004d55340804c081e6ae23653e0d4a3b4b1b869217e10c00f8f6bb441045c5110ee019ec0902a8eeba69c0658ae026006a3f0c04ec0290e017fc02f0b828087648b9dd6e4dd72843874b0c91a97a590efc733c1c0e50205232a5676843c6b5560ba057f08106cc52060303c436582365cebdf5d65b3dd7d7a02a5f2dcd8c8e4f4592d6f985f254cb6aa4f84293c5ccb26aa787fbe8c589cd635726cd4427a72233eb436f263619b932b06008c88c5e894cc2f368b23028edfa40646a22a9df0bc3b5e0585a1bf724e75a6c49fdfa112053b07eac08254180204010200810040802bf7e04c839825fff1c10095620003be5aa0c1601bccfaf1a9aa28077bee117e91d5f6b14b5544d30e4d2259fa17bf0063c28e04a05c75654f0f3480dba04082ba89ae8c6543a97cbe0c3fc3a62346002dbf014b6105006cd32aa2253f82c00fe60951c8217d2d023dc670831ff106cdd6b790508208a81a10333239f87900414dc2388231158092c02857c21ac0045017b069c0f689a354c0dc219e02007c8c8e5a40a8f37979de7194ed7410adc235821e0a48024e5e188022428841e21e1cb0eb165019b18e05b10045cba5a62e110049c86588d64d53a6ff8c40f5a3408bb780f0953c3cc4054c56266adc6f7d3cb5a3c1f8b7a8c800001292181d7c8aa308ae1b07ff8da043817844594898ecab8913e128db7b58590168ba5906747ab870513cf3a19e2f6ab26dbdab807395765492aef0d013205f78617a12608100408020401820041e0d78b00fe0b9f2482c0638580a160751dc7e7039f7a88dee776d56fd8b0c1905d8a545f55c568191fcf57f33cece87382a0aa865b36c137c0a32b3e9ec9bae8dbb45129f2920cf1fce18a405693e5a03f08f7012ab2022e0110fc0fc70e54f12e3d6cf5437c3f8819800312422001d0cf212a818505f40b2a3b38144019ece0c33d878a6ab98c5b7bfb101610442ca8f1400e0d4d136f1c1b06fe069701dcdc4ad96c1ab2108b009e205221dc53087534beb2005b26a0218e3180fb001b040ea980070cc9a4c0630067ca2569f4e45b6713503b76fe87ef46ffea003ad52b1d68471f5d8ad41ffceb8e64efb9ab114bf94435cdfb3b8fb783f69a1ce93d757e300b4d187f4d404ab2ad2fef4327bba3475e7b25ec45c9d1deae7383294b84da1d873b8fb4020ed1cb3d2bf8948813ef79f38378c3e1578fb7e22a2d7aeacd6e76df0b9ded758b9452b4f76dab97a6f885777ba2750decd818165ca8d9f9f2cb87028b7456a6b4474bef5e225aaf9ca31fbe6b03a4b36da99f520eda726227f492bd5d5d83e3292c8750b3ff78677b43412eb9ffccfbe7c7a7ac6287e12ccadd106e42d7ae8dc4a4708b387a3d82fccdcd2812b91e436d216d6214e0d8116e4012d8051c1866a2fd5d3d7d093c354cf3dee3c73b9aa4e8aa482e5f1b30cbeb63eb5d732a8151297ab04e32d1cb5d3d572d0951b0796fe7f10ed6923054c78e8fe3b90e36ef6e15a37dc318284ffdae973b0f7871ab95e3825a7b725c0ca502ac98be6703432b8481d5ed347d8e85f6fe9dd67f19e4572270a4bacbf67aae7b0a9aa4e54bd1be6e9749461e080204018200418020401020083c6c048aeacbc3e64bf81104ee1f011d6e1f845b03617162c77e1a4ee34b3926379f9e9ca0d3b37ecaa87671956eaed2cbfa3db4df837c2e23c0691b397d03add60aa8cec56c76bb2bf035008c2a6b0230482582266af2fb5baafcd534729bba8f87000070d3a10e3a3f1c0fd04c9a62381c16a0f8c1aabe3500bc777faf09c212c0077b0c607606e8fcf04194a49b9ce096e14882011911fc070c7ca4818751de7312431d7b77faa19950bbbb23cc6a929c8a80512058dffc8cfa4fdd572362f3ee63cf1ddbddec9f8a5c1a8a233471f93d300af81b0f1f3bb6bb419b4ac8f24c322bcde82889ad1df1fef7ce0ea6bc8d078f1ddbbfa37672f8a39317a2d2688f039f9582869a424c2ad21fc5f61094bcde3fa9a3a68625a300146ac55e342923eba9b13169d7e1a30777d5cb53d73e1c4adaf9addde3bae5d46c80b4d581125a4c4e1cecc48ee88df6bc3f389ed971f0d87347f706e5a94ba77b1643034c8d67761d741e4eb14bfccbd6b50461124627b07d661c05db3a3a5afc68720466263e1a83001ae10543035ac9303ef06e775f22d07cf8d8d15d8d62a4afbb6724b30692cbd746c1ed641d6cbd6b4ea5e33a81c277baaf2650eddec3877737d724227def740d14241c1f477b8f1edd55ef4944aef60d6b7b8fc2eaaac98e0f7e783d839cc66547cc7931ac357d6de227a5c2384e9f63e19a0238235f8a40cf1dfbebb9ee29c8d897e2b2756b978ce4090204018200418020401020083c020460b3872482c0e38500dc0668e8f8d03e58070446dd200a55ace953e52736fab66fa8f088a68b37dd82ca32a6e8e634b8d0d023a666729a02210695cd2cb38563e604e62e8402e479cee7dae27253a9a421656b19614355a51a0a7c1cbd793b6be03fd6193aa783fe0f8107394555198ac7970fe02d7c6c1480b301100410efe663bdbd6025800c4e603e80b4ac0817e004b48bc6b6824dc1626555188c8a205a21041434f28ae6f256e6337081022468b1687f28705dd3541068edd8377ae55aa6a17d5f5b53666408b8d4ef7fa9b33da4c5476eefdcd671a8dd2b2551bc1a4552b17832300a04c1e75e3dd104742d0d99b7df1a96c03302bffef0dfc8957e504d8fbd72a2051e5a9a58d413ad66d94078e7ce86157cb017c1f2d4b6affde24fae0e8c249b5abd03fde3c8bfab3db49ca2d84ba174d70baf1fc07683a6e8d05b9151d8306f5da476ecb123b4b4d57faf72160059e40f19470e0582d5d0c3147a662629b6b775be108a66f0e98142c0c155865360bbf0cd3634f9d1602c2a6592e308ed6eaaabd39ad0e0b55846d2a20900ad8175663812bda223cfc123071abca8e9d0a189f7ce4606460eb563aee5bb76581b2b881dd91e3fb0c6543aa257283cfafa8b704402b5b6867ade3e1fb93202ee0f08ed7de9950e580c4ddad05b1f351c7db103285ab42bc3e7c1583472c5615c286c0d0c0f0e392e86c0a8c342b5c81716ff48cf9bb0925708136d049295d36719b25616165815be1d0528acff1230b154cb3b1d44cfbe1a5afe7a96b47240a030b3a5ebd62e18c91304080204018200418020401078140894fc99ff283a213c0902f7868000bbf5704a9f35b50a9adee412b7807aefa7360ac6061feff5c006bb4cd13acb51bc6088022bcfab1e37c3fbfca2466b12eba5a500cb6c14058d42c9f9392a9ffc5eebd799d42cade573a95ba64bfc66a82a323533aba0ac69aa103f105c13e09cbee5ce0f4a3978f783968efd05405b5f0809b8a8b4af77186038002ed85ba0605680077862384dc1fa08c7f3aa928770e51ccd6a063eaa705fc9526dac0b11ace60228659061ab03287ef9bd1f5e5ace53434c35d6c771125bea84e148215ff886da10a8a65662db8e9c68839c36e1c4a74063fbaeebd8e1b93adc3f84c2a1a1146a3cdcbeeabf294c51cdc7c263db8f2d9591dc4601774adc839c0b80d8dbc3a84a39644606c0ef6215f4c2c75f9ee83a333878696c10a35abbf370b8a580e56ac359de2fdbd2121c1c8c0d0d4c0083163c51e120ba363230841228b80b1b64ac54ca106ab2177ff2de423dfccc40380248a5944b2478989096d64629b103db64dd91b5a6d201bd9118f415a803a380959a5aeb50a4e03ec2788b8e1a78749a040b0f44b2248367270150fba211a8cc627010c03e7dd6c0570a133af2caae732ba7affc9c16c651ee3d82da52301d11b89f29289c54292cc50539c80f41802040102008100408020481af0401fc071b490481c70a011a6faa1b703b80cb4095086de4a82d7ee109af77b38baa0cb8591ea2ed892c84f5870b01d59c2129ae4aaf262b7945974095071702778ecb1a70fa40a0cc7a91d9ee464f57b3db1a360504face64fce7bf1c6f6e6c086fdaf0abdb898fc7efc221fc24d2e042444ef06a0aa82ee02280f7fb21b2c192babe78a8a008d35255b164d9ef4235842cc0d681455f00166208987037812ee8bacfc5e5f37991e6349acaf4938dcc000040004944415443acc265eda1d5fa2d118bafb056500647ce755d9b14f73fff5a3b6c314b433f7aeba2a583b1489f9980bd5bdc51e67a0ce23a2e758975353d3983509d55d6dff5f6f5c0a13dd239273e4bad8a3971cf9ec6e18b433de7bc3aaad9d3baa8d915ebd7fd5b46f2a5f6f728e702204bed0b9a72c9483b3128aba1171f1d0d7574bed1e9cdc4630397cf5dbdf6516f38bcc7ce771df93a08313038d8771531f5fb2d9c1b5a6b50dfd53e68ba3b5c00de910bcc4ded0b6fbc58a0880df546d9b01ff53b929614b225258b050e6c03688da974c4bf0338a10c2c9ec2c44f4421bb32619295c951802522c7c5e028807dfa30418930a968b474fada2487c24345db1870711460493e5bceb1d362fdbd4d8135b30eebb6c88dfc120408020401820041802040107854082cba3c3faa0e085f82c0bd23a040c07eda547c02b5b5d2f7b59aea8d2e913594c4dc6c747c72e857d17f1ef8e4a37fbf76e917374627d3325b319b4825f35222a7a611affbaaf8d066b13a5815dc40a91a2fe92191dec8e7b7541982167f666bc591f66d4d8cfafbc18aef366d7d6693cf87100f7a33dc47a0c9b0b70f9a7ce163bd18a09c173eab8fa0f012c1f7e2076c0a8c8120820103f10b0a8db199419704a4564054015df32179cf33dbfd86ea3214161b2316c8168857ef70a116eb407a726424162fe85d0bdff8072e66041df67ad7bb17e15004f8aeb7b487114a749ffc301a8f5dee3a896312da149696b62684a6ce9cea9d4826472f9fe91bcf22af68693b2bf938ca1568eba845722492f034efa973a4585fe19a3ddeab9c0540ec9d3b722810ac825e7ce0e247ddef5cb81ed544d16b5d3c10106df0d93b9020f2e28fdebf306a2f2be421c4408d956b08b7144a9a5a6bad4c6d4b5d196e70aaa3a315a149989a5832191bfaf0f4c5c121b8d560ed8447635f1b2b5a9463bbfa543aa2d7d20e12c2d2ea198d4d8cf4f7745f03ff87367ca6c03115a7a49c008b8d1c1783a300852605c68ec204ae3b4cdf9a73ea28c0a278f68c63a7addefb9c02e05c04c9de09c91304080204018200418020401078b40894fd7bf4d1764bb81304ca2340a13c68d81ca30b34b541f46caef008b43c9f4a5755fa387fa58b7549f1bb1f8f7d76eb9614e452e12d9f7fa3be3ae8f72b023f36277ff265e4e3c9b9780a492a0dfad32616d56fac14189975d3b4a1567a782f4df3f3534a7ac655b529b5adeee6d48da40a8efdf49c24e15887f8f48001570d583103176e10c4e7019682062cc95df41a58b40be02aacfee36fb007582f173808303a28fd9c652780a0069b031c443d0cb8e9bff8deb7aee84affaf264049d7203ce1023beb96422cc99a29d0d2e48f4422e74f6b2f1e85be2c8515dcd3f7ecb93cd677a9fb03682f04838c9c98ecbb9c79a3f3a5c35ad747c3dd1f0cc37d047e464eb122c302425848b1e5f8b15da7ce0e0efee4bd4178f4d4efeedcd7204e38f0c91e03850f37b13ab306080fa8a16387ffec70a67dcf82c68bcb8a6939e56213ab7a41e4055247c9931d9d8b1e08eb97337514cbb9bc33dc8b230784cf112c103bcaf0ec6bc71adf3f7beda3ee6b96a4353b0e430c0509ef8b2fef01f3c824655db282395ab4f6afba700d333525865b1606146a69152e4d6af5766f81950cd9ba03cfef9d39dd3778da9a1ab8c4a1f34813c2e1245652da7b82cdfb156b63592d5cb3e9c81613ad36958ee889a8e1f9fd99339722674f47a03de36f3ef1f20176b4c72e21c80a7d62f62c0b13837fcb0a60559759c6d21b9da50bd53e7d62d3a152611aa4864f4ba68f7df6d84849e142dfd68fe34a28ac2b3b191e9153a730dafb99026b66974fedb2dec8034180204010200810040802048147848075fef911f1266c0902f785801b0200f2c8ef7289d9fcd705ea8f9bb76d852b04724985a6275299f1843c2321883608970bd64020b3cdc2779ed92e08c2f5c8d43ffff20e1c71077dcd258ad58150faeeedc60075281cdc51cf8736c0b50492280b5c9e33e7b5d979355b1118c999ffcf7f7e7635a1e5b029822bdc14686dfae39883203b6cdc8185c0d2fb69f01c281a02e07a81822d0048408a4282429c8a15f0cbd0d83a60b048811ff04af0805e6aa27043d5379edc5a5da13fd5d468caec8fffc7b94f2404e78a0bd7124233e003bc802dbecbf03e9396c9405c41d10bdbda382bb233033d5766f69c38d280758e64cf8fde8bd41d7ca3138711584a106c1d5a895edc6a21ade4e3f52e561549acdfcb277f7855daf983d70f39572fa35dfd611d3d3e809c0b7d3b70b04be52c03c48390340de079e031dafb5a67de26d23a5bac8bcc81edda53e98c9e03ab7588b07a2b5b2dce16b17716c0de9bad61b1d871fa1c0b8b2de0d7c6c72e808dc296b511db4ad7cade5fabb5b8927a82004180204010200810040802f788c0afe34fdc7b149190ffae21005ef52c2f9a140331050d4533955c6853705a9ef9e5789a0b79d2bc9693f4e79ffdb3db91eb747afc8f3b9ab76cf12673faad8f53b7d288e650d023709467263eeea3d1b6d086fa1ab78b497bbd15a6cc9932caa9b2e8e55d0c954b4e573115953e179b48e3e080f0a1f15ebd6ed27047013cc2bb01dbfb584b470cb80060bd1fee342c68ff0626e0694e35346802a70040f3872d7f6812f05564b3594dd738a409348f9d0fe0a8021023e44528e4a232b1d99aa6c0b79ac095e10ee2377ef36b1b3eff641aec027027828aef44c0b10e711082079a75d6bb14f30d67b5a4343e3e7cfac7b1e6e650321699d2d18ef696953d801d2150d8cd5dac59c967b1623123457b4ff60c6675d47c74cfc3f8d764ed1eb1bde3dee55c1418671c38d8eb9d6560e110819dea2bcddb447a98fd2e63bbdea974466f19ab75cbb87a2b5bad2dbbd6f441e776ea05591ca7cfb1d026bc8d8f2d6b23b067d7a6b05317f3f7d7aad89afc120408020401820041802040107848083c8cbfe41f9228840d41a080806e2025af1a865429725b6aab41cb77bbccf6f6f0d7be856edc99e1fcd9d49c94be7523e4515b9edabea5de8d5c9497f76cdcb4f1eb5afef344c65555c3d39e9fcf252a58baae66a380b44045b54109948bcb660cdacfc7331993011f012d2d69a9bc0a1a38deff079b00d6fc61c71f347dda84cd7abc5b0f5a3d78048011c0dabbc74681c21e3e1c37a00c03947e9ac22eff06d043203f2fcb41c802b863313b97ae60d0f6ad353e112e239c55d5d90af08060dddb6baac134d0f6746db51bee28cc67f36901e186b86786c3c70f4c55d3112040d9e2023ef8c260ebf6fdcd4ba1decb4313f138aa6e3cb8ef481b44257c2889f50602b54dad7b8e841f12c387221561721f0890a9bc0fd0481382004180204010200810040802bf150810bbc06fc534fe960dc2141455f50bde4d012f85948a807b537db0a28a02470196616a2b3c4ade6de6e75d82e6f1c85959f7709526e5e635a3b1c2b33550391abd95968caf073ce0f5ad658c1955f631956a5e5058f18bf1ec979377f2728e4386a8aa59774542736948810d4606291027106c04f8da40aca6c3997f463770e040033c06ac9202ccf0ccc039031c47c03069b01a980c8d89ac9302ec2696afa9f4792ab8a0206e820cc722bf9782bb157843a0189fa86faef4f9e4a43e97a32956574d300140823e55c8c1b585d84f408567ec66f05093180a1f39117ea82c3133b1a1e3c5573a1e3a5bc2f0ab47804ce5578f39e991204010200810040802040182c0638200b10b3c261341c4584280c12efc7a85e0f289eef46c9c7fa2921718333bcbf35a6d9dbf7623a5caaa2ebb0d4ad2f98c27e892b39aa9499b022e652eb1b972b33be493d88a69d9f8d74fa2d12fc61bbeb665f24efae6f4c8c00d05bbeb8357bf0b470e08f2b4bbd66730824971a6a9c1fe3fa8e7d82b60c104800bc065005f510009d474136bf085930485324ba3071aec6900f53c9c00d0754181bb06a4060f5fc5736c6a160a3d6e46706b6003e0a0fd5c82a2d290a5759ee2192daf266712e019001f054c0260290023030429a4b562cc43dc39490401820041802040102008100408020401820041e0d12140ec028f0e5bc2f93e11a090eea67943ce27a773751e4f2695b9f5f9ad6d756e86a3503689dc1e9a3155c1e04497db5f095beb4c3e4f21756bb52b713359a5b9825b82938618fffc761ea14f67b2cffe61c86da6dcb3ca9f7e9bdbb469f32f3e19177c358ac20a262b897e57f62e638517e410a720b81f11547facbf630300761330f00505d862607d2ca3c162a4410a9c05408bd735d3a4c1af00ce1298a68a74d9e7e22845d664dd2dba2bbd0186d1742563b2a0e94b106f80357517231ab299cf647483d332d85401c7fa610c88e19166d034c7509261140211de2786a4194180204010200810040802040182004180204010582702c42eb04ea008d95787808164917779590a49d9cd0d5b692997989cddc043a47c4d61246f88653ca2bba2026fb223469d9d4b4e27fce2860d1baa1aea6ba86486e345d0a92b5c829f42010ff27985faca9aed0dbb184e96a4ccb6ef3d35330b3bf37e5d656f24f2940efefca0ab53ba1557008e08600f81823f80897d05c0480121074d8a5e701c28c2800d054000a600a8320c96a660bf1f0e00e860248088088aa16b603760e1e003d2e05484420b3a2f326eb79773896ebf3faba886aa7a5cdc8600f265509a4149886800c43a03ae023c054713885da08835f9250810040802040182004180204010200810041e2502c42ef028d125bcef0b011ac2f7b3aab782af31bd150c13147da29a4b7e395f1160191f93676446368500a728929ac9a952bed2ed61ab0228b0a5623af3d9ad4f2a28afc109776fdff1b1688b4f0c507951d32941e1791ac9266b4a1e2a0b268739c3c5e6f310a7007c02c0314043604c602d7f01383c007283a700c411c01f7c69a06940dc01ddba3e10be210e214e708440d771804013793c6e3d9d6569a432288dd860a0c2c3b09c6950b44299920bee296419c3d435864d338c20f01a2b78bc0cc50a9b37f2bb2ab88f67d5bb530a3809585609ec78f0f0030c5822932f8200418020401020081004080204018200418020b00281871edd6c057ff24810b86704588101bf7c359fa9f2ba194df189a2ae68345c02a8d2a06523d960143d9798cd241299545295e4892f26f353b36303ffd93f708d133c8a414d27e6f279092eb373530a1802b4fc6c666e4ac9cf57d6545678057f4070198a9ccbe56459c69bfc1078d0d0703001cb3e808f15c09325b6f50d8abfe538804bc06b000e16147c07b094e0b16052e0d9100c54fa7d1eb74b0419a714e32ec5a5dda251e963fc1ed3cd9b8248bbab14317817f92259fa177732c377e6e7e02202810e5507f6b5b73d591772432faa8c6d0c084e23687a41807b06ef1e1a48b181ae93efbef976d7a8740fadd643fa28386bf1a1aef77ba26544d526064ebddf135b5ebb7a93f50c643d3452ecf2a9339797f78cdb2d962f8ab198590fdb5f2fcda398c1fb1ed1eab839d63a16deb700ab34745c78abd0932a820041802040102008100408028f2702c45fe0f19c97df69a964c5cca80a05310628d8a69719c614bc021274d6c5701c12b0d33fdc2dc00a2e6eca989f49a4b7566f9f9b927efad331af0bae157051949093e6b239c4b990dfc7f3a0709b8624e58cbce266bdf8da00959acd51f11c3391a1e27994833b0f4cb86ed084de402b878304a0f663b51c420240872c6bc892099602384cc050704a006e34040a3824509824384dc05308421f20b8ba4092bfcc4c4511faf72fc63723d420a2f0467f785b433a0d3108a8e15bd393e9548632eee65035425babd05ffe49d8ed7245477f55c97821c480481b795da67908410037153cea3520f5f65c1a973db58d01f121ff33f048384b33a3e353636130da382569263a393536a3a1065bad145fad898df081b25a7262720c815d0066d09e16cbd9a218ab0fc1def6d79d7f243378df835a1d37c7595ebdc97d4b52dad071e195929112820041802040102008100408028f39020f592178cc474bc4fb8d408065dc869c314d269797e94a212767385a411cc382daef8162a440d43e55e60571f3b62d9bb77b911cd0b4644ba39ccbe82e6f5552316754946391c8b3fecddb35978fe5f98a3c2d2989f9b9391171d9ac9a54d8db59fa4e1ecd9b10f00f747a300668a0e94398013838002a39b60bd07012c005760015e52d6f02385b6029eba0ff6307020811a88be0cba0c24d02068b5d0d8ccdc19ab9d999b8aa558a4ced86c0f8ad84f665ca30bed858b929f2d9f8a7e9f42cf64d408d9b7ca93bf3814a3035a88d5b370d0e0f083515f85504a300e20d45650408a4f8e80d031a629a0fbd78bce5a1af0ae91170f6864ffca04563cbfd8b852b04d152cd350d2d90e11fa65c8b071f35dc83c9b2ac689955ecbdac2c2f8ab1c6101e5ca087c7e151cce07d4bb7066e4578edfcd76862277dc03ceebd64e13d204fd29c204010200810040802040182c0578e80fdafd9afbc73d22141c00901da147524e98c9051549d7667e4acdf0d7f7af31295a7444177517c2040f1d6b500bc17c1f57f140f9713d46cdc7c23f1c5a43a9fe63d918c7a9bf3cc4d67e7afdfa219a1d29845a9db6d3bb609069bcd6455ca9346cc445a9e4c6b59f00da029040702e0443f7cc12d04c5a3fd70fa9fa168080aa05a3106b0b5007fb06b01d8050c880580e03a415333750f4369f93c27ab955eb661f3e64fc7bfac0bd0dfd9f9543c784b9fcf890ce7f1793425bb113c088201cecdd66c70b937e97f10aedb5ec9a5d2b3dffef61ff47f310fee07706081c7571168ba0e77153a41b3ac2cd9dbd535380e772f826252b3ff78673bf827209489f677f5f425800368fd7b8f1fef68825cf472cfb9ab1138a500a9a6797fe7b381ae1f9f9d8287c8d91fbebbe3b5578fc457101c6f47a31fbedb2b1d68471f5d8ad41ffceb6703232bd84acb093adb0298bb36fafe72ce68a53ca10fdf7d275a7df0f5136d985e1a39f9d6f9eaa3af1d0f7b4b25b777b1e59badb77f71ebc86baf84bdce034748ee3ff3fef9713c2ca166e7cb2f1f2afeeb16ef79f38378c3e1578fb7e21eb5e8a937bbd97d2f74b6d7e1472b49d1de77bbaf57d77b27c71350c0f81b9f7df1448b17d7ad84ee783ba01c1fb970e6fcb52c260d3637800f03f87fe054aebc500bbdbcdd1d852134c52fbcdb13ad6b60c7c67077056901bee448efa9f383165b7f4d404ab2adafbe7cc0b2751418940a13ee5d0233f3e1c97747d8b6d77113adffd4dbfde29ebf3dd15e227fc387aba3b17c06ffea003ab56c190c75f55cb556170a36efed3cdec146f1584275ecb8055db07977ab18ed1bc6b3e0a9dff572e7010bc505f9e1a7441e8ca72d394ceeeab81566b9e04712eb3f73a66f2cb4ebb9134dd10783da410c103239dadb756e30855f2e54bbe370e7116b45952c3c98ca4cf4f20aa00087d2c2027aa52b61f57701dec785d7cd061cc912040802040182004180204010781004487c8107418fb47d2408c01d7f08020f725c06d132c51a14cb523ccf722c0d27fa1915efd6b394ceab198412863a25ddfc7874fce6eddbe3d3d98c9ed69834e3be9d9655d6e5e2ddb713e98bfffc9fa9d954cbf6164e658dace17757ea884bcac6d47c7e36279bb09d0c07042090201805280830809375b61fa208e8f80a43084708910921844021cc0010e28fb5990f7710a80a580a1886cecc272b3d15b4ac7c6de3c663bfffc4d7786af6931121392f2a9a97a6aa3ce8a9ed81063faa63e7ebe9cc5636fb5fbef34c6bd3c60a0fcf7bdd5bbef664347e17fc08f06587ba8c8316588ac7eae08ef6bc3f389ed971f0d87347f706e5a94ba77b000f141f78b7bb2f11683e7cece8ae4631d2d7dd339291467bbaaf46c4e6ddc79e3bb6bbd93f15b9343453d7b177a71fe885dadd1d61544a10479a26c9a908180582f5cd6de28d52b6cb08ea8ada1fbb8cb3e8200f6a0a09d9b1fe514b938b5f1f4820a6a9c1eb28b9bd8b677cf33a4a82bbbef3c02db0a6c633bb0e1e3db8ab5e9ebaf6e150b20860a829c4a422fd51abc7e4f5fe491d3535d4156bf1af262565244f8e2777ec3f7aece04e363576f69dae38582d1c9199b8fc0118053c8d078f1ddbdb8422632938dc829994295fec4893660a43d0a48caca7c6c6a45d876dd24e5c7e0f8c02fec6c3c78eed6ed0a612b23c83c7bb989c84f15a600ec58028333a92d0f5a991180c538b0d4dcade50c8a9c95a682c9f4176d932f8e49deeab0954bbf7f0e1ddcd358948df3b5d0385b18c8fa3bd478feeaaf7242257fb86b5bd478feddf51931d1ffcf03a5e958bc9499ec54a9c719cdc3570c3edc06b03457bdf3fdd3726361fec3cd0b44693b5a0761403c5fbdf3b3b98f2e279dfbfa37672f8a39317a2b87384562ebc787f2950d0bcb4d0792538bc3519fbbbd0b6f8ba15ba27df040182004180204010200810041e1881e28eda0333220c08020f0b01cdc8f10c9d36f51445cfeb0cefaae62989ca9ae0b4cf832b81a6e5136a7626313d3e4de5f479d8bcf3f826a73277260dd325b8b76f8ade4ec6d3d2a62ad75375552d5535df6aaef29b991a8e82e6c9d91989d733129a4ecda7727955d74496c667ff2da77d13c207803100070ab0bc060c8d33f2024be7a1162beaf81e02ebc801580fc04840239a66385697f37945cf838a1de4598de254a539e87f9a6dcae7345535e752e90a8eaaf7a9db9e0ee84d22ad199a02871d9880362367d859d99c523dffebe2bf0cdc9c86cd7c15f70f3a2623c33d079612bb0aa456bd9e99498aed6d9d2f84a219ec443f72e50ac071f0c80150b49b0e1d9a78ef6c6460843d14deb9b3a1e350bb574aa278358aa46271ed44c7be912bd7320dedfbda9ab4b85442906cb5fe6da8dfff52677b68a4e7cd52b687dab17405029b9cdeb08df348cfb9d286c70f759c8ff40d5c4fb6b47987fa275170779b178d5c7090dcde4566a4e722e87fa0f3e2ce560ebca03fef7ae1f5037550db141d7a2b321a4385dd5c84daf6b55ffcc9d581916453ab77a07f1cf977b5876c2217b3cd875f3dd20a068ef0ab62e6adf39181a87428500a5d32303a8490ffd8ab275a409a9616f1cc8f2e8e6116a3fdcee545f6f08b31b570c5652ba41d8942f3e073af9e6882ba9686ccdb6f0d4b4bc4b8a19330c7dbc328726d64028566462d6b52f67a546b6187528839d8dec06632a5337b620d3496cd606604a45a9865580630f0a3afbf1886a5d6da1aea79fb7ce4ca48b80108f6bef44a0740daa40dbdf551c3d1173b80a245bb327c7e61ba80c24a8e43e808c1fefa422a33b9abe166cdb2dcdff5eed464aa66d7732f1fc0f83d20d48e628c5ce9c7f3fe4a61de9b58d413adc682412a994a4cb902a80b978170656101bd92e66bbc0b569fe48b204010200810040802040182c0c34460e1cf9a87c992f022083c18022cd2c03320a3d14944c5d38ab461a3a4e9e97496f1f24a3293312112214420703db1a9918738822a3d9593dd1ed5e3ca4d4a282b56fcf2660c7ceb7dd9b4afd2b5c9cd8874dec5a2b9c49c965759b7377e374d5555cfc87a9ee1f23a440650c01b001f14803802a0ef531c380b409c01382a0005d0d0eff724b379b8a4104c05505848400e8107213a202a84eca3916ea02fefc43d5595794dc9a5e45ab050b0dcec7cd247511e56f388b2cfc71a698ad5782f5d91484e4f7c7ad3b7751313dc7aed93d83ffe6c0ae20e80f738dc8cc05294a2e8d03744505c3d858fbf3cd1756670f0d2d8e025a0acdd7938dc023a31bcd1d98b3f796fa9ed4c2c53dd81e297dffb2126b3254bf781b3f8d0a63ae044003502687f561307b685030c45021be382e66e71769427193ab2c3d3373c30825a03d7b3a819ce2ae0b4de2eca0c1c38304505130f6a197e751d3b3c5787416f0f8740636e3cdceef40f9f102e9c1c8008824d2d70c4229991d8064764807f205464116e6bba3866818907ee588e8757924aa585a80cd5750b74624b9d301c59d6c8719ad886b65a746df4fa685d32c634ee6dcbf45d1f1d1d45312484c35ed84677927f6d34ace12ccc20c8b0b80cf000ebc02860a5a6d63a14293861305eef422146459370104688b2b050b6f4e33884a56a30c938af6a3b49296eb8168c02f03d3311d71068ec2b52699335a02e2306b40a352c7067db8ee09330999101a785e70094e58be48c5ec9ba853e56bec5e55fb71583258f04018200418020401020081004ee078192bfa0ee870969431078980830c8a0e1a03f2da464edcb44fa0b5fda23e8066798920c7703508c010101799607f7fec4fcf4ccbcf4ab68dce4fc3215b863689f4d4ddcc86441c74eca9aac4a06e34eeaea4c260d010633b3ca979371ffe61a3001c4b2468ef5650c396f9a1c63edfe43a43f1d0e0b70705b218417a4e1e080a170b4b1d1ef999d49661503fcfce1f400d4e84000de02e054006e043214e32877ba82664039c9cd27cdcab8a405dc9e0ab81d219b51f34959354dd15dd5b875eae6ed2f466e6d863b0b8d0ab880514bf3a2aff28bcf3f064f01cd2d4a7905cc111c6dd260ac80830bcbf45a0778e3a3d15047e71b9dde4c3c3670f9dcd56b1ff58661eb161492da17de78b1ce6a111bea8db2e189735dd726c5fdcfbfd60e5e04d2d08fde2aecbb2ff11c294ba015747c6bd777255b3feac7e5a5cadf1263c839c81340627b47edf0a5810b17bc3aaae900fd1527074ac72e1c07bec76251fe4bdcb3a771f8e250cf39dce39ed6a50d6a5b13391a93c22d58ebd5e213f02db26c1964e09fcd0c9c522870895d8f2154c0bb5cb9ad93d5b2b08c66a0e3264c93b91e9397db3650196142edcdc2f9ebbd9775bde1685b7b7264b0ef722f92c109034652a6c97ad0b00bba30cb96a29f81755e18f84414b22bd3eacba18c3c4b4cee6b7271f35dcfff201c3df593ab7d5dfd4d2f62d785d5d31a503b8a510763d39330e6c264f777bd7d3d70a8d39aad159d3902858386a035d02bf2819eeeef752b3220bf04018200418020401020081004ee1101125fe01e0123e48f1e01f8fb19fcf5058ed715fd6e3a3d7677764231939c3b21531915ee0a047f023d97cb64e44c429a9f5773d59b8206cfcc6af22c657e3a350d1b6b0cc5f0a248c1817f7f9009866a9fda51f34478cbd3bfe70d6dbb3923fdfcf3e91b77d3f3082e3930a02f1a6e2684bd7a1ddf31c0e217023c06b008600580830515225f29701e700fc02707589a06dd0f421e1a2021c570c8c0d60155c5d7d455557992863e2349262b4a869ecca7644acf31341d08a6356e2ea57a2b37a90617bf0b028a5e775014fce99c194fa839846673e0320e91066955333da20b6c0226380fac9ae203173fea7ee702788d8ba2172c13a0ad896c4b472b4293674ef5c692c9d8d087a72f0e0ec5244b4b01d0c08070bdebdd8b3036096bb538411ed22a040535cf91add5b4ac59a0c0b95cc3505b471065af0d4f799a3b0a5a56394a2c5ea1a7e2b7e3c08b95657f036d1db5488e44129ee63d851e4b4987cfbedf1f8dc76343a74e5f0397feb616af23322de0ba8f12a74ff644e3c9e840cf5988e768c51728575eda916349a179f7c90fa3f1d8e5ae93384a249ed5a5e4280c54b7b4b7223d95050f812631d0047a6a0a0e11b45b5115cb35590f1a85192c74bfb00ca02394e83ed9331a9b18e9efe9be960090f09902c7b462da2c9a72f22c32b8bfc9c53bf621b66e5fe70e0f9aeceb1a5a16d36091f752664da81dc56869036ca7e0e59a4826472f9fe91bcf22aff3e0f18c9400f5bddd0e858ee8adfd2e48103bf347ef5f185d1a12c91104080204018200418020401078300496ffe1f960bc486b82c04341406111c70b8c6440ec7ec19063b3498a51d2b4a79ea6eadd5edec5515a8e13e0823817575dd9e4db303b9333c7e7ee26f42f6fde896765b8a09031295942fffee9f8f54fc73704508d1b6df37afc6295ce89498aef1f9b72d5d5de9d9f9d3773a0d7c32583a0dc5bb600b86420078705388e9515c92bb0ba62c2fefda64dfef8677759c6a5d3a2ac66c0554105830238155034c408a42846e018b74b503841e3c0902151de403e9d51683dcb1873bc3b31aba1b9cad168a4a92ac0336e49cfa6d5790f5c93e0a99ace6420981e248f9bcfca20028458f440d8451efc16d632d9b53e7b6ce4fdb3d73eea06151652cd8ec370669e45079edf3b73ba6ff0f47b83500881ee3b8f34554fecb93cd677a9fb035c120c327262b2ef72b2e359fc681914c27b1c08524741e7b1aae1a7ce812dc227cf170880d58a54e0ecdc1048d996f64601dcefdbf7808e8d9333a5ad0bab27fcef95e3c025d8c65da146c31582987cf19fb8868e1dfeb3c399f63d2d50ea983c7ea9affb833e5ce7d9fd5c6713d8529c90c9bcd1f9fcdee4e9be48f707d8d1dfe34159300b414f0d879ccb8b622c97675130dc168084e62f1dd6ba3e1aeefe60186e44f033728a5da6763a4e53b2a333d0d0dac80c8eb10d4d401e6aa94757c7fdad05278cb24dd0da681466704138eb476c3af4fcfecc994b91b3a7f1c0197ff389970fb0a33d369031dc05dce16799f41687f2f258d5652657c356ac45b816335693c559c66608f1c88b07a3ef5dbc78aab7e9c0aa4dd682da718db1a1e3c7769d3a3b38f813ebe5f2d4efeedcd780f0398295223902e565d19ae8e121c188d67edd204ea62e2d8b4a899b9244102008100408020401820041e0be1180c0ea5664f5fb66401a12041e360294c0d454f8b6315c35a25caa92994b82cffed690b7c64d3fb375e3d35b0395a2e9e24d9a315455352861722a3b9967fe6d2c71f9d3a949c465c1aa80d427831bc30d9ee6909bc94c6dab0c5452158999ccbcc95fbf337765fc4e9a6573524ea1519e63b3b2c6587fd9c3d507f8f641f0e1e75955d1abdca25f559e6ca8f5f9998f47bef852e20dca6398191046a70c9ae5548371f102d2b2601df0e1f8010648bb5191bf1bdad85255a1ebf3695999481a89545244707d023af8ad86fa60e5fc7452d7f31beb3c7c75d57f8ccffc5ffffb8b3b08cd81658263f21a4d3122bee300c9224dcf599ec7aba3ab4912f803885e503aec49cb40704556f416c21fe01a5b09ce96b4589b6039137b6f6be76dbdaf41bc5eca32035f8dfbe5933fbc2aedfcc1eb8bf7172e114350c377cec78efee06fc3d0bf06ee1c763c6d22e16cb11242c94bda328c0bfcca952ff5e69c9362fd3d5766f69c38d280e732d9f3a3f7227507dfe88433ecf65446183bc9cabc739355d058c960e5b38de1caaaf53cdb9ae36c114f5bd3fb985c5bebb5b3eb831ae22438bd5c30bff07281d44b2f57b91e6d235d22712c5caab6e556a1d406badebc840ebdd1093e0824110408020401820041802040107808082cd7261e0243c28220f0a0087858be92a12b0c65a3c8d5067df382313e357f2791999861a6f2f3b7b2c2935baa36fb9007e518293b9b4fc632e6970affc95d7c365b6644081f689a79c99cadf6f0bb1a83f5ac6fa3e889df497166457a4efe7ce2cbac666635c545a320c40ed0545d860302707281962cb300041ca40d9e67108738c630c06d61f386ca597fd51d29694516005a884340c15d0460511344b8b280469a0a5ba370d78097e5b3e9f4cd5cdea810f377a7d58ce2f357879b1a7dacbc7d53d06da83746c768036e50a42a7508309813d1fcff7170536456fee9f5d9db79b81651570d88b9c853bc0b316b390c5830c3fd6c5e07bc59ef6220b8855a5b892d6b6b6a2bb5656d04902d5bb19cacf469fd0dd74b5966e0a55de31229da7bb26730aba3e6a37b9cffc9c30eeeb204dbfe25c02d1bb55d3a300938418fcd318ee5cea22d95b2ac343e3e7cfac7b1e6e650321699d2d18ef696a5ea859c4d025bb684cc5e60a3b3b26ba3616fed90b73174a85db3c8d6dc96b537bba7c9b5375c677e7d50e3cb0f1d6612e63700affb7a92e3f01c0b1db995a7944687e2a163af12a380236ea4902040102008100408020481fb41c0f98fe4fbe144da10041e12026e5a60748ad615d1346b7d55db83b5155e3704204c48e8c6edc4cddb7747c6fd9bfd4cb5cbd858c16574fd5733f2cd79ede61cbe2c50d64d0d2e0ee0982f93f9811b5f345489623010fd2c9a925052e77ffacbe86d19df3558eff16cacf280b3fec47c9a9354956273ba0106050819c0d1703521a7ab70a32084193441fb77c9d4d68ae0f05452624c139c0a70e8013844601a3c67c0cd8270f0c0344c194c038c4051bacbfd6526c77a5c1edaadeb8a57d58d5c6e663eaecdc437fafd7373e96cda7c3a5c07a710f2d9f95d3b9ab20cd34eb98eeef3fdfb27e3ffd0f731d838288f3027e7697ced20490f0901d61b08d436b5ee395270af2fe12a36b4363757877ead90c3f9f8bf7929d47b7968221e47d58d07f71d698338918f22ad85c6a3e8f3b1e2f9d541fd88862d865ff9dbf023e24dd81204080204018200418020f0bb89003947f0bb39ef8ff5a8abdc35559cfe84607ccd43b7048450a002c2004c2633a3d3a9bb39259353189e31340d76ed3901c55328cf3073ba294350404694741976f569913264c567a22085766ea94e27e612595da751da402e84b67abc8d9b36f8792aa7e6ef4aca5d494e2ad4b4accc1a8642b302ebc6e7044ccd45195e351faeae0afb028ccbf30fbf8cdc652883d14db8d81021c5304dc1053606569739557719f4068f573474af28cecccc843c15cf84367b65d5830c0fad32d21ca567365657733c939acf6cde5cb939e40a04e9e0f6ca64f22e1c32603c3577d58adea1b1ae4bbfca7978c5eb49ab7a3c61dd4df658cf15118e204010200810040802040182004180204010f88d4780f80bfcc64fe16fdf00dc344d4912c5c3ae3f67809a9f9537ba2b5c3e1fa5a12a518e3399e96c3e6f527c65a5c4f3b3f9993908f1070102c0b95f972804c1020c5da310cf40483fc5a07efa655a433a47f1aaa16ca0f9a7b66ed92aa06a16d152ba8242818027a87beee454212faba99464aa9ca180f64fb18c402337043180eb09f2f94aff86a0d7359b9b87a3ff14441aa468d55091a96bbacac28d031cabe555dd34644df7304c4d6d6d767a6e7a5e0629c088c0f0f4c60d35025dc588147810f0152c5caf5853b3d9ef0f2ac9e9809b4192929fbfede76afeb065cbffcfdebb40d9559d779efb9cbdcffbdc47bd542555492aa1329271018a912dd9c85846bc62c848364e4406dc286d3ad06b3c13569b59e959498671afa497e9363d662d668233242d26a84774c0313124224836b60516b6c0c81644654a50023d4aa57adce7b9e77de6bf6f49a592549290acc2b2f9b68b5be79ebbcfdefbfcce2d2f7ddffebeff3774e0c88f878e8c35eaa693fbcd7bb27447448008100122400488001120024480085c8404c82f70113e940ffa92dad454e39916a60c25ff54c30c2d27536d9615f36d137a63c2b48e787e55d13d27fffa44250ee39c69a62aa20710b01f212b5fd5582542ee7f061781cf78c4b829b4206eb40bad7f5e4f6b16b5a3a240a364a5919bcf078ea5c7194404532581aa3c52094c8e0c8654e5a85e98ea2cb5b294a140809ab53a1a6a09205421429c0217f002a419b21d2034a0caf8014d5493b860e85e1ab59a06778d83b56a99a92d965250b291d19027b5bcc9e6b41ab552e552544770f5d191235d5d76303ea12959ec6706738baab638671dd4940e3737de385ba1c20ffad784ee9f081001224004880011200244800810810b4380fc021786238d720109a03661d1b67425f6a3304eec2456b3183bf8a9a9677610989a70f3ee782646b2cc8e930ecb1ecf1a08ea2fb8ae9a44d5807154fe43fa7faa22f5dfd0cc3082607fa6b3646ecee9d0d83c4dd31a653df4e6e4f3c596c24894c09e7755c54c826ed7c8149ed31caf1ed5a3d40f229e261af403b24c4d93165d45c98186a6050ae35019841f02450c39d406e121407902eec7515bae90448dc0abb6e69db16aa91e041954ca5ada92cc703447e3de91caa86bb0cbafb8342ff4c17fd9e7e873344da9459e22acca919190851f5d347fdfbbc307eb158d1b1710290d450488001120024480081001224004880011381d01f20b9c8e0c9dff9511e01a32ffeba6ae2a961d08568a11bccf2d4d04100854b9e7373c9928c0833035d246d1608d58c46164723373783d2aa702f2035005cc4c3807a29ac96258d8f334680df25c52e351a42b61777b5b9b65fb7e98a0679cf9d5ba99a648fe370c43cf94985b01d7f7bc39ae194614253117b56a69515bf1ddd1031e7c149a99c64a6a986aa206495acfd284232d016a868a5ff73a6dd3f2eb101ee86e2d54ab55dfab1c3cd8285a4ea0461351c551d927ae99639b4a50f55a0b1d470e968a2d39c574bd5a12065992369430ebcddba3472674431664a7460488001120024480081001224004880011986d02efa916da6c2f82c62702d309180ab760db732588a372a38e1f04e707aa2c2ee8c5712349ea71ec854110fa28106864acd5ce5b8a9ecbf485c58e396ede66acc3365a392faa6a1b533b54054e81c5056b8ec8cca4ea6851f79c3653f0b0e1078db051f76b135588199a69666731421544e44162208b4294266042c8f2055c15c862e059b7c63b14d6ce944e4d9bab9b3d9ab1c876bb2d1313e539b40f3407ce816acdf5c35c10760875717bcbd2b97316140b052822c6ac2b97fbf0a24257a1187a0dafd6e04c68993931e2954b59bd8eaa8549e6275a1c15049b63b17603639da535ebabcb3ef1fe1d8f3eb2790865f67ee93639d4e019878a87776e7c64f399fb9c612133aef6971c73fa74efe516a6f73fa7637f68eba38f6f3d239e731aefbd76be80f34ea19e3a78af8b98d66fc68738edf3e987f18ecd1bb79ef7d765fa48b3707c01c1cec2ea68482240048800112002448008bc4f04285ee07d024dd3bc770256aa191ab3b06d9fa6711a7a4a506271903632869402e6a748c6cfea19f7f06966081425884421d6b5527d8e691a48ec1faf282833a8304398b6e1646964c6fe3c4dc050b78cac256720962089943449fd08927f89ef054a1c1baa50a470005e145f51ea5e807c814c3302480c42ac200cdb98d56b1b23316b20ad00e2834cb5b92ca768a5dc4c8380259c435810ce087e89ed18086888435d15b6508550388760829937b305395b8fd4b812e27e20a308d78012a7a9afa1ee21a2059091207896b3f41687fbb29ce2995bedc9071e1c58bcf6fe3b96f9a383070eef1d8d59ef99af780f9f4e0e553a63b0823fba67dfe1bdfd67ec7386a9665ced2f39e6f4e9decb2d4cef7f4ec77169ff81bd0c7e81f7b9a6e1059cd71f3efaf87e19e6333ec4d390f40707f6f97def3fb3d32ce7c4d31710ec8903d33b2240048800112002448008fc3a1120bfc0afd3d3fa80ac158a023c43414054228c039e35a0f81f8741146a02a2829001cc50a7c056f57ca6210bc05434118605d7566b555e1d5fd8ee9aa17e6434b42c666a2a7e50c0107904ed8c771886d0a54c60a552cb1b36c6f293308c6398e205a16b283fa02bf838841700f50fbd86827c06d8ed0a8f932c89428719f32c53458801e329fc02290a10a268616c7025ef988d2408c31045103b6cdb4a42642ba42c82af01ca0596aa699cf14c291a464143c88297893863228e228d699aaa84216e176e8104290b8ac10dcee171887c644f9cb909f815e059909d045e0db369aac671f3dd992f3dc3a7c7878ac146be3ba5b9fd77fcc9527c76ca07eff1c4f129d8d46a7fd931a74f7d7cfcd3dec2f4eeeff178722cd394b77ddeb7fe1ee79adeedc2cf2bf920f585fd52cc8f433efe10a72f7bfa31e692dd2fb276e1c15e643748cb2102448008100122400488c07b2770f1fd63edbdaf9d7afe861268d123290f90842c8b1b29aa1572815a7fd8a18f102e2077d41d1de104a6abb202431401af9bb0df59925343bf9667899d2f58fe91422ee7dab9a8e6b13869738bf3dc5cce30522df5fd3ab2147cae200420600dd4212c58dc109a855802814884a4063941c810e20ce33ccd047e4c7807325dc9da0c84f9b344d51345cf7862429150157918f60c910bccf752e8239a4aa8f23883eb40a01e4284b1749d3b2ac6618ece1c4d4b0235f0d34c43f403aa18a26842a243c63065881640560f1c13ae61b7da0525f1cef478fd3d0f3ff0c4187aec7deaabdf18bce73a1c05db1f7fe4a97d877164745e75cf3db71419ab0d6edfb879db188418195fb2e6b6db56b99bbff6cde1deb5f7deb60ca7583cf8e8d73689ebbeb461658f7c7bbc052f6c7cf8a90372785e58fc85bbee58ea327fcfb7bfb1c5bf69257bfab981f91f5b76f027efaefbca97fb869ff9c6e6c19e5eb177afec3c356f69f796479f7ab9debcbeb3e897c4b27befb9e9c40df693576b0e6ef9faa6c1a931bb7ac4be7d72ccb625572f3307b7ed92f7e52c5c71cf869b5c1c4d6b835b373ff9e240d03cd3b9e4c60db7ad6c1ece700b385f1bdcba71f38b4d201879cd0610616c8611a6ddecc29bffe82673fbe34fbdd2bc9db625bd0893689f36ff391fce30dde0cc1887773f73e679a73f14acf30bc5dd273eee3e2c6e86e98e2dd93fc65c6c7df8895dcdc78d3f0511c766ffbdf7ae63277f79e46827b6931fe24c5f3979154205fca3d125a52d1b37bebcaf2cc7313a6fbc6dc3cade13bf17332d787a0fbfc9ea0c5f0f31f8ccd7370dadfbe32ff7cbcb6acf3cfc8da1de2fdcd5b767eadb7b86077acadf4bdf2984779ef4fd9971ba2fdfd275d6db9404a81101224004880011200244e0a22140fa0217cda3a0851c2330d735e617ecdeb642774bbec5424a018c77ae0b48fa5b081340acbe2594bc508b7ad6a12673d5b0cf62f354bfafc3999733b45ab54b53afe8eabcb4adb0306775596a8f6b2c68710c25a98e4d44b5c81296aeeb490ac5c1866db3ce36b3ab68ccb1d40e9377d8fabc62b1bd58100a43808257af664180728502610602f510129d6539851535ad55e3edb681ba83059339596047de5c255952701617ed363d6db1b542ce741dd332852e5404032869a0a475432029c2f36a5e8c548244f1a338082321b0739be147f6e428b3c80dd52c08bb559c64ff1ea333f9dbec5ab5e6aa028e8deeab57f54f962e38bcafb6e2e65b6f5eb13038fccab77796d8f08e6f6cda36565cb276fdad2b169b03db366ddeedf675f1f2c0f6c1a691567a6dfb8184f5f59ee41490138c1d285d79e3adeb6fbe4a94f73ef1e0c661f810623f280fc029d0b670c915f94ac24a30f662bf1624e5bd7bfd156ba7cdbb7feb43700a1416af5dbffeeadef8f058108ccace27b593561bfba3d3c7dcb78fadb9f5d6150b9db18117b7ed8ad7dcbafec62b3bebfb5efef66bb5e9e3f87b366f7a71c05c72f5fadbd75fbda47078e0b99d586bb39d7a0b6c78fb839b5e1c63dd6bd6aebd7a49e7d8c0b60737ee987184e937fb5bda8fbf09a780b3f8e6f5ebd7f4b181bd6524a84c5fc3391dcf3cdd4c18e3fd5bcf3aeff4752e37df38e571d7669c6e6ac153ccbb96ae5cb1e2eaabd7dcb8bc4f0441c2dc7673862fcf09e4270739e921cef495c355eeba3b6f5f07df12637b363ff2f2beda9537afbffdd6356dc1e1e71edb7cd2a0675e304698fcca9de1eb11fb25f9453aea8660b552328677d3bebda77da033ddf2f40b979b3f3bf5fb33e37467bdcda94740074480081001224004880011b848089cff3f702f921ba065fce6116851a12fa0d830c59981f401bf11227bc04eb28266255916b158206a4009b1332f388e156cbd7b2ce2c2cc156d6f2cb133d431701421ebff59aeae205c1f3bf47e50ab54f26921a715e014d044e6e4750741e10813808ba09e202200250d14d70e6bf1dba5312f6a3458e62aa1a2ea21a408543561499a85481fd0b2244919d7203290e0a460a1a6c41d86d592b34345f183109a82b12a625dc001e1428120a8470104137dd1ee847e90c43147880147d600ee0245108cb85e437244aa710c1bd5fd3082cf20d58333fbec8acb565db7e785576abd2baf5bde57dbbd135f83155fbaef2669e3f70dee7c6060cfd0eec11712e6dcbceea65e97f5dd72cbfe879e18d8b1fbb69b563efbd72feed85dea5be6eed8be8f1556acec9ae11bb464edbdeb96c190ebbfd7ac3df0d4c08e41ffba66af8537debd6165576df7e667a7c5d29f322f16d376fbbd77c89de2a5bdb5af3fb0cb9f21f0fea4abd832f9ff4553ff7fb4e6ee2fafc2c2fae29d0f3cdd7beb5dabb0f9bb347e61d753300ca72f5714fbafbaaa77d52d2b5d1f7e907636501e1a2e354762a7de42dfceed8c156ebdef2eb993bc6c59d7e6af3f35f0c2ebd7dc72ba11266f76f7e6afe1aaf5f7deb1148b5bbad47cfccf9fdd3b7d09f2d81f1edc335c43d20542d3ddf6be1e313cfd6d5f8f348927db19167c12903d83c078967927c79c5ae7a98f5bdc725a3ecd6b8f322f2e5d7ed3529c187af4ab75e62cf9f25dabf66cfedaa9a3b1fe9593334ebd9eb4e619bf72b8aad8db377949f3e125b5d192b972f9862f750dd626735fa6c66333f259d585408413da19bf1e476f6aea0284e34cb629503382ddfdc20c7f2fb734ef78fa85277d7f76f7f7627039e5b186e9ce7a9bc7fad26f22400488001120024480085c2c04a6ff7be6625913ade3034ec0f023053b7c22d511249065d8435733c8bc291a4b507830652176db79169b6acc0dc5c2267b96140dcd57c3bc632bc2f46bbe9ec5483be06a52283881574ed3b00045423d8fb87f1679ba11cd69c9b5da1c6679a641395057b4280ab340645e96d68360a45c4d34ddb6a15b686711321a22ce74040c30880b32880128903e4010832a201798b8969eb7739d2e7c0c1c167d66bbb1eb563cbf9aa49aaada2a1c14a66971c7cc5b9aa2eb76926413f59a1f07866db22cab543d480ca009c81060383828e214ea8706e224ced29ad60712f48f367ecc7a92679ab610febaebcffef543c73a30363a54ea5977a5f3e2aeed3b597fd7ce325bbc76e54cff1760f437777771a1d9077b71a0549bb4ec0d58d3c7473b7a74eabc10546cef39faa9b9b4c7d83570ca45ecd4aba6f7e1ee31535a2e2ff6a5cc1f6ceee95d9ac7a2bdc886b73ef4d5e74ef964a65b90f65ab1074e8166eb5bd6c30606b3d6d38e70ec66e5555dc730f52fef7b76efc90b197ce1c9a78fa63230be78ed3ab165fadb3fbda399b5d19cf4f40b3e15c8d9e76d0e39f5506678dcb5f655a7e133c960faebf0e6af3d768075de7eef6db0c2f74b53f7942f0f5b79a2817eea9acf7255ff6df7ecdff8f8cb2f3fb7f765f9c8baaf5adbbfb467fa224ecf677aaff7faf5987e0d426bcef6406758fc64c2c3f40b4ffafe9cfc55684e79d6db3c7161f48e0810012240048800112002bf7a02f897103522707111e8147623f662354179016cbac7419c048996c6865072054d4073d04852e4f0a70a36deb334e62687518fc80098df41262c4735e01848bc3979380d22e140a040f303513145cd6b24a96719c2e221ea00daf8c8d6599271b80abca0da08538e0000fb502d9ae0a970731010c45f88ad4160d053fdac676e5b2309a135282b21a025ac1165a9ae42e330138d049e880c850810666eb4e6ac3cf40b211920750db9adaa8850406504c1b584a1be41a8a66a86b5a054212fc64a04cd423355a08b08ff04140c5593abd659eb114c3eb533fc09c366e9fed2fd774d1a5e433bb70c8afe223357af5ebcebd99d9b9f7413d6b97ad98986ded12f423038e4f72f9506743cbc1fafe651d5b8f8c4ddfaa3bd4ff905b187515cd6273fa8bd36144c7a294ee9f69e4ecc68774d5db9fbc98daf1c306fbcf32b2b1114e1effcf307a6e21866b885a65fa1360a2bbf79fdfe411cb283cf6cfce9cc234cdd2c08d74ac7ae1a7a6d88b149a253ab60fdb7fdfbfee3ef70b4ecc4b7c73f3bfd828ff7397674f6799b3da7d639c3e3de7f5a3ec72639fadbdffac837070267ed57eee9c3b4b2cd30da8cdf95c9dec75ecf72d5f09ec1ae551beedfe0d68687766c7df2c5579eded2df7f4befd12931c8b9f0917362be939b7ccc537a99b59a14d7986c53a04e077686c517d8763949739a19bf3f5274f194e9ce7a9bc79644bf890011200244800810012270b1103873acf2c5b24a5ac7078a806b99791b363b6afbc1d24e0ca13a1ad407b3246e185adaea6a9d39abbb25b7a0a3d03da7754e47b158d0e7b4e790eaaf33df12b1069b9ffb6d39ee2a495e8d0b22caeb716b8e77b6583d9db9799d79474b756cfe27611aa15e601845118a047255750c1d9103352f2ad5e12590e500100290370d03b109c8ff575257e7f3e7e6fb16b75f7ed9fc6597f77e6449cf47962c58d0d36259591894917f9fc55596a07e623d892b2caca9a127e2500903bf51f56a9518bf032f4922c402e44d13b67f12871e3ef3232f4aeb8da856f591efe0fb5eb55199a84d9ceda14b632529edde3d34dc345b4eeebe74d532c60e3cfee896a1526968e7b71f7bf6e59d43d87867c5e5abba59303030e62c59dd73f24547dfef7ae291ed83c3c3433b1f7dec1524052c3f163e30e344278db174258ce2b14d0f7f7b707868ebc687e53efa71bbefa4bee7f276a6b99ba61a041e6166beb6f11bcfc206f4a5092fdba9b7b074258060619bf70ceddfbd7df3a657c67067ddb2efcc234c4e38793b8f3dbc7970b834b863f313b89f5f425fe00c0b960b99d6defbbc47d739d3e37e8fd3bdb6f9e1170f238160953bbc67b76c833d338d366d75331f9eee2b37d57b78c7b34f6f7af099d70663d3749bcea662b3bec35487f7b8e0a9fec70f8e7d3ddc7684b4042f6cd989afef96471f3d30eddb77e6077a86c51fbb7086efcfca9e19a63beb6d1e5f361d1101224004880011200244e0e2207041fec17e71dc0aade2378540845a815922e294f9a1829a849a865a84c80b8021adab08ce87e63f5363ecdaa3ac5f2254a515ab49c40000400049444154ad984bd57474cc6f34ca9cc5ba1a0825b6359bc5995033381714ecfb2baa10a845188729d39d765420ccfcba5f891b55d8f099c34c05bbf6711ab869a31a8a547135c3e64c8b3d9ea91010cc6119d8fe8f7d15f2837194a29820d31c4bd816d7620db504fc3043c544e8ffa18e61221797a0ee004b31b9ae220f02710d9ca9b848c9500bd1311008819a862c44f481a28e946b4c55bc7a807709520914ae706670fd6ccfb3b8b4af303030f0d463f15db7e20ff9c4bf65ec98f6dc74e79ad1c7b6bdfcd8432f6328140bd8b0aeaf3966efaa2b0b4fecaaad5c2d73ca4f6a9391014ec1dfb6e99bdbe467ced5b76fc01e72531f6ef2c3c99a7353d34d1d3447c2bcbdb7dcbd36def8f4ae4ddfdc857a06051e94c5b1d8fde3939d72953c317572ea409e3abaf92b6618a57ff5eaad7bb73db7e99bb8d8686be3c1d8816d5bebebe574a7de025416eebcb1f6f873034f3c36800ebcb0e48e7b6eea1976bf77ca08e55b31c2b19bedbde5ce35a5c7b60d6cfaa6bcca71585d7a57ceb3cdb8e0c9e94e18b189f1bdcd7b6c9d333deef6fda7e3d3c4dd7c4134c49e21596ca13ef0dc26798b68fce6affce969be3c931d265f8f3f26f9fe4c5fb9a3572dfbc2fadd8f3cf1cad39be06d42ebbc72ed49f21633f229adda503c3ac0e4afe3f3e2e8e4af47cfaa350b776edbf52cbe7d8c3b9cd5a79ee4e465f87ece0876e6bf17a9dc7194b039d3f74708ffd4e996ad3bcb6d9e7037f486081001224004880011200217010105d1d017c132680944e038816f7db89749c9fe545120d7af08040b085b57943c120032cfd27c0791fd99ea4501c4067553b4b5e6e2241c9f9840c20117469a442a0b54881672175e03155e06e8083091296a2ceb1f42bb00de040803460a1775c4f42349214689c230e322cc757febf5911fbd7388e5ac826316d3b44bf0ce8ccd778d794ed6dd65e4e64180b06e9b8ea919d017442643c8532805aa11821a2c2d53b0ffaf5846adee7be530a8c559a842af902971a6a210610825c2c96618063405c2d0f7c268c28b0cdde1885a8853c81134a274dcf78224fd1fde38baf57d1ccdf91cc535a90e60bad33666b73efcd517fdabfee4be5b8e1b58a78c0ce17788ba9bae7b863ea75c244ff843db37bf30bafa8e75bdf2cad2e63f7f68a0e7e6fb372c9fb1f3853839ed06e5e1f1259fe616a6f53f3afdb433278e707c79cdb14ea478fcc3733c7a0fd34d8d78cef34e1bfce820d3ce9ceeeea6a63bf960dab5277f7486f767b92a46580c8a219ef6ab35edf2735ef0d1554d0ee1baa73aa48e2dfbb460a7cd7eacef89bf67e830e37467bbcd1347a5774480081001224004880011f8951238d77ff3ff4a174b937f4008a80a76d161726bb2849f9f841187796d5a8a9aa03081a2c2cc4eb1fb6fe908fc4727c400f830bc5bda6c61e871826a0111b6f8aad52a4a00c0f25779aa305c827283a9097f825074f80c200800ef011c0f701824ba99f1462dc3867d62657e161a068a21eabaca0d96d89ac843d2c0d43378006c031512fca01e341abc0ef3df4e11d8a0c4a84d800d7ec6232c1a3101aa1d332b336d2d6c08440f045e1a4570c0314de8c88de002610195304e75a1e17ea2c42fe6728ea509f926cd52e635302aaa1842e6f08234e14e89f8c1681fdcf2f0e697eb095b72ebea33fff1c30676cf6b7eeca0eedbb7ebb1bf185ab2a4ab343470386157ae5c7a5e23bdc78ba6dde0b4435c7c9a5b38b1939c64da996987274c7f9ab14ee8f35edf4c9b63dae1cc579ff3bca78e38edccb4c399a73bf9ec395fd01ce02c570924119c3cd1f4f7d32e9f7638bdc7598fcf7edd69c19ef5d2193acc704a7efdce7c9b67bd09ea400488001120024480081081f78fc0994d83f76f1d3413119822a065192c77a173280bf014867e2a25066092c382e75271a0ee5599304c0762ff5a8c4202f86532cbd161a7d721daa7a48661a90e12055095205304c748880f90f1fcb0ee0da5a5ad158500184cf35411a82ca00869938f5693280b52a58e0400dd5039840239ea176471a41bd8754c11c0909fdb9a9f9fe4529186691aa0fca140ad8204be864c819e40e423181bfbfd6990c628b4e8e65c080eb248445e1a36823449c218f102586b16c701520f4ccc9228b55a9dabf246115290f84855c850c5c030ec185106b3d1845b2c76f72d5bbdaeff8ca6d92f31b5e8b9ee8fefeedab275e7fee161d6bef8e6ebd62d87282035224004880011200244800810012240042e5602e417b8589fcc07785d45c40b200100d6bc0ec3dad132d42bd44c43b58d4c5620c0be3cd37c9e24bc26b304588a2403cdd612adea2919b31141a0ab0eb38aa6adf010c9028ca3a8014a12c8fa016aa0e88ac72a184e1316ecef6286cf05e401c6d472675b77e94072b8519bf085165ba60a4f83a56b50074853358e8cc89a67b3f650531ce41e64911ad4213118ab9a140d90b5074422e50152d42a4c32c401202740517065ca32150e802c35b444689999b3b09388ee0c57f989133622b80912781974cbe2182f4661c3306e20887f169ad9bbeaae2faf9a85814f18d2ecea5f7747ff09a7e80d11200244800810012240048800112002172b01f20b5cac4fe603bc2ec8f4c3e097667c028b5ad105020712256d3068f2a581551085f62ed42d2c5527323f32901b606a664e0fe220d3523b9f53341d3a02b0d00d4b4bfd3481a2802e1837e2384cd2481119440b300186ca6091736e59aeee98c2b7b5363798a862d33f131a62fe31aa50a2340c8505d54155b115ad05350ffc082e019ea28ea030b42880600154f03343d74411663d47180283de409241ec001907e8aba48aa9cb7c06d5ce455ead5aaf84903a0c53936b502d5411c92018241311448024873442920467c896404601352240048800112002448008100122400488c0ec1320bfc0ec33a619ce91802a7408f2d71b75cdb5b96e04413d4d43d348ea282ba0a56e31cf6081db59db8242323a8672054ccd1a51c3ca1712eccd43084017519aeab93cb734071508333549142f8885700d91af7a75611a9665450d1fa102c81588743d8a1367ee3cd56d3950de5f8f996e1a0e37116060aa1c3f96d0b1006671d6e23003dbf8a884e021b10022089ae5fa751c679aa6078d50c01bc112f811e08230ac5c5c41fa00520322ae43c600e63e440532d374522f0ce31875076a213c189052905288091213e07d503543987eb5a1cbe206d4880011200244800810012240048800112002b34e80fc02b38e9826385702d8e79f288d219320a85527ea75c896eb3c454480b045252cd75998a1ec409226d572cc63aec6957ad5719c7a1abb2dc530f56b614dcfe502914229409896403e81a2162c0be503b86e17950e8806f85edd71da9893d36344ec2335009a7f8a6a170226a044c81326944c4f135349f39ae04926e30560dbb7e761f6438490f9e371bd8a8d7ea168ae2593e723af8cca09086f684a23689e575623681d04a117e51cd78bea8229704230c41620a080a9adc582df8027010913d023d47279943e501cbb004d8446ad212cc3f7c373e546fd890011200244800810012240048800112002e74180fc02e7018d2e995d0295704c1191c9b40035ff0ca1e92215b1c7626810e63a738988c7ab6379d5325c1d5a80f5d4b75b1d6cb71b961321388067ad9d9d1144071c47c9153c3f308a6d88dd6f68ccec6c4781024dd3c2b0e47415b1792f450114eee63ab34692f899a2e51ba8e8a7301386bac6736aea64a9ad305713483940f503a6ab8c696914202300f63cb21ac24a5d57340425304d41ea8162182c5250adc069cd296166a0024247be325e461a01e64d11c5a029701fa451aa265e1078882940cd85a056b270a162946ad55ac5d798b0a1a318925f6076bf66343a11200244800810012240048800112002930460dc50230217170127c75a5a6dcbe43d5d1d97f4ceb5ad4c77d5b9f33bcda2adbb280ec8e77577a21a419a4921ff42478bd9922f7475e879536b750c480088506b6b511c6801287ac195f9035df398e5aab99c3ebf9ba1e4604b81d916140b9805535f30d36c8429e376c4f48a2c6180ddff0499038ea2584a8652044950e3d8e9e78c39ba0f9bded2a2348e394f61ea23dadf3203944cd0b98fcb54542854513a5133352d6f9ab6ce4c2d5fc8e56dc7d62d91a26641c412e40e40b5c0878200d40fa32028e472d03e50346ee69c8eeeb9b9b69650563498dd3c827878e7c647360ffa17e6d1374bb5cba1e2fd3b1e7d64f3d0051af6c22c8e4621024480081001224004880011200244e08c04285ee08c78e8c35f0981b49c29869e6b451d02d78ef39a5eced2b1fa784b575118294cf446bd365e8bf31dc57c7b81615f5ed36b41dd6d7359566796b4f3e3d0571c971b991f86a6d991715b734c88fe8ba8c10b7616715437143985c15637555407d05da12876b99e966b881cc0f815d43034f2960d035f2839470c87231d85854c85ce01120e52d3b66ba53009a39ceba6e81aab19e208d41445046c54386cc9b3b112c4086b7ee84d94e6e4da4b878ea4501cd0f42ccbea22f651b13048fd7ae04d0428a15053a24ca851c54f50535135a13ea8c21f814208b3d9fcd13dfb0eefedbf30450f6a4f3ef0e0c0e2b5f7dfb1cc1f1d3c7078ef68cc7a6773f1343611200244800810012240048800112002179000f9052e204c1aeac21040c47e9c99eebc454a94944a7b73baae155a45d1cdf24623a99bcc8b556675cf1d6bd4fd4315bb60fa9a6eb71602a51267b10299c1c0d2cc398ab0ea5135e166c20a755f2f74ce57fc72101e11a922f40287d19dd4cae363858eb9711d26796a5b7aa5511b2b9715952930cb51040179ff5ce54a16445990aa46712eb35bf26d76dd1baf797e61ee1c3555507aa0317638d6e0adc8e2c0d3ec340a23b536010d824a5dad725e98b7f0dd770ebacc764c25f6032b57f4849188d469b59d30ac1f3e68a8dc8f52dd70aa7ee4e65b1072c05255686c6c6cbcedc2e09c7914b7ff8e3f598a588a993f3dc7b328f780ff35c792231a26a22c103b10b30b34fe392e87ba13012240048800112002448008100122702e042e8c59702e33525f2270160297adf8d4f33f7cf56f9ef8fe9c36b1bc5d0483fea86075ce3e7af595bdf3dbb99ffee027bb5e7a77a0b33bbfd0f490c3ff8be13454d91fdc7dc59c2ea8f76999d2f2c4fff7c34f5e7b6df7d22eae193ffcd1de6ffdfd8b2347ea1fbdea23f317b28323ef96c6d54facf8e40dd77e2cd7d61e459166b558f9a05c0ac7bd60b45243d900d331ed9cadebba2c3d90698d0029031d858e8f8c1c618f3ffdb893d72d3dafc4d9273eb632ac562f9ddfab886acdabffd3f3dfb9ea8acbba5bf3861dc599f6eadecab6ef0e4565d629d8b57d85ee3c5c0dfafe72f0c6687dd79b23704cdcb0eacab9adad4adcb0322748b9e35aa3d5c6f77ff07631c73ebcb07bde9ceeb36062a52d1b37bebcaf2cbb199d37deb66165af34c76b835b376e7e710c02878cb52d59b3e1b655d0452cedd9b2f1c997cbcd93dd57aeddb06e593cb8e5eb9b06d77de5cbfdee0c9788c12ddfd8f45afb42f7c0be318cc30b8bbf70d71d4ba5c0221bdcbaf9c917070279c83a97dcb8615df1d1079e909df63ef5d56f0cde731d8e82ed8f3ff2d4bec338323aafbae79e5b8a38a246048800112002448008100122400488c0c54a80f4052ed627f3015e57a311ce5f7ce9de801d0ed24b96fdd6d265975ef1d17ea725ff5fbeb9eb3bdffb896fb6b62c5afad21b4c6feb59f9991baefac4273e7dddc77ff116db37f44e14aa88d67f67387ce82fc77ffcd3439ade1e27c69a1bd6d63ce527af7a7f78f77d9fbff58bfff69e7b3f73fd67ffc39f3ff9877ff8bf07613b37db136ea00641aa28919fd52b59123225459d440532814811c8b8aed9c5546ff9c7efffe473b7ffc7debea5b7dff9af7feff7ffe08a8f7efa7fbbff6ffef2bf3e9969396eb7ef1fcf1e78387af58d2399d9e929c66810ce5f7a855ab0b7fd9cadfaeddfee5e726924b2d8e24e57db828f7ca4aaf17f7883bd3ed6e02dad312a1de4dd48e37abef09337defefe3b6cde472eeb5cb42054274defd37e0ff66c7ee4e57db52b6f5e7ffbad6bda82c3cf3db6b986bec3db1fdcf4e218eb5eb376edd54b3ac706b63db871074e3ef4c4cb6577f1cdebd7df7865f7815d4f3ffccc60ec8f26ac24750066ba24f64b010b0eec2b5d79e3adeb6fbe4a94f73ef1e0c661c6fc3d9b37bd38602eb97afdedebaf5e52383cf0dcce52d7aa355715308ed17df5aafe495184c3fb6a2b6ebef5e6150b83c3af7c7b27522aa81101224004880011200244800810012270f11220bfc0c5fb6c3eb02b2bbf7340f57d6c4e5b395360975dc46d5678cba7977ffe96de6f6dab0c0c97f20b1623d2deb50ddd09f3edc9f24fccb9ef2bf3fdf19216b2bcdbf1f6bef15463fff4fcab41801a83461c076e4173db9955d07814390abbe1fa8f3fb6f1cfb63e1ffca7afff37c5ca379817b1200e82a4ae58b1250296d79d2cce38e7501ec8345e8fe37d6313ffcf93afdc7ddfdab5eb6ed0b27a1256afb8f2b2fff9dffdabb2cf50ba40b8060201628b7df7e58321efe2566796e986ca0a1049642c57ec305b72f979456d8e1e9bbe613716f4cd0954f69d977f91ba85d4345126d199db5e0e6bfb2bac82108539ddb94ecbc97967fe0234950192da68c9ec59bee14bb7af5d7f1da20576bfb09db1c2adf7ddb56ad9b2eb6ebbe7d6250edbf7c2335be5c9f55fbe63f9d2a52bd76db8f9cac55ded0814c28ffc6fc64b7637850397acbd77ddcafea5cb6fb9f7d6258ceddb31e88b62ff5557ddb8e1b6ebfa7aba7a7ada31c2d0305bb6eaba2ee411f4aebc6e799f1c94b1155fbaefa6e5fdcb6fba6d0967fbf60c35cfd10b11200244800810012240048800112002172901f20b5ca40fe683bcac8657aed7269adbe5a9a22bb9a2d1d56e4173e09a4f7f4c13ec3bdffb695bcf47c622d4f573ba7a9786427f75d7cb4b2f5bf4e94f7dccb55ac64bde8191f17ffb4737bff0e3c6fe4325a6988a2e6a711dd50434b804d484ebac3cb6ff232bae5abbeee37ff5e80ba56a1045c99191115de8f57254ab466eae856bba615b4c685e188dd46a871ae1eb870ea8edec86cf7d368a7d4414286910fae54b16cf5df5a94b8346bd54f1c6ebfe7d7f76cbf32fb1c3e329ea1db6b6cf85364196c42836981928a9683ba895800a0579d1de6e17f2e2fa9b7adfd8cfde3a52773a2f91b5124c6dbc5ee95ee4c219101b2637d89cf9ad67fe0ef4df76cf8a856d7b5f7eeeaf1f7ae0c1bfdeb47370b4d91fee82624f33bd1f6ffb96f5c854081633ded53b69b233b17cdd1db7adec9d36f80c97349d0e46ff64e6006366df52f42fd57cd15e64c33b1efaea57ffe281879ed8b6f7d820cdee901338da38aa40369b3c83320ed488001120024480081001224004880011b89809905fe0627e3a1fd0b57127e536e4ff1853b328ab67bc81da84cc0815b3d2b580bdfe267b737f2311acac584325e78d7dd92b3f3fa2f04235e0253f796bdfbb4c6337fecea7349bfdd3777fa8daed89a6ab0802c8989f7975a58157d5ccaa6307577c7a258cf69ffdf4e72d857961396ec9774ed4c252181ff14a89c91a2c8a8582b4ff6acc4bb6f3869fb52d56cc56e185b16938a6604954cae7921bd67c92abe2c0fe11941ebcfefa351163df7de927a65bcc986adbaec285f40be846ccb20c1632e796615a4249ab1357f72feeb2d993cfed88f20b45ae1575131a8d46a150e00a4a286a511494860f9ef9f10fef19ec5ab5e1fefbefffcadd775ebdd839f0cad35b86e2a66d5e9bf410e0f2fd4d67012a2cb0a4347572fbc6af3ffced3d5383cf7849f3d360f058bdc178783fce9842ec7e72e32b07e21beffc0ae6bdff8f6f6edafc47fd0d93010853c3d20111200244800810012240048800112002bf2e04c82ff0ebf2a43e40ebe42daad6a261e71c39f96687a1b5f0c4c91233335bed964ee6856c6cbc9666ecc73b5f7bfa3b5b1e78e087a3d2e4351355570debed77dfe999df69e7e2abaf11fff0ecae24cb4711179a4c7b875e8030f4284bb17fafd9ba33a7504b98e7c72c4459405b375bdfd97f24ce145570a7e87a5978b852ae31b5c6f57d5e233019cf9b8aa6732d1f469aa2289aa6a0e8a0834209b9aed77ef6e6a2c597f4f42e5cb5baeb99e75e8dd5dc38bc14867407c482451abc1b5194c5503140a581c86f68a9dfe32ad7acc8ed7883ed3e542afbf1bfbc39e8165b50df8029ac5629a38e61dd3f8bbec0f08e679fdef4e033af0dc6a6e93675ff8ba658ba721963639b1edebc6768ffeeed9b37bd32c6da965fbfa28fb1c38f3fba657fa9b467ebe3dbf6d5997b2ca280b1192fe96f7ebeeb8947b60f0e0f0fed7cf4b1572062b87ca9db74220816d786875edbf88d67e170f06b900f9071014969f7eea1e1a9988113beaffee0a35ffbf3479e39ee8c38e1537a43048800112002448008100122400488c0af94c0d45edfaf74153439119846c05dd492286da1ce7847aef38a7959cd4f999a6606cfb5332412b0d83653e4042cbb64e1efddf45b4b5a27de7af71dcf8f1245248aba67cf44fcd68e770e0f1b3cfe05b4fd7ef6eeb28ff747f5ccc63ebc9253b54296f1306868aee2f3287359885a025e06a39f15bac7c73d480fe650b0b054ca60ce731d850aab7186da86077dd6a93a0cf2054e8fda28a5e1b8667023d54dd70d3d6dc76b6f1e6804db7ffa8bfc9cdeed3f1cdef5e6a1f9adedf53009322821b298636db1a64160502b97fd967c8b50623b1ebbeeea2bbef5bd17b7fdf8d52f5e7ff93b87c63eb9e843e18112e7aceed7a177683898ee4c6dd917d6ef7ee489579ede04931dadf3cab52bbba01770cb9d37d61e7f6ee089c70670921796dc71cf4dae60eb573cfac4cb2ffff5432fe3a4b3f0ea0dd7f58a3d3b2677f8cdbe192e117b36cb9e057fdba66f6ec31173aebe7d03c403e2d5abb7eeddf6dca66fe294d1d6c683b103dbb696566d58da5718181878eab1f8ae5bf1804efc7f15e9b3a89582c46faa1ccac1a81101224004880011200244800810012270311138f15ff017d3ca682d1f580299c50dcdc1ceb39726a1e0016a0570a11a8530cbfdfcf5f8434b593eafaa319b5b745d51ffc4f20fe94626b8adbadaee7fd9ddd6c67efbf3bf335e6fac5e73cbf75f78f8effffeb995d75e83fd7a91b0ac9104318205748d2b8aaabff2da4f54c1aebce2aa52b9a188165657de3938010f449b6dd6e260bc3ae1170a43e3631e53a2b616abc88e1c1a5722230c85e5b4724b89435fcfcd79feb917f5ccbce6faebd7feee9a03c3e538bbe4f92deb9f7ce6fb7ff2477f501b1f65aac1d47a9244a876180bad9e08a3386fd7eb7b0f0eb325f5f2258b7a2ffb107be1a5b7ae5dd66db714cc627b98be1d250cd9044caf27d1a4b4ffe9bf05eed23beebb3ff67d3f8ee19e98fa4bee5d79db9fae8c6b359f09d345c243b32dbde9aefbaff3e549749d3cb9f4b6fbef3f3af8a997c8d206ccb8e9cbffbe1f23c5f2a2c98144cfaafbee5f797c70398fe932b6ecb67b11a830d9eeef3f76c4dcdbfef4e81cf7dd3ff5f9d4a77440048800112002448008100122400488c0454180f2082e8ac7408b984ec0e4055bb81a0c53d554d59cb03af3adbd56ae77ef606d788c5db3fab75adb7564b6ab69a86955c789ae5dfd99c067dffad63fbefdcec8551fbd2a6fe51674cfeb9ed7f5e9cf743fb7f507b0862dcbca90e89f6669a6c6890a3b5a498d27fe76db75ab2eb1b9f5d62f0e3cf7c24ffe79fb2bfff2eea152c252dbca30c4e2de746eeb67bef8b9bbffec7ff9f6d6fff69fbffeef7ff1f3f4d5edaf58f9d60642fce354b475be3e34bce9e967878ebcfbe1dfea330c7fee1c65f122f3b39f5df2fcf7870f8e22d6602e57f202ba0229cf985d0f8c89babd7f42f9bb7ffc45842a88cc6c54bccffdf68d950adbf6c20f177ee8c34eb15598569032d3814861476ecefce94c4e772c904470cc689fd647e0e49453e0e879b8098ac5934f1ebfe6c44b64c240e0a32a811cfeb8d3a1d97d5a4f7938e591383e161d11012240048800112002448008100122f06b4480fe4dff6bf4b03e284b8d72f34ab15dc9585d351b02c2812c0c8d770f37fedd9f3dfa999bfaafffdce70f8f1cf2541659ae3367b15739ccdd857ff5577f39d6f016f5755c7bd92ab7980fd358e56d37ddfc85a7fef1a1c137dfb5b4228b98e1741a8a96f995a0eaffe117bff42187fdfdfff5cd1f3cbbe599ef3cfffae0c89131ae39393b5ffdc8551f9ddf33e70bbff7bb3ff8deb63fbcfb4b8c472c2cfffeba5bf6bcf4e2fffaaffee485ef3deef4cc83cd1c54d95ffcc57ff8d9ebfb7b7b2fdbf0af57b1643c8ecb9669dff43bb73ef5dfffe34f074a37acbcdc8bac30651177336761bd5111ad73fed3d7ffef443717f57db86ab60b7b4ecf87dabbe73f77a0c6da3ffcf1b1386b581d9933e41bad75c78cf41cf6e17f55cdec5db664497bd77115825fd542685e22400488001120024480081001224004669d80d44e9bf549680222702e0436fe1f377eef47af3df5dd11b7c07ef7862be7b6e477efdaf3d39f1fe9ffe887567e6a0553bd7f78e699d776874b17e5967fa85d53d8a191e8bb3bf6f72c62a532fbdc67af5c7679bfaed949a63fb565fb3f3fbfeb539fecad8f8f8d0c566fbfedfa4b3f3c2fa88cbff44f3f6cb3f3ffd3dd77176df76fff66d39ea1e1e1ccf8e9bb07eb5ca9060d54172c16cc4faef8646f67eb173fbb5a694cf0d86b6b69d5b9fb9fbffe7f0ebebbf773b7fffe5894bcf4fa2f16f4af78e1473ffa97d77f7acf5dffe375ab5694cbe5e172e3bffebf7fb773c7e0d2deaecfdf74cd0fbefffcabff3271d37597763b8a6deabf385879ee87fb56ace80baae50e53b96cc9a54efbdc1d3b77b61673fdfdfdb56af5a97ff8c7bd0793cf7ceaf2eb972f3594e0df3cf8f4b960a3be448008100122400488001120024480081081f321407e81f3a146d7cc2a8179ae62b6b0b11401ffa99bb2cc63a6865a7ef920ad8d9651cf8f099d319da501331a4c8768a0508324d55c2d082211319e300bd1042983a0ff9c4e27acd4ad942d28b65baa122925bf12759acea5f37af4b416fb41fb9cde437eba6defd0a8a21ef62aa9a6448d204b1992fb17cfc92febb495ea91a26d1e39882d7cb3bd631ef2fe0fd71ba3515a518dd06c192995848843af9c0641ae60078a083391b38a5eb5c28272c79c62a02875af6c41adbf1c2b8e1d71939b4e69624c8fc3b6829bc4918aa52671bd1128b811c38c321da20a56ea2301617f9d7c76b3fa45a3c1890011200244800810012240048800119004288f80be07171d812871fd5252491bd0053478215398e7b143f59a6a850a6746dee6ba15667192a65966e9aa1e54c71c4bad94eb4507290791cd598b550851eb4f6df0aad765b93d850ea3a1d842b59cfcdb63d0f6e38746aaf33bcceec50b46bdec67c3fb0e44fe4812a65c49a208a9ff937f159dad5d6a5c76ac7cd94f15a750ae26a2aa201b41656ac1d11ae55ad0a8b429c250352ff31435492a1e14f7a1d831c1268a4848f0a2b7de3e12415e409631705395fb75a6e59c9191ba99eb500d5b6f6b55a31a57a24aad6c683ee40f98aa8621ca2966818a44085c478d081001224004880011200244800810012230eb04285e60d611d304e74a40281d8a9ec576831bc2886d25d574c34995304a47d314eafe86a27028fd63e7dd8e7346ccda728a9a85ba69a0fe9faba756a689d4499244cfab691240b7302c37f2a99533b54630e1bab6e7a59a9a8c1e1e38526d54546da8111d828aa1a3eb2aaf551b5034443882a3188bdaf21d69256fa8ce9caeba97305f1645e0869eaa692432c572fc5075728534f25d478bc2cabe77df0d32042bf05acde39a701ca712863ce740b66074b4962998dd0f19c4121533d7d208155de10523ab9646c6278e2451007f00c34f02679d625ba6d0d4f268e95cd1517f2240048800112002448008100122400488c0b91220bfc0b912a3feb34ea0b5e763090f7dad9a2949e2a52942f3618dc751160710f2d760b66709f6e70d452d322ba76982a75912175b5b02bf5eb0b89ab15086e1ab95b88afa032c54589cb25a06035e37335bcd5ab9a92681e52aa524dc5b0946fca00e6b5e615a8a580156b0ad620ea90379338ddb54df71440d5bf9aa29526b62bc9a66a1e1886a58634238567b1466f03d282251b458d1b430c60fd21cb272adeafb61ccb571df1bab3498e29a961347be660b91d351b350118530484412eb0253a751e0ab2c55991247411485719ac6711c9527669d354d40048800112002448008100122400488c0079e00e5117ce0bf02171f80b25753e107481206133f468e7dc694445132216c6ce9ab49168569a6648a8a108260c4ab22451f0103ef8c4ea82cb6f44445d70489fa6a2369e8a6164589a559053bc7120586b8a1a936e20cbc54c9398e65b614a270bcac9547cc44593867bec67935f5992e6a7eddcfb28a5f63a5d047ce0213219c1299a20b25a94599c6b8a6370ebf9dc5996d19611c5402481d8814fe8c285175052b977e0ca6784808d01cddb0aba51a4a1bf84812081366185c849aee56cb15d376c2a0ae0955286a1c3558e423d6406816aa205c7c4f865644048800112002448008100122400488c06f20018a17f80d7ca8bfeeb724723d08108858aca2213280c5ba8e28fb5449451ac123a0729dfb9917351a3cd55dcbad7ad55cce492304e0474a064b3c521583ab26131cd9042a8cf4342998395be75954eb748cd6d057d2e440a93a5443b541d6d3d679f9bcb6bc2a460f94e10bd8eb1d2ea7b10f83df76625fa6fd2b49ac0923c04a04474b14960ae105be6b992c89e31061086eacd95e1cc26be0059e306da825ba9ad9f0bd00a9049a19863a5409b2d4cb78981ab1666a6115f50a8b71a60b4de75c6d78551647bac635a8102649902a19c413aaa3bfee8f92d64f048800112002448008100122400488c0c54f80fc0217ff33fac0ad502ff6c0fc4618be92664245807fccd5304962259369040a17d01d506dae6950091088b757858a729b30bcbd4ac936d22c8d033fd1b911a7aa104266f4736eeb869405509382ca2e9fd79986d1eebd43e53063763e671897b4b89a1f2aa9e12959d94c47837a0cb54355a0c081c9359e64beefabba91649037489802af043ee451d850211018c45e18676601ca82815f62d23f6132954301d13034c42440bb208904575100d14fd5b091d6982ab321b254207200a10f78c08817d09100114559d2c07d2171228862fff03b1fb8674f374c048800112002448008100122400488c0fb4e80fc02ef3b729af06c04b4b65e040ac03500a700b2eeb32c6188d7c7af28e65c83418e01a24c4610a8081e80867f828a84d0fd972a03822bd87f47924102233e45f5c0a039147403582197735d478903378e6d5d83411e2449aa6ad2d40fa4dc6096aa10344cb8020f040c7f5ca26232a42b2872163903321ae076c06a201128d79446704b400b20e3c81688f0a192a267e407d011c4e273ae63595049c4ec38ad4601b217b0ae0421019821c9305c3391476645c891d1580ae141e42be047f58e1cc031352240048800112002448008100122400488c0ac12207d8159c54b839f0f010de9f79ceb4248633c93a900194207d2345fcc351a0d98fad861d7750369f8b0cabda021ade8349601ff30bea506a0689af22c0b42ece12759869c7f780d42562f4731f6e42d45d1d5503a1a60a423cd40ba14645140f81394280bc3101e0503d280d29e97063dfa488b9d31e92080318f860918f79308d7a0d040c82036c834cb364c17110a1a57ebd532b40326d046b0308418a48811c095523101d517715f488f40c319e90b602c69162390cb97b90af28e9a33ca3ed4880011200244800810012240048800112002b34980fc02b34997c63e2f02511cc0a2afc5318b20321049cb594a0f2a15040e340d788648fb2c33a0f8679ba6eb20d53fc2ae3db6fd615f672c89f0610a1b5e5160ac7318f9cd1158a2aa7e041f804815b51aa303ba0b041e202c013101500ac0ee3fd2fa5110405603c0963ef40bd3980b9d7101c781cc6140e6821439c4a50a43e43ff2058426f50710aa80e80621f0491845aaaa699659d411899087c18fe4031952d05c1eae1642c72b2211e00dc042e172288d4f847e201310320c80fc0843ce428d0810012240048800112002448008100122f0be1020bfc0fb829926391702b08a75440b08178639ecea3889a200fa0232001f7be9f81471f8611884810f235be89ad02d598340913105c80c903bed72135eeef0231ba169c5432c40ba01a48f00a63b6a1ca0c200840bb8cc1e48506580ab3801b35ce342d1044a068419268617019a85880e401603c35a9430c068d2eb004780bc23d8f7701098dcd0ad5c0e6b83d72149a391d152b317bc0a503dcc107a205d0ff02be03fa97d20930f261b4692ebc4e87082e0b5e95c80f741860ce02d352240048800112002448008100122400488c0ec13381a203dfb13d10c44e0bd1250ec5608f19926b402e5fe3c36dba12c00bf000c66bcc22647c358cd607b94244c511340daf34d5b1c81fef01534af927d260fd05f657cf22a7caae956104183503a13645602820b204e18fa691c629b3e4590828cfc4750801c015503a57f00850260a8235b01de0168194a7702ea111ae8a10a43d375783210862057d9bc96ebcdc882041204d2f28717804521420fa42300b106085490390f524301af70574c79017010455118048895c862544ba0460488001120024480081001224004880011985d02e417985dbe34fa7910d0dabb619ecbdd78bc224cff5883cd0c031b31fed24497b1f84dcb1d99f9f8415c008400e41ebbcc2680558f3e30bb71a679529e46075405845f2088a03998c1cb8086b1619c0b4dfa080cc340dd01bf5187c4003c11f023200540461668861c10167e1437c747f4018c79cc25730a9886510de95a9027145513185cae01fd2140203306e4a4101680ff02a78f2e299baca120df264143fa0a30d454fa0046c0078d71390e352240048800112002448008100122400488c06c12a03c82d9a44b639f1701d7b69afa7e08e19739ffd83f8f63e4fc4bc90029ca674da6dfcb1cfd661330a2b14f3ff9065d61daa332014a146272ecea6b2861809a05d88147e31c7906b66d62a8c9f00158df6122930a3443af4719840485db0e0100f80e60ccebba9944a1c6a00e00d10259e1a0e937f0923852549ec9dc0315c63fa202b01845e8b278419699865c21562a831890aed01438c40a75c76eba38e44a715e3a119ab1033259e258c37af029a209184a3150230244800810012240048800112002448008cc3e01f20bcc3e639ae11c09789532cc6418d2080f80c52faf96f6352cf0348163009bfb026f5068401ad330a46dd3c20e3fcc7827e7a23a60146648e7771c13d721bec0d2517f40a924114cfa009204a1ef33680a36f7fb112ca01bd8e1570c4b5846a3e1c371902bd82ad7a2d24494647010208f40453c02530cc3b16d1b7bfee572290e230417c815662c42b2409659a66335cd7e24266031321700c3a5e8d04c5390f7a0d69be90fa869d0cc21683a0e380216647001c20d10508026fbe38a04be8ae68dcb73d4880011200244800810012240048800112002b34880fc02b30897863e3f02a1579741f8aaa299a6a6d9b0935926b306b01b0f5f80cc2ce02a5704f405607ea761501f3dcc9534e1fcaa8f5d51ab5576bf31b268c1c2c1b7dfb22ceba3575c9146695f5fdf8f5edc313a720467860fee57d3b8a3bd15d9fe325f80b1f90b16fcf895d77ee7866b0607df3a7078e4c6ab3f5ef7fd1feffc09b20360e44f94c7dcd6565d732fbdf452ece47fef7bdf9b37afababb373fffefda669c25d512814e0719898285dfb994fbffbeebb07f71fa8952b7e92c071a099c6c8e811ae6a75dc5118cb3401f98348816602827c9507181677d7f40f4860f062c047004f01352240048800112002448008100122400488c0fb4080fc02ef03649ae2dc08c8bd7cd8ffb112a30c4128ab0e36b3f465b14098d0100580b4bf1c3185b700ea0002d905bae00d3fe06adada52b8fedad56e3e7760ffbed8f7e6cfed7cedd55dc1bcae25975eb272c5552387464a6387214df8f9cf7fbe5ca961ffdf47be80ae5d7ef9e5b0c33fbdeaeaf18989c0abe46d7bed6fdf303c727868e89d7a75fcfa35abdf1c7c6bf5ead55bb66c81f97eedb5d7d66b355c02d7009c02f04d2c5ab4e8a7afee2a8d8ff72e58b0a867beaef243870ec1193130f866d7dc792363a3df7fe18798255354041ee01577844002dc0e6e02c728af206fb8d920a3886359ffa0193e706ee0a8371120024480081001224004880011200244e0dc0990eee0b933a32b66998094f19336b39a210d1f510188b1e75223305f6c95567434991110c8da7e726f1d0e02641c045c889ef9f35a5b5b3daf8605d66ab5f1f1f1a54b972a5c96fdab56eb937a016fbef92676f2dbdada102c205d0cf02b08814288966ed4ebf5f68ed672b98c8346a3b160d182dd3f7fa351af772e58804b3015a63eb86fdf82c58b112980abaad52a52091053804f1bb53a4683a301dbfe6d8522fc02f97cfec0c183977ce85218f8bb76edcab7b5d6ea0d7947887b80770107700a3449e20dee4b8648e0473a4126cf2a59e5c8d163fa450488001120024480081001224004880011983502e4179835b434f0f912b09d1c7401b0890e2b9925280c8881a027c0b96e4259000a02388f0c7f88ffc96201b272418aba8052ed3f4b1094dfd652405841b55a866e6018c781e7c9707d5404103a2a1e3a853c040160cca30e6292443883f284baae6334a90f180530f861b66316dbb526c6271c3717a68a8f440058ec72090e53d2d00b5443604d388e1ba1661b857c8b2ed4d123e3a6a1493dc22c81666110c6084308c248183a340a7413750d55383ad0701ebe80c9c6d9b4ba09cd3c02380ed0273cb25f76a5460488001120024480081001224004880011984d02e417984dba34f67911d00d0bfbf0b2ec1fcc6364e373a9f58f83340c718c4a80388fb07b2949984a5f00436241b3dc80619b73da5bf1d9a73ef5a9a7bef5777e23765d3b8ca3ceb9dd610c6f00c40c59cdf356ac58f1e6e0a0c6f5f18951d418cc3b4e96c6a5f151ecf0a771d4d25a181e3ed452285e7fe30ddb9edf3a5e2ab9850e8430988e8d20828972390c032818ce5f381f1e894aa5accb40831aa4066ffbbddf7beeb97f2ee67258d2d0d0d09d77fec1df3efe38d7651543cff3846ec0492183209a7e8149cb1f9e081919216ff5a89b407a1f267f70a63e715efce8222240048800112002448008100122400488c03910207d817380455ddf1f02081690fa0288118067000102baa62a3a94f98c7c0ea9f809340712b80314a66b90f4436840e4d5edb656680da07ec1ed5fbcf3c51f7ebfad63ce1db76fc06e7ca95266aa28b6b61c3e32260c03e6fa6b3fd9d9d5d36d5ad6c2850bfffb134f2035e033d7ad818a012a1cecddbb77f1e24530d45bdb8a2fbdf452aa8a95d77c1a928747464b2832b06051efc1830751ce103e8537dfd8f3f18fad3870e0d065058436a4070ebcfbe6c020567cfd0d3779f5aa6d5b1ffaf0655e186cf837771d1e198548c15b4343081fc0edc80001641234b50621a3286f102510a308ae81a98605e058c64a50230244800810012240048800112002448008cc3e018a17987dc634c33912b072f938455c3f4c63d8da0819c08f2ec7d00ce411189a0e4f8134aa113a00b31afe01d3822b01d28359125f7ac962c4fc433600d201323b20490e1d19b51cb754ab2eb864f16bafedd234d1d73bbf5eab4014005a03a87d78c9257d101480ad8e4c85b131b80f74942d38323a5a2c164dc74d83a83d9f7f6b70b0a5ad0de506ae59fde9177ff452e9c8d85557afd48431511acbb98552791cbe8a9e9e7918238e513151c508954a2555d45cbe78e4c818f408dedafbf6e47a5083b0a99e801404d910aa60ea060207a643c262705f07f7ee997e928e890011200244800810012240048800112002b34180fc02b34195c6fca50814da3bb1611ea529ac7df80614554a03c068875300d101b0bd2134d814e99361f930a191c00fc33b0a4308034065c0d435680adaa68e7d78cd30703dd704131cc9fe42d7834643c922a800202940aa09a6d23cc7263e3c101a82014ca3def0215d00a70066f7832809034817181ab40923c3322b955a4b5b6b2e97436dc26abd0e531f7f4261e8bb6e1e1e81d0471fddf73d8ca95b3656552e55eb0d0f6a08d20780bb41e243dccc14408a047e645800de2221027e01a9a0085542e9eb4091050412f85240911a1120024480081001224004880011200244605609905f6056f1d2e0e74340d11cc80762c71f76354c7518f6018cf248162c4416010b9bb202b0a221fd8f4a85b2c1c09efcddccd59fcccf979f42b3105e01e95040933a05d2ada034950565963f8e318dfc8c6b0a940ba02328fb707989daac86c0f00b15136315a31d95004008826c30f3215ed8b4f69358663660b20423400f41660428503f40c8031204e07080bd8fc5343303d0aba9a3783c4b409e993c8725a11bde60d958277c0581fc881a1120024480081001224004880011200244603609905f6036e9d2d8e745801b45c8f5c3686f6610c04580940169cfc761a3791687d84d6f9adf50274cd1b7e9228035de8c2268eebacbac007811e407c71b4cf4637e84c9939842fa179aea86f01718160696d371594a50ce257fb1240c11ed0f17004c7d1c48bdc349637e726cd913363f16097b5e2878cd54ecf74f7a1fa48f40061284a8a428cb224c9b171d271bc63d7a841bc1ec4d0744f3f6a2a9f374400488001120024480081001224004880011982502a43b384b6069d8f327200d7dd8c630f251dc0f41f6b0b04d1311fb3d0be6cbf3282c88fc02fc482f80b4ada1f88f5718ed480df0eb9e1f7830c5337c24cf4f06ea4b2f42d329d01c5a5af2b882e3bfa30dd63e63712d92e7f1298cfca37d9a9f4f9af31861f207e7a4b281ecdaec8603cc82ab10c8207d13562ed7746540ff402e2f0e55e42a40fb605a8c004ea3e331c740d3172067429c42d325211d10d39c05f2236a448008100122400488001120024480081081d92140f102b3c39546fd2508e8b90eb9f72f2d67e4db4b6b199e01c4fa63b31ea3220200bbf84d65412810ca2c0088146a9013e43a22f993288da200fbf3380a4304f7cbad789c87a90f2b5d5af38a141490bf58332840fa01a4c81f1ab209646734d8fb7002e0a4bc42ba2164ff636db24fd363916493f105935735e315e023486a0d9635bd008823907516e5c74d1f87bcf4a83761d227003501f814641c03fee30cd106aa8675426d0061069947fa0220468d08100122400488001120024480081081d92540f102b3cb97463f0f0285420b4c7158fbb81686322c7a99ab9f26c80d90c1fc522610c67f92793e8bb1459f2a260404d14c780fa00e90367fa238d20d0be6b8b4f3a577009bfed21d803185742f1c6dc78c7d791ede04bccaee4dbf4053d350daedba2eff4c10c5203fca9aaeb4663481a13b5025806302a907934d6a1c2accd08c20f0c3861fc481ec9dc9354c8636c0e69ff4474c7a28a48622bc0242aa0c1e3d96b3c26720577b7489f48b0810012240048800112002448008100122309b04c82f309b7469ecf32200a97f5404802f0071029a69c0f086f9cd6205be026965c334871640d31a57109ecf5854abf9690ac97fd42644e000fa23a400267ad4f42cc024975bf4d8fe47f0bfdcad875b01c6fda4913fb96b7f7495884a387aa4a4d8e59fb4d53345c0548735afe23254479433cbf805681922d81ffd9be6bb02d31f890d183f5633bf5191890070587021af9076be9cb71939206b1fc8b77215388f515984fb929e08644dc087204781d7406a2b50230244800810012240048800112002448008cc3e01ca23987dc634c3391250f4c251197f1411307498fa081b4064bdd4e79356b34c24405c008c73d8e8f0116450f943584102035b160880bd8dd07f16058aa64fce3c4def0fbdd32c927101934d5ae71870724b1fd107d256870f01b34ce512c8a005e95840837b021513752c497a2b8a2dad38876b62a906d0f40420ef01cb6cfa2fe07f4066005ee1bb900911f004c8e1e14068fed14131717266cca5c91a06477f9af34cbe64d5d169efe8900810012240048800112002448008100122302b04c82f302b5869d05f8680d5da8dcb61a0c37096ee00fc86592db7fc3314269854e693f6365c00cd1fc60d554328be02831ce6372c765c2e3f8d8fe9f9e3c26684801c214d84a62172603283e0ff6fef4c00a328b2ff5f4392c94d18ae842304485012917004590525110414f00004fca92c22ee2aaea0a0f2f7d8c5fd79ad2828a8f0536055540494780556010515544e09205748c84120819021f71c49e6ffaa6ba6a767a62733b9dc4cf8b6d8535df5deab579f57dd93aaaeeee115f131b9b4d49fbfe6904f3f902e57a7c13c7f3520e94aeb08c4d400bd2f803f4420edf9fd7e7a2c80a62d684fcb0aacbf9b40a37c3e4b4066b939692e83aaa3990b29871c91aae62f33e4f30664961643d8e73bf8130924c93db878965bc00602200002200002200002200002200002cd4900f302cd4917b641000440000440000440000440000440000440a0651310bfc0d6b27d8477200002200002200002200002200002200002200002cd4300f302cdc3155641000440000440000440000440000440000440c01708605ec017a2041f41000440000440000440000440000440000440a07908605ea079b8c22a08800008800008800008800008800008800008f80201cc0bf84294e02308800008800008800008800008800008800008340f01cc0b340f575805011000011000011000011000011000011000015f208079015f88127c0401100001100001100001100001100001100081e621807981e6e10aab20000220000220000220000220000220000220e00b04302fe00b51828f20000220000220000220000220000220000220d03c04302fd03c5c6115044000044000044000044000044000044000047c8100e6057c214af011044000044000044000044000044000044000049a8700e6059a872bac82000880000880000880000880000880000880802f10c0bc802f44093e8200088000088000088000088000088000088040f310c0bc40f370855510000110000110000110000110000110000110f005029817f08528c14710000110000110000110000110000110000110681e029817681eaeb00a02200002200002200002200002200002200002be4000f302be1025f80802200002200002200002200002200002200002cd4300f302cdc3155641000440000440000440000440000440000440c01708605ec017a2041f41000440000440000440000440000440000440a07908605ea079b8c22a08800008800008800008800008800008800008f80201cc0bf84294e02308800008800008800008800008800008800008340f01cc0b340f575805011000011000011000011000011000011000015f208079015f88127c0401100001100001100001100001100001100081e621807981e6e10aab20000220000220000220000220000220000220e00b04302fe00b51828f20000220000220000220000220000220000220d03c04302fd03c5c6115044000044000044000044000044000044000047c8100e6057c214af011044000044000044000044000044000044000049a87807ff398855510a81f81b2b2b2d2d252a3d1583f354883000880000880000880000880804f11080c0cd4e9742121213ee5359c6de504302fd0ca03ec13cdaba8a8a07981c8c8487f7f74489f88189c040110000110000110000110682081eaeaeaf3e7cf5b2c96d0d0d0069a801a083435013c47d0d44461affe042e5ebcd8b973674c0ad49f1c344000044000044000044000047c8c00fdd14b7ffa969494f898df70b75513c0edd9561d5e1f691c4d9afaf9f9d1a4a98ff80b3741000440000440000440000440a0e104e84f5f83c1d0707d6882405313c0bc40531385bd0611d068340dd28312088000088000088000088000088000088040a308605ea051f8a0dc5404b058a0a948c20e08800008800008800008800008800008d48b00e605ea850bc2cd4500eb059a8b2cec82000880000880000880000880000880409d04302f50271e14fe5104b05ee08f228d7a40000440000440000440000440000440c08100e6051c70e0000440000440000440000440e0b225505b5b7bf6ecd9f2f2f2cacaca9609817ef43e2c2cac6bd7ae6ddae067c55a6688e01508f82401cc0bf864d85a9fd3582fd0fa628a1681000880000880806f11a0498113274e74ead429323252abd5b64ce74d26535151d1d1a347e3e3e33135d0326304af40c01709605ec017a3d60a7dc6fb055a6150d12410000110000110f01d02748be2dcb9733429403f2cdf92bda6090b5a2ce0efef4fde76ebd60d7f41b5e460c13710f021029817f0a160b56657b15ea03547176d0301100001100081164f80160be8f5faabaebaaac57bca1d6cd7aedda953a7c8672c19f08978c1491068f904302fd0f26374597888d9eecb22cc682408800008800008b4600266b3d9cfcfaf053b68778d560d545555d131fe82b243410a0440a01104302fd00878506d3a02582fd0742c61090440000440000440a0de047cf14f11f2d917ddae776ca0000220d0fc04f022d3e6678c1a4000044000044000044000045a36015f1c60fba2cf2dbb17c03b10b87c09605ee0f28d3d5a0e022000022000020a0205bcc0b66d00003c40494441541b577e5da038f62ed9302def6c430a0440000440000440e00f2180e708fe10cca8a4390814ec5cb937ec810903d46c571cdc7ef1c4194b4477ed9f52bab45391283db8fd529d02569de3dbb38fb7d5dd3e38c2c986e174c1c133b541013cdb60663d07778e0a713e9b2ea59ffdf6908905b4494ceed4372a5869c15070fe6046b550b7e607870c4874f2b4eaf8af45e91935acad76c44d2af61913ada80decae4d4ee9eaa46cafeeccd9f5fbdb4cbd2dca965375fca70be9d9b592d9ae5121b66ca74f672da9583553a9e82ce03110aa66bd8b8e735d563fdc85cc5aeca8e54d1cb9a2a31665d4115c6b458e5ade455c5275aecb6337b05728a74eefdf75d63f6658627739c721612af8e4ed0f0a98f527b84c2616376ccc84e1090dfc49aee283afbfbd77d282077a3450dfc135eb81f9d2fa772fb2847653533ad88a0dbf7e989fd3a7e3d43f399f8c3601b54fb3c1101014e45442c6975f8cbcb55b722fe7122741b787aa66dd487b88056995177cfdc1caaff7a6e716b08401c326ce7a60785c182bd8f3cacacc3f2fb82baa09a9720feb3cb94c052bd7bd117bd784a830a7c6d479a971ab251971eecfde5d139ceaf791430fb16edaf3ce7b26757d57aa583115ec79fb8d75e9c5d1cfbef5589c6bf773b6567e74cfaef4f45c16159f9232dca5e7a8d86fb6bead56975a9e873031c6d7e55b2cf4d07ecbdfabb50f7920000220d04002ce2399069a811a08348e007dfbd6cf40f9a9457f5bb8a57ce2b4f189ce7fc1b24b4b1f3b3fbf9a8d08d7fcb0dbc036961f7925aeafc3e8d749a0f2d492de3da511be930f86a3b9576d34265e5d79dba0b68e45d5bfae2b19996fcffbb87dbba9090e6f2a3afed1a97ebb6b59789b1165b53fecccddb4a0f798eef6d3edf4d6926154aadc824de5fd2314c3948af50bf3ef2e965a5166645b2b9c5b613efff4bc4b8b189b12aed9b0dbc8becc3cf37a6f79e86f375c7961e9d2b2f9e6805b6fb548c6abbefc57dea47c36a2bde68762329b716a499c4adb9db5247baa99f69a18731670e2ec1a0855b34e5a6ea2e35c97d50ff72153adcb731cb99a4b5d7507d7ea8aa396171157f5d05337b056e6f861ca3f5b5113d65be7f6b432166c4cdba2d7c526f6e0674ff1d1f42d5bd23e19fff2a78f0e7134e4d551f9b95d693b52531e9d15ad76127965c255c864f8e258f586634591f16d47448a13a7367b7ff5dd959553863a9d8caeca724ed5fa27f216f58fd87f5fa49cc51326c33b19d5534aab47d4f7b263b5e2c6ac431db6038fb160b92fdc3673070b489e387db4ae306d75dac2bd6973ffbd3945bf77cb8eafc73c3a2db209a93a5f1b5d4e2e0b0b633a695464f39f3e3d5e6a54b58401c7b380e6d33c5d9c15f5fa5cd263ac9bf4bcf3164f5ddf95aa364c5ffdbfa7d20a62474f880e0d70b984385b2bffe4afb7afce64bae8687ddeba556f242efe62b1eb57b25335e505cdd1b79d2a717f5867984483e90dff342950e7de5452620c0c6cabd57a94acdb4e634ba99de4b370db7d9b5102022000025e11b00f54bc12871008340f817abc4dd774f4ffddfac85eb3e447b49614358e2e5dfaa9982605d6ded77deae0501a25862eaf7a775bf1ebb7c9771d9921fd12096c9cdbe3f63ec1868cdcd0a5555b0e57fe7570a8a3193abab86c85813eae0c71adc474229f2db9a7fbdc3fb96a49664acfdebdbb76faf088f7a6d150fdc27d7f2b5eb4433ff65efbef21c7dfdba7e65e6b8586a3d9a1cb8d6bef8b0c5634c570ba9826055e9a14b920a51dbb7876d0c2b22d87cbe2ff641f1165a796d2a4c077ff2f36b9bbff7be9d9a12b8d1b7696cebd5e712bd57cfea927f48baaa55ac2db58db70a68826059ebca9e3cb04e474aedfe2aa65ff7180436300152dd54cabfbd2879a80c740a8d6e5393a6a75d97c711f32752d4f7154d5f2145cd576798cb8aa96c76e606bb8c36771767e0d0b8ee91eea746ad885027972daffbef580758980e9dbe76f5d94b6ead8c3d73460cd40f8550f7ff7ddc376e34d92d23231473672697ec5cb3da5b44613c04604b89e8c75d4d78654da31def91d84a45ba0c1fc1dde8ef90e42751cb831aba6e13116e507d3763036fb9daf2649776627df9a32e3b6f9cb538fdd3886bc8cd28637d045355fbcb8f4091e8e603c5f6ad4b454fbb3e76b82aadf3e92e931d6ac49cf3bcf543c7d57bab1a0d19733dda427173c10e720a066cd94bb852605929ffdf8ef2951ac78e7d83b177e7b4c3fe09af60e8a2e071a6dd3f76d974adc66d41d26714d9047da62bcedb8371c487d7ef6a26da28241b397bf3e7d1005d65186dfe750e494eddf7224e6a66b3b481391946fcc5e3762b6f687cd13036d398ef24a5d0f6952e4e76b535e2744cbb0070110b81c09e0fd029763d45b609be99bd2db2d4077dd84f113274e4c8aa6f5b7fc2bd3693b779486c2fea30785507e607cfbb7fdd90f0526a5ccb98c6ae61f30262e880bc46847d8a6db953294fee58da2a7dbfbbf18ce0acd2eb598cad63316d3de5255525e65323b29d2a1fef7aa74d6e61f53232d162a6db7645ebbb793b93f6a9bfe9fcb8d2306b59d12cffd91b74069ca6ee8d5113c279c9fa7059535722925aacc16e61f38b49b1fa503fb777c9bb12f33aa9402167fed88fe01ab07053c19ce58b5b509fad334a1a2997e737b2ed9b3e3c7c16cd919a3472d55531eb53c0642d5ace7e8a8b54b385357c854b53cc551d543cfc155adcbce4b3de2aa7579ec0676abf654455ea1d14f172d751d7bae638a5f034c2639f4017de37bd0ba818ae39fcd98b7f6e09eb523478e7cfd605959cece05932949dbe4953b732c96b2cfe68dfdcbdb07ada68cbf2f183976edef65c69c6f268f5df07b19cf2ecbf9dea63272c1ca9d9467ccf98a975aab2afb6ac1e4055f6590e037afcf13a6c7ce787ecf39d913d94d467372537ab66165c67f7e7fd19a2b5db9285d9575f6a9274ef8fd8dfe9d5cf713959a7f7927c3ef8953c72ab860557acea0bf9df8e2e8d9a71ecdf99f2af6c301fda097731dcf0d6ec8e2725a9ffe3efb2e6e93fffbd727672595f21d6459ca19f454e66f795516d379f766ad6e2a3ebc88856894d146203471f6c4e43189b4d6830af236befefc5809d38ce7bf9200bb125606a5ecb30593273fff8db0b5f3951933dedea370c6e2f9e412cbb6943ade5c6ad4b454fbb3c76b02f5a5196367bcf2fa02d13726cf7b3b43349b772da7de683166387457d9eb3a8ce47cbf7286303d72ecf36bf7085065bf7ff3174179f2bce717cc98210174ad4eb6ef26e145ac2550aee71d9d888d72cc98f1fce4910b3efbddd9314fdf9524ef72c2663c3ff6e6757aa65ff7d7b1f33eb3b1970cab590b08e0ab5986f5a76f3a8b25545a7c546eebc992929b33bd69fa365d5b66501779dbda5be473c45ab3fa87e7309173eaaa52aee174eaec45194bbff86ecf9e3ddf6d587460f9ec75274aeb90978acecefefb63670d762966a24af8430a8ddfeaf6b6f1f661a1b9095004b18140cb2180f5022d271697b527f599edee72ebc38f11ac539fecddf781ca2dbff8bba2f2276b75d2f4b921a3f8e16af6d215fc8ebfccb7d7e43e35936971f8a583bb4bbfdd5cf503f3fb776298a29c0b1af69f1e7e4af3fba2aec79fcfdde2f2e3c0867cd30f8cfdb0ccfa20c1883ec19be7f6503c02c00a4fd5909177ff95b1289fff2538253ef8bd8723ed1ef01aacdbf10f2f2c626d326776712e8d6eb736bc6ae473a7d626075ecae0b30c6bff24da6455d4d000bfbac6a8d148ef2da82e217f0a4d74a870a3ddd899fc9d03d9eb4e2efad50aaa90de5610aced45cb2cb8999001fd356cbfd1a316632aa6ac7e583f54043c0642d5ac17d151a98bbca83b64aa75798ca3aa9617c155f750a0721b7155c89eba816314f8516d517609d344c74639756907490d2d17a7cd6c3d2fca73b7fc9cc9d890707f7d5efabaf9e96cc8f85963c28fdd377361f990598b6725167efbc6a28533d99b5f0e8b8f5ab16e4de6c34be84e62717ada3e1676574cb83937536fcee4b6f43bef9cf9a25937fa9f8bc7988f7dfdc2aa857796bffcd9983c5e4ac5fc66a9a630539fdea32273dd23afa695cf5efcce106dc1f247163e754fd897df3de6f04090861532f6d7db22e76e3e372cf5e2d4a40e03da5a1ba4293e376e49d9a59e41bfdf165cf053c9c8f5459a0e2153ef0d9ffe6449bf57f22a1ed7ce5c6948ef13363621a2efa46ac3c6aa65c1fe4b46872a17e330a9f76b1c2f1e868cecb854e39ca16199c3b5d93b2f8ddc55963cba6bd4d6b3230fb38df7b51f106c7e677959d22b05156f75fef32483ba5907c4fcc09b5884c70d8b65a92be6dcbe2e3679d284e1f189f1d73cfcf76b68cef328b7b0232defc9c56f46167e3b7fd1d255136e7cacc74157c24b7850be2e7c78405479e6ba7d7a3d4bcdfbfbd838969bba252fead91ef5bbf489cb10e928ae479e2f356a5aaae78ec76b82b9222fcf9c97477de3e53713b5992fcc7fe3c13b4d9f7ef358fbe23daebdf12ea6e8ae3dec2b2bdc19093bb572e68beb12a73dfbec98e8bc6f97bfb0fa1f2963bf196eda7ee79c57cd891317cf1ea3ff76d10ba9794c9767d6ef75adee8104871ecac3a3d8bc8935753cf5f3ae7055a31c8b3353d4cbf919a8081bf7cdc37725dde177e94eff58f2eca3fa856fa4478f5e30fd1a3b5377d6ba0c9f16bdf4c5297fcd9c3da67cd74a338bbdeb9a2e4a2f4e7da272a60b81c6f76d73457a9e3e3d2f35d6e11c19d0a8300986622848694a38ef8d34a6efd7b95d484d4d4d48f4f5eb17fdfdac96cf239cdcfac6bc851b8a19eb71cb334b1ebfa543e1b6453fb07eb90b5ffde59e9bf41f11bf0792c7fd73ed6737f5946e00046859f12b8fcd5ef9db6fc5a4f0e65b8f0fee685ef7f0039ab92ba7f4a1bf464c5bfffee7823b56de937071e18d7fbbdea6e5ec89e41b59a67cda7888b08100088040e308605ea071fca0dd4404e86bb5be968ce5e5a4c2bfbf9d34c3dbd2c3c4740b317b7b5e5caa99b50f9a93dcd655ca5050faca97551bf8327bcbb982aa98ee8a01b5f9fc43ef9916df1d7565b0ff411208e07f1c282bb154d2a166e38c4e63fa07666f3ed76f5bd5535f5c5c729b7df1a4858f3c6a17b1c023f3c20dd92549a95585ef9cfdee2f5d944678baf4dcecdd962727768a71aa808acce673dcb7da57761bd2ab78a2a0a0f2ca5ef69717c60cf66707cc135fcb5e7c93367d63d9d324525c4d661c1ca54cc6aaa4672e44512019a8aa95c52461e9ae8524a9dc29b5e47cd54cb994120e02de05c2594b325757746cf539d4e529643625070f3dc6515dcbcbe03ad110b6ea88b8ad32c77679e8063625fb6776ce4516d0b947b05a5790a52cfc9583a9f3ef4c9573181bffcfb9dd2c699431fee50d8f0e697f74d57d7a16bb78eef8d830163bfd89d15f3fb8f1eba3b366cd62eb167e7db0ecd1c4b09dabb6b0a46712432de516695dbec5f2fbc6556696b8ece327f9c30889899d2d7973562f3f7cfd305e89b5cff11e477fb61bf96779414171c0b021cf7cf4efcc726da893bf52d7acaa0c183aa7ddf4472e0d7e2db7fa9f9da43c766c73f90faccdbe7b3ac404b398496cf121fd2bdbf553667759fe9069cd8aaad0a7ab587040d19cae811676e5f03643bfca1d91103662105f20c3dd109b9414eb056c592c5017bc699476c46d5d82cc15969e656c77edf133e5115cd272a9c41c11a7fbc7b381d34bfd022d216ecdcab66c09af62119af8ceb60d7bbf4edd98f6edaa377648aad10f2d5e3c467aadc0131fbd339abf352476dacab48dbb4e8ddeab42d8f4ee44b66ee99e73cf8e29dca5e7fa997b322cb1da9de94cb73889dfc8956cda77759d5c42d61a2cab8ae74b8d9a965c9f437ff6744d10ce4e5bfcde44fe907afc3bcbca6e99b3fafb9cd9f15b96bbf6c669e37925a2bb4a3dcc5aa73b239374d7cd9d9b9832614898a9dc121fcb18bd2caf4c77f403334bfaf7e2d9b46086cd7ef362fa2d2b8ad9f18d2ad5cd8aafebed1b5ec5dacd79d75b57dc28c79e1cb278db3672df35d68288bbefcaa32a27ec7ba659ef24e9dec81d363e39315ad5a08335535931ff1ecedcf8c927663d7dd3e4165c2c130b07ac55f3bee17ca6974b1da609fa762eafc4c9cea38989a26ad5bdc7308926d7f16681a09e374c8db9ebaee44dacc7d087a6de72c3a89b8786b392fdafcf58f8e9f36b3ebfb6ab29f5fea9935f0aff7e66d97ffeefb5a3539f5ff7ef3f75305eb97fdaeb8fadfb70788f2061992e3ee4de1513572c5d1afecbdbf73c72eb3b5fee7c24698466fa8a5fa72c19555b7264e177e56f3d49d332e583a64eed105ed73b08c80e3f5f5d4e73d5e6231304400004ea26807981baf9a0d43709949e5ffaaf4bf3cbd893c3c2ff31ad8b62c4cf9b63a8ac6221c141bda2d7beced6569e7f7ac1a5e11bf5d573e5417bf50fcb2ead619aef420cc7f797eda675c867aa0e66940ce8637f743f28a147f59b56327d6febfaf1eedcbb8f552ae705e89b9a260ef6cd89e1ef3becd57e5fc6c9a463065a17ede449f6d60a1ae1bc3d5ce59704b23716cfafd27cb7207a044d58982f2c7d523f726551f94bd1b285a0febdcedc9d3b6fbd2169a5717a5cc093a5e6dd71c172a9bbb019688a4171d21b2a49d0f1f587ee341b965f6720544d7a8a8eaa92e790a9aa791147553daf82abaa5947c4d5e53d750367adda73e72a5844ef688f4f88d13dafe4b98ba72786d28f11d0161615472f1297ee5147a7248a192e1adc67cebfe7767b15c7d2cbdb4f7f2896adf824fdd144dd9a4c366d99d34889860889f2af12c40d4966ab95330fdc92782147c25d6f3e51f8c2abaf3e95fa2ae5058c9efbafc4383efc75d968dd4de7257757acf9b8ea835fcbda05b34b5c824fba25bd605dadc333ce98f8c995d06553b7ac71f96cce309ded8c92c61ff4c48d375b8740967f21ec91934ad9bed3ba7e575a3032b5ecfed432ca5f3c2aa22fbf0e7867d6bb589417e4e69ac2864c9845ffe8d98ee2537b173db270c5fc17fb2c8b674c677bbb3b0f92741b548d70e761a3d9d2b4bda77ae46dd74dfce7ace285ebd28f0e615b58f4b47849476e51834e2ed6b04b8d5ca973c2f33521fa3a9bdfdab8049a1ec9d39be2f94496736face0f302727775aa47c508ebd19e1d5b7dfbd2a71c442be8617a69ee85e76a1393a3d91a9e70adae9c0d71c4a930e35dac4941f5bce3869ac931858f6a49b5eec44c15246a92a693d5749479a736be48ef2f7de6a38f53e867334ca716ddf6e0ab0bbf4d796f12e1139bfb33bd09fab674e972b563abdbf5d3eb30c9236d31de56ee6bfca31f5df7cbac829c23470e6c4d5d78d7ab0bef7ce9d371b9dfb1a9cb47c6f169b8a9af3cb97cda8f85f7f7616ceaca474785d22b0c4dd1e12c3c3a52e75f5343d70ec9b89166a11e1ad5c3afb6f686875e61eb1fc82d7b64f0cd4fb037fe71c430b2cb9e8fd8a80503c32cb596c8dbe7de4b5309920abfec283d1169d7562207044000041a4c40314468b00d288240a30934e41bcefa2de9324f6ebe30ef994b6f860764bcd0b3675bdb17a9c2c35f97e58daa0a363fd79de705ebae697f895e2140cf12db06d5a62a8b26d1df3272a5340621997c63d2472565cfb5b509b0ecaf4e3f93adfd784e37c96aad856eec073bac2988e846e3b2da407f6bb3a46184f4d780a460db957eb9a396c5855e6913b3e5f3cfaa2a52f2bfa61bbd9688de23d07174ff4bec90c37200c39982e3e6e08f97447f2c897f30ef4c76db36aa18254054c23f23e3fdd8816a7a0c7b00ff81868a83c72c89f141521ddc8a72536ac9f9aa997229251c043c054256546a798a8eaca4accb73c86435655d1ee3a8aae55d70b9aab22ec9545d1157adcb633790b544a22493bf71b047d7ba570b70cf6840a08bed1d1d2d8f7478ff90ee62955be801611a8d85d25fdda33fdcfa8418af17a47f7b8cd1e28080e4fb47af787acdd71ba3f52c795c3cbfcd2fee7dd1a789fed66505f4b8bf18fc9f3b964ec7526e5880f5c5e6c63cbaa36db15ccc381579c7335be786951717ec5df7dc4b4be7c7276d1daf9c19908c72e3164bc4d0eedb769e1ef53169d21b0798c59f9f1a1796f51283ff82fdf92702c2a90feb77e6d2a4c09470b66cdb852943238646f2ca499416ef90113ab06fc2b81f7f37879c79fca3f3e38e69f63ed97d40f760662e18399f9eadd6e84f9674bea98bf98160c3c54bbbbfbe386a5bc99583da8fe9eec6ac6c4b4a78198b539fcc7c7c53d2875b5f965a1fa08bbdee892792a6be945951d997ccf0f6731fad3b75c216ddf8a9d173d62c5faed7272f4bbaae38f9d517572d6779494f5ce7f43a79cf2797b51e2518e6f952a3a625c37028f4744d902293772cc7182f7e1fef622e0d4f23032caabd3184a5d1bd686b7795ebe31127642a468eae7c64e996f62f7df8f9109a6e31a54f19f7386fa7258ce9d3cf59a6f1f502ac7cef963c16463d58b5f34b4d51542427bd8c358551f5bc3bb6aab91cb37a28ba90435479899beee41031b98df684c25a79713163d725518448292076f478dd96b40271fd10f2c5a754cef4641ea026e8db46353b2eadb43bee4d98847a1d46b2372f7c4b73ffe25b62868eecf1a751774cdffcf0b4a7bf4b994bb504d09305a4e8ef4f574f93d1686c3f6a207fd880e6056af8e4bb511ade0b6f24c401d5d5d5fc3bbba6962662e9e984da0ef1ff3bb0f88bddbff75bbd7bee2baf88e900dadb1be0264536687353886c10000110a807018f7795ea610ba220d06002e201b97aedf95d43e9016927ad131b4ae85efea669119af345278e5da07f2555354a99be43fd5871d5bb3bce971497a6a7e64d2e66f450313d7e6cdb42c63ede67ffeb5754bf49ffa2e9cd7c898322aaffd94321404ff2d56e3855b928b5a0a4b864f7c7e7eea9628b07d33381f6adcbe09011cc72cf9b7939e74b4fecc81e72984d19cc9f7076d8aa0c5f31468b051c326d075d6800cfcccfafa72acac8c2d5072c23e2831d2c9499466dd02ffaaab0a4acf4c715f9b3aad95f53dadbb49d3e09147f4892365d02776cd6ff9d292cab4c4f3d4f5a7306d373dbaa9b5d4b51ac9aa928e741b1d6e531100a35bb96a7e82894ec75791132bb9ebd2e8f71b42bd9ebd278155caba6a22ecaa933e2ea7579ec060a35aa20b7b0ca4fd74dbd4b3948f2f668a407921db2a5934ae424a44c636ccbd3af6e29aca8283c947aefe3af7d28bd43a0c335139358e6d2153b62ef9f484f12f3cda69530613a63fb1e7c6a5d6661e1b19f573fb8741f4b9a756daf041aa4ad493ba4d7176e79f5c12d74df5ba339b3e9a9c7ef9f9276284f131818de9ee62602da070a5bf29e1bb51d0424cf8e20d3628b4fa18761aa1f5e914f7db8f0c099e80f2adf3d55a3395f306a43f58841116b5f8a5ccc2cc35fc92ee1ca1632f263b1e1447e99cd94f86434083f79f8e289c385e907a47fbb0b2ff2490da6a9ae2ec93fffee73653f325652662edc5176f592335b0eeb355a3f5aad405bbb10fa450477669595781b8bb8090f11b47b67befaf3b1bc427d61e6bed4c75fdac774637a874831924d72e734aa84078453fe34a63f94c9a287c70586270c0b301f3a64d6494f7acbfa3ce1cdc925d5e3a0a5f1e252a3a265b741855e5f13a4beb4e2a1a77fcea3fe72e8c5994b194b1a9610aede1b6d1dcf5e9548b93162e6b7c0c3346633595efae0e334cf545151913061a2d46953f3f4853b96ce599dc745fabae9fcce15598fbd8d358973502ee75d631d33e7bd3a73ca8b69996edc1327a84badeebb137959eece96f574b75aeb710dad18daf4e2ba9f0bf5fa633b563cfeb95e3766382d7f9737f533dd297052ef6948df56b32357ed92f0364ce40e8dc6dd6d81daf2dd2f3db523ebbc99b6f2dcfd5b0eb0515d3af718cad62fdf9f5f555b5b94b6e24536f4fa68faf1ce389d342d4077fb8d65acacb4884aad9b34f3baf4cb0367e9f8c48feb8bd9a8685d6d4d8dfff0b973fef3f45f5fcd9d92d2dd4fd22dfa75dbb6ec529b9adaa704cfa5adc8f01d0214416c20d0720860bd40cb89c565ed494366bbe93e4f18ff8576c779f2aae3193c63dcca2219e8db7f0ef98be267082393bb6ccb383b2ab5e4e1547a5b1f9b7e75e88bb7bafba5770bbd103e42bab3215ba344ccad5d77969e1bbea3ec991d7c75f18bc3c2e70c737c854178d4677f368efac010f7828104a6c405afbebb9393a78642fef2c207825c6e664a35450c8dde9b9d3b6457d9a25dbc0ab2f0f6030e8f0a07c677da39e8ecf06da5cf6c2b25818fee8ebca1b3c3fd4fc90cdf714001bc8873098ffc684a55f486aaeecfe4d3d1f44161d3a51f6ee0728e9b8396ad4835d356c83f15029e03212b2ab498f7d1516ac9a6c805d590c9024a2dcf71b4a929b59817c1157a0e5af4004b9d11b755a564c83c7603598b12b5174f975858d79828a79ea694b1a62d74f288fb750e678f74a395ee964a0622477ff8dca999cfbd7acf16bed63f3a79ee6b13c5f3c6b1d3ee88def779f9bda3e345450101b43e806b05448ffff0a582394faf7ef09ed5a4a2eb7fffb297475b98e9b971d1cfad983f65055fa2a0637a1610d0ffde65771c9bb3743e1ff6d196fcd06bd7399d821646f7fb03fd6c674770e7c57757aef9d81ce4afb174ee9637257bfc86caeecff0c760f8a93151bbee99a2f4e0800b333a13f3bfcc2b5db3a46af687851fdfd3b9ffd56dd81e43bfc517cb9684cbeb7de82e23a517edaa58b44baa5edaad9a1c343ddd90b4a480db8cf1bba1ac66fefae2bffc4bb76a915ebe98bc382262287f534188ba59bbb17ac4223476e2872f999e7e7af5c2393467c2b780d8712b5ebb3f246f9da0ca7b11939660d0cbdf5509934464d21d3af679d875bde9c6adaeefe800b6297e7a5fe7773678717289caa8898a7ee1f952a3a6253585ef78a1f5fae3f99a20f54016dbbf78e1cc299285d8a7573fc3bb9d6a6f3c46a66ddd55ae8f6a946e23bb1a89be636e6cea734f4996a393927479fbb62cfce4a1ad8fae7fcdf4f8e32b665207d5f5efafcb3ba4d5a957a784a2a8aef1e75dff463a664acfccd317e7963b844de1215f13a1f25dc9dc74a7723a9fa36c2b7c9466ac6985355dd213afdd5ffcf8ea85d2194f5789875e9bdb5fe9065d035ccff4f202eb1543741c3aa06b821b67eaeadbb48c44d101ace788b276a5f35e8649a8bb334206bb8c7a69c9f967e64da7e924691bfad0daa7474569872f79e8f147a78de659eda7bcbf7694e5ec9a0e17add7588b36faa151ec89a937cd5bb3654234ad26904e0ac63e9e3b95ee6190c233ef7f42576d1af507c48e9dca969d7cf60e1d1dd0822573f1bffef77fff67d5f0e858aee56e236feb70d89d16f241000440c09580edaf2ed712e480c01f45202b2b2b2626e68faacd568fd960305b8242a49b80b6bc7a7e1a0cf402427a55815b354920202028a0c11370d5864ab3872a4a69e57868505d7f36b8fa271c0baea796ab9d66cb6982e878ef9bc738aa9a6a7c7055cdaa667aec0692566de5a552d6ae1d7f44a409b7727ac1a7362c4c7e62d80bd32a2a2a59b4d8d6546e328585c9cf327861da2e223169d4c965b7654b296d56192a038242a433b701bdb1feb1282f2f3699b444da1bd4aa386dadf0f45947734ce977def2c2b35f7ccadffae7bc190cee2e357569395ba9fbb8fce8aadbe7ec5ab6edbd045379b989b9f60d6f1a5eb71185054a8669cb772d5f5730edd149d2731ce5abeebc7de3b0c5ff793451f8a91076ef78fd63ad6a4b51571339a65a8d5aa6a26ab5622ff2c8425d1789fa9ce98d7746dd5fefc2446bfb8f1c39d2a74f1f1a69d32d67d73d19d76ae9177d4cc63213d3860706d23b82f96f15fbfbfbb7319b69d551606020e588dbd562bd409b366d68de8372285f1aef7361da28c76030903c554a9264c4afeac4f4f1cf3ef19fafae0aa42759f8822952a452a14587aefe646464f4ebd78faca9b71ab92d9e404e4e4eefdebd5bbc9b70f07221804bc9e512e916de4efab6fba33df40fa41bcb8dab3790bfdebf2e139240dd221e9aed1718ece7a18a70325197136a3508c7eaaba566a999f29a203ade7be6318eaaa61a1f5c55b3aa991ebb81a4a5098e88a8775750ad4f99191a4a37e5ead755545454b2f84dc2d03a6e4b2a9d50494b4ceaeb998a1d6596d266109dddd66637a037d63f16a1a13a4eda56a7d22dd7b42a4e5731f59c3a9ac31f80e7b79dd5aec7f4c807d9532baa4b4bdd0577b9d2db280a4cf46e87b0d0d00095cabc6978dd46141628696165c6b4b41569dfee9a3a7d48e196d53bf4eca171bde5462a84ddb94ca3b7a639ef1475359163ee5d762a5154ed54e2ed21b720537355aacf99de78675cebe739de85493482c6e1340877b7a77707d0509fa6076876c060e0cfff93965014437d914332c28218f30b01da930c4d105026774aa3216b5c997e422933f5e6bf2e6f3fe5cd7e41347dc07344a9b04669557f94b5531a1b08800008348600e6051a430fba20000220000220d06a0884a6c48ed6d5676d88d4f28669a9400b8b4db97f6a6ca4ca6a0515617759f5331295b2697d54daba6ff7eeddcbe2ef78eda5e989b61f817067ff0fca6fb18efd41edff6f56c307e5e22107377b1aa23bf927c6f9ca4c9123ec284b5d73845660ccd80d1bc6474585994c2665eda25499a34c2b6b441a044000041a4900cf11341220d49b80003d47101d1ddd04866002044000044000044000041a448016ed1f3d7ab457af5e0dd26e9412ad08104b0cc4b0df4b5ba74f9f4e4848c073045ee26a8162797979788ea005c6e5b27509eb052edbd0b7ac86d33762cb7208de8000088000088000085c4e04c49f223432a78dd27fe49ed620d056df1a2938e4276d975394d056100081e622807981e6220bbbf52240df85f592873008800008800008800008342101f1a7088dcf69a4ed137b6a3bf92cdc6e420e30050220707912c0bcc0e519f716d76acc76b7b890c02110000110000110b89c08d04a7e5a934faf03e06f16b4bd66538cba5be09e9e7a080a0a2257f117d4e5d449d1561068460298176846b830ed3d01cc767bcf0a922000022000022000024d4e80fe14898888282d2da57d931b6f7283f49b8efcb72ba4adc98dc3200880c06548804f88620301100001100001100001100081cb9900dd78efd8b123fd76e0850b17e87701c403ff2d704fbe15161656545490b7582c7039f758b41d049a9600d60b342d4f58030110000110000110000110f03d0234c6a6e7087af6ec496f893f73e60c0dbc5b661b689900ad68a0df4d206f312fd0326304af40c01709605ec017a3069f99d96cbe78f1e2f9f3e7c102049a8940e7ce9de9560cfdd5d54cf661160440000440a04511a031363dae1f101010131343cbf3c937b16f694e923fe4aa9f9f1f5e2ed0a242036740c0d709e04f5e5f8f602bf1bf5e5fbd34915f52524203369a2fa797eed0573851200bf435592f3b1ed90983b4afc3be3732ee2a6a8cae3b9bca7c6fec7b23a3b4a94c37465769c75dda1bfbdec8c8f64f9d3a151717473d875ed74499ee7469d6a9aaaa4aafd7d352529a1a888a8a922d20010220000220d0ba09d057030db9c59f134dfb4745937023f7c80eed45a2057ad824cd84111000813f9e00e605fe78e6a8518580f87a532970c9a231dba54b976868475fdbd2d7a2879fed2519fad6f4debeb242a128be74ddd9f1464669d329edd13177f53ad9513df4c6376f64548d8b4c9ff35f382cbb2d27946da44c711f866ec5d0d440a74e9da8bf29059006011000011068ad0454bf175a6b63d12e100001109009e08f5d190512ff4d0262eced8d07f4ec00bd048824e99b5bf9e52dd2ca1cd99a6aa65c5a47c2c96683edd451855ce454979c4f8906d7eb64b3c17694ceb84b3bd5a5146b70bd4e361b6c47e98cbbb4b22e9116eb33a9b3d1eb9dba76edea4e11f920000220000220000220000220e0eb04302fe0eb116c25fe7b3fe4a3d70a885bdcd472d212db7f910239203c113e88c3ffa23ff5adfab2f25ff416b1af031409d0a400090838d4e5ba75eb56873c8a40000440000440000440000440c0a709605ec0a7c3d77a9cf77ebd80dc661ab329b5c46481c81145625027cb53c21b196fe4eb6b4769d35dda1b9bdec828edbb937797afd4ad6fda1b9bdec828eb7527ef2e5fa95bdfb4d226e98a439190f7f5b5097910000110000110000110000110f009029817f08930c1497502caa901310b20cf05c809a5a6524699761a13ca2a4a19ca946dbacb97151b90f0c6a652469986ff0d00eea4a2e4e95484431000011000011000011000011068dd04302fd0bae3eb33ada3916d7d7d152a623847ba9410c3634abb1b272bab10eab2917ae92aedb84bd7d79ffacac37f77e4457ebd781a8d4692d76ab5b457aacb5508daf2211220000220000220000220000220d09a08605ea03545d387db228fc7bc690309d3263f014e69a1c51395f93f7cb733abf052958985b78bbcea4f370eeadd56d56675d191b4eff206dd7e738f405eee60447128eb8a8903b3c150e3171814609f8390055c134a9bc6fcf4fffc70a8c8183e624cdcef3fd9eb556a91bcd22b599d648cf9bfa41d60e3275c2b396b57aa361ac99f407f6ffd17e35bb22c9a6337a496120eb856a126cbf3648745423e7427afcc9785dde90a871be0bfec1859566ecada0f1f3e5c5a5a3a72e44891496294a00e469b488bbd52056910000110000110000110000110683504302fd06a42e9db0d11e33d2fdb204677242c12f6315b75cefaf7d38a18ebd8a3578c9f31ebf4d95fbff9a86cc203c93dacf78195634b5351f6d98bb97d6ab836fd2f8ac8a65246e98f544bc5b67fbf7fbac78d0f4f88b757aa14729b36eefacfaeb3a690c81e6dfdcaecf5ba8a2bbd12a5c2b7daf2f38579cca4d1043bbc55a162eb6aeecfdf6e4df0ce7fe7a1bbab032e39d62aa8c92e455e6578c9b6d9fc7770929c9137b9a0a8a868efdebd74181f1f2fde2f286484004d0d5082dc93e5910001100001100001100001100081564600f302ad2ca0beda1c1a8979efba1016f7729543b88a53876852a0ef2d0f8cea2ddd56af38f6ee7bdffd7e202325a69f302e14ad7b7f3fc6fcfcb93e2fb47ed812f2a1a35701cc8ffee34a8ef91e8f34c61ae6d72bf9ce71bd49f4c13ed5fefeea16348e5e9170753509fb070692b7bc62da2b6ab7faa3cc14a50a192a6cccd6e026db2b959da9c3376f64ec161b9aa25ae44db6b16bd72e91fefefbefa74f9f4e69212366044411e5c8f24880000880000880000880000880402b238079815616505f6d4ebdeec7ca833491501c4acdafa1dbea413c1576c5d01ee9599dda924045cebecf37fda2afa15cbf5ed7de326e708cac4b23bef2ec7d5f6cb696f6be76dc2d837b506969e68fa9dfa697711516d977d41dd76bd7afdcaca783dc2d6f7d907bdf9f478529c68a393f6ffa667f9689cbb28ebd86df316e4090bc06a13af393159b69c2829ddefcd6077dff273970fdd7b923efbbfb8a505699bb3f75d32f9724afa8de71490e5e5d38b9fdab6f8f5492a29fae77b76ac6749424c7042b8d29ebc377375fa22cc99f99336eb264effa7cf301c91ad3f5bef68e7149a1546adb2c96929f3eff3c3dbf8c67683b0e1f77c7c0ee9c5245cecf9f6fda2f9161ed7a5d3b717c925fe6d60f7e32de3040b3eda72cba4050c572156450dcd8a73d297eb1f9805014d5f9e76c7f7f534e5437ffdc5cce49dbb1df5d77a5289fe29075a954344444c15d3e89c95b93c888eac49e2c53e2b7df7e3b73e68ca8851e25d8b367cfd0a14365314ad04655d3267b820408800008800008800008800008b432027ecf3df75c2b6b129ae37304f47a7ddbb6caf1635d2d387ffe3c0dd5e816ba9f9f1fed030202e4fbbada10cb91dfb2ce65a6ef3f9275bea4aca64de0d543af8d8f6ec72e1c5cb5715765bbdea36ebc26dc987ffcf7df8b74fd7ab2ecdf324b7a0f1cd2a9e4e0aa5465e9112abda2f6d0bb9fef3385f5481e352cdaaff4e8f1c3274c314362432e9c396fd2460e1e9a1813d98eaf2f973663e6a6b53f6685f41e3ceafa816dcd0599a74f05f61eda35940f3b79791bbad96f3e6f53eca2a17a8ba2075d1359924e5e55d9bde2f5ca5ee98a7f7effab7473488fe49b8675a93e7338bb84693b0c4aba422b8d66b9657f7fad5f8ddd9f36a756a6ee35b489bc76e4b591ac342bebe46ff98143e3a38487b4cfdafcc1ce5c53dfe49bafbbb2e3f993274f1e2fec37345e7b61df3b1bf7c85aa74f73ad019d2eed3b7a3a2b57afeb16ddbb57f7aac20bca268b46698af6bfe3525d6287e27d198525256d1247dd181f6ec83c9d5914121f1f697f258255973e2432624fbec9877242765b4ec84572422e921372919c908b44a2b8b8b843870ed461689c2f64a80bf5e9d3879e20101bf543da6a6b6b6b6a6a68a50689d19e743b77eeec640a8720000220000220000220d018026565653a1dbfeb830d045a0201ac17680951800ff52340233adac47304a44969ab7e58c2acd99d7efb71f791ac9cac23455947f66f63daf8519362b276d7b090945137740f653137a614bebf292b3d236580a4a4d164ec5129cd08d9cf58f8b87b6f8fa55324aea7bf262d47d73661606cd69e2395dd070eebdfd35aa3f4e11f7145bf7edd926e1c18622cd514e95856597e51d990cef24c47d895438665d8142b4e1e21257a2240b55ed9abd3fb0f7307660807e282be787b7b2e6fa9ada964232261c830d99f9369df90fcd85953afa061784242a7b455df64ed3e563930c1b666a096bb5a5379a92c7040ff897776cea9d4d28a868c3dbc994e5a197dba9368b7ebef9a34b013bdf130edf7a3ae4d3ee95e71c09db36ee842067ae61e79272b2b5fd33f82d7dc6236815006a93ae0e79c6d2fb66c318ec31110000110000110000110000110682e029817682eb2b0dbdc04f8da6edb5d5faa8bd29505b9678cc10352c60dbc91d67e1b6862e09b4d3f1fdb9616d48bfa79e5f64fdfb7bb549c5f6e3f5029ad0ca1f70174eaee2f96cdfb5f7dd3ed5773f90abe936e20f3846df3d785b3a25def2ffbc996419f7cd9b9c23d7ecfd94551a5de32db72750ba3a70bda76b29da0575c1db33d5732c20dc99bd22c978f0ab456daa36f14cbcaa12cd9872bc6ff4fc1c62f0f1efc29f720f733aadfa82b6269f86ed51216652d7a08203ea193a4abac42ae97120e8a31b43041aa8e9e79e8184e6d20fe6612e22f45a8e7261ca63de9d1e05cf6df1b330dd0bd70e182c9c49fff9075c5ab0769c980d2076f6a870c08800008800008800008800008f82801dbb0c347dd87dbad8580188379d91ae96e2e5f2f20960cd02129d23eebe72fb7e7ebc2e64eefce0f833bc70db939e9d8da7da5c65a1a9f464d993b95dfc666eccca11f72fcaf0867fb8496f404bd7369e0c91c5653aad768ba48c6f77eb6f258db1ba78f9696e56b9cdf3b78e29bd4230581374c9a35901624180fbdf57fdb359a00e1a45421af8727145992cf34e476aeb7adc6ea95868fa92bcb341a71b73dffd819c6c817e57a01d92cf7a786c6e9ac921c8e90440af3f813fe5423fdd01e4f30762133a753d2a4b993432b2e9c39b8eb3ffb8e6cfbe9ca2ba3642d49c6a64507359a1aa12b3c776eb2bd3a49b1407aa180b595fcb7fd78cdbc847b6c754012f4bc13f2b2969cf0ac29d526ea14c2aeba94236f42263f3fffc71f7f948dd3cb05a2a3a36952c0a977d5ab7fcad69000011000011000011000011000019f208079019f0853eb7792466bde37520ced485e68d1104ea4fb0c4ad89e7f74e3ffad1f3ef2dae8f641e579e95bf6e9995f6cd2b56d8fe6fcf6e5fa1f27dc325093f3ebc6ed4703137a0deec96b6ce3e777c5d0abbec9e2a5b78e1bc4b27f11a533fbf7dc9a93499977dc32b0f2f0f73fe757eaba04f9f95948a7a63423e36cc7d8ee9d68e84f1668c468e16bf4fd35b55517cfe6edf86a3b8db58d55157e7ef2730424c347e7354ccc65702d4af5b9c65a2f79c51cbda2d22b06f7fd26ebd0c63569778c4b66793bd2e89d8681fed4523ff9bd833c512bfbd37bd0552ce7d0976bd2268c1c5253b077f3613dd30dbcbaad1f3d492f28151ddcbef5ccf682d1770ce91e12e6cf4ffc88e0c03e83aedaeaa2151f5cfa3363b5f4fe067ebbdfa1c9f2f5226e50c2d69cc34ed5f5951409293dbfafd1f8f176320d592142c20791a03d2f70b316c09d4c7df379e5b64dd615a37dd16144e1e0c183b3b2b2c4ab073b75ea346cd830caa7970b88c60bb729474ed84ce213044000044000044000044000045a0f01f9effcd6d324b4c4170988b1a2979e8b619e3cc6938779e157dc7c57b2317547e6cecd9f5b4d8574bff5dedb3a8569ee1caeff74e76f9ffdfb37ca0fecd47fcacdbdfd320ed1609e0efdbba44cb95ebfe1a7df3e5d6d2f0db6f4ba75e0daaf7efb6d9da412d27dc8d4113134d08debd936333373f3a735b3e64f0a90c6b754fb95d75efb53f6ce1f3eff981bd7e9fc8cfa829d3f955c33a59d620ccf8be8c709f91b13799d9408e86aad57e995ff29ee15cd0b04f4b869caf5a51b7ecafcfca34c520809619546c65b4a730cd23c084168d34627fb73ffbc8953922b36eec8fcfa332eefd73676e2bd293473c1d7f44bf317578fbfede49a2f0f6ff99cde5b405ba7abc60cea4ced1fe5a43569fa8d01a7be201fc84d52b4582294554448bab40bee75d39dc995845aae8e14b59222a9498b14a46901ff00122687457c4542e1bf355faac83a7740f2c26139210e957ba9ed2a3665154a884e22ea957529216f4298045252523efcf0433aa40495ca46686a802608448eb04345d840000440000440000440000440a0f511e08fefb6be56a145be45806ed88a87babd71fbc891235aad36282888de244ffbe0e060fa490252a49e4c4338a93f575796eacb0ddab088b0d020e5cc5775458591f9053a66ca75aa945acc559595268b3684548471314a94751409853a4f0686862aab56083a27ad8a2181b414c07a3edaebaa3654186bdcbaec6c8a8e156e383011837c4b8dd168aca97171ce414bc5aadb2cbba282bfb52ef7acdc9a732a68729b274e9cb8f2ca2b65ce72753ffffcb3c160b8f1c61ba5fe432f82a8aeaaaaa21c91309bcdfdfaf59385910001100001100001100081c613a087197bf7eedd783bb000024d42c0cba14b93d4052320e09680188fb92d762ca01bb974cf99f6343520128ee5fe6ddb779117f12bc696daf070fa993f779bb5d43e26a771759bd0b64161aebe39c858e723dad88d4b969432ca2a15fe88f1739bb66dedbfe4a794e469bfd070ad3cdfe15ca876ac256ba20a2a55d62584fd4242c42f1d3aca04da9db719f5ce7fae48923625954f571f54841459ca7adde9d65746362f7a0ef5197a830065ca76860c194287542a24a95ed1bb488c12342f4039b2112440000440000440000440000440a09511c0bc402b0be865d11c1ace898d5a2b16a5538272c430d20901e58b52a77c778764846c8a71a048c85528558459d9b27c28cb28ed287d53fae34e463652877da58c32adb409ff451c65fe942026624fd06456b4f0449611cc45d065492561a441000440000440000440000440a09511c0bc402b0ba8af36478cdfbcf75e1ee029476e94aedb02d542324e6345271561443625279cc43c1e7a63c71b196545f05f49a3eeb42a5bca149bd0a53425c4de29419962064148d6b77f0a2dec41000440000440000440000440c02708605ec027c2d4fa9d94c7665e3695e469130bbfc5ad5de598596984c44411652a65dce5bbd355e6d7d78e525799aeaf0ff5ad57695f596f7ded28759569a57da54d6f64eaababb4a9accb1b3b4a5d92a743792f4c518e934d2123c464794a600301100001100001100001100081d64700f302ad2fa63ed9221a9579e977870e1d2a2a2ae4019b9814205d79a4e76a471676927197afb420cbb866ca454e09f950a9e22e2d0b8b847ca89497339d64dce5abeaba663aa99380937da58abbb49311f950292f673ad97797afaaeb9ae9a44e024ef6952a224d0242462e920f4542eca953d19413a52941af18888c8cf4be7fca969100011000011000011000011000015f218079015f89542bf7531e9e796c67c78e1df57a3dc9d34b0769f0469b981aa01cd57bbf1e0d3640a0be757923ef8d4c035c5555a96f5ddec87b23a3ea4c0332eb5b972c2f7a8b3874aa5796a17cf1ba4112a6df2330994ceddad12f4e7a7844c5c91a0e41000440000440000440000440c08708605ec08782d59a5df5fe7e2c8dd668c9407171b14ea7a334fd4ea13c66734a8843da7b9c2ff046c6897e7deb52956fa44d591dfe0bbc7570a82f7ffa0d02faa9429a81ead4a9137533effba71c142440000440000440000440000440c05708605ec05722053fed0468a8d6be7dfba2a2a2ecec6c7b2e5220e0058103070e7821c54568fa292e2e8e2605bc94871808800008800008800008800008f82801cc0bf868e02e77b769b4464f7dd376b98340fb41000440000440000440000440000440a07104da344e1dda2000022000022000022000022000022000022000023e4c00eb057c3878adc9753cbfdd9aa289b6800008800008800008800008800008f81001cc0bf850b05ab3abf26be15a7323d13610000110000110000110000110000110687904302fd0f26272597a84f5029765d8d168100001100001100001100001100081ff3e01cc0bfcf763000fc4efc0b56983b75da02f800008800008800008800008b47e023535355aadb6f5b7132df41d02fca7dd7dc75b78da3a09545656161717474444e037e15a6780d12a1000011000011000011000011b019a14282929a15fdd0e0909b1e5e11304fecb04302ff05f0e00aa1704cacbcbe9fa68341a0104044000044000044000044000045a3181c0c0409d4e874981561c625f6c1ae6057c316af019044000044000044000044000044000044000049a86009ee86e1a8eb00202200002200002200002200002200002200002be4800f302be1835f80c022000022000022000022000022000022000024d4300f3024dc3115640000440000440000440000440000440000440c01709605ec017a3069f41000440000440000440000440000440000440a06908605ea06938c20a08800008800008800008800008800008800008f82201cc0bf862d4e03308800008800008800008800008800008800008340d01cc0b340d475801011000011000011000011000011000011000015f248079015f8c1a7c0601100001100001100001100001100001100081a621807981a6e1082b20000220000220000220000220000220000220e08b04302fe08b5183cf20000220000220000220000220000220000220d03404302fd0341c6105044000044000044000044000044000044000047c9100e6057c316af019044000044000044000044000044000044000049a8600e6059a8623ac80000880000880000880000880000880000880802f12c0bc802f460d3e8300088000088000088000088000088000088040d310c0bc40d370841510000110000110000110000110000110000110f04502ff1f36650e03179d29bb0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 1. Create a new Paginated collection\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 First, we define a new Paginated collection using {\f1 Backbone.Paginator.requestPager()} as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+var PaginatedCollection = Backbone.Paginator.requestPager.extend(\{\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 2. Set the model for the collection as normal\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Within our collection, we then (as normal) specify the model to be used with this collection followed by the URL (or base URL) for the service providing our data (e.g the Netflix API).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+ model: model,\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 3. Configure the base URL and the type of the request\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We need to set a base URL. The {\f1 type} of the request is {\f1 GET} by default, and the {\f1 dataType} is {\f1 jsonp} in order to enable cross-domain requests.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 paginator_core: \{\line
+ // the type of the request (GET by default)\line
+ type: 'GET',\line
+\line
+ // the type of reply (jsonp by default)\line
+ dataType: 'jsonp',\line
+\line
+ // the URL (or base URL) for the service\line
+ // if you want to have a more dynamic URL, you can make this a function\line
+ // that returns a string\line
+ url: 'http://odata.netflix.com/Catalog/People(49446)/TitlesActedIn?'\line
+ \},\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Gotchas!\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you use {\f1 dataType} {\b NOT} jsonp, please remove the callback custom parameter inside the {\f1 server_api} configuration.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 4. Configure how the library will show the results\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We need to tell the library how many items per page we would like to see, etc\u8230?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 paginator_ui: \{\line
+ // the lowest page index your API allows to be accessed\line
+ firstPage: 0,\line
+\line
+ // which page should the paginator start from\line
+ // (also, the actual page the paginator is on)\line
+ currentPage: 0,\line
+\line
+ // how many items per page should be shown\line
+ perPage: 3,\line
+\line
+ // a default number of total pages to query in case the API or\line
+ // service you are using does not support providing the total\line
+ // number of pages for us.\line
+ // 10 as a default in case your service doesn't return the total\line
+ totalPages: 10\line
+ \},\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 5. Configure the parameters we want to send to the server\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Only the base URL won\u8217't be enough for most cases, so you can pass more parameters to the server. Note how you can use functions instead of hardcoded values, and you can also refer to the values you specified in {\f1 paginator_ui}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 server_api: \{\line
+ // the query field in the request\line
+ '$filter': '',\line
+\line
+ // number of items to return per request/page\line
+ '$top': function() \{ return this.perPage \},\line
+\line
+ // how many results the request should skip ahead to\line
+ // customize as needed. For the Netflix API, skipping ahead based on\line
+ // page * number of results per page was necessary.\line
+ '$skip': function() \{ return this.currentPage * this.perPage \},\line
+\line
+ // field to sort by\line
+ '$orderby': 'ReleaseYear',\line
+\line
+ // what format would you like to request results in?\line
+ '$format': 'json',\line
+\line
+ // custom parameters\line
+ '$inlinecount': 'allpages',\line
+ '$callback': 'callback'\line
+ \},\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Gotchas!\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you use {\f1 $callback}, please ensure that you did use the jsonp as a {\f1 dataType} inside your {\f1 paginator_core} configuration.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 6. Finally, configure Collection.parse() and we\u8217're done\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The last thing we need to do is configure our collection\u8217's {\f1 parse()} method. We want to ensure we\u8217're returning the correct part of our JSON response containing the data our collection will be populated with, which below is {\f1 response.d.results} (for the Netflix API).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You might also notice that we\u8217're setting {\f1 this.totalPages} to the total page count returned by the API. This allows us to define the maximum number of (result) pages available for the current/last request so that we can clearly display this in the UI. It also allows us to infuence whether clicking say, a \u8216'next\u8217' button should proceed with a request or not.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 parse: function (response) \{\line
+ // Be sure to change this based on how your results\line
+ // are structured (e.g d.results is Netflix specific)\line
+ var tags = response.d.results;\line
+ //Normally this.totalPages would equal response.d.__count\line
+ //but as this particular NetFlix request only returns a\line
+ //total count of items for the search, we divide.\line
+ this.totalPages = Math.ceil(response.d.__count / this.perPage);\line
+ return tags;\line
+ \}\line
+ \});\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Convenience methods:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For your convenience, the following methods are made available for use in your views to interact with the {\f1 requestPager}:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b Collection.goTo( n, options )} - go to a specific page\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b Collection.nextPage( options )} - go to the next page\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b Collection.prevPage( options )} - go to the previous page\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b Collection.howManyPer( n )} - set the number of items to display per page\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b requestPager} collection\u8217's methods {\f1 .goTo()}, {\f1 .nextPage()} and {\f1 .prevPage()} are all extensions of the original {\field{\*\fldinst{HYPERLINK "http://documentcloud.github.com/backbone/#Collection-fetch"}}{\fldrslt{\ul
+Backbone Collection.fetch() methods
+}}}
+. As so, they all can take the same option object as a parameter.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This option object can use {\f1 success} and {\f1 error} parameters to pass a function to be executed after server answer.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 Collection.goTo(n, \{\line
+ success: function( collection, response ) \{\line
+ // called is server request success\line
+ \},\line
+ error: function( collection, response ) \{\line
+ // called if server request fail\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To manage callback, you could also use the {\field{\*\fldinst{HYPERLINK "http://api.jquery.com/jQuery.ajax/#jqXHR"}}{\fldrslt{\ul
+jqXHR
+}}}
+ returned by these methods to manage callback.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 Collection\line
+ .requestNextPage()\line
+ .done(function( data, textStatus, jqXHR ) \{\line
+ // called is server request success\line
+ \})\line
+ .fail(function( data, textStatus, jqXHR ) \{\line
+ // called if server request fail\line
+ \})\line
+ .always(function( data, textStatus, jqXHR ) \{\line
+ // do something after server request is complete\line
+ \});\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you\u8217'd like to add the incoming models to the current collection, instead of replacing the collection\u8217's contents, pass {\f1 \{update: true, remove: false\}} as options to these methods.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 Collection.prevPage(\{ update: true, remove: false \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Paginator.clientPager\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The clientPager is used to further paginate data that has already been returned by the service API. Say you\u8217've requested 100 results from the service and wish to split this into 5 pages of paginated results, each containing 20 results at a client level - the clientPager makes it trivial to do this.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d494844520000055d0000030608020000006ee5b37f00001819694343504943432050726f66696c6500005809ad796758144db376cf266059969c73ce3983e49c734660c939675424882425082849041104110c241113820822820a180009822415545004e4cc2a3ecffb5ee73bffbeb9ae99b9b7faeeeaeaaa9e9ea95a00585a09e1e1c1082a004242a323ad0db4b91c9d9cb948a60012d0032ca00080e01515ae6569690afecf636b1c40c4c617e2445dff27edffdd40eded13e505006409377b7a477985c0b8150064a7577864340068a23ebeb8e87022ce87315d246c208c6b89d8ef0fee2462cf3f78e837c7d65a07e6cc00408a231022fd00a05883e55cb15e7eb01e3c0e000c4da8774028dc8d0bc6ea5efe046f00583c608e5848481811e7c258c8f33ff4f8fd0726103cffd14920f8fd83ffcc05ee090fac1b10151e4c48f8fde3ffe725243806f6d7ef8303bee2a2826c4ce03b03ecb7782f829e0d8c99607cdadfc7c8f4405e171ead6d7d20ef0e8836b285311dcc79e91f63687780976282ecb460cc06cb7783c24c887cd84f08a6504f730b18d3c098cf2b4a07f63d712c8442a2bfadc301c7d4db47570fc6f02a4238468659ffe5fb47c5dafc952726faeb98ffe507128c89f1c6c3fc6c42248c7edb8338e7136c401c9707963785475b12ed248e351c1a6c7e3017c47bdf487d228728ffe913f57bbe44dbfca3fd6d0d61396c33922a3ad296c881e78864f30dd03782316c1b52ca3fd2f0af5c333cf8f79a86fb226d2363ac897ee083b1af4fa81dd1874479b6374197e85bd827c80aa00f082012f8004f100a96011730053a40f7e0ca05cb436199170803c1f019c945f9b705bd881e45cfa1c7d033e8d77f6570cf031e0800de30fea3eb3ffac3721b90083ec25a7d40d4dfd1502c2875942aca14be6ac2a70c4a09a5fcb76d78ad63ed2f3eb0d50fee2b7ea05bfbc0fa5858e3de5f9e7b406ae45f7cd0c7f39f1effdb267df01ef680df5f86d415a965a9ddbffdff9d31460fa38b31c4e863849199c89bc87ee403e400b21bd901b890f7909dc821e41d223eb0ebef28045842f40ad1c351c004f6a20f88f9fd2bf4ef78ffe5a5987f18071af0227879600df70a0541705bc03f23d8ffb63ae07f698981199ef0888130d7e49f781cd8851280bd2b8fd246a9c17e867d8c6240b10071941cec712d94061c037958fa6f14ff7b36e2c0f7b7b7637fcf25082cc2f30889f6898f86d712d0090b4f880cf0f38fe6d282774b1f312ea3502f09312e1929695940dc7b891c00be5affde53218667ffca7c96003804af63b2917f6581670068ec038031fb5f99800b00cc62005c7fee151319fb471f8a7843c33b3a25fc5430030ec00b84608fc80005a00a34811e300616c016380137780dfb8310d8e2387004a4800c9003f24131280355e022b80cae821ba003748307e011780246c018780b66c0025805eb600bec401044025140b41033c409f143a2900ca404a9437a9029640d39411e901f140ac54047a03428072a84caa06aa801ba0edd821e4003d028f41a9a8596a12fd04f04128143d021d8110208498412420b6182b0451c46f8212210898874c469c439440da209d18e788078821843cc2056119b488024473220b991e24825a40ed202e98cf44546228f21b39125c81a6433b20b5e8b2f9033c835e4360a83a24571a1c4e1481aa2ec505ea808d431542eaa0c7519d58eea45bd40cda2d651bfd0146836b4285a056d847644fba1e3d019e812741dba0ddd073fcf0be82d0c06c38011c428c2abdd09138849c2e4622a312d98fb9851cc3c6693848484994494448dc4828440124d9241524ad244728fe439c902c90f5272524e5219527d5267d250d254d212d246d2bba4cf493f90ee905191f193a990599079932590e591d59275913d235b20dbc1526305b16a585b6c2036057b0edb8cedc34e62bf929393f3902b935b9107901f273f477e8dfc31f92cf9368e062782d3c1b9e26270a771f5b8fbb8d7b8af14141402149a14ce14d114a7291a281e524c53fcc0d3e225f046786f7c32be1cdf8e7f8eff444946c94fa945e946994859427993f219e51a15199500950e1581ea185539d52daa09aa4d6a5a6a696a0bea10ea5cea46ea01ea251a121a011a3d1a6f9a749a8b340f69e66991b4bcb43ab45eb469b4b5b47db40b74183a413a23ba40ba1cbaab74c374ebf434f472f4f6f4f1f4e5f477e86718900c020c460cc10c790c3718c6197e32b2336a31fa30663136333e67fccec4caa4c9e4c394cdd4c234c6f493998b598f3988b980b983798a05c522c262c512c7729ea58f658d958e5595d58b359bf506eb1b36049b089b355b12db45b621b64d760e7603f670f652f687ec6b1c0c1c9a1c811c451c773996396939d53903388b38ef71ae70d173697105739de3eae55ae766e336e48ee1aee61ee6dee111e4b1e349e569e199e2c5f22af1faf216f1f6f0aef371f299f11de1bbc2f7869f8c5f89df9fff2c7f3fff77014101078193021d024b824c8246828982570427852884348422846a845e0a6384958483842b8547441022f222fe22e522cf4411a20aa201a295a2a362683165b150b11ab109719cb89678acf815f159090609538954890e894f927c92ce920592fd92bfa4e4a582a56aa5de4ad3481b4ba74a77497f911191f192299779294b21ab2f9b2cdb29bb21272ae723775eee953cadbc99fc49f91ef93d0545854885668565453e450fc50ac509253a254ba55ca5c7ca68656de564e56ee56d15059568951b2a9f55c55583541b55970e091ef239547b685e8d478da056ad36a3cea5eea17e417d46835b83a051a331a7c9abe9ad59a7f9414b582b50ab49eb93b69476a4769bf6771d159da33af77591ba06bad9bac37a347a767a657ad3fa3cfa7efa57f4d70de40d920cee1ba20d4d0c0b0c278cd88dbc8c1a8cd68d158d8f1af79ae04c6c4cca4ce64c454c234dbbcc1066c66667cc26cdf9cd43cd3b2c808591c5198b294b41cb08cbdb56182b4bab72ab456b69eb23d6fd36b436ee368d365bb6dab679b66fed84ec62ec7aec29ed5ded1becbf3be83a143acc384a3a1e757ce2c4e214e0d4e94ce26cef5ce7bce9a2e752ecb2e02aef9ae13a7e58f070fce1013716b760b73bee94ee04f79b1e680f078f468f5d8205a186b0e969e459e1b9eea5e375d66bd55bd3bbc87bd947cda7d0e783af9a6fa1ef929f9adf19bf657f0dff12ffb5009d80b2808d40c3c0aac0ef411641f541fbc10ec12d21a4211e21b742694283427bc338c2e2c346c345c333c2672254228a23d6234d22eba2a0a8c3519dd174f047ee508c50cc8998d958f5d8f2d81f71f67137e3a9e343e387124412b2123e24ea275e4a42257925f51ce13e927264f6a8d6d1ea63d031cf633dc9bcc9e9c90bc70d8e5f4ec1a604a53c4d954a2d4cfd96e690d695ce9e7e3c7dfe84c1892b19f88cc88c8993aa27ab3251990199c359b259a559bfb2bdb30773a4724a727673bd72074f499f3a776affb4efe9e13c85bcf3f998fcd0fcf1028d82cb85d4858985f367ccceb417711565177d2b762f1e28912ba93a8b3d1b7376e69ce9b9ce52bed2fcd2dd32ffb2b172edf2960ab68aac8aef95de95cfcf6b9e6fae62afcaa9fa7921e0c2ab6a83eaf61a819a928b988bb117176bed6bfb2f295d6aa863a9cba9dbab0fad9fb96c7db9b741b1a1a191ad31ef0ae24acc95e526d7a691abba573b9bc59bab5b185a72ae816b31d756ae7b5c1fbf6172a3e7a6d2cde656fed68a36dab6ec76a83da17dbdc3bf63a6d3a973f496f1ad9e2ed5aeb6db12b7ebbbb9bbcbefd0dfc9bb8bbd9b7e77ff5ee2bdcdfbe1f7d71ef83d98ef71ef79fbd0f1e1cb5eabdee13e93bec78ff41f3decd7eabff758ed71f780cac0ad41a5c18e270a4fda87e487da9eca3f6d1b56186e7fa6f8ac734479a46bf4d0e8dde71acf1fbcd07df1e8a5d1cb2763e663a3e376e3af265c27665e79bf5a7a1dfc7ae34dec9b9db7c727d193d953545325d36cd335ef84dfb5cc28ccdc99d59d1d9ab3997b3bef35bffa3eeafdee42fa22c562c907ce0f0d4b324bddcbfacb232b2e2b0babe1ab3b6b191fa93f567c12fad4fa59f3f3d0bae3fac246e4c6fe97dcafcc5febbfc97debd9b4dc9cde0ad9daf99efd83f9c7e56da5edfe9f0e3f3fecc4ed92ec9edb13deebfa65f26b723f647f3f9c1049f8fd2d8084af085f5f00bed4c379911300b4230060f17f72a3df0cf87317823930b687f4105a482514131a8b2125912275224bc3dec3612808f80e2a2c7530cd209d3c7d0523600a621e665560cb675fe5d4e4cae31ee5c5f229f33b0904098608b90a6b8bb08b6c883e122b150f925093a4907c27d5227d5cc64a965bf6a3dc2df9130a568a6c8a0b4acdcaf12a5aaa58d517872ad4bcd5c5d4bf6874681ed1d2d6c669bfd3b9abdba857a95f6070cc9060a461cc64bc613264da6c56695e6dd16d396f8db661b665b1a3b247daef3aec3801673217bc2bc561d4e14db739f7118ffb849b9e755ea5ded93e09be7e7eb6feda0172812241dcc1cc2194a1c8d06f6173e12311b7236ba34e4727c764c4b6c5a3127c12ef1f0147058ea9241b1d774989493d9d569c9e7442eec47c46de49cb4cfe2cf26c9083c8a53e25745a3dcf3cdfa1c0b9d0f98c63917db16d89d559f37326a50665dae5ea15ca95b2e7c5ab442e48559bd4a45d9cb96454d754bfda40ddc87f45ba49f5aa6eb3598bc335f7ebfe37c26fc6b51e6b4b6d3fd191d999732bafabf8764577dd9dd6bb7df726eecf3c18ef6979e8dbcbd4fbb8afe4515cbfefe3c3030e83564f4c860c9e1a0edb3e8b18b930fafa05f94bc9319d71a309bd574aaff9dfe0df6cbf5d9a7c35f560fae2bbb419bf59bb39f379b3f7160b168bc61f949718976696b357e45666562faf257e34fc44faa9e1b3c1e7f9f58b1bf15fdcbe5a7c33db0cdceaf971f267c79eeefefe41fca59128e4326a063d8f592745922960fdc92b70337811ca38aa4734ccb409742f1964185399a658e45933d8463858381db90ab8bb79267937f9b6f857049e0a5e148a145617211579295a2516282e2ffe4be291e4692907694ee90f32cdb2b1726af2907c9f42b6a28512add2b872a98a8b2abbea24bc0a5cd599d52734ce6aba680968ed688fe95cd7cdd5f3d13f64406db068d86d546c1c6be263ea69e66f1e661162e9696561ad6a2362cb6a87b747d86f397c701c777ae8dcec52ee9a7d38d12dc0ddd1439720e9c9e40579ad788ff9f4fab6f9d5f99704a407860539056b86088652c02b61367c3ae25b1477b47b4c69ec83b857f1f3096b89db47c88f721c134ae63a8e39fe2ea52d352f2d32dded845d86e3c980ccb4accaecab396db9eda75a4f5fcfbb9adf5070a9f0c299f2a2e2e2bc92acb3a9e7124ac3cafcca032a8e57deab12be70b946f06261ed8b4bdbf5f8cb2c0dbc8d22f03a50bcaadeacdb6276cde97af08d8c9b175befb68db64f772c757eed42de66ec16bda37a57f39ee27dee078807733dfd0fdb7aebfbca1fe5f79f789c38103918fd246ba87b98e1d9d191a9e72c2f345eda8ef98e1f9fb8f4ead9eb6f6f6926c5a74ca7c3df9d9db93dfb7c6e7a7eeefdea221a8e7ecaf2e82af59ad447f94f029f293fff585fdc98f832f8f5d6b7eacde42dfbef82dfb77e746f27fe54ddc1edeaee2d1fc45f025a455422dd50c26812f40666996485748e6c831c8be3a7d0c23b53a65035518fd2ecd3f1d3eb3104329e60aa626e65e9637dccf688fd364735673c9736d74fee5a1e139e55de4c3e41be1e7e37fe6d81224129c141213f6112e17a1143910fa2196242627de25e1240a252f290e42ba918f8eba645c6546649364d8e43ae53de5a7e4de18422a76207fcd5b2a49cacc2a07245554bf5f921af439fd492d449d4cb35e434c63513b538b43ab52db45febf8ebecebd6e859ea93e93f3438622867b8625463ec6ac264326e5a6c66634e693e609166a96af9cdaac53ac846d0e6bd6db5dd617b66fb970e798e868efb4e6dcec12e7c2e53ae2587cd0f6fb915b9f3bbb77a6879bc21c47bf278be82f7117f1f035f453f657fa30042604810215823842a6432f4525848b87cf86ec4c3c8ec28cb68fae8b73155b1de7102718bf1e713f41226138393e8925e1cb97df4eeb1dee487c76fa534a496a4a5a5879d70c9d03b299289ce7c99559aed9cc397b3933b73eae9e95b7917f28f15b814aa9c6139b35d345e7ca3e4ecd953e70a4babcb6e963faa7855b9727ee7024535578dec45c35ad74b6175c7eab32ee7361c6f245c516cc2377db9fab179fb1aee3ac70d999b96ad496daded3f3a956f857795debed6dd79e7f6dd817b9b0f0c7a6ef5daf46df6970cc80ebe1c3a35ec3162f45ceba5f678f06bfce4eadcf0cae6b76d62fcffd4c888ef048c020067520070cc00c04e0380825e0004c6e0bc130b80255c25b4550608015f80c00d014865f69ff70704d71131801c50c335294e2008a4800a5c33b100ce70861c05679779e03c680677c133300bbec199231b240d1940ee501c540035418fa14504062184304544212ae13c6f1fceeb6291b790bf5006a833a839b42c3a13fd0ea38229c5ecc019d620a922693d192b5901961c9b458e25cfc7b1e0ea29e428baf16af82e4a25cadb5486546fa9a369a868aed2ead28ed2d9d28dd25bd03f677067f8c158caa4c634cd7c948595a58bd58d8d8cad9b3d96438ee32be70dae486e79ee5d9e7ede123e7ffe4302788119c19b4299c29e225aa2026278b11df14f12ef25c7a4daa49364a465a66533e5e4e53ecb772a142a2628792b9baa48a9321ec2ab49a8976b8a6a9dd21ed0f9ac47aa4f6fc06cc866c4672c67626e1a6176cebcd7e28b15afb583cd69db7e7b9483ae6386d3900b83abe7e146b7f71e1802b527c673d36bc17bd267c58fd2df24a038f043f0a190a2d04fe1c6118d51b8e888983771faf19d89e2497547b98e951f67482948c3a6a79cd83c1998b99a9d931b72baad80fa0c4bd1c7928673ee650ce52395a7aa0c2e6cd6e4d5d25dcaacdbba1cd4f0e54afe55bd16ea6b1b37165b97da573b3f74cd776fdc637ca0f3d0adcfa3df6640e389e453e1670aa3a12f7e4ca0de904d56bda39dbdbb805f3ab2aaf5b1e5f3ce17856ffa5bd8efa77e0c6e2ffd5cd879bddbba97ffcb735feaf7fe418c3f095c93a3816b0edc4004c802356008d7193ce00a4312c802a5a001dc82eb0853601d42432c90d4efe8274045d0356818fa88a044c8229c1169881b88052427d21d598b5c4329a0d251636861740a7a128e7d390920f1271923d523ed2493246bc40a639bc8e5c8efe12c71f314f178327c312537e535387f7d4b1d47c340d3416b4ffb91ee283d96fe1c8338c32063181323d37de600163a96fbac616c7c6c93eca51c8e9c4c9cafb92ab9bd79a47801ef4bbe2bfce902ae8272702eb7223c2472137e8be589a7491c918c96f292d694c1c90ccb66cb99c833ca6f28bc56ec576a57ae51c9554d3c14ab96a5dea9f15d4b56db5b2747b74eaf5dffb6c16dc33b4603c6b3a6083311737b8b13961d566b367cb6ee7695f6d38e3c4e81ceedae24871ddccadcfb3c46093d9e0d5e99de013ed6be867e4efea901f78328823d43bac358c21323a6a2b4a31b6229e3c2e39f247227c51e1939269f5c9bc29a5a948e3d9194b19649c89acb493c259587c89f2abc5e145b2277f64be9f5f2984a95f33f2fd4d5c85cacacfd502758ef7ff95a23e3958aab6acd1faf95de50be39dc4668dfe9ace9b2ea06771aee99dedfe8a9eaf57ca4f2987b10f5e4e9d3d8679891ece7b8173563ee1366af83dfd64f7d98e19cb37c9fb27877997135ff93c0fad3af455bb9db463b32bbe7f7deffda38883f0a90c1b5572638faa270ad490758c215a61070147ef2ab412b780ca6e1e71e0709409ad06128092a87ee40b3083238ea0444316204498ff441de41b1a18ea356d04ee8a7181dcc1db89ef280d494748a2c0a4b89bd466e8f43e23a2822f0d2f81f947d54a5d431344eb44674c6f4560cc68c8a4cc2ccf22ceeac096cd1ec9e1cb69ce65c66dc663ca6bc667cd6fcee025182a7841a851f8b2c8b51882b4af84a96498dcbb0c87acbb5c8ef285a2a3d55c93ae4a48ed6c8d7dcd536d1498323d8a1df6d70d770d868c7c4c4b4dd5cc2a2c94ac2badd56c76edc21c409ebdce46aef46ed41eee9eeede2f3de4fd53f276031c83a7828d42cec79844be45274522c47dc74c2a3a4fb472b93ed8eff4cad4eb7cfe03cb99e752727f7946f9e410173e19322dfe2adb369a5d46535150a954fab7caba19a8a5aa54b63f5310dac8d8f9b929b0dae49ded06f4d6eafe9cceb72ea66bc3371affc81d34392de4b8fe4fa6f0fe80d4e0cc50f4b8e2047d75f2c8d8d4e14bc167c53f9f6d794de74f6bb27b3947376f317de2f2f4a7f085abab0fc7865650dfd91ed93d467dd75870dc217efaf96df78be6d6e9eda62db6afcaefcbdecfbf60f871feddb0cdb91dbeddb3b3f357fa6ff1cd8c1efd8ec9cdd19d925ddd5dc8ddfbdbebbbcc7bde7b457b837b8b7f74bfa97f7afb3bf9efcfab52fbdefb37f6e7f8818ff285f5919e2db0340386db8fc38bdbfff550000924200f60af6f7776af6f7f72ec2c9c62400f783fffcef422463e01a67c53a110d7297136fff75fc0fedd8b8677c4c06930000019e69545874584d4c3a636f6d2e61646f62652e786d7000000000003c783a786d706d65746120786d6c6e733a783d2261646f62653a6e733a6d6574612f2220783a786d70746b3d22584d5020436f726520352e312e32223e0a2020203c7264663a52444620786d6c6e733a7264663d22687474703a2f2f7777772e77332e6f72672f313939392f30322f32322d7264662d73796e7461782d6e7323223e0a2020202020203c7264663a4465736372697074696f6e207264663a61626f75743d22220a202020202020202020202020786d6c6e733a657869663d22687474703a2f2f6e732e61646f62652e636f6d2f657869662f312e302f223e0a2020202020202020203c657869663a506978656c5844696d656e73696f6e3e313337333c2f657869663a506978656c5844696d656e73696f6e3e0a2020202020202020203c657869663a506978656c5944696d656e73696f6e3e3737343c2f657869663a506978656c5944696d656e73696f6e3e0a2020202020203c2f7264663a4465736372697074696f6e3e0a2020203c2f7264663a5244463e0a3c2f783a786d706d6574613e0a1d1c229900004000494441547801ecdd7f4c1bf7be37f8c1d803219304bb39ad6f6ff19e2778abb356b7587d4eacab2beb9160a5863f2e481b78b417fe48d12a206de18f983f207f84e80ab2ab9047c25909aa158e5669ff80fb0774f7c1f7d142b582a3b3deee59d3ed9a9e3ebe7db226a7d7e4a46e4e6a533a21640c663fdf198f3d36fe0521841f6fdf73613cf39def8fd70c6dbf9ff97ebf53b6bdbdcde103010840000210800004200001084000021080c08914d09dc856a3d1108000042000010840000210800004200001083001c405701f4000021080000420000108400002108000044eae00e20227f7daa3e5108000042000010840000210800004200001c405700f4000021080000420000108400002108000044eae00e20227f7daa3e5108000042000010840000210800004200001c405700f4000021080000420000108400002108000044eae00e20227f7daa3e5108000042000010840000210800004200001c405700f4000021080000420000108400002108000044eae00e20227f7daa3e5108000042000010840000210800004200001c405700f4000021080000420000108400002108000044eae00e20227f7daa3e5108000042000010840000210800004200001c405700f4000021080000420000108400002108000044eae00e20227f7daa3e5108000042000010840000210800004200001c405700f4000021080000420000108400002108000044eae00e20227f7daa3e5108000042000010840000210800004200001c405700f4000021080000420000108400002108000044eae80fee4361d2d870004200081bd0b4881f9d9b0c8f3bc24ad89cff5c2b92a9e9324ce646b745af79e2bce8400042000010840000210387001c4050e9c1c0516169002572fb9960ba631188c36a7b3b1b9b5d16e2998f0551d0c4d5deb1c5b4ae5dee9f1b65b85d4576c9428908f31dffe12b33d886447e12e7dd50e6260d435e4554ba9e2b875759b933e9d6bb6f0a9afd8800004200001084000021038e402880b1cf20b7412ab27156b743c1e5b5af0d2ff868d97c63ebb6e3bf02eb91415b575ccfca63df20ab723fe89db13015eee7c4992d07afdbad37cc47a62f918f3ed7f859a3bb22eca7bf8efd21d6ddadf1d91d1be545080ab69f9efbba27d030b71a50cf7e06ce3bde623763bee2f0f7283000420000108400002474a00eb0b1ca9cb75322abb8bee446caebbe95a30a3937e328c382ee29f5d5a5a543e4b4b0b8148d18eea4991d9977616e53de17769d43f31970c0290b7a1a3d5ee68ef48cb2fbb6723e96fd8820004200001084000021038e402880b1cf20b84ea151558ba36ea2f9a687f13f09923149487f6fb5b44d1dc685677d1344734c171e47d0d77e9abbcfae2ec687ab00057d3e13073bcb5a15e53e4fdfb07fd57a9291c9b1080000420000108400002bb13c03c82dd7921f5810b185c9ecf9c02273f0d9744311af6cfdef6681e55725c7c6e3cd8ebb01d6037d9da7e6fae35f57cfe18f7d00ffc6acb051e41dec37897bec28b170ddc5f49675fd74a7fa0f4313737d52c789307627313a1eb0e2c3f9866c21604200001084000021038c402880b1ce28b83aa31018bc56236a5fbfc16abd5ded060bfdc361c4bfb2ccf07459b3de321be2446c2a148241a11699681c09b4c26413099cd165346aa7416b4453187503014898a12cf9bcd569b5d594b50a215d6939f1222003b538b915090b265b9520d2c369b55483747cd59fd5d52b5a9423c472112f524f65b64eda475e1b99c756418e1306b9a8c61b61063eed508d2f54f65244602c16038220a167b43c90b3dca25d205a012a9d926ba8a741df3b75bdb9452b7a3e16088b5891541b0566a522ed9748b549b225764f7bc47e22edd3557fe1b20e29b49cf21e00ccd8ee4f29fd64627e79d54afdfd24c20da6b37a95ff11b02108000042000010840e0f00a202e7078af0d6a260b486ca8405687d2dcd05a33ecd13cb1d45a4583f3b76fdf5e5cd1f45c34876b2eb6ddbcd995fdf600313872ed9a7739eb1443dbd01dd3942bfde6819a36ef675d1458084e5cedf6a4df99d036e6ed92173f0c8e5fe99e54ab55d339fd896df48a6b4113c0502a52ef1abbd96cd3548a6d965a6d2970e5924b2d239dc7dc40db9cfcadc5ededd184482281a91b8363cb3bea4073c2ebdb6ef676294f7a93f964d4dfd839f779bb7ff4dac0b4fae605438be38b9efc7195642611ffd48d1b63d996eca0f152f7cd9e564de5926764ffcac79b4a179c1dbd313cbdb34dc6ba965bb77ab4eb5066b4a8942bb24b5eb54a87f12e55ebc6ed912bef0d20f96616539973c666bb39f94db03a6bb9c9d41fc6ec44a0d7de904e892d0840000210800004200081c32a80f5050eeb9541bd0a09a49ee067270acd0cb6740fe50b0a50ea95c5c9ceaca50aa3fe2b4ddd3b820294363e392007050c6a29a9050e531bf291f480026d0063c5d3d294232840672cb8bbfb66c36aa6ecf7aeaa9d1524d1e693b92df946aeb4b972060528617c6172a0e9c3c1cc551b35799bc2f7072fa78302744609cffb5989fd398302747e6c6eccd57479a4f8827479792993e8c4b50fbb73050558014bd3dd4d9767339660d4b4a8b42ba23981b27c99cfebbe4b59dd5f822bef0d10f6a5bafe1c57d3e04c0f09e06dad17537f2d5c7cd157fc5abf0c30ce8500042000010840000210d82701c405f60912d91ca8403494abc32186263add0b59153118d21d15f5d0d2c84c48dd8e8efc7dffcec7efea51f977d630828c637bfcb2387c3fd582dd555be232e60fec283fd5190d8c5f1d50277bef48a5ee882f745fbe9daa89ba57febd3c37b973a843468aec2ff49cbf7889316f5bdf6caa92d95914f92ecd5c6bf12c15be1eb1e1b68f0399918522b9ca879357a464de12f27ced77e9cb71e5bb01685e8ca6f166ab3a5a40de69c998691208effe4268f2c62604200001084000021080c00109601ec10141a398fd12a0d9eee37d2ef545e94aae46bb850d6f0fcdce6a4b31d6bb3ee96d36b323626062d0e5490f7e5e9ef58bed6c328118b8efcdec66d6d477f6b63b05313c737fd05ba40baa2d2ddf766d677f97cd1c9d191cceec652fcc877ae52aecb6daad9f78c6449ef38f747bd401fe54765de770afc34453edcdca1c89a8af2f35a341ae9aa1b6e9664fb3c5240566eebba7d314b46ce3eda9f6bbadc929e2f99ac1f617eee389fe1b9ab9152c7deda5216a221f9d9f18f52c681e312f0ecf841b5a2dbb7e302f06c6dd9a26d3c48426576f33ad6d17098cf60d6baed572dfa8ff8beb0e56871c9fc257c456126f8e6c33761d86bb749fb834ed926f005a9d41fb176395fff4d289326e92983f243a0a4d1c59ffc6e78f6ea6cf4e6ee9f4d5e60bf677dfde7160b73bd6033eff2a57ed70daab767b6a567a498cae49fc5993ba84c5fee59c55d08eafd2e36fbe7c10d5575f7066c45c76a4537664d7334fb2bded2e9a795602e9d1975f8624fd7ef87332f826677ad7f1fedb191753f1e1d4521e057ca1d5cd6aabc3fe4e4632b9c50777d5f6068cb320000108400002af51007181d7888fa24b115871357d6834d2ba7a2c713caeed92a8a7d7b63bd8506629e4cf78f0df9b0c0ad021c1dede55eb594cf74d95ec38695efbba351a14dde2feacc72ee76be9bdfb4fb6bebf1b5ecc55a25a7291df864b9f7e715de970db3fb70b97dbbc9a39f1d1640f6ab7d5e669494456aea3d6b3946e90cd6eb368564d981f1dd4d6db70b1ff9fee342a1d714bcf1da763a4a53ffd9eb9a5b19150eb5d6beec6d4f5bb7b9d36eafc4922ad20983b0ddb1b181fd5348e8202ddde7bad727a4bfbcd7b36d315d774faeaf80291564b0991888ce222e383d39a1dc681c9cf1b9467d5e6c6bb5fd8073f6c4b458bf2bea2a2f815298957530d65f310dea5fbc1c51a977d0304fc7e6df3359368d86e8bd3a1596180a3753fe9af4f9b3e6b3b91f55df99ad85c7dfcc0b79e70dadfc979bcf49d09167448e42ea5f45c386e3df2e09b876b82e5b7bfbd906cce7ee55cb4169b4af54b6bc3ce7a16cdbff4044533cf4ea0543dc19556f7922ab2b9999d59ca477b2051e09a6bd395542612410002108000044e8400e20227e2321ff146c663193dceecd6745f6f967bbc7cf327930eeabc268f0bf24801e58b189c9d49f7a1d31944b433a5a90b743319145052f08dd76f8eb40c683bd8e9534bd8aabfd961492733b7775df40e6b1ed4270feda1daec4ceaa66b3f99dd333114d0d6da78eb663228a09c6272f474d779d3eb29724b819064b5aa72e97cebdcdebbeae3de4241011a4be0f7a5bbfdb4a8e1c01d252890cc8be23235d30311794e070577d88b1376fba147f09adbc0507f3d191448e663eee8aa5b483729c72b2a2861695784e55890375964e6af437697ee0717fd45ecbc01f8d45f186bbf21cf7b2d92360136e12763a241265af2db59cb6f3f48f5b7a5d5d0b7c1c76bd2e6eaf761e99ddd0f2bd1965079e137ef8a5ce5ce07c7da44a56c57ead99c3b3d9ffa1bd9b79c8b96beab7f49efa867d1ec7791a068e6d909d4aa1fcc7cc5832965175e480a010840000210385202eabfb78f54a5515908a4045a86275bd50e2d2f989541cd6294decb17f0cd0742a17028145a5ed174285367d206a5d37eadb165f7604cf666239763e17bed5979b70d764b7a45364a65b2d048849d71017a0abfcb6ae72d513d20857cda161b1bb54bf4cb8978bba396d30c3760ef13cce8efb15475ddda371ba899e7fc2d85fd192536cb233834494dcecf16b2977ed01c2ebe2986334683c417faeb33f2a35524b4a110ceef0f717665e8472af352af48ea84fdda38f8bb743fb84ab901325e22ba93abd050016d6acdbf88747cf5bb1ffc66f577dfac73dc263ded673df1f587df04236b1bf464989ef5ea75baca6acb07ef5952fdc0e8c36f438f5737d8a3641d5f55fdce79dde3c76b67adbfa5bfe7c8e3f06aa2da643655259e06fcdf499566cbf98d50e82965acd3e9f455a6df7cf09e2999519e52d889a1f54d16c95afbfeab3f8475ac7ee777953397bf86a940439ae3a9dc1c899aa3d3f195d5e70536e641f3d9553d29ff3ce935396a36f324ce8da0a97cce0467e58c758948e8db27117681769873e2e307c1ef9fb06b97d0e9f9caf396777ff34eb5a63eaf74334f63b9d5803f286eea2def3bd2b364a4c8d75f8536f4c26f1cecdd9b79ab9d887cfd87d066d5dbefbe9378f05d647d5377c1f1b796978f4bbd5206640e010840000210900534ff390611081c2981dafab6de9e2e5b46d79b0bfb266e0ce47b83e18ee6653efae4cc399e4d9aa867a3edf1eec823ff0e8b2573017f29ff04fddd553b7f91ea119e54d28fef05754eb47a987e9bed34fd3ed7100a4d1ac78e3889e660d666e60000537680252bf52bf89a111460f9e71891b08b2bb25f353cac7769295c5c0937c08e17348a8597c5ccedaae3527d7c39c1faaae6ea25bef3fb231424601f4a96a01ea4f8f4a13f58f537b6f3b4eb69d0ffed93e4613a2aad471f865952794c8a6e43dcd8e036d8c8f18d75917a9f1b8fbe5b6547753a9a5d9090c4a7df7cf5ddbf71fc86bee52dc54a276e285df3c4a6b441fdec75aa5de93917aea1a66bcdeac545befdc3774fa910f6d1510dd7a38f538d63fb765b4f7dde76c97a2ccbf467b7996b2abf994b49890b6cae851fb132769873aba1af038fd6d4f249773d120a6c247eabac17a3ee7f45bff337d67656bf296d4ad2a38711cbfbc97f94898f1ed110162ea1a37f2114aaf686b44e111d291c906f336a745650e7153506d9420002108000045e5e0071819737440eaf54c0d0e9fea4c1c4b1e7d9ea47104cf40050f3dfa4c903e1d9be8f720cd46747b39f262b67c89d9ae4c9f42b14a64276669b4eb0bbad1d5da63ca7efbada79f229b03b47bb349e794eac61ab0a94fcc972cbfa5a7236fb9630e36585c95c4bbd22bbafc4d1bd4b936dcdc555ca0d90155aa3c504320375a5514aeb6bd27a4292277e4b6b91d0c347726f4a5f5549bdf0efe55ebffeedf73e78f73c3d784d84037f78b82a491b7277590a7f271fae3a6ffded7bef50f7fed1b75f859e6a7ad22c9220471d52ffaeab34bdef789fc608888fbff9ea41945b17a907672a500a6ff9db7f6359fbfeeb40784d78e7fddf5ea8661d5c6e5d8e51949073d11a6a89d61f86e4a040a5e982e37d362022fa30f04d38d9c56409775bcff58785f4b445ef2173ede9399524354894d35c7a14948302556fbefb5bdbdb3a5a2026f0d5a35569f561306ac91e6fa42d6a7fb60b4872e72f58aa9f86a82a8f454e998e9678f4844ddc12debec04b8fbe2a50edd46dc6e9aacdbfb698cf5763b0c0fe5c30e4020108400002af5c20fd2fb1575e140a80c05e042c365be129cc6aa652f0465650a0a6ded5d56cb75a4c265a453c74adbe3363317b3a8fcf7cae1e0bd283469b9a1ffb2d06a6d28fddb507f66f7b0fd52e5e78e6ecf8e4228b19a78583fe8cef2ff9252bc21265ddccccd080e89f998d28fb24c9646b70668df4285a81ac40467dff64975dd20e53e0d393bf5966ecda1ed8e7f0dda507c4b51c0a8b76cd829759e2998b60641d4c7f5d8f7cf765c6941e764878e75d33f58c2bcf569f1512fc9b7250803af99b3a3dfd6b4ba223f4598fb019011c7f5e0e0ad096ee9df76c4f7d5fade67d4aab7be77d1614a00ff5f1aa1f4657373756d73953c152280ec0f3ec1c1ad62f0705d8e93b3eb973ae7cba8b1aae3f952bae377d200705a80813bd9661edcb07a9f113bbad67c1f4d94d2898b82842fe047965d84dcabfc982026c86086fb5db567f47ef185d7ff45832bd9df9cf8fecbabef4f7828dad7ac752155a5d4fac7dff34f1de790a593c56c235effc5a587f142a546d3684857daa2fd0a8078404140cfc840004200081a32180b8c0d1b84e27b896a53ee39522a18c2e7c6da7f75e7bfa79b794ab73cc5b3367d92fdd1e0da8ef232072696670708f73084abe607ba976aecc33fe239ada65e49653558fcd06a25dce8c6eb21898cd984460c931fc2257316c9f14555fa5405f785e60d3140456627a1987d88c3fda43a33cd29f88afdf3d96fa6a68b27eb1cbb8805cc264aa4d064e309bb3662bd0f3c6a0da11a53e46d6d154e17bd9c8e0cd91c1a1bb4b5f1d57462c86c6bdabe28a4a1694d3a1597933879bba4ba7afe4957f19b10e22cdfb7ff3c2bb17d8e800ea8b9f7fff83b38f430fbef27fb9b12165ad461f8db2a101b4a880122690b313ce0bfad57c81019d604e77d69227b1820b962267abfc90873468bea737f3e4bcab1a2a89f555d55ac6f3e7abd27181ddd6b3d4f4723b4a4d9c1f21c9919920af8c7ceb484f7effbb276946798b06e2d33f5ab27616f9aab9038aa4540e1769ac89fe91f85d545aa52910e72dabdf3fa64093feecdb14a87aa4fcd32f6fb595dc855f232850d26540220840000210384402880b1ca28b81aabc8c80140d6b4fafc97c6d7ac497d90f4e26e51b9a2f7adce9b50057a65d57c5ee9e563b2f46664707bdcb3ba6616bcbd88fed3d553b47c15116f748854104bbc3383997ea44c70606a7bc77d32f0808cf8e64aec170d19e6369851ca5d0aee0f8d5ee494d04c6d8e6fdbc4ba037413a8cd3e912e3437d538ee47b0ae92469767c5c9b5d83b3b4eea2f61cc1ec34705ef582c41706269abdedeacb1258c5a6fabad3ef23e0fa27171af72f3290c9abadd6eeb6f774b9f77497be322eb3cdc6695e39993948830b07835a1121ebb0f69866bbfa02bd6d3e4f3f507af4e597f2135aeabcebf92aa14abfb1bac69ed8b24f81b7d12909b27fd2c277d9bbe4ef054bc97946f6ce3c39efaa864ae24db6dc62fa937c0f9fb263b7f5dc55fa5d254e57b0d8561e99d4697a360024f9a1b520e9a2f2f2db1fd47d19bf7766963e392361b12fc51a6bbef0e683e8a3cdb5c82a67792ccf4c31fdfa1d6da685aaadd7e7b99bb519601b02108000042070b804f6f8afd4c3d508d40602f474c994d1d55c991c9975dc6ab09b79490cf9273e1e9acb89646eeca8752f6a1f9d2fcf8db972a7cd99c1cbeedc5bb559a9a920805c85b981b6606d1d1f159bef7ed26ce11d3dd78d73fda9c000b734d674d94f010fab49f2cf8c4f2e683af61c77b1bf37c3ae489b32ff8b57ad8633abc4e5b1a62bc1fe9e66331f991919ce2cb0b6992de9bddb8fb9eb5693b7df9b3acde36a9abfd4d9d548419cf0ecfd91396d10a7cef5b24101b55d4a7159bca93aec76636f977b4f77e9abe23259ad1c97fe0b0986a29ce675179190363c57e3c83fc5404b47ebebe57b3efc34f4880501f4d5efffad3df9e28048e077cae2811c77f66c25b7262636d9ca826a877ffda998d1afd616946fbb7029a9b376764a5387f26decaa86a6eaca876b2297d03687164c4c3767b7f52c31bd52f912131745289a4029aeda54c5adaee9840bcedfa6fff123461ed2e47db366504716ec7a748d7b273de4838eaead6d64a529e56bf1c60a17ce573e7ab2b1fefd83efd84293faea5fcbf75f916aa7af5529b5401a084000021080c02112405ce0105d0c54e56504788bb5366385fde56157db70be1c53bd3ede76d7ddd6e49acc9790edcfbd6861a1334a3fb6c76a739cc566cf682ebd806099ad9f108e4a1c3dfc171c77baeb3a35cfcfb9d8e2d8507a6444ba86c696eb2fd3874e0d23df59e2cac2707fc6bb049542eb076ed932630be9ca14dc121c5dddb5de314d146779ced39feea2a64e36f45f6f4e7dd9db4611debd654a7ddf03bc4b5f11176fb669ffd0c2615a5b2ed5af1383c174308a33d89445dbf6aac5ce5b575e05a0af4c060512d140485e874f7ef05f7dfe2cf748e4369e041e9a3fb8c0824d8fbffd36df1c8202d5285c4aeac4f5e86a56a7347528dfc6ae6a2898ceeac262829a13327f60956367e2437adb5d2af3ddd6b3c4f44afe25262e8a503481521c6becc3b584f8fdb78fcfbff7b6dcd55f7ff4cd776cf157dd9b17aaab538d5636aaccd5fcea53498a3ef8f651e57beabb0c69658aef9eb0b8007f367f2c212b27f96b098dd5fdfa9dea27a1d5d5c76ce98baaf3c9890145aa9d11b2c85530f6410002108000040eab80fa88e5b0d60ff53a8102ecf1e05e3eb69bfd174b3d6f25c8fef353fe08f62eef587f2d75fe777c9afa87daea0c9c3a769d33ede129f78e4cb377ecb5da56675d765619dfadad77dd9dc5406a5a263fefd965ab54b88cd2d817b9c4c295e26adbdc371bf63cbe5f68bd37d946bdd2829ffafe7b2f13e850f2168af1e6552858375ad7f200efd257c3c55b1b359720c69693543f52d8bfa26e533ccde9d8f3954ee5428fd0d9f646e4f75ffafdfe3ffcfef7df28ddfecdd58781d053aefa5dcb5916dd5e0b7ff3bbdffb7efffbdf3d505f4690fdee43e5412e8d2bd8f1a123454aa153e421fed429fdddef7eff4de69b03b98239efa286544af5bbef28cd79f40db5f72bff1f7ef755ea1f54acdebbad67f1f42cd7e4a778e202084a1e59090acb0856b9b189a70ffc3ea5b17e79c248e59bd6eca000cbdd6cbb20df0a89a7a1c0ef7d7ff8eaebaffd5ffafcdf45e4422a7ffd9bdddd6bc51b4bb18077526f64d1bf2d479d583d4aa976825e82810f042000010840e08809202e70c42ed849a86ee6b36453693394198ca5f18e67a0c5b8d3c850d339ec196ed1f466b8207baeae7e045be3bd2f16bc939ee10157377d5cfd436e8f776ea1b7d12944535101b6e29e72066f4a8d37603bd2df04edfecc76d0132d5e7b94be268bdf63b505fbdd6977cbc59a642eb97ed9dbef783d43976a73907086da967ef7dc673d19ff355db0fe4a09b4dc5f465199b1127bfbdd69cf407dae120db597863cde7b5d34cc21f9c9c7986fbf7c9ab9ebdec2d8405bce384ecdc536f7a4f76663eaf135fd47bcd65c154f5520cf1561c78bf166e67518efd27de74ab139dbebd56d8e8bcffbd5c08018f4690673700d8de96b9d4e9fb9a5fc1ba8c0c873e1020d3a603dff84b4bebe4e03ecf5d56f9ae4716e89b535f620fdc2074eeb9b02cb27c166e2ebabce566b5721a4fd4a197a7980418e7fe3e968c5c3a2a554d1d0f6e4e83ab63262f25342ce94b2780dd5fce4c48e77e45008b5575cdfa0f1eb959572c17259bbad67d1f49a92f78aa0c9225ba9a0b9d2588bfc1ebfcd6463e9f29d7fdf61cb719528b5cefc377ffb9e49be0c347344a4cb2fb198002dd3f81bc7df64bdbea0c01da5dc0fa5c998deae96f1abccdae52f2e7ce0c85f6db9eed941298d1136210001084000028755a06c7b7bfbb0d60df582c0de04a468843eacdf4f5d71132d5b9feeb86767180d4cdd9e08263b8fa2d07cb357b3921d7b4fe1952657ea09a8b1c9fd796ff1ae4e7619a57edf45b5b3b2942431f9c23e6a702adea04d2489914858262114b6927f0113ed797bdf16a361ba06a2127c11cc568b995e5bb0af1f51becc4a09d426cbfe9790ac6e71debdb46b17977b5feed2fde4cafcbba8ebf6dc6db5924160e4b2cb9b9a4750ebf6decbf86bda8b52f21c3928206deaf9b382dce997d657d7258a00f0dcea83ef1e252acdbfb9703e21b104f43ec16fbffcdd53895e14e7d8ed8be2f29692bb9f5a5a7b127baa614212d7685d01eaf3e6f8b3d96d3d77957e57894b23289a4a1257d9220a7c55755529ff9090c4a751650d097de559537618a868699a04c51a9bf8f6cbdfd3bd647af76fdfcf0a3cb04c76596d4db9d8840004200001081c4281e413904358335409027b15e04d660bfdaf94d3a321dfe2229b96af7c166e5834ebf68b53837da9a00025b0efebabefd43253bf7751edd439ca46be68403a19eb37db4a23499ff4525b82c962cd5c0af2a5b2cb7132857caca6ccc10b3952edc3aee2bc7b296417977b5feed2fde412ec1d170d438bc9a1344b13f3622b2d30189949070568354bedcb22f602a43d87de4428f09aa9dbd48354beae471f3f79ca714fd737df7dcf4a5db7f550e01beac8715ca53973753a6d6ef9b6f39692ef8452f66feca9863a5ec87859614649bbade7aed2ef2a7146b5f6fea5506373e4ca0be75f7ee10a39dffc8d5d7ffa74438a7ecfee25ddd90b39820274fe2eab9da325d805010840000210384402880b1ca28b81aa1cbc80d5d9c06917e7a375fbeb27ea9b1aad6669fefeb476857b8eab6d751e442ff4e01150e22117388477a9b3ab835bf424dd6253be4897333aa35d64b2b3cb7910aa55172cd58fc3ab9b6b8f1f7cf9f841aa44e1ed77e955f387e273f86b7828980e5925d623df7e1b56ea74f69d77b593910e5945511d084000021080c0be09601ec1be5122a3232a1018bfea9ad44e8bcedd8e4eb7773f1f80e62e047b21905be0f0dda5e2f895a64975380d4db1e908bbdca99137b5dd73f75a4b19129ebbb5bbdc1b7df420fc648da611d002037a5e78fbc26fde311d58e125d5f5f0d7b0a4669c9c4489a781af1e4a9caeeafcafdfbb70fee4b41b2d850004200081932c80b8c049befa687b52203873bbdb9de37d77c9c386ba817bb71a524b53830d02af43e0b0dda55270e252b73a64802de6965a8e8f734d2e34636ccdebb8495026042000010840000210d89b00e2027b73c359c74e408a06fcbe799f2f188a286bf8d1fc6f9bcdd9d0e0b05bd1c5397697fb8836e890dda5e1802f2cb1852ea5671b52994ea055e3e88f47b03a5eed4a1c47f4e2a1da108000042000010840e0f00a202e7078af0d6a06010840000210800004200001084000021078d502876469a657dd4ce40f010840000210800004200001084000021080400e01c40572a060170420000108400002108000042000010840e08408202e70422e349a090108400002108000042000010840000210c82180b8400e14ec8200042000010840000210800004200001089c1001c4054ec885463321000108400002108000042000010840000239041017c881825d108000042000010840000210800004200081132280b8c009b9d068260420000108400002108000042000010840208700e2023950b00b0210800004200001084000021080000420704204f427a49d68e6911078f8f0e191a8272a09010840000210800004200081fd12b870e1c27e65857c20b03781b2edededbd9d89b320b0ef02b81bf79d141942000210800004200001081c7281b2b2b2435e4354efd80b202e70ec2f311a080108400002108000042000010840000210c82b80f505f2d2e0000420000108400002108000042000010840e0d80b202e70ec2f311a080108400002108000042000010840000210c82b80b8405e1a1c8000042000010840000210800004200001081c7b01c4058efd25460321000108400002108000042000010840000279051017c84b8303108000042000010840000210800004200081632f80b8c0b1bfc46820042000010840000210800004200001084020af00e20279697000021080000420000108400002108000042070ec05101738f697180d840004200001084000021080000420000108e415405c202f0d0e4000021080000420000108400002108000048ebd00e202c7fe12a381108000042000010840000210800004200081bc02880be4a5c1010840000210800004200001084000021080c0b117405ce0d85f62341002108000042000010840000210800004209057007181bc343800010840000210800004200001084000021038f602880b1cfb4b8c06420002108000042000010840000210800004f20a202e90970607200001084000021080000420000108400002c75e007181637f89d1400840000210800004200001084000021080405e01c405f2d2e0000420000108400002108000042000010840e0d80b202e70ec2f311a080108400002108000042000010840000210c82b80b8405e1a1c8000042000010840000210800004200001081c7b01c4058efd25460321000108400002108000042000010840000279051017c84b8303108000042000010840000210800004200081632f80b8c0b1bfc46820042000010840000210800004200001084020af00e20279697000021080000420000108400002108000042070ec05101738f697180d840004200001084000021080000420000108e415405c202f0d0e4000021080000420000108400002108000048ebd00e202c7fe12a381108000042000010840000210800004200081bc02fabc47700002af4320120c442456b0d96a370be91a88e160284a07788bcd66e2d3fb4bdc4a65bb33bd5c90180a8444cadd64b1594c1c97f575e7498764cf51a9e721e1423520000108400002108000042000811c0265dbdbdb39766317045e8f8038fa61d3745c2ebbb67bee5eab1a0148ef6f727b7bed9a8041ae7a4603b3f7e74374aea3bdcb61a6dfe9d3772667195a43979b5c313a6668f17ed12388818caf3bcf39247b8e4a3d0f0917aa0101084000021080000420000108e412c03c825c2ad8f7fa044c66b5ece5b1117f54fdc2a5f6ab9182d4911c1b61dfb8d73b3ded9df629630fb8f4e93952d32e9ea34102ecc38208f8400002108000042000010840000210384102984770822ef6916bea5cff60ebdc5debeebbea8289baf9ecf1bfc0679f6cb8d8d2e3344bf254054a2049924d1b0ba0b904ec34fb67d3d36cd2022f14199920277f6d3f8e4a3d5f1b100a86000420000108400002108000048a0b202e50dc08295e9fc052dfa8fff35e47ce0a8861fff8e8f8ece2324d3b30186b1adb7bba5a1d0217191fbc3dbbb0ac9c3235d217124ccdd77b5239b4767535ef8c34a86102355978627434425fccadd7bbecbe911b331181e7a2e6869ede462bc745a76edff647054e8a3a7b6e355b3343075278f4c64898d6416868774ab383ee398a4f188cb51d376fb55ba323376e789758c0c2587be9faad5e798e032b538a04ee8fdf9f5a586253280c863a676b4757879d052ca83923214a205a7a6ff558e42847647ef4f64c98369d3dff6d64e27f56ebe9504220795858299c189c181d9ff20763b138956234db1a3bbaba1a6cf231fc80000420000108400002108000044ea800e20227f4c21f9566c7bcfd53ad73ad164e79909faa76c437d236e04d7d8dc756bc63fdded94eef5d5bb2772d1f8b2f2f2dd224824897454d2a896c1c80fa2dcf6f31ea5b585ca183464b6f97c3e6300d0dccb1a48b9d36fb82cd373836b7249f79b1cb921914a0bd52d4bfb844e72e2e2e4ecb89e8473cb6ec71b579d4aff43bb63cd7df16727befd15209d45b6fead61c8cc79716265d0b939d6e6fbb5d90028b8b2c92b03813ece8610b2b8833f7a75901141728fbb7da7a52abf2b2dc6ba74513ae36b992f1123a394e664b9343ddbea0fbb31e3bcb0e1f08400002108000042000010840e0440a607d811379d98f40a36bea2fd628d51cbb362e727c46ff5b0cf4a941818b2daee1a1ee3a839c76d933e83b7367a8ff52f254aeaea57b6060a85df3487fdad5f4a1faa9afafbf3a11cc81c1a722072c8260765e1fba6454920db7d57f34a60405b8ee4f6fed1c794067a6a30ec68b9d9d2d6a5d5806c68b2ddd6df54a561cb73ccfde81101e54830286baa681a18196ba64591ed76048125a3b2e2ae9e767e5aa8ac1593928c0195b1a6a0c6a59f2ef022cb31131e453820286bace49af77d2ed528a59991e09660f97502b88df10800004200001084000021080c00910c078811370918f6413f9d69b37f9a68fd863fad8f4c8acd3462b0628fd618e0bcdde4f768d9b86eff4b05906b6bb92f2c87d71e2ffbef9597b6b786acec37ac1b686e6061bf59933461bc4e36cb4bef289b2771f16ff38afdfad9ffb684193b0b673ac5519d6afd999b979d1f3f91d9a75d06c959afae5a10dc696cfeef45080c32a855cd3ac05ac66c1591ad1c03ec696cfefb2a30d4e0777a5493ebe381b147b1a5a8d6e36622036371bb9eee0fdb36cf400c7d5b637d250037933f9a320cbbcd89b8c21c483f353f3d656a7e3e6d080c8e22d42917668cbc0360420000108400002108000042070ec041017387697f498344892044bafbb65cec506e32f0cbbb47d72299aec0fd32c83faf46402b9e522ebe84b6a7f999615cc9e3560acabb7275f3e208a510b8b3794f2b15cf7742f748ea9495beeb6179b965f634fbe5a415dbbb0a6d1a98c7ae035ab218ad1e43b176a5b1b94a3d4516f6cac9d96e31ae188c8d96dedb5dc188b722cf8233dc2ac2261687752cc21a0d687fd2eccc29b6d34a8824544e2cbd3eefe69376d19eb2ed17a0bed6ab92c137c2000010840000210800004200081932680b8c049bbe247a7bd3479c0ded37f71667831fd78bf40ed0d063697201e0b84e9c4fce9da6edde962230876fd8946c29a7342548aad707f5a548313a9d3720e4d505f8da07d7542ea3508511635303bdbebc7865838606a649c574201c65607451d7266982a4ede48b3083d5f78ad33f727a666e65692a2b1a5394ff7dcacdbfb195bb8001f08400002108000042000010840e0440a202e70222ffbd16974e3cd3b134d2e750241b2de92da21bed83f79a731f9543e1c08443889172cd4c54dad19a07d32af9c9c630441291aa23fb5a2819c7ca9fbc6d4dcddd6bd0418328b134cc9fa2ff9825c2b0d01609f206dcb1fbb8d2d98687634d7700b84b0b2282f7fc871751d348920fb5398c512f64d8544c1d6f849cf75418c0402bed1c131f62e076e859639b0233090cd89ef1080000420000108400002103829025877f0a45ce9a3da4ec17ea73fb5505fb211b6c666656b71f8c6148d0f88467ce37d1fb95cfdf47fe3ac472d77fe5992a9f1f1795f8006e3bfdc479cb8d6afc4260c35b5c9550197c66eccb25704bee447b0dad50cdd8353fe08f5d8a706d5211246bbf2be03c1d65aa72dc7d8ea4cbd6021bdbf304b787664cc3d3c3ce4ba32322f0a66bbd3991aef40ef60c4070210800004200001084000021038b102880b9cd84b7f641a6e6eec6dd3aee94f0b06585ad517042c8fb93e6a6a691b985416ef330e5d6fa086996dc907eff1a5e9a101d7045bf6bfc8276b48bef66b7866509eec4f39d47ef2d9bdcf862e29792d0e7f3c9f2b32a03d374fa99a2482e38e2bf9c68185b1feb6a636d758722d85baee3bcee4ea07bcb3355928cbb0a6555d21411d3821175398c5d6de21a7e262dea1267a13437d9b5759c090ab6f4e45089414f809010840000210800004200001089c2401c4054ed2d53e4a6dd5beee4fe8bad39f7ca8ce7126f9e1b6f3fa3f0e77d62b6f27549a65a8b938e0f94ce9489b1bba3ad5d71cd251ede370d3cef1f7f2f9c934eae1f4572938e84ebe31a06598bd5f4070f6ba2e2a25c7866ecf68baf849dff4b94aceea3b1653ab0df226b5bb2f27b036dff974a02dd540795f4dcb80e7ae3aad80f6981ccdb5f201fa51df9e5aa1506d9a5aed022cbcb9797acca5be03319997a1f6927bfa667226839a3f7e4300021080000420000108400002274aa06c7b7bfb4435188d3d5e0212ade72f4a1c2f984cb946c32bab09a43ae487bced725b245e6ecccb55b5108b248aa2446602fb6843262f5724ce86000420000108400002108000048ea800e20247f4c2a1da1080000420000108400002108000042000817d10c03c827d404416108000042000010840000210800004200081232a80b8c011bd70a8360420000108400002108000042000010840601f041017d807446401010840000210800004200001084000021038a202880b1cd10b876a430002108000042000010840000210800004f6410071817d404416108000042000010840000210800004200081232a80b8c011bd70a8360420000108400002108000042000010840601f041017d807446401010840000210800004200001084000021038a202880b1cd10b876a430002108000042000010840000210800004f6410071817d404416108000042000010840000210800004200081232a80b8c011bd70a8360420000108400002108000042000010840601f041017d807446401010840000210800004200001084000021038a202880b1cd10b876a430002108000042000010840000210800004f6410071817d404416108000042000010840000210800004200081232a80b8c011bd70a8360420000108400002108000042000010840601f041017d807446401010840000210800004200001084000021038a202880b1cd10b876a430002108000042000010840000210800004f6410071817d404416108000042000010840000210800004200081232a80b8c011bd70a8360420000108400002108000042000010840601f041017d807446401010840000210800004200001084000021038a202880b1cd10b876a430002108000042000010840000210800004f6410071817d404416108000042000010840000210800004200081232a80b8c011bd7027a3da52f05abdf2b91694524d16a7ae7dc8f65e191753fbf26c88d148883ee1689ee37bdc2d85a6946a8d07355548d5f6ca84ba373a7a4549d817528bf28f28bbae04d444ea91bdff0e4d294e57f731cf5dd6263a733b79adae8e07739c2b06ae2a12f557fcfbd7f01c05c9bb725fa07ca9b11f021080000420000108400002275b007181937dfd0f7beb25b543bf746dc497aa6c341a67db25742f43131f77d2e76aaaa39ecae3a53624b55e523a5ac171bcc5562367bb321f52f68ba1f915a5a0c54058d915f5cd2abbac66e1a5eaa03d598a2a16dada688fbff2edd0549f7b6e4929269a81922c3ae29b584e6eae4ccc865f75852431a21421be369257dd44e40f0108400002108000042000817d13405c60df2891d1ab10e0d54ce3730313c9de36577a875a3099580666532a1f35bf57f15b703a6be57c978361d6518f067d31b51c5f40eea98a219f1cd330d43798d5432fff9b2f5de4e50bcb95837f46eef51b2e79bcde7fecb1ef48224e8d2fa6762e4dcca8e19ed4be7dde10ec1d9f7a3c9e314f87ed75d3ec73cb901d042000010840000210800004f65f40bfff59224708bc1a01cfc7a38d5ff4ca1dfdcc02c4f0c4e8e8943f108bc53983a1c6e26cede96ab64ba37d23fe90dc5f5d99faf89adfd6dcdb630bddb83123717cf3cd5b0d168a1548f3233726c25193a5fd663b377863222ad87baf37fa4606271757dadcde2e6b3457ce797bf456670337c94af40722ed566bc8971ee3b0341fe09a2d62c8af440a1a1a6c4a1b42be89d1f1a9a515da6da8a97576f4f634d85813a5c8fc8d1b1392606bedb0cf8fdc5e58a17082e162dbcd9b5d4eb9a71b9919b93dea5da2bd35f54df668f613f8e0ece8c8f8cc32817086ba4b5dd77b5bcd7c32cfac36b6f2bed191095f78254e78c61a6763474f57430e648ecb5d552934d237e855c640c4e76fdf88b6f6de6a64b69a4fc4379d0a90d0eed8f47cb8ab554913f1f5dd98920493b3d91e9a189d5b669568eabdd3658b0c5e1b5c8cc50d06a3b3e3faf576879263a9ed1af887c8cc7fa0d84c63af72a1e5ca8fdc5f92416aea1aba7a7a9c561932f7cd93f7126b5a854d0840000210800004200001081c1301c4058ec9853c11cd887b07a75aefb69a33271084fb9a3e4a3f8c8ec7579617dcae05f1dffd0f338bacdb2c7f62cb4bb1b025da650a2d2eb3e1eed6a8a4c40542bec5e518b71c0e8a0dfce23275e997bbdba6957344ee515fd37f9723e7316fb39262c74fde6aa7010394cb922fc4b59a7db39adef0922fc235477d7ef924a353eefc0746afb8a6952e35ed66351fea5e080c4df63acd5284aacaeab3e4f2aae5c4172707062d93771a85892b6d1ef5bc958564af5c4dc6cddfbe3c34972a3abe3437d6361f9afce2baa0e6996e63f47f6b19fa2475623cb6b23039b4109216ee34a6762a1b79ab6a176797d4aa70f1e5a5c56054ca8a0b04a626e44c8c9dfd8d53c39354b389a9606b2f1b56204602ca15595a5a4896188f79873bd36d8ec7163cfda279f24e83b9f476c5a25f2f2cb14b67912f7460fcaa4b8ed7c845c45796e6063ae73ac7bcedb668ee9b871dc24083e405c12f0840000210800004200081632f807904c7fe121f8706d6b6745faa610d591abb111025edac003130a374dd2fba3c0b0b0b5e779bd2e0a8febffcdc3b39d0249f666cf24c4f7fde65e7321f63534a21d9fbe3b5870cb5f54d4d2dff3a3a973be70253d6796b230506e8b31408474201169630d4b75c32b25d81602412f4cb5d68a33c262032dfa704050c178727a727dd2eb9ae9c7760843dfd4f55d550373036e9eebfc4f2a087f681b018b89f0c0ad4348d4d4e7b865a0cca31f9a71818578202b54d03d35eaf67a0891d8dcfdd9e09a7f3a46ac96dbcf0bd32a2c1d0e9f692de708b5c85c509cd2a8f72a605aa2ad83e9f1ebba4d4c0504ff5e9b267f5a8c3134a338d0dcd8ded4e3965cc3b911ce1c0a7da59dbeff60cb5d5a94d31760e7b325bbd8b76fdcd5b956a3e349dc3d7a7040564e74fdd9d4a653d372622f96e9e0297389d2fb6200001084000021080000420704c04305ee0985cc8e3dd0cc964efbdd539f79187e3560607279c02f5ec924301047b9777ba351289883c17f0cffb679507f2cc4310cc6641ee76d296c944bdd5cc810679ccea5cff74b7593e4df2daff9b9c39e7399376f38ec6bab1311a92109c9991e41880a5b9b5559ca610437c76665ed9656c70d240fd4860566943f7bd3b0e1ab76e6ebed3ef6b1ba658c4a22f24a686245cba75ab819e5ddb7adb26e62657b898dfff474169a361e04eaf8d9dd873ebd27cbf3a40203579c166e5827e4a2928a52c4df9c4eb6ac5d5364666fbfe47b62fee715d9eaf6f6c7474b83d369b95e61c647c0a56556ab75a2c540d6aadd96c313367ed2715b8a96b6f1638a1b9a3d6eb59a6364e05c45e4d04e1d2f09d46bb89b377d54e76d36163d3cd768795e37a5ac6e7680e42cc17f823af8430b852da2506c753758804e61581cebbb71cd43273fbdd7e713624f26687c96ecb77f3a44ec7060420000108400002108000048ebd00e202c7fe121f8b064645ded23e507f7f68211e5b9c4c0d3297db169d1ded1b5b90fbe0f9da5a523c2079724b4783da2b2e21e71d255a1c0d1c8b0bac4c53279e3e46bbd56ca5e5081797b9c5498f92bcc1493d5e4e4aae956fb0a8b3f94d561a5acfc628b0d70ba89550221b943cd9df167843f2197bba0b6e71d8b9b9e4387c5e7d02ef750f65404568b1bf64a6a9369a1baf77ce5ff52cd2d0fef8f282776c819d51d33474afd7a996cfaa5ca4aa2c89fcc9e5ec9b98510e2e8d5dbd32635e59495e29ef7d5fefddf46c0541a9b6fa2e03b5d51c0b3350ed044e6d35574abb92f5917f4582ca3b226bedd6649b6c8d5db6648ac84cd19b479b17b6210001084000021080000420701c051017388e57f598b6a9a1f7cec4828b1e266b3fc1f16450a0e6625b577b8355087ddc394c1dc98c8f3a5b8053c787ab7de74223084aca39a318f98bc57e51e9dccbdf8c4e07756c6d8d7572b040495dabac7897ea02a7dea52745e57716eccc53bb47e4e2c93353e7716ad797a593d446b60db959d9f23ed6b1172c0237ab7c4fff9484d65b9f35d0a08848c8373b3bb3c0566458f10e4c35cfb5abbd684abcc7aad29962606251795a4f5fe2a9a000abc0d244406c640192523ed4ea5db54b93a7909c76128e889cbcaa03472f4dbcef8ff082e3bfe2c6958852a19b47931536210001084000021080000420702c05b0bec0b1bcacc7b45182fdd640fd8eb6251f0277d14afd762b174e2ef89f916cc51f8c88d4b9e54d34de9d7d7c337e7ab61d094c280ff5959d3b7e9690f38e7368a9bb868bca047676cc290f0db0d89de9843514bc60df2c4e65676c7474963d6897c2a3b79507fcb5ce828bdebd69579e76c76e8fccb013a381fbe9c50b391acacf72670102b39d3e5613bd73a17f6060d49fe3e58081d1bfbf74a9a9eda37193a3b1e7e6ddcffa93bcd174cc8165b5e7aa520f5c191e50dbe21a1e1e629fe1e1e45a11dcca042dc558f2e7cdddb44b9babc5a18c4a88dfbe9de4ba31e099f37abd7e2a7d6f97589b3db621000108400002108000042070e405305ee0c85fc2e3dd00f5017fb295e686deb6fb0b999df9649281cb57ea2ce212bd5d40fef8e98d0076bb947cd2bdd4dfd6646c717fde63ad95df17b03237d43437548c2e6fce1d0d854eb53738b94565547ff2bd03f49e823a7a402e9f54db989c55cf5b1abb6bc7c696b9d8c270d3c2702ac79ab61e3b9f6320436a90fe5bce8e7a79da406cc1ddb4e04e9da86c981b7b2f8db4cdc5b9e901f5cd0af281d6661b17551626489f61763838ef1c8d6ff8a8fe726dadb0bc9cecc5b3150d349fc255a584a9ba694e62bba7c695a51b6b7a3a9ad38b09583bc6e7866814c1e2f894782bd9334f9d9875c55339bfb59b76a572a30d5a0b52718e2fba9bead35c4d3d8d067f728e43ce9b479b09b6210001084000021080000420708c05305ee0185fdc63d03475bc7fbaf32874dde9372a2d93bbaeb6ae3b6d75f20e7afddc72aca6b626fdb09e06f0b7762907e90c25f9cd81a6948ba1f6524bbdbc02bf89a6b7277bc26a915c819c793eb92440ba5ea94c69f53dbbb2e83e2d2e901c1ac09eb8534042fe34b2e5f4948fd07a6fda75493dc0f619eabbdd9fd17b13a837bba33ec929f76cc2bdf9e6b4fb625281d21a2f5e945b917cfa6dbefeb9a725d56c966b4de7f064b399561ec86ea3d9797dcca5bc4c20960c0a186afb3d776dd90d2b54552a2139543f6bcdc168605e89d2d4b566c4194c8e56a5be31fff26696645236b54a82da6a4ab68b76655e20aafc647786734ddb8087563d2c7089a951f8400002108000042000010840e08408946d6f6f9f90a6a299c7584012459a2740bdc1d44a02598da58103a9ae263dc78e46695241fed49a938be6ac49bbd74d4994c7edf30285277693872846e5c91159dd71350be5304d9ec8735c4dc77ecb7e44240885abb0d7aa6acb7ad9edddb42ba32cb5f2592007718933ea812f108000042000010840000210385c02880b1caeeb81da4000021080000420000108400002108000040e5200f3080e521b654100021080000420000108400002108000040e9700e20287eb7aa0361080000420000108400002108000042000818314405ce020b551160420000108400002108000042000010840e07009202e70b8ae076a030108400002108000042000010840000210384801c4050e521b654100021080000420000108400002108000040e9700e20287eb7aa0361080000420000108400002108000042000818314405ce020b551160420000108400002108000042000010840e07009202e70b8ae076a030108400002108000042000010840000210384801c4050e521b654100021080000420000108400002108000040e9700e20287eb7aa0361080000420000108400002108000042000818314405ce020b551160420000108400002108000042000010840e07009202e70b8ae076a030108400002108000042000010840000210384801c4050e521b654100021080000420000108400002108000040e9780fe705507b5818056201a181d9f95785ee2ad5d3dcd26e590181a1f9d12692767e9e86d356bd36bb72551947841e0b5fb4adf8ef826c6e7c30d1dbd4e4b9e1cf69cbf149918bd1fe192d94a9224581dadcd0de63ce5e4ad339dc9f3eca4686064d4df7abd2b5f4df3e650fc8018989ff78744b3d5e66cb027fd95b322be71bfd0d56c57f31003be797f3022986d0d0d4eb3a0ee2ef1f73e3661b7bcfb5874b1c64a91f99129aeb7a7a1f8a5cee68dfa67e703e1a8c9626f6874a81722e74e31e8f7050261aee885d82d14b5ee55dc72548d9171d1d1d1d56051fd24dff848d8ded16ee7f6e72f45cd17bf2100010840000210800004f209946d6f6fe73b86fd1078bd026260b4c935add4a1d333d76e65fda9c87c5fdbd0a2bcd3e8f67e6ecfdd0515c72f374dc60a2428d2b2c0e815d7f44a8bdbdb93bb83a8b3d400004000494441548097c85f0c5c6e72c58cb57516b9ea62786939c671f59f2edc4c758c8a548e1d16c73f6c9a6a767fd1631783a34dddd36eef42ee9a9690579e2491db1fb6cdc539638d31b64235ac737bef268b1043b7af74ce892dde2f7a94364c5d6b1a5be28cb535b1e5154ae999bb2b5fab3c19efd8bd9f4dd825af7c8fcdb8bd5fecb7de8e46d2350b8c34b938ef426fee7b36754616af14ecbbd44d777c4d8d71852e84e1d2e417d7cd397772e2c4d526cf325db29ad80abb10e94b96ca3cb5b14ba85775cb89812b4dae15ce3030f9454332c8c7eeedc946f74217b71f7f29a90663030210800004200001084020af00c60be4a5c181d72f203f0e57aa3135136cefa5a7d3926f42090ad0ee02dd2b1a29c07131812f90a460f30453e167ba2f91bf9c71dbad4fba6cc92222bedb6d03733381de3c31889c15651510e4410782ad6761a12767a297d919f5dda7a0409bdbdb6517a4e0d4a5eeb1fbf3e1bb8d62dfdf752fc6e58c6b54a2c83c05052eba3ebdd36ce1c233f51fb94767c37769bbe4cf7e3661b7bcec1edbeb5d5272039584c547af506f7f076f686a649133f44f7ed168a6c8c278936bf2beafa3359c6367afc5474181fa81c99bd4c38efa3e6c19980d46eda9e10559b5dd2d14f76a6e395e1939131fea1b777cd695bc120267a4eaedba86592dc45708400002108000042000815205b0be40a95248f77a0562de9908d5400cce2c6757448cf807af5eae679f0ffb46e745899e66fffd7d7a5ccaaddcb87c797026445b21dfc4d5cb1fca69ea2f5fbded8f48d9b9d04884c0c41539c987d7466643e904d9e786ffb994fc25eaeef7f5dd1e9d4f67a429924664a7be99ed4e83fc450acf5cfeb02f983c22cef45dee9b09d1ce2b97af8d8ef62995bf3238430decfbf09227c6c5a6bb3fbc36150dcfb2b3444e493932924cd93731ef9b1a54ceba3a322bca4588615f9f42557f79dc1766fba4d0e0e5fabea9a07c3cfd23ec9fe3b84badf26374ded6d864e082a128c79b9ccd4d2d2d2d176be85a24134742017a98ddde2807022c0d6d466e29c8ae55ea53b462526613321acb72116747ae290df9f0ca60ce6b972a4bd9c8c9cb32dad97ccd99398f86e7c7af2865d77f3838e1972f4eeefae43c3d1a9cb9aadc7797fbc667435cf24ae736cfc92b8951ced0ea949fa50bf6f6268ef3072239772ad34a9c762529eb6247c5f46da669687a331f5476ab0bde723bae17fd99ceaaadbe36d877e5cae0ac94e736a3aa50156b2ed6712b9383b3f20d99ae1ddbca57c3cc54f80601084000021080000420f05202880bbc141f4e3e100183dc995aa06eac189a67fd7d6587527664fe725bffc272acf6627d9d915b9c1eba7cfb8f82d9a43c78144c1693c0d358f1ce010f8dd66feaec6eba688c2dcff57f7c5fedd5265b407dd73697678586cdd75db485bdd30bac1cfae438f7da7fa82821ff68c43fb7b83837ad76f395ece49f5437518c8af4ffd16824121c1f1c8c73354eab2089e1583c948a184442b1405894c4c84a6c697a3adaef1e73f737ad2cb8c78342fb4d571da1d45cbadee1e0c5103b8b7a50724aaf971b1a1beb6faa5df40c0d8c8b43639ee1eefa65eff0fd80c845fd573e1a08583bdd9eb1fe16d3e4c047e3144ee0a4688c8beee83fdabb2627a77b94a9ec5268d61be7e40ea7b9b9a7b7a7a7a7abb1261d17080438a3539d3820381b8ddcbc5fcb5bb462526613321a1b1043131f0f7bc3dd6ecfa76343f69585feb6516de61ad7e4663ede3ccd5733c8852385c63f1a9a34b50d783ef50cb4d9163c37fc512e777d729d4e935e5abaddcb9616b7c733d4ca4d4e2f71c96524729b735c0e5e763fc453d747a4b6c742e167b9764a66675b0d37d472757c6a6aa4af2fced5b63bf2aebf41cdce0795a3d5a2b9c02d9775bda8d597bb87976dacd5030de2c2e2ca4a202ce5b9cda81ad4a2c6ae9b43f586c5e16b19f74dfe1aaad70cbf2100010840000210800004f64700f308f6c711b9bc4281bad65eab7f787a7976d6678afaa8a04b3d3d11b77b492e3238739f46b51beb5db77a1ab8b0f58acb135ff85f9cdecf4c1fd77b566aaedfbb6ba38e6fa461a0df22996c0d7673900f7a1717d8a991c0d47c4819abcc9bedd6e014ed33d40f7c7eb3818e2953eb690f6fde79eed9ce3bf7deba52247fc1d2d0dd264866873c1a9a1598fad09eb9818fe8717cea63ecbc450fe645a536a9bd9a01eefd93f7681839c759dbc6bd53be486f4fa34370879dcd0d768b18d49660189abee3a4debcb567dceb6ab87bcb49b3156cad3563acc9c1a9d11857ebee6db60a9cb5e37a60a6936667745d77dc5d904134e5b24dc1acf42943f3a39d43d35c6d67af3aff9b0ed2aa8ba9e4020561625971056d959484852a961c32aee698d9d850230b4e88914894773a6e4e7e1a128bcc0ec9c71b1ccfd1fcf6e664a9b971ba9c2e97bda1d941311bce66e5b8258ad4d0fdb1b33e394f779aeeb3d516eef5d0999cf58e3b7ad935c34ee6785b6e73f920fdd0f25a9d0ddcf4f4d53ed3cd76bb6fb49f5daa70b8a623c74e894611b0cbb23c3531118fd19f453842dfd98c9adc9f7c509c6967abb91e67be5b8edb71bde84ff2e2a7777bd800929e4fa2814b63d1224d8e8a14eaba5bbbd0dd7f6d66e15e63aac6796b98bb41d80b01084000021080000420b04701c405f60887d30e4e206ab2373773d3eee5c98121566a5db3d33aee56caa765f0d983fdd882bb6d21b94b3e90ecb5526f8ecdc217b8e0ecd4f4d2cab07212fda44e38cd8af778d51d4dffae8d75659b9b1df21e73736bcddc24cb39e7b9f2334e96b040fe9cc9deda955aae5fce55fd417de8a6a1495a4d8075a6a5c8fdbece69cf68b8fd8ef2705e4da59df56e5457f86767c8bd2656328db14e255637d273d859329680a79f490e16775876b5d15074f513a451048e54374cddabfe1683b73fee9e5be12e760edf6acf11e050d2b1cea8323c5efeaed44ccd22f5bb70c552c96823bbb1b6f64ffa2383c3c3fdd3ecfa192eb9eed8ad851e83539b73f2328a9dcd57e302b98f9a9ab9e07893bb5f5bbf3cf5c991f9ba93e09561fd2c035b632337bdf39269f3ceb12dd87b26874d7d373caec5c9dafaa68b616fc8e934dbed3b7746a606e762c681c97f642fb7a0d9347fd7397c63b6e1b3567667e7fae483b2984c3b5baddcecb96eb9eceb4583613863aad5bcbda186bb9fabf88c7d5417db9de1a6967ef7a8df66362507a3e4ad61c6b9f80201084000021080000420f0b202880bbcac20ce7fe502a264b2d0fc76370d65a78fa1bed5a6761ba88f6c73d4702b2b352deecf7aec92140dccfbc292897ad1c9e9f272972870ffc6f452aca669e06e6f03afbce3801ea35a3b3c9e64a79017ccd1a98f29f3f9d9408fdd49ddfef9d9e43c829ce7a69b9c3f7f1a371d0a4538c164b5647762a9b3486bb8b1ffb18cac5dbd2dd3ddf3d4b936b16ebca02eb62885e92500453ef97a7cec343516a0c98205222e4d2e5c572a1409cc06b9fccbf04bc16b4ddd4b354d1e6f2f8d2f28f0b1381cdcf47c4854964d147db33143a3b3c019392a5620779a241f0a995b6fd22afe22cdcd98b831e476d91c0bcdd9a8e92cf2f1f2b99baf3cc127f81c38e1f18fdd73a6e149af836e292970f9928b8ac9591f9a05b2d3b6caefa3b127541f45234c5f0d4ae0295ddba25b522410901c9f7dd12ea714473ff446cc7cce9d342f85e39c0e65aa026f6d6c36cecdb08534f2dd25f9a0c4891cad56eb992f33f538fb4de3470211ae5d5e7042f4d39f5281bb41739ec9d1db7fd13bdccffe126be4905abe1a2aaff2d09c8a4d08400002108000042000819712c0fa022fc587930f448075ac9a3b6a95b29a9b598f817a3bcac7dad0481b2bd38383a313e3b7aff50fbbc746fdd47791c7b9aff4fdfd95d1f9b0d22f1323a1907f7664507ef1217554a8c7ae7e2c66813dcba571077303576f8f8e5cbb329dee93b33e4df6b925e42f06273abbbb3baf4e51ed8b7c781a2810a3eea360a6490f2bf76702b4ecc0ecedab34d1a0707f2a160e0423d4152cf651b16c0dd4b79cebbb3d1b11459a45d1e61abe4feb1248e1db5792ab336a330adebfbdc4195cbdad7c2414943fac839bf149e66bb2d18a02b1bec129ca363035321de79a1bd8c0f9e21fb56285538667fa5c1f5d9e0984399e67731638037b59449e6ae7c84ae5cddd7cf5849c47e50119141190a291c0c85517dd14b42a44cefae43cddd6dcca718b57fa26c25131ec1feff4ac24d71728a9f2aa4ed43f3cd0394877854877c515e2ed68b0d15a093b77b2000de71d9cf045a2d1e0fca86b3a66a4004d4965c90a2a54ce562b4ea5dc724aabaff64d85a391f9918fa9d1ec3e2ead1a8d37ddb59cf2ba0bf5c2687fab35d4eec33604200001084000021080c0cb0b60bcc0cb1b2287572540dd409635f5cbe8a97a6387d13310e3ea9be909b724c94f2dd90fc1d6fee940f4ead0f4c2b48725aea977dfeda57eb6b3bd7e726c211e5b990f467b5abb6aa707961727fb17d9abddb9d80ab712a207a9ea5279ec3cdeda3ee60a75bb1796e7a6d90be08d1cbd2a9e0aa0c900b9ce158ae6ffa44c7ee2995c678e1591fa64f5f6798b9d621eb4d84163bb73a8a96660ccd53246a3e96ba9b34d3d61b953953e836dc93b1d8d7593939eee2bd1e94fa8b94a02fa99913239f48067dd29f631374e0e85ae0c0cb7cdb111f935f5aebbad167a0c1e5a8945c3599d7e31e8672326dcae8fd889f2a7c9eded4d0f2fa0d7242673e504fb27432d6d03636d4d546faeb66568c70b178b544cbed0b99b408db5777cd212fc986aa24c14a9ef76b3051468adc21cd566154d13c8d5d6f0e6683e1f52eb960bc714e9a5abdfff510be55473f1a27165716e60a2c79bab3e5c8ecc39ce323914be32e0f9a885dd9cb5b586e56418279aaff27295e9479a97b7b50fb50407dc2e65a24cdbf0245be7c19c73e7757767d4452b2426ff14baefd2ab3da560beb2f241dd6bcdd5ea85de526e3976739a9ba7ddd235d7d847741f1bebea8c2b4bec06ccdb64aa46f24665edb6cbb309bcf2bb15a47c356c6c2f2df0a46ae23704200001084000021080406181b2edededc229701402474180566aa3e8813a363f578de9496fc1e3ca39b953e5de9b594a296932cfc8f36ddf32ca93bffcd0bb048abca7e739205f82425720cf7925eea655122449d0aca2e71fb97c83bbf905757d77f9290cbcf3a8660f6daa55d8511fa5169ac4a96a31999786c9c99b73271bd4a02d6e6f509a86685a9d6a53fe0d7a43e7e844a4bdb7559eea218e5f6e9a72baf77099f29780231080000420000108400002fb2c80b8c03e83223b0840e02004a460dfd599ae7bd7b5833e0ea2dc2357c6c14345e6ebdb8638435d5b872332eba1377e767bbcad85d7a83872aaa830042000010840000210385e02880b1cafeb89d64000021078dd025234383331eb0f8539b3b5bda3c3aebe4ee375d70be54300021080000420000108e416405c20b70bf64200021080000420000108400002108000044e8200de477012ae32da080108400002108000042000010840000210c82d80b8406e17ec8500042000010840000210800004200001089c0401c4054ec255461b210001084000021080000420000108400002b9051017c8ed82bd108000042000010840000210800004200081932080b8c049b8ca6823042000010840000210800004200001084020b700e202b95db0170210800004200001084000021080000420701204f427a19168e3111518f95f670c06435555d5fafafae9ca53b491486c3d7bf68ce7f9adad2d436505fddcdadeaca8a8a87ec3145bfbb9e2b4b0add76dc5b7b6b7b70d1c5f5e5e1e7fbe7efefcf9eded2dbd5e5f59c13f7ffefc54d5e91f7ffcf18c60fc79edd98b78397d3da5e7cb75db71492adb922af486171beb957abd4ea7a3a2373737cf998c949b24495c59195f59596e306c6f6dfef2cb2f650996e796b44595293754ea79c30b69739b32d27386aaf270f8cf9c8e3318cacbcaca129bdbf4d3c095533ee5db2c12177f21d15992b461e0f554c9cdcd8dcdc4d68bcd17860a036d54559e5a5b5b2be3b8172f5e5093a9acb60ffef511bd82a8360420000108400002108000042070f805101738fcd7e8e4d6b0b242a01e7a628b3b5d75867ad8abab6b82206c6f739595a7577f593d555eb1fefce73367cebcd88cfff0f8c9a9d3554ffff297d38270e6f4996874f5c5f686f15cf599aab3abd1d899aa53cfd7372a8ce7a8dbbf2d6d0a55679e3f5b3f5551b9b5f5a2ea146fd095f38672d3b9d35b7149c76d97579fd94e6c524f9e7aeca74f9fdadce29e6fac9bde3847bdfe9fc55fb636d6a9c79e486c9eaeaaa2df71fa24e2ebbf50979e8f6f2636b65e5084e2f1a31fcf9e3b4d5180171bf18de71b9b9b5b65896d2ab492af903636581ca1b26a63635dafe74f5556fe147d5a5d5dfd42fcf94cd5992d1d175f5f5f5b7b56b64dc1824d6eb34c5c7d26bd889fdc3b002d87000420000108400002108000045ebd40f93ffcc33fbcfa52500204f622f0f5c31fca38dd2f6bcf36e3899f577f79f2e4270a103c7f2e2dff296c34bef1f8cf3f6e6febcaa953cf9ffae597f5d59fd7de7ae357cf7e5e8bfdf8d31be7aa132f36a391275b2fa4bf44226534ac408afff31fffa3ae8c4613241eaf3c3a5b25447f8a569daed4e912ebe2cf3ffe10fe97f09f56634f37b7a863fecba3c78f84b3c2f29f967f792696e9f5ffb2f22f91277fe1f4657f0aaf6cbc785156b61dfa536833213d97367ef8e1cfe7ce9d2937e8375e3c5ff961e554654522217dfb6d405fcee97565cfd75f9c397dae8c2bdbdea211079b6b3faf6d4a9b14a1883cfef1ccd933b1d8eacf3fff5c59712a1279623c67fcd39fc2cf44c954fdd69348b48a172a0da737251ac5b05dc619deb7bcb5173e9c030108400002108000042000010840a00401ac2f50021292bc26011af64ff304689a003d63e7743a7a824f4fd157d77e79f4e8d13657f6fcc506574e03f3a9b35ffe6cfdf983ffb41cfd69b59c2b7ffce807eafcafffb24e8ff2e9a9ffdacfe2f3e7f1ed32dda3c73ffcf8e35f28be10fceec17329beb2b2f2e30f7f8e4beb4215fff4e99340e0ebd8cfabf1ad4dffd7ffcf8387cb4f567f0e8696bffef63ffef8d3d31f7efae98fff1c8c3cfdcb0f4f9e3cdbd8d82a2f7f185e79fcf4e9cfcfc4f0e33f5315cb4f55447efacb8f7f79f26df08fd16874e55fbed79595d14c845fbd71fe0f7ff8f261e8ff7bf3cdf3ffd7ffe9f37aff7d99be2cbcf2fd7f0a05cb0dba1f7ffc73e09bff776b2bfe38f2670a5c3c78f0e0c58b3835f6c13f7f479fed4482263208a7aa74dbaf491fc54200021080000420000108400002274300e3054ec6753e9aad0cfccb237a382f9c112832a0d797579caaac3a5dc59571d6ffdc5a515579faacf062533a73ee6ca28ca3436f9adfdadcda7ae3fc9b89edb27346539c661f9c3d77a6dac8d615a0c3c299b3c6eaea5f9daf3c7346a7e74dbf7a8bf6d16a05957cf92941e02b2aca0d157ff5d7356fbc65a613dffaabbf36feea2dfe5455f51bbf3a535d7d9a86049c3bf7c65b6f6d2574553437a1ba7a4392de7afbafcf9c3351bca14a385371ea340520747a03ad8170f69cf1ecb9b3bffecffed5a9aa4a497ab1b9253ddf7866349dd3f33468e0c55ffdf5af843395860add3b96bf92a4f52d2efec61b46e3f96a834157a6e78cc6b3340be2e7d59fe8ebf9f3c632dd36850f38ddf67ff157e78fe60544ad210001084000021080000420008123205046b3a08f403551c51329f03fcdfe1fb4021fad204083e913d489e7b60dfa0a9af64fc3ef693e3ffd6f5b574643099eadaf575656d18a00f4885eda78914870b422a04ea7a7c10534fd5f10aa9e3f7f56718a2d43484b156e6e26e828b7ada335012bcab9cdb8b495d8aea83a4db9bf886ff29555f494fef9c60b4aa33794d3ca7f9b9b52656525fde4f94a5d9961437a418ff4cb687a43d936ad1140e58aa2a8e3ca6981c0e7e233f35b6ffd25f2c399b3a763b19f28d9e676e2dcb97394092d7c78ead429aa4f821621d8dea2910f54551a23403fb944193584aa4ddb1b3418616bebac708e72a6150de39b2fb6136595a7f8ffbaaef6445e7f341a02108000042000010840000210380801ac3b7810ca28636f023333ff3b75aaa96b4dfd7fd691a6b1f55b1cf5c8e9ed00b4bc9fb8feac527e5501ed3f7dfa0c85002a2b69917fd681a7f71754f0a72864f022be4145eb0cf42c5f47b312f84a7e33bea533f0143be0b6366975813382b0f1222ec5e9b502955bdb5c7c2bf1221ea7d00015471df2e7a2584e9d7e9aadb015a79fa72acfaeaeadd1060d44f8f99755caf057e7dffae51791561064a5f3a72af4e5f45e038a02d01b07282eb095d0d3b2023cafa7de3ec535cacbcbb636d957aa11d5902205f449c413e2faba4167d8e6287650f197bffc587dd6f8e2c5738a0be8ca398a5af0157ac405f676ffe02c08400002108000042000010840a01401c4054a51429ad723b0b5cd660024b80af19767ec013e6f28631d6f7a43e1b9e8cf1b55556762ab6245e5e90abd5e7c2e190c95b49200f5b4c5e79b1595e77e79f64c2725e8313ebd13a02cbebd2549a74e09b4ac804e5f21496cdd014379d5b3f8e6da4fcfd87645e5b38d6d7a7140c5a953e595a7689a0075eca52d0a1d701506fd36cd1f282b17d76964012d3bb8a5e7b9a73fadd26b0874fa538f9fc6ca7586b2cdc466bcec055b5c709d4bb0a1015b89b2b55fb66972c0e666f9ba4423140c5b5bf23b0ef4fab53516aaa0571652fa1f7f8ae9691003cfc7c4e7e5fab2add83a2d43f8c3d3356e7b8be21ad28b0d7aa301f78ca5c7070210800004200001084000021080c02b12405ce015c122db7d10282fafa2d9f5d2a64ec79fa64507cb0c866d9a2cc073344fc0505e490b01e82bce6cd168007de529fd297a2380417fa65c5771ba4a97486c9f3ecdd31c191a5fc01b049aa84ff970f4a3bc9c461e24a8efbeb95d5129c4691a41d926cd0590e87d05db5bfa8a53cf3713959515fa4a43f916cd3be06860ff59815e2ef88c06ff571af4d2063de4a7e4a7d644912216945da550f98bf85c476b1854556e6c48fad3a7d9e405bd7eab8c2ab7b55dae2fa74a6c5369dbdbbc8144b668dac0e9ca04ada648f37774e57a43c5f616b759cef1674f5165a986148ba8aa16584480dec1402f35384d2311a47da04416108000042000010840000210800004f208202e900706bb0f81407c9be3cb693480be8c75e413f495e6e5d392feeb92c45613505e465056b65946f30ce8b93b5fa6d3d3428065719a2540f300cacbe8558165655bdb9b89c42697a02ef73685051209dda9d3423cbef57c63b3aca2629bd3c739dd465c19f69fa0c5366856425cdaa8d497118070bae2dc99aab366e31bc66a9a35b0b6b6ce3af815a76881c0273f3da5f71c3c7ff1a28a86fd4b5b1bd2c6264d383018a8647aad220504aa2a4e6d49b440008500a8f0e42a1e541f8e2ba38a51cd7efa295a69e04fd3c204cfd6d99934f0e0ff67efcd7e24cbcf33bdb3afb16544ee597b55572fd5fb4236456a246ac891469c913cd2c063c1d68567301808f040f685fd17f84680058f65c3802f0c0b106459d682914c91143791225b24bbd96c36bbbababa96eeaa5c2a97c8d8e3ec9b9f93250f06068b37d589ae2e7ea79bd1919111bf73ce13c98beffdbddffbe9f41d30a020a15742e5e74acb924463e6a11c424008080121200484801010024240080881632320bac0b1a19585ef9b0011fd8aa92a064309b47abfbffe2f8f15bbf3d4e775c1aca975ebbe423d9f573a0d017aa1e02aa0fc3778036a41595524079a96ada8a5c5abb58d7f9645818579df77130200ecfa9da6a3db3611043429c4ae6304a81079bad8eb5e7af4d2938f5dec2e105058f71468aa12c6b5e6400ee2de41ffc6addb97dfb93109c696ddf43c27ca94348bdc564bcbea2c83b060d0607dc5f5956057e0a1be9cfa218d23d207169616102e949cb608dd3a9230f214270131043ad719cce6bcc7a469410e2120048480101002424008080121200484c07112105de038e9cadaf7474035d8cfd733320229c9d98237881e241a30d3c91fc4f65f12466854755f40556fc06bb55100ed807752c5a779a1963c455650340c072807180e8ab2d5691101c83c01d2065996f187ece6dbbecb3401d3b2aa3c28a2e8fc8995f5d5c5979e7f8a2106791c598a9dc4f17038dc585db71b5a8a75815989a7977add46a7d57ce7facdcded7e9aa7aed72c2b2620cc6808f01b7517031305ea9d7f6c0c3ca86a3d52810e02b5ac672b160414e4096b1599cde0445329323205f033d079a0f283a5915b50c5658138707f14e5d34240080801212004848010100242400808819f444074819f44477ef7e1122835f6f9358cf7f5667b453c3fcefa3a2a40b7dc224fcaba4fc0a8b303f010683a1bf39a815da02aaa8cf29b9603b6dd192c60ea768e0bc0b3f10fcc663326030641d0f45bb645a15e2551e039b6af9b7995986571e9b1f3674eac9d39b9b1b268df78f7f60faebdb3bad84b5797490d549472e7fd9be71f399fa501dd01d338f1bde693e74f759bdec9b5c10f2fbf532a49cbd583385234c5b5fd2849b9622e1ef14251691ea0cd80ee060c0f55309b2e341b292d0daade683a691486d3210d066994ac2c2d7b5e6330e8b7da4c5e4405897d1b02720801212004848010100242400808012120048e8b80e802c74556d6bd7f0205dbff8c18344cf2fed96c3f0a0e2465d022f94fcdeb6a99321b0940c30ca0537a131f8066a06639f536dd04ecb82b799ef0bae71a5138415c585bec2e2e2e6d6f6e9138c03f2daf69343c43530e76efac2e2d3d7ef1dca317ceed6edd7af37baf9c5c5bf33deb13cf3db3bfbb77b0bd73f6ece96bd7af72c6532756b37056f711dcde5c5e3de1b88d73eb6bbd4ecfb7edadbd833b878756c3514d23cad386a397640f96241ad419032afff058eb02c562b787136114ce3b4d6f7478d070ec4f7efa67bff777af3cf3c2cb2fbdf0e2cee6d69ffcc99f3cf9fc0b0c68bc7dfb364683fb27292b080121200484801010024240080801212004ee454074817b9191d73f7c029a55e956a9e1ad2741005d80e29f1d785d9d4523aa6c93903fdc025a59270c92d2a7a84514f80dbf208930679c007307f32a4b6cc75292a4e3581b6beb4f5f7a62349a24834316334dbbacb4c96442d0e0d38f3ef6d2b34ff99645d7809166e7d73636d6577b0bed3c4d12861f56ca6273215c5cd3482028394d79d8eff37ad90a93acb435abebbb3ffbe2e3fbe3475e7feb477b87835429c3c10465c2711d6612a05c108150670fd6d200ed042a69827994d387309f0cce9d3af989979e6f79de0b8f3faa2a651c6225301c238be7fd0b67562e9e7bf9edb7dffef0bf09b902212004848010100242400808012120041e5e02a20b3cbcdfed47ffce4c9ba840fa044815504cc3600001a97d8c1424a58f9fe8c6af5bf8b38c1b25e04faf4abc044b4d9716fe309ceb7ace1c00c3759797977bbd05cfb59bcd66afdddaba7ab5a16b9d4e8b008238cd7ee6e73fe9da4eafd3cee2d82853dbd03efefcb3bea30e0ec7c1789ca6e99993a708112429e091471e8dc340af948edfdeb9bd73626d7d79691943035d02d3c97890640b4bcb2f3ffde47b9b5bcd85f6703ab9797b6b6730a175a0be07835602240d8d8003a5d0d232334a2d998c969bcd2b3f78edc69baffeeb7ff52f1d7fe9cffef88fcf9c3ed9ed76cb244883c99ffed11f103d78f2e4c98ffe37297720048480101002424008080121200484c0834b40748107f7bb912b4bb2cc259adf30ea0df69c5182268a409e46aee7555998c773260f546174e2c409c7f1700c3cf1d8234c16dcddd92af36c6971210a66ababcb8b8b8b2805c06436e1f5ab97e361fff4e2cac91327f0e7b73acd56abc574405c03e3c1c1c2c2c2e9932b8783511e9b8e63f106bfd50cc3d0749847a0224020131886c7ee3f674cca9c3841b2007883e7e8bc259e1c2e63017075b3cc3ddff54e6db8ac1c27b32856b43ce3ba93186dc3350ddf559f7ce4f1f7dfbd9a4733230b5ab6f7c53fffe33ccdb8d82f7ffe2f3ff399cffcb7bffd6f7fe7777ee7f2e5cbcbcbab6823f297200484801010024240080801212004848010383e02a20b1c1f5b59f97e091804f20733f6f9bb6d8fc8c0329913ffd7f68ca5057fd49f8dc7a3d5932713bdfcc59ffb144d01a40992431887f3b6ebb69abda56e334f9bef5c7d7bb4bf75f6ecf9284c54d538b5b2944ca7a7d6970917a4cb80ce7f3d4f06fd3d7481eec2c252b7dd3f18144546064018a68417f83ebd05561cc73ca7878004c130a4c8572db75165f1741ea679c9967e99e79d5667ae05f1747a766303fda23f18b7fdc6b9d3e74651340da3e16cd23fc452902a45118ca77ffdf9bfb8dc6afdf2a77fe195efbeb177ebd6ccb5c93b78e4c2f91f6dde46a718ecefffd11ffc01d108cf5cbad46ab5c947b85f8ef2792120048480101002424008080121200484c0bd09882e706f36f29b0f9bc0232796d636d6f10b1c1cec454e75e2e4a359344fe279dbf7ddaa61e6c1b98d453af64d257df5955706a3d9caea09cff39e7ae2421207db5b3b79167fe54b7f8dd1e0377ff3379796562ccbfc9baf7ff3b1c71edfdbddbab3b3f5d413974830644ffece9d3b54fe2b2b2b2f7fe2637804b01eeceeeee232d075950e029ef0627d94157303100834458beb01838a65bbfc5b50d317fac1e168a1b5a02a0c1950d0144cc3764c23cf8a35b7b1e23794b525fdd285ed3ba3bff8b33ffdf77ffae7c3dddd77a6d377bef5ed13ab2ba6aadc7affd60b2f3cf72b9ffdc77ff1f9ffe7e6f5f7f6b6eeacaeaebef0f473afbffefaab6f7d07a5e0c3fe1ee4fc424008080121200484801010024240083ccc0444177898bfdd8ffabd3d7efae47436f69acd172f5d1c8f879a5aee0fa6553089d3d9dffef5e7afbc7579e7e5977fe133bf94ce476930233270676be7d6e66d57d71b3ec17dc1f7bff7edddcded76a7194e6759a399476cd887c164b4bebaf485cf7f113fff23171f63460095fee9d3a7cf9d3be73afed6f6ed5eaf474b3f5602220c30297ce31bdfd8dcdca471a0d759b8b3b3d35d583c77e1bc66d9f3e97872e7a0d3e9acadadd9cc3c54d3fec1703e9f2f2d2d553a418789afeb65142961e4351bf379f4b56f7ee30ffff00f7ff883377cdbc987a3d5a5e5fed68e4f3ea2699661f28d2f7d6df3c67bb6efcd82f9743a7df5efbef337cda6aeeb3cbf1ba0f051ff2ae5fa85801010024240080801212004848010786009882ef0c07e357261cab7befc85d96cc2b8be175e7cfe606ffbf39fffcb3b9bb77efdd77ee5fcb9b3e9e0303c3cf8bbaf7e75e7e6ade75f7af9d499f3e74f9e3c9ce66bcb27feea2fffca32caeffddddf3cf7d425ad2a93d97cadb778b0bbfbda6bafed6cdf39bcb34703ffd6fb370c5d5d5f3bd1f25bee4917b3c0eecece97bff425ec038c395859593a73e68caa56e3f19857de7bef3dc771300ebc7ff3d6e2e2f2634f3caeea26968142a94e9f3ecb71fac469c202f39410c4626b6ba7d16e2037ecdedebaf6c3b7ce6c9cec2e2e7cf96b5ffd3fffaf3f1a0e0f172c3b1e8f3a86514da7bea6cf07235a15f83f61320b36afdf4aabcc6bf8680d6e6f69381c6294302b354b73f9531002424008080121200484801010024240081c1f817aa6faf1ad2e2b0b81fb21b0f6f8cb54dd6cdaa7594885bfb7bb3dbeb3d95aea52d24f86a38276fd4a57ddc6e9f31757d74fea4ee3e2931feb741767e37e383efcf217ffbd5a2669389b0c0f9e79eef9ded2e2f5ebd729da4f9f3de7baeed5b72e3ff9ec8b8f3ff59ca29acc1a707d677b732b88425a02f6fb7b79963df2e885c9689ce619d30a3add4e1aa7b41bdcbaf26e6369e5d2a54b85a21ab6cd2802c6209053d0f09a38ff57167b8d46e3f6e6fbcb6bcbb806f6b6b7d3d1e4d68debefbefbee2c9c51edcf83d9c1eedef2e2523c0f38a956a93802082ca09d01cf0267b75d23af8a65b211967a0c61d83f3c988da7f32828f3f1fd6094cf0a01212004848010100242400808012120047e0201f10bfc0438f2ab0f9940c37036afdfa48c5f5b59ded9de0c0e27a6e94cf7fa8a52922350597e14676aa1ce8693e5a58d46c38966b36eaba317c5c19d9d1443feee16efb43c73b8b7371d0e76efec2a51b879e32659014a92befbf6952255d011b66f6fa645beb1baa61aeae8f070787090c631530f1f3977def1dd1fbefe83db37af5f3c7fb10823a52ca2d9b44c33afd9324c6b360b2ccb59ee2ccea6d3e1dec1ce8d9b79914651d0ee76ea38823c6d39d6b5ebef3089a0cc939bd7affa5cb46bf6f777dacdce3898f67a4b0c31acb2ccebb4f6f60edaed661acf8b2239d8df1b4f069aa2cf826991978c69fc90bf0639bd101002424008080121200484801010020f3501d1051eeaaff7237e73e3c17071b1c774c0c3bdfd324d4810d0aa5c5735df758330304cc7d075dcfbf36970feec85b513a70dbba1a9553a9f5e7debcde5ce42391fa7719087e1a87fa0ea9a51a979c58483c4f2bcdcb0b2d9f49dd75f6f2fade0e45f5d5a528a94ccbff170a89b6691c66ad6db7cfffd309ce35688e370db30e6f35029734b570ca5c8a8d80da74cd3525193f92c09e6d178086cf2110ffb7bcb6b4b9808e81a88c280e989b403cc4703a5acd2fa9399e33a5e83ffadd96e73301a759797c828d45da7b3d48ba76a14569c9120c32ccf3455d375edee90c58ff83729972f048480101002424008080121200484c0834b40748107f7bb912b53ab723619e117a0d9653e9fb1f9afa854f60c110c744d4fb3d4b6bdbc28181cb0b979ebf6e696edfa2408deb8f2a3edab573453d195acc8133e1bccc366ab910421d9014c27e489653b45a542783e1e355d3b8fc3bdc3c3f978ac3248304a34d3ecef6e1319309f4dc2e9d4f6bcc9e010790213000311a2d9a4d1eef88e391b0efb3b77b8bc41ffb02a8ac9649467895215593cf33c274f23c6262449c4e5291ad74e5743dc69325ca06e1f88b3743a38ccaa6ac177d3ac682e745aedf6e1fee67c3a420e2871092845591565c154443e2c871010024240080801212004848010100242e0b808882e705c6465ddfb27301ced11f897d2e36fdb4599288c0aa450560a0a7a4201ebc98178ecab9c34811fbef9fd304a5cdb4b83a72ebff986a297e7cf9e29b378383a24d29feefde974ae6986ae6995569a961bc591538f1854f23c722cadd7f507fddd3c9d39ae1b174599612cb0f676366d8616fa4e18cc126e862c01ec09d16c6f6f73b188af5dbb1a0451300bf02cf416baa3e9a8cc125da5944fb338556c254b42d5c02590cfe6b1aaa98aa9b32c430c8aaa449e40c2c8aaa4c88b7918341b6d2c0393e92808d03e90032aa52ab971ee318a1256b87f92b2821010024240080801212004848010100242e05e042477f05e64e4f50f9f80aa59aa69528d3308b02acb703665379e129bc29988000ecd54f352250450b5bd8adc7ed568347cb6f4f334f13d6b69b13b18f4b1f13bae7f381c646955e4758dadf38a6d0741c07392029941a869b4001c120dc061595651140404703023d0b20c5ec12cc08b94ec6cde73768ed6d2f2743cc391d0ec74a8fe992ec8b63e8a02d74b0b80e3da719a38cd8eaae8d178429dcf6a9aa29247c013d7f3c92c4c513954cd73fdd5d5f5c160b0bbb355a633cd2815a40bb480a3d370a9454116a18483d6cce510024240080801212004848010100242e03808882e701c5465cd0f86806a1aba6914094e015aed8d32cb58d7a04b1fd3007beafc803a40396e980a4d019aa1c4996e99ae659a963e1a0c355da1e0b76c1bdbffc1eefefaa953070707791ad3b5cf129a86e660d28c6099569be4bfdd43b406aafa3c2f4cd348e25c3f32d3e049b02c3d890bcbd6aaaabe0495b3958addf09269a81875b382e3b988065994ba9e15d58f6692645c51c575b24a5ea008e8a5564b039a9115680d6e5264441e32d7908120866e8d87036e49d3b3b2e404f58565b42d680ad907f35950d56d05720801212004848010100242400808012120048e8580e802c7825516fd40081896ae99466dcbe7400fc8725480da2fc09e7aa5e81afbf314dcb5265067f653e8ab4695179d7653d12a3afc1bed1685f799b367f787c39befbd9704c1d2fa4a14cc75ad4ae3304d73db36e32c3b7dfa549ac6a3d1249c27ac76d78950e60a53039359aebb0a0902d4e7180aea3affa8d9dfb0f53ce1070c0b3ad5bec5e63f86025208b91e0c058ae237ac60961a8e994799a1d25ea0545949e56f9b2ead0a8c394cd2940b8ea288f985c16c4efb011fcc8ab85e53e35e59b0b636b038c20107cfe51002424008080121200484801010024240081c0701d1058e83aaacf9c110a02ddf6003bfc40a40f9ad13e65f4b022505765dbd13e747bd5ceb02b5811fd300f181097d01f3f97cfdc49ae55aa3c9b8d15908e3c86f772cc73975fac4a73ffd73dd4ef3dffd0fbf432a01ed0951125fba74e9539ffa14f5f9e1e1e117bef005520969ec1f8d4614e4cc14a068df7a6ff7c54f3cfb5ffce7bff9fbbffffbbc073522c9d27914307390d80264843acb30cd9abe3f1e8eb2245d5e5edeeff79112c835502a23457898a5a6c198042e53bd78f1e28b1f7bf9d2934fd36580c56061a1dd3f38f89fffa7df0b6bb542cd484f38ba296e90e6051e911b9acd66bd941c424008080121200484801010024240080881e32120bac0f17095553f080294ee96ede2bdaf3436d8334cfc47dd04a961b0a7ce60027a01346a6926f95173f3fc689b3da5b4b66c334d33bbd328e919b0ad924d7e5df937ffe65f9f3ab1f6cab7bff1994f7f4a53cbbdbdbdeb376efec2673f43058e10b0b3b3cb0acf3efbec77bffbdda79f7af6f77eeff77eebb77eeb2b5ff9ca77bef39d975e7ae95ffc8bdff8d18f7ec48482adadad56a7dd1f1c201c7417171f7de47c12c5440f0efb87af7cebef9e7efa699c059edbd8dfdf7ff5d5d73ef74bfff8fabb37fe97fff17f5532a5d9706b8d202d56d65611334cc7e6ba995280e160fbf666cb73a7b3d072ed3a3d91ecc338ae2a95b4c5841e0a6c06b551410e2120048480101002424008080121200484c0b110907904c7825516fd4008345a4d660050f2b38d5f6629f5b18649a0d489e2c34aa0515c7bb6c960c118fbbd46da1fde7bd372185280c5c0f6fd8d8d93db3b3b27d6d79322b55de7d9a79f7aedb5ef8551e036fcf9647cfacc994ffedc3f78fffdf7fbfd311e8133674e5eb870e19bdffc260d08274eae7eee9ffce2f90b6793f453df7ee56fdb9de668bcffccb397fefa4b5fe92d2d9e3f7ff6ecf95354fe241e5ebffe2eb6824ffecccfcc66937ff69ffedadaf2cad7bff68d6bd7affff23ffd279811161717d75737fefcfffeb383ddfe6c16616cc04df0f18f7f7c756d63ebce0e5906c41c6a4af9f18fbdb8d25dc4e9f0ad57be9797c58bcfbfb0b5b3fdc5bffa12a280ae6acc2ff84060ca224240080801212004848010100242400808811f4b4074811f8b455e7c20089456a5eb551c07b40bb4bafe7438cee9baafa581aad2d5b4ccb55c595a5d996e6dd6010386aa143a1bf2bcc130cd248887fbfd47ce9d9f4cc77999ad743b93fdc373274e6541f0c6eb97c3f9ece5973ff6faab3f3871626d321cc5657efbf66d6200fafbbb7956de78f75db52c6fbcf3cead1bd73ccb38b5be7c786773ebfd9b674fae5fbb71f3b10be769528883f96432b97ce56d4afd7036a741607b7b9b4683adddad3b77ee544546a6c07b376e2ff596b3144b8382a25132fdb0520ef6f649254432c005303e1c1455ce78c2a22c8bbd3b740d2070f4f7faa3c1189583b442ade283f27fd207e2af512e4208080121200484801010024240083cac04a48fe061fd661f86fb523dd56f35d9366ffa0d0205cbbc984ee6965907fbb3c3cf233be9cd764b3574dcfbfbfb07e3bd91653a250104d4e059d668fa172e9c6b2db49b2d7f3a9f4de693ddbd3dcbb12b8da187ca8913eb711ce1d567b86049c94ef41fc579519117404742fd5829f417acac2cfddccfffec952b6f5fb972a5d3ee8da613aafa5e6f21436cc893601e79cdc67f186dc8552d75977ef9977fe95bdf7ae5d5efbe7a66e3ec95cb57c787e32c4a0cc3e40cb42aacadada57192e6d9783c765d9bd044afe91170406041c36e3a96cd2c436c080b0b3d4624f6fb83209c21833c0c5fa7dc83101002424008080121200484801010020f2401d1051ec8af452eea884073a541a58d2e309fce17da2dcf76d8a2676a80e7310140274d8070012aeac5e5258e5befbd3f1d840e630131112cb51f79e4fc5b57de667ae0677ff11ff5fb07b424b0993f99cff8e0dec1c1e9d367f6f6fb59a59356389d8e17ba9d3c4f5101969757c330b44c1b690019627d63756767fbaee1bfccd323e1205bdd381186f3e974ce563fb305c9261c0e870813d4fc5ceab933e70d53bbfaceb54eab1505311240340d0dcbc831321455b3d9f8f55ffff58b171ea1cb8013f58703020b9e7be1596e97cb532b2d09a3d3a7cf3a0ef30e13c625bcfaeaf7fffa4b5f923985f27f08212004848010100242400808012120048e8f80e802c7c75656be5f02179e394dd58d1c70fdfaf53ade4fd37abddec6c6c6e1419f0e7caaf4ded252bfdfa727bfdd6e330b2009c29496805cf13cf5fcf9f3b663bdf6da957ff9affeb33367ceb8bec7d5847162dad617bef025c60afcf2e77ef5c68d4ddb76511696967aef5c7dfb6b5ffbdabffdaf7e9bccbf5e6fa9d168319e00d7c0dacab2e598a3e1f0e4c98dcdcd5b57debefcdbffcd7f7deddab5c160804871eaf4e9dddddd66b38579015bc2ebafbfce74839d9d9dd974ca25111f4054e16c3c2140f1fff8df7fbf4c0b320939103b0e0efb5815d035101d1870c0c7b32c235e102703e608fe1b4e03a7e1e6180bf030e4e217b8dfbf25f9bc10100242400808012120048480101002f72220bac0bdc8c8eb1f3e819fff959768b92fb2dc64a6601499bac11e3b95761ac52beb6b14db3bbb77de7efb8adf6cf022f6fe9b577795bcbeec8b8f9ff9d8c73e46c94d891e4431517fa669d30870f9ca55db710f0e0e922c5f5b59674000a2435555f3f9b4d9f4b777360ddd3a71e2144b910278b07fc8d95757960c4bc73bc0f843cf71d8d5a7aa6776a0e3793ce2144017585f5fa7aaf71bee1b6fbc716ae3046d05bcbfd35de0578eef59ba41d9ffcedb5759edc2b9f39ffbdce7565656363737bbbdce3c08385110cd59f3eb5ffffa6baffe808b571940a0280ddf432fc8929c418c74397cf85f865c81101002424008080121200484801010020f2901d1051ed22ff6a1b8ad5ff8e73f4365ac2b8c19accabc741c5bad546206a8c6554d9b4ea7719aa00ea011301460349c0ef68679564541f2c99ffd44b3d1f8eef7bef7d8a38fb2a5ff83efbfe1fa8d30886eddba5524a962d84a867e80f15f456b48c2903e025a03d22ca726d775a31e7ca8aa55464e41fdb35264354e8a7b45673f9f3332fd90e107bce67a44038447b57c3d4ed0ab8711265cccdfe3e7e37c4a370947a0eb817186bc8e8fe0ee2442420dc2385a5d5d1d4fa7bc426c212be749c29a699e17ac7f14a3906459991e5dc0df2f2aff1102424008080121200484801010024240087c900424eafc83a4296b7db004e66919c799ae9be3f1d0d0cc5ecf7ce49147e338dc3a1c319220aab4b05008091c47298e7dd201d8c07ffad29358f59334dddede7ae9e32fbef1fa0f992688a1607b67f7577ff53f39f5fefb7ff3c5af28658626d0e975c7bbfb899abef0f1e79e7efa69cf77befad5af5ebf7633ab250345b38c8a6987462d0ae88e592419f30eea57181ca8e945c984044db1ad7a44a27d5765a87586901fcb4ab56d5405848c5a80402d480bd5f629f829f615c388fb23a53a4471e06d840ede787f532105d17114cdacdf603a5194b1326288d56cc4d319eac0074b5556130242400808012120048480101002424008fcc704c42ff01fd390e70f1681e7fed967e8f6a7c99f58c1d160883f9f2745511c0e0ed886c781cfbe3d4dfef33060ebbfd568ea05a30acb16817f51c46ff920d307f9c8fe7e1f7381e7f8b6e5f2fed96cbeb0b0504f37180f2c537ff2c927345d712d7b3219dfba751bb300be8038cb1dd38aeb1983ca3c9cb11aed06251a83a6f1a41e28c8678e8ebaffbf2250b0c90404861a3089b0ac0a76feb3342f2b53d574cba4e0bfeb20604ea15a54052685920b2d95a30e02cfb08df93cd4753a06f4224b0dc3220491c687348dd1440c431bdf7cf7c1fa62e46a84801010024240080801212004848010788808885fe021fa321fba5b79f193ff74717111033e653fbd0398edd985a7da4714a076e7119b80c6beba6353789b864d851e05217dfefc8a54428af30b2f157c8a15500a7cd78ba31471a1d96c1f85ff17b4fe2771a06b4a924459122f2f2ff7ba8bb3d90ceb7fa5eabee3330111fb80699b680dcc3f200e90f3da9e8b2e30381c32da80b310228054c115f29c41879c9a79046803795e1a9aabea86a6d4ea1b87a2a006285999d9a6392753c0f6d22249e2cc764ce61a302e51578c224b5004d0053853a341a081474ac243f7c5ca0d09012120048480101002424008080121f00011105de001fa32e452fe7f0436ce3f4dbd4d11aedb66cf5d743d87a10314dff52b1a8dff6665c7ecbd3b9ecdde3b7a01e682e5935e1dec4fb2bf52bf625a3a1280e138ed660feda0d12443d0c06570e6d12778cf7c32b4f24ea7dd745d1b5dc0f33c7c01ad3066f71e1da1d21dcff73d43a7d4cf94222c72da0a74c76a7757965bad938fa21e28f37964f5b6f6f7f7d120501fe82de0f2a8eab50a6301453e1e039210ea43a93008943c41e5e04aecbc879cc1cae8055c30ca02a726fb00a58391878c2ae0575c4f1d61c8bdc9210484801010024240080801212004848010383602a20b1c1b5a59f8be094439dbfe94cc4ac2a4be520db280e29a8299e29a0905ba691bfc976e7f4d259c2f2d99f35745495c7b076aeb7eca73cfa31bc0aa5846212220b6dd96c78000cb5a5e5e659d325b63c081ef39680384feebaac65c00b6fac7e329830c0efac3d12c50f5a3b2dea4e6d72a530f0f47fb87b356a76d994e5a101a90c549969416ed037aa5a95ac5d52a8a554b0c7ec336ec6036c78cc0c57250ffe7299685c2f71b9652ab1b0c1ce0622cdbe566704670770c38e405ae8ddb362c971685208cef1ba42c200484801010024240080801212004848010b82701d105ee89467ef1a113c8940a0fbf63f9f51e7c5eefc3eb06fdf6f5c16e7f94c554dad4eb74e613faa71a1a930367b3291bef75e74186ed3f4ff3a2c908c3282405c0c12d60dab8fc2dc7cd8abce1b74a260f14151982719c54457e371d80edfab5b5aee3b8ddde14d5a03ee2a82ee9b988a432540be77f7f6f48f0205a05f53ccbf95e9bfe023ecee63f3307e80b60e840a7d5362ad533ed2449d8ffa79d814402fc0ea406a03eb89e1d85095e06ec000801dcde6c44ff025a859a84096e05eed1d44c16e4950ffd8b900b10024240080801212004848010100242e0212620bac043fce57ee46f4dd57276e02b2a6ea5a023c0762c9ee6e4fb25b165199ea35b2d973e822c4fd284c29f2901956edb85aec569c62ebfebb7c379d01f4f8eb404b6e53df20007730602cca9d2bbcd48297243a96c53cda320cf224af4c29f9759db75fc85a6bbdc750ba201836238198f46c3208c7a4bcb5ea385d6708067200c8f020354f4822cc9b01550c3230dd42d03aa1e8d67e93460d3df526ba7409a675a91d3add0c00be0984d4c0b9e5a343dbbaa26a3b16b3bbaa70f87633403e480208a92d9acb2ac4158b73370a91ff92f526e4008080121200484801010024240080881079880e8020ff097f3537f69ae534704b04fafd57df88569585541055e3904103214200ad33c296bef40e59886860ba02a1b4d9f940146fb559805d2b8d569cee7f57e3bd57591951a728261cce3d8add4c97c66b057af57718892503936ad02e40560fb4f9a8d36d98447b983aaebe8cb468f768428493a9d6e3da7b0a81a8e3d0ba2e168320de6c800865d371b948a46da204f702b54651147518b1b20cd40417fc8f218cd006f422d2604981f32872b714c3d317453557a0b9d4ea3895d807b99cfc2209c311361341e1471ca10859ffa3f040120048480101002424008080121200484c03112105de018e1cad2f749c0d235cbd0f31c73becea0014a7d46003a640ad4067e5db76c0cf996a1d519810c2a48d95a778a22b494d4f6dd3cabe234705b6e776d713c1e9765824e9057397d076d3e45055e1658f54bb5c47fc0ff0d1a6cda6b651c465944115f86716219b665db24053086208a63e605bcf7fe5576fe89265c5e59ebf6fcac0c892254356316cc590f31a26e68209f80eb542b6611a268645cbd7a246b206464559ec5bcc888441a0d1cab2ef82d536326c278547fd2b4ec8cb988baeab77cc62bf86db7cb3806a61bc8210484801010024240080801212004848010383602a20b1c1b5a59f8be093073804dfe3c231ac02d7426119a94d6b4f41b1adbf88ee12a54d7b66504c19cfe7f8e284f83e98c7c01c7322b52fb6c2b8f63cd73579757269349b7d59e4ee64c2a68f85e12a5ad66334e9346a3a9b79b2414f8ae936789ad1874fbeb6415681a0d020c11d08aac8e048813fa031ccf357293db1a8d064c23e04d0bed669ae7bae6d147507fd034c80e8c9288a606520c95b4f26ccc0de4231ac8123811e883b00c4b356bff028b122b50e71a1a7a810f423346d3499a15380cb222e5361716daaeef4d26a37efb89930000400049444154fb06290b080121200484801010024240080801212004ee494074817ba2915f7ce8044cb6e26733cae9322bfc669bf43ed3f6d4aa68367c857df592aa3fd6357b6d6589da7b3a9d674515c6cb0405322980e1006cc853906b958a6d9fbe8022cd7cbf49d56dea967714f58f1c40cd8fb8408ac1e168de6a3734c76496604158415a7704d4d10065897c403aa1817dc0f2511f7010d4aa412d07189c054abc6d3a9df0e8355c5404320f740369c1ccc35a5bc0c5405f026d08040730ae802988ed662b8e53c7740cbd64c152c955db9e4c67795ad549048a8a2e40c6003287e3fa419a7ee85f845c80101002424008080121200484801010020f3101d1051ee22ff7237f6bfbbb04f61fb2f7beb8b4341c4c29e097979731f98f4733ecfaaa52343c4753ab4155351287e900c13cd60dabe1b7e32c657c609e172a19809a1e86098bd4228161e2cf9f4f675aa558ae851fc134edd92ca81dff45351a85bc83267fb20626f3392bcfc2280903620bd102e274cedc4145d7a2708cdbdf775cd5d0abbcf09a8d2c0ec90d88838878029d11834aa19615da81a95ab6e5220144e96190a49d4e4bd5ccd448fa0743d7b11a6eb3dfdf47ef68b59d208afd56bbc86b9da24e2f0c67881a21ee0823b53cff23ff45ca0d08012120048480101002424008080121f00013105de001fe727eea2f6df3d6d6dd9df9915a7be9d3389b4de6795187f6b3d54f4b3f1d019e6f99a6dee974500d72454f53e480baab1f77be65397c2a4aea4400b6e5a9d5f98c6d396a532debbeff9278824aad32ca6ff209948a5984cd660b7b424a42a16e915d58e484093a3aa603dd6629cd3047937191e536653d69810c47488b4a4f7dd7530abc017994e05fd09aed86659809c30482248e58a25ae8756c4365ae22a3065cd3329b5614ccf30c0f02130a4bd5d44ddbc592300926b42730437167ff80c18ba80c1e3d118ea33c76eaa7fe6f410008012120048480101002424008080121705c044417382eb2b2eefd13d0726d757595cd7c5c03a7ce9c7ee6d9a78818bc7cf9adaa5275554fb278349e8da615e3051716a2a5a57ca9db3374caffac488a244e4dbb6ee3a7aebeb3b38f819f829ffade713cc7b2f10b60fbcfd264321be31ac8cb828d7ada064cdd9907010284df70790509801526713c1aced11d6e0d768320e8f57a9aa91d0ca6759081e34d67f1d6f681651b0b0b0b9ee9d0c590178665bb69c94043955482a2aac6d3d0c28460fb0c522cca324da2282db676f7d017c2605a4d501f8cc168b87fd0e76a31421c1c1c345a0dcee8b79a2c78ff2465052120048480101002424008080121200484c0bd08882e702f32f2fa874fc0339b4aa63ffde453a3d1881180b3c3097be93afbeb94dd9e6b6676dd2fc0767f564de659a5cee230f71c97fcbfaa32944a278ef0b03fa5ae3e38e83325803082a6df08995b8828a099eb1bab67ce9d550a832c82fdfe80823f88c22b3f7a978dfaa5de328105b5a53f2f580d31823683eed2c2cddbb7169797ba4bd6fee1787b7bdbf7fd56abc5fad80d344dddd91dd06ed0ed76db664325c2a049526214ce037e3567ba41a5f6c777e859c8b9de2c736d07eb01a243c29004ad9a316d415393384b303a581a1fd62cbbb9d0435698ce0e3efc6f42ae4008080121200484801010024240080881879780e8020fef77fbd1bfb3132beb9b9b9b6fbf7999960136d2c7fd0143fbda7e9ba67f4b352cdf6e68f5f63bddfe86691307309f84d134a2f5804603da08c814984de74c223014fafc4d9347cdcaaa94a8c02a5793597ef547ef9a8e8dbdff705897f45aa68d47f395b5d5fece21a28065d9a411308920cb52bafdc7e379c4ec81b63a1d452417b856274ff2d998d4802e818894fab76edd4ad33b8f3ff698c174454d679a8069f89a9eb7163aea6c3a1e4d6fbcf73e1283ef37b8b0341de22f68765692e1802188fb8793a5a525db31912178dd724d0217c3a0ce1a280b9953f8d1ff53963b1002424008080121200484801010020f3001d1051ee02fe7a7fed2de7af33242c061ff80317e47a98138fd552a678df040d7d12c53b71d92002a5561c800d601a35414860d52d3d3025054a669b2a5cf9e3c410384fc974539e80f921087417d6cdedc6cb59baeef67315bf66536cf79310f8b681c176999c5b9e1da0c35ac62d5504c353792300d83e0bdc18dad776e730d440384e19c4c41d204eb2000cfc33890e5c97c77e2fa6ec3f3d73656692e306d239a675b3bdb83c188b3589657e546c36bddeadfaecaf96cbedd1f1caabade70173acda532cf712d1cec0e337c03796a7bf6d9b3672f9e7feca7fe0f410008012120048480101002424008080121708c045436248f7179595a08dc07817ff01bff7d9c84b3f1f8d4c98dc964549575b73f9533d53e1e818a3040df530d4c00a6e3b8e8016a9633c5f0c82e4030a17eb4d9ce43451620fbf97aa5e31d60d820f308185868bbb5a180f002fa089acde6783c25b0d0669d2c434720a19027bca1b61e30b9b07e67eed816730e186a70f79eeeda0490037882a660193aafc771886ac075a6456a3906330e17167bf5bc83b270fd063ff2ce46b3edf81eeb4fa6730c0b1cad4e9bb3736b3c7a042058c6d2f2225e077c0786a5ffbbfff2b3f741513e2a0484801010024240080801212004848010f84904c42ff093e8c8ef3e5c02640518a66a9bda7c3e35990a601a64f9d9bac608015da16d5fcb83a852f3525367c5a82eaf158d7c412a7aac02c803d4d8655eeb021cdc88a55b6dbbc173cb6f6bb42154d80b34c5a8ffcda3cc33ec4ab79452b3744e40e840a16313302ce206f888aea81abf8e9586ee33ed00d1214d7233af94aceaa89e96285ee59895ce19add2f675df52ac795a6aa5aa9666b4336105c60d04c59460038486683a9914039208d338b51a6a5046c3f7f60dcbe4dcbc3818f4d32c9eec0d86c3435c045c80a2882ef0e1fe25cad98580101002424008080121200484c0c34c40748187f9dbfda8df9b6db3575f199aad560cf7334d4d570b4aef9c0441f6f04910a890064a852df598690279e558c401b00d9f943ab30c2df6fc2d95d60383f905ecd82b7989e3c0d42dc60d32a7309a4594e8799ed4ce03f2fdd0088ee4039e6321c062003dea7906196aaa4a5c81814090245aa918a566a8b5198127a41bf24a5df6176514448e63b51bbd388d82d99464441404add2cab256258826e48d0a6a83a265714c6ec06c14a10504619d3ea827b9ca3f511a8ea77ec3eb986e34186a49eaeb2646898ffaf728d72f048480101002424008080121200484c0834c40748107f9dbf969bfb6d1b88f279f303eaa747aefa324560b220494bb4307b2a2ccb392d800cfb63cd3f0dc461a133140133f798126fe825a0ba0d940d76b1dc1309442c1c39fa661dd1aa0aa26dbf0391faf4c94037e5baafc8eaa9de480388da9e7198658cb026ac56feba8c2aa442160db3f2fcaaca8870ae87420d496039537a036d4210525930d512ab0322046a046e017505899b3a039a053e4059fc92a5d653925af6819e0765cdd6e34bd422966d1a41e98384e682e68bba6bfd0e8efed7ce98b5f50feb7ffeea7fd4f41ee5f08080121200484801010024240080881632320bac0b1a19585ef9b006df634e687514aedadb3f34f76a0c2ce7c419ddf68b4a220a4d2e60933090f4743252b7ccf238990129c429d2d7d7401de8044e0623c306a99802c80384c48312c28e71585b100655df82ba542e1cfea15c30db2aae45c6ced570c2d4026a89d0ab54080110171818c432e8592dfb40c164724a833086c83cbf25b4dfc00b3a8b621589e1327112107ac8a14803d8137a350d43684aa8cf111187abbd9703d873733cb9040822098d966b9d2edded9dd8eb3d0d2bc77dfbbf2c61bafe5b3c97d839405848010100242400808012120048480101002f72420bac03dd1c82f3e740259125336eb7586a08e939f721d07809666aaa9d044300f0694fa4cf5a3ce9f8c87d4f48e6d62d95769c8a760af94244d980b880b60717109977edd79601b8dba7780ddfeba9ef71a6e92157992924340c29fe9981a957d5170e394f14abdc95fe555ae1ce90baaae4479a2121040c0a0563b12f82d3184699c97869a95b9a2eba669117c981619bd03f578412c064a5e600c50f94945534018e01f937e0855c9943c0f67dc42340fcaaa5d64216681517fbcd030cb2a7ff595af6f6fbd5fa4014ac887fe45c80508012120048480101002424008080121f01013105de021fe723ff2b7c6567ebd9b5f6fec17665d743b75b84092f516bab40ab0f93f1e8f31f673780d7f61a11d4421b53a257d3d11c0f19b4ec376cc308a66c1ac16058e0e15d980c402dbe4a7601e1115a0947a349b677152eb0677730c28de799fa6d21a404600ee02f20f353ea2d003804a401f418c7ba1a460e77db806cadcb26dae07c58181859c9d3e03dd509338a1638013a169d46a013a4511956a452e81e1d85c78a3d1e0bc76bba1570567403e9887c39bd736b7776e8d87079818702ae445f691ff22e50684801010024240080801212004848010788009882ef0007f393ff597766263633e9f1ff687719c74167a7ea3a3ea46318f86e309597d96e71b6190e6f5c801dbb3932c5e5e5ee5391e0106fe310f90129d21800dd34fd37a820038f10ee4b4036804189a45419f408119c161d2a1a186732d4f692fa8785e7b090aba09a8e771ff1b4c1ca41380fc00d7b48d82a25ea1a7800c4236f291052cdc09057603956904699430c2c0f18c12218009885c0de2013601cecd73a54232303d0b5180eb0893389ecf685eb02c9b2442cb2ab7776ebcbff9ce61ff8039078a92a058204a904ff053ff87200084801010024240080801212004848010384602a20b1c235c59fa3e098cfa7bbeefaff43aa3e92c8bc3c968c82801f6e7f3b2188d46b4158c2633fcfcbeef3ab6371c0ee761dce974eb787fd366c7fea8ba2f5101ea0905651d37508705d629835a9c221d44b6e5b2f54f1a80ef7acd954612c5bc18a509830f3026f009cff674c607665a1c8745841210d59e02dbae5b042aa625261806684360db7f3a1ae33558595a26943023bf50afa3050926409e200d21555453331b2d7f656d63757d85351125f038104fc0f5dfd9d97ee7f2db07fdedd75effdbb298b3368988b41de093e0df7a2539848010100242400808012120048480101002c746a09ecd7e6c8bcbc242e0be08b44f3cf5dc8b2ff4ba4b956264951a46994aeebf6690e94f2f3f0201c53f4e7f740186088c2693f93c440de8743a4b4b4bf409f0062a7cd481e9744c46c1a54b8fbffbeebb7114704d68048802e3f17ca547d25f6f7f7f1f1d00ebc1c58b179324219d90276fbef9c6f6f676abd160056afb973efef16bd7ae710aa40a1e1dc749c2a8d359a0b64f920c23008eff384b19554843016244bbddb26c6d3a1ef2fedd9d3ba80f54f85c36618a381a965696c84be032501c12da0bf2f4eb5ffb7c146e6b3ad90439d2061a058b94476107754c811c424008080121200484801010024240080881e321207e81e3e12aab7e100448ddfbdeb7fea6d9ee3dfad8e3a7cf3d66a85a48c85fceec41a3dfdf6f36db04fa4fa7f1ca5abb2aca464b59e82e0f06235a00d2b4f01cbfbe840a973e86826696a4ad5667a1dd094c9d425dab9811e86f29bb9ffd47fff0c6b5ebd7ae0f1f7bf4098cfd67ce9efcd18fde4ad2706979819dff4b4f3e661be664323973e6ccf2f2b2ed1837debbbeb6b6815bc1322c220f579756d10ec8196cb7db7b7b7bf811b8281e6bcf82ae9f3f7bee0b5ff84210254c49304c9a10cc56ab75f2d406b1088c48b01d2c0cb96d197ed3bf7debbd9ffdf94f06f3cd57bef515de1945b806ea6082a20e2f903e820fe28f49d610024240080801212004848010100242e01e044417b8071879f90120501579cc94c224fffe6cb6bb3f3873f691dee24a51e9b37940819d24a9d15df0b51626019a08ba0b8b45a5da6e83bd7d5537fd469b8a7a3e9bd14e40706051120360ee1f0c5f7ce9793e4b8e60bbdd6c77df0d924992cf1b1de7d9179f1c8e4796ab0ec6fb1b1b1b9a595aae76e6fc46bbc9db5bdff9f62b5e437be6b98b5ea3eaf57a51d45b5b5e1b8dc6a3c161bbad3ff3cc8b9cf4e4e9eecaca4a7f70d0eff75757570ffb631a0882495c27116a6e9ee44c430c66f1de4e3f4ee681a15b9686347018065b776e67498453603c185b663d67112f03f8d324453d88b3f801f82ae41284801010024240080801212004848010786809882ef0d07eb50fc18db55bcd222332d0c893e4e695b7f0e42fad6c741616f105f80bcddd83becb6ebb61d8aeb3eeb9f35998a7f5d6fa6c363b3c3c64f81ffbf9f4ff33bc900d7cd3d15cc7db3879ead4e9b3e13cc0eacfc441a2011797176fdebca1688a6e6ad3f9844d7e420166b309b100151307d338cbc90dd07b8b0b8e63bffdd69b172f5e585f5fbf76ed0611864c410c82394e8120981d1c1c50c3379b7ebf5fe6cc30c8b3c968bcdc6debba9da6a5effa47610719dd07dd85f66098185a1905134afe0b8f9c3938b835ec0f14b50e1a7cf6d9674f9f3afbf695b7ae5cb9eaba4e1425dce043f055ca2d08012120048480101002424008080121f0c012907c8107f6ab910b534e9e7c947a9b91008d567b3a0bdc46332f14db6f9d3a7dfef98f7d8cb8815914a77961210c783ea1004aa13a8e3b9d4e0915ec761688f4a3aed6d58ac601c482c72e3eda68f87112924a40e20056ffd17870ead489addb9b93d9f499679edbeff71dd3b971e306f104172e5cd8dfdb433ec059404e21fbffbbdb3b8787c313eb1ba40cdeb9730777bfefd02c602210a026904ac063bbbb40580067d74d63d81faf2f9f7df79d6bfcd8f0399b4d47c38993ab6b2be81afee0709f710ab7debbeeb81a6d0ba40c6469f4f6951f5465faf4d3cf5ebb76f5eb5fff4659e5e81abee7ce82baad400e2120048480101002424008080121200484c07110105de038a8ca9a1f0c8196bf482f403d19c0309830b8d0ed45691627193301ba4bab2fbefc49d53477ee1c78adf6eafa06128052cf0accd105984188ff9f0d7c36dba9c8c9f53f38d863422116005cfaecf0cfa7632e9184422a7cea7c86094e1819a8d6d103dd6e77329c70da56a34d8a81eb38c414127648ca201ac16c3ce18324022aa5ca0cc566935cc206a24056e4440f72b5a6694c83394f54451bec4d9acd2683054c4b433560cac0ca52d776c843245c30731d757fffced5ab6f06c1d4f39da24875ad440bc053b0b9b9a532cfa0523ccf65444229e1a01fcc1f94ac22048480101002424008080121200484c08f2120bac08f81222f3d200416fc25ca786a6c4a6562fb28f8e9085034a3d95a98c7c98933e79656d7167a2b85aa3143d0f61b7ea3c5a842d2fe891e603a00a2001f441d188d264f3cf1d8a3172fdebc79133f3f698488054f3c71696f07b1a01c8c47aeeb7316c61c90088847e0eca933d4fbe3e198b23c4fb3d97ca2166aafdb29f3743a9e6061d8dddd7df6e9e7580a69005782aa568c4ea4f2471d3879f2248ba014303ab12ad4edcd2d820955ad54cb8a3481e79ebdf4ec734fa6f18c51053f78fdbbadb67bfad4fa687c88f4d0ee345ffdfef72e5dbac482bffbbbbf7be7ce010d0479aeb07c9a48f4e003f22729972104848010100242400808012120041e4202d2bafc107ea90fcd2d395e1b977e9965bae93211e0689a60ce344155d516ecf6f0e0803b6d373ba5aae955d570ecf97caa5be6f262974fd13840814dc18f83a0db6b9755e1fbdea54b4fb0d58f6b809cc256ab69e9c6783c3d7be13cefa447001fc1adf737192b70f2d489c5c5c5f17044362132036204830f22a2047c4fa90a6205bffce52fafadf73017140c3ef09cfe704096c1e6e6667fd07fe9c567e7e17cf3361bfeea9953e75f7bcdc88b28086761384fd2e8cdcb3fd8dab911c593dbefdfd8dbdfb22daddb6dd3dac0c8450e0485bffdd62b5cf0eede816e68794152a192e532a4f0a1f98b961b1102424008080121200484801010020f2201f10b3c88df8a5cd35d026b273f96a72985b765ea711050d21301881da0d3ee6a6407c4697771392f2b9eecee1f989eb7bab1beb0b44c0701a535a6012a73d7f5b00c50d8a3145075afafaf611f4014c0de8f41809e046a7b061ef05bc3309929606a26b18254f8f8148812405c48e364a9b7c08befddb839d8df3f7962bdd759b87dfbf6e5cb97d9e467f621d1009caed2389b5a2a054a44b7dbb11d8f610469526073209f10498208433405df77df79fb47d7afbd8567415173a542e3a854adee6ea86866d00da5b63328aa61609350febf09855595ca9f841010024240080801212004848010100242e09808885fe098c0cab21f0081479efe38bbe88e65684a459c1f21ff559953bdb399cfa3329a2aba6dd328d0d0f3cacaabb2e12fa81511803955b6a1db5c4196566912d25060999eeb1411230dd352534da5d2a9da554589b314d580f7d765bdaa0651b4b3bb8b764023c0683236181e98657bfd83208ee8f7d77463389ab202731057d74fb0cfcf0729e6173a0b280b54f8c40d223710916844091a86a2e969916b96add44305ec5a02d08da5b50d521234ad24a2a0aceac883fa75e20414c5746cba180847d075f548166016834994811c424008080121200484801010024240080881e32320bac0f1b19595ef9780d65834f0083010c0d01ceae7aa542b660bf2a8b44c73f9949215341964aaa2af9e78c4f6dca3a2ba60df5dd554ddd28f5a0648efabab6e02050cd3ab37f62bfafc3555a3de66ad94e0005d73b021100760db6564252811795119a6390f52cfd1d8c4d714da0da286ef9f3afd38d7e358f5648153a7ca2c4f588db350ba1334505f98ae2158202e7046a408cb728e9c087c48cbf37acf9fb53abdf5279ff99861e8c81d88024777c05cc39cd3d609886579247558699a310491976b67811c424008080121200484801010024240080881632320bac0b1a19585ef9b40a6988666446cab27a5a9ebd4c76a89c55e4fa2b84c52e3683a6059505b27aeab1a414a4c405da72bba4af87fa552de3347803983680761440ca1854290e559427861cc8f7a51f01e76edcb2ccc264a3d6e90510354ea4c1660295331bd66b3d335693ac8395dbde76f2121f0fe284f595933893560b75f1d4f091a64dc41c615f2b96e6f0591821084342b2c96ab7274018c047810101d0c9d810589653352d1b00d5b33549354423dd5093eac743407c7f3b892240b140d7141b96b25b86f96b2801010024240080801212004848010100242e0c713105de0c77391571f0402d4cd38f3d94be7a0e4a6f59ed441b3544dcb8d881bc01950b27b6fe58c1fc8aa208b3535a2a2f66c0fff3fe682bafe5732ca79aa710eaafd4aada8de8b02f7be5ac716d80dec07b8f82b6621d6f302a8fa1dca7e5c00ecf39ba6a71a3e6d02514ab78091c4ece8cf301570314c4b6435ba1b78c2cabcdf72ec6e6f0157023d08b6eb50e287619c0691edf80410584713138946e09d5c80ae9a95aea4955ed5430c74dc0d9aedeaaa7a78788026a098aa5eaa496994ba5b9f2b91708107e18f51ae4108080121200484801010024240083cb40444177868bfda87e0c6f23454548b4e00f2f8d8acd7a8f655ac007a6dd4d775dcfc654e616d9aa54231de36db4110d48537957a56d7d2257d07aa46ee408979c0d04b1a079016ea4d789b0d7c8c07695eb29a8309c0b17113a02030b63088c2248e4bb2041c7712844596f06654003a05901b5cc7e2473e5d3027a062f35f6fb69a472282e9369baeeb24593a3a3c241c314dc814a4c44fe7d309ae050403b407dc048818b505205794ba47a0b62bd4578515424565288b284582202bb1d24cc5d0b021ccc2e421f82ae51684801010024240080801212004848010786009882ef0c07e3572614a954d4bc520ac8f621e033e9e81822abfd03512050c9dad747401660d6aa6a1940581ff580032c201321a0828bb49fdab2b78ba0a5008788e4c40ad5d8b0bf5ebb80f3236f9eb4442cb306dd654e39c688090921ecb406d2e30593eabd8bbc77c60549a4d97819ea13450c19705e306d0059a7e43459330ad280aa2e10055228ca324c9901b582189500cd22c4911260c340dce8d3ba0fe6ffd041982e77951bb2178c28fdc481007f368ce73aeffae738147f9531002424008080121200484801010024240081c1f01d1058e8fadac7cbf04b23cce0b5551f57a0aa062f004bb00b5373bec9ed3e0c51c91c0a8d8e9470b503426ff6536dbf98e4d1dfe1f8e522d4c8d925ea1d11f9f3f0539953abfa5f13f29799acf82f1dd5e002a70d6674bdf32f43466426140c9af6aca7832c4fc6f5bae693a55dd4e40f3416ee898080c350cd23c230581fa9f5350f06302284a85b107f320412fe0750c0594fd47e57d390f233e154531c244fde6bc1eafc0232202d78682407422eb700dbcce73dec335dc2f47f9bc1010024240080801212004848010100242e0de044417b8371bf9cd874d60360f5756560adaf85352060d8a79c2f951054c62fdcbc2b50df76840207dff4c31a456c7e49fa675c89f695bd4ff3ca19300633f0902a40a300c80f68230cbe234a14a2f15caf23a3590dd7f3eab572567e9b49af3513dd7b07e7f6504aaeab90d5337900f500374bd0ce3988e805a5c481336f8d10bd224a274af97c8ea45f101f05b0c0d0aa105e41f183aa7e3157ec7fa455e26151fc90c9357727a135881ae0148d30481d4407402ef44e12098c0b23d6e990bfcb0bf0739bf101002424008080121200484801010020f3301d1051ee66ff7a37e6f380246d309dbe9d4d5167d035949ae3fcf29a4e3703e9b24ecab738f75595ea565554ca6f32acf70e31b3122425d4e578a46994d494f4daed61304c8204459a84dfb3410603f4892d0b68c2a8b1bed66e9a84a16d53fcc668ee3311fb12ecaab9cbd7e0209580521a0ddf4a9e45112b8862cc63c10b65b0dac04fcc88a6cf2cf66f324cee861e0a0af014302efc762a0e20fa88d0f081a75ca00053f97e0fb3e720037582722a439efc1b0c039b10f30b39083f7d462831c424008080121200484801010024240080881632320bac0b1a19585ef9b00fe7f06045236abc4f5e5f59800fe5e8915a0b6a678a631bf2a8800482b76fbeb11830a15782d223018302fef3ed774e61bd2c96ff27e0e5a0dd88c67b2211bf24aa545b33903049aae95e9856328499ed3f2dff47c436bcdc33098cff878a970058569d8ecdec7f3e9c2e292ebd86914b31a6309c90798d743071af3e1e8ee18424c0a94f77912f3e3648a00814250ab004c28e00af9148f5c243a05ea402d1e1c5df9d17f0b6614f271de70a41a1056a8f196a350425e93430808012120048480101002424008080121702c0444173816acb2e8074280dd720a69ec00d4c9c4f8f323b574c0867cdd9f5f1fbcc2863c8f473dffa5ae99a54646405d7bf3c81b783f7bef96550f17249e80d759892100864ae440b5b6dc255270369b285511e711c68176a3498f0225bd53cf102491a09a85113684a37842d7723b73dd68b55af40990115054753ce1e1e1840cc2bba53ed749854f3dcfc1b9b2b8ee11a087a01629b27a9c212f72a9bce7e88e6abf837d34e080d7b90b9b2be09691158ada62108473cbb4e938e0b7720801212004848010100242400808012120048e8980e802c7045696fd0008b0d77eb7bcc74b1fe511fbf6ba8a9f3fa3724e937a7a9fe779bc42ff3f653685badff49502bb0066008dae0153371d87b04046036205a833ff791b7e7d1ef914ef8a83b02a52c732d6569679ec7517fa77ee1cf6fb1b1b1b7c8ad9078408223ec449b6bfdfdfdaddd74b67dcdfcd93c0d02d02078230f61abe69585801389b6b99473d0b0800740dd4c5bfa7bb75fd1f85b80358071101b7429e658a6af89e1f27219607cb68706db3d98c3c84aa59a127a015f05830b27036e75358063e0094b2841010024240080801212004848010100242e01e044417b8071879f90120c0ae3b15350536553a553df9fc6a6ddde7a8dbf729b3e9cf27b69fba9add75f6e48f7e5527fff30a8f7c9c17effe8abb611136f2f9975e02ccfe8c3e742d358e52448577afbc79e3ea3bae6d8d0687cb8b4baf7fa7deffaf54add96caf6f9cf4fd2673043abe959571db6f34bc5a29e82db41dc7aa14c35b681027c87443c205988668db9e567732d4e307b928ed28ca80b3131cc071d456a0a338d46a45caf0c5fae052910f703670fd64282a4aed23606002f79e24b307e07b904b10024240080801212004848010100242e0612620bac0c3fced7ed4ef2dcf9222cfd4cad22d9b2900191e81ba88a6ec8fb935dd32d5b20867738a6aecf7cc26a4d78012bb4e10389209a8c379c26fc379c0fbe947b0d97baf0a9e2319d4818269653062603a1f1fee931d30ee07cbbdeef3cf3df1b7dff8e67034e66d83fddd3bdbef233274da0b9ffeec2fdd78ff8edf7056169bfdc1c4b534cbf0274194c4916e982cc8e9eaf8026202d592e843648b704ef4006a848d3c11457500e1d1bb74dd568b32e3fdbc8717b9428c0fcd66334962b5d2cabcca884d2057a0644862dd71c095c8210484801010024240080801212004848010382602a20b1c135859f603208041e0ae5380b5eeba037005049380e7eccfdf2dfec9f3e7c7bae6370cdcf8d4e71cecd573102640d400d9849eef9459ae54192a03c9028e6d51879b46d96d3b96aebcfbced553ebab4f3d76e1ad37dff01c673c1c3e79e989eded6d2a764201501ca6f35959c6b6515d3cbfae18f6a3e74e2c2f75c3a48cb38a53c7391306f003580652033684da8e402062ed53e0a28e2c00b598c13a1c9802b8237e6471cc0e48035c3f6d0eac73a41a308fa03611dc751ff0e4eeed7c002865092120048480101002424008080121200484c03d08882e700f30f2f20340402d2b461228653e3c3ca0483e72d757966d66596a5a066901d3c9384b891b5072cba284aedf702404f0dcf73d2a6da207b22a6137bf34148de04155d135d5b78dc56ea3ddf2e79303ec05bd5e7b7579d136adaab8c47b3029b00ed682681e545aed38f046a33088befdadaf75167acd85eecd77af8469f1894ffdc38d53e74c73b27b308e92d4b29d24ca90086ad7c0917f2149135c030ae6853265c62191071cb5d521ab9d02581a7801c1802736e7330cdc108ee7411d4f010282ebd6d77fa46e3c00df845c82101002424008080121200484801010020f2f01d1051edeeff6a37f6754c5580678bceb0e60bf9dedf4a36ab924e7dfaaa71330eaafde87e77536e1933c6546409161c24728a0f9bf30748610547806d2386afa5eb3e1ecefee5c7ef366349dd661856566980aa3105796c81d3447a311c308f8386b73d2344a13ba188e36f0890ba8ddfcb76fd6430d5443a9f4fdfdddc79e7cfed9175e3eb9de3b389ccc83043f828e36a11ba8034992d10590a3591c1d7c147d81356b5de248bfe08eb8608c0c780aa2388862a62daa4114dacc27b06a4f81ebd68989dc3e6e828ffe37297720048480101002424008080121200484c0834b40748107f7bb912b23788fda98429a22191a14d2bc5257ec694ae94e86003533797e255200adfbba8e2e40ca006fe3609b9e1e7e8d7c01a530c912c892a6a3cf27e1fe9ddb4930b60d2d49222609a649c1e8c2c3419fe40246151c750194ea94f29d2985d9df7f057423d4ff901d58b1be8625415306bbb7df2af21327d65b0b2b6a19b57cd3b69ad319290289c61c045c0da6391a1ef211ae1071809400ae8adc41d3d28370869b00338449788252b71ea01a70bd79a66447e318c91ae02687c32137dbed76e52f410808012120048480101002424008080121707c044417383eb6b2f2fd12c090cf416dccc15ad8ef29b6a9b1f911b1a0c80b460010f0c7736204f915497df8057827530889022c994848c5cd5c4025ef755b7bbbdbdbef5de7571531ff65ce0cc492aa9c1842dd2cd20cab3f1fe474ac85f99f0329a05e57afd30af8916d7cf4885a1ac01760e98663cea7fdbffacb3f21b8e0d7fef96fa8aa9bc571128759ae291a81825e743419919607c204b872fa03ea358f7c0d08049c244d63feb58e6c0f4c1f088219dd062820681c878303db72eb5b28b5d17870bf1ce5f34240080801212004848010100242400808817b13105de0de6ce4371f3601e6ffa946ddae1f67293bfe54fe14d854e947d3fe50072a1cfb555df6d3939fd3ab6fb97699c7654ae61f1bf1f4f2a7a5c96042e5e4fac69deddbfbbb5b4a16a333b063af556a8e1d80e600b5744c038f41521c55efb5df0035a11605144de52764092e805350aef31ac10354f5791a334590d3cee3d0eb2ccec7075eab8b07616d7961324ff60f867cc4b65d4e9d6166a0b941ab7307f82036812cae1313996488d9a116089a0ddf754c9d37abe369c0daae4b22619bc5a7d331ba86e7391ff6f720e717024240080801212004848010100242e0612620bac0c3fced3e1cf746454d82001dfe1c14e775599edf2daaeb283fca78b6f1a9dce334ee793df6e1510d700cd07650110a50e6240b4ea6a3d1f0209b4d310e906398a7e1dd771cbdd350711994b51f81729d8f71d04440db3fc2c1dddefea3ddfefa75e60e2008b0b2466e010e01d74de22c9a0dbffbcad71fbdf4ccda89b38d669b3773919562a05adc35087091778fbb4e871c9da0a865020c08640e2061e01460a98585f6c9d367c84de0440c562080c07597b8599ed4e796430808012120048480101002424008080121703c044417381eaeb2ea074180221909806681234580e2bf226c90acbec978c62b0c0d68341ab55700b73f9bfb5a3dcbd0520cc5ad9b07a8fca3c868363cc75077b76e8ff67729f73dc78fe613940087710331bd03f8f9ab38aa4581bb8a00e30f38b027600ea026e745ac026cf9d76f50192268f2400e00a1018401cc33c622d6c310fb7b5bd3d9b8d25e4dc3bcbd76f6f14bcf194e238d992650373570795c39175c2fa255ba52cf386002c1913460101fd06a37d005b8d938cd7777f7e7f3390a026207c7dddbe783720801212004848010100242400808012120048e8980e802c7045696fd0008e445152759edc9773cdb759829402800b57fb7d7d1d5ba82a7619fcd797af7794efdae57a40f52c0ab795530e3d03395c5b6d769f95d5f77b4f4d67bd7c8fbb30821cc14f6f91d5b8d12e620aa5541d7002e03bd9e6340cc4059182ae105757b42dd62a0a9f570014561942029049edff87fd97b17f0a8ae2bcf779f3a8f7aeb5112a8784880251bacd08d121bc2c4eaee8033465f6cb02f70db86b831dfd7c0640273dbd07dc177c6b86f837bc6b81384e783dc04dcf7c37d6d84fb22df18d9332231e074cb695b9844d844064732420f5ce8517ad4a9aa53e751e7fe4f9524f428090924079475da91ced967efb5d7feed23b7d7da6baf8de57df42e48028e11b4dc0626f207b258b847b05bd90c32bc52ee0c5f5bb03baac19d817d0a220422ee003e02e426c05608f80332333c30f8bbbbdb1107919d8d7312a4aeaef6cb97026ded41e8929999896aeded6de1701883c5f0270025892002448008100122400488001120024480088c4080fc022380a1e23b80409cb7bb333c88f387cd2ff23658cb966bc086940136558920ad2096df996e44a34a464686128b789d69881470399c0c07179af1f4f4ac4f2efc1a0d17de7f9f5b321cbc01631ec9fe1c0e380370b481c927b6108858c1e791e12fee764a91a82a0a4835282025a005c034448414d8180213b0a4dfd6d1ad45646c44e0b0e2af9b89867c145910b4c47984711c55683cf4e0c2cc0c490d695f7be0be60281655e358ff6f6b6b53d5b8d79bd6d3d39395e9f5cfc86e6a6aeaeafc127e81408b79b9f6372d2dcd6e8fd79b3e8d17c4ae606be214461b73da45871d510377c054900a448008100122400488001120024480084c5902e41798b2533b1506669a3882105bfd91e82fd4d32509bc2fc38b94014a58b64bbc43e0613fa7a7792321d92e4ae9e9790ea784c30270dfd9d9611a5a4f77bbcd886139beedcbc6657ffa2d7f96774edeec9696a60bbff935fc08588d9f37676e4489b634b64494585a465a2812cec94e838300aff2664d2b2828f0ba3d9f7cf249e182f985858558e1bfda780d8fb0f39155c0e5725dbbde999e2e49387240d5b373a6856565cedcfbe2b19ed6966e7f5676fda51a7b460e431a01d19c7fdf5c8c02a70fcec99b1b53149c7be8720a4bbff98deeeece2faf5d5bf4c7f7c3efa0e9f12fae34d75efa1c3b0b1007d113ee4148442c1246f8c354984a1a0311200244800810012240048800112002772a01f20bdca933437a3196e575c5d468a8ab353dddebcd4aefee0a6a515d146c5eb73d1689f4f4843b342d9a990e4b5e8924e208045b4c554c6c0730345f66ba1209a99130b613cc9b7bef7fd8fc9757bea89b9e9df9affffacb85f717c0f66e6bbbfee49fffaf55bffad7c0b5eb1dc1607a7a468f1cca9f57100c0667cf86fba0252f2fef81af7f63cf9e3d0be6e76efacb75d84d80e308fedbcbfb162f7ee08b2b755f7cf1c5e6250f20cebfe6930be9995972388a7c07eb9ffe8be6a6d6d3a7cfd8b8e8d716ccbb74b5b5270abf8633180b7b3de93666365efd420e85d0ca8558009c40c0e2f7de9b5f50700f120df6f4c8d3b27d0f162db29226d8ac548ba170143e08bca26f810810012240048800112002448008100122307904c82f30796c49f2ed12e86e6f89c5a2b9b9b9387150913bfd5969d6e980a6d1d176bda3a3cde370f1822dd0dc888cfd11390c670096d6b1b320ae69484478b51e49010c6409748a2caec76087cff44f9b96e5f3b8ed8f7e77454e4e4e636383d3cea1a0f0fe7b11abef71a71966dc69775d6f6bbd67ee3c48836b4089748743ed4866e8f5daaf5f6fb271d2c6679e9c3d73861effd6a79f5e983ec39f9d9d7d4f7eeefd850b3ffbfc72d1a207e002b0f37ccebaff45121d21257eadfdf4f49c19c89b88a4055959e9d65bec0c10d3906e20332b13c72a6467fb1077d0d9d5c131dee7cbf0a5fb541dd10a1178289c0eb7d32e4df7655ae723d2450488001120024480081001224004880011983402e4179834b424f8b609f0f1c89c99d3102f8075f539b9b3b0c4ded3d32d87e4e959e9f3f2fc928dbf7af50aa799f7de732fccf86b2d01fcc4ea7a4853391c12c00cc94a49c087e590c0ccdfd6d474045bbff1f53f9a39c39f99e6d59468e05aa3c0a9691ea78d19f3e6cc86f51e686dfd75f5bff9a6657f6bc9d7ebebeb75558e3bf89933a6795c921693dd7030987c248afc05c26f2ffd2ed4132cfafa420c113776915bf28d45bffad5af66cc44a0c1b5cf6a2feffd6ffbfed35ffdefed81566f869ae1cbc45904a2cd983bdb8f130ee04a0887a3199999728f8cf30eb115a2a9a95114a5458b165dfce4b36b7557dc6e2fb21d74b5b771024e2e3091d7e0b64192002240048800112002448008100122400488c0880438ca763e221b7af1fb26f0d0c3ab60365b69f9ed621cc9fdb458bad78d38ff9812c5767d665819feed9284c4805d9d3d501699fb91054012c48e603b020ca2d1f0f46959c81858b8e0bed9b3fc4a24eccb4a431a4284e82b4a2412912591e745a1adb5e3de7bef6d6d6d45f9952b57917a202dcdca32803f0d5589216a002e0918f3b81a1b1baf5dbbf6d0430f35347c6130d3ed764b89bc803d7204bd2349c1b4ec1c9b8dff933ff93341b4effacf7f2b3ab333a7cd68ebe8cccacab22c7cb76bfab49c86c6abb366e5a27b1b27e0a444ec298010c5ca7728b8ed1e4d83601b8e5444fd384223f4388e5af8e9fe1dbfefa9a0fe8900112002448008100122400488001198b204285e60ca4eed14189853e262d19eeccc74c405e068c07bf2e70502d7749cff175332d25c388b101e01ce64026f83fd8f807c780ee01780799f96ee9c9193832c03b0fcd3d2dc5fb6345dbafcb9c7edfaf27a00490ab0ef202dcd336f5efea5cfae8a76278e09f86d6d53a8270c1f04ce10bc7e3df2f9e701ec488031cfe27187635a67a7d1d0f0b9c7db025f037c13bff9f545381190a410670ea665a423d0201c55905cc0e17286437a7dfd152562a2a3fb0ae67fd174bdb3ed4b25aa844596e39f919f7f4fcef419695ed79c39f310442087c25f5e6fc58e065f76762814c6588c58dceb4e3b77ee3cb221c635ec9988c167a06b741ec114f89669084480081001224004880011200244e0ce25407e813b776e48331c258073079023e0fe05f3dbaf077a3a8358bac7a2fdcce9d3105d0f131d4bfac1f64eaced6307c1952bf5f00bc09e47ae3e58fe59d99986aab5b6b54fcfcee8ecc45906dc9c39b94f3df5e736c6e1d4c04c5f4634a24c5b3ce7d267bffbd6b796a395cbe579ebadb77c5959ff7ec5aa96e666a40008040258ab9f37270fd20c4d9b362d5b12b9ee9e20ecf9c5dffc932b57aedc939f0f37c46f2f7d86d30a5aae7d09959c6e0f33ed1ffc5b357630e4cc9ce9f5b854cde86e6efdeda7bff1e7ccbcf2453de205e28cfbc5a9ff8954858cd99c2e37c205e05298366d9a19e7eca2331a89b5b6b6676666c6541df210110137077d09448008100122400488001120024480081081c9234026c7e4b125c9b74be0dc471f62351ec6bfdbed84310f5b3dc73fcdcacf1f376190e3823bc0e170619dbfabab0ba904e017e0792eb127dfdedcf225cef713045b47b02b1e67ba614a0e6f4363206fd6ecfb0b8b1058d01469badad8224a8edfd47c02c973f30b702cc1b5d636d5b0ce29c481051dadadd829d0d4726dfaf4e92e8f1ba90eed92d8d1daded4d4a2333e2323abee8b269c1df0b5855f8727627a4e6e4f4f4f4c63bffecd279d3ddd4b162fbddad8dcd0d0b0e4df2d2dbc7fbe3f67daac99b959d3b2f30beecb9a9ed378b54951b570346a72b6bcbcb9ba66a02d9c0a0ebb07db10bef18d6f7c8e8885d636dd504d8ec78e83dbe548ed890011200244800810012240048800112002231320bfc0c86ce8cdef9b406e6e1e120dc211100cb6fbfd7eecfc87a50d5f0056e3b3a7678abc148e445c4e2772fe77053b13be02d5e37161811d7b0ab0c80f7780288a081048c611c434ed830fcfd7a6d7d92527420c20adadfd4b18f6d783ed1d1d1d3a670a0e7b7747c7f90b35f00ba46778ef993357358dd3bf7c7fc1fdf7151414fccbd9f7bf6cb9b670e14218ea1f559f478203e405c0c27eda75b82cda78d10ee7821c0967644f6befea4650c0d7bef6359c748844065eb75b539ce148c8293b3b83418421e440e1aeaeb811d7e3f1c6862b484ca0a9ba69726139e6767bb0d7c07a6b6d6170c4990dcaffbee781fa27024480081001224004880011200244602a1320bfc0549eddbb7d6c57ae36cd9a350361f6c8d8efcdd0a7cf98a959d6bf8abc7dc81d1095a35899e7e2c8cfc779902a30cd2b494247b0ada9a90903c752ff0cff2c18ffc8e7d7de16c4632293a095debfadad037e04d1e19c3d278f21f6c0340d5bfc7ab0d5979d39dd3f0db90366d9671a712dac849d1ee7d7fea89071664363833bc3fb8dd98b33d3d27ff7793dc7b169be2c042cc811c5eef6c46dbc2009a6a105da5a116870ef82f97254ce9172befcf2cb8f3efa68fefcf93366cc802fe3f2e5cbbffdec122f08b198864179bde9c82ca86bf186a6c69e1e39cd9bcef3769cb780b120b581db930651ba79b7cf21e94f048800112002448008100122400488c09d4e80fc0277fa0cfd21eb3773e6ccf4f40c0408fc71d1371005800579eccfd70d2d2c47542d86b308b3b3a661393d12511087af1906ce1ac00681346f062cea69d372b098afaa6a34aa30a4f433cdb4b40cacc0db7036a0e070ba3c9c4d1025572c164d4f873b20afb9b999719c28b9b3a7894ea71d62c3b21c5319c2fbb5981a53155f768edbe114ed76d1618f21bf21fc091c62113845d5a33123d8d38688064d8f4b76e7cc593e441c200801bb00befbddc710bc70b5a9297bba1f0710feaebe0ea72620c5607767b0b9f91af21ae4e6ce99313d27cd9d26399c1e4f5aa7a79b633c6211423d5d3d3d5dc84190998d4c0474110122400488001120024480081001224004268b009d5338596449eeed13f8b3e58f22f31fe4b85c8e84fd2f233f3f4e1f444e81781cc9054cbc45bc3d0a138906a49eaea0c7e3e660ae33068f00de5ae576176e608a0b7647325b417a7a3a5a4542b265d973782564e74cb77601c832f62c20c4007b10900e908b1b30ef6d3c87830f2150e0cda8224f9feec311875d3d324c7a7481b6700d24bb43139bc0a1c9f49c6c2bd740547139dc88298033c2da27801bbb0b35a14c77a8078a65a467e19c428c02bae195c9b170d83abc103239818f8415411271f2a2c3e9fc45c55134a48b0810012240048800112002448008100122301904c82f30195449e6c41058b86829f6ff234740c202b721b320ac6b18e4f011c096866d0f1b1b0bf730c8718fed00b0e4b1388fdfa88f9a58da871ef002e01137ba1947210e144432c2e40d6708a81c5114bbdd89e6c98ef01395adfc859a86157b041dc0760f87e4b474b71ceae46cf1c45b5e1424b80f385e40d7b841ba0184fcf302ce357062fb405edeec60b04b57356c5b5094982058de0da80def83d7ebc5f601e88b3407f044188cc328b0cb00bd20260219077083470c10e250df88c73f39f70b34a78b0810012240048800112002448008100122301904ac9555ba88c09d492077f61c81970ca4e44b18ed08aa87210d55ed82683319fe714a76dc33236e336d128ff4024ea40ad062d86a1047b8bfd3ee521415f639ec6d18db7a4ce54cec273064b92714ea466601ce86fdfb6a7a86cbeee08c7894b369de347b4c0d497666e38dec69e91e2f1e65d8fede34071a0a02520d7a799b430ec542b2aa6a9ca1db624a1c251e7706420a38268665c5c689a11e8599bc2839d19f8d176d386b10270d88a2cbe3c14fc3c0f98396f3023e05242c403722cf3be1c6e07949107023a105cf694ad42ef0beccf43b7376482b22400488001120024480081001224004a60601ca2f3035e6716a8e0279feb16c8ea578c62458d1b8c9c8f021e3609c633651b061259d6356a40082ef391b7c075145417c8124d911938f721539fdac98020e51fdc857885579e409306251c4148892108ef4989a7560816933adb57ad1a6c4c2aa16659c11898670e880ae46907d00bb0070a64058b6ce118cc851d4476ff056209121b60c403e2a807e7b7b87cbe3427603c670aaa237140a235200aa9aba89708668246ae3ad1d04180e4215501f0e0eaf271dafbabbbbd13bdc046125ea71ba302ec88c466268ce4c86240861cb854117112002448008100122400488001120024460b208905f60b2c892dcdb278045735cc80060c6ad757764f5c385c57f18e4b0ae9d0e071767a148182bee51c5b2d81d6e472812caf066a88a2ada781c5e20d805ddc4118488f187f18f3d08266f9ab168087638d2fbe9714e3554a64461ae5b1d253205c0bf8018042cd4a31744fec31f8157c826888d0a92c3da62609a714400c06500699aa121dd009aa08eaa2a9083b0025c085d400604241e804c43d725781fa0431c871f5825e8dae34e8baa31149acc4ccb4cc3f187c1ce6e5dd31aae36cd9d370f872be0a8c24b972e79d3bd8a12bd7d9224810810012240048800112002448008100122301201f20b8c4486ca7fff0460eac3de861ec93576dcc3f04696412bf3bfa62147202208903e006bef58b48735ee723a110b80a57eb483c58d126cd2b76cefb8012130e37131f8122cdb1e3706f622e05003c62c4b1ed51303b6e20e3425868e60bfe33ef91315e0924091e59948e632483811ac4309e06b80e7027d1878b2fc0b689bac86bb844ceb47520eca93f7f06eb84421398aef7ef7bbfe9933eebbefbeeeae505ddd17f01134363662ecafbefa6a4747076efa85d00d112002448008100122400488001120024460c209905f60c29192c0092380ac7b30b371c136b672f2252ec4deffc55ffc053c02c8f607bb1d5e0058d1b0ba91cf0fbb07dadbdbffe55ffe251ac54182484b6024fd0549f31e6aa11a9203265d03b84f2cefe325a2095822a600fe026b911fee02ec4b4878066c9c69d9f6963d6fb9125013c63f9c08b881000ea715249a225f40c2018184827867650fc03beba081a4f0de2ee04248380ce00eb03c1d9637c10a34807cd8ffafbcf2cad225ff0e4dce9cfe0536295cbd7a35d8d116098773727250812e2240048800112002448008100122400488c0241120bfc0248125b1134000c902922634ac6c98d008e98777c0e7f3353535c165805789cdff0a4c6b6422c092bed321e1244294c3fa46247f22af5f22bd7fc24e87e99e9463b906702182df8a11b8b1a48f3298e5f89930dead1fe8147e01b4b2ea5b1e01eb6dd292c70dcae12dc00d8c7c14e24213f48e56d013be0cdce06df2675248ff4fd46449a98c7dfef9e79bb66c5eba7469d3d5e659b36661d49f7cf2c99b6fbe8986c9431321842e2240048800112002448008100122400488c02411b0ccad49124d6289c06d1258f1e89f43022c6d780470035f00eceabcbc3c87430a068328c4ae0118d8d3a64dc3560298e56e97231a0d5fbb760d890661962394c0e5b67616a85105cd9336396efab60c5892f198bc702a202a24eb243d02c93f0d9be52bb02ec8472243cb9d90b8501315927e01d4c75b94c03791885348fa0524b81d9202d10212ac0ac83a90c83b88122311618042440778d3d3b2b2b2ba3b7b700fb1482e800a48498881c03550f5cbca449ff483081001224004880011200244800810012230f104285e60e29992c48922d0d9d989dd01587b4714000b1709cf000040004944415464c2d4876ba0a5a545d3627884358e0ad84df0c5175f6466662ab148440ea13232f9c3d846655cb0fc51010719f6dbe7b0ba71a17932a8bfbf3c0e1bbfcf77902cc44feb32ad9c028936f869d5493ee2c6ba2c639f4b460a24cbf1081700eac7620a120dda6c822503910609cf42429009d7001eb18f00c341c803de2264003f71b0221eb1a700bb2470413c9c1a700d247aa21f4480081001224004880011200244800810814921407e8149c14a42278400ac7a1c0a005158f987ed0d831fe6340a615727cd661422ea1e8fb0c9b1568f25f7b86925084406c0a812413a00d8e428eff70bc0f6ee570cafb0600f33dfba49ec2ab05e21badf4a2e888a49df014c7a4b0264a25c82adcee14801fcd327c7eac1f202587d26eae03921d812806403f0095852131213bd58f7503ee1e930934e81d6d656b83fd0401244251c99e5cfc1782529e1d49043389bc0528c2e2240048800112002448008100122400488c0e41018b4b97a72ba20a944e01609c00b80d57e3802603f23c01eb100090bdc5ab44f46ec632b010c6c98d958634765840f60053e9986003f6181a310667ab255d238ef33d12d5f001c0a499b7fe02b54b62cfbc4851b4880f7015de38a9b9603026ffa2be01e25d01037a886cafd1ae23159335919e5c90b8570764067f48eed0f5038e9dac05b9c8380721422d20175d010af929e11b4a28b08100122400488001120024480081001223019042c936932e4924c22400488001120024480081001224004880011200244e0ce2740f10277fe1c9186448008100122400488001120024480081001224004268b00f905268b2cc925024480081001224004880011200244800810012270e71320bfc09d3f47a421112002448008100122400488001120024480081081c922407e81c9224b72890011200244800810012240048800112002448008dcf904c82f70e7cf116948048800112002448008100122400488001120024460b208905f60b2c8925c224004880011200244800810012240048800112002773e01f20bdcf973441a120122400488001120024480081001224004880011982c02e417982cb224970810012240048800112002448008100122400488c09d4f80fc0277fe1c9186448008100122400488001120024480081001224004268b00f905268b2cc925024480081001224004880011200244800810012270e71320bfc09d3f47a421112002448008100122400488001120024480081081c922407e81c9224b72890011200244800810012240048800112002448008dcf904c82f70e7cf116948048800112002448008100122400488001120024460b208905f60b2c8925c224004880011200244800810012240048800112002773e01f20bdcf973441a120122400488001120024480081001224004880011982c02e417982cb224970810012240048800112002448008100122400488c09d4f80fc0277fe1c9186448008100122400488001120024480081001224004268b00f905268b2cc925024480081001224004880011200244800810012270e71320bfc09d3f47a421112002448008100122400488001120024480081081c922407e81c9224b72890011200244800810012240048800112002448008dcf904c82f70e7cf116948048800112002448008100122400488001120024460b208905f60b2c892dc892420d76c5a96bc3654cbb72178a2e48c4d05b5ee4452e9c3b5b7a3f4d83a4bd61a6d80c1932f3d9bd467d3e15ac6863ca6eee5f73084d48a502911200244800810012240048800112002934580fc02934596e44e208140d5b1fa5e714dc72a1b6f59f244c919a302aa1c48d694d531b6b8dd6aa30cb0eec4ced25317921d0455d8fb831e47eaf8ab1fc2489a5039112002448008100122400488001120029344409824b92496084c1c01f9c4e173fdd22e1c3b195cbbcdd7ff3c8e9b899233d62e3d451b5f3b52a2aacc57e0196b9bdbaa37da00ab4f265c2be28a236f6dcbf3784e6c18f43852b75ff910465284ca89001120024480081001224004880011982c02e417982cb22477c20804aaca3b0708eb2c3fd3b8656d9e84223570e6f9e78fa99ec2b51b8bceec7fe96c93c698b878dd0b2f6c294e61888f2c8705aa763e7f42f5f88a5715d51d3b78aa5e6362e6ca1d2f6f290cec7976cfb94e4d14338b373ef7dcfa2556af8cd5561edc7ff8647da7d5dda2155b9edbb1d62ff52a13f414ed78aea46aff9eb2734deb76ff9f8193ef620b41c98e17972714aeab3a7670ffd10b8986b98b966fd9b6ad38e932901b8f1d3c78a2baa613af443137af78edb62dab8afc133340b56effce3d154d09d5b5332ffde766afd65dd3fff87c70ed8e174b7c81940ab040edd1832792432896aa407bd0004b2bb614a5209de8897e10012240048800112002448008100122707710e04cd3bc3b34252dff5009d41cdcb0bd1c566ce6e65d2527f695c14590b9b2f4ad1d45e021d71c5eb9bd6c3898c5bbca5e2ef10f291f55cec195dbcb87d41ffeb87877d9cbcbfd675e5abdf7d44047059c032bca7efe9c679832255b57551e3a09396b4a2bb615e1fda6ed657dfb21faa46f3e54b1be30b873d93337222206bc5aa51e9b8001ca358facdc0e1f46ff85ed43f1fe07c65696fe5f81edff7104058e26c960081bd95065569656ec20bfc00092744b0488001120024480081001224004ee4602945fe06e9cb53f289d1b8f594e01380396af2a595f2c5ab79d15c77a730c2497ef51242eda7da8ac74d70aeb35637535c373108c2ea75f50feaed2237bd72d4acab19c11fb8e0c140b4f44d22990bf72777945c591dd2b2d8db4532f9d6c64fd32a04efeb2952bd72ccd71f4c9419abfaa9d49a780b8785f59f96ba59b134361479e3f16a83999b4c9176f3f72f6ecd98ad275c956416425e897793b03f414be557e6845b23f71d9a1b2b237063d96af67ef8dac40bf060394e91b6031c224e822024480081001224004880011200244e02e2740fb08eef2099ceaeacb7d36f3a2f5ab3cccb36a637ec5112cb99f3b51230f5ca95ef1e28bcb0b3dac70c7ba63a7ca9a5867354e2d583230c07dac72f6bd5c52e463455bf2cbb6a29bcc952fac5f52c0d8b635874f612f436755cda7525512796101abadae66cc935c87bf70a24a7eae6f32166d7fe7c02a58cc72ede1be2216a83993acb9f9c08b4b604efbd71fd82557d6c9927f89afa8b0a27c6d2010902556537da6ba1262875eb739408f2f2f0ff11370b0f8fd797e3f480e78f479fc5b6eaac02085fa0638a8901e88001120024480081001224004880011b83b09905fe0ee9cb73f18adab8e5971f8b82e1cdab4e1a4bfa929b92d9e551cadda71a024f90a3f3dbdebd66aaf2fa0efb9bfc298e52404215560e2ea17e3835c6c1df03051eaeda9a2746f45bf74dc0482fdebe96b362eefad34a042a0b62ef1945f54d0fbb2b0644b616f85c0c9833b0f9ded1dda8046376efb34b9dd01b2210726f63e062b6fa6c00d55b02d22d5000756a07b22400488001120024480081001224004ee2202e417b88b26eb0f4f55b9e6d8b9fe7df15abf53c00271e1588d5c82a5fcd4d750ebf756e50c912e338df5ba0cd6ed2ded0b4850559c43e8c9f3b0ca21d5073e7a7c4977406340668589d31470a6e0d1ea80e459f2303b9c740ae42e5eb765fdf2024fdd0f36ef1b9cc060a0a4c4fd3807387a1280dac3bd5e897128304c232a20024480081001224004880011200244e02e25407e81bb74e2fe20d486e59c5c43cf5fb37dcb129fb58a2f498133070f9d4271d3b1aac00b7963e2305172d0d9f4def87bb807fc45457e2637eeffc1a68a262d775de98f8b4753266f49093b7208a9085e7ae9e4929757798235cfefb67644b0fcbc877b4f39605b12e72804ce1cbb895360583f371d6051c9c04d15c3daf7a531b86505864ba41222400488001120024480081001224004ee1602e417b85b66ea0f504ff9c4e1643abcdc6d1b57dd58f12ed878f8d45e44119c3b7c427e7168c0fe9075f404b55b91d31b15d047bd5f6c4ec98e15fbd79dd258f9ee75030f3058bbaa900553e405e813c0a48292adf9870ed533ed5ce9ca65a5fde52bb79588d5bd7b2576afdeb0284fbe50dfeb16a8aeaadbb8bcbf62ef4dbf26035e8c6180251b87341cfcd83bdcb12830a05fba25024480081001224004880011200244602a10a0f308a6c22c4ecd31046bce240de4456b9152f0c6e55bb23637f1d4595daff7bee8dbf5df9768c0ca07d0778d494e22b2bf3f43009392cf529fdcdeedfd3e14fb9f7bebc89a45997dd2919a3f77f3beb2557ed41daa8cd42b26b91cef59fb6ad9d615f9371ab2dc75bb8f207b62e19697d725056a4d700ae4e6e7268f0e40cde132fb3419df006b65d6bb8fa18fccc0c75115b84166b83203c642b744800810012240048800112002448008dcad0438d334ef56dd496f22f07b2420cbc1c4c6065f9fa53d565d5439887c04703d0c6ea8cab2acaa7025780698fc63953911f57eef0a4cc420480611200244800810012240048800112002e326407e817123a306448008100122400488001120024480081001224004a60c01da473065a6920642048800112002448008100122400488001120024460dc04c82f306e64d4800810012240048800112002448008100122400488c09421407e812933953410224004880011200244800810012240048800112002e326407e817123a306448008100122400488001120024480081001224004a60c01f20b4c99a9a481100122400488001120024480081001224004880011183701f20b8c1b1935200244800810012240048800112002448008100122306508905f60ca4c250d840810012240048800112002448008100122400488c0b809905f60dcc8a801112002448008100122400488001120024480081081294380fc0253662a6920448008100122400488001120024480081001224004c64d80fc02e346460d8800112002448008100122400488001120024480084c1902e4179832534903210244800810012240048800112002448008100122306e02e4171837326a40048800112002448008100122400488001120024460ca1020bfc094994a1a08112002448008100122400488001120024480081081711310c6dd821a1081af8c40b0e6e0e14a559254a960cbb655be64bf72dde183276414b2bc8d3bd6fa475246956555f278a491de8f5e1ea83a76f84ce3f28d3b8af3469070cbf2d5c0b1834703ac57acaaaa9e82256b572df78fd0cf887aa2a524598d8235fb0f56af7d6ecb489a8e28e1e62f82d595676a1a83bebca2e5254b7af933b9e6cc99ea3ad95f5058bcbca8aff0e6b27a6b4ca0b6e32539815ddf6cb86ae0ccfe136cc7b6e5379fd540d5e16acf9655457d2253321f5a28076a6bea82c9f94f34549954b0a46884bf86f18282c4c9f8baa0c6fec3f2928d5b96e7f50d56ad3abcbfb168e3fa2236317f147d72e937112002448008100122400488c0b80870a6698eab015526025f1901b9e6e0caede5c9ee361f39b5bec032b2026776aedb7b2e5198595af1569127a53af2e1d52bcb3a47a990b2d58dc29a831bb69737ad29add896ba83db902fd7ac5eb9bd33337f515e4275b9f1427d2763cb5e3bfb42bfb574438f11efe4c38fac3cb1aaf4e7db8ae4da832bb79697569c4dade988126ef642adddb9622b40e7e666363575327145d9cf9ff3b3c04b8fac3ba5b1ccdccc4e14b245a51507c6d5ef446a3b4e9289cfe96469c5cfc7a5f0cd30a57e2fd7ec5fb99d559cdd91faf3ec6f24d7bdb461f329794dc5cfb7593553324f55183cbc696b597dbf18eb26735dc55b5b5277374e508c4dced725d76c58b9bd8989bbcb7ebebcd78361755456527a760b9b883f8a413ce88108100122400488001120024460ec04285e60ecaca8e6574e20b11c9eecf5c4c9daf53bb0a6aa561d4b3a05509cda084ad447a400639d1e69942aa38ec6e31b7da1f736e42704af7bf1c75b0a7bbb0854bdb46ef7a993353b46f041a454d452c093083af0146e3b7b765bca4ab753587762ff3926ee2afb79891f110287576e2f3b5ab5710b3b0aa7c0bad28a2d451eb5f6c48aad878e9e693cb06a1c0e8d89d476bc24adcfe9563f8871a2bc79a00aacfdc7b69ed31272737bbf8494ccd736a69888e7b6bc0a5b3a79c9b587576e2ddbfce2fa11c7365e506c72be2e291924a3eddd7978c93ff5b9303c2c13ea8d5bc371ce075527024480081001224004880011189500e51718150fbdbc630874569c0c4019b9f6e4e05552ab2c50bd67d3ea65d6f5c8ce836764156bb04f1d6dc29ba6e757afde73b20e777555c736ad7e245167d9ea4d2f550754140eb90235c73624aa3cf2ecfecaba1b1586b66dfc6c2cf25598fb3b77be74f0cc0d4103fa439876ff93bfa8584c3ca88d27573fb2b3b6f78d7c72e7ea9d27eb50b861f5b3070fee4c2abf61cf490c70e7232b8e74b2cef2ad8f3c7b22d85869b59259b2e6fefdbd35771e3b5375624fb2d5a6fd9572a20bb9b16a6712d5b2d587ab1aad32b56ecfea653b4fd426dedff8a1ca4126ae2d4eaceb7a8ad6af64acba26d0587d8ab1156b130bee5261c94a91d5d6056fb481b084b6a3e8a00ed676d0b82c4172e5fe67933a3fb2614fca691ad81dee5392b4040d1fe9809629df369e39bc21d9f7b247f61cab4ecc436a7d52360fd69edc94fcc456ef3c5c59c77a2735355e26f98a57ad5cb366cde25ce8daab594ae6290b070c25b0676b59e69ad2f58523ba05929547023574d4a37e5dc3e60b7f91957da37e76cfce0d1bf654aa237c5150034873172f624d657b2a13dfde8061586f53fd510cae424f44800810012240048800112002934280fc02938295844e28013161619d85192bd79db1ecfd6441b28fc099d5eb769dadefcc5fbc6c51263b57be77f54b9f7afcbea491e4f1e5f93c1202c837ef3e8268fd959bb7ae5c9cd9597f6ad70f8ef6d962bd9ac2a05db7fd481322e4172d2e6cac283f6bf5832b45db67dfb58f417e30507deadcb953e57d667e525ce2277493e5a08cff05838140ede13d7b34965b5ce051e5c64eadaedf380ad475d634caaa1c68eabc505e1edc557aa874d7caa6b3a5876b3deb5fd8be085072573cb7718924d759ad6056256a5654b0bd870eed5a997feec8dedd87e5bd878eecdbbaacbe62dfd11a9905ab373cb3bba66073e99143bbd6f8ca763f7318ee04a6063b59b0d71971434b4b0dadbf5846bdcebac6c22d6565e5db923905d4baca0a8d150fded37e531dd4c1da0e1a578d5c77ec07fb2a1ab7961e79edd0dea2a6b3bbd61d1c324d37f41b95e40823ed6b9d8a835a77f899bd65be75bb8fbc7664f7bac2b3479eaf0eb2d4faa46a8efd2d6bb696d6e7ad293d7264ef5a56567e81f5668c488d9731ffaa6d3bb66ddbb6a524f7865f2015f370aac2fee9aa3dbcf31c5bf4f2b6fef4047d631cfc7bc44f6ef8a865ff285fd790f9c2a8576fdd575f688d7af772f9ecb9a6a69a4675842f0a1a61364bb6bcb07799786edfb3d583a776240d078f839e88001120024480081001224004268500ed239814ac247422092c5abba3a07a5f797d6565952f5805c92bb66d0b94965e48f4517bf22862b133976d7f71db72d658b061fb11edecff575cf14fbe1f2c3bd294fbdcab070a61f80696efde95a7fa0a9717f96ba5da8a7367ada6819a1367ea9201cc92bfa8a0f604cac465bbdf7a6139de2577d1a344f20f6f9bb6f9e5577336dc44be276ff9d6751ed5bf2411226d75d87fa1e4d4ee67b0f2de7f656e7e116bf072529bfed20151efbbca5e453c3f6305eb0e579ca80aecd856b2c453da58bc6a79519e5c3bb007716ff9cbc530dc0bb61daed8befcc08bc5d8ad50b836f79035e4da13073b597ee98e55051e56b0f1b99a939bb13b63cb734b0e9c4d0019d0afd553f172565ebe69a7ef85f54555077759351a1b55cfaae4c6f0ba330737ef2d67f99b77f4ed141fd07a341d7a43c6fb6a0f1e575d89e572900381a054bce485b2d7eae49b6c04198964ede114235dbfaab7d7d41cb6146fdf5eb47cd512b8675861016317e094c1a7305c9f94cd8b7d47916de1c8abdbd09215bc5c1a5cbdfda4d598498529f126de593f90bfb2ff3e25f3dc8da92622c951ae7ebeac69f1ae97ad4e47bd4602c57cc347cdb6158ff475b161f385bfbec5af1dd866ed24d9f6e360cd8a43081f1975c841195ead03f967b7ee7af6e4d9574be00e485e236ad857817e130122400488001120024480084c1e0161f24493642230310482bea255ab5879697dd9eebd96c445ab8a0b0e972665cb3555d6c27ee7d9d275677b8b122f7a6d2d9878d62e7c0fabad3c517ea1695fb2117ec2080f9c3974a4a2af60e53facb3aceb55ab96244afcabd6e69e2ab324a76c9b58f8b42a8e229ff98ad66e49bd8a8bc5de957bcb904dc05af5550347776e2e3f72b071fdcbc975784b6ee2ea3799e0f7f0f73e582d12b756cf08bc4ed61cf0f3c6c676ab9a5541c2cf3ed31363acdfbe0e7b02faae5a44112c19d0515f397a29da56b6cfb7f3f923dbcf95e52f5bb9b8b1a2aeb8d8aa29d7bef483ada79ad8e2cdfb5e5c9fc2eb81a6fda740a4d2e14617c3c755b8fec7bb027bf6eddb556e4d95b862fbcb4505bd19ea0636ebbfc7f052924c58cdc346dae71748fdd6b78a61a37ee9ae7ee1b819419f141823c5607c2376a2b0a484950f9f9d81b253dca764ee2f2a4a3d11d81d5379188e9e8d295c3343858f042acfe71b3eeae4779deaeb1af61dc2a991d93f6aa968792e3b3ab4eb61cfd0a5f0e57d2bd7ec2a3d585de8f7f5464b8ca8e1b0f6544004880011200244800810012230e104c82f30e14849e0441390555f1eb6b297226a1d97b86c6d619f2d0113b470492e6b6aca5d53fa4fdb8a54355873a6aa51f5c18aeedd2e6f19fbace6e8f3e5173a7357ee3eb063b9943ce340669e828d478ef45a8a92c71f3cf103d43c5359b3ada818b6ef99cade7d0429db5a4293d7c8f2114c5d5717601e5f41de50cb16162412bb59ff58420ab6ec5853bef54c50663ecb8cf7f4255b541b91efff265742c00875fa7c01035e5b8e8815656771ac8075056a2a6bd988b9f9d5404d8dbae49f7ebe3e51573ef848450081f16aedb32bb75ec85d79a46207820e6e7aa5d061d43640e65ffb02b2f8cbd88671ecf9bda5db0b979ced0d5148d570249252ea912657f0c1380587c6c33f283de5db5756b1045f8f5ab37ac5767498521f6cf8188ed1555d05a2d02749a5118f62d2c7944aef11ca52324f599810103871a89e2ddbdd97bf7204a189e29140c9c7528cba4fd0685f575f1d0febac09b0f589cc937235fe6ac6f055a0ad6fc98e5d8b2bf6edb2fee87213deb391344c9edad1d71dfd26024480081001224004880011981402945f6052b092d0092560595bab36e62765ae4a9cf40ecb2c79152c2fc14d53f99e3d078f1d7ee9d95dfb4a0f1dac86419388ce6edaf9d48683671a93c69a1ca8ababaedcbf2771f021ac1758ec7d579edf632df022eee0d4ee4d2f1ddcffec86f21b36b965e80c6d3b06f972edb1cd5bb76ede7402dadfe4921028d0099bd2e3c7a687a6a3276b9076a0f2a54dd86830ba91d5d958531b40dcf6cdae3e5885cbd76307c3ce972a03b28c5d14ebb6ef3b8abc046ae34b1b7ab3330e1214acdeb77bf31e282343990de51adbb8bcb0f6e84b1798b87dc75a2950579bb82c53782c579f0ea3d76d3cb973fb33ab4fd6343249f258392244eb5c8891341c2eab8f64ea91f6d54ff936117b018f801a0cd4ecdfb41df38f041029f549d9bc70d55ac6ce6dd879ac312837561fde7ca4a937bfc09894efa3938a3972250c9f086b28c8b7897089de0897c4d8c6d457a2661fa894a34ed46063f9ba92a3deb4f34463307066ff0f3068eb931d9b1a252f94e6b3e4790cc90e07ffecd37070293d110122400488001120024480084c0a018a179814ac24744208c036b4e4c058c3aa7ac9c6cc23bb3bd9b25558e156d5c452a6f5c353b8feb5ddc14d7bcbcf961fb12ae72e2b3db0037676f1fa656587ce6a9d4d676a83dbd66ec92fdf5d7fae6cd73996999bcb3a9b58531d4e24284848b15a6101bf60fda1ed755b4bcfd69f2aaf47ad4cd6d4696df7c76680546d3d3795dfca2596417b93cf253be9fd39c4da97f28ae0f340b28392f5c57b57e6ee3eb47dcd2184d8e7673268001550fd460beb2e51b8a4645159d991ad1b82e53fc670931586d6ec0d3d902c1bcbbafc25657beb36ecdeb7ee9415a69fbb6cfb81b579581baf6bea0c360eb5efa5c2f57bd7d4ee2edd9edc9fb16e5fd972bf7ca2da0aa328ddfe8c252d71ad2cadd83128e6e0263a24e634b5b61857d1c61fafa9fd01e427f7842cdb5a6ae54a40aec2541aa2ffa4a05e5500e606c9142395eafa744bc5c117d88189def5cc1a48cb5dbc38b3e9dca9ddc7b655a4d287a510ce585ed9dec60dbb8f3cb3c6fa0ef3f3c5fa5e8f4d7024e5fbd4c68193bdf3938a39666df844584d118f02e745ff968d84b471837a756daa519fdd3196afcbfa0efdabca4bd567b71f7a069f6ce6a245994d17ac6f6dc42163027abf49a8eb294aec26a890ac2275e4a92c480c8d7e100122400488001120024480084c2201ce34cd49144fa289c0574400e9dbe03de88bcd4fd529967f477d9f6c93ba56ead2c1bd8ca5cee016233c4d98a011e42756c2c78022d93c017634ae23f672eb2f901041553d9e1ba662f5fed5cfb3177ebe2375be86513a1a9de5f0b7034a70dba7c2307d923d0ea8dcaf8285ebb669a5649eb2b0bfdfde9b5b0335602003463d54768a671cc679f05860fd8eb5899d29f2e1d52b4f1497dec234a5104d45448008100122400488001120025f2101f20b7c85b0a92b2240046e81805abb73d3c92daf3e3730bee316c44cfd265f3da8c09965ebf63271d1ba8d4b02954770b8e7d623156bc7927962ea4f068d900810012240048800112002771301f20bdc4db345ba1201224004ee28026ab0f6e4b1caeaba46e62f58bf716351dfc919779492a40c112002448008100122400488c0e804c82f303a1f7a4b0488001120024480081001224004880011200244602a13a0f308a6f2ecd2d88800112002448008100122400488001120024480088c4e80fc02a3f3a1b7448008100122400488001120024480081001224004a63201f20b4ce5d9a5b1110122400488001120024480081001224004880011189d00f90546e7436f8900112002448008100122400488001120024480084c6502e41798cab34b63230244800810012240048800112002448008100122303a01f20b8cce87de12012240048800112002448008100122400488001198ca0484a93c381adb5d4ee03fde7b8f37235df2b8e448a8bbbb5b64713e1a8db5757ccd9f939b9e116c6e9a969eeef57a99c8d75f6df478d2f4b096353d27100e3587828a2429715d8b46a679bd62389c6ec6b325716e8e4fe20c4d0fdb7843e2444913ec4c64364e37550e97688b7371953183b719a2bda1a52d188ed91c9e8866c679d1e9b0f386c6993a2a325430e371dd10399b83171d36c188a912c7c7623197cb1143bf9a161704c326c5208d9992cbd91d8d44b418b309a25d0a77776567644482ddd3d33c19a2d325083e973b1495630293b5485cd5255eb0e10851dd10389b288a8ffcb6e52e9f49529f081001224004880011200244800810813b9700f905eedcb921cd5a1b5b9aaf3698365ee70cc330259e65d9459fcb118189ed7287c3919939d3031d6ddd6119467847a89b8f99deb811d5145555e3361691e534974b0d45b4909aeeb1d9252922874d89f3b8edaaa1e88621d84435ce60c51ba661320326bf29c0e6e765252679449bcdc6c3076032fc631a7166c47199861ee718677026c758dc346df8c5e448d82948aaa1f39228ab2a27f0a6284662b1b8cdd41817d5554e8be111e29910ef0ef5d8ed76595120a33b128d4b46b761b475059d4e87ac466c025c027c4c373843478f3a67d3a11a5d4480081001224004880011200244800810814923407e8149434b826f9b804f906206d3619f3b1c8c995a2c6c8b693ccf09b8d762be9cec1e25d2d4de6913991cd33c1ec99beebe1e6a0f45c30e975d675c9a24daa231afdde149e3d304ce25da595c8185afaa465809631d9ee3255557e2a66e1725eb11463e16e9197e732227c16b601a8acde4ec3c6f390574c386c6f00cb038c7a3aa5519cf1adc0182005f004c7da7cbc53944cb4fc1ccb8c04b8859e8910dc61c921457b58812cdcef199bc609a66474f28cdebedd6d4d6cea00bdd733c1795ed1c671745f805e040b0d938a7dd6ee385f86d6324014480081001224004880011200244800810815108507e8151e0d0abdf3381b81a13398e370c2d1c89c714dec0723be354a3a75bc6323df603205cdfe7739b36263998208aa6c044377606c0aeb7d6d86396b3c0630501381c92db63c2e0b64bbc68e7399b5bb43b4449e54c858b47e37a38ae8534a347d164351e33100520199c6032ded02dd3df2ef010899801d8f3081680df20792198001104884dc09e025989daddaeb01e6b6e6f6f0bcbddf178637b0f8c7f575a9ae474a89a811801bf7fa6a2282e974b921c76975b8d9b51f81a5c0e55e0c3d835e07418bc6898bc66da74d306a17076f4c45459d3c7380d972a8fffe4d5e397e414d5f5c0c7477f72bc4e49f16a94221deaa6ea5c69f8f0e8c1032ffdf0e8a5710a1ca5af21affa15eebf41857e7d06160e6938d2e32d341949d45d51ae34bcf7eaebef0d991fbdf9c357c7ff190c196fff2c0c294ff955dc3ef6940319d275efa3d270fce8ab476f5cafffacf2e3aed45587964e0899a1426fef791c03bfbd8ea83511200244800810012240044080fc02f419dcb904a286a6315de7b0261fd76142734c149824f21263dded41acb1db393e2723cb23d9799545426198fad80e909696a6a8b1b860d3055b87aab4c5a24d911ec52976c775c5c62931958f7319760f8c729ee76d481ac0f3ddd1e8b5f660f3f5ce6b6d5dad9d91eb9da1ce9e689c13e16cd04cc3408a000ecbf6f1e4d2bd955f00ce01ec2fb0fe17c75b840f983cd71d0d474dd3eb9feef1fbe1b798ffc0d7743b7637843ac3e170341689c6dadb8236c647e568341455c24a77b0db6683af4254e1e030cd2eec4650b488aa6926536db6a8c975c32fa0eae1316e23d02f557e74f97acbe5f7aa1a86cfa812b874f5fae5ae5446fef0ca7d25f2897dfbf61dafe97becffad541e3f75b543cff66738262ddea85f61a5bd5ff31bfa0c28ecd7ea2637fd026f526faabcd6bb9a5bea9b87f80594f6ba96717f064388dc9885c12f527f15b7305383c5b294031952a7f751efaabbda72b5b9bd2b71059aeb2f7cf4ee2b072bc7f2d54f0499d44add72e938067ecb7d50432240048800112002448008f41198b4ffaeefeb807e13815b26a08bb0b9619ef34e9703fbede38aaeea4c33d56c8f3b160a674ccfe9e9e9828d9d9d9ec50ba1407b0816fbc2850b2fd67d31d33de75ab02b6ffe7d79f3e6ce9a31f352cdafa7f932d4d6ebe94e29d4d8105174974d74f07695b3219120d48b63995e1039415034ada32bac1b2ccb267932d21cba1e0acbbaae222e00c2799bc831c411201d01dc010ce1fed84d805259967366ceb8d6d6061deef1e7acfc6e49535b9bdb93d61589615f0022059c0e37f226c20b80880374879081ccf48cdfd49c8f847ae0e670bbbd48336808aa8b13b0dd20aaaad845804403a62498361bd2108c0560e0c3aa6ec6a7bb8d8e8faaba4ae6660c6923e02f9d1fe75fbbc078fc5f8a460822e0e73fb6e9a905433a99c8c73e853d0b9ffe2f0b74eb099af4e933a070cc7df6091c7383bbb5a2ae0317426492c8068fc28260b736e5c0dd66d51afc764c4f37666148f5945fc5adcc549fdcd106d25767d0efc470e63fb1eda985d60831c6aa575f3add5273512e29f20caa98e26102c8a4907a6b45e31ef8ad7543ad88001120024480081001223080c0adfc87e180e6744b04269100c2fdb117809988e6c7fa3c36ec33bb2438441c2f10816ba0b5b53dcde3c6c602438ddf3bf73e357669dedc7bf3e6e457fef2577ff57f3c1732e29f5dbde29f37f79e7be62efce6037643edfae28b4c23fe9b5038d6d1de138ab99c76664515d82484ee7382e876094eb719563af5207613706a4cb2f171898ff6680287b48696496f3902381e038ec391009d4c93430000c7ec1ed717571a9187c09d6eef0e87dbbabad3b2a737b706fee84fbf555c5c5c5d5d5d5f7765ed936b4ebf77e6f1471fbb52579f9ee69d75ef7ce31ff59a8fcf795c4e5d8976043ab37d385ac183ad110a4e35c0af386208e0b060f83d06c4f2fb552d2ce7e18ddf697fe58d0befd7294f14244da3a14d95ba777ef846c313bbb6254c27f99d83071ae6aeddf698bff2e8d18fae765bb5ed392b9edab8d4df7070df9b1d78ac2fffbb03757ffdec13bd86957ee9277fffe675945f7ef3ef0e2c4239ab7befe8f10f3ae026612c6bfec31b9f2a162efdec40a552b294bd7deaf29c47ff6ae383bd3e0aa5aef2c01b35d9733c2d572dc17c7afeda4d4f2f48c8958709b1c4252eb4fae11b754f6cfdcefb876ee8b3f531c74f50f8d7db167a58d7a5caa3273eea4e28306bd1e31b9f28c2bfd4eade3b7ee283cb380c0257cefc151b9f5a9ab81dfa633c2a15bd77e04775d98ffecdd30f22d1e4cf0e1eb8283cf837df2f7158c6e70fab1cdf7eeee9a5725dd5d1e3a71328f8f90f3ff554718132028aa17a8cfa9c622c75ef1c385e377bae505f6f91b4e73cf0fdef3f06ca818befbc5e7e3e8c223e6bfe5c2c9367a7121c7bffe8c1f296e153305479c6ba6eedabd85ac25eedfb007217175d3bd7949ca9147cc6379061facc4df1910f880e1066fb3dac4549bab652601c303bb3bf7e0f361ea524337a437ce1c55d95433eb6216aa59030be81a79a462a2302448008100122400488c08412a07d04138a93844d28016cba4f78042c433cae61c5de921e56a2266fc3e6fc9012b37bd39138a047539b5bafbb3232afb434778522f3eebdef830ffeed17bf78efd30b17ffc7dbefbe535159f1cebb67dfafbaf0d9e54b0d572f373475297a8f6a6896c91d77e20042c98ec30e7a1018a0c4708e80e4766b3c0bc562486a185615458b63f11efe0849106d0ce9016d22420b0481c7032e641c806a9a861487e9e9e9485e885c836fbffdf6ff7be2c4bffdeaa38f6b2eecfebb3dfff7fff3fa67759fbff9d65b9f7f51f75f5fde77bcfc9f5f7bedb51fffd7173ffdcdaf73a767f331d565c467b81df19ed0b5abcd9a12f57a70d6a164e8e81bf907541c587873a8cd1fc2089ef36051464151166317de1f1efcdf2b4357ba0c0600bd8f7297d1d1a55c3afe938faeca8b1e7df27b6b1ece8a5d3ff5da71d9e12f7ef88174d4b2cf7aa8b877f9d56a23cc1e541ea8fad11b1f74b0590f3ffef843f3733a2e9ffed1d10f755d89755f8653206bcefc0767df58a845d731166bb9dab568c59a271f7d40e8ae7ff347470390994a88d557e2d295764be1c1fa08c942540854bdf2e647dd9efc479f7c72c5a2592d17de3ef84e1dc6f3c607971df31f7af27b4f3e343ffdfae5531f5bdda4b8c6a3d2c502bf3d5cff7103c4c8972e7618c6f58b0dc0a8377cdc12c3ce1116f8f0c01ba73b32e63ffee49a6fe63b2e9f7ee3f845449aa446914295118a528e4557e498d15d5faf7cf3f1358f7e734eecfaf99f7ddca537bff7533805dc168a870bd8e5fa6e664fedf6ed68193e052994bfe5af421830ea3f4eebb1a60fa34bc9673c0349a1cf306818707bcd7b5555efe17f953f3bfafaf96e3eff3b450e961ae3003d17f92c56c3c9dcb4e11f6bff73f48f2db584f10c7cd828a9800810012240048800112002134f20f57f384e7c3f2491088c9f80ddc0497f387b80d98c380c72a72048c808c03845c7a9044838a0d5b7057266cf2cb8f71badc14e9724f684e573bfade56cd2ef2ed56329dfe9f66891f0d55f5f94043e68a8f372a67fdede386fc1fd5992bde7dab508331d1cafab1adc0d483420cb518714e5bd691143b57b1d3817b12b1c42787fbac7298988e9b762046cc87ba8e936d13abf10ddc369016f01da228ba0e474a567679bdd3daa195ffae0e21887e30975241408b7762e2cb80f110069922333774e7b6bab9d179c3c6784c33ebba4750467daddcc8c78d23cddd854a0c75435221a5226ce53887291381370da6224b9ec3d1abe8b551f33e62eb26204fc45b3d8e996aa8bcad201d6fcc0b6d69ffcc03f7bc43f24bc0486dcdee558fae0c6bff4d7c98834cf282afecea5f7cfcb73977ee7c18201ed3d0b8bbf73b1affce2f1138ca5aff99b4d565f4545fee33f2cbffcfec58573517fce8aff80a883010d7b6fe73ffeec135654f7c2671df2bef2cb1fd629051f578d2424d126a9f0207de48b18af358a8bef5b6d9fdcf6f4023c2c2810d8f1ba6c41c858f8c003738b1f5bea51ba58209b5dee6e0874595104235c635429f6e70bd9e5f3179b99bffd52223a215c53a72f103ec6f68d4797cebdf8ce7183b91f7da264ae87153cf658f32b6f5efef0e263893085e1289440dda5808c2014448c7bb20b660b81818f05039c29a38ce59b7ff93725b331a482ba8ff7c1e375a90e4cd29f7c36896281e3f517dfad4f3de054e37d7fb8f288c54072cf5bf82a92b3931cb57cf1f8bbbd3395a28b249f310e24d5573a748098e4eefaf3a7070ebc2b00a750f6c89fc4403d879379ec660df5c0c56b0fcc1bf2b115fb6fece3998c191c3a6c7a2602448008100122400488c06d1318f93f966f5b34092002b749c065202e00d9feb02c0fe39db3c5f1cb0a21501913716ea15dec5022422cfae4ca472fd5d55fef685f3c2f7fefdebfffd13ffc4358966b3fad2db8e75e54bedad4f0f545459f5ef8f51fdd7f5ff395df55ffeb2ffffd7ffadfda3eb9f0af95ff23c721882613b1fbdfed96a28a1c91e3baa6aa316ba734cf795c3e44f8c3416097eca6aa4a081be0f8b016899b36a40cb0ce35e43827ce18e485a865ba735f3635a7e7e47cd9d1913b7d9a3323bd60fe82375e2b2b78e84f577dff3fbcfeca816f17ff495a9a27cd9755ffdb4f9bbff8e28fefbbf7d503ff7d5e8e5f54d468447165389c69de349b5b65710444483cbb2f6f764767676b7b77a6fda6413d0d5556c87ceced57fefeed5ee2e1aa8f9b17165b56e358ae854f7dbff9e8eb1f7d74aafea353a83feb81c7172e40db8421a6277e0e9232b01cf719b3e114485c0545b3d9e5bac46b3bbc04831af53ed81726770ee0ecc68205d88dd025632d79242143040cecb7ff15a6ca3fb7f75f63c2834f5851fe4c6f6681f75ef93b6b2c63b8c6aa9299fbe02c76fe52cda5d95d0d7cfec30fcaa76b2e5dbac41a987d214ce83acb4d117ef71f5fb9d1637b437263c6701475ef9f78bb779703e3f31f7f42a81cf8f8fcd345fd4284ec8c11c6c2f7d99e16166b734b02a3bfefdfe80b1f2c78b73e41ac5f56ef4dcaf1a6507ef6a6ef7ff316bf0af434fc0348d14582cf580732c2573a6878f898f2d7fcf5d30997065e347f78fc1f4f9dafac29deb870248c03f54c414640a68ed4df526fc39127a857b1912b8c75e08346480f4480081001224004880011981c027dff153939d2492a11b81d021e9ba00b56d27fd386f30090830f0bf5364ee091c03fc6e2925d42a47d97a220719fcde56a6f0acf7249de397edd29e47dedc1e62fafbdf1cfafaf59f5445eeecc4bb59fde5f786fd69c995f061a73f2e7bcf5f63f2fffd33fb5cf9e1eba16f02200018712c0bc778891a06a4463bc9d213d21d672b3dcae4e458969383dd0d462062fd834866ee31e97d79b9e1656c2115c8aca0c85c54d6c1f30911aa0abcb052d95a8d6617c5af52ba535203a1c1fbefe4f8ffe5971548d5cfab4cee170685a2ca646ce9f3fe7cef0684c43e282dcfcd9e1f60e9b6905447844294dc4698cccced91cde342cd92a484338ead5f5711536fce7af78f2db7e073c1a0e41ae7cbdbca5aa4a2e7eca5af11d7259767e7fc239594e2c7c072ed5f98b37feed468f1c68f8f0bd131f9c7fbb72e1c2c7e6265b8ef6af8884d3406e876f2051b7b90eb7c94b4f7a15fa1efb7fc7ea1a94850b2c47821e68c64f87b5668edf2985f4b71a7833481fabadd1855e6727aa541dfd614dc663df564e9c6f71ac78e6af9762ed5ef9f8c57dc915eb814206de8f5d25ffd2f9f6f29acaf70c63ee9a0797765dfce8f47b952c96f5d08309c7085499f5977fbb29a949c3c79575c2c274566599eb7833f85af8d4730b0795140d7ebcf1eee289a3631e0bc8c85d7d73d150d3d047e586b4c45d8af1267c0a4395576ef5ab48f4327cd423f119a21e1e530f6484af74d0f7909075a364f6830bf85397c17f648c03f54c41e6a60d47aed03bae9b561830fed4031f50816e89001120024480081001223059046efc27d464f5407289c0ad1240f67facd173b0cbe11788639d9e13aca001d3e19478d16698d6ceff6030f8eae123a148b4a1a5b93bd433c73fe39db7df0eb505737c996976e9bd77dece999e1dd7d50b1ffed297999e9999deddd6160ef594bdfe46a6c47b385387cfc1d0998df33844af43458e3fb7dbeecdc840c23fde303855b5250e28e4389b6ec69598621304d12e41131c8518d554a7dd2e609b81c9c9a1100e558c76c7e132f8acfa5c9c639d9d5df366e775375e91bf6cbe74fe1cb21538d33ced5d9d9224a055576bebece939861aeb92c3365dcf4002455d333495b7714e078e41d0b548d46db7bb327d703e8cca4fa9aa42d874fe634b17f4c72e7fbbe8bd37ce5fae6ad04bfa56d2fb2578b2b18c5fff7ee5c7d94bb36bde79bd050e086bebf7bb6f5f7db7f9f1ef15cff5781249ea1327105ae6acd175f16243f682b9fdebd0bd9212fe04b66069d1dbf5e7df3878fcc9c78af5e6aaf2f31d2ceb9b0b1d5da71386667fa7036f2ebcf993ecef3d552034ffecb5f3c854f8e002cf6cc7884206364c8a4cea93b4bdf176c183056fd75f7efdd5caa7d72e953f7ee7f4d570d66c872ee38dc0747839ea2a8fbf0b5515d8cbfd74060bc5d31855b2763f2c2d62973f0a2342a0c091d155c04e7f90d84460a9b3a0d87a054d9e5abb94d5bdffdabb17ec8b0a9616589d591c6ff54a384dc63496054bad6d0eaf1d3cfebdb525aca1f24dc4238c905f60f878e766a4503ebbeb16bf8ae458878c7a143e43d88c349011bed241adf1ffcfba2e56d5e8191637bdaba6ea03cc3ef665e897502d35c6817a0e2723d7dca461ea0962f8567aafd415527d8d230dbc4f12fd2602448008100122400488c0241220bfc024c225d1b749c030556c04b08420ef3f920e5aa10336640b44da3f9b195755551424a6c7cfbd7fceeee461dbffee836a66e82daa96ee7645e05088c7bd4e47dbe5b63497d30b9f4287ded3dac6abcadcf48c7038acf6740b76c13019360ef0a290e17249364e3574bbc36597c4a8aa75b6b71a51c5c6f3d8cbc04b76558fc12d81973c0e29d094704c51e33a4e2cd0e386d366c359029c1e17794e536371252ad8a5e9221f6fbdeec6ae075d73234f213214f674cf94b06f403363daccb44c1689da70d0a16ee0b4759cc208f78268b3a956384114390bb055819906a799506c348ccaa58bdd30c6970e34340a8a97f2e74fd57c78a9646eef3a74c2d84ffcb1236fe09c8f4f5f78f7a717107deee65918d103454f3c79f1276f9e7ffb0d58eab872163d9ec80c90b1a020fdf2e5cbe5afe97ff5b74f0f948f3af6844447c163cfac905f3f75f9cdd72ea3904f9ffff4f74b844bc7ad90044b528acb9dae9c7ee3a7701c2021c243dfdb58807aa98438ea2c21a874437376439fef3f8957d65bc782a79efce6ab6f7ef4d13fbef2912571ce431bbf33d7d1fcedf7ea4f9f7ae3a728b16765f1b18e96d3ef859fc4a2bed564f8354695acc6738bf2f98fea85b9894c0e0be6b00faea6172583d685d925cf3cdcfedae98f5e4b68823302363e51c0ac3c0823a218aec9f09285df4e3196ee35c3c6821090b98f3df370d76ba72fbff1536b2edc6e64e81c2a2fa94a8af1a652de2fdfe25791e8b577d4fdd3370a9f415a8e3c90a2b529f519dc1ab9032f7ff0b6052079b9173dfe74b15fd047c698fc26462273d3862927a8ab7863ffdf4bca0ab73c837de3a2df4480081001224004880011986002d676ed091649e288c00411783e8347723f6ce38fe3c84033b18fc066330c0db6b488f87f9343f43ecf8bd198a6c7cd746f5a34d4e375bb389b09b701ce35c42e7d441c883865503733bd5e236605fcbbec2e58ddadadad1919693145461a4384243824c9e190e07bd0103b8045728e8f19f1a62fdb231a3219f03ab62f8892aac432dd76842ad8247b448d85a2117804589c33355d622ccde11211d1a06b769be07258f907742d96e9749a868efa38e94041de42cea632cb4dc06c30466c38c500590c45c1862088881c76d8459c59a8aa8a60c39605a44fb0b95d0e8f0b8e05f3c1f357268868af185dc6b67ec1e3817979e3d21545d1750722066e948df12e29cfe1718cd61429e87e54deb0e6bf3cb710d5b1df6168476312925a2124e8c78020f1860203a459b7c37a4b089a049506f49b5ad75b281d2073e4b1f4ca050a45176e32152c516b4c53701b5f45ca910e184bcaf7fd85230ce436f419d0f5c8185391b969c3dbafd03f6c84398c69060734a05b22400488001120024480084c0081d1fe3b7e02c4930822701b04b0da1fd3541c2288187e66e274421b0e081018af1b71073200e0c440f8004c33cde180e5a7f4f4083ca71b560a80386f4a02d6ef750e9e00acea335b548ec162c749022c6ee50cc8caf04622e1c4210338e9c0ba2cc9365e8ae3fc42ec1f1024873d2bdda57547c25c5ce5382dae9b8299666351351a0e75e398384ee2789c4620f138e6d029f0e160b787175c8290eb9f8e6c85f03238333c9150272f2161a2ea75f1f1702c236b5a5b6797b52541d74d643580470e6e8e38d675231999990814e851150cc7250aaaa62a7218bb155c6eaf063fc2445f7009dc0874ee132e381cc30bfb5e8efe3ba5bc614dac88ea988245ec54bd635d3d75f13031290a6007670cf2710c92368ae089576994ce52283eb6a2013207dca66e0b146398c5116aa5907e1b5f454a05537491b21e1b49c509f94a47d62255b7036a0fb81da0f680d201b7e3a930b0ee9866704003ba2502448008100122400488c0041020bfc0044024119344c023c06e66aa663093c18a167803d63b42ef799197041c1ec863519d197104de7bdd8e68346a6d3230757cd31296dc19a2fa7933a6c27f2030ce3074ec34c6ce022e6e79036091e35c432bcc40c7598036114255dde474380812a9dde30ed19e9399d50337404c472e03858b8b767b488989c82ca019960e02af196a54310dde2647e33e9723c797e5427b238ef001bda747936c4ed18cc73515891144bb2fddddd9d5e171a57151157911d0b58838018187cbc393eee9eae9865f00210f0e6c6108470d4d77a7a74535bda5bd3dc73f6d92f07ec5621d738be6cfcff60fb1dfbf622506777707aa3458417a2202448008100122400488001120025f0501da47f05550a63e6e8d40e5e2fc7034d2dedede1381f90e9b9fc145c08b226c698713c9fba51852fbeb1a8c71c8c7323f16fc11968fddfec83ee081df001bf463511c24689a064209105c608b1b7019387851829f013b68b0d9009e024d9378c121e104006432c48e0107f62e68461cb53ac2d1868e8e768d89d39c6a1c810a3c1fb7e97021c455643d44ca0304fc4b9ce011ec990e7796d3e362268fec00bae2e00c8764f50b97868eac01268bc4b9b06e68a6804d0a0a762930ebb0434425d844ec643014558984c3a66a0d013e0b86fd0971d388ebd828e1f278befbe9b55b0348ad880011200244800810012240048800112002372540f102374544157e6f04442de662f1fc1933b09fff5a6b7b548be33c416b0fbc6487518f587ba4edb716ff91c41f1b0104a41ed099c6893611c1fbd8f82f598719880ca906102260c22b80f5791b6c6e6c493051ca4c98ded6a395a010ef1927883a8bc754d52139908fd016e75c76c7349f4fe90e22cba0862407bc07a1028845b036291831e40740b24351149d6e2f8e336cedea72732c43e43260f123b4011b10541dbe03e8c6f13caa2b8a1a46f400f61ff08e680cfb1e42d8492038786fbac7e571f87cbe70b0474778025c183c8e3c305c127225b05077e294f7dfdb2450c7448008100122400488001120024480084c7102e41798e2137c570f4f977b1c4e07ce117470e66c9f0f3904c211c54ac987847f3604fcc3e0e7623abc0126b298e3bc406b955d8d61cd5db721b900676033018f8d080802b0f20c70f00b589105568c00bc0689e002114bfa701ae00db217e8d89400a9a22d8cfc8171dd864004241174b91c61391a53dd0e6b651fbd411462104453e4cc183222a2a3406717b63938b03b00ce098ec751090a8217e23a94426883e58540aa431c362062cf838a7c09bc03e9fc058713c71408a148a82d10747a249f373d3b335beeee411004820510d720322421b0094ef75d3d89a43c11200244800810012240048800112002773801f20bdce113f407ad1ea7ab4ce5624604b6759a37cd25b93b4c43d4382586bc7d30f16d3c6c6c840bc07a46ecbd16872d1d832700f9046c0ca1fa1c6f88d6de012bc79f15566039136c0813802fc05ac4b71209c471068128d9b1e68f6880702c1a46ce413b1209bab15dc1c649d82a80d8044748e663481720c1bed74c1db6bd6ea015efe4ed4a1cf9d1550428a05b95e722d8598064871c0e4a404c8168a5308cc359c1b0a3003b02326c02f6137485903c5f468a01a7806e256f5a063c1a488e70b5e9ba3e4df3ba9c8836c097952e39000040004944415439057c22d08087bb41bc9376e4ff417f8f34782240048800112002448008100122303509905f606aceebd418150efcc3617e2e3b3604d862d108ece8e999695d7218f63f2202c28a6e6a066732491460fa23c93f361320061fee021c42800401d6c10488f3478a400b075214c25dc009bd1e01cb3da0abaa133e011c43c8598936904fb04b8e863aa3822b84b30b3cce3451b4a7b9d31c6eaf108e2017207a414528836d07361c5a20c0712020028093049559f911a110720470222fc46d8688bc87bc204ae8dd8c63438089d30a0c9713c715b6aa3d7025c474ada7b30375bc5eafc7ee325967a03dc84dcbcacacc88c5e3e1b09ce672bb9d2e5d9bf8f308a6c6e741a320024480081001224004880011200244604208905f604230929049216032c326c0623760e00b480a18d76061bb241eabf18c971c0ecd34435d328e0554443b320e4a389b00470fa001a2f7756415341067807400d6b9863871006105483d086b1de908e371037e04f808ecbc80a76828cadb1d6e5c1cebea0cb7b6c715fdff67ef6d80a3bab234c1fbfe5f663e29533f2061e44236aa92aa4a55a8c7aa465368bad9856e88b1b6601b6f4347316bc5d8d1e58876c478c38ead8ea88975576c75acd9b063208289b163712c4440acd88558d8806d984633448f9816dba20675a9c64a77ca96b00429a49432532f33dfffdbefbed44f4a4a217e6d57cd7d16992fdfbbf7dc73bffb52d639f79cef981515538a2c6e747c07050f3d625926af80af40900589f3684902b81a687e80441060001e43ea5ab00a8e992b38aee1f1b42a81832288289c208241903834ac20022f44a588048539db2da039ad9a68652c33aa556a3535764eba9f9985c4684504310579c3d0c2e18744d618bf7de1d2f5c46486088a56dbd0beb3abb325f6907d1fb599931c387d21d1d97da8e9ab086578f2d18dd16ba7fbc8e1c3bbbf4cf59f5ced072f9333de7ff2d2e8ce558b523a2e825b1c141e1449e9c5078b7d84bbc6684fcf350304a1f4c97744adb6ad63675b237d08d71d6e51b1d2e11eafd7a284e12b3dd7c7c9ce43875a160a37968e527abed8e5cb38d1472f5db8323c3e9d3349b4a6a17df7fe67f73dfd32a6c3c66008300418020c01860043e0b705014abbc60e86c0d71381bc8d807d3e6719f8c19ebceb3bb97c0624008ac42b32895686366e8c5557d11d79300ef0f3150a5168c0a32c00022c7562c1fe47d1012410d0b40158eeb0e67964f5c39ec72942fd114180d6d48be0718a28c72aaa9eabafaddd2023781fcc8169cb199bba9f4ca70ddbb12196b751bdc0479a0286449d42e2c1fe01b38083d005bde064e7ec8cee824cb04004d79789281111be09de7215d7c38f886404c709c33350112e58fa4c760e9e0931ac1abe97cae566f30547e473ae375bd07d59acaadbe0cb422a9bce9bc6baab931eea39f2f1c5f8a4ded0dcdcd4546f4c8ef49e3d76ba3fb96ec7c76b604c0f8f4dc6d3cee3f57ed25e46f2494777d2e31323e3ebc3faa49a2eebffe46a2f13b7ea83319d9828b728258ba59f3b72e448cf6d742db9b84ad0635f70d289b189b1f1e9743aadebe9b1f8e0c553c7de3fdd87c764bde196142b1dfcf17acd4b7086afdc8c4f4ec4aff58d2ec82c1da5f47ce1fe97f0ee243efce0d4ad9149ada1695b7383911ac3f7f452e24b7e12bf8479b22118020c018600438021c010f8cd4380c50bfce6add97f411acb8a6e1a8a2cab929c2f145cc78245efb9a62470857c8117951a6cb387d4a9543a95d11dcb56501a90e34df8015068002c0302e7da1ef209b0038f1d7ec7750487b8a814007700bc04f007f8942b004405a1489813646cddfb8214d5a259db13f419590d39a6a5176c9eb3c3928a8c031b7e06a4fe13479050d490f7900980dc01c731f22efc0d618144c3dcc6da70541555a429b84e345ae15a36716c49a095102cd7c64714415044a92a5ae929b6c98337d143f6039213e0fb28789616d5e64cebcec4dde79fdb1c8e54e899346a19aeb7e2e3e7cec709a939f8d3375b8a3be04ee2c45f9e19b97a25d9d15dbf5ee7c7b8afb51efe590b58151fa3ebd3e842072ee6863cb234ba8f0dc647ec98a312c423f77eb20e4fa0f6430d4ce52b2a7d008ab39cef54b258f846e03f3aef928b0f25fba11a058036ef7ff3506bf129d4af7c78f4e648efb9a1b643eb3c304b8a950eb49e92e57b152524fbfb1039138db8a99b7de9bd41d00226be307dbaf84be7a5633edb737da87f92906d077fbabff845d56fbff7c1c55b7d435d4dedcf7660269d21c0106008300418020c0186c07a087cd97f1bafa70fbbcf105842c072054e0ad91ec8fd4c4a1f88a40270f8213380f808c847913fdfccc9a2f85c4d452c2c67752393cef39282ec7f19350b7d57cf991b6a6b6d5d9f358c18ec7aea0e0041210f731e22112910adac9ccba4b1670fca00c330109bc0a9a295470e81a3081003c640128b568034c007b9806df97049206b4056059add406c1b925c9913aaa2e1aa48a40ad5062501c3cb9c038784031f0035fca1304155434431406d1425703d1b5c89aa004643544e145163d1f039641c0425127887664df87305633a958a455027318c72884b88943b33120313846cd9f3cabc53006dc4a6bdbbb67c7cdd983648bd4af444dfc99ede948b1b42f3ae43873a9b8cc4a5a33d89864671642485ab4add4b6fbcd18580ef552deb2f1cfd2051fbf23b8703bbc5183a7ee47ced81b7f7ab7def9f49ec7ffbcd56ed61bb1c6ad556096f2a379b47bb565666e25acfb91b71339054d7bca7fb5007ecd4e4d0a5d3e76fe57051a8696ec41e766d703f7de5e4c99b63412548a56ecfa1ee8ec6a24dbba4869eb876b2e746801ea969ded57da8ed5a394cca4ed018be70f48ab1b7835cbc1a6ff89d1703a1c99ef73e4a36ee7beb501bfd080fce7b67c4ddaf7577342c0d49c8ea299060c9ea1bc4b131ba6435cd3bdad444ef20cc4c12d9b2fd8deebd4177f3fac9e3e727680321baf595d70f2384de485ca18bf567bbafffebb3f4c6c8f99f1f4dfc5997fae1d20aae9860a798b8f4fe99d1fd3f7d3330f0f54bc78f8e36bef26657fdba58413cbc64841431d4f676ef1f3a723e713b61a8c985076615e0f5a3c78f9428b6979c5840ecf91fb4ddfdbb2f8a8f597af8cac9733733f419269bb7edebdeab7e58d2ebedb7f62fe40ad0067890aff74d90ba5dddbba78f9d19bc9e30f637948cf2af6e55654767d12a80027d01f7f225ee144b16eef91f7ceffe2fef3cc497457b9895a5da2d42a4b5eedcda3f5c4f532d1e63c5974f990a6607438021c0106008300418020c81c74680e5113c3674ace33347a060d8a64537e85d1f490122aa068ae007e0112ec0217500c5088865f0a6a9b86e54163656846a2a2332f8fdc055688089c096250159fa96e3803bc0e5b882ebe62d336f5ab49e00aa13f2c2fdf48ca8456c59cc9a062a11f812380a14d007f2d88e860fc22176dec965e7ac7c41f4485894b76cacdd545d5da1481cfc01a60193beba32b27963cd379fdfbca92a16456f1f7c83162da3c8210a00fe000f6109603bf4691c832f80149127a864e8599693cfc36fe1160cd1f3c2e03894e588acc09980d9d20004c3cee70de81914575cc779373a340ad3bead753e32009d71d47774bffb2fdfa0765db2ffe899de54ac79dfc103dbb7aaf1de333d43a064d04d373332626cdf77e0e5ed5bccc95b1706d2e55a92a67a2537d2371ca40c246ff7a788d0d4a839c6b44bd234fab98cf0f25dcab5d49ff4012a33ba6e0cf79cb911579b771cfcf1c11dcdd1c9f8d5812471c6af7d04a74064ebcb070fee6a22f1910c5128aac33d1fde1cd3b7bd7cf0c70776d59893574ff5acd429d9f7c1991b29b279d7be7d3b9aeb52f1de0f4e0e95c5a4ec04b19266260ea740cd96e66dd5c575ac6faa1732f1be440069fa76df844b9a1a973905ca4f2158b2b131b2ebc081ed5b22a9f88dde4167d781837bb6d5e5c66e5eb83daf786a22bd6dcf81832fbf246646ce7e7032498dd060b1d4face5d2f45316765f38ece56716905574fb0df31d2747d030dd1434fbba934945a0fabd5cba9363628c41d1fce2c0c5746c80ac54a10fb7e6576e131eb3b76f66646a3cbb767dbe689c18bc7af19a5d329fa2196c61fef875b684b7b5baca9ad8690c1ebb749e928ff64db8e1228d4324bdc5fba70dfaf341feecba2adbbb25a532b8a8e0e9e3ff68bf73fecb974ed7622d971f88deedd4d4fb2e24bb366670c018600438021c010600830049e0081754c8e2790ccba32049e140110f5c119c07301a51fad30004b05d4fe8eeaa1182165240497003628b1b30f4f01580037d554e8b62b65e652390339028a1acae50dc417381e8800e119409942840f1384f373a855e0fb6a243c9dcf657403c1fe123c014839c899bc28cf65e62c540a0cc935959588295069da801042b0826f80a320cf99f8e8d04c0251e1454d5679d72430e97d179c063479c1876f004c856ec062102809ad513881800b11dc8744e5794d102dde377d7a19c5127970198a42341c726d6bceca80cdc0c81b395e34391ed9130fc611650f09a9af2dee1eea037ff9c1e585f6cacb6fffb97afdba4b222fefdfdba891a6aeaef16367e3fd435d1db4c9f6d7ded94b0dd2a6c4c091f8f0e850a24ccb435d9de7e3bdfdb7d32dedda00f6606b76b42346208845c7ef8ea172c2cb7619ba544638690df408d4359289e1a48e207fb845b4daa6063159fab1a9a1cce668d9d1c5aed6975e6aececead00c783a6a493c339a4cc7860708891e7ceb700b946e69514fffe2f2081d35b07c5d7d3aad76b477bf569fd08330fc409fe2cbd0f53e743cf0ceebd4c3d2d656dff3fef9f875e79f75925598949d6011e72d7b7ed2dd51af0ff51417a67d77c7e58f6ff40fa59bdab4febe3112ddde31efd2991f588c9599425bf0ab7ad74fdeec44e32667e0c8c5c603af7742ad16e7fae0f9f9a910d2bcefadfd6dc0aaf52d553f723ede9f3076cf2f56acad73f7f0f55b7a63c7eef6267d0880d01b652738d4da58bc3baf10a20f1e02abc5c6252722cdd8301c67e18129077819c54a115b54f2e09bc5e56b12494fa236d6d6d1b2389d9211e9e9501f661769a3ac98f56d9b49ef44df90d15132fd563c04ffb000c550cfb9d54b5c44a0548d87fab2ec5d676589d6f6cecfeafbaf5c1f184ec46f4dc66fddb84814443f74d53ffe8aaf983bfbc8106008300418020c01860043e0f11008fed87cbcaeac1743e01923902f98d4fee7b17b8f207c84fbc31d804d78d8dc9c84d282d4d047910278003cd8dcf01e88aa541b89488a28a633f7e7f23c41f102891ae8be6761e79d47510391ba1050bd102e00c29b30fe6579e3e6d8e8783299f2c2e102470a1515950817c006bf22a9b1aaaa8a8806c2c3205e80f71089e0189e6111d7554066006d5caba01b2035446144642308920c4e4417f63f8641a8003c17a031a0f5116182c24140e08c400d45d434a850f0499eb31d13d511417188d28ba86000d54445a8ace234571644041c80a640e4d6e117d0621a36ee933aa1b6b3d6fadaabb5e09c7746af9ce91d0fbede78c95dfef8d8d25a4d8f0671f34210bf8ccbd45883e117d8892b5ba6ebf76f8bf40ef60f91b6d8ed1c69464cfcb2a38cf035ba946b493a6808757024ae9fbb381ffb4f84adfbf68b574a3ffecbc341d4fd42e385f73232f5da4e92bc76ece75717da14df31c7583d9a07476b7bd3e5113aebd6436f8c9f3c7df3e6d5919bb4fde697f6b5b63414db2cbcd28e0d0bfbd14d6d0d249e7036b697c3a48c32c5fc04f81316a405ef0d9ddb22370661bbb6d60f64c8d67d1d0b7acdb7126b63e5a680bb8286250e0edaa5188e0e3fcafc35bc29ad0be4fb6a530b21f1b45eac0f506c11342c6d4e2f979b60b1f9f2d787c06a7907fac9d091b9b1b9294a468bf7d610b242316525625052a86f9c87496cdf5f4c6b094224564e07e38cf6d107c9bc78ec2f2f164725b9be81f1d6cee0599b6f5f3ae25a0894aaf1705f96067c591eb4b2fa7862d4d03aba0e7574413330510e9c3bdb3b78b1a7e5a7af3cee8acfcf90bd310418020c018600438021c01078420456fc45fa84d2587786c0d3440069f63c02ef510b9026e2a34420ef08c822f0c392ecc3b847b83e0a0ca0f420f51780fa9f33f2732a4f24e26f8855e885bc9e37c5908acc7e8880e7c0f45c1166b6074b9b0b894a48514db30079a150c5a60671ce1bcf16208414f439d8ed368c75e430ccce4ede4b22821b790af53555cf6dacb21d8bfe671aa2ed70b28cf005a821a1be21ac7b701b121b9c08704400055024a2be218d124084022c7c1a2d007de967f838501f5195d0003c05081700e9014813b8d94c4694944aad420bab9665e5e6b29eebd2c28a0f3c9ada5ac9ad1bd72edd6ea729eb6a4363239a0f232f20d8a40d0cbfcdafbdfb7a43206474e04a426c8d92be72226120ad6c19236a47e7e6c1abfd972e692ea9eb04a3c0b2e3e1bb946db924abf5d09fb72e7dc21966b5ee5146e6f8b993b726d43dafbedd81000963e01747b0498fdf72f8d18148601a92d1dba38434407a723851dfd9fd6eb7a62747fbaf9dbb71ebe295d6d6ae0503140d022b529f5ee8389ec0298eb298945126c0193c9541a7a51775e7cead8397077ace514877b615955aba3d547e0a4b0d70b652e4fc4d1376676bc033e124c7714da564842b8e6557ca4f905e45e846b1a3ae0759fdeb62353f0c3837178e64ff258465d435c22d325abcb68690e2cd45c5562246d571d380be2168d877f2fddbb1ae37f7173f2df62a0a21e9813e902e6cdd737067bd8a540855d4af9c3e3fd1d7a77776052d4adbd3f3f208d0a62bd508ba2fbe40a7325f9607afecf0b53397c76ab477df6ca462d4fa96ce5776dcfee846fad37327ff53998776712c7a82f1d8c1106008300418020c01860043e0d921c0f8059e1db64cf293226073becdfb16f10ac4cf7bee1c8db1b732a69df35cd4f3438cbd071a404976040efb83866b8912f6ef739ea1578694ba588c73092c78cf770c1b6f9e4dc0f0e75908f747bd02041b785c445405cb9fba7b3fa469f50d0d0e480b604620ba002406aa6c831740e4313a7c0405c79d9dcb26a75399b9e27d490eec7589238a24e60b593021988e89a360e6418a00a600dff250fe40f0780406e0a03403c8214095045e8037c3c581da04e04ea0b10ec4c4bcf40c2a1b162c335bc8e9869933ad9c6de3276b18ebe0d8b0fbe5ad8a19bff8fe49d4454f26c7416176f4ec60b0578d80e9ce3642264e9fb8329a4e8f0e5c3875f9e6c06879816bb5ac6fefac21b95b839391e6cea229b6a8cfc37759abe5a2a8c738292b3330f344e2c0d2bf7df2e86598b4869e6ee968252475ea784f22994ef4f79cc57e72c02f90ecbf7cf1cc07976e271c55d5023b3816942a5854a6a503e8a5ce1cef191e1d1feaeb39732b456ada11a7bf1a93b2ca14e5acb6e862ed9d9b89198fa722cd3b57408a2e65a7b0a8d2ca93e5d207cf7ed897482647074e9cba0576c2f685f081a0176deaa6878646938b9dca4eb0a30196bc79fdca00045d397102ac9630a0d7c50ac2d12c3dd477fbf6c0407f5fcf89f73fba3a42842d5dbb1b83d1e9cb1a42562ab6a85eb1634b7b1321937886c7d3e9e16ba77bc7724483f76165afa0b1d1d7075fc4d6ae8e1638c89ac0dcd0d8bab32d0ab0fb82c77e61fa4b7d9bca2d314d1b79a029bed6723f78655b3ab6d1e7f0bd137d4389f1e4f870ff859320af109a6ae9682b1f5a7aadecb1029db26dd8458600438021c0106008300418028f8800dd30610743e0eb8900cc78816ef67382405c5a4bc0475141b0fa5b054396b88822236300090530f43d17e500ad1a55c50798e4ae99af8e69a94c3695f378d937503540c18e3cd8fe3dcb45d03f36f45dcfb225cbaf8955c2c3904bc3daf723d1b08be6a257f05c6412144c87c7808a14a13506adb4819286b394fc5000f380228b12410d4458f59c8f0082a012a144a3188880120912e805f1c1b728ef01521fe0c2e090ce0098e9674a2d68fb0e2a16584e01b5127962788ee97a6aa8a28038011fbc03c1162d2a25a86ae05558677dda0fbf235e387971f0e6d98f6f064d85e61d2f256f0cc182101bf6beba6bfa54efcd53c7e82d941ee8dedf44687af9f2ef3eb687cbb6441fb1a563ab82c0fb8e9db0aee91158d0b4fb2374594b7820f0915e1e3c7aedf8ce6b23bd57cf7c04994a4d8d60a6267aafe9ef76bfba2b7daa377ee6a338ae47222417f846da5e3938f4e1d95b17cfc086c651b76ddf8a547fb5a9ebd53dfae9abf1b3a7684721da7cf88dbdc1cc576152768201ce45a017d50e866aecdc163d3ba877ec44b4ffcaa375679929640ec0545d5a329ccd6fe8a3ec622020904f2251a3f7cc47bdf44a64c78fbb9b446204ea064d622d4dd1783c7efe94f3c6412a0017cb4f5034766d19e81dbcfcd120e61c11480e83b5ed5f072b48834410225ea450e110ea9a77ec7f65377c0c8b3aac01f89262af1fa08a51cde6df02255b0e1ddc7ee2eccd9b1f07cf7064cb8eeec0d7b0389d7ff1eee1f9a00b637828436ab62fe5a7404e53678770ebeaedfee4de85e9a37d69df324b3cdcb3a8465197e075e1e5015f16f2a095d55af6bfb6c7c0e3d47bfeccbcacc896836f1c6a4af7fdc7550fedba2bbea00d7b6708300418020c018600438021f014104018f3c3d81d4f6124268221f0a808bcbf895610441a013a627fdd4654bdebc2da56154115054d56401f80828294ef9f4376802f3879380b504f309fb3ab6a37dd4bcd8e4c664858ca392e4a12d0587edb0ef9a442922be550952257122e97cf67447fd6f7c40dd5b3a6f10f23c90d1b638e658714652e9391c154c8f935d1ca8a5008750ac3aa82da0476ae20f9c86550505900b4808a2299561ee7703720a74024624892654186d7007d1128e0f1601d8403818e1f7cdb2054758950b0bdb461a61d274f3c83a35109f7efe6432112adae0261e15c6e0edfcd50248cf3ffe1f3e987820e3cf2d32813a0d6d6c78a9655492f47a7a9e6aab67c3fbca4c1e2e9c3b77c8c2e8f217c7194b54e56cb2cb9424f554d0bf040190603dc0b2b31a0151c1c67a151d9514a0496bdbf74f1615b5e3bfef31bc64b3f7ba76bd54a156595c8299dc2d2406b9e05b3240f9cceeabe25c32ddc2c5ed2e8cefcd2f110582d355eebec31856062788631b1f59fe1b5467ec0f532083ca0f5c2ad32bdd65b597475f4f4347d2c63a5732911454f1f7101171462ef0c018600438021c010600830041e0f01e617783cdc58af2f0381a3cf473cd41a20a8e507239b473a40366fa14461481104d78f10be42552be4908a0d7aca498854fd0232fe9100101654dfe5511e60746a7a329f276135ef387028c0871012902420c8bc58ad85c2284548dc8c6d4fe5f226180a6565cec06e3d27a2008269cb9e07698acc472a43aa161225841228d65cce9fcb29c8414091024970510b0126bd6be18b047a4278001029804392504a01fe0a1741030878400483e3a34ea100051c9b98a61d8e54a6e6f23958feb51beecd658727eea15642485078c2c9aa02774056cfcd66b260418854687ffed9c3f905be8c3561633c290246e2caf19e9b3997341f78fbd04abe862715cefa7f8508b095fd0ac16743330418020c018600438021f08408acb159f58452597786c0d340005cfde001a0c501101380728308b917910740b3fd5120005906855c612e6faab2ac86c361550a81ff0f74ffa81a50b088ed8b6a089505b04f6f83ff0fe901a01ba0d5041d10f959284ee03ab1b088020296e5ea05130c01b6ed175c1fc6bfe8ba11ecf9bbbee27922f8070b46ceccc3c25761ecdb5ea52f8664398c22099c2f89f05a88a88a081201093a22ebc147d6036a1e203a00b513c04be87bd09bd20b12bc83d9c001d9a0c719052b148a18a6393a7a67d67540569033c18d605668b2ccf1b6efbba89fa0c81e8a269af6d3c092c9f8da20206ab1d8e6a6b69dfb9953e06bb3264f4711b6b24f0747268521c0106008300418020c81af0001162ff01580ce867c4804fee70dc8e5c7febe84c2030e12fe7d77c684c5efbb2e22f689ea11099bf10ead02888c645922314da9094762a21ae664940844eec0ddecec675393b604fa4088008da0a00a3c7c0730e0b12d5f595de50b62269fbb73effe9c0d1f006fc19bc00bd56aa85609816c4040dd010e850ead025e90b12d10d9233159dca05554280afc02b456a2cc63e31fe245d008047e015ca4f90fd8f9e739381b82aa09a02240d942b4a0450b7c2258201c94e554ae3091ce927004110dd3d9b469baa18a70b8a2525295b97c21adcfc1a96139cebf9e85faec6008300418020c018600438021c010600830041802cf0401162ff04c6065429f0a02268fc87fc4e2bbd8e507611f76e41545010d2184fbb6cbdbb4242027d1db864dc03c3855302744b3822795a148a516d5c2e142550c950266adbc202ba02784e96e8172d0443abfef16cc7ba9344a00e8f94232eb1930d665b012129973b4b0e848081ab05dba938ffa88480cf09050a0a28e40de045f3c680e794420205100210036380560eac3e487dd8f00017cc0763fd51889056018a47e000ede057806789016fabc08ef01afc21f61e42c2756bd918b840ce2d7ca2aa8072dcf35826a87c868c8e40abc24e2e7a980c984300418020c018600438021c0106008300418020c81b2083093a32c2cece2d7028102f6ee099141d687d0009f0fd1507df008883262fc0587a7d9fdd41cc76d5a6840e052a635553026e67c319b53b296a29bae227f91caa0c661ac268478013b97f7f30eef101925001c542530c3115a3870d62708d617825d7959e54dd7b61c49252e9aa9321f06b5a0c25786550ec50260f85ba86008ba00940ce0516f90fa2b10be0066c10033780168e000f80a51eacd07f1000d2ac04574409a015814413380fa089c241724d1f41529acc025613a9e18d13ccb2c14f2b9bc8ee9205ea0606274815218b28321c0106008300418020c018600438021c01060083c3304985fe09941cb043f3102b0d3412608fa7ec408c0a246a13fcf060da1efb8363c068aa4225a1f7bf3966fc312073180c55b9e12f3156356cfcfea665e4f49aa306980a480c8f6ac639210720102ad22d8bb47cd409eb210c04d80af011c1018019bfbc4f1ac826ec115c17121990b8b424442b1421ed50ab19b0f8601d01922bd0101078ee5a20601ec7fce77f0e6214700a48590ef115c47a88385600709450b700f5e037804444f144ce24f19fadcdc9c493887978c74daa2b105a293cb67f23aed65d3ca0b36280b15041708d97ce18981640218020c018600438021c0106008300418020c0186c09a0830bfc09ad0b01b5f390234041f49fe22e2f30570f521575f370a020a07b83e38ffc35288130598d0ba631aae5b1084bb39c3135598e0795009a228212155153596930a820c14c7cc71e0f71754c9f3aad410ef398805209e4d6c37ac0ad8970725612e9757e03be08864e75549aa108410b165c7a1150f6c28039603e436881c6806e107404c804b3309903b007f8087da04f052d03bb88c6c02cf53d098ba1fd000710e4496e1e9d04d7bda34efa58923102164e62016f905bc345700bd001165b823041f1e0b5a77510001a16131dec1affc49640a300418020c018600438021c010600830047e9b11c0a6293b18025f5304105cefb802b8006130e76c2f6dda538607a31a04fec97cfef3d9d4e7d3536333b37767f589d9c2c47d3d9d755233fa645a47de7e385a55d7b0255c559d76dcbccbd5bdb075cbb7bfcb5744d3f03484c23c780738c4f2ab9a128985b51a4dab52d4a82455ab427da5521d5634890ba120a2c8cbc4933c57014ba08fb402511625142ca41507f12ecb7847b181f9035483f818b011c251403d04d44980c004043bf0604f443903819710f4e080cb4021be84920a047908886770105e200ab1ea4a1ef5115029812034c1332c0b748792b2ac807c99a532467b4e9e38b9749cbe7065205da6ddfa978cd16b274e5f33d66fb8b2c563775c29e8cbfdec24074e7ed89330c8e2c9973bfeb2d11cc3406e0b0e67bcffc4873da36b2fc32369fb60b18f276a99deeb7d585460bd864fe1febad02d8ef148132ff67a8a5d16315957e1c541579f2cce859d300418020c018600438021c010787204985fe0c93164129e19028ee03a7cc1f2738e3f6399939635c3937b1e9916fcb4c4e515d9c00f2a0e0a12f6d791c4bf81906d1bea7ef8c2d6ef3edfd8f6cde686ba8df14f871b3735fc60fbef46aaa25bbff79d6ffde0fbf2a6ea5fcd4efc43e67e8a58337ad6b16cfc20b19f334dd971a3b2a4897c88230a7e04a28a5c4812f1030601e28243c047cc02bc006038b07decfc9b05db311d071bfbd4b6a76c83880e409a81848a078830700d2b42c31b7c113fb627a10c82692b440c094258262199577841e68588a26ae148241c46e901780d90a5802804e411c02980e1e06258075f279d189b181b9f4e0747727c64f0e6e563c7af0436e63a5d57dc76d2e31323e36b1ba42b9a2f7d7cec8e4b22be8a33637a786c329e7688919c3ff92ab4288ea99f3b72e448cf6d7c30a6131393f1e9b5d76f51ed87d0761db18f27ea21c65d6cb2a4c0e2a56777b22e748b433fc68a3f0a56f3e3ac31ca1226eb2abc38e8a2a8c593c5b9b0138600438021c0106008300418024f8e00cb2378720c99846785004afcd1847f823d780f11f826476c10fe8b0409f9322728b224721287dd77df9795b0a6908a08b6ff23bae7ce6433e37ab600eb9a906c4edfe8b98542eeeabf1b4288bf2a8a7285f2d9cc740d07f240240308d5a1704844ecbe274b1c620078cfe43d5b415c003c0eb0f3690a8100931fb90a38413e0036f13d6ce7833b10373911fe03d41170c131009a008143ca8040b90a3819d5072dde29201580545456cce50aa9a919b9221a92c52aad92f7681443def32d781bc0a0881c06011c093eaa18c229801f3805c04b80f4842033e18108075fe2e6fd6f1e6a2d4616387d27deeb9db83da4ef6dd31ed8b1e426ea26609eaa4a653dd22f85c7ee5832f85776aab51efe590b264e74fc23c2234dfc692b2d82e24228624f9551d460311d905fac526b51ed87d0611db18f29ea21065e6852a2c0c2a567f8be1e744b433ffa8a3f0a560be3941fa50493f5145e1c74e9112d2f736144f6ce106008300418020c01860043e0b11058f527e76349619d1802cf0201c322e0fba799fbb093a98d2c483cfc04348a5f15944a29a210c9c146bcef7282e4897cca3653f7d2b3b6396539d8f4c6862b22fb6773b95bbfbc5d5d139b9d9dddf28dcd95e1d044365d1d118582038906ef224f4056422877089640cf46c901530d894a38046740c1b4102920c2f8f7f089989683240268e2ba081e805ed8d577103e007db0b14f44a402a0ad909a9e6a7eb169ecb391ea68ccb1ed8aca5856370cdb8e4463487028b8602b50349014c2c100f6041e650b38cb361dd73531b8031f03d53b484aa05385fc87c1b66477596ca8d7c884011bd318be70f48ab1b7835cbc1adff2f2bfe84c5f3977236e06e2ea9af7741fea80ed991cba74fafcad1c2e0a35cd8d10538b6b3def7d946cdcf7d6a136dad6499c78ef8cb8fbb5ee8e86a0ebfc4bb98ef4969eb876b2e7468a3a74484df3aeee436dd78e7e90a87df99dc3edb879e1f8d121b1fd9d37f6aa04fe8bf7fbd49d6f754c1fed4934348a2323297451ea5e7ae38dae18edbd7424aef5acd67cf1b691b872f4ccedda2ddac418952044b7bef2fae196c027a227fa4ef6f406ca08cdbb0e1dea6c2ac5e4f91fb4ddfdbb2ff6bffd66e3a2ac32fa778a894bef9f19ddffd33703c78b7ee9f8d1d1c657deecaabf72f2e4cdb10cedaad4ed39d4ddd1b82ce3e3015aad9ccefed8892367a9ea23e77f7e34f1c66e9c997da73f3c3f3619c85e090824bf7f2601b59b92971e049d317c7c3db1ea82a8562dfda0e92c17f5f65bfb93ab5684ac46a9a1830cde589c177a2dfaa9d60667b51ae9b59ec6f4f09593e76e6682276df3b67dddfb83c7b51c74ab9ec94e00bb78acbe0b3dd343574e9cbf197c2fa27531232db6615d8e07b0b76a64f5d0f85fe9ca653dd4b138c4d2c97224cbaeb55af2b52dfb882e4a7bf0e38daf7c77fb8a6fd2625776c2106008300418020c018600436019022c8f60191cecc3d70a8182ed1aa83de01087dafe44f4059597554ed6a4704452145e86d1cc839290f2f391b465a66cfbf35c2e6939201d84f16d83955014b0210fe33c79efdef7bff3ed9ffdf47ffcd37ffe6ad38b5bc2aa284ba47e5345554cf59cc25c66da9c9b75f42c318d0a99f204ca881610c144e843874cdecc162cc3230598ee84b73dae8070019fb708af7b7ecea53fbc12763d3e97370cd3acaddf94f8e28bc6966613b508225a323b57e04881e3efa666b29689d2056865dbf041b8500c150cb0e56e58a6e1d84823407c0462147cd00e82dc106518e03e982f80f8a095814d327dfb5a5fdf35fcbb72e1e4e95b1961ebee3658de8e6166e2700ad46c69febefd57676ec4d5e61d077f7c70477374327e75208954f66b1fc12910d9faf2c183bb9a487c24431408ab6faa1732f1be44e06c48dfee9b704953e332a7c01a1de152e8fbe00c4cc1cdbbf6eddbd15c978af77e7072a8a95ec98d0c8c6206faf050ca7527874621d9191d9830b5fa7ac7403dc9ccc888b17ddf8197b76f31276f5d584e8f600cf7acd6bc140ec7489bc49c184b6fdb73e0e0cb2f899991b31f9c4ca245b2ffe899de54ac79dfc103dbb7aaf1de333d43fa324c2ab32e492fcb9b28a37f3fe4d366011a741269379586521fde1cd3b7bd7cf0c70776d59893574ff5e0a92b3dd6d2aacc74d2f59dbb5e8aa2b3b27947672b982f714c8ee9db5f2e0f88634c17d55e073a757db18ba2d699ce7251a4dc8a9441490f97ceabd46bb21638e5d458e3694cf61d3b7b33a3d14777cfb6cd1383178f5f4a04c8ad82aedc9a165bd2d7b277c7af1d835320ba75dfc1833b1a9dc994694ea7730bb0a3cbeaa1cb2c2b7d04571dcb912cbbd6eb3ca28b22d77bbcdb1b16fd308b7dd809438021c0106008300418020c81f208c006600743e06b8a00ec703ec8ae47310298c981130b9be73c8f1a7e3cea09ba05db461b6cd49b1c376b3ac95c1eb61917524dc3e02519e6b59337455a49904884fbfe77bffbdffe37ff14a900aae0fe2fbff8394e6a35e5c5863a5e2f1893d30a4a085896011bd1f323959c8088000f49062892289836ec775b428dc290826ba6e958962dcaf049f00e076d38944e342d036c02a85600b50a86216be1175bbfdbd8fabdfbd3536a083486611766bea4dce8bf79e78b71d747be01ad4408ce4217490b28bf484b1dfa88e3172c100e7a28c0007f0152123c4426e06dbd035fe3ccc8adde919276e924ac92a259b065cf4fba3bea9de4d0dd975ee8ecead08c3449d692786634998e0d0f10123df8d6e116886869514fffe27220a47d77c7e58f6ff40fa59bdab4febe3112ddde515f229c90e1bef21d87aef741e081775ea75beb6d6df53def9f8f5f37ffb895c46f0d8d93fae9e1607337773be1b488031922bcdcd14846fb217afb6befeca59e87a6c4c091f8f028692feefdd241c558eb4b2f35aed0bcb37ee54668f3beb7f6d3c489d6b754fdc8f9787fc2681ab8ee92c8cbfbf7366aa4a9ab6bfcd8d978ff5057b0895bc4441feab9bc3c6fa2acfe43ad8d540daacbfc814c91c04be0ead369b5a3bdfbb5fa845e0cfc5f68b1f0be5aabae32d321873b770f5fbfa53776ec6e6fd28780ed830029eab2a8cfdad0c5dad615db46c5e0df7ad35926ca491aab57a48dc6b7af4029dcd6f98f16e7b500c9d2fb6a709ae8cd95a8967d1a877afae8a3fb66f1d16d12494fa2962a806305204309da72c533595c53342ebbe297aee34ecd8fdf3a4cf56969d4df3f3248e36fa87cfc2b76593174d9a73440179d4a8f6548965febe0d95feb115d9435747d9dc77bb1253b6108300418020c018600438021b02e02f40f1d763004be9e085828d507327f1a56efa332205c03b0fa91c5efda36b6f3613f38341f1f09fd22af888a12c9a567c11e4040e0ef58a1703812d232f7eea3aaa1e05b68ed6467937712df6cdaf207bfff834f0777fdf5fff96fa73f9f6e6d951b37d69090aa8139c0f7b273b305aba0841044e022a81fd639c2d2b17b0f8603b828f28ecb810900963a27582e077bdd85d381f201e0baa380f200ac04a2949c9a6e6bff9da14f3f357d6aea871079c0f993a919ca44a848994221128efae027445604c80c212df004400c6a1cc01f412b19402abc03c85580d721f06b3c7881e0cdd87ae0edc3886f0e8ef1fe9e8fafdeba72bbf315fafd56609ee34dac8d91e4b5633fbf5a6cb3f00a7b3056bff06ba0b5bde9f248602136746e8bdc1884f1df5a0ff37debbe8e85260bfda82159ae6370bd014e81e0686a6b20f184ff7cfb66726bf8f670437a54d8baab5defbd3d3c3c4c4689d20a9583f18405339f7e82d55d7aaca17969139c2badc5cc0142d4a61642e2691da840ebdce58f8f2d359d1e2dc6fd173159babe7446e7b542ff40c3a516c5b3d6436f8c9f3c7df3e6d5919b14d2cd2fed6b6d6958d9a89c5662e35a0b81677471a80701b27c9407b70c043e84d88798ce92a8875b91a29a4bbd96ab8d4f6596acbc1ae59f468708f58df3cfa5d8be3f485319828f693520d0e1016b5ae62e75c509b50df31aab2d0dca60bc54fd324323f6a6dcf7abb4d7e2f90a4c562b8c96f35fdbc53ee54e1ee3f12e27865d6308300418020c018600438021b07c7787e1c110f87a21e0503f00e5f9c7c63aceb0d58cb20330a361a59ba649044f1224700ec082b6b181ef1319eaf324934d23c8c035728e6373761e462622b45f68a8ffbb6b7ffdbfa9e69ffee97f3f3b936cac553bbf5fa34d659fe3fd1ac7006d41c8b1c134581b8d188eccabb25ec8e761eb23670061fc9c0fa70136fcf3968933151c0392087200440dd02a836006b49d2a4d13900500f63e5ed850579b18fdacf6b9e7a6f5dc6832ce2b522a9d437c812429a0198c56d5822401a63f0219e02f702c03f904706f805880a0fe00fc0e7004207f00390894b9407ae82559b2dc1bda5b84ab716a70d36b48c3a03286ce9dbc35a1ee79f5ed0eec9e1b03bf3852dc29470b3d0db3291866f4f62821456b48ddb973ebe0e5819e739a4bea76b6addc9c0f4497e91858a0faf482c0f1044e71d477342be76f5fb9e6ba8d07da3bd243377baf5d2166cd8e7638105684df07ed97bdaca1f9b23648c84f8c1aad2dd421e124c7f10a82493a77b2f9b5775f2f4e6974e04a426c8d92be454c5688a07d2956abf4a757e1d52936d7f520e621399ca8efec7eb75bd393a3fdd7ceddb875f14a6b6bd7829dba20b98c560f9ccefc180bdd9fd6fbfa621f6e3ad0878a2a3f8572282d4ca0ac0265c0490e0f9743b5ccd3484773d378bc8a8bdb77f2fddbb1aeeea685014bdecbafe9428335ee8ac49d1e47f80a6da6df1ec56f9b850ec58764d5d03b8d73e5be5f4bbd569d95c564b1d5fcd776f173b91340f0688f773921ec1a438021c0106008300418020c018a000c2f763004bea608a0f400f8fe1c1e65051cd3a7d101b42a012196cfcf9ac6b461e4e1254012816b67b3d9d9d44c54512a240901042189f30b85fc6ca61a1be96ae8a5cd9b3a9b1a5beb34fffec4d5ffe354faf3f81fbcf4bd7f7ea06b57c7b68d9a20da7a547055df12cc5c98b89ae487881353e5faaa586d95a686c05fe0b9bc63f8262709d8c947c03fe80c72a6912b1808fa8719af280acd34b0109540e90032737a58d3bef73bdbbed5d272e0c0811feddbf7fbbfffc3ffeee0a1966f7f5756438807e0c07c8fe403ca7fcf3bf00ad00207c818f011a180bc019425a0251068e204fd7ae2d6bacb0341e9a1bedbb707e8d17fedc4d18b305d9b16b28b613de008ec1f913830636f9f3c7a190d0c3dddd2d14a48ead4f19e44329de8ef390b5242ca2f408f587be76662c6e3a948f3cea2e955bc5e7c5dab634b0762a053678ef70c8f8e0ff5f59cb9952235ed88eea7d7dd4c0e5bc44d6aaca909790f4822e8584e64582abff4bcace6a50d8ae783673fec4b2493a303274edd4210787b8bd6d20965264e9fb8329a4e8f0e5c3875f9e6c0288208e851c4a4785efa5a56ff8e06045c98d7af0c40fa9513272602e338d97ff9e2990f2e21234255b5c067100baa39944ac3f96aadd6980ed5c84d0f0d8d26d7d26d85e487fbf8b0621f623a4ba24092413158fe2c69b565502a22bdd6bc5683b3961aab9fc696763c459358dcf1747af8dae9deb11cd1a85768f551764de76b77204ba0dc13fb879df47b71e6f8854472f4dac9e394ab73fe6b41c5971d7a8d655dad0eae2c2149cfd6381e70abd8e3311eef3586629719020c018600438021c010600894feb1c3d060087ccd10408a3d4c66d8fec8f3c7ae3d2d0788a80191373c67b60073d9e473a62ad3d87d300556d7d6f0a2f259f29e2622e0df0fcb5c88f76316f9c75b9edf1c0a79f792db376dba7bf7ce7de3fe9ffcc10fa793779eaf0a7ff31f7dfbaec2253ffddc300a95aac2fba86d40cb05c210977ccfc79e3dd2152a43a2afa60cddc8145cd341e880e3f20816001b2287d8006ce9234e81136ac391d9bbf7044d14246cf3134e16fffddf5c976545fa422dd84eb8327ae7d31195120982b1405442a1d46c1ad2118000fe43d121bc0585a5b461a861cc4684b300fc064149027c2ab148d65820b448c56f5c5c0a758e6cdb77b8b35ea41bdf0b75ee5a77eebc36d27bf5cc47b8a4d4d408666aa2f79afe6ef7abbbd2a77ae3673ea29d2311929b379cf1a9b1735bf4eca0deb1b3051f561c626357d98e6a53d7ab7bf4d357e3674f518142b4f9f01b7be9041adbb60a3747c4c626d86ef52d5bc88db168db42de036e2f9fe3f22997d53cddd9bd22862112357acf7cd44b158decf87177134436ec7d75d7f4a9de9ba78eddc455543ae8dedf4468f6fefc00c11b1d7af1a4bcfea2b16bcb40efe0e58f0631a5884072e8d0b6ffe0d087676f5d3c0327048eba6dfb5650300497c96aad9c720b81e9b43445e3f1f8f953ceeb07a0d2830059d43618e2412de1de79b0d845516dafac3b9d25517ff6dacec8aa6729fdeea1d528952af02fde3dbcfe92ada9c6caa7516d397470fb89b3376f7e1c2c6e64cb8eeedd8d84e611ac04a4ec9aaa899e62cbf27745f2937dcec98b8367b0e442342a98195115447c37a8f0b243abe365be5fb98378dc97eb43d76c09c9b5d73a581974a6bd837fab4fd67bbce950ec6008300418020c018600438021f0700820811a19d4ec60087c1d11f8a1845a80042e0104d3d3bf8ac1002089be24cdd976c6348bb103b8853fbd559eab89627b7f63fcf311111bfdcfd58ddf1923bafeddaa8ddfaa88569896e8165c2e6ff939a54afca33fdeb7f9b99a10a2f667a6fd6c6ef68be4e46777ec6c210c335e54609183a4c0300ccee77959420c40ceb3b38e0df35e4f17b259d7464c31ddef87f52fc06897792ec2f1313552a5a859101c4442aec44fcc4e7fa3e945d8f677ef4f71926c792495d1e550581494997416436032a18a4adbf3f2969dd27507890f22ef0a9c695b48329028aba1805c09e416a054e185fc92b1fe64ebe4e8c8ba17550d3bdbf454d5e044c1015e7bc3295e2e957fedf8cf6f182ffdec9daea051e99d85f3353a42e2d2400b6d9fecbd4460a9e68150d0077e707ef4c0cffebc15b71cb230abc5014bfa2e5e5be7a44c97e2256df9a6b48307c571568d48a53f50ab12f9f4b4ac8075547c16b71f309d55c3959f42599456f57d3038781ecba05afe69c41388471af8950bd6583e6e89c2cb6f049f96dd3546fb7aae4fef3cbcbf913efae99e5f1c8b37bcfc6e77fbb27e65862e11424fbf9c652d1974997eec03438021c0106008300418020c81474060cd3ff81f41066bca10783608c8d893c7066d504d40203c78f8880b6b1d59f74a38a20ab28c0b3e0a19a2c89f51d06733f6ac1e4658413697f1278cf45c8504163ff7def47d29a2d544c260f593950a59e325c7d7429a3e35e9798e5211aafec673bec04f8ddecdce6638db067d8099b32dc3c4488201d241bacb5f29f221411643be801a08a2870806cb01ffa0a3f05e88973745a3924b102b206b1579c78279dff69def7c7ffbefcee4f25b0b965615bb3b35c3cb4a65756d3e670c0f7ffacb5ffe72c3c6fa5c2e373d3bab44344196101f20cab291cb090838e079c445a08c21320d04c40c3c4dc79da869dafc5a959c524fc1c2e5e25d94973fde7333e792e6033b1ff43b6255c78507a154fac2b5277a2f1158723a2f92c670e31940018615f328de5fdd615d55ca74297309ee2a2411ac25ec415a95082b395d4bd29776fd41d359a94489dee54f577658f6f941e0ac44f5414f239ec0181c830f73946859a6f9b2bba2688c8d0d9efacbd1e6e6faf4687cd225db3a5a56762a3374899092d3951d9ff2e72f6fa4a7ac3813c7106008300418020c0186c0d7098107fdcdff75d293e9f25f22021c2a10129424e0e11aa08c83081e40743d01dda0807c7e0e3bc32a2a00a844527d35e223cbc0b4405528a9f2fd74266fc350f775cbb4f2793805b842be0a51ffa6839c032f67ea1353865980eded497c454cdbac6d55c3913bf144762aeddb16ef1044f3c32fe09816b6f4519e402162ceb1365454d456c65080209f37f4bc81fc7f595645df4706022201cc5c36822a085a34e31873d9ec85fffba21fd2621beaccd12f0ab67b3f9d7e6ef3f39f8ddd1178c970dc4f4712c826a8aedd98cd17ee6772a84c4039075d57465a01271a9ee5da1e220530c45713d1236ab1d8e6a6b69dfb4b62fdbfb68fa0dad8d6dc5c5bff90e6e197358dafa7565fd6ecd719e7d1c0f9d29f46b161f74f7f527fe5dac038ca7dd66e7d79f7fe76b075b28321c0106008300418020c0186c06f2f022c8fe0b7776d7ff367f68f3919f63276cc11b38f228238a73e0241524391b97c01d40392a2800810ecfdc8008009adc8aa56533547ecffefd743b59b36fc4edbb6b9bbc9ccf81751d7518d7cc8f3c31ca908933fdcdddef88d4d0d8df593e96438226ba1301805dc39233b393df545327defbee8f1283a08e23f071507a8eb40e0096f58268928882ce08900a640942aa081041c6f9b66613653198a8404295f301c41485ba6a988adbfdb31fcd99dfbb3fa8c3ea7456b2a6b6b877efd092f49d1aa58454403c56036a3837350544339d342ad8239238f49e9460123223d017904a86e00a700ceffaf42ee377f31d90c18020c018600438021c0106008300418020c81af29022c5ee06bba304c2d20e080b41f3102be2f80c39fa03a812f8bd86ee766f5595401900535145271dbe3b9b016b10938036510d24fa4a751fa6e53a4e2effefe57d313931b55a1614b635375a5979a72d3f7fd9c5598ce7a351b72a9ac1652210f263a8a09c00b5059572b8b4a6544bb3f9ecce939f01a846445460d4313b109ae22088669410f4194e029c8bb96993791c880a3a6266ae50b1ed80642b20bbf8522a15c21a7ca750dcfffe1beedffbeef6f892c832ae0bfdabb67cb0b8d1b36d44d4d4d0e0f0f138f4324826e98a86e108d554dcea6fedf7ffbd7343342040ba18bf007ea13014d219c12ec6008300418020c018600438021c010600830041802cf0c01e6177866d032c14f8c802f2048dfe578640c5023d9f7617a1364ef2b61158e02eca59bb681fa85bc2279ae3093cfddcde633aec511dee7c5c1c467aa2474ffb33f31a6eedffbd5506375ecf9facda158d49f9bdd5851bdb132c6a1eca18932831eec706cfe5b8e2bf95cb82212d13444f4df73eccc5cae601305d63ee721a940e2787825506c401145f00b183ef801c17640c07790cece86c3e1ac95b33c2e677206ca19aae16bfff146def013c9c9f8676386efdb1cea29b8e03888c562e3e3e3b22cd75455db8e879c02b8062cc741a4c05cc10e8743bcc41b8502121854b0204a9213b81e9e184b268021c0106008300418020c018600438021c0106008944780f905cae3c2ae7e1d10e0b0674e2bfb893e8f6a852e4c78c77379e4ff7b30cf3904f373a20bab1e1bf48e6f4ecea6b360285442d8fcf73d174ff60f7fd0fefe91f73eb9d9ffe6a13ff9756a3adab8a5ba2224f2a2313d93b91b8a54850ccea8d818554211d8f973f939d7278aa209a1f0f32ddff4c1027867cc28181cef0b615974385426c4ce3dc6c54e3e865625391289d8be3b97cbb9704548622167b8a85a284aa841883887e75fd83af64532353bbbe3f7fec99d64f2fe6c7ae3e64db6eb81d760435ddda79f7e7af7fe24cd4d10259424a0550f25490eabc82220881f40948022c255e1988624a1e4023b18020c018600438021c0106008300418020c0186c0b34280f9059e15b24cee932310f605cf715da4d91307410030cb695e81ef4a82e4799e8c1a0191b0aa852dce9bc9cea802e15c4a43a0f0bce539118eabe5f8a9783c64999a0b8f02a9f4ec0d4ad4cab97e2e5b48a995913ac239968e8a68bee1d81c0f874098e7a4829e0b69da37bedd42c2ea9dcf47e752b3a6ed884a84721472881bf01dc72de8792d5a5930cdbc658265c073ddd44cdab1fc50455850d48ab0a756547d73cb0b12a75aaef783ef7d57e2b9d6ef7c578b4551aa706a76aaa67a03d8107ffdc97faed42a7286091783e506c90cc495549018125428443e811a52e186409ac39323c924300418020c018600438021c0106008300418020c81b51060bc836b21c3ae7ff508fcbe5445388f162140bc3e9209c0308884019fc8bc0ce3196e02eca58bb2687bb69e9f9bb1c81c6523202ef6eac3e1cd1b6a2a43cab66f37c714be303121ccce345755919969d1cd4754f1b92d5a0473b100004000494441549bb8b0e48614372cf361541b10b05d8f1a04883f706d4716a55085f6c9d027fa5cc633dd99c964a510724d039e07e278215440a0c9ffb472a2e198084f00476021975725300f2a337a3e07b2c08aa8180e174c07b1032e8ffa859139cb999e9d895456201a00e3cc15f23ec74fa7d34aa4325b300ccf353c620b92e541b28f4a041ca80d1d47e0784595fe2a9b7fc06238e3fd272f8deeee3ed4b81e21bf931c387d21d1d97da869bd960f186ef196317aed741f397c7877a9b0a2323b1f6f087df4d2852bc3e3d33993446b1ada77efef6c892d0e577af244a32c0872e011425d3e913c0558ca69fe08ebf2d02bb8a03b7b6708300418020c018600438021c01060083c4d0418a5d9d34493c97aba08a43c23e55a19dfcd715e81174c813705d1e4049aae8f1002c7b391c19fcb872cb74e94b7aa520321edb5d5bf5715dbca732db2fc6d45e4ee24a4e4f8de6ddfde1a0b3ba909c52f5487c4422695999a0433a0ac86e07230729665388e6117f4828e92008635339b89ffe73808045fdcf2e2779abfd3b0f91bb85cb01d1439f46429efba998235871c00041a58beedd20a0515e14ad1e5cd744e34fd4a5f94f3b6373357e178959ebf39a2b9a9596bf2fe37eb9ee3b2b928469c4a2996071f40a514f60b8ec4c10bc087c09a100a83d5d0f6382448c04f01f7808bb405146478e0614c272626e3d3d46db2ce612487c726e3e98768b98ea0e0b6931e9f18193796372d2af3384338890f3f38756b64526b68dad6dc60a4c67acf1ebb9458217e7eb0c71f65495bfddc9123477a6ee38231fd64b0aca1f923accb43afe092faec8c21c0106008300418020c018600438021f0f4106079044f0f4b26e9692370d73340ba277844f208b6d0518f8086097844e5c510113481d2f2d584d52a541a1471d3cba218a1ac6cd42af4d4540de7f3b9b94d1babbeb1a15a2ecc6d8c28f7efe53991b76d01bc000842b02ccfa47bfb84e379d9854489f21512d43b242a88034ca77e43bd69e48d82d5d4f42d8148894fe3f8a448b26fd9d9f49ca6a882e980f3201442a141330c464149ae9042514e04bf601e7bfd1cd1b3d9fadada5426a3c92874a0a6ef4f6eacae01e3405545e5fd74a6009f442892357362a482530493e32733738687a40457824341d3b4ea4a9127a895b80eae983b51d460d7de71108cb076737a0f303ee981c921e4816eb513b252da9232c5560f3b963ed43f49c8b6833fdddf12cc44bffdde07176ff50d7535b59711f1b8a394881211f02104ea6bad877fd6821995dc7c94d3b534dfd90e890fbf2e0fd7f25114636d19020c018600438021c0106008300418020f89c0e3fe2dfc90e2593386c013209046483dec76f802107b8f7d79d4ed835d4b88ea591122d8304d0504ef87b5b0a67a0e92f2155eb4b259df326b052e26904221271414d1c85bc4aeae8c58b535963e3767bba81d60f952360b064007a50843b0c87c41027920e14144006e829c5df01d7f667a063105aeed7211f1c56f7d0b648689cf3e73a80b007907a243d910452514f2791e2c81a82650130ea9b292c9cc79a8a11896505380485c6a2ee54b722ea71349357c676e3ae972626e7636e77992a64d170a5e24a28b425e20e3a94c1a3517825408c1758c7cde96045a46d159cf2f401136fb4e7f787e0c963551ea5e7ae38d2ec4dfeb89be933dbd29a45510a179d7a1439d4db4617018894b477b12f50de2d8580a176a9a77b4a989de41da3db265fb1bdd7bb535ba27872e9d3e7f2b8776424d7323020f6a03792b5ecceb278f9f9fa09285e8d6575e3fdca2257bdefb28d9b8efad436db4a99338f1de1971f76bdd1d88f0587e38081008fc025aebceadfdc3f598c75a13593d0a1595b8d673ee46dc0ca4d635efe93ed4a192f49593276f8e65e835a56ecfa1ee8efad1e347ce52fd46cefffc68e2cfbad40fcf24f6bffd66ab56a63b09b06a68144746688f4578a9b4d2a39ce665d765b5868198322b582a9e9d330418020c018600438021c010600830049e1d02c25ffcc55f3c3be94c3243e04910f88bbffc3932fa7180350036287e6022e315a6ae457ce4e4c34a17894779ff0a854236ed194644128d4c46e6fc88225646c212efc35aaf8a55a2a8a024292e0125213f3b977751b80091ffa816882200822ca0c001aa11b8d8ac07ada0631b764ed7113d10c29eb82c65747d7a2e53595da5555414f206a216f0e3f9bc1c0a49e1487a2e8362049c28809a203387da86a856e85ac40d5e1d5fe27396894c058b780819702925818b4801300ee47d3f6d5bbea62145622c359302dd20ec488e77880fa6c1bce7cee60be95c5eb7cd77fea7bf78008cd6fda1bffd2495cb90ed2fffa8ad3aff49fc93a4d6d6c6dffe5ffff7bfce5537effbd1ce98313a78eb56b2b6fd5be4d3bffd64a6e587bf179bfee57ff8f5442613de75e09f6eccdff9879191cf27d55d077ef42d79fa9378fc7eacfdfbe497abbbb7587ff3afcedcb4235b5ffea33ffc86f5d9dffdc32c5136feb0b3552e51aea84c61cedab6e78f76b6843ffdd5af07ff76b46567a798e8fbd5c8fd86cedfade649fa97ffcf5fc733edbb7ff40db81f160e59f306fe36fec52737fb0686ef82c49157db77fed76d2f569364ff6a4d8289a4568dd2260ef7fc9bbf8a6bcd3bf6effd61cc1aff24fe6bb56567fed2d1ab23c6b697ff78f7f7ebeffeea57bf1a1c6fdfddae894ef2f37ba6b279c7cedf6da0b0245ffce1ef557f56a6fbc62cc56a7696dfbeef476db105789f5b2255584bf3b2ebd292bdb05ac3fa7cb9152c19620124f6ce106008300418020c018600438021c010782608b0788167022b13fa741008d2eb69cc000d13107c8e231c4c78e28abc09f3ddb579e2458cbcaa881ec802782eaca016010712418727796cf43bae87ed7db752314c700a2a551b1cc3cfa64d578a1a449d33480562c93ddbcebb3e0f320151801b018e0251cce6759017f0bc882a03a222872b2b10a82046221be5108a08deffe2be2d7ab942de33ada95cdef19d9c6b462bb55cc130ed42580ba184c25c21cd0982ac464ccb2a989612522d8fe8a6617a04851565112512b9195d47c901dd76b2be9f82e743e4e69c60aa9825921928b5218d8f5071fe10c7f6d7ded94b77df9b120347e2c3a34389eb2e89bcbc7f6fa3469ababac68f9d8df70f75752c13b4eb276f76d6a3873370e462e381d73b5b55d2e25c1f3c0fdfcbd0f532dd87b50142a207df3adc825f1b2d2deae95f5c1e592670f143f3beb7f6b7c1e86f7d4bd58f9c8ff7278cfdbb3b2e7f7ca37f28ddd4a6f5f78d91e8f60e0c5d7a686deffcacbeffcaf581e144fcd664fcd68d8b44d9b6afbb69b88c26c589ac1ea52bd6fad24b8d9d5d1d9a9126c95a12cf8c26d334e480b8fa745aed68ef7ead3ea123e522d6d6b97bf8fa2dbdb163777b933e8479d18c02b15cf7b6e077e40a78497b10f850d47f0dcd7797eb28ee2ea3e1fa43140762af0c018600438021c0106008300418020c81678340f0a7ebb311cda432049e1001de039f0076e7a93fc0a33632e7f930a0896921e8df0d71bc2b70a6a2e6154506d700c7d9f97cd877a35a642a9731042fe24ba82ea08f8d37fa1c98082ab4982987ee151c59521cdd2c4832af850cc7927c5f02ef3f717dddb7241b325d5e423cc2e4ec5c381cd273d6ac9596a3dae49df13a2df6dc375eb02dde97d25987642c3b3993f9d677bf699be64c61ceb13d41946c07c51209af457c9f4bc35160b95a3496b72c8113649947b1437820907990338c9a0d1bb23e97438dc3d42c3c1fa6e773b2425d209ee37b41b905900b78de9c4da7bcde210411f76885700a9a6a11d8b9b9cb1f1fa3a7c5637a3488a45ff808828685ed7afa5ba018060f6fcbfc7d5c5bd93da7e166ac7ee177466b7bd3e59185e68b52e989d2da322f5a6d6a21249ed60dd2d4b92d7263b06f80b4d60f64c8d67d1d0b62e67beae3895143ebe83ad4d1852b60481c3877b677f0624ff85b653429a604ac1e456c8c91e4b5633fbf3a2f34786b3df4c6f8c9d3376f5e1db949af6f7e695f6b4b431128705796b6146bcb740f1aac8677a9df5a9a6fd90fcfc7ca8e8f37c4d260ec8c21c0106008300418020c018600438021f00c1058f1c7f93318818964083c2e02948a1f9509e9263a7e900a00cf00475f832bf8ac3be48b391d9bf695aaba419137207dc07366f4b4c471d94241b50d053e00dfaf021380eda7337a2c5a6d472bef4dcd284ae8f389f117d5866f3cf79c67d9beeb55442210e8cba283c404015bf7594d55676d13240684176c8b0b47ebf3796372468fd4d6677cbe36124b4e4d4fdd4b0bf7d3b22888bcaa462af45c56e07cc7b0148977c095286b2ee718a836c88100c156684c028f620a96e554442a1d6410d84e6e6ada80f58f14098412d8305331bde0f0e10af1e15ca0fe90c739206af36befbe0e0b18c7e8c09584d81a257d65252d338ee75b94e91e191e45b27f1abe81a0cde86d7c2c8a9fefb3f066c2c46f0de8039de4382eaa94d34fddb973ebe0e5819e739a4bea76b615652cf42064f8da99cb6335dabb6f36d26b6a7d4be72b3b6e7f74236db8e85b76226546193a77f2d684bae7d5b73b1026610cfce2c865f84792c3c3f59dddef766b7a72b4ffdab91bb72e5e696ded0a8609bc2774bce251b6fbc2cd35dfd7d23c578e17e2f18658736c768321c0106008300418020c018600438021f03410c0dfdcec60087c8d1140b8003c028b078c651873d8dd47313fe2c378cdf95ede45543fea089ad8d5b745d8e5b663988834d0c252a52cc884e7d2733555b5222fcd5956a4f18529227c3e3935671ae023703cd72c14e07ee0d3eef4ec34e20a7851c8a6339190e29b483130402588a203bc227df7db2dcf556f98c9ea36ea08d43d67e74c9f9374edcedf27a7cc0279a1b1fe858d1b89160339816b9b0837c8e70c35a2818f20675b222ff8c86e40be026808443114055ba170379dfd6c3a356d5aa01500a1002f88704f2c4e14c40a3e5226e8db82a760e9defa672d9d6d247ef3f4892b875ee92089eba72e0f2adb9a3a9ad6ebb8e02128dbfd9d8e5612bf75ea78cf8f5fd94b46af9c05bb9f52fe17c8e0d90f6b7f7ca8491cbf70ea16680ddb83f081587be7e6cba7e27133d27c70b53ba1a563dbe5b1c153ef9dd8d5b5b3b156d547072edc488130f1873b63ff69a4fc44568fa2dfc60445e2c00390b8d27319cf8da1a793b72f5f1cbb3cbeefc79d8d9a16541d88d14a0a74aa6e7a6868b4765199207a6065f7792fc8dac8ada5f90b4b14044b9d1f61082371e2688fd3faca1b5d88b96007438021c0106008300418020c01860043e0192250fecffa67382013cd10786204b08dbeb8af5eb4a44dcf4d5beea4e355480a274b86e373ae9bf585190b7e053b5bb0f50a0f89fa76163e843cacf75ffe7208a4fae9d9d981d47d23abd76fd840041ef67f6c63edf4fd692828c3b6d7f321c415f82292016667a6be10841737d4b9a6a586b5fb33f740766023d8bf71eba7b73fc1c6707e2e3799bc6fe573e04054043e2ccbc806505107319bc9e70a1b37d6c662557a2e67d84ec128789e674bf26836fb45c182796af3082ec08ce00129f10b3c9a3b60f9171955041bf6beba6bfa54efcd53c76e623a60d1efdedf240e0f94ec902f75c1197ad065a1d111c17bd9eea4e9d55de953bdf1331fc5d12812213923685df2521413891abd673eeaa5d7233b7edcdd343f5463e7b6e8d941bd63671943576bd9ffda1ee3f4d578eff933f3f2225b0ebe71a856236b4c84ac1ec5d9b9f3da48efd5331f418252532398a989de6bafbc7d70eb87676f5d3c0317058eba6dfb026a83584b53341e8f9f3fe5bc719002805bade5ba670e0092f9090402284af327c1db5a9a47477b56776ced2ca3e11a43e8a0c230d2ab202e1d9b9d330418020c018600438021c010600830049e06025c60623d0d494c0643e06923003241f00b2c59cb459e018c8254fcc08c4622bd402b16d08f455b4da1b4838207c6c1e00abd87a87442ea3756ab92ac28c82af0b73cdf78e7ce9df8e8684dbda655463644ab5ed8d2683b26278955751b4028188954cc4ca7249fabd22a3dc7f1e132a0bbf75e6afcdedc4c3a5c510976001420b01d6f43dda67bf7ee7df2c927345ec1a2e4074a90de0f6560e5d75628ae69a24ce28b8d9b62d5557726c653e96cd6a494094248d62d3b8be2873cef71bc81640981874f018912a8cb48e7137c33f18e2b1eaa303ee6e1e8c8ed17558dee903fc651aebb63e886b3aec8a01551b1435f32ecb5e33fbf61bcf4b377ba4a2f96dcc7a9a3a7a77543d562da729dcb69425911a0cb8a514a5ad2d379151c03c121ce0a7d960f5dfc54be7bb9962baeada5f98a66f8f8d843ac16c5ae300418020c018600438021c010600830049e0202cc2ff0144064229e11021c1730e82d4a5ff00b20ec1f563a2ec3f62efec0f8c721f102b6e2035702f516e007fdd1202cc955555158da9511adaeae0e86f7e6cd9bffe63ffc3bbd90fefef7beb3a97a434d4d0d870281be67725e281c46febf6b3b51356c19e6f4d494619a5aac0a690b9661673219d3b22b2a2af2a6812a03a228a3b861369bbd37919c9c9cc410d0019aa0bb00931f6e02911af99b366f4606c1c8d89d62ce39b20660e8530dc15c40a914e9c47c1e0e00a40e786023809700df4ccc10121098806487607ebfc12f46e2caf19e9b3997341f78fb50eb3c2be16ff07c98ea0c018600438021c0106008300418020c81df2204d6deb7fb2d9a249bca6f1902744f9d121052cb19d6355e8b7e0197e79150005b1a06352cede0b22711c1b0ad7c2a1dad88d8b99c5c28a0fa40dac87d7bdbf7fe7e7000bbc89cc03ff7dc73b2ac6ca8af4331c2c9d4942008cfd56f4e8e8d7ffac9a70dcfbf303a363676f76e45655410650b71022179a660a0a600eff3a9d48c65db5a2412ae8c86f2055dcfcd59a64cdd119c2448f00f18a03bf8ffd97b17f8a8eeebde77cfecc73ca591460fc443e221d980708cec18ecc4b40e2431a42e3417e8a9a13998b6407a0d9f7b0c49c0f7d6b80eb8a7c6692ddf7b20a705b71f9cd380730e4a52c8039c18d21c2571206e85830598110f3d60f49ae79e993dfb31fbaeffde9210304210240794df3f62b4f77ffff7faafff778ffcc95a7badf5374c251a270d233a27b804d1e331155551a8aa003932043347b10894c4e0248f062d8b89b56206ac5a036c2f06e63418034df017154daca9fbd4e7e11418034f134b000110000110000110000110185b04102f30b69ee7d85acd35f1025467d0b2909953c0cabda7d7fef443ff06820a5892bee529705a2fedadd801e637608637c7151716902fc1e7769597954882f3be9aa957da2e707a76c67d331e9b33f7dd77dfe55d52f9a4490d07bf3b71c2a4391f9ffbce0f0e9f3bdbb268d1c2ae9eeee327ff6366ed03c160d999d31f4e985821cb32451ca8aa128944c88990cda8e45c48c9996432158dc6284f406725111d9e02afa252f001c504382818812d80e74d2a9a482d478b20cdc9cdc07306c5099073c3529ff63834adad17722c4880d4260f88620547b0bbd04000044000044000044000044000044060a4095826ca480b853c10185d02b65f80450d50d000a7f7ffb0f001666a93596ea894ac4f5759f6be830cec9cc0f52492a96c4a7718ddb11ea724b45c08958f2bf5785dbaae0a8233968c75f77651187f6fb427ab654bca82bc247afdee8995930a83c5f134db3190420368f740411405892f28f03df4505df5b4a94581c2543a2127e249394e9e028d1524a0fd06a9248019492693592a5be03605812a2172141d60f29a66e89ae1913cb4558291d32977c034a9ae80463a909ae41420c7077d52b3ff38ede3d1e509e9200002200002200002200002200002bfc3049047f03bfcf0ef99a593bd6fe504900fc069050b58810394f0cfa2ec59be00790798254d6fe20daa2ec012f69955cd0ee9d53bbbce6939da0890a3927fbd89985b14b8305714f0654da36272a54774f98b0baaefbf8f321026544d92bc9efb67cdacac9eaa394c77a0c05b5c20f5b8e8ed7f7145b9ae1b71254d0500c8e9101c57fa89dfffa49c4e9237815ef177f7f45251029ad52952460067508500cea47d0a48adb49261a63e5d62a50f4c17c73ba8fe40264d5a490e1aac9ae40e20a783aed15aac6c02a6f140fe00ddc316800602200002200002200002200002200002a343007e81d1e10aa9a34480cced7cf9f6d4c70cf18149fb2c6b7a014f4776028249563959ee64b4d36f319b1552ce8eceae427f4159d5a49c53ece8ecd1b89caba844e79c17dbdb3f387356f478ef9b5eeef1f975cee172738160f0c2854b9a690a6e578a6a0f9285eff3f7c613a7ce7e48b90059c3a050811ccd4713d28608340bc529589901d4e1a46803161840b50328888186585a316da93821f55b7a532f5bc3d5d49ec10b1a58190e40000440000440000440000440000440606409c02f30b23c216d640958910283459209cd6c6cb2abaf6bd4432635cb2c608d19e496f54d95fb583cbe6d8753ca3eb3c1d51c974a5300bf42567ced7daec2c0b84beddd81e272b7cf1bee8a95964d8c27144a0088c565de940a0a4a8a02656a968b25d28643c8527900b7d7145d3ffdc5f193a74e9f3a75caed76d3ae883941ca696a56cff1bc83aa1b501201452f989403c0ca08b049c935c02218ac92089672f441f3b36be4bb606ae7ecdd1358ffe076fdf9e06b3806011000011000011000011000011000813b2600bfc01d2384808f9c806568b33c7c7b66fb941d93c7c07ac96e65e85b6638f30858ff58f43ebbc892f90d4ecd1a29d36168a90bedddb31e70d29e01477ef493a4929ef3f8e33fffe5075555e396fc5185618a4da74e3fd47231a3e5a866819173882eaf9acd5de9ecc96475dde9b87ca54572fb74ca04d00cd3217002a50728cc1f9063250fc83fc099d6fe82562cc3402e449fd24c59fac751f2826df9d36a98ff000d044000044000044000044000044000043e5a02f00b7cb4bc31db9d111830aa99987e337aa0d32ad467ed506819d856c080355f9fbdcdaeb3007ffad41daa83ca03aacda10b55a7cf49b47b60a0843c05b1b422f9a4a57fb2a27c52e595de9e405929fd5c8ef6ca5ace5f54ecf2e402fe40913f28c7a80ea1a9a98ec292605b5b1b1db35d0b73b47b8093d3a992000b5120bf005525604903969ea402b906fac2192ca59832d4cb8a12300781ed1e18089020afc7557f47ff78fc06011000011000011000011000011000811127605952232e150241e0b74480ac70cb0067b1f974e060c6382b2c402fe6ed1fd28baa17d2c681866e66a82a408ebb78b1d5eda652023304c94d36bac7e36b68f8ce8fde7ec7e72d20e3fce1871ed134adb838408d3614a4dd045c2e8faee752a90c15115014954eadfd14c933405b0a08149240b503d9ea73ba93ea09f61bfcd6bccc2f30a093557c800da4b283eca72fe5c1eac107088000088000088000088000088000087c5404102ff05191c63cb74f60f03bf381a080c162ae4604306bdfa4747dfacd3ea859bf28c19fec703ab482f6990ceb8d3ded5860384d875b9212bdf1ec7825d61d5532a909e5e32e5f6a4b27657af59f4dc98a9c2c09169ffcd5094a214844e3d4138bf68eaf28670e028e4b6514b7d7a751694187537049aaaab21c069e2c7ce68020af04fd66710326651550a3612c6c80fd232dec1f7681364960be392bc2c07229d8890f4c96156b409f6820000220000220000220000220000220309a04e017184dba907dc70406bb06060b1bf0085c1d4011fb944340163879029897800d67f9fd9629cec2f92d5b9bfd72900381cc7543d7694fc35cb83b4cfb04509b503929168f7b04291808a66499ecff949c6e6d6f9f346952f5b4aa8ef67697cbe5764b674e7fd0d5d5c54ba2dfef4fa7d3aa96e5693f826c8684b0ea05e414a0f999514ff3d06fb2fcfbcb0c30ff847d894692e26c9b02cbfaa74f529ddd6ba539d0a1358e8d450301100001100001100001100001100081d12500bfc0e8f285f43b213038c1fe7a43d9b2bd493833b5ad6336986d62e8749025ce2c7f66a5db8d0d62a3c814a7cb14f5ef348d9c9e3355ce7049ce582651a816918c4c564924e4a7fff8e9de58f4fdf79b366fde3c79ea942f7ff9cb3e9fe7c1d975bff8c52f78939bfde04317dbda0d43131cd2990f4f4f183f81f6234826e3a2c826a57d0a45c1a1d16ce41130586d01cb176199ffe400b0d6c04c7e720a58a104749db90e68b302cb83c1e206a8d97e057644cdba6e1fe21304400004400004400004400004400004468100fc02a3001522479f0019fc374e220a2eda6c80a5f75fbdca760da4a0001a4c29057417efe0754da3538f5b5228fa5fcf3979deed779b9a79f9ca958fcd7aa0a2a222128f91d7e01fdef82712d5d9d36d741ae7ce5f9078a720390d531125072f98994ccaed72c7e371f20b90dd6feb433a696c12aa3ac87102d520b492072cb7050b1f604906b62783f906fa7f987380792c1ce45720cd993bc3f260d0bdac70a1edf560076820000220000220000220000220000220300a04e0171805a81039ca04c884a6196c53dc9ecaeed154c53ea5c07edbccb6c650f53f965d200a2275aa9a4a6378276f950ce4b5ac118944ba0b0bfd1eafcfe37579a4eaeaa917db2ea65249f21a745cee280a1451cdc17834a6715a7155c59996d397c33d14ee5fe02fa24d0abbbb23864eb5049cf4be9f4524384581a37204d4ec2d13c9b0a7e8011601c0521cd808d6a83e21d51d20dd2c8702b920a8d1458e2a17dac508adea846c2cbb915c0c6820000220000220000220000220000220306a04e0171835b4103cca046c5fc0e0492449b2e305c8ce66a6f940d400d9dc64a0eb2c4c801a651ad8f7aaaae1f7ba0a0b0be9461aafea5a4f34c2bb256fa020ab6b7a562d2b2df3511681db4df508b2d9d4f94b170b02fef1132b526955c9d0804c61a050492b6eb7c750359220496eaa3b404101594dd5b42c45165836bf417e0a276d4dd0a715a7aa1420c04218c8eca71f32fc59f000731f98e4d0201f86c1fc0456f6418e6da5800602200002200002200002200002200002a34700fb148e1e5b481e2d026432531b2cddeed1c8e036e8c53ddb0d90cc70da1cc032bc29d9dfe405da4190a3a4028fd74b973543a7637a399fd58d6822d9d67eb9b3b7a7f572475291ffe35493e491dc85fe4432415907d168dcedf24eae9aaa287aa0b0249e4877764568cb015f61816eeaf7cfbc7fdcf83223a7e49c9a93a78a0259d3481ba66c9a298e4b730e2a6c4836bedd98e5cf5c0154df80453330f5594102eb87d523a03c07c3a06d0c78ca38a0980207e771f1053ec9ebc11fe9e0478d63100001100001100001100001100081112680788111060a711f1901b2b6af9b8b020158f5ff9cc36079fcb653c049aff183c160369b150441d334da41401445b7dbabaa4a61c05b5a5a4272dadb5b23c9a483e7320ea5626ac5e5ce7054eef504dc292599d3b4caa913939184a66524d347c10519359b484605d125ba9d93268f4b247bd42b194914693f02554febaa551480a6e7a966207349302da9cea11539603905584c008b6b60a907ac51c9425124ed84828202daf240e245dd34449e175c82e0706ad65aac81f80001100001100001100001100001100081912700bfc0c83385c4d126e074b2e47c9ac5feb45fbed327b900f81c99e354e08f935cde60b0c85f18a0187e2a0d78f9f2e5706727ddc0f322bda24fa7a912819e4cc96e9f494904828f2b2815fd8505dd91c8e99626aa2ce02b76160782d1de5869e138d590dbaf84a6564fd01d3af90e8c9c8f9205325935ad28973a4229251e282bf0482e2747350b145da731ec0dbfaeab2498ec7f0a5fb034643a9332341d353a266d2962401024b744db1fbac95b416e8b5c4e27fd690f455255cf69d9ac46a10da3cd13f24100044000044000044000044000047e9709f4d551ff5d4680b5dfb504c88aceab1bf5db76f5805f803c059434e0913cf4cadde3f151a2be53945c2e513768e3804c329924733d1a8b3efcf18f2f5fbaecc2850b274fbeffe0ec9965e3a9d420bda5f7295ad6ebf5867b3b038182732da17115137a7b7bd372a6edc2a5de2b114335a64daca4f2845a4ef305fca6236738b9683ce6f5fb63b11899ee2ec1258a2eaa0b90555851437acf4f1b1dc872c2eff7d2bc9692e41470d0f68464fcbbdc92dfefa77ef202304780b58181d364250fa8916781fc0254fe50e0f92c49c96629cea0a3b5372f077482000880000880000880000880000880c09d1340bcc09d338484d12240c63ebd5a278b9d1c0164dea752293aa0530ab6a7037adf4e4901643bd318b2b43d2eafe814957426168b93d19da3ddff4c234bdb0f581b10544d9efcb73b764c9f3ebd665af5a953a792c9f4e1c36f9797fb6ba655a6b3e95f7ff07e494989c6e9454581849c0c145f20bf00cff1e5c56565811291e3fda267c6c71f0d8e2b6dfce5cf52d9b42838c657946534a57c7c517b7b7bd6544d4e8b2562f4da9fd4f378c5644fa2a08c4a046445d31004574ace504902523850524a9104f16c17792e320a152cf4a6322949742563493a161c929ed333326533382acacb1d8223159349e268f1855c10000110000110000110000110000110a0146cfb8d2b5080c05d4880de9f9356e405a0280032fea94600bdf9274700f5d38b77fab4dfc6d3315de51d42a1af50d3747ae59eca643483761f70b0ac7d41a0a801721cecddbb970a0d5ceee8206f426767e7bbbf689c322138be22487b07c4e2d1482cf6ef4deffdbab9edbee9e5b158c2e3f14c9a50e9e6c529132a4b03c5d593a751520027f1effec7bbe1deb0d3e5e84d765f683f9fa3f2050e9334a459680ada834037548fcf2dba457ad71f2c0cb09000b6fb004f5b1b929b837426fdc941c0feee728e8e8e4e234be506b96c862b2a28c8694e8a3820cf028da40404124b83292421d58b5482bbf0eb099540000440000440000440000440608c10805f608c3cc831b90cb2f66dcb9fcc693a26fb9fcc69329859b0bd55d9dff66ab11c02aa3590e35cbc4b92e847a2c47db2c7c9e0d775da738052f5d9a6802fbef8d5c71f7f3ca71b91dedef7de7b2fa7a6f54ccce7e6c99eafaaaa720a7c46cd7cfb3bdf3979f26420102007c403b36605bcfefba7dd3779c2a4ee2b6132f5a7d5d64c7ba0faa7ef1ebb126977170a0e37670ab98955e3a990e0d9b3a7c74d18cf398cd3674fdd77ff54da5e3093c9161704294d800a119695963b78c1e910bababac82b419b16d25ad48cda126a8d74270c9d3ffb41c8e9f070babba72b422e095a516f6f945647078a9235127681c231f990b128100001100001100001100001100081df3201e411fc961f00a6bf0901b2ed295f8006902f808205e8945ecb93a94c9de42920b3d92addc704d0b1c9392846c0c818996c96c6503a3f6dfa6715f0a3a801da2cc0d9dadafaa9df7fe2fcc54b14eddfd2d2f2c1c9f7bcbc565116185756de13bee2f2b867cd9ab562d91f077c7eb2de4916975539498ff57405bdaeb260e19c4fcce103e295deb69afb26ce9bf2e0770f377cf2938f263289071f7e80d413fd5a26937679dd8f14cfa4fd0b3abb2ff77667053e2b16b8bc3927efa1488708296e3813fe62b1b0d09fcda8651565d3ee9b32a9a2fad0bfbe7de962bbdb55e8e1035e6f01654c90e3c3ebf345a3d15c86737a6e42089740000440000440000440000440000440e04e09c02f70a70471ffa812207b9f5c0034057d5223d700f3000c0a16a063ea21b39f46099c9376ffa32d01d90e81fdf7908340d7b374ff2f7edeb87cd9ff515656d279f94ae8ec999cae1a82da7ab9e5e2a573545c60e2c489f1444f6d6ded1f3ef52405299065aea4658f2415070a3289c443750ffa0a1c092ee610d3a699ea8ac82515bede4487e4137ff493ef513141ca50309d7c5c8e979606df3f7592fc121eb774a6f9fd8af20a9f37d01bebece98e780bfc5422815203264f9e5c5136fe725b7bd5c4fb52a9242daaababbbbcd4d3dddbeef1f86dc58b8b8b25c94d1e0adb33429d6820000220000220000220000220000220301a04e017180daa90393204068205481c19ff141d40ae01db2f607f0e4c63070ea89cea7438459efc030ef20e50b3e2ef4d5112a9fc605bdba51ffef0fb1ec16d72862488177b3afd9edcf889a592430c77f5f6c6e4c2c2c0c9f7cf544eaea2720693264d2c2b0d4eafbdbfc0eb250f42b0bc2c96ec3d73fedce5d815598dcd987d5f3a9351753f47390215e35a4217da2f5fa6ec03afcf4df505dd2e6f2a1d2f2b2d655b12544f9d32b52ad21b4ba693c192428f4f4a2412975a5b1e79e491425ff1958e58c03b5e96d36a96ebbcdc1dedc9389d5d24c7e72d609b18721c791c2818616099380001100001100001100001100001100081112780fa02238e1402478c0079014896ed1db0fd02b6681639d01f44704dbf75d9413b1150b800bb959a9395fba31eb2d739ae2458a22bea8409e329e1e062eb79c9e5d44dbdc0eda792049c4125098c54522e0a1653247f2ea71717f91f7860567949e0d1398fc88978576f5767acf3d4f90f7a13e1857ff4695f89d49becac9e31c570e4280a805eec578c2bbbefbeea543a5154ec8fc723e5e382c978c434a8a001052bf0dd91de9933665de9a4ba871db533663938a9a2649223e73f76e4dd63ef1cbfd4d2dd7539e2f7fa53c954616111953cc8a4b3f1785cc9649dbc6024a986221a088000088000088000088000088000088c0a01c40b8c0a56081d11026c2b015db75f98932380550db01a09b70304e8c07211301f005db17c05ecd0e960de00566280deba93694ede01c149279118ed3ee8686f6fcd283275a5144d14dddd29854b6424c16568aa57f47745928243d0cd5ca63bd9f64ea328f0e72e844d5d3b7dfa74f1b8b2ae78ef8cba5a45f1272ecb3ffec92fab7edd3673d6f4405141ddccc7bbbac26999f7784a9574d62b155f38db3171c2b8482ca26b665959504bf6ca5125a708132beed355e9ca95ee5cd6af2b32151d94e38acb29de37b5e6fcf90b1420400ba0aa879acac2047841a04a8a74800602200002200002200002200002200002a34400f102a3041662478000450ad8f6bfed14187010900b80eaf9535abeed14a03134928e0d5df7fbddb2ac90834074f19ace4a0dd09686a66e4805051a6d709833dc029fa3aa7e92442fe49d822f63e83917cf492e31e7f009928777d1fb7d6a1e9fdf7070194d2d19372e9b4a2f7afc8959336bcf5cba68f0e6179ffba292938fbff78baeced6f77ef98bde486720e0efe86e9ffbf8238f3dfec8e5ae0bbc439b5451dc7af122d508e0c9b2e71c545c2095ca949697c969c555e0bfd411ce289ad75318f014a7a3ca89c65f85de3f575a5291482bc95496b21828d78016c5566498e41c49f7a44680264480000880000880000880000880000880403e028817c847057d770701db36265dc81140b63a8500d83905e41118f017d83d7489ece782025f2219f7f95cb47981d7ebe10531914aab4a562aa03affdeace0c844638aee280b16f7d27680a23367e805057e47918f220b782de776f09c6eaa9934a5f7a7d30993977c458559f21114144eac9af6c9c79f7017959ebbd4f2e6de7d2935f5a9273e291aae7f7ef71b59455ebb768d437fef07dffed9b1774e4c9e52110a9d2af57bdc2ebeb3275e5535a1c85f78f6f4198a609832655a3293f9f07c47d6e45c6e41143c2ed1aba7b25ded31a7cab9c55432a364694f056b1786feb53bec95de1d0f045a8000088000088000088000088000088c4102881718830f75cc2c89a5fd538500a773209b60204c80fae9753a7dda9102643cbb5c2ed125d1019513a0827f74aa686af9b8f1e423a0b27ffea2223912115c92c3e43445a1dd0f69c34343cd3904a72ef19426c0699c4b24df82a067559e17497256357c05855367d6ce9a39d3a53a1c3973f2b4c952815b779ae7db2ee85af6ed1f1ece24d2ffe7ba2fd6d63e70a5ab73d27dd37e7ee267172e9eeb09b79f7ebfc9eb9332663619cd891e4a63e04a027e5996c9ff104f18c5a57ecee18cf626a8a80127f0222f7a5cde743aed7109e4fe48a7325e9f87d4b65d1ed4a3a7507a901e081a0880000880000880000880000880c0a810805f6054b042e88810b02d7f3b4c80dea2935380ac7ddae78fc207c8534036bcfd6a9d0ea8d3e3f30a929b4a000a82339b4d93914f3e028fc7130c962612320dd0739c924af90305646f27e5784e33dc22af52ae0159edd4748e5c064e81b3cbff971417c522b1aac953d239a328109cfbe0c31d972e9df9f0ecb809e3fee43fafd07394c2c09f693edd7db9a7d05f585e52f1074b167392545456128ff7fa5cd2eeafef3c7aec6dd5a9f774763b5d4eaa23e812a5eef69ed2f220a9944e67680fc29cc1519c02278892db432ba2f204c5853e554991fb80c5476839d125b0956a864901066820000220000220000220000220000220303a049047303a5c2175240850f03fbd4527dbd8760d306bd9b2dac9b01f88aea7ce81c6b62724335a359c3c551230bc6e37a76a1de72f595bfe51e8be67d2c4095d3ddd6a365b36617c3c1ed5b22aed64e8e05945431aef7609ae029f66e87e5fa1c7eda698fef6cb1d4e9fd7e3f77d78a94549a59d9278ae25f4fcf3ff37ed6f50326e7c464e899c188f25828192583a5df7c8231de1cba2c89f0f7df8931fffa8a7bb9377499c4edb2338d54c4ecd280e818a2008c998ec71b9933d717273481e5aa2d71f08a4b24a6161a16190fb4273bb3d724ca6fd14e83aadd760b513d14000044000044000044000044000044060b408205e60b4c842ee9d13983061422c16b38302e873c017400102642e933b80a6a098026a74899208a810804239028671e4fb07e548f48f97ffa7271e9f4b36ffc54b6dd36b677deff0db858180e875ab9ac6b62a308c643c2148a23fe0a7bb94583a505c50581a8c24e3e5c172da4e309735cacaca525a56ce283ec91dede9a5687fafdf97d5b5b49222df4471a028d11b1f37ae227cf94a56a778037b87c49c53e4bd9298cd2822cf67d52ca53a94969718a623168fb845c9e93073ba491316151519ba9948cb26ef74f9fc65e52511f25928697210f4f4f490d780a20c68d51419918965ee1c262480000880000880000880000880000880405e028817c88b059d770501b65d9f6518db1e01db05c0deedb322024e32eca987ec73fb80ec673911778922d50ff03b855933a78f131dab967c7ee6cc997ff5d597beba6573f3fb272f5eee9c565a1c89ab9c9ef3f97c05bce01405da7d90acf45ee34ac05740a9fe9968a2339da54405aa1748effc7527575c54928a27027e5f26435501f59cae4f9e3089deec47233d6a3693cba5fd3edac68013243e1e4f1414787286561a2ce86c9739552fe2a97aa14730d4545635554de774b747ca64b2140390d5521e8fcfc789293a97a3915c56a53207a653d77254f890d6480766cee174e08ff4aef83642091000011000011000011000011018ab04102f30569fec585897ed08b0e3026c7780bd2a8a17a0d7e954998f3ec92f4007b69b8012f2a96ae0a73efec80353ab963db9f0bffef556d1c9978faff8c57ffcc727e67faaf1bd5f51c8016d0448b7f01c4f09ff9c69c492b2bbd84fe103f1885c565410282a0a5d6c7349ace400452450987f4f2a457507dc744e050b392e5014a4bbbb7bbbdd12ed6dc82b4a8682167c1e574959b0aa6ad2f113279434e7f1701327952523092ec3e959dde08c9c83f314fab35440505564855531a03401da4391ca0e98065549cc4ad4e374aa5ace21f2b4163b81825c034c559e5712e9b1f038b106100001100001100001100001100081bb9200fc0277e5638152160132fb290a800ec954b68b08d001951ea400018a23a01e721c500f0db0020a4c32dd5d0eeea94f3efae1afdeababae7664955452963cee336d1d5533a69e0f87734edeef0b50653f37ef0af8bc5a2a4d2ff363ba227adcb1ae9e429f7f5c79f9b973e7c68f1f1f8946c986679b05f83c541cd08ca7bd6eafe2e05c5e0f4d47550f0a0b0a2c1d73723a6552ed42a783e2ffb38a22c713548f805dd24d8fe88ef646485b97c7ad5065c4a282aa6953cf5feef8f052bb61721ebf9b2ea9698d773a44da17c1e95472b44102475e0fb6de1cf38a90538096a6c8296b2e7c80000880000880000880000880000880c0c813b04bb18fbc5c4804813b27603b05480ed9c676d4001ddb1e01dac2901ab39fad2a037440d63bbd75174d2e97cdba9d4e1fef1c5f541cebeaf549fc430f4e3f77e6422c9249c5e560c0ffd0ac074c554976f74eab185f5e5048bb209a9a3aadaaf2524767b2abfba94f2de8696bd753a9871f78605c49b0b7b3a7abbda7aab4eca19933b44cead285b68e8b6d53274ea4ec85de70588ec6838140269d8a74453e3c7b7152e9b845f33fdbdede9d8ea5233dd18e8e8e871e7ae8d1397379c3cca595eecb5d665acba5b35e51f07a24812a22b87c54b2c0c9bb749db208281cc1c9e5d8560bd4c86560bb4206167ee73c2101044000044000044000044000044000046e2400bfc08d4cd073b710a017e6f4f2dc7e7f4e96bf7d4c9d6436db9748d1019701f90724c1595e5a4079f91eb79449a5a92e207dbfa972e1f8f271d3a74fa694fe0915656e499c5051ae24938a9c24d37bfcf88957c2bde1ee9ed3673ef4f29c92d15229c5e72deccd6814d53f73d683aa4a2ff0394551cb4aca7b13998242f7d32bffd3e5cbe14baded14afd09b48747675d35e872983ab282dea8d26e289f4bcb99f88c98adb5fe4f478c291ae841c7fe49187abc64fa46404a76af89c624ed1f91c974da5290342905c1c2fe80ea7414e01b61e4a6030690fc59c46b50cfa7eee96e7013d400004400004400004400004400004c62201f805c6e2531d436ba2d7e6e40520e39f1a7b8ddeff229dfaa9d90bed0f19e0b24aaeb8b8b8bbb7a7372e7f70fe522cab94578d6feb4efcec97c7a7cfacad28a35283be53a79a5b2e5cc8f10e4ad927abbebdb393f7ba9d2ecf7d0f7c2c61702a2ffcde67174e993eeb8b7fb1f60b7ffec5efffe81dc9efce6a9cafb064c5aa3f279bfdfe590ffe3f5bb77182cb2979d27a2ea19957a2c94846a76c86458b9ffad8c375bccbbdf12b5fa9aabebf3dd6cb7b5c5139f1defbef9ffce0d4fd33677c7cf643394d8ff4f4067dbeb2e2a0c80b54b9809c1d39cea07203540391393ea857a0ec01f687495b27b2f55a991463e8916229200002200002200002200002200002771701f805eeaee7016d0613a0fa02f629b39745d1ce1aa04801eab4fd02d44336b4dd43076e892f2a0aa6543d9ee3221c17358da229533c65812b71e564f3879ff9ec531f9ebfe4f6173ebb71d3ec4f7c42e6b8794ffdc157b6ff4d5c355a7b13f45939b526a21b4f3dbd22c9397ef0bf1b1fffecc2fffe4f6ffa82653472ca83b31ff8fd27722ef7fba1f3c74f7ef0b5fff675c11f8865b58292a2a5fff94f0ac615fefee73e35b166ea0f8fbdfdcebb3f8deb99033ffc575f5181e8733dbdea0b2ac7b575f5fcecbd770b4a023366d7f2540b51e245c1213a4d27ed8b6064a914818337a9939642cba4020af4e9b0fe3499cbc35aef602c3806011000011000011000011000011000811124c0bff4d24b23280ea240600409fceddffe2d496306bf9bcaff4bb6643a256b99c2070612efe9801a1518a81c37beb4a444a5e87b530d9606a5427f349d76489e2b3dbd6c8b40410a77763dfec4fc273e3d3f45c906a631f3631fcbe87a8633cac6977fe2d14f46e2316f6180ca002694f4b1c6c6fdfff35b9553a63c34e7e391585414c4b68ef648267d3614fae10f0e6732ca9469d3aaa64e7150dc80df1d0a9d9bfbd89c9696965fbd775ace649b4e9d5472b9e3bf7a2f93a49d08bd172e5e4c193939ab5e6c6feb8a46bae331399d4d2be9549a4a25d04e841acb1d70b278010a10a0350e383e984fc0aaaaf8d25ffff50852852810000110000110000110000110000110184c00fb110ca681e3bb8b00bd36b79305285e80dc01762a81ed0520e3999a7d4c4ad3b19373b84cb3c0e755d46c46d37d6e3640c9e45c1c479b000a1caf73062f48bc474aebaa43121e7eb8aeb3aded5ca8ada2b2f4e8bffdf44cd307cb97fff1dcdf7b3c212769de4041a11c8b1bb95c41b0c84365022e5ca290fed2ca098a92756a5c67c7e571e5e34d81cbe494f36d2db48140794951a22732b3660659fd5983fbe0c3d0a73ffdd94f3cf870d3af4ed44cbf3fad64bef13ffe47d6605b24ba3d9e4c3a4db9111407405b15d236874e41a4dfa42d2514300707d550743868e174cc3ac90142bb17a081000880000880000880000880000880c0e810401ec1e87085d49120601bc6f4492fd6a9441f8924bb9a4c65fbc00e1cb08fc97140e6b4ce99c97436a5e986938b66cdb89673b879aa239021c781df6338458d73f426e5a4aa3addd2a90fcfd01e846ebf23180c7e6bdf376b67cd78f0a18ffdfa835f5f6cbdd8d212faaf2f6fffe4a38fa6e27132d04367ce687af61ffef1ebe5652591deaea2e2025f81f7fca5733f7ff7ddbff8b33f7ffb878739dde8bcd2954d67db5adbfff99fff79e5ca956a56fbbdc7e73db36ad5c58bad3ff8e18f56ffd95fbcb96f1ff90b048f37ad6a82db4396be93ea0b38a9c2005b94e0e4692176a2841d0a41c7e49eb0d64b57d04000044000044000044000044000044060b408c02f305a6421f7ce09d08b72aabe47a1f4e40a20ef80aaaa3a85ff9b14764fa706850b90e14c97e8d5ba1591afd3687abd4f59fb468e73b96827418e461b8253e11dce408122e41246562af014058b7c5e7f222147e20939653ef4b1bad75efdfb445c7efae995c968221d4b0859a3407473aa7e3e7421dad593cba87277bc225096cb64cf9f6de9e868cba84ab8bbf78f3effd44f7f72943617f8c61b7b639d997844bd72a5b372f294442c427f5717426752a964387cf9dcf933e75bce2523112a96e030287120470b718a3c0535a839537089194dd139bd6c5c6965e56497cb93334c9ea72a031eda81812518d8fb14dc394d4800011000011000011000011000011000817c04e017c847057d7707010ab3b77f28d39ebc03e405a07c022b5c807c011444c0aaf5db85f9581a3e5d703853998c1d739f331df4169eae734e074507487eafbbd06ff05c329d49ca328b3e301d1d97c30b3ff7d94f2ff8ec430f3ebc7ffffea716ffe1d4a993c917a1a6333d573ac79595cfa8a97eea737f10282c8c47a33f6f6c8c867ba74c9830aea4b4b733ecf3f01e5138f7c1e9affed5d62b2d6d95654132fbf99c3315895f0c9da7635365510e132a27fdbf7f5fffc0030f7ce94b5f227f060b0d10043b464074096eafcb53e827d7002da4abb7871addc316d2dfc81bd27f88df20000220000220000220000220000220302a0450777054b042e8881078f9e56db4631f99c9b6756c87d99347c02ac6d7d73930117310700ecbae669768c33faa0b4057291adfedf5507f2c1a2151e459b0bc092639155435f7b9450b2911e0df1a7f1eee0a7fec630fb6b6b787ceb5f8dcecc61fbff3ce87a1969fbdfb8b645266c50b04e16cf3e9f6f68e68678f9e51ef9b5a93e88d7df0c1e9f0a5b6744c9e5a39b9a7e38adfe34b46e3679bcf7487af905ba1883214fed7ff3a173af7e8638ffde99ffee9fbefbf7fe1522b554074f26c1b059e69a293af435735e600a150026bdb423b27823c02745527378169bef4d72f0d2c13072000022000022000022000022000022030b204507770647942da4812f0fbbd76053eaaf6473633d51620e9e4171878a14e9d839b4405fc28c0c0691a464e724b5eaf97dc019465e014854c2693530d41745027050bd030da0ba0aa6ae203b3669d3ff3e1f9968b0e9ebb7fe60cafdfd77cea03339dad7b70f6a54b97baa251aa5458e8f3f38639ad72724be85c7979b99c4ef5f6f64eaaaa629e0545e98d442a4aca264d9ad4fceb537ebfbfa4bcac371a49a7d345a5a53ae748a653b1584c70496bd6acf93074ee4747df1125495114da5ec129f0894492f92934c329b1fa0282836dc74807e414a085d33043d725972b9b51062f13c720000220000220000220000220000220308204e0171841981035c2045c2e9145dd5b7507c9d4b7eaf4537d7e66fb53b34a10f66d49603b085ca28beceaaca6508a012ff2647b93759d4a51e5411aed101cacb01ff5d027390bd42c6d4f40263857e072b3294cca3c60c1056939ed7638353d273a1d7a8edee03b34dd2cf2b8696f4217cf4facaca4fd0ebabbbb75da54d0304941fae5606ffa5913a8be6161412491203d6817428a32e02566e767359526558d1ce94c8904b400c94dc2785996696a2a98e0e4ed8538a8933424cd69e1e4bfa08b3e9f2fd2d36b89c707088000088000088000088000088000088c3c01f805469e29248e1401b290699f013295c93c6656b8657d53276ddd47f905d46822b2b1c96560dbe5545e90c20132596b17409e25f353a3227f1cef34c9ce2743dfdaff8f6ea4bbe8988a18badd829ed17992441b1a8802c517907f40c8711e494a2b2a2f3a73bcc3e372a7e229722bb8bc6eb2ffddd656883475b0a4e4724707479504b55c5151216da5486ff89372c6e773e7ec12010697ce28a525412d6750c0424651dd6e49c9aa54f88066670e015a89e5142069744a5102f48b16ec76bb49493baec1e572a592f24821851c10000110000110000110000110000110b88e00ea0e5e0704a7771101ca17b0ccfe3e8f407f0d42d3aa3ed8675793ba1404402e0236d8cc912d4d26b7d5c91c0714ea1f08042a2a2aa847a3eaff647505e2c39e00004000494441545b4e0143675e83d28a1245d1c95f4095090c335748adb84810e9ad3fb9003c925b54b41c85fd93bfc0e51625af9b2ff0c675a53b93e4fceea24915e3a65539fd9eace8104bfc19672ea66692a666b81df15c56e14d5d70a83983c216ba7a2354e990aa10d2ee8602850fd07609664e273f07850f58d104a412a947a10ad4acc203cc0f626dbec046514a025d45030110000110000110000110000110008151224081d46820709712104581d5ded3d9568576a303329e5917b3f1591f051450c8bded0b5015564d808afce7728a5dbd4fcd6a94f3ef2b2c8817c4731adb2180362f24eb9b42ff69644f57af93e5f5b346a1fb9d9d3d4ed141d50a9d9cb327121705072f72722ac365326ed391523433ab88c53e2d9389c763b4fd61c028f5040a3209399d93995b423545bf9baa055ae2844c3ce5cc39a88421252564b31aed3e40d1040eda4f81821728274260010f454545f148d48a5c301ca2c30a7c60ab22dd48552bdc81d5266402d140000440000440000440000440000440607408208f6074b8422a08800008800008800008800008800008800008dc0b04fadfc3de0bba4247100001100001100001100001100001100001100081912500bfc0c8f2843410000110000110000110000110000110000110b89708c02f702f3d2de80a02200002200002200002200002200002200002234b007e8191e5096920000220000220000220000220000220000220702f11805fe05e7a5ad01504400004400004400004400004400004400004469600fc0223cb13d240000440000440000440000440000440000440e05e2200bfc0bdf4b4a02b088000088000088000088000088000088000088c2c01f805469627a481000880000880000880000880000880000880c0bd44007e817be969415710000110000110000110000110000110000110185902f00b8c2c4f4803011000011000011000011000011000011000817b8900fc02f7d2d382ae2000022000022000022000022000022000022030b204e01718599e900602200002200002200002200002200002200002f71201f805eea5a7055d41000440000440000440000440000440000440606409c02f30b23c210d04400004400004400004400004400004400004ee2502f00bdc4b4f0bba82000880000880000880000880000880000880c0c812805f606479421a08800008800008800008800008800008800008dc4b04e017b8979e16740501100001100001100001100001100001100081912500bfc0c8f2843410000110000110000110000110000110000110b89708c02f702f3d2de80a02200002200002200002200002200002200002234b007e8191e5096920000220000220000220000220000220000220702f11805fe05e7a5ad0150440000440000440000440000440000440000446968030b2e2200d04468580dcb466f1c61626ba72c7a16fccf58fca240342d5d081856b77d1e98a5d87d6d58ee6646af3730bd79f1c98d83a108b2b17acdcb061395be547a7c9b53ae00c0440000440000440000440000440e0778700e2057e779ef53dbcd270e33ecb29404b68db77b875b457a2ca617b0a591df5a92237cca045db8eecdab278f361baf2116a72831ee8000110000110000110000110000110f8dd20e0304df37763a558e5bd4b40deb9747143b45fffe2650ddfde10ec3f1b9ddf726b28acaa5cb0a626288dce0cb654b569cd423b0ea27ae38e75417203341dded570c2beb8f1cd234baad48f4893d15c2564830008800008800008800008800008dccd04904770373f1de8661108375e750a5047b4e168ebbae55596bd1e6edcfcc201d51f9cb7a42eb46fe791168d138b176f7a755d6d78db73db4e4435512c9eb7faf9e757ceb5adfbe6c33b5fdb7db025aa719c387be1bae7372daf9038357cf48517f645fc759b9e5fd4f8dab6fd27da566c7d297cf0fb32c72ddaf4f2026ba250e3be9dafed3d69dd58397bc1ba0d1be6d558f90572ebbe9d3b0f1c6f8ad22551acac9ab77cc3ba257515b64cd55fbb7c75ddd1d75e39d6c6669cb3e2c517d7cdcb9f9650b960d15c4bc9790be6d56c5bb1e3182db435a27252f3de9d07066b927709f8a280000880000880000880000880000880c06f4c007e81df181d6efc8808341dd867cd54bc76cba2033bf653dcc0be03cdcb37d55127bd5e3fd1c2d2f34f9e6486346b5af4d08eb587ec633ad3a2c7f66c912bf6bfbaa0e2e82b4bb71f19883ad04e1ed9b5e26868ffdbcffbc3a1132d94a6d0b27e45837d5f34f2efc74eb297f6551195fc024dbbd76cdcdf9fc7c0696d278f6c5d7b64edae432b6b239b173fd3f7729f4dadb5b51cabdf784cde756889da27f3e4c6abba9cd8bf755bd5fe571755f46b97ffb7aa921fa0afc9e1e38335196a09c348ec9786df20000220000220000220000220000220702301d417b891097aee2a02adfb1ada9842c50b962c5a394f6487d143fbfa6a0c480351fed55beaf76c5f319b5d66ad78ed8e3df55b16da27a1a656b969b7ed14a85ebcb5e1d0a13d5b173349da91570eb6720332e89d7ef5fcc58b973d36ce6ddfc83e238d9b6da7803867c7fe8637ebd75a2a707b5ed8176e3a683b05e66cdc73ecd8b143f52becbbe835ff5599e2ecadbbf60fd6e4aae4c1476d87f71e3c7cf0e0819dafac79a6de962ad654f8b9ab0be46eb684c1a2700c02200002200002200002200002200002b74300f102b7430b633f720272bfed3d7be5123fe75fb2bafad01e7a757fe24093bca9ee6a48fec21daf2eaa0b7275ebaaf7afa7cbc58b5f5c39b786e3362cdb7d847210a28d4dbf961a6ddd6b6bb8e6e3c739ce4f91fdd44e1e68949fb7af70dcec8ddf7b7d097909e4e6ddfd5d5cb8e9a83d72edeb2fcfa5ac838a95af6f910f8764a9626eb0aef650c3f270382c4b5cd3f1a3c70f93d8ebdbc2975f5e403b1ad46e5ab1efc8fe362e7afcb8cce5dd4ea16d7ffd8ec137172f7c91020be4416509438d432f61c9caab2c064bc131088000088000088000088000088000080c47007e81e108e1fa6f9540e3be83f6fc2777ad5975b0a2adcd8a1de0b8437b1b37bdbe684035bffd5e9d4a055acddf1f02102473995207fc9cd8ffe2fd50fdf681c87e36364c9677dfe865ab17f4df678bb1ae3787ac93eaba9abe8bb58bd6d5f65d0f1fdcb979d7b13e95aede33e8a85f13b5cf6eef3f1f34a4ef502c2eb6c7f883358b56ae5eb9a07f92fea1d2cd96d03f08bf41000440000440000440000440000440e03609c02f709bc030fca3242037ed3b61bfada759b501a70053e1e4be267951cd2d2a23731ad7e73258b1bdbeff7d3d25f2ab9cbfcacfb11d01876afebe0d095ac332576bed82409b26ee3d1e96fc733fcdedb69d02957356ac5bb9a0c61f7a76ed8e810206f9055e2d1d70edf5e215dffef6ba9bbff3576fb6846ba5e10c044000044000044000044000044000046e9900fc02b78c0a033f72026481dbefe2ab976d5c3737c8a20124297c74e7ae23d4ddb6af31fc62d5adea545e45b5f9983095aba8aba300fdd6d79e5d73a84dab5c51fff579371352357711b7671779255e79e5e0dc5797f8234d2f6c65990c5c75d5a7fb7639e0d659db0c848fee1bc62970b37986bf5631f412be5177cb20869f07234000044000044000044000044000047eb708c02ff0bbf5bcefa9d5ca0776db15f82a37ac5e72b59840cdeadd47b65314c189dd07e497af0ffcef8b0ae85fe7c0ebf9718b362d7c6dc5118d6bd8dabfeb803566f9925a2e92a72e40bf004eaa59b4be7ad7ae164e3b51bf787efd40ffe20d8bc4e37d390e5b97ae9a5d259f6ce9730b1c6f0cad5e3030b0ef604093eb2e5ca7f07557079f56dc640983c7e118044000044000044000044000044000046e8700f623b81d5a18fb511288341db50dedd9cba972dfd5169cbbbcd23a8b1e6fd1adc8fe810a019c649f0fa4e2f7a5f307a9bbe2f96fef5936bbf8aa1cb172ed8efd4b2a686c9ff4fefc7d0a4a182cd6bffc8dfdeb17565fbd91ab5cb1750f553dac5df7ea0a5b20ed5dd812adacaeb4b72aa09137caecd764f04aac81b65c5608214fbb5693219790e74e7481000880000880000880000880000880c0ad117098a6796b23310a04c60401598e580909c1214cf12117a9ca11aa4740ae876b6f546559565532e0fdf94dfb21e5fde6177ee325fce653e24e100001100001100001100001100081314b007e8131fb68b13010000110000110000110000110000110000110189600f2088645840120000220000220000220000220000220000220306609c02f30661f2d160602200002200002200002200002200002200002c312805f605844180002200002200002200002200002200002200002639600fc0263f6d1626120000220000220000220000220000220000220302c01f8058645840120000220000220000220000220000220000220306609c02f30661f2d160602200002200002200002200002200002200002c312805f605844180002200002200002200002200002200002200002639600fc0263f6d1626120000220000220000220000220000220000220302c01f8058645840120000220000220000220000220000220000220306609c02f30661f2d160602200002200002200002200002200002200002c312805f605844180002200002200002200002200002200002200002639600fc0263f6d1626120000220000220000220000220000220000220302c01f80586458401200002200002200002200002200002200002203066090863766558d818201069dab9fbb02a49aa54b36ec392a0bd2239b47be701993ab9aad59b96570cb54c559655c9ef9786ba7ef3fe70e3bedd475b17acde34af6a0809bfb17c35bc6fe7de30d7275655557fcddce54b16540c31cf907ad29d92c46e8a34bdb6f3f8f2e7d70da5e9901286bf10397ef868536b245855b760d1dc3efe1c176e6a3c7abc59f657cc5bb0a0b6c23fbc98c1234650dbdb253982530f5e51be63357cf4b503dca60d0b867faae1c6ddc7fdeb96d4f58bc9cbfcd63bfbc50cfe7dbba0e8ded1f876a9e1ddafecad5db769ded5efbadab8fbb5e6bad5ebeab891f9a318bc6a1c830008800008800008800008dc320187699ab73c180341e023252037ed5cbcb1c19e72ed9e232b6b9891153eba79c5f613566771fda16fd7e5374be5dd4b17ef8fde64c0300b69dab96a6343dbb2fa431bf24f7007f2e5a6a58b37468bab675759aacbad275ba21c37ffcd632f560da3d4e0cbf2ee27171f5852fff6863ab979e7e2f50df5878ee5d774f04db775ac366f5eb89e40575616b7b5453971e1feb79f272f4cd3ee351bf7b77095d5c56d4cef8dfb8f2d19d2379367be91d4f636495a5fa783f587de1e61507956c9c94daf2ddec81d3ab629ffd773e01639f4caaab547e46587dedec046e6657eeb9d0362af3bb84d501c373adf2e4b8d79f587365d7d00d6448beadf5ec78dc41fc575cbc6290880000880000880000880c0ad1240bcc0ad92c2b8df0201eb75b83def8183cd2b37d13b55b5719fed14a0ee9bd85c1429c07151bf749321375d8f3f78f317bd7720df12bce2e5afafabed9b22dcf8ca8aad470e366d1ac207915751a680df0a3af0d76e38766c43de4177d2193af0da094edcb2ffed451564e5ee5ebc71ffdec6d5cfd7b56ededf52bdb6fe8d95f42c426be6afdd7bb079c9bada5b9f6824b5bd5d92ecebf49b7e216e7d85d6c8e10355c8daffc3f527346b7465df37212ff3e5ad791e44decee7e70de1a1b95d50dce87cbb2c35fa963ac093bec6d475db1a0edc8f03100001100001100001100081112080fa02230011223e0202d14307c3348ddc7cb0e5fad9e4f0f16d6b96ce67edc9cd3b8fca2abd837d7a6f1b0d6b7b61e9d26d074374146adcb766e993d698f94bd7bc723cac5e2f8585c7ef5b650d79f2b9d70e87ae0eb8feded6d3b7225f25737ff3e657761ebd2a68d09414a63d705651374fb44ed4d6834b9fdcdcdc77453eb879e9e68321ea5cb5f4b99d3b37dbcaafda769016b8f9c9857ba25cb461fd93cf1d88b41e6677c99c3df2b5d7fa466ede77b4f1c036fbae35af1d96ad29e4d6c6cd36aaf94b7737b6b23e35b46de9fccd079aadeb573f5439c289cb6d4bd35fb77231c71d6f0a479a8f6a5cf5f3cc2940ade6d53777bdbce49a2887617550afd5f69a753199f2e1d79eb3757e72d5b6bc8f898d1ad4f292a4eb79563ae8aebc575b8fee5e65cf3dffc96dfb8e5bcf21bf3e796f8f341f5c637fc5966ede7d38c4f53dd4fc783929386fc9e265cb96cda9245dfb34cbcbfcd63b07ad2fcfe150a0ae5ff54dbf5d373c2ffa8b3cdcbfeae7b66d5eb56adb6175886f541e9daeed1a4ac36b47e10c044000044000044000044060e409c02f30f24c2171a409889685758ccc58397494d9fb76873d4df8e8d2155b8eb544abe7cc9f5dcc9d68d8bef4955ffb2b82f67b617fb02ae89728807cedd63d14f5be78edfac5738aa32d47b63cbbb7df16eb53960cda151bf7b4695cf1ec39b5ad871a8eb179a8e5b9f7b9efbb6e417e247cfcc88913471afacd7c5b9cf549bac97244a67f914838dcbc7bdb368dab9c57e357e5d6a8161af0188443d1a6565995c36dd1930d0d912df5bbeab72c6e3b56bfbbd9bff2c58db3094ae5c2e757cf95e410bb8b0c7c6be4a143dcf65dbbb62cae3eb167fbd6ddf2f65d7b76ac9fdf7268c7de26998b1c5ff5ccd6a69ab5f57b766d5916dcbff599dde44ee0d448948b5c7553f429cad4d006ba651a170db5b63491fb20b2fbb93ed7c273fb4255d7d617185607f55a6daf5957931cdaf7ec8e43adebebf7bcb96b7b5ddbb12d2b765ef7980651648743911c62a5fd77e7e3a086763fb37d7f70c5d63d6feed9baa2f6d89e178e47b8fcfae4bb9df25b96adaf6fa95a56bf67cff6e5dcfe86935c5f167d7ebc1c57b164c3a60d1b36ac5b5479d52f908f79ea963b6f7886fdeb1d1a549e55cb1537f9765df7bc68d54bd7ef68a965abdeba403e76a2adada9551de21b75559b7c47433eca7c83d107022000022000022000022030b204904730b23c216d1408cc5ebea9e6f88e8696c3871b8391469a60e1860de1fafa93d654cd07f7522c76f1fc8d2f6f58c0b5d6acdab8473bf69d7987be117c76fe9eb6cae7df789d62dcd5f082ad5baad460ed82ba8a66a9f9d08963ecd670d381a3213b8059aaa8ab693e407de2fcaddf7e71015d7be5c91547ac186fa9e2c67b0bd7befac6b855c3c8f7572d58bfc2af56ccbd3e70da0a9a3eb2f5992396fef647f1da9729e75aee2f463870858c25bb6dd9ff06c5f3d32bfa15bb0f1d680c6fdab068aebfbe75de9205755572f3e019c4ed0dafcea30a81351b761fdab8e0f597e751b642edf2ca5d6cc9cd077646b9eafa4d4b6afc5ccdeae79b0eaea5ec8c75cfcf7dfd9805a46faabe5f35f316700d0d6b36075f5c59d7b8730b1bd1daea60b90fd113dc8a5d6f2e529b0f6cdc51bf4aaaf8f6a6b9d7de7a331dfa42c6fb6fb8765da145acb6a11c0e47a479735fdcff66481e261184b4c94bb279779e95ae5cd2376b7e0eebe66ddc58b760c95c72cf70b5351c77929c32f455b8519fbcb7cf0beee5b8d97bded840775220457d64e9c683ec664eaacd8bd7bac63ea87ee5c0715ee695abf33c88bc9de41718fc5518104b074381e28237ae9adb306fa86f1777c3f3a2bfbe396fbebe81058d6cf87aa469e1aec8f04b1eac181ddbeb1f52c3eb46e3140440000440000440000440601408c02f300a50217264094482754b96700df52dfbb76e6792672f9957b3bbde9e436e6a642ff6a3c7ea571cebebb22ef4d95a64e2b12c7c3fd77cf840c3c9b61df64df4494678f8e8ae3d87fa3b167f6d0533a9962cb14ddc8a25cb2b8fec6792f3dedb6fcb905137a47c2e58b79ccaace76b64bf2ddebe9faa09b017bc6a78efe6b50d7b76b6ae7c75a0e0bf7dd3805380fc1efd6fe5d91d563f9b998ac6db23077d5e4d6c67c3d800893efb7030f3b065e30aca09e86fcd14453077d044fdfd344bdd86fd3b829b5fd8b3f1c4feeaf98be7b41e0acd9b2770c7294aa1fee575b5744fd5a6fae6c31b0f1f97375d27e1e63a5c9de2c675d5aefcfa96f0b61d3bb634b047252edcf86a5dcd1039f396185a5e5e9296217cc34afbfd02f9af069770cdbb17d76f19acdf10fae4c1989e478ceb0674ad5db4886bb8f1e90c969de7382ff38ababa1b1f44decebccfd19e66285055c1e08dab66ce0aba2dcfb7eb86ef2139358a07562dd52da8e4f6e659d7355decefec6aa399ec3d4386d4f0ea581c8100088000088000088000088c1601f805468b2ce48e1801590d562d5a2cd61fb25ee08bf397d7060722affdb5732bb9b6b6ca65f5dfd850a7aa91a6a38dad6a90ace8be7479cb0869dafb42c3c968e5e2adaf6f5a20d97b1c903552b37acf9e3e4b51f257440e3c4b0a1f3ddcb4a16e1e99fd470ff7e511e4bdf7ead286964fc1d4a15098f3076baa06acc5befbc8e8a2c26eec8775d4acdbb4ac61fdd188cc059925e6ef2fb6a8b652b9ff61dab536d6b583fb7d01837a992362e1fe636c5b016ae1a6c3cddcd5d2f083c6b14335dcd4a4cefdc6db2bad7e79e79387c2155245906eed0bb2b86e7cded33c3ae41dd7df49c82a96bf4855fc654ac3d8f7c2f6fa8db5736fb6dfc15024a5fc2bb5dfe013e33c1c5a773f5b7f24b863ffa1b9f4ed519b962edc484ae5d587123e6ec4e83dde4844491fdb386fa553f1ba308afe450efd3b2ff35bef1c5a30fb7bc9fb9593f7e55975bf9c9b7dbbfac7f8b96853985b691599908fd35fcdcd9d13f4ed094538e655b21a950bd1384af5a1bfb8a134b477ede89f0ebf410004400004400004400004468500ea0b8c0a56081d5102ccda5ab2bada96b9c4dae99d2c33bbd52c5844076d0ddbb6eddcb7fb95e7b6eca8dfb5f3381934567476dbe6a757ed3cda6a1b6b7238143a7ef8b56dd6c687648990c5dedf28499ebde0a5b883235bd7bcb2f3b5e756355cb5c9990d73fdbdb7205f6edeb776fdfab56b0e90f6c334890205a26453fa2b28e9a16defc1262a3b70f895359468d06f3fe517106d6d6a0e53dcf670ad1f56ed82951477bff995c36159a62c8a151b77eca5ba046aeb2babfaaa335e2328727cc7d6b5db4819999459d5a071ab17d456cc5b5ecc4537bfb02f4475118eeedc7848ab5cbee0e64af6c9ecd7e19a296e38693db879e3334b0f36b57292e467e6a2c8f685184ac31b6ea7627e36c9fc2bed1f9ff7aaf5769c3c026a24dcf4da9a8df4fca900445e7df2de5ebb6439c79d58b5795f6b446e3dbe7bed9eb6befa02b7a47c3f9d7ccca956c28d0f227fe72dcd6551e8079577d536a75bf976d9ab5eb3f9406b247cf4b56769d1ec2b3b941afe9ae5d5dcc9fa675e3bd844dfc0486bd32bcf6ed13871e502967b717debd7f0fa7e9c8300088000088000088000088c0201c40b8c0254881c2102641b324964acd15bf545ab8bf76c8d72f397d01b6e55b55e65b20f7fedca37b746d66c6f38d6b0870dae9c5ffffa26b20ee7ad9cbf7fd7312dda76b439b261f9baea86ad2d27f66f39c115575672d136ae2d443b12d45852d85df436b566e5ae8da1f5f5c75a8e34b4d0a862ae2dcac2ee291920dfbdfe61e57739ac2482bee273f6247d9fd719d252551df93ca8d8c1a295f3b62faedcba6be3b25d14625f4d163899c796a575f50e766475ce5d347bfffe3deb57451abe4ecbb507d0e73523fb420f246663b156b168fff6d0aaad3b561c6161fa95f337bebebc8ade8d87daa291d6ebdd1752edcaedcb9ab7d66fb4f33356ecd8bf808519ccfd7afd0a2ae2b07605a34d1268bb453a18d486d1c17aa6f9b5a575d5adfefab2e667eb373e63e784cc5f5fcf6a2550adc27c1ad2a457576b693088649e954aa17eddf271088637d183def2cc32925439674e71db89235bf76d38944f1f2e8f704aabd8bfbd75d5d63dcf2c6364aaabc5963e8f4d6428e52d95e98376eaeb7b3ef99957e47b10793b6f1fd41bcbf3adfad8a65bf976b1ef61c592867af5b98dbb9ea1af6cf1ecd9c56d27d9776da825fb577efd4df985e7f6d76f3c643f60ae727dfdab0bd823bec9a3cce735e86787df2000022000022000022000022342c0619ae68808821010f8ad12a0f26de43de88fcdcfa70abdfebde975fb9efca3f2f75e3bcbad8cb9f68e21ce464cd010f2ad37e1b780c2bedd027b3dd7bc9d434e77db17a82082aafafd57adfee3af2d7d817bf1ed4df9eb35dc44fecd59de7875500f1df6ab70833ef68c83060fa8c0c85c4f6be0e2ad1ee4c57b4b9dbf19a8410b19b4ea5bd09636e3dcb92fbc72d3722b3345debd74f18179f5c33f260a1660150cfcc1be6d436e61260c010110000110000110000110184d02f00b8c265dc8060110b873026af3e63507d7bdf1fce0f88e3b973a06257cf4a0c247e7afd8ce89b357ac9e1b3ebc8736f75cbfe7d072daee020d0440000440000440000440e09e2200bfc03df5b8a02c08800008dc4d04d448f3c17d878f875ab98a9a95ab57d7f5ef9c7137e9085d400004400004400004400004862100bfc03080701904400004400004400004400004400004400004c63001ec4730861f2e960602200002200002200002200002200002200002c310805f601840b80c02200002200002200002200002200002200002639800fc0263f8e1626920000220000220000220000220000220000220300c01f805860184cb20000220000220000220000220000220000220308609c02f30861f2e960602200002200002200002200002200002200002c310805f601840b80c022000022000022000022000022000022000026398803086d786a5ddeb04128944de25e4723987d54cd3a4df4ea7930ea8537470595dcb191c2f0a5eb72f9d4e4b823397d30527afab8a2488ec46a794c9e939b747d3b3850eded0548377b8dd6e3dadaa3943f348390757c8896a4671e64cafcb9dcd2824cd9078259bf5389d9c20c6744de4f902dd703acc14cf6b24cc4933704923e9737b1c291ae4c889b96c4e951c2e4dd33c2e377dba3c524653b34ea68ccbc889a643d555a720e43843e739ddc96986e931dd7ccec9992649103893d69ea313d3f41705f272402708800008800008800008800008800008dc3901c40bdc394348f8a809f03c4fee009ad5fe246bdf761090791f08048a4b8286994b65d26eaf27ad6605b74777984e49241b9be745ba4b12c85b60780449d1355f51a1c0f3a978c2e7f17a5c2eb7d329711c39145c2ed1210a64dbd3809492229f025dd6395333b540a0507090004d703a385d2bf2fb2491e772865f940c4df3067c3a9fa3dbbd2e49901ca2c83b4cc32d09c9688c4c7d2f2f39f49c6970ba4e0e0281371d1ec1e3d43887ca15b8bc36477b51a683a31f3410000110000110000110000110000110186d02f00b8c3661c81f7902b6e54c7207fc02742c08c23ffdd33f7ded6b5fbb70e9a2c7e7a32880ae64acb0b4f4a7effe3c1ce9317941e71c64d8d32d4ec3d41229b7c02cfff7cf34ffef9ffc5b2a963877ba99370c41d5cc7486ec7cb2ff7f7efce79ce4ec4dc58aca83bddd9d673f38e50eb853ba924cc625def47a5d4a2a51ec2ff8e177bffbfd1ffcabc3d4fc4e879a88fdea837f37bd4e3915ffe0d74dd144c4e31733c918afa9658102c9e05c8ae1d639c9c10bbc5b34a55c26978ea4c42c2f65053399134c7e00964111102c5e80fda081000880000880000880000880000880c0e811401ec1e8b185e4d12260670d90740a1cb0e7206b9ffc02f49ebfbdbdfd2b5ff94a5130e89024c9e56aef689d3f7ffeae7ff8ef5ffa2fff5757c7951f1c3c44f905122f74745c29af1cdf9b4ad08b7db9375a5e5ce2e2050adc5734f5530be6d7cc98fecaab3b524ae6e0f7bf1b8b25aa264e680d5d7ce2892792d9cc37bff53fe3b15491cf5bea96bac257beb8e1b9a693bfbed2133e76ec18af29942970ffdcc7fc8581ed5ffe4af5e4c96d5d61f23e3c5c3de3fdf79a3ebde8c9657ff667c9b6f6826009a71a5c56e17841f4f8b85486933c1c67645545e31d06e760f90356a48069470c5054c24d9a72f1ad7ff9b14c8b1f3446d715eff8aa745be233ab9f9ee2be7a410fffea5fbe1b9ab7fae99a419d572f7f84477afbbb7bbf77f13af5ae9b3fef98c14bd0154517dceec12bbf4ec4e89f2a177ffc2f8ddc17bef0995b21aa5c7cf7adefbd1b568a3ebf61f58c1b6e1858da94d8e83ea69bab715bcc867d46374acb7bcb8dc36ea5e70e450d001fc13f87d190792b28300604400004400004400004ee9000e205ee10206ebf8b084c993265c68c1935d3aa4dc3f07bbc4f3ef9a4a19be417983469523a933529f85f103286c6b9c4f2f1e594f3ef965cb3667daca67606e716a560a1d3e73e773174b9f3b29c4aa4d3f2fdf7d7e8ba26494224daeb0ff8274f9bcaebe2872743e38a2771394f67b73c63f6a3331f7e746aed6cd11df8f89c79d31f7c242e6b534aa7243b12d1cbb1f145e3cb5d81fb8393dc726e4a61a9339ec99c6929280c72dd11aead8bebece54e9d557f7c2cf183c3efff7fffedc437ff59ebbd2c7186c36952750293fd30afc02d64132872ac27462d7cc96ed6492cd9ddd6d179b647bfe6e9283d672e759e8d5ddb79cd888fea44e909dda8de7593e71d336809f2811d3b76bcd574dd5d1ff1a91e6bef6869576e6956e5f05b472ef5eaa51545797d194ab8efe90c1cdc92d4db1e348c1ab7256fb867944758de5bf28cbb85ae3b14351a9c077d3f6f6101180202200002200002200002770d81dfeabbb6bb860214b9b708b05c00aaee37a851040165eccfffcca7e9c0257974cafea772803eefe73efb643c1afbfbbf7935954e0a92b4e0c9cfb237eba651e0f264d2d9ac46ef9b5969402a0aa8284a7161d1bfbdf323d1c93ffed8e373de7a84ea1158f5ff1c86aaea540bd0e4923df16d5ffed2bcc79f20f90e07391a729420f085a73eb76af1622e9be64cfdd9557fce71aeeea6f7dffadbaf154f1c9feb89a9e9d4e58badcaa4caf6ce8e7ffdc7dd89443c1b8b673b7b4c5551735a2a1e2b301dae025fc52333e7cc9f97636279162f6035ca20a0588161f208dc33d67cf979365c3ff5cadf3470d3977df9e907e84c3ef5d6df5f8abaad97d2ba4e49166c88ff812ffcd50cfd9ad002d6fddb684c09d775ea5daf47be31839620703cfdefb7f65f30562142e80b57b84525149de3a7ffe19aa7675cbf52fb9cad9767a2060ef28fbbd3de61d4b82df1c33ca37cb2f2dd926fdc2df4dda1a851e03ce8fb790bfa630808800008800008800008dc35046ef1ffd0de35fa421110e0588d7e1b837d60fb08c84e1325b7aa6473ba4e5b09f85d52321e779ace62af2fde1309940415ba606a924748cb99644faca4b0c4eff465559d320b6289a4579252b1d4a3b3e7fa7c0564ba0b14ce2ff2b9ac26f90a697b03aa64c03934df78aea2ac96d3220299dace34e502681d715dce908bc291cd5e39f7e1f9331fc62369dacbc0cde528aba0b3a397c2132286e2149d6ecee9f5fbe34e9db648983d796a301894c6050a0b0bcd985c1c28fa7ee3b1585b5bd1844af20338586501f243b084821cb9236e9a4670f5eb40d61e390748b1ab2ddbf82fffd070a9933a5ce33efe977ff987eed0e1bffb66e8f35fdaf0803f7678efde5f5e8ab3b1ae710b9f5efdd8e07c03d69b678012fadeeb6f852a2609972ef5d28892e98fd7b943ef9c64f27d931ffdcbd58bfc1c17faf15b077e7636cb2470e3a62f5cfdf463ee7ca2acebd7ab5764f55efb71fd98be25acffcc4f767d8b29d1d2f0d5d7435f7aeef334f5408b9d39bcf7c02fe306eb9838fb8f567fbe8efe3327877ebcf7ad9ff55a9d25d33fbdfae979c22d2c470e35ee7deb1deb2e7efaa79f7e7a5e0dc90c9ffadebf34bc97a223be64fa14025e4a7d6fbdf28fe1297ff4dcd3756c563df4c62bdf143ef317ab1f9bc44ea9e967fee16fbec5489dfdd6575f9f4d0a13a9ebf4b1c65dff7183da753f7efdef43a54f7df90b8fd09abebbf3f553c2235ffecb456e4e6f7ce3ef1add9f7afe0b336ef6646f410dc2f277dfbcf8f92d1b1e604e25f97b3b5fbf3865f99a9a33af1f56163dc6fdeb91b3939ffa2fab1f19fcac867846ec6bc6c54e1d7ea3e19716abc0b8222526d4ad994762afbf65b0b8bcdf3dbae7c6c76ac1ca23ea0668f3e8eb7163a775fb8d1f79bef934e8c66f82fde730698ad0d2c2be8937fc89e5995138f3dd4118fface2d4b76ffa37785b7f4d372e043d20000220000220000220701b04f8975e7ae936866328087c8404b259dbc0bc7e4ada8080ba286a80fc0203b10374acaaaadbe5d2942ced1798c96468df01afcba3659402b7df507585f605748b192525d22e86bc83d9f619d5cb535902a5401069270297614a94f92fa70407c767353ea3d025ada52573b135120a5dfaf7f7ba3f683afde31f75fcfc789caa151efacedbdfdcf7de0fde3ef6edef747c78b6e9a73fb9f0eebbdda190a128ce4c6aaacf3fb528f8706dedc71fa9fbffd97b17f8a6ae2bd17b4be7483a7a59b224dbb22ddb020b2c4080034e70c049dce02634d0d8096dc234cc84f9923be14e72a7f97ee94cfbddb9f7a69969679ab96927b9a56d729bb4d042635a48430b89492021c1247662c0060316c8587ecbb664ebad239dd7b78efc926df94192e641f669c05be7ecbdd6daffbd45bdd7597bed8abb208ea172b9d15c9c67bee71ffeeb2df7dd9b39126a6b3ebb766d59de6db7eefbb71f155972a3a1b0c992a7b52de58864bc00a416184d2b903c764129574c4730f333efa93fe5e40df65b5799e16162b0f5fd4bbe4800addb7c77a9217ac979c9a329b5a3e653973c8bd7df1a7ce5d9a3edf4eacdf755ad32f79d3f7fbea5a7acb2140e6298b8da6ad354e0fbce9cbcd01b08a8366ebd2b3bda75a5bdbd6380dab8f5eea572ef25a773505fb6d4ffca2f5e776a4a36d46c5aaf4ff45c725ea0ec95d1c36944a174e695e64dd9733f57176ebdddaa623d1dfd7145fe86ca9b6c7986c9e8114ffdd37b4ec6338a37d7dcb198f49f6df9f05cd8529e71f1df7ffd4e4c9abff1eedbf390dfe93cffbe9b2acf1e9cbb3babd099fff8f59b114349f5dd957adadd72fab4c754664fbcfb9ffb1a1975f1e67bef284c5cfdf0ca085264afaf28e75df5e7db072d15378129fe337f7ad31928abbabb70c25d21853c0889be0983a5179f9e61cffa3cfffb9786edeb6f35f861ecc48279b87e86d91915fa9e962bc3d6ca327df8dc81e34e2ee2b754ac37f1575f3972965a5e91f1c1eeb9467601669467f78993a4fcd63c714224cebc71aa9bb295677b4e9e753adb7dc6a292f56b4ab33563bce71aa3f5b7e60d1e7b7adffb8caeb8bae60e53b4ed526f8ca335abede8cc8c99993af469e79e3cddb0aed1f7cd9ce4a5d2a619d0a84ab37be6cd09e0e694a93f8bf6869933c1c6b6c2fc191991aeabbebb543ffd2b969766eca872b37702a375e86443e75cdf41baad7681dfa614f327bec1b8800960029800268009600298c0b511c0f102d7c60bd7fe3c1098d844004e01b067c24d40c848866349394133341c65088f608f0029250496938223000ae04fe0788ae4d5a45c08072490b670c823f1d36824181ce897d2cc7047d7504fcf707024ce25a20c0413b0c3834390a730120c81349d3e13b61414e616c508a28022971a97c88bb4528ddab0c862ccd0749d3e9da1d767de518502e1d6ddb54ee765b96978e386fbd0861be2cde7fff0bbdff189784dbea9a07ab37f68b0fbfcc5d73b07ee67080ba90aba7b748234e11d41b0af412ee7788e9493718e07cfc79877e0a3425ff7d07736896fac6daea6a79d6d6e24be381723efe11d3780087bfd5479d98e87ccaef06844bf7877f44a5b617417fdc6471eab00cf838d6d7afa9075ebc315f05ad9ce9e6839085249bd63ed5a6bc596720ded471e137206dc1e7ff255f0745da3a2a699475b346d1e318522443d684c36d1bd81d0b43ae35dd0975654b59d381db6965795d9466d1efdbbf5443d0cd4fd8f6db7433fed3612d5ba4ce4e8cdaddf79587c075e5a6aae7de6a0f344abc30a4de6e84eeb89131c526faed964d520db962d3dcfed7736b4b6699a44f98f8fcab7537b7f70a45dd45c56557ee4a5530dad7e5ba9a6a1be13e9d6958f76407c0897c65151d53a6e706bed011092d69ed1daa37fa7353b7e9f03394fb7f620b3b72d19fd106976b176b2298088cde556f630349d4e3b45e642cd007813d7c4211945773eb2636aaf46ebcc3246a8b51e58191f787cbb3842766bf899a75be8b18d1fd39b9425e32c92e2d2cebdb4c39a567bab4b9c00d3d81e3e0675a7df1c9d00a34226fe9e457b9a99b0a55c6c34bd23e35fb1b46337aa7114636bed8fe61c29b4f06fd384f1b8800960029800268009600298c0472690faebdf4716821b62029f3d0188b79fd8900f6f33f9a4c740e0a5488a84044f10e2ce0009cf19559ab6d31fd09ddd37dd58e61f1eac3ff45af75b0db0921f0a8f103c9f292133140a5da62e140e2f5fbe5caea434f6123856d0a850837406c9fc1044a0d666972cbdfca73fc7fa865d81ab01815d56bed674c757df3dfaf6a07ff8893bef78ede0efcf9e78f32b1b6ef9f08af38d7f7deae9dfed76b63a753295c091efbf7eace02b1b3333743aad3ed0eff960ff2b7a29191ff22bb5aab3ef9eb2de7b9f4429f089049c472095481121e52592a95b03ae8933611e8bcf16173b13ab3b283bb6edecd9bdb7b1f1687be351f898bfb6da61b7a48a9ebd02a1197f072efedbc1c2021f62d8c7762f90263df21c7bee2951e6c43587a869e6b94e1c3834b6050111c5d58f8b4bc559bb30e6dc98b26f6254276ce2375bc7fe6123cb6ac480fb563710d05bc6c3116ca516e474255780737527e942891c79e9b989be20af3ba2114599c7ffe17494d98eb42725592a56ab4fb5c04ad86186357a7175f9789589d6c96a63068b42d2d9335179bc2f33aa090565f9e8745b739bc5ef268a3796858f37b7b5b521375238206e9f9a6f64a7725ba019a3c628c0a332cdbee4c739c7883059c6da50768ba2c539fa618e26b34dce34c31a6e6d483743d2742a99a46321c067d30e83397d262437e1ccd1913466c02dd870308a71f6efc518af6bfc368db5c23f30014c0013c00430014c0013f8680466fceefad1c4e05698c0e7808078e280203a043809e2c01d20ee354010972f9711f0e29d9012f1382d974906da2eb71e79c3a6d25e0978738b1615951132863594da34c60c7f474fd8eb452cb374d39da87fb0eeb7bf0d755efde6ce473b5f79eddde3efb072454c490a46e3df2f2d7cef6c930a49eedefacdf74f9f7eef0f878be5198b0d39725640ceaef31f9c555872d67fff7b4b9a2f9e6fbd84a4baa06ba8c850b476a9fdd7af1f44173b4d79055dc3debfdbf1d7efbc5e17f27a4bd7de60d2ea7abcfd2818200d3a123c0210e9009b2492a110906be01347eb6973992b763cb94313f6b81b8e1d3875fa509dc3b1657c310dead256a89c6a47729133e556eb81dda77ba93b1f7ca21cdeb0d34d3f78fa082cad3d6d6d33754d13352ac5b1ed7b8e1479e1d6b6944fb315a7ff0b26aebb39bf17214bb245fdee679af55b2a445bc37073d44fd2e382e2f46b6677924be8fc879e7c785494bba9ce453ad4107681c2fe7151ee66f838fa9caaac2c6e39d2547b40c3a19ccad23197cc7435c9cf49e7c03cf640c559aa99cb4b14079beb8e719c756b59b9bfb5f1f8b13a14376e2803bf47da814b1dd9547bd2cb17ef4e9c7b190e27631246ad1e8d334995305f99449cb707824bc47ae166777c8a776a96c669bb6001a3660ceb8ea4dc6962d2768a137b313f70a89456bb55ecf9f499a043f5d354a77e4c6b46b2023b8a31ada2d4915af8b729b555aa0db88c0960029800268009600298c0c2094c6ecb5d781b5c1313f87c131067f5a86b802520c5bfe823a09904ec3e80c401f02ade9a9d45314ccc33b0aeea2b6b6f2ef70e0ebd75f44d388f4075c30d23d1d0ef5f39f8ea2b7f44eedea1b3ad979a2ff475f60a3d7dda4c434c60ef7ff05b7fff6ffffae8d34f49acf94a35a5833fd645469d1eb633e8ccb94a09090716c096847830a6d366a0216fd69a35b757dd81e242ef9576774f77c3d9d37a99f24add316430113a759663d9baaadbe164c27824414888a101afb7bb1b3645280829ec5c004b592e01491308d8ecf0495f9e862387f6fdf83004a05394862441fcb4a3f3e6ad30c522583425afe45a88442c781b9a773f7b04d6627088e2b5899a2277ee0fa256cedfdaeaf68ceb17ebdbc56d05037b5facebf1fbdb8eed3dde19411aca5e0eb107be7dbb6adbdc3dadf5b5fb4efb90b12c99572f9d8a7171f60a68d50ba2dc7ebfbbe9d53d471a9bdcb4bd1c7c17be3dbb6a5d1ebfaba1763f043828448070e9cb2af251dce9f4a94b2a2da3b766fc3dbaca5ea03d69ab956a90789f0b442042c046e96dd0df006c22284fe6385c20ed39cc28b7405040fc445d93c7e3ae7bf1c5de64d4c4683fc6c1cce8d52c374659eddbf5aacbe33eb67b97180b32866a9606c9db69bb907658d34a490bedab1b163a01d26b4f3713d26a9fb899d68cd129378a31ada289e650f874bf4da99a711913c00430014c0013c004be8c0416f06bda97110beef3179200ec14009700fc2de6f097f0103e00efdaa12c1597be0227e1e0e041261c52ab947c3434d8db9dafa4a291de38642844d2b6531f16aeafc895a93431d6485057fefcc6129b6d75d162f7503fbcb9d71798e36ad99b8def5efcd3feac358e87fffbff9209427060f0d7fff214ad92e5962e45156b94a7dea1e472a452ae5dbeb2f5bd53a86738f256e3af7ef39bfbeebb4fcac7548b335559d94a67e8dcb9e6a21b57d012e1b2a76be9e38f2db9d41e094632f4399108e3e91b3071bc84e50582874309c4b801d84eb050bf80d8c989f7bcc9f19bfaed8667e20df14fe937ee6f7d7effe943fb4e27ebe5acae9eb66d3c6d055a7ccb3e29134a63eae0b8bea41c4765e5b1f6e347f7bd009f14462311f7f51e3ff68d27ee2f9ea16b9a28b175d2b8a498d4bf26d58dd699e8022cc3ed369dd3e93cb887fdf693db27dece53f66df7af7b717f63e34bcf35421375d1861d5570d682f5c13bc37b8f3af7ef1103d9095dc9f69d9bc8b6dab9bb435a363db8d1bbe778e39ea4284838bfa3c64622db831bfd7b8e3bf7bd208a52ab5104f6528c5dd68ad5bafd2de1f24afbf89de93f15c90e50b62d33eda15c63f64cf4316d359188b5b498686c27ad36e06eb617a1539dba52d8440057da819b6e048cceec669024bdb1a8e978cb91175a80949a4091f1a149b699292b654a880f53a61969ddf24835bbfb50cb3e9045e874443c20ce14e0357d5853a5a6ed02694e33ac48dc47305d545a681a12cd017c7eed28cd4c40ad4d33b5cf3376c929376a71da6ea65ab2f06f536a2b5cc60430014c0013c00430014ce0a3111033ba7fb496b81526f09726100c06af4905b80520c9006c1ce0253c23460a880b6b8297ca1208debad31238ad40a0b878d079e9d00f9ff94ae5ad85f77c7de8e265ee541be7f1d59d78f3a1effd2392a15ddffbff6e2c5ada75e5aa3c43bde6c6b26347df78e06f1f949b0cfffe93ffbdf59e7b8b562c532c2e40058bdf7af8d188c7fbf5c71efdf5de3dfdd1c07fffc94ffafe5cf7da6baffdcd77ff492ea37ef96fffae9392093a56e2587ee3dd5fffe9bffdeb7f7bea7fa1b537322fffb1e9cce915b7967778fb157aed923c6b67fd199e4ed8d6aefad16f5fdaf8e8dfdff8b7db512ccac8c838296508292721c1af91a5cab8260e0baccc428c04cb521a5834a5bfe6ad90ae191b0e4372394a43898103617a4cfc4712954efc02efb1b4680628073326af14db266fce5b4ad70ae4d3ec682f53db1fdbf5d4297aed3f7f674baad6d40a53cbe9244fad91fcb4c06a932daf91761af9a3b700dfa4d06b2fd1eefada13decaed35561187bff607cf392d9b9fdc01091fe6bfd27721fdb0a69596a653f00e7e7272a66d347e33bdf605371f17033fe7d1388ba2090129cdc5e267f46d9a30071730014c0013c00430014ce0fa25b0b05f5fafdffee39e5d4f04c428010111bcb88b1996d3e26105f011fe135fba131cc7d2a2cb80e1950495ad8d2662705c011f8a697419e1c111ba6fe8c26b47576cab8e936869e94a6fd80fabfd8cfc2c79828ff60ccab30c7a95ca7bd5ad4332d791b737dc724b71f1e2df5f68f9fa12cbd71ff8e64b3ff9a9bfe1c3bc15b6d0db92101b377ee5b6871f7fecbdd7dfa078616d7979d4e9dcbce1d69e374ff6feea654210e40a59ebbb274289d8b0d7d71267550cf2468206470e95adf28e0c8ab913c160299c9f20e504d889fc17f4db91b08960cee19fb742bad6a4663233614a713e5de9447d8c7bb064d7cf5cd3a6d8760db2d3b502f953d9d1aeba5db58d110e956cad5cf0bfaae924a7316c81d5265b5ee3c0a5919fe6d6a4f8859620f4a0b3b365cf0fdd252566bfdb39c0a1d5e5f605364edf85f4c39a5664da1ea4bd99a6797aed68a1cd5324ced36416451302529aa7163fe56fd38439b88009600298002680096002d72f8105ff067bfd22c03dbb8e0824f38e8b6b6b701048a56305717301cf311289e81ae049c29097bf74f932c4f028c1b92e5e1c6a76463a7a323333cfbcdfb8e2b69b45cf829aca2ab2b47cd0a95b663764e8fcfd83fadb6f31c89581be9e969e3e75460e9c4c50b47c7959c81776b9b4bce49ef20af787cd923cd3fffbcb5fc7daaebcf0e04306a9745561514fdbe5df3fffcb301b87f4042323231292902b14013a645e5c04271d903a1d49106a8db67851015594abcacaf4f4f5a2480489a71008e0d7e079448afb0864d7d1005dbf5d21357a7dbeadb4b26634a0fffaede8c27b465aaabefb88b9ee58538fc7834cc59bab6aca202125be30014c0013c00430014c0013c0043e7f04b05fe0f33726d8a28f4800120af090569083dd04b0a32099594010730a701281e4590949caa4845c60225c5ce0e3c287ef35d84bd725a211d392829a1f7cdff79bdadfbdf8eb5047f79a623ba990dfb47123039b1248c5b295ab723232d1f9cbeb97afcc50f2828cd23b6e461b6e453d57dd7f38d0f993e7f52c4fd1d13841fa328cabab1f504a35443021e7606bc2056e6484e27946a55db4766d49be599f9763341ad5260382ff4802a93448a3440a42f45b0c7ae9236fb09128622248a562210f02e4172014124620581e293f2211dcec532340592b1e7eace25353f7455144991d35db1d5f146bb19d9800268009600298002680097c690960bfc09776e8afdb8ef3082205c410816402c2d1ccebb0a700dec14b04f1f442d852a030184c5aa50a05436c20b0ccbe9c3bf94e221ea9b96bd3506757ae2eb3e1e4a90813671289fffbddef2dd29b9bbd67c497f709da6452797c23b1373eb01c3d71fb233b687f2427cc1991a04444040e236039946011a5e0b9b882430a96d3ca298690456391b2071f42995ac42510c7c40323439e3e4bf93aa4d5312c2b642851342257f309410ebb0c101d435a359c4dc8803b40ca2a05b992545cb743853b8609600298002680096002980026800960029f0302d82ff03918046cc2274340cc3288e0c801c8e62f0a84880188c4173d041cb805e08c428994e55802920e10448e399f9251a1fe813596a233afbed6e7bc929f69e09984dfef4f20942089603446ca604d4e5d1decc954a8b402891879d8cbe848a382469ed3e7620d4da505d644e0b29286f0035e4af15c2c8022fdc89c199645a4044580b2683446b3392a4dddce6f7bf844486048051924840192fbaf3f786ac9c63b18866582313e9290ab32b3f2ac04c9833f40428a1b07140a056c2380b8063a11574d4bbafec9e0c25230014c0013c00430014c0013c00430014c0013100960bf009e07d71101811460238144dc478084a44f00dc04103920480802b6ec43123f38bb101c0348a5cba013acafcfd379f6bc2e21c9309a21667fd58672c82ce0090608b5d6986396a97548a385b7f7279e7936e6ee3519338747c23c219792328e4d282d05487e66243462a032e2bc848474827c1485fd48979f90426c01cdd2ac94e30d3abd8fe121ff9ea3389fd0a973b3b20c05b99c41ab5cba1cb1828a932005257e0b03feec0cad262b4322a720dc81a6a39c1c5c1910da40ca167a4ee175348eb82b9800268009600298002680096002980026f02912c07e814f113656f5a910100fde04e7c0f8f99bc9d801d14f20200e3618880fa0282723319a408a45b9c57ddd67a41c21d3650c21469d99996d2f942d77a04004f9a389fec1f055a721d7c4d3f1d8708091234f2cc8e98c25b757a2dbbf3270fc38a13344e34c1c4e3f103d0f446c38a854ea2865260a8524bc444169e204d11f8ddeffad7b89bbbf8a2409e4f52148221067b8860f43fe931ecfa0cfe71bf40e2833e479f6e20b1d1d1ecf8039274b2ea7788592e10486e704819721f9a7420e2bc10430014c0013c00430014c0013c00430812f2301ec17f8328efa75d96748e00f3102bc44dc4b90740d241d02c9ae423e4231252164f293f282c0405942908824e3b1587868c8dbd797a952c67d0ca792a0445812f0779c6dbee8bccaf8a25c2caed55014cbe6f212a53143939377fbead58bd76f4037ac412c43e664724a090ffb05e21cec1a80fc813ecfb085a4320d597c5f100e1a0cc622fe08a732671f3cf267fffb4787c223442842c6e24482d329340a2467c2b41449c24c4499ab75dcb4daa256679ab390420ea79a730cb8052432890c4e249877bca03e0b279e9188ed69d87dd85db5639b75e6217df34a595885095da9d5594fd3de575d153bb6d93eaa5edadd507bb8c143eb6b1edb61bf162113f67c0a7d4fed72daf28431699ffe856e7e7cf869c2fa02d400004000494441540d9be8cbdcf2e77e9a56f2e8cd09f973d4997844bb8fedad47dbb757cd363552cdb826c9132a520b1f7936ce6d675a233fd9793bb701a97dc4654c0013c00430014c0013c004520960bf402a0d5cfe821390b0102920ba06c4f800b12fa2b300520c105080473c241780a30a251036a090eb8c99a4521a0a7ba3615f16650a740f49e89832c44286818ce5f6ca6f966b15994a8d56a953534a324baf474a08f897234a894899e01d92a8e5ba3ccdd5a8b750a52179c8682081a305fc43410b92e94d593c7f852025542605c7b20d848725323e3e18d3c9245a882a40d2ccdcecc2822252aa4c4419b55acd90026956435203af7f384cc7f96088813d047229c420483929cf277b22f663b62b7ce0e91f3b8bab9fdc5e4a7b5dbd03ed5e165967abfb71ef4fea4a95447bdb3a07da1d6ceabd6b2ad375b5473be3eafc623d7837aee59ab4e72fdff779ed9a3466deaa9f6005daf331e1a7b565b22f730feedc4fd38a4ede9c943f7b9dc927acbfa7b71dd108cde6174831e3da244fea982c7de4d988e6b63365a4268dfc64e7eddc064c76119730014c0013c00430014c0013984ae0da7e079fda167fc2043e47042442322840f40788ce00317a0076138cba0860812dee2b80130a6099cd23990c76f567180cbc84d7e995e10c1584e9cbe20c3b34c291dac5cb56591fd989280ac932216321a2200e80477488a163241c1820c4111797ea1488926b484835a008c03b7f8e64f9382b95c54311444a0a73b3464c7a25a5882bc892e262bb5263cacf8f442281a08f8d45743aed4824a2d4e8867c614f34e4ebe96694d21b8ad7f7f4f7239d5e9b9929d7ea90c03108310c03310e7262de4d042422e07fc9ef32097f2bc076b8581642223ef1014ad195225be3d8fecf76f6e3a8a35944946c79789b3d45ea428a29f6fcc5fb3eaf3d29c6cc5bf713ac20761c02603ed96bb22f730feedc4f67b76952feec75c4272c0bf32a190c33673a9c1433162a790ebd1f61362ec8cec9914a31f2139ab70b32608e3ee34798002680096002980026f0e52600c9d8e67d1bf9e526847bffd911080683d7a29c873307602d0da90621f25ecac3c984042725c03b20855533cf82e300c2057896d6c12fe243c1537bf7093d1d4512e2f42b478af5a644380aefeae55979e4aa6537fee87fc6356a092f232472680eeff8250418c220b980982892cb101c49188aa2a3a71a76bd5ca4843d0114a9900b72b9a0a7f4379574775c14fa7d70cea0a2a0287b6949281a3714dbdaeadea87ffb3812e2be111f95a1f9ead7be7ef94a7757dfa0d268285a51b2ec96b2abde0147d94d9aec6c99561be3059ae76532052121d904a3cbcc989503ddb6ebe9fdbed1c7bad53babe8e70f3a738a72063a07e09e2267edce9d5bf408855df5bb6b8ffbc4431b89928ddbb655686a7ff482c75afdf8b652b129eb7af147fbc8aa8776945bc48f6397bf6ef7eec6ce80f8499173e7b61de56677aaae4737a117ebe84de5e8d05167c18da57d1f76d73cb1c3f5e28f5da6cddfd95e26b6a25b773d7dd0b4f5896d0ecd0c036c6285d18b6d7bfe87fb4573e1d2ad7ee2f11ae43ab6bbf654d25a642cd9b8635b05d9f6eab3e3ba8a367f7b4719f409e47fb4bea7a80619aec3cfd6bacc16b2b353a4682cd9504ab98eb788e6a88bd6eddcb109223ec233ecd1a079e0402fa0e1c495b6fbae63b5074e39e3c94a392577eed8560efe1c7f6bdd8b071b237093d0e5e8693f59faf8ce4decf4e1b3d129402c372cee39db59fdc4c36dbbe61d53403b5d294a12b058c9f6769180386776d8f6a64caa47b750cfef73d53cf19803badd56b7fb40632079fa67feeaea1d35a5acabee99e4539ba7eed97dcda6224d6f9224a12bfec6c3dbed490ad395d6e85f4c919f1cf169f3531c234febe1bd074f2751184bacacb3ddf4c493db53a9a642189b818f569df8d9e4d76136c949e4637f4d1fdc6f98f64e9d8da91aa77724396469ed245d879fd9e7aef9ee630ed149173ebceb59b7f51b3baccd3f3ee8aa7ef41bf52946cefe9d9dfe2d004ba65b0bdfe4d940d16dcf3fb39f756c7dacc691da5f5cc60430014c0013c00430014c202d01e2fbdfff7eda07f82626f0991388c747174d0b3444c232b05940aa55ab058e472c9291f204c311a48287650cacef055646486504c98662a4cee83977dedfd56556a9bb2e5d81330660e91fa2e31e7f302a2396ddb38594cb0819252508692221090711e4161cea8ff75c0df7755f6e6eba74f29daee36ff55dbcc2c6509443dde1e166f7d50b9d9d673a9cc71bde6e729e6f1f19f25232d38d6b73d6ac5116172399dc645baa35181cb7dcbcfeeecd6beea8b294dd68ffdae675dffce6daafdf55bcfe465d718175e50aa546432894ac4402710212292105a7060f9e0c5e095b1866bb48524eb29e8efeb8227f43e54d85645fe3255f2480d66dbebbd410bde4bce4d194964a9bffe3d76f460c25d57757ea6977cbe9d31e53a52df8c1f9f6414bc54d0629f29ff9d39bce4059d5dd85296ba0b6da678fb6d3ab37df57b5cadc77fefcf9969eb2aa324d8a2e8bb4ebd459a7b3dd672c2a599b1b73760c2c5e5f95ddd7d072a5cf5c516e92224fd39f4eb647cbefaaca1b6e98614099237b3c0e420a9911127de35db0492f3efdeb7762d2fc8d77df9e87fc4ee7f9f7dd54b9d97b725cd7fa35a5d99a64ce858fd8f714d5e017e83b73f2426f20a0dab8f5aeec68d795f6f68e016ae3d6bb97cabd979cce417dd92af4c1bfcfb0c7dc76606e38b63ce03a7e79d274df36fcca2f5e776a4a36d46c5aaf4ff45c725ea0ec9585fe634fef7b9fd11557d7dc618ab65dea8d71b4a66c69f8ff4c1fbe321b7f71024859bef44ac7887dfd5dfaaefab9c7946eab9da9343b2812181991aeabbebb549f9c33fa9b6e2a24262695055d7eff9267f1fa5bf386eb9fde73329e51bcb9e68ec5a4ff6ccb87e7c29652cde553c9a7066fd3c94b03a14062f59df756da5597cf5f6879df6daf2c25672a7554d9f49393d626bdfccc8c0eda13effee7be46465dbcf9de3b0a13573fbc328214d9eb2b1ce39346644b7b9a27208ccdc05b6fb7aae6913c39f14084a77efae076656d2a334ecec694714c4b2fcf7f2cad9d7cdf072296f25bf3448b1367de38d54dd9d69bbdef5f1ab6df7a7b618a91b37c679ba61be6a62acdee99372b4c6d690d90b39efa939712fae5eb1dd9222c7c61029800268009600298002630270172cea7f82126f045222097ab609bc0c84888922b281915a7190921e75929cb735aa53216866300125a2525311a5b5f7f3b186114ca0c7d56bed26436172e82e300ad14c5416040969e6df820c0315d175d71082288048787bd7eff0829e565a464381c8c9002a5526815d2ce2b5d7aca1c1c8ec2b18237df52b97cf90d718ae0b47cf6a25c6d969ed2652a8d59099992e6a4194a0d8af04b4ad72019831251a45232230119a585ad022ccf904a828e87a490bd40ad4d24b838cb408882542a85581e01894110738e81beb4a2aaedc4e9b0b5bcaacc166e6d82caeb1eface26f1c5bfcdd5f4b4b3cdddea3ac121f5e69a4d560db26dd9d2f3dc7e6743ebb64de5475e3ad5d0eab7956a1aea3b916e5db9798a9e64ae002eecf553e5653b1e32bbc2b03b218daea23b1f814082706bed916498b7a3b2e220f8469afdf6324d537d2f326e28d3a0d6c3690c408ef2717d1a474555eb78175a6b0f40d8c0d6ef3c2cbe682d2d35d73e73d079a2d56185caa3bac65bc1cf34f62ca4ef29aac7846d7ce4b10ae8be8d6d7afa9075ebc315a0dbce9e683908a114ad27ea67dae32a868673c1493112b59e48d37d728b63ed5a6bc596720ded471e137206dc1ebfbe0d86cff8c0e3dbc5d7e5766bf899a75b68e44ad77c4b125e2a7c68515635cf9892fa344a4b93ff273095dbf08eedd32715d41a4571ff63dbedf0c16e2351adcb0425b1bdf8277995543f5e530aee25c7e354f8e983ce0617bd258d52b43d65d2c288cf9c9f6d1a40a1bbfff1515d766aef0f8eb48feb98fa33150239754aa4959c3afae906f77df61b8f9bc76763aaaab4f4924396d6ce2958408e187234762d64ded6cf9c75878f41fbe95f8dba13e2cd34a028c7e34f3ac614e21f980026800960029800268009cc4760e2d7b9f92ae2e798c0e79d803416a1b59a0ca480b7fb095692a0640a4e2e8f26e21445c1c903ba0c4a2a212f36375f683afbea9e97bf79db57e47ca2d3eb5954561a4b3003d148c8ef812e8ef45f1e3efb2e9c5e4031484551613ad637d40f2fe5351a8d31d308fb140c39a6bf7ef85b6abd1c96f78857f071547ff2fd0bce2e8ea4b7dcbb8d5a6241f130d25041c826a050c4382ec149592ea1806d057424ca701cec2c8ec5252a4d424ab052d83e2dc89020d76a19706324e23c070714c01104a480a41c07072b4a6173f57ce0934b784827307611e664943dac69e1467235021222475e7a6ebc02425eb7df52b35a7daaa5be0939cc4d01545c5d3e4d8d63dbce9edd7b1b1b8fb6371e8586f96bab1d76cba84c3175c1d8a58095fb7839f9d35cb65a7dbca5a11595ea9b23a804b61988573a0350f998996285a4c031b150d65bc623246ca516e474251fcfd035bd217c5e58dfa7a8165b6960259bbc44082c2da6b783edda63f7d2d863ae796cdd8179e18cb54fdbfdb0a902798e3df794c836e5822c0b26cbd867ca6e51b438e1431a7aa3bb3ba6c3b754cc3da6a4499f4e29a898c92dd9fb09066326817966ebd84421cb6ac4ed22e1d686b187e20f856374e70010b4d91172fac334694dab34557e9a0e46342276f3982ee428b31d694f364951962cce9c15f348f64f197d51cb8cc9962a6152df2cf444090bb073524eb2344d455afed30d4b9eb092fee6b51b30cd1efc1113c00430014c0013c004beec04c67fedfab273c0fdffc21380c48219f0be3d1e2714b0754046b002cf31c1409890c3517f48a591bcfb4eddf1ba3fb174ecfce9b359943ec34415e5da0eeede4d110aab6d296390f532f1ceaeae82c27cb95c77ea9d13e5a56b729616797a7b1a5d03b945857299a08335a321331cf30d1fdebb7953d9eaf295880d4a33b36f5dfbb55be3ca0fcf0d7cffc5ff64c2ec1d777eadeaeb9b3232737c5eb7cea023a52a486b88e41c9f48689432a95c9e1889405c428049c8542a4aad8ec6c21c032e009520ee7a20098200a7000b591425124e107896552f6870e6f82ec32224ffa1271fb624e5b89bea5ca4438fa8cacae296234db507341ccaa92c4d59a427ab79da5ce68a1d4feed0843dee8663074e9d3e54e7706cb18e9a32a18b1d5dd18fde4dfe4d9557e4b71c6d387c58145b015bd2c52bad01c92733fe4a2e45c35e586c251ff5b8a0387acdd435fe64f275f5c49d89c235a88636507bda95d69e806b21702624a5b1a1e7c0eed3bdd49d0f3e510e511c74d30f9e1e8db72011e7ed81c005b169b8d91d4ffa75d234d7a17ad1d8e9e6ce33a6ade9954ed839b33031d0e2231105e787f1b0242bd6ef7ea659bf6547d2d6f19671979b7624cf99643d3d709322c939958eca4fd341759b1b08f8c7a781bb193e8eaa1d5735f6732684d107b34a4e9de86907779a82898fb3740414a5b353143de1d30b8793191926448d17468d1cff94f233ad619c2864e65763160352a4e122268009600298002680096002f31298dc033b6f555c0113f89c1388c5a2107d1f0a0e4b09f80d3a41c702d93999fa4caae183779e7aeabb27df3dbc7dfbd7ffdb630fea7552ad41daea3afbf6d9535481e99ec7fe4bf69a1505ebd6bed7e5d22c2f1e51ca0ebcf3767f4290e61b6883f2bcafc72743510d655c5ea2b49a896cb5daac1f6642bf7a757fd7a01b65c4fdfe0b23c367fcec15c72dc67f79f6b1479f78e092ebf413fff4ed93a74e1a4de69ecede5f3dfffcbffed33ffdf4991f1edcffabc613af75b4bc2f8b0cc92409a356c632914434a6922909412141720929178f26e4c59308600f013808205e00a206e6c30e2b1058afb5b6ba3d6269c665af2845a877ef8b756ebfdfddf4ea9e238d4d6e78258ef46515f928ee74fad4259533975c9e862387f6fdf870b38ba5284d3266217984e0745d33359acb2a8c2872ba65405d52312a763603a6593ada4f7b3958ebdbb7abb6cdddd35a5fbbefb40f19cb92c9db66ac82c5f6d3ed99267381aaa7b51a172cfe4c6b8fbe79417046c5a6b521b9f023110b5e97e6ddcf1e81bed361bfbddc91ecfbab2e8ffbd8ee5d624e4212d966193e103e13fedc639a56e9a89133fe4e03d65e668363376122f5f8fd6dc7f61eef8c405cccb4862dfb9faf77793ceea617f79c863d116576cd2c4a27e5a7ede0288a3dbb6a5d1ebfaba1763fb050a45f45cf80308fe45483d30eaeb80d02be50a9f592e5b41d99cd4e8d09e268e227ea9a8045dd8b2ff626a33e52444e1a39c37eb1565ac3beba21cd57e38e0a71cea401454332d11f3c7fb82d45292e620298002680096002980026302b81f4bf69cd5a1d3fc0043ebf04e0b80156a5d50892a8c0d30a39299753eef60bbfa9dd4b33c1ea7bbebaae7409170b9c7cf7d80d658b96142c71b75d6dede828b2140f4a916ee9d29673175d1e9fae80eee9eed05bf356ad5c26c935d6bef57a73ab67993d9f54a803213f1d1d2210bd72f9d240981d086bde38d5f2d7f66a999c93c25e01d41d8d75300c955f50fcf877abcf5f18f8ddef0f1dfad3e1e3478f775db8e428b67eb36653edaff632cc48cde6af1567e52d5ab6ca72e37a2d6564629c2c4112bc94865d030ad871c021d8c300690705a9787e82448c1a980fb9de6ed3399dce837bd887b7c2377aea971ade595a363db8d1bbe778e39ee71a4114249cdf51634bcab456acd6ed6f09975742c8f7f4abf41bf7b73ebffff4a17db0bc832b6775753201c1745da3ca927e8371bda4bdbc580151dfe595b06211afd90d187d3ef6b7222985b26d79f0cef0dea3cefd7bc4187a4257b27de726c85d0762c615a4b69a6e4fea33f17dedac7d4fad3829184a632f79e16cbc6495b4f65869eba539e17cfbc9ed13efa5d3da60eaa93cd67efce8be174089c26824e2bedee3c7c24fee78a49add7da865df0b2dd0731d110f9054dae6484c243106640a7c34d7983a2ad3280d6c858e4e12103b2d4a9c04bbf37e910adca6ecdbee5ff7e2fec6c6979213495db4614795956c6b486daed6d1c7f7bd705c94a2def0c00e1bb83ed229f557ec9898b4c06ae6fc047fc8831bfd7b8e3bf7bd204e03b51a45445fd6cc6b268449cbd34a4e159176704914863aa3b331b5725a7a3064e9edb4546c2c6a3ade72044612116a02c109a6a3336b14f5a49169bfb3690dd39068e65783829be94185fd718ef6a7a796da2f5cc60430014c0013c00430014c0008e0730af134f8fc1280a578728e8a512db04d000e1f84ff04096cb34dfe0705389330b962018f8014712a39e1f50e1a8dc6732dcddd579c9011a0a5adb56fb0f7db4ffcbd39471b1c713374f0729bd3db3f94a3b3ecdfbb3f12a28b0a8b6fa9bc7385e386ffbaf31fce9c3d5f5e71a363d9d2eeee767817abccd01c387042ab418b172f36ea8c24c96bb48c414b2e2b5cdc3f3870cedde18b8ffccf1f3d6e5b6ee6635e521163859004514234271635982d37bff0ab438ffefdff509132adc02eb5986e295b61cd37f474bba201df5db7578659645a71c3da5bef2294f9d1202fa7949c04d1020dfd134f5584f313a09f3c0f1f9154aad768e1cec7bed87098462405872a4e883ab6eba953f4da7ffece96c95b13cf920596a66996a534b024f9f8571a0366177a4d95671733f6e4e34b4b23e11ae1cc949072472c52a4b7a1f684b7727b8d55c4edaffdc1734ecbe62777240f7d84d08219c397b6dbf38d698a9ca4d26b1e5b96162d8139913291c012c83df9e383eeadfffc3d078865c5e7297366214a53ea4c740c74d1ecd4393bf16ce1857492a7b49eb7c244ed949a6271bc97b3d8395a1b484db4bfc6428abac996e96ece62c064235cc20430014c0013c00430014c604e0229bfb9cd590f3fc4043e7d020cc1811b80e0c12920157d03b0641664bc8417a471824434135153197414f11c9799a10805fb9b2f36bb9c977ff79b572f5f70de56715375cd5d6a14cf56497ffb8b670c26eaeebb6f376519fa7bfbde7cad9e8b539eee21383dc0562c83b778eecececbeef61b6f597bef7dd517ce370ff93cab57aefad39f5ecb352af2f22c91702420417a03a5cd50e7e566515a75ac331ef747d44a6aa83350bada1162627136a1a474748851426841a6e157cfffdfefff8f9fe6ea548958b428577353a9d566ce9046c33a41d5d27aee0f8157efbd7feb50c78581dcc2bc55b9bc840926a24aad469210a08ff027897ab4cf9fa0e74e4c9d383188b4ab6e576d638443255b2be7f85780844d04136d3e6e618a01f309bba6caf309431f5f5a1a09d70867a684943bc922eba73b3b5bf6fcd05d5262f6bb9d031c5a5d6e1fef5b4ae5f15bd37e2e6c4c53e4a414a7899aeb232cd3f5e916ba629c7d9c86f7d3a9f36c4c508aa694e2542de91e80ae4f60fea5933c45f7bc15266aa7d44c298aeeb67476a6569910712d85b402d2dd9cc5806bd185eb62029800268009600298c0979ac01c2b822f3517dcf9cf070189184a2f4184000102a2672079895bee09522009793c1e974ad4191a351d1e705e3a33e871f5745e6e3b7f9614c4907c2d452aa542474f4f9c0b3261e56f7ef5d2cd1bca7d83beb56b6f5a5c50fafb97ffd0e5be044bbb426bd17ffef467da0cc5ead265341396ca50f92d1b4e7f7806dc0f8b16d9f47afd222d955b906d34a8323404130b7906bdbd7dfdd9a61c43aea1c3d91d1a6604850a091c29817c008c94d0b6b5b977fdf4171ab52a1088eb75da55ab1c4585d910496cd09ab828bf7cb19595474f3736deb47e7de7c5963ceb3a4a99a9526bbdfe614a06190aa75fc94089e9373f81cfa446afcfb79556d68ca506fc044462111f930069a9faee23e6ba634d3d1e0f32156faeaa2983ac840bbf3ed331a5aca5252526733a8fc1c27b806b62029800268009600298002680097c2604b05fe033c18e952e888094a39084970a2cfc8dc03520ee20801d05e2ff20391f295125d838454aa428eef5750cf65fcd505341ef101b4d2c772c762cb3123c1d18f47afb87613f42872bcc11a1de9ea11b6eb859afcbb9d8764120d16038063b891bcf9d6ebe70264a8f282921cba473acdcfceaa1c39966f3bd6bca8b8a16858301bf7f90e56210d53fec8b4602812e978b49085939fa4cbd7160c0f7c6d177377fe34e09a10b8703522413a459fff2a31ff6795952ae942a7402a1180eb2fe00a7531331211e0a06b24d7a8627480e4968c6171ef07b07758559be615aa5c9e6185a226e91f8342eca5af1f063159f8626ace35a08506647cd76c7b5b498acfbd98e29a9776cdbf6112d9fec032e61029800268009600298002680097c1604b05fe0b3a08e752e8c80442010e4dd431034c0c31f31ad80186a2f254829cbf252315fbf422e158606dcfea1ae1ca32acb900547fca92874ebfab54c7ca4f9f4a9e0484441400480c279b92b3b9fa8d972dfa2e212954abfd416e9ecee0b4598ae2e4f77679756adb064db6eb9b9bc64f9b23dfb5e5ee95893714b4ecbf98b875e7fb3ed42ebf0d048761625e5599b75914ea3942379be354f2e970ff8020381115ffdd9e2652b8b971691845aadcef8f9cff6369eee50e9f4c3c3b4c0f15c2ce6ee9016652873086584110c994a8193f5f60dae5d7d938a20077c7e676bf3bac52b084122b0f0473ae6fb58181f5c0b13c00430014c0013c00430014c0013c00430818f4f00fb053e3e432ce12f4540ccc1371a23206a18dd4720460d482462663e8e450a82e4f9b0a7fb72821e5a5c902b1528d8e9fff8a3ffa5f296729ef50ffb06af5c7477775cedede85411923b6eff7acbe92b6c5c3934dc120c854b57ad74b6750cf50e69956441763e9788857c817fd8f938bce117a497df3cf15e28ca2578a49421a5927276d026ad2cc17a33b5cabc9ccc70b78f17121239a135662eb7afec760796d9731532b9eb7267edcb476371898405c705e44248d05186a32389584c26a18c7aa55c9ed1d375757161be108f47477c02cdf6775e4291e14c75963f1c2528706be00b13c00430014c0013c00430014c0013c00430814f9500f60b7caab8b1b26b24c043da3d315000f60a40dc3f641e94c05b758e153829242264044226090f7bfb7ada4d7a8e67e347eb4e580b8afe76fb43919017f6fb676a48bd46b9c86af9e54b7f181a09adb297f284a4a9b1b57f68d01ff0462231192fe558b6a0d892a95775775dfdf9ff79ce7575289140236124a750b696ccc834f843e1803faaa164c108eb0b8de8d49140342197f3029f5069945645c6fbef9d939097367fedaf0496f8e3c1e3172ef44be5b2181d9722a944e0d472b09a1f1cf430853a383201acb6afb9c1b678c9e9d367aebadd614eaad68e203ec6d1619542154f7320fd3502c3d531014c0013c00430014c0013c00430014c0013b84602d82f708dc070f54f918044c28c1d49084e014191dc4700dbef391e96e0124222256452c9507f778fbbddb82cdf7de5aa4ca6f8c6dffc759c96aa33b2870786c055a0564ba439caca5b4bdfffe0c27b27ebc371a16fc037e41b5cb4247791ddb262a9a3b020579b21972b888653f50d0d1fc071033a8d61b9dd2ea754fd035077a4db3334e80b77f57a47c2ac2053425a80cec1801cd208c0318243901e80eeea0ac15687d215bfacaebee7859fed111814a519b9464547638984906f50250436211518824c50ea3cdb62c76db7218e70e873affcfe959673add68c42a4d640fa020171c9ce7e8a7cb12a4c0013c00430014c0013c00430014c0013c00446cf7ec71c3081cf2b0138f96cfc8203fc206a0081a7004e2880ddf83c0999fa65e4b06f60b0bf87b566c38fdbabee96cae532528b121143665638482712fe041b2ab4e630ace4cde38dc1082f536aa588809dfcf7d6dcb364d16295462df01109c16568a865f6a54a92d2a932100381ffa142936c70585b62cd494894756f9c6a767645042e4ac7599e27a5f25c4b6e7064b8a3cb5f6431666765fdfc672fbd73a2a1df139429241c278483518a92695472384f311c89180c56a54665b52d716c588f24324490994525b2ec022f7d3e8f5086c23195ca9060128810f7475cebc57a9af6beeaaad8b1cdb6e054f01fa1c9b55a35677db6a1766fb86c5bd5c22d9e2a6ee1f6cf5d33f5294bd32c9c4e813da55351e34f98002680096002980026800960025f0602f8b7e02fc3287f51fb2806e28b471292b07380e738522e83407c1efe08886119ad4a11f0f41c7ae5f73999f2deaeeed53794ea0d3a2425b9184b1024132719414aca284ac9e6e5654824eae140bcab6788e5653443c3c187708e8184a4181e319c006bc20cbdbe982462810805c21916111ca210ab946828354419ac5bb958a95278a27c5b47d7d0700c920ec6698ee108851c4522f155b797be1f7efff563ef6a34ca403806ce0c05258778064a2e074f82398bca32a86f58bdc2665b2c241212858a45a494d2182dc55d43c19c40584a296826262515b0cb804f6e9b80ec0462524529a457140b738f1fed69eb1c6877a4b850e6ae0f4f69ef35379957e6b554a05dce4eda0627dd2fd8933155fac2ed9fbb66cad3f081a77fec2cae7e727be95455f81326800960029800268009600298002670fd13c07e81eb7f8cbfb83d8455b152a98cc7e32ccb510a2564f363f804c3310421d3aa33f844e23f7ff2bf554a793c16ca50e75bf2f22504118a0629a981814001262e21953a43ae20f8fc23c31c128a6d0570a8c1903760541aa4041c7c2880a3014e3a1404361a0e6ae0c0433eae944998184dc810a5cc60b878865ec781d0084348d93c93364ba10e858763910021e1140a85c7e3c9d0eafd017f2416cd36e75c69ef04a7001ca208174d27288d9aa7698d92f84a45d937efbaadd068a20c7a2427f95834c4204e120f06c35eefb042015d54b2719613c0699080bd1124498270e8b5200850a069583fcf7991f02d86b8846bb8348eedff6c67c5769fd1059a3f8ef685db3f77cd94a72422e07f9f1d91cf6820b05a4c0013c00430014c0013c00430014c0008e0df83f134f8fc1290120a96837dfcf0fa5d86509c4ec448b99422153ca41d9490b5fb7f9397975d7ec38db5bb7f66c8d452943c4a87121c6cfc0f2a4842a3d34838d9605f6f6f6f2414144852a3d10ab6a5b952828d44699329fb4a5bdb8ad5aba27454c24715d204170b31b1904aa1067512a480930858958e25e2433e7f574fdf50c8af52ab0839bf66695e687848aed114582d5d5d5db09297c908964d1415155cee68f70cf83841aa20e5242987930bb41cb371fdaa07efab5e94ade647021df52706231142abd766e72fb1dfd071e19c4e266b6f3bffc7032f6fddf66078244829b50c0bce049a82cec8e5201cc225c40c8b0bbec2ae63bb6b4ff920530142c6928d3bb6556890bf6ef7eec6ce80784b9173e7b61de5568a76d53db3cf55f3c46336cfe1676b5d162bd9deee4b3e5fbb73e7163d42fed6ba170f3646e016a1cbd1d37eb2f4f19d9b525feecf5444bad28b0abbea77d71e4f9a44946cdcb6adc20652c1d5418f0538a4310f2a8c5fe1579ffdb1cbb4f93bdbcbc43b74ebaea70f9ab63e5143d58fd9dff3eab375f4a67274e8a8b368f3b76ba8866966efac42bb66ef2935cae1d1aa133fdb2ff6bffde053cf9e2fa62f7badd58f6f4b060eb0ae177fb48fac7a6847b965dc24fc1313c00430014c0013c00430014c0013b8de085cc392e37aeb3aeecfe79e00c405c08b7719a990c964092682240c9c5b381a5adfd9d15e5f7fecef9ed839eceb96c925907900ce0d8885236a25258197f1524802c00e0e0ebe73f2830f3fbcd0d3e36defe88eb3f112fbe282c2ec2b572e5c6d771e7bf3686f77970c762908129d3a43a7d6b0710e4e469420a92053b0a4b2df1b6d68bee2eef30bf20c9dc14cc865b9267dbe495b989fbd7c993d18f4c76234c333f13847c763a62ce3a2c2029351c743e20381d553a45c606f2c754093feeeaeeece9e9191a0bbb3a7bfbf1f4200b20c46a942ae04f70329545694bf71f4b5cb17cf6b0c46e81aa44e8061611806ba0c17440d40f8c04207ca53ffe37da77c287f6375f586921c9ff3f88f7737b4d53edfd8195ebdf9fe07b66e34c6078eeea90d23c4d25e0ef96171ced2e13817686fa7d7556fddbcae283e70fad5263fea39f61c380574c5d5f7dfbfc1ca0ef8e271af5879f24aa728bd284fc3b3fb8efbf425d5f76f5d574c398fefab6d05fd9a9a071fa8b16b40605af32615218dcdac88b4d7b7259d089ee6061f226c56cda4fd2c1d0f38c129602c2a29937d30d3ecc89c3d1d9343992b36aed5815645fe868a1b979a8980b3de95d4e86faeefe590cd8a9d022963828b9800268009600298002680096002d71d01ec17b8ee86f43aea100bc905c46df6642c168354816ab512de9f730caf5450bf7cf1e7dbffa61aa111960fc713c1583c1a0e8713311a25e22462e3d18077b0f7c2c5f3c3c3c3945a5df7e65b5ddd3dd6c58b3410f79fa9cdcaca847c8097db9c875ef9b38ad223462125336321a49419a2314938ccf7f4f89a9ada0efef1f8be975fdbf5f37dbfdd7be85c6b4796c9929d99a55528a12d781c2eb45d4a0890cd4042c8d1c0403f12184a416a28b9412d35eb942a44f3415fb1c5946d325eb87045975590b37885db17f9c5be3f1f7fafb1e1740b4af012a9a0a264d9b9fa9d8f3dfce2dedfc6122cec91804b0d87284824d0658814800bee2c70485b4fd423a4dbfa9d872b4a4babb6eddc5aa2469d2792eb5b2eecf55396b21d0f3d507d7f55f2b5bfe86b98f037ac7be83b9b4a1d659bb69510a8b3cddd5adf04d1060f3cbebdd46eafdafed86ab5a87fa23294d32a6a4d7a0ea68b3a718243eacd359bac664bc5962df908391b5a4182de6a336b4491c9d5f74cf3e0c9d8e5a8ac4028d0d0ec87ba4df5bdc8585e26fa13a6d85f74e7238fedd8862e9d4967f6949ad3cc1b97a32fada832c33e026b795599eda6aa72847c0dada2c686fa4ea45b576e1eb706ffc40430014c0013c00430014c0013c004ae4702a9bfed5f8ffdc37dfa221380a3fb48995c5c2db3124a251737e173c860c87ae38dd7491977cbc635e1a1cb3a935cad919f3b776e85638dd6681a098428994a26419442066b7587c3aed799ad8b9668b54a8b259be3699d4e0f8e86c2c24278afdfd0d070ff5f7debad378e7575b4dbac0585961cb94c02c902fa077ce7ceb71598b3be79cfbd675bce0582fecc4ced0d2b5706077ba412792c9af8e0a23b08bb1b54320822a060df42c86fd4eb8c5aed25ff7022c2679988a54585cb972caabab5ccd3df2d956a4c458b98402cb360d11dd55fbbedceaf2e5dbc12c9e54c2cac55a280bfabb4f4aff7bffac6c9f74e7ef52b5f1df68d24f72640a084b8ce86dd041044b0e031849a7acb78b8bfadd4829c2e73cd63eb0eec6d6c3cdade7814e4e4afad76d82d53051266d839205ea2a264924348bb681aaf44d92d8a1667f2f9e45f6914898dd14c51f02f4ce4c84bcf4d36f5bafda87c4c21428e6d3b7b76cf699eb96cb5fa780b78134af5cd1154027b06a65f8ad2d2d185fbbc66cf346f4256d2fc51d4968ad5ea532de01c71989b02a8b8ba1cff2b3981091730014c0013c00430014c0013c004ae4b02f837deeb7258af934e0952d81120884907e52a9e8bc5695649e9c2fed06b870ffdc3e37fc5260605e9489c1966f898f3ca15a7b39d77ba2fbbdc5281587f735991d5906fc9d66a0c7a5db6392f178e2a08477c091a0e33501252b94aa59129e41edf50cba50b03c1883a3bef67bbf7de7f7ff5cd650eb3511df4f717662b56aeb02db319599f0649d5964516b5868cfbd5fe30c7939a388f3838ed50cc724004fd6c3e12a43c0f5e02a3526122a29bd6972ececfb6646935828f8ff56728d588656559392bcb6f36476cd905f9ea6c53a0a3dbe7e9326a50a62a2e21fc3bb6573fb76b5f79d98d9059201a8d4298001420640036118cee2c58c8882657b5612ff80692b57b5c50440197cb5cb1e3c91d9ab0c7dd70ecc0a9d387ea1c8eca79c49188f3f6206413ab859bddf1516fc144a3b48a269e4e2dc07a3bffa1271fb624efba9bea5ca463c22900f73c6d69ccdb624dfd77892aafc86f39da70f8b0864339150e315a60eac58e461d882fffe7347b6aabb49f46f5529595c52d479a6a0f881a2b4b53ed4ddb0adfc40430014c0013c00430014c0013c004bed804f03e822ff6f85ddfd64b79413cb84f2281357c34c128546a4aad7cebed370a0a748b8b8d43c357144a362bdbc0f382df1ffac3cb073c7d4383fd832d67ced0b110a954e8f519a1903f1e8f641a94a49c50c1817f900c204e430e82702c9c6d36420c823a43fde0ffb3e3be6df7effac5cf573856e51615152eb12db12f59ed28c950483a9dcdcb96e4ae5d5d6c356770b1c0907780439204c31072496eae19b638f84782997ab98a2029822fca35183355740451242ace331666e924742034d4c7462308b216b074b1ddb67c45494e96890f8cf475ba22411f4130a66c65c0db5ebcc850bc28fbedb7de844d04c9231862903401121dc0f8c2c1090b1c657b792904c0efdb55dbe6ee69adafdd77da878c65fae62387f6fdf870b38ba5284d325501e43e985ba0bddc9194f3aacbe33eb67b97333e75170142691539c6e3145285db2bc0a4debd2fd6b9fd7e77d3ab7b8e3436b9c5388889cbd330bf79e6b20a238a9c6e195097548cfa17269a8f1692effac1aa79cc9ed66aea475106e76f6d757ba0a42fabc84771a7d3a72ea91cd3484302c21f3c7fb86d6a2bfc0913c00430014c0013c00430014c0013b81e0860bfc0f5308ad76b1f0848c3c7f1f0569ee61252850cce1a6498c48913afdd736f453cde219104789e565190ea4fa155669e3b7b697824bc766d59cd3d77e5980d897844a6a1a274cc33d0072703a244581a0e097e1f4187f55a392fc4683672cbadebba3b5d84108d8e785488b7e49808520edb0374c6bcb84024e29c5693a1d16b28ad323032dcd7d535e2f5084c14b62db009212f4baf57531a859c8b26f46ab95e2dcb5021ad462ad7a2703c120df99968c437e42704596ea60e2924341bea70b7a90921e11d88f9fafa3baf68d40a4ecae9b2f51c118fd2bd5befb9fdc4b1a33c2b40c644995c1a8b87782903f90b587e9ee14d2ef6c5a53e65dbf2e09d2584cfb97fcf4b078f3b095dc9833b37adfdc6fdc56a74fad0bee79e7be1a83390b3ba1a76cb4f34498a9eea26801005eb9647aa572b7c2dfb5ed873aa87d2c1d60272caa23fada2a49419a22c9b1edc581cef6ddcf3dc737b8eb42872d6eea8b1a5f6a7349d79a915c432692f2f56c02685f24a58f9276f887a26748d25664c6b76f2fcc6c99aa3cdc7fe869e4ecad1db6d3ae4731edc730cf2222264ad580d890841a37dbc49d81fe7a6a55f1c7f847f620298002680096002980026800960025f6c02123823fd8bdd036cfdf54b20311261e07db99c8c73706e20a7512bebdf7af7ec9937fff19feef5fa9a79c1a7a534b141ea27fffa42629879fbf8c59a6f7d7de7cebf6362c372858008165edfbb9d1d972f3a57ac5899a956f3fe80df3fdc333274a1e36a88e1732c453ebf5f2957dcf3f5bb0d9a0c1487c300841126aa33eafc7dbdae96562118ce32e9b3acf9b144d8d7db37e019e9e81df6c625ce41ff9fdffad09863942b54defe2115c157dd5c7ad39ae58494fdf074d3b90b576e5ab1bc624981dd621e098ed49f7affae9a9a921bcb4232e55060442b9366656424fcb1fdb52f9f3cf98eae20e31f9ffdc7cc02d3504fc86a2d7fe63f5eb969ddd76eae280fd36109eca120204582782863a67666f0fc1ca3ce86c334ace4352971012ca42b60594a93ccf53747d3e423da5d5f7bc25bb9bd2619ceefaffdc1734ecbe6277794cd689746d18c3aa337e6a9794de6cda2022dd8ecd9044cb97f6cd753a7e8b5fffc9d2d134e85298ff1074c0013c00430014c0013c00430014ce03a22807fe9bd8e06f3baeb0ae4fb17044e82c4d4fd1241222364274f9ef8eaed372009178d8d68b4882048855c2595c8241256ab47875ffbf3837ffb37961c0b12e291c070ffe5becb1f5c80d47d595a43828e7a8743943243a2a005a93ac1c54786c3c180bffcf6db9b3ff87059f192dc3c4b687890542bf8582cdb942d1459afb49cebe8e88c4979b55a250804c3f0482a57438c80923566aa07fb7d1a4d944bc40db959945c01ffb19ca0d71932f5a6defe21c56ac7703014880496ae58d2d7df65f62dce7294f29cc4dbd39daf3777f6bb7b7a7ab4064dc90a9b4a2d6368bf3153c1c507d7ad73bc7bea8d5b6fdf80200f828484eec36104d2e4c985d732b6a44633dd8f40c22682058b2049bab3b365cf0fdd252566bfdb097b2756974fbc364f95924651eae394f23c35afc9bc14b1538a0b367b4aab991f6857ddaedac608874ab656e27f1f67f2c17730014c0013c00430014c0013c004ae3f02781fc1f537a6d74f8f2098454a1009362e910832996c60a02f12f6ad2d7384029d72398fe04d3a224842a5526584c3a14545b9704ce089636f70d128e38f289182198e9516db2b6ffb4aa0bfefadbabaab575d722595a1334623f180d7efe9e9d52aa84438dc78f2e4c9b78fc58607d50af9406f0f25239146e31b1c6abf7c858ed07008c2e0a06f70c0178d242003629c4ec4a2d1e2a2a24cb53ce08b25a2422418181a1c08078260614e4e6e4eaec579c5d3dd374028941d5ddda148d09c6f1e1ce8ef77ba98602c53a94b84e27575755d7dbd022159b26c8921378767699ef547239eb5654b02c101cf40b79c9449a57206822410faf4237a484bd5771fd9baba58eff5785853f1e6079fa8b12fdcabf0994dbf4fcc6c52a3d7e7afdef8c0b634390e3fb3de61c5980026800960029800268009600298c05f8e007e1ff697638b257f5c0202a41690f090b38fe33948c8f766dd299b2d5fa9910e0e0c29c4f3fb60a1ceca48854aa9853c022ab9c2b1b4d0d9dc78a920cf615f118f840b0b0ad1d040f3d123679ce720ea60cde6cd0c1bf5793da1119f944ec8904221950cf6f54a18e66a5bdbbb0a6ac36db7e8d56a94607cee4b3d9d6e1941e6e7e72b15aa6874180e4a841c880ab972d017a02361b54c560ca71a6646781e9102e3bc7039e4edb9e5b68acc2c736ebe45a36dfde39fdfcafddb7b0a172f09047c7d7d7d596652ab50688ce6e1ae9edabdfbdeffa071f1b2459456fed52d7731d1905c4e0ad100cf0d6bb378eb22c3070def6eb9fb5bc1104d4ae4029240acc4c7e578eded29b3a366bbe3dadb7dc62d3e11b3296bc5c38f557cc63dc1ea31014c0013c00430014c0013c00430814f9100f1fdef7fff535487556102d740808931bcc0910a82e158b95cf187fdbfbdb3aa2c33934924dc020a2ae40a5250917cd6fbef360df6f5c14e81ec2c53d7d54ed725d70abb832064572fb5bdf5c6eb81d070962567c9f22546b319c20ffa7dc3875f3f4a08d2dc1c336cba371932bdfd909ab0efaacb051108cb1d2b868787b33233f34cd9a64c43c7d58ed7de787368c8abd7e96572ca1708f40f78630c170c05f519ea654b9758f3738d3a758e9e8a048707063cc1704ca1d4e6e4e45c6ee98c86fb56ae5c695d64cdcdce5e59ba5a6eccf65c69ffc3be5a7757c7b2d2e5f61b562d2f2b2d5c5e12a243242950528e65190901790b35efbd77e6b6dbbe168db00a859a6113e01ba1e453d2fe5d03415c1513c00430014c0013c00430014c0013c0043081f908e07881f908e1e79f1d01482ac0f23cc94bc129e0e9ed8b46fccb575882c10b08d10297804001094f4848120e0e6438211aa1356a1dc3499d6ecfee0387ff6afb03065bc94ab994a6875546957df58a4030e6bce47aebbdc62bee98a2380a670b0e0df7be75e21d93b892cf55a92896e3dd6eb74aa36e83a8ff73173a9c57060606a26cc26a2d846801af6f60b07f28e01f819c06994ad26cd259b27504410486d9a2e5051af5cd1ddd3dbe60b4bfaf371189ad2acd15d858fda90f36de7e8b5ea3e6e898abede4cbbf3b284384d198f9d5cd5ffbffd9bb0f383baef26efc67fadc5eb637ed6ad57625cbb22c5b2e921b2e04822bc636604c0921b437c4f0121248fb27013e8104705e4802188283433136606ce3026e58c6dd4832562fabd5d6bbb797e9e5ffdcbdf67a2ded4ab2a4e5aafce6a3cf6aee943367be7355ce33e73c67c9d9abbef4b57fef5a7e4adbfcce527140950382a057f4545f5ff72f7ef6f8c4c498aa34533e025a28c342fd9e00ae0c010840000210800004200001089cf802880b9cf8cff8f8bd436a14f33c35ecad58323630f0821aa069046982c1b150c8e17989def6070497052441962a9aa5694e59738647f3c9a6f66d43631ffbcbbf7aff4defbcf49c1589b8c4c25c36931a194f3fbfe1775b76ec5cd4df9c4de5074787376ede3031ce3ef3f1eb569dbabcb9b589c61a546c5da57e089cd0d8d2cc1cb7b9b545b7adae8e4ecaffa7069478229cd7cae952b9bdadb3a7ad5196dc683422b96a2c2846a38ab2a89b57227b272abf79ecf1050bbab7ff7efde62d3b29eb617363c0f7edbdc3e31d1df31aa3cd1dbd0b97ac58a5d942ff8a737ef5d88b37745dc909498fe663648669171b1bfc6048dcbb77cfb2a55de58a29aa02f598387e9f206a0e010840000210800004200001081cfb02880b1cfbcfe8e4ada1cffb8e6dfb341d011337beb461c5a98b192b8aa22ef0be695941b581793c734c9ff38a9a21f16aa1a053f33a952b079bdad29afeb1cf7ee5e69b2e78df8d571507d2f9527eeba66dd98989c50b7bb3f9726334deb37041f7d28597bee9a296504c1178b73aeb01d7d6d16668e570307c56b261cff6ed63a3a36a50a100442e976b6c8a275a1a2805e1e204752e501a43a2a248aea735842549b07ccb8f06426240da3b669cbe72d959cb162cea6c2995f4b696e662799ce3bdd6ce2e8176b3e0aa73ce63c94ed5e79560c7ff7ce37f622ded575f79ae552cfa82cc388763e69245bd2fbfb4f1f4d3ced70dc1752dba792c108000042000010840000210800004e64e007181b9b345c9472ae033571445d7a2d63f2be4b267adeef3bc09ea6fcf3c5f60f422bddac99e09beeb7ba645bf58a56c191693448fbaf7eb3a652264d469bf4cc9008ad9723edb108a34ae681ece9646469e4dc61b2e7ef3c57d679c6e168a8ac3986d8da45381683057a9c8821008079965b4f7f48413b1f4c47849ab50878596b656ea50d09feed534cbb51dd72872bc1a0e0585a02a303ba8f2b164241049ee1e494b7c28190fc9dd6de954211c0e2e3b75ad2fb25436234be1de794be570e34bcf6ffafecfeefbde0fee9cc89478e9fb97bff522d311144515acb26114bbe6b5ad7b629051b645d795440a58a0bfc0917e91703e04200001084000021080000420700001c4050e80835d7516f03c7a872f52bafe72a5582ae7e6f774e9fa468ea79c03bec04b54393a8089bce93a9ae95925cb76395110b46259cbe7829277dec5cbaff9a33fe2ec52c08b76c562d9f10c2707d313d9cbffe89237bff58a9fdffb4b2eac2e59d4efe7cb9c1a689f3fdff45d9a85d0b20c83220d8e176e4c4a417522931644b1bd83261a68737dca77e04c8c4c58a6aef21cf513e0a9cb80ef68a5b2104c34c4c25238c45c2b190b458292ea87420179d396ed62443e75d5999dfd2bf8d66e63c7c4e7fef9abdfbbfbfe9466f3822af2fcd3bf7de9a73ffdc5bbae3f93ba2450e54dadd2d3bde0ee9f3d6b997635ece1bbe82f50e76f212e0f010840000210800004200081135d00718113fd091fd7f7e7f3f4ce3c1052874706398e45a2014acdc7a86dee73f4229d1acd3ec768223fc3a12e055c516713794d0e842b7aa154c8e925bb39996c6a6bab4c54071be85aa5a3bd3b9d2f9e73ceb91d8b16bbbc74e5dbaffdc52fef6d6f6ef5f2dac4c44467df425be4220d4dd417c0ab68bc283045b235cde305ea35108ec7683c8320704d4d0dae610b5e54f42cc67965cbaa942b9e63d398825834c249328d7c686b6e088714ddadf89edfd6de389e2e189c9a2fd977dffe8d6f7dfdfb8359d3e478490e3996e5336fcdda955d1df32ccb9594a0e31429ca108d863ddf2e1433815082421d82808104c7f5971895870004200001084000021080c0b12e80b8c0b1fe844ee6faf98cbe9fb620b24271221890249ed35ca79aa39f82011ce77194128051f6019d02031c0df1b7739acdf880e5165c9f8bc755450dd0087f391857138d31cf29667361291aebea54a2c98ae529c1407777f773cf3c75d692159665391e5342918a65d320857038ead9aaeb59b6a0249a5b15910f47820e8d54706d55552995a0481109dba3b880e4fb8aa2089c43e31de849d14f5912928938451038cea5c48482c41734eb1bdfb9e3b69ffe3497f3798bf98c511f00dbaab437243ffbd7fff77d7f721d2fe56d63c0767c51901c8fa338405095cb955c281aa384033454020b042000010840000210800004200081b913405c60ee6c51f2910a709c48bde87d66ea46510dc8bc4079f85c51e269cc3df515a0d2699481ed56930e328e662660b6c72b3c67d3887cab4c490a579f79ba14904559303c479614c172238228a921dbe7944084ded52feb5f7affcfee2a347552c481f19c282996cfcb0159d7344a5a40bf38456d6869177c87098c67b2a71505410c85429ce3b8ae43f90e0321590e2abaa6f81c5f2a96136a4c951559943cd794048e1220c463c9adeb5efcd61d8fe73da60678877912cfa853c0294b17fef0bf6fed5fb934b57b5326b7a7b72fa10693ba99a291113ccf5455d4b432f328bd02eff8de913ae27c084000021080000420000108400002b30ba08bf2ec36d8536f018e491408a09e01c55226105019e51af4281c30d959c07738deafe617a4c9fd2a1a8d2ca01d95725116bc96280b0ace82eee6050bda1cdfd07d538c058b9e65701e1f947989a751fdbce71bc52235f89b1b1213e3a3c94422a0a8d46b809af796e3523f05ca54e0f032a32c018264fb4cb71db3daa580b76c4f96558a32280a756050a87f801208261b9b9440c8b41dc7f1a8cb002d7405fa4941044db7e24d3d346502cd3450363d9f6796c7a271e9073ff866ff693d239b9ed172638db1b046430d3c85e324569d99910f8602c57c862220f4046a11907a3f0a5c1f02108000042000010840000210386105101738611fed09706314003029fd1e938a853235c427dbc8bee7b9141fa03e01f4369e090235c50ddda60485946a40f66cd1359ae3eabcb6e4b2250b3a3bdb2de6591ca719159a6ed0173dcdd4282501b5b46d4ba3391055456c4c46cb95422c16f27ca7da02a73e004cb029c500c500e8c53de32928c0cb8a1a0cf1228d4b88566742a0dc03b2248525392ccaaa40d907a94f424056986d1be5926318ccb1799f776c8feac671d503bceabc090ae3649a465196d8d7bff2f99e96c886477f29ba95a6588439aec044dfe3e917c513a8234330a8e60b69ba884b77c9aa1916b1400002108000042000010840000210982301c405e60816c51e0501db3582c120632ac702aa447101cafc47c3ff0d7a9def73346e807aff0bba466fda39d7620ae3c39cbbb035d2d51c59be7c51574f37bda5e7141a2f20289ce01b9ae7988eef188eed304a52e08982af95f34dad8dbee41bbe4931088113290cc17b3cb5f4058a0b50ce3f8ee755d9a6c902a92f3f2f506f004909cbe1301f1485b02f865d2540d909594851e2e110651970b582646abc61fa0eeffa62b549efbba180130f51ccc28ad0f000c63ef2deebae386fd5c6271e08733615e3d8360539a87301a5db18070600004000494441542c1004896a4103180491ba42d09d3acc17798f6e1c0b042000010840000210800004200081b912407e81b99245b9472ec00bd5de013ea33901656a97538134fc9e3ae9d3ef3498805ee9ab6a80daf3e56241552483795d1d89deee66497157ac38a5ab7b1ef5f917d41075c6a73639650da47e02d54e01d4d18012ff79aee759bc442ffa8334d7201368e2031a2a5011996ce9a56ab6008a343097d12b7ce67a94dbd0a5e908aab1019a9e80e627e4c500e32c1a9720d8ccb7290b82e898b62ac93acd974063197856a994a84f81a9e992544d114055e63c5faf94cf5cd6f781f7def8c0cfefec6a8bc7422d965611c309ea0ae13836dd2145043ccfa13e03d5091a276729e468e001262a3cf26f124a80000420000108400002108000046617407f81d96db0a7de02d491bfd692a73c02b65bed20e0522b9997a9854e5df9a9b52e4c369a7d4683ff8b8988d0b77ca110e49bda1bdbbb3bd46070b20b80e0d11c0574b8c773d5988047a105aeda5fc0a6b9002ddb97d5088d1328952a8a2430c7929825732ee7e83cb5cfa9c54fbfaab108ca72506db1538c80620094b490572292dc24888dbc10e3788502101c4f4301a4a2564967c71d5ff7388b4615489264985630186e48466bb30a7cf66fff6e706864f3d69d96e909a2ea532a458a33c83cc52158b54a9481c0a2648ab497a7a0088d3ea0be10b40b0b0420000108400002108000042000813913405c60ce6851f0910b50abb89a4f9052fdc9a66956330ed2387c26f8b627f232cf4bb645ed672e12526ccb3975655f6347330d2a98dfd7d7d8de6aba36a5fea38100143ba07040ad24def779cfaebefca7befa5cf505beefb8122f0c0d0dd284878e49f9070a22450d28a9e1e4fc80342941755244ea9ee0dbd5b2682a0445a2190d4425ca8b495e887b9c4a1907aabd113ca762daa6eb17f54ab6949354893220500482c60594cb9a6151e5d9aad3cfe8efefcf660aad6d9dc5b29ecd972459717dea116151f20197e93eb37c1a3bc078d3a0dc0751ba78b56704edc102010840000210800004200001084060ce04101798335a147cc402beebd0fb747a6d1e8c042bba41710151503d97beb422cd1228710af338911719e7b6770416f72f4c97cbe1a6d6ae457d91c6165f96a9356f39b650cd0e406ffe2994c049341d2135c35d67b2e380aff0ccd18a8df1885929da9512c505a8fd4f19017c9ea371fd2ef5e7afe62874297b01252914799fa63c14d580a8460425ce8b0926c4a9b380cb55cbcd958a05ddcc968ca26198ae47d314d03c050e4d932048a148ac3a3b01cfaebbeebae79f7ffeb74f3fc38bc15c511f1bcf5434c3b07597b304916641d03ca633c1f51c661a5c3814f3dcc9b8004791022c108000042000010840000210800004e64a007181b99245b9472e402fcc69b03df5e14f24129aa651577e419019a5e4a39e0236bd68a7fc00011a53a0ebfab253fa29efbf2705db7a97a77577bca82be1b8a8863881a7c903a9714f430026dfbd4fce69501d14402d7e8a2bb0dcf8a86b5946b9924e8d389616a0b9035c932eca0b12e328f96075f6028f2e6652da42bb9a9a90973851a6a1071e27fb1c755ea089057dc331692243dde69f7971d3e84431d9d42107c2a2a0f81e4d6de09aa6552e57687ac2ef7cf7dbbb07069a9a9b376dde52d1ad52d9c816f22eb3a8ff0127da94b0c065260d2ba0ce02a6e1c5634d341941757a846a86452c108000042000010840000210800004e64a007181b99245b9472e4059f7e89765590d0d0d86a5eba6c5aaaffc256ae78b1cefd37c85bc487dff037228164d640a95debed5b1d625a305b63b5549152d47103949f44566fbaee5bb94f79f6204942d8092fc33ea6de009aeae9732131bd7afdfb66ddbd8c8287ba52b814b8308283250bd38f51670a9616f1a9a6e1946b53ed52906a81f41b5bd5e0d0a088ecf9b9aa371aa34345e78e8b1f5a9ac198ab704020d8c530449a968345841a7190768d9b17bc7f9175e50d22a23131386e31aae6d7a96a4088a4a73211a949790122550a843a7b880cd22b1866a55ab55b08f5c1225400002108000042000010840000210984d007181d964b0bdfe0294ca8f06dbdbb61d0e87a9494f01026acff39c42effb29873fbdc9a74e005ac56868682a158d62d16a6c5b640a713ed45a74d48ddb8706c632e9b241bdff759f375c464d718ba616a8f64110188d3ea09c7fb222aba1cddb76ef1c1cb3991c0a27e905bdaaaa74d1ea1c887eb551ce5cc7b5755baf589a26532f023a8b060e705448f52826501f06eab820b89cfaf28e912d23cce2821593a62d902525a8eb069596cfe72937021ddbdbdbf3c083f73ef69b4723d128f558301d5356294f82ebf1946e903a1cd038025fe02957020528f840204495999c7981520c60810004200001084000021080000420305702880bcc952cca3d720181c9b641c3fca991ac44a3d1dd7bf6064309cbe60441a277f83464dff36c0a16d0e8fd7cd148e78c6cc5cf1b42aac255fcb0af24770e17b6ee1eddb13753d0b9a22988819820abb643f30a78bc280972500a46c548635377ff9e09f3b1675fe682495e09598e2f88b2a99b3cf31591f32d832621344a79bd90f3287da043d7e56499b73d9acdc0a4763ce51af48560b6c23df0f08b9409a0608865935af9142b9028186018d55909682e055160c37b07befc957fdf3d30a4844449e5949010892bc9a690eb975dbf42f30e18ba190cc577ee1a4c249b0241950222d45b8192271eb9244a800004200001084000021080000420309b00e202b3c9607bfd05aa190478c9b568ee0031964cec191892e428cf05289b9f2851e2008b5efcfbcc2e964a437b47376edcf2db679fdfb27befeeb1dc68de2c502ebf50a327c6f74e689b768d6fdc36bc7d4faa42510649f699e7f80ebdfaaf36dd05d514237b72d6cf1e7ee107f7aeb3952639d9a57901970b8a72482feb948f901965b390b62b39cfa8d075cbe59ce59a9158d41345c3661e1f8937f63ef8c8f3bf1f9810c5e08ebd854c5ea309140cb32ccb941fd1766d5b96982c32ca90104bb0be53da0261a9adab69c19279c9e688c3698e5ba1e40294c720146cb04d31359e696fefa48c08d45b81620ad451a2fe4f023580000420000108400002108000044e5c01eaa78d0502c7aa00651050248efaf3337fd1e2bef5cf3fca7317398e4a7df86591c60338b64d0d75dfb2b542a99cca979e79e1f9459e1f6d4c5a1c972d89f150a0259a0887a29a57d0cbb6aee79249ae8992074abc2f54870738360de9e71f78fcd9ed29b373f1fc2fdff6cbf583f93fffe89fcdef58aa65c74d332b2921559172a902d3722ea3710815db2c871bda28314099921d48015e4ec6c3adffdf3fddf2fd1f3d168b77a4f2e910c79effddef56f63708bc6b997a381c6c6a6aa20a1b3a5b7e6af7eab396ae5ab168657feffceea64432280428e1419a6628a489116cdb61a21c9612db773e77f1456b69070d22a8f68cb06822062c108000042000010840000210800004e64a007181b99245b9472e4099056942417aeb5e28174e59b6e257f7df43afd34531eeb3946e1514d9b1fd52ac51a621f98552919ad183c3bb1ae6cfd3394f77ed80a23646e37a85c554b531165763be57766812019a9c40e569c243ce368da02cd35c06e3b94ab47db12eb7145cfdde27373ff9bbcf9cb77af59fbcebedbdcd8d9696af5000c0f4a895eee8a6615b9499c0d02d87a996ef0522cdc3a3135ff8fc3f3cf2e806391419cae793a1c64a6578efd0084d5ee03996acf0368d41d074ca83d0d91ebffdfbffddde1e942523448906bd8a6de73d87e6292878ac42631644ca8360aa7412f51798bf70bee5d0dc04028d23e039f9c8255102042000010840000210800004200081d9041017984d06dbeb2f20d06b74cfe105df36ece6c64e59896fd932b66c494fb13c64d9395e28070381c6d6e8b2153dcf3e3d4aefe4b36383c55226d8d850310dd767b24c4dfa7c86f163e96c4cf624d7ec15a89b01a3c6b6243191a7167ea95c2e33515542ad7916c9bba2c579be25de76d7afeebfffd1cbd62cfdf03bdfdca02435161c29fbf164a842a90d684c83a73225a686023fb9f3ce2f7ff18b7bf74e84c3b1b2ee530ac39c5ea4a485b95c4eaf68826dd10c88f4ce3f140a44a3f2483a1f8b87c3519a07b1e43825d72dda6e91f9154a2e40332dba0ee77be164acf3a50d7b1a1a5ae2f1380d8ee045ea11e1526ec4fa3f09d40002108000042000010840000210387105101738719fedf17f6702cd27c87c9a21500d28d41d60d1c2535e7c7edbf2156fb1f3821a0c588e6eb885a01a7ec73bdf961ef3b6ee2aef182f9a940bc0d269be00ddb2ca654de5e55830ec4ed8be9553acf1be9e84d411e3a81f8243d30dd0b40242b9625a9e64b882124d8665ead19f1f191b5bb178593135f8fd1fdd7defcf7e78e9590b57f6cf1bd83a7ed6593d4ade969ac5a6f6ce2dbb47fee98b9fbde79e7b9291981a8e8fe52b91688c06022821c92eb17cbe58c815a2a245131d5273df30a86f81c7f1ac50ccb4753494b5bcc49565d19444c7a2090e7943a84e7a408914958686ce754ffee0f455e779940081b94275ce039a18413afe9f24ee0002108000042000010840000210387605101738769f0d6ac6d17c7d1265df732551d50debccd56beffafeed5a4e93c42035e9697240d3297aa6b2e2b4451ffad87b77ecd4f970fb0fee7e48e77c45a1a482bc63526f7e335fb16930426e7c9815072bda1992a4309b76f09e2d180e9f37ec4cc5b0244eb03dd9f703b2104f46b7ff7ebde059d144a363e71fd9b0e791f5db1c97cb0427cee593dbc75edcb0fd81fb1f7e7230352c851b32c512cd88a086820eefd3fc89e55241612c1289a44733d1564a1e40a3166846428f4206c964201854041a8720d07c08345f41c5754b9653146597a3f001c78503d142369f9e289fbef20c9ac580e7a9eb02cdc520bad4f3010b0420000108400002108000042000813913405c60ce6851f0110b58be49afcc055f712d8ef2042e5db2e476cddeb327b5e494ced1f4a01a1224c977ac42ced97beaa97d4b97b555fcc43dbf7ed471389ac1d074e85c5e1443e542b93ac49fe60b742898a0fa3e47931bd2ab788e5173dda446bbae55c2cdf4323fabaa2aefe9be6b36c423b94cba58d699e3e75d3b180935b476fdf8fe75f7fcfc1ecef54d21a646921472a8e433d4cc174589721e14b512cd72402ff715e65b54a02a597a99e635742c5ba92e62a4219a4c044ba5318e3304917a3fd81c3324c1619c6de88ee047134df3d6fd667734dadcd8d291cde56459b26c471455bad01143a200084000021080000420000108400002b30a609ec25969b0a3ee0296ec983ebd2e57385796a823beeb5e7ad945bf7ce8d7bcd02c086d8cc9966948229339532fef719c114128251a545562f45e9e7e565bfe3495a1181544590d462d53d5759a87c097a859ee55ac4a462ba5b5e2b8911fca8fec909d82534a1b3a8debcfe7cb0541914541b5a94d6ef37a5edfb569b355d1355bac3842592b67d2239ea12ba21c5314957996ae313ad2972531e4ba2c1a90828223381a4da5a8482a051f2ccb696c8e0402d403a0c8fb1acf6cdbd629dd206315c72953199e97645cc713eb7ebf66ed251e4d4f282a866106d590e7d06882ba3f07540002108000042000010840000210389105d0e638919feef17e6f2eef3151706c7a0d2f530bd9b28cb3d7acdeb57bcfd0de722cda63988a24457c6ae8fb158e2ffa2cc371a5785ca148010dec17984fefff55254c6310a4409093655e564dab3a6e9f320fd846c1d2f39ca99985ac6f58a5f181e2f85ea398a28f1245027c2b3f3154c80e4bcc4c8644d9ceb34a46b4cabe69c8be451323f28ee6ea056655123191d21938962ef2940b41e04d2b2ab125bded926009be2951ca44c7336d4333586363d8b60bb2ec713e8d3c3068fa43cfb75dcfa64e0dbeab0682dddbb7e53279f3ec73d6160b65eac5204baa6559b4f7787f88a83f04200001084000021080000420708c0b601cc131fe804eeaea891cb59969ee00a93a5d1fe50b70ad4824b866cd9a7bef7be4437f76a5c85a6c23a5ca06c7593e4fd3fe6583e1ea1480a54a3e11498a5ec0d069cc80a304254a2560eb8c57f8a296775993eb94058ef1aecee95ac0b613121b352b1409b0e4207505e0387a45ef7b6625a88aaaefe453767f8f120947067795122176dedab33b162df9cdd34f3ffc9bad7dfd5149a0490d58a9c2db3e4d3d688acc59d4135edcdb6c1a79ca23603a94dfd037ecb2edb27822100a88c56299c63e50c2439a1f51a4891669748443578b86a2bd3fffd99d175e7029dd2c6525a080866dbb34fc804203b4e5a4fe12e0e621000108400002108000042000813916405c608e8151fc1108f08cb35c1a4240b90729637f35fd5e3a9bbaf6faebfee2cf3f3a3262c4623da5b26ef186241922f511f02a9260aa92972f1542cd3ecf0bb66b8bbe2d8b922c487650764352ba90b6ed79a2ef8a3ce7324ff2054bb3789b093444c12ad38000957765deb68d723420862394a0d0befa9a959dcdd1cbce3f9777ed80a8168afaa25357bde3aab7ec1ed9932e641a1b9a9f797afd97bf74bbe0990d2aa50a604bba62ed4d61cfc9b934d9816e5728830147590bd982855d4ce42c43a7510c7471ca356859f45395c4b8efb5ec19280e0e153ef9a9cbb3d92c8503e84ea9cb404d8ef22e1e01214e850004200001084000021080000420701001c4050e0284dd7514f0dc6a03deb1cd603058b42af48e5f562541542eb9f4eadbffe7febffaec9fa5d3234aa0e2fbba6917552528784624209ba695c995ab4904292fa14009054c21c04941898b040ae5826e9961c777986768f644bad8d2dad1da114b8f955cc7a0b84048f125d7b018bb6cede9679f77fafcdeb6a698f2bba77f43e186f6f6d65c3ad7d018a520424491bbdb5a1cb3d899082ebefad2550b7ab66dd99e1e1b7ef88175dd09a925128c8821aa939e4e65f265cdd69b5bd9f917ac718c82aa889e53e0454b106cd360a21836ad5873f3a9fff22fdfbcf61d37b91e2708026547a4a000d59fa62ea4ce025301823a3e085c1a02108000042000010840000210388105101738811fee717f6bf4aa9c260ea0855ac8930d664a1c20e60ba52baeb8eee647d6ad7f76c78a55abf245cd32e81dbb64995a30e0f826e520d4b9a266bb1c7516e0454e14795dd3a9bf3e75df2f69ba4dfd0e7c1a59e0798ea43bdc502a952f140446490a75c163018e5916bbf983572d5bd157b62b679eb64c60766fc7dbc3128d0730b3e94c6a74a854d41a5bdb76ed1938e5d465ae63ad7f8aa206724cae2c5bbda433e675b434070211cfa391057ac51634d3ce15327ffcb633962e5ba457c6020a334cc3f1ca964b8305e2a6116e88f7af7b6283e5cae79f7f41b150a2090b691c01dd6cf5de856a80806effb87f90b80108400002108000042000010840e01816405ce0187e38277dd528bf8033398e80a6025002b2cb5cc3b42895a0cfc4f7bce74ffff707df3d75e52778d66459e958945534931996512c5b862d180e2f78154a30205a343f41c12dbb9e41471439c1b225264604ce0f4694cec5012b1a5ff4f29689f5632181a93cbbe0ccfe8f7df0a615cbfab6efda5e71c3f16098aecb8b341d21f7f8dd3ff32a15bd54daba69f382c54b6451ddf2c286458b17f4b4b70fecdaaa95525247c3d2a54b9f7feea574d68e4692b144bc6cfa96eb85a3a11b6eba9ee73dba1bc72e8b8269b8d4fe97991f10f8c672397ac78f1fb9f9337f9bafe45435a495759af5909e3ccd58405d060cc3405ce0a4ff730000084000021080000420000108ccad005e45cead2f4a3f42010a0d5067011a724f6fce5dd79795a0edb062593ff3cc955d5d0bbffbed3b6289a501b97b62dc49263bf57c9177cd80c4bb96699b26f338d776f2b91cb5ae2b65a3a2d1dc7ff4325ef47d451043916822d1d6b878d9c2bffecbfff3deebcfed48b06bdf7ada076ebcdc280c5be5547f6ffbe9cbfab2e3a399f1ccd8506a62efb8e98a1b37ef6e9bb7b06b7eaf208a2d6dad1d1d1dc5929e6c6ce164b1a46ba94cb6a5a575b28382b06770e7af7ffd906959baa92d5adc73daeae5a691a56c83b65be6055752649fc9958ad0d0b8ecd66fdfb57af545f3ba16389e5d2c1643a110c5052828402308e8277519a01a1fa1214e870004200001084000021080000420700001f41738000e761d1302b54ef5d4d19f0611782e4fbf8b92904ae73efa7f3efe898fffc90b4f2d5975ce59a3c386ae55870c7475266361bec00ce6043c87b3399ad0c0731c97720d08d5ac8115db136d1a35202abce80414d531acfef9cd9ffdf8fb6fbce2d2c50b173cfcd07daac8c5a2d2eedddbe4402c5d2c991edfd0d2aa06838b97ae78f1c51d5dfd6775f52fa7de07aa1a746c9a2781a62170b8407270acc8fcb1f91d0b4e5bde57ce4d04286362a99c1edb69f9ce92255dcc294aaa592ee77966b89447900f69bad8d571daa38fbc90c95a9ff8e4fbf3c5b2a2846884034d4040e8141a984a2b80fe02c7c4b71095800004200001084000021080c0892b80fe0227eeb33d21eecce35e771b9c574d0560d97a2219a64c02fff7d39ffdf75bfe3733ea34379f52d104495516f775b736872d3d6b992555a119fe78c3a0f7ed826d388140480986f2d4333f14346848826f5bbe1d08a84d8d316654628a48b9039a5a9a579dbd7a383566baceae5d3b28a14024184c4623f148b0a777dee5575fc3c9c1c6f61ecde6d28592c579367346b3e9479f58d7d6d5bdb87f29afca7280b7dc0a7508e8ebeb5eb8b09de7f49e9e56263bb9dc5e5e344391a0eb49d98cd0d6b26264c4baedb6bb3ffde9cf793e2547142d936e157f1e5ff7b8f10102108000042000010840000210f80308a01df20740c6250e53e0f54101faae567f713e2f097ea99c755c63fec2c5ef7bdf9fffdbbf7e8f79cdf1c482a26135b5261b1232ef959211a5984fd38b774194394f143891a6004c653323d9ac1009db8a2784155e929550d42eeb5b376f59f7db673831b0f8d4d57243871f4e3852d0e6c4644353577767b2b5211c160aa93d8d8d32cf5b8f3ef2c88def797f26934ba752c37b77edd9b5f9f22bdef2ae1bdfb9fc8cd3828dd1604b828f06e29d5d4d9d5d67ac5e7efaca85969963462110e48321a550d28b25a921b9d2713a3fff855b6ffed4df86a2111a3e105012821fa28488080d1ce67705a74100021080000420000108400002872b20fcc33ffcc3e19e8bf32030b7029661f99ccfb8c93e031ce37c4a1728729c4b09fc386653535fd7ccfefefed191ec5d3fbfe392375f62db255e0e989efadb67d7eb060b84e296e9497280e209ae6bfb9e65eaa58deb9f3dfbec550d4d5189d210b89e6fbb8e6e954a159adab07fc5e962244ef318f082180c47bb3abb1b9b1b29f99fa397f2e991cd9b7fffa31fdf79eb7fdf76dbed778f8efabf7ee4a14ab9b8e6ac55b1b05aca4c6c78f1d9a02a687ac1762b4ce0b4320d34505dbbe27834e54024d9de582c672b3aa53c0886c2bda238ffeffefebfcebff0f2f32fb8d43669f601c5b569c2039ee73c46bf98bf0f2ba557d8670b3e420002108000042000010840000210385a02e82f70b42451ced117f0397ef297e7731e359b399f2204b4e2fb9e2b8b124de927cbeae858eec6f7ded8d0d0f9af5ffe5638beb45891cf3973edcafe536cd3a003799abfd0b76dc714794623f6a540c091425fb9f5b6b4e9674ddfe183159babd8ee58ae306ff19250bc898609d039bc1c4a3634c79a9b82d198280b12a533181e18debd7dcfee9d4f3d3d369261bec806c7d96fd66d9058204143115cbd2dcc59f9bda9c1cd85ccc8fcaeb635e79e43890f776cda140b060677ecca8ee6c24ab3c09a42eaa24874e9e7bff8dd15a75f7ce595efd60c47d375db32e8bee46aae0f0a0ad052eb1931b98a1f108000042000010840000210800004e65800fd05e61818c51f8100cd4a489d04187329a700f514a09ff42e9d9ad08c512641ca1a407d07845038582817de74f1c50ffdfae1477ff3e4157f7c032f868686d25b760cb9bca83b1e274a224f19fd5c59152445496573131399c13d7b96f52f8d0482b954aa54c851fca1b3bb279e4c08a214090545cf1919dcbde5e5978af94cb958688805b343037b76eca0a90cf70ca41c97994eb5ed9ecfdbc980900c29466e5cf4cceeeeae6422e63a5e2695314a5a5b63231592ce6658501dcb166389ce68ac3b10ebfbdc67feb5abf7f4f7bcf723a3e98ce77a311aa2c08b34ed826e987c3579c2546781a91586fe0247f025c2a910800004200001084000021080c04104101738081076d75140b71c4af73f1908a0f10434f69e02032ecf681001250ca0e90645d7752c47e745bf52a9bce52d57beb87ef70fefb8f78a3fbe5a5523bf7b797b2a5fa4f10096634a02ab94f382c0dbbe2fc9d17843cbd848ead70f3e6415b3f35a938ae2b734c7b54aa9b931e9ea7a6678cfd8cecde9e1014a4dd8d4181798971e1d1adfb16df7ef37a5f78c1b45bba1299ea5ec858c491cffd20b5b9efecd6fcf58be301a09a96a2899681685d0e8f0986d96e2e14025571c1e9938e58cd5130563fe82d5e170ef5fdefca5652bd6bee74f3e922f97a81f02cf0b013150cce564c99765dfa3a90a6a8326aae81404a9c641680d7181aa071608400002108000042000010840606e041017981b57947a34040c8ba614acc505681041f5653ac5052842208b228dd50fa8615af79923ca1423e02b8673fef9176632e56ffcbfff77d535d7ae3e7bcdc0e0dee19131df7739db0e0654ea7de0384c94549aa530168df39e1591ecb5ab97e75323b2c851f681582c68599a2cf812677575b47475b5372462349a60ebc617cc4a21120844d4404f77572896a01e0aa66e3737c44b15e38ca5addd9d8d9c6775b4b7c9b24c93280602015d2f7574b40dec1a5443b1a6ee79659357d48e7ffcfc7ffcf115efbefaed3796695245c390254516e462ae108f4619b36dd762d50e03fb0ced415ce0687c9350060420000108400002108000042030bb00e202b3db604fbd052cd3a4f103d5cc83d45aaebe3ea7356a27739eefd12c03ae47e30b2854404d7a9aa540a0ac7da66e9cbdfa745ee0bf7acbd7962ce9fff0fb6fa286370d1b30cabaedb8a228f11c675a96e739946b80f9c6856b972eea6eb4f2b9ecc850341cc8977291c688e9510704ae50cc7b74a849f3156a8dad0de3b98948326ab94e3a9b6e686d181d1eeced6e334b132d11f6d6cbd63856be21115215deb1351af5309149554cbba9b573f3961de168bc6fc58a54a67cf77debdefdbe8f9f7bf15b26d2349382190e874ccd5104599114dd302449a23a51c062b28300dde3d4afea33407f817a7f13717d0840000210800004200001089cc802880b9cc84ff778bf37cba4847cb44cfe78a5a95cbba7da96a9f5ea471a5c603bba6d9bcb972f5fb162e5adb77e77c3868d1fffb33f59b6f4d4815d3b69a00195264b922cf0016ac1f3bc5e1a3f7d717ced698bdd42a192cd09d52c869c1894439180e75493156626c62992e0715ea15c6aebec68696b8f8483f3e677eb5ac5362befbee1da853ded7f74d9f9d1486060607ba229996c6e181e1f8f24e20ec7e78b1acd68a095ccb26e388cb33c69f5dab7ae587b99a9d9c168341c0e4ad4ad400e16f2259a48515515c3d2398ea216fb7416a8dd20e202af38e03708400002108000042000010840602e041017980b55947974044cd37c2305f9e160b0a2698eed3635355f78d1859b366dfeea2d5f5f7de699efbbe906d3b407070632e909dbd22934105495b050b97045b39b1e280e8f77b6b4f90e178bc51b1b1b6cbd32be778f22f8814090e379c7e7944030a2c60cdd6c686eee5cb0a0a7b3edacd5a737c523fd4b7a1b1a6223a9b1b69e9ee7376d6decec4974ce5722f148a2411295b696f652be92cf97a55028d2d8313ca635243a86c626b66cdff6ccb34fdd79e79db2a4f6f72dd1758dfa2f70c2646803718137f2bc712c04200001084000021080000420705404aa73a36181c08921e0baae2acb9ee7d22485b665fff9473f7cf1c5977cfd3fbed1d4dcfaaef7dcf8aeebde71effdf73ef0c0038383835a3edb1a6261ceb78b99e18151b762b474cca3b10ae9d1b1ea90059fd7749b17382518a1b880a6b9c57c9eb206941d8919343361ab952f88a2180ac6cc5c61c1292b03b144d729673ef0d0832b834d7238fafc8beb0be989fbee7b7c60cbd654aa62086ca2c246722c6ffea5c78b064d974829065d26b2e0796bd75002059a2cc1716c1a2c303930e2c47814b80b08400002108000042000010840e0b811405ce0b87954a8e841052ccba24907282b801ae0039258c8653b5b9bffe396afde71d7cfbe71cb57dbdbdbaf7fe70d57bee5cdcf3efbf4af7ef5abcd4fdf5f1a4b2f59d028774be974dee73ceae06f711ef5381068f6c35863a668249b7b192f4d4c4cf882e1884ac9641306bf73e7564a1bb877ef70a1501adcbbb7582cef1edc2308c2d0902572bf306d161068aa02c63b8c6650686b6094724089b2b396ac9abf64556bf78285fd4bd6af7ffe1ffff19fb76ddb466323283f02cf53264599821ad5340a58200001084000021080000420000108fc6105289f7b35e13916081c8302c562f18dd4aa3a73814493115242429ac0d0f51525e0fa9e69bb8d0dc952b942eff31f79e4d7f3e7cf7ffbdbafeeececcc8f6e2b6efd8d6466a3e158369b355d2fd9d82028f2f61dbb366ddaaa04227b465225ddcae672a989b1dc78ba5060a91ce32446931a0802736de631d690ac263688c7d4f6b696642c1e8fd19c06e179ed1dd4e7402fe61aa37277f7bc587bf396dd63e75dfacec6f9a7d8962b05e5c71f7ff4924b2e79cb9baff8e10fffd7f54c810611f01cede2f999e374d1ea840558200001084000021080000420000108cc8900e20273c28a428f8ac01b8d0b8802cd4868c7e2d4589f9cdf902637a4b017c719a641eff3a9e7ffc4c4f83df7dcf3939ffc98d62fbde4a2426a68f3cbebf55276627ca45cc94f4c305d6774465061a6516df6d3120db2509075b448146b686b9fb7f28c559c6b7576b4b634355072813d7bf6f62ce8a5c905172d5c42690f0b99ece89e3d0dd11067bb030303d186e64ca9c4d4c0e044b17dfeaa4bfff85a9b13b3f9dcf6ed5b2fb8e0a2ae8e795bb76ef57cc3348d60286a181665439cbce6be3f1017d857049f2100010840000210800004200081a32780b8c0d1b34449475be00dc60598a695e9947c2e3791ca501780bd7bf7a6b319ca26904aa546464646478775dda8f68f999ccd80def9fb1ca3390e9be2bccc793df3da128958bca171f9d26592202e9adf1d0e088ae8072449372a4bfb4f79e8a187969eb27cdebc4e4a4ca86bc5782234343c4857112565e1c2c59669ab7280521bfeeabefb962fe9b3ca65c7f347d3d9d3ce5ef3d2f6eddff9fe5de1c6057d2bceca954a15cde8e8e878f8e1470776edd9b265535b7b230d7f30ad6aef064a40382321e20233b260230420000108400002108000042070540466eeb77c548a4621109823011a93ef791ef505a017ecb4d0ba2449575d75d5d34f3f6d39b6a1e9d4219ff6521f01c77192c9a42c8b8b172f3eedd4156ded2d6d6d6dadadcd946ba0a3adb9a323f1fc538fb7c5435155a257fdf16472d7e0302f088b16cf5ff7f803e33b47ae7bfbe59b376ee29834b4737722dad0926c1cde3b643b6645afdc7ec71d8ee7d2f4878d2dcd9b770f55cafaee1dbb74dd7c69c3c607d73dc75ca6c894e0a0dcbd7cf99265cba4e07d8bfa160d0d0d2eea5f4aa18a73ce39e7c517d76fb5b6598641f7429594a4a0ed7842b5bf40ad9bc21cc9a158084000021080000420000108400002fb0a202eb0af083e1ffb0293b9faf86aa2bec90001c5052804509d2fa0a27ff8c31f5eb3664d3018ec686fa78efe1414a0bdc9649cc61748a2645b9624cba6a96ddfbe3d910cffe4273fdab4f19928efeddcf4126759575d75cd57bff14d5ee67b1674ad5cb1e8370f3c78cd65e7787af1967fff56b8715ebe64f62deea55c0345adf299cffd4d3aa7dd7dcfbadede686afce9645c5cdad75f2e96d2e94c3c9e6c6deb52c3e1f6b6d653fb16ae3ce3b4871e5df7a9cffcd595d77e60782cd3dad9e5babe2c29dffbee6d02e3d6af5fbfa8af579425dfe32449a489148e7d7cd4100210800004200001084000021038c104101738c11ee849713bb540c0545c80ba06507f01ca1a4833145e7ed5d5175e78a1a6697b07f6b81efbed934fcfefedbefffefb4747471f79e4915c2ef7a10f7da8adade5831ffce0dffcdde79e7c7ed3734fbff8d1f75dff3fb7dd77e9f9cb28f5a069b9d7bde3eadb7f78e785e79fd1b7a86bfbd61d015eeceeeae0420dc5d2e0e89e9da5524989c6a823c07b6efc0075fe5f7de6199cad2fe9e91cdd3b100f8737bcf4fb644be7e0e844dbfc85e31329ddb6d73df5dc634ffc76d1f2332e28965bda3b8aa53c8500026a943a2cf01c4f3d057ce69aa6290aa2ebd8a270523c3edc2404200001084000021080000420704c09202e704c3d0e54e69004282e40c307281c4047d34f5aa8e3004d31c089e28beb5ff8c217be70fdf5efd8f8bb8d7d7d7d5ffcfc174e3df5d4ee9e2e9a288092fc510b9c42069b366d2997b59ffce4aebffbc7bfdfb8fec51bdff3816f7cf92b3b77ee58bc60debc8ec42fefb9f34d179db6f6dc35bb37bc28f0818664d30d37dc3854d2cebd902f8c8dc422d186d68eceaef65436579c187be0e77776b5341786065e7cfaa97050352c67f7f0230d6df15dbbb73dfcc4cec57d4987f1c9e6aefbef7fe4ea777c480cc468b0002529a4ae0d0b162c922465d3a64d8c5d4df311d0ed8892ec3ae621dd3f0e82000420000108400002108000042070f4041017387a9628e90f2b406d69ba2045046a97edeeeef61d2b9fcd343724739989443cea3ad69bffe8524a3af8d24b2fdd7cf3cdf7dd775f6f6faf6e588542f19ffef90bdbb6be5c48a5de73ddb54159fecabf7e7e60d3ef4232bbe6f237c9aa1c8c47bf77ebb7cf5ab56674ac442ff8278ab98d03bbde74d9250f3df2d0e0ce9db66975cf6bffdbbffeab285f165461d30bbfdbc2b34c9ab5b45456ae3acd61deea7356a901a9b7bba56de169999273d9dbdedeb77425274779410a044334a2c173fca54b4f312c239d4e51f53ddf11b9ea4c0afc2bb7f28775c4d52000010840000210800004200081935b00718193fbf91f9f775f8b05d4320ed23a2d34a6a0bb6b1eddcdeeddbbdf7eedd55ffdea579b1a1a3ffde94fc7e3d1b56bcfdfbc7933251af8e4273f79c30d378ca7d2d5ec031d2df7de738faaf0948ff096af7f7365dffc7c5e1bccec1d1bdcf6fe3fbd69c3e6977e7ac7ef0b6399a15da37a850563fcef767891c65867774f6a22b3b025e918da6f9f7c7c797f9f69b84b162e6b699f1f89257b162e1a191b3ed7b37a7bdb15957f7ec3cbc369af735e1f63ea43bf7a62d3d6019a2481e6311c1f1f1f1d4e8d8d8ccbbcf4f2cb2f538f07ca35e87836c7c9c7e7d340ad2100010840000210800004200081e35b00f3141edfcfefc4aefd81e729a45c8334c31f6516a0a0802ccbbb76eda2d7f5d42360cba6cddbb66da3dcfef3e7cfaf0ee0f7386a8a7fe4231f79d32597d261bb07061545c9150bf97c7a3c354403fe6ddd698d459b64eeea4bceb9fd3b5f79dbe56b172dedfde18fefe86859b074e1a932a734b7b56e1fddb170d9b2cef94b62b1c4ee1d5bb3a954319b31756b229517845030d29c2beab6c7bdbc75cb586654d34be9ccc8f88467d9ccaa8e75603e2f9b1e170a852b5a261c8934265aba3ababadada969dbaf8cfffe2834ca4ca46b48a234b94606086f908304fe189fd3dc7dd410002108000042000010840a0be02e82f505f7f5cfd70046a3905282e402bb54403141a88c7e31423a05002a518eceaeaa22ef9b44e990828b300850c285f201dfce0830f6aba4ef314d0a40017bce93c49e6682e80e686b68ea696c5edcdb184bc60498f63a55b3b92377da029932a35c55b92a1e4ce9d3bb5a275dfcfef17c34f6ddfb1ab52cca5c732c56cb509af69d576bc4b39036456b118a507e045a60498edb155e79cd2d5b9b067fee278a2a5b1b5abadbd8b2202f14428d9100f07623ce3846a9641a7aca71dc7f57d331008d2c087c3e1c0391080000420000108400002108000048e4000fd058e000fa7ceb1c06cfd056ae1006af3d30a4507a816b54c842b56acd8b3670f6513e8e8e8a02de2e442c7a8aaba61c306c330ce3efb6cea3bd0d2d262dbae4e2304384710f8742a3d323232313a9a4d0d8f0eeddef2f27a4a3d60689552ce762a8c3af7bb3ea328832c32d367347f80cc57d75b9b59438c4f362414459ad7d37dca692b33f952a2a54d50023b07867a162c7cebf5ef657e8c7141ea2d40e753248282178e6351c5689deacc557f784ca0a802f5283850840efd05aa44582000010840000210800004200081b91138506b646eae88522170a4029450805afb540a7516a0751a2c403f6974004dfe373131512e972391081d4061857c3e4f1f2916a0eb3af523a0fe021402a0656868289d4e8f0c0fab9248cd7526506481daed8c820cbecb5a1bc322270b328b46e4642878d1da7324c63735c53c4b776c8d02012d4dc970484926c3be6f17ca8596b6e64ca1383c5e12a5b6454b969c7bfea581588351302dafec324a1c505d6af75cab76eda3cf4d264d3c6044e048a5703e0420000108400002108000042000818309a0bfc0c184b0bf7e02b3f517a0763535b069a97516a02c03d4338062011ffad0876ebdf5d637bde94d9447606060801aff34316135c5c0e444861438a02e0334d68032ff531ac2e6e6d6799ddd34a6a0b9b9b9735e07c51492c97847475b63435ce2bd4840d9f8e273a656d8bd757334a47a96539e18290fed0cf0fe82050b521363e54aa5a455fa972ff344c9e1055754dae7f72f5f7d1e1f48589ee28baa6553c3ffb56401b55840ed27751920d4dafaa1e8a2bfc0a128e11808400002108000042000010840e0f004d05fe0f0dc70563d056aed7caa01add04f6a60d3428d6d4a31409182279e788262044d4d4d679d75565b5b5b381c5eb468512010a058006d6c6d6da5c3a8a52dcb2acd1748130a52094eb59deed37c811e6da2c9015c1ae7ef9e79ceb9ccb3fbfbfb0777ef78fee9a7b66cde12b48a5d4d895c452b18f6d65d7bd570643e0bf42ce85f76f61aa684991cb25da96209be482b322ff2926f7234f26072a10b54aff16a856b1ff113021080000420000108400002108040dd05d05fa0ee8f0015985560b6fe02b5dc01d4c6a6955a50808aa088008d1aa021038d8d8d140ba0de01b48516ea4a4023056885ba09d02934f480fa17542a15ea534079feaa7b3dcfb42dda2ea90ac5055ccb0ea80aa517880454c1f314998616501600815915ab9c9515d1366c8a1c140ac57034aa0603622862ea062f073c5ed64c4f56633eaf567447e07cc177292e4035acdde1d4caac373ccb0ef4179805069b2100010840000210800004200081a32080b8c05140441173247080b8000d07a0a0008d11986cfb0bd4f2a7363f35f2e923add0f081da013470803e5267014dd328fb60ad5b016d090683ae6b4b22675aba24ab9cc053099c20d22e3ac6364c85a206b6a352d4c036295620cb92656a5258f6288120e521a0890769d6018e736ddb74ec602054aa947d26d2f800ca4be838946750a40a30cfe427b30b4ef7a14b4cff7828eb880b1c8a128e81000420000108400002108000040e4f00e3080ecf0d67d553809aeed4baa6855668a100416d9da2001402a86da490016da74e01142ca8752ba05800c50ba8554f1b73b9dc638fff3a9988964ab9783c1908050dd3a63c86931305b078249e4aa5038a6a1966341c6c6b69ddb36b372ff379ada084abf30b50437d74748c0aa4eb4643e16c364b4315e6cf5f403d111ccb979840930e9aa6ce515480fa1a4c2ed5ea4e4604e82755a9b65e4f445c1b0210800004200001084000021080c0a400e202f8221c7f02d4e7bfdac89e1c144051006aead33a35b669a1967f6dbd760c751fa0a000dd217516a02e03b4abd6a180f6d2a4864199cf645391585c94a54ad9a45e03b6cb28b8d0d8d82c490acf045a8f06428c93da3abba3c9d8e0f890e19ac904ed9504254251000a0ad0d54539188d379a268d5470a2c1389de51a16e512a07c02d5190e27975ab4827e4e7da4cabcb20fbf410002108000042000010840000210a89f00c611d4cf1e57860004200001084000021080000420000108d45b80af7705707d08400002108000042000010840000210800004ea2680b840dde87161084000021080000420000108400002108040dd051017a8fb2340052000010840000210800004200001084000027513405ca06ef4b8300420000108400002108000042000010840a0ee02880bd4fd11a002108000042000010840000210800004200081ba09202e50377a5c180210800004200001084000021080000420507701c405eafe085001084000021080000420000108400002108040dd041017a81b3d2e0c0108400002108000042000010840000210a8bb00e202757f04a8000420000108400002108000042000010840a06e02880bd48d1e17860004200001084000021080000420000108d45d007181ba3f0254000210800004200001084000021080000420503701c405ea468f0b430002108000042000010840000210800004ea2e80b840dd1f012a000108400002108000042000010840000210a89b00e20275a3c7852100010840000210800004200001084000027517405ca0ee8f0015800004200001084000021080000420000108d44d007181bad1e3c2108000042000010840000210800004200081ba0b202e50f747800a400002108000042000010840000210800004ea2680b840dde87161084000021080000420000108400002108040dd051017a8fb2340052000010840000210800004200001084000027513405ca06ef4b8300420000108400002108000042000010840a0ee02880bd4fd11a002108000042000010840000210800004200081ba09202e50377a5c180210800004200001084000021080000420507701c405eafe085001084000021080000420000108400002108040dd041017a81b3d2e0c0108400002108000042000010840000210a8bb00e202757f04a8000420000108400002108000042000010840a06e02880bd48d1e17860004200001084000021080000420000108d45d007181ba3f0254000210800004200001084000021080000420503701b16e57c6852130c702a552a9582c9aa639c7d741f110800004200001084000021078c3028aa22412896030f886cfc4091038da02880b1c6d5194776c08542a158a0bb4b4b48822bee4c7c623412d2000010840000210800004a609388e934aa57cdf0f8542d3366315027510c038823aa0e3927f00814c26d3dcdc8ca0c01f801a978000042000010840000210380c01fa9f2afd7fb550281cc6b9380502475700af528fae274a3b560428fe2a0802c55f8f950aa11e10800004200001084000021078bd00fd7fd5308cd76fc32708d4410071813aa0e3927f18018ee3fe3017c2552000010840000210800004200001081cbf02880b1cbfcf0e353f88003a0b1c0408bb2100010840000210800004200001083086b800be0527ac00fa0b9cb08f163706010840000210800004200001081c3d01c4058e9e254a3ac604d05fe0187b20a80e04200001084000021080000420702c0a202e702c3e15d409021080000420000108fc81053ccf1b19192997cb9aa6fd812f7de497a319e0c3e1707b7b3bcfef3bd9d6717d5f33ca1ce066673c1e1b210001081c540071818312e180e35500fd058ed727877a43e02416b06d7b6262627c7cfc2436c0adcfad404b4bcb8cf3f852e379ebd6ad4d4d4d74802ccb735b893928ddb2ac743abd69d3a6fefefee9a181e3fdbe66a49aed66673c181b210001081c8a00e20287a284638e4b01e417382e1f1b2a0d8193586060602097cbd174d6b1584c555549920883429cf4b7d9d10d74d60aacfd25395bf98772cc6ccfea48ce9dadcce9db0fa5fc4339667a99d3d78fe4dce9e5ccb67e28e51fca3153e5efd8b163e1c285f4cda1397a69e36ce752d449d7f56c369b4aa52834d0d1d13155027d0d464747292840dba7361e5f2b14cba0ce0284403742b7460854ff13e0be667c0a33deec8c476223042000814314405ce010a170d8f1277074ff1b7dfcdd3f6a0c01081c5702d466a3061bb56a682e6b6ad2d45a3507b8033aa0d6a43fc031b3edaa9d58fb4b72b6720ee598d9caa7eda8ff01700ec5f6508e997e891af814fbd4ca3ec7d0b78bdea5d3427d52a6f71aa097ea14935ab66cd9f4e38fc7f5783c4e5112ba1dba47aaff09735f333e8b7d6e76c663b011021080c0210a202e70885038ecf81398f17f45c7df6da0c61080c0c92140ed346ac3d0bdd2df5dd3fffaaaad4fdf32e531e3c6a9bd0758d9a7ccc32ee7009798dab5cfb5a6b6d3ca615f779f320fbb9ce995996d7d9f6b4d3fecb0afbb4f99875dcef4caccb63efd5ab5756a30d30a7dd9c6c6c6bababaa64ea4c814450da63e1ea72bf4229dfa4450e5a7544f8cfb9af171ec7fb3331e868d108000040e450071814351c231c7a540ed55d8715975541a021038f90428ad40ed1531dd3a35696a4b1d19a802b59ad4ea50fb58c7fabcd14b9f54f5af7d5b6a3f0f004507d4dea2d770e82bd7d9d9593bfe04fb17936ea77647b59f07303901764ddeab7f02dc086e010210a8afc0be295beb5b1b5c1d02108000042070920b509b6d7a6366aa7933b5b2bfcfd4aea995fd8f99be65eab0a995dadea98f532bd3cf3abcf5a9a2a656f62f676ad7d4cafec74cdf3275d8d44a6defd4c7a995e9671ddefa5451532bfb9733b56b6a65ff63a66f993a6c6aa5b677eae3d4caf4b30e6f7daaa8a9955a50a0f671aacc7d3e4e6d3f4e57a66e676ae538bd9143a9f6c9708f87e280632000812314405ce00801713a04200081030b8cddf5ed7bc60e7cc80c7b0fefac190ac2a6e351607a68a0d68aa39f532bfbdfd1d4aec9a35efb4147d676ed73caf4e3a71f33dbf67d4e7f431f0fa5cce9c7d0fad432bd6ed32f4a07d4764dadd4f64e7d9c5a997ed6e1ad4f1535b5b27f3953bb6865fa4247d2c7031f3ffd98dac1b512a66fdfbf8443dfb24f99877e228e840004200081934a00e3084eaac78d9b3d98c0d8ba6f3f17fed3cb4f9be9b8cafa47335b87fc58a77cf6456df1198e28ae7f347fc0035e3967cba3035ba289ab56c5f629c3d83db67ec853ab09c89961b39e55cdadc17dff84e6378c3cb8d16212bfe2c2a6bed6c0f4128cb1d4faed4eedf457b60782a7ad9856533bffe36f65d8d2f8f51735bc7aa2f1f4f787f72c6abcfeec7d2bf3ea0133fd6e1b86a4aafbeca1c2ff23d37245c785f3f7ddb3cf81b37e9cb1d8598edefdc2932362f79a15aff4809de1a8f2d83db77dfb9ee7360c8eb1a5a7adb9e6837fba7661988d3dfb2fdfdef9decfbcb3f528cfc075c0476f8d7dfb475f5bf0cecb5bc3fb54b37696a774ca175ed43eed394d1e36eb59937b87467efc027ffd95adaf9678d02fe7ab074efbfde086b5830ff487625a71fbae669f7df0d10d8356ebc2fe35179d96dc77efcc9fadb167bff1b51f6dc876fdcdd76f5ef8ba67346369e5f5eb1e7d6ef358b8b5ffa28bd6eec73bd325e6ea0b30d3b566da7688e6b5b77f53ed495aa12db58fb59503bf1eacedadfd7ca3e7ce54eb7db7bdd132dfe8f1a8ffbee2affffc863c4dd3a4e369143afdac15533bfdf545bef689f06999bac471bafedafdbcba36795bc7fd7dcdf85c5ebdc583fc7e887ff91ca414ec8600044e68817d5b1d27f4cde2e64e2e01fa7fc01bbbe1f28e2f7dfcef1f2a5f73c3db56ecdb8263f95b6e4e7dca611744b8c79f31d85de5dfffcbc2bee0f4e2f73940dbf195de9ec916fef48368ddd834b8ec2e73c572edcad3a3afdfe53cfda3c2c5c3af6dfbdf64fcfaa5af4b01b5e5f61da73ce3b1087f41c97b7cdde07d9fe97d73e76b7f8477ffaab086f64e5f0256f9d4d86bcd74cbf8f966e78ecde996fee8052db513bd81179c776bda7567ed5399e9a5ecb3aefff8d37bbf746aec85f7b7bc6e87657c73bb735dd1b9e08db2bf52ca2cc5beee1aaf7eb086472a6eb83731fb231efce72b3ff018932ebce6a6cb12e3f77ee7debf7feede4f7cf79717e59e7be8b17bdefc1737b4ccf4685e2dfd8dfe7eb047efb3304b5427cb9afe7db4539ffd64fe4b8c5d17e1ee78c66477ef1cfa6aef542bbf5a8319cfaa554d9bb8e596d2a76ce98a2bfcc987bb4f05f6ff72ce744707379c3ceb407f28662af6956d635f7acb8d0fd92cd195c8fd28f7b57fbef0bf7ef937af6fe7cf78aef58bbffaeb7bc7165c767957489ace356369e5bb3e75d57f6e6089055db99d3fbaf56b2bfeeb97ff76d04b94c7e6e20b30e3bdccb4f110cce9fffdb44c8d00a7f55a41d5156df8f187d7ed1acfeb168bc45b969dfda6d37b67fe63eba47f7fefc37b4fbfea2df394ead9af2b64dac7a92a92351d437139575054e9b518c4d401fbaf4c2fd31cde70ffe31bd366e482372f7cf989d7ae3bfd2c3a7e7aada64ea763cce1a7ee7d91bdedf273262bfbda498e69527d14f150eb5ffbc650c9b5db79ada099d66a15d8ff12331d5bdd3655e1dacad4c7d98e9fbe7deae0d9cead55f830ea3f55312a79fa32fdea2fbdf452b158bcf8e28b6b1be9305aa12f182db5f5da7569636d859211d2f603feb40a055351a2b27cd023672d472f14b85772547e000040004944415468543ef8b5f62f81aeee47a3ea016b58bd47ba9dda1dd57e1ef8f8c9bdf5bdaffdef94b6e8e532170e57633a07a8fff49ba5f5999743f8cb67e613b1150210389904308ee0647ada27d9bdd23fa587bad89bfffa2d975c72d5871fca31d65afd37789fa5b02e4b41811fbcbff3912f2eae7c94ded27bdffa7576fa31e6c63c1d70d727e6550ff8041de03cf49236fd8057d7b3fffe9f063d8725c15737bcf6bbb575987de5c64ef7eb4b6abf6e58f6fa834aa3ef7ec6bb696dccfde2a247be9ebc89b12f3d967bed6c8eeb7fcfa2a9732b1fadfe1ffb07ef6f094c3f4266b518c1c5b70c575f21d516895d20bdba7e48bff39cc4e2acfa7fcad72d936f7703d5ff3f1fde324bb13315961b187659a0bb3334d3ceeab6ca867b1f63eca3dffcc5df7eec5dd7beebe6efddfd6f9471fb3f7eba99de9a551f7064b6f30e67fb213cfac93f78af2f7bcf4f8b141478f8af16fc90be307faa30c7b9635df1f587cc7016e74c7cf6e66de267729fa264db81571ec141bf9caf2ff6954f0735e40ef68762c6626b1b2b1b7e4a41818f7ef3ee3bbf77e7fddffc28638fddbbb97280e3a776e5ca2cf1f6bffcccc7ae6d9bda547d9a339536fe180505cefc8bffbef35bdf7bf8bfff82b10dfff9d0de6927cdb23a075f8059ae34c3e6839ad323af9d36b5f25a29eee01ddfbbfbe5bd9950ebbcbef92d667ee4e9076e7f7caf4d074cb5f16a2d3dda62a5074632bb4b6ef5ecdac6fd8fa9ee7b75993c46fbf577bffbdd07b7d2b6a9725edd7fe0dfad27ef7f7224ef269aa242e9b5ebee7fcef45ad5f6d62ee49553e37b53d6bed7d57ef59def7ce7812db563e8e7d4cafe254fed9a5ad9ff9899b6bc728999761dd2b6a9cb4dadec7fdad4aea995c33b66ffb30e654b269379eeb9e7b66edd3a323232fdf8c9bf5caad1817dbe69f4915ad1d4049de5a7fec25d9f5bbdfabc4b2eb9e4bcf3567fe4b617f4598f9c2aa1f8fc834fa65f5fa6beeb07e75ff25363f25c7dd783679d75d6bf3d5fcdb839fb75a74aa363d27f73c97b9e2f4cdf32c37a1defabb8eb1ebaa3d5ab57d77e7eeeb68726f4196a7868f79bf9dcc537be503c88cc3e373bfd414fad1ff42f9fa923b1522f017a8e5820507701c405eafe085081b912a07f770f759112e75efeb66baeb9e60c6a3e965f79cf30fddcd14d0e63e265a70769a3d29ffc86c81e1fb35e77c0768789d29b17aad503bae50b5e7d5931fd185a7fea6be9cf26c5cf47d8b8bddf55acd28f19eb4efa7aa1ac5bf63e27d2c7dccbfa06c6ffddf52dbe4f7be35ff964fc1b1756eb33d392fbffdbfb12b828abf5ff333230ec3a28e00628e246b88279cd0d15b5a4c5a5505bbc5db36ed94ddbefa7ed67fdbd75cbdba69556b6a92d6a894b4299989a5b9aa8286a89208b282882306cc3e2fcbfef7b660eef6c30a022cb73b2779ef39c67fdbe6786f79cf7bce77d6da97ef460ef98be523c8ac2302711d3ad0dd3e95ffbf592912fc30fba2ceddc0bcffde5f42ffc3bb57a175a2bf77d92e2f4dce9932592605952c6e07ffdb5e1c4b9179eccb8b78ced3c5430f8bf99654613fc433264b04aebccafe933259bd2bf37bf3b27ab14ef80659933f885d4c35965868a0bf6cd9af9902b2559b97a276d405beb16c1e149e9f54686c780b95323270ec0fa023464ad7b6fe1adb87d366edc830b37e964095dc6afffbe5b668d1bf7efe5bb7506dd0f4fdffac8474778e30fffbefbee853f735bbbdf7af0c18f0e083f20ced77dea79344a254359a581a93543bb3881abe9dfe123c636a698c3c917179829190c6a97d1fd9d3f1fecfcbc17a69e8c58d7d9392d6cc8550730aceb4b61cbac9177fe7412739e3aa18707eace013db4120096e25698a72cbcf5b6d505ac60f53f6f7dfa077e5eb88e4d6be74f1f612c60c68400492620728696259dc831f7a1fbf9bda7f949bdf5c18507cef313786d3a803e63d383773ffdd147ffe6f64547320fc0a25637e6080e97a438f231a4f2f2b4f4f4d13cc6fa4c7a78c69dd151d1531ff9c7384c711d3f94c2e585a251458d75464e6ab9229a04a134aba09d9913fee34a0ab603a4be9a39758fbce7cea890be773efae8a3fd3cede828a2e21255555520341a63b43c4293b2311e11b6204c0257ffd9f094b96f119220ac63124d82b096b97e9c3d7bf6c02fcaafbffeaaf4c267047893b29b82a3ac5ad0e56762e72e4a59bc61db810307b6ad5d7468e9dcd57f1559c85855cfcd7de5a973e54a7679dcdcf7e7ae9ae129f38eaf7f0f4ed7bcf55b9d864c263afe7b61a7b99f1d32556d7f5a246251b5d0b9c679313d633e8bd66e43d9b07659fbd5af444f59e9707616a13524590b1372b5ee1f1f5b5ac46b5404d04ba91002371c819a45c8373c140a8010b8b608e032c861839dee7cfc29089ffeee8f832be45b76e69a7d6776ccbedb452b1b2c4fc97fbc8abdd14bba992fa4badfddb3fa6ec64a2f1fd95fb425be6c2773fa6200ae8e45bb4494279e19715a757c51e73f1766fe621a000889f2ec8a9d8ced5c627c9060744fb7f8f981358f0030967bba1ac29fbe99b2285b1a32c6f475fbf2717f730f46637faebab888b5499dddc9b255c57219fbe75dfef3e3cf0f8fbd343da2fd406f638caafcf3d1efea2e77733d7e975bceaec2716bf254eddda73fe035ebf9c2b0b7b24a9e7599bdbc3ca9a7e7ada16dfb4cab2a5f57b6c44dfdee040f2c4610f13399549983579e921e12ab9f37d43375844bfaeecbe3f6e8222774eeb8f5dcb8636cdd3f7c06ba557eb25417f1564ec9877e7f9f566edb6c8d032375252fbd90a9027a74543ab790f20a19de83c52e9b3779758fc869778ce83ba0efcd8fbf7233e67c4e48823b36673dffce07feb95b9e59b4f8b33bc63e1578e49ed9af576a27bcf6cec4ca933ffee7b305f714fff7ddbe1d97adfe31f7f1811d8b53571f2c2860b159afdc1ac232637fc9eaf87260fd4e3d0749ba2aaf09535589817d35566d606d09a8429cfadc0a546bceb82d2dc6dadd3a5bda88207df5a945bf1bb1aeb373d67835518e60c8581d5f0a93311b9f3deffe741bbe0ec53907fed8b3e5a3a5056cc8b4502cd25048e6efb6c2fcffde7df9c98205ef27054cf8f7ac9b95d236ade52ec72304134334dcaad7f089dad5ebfe28f9f7cde209a0d3df3df1bfcdc573dff964884bced22716bc70bfe7c66d4f71e9abef0095254959054959b13dcc3ad240e15c91a989740c73e3bc00947877119dc6885e356eabcb7dc4b3d7d0c0a4345f7c8155251907d7c7ed2b907e1e9cba0f9b141d1e2474a1559c7e7043bcb1357858f4a470a9f716a5fe16bb254927a930ff3e515346baac591e8fc5522cf3970f5764fee3ef51ca1faf8cbd713f27a65548b2ac43f71153a207ba8ab5fa55a9df2d8bc784053b13ffe18a3ef7466ad6fc9839ee1ff7f5f260a59989b171fb2ecb51c16f74845954174f6ddfb425b9148a4edae02e987595e68e10182ec325a2226dd5a7f19741c9f1cc7e70bc217dcffaf843b235a60d1e36253ac203ada6623014ee5abf3e295b27315c3a8c889e32a8ab845249c6def571893232ac5df761536f8f704addba62977ed44055c2ae345cfdc0b1700183f0ce6380e286f8435c91bb53676cff2a2ea363177566a684934b87b09933c7289fe210ba68e54670046d8f8f2651ae890c77c78fb00ce2f0e1c367cf9ee55ef0280106f3b8832dc440a070d75c065510e070a68da31ebd20ccaf9d7b7575b57bc0c8358b5e39e722c99fdafafed30bd6e6331638e9a5779f9dd43e3761d14e1696b9e07ffbee1f5ff0356c3e1c19fddab73f8cef26cd53ab72b62eca8f5edfd3e54a75b5aae2f85b6bd8e2b59f7f17f3d0be73b74661b15e71e6fbfff7f8dafd92b1e73efc68f2201f44752ceefd7fbebe167686c6bcf6dafca84ea366f9bcf259faa31f06ba18cf974844c40c6130513881239a442bf866f435cdcb7006debcfcfddcdd35ccdd7de0d31b3eff7dd44371a76262429c5312163fb8404a64dcbc0f5e9e11ee5294be78c1bf78b2cf7ef0e1d4f00e88ea78fce2474cc9febf27c7771cf900923df3cf0fbab99ac76ceaab22474ec0b87571f0c7c75a9138840021d0da10a07981d676c65b51bef8135bdf6cf5c5c55081a2a5a697371ea6c72df4f4ed5921b195ccc7755ea4b7b554794ed15b1bcbd64a179b86f3396541f2b5a93186ca0b8f7d59f1ce7d1d7bbba98f40407e8857199ea1143e55eb1ef49dd85f931e7f3e2ca1ec850d97debdab66bf368334f2beb28869929ff62a4f2f8c882dcbfde4dcb6473a298d4874d1f9b9fb0dcf4ff50db28e4fceaaacd479e8bc76b39eb81cfe7666d56bbe3cd393f1c53b599b83f7b70f726341d3d83b470bdeda5e1033b7d3d2c72a562e2bf378b18cb939e7cdebac31b0de23da0cdd94393ad473f4601f330fb221be5e4084a4d1bac545b98cbeab936b6589a19b8eedbff2e7d9e2b692a4e1726165db10edffbdac9955e4a431b8db352b6c9988f48c4bccd92fd0cdccb9a9d1f4e931e09384b57ffc18bb6ef396cfdedf2173031e7be79d89f2b602cf7dfdc904e951fe1e33966f5eb7e7f4843f3eab6403967cf37c28eec00e18e067c89af7f9d28a4fa7b2d58b0f9c7f7962ee1e691cc0520fa4187ab8ecc660f49d082cd9e0b0c986e5436da79ecb4247a11414ae66872aa7be9dfece7897a475ba176124bfca4cc49696f057866905d1511deb9c42178443189a14ec7d292af2334f6615383b3b5756566afd7b045aedfb5771e9c0d2b7966749a1e6675ed20728367b3cb1ce1af32f2be67c12a17d3f73f8ed9103a4550026ffc64f0b6bfe5a4f5620afd991db65691725807a89559c9393ef3c7cc84b5f7f915aec82d50bc5b2dc35e8009992570b3b4f0e1820c762fbe038e6e2fa5e10b0e811d8cb9d65feb96545caae0e41c141c1c1c103ef9a39100d178facd8b4af5a1b1c35ace7c5e45d49fb7e8cf79e1d093e2f178facfc51d9ba09add1da932be293985760e4c8b0eab4c45d7f267ca38e1a3a2c6cffbe649d8b7f78782f0cfb4dfa4c9f1ab72931cd2b383c2acc3f37795762daeee4bc4111bed2a04b9251770c1f16b6d7a4e85c71a49a1561ea42956711d5a638455455397b576f4966ee81919161fa3ff7ed4bd331175f6ed06856e31ba1884773f1e0b21f0f3127ff6151fd2ad28e24a6edfb2256fdc454297b5ed2e257276557f7899cd44b53b06bcbbeddebe37b3d31d5e3e2c12f36255a68cd0eaba8d09d49d8c5b45d02bab4f7ca387a82a7ccb73630c69097f8a595bbd961a515d5bacc4cf7015113b51793772425271c0b9fdaaf6666c02c7e7950ca63b3c737c52e7d5e2799ae5dbb4e993245e988d370876f0a770a8ef8ae71a296e7d85dbb8d9a1e347366641c0b1cfad8f449a3a26e1beac50a13df7b70c1f70b57ae1fd6b922f6a1e977bfe1f5eb6cdd4f1fbf7d62fac2d55ffcadbdbe77e28cf79e5abd6a44a07147804b19296cf0dfda564b3346e77e5b9331f8a99b03429da7b3b96b8e47cd1f746afde36b554f6dfd7d7cf1a19553e62e1ebae7358fc4f7fef9fab685abb78eee90ff51d4f4477af6fa6e529f877d0eed3b5f1e18a4b1172dcf8b67d4f87971efd5d5d2fe0b0675f00c1f5664d0eb0e2d7d7041fee7f1bf8538a72f1a3f6b59cf9f279df817924dd83f4197b862cadc254377bfea7578c923af272c5c9330ca276fe9f8190ff7ecb93a3a748ecfa1fdb9158101d2f37e36f355260bdaba38fee363ad4b1c428010685508d07304adea7453b2578140d185c52fa66152e0f9e15ec5af99ddc987d1f2d2322cd177ed1ef0ed7bbdaade6af73cbb32629d3c9c343aacdab9e4f24aa61ae85efe6762ee7eacc33f5b76240537896b8a6b6860d5073def0a6fe7eaecd6e7aecedf78b12527a5db698a82318deae0bca03edd7d068ee97eb01fdb79b25cdaabc0bca46f2dc1087fd608e9aeb29d820b32bf77ef7366f9652b7ed7b9ba31e9be9c3ce910f19f6ccf97f0af007b25249dad90320aed14d7456a9e375c6bb2280fadb00cde91d25ec3b24b3c9f38a57e3a3b648d3c96c55ae8199db7f5737a2856d7e1a54ccfffe46d39c19370ccec95f3e74b58db8080da7fb98a73324f64b22177cc79f393ef1312e2d77efc5a8473d6b2675e4f9362d69a06b0d21d50f90e2f26830202e5fd11c0091912293d4ce2377c02639bff387d72cf76edd4d79e8b64bf249d38fdc72f58baded7fcae705da71e266d14d7feddcfdee7ea7f561fb15cb7d3c7f979351b1de256b358c08646adac5a3ba7a5a663185a6a59d54fc72e78e69967e6cd9b87e333b1a9caf68ae26280eb1278c7973ffd94b06149044b5df0d91f4a0109616bcc594509842a8cfd44c8dbb45682ad08149b47564a137ad209152574e607cfdd3e20f67f2fdc3f79d2e4fbffb9e524d6caf072ad3a80b51d9307eb4f8731c7a53f0a7f8e006678553a7a86ce993b736418761a2c484b4e4cd8f4fd071f7c9270322fe5c0fe6ae63e266a5457bf4e1163c774642c2d090f17c811a854365b530e24e27e66f40393fb87840c9a306d4cdf405fad77e890e1be788ea0eba0e1fdbb29f71b51b7ed15163672daedc3bb75f2ebd851baab9f9da7ab894ae5d95ba1a85649771af028824dbf22aa3389c7a4001e94021872fb0363029d70ea143641b655c673460ef8d639d38784860ebffdde5b83dd59f6fe938afd5be4dd56ab4b2feb349dfa4fbde7aea8e85b30b5c1d3b4d04ac1126fc6ba8c9cf9c0b429632347da4cb916c581f7cc191ddabbffe8db839d58765ab679cc37b886bc10013ff250fcfcfc02cc8b0851f91c818488a260146def39ff6a75c093abf76d5dbffabd874767242c9839f196f77664e71edfc6a62f1d17e2efe6d675fa5bcfb384df72a5d550d3973f1915e0e7eee11fe0c5bc02fcb5eaea6a6ef9524a82cf48dce98797c26d8bb7319f4b7b0f1e4cc7528fb5abd2cb0d5edda2d8efaf3cf4f2bb47cb43637f79b9a3c120db5f342ed0c3c9adeb93fb762c8f02cf80d3585151612f4ef0150919c9c6cbcb2079477adca314a41c424ecaef98213dba655dece6c44b48f7a7135e4152b2b35f7a87278b39fe9ce3096cfaa27101ee6af70039d94e50c7ef1a5e2a514bfcd6c99a711cfef131d3a20a214008b44a0468bd40ab3cedad2369fc1dad77a29206f4ac342b2f3efdd2e50fbc9c53fed3ad1b6e115909fcbe242baaccadf2d5ae924737edcd3e97b185009e17378df42aca0caa016ac3b8e5f2181c32d9fa88af0b75af7a9b0458faa6332fa5bb7c334f1e85b32b06ac297093eeea4806e5d2b60bc6c257346a238f37a052232189156ddc71858578f43689715de31177f38de919da0eed9ab0fb4cd437d2e4454c376650a3457d7149773ef8cf49ccfecbd94b834d0d7667466763cf7cb624e162ccd0b643b16a02c9e37f66169b649f1b77921e9897aa72f9f3eb0bd127557f3cdf75605737569933ee193c36ae2a3855e837be53e5c36ee5972eeffff152544261efc13e13bbda316b32c53f0b53a51d07033bd7be5a00cf83cc7e362e62d5d6ff629884b519da1eb73cf75cc4f437524b4afba02e8126c5683c544843851c6ca8c057269f3f9924b7696f9f1e306fe5d2a50505914b226ec98ffcdfeb9f2d655911cfdd62b6533e63759d7ae147090c2b3f9bf367a5db37ef067c0367ac6cc5d367d3bddb984918a333e349b272316bacab739a948c9f0e6258a3c5b1b20aa4ef435f6c7d482125c7c4ebbffedfe4b74be66ffdf876a9ead177480f7630355367b845cca8d8c1dc2c2d61daa635ed84212c76fb69dd63f2bb438a776f29709e708bb49f81492dfff469ff292f6d9def599c9ff3c7ea57df58fc4cdf88ad91d237e01a7400bd2d3b0ae7a6204c9ff5c51ca650f8308f075c9a937956ef36704cf4a0b1f8ea95e7a525ff1cb7f764c266d7eef8235ebafdfbaf4cae30f4c89626498cc5466ba93bf603f0c59b4c6417ea7ee327f79384a53919ec7f291d1545adf562797bbe5ab24bc13362680a4f56b154b4e157673a370686a9496f5fd3d547af7e41db332dfdf235fea67824f98e1a1eb02ab04f479696019680a8d7edf7e6acdb78e4c8aecc23529c1dc3a27af5c020cba8c523175a98b0ea1bea2bebda8c1ce2668a417d8deef0cc43072fe400fca5a92b6c8a50dfc203c6118a404fc4ef889d06e85ebc781183671817ba5dba487f5ff8705ac4c0e3e162e208c2baa4c72ff850f5d03b9382868e0bfc5bd49459f18fcf7871db98f91074c69305b0a35663aeae0283589fa841d2c30678dd40b53448d6cb83648541c81af419bb96e5fb4c6f7f7effae732aafe9416ccd86c3979e1c397f6bdccc53898971efff6b41e6a0cfb72e7652311f1fa3fdb28b672f56f8b87772e15d4944aeb05c434a3e4cbf28e072baa659415ddbbcc46f90d1e3a5c38bf2d94b2eced2dcfbdf4675eb16047ca6bcb57092a1bdf63a24ab48cb48d6f7c7c7da0271080142a0f52050fb5db7d6830365da021110f7461c27e487e4a52dbe2dca5f6b0b3f602c6e465bd585bcbf4e5ec4bfc23279b36f935c9fa14eb8fdfee98e0b85f94549b15977e7333c54af781780fbadcff64cc452820ff02fe01b37366070dbaad7021502b8d17365ede9d245b13985f985fbbf397f7f197b27dc6cffae4ee1eea399e1fe0fb2322e14fdb5237dc83116132e3de16f56caca3731f6d1887666cc9a8a949fa9e61c39b7ed2cd369ef3b06cfb9573dbe2c3b57579a7be86cc08ad24f4f57ab2ee444adad1a3db8edb76ff8bfc30c23de4a2f94940d30f25b7ef95fd9cadb86e0330cc24f1dbbf4d7b1dca443f2bffdb997a4213753555515665ff8f455dd6f8c15ea2a7377e8fabd7bf69763052a17a776f2e3f5eddc7187d29e5953bcd26759666e9993b68bbdf48468c81d8f3176f081d9ffdb7b322bb72037f560ecb36f1cc4e3e8c1ee66f7d37825f40ec070f0d11756a7e6e69edcfbf9a38b0fb2883903bd54a177cc6005475359c088108d57e870e7caa3472bb5336f56ee942f39acebd44b32120816455711b5b660d1a6dc425dd16fcbb2e754b17f8e919ea455161b5a35cd6894c68d2875764e2e663a3a8aa1491e5b46c0978d2f8510b026064ec41281c58b7f395a50907b30f6f565a96cc0d4e1cab740d8c31cae8aadccd9b416183a51cb0a5e783d36b7a4e468ece2f595ec8eb1214ad5b3712f3cfb50cce6a359d8d7cecb073312ce3ed26604e6e74286d85e30b575005b7694decd69473117671cb773518411d0697b376ed9b4e59ccc6cd3c6cd2f64c86d11b87b5faabf82c16dc798f9c6326dccc088d1115e3024773979746dd9aac1b0b7ba08ef32e12e0eaefb6cd5d634f892752cf71d3cf5736c724ef5a8697324078f8ec16058a592d61328c3333a339a90baba4dbfdedc83d40c33a5e2e723fbe459ebef87d1984a8a475e725e2a02cecd9297622962c84bcbf08d988600e7dc3b2d22c83d273961573646a5884bd2e2c5a40566b5aaba664506935d98a4a44f0bc51c794301f98433a84100b9d7a4acd4ac8be6a0e12888ba346ada858a206adaec50d9d9d9ebe4121b1b8b4f54852e27a0874494daa862d6c05ed1b814ef7fe3851d6917f0e850657166e22f87585427bfc0a16ccdd2c46cbc9a206ff3b2d7d9d0910178c76a88569e16c03d73bd8ee98af2d02a150c957d4286e6af4f41fdc4c6ffb2e90b8d1d77fefc379f0ffafe8d6d3fbd327cfc575903c7ddf6f2f20f7dd8e123397acf8e83f2972d3d5608edbcef27df3f6fff2550d2ea2e795d8364d456b98179c9d301babcbcc2f2a2a273e9bfbf3af95936e8f93101ce3e8137b1df4ff90fb879c48821e5bfbcb2be48bdeffa24ab3ca18effd134d7a2da0d40009d960a2170c31130cdd8dff040280042e05a2350cbfd01bbae0c9ecc13bbd68b197f2e58f6678a747f227a799e50fce8efee8f84d76c7de51fd92921e55c546ce1e3b1d2d301b3fa79bc7ea76447c82b0803dec8ddd6eaf645d09d9d77179d1fb143f7d20e2ca964af0ff79a37dc7c0b03af8e3ffc5d1fb5a23ce43fd2c2fb9810b7cfef93ee7a292cb3f25c69f3c287e50d8a947c236d60b8dfaf7132ddea77f37be7bed295df54baaa5506bf2e5931e9b7af2dedfa92f4f0028c7f34d565f54b79496ece171ff48393479e2e5af96ed9dc55b9dfdcefd7bf5f1b76a03cec9d4bba77bdc47a07dc4005bd684fc9a23d359e3fbbdb75565279c4bb3992cd20a751baea67d6e43ff2a6f6b3450502ccd747b71d2aed54e06edb6c8d3176e5d2994203eb1c24ad2355b06d901e3da6ae7aa3e2c5173f5f30ef17deecdc237ad9db0fb967adc6a30350970dc80b04f07c7cc0edabdec899f7e2e78fdeff3984b5fd1f5af2df0992847fc4142d5bef794b30560868fb4c7066717d67f551de92964dd77deab933a35363b49abebebb079f1b9150f4524211585fdfe73fcacf6ca905ae7ac197946ce52a319d257903abbb731a5dca1f8e6358a365fb4b51d36e4df94f78e9c513cfbef1bf6736cb6d3da25f7cf576b32d03ec605e8c6f5447678b0519ccb63516b0e4d5290fbcbaecfec9cbe0a4c794571feb6f766e701aa79c9cb7f899d98be518221f7bfb16ada138071eae410730301b766c9f2a0cb41ceeb788945f8d7202478cdf38dd7370e8f6ec13eb3e5e3362dcb0001fd7e2aca45f0e1630a71e11c3bc4f641cdeb8e6b73b260d5265fcbe6efb094d68f7f06ed278af8d9353afa137fd9c26b5de193d98a5efe3adb3fb77db9a910ae69449834a8ffdba37bb54dbc9150b7da0535d949272ae438faebe18fac382d4c1a4dbbd6ad595b24be7b2766cda8eb1b6beacc4c9a9e6b97a83a18da4280d99a5c1a6146d9b363d6f36fa4554cc3c2ab4f60aeff373dad1752b374f898e64593b36634f438d1aca4ef22d74c982445c11f1040fbe89651cddb872f31de38654e7fc117fac806907f5f376c2021b48423eefc8f6ad67b7e74c9832a4abbba75abaaa69eba6e939f8a6ad565a7ddd8af6e28c38a140ca2c657131143238746bc6310b777d644540daa60d9ce21e368a0a5680108f8113384a0d72229c2f099a8a3d99faf24df6a44fa12be32f1d446b7878785a5a1adf7ad0d7d777f8f0e168c2709d272fc2e3317353e2288c28894e516fbc7be1a5a7674d3532873ef6ed8bd82b70c4bb8f3dfbe40c3c77856df863befa36ca706e65fb4bfcb7cb607009782c8a3d377dfcd32b7fb92340fa6a6bfbdec63237e5eb7b7ff93d7be9dbbe9861e029040c7f822d7a563de39da18fcc1bfebd646c50ccbb7706695cbb3df3dafe47e7de3e5a620d9db7f6b66e06fdb1cff303df0ec017d97a998924c50bcca280561e4d8d669fd7322fc3f8f606cc5ae43f373d9afb888a796dd3fc28353661b9f99937639ebb77ac74165860cc372f06050dfd60e85d4f5cdb64cd12abe78f8f852e55090142a01522601a21b4c2d429e5168d00ae878282821a3bc5caf2f24a83abbb7c13bc81becbcbb101a17b2d8f9acb02ceceaecee23ab6819e6ca955959756b26b6c5c69b3acbcd4d9d55d8ebc01585d29bd5cc4dab573b715b96d5e71717e45858b8ba7a7a77483a98e528c5d2721ea80a40d43b5a4539174cfa4ffbcbce17b79c5bb856a7979111e8cf070553c2a6f94a84dcbc2487daaf5c7b03ed6cd652b2a8a2b2a80bd39d7ac560fcc6d5b93371fa8e5acd9d6328b4154ea118cd071847018f323478e60cce6e6e6e6e2e2e2eaeaaad16840080fe71237c4ee489597e0c83cf7ae773e10d3d35395b97fddf7bbd3b998c6b77fccacf15e291b966e3a3bf19f8fdfe4c1cefe11bb7697592b66134f6fff76d36169b60ec5bdeb9059d347619e2379c3f22da998a5ea36e7996998924413868e95e7f67ff6dd6ebed38946abad2ac026fd5d1f7a3a066b76f8700b0f206c5cfcc9d96e931ebfab4ff9e98db5f8f53ebde1a38d67273efaaf300f9675609d88cadd1dcb1e7a3cfae464bc76950f5661198488e7a1a7a7ea0e6d5cb723555a018005fcde3da63e7857a0bc75ab71705b727addca8de9a6fd587c6f9a3873e24df895396bae35ed1f937d4e6ff8384e4226cc538afff8c6cf78ca7081b95a51b20e6d04d4c25d8da21c3c52def0fec7e9dda2e7dfd51b01701c38c1e3e1f13bce177e41d8d3b52723f8a74e9dead5ab17e60570fb1c4c1e0f1e2558b56a15aa313131d86a00049e2c282f2fc711a5acac0caf8a1c38702037023a3939b967cf9e22069114e7400c1d52a5aad0eb2a988b9746c3f8a85ead56b7a9ac44cf448f05075a287cbd00e2c1d42baae02330d851abab773c39e1d8c39be7f7935e35cbe565be1a9d1f323862a53d6c610f0204095dc94285f4ec11ec8393bbfddf33f64cdff14a385ca095c766713c7dfa745858180243cc8d9cd7bf423d11308714479e238e46f4e4440023a20207923c59e72b57048727cb65727e7d9e27cbd1b3996f4a4a8a4856f835120efff8582a52bdd111c8c8c8c086b28dee961c12026608883fed665caa1002cd1d01cc0b04060636f72c28fe96804045d2a4e817febb3eded6bc80fdfc1aa665df1eb5347d049292923018c08c00c633386282800f30c49807639cd2a282e27217cfb69e1eaef2fc9a31abaa92123d73d2983345c6365a0d9565a5a515061777a888c18650302714ea12a9f1f050ba369735ab1915ddb148c97afc5c555ea2afb61bb2991d5e5184616bfc5c8d015675b55570665a36acda65d5282af0b7bb16c0ae193b0dd7dce65f7ffdd5bb77cd3c8570bb77ef5e4c048c1d3b960f4d31f8c47400389cc0b07c80e93d1ae01c3f7ebc478f1ea23f882005076631d4e77c3e01019a2f52808c92039a6b717928722d109afc5d23ee49fe71fbe36ee6037b4842cba6356871fb2a55ee7fc6de3b69e3ee419ed2149975849c8379819b6eba49cc0b34665e9b7e9d8b954bcaac459c20049fe3533bc76038fffab8fb266dd835d85b9a551167c122ebd4d454912c0c5269a608646666d2bc40333d772d296c07ffbab7a494291742801020041a13018f313d26686beefb3ae8ba615a0e1a27b1268a006e9662e480a3740f5626cc03557bfb74128bf8c5f000f771bdbc6ae961c65631ae804d431b0f6f57e9910a73fb66e35e93fd3635c6654b4a3b4a7593bc71ad010647dedefc0d804a2913ede4e1657affbc8955fba70bac71179053fae26a4eeeee8040199b2ca3a909de645e2963e2499f4a9b2a95a40849a58005ad94b768b25955fab5a75b5f19e188f71cf4190c20c11476860c19822a5ab924fcf2de0531109817101684006440db3b72fb4a2ddcb7575641730eb7a06ce59cca0ea3b7c60dc18a025439871fb9a4529e9b557254aa76cfc46d7577afacaa92d244515a50d2bc551cd1a46cb5a6af595e3084c760acde89c03d2af97572542aad9c2c666c2484ad63e61c91231184002140085c2502342f709500923a2140081002b522e012f2dcc74fd62a61abb1615ab62c11af192180e11c2f8819633c1e39381800e0689108e758f32dc444154660938f2538215c081910c2a03dfb4a3b9011b129e5edc9583b12ee944d3669a54d8a1f68f093c5f1078cc0841fc1175861e109985c86cbf3932e242da0e6662d98d7b68ac988361a8d7284ecb87d3c88a0d1484f2538aec2259b785e36d36970b236ad119310200408813a11a079813a2122014280102004080142a0911010033ce5c80d74edeef9c08f0f7e20ccab162adc883025080bb13aab8ed8714446e988e257a2513b6d135b3079e1baa041f0a30501269f41b0e90527429c0b485e275a76224d7535c0be23bad6a939a2d5b078945ad7dc0b960a28eddba4ad93250e21400810020d4380e6051a861b69350304f017ba194449211202840021a0400097fe287ce137bfb58b9f3270ac7fd0381347682b65ecf1154e6ad6992b990db063a12eaaf58d81e2e7d0d51707013808de13c4919b02dfc22697e462bc154741e0363e9a9afb91a783c45b585e36cf8b3259d0540801428010683002342fd060e848b1a92320ae7b9a7aa0141f21400810028c75e8d001ef44103f5c7c5200c0708ee02ba1124c0b197b7c9bbad64c0bf5da6350aa2b690b23a2ea888c10e684a8dad4b5660a790b4254952af66821cc095155ca0ba6858c3dbe4d5d6ba6853a042cec2b55380d012e239a449513fc884e852927d02030c8ecd4a993100307bb5ae0617edef19483eae645e329033c3d812c44ca2d232f9b67010b0a94c98ab34f0421400810020d4080e6051a001aa9340f04f81fd1e6112b4549081002ad1e01bc643e3f3f1f83190c63307843e1233470f06bc607399cb87e3f6ef5f5e588bc2332d7eae4d7d79723f28ec8dcf0f8796fe1a15a04a38c1f730172cf72c27812effcd36ab5a22f8168dbb66d5151118e16169a5715936b1e1e7827805410398e2d232f9b67c122599b32c42404080142c04104685ec041a048acf921808ba1e61734454c081002ad1501bca4d0cfcf0fef9cc7680d8337bca750fc885910bc8a23c63c9ce6041f0829f1734446290f9a1b1404afd662c7a6fc55da14eab5f815321684cd786ab16353fe2a6d0af55afc0a190bc2663cb5d8b1295f8b4ddc4ec7ab0a0b0a0a3a76ecc85f84c9853109859929bce2173d1003694c4e09a7a27735710e663a2e5fbe8c250f5dba7451ae1768ee79d9c41f333b388916c95a9c77aa1202840021502f046c3cb2582f7d1226049a2602b8b8090808689ab151548400214008d8430097fb172e5cc8cbcbb327407c42e02a11c0132b9881c2c85f6907834fac26c0ac41565656616161494989b2b559d0582680190dfce9c77c879817680179d904df66b2362589d92c10c0f72e3838b859844a41b66004ccfe2ab4e03c293542801020049a2c02180ae6e6e662056f03debfd56493a2c09a23021850f9f8f8f8fbfb5b048f11634e4e0ec68ab8d56cd1749daa582e81910fee69f38729ae9317322b10c05a00408d0e10141484b134f8fc28049a38c1d74de0281ea9e00137f7bc6cc26e2f599bc2c42404080142c04104685ec041a048acf92150df6b1a8ccd708f0e4b289b5faa1471334100cb5971a7cee2361d62e7232e0cc6347837373dffd24cce66cb0b13bf997abd1ebf81989fc24a6c91202605525353d17bb14d1d1e7610fceb4a604d387e904f9d3ad5b3674f9a1ab8ae502b8df37175b39e17e03fa1161700cd372fe5d91134cf11474e58242bc4882004080142a05e08d0bc40bde022e1e68400ff7be960c4999999583989011b562162775ffed425fed6c2c8b5fd8bcb0d8abfe536ed3b22632fafabd1b56753c977c4be23324a9b4afa6a749576ecd18ed8774446d83f7dfa744848087a0ee695c0b4a7cb9fe9c5b3af18ea606a00e32b610104f85dbb76c50d52b1f655d94a3421d03808e0b70e3d199df0fcf9f3e8c9dc299858cc824901ac3c6f9c30b8174c4074eedc19f1c0bb72dbfcc68ca115fa12e7bd85e5de52f36a61a789d2210408811b8b00cd0bdc58fcc9fb7544c0f1f13c46741898e10214eb0f71f550e705040460bc4e319bb971451e9b3d3b8ec8d834ce99750666cf6f2d36459323b13922230c5a13cd2e7e1eb0085b10cad4c0e4ab5b31e8c2fd588b5503b81f8b49010c84780f542a124d08341a02f8e6621b33b8c3341668ee179d1373a698b76ab430948edab56b87a934c4404b0694b0104d08100284002140085c7304685ee09a434a069b0a023687673683c3380dd79d68828a528bd34a8e50b7c914adb51016361b6ca71617a2c9c297e08368b05f0b9b0db6a30cc61e6de14b29d660bf16361b6c47198c3d5ae98bd37c39003a1bba1cee852a153123c08b92493421d0f808a01fc2a9f2ab816902ce6cfc603059c6773450c6d3f86190474280102004080142a0c52340f3022dfe14b7de04c5fdae3a21c0fd287e8b1b92b8fae4a54eadeb2780007824dc05af5e3f77d7dc72ab8a9ff7167eac054908f01b9e1c1c74398b4709a0cb9b6a31424d84c0f546407442f1fb2988ebedba16fb88a12984514b84d4440810028400214008347704da34f704287e42e01a22806b62e5d527a7a50b52fb9b338b2641d41e8f10130497175541d46ec79156614a10d65aa24910d6324a8e1013046f15554128b51a460b5382b0b6239a04612da3e4083141f05651158452ab61b43025083ee8e2d586d9242d42a09111680addb529c4d0c8b0933b4280102004080142a09111a0f5028d0c38b96bea0828a706f8288e1f11b7209439286594342e6451b5be9c55ca286ddae32b7dd59776c4a652464953fcf545db5a5e89a7752b7108014280102004080142801020040881268200cd0b3491134161340904f8309e0fe71010083e3c066d6f9cac8c9bab0b23f5d255dab147d7379efaca53fcf690e7fc7ae189f7bd411e4f47e3a854afdd05b512024d1301fc38a088af4063d24d13108a8a1020040801428010686108d0bc400b3ba1944e0d02b872ada9d445e17a17453c010e9a6b484469f6ce6dbbd3722f975530af76fe37fd6dece0606f9bf6aaf292376fcb1a3cf9b6408dd46e66445115bafcdabab2bcbcda49e3ea5c33072104ac09a54d7d76d24f3b8fe6e9bd464f0c39beabc6af520bf2caa8843a64f4d9fb361f62b7df314c0eb646a94aaf473c1ab543f1579c3baa882173f0e4499d7535200853c2ba088013a22a042c0821e0a0bc52bd4e5d31b6811684795569c19ab6b6098e284af963c78e1515158d1b378e332103021d0c85d3f5ea9f4acb4413028d8080e89f9cc06699e8b737e4886411030fa311122717840021400810028440eb4480e6055ae7796f1559f3d19783a94298cb7382d3926e55c69aaf36e731d621b07b90933eedccb9df7ffe5a77c7c39181c6fbc0b85a8530bf66adc84b3f7729b367b5a4cd99dc8e5246198fdc5a92f0c5576702c73e7e475f2eac14a895d6eff969cfb90a77ff406f275d8d5f6b156554bc95c776a5f8426e16ab50a9dc4cf1cbad255b3f97e2f9d79da13c6c30edc75f611d83c29dd11452b38eea6a383c7e0e97fdd86ac6f9b5c8200c01bb20ea151bb444118ad856f08f3ffe40b56fdfbe5dba74e15e20c6053035c039bc4a4742a0092220ba2b27f02542419cd6c7f2339b47cf58a8482168d967d18fcd61bfac769930d76567fcf8e35b9383c60f6b6f4bd7da9a350796f9574ce1824842801020040801428010b8c608d0bcc0350694cc351d04f8f5a583f1f06b5f7e2f57790d5a72fa282605fa4c7a382a58bead5e72f2d32fb71d3f943226288c5be68ac6a31aeff772524bfa52a3f1c34488aa7948cecc09ff494ae6fc3a6b2a7d3573ea1e794f7430441fed59a556dbb6a0328f0ac2555510566b34d2dbc8e018478577633c4a266f55c8a091171b3194d4b86b706a26f3f63f4530f663ab49aa1619fb1e1c6d81715184ce9e3d7b38fdebafbfce9a350b3497e13302bca95efd5358268210681c0444ff540ed4edb8d633e6b368edf7e1ed59454585c1e0ece19cb7f4738d86ed64f99506c3b9b9af3cb57ce43e1f8b8549766cd96423061e86cd566212028400214008100284c0d52340f302578f215968a2086024e678644298138aaa6ca31ab7d55d25cab3d7d0c0a4345f6f0894641c5c1fb7afa01a5ca7eec326458707095d782e4e3fb821ded81a3c2c7a5278205a8b527f8bdd92a49354987f9fa829235dd62c8f2f4025f3970f5764fee3ef519e8a9833f6c6fd9c985621c9b20edd474c891ee82ad6ba57a57eb72c1e1316ec4cfc872bfadc1ba959f363e6b87fdcd7cb83956626c6c6edbb2c4705bfd11166515d3cb57dd396e452283a6983bb5431a60589c0f835b7aa226dd5a7f197c192e399fde07843fa9ef5f187646b4c1b3c6c4a7484075a79318fe1be319ad59b32a2663fd0854f3454a47df3a5596a2c2351090802d3a76efd6a57c5a8812c61575a97c8bf4f09f382611e4c69e6bef5718932b646bfea8ced5fc56574eca2cecc940073e9103673e6183cce81c86be217f8d8e71b83973fece9d64b06de21cf8f9c387cf8f0d9b367b9113c4a70e0c081a143870a311028dcb5d211d18440934200bd94c7c309f458de696d1d21d82d20c0dd9d3137372c3f5295a7ef5919dbe6ffdd8ff505056f0efb3b9a1f8e8c7eedbb7541a7963db8602daa51f33f7c3166902a3361d14e1696b9e07fbfcfdbb27986a7e9bb2cbe20dc17e4c14101418510200408014280102004ae1302342f709d8025b3371e015c53d62b0871dd2908a87b04f67267997f6e5991b2ab435070507070f0c0bb660e44c3c5232b36edabd606470deb79317957d2be1fe3bd674782cfcbc5232b7f54b66e426bb4f6e48af824e615183932ac3a2d71d79f09dfa8a3860e0bdbbf2f59e7e21f1ede0bc37e933ed3a7c66d4a4cf30a0e8f0af3cf4dde9598b63b396f5084af69fca9ee183e2c6caf49d1b9e248352bc2d4852acf22aa4d718aa8aa72f6aede92ccdc032323c3f47feedb97a6632ebe3c5963ca1adf08453c9a8b0797fd788839f90f8bea57917624316ddf17b1ea27a64ad94bc53c06b51e31e870dfd05834be88b026b5bca44fcd019103aba8d0a525ec62da2ec1611ddd05ecaabcc42f36255af89d1d565a51adcbcc741f1035517b3179475272c2b1f0a9fda4091a78acd13561688f6f8a4ffabc4e325dbb769d32658ad211a7e14e8c73c0a96fffb436481c42e0fa2120fa27276ad959408ee1d0a285eff7f43430dd259f918f4eef9cff7b1cabb81f2dda27d62c3c30fdbda7d67c3de0c2b23b17e47f16b7b39726f3cda8073e0ef9f9d1f6ba9f3e7efbc4f485ab3fff9bc7952bf842daf4022b88818771fdf225cb8400214008100284402b4780e6055a7907a0f48d0860cc8622f684036d6cf00c9d33d7f7f06ffb93d332d292f3d2921313984bdfa8694169fbab99fb98a8515d3d58d0d831b95fc5a525a58ce14366952ae5808dd614f744c6bca21f98dc035fbb906e6ad5e60cad77e8a01e6907924bbb0e1adebf9bf264a8dbf60a0beb12317690bbbe4895a76569baec3cdd103fb1dfa167ef21c3534c8a25a792a18b27026cfa15519d493c2605f0200f20c475c347db33a5b1b12955d8681b3a64b888e7d4e69f217feb9ce9bdb0003834d477f3673fa7ed3f593a28d4b866c0760c46732a4b53f6e0ea3272e6b441becadc4f1d9080b2f09bd2b32b6406de336754277c76cb4cfe242d2d5bd5bfad52f146d11c4201a49f9f9f752412cea68d2dad5b894308347104c4c89c8fcf95c72b862b08bed7b0c17f7336e82b2a3c3a7b195c3027dbc6994933b3ee7e015ecc2bc0af5dfe9edfb1f2e9d82fb1f819ca672cfea7138fde8fe550d3973f1985490114a54d25ddc491a1f0080142801020040881968100cd0bb48cf34859d840805f59da68b0cf820a0ac66f5c0474694ee659bddbc031d183c6e2666f3926067e8edb7b3261b36b777c774ab77fff558db1fcece29a8a8dd65277ec07e0db55cd97beabfb8d9fdc4f922f910e5558d26f56d45a2f96b7e7ab25bb145ce9225b119eac62a968c3afceb46cc2c0f07481b7afe94bdfab5fd0f64c4bbf0845f268342bc977d4189d06f6e9c8d232c0aa2b0611728d2903b311980c974bdf50b3490159d9b65f3cfcd0c13831225996764770acf0807184384eae22febaf51ba07bf1e2453c650dd342976f3d28463e3c061e4fdd1190042170231010fd9313a26a1d8bfcc51a3c396a5420eef9cbddbe22937f4adf388cf771d45fb9a2c1cfeadf4675eb168457784e796be124437bbdfe944fd420f7eaea6a591162f60abcd712803d2de21302840021400810028480e3089886088e6b902421d04c1010c37b47e285300ad60bf02503a0a18563dade8ddbb3b59ef3677595aa6e7e21436e8b38f9edc122fd150c4b3bc6cc9f2eddbd66ececd19d19ea5e5eec20d79247d796ad9a5319acbaa840a5ea241bffe387e527bdc7ce9ad051d25759ee3bf8d7cfb1c9399a51d3e60cc28204fdd10f3fdeae52394b219ae62ca0232bd6b0e4260c982dfd7aab8c51a9a4a174a94ea5e237d9b34f9e650cb1d458940c1acd4af1546378ce4a11705b5924374b7ab01f28e0457b1221151b31f036c92c372ca7a692a61b2c0393e1aa56c9af6fe0e6f8d18e5fd99fd16a8d5fa5a23d9a47628c47ca40c46f4fa3865fa72e0444e16ad9d9d9bffdf69b3081cd05020202302960ddbb840c118440534300bd9a87c40974607b11ca23f64b978b2b3bbb1847eff25c0026e0248d2b57ca754c579457d63bf026b6f894ff1bf704ba946f5b306ec3d06f86fb33cf102da605ea1cf3f3af98bd00884f08100284002140081002578f80f4ba2c2a84408b4440ba4475ac207d71ddc92f82f910cec9c9a9e7e0506c9db5eee335892999172e5d483bb275ddc102e6d42d62d84d8ce56c5cf35bb64e772e79ebbaed478e65573ac903e6364e4ebd861a5bcf15178bd610e949813ca8e4ea7467f66edc9b5dca3c5c9d9c0cb8faae2e4a493977090347784481777965ae5a75a5ecd2b93fd77db91d23747d59096fe54769fe028a8ccf654857f0a07ade5c1355b6795468ed15de47ca65e5e6cc4bc59947366fc69e861a35ec708f26e28a88277830ac156c5cb9392d3b372571f3c663054cdbbf9fb7149e750c227741b4696332959d176c0b102e691c2ec3a8a984c898c3ef99731784df3e6ec61c2105efbcc223378fdf181b8f901fb90a372f5404e138df9e4d6e411cc3c3c3b1c500ff4ef9fafa0e1f3e1c8ae85738f29ec69b947d9373e84808341d042cfaa7b26a45bbe07d04ce06035f1123b78221ad97c19169021f8b62cf4d1fff5bc7796fc69cbf77ecf01123c62d488979765c10a60fda5f92c46a2fc0a476016a2504080142a0b923d0747efc2992d68c00ad1768cd67bf85e7ce47f80e2689bf289017433b105cd1abd76d3323f5b13b5277c7af379a72ef7ae70377f97aaaee1951f0fdeec33f7c71187c8d6fff98db829d528ee2317f54d59dc6c48c2c58bbebf0f79fd7b4ba19badf39e8db4d870faf9655dcbb0e993e3a08e3db906edea9a9a9f1df57cf79661aaeada10eefbd870ddb95be7be7fa6f24e35aad93be2067f7aec29b63dac9cbe0c1e4d969f07242954a2dfb04e1dcd9e8571995fab4141572730e1c1f33b268edaed4f55fa7c202760f2fd54bbe70d1cdf305086dda68453c0f3d3d3526b264dd8ed41f7f90e49dbc7b4c7d600c162d2044ee1d8049e1a99da1ee24c7208999881a533f48a9590072cfadddd99f52605202d228df585071eb3e3e26b2147e377d6ff43b6dd65897d31b781672bcb2b03ccc866b396c29124ee0081a764008d31604af2a8f4a5da54d6e4af627d9878ab0cf9bc01145f81d3366ccaa55ab50058156cec7115303b83baae480498510688208f05e8ac038816e8f02dafae81c3071f7eee8ca4abc92502a90710e98b67b931a5d7df72627f06f7b75d36daf62e1c015d5134bf63c5a89dd49351a0d9eb5691372efe227b02e098f115cb169995be331f0309a205014122140081002840021d03210305ee3b68c64280b424020909696d6b9736751ad9d387efcb88b8b8bababab5aadc611afda727676860abf2ac511cf059416151497bb78b6f5f4709506bea6525552a2674e1a73a6a991d968355496959656185cdca1222e85858239a15097488d8787d2b5b9ac59cda8e8ae916e53cbf12bc6c955e525fa6abb219bd9e11545186698286cdad0b2c93233655342c1ac2a2e2e57a95d9105987561a5d0ab95549cd36b63f3afbffeeaddbbb7c05938dfbb776f7979f9d8b16339fe555555656565e0700283a59b6ec2720c63410f0c0d0dc560894fd098d8f4490834360218a2e3f9ff13274e88fe891e8b4edea3470ff11d145f22c1e1512af9167143129679f7e63404200f4eed930290c1b429be62f871b6b0495542801020045a0c02e7ce9dc31baf5a4c3a9448334580fed036d31347615f630470231757a838e2ea9313e60ed4de3e9dc4cb00c4e52f632e5e5e58436baf185b9557cf86361edeae7851b7744f5b59cc648cf7e5dad418972d296594ba8a78f858b78db7375e2160a7387978b9d4dcf7b623a464bbc01a7701aed2975248199b7d190d3282a452d1c2a6c28e53dbb6b6b3b067dfc2aca82a6c5e65fcc69ba5c23208de73f8f00655e16bc89021bc950b2366debb300a02817901cea72321d02c1040074641a8f68e3c0b65ab755e581a60c1e41ca596356da1425542801020040801428010b81e08d0bcc0f540956c363f04309ce305a1638cc713000717a9385ae4c339d67c0b31518511d8e4d7bb9c102e840c0861d09e7da51dc888d894f2f664ac1d0977ca269bb4d226c50f34f8c9e2f8034660c28fe00bacb0f0044c2ec3e5f949179236a1262621d03411e0ddbe69c6465111028400214008100284c0d52340f302578f215968210888019e72e406baf6f4f8c08f5f3443588c03955adc88302508a58c23b423761c9151faa2f89568d44edbc4164c5eb82e6810fc684180c967106af742ad84401344003f14e2b7023db931e926880685440810028400214008b43c04685ea0e59d53cac88800ae5ceb85052e7651b0c61b5afcd6aeb8f6b5b00331de04be52c61e5fa9ae9451f2eb6b47a9aba495f695361d91a9afaed2a6d297237694ba4ada115d7b32f6f8f6ec2bf957133ffcc294387253e058d8e4325c8cb7e2488510689a08a0f7f2c038c17701b8214784811878184d132b8a8a1020040801428010680108d0bc400b388994826d04c400cc76b382dbbe7dfb92921221cf2705d02e467a0a592329842d64ecf19516848c3553345910a2aa54b1470b614e88aa525e302d64ecf16dea5a332dd42160615fa9628fb63022aa4a79c1b4b06f8f6f53d79a69a10e010bfb4a154e4380cb882651e5043fa25361ca0934080caefcfdfd859850248210683a0888fec9bb2e3602e03f8c7c7cde6847ec7ac8f7e314f1341d8828124280102004080142a0252140f3022de96c522e6608387e7f09f302050505b8ee48156d810000046149444154c4a68318bca1f02b607060845f8f72c2719b66a13850a9af2f47e41d917120348744eaebcb117947641c0ace01a1fafa12f2bcb7f0aa851f21033edf6e10c218e7e00d6deddab553f625f437f0f1520c0b0b5425041a1901744bf44ffc128afe09c2dbdbbba8a8a86ddbb68d1c0cdc151717bbbbbb230694c6f74e1e090142801020040881d68300cd0bb49e73ddea32c5a8ccc19cf156c20e1d3a5cba7449abd562e486f7140a5d0b825771c4452aa739617dcdea888c4578dc20989c10477bbe6cca5fa54da10ee3f6fc0a190bc2663cb5d8b1297f9536857a2d7e858c0561339e5aecd894afc526de418057156206cacfcfcfe2a56b3e3e3e595959818181cabe67618aaa84c0f546005f7974d1ecec6ccc5b89ee8d492bcc9c6666665ebc78115303e8bae24bc17f22aed3113365f8b2609d02dedd8518443cd71b04b24f0810028400214008b44e04a44bffd6993965ddb211484b4bebd4a953bd72c405685e5e1e6607eaa545c28480e308607c851928cc3d59ab9c3f7f5ea7d3612c64dd441c42a0d110c0b01f930298ba121e719180d52e98d5c2ebb5b16a008f5c89a6eb4a787878609d42e7ce9d316f4bf302d7156a324e081002371c015c03600ef486874101b47204685ea0957780169b7e03e6055a2c16941821400810025781009f1ac0cc29bf91d008b713f8ea001cc5733a57113ea91202840021d0d411a07981a67e865a477cf41c41eb38cfad32cb46b8786d95b852d2840021d0ea10e043f4c69f17e01304f463deea3a1c254c081002840021d0e808d0bc40a3434e0e1b0b017e41d958dec80f21400810022d1601fa396db1a796122304080142801020046404685e803a428b45806e31b5d8534b891102840021400810028400214008100284c0b54380e605ae1d9664a989214037b89ad809a1700801428010200408014280102004080142a0292240f3024df1ac504c578f0076abc22e59d8c5faea4d9105428010200408014280102004080142e07a2080eb55171797eb61996c1202f54280464df5828b849b0d02bebebe972f5fc64f6db38998022504080142801020040801428010684d08e04ab5b0b0d0c7c7a735254db9365104e83d854df4c45058578f407171317e6af57afdd59b220b840021400810028400214008100284c0b54540a3d168b55a7777f76b6b96ac11020d4080e6051a001aa910028400214008100284002140081002840021400810022d04017a8ea0859c484a8310200408014280102004080142801020040801428010680002342fd000d0488510200408014280102004080142801020040801428010682108d0bc400b3991940621400810028400214008100284002140081002840021d00004685ea001a0910a21400810028400214008100284002140081002840021d04210a07981167222290d42801020040801428010200408014280102004080142a00108d0bc400340231542801020040801428010200408014280102004080142a0852040f3022de444521a84002140081002840021400810028400214008100284400310f8ffa304954881dbe7a60000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Use the clientPager when you prefer to get results in a single \u8220"load\u8221" and thus avoid making additional network requests each time your users want to fetch the next \u8220"page\u8221" of items. As the results have all already been requested, it\u8217's just a case of switching between the ranges of data actually presented to the user.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 1. Create a new paginated collection with a model and URL\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As with {\f1 requestPager}, let\u8217's first create a new Paginated {\f1 Backbone.Paginator.clientPager} collection, with a model:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var PaginatedCollection = Backbone.Paginator.clientPager.extend(\{\line
+\line
+ model: model,\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 2. Configure the base URL and the type of the request\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We need to set a base URL. The {\f1 type} of the request is {\f1 GET} by default, and the {\f1 dataType} is {\f1 jsonp} in order to enable cross-domain requests.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 paginator_core: \{\line
+ // the type of the request (GET by default)\line
+ type: 'GET',\line
+\line
+ // the type of reply (jsonp by default)\line
+ dataType: 'jsonp',\line
+\line
+ // the URL (or base URL) for the service\line
+ url: 'http://odata.netflix.com/v2/Catalog/Titles?&'\line
+ \},\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 3. Configure how the library will show the results\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We need to tell the library how many items per page we would like to see, etc\u8230?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 paginator_ui: \{\line
+ // the lowest page index your API allows to be accessed\line
+ firstPage: 1,\line
+\line
+ // which page should the paginator start from\line
+ // (also, the actual page the paginator is on)\line
+ currentPage: 1,\line
+\line
+ // how many items per page should be shown\line
+ perPage: 3,\line
+\line
+ // a default number of total pages to query in case the API or\line
+ // service you are using does not support providing the total\line
+ // number of pages for us.\line
+ // 10 as a default in case your service doesn't return the total\line
+ totalPages: 10,\line
+\line
+ // The total number of pages to be shown as a pagination\line
+ // list is calculated by (pagesInRange * 2) + 1.\line
+ pagesInRange: 4\line
+ \},\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 4. Configure the parameters we want to send to the server\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Only the base URL won\u8217't be enough for most cases, so you can pass more parameters to the server. Note how you can use functions instead of hardcoded values, and you can also refer to the values you specified in {\f1 paginator_ui}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 server_api: \{\line
+ // the query field in the request\line
+ '$filter': 'substringof(\\'america\\',Name)',\line
+\line
+ // number of items to return per request/page\line
+ '$top': function() \{ return this.perPage \},\line
+\line
+ // how many results the request should skip ahead to\line
+ // customize as needed. For the Netflix API, skipping ahead based on\line
+ // page * number of results per page was necessary.\line
+ '$skip': function() \{ return this.currentPage * this.perPage \},\line
+\line
+ // field to sort by\line
+ '$orderby': 'ReleaseYear',\line
+\line
+ // what format would you like to request results in?\line
+ '$format': 'json',\line
+\line
+ // custom parameters\line
+ '$inlinecount': 'allpages',\line
+ '$callback': 'callback'\line
+ \},\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 5. Finally, configure Collection.parse() and we\u8217're done\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 And finally we have our {\f1 parse()} method, which in this case isn\u8217't concerned with the total number of result pages available on the server as we have our own total count of pages for the paginated data in the UI.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 parse: function (response) \{\line
+ var tags = response.d.results;\line
+ return tags;\line
+ \}\line
+\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Convenience methods:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As mentioned, your views can hook into a number of convenience methods to navigate around UI-paginated data. For {\f1 clientPager} these include:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b Collection.goTo(n, options)} - go to a specific page\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b Collection.prevPage(options)} - go to the previous page\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b Collection.nextPage(options)} - go to the next page\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b Collection.howManyPer(n)} - set how many items to display per page\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b Collection.setSort(sortBy, sortDirection)} - update sort on the current view. Sorting will automatically detect if you\u8217're trying to sort numbers (even if they\u8217're strored as strings) and will do the right thing.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b Collection.setFilter(filterFields, filterWords)} - filter the current view. Filtering supports multiple words without any specific order, so you\u8217'll basically get a full-text search ability. Also, you can pass it only one field from the model, or you can pass an array with fields and all of them will get filtered. Last option is to pass it an object containing a comparison method and rules. Currently, only {\f1 levenshtein} method is available.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The {\f1 goTo()}, {\f1 prevPage()}, and {\f1 nextPage()} functions do not require the {\f1 options} param since they will be executed synchronously. However, when specified, the success callback will be invoked before the function returns. For example:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 nextPage(); // this works just fine!\line
+nextPage(\{success: function() \{ \}\}); // this will call the success function\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The options param exists to preserve (some) interface unification between the requestPaginator and clientPaginator so that they may be used interchangeably in your Backbone.Views.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 this.collection.setFilter(\line
+ \{'Name': \{cmp_method: 'levenshtein', max_distance: 7\}\}\line
+ , "Amreican P" // Note the switched 'r' and 'e', and the 'P' from 'Pie'\line
+ );\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Also note that the Levenshtein plugin should be loaded and enabled using the {\f1 useLevenshteinPlugin} variable. Last but not less important: performing Levenshtein comparison returns the {\f1 distance} between two strings. It won\u8217't let you {\i search} lengthy text. The distance between two strings means the number of characters that should be added, removed or moved to the left or to the right so the strings get equal. That means that comparing \u8220"Something\u8221" in \u8220"This is a test that could show something\u8221" will return 32, which is bigger than comparing \u8220"Something\u8221" and \u8220"ABCDEFG\u8221" (9). Use Levenshtein only for short texts (titles, names, etc).\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab {\b Collection.doFakeFilter(filterFields, filterWords)} - returns the models count after fake-applying a call to {\f1 Collection.setFilter}.\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab {\b Collection.setFieldFilter(rules)} - filter each value of each model according to {\f1 rules} that you pass as argument. Example: You have a collection of books with \u8216'release year\u8217' and \u8216'author\u8217'. You can filter only the books that were released between 1999 and 2003. And then you can add another {\f1 rule} that will filter those books only to authors who\u8217's name start with \u8216'A\u8217'. Possible rules: function, required, min, max, range, minLength, maxLength, rangeLength, oneOf, equalTo, containsAllOf, pattern. Passing this an empty rules set will remove any FieldFilter rules applied.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+ my_collection.setFieldFilter([\line
+ \{field: 'release_year', type: 'range', value: \{min: '1999', max: '2003'\}\},\line
+ \{field: 'author', type: 'pattern', value: new RegExp('A*', 'igm')\}\line
+ ]);\line
+\line
+ //Rules:\line
+ //\line
+ //var my_var = 'green';\line
+ //\line
+ //\{field: 'color', type: 'equalTo', value: my_var\}\line
+ //\{field: 'color', type: 'function', value: function(field_value)\{ return field_value == my_var; \} \}\line
+ //\{field: 'color', type: 'required'\}\line
+ //\{field: 'number_of_colors', type: 'min', value: '2'\}\line
+ //\{field: 'number_of_colors', type: 'max', value: '4'\}\line
+ //\{field: 'number_of_colors', type: 'range', value: \{min: '2', max: '4'\} \}\line
+ //\{field: 'color_name', type: 'minLength', value: '4'\}\line
+ //\{field: 'color_name', type: 'maxLength', value: '6'\}\line
+ //\{field: 'color_name', type: 'rangeLength', value: \{min: '4', max: '6'\}\}\line
+ //\{field: 'color_name', type: 'oneOf', value: ['green', 'yellow']\}\line
+ //\{field: 'color_name', type: 'pattern', value: new RegExp('gre*', 'ig')\}\line
+ //\{field: 'color_name', type: 'containsAllOf', value: ['green', 'yellow', 'blue']\}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b Collection.doFakeFieldFilter(rules)} - returns the models count after fake-applying a call to {\f1 Collection.setFieldFilter}.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Implementation notes:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You can use some variables in your {\f1 View} to represent the actual state of the paginator.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 totalUnfilteredRecords} - Contains the number of records, including all records filtered in any way. (Only available in {\f1 clientPager})\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 totalRecords} - Contains the number of records\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 currentPage} - The actual page were the paginator is at.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 perPage} - The number of records the paginator will show per page.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 totalPages} - The number of total pages.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 startRecord} - The position of the first record shown in the current page (eg 41 to 50 from 2000 records) (Only available in {\f1 clientPager})\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 endRecord} - The position of the last record shown in the current page (eg 41 to 50 from 2000 records) (Only available in {\f1 clientPager})\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 pagesInRange} - The number of pages to be drawn on each side of the current page. So if {\f1 pagesInRange} is 3 and {\f1 currentPage} is 13 you will get the numbers 10, 11, 12, 13(selected), 14, 15, 16.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Plugins\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Diacritic.js}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A plugin for Backbone.Paginator that replaces diacritic characters ({\f1 \u180?}, {\f1 \u733?}, {\f1 \u783?}, {\f1 \u730?},{\f1 ~} etc.) with characters that match them most closely. This is particularly useful for filtering.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d4948445200000557000002c5080200000048cc441800001819694343504943432050726f66696c6500005809ad796758144db376cf266059969c73ce3983e49c734660c939675424882425082849041104110c241113820822820a180009822415545004e4cc2a3ecffb5ee73bffbeb9ae99b9b7faeeeaeaaa9e9ea95a00585a09e1e1c1082a004242a323ad0db4b91c9d9cb948a60012d0032ca00080e01515ae6569690afecf636b1c40c4c617e2445dff27edffdd40eded13e505006409377b7a477985c0b8150064a7577864340068a23ebeb8e87022ce87315d246c208c6b89d8ef0fee2462cf3f78e837c7d65a07e6cc00408a231022fd00a05883e55cb15e7eb01e3c0e000c4da8774028dc8d0bc6ea5efe046f00583c608e5848481811e7c258c8f33ff4f8fd0726103cffd14920f8fd83ffcc05ee090fac1b10151e4c48f8fde3ffe725243806f6d7ef8303bee2a2826c4ce03b03ecb7782f829e0d8c99607cdadfc7c8f4405e171ead6d7d20ef0e8836b285311dcc79e91f63687780976282ecb460cc06cb7783c24c887cd84f08a6504f730b18d3c098cf2b4a07f63d712c8442a2bfadc301c7d4db47570fc6f02a4238468659ffe5fb47c5dafc952726faeb98ffe507128c89f1c6c3fc6c42248c7edb8338e7136c401c9707963785475b12ed248e351c1a6c7e3017c47bdf487d228728ffe913f57bbe44dbfca3fd6d0d61396c33922a3ad296c881e78864f30dd03782316c1b52ca3fd2f0af5c333cf8f79a86fb226d2363ac897ee083b1af4fa81dd1874479b6374197e85bd827c80aa00f082012f8004f100a96011730053a40f7e0ca05cb436199170803c1f019c945f9b705bd881e45cfa1c7d033e8d77f6570cf031e0800de30fea3eb3ffac3721b90083ec25a7d40d4dfd1502c2875942aca14be6ac2a70c4a09a5fcb76d78ad63ed2f3eb0d50fee2b7ea05bfbc0fa5858e3de5f9e7b406ae45f7cd0c7f39f1effdb267df01ef680df5f86d415a965a9ddbffdff9d31460fa38b31c4e863849199c89bc87ee403e400b21bd901b890f7909dc821e41d223eb0ebef28045842f40ad1c351c004f6a20f88f9fd2bf4ef78ffe5a5987f18071af0227879600df70a0541705bc03f23d8ffb63ae07f698981199ef0888130d7e49f781cd8851280bd2b8fd246a9c17e867d8c6240b10071941cec712d94061c037958fa6f14ff7b36e2c0f7b7b7637fcf25082cc2f30889f6898f86d712d0090b4f880cf0f38fe6d282774b1f312ea3502f09312e1929695940dc7b891c00be5affde53218667ffca7c96003804af63b2917f6581670068ec038031fb5f99800b00cc62005c7fee151319fb471f8a7843c33b3a25fc5430030ec00b84608fc80005a00a34811e300616c016380137780dfb8310d8e2387004a4800c9003f24131280355e022b80cae821ba003748307e011780246c018780b66c0025805eb600bec401044025140b41033c409f143a2900ca404a9437a9029640d39411e901f140ac54047a03428072a84caa06aa801ba0edd821e4003d028f41a9a8596a12fd04f04128143d021d8110208498412420b6182b0451c46f8212210898874c469c439440da209d18e788078821843cc2056119b488024473220b991e24825a40ed202e98cf44546228f21b39125c81a6433b20b5e8b2f9033c835e4360a83a24571a1c4e1481aa2ec505ea808d431542eaa0c7519d58eea45bd40cda2d651bfd0146836b4285a056d847644fba1e3d019e812741dba0ddd073fcf0be82d0c06c38011c428c2abdd09138849c2e4622a312d98fb9851cc3c6693848484994494448dc4828440124d9241524ad244728fe439c902c90f5272524e5219527d5267d250d254d212d246d2bba4cf493f90ee905191f193a990599079932590e591d59275913d235b20dbc1526305b16a585b6c2036057b0edb8cedc34e62bf929393f3902b935b9107901f273f477e8dfc31f92cf9368e062782d3c1b9e26270a771f5b8fbb8d7b8af14141402149a14ce14d114a7291a281e524c53fcc0d3e225f046786f7c32be1cdf8e7f8eff444946c94fa945e946994859427993f219e51a15199500950e1581ea185539d52daa09aa4d6a5a6a696a0bea10ea5cea46ea01ea251a121a011a3d1a6f9a749a8b340f69e66991b4bcb43ab45eb469b4b5b47db40b74183a413a23ba40ba1cbaab74c374ebf434f472f4f6f4f1f4e5f477e86718900c020c460cc10c790c3718c6197e32b2336a31fa30663136333e67fccec4caa4c9e4c394cdd4c234c6f493998b598f3988b980b983798a05c522c262c512c7729ea58f658d958e5595d58b359bf506eb1b36049b089b355b12db45b621b64d760e7603f670f652f687ec6b1c0c1c9a1c811c451c773996396939d53903388b38ef71ae70d173697105739de3eae55ae766e336e48ee1aee61ee6dee111e4b1e349e569e199e2c5f22af1faf216f1f6f0aef371f299f11de1bbc2f7869f8c5f89df9fff2c7f3fff77014101078193021d024b824c8246828982570427852884348422846a845e0a6384958483842b8547441022f222fe22e522cf4411a20aa201a295a2a362683165b150b11ab109719cb89678acf815f159090609538954890e894f927c92ce920592fd92bfa4e4a582a56aa5de4ad3481b4ba74a77497f911191f192299779294b21ab2f9b2cdb29bb21272ae723775eee953cadbc99fc49f91ef93d0545854885668565453e450fc50ac509253a254ba55ca5c7ca68656de564e56ee56d15059568951b2a9f55c55583541b55970e091ef239547b685e8d478da056ad36a3cea5eea17e417d46835b83a051a331a7c9abe9ad59a7f9414b582b50ab49eb93b69476a4769bf6771d159da33af77591ba06bad9bac37a347a767a657ad3fa3cfa7efa57f4d70de40d920cee1ba20d4d0c0b0c278cd88dbc8c1a8cd68d158d8f1af79ae04c6c4cca4ce64c454c234dbbcc1066c66667cc26cdf9cd43cd3b2c808591c5198b294b41cb08cbdb56182b4bab72ab456b69eb23d6fd36b436ee368d365bb6dab679b66fed84ec62ec7aec29ed5ded1becbf3be83a143acc384a3a1e757ce2c4e214e0d4e94ce26cef5ce7bce9a2e752ecb2e02aef9ae13a7e58f070fce1013716b760b73bee94ee04f79b1e680f078f468f5d8205a186b0e969e459e1b9eea5e375d66bd55bd3bbc87bd947cda7d0e783af9a6fa1ef929f9adf19bf657f0dff12ffb5009d80b2808d40c3c0aac0ef411641f541fbc10ec12d21a4211e21b742694283427bc338c2e2c346c345c333c2672254228a23d6234d22eba2a0a8c3519dd174f047ee508c50cc8998d958f5d8f2d81f71f67137e3a9e343e387124412b2123e24ea275e4a42257925f51ce13e927264f6a8d6d1ea63d031cf633dc9bcc9e9c90bc70d8e5f4ec1a604a53c4d954a2d4cfd96e690d695ce9e7e3c7dfe84c1892b19f88cc88c8993aa27ab3251990199c359b259a559bfb2bdb30773a4724a727673bd72074f499f3a776affb4efe9e13c85bcf3f998fcd0fcf1028d82cb85d4858985f367ccceb417711565177d2b762f1e28912ba93a8b3d1b7376e69ce9b9ce52bed2fcd2dd32ffb2b172edf2960ab68aac8aef95de95cfcf6b9e6fae62afcaa9fa7921e0c2ab6a83eaf61a819a928b988bb117176bed6bfb2f295d6aa863a9cba9dbab0fad9fb96c7db9b741b1a1a191ad31ef0ae24acc95e526d7a691abba573b9bc59bab5b185a72ae816b31d756ae7b5c1fbf6172a3e7a6d2cde656fed68a36dab6ec76a83da17dbdc3bf63a6d3a973f496f1ad9e2ed5aeb6db12b7ebbbb9bbcbefd0dfc9bb8bbd9b7e77ff5ee2bdcdfbe1f7d71ef83d98ef71ef79fbd0f1e1cb5eabdee13e93bec78ff41f3decd7eabff758ed71f780cac0ad41a5c18e270a4fda87e487da9eca3f6d1b56186e7fa6f8ac734479a46bf4d0e8dde71acf1fbcd07df1e8a5d1cb2763e663a3e376e3af265c27665e79bf5a7a1dfc7ae34dec9b9db7c727d193d953545325d36cd335ef84dfb5cc28ccdc99d59d1d9ab3997b3bef35bffa3eeafdee42fa22c562c907ce0f0d4b324bddcbfacb232b2e2b0babe1ab3b6b191fa93f567c12fad4fa59f3f3d0bae3fac246e4c6fe97dcafcc5febbfc97debd9b4dc9cde0ad9daf99efd83f9c7e56da5edfe9f0e3f3fecc4ed92ec9edb13deebfa65f26b723f647f3f9c1049f8fd2d8084af085f5f00bed4c379911300b4230060f17f72a3df0cf87317823930b687f4105a482514131a8b2125912275224bc3dec3612808f80e2a2c7530cd209d3c7d0523600a621e665560cb675fe5d4e4cae31ee5c5f229f33b0904098608b90a6b8bb08b6c883e122b150f925093a4907c27d5227d5cc64a965bf6a3dc2df9130a568a6c8a0b4acdcaf12a5aaa58d517872ad4bcd5c5d4bf6874681ed1d2d6c669bfd3b9abdba857a95f6070cc9060a461cc64bc613264da6c56695e6dd16d396f8db661b665b1a3b247daef3aec3801673217bc2bc561d4e14db739f7118ffb849b9e755ea5ded93e09be7e7eb6feda0172812241dcc1cc2194a1c8d06f6173e12311b7236ba34e4727c764c4b6c5a3127c12ef1f0147058ea9241b1d774989493d9d569c9e7442eec47c46de49cb4cfe2cf26c9083c8a53e25745a3dcf3cdfa1c0b9d0f98c63917db16d89d559f37326a50665dae5ea15ca95b2e7c5ab442e48559bd4a45d9cb96454d754bfda40ddc87f45ba49f5aa6eb3598bc335f7ebfe37c26fc6b51e6b4b6d3fd191d999732bafabf8764577dd9dd6bb7df726eecf3c18ef6979e8dbcbd4fbb8afe4515cbfefe3c3030e83564f4c860c9e1a0edb3e8b18b930fafa05f94bc9319d71a309bd574aaff9dfe0df6cbf5d9a7c35f560fae2bbb419bf59bb39f379b3f7160b168bc61f949718976696b357e45666562faf257e34fc44faa9e1b3c1e7f9f58b1bf15fdcbe5a7c33db0cdceaf971f267c79eeefefe41fca59128e4326a063d8f592745922960fdc92b70337811ca38aa4734ccb409742f1964185399a658e45933d8463858381db90ab8bb79267937f9b6f857049e0a5e148a145617211579295a2516282e2ffe4be291e4692907694ee90f32cdb2b1726af2907c9f42b6a28512add2b872a98a8b2abbea24bc0a5cd599d52734ce6aba680968ed688fe95cd7cdd5f3d13f64406db068d86d546c1c6be263ea69e66f1e661162e9696561ad6a2362cb6a87b747d86f397c701c777ae8dcec52ee9a7d38d12dc0ddd1439720e9c9e40579ad788ff9f4fab6f9d5f99704a407860539056b86088652c02b61367c3ae25b1477b47b4c69ec83b857f1f3096b89db47c88f721c134ae63a8e39fe2ea52d352f2d32dded845d86e3c980ccb4accaecab396db9eda75a4f5fcfbb9adf5070a9f0c299f2a2e2e2bc92acb3a9e7124ac3cafcca032a8e57deab12be70b946f06261ed8b4bdbf5f8cb2c0dbc8d22f03a50bcaadeacdb6276cde97af08d8c9b175befb68db64f772c757eed42de66ec16bda37a57f39ee27dee078807733dfd0fdb7aebfbca1fe5f79f789c38103918fd246ba87b98e1d9d191a9e72c2f345eda8ef98e1f9fb8f4ead9eb6f6f6926c5a74ca7c3df9d9db93dfb7c6e7a7eeefdea221a8e7ecaf2e82af59ad447f94f029f293fff585fdc98f832f8f5d6b7eacde42dfbef82dfb77e746f27fe54ddc1edeaee2d1fc45f025a455422dd50c26812f40666996485748e6c831c8be3a7d0c23b53a65035518fd2ecd3f1d3eb3104329e60aa626e65e9637dccf688fd364735673c9736d74fee5a1e139e55de4c3e41be1e7e37fe6d81224129c141213f6112e17a1143910fa2196242627de25e1240a252f290e42ba918f8eba645c6546649364d8e43ae53de5a7e4de18422a76207fcd5b2a49cacc2a07245554bf5f921af439fd492d449d4cb35e434c63513b538b43ab52db45febf8ebecebd6e859ea93e93f3438622867b8625463ec6ac264326e5a6c66634e693e609166a96af9cdaac53ac846d0e6bd6db5dd617b66fb970e798e868efb4e6dcec12e7c2e53ae2587cd0f6fb915b9f3bbb77a6879bc21c47bf278be82f7117f1f035f453f657fa30042604810215823842a6432f4525848b87cf86ec4c3c8ec28cb68fae8b73155b1de7102718bf1e713f41226138393e8925e1cb97df4eeb1dee487c76fa534a496a4a5a5879d70c9d03b299289ce7c99559aed9cc397b3933b73eae9e95b7917f28f15b814aa9c6139b35d345e7ca3e4ecd953e70a4babcb6e963faa7855b9727ee7024535578dec45c35ad74b6175c7eab32ee7361c6f245c516cc2377db9fab179fb1aee3ac70d999b96ad496daded3f3a956f857795debed6dd79e7f6dd817b9b0f0c7a6ef5daf46df6970cc80ebe1c3a35ec3162f45ceba5f678f06bfce4eadcf0cae6b76d62fcffd4c888ef048c020067520070cc00c04e0380825e0004c6e0bc130b80255c25b4550608015f80c00d014865f69ff70704d71131801c50c335294e2008a4800a5c33b100ce70861c05679779e03c680677c133300bbec199231b240d1940ee501c540035418fa14504062184304544212ae13c6f1fceeb6291b790bf5006a833a839b42c3a13fd0ea38229c5ecc019d620a922693d192b5901961c9b458e25cfc7b1e0ea29e428baf16af82e4a25cadb5486546fa9a369a868aed2ead28ed2d9d28dd25bd03f677067f8c158caa4c634cd7c948595a58bd58d8d8cad9b3d96438ee32be70dae486e79ee5d9e7ede123e7ffe4302788119c19b4299c29e225aa2026278b11df14f12ef25c7a4daa49364a465a66533e5e4e53ecb772a142a2628792b9baa48a9321ec2ab49a8976b8a6a9dd21ed0f9ac47aa4f6fc06cc866c4672c67626e1a6176cebcd7e28b15afb583cd69db7e7b9483ae6386d3900b83abe7e146b7f71e1802b527c673d36bc17bd267c58fd2df24a038f043f0a190a2d04fe1c6118d51b8e888983771faf19d89e2497547b98e951f67482948c3a6a79cd83c1998b99a9d931b72baad80fa0c4bd1c7928673ee650ce52395a7aa0c2e6cd6e4d5d25dcaacdbba1cd4f0e54afe55bd16ea6b1b37165b97da573b3f74cd776fdc637ca0f3d0adcfa3df6640e389e453e1670aa3a12f7e4ca0de904d56bda39dbdbb805f3ab2aaf5b1e5f3ce17856ffa5bd8efa77e0c6e2ffd5cd879bddbba97ffcb735feaf7fe418c3f095c93a3816b0edc4004c802356008d7193ce00a4312c802a5a001dc82eb0853601d42432c90d4efe8274045d0356818fa88a044c8229c1169881b88052427d21d598b5c4329a0d251636861740a7a128e7d390920f1271923d523ed2493246bc40a639bc8e5c8efe12c71f314f178327c312537e535387f7d4b1d47c340d3416b4ffb91ee283d96fe1c8338c32063181323d37de600163a96fbac616c7c6c93eca51c8e9c4c9cafb92ab9bd79a47801ef4bbe2bfce902ae8272702eb7223c2472137e8be589a7491c918c96f292d694c1c90ccb66cb99c833ca6f28bc56ec576a57ae51c9554d3c14ab96a5dea9f15d4b56db5b2747b74eaf5dffb6c16dc33b4603c6b3a6083311737b8b13961d566b367cb6ee7695f6d38e3c4e81ceedae24871ddccadcfb3c46093d9e0d5e99de013ed6be867e4efea901f78328823d43bac358c21323a6a2b4a31b6229e3c2e39f247227c51e1939269f5c9bc29a5a948e3d9194b19649c89acb493c259587c89f2abc5e145b2277f64be9f5f2984a95f33f2fd4d5c85cacacfd502758ef7ff95a23e3958aab6acd1faf95de50be39dc4668dfe9ace9b2ea06771aee99dedfe8a9eaf57ca4f2987b10f5e4e9d3d8679891ece7b8173563ee1366af83dfd64f7d98e19cb37c9fb27877997135ff93c0fad3af455bb9db463b32bbe7f7deffda38883f0a90c1b5572638faa270ad490758c215a61070147ef2ab412b780ca6e1e71e0709409ad06128092a87ee40b3083238ea0444316204498ff441de41b1a18ea356d04ee8a7181dcc1db89ef280d494748a2c0a4b89bd466e8f43e23a2822f0d2f81f947d54a5d431344eb44674c6f4560cc68c8a4cc2ccf22ceeac096cd1ec9e1cb69ce65c66dc663ca6bc667cd6fcee025182a7841a851f8b2c8b51882b4af84a96498dcbb0c87acbb5c8ef285a2a3d55c93ae4a48ed6c8d7dcd536d1498323d8a1df6d70d770d868c7c4c4b4dd5cc2a2c94ac2badd56c76edc21c409ebdce46aef46ed41eee9eeede2f3de4fd53f276031c83a7828d42cec79844be45274522c47dc74c2a3a4fb472b93ed8eff4cad4eb7cfe03cb99e752727f7946f9e410173e19322dfe2adb369a5d46535150a954fab7caba19a8a5aa54b63f5310dac8d8f9b929b0dae49ded06f4d6eafe9cceb72ea66bc3371affc81d34392de4b8fe4fa6f0fe80d4e0cc50f4b8e2047d75f2c8d8d4e14bc167c53f9f6d794de74f6bb27b3947376f317de2f2f4a7f085abab0fc7865650dfd91ed93d467dd75870dc217efaf96df78be6d6e9eda62db6afcaefcbdecfbf60f871feddb0cdb91dbeddb3b3f357fa6ff1cd8c1efd8ec9cdd19d925ddd5dc8ddfbdbebbbcc7bde7b457b837b8b7f74bfa97f7afb3bf9efcfab52fbdefb37f6e7f8818ff285f5919e2db0340386db8fc38bdbfff550000924200f60af6f7776af6f7f72ec2c9c62400f783fffcef422463e01a67c53a110d7297136fff75fc0fedd8b8677c4c06930000019e69545874584d4c3a636f6d2e61646f62652e786d7000000000003c783a786d706d65746120786d6c6e733a783d2261646f62653a6e733a6d6574612f2220783a786d70746b3d22584d5020436f726520352e312e32223e0a2020203c7264663a52444620786d6c6e733a7264663d22687474703a2f2f7777772e77332e6f72672f313939392f30322f32322d7264662d73796e7461782d6e7323223e0a2020202020203c7264663a4465736372697074696f6e207264663a61626f75743d22220a202020202020202020202020786d6c6e733a657869663d22687474703a2f2f6e732e61646f62652e636f6d2f657869662f312e302f223e0a2020202020202020203c657869663a506978656c5844696d656e73696f6e3e313336373c2f657869663a506978656c5844696d656e73696f6e3e0a2020202020202020203c657869663a506978656c5944696d656e73696f6e3e3730393c2f657869663a506978656c5944696d656e73696f6e3e0a2020202020203c2f7264663a4465736372697074696f6e3e0a2020203c2f7264663a5244463e0a3c2f783a786d706d6574613e0a108038a400004000494441547801ec5d0b4054c5fa3fec2e0bc28a40a6ab229990099aa257a9941ed243bca5f50fb3abbdec5eb587d45facd44a2d1f958f126fa9b7c4ca5e929659a2fda16ee24d32c3179a81d7f085649b22222ccbb22cbbff6fce9c333be7ec2eec221ac937d6e19b996fbef9e637dfcc9e799e80e79f7f5e4077e111d0e9748f3cf2487474747575754343039fa1d3e90c0808703a85800029988680070848d8be7dfbd2d2d2f7de7bcf6eb7f309914604100144001140041001440011400410014400114004fc4220e0bffffdaf5f0990b979085c79e5955aad964e0148837ca740fe894e9c0520730162100924b4380b000424848900983b387af428e5c72722800820028800228008200288002280082002880022d00c04026a6a6a9a910c93340381dada5a1f53d149011573bb76ed5421e84504100144001140041001440011400410014400114004fc424067b158e8b273d3c960891ad6aac5edeb4d330307f2370e93777c0064f7a4b5965ac4df1d165788773c5d3c3c85fc3c1aee34e2e38e091f82f8f068b8d3888f3b267c08e2c3a3e14e233eee98f021880f8f863b8df8b863c287203e3c1aee34e2e38e091f82f8f068b8d37f1e7c02ca4f97c3be74d5e233efe5692869801080fc3c263c8df8d0b6c063c2d3880fe283f680fd276f033c8dfd03f60f680fd83ff036c0d3d83f60ff80f680fd036f033c8dfd4333fb87d3a74fd394f2138ea33babaaaa608f801cd2d8df80004de7ce9d3c72d0f902b72822df2d900420bf080be2235907da03da83640a121064fe910f417c7834b0bda03da03df008a03df06860ff80f680f6c02380f6c0a381fd439bb5071d6f07e26e7fe19ce8ce9e3d5b5e5eee70387806151d161676d96597391c0d5dba74a151fc7901f2ca2e6e8a60a9a87c050f77be00f9111f856da0fd90d6a1388383f8c0642173d85ed01ed01e143680bfa7d83ff036c0d3f87b8abfa7680fd83ff036c0d3d83fb4d5fe4107ef10f4ad1a765650022eb13b79f264d7ae5d9392928282828081f2a808f01e397264dfbe7dbd7bf7b6d96c7abd9ebd9d034193f0bb35987c1ac8bc3415f23340101fb41f4000ed81f60cd83f5004d01ed01ee84f03da03bc2db0e680fd03da03da03be3fb30e817692cc8bfd03f60fd83f34de3f049c3a758a5a097dc2e7e87efbedb7ddbb774f983081a6644f20a8034e9974e6e6e676e8d0212a2a2a3c3c9c9783b45f08984ca663c78efdfaebaf6df9930da1a1a1ddba75ebd1a387d168f40b3d6446043c22d07a9a958fb6dd7a14f68867b3037d2c7eb3e563424400114004100144001140043c2270a9be5c792c2c1fd8e4db9774220046f574f28c123016050204b1d13ed09b376f86e1594242020b0402ae0f080909a1cc2c63f0f2d2a81cd5e41c63e663dd13f26c8c766763218c872758ac3bc1b331da9d8d85301e9e60b1ee04cfc668151b58e7ce9d3b01d8214386c0210bc6d6d608b88de2f8f1e3bb76edfacb5ffe42cf98a880f206883b1b0bf19884c5ba13c80f08b8c3c242fe44f8b4aa66456d1b9af9e0c183a117f58827280cc6dfbf7fff4baf1f604d7bd0a041ee737c0c0d77e24f646f1e1b0eeaef111656d1880fe2c32380f6c0a3c19a0923101fc4874700ed814783351346307c2ee1972b56466f047bfb721f58d124e444008ccfc151029e7017407d7d3d10c0014fe6962f5f3e74e8507849652140c05900e0a721c0cfe4d0b4cccb08e0a434cd9e85b765fea3478f0e1830203e3e1e4068fc22060adaa5fa34180c7dfaf481d2c1b608980560a60246c2ec840552105838785994c8eeb267ca83fc6d0d1f38afd47a9a15b56d3045d00a86c1cc6e59a5807d42144c055e92fd80aaf8506a6c8faceab1bf427bc0df2fbe39a03da03da03d800db0f704b487f3b40778b982a12b1d5fb4b541163fb0a22f9fccae28aa642f00eb7329c13f274f9e4c3f2210181808f7056cdfbefdc1071f845303900a16b5fefef7bfc32c00845bad568fdf14080e0ed668341ee58304707c5e4d7a9b645049fbb3f0c3410058fd632881da6dd9454747fff8e38f7c553264f8400a912aa4712f24699c41158bfc2a4054de568e0f5c6e02b39654676a2d7ff8b37bf7ee3b76ec602aa9f06c850ab72c62aae2b772fb6952bd261954f58bfc2a40545ec4470588ca8bf8a8005179111f15202a2fe2a30244e5457c5480a8bc7f6a7c2ef9972ba89dc61d1d58010fad564680579a0580b9013e94d2101d17170789c1abd3e9e0951a2651b66ddb06df1080ad05701d00dc20009f1280713e4c36c05c8034c1403ef90729486670b9a056abeddcb93393af9a84001ec22df3432ac64025302fe1a41b162e397e387f01004201096a6dde19420df472040a08330000c66503dcd615b41f0a0be2a3ea1fc08ae04054ab6a56a00f3d6c05aabad7572b54b8657b23bef8aeb67cc9f5e7d81e59a74da0c0fa155f5ddcdbbbaabfa23d15830ef9111fb001b407d72fc525fafe8fbf17ccc82fdcef05bc5cb5f141167dfb623f2b8c00ccc92c00ad034ac0131c4450077b01ce9c39f3c8238fcc9831e3baebae83c0e2e2e2810307de74d34d100eb300300500db012a2a2a601680a6a5c9e10962017a7a0a1426026808e501392c537849a05ec6c0a280680bfc50c656b047c57e74ffaeeaf6bdfb5d79316e7984ed243367ce9c3f7f3e4c12d12a763da53a2701d400da9a3d60795baa7f001302512ed3faa3a9c6edb9b5686bafdcbfeb7064dffe5106e9d69896828d169f16931939f6ff0c0ac487585a9b7f1f407b68a9fe9f3628c413f16496403a1871368112a4c3e196978807fb9f4b111fa8d85630c822f6f5873b77fb577c29103a0b70544b4adbed7658f38f8989d9b2650b0cfe4b4a4ae080c08811237efffdf73befbc138e090c1f3e1cf829337df2def2f272d83b10191909812c6f269f2720ad69cfa6ada763460f8fa3ef9e4df2d38ca81078fea9f9a1f8aae20882f9eba52f7f6572068b25b45a2baeb8f5d9f45b858ca796f7797ec1ed3d8255e56538782302ea4a963cb98ca6f5c463f9f68967de1ff7cfff3c3680c6fa2d5fee3b3c0957877df4d147b0ed7ff5ead530c1a48a837c21c41d10953e9441c5c90221dc677eeb9e4d5fd40fbafbba2eedf8e4a7f7e57c557af9983b07067355c333f82c5f2a9f8abffef4becfbefaede671c38d3a57d57381beebef593e539512fc932650e973fefc17a1fdd656579aadb5426078c70e6afbf7a83ff4fb2c9c2fafb52cefa5396b62c7bd38615894049ff59705d3d7dfb570461c6d6f6ef623b179ffc3cbf7c6053c10455552f1d34078524221c17e6cc5334b0fb56b07a608a9e06915db9ab542f8ebf32f4157a060963d2af972b0d7bf2e7e4bc9f3cf4c19b174e3e3031b9b1074f17b15a98850f1b36252827fd264c84f71e09161a04114e283f8a03d501b80278302db0bc504fb07ec1f58a30028dab83dd02e8207849a073ccdc7f297652cdcb4fb2c09894e9a3163ca9dfd9afe481987a73977c10b7bfba6cdb8f32a26d39de0f8dd233d84b4383f08846c1802bc7c0dcd1fe2a46879e50c5ea0e93b343cefbbef3eb811e0ebafbf5eb264091c10b8ecb2cb60fc0f8ea6a26c9486274926bb888888caca4a58f865d70d0ab5fbc7c3f6003797ba6cffa9ddaf4f79f8fb1a51212a8d904ef32aa371c99e7310c25425c1a2a3210aafac7f8bf3efcb1c664cfec0dc947c7331e89bbcdb4cf423ea35c54f8b00cc801949e372c2e9dd3f14fe6a838fe789ae7b447bbdd36edd73a8f0d76a3b70b9f1bb527aa41cf5b52cad270621f80a4d749054a7cd91afd6df532662185cd709b300bd7af55abb76ade937933b9fa2424580280f21014f6bf164a3f1f56dbf8931c2fe0fc0a066ff42aeb3740af663b38dc60f8a45f47dc5dfbe67c294fc5fad2439952fca3df9e3826913f6d4899646824527c69087cbeb73fdaae45b4ffe3865dac2935610452cfcf5dd95c0603d592007921cc49ca43c25ef05d3e7fce57b69bfcdd17fffaa64e3b00fcc6252aa183c8b32537bc45eddb76f42dfab7ba4cefe1cf06a121f48c51cdf5eeacf9edcfedfff7ef8d28c1d6759bcf587bd3fd48a564483787ec6d408e1233f8583ca71d7df8bfcc04e31ddba75e9d2b56b574dd90f793b7e8d14e96ed1dd22c8cc9567e7a33e2cb18b5fa7efa6d5b6d393fb353dbaf2a2fc0f3fcc3d6d53f5571e795d8154beeffd21a474c707426838954bc1a481c84fd1407cd01e2802680f1401b407b407fcbdc0df476a03aae7d9fd1ffcf5a1e7bfdadb35fdb515992b66def4eb0f8bd2c62cc83da162537aeb8b723f59ff43a91c2894c3bb6319194134e25cef578d3071511782df5b7fe8ba170014209d85fc9ac6e9e3845b0060fdffb5d75e8393154f3ffd346c0780bb00790629ad2a48f4c24901288f6be22138eeb5c25df3eab5ed74e64fc6dd30ffb6f7f74eea67afb5ebda77acdc1829c4e983c4f73c17bf1074eb575fd6f70c71efc8280fffa4858483884c1f1a42bd3c27271f7600f9c41f7dcbe22f123b85127c1ae337744ff9e2d3c4d860890714f0453e458e6acb9e01dac01ec39f487fb0b7540a87bdbe21e093eddb1df575f50de22b3263f58508edd7445a6d606d80b837047680c03d10bec86c16cfcb2fbf0c1b4cc030e03967ee1cf8f6844a4c13f5157ce52d29c213df144f4d8219bb73855fe640f28365cf5d7565bbda133b560a295b7a84fa53bf82334e080e54d757bbf65780356a69a3109fe7693fb450a0aa640f3ab0f4081d31a7a05b367f618f213a0b3a3d0df447ffbaecc93d726ed9b6ec7f62298c8ddb5bc3f10d51d77d9b57b6bcb75632a1c6f9f952372e3f3088b45f38e0012575d7ffd88669d76fbcfee87bff032bd74dd4af1020b535c267dd9476252d5df4c87feebdf7b22ee1ed7edbb16cc0dd4ffcdf8323ee8b25cbe08debcf60a7ca4b450814e028932094cd58b4e9ab97efa08be91db41dfcd9cec2cbf38ff6880f888070ead4e2b4ddee4b7f8e4ce40ac22f6bff5b9095943ef541aa730374090effbb0275066a7f2d69fd44177584e83ffd63e6076b84fea36f8b743bcde3919f0fa4bf2f5432934f09ded2dced0784203f20c0a344816ddcfe911ff1c1f685fd09f69f7c4f88f6d036ed81bd42d09f4e4138f3c9ecf7349a2be67dbef2e68e82c399b0f09b2ba6dffe78ceab2bee19f672acd72150fd9e57df7ae7a13e77277613e5843ef4d58ef1cefa3a1bb935bf353b5a7cf616415585df47d705fe4c7bc60a043818127ef5d557fbf7ef878dfd70e7ffbbefbe0b5703d0b57dca409f8b172f9e3b77eecf3fff0c637edec146006060c2e19ec1cb3a778b8a325e66ec1216290cbdbc0b50515151f072ef14da0bc2e9ff7cfe0a7c25ce689cbca9e49c98aaeea72f3ef8e9342cca0a35c7f2a68d864870693fd5a887e2251b5e1cfde2871b564d837d065d92d3361593e476d38faf3e924cd3ccfe609b95be4ada4d9fbf329e0426a7bd38ed91d4d9d9740382b5ecc71745dee4b455c7ebd4f2cf1ec87d6b539128a1fea74d4b24a1696b695ad6add49efef9ada59b4ed989eea24a6bb78825029de5129128c64fc181270f1aa5a17602ea2cf0fd057075e06c7687e5a759a3c67d7ab08af0d716cd1f93f6715ede1b6930453362c4df5fdb03cb73e068f8d6ad7c38e197d31296df7e7c2d6d8c986cc433eb8a2084a811a0696f2bcdfbf8991123478e1c31e6bdfc13449a17a75258e5754fc433c0b07fc3860db01de0f3cf3f7ffbedb7dd99ddf12190c90e2e9dbc6654aab072471984d4946ef99e44ec3c7406b238ba2d474849bd3218ea7dcf12a9de47676ef985262d593b2d6d6db1446f78317576ae589b34803ecf6c78f511623fa3d3967e9a2390832c9283faaa3d9a3dbacb235b4e48f75f98f29727a7ad0523abff6d37cb6b555e094d00794dfea40868d00acc80e645a32044122afda93bf0e58760e12cbc9e845bf34068da8767a884af97537b7bf1c33da265b9eca7e8935913d70beb9fb8a14b97693f89b67874db07522b19fd627e19354f99df5af2dc754f08c2fac9b71b93a76d803851b7ccb5cb1fe9d265f49e1a6bfeaa69b4b1dc92b6a2a892e8494a9dfc62de8f9bd2c48817d7fe04ebe510ae6c8ca27ca23651171add2be3a5f6f1e287f9b54e674df1daeb9ff850c879e2ca2ec91f161395ea7e2d983dcc0822874dce3c06d5c039c081b5b5e2b5b359e98e18ba193bc0767867603de90d42e53e9ae1c6c990cacb4c0b78182d12025c48415cc1d2b7f37f8310d1fc0364a6da1fd72dbe4d724f6fde7f9aa63dba79d1c3f3d6edce7b8bc63cbe68b314e17098f6ac7b98863ebc68ff59b1192af3630ab86bcb87b0448c5f0cb1dbeaea683f60adb368029c52a760b5d6db1b8e6e7eedeff3d77dffd59bd09cc7bcbdc7613bf1de337fa74d7b44da6b7b7ee3fa04beaf28af970a95ffb1cc3d625d51350d0c80291291fa6dcf3ab99f18f1cc1b5f9f85aee39775533e316934a667ef1e3166d6176282eafcf766d11cd3decea32294fa93ee854a863ae2cbcbaa4cd51fb270e4a750203ecc24d07e000ab407b4078600da030f05f60f680f1eed81be81d0277d21a93df4ed67d59af8479fbb31c25e678341adcdaaed3d65f69df05eb88dbc0b556f7ee1e1173efa7ac322fa7297fa56de51485eb46ede7b5aade6e317536fbb6dde86430e47d517cfdcf7ccda9fa8e4d3fb373f2dbf3bce5bb783ac81c3eb656df1bcd4c73fcacbfbe7e362dcc38b76d3c19ae3f4d76fc9ec8fafa3ef4e845f7e5f12537b78a818c0fbe4934fc247a6af911dd010c252527e8005081e1c1a229d08a019030763821058ad9d3265ca2db7dc02bb006068f4af7ffd6bdab469a5a5a56fbef9667e7e3e9f64efdebd9f7efae9e6cd9bb3b2b2a810f6a459f2cc4c09aa0fcd516408158a173ffc8475cde64f9f1db27ee2dbdbe8fe5cd3b6f5276b61ec63cd9d33eec39e2b0a7e2ad8fce983976bc481ab2c0b92dbaacf7cbf72da13df5ff12924bf62fdc4e4178a6a9d76f369e7d0e9db76eedd90f1c0ca691945640062cf9b37e0893784ccdceddb17271ff830e7fb9fcf929195b564d6e0bb7f4e5db377efb7a9a659d7bdfc2d1dedd01c40bea56257ce37a5b0ed0376a4cf99b878d08aaf7f2af8f6d307fbc13c0af0d00202d1505b9af3fdee73f5443d51a529e3688986921241465c795df5419333d02801c3724bf989636565c78e1d3b7ae2344143701cabf9bdaace4ef8ed0e73cdd1acd75f3f3c60eae257d27a9ddaba627331492886af59bcb884843f49c309bf9cd6e9acdfb3666eded1f8c5efaf7b67e92be306748644c0a037684c1b325ecbeb3673f19cd1bd6ad62ff8d2c3667d9201712a85555ecac33f790698d080bd24d401cdb3519ac793e1cfd820246ac02d82f0c6cf26a7bdf4c79c214fce7b505899ff5fa7b3f6fbf7721e4c4d08b696cc48f8eb6261dcb77bf7e6660e9935ee86253fc2685ab054ef2a2a27872980b6551ff87e5b29194d8a0e0a04e1db96dcfbc41ba16bb6ecdcf6ec0d26985c684f38293fe81f74459f3e42cebc2fc9d8dee138bb69f67c212136acf697e707dc01796d6179ed280706312f71380fd304e69f212fb66148cc903e24f9c4c22d62f58ac1ed828443594f8f5b7c7cfaf4d1914ee7b99f56ddf0f0fc4737ff5090bb7cdbb43b56efaf042e8a2710d143ff36294e1052176eca1ddf5defacdcbfeafa7ba7f559fac5debddb32ae5c79efe0b4fde22116893f38ea6f8b1e1484b8892f6d5a3a7e905e32d15953760dfaf48b17a3f5768bd06bddb7053bb7bc1fbe7e5ed68e1320bfa1f6ecf7c52bc7de352161f586d53353574e79491cc55bbf86c678e5f29d07766e5af7c0e55a973e90446c74d3be2b7035bad02b872e7d10b49cb866f33f6feea287b63673d05d07523fdebb770bb4b5eb5fcd83a12a5fbfb56777d3b606a59b484ab788968e0837e53f7aefe294859beeb82288268140ea684db1fa82402693373f1228c05e800119ab5ebe5aa3f96adef2622b54bf03e6dc68829f563f3dfb9d7fdffdfc9b6bd7ae9a32a2ee8d671ff8b2849c31b156959af2df797ec1e1292f67bc3461c4916fdf98b67a2f092ff9f2e1e7dee93d2563fddab7eed37efb6cfa3ae9440ac949724c01aa2af342b4a4bdf84766f7debea053d0b8ca05fcd6ead2533b3e78657959da9c39f3ee88755acdda9ea316bff3fefb4ba7f63ab675452ed727bcf69ad827a4f5fa3d6fc52631bcbee45f0bb234a3677ebceefda573e60ce84c211534e4ce4ea24bcda9aa010fcf79e7e38f5f79f4dae2dc7ffee7983528fac647fac3f449c4fd335f99f7f07590e0a7f79f7ff5b3dfa62e23395a37beb6f8ffca20215f40deab2a2c7821169e949fc5f2c95920e5447e06174041d1a010519a3e114f028de8d07e98c13028b07d0114601dec89ed456a2ddcef11e283ed85da00c5e112b00766e4b4bddb1d0db02734694077586095a21cf6c86b6f85d7c2dd3f1d85a6507bceb4ebc3d7df32dfba2863d14303b41b163c06af8257dc903a44a38948be7f4e46c6d81bba015bd56fa65faac86a37bc0a3ef0ec1b67474c59b576ed9bcfdf97ffce8b8faffe09c21d767bb5f9c8870b16fcf2976733164db9daf4ed32f105cc5cfcf5eb1b0e3c91f1feda8fdf7a797c02d9892d3abe7f96c3147f550ce07df5d55761a80e2e2525851210c2d2507e6ff64cf60280a3d130c10c0e689a46afd75f7df5d513264c58b56ad54b2fbd04c70160a261c58a15cf3fff3cdc0e00a9808d3a18ffc34e0138be0e57bec1f702e460f2970907b1543ec94fce51524bca1fc6e893be2b7de9e6014347de9b22ec3659647da0c3064e1bfcbfebe0afd5ed070ebdb633dd112bbfe88b726a84b89907df9b3c74c0d027e766c282e7f65fce05c7def9dc3f6eef715978efa123603401ce595bf4c14ae181ccd9775cd3e3cabfdcb370518a50e1848ddf35bffcf09120dc7be3553a5d64fcb0a142fe113263a0900fbea04071d3306873e4e8f1da88ab92ae156f1393f4a7fcb0a9db19484828afab44a3c4125199f2a90bca4f12534c544f1896d76cfdd794b434988b9932e32b7ad500bca04b8315ad60d56a139ff8e78a49c3fb0eb87d58574dad16cae174d2f0c96ffc8b84dfe60a7792977b9ab6a11ec893478e95475e3d60606c04cdd716a0d55cf5f027ef3f9bd4f7dae461fd349afd26f7d18c4ac50be325b8c88ee6407dcc7e82baf585b1ecf74565c7f67f1f3762f8adb73c286416ff7eae684db170cba0cee6435b3f12e236bdf98f78a3b1df9d4f2d4f1116bff58d887c842455aa2f3d2c27837c29d05afceee2e2073367dcdcbb5b4ce298056018c7991294e8317a514af1fc2f8e429263f9b38a855977f6b794fce74331af38a3f19a3b9e5c0179bdfdef1a2252ca4bd69fe4c5f477652ae7c0fd6dbf6fe3921bd3d72fccfd7c78f77601010d3b3e9d25c43ddbaf6b70bb4ebd6f13843505a5bcfd84748b8b8b1086240e1a784d5c7860c3def5c0bc70c69844a331f6beb9b943859c6dff3dc7f107c75dd717748b27ec5160cca2893ebbf7dd2792aebde6325de8ed132624c5193b768f1f3144c82f39055a515533728bff71fbb5b70cbf160a414b441ae36eb131265d6b84c30db283d8a0983b48a3ebd8212ee9af71943fa8db5fae811316b1d70fbc26aa83aee690d8d66eb82a3030226ed81061db61da2e94f8040162a151f1f111c250b1741dc02f98160db8d7396fc3bb0f0e048f925fd600feca554a55f5f484598033baaed7ce792e053afc39cb0b9cfa408d56ec0cad073ffaf468f898054f25f70e0f8f1e39edb9eb359a4ddb8f8210c850ab1df6de374b475edb3769ec538f5dad317dff135c4ff0cbf64d5aedd5c9d7449cab0b1a30f27acdef5b7ef1de708876b2c9b9ebef495545184c5f6895b30001e47043eccb9f2c1979edb557770b7586f67ee4c97bfa5edebe5d54dffe1d34d0ce497a459f70fbb06eda5a5a58bb43abd19c2a29feb532f0ea6baf8d8da03f0764a6817614317f7d74d2c86b2303037bfee5d670adb6aac6ead0751a74dd351a4da76b070fb83aa693c67a306bc3714dbf3b7b87363418ba5da5d5167e5de0bdf4a4626879b8da72d5972ad61d1f29955cbfc80f10219eacbda33da03d902e02fb078242d3bf8f042ad189ecc84f6140fb91dacf25f6fb4b4d5df9247b4203356400cf5c83531faad1d4dac9bb50bd55ab49999df7caf8017d078c7f752ecc0e647f7f34b8739ffe519ab06e7dfaf6ed1b134976a7926dd4e20ff12fdf676b34d7cf9b36323a3cbc77f2a3af8f893af5d9fa125800d406d442c4532bde7e34050665b774871730f2622638ecf0f656bcff685dbbe86bafbb0a96e59aed609ffe638f3d065bef838282e0093484a8a4796befe4cd9a399a867ae9001ebe140881b055a2baba9ac602019754414e2c0308f9e1871fe0b237d8eb9099990997088e1e3d9ac532e1404020f3525a3a262a75db55c290982ea246f5b62a4120a7b2b97b0a82ee7a75ddee0163fe67c81b42cab3dfbd991e0b67f43981820049da4312c84267ec9922e6545fbe7bf1a377beb95d888b8b2b16aea0fcc037ace7e5541f9bac11cc0440c894db078be960f9713428a2944f533885e06b16ac7ef6c6f11313170ba9f3d62dfe4752b0fcb3a3e2773a5d25b2d549252252dcf821a12a2d70d96a355dc62c7cf7916b44951a6a2db06c2e9e67a6ccb0f61d10d033b693c50a4bda16ab4603072a881008d76806c5b887b3b4da214f2efdebef53df7d25fd5dc170d7d3731eb82e1a92829d76bd2521c4520b033cd87eacd184eadd0190d0b9487f5498b8bcbaa81b5385895bf33a9fc8b933edcd2b22070ac2a75f6ffcbd5878b67f679d50414ed7c3448cc8afbd66588ab0da2cefec20b52ce21f460885fdd845c390ee45b741ddc90cacbefadef6374118bfad786a75de122125e3baceda06455ebabe342f75fd92bc98349e562a00fa80d639e993730461de3dd7741063cdbfff2cc01e99e4018b69c254a81585fc063220b791ed2c70d1e0896d42dc9d7024422c5a033963b3656fe913033bb04c1be80605f10413c827261ad7d12095f45ceef299e3e7af87d622140b2923c8559162c294f8ab88042b692d342478d4abeb760d1873f7f56fb2c628729258fb993d7ca313c3058a27ecc420177f889f45481f9e48a384d47b6937246747838928d8d902a573dae45d152776bd09732ef7c36404713c3fa5a527870fcf43539184643cafb1d4d8c26f7e326debbffff59f97d75ff74c473af2b537d8b45a63a8ce2a66da501bd9bf9776d79e5fccf7c70b01564df895edeb2ce21692805e83a3345f05eb9ce69ff7fc0eebf3f39e785494df1e66047c6c38bc6e4c7f3e9029cc0838170e2374e0a1d540ca22b6dbd8104b1db103e8050fae58f4ca5707cd01eddb0b359a2b294a30abcdf7090101525f11d4eb9957fefec2ccd5b39edce4bc3c69d64b8ff5ef1404b08a9726904c4e16642d9abf0666c3423b85d6d0a90147031c4e00d25a5b5f0f33c676471d7017bdf7e463ab895201011d42c5590a5197461eb404d293ab2f3e098da521c80f38f080a8bc888f0a109517f15101a2f2223e2a40545ec4470588ca8bf8a8005179111f15202aef85c687664773019a3a18d9c2cb8b99db874bc2abcf94c25501e2f01edeb6a22eeb50534bceacd6c30b215955d1381aac751a584fb5c2b85894e30c90966660d3ef29cd557786d5d691d7f186065de8e51acdb91a78ebd59141598c3458abb5c2ac01f9317786f41d3367dcd1b96b5efdfe6367cfe14fbdf878b2f4a62ecaf5f7d1bb77ef214386ecdcb9139e40c310be71090c0d32e1e19195e8083b1c44075703502f3c413478a1fc749a0042fefdef7fc3ae819b6fbe393131312424e49b6fbe8128ea20d6a3700864518c209c675de1aa84c016dc3969d1c9d23d392b87e42c7ef4939f288322b92048f755994ec0400aea61fdb377be695cf2d3c993df7efbf610a12a504be4c398ace488f85908d85f5c9643576de17207d829bdaef8e4afbffe7a12dc9bf7858a19a8e4d34c636f4ffff578d1868c89eb678df9e217e9a0388d622334ea8512494e464225907ae1a97200a0685bf566b3b986382bddb3222ed3891624aeed0b75369a10ec952e0bc1f60bf2126f5387031b4bebd05ff9c41b5fadfbe09ff7f6b16467bcf9b3b85b9d4c12d491c306c0096ff3d26043560bf4a124233c7a6576d7966077fefffddfff0533bdf1c61be1f9d4534fa9e400bf0c19f90bb1bc57a683e3874f1432a7cfcf891b1c1d2218fba50adba74fcf1c32f3a64ec04f468ecc14ecfffd09aa98cc28c150b3b88edc6a09e3d9132572bd33f9e2c0b8bc8a3478e2e46c150a741eba60b8307dd6cc29f38b9f7df456b21f45ce4b64a379054246342f22c659cbf2226265c7ec44219fec7719be7cf53c4198f5e43b3f8abca19d7b0ac2908587a9599e3cf9c603b098ef72cae44191f142f1f7bf42194838594d1786f4e9e2e2867062e761723b71c500ff99fc15e3e7ffb6aee030b496e543a49d10a29e5582088e8b1b76c5741a0a8d919cb8e01a2330407949a3eb92c1373a9290c7938046da1a38d2dce4b6c6cb6709e47424d21ed871ee0b933b9162a91dc38111c001b4cafc208438a8209d26507036d89c77cc58082bd859af2f3da833c08e2c874617aa832900925674a7fe7b4c1b91705508314b8d0ee60aa586505bbce7b42e4ca87784f4498cd2e912dfcea5eeb3dcdc797d425cf9ba2ba0565df4435e1e155625274719c4657a573884589c76693adb9afbe6acdc5f12ded8f0d5e6b56b2775d158c5a95410cefa0448081d8bb484ecb087c5dfbd6af397ef2e4ceb7a66fb2b1f6c178b2c9e3a70084eebcf8b5ff9c476d78b5f6edebceedd576248ce5a486eaf173b1232470b93dcba108da6c32d33613b185c1f032e6be13d21620c7db8f414fdacece0a334233c7a911ff16136c0130c1646a0fd203e8000da036f068c66b0308246a9bcc8af0244e5457c5480a8bcad191f50151cff4212d2a557844eb761f36e721c57763fffdfa7169d2e79601404c01b9f464f3748824fa7d5e90ce27a3dbc4159eba55d78121be97842fb0c89d21d3f5401a4e8ea6d6775bad076e26a36a4750dca40acf882e9a8d70d7a685eee97ebe64fbce9c4967fadfff91caf9e2c86fc65e18ca0b1bc17b600a4a6a65e75d555f06463769e016a0752b13a6284742f008d060ed82001fb40e00967d1213d73344b9631e5a7b1300b005b03600a00ae7cefd3a7cf993367f6ecd9c373d2cc78094093ad6ba21496b5384ee055945388aa0704d4edcecdfba5dc7ad9557d86c052af2b928a07a6f642f1975fed37d5d757e6ae5b098790937bebc9027c88bede5c9ebf6ae57661fbde439542f055a90f0899131f5efef9e7cba745dfff2639fe0dced06be83d42f198973f3876ce5a6b3615171fad15b390a5837c59d3dab2bcbcfd150d86abfbf5a7b1b22ee42fe327344b0234ac9b89152f4b911231090c6a4a9070ad4e9cb52016203b78eb266320480c8311428bf601b1f04101600602b2e2c29d62b88abf76d7a62fbffff98835b07db4315ca76b2f8e591c243bd9b061ad3430505bcfe50c99521dc4ac6575e4a90155204437c23f7ffe7c7293d918723d21d05416cf2f4123fe8170eaf840a0bb27882bc97177c45e263883ba0c1e4eb8529260c42c84460f18226c9ff34e5e657dbd69ffc6251f090f8c4f320404d443752cfeeaa7df7fcd5df2c0783832d2de296f1020699d215d86c5098b9f5fb9bfcc549cbbe49619db856892278972b990db1f7a52d8bebe5878e0ce817066df19d23d81e655d5d020e775038c82685efb4d655f673c48f282e1a24b08a1e0664e2a993c591684acee9dfc8f82d54fe6ccfa9f699fff022d32f1be17608a63e91707ccb5b595a65f7e3a46ee41640e92c34cd3f653bf416161a1fd2ff7817ae95fec2e6b68b0ec58b33c47884b8cbd8c310311da2906b61b6cdb750c26f2c0cb4c14da63d52998b28245e2bab2dd9f2fdb2e44586b0883ec8810c6edacddfbcd56688c91b1f1ac31d248987a23fb78da291a1d491a142614971c2e27377c84c40ea16ded6865adb5e6f7e262723f20912f3b5194bcd59994eea4583aa736283226be6b3b51259957fa4bfa13d141248b02d3e269ce6ac99497e86db006c4bdf8d2dde085412ee1d7f7ba6b44d8e92f166f3a50565b5bbe6bdd9a02ad36e52fdd491d091d3535ebdefc62777975edf15d5fae39aee93b6a7098d3d16bc8288da670c69c8f8a8e9b4cbf1efef13f3f98eabcdabf0ca74b49aa21d59f2aecd2d34d7fdab88101e45036e82602754473d1398506f2798f33274bf77f9bf97e45e0995f7ea92411aebe02b2a31d0b09ae3d9ebb71cbc1d233fa4edde3219d2e9804027360208cf81df51a3bf40275674a8f1fdab462e5099dce5c45be6769ecd53b30f0d7a325bf83413a02af7a60748c357ff1d22f76fefafbefc70feddf965fccdf8ea8c29f793dd617d14d768c9312c84f7190e1f16c3f14401e3ae447fb417b8056c0830034f6271410ec1f280e680f97bc3d88ef36e4859012f06ce890f8c2fd7d343bdf7afebd3c5375756d75f9ae0dafcddd58aa1d9a3eac3379a782b301a7d7adcc2d24af825bde5b7a5cdb2175582f78273774d4d66cde74005e04c5771df23609ef4b8e86eed726c3cd826b36ecaaacad2d3bb069d117a735c977f512270e6017017c8480662df33b6acb766ede5a78fc5c83b1c715202324802ead90aa604a4a49e4f73d551461151de37ffcf1c78186764d4320924501edb1bd4b434af2da4d4625c4417b80bbbb616f3fa481d9051a489f1002d7b99d3b770eee0b80f906f01e3e7c18ee0b8c888878fdf5d7615c010eb603c0bc40fffefd21161c24247fe0723a69995e9247a3043d3d414f03dbc39a2de527437af9103704c1f225ec0dfe25fbfea98f889c7113b3efa6c7fc89978822f9c0e27d6e5acac034123664e57f9eeda10b0d9cf28230266de047c290892f3c395c98913221e1d0a77f7d79cfb2f0f9cbd3d2e25e58f9f1dcf5f76791edd4cea0de0bbeff58187affd08f668802161cfab407215cf225f5609cb6fefe94fbc5a8214fae4c113f5726fad8a33d292f712c0948719588f15182c043bef7459348911048f60288eb7e2e7ea710a2d5eac9a61458aa1369589d14410e140d91424178a470a7184ee473fc0d677e5eb766dd3a2af68eb47f5ca977da619a42ce0e846803dbc17e021db75384e6e2d284a368a6cc7e684c23fc6021b011e0db6fbf1d366c58686828e56c84dfa37c6de7f82705e1df77247626f97548183a5cc80d4d1437ae3bc306bcf57fcb1e1b717ffccb24ee9e173e9e7d470f10d273e8b838010c24537860ee926784a93f91b3fae0c00461a385205cf6f0aaf7760d7d2425116686ee79e681b8d78e88d1ca47e7ebee182ebc59fdc27db1347187816fe52c7b2ce5fe382e2f48e19617d920c03bb1ba61c84d1cb5704a83cdd45b9ddd6e9d91b3e46c4ada4dbdaed8ff8f814f7cbbb2ee9649c3412d70c3177cfb6e8fcb6466f81b7a5dfa93c2a4f1f16f0ec93ef4e9c0a1533e5f70f69e9189530947dc82cf3f1ecaf34258e76b16dc23cc1833647edcdc43fffe073351c0a747f27d0f0823c724c60b710f406b79f9e57bdeb9a1e86fa4814af6ac251f32a43a371cda78ffd4f11045ae1a941b23b5f6d061a4d14d5635bab89bfe3e5c1893d22ff3859ca227ae716b6bebae0892fb1f512888221943e9ae27a57b8496eeeadffe73fffd59d987fe1d19e2eaaf4436b113a014f784425147da16271fda07e972491c344c5bbb6b1e7c7af8ce8c6fc4890447fda0c7de9850f7fcbbaf4c5b238a1af954c6fd7d426be1be4f0176c2f76cf871c9539f92889ec39f9e3922baa1ce1ed03d25734efdac391f3eb7478c107abdb0ea9a08f9438c9c3a12497255ea0311a22ae449093e150961fc01215a03e914c86c1f75fa108d7ca2034c2969dc035fcccd5afcec1e21e42f77dfda7be396ace73eecbe6c8c96eb1304bddcd2e12449e1dacc8fd78a82c2129e7d6010cd0b96f703e1e280909887feda3b23e79d69ff11a2868cbc2deec89665cf69a72d7d286ed80dedf3b2164ecb0a4959b66ccc55e3e63e1b90b1e4a385f91f897262472f4be801f5c39c427f39d4bd98728c08052baf1c8afc3212880f4102ed01ed812180f6a08602fb4ff6fbc84323d2f87bd436db0bd43ba97ade35d4c58e9ef74a78e6ccb733a77e038b75c45d3f76c6536306d9c9b94f3228d284d93e5b34ed7d312a75d6b2eb239cb686c0ebee1bbb7aeeda579e7af4b669cb1fba46076cf07609c243afbe37e3a99aa7972dd92dbe0976ba79c2b2c9836c361beca585772ab87b4a54c0a997f905dbc9f7dffc840a37de3ce1af7dda919549fe7d4fcc171e6242d9a3fcabe2874bfdfde207e600d8912bc924af9ad214290cec4f9f3efdfbefbf4301200f981760f9c2def453a74ec15d80f01d028882afbec1a5003d7af4801d083065d0be7dfbdf7efb0d18201cb60600c3fbefbf0f833da3d108db29987c2290cb8e97cf32523388fc0df0e53cbb33d860508da920d5c10fefbd65e3e8439fdee7acacd419c28361659c16c76ab6340487c287c5ec3535f6a0d0609db5a606fca2fcca8ffed167c6e56f1f5f7827518ef037982bcd01c1c1a1c1f2f5834c2189818c1d80cd6a86b31f7a83819c9df65d7fe074e7876fe63dfcf0c3e27b3d112531380382db1b740dd66a8bcd253f20d060086ea835d7c2a85d080c6d1feca885532d0ed8bf4f30b1d79a011d41d7be7d3b9927808483b2b5f51cbfb39da17d407d0d14401714aa6d809b0060ae27a09dc1a09538055db0a15da0505b5d6d176f77230a288aefb207068f9aa1517ed86c92b526eb6f63ff06d354727929fe905500d8cc030f3ce0924c2995409557cd0dedc66aaeb107e8824382c8f61649bd064ba5d9191e0ec32637470536d4559aadc1e1e1c15ee4db7fdd7c45e2a4f70a8edfde95b7e7ba1a738353a7370473f660af39572374e8009353a253095479ddd451e3596fadacb1436d06693dd89bdd5a532704d192029ed04ca072b5a121c1cc9c94f2ad3556411f1ca4e3ed8de25f575969378493f605da077560dfe3235d22fc0324597dd5d7996d0d01fa9010b86550291ea655485b0b09d5063458cc76020b496cb75a6c823e845cb129f28b0005419314db9a9b7c961d298e405aae2217effca4ba05416a56acdfe7f83581ed0ced74bc79078518f470859e19ee8f80a49ae0901087d5029383ae06e2148e663f3b37ffb60f97a76aaacf5975c161c10135705587a8933630b85d7040d5b91a584e0f0d0d04cbab27d36e1c5c229bc2b6397da87d7ef8d187e3c78f871641f51753700f913f30a47d3baddd6c26df2aa1f221c3763a87d95c4b35d1040687ea6cc4f0c2dad53708969aeaa0603d9ce0877ec35e5b6db5c3cf89d0ae7d7ba94f08d0851adad5435dc1118f9076760b555bea40e0b85c50a841b0c22199d0b060985aae335b84e020b88342136208b49eabd3056961da176647a0a6831a6acf59ed62e99de61a2b5586d39ed80ffcf641d3befffefb6979a9fe92392958458f5c40666fc8af0009f1716b5f880fb42c6c2f8df49f880ff6b7522f81fd675bea3f3ffaf0a387c73f0cc60f4ed53f040685046bacbf9fb1c2105117ded9a0b1d65a612c0e2f2c964dd3276fbb69febffe167b0e5eed423b04496325015e20437575f0ce0dbbb5eb6c8e90f6edb5762b6c0c00c95a7dbb106dc3b91a2b9c050809765a2c56b22e2f0edc142f60223f79110d74909118bc4331666aa02d6d9fa09b6260c5c927df2660bf9db48b042f7c02a07bf7ee555555f04aca6229515959098705e0b03a24844b03e0938161616173e6cc81055e608040c8e98b2fbed8b265cb5d77dd4543209038d9e66820a909c859cc9c447a724c1f60a0fcf0521e1a04923c24b055c396ff61507b30fb20be72caf28342413392421b1222eeb03ff4fe5d235e2e1e7ecf3da59f7f5e2c0cf9e8c75b613d1db64088fa405d43728f39905d123467582c0f36888bd87eeaefb1bc20131cf9565900d985c2f0b1549d837de36269193e7555e7608e8aba3a731599a311f91b6aabab8016f96d55e7e0dcb5e440884cbaf82dd5e760920b0ae9a8a922a315d1d5b838059ba50a4488e575e943f212ffd14c65b1aebf2afd1be187623ef8d083603f54143c256c4117f90a74975c999278c4da015aac2f12e7459f2018f9f0f209bf16aa17c2a422cb82a5bf44be36a8430772419a6c0f2af9f69c059360897d485758ea9575260ac07049b40d51b0245f1b1216a6d0cd4ffd797b7306040683e630ba851cdcf5d70691e6c7e4833734d84d1faeb430610062183f08045a144d72a119848485a87252f143630c54dba79c07e81324eaa385a9002286c887043ade9e4580b8e2a8e4b3faa5a5732fb5377eca094f707c0f06fcd4db00f62d1eeb12f1246cb5e62aee7a0f87c55c05cce0ea6ace515b01babebe2ea0bce24cf5b930d877d35057257e829116d8516781fb16606eaba101b64a91ab25801fc442114434257b83742433d9fc241e1101a08928ca2d3350e1ec093cb61ad230c131f9364bb5abb5c336b03acbb93ad2b8cf5555030fe468132f75ac16fb0ada9f707d82adfa9c34c95823f28bba910e84caaf335793e970a1a6ca4cf204ca2ace7b9881010e50d437c0241e44586baac91d8170c80272f734034034263775481b97201790cfea970142d9d8532a23c387983e89447e0a11e283f6c01a0b10680f680f680f8000febef066c0e8b6dc3fc05650b00abad4aa7a7fa8ab35d70901a170197a40b0b3ee1c7dada358d9ca03e07d0fa600e0dda6812cea49ce01ef85e42d2bc06a27e323183a49d83a857a6bcd39f2a6a46968a06f4d340919b831fcc9c84e7c3f74d86a61ac26befaf1cc522ec0c38f0789dacaf749894ffed3383fa84410e0de2d993e8ae535ca04712016de17c5e1b49c03f71786fdb04700f4dbb66d1b6c01183c7830d030654033b8f6da6b73727260bff7a851a3b84484e4e5437d908aa1ddb68a4ff6fac5dff39efcada322c2a090a2fe8dc88f7be8937f5f77f8cc394bfd0313fbf6ebdb319894b7117e599d0ba53f4ca0c07716e8de782832c5ff82eb036704c4f770563a77c22ffc0986a2f3517fb67145c56fae36d319a58bac8f8ffa0f9aba35bf7d77babeef57797d94cf971ae59f4fffc09a1583d42f3c29333c997d76bb7ed2849eb0284eaedf9086f54cb448c066289edfbd7f8366cedbb64a1f88aaaaae827e4029d5e553f1bbcb9759414142023ff4cc4c7f6ffcc046137a96cfa249b9e51cc40e938cca193e70a6499cc77071b851f01bd1ae1dbdd5e18fec6f995e9ecbcba2dd08e43f9ff6e806a77fbf17901cf147fc792b427b407b407b68f2f79d41d496db4bbbe0767490c5d0501270f81d5e67e48dc9e2eb8d101034f8c9093d2f8b024e3a1a572511f731bbde0fb9f72bcf6f88def097dfbf94e25bfaf74ef5f20999317dc82c007860cc0fffc08149112f0ca4c10bb0c82f76522061111d743f4ee7edb7df0e437dd8140ac704c04b1d6c2258bb762dbc10575454002b0d64837d5fe44312bff4a1fca19d7bc452d59ad25f1b12d93be13275d1bc97b779faf88e67b76edd4c26534c4c0c640425602fee02bc737bc29fd7e712e387054680222a8adccf497b376a42cdb007dff1e7f16cca3e756065a49ae4a6d1143fb1487fe4237fd3fd8f8f788215d166451a145883dc949addbe42ba25dc14eda8ab238706880ee26ca3aa7ec1eb4d3eccc5ba6c5bd687b79fa86e92c220bc19f2fdd5e722f3d3a60dbf0e52d1feb8fe9628e0097fd6a8a53af554bf7c7d213fe9adb07f6bea7d03ed8d7435d8deb13ff16d7c81ed05db8bf492d072bf2f51dd5d2f57d26f96a7f60851dcfb9ba6c7e09b7a3aeaebea5dab3baadf3b257feb1daf819ef4e553a53f7d9fd1a6a7a7430438e8a7bdcd2c12a3941dece2864301b0aa131717071b01c04b2e3f9047fb50791068b158d84aefbe7dfb7af4e8d13eacbd2640e38b7c391f5ff5b904f8030303f7efdfafd568f541f0c945bd0b6d19755788585ae265afb162c72a81f027e7afb1d4c08514070f1e842f4db8af88fa689f97803dd02260795d55c9f53faec0a6fa2bdaac60ec0d5f3021cd8abc8712e76a4d7eb617b863d30e3b6878094c6053ed11e649a96dc7c7c753db76af5fa670707030282cca268f4ba0bd43d33e517aa2f860312b3e2b9d5440de2fd2eef83016570db22040a9297be0780989fc0c10c413ed81190381a259fd2d2f01f1e4d1403cd11ed01e78042ebe3db0972b781b04c72b439a27fd2786ba5a2b5cfb4fdef85ceb3d345523fc2e062e833f9c1fc6e3aa974fd08e7fff093871e2045598cdbe30822b888b8495ffe3c78f6fddba153ef63e60c00060a60e385404dc1db063c70e78c21901f8e800c4527c19e112ea89626c8cf0c4e50a636c8c70c579a2181b233c71b9c2181b235c719e28c6c6084f5c240c062a7017e3d1a347a1aa60f6a4497e2a87b131c29bfc3f0b3fec16bee28a2b7af4e871f9e597c3849caa38ac988c5031a8bc8c8d112a069597b13142c5a0f2323646a818545ec6c6081583cacbd818a1625079191b23540c2a2f6363848a41e5656c8c5031a8bc8c8d112a069597b13142c5a0f2323646a81868b3824b4ca0bfe29b95377e5572c6c6081583cacbd818c133b8db366363844a613e39d08c8d112a069597b13142c5a0f2323646a818545ec6c6081503ef85e2c35d33575e7925346dd826e6faa1e599943413cb0865bcdac7d818a1e650fa191b2394f16a1f6363849a43e9676c8c50c6ab7d8c8d116a0ea59fb1314219aff6313646a839947ec6c60865bcdac7d818a1e650fa191b2394f16a1f6363849a43e9676c8c50c6ab7d8c8d116a0ea59fb1314219aff6313646a839947ec6c60865bcdac7d818a1e650fa191b2394f16a1f6363849a43e9676c8c50c6ab7d8c8d116a0ea59fb1314219aff6313646a839947ec6c60865bcdac7d818a1e650fa191b2394f16a1f6363849a43e9676c8c50c6ab7d8c8d116a0ea59fb1314219aff6313646a839947ec6c60865bcdac7d818a1e650fa191b2394f16a1f6363849a43e9676c8c50c6ab7d8c8d116a0ea59fb1314219aff6313646a839947ec6c60865bcdac7d818a1e650fa191b2394f16a1f6363849a43e9676c9468fce50a92aaf895c23cf8fe44fcee2f9feaf2c2c81382f8f1392d1e3c69b8aab4e02d2b2b3b72e4c8ae5dbb60e00aaf741e101205c28a167c5030313111c675f02941967193f2fdd5e712e0877bc5c0412d80b1b6597ca0e0e0602f093c796bb904ead7aff685e505b8a80d5042859eeff8409b8206451d6f512d259f97d3b87c280e749530b7453b4c5589981caa30ed0a20090bf7c64f1954b1bee373d1e4834a5076dab455e5a25e1ebd56a8bf0a611e37d41feb0bed01db2f8f00da038f06f60f680fadc11ee03d50a7d3415d00d11af4a1ede222bc3f4046fcdb17cd974740ba1d1054e175625e769e9f86000f3838c70e5e18d8c33657bab0c3f3c3b67f6af48038dc2fd8b163c7f0f070c60004df243cca872cda1a3fc0c89054e1c3f004585814a906d9cb0281003c2f257e5a4c78b6357bc0f252f33ecffe818dbaa921d196f2c7b617aa89b7fa75349069023611c6546d3dfa53cd5b501f1e104ac3d31b3ee7690f281f8065460504e2c99b1f4506f1610d10db0bb617be81a03da03dfc79ed01eaaede06973a297e01219059b5c7feff12e3e7ab8f953700f60230cb8650c644691ac560e239f92846338297c3a7e2c381467e56133c148c66048f1b0de4a318cd08e4e7a1603423101f1e0a463302f1e1a1603423101f1e0a463302f1e1a1603423101f1e0a463302f1e1a1603423101f1e0a463302f1e1a1603423101f1e0a463302f1e1a1603423101f1e0a4633e2cf858fb8ff1c6e0a900f05000125a165604f3e849413f919342281f8000cfc1492121e8545a1fdf0d64281e243101f1e0dc407ed01ed814700ed814703fb07b407b4071e01b4071e0dec1fd01ed01e78043cda8378220036062a47fe74819a3521e69508e497cf2d03440456d98bf8509b6180203ea465617b911b08da03da03d800f60ff407177f2ff0f702df1ff0f711fb43ec0f694f88fd21f68717bf3fd44e993285b7bf4668da50e9b311361685fc0c0a8f04e2e311161688f830283c12888f47585820e2c3a0f048203e1e616181880f83c22381f878848505223e0c0a8f04e2e311161688f830283c12888f47585820e2c3a0f048203e0c16ddca952b990709440011400410014400114004100144001140041001440011b8841190bec8750997108b860820028800228008200288002280082002880022800820021401f2e14474880022800820028800228008200288002280082002880022d01610c05980b650cb584644001140041001440011400410014400114004100144802080b300680788002280082002880022800820028800228008200288405b41006701da4a4d633911014400114004100144001140041001440011400410019c05401b4004100144001140041001440011400410014400114004da0a02380bd0566a1acb8908200288002280082002880022800820028800228008e02c00da0022800820028800228008200288002280082002880022d05610c05980b652d3584e44001140041001440011400410014400114004100144006701d0061001440011400410014400114004100144001140041081b68200ce02b4959ac6722202880022800820028800228008200288002280082002380b80368008200288002280082002880022800820028800228008b415047016a0add4349613114004100144001140041001440011400410014400f2862653000040004944415411c05900b40144001140041001440011400410014400114004100144a0ad2080b3006da5a6b19c8800228008200288002280082002880022800820028800ce02a00d20028800228008200288002280082002880022800820026d05019c05682b358de544041001440011400410014400114004100144001140047016006d0011400410014400114004100144001140041001440011682b08e02c405ba9692c272280082002880022800820028800228008200288002280b300680388002280082002880022800820028800228008200288405b41006701da4a4d633911014400114004100144001140041001440011400410019c05401b4004100144001140041001440011400410014400114004da0a02380bd0566a1acb8908200288002280082002880022800820028800228008e02c00da0022800820028800228008200288002280082002880022d05610c05980b652d3584e44001140041001440011400410014400114004100144006701d0061001440011400410014400114004100144001140041081b68200ce02b4959ac6722202880022800820028800228008200288002280082002380b80368008200288002280082002880022800820028800228008b415047016a0add434961311400410014400114004100144001140041001440011c05900b40144001140041001440011400410014400114004100144a0ad2080b3006da5a6b19c8800228008200288002280082002880022800820028800ce02a00d20028800228008200288002280082002880022800820026d05019c05682b358de544041001440011400410014400114004100144001140047408012280082002880022d02c046c855b724acd7abdde66ab32d7ea0c1d42f482cd2644c6a724c5364b20264204100144001140041001440011b8e008e02cc005871833f01b015be184e1e9871b4d161818119f9494326a744a4274a38c172ab2e4b3291397ef63d22766668f8b35302f123e22e00d466fe13e8abd186c7f062bbdd038980b97a5cfcb96730911048b4c0bb6f7734745eb9917094400114004100144001140041081d68300ce02b49eba404d5c08d85ca467aabefeecbebc6cf86f61c4f0e51fcc88bfe803705b8599d74ce9e3632e206d2a58b3604da15e1c6ad96c86d133662419ff64e32e6f307a0bbf8068ba896e12ded66fa56e656ad900d3b2696c0a40e89efaf2a48a69b3f2ea691e19737352568dfa939963cbc283d210014400114004100144001168ad08e0bd00adb566dab65e7e0c1ecee64e1e39a54831246f2bd8990a72f6eddb49ddbe7d7985a62687a56d059916296793f0b6712bad2858932b0df901efc0f1a31312c78d77217f3823c7e4f2218508200288002280082002880022d07a10c05980d65317a849b311d837655941b313372fa15eb9fb802ec8374f54b353c169ec66a76de5092f4578ff002bbd90b56cce59e6da0820741f9f6814f4b1c9c3b82c57afbed8ad92cb1c494400114004100144001140041001af08e08900afd06044ab4120303df383248320ae74dbcce68ad2829c0599dc32a420d4e7ae2c9a9a187f1107c5b1e356e58e666bef97f078fc8fb1823f21bcadd14a2f60e55514ae3ee112df7f34345070c65123bbe7654b116773d794cc48c44b025d302185082002880022800820028840eb400067015a473da0168d21101d1d6d8c748df0a3636313929313ee19bbf0ac2bd5e12d45e6f804c502bdcd6c2a2d31992a4c66382f60d04746461a0c91466374a482cb250228986128292a3155986d7abdd1181b9f406ffcb3c1ade792f361bcefce6d3695148158221534888e8f8f35b88a234b96fffaa43628a4176042444e44fe9a4939e1ae76c1a38e048cd2525234110c6334c0e8f9160197fe4c90d9545854546a321ba213927dbe8e51cc112a0072846247422d423d7a2f375f145fe98ad2a21252269205001b0b45f284acab4432364dd488fff00ac29fc04afd86cbbb0198f237ba4e030881a312a54b3a63539284ec2cb9fef66d2cac989a10297bf12f2280082002880022800820028840ab400067015a4535a0128d226023db0054c34763f2e8ee0b33b9d5485e4245d196050b16ec3cc18d53b8e8ee83c7ce9e3d497da3bfb968c99429d987554902c7ce5b14f959baeb6b00ddc7667f3009a6118ad64c989ce9fa8ec1d8e5d993c42b0a8b563e34394b56abfbc4f52be2973d949ec74d57504586a52f9f3d2a9e538a90beaa6d2b7c6878ba9c874b46eeacb1b9a22f35233b8d9b1031157e3673eef2c36e3ac059ee6163674f9d44577125390afd2326e67e3eae60d99459ebe5af2104a6267e9de67d164512622af86ce6cce56a2c4964c4f0c9b3d34673ca4929d47fbcc1cbf88a7296cd5cb8debd4c11fd53e7cf4fe36f8b5494c8971af1135e59a5d668a5b26e4233e1f26a00b6fc8d3b99702162548251f219629362842cd63072d6144e4d487671228508200288002280082002880022d00a10c07b015a4125a00acd4180adceab13976c9c9b3a799eb72900e03eb1336ba2ea42c18a8287464e769b0200defaac59e21440a09c0bbb869011628c6bb3003f5d71223375a487290048919731795a4ea92c94fcf54b6dd594082f4749dbf2973c3436dde3140030d6e765cd1a79fb5ce5dd8a9cecc8d2d573ef714d01400a1fd6f2498ed33d4e0140fab3b9cbd347deb3a4e96be3bcc20b422ad64cb97db2a7290092c1bef59347de93a3b828912b916f35c2250091e7e3fe682b25ba9f075c5e0da0349f0df405a17b72926bb95f1f3f7a306b2d42fdcefca6ebfa7c00c6b48800228008200288002280082002fe2380b300fe6386295a050215259e8617e692351333f2540a0606ba862572d4be251b4b64ba62c9dfa6bb2fadcbb1e25fd51601455c333d3b17ae6625f04f6d9ba03809e0963f1b7a16ae9c304b3ea4edc62507d4e74dbe6701d3440e15ff1ececd72dfc6a0e0507b600dbfe91ccf668f9d96c394548b68c26fdb382535735fe3f57176e1d8270a95f3084d4815a3a51af1195e1f64fee1567a7e7079330038e1c215de182bef041003a31567460a4bfdaf084e369288002280082002880022800820022d8f009e0868794c51e28546004ea9af9c962e7f989ce61691104d36aa97e4e4f0b9470c4b5f31759491c4980bd7cc4dcf746d633e9c53601e478e05980b57672b0795dd874d9c3a2ec9602eddb87a6e7613034e3e376f74ccc4e993e28d151be72e548ea9f3b6944c1555f057edd12b32979bf542c192c999f2567dc8bbffc485531323e188bc919e76a8c89fc6ce2688aa05c68c9c9d362a3ad256b87175c67a171470b9e282cfc62d1d2d1dedf6560c12def888ce5c30933b2541f86386cf8322ea2bb6ac599699c72d1fef5cb8b1347974b4df8beee6c295195c91e188c1c8f4a9a3e0063a53e1b2690bb9ba3a3c6d59c1d73312890e1e5ce33512ef13bc1ec42a825a8395b6105c5cb94403805b15f816132b363d1793c248ce169498131b3b0262d99f5f506177a596288d2edcd833a15757b7087f032c85f90595427862524288bf4955fc367345954d1f16295f3dd172925519b9796d27f76f3f54a10bef99a4986171e3a3016a3dbdb0352fb849e12a065bd9f6ed25365d4be02f8880db85c85e89fdba2a2a93e223c8b99415e69754dac3631313a2146c62892f5ead350f604c8508200288002280085c1c047016e0e2e08cb99c0f0227d247de1e1101b7df1121f5f5fc0044161b332e916c4ab695142816f5a74a53001065481837292673a76b244ac509b62dfc07cf607b736ac6076909a2dce8a94b37c54fbb73e14e4f39ca3937f13770f8fb5fcfa0c3eb84cf130cf78ccde6ceb25748e3257fd5d6c3c58524dfc498cc7dae02c527c44773b71d6c593697d73b70f0f44d8b52e8b03b3a6d5152e292d4e9ae2fbded5bbea464f4d258cf85e93f3d636a523c0cf56c66b8e7cf330f092d5cb98c2b1c4c014cce5e355ae48f1e377b557ce443e9eb5db5935f681a1dedc3bc83223bd3cab9ebb9808859599f27d3756863cad2af13e6de3e96cd0d79fd6c44d335e213bc9c1a946c8556da127091c2a90da0b0a0802f3e771c860447272572370308703b27b43e9e5f453b547eea75d82b4f1ecab7389212a23cc6fb1ee820530c0ecfb9f82e45102ca643fb8f5419a2070dea2915a7a52437a9859daaef5b19dcf56c52beef0c4d0a573350d51d826fbafba488ddae16c6f0e1231c8dd439cfe7539ec88408200288002280085c6a08e02cc0a556a3976879eacf2ac697ea524e9e314a1cdfea47adc84a84a1aa146f107701508fb92867a36bc4ec1260e24f38c38067b634054039f42933662f499dc50fa75d497da086cd1e1fed62338e9b34387b21b7082f4535436d921206e5bc530ec6cc2585bcd611f3674b530034496462dae4fed9ae5b0f857d8525b6d858193997dcfe19d94be5a5dcc6a600609f4041be6b900f570fce5a44a7002459300bd37dfd2c93783a03a672c8c70cfc75b0bcce9941e0b019d2148024c7387e52ff3c57913c7c3602187dab1122b15178a52c957f5a9995b6045cd022dc0d40cf5a18297fa0976f4d48d81492a33b8a23034ad0245f58f4a0816c746dab2c395074b2ca66af3c566a8bf27fcb089f4370cfdebdcc42b0fba230cfe40b1dac2307e8747ad6465a4c7293b9fbf53beda66793e2fd606852b89a4156fde21c3ebc38b9f88117b2220288002280082002ad1501f927bab5ea877a21024d2290ba306bb43c7cd51b8c747bb2b902be8c5798bfa5b0a4a4b4a4a4e4f0096ef8c84b043ededb3d5e3d5e894c18152178b88c9e4fe5950e4c8876dd9b065c91d1b0cbc07d160056d8fd54db6b8e7284ad249f2f71440a7f6dbec8a44f488c11b8ad04e48b7e8ad11de1ea3f99ffda802cdce35f5b698122c751e2ee0c8e3532e9833cf5950d5c74d3a4b954b1d3a33e6ffa30853cb8fd819ff8100a0a4a8404baad8309f7b546588296222ebe95b6045cbe1880e2339eee7035b60d80e7e67e8b34faf05e037b576edd6f11043bace49371b7e5c8fe22539515567d611d57a7d10487470fec1bcd467d15470e949cacb49265628d3e243caaa3e6e4c9aab0d841d09e4d274b2b1de191c6c810477961c1415bb031baa3b5a4a41c046b341a5d4864ef817d2325415e7221094b2c76326f55756cd78e520dd1afa35f9205ef1ab26905171ce562716c501c8d461f1cded140f63370ce2f3d41be177e4e22477a61f60c02a7bc47863051b0c6612a3970ca442ac80d73c17cf250d1b153a4ee1c1a9d3eb86374afde51e19c3e1794f45258a1b2b0a0c86cd745f74b749d77b199f6ec2ab1ea0cbd13c9d72fbdaaed30edd951620fe9da2bca71e8a0c962d7f44c1c127dfeb350171406148e082002880022d0f610e0debcda5ee1b1c47f760462868d9d9a36295e31d0164af3d7cc9ce5ed1b826e25562e6b0a460feb8e91308ee1c7b76e32bc0744472b2fd5b7793f58ef9fdadeb39463f4808a6b69de209f6596a3e1af31018ecd7bda1ec1f124bacd8a70912a52b9b81fa99e4e51715f00af620a80c8f7b0dbc08f1a69290d5bab95fa0297e08301b87d22d1dcf8e5959e71d5086c442f32582ab9da731c2c2830c1940071c0e680f1a2b9fc484151c875f11d21a8bca8e0c029291a626d968a23a58455dc6fa2b19aad56c14af6805b2d66186b5acb0e5692588d06ce09386ce6f2fdbb0ede98d81b7c5e73898584563a1077d86d5618555b403bdf2537ae213790267a09a6033b0e964326c46940434bc549563812e6af9e3aafe512d123225dce5fe19cf2764f28d159007b556919c9c30d73a1b2644f6159959c3fa06b3195145a1d83e83d2f72f805faebbdb0f1613abbcd6eb3951d3145f793ba327359196c4f111c1af841684c6dabcd02f337b6d242d1cca0d0aa299c0b5418148b0820028800228008f88500ce02f8051732ff2108044ecc58911c2990b56ad9190c91b0b8c7bd814a11a539d31ef6b0e59ec4aa578a690a71082325863f25a59089bb5817837f94db00c94b72bfd5f622a791600fe5e2f0f492b03bb90dc067a7c24de5f5594c8b312a3e172849f5b546fc57e2cf6ba552593dc1e58b01a826d2e01200e5b49c6f50da2c55368bc3261ed8b655994a8e948963275d48308cb98f89637c5dd7be037b758445554769e18e2395369b551c1cdb4a0f8ad1211d6307f58d82c17cd9815d25e5dcb899cc1b88730cece72e38b25f623f58ff379fdcbfeb50856031c3782db2915cf4d1436e8cae3ab6a7b0b4ca10d56f50cf70329c152ce28c840f929bd49087c872a4449c02088eec99d88f6c76a83852b8bf541a5012467ff5b41c690c3d3eeb6608e7937b44c9264f0979c4dc5656244e018474ea3528beab062e7629dc555669ab3c525411adde4bc467d5327423480a1d7b46879797802a27cd023d58e6283b458e6019baf6d4dbca7635a236333341136eec116dec188e1b015aa6c2500a228008200288404b22e0fabd6a49a9280b11684904a2e3e31b3f7a2c67662b9aa99a02e83e2c7dd2a884d8e8c848b8d9bb64cab0898a0be6219d5eb9667eb6081611e36579e4afb9f033d7923a1fd1727433d46e3a73e5a976e92a4445b2d2a20285ff3c3daaf9940a32a8544e04980b36e6986898cd16199f9ca4dac5d1a402aa698b61d3b32625d8f82d087ad7a16d228cd4ed4573adcf4a2f125c874b4acd09dcb5942ac4959757a8225d5e8be9e076c5e11c126588ea6584717070587898c1a1ef244e01c090deaed1c12f970d62c0594c646fbfa0ef284e0100a589ea1b5f9ebfabd2eb0aac26aa1f9902000723baf0231595766ba545886c341718f5ebf5240d6cd017a700487237e7597270b91f1a5aca45c5759103c52900c822123e9550b5fd10db1be1af9e8df2ab8bd0287393207867f08a0c31527d27320540ce7ae86313e22bb7c2573e2d65276d915d95fd875ad7f3f6375ad890a8e890924a8ba3ea58b9a36f4798a038492767a27a182c65258da94db6a71017de137634e0040005039f88002280082002ad0e019c05687555820ab921e0ebfaadcd54a218b0c74ccc5e35ceb5966df33414d6c72a4fc7ef5bb0ac50fe46002862db38776e334f03b815c35b4073d4f6244bf1ca0ce58a100e33d5cfe614564c4a520c8acd85398ae300d11eb65678ca8684d92ae4cf1b8047af379003070692a3ebfa85b31b0b2ad2600787cb99f2a7672c67dec091b15ffb390b20e690c5ca1428188c46d5b903584b2c92879d30a250c5b2cc9b4328e0f520a0d559e985834b31f3023bd865c4292a2aa09212b9fb313de026076974c17afa7b448683705ebf53cf5e3dc9ca3f8cbc3bf61b1876b2e4d0ae82ed56ab4d75437c450559f687cb00e8a48028ced0d1a0abf4360da031185d43332911c9b8d15c44b1f4216e57e0fc2ed28b64bf34a4ccba90701ec68e1d435cb300feeae92bbf580e5f99bd8320c1a164f08a8c683ab653df6d3de58251a4604b3d742daac026bc9c0534c149a39b286c247489072b6c957098a16374e5b19330ada40beb0ad35265b4f7f3aa36956ee88153003e55033221028800228008fc3108e02cc01f833be67a2110b05594f262bb2b3f536eca578e7a25567df2a8c19919ae1bfb4eac4f9f609e9c363a416f36e52c9b9b7dd8edf8349f474bd0cd52db43c6156496834d7a18121223b272d990f9ecacb99f652f755dda5f9ab3447977c2e0040f572278c805828a564e989cc5cdb7448ccdfe7c9201bec59818b1de9563fdbc699f254a5f0a8444b69c952b7971c949be0d0ef934066352a0902d57487ddeac35a3b2c7c91f30208a7d366db2eb1b01c2f4acbc94969b0750c2cbabe51fddacea6e96955e30b88cf1f102f7d147e5060ca1b4a88847c4a08ae6e3383abc277cddddcba88f7e735e6486ebe3420c213a6b6515598d25ae91efc15106f513aea7530789fe4673f198421de845b25f1a52663bb914d1e5a42fe1d1007ff5f48bdf2f6697824d515e9061c974647387e4e0c646a854bdf84506394cf1d75d982bb182b1294f538535f6ec74a8a2cc5e65aa14a24f8a674c227b44f1421b535ba7f362cdbc00a41101440011400410813f0c8166fe7afe61fa62c688807704f4918a81e589ac253989f393138c7a9bb9a460cd13f3723d2635a68c8fc9d8c92f8b1fce5d9eee99d7a380f30d6c9eda245736e41755c89d35b628a6bfbec23c6ae98a51d1fac4b41911b9d3d93480b06ff9c87b0a607a2336d256b07165561e378c1784c1d3a72ab06ba24ccaf75b598d24558e87978f7ca8687ada28a3deb471c942658631a3c835dbfe3ae3a4f923b3a767b36499e923b70c9f382905a66c4a73562fc9e5a76cfaa79fef14805c2e9a9d0a5ea683bf44f3aabb59567aa1e08a8c8d1504570b292aa910b84f50984af8c9b8ee89de0f0bf0d0c12d78ded67ecb4bcac8905f17de6f48827499bfa9702bbde24f10c2c282852ab3c34eeeff9387f79672b36214cd67e48d6e3c1796ca7d08caa2bc117e6918191e7ca4ca2c38f8e2c0b586aee2f8aba78ffc54791f999b04a149069a5d7864885059a531f44c1ae4ea7ecca62370e8dec86dd850016ba9a812a25cdb3920b6aacaaae2f1c5db74610d3d3b06979db25a8e1d3a48ae83d485f710edaf09b55d75e58b16c8830820028800228008fc3108e02cc01f833be67a2110d047c7c6286ebd3fbc307dec426f39b1319e3e7e69c6d891e959de1849b8e7ab051b4be17b5c33d51684e8f8044571e1a30087c9bd07a515360116f60d898b26f79fc8ad8d0b67772e9fe7daf5e0d2302275c6f98c98d98670f71c4fe42d9caef89a1fcd74d8acf9f1ca990497328d5286c4499363b297737336877333a7bb06a42c71e0f419a398a7794413f0364f288c742fa2955e20b8f4c678bea19596c20d706c14672e2a724d3d0981f1f46ab5e6a245d259e8f5fcba60690ac051515822de96272eea87770c13cacc82f554e111e3c09e646ae9e48103de4e0334a246e3b9b084968a4ad51094457923fcd2d01019a629353ba03825c681b1e24c99f9087c6f8e09f7574f1ff9a97c1f999b04a149069a1d29ec912a87f9d881931dfb761507f696b2fd07c915ad9a4e3dc3c359a12911620cd75796db6c15870e9405f795bf2608374a1c3c456601f461de670e549244af0f85d5f4880a3f55525979925c5911d251dae2df84da8a090a4f1963182280082002880022d00a1090d74e5a812aa80222c010204b7fcd71f1b3a70ff635dd8922f2b2293a43c2a4ece5d36360a8efe6464e9f37b67fa0eb3bf491cd58c17613aa0e68aedab149fdd5a214fed8d14b3326360548f7d4accfd3fc2c950c9c2237e211736c5c2921666cc6ece466efd4378c5e953516c6a08dba61d3579dcfb406956d680a5eaf2834aa1bdc3e7911adf4c2c0a58f4de1aae02cb9f45176b6d28213320db3674989cdae69260596c7096d357db7bda0a060c777dfeda7837c7be591c2927221bc57741899ceae2addbff5bbfcefbedb7a48fe4080faeb83749116f60cb8398869221748226ed68721e8d6addfed577ebb4f6854b21f1a422ee1bda26871caf643797715ecd8ba8b7554446f7ff56c9a9f48955cd3cc8d804065a8181a47c6102b16d6517ea8209f16b640bc782fb853ac7a0a804837c6f7144dc1515e52f85dfe8e5d7bf6146ccf2f3868123309eed1db3f5b6bbab030f28f625f49d17515e798881ebea8ed800f53a04304100144001140045a2f02380bd07aeba62d6ba65c278ef4ed6431012c3a6551e6acd40877ec02bb4f5c98b930951bbb084564cd5c7686f894555fe76567652e9c953e195cfaf4791999d9b9795353920c15f2497460963f7ca58f647b09880897cfc0872bcb01ab557a3e16bc52f6cd54db90b0747d46eae0ee92144f7f12c62dcace9c373cc6032442604ceaf48cdc0fd214efce8dea4f73804bf9145929674612c62d5d9f396b98a71c036386cfcbcc5e3509b63048ce1b8cdec2c564c649abf296cf1aeb71d6a6fbe0b11959d9b353d8d234bcb2f398cb883305bcd408896f0a5ea5acd668a52d0e17832d69dc30991684fa2d05f23480b9289fdba82124a7b8eadac5afa4e88f50237bc80d3d61430119e73b6c168b05b6caebc23b458adbd81c55556491bce7c0a4d84e0622c7414ed0eb42c2c2f9bb02219ce6a113370f78f8d1d3c0bd844de612029bd4a5cd73e4fe42c9f92019389bd650962732274689131f505eb3c50a3bd18383c58cc5bcfcd5b3497e2ee7e682c08950a3d428e6b4b0d1e297f4ec5261a1fa3af64b8cf7504bc0ad315e37a46fa4580d7006c40cd56f233300709962efc4eb549f1468c4a2a83df8864c64d77011fc10237f6d45cf8189ded51675574f41711821890820028800228008b40204029c4e672b50035540045a16015b85091c19e5c3c03b12ae92770dd3d51955147eb6604d913454341b46cd9ecadd3747be14f8d0c874b6ba193132e3f3a94d0f6cd479f8eaf7436d95489bcd2c7d320f0acc661778269bd9642a15210150c8edfa8d60c2a76b3e6dae28853a30d3a916833136da089f1268516716ab99e600658a6ef91c24759b86b739e5f2a3ba5bc44a5b122e65bbe83f3973e9e858c0a070c93de9d9ec44404c46f62a456b6a0e4a521a710ac066d7e9c30ce210df66a9b4d860bcaf172a0f1d2c73041b7bf7ece8b01106f8a2df81ed5bcb6df0a9b6447f3fd5e63517cfa352dfcae36896860e9bb90aee038011ae8766e3af9e7ef1fbc5ec1b044d72d9cc95e4f2037d4878882f9d84cd5c5e41ef7ed0058745aa277d9acc8d6368aab08e03dbbf035b8aec35a49f6a9a8108f1536d2e5f241101440011400410813f16016969e38f55027347045a1a017da4311afef3456c4549fece9de4383d757933a3b9bbf4cd9fcd9dc6a6008021a1453f3e27e7c9fefaa1364b43096f637f171b1925c7fb06892bd1795186c8e858e5858de725ce436298e0898d546e4cf0c0d502414dc3db9c4cfca8ee16b1d29684cb90307e70e0bc9dd236997d6bb69847c33580a68dae2900b87392ff80437300e2d3c0b7000d7aeec8358c17a9d75271f254b920945becbdfac6c240cd5252b81f866d82106c54de21c74bf3467bcdc55b025fc2adcdd250a337283e17a8c8c95f3dfde2f78b59a156f33d8d15d68354bda1e3f95f3821caf55e584b79b9d556718cd89226aca787290048efa7da1e4a82418800228008200288c01f8300ce02fc31b863aead0781d8a46481bf420feed21fb666d8c89458a36dcbeaf5fcadf38210333ae9628c395b0f38a8492b41a0155a69d2a4f1c2ce4c099fb39fe59b2625556ce4af829c3829e962a017d2333afc6469a5bdeae4a1ed270fb11c0d5d7bc1a7dd5b856bfd1ab60a985a991216d38103a554a7b0a85efcb1a256a628aa8308200288002280083407013c11d01cd430cd258640e1ca09e959fc7166cfe59b98a1f83abd67260c45042e0c02adcf4acd2b1f1a99256f9581c332e34bd333d8ae9a98c9b9ab46fbb2b9bb45d0aa283b547aaa0a0e04c0c5003abda16bcfde5191172d739f4ad0fa35f4a9186d87c9515eb8eb884dd08474ecd1b767c7b6536e2c29228008200288401b41006701da484563319b40a068e382c9191ebe3827250bec3f6bd5fc64765d7413c2301a11b82008b4362bb515ad193e59de0e40ae5c6397e609e95979a370dfcc05b102148a0820028800228008200288c0f92280b300e78b20a6bf7410b0551416e46fc9cf2f2a31d19bf6e0dc767c7c52727262422c0e682e9d7afe7397a495596969617ea98d5c4769abb1da02fe9fbdf7018a22dbf33d4f0f25d45e6a46fcb3d77a4f54e652fbe0b13543cd4a0b2facfbd63fec8558f1cf3444887fde486c736df76ac455bba335a2dbeee9db3dbbdad1b6188bf36ce5bec0bba2d5b3d0e1df5998006577cb0d507c51c41006f55ed544a13051ec02e28d74b6c0627acfc9accccaca3c5955fc1194fa6677549d3ce7f7f7734e1a9c9327b3fec042dfed462f1e8b6dc3eb7d83c6dbdd87881e04400004400004400004169600560116963fbc83000880000880000880000880000880000880c0fc117843de9e347f09c31308800008800008800008800008800008800008a42c01ac02a46cd72371100001100001100001100001100001100081942380558094eb72240c022000022000022000022000022000022090b204b00a90b25d8fc4410004400004400004400004400004400004528e00560152aecb9130088000088000088000088000088000088040ca12c02a40ca763d12070110000110000110000110000110000110483902580548b92e47c2200002200002200002200002200002200002294b00ab0029dbf5481c044000044000044000044000044000044020e50898522e6324fc6613f8877ff887373b40440702200002200002200002200002734ce0673ffbd91c5b8439103026f0ce8f3ffe68dc8a1610986f021890f34d1cfe400004400004400004400004169ac03befbcb3d021c07f0a11c02a400a753652050110000110000110000110000110000110487102782f408a0f00a40f0220000220000220000220000220000220904204b00a90429d8d54410004400004400004400004400004400004529c005601527c00207d100001100001100001100001100001100081142280558014ea6ca40a022000022000022000022000022000022090e204b00a90e20300e9830008800008800008800008800008800008a41001ac02a4506723551000011000011000011000011000011000811427805580141f00481f0440000440000440000440000440000440208508601520853a1ba9820008800008800008800008800008800008a43801ac02a4f80040fa200002200002200002200002200002200002294400ab0029d4d94815044000044000044000044000044000044020c509601520c50700d2070110000110000110000110000110000110482102580548a1ce46aa200002200002200002200002200002200002294e00ab00293e00903e0880000880000880000880000880000880400a11c02a400a753652050110000110000110000110000110000110487102580548f10180f4410004400004400004400004400004400004528800560152a8b3912a0880000880000880000880000880000880408a13c02a408a0f00a40f0220000220000220000220000220000220904204b00a90429d8d54410004400004400004400004400004400004529c005601527c00207d100001100001100001100001100001100081142280558014ea6ca40a022000022000022000022000022000022090e204b00a90e20300e9830008800008800008800008800008800008a41001ac02a4506723551000011000011000011000011000011000811427805580141f00481f0440000440000440000440000440000440208508601520853a1ba9820008800008800008800008800008800008a43801ac02a4f80040fa200002200002200002200002200002200002294400ab0029d4d94815044000044000044000044000044000044020c50998523c7fa40f022000026f3b01612c284c12926eb12eb7bcedb9207e100001100001100001100081d74d007b015e3761d89f1d81c9274737cbc72f4e0755c6c6dcdfca0d9b6b2f3da12d93be66a9e6d213819ed2a9918f1e4fc7544ab32bcac11cbdc6dca90f8d6b75132b1b2b6a243576a695c2b484357ee7f234e964e7c4a93e6b4d8d06e99c38d51a8993729c26ad15d579acd6a4ef9a38b08f3e19f3fd462a292330f8f0e3f7366fafdcc38ecaed9b7f517beb49d2035ef6a25c479b37ffe217efbd57fbf1b79e205d5498c9a1832f45bef99a7849cec42274400004400004400004400004e69a005601e69a28eccd3181c9e89ce655dbbde85c62d2dd7c5b713539c9262d9342649580dd1725c477ed57bfa447ed35b6243037472498b131ed1c49e35aeb6d72f2a958f524d1e44a63675a294c4b581be15c9e1b529a4b27b22d7dd69a1a0d52596f6ebfe3a41ca7c93886d80133294817c1d8e4a4e01395220369d27774cf8947cf55765ef9cf1dae7647af195513a718894dd5f2ead5f3e7fe47b78fedf9541ab1aaa6a48a5af893918b4f77c524650d42200002200002200002200002af83009e08781d5461732e09a4ab8c35b73ed95bb081554c3eb9d5ab6a108b1647cd95cbe5744160b98ded8bb62c5f4ec873625daeb6a0d599e6b991298d6bad554bc15f5fbe4cd7262c6b6ddaa6d8738d9d69a5302de158b7737c6644698edd88e6f4596b6a34485f470cd4669c94e3341906133b60c414b60842fa5aebdaaf2f9c1ba3435b1c484f5beba58b604dd9a9bf3eb9e149fdd1132d7e425e35b63e71ee2d3034ae6a9063cb3df6e5412b991c0b3ebc76e1f63326f0a8f58970b060dacf1768e02baed2d365574a150a2000022000022000022000020b4400ab000b041e6e6744e0f9edd6e0f10d56badbffc93d3addd11ec1278df5cdf4e663f9f10f9ed4ff2f0f7da2c8b3e65f1d7d58b0e3f8f12d6ba9fc93d6fa6f2fddf23f7f45c892c2b283278f5759d3c964f0dea79f5e9bb41454d538ee7d7bfafe33d6faee9ecf3e3be88c330d9a0cba3ffdb49958e80e840d5f9f74c8aebf72a6d3fa6b6316c7f193e5ee6f7f73fdd1b33de7fefde4b5ff406faeda761c3fe8a4e1139ffb5afda5e6de67f436ee9235b9ce9ae347b614d0350b426698c2d3fa8fbfe5e42b3cbd565fdffcd0f39ce6bb64c99ab5ceaa230777385800c4a0691a280c2c30e3aa238652ddc174d601d7dc4f9fbda2112d5be32caf3972708b9839d39966efac6dd4665d9ddeead27228082a5db325fde1c79f364f5a963b77387cd7eadbfc2c88edc7bf3e5810fccdd1df3c7afe6ac99265ce9a9327f76e90e6ac71e289e9dfafff2755c67438a906c6d7e2a295dc1cd3544727defc94e93868be74293a6084314f6bf3ad879ea774c02c5bb6d6b6a16a6f4db9c33af654ba61bfe4c8912d74a06ed8b281b0550032a6dd72126cae6fa6fb03966fa8aa62578fee58b36587538ad3697d72fbd87d516032725dc4647aeef64187c560f4720621cb503c829ed66f2f35deee65035e7d65254b58f41bb1852f100001100001100001100081d911c02ac0ecf8417bbe09dcbff5e438bd45f9f056abdeb3107c78bff711ad5f3bf4e7b71ef5d2a9bc783cf7f73e7fba768cae02dc3bfdde976dcafee957bd6d17f6dcf35dffbb9396a0ef919f4e9ffcbdc794a70c5e3dba7eea376baf7f5d2ecf6322d6c42ffa0e36e161ed9e53e25dd325872fd459828d11d763931b48c4dae13d2d9292f0ff3df73c7a44857d6b837415c053ff17c75a4455d6fcea99fffe9787ef7bbebc7edc699d610a3f94f3f2251f6f3fc07048c72be6e8dcb1fbc285db7b0bc68c9a764c2689e2a99185bdca76071d256bf0d6e6c3e7e480c8abe7cfee5ffff2be6ff2fed7e5b472dabdf3d3531e4d2fff0b27d1d4ac1d3bb85c1e15ac6b3c8ffcecf6796faf34d3a5f89fdf3ef3cb68afbf7a7efff209c17afdeb2dd684f144fb5749499f3291b6f0d329b876ccd08165e4c22a8c3d8c0e98c918d46cc77edb99476d63b41f0ffeee7a155df54ab7d23500c1f3f1d1eb52204e71c14b098a08c16b2d2d74dc2f234efe2a40d0e70906693c9363bed648bcb9ce02cbe413dd4826c470f43ac6f483f020eb5876dcbfacf47bf4ca324a5fb91e39842573f80401100001100001100001109805813f98852e544160fe08ac7977f31ad15b2b9ba63cbd759fcdf16965ee12550ccaaee3ffe24f7eb87dfdd4765163d9f6cb2d2d3f1c74089e4bd21240eef6532db76f5f3eb59da9be6a3b7deb69743ff792c25317ae9f3b512619f579a47bad2a17623178ef52ed7b27c479fcb21357ee54d18dd38a6b2aa0dafbbc2477f3f6ed95ced526a98eed2c08defb585a0258f2ee99eb2dd7cf1d93f2ba7dea5be64cb133ad14ee2de7e57b4b5a0278f7d8e5fbf7efdf3eb7478c9dd027b4058f615334f8b828e25990dcb044b5947cee7b62e3925f9ebb4d433a5329a6fee8da1316d2f47ba7dfa2cdfa7095b6e6a0238a548d97e49e3877f9cb3d8572b0cb7e79e6b2badf938a87ded796fa77556439559fb26c9f4323be0b65c0c4434d7f14801dcb29bedaedc71e49eb5e85870f3a94dd158a7f5690de971153259dbcba7f4c7cbde081c3a7daa4e5a9ed470a6804fa919cf67f1b8e5e8b83035f71a61b4ef1d38fea4984e98e1d1c2000022000022000022000027344007b01e60824ccbc6602cb1d5bb610f7b947af9eb7b67ab6ac151f875eb263ef16f723f9a66e6c00163a3fb28833075a5a4eefc3128fdb2d8914d8c893870fe97b03a449536fb35b3819512efbeaab2d744a5f707ccfb5b6ebcfc8f3870f05b2814ddd638f57fe477eb1a6ecdcefcad71acf4f0a8fdda9dbc19a273d97640b746bb4e4f770c3d76c77b675c7d727dc7bced009fb23b74fd8218bd1ef69a54076ecd5e44b1c076fb754058341219d781ede7bd84a538e1c16e3265984c447918c053d258bd423e4d5e563efdddb5c5ebea1e6dce582021b9be1cdac77886583366ba2ed77eebb21cbce7c5d4ea7ca8e83b9d70fd3ae5cb6fdb3bd1be81e86239597dae84df3e76ecfdfa7271e2d44d7bffa94159efa265f9c01591e7daa3f19d4ee6f3f960664eef62ffffab8533b222db6bacb17e8fb32d297b38762b8c79265cbd8381784e7f4510d7adc3e767ac3f523ca62829c69b0f5e338a377afcd10be7e38fdbd253220e35c8f51c2dca051090220000220000220000220302302580598113628cd3b81316275ee2d3ff7e836bd7b7fec98e87e49b9d3b6bc356124f22c50793fd9ed735f2a3bc09976903e311d99374566a9643232f397cf8d9cdcbbe63eee28d74eba64e9ca9a2dfaa6c9c80dd9256be529d6729b832e0150a531b6b95b56567f279582ac200b537badf51f5fb8af3c7a200bb0ef384d113139752314892d28fe144ad6f293bfbc577b99bdd4fe95fffeed0bf7593facd9fe65039db8ca9b2066d83bd1ac65b7fa1ab9857e5b2477e24f4b88a79136b65c44a3b3902549c4c3ed5fc9909272c4aeea4b698a9bb24a217167091eb73837cf3dcc59026096e85b29a3cb0a6ad391f2b23d3ffc70501af3c293e6f70e5fa0e6da9a1f1e3c186957324d307a15d33af8fae1344bc28a2b14400004400004400004400004a64b00ab00d32506f90522204c2e7794af21d20bcc590c6b7694d3c7a1b53fd9a78fce1299d1d3979d498d7bbe3c27dfdfa7bfbcc65edc6f21068b09bac94cc4fc92356bc833fa0ec1578fce7cebde70d2294fe8f5de7535cac453d99e4ddfccae938aad482a055945167e7229b204b0e6dd3d07f76eb1597cbffae5193ac3a5479c26d98aee3b16455216f494262d555ffd6e0bdd9f10f4b95b5b6fdd67ef6e7876fb54f38eb68259f68e9c75346e7d4db42d514920af66100fb5aa4f5971a56b8a3b20a3bff597046acb969387d37d636b3770569d14fff10af2260d2a632928a03b54d8d2d1d3a774f780462bd9d19b10fe8c096b02c2290880000880000880000880c0f409e0bd00d367068d0521c0e61f057bdf8dbe06a06a079d394e6aa729fad89e3d7c1214a8b6752d9dddb083161df4b02dbff7eda7274e9daa7f189d714902093fd7547df6bb1fbe9442693bf5b12776861c5f7dadd3290a3cafaf6f657a934feb4f4b5b13d8fbd8f8bad34a411656f6151ca43f75e0b091a70fa52500d145041baf891f82ae36b1053d254f7d7559d9f63d072e2ddf507ee4b3badf9dd82c991d132667db3bd1ace548f535724b32df3f9dd168d1a7acf8d237259d7222d4934f9aebafb9ddadd7aeb9f92371f2c9d1cdeca8bdf4448927a6f0ece13d8fc7f3f0e14377ebe9daa391dd236b39cfba243b7a93803f33c23161e3040440000440000440000440604604b0176046d8a0348f04d477fbe9430167e84301f458b2dd499f71566ea7f2e2998cdcb8ec3db167fbb2ca733f1c395ef6ed9eb657a4e594fcee7e518bad268c459f99972cf16753cca1784c0ac4e2acdb937bf83a7d1cdb7fec37ad2d355243e2cff4b5e587732f5cf093e7f7cf6cbf7f465158b3e788239d68fc4e23051a5b6cbe5fa547823df5de5f14ae157afd914580876edf16e3a69a2d4a4491822624b9d9d038516eebeb285dd9b181dc6ea38f3f1cd8fc5e6eaec5ef97e69bb9f45d0c56c70c7b4793f50f471c9a9adfe932925360dfead1454f956457954f239ea81d5dca6d5f598dc64cdbd7c62e887aba6e8cda419f25611def7bfe9cfde824fdcd4afe31292d74c964a24272fabd67228fd9449b0e1fa1c3e45af45c2cc51fbd54447611b9e8f4f0674c5813094e410004400004400004400004664c007b01668c0e8af343407e3e5bbc216a29d85128bacdad299776e14bf749a547acd3d3233bf3a5ca82aa8385cb22418a37d9ad277fb85ca954d196256b7e79e6fa0e2bd58edc84979dd1e7c64545f698b8fa88b4a72f67cd0507bf2a93f6033c3a73279829c9d106bdb598d7d4134b5543cbb1b25c95dd25f4f7f37e47df66cf746798028b2736df82835fef91927df58c2e01acc95da3eca388d3a40f9e8b228e059684989b9e92db7ae4c23189d9f3c812c092dc1397ebd8ebe8c90c7b4793b59e831aa9ba1c8951fa923b5e4e96f6c234e2899372b33f6c44a3d967311a903242165c5cd4b1d16b87abd82a894845291455b5b6825e134b96e5bebbfdcb2bb7ab6cf4e509daeb823e311067f452c39aeed05b900953cbd3221c0d1a25100001100001100001100081591278e7c71f7f9ca509a883c01b4e80de9f54dec4c64215843176db3c5dfce980d71fbb106c6dbcf46d0bfb6dc3357b22b37de67552a03be1691896e59199519c50a695825a785210e8e31074f6ab7f523b4e539c48d44d33b6200645a3b2a81e48970dcfb477d4594bb6f435b28fe97ccf349e69f8d0b8e00d9819a39e4618d3124d347aa7015f93feb4c280300880000880000880000880c0f409601560facca00102d3212078eab71f6b91342a2fdc3e62f4f0ff746c42761113c08059c49d8bd440000440000440000440e04d2080f702bc09bd8018163381748b75195942d6ac75ee3872104b008bb9abe726370c98b9e1082b2000022000022000022000020604b017c0000caa4100044000044000044000044000044000044060d111c0db01175d9722211000011000011000011000011000011000011030208055000330a80601100001100001100001100001100001100081454700ab008bae4b9110088000088000088000088000088000088000081810c02a8001185483000880000880000880000880000880000880c0a22380558045d7a54808044000044000044000044000044000044000040c086015c0000caa4100044000044000044000044000044000044060d111c02ac0a2eb522404022000022000022000022000022000022000020604b00a600006d520000220000220000220000220000220000220b0e808601560d17529120201100001100001100001100001100001100001030258053000836a10000110000110000110000110000110000110587404b00ab0e8ba140981000880000880000880000880000880000880800101ac0218804135088000088000088000088000088000088000082c3a02580558745dba38130a75b91a1b1a1baedee809cb0986077bae363434badc21b966aebec3214110425147aad350c0dd7831268c593ae566c1ade43a9225bb240801b7ebe2c5c6ae40b0e7060dd3158845130ef6345e74f9665aa904a0b6130e85a2a414095521a1804a76911715146a80fc9c4301d7c5867655578df7b5365cac77b507b8badc4ac5b2ba558941699d56416d6a5a8af18595a866695f51570af1fd4aad8a77aef0b44c712de82bb93693af540c725594561440000440000440000440c0880056018cc8a0fe4d2220f4b57b07860686fcbded7d4224b0d048bf7f6868c0a799eace3e6ca1f99bb367cf7ee389388a390d8ffb068669184a14b375c7cd825bc9f5141ae96310bcfdd2d47edce71d1e1ef08d0bbe3e1aa637a8ac6488caa160ffc0b0775c5339926ca512000d4fb623349f3973c6e5519a748584023a8d455b1145a10268902d1d67c343834264c146e8bb71bea57b68d85ce4cce1ea722b15d3aad6680c4aebb40adc21342d0b3ce16854aa50798289ea94f09442220dda1ef5ce159e8e29ae014e25d72637776ea562317eab2286020880000880000880000868089834e7380581379080afb36b2a12d6445757c0519ac3ce4cd2e89df3316c22d4e494c96c965cc69c5af2771dc81a376559b3a4c6d97f72b3e056f27c591cd5ef67058979a5148fbdea83aca0605a6925d5fb8acc961c4bac0e339ba6e165b1efff243f1c71288b732be546a26a359134fa9fc6a422480b0905d4c28bbb1c45a1026890b24854c22af4df38dbd24bd2d61d38599343ab5e6f7f19c4a354f38690d238d3c274c8c4f7a184a714e2cbb3d6a877beec344cf10d706a7936b9a3825ba9188cdfaa88a100022000022000022000021a0271fe7cd748e21404168ac078976754f13ddcd32594c64c6fe96c3dd8e5bada1908854d9b6a6a429dcd5dfe6171d5206df5fa8a9a0a071de542a0eb6a73fbf04b56bd2277e3fefda5e6fe3bf5cd7d666bb659f00fbda0d51979dbf657db8586bae6a1097a3a71e3f4576e7b89a9bf2b7aeaa8aac90f34377b4cd6a29a92500355cfceb1d0dd012fa8d9a5c5db4a46dc6d7ec5545136b5c2f55bd7ecc9b21559054fef10d9ba2d878ad1439dc5bff9f96a7de5a69aa38e708f368b80bbd9d543563a6a6bcb2d241cf074de71fb5e4cb0343396aedbb4abba2427b2982119a49fd2568080fbead50ebfb578df7e9bef9b26dfae0f8fd8066fd4b586ca4bc8cd36ef9a771dfff8e819adb45b88e06b6f743d181581aec8db5a53ed34f95a99cae1d2ce0bdfb38ef1b77c51e7fbf0e82ee27337ba3a44c9b4bcadd5d545e1fa333102c17657f3032fa34bc8aabcb29aea121a9c4f57497c77ea5cbeec1c93dfcfcc67ac5a7fe85045ecb2cb786b6363f700634d9bcbaa6ba434054d004e5bc877e79ba6c0ae1347ec0c8370a7be2e9053556beb57325db7edd7cef1d624a2b2b7d69df5addcf6d1fe22e634d4577fa66565e587d5768b3e7e33d185670da8511cae305f1499db4dfd17bff93e6caf3cb2cbceccc61e26b385a238fbbd6a09807a96e0cf457f71bb431d823e35a95533846acb5726df1dda9eadb15d550d12858c2d98700cf0468e3a7ab9ac1f15720ba5d91fdb2fa68bbad152931315d799b2de98c6a888da914a1a8c09af444e77288321095c5af738070110000110000110486102782220853bff2d493dec73fbd9143473ebcee234fa3de1750f4a7f3f8b099889afc7f55d9bf7e5c484ad7cffca9ec6077409206355e1fabca5646ae8f1cd8bed83e1c1f6b357dae81240e68a554bd3c8a8ffc1f98bee5058783935313ae41f12323325bb779bfb099d7999d919bd4568b6587e921e736a368543e3d4d18bc1919792fa807740306530f117dd77e912405a46c494ab2f448cfc4e4c4d0d7bbb7bc5d585c83a5c6c16c52bde6126632b4b4827278bf19117349e20dbe62f785c4d1d5eba04b02eaf70dd8ab48917036d576fc8cf4f307be2c1f638f85a2f5ee9f09bf3b6d594dbc2a19129324eb79e87c3a189175eba04b0625dde9ffed1efa54a12749f6d7a304a566fddb97363deaa516fc7d9c6ae888ad9eadcba7e29359ab17aa3d36e0e76d535758c66e5eddc5d599c6bf67634b97c7fa81620fdaea6075e73dec6ddfb766fcc5b3aec6deb09d25918a792be976162ea85df1f2ade59b9ad78ddc4f0e31b3de391f0c5af7ed7c5ee01a170dbee7d955b574c0cb75d71b134f501f409b4bf5822f27811c6a746e9993ad357ff7b7251596cd68c977e77bf682ae8e91a2569b61c0b377e4e78b1ac4c32734a3d344542b16f6a9032a50363c4e33addf498f2dd7654dc052036cc557f71bb43722d7d7253139bb44388932f95e37787ae67fb7ea21e240a998463c0383c7512fc30a212da7ee18c96a830272392fca888da8994b418e3f72c37dfa84aa24b46e71d15200002200002200002294d00ab0029ddfd6f45f21eb787c5b9c2e17494da3259d1e3ee635fd2f1d2db72d74b8b85bb3fac2eb286a447a9c321d3ca7ce7c6f5c55bcb4af3b3fadd3d54206dd5faaaaaea5d15794c6fd81d79923e6dddaf3ffde8a3a3dbc4997f4808dbf61f396a63d3fa8c8aa347f7ffe2dfc69c96da98ae784466ef64f5fb9f9e3c7960bd589751f66b7a5229c618a633cf787e495a61e5079f7f7e52bc474d486c16111fb1957c6bf2fc96c6635ae9d858bcbeb86c77f5ae5247f6ca8811edd784bbb1aea97b7855f1be8faa8bc42cd8879c0e5957f6c1919aeafcac2552655fa79b6e73a8fca8d6e97094561faacccb24039d7d214925cbe12cb5d22702724a4a8b6cfd9d9d532473dbaef21c6bb6b3a2826e66f0763d530b98b3ecebd7d3fbffa5b66c6bb6185e20489fade0544a2117bfff51b9c35e545e9d974606fa0352a5f429263d258c8c9bb38b6adedfb7737729bdd3dfc709808e9398eca8bab4c4430b52a67ffac77f926454f64d4ebad6d3e5a1eb11e11ef7105951526421dcf879e1c5b0121f32112333db8f7efef947d5bc8d00848c7afde2be898956975bee671a784c4633ee2f6e774878a54f6e6a62937608f1f235ea0e6620b667c7d483244a46f4142b1910eb221fc6e1a9a5e28521ca19f48b6c43192db4823bc0921f15b249e55b8b317ecf1ae41b3318e2e052bca200022000022000022000029400fb1b020708bcb904c2fdee017133fa68d737759e972f59a413deae007168a6b9c1c111926f71ecaaee6b6cf68fbe78dc76534c2a93ebad8ee50000400049444154ecfbe3f1009b4c4d0d3fbef21dbdb31a39a469555ab69d6d35b76467d3a9e694743d44eecc86e9377bae5e732aeb4bdf1916a66ecdc9248f5f66e488b672b23308ddf56e22429fb15fb2d45161b7c6da626752169a7ab192c4b3262a982c24d8dfe77ff1b8bb4d36c0bbbe87c5e71f4606e9ab036dbaf60c87431315e594952d3f5560736413af4f3523158b61a9821a7b79f7b7e765dff45e76609c88f35b51c044df5d106c3fff85121c13e4568a16d2e4572f30e3eac9183db5571f1a6cbcdadddde617535dbd7ea73d3f5bfcd74c1b80f8cc80684ffb11c9941b00b792588b0a333b7abbfa8823cbf392e4d167270ce237084fcd4a1b8dfe9c4ad375aba3872a065d75df7b3b1adab30f49afc388119d797ff17354198f23a0194206f972c683d81dfa9e3522a3978cc61727bca8102b71c2182725ecb28d1c46dee5f6e837cf94755792a3226a462e6930cad5d2b7b66793c8371eae58e338030110000110000110487502f4cf1a1c20f0e61218efe9922772532f5f886b002cd8e12e8f501119bc2bf2f24c5efa6afc0757dbf34fda4646acb6223b9b61073befdcf18ebeecbef3e8bfcfcea077553372e943dd0eba87d6d3d9130c67fd74c920356462afe9a287c54cbfc5d506f1947d8423f623159a53b956fa162712912ae5cb926fec37c39a136b3e260b36bf64474c651c6b9274df9d1bfe175319eb36d6d0b71ef45d3d7fd31f790780d42c7f161ff8c4ee6bf8ed838e46b7add6a99bf3c7a622cedf8511ba1220aa0ffa68517f48a950cdd5ef7f5e9b2db6077a5a7d267155849d3281bee6c6c743e6b2031f96d0b73a847abe3a7397d6732b4503f13e82fd3eabb3e6f31a8b100c74b5373f787cb3d56ecf61d96a03581aee8c763211846817872538dc00b895f4098d12e7eadeb6ae3b772c53649593be32c120a9607fbf3ebc8a1c29a3d86e97ea789f34199bb394fac8afaecdfbe6acf7c19556db27e59a514373a072aa23f9fe32c8316a2b8e8066084da33b883bea405b4a968ca41727bc58c39c51a15a02506445ef0c9ffc4f42cc6891c4b8a6921d158a27a5a0c1a8d48b056dcf269d6fac199c81000880000880000880008f009e08e05141dd9b4220e4ee1aa0b1a4ad2efb3c729c109f44a7bbcdbb22d39f8c9555d5b5856c17fed48346d7534fdb83ee07375d77fa8282382322692bb3ffb52387364ff85b1bae36373736b6753fee7dec3369ee2f5389c821fdfd3d71f79bd357db7d7435409c6829a78a90b620ab47bf6d71fc4ac129b2b15944163e622bffcb38d62276d84c262c8cd019b8eb8e9fd57126566956ab29bbb486121bea68ec11229aca5784aa7c9e5fe2a03bd39bea5dfd81c13eb7abe9f128595114798a81c930f1a9f1bebe40d0e6a49243571b5a03e3e3819e1b57ee76f7b0df708c0a4cb0a289c6170c781aebeed2f97848181731682b99e1b847b0ebeecda6b3773cbeb0d96c11d771b2cca67c5e0016fa730964a2b3b527180cb436340ca99048997203e056d288ac45ce15e4e5e3dee1cc3c67b6182157921b9e1a85e49a1908f91a4e7f75f14ebf684cfb41df5f205659aa0feda403bcfb4a832faa1911d65424df5fdcee5047c04d4d14d00e216ebedcee50db57955912d228d2a4a392d1168dc38b914c228ca877b3f168a1468d4c25392a62c262275a8c1a010d8a24f38d31127774c548e204044000044000044020c508601520c53afced4a37d4df2f4e88ed6c82271de6a29275ac34ecf9877f8e54858869d7fe32f62cff94ff3f6695e6adc82013430fda3ae88df1b4ccdcaa5d0e8bbd7adfc65cda3cecf7fa8727e85be5b77db0ffa79276cc3c593ac9b2db57b1c6a9894090ce9235a7a29a599e5f2b05c95af493994ac66f642f027bf0209ac5dfd01de7e2a1aefcdf0245fa2cd64a218b9ff411653a579c1af5b6b5758f48af2c9c1819942692a235d1179d72d313f3aeda6d9964e26e43abb8c741b242eb957044052a67ab3850969736eafdfeca6f5b3abc694bf30e1c2a67fb262200b2f26d4be9f3eb2d57da43d9e507b6e64e0c755f397ffecadd5efa62ff9a5d364a4f1158b769532679d1d6f4dd77576e062d2be822cc50477b36af52ec7325243192d8b81c55bb73e93318379bce9fa7ef857cb1aa7067899598b801643bb7aecb18edbd4bbd7607c5f73e464c45beecbc00b8518db3a4f34b72e9404b2bd964970071d57378e1a9514c44010ae3135323ece58cda23267f8be3d04efa3e8be1a68676316ea53196cb74fa8bdb1d2c47f9e0a6f6528a3c7608e5f3f2e5770733ae042f7a62194407898a0c575254113fe2851719c762acdc511135434b51ef026fb428c00d334a6e54a8d9466cc6628c7f25c6cf574c480fd67074c500c009088000088000088040ea1178e7c71f7f4cbdac91f12227100ed1b70486d84bfec509ab9c6d689c4eb74ce62c8bfc98bbdcf09abfe7d66fd45a78bccf75f58e7f7482a4e5fefad3fd592c8db0302e106de2d3ce2fdceffaabef7ddb3efc94be004f3cc2027ded22fbfd84d89906c7707c49552b2bd240a9416e25c7b4a68af6327dddbf6442d5a4b226d74a557434c8159a6f950a2b4e372aae3a7dfb3f373c8debb9399d697ff12357c59450202a6b90afca425476ae4a2ae3aca81b0b513f2ac96825bf248926355af806a45a95c704b1c5b5127325ce8dcd78fed0060220000220000220901a0412fe4d9f1a1890e5e222407f832b8bfe209ef6306765e92bb542afe17c6efd46ad857c3d6c0980fe88a2cd212e01d0a2c9922517679a09fb45faefbdd4aa6aca6fb25822eb0189acc69754b5468bd1120d3f593f3455fa3800271a8e094e558ca2aa3d5a8c961245c59734082fc6f19c9ccca2bff891aba24a28109535c85765212a3b572595715591673d41b35a259168a2f6882d9598aaa87694b0aceb5995215531a11d088000088000088000088080860056013440700a026f0d014b7e69a569c49465cdcfb1ce61d026b3d59697975354ae7afe7f0ecdc3d41c13407fcd31d037c61c7af68de90a0402022000022000028b8d009e08586c3d8a7c40000440000440000440000440000440000440c08800de0e684406f520000220000220000220000220000220000220b0d808601560b1f528f20101100001100001100001100001100001100001230258053022837a10000110000110000110000110000110000110586c04b00ab0d87a14f980000880000880000880000880000880000880801101ac02189141fd9b41201470353634ca474343e30d775fc820b470b0a7f1a2cb67d46ca015bffa75d8a41ec51f578f7856ca097d85c77d5d5d7da170a8afabab7f3c1c3f72a356bd91c47e43a190ec4daf1ee388f6d7c58676551f8cf7b5365cac77b50762c4a673923c9fe9587d2db209e0a87c2a49d13a759984c77bdc5d83a1f0605f574fff7844835ba9b2c62dc698d54924ec749d464c4578b0abe1a22b90c4b596d0913a4e7539c65f7227097d2567462ba58e4a29cfa12faea9e42bb5e1e21c044000044000044000041211c02a402242685f5802745e3530343038322e1e234303bd1d2ddf347671830a8df40f0c7b673a3be69a24a1e0dcdb2444683e73e68ccb23ba8c9613c61ff275b6b5b5f405fb5adada3a7d023fe244b57a2389fc4623a4b6f5ea310e697f0d0f0d0a91d9a1d077e37c4bf7d0b0b9c8991323368d93a8f7d7d317d30825a168023851fd6852b18381f1bddbd1d6de1f70b7b4ddedec8f68702ba3d6b825b50b8ec02c6186467c43c3de11796d88e340ae4ae4481da7ba2ceb4fe73b91afe9d88acaaaa38a96135d3551fd84256ed8fccad7f04f5cc2f020000220000220000220b0f80898165f4ac8685111104768deae23d5911faf0fb55e3cd33d40f70394e87fcdde62dfff497ed834b7839a994b9b5b938498481afd4fb21a2d278cdf622fdf69126cd66ccb3662b167cdaca3f54612f98d46483dead563c21073921213fa6f9c6de92569eb0e9cacc999394195f7d7d21731e1cff224019ca8755552318381f2cddfbdcd64b16593ca9df62c5b44835b19b5c62da95df004660993a96798cdcc72384cd899d191c0913a4e75d9c85cdcfa04bee2ea1a36aaa38a96135d3586e6380ddcb0799573e9941307aa4000044000044000045285409cbfdd520501f27cf30984c3f4deb238e120669b35b37b986d50f7b5bb9a1f7827c4e857e595d55497105feb374dbe5d1f1eb105efd4b97cd93926bf7f94b667ac5a7fe850059d34eb5524a30a01bd80d424ddf20cb8af5eedf05b8bf7d596af6c6d6cec1e78c15a33569555d794e4304b82cfdde8ea189da2c5b4bcadd5d54e5bc8a78ba4c676f5ccf72c2c7fcb17e71e2ffb7de0b954aef31dae305f8c1f7f8fbbbdd37bf326b3bfda47f65717d194eb9a3c2bd759860698c9b4a5b955b5fbf32df48e32bf9ecaf878460cb9a9a3adf37d78745750a7ae61485d98cc16e2bb73f67bed12808e8fc575fabb60cecea3d50eaa45c2be86d34da6d2f76b4ab2d9293d42fdf50aab3adfa15256a7e98bfdb6fe6f9a02bb4e1c115785843bf575819caada7c9f7e0098f57d218e0a5d543642c6b9fdcbdc8b07a75ba501a685937d439fe07f5b2adc6be70e008a97f83c9d9d9dc377691fa7adcedb9453edb4b071a5ad3419e422c717c3ed7085e9a20e514d4e44967ef108f02ba33aac34e1be7ab165609896e25c628a0a85a6eda9ec12d2fb808b821bf3918a7cc51a2dbc5157ab35db34205e832bf2363accbe8e5e8625735df1a19a72b10775ff32f4dfa86b0d9597909b6ddeec3ffb1915d60cec6af122d054eeb7f9a44bd54e8de200011000011000011000819912c01301332507bdf922c056aad82a00fb2b392cf87a022f09c9fac980abe981d79cb771f7bedd1bf3960e7bdb7a82546a648a8c53d1704898987ae1f7878a77566e2b5e3731fcf846cf78a89fa3a24ec258c044ef79fa5a2f5ee9f09bf3b6d594dbfa5d17bb0784c26dbbf7556e5d3131dc76c5c576e707bbea9a3a46b3f276eeae2cce357b3b9a5c7d022792be9f38b7ae5f4ae533566ffc79e146a5ecb49b12c6dfe135d9a4942d43debb62cae31364626860bcb0ac72f7b6f5a617feefcf360619017e3dcb9163c4989b3a5aa79df0d4d50c6999f6d788c775bae931cd70db51d52e000e1f8bcd9af6c2ebf689739d718f7b688ad872c4d98f64d46c8db272da3358a5b62f68a6acd3a5d9129dd08e4f8dd233de00e056727b8ddfbf5248e227d7148fad9593e07ff55f47938a1d00e6a0fb6c53c770c8ba75e7ce8d792b87bc1d67e9c32fbc4a6e00d10063b9997888a2c29c7e11b858a22a7269784028de96ec25c6e92921ceb5c0e956d92dfb7ed3aed68101b2b5b2b2785de6a8f741476f786be5eeb2c2552f07ba6f78f830e9cae6c40b2f5d0258b12eaf7039bd68b4035b4c565ba9fc13a7468132088000088000088000084c97005601a64b0cf2f34d80fe81ecbffbdd175f7cf157f4ffb34dde1764ddd68a7fb5c2be7e3dbdff5f6acbb66667afa4310582e3e20c34b2cf9ed614bfff51b9c35e545e9d974606fa03a62cae4a341d63810977635d53f7f0aae27d1f5517d178c429e79430326ece2eaa797fdfcedda5f47e785f67e714c9dcb6ab3cc79aedaca8584d88b7ab4fb21e1bc998c3596aa54f04e494941639d647cb3693183bb5cfd38a177fdecea3bb4aecf94515472bf30819e8925fcea7af37c891f934f0ab8ed6664ec450b233eaf58b7b34265a5d6e797acee753545a42c868571fedbb70977b802c2d2eb146d217bfb254ac281f7a68fb42d3e954224dd4a41fb1d80352b5a692db6bdcfe95ad46bf35a6b86c7909aa938a1900fd9d6e4296567e54eb74384aab0f55e6659281ce3bed9c4ae90d999a00a29111b50bedb8a2620a225ae612e056aaec478a2c80a2e42f31d681622746d4d3c84f54fd1b8342732d500575cccc8ee150d48e106e6fc6493096aa7afcc78b70eb07479c767b7975298d33b7b2d669cf2fa9708aeb56e138bed6957d70a4a63a3feb1ddec0a6596a73d18ff6084a7c81000880000880000880c07408a8ff249b8e1e644160be08d03fe257addf569a6fa18f1fd3c3926dcbb69848789004dbcf7fd1661c459a953e03c00ea646ff3437adcc8aaf12476078886dfe1f190c86099b8bdaab0f0d365eedee6ef377b30056afdf69cfcf16ff407f79f7b7e7694de418093035a28d24b28c20e5232d2944cab2224fcb38bc0c3b7d06403ccc36ba65da3b4e5fcec7ae6c4ebd29270184f8d11ac720f9679f1477daaaf5470f550cbaeabef77634b4671f2acd119b694c5a3ee3d9bb0a331ff4ba7b88dddaf382e4ee2cd1fd9324f6ba8a8fa62f44cbdc0f3d762aa6afe444955d7ba898d3bf1a2f5a537c38d94e5e82eaa434e5ac6cbaa4241e364736f1fafe9995b595a28e3600494bfe549b95ebf8df1c022fe925a6ef2c5212b9a42276b401f009f09d2ab5ea38d56545805f88e34b3342e6e76ab5c85bf4d900969e600a2ba3960353fc9721c3e1882e7a69c296d2e656f289a016044000044000044000049226c0fe62c101026f32013a33b0e4e4db6cf25fd962ac7dcd8d8f87cc65073e2cc9a10fc1f77c75e6ae74972c4e220955e208141ff8c4ee6bf8ed838e46b7add6690df6fbacce9acf6b2c4230d0d5defce0f1cd56bb3d87cd7f57bfff796db61844a0a7d567b22f256ee390d4579fbaccd7300e6fc21708d9f3d9dc311c1ca49f6693648d536f6c84ef5455cb6c26a34e29d89ca5b4b7f2ab6bf3be39eb7d70a5d5f649790e55e7f0c922e64d9b727beff6b89a2d5364d52647ec3433ea5eca889d6bfa82bd9b8ebe9c2ed22e08eca50cd33a38518578fd5bc152887718c08993a0da202b8bb34661844efa453f833e5a24532c236da5d89ecc87e82201220e81ccfeabfac16cd4374a1c0604e4f67861685124ecd638be3423649eaf564a537770088bff3284a53540495e13769c4a9d7d5480000880000880000880c0f408e08980e9f182f4c21010a7476ad76205dd1140a7e19ec6babb74a21412c6d502fa724215638134abd5945d5a539849863a1a7bd873be776f369dbde3f185cd668b3801cd329bf29d0e4286ae36b406c6c7033d37aedcedee31fc39753653981aefeb0bd0cd05eab23eea688d7178a4f7fb8b6e5f3018e869b8429fc65f51246f0dd0d7c73112f5a42d45239c60c5c4d8c5b73952494bf5a19d9984745f69f08589119fac22e76a32e1f58e66e66dcad6baa6e751efac446fe6c7f6856525bd9b3ad1d9da43f36f6d68184ab81a14eb821b15b77f63f53867466c7909aa938a966d2574088d36d5bbfa03837d6e57d3e351da99ffdd464ea5fe0732740145cd9ae322e212e056ea5c682b8c084872063d158d537d2dc48f991a34f6a51d21dcde9c4e82fc08596dfc439688e34b16a186b4618bb6b995624b88be4af3ab8b77fae387805610000110000110000110e012c02a00170b2adf2002eabb844a58f64d9b32c98bb6a6efbebb723368594137fc0f75b4bf64a28ab85210954c26ae8a7ae5802b10b1c9fe5a37efaadd964926ee36b4e657edcecd248f6f369d3fff5d9bf7c5aac29df469765376f981adb91343dd57ce9fbf72b797be35bd66974df22d7eca1f6cd5202bdfb6948c7a5baeb40baaf2040b59095b294836f8f18bfb8a49e6d2500743717798646edc57639355f5f5f1728c04282b4ba7b1d1aee36157335427c00c581c8776d257150c3735b41bf3c97116d2b725a6956ca28f33e88f28ab089fd8be08653bb7aecb18edbd4bf3ef0e9ad9d3e3e2ba8c8aa468d3a0921b9583d7bfbac8b4a0b86c4538fa04a349a90740d85671a02c2f6dd4fbfd95dfb67478d396e61d38546ee1558abeb501c446a872c14324f26016b804b895b1f6996a4c8dc12516bd2a7961185d0b025f38ea904bfb4db85a2994c8d61493497ab6c318a63c28c57e10d7bba2ffc884e354320cc2f8c4d4087b172a0e10000110000110000110983681777efcf1c7692b410104de080261813d006fb698d9dd692164b6b08799e31f0955120a44ed8743f4070bc33aaf2a0b51d9b92aa98cb3a299049acfb6042a3f3969a7a761a20423f4b9b8f5621c5a23497053c73f77eab2d5f6fa2f1e84d67ff25145c2fe9335b4df524c168bfc48bdb63de1b92a2959d6a07fe566feb7ca0e2b463a649a09aa8c44bd702ba3cd094b92be3122ae7d6e657c572a1556548664444b6a360e23c67822e104bed4b60c7a5365412dfd5acaf3e9ebb52400a32000022000022000028b86c08cffea5e340490c8db4bc06489be922b5a8c9b4f4295840251f3f457bc62de551069515988cace5549655c2c0a6c63f44488de11d40030aa6781688d4c33b8b953a7cf71f85aeb5ddd2fa7485ee5a6d9fc63a48a699ad944c439060cfa37be7d951db138a3045546a2deb895d1e684a544fadc766e657c572a155551d1e1d5298dda42226155bbaaa8b5229e1bf4662235aead1956cea7af198608351000011000011000811421309b3fbc530411d2048137978039c79197b7d2aabb056e54ffc66562b26465adb63936edb2f35654deb870a71fd0a24f70fa48a0010220000220000220000220b0b004f044c0c2f2877710000110000110000110000110000110000110983f02783be0fcb186271000011000011000011000011000011000011058580258055858fef00e02200002200002200002200002200002200002f34700ab00f3c71a9e4000044000044000044000044000044000044060610960156061f9c33b08800008800008800008800008800008800008cc1f01ac02cc1f6b780201100001100001100001100001100001100081852580558085e50fef20000220000220000220000220000220000220307f04b00a307face10904400004400004400004400004400004400004169600560116963fbc83000880000880000880000880000880000880c0fc11c02ac0fcb186271000011000011000011000011000011000011058580258055858fef00e02200002200002200002200002200002200002f34700ab00f3c71a9e4000044000044000044000044000044000044060610960156061f9c33b08800008800008800008800008800008800008cc1f01ac02cc1f6b780201100001100001100001100001100001100081852580558085e50fef20000220000220000220000220000220000220307f04b00a307face10904400004400004400004400004400004400004169600560116963fbc83000880000880000880000880000880000880c0fc11c02ac0fcb186271000011000011000011000011000011000011058580258055858fef00e02200002200002200002200002200002200002f34700ab00f3c71a9e4000044000044000044000044000044000044060610960156061f9c33b08800008800008800008800008800008800008cc1f01ac02cc1f6b780201100001100001100001100001100001100081852580558085e50fef20000220000220000220000220000220000220307f04b00a307face10904400004400004400004400004400004400004169600560116963fbc4f8b8070ad76333bfee29210576fd2d72cca6dbef44420934f8e8a2747af3dd128a9c48211cb929ae6b3b639be3b9dd96b92816bd47beca1f2182fb0e462d61a8f75157b16bcf79e14d3d15b93aa16f7e948b53e54452a2666a536b6908c4cac86d1d9d8add352776dfe1fced44b21b34ec4010220000220000220000220000220304704b00a30472061665e0808d21436d1ac7072724c0a6792c9474ec6c6d4f35fd63e290425316a5688684815b19f4f2362b1b58667939391f8740e633cc6092c4e933a66c308f40dd6820d4bc4dade66d59cfae9adb6e7626da1c366d12b4935b130f952338c4a67ccd7fcf1b9b65ea97aec9ffe5fa910e9749d302a4000044000044000044000044000046640c034031da880c04211309caac60d28dda0d5e2a8b972b99cae142cb72df7edada46b029674f2a4b9a5f71553585658565eb09c4ee9d36d5b66e8375deb59e59199d436abe2346ad2585069c42f5acb77ac696b7946c8b3d627638e0dcba9b4f0a4f591a8b4e4dd1d0546fee25b955b671a95ac2f7f3fbce567c52565977f38b2d64282be7f27f6ceccf0cb46f10d0220000220000220000220000220a022805500150c14df2a0293c17b9f7e4af7b7a7eff8ecab2d6be92c76f2deb79f5e7b3ab67cedde93e586994c06dd9f7eda4c2c74cabfe1eb938ec67ab6dbbffcf8575baa8e6c10957c16cf2f2fb3b968f9c1e3076327c74f5aebbfbd74cbff9c2e122c292c3b78f27895359d88615c1bb3388e9f2c777ffb9beb8f9e55feba52721ff4b47e7ba9f1762fbddfbee4dd3d9f7d76d069093e897ab4c6041913d8d7522c1181982675cc2ceb648f82f272d272994ab7353f3cb98101f2b5b64acae57b4577c2d36bf5f5cd0f3dcf69824b96ac59ebac3a727087431de570fdc79ffae8b248c1c1af0f8a2a41f7c79f36d32d165b6affdce3ba2b9174a653c23140f69cbb7dd03696c0f8a4efdb8f7f739b2e53d0e3d5bdd39f8e55fdbb9d0fffd79b91de994ea65252f8040110000110000110000110000110e012c02a00170b2adf02029341df233fdb3d6e1b9b9456017cee47fee7c4fff4c964396f7abcdc428487b57b4e8933cd25872fd459828df77bd9edf0b5110b2c6b793b3f99648f1344eddc3bfdde9791fdf354ea556fdb853df77cd7ffeea4858541570dfc87f7b4307d425e4a5f84dcbf7c4e2ebe7a74fdd46fd65effccfa30ea51995feb02b3125f4451d7c48d59f612ef9bee68d84c2edfa7228f5a7d93e5b6f4e0addbd2e300b9e505f466fbd38fb71f90b606302baf5e3df3df3f77ecbe70e1f68ea8d5cce5c1de5e8aaff79aefe0061b5d47b8d728e6be6cdbe4df2b796d205a200219fc78fbffc835be97b9168f49a19599968e57fede47bdce7fa1d814fb576ec4370880000880000880000880000880c02c08e0bd00b38007d58525109da147e2b0446694ba06b13d78ef52ed7b27c489e6b21357ee54d1f9a76ec7be514282e792b40490bbfd54cbeddb974f6d674fd9bf6a3b7deba96aa1802cc9ddbc7d7b65c98ab4889d2585a72e5c3f77a24c3af579a83027364e60721c9c269e05593cfeb7b5bc6c9928d14b970148d0cd5604e8f16e15ddf120786e49b3f4778f5dbe7ffffeed737ba4c6d8571b58b6d46c16eb7befb1b70b08adcde206fedcaa3f59a9ca4b559480ac1f6b4b6cdc52f043cb8532e9e5054b365fb8de72a020538a019f2000022000022000022000022000027348007b01e610264cbdd1045ef91f8973565276ee77e5d3dc61ee73bba5dc0a6ce4c9c3878458c4570790de66b77052cebaf0d89dba1d740a2c3cb92455957df5d516bad650707ccfb5b6ebcfc8f3870f05d6ae3de20416a7496365f269ebaf8e5e23cb45fb741b836d6fc367da1d11053bca49db75aaf8f09ec7638d64b4bd8aededb7380ede6ea90a0683423af13cbcf7b095e6c839ac1b76ac21f7e94a4a6babefe0dac97be2668277abe87b136e71a465207483c56dc7ee44c6d32dcbd7aea5fb23a875ab75ad753989f3be468e3354810008800008800008800008800008244500ab00496182d00211608ffadf7a3ab9b6fcf8f1f2b57315c3bd6beee30eed0c39bef174f90efced735fde568b06e9543532b1afacd9a299e2d3770d8ac764648f827cae36a02ec7092c4e53c4c798cfff9cae34c8f682f476bf1c995c6729d85248aed387289eb59c3816a9cc2d77b037051232d65afff10536c18f7b580a76e4920b7ef2dc7dcf5d30297a5b53e5b492a71c2d1590e48c2b36e83e031c200002200002200002200002200002af870056015e0f57589d1b0293f4517ffa72bdde749fb40a3026cd0fa559359de68a873c432709268f4bd6ac21cf9ebd22af1e9df9d6bde1a4539afd2615e8248938dbf3e5b90d91393dfdf5804962a16fb26f4dca0415328a2f4e60719a62bd5ad63af7d0971246584c12ab3312668c98ad6af392defbd23e06b1417c1c80969e5c8a2c01ac7977cfc1bd5b6c16dfaf7e7946595250d94877d6945d38d5469edf3e7546accedde1b0c8745472ea62d2c6d54a28830008800008800008800008800008bc1602782fc06bc10aa3734ce0d1e94bee279e5bf52dd2c4549c4ea72f8fbc5ecf7deb21ad087aaed15df7718e35559ffdee872fa507cfdb4e7dec319a93f34cd01dea52359d5e3be8615b4e37299c3875aafee11c6c5b8f13589c266d98cb1d078f1c391839d8cbfdb502e2b96387ea657f8494898f03882d917d0b07e92f19386ce4e943de120013b43acad7880ad2c7e6bd4ecd0e0855a35234363ef9e4e86676d45e7ba248a3000220000220000220000220000220f0fa086015e0f5b185e5d913b038f7168a565e5d3f75f8d8b936c9626e15bbd19dbed6962b9e3f6bfb72fbe6cd7b8eb127deb947e43e3e7dfbbfc559b74752f21ffb4dabbc9980ab1453692d3f2ebdb8aee5d41e3667dd7ee036dd544048d58e8218398313a305873881c56932709254357d2840ca5f94a6bf0ea06c8888383cf5de5f1cad7d6fcf979157073e74cbbf56a098b738aaa43e61356b766c88ac8f28edbc421ce393d23acaa4f81e4223503c9ba8030110000110000110000110000110980901ac02cc841a74e68d4041d5d767f6bcab76975b76a26eaf34f72ef8ecd476a569496e59e566f12ef5724b7a7a64722bde838eec924f17df9c5770f0abc88be81f9db9138cbc855e7d373b5df9a501752db19efce17265a1f48e7dd1e79235bf3c737d8795be3120b2f55e7930415f13792140d28135fbc392f324635620242ea417ecdd1cc962c9bb557433bf74141cfc7a8f94ddab67bdfee76b72d7489b26686b2c4c26eedc2b632f64bfb4a091d1a71fc738d36506225fd2cb0d09fd7d449e5f510e1f200002200002200002200002200002b322f0ce8f3ffe382b03500681f92030298c8db1c7f02d567992ae78a52d936caaaa6b5024e6b220086393f4ce76fa7271a63a9796df005b9382204c4ebe2696afd5f81b000f2180000880000880000880000880c0db4100ab006f473f214a10000110000110000110000110000110000110983d013c11307b86b000022000022000022000022000022000022000026f0701ac02bc1dfd84284100044000044000044000044000044000044060f604b00a307b86b000022000022000022000022000022000022000026f0701ac02bc1dfd84284100044000044000044000044000044000044060f604b00a307b86b000022000022000022000022000022000022000026f0701ac02bc1dfd84284100044000044000044000044000044000044060f604b00a307b86b000022000022000022000022000022000022000026f0701ac02bc1dfd84284100044000044000044000044000044000044060f604b00a307b86b000022000022000022000022000022000022000026f0701ac02bc1dfd84284100044000044000044000044000044000044060f604b00a307b86b000022000022000022000022000022000022000026f0701ac02bc1dfd84284100044000044000044000044000044000044060f604b00a307b86b000022000022000022000022000022000022000026f0701ac02bc1dfd94ba518602ae8b0dee40484520e47635b8ba02e1604fe345972f4494824a662e8bf1edc76f9dc338927794bca43abcf0b8afabab2f140ef57575f58f87d54d0b559e5922ea68c3a150c83815c5bebe408da875d565b57da9aca86bb5e222556be96d4eab4631a51412aa272f99d01457806b9f5b9950fd758ccce423e186a7aee49a522a95825a855b4e5e92ab8e4a10000110000110000110489e005601926705c98520406700c343be71f52a4078d03be4ed1f0905fb0786bd74baaa145e537ca1918823aefdf8ad5c95995526ef2879497524215f675b5b4b5fb0afa5adadd327a89b16aa3cb34454d10acd67ce9c71795435314565e4288e9402216a5d7539c6827462a045e2235569716c4eab4a31a56494505d5149283933016e24dc4aae7d7578f13172d51356aaed27148e2fc04d4ab1cf6de51a5454b8ada804011000011000011000813924609a435b300502734f401ca1da619a46d24c2642ffa7dfd4a552987bf7cca2c5beff93fc3073c23be2b7f234665897bca3e425d5a158ece53b4d82cd9a6dd94653ce52372d54796689a8a235113a548841cf513979e4441d45fb5aadab2eabcccbc5a83af5a5f2181fa94a4b3634d36fc594206794d092a29250728602dc48b8953c07eaf0e263e46927ae53db4f2c1d5f82979462ff0dea91f859a015044000044000044020950818ff7d9c4a1490eb222020edfb0eb8af5eedf05b8bf7d596db045f7ba3ebc1e8144b6e45ded69a6aa7c977a7cee5b3669b060646c5ca8d0eb3afa377989633d7151faa29b710e26b77353ff04e3025b22aafaca6ba84f85abf69f2edfaf088dd32dedad8d83df082b565ac2aabae29c93187e2b612c251a1da7a2f6666347284c438b3734c7e3f8b3363d5fa43872accb2235b3041162659921bb061483deef64eefcd9bd461da6a1fd95f5da40e89d61af1d4c4a95e3fa0897cd314d875e2889dd912eed4d70572aa8e5458f51845fbee465787d85f69795babab9d3685ad94721c471cf5a270fd99ef193e7fcb1775bec315a68bba486a7268333b548ec4be3e5cda7941d63df778d9ef03cfa99068e7c3a3bb88cf204eb5569d8f4a06e322559cda2d09c603752ee89df6dfa86b0d9597909b6dde35ef3afef1d1333a4473a8287d9641fc4c742dc41fd509c618bd52e28794fd673fd347529d6d149e015276d1115f5c8c62aed10f7d54dc01afc04f7835cd2cd3fd369ff48f468e189aae4756ea2f0125249a320e1000011000011000011078ad04f044c06bc50be3f346c06436d3d9fac52b1d7e73deb69a721b09bacf363d1825abb7eedcb9316fd5a8b7e36c635738244c4cbd1818205b2b2b8bd7658e7a1f74f486b756ee2e2b5cf572a0fb864708f5bb9a1e78cd791b77efdbbd316fe9b0b7ad27489f0f1f9922ec99847ed7c5ee01a170dbee7d955b574c0cb75d71d17df3f15bb92a5c2f6a52529c7e7fa87867e5b6e27513c38f6ff48c2b8e1266a14872bd732b59481d5e934d4adc32e4bd4b138f398c796ae2546b8543e30c9d3407a2f3c6f1a9d171ea8a839104bbea9a3a46b3f276eeae2cce357b3b9a5c7d8292081788da1147ddf787ceadeb9752a18cd51b9d76132f12c582ca91d8d7666b54f7e7851b5576cc71e2546b39ed74b8c447aa384d381e38d95138e1d0c40b2f5d0258b12eef4fffe8f7d21015334af25a883faa135c2909432a5c4e97987591b0f874957190d2059a4418954e64059e29ee7853e027bc9ab836d5f0b9992af6c5f0b429c70f2926239c80000880000880000880c06b2080bd00af012a4cbe7e02e20d7eb59b097763ddf0d08b55c5fb0ed1250042fa3add842cadfca896dd857638acae6f5abc9d7df61cdab4f583234e2b21b670cf999b3995b54e2a911feeec6da1337a53967dfdfa1c67458925344e822b89f7452038ee603b7ed9b67271323b258c8c9b4b8a6adeb7fa04baf24042e28673a356ae0ae179715ad537d1a94352fcfe47e5d9f4dbe6eb39e3ed0f1047240cd616370b3158c3806716521c9eda388b1c5284e2674cccb426cd00635f67e714c9dcb6ab3cc7426c151583e7bff776f55594c4a8c771c4537f565d5bdadff958c829292db2097d3dd43b33271f3412d5a138920a590ea7a26b2724ff3fcb76fa5ccdc671aab56ce160483f96627b39e2943bead492bcec281c16febab20f6a4aac429feb6e34bb695c0b3402ee7890dec311e74a492e246d2422706da581a964e1a83a915ef59c5124de5a37bc6c25f5d79069247e6eca06ccd52aeab45006011000011000011000813926c0feecc001026f3a01711e2e07190e4f49ef03902bc46fba0440bf4706836162138735fd4b3b2b9b6d446787cd914dbc3ef18fef348bbce1968985e97cc74cc261b1899856669160fbf92fda4425ed87bdfad060e3d5eeee367f371358bd7ea73d3f5b11e2b6722be37b910da6c9cb022cb4d8292bab8893856c8170bd732b93088986c1e719374e259668811b8038877d79f7b7e7a3722301f1d10ba5223e10da995af5714227f0b48ba5be55ec245910b522baea32c7912acea86412482391242169e434832e70e9f349fa5a60aa06dd415be28fb1a442d245c23cea2a8d4c31e124e03031f9e098caae3d546c7cd98a8aaf2b53392a6dcac6cc150d1440000440000440000440e03512a07f33e1008137988038ab1a090489dd168972bcdf4f1fe367b7e1638ee2039fd87d0dbf7dd0d1e8b6d53aade2f44d18a13357516ad0478bda43b41d53d9d7dcf878c85c76e0c3127a4b3ad4f3d519d51d56baddb8df6775d67c5e63118281aef6e6078f6fb6daed9b6403dcd6a2104725a72b9e17d95eb2dffa2c14cd390c29199e8adf6881a999e4351c4110b77070a3ca61f7a457bfff796db6a81ce869f599ec4b893b6a2a4189a32e6fae10ff95e34592c0246b56ff0b2995398e747132c9f86349ed3a094923a7e1c83b00d4e6e82e92e95c0bdceed8146b90bad71d4985a4894432a2ab3432c5c49380a30e8d632a14f7b2552bd3f2dc66aa18d7a49c0c7345170510000110000110000110987302782fc09c2385c1392560c9b16592178f9b1aeff40c8e8f077d3d0d17d97d7847497eac9b34abd5945d5a539849863a1a7b04925f42f7a58f36d5bbfa03837d6e57d3e351b2a2487c475dac9e7426ffed2fce754d244ca7f99ec6babb74d21a12c6158560d7dd9b4d67ef787c61b3d9224e6db3ccd15922b7955b19df8be26eda05390b4591eb9d5b9930a4e9f19423b0aca477aa273a5b7b82c1406b43c39038abe60690efa4fd3574b5a135303e1ee8b971e56e774f40da962edb8afb6da0ce884c8df7f50582665e24714d4675a5a9b664c79620cea8d6042b1a8e25b5ebc4f08d9d3227da637ad702b73bb4269573d99f017026278bd0a23612d18cb6328e29668d8b31e46b38fdd5c53bfda2c1e807d7d4f412548cc969706d4a52b2083dd326a598110bdad61986146b146720000220000220000220306302d139cc8c4d4011045e2781acea23fb5c0d2eefe3bbbf7d2cf9c928dcb6bfd44ae893fbd2ad5a713e4ea75bf4d4bcab769beffcddbb0dadf6a31507ca84ab6ddeefaf786943dad2bcfd87ca4dfd2ef5dd5d3afa23f7a94d26696b817dd3a6767f475bd377542563c58ab489d1a18ef697bb6923bb521c55bbfb2e7efff8669314c8aac29d25561296c3e0b69a782a84e765dc5993457d448fd86b9306ca2a944aa5c0aa34592892731892d99698278b5df41d4d22dbb9755d4f47efddef7a691f64a6919754c0b18b83d144ca0f6c1db9d2d17de57c3755a73f8b50b3cb66eaefe1a6ac7764cae6a853b17cdb52afd7db7225fcebcfabf49128a0f405ba8944a5bb5f5d8e1b6754ebf0fb9b32756349d7cb2c15eea8534bf2b3636f3a88e0d6c69fc4b560f645ae05ee2009b1ad3371c71817b83ea4d8486ce5a2d9d84afb515edf89ef7130845354343e311562afec8c39b8a0ac0267bc2997ada8ffda328df490f65fa713b509438ac90b272000022000022000022030b704def9f1c71fe7d622ac81c0eb201016c64704fa4a7e7a77392bfa377b624f6141a0efef335b5437ed1329a95458d16cb1c4380c8742a170585b2b1be5b6f22a137891edcdc137cf3b7d1f823e8b644252c9241d9aa463b1482b2d11355e00b46926f655812450e746a2524fbe98c0916c4825c68a31a326dceffaabef7ddb3efcb4c842c5e34972acc955d3f956b9d0a91974874e4e5b11cfa65636c1798ca944704857e3e93652f1790ddd42a23f624c49cd334d5031ceb1a9b4cdac30eb9066e6165a2000022000022000022040b00a80410002200002f34d40fc71f86efa730395273e327c5065be837a53fc258613eaabafeb2a3d5a9b1fb3b2f4a6c48f3840000440000440000440e00d27107393f30d8f15e181000880c0e22060325b6d79793945e55802d07768623866fb919376bd226a400004400004400004400004922180bd00c950820c088000088000088000088000088000088000082c0602f88d80c5d08bc8010440000440000440000440000440000440000492218055806428410604400004400004400004400004400004400004160301ac022c865e440e20000220000220000220000220000220000220900c01ac022443093220000220000220000220000220000220000220b0180860156031f4227200011000011000011000011000011000011000816408a4fde55ffe6532729001810521101eecfa0fd7dccbedf6ac443f6a190ef6fceeeaff69b1db979b4838149a242693b8c6a52ebf8e14d47e15fbdc4aa5555d504b86c77d0f3dffb8d2fa47fd0f7bc62cd69566fd225de84efd5ffdedff63b53c71fdfbefffeefffa3feeffe770ce7ff3d3c037ffb3eb8f4a4a7e1a17517c0eea30d4e1e9cbe1c19e6b7ff3b7fff13ffd53be7d6d5c877ad50435e190f04fa17ffe8374a9df6827464f4301f755d7dff50dfe7341febfd443496097d7cccd825bc9d326b2e464be3d9b4208b85daebfed09afb4063b9b6fb9fb5716e8876ba4e34afed54a6a70d0d3f59f04cbbf5c2efed8bde049d07d219fabe16ffac22bedd9594a30833d37aefdad87e788a8bb92dbe96a01c560f2955c15b5237559119e65811bdeb46c72a34ade6cf292d38a0ac220000220000220000220b02004e6e42fea05891c4e53824068c43734ec1d09274e3634d23f30ec1d679242f39933675c1e51475d4e6c640612a1a0e237aacdad8c36ab4aaab049c8d7d9d6d6d217ec6b696bebf4092aa94851e8bbf17834e3e7ff3ad0d23bba6ae3fe3f2fcc1c7a70a52b6c77ac78d172b54b2fafaa49c0411d864a8b53a492fea1a1015f20c4699c4d95d0fccdd9b367bff144f28e39a5eb2303c343fede3e0e9419f9e466c1ade49a0f8df43108de7e09c2b8cf3b3c3ce01b177c7d344c6f50375ca58edb549acfac099ec69b6d779b9a8392694ba2ee33af0c0f0f7bdbbb54b90beef6dee120c91297113411aaba92dfe9dcc1a9d28adae3562acdaa56b5237559919d6d41e56b66a6f8517151701d242fc955472508800008800008800008bc5104e6f666de1b951a825914044c74886698c5d94e384cefef1b2665b1efff243f2c0a98481afd4f1255970d7567d5c05ca669e3e256f2dca8c226167bf94e9360b3665bb6d172f4c6afac1776b77bc9aaad859996e765fb4a4b720839422c6e120a3b4af31e7cdfe9114a1c165956fb9d80833a0cadaae63cd207da8c3552d33f35b11e9b32497d4de889ead492bfeb40d6b829cbaa87327d47a206370b6e25cf81c551fd7e569098574af1d8ab3ec80a0aa6955652bdafc86cc9d1f642a4e31ce230f6dcb83395b97ae9cba13b5dc1da122bcdd499a0fbb29cc52bfcdd5e4f9038a9383dc6fbbc13644571099786aa2b0d3a9d3738555ad184b9954ab3aa55ed485d5664675b50f99a992983a87828f80e9297e4eba31604400004400004400004de200273fea7fc1b941b42592c0426dc572fb60c0cd3743256ad3f74a8824e7e049fbbd1d5313a45ebd2f2b656573b6d215feb374dbe5d874b3b2f7c3f4aabfd2d5f9c7bbcecf781e752b9cef7e1d15dc4d7dee87a206a9115795b6baa9d26df9d3a97cf9a6d1a18604a2bf2363accbe8e5ee62b735df1a19a723aa1e3f8eabf51d71a2a2f2137dbbcd97ff6332a2cddfda5fbd6af76f8adc5fbaab3699db6b2b6dcc6312585fde111bb85f87adced9dde9b37a96ada6a1fd95f5d1473af57e8eb7941f24a1d26aba5549a0d12b3bdb49479b2162d25de9ebea083cd2a7547a8bffe8ccc44e4106c77353fa0134976acca2baba92e21aa30d4fafd6ed79d4eef4bc699a465ae2eadda6f979b696cc12ed7d5ce40286cda545313ea6ceef20f4b82abd757d45438e83f2e42a0eb6a73fbb0a8bf2277e3fefda5e6fe3bf5cd7d666bb659f00fbda0b632f2b6edafb60b0d75cd432ca0891ba7bf72db4b4cfd5dd15347554d7ea0b9d963b216d594841aa87a768e85ee0e7841bd2d2dde5632e26ef32ba68a187aaedfba664f96adc82a787a87c8d66d39548c1eea2cfecdcf57eb2b37d51c75847bb45904dccdae1eb2d2515b4b474838e0e9bce3f6bd9860d9672c5db7695775498eaaebe48e63c6439e3bfea9f5efd73a0317cfb7dd0996d4d20e33e7c7ed3e42724a8ad2badb7a7a7cce0a1bb511e8eaa1bd51e2cca1658133a4751782d8e99aa509cd88dd6ff3b1cbe7c323b6c1e8d85ef3aee31f1f3da395747026e54877c5e9471ae5e2d30d3f152cba23865d92d93926bf9f5d92d2256f96c7a72d38fd0bb628ac19fff15188d7a9f61f0a1a093d34d0b892d23f299af8e93f59dcacf59584973e77b9470a099f2000022000022000022030030278226006d0a032df04860784e26d95db8ad74d0c3fbed1334e679f754d1da359793b775716e79abd1d4dae3e211c1a9922e321b3d5b975fd521a60c6ea8d3f2fdca8949d7673d07db6e9c12859bd75e7ce8d79ab46bd1d671bbbe8c3e713532f0606c8d6cacae27599a3de071dbde1ad95bbcb0a57bd1ce8be41b7a7737d8543132fbc740960c5babc42fa1e02c2ee60fb5a2f5ee9f09bf3b6d594b3a91aa7926b4a0a9b4e0ffb5d4d1d5e936de3ee7dbb37e65986bc777b82a219f94308f44d91b47cdd8d66b13dc7be820c797cb26cecb79a89d34ea8a3075e739ee468e9b0b78d3a8ad08bd5133c57bfef604b0034cb752bd2a65e0eb55dbdf15292a1f9f6b8be6bf3be9c98b095ef5fd9d3f8802e0164ac2a5c9fb7944c0d3dbe79b17d303cd87ef64a1b5d02c85cb16a691a19f53f387fd11d0a0b2fa7264687fc434266661ab535e1bddbdc4f015accec8c51b3587e921e736a368543e3d4d18bc1919792fa807740306530f117dd77e912405a46c494ab2f441fdae7fb9d989a1af676f78aab0bb4cfd8119b45f18a77f49525a49393c5f8c80b1a4f903d80227858c7d1250089d2c48b014a49b57b9f2e49443bae8f6d04585f9e4db29c15ab08db0e20c611b7fba84496c39e495ef4f58866852ecf2859ea60fb3ef8435a7721d0c12fba517d6847ac3200c2aab1fda77ff47b764d51b5241dc55e71dc91c6c6b96ef8a90263ef83a097a4df1f2ade19bde4a3e1cde082f5fd61f4df84245070931523d442e34a72e3e766cdade4aaabf9a00c02200002200002200002b327805580d9338485d74ea0f8fd8fca8bec45e5d5796964a03fd0d7d9394532b7ed2acfb1663b2b2ae80d5c6f571f9d3fd2384c74c2e42cb5d22702724a4a8b1ceba3655b7fa79bde3aaefca8d6e97094561faacccb24039d74d2488fad1f1c71daede5d5a5742e995b59ebb4e7975438c54966d8c017d35a57f6c1919aeafc2c3a759c7037d635750faf2adef75175516486a9ab343025854d4c59f6f5ebe96df9525bb6353b7b25b51f088e3337f22184e894d31cd9b42e57cadf26ebca0c321c885190dbd82452c5c1cc77140923aa4461ae746c2c5e5f5cb6bb7a57a9430c29dafad2db72d74b4f0b777f585d640d0922c770c8b432dfb9717df1d6b2d2fcac7e37bd654dd256adafaaaade5591c77487dd9127e9d3d6fdfad38f3e3aba4d9cf98784b06dff91a336463ca3e2e8d1fdbff8b731a7a536a62b1e32dbd5ef7f7af2e481f5625d46d9afe94965263b095348f1fc92b4c2ca0f3efffc64645a1c9b85688d90d84abe35e9a6b038e6e251122d463b4ee8b9e19d2adc552a66915db171c550db9d412613bffba880b9a864155d30e9a31d2c3e0eb0ba840db33efe9066e6632f049be89179920ffd8895b422edf2d85e42cfa7e328e68ae38eb484e35c8a805df28ee8252f46215ee162f3342fd867eaf19f10850155ea580bcd589268e2e766cdad34485faac62708800008800008800008cc0d01dd5f447363165640600e09a4c98f83b3b997386fa4e3f6e5dddf9e8ffa1809b02de191439ca2d1b708b04353ceca96ef8ada1cd9c4eb139bd32cf21661763d84e984d64cc2117d71fac1f595e170584517ec6358dcdd3e32485f0c179d71e92ae3856da2cf9807dbcf7fd1a6d8d41482fd8324cda6de691e2b40533158226072510e091d29664d1612eceff3bf78dcad04a5fb0723383842f22d8e5dd57d8dcdfed1178fdb6e8aea9964df1f8f07d816ffa9e1c757be7bacd814e32069d9e26b0f2cd9d97459674a9add89eb08127ed61d9a53c58058c8b0b03dd2d69c4cf2f865468e682b273b83d0871c4c44e833f64b6fa157d8a3bda61895b2504ea5825849e259fbffd97b1fa0a8b23dcff3bc4782b9eddd16d129b3a700e92667a0d99c26a7a5945db37b158d866d85721ec40a96f324b69457f124a2d5aa288d28b55e957684385542c5c28b2af5c5628d22d50d152ad841bef05f6ca41b08d891443306399b39837fe84d77f967cff54592265d7bcefd9737334f5e12048b3fdfdbf1c873cf9fdf9fcf39b7daf33be79e2bd59b9692d67101efc8daf59b4bacca104cdfbe2bc77bcbef0fa55b2856e3ee23e9f6c215b7aff7f53dcb32bbe9db2a85cad8a3adb8435af620dce951aed1db98c1a9af1231b6a582c415859572471a3753af5b4ac73ef2fa2a337e6027888db5d79e69bd300e8ab8cec6408b5733da7eaed7dc4cc9b4e8e691f6e20e044000044000044000045e9740cc3fea5f5720da83c01b2040fff1fdf6fb9fee4f97540df575794db655c415a9583fb6595a9a02882374da24d57be6a5c9e88bca8db9e2e90a296f094b0d36edfbc4e6bdf89bfbb79b5dd6fdca196e2426339e282662a0adf9e1b0b978df878574cf7fa0ef74dd4d79fd53b3c76acb22be21fa67a7bb260000400049444154e980384700521fe3cc723411d2747b5a455af581ce6bbe17532bd66faea6eff30f5cfeeaba4fe7f29a9c1c93871e8d7ffff2addc63d691118bb5c0c666d8fe7b9d9d9ed1970f3a7bff327d85c737b9227bc7477bed7447b7fb5e9f3f94fa56f2332adfa4c42b0433b55a3a4b40531a627d15bea26e9502a59f78dd4584dcf87a5758b222c5477851a8488fc83490265737a4c4aa843bce5af28155d121fda4577e50adde53bb0cbb8f7d4ae0fa03775727794e4f8894f7322432a4a34691aa2e76706a25341131b6d93d233dcdb313a98861e68e346e26ad3cbb8b3702685ef47f1ce4473ed2c2b0c2a8e7d4c0d9c46b86a54b29aed7dccca886b80501100001100001100081f920803702e6832a64ce2f815c879d90e1cb17bb86262686faae5dbaf9a02fe2bb756c6a30353130304457e6c3696b216d357aa5b17570e8d980abf5cac351b2a620f68569c574757a61a04bad425b24592ca6f4edd5f92bc9f0ed66f9ededd84c0351548434f7309190e81f723737dca453e38038a11823fd98d88e05fa99047d9e960e3df34f927559a901efc533a7bfee1cd40ad44498c3244b1a29529b48d5a84a7184c6595a3b7d2c5fd3be626d45e57eea2f257dbfb9f589db79ffc1fdebad9d037e51728424ad4dff637b162d9ef4755dbcdcd6d6dcec7cf0b0ffa1d724ede5a0f93197dc579337bf3873f9969779caecd46e95ea2c4fbab4849a11feb51ae8958dd3ea467aa16c2789ccfc1706d214390c0a9f9254c1b0e36411d3761fad662a2ccc262f87875f921c36fed9953bcd906690d407416a10fec31db1e1e228bc33511456ca1d69d38ef3b011334aa916c779cac256a91535e9d128e23b9b784d4db892e07acdcd8c6e897b100001100001100001109807028802cc0354889c6302dad453924bd791d34bf66dcb9e1c7e70e9abaf2eddeca7a78857efb24aabcb72cdd45ceb2a32ea69bf744b24e174c8ba735f714ed2a8e7bb4bbf69bfed495a95b3ef8312a941583e4d29cbd42693bc6f9bab4bb123fc4327d5f4c6bc6bff8e9574e27ab14b5ac18ec9e4992dc9607f6c5bb6d003e09c57bef9e6d275bfb0864e96876fdfd28701cc5974bfc3947bc0af3509274243832fc8aa74bad73d30313935221de8162e65a93087f53c452f19833007b9ad6d8b834ef3a7463d4ee78311f930bec991e7ff2c17d22dfba65d7b8bd9bbfc53bebf4fdd9eb36605991cbeefbc4db70f24adccaed865176c95ef6dcea6c5cf7d1edff3497adafb8e5fec7d4b6e1da14abe49b5d9d6b1c2a9c9213f3d052fea566a66564dd412b2b4f05f262a11bddabb137a2ffec6ad1c7da8cffcdba182582f326593a5bf5c4acf02619b8c3a4eae15ee3e314ef7b17aa9f68235ecf7ed427a64bf749979439a6daf5038853b5d3a56506e24bf37123338c3ad5873d93fa5011dd933501456ca1d69e9bce1a71fe792d248fdf4998c344f338c6627f6c086ad9a1605317036f231e7d6944c8fb69ffb74735148a1a8e8e69abf4880000880000880000880c09c10f8c90f3ffc302782200404de388190480fa563a7cb47fea3791a3bde642bae29110684065bfffa3bef8e0f8f17b0999dae8825e971f911ae0db49e6e1fb27d726c57442e3d30ceddfcd5f591dd9f7c946b0a75379f71929d9f562bcbc55c0ba655a46b15122744420d49007228404f090cb043fe232a07266854c2644e15d4231974d2e73339b77ac3d2421303ad973b7da3932429fbaf8eef4d653e4c43295ec7c9eeebba6f763c74c3667602e2b48a1c9cb4d22c14e99a84873437338e11b3ccd6a998770909ead2556349f9e9e666ced2623403011000011000011000810409602f4082a0506d0112a05bada3269c8918f9265b71ed091b10f0769df98e9eb46f5667cde122c29251937d62dbb93369b2bfd3ab5b68661a263aaf3f4eca29c9a5d503837d7ecbee4ae310006d328d229ddd262195cedfa32dd1550827e987d452399559e61b0f0150abe6566f585ac0dbc74200f48c3eab5d0a01d0e43494e2749c8c4ed77d72c68cffea7a73c66de33688199cb4e62c14e99ab0a43c90b899712d9955814ec5acdacfc4d90475e9aab1e41b43314bffd10c044000044000044060091348fad5af7eb584dd836b20b0a009fc4ef4ff8e1494fcaf7ffa5662ebe429963f324ffce3efe80178eaf493ba1778f65f467eafacf27f629b094c6f6d74fce9da84e6ec0b1acc42362ee5f7d7ae7d2bf34f0ab79439fe28513bb91d2737d6775fa2e2de48bd990ece37621494800008800008800008800008bc3e01bc11f0fa0c210104400004400004400004400004400004400004160701bc11b038fa095682000880000880000880000880000880000880c0eb134014e0f5194202088000088000088000088000088000088000082c0e0288022c8e7e829520000220000220000220000220000220000220f0fa041005787d869000022000022000022000022000022000022000028b8300a2008ba39f96ad95217f5ff3d7adf4d3785ae24da2d0946a09aa3d140804428a15a1096f77f740201418e8ee1e9c5073dfa489d0050220000220000220000220000220000233218028c04c68a1ee1b271018197cfcdc43e7d701bf9278932684b5ab661022b6d5d5d5b5ba653302de7b4e67fb807fa0dde9bce715dfa46dd00502200002200002200002200002200002b320800f8bcf021a9abc3902826def27b921938988f47f24e90d8f574d3b51cd20c44492e8ff298608b692774da2d5922eec20822df5cd71812610000110000110000110000110000110981581373cab9a958d68b48c0904bc5d5f5cf1eefab0364b8510f07636b47a2de9a6c78f4769de9a9ccd76b3f776ff739a5eb97ed307d5250221de5bad6df73d9352937539c5d59585446a959e65f2f958ab15eb367cf0c14efdac5d161b55c1ac6ab7fa25330e6ebfd7f41d6bef6bffacc1fbe1a15dfe3ed7ad7b9eebd76956d2db5eb2b7b2c02c29c51f10000110000110000110000110000110589804f046c0c2ec1758a510080546a6c84440c723141027a75e3c7e4cb695976f5abf72d473ff767f685bf9eee2fc752f1f3fb8e6160383ad57ee7bcc399b77bfb77b73ceaae71e679f9fbecccf5af97c814def96efd8b47ef2f9c36b7d133aa9fc0a9a762561b638b66d58459bad787bb3c346a8a2db1e935556240c7b6e5245b84000044000044000044000044000044060211340146021f70e6ca304d87695d82d2bdb7e51ebb0d94a2ab72711925dbedf61cb2ddce958c180854ca9b60d1be8faff766bba253d7d2dcd1af22b13fe4def7f5462b7159454e62491c78343ac7ae4155341d32e2752ed8eed16fa464056e1f602ab39bea248a9b80301100001100001100001100001100081854220767ab5502c831d20109f409240f7fd4b171bc121ba57c04c4221f98c7ed3da54e2bff5d5674ea546f827c9a2bc03c02ad2f041cc356d05da425222a98aaf284630324000044000044000044000044000044060611040146061f403ac982d81d8aff30db4353f1c3617effbb0304b2081bed37537799b0966ab4f69c71e9c37a2e835ed4473100001100001100001100001100001108820802840040edc2c62026a3c405ea72721d13fe4ed6abd394548409c20fa93005fcb49a6666a62606068ed244b9aa21505fc171b5a43b68a0f76e6be961e34060110000110000110000110000110008179208028c03c4085c8b923c0be0f281f0da02624d9e1714b5326a912fd91cfe7b76dd972cb77db79e51b5a73c59a354993a3c3b76fbd28a785e1564c88dc4a12a7fe89aec0d39e9a6b5de5f178da2f850ebebf65658ca28902fbc4e45420e24043553c7e41000440000440000440000440000440e0c726f0931f7ef8e1c7b601fa4160ce09844431404c66c1ccd6eac58059102267f873a6f08d299a338b2108044000044000044000044000044060391340146039f73e7c070110000110000110000110000110000110585e04f0a5c0e5d5dff016044000044000044000044000044000044060391340146039f73e7c070110000110000110000110000110000110585e041005585efd0d6f41000440000440000440000440000440000496330144019673efc377100001100001100001100001100001100081e545005180e5d5dff016044000044000044000044000044000044060391340146039f73e7c070110000110000110000110000110000110585e041005585efd0d6f41000440000440000440000440000440000496330144019673efc377100001100001100001100001100001100081e545005180e5d5dff016044000044000044000044000044000044060391340146039f73e7c070110000110000110000110000110000110585e041005585efd0d6f41000440000440000440000440000440000496330144019673efc377100001100001100001100001100001100081e545005180e5d5dff016044000044000044000044000044000044060391340146039f73e7c070110000110000110000110000110000110585e041005585efd0d6f41000440000440000440000440000440000496330144019673efc377100001100001100001100001100001100081e545005180e5d5dff016044000044000044000044000044000044060391340146039f73e7c070110000110000110000110000110000110585e041005585efd0d6f41000440000440000440000440000440000496330144019673efc377100001100001100001100001100001100081e545005180e5d5dff016044000044000044000044000044000044060391340146039f73e7c070110000110000110000110000110000110585e041005585efd0d6f41000440000440000440000440000440000496330144019673efc377100001100001100001100001100001100081e545c0b4bcdc85b78b9b8038e6178384a408429a202c6e57603d08800008800008800008800008800008fc1804b017e0c7a00e9d332510f4b77cbe7febd6d2f22a769597966efd8bfd6d6ebf2c26e86ddb2a5de71f8924f8e890943ed4f268a64a12acef6d9335ec778b09b688a9666864d0db227bf068ccfbf96bfb4203275e7a3d19938d88601563d7fc65449961a4c8108e514342e6c4bb58536373e299312706c4133e0ff96337cec88379ebff56d7288db5adec21c2050220000220000220000220b0a409602fc092eedea5e19cf8e850e9c1fe285f5ef99a0e57f51cbe70b6cc1a14957000db274082f27c776c8cddccc7151c93a749af23dfc8c8a0a878100c8a5ec98147fed9ebf2b6fcf270fb38492eeff86d2ddd3e11c96a3ef0f0654699c1af24e706834fa4c42cbc0e2a5c4970f6c048aca9b139f1ec9f1303e2099ff37c6fdbc7f54e9f2c76ec77ff9f9c901ea2395705812000022000022000022000020b8800a2000ba833600a9740d7e75a0820fbc0a9da8d69a4a7eddc85bb4f69e5defa5fded9f8db227bf5a50b2574e2976665af09a470a5cc5d66ca5cbc8b6060a4c0dc2912c5944c4be6d9a6fa3122a4655a676dbe909646c838b1a4c91a25e16156b3163bd3865166183517f27e7de1029d8b0aafe1b591fce9ca624d8dcd994ec6e228efb9218500928b2f7c5f9b2910bff7df6b0fd1e2700056820008800008800008800008cc8a00a200b3c286466f8c80bfeb5cafac2cbbbee3a25d9a815b4f7e9b97f6f3c3ed3410f0eacc7957514d4a73631b5da02f3972bac8126159d0ef3a7ebc8d0874b7c0c6b30d35b4f05157e3b9f3377ce3af0849ce2fae3976a4c2924282fe3bc78fdf089294b293a78b32e97c3978e7dcf196276369997b4e1f294a21fe1be7ce3476f4d336195b4bed63f25a7558517c992d4121afa2da7ee7dc99bb4f99c677aa4e9eac71448511a28d14c7dc5d6d377adc4f9e8e93d5ab33ad1b2bf6549758c7ce1c3ae71788a5e8d8b132292830e6fefce3e63122fee1bb7f397cfdef788a329b3f3ed7e395667a4fdb7e79a827afecc8913c7f9815f5547cd2d2d8d8d6e31ea740929333321d15b5356576d2f8f1196f504cc9ab395bb391f9e9777d7cbc8daeaffff9febfe8bef8db78a04406a2c5f5e4e92b2a6c7586a3a4bab6a6288d3c698c35a328338e6ada45feb6f3e729626bd9911a87257eb5307f6e6aba3ee58e8458532b53ba5aa31952e3e30ca4584bbcae96c6f36dfdb42b497246b6a3fa486d511e8dcbcce68a2b4aee1d21cd5166f7b6343a7d8c7ee991b33579fecf0f7dde3bfe2a3979b5a3fad8b13d1bc3b1a7a0f7dcc79f77b0481a7d86ee9c393e56f1efdfedf98fd79587883d02b8400004400004400004400004962c014401966cd72e0dc744bf97ce9ee9957de0881c0290fdb2571f59dd7e984ead5eb91ff9fdc1bbfd2c549039160c4701d20422f6ecaf3a21cd74920f3635d0f9e59d333f3be5a48de4eb55bfb3a9ea8ef7ea6f8f097e6faf8fbd7360a512a42880d7d5eb1b27be278f824736b6fdbcea823c5f22e4e95d65eaa40a31964967e0befec31d6ae557bd574f7c9e79f56c919ac131f2c9c7a5fb94b807ad353eeeeb75d6f53ac79a2e067dccc4fe476d3565c7e83cf289abf9ae6473fe4ffff19a8fa7e8ad13ee5e16b990ae715ffff893ccb19ab49e30ab4c7f84ae57af9efaeed61fbe2b365d4df3f7f75397fb5bbc351b69c8c17ba7b997a958bd23f82c2ea83d62f9c17a451bed97f1a777af9ebaeb0dde3d69b91163c69122124775c79eccb19ede5eaadc9be9af7104e356cb8b8aa5689a9544d0a84f8b5cdc91f07d49b4a97fe0201ce333e30ea4482bdc8d72ac4ace65784f1dbceb3e75f5088d6eccf0321025fadd72a7f4f7df55a4be1aefa83b101e76afc6ef5e382a5ae8c053f506c52ed6c1f2f5cad7dfdbeff803ddc040144065835f10000110000110000110588a047eba149d824f4b87c093476ed9197b1e5b800d5f82b564b57437ee1d4fe14c5afc77ceefffd95169a2b3fae8a5ce8a3c41749f974300d9a527da3b3a2e9c284da6025e39cfdc7812fb1681fa098214d1ddac8400324a9baeb65f3855ce5aa957423293f34f345dad3f5a2c37f2bac35b097846de904300ef1cbe70f7eedd8efa2ab9d558705dc5816c967ee5743101a2ab4d3a2a21b974fb1faaee47291a14beefb87aa23483b55a5d7aa1bdfdfb1a3bd1b112ddf1740945d55b592bd27f879d152776b5d110008dc454fc9bb5ec577f69a0fe8beb8e949f7ca0be835a5e572ee9ed6d7994628f3523be6af64687ec0f9de51b55d31bc14dab54b442cdd4b8bd76272ddad48315d13935f6b8cde940d25ffe3b1fb3ed2a6c0b48ddd5f6abf5872522a4e3c4b9c87afa3671d2c6a2c27d9a7db4fec2a9aa7c55caea037517b8038f0879dfb73715cb4339792b1dd8fbf256aaadf00b0220000220000220000220b0c409602fc012efe0c5ee5e0a51967c39c7bdd112b6ae1f7ca9ae77eb9d7de5eb9566aea4b8fedb126987b3d7e5922be459c9a39e1e4204b95d7f9b4b3ca66f1a91feaf2e5a935ec927ce1ec9a32ba996dad3c5778eaa1b0a1291597cfa74115db8ce3b52d5e2bcfa948cf7f488c421eb883552b0d774b457f8fd7e3185b87beef474c9da59f5bca23dc9174e519bdbbabc65d5629b34c1ccae295b4de4e937895544848d16419a0d0b82258d6e3c20744eaf5d06ba2c1bcb32083b7aa1abcb5b9319bc23ed9f78a7a2482037b4e6518995b222f2eac2e19fddd95a52b2b1bafe425e9e95be6f4127f6962833487c37f5620d2c0c3ee9fae5a116221f77100c06ad7b2e9e2cd1b73548ffd7f8238194ed893695441bef8edf5c3f90fcee2e79801dbc7876231b3965678fbaaaea6890a7d7e515f7486758c846727dd107318c4595a9ae16d79d2db1a751b6d9570fd2c1bfbaf4e41eb693a3b6fcbc931e1039ee728b47362a8f13fdda665a6626b58af6b1c592694923ca47245459f805011000011000011000011058ba04100558ba7dbb243c4bb3d22d006cd1fb89778ce85f09087a5dd23498acce4bd7afcec7787da7c575c45e42e75429ea926947fd296db334abeea71320fd9c2b4244b2d2cac2e6d0d295b9d14e9ccad6eb44642ab363125404a8f77a359a91848c75357edc249d7da8afc0d2968dd519846e4c78eabae3b68e4913f3d5d54556e257a200aa609e22fdec3f2c37be2e21af2c9b34f9e8d4f18e2b2f28e9caa8a0fbd8e3af62af2b3976e0cefe0bbdb4ee2bdfdd8ea6bb8c7146e9a98b471c61b86133e2ab0e9b475371ab05c7bcbe711a53516bfbbd9c38915a18f5abf629e18d04b56ed8d4e89c443a9db6092aa7ed2767aae700a459ed3404408b94af4ca882b9be84a14d2b4aad2ac86355fd40823a1e081bba14943a8055b5ea6faca76a097e41000440000440000440000496240144019664b72e1da7d22c7431935dfd4d8ddeb2b35675c2f3a8ad590e02102b3ddd9c37374dcec8204fe9917caf7aebceb9361e73a40589324fac3a55af2e89d28ff1b1c3e8856097ac450d1484d7cc5f2973aaf007d4fc8fe4eff7b1164632892253961cfeab9f74c518f9e8bc1202c878a7aa664f9155f0fef2409d3ad5651bf52f9cba4b9e5e3d7c4a9297bd877e3121a87c2731ac4149e915a9bbe1f5950c75a538aa8b9b4e38c978c7893a5957190dc2a813ccf08b05612541a1e2f4b745741b83dfebeaeaba71971d49f0b4e3445b99738fd66daa1986aac3361a5413321d55e52cb423d50e120b3b73316c0ccd55a3029c3e55cb38234153ae9aaa65103527c14e575909dad0098ef1bb8aeb4b582f7545f1657a51fa56d1e9083ad185b8070110000110000110000110583e047eba7c5c85a78b924066c9e16cd9f0de033b0fb193f3bdee1be7f61fbc20bd154fc8e123fc7de0191527bffdfe94bc4bc079e263b748e8be6759109d32dae9654da31f02387ae24463cf584a9a52e4ba41b7eb13bfbb856edd97afb7ec795262fcccb91b6c1a35e66e965ff696720d64cacd8dffc61aa9ed4aa8a1df12b05bc9931e3504c024591c74853e7c1557eb96d9c3d9bcd4d39e477e519d4c6a1594980a5f97bd447e8f5daebd750fd36500ea1f1a2b8b8b4babf69d4fdb58527bb2e1dba3f2c90274dd5b9d8e534161338c546bf619d148b3d7d4d6d62897f461035d339a3430f5adf823212c236caa9aa7e624d8e9990ef9bd8ff1c6c62e3672824f1acfc87b50b21d51471b4ee7cb0c44a9c6f27f838f0e6d65d7fe9647fc0ac8050110000110000110000110580604b017601974f2e27631a5aca1fe4ee96136e97fd55f7ff4b0de9bfc834d65f45b7291af342b93cea04804474355f6c1abf41569dfe1cfbb9c678f149fab72be22ed27aada75522acaf2522c2974764deb3d759e2a759ed21592750e7a501e7b0160fc6e7de9dd7a7d114d5b4ae2ca2463e157fae556fab5d8784636589592133ffb797ea6d84f3f54205d3d2e2fb1d3b3fdec7bb6269fba2bbf6f9e5fc65e37e75c118a94a97fffd1aad2d5e5f5df16e9eb1bea12ec15f9a45e09b664c8ba5232adf140bdb57123e970d21deffbb6fe2c3b5bf0f99e4a9ab2d999086c355bd6a598713a25be6a39eaa29819bf1aa561781998bacea0d7624cfdbed61e65fcf7b509757a4a66c9c1ec26f656c5ddbad2bbf2860a66714655ad5d8981183aa02b3416a5ef6eb991424d95a0ab10949f95e018aba2cb57abe2170440000440000440000440601910c05e8065d0c98bdd45c1dee0bc74602b9d7eeaaee4ec8375571b2ad89431254579f15a9a5b291bc053a473e3f26a4e2b07a1f7d6b5798563df5f28cf5f1d96929c71a0ee6a193bc02eefe489522d3f39bbb87cabb410cedea8b69c6caf7f27dc68f53befc86be4f24cce124f664a8af21eb6b6235d794f9bc98c6be47f2afab44ab6f0d5531a02c8c8ce883af4c0515121db995c5c91a7386ca088e455d4681e4b8ac3acf26ace4ea36b8fca249f7e6341561b17d43ac7b1a6c332ec712504909c7df442836c64941946aa355eb457a6b350eb3239113912e29a4afb345eaf513951a6f272e2368f3440a8b8d87eb8583f6e93b71eacff967ea961c69791a848a554b4f23c68e717a8038f75bd3c6ae51ff96845e9d880a88768c6f6a1010880000880000880000880c02222f0931f7ef86111990b53973581a03826ed2f4f118434f525edd90011c531b6349d229d9aaf1740e507d97c88275c6e14db46691f57a65e7ea2e9a028d2edfbd1868c79efd0f721ba1aafb213f8c881a68e3dead43c11b974415b9b16eaebf375e96b70d2c6a0a8ed54972068c7d3e924e8cde0a816fd5dcde7cfb5b3dd0e1955ca8499534d2770baa491a9c4b0d7f4a6ca5aa2730c9b870da3e396bd16418fe5e71109d74b203587a212d0862a2000022000022000022000024b9200a2004bb25be1d4122420ba1b4b0fabaf322497b7ffb6563d7b7ee938abf7b1bca9a37626618ea543019e80000880000880000880000880c07c12c0b900f34917b24160ee08a40896d5c9c9f4a4fa346bd191634b30044051311f4932c9c87494d5d62004307783079240000440000440000440000440402380bd001a0a2440000440000440000440000440000440000440608913c0e9804bbc83e11e0880000880000880000880000880000880000868041005d0502001022000022000022000022000022000022000024b9c00a2004bbc83e11e0880000880000880000880000880000880000868041005d0502001022000022000022000022000022000022000024b9c00a2004bbc83e11e0880000880000880000880000880000880000868041005d0502001022000022000022000022000022000022000024b9c00a2004bbc83e11e0880000880000880000880000880000880000868041005d0502001022000022000022000022000022000022000024b9c00a2004bbc83e11e0880000880000880000880000880000880000868041005d0502001022000022000022000022000022000022000024b9c00a2004bbc83e11e0880000880000880000880000880000880000868041005d05020b1200904865abfbe78cb1b081b177a76ede2d7adddcfc239ba54c8dfd7fc75abbebaae70de936f4cfb6b2ae236e7665264a1096f77f740201418e8ee1e9c0819400c050201b53c22cd9390b8584da366a196d08ae22512af4925e86d8e2730365fdf4a9fe6d44c78701a9b6d5c1aab57ce995d2bae34ae286ee6b4cd13180681cec6cf1a3a07b9a26233133723b66d540e579496a925a25ac5dec6ad19f2b6b6f6b1faa2fb8bcf1a0674ff918b15a2cf1972b57eddea4ab8babe29d220000220000220000220c008200a8071b0b009d059c2f3e167a2ee5fbc819181e1e79e413fd7ee807ff0f1738fe15c95db6e6e3203236f48fb6b2ae2368f872ee0bde774b60ff807da9dce7b5e313e29b1adaeaeaed52d55d0a70957023733be7056a299ad258cebb32633180f11364f2b59ada06fa54fabe5badf19986d389066e254587de2dac36de2a4b8067033b902f4964c3b0cc4816b0f47576cd99ecb15159ba9171e5b3aa31cae479a7c6e2957bed6445fdad7dada79afcfe3e9badcdaea1ab1dad7bc68bfdcadaf60909e18f23cf70ce9fe9b6850174520000220000220000220c02160e2e4210b04160e016984460c531361b7a688bcb0bd2c3f294e59b8d63ca504dbde4f7243f14c9b43a5afa988df3c0e3ac156f2ae49b45ad2851d44b0a5c6f7c24492e8ffc9ecf569da8a23819b195f382b099b9d38e7384ef11445d8ccabc0cdd3b7d2a73995c3f6730a23b2a6a93903a7c262a79119ae98408a6b003793274c6fc974c320e4bae521ebb6d9cd3c41bc3cbd705ef94cf2781e69f2455e2957bad6445f6a4e151fde1fa6393eef44ee1673c1f69cfbdfdd738b8576415f8b9f369992e2ff1790df04b920000220000220000220a027f0634d97f436200d02d31130e9260126f6af6f79e3b9f7566bdb7dcfa4d47a5d4e717565a12c482e1d725dbe7cdb67d9f4de5eebe0175786761dadb53131626763c3505645ed4e4b5773f383c72f589315eb8a2bab0bb3583147a6b7b3a1d59b9e65f2f946a5ba1b3ef860279d0d8bde5bcdadf747a798803539dbaa2b1d266fd71757bcbb3eacb509133ce1dc4c8e469db74cb8e87535b7de961425e56cabac7458036145ac827489d71abef4aeddf1d1de02761b1868ac6b5f5bfe61a54d30b4536e1bfe1b856e7f89d5dbe7ba75cf73fd3aad93f4b697ecad4cbf76e61b7fd6bb872aedac59c87bf1cc15d3ffbc5dbc738bd1f1b57f56ff70f53f0d8dcbe906ef878776f9a32514500763c4b24ced0af0989b55afad7e85b3d5cfef1a4d8e9c88728a331ed20b49ff7dc57e66f31657ccd8a026458f227dab48af0fee347d1d33e4f6e70ea9c3639a4ed7f76f6cf7719da23dc5192783d71aba022585e4bad393f18efd1f7b9fd2c12943b3a49b1e3f661eafc9d96c377b6ff73fa7e995eb377d505d42e7a1c6a2d2ffed1fd1ca51542bd3995d51997cabd47eb409d30c03220ef4bd2039dbd9488b358910ce03a5a19b2737f75abd722766317763fd5d1bfbe06b26517fb5cbb6a5b0f3413bfd6f5752564181c5442c05ab88a76fc06f2fb468751249c40e0f8187251151a8030220000220000220b07c08e08d80e5d3d78bd5533ae71f71df72b96e4997eb5657df4bba1046e7b983ad57ee7bcc399b77bfb77b73ceaae71e679f5ff6d16436136fd7d7976efbcc393baa4baca1c0c41499d05e591727a6462768ebaf1f3c16f377ec7eaf7cdb9ac9e7ce4bad74b33b576628204e4ebdf0f9029bde2ddfb169fde4f387d7fa2688dff5e5153a6f7c7bdbbbef6ece5937eab9fd6573772830c21411c215cecde46a8ce82a7f77c395dba3a939efee2edf946df6dcbed23a206a8a743505ab65c54b9f6b509a87f9dddda324c99a2518dba96bce47c7ccbbed315965c8c2b0e7669fdf62b524bdf0b8bc92a209b76b788a58ffd5ffe0d8b6611595b1e2edcd7f96bf594b3b6c94458c048973b4d8085bb8cc35af75095ed74448a237098c07f1f7c2f63b6c8f796383338af4ad22bd36f1869c66f6b49daed5e4769fe45fb453843b4e4281c9171e1a0258b33ee74f7eff9fe4c129b37dfc986c2b2fdfb47ee5a8e7feedfed0b6f2ddc5f9eb5e3e7e70cd2d4e2b2a3f8d3e7f310630b36232b956a98f096f7449cea97fc4a181299294cb8631e729e03e501aba797253932fd918edafb149aa5bd26fc85cb06df7279fec2bcc12a42729cbb6860cbbbd1175a6bde1fd57886bc3b49250010440000440000440605911a0ff98c305020b9a001da32f7c0f6ffba28d34a5da366cc872ec2c1402744ebe96785e0cf927ec6c444fba9a1b9e0fbf58b7e9bd0f4aac523396cbfea75e7443adf42fef297164c25c5850fdbec52bd2d001217165924def7f54924e6bd0b5f13acfe0d080d745c8aaf28ff6b3fd0576bba5f58b76cfbd015b16ad411571857333b91a1d96f0c6fb817bf7a6c8ca1dbb4ae854c8ba73e7b3afbef3740fec2c8cf688eab56d71b47b6e77bb27720b843ed73059b3b94020039d4676d25691570c3a1e90bddb0b6ffee67ef7c084d52e74bb1e93559b0a2da926cbf6c17b0fc5acc2ed05364272ff6f256d0df903b1dd5468e1f49dde6bd9aa28e644ea5de6b9d4995282dd44572b903629b012f98a712ab239ad94447ecfeef853d57eeb8097e6458f8dc034ad22bca66bd8548466a1a442c9a099dca11be93e6b4aff3770cf156798453b15679c5031647df12faa0b2de240eb4d9d49db7e51eba0abced6505fddf5acf2fd0e3a8e7343f7fadbe9e04d4c54b4014c53cca3174794e2ddb41c4416ba33d3cd3f5c39d2d2fa34dd340f6e2ac673fde53ee3b12387b515acdb1dec57fe4b7bc6b27605f10c4d1047f8e167e54617777878b36993682c465250060220000220000220b0fc08b07fd0e00281854c802ead67977fb857db4d1b709fa963dbd34d6b5389ffd6579f39638da721009a39f2cc1f22d67843dc56f9c1b3e6cb0f1e387d0f9884b737bc6bcb4d8f2f33499d98b37fe7d3208234d34f4d5777b15bede9c423af8eb332ae706e667c8d4c8e74510f5edefccd57ea2d756c88b9177b590af257deeeef1e20f654f74b92433782b38b1a1cd7ce581951e8f8e6a53bf257deef77f5119b856ed8ce7e578a49c8a18f90340fd2a5b912b89931c6c4328fa9c232a6af16e514578a12ba91ece7f6d4b4adf412e25456b213735fae1cb7fb629c8a374e56d020558c3d4982ba3b9d3d2021fa90994948e93c2956c01d7211a2620c604a6232e359c52a4fcbc13ff88ced6831932116128936297dff079b621e6126377ccd979b9a86287f67327234195a82f6357bdd897bf9bd0313e6acdc74b5db944a9ce161d955bba92dfabf6c5c99c804011000011000011058b604e2fd9363d90281e30b9280363da1d649d34cfa67a0adf9e1b0b978df87744b2d09f49dae0baf746edaf789cd7bf137f76f37bbacfbe98a276b2e1d27c09c1345e94d7effa0d7e2a8feb45a10fd43ddb7daee3fbcde65b36575c79519c545b2481ca1336ca9e0999726c31757784160761aa9f16fbfffe9fe7449fc505f97d7645b455c6165e194b9d0f176bfb3bbb3539822eb1c52dcc4d8ce70533515852e0e64f3962dd9fd37fb5adb98a22d76fde2a5fe3f292ccd95c0cd544d98fbdf28a7b8e341d5ca6ce676df16de28d2b78a481b55e633519b47fc1a745fb453ecc1e08e9390fcc844c8d5ddd066315742a2620c60626232e3896295a71d0656bab9c637443f4c61e27917e03dc25b9860ce35b76e6a0aa2fce58f1cadf634093af6a40ee7549bb875a5ddb7aef8d30f58684faac4fe7087c70b2fe7bf333bb3f40f264701b24000044000044000049615019c0bb0acba7b4938abfe6b56fa17309d1dd059bcbbb9e1269dda07c409c9c3248bc594bebd3a7f2519bedddc2712612d5d0b9dbcd7d5e7f70f755dbc480fe6a632fcdd37af5ff9b2d3ed0d99cd82b402976a36c597198d2eb7d04ec8e895c6d6c1a16703aed62b0f47c99a02e9f44156932b9c9b39adc65c0755347cf962d7d0c4c450dfb54b371ff4c5ff4698a5c0b186bc7cd8ff7c658e235d32d9d8ce68afe8ba7a24ba78e6a51638de26931ecfe8ca9c2db222393c333531303044b760b039979c9e64c9e86e8a2736c69e39c988768a3b1ef4f60ff3c6c6b4adf45e9b79434e732671f7e3775fb45306e384f54022975a2f3151d106481aa2330d44d1fad37230b11d0b213a7cb872b80fd4f48ece819b9a92687f67691293177ae69f24ebb25203f4b8cdd35f770e6a3aa48439959ebaf1fc5ed7c033bfd775cb475f124aa5fb90b8c323d5cdf92f5ba434dc8100088000088000082c770288022cf711b0f0fd5767fd9aa56cca4e57f66d5bb6ac242f9c57bef9e6d275bfb086eed21fbe7deb25ab2d2d1c12f3aefd3b5692c99b17bb02e98e6deb578cf6dfa4551ff8cd6c3fbfc964afd89dbd923cbc7ee5abafbe717a5eaccb7f971ececd95296dbf8fb4c264325b77ee2bce491af57c77e937edb73d49ab72f67d506296b5d3830278c2b9995c8d72304376d8945eb26f5bf6e4f0834b5f7d75e966ff8a751baa7759a5a845a4494aeddcc2ec1574937ce1169b9c616ca75c4769ca4367e54196cccb72e4d379095594ab0a49cdb5ae22a39ef64bb744124eafe74948e765eabd9664463a48bb5cc5ab25b8d5547bd8af52934dfca6190f745787667f36affb086f14e95be9bd16f99515d3a6ed74a51e35da6098453a15e28d13498ec44043a1880eb3a529992cfd915f70e10e398ea82803e4de89ca8c6b1593372d077316ddf632e51ef0734de23e50f1c6c61cbba9f18cf437973772224d523a20fa273434f882ac4aa7f14a7162726a849d31aabfcc25953b5691c907edbff9e6caed976465f1de12da59dce1b18167835e16d220000220000220000220f0931f7ef801144060d1120889223d7bcb2cd0f9374b9a05213cbd89724aae2a08f24c47290c0502815028b2d90c64d215bcb00151fa68194738375327842523cd512d355014a3393643a722b6709a1c5d5b9d79b71a3fbb1fd8f0c9473be3120f8be54ae06686dbcc774a561f351ef44af9dd27758341ab080991954383ad7ffd9d77c787c7e9a98d11234747556e1e5933b2b25e0127ada3ca299d51d67c898af44ea72586033577a0f574fb90ed9363bba461a6abacbac2ed26b530915f8ecc449a19d499854913eee6afae8fecfee4a35ca3c72934e11f0910bad12435b216c78559d860e0118a400004400004400004961881c87f4b2c31e7e0ced22740b70cb31915bb74493923ea2fb79c7ee94b6daf55d755d425b5e2c884510d9e70f62db559693452146912f7ee759aebda4a49fafdf3c6d6072fa7484ef996c4fe0b122d4132919bc9357e5e3275eaf9f2793d35ed288b10a557c13e1aff9d879095d286115a4d57a84bd282989a91952334c4de44ca8a2d9f41cebc888af14ea74597d4ccb4eddc79edcbeb9dde925d561abfe3d4e07693d63c8104476602ad8caaccdca489ceeb8f9372ca0d430054a329d542370bc45e1c17666e43ac58e48000088000088000082c590289fd1b7ec9ba0fc7400004664ec024a4a6be6db56fd9251d4038f3f6cbb185c96cb1e6e4641594688747c4a39078cd78121672fe8cbd13ecd5c5437d237e62cd5ac87ebd966d81112167d3fe4adb6b09416310000110000110000110489800de084818152a82000880000880000880000880000880000880c0222780d301177907c27c10000110000110000110000110000110000110489800a20009a342451000011000011000011000011000011000011058e404100558e41d08f3410004400004400004400004400004400004402061028802248c0a15410004400004400004400004400004400004406091134014609177e0b2343fe4ef6bfebad51b7813ce8726bcdddd03815060a0bb7b7022f42654d24fc9ab0e6a8969f5265e735a51dc0a5cf9dccc699bcf07d2c42de19aa7cfe48ad232b584be0937cdad197ad67df1ebd6a10486aebeb9f4ed7745893ecdd5fb9a997abd9a286ea656aa4fe86b26d0d181cec6cf1a3a0707ae357ef6d9e9539f7d76f1d61011dd5f7cd630301d22630e7a33f4e6210d02200002200002200002204009200a8061b0f8080446061f3ff7bc992979c07bcfe96c1ff00fb43b9df7bce29b81a53918f027eaa9d6649e2ce45ac2cde41aa0376f3e90eae5730d483c93eb94269f5bca15ae35d1970646bcc3cf3d2309449374cdc5b6bababa56b724479fd60b9eb334d7416e2657a5ce6c326d478b03d71e8eaef8b33f1e6aef1f5db779efbfcb5f397cff5277c8665ff3a2fd723757be9a390d07bd196a13fc82000880000880000880000828044c2001028b8e8060dbfb496ec8f44606af602b79d7245a2de9c20e22d852df0c2bcd419139999488a35a93f9b2906b0937936781debcf940aa97cfd33f933c9e539afcd7ed11267c85d9ccec098508bb8b73691a09319124fa7f72557d3a4ecbd7cce6b92f193ae371385d47875cb73c64ddb6fc95c278f17bdb0bb308a925828b0442f6ed39f7bfbbe7160bed423c67a6e1a0a3174f02f24100044000044000044060f91288ff8fd0e5cb049e2f2002016f6743ab373dcbe4f38d52b356acdbf0c1073bcddeae2fae78777d586bf5b3524bbae9f16356ba2667b3ddecbdddff9ca657aedff44175099d44885e5773ebedd1299a9794b3adb2d2612564a2abb9f9c1e317348b4a2caeac2ecca2d3326e26f1f6b96eddf35cbfce9abfed257b2b0ba4191c6b2a5fa2f75673eb7d493e35605b75a5c3c4b3392a7e106b5560f05a4357a0a4905c777a32deb1ff63ef53ea6096a4435e391e725dbe7cdb67d9f4defe122b4fa9c2c426701c9131ce1494dea4f47ffb47d496284b2ad3997d51999279d1cc036a97d984e9914a4e2b7f6241717b4a933fbb2131ada77bad5e79c8654976c5b8bc3676446926519723af49d7e5afdb1fb3512a8f673a3662dd549a1fdc7eafe93b36b87ded9fd53f5cfd4f43e372bac1fbe1a15d24ced85b1c1d2d0ef4bd2039dbed268bb0dd221332dbb66f67294bc12ae2e91bf0db0b9502b958f91b186cac5399481cfcb75adbee7b26a5e27539c5d595854437de22dae2060440000440000440000440006f04600c2c7002a1803839f5c2e70b6c7ab77cc7a6f593cf1f5eeb9b080546a6c8047d71582e7dfc986c2b2fdfb47ee5a8e7feedfed0b6f2ddc5f9eb5e3e7e70cd2d127f77c395dba3a939efee2edf946df6dcbed23a200eb67efde0b198bf63f77be5dbd64c3e775e6aa51bfdb99981c1d62bb73d26ebe6ddefedde9c230c7b6ef6f92381f95d5f5eb93f4adedef6eebb9b73d68d7a6e7fd9dccdb539a219cfaa502830f9c24343006bd6e7fcc9efff93eca0d4ca44978ebd5d5f5fbaed33e7eca82eb112be528509d791d981d29b949f462386319630fb6232b9dea95d363d523d299ea8380ebed69098d6536dc8717bc4d824bd4372faf96371d38ef078e68e5245a3d9e2d8b661156db6e2edcd7f96bf594b3b6c66fe3060cfcb4c9f8869dde77a6d643621d376b4383430459272b3a2632492ae2cdb1a32ecf6cab8a2ffea99386cf4d1bd72df63ce911fd255cf3d4efa9046f657b400dc83000880000880000880c0322780730196f900581cee6f7affa312bbada0a43227893c1e1c627ba4e5ff49e66ffb45adc3662ba9dc9e444876f97e872db770a763052b0a0ddcbb374556eed85592654977ecdcf936219eee016921774a1c9930a71754bfffdebbbbb7d3e57d6ea629d5b661035d5adc6e4db7a4a7afa51287fc13924ee5cfc03d1721abca3fdaefb0dbb7577e509eb3923cbe271f6c166373b81dd72ab9787df12f6aab2b735393e92d73925d93aee6862b0f9eafdbf4de47950534338e528509d71159d04c41c9ad54937e126b895421d63c0e73adcba6452a2b95ff7241c57150715f6e380f9eeae547bb9c88497abfd8d828088f67ae9b2ab154bb63bb85be119055b8bdc0be219cb60ec61f7bf3e03e353fda6b43b3c9b41d2d062836739c77224c96b52bc8f3a188872d4c50cfc46ae63fa4fafe0ab7440a0440000440000440000440801260ff54c205020b9b409245d94fcf665b74aa1f792509ea6a221bcd21ba45c04c5fb9962666f49ee6bdbcf99bafc24d4686d2f77fb0a9f9f283074edf0327cd7f7bc3bbb6dc745be507cf62324d6b5389ffd6579fb16a712eaa27355d7d49c06a4f271eafa4dad8668e55f2fb09763b670bf4f3615638f2cc1f2256e9898da794d9c87544327ec6a0624d8ab184098ec98ce71dab9c0052564dbd38a2b8dda7d6977fe7cb534d4b94cbf1996b2df489d8b1c17153822fb792069432a2a3d2fcb137d327e247e968ffe033926465efe2f02fea699c1001ab1fe630c311c557865c10000110000110000110585604a439c5b2f218ce2e5d02d2cc20ca3d9af7f6fb9fee4f97b287fababc265b60d06b71547f5a2d88fea1ee5b6df71f5eefb2d90a029cccaceee687c3e6e27d1f16d27dcb81bed37537a30267d2d44c1ca1910049fe332f4d267271ac5a455c6c6ec3f361d3be4f6cde8bbfb97fbbd965ddefb0182bf5f3bcdb1269144f4942264559224b8dc98c278a551f689b06698ca50975df96c866dadddc7aaa898d723911e65a5b5ec288985a5fffdf6a96361e0672abb9753fca6b692a1edd3bd23066caa7ed68ab2d8bf886e86737e21c01487d54221fb22fbcbf8cc3b48a780d910702200002200002200002cb9a00de0858d6ddbf649d57673fb90e3b21c3972f760d4d4c0cf55dbb74f341df50c0df7df3fa952f3bddde90d92c48cb8da9661337539a85984888860bdccd0d37e9098301316293726e21953f7aa5b17570e8d980abf5cac351b2a6c016777953e1cdb54a2e530dd7f74c92c5624adf5e9dbf920cdf6eee1389b152ae237a711169555f6226455b22898ace341045ebf39106bc17cf9cfeba7330c23642b8a266e6a026710e3cd56445bb3c4b9354795c37d542facb4c9f9a181818a29b41c269eb8cc6de1cb81fedb5b1d9fc8ed67965623b16e867127459e164e8997f92accb4a8d3330f44c26996b460f69582a52200002200002200002200002120144013010163e81c88982895ed4662d534bb02cb98cfec83371537ac9be6dd993c30f2e7df5d5a59bfdf448f6ea5d567bc5eeec95e4e1f52b5f7df58dd3f3625dfebbf424726ea66dcb9695e485f3ca37df5cbaee17d6d09711866fdfd28701ccd69dfb8a7392463ddf5dfa4dfb6d4fd2aa9c7d1f94480685ad627c23b73673ad92ba41a9a739a824d83cc7bc6bff8e9564f2e6c52ec2536a660ad9ffb88ec8c2a5bfec0fad970828b995ec09d79290ac34d2bc108fb9a63a0ed2c0c4e4d4083bf031e2e282e23aa81193dacb26b3e41c7bcab84952235dcee58da8489324bb943f61f35806ed091e315df3d45ceb2a32ea69bf744b24e17488370c24d161f934b5c03a3accc19c655b45a6dc03fe7096960a0d0dbe20abd2e9db31fc814137df684cd6f31ed2978c4198832618091000011000011000011000014ae0273ffcf0034080c052271012c5003dcc5e90e6cab2b3a14020100a9905413f57e065eadab264540b4558acfc0490ea2427503ba68a51739e2331023819463239d58db2224485065bfffa3bef8e0f8f17b0431c74452c499192eee6334eb2f3d36abab722f6d2d5570b67eba0da5e6f8396f77a891fc9240e9c04fc985d2baee00851d375b4fe692303ada7db876c9f1cdb15914b3f05e96efeeafac8ee4f3eca35850c0786668fce0696e43ea45a65244000044000044000044060b91388fad7d772c701ff972801bafb98cd3ef517fdc05d74165d3de464eadaea927a51b45dacfcc80adcbbd9b5d2441935e739a235344818c93468c62b0a8b0ad08fb77fe72164a51a84091729e402037d7ecbee43dc100095adabaf6a9aad836a7b9e4cad6c76891fc9240e9c04ec9f5d2baee0b0a8e93b3a52806de7ce6b5f5eeff496ecb2eadfa299e8bcfe3829a73c97fe7fa7c0a0e1c0d0c4856d98878ed5b42001022000022000022000024b8400f6022c918e841b20b06009849eb9db5c8359052585d6d4056b240c7b7d02b3e8e867ddd7fa887d576156587bc07bed9ab7b0b284f3b58c7025a4400004400004400004400004664f005180d9b3434b10000110000110000110000110000110000110585c04703ae0e2ea2f580b02200002200002200002200002200002200002b3278028c0ecd9a125088000088000088000088000088000088000082c2e0288022caefe82b520000220000220000220000220000220000220307b028802cc9e1d5a82000880000880000880000880000880000880c0e2228028c0e2ea2f580b02200002200002200002200002200002200002b32740bfc88c0b04161981d0b3bed62e7748c8adac74e8bf33fefa6e8402622064320bca87edf5b78121576bd7a0c962afdc5530278f0dd70b6e26d72fb5a6adb2b2904260d60d04ec2525267757df88b9646f65d6dca2e11a814c100001100001100001100001100081c546604ea6338bcd69d8bbc8090446067dc3c324c91c20731b0510dbbef8d23395b4e3c3e305026514711b9af03e7e3e4c9e9bc45d0573f2d57bae17dc4c6e770546061804620a10160598f07a9e3f27de09d134f0f8f914f1874816b7193241000440000440000440000440000496370144019677ff2f52ef4df2b89df3d16b2254e494c9acaca247dc0ab9bbf6a54e98522d73120260e0b95e703379dd24d82bdf4ff513f35ad91e5bc52f52fda269ad8554be576016b25814031708800008800008800008800008800008441398f37954b402dc83c06b121874b576def3bc9c62629256bebdbd62af4d954867ebfeeed6cbf786e836fe2dd5d5817b6ddd3eba10ce2abebd6167f54e3b1ddfe250f7e5b65bcfa5f66bb237efddbbdd3cd8d9d83660b6a49b45dff00b5a7945ce8ebd9536f16243dbf024bd9dbc76e6b4cb56681aec0edfda2baa7387dadadc264b417561e0226d9e9e25d0dd012fa8b6559b76148eb89c3e4d54413a95c2d5dbd0e64eb516584477ff30d9b6238b56a397de8bfff1cfde8ecddc527dc81eea8bf662c8d5d6da47d6daf7ef2f114868c87dafd3e57d31c9bc5fb16afd965d95857825404689bf2000022000022000022000022000023a02381d500703c9854740745ffeee360b01accfc95fbf2669eae5b0f3f2b597b29d66e2ed6bfdc6e9793939692dd9bbb6aff93e0d01ac5897bf216715991a7e78fdeb5bcf42cf6e7d79c94943002bd7ac5b9544467df7bffada1508892fa72647877dc3e2ca954954d6a4e766db2061c701b03bba486f1684df4b89b8359b428109aae8c5b3919772f3c79ec7a26905abfee2c14d1a02485aa1886a1d0890787a27a7a69e7b1ef44bd105250217e9c5a6353f612223330bc93d8e1713232fa83dfe89108d38b85bafdcf6d010804c69f2c5634a496482708100088000088000088000088000088040040144012270e066a11130adb56fdeb46153f1eeca5ddbede96b23cc7be969bfe9a139f9bb3fac2cb0d073fd586928605a9bebd8bc61d3b6e2edb9a983ae3e9a97b46e434545e5ae9d39acc273d7a0549124adffabe31f7d74688734f30f8821ebdeda435636ad5fb1f3d0a1bd7ff1e711b7dbadacad74a9fb67de7efff8b163fb3648792b8aff8ade94af6437a1408818e92549f9e5bff8f4d36336f9bd83482f2469844466f2a5d1d9bf74517b8c2829b5f003022000022000022000022000022000028c803aa3010d105890044c02f10f0ef85e3c7ce054ed8b19b3fe67232457b0efaa1c686ef38dbe78e8bc2e555d49defbc38921b6c57feaf9c34bdf3c54db1379fa9c946e636fd40be9e949e4f194fc24c8e1013a8fa7f9b42cea561320255608acb9256b2579f872459691ce59a10000400049444154242b2b7d05f14c5251e2407cbd64957da7cd12298bddc95e44e54b99c4489ad420114a5192710b0220000220000220000220000220b03c09c4cca896270678bd50090c745ef3bd985ab17e73357d9f7fe0f257d77dca249e19bc2627c7e4a147e3dfbf7c2bf7987564c4622db0b119b6ff5e67a767f4e583cedebf4c5fe1f14daec8def1d15e7b2830e2bed7e70fa5be95fc8c363629e7f0495f0594ce12d01884221f8ba85ba59ab214afaec86b8d5942c88daf7785252b527c8417858a9c884c03697275434a5215d13f383442cca9566bba295e5a518d1f100001100001100001100001100081a54c006f042ce5de5d12beb12973481c19eaeb6aedf4318fb439f48ab51595fbf3d92efca9fbcdad4fdccefb0fee5f6fed1cf08b21696e9eb436fd8fed59b478d2d775f1725b5b73b3f3c1c3fe875e93fcf63f2d88be42528861f2e617672edff252b591b74a6d6ddeaf25a2c5106235d02b1ba7b589f4829d3048afc8cc7f61204dae2f41e153922a88de5bdfb5b77f77e51e3d2c205e5a91841f100001100001100001100001100081254d00518025ddbd8bdf39db16079de64f8d7a9cce0723f2617c9323cfff59712c404cbbf616b377f9a77c7f9fba3d67cd0a32397cdf799b6e1f485a995db1cb2ed82adfdb9ccdde09f0797ccf27c98a753b7eb1f72db9b5164d60b7f24daacdb68edd4d4d0ef9e97c39ea9695d073fb94765a42cad6fd61e589e855f622b0170fc25efc8d5b39fa509ff9b74305b15e64ca76487fb9949e292f3448a6c9ca56483ff1d23a1f9004011000011000011000011000011058aa047ef2c30f3f2c55dfe0d752211012274442cfed372b137003bf42017a4a60801df21f5139303141a7d5e654413e91cf40c0dc16cdaddeb0b4d0c440ebe54edfe82449cafeabe37bd9090574c344c294e6d64948030110000110000110000110000110584404a69f562d226760ea1225601252a5796e02ee99cce65473ec54df9c9a1a9b9980b8d7ad32b77ac3d202de3e16022064a5d5aea29901a5d7750bed410004400004400004400004400004162d01ec0558b45d07c3973301f1d98077c4946ac9cde27c6e60398381ef200002200002200002200002200002c604100530e6835210000110000110000110000110000110000110583a04703ae0d2e94b780202200002200002200002200002200002200002c604100530e6835210000110000110000110000110000110000110583a041005583a7d094f40000440000440000440000440000440000440c09800a200c67c500a022000022000022000022000022000022000024b8700a2004ba72fe1090880000880000880000880000880000880000818134014c0980f4a4100044000044000044000044000044000044060e910401460e9f4253c01011000011000011000011000011000011000016302880218f34129088000088000088000088000088000088000082c1d0288022c9dbe842720000220000220000220000220000220000220604c005100633e280501100001100001100001100001100001100081a543005180a5d397f004044000044000044000044000044000044000048c09200a60cc07a520000220000220000220000220000220000220b07408200ab074fa129e8000088000088000088000088000088000088080310144018cf9a01404400004400004400004400004400004400004960e014401964e5fc213100001100001100001100001100001100001103026802880311f9482000880000880000880000880000880000880c0d2218028c0d2e94b780202200002200002200002200002200002200002c604100530e6835210000110000110000110000110000110000110583a041005583a7d094f40000440000440000440000440000440000440c09800a200c67c500a022000022000022000022000022000022000024b8700a2004ba72fe1090880000880000880000880000880000880000818134014c0980f4a4100044000044000044000044000044000044060e910401460e9f4253c0101100001100001100001100001100001100001630226e3629482c08f4c20f8e850f1c1fe482392576714eda9adadd8281012f4b6151f68a2e5554d1d35798238e6f78f892425cd9a99c61aa9cdf30f3435ecc98b1443dbb6141fb840487e537b6d5bf981bb34c5ab16d56a3e6ea3bc88a722c16af19acf20df909b5e8eca901c68ead893473bc4e8f2b61d3ad0443b33bbbee3a27d9aba71e5447771dc8a3105aa5324fb60c7c50abe7ed1bdbff4b08f35cda8ebf8968d3076892dfb4b2f48b9f27dc45f2aedd779c76346a95227fbe7fbc9b717a5b6d955f5176bec527eb0ebe39d75bdaf683affe0a5868a4c3a52dd371acf35773d1d7f459257e797ec39565361e19b18a17c66372a01ee3857bb72068f436c5fc4e668cfe03b872fd4041bd900d0f3574de297cecc3dd4060110000110000110000110488800f602248409957e3c02c1b118ddafc69f3a9b8e967edc454b82a25f2e1783ecd7dbf2cb03f4dadf22cab944693e3626152b996a9928cb1e0b0645af94f7c8cfa916d9685eee82aa974143fd51cece8b29b2d060f089949816084527b7e0018e3630480334ec327432ba51f47d4c174757887faf521e8b1d534a23bfab459dec3f6de99219b02265a470453fa12350951c5be1c9cbffe5e46139db77f5e33bd26815dd8d72088024171f63210072e74ce5e1fa0e1602a0d7abf1fe8ea6aad28fbdafc549d619f5778e1f87d8be88cd21ea58f2fa45659c3362ea655caad6c22f0880000880000880000880c01c12c05e8039840951f3422045919a7db8ae268dce83dd5d4dedbd2cafb7eec693a2327bf5a50b2574f29c66652ba7421add02304e2c696a2ba2251431ba1f81b52d12c5944c4be6d9a6fa31da3ad3aa2b5f7049c9e0b0b3f3689f90f7eb0b176860454818484a8a0169c5d294b958dc8eede2c4394c67a2d8765e1a5a92c4fe961b6315b5d2969214fb9e721a6e1252c8a3b6f67e69aabe3abfb8242f8d064152ac450209aa9257175795d05c75fe1e4cc974a465daebab6e1cbe4ac30baf4e1dbf517471e3e7873b649b0ffefa8885a6fc5da79ce3524ef6c11315de96734e1fd5d1fb79dba36f6336b0c80d67fd57b5932360168f436c5fc4e610692c8d054521332f4d3cd9640fa6a4658607827129c74c64810008800008800008800008bc2e0144015e9720dabf21021945251b37b2398ca3c861fdbcaa8eeedf274fe80274caa3e6c636bac45c72e4178f1afff71eafb494fbb4ed97877af2ca8e1c71445817f4bb8e1f6f23029dd06d3cdb506311c7dc5d6d377adc4f9e8e93d5ab33ad1b2bf65497d82d41ff9de3c75b82425e45b5fdceb933779fd22959f23b55274fd6385294226b4999b5abf17cbfb47fbbb8e6e4b10ab6d35b6a7883da5476f2745126353678e7dcf196276369997b4e1f29a2f75e574be3f9b67eaa8e2467643baa8fd416e549d3cc0833d9cda3aec673e76ff8d8e270727e71cdb1231516dadeaf397bda91427de11b294fb1b8120c5c0b4fcc987e7fdbf9f37429dc5a76a4c6c126aad35a4ea333e7ce3777f433d764569240ff8d73671a3bd8c439636ba97d2cbcbace94884f5a1a1bdb7adce30c637246a6a3a2b6a6cc887f66f3c7e7a2bbb888ada54f6b1e5337ede577b5cb9371b9e678fb9d273515ac1f533656d46e9432bd82fb80f46e4049cd919a3c5a245d41b792c8a83856b34749eb7eec35a74bdbaa3a28055ffdd6ad4ac1eaf2fa0a2b93e075b15d2df43a70e1d72cc76179547cf829bd57f75770bb92f551631bddd590b6b1a22cf391f16090c447ff49e871b08e9d3974ce2f104bd1b16365528c6cccfdf9c7cd6364ece54f84c951fde35699d2d5caeb9d94e098bbf9fc0db7efe9abe4d5d97647754d8d2ed816b734e1b11aed17ee4100044000044000044000048c09200a60cc07a50b9180b60b9d1a27fa7beef6b3f5dbcce17f77a3575ea6a577e3befef1279963e128409a40c49efd5527d8e48a241f6c6ab090271f97ee0baffc8e8ffb7a9d75bdceb1a68eb2a0b7d747a737be7e75cd96aee2f65e3df179e6d59316b5a8dfc924d1ebd5b8b3e9f0237ffdb7b5f6a09f96b2430cac6341390ae075f5fac689efc9a3e091a2478d3f3fdc2ee9979a3df5dd3d75f0aefbd4d523d2349be5a9d79d333f53178769d6ab7e6753d51defd5df1e133467c7821b896a498c91674b2cf12518b552f5b31df03dbdbdd4566fa69f4601dc09587ef742bdda5c6175b64468f979d505d5e3a7773bd4a45c3192ffab571448fde1bba201ffb74eb863bbb8283311f354db8c7edd6d2d52f1ea03474bdaeaaed280404bdba38a23f29bfc4a43f50508bacf9daef7ab51004dea53778f77a36e2f408ac56a95f6a5588e5c3cdcb14f4344c7e0d65fd72a9283ca1b0af91ba5a000152dbf3821ff8dd79516d1dfd2cea216ab89a32425b16ed5ec9cc1e37031e86363baff515b4dd9311ab27ae26abe2b0df22442a61481d2e3f6070e326defbca24f59c789de8e5275d847f45d64a9f434f11f433ac23557900001100001100001100001109829819fceb401ea83c08f43e06957f38dae1b37da1acfecdf572f4fde93adf4fc346d23fa7ff76fbeefb87aa2348399b7baf4427bfbf7ca496c2cc37fe7fcfe9f1d9566a1ab8f5eeaaca0e708ba6fc852e8b16477efdeeda8af62f5e4f5576d72979c7fa2e96afdd162b9c8eb7ea29bf7651c6eba7af5c2896ca9ec69fbe73d74d2a635941bd037149415f6146ac1c7720820f99dbaabed57eb0f4b86928e13e722d7c789e83e2f8700b24b4fb477745c38519a4ca5bd729eb941b5eb1468c918230d25a896c5b4520ba4df14c515667e8296c70814ddcd4a0820a3b4e96afb8553e5cc11f59a0dff4181d3c5099aa7ea8dfffba445eea0d54565257b1c92ade31d2d51bd13bfb95cd27b941e4b7150bb0e343f92e7f2344c55565f250f1656b3f4acf42e80d428afe65b27bb1aa415727fe3a1a3746e4f2f7b9ec5a82ba53af40f3b1123fe60506b45fccee4715857714032fb95d3c55888ae3616e722c9a5ff47d4e376b062c6bd63dc7733742ac243dc800008800008800008800008c4278028407c36285958049e5eadafabaf6f6a77d2e54176ad2e3e19b5222808160b7d759b5e349596a6cec059c62b5f2f7bd59a90e2fa6f4bd81e6f22d86b3adaaf5e68aaa76f5ebb7beeb4dce861c59157f1e9d34579167bc9912a69ca3edec366faf2b5f5c4d9b23c8bc55a74f6941c2318eff16a856a25ddef737797a49f1cbc7876a325cd622f3b7bf41da9bcd715d9d0eb72c9edf2ace4514f0f7d1b5d6ed8dfe6e22a8835f21f129010db8a2b9c5a42b7fa276279acc07f70c948934f9c3d926749b33a6a4f17afd690cc8e3f89e9e204cdd3f4c64b685189fc3d650211caaae5197b6f9b3b1e98789222f2b5992c8d2ff5b894a14b6b3cea91cfa3542ad35315688467ecd18d9f6fad6a976a256f3d7aacc8623418046bc385a60b4d4d17f784f7d7c7f602d7fa193d0e79457be4f04d5b97977d93e329b339bba62c23a62f621f40e3de312e55d0d06736fe63a8d5410204400004400004400004402071027823207156a8f92313485ebd5a5e5917d2ac257baaf714457ff92f6c1f77ea2315df69711db1974873b3b1aec68f9bee4a739a70cb88941c52a0aff72b2bfaea3dad24aacbf269f6a2d54439db2da271e4cd2bf91b062459fe82212d4cb3d20de16c3b023b385f3759d48ed9eba83fa51c22278bf2d377c075f554f9aa5161239355db0c24c4b652e545ff0613b33c56a06a86856e3f97afcc8d76e264073a48d76bf1276a174f639eaa6cda5f57cb0db94e7fd3fe9fdfb03c7daa0c8c8e66d7918692699b2b1556975efdfe88257c3aa0d699e451cbc7577563cd77f5f08d126799149092dbf69c3f74f4aab4cc4ec83b07eacfee61ef0b68ed795d498f6e541e01ed1306b1bd606c79428f8365637506a1db3a9ebaeeb8ad63d23e85d5d545e1d083d617615d89f5ce347da70ef6993a153603291000011000011000011000011e014401785490b70009acaefafefb1a753a399d7dfa6d0072dde48c0cf2941ef3f7aab7ee9c6be33147daa3f34a0820e39daa9a3d4556c1fbcb0375f24eecb8d2d5b90dada06c3a6027027ac3add4a3e1d56978787ea49e1a2f28736ada704cf7bd349dcaa0fa21bdaa53f5eaf7eae99be2ecbc7e8128c7c8e9aac72445f26a161274ae45494cdcf28886d40ca5a5e6313ddc30bc00fe9afcb5772d66639ea0ce2b358b45774bafbce38166bdd24200acbcbfc52d96d8131c7974799c36d1e6eeacbd74f9bb0e49670ad22d2cefbc2348472e90fafd8d1b7f2bbf1710a45f0a544e8258bdb5fed727edea6bef868341156ef01baf5b67f6380845d55b2f9cba4b9e5e3d7c4a5296bd67a3fe50cbd8c74dcd31ee1de3d2b86ec5732a6e03148000088000088000088000084410c01b01113870b344083ced79c43e4e1ef626a3e2e4b7df9f9237363b4f7c2cedf256961a6be8d1ff762b79d2139ecc87dbc54d757cde286de4f7379fb92057ca4c4b494953666fae1becdd01bfbb455bfe4d77c89f2b186f6cec62b398e093c633f24a7fb6232f628a69c954840489c54e2f6b1afdd0c0d113271a7be27ee53ecacab75e5b825e6066c296eb5bd1f45b7679a57afcccb91bcc657a507cf870447aff5afc89dac5b331ef69dbf996b616f53a7fbee5cecd2bf23a7d76f9e1baba53ecaaab3b582cbd07429eb6b8f8f19a287fd9edd3b6469de49696f32d37dc4132d6f8cb3a39c6907fb8e1ecd9b3ca57025e757c7cde4d1b89ee46ed30c8d2dab214bfbb47badc8ffc468321f8e8d05676ed3fff88638961d64c1f078ba32c5b27b0b8daa1aed34bb96a5f84aba839c6bd635c1a9686140880000880000880000880c09c12c05e8039c50961f3404037979f5ebaba17bbff685529fd12dbf735eab2383d765d703454651f649f6df71dfebcabc1aa083ef1b39fe7678afdf4287fe9ea7179ab8ba21571561fc79d074ad5cf04d0ea1907e847015288954e96a882a7ce53a54e79d954119592597230bba9c947c6efd695deadd3146454d5da53c25b0668bea5e448f1b92ae72bd27ea2aa5dab474845591e7db55c97119dd48c5c3713095aab6871ea7de296cb2d3481eb1cd55ba51700c6efd697dead57e569bfb3e41fddc5b54660356572421d4be3ed179af4457ff8dfcb7719b5d565e1657f6bf579e7293a7bef3ddf2696d446846af48da5743cc92439f8af45aff201c2d5e5a7cbd8770d8f3455dd3d789526e8e2fa8d920ed21c7ef3a3e354f8930f24b9bce3b7f10703792487855420113669bd10914ba34ff2fd4c1e0762b79314fb9eadc9a7ee2aa18cb28d6aa04a89b4a98f1bfd4c46748e61ef24fc50c856c7732aca47dc8200088000088000088000081813c05e00633e28fdd109a89bebb597cb232da2ebef7286bc3899575193af9e40274ddb94e629d2e7daf26a4e17cbfb017aebfe53d1a75572d5574f690820233b432ea1d2525294199faa9b283bc8f5366464ab7a487276f9a58b7ba43679274f946a06266717976f95d6935943a1e262fbe162fd926af2d683f5df4a1f3288f4c272ecfb0be59a1b545c72c681baab6516bad13cecaca191061212704d42a079319de506022d27dbebdfd130b1cdf0f2ea3aebabbc9ab3b3e31fd3c54660755e447ba52ffa7ffe9b74974fbf1da1cb4edb5821db3bdea39df49fa2ee75d7c686d420f24e2783bc35de70417edb7ff5d15f2ba10421afe6947a5062fdf1bffd6ff166b76c4f47dcaea44a940579fa418744462cb36a368f83ec8da3a2424e241757e4a93b0162fa82c4e418f78e5169c24ec976e12f088000088000088000088040a2047ef2c30f3f245a17f54060f110a06b92b16f67c79a1f1445fae6009d5dab93bbd82a1139e2a3f3a5d22a6ed505678d957ee83d485284b4e8d7cc45293f8ed0a038c6de94e7348bd0446f44718cadaca6d0cf1d441725783f3b09a2bfabf9fcb976b6f29b51a5c42998c2c42d8f344fb682ebc64cf9eb054777f16ccdd3cb5cb8e9d975e50cfde177c798f78efb89b7abf16a2fdb2f73a0a9634f44b084e988ee8bd81ce3de312e9da117a80e0220000220000220000220604c006f0418f341e9622590480880fa469776f5c79c25eead74bcb990c66f1c2f5f124fa7fffc5631ca676b5b58d0ac2488deb6ba76e524ff8d0edd51f0895b1eb680a50cac98357f2a36ba8b676b5ea4b10bf5ce00e2dc99cced0ef149d7a953eabb29c9e5253121004e5fccb4779676dfcd5d07411208800008800008800008cc09014401e60423842c17022982653549a6670c5866bb3cbff049c93e928c4c47596d0d6fcab7f05d80857348808d87e46416cbb1161d39569b60086b0e0d8028100001100001100001100081b925803702e69627a481000880000880000880000880000880000880c0c22580d301176edfc03210000110000110000110000110000110000110985b028802cc2d4f480301100001100001100001100001100001100081854b00518085db37b00c04400004400004400004400004400004400004e69600a20073cb13d24000044000044000044000044000044000044060e112401460e1f60d2c0301100001100001100001100001100001100081b9258028c0dcf284341000011000011000011000011000011000011058b804100558b87d03cb40000440000440000440000440000440000440606e09200a30b73c210d04400004400004400004400004400004400004162e014401166edfc03210000110000110000110000110000110000110985b028802cc2d4f480301100001100001100001100001100001100081854b00518085db37b00c0440000440603e0984ba2f375eec1a0af95d0d5f340f06e653156483000880000880000880c08221605a3096c01010000110000110789304024343a37e13319189172f9f89a137a91aba40000440000440000440e0472390f4ab5ffdea47530ec5209010814067e35fffddff6b29fcd76b13a91ef2f77d7bf9ff146cb6b4398d71859ef5b5fccddffdfd7ffe5dae2d734e05935040fc5de09f7f9a629277e6e86f0343aecbadbf1d78f6cf79b9ff724ef6ed70bde0667251ab3583b9b6740a61c8d5dafa777da1b516ffbdb61baec1b599a18bffa1f5f70b0bdf8a0fc8b877f4a5a14020484c0a14ae350b3b53ef8b66293733c152ad9a41620ea1cda128cde078eecf872e4da96122c5f6e75bd29e757edf17da59f3cb3f1194baa1096f8ffb1fd75a7e7fb0a76f4cb0ac35ff946b39379389084df4fd5fee7f7ecbf24f833dff794cf8976bcd86364417fe7834a22dc13d0880000880000880c052253027338ba50a077e2d0802e2c0b587a32bb66ccf4dd09ac0c8e0e3e79e89b95ed6a3627dc3c38fbd4373bd6b586cfbe2cb2fbffcc22dcafe45dcd2d9c8e3e7c3befe01a5304104f1ab71bde066726504460618048fb2757ac2eb79fefcb17742f40e50333d7eb3cdbee645fbe56e6e5b39d3b87774a5625b5d5d5dabdb40d4022f0af839e350e720c77c6e134ebdb85973086d0e4585cd8de3febce80a6b354e85066f3df0d1d17bcb35a4550c78ef399ded03fe8176a7f39e973d7cdcaee166322101efcddbce5b8343ae76e7cd7b839ad8c4123f2a8dc44c442d100001100001100081c54e20fe9add62f70cf62f110221d72d0f59b7cd9ef0729a60dbfb496ec834e7435b9138f772e976643265322b0eb2ddc9daad90bb6b5fea8429d5923a57bdc9f5829bc9d328d82bdf4ff513f35ad91e5bc52f52fda269ad8554be576016b20453687bcefdefeeb9c542bbbaac1a25c6b87774a5269244ff6fce694799339fb78c6a5294033a0779aa794d78f5e2e5cd21b4391415b6368efbf3a22bacd530e5ef76bd2049ab564e8d3e704d9464c9035bb095bc6b12ad96746107116c521eb76bb899549d90bb7b8749b0a6ffffecbd0f4c5bd7beefb92a3bc13af8dd909277f14c9c843b789eb91ddf8b47a185a7f8be490bef801eb4610e4890263ab1549a4637914eda446da5d33faf7fce28e9340d91c855dad21973048d731f1c250d68f0152468642448e00ddcf1ebe0d1b6641ab8321224e6becdc850733b6bed6d6f6fdbcbdb86404b9befee095e7baddffafdf9acdfe6b0d65e7b9b341eb1155834eda737fe9434d2bd410d0880000880000880c02f9240cadfa8bfc81811d4cf9980e81b5f22d66a3b8d4114bc2ef7d0e21a2deaac552d2d0efae77578c0e51a9b596211e615d5b4382b8b0d1161e0d36ea1e1dc194ba8afcd2d98ccfa999945da5e683d6437084353f3b49c7fa0e294b336c34495299bf6bafb86fdcbcc16d1e5efad6e3a6e634576d0d97a68d4dd351c8c44f5879dcec870cf68605e16dc7bb0de596fa71795181cedea199c97fa17961c3a7ebcda30ddd7dee33398cc063130c7fccdb3d61d6fb1891d6d3d732bf474e5e6858fbdb64afdf468e2d4dee42c0df6f44cea4de5ceca4807ed6e2e36d2dd014bd4daae8abaca05af27a0a82a37532d5cbb6d3d930596729338393547aaea8aa9183dd451fcdbbfd99b5e79d879d61e1d4f8d22e8ed718f933df6d6564a2f1a9c1ceef30a4b2b2cfabc5d070e37b4549696ef22fe715fc85e699275a6fc5446c766a4033ae8728f48034a47a7cad9e2d0cb6377ba7af8ea0d366681de0fda8473671b4283ee9e113fe3444891b5c6d95299bc28c44d83be4fbb830d6f9db13151b1afbd2d58dc74a6be9467347b9ea4e75e4460bdccc5fa4080799a5774f0d4a97a790ec9bc8c1ff29614fa6047d750c05471ecb8459093530a3f3d9fe3dd78d99ec56264bafda23634db40db25614fddf9e3e5cc4cc4d77eb1774fe3b906c3702a287325991a51f89faed75fe39034a55f7a09efa5120f5aecdaa4e1c78e64b7b9b65a4b8574d4860cfcd38dc62d713fc561ef1c5d6474562f5ce99e1a16220d16962ec2b87770d87feb162deaf60ae4788b448ceef4977428a3d9c2aeb9d4cad65a8b284c0e0f0fcff7d3febabdd6c3c52d0e23ef3715ed9bea6d79346510154e9265fc0001100001100001100081cd21802702368723b46c110131e85b23bad262239d79b7750f2d16588f3437569418fc43dd6e9f38edbe36362396d5351f6bac2a5c99f774bae9e6dd6864618d84e9be7dfa80fdcadad2cc0ca96a6cac3890bfe81f199a8a563536d794152dcf8cdd8c6fc14ff75c9cecba31c496000e58cb0e14ead696e73c5d37976539039d21b83ff7f89757562cb5c7f78cbb46e812405e51d941eb2eb2363771ebdae06c7476f052a7872e01e41716edd291c5c0c8956bde48545c5e5b599c0bcc89f9f93aaa6bc5dfdf334df406a3819d115632fe6a67d2a9411f8d84a9a1a5d98565b9fb8c7f46d4e731f1a5b17eba04a0cb8ba972fb222493dd95b5b579ffd894b4ba105bf64b8ea2a2f029a632b9b2920c73a2082f2c517f42ec790b71d2dd3de4a74b0032a595a5194a4924c5b6423237293085bc43191d12f25eeaa653cdbd55478e1cb2162dfa872eb94663ad0693a3eae02eda3d6fef21878d4cbbbb47fc06eba1e663cd87acbbe6fd9ef15092ea0c6910666920cfdba8b7e1b5459a147ca3d9f284977b72760502918a238d75150756e6276e8e8793dc62276c8b873070ad732860b0d6396b2daaf039f99ce8be018bd9a1192da6bce580775a62129a1c5d243a4bb191e6582a28f1576afefa74817084cb3ce13f2df143885d9b09c964b7b9b6b8a8b9955ca3095be9a5d951bab674a0dc5e60b1171232353c4945686c34b1f51639df8c73fefe78bea58ea6a42fad92e5d8d07cc42425f69e3929b1f9b8d21109ff4a4d3e79a92bdd7bd480000880000880000880c0060960156083e0d0edc72120b2699c816ebcf50d0faf91fcba86da6293d9515f4f6f5efb477dd274664d5c081bcce5ce578e1d69ae96fe6e6653ddd8749790aad7ce386cb6da966a3a5f2e696c75d84a2beb1dd2443a3e414c8b44bfc77ea8e260454d734b43b5ddbc27a97dd9dfdbefa73565cde75aca4d11517a4b4034a2df53ea3874b0a2aaa6bab460da3b4e057445079b9a5a1aeaadacfbbc37f624bdeec0efde397ffe6c9d34f38f8851cbf133672dcc9bbcfab3678ffffadf259d565b585fe98887b3f79577de7efbc441a92eafe677f4a4319f9d4429272dbb4457d6f8dafbefbf2ddd182724390a495b6a255f5b9c19f5270325bd694f1e990fa64f886356a491a1dd7dc35ebaa3a1f17cabc36eaf6e39d568cd2733c3be080b544f0aec8e6a137d22a0b8b2badc6228b01d3c48efff575bcc26b3341cc15092fa5cd280aaa5cc331865ae69e40937f7581f422a5e395f6bb795d7b6587564663a28d5a97fac785d6ddd63f34515c7ceb794b3d812e173f259e9b9218bd9a1d90e3be8fad1e824a5171da7f7c00b2bcbd9bd6699b9629c82fa959abff48c8a241417a12433308f4b30d4dc00536d91e4b1e6da92957251a75466309af02aa5e463976abe9dddff37d9e9ef94392f5d4dd367ccb7f4d1a4fa522bb93926305ea9bfa978de3e48269fe22f4e41000440000440000440607308487f976e8e2a680181cd27109a9e65372c0d24c8a621cbfd5f5d49d858089a5b4f55b8bac6c63c81310faddf7bf088add49c1060259d31bea796e57a944eda0d241a95e630c982aa333ddd7930ed0b2c4d485aa586b40b2534bb404a8df686169fab27b0b834e161bb87e98c821cfb8b70906d5d5f9b9fe8fc7c42aa643f648b3ab3f490b1d16ca693c635796625ad23c8ae3157534e15055221cf58403f4dc5f9646239af58d2556cce23f47ea69e88becc76c92e7bbdcd94ac8b9dc951a4d44b95444b9bd42133251a2b7b603adb41c50accf1db9d16bb99f8a5b952ac9b044c1a283d7d0b4168f0ca076c88b987ade5d46c963450fa6532aa9d279cdc5b622a75f11736306fa5951dc550ac302f3dfeb1301b8a124b32934c3ae58e995ab52d6683662a2fcb1f9a1af5117bc1e432b1d656a6ba9b384fa84ad4a94a3930cf14824a4bac98c59624c50d3cbd9263344c2ad955c339825ef694c9caad2b7f90af5efa1bc63b3e6ba3e219f28d3b9a6995349cd4c436359ca9e849ff4dc5f5d6c63ccdf22b8a130caa40000440000440000440207702f4af101c20b07d09586cc52410a46fe9d6b379f4de57de6f354bce06c70704bd2d322d981ccef79d4631141c1dec1999b83560b31dce108d34d5c8d0965cedebbb19585acb3b70c8499fe7f7755db915884de29958a1d5aaf7d357e38f740d96be6d59583059ca6d6c861d1aeeebf32f2e8ff5ddff0fe63c7f6025af843e806da73bc02787c743d1823fdf314b3beb63b363a3815e79d2bb0414cbd1e46b31e53426168b811b8ab134b3dd3c5371b2faa428e273c1a44a0d6db23399295153d927319284b840274c92ba598116d30fe6b5afc7353167a83971ae923e181219fff862bf7cfb5a910e71d3801988f326a228d1cec5280f2ead4bcdbd5dc4ab38a051a838f17b9bd0f1d5c890cb6b6975a81762b4756ab76a18a44d1ad00c958ebd539ed1be3ee31a2972c84fe7f340c50d3055d260a692e432af4fcab2f58690d156dc995c3e3946332c0190f0b897be23a4a4a6f9b0c940b7d218f4e24057ef9c97ae030899f28d3b9a2995dc1c5b1238bfa98a79bfd3e2de4a347289183220000220000220000220b07e02782260fdccd0e34724a067b7f2a3745e53eab0d30dbb5d1d03c17038387eb3b37f6c3c18098df6dfeabed43729440d06a334c12e60d3eb6c079d29c84744e8b8f0f1b5bee9f8b9f2c99444c505bad6e0ee0bb05a456bde9ea696d632b60b7f6dc4e5fe6ed233323672cbdde70b89d25fff44b7c7fc97f662dabc1218e8e8eae971b93c63135313829e7ba798cad1e8983f2bfd9f5ee81a14d24e99043d149795825caffe69d1b02b3ba748274721ddd6a60f252485f6af35b4c5f470294567432ba4a8b82023db58e7d24a3aa08bddedeee9e0accfebee9e582485e5b1071698080b742decf305432bac485781e852cfa4abad9f4ee723629889c40f6e1a18e937179095e181f1502838d0d131278d6136a3718df2679c3537f79245339de94c26bdb9da4913666ec8354edf5a113fb4756ab7c675a47f6687662a771492e589a9f97cabc32c29e08252f337f0487299ab1d5a4f0809b7b9b6d46ab5cb7ca3fc548c78bdf4d22ea9af2c3517175b2cc5e662db61fb2efabe8effe7bf5223dc7ce38e666a2537c70a2639bfa9f8deaa323f9e80da41a31504400004400004400004d64d00ab00eb46860e3f260143b18dbe756fd217d29b6b4f5495accc8d755eb9d2d93f455fc9ee6cb0d89b9a4be8e6f85bdd57aed017f62d15951da16fa69756039459bb526013f9d80d4dbd3ebe0f5d0cafac2db03709261df4f1693acd5f5bf47b3c630bf2cbf85616e6ff2526431f1c6e385ec39ee55f0bfce7826a6b611e59991bf10cd1ed03bafc92a606bbd1d672ec50096d9e0ff803f32bf4f5f175af1dff73b977c21d7a2e9f14d86c45ac716d2518a2d3c49453a99b21264a9f66485220354a3f58752e76637b11d883078928fe9eee0e970e75e57f0a96a747b15f362ffde4529a1583d34b649799cec0235cb6b221fad360a93f5163d52dfa6f747ed53be4d7edb29e38552bade1c8360a4a2dbbc8a2bfb773f0c0e1c3f964c9d3fdf9e79db742c642ba9c323734a85e06e0a601313baa0ee42d4ef5d36e6321e9158c74dc7946257bb251e61d2da5e40937f7a44012bda49e49a7b13c64333943436b5d3e5de8e91890b6783031ae4e2575b9ad592dd2e4c90e4d5f5a59429357577958da794e95f240a955893c013e73c945f9073704254095202d26dce6da928493d8ca1779fc0a8a2ba3c3c6fb2dc15e0d997e9947a67d4ba4b022e961018ba39266d7acfe2fd3f36d591a3469869e369ac9434c78397690fb9b8aefad8a463c327c82000880000880000880c0e61278ea871f7ed85c8dd006029b4bc0e7feb83768fbfddb0dd23c202ad217f2b137eb276605d14824128dd257ec27aa36c183a818160955aa3294492b75408c44d84bfe93842361babea0371418e36b0e99fa6f72fde6da4d688b867deeaebec0e20ad195fcee9de305cced544ae149d7955b0bcdbf3f5faa8f8eba2e7848fdfb4e7acf3f7144a7dd7fb821d49d7b477a2f9da4216d4013d289926adc599133dadc3490bbd1814968622595b6e406cdb38df5d25499c593c7b4a8eace8a1c688a73b2681a28a53de6688a009779a20f2ba97c486ed038cbea8c465fa96923469375aa34b0a216bae48eca994a43bc2e032e8e64bc073e41000440000440000440604b086ceabc694b3c84d2279d80adbefee6a55b7d42adf455def41101fa8c40d241bfaa2bb52aa97d63277a638134cfcda13775a0807e235cea61282848af4c15da82f3cdb59bd01611c6d912007d05a2c51e47934229dc776b46676d2ca5bf5722d3e32153f3d9a425808830f0e90d3f55a05a2de10c288f894a4c55544b72d320936c7a16a9556528675096413ab76a6d9ddaad592da8baab8adc6ed9da095780cb3c593fb75fb248dad946fa2429796c05ea7037a88cd32d032e8e645234380101100001100001100081cd2680bd009b4d14fab680c0ece8cd71626fa82cde02dd5099330171d6272ce80b4ca5c574c33fef8808376f0a952db5199a497476b2c73b5d5c5e5b69892f23f0d4a00e044000044000044000044000044060eb08601560ebd84233088000088000088000088000088000088000086c2f02783be0f61a0f7803022000022000022000022000022000022000025b4700ab005bc7169a41000440000440000440000440000440000440607b11c02ac0f61a0f7803022000022000022000022000022000022000025b4700ab005bc7169a41000440000440000440000440000440000440607b11d0fdc7fff81fb79747f006045404a2a1f13f76fd9f469bede96c5f6aa996a4dfcbbd4af4faf5ac71a9bb2bf6b9954a6b4a610346533428a76a55eab222b0b142eeaa94c0ff6c6123fcb5dd5394671d53ae9e4cdda361e1dee43fed31fdd9f4bdf18746d31e43c6e1cfca412dc055cbade47a9ba88c04dd5d3de393ff38193b7cc1d0aac9f2df66fa32c9e8ece8fff6b5f7cf72c87c6a426192fb78251cdb4e252510756e702b15afb55b15318d827ab8d3c51e5fbfa27323aa68dab87a46fff11f95bca1e9333e3efafffe7f7b6cfbd9176d4483debff73e2cfd37a68ce9ae98470104400004400004400004e204f097439c043eb7258148687a66de1f8e66772eb2a0488a3d172f5e744f66efa392e01a52e95489f28b1b31cad744d4aad4e50ce2b956af43951238170bd7a0d285dbaaaecc5d52dd4b29677229220c7b3cbdbe90afd7e3191644453ead9095439200572db732cd5072055d3998999b995d084b4768363035d67fa57d20536a471684b9dc329f9a51983c26db648f7f82332510b56deda0b85dd4ddb39593863b5df8b1f527546a0792904b2a45c4b09433a119f99013480c47a854549c76750df9277c1ae99ea40c27200002200002200002202011c87683159840e0a725a0a729aacb254d8db6e3bf2f8d3271a2273afa5f2e9d54b1f10ca974aa24f9c50d19cdae6a8bd4f20d2bb54ae0220f8b22a62e285dd495dc72ee92dcee74930737258cb6da237ad162321beb88d1c66e936638b2224d12e0aae556663017af96f2d1da70a6c526dffe8f7a3b2e0ccd4dfac45abb312ea3fe6461e619986c344af35a3b9de34c1e97adda819fa41c0f446d3c4b50bc2eeaeed9ca49c3cd117e5cfd099559024908aa4a86d2d6f36fb3f3a8efc21f7a89b5f17c8b8d9d467ced1f7cb0c84a344d988b3840000440000440000440207702f8e321775690fcc908c8f74b83deaeaea180a9e2d871cbf4a7ddc186b7ce48f329b1afbd2d58dcd45a1afcb45b68385d3d7cf506fbe338d0fb419b70ee6c0311bc2ef7d0e21aadd259ab5a5a1c9688d0d7e616ccc5fa408009e6151d3c75aa5ebe12d20c094ce7b9339610a74b62a219996ebf98643434e8ee19f1af48c08aac35ce16db40db25614fddf9e3e5ac8efe057fb1774fe3b906c3706a20e64a323512f3fff2c4ee7f0e3ea2f2522ca7ebf5d752a3ae330bdfa4ab6db1198514071a0a3a923d544f3c4561d0e51e911091426b95b3c5a11706e4c08b99bb24054b6bad45e4508d75c9c28a461f576e339274d346121e70b9c6669698e1bca29a1667653167d77cba4bc2b87770d87feb16eda6db2b90e32de69b173e0f151f39db6267aaa242c7856efdff542dde19d44a8ff268ea50a6aa2da7dea4d92a27bca44a6408f3801db2db52516f3619c95c445ead4a1daf964a496665d8d5de3bc7fcd5ed2a696a3d5e2a0d5b3a7c4998fd50d8661d05c2e34c2f8dd4842c6e3a535f9a3e4c7a295e93593f33c3dc2bb41eb21b84a1a9795ace3f5071ca594b3d4df7937be965a2a4bade6397a19430a997330b3b7eacdb62f295cbbbc49a9cc54c7b7abea5dba262e9e3a8ce5d65746820da92cc64ca11612ed005a158b5bea0b8e44001d18767038bf1ba941e3805011000011000011000814c04f044402632a8df3e04f4f48ea83070ad732860b0d6396b2dd148788d84a5bf8a999362786d919e451658a5c1e4a83ab88bd6e6ed3de4b01942a36ddd438b05d623cd8d152506ff50b7db274623e2cada522010a938d258577160657ee2e678588a36dd90a493fef19db18bd42fd9289976778ff80dd643cdc79a0f5977cdfb3de321a3c594b71cf04e4b7faf8726471789ce526ce40422fe2ae1ffdf941d52c5a2e744fd14576d24dd81703216c9ebd88f90f752375d77d85b75e4c8216bd1a27fe8926b34063326918a85f0a9e6c68ac18c49129ee969f7b5b119b1acaef9586355e1cabca7d3cddbed9cea120b79c8afb7c8cc8d73fefef190c962d22df9bd82c43c3ce99d5b2396fffe7f48e0e5a687f0afd4026c2853d5129ead6c192291a42b4d0b93835eef20fd3770d3d535b1a42ba9b61b2485a9091343bf38172eab696cae3ba85f0adcb8e40ad16a1efc98b48a6d968c2534320e674e42d29de7bc6192f5cfcc90aac6c68a03f98bfe91a1a9685563734d59d1f2ccd8cd4991eb6756af644e69d7bb92309ccb59897d231693af5cde25c636ded3ed45292e716d71ae3b36608943c9fcac92893e4a2965c55e6fae3fee3c7efc7875711e614b9c3840000440000440000440601d04b00ab00e5810fd8908ac785d6ddd63f34515c7ceb7944b7f0cb31feabf8a75cc33b9b2c0eea836d127028a2babcb2dd3c3c36b24bfaea1b6d86476d4d7ef25c43fea93a3a878e57caddd565edb62d59199e9a05499c510af8bac2cc9a8a1c076f020bdff5f6d319bcce63d5422180adb0e3b08591a9da4cb0dd171ef1c29ac2c67f775d303f995ca7ffb41552c7a8e30e1aad5731c202ab516353adfb097905d8de75b1d767b75cba9466b3e9919f645d48ea562f1f1a9aabb90ccac1251734d4b93f63571216c30973b5f3976a4b95a7d3755c64d48aa4bbc90c3e5d5f48efae2a88f311ff5ce905d1595a6a491e2a5c7033528ee50726dc98e6946cdc66f293031343432323434363543e76e6be1109d276a28b41e39db50692b2daf3fdb68256466548864801f07939c241afe486b23e99c9306912aa5571677987cd2ecb8eab5330e9badb6a59a8a9534b63a6ca595f58e3ce64b54c34f0dafa430520757b94c3474d28e1aad992d26e503f712e3bac4b5a5318e9212fa23863707c9788f6c9f51d5fe924848a0ef0ef4f97cf4a730cb5b3dcba60ded2000022000022000024f0801f647090e10d8e604e6e7d8fef085d9509424cd6033b82d4d70625b6769862ff77f752521b91094f69aeb4cb18dc84c585a4460229a86f85de29a1346f57b0a4868f0ca079e7893f4692a2fcb1f9aa26b10f682c96562ad95b77c2789c44f12aae86c8a552adb80e312894f9e5abe031955511305e6f854db623713bf7cfb3c61240d4b26aa4a176d568a18c7b4a9e14c454fd7d8982730c600ee3d78c4566a563a28851497f8219b1d65f92353de7162338d2f91922395d2ef3b35524e206162635624e65cb5dc4ac9b12c51d3897349e3b9e3743bb874cc8ebabff24c0c4c3a9cf42d06e909c364f26cf2330084182ca574092b2c521d1c9fa59496b5aa7f6af9636b3935ebcace5952c7192609a2ce180b459add46a96f06f59ef5755d7a6abf530657d5a41d7ba6562d0ed92f31c97c9a4b1c5be21e4786715445201533a750aae4bace85e19e5bb1e79088aee4c83bc7edebea0e61100001100001100081278700fd530607086c770215277e6f133abe1a1972792dad0e93344353de97268afc0db1726ed3d9cade57de6f354b2106c70704bd6d17f1660a38d55026b98cf5cca8afc7353167a83971aeb2d84822e31f5fec97666e864ac7de29cf685f9f718d1439e4a9209b6a660a447d6d4a65be30476d060764a7d56a598d34db1517e84a80d43e2bd062ea9186657d5453d5c5cfb9a69704c1e470beef348aa1e0e860cfc8c4ad019badbe38d5ed149732846c387cb864aa7fdcddc3981fb6c7167e24fbb2424e20712126c055cbad8cc794f5331188b9bc54e7f1d3c599cc0a578460c456ca5668a2a159fad3c05e03c7f15923a53339149ae6703ecccb31ee30a5a8a53ea51d1bf7336570559ab5756ab7aad4708ad2b8f0c29765d35ce2d89ae55ff81c6399479c239c7b95ade56d5beed290040110000110000110788209e089802778f07f36a1eb4c26bdb9da59964fe6865ce32231ee31d13de1c303e3a15070a0a3634ede689b0887fe814ef75afbe817b25b1cf46ed85c57c740301c0e8edfecec1f1b0fd23b96998e544399e478f509a32baca8a7dfe2150a4ebadafae91a05fdb22f5a652a771492e589a9f97cabc32ca9c810484295bcdd578ec59021ea74b5d2b42ddd01b5da4404a59514d16277bb7b3a38ebf3babb2716496179ec35f631a9542ca5eba39ab09552e29a2e98ecbfd57da96f52881a0c46e9dde70586c4cc39ae21d5a50c21938272c75eb2e2f72fe65b0fcbcce57bbf9ae99100c51dca4cb6e2be65fca461847d5ef675eff4181dec68bb4573c362366a289cba71cd2bd0341fefe89ca0efe02b2f356e16fcd02887333721b9c3949c21aa90193c763c869fa9832b2bccaa73a31613c39de912a3bb85527e05716d698ca312825ce04b46e80b2c3fbed6379d229cc3691c7a0ea21001011000011000011000014a00ab0048836d4d409a06d2092d75d2d0d05a974f56fa3b06226647d581bcc5a9fecf3fef1c0b19d87e7e7a439d4d15e5e96241a9651759f4f7760e46ccb527aa4a56e6c63aaf5ce9ec9fa25f07e06cb04801cb925251dd3dd95034a153519ee8122fc99f09a3070e1fce274b9e6eeaddad90b190ba373734c89601f4a59525f4a1695de5e1f81d3b5e20f4aebce2bfa82ef385396a6d7c07d46a13be1b2cf5276aacba45ff8dceaf7a87fcba5dd613a76aa579b714bc4c20050b8faa8a3f0b3561809d259fc6dbb8a60f363597e493895bdd57ae7ceef12f15951da9a46b3eaa839b12167ec8b45bb1a38cbe2c9232a73beae523c121437a2404b84369e6d992f6e427879916356da66fd1bb75ab9f1d9e91b9e5fcb223af394c7aee782d4bcaf27745865822f5cf93fc43c79c16fae4ba26fc189c58a45afed8b99c7939c61d264975423f2dc5f6b4e8f5f2c3255c3f25bf12bdd86932a598ff29f9c67a48ffb463e7b566b59874b9f1c2e7bbc4b3c51d4776e1a71d1924c5f0cada027d1d23ff608e489b41529ae9371d26234d69c72908800008800008800008a41178ea871f7e48ab440508fc0c084445fa90b4de6894271dda0ecbb20623e7aeb276c70db7aa2cb2a2c168ccf897fa7a02a13b0c728c7a1d0e4841aae4730d7a035d98eae8b4fb0f3784ba73ef48ef476415524c49a3138d4422d1a816358e932a3dac18eb3dd8fec148e4e0efcfc7be0c92d38fe7804a8cab965ba9eab4ee624685f4bdfaf4eb30d250a8e4d76d2bd181cb59569d76656dcce2c67a253ce495b4756ab7f2f425d7c9fdd3c24f168a9da5db52d5b062d2b82567be9624d7182a4100044000044000044060b308601560b348420f0880407602d257a68fd12f6e687ceb7cc65de5d9d5e424416db5bbc796d788b5f15c4bfc9d7c39f58410086c36811f33f337db77e8030110000110000110f8a511c8787ff2971628e2010110d80604f40693c56a2d2eafddea250016abde5850b0d7623fdc8025806d30f44fb80b3f6ae63fe1ac113e0880000880000880403602d80b908d10da41000440000440000440000440000440000440e09742006f07fca58c24e200011000011000011000011000011000011000816c04b00a908d10da41000440000440000440000440000440000440e0974200ab00bf9491441c20000220000220000220000220000220000220908d005601b211423b08800008800008800008800008800008800008fc52086015e0973292880304400004400004400004400004400004400004b211c02a40364268ff49094443e3ae6b6e21b2394e4482831d5d839ba22c1a8944a29be315b480000880000880000880000880000880c08f4600ab003f1a6a18da088148687a66de1fdea4f976343c3b1798dd8c5500b1e7e2c58beec98d84843e20000220000220000220000220000220f0d311c02ac04fc71e967321a0d713a2a3ff1ef38846d94282c14035318d8f7de8898efeb7199a1edb15280001100001100001100001100001100081dc09601a933b2b48fe6404e4ad00416f57d750c05471acb5d6220a832ef7c8e21a73a9d05ae56c711809e156867c7d5dbd13cb544e57682da69af6c8610883ee9e11ff8a745264ad71b65412a1efd3ee60c35b676c065a2bf6b5b7058b9bced49b065caeb1992526985754d3e2ac3405db2fde58a4a781de0fda8473671b4269aa98021c20000220000220000220000220000220b0fd08602fc0f61b1378944a406f301061e05ae750c060ad73d65a48c87ba97b6491ecad3a72e490b568d13f74c935caad8cce0e7e4e9700f24bea9a9bab2cc41f5822796ce52b32edee1ef11bac879a8f351fb2ee9af77bc643241a09af91b0f2b4bf185e5b0c53c16b633362595df3b1c6aac295794fa75b34981c550777512d797b0f396c84a72a35029c83000880000880000880000880000880c0f62080bd00db631ce085168115afab6d7e6ea9a8e2d829ba0440886fd84bc8aec6f3adeca6bddd6e727fdaeb1fee1ba42da99503c3acb2f9ecf1529ae9a5a586ae8ffb03b486e80b6c070f163bea2b8d913009ed21fea560286c979e15505f123a42a46d086be242d85059ee7cc524887445a2c0eea89e1e9e108b2babcb2dd150245d95c354c0cce000011000011000011000011000011000816d46403de5d966aec11d108813a04b00b4b8301b8a128b94b2746e5e608e6fbbb7d8cdc42ffc0b13e6579ae2696e2bb7f407d8bc5ebfa7808406af7ce0619d340f5bcba95957d7d8982730c684f71e3c622b35c71607a4770de4ae4ad30e1a41000440000440000440000440000440e0c720109f1efd18b66003043648a0e2c4ef6d42c75723432eafa5d5619266dfe2029df44bfa66055a246bec1d01a99574be4f2bc371c9e06490103a8727be1ed7c49ca1e6c4b9ca6223898c7f7cb19f4932bdfaf8cb0345517ae940685a30399cef3b8d6228383ad83332716bc066ab2fa63ae8c12e1fbe2aa939f6430c4d071788a1c06231eb3395d5f22883000880000880000880000880000880c09611c07b01b60c2d146f1a019dc9a437573bcbf2c9dc906b5c24a595764216bbdbddd3c1599fd7dd3db1480acbfffd214ee5afe973fb64b1b3dd2d84c2c2a8fb063f8ba53a00004000494441547d1ba0f45e00f92e3e89d2a9fda4abad9fcef72362d8b8c744c8caf0c07828141ce8e8989366f9a1d1fe5bdd97fa2685a8c1609456080ad8170db00d056b619f2f185a6145ba8290a44a1d3a7d67e18ddede1bddc3a2f4fe426e592d8f32088000088000088000088000088000086c1d01ec05d83ab6d0bc0904628feab399b6a1a1b54eb8d2dfdf31603b5b7fa246ecf2f86f74fa69836e97f5f8a95aa39ea457d209fb89aa70e790bffb7326999f4f9623cc2bdbe1c38381214ff7e7b49c5758a85b599c1b1a0cbfdf5275607c68aafff329aa345f4796e9ce007b43b3efda8d895bdd13ac1f292a3b5249d70a4841a96597dfefefed8c9e7ee5707eba2a8753dea7c0fac8bb0bf2e450a42b2ebdcce47080000880000880000880000880000880c0961378ea871f7ed872233000025b42202a8a11a23718d9cd79e5e055462362249a2a486fdf2bdd59d160a40b09f42ebf546b34c6df3a20298e462291683426a1984a14f8aa12ed2881000880000880000880000880000880c0f620805580ed310ef00204400004400004400004400004400004400004b69e00de0bb0f58c610104400004400004400004400004400004400004b60701ac026c8f71801720000220000220000220000220000220000220b0f504b00ab0f58c610104400004400004400004400004400004400004b60701ac026c8f71801720000220000220000220000220000220000220b0f504b00ab0f58c610104400004400004400004400004400004400004b60701ac026c8f71801720000220000220000220000220000220000220b0f504b00ab0f58c610104400004400004400004400004400004400004b60701ac026c8f71801720000220000220000220000220000220000220b0f504b00ab0f58c610104400004400004400004400004400004400004b60701ac026c8f71801720000220000220000220000220000220000220b0f504b00ab0f58c610104400004400004400004400004400004400004b60701ac026c8f71801720000220000220000220000220000220000220b0f504b00ab0f58c610104400004400004400004400004400004400004b60701ac026c8f71801720000220000220000220000220000220000220b0f504b00ab0f58c610104400004400004400004400004400004400004b60701ac026c8f71801720000220000220000220000220000220000220b0f504b00ab0f58c610104400004400004400004400004400004400004b60701ac026c8f71801720000220000220000220000220000220000220b0f504b00ab0f58c610104400004400004400004400004400004400004b60701ac026c8f71801720000220000220000220000220000220000220b0f504b00ab0f58c610104400004400004400004400004400004400004b60701ac026c8f71801720000220000220000220000220000220000220b0f504b00ab0f58c610104400004400004400004400004400004400004b60701ac026c8f71801720000220000220000220000220000220000220b0f504b00ab0f58c610104400004400004400004400004400004400004b60701ac026c8f7180179908ac7e7bf679f938fbedaa2224f69cfd35abfded17a25297a910d770f6eb6f534456851e59f517df6657a3ee1bbad773f6379203bffef5d90b3da18463ab93df7cf6db58d36fce7ed6134a53ecfdeccdd6d6b3df08ea06f1ce171ffee6d74ce1af7ff3db0b3df712fa14abf1289e7f7ea31c1455aac28609a874b0a2f83024d0e3bb8729f59b761a0f3f7d10a98955e16b691ccf7efb50f8502ea58d758a27e90ea7d790b8d137bf11841e290d5b7bd4c396a213a720000220000220000220000220f0b3208055809fc5303dc94eaec6679653673ff32a201e3efc9e95739a93c5343c7c983ab95e1543b24231b545b1c3297cf7cd9b47dfba3af54872e0fbefa73c578fd65f9015ddb9d0f2fae5db0f624d8fa66e5f3dfae29b824ab9287cf3e1edfb81c0d47709cfc56fcebef8d1f5bb8fbe670abf7ff4c073f5adfa0b8948e31e3c3e87b826d5e7c608a814c48ac2d77ffb2a3d5abf4e84952ef458351907916a5d15e51c79b8ba2a0a92956f550b335cb3e90ea7d790d5d5efa4ce42485c95ed7f174b18ae4e5482000880000880000880000880c0cf8280fe67e1259c7c9209ec8c07ffbde7ddaf9b3c2f5b5885315e99cba7a22145d86877767e59bbba4a9eb6e4ac4f9c3c7bf93ed3b3bbe6eadf391ff6bcf36e6f807ceff9c27bf23dcbbd8f3c8f241325a7df6d12befecc13a013fbfb1ff67cfbc797f74f0e0c0cdcf9c673ff418a0fabc2c0e529a96e5fcdc5379eeb79f3a3fbdf537d1fde71fec30ba62459258a0d734852279d6c8440ba163a1c4f3f4dc823627a5a719227f558751a9aa5285e10c59dfb4dfb3fb97af9217567bf45db58bac3e935c4f8ccdf7df9e5c355d1b8ff99a7c5f7aeda57773ebd3fe744d1b68f5610000110000110000110000110f8c9086015e027430fc31b20f0e5dfb6d7fec31b74c6997e08deafdbbfe8997a40e7e13bf695389c6f9c79e1198ee06ac8fbce3b3dc448b7013cf7c9db76573bdbe35dfbc6c72fecdf49c4efbe6e6fefb937f988deccdfb163df7e47d399932fd993e6e221efd7d2447fc7bb1d6f33f5673e3e4de81301ab747628780764af5efdf2ef9ae85285c3f46dcdeb6cd24ff72088c29b17af4a9b07521d17eec8bd76bcdbf6f6734f93e7feeee1f3af5ea57b025cdf7cfbc2c96752a5e3e71939f04320ed6f5e1056c59dcf9cfce4e4734c47c8fbe63b3d748fc20badfff3a4bb3f41803c1cf8ecc3cf6e4f5157f73dfbe24b9655efb721daede34f4e320a7ce5abed6f7e764f0830b50f7afef6ecbd675e7ae38d17f6d3b34c23b21abaf3ce3b5f3f34dadf78bbd6fbd987d7ef3f387af9f649fb3ae6d74983d876d2243e9c1ce8f9e6dee47774f477efde6f79aee96567ade5e185b39f858cc4f4c2db6fbf242d0a3c9cfcf04dd743f270f929e3caa2dae1969d036e5e083b571f4ebabef86632f0e0fb1dbb4bec0ee7c993ead505ed00578d96da972c03ed5fb06d233b76d79c7cefed263ba3440f3e49c6f8e1b703ed9f7dedfdee01dd1ab263f73e47adf3ccc91738792ca9c10f10000110000110000110000110d80001ac026c001abafc7404bebffd614f535b932965e7f964fb6f5fef556eb37fff2070f7a3d377273fbafe8683cdac62c7d34622de6b3dfaae24b7e3f4d53663c875778addd8dfff70f585fda1375f3c21dde597c4bf674a2ebf7e57bc7afbe5671213d46fef4c4acdc67b5fbc79c1436fdbef2879bee98d37ce50916fefc9fbd2cb9e93762bd0fde4b293eca7d1e47cfe5981ee6010bff3de673b04e2c7eab7df4ad3d1dd4d7409801d96e79e2557991b748b82c6c1e7f05d8610ae3f1d9a9aa2614f7d2d9c7c8ece63853b2efa5802ddcf50b7fa7fab08acf6b4365e95dca1961fdcbf2df9418b0f43e249933183f2fff57ff9e63e5b35908e4781a947dfed7f485701344664352448d603a78ff6cadd524633a68cfb9136882692ecd8a34781fb9e8bf73d0faf76acd2472f68d0dff69c7ce96d4af73bafeb2eab203a42d662ca2587ff1b07c91ac2f754eded77efdfa60f6fc849954b8053539e989def1f79aebefe6de8f21fcfd085806487d599f6f49dc6d39795b8e9e32177af7f745758bdfb49ad528902088000088000088000088000083c2601bc17e03101a2fb8f44a0a4f174cd3e666beaea3b93e26ad2d6f3d09d37e525801dcf5ebcde7bfdf2eb9220b9fdee67f273ddb28ba13b5fb4fee62d690960f75b9d7d4d74e2be33b1cd5c9cfc465e0278f6f52fefdebd7bfbf251b957f2cb044421244f781f79d812003dbe0fdcbd7efac5df4e8ae499937ff4b0a34dba5d1c6a3ffb96fc7880fd19ba12617af9bd4fdea3c7276fb0bbe48923f6bc399df4c7eb9eb64bded327d1e335499f1a1c3287607cc1f9bca465ea0e7b0fa238d01360a7254d7fb5274160f5bb81d812c0be17af5eefbdfaee8b6ac31995ebffea4fb7afbffba2e4f4ee17bfecedfdd3493bd11e91844db688f2e28b8d0e93aa4a6d35ad9c3e88191d5b2d6a7ab58429f8dee36579207a7ba4472f76bcf8bfa7387cba69dd21e41ae0bed7af5ebffee5bb921fe441ef87f74492d961ba7be28e14f18e572fdfa64978b151a27aff6bd57b31a576fc0001100001100001100001100081c72080bd008f010f5d7f4402ab4fdbdff8f855cf892fe95dea0f3ffcda61dc41a777b2fdd0e4805c3addf1c9736cc6fdd2276f798f5ea493fafb5e417c393eedfe3e705f9afb929acb7faca5fbff930fa3fde4eddea650886e802793f7eedc1bb897dc9e7ab6fbf9d36d271dc2d76f7e749b2e2c3cf8ec1bfaf0ff333ba5658587df7e73f6f46569b981ec78feadb7d5cff7a7cded630b118f521b44917f835c83834608a6e75eda47ee529706068493fb57ef48eb13cf36bd6024df28817d177ba261c75b9fbc212d5cbcf191d7fbee5d7929836828371a4d26a3c493969ea637ebe903075a23f29262b2ecf5beb6975246822e46fcedd9af89bcccb3baba6a79b9e3bd5a45267d10351c7be68597777cf911cd8d9e01e125a7d8230d49c9c997f6194dff35d9619a34eb0ae10521a7009f7ff7939724949f7c74aff15dba2fe0d13d417c2e73a61965afc8f75fbefe9b3bcfd7d63ee7bcfce533cf58725e2351c0a200022000022000022000022000029909601520331bb46c2b020fe9cbdf5e7ef779d74777bf7f74fffa6d956fabb157fcefd81f7f7efa690bdd77cd6eed3fe44da5ef7ced7dc39e9858c6353d1c687ff32a9b296b1cf4fd733bc8033aafdc471ff2a62b09fbdff8c47bfbe85d3aef15e8dbe3d963fcf7be38fbd675f9757fe4d9572f7ff272fc51f00c5a637b0df629333d51905c3099e2c1a474cccc81869b3104e3332f95107aabff91f78ef799556966bfaf893e2ea1da2c21c630ee57309a2c4f93f82a809672c5c338ed2c23129fd3373a5f8817151564f5a11078f480be6a307684d8772ca48ba9063173d4a6e79cfbc8970fc803ef9d49cb4349e56ee70bd25e0d597bdce1b831ba632056d40e41bb5571578c6f3679dafec26e127b75a4064953eddbafde69fdf23ef594ee31b97df52e4bf37d2f7ed4f186239d40c2679440000440000440000440000440603d04f044c07a6841f6a726f0c21b9f94a4f910bf8d6e54bef06ff521ef1bdd76ecdb473710d009d6fd8b9f79e3df3f18d7f6ed17b125807dcf1efde8f297d7bf7c6b77bc49f5b973bf45f5a201a961a7a4d3b893de025fbd73e137b12580ddcf5fbe7e37eb12007d61c073cf49bbbe1fdc897da1a0f89dfce201251695f54491cb4133849d0e670debffe8f6bb17a587d54b5e4a791f9ff4927c2a11f0b2a706e8b13a794fde3cc14e349533017618632f50c87544e45ec93f8dfb1d471b1b8fc68ec6a3671c89b73250c9b441d4742cfe28c483ebaf7f2447fd72ecfd0bb2d1b8c30917e235da2168b72ada62fb0b28ca90a02c6b6839bc6a6cfaf88fd73bbfbc7cf1adc6e7cba4cc220f6ebfdba3feb649453b0a20000220000220000220000220b021025805d8103674faa90818ed1fbf2b3fe29ef060bfc3219d3c6a6f1f60f3d7d5efda2fc87b054a1caa17fbed6b7aef8f7ffa489e5979de7d933ec99f7cc4eeb69e7cefa4c36e21dfdd53a66d6ab1fdcf49efd8a74f255cf826243ef4b6bfe3919e46a05f21274eb6c7bf2990bc78e6a59da1c97bd231f92d6f4922aed4e290370b043e6bf78aab0fbff9ec826cb7497dcb3a2e9cf8e471506e99734330d96ba5f586988ee75f4ebdbd6c71bc20b75d7ffd6fbf1818f8e2c3d6abb13d0d72750e7c1edca35f294067c8398e48221c75e969fbc933674ec60ef6250dea46de206a396672d03d1089a3c6991c75dce18444bc463b04ed5645dbed0fdb05966621d7852fe5cafdec49878c0e4fb6b7d4d4bc78f4c4174f3f577be6bdb63fbe154bf587da6b428a3d1440000440000440000440000440200702782220074810f94909a4bc25cff4c21b475d77afab76eeefdc5f7bbae42adbee7ef7e28b772f2aceee3b7ac64e275cabf137efd177f61b1d6d474b4e5fa7b7b803af7f38d0eb5464692166e7dddffcb66cbf3815882d02dcf30ac49e9888d2afa63fbaaf975a7f74f7f2d1bb97e3fdcbde68b2dc7933f198c2ed8f5e4f9cec68bcfd0f67926e68c7bbd14fa3fde51777dcbefd3dbbe5fba2d267dfab2fa9d62f64f1ac1cb28460b4379591cbb189fdbe97d81b14920f53edbbcfb7d3072ee86b0eae5f4c608c0b69f1a1cfef4b62536f1d7d7177e3e53f9dd11a91d4e597b801edcf98f9b4416cb368394676da5f7e7e871414555fa6449de6b03dad462b04a2997289001f795e7d51da8320c7b6ef55fa8594df65ceb426bac6749bcadf3ff1fc6f4a4a8c81809ce5252fa42583362bb482000880000880000880000880800601ec05d08083a6ed4020fe6875ec062a75c978f293f876fdd8dcdad8d4d1fb7a8dfaa6ef8ee74f5ffe237d593d3b621a764a2f9c7be6e4c735f27e80fb17fb42f99200bb39fbccc94f8e96490f017cff802e01ec2b919f1e90dbd53f8d273baec724e56ab6f9bfed999df12f0654cbcae5fd69f36de576301330bdf1a7ab352a6bbbcb8e7676bc9cb66a909d43d6101c2fc75ffb5fc6be21811e3b77c6de3e20d1ddf9c27b7fbafcd6ab35cf3f4b8fa36f5dfea85142bac36e3266e1f34cd349191ed52929d61a919dece90976c44392cfb47f661cc4fff2c2fbda03e7686a9255efa8697a269e45690e93b41aad1068949a29178f655f89f25cc98e924679583586c9e478fbeaeb727a3e8a2d01ec2879eb4b9a5d7185f80401100001100001100001100081c726f0d40f3ffcf0d84aa00004b607815551da3bbdd3f874ec65ebeb756b95be9a7f7595ce8de38f876756208a0f99a431fe5ef7cc92b9b5acc3b4a6c28deb090dfcfa28dd02b0c3f1fadfbdf7127d85dec3f6df36b26f60dc7df4f69f4eca13f7accae91d75f98b12623e3ef68868c69a68e43bf650b833f99d30d07e9dbd6f8fbc7af5f6cb6937d5531da61b2ad615022f40f1db2f5e3c7d9d5a3cfaa5e7a465f5217d03645a4af21d8e0724a5e16666575c313e4100044000044000044000044080e0890024c12f88009d6b6578b37e8e41d2497dae0a7297cccdf63a4c6b2adcb81ed333f4fd0a77c9f7772fbf7ad7b57bc7a347d21b0fc8f3275f8addbba777efb3459db40440fd7cec11d18c35d1c8754cfc6ee0a38f7a63423b1a6bd396009883691b12526bb443d06c95be4a809f935c879578e8da92524601044000044000044000044000043697009e08d85c9ed006023f5f02fbdfbb7df5e8f3d25300f212c08e92a31f75be57cb79a2e16711e44ea369f78e1dbb77ef2e79b6f1aafb4caeeb3b8f1d1bb34b76ec20bbe99314384000044000044000044000044060bb11c01301db6d44e00f08fcf404e87ef5557ab71a8fa3fff443010f400004400004400004400004406093096015609381421d088000088000088000088000088000088000086c5b02782260db0e0d1c03011000011000011000011000011000011000814d268055804d060a7520000220000220000220000220000220000220b06d09601560db0e0d1c03011000011000011000011000011000011000814d268055804d060a7520000220000220000220000220000220000220b06d09601560db0e0d1c03011000011000011000011000011000011000814d268055804d060a7520000220000220000220000220000220000220b06d09601560db0e0d1c03011000011000011000011000011000011000814d268055804d060a7520000220000220000220000220000220000220b06d09601560db0e0d1c03011000011000011000011000011000011000814d268055804d060a7520000220000220000220000220000220000220b06d09601560db0e0d1c930844826e57872b7e7474b86e7a7d910c6ca2a171d735b790a999d76b035da89a68241289f2d4a5d56d40ff06baa4994dad784c9ddaddd5ad6a32ea72aa43b99dab3544c3c2e8a82f128df84647a7c38cbe62572970b53e4e2bb392f3586fc03ab74b56a3da11a5744fe796c9a852afe8570a4a935c8804073bba06d7739da528c87eca759b5ba9d69555402dfc38e54c641e4727fa82000880000880000880c08f4600ab003f1a6a18da1001fa77fdccdcccec42583a16e666a6867a3f758d72754542d333f37e6986c86de7546ea00b2162cfc58b17dd931c7569559185f5bbb4fe2e6966532b36e0865a853625957235197559ad2cf77292868830ecf1f4fa42be5e8f675810a916c52ba5c055ad728fd3aeddbaaeb1e668a74e6e643493024f579b4d6752f7746ee90a536a14fd4a2145201a9e9d0bcc6ee92a00d76d6ea5dab7ac026ae1c7296ba7dce368465f10000110000110000110f81108e87f041b3001021b272065a8b5e14c8bcd2029890c5cbb383643f70354c62ad4aaf5545ab7be9cde4017a2273afa5f4e768cb6e3bf2f8d3223391f1be89255f7e3ead4a4a452ae26a32e6775902b90a4c168ab3da2172d26b3b18e186d05ac83e29552e0a951b9c769d66ea536721f6b8e76425d5d770264359a4d6792cf1c6e5c47559509fd69ce47a33499f506034be8f524b54a7b6e45aedbdc4ab5beac026ae1c72a6ba6dc6369466710000110000110000110d87a025bfa87dcd6bb0f0b4f06816894de779457010c1653fed83cdb902f0cba7b46fc2b1281226b8db3a5320e43bcd97649d85377fe7839ab89f8da2ff6ee693cd762338a82d7e51e5a5ca3b53a6b554b8bc312ef422242dfa7ddc186b7ce488b0b625f7b5bb0b8a9b55468730be6627d20b04825f38a0e9e725aba2ede602781de0fda8473671b42e96e4cdf6c1b88d456925b1effbe67edff74ff41c3b9333623118541977b44b24e0aad55ce168791f0a210063eed16e42ee931ca1424b735c24c35a457e98c87acd13d2325da373d8a98f2d3d5c357e3642e4fecfee7e0234d4a3410ade822d3ed299cc7bd83c3fe5bb7a852dd5e811c6f9106371e8cf299ae9324620f0fb85c63334b4c38afa8a6c559596c8868b49a82a93ea48d75d6e168307895d1e4a55f9a4b6946495ad2aecfe7346e2a9f59daa766f8a97a439c89259448c590afafab776299a2d3155a8be913197b64e6e94171754acb36728f985193593f33c3aea442eb21bb41189a9aa7e5fc0315a79cb5ecbae0b99d5e4954d7da81badf39226949c20b705dcee879bf199cc52c16f9a9a0a0b7ab6b2860aa38d65a6b494f3f6e9e936c5e31ed384000044000044000044060cb08e089802d430bc59b4480ad54b15500f637775414c683742652f0ab1977f788df603dd47cacf99075d7bcdf331e52ec192da6bce580775afa233d3439ba4874966223098db6750f2d16588f3437569418fc43dd6e1fdb582e1fd148788d8495a7fdc5f0da223d8b882b6b4b8140a4e248635dc58195f9899bbe5f39aa0eeea27df2f61e72d8c834c70dba66b1b2e4a74b008507ac7ffd67ffccd452f990f752f7c822d95b75e4c8216bd1a27fe8926b34c2ed1e5990bb705b63eeb28f4c61720c45e33a73e8ae45891b454cb9c19420f3376587b251ca129d5a9bcc79c8afb7c8c36d9cf3f7ab863b111357a712fbb4fbdad88c5856d77cacb1aa7065ded3e9a6c3afd59aee43c694cb381c8a7e6efa715c4a366ae025ada2336b77969f9adc38193e1e56f4270ab3839fd32580fc92bae6e62a0bf10796489eb482cc772fedaa190f2706893167023333a4aab1b1e240fea27f64682a5ad5d85c5356b43c3376735264e398e636b732e95afbfeff48efc50d705dce707f33481ae89e08bac474ad732860b0d6396b2ddcf4e35666f54aed21ca20000220000220000220b0e904b00ab0e948a1709309d0d946a0fff30f3ef8e00ff47f97bafd4be44055fdbf29b41d3c48efff575bcc26b399dd960c8612330ddb6107214ba393b4263aee9d238595e546e21b1e5e23f9750db5c526b3a3be7e2f21fe519fca5736ab916636b13a5dbcade295f3b5765b796d8b554766a61fda1dd526fa4440716575b9c55090d18d0335af9d71b69416ec90d5fa86bd84ec6a3cdfeab0dbab5b4e355af3c9ccf07fd9c9ed1ef3449f59b9ec5a863039867c9198ce784cec3343772d4adc28e2ca0b5464ec07b351ca169d5a9b166775441974c662971685d6c485b0c15cee7ce5d891e66ae9aeb846ebfa7ce0f294738adae0a61fcfa524a3d3fca4dd349f657ac9191e547c560ad3de719abdcd678f9797963a5aced495e888b409871b54069dea8162e5aad7ce386cb6da966a7aa19534b63a6ca595f58e3cd612e58e23b7928913225f6b7ffd177f95e977425a8072bfc44f0d6714088a74fc37c38ad7d5d63d365f5471ec7c4b391d12ae87dc4a595556af148b2880000880000880000880c0e612607f4de20081ed4c80ce948a0ed655971aa3d29cc968b6988d7a129d25a1c12b1f78f89e9bcacbf287a6e824df5e30b94cac74773e3b68b62ff77f7525d1652128ed0e4f54f04a3a536c0331332f4d00243f246ff47b0a32b89167b79b92b5d15e05e6f86e6c8bdd4cfcc20f4f67eaceba66561e57cc0f936348f238de4bf9e477d7a6a4ad5cb2238f93bc5d3a33a5ecd165d3a0c4a114b475da5a4ecdbabac6c63c813196367b0f1eb1959a95be195a1311692b677af83c150b1cb0e6d653151c971246b59376137c66dea567b8e2b352a02e1598e2ff77612bb7f4072427335e535975ea8c74dfbf7430adf2233ff4ad03720defb2cacc3f76ad6516782c676427b93fe7e7d8ef8f85d950945868145c07b89592b6ac5e716da21204400004400004400004368140fccfba4d50051520b02504e8c4c0585c6ab1c4270d92115f8f6b62ce5073e25c25ddea1f19fff862bf345f521c30543af64e7946fbfa8c6ba4c8411fca6707d5b4f795f75bcdd249707c40d0db7611af74461b692b7df1997c268aecdd01da0713cdec46549ec32a2aa4f98db840e75252d5ac408be49ffa5cff57e628322b57b472c2e41a523a241738ddb529e5a65cfd5b2523a51ca2939dcda821391676a6ad33342d981ccef79d4631141c1dec1999b83560b31d8e6be1b6d617cbcd39fac0e51937c04bbf08cf25b551ede1d80c9f15f7b40b948048b7d6c8d91b9c0c12225f469ad794b6ca782b55917270c7915b29758c5d6b990552d46b9da63ba3f19ba1e2c4ef6d42c75723432eafa5d561e23ac0add4f2006d20000220000220000220b0f504f044c0d6338685c72720cd3ed56aa40aba23804ee8265d6dfd74ce1e619394c4612a771492e589a9f97cab439eaf943aec84cc75750c04c3e1e0f8cdcefeb1f1207b605f3e8c7be8adfb95e181f1502838d0d13197bca81097923fd94c612decf305432bacc87723653a515a49ad2f76b7bba783b33eafbb7b62911496d3a7123275a70d5963a4329c30798638dfa7c04cf3ba6b52e246a1529e2023cfcc3428e5105d429b0667298ed80f6d9da1d1fe5bdd97fa2685a8c16094d67b0aa477ddcb9d33b4aecf87f4e150dce3a65f56a316cde1c8da3d476e8a93990aa595369abd9ded6e21141646dd37e84b39a5f7027083caa4247b7dfc9ae18e23b752d629f7d310c86e3a5d22ee4ce6df0c3a93496fae7696e593b921d7b8c8bf60d7e15544e8b8f0f1b5bee9745f5003022000022000022000029b4b80dde3c20102db990037476d870f0f06863cdd9f53cff30a0b752b8b734383cbcd74c37d5c5c5f5a599247f72d571ea6131876e8cdb527aa163a87c63aaf8cd153fac27f6783453f3d1eeb6276541d181f9aeaff7c8a6e91ced79165e98be8583fd65939d8ecb1a0d4b2cbeff7f776464fbf72383fcd8da546e646723762b0d49fa811bb3cfe1b9d7eaa4cb7cb7afc54ad3964bccbefceec71630c3b9cf2fdd898476961720d1904776a2072ffb4eeda94b2294f90f9ddfbc7b52935f0d0254797d0c6e5ac0cb7c49af1e61253c4ec4dcdbe6b37266e754f48b117951da93491285b3b627db9ad59c73ad961aa292deb986ee91f2ffd4c22c725b5518a51236937c7e7b40c5778260ac5f527aac29d43feeecf59f6e6e7936569018d9b2dc417bfa6a8a87ca45e0db49631910f5a8a6dc2a1df41285571c7919b30ea6b8ddb4b16889b923ed7e90ce1fd668891612b058686d63ae14a7f7fc7c0b926ce6f030db7d3bc12c32b6b11e95da2494d380101100001100001100081cd26f0d40f3ffcb0d93aa10f047e1c0251518c10bdc148efe8b2a2c148df1790fd50f54a1396db8c46793292d6ccaf50294c73233aedfec30da1eedc3bf4f584d2a1128e6953d548dd0db33daa2ea9adb9c54855ab3ac60cadeb43bbbb762bd790aa0b2bca83c5ade476a795390a67118b46e8d74c4633e58a766bce3e640a21398ab85436a3fc5ef1def4997aad8836c3e7b829fa6afb4854bee0e255f2a78a7972c3639ca974b2628e09c3edf5185ec4bbca7a73f8cdc075805b19578d4f10000110000110000110f8d1096015e047470e834f0c01e97bddc7e8171334be755eb56d5e2bfe0d74d152873610000110000110000110000110000110482690cbbdd3e41e38030110c88d80de60b258adc5e5b5392e0150ad1be8929b2f90020110000110000110000110000110000146007b01900720000220000220000220000220000220000220f0a410c077043c29238d384100044000044000044000044000044000044000ab00c801100001100001100001100001100001100001107852086015e0491969c409022000022000022000022000022000022000025805400e80000880000880000880000880000880000880c0934200ab004fca48234e10000110000110000110000110000110000110c02a0072607b138806ddae8e8eae8170b29bc2a0fbda35975788245773cea2a171d735778aa0ba321a8944a29c8e4a955a58a9540adaad8ad84f5588ce8e777574b8dcdeeca4d6e96234228a62829cfa3412f4baae7574dd1cd7e4ba0e7bdc28b8955ca571c9511942d0cb926734181abf49dd7407d3d068a7c4268eb85a95b6516e5c992a15b54a2193a4529fbba4d2655d05ae7e6e2557ad5a321a1646477d9168c4373a3a1d5e778aa955716d712bb946330d59a67aae668d4ac5d5f442a65e9b653a937ed4830008800008800008fc32086015e097318ebfdc2822e1e0ccdc5c606c605a3d570b0e8ef8e7e76782a2ba920f21129a9e99f7a74c16220b4aa5d873f1e245f724bfb354ab12e64869b7723afcb855d4bdc0dcdc8c903ed57d4c3fc49e4f2f5dbaf4e9a428eb493aa553a699f9b9c0942fd6f898a608e146c1ade49a8a2cf818047f2c87c2024b1e212c0a3eeaa63f943a91cc92129b38e22a55598c72e3ca54a9a8e5263fb797d285dbfaf8955c4fb8955c5b6af722c2b0c7d3eb0bf97a3d9e6161dd29a656c5b5c5ade419cd346499eab98ab52a153e8942e21717b7e3a699e66a47250880000880000880c02f8680fe17130902f96512d0139aa32b8408de49525a29c728fa46e7a5524ee9aba752ba1449a3edf8ef4ba3ac85aad7d1ff52da9358aa8493eae513ed564e871fb94a0a9285b9c98734306b7a8341d69b746a2c6d385110d617980a36cb28370a6e25cfa2d1def24a418818f6c8fed89a5e2b0889fa3d26d272acdc602c36a6f4c992129b38e22a55598ca6b8a87daaa81519a2d4e4e7f655ba705b37a192eb09b792674ced9ed1567b442f5a4c66631d31dad69d626a553c53fc3a9ed14c4396a99eaf59ab56e1132f64737ef34c6bb985361000011000011000819f3d814d9f1bfcec892080ed4680dea9cdcbd7adcc797d914a1b9b73464787fdb293f24d5c51f0badc438b6bb44e67ad6a69715822d337db0622b595e496c76ffe1fff3bd647ea10f476750d054c15c78e5b844fbb8586d3d5c3576f2cd2a640ef076dc2b9b30da9f341a957441860c2e7ced88c4414065dee11c91629b456395b1cfa446b78c0e51a9b59629df28a6a5a9c95c5d45d6e25a14f34f48cf8e9ea063d8aac35ce96cad86c5aaaa13f7886fadadc82b9581f083097f38a0e9e3a559f32079af6bafb86fdcb0c05d1e5efad6e3a6e63457650fda15177d7703012d51f763a23c33da381795970efc17a67bd9dfe2e1083a35d3d83f352ffc29243c78f571ba6fbda7b7c0693d92006e6586479d6bae32d36b1a3ad678e79bf72f3c2c75e5ba57e7a34716a6f7296067b7a26f5a6726765a4837637171be9ee80256a6d57455de582d7135054959ba916aeddb69ec9024bb9499c9c9a235575c5548c1eea28feeddfec4daf3cec3c6b8f8ea74611f4f6b8c7c91e7b6b6bad91448393c37d5e616985459fb7ebc0e1861669a4246591e9f68b4929114a1b29921871d93efb1911d8e898ccfa9919363a85d64376833034c556abf20f549c72d6ea85be4fbb830d6f9d917258ec6b6f0b1637b59606b979986e342d3db4727edfb3f67fbaff80666c31359f96fcadb5165e762949cec9d8acd1d10b670397610b1bfcd46b53722f2d3a157361dc3b38ecbf758b76d5ed15c8f196f214384c293bc49b6d97843d75e78f97b3b388affd62ef9ec6730d06afea724e3164e27669b119538d36183b92f324f6ab237bfed806785e3113e999c6fc4e3a54bf8bd286c914cc9aba19402599c0090880000880000880c09340004f043c09a3fcf38e914ee08b2b2b7791e5d1f1108b44f48d2f92031507f3e5b042a36ddd438b05d623cd8d152506ff50b7db2746a39195253f5d02283c602d7b9a4e6fd92d6b61e05ae750c060ad73d65aa2918535128e184c8eaa83bba89ebcbd871cd2ec4cd699fc33264c2b43de4bdd238b646fd5912387ac458bfea14bae51a575da7d6d6c462cab6b3ed65855b832efe974d3cdcadccac8b4bb7bc46fb01e6a3ed67cc8ba6bdeef91234b98e51b1257d696028148c591c6ba8a032bf31337c7c3892e14cc64d78d21b60440833e50a85b5b9ef374dd5c962568f8e3eecf3dfee595154bedf13de3ae11ba0490575476d0ba8baccd4ddcba36381b9d1dbcd4e9a14b00f98545bb7464313072e59a37121597d75616e70273627ebe8eea5af1f7f74c539e46033b63648dc65fed4c3a35e8a3913035b434bbb02c779ff1cf88fa3c26be34d64f9700747931556e5f8464b2bbb2b636ef1f9b92561762ab95c95154143ec55426575692614e14e18525ea4f883d17224ebabb87fc740940a6b4b234432925b69527a7041dbff49152469c598f1ff4b5087474666648556363c581fc45ffc8d054b4aab1b9a6ac687966ece6a44899b094a31e4887185e5ba467bc3ce41a8ddb913eb3e5fc5fffd93f335bb13ea9c9bf8134ce1a1d5d61dac065283998ee1e4f950c8acee5e9880cf9f516f9da31cef9fb53af9d0429a3c594b71cf04e4bcc4393a38b4467293626868fe333e176e1180d67f8d5913d7ff85e65ff9d20c5a538cff9c592dd74020d4a2000022000022000024f3801ac023ce109f033097f4fb9632f99f38ed2bfe76747bd2ba4d051592cbbee1b1e5e23f9750db5c526b3a3be9ede1df68ffae4a60335af9d71b69416d0b9e28ad7d5d63d365f5471ec7c4bb934a5643ff4a4c0eea836d127028a2babcb2db1a9a6dc39e9a72c4c7cc35e7a37bbf17cabc36eaf6e39d568cd2733c3be48ac559a6bac890b6183b9dcf9cab123cdd5f4ce1bb7525f603b7890deffafb6984d66f31e6a2a184a9acf6730c47caa78e57caddd565edb62d59199e920ab8a1ffa3df64315072b6a9a5b1aaaed92da780b21cbfede7eb681a2acf95c4bb92922bf4f211ad1ef29751c3a585155535d5a30ed1da702baa2834d4d2d0df556d677de1b7b925e77e077ef9c3f7fb64e9af947c4a8e5f899b31636adcfab3f7bf6f8afff5dd269b585f5950e86861d7b5f79e7edb74f1c94ca7935bfa3278dd2224e94ce8ab5ec125d59e36befbfff766c8526390a495b6a687c6dd2305079ea8f1625a63129250cfc918a8d78cc01d547d56b671c365b6d4b350555d2d8eab09556d63ba4e50fea416a2f09a65c998bd184991c727e079566aad9919afc19b22be61e376365451ad1e5e012f732e4bac7bda263ee65bd766457e59fb6c30ebaf0343a492faee8b8778e145696b35bf631555c9fb95d784649865f1dd98732671349bf13e271690c5376d37125f804011000011000011078d209b03f297080c03627108d1aca0f5bfbbba726c5c3b37427c0de3a4b416c23b1f437fd72ff575712212c04d97e739267b79b94ca79693bfbc22c7d135cca6c5f9af544a59f8a74c602152b30c7b7d55aec66e217949eb69653b3aeaeb1314f60cc4315ec3d78c4566ae656eae9f3e9a1c12b1f30b10c472643baf8a3f6ccac348d4c28d01b4968da17589a90ec4bf569d777687681941aed0d2d3e574f607169c2c3f655d34debe4d85f84832bb4b4363fd1f9f98454c97ec8d1e9ccd2e3d746b3992e3dacc9d3cbd89de628fd6433ab9453458154c83316d04f53713e9958ce2b9674159bf3087d22424fb77664b64b76d9eb6d89415494ca5128a77241aa245ada24b91c2849414b2991c348a9bdd01963fbc225440c8d814473ccad7519a5e39a3de715cfd2929fda5a5f1a4baab4a3cbc9a5344f98e2b4ca4caa98f0fa46c4545e963f34459705ed0593cbc44a9f114a3a3886c2a686f42e198c26862c49ab7cd168e40fcfab0c269215abceb8bf5862d7ab86699506144100044000044000049e6402f4cf201c20b0ed09d0bf6b2d7437807fa0c3b5b642ca0edb49d427fd0d4e3da79f7b5f79bfd52c05111c1f10f4b65dc4cbeae312b4a5e2c4ef6d42c75723432eafa5d5913eb1cce94290feba1617e8144ab2352bd062e2084d0b2687f37da7510c0547077b46266e0dd86ce5114e65f1a86b62ce5073e25c257d315d64fce38bfd891bb7923e6d430993c9255fdfcdc0d25ade81434efa3cbfafebcaad808a40a1d5aaf7d357e38f740d96be6d59583059ca6d6c861d1aeeebf32f2e8ff5ddff0fe63c7f6025af843e476da71b8f2787c743d1823fdf314b8de8d9cbc9e86134d04fe95d02d229fb114d2697721a138b0d846a3c94fec4589ad96e9ea938597d5214f1295d52a58636d9a626a5845bf288f87ab28c94ba83bacc09950d6a1c2411c5648cf1be2cdc1c8c5255d9733eae3335f9b5b38b9bc687155d528113dd635c8669d766a6e898ed1ce0a87d35543af64e7946fbfa8c6ba4c8415fec9174700c15104e174da3c9199ad0af3194eb359150aa94b8c3545f2cb76b985614a0000220000220000220f04413c013014ff4f0ff7c82a77faf9b1dd6fcb5257a9bbfa492dece8f4f444a1d7642e6ba3a0682e17070fc6667ffd878fc4bf1e222344a9dc9a437573bcbf2c9dc906b3cf114386d62526b619f2f188a46848e0b1f5feb9bce84a5b492da5aec6e774f07677d5e77f7c422292c575e27101aedbfd57da96f52881a0c4669da5c60d0732ba569180d812e174cbadafae97c302286d546b50da92593cbecafffa8b8409742dc7d01d6a4cc50f2f634b5b4d2f069ac232ef777939e91b1915bee3e5f88be438109eaf698ffd25e4c0b2b81818eae9e1e97cb3336313521e853f61b3059f990175956fa3fbdd03528c4d75c94534528b5103b577d5834eccace29c2c951d054604772e5bfd6d026cbcbf7e9b99462028994586145ad918af5d0f890f0d27623fd4a02b2323c301e0a05073a3ae6548323f55e87d1dc725ef12935f9b5b38b9bb18aaed4423cbadc5c4af544d2965aa9a18acaf3af9dcc57aea9dc51489627a6e6f3ad0e73b2f7990ca577e11b55ffea48d29c7d28733691a4577d926198b29b562b41190440000440000440e089258055802776e87f36814b3359f6a3f470259d93161eac946ee5ebe58df97a73ed89aa9295b9b1ce2b573afba7e89bf39d0d1629b6d8fd6be9435e353034b4d6e59395fe8e01e996b53c452e28b5ec228bfedece419144c22b6b0bca5bd5d208192cf5276aacba45ff8dceaf7a87fcba5dd613a76ad9ed716962696f6a2ea15bde6f755fb9425fc3b7545476843acaadb41d3e9c4f963cdd9f7fde792b642ca441cd0d0daa9701b8862477659fe39ec5428c9dd2e78de9347f6dd1eff18c2dc82fe35b5998ff97586b84e81b8ed7b067d4d702ffb9a0da5a984756e6463c4374fb802ebfa4a9c16eb4b51c3b54429be703fec0fc0afd1282bad78effb9dc3bc9ac7c5260b315b1c6b59560882eaba49c4add0cf15508a5206b4bfc64aa72b1ab04aa8ee2efe9266fe95057fea760797a14fb6597a59f5c4ab391844f341625250ef0466a99e99135aa7b2555d2e6d87d7f7d2c51e92a56d581bcc5a97e3aea6321e9dd8a5422a12a8b51757ae49af3cc07c92b36374c243f597f1a4b7126424e8f2e5797923d895d86299519af68e645866b27f395ab2fad2ca159afab3c6c93a28833a17032194aeb92c16862c892d615b3e50f1bcadc4c2899a6e48952e0fe62c99abaea2c9269e0270880000880000880c09349e0a91f7ef8e1c98c1c51ffb2084445fac63bf6eafac45c65fd0146475d173ca4fe7da75ddd373aedfec30da1eedc3bd2abc5688b96ad682412a1af31301ad57ef02a554a5831a5876c5f25a37648ab1c15c322a1ca72e040bd122311f692ff24e14898ae83e80d05c6f8fb0fb4cc6d62dbe6da4d688b867deeaebec0e20ad195fcee9de305cce575504a1aee8c23952b07794429f16c1d54439fd1a84a269b3a5ebb56775ec6f274a4d669e94c95cd729ea42af91a5435b122cd60c2bd72b3588835abb469755089c58caa2f718d9eb977cc5d32ee3aefb78dca95752b54f545110440000440000440e0974c20c7bf637ec90810db2f8280dea8bc996dc3f144a6c743a6e6b3494b00ec0bba6fd0b7ebe7ab66ca5ab6e8f79ea53c7c4cdde155aa94a88ac9be676c4816539fe98d05d23c575d97a14cbd2aa0dfa0987a180a0ad22b5385b6e07c73ed26b4458471b6044087d0628fa35907253a7a89d4521537462067052a415531d968c68664b14c675add79199b498fba5e4ba75a2e87724255da3598688a0d4ec4977ee5e66042165169d3eaa3125315b57ac4da54d2aa22afa3aa5955e449c655f37edba8e4555a544595008a2000022000022000024f2801ec057842071e61e748203a3bd9e39d2e2eafada45f4b80e3e748409cf5090bfa025369b1f428c9cf318427db675c834ff6f8237a100001100001100081cd27805580cd670a8d20000220000220000220000220000220000220b03d09e0ed80db735ce015088000088000088000088000088000088000086c3e01ac026c3e53680401100001100001100001100001100001100081ed4900ab00db735ce015088000088000088000088000088000088000086c3e01ac026c3e53680401100001100001100001100001100001100081ed4900ab00db735ce015088000088000088000088000088000088000086c3e01ac026c3e5368fc8511888685d1515f241af18d8e4e87a3bfb0e8100e0880000880000880000880000880c0134540ff44458b604160030422c2b0c733a737d7f57b3c45fad2d2f2820d28411710000110000110000110000110000110d80e04b00ab01d46013e6c6b02465bed11bd6831998d75c468c312c0b61e2c38070220000220000220000220000220a04de0a91f7ef8415b02ad20f0d3121005afcb3db4b846bdd059ab5a5a1c9688d0d7e616ccc5fa406091d6e6151d3c75aa9ecece33499accfa99192659683d6437084353f3b49c7fa0e294b3562fa9d21030122278dd3787fdcb92037bfffff6ee053e8aeaee1bf809d96473271b0809900b84080443b80529a010e4a28f01e4f281a02d6881f68156c5a782ef53d1177daad847b015f4155ac14751fb10ac0481a85c2ca08202c14aa0042489b910081092906c2ebb49d8f73f733667676fc92690d985fc463f9b3367ce39ff33df995d66ceccce0e78f017f39299930e50b39820000108400002108000042000010878b280f78b2fbee8c9fd43df3abb40e977affdcfbe9ab0010f4f4f09ad2f3879e24469f7e4f8c6d35fffaba4a2a2cba887a70f0dadcd3997531a347468971f9c95bc7e3d60e2ec877ad4169dcfcbfbe9b2dfc4d9d3fbfb96e59c3b772534b9ff0da9a9960a546edfb0eb5c40ffb1331e1c136a2cfad7b9537e03537a547defa003bdfc3afbc6c2fa43000210800004200001084000021e2f80a7037afc26eadc1d3c7df060130b4c9df1609fc8a87ba74eedcdd8b9ef4e7392518b963f383431f9c17903bc59e1d982164a4efcf727ee4d4c7c70de246fc6facd5e7c6fe2c09f4dbd572bb5627ed45f0b0534a18923463cf0f8bc49f151915151dda94e4169a5c30ef04cbc420002108000042000010840000210f064013c17c093b70efa4602b48bd6646e5e67b1282bb82ecd78479abfa12f9dc9d3e97d0b2583e8b67e799276f7c67ac6fc5863a3e259ffde2d14d0740f65a5fbd7bdb4c7dc84e58f7d072ccb90820004200001084000021080000420e099021805f0cced825e09013a5befbd68d5e22839a320eb8b5c4d6257f68d58ac48b45e5271e6afa8a748da1738fdf7f74e94f83df0d8333feb13c4eab35efeef4c79b84151c761525f7ab6a08cf985c6c747699ca51d5644260420000108400002108000042000818e14c037023a52176ddfb4c0c07b873256f2e1a62f0a2a2b0bb276bc9f7934ab802ee63b985c2f2955b63fddb769b2b9807ccf808635ea4b0b7e78ef8d4c7a4460bddefc8d009b1aca597deefef44f3e49ffe8a05e7a66a1e3b4b23cd2108000042000010840000210800004d411c0bd00ea38234a3b0534510f3e36b1ecfd2f8fbebfee2835413f07f0f88c78763acbf682bc46e34a49dadda9a0d4158d46f1283fcbbbc0be40624acafebc2ff77cf417297ab76ede866b255feebf3e9b6a5b6af106a55731f1285af98fb3b4288c04042000010840000210800004200001b504f04b816a4923ce4d0934eaf5f54ce317e4677deeeda04dd74b3aa8ec244bd1a694f40b0a6ab51b4e5a4236042000010840000210800004200001b70a6014c0adfc080e0108400002108000042000010840000210505100cf0550111ba12000010840000210800004200001084000026e15c028805bf9111c0210800004200001084000021080000420a0a200460154c446280840000210800004200001084000021080805b05300ae0567e04870004200001084000021080000420000108a82880510015b1110a0210800004200001084000021080000420e056018c02b8951fc12100010840000210800004200001084000022a0a601440456c84820004200001084000021080000420000108b85500a3006ee547700840000210800004200001084000021080808a02180550111ba12000010840000210800004200001084000026e15c028805bf9111c0210800004200001084000021080000420a0a200460154c446280840000210800004200001084000021080805b05300ae0567e04870004200001084000021080000420000108a82880510015b1110a0210800004200001084000021080000420e056018c02b8951fc12100010840000210800004200001084000022a0a601440456c84820004200001084000021080000420000108b85500a3006ee547700840000210800004200001084000021080808a02180550111ba12000010840000210800004200001084000026e15c028805bf9111c0210800004200001084000021080000420a0a200460154c446280840000210800004200001084000021080805b05300ae0567e04870004200001084000021080000420000108a82880510015b1110a0210800004200001084000021080000420e056018c02b8951fc12100010840000210800004200001084000022a0a601440456c84820004200001084000021080000420000108b85500a3006ee547700840000210800004200001084000021080808a02180550111ba12000010840000210800004200001084000026e15c028805bf9111c0210800004200001084000021080000420a0a200460154c446280840000210800004200001084000021080805b05300ae0567e04870004200001084000021080000420000108a82880510015b1110a0210800004200001084000021080000420e056018c02b8951fc12100010840000210800004200001084000022a0a601440456c84820004200001084000021080000420000108b85540e3d6e8080e818e15a8aeaeaeaaaa32180c1d1b06ad430002108000042000010840a0ed025aad56a7d3050404b4bd2a6a40a0fd02180568bf1d6a7ab8404d4d0d8d024444446834d8cf3d7c5ba17b108000042000010840a0330a3436365eb972c5643205060676c6f5c73abb4900df0870133cc276bcc0b56bd77af4e88121808e9746040840000210800004200081f608d0912a1daf5ebf7ebd3d95510702ed15c035d2f6caa19ec70bd0d8aab7b7378dad7a7c4fd14108400002108000042000814e2a40c7abf5f5f59d74e5b1da6e12c028809be0115615012f2f2f55e22008042000010840000210800004200081db4300a300b7c776422fdb27801b01dae7865a10800004200001084000021080c09d2a80e702dca95b16eb050108400002108000042000010840000210b015c0bd00b62298bf9304702fc09db435b12e10800004200001084000021080c0cd0b6014e0e60dd182e70ae0b9009ebb6dd0330840000277a8003d9bf6d2a54b9595950d0d0d77e82a62b56e0f011f1f9feeddbbf7ecd9d3a6bb376edcb878f1a25eafafadadb559d441b3010101414141bd7af5ead205b7217790319a8540db04300ad0362f94bebd04702fc0edb5bdd05b08dc42013a01bb7af5eae5cb976f619b680a024a81888891e95e3800002dd0494441540887bf474be757d5d5d5b454abd562305a2986b49a027408643018e863903e0ca3a3a345681a023877ee5c787838eda2bebebe22bf431346a3b1acaceccc99330909091808e8506a340e011705300ae022148a4100021080c06d23505050405762e94798bb76edeae7e74717c4a8eb744c4ca764b776709037c8cff49cb5ef4a1967b23753d7599bca7c57da77a58cb24d65fa66ea2adb719676a57d57ca88f6737373e3e3e369cfa1ebf994e9ac2e9d56d5d5d59597975fb972850602e80aa7688112941f1515e5efef4f673bd4827211d210504d803e91684fa69d90ee4c11a3009449a354340440fbad6a3da14034dc406f13ea0f45efddbb37de176ae22316041c0a6014c0210b32ef10815b7bb87f87a060352070a70bd0195a4545051d6ed22f30d3b166ab879b54809fc0b7038657e41f35ceda71a54c0ba1d1ff16705cb175a58c32040717ec22615386f62e3abfa289ee37a1732adadf4401bad64a430074dac3f740918f0404d414a03dbfa9a98922d24722a57968da396984f4eebbef56b32722566868280db4511fe88d233291800004dc2260f947cb2de11114021d2ae0f0e8ad4323a2710840c0ed027479968e32a91bf409a0fc10e069658ee8aac34cb1b485844d9bed6ea7851062914d2c914f8976c7b569b3dded283be32c6d134b59acdd716dda6c773bcace384b2b63f1349dc9508276361a08a08bffca8a74fecf276526d210505f80f6430aaa7c6bd0a000cf54bf3334344637d1d8f447fd6e2022042040021805c06e70270b88c1ef3b7925b16e108080b5007d0f965ffea56c3af6e593751155e7a803bc273c2a9f55b5073717ac53f59fef2dfcb505362ac02f66721cdae5e826679bf27c914d266621a0a680d809c5e19048a8d90d9b58d4074fe8864daf300b81ce26801b723adb16c7fa42000210e82c027404ac3cd6e469e9f053be3996bfda588845226153c066561413095e40cc8a844dc576cc8aa644c2be11b14824eccb2873443191e04bc5ac48286bb52f2d9a1209fb76c42291b02fa3cc11c544822f15b322a1acd5beb4684a24f829169f6d5f9ba8050195053c6177f5843ea8cc8e7010f04001dc0be0811b055dba6502f897e696517a6e43a5db37658d593c35b26d3d6c5fadb6c540694f10500e04f07336fe4a7d1309653f95659469fa30a159fb8f146519659bcef295b1da9a76a54d6519651afd6fabb67d79a5a7fd52fb7dc3be0c7220e02e01b17f8a84bb7a4271a90f9ed00d370a2034043c4100a3009eb015d0878e12e0076d6d6bbdf4f0a6e3418ba70d7154abe68703e5e74a4ca1bd7d474d880cb529d15099fe4e394b084d9b10d6bca4febb0f2f16c6774bfb59d7e61c17fe36d4d7fbf8f9d914a4c6df2e8f9cde6b7c5fdb2536059dce3a6cd649e99fbe3f7249133b26c9f606574b717de9ae2d9b761f3f5954ca060d193b6bf1e2b1f141acf4f86b9b72173cfb48e42dfee1a1aa1f0e5c77ca6ebcb2297d5dfc23d37a06597a27a778ad1b7ebd7dc74fe869bbb19cd692ab5eb8947ea24bdac311cd2db6b8dd9b0bd9fc6ddd905768697fb369d232ab2f3a79b2582fffc213fdfa926fbf2123236d57df5258a48ca5c7df7e63ebc98ae8956f3e1d6fb58df4678e1fa6165944c28409635d69aac3b6b5e86c2b091779f981a6f81ca004e5f0599e68f948942fe5af6daddbca0ac88bdbda665bcba3ff2d6f853679d22fae51797ad3d12b6f9657172144bec84102029e2320f64f9ea00f079af83eacf22b9950449a3c07073d8140e714c02840e7dcee9d65ade91fb9b6adaa3e77cd93abf6ea67a64d4db23babaa5cffbbabcf34b271c15e5f1dad67dbf5a7fed86f6080a279a3e1d39cc66d39651109c1e323f83beb46c189c65fd4d6ce1d15a228d772b22efdd90b6b92ba663d6efd133e46c35f721bd3aa1ac7b5758dccd19c34ebb02fc6924b354d417d439deb15bd3263d141e6933273c194b0d2dd9b77afcadabd6c73664ac5b1bd07774f59362f42fa51b65b35d9b0d79e7fbd6f1f65fb265310d3498733ca4ddd70f5b9672ad7303637d86bdb5103db5957fca7be56370b38acc5bb5c5bb67e7df5330d3ed3a79be411179b0ed86d77872bdabaa15cada5fdcd61bbe6cc6fde78666db6a5c0a2f519f312ec7658cb729e32eefafdef7797f69b32353ad047c9a5dfba64e6e63ca68b8eae28deba795dd2da8cd787b4d698beb423b6b56d8f9dcebbc0cb8f32c537b7c511a794a82d39f4e537f9972beb8c2c3834e2ee9fdd3f3ccef13bb4b1ecf4ee2f8b87cff8b718add417ab4614b3a29fc44a6568c0adc95bebe76319711005ec13ca360d25273f3f945d66081eff40fcbfbeb6c455d6a2f2ca5e89ea54c650f2edeeefd9d469a3e5ce5a2a351a0cd41fadc6a5fe1b2f662bfa50347cc643bdaa2d08a229d1bae8004f885951c026210ab8585e59bdd5badc9fefdc5498cf2a5bb04fdbb749396252963f75ea545555d5c48913792695a104ed6034f1348fabac8234043c4740ec9f3c418fb4a4fdd62daf64427de0ddf01c1ff404029d5000a3009d70a363951d0918737e3fe3a9ac067951b4d575525ebaf29b0a1a02f8f0b15e692302ebcf5c08de58f7d7fde57f9a2e2efb33e6c3f865fa49eb4baa5f89355fb2f761e37cdaf4f48d2ed44e576637462e9ff7da1cdc3b5a0d67794e9a7554bca2e06213f38fe9ad1ce1b02aa73fb9fb20634b37ec98255f509e3575c2c299cbdfde9e93f200b945fab6760269d5566b33f5d995c4fef727a31ebecbbffefc85e037ebf666d7fc7a4460cbf50ab657d110c0fe67fb8e8fd26cce2e0cde64dcf64dd553f73a3ed3b334456307ffa7728df41be18c059b3741ebdbdd52df926ad590b5b6bf59da7290d2e764b329ab33568c6c9b75b99ee9662d5fb1385ed9a4b1682f0d01a43cf7c1ca0991acfcf043692feecd291f3252b1632b4b8bb4efaddfd6a2ed5613adf32aae35d99ed13516a6bfb7bb8cb1ee317d63bd0df93f5dfcee8b0faba7fd2a25c67c8d978e4da90a3f423596155cbc567457937496c733a5947c082bca287b2b2fadd9ffee7b3fc5dcffdb6909bcb0b2408b69c3e1cf0f5f340644c48478575be2da5751f68a2fe59db9a1bf72b99819bdbcfc9bfb2f2fadd9b759eacf13d307f155a34ce53a2adbf7f232daf74111cedc14ad9ab2d6cda779ff3997f3be59ceea5b28439d11ec22d1a61e522d31898a656565c78f1fa7d9848404fe14405e8617a0810051120908dc1602f426a289ba6aff5affd3eef1f3fea0588bd80d9b52972e667bb7fa4ef98defa1cf26ff6bdfe9d8c9a3bb39aa6bdf9a7d8ea26524210001770a6014c09dfa88ddd102fc9f1f97a2f8848e999a1acd7c8bb332b2f4f240b575b54b397476a899323c80dad42684bea5a9fbeb65a355fb2613fdfacd9cd82e1f171affeb40f92b293a730354c864aa2f28fdc346fd1af9f7713e9c1b36776cf0d14d45f7e57a65ffdfbe7443417d76f1bd9b0d2f2c093eb6a95a3a0bfdbe72c465c337cff6b6dcfdcfaf74cb4d29fb5570b0686586f16339ebe531414fa545fab19a439b2e4f3e25fd4c5a52b066f3929e4322aa57fea77c726bdfacb22d73bab6f88ac13b343e846239582a6599fb6234984cf2e04460d29299e38f24d0bd03b4b0f893375e3e9279888653a2c73fb56ee5543a4fd5171d5cbd627556855437396dd5738b86ec5d9eb6b7dfea8d4be96b17faedcf2d4a0f5cf4c1ca29745a7978cda27783966c5e3a522a2a4f97ce37318dcf94783fea8e36d6671cab33d96c1c39aa0d4c5d8389697cefe9ed2dd51adced2d7669dbf9ba27c70637b76a5e079b5a5465dc609f018c9dcb6da0ad202d65acf5ed6e6954a45a3764aded6fa22d070963ee11c6d274264375b5d1372888e0ec263bf3c875a94ba5ad92bef4a19c25e96b6789f1031f1f69238e498a905637501a5e29d7d396556e7cfdde752faecd94ee3df0891effe22b2b4646facacb6fc1b6de907a79e98a83c929be191959d4bed86728ed7c7281b7f954905fa7559eb0d5e466d310c0c0877e35294e1e55abc9f9ebff7cf9afefcf4f884de411a93025ccaf1afa852d6f8d545f5a68fed39c10b3bc62f3ab0ff3a6ffa44acd392efef5323431efbe297352e3a8c292bb1a351ac72d7859f78a0a373652618d562bfd1e1805a6574574737f94997ca9a20c2de493833ed458c2b57bd59a9b77fe5774c679df2c2bd54219e7115c5d428d8b49d4397cf8304fffe31fff58b06001a57919e5f9bff5bb46544502021e2120f64f9e10b38e3a67602cecb56d1f8fe8c6e82b67f40f7da04fd9db9bb55a76889537984c177ff3c27fbc73dfb76137715d82a2b7d801479d421e042070ab05300a70ab45d19e2709d0819acbdde939ed374f53e1dcad59595be4233ceb9a096911c5b37c747283f5e72b9f6864afdc1560d5be97d765c67e3dbdc7b2cf4befcd289f3b226c28bff64c85ca4ba7fe597f3dd6efd474bfcb87ab266dbbc6c2fcd37e1ebce03faf27ad29a9fe9defe2cd86ecf8c00707050f9cd558bfbdee4d7fcd9f2605d0053d4b17785a3ef01499f5e70bfb67189fbc27f0fcbdbe85df5c9f74449f32d92b627fe9e453ecef8fe986f837fc75a37ee49ad2eaf5e10b66191c372bda6a4edcb85658c5bca2e22295c19b179aff06c78fedc732362e9b95de2f65d6d431094909f7fce6f97be8843e472a7028f3c2f2b5eb234bf7d0ebe669139e8e3e99b67875836eca8b6ba7187376afdefc529a7ef5eb09911bd3332fff6668a43e3f3daba28265143fff403c2bcad8571cf15c8c52b5efec7e0db319abadfce1987eefe7755f31efcd4941567d9367ac6198178da434dea06ff1fa4b3d6abcced857571a68d632aae2a816635d1ffca5f4048782f4dc3547cdfb40ebdb5d0a6135b962c8582bfb9b558bd633c6cb17684465e3d2591be57c5dcad277575aceeaa5bcf2c376e62fbcbe7259c58bebb2a3a7ac5830325829d8736c5af4fad5f396e62d9da23fbca981f59b37b2a77279eed6656b33f54bd76e48f6bdbce1a917572e08cad8f7342f70f3dbbaa136bbb822bb38a39fd53ed3e217125ce3757ac6685eb526ba642eef0e41fd47c59ccc0f0fa15da8a6302b23f3db8a2612f4ee3bfaa1d411b17c57e47b97be206bc767e6a571a3531f1a21eda855795f6ddf73b25aaac222064e9a799f6ffa3b9f49e35d457bdf7abfe8978f4d52eeac854732bf38916f94cab2ee7def9d993ad44fdcb5de98f7bf1b3ea3e109f6d3676fbd3ff0d1146dfaaea289bffc79ff40565b74627be6b79572af286e6ab255afaefe7860e79ed3b554d15b17d79bf67b69f0913ac68fb0bd8cf91ffcf5b34aca92fbb3f0f1c9a682c3199f7d2fb7c67471a367a6264b033f7cb2eec3cf2768b7ee2c9cb4707e6f998c9afae87fac568d159e508250c70c79fbdefbda386e28dbff757eef94c766264ae36ebc33b545df66649e906dcd71358507decb2c8cecad292a92c07cbb273ef2c804fac8a49e5bfa2f7c9ce79b3b2fff7156b74d65283a95e7af3cf1cf7ffef3c2850bbc11fa52c0b163c7468d1a258a5182261e5a19086908789400eda5bc3f3c417b2cdf691dbd52c13ed1d1017443a0bf3f1d8978d5171cdeb2bdcb7ffd8246872bfe38fa315afcab94d497fef793d81f373cbe6a1bcd4e5af6d67373877915ed7fed104b2c5ab5e6bba7f6ec9e17d4fc5e166f101e8bca530e4d94c0040108b85100a3006ec447e80e17a07f72da1ac3a8d75315aa685b3338981e16673235141c2ce99fd1c0c2b44f8e0fb62a25d7a8aff5b9e7c9aef3975d1ff9a70bc655dda5e82653cee7355fb12ec77fae8bf567b133d9daeccad70e56ce5d1af9d612e3968d75c1cfd7317f9f2b4ff6d49ad880b1dea376159f4c081c375cfaaebba5f33c2d75cb92a9d5f9ef9ae83b7e7aa45f438da98f9e1dbb71f6823e445a6eaaac6ae81aaf7be139edfc2a6fad29c069b39600e654615139f3e911edaf8c6357283069c3deadc7776764ecdebb79dd417971f492356ba4abf98c2ddfb2610a7d053f292e6d73e6f6c3b9537c3737b0a4751f2c4fa0a54974c5b968d9bb1b0c1b67b2f4f5c72f3d37e5f261e90c80e51dcf35f5f3399ccd746b92e58bd252a665aabfac7f6d67ddc7748ec34ca5a5f5b1518a6b103288350c8b1da661df37cc7ebdf0f549be2733f42ba95e79a3959da35a225e9dfcc51073f956b7bba8d69c70c9b0b9b0b3fdcd585e94535c418f22a34b31ba887e318a47f619f4d574d57cc99a57a62604e5ecddb062fd86554923d64e8d696e92e56cb7377fcfb06843b26e5df198d494a468abad6baca66f0ad026d8be756b4305ad7951e9b5eaa4c020d19a51daa3f4a5a5e53e63929fdbb229afc637d064d2cbbbe12dd8d6c5521c9b7696250d11d1ed13aef38aa34c91a0d60263fa07b0a2b37bde3fff75f7d8b8d8b8b8b8a10f3f3294165cfde1fd9ddf36e9e2268dbeebeae9af4f7ebbebb390852994cfa7ab3f6cd9a55cba9396a6ea72deffec240b8e49b92fb129ffc4d767f77fa499346a74e2d16f4f57fb468c18d19f4ef29beb33435ee6ce13f9c171232625465c3efdf589fc6f4e970d4b0e6f3edbd4448e189d78a4b9a28ff18726564503155e6536bdda99a9e85563e991ad7b4eb38098949444c3d96fbfcdaf66bee17c65cdabac0d4f56f4477b356bc3aeef9977c4e849838df93f9cc8fff6dded9a2767496b2f4dd67dd018a80fd5744dd03c69c3a98796552b3bf9576b10b963466375fefeaf99ae775c62a46590d4abecc4bb3b4fd8c45d98586b6caa2e2a0a1832e901ddd5d3074f9ede7f6ac4acc1d2700c4534f7df2e619fdfdc3fe9afb3ba3759262a2a6ae6cc99ca46789ac2d15b4974c9ea6d655f1a391070ab80d83f79a2852702c8ddfcfeb53fbc71579089555f0bbb6f495aaff2ef3299f117b444f764fa1f8ea5fdf93fd23f1c7265c3f455e59b320ff5d716fd71d2fc8df15f2ce956fdf9c6b567d2feb075f3cf026fdca037a4c328d40af58177c3ad24080e81ce2e802fb375f63d00ebdf0681aaabeb9f2fa02180156382aa56455b2e2c5b3541a7aae1af3feac3caebb61cadd6fa33e9429cf43dff1b23575f0a7981feaf5cdec8b24b8cf58cf92544ecea2d2d7e724c68a8f49726f9ec8a6e687765eaa66525b521cb727d975feabf4d3e73a55b9dd322f70df65e9ca1eff14271c8ea6b7b73280e4dae357ba3b4b4868544f56ef973415f5a9453c4464e5db47a63fadebdbbb76e5895ec53bc71c5ea9fa440ba08f3f9a374c9534ed22966b478d242bf9129744ac97a8c99ccd8eeacbc9c23077533572d1fcff69dccc9cbdac7a2d36c1e72575f5b2f41f5e9fdd1ebf1c657bbae6037eecb90c70da4584e27bfa4d8a247b51125c6919bf587c27c5668d8b878bb9f5d705adb6e814bdbbdb9966b86cda59dfecdcb7869c58a15cb962da3d7151979ca724109f3f6eedd3c6b48a4af6fd090a9cb1646b3ec8367950524617b7366aca142467e29da523c6ffbea7d15bae7b6ecce4c4fdfbb7bc3649f86b52fed55164a98b76e79ea908cb52b17cc9a3a6bc1d2bd3974cb0b9f6ed5b6b66fa73982fd5f9779e9dc8c26f1e4363e2bbd060d5afc9b47ee4ba4e70156e49f3eb17fe7c76fbef997fd3965e78f1d6d620113268d8bead133f97e7a4602cb3f79de7c16efe5e570e9f96327e80112a9f36724c5c70f9b327b42424cb82e64d0c8b1e1f48d80a8616393faf858a27a69baf64f4cbc6ff6d4b17d7af6888c94aed89794552b96070d5054d4784903f4746fbfc3b8a2573f9d382575e071a90323a7ce9f10e3cd8cd299b062eaaaeccf4f72871f5c9c3672d0a0b1531f7d302e80951ccda915c51df7a1399c4d534eb97adff7c8fcd95307f4b0ac3d87b2897b5e1e60183a67f1f8410392c64f8df36625f925a22b6e4c903c45e7afbc1b3d7af488b69e44f794df08a02a982070bb08d049389da23b7e3549df28ec3f7af8e8e1c3878f1e7f77af60932f1d4278c9df0064013da2835970748fd0f2f3dfd1f8faa9bddb3fd99555ced8b6cfcfd03f30f465b5779e9e14dd43faeea4b3f66f1722f4130277bc00ee05b8e33771a75ec1760c363bbd48dc50f6cc0bd7df0af639f75f317df87dab36b4f28936bd50d0aef7f4da7bb870cadfa4118039b174384fd99acb6fc4f253fdd2ef2f9ef309d29a4c15872f4c2b617382d99b5f96cdb9276414dd6c40b5a566cd37f44a493ec9b9268df445f7e62c76ee6f57a79df53ab6a2f7107a8040c395c92baa4dac4bc5f9aa88899186457ef5e5d78fee2a9ff26555ffe1ba077a3b6956b42527aee74bcf058ceed9f29d002c377df1b399c9efef7985ce94e8abe2bab831cf2c4f7ee4d53c7ded409aa71e9a0de5198374ac7fb9dc64e2371e979e91be5e6e32e952e7463dfdc1860d1515e3df481e5d317eedeacd1b5871f2f2d1564faf67ecbbb72e4ca9f333fc5f79b0c43ff49eb0ebec72439d893fbd9f5a32833507957318ab2fb972b6c1ffc3b5511f4a19f55b9697140477e1dd32973077d12acfbca8f98fd426a55bddeecde5f95f170d4525671d19b870d39e85a294a42a66f276af5e9d9dbcf9b929728e41ba7925ce8acd89b9e350d5e534aa32664484dc824fdce454ddbeccd2e6473e4811caf3727bccfcfd9ea782f4e5a559e92fbdba7ec5c0117b52ac1a33cf3889dbd2b6a6401442a2e67f1533526cbba9edbc52d3fca48e1aa3746d69d10583ffd009a9c3eea777597d59fee92f328fe4ecdfedd797fe35ac3df0f17b9698e525d24d12e6c9c1d2da00fa1e7f7894466ad6cb4b3378f28cc1526169b085bea92fbd2a268d2e98951d7e6ffdd78a3cf3ba37774fae625bd1415c7a9ff3c9c4e87b0221e154449efa0f8e3d50641b97ba222d34372b958fd4f20e7bc50c8c64f98594a5205216e6ad2a5f2d4be9c11b4eb87c1306852bebc869c771e96b0cdde9b3549aa496a5a71ab836f10ed32b15273d45ff5bafdf8eba57af5ea55b72a86951973f20909fe4883ef0feb4de039480803b04c4fec91362d6be2ff21b6bf88c49e362e87abebcdb1b8bf85fe91d474307f46ab871434b63653f1bd7a74f2cfd88e6ccfffec343a66e06c38f61938605343535c915a998b389a2b7d00167b5900f0108dc5a81e6c3875bdb2a5a83806708341f5eb7a137f245a006aa285d0c524c673fae7a8bb15d7343bcae5c3b7751fa57303256171aa07807c915e845aeea93b22464feefab3e905b1898e2cf8ed43eb1f1d2eb3fefca722b63b7d4cd191f90127179f2c78de386857cf4b8dfa86557c6ad29baf23a0d13dca016be2aaf3f57a21f18156c89efc56888e0c75315e71abb18e44371d6c0aae92a39856b6cbc5e7275dbc6eaaf189b5edd70f95875d2a9ea5d8bba8defa3d1c95f8bd7f9d34539a3e3662d0128450f5dabf30eed176abbea568568267eea1296b9f1b1c56b572d4feb17e15b937764f5ab594c974657166992e8240af3cba0d4f96cc7faa52bd3d73f9562cccb5cfe66164b5e3e949ec03f751edbb6369f452f8dd706ebc7fa34ac96be0e60fd8d746a65e03dde2ca3fe9d4357e70ef62b3c543ea79c3d3931c8fe8909cd41a50ed0e4556d98f2b1f1e5f2a65fa7f89ffce8eaaf1ad9be147aa483d42df364ee9d555ef332fe573a75a40aad6f77ab6aae1a8a4a72471cec6fa2807dc2d7abe2c2a1d75727842d4a89cecb58bfad824d4e4950aec9a0a98ecde9cab55e5a2b850363312393d98ecc57d3939f9a9250919dfeec8e0a5dea58e583032e64ae7c36933db566434abfa0a030babdc3274c6b6ea4b931b3663bb635ef8c4d3b3cd37ec55ddf45a9aedca6742f004d3ccd33f38f7c7aa04417b46c419454c6bf47fcc87f4bcef95b5695e1069d8446ce5d96d6530e7c21fb50a1a67f30cbe2b5e4d354dba5da1f0b5953558597177f8ec2f1bfbf931372ff02e9fb30d4b4edd301cf7db1fd74a976dcecc5c3a2029921fbad8d07bcbccc57cbe580521db9623386bc0a0ee38678997be5259d38d7d21d055de5264a722ed0f326a4facd2dca7f79b3527f9ae8649cd55287bbca452e17cbb7d548774c881a0efac097c9ddb234e5259db7db82c85c4d5ef24f2a28bbe024ae54446e56faab9c91d22d4e7c15f92b151489162b9917b65a970a8889d7292929f9ea2bfa7c354ff45000ba33808600ecf7aee622f80b018f13a0bd9af78927680776d645f9fcfc5aa5bea1173d07561e1290cffc69b84daa71e3467d35abae2aab1b1073375bf763c4ea3931bef55fae9ab863d44763235850bc8e06015a3dc3e76f31671d403e0420a08e80e21c469d8088020115055afda7c8be2fd245eb20f9f7e7ad96d59fcb95fe019cb6f99ac87e7341c0af872b2e5f99a41375ada6f99ab37ff8da47eb3ef85b83f4b3e13d7a16ce299af6716dcc0bd263bce6c4fbbd35d337fd856bd9fe3e971f0ba77f597ff574d59637ea7ffbd1950f1f0d4f1adc851d3324fdb9fcfada20cb970e4cd2cf10ae3952b3e68888cfde99ed373fbb7ee49fa53bb4e7c47a8fab6e5abeade2faaba1efaca914fd7c797cc83d61c410e0b8594b634c7ae89a89f58c75f0b57c452929191837f3fd978d2b9f7ff7a565fbf8229fb8d4b7d72c0c284ea785144c3e56902ffed303e8a353df7fb9f4e9e7df5dbae05d2aac4b5af8c62b93a512112366e8d88ec0d1d2656cdd80293e2c33e11703a5dabc49f36bc4f8c8bdb997a664543d91514559f30707bc3c8d7e8c40518807a32c459e7660f857c32e8dfbb2faf92fe92bf4ec8347c3c7f5b0ba8d822eea51be544951cb1c92fff191b6a389b9b0dd15d55c3714959cec6f62b9834474eaaa55a5afbeb471e5a18dd2d2f10b5f5b3ec66aab3931d7d3ed18113e56770d50755df2f2d716563cfbee4bf2f66151e397ac792a49e992b470dd8c9c65eb572c5e2ff765fc92d7c6e84cfa526aec166c6bf91e11db7694d1e598e69736f18aa34c7ec84b276cd40aa5ef1a3ee840c9994f36a6df3b717474989fbef8e45efaf90aef7ec9a343ce14fef3d3f4afa63d34ccabf0bb4f0e9cd10eea3ba28f74dcdcc5dbbbffa8bbbfc897964e4f1dce0abee54b1726f5d957984799331f1a567bea1f474a6a753dfdbcbd4d54a7a9eafcf98bddfb4585d3893eb520ed4bd221b7c6eb46ddb58bc507771ea0f371435d8db7b7f952b85c463a176f627ce442aa45a9bbee31c7a55e31eb5ed1d2fe23067e919ffdc996dd33535358f1c1ddf4e441fa00ead2c55bbe3c2eb52025a48145de9fb8e177b3c2ec4fb7ec9e36716453e9f1cf4e5530ddb0c121deb4af732593c9d2076f796880d65d24ba74696eaaa45bdca8bb991d08e7924f8e29b8658a1f3e685fe1298a3b7dd23d8d978ef1b803fdabe8c34c5e5beaa7375f618a465472b7a577264ff0be599a535c93b729e3acaeb37c876df2737bbec3f00223468cc8cfcfe70f080c0f0f1f3b762ce5d3a90ef596778017a3283c81570878a080d83f7942ccda77d564a2a7f884d13f1562a440dab5c3a4cf3116e6c5b4314b27b1156993977ff4f91fe73ef7e8fdd2db81c5ccfde8b9d81b055f75bbc6ff616de5bd404d49ad61820004dc2a20dd4ae7d60e2038043a4a808edbe8a94e1dd57a7bda6dacaf6b641a8d9fcf2d1c7d53b6595f5fa7f1f3971b6f30d4379afcfc2dc308adf7f746edf56ad6b5ab7c41bff5d25209bdbedc68a42fa73bfeb13a9b36f474e7ba939fb5b329e960b685d5319e9c37edd5df7fb2d5d173e50df555f41587003ffe754665bb2dd552966b63baed866d0ca02c4e0f1674f64381e6626d32a7c22d6d1fa3516f34d2a656f6c059ba4d719d35e220df65de53a74ed1191a3ddd9a1eafe8e7e7a7d56a29211abc7862c7f6837996e7de05444d9f3ff7ae20afa2a39f7cfc4d012fa60d4f9abb6072f0f91d6fefbcf0c0bffff6ee4076e1f8f66d5f5b2da501bcdc037fdbf9cf525e25206ae482b471343a727ac73b7bf268d0aacfe26766d32f6ed2523a8f6db87874d3ff7e238d02d258a14ed75841cfcb8f5af4bbb974eb4df3bfc2359faefbcb853e0ffdf6e181f5b99fb610372477c7fffbf4c2034b9e480c64c5c73e11bda2277ad71afa2d797a067d25979f3953cb9410fd59f4bb59d5df7ffac9c13ce99e00ba033fa4dfacc71f8ea161cae6f2f475861d6f6cbcd027f5891903eb9ad7bddf25736712832c4dd1aa55294213d79cf99302cf7efa97cfcc5c7204e9853a40ed5fb08e3bfb9733c272776ccc34af053d6e92d6bda0cf43cb1e1ec8cb2bfbcf7d5cc9174129c157cabeaeb33222ffc71f7fecdfbf3f8d02f053201e97be14f0c1071f5099b973e7d28d0094a0ef08d4d7d7d32b4d757575f4638d8307cbdf08911ba23d70d0a041b4e329471344082420a09a00edc674c7fe993367c4fe49fb6a4e4ece5d77dd25de23e2cdc57368a7a55f1e6d68a01f0594265aca73f8c817e5f3df97a596a5450d0df4594abb3abd11a818e5c85f089016f1baf6afe7cf9f4f4848a010aa21dc2e8168a8911e587bbbf416fdbc0304c4f1c71db02e5805085809d02800fff6a6552e66ee300163f6b4e92b5ff9fbae2497ce4f9b57be7db59a6be3af870b9c3e7d9a9fffd381268d02d070003f6c15c7a374a77d6d5585bede37a86b50a09ff260b4b1a6c6c0bcb5d69962751d2c3535d4d5d61a4dbe0154451cf88a0ad609457529a90d0c5486b62e6b3567ae18a0a5cbfce67fb52db11aeb6b0c4d4ebb6cd50e9f5174c3b5b365076d98b3ac9a725ecc1c57afaff7d2f8d15ad0bca5ffad556b79b9629bde9a36cf9d3b3760c000e12ca21f3972844efbefbfff7e8a4899742a4527ff94c313746a949898280ad31e885100a181841b05c42880d83f698f3d7bf66cbf7efdc47b50bc89440eefb032df6615a824b5cc07b9789a0a5079cae1a303caba36e9bcbcbc8103076214c0869466e9cb471805b067414ec709b87808d2711d40cb10e84001fac7a9035b47d39e20e01594123745fea67a5b7ad3be5a6d8980b2ee1590ee64a77be3bdbde9589327acfba30909eb296ec71707a9f4bbf5c1c196bb06acabd09c79a9f258d9d42530c48f7e18dbf6ae3aab32f2f5343a42b6342eb7a42ca38ca5e80f3fb3ed1212a2f8754c65514a7b0706fb5aeea2b759e868d6975ae32168a93296b2b0b26fcecb68698da8a4b2a24d9b8a76bcbb7675bc16cedab76956cc2adabcc9fe9b2f578a9629c1f71c7e3243b322d6c89123f9525e98faccf72e3ae7a1048d02d83bf092788580270888fd93276807a6893ae6ec95f759b9d47e2de8b2bf4d26cf51d6b24f5315ea03ef864d75cc4200026a0a6014404d6dc4525b80fff3a37654c45353c027ee99b79f6c3e92713970fb6ab9dc3c0aba5d801f65f2034d3aa3e3fda159fa4cb03ffae439f6f9ced6821aa136f9c70b4f8810ca2aa24167ed2bdba132a26fcaf2cecad80712e1948b1ca6956da2ffa4414ac29f1264c25f295f58d14d25a20c2fcf37bab2a4436d6442c01304f87e4e3de10931eb96be5174f776c02d6b8da010f034018c0278da16417f2000010840e0160888d339719e468d52bae5a6e9d894caf023549eb0afc27344be48b4dcb2fd5257da71a58cb265f45fa9d172daa12d65f289d7a53425f8ab4d8232f97841cb51b014021e28401f14e2b382f66435d31ea8812e41a0730a6014a0736ef7ceb2d6f40f5b675955ac270420602d4087b634d1ddda94cd2fdb8a235deb8296ebc094af2c43d5f9ac4dbeb2bab28c32bfaded28eb2ad3caf6956dba52a6ad75956d2a63b9d28eb2ae32ed4a5d67659ce53b6b5f997f33fda7b8d49478e54d518e4d9bbc0c2fc697d22b260878a600edbdbc633cc1bfbdef9657ea06f58177c333add02b087412018c0274920ddd4957531c9f75d2f5c76a43a0530a74ebd6ada6a646bcfdf910004988f33a7b1551d8a68cb37c650ba28c7da658649310b3ca2aced2a2304f88596579916953c659bec3baf69936d5a9804dfbca2aced2368d885965799169d3beb37c8775ed336daa53019bf69555789a0af032629198e509fe4a3b150d30519a12742a151111218a898a4840c07304c4fe497b2c3d2d85bec0cf3f18f9d9b86aaff46c42fedb19a23f9e43849e40a0b3096014a0b36df1ceb5be186cee5cdb1b6b0b0159a07bf7ee15151574944907bb74aa46133fdea51cfa4ce0479f3cd1711f116d8de54a7957cadcaa5da0adb15c29ef4a19b7f79fef2dbcab369d51f69f3f14900ad3590dfd465a6868a8725fa2fd8df295bf4f69d3146621a08e00ed96b47fd227a1d83f29111c1c5c5555d5b56b5775faa08c42bf231b10403f662a4dca7ca4210001f505300aa0be3922420002108040070ad0212f0d045cbb764da7d3d1791afd52209dbff17836093eab3cbba363533e6bd33f57cad85751066d35162f405544499b06c52291102579b7291ffd17680e3d29d39995c3f2a2359e5096a1df05a01f0ba4f1a61e3d7ad02ea72c191616565c5c1c1313a3dcf794059086800a02b4abd32e4abf3f47a354221cedc374b7545151d1d5ab57692080765df1a6109f1e1d9143e362f466a17b10e8c7f0c4fb48f40a090840407d01e99f43f5a32222045410c8cfcfefd9b3a70a8110020210f040013adc2c2b2ba3b1000fec1bba746708d0d9148d37d14893fdea5cba74a9baba9ace7cec17210702aa09d0493e0d01d04095884887fd74270b8d615dbc7891ee08a02f4f89451d9a080c0c0c0909e9d5ab978f8f0fdd2c8381007b6dfad0a02112fb7ce440a08304ac46af3b28069a8580bb04f0cf8cbbe41117026e17a0c3df4879727b4fd0814e2840673b9d70adb1ca9e2f40c7457c8a8e8ee6170255b81c481149865ec5376e3c1f0a3d84c01d2f8051803b7e1377ea1554e1dfb64eed8b958700042000010840e07613e027e4ea8f02f0e1001c9bdd6efb0bfa7b670a6014e0cedcae582b084000021080000420000108d80bd0d9383f21b75f841c0840a093086014a0936ce84eba9a186feea41b1eab0d010840000210800004200001083811c02880131864df110218eabe233623560202108000042000010840000210b865021805b8659468c8d304e82134f49070fe3be19ed637f4070210800004200001084000022440c7abbebebea080809a025dd40c8658105053203c3cbcb2b2923e58d50c8a581080000420000108400002107051808e54af5fbf1e1616e662791483c02d11f0c217a76f89231af14c01bd5e4f1fac0683c133bb875e4100021080000420000108746601ad56abd3e90202023a3302d65d7d018c02a86f8e88108000042000010840000210800004200001f708e01b01ee714754084000021080000420000108400002108080fa02180550df1c11210001084000021080000420000108400002ee11c028807bdc11150210800004200001084000021080000420a0be004601d43747440840000210800004200001084000021080807b04300ae01e7744850004200001084000021080000420000108a82f805100f5cd11110210800004200001084000021080000420e01e018c02b8c71d51210001084000021080000420000108400002ea0b6014407d7344840004200001084000021080000420000108b84700a300ee714754084000021080000420000108400002108080fa02180550df1c11210001084000021080000420000108400002ee11c028807bdc11150210800004200001084000021080000420a0be004601d43747440840000210800004200001084000021080807b04300ae01e7744850004200001084000021080000420000108a82f805100f5cd11110210800004200001084000021080000420e01e018c02b8c71d51210001084000021080000420000108400002ea0b6014407d7344840004200001084000021080000420000108b84700a300ee714754084000021080000420000108400002108080fa02180550df1c11210001084000021080000420000108400002ee11c028807bdc11150210800004200001084000021080000420a0be004601d43747440840000210800004200001084000021080807b04300ae01e7744850004200001084000021080000420000108a82f805100f5cd11110210800004200001084000021080000420e01e018c02b8c71d51210001084000021080000420000108400002ea0b6014407d7344840004200001084000021080000420000108b84700a300ee714754084000021080000420000108400002108080fa02180550df1c11210001084000021080000420000108400002ee11c028807bdc11150210800004200001084000021080000420a0be004601d43747440840000210800004200001084000021080807b04300ae01e7744850004200001084000021080000420000108a82f805100f5cd11110210800004200001084000021080000420e01e018c02b8c71d51210001084000021080000420000108400002ea0bfc7f32c1104b881c3da70000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To enable the plugin, set {\f1 this.useDiacriticsPlugin} to true, as can be seen in the example below:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 Paginator.clientPager = Backbone.Collection.extend(\{\line
+\line
+ // Default values used when sorting and/or filtering.\line
+ initialize: function()\{\line
+ this.useDiacriticsPlugin = true; // use diacritics plugin if available\line
+ ...\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Bootstrapping\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 By default, both the clientPager and requestPager will make an initial request to the server in order to populate their internal paging data. In order to avoid this additional request, it may be beneficial to bootstrap your Backbone.Paginator instance from data that already exists in the dom.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Backbone.Paginator.clientPager:}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+// Extend the Backbone.Paginator.clientPager with your own configuration options\line
+var MyClientPager = Backbone.Paginator.clientPager.extend(\{paginator_ui: \{\}\});\line
+// Create an instance of your class and populate with the models of your entire collection\line
+var aClientPager = new MyClientPager([\{id: 1, title: 'foo'\}, \{id: 2, title: 'bar'\}]);\line
+// Invoke the bootstrap function\line
+aClientPager.bootstrap();\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note: If you intend to bootstrap a clientPager, there is no need to specify a \u8216'paginator_core\u8217' object in your configuration (since you should have already populated the clientPager with the entirety of it\u8217's necessary data)\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Backbone.Paginator.requestPager:}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+// Extend the Backbone.Paginator.requestPager with your own configuration options\line
+var MyRequestPager = Backbone.Paginator.requestPager.extend(\{paginator_ui: \{\}\});\line
+// Create an instance of your class with the first page of data\line
+var aRequestPager = new MyRequestPager([\{id: 1, title: 'foo'\}, \{id: 2, title: 'bar'\}]);\line
+// Invoke the bootstrap function and configure requestPager with 'totalRecords'\line
+aRequestPager.bootstrap(\{totalRecords: 50\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note: Both the clientPager and requestPager {\f1 bootstrap} function will accept an options param that will be extended by your Backbone.Paginator instance. However the \u8216'totalRecords\u8217' property will be set implicitly by the clientPager.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "http://ricostacruz.com/backbone-patterns/#bootstrapping_data"}}{\fldrslt{\ul
+More on Backbone bootstrapping
+}}}
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Styling\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You\u8217're of course free to customize the overall look and feel of the paginators as much as you wish. By default, all sample applications make use of the {\field{\*\fldinst{HYPERLINK "http://twitter.github.com/bootstrap"}}{\fldrslt{\ul
+Twitter Bootstrap
+}}}
+ for styling links, buttons and drop-downs.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 CSS classes are available to style record counts, filters, sorting and more:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d494844520000040300000195080200000004dbaf8000001819694343504943432050726f66696c6500005809ad796758144db376cf266059969c73ce3983e49c734660c939675424882425082849041104110c241113820822820a180009822415545004e4cc2a3ecffb5ee73bffbeb9ae99b9b7faeeeaeaaa9e9ea95a00585a09e1e1c1082a004242a323ad0db4b91c9d9cb948a60012d0032ca00080e01515ae6569690afecf636b1c40c4c617e2445dff27edffdd40eded13e505006409377b7a477985c0b8150064a7577864340068a23ebeb8e87022ce87315d246c208c6b89d8ef0fee2462cf3f78e837c7d65a07e6cc00408a231022fd00a05883e55cb15e7eb01e3c0e000c4da8774028dc8d0bc6ea5efe046f00583c608e5848481811e7c258c8f33ff4f8fd0726103cffd14920f8fd83ffcc05ee090fac1b10151e4c48f8fde3ffe725243806f6d7ef8303bee2a2826c4ce03b03ecb7782f829e0d8c99607cdadfc7c8f4405e171ead6d7d20ef0e8836b285311dcc79e91f63687780976282ecb460cc06cb7783c24c887cd84f08a6504f730b18d3c098cf2b4a07f63d712c8442a2bfadc301c7d4db47570fc6f02a4238468659ffe5fb47c5dafc952726faeb98ffe507128c89f1c6c3fc6c42248c7edb8338e7136c401c9707963785475b12ed248e351c1a6c7e3017c47bdf487d228728ffe913f57bbe44dbfca3fd6d0d61396c33922a3ad296c881e78864f30dd03782316c1b52ca3fd2f0af5c333cf8f79a86fb226d2363ac897ee083b1af4fa81dd1874479b6374197e85bd827c80aa00f082012f8004f100a96011730053a40f7e0ca05cb436199170803c1f019c945f9b705bd881e45cfa1c7d033e8d77f6570cf031e0800de30fea3eb3ffac3721b90083ec25a7d40d4dfd1502c2875942aca14be6ac2a70c4a09a5fcb76d78ad63ed2f3eb0d50fee2b7ea05bfbc0fa5858e3de5f9e7b406ae45f7cd0c7f39f1effdb267df01ef680df5f86d415a965a9ddbffdff9d31460fa38b31c4e863849199c89bc87ee403e400b21bd901b890f7909dc821e41d223eb0ebef28045842f40ad1c351c004f6a20f88f9fd2bf4ef78ffe5a5987f18071af0227879600df70a0541705bc03f23d8ffb63ae07f698981199ef0888130d7e49f781cd8851280bd2b8fd246a9c17e867d8c6240b10071941cec712d94061c037958fa6f14ff7b36e2c0f7b7b7637fcf25082cc2f30889f6898f86d712d0090b4f880cf0f38fe6d282774b1f312ea3502f09312e1929695940dc7b891c00be5affde53218667ffca7c96003804af63b2917f6581670068ec038031fb5f99800b00cc62005c7fee151319fb471f8a7843c33b3a25fc5430030ec00b84608fc80005a00a34811e300616c016380137780dfb8310d8e2387004a4800c9003f24131280355e022b80cae821ba003748307e011780246c018780b66c0025805eb600bec401044025140b41033c409f143a2900ca404a9437a9029640d39411e901f140ac54047a03428072a84caa06aa801ba0edd821e4003d028f41a9a8596a12fd04f04128143d021d8110208498412420b6182b0451c46f8212210898874c469c439440da209d18e788078821843cc2056119b488024473220b991e24825a40ed202e98cf44546228f21b39125c81a6433b20b5e8b2f9033c835e4360a83a24571a1c4e1481aa2ec505ea808d431542eaa0c7519d58eea45bd40cda2d651bfd0146836b4285a056d847644fba1e3d019e812741dba0ddd073fcf0be82d0c06c38011c428c2abdd09138849c2e4622a312d98fb9851cc3c6693848484994494448dc4828440124d9241524ad244728fe439c902c90f5272524e5219527d5267d250d254d212d246d2bba4cf493f90ee905191f193a990599079932590e591d59275913d235b20dbc1526305b16a585b6c2036057b0edb8cedc34e62bf929393f3902b935b9107901f273f477e8dfc31f92cf9368e062782d3c1b9e26270a771f5b8fbb8d7b8af14141402149a14ce14d114a7291a281e524c53fcc0d3e225f046786f7c32be1cdf8e7f8eff444946c94fa945e946994859427993f219e51a15199500950e1581ea185539d52daa09aa4d6a5a6a696a0bea10ea5cea46ea01ea251a121a011a3d1a6f9a749a8b340f69e66991b4bcb43ab45eb469b4b5b47db40b74183a413a23ba40ba1cbaab74c374ebf434f472f4f6f4f1f4e5f477e86718900c020c460cc10c790c3718c6197e32b2336a31fa30663136333e67fccec4caa4c9e4c394cdd4c234c6f493998b598f3988b980b983798a05c522c262c512c7729ea58f658d958e5595d58b359bf506eb1b36049b089b355b12db45b621b64d760e7603f670f652f687ec6b1c0c1c9a1c811c451c773996396939d53903388b38ef71ae70d173697105739de3eae55ae766e336e48ee1aee61ee6dee111e4b1e349e569e199e2c5f22af1faf216f1f6f0aef371f299f11de1bbc2f7869f8c5f89df9fff2c7f3fff77014101078193021d024b824c8246828982570427852884348422846a845e0a6384958483842b8547441022f222fe22e522cf4411a20aa201a295a2a362683165b150b11ab109719cb89678acf815f159090609538954890e894f927c92ce920592fd92bfa4e4a582a56aa5de4ad3481b4ba74a77497f911191f192299779294b21ab2f9b2cdb29bb21272ae723775eee953cadbc99fc49f91ef93d0545854885668565453e450fc50ac509253a254ba55ca5c7ca68656de564e56ee56d15059568951b2a9f55c55583541b55970e091ef239547b685e8d478da056ad36a3cea5eea17e417d46835b83a051a331a7c9abe9ad59a7f9414b582b50ab49eb93b69476a4769bf6771d159da33af77591ba06bad9bac37a347a767a657ad3fa3cfa7efa57f4d70de40d920cee1ba20d4d0c0b0c278cd88dbc8c1a8cd68d158d8f1af79ae04c6c4cca4ce64c454c234dbbcc1066c66667cc26cdf9cd43cd3b2c808591c5198b294b41cb08cbdb56182b4bab72ab456b69eb23d6fd36b436ee368d365bb6dab679b66fed84ec62ec7aec29ed5ded1becbf3be83a143acc384a3a1e757ce2c4e214e0d4e94ce26cef5ce7bce9a2e752ecb2e02aef9ae13a7e58f070fce1013716b760b73bee94ee04f79b1e680f078f468f5d8205a186b0e969e459e1b9eea5e375d66bd55bd3bbc87bd947cda7d0e783af9a6fa1ef929f9adf19bf657f0dff12ffb5009d80b2808d40c3c0aac0ef411641f541fbc10ec12d21a4211e21b742694283427bc338c2e2c346c345c333c2672254228a23d6234d22eba2a0a8c3519dd174f047ee508c50cc8998d958f5d8f2d81f71f67137e3a9e343e387124412b2123e24ea275e4a42257925f51ce13e927264f6a8d6d1ea63d031cf633dc9bcc9e9c90bc70d8e5f4ec1a604a53c4d954a2d4cfd96e690d695ce9e7e3c7dfe84c1892b19f88cc88c8993aa27ab3251990199c359b259a559bfb2bdb30773a4724a727673bd72074f499f3a776affb4efe9e13c85bcf3f998fcd0fcf1028d82cb85d4858985f367ccceb417711565177d2b762f1e28912ba93a8b3d1b7376e69ce9b9ce52bed2fcd2dd32ffb2b172edf2960ab68aac8aef95de95cfcf6b9e6fae62afcaa9fa7921e0c2ab6a83eaf61a819a928b988bb117176bed6bfb2f295d6aa863a9cba9dbab0fad9fb96c7db9b741b1a1a191ad31ef0ae24acc95e526d7a691abba573b9bc59bab5b185a72ae816b31d756ae7b5c1fbf6172a3e7a6d2cde656fed68a36dab6ec76a83da17dbdc3bf63a6d3a973f496f1ad9e2ed5aeb6db12b7ebbbb9bbcbefd0dfc9bb8bbd9b7e77ff5ee2bdcdfbe1f7d71ef83d98ef71ef79fbd0f1e1cb5eabdee13e93bec78ff41f3decd7eabff758ed71f780cac0ad41a5c18e270a4fda87e487da9eca3f6d1b56186e7fa6f8ac734479a46bf4d0e8dde71acf1fbcd07df1e8a5d1cb2763e663a3e376e3af265c27665e79bf5a7a1dfc7ae34dec9b9db7c727d193d953545325d36cd335ef84dfb5cc28ccdc99d59d1d9ab3997b3bef35bffa3eeafdee42fa22c562c907ce0f0d4b324bddcbfacb232b2e2b0babe1ab3b6b191fa93f567c12fad4fa59f3f3d0bae3fac246e4c6fe97dcafcc5febbfc97debd9b4dc9cde0ad9daf99efd83f9c7e56da5edfe9f0e3f3fecc4ed92ec9edb13deebfa65f26b723f647f3f9c1049f8fd2d8084af085f5f00bed4c379911300b4230060f17f72a3df0cf87317823930b687f4105a482514131a8b2125912275224bc3dec3612808f80e2a2c7530cd209d3c7d0523600a621e665560cb675fe5d4e4cae31ee5c5f229f33b0904098608b90a6b8bb08b6c883e122b150f925093a4907c27d5227d5cc64a965bf6a3dc2df9130a568a6c8a0b4acdcaf12a5aaa58d517872ad4bcd5c5d4bf6874681ed1d2d6c669bfd3b9abdba857a95f6070cc9060a461cc64bc613264da6c56695e6dd16d396f8db661b665b1a3b247daef3aec3801673217bc2bc561d4e14db739f7118ffb849b9e755ea5ded93e09be7e7eb6feda0172812241dcc1cc2194a1c8d06f6173e12311b7236ba34e4727c764c4b6c5a3127c12ef1f0147058ea9241b1d774989493d9d569c9e7442eec47c46de49cb4cfe2cf26c9083c8a53e25745a3dcf3cdfa1c0b9d0f98c63917db16d89d559f37326a50665dae5ea15ca95b2e7c5ab442e48559bd4a45d9cb96454d754bfda40ddc87f45ba49f5aa6eb3598bc335f7ebfe37c26fc6b51e6b4b6d3fd191d999732bafabf8764577dd9dd6bb7df726eecf3c18ef6979e8dbcbd4fbb8afe4515cbfefe3c3030e83564f4c860c9e1a0edb3e8b18b930fafa05f94bc9319d71a309bd574aaff9dfe0df6cbf5d9a7c35f560fae2bbb419bf59bb39f379b3f7160b168bc61f949718976696b357e45666562faf257e34fc44faa9e1b3c1e7f9f58b1bf15fdcbe5a7c33db0cdceaf971f267c79eeefefe41fca59128e4326a063d8f592745922960fdc92b70337811ca38aa4734ccb409742f1964185399a658e45933d8463858381db90ab8bb79267937f9b6f857049e0a5e148a145617211579295a2516282e2ffe4be291e4692907694ee90f32cdb2b1726af2907c9f42b6a28512add2b872a98a8b2abbea24bc0a5cd599d52734ce6aba680968ed688fe95cd7cdd5f3d13f64406db068d86d546c1c6be263ea69e66f1e661162e9696561ad6a2362cb6a87b747d86f397c701c777ae8dcec52ee9a7d38d12dc0ddd1439720e9c9e40579ad788ff9f4fab6f9d5f99704a407860539056b86088652c02b61367c3ae25b1477b47b4c69ec83b857f1f3096b89db47c88f721c134ae63a8e39fe2ea52d352f2d32dded845d86e3c980ccb4accaecab396db9eda75a4f5fcfbb9adf5070a9f0c299f2a2e2e2bc92acb3a9e7124ac3cafcca032a8e57deab12be70b946f06261ed8b4bdbf5f8cb2c0dbc8d22f03a50bcaadeacdb6276cde97af08d8c9b175befb68db64f772c757eed42de66ec16bda37a57f39ee27dee078807733dfd0fdb7aebfbca1fe5f79f789c38103918fd246ba87b98e1d9d191a9e72c2f345eda8ef98e1f9fb8f4ead9eb6f6f6926c5a74ca7c3df9d9db93dfb7c6e7a7eeefdea221a8e7ecaf2e82af59ad447f94f029f293fff585fdc98f832f8f5d6b7eacde42dfbef82dfb77e746f27fe54ddc1edeaee2d1fc45f025a455422dd50c26812f40666996485748e6c831c8be3a7d0c23b53a65035518fd2ecd3f1d3eb3104329e60aa626e65e9637dccf688fd364735673c9736d74fee5a1e139e55de4c3e41be1e7e37fe6d81224129c141213f6112e17a1143910fa2196242627de25e1240a252f290e42ba918f8eba645c6546649364d8e43ae53de5a7e4de18422a76207fcd5b2a49cacc2a07245554bf5f921af439fd492d449d4cb35e434c63513b538b43ab52db45febf8ebecebd6e859ea93e93f3438622867b8625463ec6ac264326e5a6c66634e693e609166a96af9cdaac53ac846d0e6bd6db5dd617b66fb970e798e868efb4e6dcec12e7c2e53ae2587cd0f6fb915b9f3bbb77a6879bc21c47bf278be82f7117f1f035f453f657fa30042604810215823842a6432f4525848b87cf86ec4c3c8ec28cb68fae8b73155b1de7102718bf1e713f41226138393e8925e1cb97df4eeb1dee487c76fa534a496a4a5a5879d70c9d03b299289ce7c99559aed9cc397b3933b73eae9e95b7917f28f15b814aa9c6139b35d345e7ca3e4ecd953e70a4babcb6e963faa7855b9727ee7024535578dec45c35ad74b6175c7eab32ee7361c6f245c516cc2377db9fab179fb1aee3ac70d999b96ad496daded3f3a956f857795debed6dd79e7f6dd817b9b0f0c7a6ef5daf46df6970cc80ebe1c3a35ec3162f45ceba5f678f06bfce4eadcf0cae6b76d62fcffd4c888ef048c020067520070cc00c04e0380825e0004c6e0bc130b80255c25b4550608015f80c00d014865f69ff70704d71131801c50c335294e2008a4800a5c33b100ce70861c05679779e03c680677c133300bbec199231b240d1940ee501c540035418fa14504062184304544212ae13c6f1fceeb6291b790bf5006a833a839b42c3a13fd0ea38229c5ecc019d620a922693d192b5901961c9b458e25cfc7b1e0ea29e428baf16af82e4a25cadb5486546fa9a369a868aed2ead28ed2d9d28dd25bd03f677067f8c158caa4c634cd7c948595a58bd58d8d8cad9b3d96438ee32be70dae486e79ee5d9e7ede123e7ffe4302788119c19b4299c29e225aa2026278b11df14f12ef25c7a4daa49364a465a66533e5e4e53ecb772a142a2628792b9baa48a9321ec2ab49a8976b8a6a9dd21ed0f9ac47aa4f6fc06cc866c4672c67626e1a6176cebcd7e28b15afb583cd69db7e7b9483ae6386d3900b83abe7e146b7f71e1802b527c673d36bc17bd267c58fd2df24a038f043f0a190a2d04fe1c6118d51b8e888983771faf19d89e2497547b98e951f67482948c3a6a79cd83c1998b99a9d931b72baad80fa0c4bd1c7928673ee650ce52395a7aa0c2e6cd6e4d5d25dcaacdbba1cd4f0e54afe55bd16ea6b1b37165b97da573b3f74cd776fdc637ca0f3d0adcfa3df6640e389e453e1670aa3a12f7e4ca0de904d56bda39dbdbb805f3ab2aaf5b1e5f3ce17856ffa5bd8efa77e0c6e2ffd5cd879bddbba97ffcb735feaf7fe418c3f095c93a3816b0edc4004c802356008d7193ce00a4312c802a5a001dc82eb0853601d42432c90d4efe8274045d0356818fa88a044c8229c1169881b88052427d21d598b5c4329a0d251636861740a7a128e7d390920f1271923d523ed2493246bc40a639bc8e5c8efe12c71f314f178327c312537e535387f7d4b1d47c340d3416b4ffb91ee283d96fe1c8338c32063181323d37de600163a96fbac616c7c6c93eca51c8e9c4c9cafb92ab9bd79a47801ef4bbe2bfce902ae8272702eb7223c2472137e8be589a7491c918c96f292d694c1c90ccb66cb99c833ca6f28bc56ec576a57ae51c9554d3c14ab96a5dea9f15d4b56db5b2747b74eaf5dffb6c16dc33b4603c6b3a6083311737b8b13961d566b367cb6ee7695f6d38e3c4e81ceedae24871ddccadcfb3c46093d9e0d5e99de013ed6be867e4efea901f78328823d43bac358c21323a6a2b4a31b6229e3c2e39f247227c51e1939269f5c9bc29a5a948e3d9194b19649c89acb493c259587c89f2abc5e145b2277f64be9f5f2984a95f33f2fd4d5c85cacacfd502758ef7ff95a23e3958aab6acd1faf95de50be39dc4668dfe9ace9b2ea06771aee99dedfe8a9eaf57ca4f2987b10f5e4e9d3d8679891ece7b8173563ee1366af83dfd64f7d98e19cb37c9fb27877997135ff93c0fad3af455bb9db463b32bbe7f7deffda38883f0a90c1b5572638faa270ad490758c215a61070147ef2ab412b780ca6e1e71e0709409ad06128092a87ee40b3083238ea0444316204498ff441de41b1a18ea356d04ee8a7181dcc1db89ef280d494748a2c0a4b89bd466e8f43e23a2822f0d2f81f947d54a5d431344eb44674c6f4560cc68c8a4cc2ccf22ceeac096cd1ec9e1cb69ce65c66dc663ca6bc667cd6fcee025182a7841a851f8b2c8b51882b4af84a96498dcbb0c87acbb5c8ef285a2a3d55c93ae4a48ed6c8d7dcd536d1498323d8a1df6d70d770d868c7c4c4b4dd5cc2a2c94ac2badd56c76edc21c409ebdce46aef46ed41eee9eeede2f3de4fd53f276031c83a7828d42cec79844be45274522c47dc74c2a3a4fb472b93ed8eff4cad4eb7cfe03cb99e752727f7946f9e410173e19322dfe2adb369a5d46535150a954fab7caba19a8a5aa54b63f5310dac8d8f9b929b0dae49ded06f4d6eafe9cceb72ea66bc3371affc81d34392de4b8fe4fa6f0fe80d4e0cc50f4b8e2047d75f2c8d8d4e14bc167c53f9f6d794de74f6bb27b3947376f317de2f2f4a7f085abab0fc7865650dfd91ed93d467dd75870dc217efaf96df78be6d6e9eda62db6afcaefcbdecfbf60f871feddb0cdb91dbeddb3b3f357fa6ff1cd8c1efd8ec9cdd19d925ddd5dc8ddfbdbebbbcc7bde7b457b837b8b7f74bfa97f7afb3bf9efcfab52fbdefb37f6e7f8818ff285f5919e2db0340386db8fc38bdbfff550000924200f60af6f7776af6f7f72ec2c9c62400f783fffcef422463e01a67c53a110d7297136fff75fc0fedd8b8677c4c06930000019e69545874584d4c3a636f6d2e61646f62652e786d7000000000003c783a786d706d65746120786d6c6e733a783d2261646f62653a6e733a6d6574612f2220783a786d70746b3d22584d5020436f726520352e312e32223e0a2020203c7264663a52444620786d6c6e733a7264663d22687474703a2f2f7777772e77332e6f72672f313939392f30322f32322d7264662d73796e7461782d6e7323223e0a2020202020203c7264663a4465736372697074696f6e207264663a61626f75743d22220a202020202020202020202020786d6c6e733a657869663d22687474703a2f2f6e732e61646f62652e636f6d2f657869662f312e302f223e0a2020202020202020203c657869663a506978656c5844696d656e73696f6e3e313032373c2f657869663a506978656c5844696d656e73696f6e3e0a2020202020202020203c657869663a506978656c5944696d656e73696f6e3e3430353c2f657869663a506978656c5944696d656e73696f6e3e0a2020202020203c2f7264663a4465736372697074696f6e3e0a2020203c2f7264663a5244463e0a3c2f783a786d706d6574613e0a335efa9f00004000494441547801ec5d09601355fa7f69d3a44dd393d296d28b52a02d08058a05b90a1450aa20a81454f05e055d501157c15d96bfe22eac17ea7aa382a280cb29450594fbbe5a28506929bd69a177d336498ffcbf99974c269349487a4053be874ebf79efbbde6f5e66beefcd9b19894ea723581001440011400410014400114004100144a05320505858e8e9e9e9e4e42491488e1f3f0e5b5aa07340c016e2ffa143873637373b758afe62271001440011400410014400114004100144c03e043013b00f2fe4460410014400114004100144001140043a07029809748ee388bd40041001440011400410014400114004ec43003301fbf0426e440011400410014400114004100144a07320809940e7388ed80b440011400410014400114004100144c03e043013b00f2fe4460410014400114004100144001140043a07029809748ee388bd40041001440011400410014400114004ec43003301fbf0426e440011400410014400114004100144a07320809940e7388ed80b440011400410014400114004100144c03e043013b00f2fe4460410014400114004100144001140043a07029809748ee388bd40041001440011400410014400114004ec43406a1f7b47e2aea9a9a9aeaed668341dc929f405114004100144001140041001440011601090cbe53e3e3e0a85a2c3c2e1a899406d6d2d640201010152a9a376a1c38e09740c11400410014400114004100144a0f5083436365ebb764da7d3b9bbbbb75e5b7b6870d4d541656565fefefe9806b4c798409d8800228008200288002280082002ad470022558857abaaaa5aafaa9d3438ea843ae458cecece9063b5132ea81611400410014400114004100144001168250210afaad5ea562a693f7147cd0400118944d27eb8a066440011400410014400114004100144a07323e0c09900de10e8dc43137b8708200288002280082002880022d0ae0838702680f704da7564a0724400114004100144001140041081ce8d80036702784fa0730f4dec1d2280082002880022800820028840bb22e0c09940bbe282ca1101440011400410814e86407373735151914aa5aaabab73b8aec11bd9954a655050909393f0b5870edd2fd10361a5b3a2fc588908b4180107ce04f09e408b8f3a0a220288c0ad42a0a1a1e1faf5eb252525b7ca01b4dbe911802fed88be651bc2e53ffffcb36bd7aec02093c91c0e07ad565b5a5a7ae1c285e8e8687e32e0e8fd123d10963a2bca8c9588406b1070e04c009f1368cd814759440011b8f908e4e4e4545454c0eba5bdbcbc5c5d5d5d5c5cc00798d480b359db4e6d5085f4246949bf2d3c96206a8dac259dfc7a5bf4dbc2c3d7c9a75b23cbd76389b645bf2d3c9cfeacacacc8c8481839f0066da8b4240b79667d7d7d7979397cc9089281eeddbb731a60185cbd7a15d200a8e72a1d8b80ec056e080008d011e81a8000fe77827e891e05d1ce8a72622522d04a041c381368db0b672b7144714400114004ac2300511a846810c7c0bba52188a1718c151160a041bc151e4b4d54909e242de9b185c7927ea847ffad80630bb6b6f0f04d50c039d83942c003a30be6cba1c07d27fe9d019838872cb46fdfbe7c7e47a4bdbdbd212f82ee401fc1ff4ed32fd16321e8ac280f562202ad44c0813301d1f3602be140714400114004da090188cc206a01e570eee29fbe28cdafe11c10ade45aad10029d2dd663c504d724b0c5d503d162bb029d2dd6c377c6122db0c5676bb15d81ce16ebe13b6389e6dba23484c840c0602b2e2e0e0909e1042117853c81db75500226cbe1be0738cfa1da39fa257a38cc3b2bca869588406b1070e04c804e77b5a6f3288b08200288c04d43001e0fa0d3c0601182185a6e9a757343e000f58436d15d73b60e5b735bf94f470bdd5a3922c04067ca293830e4828383297f27bb624277688fe8d60a269da089edabae137404bbd0311170e04ca063028a5e21020e81c09a23d71cc2cf8ee9e4ec61ad5a690d511a3f7c019aaba1040de3f87db785c7167e7bf5f0755aa26dd1690b0f5fbf257e4bf57c597b695b74dac2c3b76b89df523d5fd65e9aaf1364e92e25f8aaa09ebfebe834d71d8e70f41e59f1ff76e8a395ee63537b23207c15577bdb43fd8840a743a078e3973f17dbddab9649d96d06053a26025ce80feed1b81fb61c61ee33d7c47219379cb84084cfcfe7b1542f10b76bd7169d7c1ea0b9c2f78d6f1418681347d0566e9723f8522da339551c61ae876b02825f801376adf3f3792833d5c0af37d7607b8d40a7ed82c889082002880020709bdd13283ef8e509e533f7c58a1dfbdad43d657f16e8bc826543c774f316e1a84edd536995412f93b12727c3d3e7fec15e021dea2bc5a905cdaecccb4288ba81840ff60f5408f1af4c2bfaedac96b8380d48e81a15e8c6d7a02ebe969ad948c5f5f56e8ad8013c4f1b2ad77f514662bc93c7743108aa8f7e5798dbcb2f79a8d0190383d8df06b5dac5d555d002ca3f290b98dc3da187b045c068715754ad05ee2ba70e1549c3860fd0dfd716e15215ffbcfacb9f4fa4e5159398d8e1d39e7e6644a492141f5ffee5e5c7fe3633b08ddf8f67f5d06b8bbf5cf741cf99f7052a056e52a96679b02c614c10ef38b16c16a5d8d682a2f5a79c92a7041a34de70701a18797f6f8c2165569766974b23cc1ce4691225b5e5c5d72aeb9a5d959e7efede36e2ddac2ecfba9457a955c40ceaad34998510d5d658597aadbc5a2d75f5f4f7f77315fe56c4bc52976764abc2a3425d4d948b71b64f9d8d98d3193e2e8204026ae82e25ac4f01d256bab557d6967edbabd35e7ef4dffa51b00b4f8d4603fcb09a1cb6542d15b76402c087c2997050dabc776cb71cbe5fa2c7c5bcb3a235369e7c4465b1f23647c096ab6b0785087ef9f679a6ca5af1c2929daa6933ee1d208cd948e5ca97ae2d6824a33d24fb8ea9c94655faf2c828055fbd80a12eebbd887036a6e73301adbe90d777a366c01d755306799a36351e5d5735aed058b7d6d73b39c6e4e1ad8cefb3fa1d6b261e4ea36b9af71dcc4bf95bc4c460e301bab2ab6a38b4f28b9b56d5dfcb18986bd55b2e366eb8581a10ed393a800a36e79c6a7ca4ae6e7abcc019be16015dbf7e61fe8afe5ea79e083069d0aa3fcf6c9c5edd38da5ed8f55a2ca835b161d8d11616d53629237c2c1fe2bcb7a63cb997b8244c9b3dc1a764fbaaed4b4e6c9ffff58e31152776eefd79e28b3302c40e8d41bbbd7f6f74e87544497c985bf2fcf1d8706dd1cb952b0899ee21d9704c43b65e2e783f828beb190f44a5a86b75d757aeac59d0e03279b28e3db80207cc07a7588f6e8c212bd5a8ca389d5edc181c1ae46d1c6a62fa4cebd419fb8f1637139942a6cdd35ebae01f372ac634b23765d7ef35179d3d5ba456060629a42691baa8b6c682d483599544a654685579d997bce346c5ded044a31ad293a2c0deed9e09981e6c43676dc01caef450b895dc40536186a82bdcf7fbc1ec92ca7a2df1f00ee83b74eca008f19f6d6369faf6dff307dd7f4fa89c913651c2db35b8a55f2e02997893b3dcd5c59875700ce6045fa7a630ed977d674b351ea327469e3f60b4cb97027ebe579c38f0680a8f6c3f4deebd6f18ebac51a851a3017fe4525bfda798836620f8fa8d1a7914653037c1633121398594e0764d982cec70cc9664a9c32df01f0c723a81e00adf9173e7ce5557578f1b378e56020f1030c0a0509ada854a4ac063c4506f75abadaad2c8e59e32d90d392deaa9afaa92787aca6e6ccb5c0358d7797aba5af590e9237487f6886eadf3b3adb7b65fe63d859a7a954aa25432599c15fff99d055abcd870f21117c45a44c0a1ef09d0d39c4d07517be1b5c97f3dd1c0f28630bf3afde5d7205c79a01cd2801f9e084e1eec0ea1bcfb27f55fec2e7f7f0a37b34ed46995c0b0717ee8fdbddcd49979ee2beb779eab7b76b0bb4101f7b7ecc34fd5b0d347616e44fb672179efd1e0f943cda558f1eaa2478e35cf1ee1f5cd0c8818af3ff142f98abd1577cf322e478e9ed5ab6996de90fa428efb279a1f9e0870e37745466856306e6561edbfc2595a227121a35dcc9de11c36279c40c49be8af22c66676d6d78db93009c033b258a52ca8159329cf296c226e61c1ee962ca952b7ef2564eee7db1e8864dc7a70f298c7a72cf864d3c5b113613750e6d14217c57cb1e1d0532f4d81c9d9540d69c0efaff54c08967e9396e3fea566c3c1eaf923797766c4a448c3b5d71756ac605e174e2021a42a6f383845ddbe2186a4b9faecc1d3e534b5549804e6a20af9958d9505900644c68d08564a9b5505fb4f661555f7ee6d432aa16d24b2e0a8a808934c5c5c9beb3548037c7bdfd93f4841ea8af61ebf94555c170bb4f5c2bc55d0d5c99e9cc6ba3e4bada2bf821b63ce0676549639b86cd19b68cc5dffedf65242fc427b84396bb2af141dfdf5fb9afb9e4908d5cff542b803ec34e8d196e61495e5f56a820ae607499b400f9f87ef39c3476a777ffded95d0b1cfdf17cdeef2dbadd39a43bf1c2ad22a02423d9d6b8c76cd65f85ed156ea5bb3ea5a493ed14a2470b2a2feb3adb5bb5631febc3039c636ff850983b90366357a13d065b3269b2a6cc4b6ddfc3771129ce10ad7009fd93a71e204ecc297b6e8a703280f6580640008a8a1bb94006fa1408dd8567d7ad39b7357eca6fc83e67ef2feec4190bf8971721a6a4eed4c0f1b3fac0b4fa7faca8fa36768771d9d0d1332ea2b3b47cff87bf227292f0d02164eca8aced237125f9cbd6bfd200f2b3c8c1eaea737b95f29ebba24cd78934204dbc4b96fbe943cbe8bfc06de5ae87bd9e271b4b3d690e17796b32b206c39f90844701711e01068ff6b2667aaad09fad3b249ab8bcf5df7dd1b42647927369d5431bf58e667c72b572f40f0259d3048012df268dfff4a0bbf28d6f2b9ae663612a9cbc4485786214c369ad4030185a783218fae2c5de42b5dd6d0b8b3417f5e303234d4ac27649eafaebe4a45dc60664e887ce5f9fa34e2b4313940a78394c5fbbd979b8b5d187f8c1a8c54e5d24f34a307794e8f66fc3156eb086421d3c39d36e46896fe51f6f6185fe61cce36039bfacad5fffbb46605fbeeb5b5c95d9247781efd2267449624fd9f3de1ee87fa6cdef02fd5ff98eb71ec8b1a26123d5d31a8447de8b510e30d075691ce0cbc9c3db98b366936b056960df7983fa39b2ba9ddf7c5d571e7981873808774d5dca0d8809a45afb201aeb95aa3f71c55975fa271f6e9ed65d237ae9521f49dd268743a76f2df7dc0dc690987a2e11e0234e66f7cffcd97b7ef05104312e67ff4c67d1075aaf2f6bcb560d9c90a46366ec6d2379e1ef0db828776f6fcf7e7730740e3c6d79e58a77c7aed1b4c1a7168c5135f29e77e337708c3ca961b1f7a0e624ab052f50d3a2295c77777864ec8fbfbfd97146ec8ac9f378237c52b2645a4b2d1fd5dfa10f26766031c059005ae1b0e4ebda3267f6e8c217192f9054164ed54575e504e730f130dd676d4aa4ae2141ca864c6b09342c9268942fec6ba6b17522f946b997adfd07e3111ae97f69fbc068322efe4feeac8bb628d77bb44b5319544111ac886fe0aff50d9a5bc6a3531c9041a8b2fa56714011bf8e0dfaf7f94af7e49505dc1a50ba5458c29857fef413141e0a59933dec5a9878b95fde32261d15663c1d9e379d288a13181103795661ccf9646c605a94fa65ef3f5772a282807fd9c1ea6336c111b9b36606e08cbe87c2d17ca80cadaacb39006444d7a2631829d3aafbdf8c537bf9f3f9d3926ac1fb548c31dfd560af7129da58c3cd3a8ff6320b85d2a68d8ba1067f8c708196a6cfc2bd13411e71e090f254580c073bd1aa552710d1253af8019be81051f4f90cb993b9f6018b63ceb7a7ff895b495c7038dad292deeb2d128e78c15df6ce1316a6c290556b8c2e93874e810a5fff8e38fd9b367034d79680e409bb8b14a096e9753c2119a9c4d735764aedcf2fbb0208f9a9cbde3a6cf5d17bf73766f0f8e418c289afbf797be1c79c4d778c7479332f783b9dfed57b296ce6f7e1fa4d62fdfffd4bafbad2b32280ffcdb9bdda67e75fac88b030d35e27f413d6b417fa9a5b4286b1bf78b6c8753da8a0d3f0dee426aca2efdf8dc9ca4755777a6ccb2ad770207edeeac40deb06bd3c9c7c08c7f11012102c27854d8de81f7e19467b377dd263fff123067fd78e2e46af65c692a193d33b0f041990fab509d59fe7c2379bb3733abcf71f578b057d38384d455a61eabfe6d47fd3ee2fcf50025af9d61549fba0281f5f91541196fe6ed34b9e6b1ad85da7d84ecfbb090ea1cddcb6dc7fc50639c4d48495613347df1efcc15854c90383ddaed9be7038c1e5031769bf1ddf515c4e9f293dd84ad125242c8b35302e6efb83a7c5359725c97584fbd8f92f2ab49efd55486bb9e9fe2567ca06adcfa52491745f22c8fd9af56f55b9e5ffb8aecc92fd569bd9477c778453dd0a8de58ffa19bf4bd09ee26371c5863ec14a4d1ac3a33277293665ebcf2f20859cec1ca71876a12260405ee2a1a778e6c7cc237d6ade1f34f6ae29617d77eecffd8036a71b5bc7e51b2b934a78a48427a060ae0e5337a440eef49367d3aeffe753d131eb86f44f480e83b9ffffb9d10d45f60b8f66ecf7ff5dd8f024a7e5bb062e557f78d7d2934f5a1279735f84c58faeec4868b3fbff5d5928754ff7a2f3af0d3753f973c1f1ba8babcee644505d994fff7bb2349dea69df9816f84da77e8291ecc15d8e8a3041291c62658c0cb3eead1580587be440bbbc6232e260519e0dd4f320f14e4acbbb4e2a87ea0de70701aad1a285b3084b9f3a0c8de20a1ca2b2fcf3148daf657191c97100c1d5497979716676569896fb0a7e999445b7af8f885665960bfd8c0e6eaa20bd9e9871bfbc6c6f4d6a65faa54044685fbf2b945b5a9b3616150a0613990d42f509607094b94515095773aa3a8313236ced7499d753afdec51e98804a63b50ae15d545c50e725517a7665cca0ef2efada83473a67faca76b565e913ad2dbb51100d06a49415d0c3ce85157505ce71aa3686eacacd356d615284df4f06e7a981c6cd6a86d981b4361aa81d3a31f3c4d3075ce8e1165eff8d0b4ecaef00396d4e69edc9c72a482393d38f7183629697018270b52aa9c935b76e85b2386254d1acc8cdeeacbfb37fd9656c3889080a8c4a92365ebbfdcc124c2793b3f5e9df7c46389fc9357eee1945f4f65b3291bf1eb31626a52ac2b779fa1f1f28f9fee8014855cd9f1f1eaa88713e4eb7fce1bf7c423bddd495ddea94d29472a59afc06e529c8957d72fedd9f65b7a1d083afb44748744d30748708c866b126df6775fec607238d69f271f1fafcb39b479c769561bf189183635298e7fe754a7ab3ab079735a610d481099df88a4a9038319946a730f6f4e39c52243bc7b0c9b766f9cf3e55dab0f6846c54a761fc86632409e095008d6a90f20b865c7692a48cd4973f77c9b921bd85d9a97c7e024f3eb3773e6185ee26e948556aa04b640733a05f5b0cb9536e1a1e6e816340371e6cc998282026a0516081d3f7e3c3e3e9e6303020a354d79601708a8a195225b0d8c827efede8aa6a62645c8c8f52bfe5e2463f82fedfae0e5251b20270e9db4f8bd57267529d9bd621fe997b7e43f471e1d5ff13de87c262169e90fff1b1fcecc4c498a77ad284fdadc4bd6dcd424d19e5fbe9eacdcb0eac7e94f1d29ba3b31502651e57df08fe7371c63942dfcf8bff70ff405afcea57cf0ec326636297efad2a5f313bb8d9aedfbf7af729efb3854a63f5e5c47389f81192aa15002b6d0c4b542bd09dda6fdd25d016b1e01fe0a859c2814b12f6f597574d4532997a64f8f74c9dcbdf2f1254c47c6cdfbe88d198365d5392b97bc403bfbca471f4f1bec075e9ddfb1f22f86cefedf8be30347ce82ce5e79f6a37057539f0d6395eb232540b979b1f1e4632e883588004580b97be8a085f9dddb59342a15745644c8c333c017ce620d57fec886953fc4d7755e82a7395b7d71f5f2adf58b986975ddd562fd6d013d9bb664ce37da771f09e8e32655c3f5875d8c6ba2a10ee27bc9c6c7fd55ef85a4274af765d6bfbea5cc8481c0494db782c8d25ff63b39cd65c3c5fa499f179930d09daaa2b9c774af4ef30b1369638e647d9d4bfc3cefd94437f89d3c985266b20a422eee50ed234eab1eed12e6af887fc0eb5d2959bea742e716f0c91c37525eefbea86a839b4be9bc20b94ed16744d778585014a31c3dc8d7d402a387de13e0eae53e6e29891e6f3f1a14d6dd2d2c9c99f9cb2850d533267595550d5edd7dfef1865ffa3c1fab6a39657a2227b78cb8740d7513d69becbb0ff87cf7867fcd9fd193a47df5c15b0b9e7864dcb8c7ff970a78324e2efcfef30903a2074c983bc387fc7628ebfcc6af1ac8800fd7be3a7cc08084196f7cf854cf86ed9f68c74e8394e1f8559d26eb1073e527978f67ea74b907d388cf8c38b82d232cd60e3d85d854226c3013874c7b27e74c5ad1b7ff28590416ca1b4d5918ab626391e1aa6757b2e9f96d1b9c7ce5b660c89a6736cd8d4cbc645e9ab5759595951061c0b68e19d3c2d2ac2dcfcac8bec68490da3a2d730b882bd505d9cdc47bd0d0283f6f6fffd0984111cae6a22bcdde81be3288b18220d4e0383942a04d2a9312539d30f5cf3103c1da6b54abb54e0adf98a177c6c68502e2b4440d8d0bf4f6f40e8c0c9591e25295983359cdfec1903294ab49b3aa940d8255e5706ea82b85fc23d4579faf09f418d4337ff96853da76ccb92b3a478042f7d0de004ac66fab3f59f563ca9ec317734b63a7cc9c765718b99eba7adb910acf88c449130784caaf1cf97947261360ebcbf5d4353f1b5bb38f6c635aaf9f5cbd23ad46119a3069d2c8a880928cdd6b8f68070febc7cc59ca02060fee0d81be419e682ea76c3b952d8f183c69f2a4c1111ea5570ea6971aa32b220de40bba682178ae866445529a065e551abc02bb29976a399d8dc587d7411ac03a302c8c64e7d51099fe5e04884221f2ae713c7fe4d74f7ef3f3e94a12302c317170845f45f691af37a572da80c8deb12eadb02e2a61d2e489c37cb4a50737ef608c5d3ff9f5b6531506a9ca2b8c545393565b7305d2009fee2151fd63b82ed3096bc6349c854b4f81394e909a6bd4d4699b6af2f234031227260ce8ae2d4ddf7dae9aef835e96719f870f1b8f323acdea6d916d250f7c28602aafd0d541d4191893d44fd8e58f55d885f5e896b6aee1a392c35266260c1b96fce29a4d3b9b07dc131fa6ac3af53e44b72fadd9bc7bf7fa7bcf2f7bf0ed033a5dcd2f9f2dd9e0f1e6baaf1f7b75dd9bbec4f7cd75df8d0a6756f683e6b2dc4c3268a85713932316ed5f9f3be8a53b436266279325ebcf43cda5cdcf6f90bcb4ebe8d1cd9fdcfb9f17565e2504f43fbb6cf79beb76eddfbd3e7cc392bfecc86b92463de37bfac855669dad256fa1e916f68b5a877c09dc6b9246ccf0255a9da6e634a401e5ab76ecdfb76b8deb877ffdf45475e6d617a0b3bb8f1d83cebef3d70f0b9b9b81e72fd0d9f5bbf7ed5a079d7d262547278b79daf7f4b112ada59ed27a7e67cd695b4e3ee652587393118061d3618bc9c5b5c37a79331cabbeb6725176e4a68657877ba8969accd68375755d3d9c965c7b84fcf07eefc6e5deaf92e6111bd90052ef59e3be0f2bd71049ac429d71aae4583dd957509f9a0913c1c6e21a13daf851af2983bd5d5ddca2a604adf5201f5ee45dd1194688282527e78545f5f08d1dd3e3e41d64df4535732e342d39bb6a21a69f3d829939b650e014ecffde232e10e2af3e5ae3ea4698b93726cd688e7bab50b918feab80671ed20ab44c8f62baa574679ae70df7316864035b58dc624b81d59185b5cabf5e92be5c18b99e8d5e6185c38ca0dfef707e6a538ddfe23ce55ba5bf5da09db04d6df3d5abb5c42b24c4fab85415e75dc82343ee7bfadf9fffb47bf78e0d9f2d8d73c9ff74c1b26cc6671fc33b7c98000f9606c1ac372c1482a09096c821094c8dfff009846c3f9175f1d01e9f694b1726909d6917b24eec242133a259193df78d0f3dc76842b8f6ef51f0886b408126eecb9a7dbe2eaf4ac9e84837e30d01135e1b76ac0e4ea1bc6d180aa5ccf65505e9a9a9a9a74f9f866d6a01934273059207b8e63b2982ee1c352a61c4205fa24acf6656d1f00a640e0aeee903a5af3f3b3fdbcce4136cb8c0e3645211736d8df048016f105049be9467e8a0a820ef828cb3470fee3f78f46431ac1dd21799e12d434c5cc2a60762ceb8fa0542a452aeaa2ebd260bee17e54f8a2bab55e5c5b022c9707bc35c8fc182f95f9b31a72123f73427dd65b6ca98a7e7ce1cd90f9e11aec84e3fb57bdb4f1f7df4f9ee8ba599c78f3511c598c451c1fedde2c68e019fb3d332f591bc4422da9a79fc14cc5926cdbabf7f64e4c0090f8c890eedeae31933647857581d143c7078ff70f6b921bd65a957ef7efd463e70eff0f06efe8181cccc7d61698dd12b89b20f4f502a61e084a05ed42ee7d59553e718071e671c1872efac31a1ce44ab8f950d9abdf8fe5c611dbefbe9e4213131c3ef7df8ee0805293c76b1cec00b0f53328037d555d6c8bbf59ff6d094c4a4bb2099a1dd1448656a18d6ee2367ce7a60ead88491a25db62218fbd0d3a363faf41f7d6f843329cc2e347ad00128e8177841b7d41d7f7f7ff87e30bf706ef257073188f00a443f105c8a6e9ba4212fae3bb26bf3baf79f199dbb7bc9cc8977bdbfb7b0e4fcef24f9937191016e6ec1c9cb5f25bbf79730773c93bf7c3131c45fe11e10e2413c42027ca44d4d546759e66edf91309b0f56aa7e5ff93bf12d3b7cf2640edcced9f05d8e5ae7119e488efefda937de3bab8ed9b4f38d409d8ed5bf625ca8bbb35bf08b47f67e9908753a388c5a2d131c8bfa4983635e9f18d21227d4b771bf74cc7884ee518b8c93ac2bc5994761bee7ec6f1b376d3f5506ddfde5824718d3d92717bf4b3bdb8d90e2f3bb49f28a71210aa92284ed6c3710870b15bc00ca8affac7acb1b9b4f3e965560cbed8e00378fe67840c02fc76ea719099033936cb8fef2e2ca8f3c5c32df0a0f875bc2660c473fcc4fac776bf827cc2312e2e673a76f252969809b0286d84e5baf930c90eac67dc946ddc053a889fbbeaae69f9e060692b3edcae21cd9da796cdc4d9a75109cb8e9ef95333a09f1ea0e814fb35caab74dfb66e66af5d6bdf0a8a67b1f031b95d56fd93b008c884ee7151fbcfbe095c4b54cba323d9ce8a4a04f7afdc31e34dc2f3e55f8a78b875ca7ab3898975408efb7211feebe3e3dde2b3e00d8197074c4c437463f55eecc2c7c6776d992f1fdb5a48b9213af06c706bb9186e2710b6a602aaae25295fff86e0dcfb8a9cb2a8ffd5c96b8bbaacf20df89c116d41a54d1bf55979967854383983b02a62d267b593f3ef94a4adc77bbfe058111dc7ff1e979d7c28571c96f5faead8b827da6ff8cb47ea365828362b85f40d71b5cbd98c6b6f9dc9b1c326fcd279f5454247c18775779c27f967df509c98f5b78978ba9ed1b1d7ace8e8998baa038a3c16ded7b216bc118a95ffd72418ea7930987de3b933a86972d268d371a9c0621fd5f1b31144899ef7a46dc9910615ecdd494a41ffcb3b177425c10b323f5f4559272551d8c68ee6cd2cc4c08aa01785a535f6df85d40b5d98115d5268bf42505d7548d91ec929cc6ebc55aa7003f4e3fa8d1d4a85cbbc724f496366aeacbf2ce5fbc94eae993000987b0e88805676441a18ad339b0b649db7590af9fd63fe3427616a9f3edd385f91d0ab508dd161c367b3107712834b0035340d715e71568dc62c7240d1c0b3f3d78b16bfaaf29872feedeeeda033a5db7e7a76f8d1e9517f2d23291d63a05acebef0acf61b026a4778cbfff0e46989db337bbff23f5f120a587befdf080513f7b8478eec181853c8edd1a9944ecd6188eac8ec0e1f7ec6a385abdef08db9327106734f2d432fc81ec33978049685420c9ce852ace87def73e5cbc716b6aea81bc54c6cfc07e89bd7b4258a597a24e715270e3233aa62b2bcb3741b9e8d644302c5a6f0e5632f979401f007f665283b9c56967a10ec316e4a0239cffb6a869812c7c3f18c26550cec9d2db023480e67ca0fe50366e0b8479c9d9b1e463c953ef4e0a8b1f173a3471eaec1dcfcf58f4fb98f9c0e802f3dfa0472a85e7b2b410b6fa260e649610c1ab819a98df8a860d8b790a8157a7c93df069b96f7297abc70e14493c92c3c8fa2d67ca5e1c397f57cacc4ba74ea57cf0c292bc81ab76ad7496105f5fbdfefaeb05d7b5be8a6e323a9438cf799a8d2463c370a2845a4a1b9b7954dbf68bb5c968d75b2c3bb3a29c2c96b930b36d4347858787013e5397bf3949d7c5a71d3acbeb969eb4f7e463ae016b1001c3d9da0191e0aea376f8ce4ca9348020f397573236547d4448ca0c2fc9b5d23fd965fa81e1bedebc97fd47c53b934df55fecbd96dcdf35676fd983e5645ea292b78c5e71f72bbdeed62bac5fff6afe8a68e15b3825a4794356dd804dc5cf26b865fc52f6683d7977302cd6353ad26db062f4a69a473fcadff8a897fa42f99073647abce94a7dd05fa7de46c87f4778f3058dfd8055fcec15886d754998eb35fb6f556bd8e6e8316ee450ddf39f16bef7a80fc92c0f595d3f3d419110589cb8a171f420af1f9e708dff6bc988e539a5ef43aaa00325fbcbd57f16d6440543566428120261f7a573657f3639c3c71098d240544c904d248d8d5585d7d67f52b39f9029350d25c76aee385793f28cdfe870a937bb4cde5b01b3905a71b58c02aed4e595d43bfb4442f7b82a5122f2be3924e5d3594ffe67e9c2193d0365aacb8796bd7d12d6f5c0642214e8be7eee8cdd89b97736d9bcf2b9d7d77df4e218ede5ed0b569e24710b633d24e4be1964fd7f2e9390b991720fd5709786656789cfbb77761318bfd1a167ecf18c320e4091d4681337d42c2b6f7a768c5bdaf7d79e6e24bf8f6156c4d2569643448a6b6519994811986e3838392996b01543532991d0d794c164cf27d097645cba54ac08f775555dcbce5211efde2661ba67f7705278e9d4d9bc41bdfd9b5545a997ca896f14c4f470e3a0918701552aaa4de1a985a53d672f14dc1913a82ebe54d84c82034c6ed6d45f3d9b5a447ac7c6f92ba52ef02a4a78021a62373a32f9ce4a886790b833242894e465a8882252e9246df4736abe004b8362bbb04396af81d2a66e9b1c4a58336fdbb8054dcc3165df22ca3d344c2bb30f6fdd53e8a39c3f3b98e171f38f1c724fdcc51f4e566b9aa15781d3e72743e40ba5e0ecbe5c293cc279924ab1f1b4b0557e2997345557482474289ff8df97173dc7ce9ec066cd12e113c37ffeba29bd583eea81a70706bb13cdd98f3fdb03af1ba34eb206193b0cc1ab0252d4aea744ef958489a2ebe0ce8217aba2f0620121e00b7ff4736a197fd8852475e0b017cb5292cfde6e6550d2837efd726ed7b807e63fe85e7bbd20f5d02f27d3771fe8d32710e279c24ab1560c52b0d32469a2b2d47361978de658c162f6c1007d2f99376f425f2119d4779965b17543bbc87594236c91bfa12c3070852a2c2c2cdcbf1f4ebafa020f09c0fd0148036068094617e500712080c12021fc2b97a98e2d7d7d6fd40723c3ba48b4c5a7769e268953fc43e3c9ca4f4e4d5d0ecf54fdf2e93212bf3444775519e9437303275815436aaa4beb9bd937378309dfc8f8f29599f5d37a646cfd1749feeffcf903216286fafbc38ece7cfbf73eb11fbed5e5c3432fde33303ef0e8c417528b35a30307962ff9e45cd28a1865d94ff73ffad382ef364f0e803bb830496ec555709da24109d85a616edb7ec18c0e2135a5a555dddd75e5e517be9cfd2a19f8ea981097baab7dc9ca4b016f3f142a53ffbe64dc96f8b5ce7f1fbeb8ad3b2b3c66f69c7ccc64b10211d023e0c099809539008b8757a7244ae62df574cac1c0569f91c954247d596aa821ff7d4cf117de4b420312baedce2c4adc54f5fc2666cdcfec3bdc974db6f4b67b1d842570091418099b1c74b0faea88bd358bf7c28d5202afd999379c791481b3483c02fff7982671b53af22d35544e8f745bf50833b365648059d612e6b1e367d8478bf8f57a5a47604e5fee6c98ce77f37ff791ba356b1b5ca5129d7ff7fce939f76ea80b5ecc2c4902e5ff9d265bb7b834cdcde5fae3fe60e42f2f57af79af7eee77256b1ff5ef7f871339aeeef76e59cd7b1edc3d0d9828047ac5a1da15fa97553036bf7ad075769a3aeebd62466798f3a89aa605ebcbfff26f9faf565470602e1bed15cf3c71a01057cba8d197e6b22b553a1214c6dc1d36d489ff75ef39edbbb7b58b16ad5a326f27e570e999f4e93b4f29f2d7c18220106715b037015c5c5c42eefdeeede2798b563df7e82a60f6e9ffd487ff9ac07004c44df5219b957745c05d009fa8092e24257a76943b9535dabdf1a1a7c6f446f582f2e8ae0707158dd85dbd7837b3daf8fb470246f99bdc4e81f101f58c90585f994a17865f476e3c388dbec2e5d0660c7952527867116ff7c6a46b604cdfbc9fce6790229657d92dba9fc95b7d988543f1fdd567ce669f3c9a0d2c32ef8881fd21126d84d38d2bfb6643be0dd0165d957a3103027ba618b42906f6eb7e2c3debe8c12ca6b27b3f7a7780656136a0b27bf5994ba9c72fb155fe91b17e327886192c18cf690c053191b833e08a4f77192994fa31cf25cb3c029cc855cf70c3d220113dac1dfd867fd8ecc25c10be8077a0112a7b0d8ad9537861e367eb478c1b1602f9557eda4e78d79573cfb8619e1772cf6c5dbfffbe490325b94737eeb9208fe931389c09e99c9c9d7bc7f7fd359b699d9c3488e41ca1ad4ff60fdf957b192aa74e1a5877ee8fc385753edd5ce1661ec83455676616f9f50cee0ac13e6860061813164a25cdf56545f97bb7ed81e85a535febec6c9c02d0e99878bc8930df40a0a13950bdeed4db05af88a957d0da7b70d4afd96737aed93e352981e4efdd0e4f23cba520eccc3d31cc10cd9c3f1183fa92dcb35bd76cbf6fdc90a6e2133bce55109f8177783a43c805c8807fa5a97b7615ec299e307548b04229658eaa979bbcd7a0bebbcca4a2ddaa0fc3afc0190ad33fce0474991b1691836276e59e13988b620501522727300af3d45024a00510a23e5002b64c8385f97e4b3cf6d633c60d859365f1673686163278f0e0ecec6cfad070d7ae5d870f1f0e4d10a0d3ce53b7a186facc11dc2ea78723ba25befddeb5c52fcf8667a8d8123fe78745f094ef88f7e6bcf2e28c094c95eff46f7f48d415ade95246cf5d3a9d2c644e2259983cfee5353bef0b61eea7fa44df43f2b6956bfa7cf31359fc4374434303ed42c8f0bf9215af4867bc1bff9779c37f62940d9cfedee430b96bf882a5c79e9b7bef68a62a7ede867bc2759a73abca43df098133397b5787691029a0160a34f0b7227c9086b661bf74e3bbe864b00a68617212b595387de9b6f989d286069f3b17fc7bfac287c7324781844e5fbb282c2cfea3f8297f6ddbce0a3a68d7c947208bbb88008780216ae42a1c848033605858d8cd7616becdd3a07355589835b4c91bb51a1e1d56585932ce32b8b898bf66d426f537606a54d735903656ced759afae7371a5f7525a8055735d6535f1167b9cd452b7542a78ed8b4ca6846fb3586231d6abe0797160b581d328c35156baa34d7b68d25b6f6cf9c9fc7b7590bba9ab61b993bbc997a1a94e6b529c55fb099b31fceee875fbb5eb2572777fbe64c9d8a54bffe89ef014bc26d28a1e788f2471929a7e47cc027b73736373b39936f621022b1ac4a5c44dd8e18cb80263edaca15d8d3b36630e0f5c4094e6e6e6065f8475757595cbe540707a8a4e6dd9b4f7327b9b8dad53044f9e35bd975292776ce34f0773289bbc6bffe9b3c77b646ef9645bc1c4679fefeb4e0a4e6cda70c0a415e60fb2f6fcb0ed0c939f4351040f999d3c0a96c6a56ff9f2b7cb9097863fbde0019884802608161b8a8e7df5e341fac492dcc7a7b1029e090e7eeae5e9705f8e0658b0ac68ebcacf0bc2273d3f254a9db5d58a5dcfac2dffdd5a30f1b917fab993fce31b39af14f041084dcfe75ebc1f5e8acc8faa397f9e7a795acde9ad1bf75e6666f961598e67cf698f4f09e57f01ad366be39aad39d44b42baf69d3873625f187605a6520f3c71bf6fd696cf521864fa2919ffcf6ffd8a76194cd01b14ac05927f7a2b40cd99330ab2ce4397b77cf0594e78d2fc297d68d00f5294e0fb4ff1b1a59e1aa55b9012d5698987abbf74e952efdebd2113a093df54092c10faeebbef8067faf4e970430008582fa486e7e8d9525f5f0f633e3636962a013a3d3dbd57af5e9c0f9cf3b406d8d86f156b35355ac88de57242e378f8553a3534c0c884110b352005855d1cc4dc7f80c916d8857a700cf448a54d7b5f9c70ee99edf3ef605e044df9d97a290c7ee0812dac9f015df02c01b809b28c062db38a13f4434dc99ebfcd3894bcf7ef83c104b452df04dbacacac7efdfad1d3c54deed70b314a7098420a5bda47d8ead1633b023032671b98cf7171a19d75813395a1867696f214fff12aed2c454fb4bf9999995c6739bb7ac2e6938f5010f76f3a02b9b9b911111137d32cdc36f4f4f4841f298c2b78b7186c69011f80802d8cdba14387c2d8e34ef737d3bd36b00599406868681b28421588402b11d0a64d4a7afd5f9b778865029655b74ccab23e7b5bbe3f66bc0366972c4d03a80824036189cfda25de39981f8df76b4147d2d2d2e0f20f39004430b085948086145c9403b74deaaa2b546a99d24be96e78f09935d4585bab21ce72d34ace0591565d437d5d9d56275380089cf4a9094ec094e08933a4dcdddd5a76c793d50b2ae046a4217330da6a54d7321f11b6e0324f8b81e4b9c15ea2043a9b20a46a6a3273ce44caa0ca96bf46411efe2611bf2d5a2cf1b4b9ce3ffffcb34f1f6366c2d93d7cf83084fe63c78e058b5009e126240050430908c4070c184099a1e6fcf9f33d7bf6e48e11e72457039c1037d07a880f601768a8010278f8354cf4c01e74ca4f39a1060879f981110fa5ffbce77937d3501e38414a541ba75f2229796becc393b61e1ca8649262730f690d64027dfbf6e532819bd9af6d7fcc853bc7fc5e737e02c1d5537cacd7e87457978d7b64d29603833c993c8a3b0a825e5fbe7c99eb2c28c4e2a008e4e5e575d84cc0c633be83228f6e2302370101f7313d27f818e7766db4d832291b95b7171b3f0d001bec9d81cf6fcf64a06510c38428c40ab065e65959c2540f3c7fdd8d5b9ac30504ccea250f2b234cdfca4512a053e7e4eee94a3fee6462c184473f3fed6454ce6ae2f3f08579fed088d9c9d3d3f841293e27433bbb7b18de072f6c12df9781366a02daf9b628bbb3420110f07d6379e446e70d6af93c863ae62f5fa744c20802279f4140f3f9054da2bb7cbb9664ede5e10cd1910363064246a8e4f40c19320476a19572825d3aba800d08c804380d1c03f0006d694bf5f3a5606e9ebf0b34ada11af8adb4a6c16ff4ae942170d70076690ddd524e3e3f55cbaf9148bc17a4ec52281ad8378a31ed7c0d7c9aca725b68e2b79ad36dd62f50048bdbcc1eb7a016f9f537ac91487cd8ce428ec6206cee33ade1fa880422d04e086026d04ec0a2dadb060159e4c2cf5eb4bbb72d93b2db8c458116cc6a2f5bb60c427f81469a0c2c5ebc58508fbba2084000470bb442544779a0062ef9b01588d01af37a011bb70b4a40278d1e28c199e07880e0145ad2cfd7033c9c6f7c7e4b3ce6863873fc26519aaf13fd0734e8c1a2f8038c8009dd423d8715dc5c824aca43f9e941e738055053b582cab6dd85f4c3492ee7c7c4b6eb87e5457239b3d6c87611cad9c1fb25da9d167756541b5622022d460033811643878288c06d8480681a40fbcf2603cb3019b0713470211d3f5603daba380df568b803cc745720429570aa3842c076c35d5bf4d8c2c33784fef3d1b04e8b620b95b45059a081a05b010195346710b50207823b16c0d94e346b44ff4484bd566c9135ef9a2d52f67a62cedfe656e07680b915418d7967b10611685b041c381380df64db6281da100144401481b7df7edbfc6e009f9326038b162de257222d8a005ce6a1d0e51c74fa164e6550637e42a395b0053d7c1e4bf57c737c1e7ebdbd7af8b27c9aaf9fafd3161e7b65f93af9b66cd1c397e5d3b6c85ae2b1546f493fbfbe35fe835d50c56da92aa811e8a43c948db6c2962360aa1e9a1c7d4bbb031def64fd123d2efcce028d05116873041c3813e0ce746d0e0a2a44043a3d026bd7aecec929b0a59be1e181d6d300aa047856affe2a27e79a2d3a910711e808088487073ff2c8635c6c6dee12779511f058aae76be078cc2bb92601c1edf245280d4d82566e9712740bb92524994003016165b76ecc971ca806a881a75360513e977f423d3f9876141ad60ec19a28e805d7e5ced12f51fce1a601bfb3e603036b1081d623e0c09900fdd9b41e02d48008dc8608401a604b7c6f17328f3dd6cf2e7e6446046e2d02f0f22b1a50c2d58486959468bf8b0b58b1cb16c70ff13de7aa00348e07ea21fa074e281041c21b397d7c8cdfbd01bb5e5e5ed5d5d5b0156870ac5d781fb4bb3bf3e51728e0396c3b47bf448f82a0b3a23c588908b4120107ce04e889bb95fd477144001140041081db16017a1de1ae26fc5da021caa43594a0a1271f2b5b78f8fc4053851c4177ade811e5b7a213a6cce145a2151515818181fc37df4322011f20831770c357082074867974ce28d7bb0e5e03b94d656525dcd6e8debd3bff9e80a3f74b147fc8e5e0200a3a2b38eeb88b08b409020e9c09989f94db04115482082002880022709b2070faf46947e9a9edaefaf9f9c1c70720d6175c25e15e417878787e7e3e7c99b8b6b6d6513acef909b7022087e9d1a30774042ab9de397abfb80ef2094b9de5f3208d08b409020e9c09b449ff51092270131080d99d929212b82fdf82b7e3dd04f73aa089a2b4cc322d7196297b0fe8c69da4442bad38af29bf9a930f1f960eec19edc12929b99c4b02c2029456e41caf49537c355feb1b196af9edfef6f549a35613f808b24048ad66be03ebea2aa876ecddfefdfb3b76076cf61ee6fb611e1dee12848585d1189a8ba46dd6712b19e9bd11d842dccfdd1000871cbd5fa2985aeaac2833562202ad4480bb3eb652cf2d10b7f72c06d158696929dc18bd05bea2c9db0301b8490db371301527e86e717131ccc0050404c8e15dd98607f8043cb8cb434093b3f3978bbbfed7445e0fd9d9cd43df205ac91332251b8bcfac9e3d9fb8443a473f11f2ce48c321d11c99334bb36c57f21061986b2a2dbaa749fd745b5dd2e4bbda2ce016b5d292ca9cf5c9fbb4ab2217f6b24b585d99bbe5dfdfcc5cfec78f1777cd88d203a2ce3830347a711a284a5e7075dd9440aab132f3459fa756b2f43717773d6e60b6cb5c8b9945fc54e7bee8368bfa036a5be392bdd79116f7a28308d248daa133017a0a151c38c7ed97e8c0a07d842d25049d1515c14a44a0c50818ae8f2d5670eb04e92fc446fbf09de7aaaa2a08d1e0de223c894f574fc2af0b94b4ed6f8c2ae47ebda2fa6de1b1d4afd6c85ad2c9afb745bf2d3c7c9d7cba35b27c3d96685bf4dbc2c3e987cfda474646c2c8814c122a2dc9d2b5b9b08615b24d4806e0951d9c0620a03e3838d8cdcd8d3f95c56740da1401f95d0be7dd39adefd773b4fa4fa732cda295a672bcbda68a62425e7f2ce51ed3905f3e6ecd668daf691d4fca3a59b4f9a3a6bb269350eb5cb7a055ae8c252a2b1f211673499d39d4e7a9b4c71e4c26446d6c2ffb67f4e2a86f561d9d217bdc6dd68cbb63f63e0ed945cd679006cc5f72f5df235c21a9f53672df0c4adc4f924a227fb9f89fa1dea4524d02035b7840c17ff845df8c5e74181b9db5bf9db55f1d66e0a0239d190107ce046c8fe0218683500c8239b8ab08e78b1b9e32808126092d38f2fcecc2921e5b78ac9846ffad80630bb6b6f0f04d50c039d83942c043ef5943ac0ff79d047706e0851e9006c864323a02f9821d81ce3b7776434229f3bd7be2147b66f8c45017a2befecdf4f3b5214eb5eb1a493fc5846d43067a414cdeb0f7b323c71633191199ea39f9e3b8685828c2705e24639daebda92544167f664882b529f3b2df167d947bf20f50204b5a3973fe4088e06a2e9fd932677e3d54b93c3c6cd5137718a23aad0a140a8b68a51953eefaa94bab4816d4af4efa89443ff1e83b231584d45d3ef0e3bc9f9c03237b2e7a76644f43eca8cd5d3f6badfc2edf6b293f101219fde9a7d05474e2f75f162f6501898dfeea3f2343e575170f7c3f9ffd8ef2a285ab48aadbacef1e9e1126b4cbed8be9b4d04d11404ad27edfbe90b51eb260c2ca29e174219398cefcbd5b7f79fb5d709b902ce7a97af3e6ce737e9910aea1eb2ea6444579ac4bfd5fa5a1419d73613989bdf8782fd79cdfd743e5b7796ac804728ecf21632ffe7b9c37d190f0b028caacbefed93be755ae4eb5b5301e1449cf0e890b745667652c5f5b9e34ffae386f92b3fbe4eaa3e4b1d7e2c2452f32aa926fbf2f497cae7f3021aa8c4beb52dd1e9f1122ca48c4fc645d507a072a61a95238b78aa9452ec1d9c0d07bfc8b08200288c0ed8880f8b9d72190100dc8443d87c80c4231680211be14a5f9359cb86825d76a8510e86cb11e2b26b826812dae1e8816db15e86cb11ebe339668812d3e5b8bed0a74b6580fdf194b34df16a5e9943f0c3618724141417c41c80168e157760c5a7334a1d46bebc06746f894e45d2dd7bf60b0b1ea5073e33b3de6ff3730f59b233b679defb5ad3f44a401c37b3e5ae8dfdd95ecfde0c0b605193dfe1be54a80b3b1716aaff9657efb161d39b6a334e1b9ee96fa75f895a9b915afdfb3e9757f527e6aaf8a09b555993fce99df6dc9e659c3bb646dfaf08fd9bf76db39c58fca8bce718b560aecc9c2ee5bff69e5c56ddb17937bd64f86296c4803a0287ade39737de4ce69c995aa67f912f515bf56e52fb977d32e929f57e30e2d9ad4c54b958b3627277429cdcbad642d2aa2ef7c74d37a90258b5ebf6780af96181209be221e2dd469a19ba2806c5db8b4db92f5f70c511e5c94b4f395c0273f8ba7a769814e58fe046940d87f52c6f52cdf3a6d96219a17719ee7179f9447318b7c34bc1b0290d7a908890f5497bdd663e9dfde7f70f94bc772d4e3c2198e3fa2dd98fc0dca8f17536644c18aadc6caa6e646bf1e7f7b25f0e4b74752be3a1ff5467f65645452d8de9495a9ae0fc8361eaa1e903c5c3c0d002d7067b6b274d55ba94977cb52528abb0cbec3f2a548cc4f025962ea309ff1ac470f9fa9782e96b953d11297daf514c1ba871b44001140043a3402964fbf1dda6dc639dbe77260c1069d06062938efd3720bfb070e504fa80f74f716fa63afe9dbca7f3a5ae8d60a50c000690030507060c8091608714d5694dcaa26f7a9e4cae2f33fccf78b8eeb3ed0cb85ba0133bd236686c1a47fdc38ff7daf5ccb549381ae4e7252b363c1e52a0d91321f10d3020f149633043863a72953ffaf4cf55c77f1c771b5b917cf92b095634394108076bbeb5e46b6ee72166caf7dfdf9b75fc342a03c08efaeaaa6f871f27a5f184e6311ad34363394024c28192d5d94729a06b0ed7285d2d7cd858922f9a589448ef8e7b820608feec5d66b1421a4e03f9fff5c3caee7909818fd2d0e83acd257ae94df200f2044a0b32e4dac9b324b803c7be770e639e96173965c9a73e61a89a739a5994e80ebf59103e061688fc1c9b13b2186678b98f3fa269bfe0c90fdfad9d2e5efafaabf3f6ff94b5bb93c813e4b90f3eb873da20fdeafbb070e371cf784fb9911327484ffef6baf65a8489c92c43d3ebcf883031b3792eee306df6fe57102a9d78cd7867fbff4504a0ae9123ff085bb7d6cf28d63720ddd52b1cbdb1b8e43cdbac793063ed7b77eddc896b964fb7584338e0422800820029d090107ce045a7018204ae39ff7697a406b68130de3f89a6de1b185df5e3d7c9d96685b74dac2c3d76f89df523d5fd65eda169db6f0f0ed5ae2b754cf97b597e6eb0459ba4b097b55dd527e79d257c323cee55f4c2fdd39b0e8e89a3be62475a5fef0d6e833158d797ffe9450dc6fef80e9bd94793b4eec58c9dc67630b64084c71f7949143cdeca21ad8d3145d2eae23b2a09eddf4b1380dc04526f5ff3a61e564372d34cbe432e2c6a501a0a341556798d1670cd022ac34336460b4f92fdf2408c91356ed0a3e71e1f2c96307e72c4c7d6efdc3d3f44f7d40d79c85fe5bb22ed0096acdba496377a142e094f190d71af0847a739d50c91408ca0dc5a2f30606e15f08a0b9701f4c93b48f66bef46c85ae976b06642fe3e0a60f5bc6c6b2617d78545f42b6e6a8ef89626bc5ae1f6a15ab4e552948b8847633b6a75d264e015d9c4a8e9d3fda2f7e68f00d323c533fe5decc4d00281e43ef8e25ff36a44184b4c625aa11b78800228008dc560830b398b755e1270334ee872d479843c135b15cc60d70d22681089f9fcf63a95e206ed7ae2d3af93c407385ef1bdf2830d0268ea0addc2e47f0a55a4673aa38c25c0fd70404bf0027ec5ae7e7f35066aa815f6faec1f61a814edb053b186743f62555c81d91d3660e897b96545fd3077010511ddb5102ae669e2b27c433c295a8e1d59244197b47172f5775e60e2df1123f7be8a35855de2f7366fd3167710e17a429037b8690dc55a9354cff357fa6e5c23b29650181847c74215febe7ebe1add4165d2ee7025f45482434a55fd6346a81515f442acd0d1998c5fe32817593f0ae808051937fb13c68c8c089739eebd79fa8e03da486e21142aeeecd036f8c91b76dd6c5bb6919905317c188e6e2a6b5c4a7afbfc1bae02fabf35fa98c3b359776a61a52148bce0bc4995d35bc2d5405cb8a2a8bcbd9378412d7a898c708796cf358782460dd3fff45fe1509f1b76b786432f9e3287bdc328e1e23e49e70363d801172f057668464a433232492c973011d980000400049444154539a7efdf8c49fc4efa9c742ab4e9dfbfe24f3f48768692cc85a7f4a15ffd8f0e75e1835a50ff9ed7bb8e764b998f9492aafa666d480885a7d75ef96549210c87ac4a4012d76c9b2796c4104100144a033230067cedba8c0ac2df4968b2081e0cfe3d25d2b7050714e895db256d4724df6fa632f3ffacf412d4ad885a746a3017e780818b6541b1517d5dcb12b9b5357a4656ea63eca465f30469eb5cf9c5ffecc79788c38ee4c5fe6f181de6121c3d3beefc2ac1797cf20c4c8c8eb5f3f437a00d010524f2279d3dbf28495df553e35ebc7092c7fc4b290cfc2e48103ef5df6faf6f9495f501dfd97850ce8a657a70c1d96fce09139e32f91b12336fd33864e889b578a1832f8e3c29f6fd7fcf6d4f8dc7cb66921632e6ce5ae89d1fa653e3c2719860bef24eb39c9dd77be126a50278f86e53a0b9f5abd99c8a67ef7f81cf68961cbd6f93aa5e2dd140764c2bc6777ce1fcf0272f7b035e3f82b914c75c68f487ef0e0d3e3d359ff18b8d962c1797d2bff4fc6ba7f453fc1aefe1f93fc3a3c135cffcf28d76e1f9c59e233307935f00d78f6cab77007005281b0cfcebcee3330e9096627f6972b6369d80d3bb57f9e5fba941921f18ff48539fa9c5f4f1c2b737d6041ff6025796a62f5aa94634783470e0de47bcda880220d8e5cb204323da6c4ce18114b290b5b733fc38b2f0c8c5eaa674f5e70e5df0339d116bbc46940021140041081db0a0193d5320ed473f8643a7c6fdc4687d3d3d3e1214efaf25078a13b10f01e21a36c5de1bedf0f669754d66b89877740dfa1630745781a5b79546369faf6dff307dd7f8fb597a3f0f869aad0a0563739cb5d5d8c59078fc51aa9294cfb65dfd9528dc7e88991e70f58b46bc92b4de191eda7c9bdf70de3471260af51a3017fe43c002c3901fe6b8bcef27cc81b74ffa4a01a2308b6abb264a25deb29fe34ffe147f97619cdccccecd5ab173cec0b5f7de70b9e387102be14366edc385a09efa7822973480f80a8afaf876706faf5ebc7f1c3088c898981b1479f25e0ea6f21b174e9d2254bc6720e30bec3f21e57c3b8505f7da77be6c4c251bd487da3abc9821d951a267add945c30c8a9b099a85381297629bf514453035f0093c961755007291aad06d62bb9290d80b48d5be2dd140144aba9b1cdba46a581c7973d4cd70db5d6799883679ee9353d73b095c455ae3ff2eaab6f2dcfbcf76fa3a2d4f58d4a37a50de793b68190a7457f1f83f3d37e97962efde3b5d75ee3a9441211400410817641a0b0b0302222a25d545b500a163d3d3de98b4c8e1f3f0e51102dc00e046c213a1a3a742884c7b7e2fc6dc1697bab694f6c94e2f79fa319d9c6dcf5df6e2f25c42fb44798b326fb4ad1d15fbfafb9ef998450fd5c2f3f9ad496e61495e5f56a622cc3ffb40974f079f8fe307ca476f7d7df5e091dfbfc7dd1ec2ebfdd3aad39f4cba122ad2220d4d3b9c668d75c86ef156da5be35abae95e413ad44e266f27444edae558c3f2f4c8eb1c17fadb90f3c737a55d03573af5a536323b636f8cf8c750e768eb0cb3790e20a27080f04432600bbd1d1d13423a53c9481ffe83027d2c10908fb4c637b58eedfc886836e02cf95aec21a01c30d7799c779854518cb0adb6ffabebc5dd212f16e8a0022937bd89614893ebedc5ae7858381455f50d9c88e9046e2eadddaf1d0e2632bcc555ae412fc725bec000a2202880022d0091070e04c000241db0f003dddd3dc881fb4d5669d8534206ad23389116c74527bf18b6f7e3f7f3a734c987e42970aeab752b8cded2c65e419cbfa3f0682db35f5ca8538c33f46c8b4fe867b124d1371ee91f0501293443ed7ab512a15d72031f50a98615a1a6e7ac8e5cc4d79300c5b9e75bd3ffc4adacae381465a447ca8359a6b71d70cea2dffe59cb1ec9bb15356782c5bb0b505947385933974e810a5fff8e38fd9b367034d79f853fe768d4f4e7347215cfd679e51f89a26071dc537f4a32320a0f47fec1185f12d4f0eeb9263ff4e3b02ece8032280083838020e9c0940ec653bf81c332578bbac8e26983a67a31e65eff8d0b4ecae9ec0509b7b7273ca910a664988738f619392068771b26059957372cb0e7d6bc4b0a4498343a1b5faf2fe4dbfa5d5b0ab4802a212a78e94adff72470528c8dbf9f1eabc271e4b54f27cce3d9cf2eba96cfa78a65f8f115393625db9fb0c8d977ffc7407a428e4ca8e8f57473d9c205fff73deb8271ee9ed4eeaf24e6d4a3952c97a057693e24cbcba7e69cfb6dfd2e1752bc4d927a23b3cd6c8bc9b0f1ca3573b8936fbbb2f76c00382d49f271f1fafcb39b479c769561bf189183635298e799d3a2da63e3c3246be6e5b6ee293b3bad3d4429bbdf61b93ae91dc537c40c031cde55ddf1ed08e8a25bb0f64774f786c6a3f7807b9de99babc239b534eb1d8eaed4a73f77c9b921bd85d9a97c70026f3eb3773e61858a4059e1bfde7f0b15caf779efd6349d62e1eeea05329d83d73e64c414101dd85054270d32d3e3e9e6303020a35cd37e468b44b68a89d2f7674b41ea2bfad43c0253cb2a38d9096b804bfd6d6e180d288002280083836020e9c09d0e8d676f8b9333e4780ac7b686f05c9cbf86d75e601bfb0883058c5153b6526f3f8daf5d4d5db8e34f944240eeb753dfd40da919f77783e9900f5b45c4f5df333bf751bb426f95c5cbd238d7884268cecd7947dea40c6eeb5d2c4f861fd8e1d49af91050c1edc1b027d833cd15c4ed9762adb23627062bf8092f403a7b20fa6970e8ceb6a98e796060e1ed6efb041d0459bda44aa215991940abcda96c2f3aab1f8f0badfd289223421a19f26e3c891ec1a22eb4a3babefb2bc6b1ccf1ff9f5939ffe7c9a38070c4bbc439b9d7a2afbc8d79ba47f9d667878cfd407a9067ca861d677d322ef0a1e1abb569af6852920ac635a6d4df6ee03c4a77b44bf400507bba4f4d4d7db4e09ec3ed9af4edb549397a7189038d1e77afadeb4f4dde7064fbb8349c9c0a051d680a1a57a837fccdf76e2090e0e9e3a752adf10a5c11c3f01b0777c9a2b6cd79a1e3d42609174bb9a40e588400747203c3cb883ff4e3b3880e81e2280087402041c3813b00b7d88d2a0d0d5412008b45e5c19f3f4dcae67f61f4bcfcecd4e2fcd4e3fb59bc8a2131f08cb3ed6441463124705bb93b0b1634abe4dc94ecb1c4383648924f3b8486ba6e214bcdc3a69d6fd3d01d4c870a9647bae8f67ccc09ed9c7d3eb82070eef1fce7758ead5bb5fbfee7163072a34d592521f925d53585a33c49f7b5259d967c8f04c8360ed25e6ed20b0ce47d42ee7d59553e718071ea70e44ba6ef9ef9e3ca6a786ae820eaf9821c3397f2e6dff15f8ef7e3ab9372c8c8a89e9bafdab5fb38f5dac1b18a3bf2f20ee835e9d44a8ca125cdd47ce7c60a0fefdf414814bc719a00476337b05436bec434f8f62de1c139e97fe797676a1a43ff3c69a5b5e28841c90fefe222fcd6170367c5cec963b6c8b03b3673f690b1bf2743204e0e13078aefdc2850bdc13edb098302323039e68b7d4d386fcad631f7e27f9cde5435d74f018b57be89d7d653bc63eecf4db8fba8933257bf6c43e3e66c9d23d3f92cd331effd06ffefc91a0e7d8ca954727bdf7c7a339631f2ed979e44577b0ca7ee55dd4043813151565f21607513eac440410014400116807041c381368c15c0e884081888d2209745d715e81c62d764cd2c0b130a1ab8654e0d794c317776f77ed01c8d4edf9e95b23e6e585c6f78a33efad16b6d629605d7fd760295dd022bd63fcfd7730c2b5cca6d1f8fe716617c27a1f0f527ae8db0f0fd05d76cb3cf6c0738f15110a8ad8ad313c2ea183f7a413cfae8643dafb8eb03d7942bbe00a634baf96e10f94eb8d86460592ec5ca8ba910facb3ac164e954e0c10162e59748c491ac00a8bdb85254d7efa5488719279cac1b6421d862db0c3c1e5f97f63f916c85ebf7e5dcb7c064b0f1468a00f0d43acc3f781d237f6003910815b8100373e29c1ed9afbc2feb006dd9f382a948de681539b075cf097f9c5c1a887ada6b9590ea7d5a1a3c2c3c320d398bafccd49ba2e1acd25dfc4810a78eb96e534809a6374d9f3dc1795c22d22800820028840eb1130848dadd774d3357001bd2d9681190adc13a0b705800629d8661fdebaa7d047397f7630b3ebe61f39e49eb88b3f9cacd63443201a387d7e3233434d48c1d97db9d2de1ee4249562e36961abfc522e69aaae9048bab1ca4ffcefcb8b9e63674f0864e425c22786fffc75537ab17cd4034f0f849b0e9ab31f7fb6472271615c34642920c30a1aabd826089185763d257aaf244cf05c572391d089f4c28b0584802f468d8c42bd5ac61ff6ad9875e0b017cb5292cf2cd007149c9cf499928199d141ab4c085ac7764dc2241842c758b89a24ecab9618cd8662c12ed36cb064ecbb41c8da5fea9dc1474689356ed3b61bca020357a828bc996bfffefd9c1a784820242404d200f3d1c5f120810874340460545397286165ce9e8dd1cb2a550d41327dbcce46ff9072330a9a9bd535a4a6bab4be4f685fb2f252c0db0f85cad4bf2f19b7257eedf000a28cf48144e086513efd89753488d01f44001140046e07049c1cb793cc45c9b6027de4ae34f4b247833678497caf41704fbc62e367eb4f65e65d2bbb969dba6be3c90ae21c1e370c3ea953bc75fdfec29a9aa2f45d1bf7a49e2b6c706643642767e7def1fad622958a6b8d64d6ff948248494dcd95c35b0f17d6c1ebd99d9d7570bd6daacecc2c2a8350112c4201ebba66704a2a69ae2f2bcad8f8cd1e9824d7d4d7d256ba653216e663a8347b61aed940f5bad3e855a1a957d0da7b7014d39735dbf3ca5479a9dbb7c3d3c87229e8a1160d4433e74fc420d056b175cdf6ecc292cc53dbb79eab203efdeff064dc33f781eb3b473839195415964688014239f50132283594481673b07ba5e81a6737ca4ddf47e002eb74877a6eeabfde37ea21dd5211aa9e13e108dbeb2de9a41ab8ede0c183e15101382250ba76ed3a7cf870108471055ba8a1030c08fed86458b120021d0901c1f8e4ef9ad1f042535f179d8edef5625ba18219e1b025f2d039896461f2f8fd81f3fe3dfdeac363878f18316e49e6f457c68541c2d0a5cce48760a699a9005444ebb11211400410814e8340473afd0b7db95dee09c06082108d0be680a04878f4be67668266d3decb07776cd663a3089e3c6b4a57a5e4a111153f1d3cf3bfafcf40bdbc6bffe9f74438679e85f01d76a5ddc64c1f59b1e1c0999f56195bdd743d260ffc61db9933eb581145f090e4d16110d146867b5ebe7c79c74f4d4f2f7800aea6200ed6fb0c1b7620e7e0becd6b19e53e3ece9a8ae28307aaee9ceecd2e6e814a1a50cae1d5a11209fb1934867009d2dbe57b25cd62bc82beb9848e9f3eb27ac381cb9bbfbf0c1a140a52a7616cc16596f617407072f2e1fc79eae569d3136a37eebdfcf3ff187e67cf9ed3668d811b13e022b50e8031ee495d40dc99ed37c366208caafec7744d00c84377f720198c638cdf4c5caf2fb0e3d663fcf4843ab0bbed27bddd07668f95656da1bd60fd6599d9c01a4cb36e339e5002b640831e2038d50282eef2b77c59be4eaa8ab5c7e807114e3f6d821aae7076c78c19f3dd77dfc12e10d04aeb610bc900cc80f26ba0120b22d00111a0a3141ca3040c7b28409b6f5d42261e3c98d4d0d0c0b2303c2e210f1cdc2685a17e709b33d4dff3cf6df7fc136e0e344bfefae1a1e71ae0bd02f0113d5841e714f9f0cabfc2bd47581cd42caa99daa23e50373a2050e81222800820029d1b017ddce3709d846f0c070505d9e8f6f9f3e7653219fdb4306cdddcdc5c5c5c4096bbe6c16a9fbaea0a955aa6f452babbf2b3a3c6da5a0d71969b567266455a750df575755a9d4c0122dcc58f13302578e20c297777e79b36e535d9d30b2ae4cc5434f4021a8db61ad5b5cc47842db86ca287eef0dc30c184a753444ab4ca44952807afb251a5524ba4aed00ba834facfe36801c93ba66da3f3cf3fffecd3a70f8733e7d2e1c387e1a3c263c78ea5f8d34f0b430d25203ceadb176eb9e80b8cc08ef68d61836bf8f7f642008272fac430373e61c4c220efd9b327f71be47e445c0dc5885f2f400d3841339d71a03430003fd4584f038007264ae027864f0c0b20c55d440011e84c08141515e137866ff10185c95ab826c116ae3794307548eae9db8d7b710f77c183f7da7b58fbd4a7be957fbdd439b97bba2a4183a97e93a8d4a0dfc9a89cd5c4d7c31737f07311bf93a7a7f9575a0d12ceee1e32e3dcb6a1d6ca5f1968a32680896f8b2fc3f7cd328f1c7a049c7c41814e9e1e672f2ff15e58d22f50cbedf274b6d27ffd8428a719083a72684003bb9cad214386d056ca0c3ed3d105710f109009d07adc22020e81000c6028e0aaa52ded05bfd5bc5f30fd2fa8a4357c29735a2082bb880022800820023713011b27a16fa64bed620b02385a403b4475d406d4c06509b60293b4c6bc5ec0c6ed8212d049af7094e04c703c40700a2de9e7eb011ece373ebf251e73439c397e9328cdd789fe031af46051fc0146c0846ea19ec30a6e2e4125e5a1fcf4a0739ca250632522d03111a0c3be63fa865e21028800228008b41f02b74b26000872211d3f5603da3ab834d4a3974960e6223fbe1455c2a9e2083e8f2db42d7a6ce1e1db42fff96858a745b1854a5aa82cd040d0ad80804a9a3358b782ad88400744004e14dcb90246f2cda43b201ae8122280082002b70f020e9c09c0b5caaee304973728b07203a4e8f42d77b513e80136da04f57c1e4bf57c713e0fbfde5e3d7c593ecdd7cfd7690b8fbdb27c9d7c5bb6e8e1cbf2695b642df158aab7a49f5fdf1affc12ea8e2b65415d40874521eca465b618b0511e89808c0e8a58e5182aee6bf255b70037ca06e744cacd02b44001140043a31020e9c097021d70d0f4f972e5d6a6b6b397e9a06801417db996be098053c96eaf91a381ef34aae494070bb7c114b34c74c096e97cfcf550a782cd58bca9a570ac48141a09f2f62891628e176f9fc5ca540bfa57a5159f34a81383008f4f345280d0c94876be2762941b730a820c9041a0808a702020238364e100944a0e320c08d4f3a7461413f3d31d288fca66de1796578d11098e6fce93810a1278800228008dc0e0838702660fb1c1264021515f0052d781da714c23528f49a0735a0845e812861bb4e7b0787bdb66ce1b785c75e3f2df1db6bcb167e5b782cf9636fbdbdb6387e3a5ae8aec028c703f5f441616086c806de9fe8ededcd1f4b30dea01e5e6025d080bb88c04d460086258c4f381372e313084f4fcfeaea6a2f2faf9bec0c9853a9540a85027c8072f3ada3454400114004100107ce04200eb3f1f8c13b43fdfcfccacaca7ce0cdfdcecef016514e5640d05dd8c26589d29430bf4ad9c223708f2a844a4a705b4bb644f95ba9931307e596ec723c0242d41f2b7a44f95ba99313b76297e31110a2fe58d123ca6f4527bc2fa8bebe1e724e7f7f7fc12b117d7d7df3f3f3434343f9634fa00a771181f646007ef23044e123d990a972c31bd254982bc9cbcbbb7efd3a24033074b91f053d45b4d3167263f8b1c0bd0878b31ef8c0f9d3de20a07e440011400410013e020e9c09c0f589df13eb3464029006949696e6e4e458e7c456444080c0e9d3a70535967621a28a8c8c846c5330382137b87af52abc371da21f4bb2588f08dc040420d087340006247f88c28885cf66c3ebae0b0a0a6021e54d70034cb8bbbbc3bd88909010b00ebb7c7f6e8e036805114004100144001070e04cc0dee307d71b58bd0dc55e41e447045a8f4037b6b45e0f6a4004da1601988c872979b8710ac9000dc76f42504eef00c0164ecb7843a06d0f286a4304100144c02e041c3813b809972bbba0446644001140041c14011a94dffc4c80a604783277d061836e230288402740c08133017a09e904c700bb8008200288c0ad45004fa7b7167fb48e08200288c0ad42c08133019c46ba558306ed22028800228008200288002280087402041c3813c049ac4e30feb00b8800228008200288002280082002b70a0147cd04e03933ee5338b70a3bb48b082002880022800820028800228008584100e2d58efc4121272bae77e4a6ae5dbb56565602b81dd949f40d11400410014400114004100144e0b6450022d5aaaa2af8ac508745c051ef09c06729e1abae00ae46a3e9b0e0a2638800228008200288002280082002b72d0272b91cd200885a3b2c028e9a0900a04ab6745864d131440011400410014400114004100144a02323e0a8ab833a32a6e81b228008200288002280082002880022d0f111c04ca0e31f23f410114004100144001140041001440011687b043013687b4c5123228008200288002280082002880022d0f111c04ca0e31f23f410114004100144001140041001440011687b043013687b4c5123228008200288002280082002880022d0f111c04ca0e31f23f410114004100144001140041001440011687b043013687b4c5123228008200288002280082002880022d0f111c04ca0e31f23f410114004100144001140041001440011687b043013687b4c5123228008200288002280082002880022d0f111c04ca0e31f23f41011400410014400114004100144001168090272b9dc5c8cabc44cc01c1cac410410014400114004100144001140043a03023e3e3ee6dde02a31133007076b10014400114004100144001140041081ce80809f9f9f52a9e4f70476bb76ed4a6ba4fc06a41101440011400410014400114004100144a0d320e0e1e1111e1e5e5a5a5a5555059df2f5f58534009281e6e666d8c54ca0d31c68ec0822800820028800228008200288002220440092014f4f4f2727662990442281ad4ea7a34cb83a480816ee23028800228008200288002280082002b703029809dc0e4719fb880820028800228008200288002280080811903cf7dc73c23adc470410014400114004100144001140041081ce8e80845b27d4d97b8afd4304100144001140041001440011400410012302d2ab57af1af75a4aa9d56aa9544a1f4468a98e8e22074f52373636bababa761487d00f440011400410014400114004100144a01d10689b7707d5d6d6bab9b9b9b8b8b48387375b654343437d7d3d6602371b77b48708200288002280082002880022707311689b4c40a552c10d01fa5aa29beb7fdb5bd36834d09d2e5dbab4bd6ad488082002880022800820028800228008741804da2613804974b8272093c93a4cbf5aee08bd27d0727994440410014400114004100144001140041c018136cb0420806e6a6a72842edfc047cc046e0010362302880022800820028800228008740a04443201581b535151015f24aeabab833e2a140a2f2f2f1f1f1ff82eb1a52ec33d0108a0e1415b4b0c0e548f9980031d2c741511400410014400114004100144a0c50808338162b6d01c802aad664b595959205b442d4126a0d56a3bc73d01e8087447b49b5889082002880022800820028800228008741a044cbe310c59405e5e1e3f0de0fa0995d0040c5c0d9f80b788d24c0092019b4be5b11d074aea6c66bf598cd011e80ebf7748df4404aa0e6fd973ad7de057c37dae2a3cb4a42aebf09ef46b37f198b6de943afdd735fff8c73fb69c32baed28bdc8daf36b7a3b0d68abb8aaf5c3bd5d7e4b8e02be5584b0111140041001448041c09809c0a22008f4e90a1f7f7f7f3e3c74179a8001d8f84d9486e8195aadc5ea7597ff31c8589ede72b9a92eff2fafbf70cd9accad69838e4077ccfb28ac5167bd186428e3ffb127ab5daeb842a337799fede38b5bb20c66d5eb1f9893deae1d55e73f38f71163b86730dcdabfeafc35738222a2a14444043de048c74a9d35c730ca8c7fc7af57abd3c70705b5ec585c3ffce02347188cd5596b8282d6b4ebf1141e38935fcd8b7bb2aa840c62fb5587bf9af0e4d64163ee72251ac6e52fd3818beb859844bbd5a9f3ff1114349e75c0361beac38f3c49c15ecf387e53c056e7af7f3128423fdc238282e6b4f980bf35e0db86387221028800228008d885807175103c1b40ef0640dc3f72e4c8ccccccb367cf82aefefdfbf7ead5ebc08103d7ae5d030660337f6000debc09d1337c93cba2ede6660d212f7db2796a3ffa764e797373ce203248073296852c6ab3ada168e71b53378fdaffe904b96dfc940b3a02ddb145029896fe7c6c56a466c36ba31ef9dba0ec8df777caaf916d983b6acae0ec3121d63ba7de3227e2bb89fb37de1f690b7496795c879161965b5bd852757eeb6b5b171dcb7e21c4559d9f55d0d57a575a68a47dc45c23dfcfce7e1f74579f7f24f6b505a93f0ff2640cc187efbede7fac851d910feb4b18085c83a7ecdfafb9c960187e35e4d777e31f1935e862d16c2fa643d6caf5fcff67ef4be09a3ab6ff0709e6865d1444d9212808d4805481a26069116b15b088a8b5fa5a6d51f9fdc49fafafd4f7aab5fd55e97bf52ffe1e5afbb42db5b5225a0517445a34a805b40ab82088ecfb224bd8720301fee7de9b8490040deed8998f2673cf9c3973e63b73c939b326a1e8af8366535d8be45ebe2032a6b8a5b5b85fcec79d26c84eda0f32b7ec2f5a1ec3550f387d4fd446831d40294ec52a13d7ccf871ce13fb7321d8673b638bd3a60bf9abb80604cc0c5415553e643fb90f7acf02fcfba88393300218018c0046e0a1111898138095138c14b0f8c10d00eb1f7c00c60d80472032a93236f922c17466760cc380fa10a1f71e428626269a92005cbdfda8bf97e6ee6cc9dfb16c0684653b525a284ae7b91d9b4e5cb9f27d3845fcf7b9fce22b07a9d88c4d572a3be91cf529920cffce6732549edbf4694aeea501b6ceca73c19ffc8ab23f993563594a716767e5954fe922666c4a6144d072547c4045d4f4040011630363c280eb059655a6c47910dc4a84c15a089b13a9914b305d320e48260f12254373e4adc458667cf7ad2f1299850395899ba543ef644ae45b3427797ef39a03e7cf5363900760541e1648ec63724d5c93480f2d36246ea68b7afd8b5b74d3919519914cd91206f9267ac83853ab65ef26280cde92825b92c237274252e5f96d6b9350e6da5950efa43d6b3633d308826b6b26be75be92525690b16fcd01004455dd53bed87cf87c2255cfc37243a624d48ecef2909acb676b6b83b62a125095212cb812130e5aea2d6933dc1250259395896f4532d882b9266991cac1ea096ea54807e923e9f6841a81ea105e4f9436c3014933300cf28a3c4c1c2eb9a3823e18ccfafafacc0381c8c6a48f0e54d15aa76c5e7338232396aecc1729b78a32987eb22683461e21c57e2253826cccdc71209ba9f9176f7d91714d52b5031995348f52d564391f21022da14fbd3516b303d641a3b4092abf786bf3f9f330623ef10005a820255602f01789d4103a5994386b431e8aa2ba16a437661f38905135b87c253d610ae8b13681b4383265cbb6c0ad5b0351c2e16cc9df43593f014da56f2eb04b307ffdad0d6b33113d1241661f88cda822c9ca9419f4ab620b1d06eaf3b855258bce6f41e8e8d1087003400f02fe3c393bd3be9622b094c274cfd947e3bd665f06d513e05dce3820fd2bc24c06aa78676946e643097cb9341cc508600430021881e71f81014f407e7b00cc0630ce00f803b2c901a632f26cb2eac1c27ab09e5598d572a43108fdb87ff7a143877ef8e12c63cf832740a7d7ef0f58c98a884f4f4f5d7a6fcb3fcf570251782fed8bffda65b2e1547c4cc44f1faf5c7a5c3bfed4b1cd0169bb324a20f58fdd0bb6b022d2d3d30f2cad59f9cff39465df254c3bb3e583d3c076ea9f2169ffc52fd1349eb62702061123e24fedf134d3bc71ecbfce4c8f812ca91b3c35e95287fa808aa8b94f005650e51515155d4bdc1195b76acf34ea875790e1e8bf766b6e494dc985b6b5fe89608a09b243a2128ee6d7d49494cc36675876f8af3d7f92e2c90dcd5ecbdb9601f944a2bcbc36099c82bc4c262a684c8a5ab6cdebc2e593a1e6828c1dfeef6ed9939a5b525292bf753608caf882b796bdb5a6a6e6c2ba2affa814f815cf3e1092e07b142825d10154498f2334a0d0d4cb273df3a2a206d60881dc861d8efeecad97a1a8758d6ba3522a2d66476c75424e9b8ee6976cf2e419ef5f7b0df469c84e02ef20e15a23d81ce7b76c7172b2a06aa15c77b26aff866555b353f34f06d26a9b809d9bf185eddacc55d1ef383f8e4a200bcfd55b3d13fc1d276e3e9c217169e8960a3c49552135b4cadf710765d989449909128f4ed6222279f5a85cef1aef49a55a217f2bb4275d23134aca85756bfdb780052dc83e109510980b94128ae18905d1f94cda8807701b9336846c31ff32fff2d1adbbdff59ff5a3fee5fcdc3da1495bce53969c723f1950492448dacfe021aacadc1d323f65d5e5fc0b075745859c87e653aeda40c64788c15bd346b6910db7624376a35501166c287affb26d8d1772f343cd898c2f1cdf3def79997a394e56adf5df96d14070034e6e7562ba16e0296ae04b5e0fa90eca7a3ea12600237e439ee7c6d5abd76d75dabd85820882ac9f405cf6e65e8be5adcd5b05aff8d198e59e341b7c34f013e0bd262c7ca13a309b7839ff64009778ecaa56dd3a8b9c76ba29cdb328030b2ad13d27449f6af5ef92b66ca13ddb860321518147a9fe1b3ddb9caa94aa77565aa727d54964f27104238011c00860049e3402039ec0a394c40cf4c31dc3f709209febeaeaea04c16a2c41310285fa6a2efe19a1db974efcfcf32f97cea173f59d14b1027df0edaed7acf5273ab97211efdb8fdf98a83fcede958734d81a1a7557e80c3ffffc730a95a185e2d7e841e883d39f029bfe047b1e970d6c84de584bc41d3b1686513534263885a09f23b71f3d574f73dfe783a98b3a68c050dfee1d1b66cd5f9bb4eee867f4aa98caecf3903125617fecfe0309b09419ac2cb6c52a8442422213b3abd8b45d9897b2db297aeb3430770993c02f77a2fd0992a15b6991036b998ad0a6934703b816b0140472a15507839c4d604cd8c0047ee72bcfef06db3f253636f6f0d9249444d9b116d356a1dd2191fb1215864ca5821feebb92b098f6ddd175496b67653488d8ccfe91863cbaf003b1b1fba9c22ba19efac6faf0dfc480204c9c0211da5f4492190999abd60526fd788d248b76e705063819a8aebba801ea1931db19f2828a2628e9c0b6f921fcadb9bf2e56b2671eae0a94fdb5fa97920b07a3f76f080177002c9e86bc148476864eb38034e7c08d9e6877b64233c88a9253af321b72ad5a1de44cb582010cba9254bba0f34900c4e1b3e018c2d402db621a42db9645eecbaea297e0c8e43cb908f493d4a3415c030b37989cf24cddb9d8c2c0c4d9134c50c053453f51a90874a0a3f931d32c0ccc2dc04e853ea8a26a2a330e9708a2b7f8f36c79fea2e883f99f79417628fa248c61537da712e08cde1a0a2bd10893691b777aeeff11bc1dc2401ffa16954cbf40f4eaa8815255e8f9849a202f692d0a5c6e4c92066ecb51de06be528791beb90d29dba01681f08a43932c774212e752a2336160cc454ec6c674777f02aa029c5245065052092c4cc9a07547f31753adcef5440cb0fa5ea1685bc8b27d8979889e5550fdce4a24ab007fa04c1cc3086004300218819180004ba624dc1b00e785328fb24541f008d302f0c9ec198008b0313cf29f5a5a5a2c160b6c6879e2a0b8a6660b42412ed31caca4bf529a9a1a4803b2887b296f64deeb6f3ae9211f1f9fb546a620468c901e874309d4e4e8d16c54741493431352fde6f9bcee34b6dbc7e7cdb546da9a9a22cd51883b8ece30c0a62986324751963d42e6be1b527ef649fe71d7f2795bff7de2773766b7c22015250f5011a88eaa14451a0c00eff9eed700c1015bff90c4c52541d4aa13f8d10f0d080800833920e01d6318c3242c3e2bc90f4849d812326beda6a335116e14c68c4f40c90334a49b12a4c088f22405812c7d0309953626a41c743a5002430302a799880202166fa256025b047c967f21202176cb2cc7b530a8e7c558ed12610fff05a7ed18786ddc13ba3b64cd96c03636ccb390b436a1818ba719403503361953638703c1c069a7535e42c28f7949a15f977836da6e494830c95bb59c4b904543d4dd895afa220b4e6c28242fbba881340163eab105823bfb9d9a12b7485bffc3d911ef403380c52b17984a212729c822c9bb002c83d5634b39a8cc141281cb03029d11d50c6cbac1034af22fa424c486cc72dc743437e2713503559aea003ae8138c528482990c1994fb896a29c8d344be62aaaa3644c6e191419fe8d492779ce55bd65386a9620751e3d49da7d404e4adfddba0a6bb1d93d652a31908ed48ca0b8800af6fc0f096beb9d41b3df08a2bc303bea53410168fb9b7983b87a2bcdd7982207837e5834a60414f0b855647c4ec98920ba129b15be63baedd945bb36ac8bf57b47465f0e50bc5718c00460023801178fe1118981380314e465dd8312c5b14245b26243b4d48c6265f37369bcd380360460f1134c721d42a2459920381808bf604582c1d0bc7b5085da9eab5a383893625006c7e4d4d4692848dca304a035c0716cbc2f71d9476a5d590e6376732802750344a9241c2c6e2184f42455d7d3455d0d0a06d377dd9c75fbc8e5095a097e154f9091581eac8d7ee3e7158494438bf737293d3da595130d26ce11680108cf11b73a9604e49211b2adbd85e41abbfde1388b6c12822e116b82a6f03bd221a919907d6a2d05066dd7a1e1f564593b70e6fd830605ac84a26dc6051f57e58ee41ade5a0b76a58002189dfa0cf94644c15d55059c9e67aad8efe3a1006fbd430a164d2d5881041d1a98199094979d40653c2c2691342fc22922e9c4b170ec39f28b38d59314178ad0bdd1fb5a56daba709c19d1398191595b4f31d37c83754dde5156840fa8bfffe756a7443086f7ec680c924cf32ecb8a0b2a892de090039c17631d1675bb80552c3baf47a88cacc039928749ab41960f17dc3b5c3b3a2f2b84abd806edfdd09f4aa1b38a4916a4daa19ce92fae674831b837cbac1b941aba3f778a2a4a2c7548161d7589641453f91a5294498c6931255544d9af448df80c8d056b2456828da10cba734218b0eafcd0c5d4d2fbabb5f812af47c124d50c9df9f847696d4fc0aabef7efdf5d7a34737e56d83892f4a33a537d7d8cd136d38c08777b5f25ad2da3cc5217ab68913ca6ba36ce827d05b08aed73a94373f24b688e9f0301f9791d140aa0f2c595929e27a05457fbd07c1542379ff775605f874b5f0074600238011c0088c1804063c01b8459819ef87cdc17052906c120022ccc1415027600036e5ca81e93c7af4e851f70d6056ed7cef8d19b3e810f95bcfa851302eaf4165315e7ae6bbb19f2fa7f704cf88fcad1e48044c0448a5417104138729019afaf2fb67be607ff21a9d6156e44510350a5c8749d21c5236f397e6bc8ebe04b6df2a3a72f604cf02fe598b7f7d73b3af03472a5bc53754444d4f00c6dc195b715ac4779b50c2ac6de74903afdc933b37c082742ad826c106c1c68c193c38c86fe2acb5493b4f52cbf74d666f022b621645b35d96b7e942f46ca8a0b9578453d25adb89b65b1a7dd749c7aad97203bc302a7f32da69d92c4a32aca4060bc46b63ee1ef65a4949cb609f0099b16d062d755652e8ce804163aeca2d367c0ae11c7d72ab349bc9aadc93c61bfc411908cb92603912e1b63c1a967d4c9c486d93b5f0026704ada30e7b21a605ae82a8176d67abacbb82a104a8c22c84f33b078f6ed50fe1453e9673171bafed98e1486133d1d6bf61d3c1e5b085d264f6e5835bdfa59b61c6b2bc8317a2a97542e65e9b9c1280c6dbd618bdce4962c5cbfb0374fb6e5b06bb57e14c52caf7837649dd69ec2f11be01bc88aa8c1d7483c33e87d0e84040e04905d9948f7c3f81c2e407dbe151a99f487b2da397b4b3c9a451649aa85c3526c7237ecade1a991cf9a2bda22f6cad7c97e9c6d99b0e460740b30c0eb2e6904694f57c024d2038ff6ec2baa3d4fbcb0403706a61195b66a5aa379708f8f2a0e7fe77e1dd9cb12dd3539a45d64ce08506a22848851dc34f40558bbfe75fd8cadd364bd2276d676dc906af4325b03295a43ac2bb5705af0ad5bd67ad0dddb913fe8adcff9d55067f40148e6104300218018cc04840400386b8647ac27501707d186ca59551e42330826e696909170dcb1399f8e9d3a7adacacc68d8371ff870ff4893d6a1ae15429cc093f0fca40714978d42be0debd7be5e5e5f3e6cd7bf89a80290ba6ba64593325867a967b949214682ab814755014cc94242747894151c2637d562c4d8d1a0c51f7c7aa964a61a01bdd1506b7830a8d81349847599c522e8a20d70aaa1a5c59cad3a4d00aca6ba876e18a55533be323303e4c998a79a8e707b5e323a83828abcab2541265d9e453e5e33286478dc0f9a1cc9f3e7910a892d44045059b0a929c86f74f9563c4518c00460023801178de1018e4098072e00c40503e20086603c00750e90640aeb4b4340b0b0b95d305cf5b851fa80f5c98505959e9e7e7f7404ecc8011c0086004300218018c00460023801118b908b01454075b1f2e0e036b1816a333fe00f800b03700ac7ce50bc56479391c0e2caaa1b7e6ca682335021581ea8c54edb1de18018c004600238011c008600430021801f51050f404201758fc10608c5f3d09141798cecc8e61f5b33cb79c5011ec093cb7ad8315c3086004300218018c004600238011785c08a8f0041e4234e309bc187302d81378880e80b36004300218018c004600238011c0088c38041ea7270007f18cb8fa2b2b8c3d01654c3005238011c0086004300218018c0046e0c543e0f17802b09a08cee781c3855e0080a022509d17a022b80a18018c004600238011c008600430021881fb20f0786c771d1d1d70035e8c39010dface82fb408693300218018c004600238011c008600430022f00021a4141412f40357015300218018c004600238011c0086004300218816121a0d1dfdf3fac0ccf9e99ccfdcaecd49ca67fb8c8ab4256655dad9ae8ee6c242a3b62fb4b436ce0474b78f2e9923859b092e3f803dc769cd912e9614816c4731cf7e608f93cd9dda18a79c8380d0e992f0c77907190f13c4e6e4c7e9483612b754d8fa1a9b5a124ad2c5ec38614f6af94b132c2c8d63a923095322916f0a49f9f48e9e4ad18b35f2666ae0f9d64881ea5399e74e5b17c8c004600238011501b81eaea6a7d7d7d98de87b9713802043e2130b3fd1001316030f4d14128149e3a750a8f24aa0d2d66c4083c6d04e03200355fe7c7b33ae8c9d7afa3f0263f2de2dad87deb432d110bf55efaecabe45d9d08e9ccc809f7b5d44584b987b739a506e1ecfed52fc902ea9ae49bc7be3a7bcb7cce4a5f174b53998660bca3a9684378dccadc48c664673ec9327eb8cd6c7012d0d48f72f89ff20c09b220d1c331f83a50c202e2513a2f2a3f26cc019e40820398ffa684213cc805fa9e4db967e02c4b0c088a3175e0ad8c8e0eb0a6ca21cb523c6c52e28431e07bd4f163267c8a6af99103cac9e52ee347dbccfe18082b3efaa8eccb2fd3577cdf12b7124a6ccd8d0f725d920e098bbf2e8d0b07a920272cd1212526802e2077a5475c54560c782ecaa5d30a2856138875b9f1618c4ce473a634855115e87490431eec7e3a14a69d1239dbcd913e3e4a733002f1274600238011c0088c3804dadbdb479cce58618c0046400181e7dc13105757e45e3ec6bffb792772d6b1df3ce7154b8931da69efbdbec9217dd3aecbc905bee1ee74adca8ec59c6abadbd41c8f783994c96eef175021e027bb7e938c342d0ef87afbb95b82d58bd0a1b89c3257d7b8dcf048992d4fe67ad8cc0ecfac8df3302d488c741c13d7d21f6ee81090252cddcbb1417be3c27960ae53963604c2012d71e4c44c9d7afdfa75b4e2b8302e4892c024cb7d12d60129593c9050f6693443064adcd7d1ae1e71f9f1868eb3371c2f15aa740380197c06b43db3362077826b41694b7ecc98f0b2bd2b7928d7d775497866299f67981835c626dcba3f2ec094e7913edb33ebd37e5f43549618fd8361d05e5a21e5d261fc5e45351199e2bac4e37c2ddfd7b4b5aca04e82c990c8235490fa8ec882ffa6815c4d1fb23988a19093138da318018c00460023f05c2200d303cfa55e58298c00466018083cd79ec0cd43d1c911bde883c98baa436c09a9aa2482017fef600fb022790bc7e77e56d411ee4e9ff56368efcd3370296b8e2faea9a842960e8481f3bcbfc03f545ff1db21d7b44328cd863f9fc2c6d021fcfcfa312be383e225962859960b63fff131517c4412a800217e1919ce2320989a4e45ad30fe2f6fb316a0ede7f3c1378049008218bcea67aa02f4520972645e78ca99028ea323b54229889e28904b1c149d0a173e9b9aa2a986d6860e1e3e94cb40ebb93dccc31ae2019187900dbf0e3c0143de99c5e8d394327e9861fc92c3db7318470058144b1fa29ac87031fa3232ca3a2accc3c303264320a76ae42101a192b4539dc86ab98bcc8b7a84e6c8dc183a091fd344c38a3f300218018cc0484340e5ea6220324b89d4a80d291088808dc566ebc8ffc8aa91f329b37496e6fe9edf60e438c3dd467e108cd142dc29e814432574746476ca03d52bbd7a2ebf59dffd557713a969f3c02c7f72065890565656565b5bdbd6d6a60005ac8199306182b5b5b5e2b5b074cbc8354c537af22d477f9fa78a79537eea75f4eaab8e4fab9dc5f9e9e73a27ce70b73750780d6106efdebd7bb06408d0333232323636969d93f9b474536837f51eeddf08e1c5f26f46dc39f2fb57167f73f7f0f6b635606c774d362d41475f17fd2eee9548337471f7061fc1f96c6cdc9c2c419383018281edab978f5da2a61482c7daaff478c5427b0fd8d32432f48dfae8fa844f135720241b94df1917176e482dfd27f6c681112d114a3d0fd61628d4e680c12e8084e57aab32ffe0dcf0044bf7295a596b2b48524a95238032a60e8b511649a92c0bf2ea3074c2376ae75cd794320fd38fd18a52de7d6522e56a1241f1c2fcdcacdcdc14579bb9eb8f97c604590f8d7cd1d9d0ce89fcb707ff2d7cd8e680655d386004300218018cc0c84440794e0028bffcf20b0c2a595858dcb74e9dd753927ecbab95e3d10f5cb79a2bfffb2697f6cca3f7ee5cbc9e47b2faecddacf4e495212baf7d9fc0ef92922607ae7b53ad3af416675ecb238929afb9e1691529780ff82e2929e9eeee9e3d7bb672d7aaacaccccdcd05064718649586a2f38793b2ab9827cdc981916f72516f5b76de15ab80998f1173b2287177120adf18a4232d57e1bbb7abf8fa35e4eb3b79b8d3670f94ac5090f4715445f6f51bedf66e767af2b7fd821b505e5eded9d9c9b8077575751d1d1de03bc1c99f90f1b9f604080387394be01f595178352bfed291777eb7c85cbf1496f80c0e9a605c0b6eddacd7759c644e9075b9c94de8957140bc79e88be40864b26fc6a212702168a3932c9066358d3abf7d0cb5107f315008536b84666795ad0c73802db0ad0505add63cc970bd290f4567158439f01ef8078ab0e64d45aefcb2f02053902863a78c757a0b8184c28f1ab3041d6aa9351d33c18697235cf960c15295a57aa61484c38685dcc468e4130545412078411f211b1b1be4f3758e354d917e0c2a7d886a92b026c89ae7ebc0f335cdfd32b20efc13a41af9498615974eb521b3852e4cb1d242067f0fa3390667c44f18018c0046002330d2118021dbd4d454f8419a316306636728d5883cbf6f6f360cecb28cfc42831d8db49a1bee665f6e180336768f12ef932254febc23a156fba5f56b5e57c70cd2d7d1865f720e5bf6cbcea8d5708a7203582ec1cb7ccc58f957b2758c39b0adbae6c2cf87fea8750a5d1f6031946c165b0be469b1611bf6483bb4e54935c883e456545404040428bb01908f21a6a4a40c7802e4ddd3d955dce088fff2b56eab2a2a6a81bed507869916e250c83fbe6e3666cabca586c80421d8b7aa32b0086ae01acc6d6af26b38414eb2f8c2be5d77b8a1ab67dfdfbb66a46b696bc1fc94424745301b00a6bffc2c013c3636368e004f400a1a6139c9db72b337fa5b4707a14bedd8950fcef49b26b875cef3ce3909ddc0e7761018fe8ec11b1d97e82abc88321bd6d077e5cea91f6fb84ee365e85b9bf3fd0447b0d1e9b0feb830c69a8e111eb008c7d595f317b4f8fbfcf8950e40840c0a2ad09c90e0107768bdab0dfc21589c238ce711647c1867c9613ad175cc06d89f902ff4adfb74f697ebf3856130a3d092f3f518d7005e0bacf9970818f4454835954f35f42d3db3ddc69143ebb922a7254cdadad62bbf5ffce55f0a3e0de24985a8283dcc417535b33eb591e8895664d652759486c1c8a3b2b3810293b321e3a5c92abe87d91c2a2460124600238011c0088c040454ce09304b86608016466a5d5d5da74c99a270d790b83283720390d17b9f6f9e8cbaba7bfbcdcc6ddd3d35858d55f7fac8bcdf92d36f9683d9a4c93676f57f6326d7082171f6911fb29af53d3c8dff48cbe9429ae6ae6ff858571d3f4ec7dd172c9a692daecdfef64896d14bdea6cd9957cb81c5d8675188db04425c79f1dbe339462f2d58e40b3c17bf3d02f1e045bec6fc83c7a8f988ae1bbb621a36fc37fca29237ce1ee7dfae832506dae6ae618b7ce979efce8bc7e2af96b721b63621928cfb0faab21831eb540c8d2d4d4d3996a18efd644b556ef2913f28d97909bb9a5c82bd597f9cbcdd68ea11bcd06d02109b6f9cfe89dfb6e0fd6510a702751413226b6f1c3fc1afebea459adaae6f84f972074fba339c7ffacfd6d656956e00030c2401c340eb887b6119794f8bb0a6a679b49ec564c3eec67b6de00b80f7d972f7ea6f89e9d0d2c693fcc2e6bd449988cd778e1d395b0ef823f6249ff9f3dc2c9a6f1cfb295367c50773a025ca7e3b74a258ffed0fe64147acbd78e844a3d3070b5f92b586b0ea8f643e5a11e2310a91fc9f7e10b9fa6ae69cbdd9d8cb369e1212360796218d024f8f856ee79e399976bb17e4fb85cc7b091c07d49077f668ea6de8e7fa763ecb16b8812d27aee47f9b2e7ad9bc2d3da76ad2fcf7e71bde6424c3f2f63fa09f6527ecc8369ebfe66d2e21ce3b7b24f5761dbc22763e8b16d0fd4adc70233e3eadb117699b5ab285089c1d80427e4ea0a5a545a6b32c024498168047053b59c6f05c4608faee5f82f7d72689bdab3be9ed8fa8637410b20cfba8490c43ef00ab01780b74604923cc23f54938c40f9c9a6a1a99db1f294d33e5adecef0fa357db0cda1460c80be3f78749b9281161b943b9f0042f2ca63f2c46ca4c84c5f787c54b9f986f876859f986bcf0fefef0c1c9034f0e61f1b9f4533cdf01be57f22582ac03a2fa8591e08a0cd2128e335a19dfbf72203ba5a772e9b0164a453529cea038cabb519039208e46befa6a4a33327bdbdd7c804ee57984e61824083f6004300218018cc0484240799f0050644458cb71f9f2e5bb77ef7a7a7a8e1f3f3082545f5e0695e4b8ccb36d2fab912daca1eb7d27f9bbd44211d273087e4d3fe5f895ab277f1005adf1b3263a046da2aeb6f4b42a3d233dd4dc5e9573f2600ed2d3e3a07661556e81c0dbca40aba3ab57d4959356c5d233e2a06661637afc69f3c88526dafd5dbdbd9a7d1cd08aa5c5c447f7f7eb39da59e7341481160e2f4d81a4db27bf4b2b16193978b9ea57a75dc93978da7ccd1b7677927fb80a2e0987eb339df83dfd16a5205539390340d7d6cd0ca5558b2ffee7f3eb56eef3e77b1bb390ee447b334e4eb91071ccb8531c274ed23315e55495ff9e2b7035d5476d59e985bd06b35e1ad3cfac8ba2c475dcfe2e3e4d848cbc825dab53d2724e1e365fb3da8e1a47c6611002bdbdbd60dd421844953e80b7090c03ad63ea3cdde8f415feb731052ef3e7fb99336b77a00fa0f6d3bfa4dbf984060b7f3b7e25bdc4c7c59e5df5f30fc90d7aaee19be6f65c3ef66dda5111fbddb72759f6a65dac6af2d7376a2bc8afeb15d7d535bc31c6b8f3566e9de1ac4503a580c1dddbd55a8934e1745d986d20bb72529389c93e4bbddb7e3e9e73ade295001b1daa4cf1d5c434c267e95261cacf57d2aff9b804b06bd30fa6de76098e986f56fdff628f27655b85ba1ab1b4477535de4e6fb40c0e5d6a666bd25721913cc56f4e76fe8fe5fad35704f3268ce92f3a7338f5b63038629359f5c9d8e3f1d95691ae46b5870fa6359a7945ac9851957c38b10ee9511d4baea3c28c8448243f21c0c0064426324a0ae30bf0cd22085d991bf050f5014b784863f8a1043e994c8faa259d9f18a49b0ad2a074eac1cc3dfca3a655664af421088fde1c4308c6648c004600238011780e10602c33854fda0819f8686a6a3a7dfa34ac5196b1117d305c0b0b1834ea3b64343ad25d9a096e00d25bf1f1ea19331645047381edeead8abebe7e18e384e012bae9b34f3e994e2fd49fbee2f3cf3edbe40273f0e2aa56611f6c52a638f45c37edf8ec93e80f1da841ce8af2eaee7e44d3e92152090f15d798123c1b8678817fe5d2397ddd77af1443b99c59fe73667bf120aba8a2aabdaffa26a50c27f4c335f3e6ad5c359d6267c6f00794ee24fd376ef2b20225505bf9d583b1ffb9562dec31e4cd73a5985d0257cde119f759cfa6941117dcaaefeb2bbd7a478ca687f8911d127316a6044a2f5fa18ae1ce9a336326cf0c447596d5b70f1481635204a04b89e9d0a314183a304879fbfa5a462ffae4f360172351ddcda3fb62ce16dca39328e3187ad1da79ae33828238300adfd22eac2e6840ac151f2f3563b16cfc57fbe8a1f28cdc0ed3695608e5d7b5f6b557dda57a2bbadd24e81356dd12b3bcbcc60e94025d93ea69d4003c849e1ef06f977ef9fe3ce719c1d359a8aca485a252e99cd0cd5fce73767e33c81589cb5a847dd577f2c1a49a66a1d1a1616ccf420d8dd49b40f755a3f7b647ce707536d62465927b0d6d6b96c1a2000040004944415427c2aa263b177b1b0bcd6e61517e033273b5d082acd41294465224acbcd380382bd60699b00c3d96ad9fce81d54ff4641355b45a81ae845a9c9809238011c0086004300218018cc030101833668cc29c008b03b67cbbb019962b180e12c4d181f51908095b6aca6b46217d6363848ac8aaca4e644fb3194d7366959656d3e397468ed6646929a9439b30041844428a45cfc18d555c5a8ab4c700a51d35f74bdc003a3b2c8190193cc2869a4e7ac854545b598d38064cb989ffb7259161d5e8d3edd3a4ce5841acd1c2f2aa56d405769a8a20ac2e330c5a1ffd5a213f76eff166d475f1f88549135eef1651cca296ca6a16ec9b339ce9665470a5f9f6cd1c71eb0dc4729d632114340ec832184d29292c4adc1225297c14b59c41657103b9fe9c319865820016bf42f561b47bf4e8d1838982ca52bd192b3e995e9f19bb33213fe5b8aded7b765a602273a0179557d5222d127a83c6685d0e0b8645b57a1a2a1bc1666fed7270d04bcfe9ed6d327c998b8ee6d754f5e78bad82978effede7bceaaa9e7cc4729bd2dfdc3ab824d993588c1c66d81597572134aa4f0b698c6254ea818d240efdc55575689418fa83c6680e62b160db4975dcfffd9bc96ba4cd0ccd02a79da9403251261ba7ef6a6eed06be6e614303f41b0eec7540d517fe6fe70526af364b9b431f59d5432dae832a68c0c7a07e2fd36fe888ecc5189a05a76004300218018c004600238011188c8064c4538e480d6d4a0d352d2d2d1e8f079b3861e5863ca7d5542eba54232e39935db38a672a6784480c3c8e3ea7af4f889a9b6171346299734dfafaf3a8227abaef35c3e267bab49e9e1681344e8dd44bb276f7000758436d9463c0e29ae9f733aba3b558a0405d69039d971ac1953a0554026db753fcc11f46fb9a33d30fdd7525390c737737c52e14d223c3f4e82f43977e365794341b9a4dffe473ad0f3f49108beb6082428736c4b4b4b4a96aa0664b9f59ac2b891db72e66c33aded000310cf923a61694e6305f40956d15bce37f7c1999dded75e575f8ca3629c0d26fe85760f143907530690a92d1e5bb194282aa3281ce58dec6f0aaff89cd686bebee232813b9eb5eb32ea0decf6c1beeeb17d3db8735fbe8992a32afba1d41c7edbb67e3ee80e2cf25578ab961cb9d0cabd05e2a6ee61328827e272b586a73d323f054ab777735f71110a17b00dd5ba898582480e90119b5bf4fdc03abe21c3edfb5469f16d5d7dd5e5c5e47737677c0f4004d6444d0923599385d3b8d1ee8530e4b77ad994173a1eef69aaadbf255d084a9090883a1607887fc947b0987e4c10918018c004600238011c00860040621a06c93c9285656562fbffc327332898cc8641618fbfb995d80e5f5978eeeab78c9d3c94cafabbd22fb4abde707ebfdac506279fbd1f80b01d3c65d3945d9ff8eee766dfd22dab681279024f13360fdc3405c1a6bbf9ef09be1ecf1f5d9799475cdb5d31369345365b6e79e38dd04f309f7a8075a0a9881144bfb1dfe4d7d8fe933e77059478bc4c7f7ec6a7cc555bfb736bf9cedb770968b1eca686f3ff6fd31eed8f6825289692e2d9f16242e3ffef31fe3a63a598e2baeb9914909e470278fe92feda1a2c557ce193b4cb6351b53c77ec94d2ff10a2580fb066f545b35b82dfd921af5f77367fbb1ae2682a47ffda7d1cd4ebfb6281f76954e35c31b056884e53e06212f479745a95e20f542c575d7d30a34dd5eb637ee2fbc9c7603a68bb8d67afd9d946fd94ff51cea8b31afd9e6ce1c74fd58526ed89ca9dd25195935c8cccf43abbf5fcb9ac74105b0ddc3ddbabf8935c508fdd18c58eeeee33a48b9091daa2f51e5d30533dee8286acb003da5034d4cd1071824cc3dfdfdf6ee6ee87ac6bfbf4e7ac3c79ed575afae4bdbca545f9e93962927b90709db5b3afac7e820366fbad1b58c9fbf4e12f9388eebaaabeed236b333b442e87a7252ee1b9ee36fa526de1023987493144cc9787078613c01319c345a2f82a587e35c2671d5a9557d71011aef305eb2bb780029515d5965b729d772f03afa81f48e92c2321d4be7f1446b61e1bd8993b84a0206589f69ecd9ea39ece678a658e1c2310218018c004660d808288f3b0205ac7f383fd4cccc0cc42933005158dffafac6cff57fdc7f3ca7bce2c6a50ab0d320b0eccc594df6eb3735ecfa7746f98dc44a8ae4e0b76285b3567135a9c5fca85303a4cca209d8fd2b17d7843901dae0e26815a59f29a0c419057fb852bba95c64efeda277f5667b6b69a99e8babd5cd9c72980da0b4d2b6f673d04b2c68b9969e3a7dca14d7359b5af6c5a615545e4aa50a4663a673da7b02d78516442734b7d514b4e9591971ca9b852c0e35b7403130813346d85e7fe3523d5303c4b15aba21a8a7a5cac6db4fef7a624bc1b53305c2356b7c509370961ff74a629199cf1bba95cdd474051a25ab51f3e8199bde6b8ffd21ad2aef52153df731dd0de644285f02077904a05f555757c375ab0ad302f008934e90040cb2d6e1e87617e55d29ca4ba725b0a62f8db4213b6a195b9d1e6687fe027d8ac5d26c1fe5f0e17b3efffa363daee812301bb904af7d7d6c55394c1f59812b7805b9daa1d666d2ccd9085d10ba3811f52d83f7b853dd91c5acca1f0502c59205fad489411c16d55be418d028aa97b2389a7d3d56811b82853b8f9f8b2b38070274a7beb5dc44579e1388728fdad37cb857d3cec4ed66bff6eebbb302ff1adcfed5f173bfd05991d35b1116369eef795dff36e3d2cf4530b9e4c2e5dcaca78b06216a0615f32c6ae67c2c6c7c3edfdbdb9bc562def2471149a6eddd9bf377412fb20b6f52b8f74aa55832d19f23fa42b8f865458bffce2e8df4ee9cf73fe4a9cc86c8ab5f9a9db6c8fc289438bac3b5d8bf7a8baba200d5f91e44155e4b481379cef2b260268b1ec4ae98ae94fd49e92929b8f0d857c793cdd7ef971d63aaa0d0709b43213b7ec408600430021881a78d009853705d2bd855605dc11184cca20b78043d200e9f30d008c60d04b8f0f5d4a953eeeeeeca2a020fc3ac9c244731b0b431d11e256a6a6e87db79397afafada1a2d9545f562236bcb71848804734b4b5b5b43d856595e2342bad67059d0a8beb6aac29a0e55f1cac286fa2bfffef19adef4f7ff7799535b5b17479fe869aaae68ec44c8d86ed2d89e8e36a4afab25ead7626bf689da0a4b6bc0fab2e44ed4eeeee8429c8a8a62c41e636561cce9276159118ba3adad49561596f518995b99b03bda842c7d5d76df28cd51a88f14149631a7fed055d19930c9429b6c6ba3d60e71f4c6eab3db1b6aaa9b3b754d2c271a6975b4f570f4358b0b4a61cbc0d5c4effea8357aff7fff4bb39a59a1245f0b3466a295b13e07e450ebc7b5b54958d552db2187158e52085cbf7e1dfad5d4a953c1c9941ff00622f45b480522a43260e98cb7b618a3092d03bb8b3963c76ab637955637229d890e16fa6d55053580aecec44916fa3d82aad2da8e3113adc7eb6b7675f5409f2350574d71058dbe81cda4096c44f5840e490f14d51694d2bb47065a4477828db901aa2a28051e1b07f3516db5c535c042c5b54482c2d25a390644c7b5049585b59dc8c4d2c6487b541b74128eb6661fd527e539a100f9c7f156dc31acee2ea42dae07e5752ded266a23b20d363d686bc35b515ad331d1da5e5f5304bd575f474baca9358a2e5a4f0fde2bc9eb7ce5ca15008a09201c22f00988c12580f03a3f634f60e1c285a06b646424b41ff3e76600e0e1c7c415f13b5cc5eb9ade56679cbebdae4e64643a4e6193099c1dfbad6f6ac7def7d73ba82e9fcc8d314b9a98f9d1422271876bd11bd5ff70794c9e40825922991ef40e17363a3d44102a667f527ad2ba91b762cc7e9998b93e7492e17d741d5673dc470e4ec208600430021881a780c0703d013737b747d24a47cf88800db3fde26e91a01dac764960ebe9c12f332c9eee845375d40b5a82acd8f8eb2ca790f7bc271a188c16cb8b83a521060670ff68bb9234b69ec168246e9716cdd6d183bd977d62f982750c0c58e00028e795ea0a79d85a2c0d24ee6e16c82fee878ca3c4245585facbc712731b39aecba3666bd70cd452a162a00b01b315dded4316a590e1cff62810084a4b4bebebebe14a2c85baebeaeac231b536363606d0d0b2c0d6312058e0d0f67436ab81a98e9e1eb87af24d2f13f4c4229486a3c4e2ee4e353a3a74ced1b02940ca49f5d551d0e96404c4f45e815c270434d4f4041e7d30fe5131823b903ffffc73131393f5ebd70fdc0fa728b5a3f0263f2de2dad87deb432debf685fee69d10e14820b22271ef5e56f8b637196b9c24d59a50eb2a4e3cf4df319aa63cbb4dd133ed24867c257fef996d6b100287f2ba663055bc98be1a5806108886a336e16058f86342154395455d5d210d5549dbb2d6eea6d6fe2dd86eb3f31d0f902bc84b7bcfbf2193221966ed9c6b0124f26eecdbd7912fdabe1d38b58e64f9c3240059c49fef537b1bd8d69c3881fa9c22dcb6064e8627b2f2f7288f8a23109ba2937af4752703ce70b2abd0f3e6b1afcede329fb3d2d7c5d214a4aa17e49097dafd8569a744ce76739847b240cde678a8d2d5d311736104300218018cc05347407e68f6610aef686b5234ea2831303a4e5d70339cc0b65fb02162260ccc770a9a5a5b1573b7b5aa3eee856c1bc44a762897db314456a972541e55754003196d672e09f7e833b130a9a64e95192a28e83214db9f970ee6be83830397cb85316c0514601c199696c046df411d92ec18d4ba0a79141f3b604ae66987e168a8d039151e4173658afad59119baea6779229c0d0d0d7ffffbdf6d6d6dc11f90bb464e5c5d917bf918ffeee79dc859c77ef39c572c6110baacf9f726e64517931da26f90681b75efaffa41db2e60c9615eea429bd68e682697b88e0f6e80d5bf5afcecea92163a327f33f20fc524470c1a43b0cfdcb870924370264bc7125c82d71664ba4f9414dc9bb1e5e2da86b159c5338d516d76660b2596bc16e2dfb0fcc48ca34e3a29dbcf79445da88e9905a71fe465f6342e98545c6d9bb92565514a49f56a1ec19d71b2b8f647bbcb28fae5e54e63e0ca3926fb7c8f8ae52766c64c332f4a39ee33857fbb7aae81fad909157adafb055408f8c9aedf24234d8b03bede7eee96c450c8a9449e41ab20f51d9105ff4da9eb4daad91cc3299d29087f6204300218018cc0f38b80b24df6ac7415b40b271819a19e0e388aff59e93054b9a3f40d4cb534848d7031c2502c98ae160260eb43b80febf3d321efa3e47398f4bc78020c34e00fc0622f992770f3507472442ffa60f2a2ea105bfac0548a8d84f3b724277031da4b8fe3a265383392eeff4968eb9a72b41075442b1dbaeb0b10fa7ee6544316329cb6d82795f6f05d9644b92c9172c87d4f9ac4a39f4c1d27994ac8e49dffb71fed499f69411d6b6ceb359b2293554db7915ee0345b88fbae32411ead0d31c804ae8140e8e3d0696080bb2dd043db9bc8d5e0c67008629cc9142430184710927d02747674627f56e67ec4a64ebb22ab4804c6b79ad9618d99b29e8481f3bcbfc03f540fb757bba61d426936991b4327a9584ba51a79bab62569a73a91d5721770c92441cde650bf74a960fc8d11c0086004300218013510e868aded6006f1d4607eba2cadf5b5cfa9664f17075cda738bc0f3e209b0d9ecc0c0c0f9f3e733878e3178d9bf11c28be5df8cb873e4f7af2cfee6eee1ed6d0b0be9e8c0e8ddd0d08a9c074c522ae51609cbf054d8b64c36353e650b7e0a4fc71eff672b1bee7fa383f8aed8f1c7c8799643cb7ec0a95fbdd2f985514c1dd8b0403193becf84960fa94ae3f37a3b77ced217c14903a3a3776a52c3f7d45488fad919c5e53f61a4ffeae56397a83996e0b1f62b3d5e19a23a43235f7436b473225f714fb67acda16ee9f21ae3384600238011c0083c9f0834360e3a51f1f954126b8511f873226004b364ea8567ef09c07e0e7f7fffd0d0d0415b3d68ed090387394be01f09278466c55f3af2ceef1699eb974ed23540bdb977eb5c5c889bc94dc8609caca6ba960e089dbe5ad13ac784600db9ee856127c106efa52c6bcafc1e3dde1aa1b9b915615e9664616abaa62fc533d13b60813d657a4b03cbc864083780305fb5e0fa7b3ffe3167d32c02b514e535983b4d268c6174bf945fd412c825f2521a90a789b15490aa6f2d6327b43bbb640117762053931c4cf6ec2a6120773c22eb8b8adbcc9df4955c059924c5ecb204f9c8cd435f244720937d331695804f25a94b5962d4ca2cdfbd0165619f92717b1da21da3c34a5382ac55226f5871e9541b325be8229d0ca11455b73954962eaf1e8e6304300218018cc0084260faf4e923485bac2a46e04f8500ecb156b3becfd81378f5d557172f5e6c4c5d2a7e9f40584ef2b6dcec8dfed6d141ddc2adcb8bd539e7fbcd97700c549826b5e0461608e757f75d3ae7baeb1662fb57470d71be2779f63d4e397d6430fa70cc7fe0ccd85dc2398e01de8bd75f5ac5b9458b626eadd635e03a4ad7c2cb4a1822a21fb0d3edd3b7b3edcc0e510c8b2614c74c46061e593fddf3f049594b91b4526ffbaab0e3a7c8563671dc569b20ff7cbb0df90b764efd3a740a64cf496d73f53947674768d584e2adcc8deb943849b84f76298bfcb763f046c725ba0a4d4e9259e9653cb2b5e07a3a6c91363d8cd28306dc1f05e4cbce060a4cce868c97178aacd56c0e1755a50f92841f300218018c004660e42000077e8c1c65b1a618018c806a049ef129a2aa9552834a92ad62a4ab2bdb3ca0469607b2883ac86e44e80d31eeffc0ecc04092b057184e18923b099484b3087a0902f6013f5c10922418e6fa0421f3191e4ece63c8557d75ef4f73586f37ada22e8c191c9e44730c2e013f6104300218018cc0934560b8a788ce9e4def8a7bb24a61e918018cc0432230624e117db8fa11c4e0ed010f2765702eb62ef180a5fe83f9959f5458fcc47d96f4280b50a6c0666239bf4239fd2952ccdcc33f6a525dde93680ed525612a4600238011c0083c1f080c3ab471b82a919d029198c562ebe8a8982f572d4c507aeef77c7d9b19ee8e635533602a46e04544004684618c191cf5c4c444a85f5050105cafc610ef535de6fab0fb30c89214968ac8e8388211c0086004300218018c0046604804940f6d54a6c832cb5d1eda79ed9703fcb22e4912db695d44803ade406fdb9d6b7979449f8bdbe4879e6697a983231881e121b067cf1ec8b076ad64c9b63a99bff9e61b60fbe0830fd4890c2510f6e5272525797b7b1b1a1a32be3798f8b76fdfbe74e9121cb4739fd5f5b00b7728990a74ec092800821f310218018c004600238011183602e0062424247476aab847178c98b7de7a8b91d87ced0cb8012c23d7654b5f6135e767e7ebc0c4773faafc794742adf64bebd7bc3e945dc2a2a7edb5d843a50f5b619c0123f094118053f22b2b998daa6a950c03ffe0067477779f3b770e96fa30797efbedb736fa2234487afbedb761ba402d594333e1376a686c700a4600238011c008600430024320a03c03f0f2cb2f9f3f7f5e99ddd3d353c6dc23a46f73d533b43435e598593abaf5b75497251f3c560bd9ba6eec8a69d8b0d6f3c8b7c98dc874fe7b0b2d2823a5f9f4373fb5d82d78c74d22981645de387b9c7fbb0e8e01d436770d5be44b1ff001c493976e57d16776b35d43def5b578542349b92e98f2e74480198f977563754058bd7a35b0411659a4a2a2e2fdf7df97a7c892540a8413f65f7ffdf553a74e41aaec2c2059049280612895d49f1318a5b2ec114814571466fd71332ba7b0487621c0fd6b515f5c504fdf20a6c026aa2b2baa18383d472115a18e92c25bf5547a6b6161912a014a39d425f40a2aef08a8d34d1f637868994fae9a8fb17658144600238011c0083c3304c0365208d6d6d6b0825981c8e572c78f1f2f233ab85316bdb8fcfce75bfe79ecc2f5aaaadace7e3d473b6bba1a1c8797a6f4eb4eb1d01489baca734b04904b909755d8d5cbf59ad2df4fb3d082f24e7c9776bbcec0c1cb6fba555755cec1d34540eea9cc4a0337c0c8257469e874070b037d8eac501cc1083c7d04fe4307f972a107034d9ea2cc239f0a1308a3478f86d90020c2d8ff9b7480083c02119280419e5f3e4ebf2d6a7d3ce33981bd7bf75ebc785141d3f0f0f09933672a101ff428be7b2e2be7ef825e6467dbc455e3f04f32738da3e80be1e29715070cca0edba477e7703fe4a92e912c38e279da22931b4a9c3aee59ec5fbd6588b34a55e7be2fb52dc123bb31d56493d343ac80145e4b481379cef2b2904c1e490b7a58994fb09a52d5f0374600238011c0088c6404540e46ce9831a3b6b6562c960cca81b1e2e6e626cfd96ae2bf798570db0f19e2deb6ab670edec89bf99720af29c1b38d328b9af55c572e9d5353d9f28a1f3733b1a8e8f7823e3bded50b77909e5780596f4b1103567f5ff7dd2bc530eecf99e53fc77d5476fa95725145557b9f8dae561fc5d125e81c3d7ed1ea357d9d8dd5f7a4bb114632ce58f7678500d8a80a4533bb05182218ab0aa90a8f60970345bef33314b0fe57ad5ac5302bf3c80b81f53fb2473876dfd6d6161e2102b304adadad478f1e8547500322f7eedd6338c78d1b17121222cba54ee419cf092c5ab44861fe424f4fcfcbcb4b1dd507f3107ee19191399381a8de1609c2ef40addf54453700b2b3757dd068157469712c385f88f69fe043f3b13a526396df9eb9ceee21dc004ab5e20ded45222da992b2ef8796f9e4aa29d30d47300218018c0046e04543007ec45d5c5c64b59a366d1a8733e804bceea6ea7efba01d5f6d0a76a1ee40edaeb878aef85e434d273de22faaadac065b5e7b9a3795d69a9f7333e306895c82fc84f2363dc7809e3d1726fedf967fc424513e87461f1c00ce719a3ddd8885c88ad371fffe70e32709b9f80a64593be0c8334000cc7d99c5af50fcfefdfb19ca7d7814b2c0236c1b80a04c5fbe7c39f396c127c49519ee4f79aca6ecfd8b52953a76ec583f3fbfd4d4545922eccb56f00de8a48ec29bfcb4886b63f7ad0fb5acdb17fa9b7742842301ef7be2debdacf06d6f32963b494a062164d25446ba8a130ffd778ca629cf6e53f44c3b89d15fc9df7b66db1a84a622745d3398ca27a630678c7ee691ba298085c4301041154395d52b298fbc1bfb767691b9e691233d688a4eead1794e06e08f0833f69d5ef4690f9579815eface37b974519519673c16b502cd730af2dde81e1140dd174656f2df7eb7de983b3a7493fe6c665c9f92791df9a2eddb4182d6912c7f7abc5f854cb2883fdfa7f636485973e204ea738a70db1a4879442a64c23ab3bcb4f7fc1b3221798161d6ceb9d4124ad505a9a8e6cd635f9dbd653e67a5af8ba52908c001238011c0086004fecc08c80f76cae3e0e4e4545454049b1a6178d2dede5e99ada5aea2457bccf4159f68eddf945020acab69ed9b0c836c10b4587d7df023dbdcce9dc5652516b55c3cdf82582e73278b3beafa64c37c7dcc3221c40afe30dad79c1902ebaebb5bdede3c66d1273be657649f3c9670a5bceb5af215b7553e8c5c79f5701c23a02602b01f57c6f9e38f3f425cdece56eed8326626f2edb7df42e4bdf7de93459819002675dfbe7df2490a799947460118f2170a855959591e1e1e408708c801a39f19fb0735bababa962e5d7ae4c811185e87b87c292ac52a109fb12700da040707a7a7a78b44d40e1ff8abe1ecec2ca7a2b8ba22f7f231feddcf3b91b38efde639af58c2350265cdbf37313e9198ec107d8344db90c49c97cb799fa8b65dc092c3bcd48536ad1dd10c9bb88e0f6e80d5bf5afcecea92163a52763a42f98762922328ad64c13e73e3c2490ec1992c1d4b70095e5b90e93e5152704f5e665fe3765bb85a38efc019fff7f8c547fd20c5c48b7bbb78b201813262137da22e14c7cc220459e006ec49f509b4eb8cb5bb9ad4d613414b272c66fc74b2f647bbcb951be9910e8a08327b1a174c2aaeb6cddc92b228a5a47a35b56049854cee8c93c5545e14fdf2726a65916481900a99e4b510ff86e527661c75d249d97ece23ea4275cc2cd505112aaa69ef175021e027bb7e938c342d0ef87afbb95b3ef28e75baf6f803238011c0086004461e0243191c706028ac1182134e18c34581adfae2f14bede35e72b02c13555c2a1042b51ddc26f7f79451236bed77f837f53d9ced5167f34bde6e894557806635ffb5d1b56d702091649f0044341de77059478bc4c7f7ec6a7cc555bfb736bf9ced37672a2a49fbf709e4f19a9ba395c995f27234769c5e7fffa05ff1918731d6f85922a0309d05aa807f0b9b5e189d143af6508acad8200203ccf247fd8087f0eebbef7ef7dd77321e0521b019a0a0a000dc00a0c371a2274f9e943100b1a6a6c6c1c1a1a7a707b2c332bc75ebd6c19221d9c23c19e70323cfde13807ace9d3b97b92e012604e48e1c46370f452747f4a20f262faa0eb1955d274cc2fa1fc9d000a3bd6c9c80aaadbc1f3164ed096d5d538e16ea963274d71720f4fdcca9862c64386db14f2abd11d8654994cb122987dcf7a44994458e90a9e324531919e6203f0ea5f61c4c9b3d1e7d5c5f4c222762341bb5ed8e3a9d2d42c6d4142535394036c225c463e7384d8478c0f6ab498c434349811bc4c6994c41022a2e09b4cc6920d36d811edade44ae06874785cc81bc06e308427e9f80a24cb2aae936d20b9c46ad33f35d65823c5a1b629009742f4a7985827495ab491838cffb0bfc43f515bf1d724d3b84d26c3237864e8229591c300218018c0046e04f87c07dc6444d4d4d7d7d7dc78c19a3cc63c841f76edc38577a83c1cbca6b6990554f55bbb59f835e6241cbb5f4d4e953ec60525d68e7c545578a90d9bce97a4d15d48fe828e9cadcbe8e26d7359b5af6c5a615545e4aada4e48c99cee9eb63197657145da928ba44515866c16fcd1ad5d3406f1da0083860041e0501c658874fe52e3d94d8a8a82848aaabab9345e0a81f05a31f9c818f3ffe1878540a01c70336d33259c085609606c922903471e244900979e1a4d186860695421e487cf69e00a8f8c61b6fc00221b81f61f2e4c9f21adbbf11c28be5df8cb873e4f7af2cfee6eee1ed6d0b03ec7460f46e686845ce304b20176e913072f028c6a964c10f4285a7638fffb3956d2f81487c57ecf863e43ccb21654b3493e95279d1c3bff6dbd419ff6337aeea6cea8958d960bf8ce38191518c4cb6c1689449671f5a260c7b282af040f1a8573a58a25490eabc304573f5f2b14bd4144df058fb951eaf0c8d866a01988a11c008600430027f0e04cccdcd5556d47ae15f772d1235b5096153b1def8b16cb2bda60cf606e8ce58fdd9ecee8e2ec4a9a828868c4d59178b1032f29a6752df584f0b22ec8377ed5ad2276a2b2cada9aa14bfbefa9305fd649b10b138dada9a64556159bff55bbb762d83d511f03baeafcdee6aaead7848d348a5e2988811181e0232fb5e1691cf0f770b308b7f54a6329c60f4c37aa49f7efa090e0c8571f383070f021daee6000fe1d75f7f85ec307aaee05ac817a166fcb9f004747474a06283d70551fa13060e7396c03fb2a2f06a56fca523effc6e91b97ee9245d03d49b7bb7cec585b899dc840cc6c9aaaa6be980d0e9ab15ad734c08d60316ae50a775f6221893a7ece7d1e3ad119a9b5b11e6654916a6a66bfa5222277a072cb01f18b4871106239321dd006384f69dbd131338b928ef1efc0982dd07a4086673f43c9d6c09549397d283a89d03883086d53ba5678bea03cd3bcfff880c565305d101d411825d2e12c14405c407cd73487954cba453b58c9dd0eeec92055c176220afa24cc218660c4af9452d815c222fa501799a80daea879b87be488e4026fb662c2a01976c4828d4178839310218018c004660e422a0fee0a87c1d6b4bee34ebe8e9b0b534345053f1ed76c988545b59611b5b0fc6bd5a68b1f5274f5f8319ef79fe66b5b5354cf6b6ea92dbe0323041d8545ad8c4d6d183e5027d2db5659db494da92dbcd6cbdd1a3e12c94aab276292bfec6083c2a02b0f6e61ffff80748696a6a82d1f7871607563bcc0040f6eddbb7c3dd02b0bce781a2582c16ac978142cbcbcb19a31fdc002b2b2b20c22d7e0fb11648b9c4e7c21300b50202029495935208cb49de969bbdd1df3a3a0830407579b13ae77cbff912219d304d6a758b2c10ceafeebb74ce75d72dc4f6af8e1ae27c4ff2ec7b9c727a3a117d38e63fb0067197708e6380f7e2f59756716ed1a2468fa6be740db88e6a1c472a2bfcc8da6cf807139847b25ea1dc0beee4ed9e97a7981d82e88245083146b78147d6917b1e3ee798ebaa3d2599db92d69c5e7b827ef03ff729427bd2e7052a0ca64ca11d099532a97c1cb7d526c83fdf6e43fe829d53bf0e9d028bd954c8e47a64fd04a5a7d0a56ba5def6a5f4540874410a34e6d13178a3e312dde7a5c7a8541113310218018c0046e06921f0d0839164471b49afc255d0946c6b950cbf11b64b2222fab48c4cdaabab24fb831578a9474a8e029924db541daea2c0851f3102c34200f6b2aa63b53f5026b8018c1ce6b26175de20d8060057890127dcd4f1c9279f40117060284c7cc13e0175b23f502560d0785c82d429ec31f29064ab18e9eaca360f3c0ed1a20eb21b117a0f31d84dde0eb1bb1d5d1c628e5a103146debc2649d8183066f0fc8464c83fefc0a14834f5d777c06a1f5e5025733812e0ef24ea2508989dc001238011c008600430021204aaabab610502ac37d0d0d08043fce01302b3790f22c00406030cd843002b044e349f3a154edb7b3281309c60a4add12faaa96d7a320560a9188167890098f5503cbc714f4e09232323d9eb7ce5ca15fa6da63ea044d9eb0c7bfae1751ea923bc0431787bc0e3c092ad4b3cec7163dd99a807e62695cd6b254a5b82d9e90d53b41618f49cc81c75e2f6a07d116a564249a69af9a46c84bebcaf22a5e26f8c004600238011c0083c1f0890adb535adcf872a580b8cc0e347e089fa00c35577a47a02c3ade793e52726e7648d53cfbed60f2d7ed5b3b1b54d84a2cda9034671c0086004300218018cc04844008e351c896a639d31027f0604604e40cd6a624f404da0eecfc631b15058d73f343f31dec2427218edd04c3805238011c00860043002cf3502afbefaea73addf73ae9cc2d9f2cfb9b658bd918680fad30ed81318696d8bf5c5086004300218018cc09347a0bdbd1df626c26e45280ac617e1a46f5ddd616fa4ab2bc8ada34ee933e439583f79959f46098fa346644a74c0dc8fd3a77e9d931bcedc50f43434c7656004542200676de10008c049f9b7aa4938835831908282fc0abc5a511116fc8c11c008600430022f3002e006949595d5d7d7c3a92910e0c8f3d2d252200eb3ca64414a5ca4ababab235ff1909f610a52839dcc8a8be1973d74396a667f1c35220ba23e4e3f53da82dd00359a15b33c710446c09cc0debd7be11e350524c2c3c367ce9ca9407c84c78e73aebf90fcf5ab5d143722df3d76385934cf31dcfd1184e3ac18018c004600238011184908c06c4047470773c608a3373cc2c600b8ff6738d5207c2363f8411e1a360f6da00fa3b482bf6c20f3c37d87916310ab7ad91f4b8de0cc131f6b53457b639036f80123f0b410180173028b162d82e3cce401d1d3d3f3f2f292a73c72dc7041c98a05f62a5e4b36dc08c61e01fed2232380056004300218018c00464082404b0b1c81ad185412654c64197f25754aa186062f2a577a3100a4c27a78190f1351e62ce3473359574645f9426c651c3317afcc89c8b268dfb0e868a6a895cc24005990c8d3e0fc05a1356101be3c8dc8f8028512e51feb72e3a922a8e09b42cf21a8ccde9ab597b7325ea23a5910a911c6677452af46f225aa8acb01a42a19d330024f0d8111e0098c1d3bd6cfcf4f1e11b8594dc137a0533b0a6f9efada676b4221bcac247f6ff49763b752ff56edcf97fe15aab819ff15431cfbbf672b24d48e8ac4af7cfef7fb8d89b90d03379d945c8a63b21f5fddab293de147509112cb64f789fd434065bf79ecabaf3e8bbf595127af1e8e6304300218018c0046604423002b8294f5574994b091b91e36b33d326be1ce81fc4f49d73112535e590852c54996a5a0ed99b5395ffff02519d792bffe8738ca4457c54951d30fa718460afb8567d6ff303bb1008a201c02b284a53b11dab9372e254b181de4a0a25ca9a229ae4b3cce537ab694eeb5a60700556637e47918feb0847115eaf87b77a1000f9a598564d57aaa600412dc86949bb8371d85994a4d0bd57c988a11785a088c8cd1eee0e0e0f4f474e66fd0b871e39c9d9de5f08125feb9978ff1ef7ede899c75ec37cf79c5125e5672fc2bafbd5ded6c46207ecc9727369eb2d9fd26813ab27cef1824ad58ed6d5d5f91db6c2091a16b19107ed6f9b8d9c1a6bf49f6098805294702cbed333f586079ef47b35f24f79a90597b5d2f5b9c5d11e16e9d7f3ae6846dbc65d34a7bbf800a013fd9f59b64a46971c0d7dbcfdd72f02d62727ae2284600238011c00860045e4c04c8b2dceb08c5c744f1114920b0ce61b03e9c273376e5ae2053c9098c534da980a61a5a1b3a78f898024c2a397908d5a1a9d12b29d91e61db51540119097182204c4da7a256435388dd1f62c3c5e8cbc828eba830b8568967c830abca4ef062b623d7bdb9fdd1bcf8b9bb3eca6c1924f741351aa8bbbc3664414c80e3c7e968f1a17caa863860049e030446862700d7a4cd9d3b3731311110830901e6ca4306bd9b87a293237ad10793175587d80e5c39cc62a3bae48dbf094488d5008c1d8c8daf138c4aff7ef4e7f50e8eeeeeae0387f913ba84a98e3322a5ed41d6d72164e73fc994854c5fd997789c3a3801755414c167cddea33148cc42305822804985970d9ce7fd05fea1fa8adf0eb9a61d426936991b43270dfb740569c9f81b238011c008600430022314819d7171e186d45a20626f1cd8e672b5b84e2d869123287216002f643475588cb2482a260b8a9cf44fb5d47e373445e903bc838b602490756565ad88b0b6b696964e04c50bf373b37273535c6de6ae3f5e1a13642d611da42145e3ad3c8326c03e87a00d687da9c28cc0836ac4c854fc241ca2f8fd9165f11c9bf04f83f80e529d14d9f03346e02922300256073168bcf1c61bdadada56565693270fba97d7fe8d105eec78cd6fee1c99f3d5cfa77f2ba117ed882b4e1df1bd36313c64756c84df4a1d24601c01dd79fb372e88e511a2b254d76fbe3e4dfde57960e81dc461b630367cc98e958b76ac0fafdee84abdc3302391752ce6ab38d7df45c163ed93e6f9586237601064f801238011c00860045e780408536b8436649591861008b2ac803a3b940984356f2ada402de8a72dfcfb704a7348330e2d5381937934e5a1b8ac0259b914912c08b37174b40992a352ba59f37cc356469f5f8ff875ad32512ab29bfa1e5f7178b6e792c587c2ad657ce0303c6c8d18198429cf0754931388a318816788c088f104e0bc82b7de7a0b260414c0220c1ce62c09ff6bd3474bf679b3ae5d3d62fbe5cf85adb00e0fa1f13c17ae01d17a37b9131930531f6449619d85cb6b0b9784bb7f80da067605809f404d1af48ae0c5a47c06c2601c42c597a98d045537e324fb0488f1a60855e756748c37301dcb262bee5601ebcd435ffce47a5660e9bca864e347fb23167abb8fc72ebe420be1478c00460023801178e11130f4adcdf97e89e3186a232e678c635cee408d0987b843eb836d381a9c95b9f0bbaa929330954c19180ee453cd29974e45a7ca7e74098fc843e82fae1c0d8db0b8022917614dc5062dd5c9fa1454a1c2ec5d2bf60eec28509ddd377c3b941119e02015487fab53a34119141ec046496fa5a64970c0083c7b043460d3ccb3d7e2316a4076741070f749d1cf0b0e56fe4ec96587219168f2bafd61baa8e3d8aa1d778f3385e9f8dc8ef0a0cc76792295649fb971e124dd9c6331a9abe9554120615f60e4421e2455dcfce9906f31931f7d3075ddb62082ec4084eec8586225d11b7f6104300218018c0046400502702929acc585f5b760255fb97285b696a90f60653ec16080b5f57d7d7d42a1f0d4a9536fbffdb69214e6a0a007aed5877c4f8253499d2108ea975d10e7eb98122e8c0f93391c43881c5e8df8d12b677f7cd8e7fb7cfecac13ec6d0d2710a46605808a8ff3abf709e801c4e1dd4cc80a1eee0d797243b608dbf8e1ae63b4c2c8890aec1c0de03463429204936d22514e97205e3284600238011c0086004461a02ea9b0e437b0223adcef7d1174e0ee538ee42e850be300cafe8bf0f5038e9b94440fdd7f9451eced685bb3b940201db8395882a090421d9933438953018b40d6a70227ec2086004300218018c0046e0054080b08e2a2dfdd4d4d410ffe8bf00ad89ab3034022fb2273074ad710a4600238011c008600430021881fb20007b9badef938c9330022f06022366c7f08b0137ae054600238011c0086004300218018c0046e03941007b02cf49436035300218018c004600238011c008600430024f1501ec095070938282fc0ad85e2c0b704bc0ad6a923a51f4b1849aebb937ffc8bd7dbdecb14954ad564749e1ad7aea5cb2d6c2c2a20e094f5b51d19d2777561929b85b54d9a25a9dc74055a9bcca6a3e86c2b0088c004600238011c008600430027f2a045e104f60efdebdcb94c2c58b17d56ccbbbc70e9f482e9263ee38e7fa4bf25da92d2d97f05051b22c35eecadf5d2f7dc8173e547e75339105473c7f49ab20e162b5e39e07ef32e63f59e2e3935dfcc45c81aaa4ab3e29e5ea6a385c3e95caabace67025637e8c004600238011c008600430027f7a045e104f60d1a2459a9a9af2ada9a7a7e7e5e5254fb94f9c6da089d8f29ba70d1794ac5860afe2e8a1fb08193a89f0fa3066c5d7878061908a436778d814161b21ba1af0a129adcf684f348aade67949c32f986d306a0a7bf4f0f3a99943a5f22aaba9a640cc8611c0086004300218018c004600232041e005f104c68e1debe7e727dfaa701bb1826f40a77614de3cf5b5cfd684426a2d50c9a5b82fc76e857fc7574b2e1206624745e2573efffbfdc6c45ce925c41597f67fb5e99464549dcc8af589c9bfdf107bddd94d61fff1d7807f71bbf870770113ba3b14f29097ff2561fbcf7b31b2a53c357fc47f4be7fd8fbfef45ea92632a2813c588ec809b51a401e2f4ba2331144745a8a75e9a426537467d3b228f9a991d32333b9e27e8a54810c83bdb428eee3b7082a61f3a5f494d579095bf47526c87cc5e3f91276026308419fb98bc87ccd69c2a9256a232e30c93d1636d9fc1809b5195b44dc2bce640968457b920f2eeb690138c28b292bf66cb05e0accc38c5088cdc76220414884c65ee7553a5bc8a6ade3cf6d5579fc5dfaca8a3eb863f300218018c004600238011c00860041e8c8074e0f8c19ccf3b477070707a7aba4844d9dee3c68d73767696d318d6fde75e3ec6bffb792772d6b1df3ce7154b43b120e54860b97de6070b2ceffd68f64b93945bd73220fcacf371b3834d7f93d8d2962e0ebd8169591fbde96b800a93f99d06d61603b6af349bf43be3af13ca5bbe9f7b2cce04d55de3b74aed6e8494c6cdc7fa4605ae891baf8b2e7fc139f757078bbd016c44e6fe7d89eea6dac5bea6f72a0a5a25595410f30fc52447c8bc0caa6cfa6a6487e04c968e25dc79f6da824cf789724a36ba5915c74c2e4e38e31f9256fcab3f9dd25b99d9b3db694c4eb12faabadba60f7ec0b5f91e15cb4fcc8c99665e9472dc670aff76f55c03844cbcb8b78b2783b99f119be81375a138661621f8dd6351eb9ef45703cd5b63edb2f992baf7666cb9b8b6616c56f14c63549b9d29db3ca05410ea399fd919c8e412759fd88f766e45a2aa4ef4313767f63d577f32ebb6dbfe29b955d1084a87a0a83ca1a29af67e0115027eb2eb37c948d3e280afb79fbb253e019a41187f6204300218018c00460023801118028117c713803bd2e7ce9d9b98980835850901b82f5d56e59b87a293237ad10793175587d84aef06eea0c68fedfc2799b290e92bfb128f3343d0541eb87bcc54c7194987bf113270e705a75d4d2bf05d68f8fb6a9109df5757265a21d25d907f0359ed0ab3a0ae2fb3f67a7370b296fc23c14675fcbf4677f4204d6a3f82c467d0b64055ff8a3a591766f7b2c7144bda62474899e8b224ca6589bc34497cd2241e1d33759c642a4b6e44e87f025f06594ebe13d0865ad833e0440b067aeac77e2610e74e330147a0a8e9364227f66765ee476cd403842a121910a3d9a86d77d4e96c1132860c141d918d6d08fd7ff6be032eaa63fb7fa4ed85a58a20d25caad4085644944d54c41215a308512349f43d35be1ff82cb1bc9760f22c49cc03ff51e38b266a3411a351344a10db62a28015448a14a52a8acad2ef52ffe7debb7defc2620bcacc4777e79e39e7cc99ef5c60cecc9919f3f1ce7d11ea3b757bfa31063af2f67f77a1edc9a3ec087d841cfddf94d68f942a02644d90ac77a47c1e96a69616f5c843cfcec479d0884c86ce66bca16a330913af49efc33ff4a0e4cc01dfb307d059879465a1ae6a3b4a5a29ce6004300218018c004600238011e8b108bc3e9e0074e1c489139392922c2c2c060c1820dfa32e1367f86c15642eb97de8e266bb9543fc02021ce5225a805336732f2f26cb137e9136e9fcd4bc21a60f1137c45b36c896b130b926fa4b65fa5fccd62c6c80613dfdd05212fffbda68d7afe2273a59dd3b4124ef63fc0e82ff7da3ed95d4c2ab897f2e9a90bef0eebbd379e099a812f34e6e3dfaa590e322eebe96fc16f77d5193ecd50e7c4d600301248ed23e05d5e1b8514ccc686311c405e96d8ad1a666d54bfff00bbaff7dd2f07f3af5293b95747cab32540a0b1354157445ca1faa1589196b1e92c883f64b40846c439696531038204df26ad518af54072cfb5c4d3bf227b5ec1362ee12e137523d1a4a92f811238011c0086004300218018c40cf44806588f6ea02c1e572df79e71d5810506a0261e2363e7ce1f2c71f87ef0cd0b976f590e3173fe70909933e0815a651b1f865997b64fb04e848fb3a2ad05e0445e20021136f7e6f547cd437437b33df5549bbfca321cfc90e157f2fa8a588e4ed8c5ce988d6c00e66eb97de2a245b9aa8417f5355054261ee0379468664d1e9bd885a43a0444a732aac87f2c72fdae4f506aa2ba53633b012ad0382a7ec9c367ee564e6dfa49d338658aa75032c10da79ea36282a48b98f10d75632f0a695cb3e080b8810aabd5ed66862d2d784d35456489d474a525e81d1084f4782a8cb4a6c46b0b51a5c13632e428faf535b0bee5ddf27d92740d8ce9f8216efbb42350f551564a93fba942006a1b6f3850f80edfaa97a46a7cc0ec59c86c6671e58bfdff754b5bdd7cc3bcb3edeb5647ac090be6a9aa9a81e3f6104300218018c004600238011e8b908bc566b02d08dc1c1c1ea3b93b0770db0ff2400adacab230c75d0e4a09d0549be5f5ca50538118c5cdd91f95fe71fa5f3fcff7d218ebf8741b6b3df560e84e6fb4e64c26f1866d54f82bf2547f8a1fb8120bac8f1a8dd0e373193a1db885991298bf4f3d0ac8023711e0383fb99391c0b5a0da57a8e039164189fbdd9a1b8949198376cb95856956868e2ecce04d18bb577f0a50dd3f487165f877fc0b43f35485e4e6106dfc4ef46528d6fe039b12335bf5fe13a17c279c0c611691e36074076ca4c6af731952c47276d3f1ae4174f3fa02973996fe3e09841d173ae3bd1cc68663fd899c014c0a74245a8ffd498eb4141e7a2119a39534bac53ba5e216f1feac878a972c8b8872c730f873ec509238011c0086004300218018c00464053047ab5b7b76bcafb3af291a450840c4d249b079e57131be893820cc433fd6ab5526c7a8481623491a8896c6a42fa860a36b112d5ea652b20c92a4498693051de08271221644c10b250224a1699296dc1a5890a6c4cb5349d20a8dd021d2575e2ac3214b346c6b34a63224600238011c008748e40797939ecb8835d76bd7af5ba7cf9327c32092421039f3060f0f3f36b6b6b6b6c6c3c71e2c49c39733a578a3930021881bf0201cd7f9c7bfa2c2a41986a3038ee721f76ea03301a59d9387a84ea01fdacc42e994510669af1ebab0ee25965598950853aba52ed1ab231525d6256aa083f6204300218018c004600238011c008b022f05aed13606d21266204300218018c004600238011c00860043002aa08604f4015134cc1086004300218018c004600238011c008bcfe08e88c5893f7fab712b710238011c0086004300218810e1138fc119c0b8713460023d0b310e8e9fb04ba776f7316cd32efaf8b9a9a9bf71daccc7f81b67223df31acb8f9e0609df14a7f4eeaa5ca0bf7bb5419ab9dac4456b59a73b28a7743e233e2d90d5b844dc2086004300218018c0046e03544a007450779dabd88bdc12ff49dd0f672d40ff4301c3790ebf242eb71370a1b6c326b9081cbb0de2183cdc69a76b532563b5989ac9a35e7641507a241cc52c76d93bacd6cd6b3e2a9ae9962faca25ce29ebec8777c2858b310218018cc0cb45803e78eee556896bc30860049e15811ee4092c9fd2f7ff7d606bdf47f759317b79f20d1f6d2c7c2f8dbab8b8ee8556da82e0063491f816b5a7a889d54e5622ab72cd3959c529a295854e3fc36e731eeeb3e2a9b69954814bdf89d65a45d9c2b40eb97021460023801178b908907bfcf4f57bf5da9458f472ebc5b561043002cf8440cf8a0e32d2d75e37cbbab2a6f9bfbf3dac10aa19f9f6e3ae1cd37bac87fee38c8af083358be6f0def3101ff87feb62d982930dc8c5f2c4fba686cd6d1c5df0a35a4f9f28fbe4120ca40db6adb61e64447b56cd2d278fddf90f5ce445711aa35a644ed1dbae5fbcffd1c97ab5ddd5afcfdef9a6aefa94065155c3c75f953143bd7eca2b196c1521c462271bd1a59f413f53d9a09fa383eee734e4eb50377f415e39b1993471aaedcae106f44d61adc989f7575d6860a454eca4c8ac44e55ae867154e4d9b39fa1dfb2f06d3180db44d19886aef55076d7dc05a45173a0ea1c8f90e618e62a7f1f13de1e4ad0f41276bdb599067c3f3b3a5cee30c5b4e5f177e7292b93a9add4605aae2abc814ad1c6fc4414dfb0ed6308f2cb53fdbfbf934762a188d1f300218819e89001191dec84f8c769820886a8f50fec3d53321c1adc608bc0a08d023d757c1d0e768a385b1eec6d936ff9e61656220bb3c0b46c273a75a1d58ed9cf20f9b100fcee392baf8eb30d8e28ef6d0abbdf304f655c75eac29ae65acd0821b8139758d516bca53abb4c74dee379a26df2faddbbeaf6cc49ab2eba4cea4a97674f006706a99b734447d5371ab516bd01b46ea5bc1d936bfb7ab4e4bdce1b2a8c35559b56db24b79551c16b68a58ed6421ce0db3fe62ae6decfbe27f90ffec1d2ecaa93d9a5173f46643fe4de1c90c61aa78a4ca66d220eb7f0f377892470172f21e0a0cee3b4bda24153ba91256a254443ea3c2a961332f5c7af4f1beaac7083dceab8ada57117bb68371b6c61de76f0b6e405146e57bfb84a0d99c72f910626f3b0bc8ac789ebc569b476a8f1b6999b2c1f5c8129b45830ce45baf98677d1569967e96b020703fe349825880ad76a47133294ee5f7b32b762a5a8d9f300218819e8e0061c573ebe918e0f663045e350454e7815fb5163cadbd96263a6e369cb47cf194f6674bfb8fb340a8918cdbf7604b0eccf18b5353333272343db244ff5669ed2792f96f18a6a79e2d8739fb27d9a4df4862ac3bba90d35a8b74619cbd1866f4a9a9646d66284f73de4bbb8f78a57dbc5cf5c067b820d1acf0ed6236481f155d7bb8e53ad8d39006eb096a137b45ac76aa123f8929f8844df3970799c50ae17fa41b93d94c1aed422d8ff4733015ac83cd04303ed6f675470773d8343e2b4de366de6fb870bfd72264c6696c48cb51bfe442dba361c78db6832e6cfaf6601580915a653a89fe2951d776559011aa57c533edc203f80756cc9a6abb6838f7bd19dcd12ee5e162d815c052f72a0253e454630e6ade255910000a5bedd40acfd3bf9f1adba960347ec008600430021402241a88d703f0ab8011789510e8899e00d9dcf66baaf0fcaddad63659579d4c13f61b6ee8654184cdb50bbc47265f7fb2e5120ccaebe77d5afeaf39662e169c71c32dfdecf482e828111093f90ab40e97497dc33c88bc8caad89b0d7e63fa8db39669ae6da4f2f76ba1326ab2963d31fda0322f2e61d6ea27c9a9a988d54e16e2ca254e21d6daa26671cb21c0292fad7cde31b601b45a935ae28e3da82060acdc565bd59aafe006c8ec94d80bdfac44b9725956c6d995668ae535dce7a079c7c9ec92e554dbce02b28c5d210733fde6133d0c78102ad6dc9a575a9f709d0d7684d4bc8aa0cb6292bdd6e3ec47920501a0a8ad5df366aabc9f9adaa9d038fc8011c0086004e08e79531eca58159fce9fe6664510d825c0ef0446e01540a0674507b5b4b61fbf228cfca1eccc4d0537003a2aedd2c305317720b6e7c76b8d2233226cb2ed9159c610fd1ff98ec185fd65f362caae3722233a881f986198e5e7df1732b31c608ebc393507f5338440a39633072b13847a2e166a5155bbf137a736af19f1de309f084afb197f36abef70c8d0e942368990cec4a9c62e2e543c899a8a58ed6421a6deac3979ad1a9acffc3b794d9890cd3e1e8510175593eedf076745679083eec14bc2eb955a7e6f707b8bcd444a76b21a2fe165f95612ef4a33415b7b1da0676f341c715ca43e134b259a76dc85fbcd08e97d38cb14b958f89989639cd4b49d0564b69a11ccf42f1e6e6844927127ca477c5a386f57c5c17c048e59cabfed3e9bef90b2c1f1b35976820dae7ba772d5bc8a68d17c6323d4b26fbf7cf8137bedcff27eb2dac9da224cc40860043002ca0858f10f046684fb3a044727c29f2e9c30021881ee8f400f5a13387db3e25667ba0000400049444154e6689ab0b1a9e313661abefd15fec1665feee83a18227307bd61163618068390da522f8bb769c203c7da2465830964601f3035477ba1eefe40b3c51b5ca9e8201846c2bfaea5fa79c7aa4fcc30f9f706d77f83603379462a9e53935cc90d1c6ef5e3f0b6d3fb0a3e61afa8179b9d2cc40b172ad9c393a4d5c9322c26e55f28fbd19ef7de60cb94c1961463a37a3b99b50225e31516106435513925ce2e3413841bce64935e038d6337188b2a6bf831158aaa159e34eab80b6571ae8e61032d610bb234a9693b0bc85211f9ccbec4f27d39f5106e249ff474b5918eb61e41b98e46babd20aa474f3689a6f42af60971d47e9c5779505e1ea9ad5da3662aa8123fb0dac9c6886918018c004640190132372e3c39f26e632c4ff6ab4c99073f63043002dd0a815e7eab6f772b83baa131c35db8e64628ffba6418e76295f2bee1e9dd05278d8c39f76be42fe11a3d084e0aaab9a034dceb4a93280d8d2d17722030a9a3c45a91b29db402566247aa55ca584cea6730b19fcee35a515a3ecc3ebfc0a479333532a22b1de7d28f937f9f6add672b5cc7a19a115f49bc0bb6b63f3bc89dda3f37c271b12bdabee6ce3e1556e5dabbd24c1565988011c008f45c04e08e616363632d2dad5ebd7a5dbe7c193e99048840063edbdbdbfdfcfcdadada1a1b1b4f9c383167ce1c25b0c8dc3dfa61a8311d9f1da4040c7ec408bc6c04cacbcb35fc71ee416b024fdd0969f98af13314665a7a3a288d3a5c48215d50a128146bf0a0a1065636653be9ea58891a18226361a9eb7e43c27d19c38bcbb1540d715c4adda179f55de838ee67ffb0e1a13611d2a276df2656c92a616bfbd39b24d3db496edf1e161f809151aebd0bcdeca4525c8c11c0086004ba8480b0a20265c079123861043002af0c02d813e87a57e5d4fc78b125ab834097aeabc4122f03812e745cfd27fb1e4e74e5981328ebfa0308e87f9552179af92a350bdb8a11c008746f04c838be7e78328a397f17470675ef9ec2d6f53804381c4e5313754dad7c0222f3a803a79bcb17e0bca6088c94ee95d55402f3750b04bad871e3069a44750bbbbb6844179bd945ed981d238011780d118070826768151126680f7b06792c8a11c008bc2004cccccc1e3c50be7415884c756a4fb97941d660b518018c004600238011c0086004300218018cc0cb41a04f9f3e86860ae7d8c3a3858505533bf6045e4e2f3c652df732d233afa4676714a9bd69e029152b89d5ddc9bbf5803af24d989757a07ad429599d5f502a172b8f5aab4b6f5793ad4a5ad81ed572aae8649356a67562a7323b7ec6086004300218018c00460023d0b311303232e2f1787dfbf6858820485656560e0e0e406450c19e40777e3bc8a2a43d97d7fafeb942d0f842cd24730f8df8f56c09d95272e2e8889ff2554e812e3b763530b158ce849a5ffcae6f2b54de302dc720cdaae554d12915519fe9cc4e56c9a2b8885e61712a6d62e1cd3bb2f98bf91a71b20863124600238011c0086004300218816e89008cfb1d1d1d07d309325237008cc53b86bb658f898d22fc57c40e9beef7c32212ee2d7b914907b68dd0af027c68abbe131c132d8f6ab8434d9acce6668f1271c41166522a5b462da78a4e3669655a27762ab3c33399bb2a7cefee9c1d9def60236f252ca8774809ee9c93a51a4cc2086004300218018c00460023f0ea21a03aea7bf5daf0bc2daecbcb149c5d72cd7c6764a8ab694966dc2ffcdb741c8cb6cf8de5e3ed09185cee0e3d5c6fa7531f27425ee641c717fa9a008ca460476cda5afa7cfd109b295be7bbc38892e28c476fe93cfc9cbaa46cf88d857c7b85382d45cb2b4ead892abe4add1ca537e97c78249fd9d4dd54a7349d4da67d1591719abe60ca2ee6ad2d51ceb4ca7b57e27e5f1b4edb19e8be2b7114d889902ab105912429f3ff20e8082e84d7412d6037158044c247ab3412a9f4d2ef7e33c537da8e88111b4b960ae67cf0c0c2592f748df19b76700d337a78e9c4e253c6fbd78da6aa24af45bd5db2e4b71067c0498513cad5e8bcb8caafe410147b70930e8ff334d1872c226f6f98936931452f7a35758aebfed4696f5ab0d8997964f3a95bb6e323f8def6569494622a4a8c3e3870f71e37a5e1bd4217331279674f88bc9cc6bb8acfbf7beefddeb19d8a56e3278c004600238011c008600430022f0301ec0948516e292f494f3b22c88751bb17d7e593f123ed61505897cabf6d726cde8200de8392f427260c33597db1b565333f729b4ffaeed8a4b9875d8e87c168bcefc8b173cabd6c082488fde2f8b2130edb26c360b8faa2a825841ff9d82d79cd96b4845cfec221d2fa94329796f72baeda3de1c81e4b54714d2094c5e0cbcfc5d332e6fc555317ede96b88d2d6eb9f5bee66b7239883c8f4b5e1866beecfe25b3d2ac9158a4558883907621396285c07e692b26cbaab5b488a0ed71e5c82b15352865833c3e6ea8be0066c4f7e6baaad70abd37581c45cc26ef8fedfeeef734a2b5d26b6d1d2b36fcacc82ebff44fe26a8f4d4dd4326669b680daa9c88552779ed6dbf92b9c747c50eb62d483c1ae821c82e9f4023dd5a9ad2bccdd3ec46211f95e5d780d341b0d8e93226b8a45a90e0fbbf04a46df7233f60cc107b423aee2f8a0e39f8ed8d3d9267d62e661a969bf49ec84e3059dcc32fa0df3bb453022efec60860043002af0e02e7ce9d7b758cc59662047a160203060cd0b0c1d813100395796053c29256f4f70133cb6738c2905892b821e8eedac33f47bab90f19e26b221e52c2ac794078003c0c19e395bcfc1604d6fb1210b85291b0ec4cb508e93c04e13a66669de6f4034e9fe97dd33f2ba85b38847d51a02937e726eabf25ccce107879fe9325d533dfbaf28f04542458bea9ae1969537b7bc53e83811d2afb6ad56f15614e43fd3ce805012853257a87aff20e97d726cebbbafad0392b7757f1cc3a5909db00ccc73bf7051f67eaf6f463d552297d82e863e981640413affd530afe2bc8f79f6a7c6c71f3ea242f314c489993552759f6381ba1e3bb525376210e6a86b58032123148572294b47a8c25a8731e6c49d7af6a2761e235e97df8871e949c39e07bf6003aeb90b22cd49582191604f6a26f77f888cd51d7c5c079e7ec897ad47faeb778410028cfbfdfd5db49b70c7f600430021881570c8161c386bd6216637331023d0681ea6ad930ade346cb86bc1df3bdf6a52e1367f86c15642eb97de8e266bb9543fc02021ca9d1a8e1a45dcb1c3353736ee526f95e4bfd71d6a2496e0c144a81fbb0d7f6103fc34b303bd4c5aa246147c21669888d3613e4c3353644175b6433fd4a8032173ea84cff8bb99a850d30aca71f5a4ae27f5f1bedfa55fc4427ab7b2788e47d4cec10c1ffbed1f64a6ae1d5c43f174d485f78f7dde93c98425725e69ddc7af44b21c745dcef2df92deefba2267514b344d5aab088409ba1f8a13f6289d19ca082d241fa1b916eaa27380f9d27459d463131a38d45b02f5a6f538cb66c4e1f69b2a31d66faafa61df9935acc09317789f01b296e4e51ec84bd313762c57e00426aba184c2d38155a6f2d9823591000ca8be8777576768e15e6c00860043002dd10819a1a4dce8de886866393300218011902d81310634198b88d0f877f6449ded5d4b83f0fbd77d12e25f25d57e24e5e859df758776ffed9ccf5571f8a0fd804d4d2126e0d9dee959f598090ad2384019142983bf7f17636814096847a44ed1c60494afe838cc390e76487f2be17d46e08368200f98c22de4037c68530b083d97adf5b850b03ec908e1ed15455815098fb409e1112169dde8b0c83692564694e85f550bef350fea5c22f6e958231905888d601c1535c18e78166413abd2dd9572908632e42e5d74b1bfdedaaaeef6b330965f8e113dc994618c78b44e0be409e6a13e1e9f1114af3f3138ed8e86e276554e164d5495840dccfddeb658d5361fd817c50505863eb692c1dbecb94a9c9651e589fb00459ee1c3ef30e386fb2b6540862b7a0982a1fd934bf9a2e362df9f3440db299ee2d5e0ca1eb219f7bbfabb3534db33019238011c0087477045a5bd5ce6eb199fef8dae92cbb37475bb2ff796493782a5a75feb50c91dd682f662159aaa2fed6b9d3d74aab2d074e98e0a35424e5793e99fc0be7446e50ff0b6ee7f331166b796d11d0d2d2642e956a3e7e53955e02c2de35c0fe9300b4b2ae8e8061655dfa973fe51f6578b881d95e52eefa05bf7eb1e05718070fb931839a4b760db01bf9d37ef37590e58421c4fa7bc6ab03b409fe961ce187ee0782e81a1c8fdaed7013d765e836625664ca22fd3c342be0489cc7c0e07e660ec7825643a99ee3402419fa666f76282e6524e60d5b2e9655251a9a38bbcb4d7d8bab60fdb21c9db4fd68905f3c5338652ef35d736cd1c9c5c7e97cd0b96884b6274f9aea0c4379c7d098ebdb9636ff33d89be1438895934da789df8da41adfc0738b19c9f9fd0ad7b9489440bc5027c93d64997bb8a10ab215b16f6ed9985225f303646a94bab8e8d4d46acb53331417325a9e7bbfabb1536616ce610430021881570b81f6f67605835b0abedd72cc61fa47c10e6c9339adb5e7332ecf1c3b4a49484183ca4341fcd7c75a272d7b47f20751854195509b77fe72cbcc519e0ab63db9969078fd81ff9861da861c65b355553c13a535eff2f596fe503f6340757cec2f03a3de2ffa76b7c57b0bbc6086ede91379e2eb6da2490bdf717b0a2dcf22fbf41663c95702815e2ff847e29500a1132349b20ea6c0b98464b849a66fb6491c5fbeca05095b0853c9509c525247ad0c9852a1fe4f9b1ae893820c3a5341b1e911068ad144a226b2a909e91bcaed7280997b36a2e6d691641542c604a17631437355524e353a1ba9538d9e535dc2d44d662388aaf628364f406a089529bfba63ff789d398fe7db2890a98797d9ef2a956302460023801178d9089497971b1b1bc35462af5ebd2e5fbe0c9f4c023b20039f3060f0f3f36b6b6b6b6c6c3c71e2444040808289ba953bbedc3f6076e49b966c93917a953bbef8f59d8f175a30d1b00a926a1f0c759b2b5b8df4db48547a26e67061c83ffece5399f85112aefd63c71ef29d7f8c13df9fca94569efb667fdbbcafe6baa136f2de83274a22cff551ebfc375fb7842d15d74fe67dbbbfeedf8b799bbf4e5bb47a42a3eacd9d5da8db40b7f971ab91451ba9a1969633fffb268f17b2783c0fe28bbb28db05b3306bf74440575757fae3acadadcdfc2c330b05d21f67f85986d4d98f54f76cdfcbb58a209406e610ee2f82412b41288f330d55285db5b4531f8051c8cac6d123388abe0130b31235b78a2034b93440737d14a71a9db0bd983e3cb46bcad8b94dfd566938ed643364e1c78fd995bccc7e67b70053310218018c40374640792691feb5db8e6086914cfe696fbdc750d195e4e20664d03f705e882fa78d9a232f49171c3975a30121a7c0596ffbf683f3abb3930e2665c3f110dade13e68d19608c5acae27626db7a9b5dbd9ae7f4f6828027bf9f128d0a0b68fef97026881ffd26c6c27bdaec31b6ca52523dda1ca255a4eb03a6c9d604444567f767c0e6bdef57acb4787bd18cfb87f756f5f7a8b97af589d3dbff78bbffedb3f1bf679681728e95f78c19632c745059725c72fd00db86d41b65226d2bdf103fe3dfe29361425062b3b44b44c93ffc207aeb83201e07b514fdf4ed45bfbfcd76822507da656a87ab419332458de564adfe0f876f57b5087ffaf98cdf8480c2837b6b3c3c6afebc5ad18a0c6c8784cd088036dffcedc773f4659d1c0b8f59b3837a032e95370fc69dab6c451c03831691f1db7f0be371aa2fc6c78946bd17d0b799055e1525a23f0f6602d0d94763b22da62d995529960527ed49f2e1c337caa00c597907cd18e3a183446c0aa5cdc499d71c0136c7fd356ff233378ff00abf318fba2e00a71e8500eef71ed5ddb8b118018c40670830138a729ff4e0bbbdbdad8da34536e425279b4d5cba66616043f1c5f246e06ad7478d174e154d5cfac9c2313685c919b56d6d8fae1d49ca365eba65cbc685c3337fffb504b8b475eb459557d35b3e5cb1266290a5a8aee25163af369d37e6864280904ec8924fa2c206ab4a3dca3896944d86aed9b839fa7d179853a26c902593c13342dd74749c433ef9fca341269c76b2a1f06abafb874ba3230681aadf331f85aed8b865f30a0f61e64fbf5c03317dadfacabce4c70e733e591aa25771e370fccda94b3ff9d0bf77617216d82c97386d0da25e06da14856350db5aabcfa1b2146c6000d7f5ada051c413d22d24c4fa49854de0ac896ffadb71a9daf392733d22567cb224a4adeceaaf97ca41b8ff90a96b366fd9f2f93cadcaec6ba500d683233f9dabf508ddb865cbe220c7d656a12ea559bbae420860a881575989c7ccb96e3a886af5c6a8c15ca96cdbb5833fde78e4b874e3968d2b42eb33937eb9f6408d42aa2d38bdba0874f6e32b2bc76b02322c34ce11f6f63c8d9931e36b8300eef7d7a62b714330021881e78080fcbcbb9c3a20f7ead588fa87ac993d885343f6d74797097d6aa61c66a143d67c3288f398ec4f85ee98b437df2ab807ebc447bffab28d3a989a6c6f6d6fd7ef05874987aef9c8414b58d728d442d429daeda24a7d0308c5d535346babad79f45045ea6141a98ef75c1fedeaca469b006ffd9c7a2a90496a52fdc346034217b518b6353635d723b0cd3974cd64076d615d03a8d2f19ee7c3ad2ea9e4ce8cf0bdb1e35645b30fd1d28c9cdf8d7adbe149a3ad9bced196792b7c4c1b44eefdd1a53693f676304f31693175f542104025adb6bdb9b18e6ba84db6e87bd9e99735ea58f73734b5ecdb4bf4046a779bb766bc43536ddbf029fd8f1ea903111dc737ac6f24fc70e87e138cc97438bacdf7efde433af3427daa4b4a4cfdfcf4e30b7b519a99a95ba88e6a8232bcadca4a1e3dd435d305c80cdbaa6b850d54701742205b59701f79cf9b6e5a5d52cdf509f7fdedbb1b779b7dfab229546c257e7a7d11c09ec0ebdbb7b86518018c004600238011786108289f1d243e49a80d8e1482e1b211b7e96e9910e951676ab753341829eb739bf281a6d54c0dd35b5a392218a01abdc17f7b20225bb5390656dcd6aa268aad577de13d38565a92a022612b35026fad7a52d3a6a72285feac43bae6bdca1ec3a9a6358db4198ab6d588a0c2f6d62742d8cba7038a08bdfa22aa02ed7a88f4d56e2e7b48093eac87a1768b1e076aeaa543a08222f0527480d4d65856f60069355193fd2d0a7aa9e1b52ed26a6d6d42adcda0966a662b33e66e2bbd78e27c66497dafde4d07779592c8ecf8fe4703c64d186c4dd5defea8f81e548ceae17faf5ead0d195fae4d6c7719393bc825392707f0e25a82a7a4db50555643a29af27a25cdecf0aa28696d6ca0766440aba9c35e99c15e5bab8e1edde29a07354da8a6ac916a71bb766b1b54a1dc5fe2de041538bde608302ee66bdec857b779f732d233afa467671451bf4a5f60aabb9377eb01f57b49989757a0e15e2439735a1f165ccbcaba965570a733a25cb92c5b5350709baabc1ba56704a41bb5049b8211c00860045e1002304dad9024d50011b2ed6d0d542943946444228ac60c96612e7cf0d0fea836bb5adbcac9d1816746343489f9db204327a9b43e618450732d455795e2383aeb37a69f2bae6f262b6e1dbed6a8ab4b4da1cb27498d148db6ad912ee50c1964d30282243c91974e5f43bd87b9ead0e6b58b35d07f7ca9597f790db42cf501aa0af2cbda9b2b93be3bd4827474e902c6e6e1e1912bdf71ee3dec83a5b306ea3bcffee4d3e825215e50aea38b722fdda8871c597cbd18d938f5231f97d7223436744a3f9dea72106e462da656bd51e3d1037f1417e7fcf6dd0125cd4cbd4af0aa2a696fd7368278ac46a6a5d27e7008ec8dd213fe600c387fadb1f7f021f4828d4a7fd16dc11faf2e02cc7ba8c9670f5a1310080470d0818ece2bd464d870b427e7f49656b4db2e29027e0bbea844e61e1a71d22ec53994387174446150f9a7be5ddb05d15470bee4bfd1640a322f2c87cb1598c44a646b017927303027a97080a744928de9e5d29e15904eaccd3bb2f968826de4aeb0eed3e24e2cc6c518018c004640050108a156a0b5b5c3df571d6d2da0c378b7a51d510cf446611866c23e01eaaf2f958141363549ddde564b0c5ffc6ec9969fb77e4e1fd6cd9df2f739fd38323660d70699164a46d46fb8afd19fbf7df7adbeebc4a511ca528327cf73bbb5e3e4de9d30e16ea68f20c888aa462ed1e7df31446a2c2eb60dd51a8f5d1052bce9e80fdf52bc84f3c2d5631fdd2b92560ae6d236438b9a2536cbebe504043a679c3dfced1564efebad73a3a899aa81d1df5676272f3fe581d774fdf367b2fb0f09cccdcda5cdd18586b73cb8b2f7dbf3748521fff633ac6a19e37d2a337efdc7f1daa6fd7beb641dda6db378f9f2a5a1ffdb75e4e4491d9f31fe8fce5e97d7dcd6a6256b8204dede8354947cf877dfb7bc05878f7e9b67181411418bc0a94f4f862d5f98fbd98ebddf5ea30d18b37aa2f9bd3b4f5415cab793b61c7fbcb608f4a05344a74f9f6e64641415153570e040cd2f5cf8cb7bbea530ee8745e49ca408e68ee117620f991e6b73cc3ae5e3e944fcd7be0513cbffe5fd1443d4d2b3367ead85e5410aa2ac44a53690d9339c323795cf7256a2ff858fcf051075f693b7626d7eb54e890c75553e7b4a9d04a6630430021881978040574f11f5f5f555b0cad0d6bdbf4973550984f13b7bdaf7aa2ea722810c6d3dfb9b54976495b553a5b590a94546d6cef666a824aba01619da39db1a6b891a9a918101515d9223cf06caad9d3dcd7a5567e59721d4c7d9bdaf16d9acad5d975350a32c85ac5dedcd9a6b6ae0dc4418f46b89aab30a404496e4f418c96ca3ca4d79ae365cd4d0d0ac6b6080aacaf3ee09e52ba5985175494159ad9ccd32b5560eaee6bacd703c12a7ad499ba343d95f2bd3cf7373d77a72b7d1d8c148743f4f7ce3a76eda0fdbb43ed810e1d9aba641d758b7a924afa896b07471b268696800045adbb444a4a8b9b2e0b18e45ff7e96da5ae8d195ef3fdf7f776e64b87ea35473abac0952789b599490bd5dfa12b0ef42bbe17e196c7413f788118515d562805cb7a13cefae104935cbf517ac53e0f42a23606a6a8a4f1165e9c0dadadacf3fffdcd2d2323232d2dddd9d858322d5e5650ace2eb966be931aab9564c6fdc2bf4dc7cb69fbdc583ede1eee13cedd1d7ab8de4ea73e4e84bccc838e2ff4a56e1426053b62d3d6c23963b025ca66cad6f9d4e14214673c7a4be7e1e7100dc81d7e6321df5efefa018a572e559c5a13557cf52050f4269d0f8fe433976a35d1370cc8b191695f45649ca6d8905dcc5b5ba29c6995f7aec4fdbe369cb633d07d57e228b0132155620b9c924f8a03068101d63d0902ee1f6801bba93550123e5ae9c550788054766c43eae26d104088a66c748879cf8f6a53e9c5557e258780e4c14d3a3cced3048e69a0122962092a642532fcf29f16a86ddf86c3bba88a740fa506f9dbc15565a83aebec87410f532037c5343566821dbabde1edcca9bfcd902e1d94261eff5ae4bccce28edf4cea37d6cc8fb865dbea53669a67c70699a0c64b3b4fce8ca62c47538c9263263b53a6e76f9d9381f868e3465945d5d77e9fb14fefb7d831145e64f6a74ed9e3b343fc392c80641ed97cea96edf808beb7bd15a556a3a4f02e311279674f88bc9cc64bdc80e7fe823d959d1a35063361043002180179041462e6a1a0baf8d64d71f9ed9b10914fa7eae29b62a2ac54587a5b582a2e2eba5d4d181aeb69a1a61a888a8724638387d2db37c58ce8c1ed5b0f0c8d0d5b6aeae08f8d8a54698eb0d2d84cbfada248f96f265d8f9c1ea1cc36aae87161ce63da80b69a1a716c2c2bb39ccdb44684ce9e3d5b54f49df841e5cbc2c2a2b2524de9776b6ea8f0774cd8b7458daa8ec59ea1342c2c8ccb7d8a2bcc9ea14a2cfa17210043d81e971e3e7cb876ed5a474747f007ececec24ed6f292f494f3b22c88751bb17d7e593f123ed61cab62e957fdbe4d8bc0501bc0725e94fc4b7f392d5175b5b36f323b7f9a4ef8e4d9a7bd8e578188cc6fb8e1c3ba7dccb864082d82f8e2f3be1b06d32380dd517452d21fcc8c76ec96bb6a425e4f2170e9154a7fc7d6979bfe2aadd138eecb14415d70442d9b05ae58a0073feaaa98bf6f4354469ebf5cf2d77b3db11cc4164fada70c335f767f1ad1e95e40ac5222cc49c03b1094b68774552bf4bcab2e9ae6e21293a5c7b7009c64e4919624d0d8a21b55efaf48fc50fcd530b4759a0fbd753e08a31182b5f7bdbaf64eef151b1836d0b128f067a08b2cb278851a18a9f3e65393b406451caa7893313ef942ff0818a66043d9c7b7cf8614f6ee2c6737eab2e94c7fa78a2ebe70b1f787aea57572313136ed6b17a93506351593d5aed7ce3cd47be41646af6a05d1ee9659b9009812cfd9db30b0740e6d2d6f8c055170a634713a8392ba5b9728aab7c45269efd4c0ee508963506dbe93f4cb9bd0b19af3681192516405cc60497540b127cff9780b4ed7ee4078c19624f8891526936ebbbc470e526bd27b2134c9680f6fc5fb0aed8a96238266004300218018d1178f4e891c6bc1d326aac47a146152915428795ca173e9524c417409257f33ae5618301a4d7a9453dad2de6e6e61a36b9277a020c34e00f646464483d81cc039b1296b4a2bf0f98593ec351ee965e6e08babbf6f0cf916eee4386f8c2b8924e306b1e101e000f43c678252fbf954f225f4287832a12969da916219d87c054c7ccacd39cd454bacff4bee99f15d42d1cc2be28d0949b7313f5df1266475d62c6f39fccd423f9a44e519326022a122cdf54070b7ed4fc85d86730b043655fadfaad22cc69a89f07bd200065aa44eff055dee15255b28cabab0ffd60e5ee2a99f0266fff7717da9e3cca8ebaf0cbd1ff4daa9c2c7b9c8dd0f15da929bb10873a1c822c23a961b738794832f2dfac44790684e05299d55306839a41538cd0c6c7e402588d808a8ca60e760446fe7c4be4277c186becb9406bebb5c773d11d0f18f4170eba7e1c8ddfd40f9d421e96a69616f5c843cfcec479d0884c5ab71e07d56c5b75f2ba08598076ca542a5115852a5444103eeb56e704edbb55bec6f9d81cf2a3e3c3e9d618aa024298784d7a1ffea10725670ef89e3d80ce3aa42c0b7565e94f75ef121870e7ec897ad47faeb72c2ee8f9bf601adb4943823f300218018cc05322f0d65b6f3da52416c30860045e300210eca7610d3dd113e0703853a74e7dfbedb7e557be5c26cef0d92ac85c72fbd0c5cd762b87f805043852235cc349bb963966a6e6dcca4df2bd96fae3ac4593dc186461de583eb5949c38c4cff012cc0e75b12a49d891b0451a62a3cd04f9708d0dd145b89c584da2cefa82a82035a5cd42388699d927d05212fffbda68d7afe2273a59dd3b4124efa3575311c1ffbed1f64a6ae1d5c43f174d485f78f7dde93c08fc5125e69ddc7af44b21c745dcef2df92deefba2267510b3c458af6097514ccc6863114c15e86d8ad1569816cf6e82e5067a242d27c04a942ba7b35a8c14c7440fa5b082d40a9a6d079965afba730a9c0fd49a782afb3c329a6fa20da7a321b20d595a4e4150401940a5d23ffc82ee7f9f34fc9f4e7dca4e251ddf2ad5c9529167a80df22dbe34be261a11a983ad19056c9f30d37f35edc89fd4aa5188b94b84df4835b8a979974065c1a9d07a6bc11cc98200505ec40ba6a99d6c6dc4348c004600238011c00860047a10023dcb13d0d6d60e0a0a0a0d0d3531911b8cd1dd4d98b88d0f877f6449ded5d4b83f0fbd77d12e25f25d57e24e5e859df758776ffed9ccf5571f8a830801b5b4845b43a77be56716c000158ecb21498889ecebe3ed6c82caf213ea11b573802529f90f320e439e931dcafb5e50bb21d80891b7338a7803dd9841b8811dccd6fbde2a5c18608774f488a6aa0a84c2dc07f28c90b0e8f45e64184c2b214b732aac87f29d87f22f157e714bbc338985681d103cc585711e98ca757a5bb2cc6a536584edfc29191feebb327e0dc4d55415643db4f51c40584004ffddeb658d539dfb22f24141618dada7313388276c2d3d504e4a6955b00581a8650446070b9129eaf893a948505035d599c84a7c884650a72b13b6fd67a65c5f9a629a9acaf5f32b47ab1d2ce10868364524e5a8188df0849eb99795d88ca8801ff5c9d2e7fb9927674e793865fb203bf55c9907d6272c41963b87cfbc035ea218b4a2f85511a9fc1dc14561d1e49e1d6e9bdc3785dd4d9cc6637d974c4bfe3c51836ca67b4b565da8bac8e7fe82b1daa9be59b804238011c008743304603b1bec60eb664661733002af2b02ec03d6d7b2b5b08e396bd62cd8c4d361eb087bd700fb4f02d0caba3a02467b75e95ffe947f9491e006667b4965eb17fcfac5825fe188b3213766505e856b80ddc89ff69baf832c270c2118a2aa26af0ed026f85b72841fba1f08a2c51c8fdaed70132b30741b312b3265917e1e9a157024ce6360703f33876341aba154cf7120920ce3b3373b14973212f3862d17cbaa120d4d9cdd959d20713d2a5fc6c13183a2e75c77b2394015cdec57183b0099f8dd48aaf10d3cb798e19edfaf709d8b58901810bbfd6e905f22ecfa4d2a94eceb65258a05d47c79d0a37613bfd4fd8ffc0213e98a7493b2f9d45f05a2df9b30f3ff667f3b3bd3d5a81c8db0a7547024a37cb97611ce03368e48f3a02d9f321321d63e672aa254188f986b840ed5cee70fa09ed424f79065eee1864a5d4892a9c9453ea430372319bc41ab8328799acccf527a978a4e4dadb63c35a3af82fe96e7fe82b1daa950277ec008600430022f0b818adcf40af8ad4898fab8f134a8934cdc143c6175f2c06f6fa42f6462563510c22c2f1581fabcac721b4fd71eb29bf861511eb270b5ec3ead6daa87abe674b95c852092fafa7a3897e6697778f7a053449ffa278524eb20e6844b48468164fa669bc4f1e5ab5c90b08530950cc529f575d4ca802915eaffb4a9813ef5c0a03315149b1e61a0f022205113d9d484f40de5763920766297ac23c92af82d4e48a6f969d946ea0422644c1092517897346ace4cc25112ad0461a6b9843c276db99926334b05bf1c0c3cdfa7f05bfa04217915cf2f5f7e75c7fef13a731ecfb751d1f9325f3095ca3101238011c0088811e8ea29a273e6cce90c3b5210bb2a7ae99664b4bbb13da2f3bf8d64ba8fbeefa6bb55c13cd3ce34e3f2bf0881faacd0f7d7add9fd8bcfd30f8e9b2eefd9d9302e820fc7b7769234e7ec44d1d316d76f0b7d5fb866f7da6768edd356cd229715bf7eddcf197481f5e2982ff936d42830fda7e80dc7b229a2c9b8986d0b681af524ffe30c1131bde8c49ca10f5960804bd3e0fe0b48f88e610aaf8e1341189a48dd008a15c2fd45d41c87a21b00058640e9fc575d47b5810fd0a91b00f2149ba21b00448e1e61a4e806a8237664814a190cc415dd00e0d0a7892fd80d807a0870369ed20da0a429cb55daa344206f7f6a73207069dbf665433be55512edd2a3cd90851fb3b901a0e465be605db21933630430021881674380e047c50aeed20bcb1a29224c5120cf0abb011a81f5d730e922136462d0e918be43e3b21392f3850a67a1a863d79c539d8667a37323b66efdc8e3d95afb6c16c8a49bb2627fce18b77ceb2fbfec9e3ff0def6d8d3d40ed3f2247003a67efadd2ffbb78e43a757eecd92f16b9c530a76d058ae2733125ee137faf47ea1c3c69e0cef4b6e3bd1efa3d4e1ffb4e867a2b0e8f1928d50ac0ebf608a78e0278c0046e01540802c5a15bc232271931b6c9c2b8a8f8825f6c406337f27e93564cd5b209485586a2e84395f22025c54bd7d45d4bde27b70afd09aadd13e7438f4c3acf8b5eb7eae0633acc77db97e018f1e3cab12ebf34efeed5f7ba9e3fc367c741955dbccfc4ff43457787a98fed3da0dc7287164323f665b908d9e3a4ed494b7fea39da6c34c934f674034f2fc2f7707f1d0c56d2bb724833d507be07fd67f44852e3515c57eb4bedc945b0c76ea0efc74db5a4f350e66b92076e9f64b20da7fe04061464675ff895bbf8a8036d5179d8c5a1bcfb5b09918b52288690fa5331679ea5eba540cec9131d1233b5ad67818bf7ec3cf199455d6e322bf5c30528fad9950aada7620420304b12b7766f13edd16e50a92909a5103d2f5a7e176e599a063950063b310f44f9c46b76dea6c8fd33bafd42ff0ecaae382d704687cbbf60157f5f1e48382ba268db9bb1702c69676704c94788b73f7300dbf60dda31fb01518018c40171020139313c583785278704b45174469563878233d7e47320ab3c2136d5dc5eea5f3d7bbbebbff97dd6b26966f58ba0722d4517dfad2753f0f5b1ef3cbfeefe6999e5e199d4459c446e4ba8efb6e774c20428191d1dbbedbbd629c2b6d7b7dc28663bc4898edfee5bb98281ebd5aa08613d89b2bab8b93cb3db7eedebdf53f2b6ce873152d462ed8ba7bff2fbfec8fe425ff2b3a893e8eb1bea8ba5a48dbb99c5fb46ec54f949d6c49589485fc976ffd745c7146f3daeffee3517cf11ecdcae58d8bfd2edae55e76b14c1274decbe2ce86b6cff728de125fc4a64f4c13442ff9b9d22766f7fefdbb63a6f5e7d26799b3341360526d3bada2b9e8cabde6ea2bcdb42445e1ba2c18d8bc6ece8a9d3b63571eab9efae94cc988bf9c31b0412844cd3276b11d1a7c614f400390300b4600238011c008600430021d22608ad44cba82d4c00e25a190cc8d0d36f30ddf32ebc034abce7871f95f8b008c3b23660ed3435c9f893351f3c5a27a983e4f6f46fe5387d9203dd371115351f19587d49c3a0b11ce3ae1724d4d75e1cb1472d23dae16d62863fb573be393ca9b6d5c2d993970764e687b3dd2fd74c5344b2ed7d2d5c79362d6e3a2f29dd12b1744ad3c9405d72c5193e50cdb8277293b874d9c86aa0560a7baa46b6a690916e8baf04c5d5d4c24036c89a9f25250f582777d689dfe283d5fadcaa6ac9fb2d1d4c5efda70f5f4b836fc20f13e03b6662256220cfc676edbba75eb3617a9394d95594548d7c3b37f7f9040e9e9456018d773a23fca58b260fdce6dd12b7f86f5817ada0b9237b9f33cf6043ac7e82fe4b897919e79253d3ba3487a3dc18b31a6ee4edead07d4648e302faf407c54aa5c4d64757e4129ec1b96a6d6ead2dbd5a4f4907e295d35a3965345a7aaac2aa5133b55053005238011c00860045e1a02cc6cbeb0225779e89fd159cc0fe1b64ad0de78f7c0c1f085b9383ce8a575d85356a4cb1507f9334376468baedc8374669a95485df6a9abb04d803b2976f77f564cb3105e59b7f26fd1278ba476a9703225f4428094a9fce4d20d7b7d2256c4ae5fbf60527fd4209d4567bda5a9098e03ca2b12cfa38b753437214b9e3582af2699b054bf4246bc4542d7d414550b25252a3a192d7288d09caccd642552ec5c0353aea96c4f687d7e4272f5c098e888a0a0d9b15f4e2d3eb6a7881af55b46fdb2fbd305235d46befbe5f240a46b2a751ce81a35fac09e804630fd454c6451d29ecb6b7dff5c2180e3f15f6022730f8df8f56c0909f7a31d1df1135c99ac94ca8e5d0d4c84a83869aaf9c5effab642d6a3fca53c4c462da78a4e2541b6c7ceec649341457111bdc2e254dac4c29b7764f317f335e26411c6248c00460023d0931120083f949c980b63233235fe0b642a0bf121783e03d152411109672d778c1061e50371239d3075ac0297be7804b8a8f9a7d379504fde959308f940a83cd7c205a164411e4c9137a59f4c40263e1630906523d2d6e95a5ba38b97e871acd8daa6f23ca18dcfc869116b177ba07c263a872a52e5140bc87fd553b1f243877ada70b9f5e98262642076326476a60b101ac684faa3fafcb52bfff5af952b3b582290534eb9344d94e7d26152d5c9e54db346c77e12d08b06f5595979f4543d6b335989505dfd4f1fcd797fce4759b40a78d6e502a819d9b40b93959e8e108ff1121e96d7bb0ce3f35df4e237279b4cf47f0a4f00ef18eeb077ffe242c27f45ecb0e97e3f2c225ff0313d3a1c84e857013eb455df098e899647b5bc6f6b36377b948863a6013c6a3955746aa00c7562278b0a327755f8dedd393b647f9458986812792b6141bd438a788b9b3a2e4cc70860043002180136047861bbe7f9fa9a2d4568debc406425c742b8ed3910e9eb00dbb166dd688cf3e9e8d7311cc59d2c84f503bc57400ebf6e96a566f38b7ffe57e8cf60176cd88da662c22c477e39ffcaca7fbd4fd150ff355ba75123065622c5a0372ce2dd43ebd6cd4940d6133f8d8df084d0ff2bdb9752b12d54eabf7c31f8154c52e59494c87d4384cc3893a54b422f01cdbabf2e921b0b4bec34591cf3ae98acab0b0657236ba9025d5d8980c24a437d7cd4fb6293d6fd2d19a1a9ffd93d9b2715a233d2750d159de0074d5aff9fa2a87fbd1fba8b62ed3f6ff757b0ef97b599ac444a884b194aa1cb243ddeb8c58182ed4bdfdf4e3deb4e5dbe82deaa5d7f3a7a09b3d55ad77ffe77b35dc5dc5df9c2f709a8a25597972938bbe49af9cec85057d392ccb85ff8b7e938186d9f1bcbc7dbc3b108b9bb430fd7dbe9d4c789909779d0f185bed48dc2a460476cda5ab87800a1109b295be7bbc32f3b8a331ebda5f3f073f0e9b8c36f2ce4db77b0d3b8e2d49aa8e2ab074181dea4f3e1917c189d436ac8d8b37f059a9314217945c9b4af22324e536cc82ee6ad2d51ceb4ca7b57e27e5f1b4edb19e8be2b7114d889902ab105e6644866d04f2980a023b8294087bcfa85cd49bb948f43d1e1af471406957fea4bffa62ebdf4bbdf4c21c587d088988187433d2043960ae67cf0c0c2592f74cd9837ede0ca61f4f0d289c5a78cf7af83ab88a1f85ad4db254b7e0b71069c5438a15c8dce8babfc4a0e41b10737e9f0384f137aff2e797bc39c4c8b297ad1ab298f787feab4372db254edcc3cb2f9d42ddbf1117c6f7bf9bf3c2041a5a2f83087e8e0c674a573ac15ba98e1cc3bb9e9e897b60b93e73017943df77eefd84ec606fc8911c0086004fe4204e40f20bf7cf93273003973f4b8f400723f3f3f3880bcb1b1f1c48913aaf709d0c7043dcbfdc0a46053c49bab0f06eece1144b8fd8550e0aa3b4580bacc4a16e74fb3d3975e29d1102b914d7b53533dccc02b8bb371b2d2287be42fdc6aca5a306767d4fe5897e6fae6a756ca5a535788f4955ff26621d666b212d9eb51d508ab166cb78dc9ff38777c9f80eafc2f7bd53d80da525e929e7644900fa3762faecb27e347da832b5697cabf6d726cde8200de8392f427cc201191d5175b5b36f323b7f9a4ef8e4d9a7bd8e578188cc6fb8e1c3ba7dccb864082d82f8e2f3be1b06d320c86ab2f8a5a42f8918fdd92d76c494bc8e52f1ca20ec94bcbfb1557ed9e70648f25aab82610ca62f029cf5a2199f3574d5db4a7af214a5baf7f6eb99bdd8e600e22d3d7861baeb93f8b6ff5a8245728166121e61c884d5842bb2b12952e29cba6bbba85a4e870ede14ab2b153528658d36e00aabe086ec0f6e4b7a6da0ab73a5d1748f809bbe1fb7fbbbfcf29ad7499d8464bcfbe29330baeff13f99ba0d253770f99986da235a872b2eb24afbded5732f7f8a8d8c1b6058947033d04d9e51368a45b4b539ab7799add28e4a3b2fc1a703a08163b5dc60497540b127cff9780b4ed7ee4078c19624f300d008b8ba2430e7e7b638fe499b58b9986e526bd27b2134c16f7f00be8f70eed94808bbf310218018cc0ab8cc0b3380174bb09feaab8f65571af3206afb9eda1a1a1af500bd7cd7995ac7d5ec0c2114c5d52853d01315c990736252c69457f1f30b37c86a3dc2dbddc107477ede19f23dddc870cf135110f29612a3d203c001e868cf14a5e7e0b02eb7d09085ca9485876a65a84741e82ce3a668f2fcde9079c3ed3fba67f5650b77008fba240536ece4dd47f4b981d753319cf7fb262278a63de1822011509966faa6b46dad4de5eb1cf606087cabe5af55b4598d3503f0f7a4100ca5489dee1abbcc31595d34faeae3ef4b795bbab78669dac846d00e6e39dfb828f33757b3ab3f644f3c0b5627d2c3d60714d924cbcf64f29f8af20df7faaf1b1c5cdab93bcc4305117902970b2ea24cb1e6723747c576aca2ec4a1a2f1c832123148572294b47a8c25a8731e4caf8221553b0913af49efc33ff4a0e4cc01dfb307d059879465a1ae14cc4589d17bd1b73b244bd1eaba1838ef9c3d518ffacff5962dc33dff7e576fa70447fc8d11c0086004300218816e8d405747997f5d639a1e960bb9369692d09fbfce906e5f33f604c45de4327186cf5641e692db872e6eb65b39c42f20000e99875b8327ed5ae698999a732b37c9f75aea8fb3164d7263049402f761afed217e86976076a88b5549c28e842d8c2300bcda4c900fd7d8105d84cb89d5247a2f09eb2e774aa059d800c37a5ab4a524fef7b5d1ae5fc54f74b2ba778248de47d26482ff7da3ed95d4c2ab897f2e9a90bef0eebbd3793085ae4acc3bb9f5e897428e8bb8df5bf25bdcf7454dea28668952afb08840d7a7f8a13f6289d19ca082d241fa1b916eaa27380f9d27459d463131a38d45b02f5a6f538cb66c4e1f69b2a31d66faafa61df9935acc09317789f01b296e4e51ec84bd313762256e0952d3c5606ac1a9d07a6b81382e8836fd45f4bb3a3b3bc70a736004300218018c00460023d01504f42c6d9829c4ae08f5485eec0988bb9d30711b1f0effc892bcaba9717f1e7aefa25d4ae4bbaec49dbc0a3befb1eedefcb399ebaf3e141fb009a8a525dc1a3add2b3fb300215b470803826d4ea8af8fb7b30904b224d4236ae7004b52f21f641c863c273b94f7bda07643b011226f6714f106ba312e84811dccd6fbde2a5c18608774f488a6aa0a84c2dc07f28c90b0e8f45e64184c2b214b732aac87f29d87f22f157e71ab148c81c442b40e089ee2c2380f340bd2e96dc9be4a411883235d7ebdb4d1dfaeeafabe369350861f3ec19d698471bc4804ee0be4a936119e1e1fa1343f3fe1888dee765246154e569d8405c4fddcbd5ed63815d61fc807058535b69ec6d2e1bb4c999a5ce681f5094b90e5cee133ef80f3266b4b8520760b8aa9f2914df3abe962d3923f4fd4209be9dee2c510ba1ef2b9f7bb3a3bd5340b93310218018c004600238011c008bc7004d807ac2fbcdaee5b0161ef1a60ff49005a595747c0b0b22efdcb9ff28f32e67203b3bda486d72ff8f58b05bfc23878c88d195470b96b80ddc89ff69baf832c270cb6cc4b19e5325e1da04df0b7e4083f743f1044f33b1eb5dbe1269634741b312b3265917e1e9a157024ce6360703f33876341aba154cf7120920c7db3373b14973212f3862d17cbaa120d4d9cdd25b1f062fdeabe2c47276d3f1ae417cf944f99cb7cd71c5b7472f1713a1f742e1aa1edc993a63ac350de3134e6fab6a5cdff0cf666f81062e564d369e27723a9c637f0dc6246727ebfc275d27303205ea893e41eb2cc3ddc5005d98ad837b76c4ca992f90132354a5d5c746a6ab5e5a9198a0b192dcfbddfd5d829330be7300218018c004600238011c008bc6404f0d9419d034e92753005ce2524c34d327db34de2f8f2552e48d842984a86e2949e3a6a65c0940af57fdad450474dd81b74a68262d32364174ed0d5899ac8a626a46f28b7cb0166eed9889a5b47925508191384dac50ccd554939d5e86ca40f9d783e75095337998d20aadaa3d83c01a92154a6fcea8efde375e63c9e6fa340a61e5e66bfab548e0918018c0046e06523207fd848464646535313737c10d8c19c1da4a7a7e7ebebdbc1d9414f61f183dcf41a126911a6766e3ca503322a8b7291959bc533fc497d0a7bd4897460a73a91a7a393c2a222a1951b4fd66c218d83dc0d0d4fa7184bf52c04e47f9c3b3e3b489338ec9e859d6a6b09c2d044ea0650c510ee2f82013ba1e80640812150643fbcaa9a3aa7800fd0a91b005a2836a55f99b016a1471829ba01c0c94aecdc0e090741983d5f370014abd109db8b9f5b5da67eabda357003c0189b210b3f667303683b5f5ebf4bf0c6df18018c0046a05b206066c672630c2bf1d9cc25ab12f754f9fa3e7217c07638c5449639b897767ee13099bf273617ae2d7bcaa4a17807766a5a715e5e1e38519d7217c539b8c7e7cab1917b1cdc37758e839c04ce6204ba8200f604ba8216c34b7885df98475d1780538f4200f77b8fea6edc588c40cf46a04f9f3e8686f26bde081e2d2ce096d3e79b08b7a8589fbb0740a9cad233e15075bfbf5be77f6b1bde5f4a4dce3d6dd24cbc033b35adf8dcb9733ffef8636969697b7b7b07328469e040b9733360f66c61d5fd551ae0d0814e5c8411e80001ec0974008eba22c2de9ea7f00b521d23a6bf5608e07e7fadba133706238011e800012323231e8fd7b76f5f0e9dacacac1c1c1c80d881c8531789e0c24bc5545b147fd9879fb770d3830a59d183f438b8ed2c8dfac7cfa617016a73e3d37ae9030719167cd9a7d7d5b85c45350a4f1a8a57a6ee488b8883485f2a91b9577b85e5891f201840660c532e2c125c654cf259950f57238b13dc8f16e6c36799c78720d893274ffefcf3cff7efdf97308bbf8b043be8582c1f87f0646920105914cff7e1472cdc942a8743457a1c9f09dbeac54f942d8654c4ad0a63c8613b041253d45aa2543b7eecc908c8765a8a9adb1a9bdb9b5b3a72557b3252b8ed18018c004600238011783d10d0d5e965a0d74b4fa7a3d94018f71b1b1b6b69513ccc3e818e27b39f233246bc60f7549f027d87e6e84d12b564856fb8cef9fb83f8568f8b72ebe84d60466ec11e8d77810dedd8e3ea63d58c3a5840d054dcc2c7efee5edf7bd1d34c79c403c18e56146ca96ec319997edbe14d22e5fe103fabe2f8a80ab33d8fdb179ad3e616c51dccc880809e5512e315be6b6b6b8f1d3b666e6e3e66cc98debd7b53654281c39b8b0ee45485f12a36e9bb274ad8095e7062aacf0e7d8722391c127dc3fdcedf17f0ad60ff4085c4364154bff08add771bf758a18a5481c477817b753ab444520ffeeed108887f0bd436b6d634b66137a0bbbd0b9559e90537d2ef6615c1699d2f32d59515663da64ef817161716aa046b765a73eba33be9b773d26fdf2992636525ca95ab6445354577736edebd532157d25a5b9e572b7ac1ad97abefe56445358577cb65bfa9552a7dc6ee50d1870918018c0046401101f8735fddd0562fea3c6c5d51ee853d0d54d24c1811563a8a44dd59a8396a55465ca21059f5174f9b8bd9b44cadb8b0758f76048ae3a2e8750366f580facca483ec351447848fd94654bb231d5604ee4dd8a29b324d32d8a62d9433a9b60878902876d5e5b0b0ca3801423b9e88a7e2893041555595a0e3881ef007604f27d36cb22217a1ddd3dc4c11e116762050b6ba001beb082b2bb94a81df7416fa226ad58eb8c422d84fcdb499cc8dde820e4487f1809de0f1837d242e9146963036e0cf1e8b00e509c06a00d9fcfa2f055cfc33b9a5457ae1d72bd1e3e4fdf33f66ad1f9afe69b2f8d7cb0bb25a949734363ead8c6c29fbfdecd8b812ca25e8526a2efaa3e4abe9f9b32615ca89b212d5abad4c1d3efc4ac89adbeb0fe6c929a93d3e36e3873bb5eac53a28216f1e4dbc5a0e372577bb742fe17ac89912b5663d6b77a855cc1414ff16fbc33f0ec981dc093f2ec60860045e57041a446d4d2dddc319c81032176caa879af0886bb4da13a1430a1e39985d8d2f92722a35a0dfb468c7aa2af97f76d4393c9a8a83dafe11bfa32f62f352e39b50a4959f82238094ed8cb1ddb3c369c70e871da9031a53fb4b07e0d4885c21d85f6a2d64747474060f1e3c67ce1c6f6fe9b9dbb2f2cefedc13d3e21a73f6449892025f07b328391c585744c03deac01259ad38d78311a03c01080aea09087cffbfadfffcc7df326fa66bb279bf7b0042bcb1e4bf93bfda0fc6a86ca57abe066ac341447415102da6ddf5ba8821f3a6ec3aa3b4938c95a8d66c516d3d42bdd38ecedcb57ab4dc1d02a633d2fc3f7054fc45ac56877241d19adabb2295239694b9fe82678eb1d6004e07863d637774d82251d61fff576f13354e0ee40ef97121460023f05a23d0d0f4d70f008c783e082d7d5044362904e29330c46f9351c87bb915bd7df89e119b4c22516b8550da2dba3e48949a0b7f42185f428f30b53055f847cf9b6b2a0e6af5acf846f30e568d08ef7560a1b5b41a8494ece458f1c0ecaa22d2dcd4d48820ab722b9ac5cc645cb0bebe7e70bacaa01e82ac3c3d3d67cf9e3d74e850389255aa9b300555efa75241ffc2d41db27d02340305017dca36c34e424c10cf871f16b1e97c2412303810bca859285cbc3d80cc4da717412876322e8cdd124617fec4080002d43e819e13145457571bf3d5fa3e7d2ce72f5ce23ac05dcd1b50579c7d216df90d936f3e1aef647a3ffb50d2a43c3a3c457bc01f51236d0924ba1d3fef68a3ad4ee3af22e46eee1f37dfcd186024affcb035f3737aa675b2357ff3fb8e30d4a2387f43813a4fbe84df515cef3fe60fb5ed60a77145ea7f96dd4fff05acd21d7726e8ef81cc2f89e606a5df25e4adad1fe60b283664fdf5d08dff670b7701235479e3e0a5f573e8a991d1bc2d277d6da8a90955620b229b4432bf02daa5c781fb075ae11728d54611ac99b4cac5e294277e7d65d52eea97dbf84ffb7f16368c6a5379eafab1a5d4dd626e0607f78e1920b90e58c416c3c34a04518524cadb1296718926bd1772080debfb23ed0c88ca2f7cb4a4d2dc4177ca32a391367079199d807941769f89ba5fada38298b69d797ba40df12847b06a7ae555aa5c6bdb99494011ddb9f0dea407b781b0ece429d43660c1c015135da972d6c4a6534d335900a9cd112c656a9f6092b031c89a1962b3e9bc773969e2bc6ac684211bc4a6a81a0f5da0da1df9bfc55ecab6f19f3dcac5d68ab5116c4485379961284efebdc9ddd1df49ec5c3df7d7fba9ec64122bdedc0000400049444154b31dd330021881978240b71800106ebd0f443e71d0bf8166f5698c7322c8ac30fdba8374fb7dcdd2e0e0ec9c466f375415ed50ca10d1bcdef7dd24f0107da30ed4f9fade7a1ff5da9d332c424a97944bbebb224ef45db8b1766f9c59b0a236253b4df9bc1bbb8bdc290ba91479b44f2c8fce2104dfc9723702d0d40103060c1932847dd7b555f08d0391be0efa8cf8ac85cc37358e0f679aec6bb614a103398d616e2835da414c44f352c43810d3f6e4c404bbebf7a2056188b247de722b82d1873f31026c0850378b55d6bc5a31336cedd080f6c1dc99f25cfdfb3bcc5ff80f1b5b3b09b1e561d9cd9bbf5d288151bb3bd7fe637f5fbf61e69cba530e5bea0ecc79c7afffe3b28c6ae3018e30f01565ec773bd1fa9f37c366bf71fba7ad577f730a8b9b6980c83bd9d9864e1e961c74e5dbaf330b7d676f9ec811738e0b9bed7af5b36db76d277cf0c1204975cadf373fd52dacdae5bf719619aac8bd28740d12c7f991797b7f5f83261c9e27f94926cb6ee41ab8baf5e6a25b3146f9e527266d1eaf87c88b338c1aa24ac7055809cb73eb7479b696c0ce42cc3fbcf98f150a8121f66722c73a21d81ea06f3bd01255dc29abb6701a401f0fd17a75e391f995bd13368e344715999785dea37c38a2f4593ef9330ef8cff4b1b97be678c83f883f728298b3244477ce0e9f84d272c6c84f36b312955b8e5a45a2fada3b97c64e4709e9fee6e09b7098b6922251c5619f2b7a27c7cd942e0b88723ff6c93cf59ec5997f0e42e5776afbb83918371d773f7577af7fe4309bdaf2dc47463c07ca3911cba2034367b8c3a8d788c351bfd4a1aa9393cbd6cc0e00193ad3dde0fc7f9397d658a76f1c49355055274af7195ebae96460b08df0079f8c4b1bbc7785b8c14dcc6cc6d7a97687a8262bedb73f0afef518166dacfe37da3770503f314a2a7022d6379961bb7dc0e1b0c9c98f267a309ec0f37fbdbb62a7aae5988211c008fc05085850935954d2fc2aa2c6c6c613274e407c0b23f8d23eeb4912a6a60c0842efa9aad45cfcee1efec3c4855e7161f4545bc7959110d6af8b082ef387ab63de0e4be9897ff5414572b2cc12812aab329dcce5ebbb0bbfbd91bed0474e1a677b04029aff388b7ffe7b042a8a8d7cf4a832fbd64da927400f915bd1fbae41b921b61c192cfa9351f967471316b93afa0e7293cc7fc3acb9ef0c7f18f27a047a5efd571604d6bb7174f450c51f6bcfc175c4da9550533d33b34e735253e96e6ff7bdfd4561c307830c14cd103f35e5decd42fd36ccea4bfd2ee1bd11a4c8a42bff48e8a207d73efdaaa1096953d3e242264492b0460fb7adfda332d4d667b803bd200065aa449719cb5d66c86b13e7fb3b313b92ac1c9d2453cea2fc1d3fa24d27475a53234ede905114a7a8fc314cb49ffaf1cad51faf7010fc4216dd13a101d2b13f8c6c55132b51814d9bc331461caa91e61c63a932309fc3e96dee86947609c058f8e03ff97d80cfd1a70fa5a7c96802dabdf18af582a23706ba48d62824b2c6bd29e59d25259da23b6ccd44ea00310af6e1410dfeef59a0b1c2471b116d1552d1093b167abfe968899065f0d799a724fb17d88c3754ed0e8eb1e7e8d9f00f3d2e3bf7fba8f3bfa3f3366722c73bb12c31a97b93c1c2b2e4df1b91fd64b11b4081f2fc5f6f8deda4aac709238011c008740501d816dc1576655e8dc4e1e4507d77f8db6d9893a8811b005588772a2b57d6f567d591bd3a1dea3855e8c4aa03bfbb4dc36e803a20319d424036e4ed3978e8e9718227be3d2e7832972bfb31b70f0a1980fe28589197941a6b1535e80d3f7f5b6adc6f38fa9b48dbeccb77b2f32e8dba71f37f33428306304029cd30c35edba449379d4f860539f5ad48daf5c7b7d265162ae61b92be3117a5c1e5c46a121580035141ea4aab214288f9fdd75a7eecd2facfedd71df6e7593d4a22aeffc2c40e1183ff5f6ddf1b6965e9a7d2574cce8bc81f3f990712aac4e2a41d6763857a4ee27e6f2d6c71f86ec9e80e6296e406e612e38c3edbe86f44dde3a2b776a316479e21b719c25ae40994082b51a2eba9bec5075e49648ddffceff8a339b9b7732b678d4d9efdcda015b0c64127166324322adf4a3aa15ca599cc528a72f3943451813d92a4aa535c22b728a3d6788912e937ccf45fbff9db256acd6ab2b9fdec61be6a7a4dcd9b0c7a0a2f45d45b9c0c3392aa7c21afb7a676caacc0398c00460023d07d1020787677ef6a5959593c9bd7d12d1a04a79086f1ba8525d8886e8c80dac14a37b6f9e94dd3d6d27e6b6cf097ffdd36ed9d59f26e0068e4180f183963febcbbcb267ce3af7de37ad2c0af130a8510645256f8c0cae3adb133e67bbc8fea2a21dc9f4ae006dc4cca824c4976214236361cd42402e6be6e1e4e469ceae2a47a24596ca5d9651f4afe83ac80cbb3b546f77f4aa62b208bb372a5034ac20666eb9715de255b9ba8417fb3f00142a10e9e3c2e973a590889d723c90779157d7c03fddedfe0e4891ac42754b2102dfcc6f1bf79db3f6a02f36fd437219e162cf3ca94611cebd913d0aab86bf4b0557837873ad287d3078691b537cb4923634b234ed3bd3b95d2412dc7c66200aabd0a55cb5df6c84a94b5ba931cf84d24e0d024820fb53e14f0dcbbf3c4da7d587048f0aef7d0d547e23e024705d6138e6714893a9265b780bd99ea01b978877a556e9fa944438d99c3a455f5728cc0ed7c92590e9d589119d76624f628d419afac20fff01727469daeb3f508ca88fce09b8563fd06997350c98935d33e3d95ffc7776f4efa7fb7f24efdcd644c4231a9e64d46f7537faf43d6fe1e5672aa9fffebcd6aa75c8d388b11c0086004ba3902445f1eef757003ba39ccd8bc6e830035370c378c748b3d432f189480516f4e993eb34f1f8b0eeb21fa39f9f7fbd81f45d5357060885c971b1b57728291e00eb9ec21956dfcbff81ffe2f1e9c028f3f42a84956277fabe171271cd64356ef1d84582b71ef60058618bc31b336d23b8909dde11d9eb0591255c375f39ef68fcc15462528d467ef4f0eff9fbd2f018be2caf6bfca56d848c318108526c8269b03448ca8183a31026a04f129428211479c41e57b603406256fc449544c9c80796018350f1317508c224144124d337f151845601044166d4114db382c4228b6f83f55d5ddf4520d0de282dcfbf175559d3ae7dc737e55749f735747afd70c6c72974443455a16bd8b0cdf4eb0b97f8fb1ee43c775625965e2187d2bcbfe07cb307af4dfdee9fcf1ea92e9f669d4f5a2f1053b6d91fe9b3f9f7cfcee82dc287155e30becc50df048c7f66f7f172e7bf727b0eb58f122f19021562223abfc69279b28b5647f742eea2ccdb438f74b04e394bc7d24a6cb8f10edfc77c295a8b3576856adefff692b514cfc1186eb2cbe397dcb4def1d53765183f2fb2a723ad9dd6407246bdf7fe62ff8890644eb58c16cd93e03399d46b38efd3d63d9bb3f32467807324755c62b9a3a6961c4a4257a0a2f504747c1e55ae78ee68ab28bb0b2c4f874f4cf79d2cc0c29bcc9772e0735ffe1a4bf7ca2d23de4af37ab9d8acee06b8c0046e0a541405b939964fad218840dc10860049e2f02d48c61d84f00b6157bbef50ea7da3a3a5aa1515a5747128775947c67f7d3cc8a8de6a8a947c74076dcff6f54cf80c118d96070808e926d2448f43bf38862d3529c33d5d94976c1168b1c4236a066250ec8a80eca291876cf8c4e6244613e2ed8d9e734dc01d5f1d4cc1d1dd4b87b75a6040ca42a76375900e968e940bfebe818f4ab9c9655c4edd9182f678ba8e840e6628df76eaf84690a0ae579bede0a55e34b8c0046e08523c01d335abad3b0fa530c5fd48ce1170e17360023305c1050ffdf996a64d4d11a4d743f19099b8b0deef9e9e8e8c9c7f6b0ce2635604539f21ba3462cd8b70dfde6008c382b9bb63621b33cb1b81e5662df3628dc55765329315090780197439d03302e28e43f62bf5800919be8dc97fb2cb2439fc0b01860ec1afaa7db2c74203dcfd79bdd024cc50860045e100263747ad38021300156ae519ab23a046ab10a8c0046e05922209e27305657031a066098d0b3aceb55d1ade330efff054f924f0e5e15dfb01f231e01fc7a8ff8570003301210809f7bf8d1e7e80ce15c41f2a0bbaeeea851b1d9c2910020f61123f0ca20d03bf018fa07b57baf5e19079f85237a460e2a66d93e8bdab04e8cc0734500bfdecf156e5c1946e055418008296ee767c74c9a27887c12223b9cf4557110fb811178351118c2f680571320ec154600238011c008600430026a20409858f4b336831a4a300b460023f05c11c099c073857ba095dd2b292ebd525c5e22946e4f30500deaf1b7deaabcfe809aabdc545959ddaa2443365755d735ca907b9aeb6e36937dacec29e555c9a9a4532ad2c7493f76f621896f6104300218018cc0b3478044bd6bda3dfbda700d18018cc05323803381a786f0192a20853907ff15ed7af16341fb33ac0596c2af489bf1c3f95ab2bb36f3d48c2355544a2057ee9ebeea997d4786d472dcfd5a628d649b5c991b4aa72a3995742a892a13fab353590228c2d4905181a94a3eb1f0569edcbd2b542d4e16614cc20860043002231e01c2c00295c4a7170b61f2f0880703038011181e08e04ce0657e4ec4cc8fe3577c930226ca2e0cfa0c2cd684f9cff42411f8d0509e2da2c31deda023bb38bee1f2f2d9ebac0cd5b04425a7924e3594a17eec6451415644057d971cb3a8ff41abe4f5acd56d9336f9f4cfc9520d266104300218018c004226fc14cf9220d7493e31d93815c02f0446605820a01cf50d0bb39fa991ad95a582f3e185e3f64704d81ad496a61ee7dfa4c7c168b8146df43627a0053d39e0441b4fb32db503398df3ca0873e5028ca42029be209aded8c9dfd43721d41e224a8a331dbda329fa0c36bee54c2f0ae39bf731d5b8e1dc96c83b578f816fda0b7e098ae033ab1375b62a7c9d92055f8694fc44b1215edc3b7b22ad6995f7aea49e8d0ea2edf4b43f903d1bec444899d80d3b50914cd04f29804147b0e69b26ea06bba90148247cf4484722d55d3eebbe143613a0ca8c38e688c83a41f09f1e18596b076cd17f9b47ed5226ba9cb9f69cfee16d6f51559285910b6bc37ff4b7069c9438e1be0a9d97a2dc6ba90dcc1c383927e63a7275e11436eddd115c6ae4ab1db399da36f870fea2b78d58ec2c3db9fbdc7533ef10fe1473134a4abe08b3638e39271fb45308efe51e312351793eb3c3c9cadb56bc27c0903ff7beed94b71a5f61043002188161890059911a941b71bb3dde42e14b77587a838dc6088c08047026207dccddf5b5c50527055510b53b716cfeea3dcb1c82c2d67cfe4deee915ab3d2c1ed416ff87cb3093cd977aba77f323125d8a93e373969fb0c90884687cfcac7783eb9d4c092488df95b1217352e27b100c375feae8f6e7473cb2cbddb2a720ab821fe626ad4fe1e4f2c609771a93e79d3c688c1a0a054dbd63f065dbe2699971fc28bf3507c7eba182edba1736daf1927c7410591c1da4b7e5fe32bec9afb5154d621116e28d94f8acf0de7d68419f4dde86c5b676fe799a1c734809def5cd739bc87c83375f8234606fee3b7e664d0956d704127309def4c33fde3f645550b7416ca3b1e3f8bca5d5d73e4233b9a8eedced34ae612cad419913b1ea240b17bad72ecf981d3fd5ac3afb94a783a0bc7e1e8d744f5d5e57a2a361510d1fddad6a81a48360b1d3668e4f6db320cbf51f594883f73ddf638e9b3921fd0912c6f81ffba6e8a0e49af511338e55e47cd8c113bc277ec2cfe0b9f769a7045c7cc40860043002c31d01671713c977ee707705db8f11180908e04c40fc944b5362b3c27bd05f262fad5f620921b1a470fcd1ede8134723ececdddc5cb9e2af376835f708f2800bb7394eb91bafc3c07a570206ae34646df8b9b903698a40b8956959a739dd81d365f1f8e2bf55b786b9b1770a7456dcf8377a7d4f204f0f782d66be27a99e396ac95e12509160636c6b17d2a0e6f68a7386313c74f7cba81f1b02ada6b93bd01d02704f993825286a4a90ac36f1b9adad0b7d66626f2b6e59271fc2348071ded6e321c7f1db5b7cba592aa54b10af193ba05e02d7e9b06ff55782aa997efaa7d7766dce7112c3841439597592771f95239471203fef00d2415dd0177097440cd20f11cad93cc718d4594f6536c755b693e03a2d58097fe841edcf29aee753d0f949791b026c2998a143e03bf44d928bd81c558f18386f9dcf6c43af2f9f22ee1000cad03f77d5764a91c52718018c0046605823d0d4d0804a7abf4887b52fd8788cc00841a037e41d210eab72d366fe1297044169f8cdb44bbb799bdcdc3d3c2ca968546fc1810d96a5f937ae57e4b816e67fbf6ccd023b4683c2c07d986b9bc62f71127c106063529b9594b5473ac4468319e4c3d1d74397ba7b5bfa15ec802d8ba12835ff8bb9ba9a7e83b09ebee8ae4d3f1b1d63fb65fa7c2b937b9944ee2166ec10c1ffb6ddec4a7ecdd5ec8b6be61587dd7e7fb10534a12b132bcf249cfaa249c746fcdcbbabbaed0f452ee86bcc1255ab5c27026d86fc87ee8cf0b1c15ed5756fe8ee445af98e903cf45fe4758e8d8b7b4bbf03e6456bc7c669f4b6e92375e6b1404bffd5829317a9ce1cff713621eeb3c4ee08e3e77d1757142fce03a0f783fd1183a9d5e702da260a82251d02407916cf5d959dfd638539300218018cc04b8f0099cad70dca4571bfdc967eebbef436630331021881de11e3231d0b826be71d047f646de5d5fcd48b691f5ee2e545bc6f4bdcaa6ce04d79d77e0aff7ce9f6ab22f1029b104717645d9fb6d8a9aab41a21334b1806443641dbb9cb146b2e0c64c96a43d4cc0196a2903ff472e85958f150e5b782c73b7cc6c200f912a185b31d93428ce1416bbdebf59a300f1ed2d4263a1b1b100ab477b6188b9a843f7d87f47c682564dd8d8689d3f8d6d3f8976b765daf0363a0b010277af8f8da30c903cd8234ff60ccde4b41e87310aabf56d73e93d778edd0efdc00861f3e219d698738bea303d21738a77c221c1dd6a10277f7a6193bed795246254e569d84118cfbb97ded6ebb1ff43f900faa6b5acc1cf5d5ff21294dd99e158e8cf74f5f7a0b92b75e5f1a04f17b505ca34b6feb948a476c507b31b305992e9e22ee0ca1cd2787fcb9abb2b3172d7c8611c008600486310244a0e049e030b61f9b8e1118a108b007ac23140cca6dc2dcd6c3fcaf1e68536b2b0161656bf11747aa4e3178703ccb9da4c8b4adfe61d7ea1f200e762b5a42b525db7af0661d393c6e1b9ceac07721339645cacd9c38f58136c1df73a369957d8a17cd6a798a97642796d6b39bb12c226f8d6e255ae67132d5c1d96782e1a4d35e9be1aeb6a5339284bee5bb27dda9632456bcb9512cab4cd4e35adbcb347d8bab603d18bf95b3f794977b3a73d37739736c39bde6ccda0cfadceb420c427b7317f85943286f1910772d717dd7473e53183e845839d97472dd8b725a5c3d2fac65244327d46cb3912881f142fd147bff0df6417a4ac836c4bfbd67675e636f1ed0ab46e1110bcff9351b9f5b22df91d13de4cf5d859dbd66e1338c004600238011c00860043002cf1981514f9e3c79ce550ebbea48b2159ac0398424dc248b779b667bd747d9a0a66ec240128a536eb5523d0306d450ffc196dfe89582c6f4a78262d326c6c88f26eae8243b3b91ae9ecc2c0768b96723aa6f1d493622a44f102a3b33d45725e554a1b39d5e7f7a68ea6aca8f359c41343e8964cb04a4865027f557930e7b6b063f0a3595235317cff3b92b558e0918018c0046e07923505f5fafafaf3f7af4e851a346696868c02714b8043be0043e2160f89d2eededed999999c1c1c1cfdb445c1f460023a01e02eaff3b2bb5a5aa57c188e2220885c01c86fb77c0081b82508c33f594280305aadf1c8051c8caa6a34dc82dfa4fb3b212d5b78a20d4d934407d7d14a70a9d30bd985e3c7460cad8b90ddca3d4cc704dddc23e79c4aee4793e77760b3015238011c0086004300218018cc0b344006702034797700a2a7aed0f4fd1f03ff02ab1c44b80007eee2fc143c0266004300218018c00460023308408e04c60106012e6e6168310c322c31c01fcdc87f903c4e66304300218018c00460023208f00ce04e4f1c05718018c004600238011c008a88180402050830bb3600430022f00011b9bdec557faae1e67027de3a3fedd6e587ef4016c2ba6f3da145bebe700eb839a0a34de0e761a56281d0dc2ba4e136bc9e6620a776156f3ad4a21c7dc693cd15459f9eb445b6b25054a12cf8740b63477f470b9839e96d0d35c578d8cacb9039edcfc1202f2bcdfa5e7f384712d18018cc02b86009fcf7fc53cc2ee60045e190460c6b09abea8b373939aaa5e763668bde8ee966ef835e4d676575dc8cfe59fcb9991df3648dd647eca81f3b5e22d0bfad341e6adb117dc8079cb8a45786cd28563158a54e935599136e387f3b5246c85766ac611d81d79884a7be1f1cccb75b02db1a490e591a629a6ccdf928c4291cc2d098bf4d85c96636a75c6c121dbd434a3ba1f93942a126b6939ee7e2db1a6af5aa4d5c99d3c2b40c495549edcbd2b34b51f9fe40c828be7fc2e29568faf310218018c0046002380111821088ca04ce0ebafbf5eb56a55515111ac81f60c9e2e31272c32b26832681ef48a9bb5e1f50f4835bb138839dfdf9fe3cc326d5947cf13161855eda026acd04fd7011f1a6a56a65a5bef9d9af58fab3bb47aaf11ba8bd0e1dcd9e5456fec756cf3fde08aca68982c8ff27a14baf78dfafad93b67b4797e952fab44f95cb9229ac77079f9ec755683e852785680505691d7b356b74ddae4d3c7f350761056577abeef129b09988611c00860045e2504e865aa5f2587b02f1881a142600843c1a132e919ea79fcf8f1679f7d666c6c1c1111616f6fafa2a6d6ca52c1f9f0c271fb23026c0d6a4b538ff36fc256ba1037bb146df4a647dd34d7661f722da0dafe9dc6bd93113a8d2b8ef44852b1cf4105a7f0e4df52abf6c02e054867f7acb095ef7657a627ce28a12a59bd7b37eae144fcd79ac54ed4255bf9ad263de5bfe3354c5cacb6c4ceb612575d27483abb630d42ce089568f85362ddb0203ed9bb8934584610b0d54037d44a594999da23355754767ead97288f921b7d38dff76d1eb5a06773d9f9550cd1d7203f6e1e8fa98abcb923b8d4c8573b663305c0e1fc45333a0a167ade2f878b351919e877c7f037b6f9511911a8e2599bc13e667cdf2a7400362446cd8567971cd2fe317e0ea5892cdf6a55ee5deeffc6c3bb19482bd79b1209881db7d9f36edd478887aa1282af559b69a4a57521074ece89058e5c0db25ac05a11592708fed303236bed802dfa6ff3609b33aab0184f82ce12c4473b777621a49596ef3593626601a4f4e4ee73d7cdbc43f853cc4d186d6a7ccabd360c7fe5f9cc0e272b6f5bf16ab32ff05d1a94476a388d59300218018c409f08dc2b2bbc0fbf448491b3a3799f8c03b8d95051dc006d4b84818b9d851a626476accfbccdb9cedf141587b9a8c18f590681405b6559bda9a32d6710a2c3504424ac4446b6c6af8ab7232b1360de379148141d1d6d696909f9008fc793bc84ddf5b5c5052705559fb521278ecd5fbd67994300d79acfbfc93dbd62b587c583dae2ff30bbf392f949ae05bc732bc2dd2c6e9c89cfb04c357f1422bf43ad44253b67f7f92ddf5589ac96d62f9988ee5ebaf42b84e37ab63eebea9d4e991e417f0f5ceaf45a8774eb608926d9e3182b9fa0632e398b2735b5c632f4ee0601a401af7fd938c7aae1f462fb269a7a23253e2b9c4a36a4c5266fc3625b3bff3c4d8e39a404effae6b94d14e7112d022fd11b69b34fcc346bae2b7fc8c4d264e1122fd1f28ce9271c39d93b2fb847fdb33efe2d5a554f5d5e57a2a361510d1fddad6ad1470477fa8f35f70f5915a0d869cb1da1555e1c8b1ba1df3de71e9b817ecf2b47a169d3a12ac2710237ed866043bb0f4f579477f300d2dfccd540777b9083be99d812a8a1871ee2d35596f7fbc39d9635f193cbbe3febb54a5073620e61cd5e11c19b7ef847ca80ba0d74ca063ad88d079d5d0f7d6d6bea2df3b6662fcdbe55bfda05112c80d8ccf1a96d1664b9fe230b69f0bee77bcc7133277aed93e2499fb0be360c4b45ce871d3cc17bcc5bf362dfa5817824ef1fbec208600430028347a0eb56c1c59f2b2117f8a365ecfb6307af475692acc83e18b37e4f2e4a6e7f12a2eaabb95780ac88da9c7bf676a38f85b851a6f7163e1b2a04da849f6edbb625f9b8cbe083e3ce7f1ddcffdbdc10be69bf2ad4e71c2af714f4b4a56dfab4694b72f45378aba0f1e92f8b0f46eec8425b93e31dfbc54fa9b29198093020403e50525222cd044a5362b3c27bd05f2643806e29b34b2fc71fdd8e3e7134c2cedecdcd956efb6fadad060df7924ec4a36e4d04a176732d89c64bbf8d649af2d939d1f5a27f209b3ca80564ace7ccb1a6ed81ddcb4c384e88d43751dad04ae9a121628c9e89ae16a29ad9e9d2f9a002a1e4d9ce069ac860ea32cf1c7aaec194a0a82941120e99a3ad2dd32862626fdbdbe0adef8b12b7e69b851b4f7d63b22397ea1020ef3e2a4763fda65ac2393fd418b93789e29131ade72142399be71853e64f652804f19ab1036ae6be4610e2340018812dedff663bea9365e7ae2d5d7a3db4de9247b86cdb7cc3ebd0f5fa2dd6a783c97519547ad04c42f82ed92db9830ae561fc1223be39601a304c7d7b3cdafca086448e04ec3ec6521142123a2d081faa8c079336074c059d6ff88e453b1f91ab11015998122004d769c14af8430f6a7f4e713d9f82ce4fcadb1060cb32b95ad56b0336dc3a9fd9865e5f3ea5f7b7e705be4bea7b2481101f310218018cc0d323a0e5f1a7088f5b6951fbba862eda20f891f18245eea32641bf803a05b6fcf4b430e9fd2a564706f30c0c012dc445dc31038f41656b29cfcaed9ab69a6f2a4b633f579f935dfe69a99c9084842e83a7f3f6696d9093ef14a6efc8ba87d04439aada1743f7bfa976952f9c514747c7cfcf6fe1c2851c4eef83b499bfc42541501a7e33edd26ede2637770f0f4b2aeed75b7060836569fe8deb1539ae85f9df2f5bb3c08eb6df74714220a703226e8248d0e400a3b45c2761d08c4ccca8c4c97c77c98a4864a173e0e99f8774c04fe59984535f34e9d88855765775db1f8a5c602e639aa45e68c5f7f966416e59795999c8cbfd42e8b76edb7c94179fea91e95f60995e0277957c1a6d6c3411509c19d03563fdb516709c408e01a6c8f5ce65ef961844e44fa5de5a1dae362a6f81189dea9dd197a404b46d4a0a292a5b4534775f1f52e347333aa94af3241d082c82d0d27fb5e0e445aa83c87f9c4d88fb2c76dc908ad70634569f0b689b280896740800e5c5be4bea7ac4020626610430021801351010959cda9b5240fdc4e939fc79c38796549b1255dadb6140e6a00a298cf2490ac98eb52310294c0f89270ec68ba75d0d70d87f939a49c3a0acc44214021cd4bcf7e3c87b77201e75d89210e34237138acad2a3b71d6d86db13e77eb17db5051d732913db2acffcf9d3efa8b764c7ba7fa166d3a59fc72cb2852b51f191e81da72971c40d8d4bf432d556c5893a2bb7afdb6ff0a641ee4f2530fa37f48b642f0b742971d39e5cb0076af7fc7cfb3a6ae852a7307eddf67a03ce1db053cb796b62b4a38a0cb15e10bf7eef65107dddd9b9a9a4a4f9f5f9095f86804f6dc23391d1e91c23d3f9911f7b31fe503ae391a3d6e5cb77803d222e66565fdd1aa2f4ed3b8e9650564d9c1bf1c5ea59da6c6ec25d65df81080e08e237ed2fb3d89a18690b92e222dabbe9e8fc8d6bcb761f915006766409e906a66058716b6868cc9b372f292929303050360d002708ae9d7750d8c6479f04edf7d02cbc9a66b9eb686513342edfaa6ce04d7977715098db5f508b886a6c27c69b20545f5cdb3a9e6b324e87acadba2b0dbef5ccede0d6d5daa66e18a1af8a93b0b6f74755077fa65feea6d2d2eb926f284dae13aa2dac20913a2b1c510de93d482caa3dde02a195c5d037819a2a737235e8f763a2878feffe45de9bde63fe16ec5fe266cc9a0680a5ed75d5bf9a39bafb052c480b459745d40400c2085af71f0baa1be16e59b608cdd03702aacaa265e4888e5fbb458251bde577514b0b493656ff52958746332dfdc8d8e5dba55d4b7d45be7b1da8d01f2a321be780c85f0ae11fa325ef9008f98e67460a4175fbcfdd0486eab25f2145904c8860ad082a6d870ca1a303ba49280306683c65866c294dd97ed8f55cb3b9d3d25b1b3e3910bed8c30dfa7c84e951fca8ec0a41920b3fbeb8223b70143f5d48aa786d50edc5cc1664ea35c54446ed8b7c97583d92b10d9f620430021881a743e071e1d72905968bd6c67ef6c9acb1e5fbbe3edbab6ef04d5c64766eb6f8778e6c3ab6a7a157a77a6724d9549c9e948b024d581b96d45382b9d444a0cdf6fdc3c793b7ccafdfb1fe201546b415afdf76f4cd8d71c70fef5b61f0d3a6981c4a0f1b91633b775f729c27429e113189fb923f9e6b4bd7d896b5e3b44544c2f1e3c7f7c5455ad02b92a8e004f6ae87cd7772eb1d139293133effd8740ca5c068d6ea84e4c3c78f1f8eb0c8fd342607e2032a926f6e6ea2eddcc8176efbf80865275b691296a1991b13b6cebd53d215bdef73873b97eed1ac1c8bb9f1fb626cee95dfe995049df7ca381f80efa10e77f6a40bd9f489698298f0a30f5de2920f1f4e8e5bf43a874e9159dc043b957da7557409afdceb6abed225935c971d8cbeec1011f2e6448859075706ff0f3ab8fa5ea0d43befbcb36cd9322323a33e6d20cc6d3dccffea8136b5b6121037b7167f71a4ea1423c1f12c7782334deebb4182869419ffd8c590ffe2bc6e0a240074219cded97ff182eb9eeb48c7ab3eca959d536f41c27ffd27e087a47185944ca0f3ba444a2d84af2e61934bf967f6849fd149f08b0c72a189ca1fe4b955ba77ea68fac786fb2003ddd3ee6defe3b12ce262a8ee759aac4d67027a5c6b7b99166965453294ae6b7f2f589b514053b432e8159010d73dfff0afee9ed96b29aa564e395ff68b541cd6f7aad07d63b531f2ba61b5fe866f9cf337010e70c70ca1a5ae676816adbd39b3acc5f2fa33968f45698f43f993c5d2c4d4ff4b13b9fbe66ea6ae89dc9ad9d28ad2d65e833f98799c963f4b4254aea8e5f49a336b3368655e176210da9bbbc0cfba2fe3695668b650b9c893bdff06fb203d85ff0d92cccf15ba904d1525b93017dbe418ca5d24fe81a2cc967f6d84e7fc9a8dcf2d919f3dd2fd02df25568fc438e0034600238011786a04da6b6f76234b1f776a5ab0cfc2a997f6dd82d69d8952b50adfa7527a7f270648459b2d083af7274c56c4fbd86fce45cb526ec8b6caf42786ef0f0601088c4396be09d187cbfca5282b4dd81662212cee4233fdde3405757343fcbedb744584bc386c4463a4cde1181868a1df380670468730940d461351d6de2ff73f9c3bd3e54d475386ccce09cc6d486bebc78ba859bcb64c87047453d4ef8fd92fec421c2a6a7f08c133a800b6d5ef5376be397f11fa295dd8f681aa81f55a06c630ae01698db130b0b5e1d2dd1994511203a87371a175bad03a671ed85fd58654a8ec2c3b528efc3e7fdf9472d194ef45210385cd4d762274bd2c4d4c98dfa92d1d9ad4599fb32d8bb3f5f02c84ca285d722b38520475ca60ff3bd5d1fd92f18487870fc022420ff200e8e35c7c602b99d00aedcd1ca23734349f12fcc923b2992475901eb51e4f6f21a62d8e9cb6b8f79a9d93705a9ee1d44a42fe06d30324212e42e3a7046e7cd42babe28cf0fef689f22d8755f156cb623b113196b65b99a14f8abedf3741de71d44c5dd981febcb7dfabaf81413d3d0461d82b4e389ca8a7027d85c2759c73a25e864638c4d73bc4cb10a4a70f6bda90afb1a34c96c29b394fb9a287b0a050cd1233d48808c35e8ca08f50a1224419eff78d54bdf884c57819cb096baffa9f1445a4d79a5412a858ec02054f028118f88486ff097da1c844bf36f557b3ff834c83dd2015922d2ff25d62f548d6387c8e11c00860049e1a014d993844be739bee28970c1762eae96a6f47ba30e3adbfc27cff37355420673b39de126acc8fecaf83dc5db820eca2044f2285a9ba93c26216096088112ecf12012d8ef86142982b2d5a3217d2866c562282485d4bee75e02c884fb6292e2e2f166cdb74c061c517310b2c18bd4a9c0c798cb456eaa4feccfa1d47576cfd22d2c240f853cc3658875052644c929050a748286c421c530b99913d5d9dc8d86222bad2893a7b85a5127227e229125a0606a819423ba628e964b42856cfea262b9152cb196380c648e756a2aaacefa03f64c7ca0fba6874b7057fbc35f94b158988d82ce5c3c81a1da4ecbf3a1498c2cb9549032422049730904f032477148fec9c7a84816c1aa02834f06b1dbdc1a501e29a2007904d03245420caa40103b74a4e82bcb9d534c573fdef7b37505381e50a55bb6c459d79a80b1230202a72ca89f579a1a8b34fe6a1bb69ea16f6c9a350533685c3e55d62b31dd3300218018c804a04748da037a05270f331c425858212e8289d20e1d53577d44495176f3d46d25010b5a77dfe3fdbb66d2f699730b11e09c21de56657406845e6a7ef4206bdbf0684858b335a2f1092d045cb2a2a2512262e30eca41f2629373e192c021cd475e4a74a90aebc0263015c20a0e618d920942ba88406f9cee2335988eb6204812c1b91ae536be24474e9b2b0b3d780cefaca265397598b42a2d73aa02a66740e755799b357467ad6d6740fa169d31c4d399cb662c11d34469c64f4da592c808e0166a83f6aab8adef4e9a79b3609c1d8fe0bf51e7752994b9f455927c762d14474fa8880aea4adacac927696d54d562254d776645df0cae07565123b1ddfdf07253171dfbeb8082da4b5362e66a0690028956dcfeed3257c1323f0f4081013d6e54fffc8680297906f1b52d64c4c2eca7f4dbff76b5f990353300218018c0046e0a541c0d8e3cf9ee5fb92b7d3c34c0d977ee4dfdbbcabebe03f7542dabeed97905ed0d64f9de9af7f3af8d0d4ec2706b1084c5ee1ea6ab81ea1152b3c91898cb384ddc19408d749a06b59517baa4b5f3f16d0ff9edb04fd0778ae800c7e437d4ab5e6df39fa69c051500c1376630ce0683ceb8bd02b9b3e5d49d1d0eb5b121651ade1ac448a41fbcd90f7d3b66d0bce4213e76f8d0f718494f2cadef547219ea7caeb1bd7425ec114654ec91d9923c771fe5ceefaf080cb409bf8ba160c159216899ddcb571ef8bc95a5a6070b3cc70362d2d89805c4f435b7ae44ab149dbfe9c8b60a84ff2071652c5f489b45f434927e4410bb67f2e8cfc7465c0018af5f515c95fc2bc5f56375989941087329442575c6058157336c6600c1a636424315b725f9de3a827cc58077578310f4600238011c00860043002af2802f5f5f5fafafaa3478f1e356a142cb0019f50e012dc8513f88480e177bab4b7b76766660607072b22d1d5fe98ec1e3bb6bf9d03ba6e7efe3fc9dd0e4b633e9caaa841e99a5e260836c654baa12e8114c486bcbdf99867f20d41889dba42986f5008b4b5b52185f5583adbda60a43e473e426525b2d5d8d9d9062df08ae26c9cac34ca1e2d9999079d65ab83f7471e8eb7e96aeb1ab452d69a0642a4ac92330bb1bac94a54bf1ef5ff9dfbc9c7d5af12736204300218018c0046002330a211d0d21ddbdb17a01a89c6462d82b7d0bfff3400543c4d12405b40f0a3529f44a5aab606df795a040202029e56c57394df163c9cac1d0430b0dad280a470263020b89e37f3bd92e2479d4843dbc0d6d9e2593eaad65b95428eb9d378a2a9b2f2d789b6d62c1366fb72bd47545dfc1006f5eb183a5a5b4a185989929bcffcf8941e3d73fb700518018c004660e42260ecfe498cfbc875ff95f37ca0a1e78b03a05354dfc431a55618c2458ac0089a312c1008bae5173390a2f0b29e90c29c83ff8a76bdf8b1a0ef59554f6b3f599136e387f3b564776de6a91947aa063cb5aab3fa97daad5e955e9ed532a2acc4a7b554857c7be1f1cccb75d4da47e2f2b41e49f4a838569edcbd2b3455c659157c988c11c0086004300218018cc0cb8280b6314e03949ec508ca04befefaeb55ab56151515c12847251c5e4e0231f3e3f815dfa480712a97be1f1ac335617f00bacf013e3406def9a03b73b5ff897c63795b5889f22c437755b3fe7175876c9ff4537ad4a765e4f5acd56d933689b7baec9315dfc4086004300218018c00460023f0f22230f0a8efe5f5a57fcb1e3f7efcd9679f191b1b474444d8dbdbab1068ad2c159c0f2f1cb73f22c0d6a0b634f538ff26bd71ae864bd1466f73d8f4bc2239e0441b4fb32db503398df3ca0873e5028ca42029be201a86c820e46fea9b106a0fd39b28ce74f48ea6e833981dc2995e14c637ef63dc4dc3b92d9177ae1e0305da0b7e098ae033bb7775b62a343d93055f8694fc44b1215edc3b7b2299a13cf7aea49e8d0ea2edf4b43f903d1bec444899d80d2bae91bd2b4675d34330355137d80de788848f1eea445cee9ede91bf36915a2acb77e7a4b80fdd299fea2e45b9d7a601c981937362ae2317966ea00ad94157ce5c483e5989929bbd4751d9f9b55ea23c8a30fa70beefdb3c4a6773d9f9550cd1d7203f6e1e8f7208aab9b923b8d4c8573b6633b586d6e1fc45333a0a167ade2f878b351919e877c7f037b6f94d066f943d2a3db9fbdc7533ef10fe1473134a955a45ee6560242acf6776385979db8ae7eb0ff91b32283bd57206336104300218018c0046002380119045606465028ce72291283a3adad2d212f2011e8f2781a3bbbeb6b8e0a4a00aa276278ecd5fbd679943a8d79acfbfc93dbd62b587c583dae2ff8837c3229b2ff574efe64724ba1427c7e72c3f6193110801fef859ef06d73b99124810bf2b6343e6a4c4f7206968bed4d1edcf8f786497bb654f4156053fcc4d529de2f1f2c609771a93e79d3c688c1a0a054dbd6135b5ec965c19c78ff25b7370bc1e2ad8ae7b61a31d2fc9470791c5d1417a5bee2fe39bfc5a5bd124166121de4889cf0aa7d315894a9bbc0d8b6dedfcf33439e6b047dabbbe796e1399981bf55cdefaffd68ac6e5d7cc3642f7afe535521264e142f7dae519b3e3a79a55679ff2741094d7cf93d9224ca27460c7168197e88db4d927669a35d7953fd4a785c9c2255ea2e519d34f3872b2775e708ffa677dfc5bf48d9ebabcae4447c3a21a3eba5bd5a28f08eef41f6bee1fb22a40b1d3963bc28e04b43cc1e291cd1c9fda664196eb3fb29006ef7bbec71c377395ab51b0be0c8c5715391f76f004ef49bc1efa376420760e0c68cc8d11c00860045e36041e5414c30696a309039e9d85c2cfdd43610532b13312ff24bd60c3fbb0f3055b86abc7083c1d022331136010837ca0a4a4449a0994a6c46685f7a0bf4c5e5abfc45266db608e3fba1d7de268849dbd9b9b2b57fc8504ade61e411e70e136c72977e3751858ef4ac0709486ac0d3f3777204d11d4d0cab4acd39c5453bacbe2f1c57fab6e0d7363ef14e8acb8f16ff4fa9e409e1ef05acc7c4ffea9ca0e7b41045424d818dbda85345a814d9c338ce1a1bb5f46fdd8106835cddd81ee10807bcac42941515382e495d357b6b62ef4d1c4de56d25e4edefcea00da9b3b9b47adfd6f39f36dea3e79f711b4be671cc8cf3b8074a86d35c8bb2492a002bd04b40e850f56a23c8fbe2f4adc9a6f166e3cf58dc94c27035dd158bfa9d4fc637ea831726f12c52366f8d143847236cf31069caca732148278cdd80135735f93d9194d4fd92382ebb46025fca107b53fa7b89e4f41e727e56d08b0657920aa5e0630e6d6f9cc36f4faf229e20e01a00cfd1ba2b69df228e22b8c0046002330ec10201bb30fb6acdff304258f7b12229f09907727d93f296a37ea73b300f819aa3a98d4c30fb3b3805f85411435c5fbb053dd4a2b2b2badadad995559d595c17c1881678fc048cc04747474fcfcfc162e5c28bb98accdfc252e0982d2f09b699776f336b9b97b78585211aede82031b2c4bf36f5cafc8712dccff7ed99a0576cc435118b80f736dd3f8254e820f026c4c6ab392b2f64887d86830837c38fa7ae852776f4bbfc2a36576d593ff16ec65e96afa0dc27afababb36fd6c748ced97e9f3ad4cee6512b98798b14304ffdb76b32bf93557b32fae99571c76fbfdc51630f04799587926e1d4174d3a36e2e7de5dd56d7f2872411f639618eb7b4d81b3b171716fe977c01c66edd8380db956f5f24ee86e50fc326625ca29d4f7f966416e59795999c8cbfd42e8b76edb7ca41b8848f97a643a325826b7b0d42b15ed3d8196feab05272f52dd3efee36c42dc67a9705cc5cb008aaacf05b44d14044b3a0480f22cde1075edecf50c9f610430021881618900611719dfb9c8bd6812a9f0ab0a3f26931aeff7c8fdc6b07bf8dbcaf5e84618fb3d35a8ea89f761a71a75d02c172e5cb87cf9f29c3973cccccc98fd19d495c47c18816789004b50f52cab7bc1ba61ab9479f3e6252525050606caa6016016c1b5f30e0adbf8e893a0fd1e9a8557d32c771dad6c82c6865b950dbc29ef2e0e0a73fb0b6a11518df050208e2ec8ba0e2755a5d5089959c23020d8c4108d779962cd259aaab2da10357380a5287dd34978f42cac78e8ceb702d8a81d2abd5952210d7cc7f0a0b57efdf51ab2bb930afa3b1b1b100ab477b618ab470a7ffa0e517d089448dd8d8689d3f8de6b629dfe885aebc01876e2440f1fdffd8bbc37bdc7fc2dd8bfc4cd98a5519c9226cc427dd1da4357e854a3b1baec269c104630f6e6f1b5bbed5cee78ae4ee7dd9a074c2242b343bbfce3bcba4644f62e744498b11029e572a5bdaefa57334777bf800569a1e8b2889a00c05424a8862149ed65d9223443df484e44e142cbc8111dbf768b442a532d10284dd97ed8f55cb3b9d3d25b1b3e3910bed8c36d3c8184e951fca8ec0a41920b3fbeb8223b70143f5d48aa781950edc5cc1664ea35c544a6faa17f4358ed94a9119f620430021881570a810e98be265f1e0bd3ffe5c2af0c8b7dd0d07beb4171eabf468d2aa0fef8e5428afeb822bd60942e9c91813eff72197535b5425e8ddc959ae20ff3930a4252991f5198ec77755420150bd045d9ce26a1e02a63924b54156c632c2eb09759a00b3fb6424a90de20c93367ce1c3d7af4fefdfb121a7d2485b1fcc0d8d8106a2fb7512102da3bb8d1549ccaa749a30293c434159ca450c0088f72892a56c312b9daf1c5c846803d607d253179e79d77962d5b6664d467488908735b0ff3bf7aa04dadad0484c8adc55f1ca93ac5e0c1f12c779222d3b6fa875dab7f809576dc8a96502dc4b61ebc59470e8fdb06a73a81b09fb69451e6c4a90fb409fe9e1b4dabec53bc687ecb53bc243bb1a49edd8c6511796b742bd1328f93a90ece3e130c279df6da0c77b52d9d91248c2fdf3de94e1d23b1e2cd8d625965a21ed7da5ea6415b5c05fb41df27ee8d98e06b56a629d4fda5136ae22723ae7b514e8babe785b58c48e8849a6d92f67b6272fcdedb5eeed9b0735e4ecd1247264361252a56d775edef056b330a68b25646d164ea84eb9e7ff85777cf6cba22ad9c723ea38f1155eaa8d07d63b531f2ba61b5fe866f9cf33701ec0392ecfd37d807e9293c0392cccf15ba904d1525b990ce991c43b98b7abfbb155e06e139bf66e3734bc63346883fbb87fc0d61b553ae4e7c8111c00860045e6904c65af8d8e7bb54eb4eea8a8995384a36b80669fe72ff0dbec9236145ab01451e6be7e3d07e1bd850d2415b17932ea53e69892c1cd515377271bffd9debbd98450616c40341520ff231a6eb92512539258b6f4e7a9bc8bbefe66e72273db2c1f0e0a32761e3e89bc2d46325259008444958e58eb078c9e9d3a7c78d1b07fd037ff8c31fe87b6471eeb186c0a2f627498248ddb7d3239f44bac00440be6b5058de6d818b417a94e1a4308b27077dc011564ef7496f87e5dd3fe86e52911e696f78b0f149186375df96c899852f462a02a360f3f091eabbba7e93642bb4d0730849104916ef36cdf6ae8fb2414ddd84812414a7b4b5523d0306e2667a75d5cbf1fd46af1434a63f15149b3631467e34514727d9d98974f564663920c44a94abb2bf0b92848679d8e451bc4610cdde4e6fffae4f102a3b39fad3aa789f24a9dd006406fad30c244c2483ce619807fce24bfdd5a4c3de9ac18f424d956c799e6f8852e5988011c0086004860681fafa7a7d7d7d18c80ecdd0d085ce344633e3dae11cea80800196e186d2dede9e9999191c1cfc9415336a9f52c970111f338619e42bb6f77ffff77fa74d9b3665ca14b87e6e38e0906fb8bc2d4f6fa7faffce0a2da44f5ff52ba8812014027318eedf010dc704a1d850a0a74419281cfde6008c4256361d6d42473e37006656e280ac620bc475e5138301e9636756cc01182e425fb62b805df279514dddc23e79c45ed9f37c43d82dc0548c00460023300c116002d3c71507cbed9bac9f44320dea123fc85217dddf53db9deda4bf03e49de2fcd6e2ecd695bb344edd765b64417392252eba4886ad936c6aeeeddaa558b40803034a875ae2c0d7d9905d34e1a061dea2c619f9bc27f113291d5451b093b9e4b587e950a39b080d028d2108f18f30dd5a064d688c20f309239399134d4d4d67ba686b8bd99fb4dfe0eb86c5b70b607634597150d71eb53f0941d44953e3934808354861aaeea4fcdb4fe22dc80a559cb7dbc30c684ba05a99aa2953642e652dc2e718010a8191354f60689e39e11454b482da2e00178c002b02f80d61850513310218018c001b02632d5c603adc0321d94905b2d242c226a0bff752c87b150d7f70e13b86c47223504f03f4c08b8b960beac8af801966e2a53708032303b93f260d50531c946a9bf0c7ae38d6382368544a98340d00ba829d3a26166076a3901c67603096201b2b1aa8cd77a842a6fae8eaeafa14cb7a43df80b67f4747c70f3ef8007a03a469007d87e583a0f567578016b2383d1679ba9bb070512486335f481a4021486185747605991ac86e890a4d983c1211c099c0209e3a616e6e213b2868102ab0c82b8d007e435ee9c78b9dc3086004861601c2ee0f29118f27e916e986d450d133591608d3820dc912d4e96a0853844ba9681835c64c2aa7a7e736ef59f1874576121388f1912968a5ebf551a38a0f5648882cc7818813e3c37622e46ce823ad8556286fa7b601dfa228b9d59eb2b048d75074b018521771b180a3e2b2a693274f7efffdf767cf9e0db1b9844fc5d1996e6b34e0df3ebb33c85e77d428dd19eb5d8ad203595a20259cf78b9283ec0d21d318a56b687fb0585eaf098ba03c07be1ac908e0790223f9e963df310218018c00460023204640fd81c543354f60a0d0b79124b4bbf70ec219a0bcfae2b70ff245d9614ea9819cfeab2061a91e2d44709e51b8cd36d048855134abec50206a28917dd33745c561d0eb82cbc84240fd7f67dc27f052bf19f74a8a4baf14979708a5db133c1b735b6f555ea717046daaacac162f952a5313d95c550dcb83f6969ee6ba9bcd645f4b764a7855722ae99448f475ecc7cebe44f13d8c00460023801118e60870607e9e742cfec07d514b9c5a3974946865ae5ecc2235d200308232e959a501947aaaa8e72bcd2ac74b44a59c4d0fc169807af88d542e9c09bccc4f9e14e61cfc57b4ebc58f05bd4bf43f0b7bc98ab4193f9caf25617fb453338ec096c90ae5eee9ab9ed97764882dc7ddaf25d650abfdf45754722ae9ec4f13dcefcf4e5615c2d4905181a94a3eb1f0569edcbd2b542d4e16614cc208600430021881570001c28277fbb6657bbb63ef4ce561eb1561e113e8a3384a69d87a830d7f4608e0b5839e11b043a29698f971fc9b8bddff6f8df2e68b43a25faa441356e8a75f05f8d0507e2774b8a31d9a659725325c5e3ebb43479dc53d55722ae9941ad3c7493f76b24892155141df25df48926b2561e18334e37ad6eab649793efd73b28a63224600238011c008bc0a0810e32d2c5e053fb00f1801f510508efad4937b95b95a2b4b05e7c30bc7ed8f08b035a82d4d3dcebf498f83d17029dae86d4e2df1951c70a28da7d996da819cc6796584b9523b0a9382a4f88268d87800217f53df84506a71218a331dbda329fa0c5635e04c2f0ae39bf731d3b8e1dc96c83b578f8102ed05bf0445f099fdb33ae91d0664f0260bbe0c29f9896243bcb877f6445ad32aef5d493d1b1d44dbe9697f207b36d8899032b11bb6cf2299a09f5200838ea03751137583ddd40024123e7aa42391ea2e9f755f2a5e9f61461cc50f85ac1304ffe98191b576c016fdb779b0e530125dce5c7b4efff0b6b7a82ac9c2c885b5e13ffa5b034e4a9c705f85ce4b51eeb56970db81937362ae23979e4d45dedc115c6ae4ab1db319d04387f317bd6dc46267e9c9dde7ae9b7987f0a7989b009b421166c71c734e3ea8d8b423f7881991caf3991d4e56deb606cce5903ff7beed54301b5f6204300218018c004600238011780e08e04c400a72777d6d71c149411544ed4e1c9bbf7acf3287a0b0359f7f937b7ac56a0f8b07b5c5ff11efce4b365feae9decd8f4874294e8ecf597ec2262310a2f1f1b3de0dae77322590207e57c686cc4989ef4130dc7ca9a3db9f1ff1c82e77cb9e82ac0a7e989bb43e8593cb1b27dc694c9e77f2a0316a281434f58ec1976d8ba765c6f1a3fcd61c1caf870ab6eb5ed868c74bf2d18125c6a283f4b6dc5fc637f9b5b6a249b2a0b132f1464a7c56389dae48aab7c9dbb0d8d6ce3f4f93630e29c1bbbe796e139956f1e64b9006eccd7dc7cfac29c1ea9a40c24ff0a61ffef1fe21ab82ba0d621b8d1dc7e72dadbef6119ac94575e76ea7710d63690dca9c88552759b8d0bd7679c6ecf8a966d5d9a73c1d04e5f5f368a47beaf2ba121d0d8b6af8e86e550b241d048b9d36730151e55a00004000494441547c6a9b0559aeffc8421abceff91e73dccc09c601b05818e37fec9ba283926bd647cc385691f361074ff09ef8093f83e7dea79d1270f111238011c0086004300218018cc0734400670262b04b5362b3c27bd05f262fad5f6229b34b2fc71fdd8e3e7134c2cedecdcd952b0e29a1d5dc23c8032edce638e56ebc0e03eb5d0918b8d290b5e1e7e60ea429029dad4ccb3acde90e9c2e8bc717ffadba35cc8dbd53a0b3e2c6bfd1eb7b0279d426661633df937f05b4642f09a848b031b6b50b6950737bc539c3181ebafb65d48f0d8156d3dc1de80e01b8a74c9c1214352548569bf8dcd696995164626f2b6e59271fc2348071ded6e321c7f1db5b7cba592a05db8abd66ec807a095ca7c3bed55f09aa66fae99f5edbb539c7490c1352e464d549de7d548e50c681fcbc034807c1b210e45d1231483f442867f31c6350673dd598ae5fd94e82ebb46025fca107b53fa7b89e4f41e727e56d08b0a560860e81efd03749b0530b5d543d62b879eb7c661b7a7df9147187005086feb9abb693310f7f620430021881e18d007439ab3db975787b8aadc708bc4208e04c40fc306de62f7149109486df4cbbb49bb7c9cdddc3c3928a46f5161cd860599a7fe37a458e6b61fef7cbd62cb0630434e45f02986b9bc62f71127c106063529b9594b5473ac4468319e4c3d1d743976073621545bc218a8abb5d4dbf41584fdfecae4d3f1b1d63fb65fa7c2b937b9944ee21662a2cc1ffb6ddec4a7ecdd5ec8b6be61587dd7e7fb10534a12b132bcf249cfaa249c746fcdcbbabbaed0f452ee86bcc1255ab5c27026d86fc87ee8cf0b1c15ed5756fe8ee445af98e903cf45fe4758e8d8b7b4bbf03e6456bc7c669f4b6e9abb5f31db4f45f2d387991eaccf11f6713e23e4bec8e307ede777145f1e23c0021158f184cad3e17d03651102ce91000cab378eeaaecec1f2bcc8111c00860045e7a04c883eeba2b4bd0ceb3b7a37c2c5e7a6bb18118018c8018019c09888120b876de41f047d6565ecd4fbd98f6e1255e5ec4fbb6c4adca06de9477eda7f0cf976ebf2a122fb009a815645d9fb6d8a9aab41a21334b1806443641dbb9cb146b2e0c64c96a43d4cc0196a2903ff472e85958f150e5b782c73b7cc622f26689d0c2d98e4921c6f0a0b5def57a4d98070f696a139d8d0d0805da3b5b8c454dc29fbe437a3eb412b2ee46c3c4697ceb69fccb35bbaed78131505888133d7c7c6d98e48166419a7f3066efa520f461fdb4fa6b75ed33798dd70efdce0d60f8e113d2997688e33b3a207d8173ca27c2d1611d2a70776f9ab1d39e276554e264d54918c1b89fdbd7eeb6fb41ff03f9a0baa6c5cc515f1abef72a5371569ab23d2b1c19ef9fbef416246fbdbe3408e2f7a0b84697de667e158fd8a0f662660b325d3c45dc1942d7430ef9735765a70ab73019238011c0080c2f048890e2767e76cca47982c82721ea7f870f2f27b1b51881570f01f680f5d5f3536d8f08735b0ff3bf7aa04dadad048495adc55f1ca93ac548733ccb9da47ada56ffb06bf50f1007bb152da1da926d3d78b38e1c1eb70d4e75021162c6b248b99913a73ed026f87b6e34adb24ff1a2592d4ff192ecc4d27a76339645e4add1ad44cb3c4ea63a38fb4c309c74da6b33dcd5b6744692d0b77cf7a43b758cc48a37378a6595897a5c6b7b99a66f7115ac07e3b772f69ef2724f676efa2e678e2da7d79c599b419f7b5d8841686fee023f6b08e52d03e2ae25aeeffac8670ac387102b279b4eae7b514e8babe785b58c64e8849a6d361225305ea89f62efbfc13e484f09d986f8b7f7eccc6beccd037ad5283c62e139bf66e3734be43b32ba87fcb9abb0b3d72c7c8611c0086004863902848985e4976b987b82cdc7088c1c04f01ec3fd3f6b926c8526700e210937c9e2dda6d9def55136a8a99b309084e2949e56aa67c0801aea3fd8f21bbd52d098fe54506cdac418f9c9c41d9d646727d2d59399e5002df76c44f5ad23c94684f40942656786faaaa49c2a74b6d3bb230e4d5d4df9b1863388c627916c9980d410eaa4fe6ad2616fcde047a1a67264eae2793e77a5ca3101238011c0083c6f04d4df9454d51ec36445926e20d15e8cfb049ef7b3c3f56104141050ffdf59a92d554113bea4d6d95408cc61b87f078cb081bd0e15e0d153a22830f47bd96f0ec0686065d3d12674e47303606625f66b86948120d4d93440caaed6890a9d30bd985e3c542d1dfd3019b8473d79d20f0f73dbd42dec9347ec9ccff3b9b35b80a918018c0046605821401858a092a8f462fe223b133c7978583d3a6cecc84500ef313cf0674f380515ada0b60bc0654421809ffb887adcd8598c004660100898f0533c4b825c27f9c464cbce481b84262c8211c0083c1f04709fc0207026cccd2d06218645863902f8b90ff30788cdc70860049e310264456a506ec4edf6780bdc58f68ca1c6ea3102438500ee13182a24b11e8c004600238011c0088c78049c5d4c701a30e2df020cc0304200670243f5b0ba6b2bf3af94e61755564bb712182ad5ac7a1ed4543c102f6a2a77bfa341585ddb47af6cebadcaeb0fa8fb4d9595d50a0ac8e65bd565c5d5d5f76434f634d7dd6c2661b550a6f488aa0bcbca0acbaa6f4928cffd48b63437c33ce64117058fd4d7d31774ea6b1952cee7fdd60da9f15819460023f0aa21d0d4d0804afaf8017ad5fcc5fe60045e0104465026201008babb9f5d94de5d75213f977f2e67467edb20df0b323fe5c0f95a85e05c952e326f8dbde006cb17aef0d8a40bc72a548921b2226dc60fe76b49d80aedd48c23b03b726f115db27228f08cbc1175a85286dc72dcfd5a620dec37cc94ceea5f6ab77a557a7956cbf0c0adf6c2e39997eba46c1276758e6479a4698a29f3b724a350d49792e6b21c53ab330e0ed9a6a6190a162855a5ca24058f94e45411fa804e95c840e8952777ef0a4d9547b55ff9e7fcd6f56b0f66c0086004462c02642a7fd484b737c7fde283bb0446ec4b801d1f8e088ca04ce0ebafbf5eb56a555151d1efbffffe0c1e1531272c32b26832681ef48a9bb5e1f50f4835676e1073bebf3fc799e5fb5647cf13161855eda026acd04fd7011f1ab295912d90c28cabf929e8c436be8cbce1f2f2d9ebaca42b08e9ce5ced7f229f65bb849af58fab3bb454d7dbd79dbb081dce9d5d5ef4c65ec736df0faea88c86c9f228af47a17bdfa8af9fbd73469be757f97d29454885490a1ef5ad43f6ae4ae8649906794e5ecf5add3669d3407f419ff35b3748e7b0184600233002102002054fa044f22d4680b3d8458cc0ab83806c28f8ea78a5ca93c78f1f7ff6d967c6c6c6111111f6f6f62ad85a2b4b05e7c30bc7ed8f08b035a82d4d3dcebf490f8ed17029dae86d4e05c9cdb5d9875c0ba8b67fa771ef64844ee38a23679254ec7350c1293cf9b7d4aa3db04b01d2d93d2b6ce5bbdd95e989334a287b56efde8d7a3811ffb56671ef2e66145da6fc56939ef2dff11a262e565b62675b89abae13249dddb1062167844a34fc29ee6e58109f64827ee612963d85ad06baa156ca4acad41eb1b9e4cd1d0baffd4271a1857353d0cc093fd2c900592708fed303236bed802dfa6ff360fb3071213ba48385280a592d58e879bf1cced66464a0df1dc3dfd8e647654464dda528f7da343873e0e49c98ebc8a5170985ba824b8d7cb5633653f81dce5ff4b6111c47f3accd60c733be6f153a005b17a3e6c2b34b0e69ff183f87728f2cdf6a55ee5deeffc6c3bb19482bd79b521e103b6eb3e7ddba8f100f5525045fab36d3484beba22b5ae0c8d5506d128b47cd65e7577989f240a9af417edc3c1e544982ce12c4473b777621a49596ef3593729f05bad293bbcf5d37f30ee14f31370105ea15b9178c11a93c9fd9e164e56d2b5e97f605be7583f2483dbf31174600238011c008600430022f1902232b1360c0178944d1d1d1969696900ff0783cc913e9aeaf2d2e3829a8faac0d39716cfeea3dcb1cc2b2d67cfe4deee915ab3d2c1ed416ff07625528647e926b01efdc8a70378b1b67e2332c53cd1f85c8ef502b51c9ced97d7ecb775522aba5f54b26a2bb972efd0ae1b89eadcfba7aa753a647d0df03973abdd621dd3a58a249f638c6ca27e8984bcee2494dadb10cbdbb410069c0eb5f36ceb16a38bdd8be89a6de4889cf0aa7920d69b1c9dbb0d8d6ce3f4f93630e29c1bbbe796e13993c82b0fee8c709a135ff74f542fff7e35b46484b4ce64d3ffce3fd435605751be4427fa942e684b09efe630dc58662a72d7784de033a67200b17bad72ecf981d3fd5ac3afb94a783a0bc7e1e8d5f4f5d5e57a2a361510d1fddad6aa1798dd0ef9e738fcd40bfe795a3d0b4e9503be138819b7643b0a1dd87a72bcabb7900e96fe66aa0bb3dc841df8c318eaabb871e48d45596f7fbc39d9635f193cbbe3febb54a5073620ebb49a056d923b27089976879c6f4138e9cec9d17dca3fe591fff1642a0b3eba1af6d4dbd65ded6eca5d9b7ea57bb2082053a9b393eb5cd822cd77f64210ddef77c8f396ee644af7df240b1be600c4b45ce871d3cc17bccfbf562dfba817824ef1fbec2086004300218018c004660b82130123301e619413e50525222cd044a5362b3c27bd05f2643806e29b34b2fc71fdd8e3e7134c2cedecdcd956efb6fadad060df7924ec4a36e4d04a176334cd01d2f0dff649af2d939d1f5a27f209b3ca80564ace7ccb1a6ed81ddcb4c384e88d487dd58143632537ea788317a26ba5a886a3ca74be7830a8492673b1b682283a9cb3c73e8b9065382a2a6044938648eb6b62ef49589bdadb4195b8320f4611332a01b11fa52571082ddbe5e337640cd32e2e253075992848dfb1aa5872ee4dd47d04b9071203fef00d241d0b24ede2511d377f210a19ccd738c29efa752c38c480494b4ff9beda84f969dbbb674e9f5d07a4b1ee1b26df30daf43d7ebb7589f0e26d76550e9013d7159b2771add2f01239da080f8e68069c030f5edf168f3831a1239122c26d1bc123a7d011fb49d63fda65ac2393fd418b93789e2115845eb9c0a3adff01d8b763e22572302f23525e808aed38295f0871ed4fe9ce27a3e059d9f94b721c05676e369714daa5e30b87deb7c661b7a7df914718700505ee05ba7be4762c7f001238011c008600430021881618bc048cc04747474fcfcfc162e5cc8e170a40fce66fe1297044169f8cdb44bbb799bdcdc3d3c2ca9b8556fc1810d96a5f937ae57e4b816e67fbf6ccd023b5ac474714220a703226e8248d0e400a3b45c2761d48b4c24a8c449d2acb2221259e81c78fae7211ef08350e59984535f34e9d88855765775db1f8a5c602e639aa4dec11ccb3b2107927542e192d639362eee2dfd8e7684b463e320d990d6a33c3b65b4b1d144c07b6640d78cf5d75a00220239069822d73b97bd5b6210913f752208eb70b551790bc4e8543f8ebe2425a0b5f6ea965682a82c8d952ec3a27cda03527419cdc85295e6f5d125022dfd570b4e5ea4ba92fcc7d984b8cf5281b08a170caaaa3e17d03651102ce91000ca8b7debd4f58881097f6204300218018c00460023307c11508ec986af2ffd5baea1a1316fdebca4a4a4c0c040d934002409ae9d7750d8c6479f04edf7d02cbc9a66b9eb68258cb2216f5536f0a6bcbb3828cced2fa8454435b613e3a129bdbeb8b6753cd7649c0e595b75571a7ceb99dbc1adabb54ddd30425f1527616def8faa0efe4c37b43795965e675203c802b84ea8b6b08244eaac7044adebd903cde974d11e6f81d0ca626af1d0a6ca9c5c0d3a489ee8e1e3bb7f91f7a6f798bf05fb97b8190f340d804ada2132eee880ee87de689830837e82c779758d8884289f295a468ee8f8b55ba4848d3082ce81c7d7eeb673b9e3b93a9d776be8954b25dc4ac7df452d2d24d958fd4b551e1acdb4f42363976f97762df515f9ee75e0d10284d9380744fe52780fa196bc4322e43b9e192904130df69fbb092cd565bf428a20993aa16812ad43d123c64e417523785a962d4233f4a9690b6a97d294ed875dcf359b3b2dbdb5e19303e18b3ddca07748981ec58fcaae1024b9f0e38b2bb20347f1d385a48a170cd55ecc6c41a65e534c64ea7c916f1dab4732b6e1538c004600238011c00860045e1d0446c14cff57c79b3e3d49484858b66c9991917a911ed9da4ae8e9a1d693a17faf3ac5e8e5789687bbd3c3806a4b0fa7f06bc4b5fdc579dd8e4592109bbc7232e9c26a08f275bceaa35c09c4ce495e3f14f0c3bd4bb48240e7758962f107a5a987e8d9c93a097e9141cc181e6597c873ab74efd4f5d25fdfd3ee6d4f947f1b79f1d81e86aabdec46c82ac8490656c8ea1cab351a353fd1937429d196d36bceaccde855b23777819f3533f8a7bdec74b6d75a483cb4726a9638d28de7d279b7be71cedf04508387446539ae5e8fc4f2a1136a982589c8f22556a5b135cbac992677b80dab885a95a489f9b4f6e6b8fb399a3157cd85990ebe8f33ca83a64a1acceb2e9f755f0a191a1422b7c6d79ad000f1355625123347a7e5cfa367f7521c4a26b17b54f74ba67bf0634a00dc29f78709c7a0138cdc56b30c5c53828566947c7493ad88d053e8c9a948e5dba7871505e6bbfaa3bc22f719ae412937da03eda40ed3c2e2174cb87fdc779ae756ad7413bb4cdf7b916f1dab471277f111238011789511a8afafd7d7d71f3d7af4a851a3a0e10c3ea1c025f80c27f00901032cbe07a5bdbd3d3333d3cc4cf68beb554606fb8611187608d8d8d8a8f9ef3c823281413f45926c8576718e62c0473693a40ed2a3d6e3e9a7b073b69210d1c29c00f900b11f557dddee68253b1131569294f4c5fafceeb5530b18217d0242f68197eae3c73c7f79ade61b697242ab2061f4500f41188af551517b796ccd1233d48808c341a2a9a073e0a60e4ea2fe6ad2616fcde047a1a64af2c3e5ad53321c1330021881e18ac0403381e0e0e0e1ea2ab61b23f0aa23a0febf73bf51ecab0e951afea998c24b70d50de2d939f50803352a1f008b8e1e211e573300a167cd0a3374e9c543075a0f7973abd5b50308edcda5a602cb15b939cd70a7330f7541aad69b1bc871ab77a1a8533da9a7e632750bfb44d26ba2a06cb8bc750a66e34b8c004600238011c0086004861102381318460f6b24994a4c58973ffd23a309dc7e1309627251fe6bb20b1e8d2498b0af18018c004600238011c0086004068fc0c89a313c789cb0e4f34640df9807ab37a9d39fa06bcc93d963e079db89ebc30860043002180140a0fd66d94d66c6d5d0c1a15267577bfbe3c7d2252b0654e173d53920cbe49955da29cf36a0abbe74c2d6abedb0e2f7204b5b6559252c9c38428a4858297a99bced6ca3caa0c1c77d0283860e0b6204300218018c004600234023d05e997c2865e9d6d8a9f20d38eda2b2ccb4538575ad53576e5d3a59fe5ebfc8b1ea14e5effa2a1d967ba38a9eed9f37fcc972405a597576dddcf53fc9629d84edca4ffe34304b59753216225478f4f3b47fa3e55b3f751c0a3bf7fc4ff27d89e63f2edffafe8094aab25354b8e7ab3446ed807532c6b4093fddb66d4bf27197deb5d92556aa7becfcd7c1fdbfcd0de19bf6ab427d4e75eb1e205f5bdaa64f9bb624473f85b703ac5135bbe85f1f87efbec3dc9fe8f9c5f67516fde2a7a40c67024a90bc4c847b25c58f3a9186b681adb3c5b37c54adb72a851c73a7f1445365e5af136dad0738ebb847545dfc1086eaeb183a5a5b4af063254a6e3ef3e3537af4ccedc315600430021881570a014d4d02a66b2904bbed25dbbf4ae9369c000bf175a9b33eb602226c3adb1b1f12b6b3fefc1e7f02bab5efab94ff3b55f6f9fb8e0a727d5db2e944c8d0f3bda5e6ce0e86ddb58776251f1a1a9d94155db74ea5fd1bd61f1fe08f2a48b2dbd9dd88343d57ae9d3a1691ddc8708202dc7df94ddd63d7d9f83da40113a6fff79fdfd3bd5f794f7131bcfe7432f7b5101771c70c3c0695d55e9e95db356d355f79010d5926fa5c7d4e25d1212170421212ba0c9ecedb213104a1b6a6871ccf155f2ce51b21e197e1dba2d3f8474206f2ef409bf12cc3cb21f273a8d40804020f0f0f4dcd61e43229cc3978e3a73d3d289997133276a88050d64356a4cd38c3cbb30e20324fcda8f1aadf0aeb9f0ea47456ff52fb550c9987c6d5d45b4a44598903d13a00def6c2e3e73b66bc255d3f143dad47fdd45d7972f7a92cb38803811267fbe1c7b7310218018cc02b8f8026227f4edc7508b69a4186efadfd6f0f735da46bb97ce54793271b9ffa346a7003879475ea4e5e183199c1d2d9e78fa7926fddea428e5a0301575927d23276f7a0b6bc4768f22c07cd5b10650fb0b0e8a434dc4bde57f0c745efd5a5ff3c608dd44ea34a78523a350d0d0dc78e45c6ba034c032859169d5db58272a4b7f2cffe46dd8fbb2d1d071c45d26ae183839af77e1c79ef0e6cf8e3b02521c685865354961ebded28b57bd2c4b95f6c5fcd34572b13db2acffcf9d3efa8a1493bd6fd0b359b2efd3c66912d5c898a8f44ef384d89236e685ca297a9b62a4ed459b97ddd7e83370d727f2a8105c143bf48f6b240971237edc9057ba076cfcfb7afb385d0bd5318bf6e7bbd01e70ed8a9e5bc3531da51c5d22df582f8f57b2f83e8ebcece4d2525cdafcf4ff832047c6a139e898c4ee71899ce8ffcd88bf187d2190fefe0e5cbd034ff7a445cccacbeba3544e9db771c2da1ac9a3837e28bd5b3b4d9dc84bbcabe03111c10c46fda5f66b13531d216240176db0531b6d409428eefcfe77e5a2cec448ef41d86a8d6e7089a27f0f5d75faf5ab5aaa8a808d642560b9b17cf44ccfc387ec5372960c860d6e01c80fd9a3ad4170414f8d01878aaa43b73b5ff897ce66b545a2b2b517a77884f6ad63faeee90fd2d784a8ffa348fbc9eb5ba6dd2261f9c06f40913be8911c0088c38041a0ddffd2c36da734263e6cf95b4f363210d802904831bd1cfc0a7a453826ad7adf47f9313f85365bffa25f7fa39b2e9bc97b62f3171d7a787cabb3df9e2d8aa1f2df2b79575961ddd776bc27befbb1b0dda7d459d54bf0a99fed5362851518925e2f14cf276f477a5a0b3bb1d74b6266f8bfa9feddb41e9a9b24129a52b6db37dfff0f1e42df3eb77ac3f480d5a6f2b5ebfede89b1be38e1fdeb7c2e0a74d313914171b91633b775f729c27429e113189fb923f9ecbe0df96b5e3b44544c2f1e3c7f7c5455ad08f590527e8ed7ad87c27b7de31213939e1f38f4dc7505519cd5a9d907cf8f8f1c31116b99fc6e4c00ea95424dfdcdc44dbb9912fdcf6f1115583eb9b846568e6c684ad73ef947445effbdce1cea57b342bc7626efcbe189b7be5777a2541e7bd32ce07e07ba8c39d3de942aa1e154510137ef4a14b5cf2e1c3c9718b5ee7d0f33258dc043b957da7557609afdceb6abed2a53ca3a353b83fabd961d1b481a601a076e0519f0af786051926c47cf6d967c6c6c6111111f6f6f62a6c6ead2c159c0f2f1cb73f22c0d6a0b634f538bddb1784c82e451bbdcd61afa98ae480136d3ccdb6d40ee434ce2b23cc950b309282a4f8826818228390bfa96f42a83dc48914673a7a4753f419bc329ce945617cf33eba081bce6d89bc73f51828d05ef04b50041fa273289dadb01ebf6c210bbe0c29f9896243bcb877f644324379ee5d493d1b1d44ef03ec697f207b36d809cd114ac46e44adef2f7deaf00540501b227483dd548b05d510d2439d88cbddd33bf2d726526f9cefce49711fba533ed55d8a72af4d03920327e7c45c47aeb85982eca02b9748324756a23c0b75252a3bbfd64b94479d8e3e9ceffb368fd229dd170cf91ae4c7cde331713779734770a991af76cc66eabff070fea2191d050b3def97c3c59a8c0cf4bb63f81bdbfc268337ca1e959edc7deeba9977087f8ab9ec86be20d947917b1918becaf3991d4e56deb6e29684217f430665671f2ee05b18018c0046e07920d08d347d165271b9fb74cbdcec5bedc859fcf3f01495abd629fa7edbbec6099e5b3d260e54bd0a9d631dfe387542e3adfbb9ffaebb771f594a47baaaa55e59a766edd943ffd65cfe99074265a06210c3119475eaea3a447c120d5d02f0b3796ad75729893f3a7cba70408990b24ec6bde92ba3fd278fad3dbb67efa1b33eb1ef0fe2c1c14f72c8d237210c7599bf1465a509db422c84c55d68a6df9ba650c5dc10bfef365d11212f0e1bd11869733806065ae8378e019c496359a389286bef97fb1fce9de9f2a6a3294366e7842ada90d6d68f171943c3bf2dd32101dd14f5fb63f60bbb10878a171e4228032a806df5fb949d6fce5f847e4a17b67de008226c45cbc0d8182cd01a6361606bc39532490c9011a175bad03a671ed85fd58654a8ec2c3b528efc3e7fdf9472d194ef45210385cd4d762244924b1313e6776a2b0d4d12ed5fb9e98e4368325fa14d96a9a19f4f694cd80fdfab745b24124547475b5a5a423ec0e3f124ae75d7d716179c145441d4eec4b1f9abf72c7308f55af3f937b9a757acf6b078505bfc1f2ec34b365feae9decd8f4874294e8ecf597ec226231002fcf1b3de0dae77322590207e57c686cc4989ef41d2d07ca9a3db9f1ff1c82e77cb9e82ac0a7e989ba43ac5e3e58d13ee3426cf3b79d01835140a9a7ac36a7861e4cb387e94df9a83e3f550c176dd0b1bed78493e3a882c8e0ed2db727f19dfe4d7da8a26b1080bf1464a7c56389dae4874dae46d586c6be79fa7c9318794e05ddf3cb7894ccc8d7a2e6ffd7f6b45e3f26b661ba1fbd7f2e87602b270a17bedf28cd9f153cdaab34f793a08caebe7895191281cf8b145e0257a236df6899966cd75e50f995d8cc9c2255ea2e519d34f3872b2775e708ffa677dfc5bb4e69ebabcae4447c3a21a3eba5bd5a28f08eef41f6bee1fb22a40b1d3963b1ac22e66141bc1e291cd1c9fda664196ebff6fef5ae09aacfaff0136d864886890a0a0a0a2828abe784d0a2a53bc9052e22be63da5fe68506a52a12f925a609a97b748a9a457527c252f05a17929284cc8781515e4a26853d1204360b88d0df6ff9de7d9e5d9f63c630c51d4733eb09de7777eb7f33d67dbb99f1d59c8c67d5750c0f3c33d386f8460ad0c74ce4a8ece95bb674fd1e4faded790d6f849bb445e09020401824047408027a4da1402271192e1a1666d80d62ab441b58f54048eff4142618bed58569d95bb566d2b760e8c8b9ea8df666d8b4e07dfd1a3a117e3eb54937828b73ec04bb322d7429d15d92721d369f1ab94d40689d4d58973e26234fb7b2dd409eb5e9c9c68c45cfcbc04f985f53052a841d0429d54a9887cfae3ec7af4f7403985d0876ba59f74c1f2edd5ae305b2d7cc68376209b9588a0a5ced76486d2683f794b4abfb3678bcf66c7affcc267de8635937bd3968c38693235114047e1f5c6f76f7db0675edc86377b77b97a6c4d7c3a08a903c3250d0935565dbd7a07d9f7e8cd58d9a368442ebdddd0e946d4a813d64ae845d45b24f85dbaa0da3b9a14239db41643f3acd9642562c5f69dbaa04eb84bc308559fbfb2f458bf45296bc66bfb2b8cd496a3069fcc96051e190ee80f1416166a7b02e7d312b29636a1d7fa87dd98eec5b836d83e145d89fd664ff48081c3870f7354b791e10b2e203c001e863f3f2867c58572191a2680e528b7b2961faf95235e158024a1bf04294e3c943ef4a527cfbe7f49f2fa70f64981c6928be750afad33dd45c0dbfba929fa30eb7d36e0fab05bd92b12240a6403db9090bacfd0c91d5dffe89d8c5b33fb8c18ed434d08409a317170f83b83c3f595534fdede43a9f7ee03bd35e3e5b2d28fbf808bbd9e76c75bc0bc9e7a16a7cbaedf86d1f7efbec83bf505b2c31f5bd97519d2a002b304940e831756a23e4fe717d1a771793d97baf8ffa33f3dc940197298ea8f47658216b9a0d177aab620baab5b8dd0d1779f77019cfafad31481e009171f54ebf884404077234048649c2381e3a0c90be00ffd293e9e36ec441a3ae1796af90c6f9602e1aa0ca0b7e2446603ea3567b07a420028f7be8698ed275827812040102008744c04d4cd0b2934f86b60798caca65a2a75d534fda5e9ebe20b2482f0b835ad9a38c03a15e25df149c5bc215111e3104cf4f3040eeaee84e53a1535a5e72a1d7c7cdd848aaabc826b48e0af691b59aed3372c26064fb3f3507de1a6a423c191919ae6b5e53a514d456115b4da5d50bd38af54869c3d34dd15cb750abd868850414141557f7f97a24258d3e50dfb3ba8d03a9df648b1fb58d9d069de65a7bf87260f34a8ed9dfb21b435bb6cfe346ffed9efb3906398338ccab31129737c373794feebd559deda65ee8d37caeef4183ad67be8d82e57677c4eafcec1acc69c9402fd97863b95088d18e10b8e549dcdfe0375a21b393051a0f1f36c364c0cd04bfd514379eccaf85a985548d9cd319ecfd48ebb348db809643218ebb4ef3dcd0dfd6777f6b45868b2371415dde8e70babfd59b3c94a04730dbb972cf8b6d6312ee573b59f8d373e5ff0d6b14e933e793b08e19344f98c391593ee311235b59d417ae4a376767653a74e0d0909b1b7d7759ffa4d9a3ef493ecf34b4bd34f6e745f397c7440009c660f0dcac95f2cf73a9f77f142c9d1610579bbfef97f9307d0f8182cdc578a33d3830a0765bf32a35f7771d6f6acad744700786de8453ef69d45e8a45237d26f8032b57ecda097a76351dcb90bcd7aea59293e7438768df7478726f5e95e9929c8498511010882a02fa53d4fe75dfefd48eeff4d3cfbfa95592ff56625967dffc9c10d77ecfaa9cb5d59ae1c98fae664136b9668ef291b9a1787cd9b9fe92c872f76db84cd367aa3eac58d30dd00a8e90556a21e47e7e0cf26e714151715558d1ffde3a22f87c707c3d7874168624c64b06c6e61b16ba0003fc248ffeff90772f1b44f68b77ef3478fe5c8384765000d977e98d1e0963d5b33210094f6a821e6fa89f344024180204010e88008f0d42358450737a5e2c37310ca4c8acf14cd59bb8adede4bfd08b5f2080f4aa7b42cbf187e6095e7b6c59fc36a05fe716bc2e8b6abc53a514d717a6a3ed68683ebb4a869eac6b07a09b5257e22a18313ad45e4c4836dbeae9a467b1b742aaa0ad352347e8a7c222303688fe1d5f2bcf3fb47840df938fde373e9a046101811a275b4353af168fe1f7b56cdd8034a60c3ee1a3c5ae63276c3a2d32b572dc034d4ebbd4fa6e1916c562266b01d397f567a7cfcec2ce436296e0b3e0047713ae9ad3dd09ec7a1d78a486dc3c09893e6d17bb5f79df482e35b4b67fc0a54b75e7ce8016883c64fc7c8cdb3d4643e1f1cae45ba95667cbe46806e7ba9851b0ebdb940ed527c440e82a53e29aff4d62aa622da790d239d30723879fdbaab6fae5a30e30bccda6b5eca47d01360cd262b110bd9634731ba746828cf3e065d92daaca50bb230c5716acae7af685c57f3b4fca67a6c426868e8f4e9d3939393efdcb9c39d69e91fa5bffc37fec384ae6b7697d6a854d2cba5e5f5985b71fcdd35093b4fe3a8f4cce6ae6bfebdff3c448b333f4ae89a02eaea4b5312ba7e761d275fdbffea9a8490342c253df351d7b5ff93626a7d696a42d7544a157e340ad29f16a21def1eaec309d292b317655a8efa333b5e403f5d922ae45851c3d9cf76bcf0e12d9c5a73044466a435e0b8545c7c858aa84e2e473bb69cc1343662fd9df2e2d2f38cbf8bb728f7287e8397dac3afef715b9f43a5ff5d7ea10447ee9c7273db73a89cb22fbd557ea14c272d3d33ce6dcf61f1df2ae95d9d2256a22e998edd15975fa6f4284ffe6bcfb8ff50ceab0dfdad52ddfd3d798fdbcbc7d586a4452fbbedbda0b3aad6f063f49e97ff7b46aa521aea663c9fdbb3068a75e7fec397efe8cae1cac198c098c3177ffacc2f70f3998b87ff89020f5ed16a37a80caa3f7ed99cd0f5732af35abdf7be86b0faa9b547220401820041a09d10b87efd7a5d5d9d442281b145d8522697cb1b1b1b61710b84262a40042890545353939a9a6ab91b8d256b6362e2fef3bbe51a8c25dbacb3f1eeddba3ac6ef179868b34e6337dbae9372b3514f73dbfd6c84bcd7e929b54827541e899e672a959c85c64e3410a41ee5ace26c9cac346c5bce48915f5814167d414ed96790ef73147ba5e7968a359bac44f35d35ffe34c75f95aee2f3c0a1ccf3df7dc3ffff94f6767989e3211041ede011eff0a402b251201ac1b919cddb0bbfc20cd6f1f583c482bd9b0787fe2e2fd30e43ffccc743c42ec1de03e76f7d7dde2216a37137abd5a4646649009b405415b2fde797560da788adfeba0fb76f5e403120d18f3cfe853ff272c43ff0c38b0d7c72fd8d5c9f3dbf1ef029fad979ff690e2e28d9e7f5ca36dcd1bb9422d6b4c1439f61dc818d06638671ced1cbcf91f6b66ffaf4f8f349c16e67a794b7fe438faccd1ba61813f46d2ec8b5c2fc76bbae982fe5b92ae8c1f7d04c6038e5e9eee4b4f0db0120d4d29feb7293ff23b7a9c83ffdd19d8ef0bfddad1795fff353af00865887fb4388839d560345121fcc7621734fe629fb72ebeb8d9efb3193e8616a8e781a1cb07861b1e952c93e5e55c1d2abb535298039ba9bbff17e54ca36759b0884165b8fac3d45a971fa63fa9a75d79cf6b08ab9f7a36c903418020401078a811a8a9e10bdc4342fdef6526daac93af59baa4f3aacd3a75aab4b136eb140ab5a3f61aa56dd689f84207f52c8e253a67cc98a1117b08dee3673f4cde5a00289cb6d42a292be85eb44ae0316496c924b0f8c45ea06944cace6eec7164c28d77faa13b4a4117e6327389ec0e425df0527f4bc35deaa4a04e2da9c06cb6824e78a64d17e48db2c646241431763920c44ad4c9981183d11f6813eb5f1823c52710a1ce0281c1222933d471b0c8647590c258e84ff1c9ea64a84920807dc00f3edcf87dfbd71378b36f2fea61e4cbfdac2146c609812040102008dc1b046edcb8d1b973676b6b6b2b2b2b1b1b1b7885008fa01d22f00a0d0638861b022cfecfcccc9c3d7bf6bd314cb41004ee13028d5537eed8f7c0270c3df2c1fc8fb38951ea471e25733328101834cc61b9bf1c1ac202816ea916ad4b644431d78686afc53e00cdc8ca66672bb0d3ef1b00332b5163cdac77b686b850bf6360961ed34c867d009a5bd0b90dbd2ad3065b9dda63f8eb31b7d9a5ee670d61f7805009020401820041802040106801015b971eac6b365a107bb49359365f3eda19be07b9130c0a3f330f5f174002418015015243586121448200418020c08980b4b4a8d4f81ee2ca2238d6a6a0b048cc296732a1b2b4486cacd4a408496c2502ac05c74a6ca562c27ebf10203d010b90167878f4662e0ab240051179a4112035e4912e5e9239820041e09e23202d4b494d298343e9f482a2223f37233d3d2d35d7a2f6bcf4784aeaf10a8b44f5dc307850e4edd9992b36f4d580e97179642d3856e2e382c8c3974fd21378f8ca8c784c102008100408020481470a011e4f800422ede19deabcf1031646af89f08727cb9632c34d67165ceedb22b015e7ca2aea2df3a845dd0f1b036bc1b1121fb69c3d3efe92aacc59d6b2da922bb5dd07e29b86e900a7bc972097013df476e46a12c93b4180204010200810041e5b041415c9eb77d50879353512c4730f5fbec4af95673df0902c3d719d04c4916bd8b268f5cd910849a586573855151e4c4acbc7c7bc897c2296cff552f71f2a0f7eba33ff1abebb40e43325666e009c854349e2764e61fad6b422a7a83573e1c47810df9696af4402772f2709f25f1611c057547cbafef0b8d825fdf94851919198c18b899e08e2c686a4a519eb534ec27d06286dfd1a2473f25f101d8acfbbabafc84d4ace84e33520ef615111fe2e0607f1400277e0824e51fae9fa43422f5159319c0cc80b8c889be8c56f9321a4c8dd999859465def20f25e10bd90ba5998db31c3147671d682632522b61c191ae17c66b78e104bb9b31a322e4d28ece4f57b901bbfa2028ace694a64548087b02a6fd7b61c879898507c4293b4686bfc41ff65ab3cca9293322b80e0e4ee2ebd764de6346459ccac4766c3019913c095aeecc0c6c4457b75a747621a2a3ff0dfefb22e5151fa45f2e3b0fd59e5d447884125518200418020401020083cf60848ab6432a9ebb8b50971d3bcabd3b6a65bb07a464989870da949dfb647b7a6c760c4b2be00daf15ed32213d6c68c75284ede7698463e77ebb6fc1aafc8d8b56b6323839c85b8b14e051eaac9dbb926ad40b820067703e0c65f10f79e169510b7d0a1f2664de54deaa75f7a537613df080c579649eb25376b3091cd90b07f706c5ca4379c1c3e65616c6cecc260ead8ebfa82c4e44cb8902c212161c12865fac769b84bd08ac0059db246565356e316151b17b52014df84d95643c8d92f6459dcda8484b5535cca52920e1bf6b15af2994b9cb5e0d88846396ac922339dd53a47b91b19622b4d68e957c9249502a8b4b181ae3599c7cbc09c8b9f1faf263f5b8cb1a9cc3e7e1379f9e13b9d2b91d7b4a8709f9a6bcab9310b5c6bcaae5950bf9999e94871834f584772edbef922bb90b5b8c1f354b0c11e603b471b54cbc4a7cb8b15f36476da2982fbe61f31441020081004080204818e8e8012f1824347c360f8e820ff43c50565d2303fc3d53ea6b200edf0712158dc3f6854fab9fc0a29d289337e8aa5e25225f20a1eed01ba8243fc4f265754c225b28a2268b2f92f08f3c0a7e27b044cc4a9108402949fbaed1ce24d8b8de84f3923151751e2b85310e4ef549cafa075c332224a42bd9a081ed80dc1c1fb4267071e923a386bef1fa03851c5f1d475c7157c049d886a70debf757967870e200d8f08750355fdfdc1636911e4bd2d86f8425499be2da35a8178b8db238197d64c5eb08bb3141c0fb11029400c7244636ede2b9b758e720785068628e88caa0dc5161cea8f2bed28af9c2354a513fa8578a5a56714842cf13d9273d37d5a387d7d034fe4e2e65c8d78422fa7fe6e8fd6da10c6c7cbbca278c8b92465e7b34f2c2de8f679f40c6f759bbeec44a67c509f099ac78adcafd2a7fe4167d3e613757625e243dbe75ce0f5130dfcd7a209b8638ec4b95feccbeabef48329b8ff20cbfb6442def33fbca9ccdaf8c3859e13e6070df6e8ae96246f040182004180204010783c10e068562aa452647c6d9711243c58d68f03cfe8e62c25bec286d1b4e6310c29719b16ffb3b46a214de413e85b9373686bbaefaa304a2fb0aac5f16a7646a077145457d7209e76619391218a1f868b8db61f782f8c0e7750829ba095e7a0f3d5ccbc73b5c88d1b696d3024ce484acf1f1b1e31d7db597c645b6a01734ac00c3f39c5590b8e9508f019e70888965ae72877aa948c0db196a6da4f819308c9a4b43eff2981e9db8ee7e65d2b43ae91a3358b80940ae4e62542850aa460026796f394431df6e531591d044bfc7f3fb0656362b74d0797963cf9af0981bad5ff2547e7cadd3f99e2481591b2f6087403fa9d7a6df98d9735858f13441ec1afff30b3dbc1dadbf4f4218c390c1ed0b4a320af16a79665653738767717a07ecf070f74ff2b6bd88ec46eebf67c9f2bc6df5d24100408020401820041e0d1470006828f1f2f857c96161623e4a559be2f4d5fb73a3e7e7d614bab2974e2f927e137d643d398167af8f250592e1c014435c084ce30de5f968d4f1c55146417c25df0ae6052e8e52f4205878f536b8aea8b0a4be9b69a02c6ff474d0c8d8e7497146cda5588199dbd403c17067f91b4a0eca6ba53c0777046b2fc73b0a8a7bea0e01a4d6437848b91e7e480ca0acab4cd419ab3a052e60441a41497ddd424b53eef7ad06163ccd04643d27ac8a0c7283f0f07617d71117478b4fd29b3fce412672d385622332f8c781bac73943b43b93aca5d9a7abceade835bd0582749e6a102917fb07a76498f8bf96096f34c810e1837ee33754027dbead2f9b484aca54de8b5fe6137a67be9cfe9549cc86c40bde60c56cf0fc8febc85509ff1dedd79a8fbd8cf0f1da41afa9479b85dacbbfd203ceda70e8ec387869ef8fd4449d04b5d4e2e96bb6407e19902c7419317c01ffa537c3c6dd8893474c2f3d4f219dee4c4510d68e49d204010200810041e5d046af253dec987ec09a644d203f038ab543b836734886e80026e966ac461776c9476581e097d42fd5dd393d79f44a2f0b8557e2e011181c5c929ebb11de414b62c946acf0a43a217546f4a59ff4e0e451e1be707bb7ff140bb5409bd038f255153ded996b6abc063ae7fc082b10529c9f127f1e8bd7684da63f410a7f4f4c477d2919393403de0cf6e08d4f347078fca4f4b5b7d2e4d3464ceaa59bec825202a4cbc2d25917209363c83752fca2b33f38e5dd6e45d0f3aa0ebb5d2da6648e81be42348faf89d7740adc8494fb13965c421ce5a70ac449c4d087a867594166a088775f672a7b4ea1be22c4d9a97f6832e34880b0302bd4e1e128f1b47ed03019ff91aaf35ef5a3173a0d33277cc88155c1ede313dbb875ec129403959d9e797fed934c8ce7de5f0d101015e8ef49ce0a5cfbaed1665bf36677077da9ca4ecab4fc7f096dc9e0d8df78b07d67d573b2566c1508d279203819b649f47cfd2ac23aa3dffc5f6205ee8992e07875d0abdbd02b610c10c254c3ee41fc82d5fdb8042bbf59b3f7aecf0e14fea4d3f6a9491778200418020401020087424046edcb8d1b973676b6b6b2b2b2b1b1b1b7885008fe02344e0151a0ccd54904aa5999999b367cfd6b9af285ab3fa60d8da55deb27aa50373754ce9bad5294a9fb03573fd75ccdc31697d3d628a73712aa4f532b063b88e088bf3042dae44c2d23c07deb5f4f864455cc22c7afa41515faf143808b5ad41da34872136bf40814c2070e06b3528cccb3b17746c36289aa58628610c914136cdf4934b5c4b372a38b34af35e5937a3dc6115126bb5a172a0f752b4674d6a85dfda55743f532f49efa135ceeb09b6ff83f91f67a3de4dfb3b77ff2d081c074c08873f99b8ecf7bcbdb9e9734fba9fc20d7a716e661deaf192a61b008e091c9f40a8205f2c7bdee3aff35f35d9846b9d85c563786f4d931c6605e01de3e63838a82bda7d70d81f361b2753dd00743e6d7dd652e4f2f9a8b00ae86c90a9002d7a2442102008100408028f34024a58232f81f5b37c07bc6957176a6af802f79050b3ba012025346adceb5431637ca1be19759a99e2b4b4540ad305d4d6594adad0735a258721a62f9ab8910233f3ce059d46afd1bba58628452c1099e9279738379dc596516650bb59373605fbbd59ab8d1ea7a274ebea949b088d5a10ac5793f598340fad715e23d3e1de1f8b390143d4651289402442573feff61fde0faf2e18de93c970e6c096a38bd5ab82ec3e9ffae64b30272039b06853f9411d57bf53cb5fa2d6fc50eb8ee4c38b639f7f12f70d9432095c8df258f4ae74609018418020401020083c0a08983f88c83227801495e26a270f7ccecd4313a45515d57c2f0fdd42a407e4f94308dd0342eabe9895424de639b9bab4dc69b82fee586ac4fc8ff363d913a060bdf1fbf6af27f066df5ed4c3086599ec8e1c891cf57714187111024180204010200810041e1d04cc6f3ab0f5041e1d1c484e08028f0002e67f9c1f93b38358cab4c7f0d763d8ba01c02a107421dd0016c808892040102008100408021621a0a8aa2815c36a1cbdc04ad4e3e8000fe078554b071fdd7f37db03ba167556161540282c12b731bfc6861435e2a2c2c2a2d2aa366a6e6ff18e5919da98ebc7b727d046e088384180204010200810040802662250762439e5788501332bd180e7413fd66726a7a41733fb308abc3d3b73c50fb873d01ed0b5a45351919f9b919e9e969acb84c3820232345499bb3a3129353d3dfd48fe0386b585cc18578616041e8a64b2a6fda12826e2244180204010200810041e62048442014f6ad8e4602576b04c3a842d8b52c20d028c5071ae4ce9c70b6050ee7fb43da06b49273f6061744045fa3bc9ea8b992dceb58121453d4c320c59bb6e56cb3b742d36796f04592ac3bd51fc40b5187e2c1fa833c43841802040102008100408020f23028adc9d89996512ecbac87b41f4c2fe54e3599cbb2b29132e1a83c6865230449d2f562252947ebafe90d04b54567c0df80323e2267af1eb2b72939233e1422cc4730f8b8af077c16dc5ca82f4e4f402ea7a1f416064ec440f4ea2da9e596f95073fdd997f0dfb2ff29912333700944a2b32127716f0044efeb322265237a5494b33d6a79c84030451dafa3548e6e4bf203a141f39cfeaa75966d54c2cd6ab0a0f26a5e5e36c8a7c2296cfa56f6a6385ae8dd65ba5532ad55c9bd69aecd1bc2c86a0d0e3536f527744c7af2a46cea362a343848a8ae4f57b901bbfa2024ade694a645480f69e39f38c1a0322ce4d4ecac453524eeeeed26bd7644e4396c5cc625e20dba262e3cac0a5539b4dd86dea366a614488578bca990c50eedbd2f29548e0eee52441fecb2270556cd74056079980172e07b8704373a930930f2e28b828bec3a490384180204010200810041e67049cfd4296c5ad4d48583bc5a52c25e9306e3056e54237c07f4e4c42ec1c5d6b8895888153d6c86aca6adca262e3a216847ac041dcf50589c999aed3a2121212168c52a67f9c86bb04489a9d5ee03c05136322c3bcd437f6b01231b7992177ebb6fc1aafc8d8b56b6323839c85b8ad8f6f2e0e8e8959e826b9592da50948d83f38362e12ce0df79eb230363676613075f314bb9f665ac66c2cd6eb0ba039e8352d32616dcc5887e2e46d87311f2b746db4de5a9d160f20b31ae2f7071c234331a211b1b13111c1d4d953d22a99a452306e6d426ca06b4de6f1329c77f3031b20f5e24ae4352d2adca7e69a726ecc02d79ab26bad5c87645c19d875d650753e7c5942dc4237a5525cdf4a33f58550eede50e7e3163a54deaca9bc49f578cdcfbc259c1617a925c61e884cd9818d07b37a467f31b3f5177c497e1cb65f961dbd587303b1d6fff203ffcd924f1ef8fa702d8544080204018200418020f01823c017a2caf46d19d50afa887e7c038fb21a4661874cf185633a9dc6f90b76528d22291b91c64d8978e111a1f820d2fefe6ed0e42f2a052515c753d71d57f011b488aa2ba4c85f881c44e8dc91d45dd543fcfc46fb51b30420ce4a34b7381445c76f22ff05611ef8e0488f80891e1a41387fded9818718ad39be5048511c9c21460fd64ac5ec7e6a94b4f4ce669dd2e9153c1a7b121ce27f32b9a212406483ae8dd6598ba3059d16b51c590d41ee84422112e1069a338ea903d484e0507f8077f428af9c2350ec7eda240d0be73babf3608027727173ae463ca197537f374b0e8734ae0c2c3aa595549df783f90697401f5eaaba0bc9e9ad4182545ca44450ee50fd5190bf53717e5b176219e8677db4a83c5935754ca2ec42d6e206cf53c1adef06407ebabc58314f66d7c53867768e36a8f65187ce38db84421020081004080204015604c41949e9f963c323e67a3b8b8f6c4b2d305c4362f84c2931221affb07a2f8c0e77805bcb108f27e05177170b4356c5791714149716a625e7648f8d88c6ab2f5889b4a30aa9149a9b265758d0cd35932ccc4c83db3c434f8dfd6cbb751ec323a54193521fba36586764cc3c9df8ee24280ffda6b91920731a6224e8a23c2185b0c04984649a19199c6aa62143408a4054a9406e5e2254a8400afd9c9aa953e79c2ec6a953c7c288996308ca595dee50e319b21035475c5fc2bca747697590a4ec7ce66781f1fbca74eb76ca4e64ca07f599e04db7e665d9db1312bbc5e3bf455f5cd4ccb888cfefdd4813bbadfb41aca64ac4873606ae4b597ee86c15b5ea9142b322f72b5afce0e2261b4d01d58a8f7c428b077e72ba168b9f3fb071e3fb7bcf8b6f995704848b2040102008100408020f3702d27a58b9e331cacfc341585f5c54433766844ece089d2b1043bbabaaa04846b79e5989ac99173ac388785941a5cc098248292ebb4935e014e2d26a0fff80d0594ba6b8a2ea1afa181b56226895a6af5b1d1fbfbe9031aacf624be8e52f4205878f53baea8b0a4b192d4519c4957aed701eec1f2e2b28d3f270f8d926ebb4ceec52f04851905d88041eaed0f866c5931d2573adb75227127af8f250596e453da3396d16c8ac8658ca828da4e976996788131036d566d610b5a8716530d42974867ee9b923f01150884f9629193d46339d07718017eaabb4a0eca6a6530056cc1237f4c6bc670dbce67177482e58cd7f36ff4076f9da0634c8bedfbf268cf5d08ee2971c9d2b77cf9ee2a8f1fbc9b1e366df18d44380b2b7247eb73cd3f3d3290224c90b2a75fc76dee280de7f8acffead61157904bffec3a0833d76df5ea9ee872b6b8fa44ffda3dfa9d75ef4f82bb5c7fedbb44e59def661f9ee3fcc5b3abcf7c5efb77ce7b5d7e3f6fc7ecf078b6bb3b386edc84236eebb82029e1fee21d0f41b349e90778200418020401020083c3208087d837c04491fbff30ee448e4a4695ab84d0cf72f4b4b5a9d49e553440f71b31235406824a9679780a830f1b694c47c3ad5756c9c9f171f290bd293f2d563744ed3c27ca84456224ea114f2180d325a97c1ab30247a41f5a694f5efe4e0042730d49f8fa407d7c5ab0da525be9306cb87e2c2fac350387f74f0a8fcb4b4d5e7d24443e6ac9ae58bd8fdc49a2cb7ee121011589c9cb29ecabb53d8b2500c1e2b746db4de4a9d48e813eaef9a9ebcfe241285c7ada257ed98954d564318242a30e73f3434e324b30cb101c2e353a2a051f3ae3562964eb6ca308455a74b40e494b2a45475a56536fecc32e412b0606c414a72fc49f0140418de9a25aecd556b220ffd1dc3e7d3d6652d6d42aff50ffbd7742ffd855f152736a6cf78e2f5dbf335cd7b65c5f92327b65fa895235e955c8efa2ff96ea60849be5fb4e942b9bd7bf48081c3870ff3e8ce404f72207093ecf3e859d49482a4ecab4fc7f096dc9e0dbb98ca0eac3b583b2566c15049d9d79f8eb96c136acf434a1e92371c44cfdd881ba129f93fc5c7d3869d9423e4796af90c6f90238167ac9a4600002ce2494441542040102008100408021d1401f32f25e5ba63585a5f8f040e062b7114d27a1972a016f6e832ce4ad425ebc514f5f53281c081cf582ba3504861858a815216a2a274ddea14a54fd89ab9fe7a2a391eb0ff3c410b4b89386461f0ded0cfb65bc730291d1cf4ce30e580ae4dd6cdd5c99af7d66493c310ab5e23626b0cb11487913e4c689d4e56159cc4c25dabd251f8bab9bead358451e239f0aea5c7272be21266e18558adf7d3fc8f33a3bbc199970e9dd06fd2f4a19f649f5f5a9a7e72a3fbcae1a30302bc1ce996f8a51f6634b865cfd6740390529c991e543828fb9519fdba8bb3b6676da507fb4593bf58ee753eefe28592a3c30af276fdf3ff260f6831c34d7a1c3d5efa64a6bd1c062804824f78f6d8384c53fc9e7f20174f538476eb377ff4587c08020904018200418020401078941110eab759e9acc2464b461b5e9d7d562207347c0723057cbe90d931501b3226d6d4f005ee21a16675034009abff1c5e19938dfc6cbb753698d868e04c9bac9babd338d340694d36390cb1ea3522b6c6100b2046fa30a1753a59551810a57bde893fc713897812894c306d19d50d68a5211a25a914d686f1d4eb52eebd9f3ab71ffa39014d5664e2b2dff3f6e65ed92a773f8547f1c5b95bd2a68ae6df5ef4a486831ad497cdbefd7a0f74fdc0a22fcbabe839015945d97517efbe22a43cf1defadffb4d8e59309c9200f0ffda17b843fec96b73063f810be3cfcc4d3e05c3cfc43ceff1d7be17bf14874f5d113e54597b7c93d7495832f4927777a5ecd6c5f23bfd060f284f8bcf5a8a5c3e1f15f83c744b481f405300e49d204010200810043a3002e60f2272cd0974e0cc11d70802f70b01698df866558d147978f77732ee049bef85b4aaa29aefe501476f5912ccff383ff473021a78041ede011eff0a402b25120134beaffe30b5d6e587e9da6e00b089bc03dcc7eefeba5b3cc4ed66c2f94eb4a8f2ec86dde507e9b87d60f1202a2639b068939a18b42311a17ea796bfe43d65fce7978e0e4bfc9de2b09b8fdf788ee3c2b36fa58dc13c38bce6b764f08081a1cb07868b1e1964e99c91578200418020401020081004080204811610103a797839694fa26d81d944b2d0c5eb1e683161409df4c8cc09e865f5c6efdbbf9ec09b7d7b510f3d327e90c8e064a12ed4d9b5ba34994c02abf9ed052d37df65b23b722472d4df908090ac5626b38313710de93a1324461020081004080204818e8c80f98388644ec0a01c2b8b0ae00a289ec0d9cf57d77663251a08b6f76355452972edef82579ae350595aa474f3f5d0db7740a790572d02d2d222b19b2f7d47b696f8f045ccff383f4aa788eacaa9c7f0d763d8ba01c0211218760380281040e3bee56e00c5d9c5a81b80c98e822ea41b00409040102008100408020481c70c0145457e6e467a7a5a6a2eacecd60456a226d1f27745de9e9db962d3a7a26ab5d76726a7a4176b9d921e4f493d0e0780de8fd02a3fef8743e6da9096a5a4a6949909b0b94a3b34dfa3d913e8d09013e70802040182004180204010787410e0072c8c5e13e10f19622c0c6625de833c579c2baba867d831a5d2216c59d4ac21ba2900b8aeaba503554da96b555a6bfc6c95e27666c6177a09449a59947636d621d49b59993a84afc40982004180204010200810043a26029505e9c9e90532ec9c20303276a247eb364bb2892b727726669651770788bc17442f84151be2dce4a4cc0ab0e1e4ee2ebd764de6346459cc2c174545f2fa5d35425e4d8d04f1dcc3972ff16be5364b63ebec86108b4b747148a5daabc668027e6525ea924dc68c5d929666ac4f39890f93495bbf06c99cfc174487f6c73a14a59fae3f24f41295155f83ce486044dc442fbeb422237167014fe0e43f2b62a297ba614bb9881b7e85e95bd38a9ca2d6cc7543a8be22372939b306a83cf7b0a8087f97b6165cabfcac2a3c9894968fab8dc82762f95cec292ecd3dc88d5f51014e394d898c0af0c0fe8b73772565168397b010db6dd4c2087cb7742b82319e60e8d3f587c7c52e81cb23140057062f267a22649e8764e989eb245097906bd8b2687ff5b652736d996ba8cd95d65c875ae2233d81961022e90401820041802040102008b48080343bbdc0794ad49200b71a715195e65e9d168474c9ece2ce7e21cbc27d60997b6ef2ea94a4c36b6326d68b2b91d7b4a85165dbd26a2262166424a65d9322179eb44a26537a4d5b1be357b02b316d6bbaf79ab0d68ceab25867372444c62ea91bceaced2956a22ed726622c2e09fb07c7c6f9a5c527a1290be7f839c1850a1a79658dace65a8d7754ec4254595c439d5928f40a8e89f14b5b9f542d551f444933f3504ddecec443656e0be2703700d5172426677a4f8b8a19ed569ab135e5e334af84b9ade946b5cdcffa826d69f9ded322e7fa3b642425266f3b9c1033113a505532895210b636c1fbf8d6f599c7cb0216faa19a5ce806f8872f0bf39624c7278beb5bbb7c87c54f307453765306f0c07d75d27ac94d041d12ba3495aee3a02e9ddb9398be6d8ff7ba595aa035809b7837df501b2bad091f5a976479256d9d9d07c30d9793fffe27dc2366f7c460efbe8f76561f0cc0c42a41802040102008100428041c44e8dc91d45dd543fcfc46fbb5725c1914b089f385a8327d5b46b5823e565d42376979221737e76ac4137a39f577d31cd4a144bce0d0d1d08c1b1de47fa8b8a04c1a465f7f6b66e1b059476c86585c52f704c0126b3b839568865b6c2ef1854267071e923a38434c6717ae3142bcf0885037e8fdf4f7c7ed7b1ce0547a8a997ea25e8502949fbaed1ce24d8b8dc0d725435b585c0aa8561c4f5d775cc1c72de1ea0a29f26f4d2faa2d7e4a8bc0ba57f068bccd3a38c4ff64724525dca44c652738d41f97e628af9c23e0911faa8489a02153fc607cde25d08797aad7bba1f2d6d20b9b9f5062eae2a1174dd10fa07b5c08ae4bfe41a3d2cfe563f36d0584cb509b2a6d4b393637fde1de2750766063e2a2bdd45c246b8695e53fe6e504fd70744c5e036b3a211204080204018200418020700f101086ac8a5b103ad6415a91969cb835032fe0d10485198b64d8c4c51949e9273d82e72e5fbe3c1496fb2835cb6f20e2e625420a05fed30566cb584745965a0715c686b85ca2ed29e1e263a3c0426c834bb076067a1c2cbd0b1692912b48a984353881a35c9587b6a633360e7b2f8c8e5ab26449c49298d8b8584637e0fef8c963141c3848071e6c69802070122199fea4869a81f9d6263f6930abab6b349d02d0acb68e78069301f7dc907a0a8299192a6e8e2123214b090f734f4076216b7183e7ca60ee4948c1f3afbff9e619bc8acec65280881c41802040102008100408022d21a01097567bf80784ce5a32c51555d768db99d2f475abe3e3d717b6b09a83455c5a0fcbc43d46f9793808eb8b8ba0a1c668311a79c343cae3c74b815c5a084bc9bd340be32db76e6401134cb824f4f0e5a1b25c389987d13d6123b6d1259e93032a2b28637681585da5883260536a5bd7d08b8011f8511343a323dd25059b7615028fd019c6e3cb0a2a654e1044b092e2a646f3fdf093b69e5d0ab54551905d88041eae6c99814e81d01976059c3b02d540213e59a664f485dae027dfc119c9f2cf4135ab2f28b8a6ad60baba947f126a20b54901dc6a4f4396545a36a42ca259fdf6db6f16091221820041802040102008100408020401820041e02146c0aaaeaeee9ebb5f52523260c0807bae9656d8deca070d1edc4e9e9ba9b6e2f265af3e7dcc646e57b68ee349bb66b345e5040756883a142c1dca1956b83a2011408bffde60eebb03baf910bb1424ca9c3367ce439c01e23a418020d0311068d7a62fcfcacaaa3db2d94e6a6957db55797ba0417412040802040182c0638800f9b57a0c0b9d649920d01e08b4df97094fa552b587c7eda49676b55d95a3f601c47c9071ee1eb40f3a9c3b8627e6a3d71e9c1da744da237716ebec50b07428672c86f43e0b62d04868670408c8ed0c30514f10785c1068bf2f938779c7f0235afaed57d8ad05ace378d25acfef2d3fc18115cf0e054b87728615ae0e4824a0b577a11084db1b61a29f204010602270eedcb9c99a00716692893899133004a7b9d990729f9fe1c7e381fb4067b9e378729f8bc0c01cc1c100900e583d4819b19691692280669a81a4b61d010272db31241a0802040140c0c497c9f1e3c7bffbeebb0f3ef800d8988b88eaebebdf7befbd175f7c71dcb8712630347500ed9429534c4842526666a6698607980abb2be86391468e1cd9caedcb0fb82b006b83107ac03ed005d7713c798015094c131c58f1ef50b074286758e1ea80440ab40ee8d7a3e392895fee4727932427040182c0034500ba015bb66c0117a0d1fffcf3cf6b7da9a8a8f8fcf3cfe1954e35d119303527c0ec586855332326bee6b892366dda041ae09610ad1ed6fec6b3cf3ecbe4d132d3112ee55ab68888889b376fd28ffbf6ed7375754d4e4ed6a69a8e70ff3ad6e5659ce9333ed0d9ceb402ced4cb3947e53e813e66c873f86089037597f3cec8fb80554eb74c267078c290a9bb9c91271f3fdec7525418aa3a70b4651cb4ce3f1e80d0d96d052c5a7cb8231dadae9aff81e5ce937e4a3bd60d4bbe1cf49deb104fbdfcbb2d198476ffe7f61d4d041f78ae0993425c9ee2c9571dacd5101e82f7167fad1e823c1017090204810e8000d79709cc06d0cd7568f443d036dda11b005ed38fc0c3ec2418e4c61a98b802cd7a982dd0492604b992acadadb3b3b33ffef8632d0350588396c1204267cc80c87c9c3d7bf6ad5bb73c3c3cd6520122f03877ee5c260f57dc001dbd47f9cdf037e6ff6df9494b8da7e7bd76da0c795533c794bd450edcfe2d7cfe6f7feb65c4ec074e4f181a1a6f9f8e8a38875191174feaed592c67a4ddc7a8fcf26ecfdebbdbc9b8393868f3aa038426c9cfcc9c992147d757cc6cab7b6dca633b944eab60d1e2a34685adbc3a585d35f7036b9035138f8675c3046b6b932cfa72684b09b6d64133f95ddcec7a3f69d705216d8429d8cf4de0ed6a6a1e9bc9dc11e2f0cbcdf55b43e80401820041c07c04e00b8d8b393131d1cb0bae5d533368bffa687e788454e0e112073acb9c003d48af5df9a360dc96a7354047b83a2890ca95b462c50ab07ae2c40960a047fda1a361a0161e9b9b9b9b9a9a8ce934854b39a4fefcf3cfb5b5b59e9e9e494949b4861d3b76bcf6da6b62b1382f2f6fd4a8515c3a75748e76385c7afd147a4a00a94c86eb199e4f1f3d5ef2ef3e660c890b7c91959d959eb8ceaa2e8673c734a14b61734097ca1e133a3ee55b27e050c82ea2a5727ba265410281237402acc06141ff5dbf9cee0a173eb7cfcaa6eb196f3cbd7b7cc9de1056a485bd5efee517792715e2ac343a975b1d3307079d522b7ce73506840af28a73dde74f1456ff5ef9fcc836bad7fa3c5e7fc3f3e9f1c74b42a076b643e9b40e16351eea37d6bc74b4ba6ae607563f67a69e741f16535c96a559f2e5804bb0a3052576e92efc6b234c0f95cc8716e28be6b98f7f52b17ec32de6ac420b32f73a19beca3b22c8f73a9b441f418020701f1060fd32397ffe3c9886f17e980da07d78e18517060f1e0cf463c78ed114482d2f2f8738d0698ac12bcbd941f408bd01dfbd7a84d6397400c02d9819a0570a414fc33898e80698f6e4d75f7f859ec6a2458be07a6dfc1dac5241047a0240cccfcf372d6b4eeab5e2a36f403fc3d37377de7584aeaf7d3a0ab64b8c1be0f97ec66524bf9e3833312f2f63264e9f94517c3d6f27c5fbc6eeebad19ac069f4d7872e94cc624acdff3b3a39769b6ba62daa2a7e7ccc4e23ada92bc38e37dcc3469e6b2c85f1ded505df1379e337756d302f2cbef4f7a23cf8c0be54c78525d4cbb3169e9b248f4941df6587aebc0ca943f6475dfbc31e99b62b5f6cb192b560032cc5057bcf30d3a079e1997b1b7c6fecbaf1f7d6345c6999c9d380b9e6fe45d9703e5e9a84c941f350080bd2cafcedbad5631e97dda94f4d6c98fbefa1d2eb33796a58c6b00c1e5827da3d8bec9c128cd6c711e8313078ce4fb54264061c6cc1530f6af0e0088fc7adeeedddf6c7d7fcdb73f667db13de9d48ffb76659c819c24ce7c3f27cfa010ab77af5067e8fd8c625a45b5baa027bdf1c6cc99ef1f05cdda3c826a5cd3ce30ab2242d5791a1d33a93cca73d63e0dfb78a2c60d9804e2ead2a174d7157f46d551c87b4631552958156af2c2f5ce090b32ce8e3c6ff70aaa34d585aecb0bcc25e9d755ca9c86a8292f2e1fb4746e6790c575d5ce11d55d3b954895cc1b9fe550755a9ef3fe1bbb7372a0de4cda0d15dbc84fc352c00eb238008247e9ea0d151c579beb4713dfa7ebe3a46fe46cf58aaed879473fc3304e4a2cbe7e792755886fecced3d63ae32f072d3eac116ed08471afb9ef5be9017f9b270a4176d1bc9e29af3eb9210a53f62deb11edcf07e2ac996e34cfbe953d578cc2148acd655d2425bbcc6d515f43b35343ba7f4da9ddb7d23d1a525d1c37d33a57f6a4751a0a703cf77ac645a3c763736867ccd5d7e99365947b9466bfe7ba8f7f12a62a6d63577a6ca0b2a0d6e4e994b2b2e7ba99aeb4e7c9f3baf5820417478dac47caab4f600ae46eba9ae76b501bd57d04a60956bcda9316dc1042dfc8660814e662046e84194c244a10200810042c4500f60640d02e80876ec09b6fbe090bece115e2b45648a5b8dee332620d5f55f73c8031133aa169be6cd9b2e79e7b8eee0cd09cd02b80b9086d80472e0da69543370604e1e264a638fd08bd0b2691358e953737b3ffa9543dd1af73428fbffe5bc9cf7b16af0aff45a6ea1d95198f90effedf4a564feeaf42ca9bf9dbc3c34bd79594ec8fef1235f9e9b4aeaf97941c9b91b9ea97cb52153d520e56b9f46be832998c9d47a57246bf2edafaf70ed80cbd3f71c36be372c452d59d5ffd2647bd94f9dbcd9b578e85df9cecb7a5aab9b9b660e7e4a8bf334bae5cc9fa68da18980f5039798f1c93bff67811b8d15c9597967271dcc82e6df0e4ceaf232747cd3f5678f3e6c1f9c1d8004ce2a89022fbd41985aacba8715dde5efbb30c6747bc236aff38bf5e8cecfcf999dfe4b5ae518557ae5c292979a19780d57f2b6553e6fea8970e74fdada464cfe2ccf0e315825ee332e37d118affad246b727f81d075e48e922b376f966ce992b2eee74ba0dfaab1febb2febc10d635948adfd75cbe428578cd1cf515193d75e53b3bdbde1e6b8c292bdfd051c25de6289209b928b254d56581cece6ef8768b37afa0528ddfbbff04cefca5363f62f1d7bf34bb4f3fdb92f8cec2fc0952465fe36fd42540947bebe03f273e5d89694a81d97a5cd00cbc897a2e66702c2590b9eb6ceffed2e68d6e6515dd35e6254c5e666b9d0f5f51d25b03de6d816eba8b7017fbba7a3f60364efedff2d6bf53881ba74c0555c04bfbc9409e60a8f85474d1e79ea4f283baaeaea2b64941a3b3edc15d5383b67c357eddf0fde5db9820b9d9117e3baca5a5e963b63795d45c8197d3067ffd33b0ae1f3767bc3fcb5d96255b3d5ddbf3357cddff0f4cfbf65cdea655caf8c4a812a4aa30f0b167c6ded67c7a8cfc1fa7182e66665d3cd94b7e7df1a77ac24eb25215bbda22bf6dad3034aaefc16df65fbe4a7c7755d0ddf449f65ae5a5b011586f5cb415381b9d0831264ff6118e5e0eb685594737346faed63e5781cde966765dfcdaecbdf0d5f9da8afe2d98c0dec0acde586dac6ec9cea191b6a6e20eb918370cb986213f496cbbe3a2169e0f1460eb4d7d33fcae59581b68a3f1b3e4daffa2aa7f6d73a7edc4cc71e48f6f60671f69f566303bbf9e9719b7ae822579e3d7f67c606f1c9dba8473f7b68a64f1d6eefc26b3af495787dd69d5feb50e18f77ce4a4043d3d113b77717c0108126d858f391b5b787f5c99c9aa362659727ed173f079378aaab57241f6d107f7a5161df4d38cd13a1512ed3bcf85515b56f7f75bbbc01ba0078fde3d4994f8ceca6fafe2bf147e71b7b0fecb2c805d80c81d29851bf2b1a15ac3f34844810200810045a85007ca7b0f26bbf73e854e803401b1b96d5c02bc469a2018fb11e963901ad4cfb45e84639e887a17ada0a440c8265d6fff18f7f80e09e3d7b98e2f4a3bfbf3f93c81587662dd7df3584f6976c1bda5de8eae68390d05ad5d849043b713b7773125a5b2b5456a80af9665e891d2014fa3d3b0da12d5b670c150a7b3feb8bac3bd9804e3a7029d7d2814d1b378880fe637b223c8542d7512f42e7ee66937555e98f60286c6877e95dab8121cbc7a0ede7aecb4b7edce09bb874a8d00a597906cd1d5327430abe57ec7be8bde4d32a24cf9affe5d2fde36d60ca84db109dc4e5496de9496c74a093542af40b9e8b4ee1414910c1af564acff12b50de1b67e54876f6703a4a1cefc5d719ba5eb6014a67c98b4ee09a50d889dfccea3f0cb5420bb664c78cee42a19bcf185fa1b049612d72ee8b7c9d9d8456d68aa6ce7d7c7815f9fb5233f1749792874dabeb11c40c6521cb253f6e47e8a7031f7fbc7d2f2c45bb78b791668b3ff0462028b469e204dc340eea2c6bf20e4a99412515d9f3d025df60b7aeaa6af4544f57d7ae3d44cd542531284415eaece3c9cbdfb76fff69c89095d21a5d3b47172b206ce517341715518a3579a46a9a7e5544c8ae731f4f5ec5a17da95887a38d356ab6eed40d465d9dbb3959595bd38ba64050550d45e0fb7ed850abbb52a781219ff9a283e76fb02ad4951a473d019f38780cb3a3ead46b31422fbfb4745f5e85359fda07a3c98b715d652d2f0e433a07b89cb1bcae82c64b28fed8d6404f27f8bcc52e45176fddc5257e09bd9779608267772beb26e37a65540a88cd01aa422edef3e20027286ea1933d1e25905781dea58103a03ed24b60e82c438a2640c58e3ff0fe04a195ebb3d37c7d137f9e81bf897cc620476b1b8c83f1978339a06994ebbf5729a0f5eb1bd87dc328bb1b9714549a15aa6d88f8fa7656414d96b819f1ac7b23f4ede1da061787cdaf8a6059bfe613688564b2d95f566715dcbd8310fe9c31c2bc7eb6306690fd9fdb39576459f975a7917d6f68840b6c63237b8ce866053a293d0c01ee6861fedfa7e5fc0dafbaf6a3fa1a9d10bafa37c066336d768f69eee8741548caeec80180e6c2828642fca8094d089c3879e0c6d6fcfa2ff64ac0c92ef636a8aa2ebdbc79d23cd7696e3698cf0651ae2ad2bfa9fda3aae1d0151a01c15017f8b9b4193bbdc7e27e300162d505a6225880d21822ef0401820041e0be23c0bc43801937ed08cb3e015a003a0d74242424c45805b4da81a8e53166309104ccb06338272707a6056072805e08044b86de7efb6dad1e8bf709c03149300f72eddab5575f7d352c2c0c14eeddbbf7efbff196d9be7dfb9af68ab6ceb5489f4a1dd3cdaa41a6a097b0c2af2fecb8a31ac14d0a68bde15f63d499d77857ce43ca26f8b951c9653288c2b01bf5938c93b511da16d72bb70f6afd48a9c0ea1aad94927ae4ab52c81be1174ca6c0edbdc62685e22fd4b91f4fa6849f465823857fa3554d72bfa93bd107db33265e8e478bf347d92be5f4cf1b970b6a3aab270d92bf90efa04679230f21eb263a5f9aea02b9b6f7fb6c2a4a3b9177e358c2e2fd676c1ab11f7468e4e16ac3b791356229ec2d9bff56d03085463f3455a12581b5e3d7261534954046a9b442f26f5feff3a6cd9aa3ef05f7b8e39b2d8354b575b5b786b2560a503875eec4e93e481e3279a6c055a8c2b67d3b5b4965068d156c8c2db0e24033da51d65508ca197691d0fec25bedb1dd9f7c96b8d36ac6924d8b267c8ba6daaef97072d4f2001847d454126d21ca2e1dec33fecd355f1e0d1ed6c3176d824d065d3be1714aba581577f1c02d43335d8b0dab62d9a1e809d1ca2f8ebe37b6c71d940dd552d5d4acc290a99a944d18762aa8e44d90e3ce3c854c09852757aa3aa34605740a81c150a13a271a49d677ad57cc54b9517654b63de2af94041ff9efeaf0e7a3dfde7de9f5519a6295b3d455c4525e5481318db0c4599db1b8ae02700062679e5c86ab39c29d002bd8fd81890e222b6923ae9bc6f5cab814d81ca032a8e2cb1a1b416b133d5b88eba3fd5d39fe3ea1034bbdc235560a9fdb26dbce48de2495376a84e9fa6ff8e5c00a8846bdc9f72b350bd29be29e71f0f510c546f2de4eaa8296affa5b0f3ebf6a51fb0dcbbaf5464dbf5d68b863c7f7c520514972bad7a9ad726a6eed1be37b07f334de6efcadb209facc0ab9e22aacd3d1f2998c44ce730f7a125d2d97143758bb78e07d0585476fadafedfa8abfbdef60a76447eb88bd70be10a70f06db89464c747d7b30ffce9f774f8a9b7a0cc6fb7cee50df59a01607aa7700ef14088aa24b7204dbbd94cd30f380aa0c81fa839260be98f3a3c3e427718200418020c08a00eb97494242023043a39f1ef28633829c9d9d070d1a74e1c20588d37a66cd9a3564c81088b36a007acb73020643f5f423adddb257e36e00e881fe0073b700dd3db0403f7421f6efdf2f140aababab3fa502dd0d0055cca3454d68861f55ae3f909252a9b438b0d9d9c1b8505dad5c2d0274b52cc541c5d5bf4610d74aa979380ce9941831b8a053d905d7415c7629e743e8dbf4b4f3f8c75454f4d64f97e440bc76eaeb5368867fbf2eee41634ebd957e4926975d3b931079aa33d5a668747de6b331a7defcbff7c76c99e32a87396b8dabdc112e4f9cfb06a1a2c8ec4b752ad9f56f3e8c4463ec686d6a7e85f5334b12bf7be39515dfcd98e3d715ba2caadacb19bb332fd52281bbef7b08c57d9d530b44595dad0cb1f98f7765c328380c1d63b558298ed83a0f4245b5322c78ebbfdfa3a573670c74b3fff3028c96e3bcd3e8aa2386b276ff085e0a0398773bb9797a7af676eda2a42601742628fd5896e34f9d2fb654844e1589e5b2da332b9e7d578d0370e36ad02d346add86a56396be17fbf6bc19f1c7366fddb66e5cef4e60c2b8102bcfff17e640664c18d8e9ee9f901fe071e809f3576f6d3e5a7ca9e8e7f9cfbea5af193340d0af8af2f21d070094e0816e77ffbc00a9183d3bbb4108d5ca297c2811108422588c4e7dfad36588cbaee5449e425387b9b329e4440398e93f2a9b2c6cc6d951ddbd515a65352a64d176e8237ef427b47f35e52560abab6ce5a531aab56e10e172c6e2ba0afae1c3bd2ffb7f5495bbfcc3a7e8d93e3d8188037c9b627f8cfd642905360728c12fe2f02708ba8cb5f8152b66e491bd5e19566c0c3ee50e8e18d72bacd6e41f16660bbd06392e7257c4ffe746f66d1512d9f4464801ce75132e1a048d61fbb16ed648d694d357d09b871a2aeb371e6dee821bcf9c018efedcfcaacb5417f49f72e83e5907cdc62b8b46f8771e81245765c8d6d1a6bae0f6d68cdba72ba93e02d5a3c0bab41197ce71afbaae0b816f5a6d10f6833d0032f9ca8312be3dfe09eb8450e0334ebeb7ff5e99f4d70d18e677c4c20d72e86359b951425a1fe0099cf01de5043e044eec04b310d5558d4fb941be9abeffcf5fd53c75abff6c157405f891f39e880c79327630ee02c048cbe92a980ce1f16bef82b787ca715fd018288a93bc100408020481fb84808f8f0f9c9079ead429da5e4343c3d6ad5b172f5e0caf10a789900a3cc0c9e593a93981acac2c2e319ade88bf0cd90357cf63f3e6cdb03d00760cbff5d65bb08c0984a74e9d6aac22282808188ce934854b399d0a5e7df3cd37478e1c397dfa3450468c183171e2c4993367c26e01d83abc7dfb76b85e804b33d0b995ab60bc0a52e91f57e48be3cd3d466f9e5a34cdafefa4cd47b604db1a33c00f31cc0ec8283118c8a32326acd349d8064bc0c4337b23e367154304d67f8f1635c9ad02f3f7c48f9a000bc2218cd9fdf3eeee8d8d561312e3c73c13ec9b84d0e81963808ecd37c979cfc4c6a329fb968fef2d6bd60d3d52829c2fac9ef0bc26ec7e6fcc2b13f042acb04563d05f9401a4c5a7a9d3c0c02508fd2f71512feb46182254d494bff5af37378e1defe5d0edd5c2fd97fc5ef64fc4163f3a561cea6decbf128fbf52f0c23b0504f6bfc7b017a7a290a17ddfdd7cecfcf2f8a9d3a7fb7c827c2297cc287a373873d8850980322582050c659b3a8d5e7674cb07e307f7a3f239e568f1e69e0c368ad8c20b2b0ec8aec7f2a5bed35f00f05f4cd8b238f3bf18078d038d77efdec8fdc97feadb7fffb64b3e66979544fd99c4193228c4e6e7568c412ffbf4fc60e0f425337c4f4d9c9751b42f2c3ff3b3f52b5f0cee1cb973e77bf99ba035afd58c6346354df8d4da78f4f2f49e9fa0e94b96f816bdf576c6c08f5f1c189638757cb0df9ac99bcf6ff4a3459472b7777edb337be4041a8bf7f6fc3cdecde6ee5d6385ec55d000265658bc8db2f3bf8dbc679f7e8396dd9cf9a140a582e635554c4d9e2c7595a5bc7ad38d3103f3fa8facceb4a1aee2f39feaceec1d143f0bec8c796fffd763444d5229f529a60a1a19fbb9cdb814b6be6cfc61c18219895521d427088dfe77516ab00a8ec4a2be1d709e4cd52b5c2ef0d719405447d59f3e9033a857526ae2102b6c65e8e2261c3fd471fc682c76a3a22107971504ebf1935cc74f8248d3d18355e88aa048d2c9d7a3cbbe95a8018ad3d17ef3c4bbe598cd30f476b1ebd10df586967c7ed52177d7695ea28f568a2013270fd4c567d46e0e757c65bec72b5848f1d10529a206e3f1933662cfefd78d6f4b8dc86be613a4a761f0de43b06fa56ba30c9afbfcc5af76fd55691f34da611a96549d3d8b7fffb2cbe52fb8095f59e91174beba5ceb033563d1c9cde1a3957863c31d715d7cbea2979d6c6c370170c2483ffca48d7da9fbaf1b6e7ddfd5f505af4e414f365ffdb3a9f793b8b3f1eddebffabdfac4c840977d81d8cac9030dd9464041824160ad96063ce4912040102008b48800eb9709106137f0d5ab57b5e2f49a1ded2344606326f0d0f78b31e9dab89576c85c4ba29be6ac26b53cda49072d8519b974e9122cc56152b4717005bcd42e0a023a6b4f80def8ac9562464c2867b2694f40825902087c3eff95575ea9a9a9817c4167c0cdcd8dc9ac8d63e5fde8369296a689d8d889847c8554024d5b1bbb4e423e924aee36217e277bbb46b94c606b23912336069b4e22a19542d620576922da9f388d66fdf78bc5c50359bb6e9403d00a80b17e588862c76f6cc0cb67901dacb7b76984bd7f0281a0492193ca95e09fbd900f6b933009389a1592bbb8e92ffe61eeb8638bcbb706aa149a1509faa60d9e383d413c612781a211bb2180168c55338682810fb2b6b3efc4b7d2d8a5e0b26e5648efca9b6c6c85425b1bbc555120b0a528c6fe33e045769d447c84fdb7e60b3ad92941ced6c64a6563ab689463e32a955c2eb7b581351b7674898080a66874b230c12fe824e04139511e2ba40d4a9e8ecd20d7c68fdc38d808ed850ad02ab0b36b4656d62ac081e180adbd88af90c8782241b3ac414617bbf2dabc81b1891507fa5a6108e842b4b61576b25550cf76c80aca8daf524a95c8da4104cd0f5559dacb41e9732eee7ac1569b3506d45aac6cb00e28120c0a92cb65b636cabb0a4127a11280b2e3ab64cd425ded85a8ba08ec9a140d52395418b6aa6b8c841e850b16e3ec58d9800b9a4257caefca145ab7a1dab0d555c3f2522f39d1b3aff7c0e50c8c2d5b5a57117c60e1fc010c26541b5bbef4ae143efafa9f62433f55b6c6a5d0c4e20082e212d8a82ba42d541b9ea69e53b9325daf18155b5b700897a0f197831e46460f00da96dc9e46649ac01fd197d75827a517d947bfea311649667c591f388877f58254bb06c6afaf105d92c2319d23fa0aab2ee9e81c3a29b28b6044672b263328b145aad39700e656845e9e4217243d7d05f5ea2bec42fb69a419ca6d84273a7d85a1d9b3dbbe30fb93e9e243364297262cae0e5816611f5c8423ec95a7af2846f415d02ee1bc776bfc68c3add3142bb66b8318feeb01a551a77e1f69bd0fd6a91a10c9234180204010682d02269abe3ffdf413ddca877b036015d0a1438768e5d3a64d83554315d4e9a2f481425c46ad6edfbe6d9006c20614e347ad25832418f287b1fccb972ff7e9d3c720897eb4b1c1d3afccc53fb6b6309c6b188081c9c34c36a19cc9661c87ce005c3a069d81679e7906ba22c60c40c1ca39fa30acfc341132a56ad22ef735c1685652c9c58b03060e646585ee0df46a6c6c60ee5ba977dd82b58d0dde0cc0f4c1da8607bb46953a92fcf2bcc113a7fd7c697af7667a252fab0926d18427c046b901d73e98d5a960aa85c14543778d08fafcda275c7de88aa18d990f3e65c40025ad6653919670800d9b66c3a0bcf492cfdb1f151fec670725c6a8e39473f81947409df843efe7be523b3566777eea28a7964bcd50075532182816f7285e16ba291c0cd24cc1c2e28a098b467595b24409b0f96ee007f568ca198bebaa357c829aa1a2c3848442eff3a6e781819f2c59e77080166454023db51c05a7c7c37ce0fc726032e9c70134ee9e801e6bf46b1e636d1a662419fe58e8313d140f744fe08078eb2593eeba744999dfd95ec35276b67ad551c601441a7a8befd01358b870618b6c848120401020089846c044d317befca133f0edb7df7ef8e187c006c3ffb4aa0f3ef8009ae2efbefb2e0cb8c3f03ab41eb94c681763ea185a5c1404acaceb82a01bf0cb2fbf9858d50382c63f7bacaa74dedcbb18ec43f8faebaf535353a13f402f4c62d56d7a328455c4843656fe16895c3ed0e829959a4972ad22d848ab8dab234d4a6a03b18e2cf4d95351616b832432333b025894cb134862714367cc74ccc85d230287bc0e696d4c1be110d191cd35a293d0c54ce26084bd4ece2866eb9b519101f323d47e6e46aad6393a62edb5bea222465e2797db757671846de877f141282d04031d3437073e5ade16749a4ee68445ab5e1bc19bbdb99419d5558ad18400ab224e672caeab74eb5fa9c4536fdcc1c04feda33602a2ac1f162683b17a8e823366545338bf1c38255a91b0f560d5aff6adf8de6885eafbcc7ae5f6fa0377ef98ee06804b5577d6a4cb7d5d6cbbd8a9ca4beaa8c388eeb3a3c41c4180204010300b0168e243431fcecb81562eb3b90f713b3bbb7ffffbdff0ebc0a41b2b65d92700cb2d8cf95aa4c0dc04dcef0b5d13faf7d8c4af728baa5a64b05839f43a600f358065c204b51cdb44fafd486a171f9a60858555bd41f7a0a5dcb48b272d19ed80e9f70c872658f6c353c1cd16a633d92c9358f16c058e76025553431ddefad821c33d83e55ee4ae4339732f32d4917454c9e8b5311dc9270b7d29bc64d6e8fe1f57a4f067a10d8698c5bf560c1d244a10200810044c8dcc425b1f026004a7067dfffdf73458d0d685ef1f7346db59e6042cc05bdb0db040f63e8bd0609932da5223cd94ecbd4a6b171f4c0f4172b8de2e9e70d8eac8e47b87030c809b93d166a5a2d13c4e73b4b517cfbd83e51e78d8a19cb907f9212a080204018200418020d00a04cc6cfa1b6864991330e068f111ba01b028086603684e7a08a45d0742da55393e98e381878ee083ba381f38161dc3818e53221d030fb5171d0a960ee54c872a26e2cc8343a07d7fad1e5cbe8865820041e03e23d07e5f263ce3f3865a9bb7d5ab57c35224ad14bd05b9ed6ab50a8d230faf72e3bcb052da3583ac16b9881dc7132e0fef0f9de0c08a738782a54339c30a17213e8608906af918163ac93241a03d1068a72f932fbef8c2ea9d77de819d041060d90c1d8157e879c023bcd2148840a029749cf90a1906367805229d796da43db0203a990848241291080ee7b630c0ae44d81672fdc6ed5bb59d91b5adbdf55fde7dbad0a7394171432aac338308bcc07d9d3c1b1b3b3b48c4010e36d1ce02e9d96eaefddfcfe7448386f4b0bd5bfebf4bcd5e3e433dba5923e5b55f4f350d19d35b846efc7aea8ac790809e8eb08b521b6f96ddf829afa2cf90616e02e9ff7e2be93c64844f574143657e5e99fdc8a7fa5adf6d4022277b549b9b7ba12b958490e46cf6994e434678773579a7919e67e481204010200810041e3504daf823f8a8c141f2f34823a0ed0cd011ba190671e3008d349a083c10204e53e84778a55b711079f2c927ff1f8d7ef85a9e352c0b0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Classes are also available for styling more granular elements like page counts within {\f1 breadcrumb > pages} e.g {\f1 .page}, {\f1 .page selected}:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000001ce000001620802000000f05aaf7200001819694343504943432050726f66696c6500005809ad796758144db376cf266059969c73ce3983e49c734660c939675424882425082849041104110c241113820822820a180009822415545004e4cc2a3ecffb5ee73bffbeb9ae99b9b7faeeeaeaaa9e9ea95a00585a09e1e1c1082a004242a323ad0db4b91c9d9cb948a60012d0032ca00080e01515ae6569690afecf636b1c40c4c617e2445dff27edffdd40eded13e505006409377b7a477985c0b8150064a7577864340068a23ebeb8e87022ce87315d246c208c6b89d8ef0fee2462cf3f78e837c7d65a07e6cc00408a231022fd00a05883e55cb15e7eb01e3c0e000c4da8774028dc8d0bc6ea5efe046f00583c608e5848481811e7c258c8f33ff4f8fd0726103cffd14920f8fd83ffcc05ee090fac1b10151e4c48f8fde3ffe725243806f6d7ef8303bee2a2826c4ce03b03ecb7782f829e0d8c99607cdadfc7c8f4405e171ead6d7d20ef0e8836b285311dcc79e91f63687780976282ecb460cc06cb7783c24c887cd84f08a6504f730b18d3c098cf2b4a07f63d712c8442a2bfadc301c7d4db47570fc6f02a4238468659ffe5fb47c5dafc952726faeb98ffe507128c89f1c6c3fc6c42248c7edb8338e7136c401c9707963785475b12ed248e351c1a6c7e3017c47bdf487d228728ffe913f57bbe44dbfca3fd6d0d61396c33922a3ad296c881e78864f30dd03782316c1b52ca3fd2f0af5c333cf8f79a86fb226d2363ac897ee083b1af4fa81dd1874479b6374197e85bd827c80aa00f082012f8004f100a96011730053a40f7e0ca05cb436199170803c1f019c945f9b705bd881e45cfa1c7d033e8d77f6570cf031e0800de30fea3eb3ffac3721b90083ec25a7d40d4dfd1502c2875942aca14be6ac2a70c4a09a5fcb76d78ad63ed2f3eb0d50fee2b7ea05bfbc0fa5858e3de5f9e7b406ae45f7cd0c7f39f1effdb267df01ef680df5f86d415a965a9ddbffdff9d31460fa38b31c4e863849199c89bc87ee403e400b21bd901b890f7909dc821e41d223eb0ebef28045842f40ad1c351c004f6a20f88f9fd2bf4ef78ffe5a5987f18071af0227879600df70a0541705bc03f23d8ffb63ae07f698981199ef0888130d7e49f781cd8851280bd2b8fd246a9c17e867d8c6240b10071941cec712d94061c037958fa6f14ff7b36e2c0f7b7b7637fcf25082cc2f30889f6898f86d712d0090b4f880cf0f38fe6d282774b1f312ea3502f09312e1929695940dc7b891c00be5affde53218667ffca7c96003804af63b2917f6581670068ec038031fb5f99800b00cc62005c7fee151319fb471f8a7843c33b3a25fc5430030ec00b84608fc80005a00a34811e300616c016380137780dfb8310d8e2387004a4800c9003f24131280355e022b80cae821ba003748307e011780246c018780b66c0025805eb600bec401044025140b41033c409f143a2900ca404a9437a9029640d39411e901f140ac54047a03428072a84caa06aa801ba0edd821e4003d028f41a9a8596a12fd04f04128143d021d8110208498412420b6182b0451c46f8212210898874c469c439440da209d18e788078821843cc2056119b488024473220b991e24825a40ed202e98cf44546228f21b39125c81a6433b20b5e8b2f9033c835e4360a83a24571a1c4e1481aa2ec505ea808d431542eaa0c7519d58eea45bd40cda2d651bfd0146836b4285a056d847644fba1e3d019e812741dba0ddd073fcf0be82d0c06c38011c428c2abdd09138849c2e4622a312d98fb9851cc3c6693848484994494448dc4828440124d9241524ad244728fe439c902c90f5272524e5219527d5267d250d254d212d246d2bba4cf493f90ee905191f193a990599079932590e591d59275913d235b20dbc1526305b16a585b6c2036057b0edb8cedc34e62bf929393f3902b935b9107901f273f477e8dfc31f92cf9368e062782d3c1b9e26270a771f5b8fbb8d7b8af14141402149a14ce14d114a7291a281e524c53fcc0d3e225f046786f7c32be1cdf8e7f8eff444946c94fa945e946994859427993f219e51a15199500950e1581ea185539d52daa09aa4d6a5a6a696a0bea10ea5cea46ea01ea251a121a011a3d1a6f9a749a8b340f69e66991b4bcb43ab45eb469b4b5b47db40b74183a413a23ba40ba1cbaab74c374ebf434f472f4f6f4f1f4e5f477e86718900c020c460cc10c790c3718c6197e32b2336a31fa30663136333e67fccec4caa4c9e4c394cdd4c234c6f493998b598f3988b980b983798a05c522c262c512c7729ea58f658d958e5595d58b359bf506eb1b36049b089b355b12db45b621b64d760e7603f670f652f687ec6b1c0c1c9a1c811c451c773996396939d53903388b38ef71ae70d173697105739de3eae55ae766e336e48ee1aee61ee6dee111e4b1e349e569e199e2c5f22af1faf216f1f6f0aef371f299f11de1bbc2f7869f8c5f89df9fff2c7f3fff77014101078193021d024b824c8246828982570427852884348422846a845e0a6384958483842b8547441022f222fe22e522cf4411a20aa201a295a2a362683165b150b11ab109719cb89678acf815f159090609538954890e894f927c92ce920592fd92bfa4e4a582a56aa5de4ad3481b4ba74a77497f911191f192299779294b21ab2f9b2cdb29bb21272ae723775eee953cadbc99fc49f91ef93d0545854885668565453e450fc50ac509253a254ba55ca5c7ca68656de564e56ee56d15059568951b2a9f55c55583541b55970e091ef239547b685e8d478da056ad36a3cea5eea17e417d46835b83a051a331a7c9abe9ad59a7f9414b582b50ab49eb93b69476a4769bf6771d159da33af77591ba06bad9bac37a347a767a657ad3fa3cfa7efa57f4d70de40d920cee1ba20d4d0c0b0c278cd88dbc8c1a8cd68d158d8f1af79ae04c6c4cca4ce64c454c234dbbcc1066c66667cc26cdf9cd43cd3b2c808591c5198b294b41cb08cbdb56182b4bab72ab456b69eb23d6fd36b436ee368d365bb6dab679b66fed84ec62ec7aec29ed5ded1becbf3be83a143acc384a3a1e757ce2c4e214e0d4e94ce26cef5ce7bce9a2e752ecb2e02aef9ae13a7e58f070fce1013716b760b73bee94ee04f79b1e680f078f468f5d8205a186b0e969e459e1b9eea5e375d66bd55bd3bbc87bd947cda7d0e783af9a6fa1ef929f9adf19bf657f0dff12ffb5009d80b2808d40c3c0aac0ef411641f541fbc10ec12d21a4211e21b742694283427bc338c2e2c346c345c333c2672254228a23d6234d22eba2a0a8c3519dd174f047ee508c50cc8998d958f5d8f2d81f71f67137e3a9e343e387124412b2123e24ea275e4a42257925f51ce13e927264f6a8d6d1ea63d031cf633dc9bcc9e9c90bc70d8e5f4ec1a604a53c4d954a2d4cfd96e690d695ce9e7e3c7dfe84c1892b19f88cc88c8993aa27ab3251990199c359b259a559bfb2bdb30773a4724a727673bd72074f499f3a776affb4efe9e13c85bcf3f998fcd0fcf1028d82cb85d4858985f367ccceb417711565177d2b762f1e28912ba93a8b3d1b7376e69ce9b9ce52bed2fcd2dd32ffb2b172edf2960ab68aac8aef95de95cfcf6b9e6fae62afcaa9fa7921e0c2ab6a83eaf61a819a928b988bb117176bed6bfb2f295d6aa863a9cba9dbab0fad9fb96c7db9b741b1a1a191ad31ef0ae24acc95e526d7a691abba573b9bc59bab5b185a72ae816b31d756ae7b5c1fbf6172a3e7a6d2cde656fed68a36dab6ec76a83da17dbdc3bf63a6d3a973f496f1ad9e2ed5aeb6db12b7ebbbb9bbcbefd0dfc9bb8bbd9b7e77ff5ee2bdcdfbe1f7d71ef83d98ef71ef79fbd0f1e1cb5eabdee13e93bec78ff41f3decd7eabff758ed71f780cac0ad41a5c18e270a4fda87e487da9eca3f6d1b56186e7fa6f8ac734479a46bf4d0e8dde71acf1fbcd07df1e8a5d1cb2763e663a3e376e3af265c27665e79bf5a7a1dfc7ae34dec9b9db7c727d193d953545325d36cd335ef84dfb5cc28ccdc99d59d1d9ab3997b3bef35bffa3eeafdee42fa22c562c907ce0f0d4b324bddcbfacb232b2e2b0babe1ab3b6b191fa93f567c12fad4fa59f3f3d0bae3fac246e4c6fe97dcafcc5febbfc97debd9b4dc9cde0ad9daf99efd83f9c7e56da5edfe9f0e3f3fecc4ed92ec9edb13deebfa65f26b723f647f3f9c1049f8fd2d8084af085f5f00bed4c379911300b4230060f17f72a3df0cf87317823930b687f4105a482514131a8b2125912275224bc3dec3612808f80e2a2c7530cd209d3c7d0523600a621e665560cb675fe5d4e4cae31ee5c5f229f33b0904098608b90a6b8bb08b6c883e122b150f925093a4907c27d5227d5cc64a965bf6a3dc2df9130a568a6c8a0b4acdcaf12a5aaa58d517872ad4bcd5c5d4bf6874681ed1d2d6c669bfd3b9abdba857a95f6070cc9060a461cc64bc613264da6c56695e6dd16d396f8db661b665b1a3b247daef3aec3801673217bc2bc561d4e14db739f7118ffb849b9e755ea5ded93e09be7e7eb6feda0172812241dcc1cc2194a1c8d06f6173e12311b7236ba34e4727c764c4b6c5a3127c12ef1f0147058ea9241b1d774989493d9d569c9e7442eec47c46de49cb4cfe2cf26c9083c8a53e25745a3dcf3cdfa1c0b9d0f98c63917db16d89d559f37326a50665dae5ea15ca95b2e7c5ab442e48559bd4a45d9cb96454d754bfda40ddc87f45ba49f5aa6eb3598bc335f7ebfe37c26fc6b51e6b4b6d3fd191d999732bafabf8764577dd9dd6bb7df726eecf3c18ef6979e8dbcbd4fbb8afe4515cbfefe3c3030e83564f4c860c9e1a0edb3e8b18b930fafa05f94bc9319d71a309bd574aaff9dfe0df6cbf5d9a7c35f560fae2bbb419bf59bb39f379b3f7160b168bc61f949718976696b357e45666562faf257e34fc44faa9e1b3c1e7f9f58b1bf15fdcbe5a7c33db0cdceaf971f267c79eeefefe41fca59128e4326a063d8f592745922960fdc92b70337811ca38aa4734ccb409742f1964185399a658e45933d8463858381db90ab8bb79267937f9b6f857049e0a5e148a145617211579295a2516282e2ffe4be291e4692907694ee90f32cdb2b1726af2907c9f42b6a28512add2b872a98a8b2abbea24bc0a5cd599d52734ce6aba680968ed688fe95cd7cdd5f3d13f64406db068d86d546c1c6be263ea69e66f1e661162e9696561ad6a2362cb6a87b747d86f397c701c777ae8dcec52ee9a7d38d12dc0ddd1439720e9c9e40579ad788ff9f4fab6f9d5f99704a407860539056b86088652c02b61367c3ae25b1477b47b4c69ec83b857f1f3096b89db47c88f721c134ae63a8e39fe2ea52d352f2d32dded845d86e3c980ccb4accaecab396db9eda75a4f5fcfbb9adf5070a9f0c299f2a2e2e2bc92acb3a9e7124ac3cafcca032a8e57deab12be70b946f06261ed8b4bdbf5f8cb2c0dbc8d22f03a50bcaadeacdb6276cde97af08d8c9b175befb68db64f772c757eed42de66ec16bda37a57f39ee27dee078807733dfd0fdb7aebfbca1fe5f79f789c38103918fd246ba87b98e1d9d191a9e72c2f345eda8ef98e1f9fb8f4ead9eb6f6f6926c5a74ca7c3df9d9db93dfb7c6e7a7eeefdea221a8e7ecaf2e82af59ad447f94f029f293fff585fdc98f832f8f5d6b7eacde42dfbef82dfb77e746f27fe54ddc1edeaee2d1fc45f025a455422dd50c26812f40666996485748e6c831c8be3a7d0c23b53a65035518fd2ecd3f1d3eb3104329e60aa626e65e9637dccf688fd364735673c9736d74fee5a1e139e55de4c3e41be1e7e37fe6d81224129c141213f6112e17a1143910fa2196242627de25e1240a252f290e42ba918f8eba645c6546649364d8e43ae53de5a7e4de18422a76207fcd5b2a49cacc2a07245554bf5f921af439fd492d449d4cb35e434c63513b538b43ab52db45febf8ebecebd6e859ea93e93f3438622867b8625463ec6ac264326e5a6c66634e693e609166a96af9cdaac53ac846d0e6bd6db5dd617b66fb970e798e868efb4e6dcec12e7c2e53ae2587cd0f6fb915b9f3bbb77a6879bc21c47bf278be82f7117f1f035f453f657fa30042604810215823842a6432f4525848b87cf86ec4c3c8ec28cb68fae8b73155b1de7102718bf1e713f41226138393e8925e1cb97df4eeb1dee487c76fa534a496a4a5a5879d70c9d03b299289ce7c99559aed9cc397b3933b73eae9e95b7917f28f15b814aa9c6139b35d345e7ca3e4ecd953e70a4babcb6e963faa7855b9727ee7024535578dec45c35ad74b6175c7eab32ee7361c6f245c516cc2377db9fab179fb1aee3ac70d999b96ad496daded3f3a956f857795debed6dd79e7f6dd817b9b0f0c7a6ef5daf46df6970cc80ebe1c3a35ec3162f45ceba5f678f06bfce4eadcf0cae6b76d62fcffd4c888ef048c020067520070cc00c04e0380825e0004c6e0bc130b80255c25b4550608015f80c00d014865f69ff70704d71131801c50c335294e2008a4800a5c33b100ce70861c05679779e03c680677c133300bbec199231b240d1940ee501c540035418fa14504062184304544212ae13c6f1fceeb6291b790bf5006a833a839b42c3a13fd0ea38229c5ecc019d620a922693d192b5901961c9b458e25cfc7b1e0ea29e428baf16af82e4a25cadb5486546fa9a369a868aed2ead28ed2d9d28dd25bd03f677067f8c158caa4c634cd7c948595a58bd58d8d8cad9b3d96438ee32be70dae486e79ee5d9e7ede123e7ffe4302788119c19b4299c29e225aa2026278b11df14f12ef25c7a4daa49364a465a66533e5e4e53ecb772a142a2628792b9baa48a9321ec2ab49a8976b8a6a9dd21ed0f9ac47aa4f6fc06cc866c4672c67626e1a6176cebcd7e28b15afb583cd69db7e7b9483ae6386d3900b83abe7e146b7f71e1802b527c673d36bc17bd267c58fd2df24a038f043f0a190a2d04fe1c6118d51b8e888983771faf19d89e2497547b98e951f67482948c3a6a79cd83c1998b99a9d931b72baad80fa0c4bd1c7928673ee650ce52395a7aa0c2e6cd6e4d5d25dcaacdbba1cd4f0e54afe55bd16ea6b1b37165b97da573b3f74cd776fdc637ca0f3d0adcfa3df6640e389e453e1670aa3a12f7e4ca0de904d56bda39dbdbb805f3ab2aaf5b1e5f3ce17856ffa5bd8efa77e0c6e2ffd5cd879bddbba97ffcb735feaf7fe418c3f095c93a3816b0edc4004c802356008d7193ce00a4312c802a5a001dc82eb0853601d42432c90d4efe8274045d0356818fa88a044c8229c1169881b88052427d21d598b5c4329a0d251636861740a7a128e7d390920f1271923d523ed2493246bc40a639bc8e5c8efe12c71f314f178327c312537e535387f7d4b1d47c340d3416b4ffb91ee283d96fe1c8338c32063181323d37de600163a96fbac616c7c6c93eca51c8e9c4c9cafb92ab9bd79a47801ef4bbe2bfce902ae8272702eb7223c2472137e8be589a7491c918c96f292d694c1c90ccb66cb99c833ca6f28bc56ec576a57ae51c9554d3c14ab96a5dea9f15d4b56db5b2747b74eaf5dffb6c16dc33b4603c6b3a6083311737b8b13961d566b367cb6ee7695f6d38e3c4e81ceedae24871ddccadcfb3c46093d9e0d5e99de013ed6be867e4efea901f78328823d43bac358c21323a6a2b4a31b6229e3c2e39f247227c51e1939269f5c9bc29a5a948e3d9194b19649c89acb493c259587c89f2abc5e145b2277f64be9f5f2984a95f33f2fd4d5c85cacacfd502758ef7ff95a23e3958aab6acd1faf95de50be39dc4668dfe9ace9b2ea06771aee99dedfe8a9eaf57ca4f2987b10f5e4e9d3d8679891ece7b8173563ee1366af83dfd64f7d98e19cb37c9fb27877997135ff93c0fad3af455bb9db463b32bbe7f7deffda38883f0a90c1b5572638faa270ad490758c215a61070147ef2ab412b780ca6e1e71e0709409ad06128092a87ee40b3083238ea0444316204498ff441de41b1a18ea356d04ee8a7181dcc1db89ef280d494748a2c0a4b89bd466e8f43e23a2822f0d2f81f947d54a5d431344eb44674c6f4560cc68c8a4cc2ccf22ceeac096cd1ec9e1cb69ce65c66dc663ca6bc667cd6fcee025182a7841a851f8b2c8b51882b4af84a96498dcbb0c87acbb5c8ef285a2a3d55c93ae4a48ed6c8d7dcd536d1498323d8a1df6d70d770d868c7c4c4b4dd5cc2a2c94ac2badd56c76edc21c409ebdce46aef46ed41eee9eeede2f3de4fd53f276031c83a7828d42cec79844be45274522c47dc74c2a3a4fb472b93ed8eff4cad4eb7cfe03cb99e752727f7946f9e410173e19322dfe2adb369a5d46535150a954fab7caba19a8a5aa54b63f5310dac8d8f9b929b0dae49ded06f4d6eafe9cceb72ea66bc3371affc81d34392de4b8fe4fa6f0fe80d4e0cc50f4b8e2047d75f2c8d8d4e14bc167c53f9f6d794de74f6bb27b3947376f317de2f2f4a7f085abab0fc7865650dfd91ed93d467dd75870dc217efaf96df78be6d6e9eda62db6afcaefcbdecfbf60f871feddb0cdb91dbeddb3b3f357fa6ff1cd8c1efd8ec9cdd19d925ddd5dc8ddfbdbebbbcc7bde7b457b837b8b7f74bfa97f7afb3bf9efcfab52fbdefb37f6e7f8818ff285f5919e2db0340386db8fc38bdbfff550000924200f60af6f7776af6f7f72ec2c9c62400f783fffcef422463e01a67c53a110d7297136fff75fc0fedd8b8677c4c06930000019d69545874584d4c3a636f6d2e61646f62652e786d7000000000003c783a786d706d65746120786d6c6e733a783d2261646f62653a6e733a6d6574612f2220783a786d70746b3d22584d5020436f726520352e312e32223e0a2020203c7264663a52444620786d6c6e733a7264663d22687474703a2f2f7777772e77332e6f72672f313939392f30322f32322d7264662d73796e7461782d6e7323223e0a2020202020203c7264663a4465736372697074696f6e207264663a61626f75743d22220a202020202020202020202020786d6c6e733a657869663d22687474703a2f2f6e732e61646f62652e636f6d2f657869662f312e302f223e0a2020202020202020203c657869663a506978656c5844696d656e73696f6e3e3436323c2f657869663a506978656c5844696d656e73696f6e3e0a2020202020202020203c657869663a506978656c5944696d656e73696f6e3e3335343c2f657869663a506978656c5944696d656e73696f6e3e0a2020202020203c2f7264663a4465736372697074696f6e3e0a2020203c2f7264663a5244463e0a3c2f783a786d706d6574613e0a4eac92a600004000494441547801ec5d075c14c7f71fa4dc0147b3202a4dc482a8608b35821a914423c6821a6389e5174513352611357f09bf9f05931835b12562623446218a600b62012b1a1b44115440e4408a22ed803d8afcdfecdeededddedc181a09ecc7c606f76e6bd376fbe33fbf6edecee5bbdeaea6a441241802040102008342602cd1a5338914d102008100408021801626ac93c2008100408028d8e0031b58d0e316980204010200810534be600418020401068740488a96d74884903040182004180985a3207080204018240a323404c6da3434c1a200810040802c4d492394010200810041a1d01626a1b1d62d200418020401020a696cc018200418020d0e8081053dbe810930608020401820031b5640e1004080204814647c0a0d15b68b4068a8b8b8b8a8aa45269a3b54004130408020481864140574d6d49490998dad6ad5b1b18e86a171a66008914820041401710d0d50584bcbc3c6b6b6b626775618e111d09020401a4ab2e616565a5bebe3e09b64ba630418020a01308e8aaa90570f5f4f4740262a2244180204010d061534b5c5a327d090204015d4140874d2df16a756592113d090204011d36b5c4ab25d397204010d0150474f509045dc197e84910200810040001e2d59269d0141180d527b82a225b82c04b43004f385d3cd4525353dbb76faf8b9a139d09020481268800f16a9be0a0932ee3270589574b10789908e8b0a985a385d80c8240fd107899c718698b20801180fffa4dd657cb050b088e8e8eaf5607d23a4180204010d012011df66ab5ec2190edb992ab4e3cbdbfb57a21292108100408028d810079d8ab315025329b1402d987761ecdae738febc755e76608c36b824093f06a1558534f539f1938b5b5549428722571d179f732aa2d6c8dfa0f6dc3475114175d5023814c5652745a92b9d5d8de160ad9748e7a981d97f15c688877a80ae4d8dbdac64415ff82f8c727ff2d4786cddc3c5b75b131e64aa0b273e31e5432ecb272631377378ea6150521bfe4a1ae969386b690335257f6663eead872527f5565e4047cbf1514652814aad480f06d79adc7b4f36caf5aa342a8719757ac06ea87372e3d367018e466aba11e2149f6d1df771ebd169f9e8dbaba0f1a3767ee606711cafe67fdce9419cba6d81869e4ab57458d435f9ebdf3c0a60e53deb711a9c866b89e0b6c8d3c87aacd398d5cb4908cc721379a4df2b1914bac7572ca0939bfb563c810675fdc794d34f77d770eab36d967ff9c8c8e4f2fb771761934d4bdb9361c089567ffb375d381f867765f6f59e2ac3446bcd2247117a3af25668b6c5c860e1dac062f5f938d3501f8dae22bab0173d5439d8ffd352dabf32a73a524e9e69dec4a5bfbb696d06d65f682cd4b729756220f33bd73572974487267bd7317136ec755084a937f7072a48d269708f2d4dd74d74352b7eea53ebdcc95ab2aaf1c281c9ea928dbd7dc7252577dc53e42497f2477bbfa1c9935f3287e7eee62faf1654e236d1503f4f054e120a8e526e372490f0b85e52ba7c2132b43139fb67631f768cd303e4fbb5139b5b4d4b79f8a325c292af9b2902fc5dff6b0b8f1716ba58a72eae70795be45951ef55cdcd72056a90df94e79e6e3922a919395f218c96bf16ffa6a9f5931c8d073dc742fab9c63bb8e055c3bb6e8d71343f3af45c51c1db978726bbea1e1f2d7e50984c24d8b733873a3346563070703ee33b94884ac603e410424505826b9f2c9f225f9df22e46ba6177a558a225232377568cdd6e2e71ff8b898e722ca9e6eda5cbcb4c268cc986a635c92ffe392dccf9527a78b29a72ddea729a4190c86d06b8556ea942529eb17064449c64d1eed66a65eabb12467bdf7d4a80a646567957f207fd36acf9ffffebf0e86f2be6be4aa38e2bffc587607aff7ed44465cad78a515872d1dbb2d1e5975b0cb4f3910bcc96dc7890d1d05b5f4ba385b36016c8c6aa1ac09138dfad726b346cc75780101e6b496093d2ffaf77c4cccc5ebd9e50809655de6f2165e7c06c7d29f1fdb9e5dd7a9c40f7cc9e7bf9c7ec62590fe5b00048716d963824540501975bb944b20cf3ffb713b0593bbb389bc40f15b7e2f13fdf0916dd596ceccdf645765a2e2aca9579f4f1f6c51b5aee3d92dcda723f46d4cbe825b4fcf655a4796b7c44f00adfcf9716b381415c908316677f8e64c295b6a883c0cd91d6d32cdf40c91256aa64a4afb20c6f829a9fa250d62f984e5a765562163075b53be4a5c56127f2c0621bf9f8ffcdf820f277cb86477c4063b84b68525ea198196364660336a4bda1f6965f1786e1cfacc0e865ef2191efac8780988e74880a1c081e638257a0f0f16829d3db3cc693f70cd15a0caca03170a6ae5aa2ecf59b1e4befe57cf969621440f2dc884c909761626e799b51dd9c9c96d8b37cf62c85b8b3591262c7ff79de13e9f44e563cc947553ea8bba84e2b8436067e7ef083fb8fbe0891df3118a397ab7581b09f9126435fecb650b2670cf3afcd27262c0cef65dfcdb5f3fff76e6b7c508c56f8f12ab6ba25a229f00aae5caa3d348b53563aec3a616f0d232a166462ddbb6b5b5b56d0e8e6a257d60d0a77a963deb2e941a78f5328112814bf3ad06e85c76395b0b99ac0795c8c070a4b3101338187928b3b394b19b9eae686eb0c60ce554e093b6522a2f0e41c8a1797559a1a4acbc42a98adec94f288b47cd564d824908b5963f7c6eb9d513ebc397f203b7493d7a99fbba607d38098199f7756c868aa58167f364e57477215f96fa78f997f7f417c2dffd0317a0b622f6e707fa5f26279660c2b2f847bd16de0bbffb78f9e2471f96a17337f37bad4b2f9389607eb0a06ab56e3d3c9b3605cbc47f41fb1fd32c9218904c97f45a9e724b5c565d9eab59ac521bf44e893847aa6f6567a15ec396309d924a6505a66e7ee33c47ba81170c15e2431bffe73d1ca799ff3b524c53143f3abb6c025d347cf8b29d178bab8b0f2d7df73f5be3708f20ef3f71c2ff22e12c0cb497befd78e6d67fe8722c0b4ab21f54e1a1ef680c79a1231e7a6e2d9d971571cba9ca6a6420e8676b80b97ab4dc8ad0910714e439343c5cc850e0d1c370572fc3afccf04465e8d9c9090cece4e4c8e1ca64f3a52c861a298d9a0f7c7ff4b871e3fac0694a226b4b5943569a6a6d76723c321c37d25904f446f6ce56b2ae28d14bd2a301f377de790770f70fbe545cfd60f5bbef1dc847f907e6797f7e504263cbe8c62b2d2b1946c76eb2172887aaed3c275ba1f8bbd9ca7d91446efc9c91ffeec7abffc9c21fbe6227c0bb74bb1faf3e0a1300ca6102f84fc49a003d4c0009921cfcdcfb936df1747f2507974d98b8fa244c26a0bcb87ee6c7dbae491f1df978e2d2ad5b9731f2593935e2530be63a6c6ae12caa650257b6ad7327676767271b13d6d472795da6d86406b6b5a28ba4c9cf1654a2499d945ccef6133a566d72322e2b8c8f117fbbb2f01cd2f776137125405e7a336d70b25e827fdb2e306274385d2e8134b3fc1c42e37fcc14adcc147d9e3afc47b1c2f1a4e97292ab60aafc12f4c0e0d354f8f3fb5bdade4eb50946e0bd3f9e7c8b9afd3aab0d573e9d4739088df5697da923fa362c2f1efb19b2678ff59e658dfaa1f8646b61c222ab33bdf4a6863c0d4dac1c30cd6c7a5955b7f5626971ceac9d547c479177578b19e38d3f83b50733831fbc4c955c66fa21663d65af569afcc8394c6ad34f94b2b4f9997ecd565e2a8e7fa6f728e4f1f0dbd5873e6e9ee26736b2b8b2cffa6ca991a966b1b4929c4d755e5a21d26bdbc18653a69a35731ed401a1ed9f8d9df8c9ea03c762e2c5396f2df8bf25c31c98dec61c132fd9f0d386af468b633607c797e8e55f9a386bcd75e415b861c3d7733caf1f0898b829d1c5c526250cdfcbd22b4939703d3f3f262c1d0f99382c4a6cd3d59e193e66eb38de19865e585a0043bf9e1efa913db0bbcda1812c66e694e8a10ab0955570e6a3292b0a113a97530e23cea1c14caa5cc8c27b96d38c8fdb7fe2862530adc0e4ccf8a60d4c4e20672727cdca95a6947ffe1463d8c6a9b5b29e4a34e0ca8e59b0c4cfcf6fee483b30b53552aad63a8ffff94ce4029124fb5a4cd8eaa94bf351df712e78ae2ab4e2c1fcf1b8af17b901859dd7b2e96fc1b2364bcf2b2d271ed60e06390b18996603475aa1e86b60a059aee4fd9f7e772c7dfe861dbffd14e8268e59fed136ba161a403001166ff8919d00e8996202ac9c2d9b005de90990033a4b6413408cf54f8709d0dac5aea224479c1f1f1696ff25570ea775454fe5bdae1573c55220d651a7127386a993cacf2be53eadfca42a63373387854970f4d2a2c5ce6115a8b9f0334f7375f95476d1fa88b2502ca33a2bbbccc196b95ea76554e4ceffad7cc3549bcec606714060882fc1b8ba5597c2aedea199ad46f610a49dc8ea76ba6c7978de0f3e8adb09d50846faf9b74870e773332aadb04f5859cecf8fcffca70d5708ce1765f95dadfe6a5c2b079506a08a6eb0acd4b0df6796d33f2de8fd7d7a65602b4689c4139273a8d9f58f5a38182387f168c3bff9eba3f37dfdda6c9b5fbe677b99e98a32646cf8f4b3b6826ad47970b37e47d23dba8a3c7a35576a8116c478b5ac4a022be3e3ef1879f8b4115694543b16a3abcf9332241698b2baa0b0c2c2d96ad5d782e945fa826a138d625959f24cdaa33c64686d8f9d487991faafa9dbcfa743af1d0d3b74ec64f0a618bade6efe860d23e925da2ffff8d90bdf4fea3079e7b1439792bdae055720b71ff77dd5155617dcdcacabc59fedda56f1cb387460f3b5ecaf47e65c820b688452ae252367a38b707c6fe88317a999e6d92d9553cc0e7d760ee5480fbdbc16f3330e95bca4dab1b701ba59317ec3a30d238ce20f15af008267956cad9c5c958b2ec7dd2e034bcdea60660ebd51999c8a5a1a2665c9d58fd231860e26aabde0e5924ac046f1504af31e258af30d0d0d2b2a2aac5a77b0b7c13e2c97b2fcd9b56deb778ab1aacfc4cfcaede97b910c4dc22175cc7fab98f3731fabcde983467bbad1be6a8dd25a5b89503ebeb2645b4408af61b125701502de784e76bee1a0be5ffff16b8ac408ccb7849e33300146e209e02c9b00464acab446780294d313e09f2cc504f8e7417507a34b7802f4b5a986132f422a7216bbb9b1ad43ad4abe56cc75d8abc56034602acaddbc2215ecec5783cc2481f61c238adba04acbc04311b6b7fb7363a7caf5965fa1e7830fd147a84c81ca733f16ec417aee2654d28d9cab70019e5116f7005c19451276b5affca9a34f6f4ba1a171179fb6fbccd08f89a58a6a9c8369a277fd33872eed9bbb0f6d7fbd3b3a974841a32a29ed540918cde9832d55ca39bbe01d5bff30d5103d2bfbfd4ab1d01815e03a6cc7fbaca67dea95f9b0f8189f518e7bd4b5cdf176b8fab341567289f46cada0b7b8a6c6d44280324b449fde37f83cd33984360f087599dcf64c77fdd961c52d57a68b563f3d7997e98476629f676595200b3bbb9ae7a5243bfd6e3aeafbfe9ca09fff3a7dfa44e88ec03e86e2ed4bd7a46265ade4b7aaf1c1483f1400a6c4ce9e5e6b8612e7be9ef882d97a901742c7ae25275e8ab61a17f8a5278a8abf9b7c2d0aae595d941f24a86de841244f12f6689f3155d83a43da6767f1b9e6865f19200f67639549c5c3a6a9a8c6c9a9caa41d86aa5c6afbc961014b972efdecb3cf60bb342c855b5f2e9100b846f6effff6f7dfa7c37fec83520282af710930c2ea98a3f212202a97cd13969e575a092ceb72ee6d56e0d3016d5de56c5da7fcf4e568b7b0ef967f34f6bdb11f7d723211aee898d45013405d8ebc05f55f2d30af794aab8b7c8d4ae0aca265e2555a89b73c77c9ca82a5c8f0c1ea8e6b26d90894eaf0ce951fc5a200bc2a8f93b1d55be08ce654709632cbcbaaf5dc0caa87ef2ce8b6bbe447682f53dae78f420e41f5c388d40f37673002aaab9f5783e76b8c3d5f3659b4c36321c08b7b74a29596efb0bf851131cf91b37167968cadc1196cad99028b7eb6a71dd0ec7df9e39fa1ce50680035064f7eec5841ff8967989c9e6409ddccbf903e2a13ee92a31f4f3fb9922d9785adbe926e74052d9cfe9e9b9cae3a716feea84474ed2b5b2c7683d910dcba5efefd22eb116da0a438a0d5e95ecd969e2e8c14d36bd3fc625961385390826f88d9b7c53e6d0d2979ffaccf667d9b25a330b4ea30f0cb2ffbc0d55f09be749021802be99d72bc88972d5fbaaece4a8ca7a16d3e7a925dca9eeddbc2f2877af61de8e9290edeb52d58dc67fa20438e270532aed243cf884526cdd9a19795d0cda9e7a98ceca40a633831030ebf2eb2e984506bf366728d644aaa73714a202bf79bca733fa72767f29a4e3039c15ed72c87c5502141b9472ae5785cf964baccfef5f4e9d3a74e9d826de8fc1e5c9ae880b1ef7d72545622eada17567352d29955514637167386265b8639d394aafebcd2acfaf44515d1c9c50c56c5974ee61b7a0d849320dbf767c929ad3f5809ba1d0ed9bb729c7dd4e6a5b01e441f010a1a681d762ab089ce7e26e765264075b5d5e8c93001b6c104f0f4ec3368284c80e0ed3001a60d849332af1ca62fbc5b6d30d761530bab365a264087939e33792eefbdd0c29f103a3ed9422ff7e9bdc427f0575856c525e8d24f1f9cc45f62720b9f15c58789273c439ff5137196324dbcbfe878031cde9fe0cf6e9f3172eb65511968cf2180159de7a1c9a5df8665173e2bbcba2feba332b4a1b7d2526c9bde261ea8faa39fc48f728beec5a4f5bd8d7c7babac96eae995514710da3ad892ab1b278f7d57f9aea1a79fc57479b75d861ac3dae182ed9939c5a5393733ec7e2ffd25b94a2f37fb9dd04a8f5e167fae6dbd01550f5e9f568899ab41c8f967d4bd4c66ad572e4f0fd92074ff76debddb39f137e9bfab3979d88a21bdcacac2ccdc5fbe293e8f506171454e4c71f71f32a26ee7eb19e95b42b308599ac033109ac4b2f22153969e53a66fd54e53f75852e7f7e723747ddaacef2e278a73f27352ae877db1f63ab21ae96402bab308c856d1babe0f305c9fb7fc404a4e4ee2e55df3365f477de6b88950d7f727a3fcf8146437c8d9c8aceb20c38af87f2baca6f4c56bc48c1066db991efa9fa37360e8e30ea5b343cfa5e1c91749df09cd5f1f915d585c746e5bc69c4af4c9d0e62a9279b868e5e972d83c67e86172c2c91b2627cac13333e96e2e4c4ecdbca52c869a69142b9e4083270d2aaf8b6e7a6e5ee0c86ede74323e3f3fe7daa1d5db5390dbb841f0dc07db228b7972763660fe891c73a000f754a52d5e69f65d6175367ff99ab06c89e4dfb0cdb0aaf7fe3067563e48101ff3ff62b6efd1f8743d814004ab0dc8b0b9117445a103d30a34e6321a4f804ffcf7c304b87b29989900ee667a5d47c304f81726c0606781c80526c0bff13001dec24b76bc72b8ad2be7b5c2bc69add5e2f8bc06b22b49e6f40890c1ca58d2037cf21cb5f329bd8b375b6798fca7b729b3bb6fdfef53a7fa9e7ef0f89db0c205617859607a77d33563343df5592d304016f253282301b60e63da5e2cca1a1c53bc32a61876d70c32fb6c90f272b099cdc119d2777ea79c57e32b6e5f67e35d535b7194c492a81c7c6f6dae50752118d741aa46b0ca28d097d71a5b6f985aba675f85d040afdaba9dd8376d7468a9ed4abc6a01c2b78e333ab0f269bcb1e19399d6e0f4fce7f3a23d3f94f9edcdd9f791758feecdd03f54b70d79c53f9829ae79abf19364df5e2af9f612dd16bd099e209c1e4ff5f9211bcb74d01f525cb534e4d97f82ac82bfcd67c15ce361d10faffa9af08b550843cff31e1656a3b60e362abde690c8b2a61dc6ed5d5bbe62c5ae80cfa29822c30ea3b67f3fdb447c00d60c809d71e3f0f8c15aa3dde8bd6bb33f5bb16bde47bba0c0aac7ec1fd7c1e201aa6edd679c150a130dec00cf785a758175de632ed361f50098e12865b73643db9e7e90c91dfab53eb83f5c1a2c0d37a9e01276b5bed82b73f0e9a295a78ba0f68fa9ade149e75ab938324173fa83d07a14efe4fca40fee26875e96c737150143c736bcb5eaf45082aa4548444f664eaf792959993623bf5e7177e9daef961e83bec1a2f8a81581efdbb3b5c00b98ffb12ee7d3e572ccdd18cc4b60446c8ce0b24149730dd2ec7e0a1cf751c0f68fc66ec74d8c0b9cdf038f27cbeb36e7a70f123fddbc74d666ac02f29cfffda0e6a8381b689835653c16cc0480850e9509f053d0482cc7a6ef0756e8b068909361356aeee265888e779ddec5941e47c42387db3a171f2d31971f96b4ba3ab48170330e0e0e5a2abcf7ea1375ca69fd5aa917aa97ac5ebd3a20605860e0d9afbffe1ac1fb4e15d54213da555327d5aa84a2e022d7a486653b9ac0d05068d81867c14aaab402ac4f830ae7ca2ca34a0d85cc2b70f5c0ea79694111b2b48427f2b44d12c9b3f272232391081e89af3549e0fe0f90d294ec11cb3d666aca9753d2ca6a81b19087a6e2df89efadfe3afcaf1ea64a1684a6a4a4c55578c6a83f515f1397ba1cad4baa4a0a8bf52c2cf005559dfba86c016b972095965454989ae2e73134b5555c5cac273033adfded0678ce97575a4571b1b42609fc5cfcfa949494541b9a9ad5f61e84a6be682cd70ef3c6389e6b9df30d43003d7f1141dab0af59b306ec2cb4425bdbd52b57ae048f551b46cd8a090460a86b124113d44ca2597a6d35fa0263fc7e5a4dedd72642ad9e2b5308bd93093710d4192b3d630b0b39bb5a33bc05a6a656a6d875d1aa436014b8940c8fb65b438180be4bc34b0fcf69f296c33586009e9095b7aa42a3994bd61f157a4d7294ca9b9900864a251a5a6f001a232353fcca404ddac24910ea6ba691d5f24b3314890077cd12f8b9f8e9e9095093b65ae9a9de5fed30d7e1b55ac0a551136b679956c0da4249a3b64884eb2602a6433b785969e1562bf7ae7e5cca32c89eee20a0c30b08f6f6f68d87b38a9d651b829504f06dd95d92210810040802da2040bc5a1e9434d9592025be2d0f5ea488204010a80d011df66aedecec6aeb5d7dead7ae5dcbaccfd6c00cbeed8a152b6a202055af390235dcc9811552524b1068700474d8d46abf80004f6ba5a5656873f03b3adacc98d1551bcadf7fbf939696ab0d25a1698208383ada4e9d3a83586d82008b4093780201ec6cad8e6a5dcdc18c19ddeaca42e89b0e0270dd03c718f4976c09020c023abc560b1ebe96a9e91ce1a4a7af0f0230394119b2250830083409aff6f539fc88264d0701e2cd1104b808e8b0a96d3a076d43f5f471fc83bc72a46f24eae4d6e6e50cbc343b4b5cdedcd91e7f33a229a7cacaca9c9c9ca2a2220848d8947168ca7d7f39475ca320cc9c311a45f49b29549a16f577e2a9835568b95d541bfa25a6baf6531ab7fd48e9a83103b5369d692193ce95ef72feb2236f4b54d2dfc62eeb14551e016531c315511714158d95a30a1e8507fd3665fdd9fd89a72677a1cf07d4a3c5c6d398d7eaa1d5df124fcd64caebae02cc4fb87264b6d9d9d9f05668ebd6ad05020173395977798443b711d061534ba66c1da79e60e0979fbd35cef5d7f9e54a1f8fac8b94c7877faa1a380669fdee8840e48e241adfa3123a0e7ef83004029f5a5a4a765b4ddb3d59354c705d54ab3b2df5a0bfd5ecf8191326411c1f0e771c72fe3bf1bbfe96a880423636f5f7c7593b0bd6b6a0a000beb7646c6cdcac19fe681ba735926d2a08e8b0a9ad9f579b7efbdf50cfa738081d6ae67e6bd0487b43443df9cd37a1c4ae59c9814ad4cdc4eb48df9e16608b2a6276c45e5d497fb5e103f3315bfab880bb852913d1b066b9ff83109846fd6ef5f5d4e4df95671d9ab6aed4aa7959ea5964f8e1e0bdf3ba368716a557bf5b177fea2c6edceed3619b27c2e7b421896322fe5ebb018256ebc3f71367af193f0e87712b4eb9153e7f5119e40c3f1cb0ebe3ee9a8ff9c7d7cefcbd3290ee91bb4bf0776fd32a69622fc7319d959206cabc932b7e7a741dab6a346af394453dab122ffcb1887e4d6ec597bb509cf1b4bd1f4e76805a5e76b6470825eb7fa0d49cd28ed0ccd19176afa967bb110a1a4b3bbfd4931ddf274884cd4a4a007c93519ff4ed63a34f2527addff76cd4a2817d2c51dae9ebbf5f4133fcfb38f24e5e49ceee3f72de99d7c316e2f525dd3f10673c73b21d2f2112da1f483cdea58bd981b88374f474563591a58d083eceee2894dbd97aa9c4f8b3ccf6f9f3e760678d8c8cf4f5f589a965816e5299a6f60482f48ae7538b889ecbf286cdbcd5d99e0ecc01815c0b2f3da7fa382cca1be431938a9a968023be432ce7411d3eca7c7b59dedbfdba151d599a443b3e40599967019403dc3f29bf7a421174516dd29417e7c795bb4c9c1175ea2dafbb17e79f61beb8d0c273aa4fd8a9ff449d7273fae9ec17f0d16af856c82db0b30edf1d9f15b6c6b222392f8736859207fbe72fb20c38fc9fa8f3c36697c74e8fd4dc92346e65a06805a61c17bcb40de341d6c0aee2626aa0bcfcc5078f72fabd1b766a465848a70e22b0e3262e6f7d1416620d1f7858b1fca39053ef8fc67616f1b15766b33d0a68a1860b6f4152f8be788f004f08888b536541d573aaa5c3b28041c31da8e3c1783884ce5d4639941fdf1c77e7cedddf2f15b94de8ce6f67815b2814163cddb53aeefaf5bb1b4232289190dfcee286046067e1fcc77569e950ff7103ac46181b8fd0d3db1127b3c1f55189ebd54263606499048e2d494d1001cdf310cfc5d73ad5cfab35fd003d5c99f0e7a2962e7ddaf5b480a0413881fb34788a03b8ad7d865b9ffb22f701857a0a9b0950f189a52985526480df5428a7fd5b86d20e28ddc789e2fe9b2799d78e764c6929ca9b2ae4dc7bb62bf845dd3e98f8cff1bfd224c3bb8a0402f42ce68b7d920aa48fcdb9044c58a9381da1e56fbb99192033b751ce67694b5b9a920cd5b9bffebcfb57b8d80782b82c894f4b0d2d99d8a18cef7e3e9a3dbc43dfae5d6997b6167659a7b1bafc94468f12ff450e9b87d98940fd360347634a304c26a2e6c686a85cd45c803b82132fbb498ea247bd27b94731272e9a5ec3266bf794b3eb6297b2abb400b5e7583c1cfd075b9fd9979b24417d44a8cfcc41d99b2e1c3a84da0def3db686f553038bc9fe83fe08bc74fc386ad1afe7426f2b0d8d6a2816da87e79fb2b484fe151f9839aae73cd7b2036f8326f55089999fdc594afc590da03789621d36b5f51a1fc1a8e0414eb7c589779e46f57c7c654ff7f9a364516b55962f2bd3effde599dd2dc6cdb7a328fdc4b5139b9fcb9b03138c93a9b911baf49cbe6c873de9e394ec5264d4b6431b6eb055359917fe5ef95ba7efd6bcd7a1f9e36346e7f6aa5ecbd382d9cda75e9bc71897038d91c00819cbecac7a4302cf5da76cafdd4db97ef5e2fc2fe3e6857c48af3f20c4cb4e0baf90808bcdd1538d92318e2afe2fcd0afdd5572d5765e7f68a393fb15de2cd507117d723ef87fd956ed4f1cd4b4a42fb9f92026e0b3c22938ec1b7159ab56ed12ce76ac2956efdfadb72ce2d3ce438e439c7b11558ca3eb266d6dfdb1d05294e142fa2125fb3a4ac6921a0c30b08f51aa88ad4fb12bbeecee3a6f4edf3092aca951db470145d3d9103021fdc864f10993b091185bfa02872efdec242483d38518e2cf88192195349fadff3a79d9dbf324d7160227d941c77ec11c84cbb7e01a1e17622549e0fc287bbb8b5311395a79d8a4474906a93d6708f69dd85f862549e75272a99316446ad6d10fae9aeb8bc6573334b51f9e39467329bced390549cf8ac6ddf9e23e7cfebd60349c458038dec6061ed9c41f29d146925fdf9277e4a914d073bf468571cfe5c0492de8b7f447fd706ef98d9a1ac9874d8656c282f3b5db82e0e5315df8f8a5333cd580e2749c3837e72db3ed1915304c37131120f47d21d3c1cf48a7655e4966bf750cbd933ec0b6fdcfee33a5ec4e64d9519c9213724fd660c9ab770884f6774f20fb844d19c282945496091a020fb1945d1bd2cc88a4b2a06168aca8a098f439ef85b5e905e4425cdcd939a2684004ca126959ec77d1bffe030d365238fbbb0f6284b257313d6cf4d807b657d6eb9e225dc4e0e7683e2ff6881ef0b0926c30aa59c8efbdb4d6e7fe17e077c3607ee6b716ba1e4d769bffc0a45eedd8297629fcdedad36569322bc7e86ac919333f3355764d3f3dd2f3efdfbcb51bfd0bc8c04039b9ea3d72c3fb64856887aacb1736b83ebf91abafbfda447629a1979bff505186ea4911dea44f603264d889d3fe23e1a3638ec9baefc0d093c37ef2d983d6dbf172dd6698ddd0e7a6516095ce607dcff72f6ef8791d1077b67ce77e06d4860d36ff0a40917e78cb84373d3c1a3e91cefa6e0ee941014bd89be21c62128b99710188887a3df5457f032d322af5dcd138e5fdac35684668f2cda75fcea15dbb7fbdba8e08df90d6c9d0302e0748293fbe4c1ee4c4ec336e9c03a978ff110a3a19396a3618965df3866dfede91228239fb4f461504f96b5de2ab11248a62923a0c3e166dab56ba7e5c805050571632080ff020e8ca910be1240272aebfb760f46660ee988ca2a85f22b75ba464281f7642c621c1b2d1b63c8ca1fed1afddbe063df38964bab4402ced53a2a95486149c08473190e1e22a3c9ddcdb32ea280ff2c62ec1a089216c3275a8c04b080507392964b61a5c15824ef918c5a5b764d0d6155c111c62bb635279e86a4126939129869585fae491c95b57afd83d1cb8674a1ca2a45c6a257e10c301eae50f104429d55821808fefefeec9db1dbb76f77edda151eaa85db4135f59dd4bdb908bc8a89dc4068d6fb26031c42cac613965c2be19a5128846fd12825915a8952750d3be5e555e86c79f937700749854acd7249a3bc4664180e33129d2dcf777f6b0f6b67814f5b5325e037c7dab26b6a484d5595aeb0bb3c0db1b7ce58226d3395f470542221f3b95d6dd91a924e616419a9f55289b5b3dc3b630da92591a55308e8b0a96db0192cb49e72cba4b9b2f57dd14114d98f0e3e6ca9954f27f00a3b9e95f3ac58f2b1b58b43cbda1cd81755ecf5e71759cf986aa2e9718b57a37ebd54527f02e1d5284f5a7d3d10d061535b6faf560d79437bfb3a3e12a42642ad40d056d3db0d6aa40622333b91d2fd773592265560e8e8dce0c3f18200d64725e2d5be20e86f18bb0e9b5aedbddad6ad5bc0dad91b3672a43baf330230e58857fb3a0fd0cbd74d874dadf660f5ed3b006e47c04d09b8810f5b4886869c672d2b9fdc3a7ff54eeaa3fc52e6912a239777c63ba41e8a4c35183ad1d7c1141edb7a727cf7f16c9bb767bb67ee8a7cf4ceec0506d13bd46bbd4dae46a60a46f97ddc01835a79fbd4b1472dfb8ceed9ead8d69f1f39782f18dd89ab70e593fbe76f97f419d6d3445af4e8f6d9e397d3eddf9939b6ab398746ca3296dc3f5643bbca5ab10aa0dbe15ba3d31d667f361a7fbd5b911462ef1f835e08bc3ff9b813bd9e7cff5870646ae53bb3e77555302888591d1c3265ca743555d4d2a278e14a6df7f694f13d650f2f335af0b6fbb6a7ed859854f7899f0dc18f5a60c9a9eddef96c6c5785e2af2877fffefd4e9d3ac1fc81976b6b50016277c103825229dc9f2c878cf67e400d3249d59b84800e9bda7acc666081c4ae3c40be343b3d436aec3e7454cf61f03006f534f54ee4f1cb89a78f09db0332a5d17fed560cf6b34cfcccaa2cf1d4969a5421fd56b60638f0be9e9e41f71163bb63e212bca9547d96dfc0ca0c3dbdb4fbc70bb85696aae197a31ecda2cac8d36e31e6c3a91ac1a9c2bc957c483b7577884e576d57f644ac4c2ca687e00a4ca3f65d6c50ea2328aa4d07a635d82a34acc6cf50f0c265e4d255c9ced2ccfcedc2eb112d65e71a2c99e7492eb665e50ca3306ca198bd6c5726d1b8570fde274f9e803d05892c2ff3300cd862ae0e6c2d3bdf342a412a9a0002f2e35207bb5aa7190cc4909837af993cf41832a99723a233ad448ba6dbe25d636be7beeff649fcf37a91f4391ce936be8b26d18fb3a28c7fcf3d32e86486ae335cb49551ad15dc7f84aa8af2f5f4dad0a19bae1ddc99683e6cba970d8656cf00dac21979ba171976275b3064fc9c9eb6a648faef961dd17a7a86ac6234154dcf29a225800d526dd75c4fa6951eb64ea5c57a7a4c6887ccc40c78ad160b9037ca118bf5a9028b874a41610b9a24479c8f09304a2c078f0e4c1d16cb08a6bba687cdaeaa62345c557a553242ba75bcd1d02eae924b55b48b4b6b4b4c036c336ca6363e5c5f2b2f10b0891198999979fefc795678bf7efde08ba26067d567176b6d59629269b208e8f0537e308fb54c30baccd1c26460cb1c1510fea3632fb844cd3fb423e4c683f4dcbcdcd4b85387aee7237dc73e035c11ca8e08399f595cfcf8cea943d171b7332bf4691bd44c5fbf533f59ed638984ad75eee188d05360c9292e7e7839e27266293cbbabaf5f0d66a3aae8c183c779702cb20147aaf1c5a881def3b2bcc749877e8b06a3272d2b91c523a17f4043cc8898d303363d90ebf89642ab4c65ada0b653ef2eb82f7b8ea5e749d2e38e1d4b85075b0d400ec863fb0bd7c1ac3e4ebd405a7ec49e63a999390f6e1c8bb89d8fac7a7437c7c4ac9eac0e6cdfd98c4254e653273e40184a99056234a0b7ce34e6d0eec3c7b96cbb5d8c657d645a677618cd95f597e9c668c8eac94bc388625a66086aa6676ad5691809ecb677efde101111460452ab56ad060d1a042c30c1600b2590a16bb0cf0b1966cb94906d5346a0a978b530e3e118608f16c830a36ed6e9dd299ed2b098948b270ecbe68189ed98693ead447a1307e7ff75f1d6c15f6f41b9a0550fdf779df41ffccbbc6d60d066a8efdbf9a1176efdb54b516b5cdd7e4ccf3f8fdcba75806631b1ed3bc9c3010e3b6747f3949494137f55cd593ade903efca0f5ce03065c48bb78eef03e2cdcca4a5f9a9f7df142e15bbe9674306928648e588101763f0df028e18c615b59bb5cad0c92b156d03743fb11be6f17855e4839fc470a309898a052293ea9c0e1cef4174068d6cc8ad567f6e7e37c3d4b0ec5a41c3d88e9f5cd3b8c9b36145c6bb0104ceb0018940b0c0c815d9fd60193c9330a510771d7540099e8dd1e2561c5b0de32e303dc58b271fb11be9ea5d0ee91bf64ed8e9f3ecc28399ce905ad2fa6845858b081a669b5b1264c06b6900739906145ab64985dee96cbcb95c988822d2446202b1f4a4002373125403074e8d0bd7bf7c22e64808029872d58dbaa2a991bcf944321490401404087df166bdbb6ad96439890900037c420ba9e8181016c217228735b8c7368559616e54b28239185c85429ea5e65498914e90b940bd966796aab2bca4a4bcbab8d4c80050e36a609964139c361c75981a9a996673e19a389003b53ac6990b555499548ab34aaacac01bdc75143cddcd4a8bfba2c2551ead5ca25951209a56720845e40796d5829b36ade631456c544337dad35f7eeddebdcb9338b334b7ff9f265b8fd356cd830a62db82d56565606254c063e6ce3ea0a170db2043390bc2d2607a389fe6a796ceb3c3ae06e60d74c5f1fac2d9351ee928179f336eced7fcee16a646656c34b05b25aae99a86e666a2e1431871fb709251ada1d031753219c96c4a5e1f272f4614c52337373d597d014f4faa66646d8dd53d74141a3943302694c1350cc6d8b4bc5d54d338d007a04945c4615991c39fa1616fcbdd0245f452cbbcb91f982faf39c1a99990373867902816dab6fdfbea000d4326a80ceccec0232c8906f88b1a343320c024dc5d4c211c224e8361c364ce7a18439aa556603944309b355a9e2dd05212013b650cb64d826b8f4ac404df2b9728086d58d4baf8946bd21b6396e156f9e2b93e80f68004a2cfe90014c982d94b358c1e5114bc3d03383ce52f2424d0a9b2c024dc5d4b207031c09dc8301f2358f3d1c5a40a372f8a9b0304258516c4685acd65d6de46843c36d88e8cf45a3e63c2fb650c8248617f29061b62a1928648c72cdad90daa689800e9b5ac6fc693f6ccc01c35cf1310e08d70c71e500255305855c1a4de59a78b9e57595c3e5e5e6ebaa435ddbe5cae7b65b57395c5e6e9e2b9f2b531b9abaf2726572dbd2460e9717e86197dd32a2a044452643c39031b5b0258920c020a0c3a6969dd3b58e658b162de0d3d02c3d6367818b3d78d425b0c42a349acab912581af542b64a25c3ee725934e5596226c3ee72e9d942151a4de5bcbcea852aec40a0229fcba229af2284dde5d2b3852af23595f3f2aa17aab003818a7c2e0b9307028686ad6277990cb38549056771c84306966be13be42c19cb48324d19011d36b5e053683972606af3f3e1517d786aca008e07488cb585125e0f454bb17522ab6b5bdad06b435327256b20ae6b5bdad06b4353834a75aaaa6b5b2c3d335b985d9516591a2867ee8601313c8100ef92595a5a72e727cc3728a703bbabc820bb4d05011d36b530d1b51c2578b40bacedb367cface009567d7d78d88be555c930bbb0add5046b43a3a25e5ddbe2a57f41992c3bd19f81b7061cea8a3f3c7500cf7bc149dddada1aa619cb0e98376fde5c2c16dbdbdb73e71e3b1624d3141090ddf0d1b9aea6a6a6b669c3bc34abadeef06cf9d3a74ff3f2f2b465207404813a220067f4962d5b829d55e7cbcaca2a2e2e06df56bd8a943405049a90a96d0ac349fa48102008bc9e08e8f00202772decf5049768451020081004180474d8d472d7c2c870120408020481d719011d36b5c4ab7d9d2716d18d204010e022a0c3a69678b5dc812479820041e0754640574d2ddce485270a98c7635f677c896e0401820041001090055ed1392c202473414101585b9dd39c284c10200834410474d5ab35313181f7730a0b0be1c3794d70d8489709020401dd4240579fabd52d9489b6040182401347405717109af8b091ee13040802ba850031b5ba355e445b82004140271120a65627878d284d102008e81602c4d4ead678116d090204019d4480985a9d1c36a234418020a05b081053ab5be345b425081004741201626a7572d888d2040182806e21404cad6e8d17d196204010d0490488a9d5c961234a13040802ba850031b5ba355e445b82004140271120a65627878d284d102008e81602c4d4ead678116d090204019d4480985a9d1c36a234418020a05b081053ab5be345b425081004741201626a7572d888d2040182806e21404cad6e8d17d196204010d04904f4e6cd9ba7938a13a5090204018280ee2040bec2a03b6345342508100474160183acacac17579ea22803038337e3fbb5f0c9b2caca4aa150f8e2b0100904018200418041a0613ee3585252626c6c6c6868f806c05a5151515656464ced1b3094a40b0481d707818631b51289045c5a3d3dbdd7a763f5d6043ec10bdd69d1a245bd2510468200418020a08240c3985a7003c1ab3532325291ae8bbb8c57ab8b9a139d09020481d716810633b560a1aaaaaa5edb7e6aaf1831b5da634528090204012d11e031b570f99c9f9f5f5858585a5a0a524c4c4c2c2c2cacacac44229126a1e0d5828582bb499a0874a89c985a1d1a2ca22a414057105035b5d974628c2cd387223ae5e5e5d9d089b763606acbcbcbdf0caf163a02dde1ed2629240810040802f54340e96d3130b3e9e9e95c3bcb0a8542a80202b6849b8187bd18530bd656eb5470f5c4859c52adc95f16217404bac3ed1dc9bf44040a2f8747e7360efc145ca91592a14585c997a3efe4bec4317df1a6a83b917b56ad5a157e43a1b6aef422393af20e3da115a616d60dc092328b00d6d6d65c78985da8020220e3563179304f505b93312c4d59d54b91e684a754958affb37c616e4d3cafa60e3a02dd51efa36a0995bcb8ad3c8d58159ddc38e641b5d597bb4ff7717178b2bc552a64fcfc3b8dda514a3cc16faae2789237fca2bf9478cffcb64e2e909c9cda8ed7a5b1a292e7cb6799e277440845dd19d1b66dfdc6e2c9e509536331c654f29eb66df734ea78aa0e9cd251b3383ab95095806fbff072b0d7ac885e43070a9114abbcf30e50b1bde0e368b4324abcaa6ddb11b402dab5415d9e3a8b015bb18000ebb38c3f0b86f5edb7df7ef0e0c1bffffe0be27af4e8d1b163c70b172ee4e6e6020190a92fdac20352609ee0e17f8dcd3f7f2e4568c9b6c31f74631ea2123c7f9ed60bf5aa061ecd4c1aa56957f138eaeb0f0e0f39bfdd4ba01d3d43051d81ee68c301448147af4e739686fa0f99baac57eaa1b16fe46b0fa17e437c7aa70eb5abb97354f87ca7bd23cf1f1aebac0d749a698403d000cdb5f5ac294c88f08f58713575a19d90122767b4aab92bf56ca471d884ce1b53533782eca284a9eefe4be38ef632c70dc11b36bf9ebf5acf8e0806b8220c81d0d6e7fc79e94b06437ed4a0c80dfda60ee995f878ba05ee504de9893802056d1f3b144f2dcaf9ea79692b4c2def454d9c0d5d5778332218640604274fdbe4ac1d70e60350110db6c2ab858b2b463130a96067c1bc829165ec2cec422153cb92717b01b689b92d062ea18654f514214b6b6b7d5902aaaa6a545d455397e4276e98da0fd2d40d91f9b8a4e4ec861547fef9e7b779b8f0a7b38929ffecc3b97e2bfe1197d01c399132869f121906f1d915df44c65d54909588cf7ef07fa7d0cdff1bd26f6a644a4989f89f6fe826faad886444d0727836d0112d4d2d20d2caa295d0c279204cdd5899752ebc130eee06a455e1f8dc0b73e3f21e99fb1b2ef3a6a83be15b180f65fc9a70e662591cbe4aee3c52918bc7d39454f4aaf97ba2a3f159740ff895700db593e16a3b3f9cf64472c357d14d8d5873871e3a4a7c7931d3b68c803b44f5cc33bd9a3a2b54c5fda00aefc81a5f150e55e2e8b57e1128d66f08f43b62dbfc558c235c78637edbf1d162ac6ce1e59df3f700207c7d8f5cb32a243a1cf73384e36151d03b9aa59e9a73d98a8a60ac920b71678476ceb26304466abc7c18ee14e2962971f8f8c50cb6881d11b1b27a857722e56ee6627a3ca147a03aa411e1f261d8231b068680ab487df2f0360d4ee66091cccdcd991d21a29e442cdb93416b1db96a7ec8e5cb5be8ceac89bc937c999927f32fd3c823a43a4f5825a827b11bf6dc647abe66fc9acb37645ddb73594cd3a8758de57c810c8c84393e6aec867a2f8041292a14af19bf2a3a3a0410dc83012d8cdc2203784d38f6daa9e4f0214b12903f9e5a50ffe4e69e3d973394db57d3132e621a7408e4cd5191016b7d02037d5068c84d993d64e709682a3f72815c86f988f14bfc6211edea510a53cb5da2057f96b1b6607059f796698f4b26d700c1e22698271ebbc529b242686ff0d6fdfbf7fffefb49c66082a9a5eb7382bd671a2c3c70ee5cd4874f03be8d164361d9d3336b3edd6cbde4d8814d0bff583ef3c3c326078e85adf23eb3f9722ad45edb3a26c060e1b973e7f67cf878e6b7d1d87496969df93be093e34076ecdb09673e8d49d56fd57bdb42380d2e3c706cdb8076faff867dfaf75b9b80256ac9007dba554d1be888966bb5b0c892909c9c7c237c837fc29c6dbdf1a9abf0b28b975f605ceae3d4f3457e5ee130d70b6f4ef00f3d98f8f8716aea505b866483975ff4514c13e77bd3cf7ded65e0934a13128a64701626c432d9c22711fe53d70e3c7ff5a8af6de1e50d5eb302b645c5a5a6a626060e054197d7b8fb09021f3f7e7c7e4186977f244cca9b7b26847a1e8492d4206fdc5243a45ce41b75f5e880047f7fc53202c8cddde0e22508bc0a4d2d78e2e71f29b61bba30d015b9ae389898ba62807bab60bf1ba04feecd0830bfa1379ec02c8c0e087075b5c3bd50ef3b9511bc646ac6d0a8c4a33eb4dad660482eaf71f28b9d1334bd5b437402d90d981b3820d4cba5edaa90cbb273063d523e477117a27c33bc5c36e043472a8d0d959d32d9119172d5c35cb35a6d8bc2a3901808e349f7c81a4b39bfc0cf2b004c54e1cd3dfea13e7150928a091a2d49a363692b09e03e89583221c0767de2d583815b67790dd96b7e35316e9b6f4440345ef9519f270a95a48511c10c1ed28cd8ad13de8f9c7335f1fcbe39fe13a2b1cdc383a5d43505e30be4e0a829a28aa8dc3b5b266c4573bced04d074f0d4b54fcec725fada0a2faf7199153de02a3e388e66f879adbd9c2b74f63e1ae8ca4c2dc0539a1b233b3ce43aa8ebd9484340892397240c583a77ee8240d7ad01182248ec3c813c7be4ded8e2ee9730070ef1839ba60da0c960a330b5f292fafc32ae2abc2d564302b9ce3d7bf67485e4d0428809a104ff3c4bf913a1bb178ffcf9e7a18b67d1d99c125c988e3ed9b5f91d47f3b6ae3d9d91fbaee5efb5356fd9b1a73bd213e8e965ff4333fcf9e79f9198211fd3eb5520f4c9f16f80ccbc4d477767019009cd5ad823e7162dc011d0d36be33a01fdb978ddc1b33934750d1ba62fdaa00027abad1b960c79df2f62c1c1ffd217cee29bd1c018191abc25784f282c27c13416d8cd4168c284c5e1373304f4819710b9d53528b037d813a1b5cffa8d283854e67cc89b542c7724a315470f7a3bdbc1d52270a139fbc676b306afc6c21a1c1c71f45630ae915bb66c0939198122b0a1b0eb3d076d9db07867b8ca495f2eb87ebf62a15def5f0f2e88f01b7239572a60d6f07313e8c6f76cd9128c1b17433fcd5b99c3bfb5855068edea83507032455d0e8d9db3c02762ef0d8a4ade9ae0e3ed6ac1df77692ef473e1d06ec00b2a5aa3883d6bdf9f101318776a52ad9796da76496837f750eaf97d41c14b2680bd05e728372112a18dbebdedc0cfede6b37400da7a53651858d11cf5c437816bcedcb1ddf0285858c029018f0b8a8e0020424ec299179c63815d6f84d64e5dbcf366067d95ceca69bc0ccc93a883639d2dec7ac1e5d580a88d93ec2cacbb0d80631cf0e49927bc8ac0043a98b8a9b79d85ad9d2bcc5a30e0ea5de365ac6b21880ef0727772f79206ed4bfcef406087a68f1e5ce88ce78e18e00c0af485c52aa175efa51b0704ef85d389d0c21ce616aea60f207a0145d12a8f9e8d340409117ec8675a2b8ab2e8350d252c89519b30f2233737722df4c2070e71189269ae88397b1bb03ac3f3b3f05817b3cbae1bc02e38b6b065d66d2103640c0d770bd10f20dc0c18296ea1525e5f3f1fa1b1dd7b777190eba3afaf87f480a5b20a9bfb512346bb9a210f0f0fbfe63620a612213363632c50dfd88c26c3d9660c873ed40e1fe531c2b545b987c768bfe626fafa52fd66c8b925cda020d3af84369b61d38990ade792c83f3d4eecdd3c6d54e04f472ef5d2fcda2d7444cb600ee0c26cfbf59477e11e27af09e19352c7e20b5340d5d7dbdb1b2c92b7f7f456701616dafd3735d13b323460c210bf15071f2fec8531668c2e0608d0902f0ccb819126c8900359e616b2527ab4e414743d94f8f87afbf4b6967a7b4f5a8157edecbcff9b78de3b744bc01017bf83718f0732665126acfe3f70cfde62e0d26dbe5b27cc0ff02912c09502456be3eb33a9b70574d37b452b5b25e916ae1b5d134243f72644f86e4f1df0c4292034d43a61ce34672195aca1efaef8ea984dae026824e166722e650db3b5c192d079e8f4c7a9bd163b7985dc5c381d86014c0a27319d42ae7290a5b263014894d513c829303346c2679ab74f37848741400fb8776ae2f9c8d02d1386b8ac3818b7b0a18601b7c69f40077321a39450c50e0183fa3ce197820658733bc6d7350d8c752b067d82a252a777e38eec001653d509a2c5c3282f6908a83bc16ba1a75b5d22fcb0bb88d0868804ef85705aa50f621a03f9918b8f68c5214e57c146e1d5c2599a2984db62ecba01bb92c03e93c092c925e05f8140c0585bb0531a927e4b840aca2803d9630540459b5a0303533b173f84fec9a8ea40276b132c008caabe3e234946861920ca022eb5f39c8ecefc536049d3db320c606a939bc918646406c6ad3aa1e4d2e77469616eae4987b7a62e5f3302a18cc22a8692770b1d81ee707b57431e161b84dda61f5de1ea37c41f7c25bb5ede088197daca19275b2c85ca151709068e9dbb7d9b0f5a0be741612f9f39094be8552944c5eef143bebeccda61420cac4c517742962c518c1ddbb2b0172c6c05c31521bedca397cbeda0202226d79c69a9156e2a572c16380f9c1bb4dd07d6c0b498a3ac742d32c2b141513eb1a11109f82e8ad0ce75054231c914ddb833dd389cc0516c117351251cb8c037d83fa0287080b5d079a44facbf7fc4c6e9bd804f53dfb90ae422f3492bb74705e54e707fff32383c0d910ac5c9627a351684c161606d2eb0ebe5831d13bc3888c4b17b62916f6ff930c00268ee8d9021fe09ce6ab3801edfada1f485393c3a8647130fc349cadc961ef056208d1e70e7b17383b60d4011c90dd481fa83c0334f340963064f5ecbd33579d50bfd0222ea66482ed1ced7172dd9128335a19243fc627de7d2eb72f26abe5f1e3d1b6308c431c1116863eae353b04077ead4a983075724ac854b37ac91da91dbaad700b4644f0c1cabe21b117e09cc5a2dc7d4c2fb608cc70a77c0e07903d68d850cf3f8010805022053ef30d82608800011676a48306f37ce7eafdf103a2d3e5dd1ac1978967a98a1d5877fffdae27fd3e81b5ffd169fce812221b8b27259d09c90c983534b97f6fdcfdf6b04fff70ecd3064f1051005b16e502739879cccb6c7c811683d909d4e97dcdaf6c110a01f32e9d4e8559e5d8ce5b2797ea1235a9a5af01a9983b1f7c25f57a0d0216ba3298b817147372e8145419c9c223228eac9e57eee4eb033c42f62e351bc846a3d74050cd3105ce6343561c5f9a0a1d041db810b5d23fc9cda3a053cf15c20f7b6041c1705fccaa341ae538760c9b09a05433c7069dc36819faca5a9b0564b5d5edb8f963a24c277a3b792d7a03e62752f11760b3a1a2867b39e1377b4d5122f5006d2d40858b110f69a160457866ddbe27b417603c1daa305f896b1b0b7cf1cc80ea40d196fdf6520b2a2e128a350b7e9fb0e069a4f705f5cbfe799e4c264bf4f6e6ce8e782b169ebe495bb62dfb46e16300c57f705cea287a1dfd42f0b44970000400049444154847de783f05282edc015aea150e6bef649d002579999e41a5c7a7cd74e855b34f0e8183eb9c2b8446d6ce52513be04cc74c6e50df480c35ab36f900f20d05889bd68e1ce13688ceb2ec2aeda3c91cf5a462ff96463a5e162ba50bd6b0cc70b6ed9a38695c36d7a60d0f940f12c661adf5cb12fc81b864539b1c321cfa8ebd9084350183d2b74c1417cfc32c902bc0658e98a15f31db942eff5fb0604cf8263b3dfdad80172163d30d2f23c82c766e13d05b85fc4967033e003dadbdbc32b63dc42267ffcf871070787962dc173ad7fa2effb6b69e5702bcc7302b531602a198d760d3c7dfaf4d1a347a3468daa7f4ff06d4298f2ccd2121683f739bbf22295321e2a551d5405332d71e4a811a84a68d07dd5d6b4e88186be37a85abcc240377a2a288f038fc650a44ca32e4e8d0b177046816fc0d5a5bccc125a41ae865a37aeda35ad195f80b03e6daaf2e0fddac6f105545462e56d4bb550c9d4023b585b48ea8f19803f5bc38bb967ce9cb1b3b3e375789554d2851d7870582c160f1f3e5c1794253a12040802ba8180818a9a604fe10d053037b020c8185c30b2b5869b612228d2f79f54e4e9de2e2c204077744f6fa231418020f01a23a06a6a415530b590c04bd55e6de6130cb0c2a03dcb6b4b09b7c588a97d6d4787284610d051041ac63832a6f6cdf06a89a9d5d1a94cd42608bcce0834a4a985dbf9af7357b5d48d985a2d81226404018280f608348ca9850507b8cbff662c204047a03bda234828090204018240ad08348ca9353535053bfb6678b5f0ceee9bd1915ac79e10100408022f0d01bdb163c7beb4c648430401820041a0892250ad73a9ecd677cdfff7af8ada65e2d80bb18fca8a8b0b6effdafc9ba03f6fa9d4cb76cb1267d0e3bc31361f4aca12f723e471ab8c9f962e2dfb0da1ed895c8ab2fd6e685974627e56d6439cf215750f41da6f8a5db9d4b2fc2c0e91bcf465fd364aeb65b73736ff26e41ec6b0fa4586e3658140da2108bc720474e54696e4feed63db3d0243ef1780a934405517fffbfdfa1681eb5b7c1f932ec1c65368db7f707f7ba14864d1adcff7102600bff0763becfbefff7be0767a3626902778ab07b9a125f376634174625eb6a3d2626632f1bedcfde30a30159514eeae67fc3142f3277b7bbaeb2d3e90c4d0435d171b474b1b1b479c2cd977f5e8d7551812d9964a0bf774f79c392fe84a361608894a8b044971f45e76cc263dcf4d4aca3144f4362d26885167a6bfbf27e466ca142e883b8077214dde912697e3b93852de40dc4cf7c549f48e7aebb402aadd84c26c56a69e67242354a18912f24cf1fd33c7a4dd3a8cec64c9ecbec87028da213982c01b8dc06b6e6a2b33d3af876d02abbae1f0c2a4d6ab467ad8cb0eef928e8317e52d72ffa4e4ea8924f900a5856ddab27341e0892f90fb7b5da0b0e3706f17bba7277afebcbec5ea3f8f5f4cc72f4f22306dfb77df5a17bf64771cbc7f2967a5e2fab71fda3f360b4e7d89df503dadb05d1376f1be52f67023846ed8b13bf24a59d0582c1392b00bfad8c5d8dddd1ddbbb99b248d24c95ca56e8e81d796577ff90cdacf98292dddbe37af6df9d9414de66e892c3bbe7d9a8f0c877c128a375b159b7b6ffbe9eda9d9fb8e8f7dd580815e7d973cae4d887d565f9876de6b79f1709e436eefdcf6d7ef70a7dea480b0ffaddb2bf23dd2ff5d6815dbd9b2034b2e794fed1b8eff90f7738ca00d6883c424951d3a5765b46cba213d10ad77b38e4dd25bf0481371c8186b92dd64820ddde1f74626115faa4f3c4cc094e42b9aa140eb138f883fe604fdcc7b58efb6fb2645e1ffa8901cb8e83dd2dbaa73d3b90f2383d03d977115a741bf531fca19cf4d3fb7b9ed98fceb48f791fab6ad9655ef422ab9907c61e90d95a2a2d2e1ea1039bfc631025444910b52a8d9ae70e6f500b6d6cdc5081a58dd2cbd449685d74e23c771b7063854285578b25bbe10d27c925708adce745fe9d64ece2826011632c631439b5dcac1bf38962374b47cb2efd3db04da6f55c37b9bf23e4bd17ef47ed63b2777bdb58baff3d097d13991633d9f2c0949075b776c87a855f01a7f5970bd5d04d643909ad5fecefe83fb97ffffeee7487f891a7e5a49e3956821ca67597996428abff70c42ef5ed441ef6900f0ff97da31190dbafd7b2931ddf9be0be25e6f6c27b7f5dfadeeeab3efd070f768270cc38e933617d4ccd45e85265954c79cbee7d068311ee7672cbee91570af3ba5820ec9a5d0dbbf8e07f25e883161d67f61f6467b20d0c16852c3dfd97c5b7f9261c566eb109a3d3c6ddbbe75962cf57b8633758295929de9765152596b080a06c636575f178e941855e991bf6a8826c5c9656008ea8c260a991d18ada749984ae40d42e102b4f5cf14cb9d0d37fe3bb3d23d3fadb2c47331ebad72813a9775338f6405962dc95b8b8c89eeddf5d74f8e1a6b18e9a914f3ee95bd236e623ae4b5bffe1b02776563eaae4f74d47e0b536b5428b2e23a7c01f957efffa950317ff9a7ec92e76d187f6aa630291bfe15357b773442e9d6c855476dc893c34a82514dedebfe6c44264bdb3dfc454b0d1f4514d25c9996dfca3d7590d5d8ed0242811da382234f44adaccc95d2cc11226251538bacb1c4e1b7714742569721777ae85930b51fa153ababba19e3169f3c6da8044961c5b437a19575612e36f3505edcfcfb2b16ad3defd56d9ccda052b5a61f48c4c9a37b90b8a0b0f421efed01424a1fbd865a87dfbf6c863fb2d47ba44be516a5d4337a9b4a46c4777cf2eee9e3671eb1767c3090002dff321dfc932fde2b122d46e5c77a6597923cabf75180e6546b2471078931178e537e6eaa0003c6000d4f42def9bf49dfee27b7b8386ec87c2b247fb83e0c103d9dfc6d86c5c5d51565ca122bd2c112ceb6fb2270ab236e2ebfd19cc5ed62d78d6409e161d661f24c8bfb5df832e9ef45b222d0c3f81a0fc4c02db46d9adfd8b185afaa986b2fdd88c2bd2fec4b2ace865082d625accbfb51d3fff40dfc66745b099c4fd93dc708b89933ce0a986b2df3c26d132ab1ffebd4e2e71069737f13768cc8d5e716564f0b40e157cdde452ce88cd62bbceea02f8d2c8573ffca5f937bf5e13732a5e6c389404911d82c09b8c801e744e7ee8eafa6f25388f52842c84f5be2ca5bdcf9716e5b2de78334eb2c271aeab209e6ef214a949cdbcbee38f91061fe5cd69a756c557f0e2c3c1279594110474138137c9d4eae60810ad090204812680c06bfeb057131801d245820041a00920404c6d131864d245820041e05523404cedab1e01d23e418020d0041078634c6d65fafd2bd76e5fb9753f19bf93ab45ca4949caa1dfe955a19566a725a7c3035a9a9224f5fe9d1c5c5f70ff7e329f004d8c2fb9fcd5ea59e7e178c9e890e608022f1981576c6a636262347da0b78e40543e387be59ce7c9a801574ab4e2a462e7bbc424f298d4b490f667439234caa092fe1a70e84c3a55997eecf0807d0f78046864adb1a2ec46e8b1cbe2a21a696aa854636f2c3d653adc0ffb7efd9c039a7b5fd7e1a8a16ba48a20f02620f08a4ded8f3ffe387bf6ec5bb76e3d7ffefcc5e0140e9fb778f1adce20041ea1d7220987efc91aeec6be68a0e010883c90114fb99cc2005e54a35ffc808d7e03be0192b2a438596a286fa5cebf6aec8da527d68cba73626e49fbafbc35c354d7e1a8737f09034140b71078c5a616c02a2e2efedffffee7e7e7979898a8193b4e7c292a69e7982d8c3f4aa5876f5a718cf5ad284aabc583d294f05da33c0fad0c4a14b3ac481cb3e3172fbd5fbcdca342cee91b61452a112581c74de509f2b4f44a78741767f05e15a7bd8c88b507dbb5db0f7ff3f7c0abb43815269c994097b49bffb7ac29eac1960907b76c61280f326e2c951c33a25df8128496cf3f3261c4fe80887b3437a2c4971633ec238e241496e1c23ab0f3e8c91bea8c694bf39683bc9c4829b297d6c351afd6e54d925f82808e23d0806ed90b21919b9bbb72e54a2727a7458b16713ed60b410ce2ae86c5e02006dd4c3bae1a390847f64a7b76298fb165959444fa3392aead35ec80926e261dbca784b8478d6b5f2009622a2ab363fe5e3bdfe1bbfce11db223c6b9e05753114adcbfe9c442b0ab8ad43176e9b84e5d3e883530b587e037ef8c89edd356e6d7555d0eb8e097dbe24acadbad50d6cdd87ccc43dd98e0953bed48bf83aea691ebcef6f73f9fb96908421509b1154fc6744ac9748a0d889c18999a39d75de8dcef684ad6de0e575150df69ae56089933eceff74f9f76e4ed4dbd6d93230f7b748db99bf9ae85f6ec421e3d21d4597a610c843a3b81f4edf6780e1edec75ee37b10bcc83350d091bd62d8c85e9496c35197d69986c89620f0e620f0ba985a065130b8f1f1f1aca9e58f2f45c112816c9180d15e69c5a09b3663233411d9181ba272396d794e12bcaffbb69ba501b2ec3dc9238abedbd57d8a7ff729720ace6fa74eeef49e8d4b271b593175ef8760b4eddcdb764263849c060ec5c55446de5d64e6d3db09f29e73ac51ff82dc4dc81aa127e0bdfaf60613dd6b8c195a9747cd85f384b150d8d2ba2b2ab4682914d27656c68e8e045f890d460254810b2804415eb464876fccabebc913ea4c436c2d7ee4e9deaa47f6d27238b46f9d6e876c08026f1402af8ba9858f27faf8f8bcfffefbf099321660cdf1a598d552949b5b80ba819fcb497728b82d56ef37734110bb2670fff896c3df16083aca20aa7c50e9b277f1a81a825131d1c638ba2867abe41e7233c615165818a15879543284a056e6222bd8cc366e1c622e85a503a3a08dfad801c5cebcf6ec0a41f29c5aa8330dddd18c3c6f642f2d8743dbd6e5da925f82c09b83c0ab37b5fafafa5e5e5ebebebe1616e0b429250df1a54416a82aee4176f7eec2db10c4cba225cb23b2ef82d0f1ebe90523ad85061a2f8d19720a8c5c15365dd8be19b57644e8ddb8f4c903eda9fb51e7f43d314ddbc1de633a62db264f06cdad35d870a1ed9c31f1b3f75e1bb9628810e52727e4daba7616b602fff4614c72be8fb3302132170db06e2517c4f76bd8ca156dbd993ac6b9bb90f6d919f69b19653ecead1195939c5264eb6aae668b5949aaec6c0537c313ea0c9663c2fd675ef1dce19d36f91b6af78e2e412e41931f468e75d43ab29750dbe1e06d9dab1ec91304de60045eb1a91d366cd8a449935ab5aad10a21a17da7c1f6ab06a3af24121c4a46e4bec5f4ace7cfeb11329dac8fafc9d924ec366ce7c5b33d37df4102af4cff9efc96893a39dbf89198e6f9d2ea17841c36978d74f11e3c69d1c539c677e86223fab698c8c2d945d5f8b32da964ccbd37f6fae6a39b1ddaedc71513dba46cea8c2cfa5ff9e3697f8f483f5c641875d793479daeece28771afb9d6c82bb1c392c4311bddb6fb7605f65b51453d3dced2ec08cd699312d8114be2a61ad8b964f2bccb074b5da68854869ca2ae9c4b7387c891f1e720d8a34d083a3756717e51413eeda44fa1f5c909ade502e95f472d87a33b5feb4a92c80e41e0cd454057c3cd505441251289d84f3334c40849255439129a69f05cb56981a2e086187cfb00566ce5892aa25095500837bbea97cae00908b8512614b246b97e721a80ab86c85e8d311c0da031114110786d10d05553fbda004814210810040802b523f0ea9fabad5d4742411020081004741c01626a757c0089fa040182802e20404cad2e8c12d191204010d07104de18535be75052af5f64afaa42f1bd42fc105a03a67acb7cb581c11a1001228a20f05a20a0f2e4cfcbd669c78e1d172e5c506975debc796fbffdb64a616dbb3894d4ad958555a883539eb316cf68e1c85ed2356593faaa3e820591bdce95df72fe9279254cad591c31ebb85dacb3af10227ba57865066878a44c8db1f682a2d0fe379f4459afc0efe6d6354164af33d2014306dac95e3693f3d75766237653ae1af925083425045eb1573b71e2447885810bb89999d9c08103b925dae5eb1a4aeab58bec8590d5b4bb6f2fe8500f3b8b11528becc5c0566f998d19184cbb1125540481370981576c6a5bb468317cf8702ea010e24bc5f8d2b59cf8525a8792e28ae5e61b3eb2170eb815b278311daf0b47e1621601ca2eef94c5fa6a37ff58b2fcbd00f1e5bf99006010c46b4be40346314a1c336144c812ff6b379fc843d6f205f1428847a6e6c0606a32b50e3606ef27c38bc22a01cc48682eee2c227982409d1078c5a61674fde0830f200002a374cb962dbb75ebc6e9007e6b3e6cd3f7eb5b6c38bc30a9f5aa911e38b2974a28a902796c010e5f8d593ab2d76e4bf1e602f94714d8c85eb3c20eb490f34264afadedd66f96ff41fec87d09c211b37c3c20b2973d44f69ae4245b7e80785dcf337a39a4648e3a32adcc6b760c6357ad073adf4d199b9939f62fd7620ffff3b8b0f04aff8905dba23c3253fa78de45114510470627a15dbf3f8ef6ed7584124bd9b55a1c032cc6bc7d4aa6f71f732a20061843a92e930e0cd6ef1b84be09eafbc751efe5239d194a1e9974b0b13147fa65a60cdb655d00c1c6684abe86f8ba09a1b95cec9e4260b0f52d56ff79fc623a7eb78224820041402b045ef15a2de8686e6efeeebbef868787431e5cda66cd14d69f3fbed46b18d94b16700baffbf61eda1a2dcf49a190abd048808ab6fa1fbf2945ad201e178ece85a827f03a598b91ae6d21efbdee7a84c258c9837b41853cf105f1e29189f80283d1325465d625d8d80b050693f780fc1204080232045ebda90545de7befbda8a8288884d0b97367eec8688e2fa5652829ae306df3f58eeca57a7f4d7ca1bf57d6aea87e9f7768997132eac816d65dd556139e205e9a65f20506abb5a15a828da9f193d05c6a90900282807608bc16a61602278e1f3f5e79e900abaf3391bd108278393b4fdedbe4d33939e12978ea1d8488c2c10fcd06b8c21ac3e384c80a6481effe095bc15daf872793737c6c4ba2f7228bb9ec2881212e0373299542105dc82bdd2a64897865d2b5bc91bd5465d631d818dbac2c434273a92242f609025a23f05a985ad0d6dbdb5bb3ce2af1a55ec3c85e58f7bffc6ec21fb8a27f5d19843d5ce7ceeb065ced4ac7fa1a339136c65008e1befe82705fb2785d03301fa4a288f9c7fd8ed059afb3df2088323ecac796de653774102f21af4c4ca316188c57a6739d828db16dcb32bc81c15489c83e418020c08780ae869b698c5052f58fec45dd9dd0e16e50ca045b948f8456dc95043ad6979572ec5c99d39ab067ff62e4766a7a57be71a9a98c4f664df4aa752f1a6c4c551ed9270810046a45e075f16a6b555485402854fef8824a75bd760522612d1f52d028b63c1655e0d552b560896a2545a1ed8e2fe96a38c6a2e2486cb3237795d6a6358a57ae5093a95c5deb9eb08610e3b5321302820041a03e08e8aa575b9fbe36224f59ae38cfdcce96ebcf6a6c8dca113f292892225bdbce165a316894442a080204015d4180985a5d1929a227418020a0c308281e62d5e14e10d50902040182c0eb8d0031b5ccf8c013a3773229f6995ac5a051854989e9058a7d92230810040802754740076e8b355cf4af1ae0919ced79888a5934b7bbeaddb607612127a4a35ce6f5a98199541104080204819a11d001afb6e1a27fd50085e598d419633aaada596010c0ab07021d3821d5d0375245102008bc720474c08830d1bfe0cd5d162ccdd1bf62ce2cbcd162e722df4ec2981d9baeae84e7af209e4dbb315be6b8d0f7fad36f1f08f5bc07cfb5c2eb58eeb7be18698f4b25e9e13ba6dd31e82872593567a4bdec7bb9a91777ffe5f3081302e916e61715a647eeed79b504f6bab51876644e5f0b2104bb3a79c776e44ccfeef6363222f2431020081004d410d001af1674ae7bf42fd47ad03b1f652e5b96b7ac5fb7cc234b8fd1715d24573cef5944cc58961730f3d6687b79fc7091bdf7bc93935b1c2ecc93afd5561646829ded18fbc9d2ccf1d62c64d4951d3daf363f89d9c77c5579d6e9400e4224d8150b0fc9100408023520a0035e2d685fe7e85f08225b679f587aba508a0c72418084b9e165fa017ab8f2e09f8bbab8f4e9d353f150ab5024b431ed86d8305b544e36421dbc3ad918209b413bc30f17620025e9c9b07dbce3e026546980c05f2e4ca7505f8b6ea33e863f94937e7a7fcf33fbd199f6b14b7d3bc95c63cc4612418020401040b208593a80449da27f55a61ffbcb33be5bcc54df8e36e927769cd8cc585ad1a8e0a54eb7af24de498aea79e3ca9e49f34775a9b5e7f46a034bd56edc96c9a65208732b146e3130c5cb0f24d8150b0ec9100408021a11d00daf16d4af53f4af31081ecf6aedde1d3e3296f1e04409b260ba49a5decfb6ebfe8e4b77cf33b7d75ccf950706c75f1bc06e6f9514fc5af835105ab444e8c6d5746ab8fdd3dbbbabf4a760f884ad6135f6525cba645c279b4a2a3bf14141c7ee5d12f7af39b11059efec373175b09305716635ce3352411068e208bc716f8b511289502442c97f8ed927be84075730192213765e103c5984246173363c38cc8cb8a9c7dd85fd5b835fca2dc4551d63978eeb24ba15b6296a2ebd70001276fa2c1ee70e55e9b7ffd8ef99c2f0a34fdc16ac1d2ba4e0bb0c229d395fc954273f040182c0cb46e08d33b51c002514f8b696227c99af481425817556532dec23040f9322918550c590528514254022a16ab9a209922308100408022a08bcc9a656a5ab64972040102008bc2a0474e361af57850e69972040102008340802c4d436088c44084180204010a80901626a6b4287d4110408020481064180985a0ca35af82e8d81beea07fae3f8b8dbd7e2eec6a731cff7d64f88165c92d4fb7772f09b1805f7ef27cb9f652b4a4ebec7be9da18590ba9150850f92c5f0c5f5464abccaf376b39114206209020d83c01b626a21fad754b574e1c2052d4182f05d474e24738871a0af130fe4c68a5351af2c9516b5fb9f953d2f7e19031fd16dc44425fd35e0d099740adee0383c60df03c6be52a91e1e37531acdd666445cf78894058b68f8aef12acfdbcd866f9b4824083424026f88a97dc1e85f6ae1bb3406faaa17f6c2815f6e9ab17d3ff0f27f73bc5e42f998e07564e6fd3f78404d5ffe909ad100d44ca0fcc41b1f6f3dcb0416cdba0a8ceac95c3b1baff2bcddac5d16a12008bc4204de1053cb44ffe2e2a839fad7b1ed1e81a1f7e1915b04e1bbd6b70884bfc373abf4e5c608027d7defb1fab7a5e171f2d7c9d22f067fbf820958036b0d57b6786c4aacc949cc3eb962f22f5e7af0b77b730c1d5b0ceb552e51e1a1ae7e2723fb65f626f66afff1b503bb68de5fbc3c2f4090053aa91756224a422912e4e9a5894a680e67f05e155d82f95ba1e71b161f6cd76e7fbb7687130ae56f1a53f7d64e38b873cf11ba7c7fb4183bdc94f8d2624cb6bfdd88ff6fef5bc09abab2b6378270b808c10b722fc845c2a580da312a95745a91a90e5ec60bcc572bfed567c0cfff0147ab58ff696da7ad38753ef01badb6da8ab515ac56d1022aad355a1568954b55825c140105514bb8e670d37f9d739290cb09260131247b3f79927df6597befb5deb5cfcaceced9ef3979a39999828b2fef65eaa6bbc467554a8da8bd7c8aa9c85bfdb88f4c02d59df858221cff55be4456b523b2e2e3452799a6c85a41fc7b1740b2f67216d360e2c72717810289b9cc061236e559cc048ab5ed1f645cab69a00cc60923a07f0848a73efaa799b61a01fbd7f9f3e73b3ba9e03676ecd8c0c040b91660edb5b8e098a0e29fed28d0dae7ddd933dc3932faae28f787075dbe7b2495a689be028fbb7cf368832458b907f9f5ce3b9bbf712edf0e95e708daed3cdca471595aa9eff3f27aa73b4dfbff742ccd01355c1588a4810d219599df187ed2bcf8b4f136a8e023cb9fd6fbb9ed89b44064f1e6189b77ea97f21d1fd694892455580a85e9a9396b64619cea9ddee4e6b720cfccda1d3657bc169537c5594ec907935ea84a9d58f5eda9884567ab7e88a0cff4d6e675ef0ab02faae2c3eee5165b08b457ffccab5976f2e5d4c9ae95a78f87fb0b4aeffe09e8cf1ca67b9756514f9cbcbc33333ce94255ea4ca2f9126fb1e8d3f37f9ce72adae955289058df7bf9bd9f57378ec9af7a791caa2fcc932de0aa7484bacfe5b5cf636a75769ddc8752de479d75ed689377d12b0f4323c8fcd249fbfc8beb9211f40e49597982c54ca058ab6916e4847e96834cddbee287bd3ac55df189f04c6ff81d23f0bc10309c50ab2dfb571b350352a6efa2dda04cf485eca6842c387be56c197f21e7d2aa4e07015f2dd9415799f037f4c28e68376a8f9ac7f4b98a6e1d297f080f426f10ac4f6eeb46a6d49ab024285bb9a1ba4f92be6f88f67a89e74fd3e9c239d5c2a098a4a018f9d624795f5f6a0331428e5c5f474911842a84fe3eef25502880ef84d6d6c3ba6d001cd0e5b99b5e7580bcf764e08a242b1f952274725f7ede3e6481baa1a08e447684b9056ad995945dd889c641435439221fb4203466b6f778209a98f769f10966fe49defc9f7de8d3f32fbb1196084d98fe0ad50593a09e7c4740a16687587e4ef93b701cc6b5237f73373bef49d3aec9eaaa286fa36a268129d6a468e34ffd44c070422de0ab15fb97bc3ffae69ef2a57d798297e052cccf2f9fc26944d60b82faa2589f0893eba23f5426b012b16e5107c44dfaa0a726f3d4e62dbe9f64beeee5782f8b387f107e434322f85f885d7fcdafba72fa62fc9f8ae36eff75a1076b6179f6cee3ff1259f848dcd753d1c33d983847ca6b4e37a5f066078bb8902c94d68a55e3dda8949499b69db074609e9c624acd0b6b7fe645d47f913bf5ef5e63ebcee49edca90c95c2d49aea82ee48f94db52389604b2389fce9c00f55c8c7c8c1210a4184ef926f568df24a7d608a352540f0a17e21c0720de89782da68c3b07fc12aad5225c2ce6f764cdcfa471b63f686995dbd7264c2b643e5229abeab0ae8bb10aaa3e8bba4d73bbdda294ff445356617c41f8dee1c0f2d31ddcef7556a5dfed0c6c3cb0dddf942d04a1592374bca6421c3ca0de69b6baf57913d5d5454ed6a6a40289a1bec31ca86acfee100702ad0cd90b5c206e797f8b3e393035f446db5d48232b4a35ae81c1619b577feec0d7399d79cbd8ba638a89d6a8f4368ef999bd050655e3dd03fb8f6594a372f7d23c6c122426b619dd8ce6ebc9d45575d1575db184985dd51d302261044db8dd3dd081eff03b1dfd61aa14785d4f2eebdc283d2b55ac27565145a7df057fa4ba3a9f286fa3bcc0862127a7cae0aa8d59b0acf00ef9ad217805421fa5343e5afa57ff475e89966f7c0c5b7d66ddcb76661d8148a4a08278c80de206050b35a40353232523db684bb6f98fbbb616803c5fe6586e646ecadcc0ddd7685ae6011cbd49323fae27fb64d4af405bfb1793b2d607934f475e617baba4e08fe0ea1e82d6e7a042d30e1b8db1e3f89a88ddfb4a50979f196e56869d8b10cffe048277bcf13119be0acf98460248d93a5db3defd4323596ff61bda4ae6aa18d9d379759c894b4decf87294c348fac2e8417087d9d1f215f4f610e6ac72bca6d090dff49f24db5d2a9ea7d1fc27be2d66905fe2ee950376a31f5171b951c66e67e7a3c8297491fa0a865cca76d64caa42d6f147ad1c268b113ac0e3327e05da123f4c2bc94c288889fb620b478f108499bb219b7bc7ea83fe5658d4386bb601d370653acc94382f3fa8580b1d3cda8a1ef1aa8933ae8fb0dac9458c5545aa5c4cc092bc50587ce2eb2ab0b59da285087b116aab4d75f01493621c25e83a99e18ee6c80075f1044df6493aa8bec95fe67a20b15c498eee97282a0566cfb4beaaab3d6a18435529eb5362ec4083c7f048c3dd43e7f0f600d300218012340c0a0d66a8dc05fd8448c00466058228043edb0741b561a238011185e08e0503bbcfc85b5c5086004862502867607c2b074827aa58112ec51173235e7f8067b3c4b57015756b5b57be0780228c11e3afb7a4b6f8850af99c299dec6cae207705f9b857d80f704e919d642e949854fcd2515aae9f1c100f1d463cbb06aba22f02caf5f5d757a46f580fd4b95eb2b2e2eeee5975f7e463d0eb8598a124cf8c38e5eb4df2d3776d4809b53db00c59595ed96e7bd84004ab0aa88bbef856a70a7825c6b5d95e76afe670b9987c654dd9d20adca5a2857a92fabb9645f1dc59cf8eab7673ba7cd9cee06b706eb411a289e7a60025661b01130a2058401b27f0d36f29ab4f77c29c134d19091b19cbe6ac1d17cd8dc2b9f580be5056479cd2565559433556b5b2b3b15363e2b4b0ce931e61e1b52b88745674634ab65d8bf727373658e51cffe2538bbe6ea98bd094b7c3935d732bee5dfa4b7a39a8614ad9f0dbc0464d9fe2547dbddccda333a51e098889371a176002329d8935ab099de1db6c0256ae74a2eccee28c94cf447b346a0b941d6538be2f8eaf7ce220494608977ae1c06f5cce79c8b49e033b7fdb35182c596fc408921b7943fee48647eed03fbd7a9cd31b49ee1dc7da75fa6f913540b81120cee9a95791d0875e00e5833c4c29545a3044c5df9ab7751bc07515b3d53dee45136d55e4ae2d51c81227febdca3b302ec24f7cf929d74e77435d91b6ba1ecac7c46451218c5b2176fa1ba4651a3cea7ccf5a667cb8d37ceae8e68cca34a477c9d1ff58a9b255929f873783db037a0f89327d1e3803593de9fd7b77582129425b262e71b8595aea6478e74d3cacf09a036aab17704d46540a90355a7f923feba296b227d20cf6abbaa4ab0e110c60145562447b106dc6367aebbce8ee507b93bca34c219e3414076d11985c9dab27f21d496cfbf697762f9aa308ffb35c5bf4b363291cd977a7bb6f313768514ef4fcd5d76d4e764342c6e8e9ff1da1b77035d082448dd76725d96e7aeb910959b2f75f62ce0273cf23bffce8e829c327edc147540eb1f25181b53971af62f75460da49c85510cb508221a271d79f9e874d7e6dad207f46a01e13df5fbaafa835e0528f9a56501f6b0f9427da7dd37f21e3fd83a01b6b1ddf8ea54c45b82aaa3af420067e9a8399fa22ecb0d9fe7d5bed3ebca8996ee35d028bbed2c2a21cc3da6de07467bc6b842adb6ec5f302cac17a0db9b8f1e4af0e34e99122a656685094b584c185ca5535e0d3cbffe3a3cef209480df8c0d39eb7e6cee44668d508f625180444b5293c19085e38b3fa86c8b9bc2fe8f931e5282b131759175acec5fb4a9f0e62fcdc87fb216ca0bc8f20a922c8c6220681b8576bd97efbac661f2a489d209b525418c75f047cd766309a29f384b75031c639b96502467935f198f36dda749ce583a221fc0eeb831b3039ca14ae4d62b27685a0775b6b3a984b9c728b4719247c0b8422d58ae25fb97cd9c7deb265ccb175e2fcb0dbd9affd5d2f8397e0c7c7dbb56e96378c6cc117e49a0e0bf96f838d6e4ecc9d9c1445a3847ede287646d6b832ef5b0fcc6a6cf227da50453222fa0955561ff624c80f7528a910b029942622d5490901ec84bb2338ad946ee9e73fe46e98d1b8d11bc9f567e31e57dfa773dd467e957daaad2a7b27aec1d2955921daadaae5625591d6906738f499130ca4f23fa5b8cf1af56ec5ff0a3f15679835bd06b0b63e2a6fc0db5489fcb005f500539d7a1c18a6b9508b9c29feec0a5004b082141de7684a82207d8aad8bfc3940274df90d3434a3036a62e56f62fc60ac2156696ad79f048471218bf2489b5507a52e153499295510cd6556b2b1fba06f0e62d99736425badc082be04c1a392e007d5b788b446abfcb183960cb91909cdd780853642f701c2b75d93858887874a6f23ef8ffdc4120eda56aabb15d9d4a4c877def987bac0f0ba3ccb14704c3864273f62f580728fed73715c7193cacc34b0365c8b4affa6edbaaef60d23aa56811b584eb1be636e39bafc7bc0f598b6858ff9309ca6502fb415b0f29c1d898bad8d8bf24161213533fbd1dc13b8dd0c8dcaa450cfb38622d9483a42fab24c9ca2886ba0bff5db0fa64015d6be4c922d9df5f96935639a008a1d75a61544af0ee250a2b117d5dd03929c9d98823f933a810cada911d2fffc8439e94e46c1ad304bbedea5452ea16738f2903626cc7986ee6e91e27c936f87d6a4df12ed2892cdeee727af6dd241f24ea2138f26baf6dd4dc96f3343eaffe7ad4534a30ea3e05c99d06b4f62cec5ffd59a5eb399afd4b95510c9e01010a3d655996a54fb27491576972d52257a4cc13c6d6114c90a91f2137be4a4f44c13fbc290bdf2cb693a4ae2ab168898b0c13817ee6598669b00e5611f0041c856ab0e4da09ff94100447a11801c1b7728992c0530f9fcabbc8b4c02a66614ea83ebb96b5f0a96ac80b1004fc9a564af04f947ce4553a3b68876c5deb1464251a75e5a16e6a5557c5229592966f5db2d7fa8f8cb2eb3e9937e264a96cfa0c0db1d8ae4bdc1f34907043c303013cabd5c14f644d4dc368770ff9f9ac0eade02a438e80b8b1f691ad9bbac75028aa43deaf7d206ae944aeaed4232c71c2080c10011c6a070820ae8e11c00860049e8e80096fd3cda74b61098c004600238011180002a6ae2fffdf0154c7559f3b0216f14bc72f0a1d35934bd4dde8f8fd19aa639df097d11e3ded372c6c37ccb6351575dca19ea9ae8769c800e9b37dea4c871581a6172aa87f4f87094a7dcae3dcd0206074f7d50e0dac43d88b69e004cb707f9b59c1d6d42efd6797b8a3a227db2d9d64e5f387d10b26dbbf36d0ffff9e9da20307c42a65ed845d73e0a9c09aa6395339735eb4a2a4b54169e64cc7f47f78e77dec9bfe174dfbdab0c63bef7df7a99aea85e5f408011c6af5c8193aa9d2f1df5babde2ca0769b3ddb59660fb523ab53b6094e275d87a4d22000e238ceccc9e689e6da52bbb01964344789ebb82dd2d6c3ec09a08accd46e6d51d0c167fcebce23aa4b45cc7dc50aa7f081de23806ff6d2c9454ed61b5e1dfd9abfe5a3928698c32df16f78bce92f79ecedf54b75abb23b908f43d60a8e4df7638b91f065d6fb4356ddbb97e19ab2dab5c979d228faebadbb27fbc4ad0f0be1e9e720698b5ad118aafc71e1a5faffce966d8252d1cd69ec81951c5f4baa85cea68e8d9fd431579d93f25fe46c1d01f595aa9e6c853e4e564e9cbea86a6186ea851d1566d41e5dc82b24cdcd442861a567f40409cfe1a37ba2b93b1ba1a9d7e7b96e986a45ef5dee3d7fba3ee9428742fb7207accaababae02889a8e54f0b4f88bfbb6c9349ac1ae79c1a8f55e73c4cefbeaf494b788a25780c486d2076bbd67d9f4fc50287a371b6ebb96265147f6d5ce0fbfeb38f0f10b2c4cc48a038ca9b361f6280bd475f030750f2f241640347707dba863d793e90cbf0f1801fab21f702b46d380c5b2798ee99bbcf3feafcb027f8b47356d998530eead67fa9bb7defa7dda3be5a9975aeeb432608c805bc12cdac489efdccd6f329d35d769265d5c5fdbf6e9c1ba69efd415926673e6b9d1bf044172c4989e8ec4ff345c178f98f422cb752785d762d7cad1be663d1947eb128f36dd687d4c4728faa4ca6493ad23563d590a97453b6f5be69aba42f282fc07f00b57d87abca4e5f86f1d15bf89b24b44f992a0a1b199d35d21ce56973c78f3a0e81150b950df40084d72fec754abdfcb29e8b2efa1f0c8f14ba5a6aa7cb2e8d95f752540d83b62c1f3c2e5871b0f3681868fca9b120f36a49ea5ed64abee3393b1a8f1cda3cd202f496c28655f6d2d274d67cd7080b582636b5ce227d14b0df52d1f7e07a436668a4fa6671d6074db4e0e30a5ad2ff93d47d2131b204863775092caa38e5d4fa965f873800828cd5206d89a8157ff60ed0bb36017bd98cc38787f8790fae5c7a4ae6e346a02e7d81acbebb5adef4ae7651007f3cfde8559e7efa5246f06f11a175d10f6b6a29110c856c39c949ade49986868c97b05f5c8a3766ca0af3904e50bd296153e7dec2759a2eaab8d3b0a61ead751003362b589bd23563d550bdf4da97c97ade57f1d66a6dba20f2bfa4e6b68e64c3730b86bf7e126a89adfc499438fbb993e549c71f2e408de87a55f08bea6a15c7458d8d7b87c4e554fcdabb34bf6b0e159df71a1de241ed95b883b0a84929f17acd5eb9d188b4460d18570bb05922ba95d15a5820bf7e105b62c9de71a3fd5facd45d6337deec648c0943711a91b60209430cfd60275ef934e69a144151028d4d01d5249c551a7b19e501d276d11c0a1560bc4b20b444e536d02c711d1cbdcc2ef91e70b7fdf7119a25efbf2f7eefebf37ec7dc659cc9aeac073338fa07f1a43bb7dc198eec467cef8687fa2bca429f5b70edeab4eb3288a3e496a155399fad6c71071d4ee8c607ca5345f93b600159da479351db1eac952b8618dd70267d3ce6e50864ab006525e7077f909b5cb1a9a9bc934a8f8de9371e27e030161eb716b536f859a38ab1ee47eaaf70142f7a822c9658a15d5911ea9ac4a2b57777a512a0a54ee7d59d61ccc55c7bcee6fe5016b44ddbde5b5ed39854a604a5872d40c306873dc1cf7118f4a1f4aa7b450c2e238a66fcddda132ea9eaa27ab75b8502304f002824630314205971b57a5dc829fff5f5d1577da13d1735d8f2db58515d884bf585df8ba6e794a5da1188da21752411e463c6ffa78c82cf5842bb13b5f889c6ce0df8f9e1f0f3fc81199fb8c538bbcda7fb784ade5ddc8e3c531af43a34eb61f2c1d3f95510b6655a5b04fd8ecf579b63e3ed48f53351db1eac95298ff5b4bf6d5e61f7f6b655ed9574539a54aa141dab1c6665ea887e72998bfb594837cc6f160a32ffd85515f0f1f66933c471ebe2c2a7c3082f7a2f5e8be8695722c7af6535d09107649b5783e69039cdd474d45163ef4d7176bf57a11286fbe740e006e1f304efab79892d6f421cc55574fb5194592195977a7bd57b57c5fc361fa67810fd77a26d712e6a1e6a3ac6672ad7c802e8e7d80a1f895b6a350cfc1afe5967a9fc1a853a7279b4db84c6b04f0ac566bc8e0c7fbeeefe005ff6859cf6c8318643de945fbe8c90c51c0e3fc5f24ff5a40bb16ce76791f53b45ff06717351fb9d0561f6cbffa635f6a0101220fbcb44bedcb4f34672db2fbc7c7beff808adde48fb2eac296f30facc3a73a7e35f5f10f072bdf65efc8844d4f96c20b171eb0af60c8ba53cc6864e685ba0cdf09d1c10ef05f932c555ca8fbcadde3cdc90e79931da842b19c453221498645cffeaa2b03c2da913a3c3b7e2c2503836d533fb6ed7cd0c24f6960eda8e24ced0ffe5eb366b8e6cda054549a4bcaab7ff0f4dd83c2763abaca17a365914eb3986fdc09f6db26d8fdb0bff25d8990d2001bbb6082e9a3f20787156ab300c29cd7c81d0a4d490ed4e9c9268bcbb44600ef16d31a32d60a537dacc78c421585d22bcac7316f850d5c3cd9a36c2dea5b2ed4f7559a3909ee3768b9a07ae5f5893c2547b520eeb92084b58bfe126b47ca7ad20db016f6d7b4ec9c3666fa385954d45311e983b77d67a196699f34489a71b27addc9ec516b6701b505a0bfc4aea7c6d5911a490df164ad3e956b3b0675e6c82ddcf767804ee796c54e58ed8b3e7de7d64195eaca8068e30e95c670c1b3450087da67832fd7316f99edf983e5496a171f9f4dbf43dcaa16665aa77fece2811e77a211d45f37a7efacbdf094c03ac4a61842775ab8c310cc1d5e36e08db9cfc65f0f1f9b133d972f77dc7936cdeb4bab5a98d9fddbbdde4eb2f7c1a3ceef4fd5fcbbe8298f4bd0170387971e5ab86378196608da62662f43f022b601238011d07304d4fe0faee77a63f5300218018cc030420087daa1741659595226d94d36806e3b7fafbe59527c5348dd6da426b5dd2abf7e1f6e0043a2f2f24ab5778f5195359764efea5e49f1b55f8b4b4baad52bc35e51cbd281eaa97177da7544d249e3c6b1a0f1228043ed10fabeadeca7b7b9d5fd46bea76ad3d3203810ed79fe9dd88b5f0898279ab35421cb8e4cfbee6c0d098f4c3f3eed9b0a2ae64a1259d6129bda064f4b4b8c6da18ad54b4a6bf4ff4956e7a6fdb239f4e2db0271ff82033c3b503d35ee5ef38e44f9b12626967432894ead9603b99fceca8f6ddfb6324333d97e9ac1a7861f0238d40ea1cfcc0953146eae763798469af4365523b47f7976f15bdbe753db15d89319fccb4fdf320d6fa6f2f74e570b7a49bf11a8ac6707c7846655512bc9deb0722931fdedd4e5bbd3a15833722ae5fa1a1f0f504f8dfb419a7644363470528edf6e128b9b8a120eaf9d9f51f6f43ec8eb39abda3d3744d2c83f5d1c4b181202f297a121d9f5ac6d692bbf2638bbe6ea98bd094b7c09c19ed482cdf4ad4b0b5ca276aee4aabf924cd1f9abefc49ebf7200a1e5c1fbf64c75a745bbca0e2f4bb698eed898bd0da160eeeefc97bd88d62a4166fc2bd45471e4c6695f6c09722410882d886e46255076604e2ae26e7963fb7c7304bf6099a84a990cbfe2e1d9b666a807b4a17ed193f0d6cbfcb427ab5b22e7f79e87dac19d0d70aaa487efd8723a9145926a883d359c7927f1ce15ea567af339e76212f810d02175b529cdd2c8824f624b7ea0efb8774bf9e38e446ffadbe5deaf19a736c7d0771e8473f79d7e99b65db5b047638b1059b1f38dc24a57d32347ba91bf75eed139017610f0c597f7662fded24d691635ea7cca5c6f1ae3dacba7788ba9dd56d3fc117fdd943591b0390b91b597927835472047559f15606709b0a94277edd8f633d75d67c7f283dc1d41964984dffc543f261b12b73f7cc7e93232d68fee8a29941f21c0f040a5f2b3599d815eb37d99435275d8b076c4d4c5efc31e81273869814077dd9d5fbf4bf92479f496e4999f7cf7635e83182a8b4b7ffbb54e0c39f1b9942dc9abbfa7ca5853a770ff2cb4efd322f289f8c23af4d9bf8a245274f967ebd2efb68aef961695d58b9fb4167d360b9dbc580f0215df257c366bf7035ab41d047e49f96c564a4dabb8a595eae7b7435b2965e45edfdd6c7df2a4f5e6cda23a4aa3fa5258d39576532f6c06f69ba2dbadcbd1efc785ed4d4da41a494905a58f4ba0f3ffd90f5d93adb72f7d5fd42e3ddd5ebaffb359fb6587d06bc52f450d947ae2fc0fd1677f3b05dd403e7b16ca384759f4e08eb0026c5453a88545e21b71ce87fe72e017f193e62b07329cfff223dd6847c5f52291b8e3c9938e4bff39e49c709e2a14e5393b1fcabc7ef789b8fc3fce875e3b7c83eefcca6bce870e5ca9857cc5a963cece3934502cd08945d7b2befc0f0df23fbfc9faf90ee56bb924bebd1ce86068d39e3c611d218cb0f03fa3b77cf35b93b426cbb0794a47d29af87338228067b55a7c595e4b4fce59d38bfe3671f1dd451360ee2849f093b32167dd8fcd9dc8ac118a289e6875a917054f5e16029341ee82adc2ff2deb4021cc220094876d897686d91f3704ea769414c37be39749695f92a6087e990aeadbe2c6da20ea99e436d49c688c0dc1540c8a490a8a61e9cdd7976a072147ae2f3311eb21d108827c8c969a7a709e1c40265b3cac38d41ccc424592aea7fad65526fc0dbdb023da8d7a52bbc7f4b98a124017d397080044b03e1998044ca9856911730fad951baafb24e9fb8668af9778fecc741ef823540a35b688ea0f4862372d7909149afcca78b4e97e15890208730bd4b22b29bbb0138da33864a9e92df900e80ac7cc0ea0087e22b75e3941cfc2c9ba47a5089ddc979fb70f08b1408cac23911d61a30a086117386705bcd0fd9a1fd343cfa6a3b39e79eb96f8322b41a23d3ccf0309a7c47c0a67352304cea05b67b3dad10bcb8228f7d18965d8d8f4d791b41efe1c9e08c8e2c5f0547f68b5f6797d51c84ec1b535378f5cdaeeb6610a2f2c6c821d017f3d1de197040afe6b898f634dce9e9c1dfd445a5097c3b040598d76444da4dc7dfcb22b5066524ac48e38cb2e880a848539b264ae6bd94969a63c7be7f17f892c7c247eeca9e8e11e4c9ce3ae224d924996dd3ba05670afbd3d55d9d3b24928b697ffc52b6d52cd27f31f9c3a0eab6e116c1366a27f4f4de6a9cd5b7c3fc97cddcbf15e1671fe201dd810c1ff42ecfa6b7ed595d317e3ff541c77fbaf0b3dc034d5424d2d92aa29f79b9d2eaafd991751ff45eed4bf7b8dad3b937b72a71cc6d22a729fa3525266da76c23a8d79728a29a1dc964cb0e76ecd958263172bfed98e168cf189e5cd9020dcb027c4299e7f4a9c2a597e651d21742b956796b43b0bdea01831e8a466d8a8eb485a0d7f0e5b0470a8d5c275849ddfec18789135e557f2332e1e79f3925b5e42141221343e24c8db0ed555e4b4233b2d2055f75792f9780f845e29ad8d9dcde5f47489aa84228f600fd6769dc322a37c9858c6186236da4125cec219c226f509e96822e609ac51627b7ea2551235b7d626d97878b9a1f22f04ad1f478e42e4cd926a8f603fa6092b379841875eaf8a0b7303a66ba2aba901a1686eb0c72824aafee100b289a4bb216b850dce2ff1bd5fe25faeda76bd164083c452a8a945747d60d4da7be666eabc8995371e2264eb4520928a9ba3a6054c20d0bd1ba7bb11b57a8b8871f0f572fb4ce5fd79aeede70e22bb555465621cb0b2dd2eac13cff31e8fc8fb95552dae01b6acc1f65afa47396b90c3dea98b6fc197ab145eb21ae6b3f19cfdf5c97c7a79995a25671d217ff5e5d45ccc6a412e0b83a8992f93489265d8b07724ad823f873502acd7efb0b668089427dc7dc3dcdf0d431bdada081b1b14e636e39bafc7bc0f1d5b4423e4a0b1022315ae6bf9b06be6c89ffbd1feac04fbcf99c65e3cee16ecd1d7ae5c451b3b6fae6ca6d427c196137567209338a227f1004adca3659ca5da23f83b84a2b7b8e91174e3138ebbedf1937463e3376d69425ebc65395a1a762cc33f38d2c9def344c426386b3e2118494353e976cf3bb54c8de57f582fa9ab5aa885457463475617c20be87a8fe4cfa000f59eb8755a81bf4b3a64a31603d12b2d64c7cb3ff29017fed36afa681afd8eec7845b92da1d242b4d2a9ea7deabf32d5c45db08e1b63a374a990d5f9f12520bbc2c9720555253c5d2c88967a54618420547d665eb3c39945e3e59ab6f1651936ac1dc955c2d9618c00de983b38ce6ba326291c6a19733013d9da86cccda90504fd491df4fd06d4aa71bf89123327ac1435efec22bbba6031a46f9d1bda602decb76de949b27491576972d52257d484087b798548121667ed151704602581fa3abbf1557a220afee14d7f692b62ea1e0e644bc09d78cf26ddbdb2e7ebd9666f3c5ae9a2d2feb319362adde0023d4000875a3d700256413704c862172f616e554c807c94656faae55b97ecb5fe23a3ecba4fe68d3859ba6832bdb0c02e8b4b3102cf00011c6a9f01a8b8c9214240dc58fbc8d6cdf5e99116f421efd73e10b5742257d789761a5518221b70374682000eb546e2686c26460023f03c11c01b739f27fab86f8c0046c04810c0a176281d8d99bd74465b3bc22d9dbbd196ea0c337b0d006ae3aa8a43ed10fa1b337be90cb6e6845b3a77c154d4bc23b2ac8fd98b9f5a267f73b37a1d30b3977a6c0cfc0c0eb543e860cceca53bd89a126ee9de83a4a6e61d39c69d2baa1703b39770ebf9b5d198d96bc0d01b76034af7651bb6b183689d3c6f1366f6529ad11905b31722383c3e6c9383bd1d7ef377076f122981203f4238ccc8c3cc5e8378050ebfa6862347cef3d39995b78985a2895d43ccec6568cc5ef5e95b376e5c1e0c97fda9db0cdd17eb0861860366f662bf2c8ca414cf6ab5f87654c3dbc442d1a4ae51ccec6558cc5e9c10fe7cc710bfd30756145737447a78a81921d470c0cc5eea2e0a2329c7a1560b47b3f236a9a16852d72c66f63224662fc28fc7f3433c415e99fdb4d3894fe25847083d1430b397ba2bc258ca71a8d5c2d3acbc4d98d9cb3899bd4851595903c7cfcf912045f999db806e064612eb08c1cc5e5a5c63862b8a43ad0ebe55e06dc2cc5ec82899bd90a838942b63654fc8ab9f2fb7dd57618460662f1dae31c3ab8237e60e8e4f9f0d451366f6ead73b7ac0ec45b382514cb5fd288a99bdfa01c7784ee1506b3cbe36384b31b397c1b9d4800dc2a1d6809d6bf0a661662f8377b1e1188843ade1f8125b8211c008e82d027863aedeba062b8611c008180e0238d40ea52f31b397ce68eb29b397cef6e08ac686000eb543e871cceca533d89a136ee9dc055351fb8e8ad3a24d4ca231b3d7008137f8ea38d40ea18b31b397ee606b4eb8a57b1f744ded3a22ab3342571cd6b44bf27aceaa76cf0d91fddd1aa6695b586e982180b730e8e63079de26cceca5446a651ccc5ed4c06948f58cd99f774e306d8b120440315e7e4d7076cdd5317b1396f862662fddae32c3aa6524b43a8364262b6f1366f6daffd9acfded7d108b2b7e296a6805a62b71fe87e8b3bf9d22a953e2ec5928c3b098bd84fbc351c2b9274f84e128bc8821f67ac23a42186830b317838391bee359ad16df9c6a789b30b3174223e561242c5083607d725b37326d8372512f7dd2ca0dd57d926430cc5e51e617b92b1c85623e4265601fb326a0668450f663662f0a05234e38d46ae17c56de26ccec4521d82dea40c88ac6b2a726f3d4e62dbe9f64beeee5782f8b387f90f96d4df0bf10bbfe9a5f75c54098bdaad392102a89e69595949480dd5ccb58a1388d7584d0a860662f1a06237ec3a1560be7b3f23661662fe364f61a1f9bdf140ddf220412e5f33d13536feff183992de1373b065e644df995fc8c8b47debce496978099bdb4b8c60c5714875a1d7cabc0db8499bd8c94d98b20380ccb0ce1c8411c4747f9db0a14460866f6d2e11a33bc2a7863eee0f814337b29e1d8d1462273c2ca5ca1b8b38becea42963684fc373c6ba1423575077ac0eca54e35f972ccec258f86d1e671a8355ad70f7fc331b3d7f0f7a1f1588043adf1f8daf02cc5cc5e86e75383b508875a83752d360c238011d01f04f0c65cfdf105d60423801130580470a81d4ad762662f9dd1c6cc5e3a43872bea050238d40ea11b30b397ce606b4fb8a563579a774496259af4a534cd20630344000016f549444154a8bdca8f6ddfb63283d9d4a1a386b8daf04440feae9be169c130d27a3099bd622dfa335c2d3d55b5a097f43343655d3b38a6a9540b6a25fb6bbeef1c31fdedd43f2ce47d194f9af6153e8bdc00f5d45c252d3a2a46c1a784a7791c242291e27db56aba6398bdf230b3971a7c0cba18875adddc2bcfdb8499bd946669c6c3ecc5e13852fb183c98bd0c0a43497e8460662f05688cf4c048697674349b95b709337b1925b397b828bc2f666c2c6a628614eb08614e61662f1daf3ac3a88667b57d97cb53736a789be0276743ceba1f9b3b915923b4d1d6a3bea15e143c795908fcf6e72ed82afcdfb20e14c250b44079d89668671b381102b53b4a8ae1bdf1cba4b42fe18779194282fab6b8b136c8ca864036d414698c0dc1540c8a490a8a61e9cfd7976a072147aeaf239de921d108827c8c969a7a709e1c40265b3cac38d456520b15495a5cf5adab4cf81b7a6147b41be8803ca6cf5594303e66af25be7e994d620e05a22823d63e348e27ce985f919e9cb3a617fd6de2e2bb8b2628ec89c3cc5e8a03c6f88e70a8d5c2e7acbc4d98d98b42d0f898bdc0680ef5ad477df222c351b20872ac238496c1cc5e340c46fc8643ad16cec7cc5ee55f085a3f8e1c85c89b25d51ec17ecc5f73c6c9ec8544d5c50d1c3f3f0e22ab0599e7117f0bf523c10e337b6971411995280eb53ab85b81b709337b1927b317d9901fca95aedd2cdd7d3b992f379214460866f69243c678b37863eee0f81e337b29e16824cc5e2449dd7d41b0dc81d0870766f6eac3c2887338d41ab1f387bbe998d96bb87bd098f4c7a1d698bc6d68b662662f43f3a801db8343ad013b179b8611c008e80b029803415f3c81f5c00860040c18011c6a87d2b998d94b67b4f597d90bfe19a3ff1bd3d9345cd12810c0a17608dd8c99bd74065b73c22d9dbb602a6ad591a818c8bd2ca9648299bd0608bcc157c7a176085d3c98cc5ec56f6d9fcfeccd6533402d3d15cdec350295f5ece09850b7dc0f06b3d7f2dde9d090f1317b89f6d887ee4848af178b9b6e0b79ccfe673667f49531cc5e1b30b3571f24c693c35b1874f3b53c6f1366f6a2ee2d954b46c1ec45569f8e474b85c9d1b05d0c79f8f9c9d94f67e5478864036ff9d9acce40afd9becc2129d8935ab0b993125ee012b573259740d78e6d3f73dd75762c3fc85d93c8addc253ed66b040c833567a8ac60e56dc2cc5ec6c8ec2516527379594a1732d45eac2384199e98d96ba82e53bdec07cf6a6517cbd33398d90b337ba5879e4d47673df3d645d1e3255d288ef623aa4f277a7233e73f89c5cc5e4fbf8a8c5502875a2d3ccfcadb8499bd28048d90d9ab1acc5e1ae247ad787bf8f110da534dc6b28e10104008337bd13018f11b0eb55a381f337b6166af0976402a4c278f90a52826bf788f5f08a72cff3442b11e04902160662f2d2e28a312c5a15607772bf03661662fe364f64284df9ea2fdf6a1f62ba811147eea76347d4707339c14460866f6d2e11a33bc2a7863eee0f814337b29e16824cc5e48036a2fcceca534368cf310875ae3f4bb41588d99bd0cc28d4662040eb546e268833413337b19a45b0dd3281c6a0dd3afd82a8c004640af10c01b73f5ca1d58198c0046c03011c0a17628fd8a99bd74465b7f99bd74360957342a0470a81d427763662f9dc1d68a704be75ea0a2c61d91656926f2899fa1c404c1aa45f9b1eddb566a24c95a1d170e5f04f07db543e8bbc164f68a651e0cae46fbfe99bdcc5059d70e8e692a5559ada49a96958a89e96fa7fe6121efcb78d2d898bd088ff9b76ff3e1118e1c8e28cd9e9b06fb7395b0513d6498bdf230b3972a34865f8243ad6e3e96e76dc2cc5e4af339a360f68218ebe1417374910d690825cf0f511c49f22384a1f24298d94b1122233bd24b121cbd558a95b709337b1923b3976c8c0ad397a2f074b1e498758430e730b3970c3363cce059ad165fad98d90b337bc998bd96f8326408d5693187b7e6ed61560fd48c106a8cdd3a9bd58e5e58162499e1d24b370d39eb7e6cee44668d70bead07211bbbc0392be085eed7fca8d2911603158bea210238d46ae11456de26ccec45216884cc5ef4c0218b33b7a1e5b7799200ca3a426841ccec45c360c46f38d46ae17cccec8599bdfa98bda881436626af0dde5de4211d44ac23e4afbe9c9a8b592dc8656190a35410b81344088d0f09f2b643751539edc88eba12afa57f94b30639ec9dbaf856986247b27a38335c11c0a15607cf29f03661662f2365f6828123ca8f398ccea586a88c2185118299bd54f031c602bc317770bc8e99bd94703416662f25b3d90e31b3171b2a46578643add1b9dc700cc6cc5e86e34bc3b704875ac3f7b1e15a8899bd0cd7b70667190eb506e7526c10460023a07f08600e04fdf309d60823801130380470a81d4a9762662f9dd1c6cc5e3a43872bea050238d40ea11b30b397ce606b4cb8a5650fe2abdf665dae6de9aba56147645922d07af1f7c0cdb190c8b20c1393d832252a88be46d5e5c8fcb45441b516d53031983a28f5bf1c87da21f4d160327b15bfb57dbe955addd5f275550b7a49bf11a8ac6707c784de4baa56526ddb0a272866afe5bbd3a16c98327b55ad6dadec1c296793a6805041f67c7c5a3e136ce1409b9029edaf6cc55a2d0234430cb601138349e11b569f38d4eae62ee06dcada1dfefeb7e570a591823dc9dbc6bc4fbd56ee13f63b473145e7afbe13fb7984c9e711b1053552d1aeb2c34b63337724d1e5213f5751e5ad5582839498c9e77392ae35d092203627e4c07a7818f68a0373423e5f9fd981500f22dbe0a1add20479d84a0fc59dd429500dde7ae9124456b7f0439ab8f1e870526764ec13b4a3879fdc42b249520db0a78633ef44d34a9aa4ed1040174cea6a931a222900662f89d8e76fa556b6494aeffd9af105635104ff67a9edaa859a5b84c88a9d8b8eeedc79d4c525ddc5e5a86c724ad65e4aa44ad25d669dbcd12c86eec9da0bb35c8edfa0d56cbc9ce5b2280b5807c84ac12c97ccb5086d8a3fb96856fa7b276ed28ab24077edd8f6ed1f645cab699058427f508d05a3b57169b258cbd02090d5825886c73624a958444991d5a7434c128be9de1b04a926fc5468882ccb0c31b1045fc64747f2e17446997ce340892037c024675488c194471dab9e8acde2a3e787803172ece86e332b6f1366f67abecc5e57c44f7effe9dd43ce9f17518e155f79cdf9d0812bb590ad3875ccd9394744bbfbfa810ce7d7ce54549c73763e74aaa6992eeb108bab3e773ef4f9952ab1f877b1b8872e6cbd79b3a80e78bac4f5a537854c5db1e85ad697ff491ebd2579f43fbfc9faf98e58fc442c0c4728bda8682b422945e227b7615e1f2ea46a150523b43baf1e9a121e4f806c13dd68d1ee7014bc5f283c0e17faf1db0c0b98582cbe9d02d5f36e430e9aa413eb00634e6162300687e1fa8e37e66af12da786b7097e722a5334a96bb417054f5e1602acdedc055b85ff5bd68142984500280fdb12ed0c5c51dc10a8db51520cef8d5f26a57d0994db30df11d4b7c58db541563604b2e1c0a931360453312826292886a5375f5faa1d841cb9be8e74a687442308f2315a6aeac1797200996cf1b0e250d3300b15495a5cf5adab4cf81bd24b66afc960c7a4a85168eb23721542758f4a113ab92f3f6f1fb240dd307dac23911d8102de8cfaba2a333c1c6d39191ee9664bdb674910631dfc51b3dd5882604aa0d84615104295704bf067aa058e5fdcb904fbd88cf919cc8c1626b0c5250865a426091049d08eab26e34208141277fa549925970b81b569be07234c1084a3633012711c2147eb031c08c9396b7ad1df262ebebb6802a1706d62623006a2e1fbaee0cee16bc6d068cecadb8499bd28f09f1bb3d708264a59d899a3bc5ee93018959232d3b613960ecc93534ca571aca505560d2014b7b44bc5a84f580691c439f952e57ccfdd9a2b05c72e56fcb31d2d18e313cb9be166f52944711271f8491b4b9cb6642e876f3569a594b4b4380e9c43c49e3424ed9d143550e7ab452288d052494409c90e10621d60f4794c0c2607d3f0cce250ab85df58799ba2105c3cca144d1a36aaeeaf24f3f11e08bd525a1b3b9bcbe9e9125509451ec11eacae720e8b8cf2810b5696cc463b303caab2123a43d8a43e211d4dc43c81354a6ccf4fb44aa2e6d6da241b0f2f37a46fcc5eaa0610e3607e7abbb04e3ccf7b3c22ef5756b5b806d812a8f7f2c73fad460ea545d6fea1570272c72e09b0a7eb8e1c17807615de8af20e22d4ffb1c742b8459649bb764c3ab7d5fe954d082d8512c2d1031c975f1d1bedc741a4a8ac4ce411424d620549f63128bda9ded1dec933a4481c0b135d3a3986a0e4fcb2683fc931eb00c3c4600c56c3fd9df5fa1dee463d6bfd15789b30b3d7f365f6ea73b63ffdcd65c72bca6d090d87c04aa7954e55effb345ece5ebc8b385ff52aac2494e636f947e406942e0ab00379cb49ab1c5084d06bad302a2578f712ffbed6e472dc05ebb831364a978aa35480c38f4d09deb4b6848e9e1c7e7dd17e272e04563a251c17a77a3408925ed996201447c38a4d53d16efbd0c89026410835b5257889e9283414fe1d5bba5f9811eb276d526180616230292cc3fb136fcc1d1cff61662f251c8782d94ba94b854331dc9481902d41a8fbe5a0203dd80774e7b0782099bc0ea8794c0c3620f8f4a6320eb57ae30aac0846002360b808e0fb6a0dd7b7d8328c0046406f10c0a1566f5c8115c10860040c17011c6a0dd7b7d8328c0046406f10c0a176285d8199bd74469b95d9abb7b1f2ea8d1b576f54ded2b95d958aac1da948e1028c809608e050ab25600311c7cc5e3aa3c74eb8d55579aee6bd88f288f04af95b8bb5e94457662faa0f3223c4648f166c31aa7a61662f554c0cb60487da21742d66f6d21d6c56c22dcbe9ab161ccd77d0bd55847466f6824e758def7dfa6266af3e2c0c3d8743ad6e1e96275ec2cc5e4a3167a898bd68d7919db2fdb88c2bc597f7325c5fe92ef159b2e96ee38db38b18ba2f97c3e76a69baaf81317ba91937a420359a21f632894e954d791b8a33f89252fe699a6d11337ba901d0608b95b6c018ac9d836418ec852f2e3826a0f6c2075afbbc3b7b863b6cfa21c7cf78ed8dbb812e0412a46e3bb92ecb73d7dc7e6e5d17bb252eff78cf2feb2d4b0e274e7d3b84514cdc74a0b9367dee3131aa2d6bb5060abde2f4f8579cdeab5f36c3b1f258e24f6fa639e5c68d35f7fbf3e17c91704fd666f4a7c371d03130ce5c4b4fcd5903fbf8fb924fdeba85be7e0bf2ccacdd81b0e4b5a8bc29ceb43684079191413a717b8b3247a67a76270a2df88ec00fc022d9d79662eef27aa73b4dfbff742ccd01355c1588fa229cb9a21cb0e1f093e6c5a78db741051f59feb4decf6d4fa405228b37c7d8bc53bf94eff8b0a64c24a9c25228d4d822e55ea5c70ed3bd4bab26c2c6b0cb3b33c3932e54a5ce24508b20a271d291978f4e776dae2d7d4073cb10de53bfafaa3fe85580925f5a46edd3654a5900f17935b2a6599013fa590e3275fb8a1ff6ea1477f59b131cf9494de234d8182648b6e4c6f989d32209449e0e8de19dab17f01d45d5650dd43e3144f845e68b6fefb1f4447bd2e2421ca55c08ac038c31ac2cf7cd4e37c15c3ba999aaa34e2b3da5cde0cf214200875a2d805643bc8499bd109227d74604509d09d627b77523538aac561294addc50dd2749df37447bbdc4f377977c19a9166acc5526e73885fdb4e616a86557527661271af7006480dc8b4ab65168d77bf9ae6b1c264f9a18606749970d80d92b6fdd125fd66b07627043725c723e891c1ba01311dd11e22c45db12933c92a2793c5e0884612a61662f061b6379671d2ec662bcb676b2122f61662f0ac6e7c6ec45fbb0b40b26f692e05dfb332fa2fe8bdca97ff71a5b7726f7e44e66f26d1bb97bcef91ba5376e3446f07e5af9c594f7237d18eff755648ed9df5598bddc81d34769d984ae599de919bae57851e6163fc7ea4ce270322343cccf100b8bf38b8b4f877afe29e1f8edd4f91e4c3f705aa2367dcc3ac0e83398d98b016c18bfe350ab85f358899730b397951b2c83845eaf8a0b734366e64457134ce7a2b9c11ea390a8fa8703c826928698ac153638bfc4f77e897fb96adbf55a66bac752a8295799d46f842b50ce0af36a9b22c71188b02429eec451d3022610e8de8dd3dd88e2948124aead7ce81ac0f30ee81d77e3dbf71a653c8aba327bd18d42946c10359024fcfc678e61a980b29d4fb179898a330f208ec4765836f008e1fb85f01d8bb7253648a6ba5007337b49a033820f1c6a7570b202f11266f67acecc5ec4c4d44f6f47f04ec32a466ed5a200ef895ba715f8bbc0631150d46284c631feed2efc77c1ea9305f4c1c8934513a55ed79dd98b6ac10f6d9ae6b949da563a9077f945ee0ef7b437a1ca962e0f9671d8e66ff18c39ccc82dcfabf793d6c0cc5e52248ce013d3cd0c8e9331b397128ecf97d98b249b10b257faef8a24a927e3ca3d704149e5413ba479bd9469bd7426fbc2cc5e83e698e7da100eb5cf157edc39460023601c08e0fb6a8dc3cfd84a8c0046e0b9228043ed73851f778e11c00818070238d41a879fb19518018cc073450087dae70a3fee1c238011300e0470a8d5d4cfe5c7b66f5b99c1dc92ae691d2c8711c00860046804f07db59a0d04f27aceaa76cf3cd8cf8e134600238011d01a011c6a552103d62ec1d93557c7ec4d58e2cb614e979fcdea0cf49a2d3dacb996f12dff26bde5d334a468fd6cd8d14f96ed5f72b4ddcdac3da313058e893819176a07d802e9576ac166d8fc89d00297a89d2bb910aa29c94cf447b346e0ac41d6538be2f8ee36d78e6d3f73dd75762c3fc85dbaf548552f5c8211c0080c5b04f00282cc75d43ef763a9dbb78df9f7f13565e3df9d1d4eb17631892655da2923556acbe7dfb43bb17ce3a3f7628be6ba4ba896c8e64bbde494b08447ebc26345b9cb8e52442b08d1f44b1b373eda3835f02e907ed1eb0f20d9f9c80e241342fed65e90530662c0c9c4757b08dc51dbc67c7828fb620df5606d9c30021801c34100cf6a25be54c3da459dbd7536ab1dbdb02c48167991f502747bf3d143097edc29534281ad8f4e3d0885c584c1c1945703cfafbf5e41a250829df48b96e48164c8c2f1c51f54b6c54db1b10b9cb3025ee87ecd8fe9a167d3d1594f8a3b0a384d70c20860040c01013cab95789126551a6ffad9cd23b3b71fcafef156b36c5ec9902a45ca784211b299b36f5dd4ce10a2b33a37f4b3ddd9d4b494490cb589f408d1a45f579de316addab9e6d5586bd40c31562268417f5adbdaa04b3df44204cca9f3614e9d167aa973c1189f1373c229ee289c30021801034100cf6a258e6465edfaab2fa7e662560b725918e428e770f25679835bd06bdc20fed96b1f5d6964960a1040599073fda5858115d72a1172056a2992040ea7f12141de76a8ae22a71d51abb72c0902f4b5f48f72d62087bd5317df0a9b6087832c0b4ab8082330ac1160bff887b54903535e81b50ba1ea33f39a1dce2c1aafd0684ff1bfbea938ce1459879706ca4eb6affa6edbaaef10329d52b4889a05fb86b9cdf8e6eb31ef43d6221a21d6876005522ee02e58c78db1c1ce902189331801034300d3cdf4e7d07e489548b20d6e2cb026a4f1912cdeee727af6dd241f24ea2138f2f3d26743fad59fdaf81c460023a06f08e089547f1e719912b7f111bb0041d848fe0e939c8725d74e58df2588be7fcf9833362a25ec2de2528c0046c07011c0b3dac1f22d5953d330dadd437e3e3b584de37630021881e18e000eb5c3dd83587f8c0046601820806ff61a064ec22a62043002c31d011c6af5da83f74a8aaffd5a5c5a522dbb23f7d9a8db76abfcfa7d586946a2f2f24ac9cd6b723d91cd1595b54d7205bdcdb5379b49e661b472c52c59b5922a6db25456297a8a9e2af2b80023a02f08e050ab2f9e60d383acce4dfb6573e8c5b705f018d86798c8b223d3be3b5b43c29e8be3d3be817d6e4aa9eec495f0d377e40a5bbee515eeaaa21ed5f5b4a45652a5cda7b504e79fa6276b13d519b126d11a51b261f236560071e1a02080ef401814189f5123c4f4b753ffb090f7653ca9b40f6db0fb830dc4d4160cfacd54754c58d88df06f3697ebd47e59e9cb9d16f67225eab26a2555da54d7827cf953f4941795e4c9b2a49803fb857b146f1761114498bc8d0d155c365808fc7fd2d03879b2cc4f9f0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 There\u8217's a tremendous amount of flexibility available for styling and as you\u8217're in control of templating too, your paginators can be made to look as visually simple or complex as needed.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Conclusions\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Although it\u8217's certainly possible to write your own custom pagination classes to work with Backbone Collections, Backbone.Paginator tries to take care of much of this for you.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 It\u8217's highly configurable, avoiding the need to write your own paging when working with Collections of data sourced from your database or API. Use the plugin to help tame large lists of data into more manageable, easily navigatable, paginated lists.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Additionally, if you have any questions about Backbone.Paginator (or would like to help improve it), feel free to post to the project {\field{\*\fldinst{HYPERLINK "https://github.com/addyosmani/backbone.paginator"}}{\fldrslt{\ul
+issues
+}}}
+ list.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Backbone Boilerplate And Grunt-BBB\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Boilerplates provide us a starting point for working on projects. They\u8217're a base for building upon using the minimum required code to get something functional put together. When you\u8217're working on a new Backbone application, a new Model typically only takes a few lines of code to get working.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 That alone probably isn\u8217't enough however, as you\u8217'll need a Collection to group those models, a View to render them and perhaps a router if you\u8217're looking to making specific views of your Collection data bookmarkable. If you\u8217're starting on a completely fresh project, you may also need a build process in place to produce an optimized version of your app that can be pushed to production.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This is where boilerplate solutions are useful. Rather than having to manually write out the initial code for each piece of your Backbone app, a boilerplate could do this for you, also ideally taking care of the build process.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "https://github.com/tbranyen/backbone-boilerplate/"}}{\fldrslt{\ul
+Backbone Boilerplate
+}}}
+ (or just BB) provides just this. It is an excellent set of best practices and utilities for building Backbone.js applications, created by Backbone contributor {\field{\*\fldinst{HYPERLINK "https://github.com/tbranyen"}}{\fldrslt{\ul
+Tim Branyen
+}}}
+. He took the the gotchas, pitfalls and common tasks he ran into while heavily using Backbone to build apps and crafted BB as a result of this experience.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "https://github.com/backbone-boilerplate/grunt-bbb"}}{\fldrslt{\ul
+Grunt-BBB or Boilerplate Build Buddy
+}}}
+ is the companion tool to BB, which offers scaffolding, file watcher and build capabilities. Used together with BB it provides an excellent base for quickly starting new Backbone applications.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d4948445200000475000002e108020000005ed70f1500001819694343504943432050726f66696c6500005809ad79793c55dfd7ff3e77c2755df33ccff33c93799ee759b8e6799e55322453194209151551d1604a089148a242033244a68a8a12f29c5bfa7cbedfd7f37bfefb9dd7eb9cf3be6bbff7da6bafb5cf3e67ad0b004b23213c3c18410540486874a4b5813697a3933317c914800029c0016e404af08a0ad7b2b43405ffe7b1350eb3e1e3853851d7ff49fb7f37507bfb4479010059c2cd9ede515e21306e0400d9ea151e190d009aa88f2f2e3a9c88f3614c17091b08e32b44ecf707b712b1e71f3cf49b636bad0373660020c51108917e0050acc172ae582f3f580f1e07008626d43b2014eec60563752f7f8237002c1e30472c24248c8873612ce4f91f7afcfe0313089effe82410fcfec17fe602f78407d60d880a0f2624fcfef1fff312121c03fbebf7c1015f7151413626f09d01f65bbc1741cf06c64c303eedef63647a20af0e8fd6b63e90b707441bd9c2980ee6bcf48f31b43bc04b3141765a306683e5bb416126443eec270453a8a7b9058c6960cce715a503fb9e38164221d1dfd6e18063eaeda3ab07637815211c23c3acfff2fda3626dfeca1313fd75ccfff20309c6c478e3617e36211246bfed419cf30936208ecb03cb6f84475b12ed248e351c1a6c7e3017c47bdf487d228728ffe913f57bbe44dbfca3fd6d0d61396c33922a3ad296c881e78864f30dd03782316c1b52ca3fd2f0af5c333cf8f79a86fb226d2363ac897ee083b1af4fa81dd1874479b6374197e85bd827c872a00f082012f8004f100a96011730053a40f7e0ca05cb436199170803c1f019c945f9b705bd881e45cfa1c7d033e8d77f6570cf031e0800de30fea3eb3ffac3721b90083ec25a7d40d4dfd1502c2875942aca14be6ac2a70c4a09a5fcb76d78ad65ed2f3eb0d50fee2b7ea05bfbc0fa5858e3de5f9e7b406ae45f7cd0c7f39f1effdb267df01ef680df5f86d475a965a9ddbffdff9d31460fa38b31c4e863849199c8bbc87e64377200d98e6c015cc807c856e410b283880fecfa3b0a019610bd42f470143081bde803627eff0afd3bde7f7929e61fc68106bc085e1e58c3bd424110dc16f0cf08f6bfad0ef85f5a626086273c6220cc35f9271e0776a10460efcaa3b4516ab09f611fa318502c401c25077b5c0ba501c7401e96fe1bc5ff9e8d38f0fdededd8df7309028bf03c42a27de2a3e1b50474c2c2132203fcfca3b9b4e0ddd2478ccb28d44b428c4b464a5a1610f75e220780afd6bff75488e1d9bf329f25000ec1eb986ce45f59e01900eafa0060ccfe5726e00200b31800b79f7bc544c6fed18722ded0000b28e1a7821970005e20047b4406280055a009f48031b000b6c009b8c16bd81f84c016c78123200564801c900f8ac17970115c06d7c04d7007b48076d00d1e812760048c81b760062c8055b00eb6c00e0441241005440b31439c103f240ac9404a903aa4079942d69013e401f941a1500c74044a8372a042e83c5409d542b7a17b503734008d42afa1596819fa02fd44201138041d821d218090442821b41026085bc461841f2202918848479c469c4354216e209a11dd88278831c40c6215b1890448722403921b298e5442ea202d90ce485f6424f218321b5982ac42d623dbe0b5f80239835c436ea330285a14174a1c8ea421ca0ee5858a401d43e5a2cea3aea19a51bda817a859d43aea179a02cd861645aba08dd08e683f741c3a035d82ae4637a1fbe0e77901bd85c160183082184578b53b61023149985c4c05a601d38519c5cc633649484898494449d4482c480824d1241924a52437481e903c275920f9414a4eca492a43aa4fea4c1a4a9a4a5a425a47da49fa9cf403e90e1915193f990a990599375902591ed915b236b267640b643b586aac20560d6b8b0dc4a660cf61ebb17dd849ec577272721e7265722bf200f2e3e4e7c86f913f269f25dfc6d1e044703a38575c0cee34ae06d7857b8dfb4a41412140a149e14c114d719aa296e221c534c50f3c2d5e026f84f7c627e3cbf0cdf8e7f84f946494fc945a946e948994259477299f51ae5191510950e95011a88e519551dda39aa0daa4a6a596a6b6a00ea1cea5aea31ea05ea221a111a0d1a3f1a649a7b94cf390669e1649cb4bab43eb459b467b85b68f76810e43274867441748974377936e986e9d9e865e8ede9e3e9ebe8cbe837e8601c920c060c410cc90c77087619ce127233ba316a30f6316633de373c6ef4cac4c9a4c3e4cd94c0d4c634c3f99b998f59883980b985b98a758502c222c562c712c1758fa58d658e9585559bd58b359efb0be6143b089b059b325b15d661b62db64e76037600f672f657fc8bec6c1c0a1c911c851c4d1c9b1cc49cba9ce19c059c4f98073858b9e4b8b2b98eb1c572fd73a371bb721770c7725f730f70e8f208f1d4f2a4f03cf142f965789d797b788b787779d8f93cf8cef08df75be37fc64fc4afcfefc67f9fbf9bf0b080a38089c1468115812641234124c14bc2e38294421a42114215425f4521823ac241c245c213c2282109117f117291379268a1055100d10ad101d15438b298b858a55894d88e3c4b5c463c5af8bcf4a3048984aa44ab4487c92e49374962c90ec97fc25252f152c7545eaad348db4b174aa749bf4171911192f99329997b214b2fab2c9b2adb21b72a2723e7217e45ec9d3ca9bc99f94ef91df5350548854a8575856e453f4502c579c50a253b254ca557aac8c56d6564e566e57de5651508956b9a3f259555c3548b54e75e990e0219f43570ecdabf1a811d42ad566d4b9d43dd42fa9cf68706b1034aa34e6347935bd35ab353f68096b056addd0faa42da51da9dda4fd5d4745e7a84e972e52d740375b77588f46cf4eefbcdeb43e8fbe9ffe75fd7503798324832e43b4a1896181e18411bb919751add1bab1a2f151e35e139c898dc97993395311d348d336338499b1d919b349737ef350f3160b60616471c662ca52d032c2f2be15c6cad2aacc6ad15adafa8875bf0dad8dbb4d9dcd96adb66d9eed5b3b21bb18bb1e7b4a7b57fb5afbef0eba0e850e338e928e471d9f38b1380538b53a9338db3b573b6fbae8b914bb2cb8cabb66b88e1f163c1c7f78c08dc52dd8adc39dd29de07ed703ede1e051e7b14bb0205411363d8d3ccb3dd7bd74bcce7aad7a6b7a17792ffba8f914fa7cf055f32df45df253f33be3b7ecafe15fe2bf16a013703e6023d030f062e0f7208ba09aa0fd6087e08610d2108f907ba134a141a1bd611c61f161a3e1a2e119e133112a11c511eb912691d55150d4e1a8d6683af82377284628e644cc6cac7a6c59ec8f38fbb8bbf1d4f1a1f14309220959091f12f513af26a192bc927a8e701f4939327b54eb68e531e898e7b19e64dee4f4e485e306c7afa5605382529ea64aa516a67e4b73486b4b674f3f9e3e7fc2e0c4f50c7c4664c6c449d593173351990199c359b259a559bfb2bdb30773a4724a727673bd72074f499f3a776affb4efe9e13c85bc0bf998fcd0fcf1028d826b85d4858985f367ccce3417711565177d2b762f1e28912bb978167b36e6eccc39d373ada57ca5f9a5bbe7fdcf8f9569973594b39567957faff0ae787e41f342fd45f68b39177f5e0ab8f4aad2a0b2b94aa0aae432e672ece5c52bf657faaf2a5dadad66a9cea9deab09ad99b9667dadb756b1b6b68ead2eef3ae27accf5e51bae37466eeade6cad17afaf6c6068c8b9056ec5dc5ab9ed717bfc8ec99d9ebb4a77eb1bf91bcb9b689bb29ba1e684e6f516ff969956a7d6d17bc6f77ada54db9aee4bdcaf69e76e2feba0efc8ebc476a677ee3f487cb0d915deb5d6edd73ddfe3def3f6a1e3c397bd56bdc37d267d8f1fe93f7ad8afd5ffe0b1dae3f60195817b834a832d4f149e340fc90f353d957fda34ac30dcfc4cf159eb88f248dbe8a1d1cee71acfbb5fe8be78f4d2e8e59331f3b1d171bbf15713ae1333afbc5f2dbd0e7ebdf126f6cdcedbe393e8c9ec29aaa99269b6e9aa77c2ef1a6614663a66756787e66ce6dece7bcdafbe8f7abfbb90be48b158f281f343ed92cc52fbb2fef2c88acbcac26af8eace5ac647ea8fe59f843e357ed6fc3cb4eeb8beb011b9b1ff25f72bf3d79a6f72df7a362d37a7b742b676be67ff60fe716d5b69bbffa7c3cf0f3b71bb24bbe7f684f7da7e99fc9adc0fd9df0f2744127e7f0b20e12bc2d717802f35705ee40400ed080058fc9fdce83703fedc85600e8ced213d84165209c584c6624849a4489dc8d2b00f70180a02be850a4b1d4c3348274f5fce08988298875915d8f2d9573935b9f2b84779b17ccafc4e0241822142aec2da22ec221ba28fc44ac58324d4242924df4935481f97b192e596fd28774ffe848295229be28252bd72bc8a962a56f5c5a172356f7531f52f1a2d9a47b4b4b571daef743a75ebf42af40b0c8e19128c348c998c374c864cebcd2acc2b2dda2de7add136ccb62c7654f648fb5d871d27e04ce68277a5388c3abce936e73ee2d145b8eb59ed55ea9ded93e0ebe767ebaf1d20172812c41dcc1c42198a0cfd1636173e12713ff24ad4e9e8e4988cd8a67854824f62d7117054e0984ab2d171979498d4d369c5e94927e44ecc67e49db4cce4cf22cf0639885cea5342a7d5f3ccf31d0a9c0b9dcf3816d917db96589d353f67526a705ebb4cbd5cb942f682f845914b52952655699767ae1a55dfa859ada5aee3bf2e7d43f5a66ebd5983c32df7dbfe77c2efc6351e6b4a6d3ed192d99a732fafadf87e797b75476367df8389ae99eef19e8687bebd4cbd8ffb4a1ec5f5fb3e3e3ce03068f5c464c8e0a9e1b0edb388914ba3af5f90bf941cd319379ad07ba5f49aff0dfecdf6dba5c95753ddd397dfa5cdf8cddacd99cf9bbdb758b05834fea0bcc4b834b39cbd22b732b37a6d2df1a3e127d24fb59f0d3ecfaf5fde88ffe2f6d5e29bd966e056cf8f933f5bf674f7f70fe22f8d4421975133e879cc3a29924c01eb4f5e8e9bc18b50c6513da261a64da07bc920c398ca34c522cf9ac136c2c1c2e9c855c0ddce33c9bbc9b7c5bf22f054f0b250a4b0ba08a9c84bd18b6281e2f2e2bf241e499e967290e694fe20532f1b2ba7260fc9f729642b5a28d12a8d2b97aab8a8b2ab4ec2abc0559d597d42e3aca68b9680d68ef698ce6ddd5c3d1ffd4306d4068b86ed46c5c6b1263ea69e66fee6611621969e5616d6aa3622b6ac76787b84fd96c307c771a787cef52e65aed98713dd02dc1d3d7409929e4c5e90d78af7984faf6f935fb57f49407a60589053b06688602805bc1266c3a723be457147bbc794c676c7bd8a9f4f584bdc3e427e94e3985032d771ccf177294da9796991e96e27ec321c4f0664a6655564dfcc69ca6d3ed578fa76decdfcda82ab8597ce94151517e795649d4d3d97501a76deaf2ca0fc78c5838bc297ae55095e2ebcf2e2ea760dfe1a4b2d6f9d08bc0e146faad7eb3698dd72ba1d7c27e3eee5c6cea6d1e6e996a5d6af6dc8fb8ceda21daa9d9a0f14bbb8bb11dd733dfd0f9b7a6bfaca1ee5f79f789c38103918fd246ba87d98e1d9d191a9e72c2f345eda8ef98e1f9fb8faead9eb6f6f6926c5a74ca7c3df9d9db93ffb7c6e7a7eeefdea221a8e7ecaf2e82af59ad447f94f029f293fff585fdc98f832f8f5deb7cacde42dfbef82dfb77eb46f27fe54ddc1edeaee2d1fc45f025a455420dd50c26812f40666996485748e6c831c8be3a7d0c23b53a650dda01ea5d9a7e3a7d76308643cc17491b991a58ff531db23f6fb1c959cf15cda5c3fb9aff098f0acf266f209f2f5f0bbf16f0b14094a090e0af9099308d788188a7c10cd101312eb13f7920012159287245f49c5c05f370d32a6324bb269721c72adf2d6f26b0a271439155be0af9625e564150695ebaa5aaacf0f791dfaa496a44ea25ea621a731ae99a8c5a1d5aa6da1fd5ac75f675fb74acf529f4cffa1c1114339c315a32a635713269371d362331b734af3018b344b55cb6f560dd641368236ef6d2bed0edb33dbbf74c8733474dc776a720e76e17399722d396c7e78cbadc89ddfbdd143cbe30d21de93c7f315bc8ff8fb18f82afa29fb1b051002438208c11a21542193a157c342c2e5c377231e4666475946d347bf8db918eb1d2710b7187f21412f61323138892ee9c591fb473b8ff5263f3c7e2fa536b5242d2d3dec844b86de49914c74e6cbacd26ce71cbe9c9ddc99534f4fdfcbbb947facc0a550e50ccb99eda2f1e23b2567cf9e3a57585a79fe6ed9a3f257152b17762e51547255c95e36bce27a35acfa584dd6b5dcdae37584eb8a37f037bedcfc58bf7d0b779be38ecc5dcbc6a4a6c6e61fadcaf7c2db4aefdf6a6fedb8df39f060b3dba0e75eaf4ddf667fc980ece0cba153c31e2346cfb55e6a8f07bfc64faece0daf6c7edb26c6ff4f8d8cf84ec0280070260500c70c00ec340028e80540600cce3bb10058520060ab0c1002be00811b0290caec3fef0f0820010690036ab826c50904811450816b2616c019ce90a3e0ec320f5c00f5a0133c03b3e01b9c39b241d29001e40ec54105d00de831b488c0208410a6882844059ce7edc3795d2cf21ef217ca0075063587964567a2df615430a5981d38c31a245524ad2163252bc09263b3c8b1e4f938165c0d851c453b5e0ddf46a944799fca90ea2d75340d15cd4d5a5dda513a5bba517a0bfae70cee0c3f184b99d498a6998fb2b0b2b4b1bab191b1b5b3c772c8717ce5bcc315c92dcfbdcbd3cf5bc2e7cf7f48002f302378572853d853444b54400c2fb623fe49e2bde498549374928cb4ccb46ca69cbcdc67f9568542c504256f6553152955c643783509f5324d51ad53da033a9ff548f5e90d980dd98cf88ce54ccc4d23ccce99f75a7cb1e2b576b0396ddb6f8f72d075cc701a726170f53c5ce7f6de0343a0f6c4786e7a2d784ffaacf851fa9b0414077e083e145214fa29dc38a22e0a171d11f3264e3fbe35513ca9fa28d7b1b2e30c290569d8f494139b27033357b37372434e3715509f6129fa58527bcefd3c43d948c5a98b069736abf2aed05dcdacdeba1654fbe57afe4dbd06ea5b1b77161b979a575b3fb4cdb76f3c60ecd679e8d6e7d16f33a0f144f2a9f03385d1d0173f26506fc8262fbea39ded5cc02f1d59d5fad8f079e78bc237fd2decf7533f06b7977e2eecbcde6ddccbffe5b92ff57bff20c69f04aec9d1c035076e200264811a3084eb0c1e70852109648152500beec1758429b00ea1211648ea77f413a022e816340c7d4450226411ce8834c41dc4029213e98ebc825c4329a0d251636861740a7a128e7d190920f1271923d5236d259324abc30a636f90cb913fc059e2e629e2f164f8624a6eca5b70fefa963a8e8681a685d69ef623dd517a2cfd3906718641c6302646a62ee600163a962ed630363eb649f6520e474e26ced75c15dcde3c52bc80f725df75fe740157413938975b111e12b90bbfc5f2c4d3248e48464b79496bcae0648665b3e54ce419e537145e2bf62b352b57a9e4aa261e8a55cb526fd5f8ae25abedad93a35badd7ac7fdfe0be6187d180f1ac29c24cc4dcdee284658bd59a0d9fadbb5d85fdb4238f53a073b32bc96107b7f3ee7d1ea3841ecf5aaf4cef001f6b5f433f27ffd480ae208a60cf90f63096f0c488a928ede8da58cab8f0f82789dc49b147468ec9275f49614d2d4ac79e48ca58cb2464cde5249e92ca43e44f15de2e8a2d913bfba5f476594c85ca859f97aaab642e575cf9502d58e37fed561de3f5f29b6af51f6f95de51be3bdc4468de69ad6ab36a071db50f4cbb367a2ef67a3e5279cc3d887af2f469ec33cc48f673dc8baa31f709b3d7c16f6ba63ecc70ce59be4f59ec5c665ccdff24b0fef46bd156eeb6d18eccee85bdf7bf360ee28f026470ed95098ebe285c6bd20196708529041c859ffc4ad0081e8369f8b9c74102902674184a82caa00e68164106479d8028468c20e9913ec80e141bea386a05ed847e8ad1c174c0f5946e5253d229b2282c25f616b93d0e896ba188c04be37f50f6519552c7d038d11ad119d35b3118332a320933cbb3b8b326b045b37b72d8729a7399719bf198f29af159f3bb0b44099e12aa137e2cb22c4621ae28e12b795e6a5c8645d65bae417e47d152e9a94ad6212775b446bee6aeb6894e1a1cc116fd76834ec361a31d1313d36673098b1b5612d6cdb63a76e30e214e58e71baef66ed41ee49eeede2e3eeffd54fd73021683ac838742cdc29e47b8442e4527c572c44d273c4aea3a5a916c77fc676a65ba7d06e7c9f5ac8e9cdc53be790605cc854f8a7c8bb7cea695529faf2a57a8787ad1b712aa2abfa27475ac26a696b5eef18de47a835b9277f41b939bab5af3da9cda193b261e94753b3d24e9bdfa48aefffe80dee0c450fcb0e4087274fdc5d2d8e844c16bc137156f7f4de94d67bf7b324b3967377fe9fdf2a2f487a0a54bcb8f5756d6d01fd93e497dd65d77d8207cf1fe6af98de7dbe6e6a92db6adbaefcadfcf7fdffee1f0a3799b613b72bb797be7a7e6cff49f033bf81d9b9db33b23bba4bb9abbf1bbb77797f7b8f79cf60af706f7f67e49fff2fe75f6d7935fbff6a5f77df6cfed0f11e31fe52b2b437c7b0008a70d971fa7f7f7bf0a00405208c05ec1fefe4ed5fefede6538d99804a02bf8cfff2e443206ae7196af13d1207719f1f65fc7ff007c47b8761da207480000019e69545874584d4c3a636f6d2e61646f62652e786d7000000000003c783a786d706d65746120786d6c6e733a783d2261646f62653a6e733a6d6574612f2220783a786d70746b3d22584d5020436f726520352e312e32223e0a2020203c7264663a52444620786d6c6e733a7264663d22687474703a2f2f7777772e77332e6f72672f313939392f30322f32322d7264662d73796e7461782d6e7323223e0a2020202020203c7264663a4465736372697074696f6e207264663a61626f75743d22220a202020202020202020202020786d6c6e733a657869663d22687474703a2f2f6e732e61646f62652e636f6d2f657869662f312e302f223e0a2020202020202020203c657869663a506978656c5844696d656e73696f6e3e313134313c2f657869663a506978656c5844696d656e73696f6e3e0a2020202020202020203c657869663a506978656c5944696d656e73696f6e3e3733373c2f657869663a506978656c5944696d656e73696f6e3e0a2020202020203c2f7264663a4465736372697074696f6e3e0a2020203c2f7264663a5244463e0a3c2f783a786d706d6574613e0a0c73143600004000494441547801ec5d097855d5d53defbdcc64209004083384410802455414a828ea8f38b4206db50e6dd5fe56ab55abb6b55aa76aebdc3ab78ad6597f954ac5594441c401a4c82020338140088490797cff3a77259bcb7d43068232ecf3f11dd65967ef7df659f7dcf3eec97b79f1058341a345155005540155401550055401554015500554015560af15f0ef75040da00aa802aa802aa00aa802aa802aa00aa802aa802a6015d0f395ae0355401550055401554015500554015540155005da46013d5fb58d8e1a45155005540155401550055401554015500554013d5fe91a50055401554015500554015540155005540155a06d14d0f355dbe8a85154015540155005540155401550055401554015d0f395ae0155401550055401554015500554015540155005da46013d5fb58d8e1a451550055401554015500554015540155005548198435902fddb5f87f2d5d7b9ab02aa802aa00aa802aa802aa00a7c270af87cbeef64dc6f6750df4176c638c8a6f3ed2c021d45155005540155401550055401554015d83f1538e00e6307eaf94acf51fbe70da059a902aa802aa00aa802aa802aa00aa802df8202fbedb9eb80395fb5ed81aa6da37d0b0b4887500554015540155005540155401550050e2605daf680d4b6d1f646e7fdfd7cd5ba8350ebbcf64647f55505540155401550055401554015500554813654a07547a6d679b565dafbe751a4f95935df32ba6a6d1527fa28daab0aa802aa802aa00aa802aa802aa00a1c820ab4d5b1a7f9719a6fd9b69763ff7affaa39879ce6d8b8356aa9bddb57b12aa00aa802aa802aa00aa802aa802aa00a7c6b0ab4f450d41cfbe6d8b4e104f78bf355738e404dda34691049b5563b460aa8bc2aa00aa802aa802aa00aa802aa802aa00a842ad0eaa34e938e4d1a2099e6d884e6dc52e63b3e5f3579b6896e10bd975a34c7a6a5aaa9bd2aa00aa802aa802aa00aa802aa802aa00ab4b902cd390245b789de8b849b34d8cb497d67e7ab268f3d910c22f114227aaf5bace65bbabd14ab02aa802aa00aa802aa802aa00aa802aac05e2ad0fc434e74cb48bd917849bb4903b16c29f86ece5751ce3691ba5aca5388b05e61c9960aa7f6aa802aa00aa802aa802aa00aa802aa802ab0370a843de48425659448bd2de51130928b8cd53af06d9fafa29f6dc2f68692a10c27efe13dcd280235df324a10ed520554015540155005540155401550055481480a34ff3ce3b1f434257e281fcac0382c19258874b50e7cabe7ab28c798b05da1647426b4574489d225361ed00a174f046daa02aa802aa00aa802aa802aa00aa80287a002d18f34610589e2e2ee7263c6690e03cb503349234a97d8341f7c7be7ab48c795b0bc87f434313d6104b8e71c96a441d8aeb0a43ba0625540155005540155401550055401554015d81b05c21e63c2921c256c97900224250fe369468989aeb0c612b945e05b3a5f453ac084f21e26523312ef99bcdbcc8d3d669e66f32d3d8eda5405540155401550055401554015500554012ad0fc438bdbd28ddd4a7a78690a083ba8a71736a14c5847f7d02dc2dfc6f92aec712594f430619b6149f784c54080bb1738940f659a74f11868531550055401554015500554015540155005221d5d449950835086c6c20b881484061eb3e84d84f218780695b15a01f6f9f92aece92594f430ee26712823b3952e01a15d60dcbd6e2cc66141f32dc3ba2ba90aa802aa802aa00aa802aa802aa00a1c3a0a843db7849dbedb3212a6a3f40af0f068b2cb6de0c66240c75077e13d5ec2371fecdbf355d8c34928e966427128c3e9092f00bc60016e527471f77aa2898d02554015500554015540155005540155401568130542cf2dd119e9158034040b709382a3f7baa7e3b6143e2c29bd4d827d78be0a3dc3201b0f19a5c92e31102041a230ee2eb17703604ff1b8787ab5a90aa802aa802aa00aa802aa802aa00aa802ad5620caa145ba04701469124813bd9198e85d9eb0619b51487635597fabe72bcf19265293bcf40ac064803d4d925273c2622380bcdb2c4a97182b500554015540155005540155401550055481bd54c07d3462286104c810c2084017b1bb9638a1661e7b69d2a5c966a881383607ecabf35593a717b7412816c60d046362c06cb2e65443195a4aed067471d7ee50cde1dd368a55015540155005540155401550055481435c01f751c72d45241e36d245204dba8792c2b82d81a5e901d2748fe5c1a1cdb00cc8e6947d72be0a3da8781877d383a5e901ee267128c309bb7930d2f4f47aba3c6634d65a1550055401554015500554015540155005f65e81169d73c45800120096268143f8989b30eea6c78b4d1a787068332c23be5140db9faf420f2a1ec6ddf46069ba412826e3ae314377535c8417e0ee125d42c950468c15a802aa802aa00aa802aa802aa00aa802aa407405e42c2466a10cba229d8b3c5de2ebb617ecee75630e0d4648092b5d04619b1e63b765141c13a56f5f74b9cf2d82093c4d8c0e86a4d402d8cb0cad5130e861a4c92e5a0a1916d0c6632f8e0a5401554015500554015540155005540155a0450ab80f367094a60046932770f2ee5e74a1c99a205202d24b77bac0d8135c7876d13852cc56f0fbfcfd2b998f7b6e6e4c03317337050308165f61084279301e529a6e608d9c22711a8926788f993655015540155005540155401550055481435981486795505e180f08db7493c4616b9061795e1177171836dd5da1d863468326eb363e5f798e28919ac2138436dd0c309b6e8089456a72cea1bd6e2d24a09064c4577805aa802aa00aa802aa802aa00aa802aa802ad00a05a29f61dcbd08ee3eff00b3c941a549324a53ba1850ec258e0c1416b8cd88dd66c244076df9f940f711257454e9f580d02619a90104232c9ba14c7575755959595151917409a097a4e4e6c376892501ed3da4365501554015500554015540155005540155c0ad00cf336e06d84d0af69c7cc44c7801eddbb74f4e4e8e8b8b135f18e3f95c0cc23eaba3973c018de925bea1c093399b6216b637946ccbf7af30b67b007753b007b0e926850170634426e32689d1555555b57dfb7634070e1c585353535f5fefce8418bd5436b4ab49467c09a4d97c47b7a5e702bbbb04732948b399a0155e9eb9343302cd5023314470a7e709285d9178318802c497409a515cd815d652d28e32d9285d51066d859727c36646a0196a248308ee943c01a52b122f065180f81248338a0bbbc25a4ada51261ba52bcaa0adf0f264d8cc0834438d6410c19d9227a07445e2c5200a105f026946716157584b493bca64a3744519b4155e9e0c9b198166a8910c22b853f20494ae48bc184401e24b20cd282eec0a6b296947996c94ae2883b6c2cb93613323d00c35924104774a9e80d21589178328407c09a419c5855d612d25ed28938dd21565d0567879326c66049aa1463288e04ec91350ba22f1621005882f8134a3b8b02baca5a41d65b251baa20cda0a2f4f86cd8c4033d4480611dc2979024a57245e0ca200f125906614177685b594b4a34c364a5794415be1e5c93052844020101313b362c50ad8676464c4c7c7330dd8b3a0d908ed45894ed2c0534bd30d3c38b409264a69cbf7af220d0345c276797834c910b831dc4349b741696929ce547dfbf6ddb973278cebeaea6444082d967ebf9fa1a4579ab48101005cc023202e2a43c9d542afd8d085a1805124be0c4a473661e01e17183c46412d3c2da54940037107008342864d62900ccba63b8ed8d380e39264ed89c366d8081c4586609396140db53832389ab0177da497bcd4a22d188652fd452b5152f58702285c815ca8c42021977489741e1206bafea9097510a1224907032a4c0033b154fda9097490fd4dc471746ad04a0474abadfa5316d6baff5307ae1fd4b254004812a096e5e436e38b266a71142fd8cbfa945e89a3fa4301d18ac02d2c8472f78a6ee451b3a8fed041846a54c5feef2681b9ef91641d5d7fd8e07cd5ab57afd5ab57e3693f3636160c0ad76d687cf2610d404a621c549a0222f162d04cb03bbf663a44329379d2c0dd14ec066e0c1734c910783049310bedddb871e361871db66bd72e5c36f4524102606e3722ab183020ead06d9d43d057e2d01e241814d9addc916183c280c4b0a48ba74977e4e636161b00090b40339088461b8949401e98054db800d3988e6cd29283a2f698b1299634803b18384acdb06050180a40bcdc0018311941bc688026bc5033024918e3584b9ebe8ccc5e62d428f062044f34090880024b18a0f634e98ee1383a7bc50640c202d00ca4c4919804e48159d0840bb08405c3262d39286a8f199b62490326c3081287c9a0c950c27b00422126233019316004d48cc04161acfaabfeee05c3258445220b86bd58480204c318054dcfc29655474b2e39d41e3336118163d140466164f6d200d118ca1d5fdc015010931150a38825316a468025308c75fd530a6a2bea51378f7ab4418d225e6e002c11202f8a5812a356fdad2e4e8156500c052d08a5eb1f3a400dc80229a889a353c303097bede26bdc8b1cf174ffb1ef135028006812daa49e14567ac585c2b2b9ffe88f9d39353575d9b265ddbb77e78566cd6c43712823969e09c25226eb016ecbd02e3291eaddba47b26826efbe4261b190006e8cf8c210b057b0f462298476d17dcd9a35fdfbf7afacac64b6dc95680ce108484a130001612fca12c3980c016bb73119b72f18b9f9390a43c186a150a3b009805eb8a090a42f7a09d04b03d6f262efd00ddb8a4406c98064100161e9e81e084160c00852c38039883d73109231dd49a20b43e03d25198841a4c9e068c29799d0003c4969322c78007a11cbe804acddc664381dfa824170b8134817f3675846408d424b89435f1813a09706ac557f8a26aa8a6ed047c454fd218b5d374e811a908b0c242220294d0091b4d1afe1ee1655698c1a458c557fdd7fb018b024b86c08c8608d71b17191c0000045f77fde41a851441660e8c6bd4b0055856834d3fddfd14cf79fdd0f18baff7c87fb4f5252123e25d8a74f1fdec85c9cac71c302f07676f3c0ec729b09c9fb5dba682924819bf46031080bdae67cc5cd48067037659f622f9a64d024708886bd2c1493919a5eb8ba6088d985f355b76edd78d5a11448d468727324a68220f922c408a17b2bdd39047a692fd902d01d0096b8d3380447642f4806911a3c0aed51735066ce682031106d5003f31511bcf574b40246a11700482689b74d1d135b8901f361f2620c03cfab050ce8c2998a2500138301e2d38c9325a6977b5cf01c945da8c1a8fe9011524028a8a1faf3d680269042d73f44a014581b046078fbf06e02295d900bbd28208961a9fb0f35e16ea3fb0f170fef2c6a82d502009574ff810ebaff703fe10ae166c2b5a1fb0f94913b0580db2c487dfec10a716fadc45c36c06dfbfc89cfa0fdeb5fffc2f729e04b2cb84a7121f081c0ebafbf5e5eecf2f2f278bec265424126a865a373b83015cdd821980035017a059361d383439b62e6016d7fbe8228328660372096da0d3c18cde6140c870f6576edda95dac1853211a086c1cefccd2b3f98bdfecb2fb7ae5d8376e7de7d7a0c1f3ae08471699dbb305bde4e70a43d4862d43b0b37af5c38336fe517db36ac06dfb1479f1efd8fec37ecf8f619d9620f2f44402f6abe9201036cdbb1f5d3a57397ae5db4367f832f58df33bbd7e05e871f33644ca78c2e1c08358360f570a59291bb9d3141b2304f906ce200231800a1dc8e68b220381de145c0c54a17d4f482310cd044a119780c4163b141af8c2259492f18c4810d8104b4411b0b0c682fbd1cce9d00b184a2ab384a931150230248d488cc5e49124d38ba7d81c59158f58720220b1523034cad487a541519557fa8470151533436813d05bcae7fee5dd48a6ab8e5e28600be99fb4fcdcef55fadae3a6c44ffc43df79fdae20d8b56550efc5ebf24d735689dfe75bbb6952764d56f59baba2c65e861ddb1f34ac2b80b9abffe776dfc1a110e1fd80d11788ba1ae2b2fdae5ebd021a98171df6594023628c4980a9bbaff4307aad17cfd61efbe70c4baff434991452402437951a3a0e95e9962cf9509035c051838b6bb1f12e8e8f6753b12abfeaa3f560297ca7befbd97909080e761ae2b7c77ddc48913b9f060b361c3067cd5822c2a30cd2c6e17c104eea6306e1005a32b5209dc74d34d91faf69287348ce006c4c2b80da40b2052e1ad8b5e00d47027c605484b4b132fc88d2e1a036ffcefa2798f3cb6f2f5ff6454550eefdcb9575272d9c68dcbe7cc2d5cb3be5de74e699d3bc306b7b7b833726d6d2d826c58b9e0d3190fe67df47c76a064444e564e6642cd96d5abbe786f4be1c6c4d4acd40e5de0cb0bcf4ce8cbc4be5ebdf8c5994fbfbbf4dd9a8eb5dd723ba7764fce2bd9fcf9e2cff2b7e6756cd7a163fb4c9a616800be7022140a9a28882c29916170d470c12b2b2d69c357179ac151ecd10b33ba700886a53dba247fb84840001638d2004d86852cc4a8dd2e0ccb64684903f2ccc79d956018a044d21f415068809c698626e78520c03420835a228b0d005d28350ce0424bd424298e1d4cf57734e4faa720aa3f748008583907e0faaffbe6a397eebcf5d67f3cf3d22bafbcb2aa36f3f0dc5eb1cd5bffb59be7de7cf7c7fd470f4e09e6bf78cb9f3ff5f51ddeb33d6f99dacdb36ebd7d4edf314353ed2f4b369c2e78eb512860dbb117fbcf9ab71e7af29bf6a3fa7594451845ffaa0d337e7bcbc343264cce8cb1373b2c792357ad7f1dfcd089533263995d43566c203d18a334bdff942cfde305d7664f9854f1e11f6f7dc8f73f67e6424304812fd786cc5422934193a3a0e656b3fe9d3fdcf4a09970e6107c07969095ab5fbdf037ef1ff983a3528ceeff760fd7fd07eb8a2ba739eb1feb10c62cc01090eb9f3cd7246bda0886014ad3ebdff9112dcd608f20121f4018f012596c0068c0f50f03b8d01235497dfd85145220d1a1bcfe3b75ea8443149704a4a8a8a8e8ddbb37961065292e2ec617b5b309c5400a260013b6b0576a006218b708b8edc30e24e4ee8f9609d552c019b6d40bf65c4c74641032616bde9091bad08be5c85e04c4856158f0bbb66e993ff599b2850b7e77f28999a79e68c68d31b822b3e614cc78f791b7df5f18f425fe363d3dbbabdce400f872123802146fcfff6ad61331cbdfbde4d2b3d2c6fc302ee5785c889a5d1fec9c3beda57fbcf095af2e29353325bd138e3ab83cb09705814c0a8ab6fe7beeff2d2e5a76eea53f3cbdffff74491c869436552cf8f78a375f78f28de0dcbaf353d233db6781842f8623400dcc800088839800a861264d007c0d3d07652f46672f007fa809000304040f8002064d38a266912e348985014001cf3870c75f18e30451f3e6472fb3450d03718101e30b2f0c7918b38b00bdcc8d40f4677cda00cba000b0a73113800d19e6cc1a248a6000b8c01735234b178280813179d51f82f08af032511fd51f2b475611968aac16aa842e14905c60ece50a14c6fa34def276753a37027af7e5fadff5d923d3634ffbf5df4e19b065e6d43b5f79e4f660e66d3f1e889c992d736056a8c1cbfa5f377fc6f25dc7a5d557d754ee5cfcf5baf25cfba72f50e0585db573c5fa4525b575357ebb3b217f90046db4ffecf8e4a939e68a1f61db71746a62ffa98b6deff7778fabb3db9ba88d546b62d20281eef1f6f5c12acfc229332c6c9aa17fcd9c87febc6ed46f87a605d7b74bf5a7b737d5d5d880306bb8532e60c4a1a4222c86104c7d90476c928d809da8baf1e10041e206ffe4e7ddceb9f6c9f94f9d77b8e84f1766c85018024df0bafff3aab5427f3862195046002e0602f2aa3fc4e18e0420fac82d04c0d5debaf5affa5352d4045cc9587b0487f8f30fbe037cc68c19bd7bf7e6ce89c5068022cf9f589328bc612120ef5947cb86a74a2e30f0a1056608452f001810875a4667244874b336385f451f8073800d00b1d46e60fb2217a8299d54960c31ba00046373a431155f3b7376c5dccf7f3ab85f669f1e66f93766c9d736e19898acbe3dcfe9dde7f9399fad1b3e34f5ac29e0608f205ce2dc3e562f7a3fb0e2dd1f4c1c9a3628d75f9c57b3fd716b16139776d8901f4e5cf6da5befae5b72e4e163cf620274470426f0e5f24fbfdab164d4e94307f5cc595dbf6e49f14af826c6c40ded75d8fad337ccfbcf579f2ff9f894637f081263c10580858b0324c202a36664f4a289975531e004610063601800a0c68aa4236ae40303141aa0c9684c1296b899d10b2fd4e8056081997801cbb8e8e5708c432f8645179a1efd1904357b2538ddd144924c9b0c9b6008e808330c0106851104c00b36322f002600038605a00d8380746708920cc3a2666490080b8cda9daae80003f02830206628d4aa3fa5832cd4932a01e3ea8054fd9d85d3f0531559a820b9c821110a792809dd281d1814360550dba8eb3fed9c7fbfde3eb6bea4bcbaf7f97f38fbd39fbe347f69d1e49ce4c63d0163e18a302c6a4606190cee5af8c6faa37f363cdef86c368100ee2459fff5261e04df078331d2802f00eab659ff3b57be1548bf6e38dee4b73f489271390a1814cc1afaa00b38d68f9dc71734b8671bf67ff4625e7101ccc8e76c827677823b8ae3dd02fdcbd7bff5f862ff958f1e535f53591ff405fcc1185c083b5bab09c246d5dfbbff308255d8fe5408c9387744a5ffe46b7ffecc557ffbe4d4a963326d6c8485eaa83953a48da6e80003ce0206c4300040dd36faebfeaffa3b8b102b0a052b1ccb0f854d0158842d5dffbaffb774ff39a4f4c7e1aa4b972e5860e5e5e55875fc452cd9f72805971c30cc20266a30b226b956b950a3d45cba302070374122209828eecde96ae3f31572e2a8023c4df2a8dd80cdb00c48884503016e925d7c35a2aca851302ef52afe72c1b04a7f76519999b7d064a49ba4449b527985292cea525c36b4cc9ffff982e04fce641c5c21f8e2fe470df7e2bcf987773369ede27d6b169be4f440bcfd0c7f7d4d85afa40824babedef8457dfd8f6d40a72008bcf86af7f596656903d393521316152c4b4d681f1f6b3f9e525553595c51929896d8feb0f41505cbffc719053c5f17793999099f78f04ac959303eb3a20118343922070576af3086a5015d58732d7244d8f0e984661c8b69203807651787132f6e91920f788a4601e92b994b70499839305b92921b9aa23f490c8d5034964707e6e6a9391092813d6ba6cdacd80b8c2e62d6b001839a130789a2faf3f2410a2aa3fa6365729d4090036afdd7d496156f717e0ae82baf4b688717ae00563cb62a5c5caef9f0ebbf64f5eb65fedfe66654d75662afc11d88df20c5dcedede1ac0a107575f8b4b06ff397af3ff0c87f0ad167cca43ffc7d429f246855b8ecadbbef7dd59219475f73ddcffaa7e0d853f6e1c3b7fcb7fbe9fd37be34ed4b73d5fd7fef53baec99271e9bb3aa0c563993fef0fb53fa223253ca5ff4893f6d422f7f2512f7d517bc7af7dfde5ee58cd0eda82b2ef9d9904ef6b79feb8b973f73df5db337c2bbdbf89333fdfe76783dc4d02ebefbf89333c007ebebd6befbc8adefc7fef1c65ff48cb79bc9aea5d36fb86fd36f1eb8b4af59fbcaa30fbfb5d4066f3778c295bf9cd427a561ffb7f37466bafee377fc5dcf1b915c515d591734edfcc9d54be73d77ff6333e1d2fde8732ebfe0fbed81eab6ee4eb2fbd1575ef2b3c19978792d9af3fc3ffe357315fa4db7497fbf7142325e62823e7f7270c3d2371fbc6f1a66de7deccfae3cf7d81453e7eb7ccc44ffb36f7cb2e6e8537aebfea3fb8f5d33aee7bc0376ffb10733248f5b09d7545f7f2902d4e04b2a95b11b8dc3a079883fffe04085dfbc2a2b2bc3a3e9f8f1e367cd9a85cf07e24690f58f572b60c88842805ec1a22a81bd851a0b6c207263cbfe2f0c016a90b021a0a53405906f4eddc6e7ab28437a2626a983670103b11a5b0dff0be306c06e633451283adda00e4ac3e164c5ba01d5bea4e585a6a2de74d9659293edd0a5a5a66057d29aa20126b869ed5a5882830b0f1b0c8850b51579d93db3e312ea6382bb7c753e7f75b51db7b61c2fecc1847a742dde9ac771792de122577747457ee7611deb924c85bfd2172caaaa89836f757d359ac18460e79e993bb66ce140a871476174268f2682202c9afc0d3f9b8973d0024f33da30677a01a308062043925ea8d164c2fc2e0d190501e1c2e46186262c694f8c9a2e8c0c47c694bd80619900ba50246790e8852500a3a189b1188a2e1ccea33f4814aa417718232c6aa6ca0888294d023062834c301ce28011cce980014051fda10fc451fda9039604016a62d407eefac7d731612258ed351be73eb7ce9f3d6958126e22e7b787312f94b0ebbf70e9e77eff0ffac657066b82b535d8fefc3e63b759de35b5f5b8077d085a5f93f7ca3f66ec38fe8ac7cf1b58b872436da70404ac5a3ff3babffd7bd42f6fbdfb988417fff0bb7bfe9a79f7cda724e17c565cb4ecbffffa7ad8a42baf1dda3ba166c90bf7cf5d33ead6a9bf4c2f585d6832799f621dd6d7572e9db338fbf41fc7d6d457e35a549407fa4efccb15a3d24b16df7dfda32f7c3c7ac069393edf8e67afbee7939413fef4b7291d762cb8ffb627fcfe5ec8afa6a6f0b9abef999b72c20df79dd9b1e8cbfbff3c3510e88d8f07f61e961b78f9b977e64fb8e0e84e7575a51f3dff4645eecffb246d7eea97b7cd35c3afbbebcf3d62573ffea77b6ebfb2f4a607cfc974def18268287e7fe5bae5e55d8f1f548fc315e61b4cf4174c7f70eac05f5e776bdafa0fef7df185bb52d36f993418bf252049def5c7479e9f73cccda7f7af58f3f1d3b3d6fcfcd6078fcdac58bdb63406e94140d3d15ff0caddf7a74cbae64fd9eba63d38ed994f467fefc49ef155a5317d8ef0bfb36e73455d8f38ddff1b5fc274ffc722c43d75e0ee3ffafa0b05f4f9071b3b5632a490c58c8f02262727636183c1d6ca87b751a346cd9b372f3d3d7dc28409e04f3cf144bca3850f07cafa07892030464014ee0fa85178a77800481638a20b0335120d8fb8d204402f62ba99bdc17b7bbe72e72ad803d014861360d3a1ed54439beca2e8c06ee0c634430db96986681411351774626c20ad4b8a894b349d524c6a8a699788174c13e3b775c0dfbea23c31d65e5d147b7d9c2bc4e31642c5e22b4c3a66f83b740ca4a51bbc79159b00d25fe33709fefa40306657756c71c35184b3400e004c263e21a64372726a62524a426252203ed11f8fdeca203e52830fb204d353aa6be3cbb8d47039313a7d3d97964714c4c45c608c0233ce0b5d0470014f1b397b2020189270e1eca4860b9ea43159307447040e0117325cf48c0386247ae1056334990930c382a1319ba8991e0682178c390430008230557c3a9173a497477fc46492e8451ca484381c1a4d264c170e815ec6873d19180be010b041812f223067d62061497b0016e606ccb190397d51a38b13840b78da7052cc991168c3a1a5860b46a719dd290ee39051fd21a0eadf86ebbf6cfdec5bef792530f8bcdbcfec515154893b0a2b0d6b9275c8faaf5e397761f69913e3aaea70036319db3b1f6fde3bf71d8cebea41e2b5aa3e68ec27f3fceb577cb3b937fec87bb0a2a4b2ceb76ed1c78140df637362376ff61f79ea31ef3f397f63c529fd1282b595fec0889f3ff5fb13eacb2b2acbcab00b0702eb967eb56aecb09c3ea6bab4c2ee1576fd97aefd282f3071784665adc3b4eb77fe8543ca77ee2cf1f7199cea9f1f6f3fd25cb566e16781c0e4df9fdf37b5babee3f17fb9a3e29c3fcc423e15ab167e0afe77e7f54fafabcd38feb6bf969ff7c70ff18a5c9379cce42e2ffcfbdd2f8a474e68b765c19b3b02937f7d44d9ca77e7f9fd936fb97c40c7aa5a33f4b7379c7dde752f7dfacda91373ec8fe19089a37fe9aec280292baeae4bc7b8415319081c73cf0b57665696d50cf9d9799fcf7e76c9ba924983936d92b955bb8a773a492e88c711c91e4a21dda2cf17e79c3472e0a08c8ab20aec20754144c8fecddfef19995a559dfbe3ceafdd525b5f85ed040366f5ebeb7f6b27e66c7f1aa7eb5ff7ffc61ff4d89bc27995c182b4eb4a5f7ff5f5d77926b4bbb253ecd674a03dffbcf4d24b3ffad18ff027838b8a8ade7df75dd4471d75d431c71c3368d020bc30a18907004c105f1e881f11bad73f66ca572edc08983d6a3401a806b007d0c651a8e10192771018021aa046a18ce45193f10037697d2294bd3d5f45086b6966e936e0f4c8138b99bb296604108b00faba190aca5ed4780f118fa478f9474c888bc2df874b1ad4af78ede64eeddb9b2ee9262bcb74688fab618a7699ad8526b1706769715c76273e34f0e15874c4eb62527aefa2e0f66eedda9b7669a65daa894db3d3a9293615b1a6ae7aa72fb55d874c7881e3c5604a7044b3535af7fa92ca7681f8f67189ed63d252fcf605bba4be7487bfd82e9a52d325b53b1860d8635e0c821a98990363ca3c540023382c01acbb730a078302032ac3f50703b823011c5d302f90b0813d000ac7c2103000899ac60030038f689c11fe5833304804048f02001730e20bccfc191cf61efde1c2c80408024b9801c0121962141880e4410b3c9a1c51007d51c305246c5038169ad48a3cb3153d91ada4077736e94e4b310029a300abfe1041f53f98d67fc197ffbefbc579fd7f78f51f7f945bb8a9103b82dc1172bfc815b7ebbf366fee6adff13fed585e5363ef8eda1aec178931f6558dfb4f755515f60fbcecd5c674bfe4fa9fde7edbf3f7dd34d3a40fbbe8e21fe5b4af58b3bcd0efdffef71b6e7416123e13d727bebe06c658559dfb666fdf988f4d04478f9117debeb6f086698fdc31cd241e77ee25130fef0ccd11bf74c37fb7fb8f1ad8beb6aedc79e779e7570fdff5c4271b2a7c4949c1725f4f7cda0fc57ecc2fb59b6fc7ae32ec9fe55b0b2b914f6d5555752ceef4d41eb12545bbb077956e2fb69b211c6acbfca37f3c76fa83ef2fde7e5cc7b96ffafde3c776f357ae8cc156dd337e67493976b68a922aa4ea8f8b6b78ef1d12d9b9e3937b08ddb8ffd405abfca95d7d055bb6d5e23137d0f5f04efe5989f6a735252b6d92ebcb7d49ed82e5fe1ef0c4369533f1ea1f6ebae7b52797befbafce474ef9df2947b6b347d24a5fa7b1fd03dbb6ed34b5952549d8f19c8d117956d721795f4d6525be4a08a3cb6e090ce575ff87448eaebaffdbd76ede8c5815f676705e58f5f517770a1f69f4f9471e6fb03620cb7ef8fc939595f5da6baf8d1b376ee6cc99f89d2b94afbefa2a3737177f050b6b9bafbf481eaf083205f02c58ff981176034c8d183c9adc2481d18b2e1a1070f7a03d784f133cbb0858d3cccdb408b7fdf94ae623f97918378f2ef612a0862e30700376513bf29e5a8c711960c6ab028c3850307ef8d04d3b77f5efd9d5744c37bdba9bcc4cb066db3613138fdfc5dabcb6b6ddf0a1ee95c7abc22b979435746be97b39b131314931bef8f6263edd261f407ae515b1b15b2aeb6180d171ed715131348643c1ed8d1cfa74e8bf7cfb82a4bad85493d431262d39c67e443fb636806f8daaacada8db56ddb7432e7743a40a7bf72c98396a90b0e18a11038e885e16ae3c8c0b1e0524a7c04302f5a47ab021808df0e2085f0c442f60f01c1ae901b3602c2ac341618638e8e2b8a1fa83673230437062985131ee83b4010940cc2900c34b5c08240d4400060933f87af407cfac18043562c28580d367e63083bbeaaffa636d1cacebbf7cddcc7bffefb3232fb8f3b26353f2f3b66187b51b41e37e1576fd57e62dcf0f0c3bac7d4d4d95f3581fdb6558e7c01b793bebebed1feec3ad54f4cd52bf7f485642b0aeb634d06dfcdf5f3ab5f0eb59f7defac4136ff4ffebb9a3060deefccee6ce773cff876ef6d6c3bfbaed799bcaea7dc617309565b5c134dcdbb80d8bcbdb9ff797177eba73edf4fbaf9ff1fc8b03075ed1bbde7e49e9dacf3ef59f7045524915f6bedadaf24f5f7cf4b34d23fefaf46ff1bdf26f5f79ce5b71f6274a75d57807b87c5d6165af44fcc9ab604d59316e7a9ca3fc75f8f153f99a82b2ae5decdb5c15bb76e2e75d3814d6c70613061e3fd4ffc9b47f3c94585439f482e3033bcb83751861fbeafcaaae5dad71755981b3cf34ec6990c869a6b6ef84f355c30e6fec61abbeb2b20a2733bfbf6ac5a2edf8f5aeeafaca4f5f78e4b33c9b64cf98bab7af3af7ed38fbd41b2cad18f0836b5efc61d997ef4cbde7a557df1f3ae0b4bec98810a8acdd5e569d80ddc7f8f06616762b6753aacc5f9d17c81865bf35c461ecbc74ff6ffc912224826028f6eaebfedff8980441b04e200e6e64ac58f7f30f786701371cce896106f5b8d7d117bceeffd0ea60ddffb93c70d1099cada689fd1f0b0366b0dfa7fb0fcec0ddbb77ffe0830fba75eb161f1f8fb1b2b3b331280a1288f4fc69536f7cecc4d205969a53e33a6710f6221a010c50b8ec89d9144c005f0fcf681eb3269b6d76be624251c6a381bb1663906e1e42b009401c0a60e021118d0c6b4a0c1d33471d55b069d317553523ba66fb3b6698d4347bbe0a1a7c0afecb9ddb8a737a651c351217125eb8bba83b6a3cfaa3d9a9d7a8cd4bd77cb56ecbe1edd3138375fea0fd31002c2b6aebbf5abb6d97e9dba5fb9168c21e35962f7a91189b03b3876c5bb369cbd26d9d87770cc4c404fc56ea406d8cafd207b2434d9741bd866153038954b9e5c191050ca3a1170c7a391d003431169bec45f20c821a5d4c0018850b140024a6835e144400c34181d1852623b3e9c174470d4db077a397d164201ec91090f15933430444e1a0a8391618f4d28b998047f1e80f1b587253402f31ec01501c0ffb9c47330477eb8f5ee4898028f8a939d2462f30cc100180c64c0c11600c86915183a10187432f186000f4c28b4df6aafed4848af14aa9fe5c215c515c66a8210bd70c7abfbdf55fbefe3fff9c89117b25aefd605629761c7f52a79c9e1d02a662de330f7f5073d46f2f189b18b2fed77ef5a1ff885fa5e1dcd0b0ffc4771f9ce29ffdec6b39ff7be2e0acdaedab3e989bef3ffcc4c4da6075e5c68f3ffca2f7e183baa475c4574ce4c527d7d454641f35ce3ff3953b6e9e7af6e947a7052a366f2ccc1a3830d55fcf9ffdf00eaaad2d59f2d1cc988187f7efda3e2b23c5bf3a25cd58896aabf2e62ff59f7c4da70a7c9d86dd21fdce175254ad5ab86053c167cf6df7e3cfc9978cca4ceddc2fcbffdebb6f7c9079ca90fa0d9fbef0e67ffdfe6e26581fdfb93ff9cea70dab5b37f7b9190bc173895694679e7c72cfa5ef6dacf2f73c6550627965655cf7230ef7bff7ceb4f7bafd744c67fff6f7ffef1dbffff0237b265797e3dd30d97ffc434eeaffc6f4453b478fc38710ea82e9fe8a375f989576ea517dcbd7cd7933df3fe0ac61edea4d9cdd36aa56fff7cb8d5be63def24597c7446e28e653316aecc3dac5772a76c74a725c6398b01d06ecaf86881afce6e26c1fa5ae7330745ab96fb8ff8dfa171f8f4b2f36aa2fb0f76152c09145c41ee30bca74882817abcb8baff606949715658c36b25484a04d1be83fd475f7f55ff08cf9f5890f8368bbe7dfb6289e2390d8f52279d741280dce378e2c28ae5ba95e74f18cb8d8f5e2c75ae70c11e007718d86dd6d9465013c08c854d77ddd813e67f8f6f180b17d566e72b57cc30103981951a407028cf5ed6e885343406204693589a901b9f0fc473b358e20ac1177c7cbbe48c934f2af878ee876bd774890d64c4c6199f29dc5698ffcd371529ed3a8e1e13939a86eb8a0bc937311081be081e13979ad5eff482f5efccfb6c45e71e3b33b2ba20666141fe960d5bcb2a7a660d383136013fe0b56733ba705343134b24293ee5c85edfff6fdedcaf3ef9ba77d78aacac4ef0dd52b0756ddefaf8daf421bd8e6e179f8af4301c1fd099392280442630460129bccd2726068b8c077d2e411813c018982ea2839c28e02b968cc9330349a68d1ac161c937d6d1842582b3060f0c2fb8b08b899124967169cc94604c7be6861a2e08c2dc88e11e567f0e8d9af9230e4747139801815110074d9268427f62009ac1113c300a315c600352f557fdb12ab0180ecef55f8b4fc6d9bbe5b57f4e7596bff1251efbdbab8e4bc03b3215a5d595813ae726c11aa008b83b6262762e9aef3fee92ac921afbc31487af1f78e6f53fd871dbebd31fff72badd977c19c7dd70c111153bb6a177cdfbd3df7e7f3a802f25f7d79372f13b5095edc7dd7d8def8e7b5e7df4be8fc0e34bf27ef6bb3e4971f8f45b003fdcc210cefe135bbb69d62bb3663906e6a40b7fdac9575d52551fdcb66695bffb19e9c19a4a7e1ed83f72f294f7ee99f6ec232b8209b9a77cbfdfdb73debc7f7ac76bce18fadb5f9ff2c787df7ee19ff37cbe01679dfbfd979e5b837daeca9f73d5a5a75cffc8dbcf3efc893103ce3aeffbfff7dcda7a3ba009d614658ffd9fe49953cd91a776aa2e2fa93735d51d7ef5d72b1fbdedfe27ef43105f3071c4a57ff9796a794159ddee9f5561b269c34ecdfabf07667ff3bd937ab70bc6606fe91e58f1d27d1fdaadacc771175f362ab5b0b06ae4a43391e4d30f2d378943268ccd79e7e3371ffc4fc7df8cdcfeceb477de7576d1cc51678feb135b59521b0ca4dbaf62c40faab0ffd4d527d97d135fcb610a17bebbd09f7b7d8eafb2d47e91120a864601e04ea5fb3f560ea57056b4d5071b388aeeff5824fafacb5b4674e0330648ac10ac1c2c1214e796b2cf1b584224b996501f9cfbbfb38d60a6100152a010430a4c19e477f8fc83abc00b81ac90ccd8b163f1188fc490129ab852bc5ea8798fc318c9a3f0c607ef4c68f7831f9abcfab02780256d08dc3105d340c6224f722feb86b72f5a1d8549c3dd03a4c98bca26eab08536a8d18b5a008d454d779760baac58b1a26bd7ae48833c4e08f0825eb84e784d4a4c4c8caba92e5bbebce49b35e5055b619694d529a55f9f76030756c7c6e18b20712d79a9785179c9110a57088799587ff5cead0b4ab62fad285d0fdfc4e49e291d73d3b286d799047e71247c311c7ca903bc100189e1f7f66a4dd59a6dcb36ee5cbd73171e4482ed93337b74ecd7b3c380387f22c685bd78c11e4d0c8ae4e1ce2ee60f12a77cea00330c07860670f7ac45ae2af402c00500f6f00266172390e7ac69805aec815160c381240886830d6a1ad09e2482d39e5340176c983fdd251aba70511801c6280c080300a4e7d69fbdcc1943501999025c50108a5901a38b6600501235228007090033ca8b04c863447ac11200a4eaaffa7371723da046018315c2a5cee5ca55872e92fbeffaf725f7ea9d15dbf860816cebeb4af3d61754d7fb3bf5ea99e22fdfb06eabfd152bd7faafdafcf93dfffaf2b21b7f1d575ac63bc5ee3f26ae5376675f69611936a7407c465a6cc1a6cde575fe9afa84de7dbbd495e1d37fbeb8849892adf93bcaedf69594dea55387f8d25d65b1b1098989fe2dabd79499f84ebd7b26566c5d9b5fe2481a93d9b377727d7915fe8c547c527de9d6bc825de037cef9e70b5bffe796b37b5738871c30b1a99d7a748c2bc717af26f9f1fa5b5f5b11e7afcadf568a1f7f65b73325d57571490935e5f529a9b105ebd6eeacae4fc9ecde39b11e7c4c425c6d4510fcb60deb4b6aeddd5db671de432fccf9c9ef6fe965ca7105c1f8e2d3ba774dafadb4479a84a4d8e2fccddb4aec4f67d0c54d033818484dc9fff7f54f6c3eefea73fa65776f9f18c09723d557e197c302f1fef24d9b8bf0cbd7f1edbb74ef105b51852048d2d4d554c407aab79426f4cc88c50c7dbe84787fd9c6f5f9d85f123a76cb4ead59b73a1f32f963d37af6ccacd8ba7ecb96a57f7b60daa8dfdc363ea57c578deeff7beaefbcea7163c765c25ac5b50360e19d88cb8426ba6806a0fbbfbefe624960796031e0a51f0b0300858b07b50092b0a1bd7461139035061bac313e69d080f624111c96b047c1c243176c54ffe8facf9e3d1b0fc9100adac272fdfaf5c71f7f7c4a4a4a74fdb76cd93260c000c84e330016341ba1edc2151103e922c058b0646f68cd9c69831a0536528705d6285c699858b8ae6671d405a61ec0266a01b0c1ca634dde53a3178cd4a1004b9606e8925e32385fe1839b20a129d6346ac8872e3c29e2f9008eeddab5c3654b4a4a42133c6cf0435b7c3b240023404198a157f2144d131212e00e5f3c643026fef0197e030fbe181103c105c6f8aa06d9d061899f85201a7cb180ec212d164f38f6d7c171242b292981311d3128dcb914ecac9c293019d4b4c12ce08e803083014874112307daa0c9c7623449c206d932378c4233d6e0d1cbb008484bd8206dd803a060446086e25868c2d18dc12020a3013379b8c086bce80f06661c1d66b4640d1e003960d0b0fa2332a78620b091793113c60419567ff8a2303e2c911b9a3046a1230282412830304321e640b4a150aabfea7f88acffc2e5efbeb872c06f7fd8036730dc1deef5ef8f8d8bc3af0be18b04edef7ad89f7df21e898b8fc75b44b893715f91c40d85ed2736163b6a10df3a4133d6dc3118167f0b2a06bfcf545b535dcbfda7f28b171fab38fed2b199f863c1aefd27e88b09e05b366aedf7f1611b04c23717daf3495c8c7d47ac169ff7e6cddbb0ff387c7565852fd0f0d96067ff297defce4717769870e3a5b9e5f66f7ad99bddd97ff02c6ecdf02a8aa0e0b94b488d5493327b967cf67651f7c19d12b0e3d763384c195fb481572d9ad9fd272e015fa958535d03912c896e74e2cf11fbb0df22aa7ddea271e8fe53b569e117f523a70c32f925f643c8baff4004b7fe5839b8589405970c5d761934f5fa0b33142bbdb3e147d11f0630434158d51fa2a9fe10815b19571a9a58786e0c06cb1224b5e2e269d87ff67cfe8417ccb8fb39abcc2e33da8307e0923bd49e7fde7efb6d3e7342498880bbbbb8b8f8b4d34ec33b22519e3f376dda24e72b480ae950b300435860213d804dd4a1055ebca0a8d1cb5a80906101c8b065afce5758190c1a098067815923f4fe0f59850266536a8768a860e669e27a90c4f9aa73e7ce5cd958a37839842506c5c503162971cda03e9a7856462f8e4960100124ccc0c0174d00b80350716098a18bbdcc413e8e481b18232c6a14b8b3e658e079c95123617e620d5ec8165d18174902c00b054d9801c0802901a06050c64704c6414d923c6c30291ce460e044b21160802680c42789f4c0a0a017185eb004408101d30020469ee845920c050c036030b00760281847d71f8eb0842f6a4c0d92428a66eacf4ce08820362d67b250401206402f6a140cc11a067441138eb87ccc1c3c22a8feaabfaeffb0fb4fbbcc1e5d53aabf59b5195b8973b77d9bfb4f5ce7debdfc3bd6e715357cc4b72df79ffacaad053bdbf71d9858b20327bf96aefff4ecae755bf34a9c1d883f6dc1c6027db8e1ece5fe1393d6b94b7ce9dacdf8360eddffbdafbf1459f77fe8a0afbfb841b06fa3e61305ef3b28a3cf3fd88e500ea0e79fdebd7b23613e573373ecf6f9f9f9d8997141513097d0fd7fdbb66d72bec232c002a0316b4f132419e10158d8d5d8dae37f8c2b6d62d4d1010d3c75e0a69b6ef2507bdf745fe3d068ee5ec1002cb06f84deff713b49411f3141616121de62822f24038fdb0f35040240e1ad481e37210aaf19ec698620bc6901484a8d80c008820711141cc950c30b6b0224ba380a6af030a63daf0dbd382e46b4fef8f640e7779c40c212242c01302e30d3401730d34617000a0dd8c4a068a2a08968880017268cf868b21798e991a101ba00d0055f1aa3099271d8450624c605863bc4411335cce494820820313419601883040347d470b4a937ea8f5e14984941936660a2eb4f170444cec4cdd7df19b6e16e0186b6181405a9aafed081cb43f5870e581ebc6bb8c6b074c1803fd4d67f7971e1b6edbb306ddc23ce1dfc6dee3fd5a53b77ec2cabc625687bfd03a93dfbf448aad95552d5f07b652d5aff55a5a5a5d5fb6affa92a2d2a2eadc24a434abaffe3be830ea8b10251ebfe0f05b036f4f5977b02d703d6863effe0e5099aa0e6431def173451c0f3e58caf626000f6abe71ffc85ab1d4ed9ba752b3e4dc6262f2eea48fb3f3effd5b16347cc05c59968c39b136e86bcf4ba8198d1dd5d8b174934ddbd82c30290a1659f9caf641868444cc980c9482d805d342389ed15858c1b10db3ea79700e72b7cfc0f4b0771e4aa60a9f1c1088b0c243080d4b0843dc7a217d484196a905cace05180310a43a1c994e80b8c2ec7ca8e8b266a30d20b2f306220c61885c9302cbd68861a668c8c38304093055de0dd0678ff073670871978d6002079a7b10b359bd88f100187130464028c0c9213872f5d98218f318886267814c401c6407087179bc00030a33b6ad88081196cd00b47ba48cd24d10b8002030e819a2e706717dc91244381412f0ac6224017cd10010c6a30d20b2f306220c6180561d18b225e34430d33908c030300167481771ba8fe5086baa9febafe71b37031400adebf58152051b3f91def3f351555959525e5f618833cb94bc8ead5fd879b1b2f197748ddff75ffd7d75f6c14dc1cb88f0163554016dc2fd8d678a700e8fecf7d955bebbedbffe57c05e5b97bbb01316a02183013361dbaa142171181d41e5e1c3d0668ba19363db57d96f550cd6f8aaf07b089da0d88f13406c0673282d09a3658caec7203e9029002b3e5cb97e34f9501404af0a8815130175e720641935d908cbd60e49e01c9676e21618c0203dac385981f96c36b0fecc16008468331000a7200891abd304640583ac11a3ef5075f90289c051ed361498663c118803faf822fedd9c598780b9543a046a13b4747931301c917483802301a6c680c338e889a43487cd8206d90484f5265b6480c0096e8e58c38590e0d064dd46cc292a360443068b28b03a189822e90605098b690e05160802e062456fda915f551fd75fdbb6f2e602e09d4b85f74ffe17ee29688fb89dd7d74ff7144d0fd1f778aa3847d69c352c1d60aa0afbffafaabcf3fdc1c7077f0d6e06bca77f8fc89cf070e1c3810c9f0f987359e01c800f0e675033126f0d4981a5d50739a3040114c2075580032b4343ce58776b49ae1cb18dc093c359ac20890b19c4efb144e10b6c64383f082014e3ffd7489a3401550055401554015500554015540155005f66705f2f2f2f03d70722ee2f1464e3bc81ccffc78c847c1171fbcfcf2cb68824413963c0e00c35e8e0674a1196a31e3a989bd248105882519a9c51ea045a52dcf579c4cf387873d5d08226104449795b6f16445ec6ed2b7f943aba52aa00aa802aa802aa00aa802aa802aa00a1c280af038c0d3174e014c9b67213401586086024c4033c1e44102347fe20cd87cfb865f7169be43332d9187580a2670d7b071370503b80b8f5234f61cab600606458653a00aa802aa802aa00aa802aa802aa00aa8020793027ce0e70101d80d304d9e0848ba6b76796a4f13f660840cc5649a5fb7c1f94a726acea83416177713589ac4a1b55b4d0c070332a89b33badaa802aa802aa00aa802aa802aa00aa802aac001a7803cf3f3bce03e14841e1984c1348909a416c0686836a734d3b80dce57cdc906369e84d894da0ddc988e6050427504c382de66a61162d6ebf5e327be7fc4c066f32186fb2bf1ccb5e6e5f3c32417890f63fa6d52fdcdf4ebcce3a7b4c190775c62665e6e8e6d61a4d9779ac5d735d7e7aa49e6f10bcd3397980bfa37d365c48f7f76c179671edf4cebbd323bcedcf5bab9f2ecbd8a11def932f37eb179f5e5f09dcaaa02aa802aa00aa802aa802ab0ef14e059409efcc31e0d782240ed066e8cf4a4e94e95a49bd91bdc96bf7f159a87670292ba9b0f25c19024608de0049095bd0442868ede2c26e7b053d3d34d4a6f337ff91ef691f83d8cdaac31e2a449fdd3eb16bf347d495b851c674eec654c17639eda3362247e4fabefa0d5d51cd5cd94e34f76bdb9b7834fce35c9c61c65ccdce6471a67fac327d95c65ccbd4d792d7bc87468fcc8ee89b9e60f0526e7a6a67c727ba627c49a843e23cc070b9ab2ddcbfe676798c1edcc8a2ff6324c18f7b37e643aa69a8e13c3743593bae86573ea20f3e260f342331dd44c1550055401554015500554014701cf933fbe2710a70090f22b553c14f098000f02d434e02f5cb99bc4b40ceddd1bd5f7c9fb579c8f3b2d610484f6b24b6a3700f6144aecaedd015b82ebf0ce17beb13cc425121f62d81644b7ee5969e95dfae7b645acc618cebc1a1baeff23f12e93ef02961a24566fff24f2de966a0432a6b845616699cf0accca254d1fae10b5aad66c5c671e9e615e5e67734ece320f3439d69295f9c56545eb97eeebc3d5114fd9c355ed26f3935b9acca9c5062fdc60d66c320b3d27f69684197592e931c84cbcac253e6aab0aa802aa802aa00aa802aa80735e723ff9137b0e086c422d3760536a8f96b02423400c4219e98a0edaecfd2b4f06d26c12d000b514642c98004c241145e8e8f38cd85b1ce117b722f11103ed55479d9345e821aff5413745708dc447303f74e8336e6aee5c87ffa6d1f24d9373bf191e6372c61933ab910cffff92e92fb4d97b93e14770d87bceb5ff3ddf2d8ac95e747d6826ef5de46a678957ef450aeaaa0aa802aa802aa00aa80287a602f2cceffe42763932a097ef68090300a1e42801206f6411b3d7fdce5558866a8b0b9bd1ebd69faf304cf4d0517ae14b77d6b074370503788afb9425180025ec70778d39e3d2cc9444e7d35cf803b765656bd3def90496971d3df1cf5ddaa7e04f083a6e329310defff9e9671f1153f7ea172f4dd9d830c265c74efa5be7c4d5ebe7f69fdf61ed1987f58a618cfa6fb62cee3f7771d834841c75ea59b95dd3028e07a656bbeb9ba91f6dc84d4a4870fed26f52d6889c5c93166f8af317acda2c4e61c09f2e37bfe86f129c771f7136ab2834393759b30b2e347f38dcb48b319e799fb198aa000040004944415485f26fdd6d862598379e3217367e90ec824bccadb966fd6766d453e68bfb4cf7781b106fd0ac5d6a463dece070d5e3b79b09096675b5e99f6aaab79be915664a3713ac35675e6e3f9e1729cf632799678e37498def9e96e69b9cb76df4ba5af3f84d666296cdbfb6dcfcf8ea86cff845ca27128f5069cc76925977bc89f79937fe65671a269f37ccba9f19fc0568ac819a1da6d70d74b3f5a40bcd83c3cd9b6f98a1279beeb196a9db65bafede02293d9d0b575a2a4408c89970d1093dfd36bca92fddf0d8736f3558e49c74e109bdebb6afdd14e8da27dd6a1dac2d99fbf8737b7308bb6ea549f5999d33cc7d0877b6f9f459b3f519b37e9419ddcfd1b3c8fcaa83996fcc8497cd9f279b0f6e32837e6fb2136d3a755bcc11f828a9316f949aec761620df0d6f98334eb370c2ebe6cff84c20661034419fd9fea639d9e1d175d75273fc20c3cb58f0b139798cb54739e22e73ff9526d11107cdb26566f4a5e6ac6cd31e421bd3f10833e132d32ddde4cd366f7d88bbd1bc7f87e9e86482de6095f963826994c9da6b510554015540155005540155800ffc3c230113e071da8ddd0707288666a43315ba60c0c3552bb465e4488e8d4fb891fa23f0cc294267031dc946780269c20d580aa3485380c78c7cd8f3d55de37f7275963d5cedaaae28aa0be2cf3ba7c4e3976ccc6563a6dcdf353dd5efabaca928acdd7d300bc7d7cf28adf3f962271d3e8ef918d3eb779d702e08ce9b9fb26df2201cae6a6a4a179594d71b7fbfce43f38eeed56816e6ff51675e38b49b3d5cd5549657d5d9eb1d9b9472c684f1a3c78fce70ceb969fd478e1f3d1265dcd123c2f837527fbace5c32d01eaef0585f5c63027ed32ed5f65d70b9b9ed7b2639c654959b1d558dd611f8f70a8ccf6f4e99bcdbecd7ce83f2fca70c7ebf08872b1c6f96e69b7a9fe99d6b165eb8dbcc83d2624c20c11eaeb048e33a3a872b2cd61873c5481329cf63cf32af8eb787abd25d66658129ad3349e9362a22a40d34a76699608dc1e7046392cc0b37593e523e9178ebe37c3e1003e58fb7426d59ea1caec2ea566c4aaa4d6595f1fb4c3c8f16f437263dc992a79e6a0f57e5a5060bc5ef1c0f4c7f33fbaf66f15f4ddec3f617b14ad799298d67d44657d7ffe55555f883e7b576170824d0dfe94d48c4828ccfe883c355b0ae06cbd0179332eacc512ecf16c2b3cde47ef8f0a219c7c34f4713e7333dce3363fa996085a90d9a9874f3f04a1bb37dba9dd7f89bede10a27733baf24cbcfaab787abda22b36299bdee3d4e35efbc6c79b3c354559aaa0a5355ed2cb6f60e69ccad2bcd78ac997ab36199a9099aacd166fa23b6eb8847cc6357dbc355d916b3e61b53566312bb9927a69b6b9f33031c8591d5edf79b4b6e3637de69ed9ffd8b3d5cd560dc4566b3934fe308b6578b2aa00aa802aa802aa00aa80250004ffb721c10005eb000ca254d0011905818016220be1e26b419c91796ad3c5f858e4126d248e0593c8e20c1847679781a84d6105ab4f64436ddc75f85677f53f7cae7cfa6bdfe6a87b95b1b0e529963efc9c2db05c1998b9e4dfacfab999f1444e76ff9605911644ac87ebfbb33c2f0a15d7da6ae32ef9d630766e04ad76c89fbcf6bc3de9d1658598c9974cd1e11f16bdb724e3ddc9ea2ead6bcffe8d47f3dfde41b9b78a9bff8e88b658b96153b9f9b2acb035cb672e5ca2fbf5ae09d8eb4479a8b9dcf68cd78d2e45c6b063c649f8f6de96f6e76be0471cecba6d7d566d0234df0f7de6990b13fd5bc3cd2713fcb74f1dbf767665d62cf0cf5e5a6dbd5e6845b4df6fbf6d8d365b899e45885a99c1554bcc4bcb1cb76d66d37677e694172d708791af3a0f3d57e6be7989cdf9bb137999ccb4c36be56a2b1ec5865b27f63babdec1cd83a984911f2b92202df9067d00c3bdfbc32c6be6fb3728e198ef7df22e9b6d20cb9d2f4b9cae02af34dbfc64476ff0f49fb5c6b4aec0f391c32cdf4493599a9c639149b848cc8e2c07cf3074f3ffed8e353dfa8dc1dcf418ded9ac265ff786ceae333f2c106d2b23c56eee684bbcca37b7e3120de053aa2d1e2c57fda9b79e9358deded5640949d1f9b114966e46f6c33b64763aff3ff67979b63320dde7bf305ec9b54ed71dd8bccc80ee62783cd88bbad7dd62433c198b7ce37c724996392cd31a734c4b4dec7990938ce05cd9d0173c66073a413bffb8f6dcf6d17d97ac3a366741733b9bf191d6746a499877f655ebedb6ca8b05d0533cdd38f9a194f9ba97fb3cdaecee96ecd54f393616662a6392241bffdc2caa24515500554015540155005dc0af020e07ef80f3d1ac09e2441a87b282f2e7074db0b8ec48b412868e3f355e800917212de0d88514b41406202698a8100cfd097f5ea80b99515af68f85c5f027e646fcb713d33f051afaad26fc6af72da4df1c62cbeb1b01a8fa0e3868d87c3e7dd5350cf5b31fb171dec7b11ab37367e9e6bf1373bd1f6057250872bb9033391406de19277396e123f246836af5a307bdeec12bc5f63ccaee580b33ff8e08305b40917e78251f631ba3caff1737d690da7826347d9c7fdea02336596e3d6140fa33b575bcb63a7d8fa2de79435ff1d73562fdb5c2fe7bb69c69e9b7c06f4f47bcd9687f7f8f7d6386b8c72e7c3c61e6611e706d3c9795c8e1d103e4fd874c404eaccd52f587b77813ef5bbcc207e7fdf2c67dc18f3ab5ed624349f89117887b6094f39ca2af3d90c33d61928926e36ba53f059b6b07755fe970d92fee333f3d47b8ee917a6db25a6f32566f2cb665b9d894936f7dfda1024f27ff28d83bb4d909ea92b9cfaca6c4b39a2edee0b4117cd31b75f6d8e3ad59cf79cf96287b90ee7f83fd97781aebecc9a1ef1b27d6ba86e9339e781dd9e56cf2d661c3fb3f78029c1f4e28c73f6b13605af988b1de3679f362fdf69ce38da92792fd9da966b1c7b9fe9c626eb6c5763a2bdbe90f89a7af325fefdddaaed73de9f4b879435e6d65fb98c8d99ffbcb9fd1a93ef9c2a373d61eefb95b9e17cf3d8f3d6e6bdaf6d3de06ab3b0decc5a692e3ace36b5a802aa802aa00aa802aa802ae056409ef93d00366058bb01cddcbc58ba01b0bb30829b6905b6cf486d5ba2a72553e5a034769382093c35bc3c0c9a7c0b2bec2c62647ec9b1f671d69821f8e5249c4fca9d775b80e29be061f2c0475fdbb7b0e23abd3e64dc301cceea8ac6acc2aff4d878e5955b503b25164f954d16bc51d050d21028a42484301188188993699f6b510676b475c50e5bdb92dc040f93a9f73a6f61259b6726992118bac69c31cbc4398a95bbbe7d4f867aea633367b9ebdf12f318cf72c6bef9c3320f1fab6bc4f83f344fbccf660b9376a0bb2adfdcd8ea6fbf633d5869ca23e4c32b1b364f86e061a9dfc0c680ceff61f2d9a33f4c63c3a206f2dea7cceff6fceef8b9b3cc90a7eda92cb0e7070bc3448944d5d644eaf1f03f38c67ef6efe1cbcd9a22fb49bf29cf9985375b93af9c33d23d932d7e6e8fc390652a96dada96e34c3b9f099698c7d83466d3bf1bd063e79bdb6f3171ce65aec86fecc6a4225c235a1cd1cb5e437cf270e32a93bfdefedbbcceacf9d40e648b73d51c14ae72d6aa74dc3ed85c77b729c01de933edfb994b669967ff249d0a540155401550055401554015b00ac833bfe72cc02e0f89a6f0d6b9f10441e0107b90c27800e378c8269bd19f839a740f6fe049c5d3844f2843d2cd13a3760336c3d6de549c9955e157916c19987f983cf6dbc7c6a444e737964caf95439ae461def016d6a9fdbbe254b42ecfbeb9f31e7ef3c99841bdf0d8eb94cc4ece3376504e1a0dbcfce73cbfd657963844ee7947e0d385bb0b7e87ca96c6cf8cedee0845cedb44d5650d1d8b4fd9c32231ada139ef87cde2f916d689e3ed7b5f1b9dcff57de49c7006c8ef01f537f67b0782f6ebcea74d3353ee77fd7bd84cdb639086468302ce7cc3e4b9d2d8cf88f9cdf5e3c23937720f9c6b10a0aed244cae7bf91f3b43182e6fa97f12699e99063165fee048daa5bc3b00d1fb56c6835fc677f652f72693cdf46b670f5d43b1f0375114d9c435c96ef4f334fffc23cf68099dcc15c74a359f18d2958679e1e676e37a6e16b2d663a5f6be17271c35b9f74f4e4ea63c79e879c79ce49acefcf1b9d8e333cece3d38361cbfc7fdb83257ed1ee8cfe6662ef867f93c71bf3a1a9b0274e7385f3c69ac797a738b3dd439bb7ae3127a799e13e33e71bdb35f0975e036dab02aa802aa00aa802aac021ae40d8e77f37097dd82410b9841486007c7426d4c0631fa9e93c7546ea6c3b9ef9b9b304962681d41e1e5980214910b6f624fbc08eaafb33e2523346e49d34a0434a8a3d2438e58182d2bf67a4c7a7f4cb3fa95352721abe6f0d05ea46e21bbc3efafae6c943ed512c58f1c7f95bf0ff2d1f6dbc6e729ff8a43edbc6c7bfb23370768fce380f9415ad7e800e21f59282cad15de263bb1c7bee8f8724a4a739a70f7c7eabc1aea0b8ae4b46a0f3f7cf3a3e7b534ad73e19fead53e58be6f60c35759db92dc724e798853798f4ce26c1c91f71a62e377fce31715dcce21b4c622793ec1cd882917946c55b58d73e64d2102468fef294e5eebdd75cf1b0fda68a65d799d73799c923ed7379f97a3375cf349a6ce1bb0df0d9b2d03ce1f88f75e6da5e66f814b3709459526a0676331d6b4d1fe7ed94c45ee6adab4c46b6e9ee7c5eee9fd7d93f4815369f2bef359323e4792dc6c08c6699aee9f6fb2d3207daefe7181e4137f7447c0966269c2bcd09f7bbe93df148b3ee3cb3e11bf3da6293dcd7fc62b8ed2d8cfc79ce3d9ce332cf9c74a6a9def1ca8c0ff6e0d1e069c6cbee6edf3765379e7f8bebcf5b357eadc53538db84948491e6d939267db0c9c6da0d46fbdef6c7c6988b8226b69799f55ff3de2273ca4fed75af981ff957a19e37cb1e318353cd8252f3c133c6f433478c36a955f657ad9e9d6f2e196906df6fdeb9c0ac28347d879af42a738cf3dedae2b566f85073f823e6d631a6eb09a67fac197daff9f27e83b781bf9a6f36e4992c7b8fe163b421335142155005540155401550050e6d05c23eff93c4b7881150216001c0ec05e3e6d1042f66b411867cabebbd7dff4a126d66061e7b4f538280972e6236896126a400f16d008ba7cfacc4f1c5d7d51eaeeabf58b306cf6cf8c63ef3f51bcf94d602764ec1e12af84da17d1fcaaa1b896f0c37b5c4bef9b06bfbcae71b984f129615e05bfa32d2ba5edcb333ce6965a59b923f70de036a30d8f3bf792fe4952382af9d3d5cd5172c5b69dfac0a347c4a70de2b5f96d5195f6c5aff4183baa425ecfe18db9e316c6b9a99e37cb6b14b177bb85a38c7ec08daef27306f9a570a6c7f66177bb85abbca7e059f9d5724dedadaf29c3d2d9ad2d5bbdf8cea31c354e39d9f6ee6fca36ca8f202d3e74e6b13b1386bd88aed2e6b23e48923dc9de6e53c7ba6edd2cd9c38d0744f3609ce311f0cbe8a70788e3d5ce10f3ebffca4b9c50918299f483c92b7d151a699333f7306fa9e79ab32623e8ea9b17f4fda6f06f73283079a0b4845a8f1264cff81e6da29e692efd94bb06d9519f2700453176d33c2f70566656474eb996b79e70f58d735bea355699b26f40d2e6b19ad4c7fc2be0786afb5981f62858081543378b43d5ce12b19679c13ed0d2e781f79a3fd1ac0f643cd94f34cbb80a9f8c61c7364485017714e9ad95c66fcedccf88bcdf8134cfb7853bad6763f76a499b1c8ca9e35d48c39c1646798f8f806b7fb8619dc33c8ead48bcdf07e2601a7ca07ec77602676b6bf5a36e5623320c37ee670ea30d7300a55015540155005540155401588f0f01f7a34a054c2872a872e37e969babbc2e2e6d8dbd35e58e7e8a47879009a2c706f84f67ffc8a1418f9c60ffec614787c73356bf40283474d408cbab6b656787639260d15ba50962d5b76fdf5d787e67c5cce9089b1356f7cbdfcc33dfbc08f8d35b3bf5edc4c1ebfb7553c7968aaa9bdfbd517afd92354e73f0dc94ec1b7a5edfcf2818d7b74846d64e78ee8195fb57ec192cde1ba73724764a6c4956c9bb76455b86e1777ec387342a299f966c39f87921ef047259acf9acdc371d5c3f6379d1ebea4e13023a1ae9a64f94d1bcdd42f846b31889427035d758a7ddfa6d835c4b1fd4d27e7238ed342068d944f243e6caed1f309eb1286ec6fee18e5fc9da86af3efc7779f4bc358ee7beabad74de71de6f2f343463adb7cf99ca95c648eb9c24cc8366f35fe5420c4ce4b5c7497bdee5b169a17425c26bc6f6e3fc1947d6c468fd9ed75c46566cc2083bf60f6184fc3bb7bcc457f3226c5948684c2d71e0eecb1e710c7998bc69a64186fb09f81d4a20aa802aa802aa00aa802878202797979a9a9a9f87bc178e3087f1d18350a9a983b006a1e22f0a85f5151f1d0430f0d1a3408bd283096e26e02c7c4c490414d004b0204044664d61c8b350cd08b1a4d294c834d62d4610179a9bfcbf3957332b2df648fa3126b32ee4314789cafe4400503c10474c1f9ea861b6e9059b51de8fcd498c33bd49ba3b3b232fca6a87051878f16b75df0ef32d203979bf6b566c461a643c014af3203f0393c2d079302cef9aa7ccfb350ebe6f7c44a13b7c1ec8837a38e35f863da0b7f6a7e1172f46a5d64f55205540155401550055481435981169daf1e7cf0c1b0e72b393e01a0e07c851311318f55a809c8a32643204d5c08f0684a01e3c1bc58203d804da9dbe6f7af700a9288a180bd916c3c7c68130c0b2237c2dd8c90a1e3b6059339392b8b5f0e5756bee9a0395c419989031bbe12bc7cbb1eaeda62a5ec97311a3f7db857c9f5ef67daf56b8880bfa6a587abbd52539d55015540155005540155a0550ac87100dea127023723e71f5aba478399bb57bac847eaa559f45e0905d036e72b77c4e81899853500efee926628295d8843ec66c206df0b72f12f1799e18966c396c50f6cdb8b30fb9febd52f9bdc74b3698999ba72ff4b4e33da7b059e37df6ba37799aef8a9fda5387c6870ce2d617ecb6bef33d508aa802aa00aa802aa802aa00a34a940e8637f288320205913302c2d239dac9a1cbaa5066d79be724f234a1e9c615883b05d514876a10e1bad4dc8e7572d6ea3c7d43649a7cd824c9bf51dffe2509bcd4403ed6305f0a781e7efe32134bc2aa00aa802aa802aa00aa8024d2a204ffe514e079e20b48c74b2426fd8aed020cd31132ffbbb5cdf4909ab0b3361176a34597b78b781741168ad0aa802aa802aa00aa802aa802aa00aa8020799022d3a14841e16dc6ab0d7cdb42dfecece579c864ccf2d99cc90246d221944e995380a5401554015500554015540155005540155e0c055409ef9a31f0a30c14806ec0adbdbb6b2b4fdf9aa15498b0b80e0d079b2d75d87da8461b2cfb8f8e28bcfc809d3b3079573f2ef6ebef9a29343ec5acaef11541baa802aa00aa802aa802aa00aa802aa802ad0960ab88f03c491a2bb7b81239945e25be182506d7fbe627e9e6cdc738b3401e169cc089e386223a3d018dfd2eee9729ab993cebbe8e2d3bb0077197ff1ff5e7456c8e1c9e5943df2b4934e3a61645f17e5c096f25e7f6dab02aa802aa00aa802aa802aa00aa802aac05e2980a77df71921522c3941d0389299870f35661c8f59339b6df9fd169e21f73e514e8c71249a00cf70a1cd49178ece92f9058d2f90e0fce9da50438729aba932a6b626a4b7a57c4800255401554015500554015540155005540155a06d15904341e861a1455f470177b73d9ac8d3cdb4346d397fb4d4b1b9f64cd16d1dcab87ba363f105f09410c7b11dece46a3efecfe6d1a7f7cc7bfdd1199b434cf62402b659b127675b2de5432328a30aa802aa802aa00aa802aa802aa00aa802ad56c0f3e48f264309684564f87ace51a14c2bc2eeabcf07ba53093b6d906eded374bbb716c7387f5ad997d5c59e8fe23a342b4c6d75878bee7cf6c379b6bcfeaf9b731a9d5aca37fae9ffaa802aa00aa802aa802aa00aa802aa802af05d2ae03968789a9299fb6c22642bc0b771be8a9296677a9e59797aa3c409d7f5414115ceb531fd4776436ff58e70267b72d5c60cf8d1ef7e31a66f75defac22a9331e0a4bbeefc89f56d21bf67546da902aa802aa00aa802aa802aa00aa802aac0b7a140e8f1c17dbe08eddd17397dc7e72b4ec93d6d309e99b3576cd8ebb1092bcdf4275fcf2faf6357b7537f3e2137ac95975cfada1d274df9c9697f7a03bf8e95d9ef70e96e292f8e0a5401554015500554015540155005540155a0ad14083d0ef0a4c09aa3841e16dcbd6d9549d838fbc5f92a6c66a16458994846d06bf3f4a71f7b7451a10de58fef39fae2b38e974ffc8586b7bf6755b2e8d90bef78cdf6cdfe625d9509a4f738d9f9fdab16f161422ba50aa802aa802aa00aa802aa802aa00aa802ad55409ef93d8ffde45b1b759ff81d48e7ab560ab0cd7e2760797125eab43ebbdf8f0a8d86f355c18ac50d7c4e4e56bca9ca5bfe8e73be6a111f1a591955401550055401554015500554015540153814143888cf57d9b9b9d9f612da8f0806776c2a6ade5f142be3553fffd2f1e9783bab686be3226829dfe8a7ffab02aa802aa00aa802aa802aa00aa802aac021a3c03eff7ef6ef4cc9dca3478fce1a7d4c6d39be9ec2f8ba0db27f65b86adbfa28f9e01cd661c439d7ff6e42c7c38e3a7a4086a95a3df5b2c7cc88dfb58c8f328076a902aa802aa00aa802aa802aa00aa802aac041adc0c17bbe5a925f7254c794d898a404e70206eb4bb62c7e6efa82285713e7a8f4be474fec6b4dca0b973e7dd385ce6f629996f25186d02e55401550055401554015500554015540153888153878cf5766de7353e7d92b973be9e2d159f9afff737af4bf2fbce08e9346dd9193939396864f156e5eb06055c3556f297f102f169d9a2aa00aa802aa802aa00aa802aa802aa00a4455e0203e5f35ce7bc9b4479734e2a6fe5fb50ac7aac69395cbb8a5bccb55a12aa00aa802aa802aa00aa802aa802aa00a1c2a0a1cc4df6f71a85c429da72aa00aa802aa802aa00aa802aa802aa00aec270ae8f96a3fb9109a862aa00aa802aa802aa00aa802aa802aa00a1cf00ae8f9ea80bf843a015540155005540155401550055401554015d84f14d0f3d57e7221340d554015500554015540155005540155401538e015d0f3d5017f097502aa802aa00aa802aa802aa00aa802aa802ab09f28a0e7abfde442681aaa802aa00aa802aa802aa00aa802aa802a70c02ba0e7ab03fe12ea045401554015500554015540155005540155603f5140cf57fbc985d0345401554015500554015540155005540155e0805740cf5707fc25d409a802aa802aa00aa802aa802aa00aa802aac07ea2809eaff6930ba169a802aa802aa00aa802aa802aa00aa802aac001af809eaf0ef84ba813500554015540155005540155401550055481fd44013d5fed271742d3500554015540155005540155401550055481035e013d5f1df0975027a00aa802aa802aa00aa802aa802aa00aa802fb89027abeda4f2e84a6a10aa802aa802aa00aa802aa802aa00aa80207bc027abe3ae02fa14e401550055401554015500554015540155005f61305f47cb59f5c084d4315500554015540155005540155401550050e7805f47c75c05f429d802aa00aa802aa802aa00aa802aa802aa00aec270ae8f96a3fb9109a862aa00aa802aa802aa00aa802aa802aa00a1cf00ae8f9ea80bf843a015540155005540155401550055401554015d84f14d0f3d57e7221340d554015500554015540155005540155401538e015d0f3d5017f097502aa802aa00aa802aa802aa00aa802aa802ab09f28a0e7abfde442681aaa802aa00aa802aa802aa00aa802aa802a70c02ba0e7ab03fe12ea045401554015500554015540155005540155603f5140cf57fbc985d0345401554015500554015540155005540155e0805720e6809f411b4fe0e4db1f3fb7c3a6f72ebef1a986c063cfbffe843ea6a6c6c4c6967d3df3be1767b7f180fb3a7e1ba7db6a7d465c7afde9711b67def7545b0bd830c148f123f16dac8b8653055401554015500554015540155005a0c0417cbe1afbf8bb770c4e69b8ca5525859f4fbfebda879a7ab81f3b72ece0be81c13127dff8d43b8eebd851274e3ca92fa3d40da869f3f355ebe29f7cd1f527f4ae9971dd1d4dcda761fae1fefb76f5193be1ac892799f53591cf57adca472616297e245e1c15a802aa802aa00aa802aa802aa00aa8026da780bfed42ed779162e28c2959ffe99c4f57e415c5a7648c39e7f797e63495e4ecd9afcf993febd91779b882f5ec3bce39f7dc51e7def46e953155b5354df9b7b8bf75f1877d7ffc9871a78d1ddbe2e1dc0edfae3e354d0ad89a7c76cf2752fc48fc6e4f45aa802aa00aa802aa802aa00aa802aa405b297010bf7f6525aadafcd995d7de07f0bb173ffc41cff8f46c635645976ef61dd77adf135a0597b4ff67ef7de0a2aef2fdffb70c30020ec2000203eae840b8831a84aca431c597020a2dac70d98d56cbeceb5dafd7e5ee5ed9f6d16eba6bb578dbafbf1e6df77a57b732adb8da165d73135abed4b89a7d95541492001d92bf35204240c330f87b7fe633330ccc0c304aa6f03a0ffbccf9bccf39eff33ecf33f69897e77ccea7c7442419b9e9d5965e85ffbe7e0ec774ed6aeffaf169ea633ca302743f1e2b7457fe5dd9adedf00902200002200002200002200002e3486082eb2b12d64484e4255c6c3fefb3b6173e99343b904da61efdd177feb4e9e5624a58bffff907a7f31a15797657be979df7b2d062b4b4f6b95dd99a58193b36759d38f01f1b0a8ab845c2da979ecf09d9bfad48fdc44f9322855e2e9dde7bdf4edabfed810bafffb13ef6d1ec649594485f5d92b7fa9991e55e56deb647ee49080f9492c1d0d9636a3ffb46ee9fcf6aa6fb054c15c61234273d8128d887f475c5e566474ee31969108e7c98c3b6075aded9ba41dc4b99b0b6f0f91c3af57ace7f4fbb0a3e9ab55b9ebc2f3132c4df5322e1887b460ac55c36f67836090fc8b9f2ef60973cfdda819419970b7f93bbb3dc128466fd4b4f67ab4ebdfa9b4dbbada651c34305100001100001100001100001101891c004d7579e66619593bf2363b6d4d472d87c3845faaed2fc585f9637c73e6bf2bc3d655172eee697faf41bcabe696b6f37f553882ad23764da88d02c85abb6bdfb7872186f413c7ca2397a49d2a2ac5f6eab3fbba9b0d66f9a4ce63bfbf1cd1b79fdacbeb25a1e1be33b6d1af991dc5716b96e73326f5a6ca8ef0a991d1c93f6efdb3e5fb1a9d0555f595b0af3d366b32aa9ab3cdb3f7d564c64a0af222c7ff3da2c954528269bbd71f3868394bdb5d8553caefcb3dd091fcdb4105f99619a8fa5959f3c44e62b5184d1e51677f968f27615ac8c65080dd5672f4f8d889d1d3c422462911bf1b0b872e1df99dd74bcf672668c2a7bedfa9de5a2724ec8ce5c2493b654425c8d3a2ba800022000022000022000022030660213595ff11e3a892af3934f32451a653b36f11a4fc2fa6c16575dd5fb96af16f60d52d6731fe5a72cca5e9bb073ddba1c5e1289daf5d19e7963c117b5fe472cae7aaaf3d3560b1b0a355b3e2a484bc8584e8566b78207fdbefce5dbb551af7db227c6d38bba8dbca58f536551c113bccca579faa382cc90e885442ef45542decf585c991a5ed9982d2cb944e595ec59c98b717fddfefbfa9981b73db22e39d2f3c4be3f9536d374a9b4e56c318d1e8fb97bbb8b533ed46d5783b3b6dbdadd6ef259fb6f82b8bab42fffbeed0cc81aff50ef43eedc8b27ca857f17f6e2ad7b7e9cb239e6d6ccbc8497b733cf9c1f2d0ae475c5bf598f891c12096e40000440000440000440000440e0ea084c647de5c9cb3cfad345ffb7212cf6d6f8d8c894cd7fcbebbd8fe267f166be53870e5878151dd2fd3c25c67baa756d45c144fac7c2727e842f57f38df95d69296f3c34912f6ff9334df5b3353df1ca66415750ed5b3b7604b69c25ba9bc3e93abd5710579cb4c77586cc98c059e944b6b3346c6d39a3d1dc2a23aa2f7dc3b29f6dbab7b868555b5e5c5b4ee1596bb9b7066d61916d6b5bd628f1d83b17f34ef96cb7092ac7068265ac7ca2962e64a42d875f3743e007d82cf13bf76ab6ba158f2bffaeec8cf995921f1764c5dcfb4f79db9fd8fef4b21ff2c2e0c76fee1c211e148100088000088000088000088080bb0426b2be621686cbd505db8505254dfe6bfcdbfa7f2d5bf50fe1577c7fef25db734f3e9e63555443d84685c85850f53454965fe8f2323fddc5bbed7abf641d25a69e86cf2cd2a778b7798d2441d057cdd5672ce5515133f8a1aaba734ec595d509492d9ef9292b41bff1117c43d2a09aa3d1e219d2ce76e3c867fb7fdb0acd193f2f0e5b5c791b5a30ca9d228ce5215d6e6eb2d4f37316bf838fb1c7e3cabf2b3b77a52d78ab3a6d734cec3debb3fa16aba4a686926b39dede217618400004400004400004400004406022bfffca3cbbd6a5a8a6f66ff95e2a979ffabc392b46755bc62a2a36cb9e28b59c0584a1bfd7fecbd02f1c76e7984c76f6dacfcef73cbec8776afba64d9b1c6b0a6769d8891fbb0a96e5a155ebefe6832ff4975aed8ac8de3f990fe6e8bedc6eaea0d9b13195c3b4256f5117dbad358d168fade9d08c031f2e36ab299187e6a57fcb1064e4d04664c7c1be6448fce6afd6f4103eb19153c2b6bc3bede3b76f3524ef463c020267fe5dd9b9ba65092b373f974779ecfd3d43bac60d088000088000088000088000085c3301f177fa35bbb9511d4867dcbae5e9a7bd42a3162f8ae118ab0f1f28deddbe2e4b1596f4d8ae2dd3fe7ede7bd98f1e629d535ff6befda1ece6565ba8fbfc33db873c9ee3ab48d8f2f4162f6a7865ebcedaf2ed6575cb3255c92585dbf7177d4ae1518b3529b3ba4bd2720b5cc160dd224fc87d3affdea01f2c4e8a09e6d5abbf6c18b23fcddebfb6fa2b13c5a896ffeaa5e9cbc21627470a9b1107772e56d7b5932af2cebc6d2def7f1676dbdd0bbc4ee6e6b91d0ffb73e443f410db55691b9ef3ca98ab49992dac420d4f63e1a33d556760ce298fef786ee1b4388d2a5090577c7cc8c869ecf1b8f2efca2ef66b59c262985d67f7eeae1d3918948200088000088000088000088080bb043cdc6d7013d517de11151893969999b22846da73e974d18b1b849fd4bb576c2e6a314863d37237ae5bc9bffbeb0fefcdd96a7e26ca3c366babb4b40752ecdedfdb27eccd93a9d232d35232ee54996b6ecddd72acbe4b363be9f18d1b1f5f99191b2669aaabb7f271b2a54e084795949995c9e2aa475fb9e317b983bd9283ffa24d7f3ddd4292c04529c99152fdc1177754f69074aa28b3a8e8995d275a0c81aae4751b376625c7cacda7fd8d188f352ebb4feb4887f2292f78ffb49e7c2353325366fbea4bf6955c625df4ede0829eb5d5687c8a9f79f530d390dd9a92a20aec3c5c54a6b73b20df2e8ac1acd5f3d8e271e5df95ddd24f71d1a70d9cad2b7dd7f6e4da6004c881000880000880000880000880c0b5119872e5ca95abf0606b2566ecaf030303ec902db6c416fbbc78cb57c7643299d8c857fb4c7f7fbf68e48c58647f158b2a2b2b9f7df659770612959e359f5549fbc522edb5fdd08ed2a4cf57f8f45e6a2f2eb65f0373882521bff44f595f97bc98b3a72661fae572f17d550eb5861904e73ebd678bb54e975a1234e933e53ec38630d67886f534f4963df36bb5ea8a8b9df63bb4ee48771c8c6a3cfcb88ac7957f5776a2f4bd1f6d5679d617dc9163276e471a02ca400004400004400004400004be0b020d0d0dfefefe1e1e1e53a64ce157a5f29513df725f9ce12b2b08512ff4f6f6bef0c20bb1b1b15c8d2bf07558f2f4145eb6ca456246cc8b75c4fa7c754c62776c173a3627fb3c1b3806b6d8e2112de2d566e4ccb034c1f7070e1baddd6d6d71d1356a078bb35aed584508ef90ebef69a2daf2b10bba919d976b8b1d5d8ddcc48ec04859f63c52f198cbc62518eecd553caefc3bd8a356e53d34ad8fe233eee5573b5717bd0a7135e639444510000110000110000110000137084c5a7de506a3f1aacafb03fbc7cb17fcb8474075efca2c7e5533a7fa637b57178c8f7a742f04d4060110000110000110000110980404a0afaed7249717a4deeef2e88beb15c4a4eda7f8dff369a69cda5d6db59cb46030701000011000011000011000817125007d35ae38e1ec4625e0742fe58d1a2ce2020110000110000110000110b859094c5c7d75ea7b9a92b8efa95f740b0220000220000220000220000220f07d1398c8e7b37fdf6cd13f0880000880000880000880000880c0e4223071d7af5ccd239f32719a288ac87f680d77ed435bdf3077e9cfed7a54def8e1ba6776df182125ac5a9b34cd9bda6a8b0bc770ce62548266d1fc39326fefaeafab0b8b463cefde323cf7fc3b61a259f574ea5c321ac9cbabfbf3d2ed85a376aac9db92daf7f9ffbc5ce87876a313f7308100088000088000088000084c2a02934f5ff17b821f27da43b460e844bb6b1fda7ab43bcdaed2825869c38e3bb26dba276b4b617edaecd3affcf3ba9de3f74b5d93a8895549623dd39fd9fdfd9f91a7c97bf7772bc3a4229bdcac3b77e4fcda367a476009dbf66f4b8eb4bc40998bff79cde9df2f5f37d228dcf3efd8a360d1dc7e4f669af8be6832c51847d7571acd4369691463bc667da5d95552102b1b12555dd1e65c9c6d3804096e40000440000440000440e0262330f9f607f25ba83839ea4a77edee4db4b6f2421749226f5f9f606d1775e76d7c60b8bebc6cfcc415bbd66a0f1c3e51b6b7702459628de03bfed4ec7a461057f565af6c7eb1a8a18766a7ac7b69956df88e9d07cf982e69385db6774741c18bfbaa2f9924c1b73e9a9fee58cf6a71d7bfb5ddd04f6d41eea38fdefee8e612d6d7867ee3d0426777ddc6b1d674d6dadee6c95f3943574b438b98f4975a9adaf5f61590070110000110000110000110b8e90838ea8c9b6e083747c0073ead5e19bb283af16e7e59ae1071547a4c30995aceec1c9fb71cdb20680b368dbac3cd56f93bcc44e5ac88f5a59eba8339bfdec9dddcf9a37b237da50beebd9776bbd293c5abd30655e15959ec9ec7634788cf7dff2e9dd5f2144cefe1fda1a2c47659cfaec056338ae8ea27504206dd072b566fb7738c2c0880000880000880000880c0cd4d60b2ea2b1ef711a2f5e6c97b9ae861eb2cba6bb7b61bf5b376e79186c7174546c5671115f1b6b4871203f95db7e51f8b0dd73eb72b5b132be39feda6ae1307fe63430157a184b52f3d9f13b27f5b91fa899f26457275ba747aef7deb5e26cdda1d1b56dc6ab6b0b1a7e5d8a61579e509ebf73fffe0745e8321cfeecaf7b2f35e163d9baf59db0b9f4c9a2d7830f5e88fbef3a74d2f17b3f7c2e7b3bffd64ff11afa58fa4c4f026beaefa635b73f2c64b9ca5df15c3dd5df8e403be6af25f4b316f1394864469788dcd1cd3c8979ca5b3b8c225d7eb3957e73f2b6fdb23f72484074ac960e8ec31b59f7d2377938b2d8bcc73db03175eff637deca3d9c92ae6a3af2ec95bfd8ca8a6fabef55abfe5b5ecb4e1dcdcf02f8edfd37b640e28050110000110000110000110b8b9084cbefd81e2fc649bc5d5cf881289b69ab5d6d5d9dd98edc2d3f506de22b824278a1ba5c62b59d17cfa81b062b36adbbb8fa7c4ca7aea0f971d6be9972dcafae536731dbf693299efecc7376f4c8af4adafacee22f29d368deb3ffdb347585cb5549f2829293b56c94e3dfdd87af99bb6f6f6f6afbaa53259488850cd9ad27795e6b3b8d2571f2b293bd1e31b9c9cbbf9a5b509e42797cb6431698f3f9e12d3d75057af37c866276dd8c2ea6f7c92f75496243d35c778b56a6d5e560cf534d4b518c85771fb083b04ad3dafdab63f3346666a287bd1f5936957e15f78e06d6532cb525de5d9daaf0d8181b2484598b54f874fbf69725f59f2bacdb9c9aabe06c643c13169ffbe2d87ebf14a972c3633374de4d663e3e69e7f73875255d6279f7cf251e9dff6beb4255df85e20810008800008800008800008dcdc0426abbee2597b8be849a217cdf3f799dd2cba6bb76b3a7256fba98ef7a0cd5fba942867e16c295daa3ec0ea236afd8f92c3a8a73a3f2d67d3aff356fc961f049224642cb773a5df977f57ce135b9b88a49e5ebc1aa40c61e972a9a2e8c5679ef975de1339f7add820ac08d5ee5e97939d93fbd405d65b768d13d667f33ebdaeea7dcb57e73df3eb0d690565fcf8d0a2ecb509dd964a75252fa665e7e6e47dd04314a28ab16b3a0ed9becb94b7378745ccb197b23f6cede3e17b095a70a494b365efbae448eaaafc7df6af47dd7ae786ff84bc9fa5cd2653c32bff9c9afbc4bad54f7dc87a75a4d42de8284e95450569d939cb7f7b90b985442fb435b1722bb17073d73f75d7d7d6736ad177497d03558bd236bff6eee0d379b66e90010110000110000110000110b8a908d8ff14bfa902bfc6609f27fa81d9059f57c74b58155677eedaadedc6f2a93d70fcd2ca98c0984559abfa5972b49c3d22e887f911c29179be31bf2b2de507804ce4cbe2c9347550859c7865f376b37e7a6bc78ec096b3fcf8d6df3fad8f4d999d96bf277583fe5cf9a7fbffbcd5eee47305cf68bf5d349a78de68673a75e880c5567448f7f39418efa9c1e6c78d4c0d25b9cf140a45d3858ba828849cb394bff7a32c61a39c2d190ee6dfb55588cd5532043cf452aacab7a7ba28af889e7b84f7c28ddc03656dd9bb914ff3d39fde3cf2c981960e9dfb771aa736e156196fc82c7dc3b22436dddbf60c95abe8b942d7e9bd4f98f76a92f6b8ce901913382b9dce08bb381db869342efd3b8d67abb6fc992784d5302145a56f7f7e535264d8831bf25ec6e35822135c41000440000440000440e0e6243059f5559475baf807ff71a24dd65b77edd67663faac2d3edbf2e3e430f523c22e3c4345a9206ca242642c597a1a2acb2f7479f1ea94903c7bbf641d25a69e86cf78914b48c5bb2d4f0a15fe3aa7262b6ff5c39a7855586c72666cf292c4cdf76d1d3c1b42ac6eb97a0ba7d4f5f75eb22d05f978da29304337afbe0ca69125c7dfdf7ea36f8eddcec3be76ed48e28ac906a6652d622db27375012fbbcd904bc9547fd67513cdfa1df9692a93fed8c6e57996310f86e69873e9ffa2dc499c7ee67d89520b61a26041c7f292d408896934579fb154888a9ac10f6dd59d63ccfc6571c5cda9ffd1b9d516e73da52eddb35282c7b146980f1481000880000880000880c0cd4060b2ea2bdbdcfcc39c9b61bbb766dcb55bdb8df8595b5ad1901c363b9257afba2a4bcd8aa8f6b3f33d8f2ff29ddabe69934de4d9fb90d0e052d6a0bdbc683bff1136176edb9a9b3c7bc9b2b5542c1cd36749fdbc13cf924e7dde9c15a3ba2d6315eb33c114a596b36e30f4f79acb25eecc7f7991ebc7a12cbd0d7e688f7fb9322696577a4eecfe83a023d353e7f03a5dcba070244dd62a45efeec193e4b37ef6e35b799fe4ef5d89aba1f547f05feb2c4e8df92089eecbede610353b36a63a8a49931d37eb482cdb2857adbf9b8f07d15f6a25927391136eaefd8f855bd4d2b9acf7ec171ead01e0130440000440000440000440e06622e0ceefeb9b695ca3c5ca6b56fc63b6d27cb805ef0fbcdbba963176fb683d382d2f2e3df98bb4d9bc51edd2f99396859cf2ed6575cb3255c92585dbf7177d4ae1518b3529b3ba4bd27279cdc759d2e497162cfffaf4d14fcf5436b791b02844d4ddfeb57d55e98c5bb73cbd85bacf3fb37d7771c187ebb25461498fedda32edefe7bd97fde821d609f565ef6b29c6be89531537a4829b37e52fbf5f971dab92f6933c3a41735bdea6349657a7fffedf9675b4a8b5ef163cce323325bc77b579fb2369624258f14883966d7f69858fb8cce4d979e1fd4de2f63c87faa3f87788565bfd95896254cb7ff5d2f465618badef311e2a687c1509cccd8b1a5ed92a1c9bcf0b64f284dca7f3ef0dfac1e2243e4ddf50f7970d3b29217f886f3fcbdd58fc0f699890f7eeb67b5a3ffdf8938afa693fb8ebc1b45b79f4273ffefb903ab8010110000110000110000110b8d9084c567db5cd3a51b9441bac79fe74d76ed7744c59eddfab2f2d5f1448673f1adccfb735774b50e1d349b3931edf98647662a82ea9b77ae31ff94393b6fa82feded85b9367df9a2c16f4349cd8f58c709ebb98fa857d733169993164a82eddbe5b4bbb576c0e7bf7a9acd8b4dc58738dfac37b73b61651421e57347d6b5de9eaeee3cd7252270b3856bf6e7f16e53e1f73e037598bb2362e329f4ad870f895752f0feefb13bf79831be2c4f32424c18b92f8d1304b324cabb1662d87760cd6a751fcdb1a5a32459bfe9af1eeca5bc316a52493497ff0c5b7956bd7cd9bcaa24f4cc2f07d65aab44c1599ea3eb6eaab4055121b38f5e82b5fdffc8499729f736ea3f8b77463ffc1c75adc9a92756b8a6833541edcb1c18d05427b4fc8830008800008800008800008dc2804a65cb972e52a62b1b51233f6d781810176c8165b628b7d5ebce5ab6332994c6ce4ab7da6bfbf5f3472462cb2bf8a45959595cf3efbec90819c1a7237fc867f238b6b17c2f28f5d72d76ed7d4928d73348dc912a5499faff0e9bdd45e5cecfa11259ba7a88474d54c1f1fea6d3f5bace5b5965153547ad67c1fa2f68b45da418d336aab6bafa059b53e41ee4ded55daddc5433a8e4a5f953ecb50bcb3702cd1731c2eeabbf4ef347401b24fef989025e497fe29ebeb921773f6d4244cbf5c5e3ea630ddf02fc4c793b27456c434efbeb6633b0b87d0711a3d8c20000220000220000220308108343434f8fbfb7b78784c9932452291f09513dff21039c3575610a25ee8eded7de18517626363b91a57e0ebb0e4e9e9c9162e1233625eac23d6e7ab6312bb63bbd0b139d9e7d9c031b0c5168f6811af36236786a5c9ba7ec59bb1f88f6372d7eee8e16a2db55abb53004775525b5e5cebd60ff2dae2a2312984517b76b38276f7cbcee5626df16eb7027251dfa57fa771ba0599bf0bfd3d4d545b3e76d06ef9e733f5bfa74971ca06461000011000011000011000817120200832241000014702b6b54cc7225840000440000440000440000440c02981c9ba7ee514068c206023505e907abb8b23466c75900101100001100001100001100081a104b07e359407ee40000440000440000440000440000440e06a094cdcf5abab3d67e26a49a21d0880000880000880000880000880c0642780f5abc9fe0dc0f8410004400004400004400004400004c68b00f4d57891841f100001100001100001100001100081c94e00fa6ab27f03307e100001100001100001100001100081f122007d355e24e107044000044000044000044000044060b21380be9aecdf008c1f044000044000044000044000044060bc08405f8d1749f801011000011000011000011000011098ec04a0af26fb3700e3070110000110000110000110000110182f02d057e345127e400004400004400004400004400004263b01e8abc9fe0dc0f8410004400004400004400004400004c68b00f4d57891841f100001100001100001100001100081c94e00fa6ab27f03307e100001100001100001100001100081f122007d355e24e107044000044000044000044000044060b21380be9aecdf008c1f044000044000044000044000044060bc08405f8d1749f801011000011000011000011000011098ec04a0af26fb3700e3070110000110000110000110000110182f02d057e345127e400004400004400004400004400004263b01e8abc9fe0dc0f8410004400004400004400004400004c68b00f4d57891841f100001100001100001100001100081c94e00fa6ab27f03307e100001100001100001100001100081f122007d355e24e107044000044000044000044000044060b21380befabebf0151f4cbdfd39a7b1dc270d7eee0e0ba19566ea0dffe8254d7ad3f740402200002200002200002200002372a8109abaf6edb40878fd35f9e1a04ff5f1f53e95b83b7374a2e829665504aa24338eeda1d1c8cc590f6bfe90f7fa0e4b154755de7be47e89e1ce82bd780500202200002200002200002203069084c587de5e72dcca1c46e223ded6fececdf73b69b0c44fd468728dcb53b38188b61e15db43495eeb8732c755dd631f0000cd4ebb21c05200002200002200002200002203059084c587d75134da0a78b58ddb5bb703392d9d82f943a8abb91daa00c0440000440000440000440000440c0050157bfe15d549f18e63be9e59fd3c248cb607a5ae8a9e5f499f9eefe5fd04fd2292c505890e9eaa1b633b4fa174241f2ffa635cb68660849faa9c740ed9594fb2f827dcd1fe8a1bb48c62b63262a7f8f7efebc6014d3cb25b430903edd45bffc2fabc9f5a7a98fd6fc917ea2215e75d39fa35f3e4a75e6caeeda5df730a464e31fa8793f354fa1e953057bf01cba8dafbea4afa1cf6a058b730eaeb971131fa11dd18354b88e0225b42f9ffe7242340dbd2ea2bd0564384a47bde827a9c278bb74f47c361d36d772ecf7b00f6505d2a96fe8ae386afd84debb4c4f66505f0b3db95c40e4c89f3d445ca0ff7c6768a7b80301100001100001100001100081eb426032eaaba7fe591057ade7a84247fe9114134c7e66d6f7ff9efe2d43c8d59d255300dd1249be0ae136f917f45c8e90693c4797a7925a49d210e1f6d13fd26a0d51271d394e517750c283f4071dfd4a7cc46b11cd63914614162a5c474ebcbdee961cba85954603758650f03c2af8233dfc96b06fd00dbb59078edc11976efc23dda7215fa2b32a9aafb4545fba9e969ab38d0728e777e48a832b6ea217de1fa8fa31fdc7bf0acecb5f7721aeb8aa1fc9fd499661196fb394662b69fdefe9f06f9cf73bed5b0a88a2bb4890b5a1b7d393447d06f20ea3658ba8fdc74ef8eb93e8811c5afe281dd8039525ce0cae200002200002200002200002d78fc064d457ca1902df8a77e977f6ab1c8b681d8b2b13bdf6cf666d10457f7b8ba45c2f8afed52caedefe25bdf8b1706bb3af6471d543bf4e35afbddc49a52f50fc7d44a2be3a41fff50edd39933efedb58e7b2ea1dfadfbcfc65f613cc62cb9adcb55bdb0dfd8ca2a7fe95ee4e14d68b78bdeeed37e9fd1a4a9845b73d4a4b23a9bc90fe6f134d9752eb5922571c889c7313fb319072356d5e2ff8ffe8ffd06f44084343b0dc755b3eeb0ed1eadf083c8bdfa29028d7fd9abfa15fbc4e4717d2ea38eaf8847e5e49af3d41bec174b733fee94f91d7bfd0ddb7d34f9ea2acc7e86f6fd28b2304e334421841000440000440000440000440e06a094c467d55fa09a953e99ea7e87f6da4ea13f4d7ffa4925a4abe936444f51f5a175e022c6763a8eea060a256ad595c3165ab9d160a0b35fcdf66165d12e2e798585a48ccdbedc4b9d8f73ced1bdbacf0eec2ae536671c5f53f269d816e09a434f3e11c6ed94b9c75a7ba9356e7d29238213cbd8e4ade1a5cd5a93b41e12b84360d1fd3ff58f7f2f1629d530e5ccd2937a13d0fde9f9e5c2f64dffb2dbdf08190192109bb291bcce28a2b050815d9812bfe42318bde97e8b63d42b6e85f68ba79a5cec8ab8b7cefc8bf969eff1762a1ca2b75e94be9e17fa5fb1ea58fdea3e7c7b04b53e8000904400004400004400004400004ae81c0c4d557ac27f89779df201bfe112fa67dbfa2da07e9a7d91417456a8df027e1b7f40f73d9542f6ba51061f18a77e829c205cbe526abddcf625785088aa5a7814e9e274f6babde7a6b35773e790e9acf591b44d10c29f5d5128ba57c37ed5617433e63efa4e438b35634d0113b7135a492b83fd2cee4c8810b9d727b9ed594f94bd467226f0945c7118da6afd895e11bbbce2c0e048bd37ed96e59f432d017c2064321490246e1ffe22fc8f755ba6f3ef986d0ddcba8f2bfe87fcc0d710101100001100001100001100081ef8ec084d557878f52df833443654517450a164cd6e17ef60ef11f4eff643e5562c972fac745e1f69bcbc295d3cb7943ce769f6e7ee08aed7ff8a5c55e574e3dbc4b4d4abf72f5e0d39df4a882f6b8b939edd17f115674f497cc41d85ddcb5db9afecfef88fffcd31f68f95df4c053b46c3dfddf22fadd4b96722f118875cf9e6035eb52571c1cb959d4540f6dfe2d6d7a81d40fd2cb7db4fe8fb6fe9d673cad1331583c62bf966ae65662b0a65ade9be982ff9df4872768e93ca191be96dee787c1c620f90623410e04400004400004400004400004ae9680e3efdcabf574a3b5eb16769d0524d21f36d0c10acafc6741b77cf199f08053f10bf4f5293a5e41cd7a0a910b7177b7d1e16ade8646aa07e8ff9b4e61b75384b0f94cd8b876f894a0d34253e9e53f90df6da4329f5a6162d727e8a35aba8f1fc7da4f7f65a9a6a01fde4533bfa1fb7e6c6e18456fbf40a1447729848301474eec2c68113df51405a96931ab0203bdfa33e17924f7ec23f6f19fbfa2ffe4d3f67e4f59f7d03d3fa57b1ea63fafa13db5f445adf004d49dbfa0d6ffa1d04534df8b567fe49c832b6edcadf01de23d7f1fd3f2e7a9f8295a9843ffdf37f4f331eec7b32e9db9e2ef7258979cf37fab899ee4e7b2cccaea9d1db487776f2281000880000880000880000880c0f5223071f5d5097af900fdeb725afa53cbe1781d67690d3f9743a4fb9ad471349b77b29913eff17b850f5a207af75e7a388e125285077efef67f48b98e62f879aa0fe8b5bb859fec0bd94e74e41d8a7d907ccdd89eff3105eda7c54a5afdaf4211a72f0e899fc295158770352fcb98b32e2facebf8883c966a9c7abea6bdbfb5ec6473d7eeb2036bc15f7e43fce7d1dfd28fefa3d008a25afa9fdfd0ffe22147d193e621749c227ac705077e30cc05b76f59088ae91dfa993ffdc77a4a78829e9593c1978c435fadc5fb28cbfe26e837d3b7d626dd246ce1640faefae59abc4d938f0de43ab68eccad9df2972bb57ae26a0000400049444154a9a396f6fc91f6599f2833d7c50504400004400004400004400004ae07812957ae5cb98a7e6cadc48cfd756060801db2c596d8629f176ff9ea984c26131bf96a9fe9efef178d9c118becaf62516565e5b3cf3eeb642051f4682a4df3a6b65ada67bf492c8ad2a269aa0f7ddb4625764b1c7c1a44ac2f557e6079fd94e090654fad704d8ea0c35cf3413afc14e9b5b4c2ba2d5068a2a06f3ba8c4de3f2f85dd4b69b3a8e4bfec5c3989cf625245d1745e5f23fa6ca82a70d7eeba87914a6ebb932283e8d29774d8dabb130ea20317dc1cbdff723f3da07434d3df7e49cfdb011f56c365bfc3ead9ddbae26f5705591000011000011000011000811b8e40434383bfbfbf8787c79429532412095f39f12d07ca19beb28210f5426f6fef0b2fbc101b1bcbd5b8025f87254f4f4fb670919811f3621db13e5f1d93d81ddb858ecdc93ecf068e812db678448b78b51939332c4d747d356cb8eedf263f45cf3d48559fd0a94a0a9843c9a9c2f17a7ffb2d09e73a208100088000088000088000088000085c158189aaaf26eefec0ab9a66c7464dd5d4da43eadb853f423250f941882b474eb0800008800008800008800008800008d80ed4030a1704eadea187df21d522e203d9f9c43afbcd842e5ac00c022000022000022000022000022030490960fd6a4c13cfafe2ad1b53455402011000011000011000011000011098bc048407b690400004400004400004400004400004400004ae9d00f4d5b5338407100001100001100001100001100001101008405fe17b0002200002200002200002200002200002e34300fa6a7c38c20b08800008800008800008800008800008405fe13b0002200002200002200002200002200002e34300fa6a7c38c20b08800008800008800008800008800008405fe13b0002200002200002200002200002200002e34300fa6a7c38c20b08800008800008800008800008800008405fe13b0002200002200002200002200002200002e34300fa6a7c38c20b08800008800008800008800008800008405fe13b0002200002200002200002200002200002e34300fa6a7c38c20b08800008800008800008800008800008405fe13b0002200002200002200002200002200002e34300fa6a7c38c20b08800008800008800008800008800008405fe13b0002200002200002200002200002200002e34300fa6a7c38c20b08800008800008800008800008800008405fe13b0002200002200002200002200002200002e34300fa6a7c38c20b08800008800008800008800008800008405fe13b0002200002200002200002200002200002e34300fa6a7c38c20b08800008800008800008800008800008405fe13b0002200002200002200002200002200002e343c0737cdcc0cbf74e40b3eae9d4b96434929757f7e7a5db0bb5df7b44d60014eaf8087f29f5747e5d51a523657c8a4a4e0303e4e1d1f775dd910a9db5daf5fb5cb8344d1511e0356034f476d61c2bad6ae3aea3d356c4fb74d6bc577ad212c70d10e788441449293f9074d41d39a91bb19a50e86cbc0e8dc63a5e37fa75e803061000011000011000011098f804a0af26c81c6b6ebf27334d250ec61463bc41f4955af3c0edea702f2be344f599d2af2262a2e5a2612064e0faeb2bcdc38fa983a51c8059e2857c5369d657ca4865a8dc233426baf4648d3938e5ace8ef374e2b33179fca988531d1d43130aabe723e5e07af631def98fb75e8010610000110000110000110981404a0af26c8346b0b721ffd2b916acbaecd69a67ee38d30aaa0859977a8c33dc8d45c7daaaac1107ecbbc484f934ebb6f7f25913cf5c1d4e88101d3f58e53b1343a583ad0dd58b6e700eba82085829acc21e82e9cd34d9bda51278a2b367dcf718ecec524b01b15a0abf13af81ff378c7d6af837f184000044000044000044060921080be9a38135d5b4b34bd877f764b6e883129926e9dc98ff7e9ab3e7c4fabe3886a6a2ac4b8da783f9ed4384074fd1ffe0b8a90f3629afe7cb9a8a3da9a4475c571e9b4878420edd3f718a77d18cef35d82bc1a15a0ebf13af13aa6f18ead5f27de610201100001100001100081c94100faeaa69ce7a8acfcad4fde3b3b50d8e746a69e3aedebb9bfde3dc248d63eb72b5b132b63e165ea3a71e03f3614148995b3f2b63d724f4238fb31183a7b4ced67dfc8fd6fefc2e7b3bffd64ff11afa58fa4c470075df5c7b6e6e4b9fd3897624e981f91a1f9a8595c8d109b7d5162da8af9ca5029eb860143e3b94f0f68abc452f5d28cb8a888693e1232990c7d03bdada7f61d3aa9485c9ebed0efacb66a4662fc4c7f1faed9db7c6af77bc7ec1ddae7150a456820c744deb20885c2dbcf8fda6b746d8aa49fa4c74aa99f1f08337ef5f99b075d36b777e53c4e65e2034bd4e1e648b8b2b1ebe2076f1cb40938fbe6b6bc93715578e6a4cfeffff26cbd6476dcdc609e3143c7c5b2c2833a731b6562ea0f6f899cee279de2e1c190465ea6743e5ec18f3a3327716680406cc0d8fd65e5b143c76ceb76e66e1c2eaefa75cac1e5bcb8cfc721101840000440000440000440e04627007d75a3cf90637c5139db5edb982c2143dde9c35f767acdfa41fc8c59618ed56c9655dbde7d3c398c75d2e113cdd14b921665fd725bfdd94d85b5595b0af3d36613f5d4559eed9f3e2b2632d05711467e2497c964698fc7b0b26aa86b991a397b76d2862d59da672c92cce676e48c625630af1419baf4230b0c7b27f1198f242865ac27748d5d41b36746a8efc8e8683d54d1a64ecdd14407b09a686f6d1df00908f6f7f1f69771436f6fa9d42b20217509abc68e56bd4f68b0b7d4dbdee190bc42b3ec7eb5b8e0e3af4cb85f2914764496165618ba7b7bf9592c3fb9bfb79febe676be5cc599921417ee2fe9d237b65c324cf59707fb7a8ceccef9b8bcc9472a9546270433bdcef62ec9f48080994b52d5bad22ae5d215190b4279b09dfad65e4fffd000412bba4caec65b462bd66842bda85b7fb1a9d363d6dc08655cea7253f781e32e27ca55bfae38b89a1777f9b81c1a0a40000440000440000440e00626007d75034f8ef3d0a236fe541057875fbc6b53a1f31a43ac51eb7fc4e2aaa73a3f6db5b006a5d9f251415a42c672aaa19fb1b83235bcb2317b673951545ec99e95821ee8b6b4ae2b7931f799428aca2fdd9315a262b5e55ef296b0bca2aee6c6b1360b4a5ac8e2caa83ff4eadb3a6ea34c5d9b111d71cb3cd2d3621657039de5efbf294880a0a58f652f18faaded3e7368cf115dd0c3ebb2833d5c6f8d6caa2cd3ea67cc895b30d3bfabf1ccc9ba2ea9942e7d59436df45e219f1918b4626d76c858627515674563801ff7dedb5275543c917014678aa5cec7d56769d75e73745f69050569d664abfd8282292831591057bd670eed3ea273ca6168872ec6ab485ac1e2caa03fb3e7ed23420375da5acddc88f9898ae3ef391758aefa75c9c1ec56703d6c5e94eef1113c2081000880000880000880c0cd4760e82fd59b2ffe4918f1d2c8407e84e8e49fc722ae18cffc085fbefac6fcaeb4941fcc32912f6ff9334df5d368a2780da8bef40d415c719aee6d93269c31359408e24ab00b97ab3a864268e42367cda2135c8c9a42fd0575e7157ccf9a35fc5cd100797118533cbd95738238e08eba5396f515a9445c83b2f96b2c2f15f406b59dfef4539f6f5a6d76874c5b4d555b77a07ac14c32b43756f149f14392b077f2ca108b8b1b1771f230eb2e7684ce0d88d664ab6eeffebab1e1ecf1b29a36174e583fce0977352e1ee040678d20ae387125be653d354bd86ed9a53b691e2cdb877310ea0d49cec7bb54c32b8103cd5f9cb3d4adfae2d2d2b9c19e5eaed6c25cf6eb9283c5b1c3bc34b9c567c850700302200002200002200002370f01e8ab9b67aec448a3cc1f3631345af8512132fe89ded350597ea1cb4b5852e2e4d9fbe5595eb1e29cd462210a167497c15ccc1743778f352b7c8eb9b7c146bac636e382501f99ffa069c45c909f947b3176b636b6f7492cfd79183b582f050901d822f01374979dde335e6eb4acbbd49cb4bebaca75478284e36321cc6b6bae6b8d54e23a4eaa2829d4ab9726cc5786cb65a1ca9850e5acc8d2dd65233ed9e46a5ca6be218f56b1e29209d3c8fb2d3b2dc1790fe3e03c66c7f14a045d76c5d86b537e5e1e53465296aefa1d8183391427f372157c9c8f0a5610000110000110000110b88109405fddc093e334b4da0b970d1416189ba3a1ad5aa735c8d46fdd644654fbd9f99ec717f94e6ddfb469937d6d4d7e16df765f6e371b353b36a6da240c5b24d7febdd075749b28c05f95b1b0f490e5e040fbfe85bcfdf9ec6d8dedc684082f49efa14387eceb29356abe357e2bea3de5034b54ac0fecf49507891ac2becd55e75d1c773e9638c53e9baa8ef01fd6844919f7c4290366cd4ba49ae3cec331e376352ee1f08ae1493049fd44bdaac8583a772887e1b55ddd377fd5a50e962b6e89a71ab31c0d9ae1c38e8c267b3d673f5ef19042c77e5dcd97b55fe7f332121fa53adedf78b262443d6af58e4f10000110000110000110b861095cfbefe81b7668133530ed5b7fafdb9ca9ca2c28092df9e05c8777546c7c78efe19c0d2fdb06ecab48d8f2f4162f6a7865ebcedaf2ed6575cb3255c92585dbf7177d4ae1518b3529b3ba4bd2defeca4431aae5bf7a69fab2b0c5c991c22642a27e9b0f6bc6d5be316bb9ebcf0aed9939f7c7852b97accaf03d79aea5374c352fdcabe5dd43837ac34b16919ac2baaeb3bcec785bd391f3edf362e4cac77232cf565d245950a4726e80b1e6d5b3df0c50b07cde9dcba7ce93cd54fa8b0b6ebc61ee3b4812bf708e87fada4b8f0c590a1b539cff8fd664cceb6efef2626b6b570ff9f151872c5b7aac4fb33944abd38f6d5c56f5a86b6e33a9e5b2b9090fa48549c39572411509af487637d5686b7ea85e2c9bb96845aab4ae5d326f612c1f23d871be5a67e7c87ebc2efb75355ffbb4769eecb24acd487c82121fc948e00dab2a99f1ed23f6b1d8794016044000044000044000046e0602c2af34a49b8b40f1d6dc1d25d506922d4a5b99bb322b2976b6dcc7fa339cfa843d7e32555a665a4ac69d2af3c0b6e66e3956df259b9df4f8c68d8fafcc8c0d9334d5d553d1a6bf9e6e2149e0a294e448a9fee08b3b2a7b483a9565561faf0ef57d6b5d01eb161cda2f888d9d55d3b1f78e56b71ac94719b7242323352e3a828ffeb3363709524e2a8f8e899e1b3d476eb696ed2bbdd8619006cc4c58b22461414ca8cca3abad83aa0e55367791874fc45ca5bfa4bbfae8a7ec51e269dbd7e8aec21096be86aed6582232b1279f608e275aad525a6cfc31e63875faf6ee2b01e1ca05718b972c591c1d2a3376361e2fb59c2f3fe8cf9673392e21907ea37589ae4f08405850aa293da1eb6064e173e7ca7d0cbaaaf32cddc6f0b7d771bc27df28adea324942a3e3962c5ec03aad4377aab0cc16a7c3785df7eb7cbe2c03749897d1f8886319e180121b396440000440000440000440e0462630e5ca95313dd53f6c0cb65662c6fe3a60fe4775b6d8125becf3e22d5f1d93c96462235fed33fdfdfda291336291fd552caaacac7cf6d967870539d16fa3d2d355e443bd17ebb4e5fc6ae1515294267dbec2a7f7527b71b1d6565530faf49e2dd68ededed6c6ed8c62617c84af5462e86c3939fc540927be8294d1a1fe5ec6de9e9a1a9dad58307a195bf9755536d3f79d711a270529a2e501fc9c9bb1674cc1ba3b2eaecf2f486eaf19e1e08c3172098a56f33982d4d351a56b1abdc908fd3ae7e0caa56b3e41d1f1d101a69ae31537ce14bb1a04ec200002200002200002e342a0a1a1c1dfdf9f5fea3965ca148944c2574ee6777c1267b80b5610a25ee8eded7de18517626363b91a57e0ebb0e4e9e9c9162e1233625eac23d6e7ab6312bb63bbd0b139d9e7d9c031b085af62defe6a3372665882be1a0604b7200002200002200002200002200002df398189aaafc6b0c3e83b678b0e4000044000044000044000044000044060221080be9a08b38831800008800008800008800008800008dc0804a0af6e8459400c200002200002200002200002200002138100f4d54498458c010440000440000440000440000440e04620007d7523cc0262000110000110000110000110000110980804f07ee189308b37f61814eaf8087f29f5747e5d3186f3d96fecb17c27d12d5c9aa68a08f01a301a7a3b6b8e955609279447a7ad88f7e9ac79afd4faa663657c8a4a2ebc51d8c3a3efebba2315baef241438050110000110000110000110b83602d057d7c66f82b64e5ffb74ea1ce3fbbf2ed05edb00d59a076e5787db5e069ca83ef397b78f5c9bcb31b58e4e4c51059ace95687563aaee76a571f4af79f83175b09423304ba7906f2acdfa4a19a90c957b84c644979eac3147a79cc5af3e16dfc34c032103d0576ecf191a80000880000880000880c07521007d755d30df6c9dc4dd7977b2cab35353a0bd068115b430f30e75b807999aab4f553518c26f9917e969ba3e24c2e74429e5530c4aad4ef79d74386efe154ba383a503dd8d657b0eb08e0a5228487cdbafeec239ddb4a91d75a2b8e231e8b4fbf65712c9531f4c8de657707f27a382531000011000011000011000816b26007d75cd0827a283be7efe056f325ed3d01449b7cee4c7fbf4551fbe675e46aaa9a9b8267fee3436f162100fc09d266ed51d2fff4111725edcd39f2f1775545b93a8ae38169df6906e58486dbc6f506ae481e1a1c96164700b02200002200002200002370e01e8ab1b672e9c44129595bff5c97b67070afbc7c8d453a77d3df7d7bb89b2b6173e99343bd06cd31f7de74f9b5e2ea684b585cf677ffbc9fe235e4b1f4989e1065df5c7b6e6e489eb4f2efc5056deb647ee490867ff0643678fa9fdec1bb97f3eab99ee173055c2ce83e6a4271005fb90beaeb8bc5608c18da49813e64764683eea648f9e3a33277166800f7b1b30767f5979ecd0b11a5224e6a4cfeffff26cbd6476dcdc60eeded071b1acf0a0cedc65905a734f624c808f1015b769d77db6af44783049bd34232e2a621adb4d2643df406feba97dc75b9552efa99e8206f10d8c5610f97951777b4d93f0501325a6ad98af0c9572e180a1f1dca707b45523f73b0efe856e9d278542111ac88cc85b16a15078fbf9517b8dae4d91f493f45829f5f38356c6af3e7ff3e031e78d875a9d8c8b2b28131f58a20ef717387332765dfce08d833601271a71050110000110000110000110185f02d057e3cb733cbd45e56c7b6d63b2840c75a70f7fd9e935eb07f133668511a5ef2acd8ff5257df5b1cf9a3c6f4f59949cbbf9a53efd866ab95c2693a53d1ec3caaaa1ae656ae4ecd9491bb664699f2972e187b2b614e6a7cd26eaa9ab3cdb3f7d564c64a0af222c7ff3da2c9559c61025afdb9c6c1e50c341cade5aecd6d814b3827965c6d0a577f8411fbd628d2694358ffe6253a7c7acb911cab8d4e5a6ee035ffbf848a5d2e884606ed5d9de25991e10307349aa5a575a15b430e3a1254ade67d8deaceb30480242147e01320e469d9aa3890e60e1d0deda3ae01310ecefe3ed2fd3a426aae596051ee5e254a539e8ce6a7ab3ac263ee39104a58c759baeb12b68f6cc08f51d191dad873a5df63b3efe2bccc2ce919d42b3ec7eb518a8bf32e17e73a01d91a5851586eede5e5e7ef393fb7bfb793bb673b4381f57455b4a525cb8bfa44bdfd872c930d55f1eeceb3126778e1dc0020220000220000220000220306602d057634675bd2b466dfca920ae0ebf78d7a6c2c1be13d6ef6271d555bd6ff9eaed8235ebb98ff2531665af4d78ea8258a9aee4c5dc670a292abf744f56888ad596733f9490f7331657a686573666ef2ce75a79257b56f2efefbf6eff7dfdccc0db1e59971ce97962df9f4a9b69ba54da72d63d71c591784b585e515773a31895edaa489acfe2caa03fb3473ce8429db6563337627ea2a2f89258a7bde6e8bed20a0ad2acc956fb05b1da0a5a122f882bddd19d87ec37182a962e667135d059fefe9bc759c3052d7d2c7b017f9b2bff51d611e0a3885bacf49fd278e6585d174925926f5a6b282869218b2ba3fed0ab6febb82765eada8ce8885be6d1514b68c3fb1d2fff15472c1d0cfb68aa2cd3ea67cc895b30d3bfabf1ccc9ba2ea9942e7d59436df45e212fcd05ad589b1d32ac89d35b57e3aa680cf0639ddcdb5275543c91d0696b18410004400004400004400004c69700f4d5f8f21c476f4b237903a0fee49fedc4157bd7c4cfe29d82a70e1db0f4547448f7f39418efa92c44f8d7b4a9a14410579ca60b17f303482efc686ee535a0fad2370471c569bab7b868555b5e5c5b4ee1596b0567dac222b1d45cc5cd8bd0b98f9c3582cebee19c705e711a68fee29cc558f5c5a5a573833dbd789f9cb06bafb34610579c788323df0a9759c206b7eea6e3f6e28af5d19c70aed251774a10579ca412712da8ada9a6ad8964ea44b65dbe50512596f28ddadf9baf5ec1f7ac59c33d0d90178f778a27db4c4efb1d3fffdcabd3d45653d5d61da85e30930ced8d55c34fae977178579cb61b660c75352e5dddc58ed0b901d19a6cd5eddd5f37369c3d5e56d336ac316e410004400004400004400004c69900f4d538031d377751664fa2e8b173eaedc9a6fede4bb6c7a17c3c790efb2d350cdd3d767505c5452efc88d5a4c222933905fbb25c3158ef2c9fc2c3415799748d6dc605a13e32ff61ed25820eba62ecb5fdd2f7f29832a8244c7d43ced410245390d981289e86f9624969e3e327e8a5e1075a088aca9282fca45cc1d8d9dad8de676de561ec68e5e7cbb886937ecdedac3585a7b8aed6bf3502679f62801ee6b53e67e5a3db5c8f8b2a4a0af5eaa509f395e17259a8322654392bb2747799ed44c2d17da306088000088000088000088080db04a0afdc46769d1ad45eb86ca0b0c0d81c0d6dd50ef679eaf3e6ac18d56d19aba8980fba60f9a496f30f7f437fafb98ac4713e5df821f34ffbeecbede6769a1d1b53d98d2d798b7eba6d06f733ba8e6e1305f8ab321696daefeb6bfeaa4b1d2c57dc124f35bc0b8ee5d30c1fd64e46cb59851e8e3aaaed92c144329f190b9554a6b30bc31caef15b514f2a1f58a2e2a6367d6559ccea1bacdfd6d86e4c88f092f41e3a7468d0ca3985862f4efa1d2fff433a73f3c6c539ecf6e7b3bb1c97b9aba6aa23fc87292765dc13a70c98352f916a8e5b8250aae3fd8d272ba0b7dc9c14540701100001100001100081110938fe1e1fb13a0aaf1f01ed5b7fafdb9ca9ca2c28092df9e05c8777546c7c78efe19c0d1faecb5285253db66bcbb4bf9ff75ef6a3877817617dd9fb5a8a1912dae0d2930b3fa55f992846b5fc572f4d5f16b63839d2d7dcdaba0e565dd74eaac83bf3b6b5bcff59d86d772ff03a999bf7f210ffa3df5468cfccb93f2e5cb9645586efc9732dbd61aa79e15e2def1eaaf9a17ab16ce6a215a9d2ba76c9bc85b1bcfbafe37cb5cebc8e34e87570e94977bab63d35461e93f1d8b49a2fbefe5612344321ebd715d67d3340c1f279772e9f3a4f3653e92f2ec4993714b2137d5b2fc9fde7dc91d175ae49a65085499af71d3c72be7d5e8c5cf9584ee6d9aa8b240b8a54ce0d30d6bcfa8fc13e859cb55f9d7e9cfcefb313c743bb1af54ee2179e9a924a7deda547cc5ad4dac04b16c176097596971d6f6b7231aeff476b32e675377f79b1b5b5ab87fccc472f1a7bac8a3928f1918c0419914a667cfb88ceea189f200002200002200002200002d74ac071bde05a3da2fd781128de9abba3a4da40b245692b73576625c5ce96fbf0cfffdd2b3617b518a4b169b91bd7ad54054aea0fefcdd95a44d4c7ab377ddf5a976cbafb78b39fa95fb875eea768d35f4fb7902470514a72a4547ff0c51d953d249d2aca2c2a7a66d7891643a02a79ddc68d59c9b172d640eea7a663ef1dad6e35928f326e4946466a5c74041ff14774f28dd2aa2e9324343a6ec9e205721f8f0edda9c2b22a0e96c551bfd1ba04d56762ad272ed4d494edfbb4466f226944f482b805ea99a1013ebc49b2ea5065731779f844cc55fa4bbaab8f7eca3d493c2dfb1dab4a8f3776997ce4cac54b96a895a13ee67f4628db577ab1c3200d9899b06449c28298509947575b87cb7ec7cdffc8e084f15a57ef86d41470f80447c74447ab55cac112010b49e56c9f1b3d476eb63b1f974edfde7d25205cb9208e192c8e0e95193b1b8f9732674b12ffe67bd8af5a5a8bf009022000022000022000022070d504a65cb932a6a7e88775606b2566ecaf03e657bbb2c596d8629f176ff9ea984c267e71eb005fed33fdfdfda291336291fd552caaacac7cf6d967870539516ea3d2d355e443bd17ebb4836fa18a4acf9acf62a5fd629176ac475038f113a5499fefd37bb6585beb0c5682267da6dcc79d2e9c7921c5c2f8085fa9c4d0d97272f01487a068359f23483d1d55ba26a7ad1c8d41d1d172f2226347bb4e7c9b15ef7b5346877a195bf9b5518ed579eb9f323ac0d76b581742137f2f636f4f4d8dce59a321b6efdaff90ceaeedc6f9b88214d1f2002f86d6331c5250747c7480a9e6b8abf3e3af2d1ab40601100001100001100081d108343434f8fbfb7b78784c9932452291f09513df723bcef0951584a8177a7b7b5f78e185d8d858aec615f83a2c797a7ab2858bc48c9817eb88f5f9ea98c4eed82e746c4ef67936700c6cb1c5235ac4abcdc8996109fa6a1810dc8200088000088000088000088000087ce70426aabe1277097de7f8d001088000088000088000088000088000084c7802d057137e8a3140100001100001100001100001100081eb4400faea3a814637200002200002200002200002200002139e00f4d5849f620c100440000440000440000440000440e03a1180beba4ea0d10d0880000880000880000880000880c0842780f70b4ff829fede07a850c747f84ba9a7f3eb8ac1f3d9af47540b97a6a92202bc068c86dece9a63a555c221eed1692be27d3a6bde2bb5beb157199fa292f39bb6f8f4cdbeafeb8e54e8ae4764e803044000044000044000044060821280be9aa0137b630c4bad79e07675b8e5a5bf4489ea337f79fbc8f5094df3f063ea6029f765964e21df549af5953252192af7088d892e3d59638e43398b5fd52bbea797064206a0afaecfeca0171000011000011000011098a804a0af26eacc7effe30a5a9879873adc834ccdd5a7aa1a0ce1b7cc8bf4345da7b0144ba383a503dd8d657b0eb08e0a5228487c8bb1eec239ddb4a91d75a2b8e26074da7dfb2b89e4a90fa646f3abadaf5378e806044000044000044000044060821280be9aa013fbfd0f4b9174eb4c7ebc4f5ff5e17b5a1d8753535371dd820a8a90f3a299fe7cb9a8a3da9a4475c5fdebb4878460ec531bef1b941a07f8fddcf656e441000440000440000440000440c07d02d057ee33bb815b4465e56f7df2ded981c2be3832f5d4695fcffdf56ea2aced854f26cd0e34dbf447dff9d3a6978b2961fdfe6d0f5c78fd8ff5b18f6627abb881beba246ff59e9cd7b6a7ccb85cf89bdc9de596716ad6bff474b6ead4abbfd9b4db6ab2948cf8a19813e64764683e6a165743abaa3373126706f8b071c0d8fd65e5b143c76a4891f4937b7fd0fed93f3a42e31728e512a26e7dcddfde3eb5f0e1fbe6fa192a3edc77dc2a919449cb5316c89b4f7c78e8a4d534d4bb42a1080de4bec95b16a15078fbf9517b8dae8dfda7c74aa99f1fb4327ef5f99b078f0d6de4fc2e316dc57c65a89485d780a1f1dca707b455423d65e2034bd4e1fe42fc9c8c5d173f78e3a0f350c41ab88200088000088000088000084c1a02f827fb8933d55139db5ecbcf62195577fa70d9e16375972433668511a5ef2acd6771a5af3e565276a2c737383977f34b6b13c86f9adc5796bc6e736eb2aaafa15e6fa0e098b47fdfb6e878ed65df4055f6daf5562e09d9998b645243a55be28a48312b9857900c5d7a07e111bd628d86c555b7fe62cdf946a3979f322e7579a282bcbd7dbca4cac5a9714a797f6747b789fc82a33332221ada0c5e3ef2f98949d678140b6222a492fe5617e28a149a65f7dfbf786e00d7f75726dc7f7f466a6ac63d29d1643074f7f6f6761b3da5523f3f6fabb7913ee3331e49981b2a3576e8ce5fecba228d50df91b130881ba424c5b1b8ead237d6d49cbfd8dad14f1e637237525728030110000110000110000110982004b07e35412692286ae34f93256438fce25d9b0a070795b07e57ac2f7555ef5bbe7abb60cd7aeea3fc9445d96b139eba203e6c545954f0444111699efea82033247a61f18a3d3f4ed91c736b665ec2cbdb79bd2ae7478b02e9d2e9bff12a985bc95bc2f28aba9a1b87b55224cd0ff52283fecc1ef1a00b75da5acddc88f9898ae24bbc438f536b95f65d5e2652a6accd88f10b0aab79e3e4ad735383c363962a8e1d61adb67061840ff5367f613dfe6f987ba2a6ca32ad7ec69cb80533fdbb1acf9caceb924ae9d29735d446ef1572a3a0156bb3431c1a393104252d54cac8a83ff4eadb3a2e56a6aecd888eb8651e553406f8f1ea5a6f4bd551f14442276d6102011000011000011000011098ac04b07e3561667e69246f00d49ffcb39db8e2b169e267f14ec153870e58c659744867e09d735383895825749dde2b882b4edae36c9704ce4aa7e2574aaa8902effda73c363fbdec87443d1fbfb9d3d2dc8d0f41bef9c8876b9939e1bcb234d0fcc5398ba7aa2f2e71454f2fdecfc7df4543f329415c71d235b0ddc337209a6a4ed4e8d9d32d8b97b23965de4cde9177e1f4714b73271f6d355555173afab8c4d0de58555571f264858e9fb0b224198ffa8af566a4cf507f6155ca2bf89e356bd6ae5db3e69e686e28f1649baeee6207c713adc97e72cda32b3252a285352d2410000110000110000110000110100860fd6aa27c0fa2cc0361113034797bb2a9bff752add5ece3c973de2fdc714173f5198b3d2a6a86940c75e78af9bee0adeab4cd31b1f7accfea5bac929a1a4a0ab4965a63ffd035b6191784fac8fc8735914858465d31f6da148f97c7148be2e1822e7d8ba57e5010af1299dabf160ea8d09ed647a706874625a94d9172c940e779278f740ded46dcb0e7615e431b5a32d6bb203f29f33176b636b6f7492c543d8c1daddcbea2a450af5e9a305f192e97852a634295b3224b77978927698cd53dea8100088000088000088000084c4c02fc9b16694210a8bd709917a602637334438673eaf3663e1defb68c55166b945a383bc2d4df6bb9ef163f57adbf9b57bfba2e09fa81ac4b58b9f9b9c1643afefe1eb18e7b579df00c9587bf2a63e19076cd5f75b1b253dc126fb106cdf0e1efe080c968b917d69d38c527a9f8f8886f7bbf31df5996b0e234717e34d0f8f929b3f11a2e2ece61b73f9fbdadb19d43f292f41e3a74d09a0e941c31afadf126c4aa2307f6bdf1e71dfb4fe984b5ac59f31207a351aae317460fde2207022000022000022000022030990860fd6ac2ccb6f6adbfd76dce5465169484967c70aec33b2a363ebcf770ce860fd765a9c2921edbb565dadfcf7b2ffbd143aca3eacbded7520cefcb9327e43e9d7f6fd00f1627c504f3ead55f36ec147168c5252c5f965c67f7eeb6ad7db9c5aa427b66cefd71e1ca25ab327c4f9e6be90d53cd0bf76a79f750cd0fd58b653317ad4895d6b54be62d8c651dd571be5a47c1fcfc954f447c8a26c67746e4cc603f5ebd2a3f60d907a81397b0f8912e43ebc993b6b52fb7e219ac2cf10b4f4d49a5bef6d223431ee3f29245b05d429de565c7db9a8e9c6f9f1723573e969379b6ea22c982229573038c35affe3f5a9331afbbf9cb8badad5d3de4e723ac6d197b2c329582121fc9489011a964c6b78fe806bb440e044000044000044000044060721080be9a38f35cbc3537ccebb5c7d26216a5ad5c641e5657e5a744bb576c0e7bf7a9acd8b4dc58b3b1fef0de9cad459490cffa2a509594a912ac3dfacad7373f5164ae60be14177dfa447e4a645de9bbe58346f7724dc7de3beab3229137d0c52d519a9b9ada2ff36ebf374a658fdca50e8d8e0b351b3b74a70acbaaf8dc3f415fc967c6c805abb1bbf5b3d2772dab4582a1a6ea62a266ae7f7b5d151f723186c48323a36d55ccae8149e826389af5a4495f77e4a4ce5264e22d935e527934773fd07e81f51551d9be52df9c949901331396f0435f9c4cfa9a0ed2f5b7775f090d5706842bcd46de43d878bc7430527145d843905d48200002200002200002200002938ec0942b57c6f4b4ff3030b65662c6fe3a30c03f60892db6c416fbbc78cb57c7643299d8c857fb4c7f7fbf68e48c58647f158b2a2b2b9f7df6d961414ed6dba8f47415f1217b17ebb4e5b6a5a7a8f4acf9bc52d47eb1482b0aa684fcd23f657d5df262ce9e9a84e997cb076b8ad8d2f77eb459e5595f70478e9de8ba3aa28a85f111be5289a1b3e56495ceea22285acde708524f47954e144c0acd9afbd5dd35470b4fe915524353130b1cfb14bd726daa7c4a87f6cf858352c6befc3bcb0729a343fdbd8cbd3d3535bac14e8214d1f2002f2f5eb96ae5776b0ddaf980c2e8f8e80053cdf18a2156fb1ac883000880000880000880000810353434f8fbfb7b78784c9932452291f09513df321bcef0951584a817f8253b2fbcf0426c6c2c57e30a7c1d963c3d3dd9c2456246cc8b75c4fa7c754c62776c173a3627fb3c1b3806b6d8e2112de2d566e4ccb084f5ab614026c06d6d71b14d56d986535b5c34dcc84b2cfd3d4d545b2e0a2e73d5a855790f4deba3f88c7bf995c3d545af5eb3b862af4d154ede55c5a7fc0d1720fce51d3076525b93dd0a5550fcd258a989c2795d4942faaaf2eb2cae38fa365dcdf040056b534d9b5d986676e2a5ade69af72fda7943160440000440000440000440e0e622007d7573cdd77846cb5be8fa87fb53ddbb326bb6d9587f6cefea02e134c1eb9678dd5358fa1c92e4310bd401664bc7c5536f6b6b8614e206044000044000044000044000046e3002d05737d8845cb770ca0b526f2f70e8adf8dff369a69cdacf166b872f7739d41d5f4393f62f3bb40e2e6bb48728c0971c76e139548401044000044000044000044000046e0002d05737c024dc4821946b8bedb60b7eff9135e96a9cefc3fbfe43430420000220000220000220000220309c80f0c016120880000880000880000880000880000880c0b51380beba7686f000022000022000022000022000022000020201ec0fbcd9bf0709eb9fbedffb62e9f6dd8e0f2f998716959effe892f6a37b763a3954f0fb18bb323e45c5ef981ae0d32efbbeae3b52a11b1a4474da8a789fce9af74a87bcf977689d6bbd5bb8344d1511e0356034f476d61c2b7538c8f06afd2bd49a1f8453679df6bcaf268e335f6a8fbb3e9063140e571bc3a8ed46e9f77af02765e2033f9cd37be164c9087c461dc8f753615cf9dcc41cae3bfd51beb7eec4e3d6df53771c8f5c7761524a88a4e3d4119c2f3a32279482000880c04420007d7593cfa2e6de1f67a651bdd1a5be52242e4f4b6b301efd9ef49562f9aa65113e57ce6b779698cf5657ce8a8e8936bf42984f0b0c1918aeaf9491ca50b947684c74e949d7d2e49aa64cf3f063ea6029bb304bbc906f2ac74d5f0585ce5147cf1c68ff56db1d20643a0646d057a370b8a6218ed478947edde41f9d98a20a349d2bd1ea46ea73789972d69c70b99c3c2369347d7575fe87f7378ef76ef219b9e7b17318d9cff52f1daf7919bb9f51beb7ee2070ebefa9e878ec71ba0e44396f618cdca3fd4be82bd78c500202200002138600f4d5cd3e9546038fa0dfe87218dd428511ca5d361c970265d40c1f610f6ab82a91aa8e7346a7ddb7bf92489efa606a34bf4a7a7827ba0be774d3a676d47d47e28a144ba383a503dd8d657b0e7017410a058ddfe9196dad1d469a298cb6aacda099e9e9383abbd18ec2c1aee6f86647e9d74dfee173a294f22906a556a773234c5de5d9f3d355dfd6578fdae6eafc8feaf6ea2bb8c967e48ec6ce61643fd7bf74bce665ec7e46f9deba83c0adbfa7a2e3b1c739422046febfdd9501d7ffa71ea1298a4000044000046e3202d05737d9840d0fb7a98f2dfca6e01192b9b477840adf5d915aa5f0327bf7098e54d2719d39dfc6efeb951af95557ce1efed3690f89b5cc55c7fb121421e778f4e7cb45fd36e455c6e3d1170faaafb38b8264fcf7ea724bf3c82e47e43072d36b2a1db15ff7f89b781190c841258f165e5b55c98131bd29fa2afd8fd6ff3594bbc767948ec6cc61143fd7bd78bce6c52d3f237e6fdd43e0d6df5376ed569cee8582da200002200002139100f4d54d39ab9ab55b9ebc2f3132c4df532261f9d4631dc4dae776656b62656c32759d38f01f1b0a8ac492fe3ef9da6d7b1f4956f1c6387d7549deea676a13d6efdff640cb3b5b37bc6c7e702b616de1f33974eaf59c4dbbb9c9a0ff7e434f9fa9bd727f4ede4e6b2763ff0c9aa5f0b7d496cae744934e94354e1d28927e921e2ba57e7e30cbf8d5e76f1e3c665f4bbd34232e2a629a8f844c2643df406feba97d874e0a8ff12c5187fbfb88358d5d173f78e3e008cb510a852234d08f2b7bcb22140a6f3f3f6aafd1b1d6235267e624ce0c10fc0c18bbbfac3c76e8981028efac4c5fe877565b3523317ea6b997dee653bbdf1b1298d0da969a1abb061678f674525befe5a1ea3148adb927312680e3e734606cd77db6af64a407cc12d356cc57864a59800e181acf7d7a406b51234e385478e6a4cfeffff26cbd6476dcdc60eec0d071b1acf0a0ce16d51833aef82b129dfb0f5228a5de533d058dec1b18ad20f2f3a2eef69a263350a77d2a9296a7c7060bef901e1818f0a0f6cf3f3e704c27d4743a8f57e1dff57cb9e2a94c4cfde12d91d3fda453ae988cfd03bd5f9d2d3c29f9c9bd3fe8aa2cb3c4260c7f21357f56582175f5fd1ce17be2b45ff73838456935baf85e39fb3ebb9a47b32b177ec8c9f7ed78abbbf3eecefcb6c7a4dc37d7cf50f1e1bee3d6bfc9caa4e5290be4cd273e3c74d26ab20edff6e994b3f37eb98debbfa73687839911bf874ef88cf6ff25f1df9b48adf949a2cac7a3b7a2b8f0b8b77bff1f1b8c0d391000011000811b9500f4d58d3a33aee3d2e4ed2a5819cb3fa41baacf5e9e1a113b3b58acbb6adbbb8f27875157fde113cdd14b921665fd725bfdd94d35c42b5c312bf36388ba1aeabb426607c7a4fdfbb6cf57bc3f2dc4576698661127e4270f91f94a1461eccad1bf7788e58929d741392b098a0ef5f3a0ee8b67be9ebe40e91f3e6721d55438ab67b6190cddbdbdbc1ce227f7f7f6f3b6afa64ecdd144071019db5b5b077c0282fd7dbcfd655c2125292edc5fd2a56f6cb96498ea2f0ff6f518d2ccde05e7159a65f7abc515337f65c2fd4aa1b823b2b4b08c56acd184b236d05f6ceaf4983537421997badcd47de07893b7b754ea159090ba84d56a47abde2734d85b3a520fbcf9f1ed3fef10fc12eddb3128258316663cb444e941a6f6665d87411210a2f00b10e27795e2331e4950ca5827e91abb8266cf8c50df91d1d17aa8a2cd39076ff2914aa5d109fc253074b67749a60704cc5c92aad6958e698168300657fcbd7d9cfa9f1574875a2ee224e5e254a5d9516735bd593638f041e762ce60e8eded353ff7260df0f7f3f1b6fcd4743a8f9ad465eefa77355fae782a97aec85810ca93dba96fedf5f40f0df0f3f4f3216f168ad27e6b6ce4ede327f5f2e0ef9ba1cbd5f7d3dd7ec91d0ec319daddbbf85e453bff3e7fed7c1ef97be2c20f39fdbe695213dd9d1777e6b7f4789b2126583e3f31e9b8e51f32140b6222a492ae56d7e2cad5fc3aedd7cccff9df533bb483d911be874ef9704bd7fd0a6e8dbc2d79615ad692b95e34d078ea1f2c235372dcf9ffd86068c8810008800008dcb804a0af6edcb9711e59d4da7f13c4d5a57df9f76dd71245e595ec5929fcea8f5aff2316573dd5f969abd94c9a2d1f15a425642c27ebcfddcaa2822778394bf3f447059921d10ba99b9758ec52b735efcabfb57cec9fca7991acdebabebe70e45cb85ae9ef1f3e33882a5c2e6fb49d7caf9097748256accd0eb1ef43b174318bab81cef2f7df14fe493b68e963d90bccdf5a65801fafd6f4b6541d1dd309154d95655afd8c39710b66fa77359e3959d72595d2a52f6b14492b585c19f467f6bc7d44e8569db6563337627ea2e2f87bd628bacf1cda734417f4f0baec600ff30294b5606c9f414be20571a53bbaf3906b7539e82a2869218b2ba3fed0ab6febd8aa4c5d9b111d71cb3cd293730ec2fe5021b5ffffecbd0f7053479a2fda48b6852c2484249025ffe16059c891b1b15771ecb183b22e4f8c660909cc862c2fc9bed984652bb553b929eade1bf64d4d5526f725333779a94a4dcd9dadd46666325c863c3f92d9c012760cb32ecf2a316bd671ec18ace008c301631b832c1c0b59c8b2c4fbfa1cfdd7695932020c749739ead3e7ebefcfeffb8ee84fdda78ff3c4c1ce41a4b6eeda6196a9c329377f29a323097f02ffa1cfbba695527d6d03a3583676aa67c4832462f1f5c948b409891cef3f8e3d0c45ddbc6b47758444d88f9eecf9471826fa8b84e7d8dc269c5cf94e75eceb66e3e22a626f985bf494844f442a4299c91decce0a8718fbe49a705c11e3f9d8359e414a9c08f381271505e32d7bbf67e75f789bf8c6f2568dced4acefe986fbbda6a6588a7c13dff081938c019c93fc3b3896ddf783006bdc44b497800fdcb1e9e4ce0756d5d91e6f60c42870eec4a1e3f8eb302d3d412bda4c11a008500428024b1c019a5f2d710725ab57d15c0363e7cb9ffd6f9c5c415959101ef26f282e84d342d3ffe8ec84e7b182a81096020697c372b8001078befa1d4eaea0d87b59ff16d3aab2cde8143e4d2944fe29940b36ac2b5d05732aa3830e343e79c56fd449d754ea111e33a52b786de3cd3802669d0e0c991e1908af17928845e1abecc8e8b4b65c69b4ee307cc77b75ecd2e9de2e27317b833e534ec7947795b9ba14f9dd630e07cbb369b6c2cc5868e29b3361ae8e6fae35976bf2f231705cd3585f271e7fa3a9af4e9e945e9f0c9365f1518697167ac77b3349ae80ad5681b3e57ccde3bb76c1036a21940f802ccb2b60d6a90938e0c7d842334e9c5c41012238c587c59564fc818b20ffa971e7d438929beb81e0dbf3838e05dc9aa84ccc89d02eecc745f34ff6977683209eea3215b8d8c3f673ce05dca27195a86af299003e3c49867213f8250815c621813ee14438aed6e988f12ce8478484f990eebbecfd226c17998ff30be7469b59b3bea1b9fb93ee96ca52b811cf7fd59b607afc09e17e21c5557cd74cea243d99e6ecbf97e0b694e81a1a40accfd1b9cf1efe2d42189f4c74a33414018a00458022b06411a0f9d592758db062fa22395cf87622329e95e13c0a7608ac582d87caeca5a1bef39efcf0c2ab3cdfc5d3b0361006e813c3916caaa2628d04f947ce1c43e8ff8a9720c3e378d8a880c43f9e36b37a1d2cde83ad370c2dcf96dc5c26c3e37e49b1c988c6d34d719038e387ccf812d113ce068fb7bbcccd960d8c4e25d732262d5356d2b92fcdf234e88287da903088c300415d8cc7d53703be6866962f5a169fe105be1d0b43edec27fe86ce71251cd45c3b08c9aca86512b035303339e69e8b582d0a4c435e8719455af0d34ebcbf78aec1393e190ccbc8585a663a4160a4e7cfc39a29b364ba85fd9805ff647fa9eb2d8278cae5184fbf6726ac4d41029e31150b707c6490af662a37c639a5b6300ef15d0871953e9e05fc48e0c38b22c55b5891ccfcb2b05d897c58fb572e63ab465bd1680e96a8c4a199737636def2843af97e59ccf74302ebd493443de1ba203e447bf16d190a8644629144ad332267f89b90489faa006da1085004280214817b04019a5fdd238e8aa9895db672b59e6bb0bcbde7313ef538fbe5b9d9171f2e5cee7ef5d55763b450b3ece54ec3ebff7ef0c3efc2a492eb1a8cd755dcb66f3eeeaaf517ffdd86d3337c22cc9f23cbe2a0ae2f51c0f48bdf372fc283901b5ebf4c2651ead6a1e88245186b9076308f6fe7cc0bdce05443cc534d0618a54437ac1b7774c31f5e24647bbc96519655d62327f9a76e21f527ae78cc1a957e7d1d7272e9939adb4f3e108ce42ba2704e26d437a3b6a96bfe20924bd7d430a88b15ee118fc3d4983b6029ce17fb3a3a3ae2a919ab194e493888169551c5cb8d970583c08453c84809fcc3933ed1457449dd323e25f9317bfec9fe22e3b901b493c8f8fd57f4b6e6f2685c71d914ef7f66eb26230460727e95820f9ee44b1c7c93e4a687848483402f425ca58f67013f12f8f07b9292e22d5bbf90ec22f0094f61d55a6b01fbd1af0792cc8f8fdbf43893e426315cf05440cfacbf97ae622981c93f76ba1e83c7feccad4f050387bb595e743a3d19739d22d03f184ec6787a7aa408500428021481258e00cdaf96b88392d5b30f8cf8b7198a5a5e7cefa7352b6aad8655f8fff9e03c427def768d3cb1c5b0e978fbbb1f1d3a8974150dd69632eff1b6777136a2b23cffe3bddf533fd4d068d2c0ecd5af5f7e9fcfbb0c6d2fff34df566e6d598b67c57021f2e72f677cac2c81658c21f6f37dc7c30303e333bb5b550a6dbd1af546e68af2e5c5ad2dad6234d3d7156dc302c4321db4a3397767773febba1e421a55e5635b9757ca4b19053ff304035ec6bacb56e99db8383a39e99945326e6bbec06cf431b24c1575da9d8f981be4a50f6f6f958cb8c5953555b09a6ffadc300b1232e5919e8efdeaacbbd5a432d95e58e1fce6ea0db17a8d5e3ecfb61f89ed439880c378f73977a549c5bcb073cb69c72892ab4b987265c0f9c169020e49c21347f94917934e13e4c65d8bc73fae99ab26f2774df9904ab1ee519be7ccb85c6f28124f1c4cdcf831b97bea795a3fe6803f09cffea9a059252fb73cd55624d1312aee2d6ddc6ef3584595b1a94dbc5e05c8e379d7e4920e9f282d49ee417b9424a192168704caf00929ae48f19cf8485ecc8f043e23e9e22d0bbfa4b58bc4273c850537bb7fb2bf3ff27d114121216e4938ff27cac9f7032f5340cff3047cc8f6e26f6a513e62bbf7d965bbace5baeab6ad739f1eb95a914e4f75fd73360b7c371be4818f23c9580406fa4911a008500428024b1701f8d196967b0a8163af7df0d90584e41b5b5a0cab663e3bd4e5828484b3e08de75fefb9e091af6d7cf195575e7c664b5591787c0428717eb5cad0b865db1648ae665d43effdd7e70f416bdf5b9f7ee54285252d5b5ad616ba8e1f3c7e0d286fcca114fed05e90751aceac514960c3bff3b15f5d9d175d305726d397f3336f3825441295d1642c37ae5371faf38720e44e520db41bcd06069a1c1d43131e24921697330ab177f8c4c9c90012e7c130c5e5f6de54ea98eada86a6a606a3561e9819eb5d78d33c3c33139b9dc222fb0f743a3c41b1d658dbd4500de3ec6976a0bd2bbaf95ef2d405ee916571761d3ce9740591a4d8585d5b6d2ed52aa579bcc78091000e5d073b47a7fd1265a9a5a9c9526dd2ca459ea969220ef06e1efcfee8c88cd31c6618ff033f415901b93c6532fe69f93b3a7bc73c41a98a011f9819ad34e33889c19ad68fd9f38f318e1a2e8ca7b3f30b761a3f10535eae92fad96116a213ef363f6e3f33e145f98a7253b932dfeb3ce584f650145e701848888fcfb0988ce546d5e22ab16e697148ec143e23c415299e897122cc8774df71c2b3f04b5abbc87c9c8e51bc74d33d92f4649f40dc0afb37ad5c413cd3340ae849c2872c17bff28f9ff9741c3f74920d2051b165734bfe02df63fcffd08bd958278d3df4124580224011a008dc660496ddbc19bf9b40a6d2a2bdf84afc11de6d035ca0255aa025bece9fc231b50483f022c7101ce32bf3f3f37c2354f84bf147fed2d0d0d09b6fbe99a9f6f73e5d8575b3418a468e1d3b9b620b5cdaa097faaeb98f1db3472f565454ac5c0989cd785f5f420f8b75b326894f85059ded431516ab5e66b7dbd1b6b7ff63ef26d767ef6de5de8b156578872b6ac6a8cd0f4c865f5715275cad37aa94f0bc596056e0621cdd8255b5d10cfb08a2d969073bbe20f1e208d446a30a81aad36e36cd5ba222bcb1c98afc806fd6e964236d88884394e26e54f48c5159989f3974fae6a79facd6b81d9d0723cff8a3b47ecc96bf2006243ce185d36ea7738adbd250e476bccfcd2f8144789d176e17e4954da3a05c9e41b63810c40ac6d522e259804ffa78cbc22f59fb979bee5e366dffa7f6e84f1d04f3c3cdc238a7959b9e61ead5547b89f8642b974caf36d6199541672f79e7d55445690b4580224011b87710b874e99242a1108944cb962d8357bac2110a9c820550812364107cbe00af7879e79d77aaaaaa800c08e09854f2f2f04b61e1125fe1eb3c0d4f0fc7d4c28b83762c982bf17568001da025aa0fdfc21fa38d50492a34bf4a02e4413fb5ee6d7f6bdbeaa19ecffb1d5756adabb6b66c94a3d9a33f697d0336c4a08522b07804f4565b8dd833e513ab8d264626f63bfee503fbed4a65b3d7122feb3247f3abecfb67de6369e390b91db785525dd75c2509229dd1a495895d8ece8fa319f86d1147995204280214018ac05d46e07ecdaf325ed07397f1a7e2ef1002e3c3a72fcfdaaa1adbaa1a3989fe6b5ffce19f68727587d0bf9fc5141495312a11c399189c749c5c42c915e8343707eb2a45021b57e4dc254b1b879c9b9b1d4395a9daace4ba4c8f0ed0e42a3bf028354580224011a0082c1904687eb5645cb13414397be88ded87de80e581065838e8731db3f72d0dbda816f73a026ce7a71d2a59212c909cccc5babb1cc331deb3efbdd88e2339669ec06e69e390a0ea9d3f71da3b90b210ddea6adf3baf38954811a0085004280214813804687e150706ad461038db674f784e2bd24e3f29028b466021de7c5300004000494441546a9cbdf5c799162d7de974a438a4f1c538eb5c3a8b46d3e8492f5104280214018a0045200d02fcee446908e8258a004580224011a0085004280214018a004580224011c808019a5f65041325a2085004280214018a004580224011a008500428020b2240d7072e081189c0bae7f5d6b9afffe597edb97d42c9f2c31f3f5930daf9eef9753f6e2d478100cacff77eddf96ebb9da447b8bd62f3debf6e729fd8ffbec09eed0b74bdcd97f5e6ba628504cdce5c1d74b0b996656cdb5e279d711eeeec0f7366ea5a0c2a780314eca6397775a47b70d11299e65643f0ead73d83b95dafa46f6c79483c3dd27d6d55767aaa8dd6da32dfc581de1cec199e6b27dc0abf9cf9eb5694c861df887ffbd91c32cd9e55ca7d416271bfe14fb293b65304280214018a0045e0ce2140f3abc5626db5fe655b1b3205729c5f59bff77f6c694317027dfd955bda0cbc72415360e1fc4a5fbfb5aded52e0c492caafccd6a7be63d6c17ba5f8526f3ef5eb8fbb2367b9f8644a18ad4aa435193bfbf957193365f06ae2f0fb8a43ab438bcfaf98755546235a1dca717ec5986a4c46341d1a1b5f9d9d9ef2924aa3712674f1aee457c67a789975f0cc713b9b0ba7c5f3589cbf6e9f3ef1ba2da61ef16ff71dc9af8838a4dc17245b16873f891b6da7085004280214018a00450010a0f9d562c3c01bf043d7f9c062fb93fa85d9dadf7afeaf7f8f90e1f55ffda42d9889144e9f4c08498273deaeaed9f2a8592742c189e101c725bf6e7d65495e30c752d8f367d815cba747f8e40a98b3f6831f0d21a46afd7eab115e55bd78717341dcf9563808cb0eb3cd5a4f4e9fdcab23ac6472ab6e5d05a35ae667ec2c9b7ce916cfb3c6819377fbf4b9457310ba4d6123ac17118794fb42b87f0eef179200da4e11a008500428021481070f019a5fdd92cfc591de1508e566c3bdf13960c9b33d0b1c57cec2283f2a25224df89323f3095fbb0badfac68da5f0789fcbf1c7c3dcb487d339781bb460ed1d6c12db29d8a54e1208c1eb8c922e647f1ae5a04628377bdf7970d6c6b3cd564fae57cef3f98c4009c27a4b481d32a2cd9a285b1cb026b7539fac0d88ef10e7dff8e6db5427e320705f90745804fe2456b49d224011a0085004280214014080e657b714067337f27ff8fa6f77b4992408792ef4bcb1738f9de3b76dcfdbcf3d6ed1ad9220bf7f6636e83e7de0f9ffafa0fd673b6efcc747ddf9cdcfb524d35b77bffe777f515fb25a912716439a34bb9052bb7ffaab1dd62a3990063d5f1cf9c797df3ac4f7989f53ed7efb77cf6d32803eaee1e37bfee6353eeb13d0e7d57d96ddbff8d9ced51fbd7dc8fcb7ff6763c92ae070edabdffdc54bbf44d6ddefbdbc7d23d7028db3977b5eddbe27eb87ccf4eb8a6408f9274e08ac29336fd9595faa9402f350c07b71a8a7a3c759bff559b3d43de15f5dae937946071c37ca1a8caaa087fde7aee9cddf7bc8fde5e7d3daba6a4605167b5dce7ffdb8734adff8ece62a099a8707ad0257befef068462f2faa6fdbbe81d14a205309f9c7ce9c3c6277f0b8918ef3017163ebd3d5460dc8f54f8f76b51f65395273b3adb6a27885540cd315feb9906f72e0e060dececd1be62f9ebe205e5b5b9e4ccfd4b73eb2be64a54cb24c2402e10b2649243d43c1c27adb33b5f13890f4e9e88715a39b6b64a7ed8e35f575a50a8cb66f6260dfe11ec4d43fd564d6712dd018f08cfee1c051e243666a3d2329589e8793bbc255463d42b27ce4753bc7b9743355cfacfdc8e94f3a08e0dc3b99953e987356f672aa08c8cd957f216e05e3992497e4c7cf2f0ae32049775f08d8d5117970915320e1903d6e09dde9094580224011a00850041e5404687eb578cfc3cff9f2aa2dcf5721cfa591cbcb756bd736befcfa36fb6b87b6bddebeb76d2d24262343a7e75796994a5615ea8b900ca9e47279db8b26c8c4307d4994debae7576f3d530503f84bc3a7bf5d5e5cb556935ea71fbcfdc98b9b8a209ffbec8b096353e3c3dbfedbdb174ebfea4430f3657a662fc7ff8267f55a8da9edff79fbebedafb60beb0303e5157279e1da177ff20a88be3034acaa3215ae5801a27ffcf7cf6d2c915c1efe62f08247515c6e52e741a2946dd19769f281afc7953270376edf65d5c218dd353a3e232a2b2f666a5bb706bdee3c8954c59443c2150cc94b6b1bf042ab9058aeab5c392bcd97300dada0807f66fa864c29d3186db6ab077afd5e9f0fa631642a4581ac2013f5ea6ccf591839e449ec9847bdb6b4d8fca86d7ab26390382f05533612ada9560b72dd1eb15ca92c6d6a35b39d0e73eb4eab510989897b723224556a14d202851c1520a94422315ac0791cfdca283dd3bcdd56ad0583665c93be3c8556b9009cc27abad03c429a6a2bc73f0e878e41617d102a289048f29596d626103d3de9926a3505120c544b63ad4e21f6b8c62e5ff32f57a83485a234f0595b9f30ab70720505bcc070959961f4619753504f4fb67eec20ce6a0ada656dadcf4a1ff06f56f6827d827273e6df8202e178ced28f44bf0c12ef0b61bb38870a1eb2c54d90096da4085004280214018ac0038800cdaf6ed5e923c77ffefc6beda8626fe7fe6dab0d2664d9f3f7905c052ffde6951defc3a44fc59ee3fb9fc1e3576f5850327dc5eeff8e93ab6b07f7fec5bbf6387a925e153ffc2b48ae6687f7b6fd0d9023ebeb7f7aabcd62db8a224f200d1d7aeb6f613acbfae33fbdb565b5b1065974c2fac4f8bb0eeeddfaaebde2b7ffb1df9407399195590db35fd7060ffdfcb5438b5ff358200656c833311693c3d5f48d1b20b9f2bb4eede737ba30b7edb696176fa89ff1e0cbae81e317b48f597452dfe8894faf18765834001d5e9a86d0a4c3fe094c37312dbb6d2699ba084d1d3fdc0e3fbdabb7efdeb19a2358e0a06eac81e42ae0eaf8e063164899d6dd3663f1fa4a34d89dbea3db79e260e720525b77ed30cbd41aa46f6e80e42a34d3f7e987bde320bff9851dd5f82ec2eb3a7149a657d76fc2c995ef54c7be6e368e9e23163890f47485699371d0cb85f589b1f69eead8dfcdaa9f7e69874604f3708c520647df65c7894e0731b78cf61efabc6b5a29d5d736308a6563a77a463c4822165f9f7422829e67b89e59f81111f22b02ced9ea8306c7b2b2f7b6fb778e10cf59fa71c84ef0cb1412be2f0878461d9d52c92e4e52bad3068a004580224011a0083cb808d0fc6af1be87516af0d2719c5c4159890f30a365b56e942374a1f3004eaea0ac2c0032be08d25734d7c08cc4e5cffe374eaea0c4d1f3bd928f1b8a0ba1a9d0f43f3a3be1c1ac202a846428b81ca64402c0dff3d5ef707205c5decbfab79856953d6fd593f4e1397ff19b9f70a2cffebfefbdb7eaf26984fafeede485aa96b56d7bf7b7beec3ad377f2a37f7a63515bbee3a775a42ac87d585e107f5ca783999fd0c437fc381c21c737d79acb3579f962782829e4fea2872d7eba159251c7d14149f37ae8025c443023343180932b28eca56b4193a65069447c4689d748dee459a73f6a1538cbcdd73cbe6b17168540225a9687db4805e486669c38b982022873991eb34e07d5e991019c5c419188818c2f82f4ea32bc4cd2c3f677b31c551c7db85bd20751cf20f04fc5a1761d6c7d2fac0fcf78acaf93133df5d5c993d2eb93088d8f8c4e6bcb9546eb0ec377bc57c72e9deeed4ab3e5fbd4b8736a1cc9cdf5c0eddbf3830ede6a383113f09c5f9c1f935040249cb3d607b159d94b920bfae5c6bf8478ced68f53e3e3c27e0903997c5fa4b12b19faf07976b81198d0668a004580224011a0083c8808d0fcea96bceef7263c2a054376be48f0e40d573438ffc13b0d7225955e5f04e90ffa7622326e9525d087bbc57d54ac9603c3d94b437de73df9612979be8b90179940fac4f0a9306d45c51a78f86be4cc4554012d247d30a72ff944101ddbb78fefdbfea39dce6d7bfee6696b9da1a86ad396aa4d4df53ff98b378ec5299141951d9b0a546ba5724512ad18e7233703bea9487bbe68199f21e1e12b3709043b0efaaec2f2b608055cf0b82e87cfd46a987d09baaf46a6eb22440b7daa6512c027303339e69ec38fb8e1220a4c43be91ae04e7121e95024df812e1809f4602663895e44a2abd1cbb0bd649ce84290a12e8c38d711f643d3582384c23d87a0391f4018bbf1d0b8796b33ffca4cde0f17697b9d9b281d1a9e45ac6a465ca4a3af775650268d425300f47c25307f196333f92ede220cb441f8416612f49eeadfb17f4ce951f6351138743ac51a846b24b887631b809f2a18d14018a00458022401178d010a0f9d52d795c9c8a1f37d6f17eebe6f85adf7ba5353c98e7ce05e8b92d4656aed673d72d6fef792c9e9e572e381f597c06bb147e796ef6c5870b97bb5f7df555fe6af868d9cb55c2cb107ff0c3efc28615ae6b93a800e757247df0de8430bd9252fa0ebd0b7fb05af1876fbff1fca6b54d4fec46c7de4fa14adbc04e7b8348a930d86a3ae31fb199b8e2316b54faf575c8c90df7d56ba430de0c0413e6a020e38a2db8e3a58411a86b34c0460d5edff504d9846dcbe3f7679f1a73072cc5f9625f47474742dfb42778338aa4c2b9277083cfab99a79a0c4012cdaf04e8f1701a49647c9ea9b73597c7d3f3bc33d2536fe588537010e3fc8aa40f1ecc0b0dbec71dddf0075952a3edf15a465956598f9cbdbc3282c7f0245d2c0c1109cfe6a79b631cb2f4633c0efca69924bb32d78757260b7b6f837f6380c46ab9f1632a0e3109508bbf2fd2dac5f74ac09f6b4a871b63ae5304fa0733c9cb1394a22714018a004580224011b8ef1148cd0fee7b936f8f81912cc53e7c25884c86adfff08b954f14356c2ac18bf9e035592942a3f40323fe6d86a29617dffb69cd8a5aab61151e070513e90bf596d77ffc7a3ebaf49b37de3fdbf76ed7c8135b0c9b8eb7bffbd1a1934857d1606d29f31e6f7b178ff25596e77fbcf77bea871a1a4d1a98bdfaf5cbefdbb71933d227aaa0756fe75b5baf7e75e2e4a9a18929b44685a75fbceeabd1eb195706eda7d63d59ab639a7e602bec3f73d95764a8d4e55ffea4c3f988b9415efaf0f656c9885b5c595305f9d2f4b9e13978b4894b4552f9c3f357d2e2ba16aba9704d49a94606b3577d47129201b14cd7dad28ae6dc9ddde1291a9e49bebc18dac568a6afab776abcfb9cbbd2a4625ed8b9e5b46314c9d5254cb932e0fce0a03d55a2404b244b615dd74348a3aa7c6cebf24a7929a3e0a710f947c4e2bb45e927a6826695bcdcf2545b9144c7a8703689b8ddc563d419e9f9397e6e271507d6acce489fa834c6bacb56e99db8383a39e9994532d80211d2b3d9705a1ea54aaab8a67c48a558f7a8cd73665cae371489270e1e15c6f31b0c05b631b508ea1f4f168f437a9c33d7e783ff4459d99b5e6e4cdb6cfc1bebc5d50471c8da8f1c2b211c621b69c6df1799d8158fff54fa3851d73f67b3c0ccbb411ef8b89b4d32909e5204280214018a0045e00147407824f480839299f97390cfccdd88fca4ef9d83458078a2e9d0abbfffea3212af7ab8655389c475f4e7ef0dcd22c97248b308f4c75efbe0b30bb013e1c69616c3aa99cf0e75c14606dc6fcdbc16982d921bdab6b4b5d81e33706d6f3cff7acf058f7c6de38bafbcf2e2335baa8ac4e323c001e757ab0c8d5bb66d81e46ad635f4de7f7d1e3f8945d487e3159b7ae14fe1c1ade1f3aef9b51b373df3fc4bafbcf2525b55d1eca52f7ef51af74c578424c3cff19ec32786270348cad436d96cadb5c662d86a0fa1fe039d0e4f50ac35d636355443be31cd0eb477c1b35521140c00e7202497b1c92c3c5ac7e35155a9c96c82e42ae09d3c79f42050474b105fd6184d46a3d9c0445bf91455a282f672e33a15d7de75b07374da2f51965a9a9a2cd526ad5ce4999a8ef548ae61c6f381c8d4d41cce79f10ffc8e8ea1090f12498bcb1985d83b7ce2245828c6fb8210e89d9d5fb02045a22b2f5749fdace31ca43271771d974a67a6a7300e447d787ba05362615d6eef4da58ea9ae6d686a6a306ae58199b1dece784413e9b9334767ef9827081b3c421f33a395723fcb10f05c9c1f5370486b5716fa646b2f51eee2fc2b00666efc48f60b2f32f9be20da1526c73fe9c4c7e142b8f1318c374ca185224011a008500428021481440496ddbc191bcc265e4a7716edc557e28f21eec7796889166889aff3a7704c2d41d8931bc6b05c8956e6e7e7f93a54f84bf147fed2d0d0d09b6fbe994ee33b7badc2ba7983d477fa98fd6c6672811ed6bd8d1ccb6223092c422ff55d731f3b668f0aa9a8a858b9520f7b18f4f52548ce561f5461d96c28954a91cf9db911512d922afa9abae24289d83f73b9dfc146aea98d66d84710cd4e3bd8f1489be0a7debaeb49b3d779a27dc0a597f8e1a97e41aacc1bd58c51abc80ff8669d4e36f35e499498497e60d2c966a80dd0abf2616bc1341b49244940827aaad56a8904a60d3c493864ab0f52eb8d2a253cbf1798cddc08a4678ccac2fc249709ea996c0c9c2fca8fe9edca429f2ced4d2f37d53aa0cfd4bf6971c8562eaf89200ea94a424bd6fcc9b8a98d754665d0d94b7ebf81a006b491224011a0085004280271085cba7449a150c0cb41972d5b06af80852314ee5da1082a400819040cf5a1f87cbe77de79a7aaaa0ac880008e49252f0fbf44162ef115beced3f0f4704c2dbc3868c782b9125f8706d0015ae0c8d7e38fd146a824159a5f2501424f9718027aebee27cddf3a3a0edad925a61955271b04a81f79b4280ed9440da5a508500428021481fb1b81fb35bf8a5ba9747f3b905a77cf2200eba95256b9ddb3c63cc08a533ff2cea7383cc03701359d224011a00850041e0804e8fe160f849bef6123c7edbf7e2fb600f21e36e401579dfa910f008ac3037e2350f3290214018a0045e0014080ce5f3d004ea6265204280214018a004580224011a008500428027704019a5fdd1198a9108a004580224011a0085004280214018a0045e0014080e6570f8093a98914018a004580224011a0085004280214018ac01d41803e7f754760be734236fff4577fad1afbe34bafedcb4c66b6f499714da0d29beb8a1512343b737530b63f7b02c5837ec2d43ff5c83adff9fee3bdce7b118a9ae63643b1323f14f0fb669c3d9d8ec8a6f5a4f6041b99ba16830abf7159249abb3ad23dc8265c8d9de81b5b1e124f8f74f7f304c6b6ed75d219e7e1ce84374ac7c87351cb48ff5c085a4a3c92704ea79a103e39f74b16faa4d375d1d7328dcf450ba01d290214018a0045e03e4480e657f79753adf5d62a83b82a6ff36bfb8e656219817ef3ee1fb7ae0b7cfaa3b76e716709b3f5a9ef9875f09e2bbed49b4ffdfae3eec8d95df834d6c34b9c83678e2fadbdde99b2753a950ae595a0c5e65777d12eebd32f983512f0259722adbe3e14ceaf48ed495e67cae015d0fcfb9f51687588985f31a61a93114d87c2f91553c2685522adc9d8d97f9b52d20cf54f32e79e3f4dc2996c8f303e39f74b66fadcbef8cf343e1381ba7dfa24caa16714018a00458022b04411a0f9d51275cc22d5b2db8f7ca65d79a133a3e40a6410e86b1ffbee2643de8cf52dfb2d2458ea9a2d8f9a7522149c181e705cf2ebd65796e4051769578ebae9d65530aa657ec6ceb239e2980b36ecd0e9732b0d372e0c2f9ad95db34bdf6cd44842deb1aefd4720cf51ebf5887f5b34a93dc542d67ef0a3218454addf6f35c2abc553ae471b82f85a94803d7f865db17c7ae43625572863fda3fadd2f95449c495691f0c9bd5f32d2e7f6c57fc6f19980d4edd327410c3da108500428021481a58a00cdaf96aa6716a997fdad57b34a8984e9e7e661341b0c2c5207be9bbe7163293cdee772fcf130375de4740ede12bf5c740ec2240b18960b56b9e431e5387ec4712b0cef965dea62154c4ebacef5f179ced4389f5d2152bba08d53b09e501200c740b4108b073b2d8e80b577b044e25bbe9095feb72c6d293148c6595837323eb9f64b66fadcd6f8cf283e1371baadfa248aa26714018a00458022b01411a0f9d552f4ca6274b2fcf0a39f7d7f25f2cfa33cefd0e11d7b7e196662d9ddfeb31d37fee3a3eefce6e75a4cb090cb73a1e78d9d7bec24fa0a8b75a54cb95c0cddd5eb365b10d248916be458dfd92c95d2af2b9221e49b3821b416afbe6dfb06462b81f172c83f76e6e411bb03e9eb776ede307ff1f405f1dada720d88f74f8f76b51f6539b102f4087a6cdd5c233b6d77aca9af2b554881d03731b0ef700f54cccdb6da8ae21552310a06fd7321dfe4c0c1de494652b03c0f0fd10b5719f508c9f291d7ed1ce71e1612e4cf494e39e81b9ffdde43ee2f3f9fd6d655332ad0d3eb72feebc79dc086ac8f79cbcefa5225d63014f05e1ceae9e8c1f988be71ebe62a0d7e777228141221f7d7ff7ea487e5e591f4519bad8fd79b9460179450c0cd7e79b02f9d5d3cb7e4233ceed564d67188c1a58067f40f078ef2899100ffe3f80127013c3bfaf57abd7615f81815c88bf5fa02990cb99d2cc681d00e6c047148562fee9ca96f7d647dc94a99649948049ec3093fe0bfb94a82e6e181adc095af3f3c8add8d4bdaf889f1b9190ccc877c574eb71fede5fba51e49fa67e5dffaadcf9aa5ee09ffea729dcc333ae0b851d66054053dec3f1fe8e0222e552c6e11c4599874317188487115c3278a332755905e189f45f945903f4826e92300855a9fd57d4df44bd7f466c27d2d2034d224e0af5c7dcf4444d04f8a004580224011b81711a0f9d5bde835219dbfbd3ee57607e7d16a4349e1ea15310a994a2597cbdb5e3441667569e4f2f292b56b1b5f7e7d9b7dbf30fdde9ffc7c9b811bbe23b4e9a59f6ce2185d3a8a76bc91e992435eb4be4c03331bfe1957784623a610aab33d6761e4903fb1631ef5dad262f3a3b6e9c98e19a9542291182d1adccbed11af542a4b9b5acd6ca743987e70aaa04022c9575a5a9b60466a7ad225d56a0a240520c7dcbad36a54c268dc3d3919922a350a6981426e6dad37abc2f31f4c432bc3e933338c3eec7292f8c7a91c572d2890e64b800334f967a66fc894328dd166bb7aa06390a08f71fb2eab167239d7e8f88ca8acbc98a96ddd1af41ee91d477ebfcfe7e39e5b92281532690100860b491f758ded2f9b18586fe99e60a7fd62e56abd4c99ce2e9e5beab1a5b156a7107b5c6397aff9972b549a4211460dd26921fed02e8827d25b9f78d2cc03aa602c4f3298c3744967fbb04eb8bd0b1171c05d050ad3bcdd56ad05e7ceb8267d790aad12e772009ad7e7836948994a5120e315e7fa1610e327954f9e0ce7bac285645797332bffbaf3245215530e497030242fad6d00338221b15c57a947dda9b704a78a30cec25a42529b6d1c12e32a151f5ea6701cbaaa84fd3b98b55f84f90f4e91f41144c2dafa4456f7b587e49795b3a4fb5a502e340afa2b67df3324a9b49d224011a0085004ee0504687e752f7829131dcfee7b6927ec1958f1ab3fedaf8ca7f7864f468efffcf9d7da51c5decefddb561b4ce8ec5b82f4bf7ff7ffbe50baeacf9e7b695349de1707ff57e7045a29915c3e9d5d7205220bc4385bf05c19c3e2d5e6d6fa329c6e4d8f7439d535905c055c1d1f7cccc225a675b7cd58bcbe129dc08450dcce13073b0791daba6b8759a6d62075a330fd60374f0f1348a73af677b3eaa75fdaa11189e1c9990648ae42337d9f7e08290c5237bfb0a31aa27ce8f3ae69a5545fdbc028968d9dea19f12089587c7dd29901ff881cfe730e4f38419974d83f816937a665b7cd24531721145dfd98a08fbe710324577ed7a9fdfcc61ee6b6ddd6f2e20df5fadec3e3fdc7dbf9ddefd4cdbb7654f3ecc9fa9c69aac3c9157be2fd8ea828b04f3f216c57985dea07a39441feecbbec3811dbe90f53a905f993f044e3435d76d79a75b5d5a50acfd8a9fe118f4482ae5d74a229b760bbbe713b1187541db13af59b7072e53bd5b1af9b8df9114df51fc6a8a9b7efdeb13abee35cf824257e087ce2fbc6d74976c56832f2ef8c0777700d1cbfa07dcca293fa464f7c7ac5b0c3a229884b09632ca14688db049af8932ce39018576373c23813ef3b92df51967e21dcd7247de26d8fab677b5f9fe1fa0af805e683b94be4fb3a4e2a5409feca561f14fb1e4be44fcf280214018a0045e05e4680e657f7b2f70474d78347e713db61341dbc741c27575056e243dc0348c9f467fb8e9ded43ba6dbb71277bfba13e4cbfa8828514c80a715f89866118c8af42d3feae997c3cc2ccd73cbe6b173c4f1342f9a0deb23c680bc2644868c689932bdc051ff08847ab20d0630228637d9d78fc8da6be3a79527a7d9259d7045da747067072054522e6e758a6c69d53e3486eae87b66fcf0f3af8ab70625e803f66925880a17f6200275750d84bd782264da1d2c8af5e4bd167dd86cd60c7c437fcb80e21c737d79acb3579f9dc5c4c846f44497c4eb4b70c2fe8f38ef7c62557404eb42bc23be5931d199dd6962b8dd61d86ef78af8e5d3adddbe5c44bd684f933eb7482788264a763cabbca5c5d8afcee31476ce77de1f6662bcc282e84439caeea32bcbcd4c3f673ce8df931422287b0b91939e13fc12fa9f1b3109f4416f84c58ff285d52bc91fc2bc6c1edfea2872d7eba15dce6383a28695e0f4ce26ebd284b5c21e39c40167f92551c22ed06c1fb485da612c6991887e9f1c9d42fa43827ea136f795c9d18ffa4fb7a9ee817129efcb38571327195e4afacf549e24b4f290214018a0045e0be4080e657f7851b1732c2ef9d8d2781b16946252109c8a84794881d9b0a546b15da324829d0b8fdd7ff82763d6986fddfd4b215203d303339e69e1387f51005a627e1392fe81b9cc38fd8440b8c78d43209819ea70a7c3b164e959cfd7832885983db239cf15356d03d79508b479ae1b210ff085ddc2768e5715d8ef457c36c50d07d1506610c6e4ad6c7ba11c86f067cd1876ef245cb523283302ffc41d447cd659cc02c4d89b32b0dd5e0f17697b9d9b281d1a9e45ac6a465ca4a3af775b9b91e04fe243c7981226eae325e626abb18e7b959e02097637bfd9e9930db02213fc68be4eaa9f1b3383ea9fa474465ee5fb037c44daac1a4a3ef2afcd6106191e69384b360171090791caaeb2d82f7915cae06e6a93813e39053858c8fa0a659dcd7247d84f926b5c6414cd45f5741f20b09cf2421f1a70bf82b137de2d9d13a4580224011a008dc2f08d0fcea7ef164bc1df391c5529146717a3fa7d017f0f491b5851136d97cb2d3de2052ca4a6d35ea8ec17076012398a93177c0529c2ff675747424b0d35be1146f62905888f4613251f2b895cbd90237f87c9279aac9002ca3f95578322b0e9e85f8276a133b0bb3a86b34e05925dff5c895647d26ae78cc1a957e7d1d72726b01d56ba4a05080b83723591fc61f4472e99a1a0675b1116991cf54bb2257843fc71dddf007d95ca3edf15a465956598f8e5c15e69f164f61ee42ad99e090b83f3b0e05894cc131d3db9acbe3fd189610ddae3d2231357ef84d0717e013e99ec167a6fe4d985b838c1aa1b8a01392b3489c338d43525c31d60da04d2a3e247a21d553da32f00b893f499f1419090da9f14fe2dffc7473aca7805f4878e24e09f199d65f99eb13538631d72902fd8382b365312a5aa3085004280214817b0281f4e3ee7bc204aa64320292351b5ffff1ebc87beeb577f7255f139a924aa51f1e712343c9637bdebefce997457ff6ddeafcfee7a31b122673249d0fda4fad7bb256c7343d692bfc7c7006960772ebfdc6bbcfb92b4d2ae6859d5b4e3b46915c5dc2942b03ce0f3e4fe413fde997447fd09ed8217cc6baae87904655f9d8d6e595f2524681c5f282f1a76bca87548a758fda3c67c6e57a439178e2e051823e04fe3c3369715d8bd554b8a6a4542383d9abbe23bd98bb5071da9d8f981be4a50f6f6f958cb8c5953555908f4d9f1b668588711bd9deafceba5b4d2a93ed8515ce6faede10abd7e8e5f36cfb11bc819e905db85da030d65db64aefc4c5d1c949cf2c92715b11066621936685f98fa4c353803fa129131cf2e5c5ad2dad6234d3d7d5cb4e4c05cd2a79b9e5a9b622898e51e1ac146f05125fc4321dd0a33977673797bbc65f8bc44f267ce2fb655b27d935078f0ec212c18c4bfab815640360641e87c4b8ea27e04c8e434165e21b33f14bd6fac40b48a90bc5bff07dfd0d0e2161bf2c8867427ce6f67b465dff9ccd2247c8200f7cdccda6d8471b280214018a0045e01e4340f87f9a7bcc08aa6e1c02f8cd55ab4c6d5bdada9e6ab1e2f6396898bb11f9f5dc3be787f99cb809ab147adce7d06bbffae2b27f9561d34bafbcb26d53950a7282eccb78cfe113c3930124811df39eb41a21d3e1a3adeb60e7e8b45fa22cb5343559aa4d5ab9c833350d4ac1f8663e10996a9a83ad10c33f1813e87985f07029a1383a86263c48242d2e671462eff08993a081388f4fb390a3b377cc13848ddd1a9a9acc8c56cafdbc90967f026ffe048fc354a526b30992ab8077f2e4d183dc9358d18b495dfa0f743a3c41b1d658dbd4500d79c2343bd0de15d783238f3783a48fb3ebe049a72b8824c5c6eada6a73a95629cde37e45872598427625e9113e655d6eef4da58ea9ae050c1a8c5a796066acb713eb23cc3f2d9efcd4a0d06c1cf663627b7a1cb0bb9144653419cb8deb54589bce2f58880a89aebc5c25f5b38e739002c67f5be170916a80de683630404f8a9f143e3e84b85dfa711f7249d59fa78d7714df42b22bc4bf402e0896c526b352bb47545800e70859dc2706208b3844c27195824f146761fab002247c383764e21794b53e71a6275705e39fa03fd12f69f14c89cfb4feca469fb02d7c6cc3063db45004280214018ac07d80c0b29b3763fff9676e4fb4175f893fc2bb7c800fb4440bb4c4d7f95338a69620ec610c8b30b812adcccfcff375a8f097e28ffca5a1a1a137df7c3373fd2965260858ac9b4b5552f7e8217b5f26e4241a7d4d5d71a144ec9f8587ae1cfcfba68054cd18b58afc806fd6e964493de3dbb3a2c7c4f98149ee754cf14cf8ba9e312a0bf367a71dec78ec62a6fcf5567890cceb3cd13ee0d24bfce3517b629c046b6aa319f6cf434942c3fa343ffd64b5c6ede83c688fad0e22eba3361a55281f05a6dd6ca27441bb04b5816d078d2a653e30994d0549807f7a3c854508b7a6c321b507c8851718bb9ddc061ca997336951eb610f10b0979117b02c8bccb697ac8c973db9bf2365ca2b136e449aecec22b1c902e745c6a1f07d970667ac5236f729c93452bb20ff34fa90f840bb60fc0bf21760b2283c31f31c7dcfa88d754665d0d91b594b2da0226da20850042802f72102972e5d522814f0f2c565cb9689c5623842e1dec588a00206430601437d28f04a9b77de79a7aaaa0ac880008e49252f2f0f5ae0125fe1eb3c0d4f0fc7d4c28b83762c982bf17568001da0058e7c3dfe186d844a52a1eb039300a1a73104faecc76e29b10a731a1fec8fcb6322eca7d8ec06cd59d1a7271e679da90aa5ef12d11a7fc24d160accc0a83d95493c59621defba96d8a2b7da6ac49e299f586d34e1977e5d3e1b4bae8092accf1429dd10b42b5168e48cdfe62c7296f829c09fac4c62d785cf527148d7e7d6e53255569b593639ca4e5cf1ae5bbf9129d7c1bcdaa591dc265760427676916ccecade45c5a1705ca5919be612c98aacda05f90b362ec85630fe3367b5083cd333cf4a9f29677fd217c482f652028a00458022401158b208d0fc6ac9ba862ab6441180f9593c457baba5a0a88c5189188e4d70d271d29e4dba76abc21f98fe1ed7a42760d496c21f8fb46f6c1836a4bf1feccf511cde0f50e4c4068a674e60a44c280214018a00450010a0f9150d038a403608c05ef3efd9b3e940a2653b3fed50c90a618dde2469428ad495b6678cc094a3eb80a30b9607aa6480b4d719bf243463264b91306771b8148dbb0b3a513cef02e854244580224011b86f11a0f9d57deb5a6ad81247606a9ca52b82ee8c8f28d47706672a85224011a0085004280214014000d69cd34211a0085004280214018a004580224011a00850042802394080e657390091b2a0085004280214018a004580224011a0085004280280005d1ff820858175f77b7ff798fbdff7ffe8fd63f7add94c5d8b4185df442b12cd5d1de91e64c39692dab30522577cb2954be9b34340dfd8f290787aa4bb9fcdaedf92a3669a5b0dc1ab5ff70cde9bfb9fa88dd6da32dfc581deecb60b35b66daf93ce380f7746767accf4bebb737eaf696c592d9e1ee8a6fbfe2db97b862a4411a0085004ee3a0234bfbaeb2eb8730a58bff3d846830149ead19dc8af98a777db3489afcb4c7ac553e6961beb5b0cab82678edbd985fa3065f0ca59fc7e5a28a1d5a1687e456ae729333fe68a4fe61229e56210604c3526239a0eddf3f915b3aeca6844ab43f76a7e252fa9341a674217b3cbaf981246ab12694dc6ce7e7eafc74cefbb3be777a6b2c6a412b92fd2fc6a31f727ed4311a0085004ee7304687e759f3b38de3cfbef3fee2a69fdb6fb0ff18db7ad3e776574cc2f46328d4e29157926c76642e85b977771e274eb2a18d5323f638737c4a62facfde0474308a95abfdf6a845755478949ed51820c2bb9e293a1384ab6580482d8f77101b0583e77bbdfdc3d6e08a77fd67e60cf9f61572c9f1e896ea49ff17d77e7e00a4084dd0c05ee768050f914018a00458022b00411a0f9d51274ca6d53e9eca11fbd7ce8b6714f623c6eefc02b9a1ab7bf502b15b1f623ddb7b0595e10d6fb2114cb969244259e4e812049003a243d5c486a4fecbdf059aef82c2c89522c1a010f0e96a4005834b3bbde316a881ade647cd7b5c952014ef96cd310d6dec126c9c9e8bebbbffc9e84003da5085004280214817b05019a5fdd2b9e5abc9e961ffee267df37e1ec647e7e3e0f8d1cfe9f2fffd2ceb3dbb6e7ede71eb7e8564990df3f331b749f3ef0efd227b6af3a3f70fda1968d9acb3dbf3b34f39d97da0cfecb9ffdedf657cf2e4a05b1188fafc4f2c8c0505fbf73f386f98ba72f88d7d696e3f583fee9d1aef6a32c1031f54f3599750a292f27e019fdc381a3e3f0ea2249c1f23ccca47095518f10bcc7c8eb768e73c34c73b3adb6a27885548c8241ff5cc8373970b023f2c006cfe54e1e05f5cf5e017dfdd6cd35b2d376c79afaba520e0ddfc4c0bec33dc0a9be6dfb06462b013042feb133278fd81df55b9f354bdd13fed5e53a996774c071a3acc1a80a7ad87f3ed03185cc5b76d6972a319ea180f7e2504f474f60cbb32d6b96b93f3f70383a33c0346f6d31ab26bef86347ff782affacd5d7373efbbd873c435d477a58dc17bbbb064d7cd93e288176f7979f4f6bebaa1915f8ddeb72feebc79d7cb6c0d4b73eb2be64a54cb2ec6630301ff25d39dd7eb4370d0e24bfc7f88844005274509f03bbc016b27f49fc05f54c6397da6c7dbcdea4847886120ab8d92f0f9ec6d5f980b8b1f5e96a63e2fd82af645552e30147411a7d04b9a7a127e1100a16d6db9ea98df77b9a38d95c2541f3f00065e0cad71f1ec561bf6021f95da0232797148782fe0226027e397e8d679ecf7f98adcfd61ba422dfe0b1f6de7144e213d3332ece8181306ee478e365d2234580224011a0082c5904687eb5645d933bc5ae7bdc6e370ace23f1cab5259a552bc209ccb6d7dbf7b6ad45687664e8f4fcca3253c9aa427dd18a1b2b571936b5a0e0ac3f58d4f8fc4b90fff88392a2daad16f46e5f2e542a904a251289d1a201ce336e8f78a55259dad46a663b1d2d8db53a85d8e31abb7ccdbf5ca1d2148a0a10b2b63e6156e1e40a0ad3d0ca70959961f46197d3dcbad36a54c228da3d3919922a350a698102d2b8bb5604f55f843605051249bed2d2da043376d3932ea95653200124509ded390b23877c941df3a8d796169b1fb54d4f7af2245215530e83f160485e5adb007d8221b15c57a937aef99e550bb9a86b747c4654565eccd4b66e0dfecb556fa854a7db68659ce167d9988deb8b2562cf64ffb820ff8e413e03cad88e820259be64be203cec44055299245f047e2940d27c09781018f967a66fc894328dd166bb7aa0639069de6eabd682e233ae495f9e42ab94e5c97088927020f93d950faf746eec4288e45f127f929e24bbd435b6bf6c624428e89e60a7fd62e56abd4c89e3196662255a53ad96bf5fe4d1fb85b72ee3a371fbaed478f01ee91d27e943e24ca217c6c185e611d2545bb9fb3dceef670871e2f7787d3e98ae96a91405321cf60b1692df853b161490e290e42f825fc2f915e4f0ea9ab66d4de5f9283436f0394eae08df4ba97af2712e8cdbe01429de84eda2ad14018a00458022b09410a0f9d552f2c6edd1a56fdf8f76eee35857ece9dcff4c588865cfdf437215bcf49b5776bc0f8953c59ee3fb9fc1c3192e22867ff7a3eeea7f7871e3aa6b3d3fff2f8eefee7fb14226cb917273613e6ee789839d83486dddb5c32c53c3e88b51cae0677bdf65c7894e476c4ceff9bc6b5a29d5d736308a6563a77a463c4822165f9f74227d73032457a199be4f3f84310d5237bfb0a3faae46b3b0feb7809af754c7fe6e56fdf44b3b3422315237d640721570757cf0310b4c99d6dd3663f1faca339c00d7c0f10bdac72c3aa96ff4c4a7570c3b2c1a69c50648aefcae53fb3feec624e6b6ddd6f2e20df57dc7ce3ef464b5c6b0516f67316cf5d53a09f28e3afad58d3f10e28f06b9ee9c948c0e11ff8689a3a773384f8032e9b07f627720a665b7cd24531721b564134eae7ca73af675b3827e4cc481e47775bd301f026e59db45884f925f900b2d149f89762175531d4eaed813ef770c7248f107bd95ff4cb95fe26832a8ea1b85e341df7b38d23b499f4833f133919e84b32bdc3fd9ef7337121847e364aaff703b4c41abb7efdeb13a81827042f23b811c91e2502f27f88be017c46009f3815575b6c71b18310a9c3b71e838fc1891b3f81c13fc3e249945db290214018a0045604921705747a44b0a890741999505dcc2236caad5ba117e1bbfd07900275750629760adddc86f7e69b7fcf635845c9fec695fb9c706d7a34bad38ea5b3ac06c5468c689932b28127ce046deecc8e8b4b65c69b4ee307cc77b75ecd2e9de2ed8d2796adc39358ee4e67a20fbf6fca0037202ae30cd9017a0e991019c5c419170cb10b9ea5d3a08ebbf6865c6fa3a71be81a6be3a79527a7d12693714c059bee6f15dbbe0b9a210ca07572ecb2b40f370e2fea2872d7e1aa686bc8ea38392e6f54058b80666f64213dff0f917428e6fae35976bf2f265e3dd23ee4ab34a67a9538ff7a3faca62c86d9c3dfd48db26cc1f78e5a880dffd130338b982c25eba1634690a950f95492073f7b0fd9cb1027e4cc28159d724e877755991301fad22477611fc4be0cfac530bea19c532c92e84caf05250ef786f7c72c55113ee9728a78c2aeb74847888dcda29fa2cc036999e149f2828e87723ba9c56801cc2fb665a0afe22d1efe4be82fad4ae5310fc45f40b37b1a86b802963e47374eeb3e3b596885927fcbd44d493103f7087087e1f92cda257280214018a004560092140f3ab25e48c3baf8a24b28c0b690a6178e1c71ac0c0669edbe64f8cfc53c3f0bcd36d502b389790afc18807cae0f17697b9d9b281d1a9e45ac6a465ca4a3af77571a396b00a78a49c50c4a02c5f6438dfc870038c489f1c7f2eac7f160203df8e8df3e4ce7ef8391f269a2c6060606672cc3d17b15a14989e44ba0ac8a3b85fff61f2c3771596d571dd96e1e78f6e067cd199c07cd1b2f088d57e7ad4642dd73d54abbe86ca64302576b6670aa9cb25c2fcb3d05988b400e7bdfccc15543caec8a85aad86d9caa0fbaa4f0e5b3620bf6726dcb920c98fc938306b30610401fc341eef77b91ce257808f5a9633bb04fd3b48e48fed4ad5136b8f4bb25d480d9378c41d3904ef174c9f71e11e83148e078e478a3e0b704ea627c627d208fa1d6eeb3f8f17111727f1cd0bd6497e4fd351509f6944f0176e26f80518c10e952191582451eb8cc819fbaa4af53b49cf34f129186f09df879c6af44011a008500428024b10019a5f2d41a7dc1195b861b8f75b3727ccfade2bad304e4d2e5c7470b956f295cccfb9fd925130bafe87eb8907ff4265dcd10d7f904d34da1eaf65946595f5c8d90b84e1c9a978269cba811bb31c1be6a92603b04ccaafe2f7678f9726d86eac6bd44966ed3d29d307f13d13eba97c48fa43bf2cf98bc2795244e2d4983b6029ce17fb3a3a3a226df8b3f9e9e6d8296450081640e1323be5412a957e7d1d72e2f40ca9d74801a04030007547df681dc328ca9f6c59264201e757780520893feecb95ccf5e7b2292c077ecddfbac9088ee2f32bae25ecc2ba46039eadf15d4708af0293c814dc55bdadb93cd18fc938e0f41fec10f03b0ea9543e39b40bf8a7fab7ab4fd82f8cd54cd0139aa1a4d83575cd1f4472e99a1a0675b11c49dc8174bf0049867e99b8e2316b08f18005a5e813275da89a4c4fc439bcbe31d5efd2b471c2c9246ceb9e78df09fb5d48e7f8b6147dc438911288abb47e4181c93f76ba1e83c707cdad4f050387bbd9dcc6676abcf1df87d812c65ca708f40fc692ba78f3689d224011a0085004ee2e0234bfbabbf8df35e9f6e12b4164326cfd875fac7ca2a861534921a7093c8a8e4b4ea2425ddf520ba366c50a1800898beb5a5b37a099f303bd49e95a744a8ab1eeb2557a272e8e4e4e7a66918cdb422d301ba6764df9904ab1ee519be7ccb85c6f28124f1c3c7f3d8434aacac7b62eaf9497320a7e222e6e200f66e4cb8b5b5b206f9ce9ebea8dcee308b7ebadd60633f058ab96ec3f8a33ba4c4a02ffb4faa345f14fd061bcfb9cbbd2a4625ed8b9e5b46314c9d5254cb932e0fc069b8c879849c53fe2f4181be4a50f6f6f958cb8c595355590cf4c9f1b6631dd54ef37138ca55822813d2546c2bf8813f87f70d08e7b64a9bfcad8d4265e0ffb6e28f1ac52b880a6d2e2ba16aba9704d49a94606b3577d477a59a3226856c9cb2d4fb51549748c0a678188db8d3fd22df1937509fb9d9d9812e6932bbb48fe1def15f4cb07a785f54cb426fe8cfdeaacbbd5a432d95e58e1fce6ea0db17a8d5e3ecfb6f3cb77a384d1fb856fc9d82f4ebbf311b3703c3051e6b75221e1fc39ceae53fd0e1105d204e324aa8558a683fb17cdb93bbbb9df082217e2ef3ba2df23c4a99f82fab06635e1fb84e097239771a62fca476cf73ebb6c174c0857b76d9dfbf448aee2f33f519aef4398ce7ece6691236490073eee66536da42d14018a00458022707711101899dd5d85a8f4db8a406c86e7d0abbfffea3212af7ab8655389c475f4e7ef0dcd22c97248b382c88f1f3d9f9b9fc33b7f854bac5fa465c14ff9da0aa3d164d4e25d2b90aad4682c371a742ae00fe39b79fc6e4eaeccc1b686309e0e22d6e5f6de54ea98eada86a6a606a3561e9819ebede49ed5811997cede314f1036ca836b66462b8504d0d13134e14122697139a3107b874f9c9c0c20711e9f660167cc164954a040b9711d488d14623b6805a580dbb92e429ce633854f5afd79abb3e1cfab93a040d7c1ced169bf44596a696ab2549bb47291676a1a4f0e71935241d028f6c00a74ef3fd0e9f004c55a636d534335e42dd3ec407b5718cfa9de531378316868f4f4405406813f7f1d7b0dcac2f88cdbcf4c7851bea2dc54aeccf73a4f397d208673377090aa4a4d6613245701efe4c9a307b136cece2f58b042a22b2f5749fdace31cd073bbf173f2e2a7bef80692df53f8406ace7fbbe5c62eb27f85f993f4e4ad48b50b90e83a78d2e90a2249b1b1bab6da5caa554af3e0de21dc2f613e19fb256d3ce028caae08d00be3c0b116f03b394e7845b061520ddcbf46b38189e99672df91fd1eeb9458138e43b2bf087e41f8157bfc0c9be3f8a1936c00898a2d9b5b0284efa5143da3712e8c1b39de786bf8d8868d6f68a1085004280214812588c0b29b376383b2ccf58bf6e22bf1c710f7e333b4440bb4c4d7f95338a69620ec2d0d636dae442bf0d226be0e15fe52fc91bf343434f4e69b6f66aeff834969d9f3dbfff58c69e4d04f9e7feb188f408575f306a9eff431fbd92582885a6f5429f3f3516076d2c9c6cf3961fdf48c5159983f3bedc03bdf7145cd18b5f90101d2f0f56c3e8cadbb5b8dc8ed789f9fb1c9a66b8c368dfe39e10f0bfdc064457ec037eb74b231b9c49ada68867d04513c68445aee02917f36fa83a7e035656e276c5012297aebae27cd5ee789f601975ee21fe7df5f0617d57ad8c3048e8cbc80655964b6bd6465bcecc9fd69df6346f23bb4ab92e446e4e7c42ed093149f82fc497a469412fc541b8d2a04b7c0b49b8da22448c83766e317803bdb78482359f092300e6ab54402d32d9e98dfb9ce027122c874a146104af27b7257521c727469fd95855f04f82c14e782b8a58b37639d511974f666fbfe84643ce8394580224011b8bb085cba7449a150c04b2b972d5b26168be108857b8725820ae80619040cf5a1f87cbe77de79a7aaaa0ac880008e49252f2f0f5ae0125fe1eb3c0d4f0fc7d4c28b83762c982bf17568001da0058e7c3dfe186d844a52c9c94ab0249ef474492160d9fbf65fe54f38af15186ddf33c110e7d4bf85932bd0f2acfdd852c9ac78ccf8ed0209f88db3ce486215a69862e346f0845e1935eb6bb63e522e46a173a78732a2271191f4cf157f58db979dc953ceb8cdee495ac7b70bf3cf527ff0543c4fbe0e5f4ea1c00c6453f14e64aaac36b36c72949db8e25db77e2353ae83a7602e8d24ac074b6525ac645a7084bb646957783bcb548508a285850a758f6b9b8a4f4be3da85aad9ea8fb28e0721a9e9da044d9e9a82443b966b47fb0bc649f46ae61541a1a4ee8271c813a7e593855f52f92c18e7a95db04aa4ef13b8e2ec17009464336da7085004280214813b8b00cdafee2cde77419aacba699341bc8993ec1f3af48f6ff5dd052596b8487d99a1581e1a3d653f9e653692a15db79b7f866a2c9a2c27fae3e554291a785c939e80515b0a7fdcb5a06f6c1836e64fa1bb3d0d39b1ebf6a89611d77b5dff8c8ccc3591601ce65a4832bfbb1be7c9dad0738a004580224011b8cd08d0f581b719e025c0bec2623568545204eb0097d86cd5120087aab0141080e5812a585018f03aa34b3f97825a54078a404e11a0719e533829338a0045e07e4080ae0fbc1fbcf860da70b66fc93c5ef5603a805abd100253e3290fdb2dd4855ea708dc7308d038bfe75c4615a608500428028b4380df8568717d692f8a004580224011a0085004280214018a004580224011882140f3ab1816b44611a0085004280214018a004580224011a00850046e0501babfc5ada097ebbed6ddeffddd63ee7fdfffa3f7635bfce548c6e69ffeeaaf55637f7ce9b57d3962f880b031b66daf93ce380f772eb0a3ddfd02c79db797696e3504af7edd3318bfade0adc3a96f6c79483c3dd27d6d558b4185df582c12cd5d1de91e646f9df5ad71b84df6de9a52c4de6a735db9220f5e27e79f9e1c732ebc5ffc9d8f1fa2eaf4024580224011a0085004ee160234bfba5bc80bc8b57ee7b18d060392d4a39ce757d67a6b95415c95b7f9b57d394fdd042c8126bdf58527cd92c8b550d07ff5dcc027b9ce5218eb333673f8edc10197e3d71fdb230273f4c994305a95486b3276f6dfa93ded72a4f9e2d8dc797b99755546235a1dca717ec5986a4c46341d1a1b5f6d82d7497125b43a7407f32b66fb0b366de40680f89fb9c2fef170d7544eed35d6b7185605cf1cb7b38b7377a497f07d64b43ef7e76679ec0db66ef4dec105ee821cc54faeec8ad8473f290214018a00458022704711a0f9d51d853bbd30fbef3fee2a69fdb6fb0fe9c91673d56e3ff29976e585ce3b945c712ae2b5a78199d1b16fa52a8d4621d51a1bb6ba278ff4e7729ac2e31a1b9bf02191a2582b47b763ad2b7bfe0cbb62f9f4c802c3cac5b86449f6b9f3f6ce05838044081f725ac26c59fbc18fe09566aad6efb71ae1d5e53915b110331c9041d7e87840a6d4aae44a9de92fb65cdfdf9f4b7b75eb2a18d5323f63873733df4a11ba8ff45b9a70723533363c70e6529eb2646d91c8bba08c1cc54faeec5a505f4a4011a008500428021481db8100cdaf6e07aa8be579f6d08f5e3eb4d8cee9fbd9df7a35d7733be905725703df5e38dad10d5563ebce56a3522a9765d0290b922947f7110742eac61776d4de9e5066ed1d6c160addf3a477c7de686aac167c0ded2250f5e0548a678bdf6d2b09c05b8fa25216c16f915d02ae13478fe25f149896176c26997e2dd37f25aa18546ed1de20ac7b841c0efedd5a11ba8f0af200af90fbc4912e1633770e66242237f1932bbb325299125104280214018a004520d708dc9e4169aeb5bcbff9597ef88b9f7ddf844749f3f3f37968e4f0ff7cf99776dee46d7bde7eee718b6e9504f9fd33b341f7e903cfbfba0fc1635a2f6fdf58b28aa799bddcf3eaf63d7ff68b8fb6af3a3f70fda1968d9acb3dbf3b34f39d97da0cfecb9ffded1b177ef6b3efaf44fe7994e71d3abc63cf2fc3605a76b7ff6cc78dfff8a83bbff9b91613ac63f25ce87963e71e5ef0ee9ffe6a87b50a2f0d0a7abe38f28f2fbfb5c8ac4f240aaf2ef2de98c772e14cdff8ecf71ef20c751de961718bbe7ee7e61a34f165fb60dececd1be62f9ebe205e5b5bae0142fff46857fb518e0813a62b9282a4a1b3b9d9565b51bc422a46c1a07f2ee49b1c38d8d18f98faa79acc3a85946715f08cfee1c0d1e2adcf9aa5ee09ffea729dcc333ae0b851d66054053dec3f774d6fde5c2541f3f0e04ee0cad71f1eed092b801526ea59dfb67d03a395e081a97fecccc9237648fec845489f710e1ff7979f4f6bebaa1915e0e07539fff5e34ec811a090f8abcdd6c7eb4d4ab0174a28e066bf3c785cd85ee2ec21c8cdde5e2c4ea808e32f44c9b7cd07c48dad4f571b93fd4eb297c49fa96f7d647dc94a9964ce56d73900004000494441549948044e089025f25784f90bfa053a90dad34811890bf8abecb03b60d289503e774ab257c02ed27d01af5292142cc739102a5c65d42304ef0ff3baf927a4cc5b76d6972a719c8702de8b433d1d3dce7a529c1fe8e0430beb95781fe5c37f0e2249911e65f44eb245c48f209ee9ec4259e083ed41c2f705f93ee23ad1034580224011a00850046e15019a5fdd2a8239e87fdde376bbe11172245eb9b644b36a453801d8f67afbdeb6b508cd8e0c9d9e5f59662a5955a82f02713ffefbe73696482e0f7f3178c1a3282e37a9f36056688574e52ac3a616149cf5078b1a9f7f09f2137f505254bb553634e57603efd58692c2d52b62daca542ab95cdef6a20932ab4b23979797ac5ddbf8f2ebdbecaf1dfac1db9fbcb8a908f2adcfbe983036353ebcedbfbd7de1f4abed67637d33ae455664999b2a35a0d1e5f34e54a093e54be60bf8712642055299245fa490a30224954824460ba69b717bc42b95cad2a65633db99364511d2c4dcbad36a54c2e8da3d3919922a61696201f047a8a5b156a710c352a8cbd7fccb152a4da108c6be057912a98a2987816830242fad6d808c321812cb759505935e9f0fa607642a45812c3c48c6d20aa4243deb6ccf591839e485ec9847bdb6b4d8fca86d7ab26330367c4d5256501f545020cd97300dad40ec9f99be2153ca34469bedea818e41127f758ded2f9b18110aba27d869bf58b95a2f5312ed4dd22176eaf7676b6fac6f628d847f2255ec0ca660245a53ad96f7bb3cea7792bd24fe4cf3765bb5161c38e39af4e529b4ca05264b49fc85fd42889f9819e96bea320584bc3f004bec48f60adb45b82fcad48f9a55e15f15205a184efacc30fab00b6ddf65d542ae050b13674465e5c54c6debd6a0d74d8a733dea16ceb9d909975fa395d53eb94be71cfca4b337bd7df075936dfc08e26c6d7d826097332b7ce07b83745f90fcbe8081f4324580224011a0085004324680e657194375db08fbf6fd6827bfab5fc59ecefdcf84e558f6fc3d2457c14bbf7965c7fb7d0855ec39beff196e986f6556c36cd3b5c1433f7fed502ce7b1709e1cfedd8fbaabffe1c58dabaef5fcfcbf38bebbffc50a19daf712e65ef1ab3fedaf8c3721f22cc5c8f19f3fff5a3baad8dbb97fdb6a830955fcf0af20b99a1ddedbf63776a0b7befea7b7da2cb6ada8fdddf8de99d4f13852637ee107152289345f149c38f5b99d8509abc4ae7391d348c5ed3c71b07310a9adbb7698656ac8b6b22cfae60648ae42337d9f7ed80b034775f30b3baa396c18a50ca6777c971d273a1db19ca7989bf2710d1cbfa07dcca293fa464f7c7ac5b0c3a22940fd87db61cf40f5f6dd3b56c7ab40d253dd5803c955c0d5f1c1c72cd033adbb6dc6e2f59568b03bbe775c5d581f3487c7df50261df64f60fa8b69d90debcad445485d48e07fa6a90e2757ec89f73b12967011f8c76990509dcad2de84ce712744fce36884aac97e27e1e942c2fe55d76fc2c995ef54c7be6e36deef42c2a08dc47f704c304ec0a38476027fbe7959c16a8659556478a8ca08d99e9b758ea3704827db4bc28d106f439f774d2ba5fada0646b16cec54cf880749c4e2eb934e7de37648aefcae53fb3fe602cfdcb6db5a5ebca17ec683151288f3b89f0e922ce9fee45fc44fd9cc3ab9d6687989310ef7fea92bcd1e8f59c78f309e1e825d284b7cc0c1c2f705d1efa4fb3409157a4a11a0085004280214818511a0f9d5c218dd398a9505dc681f0bb45a37c21cc485ce0338b98212bb64ffb79317aa5ad6b6eddddffab2eb4cdfc98ffee98d6338cf82b57023bff9a5ddf2dbd7601cf5c99ef6957b6cd01a5922a5074f734bf43033be80ace0a5e338b982b2121ff0831c1b8a0be15868fa1f9d9d98252a84642eb87c81a900dc59b004e77cf322bc52c9377eb87b814d22e0d7f8d08c13275750402af74b3ffec8a630eb74d0757a6400275750246260cb157664745a5bae345a7718bee3bd3a76e9746f9713e7592278c8e48b1eb6f8e956588be7383a28695e0fad91675af01ac99b3c83c851584fad028f54f3358fefda8559a27ce8b82c8f3c7a45247da037f24f0ce0e40a0a7be95ad0a429541ab530c327c8bf0c2f78f48ef7262457b827c15ecc955c32b697c0828c3fa103f7589480df097832ebd482fe559715418c7ad8fe6e961314f33b412e813f19b745e12952586cf836841b71d2f9e5275d0ed85753307ed2e026483f35ee9c1a4772733db0fef6fca0639c1382507303ccdc8626be39133e777c73adb95c9307d1983ecec3e4891f53f6c307ecc6faa71ea9d1c915a6a62df9e89f8f93e763b9be99c78f309e24bb9866d27d8def1781f84184fb82e8f744d3e9194580224011a00850046e01019a5fdd0278b7bfab243f224383f31c3f77d6fea39dce6d7bfee6696b9da1a86ad396aa4d4df53ff90b2f7eb6699e9b941223ffd4303c8f11e99ae6d3ef9d8dbf0a2c2a56cb41d0eca5a1bef39efcb0f43cdfc5d3f16419d661dc13b836dcfeb1f3a91776e8a4a53b5bcdeda98bfd0a70fec3cfd800dbe05c241fe464c0a5c5153158c21719ce73f86469f078bbcbdc6cd9c0e854722d63d23265259dfbe6b8e1193749009340beabb00030d235cd67aa9e6a990404056626c7dc7311e9a2c0f4641a2682fa7479b1421ed7e57047b51a66dd82eeab6ed90a61fe38dd10deba4198ff0249aeb0bea9f60ad3455a2308e0a782a2f8472e0a7ca6f227e3095b42a054fe721cb6c8ef9909732f58402e993f22e1466a17b027d6e43975a2ffdafcacc3c1c6dac8719e6a17df2b159f786ef1212bc6f7d3cd802f3a439b2f5ac6ff4280efb36ce31c4b71f61e76f6d66f79d652aa585b598506ed09a2333b11d47f613c536ec52cf0c16122705fa4f17b66a6502a8a004580224011a0082c8c00cdaf16c6e8ee5070630befb76e4ebaf5bd575a619c1a2d7d87de853fc8867ef8f61bcf6f5adbf4c4ee3f46af4185f36a640160dc85f9c862a3489b38c5ff67bf3c37fbe2c385cbddafbefa6a846af19f22fc88d3d4e193ceddf04494b1bef16b474f389be2f32866eb2623d815cdaff0a6048b28fec86c13f4e5600adce0f346e6a92603b08c5e1e7774c31f5e1c667bbc96519655d6c75658425f18892258a0975252f6f54ed5736acc1db014e78b7d1d1d1d29fd890da9fa207eba32a2455da301cf4ef9ae4f8dcd11f83360bd5cbaa68641fc466ff1c204f83b7be30984eb19d82bdc115ad3e24fea95399e8cd50c4c84fc8b434722537022f4b6e6f278bff372234f03e2b3f4fe22e1466ae7f90b1c83feb1c1c4d48a234ab5373d6e02f41c9ff0e46c5cc84e5cf198352afdfa3ae484d5ad10e96ba40044209830074b8af3f8fb88e31f3df41e3db7e1a58cb7e8cc387e4878a6da95353e53d704ef8bf47ec7f632e63a45a07f7051bf4344f1a2158a00458022401178b01148195f3fd8702c1debedc35782c864d8fa0fbf58f94451c3a612bc688f5be167dddbf9d6d6ab5f9d38796a68620aad51e19fedbdeeab480e9f0b7853b266e3eb3f7e1d79cfbdf62e3c919558a2b35d7def768d3cb1c5b0e978fbbb1f1d3a8974150dd69632eff1b6e7df4aec90cd99a373c0a0b714cb6afebcade74f37a0a7cad8d4265e0ffb4a28b9d917015e293f5d27d1308d5b9b19c40e8f8c5dcfabac5b0f336d5e2f7ec484755d0f218daaf2b1adcb2be5a50cde54000a24708c7597add23b71717472d2338b64dc567b81592fc20ae0a1799a2296e95a5b5ad19cbbb39b1bb3c69346f51cef3ee7ae34a99817766e39ed18457275095817707e70d01e4f1eab93f4415250565a5cd7623515ae2929d5c860f6aaef084e8a48fcbf3aeb6e35a94cb6175638bfb97a43ac5ea397cfb3eda70a84ed8d6940ac65642fa137117f027d72f382789e16f62f3b311534abe4e596a7da8a243a4685b30ac4ed5e1e93902f2f063fc22b9dfaba7aa748fefa4f248c1bd15f31fe82b5f01cb0e035688cd89b296e117a9e9f6bca87548a758fda3c67c6e57a439178e2e051e723e60679e9c3db5b25236e71654d15e4e7d3e786e7f0a38c02719e5fb6f5b94681fb089e777af671e6db8bece8e4151f5ab1bee621b851f85b8c644ab43da3f8498ba7805de785fd1e151aaec4f06185ef8b2369ef5375fd73360b7c951ae4818fbbd964e6f49c224011a008500428029921b0c0883c3326942a670844675ad0a1577f6ffbe4998d450fb76c8297941efdf9c7ccee972a9717227bff79d7f7aa366e5abb71132f75f6d217bf7aed90f9b72f233f4e5de660922af6a0558cdf3c545799dab698907fb8f3dd7d7634070dc11b919fbebd73b0f850f2ffb3f73e406d5d67c2f7b18490852c599684852430d7c8d722c26028a5108895323498ae633bee1b773d7132d9d4af773cdbeddbc9cc3bcdf7763293e4db64fba593994c67b73b9936d9bc996c320cf136765c6fb1bb1aba6af13a250457368a898c7d6d107f62495690852284e4efb9f722d09f7b41606cb0f39c71afce3de739cff39cdf91d2fb70ce3d879be07af9c99774edcf379436fce0c70d9c89e8c0e9ab4be8213b2b95fc4b76cf89b3a5cfb4e8d5657bcd1f5d1c2dad34aacbac6a92087bce8f1457d29218eb27c8c32e7e3386a660cb4392976c9e6d7d8ae4a93486ca7a732557170f0dfdf12417fcb83bfbe983954695b98c02fd03672e68eaea0bf36484190d846f198c94c648f1da6213de1e877be3e30f92383b99160783737fe4677de7539c0d77f4b4550fa330d8ddc710b640d0cfae0e47c181e6124d496d6309d736eef304936ab23e199fa03ff07e0e6b505b62d5b24d62e1f14f1d1f726f621131fd9eae8e7592c7bf49ebcd74a599b3131d9742a029ac3fcb918c82dcfb9bd170e6568cbfb034942e92a7db293cbe1ec72796c27a18deb23278db8f718f16dacae61eb6d9dd39894caea5016b227005e22b22c2939916e166132917ed185b31cd7db7d24444fa2bcaed2bb1ef1b68753b7a2c45df366ba9fa460a6e23a3a384f4bde7501dfcb6cd40c38e8c6c0a32e7dabbdc4d22dff35b62bfa3685caa5095582b4bac9c16501eb8ece07f623305c21fb97e7f981bf3f014e8d7e2f908ff2ec4c63dd91b3e064d9e2b912cc54f24800490001240028b21b0e6d6adb987cadc1bceb6e233a9d704f7476328994d50929ae76fe19a9de2b037362ce2e1d26c060e85e2f390e1ab52af7c557f7fff2bafbc92bbffab53b2f6d9fffbcfdfb70e1e7bf1c9574ff11e6eb1efdca6885c38e54c5bc606755b6a775a4a140a78e811a85c96deb1a64d8ac88dc0a953ce655198aac444d1705c4fc0c36d30915ab1a8bc89aa32171648a5d189b1bef445583a8a36c8604701061ea3d392ce446b35f05e596c52a0324d72a937ac69b52c1699f47898857564fb63b21fda630b7bceb49ff399e4d19191ac1e88ead7d1b416ce578a0503cc6cab6cfd0bfbb40c12a2fc17af5b90a7987e28d72ef27b25a89f8871132b5f7cbf045b88f54b5078b6107e4d9a02d964d09d7250958eb6c13e8224bd70b6457a46f477044acc1a7501ecba13f27a5c593fa6742d4bba9b976776bf96c447e877010b27457e473aba86d6c43d3d0bece3b1a4de6223248004900012c824303c3cac56abe1d0ca356bd648a552b842e2ceb0249001698820e0511f52241279edb5d72a2a2a400c04e09a91f2f2f2a004aaf80c9fe7657879b86627de1c94b386b9949a8702f0014ae0cae753afb38590c948185f6500b9fbb7b5cffdfcaf65a39e1bf974db7777e8e5a1637fdffa6aefdd77032dae0e0226fbe13db62fdd9d1d4e667538845e2001248004900012400248e08e10b85fe32b5c1f7847be2e8b51aaac6cdc6191eee09a44fb8ffd0b06578ba1771fcab2ebc1eec36e61979000124002480009200124f0b52080f1d58a0fb3f3c51f3f67d16b61addf8553dc41562bee113ab08204469c6fbdb1fc0b3257b043681a09200124800490001240025f2b02185fadfc705feacd7abd6ae59d420f900012400248000920012480049000125834017eb7a44537c30648000920012480049000124002480009200124904100e3ab0c20788b04900012400248000920012480049000125822015c1fb84470f76433fbe137fef6e1c07fbdfbd35fcfecff7e577a61b2d598d572323971dd95be8bfa7258a75bf7d528263cc71dc9937fa99a660b9c719480dd34a7ae0f76bb98e5b0b2041da686e607a441eec4ac25b4fefa34592de3759789eb6c3565ea3c38962b1a1cf77a66f7d35f9217554dad16b34696884523139eb30e37bba5ffaafd5d2ca987d80809200124800490c03d4500e3ab7b6ab86ecf59fb830f6fb75888bc8e2c145fed3cfc7ccbe6d86f7ffaea6deeb460b3ef7dd066847378f854673bffd6d1eee4dd727c52c594412b315869479f87d3476da2ad700c1497128589158baf286b959526c1047b22f1bd9fe8ba66cb86f8c5d3cbbf67fcd2c6ebcef9c38fd572e9a7ecdf6fb3cd7c1b633ef75b47b9df136d87f37f55d2d9af4580bcf1e76d87dad8f3aa32536ca0f3ad2e26b334f5defef83336bd1c4ab83f2914deece7e2ab55fbbb48751df34800092001248004ee5302185fdda7032bd42de7bf1fed2a6ef9b2fb7742956965d50f7f6787256fc2feaaf336022c5dd5ae876c4609898f0e9c730f478d5bcb8bf3e269666eff86b9729159b73638c80757a08f71767cd04f88b6e57b2d341c557dfb1696aa21ceda5e490796eab8503be3e62d94764d9472328c50f56d942d6dbcee9c3f7c57964b7fc8e7f58e4688446d36a8c8cc5a6cd3ae4636b89af00e9cbb389ca7292e2d9284c954d017502824d3092257a995324934140cc7499e247a736a5eb8a6265a2f4f84bd5def9e809f80ce6422239cfceafd5dccdb1dac4402480009200124705f10c0f8eabe18c61c3b71e9d84f7f742c17d9a969880ee2b15c4445654c0ddb4be091d2e7fefd716edac3e37189ca2ebd8271763219adfdb03e4a1e8323a4661e6833aaefce6d880daf56d28165ed661c2647e00bb1ac3a67952d61bceea83f6c4f97a9bf7e77f70937c43d0dcfecaf4efea7363f0fbe1689c09913fcbcd4ccaf62e478070fa461df33d506c9e79dedddec32bf0592ceac85492fdfe55efeef0bfe113eba8256abf577b14087b01a09200124800490c0fd4020f97ffaf7435fb00fc2046a7ff84f3ffb9e957d3a9e9e9ece2383c7ffbf1ffdd2c98ac2eb583fdab7bd7803df6c72ecec4ff63ddbbba5d6be5ea959cbae5ed26dde594b885e417c83a77a2ff152395f4d9b8b94844447cf08ac29b3ed3a5057a25180ae442c7cadff6ce7594fddee276c8ac068b4b0cca80c0d9d737fb5a99ed6c643cc6fba823bbffb40e0d33f050d35959416dc0afb3cff71d4e137353cb1b3424ee02ffe92d8179fbd7ff26c2e9ed5b5eedb4619e4ec036ed47bf1e3134e78f81549a0ffbb0f84fabb4e9c65580953dd819d5564f4d37657de819ddba6af5db82a2dad2ed3833fd1e05057fb494e8850752ddfda5abc5e295f23918091d90055d0aea96ef7ce2ae505a77b635d4d899aa511193df7cef1b3a0656fa3cdc89540612c34f4bbf74ef20fce3a9bfd913aab46c1ad2d4bc402cca71da7e1c533019e9ccb22fa0911f4079a08249d8992e7af65630252b0813611a294917060e68da16c3d8b1e4701937345b6a6b6ea2de675d0df783c3a95888c9febe8195f943fac2e719e73966673f3f55798f36c53d18c3c9fc5974c32f88fae445e6422cc6c3494ac824fa9949595aa085928be32994c860df01b23f92ab3c994af54928087b9e3bf8b1457318b0490001240024800090812c0f84a10cbfd557833140804e0557a225d5f5aacdfb08e7d9487f4fcdf1ddc5e2c1f1bf8c47535a43697597579f0b0f6dc8bbf78ccc23dbe13b2e3c88b3b38c9e19364ffcb8bdb12c3b4490f7f598f867c59cf90f4be437678d524ec1b1a99906c2a3353d52dbbe3e1409e5ca1a5ca20e08a275425d5f53087104f4855c6f2f5930a999caa6f0147a213c1af941aa59e6e6bbbfe5e4f341c89c0348352abce57e6736e2e70a9693b584ba9201e62bc215d6989d9f6505b70bcd325f2189b9faf94c9a7f3a1135cca5728e532895a45f289422e97d3b57ad69f4048ba5ea329696cb1310e37d5b4afadd2008e4ff8c623796a83867df6852466373f5f2e97696a5b1aa14970dca730e8f3e56c479a1baa8d6a292c2d1bbb115dabd6ea0b247cf774556dffa39182f59681512618956a0a4d4a0d3c860bf33cd13322a65fcc1fced9cc8bbde5519b76263a8051a0b8fa8901f27e9747504f68b1e3d8293aab696b3960a735106006c6c7130a8d5eadc857abec2d758bf207c6578c676657b97bf1fe12c1ef2d7016d4235ec88cfaa27a83b27acf21a3c7f5a1a3475c72de1a93fdd13d367e60d454ed1e8a150e163bda5d77f87731af53588904900012400248000900018cafeeffaf41ef3b3f3df00ed7cd2dcf3adefd7eb2c376aa105e8bbfe13af68b178ecd4d4e8dbcfe0f574b367ce3e0911dc5799f74fcb36394ac97cbc72e2c2eb80213f9523632098d7a93e6663e4d0ddb20b88afacebfcb6f74616b3d6c2f336fab9b08b102be73a7af1a1eae352a2243677efb85657fad1e420b76691a21e36ee78730dd44351f6eb32a7545c47ffa783b4cdde8f61dde5fc8092c70d13554417015f375be7d940151aae5701b6dde5a4e5cddc20d33de7b99bd4d66029e331d0e17d1d90fedb729757aa2abdbc1065791f39def7483015dd333fb2bd95fd7c276c3e73bdfed66748f1fd9af9740644b6994708d8cb9cff03bc125ddd335d6b0c11573e6d7a92189a9619f204f53cff164c374fd0bfb936cc77df6ffa92ba85198aaeb29f51aeff9b3832122974a6f8e7bc4fa75916bb588712422f195a9a91e82abc444ef6fdf67439824cfc5fa435c5e119e69dd9cbd11d33f0fe7c50658dd1f7e24dddb6633aa0c74ed118a1ee8f943976bb13a0819e9ef72fa366eaeae2c5187bce7fb06437239b971cd03b35e77f677314b0a334800092001248004908008018caf44c0dc97c5ebf36766a6d8de39fff3e3ab15cda5adcfbddbf223dfc5de8f3ff8d5cba72e914bbda72ef512e36387615265d8d97eac77c920d8b775145a887d9854159b8d30239118fd9c7f0e27c4fdf98da6327d9e4c0a2f2b25029f9c65cc8fc35455d87dd2256fda0a0d410bfc913e3a7a8e0dae2031c337e2567d818626847be784dd86ed56aa01b1bc419d0f5532fd23870eb1a60858246bf2d8b2c526f02731e161832b48ecce6d6c04a8dbc42e870c317d6c700549ce2df382cc4276bdbd0eae89ff2f1f7facb8390e0fce834341439986b6efb73c18beee1dbed0d3e561e7d836b10b06c3233de9f188184f70865f9d98a9dfb06d511cfc231eff0851d9eac0832fafb8dc23f0c9259b08cfe9a58d63526df293da6c04b4c1c17333f343499e8bf68730223c9396d23fc5f437d50b7f6f81f3e293df79fc3d275db7f75b554695dadab84b467e735a6c1e5554bbdfe3f68737d82a4b4834e075679e7cb002bf0b514fb10209200124800490c0d78c00c6575fb3014fe96efb4f0f781e7bf66f1eb7d7588a2a76ecaad8d158f7e25fa52d035cd2c3236f81f1fa639506854a9d6290cd72af97dc8a456657e5c9246bf808890d5bb8c92198a4895c8719b0644ba808f9c666ee743a98dd8907aef32ff4274516fed429e51050c526c6bd812929e4d8248905219ec92de5b3f1123f93060de253b3af56b1cda14aa56223ad686882bd8794cfc66f101c2e6437f6a5772664f1f4c1741c9b5ca7db7db6a6da6d9451ab32505603b5a9d8f14e5780ab034be9499c272f97a95f5757bb740eb343324fbf8c5b96711c9323c5bef5c5f34ceb7d2efe88f1cce50b94a27f21ce697ee574e3e939eee9a9dbf5446d89bab4bc82b89c39b54a17e21d947073c5e935b9de2df4fdcc550fca21012480049000124002b30430be9a45f175ccf41e7b1dfe11b2e5873f7ff9c91da58d8f1e26a77e0d20f2f9ef45f8369830ec06d31ab5a5adca91ba9e6df48b904daf356dad211e2e9cd06d5440cc108ba7cd4141c4454872211eefc3cc5d4d83859dc589dc4cf34c641bf4d4fdd9fdde40acd62c93463a3b3bd3da8adf70d1141f4751bb77d0f07c3f1b5fb19b576426b648aee4e349535b5319dc437cb5905dc95c1c99a270c4dd0dff208a69687ba49ad26c2aaf2327ae47e344a5d85845117ee3395e5c8c6732fecbd4bf903f294ea4646726e35286444c4fd3e34d73ed16398ea9e34500377c2fbe9ae4b4517b1b2d3c4f5e79eefef0f2023c3d3d7c95e0355bff429c05d5240b61e44452cfc9cbdb8ecc6e2d2822b4e4e265f95d50b61a75accfe559b217d81009200124800490c0d78d00c6575fb7114ff6d7fe9ce3d5ddd7ff72e6e3f3fda37eb251cb4ebf8403306fc4a681c100b1143ffceccfc77efb69d137be5329eb7bf2d95ff255395f5dcef39bf7541ba9c6a7db0afa2e8e458a2ce546d9d8879d9e6fd9ea5525dfdcd7221f0c48cbab2a205e0a5e1e98825798d879208104518dc25cd36cb7166c2c2ed12b61f6aaf744dac3b154696c696e21530147f7cc1410af45a63243391c35d4dbd5e31fe9be1c28b76aa9670eecbae01e222a5d3155a68979deee700a984c1669e9c656e956d87743c3ad034c16a77c26a73898517fdca65595d5ee6d2d921b292d1b35b247be92c5daa5ec87dacac3a3d786c6c7439344c96d15189b844897f9cba5408b556b6d7b669de7f3eb5f49751b4daa69a6fd84304f065ee44a71732ebb587fb8963e7f8468d59b1f6a0b5d1c51992c45d2d18e93c23c3f6763d0258e63ea7831be9b09a2d7963fbc7b6db9aa8452cb383f92016eeefebcfd6722c2730e49764e48bf28e7ece6504235ec6ea2083330e8bd99575eb315dc0f87b9570c4d4d4f3c427d798d191aff2242d66dad7a00be593355298ab8e832e57e49d965f85de8ea0eb6d5c2262a1655ec6837b3242fb0111240024800092081af1d018cafbe5e433ef78774e7c015df772bb6ef28ddbe83473039fcc99b2fcc9c8e75ec85375baafecf372d3b8efc98adbdf197b4b825476423678f9f51ecab83056ed58d14d7261ef812defb7acfa13af86d9b81ae86ed2020059973ed5deea6c71fe40fdc8ac33e87739359ec0335fc4fa12db16a59e15878fc53c787a9bbaac7d96a3d6dd593b86fb0bb8f61a520811622936b696896085c81f88a90ae0e47c181e6124d496d63092fe3f304b98cd065c47971b4b4d2a82eb3aa4922ec393f525c494b622c3f3008bb1cceb499620de5c14481c7f989a5b09ed218cbca60770ac63d5a682be383af79edb21d4c4b8c2f10be653082228a2f8f4d787b1c6c8f3d5d1deb248f7f93d69be94a3357171d87e7f03e419e7c5bced96436f939af3f49a1f44fb7a3c752f46db396aae74632323a0af5c27a362496348e59e3e5eeeca70f561a55e6320af80f9cb9a0a9ab2fcce3c32cb2087f9869319ee95d4cbb13d23f3fe7b4e6703345f2541a4365bdb992ab898786fe7892fb1145e35285aac45a59629d6912095c76f0553305ec57229e325538532cfcc17e0f634227d52dd7ef828f95d98d573021012480049000124002b9115873ebd6dcc36c6e4d58a9d9567c26f59ae08ee68492d90425a979fe16aed9290e7b72c322212ecd66e0d0263e0f19be2af5ca57f5f7f7bff2ca2bb9fbfff594ac7df6fffef3f7ad83c75e7cf2d5e47e805b6a775a4a140a12095c38e59cdb4590e7536bdf59a25504868e397b6f0798a9aac65c20974627c6fae6dec2d7d136d8f78e4c06dd82a700cdd933d90fedb1853d67dacff94cf2e8c808044ab79574146d50cb6291498f8759509189a2e1b8a78087db6062416958cf47d170e0aba0fca2ec129d89d66a6432129b1c87338dd22deb685a4ba02a1860e668e4cc33a96b71fe70ad8086a640963164b9ea59d238b2ca65b16c047c2716e1cf7c3c9344b23e85f42f86b389aa3217164833bef96006949835ea02d86d26e4f5b832c737cb8fbb5220368e3aba86d6c43d3d8bde7fe3ae788d46900012400248e0de26303c3cac56abe1d0d0356bd648a552b842e2ce10259081be4104018ffa902291c86bafbd56515101622000d78c949797072550c567f83c2fc3cbc3353bf1e6a09c35cca5d43c14800f5002573e9f7a9d2d844c46c2f82a03c8fd775bfbdccfff5a36eab9914fb77d77875e1e3af6f7adafde56bc74771199ec87f7d8be7477763899bb6b18ad2d2b011cc765c589ca9000124002480009dc0704eed7f80ad707de075fcef9bba0ac6cdc6191eee084a2fdc7fee55e0aae38a7d9f578f377116bef0502388ef7c228a18f480009200124800490c0ed12c0f8ea7609aefaf6ce177ffc9c45af853580174ec10157f75a1a71bef586f35e731afdcd2280e39885040b90001240024800092081fb9200c657f7e5b0a675ea526fd69b5569f57883049000124002480009200124800490c0f210e077875a1e5da8050920012480049000124002480009200124f0752680f1d5d779f4b1ef480009200124800490001240024800092c27015c1fb89c34575297fde9e75bca482c4664b2f0678ed7db57cf3b4b265b8d592d279313d75d73fbb32f172aba755f8d62c273dc913ca18baa69b6c0995709d84d73eafa60b78b592e4bb9e9d1d96acad47970fc563438eef5a4ec9f2e523e9fd6aaa6568b59234bc4a29109cf59879bdda77db5f5773eff45ea04bf0fcbc94dc42e162301248004900012400248e06e10c0f8ea6e50be0b36ec0f3eb2abd5c21b8a5b63ab24beb2d9f73e6833ce1c0a4b489dedfc5b47bb979306554c19b412839576f47938bdd426da0ac74371295198b89df8aae9f1672af5e4fc476f778fa4ba4ced7dbad5a8489df88d0f74feba8b81d8c70ee726abe64e620d90373a58afc4ca53b566e5ed8f3f63d3cba1980b150b6ff673f1d59dec6f960b7305745db36543fce2e9dbdd235ff8fb20c647ac7cce2fcc210124800490001240024860d511c0f86ad50dc9d21c72befae453ff4e88e5a5375f6c8d4fc796a664795be9aa763d64334a487c74e09c7b386adc5a5e9c175f5e1384b9729159b73638c80757a09c71767cd04f88b6e57b2d341c557d7be6d8202a3f3f53872c4f421291f151df3461052492983f049fa65d8d6c7035e11d387771384f535c5a2409b34dc5cad93ad1646aa2f5f244d8dbf5ee09e89ace64227c8c7767fb2bea8e71f3164abb264a3919465466c10a91ef83181fb1f205eda0001240024800092001248004569200c6572b497f796d5f82cdd7d74f4248313783b2bc0616a7cdd4b0bd04e20f9ffbf7c7b9690f8fc7b53805394933ce4e2643d00febe8e431386d29758e294326f7dbec108d2db935f1f1899369d35a241fc22e92089c39c14e651132db5bb17256482ce9cc5a98f4f35deee5e346ffc8aca93bde5f4197e230894648360a41619142b1ef03b58cdc444c63311240024800092001248004ee1e018cafee1eeb15b474f81fdfdc6faf6097aec5439f9cf8971fbd7a8c75c67ef88d1feddb5ebc81776c72ecec4ff63ddb3b4f392f97e3d5b4b948494874f48cc09a32dbae0375251a05684ac4c2d7facf769ef5d4ed7ec2a6088c460bcb8ccad0d039f7579bea696d3cc4fca62bb8f3bb0f043efd53d050534969a107619fe73f8e3afca686277656c8c934bc6815fbe2b3f74f9ecdc5afbad67ddb28839c0d84a2de8b1f9f70ba7369252423cd9ad62232f83149e44526c2cc46435c4bb17221b56c99c964326c0076245f653699f2954a12f030cbd95faa6e6fa3cda866f9438a85867ef75e46acc8d770579d8992e7af65632052b0813611a2949170807fb34c601c535aa667c5bf0f627cc4cad3f5e21d12400248000920012480045617018caf56d778dc096f9efef9873fd851444257fff8c928ddd8f0cdc7fef7cfaf5ef849fba5e7ffeee0f662f9d8c027aeab21b5b9ccaacb631fea09112b5f946fa64d7a988189867ce9b106e8a0f71db21be019dd37343221d95466a6aa5b76c7c3813cb9424b9541c0154fa84aaaeb21128c27a42a63f9fa49854c4ed5b740cbe844f02ba546a9a7dbdaaebfd7130d472230ada2d4aaf395d9c18e80b3356d076b29158906196f48575a62b63dd4161cef74b1bb462c3e4936c09a3d7eede0548861f7b160467d51bd4159bde790d1e3fad0d193d429569eaccff834d91fdd63e367ded454ed1e8aad0e163bda5dcbd6dfe6866aa35a1af279c76e44d7aab5fa02c93cf8ec2d8fdab4bc3b04468173874c0c90f7bb88e0389ee8c91a70b60744fcfb20c647ac9c5387172480049000124002480009ac5602185fadd691592ebfb6fcf0af21b89a1c78aef56f9ca0d3fed21f5e6dad6ddb4dda7ba942d83ee186ebd82f5e38062b0b67935da47c5620a74cbe14c22b121af566489b1ab6417015f59d7f97dfe8c2d67ad85e66de5637c1bec2447ce74e5f353c5c6b544486cefcf60bcbfe5a3d3cfab34bd30819773b3f84e926aaf9709b55a92b22fed3c7db61cf40ddbec3fb0b3981052eba862a08ae62beceb78f32204ab51c6ea3cd5bcb89ab7b818682d5526dfd9e3dc99a40e71b1d0c21dd1f7e24dddb6633aa0c74ed118a1ee8f943978b0d36c4ca93cdd33f47fabb9cbe8d9bab2b4bd421eff9bec1905c4e6e5cf3103f59a6fe7a354a98058c8cb9cff03b12a69bcfbcebff535750a33055d753ea35def3670743442e95de1cf7981af6098ea3a9e7b8608025f67d007b627cc4ca335dc47b2480049000124002480009ac2602185fada6d1b813be6c331780da02ebffeb70c08b5971520041557c2dcc5439fff3e3ab15cda5adcfbddbf223dfc5de8f3ff8d5cba7d8384bac7cb1ceb16feb28b410fb30a92d371b3510318d7e7e71a6d0fdf98da6327d9e4c0a6f4b25029f9c65cc8fc35455d87dd2256fda0a32a005664fa2a3e7d8e00a12337c236ed517686878c389bd67d73cde62330b25831a423522d33f72e8106b8a8045b2268f2d5b4a8a4f9cfff8c2a414749078f40633a3c2ef3cfe9e93aedbfbad2aa34a6d6ddc2523bf39cdce8f89950b5af67bdcfef0065b65098906bceecc1ded6fbfbfcce050d050a6a1edfb2d0f86af7b872ff47479c4e7f0fc231eff0851d9eac0d72fafb8dcc9e0a9a95e781cf92950a18e097f1f3849313e62e542eab10c0920012480049000124002ab83c0ccca9fd5e10c7ab1fc04b614aa20a09a1ceeff73afabafcfe5ea3b7bf6ec27ce8f2f80a5f69f1ef8fb573b3e191c2305fa8a1dbb5e7cf73f9edfc93a2056be28e718af3f06f1954a9dd14a2a85afdcad5864f6895e2659c38b4079628acdc28e8391ebf0f651b22554847d6333773a1dccbec4bfbcce6ffc901459f853a7944330149b181ff28e8d8c8c8d8d0c0d0d7999a1f1855b0a4b4c79812597320ff5f2f41c7fefaddea109d867a4b4bc62aeb558f99cc45c8eefbb849b039c2b5d4c6e9efeba4eb77fe43cef0d84884c69a0ac2dfb9f6e86683597343b24d037d171145624f67d989316e323563ed71273480009200124800490001258450470fe6a150dc672b9129fe6e2144edda54f2f4ffee09b056b033ff9c94fb2f5f71e7b1dfe11b2e5873f7ff9c91da58d8f1e26a77e0d6262e5d91a444b9860384e346a4b5b95a33365e3c0d12f4236bdd6b4b58678b81381751bd9a3a462f1b439282ee29aeb036b63e6aea6c102db32842337d3ec8aecc39eba3fbbdf1b88d59a65d2486767675adb856ee2dcc2c52ca978ba7b99f53d272f6f3b529dfdeb122bcf6c3ffffd6df777c4dd0dff60756543db23d5946653791df1f4cc63930da620a5f4596c1c21a8164e22df870c61313e02e594ad461deb732d36d0ce3088b74800092001248004900012586602d94f80cb6c00d5dd7d0205a6da979e7f494686fff5e55f5fea7dbd6bf0d15d961da7db5fffe0d8c7c4b8a5dedebc297cbaf557c4f1eaeeeb7f39f3f1f9fe513fd9a885592ed817ee3ab13f275cbee86eb89ce737efa936528d4fb715f45d1c8b1459ca8db2b10f3b3ddfb2d5ab4abeb9af453e189096575540bc14bc3c30a5d38b6da80eef5f29cc35cd766bc1c6e212bd92c403bd27d28201a9d2d8d2dc42a6028e6e2e664bba2a5399a11c8ea4eaedeaf18f745f0e945bb5d43307765d700f1195ae982ad3c43c6f773893e2d99f60594e35efd546e1902bd6bb1b833d4e17b7fdfd1a4dfdeeddd312b6984812be8133ddc1f2271ea1bebc0653625f44c8baad550f00d07038444c4dc2e5d9d6722eb9adfefe991c6a2b0f8f5e1b1a1f0f4d12a5825de2189be44eea1277c0e78f10ad7af3436da18b232a93a5483ada7152781c19512522df0757be309ff9b9e9ea0eb6d5aae0bc3755ec68b7b84d5167b0020920012480049000124002778a00c657778aec0ae99d8ac2cb562a4beb2e0b890ffe17c45784bcfce44bbaf6e71b4a1b7ef0e306ceabe8c0e9abc4f9d515df772bb6ef28ddbe83777572f893375f807ddb1f13295f748746ce1e3fa3d857673550d58d14d73a1ef812deef7acfa13af86d9b81ae36708541e65c7b97bbe9f107499c9dfc88c7a7535ea862f7b660e32b6d8955cb4ac7c2e39f3a3e4cdd553dce56eb69ab9ec47d83dd7d0c2b0509b410995c4b43b344e00ac457847475380a0e3497684a6a1b4b78199f27c865e6bba8f446788ee793dcaf0417d8a3b5647283d99c2c2672bf8a8cc7a50a5589b5b2c43a531c095c769cec832922e1f2d9c6c219f66da5180724a3fe76fbcb4c07c2b70c464a63a478cdb1096f8f2395688641f6d6ede8b1147ddbaca5eab9918c8c8e12d227388e028d9345c2df87e894309f85b8b1912dc4b66c7888090920012480049000124002ab88c09a5bb7d25666e5e8da6c2b3e937a4d70479142c96c8292d43c7f0bd7ec14873db9615117976633d3d3d37c1e327c55ea95afeaefef7fe595577274feeb29b6c5be739b4911b9113875ca3947604bed4e4b89424122810ba79c29bb088a95cfb5cc3d67aaaa3117c8a5d189b1beb9dd1a74b40df69f23934177c66951997a4df6437b6c61cf99f6733e933c3ac2ee847e5b4947d106b52c1699f47898db5224d0183a65d6a80bf2a524e4f5b8985957c5ca05542c7b91707f75265aab91c960e66a1cced6cad1a889a23505b2f421cb791ce76c647f1fc4f88895b3ba74740dad897b7a96b8bffe9c3b98430248000920012480045688c0f0f0b05aad86f5406bd6ac914aa57085c42f0f820c380511043cea438a4422afbdf65a4545058881005c33525e5e1e9440159fe1f3bc0c2f0fd7ecc49b8372d6309752f350003e40095cf97cea75b610321909e3ab0c2078bbca0898ec87f7d8be747776389955e619ba83049000124002480009200124b07402f76b7cc5afb2593a176c8904ee3401588e07ff30210124800490001240024800092081d54f00dfbf5afd63f4f5f670c4f9d61b290b1abfde30b0f748000920012480049000124002ab9c00ce5fadf20142f790001240024800092001248004900012b86708607c75cf0c153a8a049000124002480009200124800490c02a2780f1d52a1f20740f092001248004900012400248000920817b8600be7f75cf0cd5028eda9f7ebea50c0e67223259f833c7ebed19ef2cedfcc7379fd27a7f7fe4857716d0b352d5544db305ceaa4ac02e9853d707bb5d4cba2374ebbe1ac584e7b823ed04e114195343f303d260ca0958297577285bd5d46a316b6489583432e139eb70b3fb9c67f9b940bfee906bb36ab3fc99adc9cc504d2d96f8f5cfceba46326b9672afb3d594a9f3e018b26870dceb597857fddcfd5c8a37d8060920012480049000124002778d00c657770df59d35647ff0915dad16de46dc1acb8cafec75f60a8bb4226fe70bef9ccac1919d879f6fd91cfbed4f5fcd88d27268ca8b50fb0eb519a4131fffeafdd978c8d672c04e6b467b3f3ade23f0044f6da2ad34778430ec165898c88cafa862caa09518acb4a3cf23e80465adb2d22498983b6158488cae6bb66c885f3cbd0c7bbddb1f7fc6a69783112e242cbcd9cfc557597e2ed02f212797b32ccb1f5eb900076a73054d93c2c4a2e22bcafefd36dbcca8c57ceeb78e72df17da0ee747abe64efe0d90373ac20dfbf6541b7ceecea33c7b53c3d37baaf3669b88f8298642c07f31512c4702480009200124800490c0dd2580f1d5dde57dc7ac395f7df2a97f27c4f2d29b2fb6c6a76399769cce137f34acbfeac825b882b6d50f7f6787256fc2feaa73890116f345206a30a8373598facef2d1946eb349434878e4b2407005161967c707fd84685bbed742c311d399fe33572e32ebd6060785832b563aceb6c96e98aec8b8790ba55d13a59c0c935eb1d83b5313ad9727c2deae774f804b3a9389f0ddcaf273817e2dd6ee62e5b3fce115087098ca096086fd90cfeb1d8d1089da6c5011095f69dad5c8065713de81731787f334c5a545923021f95236de921038539a4bf9f9f09f1eeebc3eee56c4cf19e1ac0f01ffb364b00009200124800490001240022b4200e3ab15c17e478c5eba44c8fa490833e6660ee6ec385ffdc92242a5a9695013cf8ad2e6d42d98bb38ecab3498f5c55b081f79e868bd922442e33dec223ae1e4872a790c8eba9a79504f93629c9d4c5a41c64d880daf841aa6c9c561b2093a9656b6941b9d590b8182ef722f1feff947668346013fe7edd752ac2fa68d803fd05c8cc32c401d21e2033567dfefee3ee186f8b2e199fdd5c9ff94e4e7819644e0cc892e8615f4b838718abbce5da6e6b25c4ed8cf0ca1d95b31ff6705308304900012400248000920819522907c285a29fb68f74e13a8fde1073ffbde7a129d2679e1fee3fb9ffde58cc1dac3ed3fdbffd57f7fd02d6b3ad86c85856ea1ab675f3ef0ac734bad7dbd52b3968dd1749b77d612a25710dfe0a95e08de1693fc3d57276acd6aadc946083c815315c50a42822357781db6a6b6ea2de6750a294c3b45a71291f1731d9db30b09d3cd981a9ed8592127d3f06256ec8bcfde3f7936b59aaa6bf9d6d6e2f54af91a093b17321b100ae8ef19a7e4f96bd9677f52b0813611a294917060e6cda0bad67ddb28839c0d0ca2de8b1f9f7082cba2c96432193628a13a5f653699f2954a12f030fe79fd14d3256c97aadbdb6833aa01189b62a1a1dfbd77723680e30b9357dbdea7ea95810bef9feca9dbf544d5c6e94f3feae8f353bb9f7a5872e58a92a605b8e94cc21c388dd3316943cbe395b41e863f1a1cea6a3fc9242dcdf729cf67b126930cfea3229117990893e574626e889241ae183753dd819ddba6af5db82a2dad2e4bf147ccff5cc2c1a487f88904900012400248000920813b4700e3ab3bc7767568fef2a63f10884f93424b7141e1ba399f945aad4aa56afd811522abe1c1b1b5c5a5a50d3f7ae9b1072dfffb31cbcc04d88e232feee01a0c9f24fb5fce7169e1ac05d768b05ead516faad2b95d7e8b69033cb10f0db0f33dfc8b58103804c6c7130a8d5eadc857ab669b6566a2d1702402d34e4aad3a5f999f5a4b35ed6bab34c064cc846f3c92a73668d8980792a07e7b4b9d4d3b130550f52d1427393140deeff2d4b41daca554104f30de90aeb4c46c7ba82d38dee912796037d91fdd63e315a9a9da3d9ca260b1a3dd25ea27674ae02266b7b9a1daa896c2d2bbb11bd1b56aadbe4092d6ed344d31b942be4e05c36a2a2d52cb64842a37f55d34172915bec45782dcec2d8f0a73182030b5273758ab0d243a110849551a4d49638b8d71cc176aa6f93273c38cfaa27a83b27acf21a3c7f5a1a3275526bfa088b6a91579d3d3051af892b13196d8f8e62b1472b99caed58308ebcf7ade9f4dba8784fdefe2a71253ad611e09200124800490001240022b4000e3ab15807e574d5e7ae7c801d83370cb9b7f78b73cd530bc13c3a5c1d3bf78f28576b2e539c7bb8f155aacfffefa3f5c2dd9f08d83477614e77dd2f1cf8e51b25e2e1fbbb0d8e08a557d65e88655a337946e222e73113c4e47c62ec28486a9a99ed690c444ef6fdf67f7b9d0353db3bf72be6fa1bfef783b4c6de9f61dde5fc87bcc5f75753bd8e02a72bef39d6e26458f88fefe3f7505350a53753da55ee33d7f763044e452e9cd710fac6dab82e02ae6eb7cfb28a82154cbe136dabcb59cb8ba793b99d791fe2ea76fe3e6eaca1275c87bbe6f302497931bd73cb09c4ed8cfccf6c97b51bb5e8d12428fc898fb0cbf2361b281e0a7c73fd1ac556928d3e6f5dc9b4d5ae366dd0d78fb29ee1ff9b3f3cc9fb3b989722046de40c073a6c3e1223afba1fd36a50ea29b45a7ee0f3f92ee6db3195506baf608450ff4fca12bb927a19aaa9e096d39ad6c7c2536bec9058419fe88fbbf683fb1011240024800092001248004ee0481f99e6cef843dd4b942044c30d2d3e9b6d90984e1d36c7005693d7b81e7dd4bbda72ef512e36387d94a67fbb15eb67c6989b9381ca9d42bf4c5b69a04cc4f85c6afc29410b5d9086b118383e7663611944bf9b9a0854cb0dbd1dd4a11d26d2a82e9aa10d3c7065790927ac4f4fb473cfe11a2b2d581ec97575c6e08edf86453b3b34332fd23870ec1fb5b092203436bf2d83291e4f7b8fde10db6ca12120d78dd6e265d2cd3cff4da943b83985d6670286828d3d0f6fd9607c3d7bdc3177aba3c227369a02e1c89114d81655b898c4482e17c8dd64ceb61222ae463785b99fe887230b16faf25263c6c70050906096ed9cb1292df79fc3d275db7f75b554695dadab84b467ef339a72678b9d7f97950298b9175e5dfaea7525467fa095582fe88fa9fa20bb34800092001248004900012584102185fad20fc95371d0d4fa63a01a1455a8208e67692df331e82c9a18dd5f00e16898f0df23b1db01ab9cde438d54a369e61e7311699542a360288862666dae5a7e959407f4af4a453cac181d8c4b83730956c258905c7e77787572091727346f38b8ad4ce63d775badd676baadd4619b52a036535509b8a1def882d7f1bf38588515b5c2281d0c8757583bd52ff000d5cbc4111bb69c5291cf8f2f8d4ec2b6c6c416ea16f9acab91b4fcf710ffb56586d89bab4bce2732f5b93f8eafa08c3b039d3267b0efa17f027cb7f5633262480049000124002480009ac28018caf5614ff9d311e9f4e2eaecad09f552e15197f76f36c48c93584196a72bef50f8e4d502a0dfb7655747c666f752e868b7dc5c775d4de460b3cc467c45702fbb3f326d3b65f671ffee54a3557636a6b2a9bd133affe99c9b2143c7e6f20566b9649239d9d9d39f76b21c1343fe78453fb35bfdd117737fc83d57d0d6d8f54539a4de575c4d333a72825c77c7123065b90c8c80473cd7df1abfa4abd5c06ab1d03232932d9dbd66773e0c5e7364c4f6dbe603e9a3180730d7a4e5ede7664766b41289f3722cde226e68f98ffac61ca56a38ef5b9f075acb951c01c124002480009200124703709883c5fdf4d17d0d672132830d5bef4fc4b3232fcaf2fff3a75db3ff9c6ed504ec2975f781ddec84a4fe9535503830162297ef8d99f8ffdf6d3a26f7ca752d6f7e4ecc683e9ede6bff30c8e3c446b60a6291218653851c6773341f4daf28777af2d5795506afe793b7d219a4c656e696e8123947abbd2b673972a8d504ea6020e384578d41fb7695565b57b5b8be4464aab60c32dd806637efd3e7f8468d59b1f6a0b5d1c51992c45d2d18e93dd9703e5562df5cc815d17dc4344a52ba6ca3431cfdb1d4ecedfa55c52fd4c6d9fd6af1111bb7f2687dacac3a3d786c6c7439344095b2cc2f4daa478a41b08c3b24f1989fb46e11db0802f52695690f08d1ba976b3fd11e000efb8a5a685a686a886dd4d14610606bd37f3ca6bb6c23086c3215681a9e98947a82faf3143e35f44c8baad550fc0e873551b53d5134e7ffab0936c3fe79aa4fb23e03fbfb1a4aeee605b2d84f31655ec683733d71c734800092001248004900012b85b04d8a7524cf71181a92874466569ddd5dadcf6b025a563ec89561bac50debab719966611320505535f25a772c26cc3d989af632fbcf9c958748365c7911ffff8b11d15da99adc253d4e598652ef922f0149d18bf929c4f7077f68f868844612ea3d4d2f0c0998fc763449a373bad013b1dc2b49496b6d265f4666d8a9538a851e8a19cb6592828f7383e6160119cdc5856a6554419f7650841d86ff3bcfadd8e1e6f28aed052f58d8d36caa0e0febcd0d5e1180a46e59a92dac6c6da4aab412509f9175c5ec7ced8c4844e08cbf413e4d824d02f61bb8c2f10bea5315295d5e0633d6d50c526bc3df36ce2e71f9b80357df12f87dd60c57f75945d30199998f35fd01f210eace0742c391335c53a9c3ae1c67622254d913c95c65c596f6f6b69a4b4f27868e88f27b9102d1a972a5425d6ca467b4b8bbdbe44238f042e3b4ef6cd1c5f3cbb3f3ba73ff505af2c3fe7f347c8ff19e7f8ffa249b869cc147f318b0490001240024800092081bb4460cdad5ba9bb06e46a75b6159f49bd26b8235ca1643641496a9ebf856b768ac7e1e0d0045c5333d3d3d37c2164f8aad42b5fd5dfdfffca2bafe4ea3dcae546a0d6beb344ab080c1d73f6e6d62067291d451b64b17138362ae7268282a0070efa0d78323780985fbf89a23505b2c9a03bf58026b6895a168b4c7a3c8ca0ad3b54286c5767a2b51ad86f3d3679fb90441d17e4202a9d5d61a2aacc850552697462ac2f6d9f0f1d6d336bd405f95212f27a5cb73bc8d986674a04fdd7d135b426eee911db5f5f541b56200124800490001240027799c0f0f0b05aad86434cd7ac5923954ae10a893bd39440069c8108828f172291c86bafbd56515101622000d78c949797072550c567f83c2fc3cbc3353bf1e6a09c35cca5d43c14800f5002573e9f7a9d2d844c46c2f5811940f0768e40aff3d472075633cafd4c66443467753139313d62e5bcee11c693f67a12573a7f93c538b5385961bbfc36798bd3b46869410e8bd032c2b84618215aa222d4000040004944415479768b45a1f2652e13f4dfefe9bb1bb697b92ba80e092001248004900012b87f08f0ab69ee9ffe604f9000124002480009200124800490001240022b4500e3ab95228f7691001240024800092001248004900012b8df08607c75bf8d28f60709200124800490001240024800092081952280f1d54a9147bb48000920012480049000124002480009dc6f0430bebadf4614fb83049000124002480009200124800490c04a11c0fd03578afc72dbb53ffd7c4b1989c5884c16feccf17abb33ddc0ce7f7cf329adf7f7475ec83a59385d6eb9ef74b69a32751e1cff140d8e7b3d23b0b51bd5d462895fffecac2b7b0fbfe536be147da686e607a4c14138c158b83555d36cd1b227194b2453d707bb5d2262c28de7295dc8ee3c4d6fabea0ed9a55bf7d528263cc71d19e716df96afd8180920012480049000124002ab9f00c657ab7f8c72f2d0fee023bb5a67ce138e5b6399f195bdce5e619156e4ed7ce19d5339e8db79f8f996cdb1dffef4d58c282d87a62922b4fde0b76daab9935e03e48d0e0fb5b982a649616295c65794b5ca4a9360422cbea236c111c733e71e270a13cb165f2d643705ebb266ef905daa98326825062bede84b1e2cbdac6ea3322480049000124002480009ac5602185fadd69159a45fce579f7ceadf09b1bcf4e68badf1e958666ba7f3c41f0debaf3a7209aea06df5c3dfd961c99bb0bfea5c7a8065dad5c8065713de81731787f334c5a5459230a89e8ac7e19a602fab322de01ee3ecf8a09f106dcbf75a68380a7bf9bab080dde53394a1e9ced865ae5c64d6ad0d0e627095811b6f91001240024800092081fb9e00c657f7cf105fba44c8fa4978e49f9b319aeb9cf3d59f2c22549a9a0635f1ac286d4e5d0eb9fc3c09c451813327ba1856dae34a6903357cd211b2ba4e830db121d3ac7b4937d33efde0b13c9658482cadcd823739d85d50c75204ee945dc6d9c92cc51f6c8304900012400248000920817b9c00c657f7f8002ee87eed0f3ff8d9f7d693e834c90bf71fdfffec2fe75ad80fbff1a37ddb8b37f0259363677fb2efd9de2db5f6f54acd5a3646d36dde594b885e417c83a77a21785b6492c1974b222f321126eb4dabe998b4a1e5f14a5a0f66a2c1a1aef6930cabdcb6eb405d894601b9442c7cadff6ce759d9dea7ea95810bef9feca9dbf544d5c6e94f3feae8f353bb9f7a58e2f9afe367b9466cc3b954b7fb099b22301a2d2c332a4343e7dc5f6daaa7b5f110f39bf73afd02fa67e657a8ba966f6d2d5eaf94af914820b862034b53c313df7d20d4df7582b762aa3bb0b38a8c7edade39df0b4575adfbb65106391b5846bd173f3ee174cf79269413b0cb8909e8e1fc097cfaa7a0a1a692d202b7b0cff31f471d7c742a240f0e6f9bbe76e1aab4b4ba2c8333598cddf9f4e86cf647eaac1a0517d1276201e6d38e0bf2277656c8c934bca016fbe2b3f74f9e4dedb7809f504dd5ed6db419d5ecb8438a85867ef7dec9acaf0c5f89572480049000124002480009ac7602185fadf611ba5dffbebce90f04e2d3a4d0525c50b82e55dbf37f77707bb17c6ce013d7d590da5c66d5e5290979eec55f3c66e11e9709d971e4c51d5c83e19364ffcb392e2d9cb5c08cfaa27a83b27acf21a3c7f5a1a367b602667ee4066bb58144270221a94aa329696cb1318ed8be4376830cc286a19109c9a6323355ddb23bde2d57c8d7a9c06d5369915a262354b9a9efa2b948a9f091a95985a999fc3cb9424b954180164fa84aaaeb611a2e9e90aa8ce5267ae377b3f5874ff48c504dfbda2a0d2038e11b8fe4a90d1ac040487ebe52269fce97cd28cf5728e532895a956a2b235fd376b0965241bcc87843bad212b3eda1b6e078a74b747e4ed82e21c27a26f215323955df0246a313c1af941aa59e6e6bbbfe5ea74b445ea190cbe574ad9e9507ceeb939cdd8bb42baa4757d5f63f1a2909890746996054aa29342935d0fd50381281ed3f945a75be323f1591b09f2e7f7343b5512d0df9bc6337a26bd55a7d8124ad59aa0acc230124800490001240024860d513c0f86ad50fd16d3a78e99d230760cfc02d6ffee1ddf2345576aa504ec80dd7b15fbc706c6e726ae4f57fb85ab2e11b078fec28cefba4e39f1da364bd5c3e7661b1c1156ba9fbc38fa47bdb6c469581ae3d42d1033d7fe84ad93330e039d3e170119dfdd07e9b52a73735e820b88afacebf7bb49b6d6c6b3d6c2f336f2bbb3c91d0aa349469f37a2ed2d11a37eb6ec05b5d71ff98c80c07171bface9dbe6a78b8d6a8880c9df9ed1796fdb57ac5966d42faeb4c974776b0c155e47ce73bdd0cccd9353db3bf92fd5564846f19b7ac8be949d75005c155ccd7f9f651066aa896c36db4796b397171dd499765ef7475c276c5f49c211097421a773b3f846931aaf9709b55a92b22ba0261bb6738694232382fc12eaf28530fd135d6b0c11573e6d79da94b3f0939de0e537cba7d87f717ceb8c07d88f5cbe5d52861cc2263ee330eb7682c9aaa09f3480009200124800490001258cd0430be5acda3b38cbe9960a4a7d3f439fff3e3ab15cda5adcfbddbf223dfc5de8f3ff8d5cba72e914bbda72ef512e36387613e67d8d97eac37adcd226ffccee3ef39e9babddfaa32aad4d6c65d32f29bd33ef6eda6c484870dae20418807b7846c366ae073f4f38bec3d24f7e7379acaf479b2a9488c680a2cdb4a6424120ce76bb4665a0fe2211fc389095c24f0d2d7276719f3e330d513769f74c99bb68254c14661fdeb3715c1745588e963832b487229b8b7946450b3b32e32fd23870e410f13440641c39a3cb64c30e9c4ec8aea898363d1d1736c70058919be11b7ea0b34b48188d865e5b3392fcd6eb61e4236b10bfac2233de9c155b2b3ecb691b79237eca768bf98c1a1a0a14c43dbf75b1e0c5ff70e5fe8e9f2609c958a0ef3480009200124800490c03d4500e3ab7b6ab896d5d9f69f1ef03cf6ecdf3c6eafb11455ecd855b1a3b1eec5bf4a5b06c82d94bb5d9b9e9ee31ef6eda9da1275697905f913ab2f3e95b6770644025236aeb9158bcc3e59cb246bd827f4a02f448cdae212093ce2bbae6eb057ea1fa021cef00645dd62c30a6eb609265722d761a11f27092f5609ea97abd8082f1a9a98d197cfc645ec1e1719299ff58f9f41caa8e16f754a39348c4d8c7b035352c8b149120b8ef3b9ecab4ac4aeb81e3d3810f28dcda8d2e960d6271eb81e50ae13b10b0b0305382fc1aea01e023b9340029f724be2fd22aed3ed3e5b53ed36caa8551928ab81da54ec78a76be6cdb8dcb4a3141240024800092001248004560d018caf56cd502c9f23f16991d56c59e5bdc75e877fb07af0873f7ff9c91da58d8f1e26a77e0d8ee4f3df0b763ff5e5493d272f6f3b523dfb6d63839df434fa45c8a6d79ab6d6100fb781846ea3026462f1e0171331d862434626986bee8b5fd557eae53258851718496f2e7c07115a72a1dfa43f44b402faa709bbee50ae54731a4c6d4d6560968fafb8688a8f03a9dd3b68086332e2abd4fdd9fdde40acd62c93463a3b3b39550b5e5804d97645f598ec9cc69991ad69b0b0b347919b7eef94b05d4e3e9b331f122dd6ae801eff8d689ca8141bab28c26f1029d0e194fdeb45fbc5351b7177c33f5855d8d0f64835a5d9545e473c3d330a295b8d3ad6e7c2784b00301621012480049000124002ab90c0ec13ef2af40d5d5a22810253ed4bcfbf2423c3fffaf2afe7deac82a7f98ddba19c842fbff0fa3bc4fe9ce3d5ddd7ff72e6e3f3fda37eb251cb4ee3840330dfc3a681c100b1143ffceccfc77efb69d137be5329eb7b3275e3415e68feaba9e98947a82faf3143e35f44c8baad550f8081703844882aad5d72019dc7e9f996ad5e55f2cd7d2df2c180b4bcaa02e287e0e50126a086658d3212f78d7a883fe08b549a15247ce3469a92cc9bace80d66a8063d215a40ff8551e38336adaaac766f6b91dc4869d9a88ec0f60c7cd2d28dadd2adb05f86865bc7986147a632b734b7c0115fbd5d3dfe91eecb8172ab967ae6c0ae0bee21a2d21543ab98e7ed0e67462bfe9619f5c705ed8ae9f9131bdd29cc35cd766bc1c6e212bd1266af7a4fb04188b0dd3fa59b4d725e82dd3445493db042f12f97022d56adb5ed99759ecfaf7f25d56d34a9a699f613731b064a9546e043a6028eee3e22d6af3f93436de5e1d16b43e3e3a149a2e4b6228c4d26237b5dddc1b65af8c65854b1a3dd4c9a2778830490001240024800092081554900e3ab55392c4b776a2a0aef1aa92cadbb2c243ef85f29f1157ba2d5066beb2e2b890e385e7fc7e91cb8e2fb6ec5f61da5dbf93d02c9e4f0276fbe708cb77cec85375baafecf372d3b8efc98adbdf1176e4e69515e45e35285aac45a59629d6916095c769cec23a62688136077bf99d229d8da90e4b1131d7def395407bf6d33d0b0b3209b82ccb9f62e78d78882092c85e4cb61f6b523ffd5d10973993a3221be3c10c210eee0ae38289e7b01086c8ae9777f6229aca734c6b232d86581718f16dacad82062c47971b4b4d2a82eb3aa4922ec393f525c494b66dd26acdb32b996b66ae175af2b105f11d2d5e12838d05ca229a96d2c613b0031a147dc4f8f43d8aea81e0d1b5f694bc020a45878fc53c787fceeef227655c29c3dce45da15d103279a7575ac933cfe4d5a6fa62bcdac53243a3eb33212f271d65d3d6dd50386c1ee3e46ac5fcc74207ccb608401a0a015a4d884b7c7c1f78cbd65e35db8ce29e6eef1820490001240024800092081d54a60cdad5b730fa1b93b39db8acfa45e13dc1fffa1643641496a9ebf856b768ac35edab0e88a4bb399e9e9693e0f19be2af5ca57f5f7f7bff2ca2bb9fb8f923304b6d4eeb49428142412b870ca993ad7c5d6d7da7796681581a163cedea501d3d136b3465d902f2521afc7c5400cb2608226b0cf1f990cbab34fcd5ab0710e02c2fa7514ad95c1567b991b2b98285a29543e8f21506550cb6291498f8799478caf12b30bb5997a4cf6437b6c61cf99f6733e933c3a32920933537e5edb8bb03baf1eae5247d35a98618c05034c9657d9ad85fdd49968ad06f6df8f4d8e7bd2bf273aba86d6c43d3de2fbdc67dbc012248004900012400248e05e20303c3cac56abe1f0d1356bd648a552b842e2ce222590811e4004018ffa902291c86bafbd56515101622000d78c949797072550c567f83c2fc3cbc3353bf1e6a09c35cca5d43c14800f5002573e9f7a9d2d844c46c2f9ab0c205fb35b7ebb40914ef73a4f2d31b09a51e8f72c7ac7ed253411f15eb85858bf9fc98cacf8d623cca25ffb115325e8ce3cc2d955f0e34ec426887f64444857b6bc90d44cd93cc2f3548928f46785a522825cb1b07eff88c72fd82de2f7f4658692f3a9c73a2480049000124002480009ac30017ef5cd0a3b81e6910012589000bbde6f41211440024800092001248004900012585102387fb5a2f8d13812c891c088f3ad379c39caa218124002480009200124800490c04a11c0f9ab95228f7691001240024800092001248004900012b8df08607c75bf8d28f60709200124800490001240024800092081952280f1d54a9147bb48000920012480049000124002480009dc6f04f0fdabfb6d4417d99f9dfff8e6535aefef8fbcf0ce221bdea638ddbaaf4631e139eec8f164adf9e4ab9a5a2d668d2c118b46263c671d8bdeb330d915213d5976a99a660b9c799580dd3aa7ae0f76bb9864ebbbf399e58fa859aaa9c512bffed95997f0be7ca2ed72ac5880c37c7e0a71ced1eaac98ce5653a6ce8363c8a2c171af27877de1675b62060920012480049000124002779400c6577714efaa576eafb35758a415793b5f78e7d4723a4bed7dbacda888ba3bdf7632337a9bbf7fc8aa4dcc9450c594412b315869475f4e3ba08bcbdb1f7fc6a697830d2ee429bcd9bfc4f84a584f965d6a136d85e39eb894284cdcedf82acb1fde13baaed9b2217ef1f42c6c38967973054d93c2448ef195a961df9e6a83cfdd79744607b5ef509b3ee4fe7587f0a61a0b7010f113bc15e6cc7723eb4ad9bfdf669ba11df3b9df3aca3943dbe11c6ad5dc89c301f246474edfa22cfd58800490001240024800092081652780f1d5b223bda7143a9d27fe68587fd5b1acc1154b40c67eb3e4c55bab08e3e288d498e0045f12e3f28430572e32ebd60607737d2c16933735d17a7922eced7af704a8d2994c6469b335627ab2ec32ce8e0ffa09d1b67caf8586a3b067ba73d73eb2fce12d1b376fa1b46ba294936192ae4cc559e772f6305fcac62b1238273899a4f3ae1d5e8083889f448c73d268c667c8e7f58e4688446d36a8c0392e997635b2c1d58477e0dcc5e13c4d716991249cd10c6f9100124002480009200124b0720430be5a39f6abc2b2f3d59f084f502c8b776a73a989b00bd4a8268b2a4d23e3ec64d20a16b81196d799d9a0cd77b9978fd3448ede5d4035548beb11b0eb87f36ee531388a6ade006461a34b9210f007f4c461f20eae591a673dd411b2eca7f4cecb41d84f71ce59ae73057e77f709370c4fc333fbab93ffa9cacf835e2502674e7431ac8c870fdf3971bc200124800490001240024860e509241f5a56de13f4e08e1038fc4f1fecdb70e5dccd079ab7ebc7cefedbb189078fb45aa2637ffc9f2f5ffdd9cfbeb79e44a7495eb8fff8fe677f3963bef670fbcff67ff5df1f74cb9a0e365b61e15de8ead9970f3cbbd8202cce1f852bdf68a5c98887584a3770fa1344d1f0c4331572320d2f30c5bef8ecfd936767ec9aea0eecdc367dedc255696975991e2653a2c1a1aef6938ca9e1899d42f284984c26c3062534cf57994da67ca592043ca1aac7ffaa4c1975fdbea32739914535ec6eaed48e7ef2fbcebe64d18cc9a465013d8c5fdc6e7aebb4bbbad67ddb28839c0d00a2de8b1f9f70427000c165ddde469b51ade04563a1a1dfbd7752d81562dbfb54bd3270e1fd933d75bb9ea8da38fde9471d7d7e6af7530f4bae5c51d2b400379d8992e7af65630e52b0813611a2949170c0c3eb9f8e491b5a1eafa45378f24e2cf24ad5b57c6b6bf17aa57ccdad786c3a11f9e242fbc91e611de2dc963e5ef27cb67bc9c44e8d4ae44526c288404c0ae2271240024800092001248004568000c6572b00fd6e9a5ca758bfc1b2a399c427a3f1a286278f40dc128dcb8baa772bfbfd81407c9a145a8a0b0ad7cdb9a4d46a552a55eb0fac10590d0f8ead2d2e2d6df8d14b8f395f383627934b6ee68958566ca9221e79b19a7f5d4642a6a3e14804a65b945a75be327f4e53be422197cbe95a3d7838110849d76b34258d2d36e69c88bcc9fee81e1b6f444dd5eea1584dc16247af3f6ad56bb7d535f41ce7233753a5d52c9786c645822b22a2a7dd256277cee3cc5c4ddbc15a4a057121e30de94a4bccb687da82e39d2e7f7343b5512d85a56e6337a26bd55a7d8124a5db194a6272857c9d0a86c3545aa496c908556eeabb682e522a7c89af04b9d95b1eb569675853f52d14a76f6280bc3f4020c2951bacd5069ea76a86a7830bf932ccce7b4b35ed6bab34c0f4d8846f3c92a736689479ca995851a05d54849b08e7458f1761467d51bd4159bde790d1e3fad02112e6097886454800092001248004900012b81b0430beba1b9457d20637c203fff6d3eecaffe707db37dc38fb8bffe5fecebb3fd8a224ef1c39007b066e79f30fef96a7fa977c9765f0f42f9e7ca19d6c79cef1ee63851688b61697e0ed9d5870fc2b95416528ad69922b487cdc1b32985524d677bc1df60cd4ed3bbcbf3055e5d4cc4dc073a6c3e1223afba1fd36a54e4ffc4e61f991fe2ea76fe3e6eaca1275c87bbe6f302497931bd73c8c9f6c2f6bd11bad4da6b3dd30bf5155655690c8e8e7a2db148ae881e574c276537d4ecdeb1aaa20b88af93adf3eca4039d572b88d366f2d272eaf4609b16564cc7d26879d373cfe8966ad4a439936afe7de84d21a37eb6ec0db4671ffc89f9d67fe9ccdadff4f5d418dc2545d4fa9d778cf9f1d0c11b9547a731cd64b1a79ef3279a6fa9c4b5e57b7830dae22e73bdfe966c07ed333fb2be7fbaf865f647c45382f7abc08e9fef023e9de369b5165a06b8f50f440cf1fbaeed01e89b9f041192480049000124002480009a41398f9cb777a21dedd4f04e0e17cf05f7fe95cb716d6faf93e7cb67dfd3af6f13836d34513dc4ca77717a281f8f06936b882b49ebd64bfd8c3962e98a2fe215f9428cc75957a12fd82b91e4d69c16eff762be51eb2f05d4c4c78d8e00a12380bb7ec854fd9f27e8fdb7d25c88665d180d7ed76f5f5b9e0611d5ec8f9c4e32344b1b5be096e9acb4ba0af57fe32cf2c87981e31bb7c79d6d5a06667a564fa470e1d3a7cf8d0a14768e8a0340fca98c1a120f843dbf7ffeda1a7f6b535d3f02e94780a4762445a60d95622239160382ed39a693d4c67857c0cdf2693837fc4e372bb4253802afee515c802873e7e75e0bc3cc53d48afd16d2a528279a68f0dae20c9e7dff68293612f997ec2fb5fcb345ea01c62eef7de70f48e866244a6b636ee6aad9a97e9ac53984102480009200124800490c09d2780f1d59d67bcc216e0397f9a9b949292a87f00decfc9c19f687832550a542c2149a453ce815168085fb2d0a8e75a7c6135f1a964dcc7d95bf0dbc92fb49348e776bd83768cf32fbe182c8ddbd2606b28d64a13138c93e1d4895f04f5888b0bd4e89472e85e6c627cc83b3632323636323434e46586c641d475bafd23e7796f2044644a03656dd9ff74332da0812f1af38560888a4b34898961d7e51b44a27d8086e8340c21dac289ef468adc227872839388cff1e7836a958a8d74a3a18919adf932104c897b538ce59015e4bc84f1624d797a8ebff756ef1038262d2dafc8c1388a2001248004900012400248e06e1058f009f66e388136ee12016e5d577201608acde9e4e2bc649974be156049a1053fe13d23f74598c182e7f321979b643dfd67ef1e2e99fffb98eb6ee3335358d5f66a2549783f3bb7a0a70b0888d84ddd9fddef0d40682293463a3b4f26d389d3dd332f3b8dc03e781deffdea8d0fce31ec5cd6a6f23a318bcc17376244a290919be3d7dc1747019e5c4662a1c0486a832c7f662695328711ce404e6d365f9eb9e687804aa94daed9d415b16fcc49d8ff4133b952cd3536b5359565ab4ce5906623cbcfb4dab99b85c62b2a3a81da73f272eaac28ab92b2d55489c7af7346318704900012400248000920813b4260599ea3ef8867a874f9082c30caf28ddb5f7afe2512befcc2ebf046567aca65b62bbd45fa1d73f4ed37f8126a737a0dcc3b288d2dcd2d642ae0e8ce7a3d2a3b189b5f3e5d373b2542b7e8615a2b3aded777bb3b938bf9295399c17f388aa9b7abc73fd27d39506ed552cf1cd875c13d4454ba62aa4c13f3bcfd6772a8ad3c3c7a6d687c3c3449940a769e28362910e4cef4201086e59a3212f78d7a883fe08b54c2fb63e11b3752fb97ed8fcf1f215af5e687da42174754264b9174b42383a810cf549d648addf15161ded6d610bd3846ca1b1e802d2c7c23c3cca8246ed3aaca6af7b616c98d9456c18657dc6ef073add338cc15cf3bbe296290cd1e2fd8f5b18922ccc0a0f7665e79cd5618c9701866f660e38fa6271ea1bebc0653835f44c8baad550fc0fcda4c15d4eaea0eb6d5aa08b1a86247bb19561e131240024800092001248004ee2e81059ebcefae3368ed4e108893e857a0770a26a9e65eb49a9b109886ec066beb2e2b890e385e7fc7090fdaf02acf57c9a990f0143b859235c1b5a0a3ecf9500269ae947b9cd7d3563d841283dd7d0c9ce1040feeb1a46353b0b521c94b9900c992e7b5b3f2b194556d499b1ef7509dbd4c1d1874a7cdfc24abb33ec5f4706e2952fde49bb2eec9e45adaaa85b398ae407c45485787a3e0407389a6a4b6b184138afb3c41c24c07c2b70c464a63a4f896b1096fcf3c9bf8f9c726624421f972989dfaf25f1d9d3097a9231373cb030539b81d3d96a26f9bb5547d236b25320acb3217e0c93b33771d71fef7c0c687ac7aaa9a53014ac6dd479d1ef67d364b613db85f5606658c7bd4602b4bd92e5d8003af53d04ff00a6a7319af2992a7d2182aebcd959cba7868e88f27b990311a972a5425d6ca12eb8cef91c065075fc515f0d36becc41b262480049000124002480009ac048135b76e65ec32909317b3adf84cea35c1fd711b4a661394a4e6f95bb866a7781c0e4a4dc03535333d3dcd174286af4abdf255fdfdfdafbcf24a4eaea3d0d78200fdfdc32dda3541e7afda17bd1ff9edf1d151b4412d8b45263d1e664e93ce446b35b0df7a6c729cdde2f0ce2413456b0a649341f7d20f86d251356545f026d9a4dfe3f2707eea4cc43f42e0942d553ec330c4d676c44e85998fdfedcc9820bbcd2e098d9789aa32171648a5d189b13e3793624047dbcc1a7541be9484bc1e7e5793d95a1d5d436be29e1ed79da23c6b0933480009200124800490c0ed11181e1e56abd5128964cd9a3552a914ae90e016b44206ae1041f0f142241279edb5d72a2a2a400c04e09a91f2f2f2a004aaf80c9fe7657879b86627de1c94b386b9949a8702f0014a66fde14bf8eb6c21643212ce5f6500c1db7b9a80aea6a9421e2746985792129fbbf72e0757c0cecff071493a46d8e60fa2943b9c4698996385976ec7cff4f999d4e65485bdcda61c1f6246bf086fdeba9d2a33c2fcd3f0e0720557f38ed708e31a497326e9186c45281a3df93db7bd1e3469063f9100124002480009200124b00402185f2d011a3659b504b4d64a9b86f32e38748e5bdeb66a5dbd371c0bf9c64331da5002ff3887e311ef404f172c1b5c9e84e3b53c1c510b124002480009200124b07a08607cb57ac6023db97d021e6727d114903bb90aeff69dbc9734f8dd5defb9bb6079a05609ab1bc39ea52f3d14ec358e9720162c44024800092001248004ee6102185fddc38387ae671358863572d94abff625fe913bf5d2188ed7d7fecb85009000124002480009dc6f04f8ddb6eeb75e617f900012400248000920012480049000124002779f00c657779f395a44024800092001248004900012400248e0fe2480eb03efd171ddf98f6f3ea5f5fefec80befdc9b1da05bf7d528263cc71d39ee44379f7c5553abc5ac912562d1c884e7ac437c6fb9f951996c3566b59c4c4e5c77cded06aeb3d594a9f3487c3a1a1cf77a4666b7ad132b9fcf84909f59fda26a9a2d70a6560276039dba3ed8ed62e6d3887548000920012480049000124002ab8c00c657ab6c407274c75e67afb0482bf276bef0cea91c9bdc55316aefd36d4645d4ddf9b6939931dcfcfd43566d62a6842aa60c5a89c14a3bfa72da8b4e5cdefef83336bd1c6c702149e1cdfea5c45736fbde076d465912519dedfc5b47bb096d3ff86d9b6aeea4da0079a383f556ac3cd95cf053d8cfac7e519b682bade535240a13185f09c2c4422480049000124002480009ac5a02185faddaa199d731a7f3c41f0debaf3a566570c57a2e63bf59f2e2ad558471713da93169217e89717942982b1799756b8383390557d0464cded444ebe589b0b7ebdd13a04a673291c59f32a5abdaf590cd2821f1d18173eee1a8716b79715e9c10d3ae4636b89af00e9cbb389ca7292e2d928459efc5ca677a26fc21e66756bf1867c707fd84685bbed742c351dbc2dab01409200124800490001240024860b512c0f86ab58ecc027e395ffd897301915550ad36979a880b421eaac9a24af38771763269050bdc08cbebcc6cd0e6bbdccbc769fe91c54757c4d4b0bd045e43f4b97f7f9c9b6bf378f88090ca83d244e0cc892eced1995242f245cae7eb80b89f02fdf2c32244792c01e785cfa712eb900012400248000920012480045623018caf56e3a8804f87ffe9837d1bae9cbbf940f376fdd8d97f3b36f1e091564b74ec8ffff3e5ab3ffbd9f7d693e834c90bf71fdfffec2f673a507bb8fd67fbbffaef0fba654d079badb0602e74f5eccb079ee583b02d8f3df7f2dffeffecbd0f70135796f07b912c0b594808c946b66c43635bc891b1b1d771ecb107252e6d8c2684003321eb0a99cd10d65bd4cecb4b516f377c35955749be97cc3c78f98a9a9a9d2d6a92990cc324eb0fd80196b0633ceb725689591363ec18ace0084383f13f9085b190852c4bbcd3dd922c4bddfe6f62c3b945b56e9f7beeb9e7fe6ecbf4d1bd7dfb07ab5730ebe8887fb8d3fa87577e768898aa0ebebe6d7dda0acec2705fe39bdbf634c389909cd39bdad10ff10124e94a839ef4d849e66aae95009195bcbc33474a46e10123dfad6f3e3ddd18b4a72baadcb86ef4c6a5ebe2d5f91989b028cf3bd8555f7d9ad695bcbc914f1f2692743aed0a39548f57a4ea74f1723971da5d792f3e9721f7b6fde5485328d4a24a3697e7aa7bcfffa5a625240a36c97ee8d624830d6fef5936b88a2c61a6e044d2641d897ae793903cb26e649ecf4f7a40b85f9175a3f24515dbd6515a2913f879bb2f9f3b65b5310a54d19652638a52c629fb5c5d7ffee4345f57a38ce129124002480009200124800490c0dc13c0f86aee99ce89c565b2e52b3237944330e4f52797bcb21b4200af5f9a9cbf59de3ee074fa474952665a42d2b2b1b6e46ab542a1a878cd0091d5cdcebea569ab5797bcfeee56ebdb27b22af7fffe8d0d62e2edfcfa8b1b4392554f14ac5c950c15dffa871debd3a47d1de7dbaebb94a919064d1c13ac08cbd9c2291f82932f92b4cc3c6297a629b9c7984464d4ebf678e05929b95a192f8f1f33172f9349a5527d6122f474c8e9122f57a9d24bcd46ba55405f677afe0523d788922a7c81622c0da6d5350f780d89ea7545254d27b9c84d976b48958a5dfdbcc1150469ab126106cceb72c4042474afc39ba895e7bfb02bc5de76bcae29e4aa903c541ef529e067759b40bfa2aa479c16587614520a883be96e9766757aaaf1fb96c1fe9ab681f292fc14a5d8e5e8eebbe35daa5427268822b046d4c72c124002480009200124800490c0fc13c0f86afe19cfac0576643afef8b386dcfff1dafa15771a7ff97fdafefaf06b597272687725ec1998f5d1e787b3232db3cf0681a0b3f697afbc5d4db2f6d61dde9a9409d156d61b7fcb04575ffcf29937ab232b98a82498cebad376e2976f9fb8125120248f509942562c22bec1fefb0aad42bbbaa04c2a23fefe6e973655417c2d27ab61cf40cdb6aaed4991764682274efbd923756d4463dab5dd28d72492012bbf7e4f7bbdd5b1724d7e6ebad2d57db1a5d32595923b37ecf01edcf519e6c4144399aeb10162a6bcbc5419f1f47e2bb44d61bc18c22be2eaed8ef485cb371cff77f1168b3145a1d517eea6f41d4d9fd7334b1d89903cd6022311f0930c10fe7ef15b01602579105cf91c351f1fa34187325759f4a96bb3495bb74a0eb1aba7cf7676263b7b0835877224800490001240024800092081191108ce32cca82e569a570262e2effcddafadcb964214e438bea77af93226e40a6d10a18393d1f1edc35db6ff662d135c415ace1cd8ed11ca9805808e96df8c0baea0d0fa9fe7ae13b2a262efe12feb4e7db4ffad8d594c156139573a9da377a0cbe125b2d4a2dc44e2bd45dff6465466b6e57b10710e5966d5db909d09ae2041a7e194397029567fc06eb35d1b64c232afb3db666b6b696983e08a10fb79bb8310d9dae2323829cf4e0766d7be0ecf3e71d6228f0c24997a5cac172a86d8ee938375cdbd2e1f91280da59b2af2346c91903c546fdca7909f9c526cbfc6551e3bd12a99592949e2b3bb765555eddaf5ac1e008ae3404677760d420ff4a6ed7fbfebc7db2ce57acec7b19a984302480009200124800490001278780430be7a78aca7d912dc3f8fb2935230f934d04108b7786f62235ef770a40298205cd4c4e4a253f5cf2aff8f7d47ce77f69184c49c0d9bde39fc1f6f6d647484e4d1f5273b178947ac1dbda0051799abd77ec3cfe7c47823fe9150fcc8ca27bd3a999003ecb373506c9639d0d6af1d3e22d56695184bd2d4e2c0101df368555897d0dd03d0a44ca11c1345e5ec4d273ff96d73d7108433abb373c60a85e4631a63395e3fc78aa790d3c8a580cf37d4dfd5ddd7d3d3d7d7d3d5d5d54d77f543d5b6daea7fb75eec76ba8844aea50ce6edaf96eba760115590001240024800092001248004e681c0a477b0f3d0269a9c2e0166e28a84160046541e0d2daa0bc9c4ac66e88cfdbc72ed2ecc1badc8a9348d137327cd270ebcfecab6ef7fefc77ffc8299cb2a7dbe6a62398f890944f01c90ed32cc60c10c53579b8d704146a47eccfee3a289afc718fd486311f9e01456be295f4e02dddfb44614c564e941b79f88949996bc98a20841d3e9ab91b36fe112217958614a19817e45eecf3ed0ed84385022f6d4d49c0ea553b50decfe16b008d1d670eac827bf3978b49566e6b25665178db54b190bf230de1ae381392480049000124002480009cc2b81d8fbf1796d0e8d4f8bc024a3235db9feddb7de25eeab6f1f8027b2c6a7b1d92eebbffe67e73b9b3237edabd5d6fef9f2607c564e418ae78bcaa3cbeaf66dbefdf5d97317db7b07c84a35b320cfedbc4d4c7bf9e5e3cd4ff98c3ef6f1414e995a135d492c4f31979bc988b3ae21e6f1a8d8600ce68f26d01f6f9b99c2d29bd99d2bfa5b5a985583c2a9cd7a71cd0bf92954e9ab968496cb7d9ee4ccec1449dff1b6f8979fa5eede8029a25b1eb26c6dde1300c8ed76115d19bf5cb881494b84fa2551a4021f780557737dd3404fc35567b6414dedacdc74c9d645149a342a43e5b37ffc15d965c976f7dee8eaef770d13b98c9924f40d8782714dd10e4ba182904c85ef58033da927a880049000124002480009200124304b0293dcc1cfd23a569f05013ff1de87ea23304935f6a0d5d80b674721bbc250b1c940bc1d75070e59c90808fcf743335aee11986f91b2135c67de7b2559f2fb9d1586272b5e7a9275c8d57e8e583bae397e90b37ec3eaf51b3827876f9effe8ed13846c15904faf2bccfb9b78d29894d9c05d96a8372412bfa3b3a185268c20e00b757004b648247111133b31fa9c7546dfe71fb7aa902db0dbba8a4c194a67a7ad87c78d71a29ec6936765db8a0c5a2abf94624bfccebbc43b229629d20db9e986a0b2c779b5ee740bec33c12f1f6732f644c84fb6dbe338707599ee4ba46abd410defe0ba06f11521f547ea122acbd355e985a5e9ac92df611f24f4a8d3fd409b42a95228aea66fa8bba92e38af05126e465034f9da4cae361e91001240024800092001248004664560c9830751bb0c4cc95cb81697893c0660ef6dd8ba202281247c0679ee94cb441dfd7e3f48e01899191d1de58490e18a228f5c517b7bfbfbefbf3f25d71f5fa5ac8d1b33096ca6d7d5696dbe12c49055b831335d0642e7a533d69010ca84e48b869efea52ab37ac9a0f537d563a1c624ceebf20a5213a462ef505f8b8d6675357a63aa4a99102f26ae6e3bb77bc684f2491a9893620da5d72a253ecfb0dd4e8f19d4e8f46a9544023357fdcc168a1149a32fd0abfcf6a6b671d20805cc2201248004900012400248e03b2170f3e64da552291289962c5922168be108094ec119c8c01122082e58f0783c1f7cf0414e4e0ea881021ca3525c5c1c48a088cb70794e87d387636ce29a0339d3309b22f320001f4012f6879370c7b010325109e7afa2803cc2a757ce9c8988a0b88e5e693e73a599a7cf42721ed50525d21494e548fd2405e67dc4c4616b9e727005bde8698b7e47166cfdc71b9508c91f068a01dacee3d3408f7d807fa26ec03ec9fac887e134b6810490001240024800092081c78600c6578fcd503f161d551b728d2ab6a7835dadc7acf6c7a2d3d84924800490001240024800092081054300e3ab053314e8c81c10b05b6b882a81c4ac929b03d3680209200124800490001240024800094c4a00e3ab4911a1c26222d043dbf9d7c92da64ea0af480009200124800490001240028b9500b7bbd862f51efd4602480009200124800490001240024800092c1c02185f2d9cb1404f9000124002480009200124800490001258dc04707de0e21ebf597bbff1e71ffd58ddfd97dd6fc7bca178d6a61f8a015d41c92a78f3eff080bd8d6f5fbd29fba0afd856201bb29fac8b79d3f1944dcc48f1bb6a7746ce4ea3d2c3ef175566cef4dffea6b16d6ed787ea4aca9f100f7636dc59519e09ef220bc02ead23b73b1bdae869c09817d579eaefbcf84a88c65890a18c23fe51ef607fb7bd87670bccf10d3ffceb677cfb78860490001240024860160430be9a05bc47a0aaa9c8949329ce89dbf8f6a13311ddd958f596798defb39fedb34608a797d59976be6084c8874b01bff7f6d5d6e3731bbd50653b2a7215c129d87ce39a73d5b52dba926d2fe46b1db69a63569a6d9adab6cb92e8b27d7864c2ae506994562dd21af4752d917b0eea8bca3357f82fd7066d053b33871f73d4ee5cf93957768840bfe6905cb4296a4d8e5e4f9202731c5f51863c839e0c06ba7b920c7a35d7682029f010e32b6adb4e8b36f44582efd1d02dfa2f27eb07e6b4bf7335ee94e9258b3148c9e7b0fdf618fba5d39b763c63548cbde1da490e1e89fc96450f259ccfd1f53357fde2f11045480009200124300f048686861c0ec7ddbb77c1b65aad4e4a4a522814f3d0cebc9bc4f86ade112fe806acd6535f68975faf8b0caec0e1fca7ff7a4366dc90699f75c2a864e2ae31818f6fa8abfbae4c9d98a89469f5c59b9dfda7a2df3135b18d094aa96d6626b81aa45b9b7b644f95185419c59b0bfa2f8a99fb381191846b8a193f264bf4b5cbf4b2a5839d51b77d296bb228f5122f65a5e9c92cccac7c8eda9d2b3fe7ca0e11e8d7cc204da9d688df0f7a01e630a7296896b61e39da0e7feccd3f34ebe115e873dac464c6980bd8efe8eaf1c9555ab5429562786ed3bdc32d73d9dfb91a7797a3bbbbd74344ca54ad02be846cd26d2a6582aba1ee8ed6cb37e35469ab9345eec97a3c57d7cf5cf56b527f5101092001248004664f0082abebd7af0f0f0f736fefedefefbf77ef1e4551cb962d9bbdf1876c01e3ab870c7ca13567ddf7a635d6a79151b883f4fb620ba629f1ddbd7ebaa6012ae9cd9566bd4aa6904fd380a0ba262f472b21fe217b754d232839a5cbb617a6261b0c17bb04ab4c58405b6be858053fac070310b1057326999b76e7cacfb9b243087fbfe60c9b80a17028ad2164d225680236c68b5dcce0736607c0a2d4071744b895f1aaf379e6739c3d7d9a59f84895efb418e4bad554cbadb0639099657fe76adc076c0da7e095de9a929ddbf343ffb5c4c701af80f3eca97a1a1c25f636e638699a9beb67aefa35a9bba880049000124002b3270033576eb79b0bae386b707afbf66d8caf66cf162d4c8980a9eaddbf7fae282d491937ea1d1ef13bdb8f56fe31fee8fe2d7d7f7aeff55f5b19138555d5bfa824ad7fa8fcdff1d5bfd87effbf8f3648ca76941b609d91eb7ae37b957bac853f3dfa8b1f2e27de5112e76e3fb97dcfaf830d67159a96cb554b995920cd9a8d858424ca88a3f34cf39560f9b43e44a2e0aa20f7fd51a6229ce94a5efec113aef6fa538d3423d115556ecc23bd17aadbe22a37ae1bbd71e9ba78757e4622287a07bbeaab4fb34a8c6254d2af4904c92dfb379c7ca0e9b2333f55add008fec4c134c4671ffcd9982325a3f0608defd6379f9e66a23526697494347e29736f481256e87584c825c4ed147e7264bafd9aab7627f4b3a862db3a4a2b656e70bddd97cf9db2c2cd2fdca3176d2935a628654c1ea6185d5d7ffee474cf047678f5b9cab147a17e09f18fb51021319659f2b35297c9c4c4eff78e043cfdad476a267a406ed4272e31bf98ab8fbe7ef8391022649f2a323fb5366db95cba4424027893fed0c06f5f889b903ca2e3d15991389e13d11d4e9f2125343f2bd45f9e7e097dbf26187762dc545994ae62ae9380cf7da3bdb1a6d15eb4f965a3ccd9eb4dca4891bbba5a6df75715ebd57e17fda74f6ac6025a693cf3b5092509445a2269b28ed05379326e06d70f2fcf89fac537ee427cd85e688ca6678b0c2ab80e21057c4efac2915ae63ae41f77b60a1e90001240024860ba04eedcb9135b05846bd6ac89952f7049e847c605ee26ba1741c0b4e7a37d2fe5400072b3e3d2dda5a939ab13e393d4444e921214de65c19b662257272912c4ba6490ab61ed6ac56b0688ac6e76f62d4d5bbdbae4f577b75a0fdf1b703afda32429332d21692c2ad9fbce2fb7660683a20dbbdfd9c0b67bf334d9fe5ed412c2088784b3a19554c6d26c0887bc7dd7ec243e452e918ec687d6efc5cbe4528948a920f14426954af5858cde90d3255eae52a5979a8d741d1b12c4342166eeda7c77bac3b76cf6bebb26b55aa18d73c5e8b2827819bffd56afdbe381692ab95a192f0fdec4420593f979a33a789748159b29d6c65007f9b43e6a09215b0087f8f8e9f56b8eda9dc0cf02cb8e424a01712addedd2ac4e4f357edf32d85fd336505e929fa214c352aebe3bdea54a75628208ba3d811d5efd50b7633ebdfc3c89107f81f105bb4673a549af825176f6f707642a58621a0fd78970829925a9d690afe5ae1f45f8fa11e220649f2adb66c9d5c2b4e590a3df13a7d4aa26997415b22fc44d482edcb38812cd2a257c75bc3e586227d45ffe7e097cbf5669be2f709d936dbb4c3045ec86858943a25519a954be79b3dfed8c93cad454060419fe80223dbf1830f90362454ab68e3484bf8b11fec24c66afc39ba895e7bfb02bc5de76bcae695c61ecc9f4af1f5e9e135ccfd3e2037f7f3479961f955222e277f6d2835eb12a49275731d7a1d0b8c7f609254800092001243015022323239193575c15104ea5ee42d3c1f86aa18dc864fe6455fd13135cdd39b2f7b9035642b2f6d41e7e89090ba29e69089f86329db5bf7ce5ed6a92b5b7eef0d6a44c03b9b26f7725ec1998f5d1e787b323dafcb703ffcff5f4157fb563f786b4b8f347feb9ae972c974afb2ecd28b882fbdd44e3ce57b344529944e4efbdf8a5958609ab88c6201bfed684324efbd923756d4463dab5dd28d730935413a5b18088f899a57c22c1a7ad84ec0f584f56c34fd19a6d55db93225a6affb27e5025d3e51753ca25dd171b3b5d442a16dfeb1708aea062c87ed046f8349489eed71cb52be8a7a6240f822b9fa3e6e36334f84499ab2cfad4b5d9a4ad5b2587f8d9d3673b5b671b9b727009f697e2d50f7633f663a0859767984f3487580b9c4457560cc15560a8f9b34f9be0c65d53b6737bee54fe5a45db17e2e020fcf635451b98e0ca73b1e650033d857685ec0b708691981e4f8ec692f8248a5a919cf9448e1ea23d27f312ede05723babf42dc04ae43a1eb07f68981e0caebb878f818b3be97182baa4c19a9eb8a86d89f2f1cadb5d7b54f17a6c83c5d673fbb95b9bd30313ee29bc8b91c3e361cff77f1168b3145a1d517eea6f41d4d9fd74fb0c7e3b4af1f7e9e82d7f334f9c015505ac00457f4d90f6b2297360a8e3b8b2bdc79cc200124800490c06349602a772c8f259885dae9acb23cb8b1eafbe20f4c700569797c70b249d86150f0dfac65822b469f39443c50a4832b805dbac7c8215d693e73a599a46cad622a59ab4f3473e2991efd239e5111b3c2c8d373b241383861cd8be027f9213b135c4162374c6322a6a92726c01245742dbae684f699edcd1e44d418e8b10ff41085b1086477afb5d9e0167fa6695edb15f4d3a864ee782589cfeeda050f0c0588043ab8240e647467d7a03643a5376dcffc9efb76f7cd4b4df5b0b3bda01d01fdc96044f304fd093944dba3d6a4c02530d8d9ca045790a4828173b826bf7d2d3f076a8d86d7be66553204302ebaa581660d4fdaae807d21cec2f2703ff8322265a1c5c216f8faed178ed7db88cec4dbdf09b8f1ea0b8d7b5931cc1c067abfbd1cf4c6f6ed9db28cc438b88ae062729e6fa4535f34c38f3ab6d36dd2b2b5a033c1f70e1e85b39efcc4aa2fdaf2545e8a426928dd24217faa6d1b8bedf93a3cf5eb677ad7335526785df1f2216415b390d6ddd314195c81c782e3ced71b94210124800490c0634600e3ab4536e0ba646669cadd5eeeae139e0a4a80db446f6c27e4ccfd74f8a6c7eb1e8e5481a22925b8d39c4582fb15df9d8eea63f62d3bb7a7c8d22bcdc6ead8c560f1cc7d73388ef28f8c7bd4058a84d2880fa242694242b85ca75649e1ce6fc04ff46030626f8e3004509dbafdb05d260351c974d34cfb35ae9de9b61ba1af914b61947d43fdddce11764b45302cf20df6c3475b6db5c35856b88e4a81e59494414bad4aab3b346ed963849d29e98f737aa293e9f20f79ce3cfd16793d0bb5116b5f98036c094162ed2b144c64ef750d059b889fa45d61fb829c27e7cfd33dd7c5b32d7746876d363ab230b6bf5c696cbf38b9907ed066c4b88b99efe5039f271c0549444bb85f2098ef2b3b1906933a9edb53ff72d89b4eda9b8a36bd5c98ae5c9d9d43daac911d99629ed7ffc97946f48b6b681a7c98cb84fd6d80ab193a4e30ee2115fc44024800092081c79700c6578b6eec99215b9ea463fd2edcbfe7e970b0c406121e566efad53f59e03e311c5489271ee7d1d0e2a1108c784e3fb4b630249ef6a78879b467e0e4397b153c49a32f2af9c606db47b0d1141747519b37e8c1ff707cc56c2630b574f586a330253dc550421893b041e113c9d061d750d70d6f9131119e3e83890246ae49564203cc361b0c9e49ecc7ecbb1d9c3489c6c3188e4d33efd7ecda054f62fd1ce876fa0a5325624f4d4d4dacab3db606f807744a2ccfe653aa55d945c4dec46b87ab2ba41f6b799c24a65f93f08faccc5ed6befbdc254c6d29cd844b2332548ed40de763ed0b71a04c46a8c5679fb904a572256b536729cb886d37f45421a322649fad4e84b809c9b95a3c47bfb7bb6d7c68c52ac5f697d94286bf5f8c9c479f11f35c3fbdb75cc644b56e6d01b1331b3910cd4a1980f0f923e77809445c310b6319915770a09a4e5f5db73bbcb520a33b519af2f523c433f67b316d3e0377a0370ad9ca3c8a701b20720e4f3cee8c0e652c50fa5ada2699b49fa8fb58860490001240028b96c0c4f7dd8bb65b8faee3d6d64eefd6cce4f2d70efe3c6f59be297305733f05db547029b3e2f59f4b2c19a6f2d5cc2c175fe29b9292ae5cffee5bef12f7d5b70fc013594ceae87492ccb4a7f7eceffbec42f25ffd75aea4e595f006839cc6b48eb6bad64c5d61aa3cef998ac6cfef4355b5beb442bc169e93873927fe14f3937394da404b7bff5fa56bb5f92f9abde77ba525df63e2b4fececb0323ab20ce91a5aeb394782ff791ec922760758fa3e7262129e32cf0d917cb53cce56632e2ac6b60ef29a1e28087a8956bbe6f715dee51e83293c5bd47c21b0c8e33173c9959bf66df2e9f9f0d579dd90635b5b372d3255b175168d280b6cffef157649725dbdd7ba3abbfdf354ce4ec9668bee16024cd63a73d7e027d3e0663b2d87e8d95f1f11f2b85e0d8712f4012d5d94f6f5e9aad48a7984d1d208503f14855de7cd87e8f00874bfcf6e9de01bf51adc828dc52912c4da1d44c5441d85dfac79a912852e13a81573a35d7370d08d917e24c9966c6930330e644542ed4dfa9720be9736678c6fdb4fd2963b122fdc96d6669a7539c9d9703dfa3c1ab1d23cc23910c93a82459b5794709a13b3abbefc56517ac056fdd6ef6512d5dd9cbcf52776fd05dfdb73c64d9dabc27e01b1f2c8a3211733aa5eb67429e3cfdbac63feed18d8ff1a1bfbee2341bd406cbce65f66f6fdf176b56ea14a374f52981eb8a7b8fb9a66887a510fe06672a7cc71ae868e3788e0490001240028f3a019eff291ff52e2ff2fe9d79fbe32fae13a2585f5e9eb962e88bd35fdc81253a102637effbec6b0749482bdf54be3ac1517ba416e4fefb30f332023f268f301936b9476031a13f62c28a79d3d50a43c5a68a8a2de5a6109b136f7f74becfbb2273c3ee37ded8ba21470df756d34f70331cfea5bfe954a3c30bef1dcdd8927ae572af9b489419860c95c46dbf68871937d88c0c9c02fd5126c3a61126660c57e76b9c3e6eb5c1db8912f5c51653be4a4286ba5a8f37d2a4c7fadf1d8e009152f9a5164b29a5927afa6dc7acf02bf224f6996259a2dea0d71b33a9507bb6baa66e971f364c2b2e2d35525ad9043f47f45867d6afd9b6cbbacaeb67fd91baae41af54955e585a5a986bd02a44ae8141085c9cee07aa142a371ffa54acd72a7c43dd4da1759b3c7626d40f71e2f98ce9d724fca34dd86ada7b5d44244bcda0946277c7d973fd3e228e9b20ca10b4cfcf41c8bebdee3c3d0833582919196a9997b65d85d033e2af24fb5386540dd749867e8d9a759adfbe1037217974ffc79f8f462c780d9608f457a85f135eff3ce34e5a3ea983ef9758abcf2f2dce8538135ee45d0dcf7d418ccbfae207126393598107244ea14acd2d3659cca5945aea77757d719afd91c2eb17cb14e986dc5293d96c2a4e87efa3f36a1d5734be8b516753bd7e26e4c9d3afe9f3b1d71f396777f88934559f9b9f6b4cd7aa6471ccaf5afce31eea0677cd84de4f1192e2271240024800093c1e04963c7830f69fe4d4bb1caec565228f01f6c75e9084134822f3dc291c63931ff6fa857b6a368533a3a3a35c1e325c51e4912b6a6f6f7ffffdf7a7eeff62d7cc326dcc9491ce3367ae64eda93bfc92b8f3c433afec834e159a36c2ebaa18f95cf410aca5ab65ceae13d6e6b93017614347e9e175524e3b6cac30dba42f30439820f3f51efdedc9316b1aaa2023199e401a1eb0b7cdba11f0569520191eb44dfa029f39ec1770997abb1c445e7d0da5d72a253ecfb0dd4e8fb1d6e8f46a9544427cc3fd767a0c9ba09d09f5c7ccce758e715e023b3ac4b838fd86783908d907b97a9ad727af7d788b1a3f6721f9f4fbc55b43a85fbcca6121dff5a3d11b611f4132958b1faed7bcd4a404b1d83bd4d7326e31231849552913602b1e57b7bd6d0e0633ec72283321cfd87ecd888f46adfec46d0000400049444154af5713f8ca0c3ae99eb1af0cffb8c3824a7d815ee5b7374db28f47a803f88904900012784c09dcbc7953a954c2cb266167f6afbefa0a8e5c021c908123441025252570b7eff1783ef8e0839c9c1c313c220cef578d497171715c11978954e3f4e1189ba0154e186c983d0de7391f4021ec0f27e18e612164a212c657514016dba9696fddbeade1f86ab1793f37fe065f68e3f70cde1972debc54db88cf3ccc0d58b4820490001240024800092081f923f0a8c657112b5fe60f1e5a9e3f02ee7bb0de6f2462bddffc35b5602ddbeaaacf76f47a025255a2363d6dfc73560bd669740c092001248004900012400248e0512430c103258f62771fbd3e35fffab9effdfad1ebd6747bd4567fb2ad7eba95501f0920012480049000124002480009cc31019cbf9a63a0680e09200124800490001240024800092081c79600c6578fedd063c791001240024800092001248004900012986302185fcd31503487049000124002480009200124800490c0634b009fbf5a6c436f7af52d7306f1f98844e2fea6ee40b5759175802a28cf54336f6c1589466e7736b4d1e3fdd7576c2b900dd94fd6b12fcf195f36576779651599a92a49c0e7f50cd91beb6c639b2dcfae059dd1f4440a19eab45e4d30e543e686b5297627435d49f913e2c1ce86169abf318dde94bfca73a3b569d6dbcaf3db9f443adffce7db3e5ff7a6342e7c156727cb2b294f120fb636b4ccd5f5353b77b036124002480009200124f09008607cf59040cf5533a6ef3dbba92293b3e637f8167c7ca5dbfceaf3a9b20757ad1fd6c2bb4909a156c1ab59b9f7b2924052203abea2d228ad5aa435e8eb5a6243933961687a71a731510aa6d8102fe95efb9cc5571aed1aa33e3de0bc6f75ab98cc608027bea20c79063d190c08c6578ab46cbd7e2870e3bb89afe69bff7cdbe7bb44a6342ee32bea8be0e5ddfecbb5567abc7c3a6754769e412d72dec0f86a3ad4501709200124800490c0234000e3ab453688d67daffcf8df08c97cf7a3772afca3be85ee3d95b552c6ac414dc92c22b626c8d0d62347db09519b7f68d6c3aba4a3fda7af5da6972d1dec9ca7e08ae8caf489d280bbbbfef0296842a3d3919e6817667c3ed03fe823e94c6f6d035e537a5c6cef18d37ea6cffc454c3119611426286795e6ed30dffce7db3e1f98a98dcbb89a296bb228f5122f65a5e971f2699df860201f0416fc57745a7d4265248004900012400248607202185f4dce68a1695cb942c8f261b879132f34cf62fc3166ea24ac5096984691269acd0fc07a29a92f4008dfc37fb4b586d36255e7faa04955833f8eabcd5cfc36d03377d115eb2a746a64c845340af85eddedebe571df05e3c6dbf1315d16cb77755b3ebffc99f87a3ec7770ce2f8dce4e3325edf0f939b100a8f17e2191240024800092001248004a64200e3aba9509a5f9dc2aa5ffda232e9e8fe13c6bffbdb92b415d0d89daffff8dc6ee6ad56553fff68bb2947018194df75fed4bfbcbeefc4c4ae08e96fddb37fc7b385292ba4c4eb1d1af63b2f7df2ca9b8788a9eae0ebdbd6b32d82d9e1bec637b7ed69661b10b23371eb31a59a553a65502855afd1139a0b6b62f41881aee4e58d3952320a0f66f96e7df3e9e9c6482d6399253f2b75994c0cd33fde9180a7bff5484d0ba18ab6941a5394324ed3e7eafaf327a7270898743a9d76851c94e315a93a5dbc5c4e9c769a7d36c6b8a9b2285dc5d809f8dc37da1b6b1a194775459b37e6c92f596d2b8b0ad2d9563cbdad874e8e738c6b3a78ece9760572e38687c880e7eef8208a2a323fb5366db95cba442482f0291c3c15556c5b4769a5200a78bb2f9f3b6565d75032f35709459697f229358cbcdb61ff8f637503c0e7074fb8daeb4f35d24c73baa2ca8d79a4f742357080559761fb0ffcbed180e7d6a5ead3cc6c616c2adafcb251e6ecf52665a4c85d5dadb6fbab8af56abf8bfe53fde0465efe4c43eb466f5cba2e5e9d9f9108fe7807bbeaab4fd3b1a659c9dcdad7184dcf16195430ee90023e277de148adf0b80b5d0fc2e3c2d3098d8e92c62f8d6382dc84157a1d217209713bed3ddc8532fdeb90fb7d81184d2f1765ca449eb633d54df1d3bb6e799c4411124002480009200124b08009607cf5dd0f8e7c994291b0fab577de807bd7ebed1dea1c43c2b265e0d6abfb8fbfb62199b8ae7f71be575f5af2e4d67fdc7ffdd29bd5307bc59f84f4b7be5bbdb7623504509ded974697af32a4ad48d0258389b7fe61c7fa34695fc7f9b6eb2e656a864113c7041fd36f97adc477d0e8b5721171775dbcbd3c9752a6acc923f6363e3d56e6f5ba3d1e983690ab95f1f2f84835a3b9d2a4574154e2ecef0fc854894a59bc52010ae525f9294ab1cbd1dd77c7bb54a94e4c108dab166902f23ad3f32f18d9a921a2a40a5fa098e2c1b4baea7ab26d97490bf7d08eae9e21d1aa8c542adfbcd9ef3ed5d4131f2f954a5485e652886e07fb1d326d62bc74a2166072e6d86f0e3276093972702c94a4cab65972b56064c8d1ef89536a551c665260d9514829205ea1bb5d9ad5e9a9c6ef5b06fb6b1c649490c45c53225c0d4383f7e52a79a2de62b9fdc9e578b9443a1a1fbc5d27f132b954226239c4da8f9307634ece99c8637c9c54a6a6322058f10714e9f9c5e0963f2056a464c7f7f3f38f97c9a452a9be90f5c7e9122f57a9d24bcd46ba2e180a461a87fc1cdad7e4597e544a8988dfd94b0f7ac5aa249d5c35d1b80b5f0ffce312e539776a323f6f54739709a18acd142b1dea209fd6db67761d422cadc9abd85a9a212181eed62f9b7a4879e574ae5b5e2f51880490001240024800092c6002185f2d9cc1711cd9bbf98035ebf7ff7dd8102721593ffd1b08ae863bf656fcc40a3e9adefd7c5f45a16533a93ec0efb190be9dfc030457fe9bbf7b63fb87cd8464eda93dfc121b2598a824d8e6e14edb895fbe7d22226613b223d42ebf378c94ca4e83db7cd7ed6b0d97538c94529992ae216dec34005f9d819693d53015a3d956b53d29b25c57560cc15560a8f9b34fe1de9468ca766ecf65af5a4a2587690d4f9fedec9476a8e869afb73a56aec9cf4d57baba2fb674baa45272e7865d57b20d822bafe3e2e1630d4cb3c68a2a5346eaba225dd3c99017ee8b35871b68cd8bbbb7278ad8899450c1943e35451b98e0ca73b1e650031de1bfa6240f822b9fa3e6e363202694b9caa24f5d9b4d1c41abfd36eb7198cea2caab2c06b926998cdc0f16701f23a13321fba1f2e84fb6078ed6daebdaa70b53649eaeb39fddcadc5e98184f04f8871a72dacf1ea96b231ad3aeed46b906a22d813467f635a5054c70459ffdb0665c542e34ee4272013f05c4ed5fd60faa64bafc624ab9a4fb6263a78b48c5e27bfd7678726f26d7e1a86f4581e5d9624a4c7c57cf9ea8652effb9f153c07d1423012480049000124002df3d018cafbefb31e03c38ffbb770e3081d4957f3d787045df25b2ee4709709660f89f7575f0a0959f244030e45f1a9cfae0717a5d2aafbec99405bff95faffb8409ae202d8f0f8508d6ff3c773da77c75c5dec3e6d71d979bcf1dfdcd7b6720ce12b0c3d3e264a235e9b0d6d1dbd566233dfdb7bcfa14d9ca6c1d69801869a2c4ac857c10a140ad49818e0f76b632c11524a958142ca53bbb06b5192abd697be6f7dcb7bb6f5e6aaa9f704bf301bb6dc0bdc2989b4ebcce6e9b8de6cc949960662cd0fbede5a055dbb777ca3212e324009a5bc5d7dd5cc7c44564e0eb73e764f7fa836a53fed0ac4a06532eba853512e1bf56c944b992c46777ed82e7b10244021d5f1207323f74d0dbdbca045790e89b77fc86c404959ef4f1b629689f579b114263cef38d74ea8b66587b683bdd262d5b0bd2d0b346d1fcd90a10deda99e00a120c06f0620e4269aeecaf629664ba7b9ac60557d0a8d0b80bc985fce4970ff4d8077a88c25804c577afb5d9b8ab0ea2a2b2e95f8780499a520c5384c463ab3b640dce68ce8d9ffcdea31409200124800490001258000430be5a0083c0b8307cf30217009133870ec17956d54fe05676f8667bf3359724b8282cce73e39290bb59490a01fd2ca8220d2d2b23894c9ce665ad54ffacd2be75cf4f5e34156426e76cd894b3a1b4e89de7aa05ed08b52c242f80c57bb0074766f9cb690f96c899fb72692a6c4dde33b6704ea866ac5c0c96b82467e2102e1868abad7618cb0ad751296a85963268a955697587ea2734cf8434106188c338889889d71ef83c30b1c0258968496484e7bbdb1dbcc5b6b7c0f4dab493821916e2750d056bc607fdd7c8a5d011df507fb77324d43b916f10e2b74470c8e50845531a0dccd2f99db7a15bcf44361ecff80d37f042f62375c7e7997aeca4144c0e796ec38abef1c5bc67fe115fa41c4c08a739b2af615be06b4968dc85e4c2ae4e561283263452cc5359935f878cf3017f4024164935297a620f5e9a73efe764fdc072248004900012400248e06112c0f8ea61d29ea02d31193f3575e5c2d5e1d79e4c58ea7cf3cd3785aaf947438bb760da4b40dfb4772b5477df75b2464c07df3087431590349f3800ff209afbe9fef75ed9b0baf4f9aaf77e3f79bb42fe44ca3545694a98c9f07a4645cc4de97db7572e97aa52d610321600f1eccfce9988dc9e9c75d7777f982da1b69466c25d6b68b285f4d81ae01facba2bb13c9b4fa9566517117b53a41b93e67b6fb98c896addda026267c3270dbb9fbccf1f8a2744538a3f266a86b9cb96cab97d3e7496b20cceff816ea7af305522f6d4d4d48cabad33b1a7c1912d28c96466713cf70891b1b3469c5fd4e60d7a00c34af8ed8fb329740291246c78185b1ac99f2d6536e598419a8dfd813b5e3f51c856e651a49e8e6e5b68dc85e4d1f5273b0f4e9246a299f67508a12b04d0fd7fa9733c0d8fdf19cd5bfcbe930d34d7f2447e52c602a5afa56dec6bc255c123124002480009200124b05808607cb55047aaf9407de7f39b3237d4561f387ae21c49c92a3695af72d756bcb22fec7182aef0ddb7de95909bbf7befc32b42fac76ef9892173f3fff8d5f2e7938b37a4318b0809b38582696fddbecdb7bf3e7bee627bef0059a966a659dccedba4f9c349db654d4c72c84e83477402f497876a83378afa97aacc6aa5b648439a4273451245aab91ce2bda1e6fab08c312b96a7809c8c38ebe02dbc8e7b0192a8ce7e7af3d26c453aa5e4669e20b0a04cbb2cd9eede1b5dfdfdae612267b798f30dbb27712ba6d86eb53f652c56a43fb9cd2ced748ab3f372209e19bcda41430b31ca3310d0bd037ea35a9151b8a522599a42a9d9b78131bb7ff7345c75661bd4d4ceca4d976c5d44a149a332543efbc75f3251932cb5a0dc64485899969e2887d9abe6534db03f07b4aed6975688d7c2fe142a66b89824689f2be63f4e122d45f28f361033a513adc09ccf897dfaeb2b4eb3416db0ec5c66fff6f67db166a54e314a575f8ce71ff739ba1eb8ee38063c44ad5cf37d8beb728f4297992cee3d726ddad72113918924846e386495ef3265a4e4566c1ef9ecd4ed2c7effb98635453b2c850a78bf9dc2772c148c71257844024800092001248004160b018caf16c84885a764c6fc79ef957735d56f95ac2e79ed8d1256eaeda8bd1e2a1e81357e098acc8a4d99c4dff95f105f11c2af7f62dfbf598ebfb43ef9c9f20dc4ef38fdcb6354d5eeeca509c4da72cdf1839cf51b56afdfc0d91cbe79fea3b799fddff9ed841a9eda27c5046c3ec7b5b15fe1ed371ca56aad5c97a123f0800bf143882791aaf506353c0e742d22bef233e145a2de9008de76427c65ab69d7efc84d51a4665024e0ee387b4955549c04fb7fd0bd4ef7036d0aa54aa138977c43dd4d029bda45f8cc701e9b9d620a5a3ea953ec78c6a8d5e7c336149006e9d6eafaf0e678e0cdec92bdee7c665231b8999101cfe1d0b6de24630617a4d41fa94ba82c4f57a51796a6b36df81df64142540c00753a8081e473f75fa83bce78d363bddcbb3a37459961500207fbc59eb45cbd085e616bb746d9d782fd89029c006127e7fc3002630fba8d75339a3f6104b0db20eb21f3fa631838815727732a7366df5e7f6499e8c527f589a9fadc54d6b6b75f4c6887c0b81b05e441c7a7f561ab6bca4c7e26554d15975250d1d3db4ba67d1d52cc2bdeb8a9565bed09a9656b31955ab8b1bceedcc47e724337838d54a6d5415446024800092001248004e68fc092070fc66eb2a6de4cb81697893c06d8577382249c401299e74ee1189bfcb057342c1a635338333a3acae521c315451eb9a2f6f6f6f7df7f7feafe2f22cd2cd3c6753a99e78ef3cc19eb54dce6d5678432cfa5335608c3c6a5acc28d99e93219f138a30b79ed8cabfb104f34945e2bf1f5075f5715d1b046a757abe0f934df304f6184dea4598dde08fb0892e1411b0dd1df5c27f01f5e6cecb4f36cc0c1744d29f17986ed763adcac46a3914a611ac3d5c3bd772954a0a3f4f03aa67176346cbc0a6f6d52c4d3344d8c96dd26ca4d9f3bccbe172b546f517f6af47a3581211e74d2611a42e32e249f1100a0ad4a90445e1273761d0afba9d117e8557e7b93f04e9b33ea0b564202480009200124b00009dcbc7953a954c2cb41972c59f2d5575fc1914be02a64e0081144494909dced7b3c9e0f3ef8202727470c8fce8be0e193e8141717c71571192ecf2971fa708c4dd00a270c36cc9e86f39c0fa010f6879370c7b010325109e3ab2820788a04161301ca546931cafbbbe8de5b6ed90a2d9501dbdcf93aea7e3bf13e1f8ba987e82b124002480009200124f088127854e32b5c1ff8885eb0d8adc78380cbd1eff2e9b5e9f08fedb0dfd3dd011bd53f1e9dc75e220124800490001240024860e111c0f86ae18d097a8404a64c60c056ff89ad1e9607aa61e1a0cf6d9f8fd58d537606159100124002480009200124800430bec26b00092c7a02033d746853c645df17ec00124002480009200124800416358189361a5bd41d43e79100124002480009200124800490001240020f9900c6570f19383687049000124002480009200124800490c0234b00d7073eb2433bc38e995e7dcb9c417c3e2291b8bfa93b503da54de167d8d6a2ac46959933fdb7bf696c9b877ddc2702f25db53b914f5886049000124002480009200124104500e3ab28208ffba9e97bcf6eaac8e428f80dbe99c7573ad3ce178cd210ce80df7bfb6aebf1ba969060717cea8bca3357f82fd75ae9b0bfd49a1cbd9e24051e767c35dd7605f9535b5ead4891454e5cfb3b6a3eaca7a96d3b2ddad080c1780ddda2ff72b21e1eeb2a7b71676e22b9f8ef1f373ce48832cc1c334800092001248004900012583c04226fb3168fd7e8e9bc11b0ee7be5c73ffede8fdfa9f512e21df5cda61de6daf20d75d15d8e218f482cd5ea8b3717e86663f0e1d74d5993456564afa1225a1ef1fb09f107e0f070d3f4db15e22f89139180a7bfbbab9b4dbdbd5d032eb62f4c05bfa3ababd7e92262a92ac5f0dca6a25081283efee1f6175b4302480009200124800490c0e22480f3578b73dce6d3eb2b5708593e0c018478d6adf8ee5e3f5dd30066f4e64ab35e2553c8676df2a11af00702d05e6c2c15fe594243c8c3dcb86fbaedf2f1f731dd793074eed4699ee9289fe3ec69564e95efb418e4bad51469e288c74278a823818d2101248004900012400248609110c0f86a910cd414dc2cacfad52f2a938eee3f61fcbbbf2d495b0135ee7cfdc7e776ff1a32553fff68bb2947010193df75fed4bfbcbeef0429fce9d1fd5baefde17f5dcff9f1f60d99b02eccd151bbe7276f436c358749240ac668eefba38c5938d395bcfc83275cedf5a71a6946a22baadc98477a2f54b7c5556e5c377ae3d275f1eafc8c4450f40e76d5579f66951845de642cb3e467a52e938989dfef1d814999d6236d52b0efbcf0e5a0b6209752831db7c3fe1fc7ea06d87679e4bc764108af9492c62f85a91e421256e861de0dde2fe576dab99864d4272e31bf98ab1fe7a7ae68f3c63cf925ab6d655141ba5206153dbdad874e361262dc545994ae6224019ffb467b634da35d90430db384922a323fb5366db95cbae481df371af0dcba54cdaeace46d17f485120fffa0aa987f3a4a1492d31d4e9f2145442442a6518e049000124002480009200124c04700e32b3e2a8b53265fa65024ac7eed9d372036b9dedea1ce31242c5b065d7975fff1d7362413d7f52fcef7ea4b4b9edcfa8ffbaf5f7ab367993a4191b6fb9d0d84b86e5e7725ad4e3454fc7ffbbfd9f666f51cf63e105c47672ccd4e04affaaed9497c8a5c221d8d0fddb7c7cbe4528948a920f14426954af5858cde90d3255eae52a5979a8d749d4dc81fa3b9d2a457c11a44677f7f40a64a54cae2393b1229556c865adea1c1fb72953c516fb1dcfee472bc8c575ed3c66bdf647edea80e4e1781358a551aea209f761098d2926a0df95ace4f45d8cff878a954a22a349742143bd8ef906913e3a510c5e8b7ed326921367374f50c895665a452f9e6cd7ef7a9dbf1fc1c20b82adb66c9d582912147bf274ea955c9e3e46c6c26d02eafff9c90873fe1ba225aa1d3116ecddf888bee899984d3ac52c210797dee09ac6311124002480009200124800490400c018caf62902c7a81e3c8decd07ac59bfffefc3863809c9fae9df407035dcb1b7e22756e89ae9ddcff755145a36935f0597bdb59fd8f777309d657aebf37d9b92f47984cc597cc5c42189c69daf6689a43289c8df7bf14b2b0d1356e3f98e844e4319a7fdec91ba36a231edda6e946b20da1248bab26208ae0243cd9f7dda04934a9ab29ddb7399ab7984897f20f5dbacc7ad36429557c13a374d3219b9cf2f27fcf155fb97f5832a992ebf98522ee9bed8d8e92252b1f85ebf9d9014d63c11f6d37db1e67003ad7971f7f644915857b20e822bafe3e2e1630d4c456345952923755d91eecc1dce4ef018ea3ed1146d60822bcfc59a430d7444bf42dac2ed8634429ffcfcb952b1baf88517428ace9a834768ee64497c1245ad48ce7c22470f4b399d34335fb726a4879f480009200124800490001240029312c0f86a52448b4ce1fcefde39c0045257fef5e0c1157d97c8ba1f25c05982e17fd6d5c1f23c3f4980a580fea570f3ec83b573aeafffc8045790ac4db4779361c5aa8d849c61cee728f9473ca32266659ca7e7640304271325112c9f1bb233c1152476233b2e22e2ad43ad490195c1ce5626b862f4c5509d4b90f1f6b632c11524fae61dbf213141a5277d0272c2ebd6408f7da087288ccc060f77afb5d9b856e0444726f6b3bbb9ae8106bd81afcf9d93ddeb5fb30e88067abfbd0c2226d9bebd5396911827117a104db32a198a5c740b6b24ba5f53e7c3b54684f8fb872e9ebb342c864b80f8bd77e8a036212265a1c5c29ef9faed178ed70b4e1e866b6006092001248004900012400248209200c65791341e81fcf0cd0bcd5c37ce1c3a0499acaa9f401c327cb3bdf99a4b125c9417e7b971891003dc5cf7765c0cf6392b6ba594783b2fcf6170057188ef4e47f531fb969ddb5364e995666375ec62bf78262e0ac751fe91713b1642d1c4890d105815b904bac3edc100b55c8ebe60458d460e51a5f3360451cf08c8276e82298d8f5611f6d377b73b188ad95b9847a64cebc19d073e4f78019e44b40404d10649888342c144965ed75050237eac5f20116e37c620c44a13f11fe96e6ba3792ab92e9e6db9333a6cb3f115f2e8a308092001248004900012400248601c018cafc6e158fc2762327e66e4ca85abc3af3d99b0d4f9e69b6f8eeb5de15ef634f87ccdab3ffd6bd810c371a73f52c73f1a5eb516299e465e2482d064e0e4397b153c29a52f2af9c6d6188ca6b8388adabc410f715138be12414c30c5c44cbd10dffd61569dda529a095523f6b80b7a5e50920993676ecf3d4298479898e5836c8a907302fe6370522c0683b09fa2a860acf796cb98a8d6ad2d207676870acd4ae6d5533e3ff49fed752c07068154ae641dd259ca3222fb25dc2ebfff3cfc83d19f3fa64fac05bfb7bb8d3fb4f2737bb8c7b643190b94be963608603121012480049000124002480009108caf1ef58ba0f9407de7f39b3237d4561f387ae21c49c92a3695af72d7561c60a21175e12b6fedfd81e689e2124322cc5efdf6f50f237124e80adf7deb5d09b9f9bbf73e9cd5be82b6bad64c5d61aa3cef998ac6cfef43136a7d698578ad9aca5031b3357c2966ca284a8976dc0b904475f6d39b97662bd229663306486cc80207596a41b9c990b0322d3d510eb357cda79a88cec42f8fb23bfed431e0216ae59aef5b5c977b14bacc6471ef11364a1ad39acc4fbbd5fe94b15891fee436b3b4d329cececb81386ff06a074d9847cb6239d0bd037ea35a9151b8a522599a42a9d91701b3bbc48fb5c9e4266b779c7624ff4fbf6522d325aae2cd9b47456cbc260a383ace3684560206e738c7d5077252aa7c8bda4b980a2272a7b3c9dac6066a9aa21d96420521990adfb1067a5c253c4102480009200124800490c0634980f9b11cd3234420620a27d4abf75e79b7f1ba4bb1bae4b537de78eda54d39c9e29eceeb5008aa2b324b366ddd04c1d5b0a3fde0fff50afb2416576d04de2f4c1499159b2aca2d4f67864c4deb13eeca43fbd791a6538d0eb83b57666c49bd72b9d74d24ca0c43864ae2b65fb47b408d7927931ff447d9973331ad8cf86143f770759e766d35edbd2e2292a566504ab1bbe3ecb97e1f11c37e1e6c902553a71b8c0608ae7ceefe73a78f70b103d8e795f3180f896c754ddd2ebf4c4d1597961a29ad8cf93962623fa191a8d4f2499dcde5176bf5f9a5c5b9102f0dd2add5f05c538f959f83bdee3c3d08f14c4a46865ae6a56d57810fbb4bfcc4ed4635ca9cf2f32f92f9a04024d5a6a6a6a6b00972891022b169949958e34d8ac49460056d4ab26a6c9294fb0b12da879fb72a0a9100124002480009200124f0181158f2e041ecb32093f73f5c8bcb441e03ec8fed2009279044e6b95338c626bf1f5ee81a806364667474941342862b8a3c7245edededefbffffee47e3fc61a59a68deb7432cf1de79933560643e1deba7fde7abbf6979587ed85cbef3637cf6a826aba5c75941e5e27e5b4dbc38f254dd702a7afa1f45a09ecc4408fd9d19976bd6074dbcf56b73a74526f4f78e77121f9141a066f550992e1411bcdced94ca146ac8a466f847d044994111e0e1a1d818d35e0ed5b8a789aa689d1b2db44b9e97387d9f762c5dafdce251a7d815ee5b737b58d0dc177ee133a800490001240024800092c0602376fde542a95b09e66c992255f7df5151cb904be43068e1041949494c0ddbec7e3f9e0830f727272c46231e8c3312ac5c5c581048ab80c97e774387d38c626688513061b664fc379ce075008fbc349b863580899a884eb03a3803cb2a757ac67a242285827363adc43ae34373ff44ef7d073f3b8ce00cd13a1c19720e01b8228252a1a12924fda7bf036cad4a455621406ec369e002496039563b218e5fd5d74ef2df79ab5eba90cd80ede77b3336a55628cf9ef4e30606fe1e9d877e70fb68c0490001240024800092081ef9600c657df2dffefb2755893076bf01ebdc4ac8be3eb95909c4ff73b93b91cfd2e9f5e9b0eff581ffc9eee8ea6fab98946bfb34e61c34800092001248004900012787c08607cf5f88cf5f89e36ef337f6fdf78d12371d663fded41760164546f84e4516adff5e980adfe135b3d2c0f54c3024a9fdb3e8b2589df7557b07d24800490001240024800093c8e0430be7a1c471dfbbcc0090cf4443c51b6c07d45f7900012400248000920012480042208300f6c614202480009200124800490001240024800092081d913c0f86af60cd1021240024800092001248004900012400248802180eb0317e975b0f1e71ffd58ddfd97dd6f1f9a830e98aa0efefdd3ceff3afcb30fcfcc81b55999d0576c2b900dd94fd68576cca30aca33d5f0262c78b5edc8edce86365ac0bcaea4fc09f16067438b908240bdef581cd3df39f647632cc850c611ffa877b0bfdb1edead7e8e5b113047156d796a8de75a4b6d136ed0218008c5480009200124800490c0234700e3abc539a4a622534ea638276ee3db87661f1299bef7f4facc4c222d2273195f51db765ab4d2205ebfd7ddf5cd17358df424b8a9344aab16690dfaba16ee969c5aa537e8d55cad40524030bea20c79063d190ccc597ca533ed7cc118729f04fcdedb575b8f87a3be49ba31e5e298fe4eb9e63845caf492c518a4e473d87e7b8cdde1436fdaf18c5101dbf00793931c3cf230031d6ad59a14b59ac4a59199c657faa2f2cc15fecbb5563ad407fc4402480009200124800490c0022780f1d5021f2001f7acd6535f68975faf9b7d70050d58ffed587d9af96ec39f051a9ba1580c179777b0abd7255327262ae554fed32576ba71e29725d1d72ed3cb960e7686c300da7ae4683b216af30fcd7a78f5b4b02b7ea66c2205e1aa0225ccda59df5057f75dd67f99565fbcd9d97faa65d6afc28a6c2ea6bf918553cfbb1cddddbd1e2252a66a1524b8e657b7a99409ae86ba3b5a2fdf8c53a5ad4e16b9a76e712e34e9f64b579767debfde316363296bb228f5122f6585372d634202480009200124800490c0a22080f1d5a218a65827adfbde64e728624b6620b972e267af9f9841bd49abf85d5da76b1a40cd54596554c5c914844c1c5f11da5a4347991d802a521fbcbd2a1838441573a72e26bc9a4881b7d66442dfddeb9cff7a73a559af9229e493d5986e394f7fa76b02f4076c0da76c84684a766ecf0f7da5e3e30047c079f6543dcd58b4b731c7879b066cb58c5b334f7e58174ac80451f5cc4d634d2480049000124002480009cc0f81d0cdd8fc587f3cad1656fdea17954947f79f30fedddf96a4ad000877befee373bb7f0d99aa9f7fb4dd94c32cd9f2bbce9ffa97d7f705a31a53d5bb7fff5c515a92326ed43b3ce277b61fadfc63fcd1fd5bfafef4deebbf66e3a8c2aaea5f5492d63f54feef65477ff1c3e5c43b4ae2dced27b7ef61cc7269baed16fef457bff8a181b97b1d1d1d8d239d27ffdf605bf038d6ebdbd6b39e83e5e1bec637b7ed690eb532bd4f5170751afbc1863fba92977ff084abbdfe14b756505754b9318ff45ea86e93bebc31474a46e1412bdfad6f3e3ddd389586a822f3536bd396cba54b4422b0ee9bac8eb1cc929f95ba4c26267ebf7724e0e96f3d52137ad08bafae28e4bffb3efb2ae6d05abba28a6deb28ad940960bcdd97cf9db206a388317f1ef87da301cfad4bd52de2e9f65757b479639efc92d5b6b2a8205d2903bf3cbdad874e324084da0dfa2e8d671107cf24f0e516499375644aefd062c7c579e1cb416d412ea5868eba1df6ff385607b1adb03fc64d9545e92ac6c380cf7da3bdb1a6919977d4956cde9893c8bce33910088888f39bff0a8eb5b0ff1aa3e9d922830ac685b5e5a42f1c69eea7a4f14b99189124acd0eb0881f781b99d0ffb0932c61f4c4800092001248004900012980e81c8fbb1e9d4435d6102f2650a45c2ead7de79a3242de17a7b870b6e10972d03f557f71f7fad3c47317cfd8bfac6be51c5935bff717f6516c84d7b3edaf75a456672c2ed2b972ef70d2b148ae42435912f4b4a50ac58c6dcbc3249ae4e522424eb92c9dd7b034ea7f3965baa5024253166c369baed927b2eb004b69c6eff0ac58a705b6ffdc30e08aefa3aced7d6d637b65ff792b819cfda2c21cc1d739e698b5e250eb8bada6842e2e3e512a92c5e12743b5e26974a144a05f17add1e8fc7ed8b934ae5f2f870a726c85065db2c857ab522deedecbf3d38f9da37a3b9d2944b41c032d8dfef748fca64d2e5d0ee8429b422d1589a9d088b1dfbae31f143816547618656ea1ba4af76b91e48538ddfb7e469403ece1fd788542a55c86533e86f7cbc542a51159a4bd395f183fd0e2f3093324084da15e801ddcb5495e7bfb06b9bb9484027421c1f2f9348a962733ea51e1d1a74fb893c516fb1e48186803ffa6dbb4c105cb91d5df6abdd3e09acff346f2e82380838796124612c3dbe804c2a0b8fb590ff9a3ccb8f4c4608d39cbdf455bacbe911c9550a93f979cb0b16b86c081183572f58cc909ec9d347788c5924800490001240024800092c4402387f357fa3e238b277f3016bd6effffbb0214e42b27efa371b92c970c7de8a9f58a14dd3bb9fefab28b46c26e7effdd34b3930c57564ef7307a0206b4fede19798bbe9a878217c7ae5d0ee4ad83330eba3cf0f67f3fb3eb576ab0f341ffa19630952d69ebac32f858c99a824d8d6e14edb895fbe7de24a4838934f3f4c45a90dbb771bb8ca57bfaa81c9103232de54f874a0e564354c2569b6556d4f1aafc27fa629da90ab85a99d8b35871a68a857b6737bee4457b3aeac58af2281a1e6cf3e6d8247a826d587d91758969868dcf96a96482a9388fcbd17bf64b659d094e4510ae273d47c7c0cce0865aeb2e853d76693ee117e7fc21d046548e1d3c9fbebbe5873b881d6bcb87b7b224ca309b5dbc62cbfe44d0dc7ff5dbcc5624c5168f585bb297d47d3e7f56dd0738134c2f41752bfcd7a1ca6e3a8f22a8b41ae492624bcae709c3fba92755a09f13a2e1e3ec63a60aca83265a4ae2bd2359dec69a965461292a66cd7f65c3627ccaded72690125227efaec8735e1a6405dd73ba892e9f28b29e592ee8b8d9d2e22158beff5879fcb0b5ac50f24800490001240024800092c340213dd912e345f17973fe77ff70e132f912bff7af0e08abe4b64dd8f12e02cc1f03febea6052c74f122088f12f95679565c0cc48df177f609509591ecfae919ab4af3a183976c95ab4e614db1d576d5ca3d6ff3c773da77c75c5dec3e6d71d979bcf1dfdcd7b6766146789451025f6daae0e2956a6e8b4ca0cf3ab65be430de100639c07e11366ede483f0997046b32a1966d55c740b135c419232ad4d90a83529007cb0b39509ae204da61f34e51ff18c8a9815709e9e930deccdbd56c944bf92c46777ed82e7bd0244020e2f898bd7ac524fcb9fa07d22d8dfeee63ab66b035f9f3b27bbd74fb4eb78db0dd9e1fd1cb09efcc4aa874dd2f352144a43e92609f9536d1b13e4f22600e8ed6d65822b48f4cd3b7e4362820a268c7cac76943f6bd66d8408b4f7dbcb4153b66fefc0951c270108632912b200374256314b20dd3d4d11c1155818e8b10ff41085919979bb7badcd261c188e35873924800490001240024800092c0002185fcdd3200cdfbcd0cc993e73889924caaafa09dcdf0fdf6c6fbee69248b89238cf8d4bbae42c38b9db1bba7f94337117aceb8a4e72e63e7e0a0ffa4fb5dd68fb11e7d53fabb46fddf393174d0599c9391b36e56c282d7ae7b9f7ce44684c39ebf73aac0dccfc06657ad1624cccc82e68187f1b4de299b8889b3999b2554651a1004ec4eb1a0ad68a9f121f7138789d024f70cc77a7a3fa987dcbceed29b2f44ab3b1bacea6914bc1866fa8bfdb3912b226f20df62b14cc12c1c9fd996a7f7d77bb839784bd85990cd21415f2b61becfe041ff6a693f6a6a24d2f17a62b5767e79036ab902ef4d7e5e80b966a3472f815c0791b624a8a1145fb635a0fea0f7c9e70b426112d99283216e24634cc384eb233091359624202480009200124800490c0e22080f1d53c8d93988cfb259f5cb97075f8b52713963adf7cf3cdc8264d7b5f84d3e5493a5658b87fcfd3e110808da63cacdcf4ab7fb230e159644dc88fc64e064db5dd284b51a7cd270ec03f880a7fbaffbd5736ac2e7dbe8a9cf9304a674aa7a1c8c9e5616641e264cc1c1e2be32645a8cd1bf4d0df9056c8a4c036eba1a7a13835b8bf2752b9923dd159ca32e07ca2f893c5eabbcf21a4b694664ea2cfda1589e0d67ee0e4397b9549afd217957c636bec76fa0a5325624f4d4d0de70777a44ceb20c3ebcf8cfa2b22e3838a018176237d205e41004da7afaedb1dde5a705ca5f127c12baaa024939955f2dc0b9546fbd37bcb654c54ebd616103bbb1650b35206407d7e6e5c43b5c63e85fda7c06b856c651e45b88d0ec7eac0a357cc20472caa8c2ca38c054a5f4b9b3d52867924800490001240024800097ce70430be7a5843d07ca0bef3f94d991b6aab0f1c3d718ea464159bca57b96b2b0e777ab7662697bf76f0e779cbf24d992b9838c01f5af99759f1facf25960c53f96a058f9fd295ebdf7deb5de2befaf601ee392a1e1d22d4ee2bfbf8b4e1c1b0bd75fb36dffefaecb98bedbd0364a59a995e703b6ff32b4f2615cb53cce5e5e2659af4545805491c342c27cb818c5a5f5a215eaba63254ecec459419b696998c38eb1ad87bf750b144916a2e37c32b9d9aeb9be8de01bf51adc828dc52912c4da1d4ccdd3dec5717528df9a41df70224519dfdf4e6a5d98a744ac94d210aeb8f3360ab6bcdd415a6caf39ea968fcb4f6aa33dba0a676566eba64eb220a4d1af4c267ffb865227f66d6df713ef434f0b65b7f63791945e88eceee7b71d9056ba15b6e37eca802bbf895bdfc2c75f706ddd57fcb4396adcd7b0248078bc6d91d3b0118b2d48272932161655a7aa21c66af9a4f358d158fcfd9adf6a78cc58af427b799a59d4e71765e0ec46383573be8f16a636702fe7f7cc4faf515a7d9a03658762eb37f7bfbbe58b352a718a5ab4f31fb253a063c44ad5cf37d8beb728f4297992cee3dc26d2ca929da612984ef44a6c277ac41b0cdb1d631870490001240024800092081874500e3ab7922cd3393f0de2bef6aaadf2a595df2da1b256cabde8edaebe44cf5c766c3ee0dabd79797c3ae125f9cbeb46ed386041896e67d9f7dfdfd97d6a7956f4a237e47ed910b452f55c4dd1f9bb01a851656182a361988b7a3eec0216bb01f536e777cbfc7aa593bae397e90b31e1cdac0a90cdf3cffd1db33793b16ec6f4164897a031359057c9e5e7bcba916584e66bddcbb3a37459961509280db7eb1272d572ff28db53f56cbefe86c68a1837e3221a744aad61bd4f04ea76bf54d03f6baf39949c5942a2523039e8ea26dbd49c68cf1533ec19ac10f5b4dbb7e476e8a22358382763bce5e52151527c1be23c28909be4233694da71a57ef34272a33b614e94e1ea94ba82c4f57a51796a6b3b5fd0efb20bc5f6a9c3f1dfd5a03c56c97de33b3fe328d47a57abe76478846a1d2e616a7e6b2daf0c2b12f4eb341a9d72f9629d20db9e986a0198ff36a1d5714653774ca0c973a1d0043f2b9fb2fd41d679fc4e28a63fd69f9a44eb1e319a3569f0fdb8c401aa45babeb236ab0c2c86abcfe8396bdfec832d18b4fea1353f5b9a96c2d6f3f3bdb4888adae2933f9995435555c4a4189a7b7972d670e8096390615d9133c200124800490001240024860011058f2e0c154761388f6345c8bcb441ee19d37a00d92700249649e3b85636cf2fbe185a201384666e0e54c9c10325c51e4912b6a6f6f7ffffdf7a3bd5c90e759a68deb7432cf1de79933a19808d6e19936c27aacce3367aeb05bf9893b4f3cc3ce2f159a362672f259f785b75dce6ae19edffff34b86ce13efbcb22ff4945556e1c6cc74998c789c97ce5867b4bbc5840eeb283dbccec869b743bc359ba4a1f4eae9d8017dadc4d76fa767d92ef8cc98524a7c9e61bb9d0e7761cc1f76eb3c91d3f6e1116694e7aabffcedeaa8bcd4a404b1d83bd4d7621b73067cd41b5355ca04d832c5d56d6f9bb8d33ad3ae178c6efbd9ea56874eeaede99922216802f61124c383b6d8b76ce9ca5e7c2137d169ab3b621d5bc5c7cb8d05a8d1ebd544427c834e7a7ceb404f9520896a42a32fd0abfcf626e1fd3a58a37840024800092001248004162c819b376f2a954a7889e992254bbefaea2b3872091c860c1c218228292981bb7d78f1cb071f7c90939323168b411f8e51292e2e0e2450c465b83ca7c3e9c33136412b9c30d8307b1ace733e8042d81f4ec21dc342c844259cbf8a0232efa757ac3cbbf18d0975e3e6609aada18067d67e8d35113455b877ffdf487aed77e2f5961fc01c87ebe27f46b475a5f9cc95e659b72968a0871ebbe116549a42c1003dbd086dbafa13b8c06b6a4cc8ec0b3896e6aabf6071ac89b0f91ebaad870e9f456406ecb62986494c25f8e311f00dc1ce7d3d112626cbc636a13359f2c4ae018f58c34e5d7afbae8c1b6b1eff836d0c0885db402fd6a5013b33198a0909200124800490001240020b8d00c6570b6c44dcf7bcb00f04cfc61573eea73cb77443a6985b04e86d3ff12ffbe6319e9a73e717bcc1911158d0280a2d2f5cf0ee320ec2bc73e472be99fa1c9fbc8a528b28b6babfdf76ce1a1b1bcdd434d64302480009200124800490c0c22780f1d5021ba3e65f3ff7bd5f3f149facefbcb13733510d6b002fc1bac487d2e463d4484fe3a183cc0e0d8b26f5587f7b706cc1ea2cdca6eb3eab51cb1360a15fbfd084d42cac635524800490001240024800092c7002185f2df0019a47f7ae34cfc39355f3e82f9a5e1c04067a267ed26b71f402bd4402480009200124800490c0cc08300f6c614202480009200124800490001240024800092081d913c0f86af60cd1021240024800092001248004900012400248802180eb03f13a783408e84aca9f100f46bc316b96dda20aca33e15d5b0122128ddcee6c68a367690fab230124800490001240024800093c0e0430be7a1c46f9bbe8a3ceb4f305a334d472c0efbd7db5f5781dfbeadb90702e3f29439e414f0603636f249e9d756a95de00af6362532029b040e22b7d5179e60affe55a2b3dbbde616d24800490001240024800092081792280eb03e7092c9a65dea7447c435d749763c823124bb5fae2cd05ba79e3e2f713e29fbbfdd069eb91a3470f1eadb3cfadd959763f654d169591bd869aa519ac8e049000124002480009200124305f0470fe6abec8a25d20e0bb7bfd744d0364f4e64ab35e2553c8e70b8b0be22036a29bbb0606e0fdb5521fbc126ae1fc08e187f58a1046ce5d1fd112124002480009200124800490c0dc12c0f86a6e79cea93553d5c1d7b7ad4f5bc1191dee6b7c73db1eee25c0553fff68bb294721867b6dd7f953fff2fabe13a05358f5ab5f54261ddd7fc2f8777f5bc2d6baf3f5890e8d3927eeeaffdab6fb4cc835d39e5fbdb525b3f5e3fffbcd43cd53b6f3c7e776cfe4ad5c2211b8c824f77d78dd2e2170a62b79f9074fb8daeb4f35d28c445754b9318ff45ea86e8babdcb86ef4c6a5ebe2d5f91989a0e81decaaaf3ecd2a318abc892a323fb5366db95cba44248228c817522aaad8b68ed24a4114f0765f3e77ca3abce9e5f2954b9c5f7e72d21ed2a1ca36971bd5bde7ff52d3d213a36f0b69f17e1a375516a5ab645016f0b96fb437d634dab97e392f7c39a82dc8a5d4e0bfdb61ff8f6375199b5f36ca9cbddea48c14b9ababd5767f55b15eed77d17ffaa406c2379e7619207c1c343a4a1abf348e89f51256e8611e502e216ea7bd07ac0825aa684ba93145c9f809c9e7eafaf327a7b997fdf2b4cb0cc5e68d79f24b56dbcaa28274b696a7d7e690674e971b9f9dd6432717d5dbc03864784402480009200124800490c0f4092c9c9fe6a7effba35ee3ad7fd801c1555fc7f9dadafac6f6eb5e12c7cdfebcbafff86be5398ae1eb5fd437f68d2a9edcfa8ffb2bb300c6ffcfdefb403575a50bdfdb8410439a18131413408f84181b146190916249cbca14e9585bbd5367bcadfd3aadc3fdfa4ebf7e5daeefbe7adf2eef577baf9df7b36fd772cd9adbbbbaa69de9f576ec6559e756c73a03f666319329be584428422a8d682c10a0864849431a42e2f79c7392903fe7840490a27df6ea3a679fbd9ffd3ccffeed137b1ef63efb48ef91c9b2563d7bf0c58abcacebdd3d6e7810bf875c199994add8f0b7fb8d615ac6271ede2813fbba8fb6a5a3e79e70f3f4cec1d0823d43e5da6c889886aed94866a6542496648a428a322552b1482697914c89442cced6959515644f8eb9463d01b122bfd26448628fdabca3b64ca794657a5cc337463d11c9d2da27cb0a72c4fe51fbd53ef72d71aee1feda62f788272896a93718a9b018b5614dae583839dceee0925785c512cfba1d7b8c105c799c7db6ab037e91942a316d2bd740bf242231b5c954422927c7c07d22cdd6d5d616676688254aaa402df10782b2fc123ab80a048532f55a0de1b6cbc3c1687aa4f6d15a9d020237215879b4d604e9c1625da27f9192ea8a1208aedcce019bed6adff0e82411643275dc7609f4402c1629ca4c95f9f2ccd161a70f4ac46406dcb8f4b09623ae61060920012480049000124002772d018caf16ecd01aa965b03dc4cdce93bf7cf9e597f6fe6cd70f77bc6001670b9fff49d50a32deb3bf66d7be97f6eef87fcffa88b0ac765b54379cc7f73fb8eb678760a6429c217ae3ad8f20d0d29b9e2863240aeb766e901167cbc9a369ea89d29f6a1696b289b20dcf3cfdf49ebf33668b0283973ea6b76598886d1eb90c675cb673efbc77bcfe8f3d301925554154c69354e555eb7308f15e6a78ebbd13a73ef8e82ac403f4ddacaa28a664c4ef6c78a7bee1ec99631fc10b5482dc356b5b5aaf8040b67603ccfcd052e5ebd562e2e9b3b6f3c833521c074dc5ba1c11f1392fbd7be28cf9ece9772c5761b55eeeba72cd04a197ee11326cb5bcf35efdbb1ff540b954b5829eb223c4d971b6f34bb04fbc7de7feb3e306ecdb9929e5f633c2278e43f7c74de72ce7ec63a035387009b2e7ce9f3fdfda13998da3adc4264a2105dbde21eb39b3f9ec990fea8f1e3b6d0789e9fbeb01a4f51f34c16d23140867c12d464fac6f78850490001240024800092081bb9600ae0f5cb0436bf9aff3d78baa57d5ec7fd7f482f372dbf9f77f7da8f10a21eb72b3c0e52cfd3f99cdf0ec1e2059108405164fbdd774e1b7078fd071d895ff78f3cda5435da4adcddcfbc876ed869f3e5dd87694fcdda31b21666b78e32859f78bf4f4cc8c5360c23b29a057d2791da79a930403b476888e8263b6e3e64efa82d979908d58e8cb84a45ab902faecb6b737db993ab1900eae20e5c8e9b91251f6437bf680c620114190b1282393389a7a5d6b0d4a7559a9cad14ecad7e6824fb696769253c32dcf284b3cac562bc0cdc1cf2f87aaac9fdfdc5c909d210267c001df60c70716666da1bdff66409f9da510fbc009d785167beee3265833683dd329debc06da06e43c7e9200278711876dc44164867268fbd5b54e2b44cfd3247b6fdf684e814267dca9bdcf7363a0bfabb5c9068b09f9f884b50db49919a4239f9e3f2ff97a98381c33e316af27ac1fcf4800092001248004900012b8bb09607cb570c7b7fea55db6ed7b7ffab8b154bba2a86a6b515565f9c11fd62f9341e831dedfdd76cd2d0a2db2cbf07ed115eec678ffc53636df78f4289b397ce2fcc3fbab4b1f79aaf01aa9cc86a9af8fdeb8420aabd3d6133691ea19e204ffcd9efa13b6c79ed9a996e4ef3219eacd09ef3565d27151248e0a4cc0acd554822abe24a3dd273ef7584820938ea3607247251543c63f363ce09a10428e4e02ffe8309c2c5d7d7a6381fade12d54db2520a535c575a4688aa80579e691b7f10d2fedef27b23af3d89048ba08016830ab77328d440a582d9a380eb868f2c81fe3193730212f0c2d4151dce81b084cf2e3d65370d075605a327c9a1f36cbdd3b0b96c1da556ca72287d0eb532cf7cb4939f0fa3caffd5402874b3b58736d39f11370e3d495cc52a2480049000124002480009dc350430be5ad043d976f208fc472f0a7cedd0eeaa55958fd41dfab7abe3cf6ecc5aecdab76f1f97eb4232359515ae3ff9db4f9e3656e53df0af07328464bce93f4021b972317d3d617da99f05f42b3f23a7cedbea8c3a85aebce2332bec72c044536c1c456dabd241101489afe84d2a524db4a8582a67c435b59b0be01ae2ab910197bf2c5724f4363434c46bb2b6f5955294bce0d1ea4502e2b77dda0c02c9e4c3edc36f91d1d7835fba0dd94acd9a526263c20fd5720918f607c2716168996369851626ed3cdeafd989b8902688c4c20b2483232e3fe1f2536304193e0ea149baf05aca905afe93c3da0cffd18b026b1f2aa1142bd79637b5f1f3a1f50842f15fb4ce9970e3d2c3eaa40ca5727f7ba72dda02e6910012400248000920012470d710c0f86aa10ea571bff9f0b61b9f9e3b7fa97b70842c57d2d3351ed70dd2f65653ef235bb55567eb8fbc7ff23c51176e3256aff49cadd97d98bf27577efdc7f6aa6737ca64c4d7fff1a14646b0ed48fa7af82d24afb19a3bb49ab25c69f183352d7ffe066495baca1ae11ad8f741c1ac03e4683ddd148d7d70246050ca0aca1eab592156534a3aca21f4eee58ee6abaeb57a25f5ccaead5dd63e2253e58115bfed9de31608a65a3f1fa4ca72c5621218eb6d629ff093c987fc12c9724dd52621196b6b6ab5596cdf376c92e56fdc6112f7ba846b8b8b208e1abdda6327d9605c925b5a6dd4672dcfcbcf96c2ec55dbe9d6a58f9730335b095df4f2f8f971ac642c07e7889728e5abefaf755f76c834da15c2c1e36778f6e5a38c7b6ad77a06bfe81b1e768f13a9849ecbf38f7b88a3959f4face9a9ab19729b5210c9a9ca9fac2d9311a295f94f34db23c5984102480009200124800490c05d4300e3ab853a94969e6bce878b3654adda50c5ba38de7fe1ed97e97dd80fed7e45557fa06255c5b32f563055be9eb3d7c3dd80291c8e74e5adf73fddb971832cf0c9efdf8d54cf404fa46d2a19883748f883bfada75b563d63ca96173c96fb87cb83abd6abe5057a39097a6c971c79eb75023fed36c807990cad7c22001bba67849bd32571c966bea05db68952a80b0ae04d2abb757099a1800d469a8e9bb37655e72bf2cb2af3994601a76d946d3dd27a69705dae5a1cecebea88e84b220f5362e08648acd4e995f01ad5b5a6d611d27ecc2c7bf241438eae04b6d780346aefa86fb2128d918eaf94f92008c9ef19be68fe0056436e866e31935b01d0c42c23a4ab99193b1ebbb2241cace656ed8a077395d4a64a0a2c8137f90000400049444154b478070769659cc9ee74796ee5a80110c5d6fbc7065a99f5993c7659297ad01253fadcb8f580663a0e866368e9267381072480049000124002480009dc450416ddba35f5d0977abf22add84cf431c87c02154a22094aa2f3ec251c135300f6ae86c5584c8a64262727d93c64d8aae8235bd5ddddfdeaabafa6eeff1d235958b6459b2f9110afababd102bb5b4ca542e396751a89f7a6abb1116666669ee64a4f5a1e68281d7cbec965a3375c984d52513a258f1ea8ca918bfcde719bcd9e8a8934e5553a03ec2348c647ad7607a35e63dcf3a8c1633b57dfe1d4887d8e64dfa58a71274dbb745ba0a7c8124d998ed1177ba1d2e8940a784fcf3f3e6cb3c7c09e81dd58d5a1ab74f5a874a53a45c0d6da19e30da76a2c44024800092001248004ee6a02fdfdfd72b91c3e62ba68d1a24f3ef9048e6c824e43068e1041545454c0d3bed7eb7dfdf5d78b8a8a84f02a3c7c5f3521656464b0556c265a8c95876362022b6c61c8307319c9b33e8040c41fb6843d460a21139770fe2a0ec802bbbcd2d678a58dd3a72b167a37c1d9a7b9d29396270efbdcbc7e3362e78dd0925471ba9aa6fc88cd1a1f20c08f2fe81f23230e36e0e2b4925898a65d5a01d04bd504bbed60a255582bc98f8e4b9cb72c5d3d23b6f67870bcbab1020920012480049000124002771e0176b5ce9de7377a8c04161a017a5ddf42f309fd41024800092001248004900012985f02387f35bfbcd1dadd4ac061f9cd9bb35aa879b782c17e2101248004900012400248e03b4500e7afbe53c38d9d45024800092001248004900012400248e03612c0f8ea36c245d5480009200124800490001240024800097ca708607cf59d1a6eec2c12400248000920012480049000124002b79100be7f751be12e08d5c6a70f980a88df4f4422cf67e623f5f3ff8e90c6509a2b1793f1b11b9d56fb5c33d1d5ec28958cd94e99db439aa9d26a2d7cab2a480482891bbdcd9d736e71163da0ca1ffbfe6aefb5f6b3ad73b37de22c5c49b9e942e699722750100920012480049000124002f34600e3ab79433d9786b6d41d30adf67ff8d2e169a325e37d0f6dadd1b2b6037aff3cc75706e363f719d4f09d2836951b2efde64473f86a2ece541e95a314e4e875e6763664a156eaf43ae613bfb09bdfb2e0828aafa895abd54a25c9c823338daf74e5d5daa581cb672df6d9c14b5dcf42e6393b06d81a0920012480049000124002b78500c657b705ebed565af2c00faab41963c6c396e9022ccbe1dd4ffd9e10ed2b6f1fac094cfa6fb763d1fa55c55bef37a8052430d8d361edf7a9d7accdcb08440bcc41de7eedb2fd9ec5a3bd91f920bbe5f8fbdd84284d7f63d2c1a7aae7c0c4dca9b077775d5da2fde67acf8c55aa571752ca453eca62b7cf5807dd30753d0b99e7ac1060632480049000124002480009dc1e02185fdd1eaeb759ebc424440e8114a3a52bf01de225e3d040789bbd8a55afa9d8900faff739ad1f9d62a65b6cb6ce588139b9b25b1aec718a46e0fbb5623f7c8a0aac2fac34623d7bda3a1b9702b0ee11067e362a98b669e959b83c67cd0115200124800490001240024860ce09607c35e748e74ea1b1eecd17766cc85bca6a1c1f6ad9b7636f5b6199718954b1988e9554abb79411922d21cedede870f1ca95efe55fd3fee7eab2de480f1f95f1dd8a9ed78e71ff71d0d1725b856f78bb7771a8b64a02ce0be70fa5f5f387c9216e1b49bd0769a02cdea1552427c83e738d6b219b6ee2acf57484043d0eff9a2bba5a1c556beed0983c435e85b56a096bafb3aacdfacdca45306dcf6ff6c1addf2f0bdae8b1f8fe694aea794e0a9c769fbe309f388a6e2892d456232092f5af9bffcecbd332dd3f8c35497d7ec5847e58821f00afa062e9f3f6de18f76403fa75d4234e5dbb6144bbb2cd6e5e5a5f972ba17dec18ea3a7c0018e7e41ada662db96a26cfadbc3c16050405c9ffde5748b9d7187f0f9a332181f2ad72b244c441cf4bbec178fb70d53e2ccc51974cc98b554a721442a221e97cd01c1245f82d7bd2a0d6ac64310f1bbfbfe74ec8c43a5e1d2e3d257ffb040eaebfce878ab23a48eaad856bd5e3978e1a386f6705182216eff39ed26b4c5022480049000124002480009dc950430be5ab8c37ae0e74f6ec8130ff55ce8bcee96e716e8551910b0ec3ff8cbed5ae6b19b90aae70e5631eef79f39f8f695afb6eab53beb9e7fabed0da6ac6ce7d68d32f150377f70f5f46b1f3c5bb582b8affff5c2a0aeb262e3f6bf7fed7ad7befa2b9c76d3c5a459992d82f0caed4c7836d7edd863cc81d8c0d9e71813ac2cc8a54a4cdb021e578658a2a40a20e00a0465f9259b20e20b048532f5da25e3129198da6402077c63a3df4815d26c5d6ded8d63ad3e8fd70bd33952a53c539a998a7ba5b54f965132e21bb50fb855abf2730df7d78e0e3774f204289999dc761b3a3333c56291a2cc54093e8e0e3b2539d999627080bb5fa7215ef1f9bc5e2fb3e5865821974a32010c9df8fc5115d7fea892827595ae41fba84fa858a6912a644653b941199a90031a14a361ac87bcd714591ac914451daa2b4ad472a1db393074d3b758aeccce12809746d3235c7accad233e7db6725d79452b1d2842d2acd7e78a85ee61fee08acf7f4ebb517e611609200124800490001240027733018caf16ece81aa96562426e769efce5cb2761855f28398efcf3f5fca5df7bf2b9aabc8c0bc7ffc53c489688c5435d8d8d6de46fab0fea376cdd5bf6c61198afdaf5938d4bc9cd4fff7834dc30fe5cf8fc4f20b81aefd95ff3530bd4195ff9f3e19ab2da6da4be8dd36e7cf3e9ae33857414e11e1c8813d454ac83e0cae7bcf42ebbd185a1a6ce5890bbae7ccc4d0b3a3bce5ecf79a04c2df1f69dfbf04bedceb26c0809e82571840c5b2d1fc07413555d57ab97aa569091b3a7ea61cf40d58eba9dcb1881690eaa8a6208aefcce86774ed8419432d5d5ea72d7ac259dcddc0d2778ec92c82a47cfa586779bedaac79fdb992d10f2f54bd37acad17e96f614926af39e9deb43e678fdb95c594a0757f6736f35444c4153cde0a842a229d944c9170d5c6ae97513b150f8f5306f70053d5448210ef70e59cf99ad5331a4fbe3264e3d3607d95060ca56eb376b5a9a1d841417e74a605eeef3f0b68c21afa74ebcfe0f70da9d6a88392480049000124002480009dcd50430be5ab0c36bf9aff3d78baa57d5ec7fd7f482f372dbf9f77f7da8f10ab9d2d678a58da8b7d7c1e449bfa5fe248452a1d4f8dbb37f7b78bbfee1ffb6f7c8cf8e1c78e4fb848cffe5bdb7c2b509e775b9595096a5ff27b3195ecc0a902c08e6028b61868cdb6e42fb690be8b784244a887decd1a2abd50a8898063fbf1c2ab47e7e737341768648086f4b055d175aecb98fc35495c77aa653bc790dc8801698b5f10d76d0c115247bffcd803e3b4ba12384892de8b58db742ba929e72e410aa1151f6437bf6d0a60858248b32e832bec467d7cf3418683337db2137f2e9f9f392af8757afdbc2d92f003a95c442d0194abcfeaca417f4791cad51c115341971d8461c44662887fc57d73aad10024d93ecbd7da339050a9d71a7f63ecf8d81feaed626db48123db60bb60db586ec359b36377fd05cbd361f56145efbb495d708afffdc7679f560051240024800092001248004ee2e02185f2ddcf1ac7f69976dfbde9f3e6e2cd5ae28aada5a5455597ef087871aa31c8e79782796c3ffd15373505ff4d0f3db273669c581feb349b66f2f5c2683806abcbfbbed9a5b2462756678bfe882dcf476a35ce0cbda0746fceb732432799c80900e316ef9bd9119159160111b21417970829686c91bef0d4222a10f54b89d43213d2a15ccca045c37924cdcc459642f5552310454feb1e101d78410727412f84787d91ce791cf2e454bfbbf1a088538b6767a8ec7b881af5fb47462e2f54705c332ddd61c1134897aa34a3acfd63b0d9bcbd6516aa52c87d2e7502bf3cc47639613c6eab15b3e75ea4cd939851586409e52181cbb6ab147a98bcdf2fa4fc8f4766355e1151240024800092001248004ee2602185f2de8d16c3b7904fe23a4f0f9d70eedae5a55f9481d69a4a7a432d971f3c4391f9ac2dabd7f374cfcb47cf86e5c756092895f98d22b17af8e3fbb316bb16bdfbe7d716270c967375192b7c43eea0910855c5b5b6c8e5ee736f8a5db90add4ac29253666e9996ab90402137f20660e0a222e42a67c8dba2aadd0d2b33bdeaf63ecf2ecc31ebd3ffbc880cb5f962b127a1b1a1a62da4e7311f222c1ae602afe6334f0f58b9dec4a34c2ef0fe50b1099647931459aecf1ed42f35fb168e285a2ae1dd666f80f561756d43e54422956ae2d27367a4a8a474f680aabc45802b16edf671d519ae86cea3cf9ecd25a2843a9dcdfde996e804c37c5840490001240024800092081854f00e3ab853a46c6fde6c3db6e7c7aeefca5eec111b25c494f6b785c30af43a79e5e17d1e63db0f7b5a10f2faef8de0fd68bda77ef7d03ca435358b0f2cfddf5bba3536f6d318d4896a6ec9503af8848ff6f0fbd75a5ed4853ef235bb55567eb8fbc7ff23c51176e3256aff49cadf935496297d593dab1d37269f5a3256aaaf2e9daacf6cb43de15dab56ad1d0070db6ef1b36c9f237ee30897b5dc2b5c545102f8d5eed995065f3cddac0fb5792dcd26aa33e6b795e7eb61466afda4ed341422409a56a53b5894cb8cccd4ccc16ae10c972a15c48c6da9a5a471ccd575d6bf54aea995d5bbbac7d44a6caa30a147edb3bc72d61f1f8f3b476a31bd82cdcfdb2470b45e7f9fdf9f48acba457ea6b9fb9c7f6f98d6f84aae51ad9a4bdfe34bded8473c44b94f2d5f7d7ba2f3b641aed0ae1e071be8d1329e39edab59ec12ffa8687dde344ca6c45e81f0f45e47c7a425358309fe91b6e6f8fcc3186fc4e89e72724895da22a7fb2b64c06df6393f94f34dba379601e09200124800490001240027707018caf16ea385a7aae391f2eda50b56a03bb4720ace5bbf0f6cbccfee9849c7cf96d53f1ffd8a8ad7aee45baf6e6a791b8a2f1e4f99fedafceeb357f30f56616ddc5091fbc6c25d3d66cd59240ef5f20be22e4d0ee5754f5072a56553cfb620543c1d773f63ab17c93c42e2396eac1d172ea9c6447392c4c2ba9a4984601d75710031e33cb9e7cd090a32bc9610a47ed1df54dd6cd8fdfc77ed02b10988c7aa18adedb828e7394f97a252dedf70c5f347f10bdab7a80aeced6e9b349c0d9dbdc6ea7a520811622122b75d02ce8ba06f115214dc7cd59bbaaf315f96595f072112de3b48d3219ee4352bbb463b1a99db35fb132a13d33d8423e7f6c4dc7ef113cbe51979dab5b9fcb88fa86432b1aade656ed8a077395d42686a87770304effd4a5dde9f2dcca51530a35c516fac7065acd2172fc7a6cd6be726381dcd51bf78657ca3ced9349ec8227305b491f431d622ef0800490001240024800092081bb88c0a25bb7625666a5d8b5482b36137d846ffc80122889242889ceb397704c4c01d8931b1621312992999c9c64f39061aba28f6c557777f7abafbe9aa2f377925861d9166dbe0476727375355ae2e7a3ca8c5bf2951257df49cb542cb5e5777f3ea8cdb87ef8fe5da1506cbade161ab7acd348bc375d8d8d51333949ed4ea732ae5e535c9a9b2516fac686daadf6709d4a67807d04c9f8a8d51e7a8f295c1377d618f73c6af0d8ced5773835629f23d9f79ee25a725faa285d8e5ce4f78edb6c766e09b674867693f54bb3f9f147d767bbace6e396a9d571fcfea8743a251111ffa8cb1edb6b0da5536489a647071d5169744a05bc5fe71f1fb6d921c68c495c7a743fae3329178d5a7e5d1f1dc4c6348bbde0f69fdfae4a57aa53046cad7cfbe2c76ac72b248004900012400248e0ee25d0dfdf2f97cb0502c1a2458b3ef9e41338b2097a0c19384204515151014ffbf0a99bd75f7fbda8a84808aff20b04708c4b1919195002556c86cdb332ac3c1c131358610b438699cb489ef5010422feb025ec31520899b884f357714016d825bb5d208f536d16d8959d4d854feffdd13d13f049a587b562d273f29d14832b687cc502bb1226a4a47613a49317383a39bea134628bda343c797bb8a983fe31d8f92e7920965c49a476c40ebbe8a594666437b15f1a636db1d03de215aae84936e21bba32155c811ffcfe8cd8783c75d86137f5d412bbed208f6c941e55e9e6227180a861be4f489cd6b614832b5efff9ed8ed812d61df2b887c54800092001248004900012b81309607c75278e5aa2cfda877fbc7d15537cbde5773f3d1cbdc960a2f01d5602f3a189abf1e6a10f73643773c54a4a29a0188703c3d6f3965463a379e862c48452bfdea060ae46fb3a4e444daf45243083049000124002480009200124900a018caf52a1b4f0651affd77e92af245cab0817bef3493d74587ef366d4c2c5a4b27359396776ede60f1b94d22c58a337cc372135977ecf4c97cdd2401459846b15e1cc14622b24800490001240024800097c4709607c75970c7cd45ac1bba447774d37461c096f3e2dbcbe45ad155c78cea1474800092001248004900012b87308d02f6c614202480009200124800490001240024800092081d913c0f86af60c51031240024800092001248004900012400248802680eb03eff6fbc0f8f4015301f1fb8948e4f9cc7ca47efedf65d2184a73e562323e76a3736a7ff6b9c2aeabd9512a19b39d3287bf004695566be19b574122104cdce86deeb4cfce92ca505a20cf80cf69f94687076cb1fba4a7a4798efd4966b378738d3657210afa7dde315b8b99d9a0f176f3e1f327c12e9fe0dc9773de6f7ce3c8573ef76ea146248004900012400248e03b4200e3ab3b72a0b7d41d30adf67ff8d2e169a325e37d0f6dadd1b29d0ce8fdf31c5f198c8fdd6750c377aed8546eb8f49b13cde1abb9385379548e5290a3d799dbd95dcfa9953a3d7c368a49c165c159c5573a237c075936f5255c1779f3386b45575ead5d1ab87cd6629fae1373e94f525bc6c79f31648b4184092d977dddcdc457b7954f127f12ec269185aad47926d7c37dbff18d235f79721b588b0490001240024800092081a40430be4a8a67a156963cf0832a6dc698f1b065ba00cb7278f753bf2744fbcadb076b0293fef9ec90aa78ebfd06b58004067b3aacfd3ef59ab57919813976c07eedb2fd9ec5a3bd914f4ad92dc7dfef264469fa1b930e3e553d0b739aad9574703536d0d371b93f4391b76a85c01356a75e5d482917f9288bdd1e2ee239cf9d3f3c06d862cd665db638e819687af734a050693484dd05fe36f249ea4f82dda4d224759e49f4f0dc6f7ce3c8579ec402562101248004900012400248607a02185f4dcf68014a4c4c42e41048315aba02df0f5e320e0da66662e6a34b9a8a0df9f07a9fd3fad129669ac766ebbc0d66ed96067b9cda11f87eb0d80f5faf02ebb3489919d03ee83a77bac94e6b89f13e009344300074f9f4698efc49664895ab844942e7d53636ce8cfa14f3ede393cc1f4238ec266990164f1e3d7cf71bc5338ec9c697c704162301248004900012400248607a02185f4dcfe85b9330d6bdf9c28e0d794b5907c6875af6edd8db5658665c22552ca66325d5ea2d6584644b88b3b7f7e10347aa977f55ff8fbbdf6a0bf96b7cfe5707766a3bdef9c77d47c345d13d297bfefdd71e1bfacf432fbcc14c8195d5d5ffcf5da4e3df77ed3b4a38ed46b74d25af59bd424a886ff01cc71a3ac3d65de5f90a09a809fa3d5f74b734b4d8cab73d6190b8067dcb0ad452775f87f59b959b74ca80dbfe9f4da35b1ebed775f1e3d19cd2f59412baed71dafe78c23ca2a978624b91984cc28b56fe2f3f7bef4c4b2a4e95d7ec5847e588e9c0c93770f9fc698b35492b11fc3804e2151a628ffe22b04a43893317d3cfec246ba94e438854443c2e97befa8705525fe747c75bc3c254c5b6eaf5cac10b1f35b4878ba28d81ff0fdfebee6e3add62a78b35e5bbb61493c18bf50ded842a7facd2a096d37c20f9dd7d7f3a76864b055b4f341a4dce52604d3265b91a4da6544a5c36fb5cf249cb1fbe71a13bb86ef28baeebc2552505d9308ebed1bea6fa33766e9eec9b6e1cf749a8cf8927fefb8d7b1c09e12b4fd48d254800092001248004900012489d00c657a9b39a6fc9033f7f72439e78a8e742e775b73cb740afca8087e8fd077fb95d1b9a88aa7aee6015e354ff99836f5ff96aab5ebbb3eef9b7dade60caca766edd28130f757306572021bd675996cc774fe8219e4895cb645942cd0aa8e1b4cbe84ce3a059990d332a3eb7332130d0edd863cc8198c4d9e71813ac2cc8a54a4cdb021e578658a2a40a20e00a0465f9259b6076281014cad46b978c4b44626a93096cfbc646bf912aa4d9badada1bc75a7d1eaf17a691a44a79a6343315cf4a6b9f2ca364f05c6f1f70ab56e5e71aeeaf1d1d6ee884d92ece641f74fab273a4258fee51db3a3f30b7b24246d32306251d5c4102af282633d6636e1df1e9b395ebca2b5a4fb1919e66bd3e572c740f730657d02a33532a124f66022426654aa46291402e838bea8a12b55ce8760e0cddf42d962bb3b304c9baa7313ef2a88175484e953d4ad1da46f3ccf59d73c6273d7f7c3c76332512b158ac2bcba6c7d1e5162e5128f22b4d8695aafbb97892f79a08e77d723a12bfd21d9d4afcf71bf738c20c1be7f84e69c41c1240024800092001248004664400e3ab19619b8f46466a196c5770b3f3e42f5f3e092bfc42c971e49fafe72ffdde93cf55e5655c38fe2fe641b2442c1eea6a6c6c237f5b7d50bf61ebdeb2378ec07cd5ae9f6c5c4a6e7efac7a3e186f1e7c8bb446cc5d425b7ddf8e6d35d670ae9c8c13d381027a8a95807c195cf79e95d76a30b434d9db120775df9989b1674769cbd9ef340995ae2ed3bf7e197da9d65d9105ad04bf10819b65a3e80e926aabaae562f55ad2023674fd5c39e81aa1d753b973102d31c5415c5105cf99d0def9cb0832865aaabd5e5ae594b3a9bf91a367ff007e163b506b52c4757f61ca5eb69fd7353a7a3fbe3a651854453b289922f1ab8d4d2eb2662a1f0eb619bcd41361498b2d5facd9a966688298b8b7325c43bf879785bc3042313b125539794420af1b377c87a8edd0130562ee1cad1dd64712e5f5db23e5fee1eb8d4deeb168bc9cd2f6c6484cc119f81f4fc1969e7b61beea0cb76eeb8b993a88c7b761aa4aa6c3e9e9a8a1d9cf789a6f514d04d4c7cf71b48728e6392f244e558820490001240024800092081d40984fe129f7a03949c2f0296ff3a7f9d90a535fbdffdd87cfaedd70e6c29a42d5f696bac3f593fe881777f7cfd16c8d61f3d7a14822b421a7f7bb607e41ffe6f7be1e2c023df2764fc2fefbd45b7492f71db4d4f072d4dbf9d2451c6c73eabd50a8898063fbf1c5268fdfc2608668884f0b654d075a1c59e492fdbf258cf748a33e9693aa8847bd437d841075790ecfd202fc852e842ede9edfd6e85f2494f39727a164894fdd09e3d75757bf63ca48386c20cba8c3f8d584e1d7bd3dc36e886ddede5facaad35c5aa1187add3dae99e80a02ff0d535c876b6b7b74370052f685db039a1c76b366d868beab5f9b0b2efdaa7a1592f7e138935f6debe51d0a333eefcbb3d4feda8add6a91265a24b466c56ebb5513a7cf1b906ac56f0a7d33e3527377b3ee9fac3fac66117c6313866a3832b48f44e8774e4ccc793ef3e81295c9ec47dbf31c21ce398b49cc702162301248004900012400248200502185fa500e95b12a97f69d7ff75f8f885de2192955d54b5f5e0bb7f3cb025d695d8874dcbe1ffe81927b2a2879edffefc26ad38d0fff1f4dbb747f44921c2096dd830bddd482bfe8c7d6004b6df90c8e471224221dc72b7fcde480420122c6245e8c76f669203761cf4de800574e19650e1710e85ae542a98dd097c7583ddc8212c32fd5925154307fd63c37d03430ec7d090a3afaf6fc0de373c7d4b5beba963bf69eb1b83706cd5daa218f9888b4ca9ddf2a9d34fc4398515868a3ca5303866b7d863c4935d64d25cd899baceb3f57fb05c1a70b989489a43e94d3b9fae0e47937c1a584704cc9c219f4cf2f2247c66e00f9fadc004dc145309ba1c93a278f2df27312d22177cf75b4480f08d235ff9544bcc2101248004900012400248200d02f14f38693445d1db4fa0ede4911776efb8ffbea77ef7577a2eabf2913ad66626bbae736a511f5b1c9ac2dabd7f773609b47ef86e9c8381c9f0222da682fe833ff13259e3affe7b2d33a3c05c11c26737549dcac93e0a736c02b9b6b638467af04b580828d4ac290d95aa964be8c022103307c5445c31be92d055698516de18fbc6fb758c529e7dd8a3f7671f1970c1a3bd48e86d6838134ea7cf3627dbdf22da44eb99abbea86b3a188214eb62640aabc4582225c181cf3aa25ad0d9687fe84bba8c8d37a86d55f47c5a2439accda78f1ffbf59bef77d8e9b9ac956bcb235533c9cc9acf0cfd49b02be0f9f7269127df7d12139f45b3e0b9dfa245201f378e915a8e72ca505a3c5d5c1b698f1924800490001240024800098409e0fb5761120bed6cdc6f3ebcedc6a7e7ce5fea1e1c21cb9574f8e371c1bc0e9d7a7a5d449bf7c0ded7863ebcb8e27b3f582f6adfbdf70d28a7a7b06a0eeab3e0cda7aedf1d9d7a6b8b6944b23465af1c784544fa7f7be82db64e5bf3c22f44b505c6ea5532568490a476c342a99c3b2d97563f5aa2a62a9faecd6abf3ce45da15dab160d7dd060fbbe61932c7fe30e93b8d7255c5b5c04f1d2e8d59e09156c7cc0fdf40d718824b7b4daa8cf5a9e979f2d250157dbe9d6680f8452b5a9da44265ce6e698d79d44b25c28874f58b535b58e389aafbad6ea95d433bbb67659fb884c95471528fcb6778e5ba2554de5359b9f7888faea0b98e2fad24bee59537c2f0c80c7c3bc2506ef898d788952befafe5af765874ca35d211c3cce6c60484f61e94cccce1ec3eded9139ba90d6187f9832a5aeb246b806f6f55044a25bcab8a776ad67f08bbee161f738914ae8b0cb3f1e1f494ff999426e567c3e2133f687cf2eed72d454155c71f1e4be4fec7463cec473bf7566728f63d2f125aaf2276bcbe037a195f94f34db39ed612112400248000920012480043809607cc5896501145a7aae391f2eda50b56a4315ebcd78ff85b75f3ec9e64fbefcb6a9f87f6cd4563df7225d7bf3d3485cd178f2fccff657e7f59a3f688be9c4044cbf64c9b4355bb524d0fb1788afda0e7ff8e9fd3fde9057bd358f049c678f5f2cff714dc63713c4722d89dd1895d35d385a4e9d93ec28d7e750259514231c707d0531e031b3ecc9070d39ba921ca670d4de51df64ddfcf87dec07bd0281c9a817aae8391e3abe52e6eb95b4b4df337cd1fc41f4ac5380aeced6e961c6ced9dbdc6ea7a520811622122b75d02ce8ba06f115214dc7cd59bbaaf315f96595f9ac8cd306b3433cc917104a64f9faf5f9fa9080d775d57c26c4d96a6ed5ae783057496d627ae61d1c0c6bb159fbca8d057257afd5112e62ce09fe382c970757ad57cb0bf47212f4d82e39f2d6eb04fe00b1df74796ee5a829859a6215f8c7065acdd13d8ed11bbea02723fd5c5f449b2d1ffbe48cfc210976e902d81d32e4f0040d24233cc1c5c5b39df33e09f797e3cc7dbff926b8c75155c15d1e56ccc6fa82e859c570159e91001240024800092001249084c0a25bb762566625118dae8ab46233d1c720f3e9552889242889ceb397704c4c01d8931b1651312992999c9c64f39061aba28f6c557777f7abafbe1aede15d922f2cdba2cd97c04e74aeae464bfc7c5499714bbe52e2ea3b69998aa5b6fceecf07b519d70fdfbf2b148a2505011ae0f359bd8d8df1aa93da4daa32b152535c9a9b2516fac686daadf670b54a6780fde1c8f8a835e6eb52e1eaa9b3c6b8e75183c776aebec3a911fb1c0e0894669554942e472ef27bc76d36fb748ac0c95c853c0b36da700fd8a2778d601b6a289d224b14db05dd8feb4cca45a3965fd74f1b128112d0009fcf72d96cf1bd5269744a8548043357c3f02dabe9fc9ccb7a6e3ef3e20f17cf94ef93290689f71bdf38f295d3ba54ba529d22606be5ddbf7fca20e6900012400248000920811911e8efef97cbe5028160d1a2459f7cf2091cd904ca20034788202a2a2ae069dfebf5befefaeb4545454278455b2080635ccac8c88012a862336c9e9561e5e19898c00a5b1832cc5c46f2ac0f2010f1872d618f9142c8c4259cbf8a03b2c02e61bbc02b53c1539c736d1666e340bab4f0e9bd3fba678294d63eac15939e93efa4125c4133d010a7337499d42e7713de524727c737a060d7bb54c306b8a983fe31d8692e764688d75ef28a117b4230c3db601a271d7666e340bab9aa7473913840d4305f26244e6b5b2ac11534030ddcc6615bbd9139e92eb7fa24a5dc7ce6c59f289e1107a71982885c5426f17ee353c2574e2b1bb125acef8cb281592480049000124002480009f011c0f88a8fcc9d55ae7df8c7db57312e5f6ff9dd4f0ff3444d77569fc2ded2ebcac2f9857a56ead71b148c73a37d1d272c3c51d342f51efd42024800092001248004900012982b02185fcd15c96f574fe3ffda4ff295846b15e1b7ebd8acad3b2cbf79d3326b2db75b81cdd240145964de57f3ddee7ea17e24800490001240024800092081f408607c951eaf052b1db55670c1fa78373bc6b5b6ed6eee2ff60d092001248004900012400248809300bb4b1667151622012480049000124002480009200124800490401a0430be4a03168a2201248004900012400248000920012480049210c0f58149e0dc5955c6bdaf98263efbc31bf5bcfb0da6d41fe3d3074c05c4ef272291e733f391fa85f6ee93a6a2fa5ee168d497ae52ead51c0a519b4ddac08dcf5a3a67b7bf1f555aad856f730589403071a3b7b9d33e872e2e2455dfd678c5d9d5d5ec28958cd94e99235f8a5b4890ee025fbe2bf773dc50e17d1507042f910012400248802680f1d5acee832d75074cabfd1fbe74789ea3100ebb46e38f6a6a88decf195f71c8f3f4db78df435b6bb46c6540ef9f457c45ed78a636471c32130cf8c6beb47f74aa29d54dd979dc2394be58af23a3c1a92f09f349dea6726a75914e47960539e32b5d79b57669e0f2598b7d3aebd44a9d5ec77c321976475c16bc4df155eafe24f777e67abeadf18ab34be551394a418e5e676eff2eefed38f3714c7e7f10323ff7f3745ecc7b3dde57f38e1c0d2201248004ee0802b83e7056c354f2c00faaaab7198db3523283c61c763d7e1f21be493fa7360e794e39422c87773ff5d47d4f1d3c9b441b4fd38462fae60a38fbfa065d6e22142bd4fa1f6e2d4f104ab7201000a541387c4b69229903ead58554c1dad5d4f4bed92dc7df7fffcdf7cdb6dbda9dd4fd49eef12cf424c395dce8ec6a63eddaaf5db60f5cede8fc2e0757c07316e338cd68cccffd3c8d13f35f8df7d5fc33478b48000920813b8100ce5fcd6a942626e9c763ee9866568aa769cc6757186e5748c895701ece7cf2512253d92bd072c938742ca26daa2edd9cdf79eecc197a211d55fd4cad5eaa594591567bba4aa2e5dd7464f5adff5520e2800a3e441be55e00d6fbc10d115592243b022dc57e6810d1964478665569f993c4c4ccf57c5be3156fd76e69b027e9e077a46ae6e39802a079b89f53f0629e45f0be9a67e0680e09200124706710c0f86aa6e35458665c22552ca66310d5ea2d6584644b88b3b7b18d096bb6ef7dedc987cad44bc5c4e71b1b0fb8ba8eedde77b4acee57ff73d7b2f75f3b69f8d9ff5191b7141adefcf4773f7cee0dc818eb5ef9bb1f96e72d93674cfac62702aeeef777ed7d0bcaeb7ef1f64e63910c8c04dc174effeb0b874f123ebb200d71d437a2e75ff9b79d357a5897e7bede7268d75e0b8ffcf75e7c7fc7d26b1d5fdf5bbd217ba8e57727c7ee7bae46eb1bfaebcf76ec8b0ecc18adb3380884996c6b7b8fcbaf570b8888104df9b62dc5d22e8b75797969be5c02f5dec18ea3a75a08316cdd559eafa04b827ecf17dd2d0d2da1f906aadcf4fd35794ba4e245020144237440aba978e2e17bdddd4da75bec70054a776d29268317eb1be8176c5406e343e57a85848910837e97fde2f1b3747979cd8e75548e1854047d0397cf9fb658e9b654f963950635e3095cf9dd7d7f3ac6c484741d779af40b2b4c8fafd7658301df685f53fd19bb4a4389331767d0b152d6529d8610a988785cb6dcca270c12d7a06f59815aeaeeebb07eb372934e1970dbfff358437460c66d26be948b0f1f87d6614e7f1c629a9bebe2c7a339a5eb2925f8ef71dafe78c23c92ae9ea4de738c17d3170efe8c5d0e7f78e561a0d74d7ed1755db8aaa4208a3f23cf6117f46f2912934978d1cdffe567ef9d81db8c49f40d93829e5b01ff64d0fb6557fd99d650438e13e7b824d3cfa183299af23fca2ef7efa59570dfff9d19dcfde2b93f1dfce3c86d97fe9df2fc8ef87ac52f6fd85c5b52987b0ffc4e0301df44d03bdc711c7ebffcbf478efb87db28b5f589eae58b5c1f1f3b15fa17047ee59bb7551b9483173e6a687770eae1ed2fa73f7cf715edcf9cdd0fdc9dc35224800490001258f00430be9ae110ed3ff8cbed5ae6f19d90aae70e56316afacf909d871ab7bf52bfbf661521e3bddd5d934b56eaf39666695640bdf41e992c6bd5b3075f8467f2ebdd3dca227dd63df740b971efdb877f5c0485fd3d5d5f2dce2d5a959db98c7e33e7e9d73e78b66a05c4497fbd30a8abacd8b8fdef5fbbde35f2088fdd3fd1d326b2a2adbb8b88bbbf7768b17ad5aa8a175ed97e9ff6ef39fd3c2759b2545b554d02e3bec08a8addcf81795f40bca2645b1939d2c674666e0faa957208ad7c7e0f21999962b1485166aa84a87174d829c9c9ce144314a6dbb1c798033189b3cf31265859904b9598b6053ca75b1dd4e61db5eb734078cc39eccd90e728a4b46b999952917832139432295322158b0472195ca88a6b7f54490948c035681ff50915cb3452055d5e5afb6419258378c83ee056adcacf35dc5f3b3adcd039525d51a2960bddce81a19bbec572657696201413b29a138e30e324ced197e410df98cb2d942914f99526c34ad5fd066568228ada64a29856633de47a8658a2a40a20600c0465f9259ba01b81a050a65eab21cdf4bc5eea8987cf0d6e0e465339a73fef5dcb9488c4e02118f68d8d7e235548b375b5b5378e5d4e534f53e4c135be0bdce3c5c77f8cc79f864eeef11a9348c462b1ae2c9bf61ff82f61f9dbcd566ebb3e9fc7eb856945a9529e298d1ad8cc34f46448e9989f27f18d0baf7e1e3d1000c4dfe7ac5deedf4b2604f05cf77f26e1e4c3777fbec73f8edc76f9c6b1933750e31ec7ce1183699751a7803f68b88687831245b65c92c9fc7ef97e8f7c7ab878da473cc17cb57a8391b285de85a436acc9150bddc3ed0e3e3d7cfde5f687efbee2fb77ec46daf70357bfb00c092001248004ee0c02185fcd709c7e7fe49fafe72ffdde93cf55e5655c38fe2fe641b2442c1eea6a24657b7f0ec155a0ffb72fee7c0b0295c2bd67dffd71d4631d98731edfbfed88a5f0dffef7bbfa0c1129acfbef747075f3f8fe1f1eb144c9173eff1308aec67bf6d7fc148a89f1953f1fae29abddf67ff2d925256c4f7acffe72f7cbf5a470bff9ddedcbb47a3e3f0d2ffc3f20dff3bb979ad7ffc3b31b96de6cf9e5ff6dfdc1bbcf164a99e085553507c74599cb286ae90aedbd453a50ecb2db20a6a0427a3d971ade6db6ab1e7f6e67b640a8a95807c195cf79e9dd13cd74bda1a6ce5890bbae5c73d551450757de4b0d479bed103c6d7e66e77afaae9da0a5a6d2d4a5aab2940eaeece7de6ae89caa27aa8a6208aefcce86774ed8a19832d5d5ea72d7ac259d030a29c4c9de21eb39b395f719314a5128ebb29d3b6eee242ae39e9d06a92abbfbe3a651854453b289922f1ab8d4d2eb2662a1f0eb61dbf2cafba181b3e3ecf59c07cad4126fdfb90fbfd4ee2ccbce8cbd2712f5c795f0f269bc192319e6c0e70fbc83432f612464d86af900a6efa8ea3a58b7a95a01539f69ea89119fba5095738f171fff7384db1f5516f7789d0b998ae34ff8ec8eb49faa87a94bd58eba9dcba6bc9cba7f52d513dd362a3fedb8c4eb8f6a1b93e5f37f4a28e6f742266257a186c73df2bb88b3cb7f3f4c19e0c9c5dae51bc74ee6679ba8824fde49364170151c6bfbf0bd56f84721f2bb2614f7ef914f0f8fdd96d62bf73eba3e5bbb4163b1d3eacbd7abc5c4d3676d57553ccdfdef40c4ffd8fef2f9c3735fcdd9fd9048124b900012400248e0ce2180f1d50cc7ea4a5be39536a2de5e071312fd96fa93104a31c9b877838c90ebe66374700569496668928bb982c385df1ea4e32872e53fde7c73e95057e1e69fc25fe287fefaef4c6194fcbadc2c90cad2ff93d90c2f420548162cf90b2c96f2d92565f4eb5281feb374700569097d8047303e7903adb4f7b76f58cafeed6578feff606ffd92bdb5d0845e7a378749202faba5d582e261dbc50f9a98f578ccf5409b998e97c8c8a7e7cf4bbe1e5ebd6e0b2cda1bfcfc32534988f5f39b9b0bb233444b56ae80c0cc6d6f678461e648280849f09d56d20bfd3c8ed6e8e00a6473e4744423ca7e68cf1e78e1294844806b510694d97bfb46730a143ae34eed7d9e1b03fd5dad4db6a4711638101cb3d1c115246683448810461cb611079119e80d3cbebad66985673a262da78db92eb4d8731f37815bd6339de2cd6ba026f6e93824cc9e8c3fae33d00bf72229d0d3f0d6841afed2cfc1872f1ce6f38768c021e21beca0832b48f6fe9b017d769642478622f6a233bc7aa285a2f22abef1e2e51fe0f62787f08c172d9fc89fd76ec8377a8dedad283f213b233db12a0859cd3f2e9cfae3db87afa7f39fc4fd5ee02f31e1a6f1674ebbe98e634469bcdd9c753ce31269119be119776ab50a7e3aa3bd1d74700569ea77cdf37be4d1136b2ceacad1dceb5a6b50aacb4a558e7652be3617fe86626b69273935c9fd8fef2f7124fdf721febe9aabfb21aa2798450248000920813b8f00c657733166090fb96251586d361d17c15e7ce134de7f31148a351e3d0a85c6fd2fc0f1ab41f62903161186e40b97c9a0e1787f77db35b728a42dc3fb4557580f734eb0ebf38c470b443fa4d3e531f2503909abf5e86d2c7c233d719574f99c24f7a573ed3727c7ad567bac3aff5703a12edbda617a811837c063e12dbf3712d988048be82762318d81f8dc63a1e699745cc4119c64d271173d13023b4e40828bd8a4928aa1a17f6c78c035210c7111f8478741aaf36cbdd3b0b96c1da556ca72287d0eb532cf7c947fd914ad3730111387c65ba39fe02289f68b995d804935ef0d58d818a9e1c95ce9ea082c8d920a8c5fb393c28da087834fbc8e0887e88a2865500c8adcce7034a552c1ec5dc0750356fb3d18d324cc33a630fa823b2fe3192f7efed99cfeb8a4f7f08c17fc3982833f9f5d6e2fc3a589e398ae1e21cd89775c12f5872dc79fa7b31bff7b219ad8f82a76dca7b11b7b3fc4bb12731d6f57555ec6332e31cd2217fce34eff50c3bf44f8d767ea77cdf97bece4fffd466cc5652c5d7d7a6381fade12d54db2520a53d7575a4688aa80f7df01a6797c7fa190d31fbe7f1fe6ea7e88eb0b5e220124800490c09d4500e3ab598d5726cb8f0953428a986717cf572ee6d2f8e68ba6d0c37ca85a181be44029ad62c9320d535ff6dade0758f92b17af8e3fbb316bb16bdfbe7da1a651270ebb4cad90673cf9e4432a9956d19d60cb039391554751b6d3ca067c039df1a115a3401017670c7ee936642b356b4a898d0eb7886ab9041e5cfd81497a470c2296ca99569adacd0550ccc657ccba3236cea1b655e9801b5d3272d3172032c9f2628a34d99946cc6164c0e52fcb1509bd0d0d0d53a5e19cc3da0cff81d58ada874a28c5cab5e5c4d61aaee438d39b6c70a5d0e41a1f368818a716a64db50fc66e37efb086fea63f2501cf9f3c7ca0ffdc1c98c6fcfe845c2cadd0d2b37ddeaf0991cc484fb48f6c9e4693385ebcfc3546a659bc3f230313dce3c5c873f1e7b61be35f2c67a89aa19e28a57cf72d7b5f72e98f6a1c934dee7ffcef059a26192f3ebbfcf7438c2b5117f17679c731aa4df4fdcc274f190dd0c2ff0dfbf720eab14a2df43ff27793c4df63535bb2df6f94f1a8acb5adaf94a2e4058f562f1210bfed53f881133e7fc2cde2fbcb9627fa13f3ef43d47d35f3fb813294cafdeddff52f0884c701cf48000920813b9c00cff3f81ddeab7973bfa7d745b4790fec7d6de8c38b2bbef783f5a2f6dd7ff93240f4da6dfff0ab258facd85495472ff28389225e8f2c1dbdbeedda15d5cfbef98be27b4a8cdaa57478055105693bd2d4fbc8566dd5d9fa23ef9f3c4fd4859b8cd52b3d676b761f06010ebbbf8b35113355c521cf4ca24d33fa599ab2570ebc2222fdbf3df4d68c37150ccdbdc57a977865b3d8be6fd824cbdfb8c324ee7509d71617c173ffe8d59eae41f57d06a5aca0ecb19a156235a5a4a32ec2ec824eeb50ea2a6b846b60ff08053dcbc526fba7575c26bd525ffbcc3db6cf6f7c23542dd7c826edf5a79bafbad6ea95d433bbb67659fb884c9507adfcb6773e217b6ad77a06bfe81b1e768f1329b3e5a07f3c31d80cab8f3bc74e053847bc44295f7d7fadfbb243a6d1ae100e0ed0f2b4cf499248966baa86387cacada935327f1727cfc7c74ee8f91c2e0eb482447f8eb7d3cfe592dcd26aa33e6b795e7eb61466afda4eb712266e49434f6423be5847ed832301cef172f0f0ff98c71f42b8c7ebe3587b61febc76a3c48552357026132e733313c3475545a2fd54f444b74b3e2e5392613fa74a6273e9da655bf38dd794ee58bb1cf703cf384e6988cbf18de3714b4430e67ee693effa3a48b2956b1fd8b678ad2c9fa237bf8104b72665e4fe3d3a5ab9ef8728bb1107c29991d6cf07a9b25cb118f6c6e90dcd38f1f9c3a787cf9fb00d3847df5733bc1f54e54fd696c908d1cafc279aed51ba318b049000124002772481699efceec83ecda3d3275f7efbc2900f36e27beec517b7571529212638b9eff79f0e11e1d28dd5557962e7995fbed93d4ec48bd9300b3c8bfc8936ec65e3cbeffcf53aecfcb7a1ba5abb74ecaf279b6ec2123226f039b4fb9596eb6ed9aa8a675f7cf1d91f6f2d5a2174f482249d38ec322fbc4f7c139e3af14cc0a2c4c80414977c80f8be01551330493515fe45dca39b1399b6666b4d75ed035adae68cd224dfc7c1983fbec7a86c3f66b6ba03c21c5d49e5a6f510478dda3beae17d2d9bf9827d146644d405054a89cf6ebd0aa10f7dd73a2c97073d44242fd01728441edb259b171ecffcb4ffb6a6e3e76dce0011e7ead697ac37e4e728241974d4da74dcdc37ea132bf2cb2a2bcbd6eb736402f7c828b13b5d9e5b0a35b5be645365e5265d8ecc3f36d06a66de4d8a712f721100d727194374d1041d0b47fe606f35b70eb803b06120e8325039127a1c83ec07d2022038f50250a4fb74732256eaf4ba02dd6a25ad912ff1f0e1e7008ab8fc61e21965bedea087e0caef193e7fe638dddbf4f5703bca375e7cfc99876a49a23fbcf23cfcf9edb27ed2cd24d9c05967d0527451aa7ae0be6276dd67d5241e79c6854f7fa202b624c1ff58bb911b26dc9e77bc78fac5b4e3bc1fc21a39cf097679c7856dce713f73ffeeac0ddd836e2290e4165072a1a7e7dcf9613f11c27e3ffcbf476e3d9c5e870b475a2f0dd2ff9005fbba3ac2653cff0e84aa13facbef0fdb22e1be9ae1fdc0fe9f5840ff438509092001248004ee78028b6edd9a7ae84bbd3791566c26fa18642617a02492a0243acf5ec231310560ef6a7856655224333939c9e621c356451fd9aaeeeeee575f7d3575ffe756b2ccb8255f2971f59db430b342a0bcd0b8659dc4dbd568997edaa7b00cf6a0a0bf6aa5915a2c16b2fdb5ffbdbfcaf9d737b7ed3bca3a49abd248bc375d8d8d9638b713edc609c45da62b1fd77c5e2e553a03ec2348c647adf4b65fe1a4a2744a1171d9e2379ed0503af8cc546239d34ea5d3296175a17fd4658ffaca0fa8ca918bfcde719bcd1e560f0b03353aa502de73f38f0fdbec7c734853e2c973e095224b14d785e44d52aee5e693940389f14763dcf3a8c1633b57dfe1d4887d8e2832e0431a7a927acc375ed0289e7f527f38e4676a3769bba84a9506f62a81fb819265daed7662a87dce4879ece7df65beab16251797e51e9738a1649733b29b7cbcf8ccc5dc0f7c42d395c78fe38ce4692522d8f926e127c7ff7b4cd72e9f5fe9e9e1f787477fdaf7834a57aa53046cadfcfbdcf358c26224800490c01d4da0bfbf5f2e97c3c74d172d5af4c9279fc0914dd029c8c01122888a8a0a78daf77abdafbffe7a515191105e751508e01897323232a004aad80c9b67655879382626b0c216860c3397913ceb030844fc614bd863a410327109e3ab3820f37d69dc5f7f78fbb2ee968fdbad5f2e5dbdde580ddb0f8e9f39683ad438df9ea0bdef04018db1ee51c357d686e316fb82e8ef02f38732eeaa354887fbec835f7a244b73a802d8d6dbdf63fe0ddf7e0673c5f0dbb23b57fea31e2480049000124002332070b7c657d3bc81330352d8242d028e9eaea1f1daa28a9aa20aa69defe6853ffd1a83abb418a2705a04600954c22aa8b414ccb1f082f2c7ed1c76fb7539f9f01fd3cd8077a00736ec9fe32e27aafbb6ec267a8225480009200124800490c02c09607c354b80b36d7ee5e4a11d270fc1f2406db684789d8d912586b3558ced9100170187e5376fc62f34e5929bafb205e6cf88b5e998b50996072a61e1a9df638b5ea57a3b917c5b766f679f50371240024800092081ef28018caf16c4c05f694be14dad05e1293a8104ee7e02238e843782e6a5d3df96dd79e91c1a4102480009200124f05d21c0ee5af45de92df613092001248004900012400248000920012470fb08607c75fbd8a26624800490001240024800092001248004be5b0430befa6e8df777beb7ba9a1d3f7ecc54fa9de1907a7fa9cd265345b166bec8682aaa4d9b4ba9b936977a7fe7da32ea4302480009200124800490004300dfbfbaab6e842d75074cabfd1fbe7478963b18cc811e8df199470de230dd60c077e36ac707e6f670c1b774a6f2a81ca52047af33b747ef09a72b878f3b072e9f4d75cff274e5f97a3b577af8f493d4fb4bad2ed2e9c8b2604b67d477c778f5ceba82d217eb756434d8dc6e9fb5ae2805a9f737aa1166910012400248000920012430870470fe6a0e617efbaa4a1ef84155f536a371b69ecc891efadef28ff5d9fb9c635e81509ca3dbb4ad74dea6477808d8af5db60f5cede88c0eae4054bdba902a58bb9ae26995509cae7c828250c15ce9e1d34f52efef44204048200887f949b7c75ceafd9d9f5ea215248004900012400248e0bb4700e7afeeaa319f98a41f92fdb3eed35ce9f17f75fd4c4333b8a333ed32e914129974d6aecd5281ddd2604f541108d25f844a3db648573ed1225b32577af8f413925e7f237f6e511132c2af740e6adc34ec88b939501852915e7fe7ce2e6a4202480009200124800490408800c65777cbad009fd05a22552c16427f54abb7941102dfd372f636b65da13b58f78bb7771a8b645019705f38fdaf2f1c3e49971aebde7c61c786bca5749e90f1a1967d3bf6b625d5c34aa67e1408687f2079be99a44f70a5a978e2e17bdddd4da75bec7489a67cd796623278b1be3363d79675935f745d17ae2a29c80641df685f53fd194688168c4fe9ea01f92d456232192402ff979fbd77a625a4103e7524ce5c9c413fea672dd5c1fc1a7cf7c8e3b239f8c28ba4f2e5353bd65139625016f40d5c3e7fda62a5ad50e58f551ad472096bd1efeefbd3b1338e247a38e5d9c6f147c3634f6d92babade3bd35abef589e2e59317ff70bc7d84daf6d403826bd7a43a5d1afd65344ffa8515a6c7d7eb52e10f03c7375e86adbbcaf315747f837ecf17dd2d0d2da1f942aadcf4fd35794ba4e2450201408afc218083dbb735bef184f11a0920012480049000124002e911c0f82a3d5e0b567affc15f6ed7868299aae70e56318ef69f213b0f353efdda07cf56ad20eeeb7fbd30a8abacd8b8fdef5fbbdeb5affeca819f3fb9214f3cd473a1f3ba5b9e5ba05765c0ec52123d33e87b30b4decc50b9361b22a6a16b3692a9968ac49399a290b64c89542c12c865249348c462b1ae8c961b73b9854b148afc4a93c16e66429444db9999e9e9e9f079bc5e98a6922ae599d2cc883ea3e9118332348f426d32514cc5580f79af296e0961a84512f9d2da27cb2819c485f601b76a557eaee1fedad1e186ce91ea8a12b55ce8760e0cddf42d962bb3b304603e891e4ef988c3b119bf5822be47760fc4a9ab56c8452242add5b45fce5d21953883dfa4d7df1e025378e21c7d490ecb5f361d7f09cf78f977ec31e6408ceaec738c095616e45225a66d01cfe95607b57947edfa1c08f1c79cc3de0c798e223499c9cd6decdb19df58bc78850490001240024800092081b409607c9536b285d9e0f747fef97afed2ef3df95c555ec685e3ff621e244bc4e2a1ae4652f8fc4f20b81aefd95ff3530bb86e7ce5cf876bca6ab791fa366a196c3f71b3f3e42f5f3ec94c72311d73f0e949bfdbf4f37ab6e199a70b056289481018bcf431bd7d44dc1b581361bde18ccb76eeb8b993a88c7b761aa42a88b67852583e541db90c67e2f58c584ed5c3ee1aaa1d753b9745a9ecfeb8695421d1946ca2e48b062eb5f4ba895828fc7a983bb88276bcf2aa8a6208aefcce86774ed8418e32d5d5ea72d7ac259d030a29c4bdde21eb39b3756a52cccd6b97e2948f72393a6b1b19ab56ca149466f512266255aa57ab6ec23c6560c4f189e5dc27e9f457cdea8de7166d2d3acfc35953a182e0cae7bcf4ee097a5d2831d4d4190b72d7956bae3aaae8e0ca7ba9e168b31dfcdafccccef5f4bf3e7cdcced1ada752d81c0967e2fd9ca33b8442ad0000357a49444154f19db288392480049000124002480009cc8800c65733c2b6f01a5d696bbcd246d4dbeb607ea0df527fb22dece2f6dc2cc866e9ffc96c86e579019205415560314c1d58feebfcf5a2ea5535fbdf35bde0bcdc76fefd5f1f6abc4278f584f5a5770e4c782705f44a31afe354336fd0c2ea8459a4e0988d0eae20313b0fd22f45a59f92eaa1d748de8ad239e2b08d3888cc500e655f5debb44eb7791eafbc414e4f8a89b21fdab307de2b0a1211185a940165f6debed19c0285ceb8537b9fe7c6407f576b936d84f0eae1918f723926ebf1fa89224bbb2e5f44bca39e4c853257970dd8dc4e3b2b96727f35f4db5069f1e7945fad56809ac1cf2f87bcb47e7e737341768668c9ca1570cfb9ededcdac63622134a7530e1f37deb7e138edb2ca0849b9bfe106784602480009200124800490c0dc12c0f86a6e792e0c6df0241b4e85cb6410aa8cf777b75d73c3fa31266578bfe8824cfd4bbb6cdbf7fef47163a9764551d5d6a2aacaf2833f3cd4186e09e7283d51a5a966e139d87fb3a7fe84edb16776aa25f9bb4c86fac4c57e99f47376248e0a4c445ec9a1ad841ec1533138277ae808299d1425af928a21a0f28f0d0fb8268490a393c03f3a0ca7ceb3f54ec3e6b275945a29cba1f439d4ca3cf3d198e587517a5292a79587d290d34dd4cabc7c0184469dd7971ad767dfab83159603a3618164e758bb20992eff4479213d9eb7fcdec84c9d48b0888e68c5f46d487ceeb1903f9974fc0921143fb7d8a9cb6f657c93b1c33a24800490001240024800097013c0f88a9bcb1d5a9ac98ea767cafd2b17af8e3fbb316bb16bdfbe7d53a5e15cdbc923f01f814584af1dda5db5aaf2913ad2f8165426ea09b748ef2ca05f351a3975de5667d42974e5159f59615b09269a62e3286a5b950e9eb323f115bde941ca69e67a1276210f4da684d79e4deb42a2fcc880cb5f962b127a1b1a1a129b3baccdf01fbd18aef6a1124ab1726d39b1b58258a21eb62d9f7ca266fb9737fdb09589888cd9bfb05efe66d3fa6cb1085629ba1cd1a229f7372dfe6021517ef04bb7215ba959534a6cccb7ce54cb2530a6fec024a1837bb154cef8a5a9dd5c00c5105ff172d318e7697c2943a9dcdf1ebf637f343ecc2301248004900012400248200d02185fa5016be18bf6f4ba8836ef81bdaf0d7d7871c5f77eb05ed4be7bef91a6de47b66aabced61f79ffe479a22edc64ac5ee9395bf36b623ebcedc6a7e7ce5fea1e1c21cb95f4f482c77583ed23979e3766de7dabb943ab29cb95163f58d3f2e76f408f525759235ca3a40a14cc3a400ecd09532b1c3233d52394aa4dd52632e1323733310021ce112f51ca57df5febbeec9069b42b8483c7231b0c7219e6926fbeea5aab5752cfecdada65ed2332551ef4ce6f7be713b2a776ad67f08bbee161f738914ae8b92dff782802e6d0d39d99449ec3179707766614918073d046465c4eeffa5c09f1dcbc192d99527f4324c2ed52e31f9686883c94b5596cdf376c92e56fdc6112f7ba846b8b8b6071e8e8d59eae41f57d06a5aca0ecb19a156235a5a4a32e42ef8aefe0e1f631ad7066f7494afd65c75755fe646d998c10adcc7fa2d94e9bc4840490001240024800092081d911c0f86a76fc1658eb932fbf6d2afe1f1bb555cfbd48ef2078f353faa9f9d0ee5754f5072a56553cfb6205e3afafe7ec7562f9e69af3e1a20d55ab36d09290c6fb2fbcfd32b36f3b219c7a58b1d48ff4fc4378e6a4f574cbaa674cd9f282c772ff707970d57ab5bc402f27418fed92236fbd4ee087990c7a162bc86468131330e34132c2cde992b8e4b0cc4c4f00cc48b275fa6c08497a9bdbed8c5aabb955bbe2c15c25b5a9928202efe02053cc7be0946f3a6eceda559dafc82fabcc675a069cb651629f74796ee5a829859a62d5f9c7065ac3eb2439f4d89d49e4391c1a191af31389e0ab7e7a9fc591eb8363b90572efd8d4f2c094fb4b0ba6c11fbe45cc2ddf7ecc2c7bf241438e0e7622a4d3a8bda3be099cb35ed02edb04180a0a00b0dd3ab8cc50c00665dcdc1c9df333be749c071371a1259dcc051e9000124002480009200124300b028b6edd8a7edb3f554d91566c26fa18643ed50a25910425d179f6128e892910800fae06e1189d999c9c640b21c356451fd9aaeeeeee575f7d3555efef76b932e3967ca5c4d577d212d9e50296001ab7acd348bc375d8d8d96290085655bb4f91209f1baba1a2d53bb08b2029c7aa6dace22a7a174f09929970d367a98559a2b3dac13a04d91251a1fb5da1d2979c529afa274397291df3b6eb3d9a7b4a8343aa502de7ff38f0fdbecf19de6d093547e4aedec721c7667a730aab54a67807d04491c4c80a3e419774e6ee0e19cdc27ac639cfd55e94a758a80adb5337e54a23a8359248004900012400248e07610e8efef97cbe5f051cc458b167df2c927706413d8820c1c2182a8a8a880a77dafd7fbfaebaf17151509e1556ff8be6a42cac8c860abd84cb4182b0fc7c40456d8c29061e63292677d0081883f6c097b8c1442262e617c1507042f91001240024800092001248004900012b8ed04eed6f88a5d1d73dbf1a1012480049000124002480009200124800490c05d4f00e3abbb7e88b18348000920012480049000124002480009cc13018cafe609349a41024800092001248004900012400248e0ae2780f1d55d3fc4d84124800490001240024800092001248004e68900c657f3041acd2001248004900012400248000920012470d713c0ef5fddf5439c6e078d7b5f314d7cf68737eaa336774f57c71d2cafa9a8be57381af93256b29e146faed1e62a4441bfcf3b666b315be91dbe75353b4a2563b653e6b8eff526d393b42e0d7f92ea99beb2b8a27a9970b4a3b9fdf6ec544e6d366903373e6be94c6df3fbe9fdbdcb2466c9278dfb24a5fb962aadd62ae92f400b0413377a9b3bedf3857b961ce6cb4db48304900012400248809f00c657fc6ceea29a2d75074cabfd1fbe74d8326da78cc61fd5d410bd7fb6f195c6f8cca30671d85c30e0bb71b5e383398b3ac27ae7fc4ce98bf53a321a0c7f7998d780f1f1670cd974ff9847d0655f7733f1159547e52805397a9db9ddc6db349d8ad4fcd195576b97062e9fb5d8d3d11d2b4bad2dd62b05ae2f6e537c45ad2ed2e9c8b2e0772abe4a635c66c927b5fb04463cc5fb965aa9d3eb94ec1d125c169cbff86a961c62ef69bc4202480009200124f0ad10c0f8ea5bc13edf464b1ef841953663cc78d8326d80e5f1fbc0bb49ffec5da4d79efac7fa06be9228b3b3e5921cdda66daee1d3ed0b7cfa221000b783f42159d26cd6658b839e81a6774f431ca5d26808db2dfbb5cbf67b168ff6ce4d70457b90923fead5859472918fb2d8edc9bc4e5ee7874edf0acec1c0739a9948a9239c4defdcc234c665b67c52c39bf27d6bb71c7fbf9b10a5e96f4c3af8e4fbfc0dc16c39cc9fa7680909200124800490001f018caff8c8dc55e51393f0841448fdd15918ee7d212157c2f9199cfd5f5d3fd3d00c0d75a65d269d422293ce40c9bc3671d38f92d3be95a8ca558a08715e6d63e3a811472468b45b1aec73e9706afe0460120d06782e0ddf165d11b02a426ecf2ac4dbe2f68c95a63b2e33e793da7d92d67d3b022324f6c38d15f16ac61cd26d18b1f81db94fd2e583f2480009200124b0c009607cb5c00728cebded6f9efeb9eacafb3bf7be5577e4fd5d45be7ffff9eea3578cbf3afd0fa286ffefb9372cdbf7bef6e44365eaa562e2f38d8d075c5dc776ffbacbb844aa584c474caad55bca08c99610676f631b1336156edf7fe8ef1e5e05f29002e3bd967fdffd7b3a3bf18de8f957fe6d678d1e2adcd75b0eedda6ba18bd34e02412852f37c334937862b4dc5130fdfebee6e3add62a74b34e5bbb61493c18bf59d19bbb6ac9bfca2ebba705549413608fa46fb9aeacf3042b4607c62f4b82e7e3c9a53ba9e5282bcc769fbe309333c136acab76d29967659accbcb4bf3e51268e81dec387aaa0532e5353bd6513962787c0bfa062e9f3f6db1b26aa972d3f7d7e42d918a1709045019094439e5351a4dce523a50cc94e56a3499522971d9ec23e0cf96223199841756fc5f7ef6de19da1c9de80ef2f68b533f34e2f387d1187b50692871e6e20cfa89346ba94e438854443c2e9b83095f0c9b6b4b0a73ef9108611acc3711f40e771c6f6807ed8f551ad40c1968e577f7fde9d89948800871239d0cc627cab51281b7b3b1be3533993c2b1e3e1a1e7b6a93d4d5f5de99d6f2ad4f142f9fbcf887e3ed23d4b6a71e105ceb079949bfb0c2f4f87a5dfcf87270488fdbf8d627aa972f727d7cec141bf1822d6af3b66a8372f0c2470ded0e0efd49ef9370772267fe7ed9fe72aac5cec1b97538c9b8a80cc687caf50a18174841bfcb7ef178179d4d830f2d9ece7d02fd4debbe65f4f31d387926bfaf3855a5cb818373d27f37a67e47b702fec9a0f7cbaefa33ade009b7ff9c2e62e1ffdfdeb9c7d6755de9fd881449530c298aa44d9192acab074d85b26c6b1843aa3462c650630b48fc184c6d1888d18161183006288cfc33ee3f453268f24707018aa02d10743a9d09824c0523411dd84164b7820ac5126c2baa6cd966ada114d3d19311493d188a96284afdcefd781717f739e7f25e92b245fbdb0836bff5adb5f7d9e777af82b37cf91001111001111081f209a8bf2a9fd9e7b962ec2bcbeadbda5aa3a87bfb7d2b972c89763cdafd9357bb37b52c3b1e8d3ef137bb5f7a7875145d39f1e107d797deddb972d992f6e52f7deff927d6e51fe3a268c70bdfdb913ffca95f454f7efff5f54fffed3fbeb8a332ba7ae2bddffcfe72d5dd5fdd7cd7ddcb91c7c720f51bbff9ccc668e4d4897377b4ad5ebdf5dffccd13fbbffbca2ceebbf09d455ddb36b4a0633af7715f54dd56575573bd7af2313eaaaeadaba9aa68a88faaa3da9a9a9a8eeeb8eef2f048e5d2c6c655db7676f5ef9d6c81c2ab5757d756d5e4b6ec847ff5f2c54feb1aeb5a3a76ed3affb33d47abab6b6aaa1abb776ec3ad5c1c18ac6d6da9aea946d9e65ddfeeced5a36feb3f3dd2bc7ad58aae3fdd757160cfd1a1dcf63fdfb50948272e0f0e8c2d6e686d9cfc902dbd7e70e3b71eeb8abb99286ac8753f968bc5c5957b771fbd3a3a36868f91ea9a1aaaebe2cb4d8eeadaacfb4adf3ffb3c851da77dedd9f9adae261e27028d5c3e79f958f44ffbfaba763eddd3d188066a7860e0466d23be45b31a9ca3e8a1ad0fb435548e0c9e3e77e1ea1d0d4d2d4b2adc71e3deb2f9be879fd8b6b62aba71fadd370f9d891e7aba58fdb4d344e335b5355fa9ff0a1ee6572f6fa8aa8a721bda8f7cb462795ded60fc736a514d6be703ad7c7debedf54de770b92c6ebf181abdb1aaadedfe9e5cdffefefc9172f7dfb3a2a67264e0c899f4fd8f0e65bd4fa6df11a322f7752d9573cfce07b35e97e6fb76fdc5b65c4534317cb6ffe2d5cac63bdbeb1ae3d7a53c3e65be4fa2f69ef2deb76914e865f12cfebe4aee572e8754ce45fe7f23f9ef7a715dfc5f5bb2ce9f3ca11c11100111100111981d01f557b3e3f679ad7afdc4a97fb76e79aea7bb67d592f80c6beeef59ff711b3eaeea3bd9f357cfac8e264efdf7179ffcbbc351b4fe3b6ffcf4293c37ffe23ffefb4f562dfb936fbfb063e5e2dfbefc9ff79e8d96d6d49cfbe07554bcf8afe3e6ea373ffab3bfdeed6ea7fb250627def8d133dfdd1dad7f69ef4f9fb8735da7ab2855c6cf8b2d5dcffee5fa8a9adaaa8a89b3efbf193ffae213163fae15828218ee3bf8f2dea35173cf734f76d535a3dbca18d7e2e7518c81defdff131f43e51e7a7e57675d33fac3a38505a3efeff9e981fee67ff5c2932df818ad79eb7d68aec607f7fcc3cffb5191dbf9fcae8e15f76c884e5fdb11375763efeff9c901249ab73ffbe4a6f85f4556fdd10ff7ed1fbc6bcd039b56358c9c7effc889919a9ae8c2effbf0ed6ebfdc8ddf19d8fce7cf3f792796dbc8baafacfdb3ce631b4e171fbeb9ef62636dfb035b720d8b4ebfffd68991a8a6b2f28f037d51fbf62d68ae6e5c3efcda3fa1479abaaf28d758877e7bec5cef41fec6c369fb5d1f5fb679d737b6e42aa3f1df1d7ce58da3f814ac68fdb4c508fa862e3fd454df986b5fb334df4137b5ad69be508f8fcf868626d0ea6184af6f168783f9ea92ebf71c3cfed5c736b5acbbbf7d7f7f7cbb0f6ec2bf8ad193bd479ab7fe65eaeb7ef4c0e405a2e9ef93823bfd6bf67d5d5ab3e58114ce99af4bd4bc6d73dc5cf51ffcbb3df656c5c5da7b78c552f994f93e89ce94f9be9d7eff5351d6eb75f474b1f7d5d47a536572c87a3f67fefb7ab0cc7fd7f67eb0134a88800888800888c02c09a8bf9a25b8cf6bd91f2e5e895637effc8b2d4ba20b9f0c2e59bdbefb914e7cebddb9f3ebeec77f03ff64efcfe2e60a6369353fb43a7ef8f5e387a3b6279ec7e733a7f6ef7e85d9b862fbca65f811a223ffd53757b11f7f13dfc4a937e2e60a63693ccdfe077b26ae8d5daf68c47f351e3bf3cb03f6ad5bf19ec9814f616e5cee8b9b2b8cfc772cb2834a56d241fdd5b3efc6cd1546ffa90b139d2d4b1a3b0adfdd77faf0deb85f8a86de7bfbedda3f0e44adf7a2db8caa5abef1dc73f881921b51156e73d1e2eae6bb9bf071d548ff917c31ae5b896de3d1da905a8f0dfb7a874697756d5a155d1d3edddbdb9fafb609bd4474d3a2bcc08629f795b17fe679a6ef69d1d099bea133517dd783702e7d7cb417bd457ee4b6a3bf882e9e78376eae30ecbea2fe13272fb6ae6dece87972ddbf183d7ffad40787f6f5a18dc2881be2b62d5ba0c67af7fe64ffe4cb955d9f5f144ca363e351e39275f7aeaa8ac62e8e563736ade868c1be23839722bc34a573c09bae2c6ed1997d2786377435b5756f6e3e73247a70c30adc45df5b47a2d687335ec7c98387ef93e07e0a61d67d8d36a573ce7a5da2e8eef81b3347cf1cf2cd55fe2a65dd6fb9ef9359bc6f0bb73efd6bc6fb16ff0233df57d3372844e571c8ad49e78cdd52b935dfbdbccc7fd78573e9ab08888008888008cc9980faab3923fc6c3778ffd899e8fef50f6ea9440bb4fbe0ea979eea7cfc613cbefe7628427b15d554154ed3b2048fd7f16f02f463f21bdff2d6fafccc26ccd7e4f5d5d12bdecba8f225291acf3de3178eedfe79dfe3cf3ed956bbeae99d5dbb93dfec571df733d6474d5cc3b7a74d0da48a0c644706cf4d163437e3539989e1f3680a72b1357ee9f464abd177041f2be1038d6edcc5f8e581d3c3d72a27efa762fce2407d3d7e843eba3a72395e84511df75de8279beb6a52eb27abf25f2a2a0d37edcc39795f59fb679d27736b9f883b8969a370a7f14f65f1be903efac6eec1aeedddf7e6da9aea5b739dadb9bb57eefdc93e808b71df98b851515951d3dcd611f5c18a47663dd3d3e7738323515bd3ca551568a58e7eb2ac6753cb57d1575d3d7d315f563a07fc9c205694531fedffe06467cfdab6af3ed07c21babb0e1f551e7f6b286a5e5bec754cbe4fa6dfcd5494755f57f2ff252095f3d462ffbac46fb7cc5f1951fafdceee7dc28394febe9dba8582ca7adf225fd6fb242a9303af9fc539c9adbe3efe2f34e5febb2edca5be8a800888800888c09c08a8bf9a13becf7ef1fede4fae449dcb9644a7de3cf8caab17ffeaa9cefa25d19563bfbb507d3f0e337a69387fa49e1fbfb873b289c8c7d57c9d47dd798f7f7ce96ab47cd9c6a77ba2efef777e5e56ced3fba222fed19ea15fbeddf73c7e12a8e3c1adffaff7adc96e8a7d54eed11d1d38a7f557f12f97286f4c7e7bd0e6adebe24f05c6fe58585d811fccf063e8f4f078f78aaacab13d7bf6783fd7732fc29aba86bcd9be6bfb5a1c01fd5556bd5f9ba913bfcf3a795f59fb679d27f35af9c4e4876e85ef958abdfccb3ffe29fbe4dce3dbd6f1beb8cf99de03f81fbac8adbbbef140aef1ee0d0f467de7e3d4f8c0ffda3bf875fc385ad7cec727c67f79a03fbbfe1053c1dcff870be3f8152a55d1e5fedff77ef4e9964d2de8f9c70787cfe40f543a077ebf5c19f53847efe1939b73b986b58f3db4a8221aef7b0f3738e3eb18be4f82dbb130ebbec62adb5093c539e57519ba707522aaafbdebbe5cb4afdfb69f14a5dfefecde27e1f58238f1be65bef053947194f5be6565dafb2afd7d1295c9a1f8fb39c98d2dec6cfe5de7ba36378c1f393af91f17785f9a45400444400444a02c02f3f41c5dd635553c170227fe804fa596e007ae8ebc1e1d3f71ecc2535f5b169dffe4e3fdc7da26a2ce758ffedbffb4f45bcbb7ec5899ffe9ac28ff4bfb70b5632786a3752bbffe9dbf3df7daff5dfe27ff7253d59167bef35ffec7ff3ef1bd6faefbe67f78a3f58d5f7f74b17afdc6cd6d63bf79fa1fa71fce7fe4353d5346d4bbf7dd75eddd2beaeefbb387dffa3f9f626153c7b6872bef69caad6dcc7f1f60ca56d3bba394827c5756bb62f3433d9d4bee5ab9aaa50e9f5e1d7e35e3610eebcf1cf8ddf086cea6dcb34f7ff383de93517df34a5c7dbcef1f8e0c4d7435d5afed7efce1e5356db9a6dab8c38b7f154356fdcbfb530fe3cdcabab69d0fed8cae0def3d107f74366dd87d65ed9f759e69bb84c1e0d058d4d4b0e64f778d7c74a6be7dddf2cab32f7ffcc71b514bd386af3f7ac786fa55b9067ed286fbcaf53cb76bc3e8d9df9f1c1818b912d5e57f85ddf895b8f38e3bb28aaaa8ffc04ff6d73d870f82363dfce8b5d75e3dbf3eab3e3c04e3e151bce9aaa289c1b3f899b4e1c1b14d2b6aa3d10b17f879d4d4921939bc39551bab19ebe3d765e8d03f9fcd75afc04fc44d5c3e117f228791c5b984d731bfbe3065dc57ff607d3ae7fcba94d7e5576fbd777c78676753e7ae67bfd2f7cfe73fad6cbeabbdfe7affeea96fdccdaf9cf17e67f53e29dc4cfad7acf76d55fd0abc9f2ba3cb87f71d1acae2f94e54defb24ea2f8b43ff60c6fb39b89502b7feb3b3fa77ddfce0b77775e33b01d6d58fffbcf01f17822b2814011110011110811909c44f931a0b89c0f1f7cfe03389aba7de897f9fdff103ef9ec2978ba74e46affcf52fde3b17552efbda433b56d60cfeea473ffe10dfba7407dbace895effeb7df9ebbba6cdd8e175e7cf1891d1b9be25fa315bdfefd677efcc6b1ab51fdd71e7eea99a79ed8ba7175532d1e4faee1d39b6b9f163e0a19bd86766ee27a218cd7953af0306fffe5fbd0ab6f0d5e8d2a1ad63ebee2f8476747a3aa86b59d6b1bab46fbdeef1b4359fca76d27507f3d16f9716d028fe9b63cf592a8af6d5ad5d9d589e66a7c74e0ed5fbd9cff492cd622198e7d2fef3d79f16a4de3aaee6ddbba3775b6d6578c0c5d8cfaf6feb61fdfbc56d3b6766d53edd5fededfa1d5e0bf8af4fac95de3738ea7fd45b1f8366a5b3a3a3b3abad6e5e2e2ccfb4adf3ffb3cf16619a377efa1d32313b54db92ddbb675e55a6bf19f4d7af77c787624aaa85db136d750397aece0db03e351e562b44f83c3a3371bdb729b1e40ed968ed6faf1cba70fe5bf6f33fe5347fc04a3f78d57deee1f8f2a56743ff25055667dfa5986ce5dc6679313974ec52fc6d02767e36fbc1cbb0cc2657228bb3e3eced0a1f7cfc6df147be3e407efc6717ea4739e4ca6bc4f2633c197acfbcae29c5f9ef2bae07780ec7bf9edbec189a86645c7a6073675ad6a6dac5d8cdeb64c3eb37a9fe02a385769ef5bde7ffccf30aa69c2fb796dc79aa6bc97ce33fb7dc58d9273791c323967704bf0c1ffcfe4ff8a41947efec2f9f86fbff077250aaebe8a80088880088840390416ddbc19fc347e49ab6d15859f6fc4fff13f8263038ed70c3127c7c404fe20e70dcc5e5cbf7e9d2604537e66eac30f3ffcc10f7e50d2d1bfd045eb7b1eb9b776ec83d7f71f4fbbcdee9e475635d50e9f7c65ffb4ff58befe9147d645b5d1d8c913fbf957b1d2d6ceafd79eebc09f691aee9bfcc50ab3d9bcbde7b9c7ba46fb0eee7e77b0bde6ea19febda712366ace75b436548d8f5de9ebebb77298f883c1a9e749adb7857317a9fb17394f912b826ae392aa2b177be3dfa0971ff1e655e303f8f35cc1b2e6f68ea646fcfef4f12b29c9a0360ecbad4fd962062b95439135b7babec8a593a94ccef9d2e4eb92b79b3b3a9af049dff8c5e1fe12debda9f70b33eb7d9b3ce4fc3aa9e799d5fba40c0ec5394fbbc1e6f608bff8057f1daebebabfbf3feadaf5424f6eb4ffed9fe2efbfe547faf9f14eefd8dcd138d17728fed5991a222002222002b79ac0a953a71a1a1af0c747172d5af4ce3bef60e6c0752130a383d8ba752b9ef6c7c6c67ef8c31f6edcb8b1b2b212f59883b178f16238485150b386f598930357a13979e17c689a6740819d870e67332182a1fe2a00a270811068ef79feb1ae4bbd7b5ededfbf404eac638a80087c4604723d4fefeaaa1b38d97ff60fa3b5cb5a736bf1eb07c78fedfdfbc9ef1afd8c4ea1cb888008888008cc40e08bda5fe9e7af6678e195be6d09c4dfce76db1e4e07130111f8fc088c0c0e8c8c77b4aec2fff28798183b7d0c7f88e0f33b90ae2c0222200222f06522a0feeacbf46a7f91eef5ccfebffff1fe2fd20de95e444004e68bc050efbe9ff5eec3b70736e11b91c747fbec5b66e7eb02da4704444004444004b209a8bfca66a38c0888800888c08225307426f193870bf65e7470111001111081054480bf2d69011d58471501111001111001111001111001111081db9480faabdbf485d1b144400444400444400444400444e04b42a0babaf0470cdd0da79a2e7f9b4af557b7e90ba36389800888800888800888800888c09784c0b265cb92779a6a26cb6e3747fdd5edf68ae83c22200222200222200222200222f0e522d0d2d2525757e7ef19e19d77dee99d85a2f5fb2d16ca2ba5738a800888800888800888800888c0179300fed0702e971b1c1cbc74e912eeb0a9a909cd557d7d3dfeb8f082bb61f5570bee25d38145400444400444400444400444e08b46002dd6d2a54b2b2ae26faf5bb46811e69b376f2ec49bd4f7072ec4574d67160111100111100111100111100111b81d09a8bfba1d5f159d490444400444400444400444400444602112507fb5105f359d590444400444400444400444400444e07624a0feea767c557426111001111001111001111001111081854840fdd5427cd57466111001111001111001111001111081db9180faabdbf155d199444004444004444004444004444004162201f5570bf155d3994540044440044440044440044440046e47020ba9bfc22fc2e7efc2379074389b29210222200222200222200222200222f0452290f5d87f1b3602b7457f052efee50f30316b35cc06357eb9b40888800888800888800888800888c0179540b21d60a7c099779d6c167cf69692f99cfbabe0ce83db0eb2b714843617011110011110011110011110011158d00492ed83ef2f92d95b71b39f457fe5efcaee21b8bd20b4320911100111100111100111100111100111983581a0d10842db16bee9b9885bde5f250f9a744abf015b0b118c7beeb9a7f47d54290222200222200222200222200222b02008545656064ffe08797213b3b891e4daa4338b6d6f617f85f305470cc2198fcbfa7897c2c012ca606d7575f5962d5b0253a10888800888800888800888800888c0422730303080a7fde02eac2928340af157d4700e8a8b84417dbc4ba1792bb2aa48ea56f557c1b1f2e72cf51337167387609fe04eac72e9d2a5353535dbb76f0f0a148a80088880088880088880088880082c5c02376fdefcf5af7f8da77d7bf22f722fd641b0b848a54f258bb98faf295d2f2ebdb4c44a9c06144a2c6699dd00ef2d6b39b37eb6abd4d7d7af59b3060b57af5e7df8f0e163c78e594a42044440044440044440044440044460c111c063ffe9d3a75f7bedb5919191f6f6763bbf6f07a82d15089f850eb23386b358823dcbee85780e6b812882d942088c1b376e50609e989830873e660ea4206c66e5f5ebd7213090324d872697408f8d8d5db870e1fcf9f37e376a7f5d383c0c965004336e103598e10737cb50b308888008888008888008888008884092803524141515f1f7ca412787fd48156a30504087216684d4adadadf8f0aab6b6168e99d4362f5ebc984be040733716fb991b220b61330aa039e853dbc92982d9428860ccffe757c105b2429edb7a185f36797ff9cfc1a02d65be099fbae38e3b40bfa5a5853d5572661fc5ae0c0badd14af6573c959d8ded965d4b420444400444400444400444400444204900fd094d3ec3db6c4fef265889d9da1be8d4c106895bd9e6b60f859d84659635df8b60894fcd8b9ecffe0a67b59ea4c8e1784ba995a9a95404346de6e51042981908a470519878e5d032b1b8c8392d857ad312222002222002222002222002222002a904ec019bc266886060399eb1614204291f32cb6b799f0be9fbac77a0b924308bd46755a6fa59e67cf65759d7f03e6eb294ceca587876342d856dbd03cdf689fb072984ac6773c5d91f4c5a0444400444400444400444400444602e04f8c88d1decd99b3af964cee68a73329bdcc7d7f08449c75fd776b003705530fbb22035eb707efa2b9c2cb56be2b198cdaa09ee2a19c2e1c06e0539e524cd22c548a19ecd15354fa8590444400444400444400444400444608e04ec019bc26688e428d25c258be9f0784116a677fc2dc02f125a8a6541b165298a677df1fcf4577ec7d2b53f2534872d67187c18856ca17086affc2ccb17712df7c7cb59a421b43348888008888008888008888008888008944800cfdeaca4b0d93f9353176faeb0497249aae32bedd2a8a44e66e958f656885bdb5fe1de52db18ef93949531c49cc4c194f7b31cf8f621156b3063214d72a4431dcc48b13da36f670bca148a80088880088880088880088880081801ff806d1aa2c8486db4524d5c25d8c71c1ec0b2e6c361ca1c1f9af6c22ff17ee97aaefd154e5056fb11d407a19d1b3e06436a86d4f0cd4c0abc1e3c924fd1f4bfd6020e43149be042cc584b6d47921001111001111001111001111001112842008fd0cc52d84cc1ae090514303982b0604ffe16750b03817de898406857374dc7e6c00f422bcb12a5d4cfb5bfcaba76e0e32841d3e20f6759ac826648cd7d685a9661d68c32eb9d58c3d096734fbe9038159a2b687553c4a25904444004444004444004444004664700cfde5c4861339fc931f309dc422f825410faca40e38a74fca5bd892c432ba063a1cfd29ccb7c4bfa2b9cd8b72b41c81bf005bc0194f94a6856a68ab8346de095e08751963487bb21c4a53150c6ebc28140481f1ac2662fa0354440044440044440044440044440045209e0099c3e85cd107ce486e0405890535f9366d299aa9eae705d1a14763c33cda1805fdc491604f559e1fcf757380afb93d44bf20ead80c5dea4c65a8a60c6c2c04108ee491f260fc0768b35707c5b855536506029ec09dfce1f84e64b88800888800888800888800888800890009e990d05b4851078d2ce1b2913523ecbd03bb626d5c415adc00bf3ed6cc8d2a4131498e9059778a7143dfffd5570551ccbf72a9635df0b6acc18a8b4d904cd389d36001dd74206826d15ab18722d6b501674535cc8a3722d35563105a1210222200222200222200222200222904500cfde4c51e0c11b211fc8395b8894f7a103c7421341bddfd0b635e1b3d0f0990a04439badd29c598879eeaf70266b4bfc69ecac4196f598296c09c3bc3dd9685163468d69e046c8fe079a7d9117dcd07a2d84d656a10c0b3958866d1142f32ad47e09cb348b80088880088880088880088880082409f0e11cbe3db47b6dcff05e600957c1a4c6cc825461a6df849ad782b68b4270f88282372dc555410a61969fac346796fd15ae64ed87ed1588ac1af3292cc472681bdccd4213b8ae6913009d6caecce15658883268080c66a96db68bb2cc87d49a4540044440044440044440044440045209e0e19cbe0984f6c46e02a6b5495e78cde2a4639b40646d1ef808396c890f0bc9a9af2c9b8ad354919a59f657b80a36455b9276b9993d1e08cb6d133ac18c301840cc55f04d0702214e80f629105848130203359cb155de989cbccf3b6119b566111001111001111001111001111081540278aef63e43cc3690a5c683ba99d4362745b024b9d6b632c10b05b30f51897076a3f8dad9f757c1697019df875838a3e0f9309bc03e0c6dc6b5c0919f389949011ff59851c3f68965acf73e8f872c2ab116331c9a149ce963b6c11a0b254440044440044440044440044440049204f88c6d3e433eb473468a824fe9d0101866527bc7d798cf7a9be1dbce66060e439b4b1428f3950c8bcff3d65ff9cbe0ae829ec41c13c97aa6302385d98b402304445c02337b2a686f6207ebb5889b4d172f8a620cee408db5149851c399c5c9d07c0911100111100111100111100111100123c087f62084c901bf20a7bee2991c03290a2420389b60b50fa9a77671caae4211cc08fdc03a86262c9b742c555cdc92feca2e8963a157e10c33103c34676639a73adc0729d084c6a08043136b839e0a356642700945bcde0d6f5263b68142d312222002222002222002222002222002a904f058ee7d86f1c37a7e205590535fad53a2c06c0245a629b80c9a5b9919ecec436acc26b089e9a46036ae9eedb8b5fd953f15ceea1b158636a31259de8f995e4083206b28b08470b9d63443cc6cb72cc45a0c0b91f50e350b5063655ee46d4d2220022220022220022220022220022904f8308f84096a841c16f2d11d26045314367b91d4c985c1fe7621f8a6296c86e0604d219aebd779e8af7020df96143f118b6d890fa12da44ece808b6bc187989898a0808390dd94d738090f663385f77d2a99e5bd985ffcd69415011110011110011110011110812f33013c9cf3f6297c08cd90822d138a2960529432275771cfe48c4a9a14369b4016bac45162f13cf457a907c2e5ad2d314de167acf521341d083f009abbc1a4a6404f857a383c036a38104224679ae6534cae49ab4781860888800888800888800888800888405904f0ac8efa6046c88114fb2813f0e9149999b24a13bc90657909cec933c0296efa02ea72e7f9ecaf701bd6c094720ed4a30c4b28b8dc3452d01602192ad150c181e6febc1c5398ed232c6e9b9c792dcc5e40b3326f4f7565bc846d62a18408888008888008888008888008884092001fddcdb727798840d3f1331ee61126e7c0648832565a0881eb62f6224bdb094b11dca4944ad6cc677fc51d7102762c14c1ccf3b1bd413d05eb11228b4113c21c133081d20aa0ed232cdb842239631314c30f067c3a14c18c50430444400444400444400444400444a07402f6248f25a6bd80b681477a94b15f4a9d69b23e4bdb6e26786984766c6a1658d64c3a367b015dfa98fffeaa946be336d0d2b0d2df21cc640888fe47ad5003c75fc57f6c059f3b732b765fd4e6b0c05208e998e0e6346d437f456911100111100111100111100111108180007b159826a819f2399f9acff3d0be5f62680e05660acbd2c1cccd998536814a1b76003a08391016e43c7fbdb5fd15cecd2e8537004dc7662bc06d416350a092c8d005c18436810268667d197c33a191c2e06ea8678819bb519bf0c55cc2193e53149a4540044440044440044440044440048a13e0f33c6ba86df6023a39f0300f93b3091f5a4120ac9802591c00da869d990eb37e86cf1a13b6a45c714bfa2b1ccb3a99e4817cd6b4dd0f17f2c630fb4152ac648b85620c3a106662157b2a0ace28b3468b1a737e83c99fb9f25b3185d98665cd9110011110011110011110011110011100013c6f7b0e0ccd84a036e15b206accc872f6c23452ccda9c37264dee1ccc3c9899764e38a6fdb1a98b6793f58133a7fe0ad766d79114fe32ccfa39c832c456a8c14088d942686083c9ef128c2bf2030e7c6b7b28d04121498d1903a1994c990f814d187a01cd30100c358b80088880088880088880088880082409e0619ba60984d00c03c1d0cf78b6b7901acb21a84d580d85af31c7d7d8196042fb41c7cf3e0b6d4b9222a8b4704efd95ed9225700ef6302c606887b355a881491fb30fc1913bc08746a784990ba96d7f2b838f82caca4a38d098b9270406b3d49c51ec05435e8233b23e941601111001111001111001111001114812e0f3bcf90c6df6029a219eeda96da6834de050db6cc5101c56c3e5306d1fee9015d2678d1d3819fa5489fa56f5573831db1213c90331c57b43b10f510c3aec85e033640d357763012a11320b07f5987975df65c1c1e055584f0733c36046c8c18242a4af2220022220022220022220022220022904f8dc6e0986c18c9003650539f995dd91f90c39a3c20b680b7d8a1bf91477b33d2d84480e2ca769225933a373abfaabe0c238a2f536765cef503365055c0540ec9720b0adefa91062211cf451d653d9b6e6b0cb821f0c2e874911cc0839585088f45504444004444004444004444004442085803dc633e79fed4d7b01ed075631f40d12351b01d3560081c18526fc9ed42cf073aa8f82b98f79ebaf70c4e27d080bfc6ca7e7ed6139b340c3d6888ca003814a33b98aa169086a0acc28c0e6b8a239101652d8ec45a0116a8880088880088880088880088880082409f0799bbe690a9bbd8066882578e067e8676f9aa608660b21b01b3631c1d02ee48f473348b1c0cf3316f8e279ebaf6c535c9ead0b1d9ec63bdea746d60e0d10ec854c3085909bd0e71c7c6c85020c1e801a5b51701384b822357c6866296c8628a299d52c02222002222002222002222002226004f88ccd30a9e96036619578b087660a3342d35ed067b16916f825d88aa109d6f84bc041180c2b333fb5ccb25962fefb2bbb120ec41ec63bd4f0795c8a20b43ba10020f645eca6a0e17067cc5e230c06cf6026439c810e851dc98781668d661110011110011110011110011110811909d8f33c2aa9cdb1d00be81907bb26969986f03ab9090f00df9fc442d607b7c36c60961eceb5bfc2e5d1abf07aa603c123fa32d423848f411184dc10b0d8597981144c2ce4265888d07ec20a1a8e0dab3107c24c8a60b61042430444400444400444400444400444607604f8c48eb514c16c21841fac37c7da27f8a621187a874bcc41685b5104210b6006be39816019cd22f35cfbab225b0729dc007b1beffbbb421638d850598d395e6015cae0b06b6288251018348319593898b93fb36632c5d94c080ef30b86be8a80088880088880088880088880088404f028ee2d0b298299211ee9b1c45210c9c10254fa940f4d9bb04a385c6e8e3f2135524973d6ce3cf757381cbb11137668eff31ee004379374b01c50d81441a000da96537315660c73b0904e30e3932e1ec97c569a49e14d73244440044440044440044440044440046624e01ff24d5360e6b04d0ac6b4afc822c61cb44ce6b071f259af6d2fee6321f7646897f002da87aca759e23ccffd55f2aa38133a193b25341d9e95617255e000165b2cf8d058c5995b594f659b43788d55743833b483f15a486509fa9a4540044440044440044440044440044a21c0477d542685994c61b6c114421396a299da41b1a6482ad884a13f06373707622e631efa2b1cc89a93b28ec23be15a6e62f796dc870d95b5526cb7ecd27e136acc36b01b346713de34ed05b4860888800888800888800888800888c0ac09d8e33d45ea1c98083970d140b089a26f7ac6ce8af5bc05db90615933d696523f0ffd55d665700236335ea018a6395ccbd0e6ac0de1b3cb32c1fded975b20e440412010d2c44c4187da662fa039acb260e8ab0888800888800888800888800888404800cff381650e850fbdc62a841ca64d1432e99f6b59365570139b2138500cc125dea1496776f3fcf75738a535245e07e7630a337cd453043a588290abfc8757588b6129869859c90d5960b3cfda259865bd9914960a7c8522200222200222200222200222200246c01ee9934e906288d90496a486dea4b625f61196f981b03d6d89093b61205840d3eba0ac48383ffd15ae5dbc09b1029e92c534cda1c05991356d478783b68a297e8ae53781b6903bd0c18c854c99cf3d69dacc2bb2de2e2a210222200222200222200222200222301702f6604fe1676c8b900eb53981cf9095a62d4477102cb4148b2d6b57f18e37a15307374c4d05e654ef1124ca0dad87e1421f9af6c26b2c41488722d034ad2c99652a2808425b059f830e743265e664a9be888008888008888008888008888008944620e846acdbe16a9ff529680e2bb31002e6643affc5875efb25816619660a644d078205349329ef27f5bcf557d8dada155ec64213be06a6f9147963eab750cc68fa025bcb4bf8943f8cf976123aacb139d5b4ac840888800888800888800888800888c08c04ac81f19534b366542265590a33f399698d964f993611ec13ec86325652786d954c05a1d5a78af9f9fec0d4adcdc481523b96c0e7b951693760da04f64c6aee039f59ccb6151d2ef10badd2af32d30e00c74c6acd222002222002222002222002222002a90482a768d69849e167dbc44c13b6d61c0af8101ca93acbe486cc9af6027bfa70d63abdf399dd76ec55fc5aef980e4432a4633384696cce30e9f0bacc5a991d26a86781654db0cc428a5433a85128022220022220022220022220025f7202a92d4a1193293f13201c3329e0e7bdc90faf2cb4b2220e53984df83dbd9fd4590efdd4793efb2b5c206845b242f32992a177a0197ac16b99ef43de67b298be65b9c44c6ee5b39692100111100111100111100111100111289780b5315898d4deb1029a982978450b6916092dc50daddef6b10ba50a5f46edcbcc292ee6b9bfc2c57ca312843e659a2235b4148469dbd31c8aa40f27302df4222eca0fdba760cce007650a45400444400444400444400444e0cb4c80fd4c9240d2372710a9a137a9536798a93ecfe3537018fa545207652c9871bee5fd154ee0fb96544dd3525ef8147410f2f602dfaee88b0d044dabf1823556604b244440044440044440044440044440046641c0b731586e61527073fa7eb65530e97b879abecd4159506f2144119dccd29971fe2c7ebf853f04eed61a18d38680a9c08769057e2b6a66b9c41632c5557639133e6b9b50d81c149b2f210222200222200222200222200222302381e4037cd2c126342d65224899efeb4dfbacd73c241c336d5b4b51cce3fcff010e58792e8df7f9b40000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Out of the box, BB and Grunt-BBB provide provide us with:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Backbone, {\field{\*\fldinst{HYPERLINK "https://github.com/bestiejs/lodash"}}{\fldrslt{\ul
+Lodash
+}}}
+ (an {\field{\*\fldinst{HYPERLINK "http://underscorejs.org/"}}{\fldrslt{\ul
+Underscore.js
+}}}
+ alternative) and {\field{\*\fldinst{HYPERLINK "http://jquery.com"}}{\fldrslt{\ul
+jQuery
+}}}
+ with an {\field{\*\fldinst{HYPERLINK "http://html5boilerplate.com"}}{\fldrslt{\ul
+HTML5 Boilerplate
+}}}
+ foundation\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Boilerplate and scaffolding support, allowing us to spend minimal time writing boilerplate for modules, collections and so on.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab A build tool for template pre-compilation and, concatenation & minification of all our libraries, application code and stylesheets\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab A Lightweight node.js webserver\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Notes on build tool steps:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Template pre-compilation: using a template library such as Underscore micro-templating or Handlebars.js generally involves three steps: (1) reading a raw template, (2) compiling it into a JavaScript function and (3) running the compiled template with your desired data. Precompiling eliminates the second step from runtime, by moving this process into a build step.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Concatenation is the process of combining a number of assets (in our case, script files) into a single (or fewer number) of files to reduce the number of HTTP requests required to obtain them.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Minification is the process of removing unnecessary characters (e.g white space, new lines, comments) from code and compressing it to reduce the overall size of the scripts being served.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Getting Started\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Backbone Boilerplate and Grunt-BBB\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To get started we\u8217're going to install Grunt-BBB, which will include Backbone Boilerplate and any third-party dependencies it might need such as the Grunt build tool.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We can install Grunt-bBB via NPM by running:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 npm install -g bbb\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 That\u8217's it. We should now be good to go.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A typical workflow for using grunt-bbb, which we will use later on is:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Initialize a new project ({\f1 bbb init})\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Add new modules and templates ({\f1 bbb init:module})\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Preview changes using the built in server ({\f1 bbb server})\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Run the build tool ({\f1 bbb build})\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Lint JavaScript, compile templates, build your application using r.js, minify CSS and JavaScript (using {\f1 bbb release})\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Creating a new project\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's create a new directory for our project and run {\f1 bbb init} to kick things off. A number of project sub-directories and files will be stubbed out for us, as shown below:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 $ bbb init\line
+Running "init" task\line
+This task will create one or more files in the current directory, based on the\line
+environment and the answers to a few questions. Note that answering "?" to any\line
+question will show question-specific help and answering "none" to most questions\line
+will leave its value blank.\line
+\line
+"bbb" template notes:\line
+This tool will help you install, configure, build, and maintain your Backbone\line
+Boilerplate project.\line
+Writing app/app.js...OK\line
+Writing app/config.js...OK\line
+Writing app/main.js...OK\line
+Writing app/router.js...OK\line
+Writing app/styles/index.css...OK\line
+Writing favicon.ico...OK\line
+Writing grunt.js...OK\line
+Writing index.html...OK\line
+Writing package.json...OK\line
+Writing readme.md...OK\line
+Writing test/jasmine/index.html...OK\line
+Writing test/jasmine/spec/example.js...OK\line
+Writing test/jasmine/vendor/jasmine-html.js...OK\line
+Writing test/jasmine/vendor/jasmine.css...OK\line
+Writing test/jasmine/vendor/jasmine.js...OK\line
+Writing test/jasmine/vendor/jasmine_favicon.png...OK\line
+Writing test/jasmine/vendor/MIT.LICENSE...OK\line
+Writing test/qunit/index.html...OK\line
+Writing test/qunit/tests/example.js...OK\line
+Writing test/qunit/vendor/qunit.css...OK\line
+Writing test/qunit/vendor/qunit.js...OK\line
+Writing vendor/h5bp/css/main.css...OK\line
+Writing vendor/h5bp/css/normalize.css...OK\line
+Writing vendor/jam/backbone/backbone.js...OK\line
+Writing vendor/jam/backbone/package.json...OK\line
+Writing vendor/jam/backbone.layoutmanager/backbone.layoutmanager.js...OK\line
+Writing vendor/jam/backbone.layoutmanager/package.json...OK\line
+Writing vendor/jam/jquery/jquery.js...OK\line
+Writing vendor/jam/jquery/package.json...OK\line
+Writing vendor/jam/lodash/lodash.js...OK\line
+Writing vendor/jam/lodash/lodash.min.js...OK\line
+Writing vendor/jam/lodash/lodash.underscore.min.js...OK\line
+Writing vendor/jam/lodash/package.json...OK\line
+Writing vendor/jam/require.config.js...OK\line
+Writing vendor/jam/require.js...OK\line
+Writing vendor/js/libs/almond.js...OK\line
+Writing vendor/js/libs/require.js...OK\line
+\line
+Initialized from template "bbb".\line
+\line
+Done, without errors.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's review what has been generated.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 index.html\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This is a fairly standard stripped-down HTML5 Boilerplate foundation with the notable exception of including {\field{\*\fldinst{HYPERLINK "http://requirejs.org"}}{\fldrslt{\ul
+RequireJS
+}}}
+ at the bottom of the page.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+\line
+ \line
+ \line
+ \line
+\line
+ Backbone Boilerplate\line
+\line
+ \line
+ \line
+ \line
+ \line
+\line
+\line
+ \line
+ \line
+\line
+ \line
+ \line
+ \line
+ \line
+\line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 RequireJS - the {\field{\*\fldinst{HYPERLINK "https://github.com/amdjs/amdjs-api/wiki/AMD"}}{\fldrslt{\ul
+AMD
+}}}
+ (Asynchronous Module Definition) module and script loader - will assist us with managing the modules in our application. We\u8217've already covered it in the last chapter, but let\u8217's recap what this particular block does in terms of the Boilerplate:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The {\f1 data-main} attribute is used to inform RequireJS to load {\f1 app/config.js} (a configuration object) after it has finished loading itself. You\u8217'll notice that we\u8217've omitted the {\f1 .js} extension here as RequireJS can automatically add this for us, however it will respect your paths if we do choose to include it regardless. Let\u8217's now look at the config file being referenced.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 config.js\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A RequireJS configuration object allows us to specify aliases and paths for dependencies we\u8217're likely to reference often (e.g., jQuery), bootstrap properties like our base application URL, and {\f1 shim} libraries that don\u8217't support AMD natively.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This is what the config file in Backbone Boilerplate looks like:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // Set the require.js configuration for your application.\line
+require.config(\{\line
+\line
+ // Initialize the application with the main application file and the JamJS\line
+ // generated configuration file.\line
+ deps: ["../vendor/jam/require.config", "main"],\line
+\line
+ paths: \{\line
+ // Put paths here.\line
+ \},\line
+\line
+ shim: \{\line
+ // Put shims here.\line
+ \}\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The first option defined in the above config is {\f1 deps: ["../vendor/jam/require.config", "main"]}. This informs RequireJS to load up additonal RequireJS configuration as well a a main.js file, which is considered the entry point for our application.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You may notice that we haven\u8217't specified any other path information for {\f1 main}. Require will infer the default {\f1 baseUrl} using the path from our {\f1 data-main} attribute in index.html. In other words, our {\f1 baseUrl} is {\f1 app/} and any scripts we require will be loaded relative to this location. We could use the {\f1 baseUrl} option to override this default if we wanted to use a different location.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The next block is {\f1 paths}, which we can use to specify paths relative to the {\f1 baseUrl} as well as the paths/aliases to dependencies we\u8217're likely to regularly reference.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 After this comes {\f1 shim}, an important part of our RequireJS configuration which allows us to load libraries which are not AMD compliant. The basic idea here is that rather than requiring all libraries to implement support for AMD, the {\f1 shim} takes care of the hard work for us.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Going back to {\f1 deps}, the contents of our {\f1 require.config} file can be seen below.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var jam = \{\line
+ "packages": [\line
+ \{\line
+ "name": "backbone",\line
+ "location": "../vendor/jam/backbone",\line
+ "main": "backbone.js"\line
+ \},\line
+ \{\line
+ "name": "backbone.layoutmanager",\line
+ "location": "../vendor/jam/backbone.layoutmanager",\line
+ "main": "backbone.layoutmanager.js"\line
+ \},\line
+ \{\line
+ "name": "jquery",\line
+ "location": "../vendor/jam/jquery",\line
+ "main": "jquery.js"\line
+ \},\line
+ \{\line
+ "name": "lodash",\line
+ "location": "../vendor/jam/lodash",\line
+ "main": "./lodash.js"\line
+ \}\line
+ ],\line
+ "version": "0.2.11",\line
+ "shim": \{\line
+ "backbone": \{\line
+ "deps": [\line
+ "jquery",\line
+ "lodash"\line
+ ],\line
+ "exports": "Backbone"\line
+ \},\line
+ "backbone.layoutmanager": \{\line
+ "deps": [\line
+ "jquery",\line
+ "backbone",\line
+ "lodash"\line
+ ],\line
+ "exports": "Backbone.LayoutManager"\line
+ \}\line
+ \}\line
+\};\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The {\f1 jam} object is to support configuration of {\field{\*\fldinst{HYPERLINK "http://jamjs.org/"}}{\fldrslt{\ul
+Jam
+}}}
+ - a package manager for the front-end which helps instal, upgrade and configurate the dependencies used by your project. It is currently the package manager of choice for Backbone Boilerplate.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Under the {\f1 packages} array, a number of dependencies are specified for inclusion, such as Backbone, the Backbone.LayoutManager plugin, jQuery and Lo-dash.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For those curious about {\field{\*\fldinst{HYPERLINK "https://github.com/tbranyen/backbone.layoutmanager"}}{\fldrslt{\ul
+Backbone.LayoutManager
+}}}
+, it\u8217's a Backbone plugin that provides a foundation for assembling layouts and views within Backbone.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Additional packages you install using Jam will have a corresponding entry added to {\f1 packages}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 main.js\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next, we have {\f1 main.js}, which defines the entry point for our application. We use a global {\f1 require()} method to load an array containing any other scripts needed, such as our application {\f1 app.js} and our main router {\f1 router.js}. Note that most of the time, we will only use {\f1 require()} for bootstrapping an application and a similar method called {\f1 define()} for all other purposes.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The function defined after our array of dependencies is a callback which doesn\u8217't fire until these scripts have loaded. Notice how we\u8217're able to locally alias references to \u8220"app\u8221" and \u8220"router\u8221" as {\f1 app} and {\f1 Router} for convenience.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 require([\line
+ // Application.\line
+ "app",\line
+\line
+ // Main Router.\line
+ "router"\line
+],\line
+\line
+function(app, Router) \{\line
+\line
+ // Define your master router on the application namespace and trigger all\line
+ // navigation from this instance.\line
+ app.router = new Router();\line
+\line
+ // Trigger the initial route and enable HTML5 History API support, set the\line
+ // root folder to '/' by default. Change in app.js.\line
+ Backbone.history.start(\{ pushState: true, root: app.root \});\line
+\line
+ // All navigation that is relative should be passed through the navigate\line
+ // method, to be processed by the router. If the link has a `data-bypass`\line
+ // attribute, bypass the delegation completely.\line
+ $(document).on("click", "a[href]:not([data-bypass])", function(evt) \{\line
+ // Get the absolute anchor href.\line
+ var href = \{ prop: $(this).prop("href"), attr: $(this).attr("href") \};\line
+ // Get the absolute root.\line
+ var root = location.protocol + "//" + location.host + app.root;\line
+\line
+ // Ensure the root is part of the anchor href, meaning it's relative.\line
+ if (href.prop.slice(0, root.length) === root) \{\line
+ // Stop the default event to ensure the link will not cause a page\line
+ // refresh.\line
+ evt.preventDefault();\line
+\line
+ // `Backbone.history.navigate` is sufficient for all Routers and will\line
+ // trigger the correct events. The Router's internal `navigate` method\line
+ // calls this anyways. The fragment is sliced from the root.\line
+ Backbone.history.navigate(href.attr, true);\line
+ \}\line
+ \});\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Inline, Backbone Boilerplate includes boilerplate code for initializing our router with HTML5 History API support and handling other navigation scenarios, so we don\u8217't have to.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 app.js\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let us now look at our {\f1 app.js} module. Typically, in non-Backbone Boilerplate applications, an {\f1 app.js} file may contain the core logic or module references needed to kick start an app.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this case however, this file is used to define templating and layout configuration options as well as utilities for consuming layouts. To a beginner, this might look like a lot of code to comprehend, but the good news is that for basic apps, you\u8217're unlikely to need to heavily modify this. Instead, you\u8217'll be more concerned with modules for your app, which we\u8217'll look at next.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 define([\line
+ "backbone.layoutmanager"\line
+], function() \{\line
+\line
+ // Provide a global location to place configuration settings and module\line
+ // creation.\line
+ var app = \{\line
+ // The root path to run the application.\line
+ root: "/"\line
+ \};\line
+\line
+ // Localize or create a new JavaScript Template object.\line
+ var JST = window.JST = window.JST || \{\};\line
+\line
+ // Configure LayoutManager with Backbone Boilerplate defaults.\line
+ Backbone.LayoutManager.configure(\{\line
+ // Allow LayoutManager to augment Backbone.View.prototype.\line
+ manage: true,\line
+\line
+ prefix: "app/templates/",\line
+\line
+ fetch: function(path) \{\line
+ // Concatenate the file extension.\line
+ path = path + ".html";\line
+\line
+ // If cached, use the compiled template.\line
+ if (JST[path]) \{\line
+ return JST[path];\line
+ \}\line
+\line
+ // Put fetch into `async-mode`.\line
+ var done = this.async();\line
+\line
+ // Seek out the template asynchronously.\line
+ $.get(app.root + path, function(contents) \{\line
+ done(JST[path] = _.template(contents));\line
+ \});\line
+ \}\line
+ \});\line
+\line
+ // Mix Backbone.Events, modules, and layout management into the app object.\line
+ return _.extend(app, \{\line
+ // Create a custom object with a nested Views object.\line
+ module: function(additionalProps) \{\line
+ return _.extend(\{ Views: \{\} \}, additionalProps);\line
+ \},\line
+\line
+ // Helper for using layouts.\line
+ useLayout: function(name, options) \{\line
+ // Enable variable arity by allowing the first argument to be the options\line
+ // object and omitting the name argument.\line
+ if (_.isObject(name)) \{\line
+ options = name;\line
+ \}\line
+\line
+ // Ensure options is an object.\line
+ options = options || \{\};\line
+\line
+ // If a name property was specified use that as the template.\line
+ if (_.isString(name)) \{\line
+ options.template = name;\line
+ \}\line
+\line
+ // Create a new Layout with options.\line
+ var layout = new Backbone.Layout(_.extend(\{\line
+ el: "#main"\line
+ \}, options));\line
+\line
+ // Cache the refererence.\line
+ return this.layout = layout;\line
+ \}\line
+ \}, Backbone.Events);\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note: JST stands for JavaScript templates and generally refers to templates which have been (or will be) precompiled as part of a build step. When running {\f1 bbb release} or {\f1 bbb debug}, Underscore/Lo-dash templates will be precompiled to avoid the need to compile them at runtime within the browser.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Creating Backbone Boilerplate Modules\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Not to be confused with simply being just an AMD module, a Backbone Boilerplate {\f1 module} is a script composed of a:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Model\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Collection\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Views (optional)\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We can easily create a new Boilerplate module using {\f1 grunt-bbb} once again using {\f1 init}:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 # Create a new module\line
+$ bbb init:module\line
+\line
+# Grunt prompt\line
+Please answer the following:\line
+[?] Module Name foo\line
+[?] Do you need to make any changes to the above before continuing? (y/N) \line
+\line
+Writing app/modules/foo.js...OK\line
+Writing app/styles/foo.styl...OK\line
+Writing app/templates/foo.html...OK\line
+\line
+Initialized from template "module".\line
+\line
+Done, without errors.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This will generate a module {\f1 foo.js} as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // Foo module\line
+define([\line
+ // Application.\line
+ "app"\line
+],\line
+\line
+// Map dependencies from above array.\line
+function(app) \{\line
+\line
+ // Create a new module.\line
+ var Foo = app.module();\line
+\line
+ // Default Model.\line
+ Foo.Model = Backbone.Model.extend(\{\line
+ \line
+ \});\line
+\line
+ // Default Collection.\line
+ Foo.Collection = Backbone.Collection.extend(\{\line
+ model: Foo.Model\line
+ \});\line
+\line
+ // Default View.\line
+ Foo.Views.Layout = Backbone.Layout.extend(\{\line
+ template: "foo"\line
+ \});\line
+\line
+ // Return the module for AMD compliance.\line
+ return Foo;\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Notice how boilerplate code for a model, collection and view have been scaffolded out for us.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Optionally, we may also wish to include references to plugins such as the Backbone LocalStorage or Offline adapters. One clean way of including a plugin in the above boilerplate could be:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // Foo module\line
+define([\line
+ // Application.\line
+ "app",\line
+ // Plugins\line
+ 'plugins/backbone-localstorage'\line
+],\line
+\line
+// Map dependencies from above array.\line
+function(app) \{\line
+\line
+ // Create a new module.\line
+ var Foo = app.module();\line
+\line
+ // Default Model.\line
+ Foo.Model = Backbone.Model.extend(\{\line
+ // Save all of the items under the `"foo"` namespace.\line
+ localStorage: new Store('foo-backbone'),\line
+ \});\line
+\line
+ // Default Collection.\line
+ Foo.Collection = Backbone.Collection.extend(\{\line
+ model: Foo.Model\line
+ \});\line
+\line
+ // Default View.\line
+ Foo.Views.Layout = Backbone.Layout.extend(\{\line
+ template: "foo"\line
+ \});\line
+\line
+ // Return the module for AMD compliance.\line
+ return Foo;\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 router.js\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Finally, let\u8217's look at our application router which is used for handling navigation. The default router Backbone Boilerplate generates for us includes sane defaults out of the box and can be easily extended.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 define([\line
+ // Application.\line
+ "app"\line
+],\line
+\line
+function(app) \{\line
+\line
+ // Defining the application router, you can attach sub routers here.\line
+ var Router = Backbone.Router.extend(\{\line
+ routes: \{\line
+ "": "index"\line
+ \},\line
+\line
+ index: function() \{\line
+\line
+ \}\line
+ \});\line
+\line
+ return Router;\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If however we would like to execute some module-specific logic, when the page loads (i.e when a user hits the default route), we can pull in a module as a dependency and optionally use the Backbone LayoutManager to attach Views to our layout as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 define([\line
+ // Application.\line
+ 'app',\line
+\line
+ // Modules\line
+ 'modules/foo'\line
+],\line
+\line
+function(app, Foo) \{\line
+\line
+ // Defining the application router, you can attach sub routers here.\line
+ var Router = Backbone.Router.extend(\{\line
+ routes: \{\line
+ '': 'index'\line
+ \},\line
+\line
+ index: function() \{\line
+ // Create a new Collection\line
+ var collection = new Foo.Collection();\line
+\line
+ // Use and configure a 'main' layout\line
+ app.useLayout('main').setViews(\{\line
+ // Attach the bar View into the content View\line
+ '.bar': new Foo.Views.Bar(\{\line
+ collection: collection\line
+ \})\line
+ \}).render();\line
+ \}\line
+ \});\line
+\line
+ // Fetch data (e.g., from localStorage)\line
+ collection.fetch();\line
+\line
+ return Router;\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Other Useful Tools & Projects\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When working with Backbone, you usually need to write a number of different classes and files for your application. Scaffolding tools such as Grunt-BBB can help automate this process by generating basic boilerplates for the files you need for you.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Yeoman\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you appreciated Grunt-BBB but would like to explore a tool for assisting with your broader development workflow, I\u8217'm happy to recommend a tool I\u8217've been helping with called {\field{\*\fldinst{HYPERLINK "http://yeoman.io"}}{\fldrslt{\ul
+Yeoman
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000003660000021b08020000000f7c1a0200001819694343504943432050726f66696c6500005809ad796758144db376cf266059969c73ce3983e49c734660c939675424882425082849041104110c241113820822820a180009822415545004e4cc2a3ecffb5ee73bffbeb9ae99b9b7faeeeaeaaa9e9ea95a00585a09e1e1c1082a004242a323ad0db4b91c9d9cb948a60012d0032ca00080e01515ae6569690afecf636b1c40c4c617e2445dff27edffdd40eded13e505006409377b7a477985c0b8150064a7577864340068a23ebeb8e87022ce87315d246c208c6b89d8ef0fee2462cf3f78e837c7d65a07e6cc00408a231022fd00a05883e55cb15e7eb01e3c0e000c4da8774028dc8d0bc6ea5efe046f00583c608e5848481811e7c258c8f33ff4f8fd0726103cffd14920f8fd83ffcc05ee090fac1b10151e4c48f8fde3ffe725243806f6d7ef8303bee2a2826c4ce03b03ecb7782f829e0d8c99607cdadfc7c8f4405e171ead6d7d20ef0e8836b285311dcc79e91f63687780976282ecb460cc06cb7783c24c887cd84f08a6504f730b18d3c098cf2b4a07f63d712c8442a2bfadc301c7d4db47570fc6f02a4238468659ffe5fb47c5dafc952726faeb98ffe507128c89f1c6c3fc6c42248c7edb8338e7136c401c9707963785475b12ed248e351c1a6c7e3017c47bdf487d228728ffe913f57bbe44dbfca3fd6d0d61396c33922a3ad296c881e78864f30dd03782316c1b52ca3fd2f0af5c333cf8f79a86fb226d2363ac897ee083b1af4fa81dd1874479b6374197e85bd827c80aa00f082012f8004f100a96011730053a40f7e0ca05cb436199170803c1f019c945f9b705bd881e45cfa1c7d033e8d77f6570cf031e0800de30fea3eb3ffac3721b90083ec25a7d40d4dfd1502c2875942aca14be6ac2a70c4a09a5fcb76d78ad63ed2f3eb0d50fee2b7ea05bfbc0fa5858e3de5f9e7b406ae45f7cd0c7f39f1effdb267df01ef680df5f86d415a965a9ddbffdff9d31460fa38b31c4e863849199c89bc87ee403e400b21bd901b890f7909dc821e41d223eb0ebef28045842f40ad1c351c004f6a20f88f9fd2bf4ef78ffe5a5987f18071af0227879600df70a0541705bc03f23d8ffb63ae07f698981199ef0888130d7e49f781cd8851280bd2b8fd246a9c17e867d8c6240b10071941cec712d94061c037958fa6f14ff7b36e2c0f7b7b7637fcf25082cc2f30889f6898f86d712d0090b4f880cf0f38fe6d282774b1f312ea3502f09312e1929695940dc7b891c00be5affde53218667ffca7c96003804af63b2917f6581670068ec038031fb5f99800b00cc62005c7fee151319fb471f8a7843c33b3a25fc5430030ec00b84608fc80005a00a34811e300616c016380137780dfb8310d8e2387004a4800c9003f24131280355e022b80cae821ba003748307e011780246c018780b66c0025805eb600bec401044025140b41033c409f143a2900ca404a9437a9029640d39411e901f140ac54047a03428072a84caa06aa801ba0edd821e4003d028f41a9a8596a12fd04f04128143d021d8110208498412420b6182b0451c46f8212210898874c469c439440da209d18e788078821843cc2056119b488024473220b991e24825a40ed202e98cf44546228f21b39125c81a6433b20b5e8b2f9033c835e4360a83a24571a1c4e1481aa2ec505ea808d431542eaa0c7519d58eea45bd40cda2d651bfd0146836b4285a056d847644fba1e3d019e812741dba0ddd073fcf0be82d0c06c38011c428c2abdd09138849c2e4622a312d98fb9851cc3c6693848484994494448dc4828440124d9241524ad244728fe439c902c90f5272524e5219527d5267d250d254d212d246d2bba4cf493f90ee905191f193a990599079932590e591d59275913d235b20dbc1526305b16a585b6c2036057b0edb8cedc34e62bf929393f3902b935b9107901f273f477e8dfc31f92cf9368e062782d3c1b9e26270a771f5b8fbb8d7b8af14141402149a14ce14d114a7291a281e524c53fcc0d3e225f046786f7c32be1cdf8e7f8eff444946c94fa945e946994859427993f219e51a15199500950e1581ea185539d52daa09aa4d6a5a6a696a0bea10ea5cea46ea01ea251a121a011a3d1a6f9a749a8b340f69e66991b4bcb43ab45eb469b4b5b47db40b74183a413a23ba40ba1cbaab74c374ebf434f472f4f6f4f1f4e5f477e86718900c020c460cc10c790c3718c6197e32b2336a31fa30663136333e67fccec4caa4c9e4c394cdd4c234c6f493998b598f3988b980b983798a05c522c262c512c7729ea58f658d958e5595d58b359bf506eb1b36049b089b355b12db45b621b64d760e7603f670f652f687ec6b1c0c1c9a1c811c451c773996396939d53903388b38ef71ae70d173697105739de3eae55ae766e336e48ee1aee61ee6dee111e4b1e349e569e199e2c5f22af1faf216f1f6f0aef371f299f11de1bbc2f7869f8c5f89df9fff2c7f3fff77014101078193021d024b824c8246828982570427852884348422846a845e0a6384958483842b8547441022f222fe22e522cf4411a20aa201a295a2a362683165b150b11ab109719cb89678acf815f159090609538954890e894f927c92ce920592fd92bfa4e4a582a56aa5de4ad3481b4ba74a77497f911191f192299779294b21ab2f9b2cdb29bb21272ae723775eee953cadbc99fc49f91ef93d0545854885668565453e450fc50ac509253a254ba55ca5c7ca68656de564e56ee56d15059568951b2a9f55c55583541b55970e091ef239547b685e8d478da056ad36a3cea5eea17e417d46835b83a051a331a7c9abe9ad59a7f9414b582b50ab49eb93b69476a4769bf6771d159da33af77591ba06bad9bac37a347a767a657ad3fa3cfa7efa57f4d70de40d920cee1ba20d4d0c0b0c278cd88dbc8c1a8cd68d158d8f1af79ae04c6c4cca4ce64c454c234dbbcc1066c66667cc26cdf9cd43cd3b2c808591c5198b294b41cb08cbdb56182b4bab72ab456b69eb23d6fd36b436ee368d365bb6dab679b66fed84ec62ec7aec29ed5ded1becbf3be83a143acc384a3a1e757ce2c4e214e0d4e94ce26cef5ce7bce9a2e752ecb2e02aef9ae13a7e58f070fce1013716b760b73bee94ee04f79b1e680f078f468f5d8205a186b0e969e459e1b9eea5e375d66bd55bd3bbc87bd947cda7d0e783af9a6fa1ef929f9adf19bf657f0dff12ffb5009d80b2808d40c3c0aac0ef411641f541fbc10ec12d21a4211e21b742694283427bc338c2e2c346c345c333c2672254228a23d6234d22eba2a0a8c3519dd174f047ee508c50cc8998d958f5d8f2d81f71f67137e3a9e343e387124412b2123e24ea275e4a42257925f51ce13e927264f6a8d6d1ea63d031cf633dc9bcc9e9c90bc70d8e5f4ec1a604a53c4d954a2d4cfd96e690d695ce9e7e3c7dfe84c1892b19f88cc88c8993aa27ab3251990199c359b259a559bfb2bdb30773a4724a727673bd72074f499f3a776affb4efe9e13c85bcf3f998fcd0fcf1028d82cb85d4858985f367ccceb417711565177d2b762f1e28912ba93a8b3d1b7376e69ce9b9ce52bed2fcd2dd32ffb2b172edf2960ab68aac8aef95de95cfcf6b9e6fae62afcaa9fa7921e0c2ab6a83eaf61a819a928b988bb117176bed6bfb2f295d6aa863a9cba9dbab0fad9fb96c7db9b741b1a1a191ad31ef0ae24acc95e526d7a691abba573b9bc59bab5b185a72ae816b31d756ae7b5c1fbf6172a3e7a6d2cde656fed68a36dab6ec76a83da17dbdc3bf63a6d3a973f496f1ad9e2ed5aeb6db12b7ebbbb9bbcbefd0dfc9bb8bbd9b7e77ff5ee2bdcdfbe1f7d71ef83d98ef71ef79fbd0f1e1cb5eabdee13e93bec78ff41f3decd7eabff758ed71f780cac0ad41a5c18e270a4fda87e487da9eca3f6d1b56186e7fa6f8ac734479a46bf4d0e8dde71acf1fbcd07df1e8a5d1cb2763e663a3e376e3af265c27665e79bf5a7a1dfc7ae34dec9b9db7c727d193d953545325d36cd335ef84dfb5cc28ccdc99d59d1d9ab3997b3bef35bffa3eeafdee42fa22c562c907ce0f0d4b324bddcbfacb232b2e2b0babe1ab3b6b191fa93f567c12fad4fa59f3f3d0bae3fac246e4c6fe97dcafcc5febbfc97debd9b4dc9cde0ad9daf99efd83f9c7e56da5edfe9f0e3f3fecc4ed92ec9edb13deebfa65f26b723f647f3f9c1049f8fd2d8084af085f5f00bed4c379911300b4230060f17f72a3df0cf87317823930b687f4105a482514131a8b2125912275224bc3dec3612808f80e2a2c7530cd209d3c7d0523600a621e665560cb675fe5d4e4cae31ee5c5f229f33b0904098608b90a6b8bb08b6c883e122b150f925093a4907c27d5227d5cc64a965bf6a3dc2df9130a568a6c8a0b4acdcaf12a5aaa58d517872ad4bcd5c5d4bf6874681ed1d2d6c669bfd3b9abdba857a95f6070cc9060a461cc64bc613264da6c56695e6dd16d396f8db661b665b1a3b247daef3aec3801673217bc2bc561d4e14db739f7118ffb849b9e755ea5ded93e09be7e7eb6feda0172812241dcc1cc2194a1c8d06f6173e12311b7236ba34e4727c764c4b6c5a3127c12ef1f0147058ea9241b1d774989493d9d569c9e7442eec47c46de49cb4cfe2cf26c9083c8a53e25745a3dcf3cdfa1c0b9d0f98c63917db16d89d559f37326a50665dae5ea15ca95b2e7c5ab442e48559bd4a45d9cb96454d754bfda40ddc87f45ba49f5aa6eb3598bc335f7ebfe37c26fc6b51e6b4b6d3fd191d999732bafabf8764577dd9dd6bb7df726eecf3c18ef6979e8dbcbd4fbb8afe4515cbfefe3c3030e83564f4c860c9e1a0edb3e8b18b930fafa05f94bc9319d71a309bd574aaff9dfe0df6cbf5d9a7c35f560fae2bbb419bf59bb39f379b3f7160b168bc61f949718976696b357e45666562faf257e34fc44faa9e1b3c1e7f9f58b1bf15fdcbe5a7c33db0cdceaf971f267c79eeefefe41fca59128e4326a063d8f592745922960fdc92b70337811ca38aa4734ccb409742f1964185399a658e45933d8463858381db90ab8bb79267937f9b6f857049e0a5e148a145617211579295a2516282e2ffe4be291e4692907694ee90f32cdb2b1726af2907c9f42b6a28512add2b872a98a8b2abbea24bc0a5cd599d52734ce6aba680968ed688fe95cd7cdd5f3d13f64406db068d86d546c1c6be263ea69e66f1e661162e9696561ad6a2362cb6a87b747d86f397c701c777ae8dcec52ee9a7d38d12dc0ddd1439720e9c9e40579ad788ff9f4fab6f9d5f99704a407860539056b86088652c02b61367c3ae25b1477b47b4c69ec83b857f1f3096b89db47c88f721c134ae63a8e39fe2ea52d352f2d32dded845d86e3c980ccb4accaecab396db9eda75a4f5fcfbb9adf5070a9f0c299f2a2e2e2bc92acb3a9e7124ac3cafcca032a8e57deab12be70b946f06261ed8b4bdbf5f8cb2c0dbc8d22f03a50bcaadeacdb6276cde97af08d8c9b175befb68db64f772c757eed42de66ec16bda37a57f39ee27dee078807733dfd0fdb7aebfbca1fe5f79f789c38103918fd246ba87b98e1d9d191a9e72c2f345eda8ef98e1f9fb8f4ead9eb6f6f6926c5a74ca7c3df9d9db93dfb7c6e7a7eeefdea221a8e7ecaf2e82af59ad447f94f029f293fff585fdc98f832f8f5d6b7eacde42dfbef82dfb77e746f27fe54ddc1edeaee2d1fc45f025a455422dd50c26812f40666996485748e6c831c8be3a7d0c23b53a65035518fd2ecd3f1d3eb3104329e60aa626e65e9637dccf688fd364735673c9736d74fee5a1e139e55de4c3e41be1e7e37fe6d81224129c141213f6112e17a1143910fa2196242627de25e1240a252f290e42ba918f8eba645c6546649364d8e43ae53de5a7e4de18422a76207fcd5b2a49cacc2a07245554bf5f921af439fd492d449d4cb35e434c63513b538b43ab52db45febf8ebecebd6e859ea93e93f3438622867b8625463ec6ac264326e5a6c66634e693e609166a96af9cdaac53ac846d0e6bd6db5dd617b66fb970e798e868efb4e6dcec12e7c2e53ae2587cd0f6fb915b9f3bbb77a6879bc21c47bf278be82f7117f1f035f453f657fa30042604810215823842a6432f4525848b87cf86ec4c3c8ec28cb68fae8b73155b1de7102718bf1e713f41226138393e8925e1cb97df4eeb1dee487c76fa534a496a4a5a5879d70c9d03b299289ce7c99559aed9cc397b3933b73eae9e95b7917f28f15b814aa9c6139b35d345e7ca3e4ecd953e70a4babcb6e963faa7855b9727ee7024535578dec45c35ad74b6175c7eab32ee7361c6f245c516cc2377db9fab179fb1aee3ac70d999b96ad496daded3f3a956f857795debed6dd79e7f6dd817b9b0f0c7a6ef5daf46df6970cc80ebe1c3a35ec3162f45ceba5f678f06bfce4eadcf0cae6b76d62fcffd4c888ef048c020067520070cc00c04e0380825e0004c6e0bc130b80255c25b4550608015f80c00d014865f69ff70704d71131801c50c335294e2008a4800a5c33b100ce70861c05679779e03c680677c133300bbec199231b240d1940ee501c540035418fa14504062184304544212ae13c6f1fceeb6291b790bf5006a833a839b42c3a13fd0ea38229c5ecc019d620a922693d192b5901961c9b458e25cfc7b1e0ea29e428baf16af82e4a25cadb5486546fa9a369a868aed2ead28ed2d9d28dd25bd03f677067f8c158caa4c634cd7c948595a58bd58d8d8cad9b3d96438ee32be70dae486e79ee5d9e7ede123e7ffe4302788119c19b4299c29e225aa2026278b11df14f12ef25c7a4daa49364a465a66533e5e4e53ecb772a142a2628792b9baa48a9321ec2ab49a8976b8a6a9dd21ed0f9ac47aa4f6fc06cc866c4672c67626e1a6176cebcd7e28b15afb583cd69db7e7b9483ae6386d3900b83abe7e146b7f71e1802b527c673d36bc17bd267c58fd2df24a038f043f0a190a2d04fe1c6118d51b8e888983771faf19d89e2497547b98e951f67482948c3a6a79cd83c1998b99a9d931b72baad80fa0c4bd1c7928673ee650ce52395a7aa0c2e6cd6e4d5d25dcaacdbba1cd4f0e54afe55bd16ea6b1b37165b97da573b3f74cd776fdc637ca0f3d0adcfa3df6640e389e453e1670aa3a12f7e4ca0de904d56bda39dbdbb805f3ab2aaf5b1e5f3ce17856ffa5bd8efa77e0c6e2ffd5cd879bddbba97ffcb735feaf7fe418c3f095c93a3816b0edc4004c802356008d7193ce00a4312c802a5a001dc82eb0853601d42432c90d4efe8274045d0356818fa88a044c8229c1169881b88052427d21d598b5c4329a0d251636861740a7a128e7d390920f1271923d523ed2493246bc40a639bc8e5c8efe12c71f314f178327c312537e535387f7d4b1d47c340d3416b4ffb91ee283d96fe1c8338c32063181323d37de600163a96fbac616c7c6c93eca51c8e9c4c9cafb92ab9bd79a47801ef4bbe2bfce902ae8272702eb7223c2472137e8be589a7491c918c96f292d694c1c90ccb66cb99c833ca6f28bc56ec576a57ae51c9554d3c14ab96a5dea9f15d4b56db5b2747b74eaf5dffb6c16dc33b4603c6b3a6083311737b8b13961d566b367cb6ee7695f6d38e3c4e81ceedae24871ddccadcfb3c46093d9e0d5e99de013ed6be867e4efea901f78328823d43bac358c21323a6a2b4a31b6229e3c2e39f247227c51e1939269f5c9bc29a5a948e3d9194b19649c89acb493c259587c89f2abc5e145b2277f64be9f5f2984a95f33f2fd4d5c85cacacfd502758ef7ff95a23e3958aab6acd1faf95de50be39dc4668dfe9ace9b2ea06771aee99dedfe8a9eaf57ca4f2987b10f5e4e9d3d8679891ece7b8173563ee1366af83dfd64f7d98e19cb37c9fb27877997135ff93c0fad3af455bb9db463b32bbe7f7deffda38883f0a90c1b5572638faa270ad490758c215a61070147ef2ab412b780ca6e1e71e0709409ad06128092a87ee40b3083238ea0444316204498ff441de41b1a18ea356d04ee8a7181dcc1db89ef280d494748a2c0a4b89bd466e8f43e23a2822f0d2f81f947d54a5d431344eb44674c6f4560cc68c8a4cc2ccf22ceeac096cd1ec9e1cb69ce65c66dc663ca6bc667cd6fcee025182a7841a851f8b2c8b51882b4af84a96498dcbb0c87acbb5c8ef285a2a3d55c93ae4a48ed6c8d7dcd536d1498323d8a1df6d70d770d868c7c4c4b4dd5cc2a2c94ac2badd56c76edc21c409ebdce46aef46ed41eee9eeede2f3de4fd53f276031c83a7828d42cec79844be45274522c47dc74c2a3a4fb472b93ed8eff4cad4eb7cfe03cb99e752727f7946f9e410173e19322dfe2adb369a5d46535150a954fab7caba19a8a5aa54b63f5310dac8d8f9b929b0dae49ded06f4d6eafe9cceb72ea66bc3371affc81d34392de4b8fe4fa6f0fe80d4e0cc50f4b8e2047d75f2c8d8d4e14bc167c53f9f6d794de74f6bb27b3947376f317de2f2f4a7f085abab0fc7865650dfd91ed93d467dd75870dc217efaf96df78be6d6e9eda62db6afcaefcbdecfbf60f871feddb0cdb91dbeddb3b3f357fa6ff1cd8c1efd8ec9cdd19d925ddd5dc8ddfbdbebbbcc7bde7b457b837b8b7f74bfa97f7afb3bf9efcfab52fbdefb37f6e7f8818ff285f5919e2db0340386db8fc38bdbfff550000924200f60af6f7776af6f7f72ec2c9c62400f783fffcef422463e01a67c53a110d7297136fff75fc0fedd8b8677c4c06930000019d69545874584d4c3a636f6d2e61646f62652e786d7000000000003c783a786d706d65746120786d6c6e733a783d2261646f62653a6e733a6d6574612f2220783a786d70746b3d22584d5020436f726520352e312e32223e0a2020203c7264663a52444620786d6c6e733a7264663d22687474703a2f2f7777772e77332e6f72672f313939392f30322f32322d7264662d73796e7461782d6e7323223e0a2020202020203c7264663a4465736372697074696f6e207264663a61626f75743d22220a202020202020202020202020786d6c6e733a657869663d22687474703a2f2f6e732e61646f62652e636f6d2f657869662f312e302f223e0a2020202020202020203c657869663a506978656c5844696d656e73696f6e3e3837303c2f657869663a506978656c5844696d656e73696f6e3e0a2020202020202020203c657869663a506978656c5944696d656e73696f6e3e3533393c2f657869663a506978656c5944696d656e73696f6e3e0a2020202020203c2f7264663a4465736372697074696f6e3e0a2020203c2f7264663a5244463e0a3c2f783a786d706d6574613e0aa184c57200004000494441547801ec7d097c15d5d9fec9cdbe27904080408004a322460c2a6a133eaa061117ac62b1a2f8a1f8e7935a9b5aa1daf403946ac1fa5145ac15aaa256515c625d6a50aa0617b020a0a0440910087b084bc8befd9f99e7de97c9dcb9370b0145cef9f13b79cebb9df73c7366eecbcc5d029a9b9b956e9a01cd80664033a019d00c680634039a01df0cb87cabb44633a019d00c680634039a01cd806640336030a04b46bd0f34039a01cd80664033a019d00c68065a6140978cad10a4d59a01cd80664033a019d00c68063403ba64d47b4033a019d00c680634039a01cd8066a0150674c9d80a415aad19d00c680634039a01cd80664033a04b46bd0734039a01cd80664033a019d00c68065a6140978cad10a4d59a01cd80664033a019d00c68063403ba64d47b4033a019d00c680634039a01cd8066a0150674c9d80a415aad19d00c680634039a01cd80664033a04b46bd0734039a01cd80664033a019d00c68065a6120a815fd89a9d6bf8278621e379db5664033a019d00c68067e700c040404fce072fa3e120a3851aaab1325cfefe320ea3935039a01cd80664033a019f84130f023ae2f7f7025a32e0d7f105b5e27a119d00c680634039a01cd40e731f0232825bfff92b1736bc4ce8dd6795b4547d20c680634039a01cd8066e00466a0736bbece8d767c68fdde4ac68ed5761df33a3e54ea5934039a01cd80664033a019386919e85815d831afef85e4e35d32b6bde66bbba57fe23a2b8eff59b45633a019d00c680634039a811f0d039d55c9b53d4edb2dbf2f928f53c9d896baad2d36569ada6b6ff5d55833a019d00c680634039a01cdc05132d0de3aaf2df66db139cab43be67e6c4bc6b65475addab46ae06be51d76f41550cb35039a01cd80664033a019387918e870f5d6aa63ab0620b92d36c7f3581cab92b1d572cdbf817f2d096a8bcdf1a452cfa519d00c680634039a01cdc049c5405baa3aff36feb520b35583e34678e7978cad5672be0c7cc9c9857fad95afb65b5abd34d60c680634039a01cd80664033e0c840dbeb36ff96beb4bee4924cab066279ec4027978c7eca355faaf6cac985a397a3f0d871a7236b0634039a01cd8066403370f230e058b7390a85135fdaf6ca11d0978bcc75ac41a7958cfecb3547adb7d05bc2f5dbe4b6a11f8eda6ee9278856690634039a01cd8066403370b231d0f612cd66691b0a6fde726f098c1d857e8288ea5883ce2919fd54668e2a6fa17f89b75678f1a3121b1be8808b2d821e6a0634039a01cd80664033f0a361c07f95e6b84c3f2e569515334e5b24b0f4369334fca8c4e658804e28197d55608e729bd036c40a4522c0ba6c47210d1c558e426b408d35039a01cd80664033a019d00c7833e05899390ae9eba812a10099c826b10dfdc484cad158221f2370b425a3af9acc5b6e93f81afa92dbd66f35b3629b996dd8764b9ba31e6a0634039a01cd80664033f0e366a0ed7598d5d28aadfcd8e432144063ff43d8d80c640a5f7231e874705425a36305e62db4491c878e42eb6ac54080550bec2df796b4ea6233d043cd80664033a019d00c68067eac0cb45a75791b784b488ec80508693609878e425f2e90dbec6d938ae331051d2f191d0b326fa14d621d127b4b64c1a212e0ad82c4aab5623176046db77474d742cd80664033a019d00c68064e74061c4b31c745592d7d613a8a56804d8e215556032b16033a7abb8bdce625f263013a58323ad65bde42abc41b7b4bb842910b805cb000ab50a8b16a6dd1c44603cd80664033a019d00c680634037e18f02ec5fc4b442b00c1050bb00a05fbd75a93b45a8adc5128da4e041d2919bdcb32246413fa195225060224881f895525f656006c6b36179b560f35039a01cd80664033a019d00cd818f05387894a007d65482043687d49fcab6c611d877e84547562df3925a3ad2cf335a45cb402b01e60db9042e9b966b11140b9d5cc8f4a8c35d00c680634039a01cd80664033e0c880b5daa381480488a3480440456ced258eb799cd5e86746975e86d208e9d0bda5d32b65a90590dbcb148ac4030d606cc217baed65b424be9ad802ed6de1aaa2d72ab8dc69a01cd80664033a019d00cfc2819b0566fd605fa92c346540432a4bbb75024564b6019da800cad73d9b0f7d0510261e7b6f6958cdeb5974d621ddab00c6dc03a24f69670cd56392432b4696d2a9b198d75af19d00c680634039a01cd8066c01703ed2addc45800c202cb90c014047046915887362f0e6960c3de434789f8760a6847c9e85d7bd924d6a10dcbd00abc3125d61e8bb40ec545e402ac2aa1c65be82d11630d34039a01cd80664033a01938391990f24e96ef2d81ca57a9675389afd55eb0556bc59c1a12114a585111380e6dc656cb4ec1419d120541aca5986002db90c65615b06dc8ac6c7299c56a4c4b513902dad04bec35d00c680634039a01cd806640336065c05aab412e430134968a8272ab162a0cd91358e35bb168e94e1718d8828b9c2a1a5be31c37dcf1bb8cb224ebf2ac980662661d0a06102cbe2221f096436213cad00a0c23b3491c8fa015b9cd4c0f35039a01cd80664033a019f8f131e0abfcf2968bc4061c875621b1630fa1a39c3c5b559070685579639b190d3ab16f6bc968abba7c0d454ee03db44a8039b402accdd790cbf6d65ae9908022a4447c45ae81664033a019d00c680634039a0161c07f5966d5c2c55ad20173c85032a4d0cf50540c28f61247267204563362ab99483a0bb4e9c1b4b5eaf29e58b436e03da4447a00c108cba1b7a4aeaeaeb2b272fffefda212402f49c92a7754892501ed6d423dd40c680634039a01cd8066e0646080259a6da556a1605b310717ab045886717171515151212121943038ea0d3170ac3da0a59c80c6f4125f6f60cbdc3697a3f668846dbacbc865c834d6a1601be0d02a14098015232c2556213154b5b5b5fbf6edc3f0d4534fadafaf6f6a6a923404404b7245d27620be04326c3582a3a5ed183b06e16e7054f91176c0cb96611b23d00c3d9241046b4ab680a2f22517033f407c0964e8c7852a474b49dbcf62fda8fc4cda012f5b866d8c4033f4480611ac29d9028aca975c0cfc00f12590a11f17aa1c2d256d3f8bf5a3f2336907bc6c19b63102cdd0231944b0a6640b282a5f7231f003c49740867e5ca872b494b4fd2cd68fcacfa41df0b265d8c60834438f6410c19a922da0a87cc9c5c00f105f0219fa71a1cad152d2f6b3583f2a3f9376c0cb96611b23d00c3d9241046b4ab680a2f22517033f407c0964e8c7852a474b49dbcf62fda8fc4cda76afc0c0c0a0a0a0a2a22264989090101a1acab088c086a1071a24fb17d2c0d6cbd00a6cd87b0849a7b436dd65f43513487154d9e418524260c570f7165a0d0e1f3e8c32313535f5c08103306e6c6c9419c1b558ba5c2e8612ad0c69030300b8408e8038ae0c25070c5ab1a10b4301a3497c99948e1cc2c03a2f30e49805bdc8692943021a883b0024689470480c21c372688d23f634e0bc14b2b7c5e1d0310267912938a42549432f8e0c8e21ec851fd1522ebd700b094369fe852b6152f30f06d0b803b9518921045da212ea6c4218e8fd4f4ec88310e58b3a189061029889a5e69f9c8007b9be0939264f6eae84402bdb9a7fd2c2fee4b9fe63bd2819fbf5ebb771e346542fc1c1c1dc2ab249640b61b708166013ca8e823b6c6428c0975c0c3a1db47e975196cab9ad43c15660c570c19012021ba650ccbcb5dbb66d3bedb4d30e1d3a8433105ab246000c217c854a316040f4de3b9553d057e2d01e4248d0ac1708a8a82560406258d2c536a43b72b31a8b0d8024cc34643ada484c02cc42170c29b15d8c98066c68c949d1dbcc3844045ad280916521d4d2004286b2c617770034c46404f46862498c9e1160090c6354eab001a62feda925468f062f46a08a183d1a0312c31206e86d43ba633aabb1d8004858009a412871242601e5c06c18c2059801e9c8212d39297a9b1987624903260347c8d9332c301a43018897150023262388170d3084177a46a010c69a7f2150f3cf9d835d012a64c350c8cd03ae000463480977322cd9600039302db9e5482fe534a397586afe410bd8d0fccb96003076db8fe2fa8faa313a3afaebafbfeeddbb37d6258d079d432bf6968896003d012c05db000d28f45659e547838fbce2fa8a8243282a472c42002b86974808a8152c5a9c36de2aba6fdab4e994534ea9a9a9610ebcd0d018dc11c8e549e408087b2197185a4a08d84322c694c8900920b800510130147a340e01682971e80b2d01b434602fafdfa6d8c8168e12194206a40411a0a5a375220481012348cf506206c01c9818cc1853e40c8b2970e74f26621019323886f0652634809c4219322ce400f42296d909d85b8d29e172e80b0982c39d4054cc9f6119013d1a2d250e7d614c002d0dd86bfe499ab02abc811f2153f30f5a8c7d6336b001ba2801450414ca104028f5f8b9cf6e6195c6e8d1c458f3afaf3fd80cd812dc360494608f71b37193c000004d5fff7906a147135a80c11baf5d02c82a48a3d9b1befe8787877ffbedb7fdfbf76762467e9e860400999e47e6fe4b15078209d013402bd8066840a10d8bf028412b2523f99539ac43a19e5a0c29c190c014b80f8f37a6447a7ae1e842424c154ac6e4e4649e36600a42f418f27813a327e079c508dedb053650710a680168437b4c4a770058e2e2c5293823b5103288f490a3d11ebd048417a341888968839e99a387dcf034b90246830b1a00843000c6ff544c13a31303dac000f1c51806b6138053c01866321d011303467c4ab858624e649d17724e4a157a4834ff9a7f6e3f6e4e9e1ae00443ec16346e33ee16daa0e7cee14ec3100d96b041339df4fe37ae7e60435f7fccdd6150a1af3fdc123c4178be80137dfdc1de904d72fcaf3f78e8bc70e1427cd6822fd34c06c2bcbc3c64c5038467a42c19a1a5017a3970a6cca1e3e1a64230017a02680553c2a10d7b0fc5acc3c0b852fb71b66a1db1080188a5b7021bc6b02d0d89151717f7ead58bf4c1854c11a087c1819d3bbefd7761c9175fecdebc09e3a47efdfb0cce48bf68786c520fae4b5eba680f218230c281b21ddfae5e5afaed7ff66e2d86bc6b9ffe7d4e3977c0593f8d4be8491b0861890800e8b10f00d000f696ef5ebefe93f59bd76edeb935a0b929a567df817dcfbc605056f7841e9c8853a0c76ee6aea204be5c05e23037c8d18821e41035996000b8581d316443700942c0171bbaa0a7178c111643349a418e29682c36d0ca2c4c03c6a2850471604320018da09e0603da8b96d359132096507415471932027a44809099502b49620847ab2fb038126bfe4188d042c62801265714da58151a4f12fe9b2a4ad76eac39e5acd448cf260703587bfd81922f8b6b4fcb3c25fca8f77fe3a1bd95a189017b377c571179d6e97d7086778cff0325eb8b2ba3334eeb8d0838b268c6b1abab286f8ce91aa9f7bf71811562710481ad1262f47affebeb3ff6061bf709b70424adbefec21e5ba8a0a0007713698c21bed7e5924b2e91214a467c0c83575768dbdeac2e8209ac439158811f0cd5d1b7c0e9d3a7b7370a08a58b15108bc46a202a005f0d973cb8400b805e303e2e1d1b1b2b5e201d2a1a036f5bb3f6b3bfcefff6cd7f26d4d60c4e4aea1b1155b96ddb86659f946d2a894cea1e9b94041b9c15e2cec80d0d0d08b2f5db55cbdf7aacf4a3177a065664a6754b4b0cabdf55bcf13fefed2adb161ed32da64b0ff81a1762f3ea235931b16f8abf5ab4f4d925eb97d4776d483e2329a6775469c58ecfbf5ab1737769d7c82e5de3126986a901b81711010d4334c66456943031f4720e434e03b8d3868e620f2d02d28553302ceda192fce1c2a9e9028c064c036000d8801662f4561786853d5d44453986d268c3218d61e38b7fcc824603e44c33c6841c418069805000e8253225187216f4a41a12b11421c9811c8d11380b0cd02426a369fec10989b2f0dff0ed878b66cd98f1b7e75f46dbd8903868604ab049268c49a62ffe1b777e7affff7d76ca4f0646366e7f71c6cce501a967f78da74bcdd6f7ef7f60596a56466c90bb7242b4cee57fd33b8f3d531c3f34ad0b57c4a519fbc069ff5716bff1dbfb1f3ff3b26b13025becffdaad6fdd75dfe383465e9318642c967b0c3d57c1fdc31ef1d104c3000d2ba2bcb9f29b7b6f99923ceadacaa5bfbbfff180113f1b080e69d0defdbfa5e09efbe6a94baf1d1462e1bf6ae3e25b7ef5fe79579f1713e0be7ef2a0e8fdefe6dffc83a3c3eb3fb741c7f84724b823140022a0f7b5ff61a3f9378977773f1afe790d494a4adaba752b3ee382e56169d5d5d5781f1d00b4d818a820f16d3b0090d0403001e48e8d5ae9018861dc2e60b5779ca803c2238f3ebd9db9486f79ab12ee0e9a3108258e3da9f7a582166738b50888d38f61213fb47bd7cabf3f57b97ad5d41197245e7e891a9ea570d43e58b6e7ad257f7df7fdd5cd01e177c5c7f7ec25d74d001c5a38021cdcb7f3cb0f9e0adab0e4f6c9d7c7665d1d12fd531c8bfa43ff3ef0c96b2ffdedc52f031a236212a3e3bbe3bf0b3842b0e7698fa991c99efdbb5fffe4e5aff67f7de3e4abaf3ce5d21ee16741bebd7ad5eb45efbcf8f4dbcd9f348e8f8e4f8ceb06217c311d017a600604401cc404400f331902e0bb843829b5989d5a00fef7050006080839001a2418c2113d9ba830241609001ae48c03777cf32517889ed75368992d7a18880b0c185fe422a11cc6541140cbdc08847fc6a70db04c0a007b1a3301d850c29cd943882618002ef045cfc8a2421048604cb9e61f84f088f030919fd6f83ff8f95fdf08bee2577fb9ec949def2ff8f36b4f3cd8d475e675a70ac97ef8dfbceaed0d8786c536d737541d5a5754527d663d66c7a47069a83fb861cbea8375bfe811788cf6ff814f9ffdb8f9d7d76175dc2dc6a6b16c66644209f77f53082eeec9214dd881d82c47f67f63709ccbd53ba4d138bdb8c1a8652891183e9e539e61b14c68c9366e757df4e88c2d437f736674e3e6c8d8c02e71b8c38f53ab6dfcb7b8fe6096e0084488e7b92a69849d71fd2d7dc64d79fa8be76e3e530e0de3c3065ec07aff8384f6ef7f3bff3cbe42b29ffdaff9f7ec7fe344f8915dff5111bef5d65b78f4cca38c1e8dafc2d812d82494f0b220e720370f5400b6ab072ca541cb2090c84e136ddb810469bb8b7f4b7f25a37f4f2e033600c4d25b81a1f3dd409c2881118d1262a80004e37a476392be796961f5279fdf30704062ff3e6ac3776add3746c24141dd5253c6f5ebffc2b2155b0667c45c3f0632d823082fdfd8b800c56bdf0f2c5a327a5446ece967b80e96d6ef5b60980585c49e36e8ea515fe7ff6bc99675e79e997d3d13a03b2230812f362cffb27cddf957669c9e9256dcb465ddc16fe11b1e1492d1f7b4922bb77ef6cf2f3f5ff7f165175e0d21e6820b001bf70784080b8c9e91a1c5105b4d0cb84018c018180600e85915d11df900a0d10043466392b094fffac0065ae6801e66e2052cf3721648d0181c3d1a8650c1c5c63f83a0a7163d9ae9ed7e21c472983603720809011de18229204133031c795586176c98809187877f58322c006d1804426b861052c2b0e8390584080b8c9e8951253cc000723418103314fa9395ffb81b5efb674c5063654d43dff1f7fce2f3718b567dbdff6769b1adf37f60f5db25436f3e3bb4593505b97074e07184ff803048f07f386c6d1c8ecee7fff0c6775c71bf1fdcadb9b90e9b07878f8d47163d86e8312ff7436810de106c1c7488610f00150c825dd8f9b871873dd3e2fa030386421cd3cb080f091aa7c3a2b0580a0f6ffed753eb0273fff693fa9a8a6615e00a688611b48d0aff296df7fe6f6a46042345cc87ff50e31a83191b0fab9cbb6f7ef6370f7f34727e56a271614778306ca46536bdff0dc2f5f5475fff3be9faffce3beff4ecd913a7555555155e1af0158cd85d38d57035e0eb2f2f237235c09501c6d0f24c8425548279923af670e41586c03ae47490383a1e0b615b4b46b9260a60363224406f051c3a4a2024a15660c318e218500866618f867949d9c12f569d55e3eab9bf527db65a25c4ab887023a5aa6a55b6bfc7c1ca8c4ad7cecf57358fbd16ee6874c7051411e07eb074e599c92a36323460d3572a2a3e303402ae4df5d50115fb2184ea9b6dff696afab911d06c88002f2483fe9b5d5fc79e1a1f1113b676cfd7316171a1c1c130a9adaf39585d111e1b1e775a7cd19e0d977a2a2dee2178c1c64cc4fd26096c290821617c6645034830e48c9c1458361619202d8c402fdaa0e78c08c2173c4860464bf40cce49a9a244bc4011e4920fe424cd9b7f384a7049186610325b0a31a40443e19f4244404a34966a8cb9d97ad8c312c9480f03046456d402c380983d6cb82e2e1c4234e400b9e61f548087b6f15fd77c78ff9e26d3beba312402d7c8a020cf7fc3ac87dece7f45f19b95aebbce486868aa534d289450299977f04cfecdc3c7c2496d5b99ffd85fdf2c43424a5d73cfa397f6c7fb069bf77df3eec3735e338409e7dd7def7f9f128d0357f5efc7ee5f9d7cc5a9a52fbffa85facda38fa456ae7fe9ef4f166eac84d5806bef9d32a21f8f3886a56b3e71c58e4c5155c6ae69dafdca437f7977a33943efa1b9b7df7c7a82b1cf030e7ff7dc9c870ab7c13cf9a211892e5724f6344ebea6831b447eb129c799b3b960ee7def87e4cdb8a56fa871e6567cfdcf3fcc29fdd523b7a7066c7de56f7f7d77bd113c72e0c8dcdb7ed62feac8dd6e58a2952c2b70f5ba714854756d15ae6091aea8baaf97bff8e882a570e93d74dcaf6efdaf58dc236fdee39d24deadfdc9a2bf3db374232c55ef9f3d3aedb270f32c7045076c5df7f663735ec3ca93b36efecd4d17a2826fe87efe28d7f3ff5abee5c251fdb9e7f5fe27ffbc50e8eb0f3611ce3b632f79aede0090c859038ac01824d83f0090933412485faa24028690c318006600e8191698ed47c93f7edc05f765582f5e74d1451f7df4113e0d234ce2f517984c9222f4a045b0b044009534d8803719028884003d84b021a0a50c05582374166e6bc9e8673edbda247bc8d920e196f2088cbf22b10260ab318668e49dbe2008cdfd7a5fb425bd2e20624399aa6e523d0ea9a82863eac387d59e43119bf6a7abe6ed9b37c31232b8b07e6240846aa82eed99d23324ac29a8f950406380abaece98b7a10aaf15cd614d507db5bb94f3f270c2450e7079f5cea4b3ba3646a86a574d40f3fedafa10f8d635d561d81cd69c949258be6b1727428ff30db333790c11046131c4076228e45a20a7196d98330d80d10403504221bdd063c884f9511b990501e1c2e46186212c694f8c5e3e9dc3208c29975786650250a149ce10422b5719ba632e2649174e67e31f4234b2417718232c7aa6ca08c84d860490880d32c1ec880389602e07120034cd3ff8013947c93f8e0cf9afd9b2ecc592c09e579f1581b710b4c6ffdef59fbb5c57f50fa96ec08dbc06f35ea26ac653601c1d63ff1b35a40bcf7b1bd4ced79e7ca7fca7bf5e70d3a97b8a4a1abb87e0b0d66ffbf7ef1fc93fffb6fbff7c41d84bf7feeee13f757ff8fe5111b8ff77a0fc9b350bbf39eb9a5fdf3d2825b8e6ab371ffd64f3d0fb174c8cdfbba94c75c3323dfbbffaebc2af7a5df9f3a0fa264ceeaaad094abbfc4fb9e7c71dfaf2a1dffff5858f7f72df9503f019b617eefebf4f2287ffef5f7edea57cd5a333ffee72f56bacafab0f2c7ffeb70f7f1673d1fffe658c21ffe3532e575f5c86fa649ce17af9f98295a3269c9b101050f3d18bef549f7173dff0edcf4efae3c7eaec7b1ebabf4f50f1dfa7fddf03b98767ccbbb17be091733620a07ad337953d7f7a5a439571bfb3a9392270ef3f1f7b2afdffdd3b33a6e4df0fbff8c2437109f75f0d6d7560eaa8077f7d7e7cc55748f2c5653ff9dfcbfbd76cf9f8d90f36dd7cdfdc9f74abd9b4a5d2b8198bbddddc3510e5e52391d7dcfdbfbdb6bcf6e8abcf7e9a75f6c57d42547d70ea90c082adbb6a9afa1adf86a0f7bfe7ff4547b9ffe59a631c3dcf354aae3990088681b1b7f5f5c7f29a75f4d71fe1fcfbe21fdf0c8d1f00e46b0d7ab6f3ce3b6fc58a1578b7e2a5975e8a4bd6c5175ffce69b6f22436831e41e00c0550e0ca019973b73c86b292c6dc013d8a897a0420491c05d3001b4de429bcdb118ba9f067a87b6a62bd80630140922c8d00abce5d0f2c0db0085e8a5c140a88710183d4f7ea8c28303637b44ab94aeaa7b8c8a8956d1112a364ac5c5a8a43835a06b5c725c78b071d944210247920bcc38c16141415d135c5dba1a6f0932bc22f00f00c3c02e8950c10096a40573a1013381d0b0a02e515131e111d111e1d161e171e111b161e1d1e1e1d11111511191f1d111c1a1c62791d1e02209300203a26756d0b26082b1f95a604cc4ca092a60338c11074234082961701a7016f65826e2400b4b4800e04540470ea1653444800b553483045a6e6ec6a18453a317fe011004362802201777085916700adad8f8a73d7a347ce92613c04468080b217d11138d72009a41cbc4bc87f01206a0850b4301238811cbd39815b49affb6f37f78cb477ff8f3cbaed36f7cf0da3e38e4adf15ffddda76b7a5c7376708db149c03f9e4ccb65cf3cbef83f4380c1bf7261c30596147db7bda6c769a7f50a378c4bd67eec72f5bf302d78db3675eea80b02f7afdc5281fddfdc501be83afb96e7eebde6dcb3fae1d180cbf87fc796755f1607f71ad0afbbf18baeeefd5f59f2d1f6c0cb0677ade1fe0f4fbde996113d429a6a63fa9d111b18141282046a8ad72c77b9aefdddcd6931c13169c31f9cfd0b97ab1a0fa06b8a57af080cbc66ea4da93141b1037efae0aceb03036b8cd3a2fb85d7f60c5cfdee6787f1bfa6edabded9e7bae6e7e71c2e5afd5960e0b57ffcd5c0c490a098337f9307e3e59f7d5b8e25986be4f5a7a2a2cc15505d556b9ec24daac6e53affd157fe38fcf4948c2b26dc941a58beb6f800288a1c30fed64b93821bebe3fa0f8c0d0c0c351e5f04066181ae2fffb36e4f63c26903fbe235079bb649d5ba5c3dee9a37ff9a3353cfb9626c8fc0c08626e3f64643437de280fe819bcb7946c15def7f9ee9fafac3b3156cc8aec0dec02e05335441cef314727dfd2739c2cc8b2fbe88772e42881ef8f1c71f5fbd7a754a4aca2db7dc327af468dc5c04b1e82fbffc72f7f5c7f282082f69209c1880d80630c481a090c036a4018436b9486c806614764adf91bb8cd6a4253feb226920bd15d08c3db823e04e05a6043dc20ac6a790f0ff361c09088dcba70bf7048d8f6b449c3ee0e0e61ddde3e2548f78d5ad9bea1287db296aff21b5bb4c85971d387c30a4677778e135098713c179d500802422bedffee67dc991712a325645c6a8e0586321f5075575b06aac3b101013d925916717bc9818f470c4b07b6cefa68a9ac8c0d0b890f0b8a0d86897f19f8f8aa6c3e5ae8370711d563d627a43026cbc1c9a3b40a666e6d062c9fccf2830560a4bba605d9c0e42189019f4d0a2c11da170335cf625eca145e35cf0850184e8690c4026118d2b4289000c2102c21e0d002e90882f30f36770d8dbf8870b231320082c6106004b6488596000213042418e216714405ff470811036689c0b43724539b3153e91ada407770ee94e4b3180506601d6fc83848ef1bfe78bfc3f2ffa347df45dbffff9a003bbf6e3ff25381c38be3ef9af2afd7493eba21bbbd5341a075735e2fd77aef0a07a1c02b8c0b1be16754f40755d6d5d70afc979373cf0c08b73662c0de832f896ff77eda95deb377eb3cfe52afb4bdeffc2d87892eb4a0b578dd8544d01aea401bdcb4b77e1b627ae1f4326ccdcbcf70ff97f9bfdfa1361c36efc9f51838c2f49c0d1afdcb6a62ce0dc01d1b58d35e655a5e2dbbf3dfcf4c725d5cd61e10135ae3ecad8ae0d468519ddcbb5bffc10b650e5de7da8e45c8622d49407ec3f5489f3b76a7719e401c60b4273d085d765e73ff6feea9dc3ba14be1d1070f14f7a34d65585b85c49fd220e971da8c3d6ad6d8c8133fe57d972ffbb1fca2336f86f6aae09884e6e28ddbadb782f6260ef8c24d7bfc38241c8812f1f7fe8ef9f9654abf00824d9bbc9f8ff5e70dae5bfbdba74ce3f9f5957f074d2b9d74dbaee5cf3614a4d40f7ac5382f6ed2eaf570d87f04e019cc93ccb6a713f186c7bce5fbdfff5f50797446c036c4eec109c4bfafa0f127026f2d50a18fcb4fafa8b5f8bc61dc4ececec7ffffbdff8d6bf1e3d7aa064c4efd2555454301a5f9b707103d5b88ce022008cc868c0c685c5f34a040c21869c14181204a101015cc41ec036840d1a8404ec6966951c23dc8e9251962429da24563954d412a0073530b002aa481fe5b65e8cb1d76186638c9efb1e7c850eced87ee0d02929bd54d778d5b7b74a4c344ac6bd7b555028ded7b8637343e4e00c1c0c5e49118a07063d7044b78cdd87df4b0b0e0a8a080a088d53a1f146f2c6b3a4aaeae0603cd78101ccb0b1705c3129a643c326400efdbb9cb261dfaa88c6e01815d13528362a280eaec10d284ceb6a1aaa1bf7d6a57639830516a6e6be4404d848e6c0080e1b6e1a601a704668d9303b00e6851c0d984b401a0074410f156c0860237271840126a2178d3935f2810d1be622339c14668803150062c212432bff903319c8119c1866640c73d1177208612cf69c055ee2422069200230cde06be31f7246464004418ff4e042c0e543ce6870d7fc770aff355b3f98b378c5b9b7ccfed54f627695eec5866b95ff9aed453b5c1903bbe28e98b92783ba9fd9ddf5ceb603cdcdbd7098e0beaf685d60e0a0ee6138132a9b932f9af3e2a87ddf7cf07f339f7efaedb4076e187adac0ee053b9266bd708ff1df2fc3bca17cfb8e4a63d7a0ccac680a88c5e187a2a2a6cb4d0f2cbae1e0e6371ecd7beb8597d2a7ffaa7fb0212ffeecb3c08b7f1d5dd5889f8d6a6eae5df1d2139f6ecb7c70e15d7d839bdecd1df7af60e36a8bdbe38181d525e5f57d7b198fc21b2a0f1a1f7301c2a3e9c0ea2d65357dc38db754d6571ec49cb8a78a4d157ceaf0b3023f7d7dfe5fc3f7d79c75eb4f832beaaaea7132967db7bdaa474fe325b9e6e06eecd8e6463c3d36fefb846c4dfea3e2927087d5b8924082fa31d0d588b786e2bf890d0d8737ac290b8cc23b5b6a3e5ff4d715a5990f3c93db3f541949861a019b2baa4f19fddb177f56bdbae0ef7f7ee9d5f7cf4abf322dba49b9026b1a0e5437e0bb3d5433ca4b948c7cb050b76bd37657c285787e8d0b07dcf5fe37f9c7a16871fdd7d71fec5230c3eb247aec7aec4cb004c0f38d5751483084258627f3f51f6f5b44a5f8e1871ff6e9d307182f70f8254030035a40110824207594532834825e60e969635c0dccab1b8d311400391a863c043224909e5a985925d6a1c83b0bb45e325a33769c9506d65ecc20b4ca855600626f007b9b10d128614f96414ae2f9e7edd9befd3fb5f599bd7ababa26a89858a3646cc6ed0cf5c581bd07d3fa269c770e6a2378e1f420f5e871b031ecdef7fc1deb377db965d79971f1e1cd8db8b7c059aa1b9abedcbcf7904aedd1fb5c38c21ebd9c451c9eda73d0de4ddb77addf9b34b86b605050a0cbe030b02128a02600c22ef53d4eef7b16ce3108912a00dce1c80609a3410b09b45c0e0086988b436a597752021598810d5468d67213cb81168d5ad8331a9927860a431b461cda80135c0ea0c510d1d03314e48886c6f8ec3184230cd038297ac681045a7ac1061872341bff90c3123c504b2c3129849666084ec62087257ae4898068b8ef83b4a10586192200d0988921028c2181231b2434e074d042020c0003787148ade69f9c34d66d7fe3c9a560a66fd8a60f3eacc6ff9d5de1dd4e1b90545f7b60e58b4fbc5f77de5db764877af1bff9cb0f5de7dc1e5b5d77d878d3235a489f81d1aec217f207fcbf118392eaf67efbe1a73b5d832e09af6f6aa8dbf5c15b5ff41d745af7982ef8044a69684c53535df2d0e1aea5afccbaefa91bae1c1a1b58bd7debdeae6969b1410dc6bd4a7cdaacb616c71adf83f6d5d2a521a79f35a0676cf784685771749cc259e06aa82d5db9de35e2b7ddaadd7bbe39d4d88cb59bbe5cbd7de767ffd8e752c59b0f0c4d88ed794a37d7fb056fbddf75e4196adb8a17de5eed7225638385260de8e67a6fc9dbff4ebc6c50d3d6e52fbeb30672655e96aa2b13468c4859ffdeb65a57cae583626aaa2b23fa9e7b2682bcfa5e9f1b87750fd8fbdee202976bd090de110db5c61720703307068664e4a4bffdc6dac3ff754918ee3d34c7bbaadff9c7d2b851e7f6afdab2ec9d9dae53ae3f33bcbe31c84c72cbbab53b3c49569e9f18b2fbcb8f57879d36a07744b79e08181b1e6a5cd30c1602709bd6d8ff0de6a6352f9b818187376e700db96d9071769927a3deff3804d82ad87f00e879750200433c3ac43ce5690639b4601b437dfd010f20411a86c21584a4088c5108ed8ff5fa8f73ad5fbf7e58266ed3a28d1c39d278f060ee2e92032aa005037c35810a72d948549131c1364017440090adc8b0b0441339b556150dac3d8dad924ec1ad978cfea7415a30901e40b0b79c5af6d0823e1a9371ca89a982048ce3c134ce79b1244d90874646258cc8d9f3f1271f6eded423383021384405a8b2bd653bbffbae3a3ab2eb4fb28262627179c5f1c3c16670fa227850484cb70157ee2929f86c4551529f0309dd8c9f8a29dbb373d7d6dd95d529ddd22f090e8b332ecd963a8c0963974484469fdb77d89ad24fbefcf49b7ebdaabb75eb0ed5ae3dbb3797968436c40fea3b34323406e96146d61ccc1cfb004264026334e60300b9914f5010ce347c4a1f2e48120dc604b001a68bf000002f08d18b256362bd9c0bee009c02c161896734880f212ca1650f39305f5aa8821c5e1412cbbc34861693c298f6188a0be4cc0deec0903bf20f391360fe88c38018023320301acc30a41043f04f0c403338420e8c460c17d840a8f9ef1cfef1a58a78af6140c03ffffe8cfbc0855e78d76fb243b1472a2beaf01930bc7dd6ce7ff9da95ae61ff9370a0c6b8aa42890be9293ffbfde8fd0ffe337ffeaa7cd3baebb0bc5bceae3db81f476df3d27fbefbfe1bc696883ae397d79cd1d45855153deca1dfaad9fff7da13733e82757373f2f8a9fd62f0be477cbd8c32fe13681ef4e0a69d1f2dfae8236675c92df88ac7c6c3750d0df84e7e57efabe271b3cfc8cbe50acbfcd9b5050fbfb670ee06157ec665c306bcbbecadb9ff8cfbed951977fd72d4ef1fffd74bf33f6b6e4e1f7b63f6cbffd88ca7c1b5216977fdf2b2bcbf162c9abfbcb9f994eb6f1cf6d23f36e134c37f039b9a0ef61a36326ae98280f32e4fa83a80bb9e0d3571fff3a75fff75e6a37f7ff85363551167fff24fb7c4d7eea96ab6eeffa6d8c19727bef4c8d2f5675d9a16d3148c7ab78f6bc3a2bf7c689c83bd87fdbf3b2fecba6777e5b9d78c79efcfaf3efb58910a1f84240b3e7efbd1fcd8dcf3cadf7db5e05d23b44a3cff17d97d9a6b0e37ba82e2035dc6736bdccc6c6c680c77b9825dc6e6dffd9f77d7049e91971ed458518fd72bbdff41afbefee062a8afff20012748875f7f71b581bbbc0ee2f3d1a494725cb88c6b97d9acafbf70810c36d09a67f09117320c190d5a0258d286003d635a7b1a58251299aae3d01beb749c46e43620432c158e1ca2776cb4410f2d7a01341642ad2ac174292a2ac20d614c44398a1e7881265c0d71f8f15b3d21f575951b36547cb7a96acf6e984574eb1e3da07fe4a9a7d6058754565662a390530004e4e144281c24d467c1aeba03bb5755ec5b5f7db804bee15129d15dcf88ed36b85185a14e8504be980ebec07087172200c4c4c434a8da4d7bbfde76a0f8c0a1bd50c64525f6e93a20a54b7a882b1cf3c25ebc608f2126e5bb6aa862fe10e22e37798019a683840670870dd3869cb33314d2800bcc2807963d0709e5021856ec21a78a1349104c041bf434a03d85080e33d8a3d9f8a73bb5e8e18583c208b46740a8009089957f1850087b120b33660bc00615b3c2102a9a01200df488003984003023bd48807204a7172c0120d4fc7790ffe0b894bec617fde170b8b90da829d9b4b3aec9d5bd5fdf1857d5964d3bf1e10b2bff8d7bbe78e8a955bf9a7e47a4f91f7137ffa1d1093dbabb0e97553506340504778b0fddb5755b6d4048a30aef9dd2ada9aa0a7b3a242ce8e08ed203b5c663c4c0c8aec9dd222b0e1e0e0e0e0b0f77956ddd76a82130a95f4a64ddbee2ed071033202028a1774a4463655d5300be27abf1d0ce1dfb8c53af74d993ffd835e2be5ff4c33b1f71f491b62b32a14fd790ea5a1516e1c27f3a1aeaaa82036ab6ef3e141edfa35754c0c19afab0a8889a8afad8b8d0bd5b4b0e3706e07f943d2355451dbe5128acbeaa293a2678cf96cd07ea8c2d74684be1632f7cfcf329d3fa06e0a1b7c14960785ccfa4d8faea5a90131e197268d7ce03358046c32a60003357485ce4f657ef5d503afeee9bd29292bb44050734bb9aebaaf1cec3b0c0ea9dbb0ee2633ac131dd7b77094692a1e1014c32d455bbbd22b47fb7d0aa5a70131a1e54bdad64273e8913d72bb57b64cde68d3bf12c233024ae4f9f84aa9d9bcaf67dfbf023af5ef0eb0786871faac2478af4feb7f2afaf3fe65ec56ee486c4e6c4b644c310e708760bafb4a6deb8ea4245a1befe83137c810e3e196d126674252525a81aa3a3a3411db802450068e4961cc26cc78e1de9e9e9bc084008c066c370a70bb4a22240100a6960eba1858436e8d138642f432b308c8eae75b0642441981a003df71f7aca6d3de5d27b03900e17c8d988d9a364c4b765420e5a5142a1078350e1c50fc5011c23232371e422222230841c36b8ff74e0c0010046007d308356f2145ac3c2c2e00e5fd46d8c89ef58c2c7e9e18b1931115c608cbbd078a96034be8f01d1e08bc2d1a83b83836183495165e2cdb030a62326853b7703d7450c39ec698355c01dff5f818a3342458c1c6883215fe931a410364886b9211acdd8430e2dc322202d6183b4610f80861981198a736108472b860401190d18a1a0850b7aca857f4860c6d96599b4879c39605247fe11994b4310d8c8ba3084236342e8c83f7cd1181f96c80d4318a3d1110121412848608646cc896843a234ff9dceffde6f0a5ede786aee95c975cd76fe038282835d0178f35d4d9df10440f63f0e1bf6166a7f7cb01a078bfb1387342c0cb7de718fdcd86314e280626bf170e368060687e07d82f89d77bc23c5dcb1b52b172da8cdb9f3c2f8066c08486063ecff005835e2c336981fadb61af7018d6f17c7e769900fbe5b07ef0fc4bc08cbe0aee09020bccf0537f1f03de447f67fd5bf1f7e727597917ff89fd3ab6b8d0b0b22c01eb9e32d2a46da782f87993fe590205b9819578caec9073e7be760ef33ba85e1966d33bea7123e8d0db8d418a71e6c8c75295710fe838677d73435e1dad204ad0aa8a9ad0f0fc3050a5f44602c04db95671352657c3253b363ed1a75ee98335c3b0f19e70202a24764bdffc93fe9420f42a4d7d71f6c21b0813d8cad2218126c2a08c915e4d09eccd77f7c6b375ef179928213bc24a14eb8eaaaab70d38a2f25ecc9182f6b206de7ce9d5232c2008ee8d9804129b0086d8043f4de0d5e3c40b28d69631d02cbd00a4cf15175ce252356cea8be00e46c30f340fb5f502622600ea53705ee0e66b6218e0d852819f1338edcacb850e260c01293e2d2092c6ce2358017475c4fa145e507092240083348e08b2100dc01483a30cca0a29639c87370dac018b3a047833b7bce05398f3a7a24cc47a5f042b650615e2409002f340c61060003a604808649191f1118073d8594c3068bc2eb070ccc48460418600820f129447a90a0410b6cbcea788e020c98060031f28416493214300c8021812f0043c1d83fff7084257cd16369c6eb716d6d1bf96726704410232d73b160000900232657841e8d43f430a00b8470c4e1831009430e2fcdfff7ce7f54f7be3dc22b4bb6956367e0d0a01dc7fd1fdc33b5bfabbca4a4acaaf3f77f5dc5eedd0762fb9f12575f8dfb82d884dc87e8b146f4fef77f5c8f9e8dbb4b0fd41fb9fe70933308301aff03838d0d8c9800d0a247e310bde3fe774577ef155eb9bdac4aefffef7dff7327e8eb3f362a5fecf80a8bad8bcb357632f736aff91076cafe3fa6d7ff534f75ff3e2ab3c5125035a222c4122041c38ab834ac050dc9c0a6acac4c4a469eb330930633c10494881c800d5a0fb4ffc5d4222236b23185be00e51deedb57325a2f5bc03224267dd24348120560480981634f63320e03968c00601c2ac881c120160c8073123d3058839642682924d1e8710d25b6da2020cc28111b00d9e5c0988e3d76bc4c8159240d0831840d7a5ceb310446e3551b6513e4386720e174c0b06134ae11430058d20cf93008a2f134832fcf3a44403434a40d21002c690f09301a2ce1c5b4a16226321d738023548c06179ae122cb4a1199b3da6356d07246d8034328b30368fec10938d4fc63939c14fbbf39242131a6b972ffbec3c69b83f5fed7fb1f3b9f57e39362ffebeb7f7b5e7ff7ecd9632d19b14ff06281de57132d017a0170919d064c157a0889096cbd0cad00f8685ae0f4e9d33be0cf4a028e00c4b6de7b68d879ea0f5c6d39b40262f456803a1dcf9d51c7602ed42be849222b185448100203480f1bd8732e7ac10566e8218425d9870a18733114864c89bec0504188065f0cd143225a78412206628c59980cc3d28b66e861c6c88803030cd9a082dc6a80ba0d36708719e4ec012064fe54a1e710172c44407588804c809121e4c2e14b1766c8ca12d130841c8d1b1113c11d5e1c0203c08ceee8610f09cc60032d1ce9223d938416000d069c023d5de04e15dc91244341022d1ae622808a668800097a48440b2f48c4408c310bc2428b265e34430f3308190706006c50416e35d0fc8319f2a6f93fb2ff9b1baa0e1fae317ed659ef7fe3c4c7dee0e9acaf3f3c59f4f5073cf02a2d578f93f6fa7ff8f0e1ae5dbb82073020db430085e80920e7a9c4a12976778c20720e7dc5b19ad92ce97294bdf12aee1d428436c0217a2b20c60b0c005f6608bc7bdaf01508d80a4405200d11366cd8d0ad5b3700b009397a6034e48c0b167a0601a00a7c514b1584649d6584082147832fede1428cdb060028a7a41862341803a02107961a30833102c2d20ce6be17085f08d1b80a541eb0a48473c118005758ce427baa181337fc38057a34ba73760cb91008e1881e8e008c061b1ac38c33a2873d0c243e6c903684488f53d392dc02c35256c4c5726aa44d1b0e61c9593023241892224ec4985071b18c29f610b2317f0624d6fc6bfef5fec78989731067044e19ebc905cc53123db4fafa83eb0c78b052a4af3f7265e645585fffb1434805f7065e7a008ecfebefdebd7bf1441bd3795ef18cbf38a9290160325620c604b61e0ba10b7a6068d9041348ef08203c9ae6ae6fda128267262c096c3d86221120614da551581038f6b80e8a5c30c095575e297134d00c680634039a01cd8066403370fc19282d2dc5c75ea5d463c526051cf2410d83a2050d1f8a58bc7831861062084b9637c0b09752872e34432f66005c9d0831a4962ec4b65e54f43d167d9b4a46aea7edd3c39e2e04be309767b0eb291689ad43fab67d6a6da919d00c680634039a01cd8066e0fb6500d50b8a191694004c86451e86006c2c938009682698720801dabe1cb8b7cbbeed91ddef2a6bbb03521163c104d61e36d6a160006b637548636268ad0058a6d34033a019d00c680634039a01cdc00f9f01542f682c786c00c95b4b1d6b514495adb70d610f8908bd3125c7a2f757324a5a6d9998c6e2621d02cb90d8bbb7128ae9604009fab6ccae6d34039a01cd80664033a019d00cfc4018901a86f58fb5c8f12e814482e48909a417c06818b6a5b5cbb82d01fd958c6df1878d2d270ea5b7022ba6232468de5442c2066d1bd3d0663f5a06d2464c9c3c717466e7ae6fc4030b9e7f62c6f8ce0dea1ced98e42f53654ece9b913b3e5bc61d07de79664f7ce2f9e71f9838a2e331bf37cf4e3dbe27300fdfdb01d0136b064e720658db4825e358eab0c2416f05560c0e6568e59342abe4f8e00e968cb63548f656b9b710120a09d8931160304b2d01b5c0c787886335cbed4afdf958c53e49e2e6cdfcc38471e3072774ea72b3cfc91e989a9133b28dd5d0888979b31f98dab1baec98e42f64648fbc7e54ce35233b969a443180779ed9e70fcb484d1d9e734e0bbb1362d0cee3eb7f4d27300ffe17a6b59a01cdc03163c0bb92913a87a50e8b1cf6c84286c4cc4b2cbd8522a10ded8f75dfa68fbf4812de9989448018035068eb6508e0ddc8b2b5b7063cf1f070a5062885fe83132ff71f42c669e3e78e4a092c5bf9d4b4824e4da7b0f0cd65dd634b96b631ea59c32ece4a0d3a943dabb0b07d691cabfc8f64515f0bdc607c71e6d134c73c0b5f7de583e48b0e7ef2afa389fcfdf8b6f3f8fa4ff204e6c1ffc2b45633a01938660ca0bc4125838fa1486ffdac34b4989925103fe3024c40b9f4b6046946aded332ea2b2b974e2b0f592114958e79361ab8006e8a5719132048084d5a155482c55a375f6130f1bbf56a85b8719189177d310d558f2f73be67738840fc7c25953da51fdd535e0cbbd1adb5f971dbbfc3dcbda61fc42e691efe1f488dbf9d7479e1bf3efbd23bf9da17e20e6ed3bbead247d02f3d0cacab45a33a01938460c480d63ab14a5c2e117af5a8b1f64c221012b48e945e81f406b35e0b0b37a879211197738ba75b50cc268b69e66d6de5a380a0640eb70326d72bc56293c3bee62daa22af840a9df9a92714afd51a9494af536555f2835c10478ca8c5b86788986f1eb4acdf44c3245a94bcd38b8e753a9d4574a3da6549c5261a6417fb38f50ea5ba5bef31bc713ef04fd3b3a77f60d9764f6880f55b5b587aa1acbd7fd63dc4b518b675fb5f9d9874b06de38262b3554a9b2a225b9374fdb9839d9596e59f9d8d993d223d4fae71f77972d784bd91d576724c7d3a46ad7f22957e7ae320769a3a7cebc6d640ae6456bac2a2e7c76dcbd0b3327ce7d706ce2e2d9f9a7df7ad350d36bffdae72f9baf163ff8b35855dba0822ad7bf3126771ea3295ff9a46566c746c685195559d77e23f08eca847055565cb06aa352bef3614c4bfed97316e70d0cdaf4f0d593e4be6676eedcbcab52d73cfd87290b574d7c60c198ec81d1c6beaa58f9e6e377ccca579913173d38a6e6b3c59f045f78c3f0742caca264f9ccb1b9ac73b327ceb8edb2739213638270d5c18faabbd7307acea2db86a618fc3456957dfada6353e619b339f330c9b370a52c791a813227cf7df067e9c60e37be085815bff1a73be6b9cbeb23f336d456d53596af5f3cf6f9101cc75dafcd74db18698f556b9e1d3b65214239accb399f459f865d3cbcdbc1457f18379f4714ec4e9e9b37c6cd8f9156cb3671eee2abe337af397cdaf08c845dcb9fcf3f74fea49cd4da5dcb6e9d59f2a0f3f1f5c767cbd8ee914f1e5a3bee8ed1b45033a01938a9186001c3820f9800658f155bab209083a11488c4562130b41de350a275cc5dbcec2523e28ace17f06523720219220eb0348695a1009b19e5c7b664bc41a9bbcd745011562875ba5229e6304a2994772819d150fc0d522adac48f28354ca9434a7dae5496522837372bf50fa51e546aa4c7186522aacc9e4a3d603e9236c5ea0efe51ea0da5a629e52b8ec7ea04fd3b7ac6a2a93960b0aa78fdba86d83ee9c9f1113d9354a4ea12119d3c693a08ab282da9484c4948cf7968f63757bf15e52c9fb2c8bdfcccdc0959490a4580a75ec9bbfd868ce4d05d452bbf2ca988e9d53fbd6b50a4699a3676f633776605aadae2b5cbb61e0aee73dae06e7d92a0898c8a8e8e489930fd4ea56a4bd6177519981e1115a50eeeda575eded8a0125393231271a43d2dd2399fe53d7f393ad5a817d1b2cc550094beadc6cc2cf0958f698bcaa845fe1bf7350ccdc8b87e6a76c12c77d5f78b9143a24377ad5fb86afcecd78d9556942c5bb973c00543878cfeedec9275537674e982dfcacc99906ef056bc2b2c392565e81d3346174ecbcfce5d30ebba81585469d1ba8361bd06a62498338e58b074eac00854e4cbbfd81174fef02159e3a6cfad2bbb63fe2a671edc59daf334c4872bcacbcb15380a8c4d494e888f0aa7adf7bc21895d707c1323a26b3d362ab24b627444208ebb52ceeb5ab4d1299fb0ff6c38382a3d75ccc4c9f357b196cd1c33cacd0f67b7f551e1b1f1a959c3511bd736260d1d87ffdcd5d63686269d7545e47a1fc7d7279fb6c847863e7868e5b81ff1d74833a01938791940f522e58d00d021580039922180b0062c45247d1dab469a899723688b8da3a355682f19ad3a2bb6aec12687ca5b4b89a939b27838dae434f0eec1b5d06d9dae93f12d66bc87ccb2cf3174ae79df718d52e0096f491c66decfe1270d70af718e52979b370e512fe2960c5eb5fe639a2d3663cd360bd0f16605f98252dbcd3b8e5ffa8e83d2f3846e99b9b7a35e6c2c7deace31c68da2b4dc25cf5d67fca262a5c10ddafafc59b7e2e65976de87b346250e3853551e74962b77c938e3eeaba255d5db7370ff962dbb6f22eeb5edff32ff9169f9b8c5272dedce9b8c7a71d923ff25d5a6e84c50f6f2d42be614a63df3d973e941c16ae3c2496371032c6dc187cf9d6ab5f391e7ab33ef2fe91d7ff60d93b2928356befcd8d29d2a363474d73adcbdf3958f3ba82dff79f3dfbbeab1ebd22ffa45e6ac42839e896332a255d9f2fc856993df41bd58553435e766a396cc9ef1e1ac9ccc4baf5073dd718a973c326eda22953675e973a31353d3e179b7512fee7f79ea6573e0e0e13973f218d48b15452f5f7133f6a552a31ff870eaf021632666ca5d3bd59207777865cb13e2550bef3518424bcb5dfadc85346dcd000040004944415475263232769cd7b8a76e6d324c9bfc73c7752d32d3335c5ae45330f3b9eb874f4fcf18959b396f0e081afbf321f16affda779888750637362f5d45cfdffbc9a0df4dc888dfbffc915f7d7df17313d22295cfe34b473b9f0ea1dd22671e5a3beebee3698d664033701231c0c206950cd6ccb28f120ca5e6114c805e1a6dacf5a25545dce1f25142b517b8daeb20f6588f602b10b91510a39706176202198a81006bf04ec6781ebdd777bdf8a4e7332b78f15ea054863939ee3e7eaad40aa5fe640ec3cce7d4804bcc7a11007719d9503ebe821b36e6e0037396bf9b36bee278fc4ed0bfd9d9288154c9d27fb84b94d810f7ad39f3317ec5dae78d7a11adf03f5b6a55607c9f11bee5b04a9b3837272574ffca4533794bcef47c7f458952f139539ffb78e99b0b66e78d4833a44a5d683c732e5bfda4bbd4a4f048bff2a9e94669a536bef8c4138f3c2d9fe4e88992a3e188958190b0779ea9ab0a16e52fda5989fab6b6b41070d1c2850b0b50d3a8421ff918a11cf25f35676971958aceb8793cf24ebbedca2128fbde9db7509dd10b7b4a45a4dfb774e9871f2e5d7a5f0eeae2d0b048c8904f63e912a35e448b353a249176e199b8a9b86bd9b3e6a22077f39c3db80ff46bde7dd3b043cb7f173cab903018b339f2e090a7c7def8eb090ee86b5eab790bec7b5d34f3caa7e0a9254538be23ff07ff515379979f8bff9f7df4829ff7b006aac6e2a7e615468581b0b2d77317c5461955a4e7fda6cec7d79bcf1639fb1a5878f07fdc7d05d072cd8066e06463406a181b000f90b0b7029a59e5626905c0d6c60856c931c5c645b68dcd7f66b25a46a3b1552898c0d6c3cb26c190371adb985ebbcd70d7104dea1a6f7fd47c6c28f5d06e37fb6d4a6d326f3a9a23851a862dd803ba7980f5afe5f9a7a281af3856af1310870a0f0911782547d182068e7716e101bfd9d2d2bae18d8ec51b709bee1e1f72a546e4dd607ceae5c9969f7a5974efd8ef46e7de7c6df6e0d4a48159a306665d70cef4cb66169b617d1ec7aad22f8cfa0ead60a1cf3b5634f09527b5466f1472479a733e58988ffc67bdb262e4d4e1832fbf316db3ba20013716df9bb751a50d8f065155a5eb576dae0876b31754bd759d52e908545b5975643e93c99e49a8ccd5c19d3bdcf24837cf214148bfa17abfdc7f0d0f6a51143bf2e0ccb37546c1bee615034f3ec1c8c3286d137dad8b860ef914ce7ab128677afac04b268fae3b2f3514e59dfb19be7d0e8e8df59af734718b795f91fde038fb78f3e96ce757eafbb8fb75d34acd8066e0646280358cf5fe228b1c70e05ded402296bc77481b0a8536118ac40618c726ecc4613b4a46cc8a6cac73db86de0634e622c5915e2224f0d38b6327037c0ca5d6fcc0ca70cfdd44db04d63a0f2a5490b7990f97ef6c6997670e0f7884777900ff92e0c316a1af38169313121a0fa1f1b4b9dc4c3efb893b2fc24bbaa5b91f588e9f7cb1714f70ff6ecf678ebce5e6a73142d5fa973d9f7ab14459953f07ff50904c9e3d735c56ca05974f5477141dac5549f103c7662bcb2d49f109b4d579a23040435d8ba13170c807d2101e47b7f28893433e05f38d4f9338e69fffd4e7e3b3b392873d9e87faaeea8317b110b5f18b4d5513864484954f9932e5485ca0cca9e8021d4e5043149b8877cba265cece1d469ed77cb373747aead9978e47696c68d24eef02456d43b5314073e0c1679ef4b0f7cef3c20a05a2529c277beedd971a15b09f75b9c33ae483aafea925d7cf1a9d3e6eea38445dfed6736e5bfec91e3dbe67f5c24546496e6f264b5e07c7e1f83af1e909e627bec744fe3a1e77d16aa019d00c6806fc5735d08222da10086314b27014216d6c42585a25b6a1d5b7b3b0c32b52bb422345ae44bcb85a0ead5a6f391dc58606debd44ee7cf0ae5257996f49c4e3cafde6c75cf0c287bad0b1a1d44395897b93af9b4f9c7b998fa4510bbe645a5f6d3e92bec0fcdc0c04f2c813377de08262004f65cf356f4f4ef611678ce3ac278cb0b0684fa34a4fbde27773632f4f3a2f2bd978daeae601254597cc71795347763dedbca1e909b8c7687c694ee6541f72f7a746fee47ef2ea61207bead25957ec5dfbe98aafd6efdca7ba754165a22acbf7e241e18bef174f1f953a6ad692ee4bfeb5e14048dac0c13daa978dbd639ec7d3e7dfd06e1933f266a8ca4dd3e6186596733ea6775171b94a4d1e963b7bd75b5f249d7df1a0e0d5e35e8f72cec7f3a9177bfe469c8d4fbeb33a6bc290e8683ce4fe78268b9f55733e28be7c546ad692457316e7af503dd2cecb1edea772498e514f5a5aa41b17ae29ae1d9d9a347cc2130f9c197556766abc5131e2932a05b3de9b04f9d0ff5e3023eafd4d2197fffc1a94e6251fbc8567f27cf3ad259609fde569b7c5d8d7bc344dcdb9e381e04bfb670f4f31ee819acdd7bac6cdf25838fc75df68c4e6a958f7fc429c3c9e9636f1f55913f0999ae13daa6f3eb2315ab97cd98eaf2796f9d7c3a75be81cbf85877be0731f3a196b9966403370b232e05dcc8884f70e31243756004c2d54563986521d8a8d488e1bc73eafb9926b1b53b1d9db86120472511173480c33110a10dfce07d370fbc8fcb0f3484f6ccfe353cfb8e55f5475a817fb793e670d256a4dbc61f132a5ce56ea62b3e87848a9c99eefd681c13d4a9d65568d779ba1f0d16c34c738a6e604eef2a7bc7ae9ebd765240d199ea51acbde7ee495be13279d1a8617ff2a9462f1a94347a51a8bab2a5bffecf45bcd77351a259ab77c76de7528a8f0a9174bbd60b25258b4b96ce4c08cac948c2cb25455ba72c1342352c1cc7149c1cffc774efa909ceb8698ba8af52b68631e120f6cf9d7f8a6c5f8f49c51e9aab668e99c8528ad1cf3a153feb405179d79cf90d4ac49771ab3ef5fbb5af9c867f6eb9f39e76f06da387ff1da314332a21b3f7ff5c82db499e366745d94373465e8843b879a56b5454b4a94ea817c1a6b3cf7412beb704f3c14b7450b663d7d51fa24d0307c38125996bfe6b4d1c3cdfa7ce1d5d3935ebf67f4c09c7103cd2825cb9e1f3b934c638c602d9a4f9e5b5859dc0aa6b598f7ed75678cca8ac0f563d5acb7d6fee4ba8ce4e1a39271dc97bcfcc539d7e5049969fb581727b0e7e399b6207fc5ad538727172f7dddfd7e028f8297aa20f366b6296b54b5350075e044fe8766c9d7ebf8d639f3e933be47e19ecc33f471dc3d6afd5733a019d00c180c480d23408402a0324c3dc68e25a0d888a5a319b5de3ddcdb65ef1dc12a09f0ce866a9113a06783d6038dbffc34107a340ea96d6c6c04400f7bf4d0a22720468f2f7d133955a689bb830aedebafbfcecbcbb3667c4cf028a5c2714fc6f31116ff73e0951a4f050f28f5b6c50e42bc6e5b2516a5f1558e5dbde23bc6b17a9d80382d7bc419e1d5eb0a0a8f147c9953973e367aef9247c63ef75d66ecc155c6f7199acd877cece4dcae8757cd334a38a796963922b57778b8aa2e6f3189699a3662442a8e63f5b6e24299c52986b3cc473e56e3ccec11bdbb84976fcb373ef3cce6954f2bf97bfcbcff1ad4f50cafde5f5e50e063ed161f18a786abe282020f9ba24b1b31fa0cece516498ad202da926766ee33f8907771fef471b3dc8f838fcc6b7e983ab038ffbfccbb8660065f57e9948f6ad7baf036d0e73f9c9e1a5432eb2763a5da65d66923c68fe8535b307f91d7922dab3a0ae827be370fcaebb81fc5ccda5533a019383118282d2d8d8989c15773a308c357e2a247c310d903a0671584d2a5baba7adebc79a79f7e3ab4683096661d0207050551829e00960408088cc8ec39177b18408b1e43694c834362f48e80f20ef43eef32762096b880352b66116993704815ed05db80381e43e0abd4739cf20327a9a3500c1db58e42713931c1c642ef22c6f8f84b43d50eb57195145a5c9ca37cd13cdb13d996446c5c55b0d116460c363a5450a26c0370ccc7eab7aad0fca8b455e4954f2bf95b7d5b6247ea5a9a1c19f936de58d0e21b888eb8d890ef3c33a7cefe79f0ceeff6870cb874243e8253f1d5fbee7a11118eccdbf3c8ed3ec8c18c2dbe0c8fb888c801a48dcfbd26aa4e0dbe7424beedbd28ff695bbd088f8d05d607d50e218e52e415df1f0fd8ccbef7e15126a2dd35039a811f0303b64a4686589b15cb50d62c5a147f14422258ccbe17d04ac98844fda445ad2f1b9bdc7b08091ba6f0c0231211fa4940ab4e080670abb9c129515f7227dbe321fba1e5733cd6ec3047e4a00bb25203b34c4dedfafcc7673996e89587f1a03cc8e1f3430e11db204a1d79dde814d3ae64f9f3377b6e6ab6c1f1d899b48d876337bf8eac19d00c9cc80c487983457857385689b51c84dcba680cad5a5151ee4b4b33ff5a09d52ed0ca83694c2973037348801e775f05e371322c29416f6d50c10c3d847cea2c80436b2f2a023c989e366d5abb96a48d35039a81a361003f91989ad0054ff8d71de56ddbf624613ef4570e6f37684f90ceb5fd5e78e8dc25e8689a01cd402732d0ae07d38f3efa281e4ccb53662b00b635db236994893080d0da20c410cb810a980d120f346e495a3187d25b0170c75a2b77191914055f5ba2b37c74b47454f9115285de319a166a063403c78e818dab2c6f453d76d3b48cecf0d0bfa5c1f11f7d2f3c1cff65ea1935039a8163c48054327eaa1ddbd4b444e5679363e847653386a563049b59078646c5dab9cd911a4e41157a0cd9dbe456035111e85e33a019d00c680634039a01cdc009c140bb8a1cefe2c7ba466aad92ef0b777ec9c895c80aadacc92229a48d2f033f5a89a381664033a019d00c680634039a811f1a0352c3f82f7290b62f03aa1cb5dfd762dbf4609ac975206f710110ecbd546aadbdb78d969cbc0ca48d9838a2cfdee5f3f31d3f87d1415e463cb0e0c62edbdf9b346d610703b4dded98e42fd3674ecebb32641bbf5952841d02ccb3b4ee8cb3fbabfa7a151c5cf9cdd2398b0adb19abc3f964e7ceb8a8ee9b7fce5bd42987b9538f6ff6c4276e1b56fed173f7cef7f9c1f076b2a4cd35039a819388016b7943ec6bf1562d707b9f2f77c0c557268ef276df654442d640d6e559e58e98c68c608b63b3174b7c08c6a63ac186b72bf5e7132ce51f5aba7933ff3061dcf8c1099d9a57f639d903533372468e685bd41113f3663f30d5f967545a8b704cf29749b3475e3f2ae79a911d4b4da21880799e7fce25a3727246a1e5e45c33bafd613b9c4f76f6353939d78f966fd56f915bbb07ed3cbefee3679f3f2c23357578ce39fecdb45633a019d00c0803a85ea49211a137908a88c6de068e126f63c67134ee44613bee32caac479f2bd7c638124d804cf46300c3cd9f7e41ffc18f6135c77f0d69e3e78e4a092c5bf9d4b4cebdbf5358f8e6b2eeb1254bdb18f5ac611767a5061dca9e55d8ce9b6ec72aff2347a21e5f76a31aea8f083a8424cfa979f3d39e512a75c682e9398d1d09dbd17c2a3beae8b8de761e5fc718222c7cf5950f922f3af8097eeb4937cd80664033d04106a4c8f12e7eda753711ee567b0c919055d2c1fcdae0d69192916199a5750a6f8955eb1f8b2f80adf977fca16b1dbf90f0879ef40f27bf1179370d518d25c66f5277722b9c35a51dd55f9df1f3738dedafcb8e5dfe1e3a7618bf28882f213fbad622cf8df87d9558e3671e3b12f6e8f29119d3f0dddd47b5a4f61ddf56a6da987fef1dde5f2ede8a93566b063403273303b64a0643b221a003e4c0d7561a7a4b3a10b6ed2e1d2f193187e3ca21b4ca6dc3b667769c2caf550acf8ebb98b3e14512f7027f6b4ac629f547a52629d5db54e1b7a12798004f9971cb10af6c30c6ef4dcff4a43945a94bcd38b8e753a9147eabfa31a5e23c3f36dddf34c32f0a7eabd4777ee378e29da07f47e7cebee192cc1ef1a1aab6f6505563f9ba7f8c7b296af1ecab363ffb70c9c01bc764e1a73d5459d192dc9ba76dcc9cec2cb7ac7cecec49e9116afdf38fbb5faef196b23baece488ea749d5aee553aecee51bdfd2464f9d79dbc814cc8bd658555cf8ecb87b17664e9cfbe0d8c4c5b3f34fbff5a6a1a6d7feb5cf5f365f2d7ef067b1aab6410555ae7f634cee3cf784bef2c1b7f3c546c68519c54cd77e233295c22fe3951517183f49e83b1fc6b4e49f3d6771dec0a04d0f5f3d49ee6b66e7cecdbb2a75cdd37f98b270d5c407168cc91e186decab8a956f3e7ec7ac7c953971d183636a3e5bfc49f085370c4fc7c22a4a96cf1c9bcb3a377be28cdb2e3b2739312608dfd0855fee76af61f49c45b70d4d31f869ac2afbf4b5c7a6cc336673e6619267e14a59f27407f2f1c7393e8c7de4a31cf6c394857e78abab099e3ce3993139f6f57ae73371eee2abe337af397cdaf08c845dcb9fcf3f74fea49cd4da5dcb6e9d59f2a0f3f1f5c7a7777c483227cf7df067e9c6998edf360d52c56ffce98e7926fdad1d77c7685aa819d00c6806dac880ad70e2d0562c2214e4dec2364ed131b3a32a19fd4ce9bd60abb14d6b551d577c8352779b13a222ac50ea74a552cc6194f983d12819d150fc0d522adac48f28354ca9434a7dae5496522837372bf50fa51e548a6fc18231ca445499f811ea07cc47d2a69fba837f947a43a9694af98ae3b13a41ff8e9eb1686a0e18ac2a5ebfae21b64f7a727c44cf2415a9ba4444274f9a0ec22a4a4b2a125312d2731e9afdcdd56f4539cba72c722f3f33774256924211c0d769bcd9eef61b3292437715adfcb2a422a657fff4ae4191a669dad8d9cfdc9915a86a8bd72edb7a28b8cf6983bbf5498226322a3a3a2265c2f43b95aa2d595fd465607a4454943ab86b5f797963834a4c4d8e48c491f6b448e77c96f7fce5e854a35e44cb32570150fab61a33b3c0573ea62d2a8e16f96fdcd7303423e3faa9d905b3dc55df2f460e890eddb57ee1aaf1b35f37565a51b26ce5ce01170c1d32fab7b34bd64dd9d1a54b747474ce847483b7e25d61c9292943ef9831ba705a7e76ee8259d70dc4a24a8bd61d0ceb353025c19c71c482a5530746a0225ffec58ea0f3870fc91a377d6e5dd91df35739f3e0ced29ea788bd80cff83ef251cefbc1f771446d163d70d4b8815c6f0f59af572686202a3c363e356b386ae3dac6a4a1e3f09fbbdadac6d0a4b3ae885cefe3f8fae4d331be213c5c515e5eaeb0570263539213e2a3f0dbdd466be5b8d348f79a01cd8066a00d0c78974390881fb5c7b92e94d9bdc1b12a19399375e590d8a8a1566ca8b5d97867dc99925bcc600f99659f63dc5cf3bee31afc329a59ff0d33efe7f02301b8d7881f43bedcbc71887a112f7778d5fa8f69b6d88c35db2c40c79b15e40b4a6d37ef387ee93b0e4acf13ba65e6de8e7ab1b1f4a93bc7ccc7adbfb4dc25cf5d67fc0e71a5c10ddafafc59b7e2e65976de87b346250e3853551e74962b77c938e3eeaba255d5db7370ff962dbb6f22eeb5edff32ff91692d7e4639edce9b8c7a71d923ff25d5a6c7857fcb5e9e7ac59cc2b4673e7b2e3d28586d5c3869ec42e4b7e0c3e74eb5daf9c8f3d599f797f48e3ffb864959c9412b5f7e6ce94e151b1aba6b1deedef9cac71dd496ffbcf9ef5df5d875e917fd227356a141cfc43119d1aa6c79fec2b4c9efa05eac2a9a9a73b3514b66cff870564ee6a557a8b9ee38c54b1e19376d914a9bbaf4b9d189a9e9f0bcdba817f7bf3cf5b23970f0f09c39790ceac58aa297afb8d9fc91eed10f7c3875f8903113338d83c1d692078fd496a7476cffeb33fe07673be6838ad9793fb4c69b7dbdf6443c63f3d255f4fcbd9f0cfadd848cf8fdcb1ff9d5d7173f37212d52f93cbef46c6b7cfc70f6c27b8d9d829696bbf4b9ebe8deea71f798e9bf9a01cd8066c0cd807779c3ca873d8dbc8b1f487e38c5229374fd100ea9235314a23f8619e279f45edff5e2939ecface0c57b815219662278b8fca9522b94fa93390c339f53032e31eb4500dc656443f9f80a6e5498830fcc59fe6edaf88ae3f13b41ff6667a30452254bffe12e516243dcb7e6ccc7f8156b9f37ea45b4c2ff6ca95581f17d46f896c32a6de2dc9c94d0fd2b17cde42d39d3f3fd15254ac5e74c7deee3a56f2e989d3722cd902a75a1f1ccb96cf593ee5293c223fdcaa7a61ba595daf8e2134f3cf2b47c82a1274a8e8623560642c2de79a6ae2a5894bf686725eadbdad242c0450b172e2c30cab0421ff918a11cf25f35676971958aceb8793cf24ebbedca2128fbde9db7509dd10b7b4a45a4dfb774e9871f2e5d7a5f0eeae2d0b048c8904f63e912a35e448b353a249176e199b8a9b86bd9b3e6a22077f39c3db80ff46bde7dd3b043cb7f173cab903018b339f2e090a7c7def6d757fc5ebef2f1b91f7cf2e6b85e5b1a9661a06a2c7e6a5e615418082b7b3d77516c9451457ade6fea7c7cbdf9b404f40d3d249b163ef3f7edaf359a01cdc049c780d430b63286f213940ee3227b92b601e6baa5aef16601351f1b4a3db4dbcd7e9b529bcc9b8ee648a186610bf6806e1e60fd6b79fea968e02b8ed5eb04c4a1c24342045ec951b4a081e39d4578666fb6b4b46e78a363f106dca6bbc7875ca9117937189f7a79b2e5a75e16dd3bf6bbd1b9375f9b3d38356960d6a88159179c33fdb299c566589fc7b1aaf40bf76db68285bc65e44ec4fb8faf3c8f581a85dc91e69c0f16e623ff59afac183975f8e0cb6f4cdbac2e48c08dc5f7e66d5469c3a3415455e9fa559b2b82ddec05556f5da7543a02d556561d99cf64b267122a737570e70eb73cd2cd734810d26fa8de8fb758b28507b5288a1d7970e6d913a1c55f5ff1637ce44367c7fde0cc5b99e1e1bdde1649b41818ebc5db860d566af715e17d082db4ce83f6c4778e00a973fec671d74d33a019d00cfc9819f841dc65fc7e08c6c7506acd0fac0cf731bfb5ce83092b48dc56bc53a9c99e7f78fa6c3c7c55ea80d9a3bbcb03f89735f9618bd0571c8bc909094d1e2a0f969bc9673f71e7452dab38f3c55da9f1932fc63dc18afdbb3d6b74901b9fc60855eb5ff57ceac5638abfabf2e7dc31eeea9f9c7fe3f3cb8c3b8e175c3e516ddc7c10c7317ee058e7ef100cf4574a34d45962133ae40345088fa35b79c4c9211f7e9ac431fffca73edfd518983cecf13c9053f5c18b731068e3179b50154684954f9992eb6977dc3bc7bc238b6ac8e1ff7486283611ef9645cb9c9d3b8c3caff96627ee4e9e7d29de0961b6b4d3bb40d1d850ed1e3bf0e087673a355af8f115bfd678d386433e3c2f7ced0747de10c769bdee05a8ecd1e3c78ef00c5afe3559f23a382829edc7b783f15bce8691affcbd0cb54033a019d00cfc7818707845faf12caed595bcabd455e65b12f1b872bff93117bcc0dee6c30da51eaa4cdc9b7cdd7ce2dccb7c248d5af025d3fe6af391f405e6e7662090479eb8e90397297850a8d4b9e6ed49949b8e71c6f898f704111716ed6954e9a957fc6e6eece549e765251b4f5bdd3ce0716a97cc71795347763dedbca1e909b8c7687c694ee6541f72f7a746fee47ef2ea597ff6d4a5b3aed8bbf6d3155faddfb94f75eb827b73aab27c2f1e10bff87ef1f451a9a3662de9bee45f1b0e84a40d1cdca37ad9d83be6793c7dfe0ded9631236f86aadc346d8e7103d2391fd3bba8b85ca5260fcb9dbdebad2f92cebe7850f0ea71af4739e7e3f9d48b3d7f23cec627df599d35614874341e727f3c93f7a556cdf9a0f8f251a9594b16cd599cbf42f5483b2f7b789fca2539463d6969916e5cb8a6b876746ad2f0094f3c7066d459d9a9f146c5884f6814cc7a6f12e443ff7bc18ca8f737855cfef36b509a977cf0169ec93bd7d2fef274cf15d13313fc04abd2a766cef7157ff19ac1939df2f1b91f7c1e477e6d8167c99ef5bac769135f9f35019f691adea3fae6231ba395cb97edf87a429b7fdb14bf85877be0337f27632dd30c680634033f22065ab9e6fe8856eab49469e63d427c7805ffd83c8f4f3de3967f51d5a15eece7f99c3594a835f186c5cb943a5ba98bcda2e321f306246e46b2dda3d45966d578b739c647b3d11ce3989a13b8cb9ff2eaa5af5f9791346478966a2c7bfb9157fa4e9c746a182a47e31bfee253878e4a35165755b6fed9e9b7f21e9aa37c76de7528a8f0a91779c2eae6a4b06873d9c8811959291959945495ae5c30cd885430735c52f033ff9d933e24e7ba21a6ae62fd0ab797fbb3379e91e5aff14d8bf1e939a3d2556d117f6ecf311f7ae44f5b70d199f70c49cd9a74a731fbfeb5ab958f7c66bffe9973fe66a08df317af1d332423baf1f3579f935c668e9bd17551ded094a113eefcffecbd0f5454d7b9f7ff28ff044402824544a899714d934942e26883e6ce5896764683be199b40e8750c9686bcfc42b9bcb39a308d8bbe404bb410efe265a959fe947a259076aac97572136f3234fcb4e39b541b48a2812654269684445a0944117090497ecfd967ce7060ce1951411d799ee53a679fbd9ff3ecbd3f6712bfee7df6d9692cd3d5de8863a8f3b13dee4bc238d9c0308ea586e1b099bdf23f56a9f211437a3a36e498edc3bb8ce94c9fd76d284b38f49c51adc735c79c751e6bc8aee049e315061b63b29c3d5e5c7511510a3d3e36b7f34f157b3b402ebe4dba3d72bf07c707d2cf516396eeafd06afe7f55c1fca03e97e906d7253c0d2313efbfd044ddf479bec357195fa8989d47f1c93cf731de744104880011b81d09ccf07d3193ef269f2f3ef27bf7f16f6ef247f17e3898e62ff9c4b8a3dbedc61c3c8a13f8b1333e13137c91f8c817b5b5b53dfffcf3534e3e03201cff8e15669ffdd7877f53e3ace0d70087457e98897f6f8b734485dca71ce7fac4978c23be2b00d34a9de19ef0a156bb6354f0692c4d3b8de71a6bb2eb4f6ba2cfb770df336426939f5d609e7bb16557dde8b2973118941a83626178380cf58ea984f9280d06053ec7a1cf9d0e6f2d636ef67b21d31ef13d1a9d61616c78efe7366ecd336f3eedb942fb85fb7ccf1cbac4f0a1be5ebb5da6efa27bd059110e4ebb5da0e92d531a8cf7e06f794c23bd85a2c4b5b6533abe5c7b247e0f7c1b7cb8899a269d541a720cc92efb5eab4f97a5fdaf36d74f7c8d793f2e7677daca4c95fcc830ae42f2f33bbcda9ac99f081081c020d0d5d53567ce9c993367e24266fc242e1ed1f0125b8f093ca234e2c5cfd0d0d0f6eddbd56a35baa1031ec7597030f7515d2ce2137c9af7e1fdf1e86b7c7598cf55cc4c9cc60c6c03e678dbc3e7f0476f2626aed948325e333aba7162043496a33b8d5d368bc9f33d42e12eb97ca1fc469f6fb5f6dce8fe537de308682c558f879c3ddd17ba78cd5a6d5c58bfed67fa4aef3f15c6f9d225112002d3800049c6e93d313d0d7ee2b7421771526f44aa1d72f952be3722ef566bcf8de833d5214b20f2de155a45909695bbda6c2f925e944545054480084c0f022419a7c773be89bd6ca95cb5bc52a27eb97c09d71b9275abb5e786749a2a9127e0282bb228e262f14d8756891700e4efa31222400488c06d4a8024e36dfa60a95b4480085c1f818e16d12bb9d7178aee2602448008dc0604b8d724c98800112002448008100122400488801f022419fdc0a122224004880011200244800810018e004d4cd3efe09627a034e41992cf1ddf6b9b94f5aaba9c925577c2e5cb101232f07153b5d53169fdbfae761ab6d66e8afde28ff9a57593d61e0a440488001120024460f20890649c3c9692919e06b813e019c932ca9c1081928a5f66a44063c75eef67a97d6f33e495ac5a74f98d2de33ee4e3eb08bae53fccd0b3af8ae3c7a055972751324ea49d120de2b374cb746a45903ad8505a277cfa4fd6970a8800112002448008dc780234313dc5ccf17bddabd9d682535ccfed1a5e99b3232325a8a7b9aed4af92ba7fe56a6dfa7a9df4d67863d8382a4d9b362ddf54d688bb9bb8462e8f29bb8e8b09b653b60687e3f563cd471aac7e7b297b37151001224004880011986a0234ca38c584253f4838c575de46e10d254f2c057727b727b55f1be6b687734f500076e0fe21d1dc3686dcf6cc9363136da77c6d8ecae2c99b2297af864a88001120024480085c1b81692f191f03c0b9e358460f45c41136898c392600dca7301f60212bc2bda17359623b1b3244ad81ceb8df748580bd18600d8b8383570300b857f54e803b00f8cda6716e1a0d7714fc1bc06996968bc30a03f76034576dfca1667e4c18b85c1706ddbdad2f9bfe30fb60d523675efaf74ef5a64cad220ca0a7bdd1bcb9b44353209d2fea7c7655be2a02da1a5ef44c49ebf276176e484d8ae15d06bb8f176f30b72835bae8c83b6671f26fee228306202e1c7a9cceb525d5e9f3ce5b7f69da2bbc01a92bd85192a9f8f03f7e595c276489eae293795b6b3375ea28eef9f637bffe626125ab59b25ed1bde276e6ed38b821e6cc8717ef4a4f8deb3ede60bbb03c5faf70751f7b7203b76bb6349f6d3f8ac6114f081e687b2dd3bccb13589367dd9679e9cf07df09796863ba0ab9f5771eafc836fbd7954aa3a5e2a9b529c81fcd3de874bc64da520772ed97cb17758d9244800810012240047802d35b326e047896714045d80f7037400abb9ccde41dbfb5358abf7b01a2587e0dc04a800b007f01d002a0dc3c03f032c03680b5cc019d5126a2cac44da8b7022c669978281412af019402c8c511bc02f46c2cb75af44870d0d9d63a129dac4a8a89484c8048888d884aca2f4360fd5d9dfdf129712afd0b551f6f7863b6747eb1d5d37d8d39579b0028b676796452c9d31b5393c2badb9b4f75f6cf5970a76a6e702480a5acc6a8f00c176a592d787bd7e1b2da8ef3192a45665ec1de165e8469323396468575b7c9ebc59caa435c8dfd9dc79acf2e5e91b6d4f84c55676bb1b543b2ded16734b69db3c3a36314da74d46b2e77429a09ffd1e172b9c312ee5faf8133ff438acff9eeaf7a7bdd2310af488a88c75f9e6091b1b1515151fa5c15c7cdd93d2b292525adb0dce828f5e867c16ff4acccaeda5fa40d0297f3e4b1cf2e8424dff5c0bce4042c966bbf5cfe68444a110122400488001110084c6fc9f85386e10526fb042263ce6636eef8215b598efa0ff5e22000ffc21cbea4580db08e0d1ca25ec441475407ef31997890c5a86202348729c8df017cc1461c4f3107c938283d03da34e6a7512fbabbf6156572037b4a73637d5628f668806383d666ab7c1207ed7425472b33e217df0703e7a5f3c12319cb9f7d240a060f57e3f82d6fbaefc6e3e059df295b4da90d07ec3cf665f5af3b17c62cd998af4d0a6e3eb0b3e92c44878575e37e1d2df0e3f432556a8659b3ab1adb93fdf8d218e83bf9dfb20b9295058fa35e1c6cb7e837731255577eb452af59b31eac2d92f50af5c3f876b2ffa4da1bb6bc73ef2f725363fa8ed7fcdb5f57d7e72a2317c8f0e9a8cbcfc646296b8fd67fcf1b14133856cdccd958632ab582d2d2546f8c57a080943365d1139c5e3c56f303afea66aed2dcb087fefb25570de5130122400488c0f42430737a76dbd36b9c8f3e27af17f730bd88ae3b006a0152d94d38b9fc2ec00980dfb0cb59c2d29646a617310f47197943f9f80ac045767184d5f25be6231747b82f40cf3a5d2a0ec57636bdec99088e0ef50cfdb15706fb4f36707a11cdf1dedf5d1014936c90cf472f65de0e7d4a585fb3b5627422d6f1f6894e8018bda5feff36bd5e5b55625072f13a5aec569bf5ec00ea4f57970393d6baba3ad48b00f67d8dede8bff6ff41e10f25ebbe8f7aff4fbf937f27f29e05f86c2142f5aba6a6a3479b9a7ea5477d1a362b125b2c592ffaa249b53308dcce7dbb1cb36761809e43666bf46c4e4586dc27cb87454a44a71196f21eb8e9f1ae464e2fa24573075e647329097b889bb1eff9600f731795cbb55f2e5f742b2589001120024480080804a6b164e4678dbdba4620327a46cdc71b4abdc300f3d8c5e74cf63503e09f7700fe2cf8840809de4db8f29c678baefdc71139066232cccb212e0215132f7190f13fdb71ce9e9952390f5f74ecfa049706cbe503184a3672ab5ef68c5df562dd92fdb3ca03cdce6e8888536b33caeaffbbc43016120a3c91392a7fdf3e0851ea1f16180b1e5484b9bbfeaf9f6ff028e3a3b0c1835d6d7f6939f5c107a74e7d70fcf8f166c789568c275faf643bb15b236c881087fcbe42d12a6e94241f5193c7275d0383e22c0c2d6b4c404baee8916bbf5cbe6c155440048800112002d398c034968cb80c0597aae040234e314b9a58e7a103af207158b108a040f883b3cfdce42bc0d7ec88879f0b09fecc0d3009638d7c8e5c1cbe34708f8cc3c0f95ed603ddeea25563f58d679e35a760358e85f5f7fd43e8a8443eb79a240cda5e1556bd08ae786eb155179a36fccbf24d0dc7b811c715ebf2f8c2509eb32798f706cf40a3c9628a03f77b6fd47b0bf8847b64d89bd3f1fea7a8ce2266f516179b052bdc52cd464665eaf5d34e4f58d62a4fa3989896e7c3ee10b5878f10c4f7cbdb4a714267ccc91649e68e33e7f1f71ca3ce96fad2901c37b97c713d9426024480081001228004fcfc8d340df8bc05f0087b25f14d7c478e2d731902784aa6e328f550652e660ba55f0158c0b426ce3bff81f96f6053d22bd8ba19ccf04e31e24b77784b31006a8fef33de283725e364cad41b20d98ef67fba41a558ff8b1dd1eb121ed42671b3bc1e0e38d618ab319558d6cebdebc134551c2ecfe03e9aa3b1c8e47b56bdfca67a744e9a0ba5b33455ae3f77f2dd131fb59dfd0ae6c5e298200cf49ee38a00da9dbda0485a69aeea7ee3fd8425abef0df9c0c4961e73038dfa325c760dfdad0d75f830c65844a2a6bca43c04baf655eced68a93ee25c97a1d0365aab0fda4ec07ce583baf4e48146fd1e90ae5758f532be9d5c0d12ff590d76caf2f1b6296c5e2ab607063e2dadc6b71bc75ae4d84b65dea1ca5c5cdb923e7f68b30794e3f76f3bcb321419958ddf697cf393af4395ea07e60f1dcb3e385bbafd7e798ead8cae880011200244800848fddd368da894b231425cbc827f7813a64f85ebb167547587001609ebacb110b526cac7870196b04f76a3087a810d40e260246fcf01dccf54e3b3ec1a9766a349c66125017cb015bfbae650566ac2d2742db87b0ed7bcf2ddbcfcefcd42b1c67d0131469196a1e03a37d8d3f652d993fcd89d647e55495614b870d5cb787de7683fd3b3569daa4d49d5f29406bb9a6b85e5c3b6d2da55f73db754a1cd2fe24afb4e7ec0fbe01b8db6134f5ad2939c4d87b8f71b476d1887e422a2147a6c96dbf927948cf8c52453f95c6b495a4a5a6e511a7374b5377682e39264bd5587fe2cdd4e9c8d775dc2db8771c870c45b9f1b3a8a5f3d29c9c7e3c37d593246a5cf5081abbda9bace01c398e1be248c830e700d0e130d43f2b234981fe46631ec15a68490fd3fd1ab96eab396b29cfeb61320cbcd28d92f6f8b294104880011200244404c60c6b7df7e2bbef65ef209f1f19b6fbe414fccf11ae688d3fc251e7dcded7663261ec5899191113e13137c91f8c817b5b5b53dfffcf3e2164e493a03201cd76e08b3cffeeb4867dfd0f99abde0e8f5c44c544787bdd76313583ad727be649cb1f705dc955267b8277ca8d5ee18157c1a4bd34ee3b9c69aecfad39ae8f32d2d42894c7e768179eec5965d2899244da93128168687c350ef984a785f8dceb03036bcf7739b63541e1a1a8e9629823b2bff259bd7a99251c5995c1712c387fa7aed76511b7ceabd423bc5114569093ea2d2ab4a2a0d398664977daf5500eabd5b693028f0f73cf4b9d3e1a5edd37e8fb75cbe3718258800112002448011e8eaea9a3367cecc993367cc98111414844734bcc4424ce0111511af7f868686b66fdfae56abd10d1df038ce82838331078bf8049fe67d787f3cfa1a5f1de673153313a73103db8039def6f039fcd19b89896b368919b46b8e15c037ca493dc92ee1f2675f93ccf4ba49964a667a6f09cc4487c3eea360b8251923835fe2dae65121c77a27996fdd55edafebb840ba635c9851f716075b2acd652873cc8fce1e8607d6acc5af87b7dbfe63827a11ef94ec02b7307b6cbd5768e768a3c6a4a4838f7199e84587dd67a2dd736b87ddf721f8b45ff01ddfaf89564f7e44800810012230cd0890649c660ffc667417275847a4ea95cb97f2bdda3cc5da2c630abba9f378c3e64afbd5de4ffe4480081001224004888098004946310d4a4f018196ca55cb2b25e2cae54bb85e4396fd050b2c8c05a9e9eb6b8846b7100122400488001198ee0448324ef75fc0edda7fd124f5edda45ea1711200244800810811b47807b4d928c0810012240048800112002448008f8214092d10f1c2a22024480081001224004880011e008d0c434fd0e269d80c698b364c16cf8ea8b76abcd31e9d1fd04cc366f5dad499e3572e962df176fed2ab5718bb70d5b6b37c57ef1c7fcd23acf8dba9c925577c2e5cb101232f07153b575325aa8cbdbfdd4cade3fd56fd94beb6cfc3c1f2a2202448008108100264092718a1fded30077023c33c5b5dc32e18d96dd85c654fc42256f79c603ab36fbfd688ee039c1b321af64d5a2cb6f6c91d82cdab2bfd1a88ac2386e3704057def1f879864d42dd3a91541ea6043691dafe674cb7f98a1675f15474fd5e549918cbae52b53150a085b06241927f820c98d081001224004028d0049c6297e62f8bd6edc30108fb7e35718c7b15366573f634c0d02d7c9c32f1f7aaffffe35eb96860b9b978c73bdd6cbfb57aed62a822fe82a1de306073566bd2acaddd3fcebf585280d951a0df05f6f74385e3ff69de8ce26efe89fa3d2b4e9550045796d99de3d72f95a1b32e63ec7abaf1c495a75fe1ddc0b888c08100122400488c0ed498024e3143f57c90f124e719d3729bca660631a7e9dbbddf6bff3d920a0dd6e9df4960c73dbeab97d859e72c99d38b4d9feffede7a5a1e8abe18ecae271ea123a70c23a9adbc6105b3b39d661db5238f18f854f4e9d148508100122400488c08d2430ed25e3630038771ccb98a388c0b1409c44c61c1300ee53980fb09015e1ded0b92cb19d0d19a2d64067dc6fba427858c5006b581c17c00000ee55bd13e00e8059cc01e7a6d150d4fc0de0344bcbc561850179d0e8ee8be37677dee13369acc9dbb12d3bfe6095edee279f484b8ac1def59d6c78782f1cac7aa4fb3f2b0a773149a7c9b36ecb860f5fcafe43a8755be6a53f1f7c27e4a18de9aa3080fecee315d9668752a38b8ebc631627f3e62e326800e2c2a1c769c72df1341acd3d8be2313f72fe128d26322e0e9cb863a1a6e0e0b61f45836b048207da5ecb34ef9a08d5bcadb5993a7514f77cfb9b5f7fb1b0d29f10d414ecd8f62315f74bc02d2f83c1f9da6f3c7dc1571b0b37a4b29e62a583ddc78b379865b7ac9948b3c88708100122400488c0cd2630bd25e3468067d9134045d80f703700bf61c86c26eff8adad51fcdd0b10c5dc6a0056025c00f80b801600e5e619809701b601ac650ee88c3211556622c0563625cd3fe042fe04f01a4029805c1cc12b10cf9a34154ae2fe2fdb7db551e4eca8a88894dcb2220057675b7bac5a15317b3644427c44946b36eeedcd2c32363e2a22283101f363a3a2a2f4b92a8cd6e5ec9e9594929256586e5cae78c6a8f00c0b6af3cb103f5ad761c87cf3fe9a9d46be20499bbb9315742e2bcbb65efcaab7d73d02f18aa488787ca257b69caa43b9da0494a8c79acf2e5e91b6d4f84c55676bb1ef1ecede4817fb7b7b7b01eb088a4e498a8b11fa52f2f4c6d4a4b0eef6e6539dfd7316dca99a1b1ce9bd851244800810012240040293c0f4968c3f650fed0526fb249f9f998d3b7ec85696e32b89a817070174cc155f4fc4751debd8c021ea45371b927c8fc9c483cca18a09d01ca6207f07f0051b713cc51c24e3a0f40c648b0ce50654bf6c638a51692c7f6a058ac10b9d4d15bbbcaf11f61cb0acaf7628f7ffb95e151c020363a7977168963721e16cac31955a416969aa37c62b54af56ffba7361cc928df9daa4e0e6033b9bce4274585877ab1d5a9cbfae6cbf7be5c6acb4a4eee603754d67a3a3e1cc3b76e880fc6c5c25adac3d5aff3d21b6bfb3b2e071d48b83ed16fd666ed853577eb452af59b31eacb2cb775aeab67035a029cd4df5592c8507dd77e3716cb4ef94ad865fb32de4d3990810012240048840001398de9211e7a3cfc9ebc53dc29a951d00dd00a9ec31e348dabba297e05026a176446b0440bd8886a38cbce125fe79945d1c114af10ac726d17ce3b0ec403e70af6d46c6b339fe68d5bf68b5d84577f205af646cde5756cd69b18edfefde1dd3dd0ab05aaeb3dcb4705723a717d1a2b9030af28e167b470bcc37e671850eab6d7430b3c36eebe85964cc4a83f39fb6d8c67fd627117fe2137aa1f49e05d8608850fdaaa9095f72744304ea3ef7ac48aefa2b5a74a867fc93f374bc7da2539d9ea2b7d4af2aecf9a4e5c4c13d15767c7b928c0810012240048840201398c69211470dd1447fd58f7f8ebc04c4dcdfb292a7d9f173804f459fb3ec146e0a1112f38484f82c9e17e51de4e288ef0aa8b4a3e5f460963ae9de150036c0fda37f064d3b8d30ba2479b0eb7d8fcab3d7b1a139cd58c91819828f02a5216fae011cce1db5f14fc947c8f119c1a1c234f7e8ad134d29e3a350230e76b5b59ce90ff13ccde0a1cf50da5eb559b7649f369a373fa67b4091a0d666a8b52b96953d5ce11d6cbdea78740311200244800810819b4f601a4b465c86824b5570500c87097114d0d7c43a0f4b51413ec526978bc6ba96b0cbaf85cc9f0b09fecc03be28ca948b237209c8a4a3f39c0b52e2be5f95adf4beff27927a41f892e2386302718865ea763cbb86536c824790cc0f3394cf1726af05f72b9d4786253ddca2fc8ef73f1dcc5d1a31abb7b8b858d21974c69cc4a13aeb84a45f8bad1affe08c75415585499bb2625d1ed8f74a87a55c2240048800112002814040e66fe64068fa24b4f12d8047d82b89f841bd3eb6cc05050cea424943a9872a13c7260f01bc02b080694dd4827f60de1bd894340eb171b39ba2a9509c91c45b5084d800becf86270b64e264b21b03f8607de1e00f769a52b5452f56cdfdf73f7cc181f08e1aca754ba12fdc1ab2e64e5d7a4a948ccb58a1d9eeec0545d24a7355f71bef272c597d6fc807a6092c850e9b975a5e520e039f9656b3014ea1aa88440de68740d7be8abd1d2dd5479ceb3214da466bf541db0998af7c50979e3cd0a8375572eecabc4395b909f8cce70f6d66f3eb420c9fb3ced254b9fedcc9774f7cd476f62b98178b4a18067acff9f851061120024480081081402230bd25632940285becbc567866b8e4d98fa1aa43bdb84858678d9ea835513e3e0cb084bd9b8712e905001485f88e236fcf01dccf54e3b3ec1a9766a349c66125017d68d9955f13539b8733b126cf8a661cc615cc473db654be71f25fb25293d23392c0ddd378e0fd6559fae04bdc7020baba5982bb776018838409c381b6d2da55f73db754a1cd2fd26261dfc90f381fceb8f7152f0df363962c4338705f728c51e93354e06a6faaae635ff4c1322e6c4494429fa100b7f34f2819f18b49a6f2b9d692b494b4dca23476b7abbdb15308e3d95b33187f305236da3d47fb999eb5ea546d4a2ad742b4c1aee6da52fc1703191120024480081081002630e3db6fbf1537df7bc927c4c76fbef9063d31c76b98234ef39778f435b7db8d99781427f063767c2626f822f1912f6a6b6b7bfef9e7c52d9c92740600be0587f2e0bd09844f67dfd0c199e8c32267ccc46135718ea8909bfb9eeb135f328ef8ae404d6bb27396cc9d1d7af1ab2f5a9b6df8dd443fa6d119f0f38a4efbd5ad0fc1bb16c686f77e6e738c2e82f153c9d5152975867b12c387fa7aed76415eb2004a438e21d965df2bf1d11d8d79ffce2c95d35666aab47b2a536a0c8a85e1e130d4db8adf88bcba169037112002448008dc7a04bababae6cc993373e6cc193366040505e1110d2fb1a598c0232a225eff0c0d0d6ddfbe5dad56a31b3ae0719c050707630e16f1093ecdfbf0fe78f435be3acce72a66264e6306b60173bcede173f8a3371313d76cd37b94d18b4d4eea791dc409c9171f2533bd7749964a667a6f09e0448bb56ea252aec52168acabe92fde35d10aae262cefdbe190d6af1df6bab1d24f63a97a3ce4ece9bed0c56bd6aaf023921fbd2dea0bbfc0fbea6ba73b8800112002448008dc9a044832de9acf855a75eb1388bc77855611c4cf3ebbda6c2f564e9d8cbdf561500b890011200244e076274092f1767fc2d4bfa922e0282bb228e26271f2b9f52a27d6a7aa45149708100122400488c0941120c938656829f0ed4ea0a385de52bcdd9f31f58f0810012240040402dc6b92644480081001224004880011200244c00f01928c7ee050111120024480081001224004880047802423fd0e6e3902d90525e5e61ce54d6c972e6f7743c3d63cc34d6c02554d04880011200244e096224092718a1fc7d300dba7b88adb2dbc6edd8f33f4593f54dcbc7ee996af4c5528d2f5cb6e5e13a8662240048800112002b716015afe32c5cf03bfd78d1b06e2f1b6fd0ae3e403bc841bb3048d486ce432f955494774bcfaca91a455e7dfc1bd7dc8880011200244800810018e0049c629fe1d8c4c717c0a3f15043a6c5b0a698bbfa9204b318900112002442050094c7bc9f81800ce1dc7b2e787fb04e358e0332cc70480fb14e6032c6445b837742e4be02c330e1906b18d9071bfe90ae1c11703ac617170846c0000f7aade097087b0d9f49dcc0d7714fc1bc069bf7184788177d6141cac7ae4cc4bffdea9de94a9558401f4b4379a3797f23ba618cd551b7fa8991f13062ed78541776febcba6e23aeca3d268a9786a6d0ae6a3b9079d8e974c5bcef07dc71d1c39335a0e3eb52a36b8d7fa5cf6de16908ba3cb2b7feae16549f17382475c83c3eedeb683d9e6bd7877ded6da4c9d3a8a7b5efdcdafbf5858e94f086a0a766cfb918adbe21ab7b00c06e76bbf29dce5e0da80af36166e484d8ae1d2b86774f7f1e20d66f6dd6e63b5f5a9b4142edf3dd8f3ee7fee2cde65074d9e755be6a53f1f7c27e4a18de92aec587fe7f18a6c330bc4eea7031120024480081081002430bd25e3468067d9434345d80f7037400abb9ccd368ce6b7b646f1772f4014cbaf0158097001e02f00b8eb07ca4d94372f036c0358cb1cd0196522aacc4480ad6c4a9a6543217f02780da014402e8ee01590e7c8d9b1115149f96508a6bfabb33f3e254ea57fa1eae30dc55663b9d5a247b283ceb6d691e86455524c446202f651995db5bf481b042ee7c9639f5d0849beeb8179c9988f4c39c3896965f6d6ffb7283d02dccd0dffcee94599383a736d65961ac0d5d5de7a7ed602754a5c683cf78f809caa43b9da04946cc79acf2e5e91b6d4f84c55676bb1c41ed1ac3e3c5cecefeded05f7080445a724c5c5ccf6a8d692a737a6268575b7379feaec9fb3e04ed5dce048ee0e436d93451d81caf8f8fb5f062f4f5faa3595ed18ee296c8f8d8d8a8ad2e7aa380eceee594929296985e54647a93fb52ab480ce44800810012240046e5102d35b32fe943d951798ec937c406636eef8219bc0c7571257a2ecc13127e68a638dd500ebd8c021ea451c9ac221c9f7984c3cc81caa9800cd610af277005fb011c753cc41320e4acf80b6018e015a9badf2491cccd3951cadcc885f7c1f68e63f8d7ad1ddb5af2813651f28cd8df559a19ca3b2e8094e2f1eabf941b195bb168cf11dbeb428a7ea57f9da30183c52f33fb7a0ced398a5e328f39ee5f462df01cbc3d53894e78daf2c781cf5e260bb45bf991be1d3951fadd46bd6ac072b3e36696ba9db92cd0d7d72419aeab30427dd77e371acb0ef94ada6d436bacbb4a62013f5627ffb81f59b5940e3d6a396f4a599799ae73c92d7d958632ab582d2d2546f8c57a08024230244800810012210c004a6b764c4a1a873f27a718fb06665074037402a7bcc38b9fc2e9b98e61ffa2c364f8de946a6173181a38cbca17cc43f8fb28b2342295ee1d8249a6f1c961dd0079cfeed3fd9c0e94534c77b7f7765a862924dba441ca2ed6c7a99d38b68d1a1e8c6ec216ea6b7e7833d63f4222b41ed19959a9f8fe93e5bd9c395762e53a74b958ca37ce8be387c3ec75ee2f4229a37fe3d0b903144a87ed5d4842f12b82102759f7b562473bad2c11b847374bc7da2539d9ea2b7d4af2aecf9a4e5c4c13d15f60ed03d908cf13e7ceb754f2cdb5b7fff5fe9aad059d8186e1abcab91d38b68d1dc8117d35c8a8c0810012240048840601298c69211470dd104fd22f1f850f0f1f65b767a9a1d3f07f854b46aa8d3e3022142629e90109f71a6db6bbc835c1caf5b002690e5d9769c9b67a654cec317179d9f7c064abc0ef3f289e3a41bbef0c9b265f8730fc5ed72078505cd597cbf01ec4c33b2a8be7112135049c2f9b35fb27280484f7c657c145634d8d5d672a63fc4537bf0d067ad1eb7ab3959b7649f369a373fa67b4091a0d666a8b52b96953d7c39185b3932d4e71d770c0fc6ff98463c715d03381c3d6a5c87c88800112002448008043281692c1971190a2a171c68c429661c05f435b1cec35254904fb1c9e5a2b1ae25ecf26b21f3e742823ff3802f8a32e5e2885c0239896b7f38cb2958cd8d21f6fd034239c93870be9765eb7617adf2e8a78e33e75d9010a3ced64185efda90c1d6ff5ddefe0b7c45d158b67b78281f8710d964b6441cb6ea3f3a1edf1e45d3549957f2f13bdeff74307769c4acdee2e26256e473d019731287eaaca37ad4c76334a3c5568d7f50e716545598b4292bd6e5d57c7cd6a8522c599303763699adbc3b162b7679be0d14348dffc31aa54629224004880011b88d084cefbfd9de027884bd92881fe0eb63cb5c70cd05ea424943a9872a13c7260f01bc02b080694dd4827f60de1bd894f40a36e38c19c26813e02014de82a205676bbfcf86270b64e2644ad61a489938fd1aab319558d6cebdebc134551c8e31feb670afc3b8d80d2ac5fa5fec92032bf40000400049444154885e97f0a036899b2de6f9387effb6b32c439151d9f89dc6373ff93a54a97e60fed0b1ecc28fb81f65d02c70543f5c19df64494fcddabae3625161fb3f25e3383e74ba8c8a84f4dcdd5bef9b7dbf4e11c329465cc1022dd5479ceb3214da466bf541db0998af7c50979e3cd0a83755720d50e61daaccc5b536e9f387367ba6b4b96c09d3599a2ad79f3bf9ee898fdace7e05f36271ec12067acfd92bff988ff5a6fda4b67cf6db9f86ae7bfc5194c89d47de70806a4c90c83157744104880011200244204009cc0cd0764f4eb34b01f8af35e3fa957f659231dc6f605475b8b661115b678dfef3815384281f71c1350a95d538ff0af0025b2283ef38f2f61c4ed632d5884bb35702f0f125e3087704ee1925638c222dc398817a71b0a76df7cf4ddc5b8db6e2574f764350ccd2746d5258cfe19add6d8310368b538ef60ad3eec67617442dd56799b28c69ea94d8706e2cf11206e2441fdebbe57fee3e3608414b73b7950cc9c4b197fec7317c3f202a353d5d1173e198ed088aff50f64fa10a53f9f1cefea894b4dca2a2dcac0c7542d0974ef4f418ffafa560367829e48d9eb1091e73b49fe9194949d56699f28b8af2f5ea84c1aee65a6ef973dd86325bb72b4cad3715e567a154ed3cd6905d81f9c378eff0a561cfed03c33896ed1e112e85a8742602448008100122105804667cfbedb7e2167b2ff984f8f8cd37dfa027e6780d73c469fe128fbee676bb31138fe2047efc8ecfc4045f243ef2456d6d6dcf3fffbcb8855392ce60620ee5c47b13089fcebea1f335c061913366a20a12e7880ab9b9efb938063536be641cf15d8195d6589a761acf35d664d79fd6449f6f6941353d6a4a9de19ef0a156bb634caea75c693028504c0f7dee748cbd6bf47e21251147a9818e16506a7489910e87038c557fb6687b8eed5ecfbefb88f771b724860ff5f5daed63e6bf95861c43b2cbbe57e2a33b1af3fe9d592aa7adccc42fbde1a2680c8a85e1d8c8de719d501a8cf7e03f047a3fb739f8f53d4253e94c048800112002b71381aeaeae3973e6cc9c3973c68c194141417844c34bec2326f0888a88d73f434343dbb76f57abd5e8860e781c67c1c1c19883457c824ff33ebc3f1e7d8daf0ef3b98a9989d398816dc01c6f7bf81cfee8cdc4c4351b3fd472cdb7df2e37ca493dc9fe1d91ca95ccf43a4a964a667a6f09c0048eb48e0c7e8902ce573b75387091b19c75d8fd148ebdc9378eeed1672b8df16dc7ffef077ffda76ecdbfead2537198f744539df73edf5bf8a20e7bddd826692c558f879c3ddd17ba78cd5a9c5ceeffe86dd16b8e1d2d7614a612d661177d7947a29cb28800112002448008dc16044832de168ff1d6e8044ec88edcf0967cd9deda3db8469da657a7b1ba5d7dcd6fe25770aea11d91f7aed02a82b47c9436db8b959212f11a02d32d4480081001224004029f0049c6c07f86b7480f5a2a572dafbcf16de9b0556cb055e0bcb4220ea78d7becd73e3dec282bb228e262314aebc4873d6f7c87a946224004880011200237830049c69b419dea9c6c021d2d926f495e5d359312e4eaaa246f22400488001120020142607aaf980e908744cd2402448008100122400488c0cd254092f1e6f2a7da890011200244800810012210000468623a001e1235519a80d29067483e777caf8d5ba762d85abb29f68b3fe6978eae9596be6b7caea6a0e47f847ede545de7185f728dd73a73f9aae18fff6b97f5fa96cfe8724a56dd09972f4348c8c0c74dd5d6c96ade35f68a6e23024480081081694e804619a7f807803b536f9fe22a6ea5f086bc92aaad16dd75376922714a2a7e996bca79208e55a65ba6532b52f56b0d575bb56eed8f33f48faebdfe260b15eb748feaf53f36ae15aec79c27d22ffe06ddf21f66e8f519687afda3c6c96bde98e6d0051120024480081081891220c9385152d7e897ce7685c1e3f4b0fb57aed6a6afd75db7c2b9621c65ce8e8c94a09ee6ba52fe7b3a0ec7ebc79a8f344c6cc7e831cfe232eecee21ab93c26ef7a2e06fc05bc62bfbc353b2a4d9b362ddf54d638c9cdf3564009224004880011200257438026a6af86d635f8def80f155e432327ef96e111fc38a3fbfaf5d795e2184a9e580aee4edcc35a68bba3b2f89aa66ebfe4b6f2e3f6a59e54f30654b24d25bdb1afd42faf2397e8c04f8d470f22506fb431c5744104880011200244e0061298f692f131009c3b8e65c8f12f67dc91e519966302c07d0af30116b222dc453a9725709619870cf1ef70743e0450213cab6280352c0e0e0a0d007c04b013e00e007eb3e93b991bee28f83780d37ee308f102ef8c9f468c8ebc6316276fe62e326800f03b893d4e3bbf0560ded6da4c9d3a8ae3d6dffcfa8b8595b81733802e6f77e186d4a418beb383ddc78b37985bfcc6e13db3abf25511d0d6f0221745537070db8fa271a0108207da5ecb34efe27d409367dd9679e9cf07df09796863ba0a77ffeeef3c5e916de675a52eaffca9879725c5cfe1f66c62bb82f377f9b6d358b2bf303db1f7f49b99f9d5e8a3ccd95afdc483237ffdcf0d8542459efac69c862f851494efcfd48bea95e9d792a2831b62ce7c78f1aef4d4b8eee30db60bcbf3f50a57f7b1273714a362242302448008100122708b1098de927123c0b3ec41a022ec07b81b20855dce661b46f35b5ba3f8bb17208ae5d700ac04b800f017002d00cacd33002f036c03e05f5d43679489a8321301b6022c169e72a190780da014402e8ee01588674b598d51c1e945346d7e19e241eb3a0c9915f69caa43b9da04946cc79acf2e5e91b6d4f84c55676bb1b5a3e4e98da94961ddedcda73afbe72cb85335373812c04f1c161235a2998b86a26a17937fe72f7ed5dbeb1e81784552443c3e39c1226363a3a2a2f4b9dcde7f5dceee594929296985e54647a94d67aeadcc52e37474577bebf9590bd42971fc3dd2edacb019d32daad4ac8692bf9a2a92abf3d3e3a0efc0417f7a11ff3511a5ce30a9f97ae7f3f52e573c23c9e7ddf0e81885361ddc832e77429a09ff91e272b9c312ee5faf81eaeb5b3f2380a0331120024480081081492030bd25e34f19c11798ec93846966e38e1f022027d47fa81707716c8cb9e258238e3aad630387a8175126e0dff6ef31b783cca18a09d01ca6207f07f0051b713c251f07a56720dbabd5bfee5c18b36463be3629b8f9c0cea6b3101d16d6dd6a0765c1e3a8f006db2dfacd9cc4d3951fadd46bd6ac076bcb77e371ecafef94ada654b44df39772710438e5cf3e12058387ab715c9759475d7e761d0effd51eadff9ee0c39d073c17cec61a53a9159496a67a63bc4205cabc6739bdd877c0f270353648696eaccf0a455fd976566f2e5ef4df3bb31419bf6c5a1d8423c5cdfb7ec9dd78251b57af1c9fbb0b7f8e91da1bb6bc73ef2f725363fa8ed7fcdb5f57d7e72a2323af5401951301224004880011b88104a6b764c4f9e873f27a710fd38bf83076007403a4b2c78292e15dd1cb65b3d83c35963432bd88091c65e4ed3d96f328bb382294e2158e4da2f9c661d9817be868b177b4c07c631ecae72e87957df886f5c6b800fb0a11aa5f3535e184be1b225027ba67a12072bc7da2539d9ea2b7d4af2aecf9a4e5c441dc1aba0364e3b060cabc1dfa94b0bee67d15e3455b22fe94c7bd38ca4d837735727a112d9a3ba0b0573e741f0e2a761f7bc923fba2433d43a3f7c8b513a0a5fadf7627d7e6a761d3bb8fef2edc7b85d13fc97ae5fa753707c5b96f9743b31fc79f7b0e99add1e635d8d4eb7f1f94eb301911200244800810814922308d25238e1aa279f482144ed47cbcfd969d9e66c7cf013e65838e7c51277f02081112f38484f82c9a2f05de412e8ef8aec04da320144c191f851a71b0abade54c7f888752f0d067ad586edd927dda68defc98ee0145825a9ba1d6ae5856f67005bf029abf5d148765184a3672ab5ef68cae7a11aa9139bb06705878d4f0692726702f199c3ffba527379293b0f802aa9f76a267622cd70bb478e5fd1aa8bb8266c4803ef5b2bb85c3987e61a346d8906810b8be6a07185328dc416722400488001120023797c034968cb80c0595020e34e214338e02fa9a58e761e97b004fb1c9e5a2b1ae25ecf26b21939b6614190ff8a228472e8ec8257093a17c7f854961ec48c7fb9f0ee62e8d98d55b5c2c4c258bbad762abc63fdcac705585499bb2625d1ed8f762b96f1ccce456bd8441db01b6ea4514643439323c9a66a920891f3897151d8f6f9ba269aacc2b51b2a1f96ba7a1bc14e7b207bbda7b63554969db6acdfa27b1cd82e98c39894375633fef23552fe72fd92f2190e79f2222789e12b74fbf466fa11411200244800810811b4240e26fd41b52efad51c95b008fb05712dfc477dbd8329721a60b255b87520f55268e4d1e0278056001d39aa805ffc0bc37b029e9156cc61933bc53a4b8ea156f41b16403f83ed30405327132256b0db0cc76672f2892569aabbadf783f61c9ea7b433e3099ab8f38d76528b48dd6ea83b613305ff9a02e3d79a051bf079a2ad79f3bf9ee898fdace7e05f362b951bc81de737c8725e23484f2ab5e7e23ff2261d8bcd4f2927218f8b4b41adf6e1c6b919e4bc7874e975191909ebb7beb7db3efd7296238c588ab6770f659ba9da6ce86e7f411e06adc91596a33363459146a7e290c1b0e55e61daacc4dc0dfc2fca1cd920d13eae5abf7ed171bb0bcc27f8611891aec570874edabd88b3f28322240048800112002379ec0cc1b5fe52d5423be3c8662110dd7affc2b938ce17e5b87aaee0cc022b6ce1afde7b36feea17cc405d7283c5603a0ec79812d91c1771c797b0ee02c538dcfb2d5337c7cc938c21d017db695d63677bb7009707e519151ab8e65fdad30951fefec8f4a49cb2d2acacdca5027047de9ec0447fb999e9194546d96097df3f5ea84c1aee6da5254d69cf9c6a92ac98a0217ae7a91d34cdc172163547adc2ce59174b642691833862f0df301616018c794b9e13a7be97f1cc3f709a252d3d31531178ed98ef408af2748b6d3b23f571106cec3ff8735cd662ab7e13f2e141945668d27302ff782b91534bcc9d4cb0a7dfbc5bd60e9ba8485c3d83654ae1ec3b6f3c6351ba214d8aff4352b15422e9d8900112002448008dc600233befdf65b7195de4b3e213e7ef3cd37e889395ec31c719abfc4a3afb9dd6eccc4a338313232c26762822f121ff9a2b6b6b6e79f7f5edcc229496700a0b84121f1de04c2a7b36fe8e04cf461913366e22a0f718ea8909bfb9eeb135f328ef8ae804d6b748685b1e1bd9fdb1ca297fe943ac33d89e1437dbd76bb68e98a5263502c0c0f87a1de56bb63bc1a14c7c92e30cfbdd8b26b927682c6c628c2c169c7f536e34dba9de3bd46af95861c43b2cbbed7ea1b6ad4696c4adcafb1257445048800112002b72881aeaeae3973e6cc9c3973c68c19f8495f3ca2e125361713784445c4eb9fa1a1a1eddbb7abd56a7443073c8eb3e060eea3c058c427f834efc3fbe3d1d7f8ea309fab9899388d19d806ccf1b687cfe18fde4c4c5cb39164bc66747423112002448008100122305d0890649cde13d3d3e5774efd2402448008100122400488c0751120c9785df8e86622400488001120024480084c07022419a7c353a63e1201224004880011200244e0ba089064bc2e7c74331120024480081001224004a60301928cd3e129531f8900112002448008100122705d04aef00de1eb8a4d3713812925a034e41992cf750ddfb3e44eb87c194242063e6eaab63ac6d669d85abb29f68b3fe697d679f29506cba615bdefd6ef95f8c0ced85bf9f8c7f78eee973da65c672e5f35fcf17fedb28abe2434c641f2c2a73d925ee3327579bb9f5ad9fba7fa2d7bede34ae89208100122400488c08d2140a38c53cc1977a6de3ec555dc4ae10d7925555b2dec4bdad7d5ac89c429a9f865ae2967f9b21fe2d7bb33d0f4fa478d3e35eb96e9d48a54fd5a83b73989cbd6ebf5ab965df9abd87cfc07e2bc778e4de8748feaf53f36ae1d9b7ba52bdff65ce90e2cd72d5f99aa50a4eb974dc0975c88001120024480084c09011a659c12aca341f17bddb861201e25b7b11ef5bb4d52f7af5cad55045fd0553ac60df65d65ffae184799b3232325a8a7799fa564af723feec7525e5ba6778f5c1e5f8fc3f1fab1ef4477368d8ece0d5cc6fd547c1dc7dde88d5f3a7ae7581716e7ca81c6de04beed19e72075e978f5952349abcebfc36f5524e541794480081001224004a6980049c629063cba05dc1457746b841fe6b6ed73fb08b7ab6edc95e2184a9e580aeecedf16eec5d01db8ef4af42056cc6d173dde1c95c5e3d52b73c3ddc4fdd898f87efcbc352ad9e6917e3c852289f60845f2e70edb9642cf568af24e544204880011200244600a094c7bc9f81800ce1dc732c4283a702cf019966302c07d0af30116b222dc453a9725709619870c5129a0f321800ae1d91403ac617170086b00e023809d007700f09b4ddfc9dc7047c1bf019cf61b4788177867a546171d79c72c4e44cd5d64c01d98e3c2a1c7696f61fbe8e56dadcdd4a9a3386efdcdafbf5858c90410bea257b821352986efec60f7f1e20de616bf7178cfecaa7c5504b435bce84f46690a0e6efb5134b8462078a0edb54cf32e31d291e1d8bcaa868d5adc3e1a7ada1bcd9b4b59333d2ebef195464bc5536b5362d01dbb30e874bc647a954b0e5f0a2928df9fa95761417fe7f18a6c33af4f8de6aa8d3fd4cc477f97ebc2a0bbb7f565d31f66fb690f17cbc734053bb6fd48c5fdd2704bcd6070bef69bc25d2cbc24379fdb298308100122400488c0241298de927123c0b30c262ac27e80bb0152d8e56cb66134bfb5358abf7b01a2587e0dc04a800b007f01d002a0dc3c03f032c03600fe9536744699882a3311602b9b92e69f55217f02780da014402e8ee01588674b598d51e11974d3e697211eb4aec3905961cfa93a94ab4d404975acf9ece215694b8dcf5475b6165b3b4a9ede989a14d6ddde7caab37fce823b5573832301fcc4f160d198b968ddc79ee4f59327d7e774fee257bdbdee1188572445c4e3131db5610055964585cfbcabb33f3e254ea57fa1eae30dc5568f874f7c6576d5fe226d10b89c278f7d762124f9ae07e62527a0336ab9287586498d719cddb3e6a7a4a415961b1da53663b9d5a2c75fd2a0b3ad75243a59951413919800e7bbe5da33dab271a98bfdbdbdbd807d088a4e498a8b998dfba07326c98d2fa2231120024480081081292230bd25e34f19d51798ec93046c66e38e1f0220277c2511f5e2202e4660ae38d6580db08e0d1ca25e44f9804392ef31b783cca18a09d01ca6207f07f0051b713c251f07a56720dbabd5bfee5c18b36463be3629b8f9c0cea6b3101d16d6dd6a0765c1e3a8f006db2dfacddc1099aefc68a55eb3663d585bbe1b8f63737da76c35a5b6d131be2fe5e20870ca9f7d240a060f57e3b8ae5feba8cbcfae0350d61eadff9e94639badf2491cecd4951cadcc885f7c1f804732fac457163dc1e9c563353ff0aa4a2e9ec6c2477536d6984aada0b434d51be3152ad0989f46bde8eeda5794b9b705eb3737d66785a2eb95dac347131f5beab6703d40539a9beab384229d2437a194ce4480081001224004a684c0f4968c381f7d4e5e2fee11d6acec00e80648650f002797df15bd34378bcd53634923d38b98c05146de503ee29f47d9c511a114af706c12cd370ecb0edc43478bbda305e61bf3503e7739aca31fa6312ec0be4284ea574d4d38a1ef8608d489ee5991008eb74f74aad353f496fa55853d9fb49c38b8a702bf7b231b87a151e6edd0a784f535efabe02780afcc2b117fe22363dd702cb4ff6403a717d11ceffddd95a18a493600e04217a9f80f7133e73d1fecf148cad158dc347b5723a717d1a2b903fec341a74bc521e9cea69739bd88161dea197a655738feecdb1e4f899fd39820d2dcfcdc4d454480081001224004ae9fc034968c386a8836f6eff3314051f0f1f65b767a9a1d3f07f8940d3af2459dfc09204448cc1312e2b3785e9477908b23be2b70d328080553c647a1461cec6a6b39d31fe2a1143cf4592b965bb7649f369a373fa67b4091a0d666a8b52b96953d5c215ea12c8ac3e2194a3672ab5ef6b0552f420d577dc6677eb61ddf2160a654cec3170e9d9fb06aa5e22b999bccefc43530e88933d62bccfb7b88e32432bee03a8976656e935819852202448008100122c0084c63c988cb50f06f721c68c429661c05f435b1cec35254904fb1c9e5a2b1ae25ecf26b21f3e742823ff3802f8a32e5e2885c023719caf717170009d6f1fea783b94b2366f51617170b79a3e7165b35fec1d1bd82aa0a933665c5ba3cb0738ba07de36026b72a250cda0ec8ae7a718fe06b8a522691ef69624ec16a6e0cb1ef1fb2f13bce9c7741428c3a5b07be439b41beff017193d03070be97b543b7bb689584da94680f8e4f1a731287eaac62c9cc62481de4b849f9521e11200244800810814920e0fb37de24040d98106f013cc25e49c40fdef5b1652ef8e915d4859286520f55268e4d1e0278056001d39aa805ffc0bc37b029e9156cc61933bc53a1f8921ede8262096741bfcf86270b64e2644ad61a6099edce5e5024ad345775bff17ec292d5f7867c6032571f71aecb50681badd5076d2760bef2415d7af240a37e0f3455ae3f77f2dd131fb59dfd0ae6c5e2601c0cf49ee33b2c11a721945ff5f29b6ad939e988444d7949790874edabd88be0bd16362f15f361e0d3d26aeedd409c3e8ed5984a2c6be7def5609a2a0ec718b98ff508ab5e7ce23b7effb6b32c439151d9f89dc6373ff93a54a97e60fed0b1ecfddef02c11e9b974b4ffd30d2ac5fa5fec885e97f0a036899b9517fd1ed8d5b8f67079cabc4395b9b8a6267dfed066f90e729e3a8b1f6e9c03191120024480081081292030bd2563290e67b1c5ceb87e853761ba52b81e7b4655877a7191b0ce1a0b516ba27c7c186009c06a26465e00405188ef38f2f61cc0fd4c353ecbae7169369a641c5612e8075b69edaafb9e5baad0e61769b12f7d273fc06385a97caeb5242d252db7288d75d0d5ded8098e4b677ad6aa53b529a99c27da6057736d297bbf1005b64f9caa92ac2870e1aa17b116e46f64c7611c328e8852e83314e076fe492419b92f45c6a8f4192a70b53755d7a1dee4321469e8c855dad3f652d99358ab9ff8f60a5342c8fe9fe8554bf5594b5965fd6d27f0033b18c77d4918d71ce01a1086c387b6e257d71cca4a4d589aae0577cfe19a57be9b97ffbd59bc72e46ef66d0f0bc9adb0420b6683947c8ef8887579ccd1ee879be044672240048800112002934c60c6b7df7e2b0ee9bde413e2e337df7c839e98e335cc11a7f94b3cfa9adbedc64c3c8a13f8b1393e13137c91f8c817b5b5b53dfffcf3e2164e493a03201cd72c8816a9f8a90627b21301be06382c72c24c5405e21c512137f73dd727be641cf15d019bd6e80c0b63c37b3fb739f82520ac234a9de19ec4f0a1be5ebb5d344ca8d418140bc3c361a8b7d5ee18af06c571b20bcc732fb6ece224df249852a98c8ec6a7f8650bffdd489cf5be727ca5c1a0c0dfc9d0e74e8770975c53b8ce860f497449ee061c6734e418925df6bdd6f1147071b679ffce2c95d35666aa14a6adfd7293af844a880011200244e01a09747575cd993367e6cc993366cc080a0ac2231a5e62384ce0111511af7f868686b66fdfae56abd10d1df038ce82838331078bf8049fe67d787f3cfa1a5f1de673153313a73103db8039def6f039fcd19b89896b36928cd78c8e6e2402534a4063a97a3ce4ece9bed0c56bd66ae3c2fa6d3fd3578a24f894d64dc1890011200244601c01928cd37b627adccf812e89c02d4420f2de155a459096b5c8d5667b91f4e22df470a8294480081081e9478024e3f47be6d4e3c020e0282bb228e2627126bcd58e1fac2423024480081001227033099064bc99f4a96e22e08740478bcfdb9d7ebca98808100122400488c05412e05e93242302448008100122400488001120027e089064f403878a88001120024480081001224004380234314dbf838025a034e41992cf750ddfb3e44eb87c194242063e6eaab63ac6f6c7b0b57653ec177fcc2fadf3e42b0d964d2b7adfaddf7bc5f703f9f8c7f78eee973d36f4ad7ba5cbdbfdd4cade3fd56fd92b7c94e7d66d2bb58c0810012240040283008d324ef1737a1a60fb1457712b8537e495546db5e8aebb4913895352f1cb5c53cef2653fccd0eb33d0f4fa478d3e35eb96e9d48a54fd5a83b74989cbd6ebf5ab96b10f797b33a5127cfc07e2a4ca6e54de4438f8b645b77c65aa4291ae5fe65b44394480081001224004ae8d0049c66be336e1bbf07bddabd9d68213be23a01def5fb95a9bbe5ee7a3dcaeb653578ca3ccd9919112d4d35c6729316ddab47c5359236ebee21ab93cbe2287e3f563cd471a443b370f5c464f5fc771377ae397ded471ba2b7218d76cfed2f1ea2b479a9b6dafe2de446444800810012240042687004d4c4f0e47d92823b225b765c130b71d9edb47b85d755faf14c750f2c4527077727b430374e01768a207b1e220897a1c95c5e3a6aa7937dc4ddc8f8d89efc76faa8baec441a6fe0edb9642cfd68b321e944d04880011200244e0ea084c7bc9f81800ce1dc7326a283a8e003cc3724c00b84f613ec04256847b43e7b204ce32e3c0216a1374c6fda62b04dcc5006b581c1cc21a00c0bdaa7702dc216c367d2773c31d05ff0670da6f1c215ee09d951a5d74e41db338d9367791410310170e3d4e3bbfb55eded6da4c9d3a8ae3d6dffcfa8b85954cd0e02b77851b529362f8ce0e761f2fde606ef11b87f7ccaeca5745405bc38bfe6491a6e0e0b61f45e3c823040fb4bd9669de25463a321c9b57d5b051ab0803e8696f346f2e157ff8d037be6ffb8d25fb0bd3137b4fbf99995f8d9195395bab9f7870e4afffb9613f1cac7ae4cc4bffdea9de94e913df370edf2aa5d152f1d4da94186c0e221a743a5e32ed6bf5c393bf6bdc5153b063db8f54dc2f13b7e00c06e76bbf29dcc5e4b224e77137d3251120024480081001bf04a6b764dc08f02cc3838ab01fe06e801476399b6d18cd6f6d8de2ef5e8028965f03b012e002c05f00b4002837cf00bc0cb00d602d7340679489a83271fbe2ad008b59261e0a85c46b00a500727104af403c5bca6a8c0acf309f36bf0cf1a0751d86cc0a7b4ed5a15c6d02f4771e6b3ebb7845da52e333559dadc5d68e92a737a6268575b7379feaec9fb3e04ed5dce048003f713c5834662e5af7b127793de4c9f5399dbff8556faf7b04e2154911f1f844476d1840956551e133efeaec8f4f8953e95fa8fa7843b1d5e3e1135fbafd153663ba45959ad550f257534572757e7a1cf41d38b80b222db11151498cc0b8f8d271ac1dcaecaafd45da2070394f1efbec4248f25d0fcc4b4eb094e5c9f11cedc9b8d4c5fedede5ec03e0745a724c5c5ccc67dd33993e4cc17d19108100122400488c004094c6fc9f85346e90526fb248199d9b8e3876c6539ea3fd48b8300fc8b7a38d688a34bebd8c021ea451cdac121c9f7984c3cc8625531019ac314e4ef00be60238ea79883641c949e816caf56ffba7361cc928df9daa4e0e6033b9bce4274585877ab1d94058fa3c21b6cb7e83773435ebaf2a3957acd9af5606df96e3c0eaaf59db2d594da46c7f8be948b23c0297ff69128183c5c8de3ba7eada32e3f1b57492b6b8fd67f4fcab1cd56f9240e76ea4a8e5666c42fbe0fc02319c7c7976d7ff5e6e245ffbd334b91f1cba6d5413882dcbcef97d5d8430df75b401b1f5f395786c3eb454f707af158cd0fbcaa156f576a3e94e6c9824b1e5aeab6703d46539a9beab3041f9d2467a194ce44800810012240042644607a4b469c8f3e27af17f730bd881877007403a432a0280dde15bd34374b58dad2c8f422bae028236f281ff1cfa3ece288508a57383689e61b876507eea1a3c5ded102f38d79289fbb1cd6d10fd31817605f2142f5aba6269cd0774304ea44f7ac4800c7db273ad5e9297a4bfdaac29e4f5a4e1cdc5381dfbd918dc3d028f376e853c2fa9af755b019d709e04ac49ff8c8583f1c0bed3fd9c0e94534c77b7f7765a862920d00b8d04522fe3d72ed0768a9feb7ddc9b5f969d8a5eee3bb0bf7b6f0f548c7bf877be6521c1ee266e67b3ed8e391ac7c8c2b70f038c99da2433de3bd9c833467b95b299f08100122400488802481692c1971d4104df457eb784028f878fb2d3b3dcd8e9f037c2afa9c65a7c7054284c43c21213e8be7457907b938e2bb02378d825030657c146ac4c1aeb69633fd211e4ac1439fb562b9754bf669a379f363ba0714096a6d865abb6259d9c315e215caa2382c9ea16423b7ea650f5bf522d470d5677ce667dbf11d02664ae5bc309c12fe84552b11df4ffbf1fec458ae7768f1cafb3550c76b46c9f8cef8ef4873504673f7e33d7e6c3c073fae124557e62c71136511012240048800111843601a4b465c86824b5570a011a7987114d0d7c43a0f4b51413ec526978bc6ba96b0cbaf85cc9f0b09fecc03be28ca948b237209dc6428df5f5c002458c7fb9f0ee62e8d98d55b5c2c3195dc62abc63f38ba57505561d2a6ac589707766e11b46f1ccce456a58441db01d9552fee117c4d51ca24f23d4dcc2958cd8df1f5fd432ebebff61bca4bb3d42887db7b63554969db6acdfa27b12fbc8d8fdff1fe800c07dd791724c4a8b375e03b742ac9c15383ce9893385427fa7c9050b5c4598eb3842b6511012240048800119022308d2523e2780be011f64a227ec0ae8f2d73c14fafa02e9434947aa832716cf210c02b000b98d6442df807e6bd814d49af6033ce98e19d0ac597f4f016144b380bfa7d363c5920132753b2d600cb6c77f6822269a5b9aafb8df71396acbe37e40393b9fa88735d8642db68ad3e683b01f3950fead293071af57ba0a972fdb993ef9ef8a8edec57302f961bad1be83dc77758224e4328bfeae537dc0b83d21691a8292f290f81ae7d157b11bcd7c2e6a5623e0c7c5a5acdbdeb87ef1ac66a4c2596b573ef7a304d1587638cdcc77a84552fe3e3b7c8b4dfd4d9f09c3e025c8d3b324b6dc686268b42cd96c2bc29131fff6122c9c154f9fbb79d65198a8ccac6ef34bef9c9d7a14af503f3878e6517eec2a64a70e0977e2bf30e55e626e06f70fed06679201c019dc50f67ce818c08100122400488c004084c6fc9588ac3596cb133ae5fe14d98ae14aec79e51d5a15e5c24acb3c642d49a281f1f0658c23ed98d62e405001485f88e236fcf01dccf54e3b3ec1a9766a349c66125817eb095d6aebaefb9a50a6d7e9116fbd277f2033c5698cae75a4bd252d2728bd258075ded8d9de0b874a667ad3a559b92ca79a20d7635d796b2f70b5160fbc4a92ac98a0217ae7a116b41fe46761cc621e38828853e43016ee79f449291fb52648c4a9fa102577b53751dea4d2e4391868e5ca53d6d2f953d89b5fa892fd97ecbfe5cfc428ff3f0ff614db699ca55ff5d6954641499dffb93647cac4b320ee6db2b4c0921fb7fa2572dd5672de51a05fd6d27d85982039f8f47fe3fdd60fc014b19b6c1638e763f9c05273a1301224004880011b8028119df7efbadd8c57bc927c4c76fbef9063d31c76b98234ef39778f435b7db8d99781427f0e3717c2626f822f1912f6a6b6b7bfef9e7c52d9c927406403800be98f8de04c2e3447622c0d7008745ce9889ab1bc439a2426eee7bae4f7cc938e2bb0236add11916c686f77e6e73781684703d51ea0cf724860ff5f5daeda26142a5c6a058181e0e43bdad76c77835288e935d609e7bb1651727f926c1944a6574343ec52f5bf8ef46e2acf795e24bb7dfb72d1a4bd34ee3b9c69aecfad39ae8f3def85e47f9384a834181bfc3a1cf9d0ea155fc5d620ea3710c398664977daf753c355cb46ddebf334be5b495992ad92b9a788f5fcede98942002448008100139025d5d5d73e6cc993973e68c1933828282f0888697e88f093ca222e2f5cfd0d0d0f6eddbd56a35baa1031ec759707030e660119fe0d3bc0fef8f475fe3abc37cae6266e23466601b30c7db1e3e873f7a333171cd4692f19ad1d18d44408a80c67274a7b1cb6631554e8eba95aa43324f63a97a3ce4ece9bed0c56bd66ae3c2fa6d3fd3578a24bbe43d944904880011200213244092717a4f4c4ff067426e44e06a08e0a4f0c8d5f84f926fe4bd2bb48a202d8be66ab3bd487a7192c05218224004880011e0089064a4df01119854022d95ab96574e6ac40906739415591471b138b3dd6ac70f5c921101224004880011984c022419279326c52202379140478bcfdba037b1355435112002448008dc5e04b8d724c98800112002448008100122400488801f022419fdc0a122224004880011200244800810018e004d4cd3ef206009280d7986e4735dc3f72cb9132e5f869090818f9baaade3d6291bb6d66e8afde28ff9a5759e7e2a0d964d2b7adfaddf7bc5f7fdf8f8c7f78eee977d5da874e6f255c31fffd72eeb4d58c6acd4e896deb3282a34b4ff5cbbd5360e9144af26e47f1bf19140405944800810012230960049c6b13c26fd0a77a6be13e099498f7b8b0634e495ac5a74f98d2dd7fb819989c429a9f865460a389afeae5bc5beca8ddfe8565d1e2f1975cb746a45903ad8505ae7f94461e2b2f57a7dd7e577af2819f9f88d1d7b3d9f17bf4ee43adda37a3da82e4f8e645466d756e7a9e322da0f58aeb0fb0b68aa0e566993f0aba11efbd94f4ffe7a7dbef0c1462177f43c51ff5b9acf6877284504880011200293438026a62787a36c14fc5ef76ab6b5a0acc76d5570ffcad5daf4f53addf576ea8a7194393b3252827a9aeb2c25a64d9b966f2a6bc4dd5f5c2397c757ec70bc7eacf948836827e681cbe8e9eb38ee466ffc52796d35ee962b5cb27a255a7885db248a73ca6b9bea8b502f625970287e83debfc5cd8b0eea3a79a461776565cd81f63e77505cea268b41fe9e09f9dfca7ce4bb462544800810012270ed046894f1dad94de8ce9bf181be09356c6a9c86b9edf9dc3ec2edaa2bbb521c43c9134bc1ddc9ed0d0dd0815f94891ec48a8324ea7154168f9f87656eb89bb81f1b13df8fdfd516795ba8c4665fedcd1e7fc35abd3ac2ddd3d6016adc20fbca66dfac1f95bdad51eafa5cb5df9b26e27f2bf3f1db392a240244800810816b2530ed25e3630038771ccbf8a1e838c2269131c70480fb14e6032c6445b837742e4b6c674386f8373f3ae37ed31502f86280352c0e0e610d00e05ed53b01ee10369bc6b969341c15fa1bc06996968bc30a03f280afbf4547de318b1345731719340071e1d0e3b4f35bdfe56dadcdd4a9a3386efdcdafbf5858c9267b7579bb0b37a426c5f0fd1dec3e5ebcc1dce2370eef995d95af8a80b68617fd4d196b0a0e6efb51348e3c42f040db6b99e65d62aa23c3b179550d1bb5b84d34f4b4379a37978a059c387ede8e831b62ce7c78f1aef4d4b8eee30db60bcbf3f50a57f7b12737e06ed7c66aeb5369295cfbdd833deffee7cee25d1e71a6345a2a9e5a9b1283e1b932a7e325d3ab5c72f8524841f9fe4cbd0a0bfa3b8f57649b793d6b34576dfca1663efabb5c1706ddbdad2f9b8a85972fb9fbc4e67cf3404377f52e67416dfd8424a3f85ec87e2819affb7a7bc6e4ca5f48fadfda7cb8ce48f0df520792bf37f496cb97c7422544800810816948607a4bc68d00cfb2878e8ab01fe06e801476399bc93b7e6b6b147ff70244b1fc1a8095001700fe02a00540b97906e065806d006b99033aa34c449589db176f0558cc32f15028245e032805908b237805e2d9525663547806d1b4f9658807adeb306456d873aa0ee56a1350221d6b3ebb7845da52e333559dadc5d68e92a737a6268575b7379feaec9fb3e04ed5dce048003f713c5834662e1a8ab65de3870f3d0efce9fcc5af7a7bdd2310af488a88c7273a6ac300aa2c8b0a9f7957677f7c4a9c4aff42d5c71b8aad1e8fb1f1678747c728b4e9a8fb5cee843413fe23c2e5728725dcbf5e63505759d411a8388fbfff65f0f2f4a55a53d98ee19ec2bd2dcaecaafd45da2070394f1efbec4248f25d0fcc4b4ec0e0f8af8c287586498df53abb67cd4f49492b2c373a4a6dc672ab458fbfbc41675beb4874b22a29262291f397b18eba6a4edfea42affa3fde9caa8319aa2877d7919abd2d32c1c7644bfbdfea7c408ebfe4ef0d3b2c973f86055d1001224004a63d81abfe5be7b622f653d69b1798ec93ec98998d3b7ec85696a3fe43bd38887f5733577c49b11a601d1b3844bd887200d5c47b4c261e640e554c80e63005f93b802fd888e329e6201907a56720dbabd5bfee5c18b36463be3629b8f9c0cea6b3101d16d6dd6a0765c1e3a8f006db2dfacd9cc4d3951fadd46bd6ac076bcb77e371acadef94ada6d4363ac6f7a55c1c014ef9b38f44c1e0e16a1cd7f56b1d75f9d93850a7ac3d5aff3d29c7365be59338d8a92b395a9911bff83e008f641c1f9ffd27d2deb0e59d7b7f919b1ad377bce6dffebaba3e5719b33a13f5627ffb81f59bf1770060dc7ad492be34334fb3f7fce62738bd78ace6075e15ca39682cdc11c0d958632ab582d2d2546f8c57a840637e1af5a2bb6b5f512627e494e6c6faac50de75528fd9e50df86ca0bfedd7995b4671cb5721e77fcbf3511649f2079de4ef0d7f9132f9f268a88408100122302d094c6fc988f3d1e7e4f5e21ea617f167b103a01b2095fd407072f95dd14b73b384a52d8d4c2fa20b8e32f286f211ff3cca2e8e08a57885639368be715876e01e3a5aec1d2d30df9887f2b9cb611dfd308d7101f6152254bf6a6ac2970ddd10813ad13d2b12c0f1f6894e757a8ade52bfaab0e793961307f754e0776f64e33034cabc1dfa94b0bee67d157e4718451813f1273e22bac6248e85f69f6ce0f4229ae3bdbfbb325431c906009c54968a8f8d76eedbe5d0ec2fc549ec43666bb4790dde177717cef0ba3f7ceb752e089aedadbfffaf7455e8ac3878889b69eff9608f4782f2c5dc919b96ef6ae4f4225a3477c07f68e874a93884ddd9f4b267e02f3ad433548b03ae0d478ddcccb9d75c872d3f9870c7bd777109637943915e013d27cbfcad951ebd45ceff96e233dadc312939fed2bf37b9dfe198907441048800112002d3fabb8c386a88e6fdfbd9f7d780828fb7dfb2d3d3ecf839c0a7226c9d1e17081112f38484f82c9e17e51de4e288ef0adc340a42c194f151a87a06bbda5acef4877828050f7dd68ae5d62dd9a78de6cd8fe91e5024a8b5196aed8a65650f578c2ed50010c561f10c251bb9552f7bd8aa17a186ab3ee3333fdb8eef1030532ae7e10b84ce4f58b592f1d17d045f4fe57e2baeafda8546cd0ce6f287fabc0376e1c1bc3855b2b0582865ae011ca61e35af5798f7f713c7496a177379fb95978717897e3ac3bd8e890ae5d12a30a52bd86dd12bdc3dc78bd69b2732212def7f6bf119d349ef853c7fb9df9b5cbe3724258800112002440009e0df72d3d570190afecd8c038d38c58ca380be26facb9a2b4405f9149b5c2e1aeb5ac22ebf16327f2e24f8330ff8a228532e8ec82570939ef7eb98c2e27bd1f1fea783b94b2366f516174b4c25b7d8aaf10f8eee15545598b4292bd6e5819d5b04ed1b0733b9551761d0764076d58b7b045f539432897c4f13730a567363827dff98487cfe3f17fece1ee759502896acc9013b4e7f630fee8e4501e81a19ea3873de050931ea6c1df88e0806f9fe07c726a107cef7b276eb7617adf2eac8169bbf570ebf1ce6064f47867bd88da283ce9893385437fa5921e3d33f4ec517037e2da71727ec7f45fe37988fa7cfe3daef97bfdcef4d2e5f8495924480081081e94ec0f76fb0e944e42d8047d82b896fe23b756c990b7e7a0575a1a4a1d4439589639387005e0158c0b4266ac13f30ef0d6c4a7a059b71c60cef54280e42e12d28967016f4fb4ca217c8c4c994ac35c032db9dbda0485a69aeea7ee3fd8425abef0df9c064ae3ee25c97a1d0365aab0fda4ec07ce583baf4e48146fd1e68aa5c7feee4bb273e6a3bfb15cc8be56660077acff11d9688d310caaf7af94db5ec505b44a2a6bca43c04baf655ec45f05e0b9b978af930f069693527ef703a3856632ab1ac9d7bd78369b8e8d8e5e43ed623acea908a2ff19f497fd31fbbf58a84b49fd496cf7efbd3d0758f3f8ad2b3f3c81b0e7084bfed2ccb506454367ea7f1cd4fbe0e55aa1f983f742c7bbfb7392c11e9b974b4ffd30d2ac5fa5fec885e97f0a0f0c96defef67ec4dec4a9967d9b428e272b822112fe76147ca1f0db97ca69eefb232ef50652eae9d499f3fe4f9c4b74e158f22346ceebaea1d1bc2f9c1cce00b67de28e6e7e527eefff62279fe378f8f6ffbc1f17b49fe07674bffde7416e97c09f294450488001198d60424fe5f3f8d78e0cb6938c6838b57f00f6fc274a5703df68caa0ef5e222619d3516a2d644f9f830c012f6c96e14232f00a028c4771c797b0ee07ea61a9f65d7b8341b4d320e2b09f483adb476d57dcf2d5568f38bb4d897be931fe0b1c2543ed75a929692965b94c63ae86a6fec04c7a5333d6bd5a9da9454ce136db0abb9b694bd5f8802db274e55495614b870d58b580bf237b2e3300e19474429f4190a7cf5f04f22c9c87d293246a5cf5081abbda9ba0ef52697a1484347aed29eb697ca9ec45ae5e3bbc175093d8771a87254c9618cba0d6509879e33aaf5b8069ab3ce630dd9155cfbed15a68490fd3fd1ab96eab396b2a2feb6131800ef715f12c64107b80687614c5bf1ab6b0e65a5262c4dd782bbe770cd2bdfcdcbffde2ceefd4f194b7c682dfb480f2bf674c49dfcaed065fe3fe9603678c9b90c70fd85a0b8a56971ec0eeee09a8dfffaf1d804fdabd28c32fc6f329ff1ed97e3ef6897f9bd1965f2054074260244800810014660c6b7ff3f7bdf03175595f6ffe0f05f461a444325c966dcd99c8a6c70236b4679756734e4d7b809b14961bcd18f379697e5b3c9941fde80966c21df0feb922d1f75fd49524b92ebf433ab21f9e90e56da8249491bc568d46cf226418acc38c8c0efb9e7ce0c97997b01753088f37cfcdc7bee739ef39ce77ccfc5fb9d73eeb96770900b85fb924d708f03030368891ab7a0869b662ff1e82d0e87039578e426fafbfb592526d82cee91cd6a696979fef9e7b9118e4b3a1120049ff99c452a23549340bea1f303c0418e112af129cfd5703299b9ef995efe79fd704b4ddab452adbd2922a4eb1b8389f3ea9c4cadbd6d6e88adbbcb68e40c13ca945ae94d212160eb3a653479b241ae9fd4ecbc99179bb63194cf072293c9c2c37194eedb26f6bb9138eb7d95fe655add6d78ef7834968428d36aa5785fd9be319b5cb50885ce801362e38140a880b05ea64dd7ceb71b77d478a22950648cf613161fe1f8f9f017badf84f402a05135458022300511b0582c3366cc98366d9a9f9f9f4824c2230a5e221498c023322296ffd86cb62d5bb628140a3443033c7a88bfbf3f6a308b4db069d686b5c7a3b7b0d5a19ea99808378d0a8c0135ee78580d7b742b3171d54229e35543470b5204280214018a00458022305510a0949161a354280214018a004580224011a0085004280223204029e308e0d02c8a004580224011a00850042802140106014a19e97d4011a0085004280214018a00458022300a0294328e0210cda6085004280214018a004580224011a09491de0314018a004580224011a00850042802a32030b5bfcb380a38347b622320d3666ae79fb3f4dd76d72d70f9320404f4feb3bebcc6343c68ede69d8f44fcebbdacc22aa75ea6d53fb2b4eb833d3b7043eb9185f57f6cc7d07ed923db8f92abce2b5ed1f7cfffbbad86f3e5a1518af82c5ba654c7ddb6401c18d873aeb5c6e001114f2d63b29ff8f8a8332b9f58d6f5f73d9b7618791a495514018a0045802270250850ca7825685d852dee4c7d0bc0535751725216d16616ac5870f9ad4da5a3b39211db37163f0525ff951803a6faafd42bc857b9f143d9f2cb9e9451bd44ad908a14fedac22a276b98bb2449a3b15cfe6054cac8faaf6bdbe1fcbcf888018f9ea9563fa8d180fcb26f28a32c756779a62232b475afdeb9cb8b6004cab2da32d7ae328cd16ffebdf9f74959c21c6aacf6131a1f8286fa9e65b15229042d014a19056f0f9a4111a0085004c68ac0b4b11a52bbab4300bfd7bd926c2d7875c5275ba93b97ad542524a9d5d71af7a87e64e9158931a2cec62a7d41da238fdcf348511d6ea662efbfec59b1c974a0a1f170f5d08ecbd07b192dbd0d3d0abafd170a732b8f22a35c927a79221ca5184f767af1cefa3db9c81731cf3f10bf233eb244ce0e17599a0f575796966edddbdaed1045c63ea2d70a971993fd44c6c7dd34d3be370e37361af6e11e4d54280214018a0045e05a11a0a38cd78ae028e587b6981bc5f0a791ddc76ccfe7f0226e57dcb8d1fc680b1e8d03473bb33734401bce30875bb162dc4bd94b4ca5f99e239ec40c77131f4186f91fc1ee4ab3dc11ca30ec2b2decb4d7aed628421d9d2d6da0c00db24717e306cd10ed3d2556ecc9603738142a3916fb898c0fa75d6d864d39be1923e638a5498a0045802230451198f294711d00ce1d4790ee47d271984c22a3260d00f729cc02b88964e1ded01924b1850c19e2931f8d71bfe912d77d930fb08af8c121ac5e00dcabfa25801b5c9b4ddf42cc7054e80b0076775f213f2e7f93ef8cafbf854fbf2198214533176895009121d06936b25be5656ede99ac568819dc7a1a0fbc9c534a1ee4f8aa59cedad86809db586bc7b1fcb5794d23fa612d53cbb2e4a1d052fdf2487440995dfbc2afc271e411fc7b5bde4ccedbc685b4bf2f22b3ac7abd4a1a04d0d95a97b7a1904be0b8fe332b6ad74ace9cbc786b426c64c7b16ac3857bb234527b47c3e36b71b76b5d79cd13f1314cfc0e6be7077f7b297f9b939cc974fa922756c748d03d936736bd92b68f49f65d0ac82ede9d4cf688ee693f56929ac7f2595d5ed9fa5f2ae7a0bddd7ec1eae83af56a5abeebe54ba61c57ccefecadee28df66cedeb9674c94915b1652ef9d8fd7dd5d9dc3b4c217bcf6131b1f506657bcf02b39f3178a5b91fa83f9cd3fe46c2330f3de6fc26da73914018a00458022c045606a53c6f5001b091ac8087b001601c490cb30b26134bbb53592bfdb01c444bf156019c005808f0054004837cf00bc0af002c06a6280c648139165e2f6c59b011612251e725c8937010a0184fcb8ac26e3595fb45527750ea2a9b28a101e14cb41482e31a697edcf5045414f7b43e3d9854be3e3744f95b59fcaaf692b78727d6c7450476be327ed3d33e6dd229fe93f1d60043f4e5894798c37246d2c0f706abd4ee72f7edfd5e5e88759d2e8d059d8a343d207204fd1cbb1cf2ded3db36222e59a17cbfeb936bfc66931dc7f5848b844aa4a40de677744c5a7e18f08bbdd111475679252ab28d32b4291711e3bf1adff3d0971aab4a28abece9c1d4db2d4b2ddb92a11d8cdcd0d5f5f08987febe2d9f3a3d0397218b122314d81f59a3b82e7c4c4c4e714eb4c85065d718d5e83779ed5dc72aa3f7cbe3c5a123a97b11790b6aa7286dfaa03aff88f37bdac36512e76580e6fddd124e07c989adf7ea2e30370b1a7abab0bb0ef45e131d1919230e7dc3deffd36acc1f482224011a00850048411b8e2a78eb0ab4998f3ef24e61709ede30d3f8f8c3b9ec457c608ff43be68c5673531c59714cb01d6908143e48b4807904dfc8398d51283324240d309837c0de05f64c4f113613f483d27b3ec2bff7dfb4d92bbd667a9a2fd1bf7be547f16c283823a4e194196fd10323c6bab5eb38119ea51171f29d5285725414dd3cdb37010aefb13c3d642c3d018dfb7427e5ce0146f7c400cd683e538ae3ba2b45565a5e2409d6ce7913d3fe7336c31943e8e839dea8223a589b316de01e0a48c9efec99f486bf5a6f76f7f3a2356d27d6ceb7f7eb6724f864cb23219f9624febdea40d781f00e8361fd127c425672a779cdff028c3171bb62e77b350c640a9678e00e6baad69853520d3d7efd1cd92ca4199f724f2458765576e3243e46479757b520259539f1e538babb16fa0a7e5f7c99b86e016ae42c87ee2e3d354b589e97914595efd9e145713d5bcf79b2b979e290214018a0045601404a63665c4f9e873c27c713be18b0860054007402c811227973fe0bc3417ec5ada5247f8229ae028232b481ff1df83e4e2b02b17af706c12c5db0f514fde435b93b1ad09e6e832913e5b4c35431fa6d1cdc3b642a8fcb9fa7a7cd9d001a1c8131dc1d3014c878eb72b126234fa3d2b723a3f6f3a5ebbbd04bf7b23e8874023cbacd0c4047537ee2a61277447c76b2edee2fdc3cd702cb4a7b99ae18b28a67f7c654f944be66b01705299cf3f066ddeb5cda4dc5d8893d8fbf36ac2f35661b9c85b7186d771f2dd034edf8677bffa6d823c303812ee6566da3b3fdeeea4a0ce7c3c31d3f2963a862fa2843307fca1a156c7e210767bfdabce81bff040e7502d0eb8561fd13133e76eb11fd42f1f73c3dda59884aeb83a572385cee6a291d64a0f1511b29f50f80c852b94e2802974bf0915a57a8a004580224011f040600a534676d6d8fd7cf600062f91f0b1f217727a921cbf01384d061dd9ac76f60410e04acc7625b867eebc286b20e4875b6af2a69110ba44364b8cacc76a69693ad313e044c9dff6f529ccafd994faa52e6fc33af56269944295a8502d5d52747fc9d0520d008e1fe24f5bb09e59f5b29dac7a71d570c567ecf3b3adf80e0111996c36be4068fe9c54cbeb1fcdfbf1f55486f2d9bf6f750535cd9fd1dbbadd037621fe2c399511b798c927f65e2b57edb60a72df3f910ca5b613a3436fbcdab78073ebf47599c64a94b995803abb52af913a3a8fe526e58d65425ad87e62e133ac9163b818fd7e1b83136a4211a0085004a62c02539832e232147c32e340234e31e328a0b7703eea646500004000494441541ed64c2632c827c8e472ee70d30272f9834bf93b57823db3005fe42885fc704c266fd2f97e1d61586c2bda4e9cb666c4850677e5e7e77bb7abc9508eff70742fbbac244d15b3744d26189945d0de7e50c9acba088296bd82ab5e1cfdf89a229ff0e89d21a667af64c604bbff672cfe99f713c8ea263c769acf82547ad7aa7430924950d9a2082480f67e5bdb99f37688922852d5e03d2228f2fe832393d0bde7bb18d7a0aecc5de1e6914d86915e39fcb68f193cedefeb24053907b52e7daead6ae8b342ba277f1d8b2f06fc5e882f8ed97e54fcaf333ece367bc6cf81c22b2974bf791952054580224011a0087822e0fd04f3b4f8295fbf0bf0007925113fdcd64d96b9e0a7579017f20a523d64993836b91fe00d8079846b22177c9d58af2553d24bc98c332adc53a138088545902ce12ce82fc8f064b6809f64de5a2799b2d5dc05d2e86579651d6f9d88ba6be5ed011fa7e5951f36af4994aaea6aca6b0dc7618eec6e75c2fcde3acd76a82f4d3ad7fcc1f14f5bce7e0fb3239819d8deae736c8379fc5407b2ab5efe502e38d4163a57595c501c00965d253b1078b704cd8e453df49e2e2c67e81d4e074728d30af4ab67de7a773c2e3ab69b998ff5b85675f0f9e7f933e9a97faf43238d8a7f6c6771d8a1d3816b1e7a10a967fbe1b74c600a39642e4a942696d6dd58f7cee73f04ca148be7d81a5277bbc32189e9ce4b53eb770e904b939eae085f1375b7eb93dbeefb6778217225cbd43fb220f47288742e5ecec686143f1870f9cc1eb6c9b2ccfda519b87626618ecdf9896fb57c1692d0a0996bca2bd686b08399fe17cebc95cfcecb8fddfed00261fc7f3c7cbce3e7418ca8d4fa11ee37a142544f11a008500428026e0478feaf77e7fdf413f8721a8ef1e0e215fcc78a6bbad2753dfc8cac0ef9e202d73a6bcc44ae89f4f17e80bbc827bb918cbc0880a410df7164e519803b096bdc48ae7169360aaf1f9233d90f86c29d2bee78264eaacaca55615bba9b3fc663495af1cc9a82f898f88cdc78d2407b6b5d3b982e9de95cad8855c5c4329628564be3ce42f27e21126c2f3f65052962b0e3aa172e17640b92631f0e19878aa59a4429be7af8770e6564be1429916b12e5606fad2faf42bec928a4f168c854dad9f24ad1e358abb07f07d82fa1651f0e550e3139f451b5b6286aff333a8506d74033d2de509d5ac2c46f2c498b0ad8fd98461ea7498923593d2dc7d10196715c728d83f6320107a14f43febe55fb5362a3e21254e0e83cb8f58d9b33b37e1eccbcff292073ef5d4d3ed243b29d0d71ccffc0d564f64fda9f0c5e3226bd4c7b411419171f494a30077b18fefa71ca18edcbe27502f8ffc8f878c6ef6a177b66dace8aa97584fbcd6544cf14018a00458022208880dfe0e02037d37dc926b8c7818101b4448d5b50c34db39778f41687c3814a3c7213f8d134568909368b7b64b35a5a5a9e7ffe796e84e3924e0408c1673ee7fdc511aa4920dfd0f901e020c70895f894e76a3899ccdcf74c2fffbc7eb8a5266d5aa9d6de1411d2f58dc1c479754ea6d6de3637c4d6dd6534728609654aadf4a69010b0759d329a3cd920d74f6a76decc8b4ddb18cae70391c964e1e1384af76d13fbdd489cf5be4aff32adee36bc773c1a4b429469b552bcaf6cdf984dae5a844267c009b1f140205440582fd3a66be7db8d3b6a3cd114283246fb098bcf08f12bf376bf9422371b8ad24a8dced68f78bf092044d514018a00458041c062b1cc983163dab4697e7e7e2291088f2878895998c023322296ffd86cb62d5bb628140a3443033c7a88bfbf3f6a308b4db069d686b5c7a3b7b0d5a19ea99808378d0a8c0135ee78580d7b742b3171d54229e35543470b52042802131001a5beeca180b35f76072e5cb55a1519d463f88da694f3d36502464c43a208500426050294324eed89e9497193d220290214812b4060faed4b5552918a94b0b7185ea67cf10ac0a3a614018a00454018014a1985b1a13914018ac0e443c05494ab974646e01b01a78cf8a14f2a14018a00458022e01b042865f40d8ed40b458022304110686bf27a2b76824446c3a00850042802931901e635492a14018a004580224011a0085004280214811110a09471047068164580224011a0085004280214018a008300a58cf43e98b408c8b499d9993ae5848fdfc771aaf38a8bb3537dda6c75666575f5e64ced848792064811a008500428023f1a0294328e33f4b833f59671ae6222b9d76616946dd6abaf39a4b1f82928f9af8cb4f4c5431fa8bee65ac7c7818fe354ab1fd4687ead737f7dde0741abef59162b95266896f8c017754111a008500428023f510428651ce78ec5ef75af245b0b8e733d13c4fd9dcb56aa1292d4d7cc1947f5234baf488c1175365615ba3ed23c4110f008c3f771f65ec66d63ecfd973d2aba964bd3be370e37361af6e15e4654280214018a00458022c08f005d31cd8f8bcfb4435bccf9cce54476d4c76ccfe7b8763a339a1f6dc1a371e06867f6869ed0325e71e2aed1acc8007cf01d9936c3a61ce7568d2ec7f44c11a00850042802148161084c79cab80e00e78e230828c8760e033c45346900b84f6116c04d240bf786ce20099c65c681437c62a331ee375de242331f6015f1834340bd00b857f54b0037b8369bbe8598e18e825f00b0bbfb0af971f99b7c6799521d3efd866086cccc5ca0c557ed2243a0d36c64b7cacbdcbc3359ad1033b8f5341e7839a79410147c852e676d6cb4846dacb5e358fedabca611fdb096a96559f25068a97e99a539cacc8a175267d59619163dfe683cf1d6dd5c7dff0ea82d7ba0e36f2539db4c4c296566cd0ba970f295d4d7036b5e48bef461edfb01f7ae4f900701f4b41f2b49cd3331067c7a52256ffcfcf5666d6383c42337cecc8adab59233272fde9a101bd971acda70e19e2c8dd4ded1f0f85adc355b575ef3447c0c8383c3daf9c1df5ecadfe61c3b95e9f4254fac8e9160984c9ed9f44ada3e26d9772920bb787732d96bda193fa3065d5ed9fa5f2ae7a0bddd7ec1eae83af56a5a7e15c9e13928b32b5ef8959cb99371cb4e7f30bff9072756bcfdc2e380aa280214018a0045600a2130b529e37a808da4b39111f6002c028821976164c368766b6b247fb70388897e2bc032800b001f01a800906e9e017815e00500f6d53234469a882c13b72fde0cb0d07527e5b8126f02140208f971594dc6b3be68ab4eea1cfc526515213c289683905c624c2fdb9fa18a426ad6d07876e1d2f838dd5365eda7f26bda0a9e5c1f1b1dd4d1daf8497bcf8c79b7c867fa4f0718c18f1316651ee30dc916cb0501a68789c5a1311945b93861dbded21aa190878685c17498152ab687e1fecf44a647cc12878ae646a13e422c166b32e4d8e716734770744c4c7c4eb1ce541fc1af2f3408c5cf5fafb33e24a9c3e20c0b0997485509c8fbec8ea8f834fc3162b73b82a2ee4c526a15657a452874b61e3bf1adff3d0971aab4a28abece9c1d4db2d4b2ddb92a11d8cdcd0d5f5f08987febe2d9f3a3d03d723cb122314dc1c63fc7197fa141575ca3d7e01d6c35b79cea0f9f2f8f9684627b47908b3d5d5d5de0e80751784c74a4c485156fbf8ce086665104280214018ac05440606a53c67f275dfc22a17dbcbd9d47c61d4f02204ec8ff902f5a01d817f570acb11c600d193844be888f716401ff2066b5c4571921a0e98441be06f02f32e2f889b01fa49e9359f695ffbefd26c95debb354d1fe8d7b5faa3f0be141411da78c20cb7e08199eb555afd9c00cf7a98b8f946a94ab92a0a6e9e6593878d6fd89616ba1616872f55b213f2e708a373e2006ebc1721cd7f590cebdfaa472936cf7877be4fe01d03b7c7a1c877e597125cc755bd30a6b40a6afdfa39b2595c3ff75e67bea05e3c7ee676578bd2ead679ce44fadb57ad3fbb73f9d112be93eb6f53f3f5bb927432659998c7cb1a7756fd206e250b7f9883e212e3953b9e3fc864719bed8b075797e8dcb299e957af6c2334e65de93c8171d965db9c93b9a006479757b520239e5bc934d559b52d92148595efd9e1497819ab75f5cb9f44c11a00850042802531481a94d19713efa9c305fdc4ef822de1815001d00b1e416c1c9e50fc8c4347bc304bb96b6d411be884a1c656405e923fe7b905c1c76e5e2158e4da278fb21eac97b686b32b635c11c5d26d2678ba9c680ac8515dd3c6c2b84ca9fabafc7097d0784224f74044f07301d3adeae4888d1e8f7acc8e9fcbce978edf612dcdf4dd00ff126cbacd0c4047537ee2a21b3cdce2ac8a971575139a36cfb6b65a5a4e3145976c4cd1f4a33d3e3963a862fa284330724fc28fcfadb84e2276500bcea65f47c7162e3cdbbb69994bb0b013af7e7d584e7ad42cbc85be763fd27df3de0746778f7abdf26c8038323e15e668ebdf3e3ed244c672e39f1c6a956c7e250787bfdab0c5f44090f44b3b1ca3063fe7e19ab2b6a4711a008500428023f5104a63065c4514394119eab48f858f90b393d498edf009c26838e6c563b7b0208702566bb12dc33ce74bb853510f2e3369bd40924842e91cd122347b45a5a9acef4043851f2b77d8d940e6a36a57ea9cbdbb04ebd581aa550252a544b9714dd5fc25d01cdf143fc690bd633ab5eb6f3ac7ab15a4e3859aab18a0c9d2957ba4220e7e901d8d52c35c46b7baf959bebbe0bbcf523c44f3c78d5cb6879e3c44afac910270e1d7edf8af3e9a4fc347f466feb768fb386f8e31f653fb24e92ed8e8c5cb90fde71b25941eefb3092a1e6f862ed55c8e8fd72154e69118a00458022401198e4084c61ca88cb50f0898a038d38c58ca380dec2e579988b0cf20932b99c3bdcb4805cfee052fece9560cf2cc017394a213f1c93c99b0c64dbeb9afcc586b49d386dcd880b0deecacfcff76e5793a11cff213fca2e2b4953c52c5d9309c61d68e6ed0795cc6a922068d9eb5cf532dc9bc849c1385a42106d44a1aed8b88a61aeae5c91c08defad1f397ee6378727af1d394e1201a99d05a9d37c16a4d2bb56a58391305dd9a208a489f67e5bdb99f37688922852d5e03da4ea1d279049e8def35d6c7b2b735778b24db52e7daeadaa864bc95d70789d85fac5cb902a280214018a004560aa2020f0e49c22cd7f17e001f24a227e90ae9b2c73418281bc905790ea21cbc4b1c9fd006f00cc235c13b9e0ebc47a2d99925e4a669c5181a344ace0e0111641b26400f805199ecc16f093ec2a3299cfade62e90462fcb2beb78eb44d45d2b6f0ff8382daffcb0794da2545557535e6b380e736477ab13e6f7d669b6437d69d2b9e60f8e7fda72f67b981d818c0e7abbceb1ade7f1531dc8ae7af903997e1e2348524dcee68055b7a8136270d69657bc089fd3caad6f12883fad94d79f7bd50b5f9c3c7f6e3df5ef7568a451f18fed2c0e3b743a70cd430fe27474fbe1b74c600a39642e4a942696d6dd58f7cee73f04ca148be7d81a52770fafd615a7a9f53b07c8a5494f5784af89ba5b15cdbc0dc0b90f6599fb4b33702d4cc21cdb86910154eb47e897e175d32b8a004580224011984208f03cc3a650ebf1a5321c9bc1c52bf88f954f5d09de33b23ae48b0b5cebacd106b926d2c7fb01ee22efcee1b8d68b00d9ae6feba0c133007712d6b89178c4a5d928bc7e48ce643f180a77aeb8e39938a92a2b57856de96efe188f2569c5336b0ae263e23372e34903edad75ed60ba74a673b522561513cb58a2582d8d3b0b915933e2eda7ac20450c765cf582249c4f10fae1d254fa56f37d29b1d10989d1e0e8acdb7b62498ac6ff521f1aa1a983249802bd7d38d61cd43f929e3f7e676d9ef50ac7e900fb252cd48775b97f5130b154ad2d8adaff8c4ea1c135d08cb43754a7963038184bd2a202763fa691c76952e248564fcb7174c01fbf217fdfaafd29b15171092a6cefc1ad6fdc9c99f5f36096393285d93f757f3218499c0d3b0c35c3d43a42bf0c2b432f280214018a0045602a21e0373838c86daffb924d708f03030368891ab7a0869b662ff1e82d0e87039578e426f06370ac12136c16f7c866b5b4b43cfffcf3dc08c7259d081082cf6ace229511aac189ecb9003f001ce418a1129fce5c0d279399fb9ee9e59fd70fb7d4a44d2bd5da9b2242babe31989caf17322d91a9b5b7cd0db17577198d9ca52b32a5567a534808d8ba4e194d9e6c90eb27353b6fe6c5a66d559cb263c0073de0e721cd465c5773adc21fbf97d7ab8b13e1d1ea6ec37bd00334e25ea6d54af1feb47d6336b15fb9f4aad4ad60820cb1f140c95490ae9d6f37eea8f1864299b7fba514b9d9509456ea9ab61eb15fdcd5d1044580224011983a08582c961933664c9b36cdcfcf4f2412e111052f11014ce0111911cb7f6c36db962d5b140a059aa1011e3dc4dfdf1f3598c526d8346bc3dae3d15bd8ea50cf544c849b4605c6801a773cac863dba9598b86aa194f1aaa1a3052902931a01a5beeca180b35f76072e5cb55a1519d463f88da69443f12775db68f014018a0045c0e70850ca38b527a67d7e43518714814983c0f4db97aaa4221589d7de627899f2c549d37534508a00458022f063204029e38f813aad9322f0e323602acad54b232370c6fb942f26ee7ffc06d108280214018a0045603c11a094713cd1a5be2902131881b626afb7472770b434348a004580224011f87111605e93a44211a0085004280214018a0045802240111801014a19470087665104280214018a004580224011a008300850caf86ccbb9f3674f568dc7edf0e7031f9d3c54b57c3c5c5f079f32adbeb838532bbbf6aa52b30b8af3d23d1df9ceffb54738113df80e1f8aff44ec5f1a134580224011986c084c79ca98b36651e48ca8d8079ff57dcfe53cbc6649ec0a9ddaf79eaf8bc7b94b92349a154ba4d75c997acdaf133529bff474e433ffd71ce03538d06616946dd68f4b17fb0c9f9f32fed7d075b4284580224011a0085c1902539e3256ec39fae5bf3e7bebcfcf5d196e63b2eec3afa40f3a7027c24929bd97715b94fecb3e88fd123ac24d933d3cf9cebf87e3eb7979e7b295aa8424f5787046dfe1f313c6ff7af635ad8b224011a0084c7104e88ae90ad5cf2aa6f84d20d47c1193e1c9f4848caf423fdefeaf22a42b2dd2d7cfecdee70b5ecd53f378e333defe799a445514018a0045802230691198c2a38c0f1fb03a700f4366b342eb9903433df870ed4587a3eb646d6d4b17bb1fa2e3e2991cc8396375382e9de5ce5fe71cb23806fabfa87a1837963e73b1dfb977e240df1707b85620615dbfd860edc7fa2ed6a239406dcb3987b380c3d280fb524f50e9ef8bc82cab3ef22123077617bbdf47d4e595d5be5d7ff4c3a3478fd4bffd765d75593adb00994e5ff3366bfee18747ebab373bf5988bbbe131a2d3d7be5d575f579319c95c09f8d795d7bc4dea441f07cab2b58ca932b3a6ae6e777166e6e6dd6c057535e5eed1bdcccd3beb8e921247eb2af43ac6de29dacab731e34879a6d2a5414f1575f53599dad4f25a672d6f57e2bee028bcf566d7d6d75564bbaa62c2a8afc1f6ca946aa5fa8660e45da2990bb4b833218ad205106f3cc2f562d53c71a256001f983cf833b052a1085004280214819f00025398327edb75de76c976b10f37640c8eb861a82f6746854c9b26895db76e9164d076a1f7f2e0b4e937979e9c7feafce0b4a0a8df36e4b82c733625cc9be6d7ff61baecdcc053374f175deefeaaf9b37f0df8052c5c536c61892131c589e9e57f6e1978eabe10d1b46fdf2e4b7e0daabeb8b46e51e4b481de2f3ffbca3e386dde7d4f7df1e7e52eb713e8dc07204fd167a8a47d96f64e3b44ca352f96a5627cbae21a7d8a2a5a025fb59c6a3b679748c4d173a3502f4b2ddbadd7c548c0dcdc70b8e198b95b347b3ea36705872b65a99bebf5ba6849e8676ffe9f1d9d20e05fbbb35e1f1f23e96c3d5677b8d11a1aa94a2baa40c2373d22422c966b323212e47d163306248e89cf2966d8617ad9fe8c0485d8dade70f85847bf384ef75459aa8bbb29effcb904595dd09c1b094525a14c0f138b4363328a72e3a343db5b5a7b707bf0b030246d02f586cd0a154bc29c8c17c398250e8d9a1ba52fda5afa52a92626089dabb28a5e2a2d42793a9561b742f108d44b62e28b53009f49853f691c3d5004280214018ac04f0081294c198fa4cf090b0d0bbffffb4160b6f276cbf7ced485e64a51687898e67d7c233178417cd2ef8e0c0048966e22a384b0bc561f350d2e7ff5baf1404ea41f0c74d707462cb853112ddaf219dacffbd57fb36630688fabfae2ff652df283c1cf2a13a2939e83e507d62f0c82c1eeff1485fd4cb12038b719ed650f15b8eb9f68891643a9263935e9d983f846e2ac85778032ef494d0c382cbb7eb322edf1ac0dcfbc87948b882cf7519508ec0d5b97a765e56fcacf4b4b5aae492b7566f65d5a905eb633372114ac87b76ec8d96674ea013cfc2bb39315a1d0d3ba3769435ee1a61c4de961ac372e3953d9eb2c61aedbaa494e4bcd7bc78af148e520cb7e481505d656bd26357f53deda67ebec2052ae4a725a3795561a1a9a1b0f1bde19aad15575e75efdf2d4c74bbe45d2e71f306abdce52ae30f695ff7e6be9d6060b46e768dc8bc9ad9595953bb19691e361bc0cabd7e956384e0f7c2619fecee6d1134580224011a0084c7a04e8bb8cb7e318149236ae300cd2d61c7ee77f30cab9ae9cd7567ef0e781fb664495552d7f2d1db63f300fb982f1b1f48c5a7c9b0dccaf9738ed3656fef0bb3f49fc8298612ef43b2dead14771a4cd71b4d05fc52eb149bc85e1e97e92ad03035b99327e4c75813398e4041344a6a7b9faf152031397e91f5fd913e592f969eab96280f6fa5777349170c303d18cc8bd38ee089d1f6faf715e0f9d1021716c56162aba0d45f797bac81bafff358b67235c27df75bd2a6078f7abdf26c80383719010ed1d96bab442524138e39e81feb679a1780c953f575f8f160e08c5713f47f074269b484d69be774498d3b8aba8dc84e7b6bf56564a3a4ea9935f10aa97f5e3716c6b32b635c11c5d261394a9c6c0a28146ba51e2f1a8d7edd63b4e5e7c261dfeee06d2044580224011a0084c6a042865e4efbec14baeb1334ebe6afb3f079e5a342ff98fcb1b6161000e141e493a020d22a47c83d6b3475c8612a220570c196478a31f887efecb67e13986332ebf399c2960eb6cb35c0c082066106035ff9d4d4da8235296b3ad9f3a4392c9660781ddfcf9d7c090e12067e400910c45c3a136a226b4cebb0de8081c768728483463e19d5a303a3923afff4bfe73f0153e5b779bcb4d883fdea4fdce2b7b2f8e2d0e097a90cd126300564b4bd3991e179efeb6af4f0d19f1a7ac96134e9667acaa4213fdafd19960bd433ea607a01d4355b9324450478dc7b35eae1b8f342f3e3f15fc3dda4a2f290214018a004560a223402923e92107c37986093eaebd6563765bcee1852177d4ff91617d8d7f5c8926efb5f4dc77df8c458f55c173e94c89e56ac21f5cdfd619ecc8cd6d29ffd38ac8fb8acf1eea9eb3b2e2c8fecf07d7cdf3f3effed9cf7ee65dc3c4d3382762d3b357326388ddff03810c65ec3ddf45425557e6ae7042d576e6bc1da2248a54359430a377c3c57aead9e2d6a74b5314baa2ca3e5b1619df23169efe4f5aceeae4d2bb56a583916172205b148115b8bed123f2ba61db4e9cb666c4850677e5e7e70fafd275a5d6a5cfb555d53879aa4b2b020ecf43e5c97f0ad64b0822bb725c5db17115c3505d5e02d9785cb3d5a81e2d1ecf7a5d9e00f8e3f4c467f2e13fd4429aa208500428021481498c80d7137812b7e5ea43f79b71d7c98f4ec285e63b5712dac7f534937b71e48903ff3abc6edeb469384cf8c92f984143784e65d834f868d0cd8f9c3b19f14673c8c3eb190ad5dbb8bb02a098c90f828a95fef371f9cba2a8157fb2d47e1f9dbcb2f1cf034b662cc485d87fdbf32e2c542ebf2f2ec2febe285cc5984f2441aa14a14c2bd0af9e79ebddf1f2481c63fc4bce0e936ea103e4d2a4a72bc2d744ddad8a666685d95140d35f0f998b12a589a57537d6bdf3f90f8132c5e239b686d49c4f999b4c140ca6f2fb4b67d5eb13625336575ccccd39c18cd579fb37425f964e1a15ffd8cee2b043a703d73cf42052d5f6c36f99404e6a721ddc84afa9fcb0794da254850ba86b0dc7618eec6e75c2fcde3ae76b94b2ccfda519f86640c21cdb86219eea72c2391b4bdf1ba15ea9266773c0aa5bd40931382bcf9156731748a397e59575bc7522eaae95b7077c9c9637623c9cb2c3927c71f2e233c9f01fd6487a4111a00850042802931881699338761f858e0f6610496297c4c6fe5b520ee3d38e53c9837dae71c7efedb8ea05a755991c8023c9a51dcc35b455fd963931921e5c78d43ee81719bb26ebd1153344d0fbe55b61bfd888198c23760e73a3e2df5ef912afe6addbf3d1b3f08bf0dcaf7a077021f6baacac752b964406c1f933a34ea432355d67416424d2f8445d22f2456b674be5efd298b71a0df9fb9a3b10b1b804557450e7c1ad952d56080a6698a3b124adb2aed50ee2384d4a5a8a2e5e1113111288fa4be8c841a6960d9bfe776583154471192f14dcc240c3e31faad616193aec410a4d5a6e568a54226a6fa84e2dc19afbd0beef122e2326d2cbf490a39fb92c492b3ed6de830ba83372733352121551a26fcded4e3300f657913f130857d0998708d4db54fa5673278446272426c48476d6edadc325f00e571886c29d8d1d76895495959bab532922c8baea11e3f1aed71986779cfcf84c36fc3d50a69714018a00458022304911f0c38f037243775fb209ee716080e14aa8710b6ab869f6128fdee270385089476ea2bfbf9f556282cde21ed9ac969696e79f7f9e1be1444d2f7ff6c5441c81fafae38d15af8d29c6e539cf262e12f79cfdfab9e7704472828a4c260b0fc71540df3635b95f2e644295a9b5b785d84e194dc3b4ce46c8b45a297e86d1f68dd934bc94772385fc630d5add6d48c0babe31989cef1c7a971ea661429a1b62ebee321a87cd8bcbb4e9daf976e38e1abe5087792017fcf5e267172343c06c34f23ac1dc9b22423c42158ac7bb4a56c31ba7103e93087fa1f6523d4580224011985c08582c96193366e087f9fcfcfc4422111e51f0125b81093c222362f98fcd66dbb2658b42a1403334c0a387f8fbfba306b3d8049b666d587b3c7a0b5b1dea998a8970d3a8c01850e38e87d5b047b71213572d94325e3574b4204580224011a008500428025305014a19e9c4f454b9d7693b290214018a004580224011a0085c350294325e3574b4204580224011a008500428021481a98200a58c53a5a7693b290214018a004580224011a0085c350294325e3574b4204580224011a008500428021481a98200a58c53a5a7693b290214018a004580224011a0085c3502f453de570d1d2d78bd10906933b5f3cf1ddb31b48fb30f6ad66edef948c4bfdecb2aacf281b3915d8c4bfc23577955b9be8d539d5eb0e216b87c1902027aff595f5e631a1ed378e33fdefe87b766825fa9332b9f58d6f5f73d9b7678ec8134c1e3a6e151042802130b013aca38cefdf124c09671aee2a7eebea0e4bf32d2d21747fab49dea256a853456b35a3b36afdacc82b2cd7af5d88c3dacc623fe6b89c7233cf7a56fe354dff3cb448d261145a37950e785dc15e2ef0ed2232188838ffc7b54e7f34bc1f87d5a93fa9e65b152698266894fbd526714018ac09443808e328e739727002cc4edea000e8f73453f51f7b2f48ac4185167e3ae42df8e8f984c071a6e0c6faf1fa3d73b97ad5449fd2fa84b4d1e8365a3c13e4ef15f753c42f1fa3c4e5369da23fb00a4c53b8b348efecb9ef55e21fe9ec55dd78238f8c8bfab9ef13a0bc6efd30a4dfbde381cbde2fcfbeff8d42b754611a0084c390428651ce72eef1f67ff3f71f7da8247e3c0d18e7b5bfbbaa1a6d2fc2b607f7dfdb87b9fc38bf88c1ad478c57fb5f108053c2e71b6e15639e156040e775df7922bc3dfabb853218c836ffc0bd5eb2bbd70fcbeaa81f869336cca6136fba44211a0085004ae0581294f19d701e0dc7104c1101f6e3816f814d1a401e03e8559003791ac1300192481b3cc386488cf4034de8fdb1bbbc0cf075845fce0cec7bd009f02bc047003403031b8851c711fe62f00be1cd18fcbdf243debf2cad6ff523947120476fb05aba3ebd4ab69af87d5963d70e695ff6e573c92ac92060174b6d6e56d286c5366f3eb392d4f2dcb9287424bf5cbcec71dbe9295b336365ac29a583b8ee5afcd63771394e9f4254fac8ec17a511c56b3e995b44d55cacc8a175267d59619163dfe683c29d5dd5c7dff0ea87de157e160ef07ffde963793f3b6392b148a47a654874fbf2198a13d3317689500b87360a7d9c86c85281c0febd3237efe78b230005d79cd13f1314cbb1cd6ce0ffef652fe362390783afe5692b38d505b6566cd0ba970f295d4eda704e301c8dcbc3359ad1033f7674fe38197734a097257182786e1db7e64d1701eb15dbcf8936cde7ee48f470887f011fcf3e28cc0265ffab0f6fd807bd727c8f106ea693f56929a37c2ef891fab1f85eb1d06b0fb42995df1c2afe4ccff54b825ab3f98dffc83f35e1aed7e707ba0098a00458022c045606a53c6f5001b091ac8087b001601c490cb3000a477ecd6d648fe6e071013fd5680650017003e02500120dd3c03f02ac00b00ab89011a234d449689db326f2653d2440d39ec09e04d804200213f2eab497ad615d7e83588a0d5dc72aa3f7cbe3c5a123a370aa64344a8383aab0801ebb1b4f7cc8a89946b5e2cfbe7dab7c2f8f5f935cee62bf3325451d0d1f038cb99000a9e5c1f1b1dd4d1daf8497bcf8c79b7c867fa4f27a6b2d4b2ddb92a11d8cdcd0d5f5f08987febe2d9f3a330677a98581c1a9351940b606f6f698d50c843c3c2e07cc7f75d5d8e7e98258d0e9d853ded92e9fcf11c9bfb1b9dd4394ca622adc0029683905c62148ac7e9d12b7efe7840bbb35eaf0845267decc4b7fef724c4a9d28a2afa3a735ac366858aed61b8cf3691e911b3c4a1a2b951faa24ca178d2cbf63388f5b437349e5db8343e4ef75459fba9fc9ab62b8dd3c7fde86c80eb74fe223ffeb8adb8403ff2c62388438d907f219c2322c462b12643cedc9fe68ee0e89898f89c629da9d0f93bc515f7d0f9c7ea47817a8702f34c5dece9eaea02bcd745e131d19112d7bd34cafde0e9855e5304280214012702539b32fe3b41e14542fb786f893c32ee78120071c25712912f5a716c8998e2586339c01a3270887c117fcae390e43f88592d31282304349d30c8d700fe45461c3f11f683d473528b32ef49e48b0ecbaedce41d38f427cbabdb9312882dea65b0416931943e8e835eea8223a589b316de01bde7f9f5e0a48cc51b1f1083f560398edfb2a2be79168e01757f62d85a68c0213eb7c8721f65f862c3d6e56eb6e9ce2389cebdfaa472936cf7877be4fe01d05695955a85f1ed3cb2e7e75c3b8138f795fcbefd26c95debb354d1fe8d7b5faa3f0be141411da7f01d48a1789c4ebde27757362c1e657632f2c59ed6bd491bf07ec2f1bdcd47f40971c999ca67ceb80b30091cba26b2af5c201e59f643c817adad7acd0666844c5d7ca454a35c9504354d02b8391d7ac6e9eb7e7456e33e09e10f02fd28108f200e6dc0dbbfa3e26caedb9a565803327dfd1edd2c2912c851e53af723b93d98a086d53b42944d559b983b1d459657bf27c56539ca7deb32a3678a00458022e089c0d4a68c381f7d4e982f6e77ad59a900e8008825d8e1e8e3079c97b382c93c35e6d411be88091c656405e923fe7b905c1c76e5e2158e4da278fb21eac97b50ab637128b6bdfe55862fa284073a87e6085a3dcdd50c5f4431fde32b7ba25c325f0b9fa2019f1e908ec9322b343141dd8dbb4a8626084d878eb72b126234fa3d2b723a3f6f3a5ebbbdc4c850c77b9939e7ce8fb73ba9265309571a771595334edafe5a5929e938e5ca9a8bb77ebfeb823df3c6236d32d634c11c5d26fe2cb0986a381ffa118a8771c617bfb3328f78d4c93846ed38f9ee0167b6e1ddaf7e9b200f0c8e745e7b9eda9a8c6dbcf1e8e6e13d05a1f2e7eaebf1c509078422bf76044f47c40570633c7bc7e9db7ef48c7ee8da1b7ffe7e148a47100767159efed58be70be18cfdeeb0d4317c11259c39b03f66f4d54774cc9b146eb11fd42f77df90d7bd1f9d6178d4eb0e6ea404e78f71e4fb612427348f22401198f2084c61ca88a386286e5ee37d2b20e163e52fe4f424397e03709a0c3ab259edec0920c09598ed4a70cf9cf94f600d84fc704b4dc274901b874886b2e08b9d2888f1d9569cb3272293cdc6171dcd9f232f7c46400fa02d58cfac7ad93e7cd54bcda6d42f75791bd6a9174ba314aa44856ae992a2fb4bccc4ad603f5a2d27580e0bc62a76c8c51988f74928ce214b24601ce18f071b26103f29ea198ffed7586dbfaddb3d6e1ae2ef4d66b1e4f400b463a9cc50089c7864b3c408b8d5d2d274a627c0d90bfeb6af198a7c1571faa81f87221d3d25232602fdc81bcf904f0e0e43cae1a940ff9170b6f75ab9e66c1487de78b56f01e74fb7af8bb35efe47e84712a167bddcb0c79816be1fc6e8809a51042802531481294c1971190a321a1c684c708d267adc039c870593830cf20932b99c3bdcae805cfee052fece9560cf2cc017394a213f1c9349996426a171b6b98b04afaecc5d31fce9ef9c584dcf5ec98c0976ff8f6bcd91b71e98552341d0b2d7b5ea85034793a11cffe1e8587659499a2a66e99a4cc8693d6f87288922550dee11204e0911be4c2928fd7d5e593cf1a04d20db8faed96177299e788c3b46889fe1cfc3e339f9cfb33ab9f4ae55e9486919b7b24511089cbddfe62488784651576c5cc53042728107ef78da4e9cb666c4850677e5e7e7bbac86ce5710a7effad15dbd83076792c9d5b79de1efc711e3f1c6c15d2993e0f81f01673414f1fd47d864708e980ff3e9bcf871fad1fbfe198a4dad4b9f6babaa617eb28c2abcf7c3a8a5a80145802230c511e0fb9f72ea40f22ec003e49544fc60593759e6820f68e485bc82540f59268e4dee077803601ee19ac8055f27d66bc994f45232e38c0af794270e1e61117c88e3acec2fc8f064b6809f64de5a278dd2d4fa9d03e4d2a4a72bc2d744ddad8a6666499d38e0d8588432ad40bf7ae6ad77c7cb23718c91f9688e522fa077ae7af903994e1e6abf5a5f5f9a74aef983e39fb69cfd1e6647303386bd5de770a2edaf87cc4589d2c4d2ba1bebdef9fc87409962f11c5b436aceb6a1b202a9a0d9b1c505c5d07bbab09ca16bfcf190b2ade62e90462fcb2beb78eb44d45d2b6f0ff8386d7f187f3cae552f9ef10bc4602c7d2f4b278d8a7f6c6771d8a1d3816b1e7a102975fbe1b74c20c712524dcee68055b7a8136270d69f233cf1e4951f36af4994aaea6aca6b0dc7618eec6e75c2fcde3acd76b8a2387dd68f9c6843e72a11e700b0ec2ad9e11e4dc5fce1f80bf463bde07d851ef87018ea77aeff91711e0a7638a11fd28f961ad9bf0ffa31ad74a4106499fb4b3370cd57c21cdb068f3f1c8f62827f471e76f492224011a008782230b52963210ed790c5ceb87e8515d7f4a9eb7af819591df2c505ae75d698895c13e9e3fd007701ac24a4e345002485f88e232b38f97a27618d1bc9352ecd46e1f5437226f1c190bf6fd5fe94d8a8b80415383a0f6e7de3e6ccac9f07237364becc2791c6274a99c6593b5b5e297a9cbcd5c850346f7d59418a18ecb8ea85cb2d9892a6d6339dab15b1aa9858157389ae2c8d3bc9b25663495a54c0eec734f2384d4a1cc9ea69394ece78c04af885f9d2a244ae499483bdb5bebc0a5f77e48d872d6c28dcb9e28e67e2a4aaac5ca6f6eee68f85e229dbff217ffcce28bce3a95a5b14b5ff199d4293a62036ed0dd5a9250c426f35df97121b9d90188d78d6ed3db12445e37fc9392cca130f7ef129ad78664d417c4c7c466e3cf1646fad6b07d3255edc04e3f4513f3a9b0b7d38941f2a966ab0fb1de6bf7328a337fefcfd28180f53032f0e6cd55efe057056e66197385cc0422f1370106778d2d5108ff375ef4767fddef53a33d8ffcafdc9a0ac47ac7839544cf8efc8bb14d55004280214012e027e838383dc6bf7259be01e070606d012356e410d37cd5ee2d15b1c0e072af1c84de0c7c2582526d82cee91cd6a696979fef9e7b9118e4b3a112004c776388b5446a826817c43e70780831c2354223be26a3899ccdcf74c2fffbc7eb8a526615aa6d6de16623b65340d113ea5befe25ddb9baada97bbe54869f6f62be674844409f9a9d37f362d33686c2f1894ca995de141202b6ae6195105399562bc57eb47d6336b96be1f3c1af1388876bac546b6f8a08e9fac66072be1e89f3c89ef18c123fd7ddb0b44cabbb0defc161ce01b046fc0ca4d948d6f90cb3672e78e2c188b00be686d8babb8c460e865718e7b5f7a357b06357f0f4234f3c1c7fbc3870f2b9497e9cb916d796e6f7efb37e140e4ea64dd7ceb71b77d4b8fec0864c9579bb5f4a919b0d4569a5ae696baffb61c89aa62802140101042c16cb8c1933a64d9be6e7e7271289f0888297688e093c222362f98fcd66dbb2658b42a1403334c0a387f8fbfba306b3d8049b666d587b3c7a0b5b1dea998a8970d3a8c01850e38e87d5b047b71213572d94325e3574b4e0d81050ea8fbca4b318f469a51c06834585f463f3ea7bab89168fef5b786d1e85f011d25f5b6db4f43523a0d4973d1470f6cbeec085ab56ab22837a0cbfd194ba7fea5cb377ea8022300511a094716a4f4c4fc15bfec768324e8af5f3d52ba4e7b3bd1eba8916cff568f395d421848f90fe4a7c535b9f2330fdf6a52aa94845fcda5b0c2f53bee87388a9438ac05443808e324eb51ea7eda5085004a60402b8d5a5343202dfd43825f062c3944081369222e03b04e828231d65f4dddd443d5104280214810983405b13e795e20913150d8422401198bc0830af4952a1085004280214018a004580224011a0088c8000a58c238043b3280214018a004580224011a0085004180428657cb6e5dcf9b327abc6e376f8f3818f4e1eaa5a3e1eaeaf834f99565f5c9ca9955d7b55a9d905c579e99e8e7ce7ffda23e478d06ede595d599cced1f828e9bbf64e2a3c7d841e754311a008500428023f3602539e32e6ac591439232af6c1677ddf13390faf5912bb42a7f6bde7ebe271ee92248d66c512f201ee6baa50bde6d7899a945f7a3af299ff6b0aceb3b07a895a218dd5acd67a665cf3b5cfda3ba9f0bc66d8a8038a0045802240119820084cf9e52f157b8ee6cc8d68fdeb73e3d0217dcc57d21db813e1a494decbb80d46ff651fc47e091d89984d938789effc0f737b8d1726d381861bc3dbeb5d9f3cbe46779ce2be6bef64c29303004d5204280214018ac0a44660ca5346a850fdac625277e1f8052f625c7b323d1f5637defeaf2a545369bee9aa0a8e5e68bcdb3bdefe476f21b5a0085004280214819f2e02537862fae1035607ee61c86c56683d7360a88b1faebde870749dacad6de962f743745c3c93033967ac0ec7a5b3dcf9eb9c4316c740ff17550f03bc78e662bf73efc481be2f0e70ad40c2ba7eb1c1da8ff55dac457380da96730e670187a501f7a59ea0d2df179159567de443460eec2e76bf8fa8cb2bab7dbbfee887478f1ea97ffbedbaea32e7cb7f329dbee66dd6fcc30f8fd6576f1e7a291077c36344a7af7dbbaebeae263392b912f0af2baf799bd4893e0e946593596265664d5dddeee2cccccdbbd90aea6acadd93fe999b77d61d25258ed655e8758c6ba7682bdfc68c23e5994aa25097d7d6d5edafe4ce3babf32aea8ebc5df61fbfabc5b8eab03575b5e5b84df830f1f2afab3c8066996894595e5b5f574d5ed554571c78bb329b0dcaa35ea73781f6c2e4c173182cf482224011a0085004a60e025398327edb75de76c976b10f37640c8eb861a8cb6746854c9b26895db76e9164d076a1f7f2e0b4e937979e9c7feafce0b4a0a8df36e4b82c733625cc9be6d7ff61baecdcc053374f175deefeaaf9b37f0df8052c5c536c61892131c589e9e57f6e1978eabe10d1b46fdf2e4b7e0daabeb8b46e51e4b481de2f3ffbca3e386dde7d4f7df1e7e52eb713e8dc07204fd167a8a47d96f64e3b44ca352f96a5627cbae21a7d8a2a5a025fb59c6a3b679748c4d173a3502f4b2ddbadd7c548c0dcdc70b8e198b95b347b3ea36705872b65a99bebf5ba6849e8676ffe9f1d9d20e05fbbb35e1f1f23e96c3d5677b8d11a1aa94a2baa40c2373d22422c966b323212e47d163306248e89cf2966d8617ad9fe8c0485d8dade70f85847bf384ef75459aa8bdc2aeffcb90447df82e6dc48282a98dabeef1747c5fe5aef669bea8757c78983ec2def757edfd5d5f55d6f90583c6b56982b6ae6cce77f304c229e33e746dcf7f0de3ba243c552559212f79bbe3d52e20fbd4c19cf7a199d407b27159e4c3ba85004280214018ac05444600a53c623e973c242c3c2efff7e1098adbcddf2bd3375a1b952141a1ea6791fdf480c5e109ff4bb23030092a59bc828212cafd5474d83cb5fbd6e3c9013e90703ddf581110bee54448bb67c86f6f37ef5dfac190cdae3aabef87f598bfc60f0b3ca84e8a4e760f981f50b8360b0fb3f45613f532c08ce6d467bd94305eefa275aa2c550aa494e4d7af620be91386be11da0cc7b5213030ecbaedfac487b3c6bc333eff5382396e53eaa1281bd61ebf2b4acfc4df9796949cb3569a5ceccbe4b0bd2cb76e6268482f5f0d60d39db86de15f4f0afcc4e5684424febdea40d79859b7234a587b1deb8e44c256162e8cd5cb755939c969af78e15e391ca4196fd902a0aacad7a4d6afea6bcb5cfd6d941a45c95e4acb7a9b4d2d0d0dc78d8f08eb3c66d3b9880e52b1e66471d6599c9b162e83c66a86aabca4a4d4e4d7be68c1d86bdaec1efff16b3c5218aba59ad54df14ca54b520562dbb6d4e10d8bffc94ece3eb55af331e008ff64e323cddcda0098a0045802240119862080c7b384eb1b6b3cdbd1dc7a090b471856190b6e6f03bff8351ce75e5bcb6f2833f0fdc3723aaac6af96be9b0fd8179b8b4c5f8587a462d6eb10be6d74b9c761b2b7ff8dd9f247e41cc3017fa9d16f5e8a338d2e6385ae8af7a8e9824dec2f0743fc9d68181ad8cc28fa92e7006939c6082c8f434573f5e6a60e232fde32b7ba25c323f4d3d570cd05effea0e428d203c90bc428716f7e2b823747ebcbdc6ab19889038362b0bf5dd86a2fb4b5d7491d7ff9ac5b311ae93ef1e707a31bcfbd56f13e481c1384888f60e4b5d5a21a9209cc967a0bf6d1ec3d942e5cfd5d7a385034283501f3c9dc92652539a3f2ca2a6f27af31a9d347643baaca90a9ef85f7118d5bbdbdc5f599a8b7f12c376c416f0ffdd0f568899b9e2c1bb43a1bbbd333446a6d4cab15c47ab49a05e12ff4f004f67f3e889224011a0085004a618029432f277f8e025d7d819275fb5fd9f034f2d9a97fcc7e58db03000070a8f241d81061152be41ebd9232e430951902b860c32bcd10f443fffe5b3f01cc31997df1cce14b075b6592e0604103308b09affcea626d41129dad9d64f9d21c964b3710ccdfcf9d7c090e12067e400910c45c38140a226b4c8bb0d0ca974d81da220d18c85776ac1e8e48cbcfe2ff9cf41ce66eb6e73b909f1e790387b2f8e2d0e097a90cd126300564b4bd3991e179efeb6af4f0d1979a54adf38be5a9fb078cd23b233b034120728dfdbe6aecdcb58c8ffa7d8e058d992bb45c8626b3e88d1a7c81fd020c56efcc6cb835bc1dbde9f009eee06d2044580224011a008fc8411a0949174ae83e13cc3041fefdeb231bb2de7f0c2903beaffc8b0bec63fae4493f75a7aeebb6fc6a2c7aae0b974a6c4723519e0727d5b67b02337b7a5fc4f2b22ef2b3e7ba87bceca8a23fb3f1f5c37cfcfbffb673ffb99770d134fe39c0f4ecf5ec98c2176ff0f043294b1f77c1709555d99bbc20955db99f37688922852d550e21a691b6a8ef5d4b3c5ad4f97a6287445957db6ac72b785a7ff9396b33ab9f4ae55e960ac628acb1645600576e7377a445e376cdb89d3d68cb8d0e0aefcfcfca1eab829b52e7daeadaac6c953991cc3ae8fd2d5aae8652f17f88b70a2fcafe55c7326dd8faf1d3a45d0bf76b115e49250b01cfdc070e0872753e4629c746f3dcd8ebd3285bdeb65b49eed9d7c7832ada04211a00850042802530e01af27f094438069b0df8cbb4e7e74122e34dfb992d03e2e0833b917479e38f0afc3ebe64d9b86c3849ffc82193484e754864d838f06ddfcc8b993116f34873cbc9ea150bd8dbb2b008a99fc20a858e93f1f97bf2c8a5af1274bedf7d1c92b1bff3cb064c6425c88fdb73defc242e5f2fbe222ecef8bc2558cf944129cf68d50a615e857cfbcf5ee7879248e31fe25678749b7d0017269d2d315e16ba2ee56459337f9c854aee9af87cc4589d2c4d2ba1bebdef9fc87409962f11c5b436acea7cc4d260a0653f9fda5b3eaf509b1299b2b2ee6e69c60a695bdfd1ba12f4b278d8a7f6c6771d8a1d3816b1e7a10a96afbe1b74c201f868d7be6b9a9fcb0794da254850ba86b0dc7618eec6e75c2fcde3ae76b94b2ccfda519f86640c21cdb86219edab6fded8f5519716231d82d474b386492ad2268766c714131f49e2e2caf0221ff45dfe1ef8c507c79f16323b4995bbb53e22470aefd8c3348be7a79db3bc9f01cd607f482224011a0085004a61002d3a6505b059a8a0f7210496297c4c6fe5b520e6363c7a9e4c13ed7b8e3f7765cf582d3aa4c0ec091e4d20ee61adaaa7ecb9c18490f2e3c6a1ff48b8c5d93f5e88a1922e8fdf2adb05f6cc40cc61179dd0e362afeed952ff16adeba3d1f3d0bbf08cffdaa77001762afcbca5ab7624964109c3f33d2442a53c98f21888c441a9fa84b44be68ed6ca9fc5d1af356a3217f5f7307221697a08a0eea3cb8b5b2c50a41c10c733496a455d6b5da411ca749494bd1c52b62224202517f091d39c8fb81864dffbbb2c10aa2b88c170a6e61a0e1f10f556b8b0c1df62085262d372b452a11b53754a79660cd7d68df77c935fed7cbf490830c0796a4151f6befc105d419b9b91929898a28d1b7e6763760ecaf227f26902169db51dbccbc7ae0f868df9e212d49f53361c935891acd0309ecb26a7eff6d9f7e8b93e476cb470c286def9fb4e0e907cb376e6fdef5f2b777b2e1e96e204d500428021481a98cc0850b17cc667323114ce0e54f1e0d3ffc3820b791ee4b36c13d0e0c305c09356e410d37cd5ee2d15b1c0e072af1c84df4f7f7b34a4cb059dc239bd5d2d2f2fcf3cf73239ca8e9e5cfbe9888eb42befe7863c56b638a7179ceb3898bc43d67bf7eee391c919ca02293c9c2c37105d0b74d4dc35ef793a9b5b785d84e194dc3b4ce46c8b45a298480ed1bb3697829ef460af9c70969adee36fc9463d73706d3d05cafb783210d13d2dc105b7797d1e89ef5667265da74ed7cbb71470d5fa843c5474d09f9172ac85baf507b27119e42eda57a8a00458022f0d346c062b1cc9831033fcce7e7e7d7dbdbdbdede6eb55a318dadc6e3f4e9d36fbef9e6b0b030642f369b6dcb962d0a85422412a13d1e3dc4dfdf1f3598c526d8346bc3dae3d15bb01656890956f0d29564ce18096ad8783c8eee4b4c5cb550ca78d5d0d18214018a004580224011a0084c1504b89411f9e277df7dc7d2356c3f4bd766cf9ebd60c1829f3065a413d353e55ea7eda4085004280214018a0045c027087477e3361d9ec2abf4349accd794324ee6dea3b15304280214018a0045802270dd11e8eb73bd58cfa99a57c9c99ff4494a19277d17d2065004280214018a004580224011186f0428651c6f84a97f8a004580224011a00850042802931e014a19277d17d2065004280214018a004580224011186f0428651c6f84a9ff6b4640a6cdccced429afd9cf3007dacd3bab2b8bd387e9c6e9624cf14fb478c68c853abda0b8b800a5b8380f77fef194f16ed778fbf76c8febfabad4abceacacaede9ca975554acf14018a0045e0c7448052c67146ff49802de35cc54fdd7d41c97f65a4a52f8ef4693bd54bd40a69ac66f5189fc6dacc82b2cd7a6f42349698c614ff15c633967a856cc6148f50612fbdfa9e5fe257cf1351349a07755e08f9a85d82f8fbc8bf57b346535c977ad5f72c8b954a13344b468b86e6530428021481eb8100bb45c5f5a8698ad69100b010b7ab03383c4501b8c666cbd22b1263449d8dbb0a8dd7e869787193e940c38de1edf563f47ae7b2952aa9ff0575a9c934dccf6857638dff0ae319ad5ac1fcb1c623e8c033c3549af6c83e0069f1ce228da3ffb257f695e1ec59dc752d88fff5c2cd1588eb7c5dea35ed7be370f48af3efbfe3aa959e290214018ac08f8900a58ce38c3ed9276f9cebf809bbd7163c1a078e76dcdbdad78d3495e65f01fbeb63b611747811a251831a7bfc5716cfa8150b188c3d1e01077cea36dc5727dc8a00e1eeea5ee29b7609e3ef1bff5e618faab82ef5b61936e530fb5152a10850042802130181294f19d701e0dc7104e90b7ce8e158e05344930680fb146601dc44b24e00649004ce32e390213e1bd1783f4089ab13f30156113fb8f3712fc0a7002f01dc00104c0c6e2147dc87f90b802f47f4e3f23749cfbabcb2f5bf54ce910481dd7ec1eae83af56adaeb61b5650f9c79e5bfdb158f24aba441009dad75791b0adb94d9fc7a4ecb53cbb2e4a1d052fdb2f3b189af76e5ac8d8d96b026d68e63f96bf3d8dd04653a7dc913ab63b05e1487d56c7a256d539532b3e285d459b56586458f3f1a4f4a753757dfbf036a5ff85538d8fbc1bfb7e5cde4bc6dce0a85e29129d5e1d36f0866e8d0cc055a7ca33232043acd46662b44e178589f9cf8d5e5b5050affd3ffbd36cb3daea9ceab2878407af2f5fa056befe78987b8c8dcbc3359ad1033f75b4fe38197734aa1f2c09333db6a93f3766496d7a62aecaf1a59cc7d00004000494441543c9956d5a6ae38f074c0bb7fc8fa542e848f573cac027cdb5f4ea7ec09f1e4c599e4f2f617e6f0c4b3fd143ffee123f8d795d73c111fc3dc270e6be7077f7b297f9b119499352f245ffab0f6fd807bd727c8f146e9693f56929a27f0bbe1baf4d736feca95d9152ffc4acefc0f835ba9fa83f9cd3fe4b096a3dd6f2cf0f44811a0085004c60981a94d19d7036c24c02223ec01580410432ec30090deb15b5b23f9bb1d404cf45b019601e0cee31f01a800906e9e017815e00580d5c4008d912622cbc46d9937932969a2861cf604f026402180901f97d5243deb8a6bf41a44d06a6e39d51f3e5f1e2d099d1b05d32122541c9d558480f558da7b66c544ca352f96fd73ed5b61fcfafc1a67f3957919aa28e86878dcf5642d78727d6c7450476be327ed3d33e6dd229fe93f9d98ca52cb76e7aa44603737377c7d2160fead8b67cf8fc29ce9616271684c46512e80bdbda53542210f0d0b83f31ddf777539fa6196343a7416f6b44ba6f3c7736cee6f7452e7f0998ab4020b580e42728951281ea7c7e1f1b77ddf1f1f1bfb6bbdda58ca1205f5c3abe3c4411d2def75ce58c6170f407ad97e06819ef686c6b30b97c6c7e99e2a6b7f314c229e33e74600e5bd77448786822a49597540797ba4a40d7aaf281e0cd2c7fde502d2793e7f911f67dcf55ba0bf78e3d11765f2e35f23e45fbbb35eaf08c55f26c74e7ceb7f4f429c2aada8a2af33a73522422c166b32e4cc7d68ee088e8e8989cf29d6990a7987f14cd7a1bf3c001bbabcd8d3d5d505788f8ac263a2232561b8d73a23a3f42f6b448f14018a004560dc1098da94f1df09ae2f12dac70b711e19773c098038e12b89c817ad38b6444c71acb11c600d193844be8843023824f90f62564b0cca08014d270cf235807f9111c74f84fd20f59cd4a2cc7b12f9a2c3b22b3779070efdc9f2eaf6a404628b7a196c505a0ca58f971a405d70a43471d6c23ba0f73cbf1e9c94b178e30362b01e2cc7f15b56d437cfc2b1a1ee4f0c5b0b0d38c4e71659eea30c5f6cd8badccd36dd7924d1b9579f546e92edfe708fdc3f00daaab252ab30be9d47f6fc9c6b2710e7be92dfb7df24b96b7d962adabf71ef4bf567213c28a8e3148e150ac5e374ea11ffb61def3df0528a7cc5c3ca5213034f6672ac183a8f19aadaaaaa78e391653f847cd1daaad76c6038a6baf848a946b9ea96a3168734ea66b5527d13feaa015810ab969d998383ba5f7e3a7de1af78f1e18f077cdd5fce6adc27219c41a0bf04e2d9572e807f1bf0f6a3323b19f9624febdea40df8f789bc78f3117d425c72a6f299336c68e6baad69853520d3d7efd1cd922281e497f1ef2fbc0bf8a5a96a137347a0c8f2eaf7a4b88c46b9df5c66f44c11a0085004c60b81a94d19713efa9c305fdcee5ab35201d001104bfa009fd31f705eda0a26f3d4985347f8222670949115a48ff8ef417271d8958b57383689e2ed87a827ef41ad460a04edf5af327c11253cd0393447d0ea69ae66f8228ae91f5fd913e592f95af8140df8f480744c9659a18909ea6edc55323477673a74bc5d9110a3d1ef5991d3f979d3f1daed2546863adecbcc39777ebcdd4935994ab8d2b8aba89c71d2f6d7ca4a49c72957d65cbcf5fb5d17ec99371e6993b1a609e6e832f16781c55463187ad00bc5c338e389bfa9bcdebc46278ddd902e6baa8227fe571cd2df77b7b1d4004b78c573db3c861386ca9fabafc717211c108a7cd0113cfdbb1fac103373c583778742777b67688c4ca995633b3a5a4da6767e7cf8e3f16d7f3175f08b57bb04fa4b289eb626631b3ffe6c7d9efed58be7234e27df3de00cc7f0ee57bf4d90070647b2af9358ea18be8812ce1cd81f2dfaea233ae68d09b7d80fea979798c6bbbfdcd50927387f44f8972370ff0b17a73914018a0045c0a7084c61ca88a386286e5ee30d2b123e56fe424e4f92e33700a7c9a0239bd5ce9e00025c89d9ae04f7cc99ff04d640c80fb7d4244c07b9718864280ebed88982189f6dc5397b2232d96c1c13337f8ebcf019013d80b6603db3ea65fbf0552f359b52bfd4e56d58a75e2c8d52a81215aaa54b8aee2f3113b782fd68b59c70b23c63959b9f3963f13809c53964367d288929fe78b06102f197be717cb53e61f19a4764676069240e20beb78d3b5a3acc37c866891140aba5a5e94c4f8013557fdbd7a73e0519c4ca96dc2d7258ea6a3e88d1a7c81fd020f56ec41baa89171fe178b0421ff5d7f0d047be92916c81fee28d67c8df70fc87f49c54a03fbaeeb775bb910df1e7fc38b0f75a39b6cebffe436fbcdab780f327dad7c5ae8b1feffee2463296b4f0fd3696d2d486224011a0085c2b02539832e232143b59b092e01a4df40093f310617290413e4126977387db1590cb1f5ccadfb912ec9905f8224729e48763322993cc2434ce367791e0d595b92b86b3025c13c4487af64a664cb0fb7f5c6b8ebcf5c0ac1a098296bdae552f6c49726c3294e33f1cc5cb2e2b4953c52c5d930939ade7ed102551e067a4394392ee32227c995250fafbbcb278e2419b40b61f9d99438578e231ee108cdfb0eba374b52a7ad9cb05c86bac87ff8a0d192e9c78da4e9cb666c4850677e5e7e70f33d22eb6825c120a96a31f180efcf0648a5c1c8aecf334cb8baf201edff5973b3c07277eb7924970f56d67f8fb6bc47884f077d6c2f17ff29f677572e95dabd2c1487e21c81645e08d68efb7115311df7f784d06e7c8b8d39bfb34fefdc554a5d6a5cfb555d530d47e54e1eddf514b51038a00458022e01304f8fe07f589e349e1e45d8007c82b89f8e1b36eb2cc051f2cc80b7905a91eb24c1c9bdc0ff006c03c32258d5cf07562bd964c492f2533cea8c0a9425670b0038be0431f67657f418627b305fc24bb8a4cceb3a9f53b07c8a5494f5784af89ba5b15cdccaa3a71c0e9bf08655a817ef5cc5bef8e9747e21823f3d11ca55e40ef5cf5f207329d3c04865a5f5f9a74aef983e39fb69cfd1e6647303389bd5de770c2eeaf87cc4589d2c4d2ba1bebdef9fc87409962f11c5b436aceb6a1b202a9a0d9b1c505c5d07bbab09ca117fcf190b2ade62e90462fcb2beb78eb44d45d2b6f0ff8386d7f187f3cae552f9ef1337edab6bffdb12a234e2c06bbe56889174918164f53f961f39a44a9aaaea6bcd6701ce6c8ee5627ccefadd3147d87bf7442f1e5c58f8dd0666eed4e8993c0b9f63320848f403c3eeb2f820f7b089dab443c03c0b2ab64877b940fb386b54ba8bfea05ef1ff4c083bf7ba9fb70ffc6d2f7b274d2a8f8c77616871d3a1db8e6a107f1274afbe1b74c20e7448a6ba3865d095c8c677fb155ca32f79766e05aad8439b60d1e37bc474c42fdeb61462f290214018ac0b82130b52963210e1f91c5ceb87e8515d7f4a9eb7af819591df2c505ae75d698895c13e9e3fd007701ac24a4e345002485f88e232bcf00dc4958e346728d4bb35178fd909c497c30e4ef5bb53f25362a2e41058ece835bdfb83933ebe7c1c81c992ff649a4f18952a671d6ce96578a1e276f353214cd5b5f569082840a57bd70390753d2d47aa673b522561513ab622e9949dbc69d64b9abb1242d2a60f7631a799c2605df1044e969394ece78c04af885f9d2a244ae499483bdb5bebc0a5f77e48d872d6c28dcb9e28e67e2a4aaac5ca6f6eee68f85e229dbff217ffcc451db8edae6e4b858b1e3a37d7b3cc2f28ea724ad78664d417c4c7c466e3c31b6b7d6b543dbb7df5a4122b27cc480d8f6fe494b5c42f40f966fc004bcf808c6e3a3fe72b5a28f21b262a906bbd961fe3b87327ab78bbfbf04e3616ae0c1df55b197ffaab54551fb9fd12934690a62d3de509d5a62c0e53ed8bf8e4bae71e55e26e020cef0a4cbdfb0f338f697ab1ef6bf607f32c8ead20d9d3166a708dfff2e0b7aa60850042802e38b80dfe0e020b706f7259be01e070606d012356e410d37cd5ee2d15b1c0e072af1c84de047c7582526d82cee91cd6a696979fef9e7b9118e4b3a112004c722388b5446a826817c43e70780831c2354223be26a3899cca71c677af9e7f5c32d3509d332b5f6b610db29a36988f029f5f52fe9ced56d4dddf3a532fc7c13f33d432202fad4ecbc99179bb631148e4f70b587f4a69010b0750dab8498cab45a29f6a3ed1bb3c95d0b9f0f7e9d403c5c63a55a7b534448d7370666cd332b5ef18c12bfabdcd8cf0ca473436cdd5d46a300265c5f5718cfb5f717b7f22b4cf3f4174f3c1ca73cf873728727655add6df8373dacb3865b8cd3d595f517be63a14dd7ceb71b77d4b8fe3086e252e6edc645f66643515aa9d1a9f5eadf216b9aa2085004c619018bc53263c68c69d3a6f9f9f97df4d147786405abc5041e9111c5c7c7237bb1d96c5bb66c512814229108edf1e821fefefea8c12c36c1a6591bd61e8fde82b5b0caffcfdefbc04555a58fff0fffff08d220baa824da8c4e898536b8a13993240d1afa8d548c4d1463a50f9bcb129f4d287f6c404bb6a0bbe4aae5575d37c28a2257faaa5b90aceeb0951994165424a814259b0829020e32f07bceb973873b33f7022383899cf3f275efb9cf79ce739ef33e57ee33e7dc3fc686e9a129cff9800a267f3809b735093173cd6964cf329ab049857a260561061f7fb64ea242939a68a9a8d0546578666a75f4216673e7f15eb2aef61fa0b6d2146871e5a2f2c2ed79e6b5cd8fb80768cd65fc516d8948e37ce100f6a2fe08eb55ea4a2cba809d220ff40a523ffe0b34079815452a59d7467f448d4b7190924b3ad34f81c87889fa633223c2df546699a92d317b139365f1d01df7dd05eb766b4bf2cd8345555aee232ee74eb5b84e5db80817d35bbf38ccc78b58d96a7cad0d320923c0083002434480858c43049699ed25808b6b5dbd47bd392979afc6f5cddd68fe5cdfdef7b626c5414ade5b93e5ec4060d49d73d5722735b5a4af2e7e29c7ec27891d1a60261801468011b836026c61fadab8b15a8c0023c0080c0901fc44a5dccf17efb0a81ae4b4f99078c78c32022397005b9866b38c23f7ec673d670418811b90406da5e056e01bd03fe61223c0088c5402e4364996180146801160041801468011600418813e08b090b10f38ac88116004180146801160041801468010600bd3ec3cb8e10928221222269d3fb64bf07de7c1fb1cb171f72adfefdf4fccc81fbcad7e2c0c89ff566d6ae2d217dc0657af828b4bdb576579850378238f950dfb08ecdbdf7efa35d4e338d4f6fb44ae49d8f1f87dcdff2ed8b04bf0d0749f35582123c0083002434780cd320e1d5b6af90980cd43dcc4cd6e3e3dfb0ff1b171b3fcecda4fcd6c4d903c58bb286260562312d27337a66906a66ca125f47f30762ccc5a1c6ae63c10a9d54662d26a97450dd4d3a1f047d85f0b27afe1b09f7ed9388e520e4872b0937da976fb966be6dc172c97876967f7adc64a1901468011b83e0458c838c49cf17ddde1f4d38243dccecd6a5e11b73532d0a9a9223fc3bef32c3add81f28a237b07f6655ffc82cf7de1eab0259a814662bda361e1ff35dbe9b52891d3e5c4ae5a35675566a99e7c51f9aa8496a5d8eefe58f4d7b23ddb8ffbe9978de328d5be24073bd9976ab76fb96edfdb472a2a8af7e137a6586204180146e0e727c016a687780c445f4838c46dde44e623d2578780a19e7c93dace4997936ac3d26d27f92c9d61a08158afab96fe5fab9d5e8b7de46af195d03ee4f38cf8ceed01267bfb63d9df01bad1b75a9ffdb26d1ca51a92e6601ffb52edf623af2dde90c47d5cb31f4556cc0830028cc0752030e243c6e500b876ec4b51e3c516bfc8f21495c402e0770a13016ea545f86de8789ac155669c38c46b322ae3f7a6b3f9314a055848ede0244f1b007eab7a1bc02dfcc7a66fa36af845c16f004ef56987b7374cf75129b92b1f508d97b9815e7fa9ddd05cf55aec9b5e45b90f9d79f5cff541aba2d5723780a69ad2943519b5aa75e27241cf637213959e50bdf725e365136fed4a7a383840c6a9b4371e4b7d38857bcfb1222a2dfbf14581d82e26437b9deed5d80df9aa84ad2fc48c2dca2d9ebe767528add57272ef83bba0e885a53e381307ce6dd5ef44a76c373628e50fbe25cf67d42dee240c1b33254205e0e7014d7525e49384d2fe7036cdfcefc30e40c2c6ddd19a206f725eb5561c782929a738616bd1c3b233272edf1116ecd7786c6ff1a539895ab9beb17c6d76fd0ba23c8ddd10df898ccbce2ac97e89f943ecdad45fea8848bb83381fccfa86e3253a8e5449f47cc012117fa438f8f4613f2aaff0f1d040721e1ada9b3efcc7b6d4ed25a04a287c21faca47451fb8dcbb324c8927626bfdb1ec9894be7f97588f3bda54addbfac25225f90b839f527586ba77fe94b49d9ae98f3fed3adb30028c00233054044676c8b812603d258b11612bc07480407ae8453f18cd7dda1a83bf3b01bca97c0bc07d0097008e03a80130dc3c03f01ac00b008ba8022a63988851e604808d0053a91037497ce61d800c00293bbcd630dd476515a66991607b5d755597cf246580cc73823f8c025f4fef80c44c04d6da50df3a36d04fa9dd94fbd5c307bdc4e5a985c6eeab52e2d5fe80411277bd04487f626570805b634dc5e7f5ada327dea61ce33c8aaa2a62725f49563b81beee64f9b7975c26dd316bdc247f2c19e5e5eded19189f998c4bb5f5d535be414a4f2f2fb8d878a1b9d9d00563e5019e6371a4f9344adc9f63137e1b25374edba9692fb042c32188ce2e91f2c768d1dcffb4cc2d5276e272f7939eb6d697579c9b3a373424eaa9dcfaaa731e3e32b93a0c6312bdc13f34167fbce8f50637ff994b022ef4c38def90692f3a2e69990936f9935a586b537fb175d176affd7c30f587cb5cbc2c3e8ef8d56689f341d41f490e8552f6237697a50579e22f9f639ffee03c272c441d9bb9b5b329a9c6d7d7dbdb5b1baf24e7795da37b406060685256942e43729a5074dc91335c6e6d6e6e063c479d7c0203fc645ef8ad6c92fae1cf29b12d23c008300243466064878cbfa65c37d1b04f14710a9d773c419f2cc7f80fe3c5769c6ba1aa38d7881f435e4c270e315ec42901bcaa7f42c3c422aa904b03d0381a41be0ef03d9d71fc9c2a88dac1d073582755ca13182f1a1af62447efc2a93f454a69c10a57ec511b6183a9ba38676d4e3168d28fe6448e9d7a17b45d1497833164cc5aff9037b41fcac3f95b2e69268fc5b99b96cf8bb764987d3e5891bc9ac48be55be69ba24dbe0ab76f7a2b6d499e4ef1ca47054a6717a8cd4f8cc1a7a415bb8f16dc2ed493f0735ff61feb6f95ddbd32511de05cf1d6b6b273e0e3e6d6588577564af963346ae1ffbe3c093b8a758f60bcd85e93a65d43a69234594773b4aa854b0e5233357b377c70e7d3f1c1b296635b7ef7657841bc62548f044f9e9bb04f242f312eb6fa03859512fc8d0d5af457aadd6b3e1f2cfb25358e20713ed8caa11644cf13d5ba688c175b6bde5ab2867e0c3d6ae3d1b4b090e804d53367380feb4ab7c466148222adac206aac1c0348892431ee50985799bf819ca198142965052bf8fafd9c6fbc1adb33028c00233054044676c888ebd1e7a5e3c59d345e44f25b011a0182e918e0e2f287829bc5dcf9475b4a69bc882a38cbc8250c1ff1df327a70842fc5239c9bc4646d878a87ef46a309c6a9d8fab2d748bc88c9c7d538354769b59edc4be2454cba4fceea2395b24911f0052a88c901c33145c2566da05b4bc59eecde853ddde18feb83c202b569050b929abeaefcb868677609ae0ec3bd64cdb9e9b39dc6509334224c157b32f38891da3776ec903556f14513f0d4efe20fb8bda83ff2ca92c24a181f95803f0b1a74858217fd48f9438c59fb5f5b59522b6a276a229e0be0a97caeac0c6f78308027c6c506f75170050feaf66cd7a95ec9c0eeed4f29f44959888a783fa5a89f1140b85927a971b1d91fb0adbf52eda28712fef7753e58f78b97588fa3f8f920e58f2407630396f635b326e1f89c78ef80b1bcf8bdb34f86295dddfd68bf0c0da5245ec4e44336dc8f2292b34e3324c65da829f84f84ff7324ce7f61059667041801466008098ce09011670d31e1e54b2a61c0c7a5bfd1dd1374fb1dc069c1eb2ceb8d2ae0c267c6f119e15eb0fe099c82941d61ad6198773371f023a10fded88909199fabc1357b9a148a7178a363ddd718df3c23210788485f499e7ad969fed44be186985351296b966b66c9fd83d49141eab9b3331fccaea36625c7b1bde1532e8685927c6eeac6e888f54ecacf5ecd51bd59cc89fb43023771ff7b2b0bec28c67a23a8f686eaca33ad2e467ace1ddf56417038c6b4785b2ce1a7bf5083ebec7cfdfefde4354d7bd1713195f69ac66057ca9f6beaaf68bb52fe4b9f0fbd9ef69f53501589f341d49f5e9b26c4bd22cb9cab339aeeea68213f5668f27016fcf8d0b7b5f372b297f08214f5c199148b25e9f34d4c9bc91801468011b03781111c32e263287afac04a183f9b68015718e761d127008fd3c5e56473bd747af8132ffc3d9fe1f61ce0cb02a1941d81cab0cc9245685c6d6ea6ce6b76242f30bf5ed2e007206e5d3899136cf92fffcc91b51cc853236e50fd16ffd48b004765711efec30beebadcec5875e0dcc509905473510ffeb2a0180d08a6244d759c84f190496acc74755a4ac8b34b2409fc2487aedc381a0b89844b22fe94eceac37f6b3bb59f9e6e8f0ff1746f4e4d4de5ad927dca2b4ff61ed2d6cd1b17f793ab6210f6abcf7119b83f9c651bfadb67bbf419316252c0997b066dc0fde21ce2b6c2fed69e113f1ffaf4c79a83d03c08ec9ff8ea5c94527ef7c238fc09427414d37df144d77775d00a4e7dfc41d544c54de8c8e75feb2435ee66ed5a1d88f2b7d2620246801160048684401f7fe186a4bd1bcbe87b000fd15b12f1c5672df43117fcc3ffb8848f18ea6194897393fb01de06984897a431167c93ea3f4c97a4e7d215671498963c713202ab603080abb2bfa4d393eb24ec444bb43b4cc4ba9a1f0da0942f797aabcf62ff7bd40164b5d5c80197e77c55b1e9698bc6dc714fa8d20fe718c94b7354691272e3532f7fa2cbc9bdbdd7a495e52c397ff2c38fbfa83e7701c6f9e2dc1cb4359fc705bb370ed76546ca23734a7f51faeed73fb92a82668def288f49dade5b5722e7362e382b3d0bda4e67e491cbbfb83fb46e4d5d33c803ee4bc96d3cf8a9ffdde177ba7c16bbdf4bdc1ffea9174bffa5eca4e41da95b1c29579716e615157f0ce315f768c226b595be4b4e21f1ff9e7df8491b01cf092aec970b34ecc9ded5c7b8a0b248bf24fcd1ee049bfadb47bbe2fe4b9d0f5c97e856d82ffc8f654ae6e328713e94499e9f68478c43eff923b45f92f37e6294dc3ff4b1dd595e874fbb2e7e6419fe04aa3f7250074a933f2433caec08ef54d89f138fcf64858def58c39dd895e2e3ae8dcd31afc91f499effbc02db33028c002330c404c4af4943dce80d631e6f12c3b9077c7805ff71895f3ee58fcdf718d561bc38857fce1a0b31d6c4f0f14180bbe92bbbf162b809008342bcc7914bb8d83693468debe9313e9a8d49d40e2d19c69be2d47d0bf7af08f60f095383a1e9d096b7272724deee8e91237953a04c1e1a29279d6b6faa7e35732dc6cf9844e5b9e92bbc418f4fbd086302a2adab39d3b42828581d18ac26876431b762377d1cb5243bd6dfe595c7b4ca10ed8a105ad45afd31dde3061b114fe44d8b32a5365209fa9ab2bc7cbcdd51d41fae7271c6ee05773d132257272693d65b4e7e26e54feefe8fc4fda78644ece09b9a62b3c614a6870686c62787522d7d4d693d041a407f050f3b718a8b848f5c22dde9c34f54c7a9734f6fb916711beafe9dbdab56725c88411bfcd15d11e52fd95fc9766d3b1fb86e8bf48b2fb01e47f1f341d21f490e5c0b56f6f31fcef4dfff4c54903636886ad497ef8dc92ec6c77d705c0c57f879eb3632106e82e949ee4fad339dece42c8b8f3b57c66fc9787349fafce735d89e1160041881a125e0d0d3d3236cc174c86584dbeeee6ed4448929a14498e70e716b9d0c06030a712bcce04bc7382166b822e1962baaaeae7efef9e7851e0e493e12c003e70a040fa9f4d14c187d87ce4f0087044a28c4e8482811149257398eb1b22f6a47586b18e6159a88191e1d5525bade804f9556b62dea7ce9969882532a9f8b95e47d863449c863d6a58cb95cb99d84706249a18a90dfeae1011dcd668d50554544841cc7b1e3bb3a9da915311be232097f84ca2a4dc4adbe1ecddf15eb8cb747e2baa4a53ffdf84fcd89d8414b886e8247474b73498944df395706e0a7d0672e2f322e02251bfcb1b1bf22ed4af92f2517f8696356e47c10f14760549483a05c98554444cdc0bf19662783b0dc2aaf88888b98a42fd9852fd1314b7d8cbb2ae5956d2b9475c599b13925c63a56fccd6cb103468011184a020d0d0da3478f767474747070387efc386eb9846d6206b7181185868662f4d2d1d1b179f3e6a0a020272727d4c7ad4572767646091671192ecfe970fab8b54ed80a2734364c0f4d79ce075430f9c349b8ad4988996b4e237b96d1844d2ad433290833f8f8b37512159ad4444b4585a62ac33353aba30f319b3b8ff77a75b5ff00b595a6408b2b1795176ecf33af6d7ec43de06a2ee38f6a4b441ae70b07b017f54758af525762d105ec1479105a90faf19f6a8ad8c127bac5d0090cf766fbf5b35795cff56ddc067f6cecaf68bb52fe4bc9f94ed8ba17391f44fd31d915e5602a35cfd49698bde9c9bc50eca8b624df2258e4b4ac5c52a5e53ee272ee548bebd4858b70b1bbf58bc37cbc8815acf88b35c5648c0023c0080c090116320e09566654480017d7ba84c77c5e4ace975feffd8de68f54ff878b9fb6fa3fdcfb25d55f1be5a3ee9cab963ba9692d7d75f14b39663f496c34c6d41901468011b01f01b6306d3f96cc1223c00830028326809f9694fbf9e21d1655839c361fb427cc0023c0080809b0856936cb283c1f589e11600418819f99406da5e056e09fd917d63c23c0083002bd04c86d922c31028c0023c00830028c0023c00830027d106021631f70581123c00830028c0023c00830028c0021c042c667abcf5f3c77227f284e87970f1c3f71387ffe5098be0e36151169595909118ac13715b32e3d2b25ced290fdec0fde435b2ca8686f3492553471e95959e998b2b252f08b34fd26fb71b8b938f70b8e2930028c0023c0085c5702233e644c5a3cdd6fb47ff0b267ed8f3de9d1c5b38317440d206ab07fdb76b03861f612ad76c16cf9a04d6916ff2a52bbe2014b4376b33f68076d32a05984bd59b648725435731e88d46a233169b5cb0632f876e3707371b66950983223c00830028cc0d01318f121e3d682ff9cfafecb832f3f3704ac3b7bf0cd9e06fc12e1b04c6d57f1f3155d57ede0fb1534c47f84b7d79cfdecf7dabc1e3982452fcd459713bb6ad59c5599a57dabf57a6a3f0e3717e75e422cc70830028c0023702310604f4c6f554fdb7a238cc40de803be5a1900bfba3d5469a8ed0f89df3f902fc251cf25cdd7e22b9b7dc867f1fa5633d51f6a0e436ddfd4119661041801468011b889098ce090f1d103ed05916ed0dd030e9ddffed373ca12e3303f5a74b96069e717ff287359b06cba0cbf01d4dd76f649afbffc6ffb8b931c7fcc721f6f9a8f4c3adcf0e2fdfe7505aba7c5cd3a733965f2287a69eeb97aea50f6b425262d9071763795b7a7cc7577e8d8b7ca2bfa7528aa3ebf74ba1f9de3edfefe3f7f0950afbf314fb2ae4edf84dcbd2bd5723780a69ad2943519dc172ca25272573ea01a2f7303bdfe52bba1b9eab5d854723fa8222a2dfbf1458128c76468afd3bd1abbe10cd735fcba1a495169458f2ff0756e2efcf3677824613f2aaff0f1d04042ced0def4e13fb6a56e2f015542e10bd1573e2afac0e5de95614a6ca0b5fe58764c8a8e1885848dbba33541de380286d68a032f25e5705fb1c692881dfffc43b0acebd89edfa7ec22ef444ed85af4b0eccc89cb778405fb351edb5b7c694ea256ae6f2c5ffb307ed55aac5d621e3409598f3f383b60ec68f28d27fcbc3515e246ba5d5ec3726fe90f572ec101860f67cb7eb263468011600418819b8c000d5a6eb23e0db03b3f345fecb8d271b9133fc8e8ee7b4b6fa531fe1e8e8eb2e0e5cba7cb7a3a2eb55ded711c3539e7c4a4aa8b3d8e6efe4f9627f19a491bc2263a3a747d14a738dffd14c68b575bce9efcf2fb6e0797a98bb31a8a1ee5d50017a6e7bf5cddfdd43c0f27c71ffe998bf162fe37579663bcd8dd76eacbb3fa1ec789f39efae6e5f926fd1b2783f369ca1569f16a7967437d931efc94da4db931e85e545661da0a75800cce5657d59ed7cb64de0113fc51ae88c97d252d0a23bdba93e547ca8fd5b5388d9b44e45cc2e94a45ccc6b2b4a80099e797effc7d571348d88fd85d9686f16253cdb1d22315ed9e7eead8ccad092a18e5ebebedadd4c6c787293b1bead021efc0d0a4ac28341e97bb3f3e2cc8bbbdbefcc8b1c62eef90a8a77263f8876d54336f97618ce736fe177e9c1b5e1e3e32b93a2c58d6ae37f887c69278516f70f39fb94425d12ec68b29bb73e2b5727fcff3b5555fd73719fbd377bb26258b8c953f582ec1615871b6e8263b64041801468011b8e9088ce090f168dc782f4f2f9f072fe034a3705c2f180f2e9ddce1e4e9e3a5fd00ef48749f12bae4f747bb0164733770c1e0fca2347f47b87af6cd9203497e0ed0dd52e6ea3b65665080d3e62f517fe2d23f736ad0a30fc9ffe65f89d31da0e7cb1d610138fb38ffc0caa96ed0d3f23b27af694153dc934fa2bee29174a10b3754beba38471b1db3e4d9437873ded8a977812ae5096d20181af6fc7641ecdac435cfbcdf6a745791bc5aed04faf22df363135337a4a6c42e99af8dcd3116765e991297bb3b39cc13da8f6c599384b3867cb2b0af5a171de409ad356f2d599392b121499b7304db0d894e50b5192bd4956ed146c7c6a4bc8b537d63e54a50ac7b44ed0fed3569da98d40d290f3f8b37113aa916f273c695393b8acb4f561c297e976f914eacd7ecdd50f8f525b4d8726ccbdad7be067095854bb4ab4858bf220815df4a9b1fbd26716dfabfb0bf643eb9ef76f9de59eeadfde1352c380c33ce7c2fd89e116004180146e06625308217a68d437a275efe316813261241769cf499f91b229cc097bc1efee1cbddf346fbe7e6cf7f3d0e763e341117414b1e8b8b2fc29bd6a0eecd6ca3defa1d3ffdfeaf32073732cd85761dfd57afc69936c37f329cd5cf5195c8db489cee20dbd2ddbd85081c4873aea349f6064b48a6f5e4deb5dc22afee93b3fa48a56c52ac668237407dd96b7499176fda7325f11349f7e2bc23347db6b3903b146c9190777062224a5a8a331fcce1833751fb8b678d435c27de3b60ac5ffcded927c394aeee384988fa8686d2d80cda800f2927e8674cf4c4ada7f2b9b232d4308027ae591bdc4791629a0a7352cd3d42a5ba3ddb75aa5732d0ddfd29853e290b51d1ef8e49a2ed4ebcf72e6cbab1fcd53c1d3567ea6f7fed72ad5b6fadfc21fdba09385bf79449180146801160046e26022c64141fcd9e2bfcdc99a05cbdf3abeea7a64f8c7e717e054c75c189c2a34b8e42b913867c3dede78ef28a322aa04724182471a30338ddfec0b3f01c8919e74ff621153a9a6a1b2ebbb850357069affb3797bba1b618ca9cabf9c2e89242310e6f5cacfbfa5b20c1b09bd1730cb54888861381542cf1c4071a0283dee0e4e6347aeacc082831c68ca2f6af388fc75b1c3b5ab87b26b1a287339ea45d982149df66ba8d901ca205c5586f74a0bda1baf24c2bcfd3b9e3db2a522c9eb052179db2c429d10b35005c74e9e84ce4d6ed8ef6c708192e9efbc1686c94b1bfb6b72bee0d4a45390c7fce92fd65058c0023c0083002c391000b19e9a81948cc6396f0326e9dd6afab4d3a32d5e3aeb21749d457f16238aabc5fdd3a6fdee8e98fe5c37371a4c67c0d0d41f877ebf434262757e7fd7581dfbcac73875bc6876f3dbaffeb9ee5131d9c5ba64d9b66ddc28d2731ae07c7ad0b2773882dff05571232b65d6ca6ae6a76242f30a2aa3d73510ffeb2207c7d7536372127ec4c7bd5b359354fe7ac088acadcd1d991689cb22396382d93fd130de7a294f2bb17c641493e29524cf7c506f877f438599db0b59f9e6e8f0ff1746f4e4d4de54c596e355171133af20b8d71aa5929b5c679d054770ee422edeac11dabf88ce5669b55b929f771fdedbf5d0c93bb3acd9ae30ec4fdb1e430fc388b749589180146801160046e1e025657e09ba76b36f4c461f4dd278e9f804b276786d3b04f58758cf0e0e8e307be3fb27ca2a3234e137efe4b326908cfa98b37f4ac769bbceafc09dfb74f7a3cba9284506d15af6c05c822e56eb035dc79123efe32dd7fc15f1b8a2e04448757bcdc3d7bf454c3e533ff28780fa6aae6cf0bf1d57fe0e4a326ea3752c2655f5f556c7adaa23177dc13aaf4c339c6bf25edd2454d358052bee4e9ad3e8bfdef51079055616e1650f7c6e1bacc4879644ee92f4adffdfa275745d0acf11de531495f9093ccc91d74790fe68c2d4b0b0b5eb171ebe5e4a44fc9b2b2b5fd12e84c8c92fb873eb63bcbebf069d7c58f2cc350b5fec8411d28694bfcc6b4f25c9977a46e71a45c5d5a985754fc318c57dca3099bd4566abc8d5291b03f271eef0c081bdfb1a6374e1539ed5bcbde6fc4475cacda2d3a316b1dfa1316bf63e35d5e333572f2300dc682007db74bddf49ca0ca4acf7281863dd9bb8cb3a662fe887218669cf961617b468011600418819b9580e3cddab181f70b2fd8e0240b9e1d1c7cff9224524d8f4bc93d9dfcbce3053d3ef582cbaaa404e068744e233986dafc27c98ea438f78cffe87b1cfc821727ae5e30da09da4e1df4fae57a2c2086e8ed76b03ee8fe574fe1d1c4e505c79f855ffa249f6debc607b19727262e5f30dbcf0d2e9ee9632195b4f1b3242423938746464562bcd8de54bde3f7b1e4d535c5a9fb4e3622b1903075805bd3a12d3baadbc1cd9d448e25d9b13b4a6bf4e01da25d11bb222a3428d0d7c315e557d01009b2b0ee86ffd951de0e4e21f12fa4df46d088d887fc87338b1bf56e41dad8e4c41518a2d597ef8dc9c6963b51bff30a3f6fd74646889bc6cb8ecd3a56df8a0f50c72727c7af880cf277faa1ae9e344713171e3a1347b86400fd15cc75e21420bfde4d8749a2dd928cbf97a335efe0b030b9ec5279f1117c649a9b68ecb35d7a0279cbb591dab085f7c9f9b6716fe58f0487e1c659d0459665041801468011b8090938f4f490b8c6944c875c46b8edee26b1124a4c0925c23c77885beb64301850885b61a6abab8b1362862b126eb9a2eaeaeae79f7fdee4de0d9c99ffeca648bcebeddbcfd66f7d7d406ece4f7a3672ba77ebb96f9f7b0e67246fd0a450287c7c704df687ca4ae33419e7a8421331c3a3a3aa446726357642111121070fe8f8ae4e675ecbba9352f671413a226a06becab1f9bb625da5753d110971698247474b734989d9bab822222e6292be6457a198abd676c4db45e3720fa82b29b13622d5aeb5694e22ea8f148761c459aabf4cce0830028cc0cd41a0a1a161f4e8d1f8623e070787e3c78fe3964bd83bcce01623a2d0d0508c5e3a3a3a366fde1c1414846ff2457ddc5a246767f2925f2ce2325c9ed3e1f4716b9db0154e686c981e9af29c0fa860f28793705b931033d79c58c878cde858454680116004180146801118290458c8c816a647cab9cefac90830028c0023c00830028cc035136021e335a3631519014680116004180146801118290458c83852469af5931160041801468011600418816b26c042c66b46c72a32028c0023c00830028c0023305208b09071a48c34eb2723c00830028c0023c0083002d74c40e49dc6d76c8b55640486848022222162d2f963bb8a07f6b69d81f910b171f72adfefdf4fccc81f98fe20b4ece3bf6a5dfaff71fdae2c2f5f27ee8a262e7dc16d70f52ab8b8b47d55965728a1265e994aede327df403ffe0c35ffa1b6cf77d3e6fd508ea32661c7e3f735ffbb60c32eb16f1dd9ec2aabc00830028c80190116329ae1b0ffc11300b7013c657fc323c7627af61f2203a1b476177991b8bd9266b62648ee14e41c91913f90ab6b4442fa8229570f6ec8b13d1003fbf8af59f4ab482dd45f950a1935731e88d41a5f196e505ebd8690d13e7ef203d48f3f36f2e7ad5aee25c7c54ef62ddb1bfcf1508ea366ce7dc17239b8cd0616320e7ea49805468011b022c042462b24f61584014cc5cfd5011cb1afdd91624d11b73532d0a9a9624fc64022bb8153d1e90e94ffc2a7be6c805667de17ae963b5fd2e4e86c8c19ede7ff553df6aeebaa54177539b1abf601c8b376676a0dd26a52d5ede7a7b1857efcb191bf94db92e36227fb52ed0e423e84e3a8dbf7f6918005173f787710eeb1aa8c0023c00848126021a3241afb1474d9c7cc48b51291be3a040cf5f86d6b7b13d0e5a4da10fd7576918f1e4ac66b92ced9cfff1fc89712b90f154ab5568b9fa6f1694747fb5613ab6e3f3f05d6fbf4c736fe02ab6659e971b18f7db3c6ec7230a4e3585bbc21c99e73f176e93133c2083002370d81111f322e07c0b5635f3aa078b1c5b9405c4446492c007ea73011e0565af429403ccd6ca65386784d46e5fd00d9fc99900ab090dac1b9a036802f00b601dc02e04e156ea35bfc0ef33700a7fab4c3db1ba6fba894dc950fa8c6cbdc40afbfd46e68ae7a2df64dafa2dc87cebcfae7faa055d16ab91b40534d69ca9a8c5ad53a71b9a0e731b9894a4fa8defb92f13288b76a253d1c1c20e354da1b8fa53e9cc2dddfa8884acb7e7c5120b68bc9d05ea77b357643be2a61eb0b31638b728ba7af5d1d4a6bb59cdcfbe02e287a61a90fe8bbc0b9adfa9de894edc606a5fc51a8343ea36e712761d89829112a003f0f68aa2b219f4294f687b329f43f616bd1c3b233272edf1116ecd7786c6ff1a539895ab9beb17cedc3a9b5109557f8786820e997a1bde9c37f6c4bdd6e9cfdd424643dfee0ec80b1a3c9b7a500da8dbe42c2c6ddd19a206f721eb6561c782929a7cf40c1163fb916ec3b8ebcd7748f9c45f9d342d171c412117f7656898f8b4f1ff6c538ab120a5f88bef251d1072ef7ae0c53e209d45a7f2c3b2645eaf7c4cf398e661c7b0f54ebb6beb05449fe22e1a7579da1ee9d3f256da7eef737eebd26588e1160041881011018d921e34a80f514124684ad00d30102e9a117008677dca7ad31f8bb13c09bcab700dc077009e038801a00c3cd3300af01bc00b0882aa03286891865e2679937d225692a86246e07f00e400680941d5e6b98eea3b20ad3b448b0bdaebaaacb67923240e639c11f4681afa777406226026b6da86f1d1be8a7d46ecafdeae1835ee2f2d44263f75529f16a7fc0a08abbfe01a43fb13238c0adb1a6e2f3fad6d1136f538e711e45551531b9af24ab9d405f77b2fcdb4b2e93ee98356e923f968cf2f2f6f60c8ccf4c06d0d757d7f806293dbdbce062e385e66643178c9507788ec591e6d328717f8e4df86d949cc48b98d4b41798693804d1d92552fe505d0073ffbd3c7c64727518c6847a837f682cfe18d1eb0d6efe3397a8228272d3823c31923ef6e90fce73c242d4b1995b3b9b9276556a5276e7ac0842c5869aaa8bee138302fd38cb71b9fb0999d6faf28a7353e78686443d955b5f952afd0d6d9bfcc426ec3c8e461cfceee26571fef85971897114f5272d33417c5c0aa5ec47ec2e13e35ce3ebebededad8d5792f3b3aed13d20303034292b4a97211e85ff8ce3c813b4da5f6e6d6e6e063ca79d7c0203fc645ef86d7692fa19774e896d1901468011183081911d32fe9a72da44c33e51642974def1040072c25b12315ec4791e0d55c5db13f30016d389438c17f1273e46019f50b522aa904b03d0381a41be0ef03d9d71fc5cda0e869ec33aa9529ec078d1d0b027397a174efd29524a0b56b8628fda081b4cd5c5396b71324c937e342772ecd4bba0eda2b81c8c2163d6fa87bca1fd501ecedf724933792cce01b57c5ebc25a318a7f84c4991bc9ac48be55be69ba24d5319cd34bd95b6244fa778e5a302a5b30bd4e627c6e053d28add470b6e17ea49f8b92ffb8ff5b7caee5e99a80e70ae786b5bd939f071736bacc25940297f8c462dfda7ffd56af66ef8e0cea7e383652dc7b6fceecbf08278852c3c1ae3c5d69ab796acc1f309e3b58d47d3c242a2135447ee5e4fe2c596b7d21eccc33923134fc5ba47305e6caf49d3ae2153499aaca3395ad5c2255048ab1b1b17ee6cf4d3dee3287485e4a5f883c4384af8b32f4f625c6a41747c55eb24383f7386f3b0ae744b6c462128d2ca0aa2c6ca318094483fdb384af8035099bf819cd198142965052b78bd7ec69d57637b4680116004064a6064878cb81e7d5e3a5edcc93fb3b215a011209832c5d9c70f05378bb9d3756a2c29a5f122667096914b183ee2bf65f4e0085f8a47383789c9da0e150fdf8d46138c53b1f565af917811938fab716a8ed26a3db997c48b98749f9cd5472a659322e00b5410930386638a84adda40b7968a3dd9bd0b84bac31fd70785056ad30a1624357d5df971d1ceec12123ade4bd69c9b3edb690c354923c254b12793845c50fbc68e1db2c62abe68029efa5dfc01b717f5475e59525809e3a312f0674183ae50f0a21f297f883131ff9dc050b767bb4ef54a06babb3fa5d02765216afadd31092d9f78ef00e70314bf77f6c930a5abfbc47befc249c5c6f257a9f3029e3326e2b9039ecae7cacaf0a6450378621c6d701f65ac2eb2b3cd4ffb8ea3883b4691357ff17194f2a7b6b2a4567c5cb8062ced6b66897346c838ee868652122f62f2211beec74cdadea351e44e0a53d21f4a9bdf46a0ff2ce36872433a23f84f87ffd324febf485767258c0023c008f4496004878c386b88c914d75863c2808f4b7fa3bb27e8f63b80d374d2912baae776002e7c661c9f11ee05eb9fc02948d911d61a86793713073f12cae08d9d9890f1b91a5cb3a749a11887373ad67d8d71e13312728088f495e4a9979de64fbd146e88391595b266b96696dc3f481d19a49e3b3bf3c1ec3a6a56721cdb1b3ee5625828c9e7a6628c8e58efa4fcecd5340fccc4fdc18e89fb8fe6bbf03657c2437fa106d7cda95d476722ef6831cd9b7a38d36076b43f46e070f1dc0f540bb58d3c1563bd116c7b4375e5995617236de78e6f4da1b0515db8b3d14f52d54ee328f4a2bfbc822a488ca3a83fbd16cdc7a5572ec8b94a70e654f46ded025de35f85c36fbfd63945f05fb7b3199f97d7c4ff6ce328f4702079e9711f486da6c30830028c802581111c32e263287afac04a183f9b68014770b1202518413e4e179793cdf5d2e9e14fbcf0f77c86db73802f0b845276042ac3324b16a171b5b9993aafd991bcc0fcea4f832580b875e1644eb0e5bffc3347d672204f8db841f55bfc532f021c95c579f80f67f1d6e566c7aa03e72e4e80a49a8b7af09705c56840302569aae3640ccd4c0261a6ab537844f322fea0dc951b4763616f25117f4a76f5e1bfb126b5c6196baa3b0772f9dd0be330a425a58ae9be084edfa5a74f4ef98cc5bb6231a97253eee378d67e7aba3d3ec4d3bd3935359516896c0c56fdb2c14ffb8da3c9336b7f8c45423f6bcf888f639ffe488d8bb5fd135f9d8b528a70eea0aa4e627f082b8b8d33e6a68e6086bb2dc528b9eee348dad544c54de8c82f243f4dfa4da2e3de6f2da6c00830028c802801b1bf94a28a37a5f03d8087e82d89f822b316fa980b5e40302e144d18ea6194897393fb01de06984897a431167c936a3f4c97a4e7d215671498963c71f208abe0c51d57657f49a727d749d889166d75d80875353f1a40295ff2f4569fc5fef7a803c8eaa991032ef3f9aa62d3d3168db9e39e50a51fce319297e6a8d224e4c6a75efe645c91e50968d2ca72969c3ff9e1c75f549fbb00e37cc98a615bf3795c807be3705d66a43c32a7f417a5ef7efd93ab2268d6f88ef298a4ed7c4dc9bddbb8e0acf42c683b9d9147c235717f68ed9aba669007dc9792db78f053ffbbc3ef74f92c76bf97b83ffc532f96fe133b22ffdd5acbde6fd4cafd431fdb9de575f8b4ebe2479661485d7fe460d18959eba2e4fe61f13b36dee5355323979188119f7080cabc23758b23e5ead2c2bca2e28f61bce21e4dd8a4b6526d6c0ef5946c3c27a8b05f2ed0b0277b57ad1437093fed368e266f2cfc11c8cdf94b8c6399e479859644c6c5f4083cce950ac6b724e7fd44e469c559074a8147fcdcaf99c8fae0e71847ce0b45c2fe9c787cb62b6c7cc71a8bff20166e4a8dbb851a3b640418014660c00444fef60db8eef057c49bca700e031f5ec17f5ce2974ff963f33d4675182f4ee19fb3c6428c35317c7c10e06e80701a746c02c0a010ef71e4d233003369d4b89e1ee3a3d99844edd09261bc294eddb770ff8a60ff903035189a0e6d797b7242e2edee1839923705cae4a19172d2b9f6a6ea5733d7d2bb1a4988662dcf4d5fe10d7a7cea05836db3a4ab39d3b42828581d18ace6e4ed0d15bbe963ad25d9b1fe2eaf3ca65586685784d0b2d6ea8ff9bad88878226f5a9429b5914ad0d7709fe113f587ab5c9cb17bc15dcf84c8d589c9a4f596939f81843fb9fb3f12f71fbbabbf82753b716acdf48b8230c87f38d37fff335141dad820da587df9de986c2454fcf705ca44ec6e184e83b794179fb8232a8c8bc3b363b3c614a6870686c62787d21afa9ad27a9a21e671eadcd35bae45dc86ba7f63c868ab9f761a47497ff8026bfee2e328e90f3124322e92f62538ab52700c0c57f8f9e63602d04d38fdc91be4f73fd338f2cd737fb29de9e42b2febdd635f8c4962dcf962b66704180146c066020e3d3d3dc24aa6432e23dc767777a3264a4c0925c23c77885beb64301850885b61065f22c60931c31509b75c517575f5f3cf3f2ff47048f291001e38b7237848a58f66f00a8eab853f011c1228a110afe74289a0907cfd658c957d513bc25ac330afd044ccf0e8a82ad1f5067caab4b26d51e74bb7c4149c52f95cac24ef33a449421eb32e65cce5caed525f5256a822e4b77a784047b35923d4a22222428ee3d8f15d9dced48ab1b101ec24fc11d65469226ef5f568feae5867bc3d12d7912dfde9c77fa139b3bc22226a069e8366c6d1bc2642ee017525f4391f337d5234638247474b734949ef2342e62a82231bfd1cfc380adab6352b328e22fe08ac8a8c8ba0d43c2bced95c673047e2f6ed368e784a44c4454cd297ec1279a9922ae5956d2b9475c599b139fcb2b5d5b80fa66fac2e2330c2093434348c1e3ddad1d1d1c1c1e1f8f1e3b8e51262c10c6e31220a0d0dc5e8a5a3a363f3e6cd414141f8465dd4c7ad457276262fdbc5222ec3e5391d4e1fb7d6095be184c686e9a129cff9800a267f3809b735093173cd6964cf329ab049857a260561061f7fb64ea242939a68a9a8d0546578666a7522c10d2ea976b5ff00b595a6408beb9ca8bc707b5e5f5de71e9415d7a8158bacc45545a5a2fe08352b7525165dc04e91077705a91fff059ae6d9da12b33707190b457972657d14995ba64736fa296a5c8a8f945cc48d018944c651d41f9331917131955966c4395b6a5dfbb1b8fd3efcefa348d48bda927cfe571757ae4acb7dc4e5dca916d7a90b17e1227beb1787f97811cbadc65dd4261332028c00233010022c641c0825a6332802b858d6bb122bb0242517a85cd7ec8de6cf75edfc001a93e223251f8049a6327802a3ee9cab963ba9a9217d75f14b39663f61066f9f596004180146c048802d4cb353811160041881614c003f6929f7f3c53b32aa0639cd3e8c1930d71981eb41802d4cb359c6eb719eb1361801468011182202b595825b8787a80d6696116004180100729b244b8c0023c00830028c0023c00830028c401f0458c8d8071c56c40830028c0023c00830028c00234008b085e967abcfffdef7fbe2f133e3ec7e46bc7ce0f81c8faf9e0c8f3b6a77d3d7c1a022226dd5dce60f0b76893c036d5bf331ebd2ef70fdae20cffc494ffbd9b7cd1b5bb53571e90b6e83ab57c1c5a5edabb2bc42fe8d3652725bedf7a31fb171f72adfefdf4fccc8ef47d1d662fbf11fdee36b2b37a6cf0830028cc0482530e2671993164ff71bed1fbcec59fb9f01498f2e9e1dbc20caec0b63f66f65c82c4e98bd44ab5d305b3ee806348b7f15a95df180a521bbd91fb4837d1ad0cc792052ab8dc4a4d52e130ca694bc4f6392851109e9b91bd3444e15cd6c4d903c58bb2842b2eab516d88dfff01edf6bc5c7ea31028c002330e2088cf890716bc17f4e7dffe5c1979f1b82a1efecc1377b1af04b84c332b55dc5cf60745db583ef57d090be8bfb986faf39fbd9efb53904395d4eecaa5573566596d24ef4e290925f9b0b33ef0b57872dd158c78c3add81f28a237b07f645619bdab61fff613dbe363163ca8c0023c0088c64026c617aab7adad6917c06f4d1777c45338065a4d787bead45436ddf567fa4f46bf1d5c93ee4b387d4e15e2d2979afc680739de4f37986de80b4b7a22e27955f0aef15da2737d4fc87dabe7d28302b8c0023c00830020323308243c6470fb41744ba41770f38747efb4fcf294b8cc41e2dba5cb0b4f38b7f94b92c58365d86df00ea6e3bfba4d75ffeb7fdc5498e3f66b98f37cd47261d6e78f17effba82d5d3e2669db99c327914bd44f65c3d75287bda129316c838bb9bcadb53e6ba3b74ec5be515fd3a14559f5f3addcf9114757fff9fbf04a8d71b5bbfc1765d9dbe09b97b57aae56e004d35a5296b32b82f4f44a5e4ae7c40355ee6067afda5764373d56bb1a9e4663b45545af6e38b02518ec9d05ea77b3576c319ae4ff8353c92a2d28a1e5fe0ebdc5cf8e7cff048c27e545ee1e3a181849ca1bde9c37f6c4bdd5e02aa84c217a2af7c54f481cbbd2bc394d8406bfdb1ec98142e9e4ad8b83b5a13e48d236068ad38f052520ef7156b3410b1e39f7f0896751ddb61d7d42b0000400049444154f3fb945dbdef3816f313fd176b176dd89ea4fc1169774f95c667d42deee4e41933254205e0e7014d7525953eeb8a5e58ea83d3b3e0dc56fd4e74ca768117627ef6c9478a83047f183ee32ba0c2b28c0023c0083002434980062d43d9c08d6bfb87e68b1d573a2e77e20719dd7d6fe9f5738cbf87a3a32c78f9f2e9b29e8e4b6d577b1c474dce3931a9ea628fa39bff93e549bc66d286b0898e0e5d1fc529ce773f85f1e2d596b327bffcbedbc165eae2ac86a2477935c085e9f92f57773f35cfc3c9f1877fe662bc98ffcd95e5182f76b79dfaf2acbec771e2bca7be7979be49ffc6c974022857a4c5abe59d0df54d7af0536a37e5c6a07b515985692bd40132385b5d557b5e2f9379074cf047b92226f795b4288cf4ea4e961f293f56d7e2346e12917309a72b15311bcbd2a202649e5fbef3f75d4d20613f6277591ac68b4d35c74a8f54b47bfaa96333b726a86094afafb7b7521b1f1fa6ec6ca84387bc034393b2a2d0785ceefef8b020eff6faf223c71abbbc43a29eca8d51185b55cdbc5d86d198dbf85ff81925927e4ab46baa36e08c943fa27cd232b7e46ccbd106620ceca64eccdc969389e9e99808b878f9427373f38f6d6edede63c77a091a97f0539a0fa92bc64182ffb01a5f01179665041801468011185202237896f168dc782f7c4a7afef9ee23bdd104c2be60047ee9e40e9f99bf81f9e5dd47e6b94f095df29ba386d716c8e66e7814b6be8ed58ad2fc1de1ead9374b0e24ad7680ee963257df705273134687d3272efdf3a3b0911cf6e843f2bfd9b27aaa03f47cb9e3fea0df1c85f907564e75839e96df39f99215f1a413dd7f0d563c920e587443a6eae29cb53869a7493f9a133976ea5da01aff8436100c0d7b92a3c9b49d22a5b460852bf15c91bc5aed04faf22df3530b853da137e8755e991297fb5ca2da0dda8f6cf99f0d85b518c4704a16f655ebc60579426bcd5b4bd6e41185a88d47d3c242a21354cf18672beb4ab7c466148222adac206aac5c098a758fa8fda1bd264dbb86cc386ab28ee668550b974021ad5e99b3a378ccfc80aea3ef9670cd49f9a95ab75bbcdd5d969fc6e6ed48ec25fd3920ca47a13a517fabecee9589ea00e78ab7b6959d031f37b7c6aa12a885c4189cf854ec3e5a70bba029d5ba68713fa5f870754538188d5af01f66e32b20c3b28c0023c0083002434a6004878c46ae77e21c143ea6224cb8180d1d2749bc8869025ff27af8872f77cf1bed9f9b3ffff538d8f9d0445c042d792c2ebe08ef4283ba37b38d7aeb77fcf4fbbfca1cdc14788c761dfd57afc69936c37f329cd5cf5195c8dbc8d4ae836c4b77f716227020cdb98e26d91b2c2199d6937b49bc8849f7c9597da45236295633c11ba0beec35e332af8f2b595225e95e9c7784a6cf769ac58bb404097907272662bea538f3c11c3e7813b5bf78d638c475e2bd03b42640f17b679f0c53baba63588ffa868652122f62f2211b827ec6444fdc7a2a9f2b2b430d0378e27c9dc17d1429a6a930c73c8295f053336b9254bbbca581ed25fd11e7535b59525b09e3a31248e77485c518859ba509f85f54f885ee3efc14e7c35bb3e24078de04e3cbf78fed190146801160048696000b19c5f9f65c69b52e50effc8acc2046bf38bf02a6bae044e1d12547a1dc0943be9ef67347797d1915d023120c92b8d1019c6e7fe059788ec48cf327fb900a1d4db50d975d5ca81ab8b4d7fd9bcbdd505b0c29ced57c617449a11887372ed67dfd2d9060d8cde839de794742347c9a988aad9e10e12aa32130e80d4e6e4ea3a7ce8c801263cc286aff8af3788c913a5ab87b26b1a287b32068d2b7b573264d861563bdd181f686eaca33ad3c4fe78e6fab846a6679e2be889faecee88e64bb6616fa3c90f44741835c82423af506ba923a7dfb69cd47d2106570138e6f1f1d66458c0023c008300283204026bc58c278c61282e8a57dfdba5a54f4b8abecc5608cfa2a5e0cc75aef576370e930fdb17ca385f91a7adde7dfadd3d398fcbb329c0cf39b9775ee7012ea1cddff3509229d5ba64d9bc2a780a0f01bf4f1178036ae5f71ebc2710eb1b5e5bf4017a1db2e3653b96647f20223aada3317118e2c28c6fa4d31a8da5ef5ec86b75ac029282a73478a50c3d2fe89afce61447af7c238ae5d504cf7c5060cc677f43861f8689e6a3f3d8d51a4a77b736a6a0a9f9236e4d199514e53131587b7069a92849f7db7cbd53674e1ed7f22492897f447a25dce9c2bd72f230cab2604edf6eda7359f5e5b161c8c0596fc87dff8f6f690e518014680116004869080d5157808dbba714d3b8cbefbc4f11370e9e4cc703e5231393bc694c3ccd1c70f7c7f64f94447479c26fcfc9774a1f93975f1869ed56e93579d3fe1fbf6498f47579210aaade295ad0059a4aa1b6c0d779e446e70f45ff0d786a20b01d1e1152f77cf1e3dd570f9cc3f0ade83a9aaf9f3427cf51f38f9a8852ddd08798c747d55b1e9698bc6dc714fa8d20fe718ff96b44b1735d5004af992a7b7fa2cf6bf471d405685b9a553dd1b87eb3223e59139a5bf287df7eb9f5c1541b3c67794c7247d414e322777d0e53d9833b62c2d2c78c5c6ad9793933e25cbcad6f64ba033314aee1ffad8ee2cafc3a75d173fb20c43d5fa230775a0a42df11bd3845c65de91bac591727569615e51f1c7305e718f266c525ba9363687a82a12f6e7c4e39d0161e33bd6e4e96865293fdf9768976f1103d309aaacf42c1768d893bdcb340b8ac56672697f24f86c470b3575cd200fb82f25b7f1e0a7fe7787dfe9f259ace01169b771c1d82eb49dcec8cb2fc991f253820fe7be080771fec36c7c7b0787e5180146801160048696000b19e9fd704eb2e0d932e89984d3805b418fb380d0c9cf3b5ed077e31d89fc34e4d1e89c46c35ff1c197dafc27f9918973cfb8ed4ae63cbfe0c58938f988f1e2a9835ebf5c8f0fb610430e181701ac0fba7fdc37ff5a3d75e2f282e3cfbefe4b9fe433975f9c3c6af2727a7f1f4e58b67c2dbd904aeaff3c095d97c94323e5a4f5f6a6ea5733d792b9bbe2d47d0bf7af08f60f095383a1e9d096b7272724deee4e22c792ec587f97571ed32a43b42b42482568adfe18b75708037a3f5ef186fff1c9fdbf89ea90f817d27f2293af22f621ffe14cfffdcf4405696383880da82fdf1b935d0caa14d4375ce1e7f9dac808b9d1e9b7ecd8ac3185e9a181a1f1c9a1b486bea6b49e66c8863bc59de9e4282794f053a25da321d29ca7b75c8b380c75ffee0d1945e452fe48b44b1a28ced8bde0ae6742e4eac464351eb69cfcccd82c82239894da4825e86bcaf2f275b6f3e14c597310e73fdcc6d7048a6518014680116004869480434f0f09904cc974c86584dbee6e8c9d0025a68412619e3bc4ad7532180c28c4ad30d3d5d5c50931c31509b75c517575f5f3cf3f6f72ef06cecc7f7653243e17f2ed67ebc903d50348f3939e8d9ceedd7aeedbe79ec319c91b3429140a1f1f7c02e887ca4ae1b41a283411333c3aaa4a746652632714111172f0808eefea74e6b5ac3b29651fa70723a266e0ab1c9bbf2bd6593e11626d8648884b133c3a5a9a4b4ab8d944a39a22222e6292be64173ea46d9144fdb4b95d0ba3a643297f48d724f8a83411b7fa7a0caccb36fb29ca418aff301a5f13709661041801466048093434348c1e3d1a5fcce7e0e070fcf871dc72091bc50c6e31220a0d0dc5e8a5a3a363f3e6cd4141414e4e4ea88f5b8be4ecec8c122ce2325c9ed3e1f4716b9db0154e686c981e9af29c0fa860f28793705b931033d79c58c878cde858454680116004180146801118290458c848a25196180146801160041801468011600418813e08b090b10f38ac881160041801468011600418014680106021233b0f1801468011600418014680116004fa21c042c67e00b16246801160041801468011600418011632b2738011600418014680116004180146a01f02ecbd8cfd0062c53f3f01454442c4a4f3c776597d7f7930ae456cdcbdcaf7fbf71333f8cff60cc658df75afcd7f4d5cfa82dbe0ea55707169fbaa2caf50676c444adeb70f3697def07ca47ad40f9fa1eed750db97eab6955c8a8394dccac0e004d785832661c7e3f735ffbb60c3ae92c179cb6a33028cc08008b090714098ae5de90980db009eba7603ac667af61f2203a1b47697e0238083a6a299ad09923b05394764e40fe46a139190be60cad5831b72f8c0cd0607aecd7fcd9c0722b5f42deaf80273e55553c82825b7c12181aa64bf6ce423306973f6daf84835d30f1f3bf5eb46e0264580934b719092f76d4daaf4e7e5a099735fb05c0e6eb381858c5223c4e48c805d09b090d1ae38ad8d85014cc5cfd5011cb12e6392fe0928e2b646063a3555ecc9184864d7bf3d5e43a73b50fe0b9ffab2015a9d795fb85aee7c4993a3b33166bc66ff7539b1abf601c8b376676a0d5d5779bf414a6e52b02923d92f1bf9d8d4a850f99af9088d08f3fdf0b153bf7e766ec22e8be6a53848c9458df42bfc7939e8f6bd7d2460c1c50fdeedd74fa6c00830027621c04246bb60943642bf93275dcc4afa261091be3a040cf5f86debbef56c2fd5e5a4da10fd7592cff6197a03b781b63728ff6bf17b353eedd8307eb55c98a4e4429d01e6a5fb651b9f013667a536283e56d68c823ef9d8a75f3f3737a9ae9bc9a53848c9cd2a0fece067e6505bbc21c99e6b0f03eb34d36204462e81111f322e07c0b5635f7a06e0c519e70271111925b100f89dc244805b69d1a700f134b3994e19e2351c95f70364f3a74e2ac0426a478f1f9906f802601bc02d00ee54e136bac5ef307f0370aa4f3bbcbd61ba8f4ac95df9806abccc0df4fa4bed86e6aad762dff42aca7de8ccab7fae0f5a15ad96bb0134d594a6acc9a855ad13970b7a1e939ba8f484eabd2f192f0b78eb52d2c3c101324ea5bdf158eac329dcd704155169d98f2f0ac4763119daeb74afc66ec857256c7d21666c516ef1f4b5ab4369ad96937b1fdc05452f2cf5017d1738b755bf139db2ddd8a0943f0a95c667d42dee246c1b33254205e0e7014d7525e45388d2fe70362dfdc76f058af909109557f8786820e997a1bde9c37f6c4bdd3ec0d94fa3efa65dc2c6ddd19a206f727eb6561c782929c7484ea4dd3d55e2fdf25927ce87b421e6a72aa1f085e82b1f157de072efca30250e406bfdb1ec9814128fdbcec7bee78f090bc9e0f88a8e3b5512e1b381dce42ae2cfcea1e7465d12dd48f829362ea2f5fb13de58e78f84b7aa755b5f58aa247f81f153b3ce50f7ce9f92b6d39f7ffd9d6f12f69898116004064a6064878c2b01d653521811b6024c0708a4875e0018de719fb6c6e0ef4e006f2adf02701fc02580e3006a000c37cf00bc06f002c022aa80ca18266294899f65de4897a4a91892b81dc03b001900527678ad61ba8fca2a4cd322c1f6baeaaa2e9f49ca0099e7047f1805be9ede01899908acb5a1be756ca09f52bb29f7ab870f7a89cb530b8ddd57a5c4abfda1b17c2d773d00487f626570805b634dc5e7f5ada327dea61ce33c8aaa2a62725f49563b81beee64f9b7975c26dd316bdc247f2c19e5e5eded19189f990ca0afafaef10d527a7a79c1c5c60bcdcd862e182b0ff01c8b23cda751e2fe1c9bf0db28b9719a4f4d7b81151a0e41747689943f468b56fe4bf819b1bb2c2dc81323e9639ffee03c272c441d9bb9b5b3296917170cf3ee0d601f97bb9f106bad2faf3837756e6848d453b9f555a985b5a2eda6652688f7abf0b2381f90f0b3c6d7d7dbdb5b1baf24e35bd7e81e1018189a9415a5cb28b6958f9dcf1f0b6217a5fa05a27cb0b6a83fd7819b85e3a643093f25c665f89f3fa68e5b662eb736373703fe1f76f2090cf09379e1b7e849eae77ce394d89611600406416064878cbfa6e436d1b04f14620a9d773c01809cf096448c17db71ee84aae2ed8979008be9c421c68bf89317a7243fa16a4554219706a07134827c1de07b3ae3f8b9b41d0c3d877552a53c81f1a2a1614f7234b95a29524a0b56b8628fda081b4cd5c5396b71d24b937e342772ecd4bba0eda2b81c8c2163d6fa87bca1fd501ecedf724933792cce61b57c5ebc25a318a7f84c4991bc9ac48be55be69ba24d5319cd34bd95b6244fa778e5a302a5b30bd4e627c6e0049262f7d182db857a127eeecbfe63fdadb2bb5726aa039c2bdeda56760e7cdcdc1aab701650ca1fa3512bffc5fd54addb8df1626bcd5b4bd6e0f98471cac6a3696121d109aa5d95b6c58c8a758f60bcd85e93a65d4367f8b28ee668550b9740e101513e0ad509f17ed582281fd5ba68713f9f39c375b8ae744b6c462128d2ca0aa2c6ca3180b4918fbdcf1fe330987652e30ee2e30212feeccb93381fecc6cde4b14546dccf9bf7fcb1e87eef6165fe06f23f189322a5ac60055fd0cff9c6abb13d23c0085c3b81911d32e27af479e9787127ffccca56804680604a19671f3f14dc5ce64ed7a9b1a494c68b98c159462e61f888ff96d183237c291ee1dc24266b3b543c7c371a4db037407dd96bc6d90d1f57e3d41ca5d57a722f891731e93e39ab8f54ca2645c017a82026070cc714095bb5816e2d157bb2e98a13c5a23bfc717d5058a036ad604152d3d7951f17edcc2e21a1e3bd64cdb9e9b39dc65093ea0a36157b32f38891da3776ec903556f12513f0d4efe20fb8bda83ff2ca92c24a181f95803f0b1a74858217fd48f9438c89f92feea766d624b47ce2bd03465f8adf3bfb6498d2d5ddcf783ce0dd8c89784e81a7f2b9b232bcf9d1009e185f1bdc4749f1a9ad2ca915ef17d7a2259f3efc446e868652122f62f2211bfa63c0363ef63d7f8813e2c9b25f527ca4fc197a6e90b6f76814b983c394f487d2e667eb46daf963eabe7446f04706ffb248fc7d90aece4a180146c04602233864c459434ca6b8c61a1c067c5cfa1bdd3d41b7df019ca6938e5c513db70370e133e3f88c702f58ff044e41ca8eb0d630ccbb9938f89190056fecc4848ccfd5e09a3d4d0ac538bcd1b1ee6b8c0b9f91900344a4af244fbdec347feaa57043cca9a89435cb35b3e4fe41eac820f5dcd9990f66d751b392e3d8def0a971b6ae249f9b9a303a62bd93f2b3571303304112f7073b26eabf82d6b4f2d3d519455d1d2da679530f67eb6056d0a8545631d61b81b73754579e6975318e8273c7b755a0a0419c55bb6676ccfb6556c41ff4eda7bead9d57247bae35dbf8d0fa763a7f84bef497971817ae9aa83fbd168786dbe1b75feb9c22f893d1d94c9ed397f0b3ef71e975b5bfdc0d78fef4e7b265b9f4f966a9c98e190146e0da08e0d569a4267c0c05231a9c680ce367132d4808fe6893128c201fa78bcbc9e67ae9f4f0275ef87b3ec3ed39c0970542293b02956199258bd0b8dadc4c9dd7ec485e601ea5e0334124c5ad0b2773822dffe59f39b29603796ac40daadfe29f7ae16ad26d65711efec3ebe7badcec5875e0dcc509905473510ffeb2a0180d08a6244d759cf0664ac9d4d5695524e20feab872e3682cecad24e24fc92e71ff6bcf88fa79e2ab73514af9dd0be3a08446b48ae9be084edfd5d1db08deb565ed272916ca6b3f3ddd1e1fe2e9de9c9a9a2aa88a598d68bb9c8e54bf8c1604edf6eda793c41f121bf8d8effc31755fc8c724241941bf40625ca04f7f86945b65b1d87d88127ef63d2e5cafa53808e537e6f943fcd744c54de8c82f243fc5fa4da2e75bbfb5980223c0080c9080c45ffa01d61eee6aef013c446f49c4177bb5d0c75cf0428d71a168c2500fa34c9c9bdc0ff036c0441a6b622cf826d57e982e49cfa52bce28302d79e2e41156c18b38aecafe924e4fae93b0132ddaeab011ea6a7e348052bee4e9ad3e8bfdef510790555223075ca6f455c5a6a72d1a73c73da14a3f9c63242fcd51a549c88d4fbdfc892e27f7f65f935696b3e4fcc90f3ffea2fadc0518e74b56eeda9acfe382d41b87eb3223e59139a5bf287df7eb9f5c1541b3c67794c7246defad2b91731b179c959e056da733f248b826ee0fad5b53d70cf280fb52721b0f7eea7f77f89d2e9fc5eef712f7877feac5d27f493fdf4f8c92fb873eb63bcbebf069d7c58f2cc390bafec8c1de05793ca726a8d04f1768d893bdcb341b897e99c92bf38ed42d8e94ab4b0bf38a8a3f86f18a7b346193da4ab5b1397df011e997e9117200219f921c293f9566744d01bad47849f0b1dbf923f0c68c8f402eec97e4f95326793ea3a521e426f0d33c2b759e4b8d4b6f6d290e66f21bedfce1dc5724eccf89c767d9c2c677acb1f883d0db3f9a933adf2cd4d82123c0080c82c0c80e193370fa883eec8ccfaf70895f3ee58fcdf718d561bc38857fce1a0b31d6c4f0f14180bb01c269d0b109008342bcc7914bb8f83a93468debe9313e9a8d49d40e2d19c69be2d47d0bf7af08f60f095383a1e9d096b7272724deee8e912379b3a04c1e1a29279d6b6faa7e35732dbdab918468d6f2dcf415dea0c7a75e84b111a9a9ab39d3b42828581d18ac26876411b6627706b154921debeff2ca635a65887645082d6aadfe98ee71838d8827f2a64599521ba9047d4d595e3e8668a2fe70958b33762fb8eb9910b93a3199b4de72f233297f72f77f24eebfa49ff90f67faef7f262a481b1b441bab2fdf1b93cd11c2e34e9c0af7f4966b119fa1eedfbd21a3883c3b366b4c617a6860687c7228b5a4af29adc74c1f7c44fa456be2c68a8f849faa14e466b8c2cf83b611c7dc701a4f774674bc24f9d8e9fce1dd17e1c31559f54b828fa43fc4cc1072e33b60bd971847897131d697e22022bfb1ce1fbeffdc25ca994efaf2b2de3d9e7bc624fdf781d7607b468011182c01879e9e1ea10dd32197116ebbbbbb511325a68412619e3bc4ad7532180c28c4ad30832fd5e28498e18a845baea8babafaf9e79f177a3824f948000f9cdb113ca4d2473361f41d3a3f011c1228a110a323a1445048d6bec758d917b523ac350cf30a4dc40c8f8eaa125d6fc0a74a2bdb1675be744b4cc12995cfc54af23e439a24e431eb52c65caedc4e4238b1a45045c86ff5f0808e66b346a8aa2222428ee3d8f15d9dced48a980d7199843f42659526e2565f8fe6ef8a75a68799adfce9c77f624ed44f4544d40c3c07cd8c0bdb1e709e0cc1048f8e96e692120b86a2ed12bb22fd926cce463f6de433f8f347d2f1fe0b44f888f823b03384dc04ad586545fc2427d54d79fe908ec5454cd297ec2ae4ff70f4f250a5bcb26d85b2ae383336875fb6b63adf7ab5598e11183481868686d1a3473b3a3a3a38381c3f7e1cb75c42c398c12d4644a1a1a118bd7474746cdebc392828c8c9c909f5716b919c9d9d5182455c86cb733a9c3e6ead13b6c2098d0dd343539ef301154cfe70126e6b1262e69a130b19af191dab383002aab4a3dba21a8ad3622dbecf2c251f9855fb6bdd68fed8bf87c3d3a2d4b848c987672f99d70326a04acb7dc4e5dca916d7a90b17a9fddc5a8b7fabcd31fd841bb015a6c8085c030116328eec85e96b38655815db09e0e25197582d29b998eef590dd68fe5c8f3e0f8736a4c6454a3e1cfac47cbc6602a3ee9cab963ba9697d7d75f14b2c5ebc6694ac2223602b0136cb682b31a6cf0830028c0023f0b311c04f78cafd7cf10e94aa12fa62d69fcd11d6f08823c06619d92ce3883be95987190146801118be046a2b05b74a0fdf6e30cf1981614880dc26c91223c00830028c0023c00830028c0023d007011632f601871531028c0023c00830028c0023c00810023771c838f9c0fd9187436eb71a6729b995e28d2a284885a23811e7a4e422aad753340dded900bbf1d595834e394f40d9efe05e1bede872e18b0d03adf3bf4b61f75a2878027e3d6d8055548facf9f5eae5f70f507b506af361d3014879745036c42b27c1e18bb0af48bc70c8a55cbf9260cf09d8f4ac1d5adb70000a0f03f786ce5e73f3ed66bfd726cb31028c0023309208dcbcf7322aee582c9381f714a8f8da6c40a5e4664a763b5069974e9319be78f39d2a7b990c830726038c07c837b7282537d7fa198e26c23d01d08e8f4cff73b08d2f9b01f811c77b003e18b8a530988675bce07f01fed25fad2fb7832f79b516490fcc80677e044526c9f7956604cadc5dc0fd3615fc6ba85ff4b1f720048d829a4ffa72e7daca7eb502c68c8631f876d26b4d0945b0783a1406c11bb65b30f6eb4750064307be11fc39db4d98d7787031f948e42c800aa1fc4e986527fb42ab2ccf0830028cc0c8217013cf321af01de53d3df8220e8b2425b750b3cf61c0ade37c64e3a7cdb08f35ce0aed97884129b988eaf5145d0674ac5bf42d3b36bad18986002eda54eb087cfc237c53d57fbc8856f55df0dd5978e920149d253e7b8d83adfdb655f5cdb98b6d2df5d5431d2f86e49378b1eb7b8819744465dda737fe00a7bf87cf2c7e8458eb494be66861d274884c92d69028e9ed57193d4ff0d331834e57c9ff04c06f799aa50b76b36f66961d30028c0023306208dcbcb38c17c9b76a4492945c44d50e2203f5c23a6ebd76d3df4b5495924ba88f1cf1439903edebac645ef39fa0f82bcc72064518c0115e28beaf7ae70dbbcd208bb740a57f5e4576af07f4a13288a2a3b06c70963be929ce7f34d0064f7afb35140bee3638c25419014680116004fa21305c43c64dea87d68df5f6a0cb88869e9eb6b6333e251f625f934223b3c7dfe28d9ff3a11da7d352246725773cfe7f1e0d7136ecfbe4cde8efa82aeadcbbf4457f8fbafa0fa655f89e79e88ec9ce9c8dee538d5f4cfba0ef8f4fc39cc5bf9a31d1c789d6c04f06755d3af5b77f7f3bc3d3dddd8918f71ca752cc001f37b878aeb2f6076373a2bb677f07f1d3c09d4efe62b8d9d1048a4ca2f8ebb5f0cc5d30ca192cfa652d7f7733cc748743f9b0965fc1fcf513f0c71950ff31ccc9874ff2e056376210a75cce54c39c97685e6cb37b232c7287ba4e98361a3a2fc03b1d101d003d5db0fc77645d58cacf7b9742c1fde0c94f5e5f3e078af788754317ecce84c871c4ffae7678e429e3e2b2943f527234e5c379bb14cede0f6e0e70e815d253117f0ec1d935e413e2780e5c6d86c97fe0aa91edd2b5b06d16fcf3100447c0ad2e4462b804139f2619530aa40377d972aaca548e1f325b94b020d0919887eecbdfee7a0d3f374e9342bb76c114c38533df3b4dbc4d4658f774b57eb0fbb5c1c4951bbe81d10ef0d341c843738fc2b1bdf0df02a89f03f3a6529e2df01b5fb208bba808b297c1bf3261fad330013f3e88fd6a8410bc8701bf64791926e0622da61ef8f6103cb48464171d80ec480aa8077a1ce0c23f2182cab1685335dc3fdd78a7f38fff810835d1c714b209fe9a021e140e1eb67d09f3d6c1af26c02d081a3f8a19028b922040060d3a78f728fe8f82c33930867a82a53d7af8ffdcc957d94dc9ac5f546ad0c3a66f608179bfb024e5303c321fdcb0dd1ec0ff17574ec3bc69a482883f41d410b91981a64d702c055c1da02c831c4ad917e1f3287c580057bf80e32eb0603ae1dcdd069bbd8c2bef527cb836adb722fe674a8ca3f4f85a9b65124680116004ae2701feda7e3ddb1c745b9bc2639e1a47e2c54b9d1d2d861e2707076f377281485247ff75a26cb4a3c395ab1d4d5dbdb38c62f2ee83970d0e0e2e4bef0ae3dd999cf60b0c757a3eaaf03ebf6c3ac68b57af5e3ed9dade0d8e53fd831b4227f36a22fb39cbd706079078f1ea9576bda107bfe7e8e2e9fdd0a2f079e1f3fc684cee336d76f8bcd998c2425522f579d1b31be089db49bc8891cac5abe0e408a34693b25fff0e9ebf1bbc9c41df0ecd82953b51f9fb3f8283233cb88c370af05b7aedafc807bc570fe3458cd8aacf41b7034c99019faded55b3c8f93883933b89173126721d43e345fc8ca6333c391ba4fcbcf757b02f9cc48b972fc1373fc2650378ca8855b4e0733b2c1e073d57c967609c3de18d4c2297f2474a4eead085696ce85c3801d5584de345516e17a1b513aee8c1d101dcb86889ab0f20f324c2c58b49bcd87e19f04471a4110f4c03dd9fe08b3f41c34be4a6c6cb6721fa13be8ef5be5dafc76fa27775e3703bb973f5a992bb079e906e7eb761bcd863b88aa7a183b3f79ce573ac0d0c54f2282c9b8aabe610c6c573634800346935a8a7424f0774f580b30c5efa8618bb4546fa159e45e245fcb141fa85df3dc779d26e122f76b540cd9764dc272d869222228766d05f017d07e83be9c9760b1502fcf11b08c773a61bbefd12709177dc3c78e7655214f232ec7a8ac48b6d8d70fa14b45d058f00d8f30ea4be064a4a18bddaf85778220b327289fede1748bc7815db3d093f507ff8164829c6be66fda2e7c9e805106ed5af9413b07a018917db9ae0d215707202cf5f1003a2fe90029a30da47854f9f2215cfff13d69f26e7a1a87d713e63c0cd1146071314c8b9e32a388e82e413c4b4141fae5debadb8ff52e32825b7b6cb248c0023c0085c5f02c33064bc35fc7f319c01c3dbc7f7fa1cd8e7fbc17f8db1e158cd9fc7e1a44e4fd9c9bd9eff6fdfd80f7fec5bfedcbfbe6cc16baafb84c3b752e4b382273a80e14a43c9bdb7fbe18cc2d546d7ff573cb3f41f4edf5cc42bcdc4092ac97533c5e2bb486068387d78c7df5e79f5ef87be477d4c9ffcfb932f4f7e79912ed8b53560f6cb6fbef9e6d3cf2b69a1d8663624d2c5c1837f07452a28b7934b3e49d3208b3ef65d5e04939f82e92ff723ff4b2ea0c78ea3a16836adfe2b18ef4866d18e3c41c2a0ee7608780a16fc11261c2657d0f1b36029d512d9d053e362151cba440a0d1760f9a724e33551c24f806df461e633e5a0781a3499a0488209f8d4099f9a6b6142320414d118d417964af8f3a484dce8670fcc8c83b7d564d6e79b729885b3a452dcbe813b53e0b6ff051c6554164d88f4b65468255f94a7e53e70db68183b1a689c0fee7ed27050fd877fbdba7bd7eebf1dba62619a3fbedaf4e5ffddf5b7dd07cf61b993cf380b2de1e1a24db0c3fc51689cab0be1350a7792d9beeaf5fc31bd270f0f7efa0fa83c617632e1e932892fa5fb8f7f0773c7929bf91c9cc854e22d38ee2d30db17628240b599e88f5b0a8b00de8d83b99e30d70be63e4884c6341f166184da03b94ef05010fc92dabff51152f87c02d97ebb03e68d8765d3609e2ba87ce0a5df40d166f8b68314fd5806afee8083afc2df5e24871369c07afa6f10331322c74288bbd9c33196fd223548b2ecd7a3101b4ce48757c2bcb170df83fcf92fe10f51c5d403d3f361672219fad33b7a674fb1c4c2be249f0bd40ecea49e249ce76a0922d72900d27c8c152c7652fe4b8da394dcc22c3b6404180146e0ba13187e2163d2645f74baed628d7141d91d2756489a1fe8876b8cfacba7c26be9717f72802f329a3af1aa1a36331c2b1cbfd51bb71fd5e8e27dc98c51dd7755d40a6a9dfa09730e4e0ae3b1e56ec6ed63d181aea6aa52ae5d4f6e751a7ec06f147cf4ffb7f72dc07a9555965f1ee40179104c421268091842244144415ec18606bb4b618619626acad6c66a1d9c489594d345982aa6d5691c991a64b09ad4d0b69968813c660a260e437a284b1e8d3843a33c9a0e8804541e09c104410c2401f29875cefaff75f7fdce39fffdefcdcde3debbbe4aed7fedb5f7b7bf7dd67fc3dd9cff911f6fc15db5947eff0bc01fdf77df7d8f3227af51f89f3fbd980cb6ae6fbfa03cb535e89c797a31c1bcb3292dbdbfdcd6178fa46b7e59649eb9b4b0779783e3233f4c9f9a5bb82f68645d9d8a517054027de775e9951b7afdb9fb9c2219eb9a1b52319fa3ce57d2e1e50470d071f57d22e73db8809de9f2db8afcb8a0cfaedfa7e3f989e5fbcb73c7a62fce2d52aafd9cdfc09774d1f0d2530b651e5e933e5a1ed4a45b51bd5ce58b996d273c6e7cac25e9df3e9c6efc5119f8593af2d234ebd2b4e4f6b479671a3b295dfff5b0a11eea33d63d61b49776bebaea8e1f1754295a4fac822e79305d7d793af58274f12de967afa52bf1bf265f2deed55dfea522f5e4db8b1b783b37a4cface8d959e8f94a3a872f16af485b8a592695e35c91b3e98eb4ac4cbef9a674fb35e9c2d30a72fdff286cb19697f9a3d2917469e704e7fce2f985c4cb77a5c7f0e7af0bb547957751a741ca77d3d7bf1892f1a9e45bd3d5cbd3c67250def0ddf4ad2fa6af7c36adbcb5c8f9d1d3853deef2f4f8ae74ffba74c9d985cbd5fd75fd87cf15fd6c7b222d2f6ba639453f5cb5fd142108323a5d707191f9f8d7d29276c3b5ba5ddcac4f71d0b6b4f883e56992a8599fefbe911edfddebcfcd5f4a9f6aeebfb61f3c8f4d7cd9878d15b0025660bf2950fc76188a6bac1a9f7450f15ff6944ec01bfd30726d2def89018def8347ca8a079e2e6e348e3bfcae13cef920e6cd9daf9ff51cde1e57d4dbbafd15d8721d845f947d2edcce69ada9285459132a4c0331567566b47e352e784f91baedb5f686497df0c85b755d79a37152fafe45e9041cfd6ebaf0fe34ae546c6bf8bcb18ebaf127e9c15f843f4fa6951c4f53718b8eeb21bc9edbc678acf689bba1c5e29351c268b6bedcf6e6176f32dbbd3d6d6de887cf6c6d9f2c817900ebd805f45ab6a69f5ef11ae7c5275ae47537a67fd7fb0b80feeffde9849b8ac1634cef57b46baa34513bde6d8a64fcbf38a378d1f986cbd2af5e2f5e625e7a4b7afcaf8a947f2ac7beffb2a4c0b7f49aef0a66db53852dd6d9e9905169f796b4926e4a1b7ed0422b3f9baebe2a8d2b9fe66d1bdb615c54c373c48c93e716cf215e8a7de9b9b4f185e2cfcbcfa75ffd437150b1ca67ad4475a6fc5955e0ea85e9ca6bd326fc8d1c950e3d365d7a7fbaf9abad60f7d7f54cb963acfe56cd2bda2bd6d9a5adeda7cce0cfc9d11f2bd3daa6aadbb68efae007355b8dfaa474fb77d2c3f7863f6bd22de593880a35fd9775abfdf0796ce2b366ec5a012b6005f6a502b5ffc5dd970df4ffacb2e5b7f1b6be622dd8f87e4d32c52f8a832796effe4b73d79dd0278ff4d68dc60be61f815f49cfaf2f6ec1fd08ef224ce9f8b9f84d5eae19879763c36e0d4f2d5e0fe5af9c5ddbb794c4a28b4fc6cbda3d0bef472c56e5174f4f86507933ef9db75afeda4f28508089535bee43ffb22b9e371a3f765e7187f2a5f205e507caa1ed38bda76e7e9a884abb8befac59bd3a2dbd3efcb921adee7548cb6929505e6f4d9feb7047a61829fef29cbacd6d6ec59f2514d8b93d35f5f38fcd7d163576a7bfbc1db732d361f3d2dacbcaa21d756b1ddb7a8dbfe5b51e5a9f8fe84dca6b8fec223a815de5fb0f6246d77fb1ee599d6efa5c5ab9222d392c5df2b5f4ccb369d3f3e9a673d2d529b53e1d726ff9a997583ce0af7fafd4933f7de47bcf6d0f95c3e5fbfebcbde7ecc4ff7fc1cbd6b5eb911f14b332deb47ae1fc74fed1ad3f4bce4be9efd3b662884e5f2e6f7f667b3998a6df6674ba7b79fa93a9e9a451e9c1678bd0822f14b67fd735bed8f2ce6b85c5baa73d7476ee07d7f0cdcb8a9f934317a77beee1d65e56baf5a14ff9d31e7736ea833bf1cbd3b2f3c29f7f567ed6a7a9ff5814ef8fac3e8f654213df7bb73d2b6005acc0be50a0fc7dbb2f0e1ab43356bcf6f6f5d3c74d99fee1f57f7cdc61932717734fb9566c7af3afa74f1b3ff9d88d7f7cf8c193a6e213a658f81dd7c4b7763df0f45f2d39b1982e776ffbf78fbc82c7ab1e78e9ca25c78c3ff898cde78dbfe37763fef4bdb3f05be3add77fd9be5fc07d3df6c94ddb17cf1e7fd0ec33ffec5f9d3061dad4d6af98f68cb2e98d9db3a78f99f5879ffaa3391b261f71ccf4d1bf59a58fd6f6d428d0aae7d337e6a549f3d2e35f49d366a50965ff78dfd6aa5fa4ff382f8d9b9dd67e254d3c3c4d2a6791ddcd3cabe246e315ff354d4591dde93fdd5870d75d97be7c43f141969f5f99eeda90969c528c1a5b5f48abb8a16b8b8f3ee045cd6a9f28f0b7cfa72be6a69396a6c74f4f4fbe99161c99deb3231d53def49a3837ddfd1769fa9cf407e50bb5dfb9b2f8a2c4da7efeed756949439f57e00c5cd1fde98869c5c75f662c283ebe7352836ef182464d48f762f3f674eef591ee8d4f49cf5f9c5e7c36fdafb569d2fbd2e74e2aa2af36bf91a0d7e671333e79d12731d7dcb1e6be5e3c1c0e6839dbe37f6b690f7ee4aaf0b58bed4f872cc7b85659134e49373f98a62d4c73f0b3bbbbd397efac3c2b5db23b1d3437ddff8fe9474fa44f7cba78deb73dd2eb6d85bdcadf9a7efe3769e194f4e89be9beefe3766e3a79719af276f1b6c59b1f49979e92165e9f7ef8f9f4ccabe97d27a6696fa733ca3ba06b7f5d7c51f607fe267dfdac74c4b969fe4169f175e9b1eb136ed6ffd323e9c5f56966f1770cefdfe8f9d44b97d775db37d3158bd3218bd30f9f4a53df8f1701ca66cb11bda99fd6b8be229dfcdee2e32fef39b7f8b8cf9f943f8755dd7057af499fe551170de2cdfac474e1dbfea1b17fe454fbc1a782ea795534b00256c00aec2705babe19b29ffaab3976ed9df76ec74436ea88625edcf5b35ffd0abf86f019e5f4f4df7dffcd1d80b326635edcfdecabc5ddc2e2f74b13df2abd76d596e2f7cfef7fbbeed616f3ff26fc7c133e973c7dea11cb8e9a85d1f3ad37374cbaefb156b0faf0d06debb7a2c2a8438a7971d7a69faf2b6e298e69bd90f6d01d8fbdb5338d3a68eafce38f9f3d7542cfeba7d53aabd383e58beab36717f3e2e30fa6d776171f5fc03f9a72c7a6227bc6ec625efcf573c5878e8beb6ae2db956f2906e0f4e62f7b6e19be774d7a07f7e78e4c9f3db528b575533ae69a7676ed63f9da5e21765cbf6ee81353e935e9f6f5c5983efbc8f4b105e90f26a509e5ff921437a726a493e615f322be5bfdf6efb5fe818fa67e9a78345f54c75a9d3ef97079d087d2dddb1bfb295353f1d5eda3d3c2b969e182f479520d16b7cae62f48572c4d977ea8780a363f974eb8a12135d04547f884f4cce9d38f3c6a51c197df15bfb31c6ae06d2fdc54bd0d5964765a777eb77811189f7a79a492858263a6a4858b8b79111f425ff3994eb721b1fb235f2b3ef87ce88969e9c5e9903169dbb3e98c8f548a06e23353d3cb6f151f103e6f593aefdc74e8f8f4e6af8bf0ca8fa4354f14b2cf3c319d756e9a333d8d2f6fa121f4ad0f26fc9d4157172c4b271d9b2660505e517cea7fe2ace26d9a4b97a5e3a6172f76affa60eaf7752d4f0f973fc9338f2fe6c5a7be9d7e87bf17e33af5537c9537d7f2f485f20d06333f996e3ea3e8bc56b7267d90bfbbf8992bd76fcb8fdd94cf6a933eedd4de8fcdfd37f5d3c4f7ae6bcf0a58012bb0af1518852f118c67ca258876d7ae627600a3052662bab0d5856f2301091bc18e1d3b480230142d434f3df5d437bef18dd821f1d9f34e38ffa077ffeee95ffc7def18f88f1e947efcf4da2e79bc07f28d25274e493baefd9fffbdd74d8534ebab27cc998ccf87feeeb1152ff53ea3ce9bb3e8c3478d7ffb85479f7cb92e3a6fd187674c1eb765f3434ff675d7eacc73d2b913d3bdffa7f5b5852a06fed489e9e1ae796c7cee86e25d83375c9aff036cf86794c16f7829adfa99caf71b34f5c9427ff189e2eeda1be18833e7a7c3cbd7d657570e6deaa789afedb5733fb55b6ac8f9e93f9f5e7e7fe13be907ffad67d4aec9dcfb14fea1e459afa5cb3e5b39e94fd363b7a4ed4fa433be9c3e3e27ddddfe1f9d4a5e4e5cf2cde2797fe5f1745b65cbc7ef49579f9bdefa495a7c56cfae93bf94ce3a3ee19b35575ed543125df2d59426a7372ba5f041ef05efed7dc4d9e9928fa649487eb178f11dabf1bacad2279f9d66cc2950765d4533d3d28357d50cd0486eeaa72cd9cb34d52f8a34ebd3ab44dbe9a04f3ba5e7b1a6ffa6e7b189ef29666405acc0fe5160fdfaf553a64c193d1adffc3ceaa73ffd292c17ba0180c54474da69a7617ad9b66ddbb5d75ebb70e1c23163c6201f365b63c78e058310013173980f5b5d388564ebe0d215660f48503f646845020c780dd59171c017dcde38ebc6b33e70d8ae74dacc99d347a7d75f7de2b007d6b64343fb71c565e9d01de9c3ef4f878d496f3c978ec30bc05ec3498172a4d8da7bbc1bd8f57d775d1af7627a6d7c3afdcc84efad7ffcd3e9739569726095bdab6f059a9ec726beef8aceb0025660ef2ae09171e8bd9771907e22662c9939931f877d6beb8661332f429cf317b4bed765eb6f3d2f0ed20fcb8157a6fdb2f71e7536ffd874c8b1ad0af8b642cf8b7ba4e68036373d8f4dfc800ef1262b6005acc0e028306247c6b55f78229d3431bdf8cada159b0747ca03a4cae5b7a745d3d28627d3aa750748476e635015b8357d6890ee057ef9d3c51b4cf16a75d30bbe83dab78bf556a0e9796ce27befb66705ac8015d8f70a8cd89131ddfadcda41facdbbef9fb54e27aebe7f3fbf09af53738e1d480ae05bb81f3990fa712f56c00a58012b70202b30fc4746bc1db5f609d01b426ba326ad8015b00256c00a58012b6005a4c010fc921df56e6005ac8015b00256c00a58012bb04f1418ca23e39c0b972d5b76e1bc7da2930fb10256c00a58012b6005acc008566088be30bde8a28b4f9f7930bee73acd3e6fd9bf39e78d7b57ded6d7371e8ee027d9976e05ac8015b00256c00a58813d5360488e8c17fdebc533d578f14fa44c28bf257acf94f06e2b6005ac8015b00256c00a58810605347935c40f44faa387155dbffb93fffdf2e27f7ed4fabbbebde6e503b14bf76405ac8015b00256c00a588161a3c0507c2f23fea10aac513367172f4c8f3b6cd83c17be102b6005ac8015b00256c00a1ca00a0cc591f1be4d6fe37b73c6ce3fe54888face6b07a8b26ecb0a58012b6005ac8015b002c34681a13832a63bbf77d7c6adad7f52ebc80bfefce38b86cdd3e10bb10256c00a58012b6005acc081a8c0901c19537af9ce9b567efb89570b45478f3f6af1b24ffdd1bc03515df76405ac8015b00256c00a588161a1c0101d194bed37bf8b87ad6f6c879d7acc0786c5d3e18bb00256c00a58012b6005acc081a8c0501c19e72c5a34a7d0b2786d7af76b1b5eafff07010f44b5dd9315b00256c00a58012b600586a40243f04b76169db678f1ccc567ecd8fa0e141f75e4f1b3f1f0f6e61786a4fc6eda0a58012b6005ac8015b00243418103e22ee3a87245b9c854f922e7c98d5bdedd99468f3d784239efeedeb565e313dfbbf3d1b8ddd80a58012b6005ac8015b002fb4b81a631a67eb0d95f5df6f3dcbd7b9711d2c47e32a518550ea3594edcdec60fddb2eaa1022fba68d9e2991befface9dfe2aefb6347eb40256c00a58012b6005f6b602e3c68d7bf7dde2031571818cae7075bce1e443cbb4eaf013a32ab57fc1de1a1979f1bb77b7de67985d79559a81a8f0e4ea6f3f39907dde6305ac8015b00256c00a5881012b306ddab44d9b3665db41664c9f6e751c8af35235da67c1bd9ab0472f4cc70b5397d91566aed20cac8015b00256c00a58012b301415983e7dfa21871c123b873b63c68cc80c18678353e6aa2c78e17d03063e32567bad32dd5f83f602646bfefcf9ddd771a615b00256c00a58012b6005f6aa0253a64c993b77eecc9933f16234d6e1871f7ef4d14783e4a163c68cc92619b80c090ca0bdeade2a3380b2dd6f19c80bd36c512f3ae3b0fe36cd7c582d16819bb58e67e2d4534f5db76e5dc6dbb50256c00a58012b6005acc0fe520003e2d4a953478f2e6ebd717ad15cf49bdffc06d34bd618071e2667c34f96d9d9cd262595edbc6b50a2fdbecbb827bd76af9132f17c8c1f3ffecc33cf1cf0d5aa5406065cd01bad8015b00256c00a58012b50ab0006c7bbefbe1bd38ba68eda3492c801e8263316617ec644772fe17edc65448b9aa0bbec865a209997d7b49dd168557ff2e4c9471f7d34361e75d4518f3efae833cf3ca3908115b00256c00a58012b60050e100530c66cd8b061cd9a355bb66c9933a7fc3747cacee27843dcd4708c0237a535f103d8d254aa96cfa7404d750499950b80b56bd72e02d89d3b778a210fcb8510802c3377ecd801808590301992dc02bc6ddbb6d75f7f7df3e6cdb11a713c170c9bc11682cce2fa91030b9e5a08d44a63d20a58012b6005ac801518c60a68c622d0abcc70b3a5b72722070b51327461e112e37d8db8c53871e24430228965c78e1dcb2d6080598dc9d1b220a200b24800e6224f8ca72902bab211000f6cf5e32e639707b0e3da698c215844615550bc400c4d9830014f003e9dc431b16a510d8b8326366a76242f8b10b02c3361bdac8015b00256c00a588111a800462e5e356712594d2302cc84d5c4065cbb38f3b1948aab0e81a4669aa2e223c8b6c4d03ec65d8d8c6897c356e7e67855b599b5a15a1548caf244b800223380100e0589270ff322933bb7ca28f2bb49738e15b00256c00a58012b30fc14d0c040200b902d5c3b660690005928ba8c52a8c87323f9188d0c30b7646487fca6cc5a7ecfc9ae46c66e8ec17576332c4a8e281f4985705c64803911b27e1682cb7cce8bb4dd34ec1c2b6005ac8015b0025660242bc011020a689620ae4e1a9c1769abd16a9d984385ab4c3c5715d400776536a665a17de0f63132a2b9da41909d31da94935d58d505c3856a6dd8c354c90ec908219ff322313bb4b50256c00a58012b6005ac40ad021a18086401aaabc3bc584d26c343b328c8c8c4c6c0777015625a96ac2841e76896dca5dbc7c8d865952c2d360acca51cbad92d4344db897d3cf28e634ce25ed6c733da61c6550f0656c00a58012b6005acc0085700b3041520908d330671e7791145aa5b6a9998a9a391495c8d925174ff82018e8cb8bcdac92cf2144b697461ab8a3014f92606bc6e253207161b49524a32c4994588132779f596a5d9b50256c00a58012b600586bd0271601006e8b06a67c75a12ea6575c4505845c58361484c748523885b22bf3770e3c88826fa355165f999abd6c163d125a64b0c5e6415e029614b3144327eea050c5d240b70232cf612ab25032b6005ac8015b0025660042a809180574d204bc04110090420b932b74db7be0a476e0650878c005c9d2e4c4636e33357694da0bff94d75c8378e8c9db7298a6eb2392cf6a728f281e912b3024945e93659a4691c640e5d6d674d3e97e80af322b00744ca626b05ac8015b00256c00a4405304bd02590e58c01cb89426e0459287363668671229978742411a5ab0432726394e4beb1fd1b19d1749cc03297d71013780d488b99c0ccac05456addc293c15b860a8a6135b8381a0b693c170c005cf2c000b211007b59012b6005ac8015b002234a014c14bc5e0259008e10005c70dbb0e7b14a56999eecde08e7922090ec22c51080efcc5413b2fc3d77fb3132a21b8e5cb5a7f22295c0e44812632f4166b13163e042fa2a0f920d7082640e9838296297161214424df0ea3f73c51b58012b6005ac8015b002c35b01cc00ba4060b900981c4aa2c62014a37423a33db5244e544204e2d9124324c964092223c0aee80e3aeec7c8989d8dcee2f8a5a8f8088861b190292b40b208d72de88eb31001e0a4c82cbadccb1ca465032237b255ee25c62e8600bcac8015b00256c00a588191a60066095e32010609b81c3068e5221479e08c912b90e5c7822a2b10a3c0e019ca005d59658ad9aba0db91116d69d28a0da9dd2cca7c58026da15bd2add991181639c2501c2e473a608e7a11b0a0c647b89a1491868d5c4c4359b8c03c85386e619aad15b00256c00a58012b307214e0b081ebd51012b1669208b085bb4012c332a116888c45887916b00e05e08a096dae5788bbb210dc26be9a3900261f19719826aaa6724d39e209e4f21ae072b16cdbeb79c4b93d4e1b41ebeabc2886a5b01169c000588c12cbea50a64597d8d60a58012b6005ac801518510a60d6e0f50ac06d0f203d8f2035f9451031b3ab4c4f95f66818196035209e0c3b918d4009042a92f1d1ed2627e6d7e27c644412ea62d2aacdee93644fd8ae2264320b375b5099bbc00b67002e1ac04498016c240980851c5a942a8996893c2f8469c4b656c00a58012b6005acc08852007342bc5ebab05a881263f010492c5b05d996ea5e9512e041998d2e32e10e6cedc9de7862cdc818c3c038298e5672fb046c11560075e8caa23ea4e47d419104e0910f8b1c4e844c637ee4d91ea2ec16160c49025af2b05acc916b6005ac8015b00256c00a8c1c05306fc48ba51ba7114435931063fcc012491c19848a8c32873616d44655563463e8ca7609901633e90e96ed7b648c27e1c2b2314b8c40359f2158846023c8305ce88b2360392602471215343e22872e8b0023198b15881122806502ac1649b90656c00a58012b6005acc0c85140f3032f992e2c17c836ec79c48c818510010200b402cc8e2e714f9580740a4166e1c6857d740514ad320a0d16e8dfc8a853d119e62d5a901960dfb48cd2d632ac83100405c6220043127bb33111392201b885a0d81f56248961b590286c6005ac8015b00256c00a8c28053066c4eba55b0c1fe542a80d7b1e35fc11c00a20499880db80594a645639bac4b00228225c058c16d97b7f0d70648c8da1dd387bd1954526a2bc249111004344e610600bf5e55e61bab09c20e5622f965c442343cc04e4282d8292b6b10256c00a58012b60054690021c4e70c102c470b9e472140109c010816c04555cdd98d5d741e085096401b898d3f6f6dd63a791113dc549ab73534cd696e802cb25ae5ae88bb3c003ecdcb993000c5c0e8811a31336264b10f918aa46792de23b5f9aa356c00a58012b6005acc0f05300c3062f8a20bac074093805229900244137b6ba8b35ab1699240964051005ee72f52bb99b9a9d46c6dafde84093963041b4d81b5d60320071416b5603494c803111f960d80372b8e002542d49f104ad3d75f948f0b20256c00a58012b6005ac0014c0ec51b51a5710e26828c059a5b3e516e508f02045c16b557b00d3998c09c47bcf763532e262349375d30af291862d04dc2e8c10b05ca8864ccc886080599fc73104ab1b8d2c5bb53c0b360260669674cfa0c9235444ae8115b00256c00a58012b30d0d9710700000cab494441547214e028a2ebd56402906132d16238815bb519491769cc940b8073612368c2eab01bc022dd64f637a7ab919145d104873082ccb2454e6cc827603e5c44b1480288110009359500ac1b8d2a4250b5288264f0d9024f8620b370bdac8015b00256c00a58012ba0c90452084700ac851105691c016b2d49e637615513e0d170f574103341519164642300de1bab1f236337c7e34a30a531335e24c8aa0b1de3db169103269e126f2e82676596e240492c86090ac12523c0e22455309e686c05ac8015b00256c00a8c1005387ee1620588e9726e21e67c021c4740ba62086009142503cbe28c020b20534b0d9081cb05b70df7dbe3004746b4cec18bd7004c465609b832602c026452350c762081059000cc684c032f1218212c56433e5d5854231688c9dc420b9e21025b2b6005ac8015b0025660642ac0f984d74e2c1b017075613801492b105d256440c90488a201602d3d1764188d163c7304b465ef81fe8d8ce84cc359b5a71815d6257123af0d362e8ac54c4e8d48c622032012bb382612d0224db323316c59a0f5fec5588a21582d45c51858012b6005ac8015b002c35801cc0ff1eae88a04201688531d312ca2b4110823c4a86c49b44856ce2c5a8a0cddccc6b689b14539d5e82032f523238ee7205505f16c46a3cda274510a39587061e5024339907c79bac8281718f09ae408301422480c8b05572443e20150846e04c0743340d7d60a58012b6005ac801518390a6078e0c50ac005a69b01bad16256914b8ced00c402ca21883962628e7a00091c1799686314585baa20cb1c805b3f32f65908ad702c63265df5a7edc801491e36ba909215c00363f883e54662d5571a78248c1933060c302c6b0260314a4c8be408e8f2085a44a36b6c05ac8015b00256c00a8c1c05389fe87ae9ca46004c17b30ab12c191401432cab64002ee5703b48d5618526973c73d470d58da141c7fd1e19d134272d816a4f0cf1f2901c5d2443208e77e0e9328798d598804cb88c82413e2c4f8f8323182c9ec27c32b074330b978b096dcf8f56c00a58012b6005acc008528073882e986e66e17221ad0d5b8f1cf8c4d3a5454604c0726388856288d554532e4075613b49816ace2032fd1e19b3b3d1a5c635751c19628694c05dd088232000cac631112e3682c168a8315165c57070049f2d6e07499059b85c4c687b7eb40256c00a58012b60054690021a4b78cd7156118e00382eeca21b673e620e36c24a00c0e2468158939809d1d6f248d897abef91115d761ead9810ad2e805788ed8c421d4e7b94093803c814c95d7485018809609180e238510c805c02d908320cd7cb0a58012b6005ac801518390a707ee0f50a13c846004c175b30c0d08d3692c20499950b806a2822405707c5f64866212644db67424cee1ef73d32aa163ae03446860d4526f2c488aa6f68c1f14e8021b82c429e36bbb988042c36408c52042c02172712830766944016a00366d4d60a58012b6005ac801518f60a7066e065563119580165625001660816ae7004e4992ccc84b805a5e80a30271e01066eb69426be364dd13d07fd181975187ae258161962f0ec982073753104d088a31e07446030ac0c1b31dc6cb1079174d1031902b514dd0c33c7d60a58012b6005ac801518b10a683e8102c462e44600dce7e220c834618088ab45d800f8d8895ce6674f13a319b937dcc691111d60fce291c2196097310df970c16311642e0b422f0e8b112004121b59041be1eadd8ac060b494230640244166e5027859012b6005ac8015b00256202ac009040c4166e502c4c57c319a08c10b03d08d0cb78881ab520499cb0490192f26034c233928b67164ecbe3aae81e35adc122f0c5128c21951396222c02ea481e12048175b00b04866165130b0accfa8488668450270896f137eb40256c00a58012b6005468a02182de2a5ca25c82c5d8c28d8a210407531019931145d61016582e17631b1436284aae43e60ba1d19d11f072c01f51d795e0698ec7aaa0cb64317ce79004800d67662ee82c512838d64328bfb916c493c33451244528c8115b00256c00a58012b30621588438b30012c97c46913bd1e11850f9b4d8162380bc668c4aac53a725993ae8e880038bacc2739e8b6db91b17a30dac270a64681c9b05dbad55d1903bd38358207c62e5a96d298a8e200116317195aba6a8c6721d404c8db5a012b6005ac8015b0022359018e2e50a00a443204abc5105c018548d60e85cce910ca8ad08d6db0b818807db33a8d8ce849f356bfbae1c5702f8be8f2aa7538236a3ae404a9a3631162582d5403a61588a47004c05e56c00a58012b6005ac8015c814d0b842506b33122e174a6580732179e13e8745e6b33115a4db2f8bbdfdcaef33b9d3c8d8b4194d703e8b00c920c5702f5dd9a682e039380ab0be3efb02970b0919804b1296800cb16c04c05cca6c137eb40256c00a58012b6005468a02984fb24b154310dd88b10b2e97b0403b527ff751d15ac022b2005c4806e096c89024b3b76d3f464634aa192be2ac458660c1239f20c3d916b8dc156f31622f9642746199c9824c908d511dc128f345122894f176ad8015b00256c00a588161af8046145da9180186e8c20a80af752349ac2dbad1283e03aaa92d02ea30034c2019719636286e1f23238eef3c5729818d3299a41802b48ba8b0ba0783499121de6b8c4580e5b20219586c64483c6b9294e589ccd7a10656c00a58012b6005ac8015a82aa04185205a24c325432c26e3e93253582ea69d6ca3424c5654a7442692c0b58b056b4303267ba6aea6121acb98105de10822c616b86408324c5269d528435942e66a17782e32c0d590c856aa1fac8015b00256c00a588191ad4036606980a32a311a43c05c4a930b00b2152e1fa21b71dc9261a6c112202a9c012690ac8622bf27b8ef9111d53581f124b9023107a4788292e8f9904a9f644cd05e1e1143b119f1ea840c73646b49450dac8015b00256c00a588111ab8066b2a800c9268b4c8414251059467acd8e31242c90d5c9aa218d9904112b93a1cc55fe1e823e5e98ee5c1d3dd50e6119cfd691a96b1016c04155cc3ae01985552932dc12372a33ee12a906c08824b6b50256c00a58012b6005469402d954c06b174910adc41129a0bd6208c00370d5e226920519158e0035a3bb0f70fdcc971dccf12b929111ce40d525230b208ce274ab0ccf6554696a26cb6782a2024c934b504b663976ad8015b00256c00a588161a940edd4d58164285aca02462401f8926bdd6294abb40e0c43b002b166e4abb88921bf87b6ab91116764d355932b9ea0ea4606986e043c4b7c7479a9d564f28a728b48968a51850cac8015b00256c00a58012b40053499c1ade2c82881242c81ead09515e046b900c419af3ae4a31b998caf75490e8aed7664c46171f6cadc181226a875150210564d3104551e4c46ca8da0482a97eab4893ef82ccdae15b00256c00a58012b30fc14d0b8965d5a951793815a3792c4b516642dcf6662080cdd18aae22c8d098368073e32a289388ad562920a451043c099cb2bcc789d1893a50549e544c01c25688b8115b00256c00a58012b6005a4409ccc40caad026e211fad7681241f1962f2b2595a962f17a003ae46c90ca2dda38fbfc43e70c19ac984a50243190f5209b11431a3dca28d0c71978e138851152190cd92c51b58012b6005ac8015b002235681ea405265200e498504b290f8982f1ca311537c302255562182fd627be6bc6e8eafce5b1913dd0ccbcd407489ab0c7b8b3c18b959340b65694cb6b50256c00a58012b6005ac4093025d0e6d4c53b200ca02cb2528895edfad982564bbe8aa432593c9dc2c59bb0611f46f64c4c1d5092c63a25bc5622210667dba19593d3a4b8bf999404da1263edb6ed70a58012b6005ac8015187e0a54a72e5e63138fa8420472e3c6482a2d23e566406e3c2bc355b7960139b8abdf23238eaf4e5a19d3e4925754803533570755798500b49426500d8931b00256c00a58012b6005ac40ad02716e638218016d1423801071b4aa534dcbf2e5724b9f6e35411b07170ccec8889eb241ad83cb90120454a4031343ca8f00385bd9962c6ad70a58012b6005ac8015b002990271b06b0a65397209e4627b13d339c473631de533249be5881f5c309091111dd4ce61553232555c65786de205e289b5a44489d1ac9a720cac8015b00256c00a58012bd04181ea10d699515400c585052229dc391a9b8c99e26b494507110c70644407d5e1ac96ccd2a24b5c6574790a095443d9a1d54c6dc940f799d946bb56c00a58012b6005acc0f050a0fb792b6636616aa2a840c6c365282644ac046eac6e179fed12bf37c0c0474674533b7555c98ca9756bc978c14a1088d1da669a32b5b1cf04651a58012b6005ac8015b002c34c813ee7ad6a4295a126e205a455c6d0ad259bb680cff2b343b571af823d1a19d159d3d455e533a6c96de23315625ac4595ae6769f996db46b05ac8015b00256c00a0c6f056ac7b2da4b8e9911c7e48c972bc0e4ce2e72b2041dd1c42b61d0c1ff074c69b2a377b46dcc0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Yeoman is a workflow comprised of a collection of tools and best practices for helping you develop more efficiently. It\u8217's comprised of yo (a scaffolding tool), {\field{\*\fldinst{HYPERLINK "http://gruntjs.com"}}{\fldrslt{\ul
+Grunt
+}}}
+(a build tool) and {\field{\*\fldinst{HYPERLINK "http://bower.io"}}{\fldrslt{\ul
+Bower
+}}}
+ (a client-side package manager).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Where Grunt-BBB focuses on offering an opionated start for Backbone projects, Yeoman allows you to scaffold apps using Backbone (or other frameworks), get Backbone plugins directly from the command-line and compile your CoffeeScript, Sass or other abstractions without additional effort.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000003860000027b0802000000306a182900001819694343504943432050726f66696c6500005809ad796758144db376cf266059969c73ce3983e49c734660c939675424882425082849041104110c241113820822820a180009822415545004e4cc2a3ecffb5ee73bffbeb9ae99b9b7faeeeaeaaa9e9ea95a00585a09e1e1c1082a004242a323ad0db4b91c9d9cb948a60012d0032ca00080e01515ae6569690afecf636b1c40c4c617e2445dff27edffdd40eded13e505006409377b7a477985c0b8150064a7577864340068a23ebeb8e87022ce87315d246c208c6b89d8ef0fee2462cf3f78e837c7d65a07e6cc00408a231022fd00a05883e55cb15e7eb01e3c0e000c4da8774028dc8d0bc6ea5efe046f00583c608e5848481811e7c258c8f33ff4f8fd0726103cffd14920f8fd83ffcc05ee090fac1b10151e4c48f8fde3ffe725243806f6d7ef8303bee2a2826c4ce03b03ecb7782f829e0d8c99607cdadfc7c8f4405e171ead6d7d20ef0e8836b285311dcc79e91f63687780976282ecb460cc06cb7783c24c887cd84f08a6504f730b18d3c098cf2b4a07f63d712c8442a2bfadc301c7d4db47570fc6f02a4238468659ffe5fb47c5dafc952726faeb98ffe507128c89f1c6c3fc6c42248c7edb8338e7136c401c9707963785475b12ed248e351c1a6c7e3017c47bdf487d228728ffe913f57bbe44dbfca3fd6d0d61396c33922a3ad296c881e78864f30dd03782316c1b52ca3fd2f0af5c333cf8f79a86fb226d2363ac897ee083b1af4fa81dd1874479b6374197e85bd827c80aa00f082012f8004f100a96011730053a40f7e0ca05cb436199170803c1f019c945f9b705bd881e45cfa1c7d033e8d77f6570cf031e0800de30fea3eb3ffac3721b90083ec25a7d40d4dfd1502c2875942aca14be6ac2a70c4a09a5fcb76d78ad63ed2f3eb0d50fee2b7ea05bfbc0fa5858e3de5f9e7b406ae45f7cd0c7f39f1effdb267df01ef680df5f86d415a965a9ddbffdff9d31460fa38b31c4e863849199c89bc87ee403e400b21bd901b890f7909dc821e41d223eb0ebef28045842f40ad1c351c004f6a20f88f9fd2bf4ef78ffe5a5987f18071af0227879600df70a0541705bc03f23d8ffb63ae07f698981199ef0888130d7e49f781cd8851280bd2b8fd246a9c17e867d8c6240b10071941cec712d94061c037958fa6f14ff7b36e2c0f7b7b7637fcf25082cc2f30889f6898f86d712d0090b4f880cf0f38fe6d282774b1f312ea3502f09312e1929695940dc7b891c00be5affde53218667ffca7c96003804af63b2917f6581670068ec038031fb5f99800b00cc62005c7fee151319fb471f8a7843c33b3a25fc5430030ec00b84608fc80005a00a34811e300616c016380137780dfb8310d8e2387004a4800c9003f24131280355e022b80cae821ba003748307e011780246c018780b66c0025805eb600bec401044025140b41033c409f143a2900ca404a9437a9029640d39411e901f140ac54047a03428072a84caa06aa801ba0edd821e4003d028f41a9a8596a12fd04f04128143d021d8110208498412420b6182b0451c46f8212210898874c469c439440da209d18e788078821843cc2056119b488024473220b991e24825a40ed202e98cf44546228f21b39125c81a6433b20b5e8b2f9033c835e4360a83a24571a1c4e1481aa2ec505ea808d431542eaa0c7519d58eea45bd40cda2d651bfd0146836b4285a056d847644fba1e3d019e812741dba0ddd073fcf0be82d0c06c38011c428c2abdd09138849c2e4622a312d98fb9851cc3c6693848484994494448dc4828440124d9241524ad244728fe439c902c90f5272524e5219527d5267d250d254d212d246d2bba4cf493f90ee905191f193a990599079932590e591d59275913d235b20dbc1526305b16a585b6c2036057b0edb8cedc34e62bf929393f3902b935b9107901f273f477e8dfc31f92cf9368e062782d3c1b9e26270a771f5b8fbb8d7b8af14141402149a14ce14d114a7291a281e524c53fcc0d3e225f046786f7c32be1cdf8e7f8eff444946c94fa945e946994859427993f219e51a15199500950e1581ea185539d52daa09aa4d6a5a6a696a0bea10ea5cea46ea01ea251a121a011a3d1a6f9a749a8b340f69e66991b4bcb43ab45eb469b4b5b47db40b74183a413a23ba40ba1cbaab74c374ebf434f472f4f6f4f1f4e5f477e86718900c020c460cc10c790c3718c6197e32b2336a31fa30663136333e67fccec4caa4c9e4c394cdd4c234c6f493998b598f3988b980b983798a05c522c262c512c7729ea58f658d958e5595d58b359bf506eb1b36049b089b355b12db45b621b64d760e7603f670f652f687ec6b1c0c1c9a1c811c451c773996396939d53903388b38ef71ae70d173697105739de3eae55ae766e336e48ee1aee61ee6dee111e4b1e349e569e199e2c5f22af1faf216f1f6f0aef371f299f11de1bbc2f7869f8c5f89df9fff2c7f3fff77014101078193021d024b824c8246828982570427852884348422846a845e0a6384958483842b8547441022f222fe22e522cf4411a20aa201a295a2a362683165b150b11ab109719cb89678acf815f159090609538954890e894f927c92ce920592fd92bfa4e4a582a56aa5de4ad3481b4ba74a77497f911191f192299779294b21ab2f9b2cdb29bb21272ae723775eee953cadbc99fc49f91ef93d0545854885668565453e450fc50ac509253a254ba55ca5c7ca68656de564e56ee56d15059568951b2a9f55c55583541b55970e091ef239547b685e8d478da056ad36a3cea5eea17e417d46835b83a051a331a7c9abe9ad59a7f9414b582b50ab49eb93b69476a4769bf6771d159da33af77591ba06bad9bac37a347a767a657ad3fa3cfa7efa57f4d70de40d920cee1ba20d4d0c0b0c278cd88dbc8c1a8cd68d158d8f1af79ae04c6c4cca4ce64c454c234dbbcc1066c66667cc26cdf9cd43cd3b2c808591c5198b294b41cb08cbdb56182b4bab72ab456b69eb23d6fd36b436ee368d365bb6dab679b66fed84ec62ec7aec29ed5ded1becbf3be83a143acc384a3a1e757ce2c4e214e0d4e94ce26cef5ce7bce9a2e752ecb2e02aef9ae13a7e58f070fce1013716b760b73bee94ee04f79b1e680f078f468f5d8205a186b0e969e459e1b9eea5e375d66bd55bd3bbc87bd947cda7d0e783af9a6fa1ef929f9adf19bf657f0dff12ffb5009d80b2808d40c3c0aac0ef411641f541fbc10ec12d21a4211e21b742694283427bc338c2e2c346c345c333c2672254228a23d6234d22eba2a0a8c3519dd174f047ee508c50cc8998d958f5d8f2d81f71f67137e3a9e343e387124412b2123e24ea275e4a42257925f51ce13e927264f6a8d6d1ea63d031cf633dc9bcc9e9c90bc70d8e5f4ec1a604a53c4d954a2d4cfd96e690d695ce9e7e3c7dfe84c1892b19f88cc88c8993aa27ab3251990199c359b259a559bfb2bdb30773a4724a727673bd72074f499f3a776affb4efe9e13c85bcf3f998fcd0fcf1028d82cb85d4858985f367ccceb417711565177d2b762f1e28912ba93a8b3d1b7376e69ce9b9ce52bed2fcd2dd32ffb2b172edf2960ab68aac8aef95de95cfcf6b9e6fae62afcaa9fa7921e0c2ab6a83eaf61a819a928b988bb117176bed6bfb2f295d6aa863a9cba9dbab0fad9fb96c7db9b741b1a1a191ad31ef0ae24acc95e526d7a691abba573b9bc59bab5b185a72ae816b31d756ae7b5c1fbf6172a3e7a6d2cde656fed68a36dab6ec76a83da17dbdc3bf63a6d3a973f496f1ad9e2ed5aeb6db12b7ebbbb9bbcbefd0dfc9bb8bbd9b7e77ff5ee2bdcdfbe1f7d71ef83d98ef71ef79fbd0f1e1cb5eabdee13e93bec78ff41f3decd7eabff758ed71f780cac0ad41a5c18e270a4fda87e487da9eca3f6d1b56186e7fa6f8ac734479a46bf4d0e8dde71acf1fbcd07df1e8a5d1cb2763e663a3e376e3af265c27665e79bf5a7a1dfc7ae34dec9b9db7c727d193d953545325d36cd335ef84dfb5cc28ccdc99d59d1d9ab3997b3bef35bffa3eeafdee42fa22c562c907ce0f0d4b324bddcbfacb232b2e2b0babe1ab3b6b191fa93f567c12fad4fa59f3f3d0bae3fac246e4c6fe97dcafcc5febbfc97debd9b4dc9cde0ad9daf99efd83f9c7e56da5edfe9f0e3f3fecc4ed92ec9edb13deebfa65f26b723f647f3f9c1049f8fd2d8084af085f5f00bed4c379911300b4230060f17f72a3df0cf87317823930b687f4105a482514131a8b2125912275224bc3dec3612808f80e2a2c7530cd209d3c7d0523600a621e665560cb675fe5d4e4cae31ee5c5f229f33b0904098608b90a6b8bb08b6c883e122b150f925093a4907c27d5227d5cc64a965bf6a3dc2df9130a568a6c8a0b4acdcaf12a5aaa58d517872ad4bcd5c5d4bf6874681ed1d2d6c669bfd3b9abdba857a95f6070cc9060a461cc64bc613264da6c56695e6dd16d396f8db661b665b1a3b247daef3aec3801673217bc2bc561d4e14db739f7118ffb849b9e755ea5ded93e09be7e7eb6feda0172812241dcc1cc2194a1c8d06f6173e12311b7236ba34e4727c764c4b6c5a3127c12ef1f0147058ea9241b1d774989493d9d569c9e7442eec47c46de49cb4cfe2cf26c9083c8a53e25745a3dcf3cdfa1c0b9d0f98c63917db16d89d559f37326a50665dae5ea15ca95b2e7c5ab442e48559bd4a45d9cb96454d754bfda40ddc87f45ba49f5aa6eb3598bc335f7ebfe37c26fc6b51e6b4b6d3fd191d999732bafabf8764577dd9dd6bb7df726eecf3c18ef6979e8dbcbd4fbb8afe4515cbfefe3c3030e83564f4c860c9e1a0edb3e8b18b930fafa05f94bc9319d71a309bd574aaff9dfe0df6cbf5d9a7c35f560fae2bbb419bf59bb39f379b3f7160b168bc61f949718976696b357e45666562faf257e34fc44faa9e1b3c1e7f9f58b1bf15fdcbe5a7c33db0cdceaf971f267c79eeefefe41fca59128e4326a063d8f592745922960fdc92b70337811ca38aa4734ccb409742f1964185399a658e45933d8463858381db90ab8bb79267937f9b6f857049e0a5e148a145617211579295a2516282e2ffe4be291e4692907694ee90f32cdb2b1726af2907c9f42b6a28512add2b872a98a8b2abbea24bc0a5cd599d52734ce6aba680968ed688fe95cd7cdd5f3d13f64406db068d86d546c1c6be263ea69e66f1e661162e9696561ad6a2362cb6a87b747d86f397c701c777ae8dcec52ee9a7d38d12dc0ddd1439720e9c9e40579ad788ff9f4fab6f9d5f99704a407860539056b86088652c02b61367c3ae25b1477b47b4c69ec83b857f1f3096b89db47c88f721c134ae63a8e39fe2ea52d352f2d32dded845d86e3c980ccb4accaecab396db9eda75a4f5fcfbb9adf5070a9f0c299f2a2e2e2bc92acb3a9e7124ac3cafcca032a8e57deab12be70b946f06261ed8b4bdbf5f8cb2c0dbc8d22f03a50bcaadeacdb6276cde97af08d8c9b175befb68db64f772c757eed42de66ec16bda37a57f39ee27dee078807733dfd0fdb7aebfbca1fe5f79f789c38103918fd246ba87b98e1d9d191a9e72c2f345eda8ef98e1f9fb8f4ead9eb6f6f6926c5a74ca7c3df9d9db93dfb7c6e7a7eeefdea221a8e7ecaf2e82af59ad447f94f029f293fff585fdc98f832f8f5d6b7eacde42dfbef82dfb77e746f27fe54ddc1edeaee2d1fc45f025a455422dd50c26812f40666996485748e6c831c8be3a7d0c23b53a65035518fd2ecd3f1d3eb3104329e60aa626e65e9637dccf688fd364735673c9736d74fee5a1e139e55de4c3e41be1e7e37fe6d81224129c141213f6112e17a1143910fa2196242627de25e1240a252f290e42ba918f8eba645c6546649364d8e43ae53de5a7e4de18422a76207fcd5b2a49cacc2a07245554bf5f921af439fd492d449d4cb35e434c63513b538b43ab52db45febf8ebecebd6e859ea93e93f3438622867b8625463ec6ac264326e5a6c66634e693e609166a96af9cdaac53ac846d0e6bd6db5dd617b66fb970e798e868efb4e6dcec12e7c2e53ae2587cd0f6fb915b9f3bbb77a6879bc21c47bf278be82f7117f1f035f453f657fa30042604810215823842a6432f4525848b87cf86ec4c3c8ec28cb68fae8b73155b1de7102718bf1e713f41226138393e8925e1cb97df4eeb1dee487c76fa534a496a4a5a5879d70c9d03b299289ce7c99559aed9cc397b3933b73eae9e95b7917f28f15b814aa9c6139b35d345e7ca3e4ecd953e70a4babcb6e963faa7855b9727ee7024535578dec45c35ad74b6175c7eab32ee7361c6f245c516cc2377db9fab179fb1aee3ac70d999b96ad496daded3f3a956f857795debed6dd79e7f6dd817b9b0f0c7a6ef5daf46df6970cc80ebe1c3a35ec3162f45ceba5f678f06bfce4eadcf0cae6b76d62fcffd4c888ef048c020067520070cc00c04e0380825e0004c6e0bc130b80255c25b4550608015f80c00d014865f69ff70704d71131801c50c335294e2008a4800a5c33b100ce70861c05679779e03c680677c133300bbec199231b240d1940ee501c540035418fa14504062184304544212ae13c6f1fceeb6291b790bf5006a833a839b42c3a13fd0ea38229c5ecc019d620a922693d192b5901961c9b458e25cfc7b1e0ea29e428baf16af82e4a25cadb5486546fa9a369a868aed2ead28ed2d9d28dd25bd03f677067f8c158caa4c634cd7c948595a58bd58d8d8cad9b3d96438ee32be70dae486e79ee5d9e7ede123e7ffe4302788119c19b4299c29e225aa2026278b11df14f12ef25c7a4daa49364a465a66533e5e4e53ecb772a142a2628792b9baa48a9321ec2ab49a8976b8a6a9dd21ed0f9ac47aa4f6fc06cc866c4672c67626e1a6176cebcd7e28b15afb583cd69db7e7b9483ae6386d3900b83abe7e146b7f71e1802b527c673d36bc17bd267c58fd2df24a038f043f0a190a2d04fe1c6118d51b8e888983771faf19d89e2497547b98e951f67482948c3a6a79cd83c1998b99a9d931b72baad80fa0c4bd1c7928673ee650ce52395a7aa0c2e6cd6e4d5d25dcaacdbba1cd4f0e54afe55bd16ea6b1b37165b97da573b3f74cd776fdc637ca0f3d0adcfa3df6640e389e453e1670aa3a12f7e4ca0de904d56bda39dbdbb805f3ab2aaf5b1e5f3ce17856ffa5bd8efa77e0c6e2ffd5cd879bddbba97ffcb735feaf7fe418c3f095c93a3816b0edc4004c802356008d7193ce00a4312c802a5a001dc82eb0853601d42432c90d4efe8274045d0356818fa88a044c8229c1169881b88052427d21d598b5c4329a0d251636861740a7a128e7d390920f1271923d523ed2493246bc40a639bc8e5c8efe12c71f314f178327c312537e535387f7d4b1d47c340d3416b4ffb91ee283d96fe1c8338c32063181323d37de600163a96fbac616c7c6c93eca51c8e9c4c9cafb92ab9bd79a47801ef4bbe2bfce902ae8272702eb7223c2472137e8be589a7491c918c96f292d694c1c90ccb66cb99c833ca6f28bc56ec576a57ae51c9554d3c14ab96a5dea9f15d4b56db5b2747b74eaf5dffb6c16dc33b4603c6b3a6083311737b8b13961d566b367cb6ee7695f6d38e3c4e81ceedae24871ddccadcfb3c46093d9e0d5e99de013ed6be867e4efea901f78328823d43bac358c21323a6a2b4a31b6229e3c2e39f247227c51e1939269f5c9bc29a5a948e3d9194b19649c89acb493c259587c89f2abc5e145b2277f64be9f5f2984a95f33f2fd4d5c85cacacfd502758ef7ff95a23e3958aab6acd1faf95de50be39dc4668dfe9ace9b2ea06771aee99dedfe8a9eaf57ca4f2987b10f5e4e9d3d8679891ece7b8173563ee1366af83dfd64f7d98e19cb37c9fb27877997135ff93c0fad3af455bb9db463b32bbe7f7deffda38883f0a90c1b5572638faa270ad490758c215a61070147ef2ab412b780ca6e1e71e0709409ad06128092a87ee40b3083238ea0444316204498ff441de41b1a18ea356d04ee8a7181dcc1db89ef280d494748a2c0a4b89bd466e8f43e23a2822f0d2f81f947d54a5d431344eb44674c6f4560cc68c8a4cc2ccf22ceeac096cd1ec9e1cb69ce65c66dc663ca6bc667cd6fcee025182a7841a851f8b2c8b51882b4af84a96498dcbb0c87acbb5c8ef285a2a3d55c93ae4a48ed6c8d7dcd536d1498323d8a1df6d70d770d868c7c4c4b4dd5cc2a2c94ac2badd56c76edc21c409ebdce46aef46ed41eee9eeede2f3de4fd53f276031c83a7828d42cec79844be45274522c47dc74c2a3a4fb472b93ed8eff4cad4eb7cfe03cb99e752727f7946f9e410173e19322dfe2adb369a5d46535150a954fab7caba19a8a5aa54b63f5310dac8d8f9b929b0dae49ded06f4d6eafe9cceb72ea66bc3371affc81d34392de4b8fe4fa6f0fe80d4e0cc50f4b8e2047d75f2c8d8d4e14bc167c53f9f6d794de74f6bb27b3947376f317de2f2f4a7f085abab0fc7865650dfd91ed93d467dd75870dc217efaf96df78be6d6e9eda62db6afcaefcbdecfbf60f871feddb0cdb91dbeddb3b3f357fa6ff1cd8c1efd8ec9cdd19d925ddd5dc8ddfbdbebbbcc7bde7b457b837b8b7f74bfa97f7afb3bf9efcfab52fbdefb37f6e7f8818ff285f5919e2db0340386db8fc38bdbfff550000924200f60af6f7776af6f7f72ec2c9c62400f783fffcef422463e01a67c53a110d7297136fff75fc0fedd8b8677c4c06930000019d69545874584d4c3a636f6d2e61646f62652e786d7000000000003c783a786d706d65746120786d6c6e733a783d2261646f62653a6e733a6d6574612f2220783a786d70746b3d22584d5020436f726520352e312e32223e0a2020203c7264663a52444620786d6c6e733a7264663d22687474703a2f2f7777772e77332e6f72672f313939392f30322f32322d7264662d73796e7461782d6e7323223e0a2020202020203c7264663a4465736372697074696f6e207264663a61626f75743d22220a202020202020202020202020786d6c6e733a657869663d22687474703a2f2f6e732e61646f62652e636f6d2f657869662f312e302f223e0a2020202020202020203c657869663a506978656c5844696d656e73696f6e3e3930323c2f657869663a506978656c5844696d656e73696f6e3e0a2020202020202020203c657869663a506978656c5944696d656e73696f6e3e3633353c2f657869663a506978656c5944696d656e73696f6e3e0a2020202020203c2f7264663a4465736372697074696f6e3e0a2020203c2f7264663a5244463e0a3c2f783a786d706d6574613e0a4a1b829f00004000494441547801ec7d079c54d5f5ff9999edbdb3bb2cb0c052a413b0204511c408a84424b1451395fc89c682b1246a122cd15fc412bb8912bb623036b083288a8882881401e92c7da9dbcbecfcbff77d772f8f37f3669765172cf77ef85cbef77bcf39f7bcefbbefcdd93733bb9e402020a619058c024601a38051c0286014300a18058e9e02dea3b7b459d9286014300a18058c024601a38051c028a0143025a9d9074601a38051c0286014300a18058c0247590153921ee5136096370a18058c024601a38051c02860143025a9d9034601a38051c0286014300a18058c0247590153921ee5136096370a18058c024601a38051c02860143025a9d9034601a38051c0286014300a18058c0247590153921ee5136096370a18058c024601a38051c02860143025a9d9034601a38051c0286014300a18058c0247590153921ee5136096370a18058c024601a38051c02860143025a9d9034601a38051c0286014300a18058c0247590153921ee5136096370a18058c024601a38051c02860143025a9d9034601a38051c0286014300a18058c0247590153921ee5136096370a18058c024601a38051c02860143025a9d9034601a38051c0286014300a18058c0247590153921ee5136096370a18058c024601a38051c02860143025a9d9034601a38051c0286014300a18058c0247598188a3bcfe11593e10081c9175cc224601a38051c0286014300a18051aa580c7e36994dd4fc6c8f3032dd77ea069ff64f6953950a38051c0286014300a18059a4d819f42fdfa7d2f494de9d96cdbd904320a18058c024601a38051e0c7a5c08fa954fdde95a4cd5b83366fb41fd73636476314300a18058c024601a3c05156a0796bcae68d7684a5f9be94a44dab1d9be675842536cb19058c024601a38051c0286014689a024dab329be6d5b40c9bcbeb2897a48daf291b6f195e9ae68a137e15336b14300a18058c024601a38051c0a14073558a8d8fd3784b47aa477e78744ad2c6d4858db1b1eb75a8f6765f838d024601a38051c0286014300a7c4f1438d43ab231f68db139ba877f444bd2c6548d0dda3468e02668931ddd021ade286014300a18058c024601a3c0a12ad0e4eab041c7060d906a636c0ef5889ac5fe0895a40d9683e10dc2cf5288c6d8348b64268851c0286014300a18058c0246819653a0315563789bf0b3c8bc4183963b3ab7c82d5e92365829ba19b8f13c92f0b3f6a36dbca5ddcb60a38051c0286014300a18058c022daa40e3ebc2f0966eb36ebc3ea8060db4e511002d5b92862907dda60e95a74621bd4292474053b38451c0286014300a18058c024681462a10b22e0c49ea806eb387ca23a09b8b5eeb8881962a49c39783216783c96086ba3878c7308c768db70c13c44c19058c024601a38051c0286014689a028d2f011d968ea15e3d980f66601c920c13444f1d31d022256998ca2fe45430199e099ed57a8599d2360ed00417470433340a18058c024601a38051c028e050207c15e830e6308c8b7dca8edd1c836d601992748b40fe88f5cd5f92ba5578217907e9184205cd68609726244983905321497b40838d024601a38051c0286014300ab49c02218bc29024730839a5490d74c20ec6310c131353218d75e49606cd5c92bad57cc1bc83711bbaf10e5dec6676ec30730c1b6fe9703443a38051c0286014300a18058c028d51a0f1759eddd28eedab38783dd480c6e187b07118e825dc786dd072a0394bd290155e30e960420e43927615b48106f659e0603e9869d0c56160864601a38051c0286014300a1805c22bd06055176c10cc7009cd6ba09776301c8624dd5cc03bec1d8b6ac723039aad240d59f005930ec63e240e66b4107a4a83e02930f6593bd6c62141e32d43ba1bd2286014300a18058c024601a300150859ea8514c76ee9861d31ed6698b20f898319bdb47dca1156db3862daf916c5cd539286ace782493b138c83191eb9e63500afb10676524b669f7544d3360618058c024601a38051c028601438020a34a622b4db68ac0192d458033ba971f859fbc1da2d351f92d4b32d019aa1240d2efb90a8830c33e49436d0400709c3d8a7b4bd1d003b9ac3c5316b864601a38051c0286014300a18055a488130759e9ed28039e821811e62d68d093fe5081b721886e4544bf42d52923aca3eb721793dab018e13d83124a97b6aa16d34206f370b33a58d0d300a18058c024601a38051c028d0a20ad8ab492ea4190d74029ad10053c4f65ec7093673d8eb215d1a1c061b68c71602875b923658f0d90d82b166ec40631c333087eca94230434bdddb015decbd3d546378bb8dc14601a38051c0286014300a1805c22860af0eed666e3c6cf414811ed23d98d48cdd12580f1d400fed6b3970f0302403b285da6195a4c1b59d83b10f1d580f1dc03e240e66a8859d07a3878e59c794c38cc6a6370a18058c024601a38051c028d0d20a1c5269a88d35407ac07a4860111e66ae19fbd0e1c5210d1c38781892d1becd0b9a5e9206d7760ec63e74603db483604cc6dee3e0ed43eda2790dec535ab2603298d1c60618058c024601a38051c0286014381c0574f9a883043398722b251d53dad76eafb17dd68eb934184deab07a8a20e4d0616cb76c5e1cd1bce174347ba9a73181630817302475af016719561905020e460f39454b4d8604b471d86b47038c024601a38051c0286014300a34a302f65a1061f55003aea52b13f2f6594c61c89ec02d3d3d4b77bac0d8115cf39ca2b15bcc23c337db53527da8f6c3b6631a6833fb5063008db5af66088279300e520fed4019594dc7a9271ae01d66666814300a18058c024601a38051c04d01b7f22e98d78c03841cda49e2903dc8903cb3b54f81e1d03e158c1d66346889be8925a9a3aa731b6a9e207868678039b4031cb3db907204cfda65d201354946fb6ade00a38051c0286014300a18058c02cdae40f8b2cf3e8ba5ed252330874c490f498619ea2906d4f63a8e5e2824b09b11dbcd34d3eca0296fdcdbabbae084f4ac03040fc9e81e406384e53098a9aaaa2a2d2dddb3678f9ed2805e3a253b1f724a5b12d0de419aa151c0286014300a18058c024681c62bc012d0616f273576148b70b133c07a9892929290901015154586c151b7688390350c66c913d0985eda3718383277ac1572b659c8a63c25e5e1e9e5ed438d1d80433ba919003b46583276921853959595bb76edc2b06bd7aed5d5d5b5b5b53a0d0d304bd135d378a07d09f4b0c108212d1de73e6410ee92905361c8267839326c64049aa1473288604fc911504fb9f1da200cd0be047a18c68553212d75da610e36cc5498459be0e5c8b0911168861ec920823d2547403de5c66b833040fb12e86118174e85b4d4698739d8305361166d829723c34646a0197a248308f6941c01f5941baf0dc200ed4ba087615c3815d252a71de660c34c8559b4095e8e0c1b198166e8910c22d8537204d4536ebc360803b42f811e8671e154484b9d7698830d331566d1267839326c64049aa1473288604fc911504fb9f1da200cd0be047a18c68553212d75da610e36cc5498459be0e5c8b091116886de67b5952b57224e464646747434d3c3141b86f5509dacf0240d1cbd1eda8103070fc1346f6bca5352b70c2056c829078f2119023b867b3069372829294119dab163c7bd7bf7c2d8eff7eb15710eb4a5d7eb65283dab87b48101005cc023204e3743e91389596d4317860246d3f1f5a274e41006f67581c16315f49aa7a51e12d040bb03804123c321314886e5d01e47dbd380eb9264ef88c361c8085c452fc1212d291a7aedc8e018c25eeba367c9eb5e6b0b86a18cfe5a2bada4d11f0aa0710772a31283845c7a4a4be7206160f63f35a10e5a2837e96040850960a62d8dfed4043ae8fb9b16c7d2a94e2b2da05d6da33f65616feeffd481fb07bdde2a002409d06bcb888888f6eddbaf59b30655506464a4da6df5f746bb971d873400091b3604b70feb69b568485e1bb41c38e4a7a4144827641f6a6c07760c2f0cc9103830496d163cbb69d3a6638e3966fffefdb8c2314bd5088041c2574ba90d18107df095c025e8abe3d01e241834fb0d08539c2560406258d2c531a43b72b31b6b1b009d30d3d0cbd146c724c02a74c1908ce366c73460434b2e8ade61c62122d092068cac0f84b33400c950f6f8da1d000d3119013d9ab62446cf08b00486317e12800d307d69cf5962f468f062044e11a34763406258c200bd6348772c6737d636003a2c00cd40ea383a26017960360ce102cc8074e490965c14bdc38c436d4903260347f0ec1916188da100b4971d00232623682f1a60082ff48c4012c6467f2da0d19f3b07bb0252e80d43929b075a01688c2119ee6458b2c1003c302db9e5282f799ad14b5b1afd210bd430faeb2d01a0769bb9ff5b9712758026494949df7efb6d9b366d8075e3e6e1d08e83193d4b809e00961a3b000d48064fd9f966c1075ec21b190ed268cb90589300760c2fcd107056633d8bcb32788aee6bd7aeeddcb97345450573e08d8cc6d09440dffe348f80b0d7a21363960c017b30da988c1e320104d7404f0130147a340e0168a9e3d017b30498a5017b5d1f58b4ca168e3a32480624830898a5a37d2104810123e89ea1b4190073606230634ccd332c96c0934bbd1083e8218363085f664203f024f59061c103d08b58af4ec0de6e4c8687435f30080e77023dc5fc199611d0a3d152c7a12f8c09304b03f6467f8aa655d5ba411f2da6d11fb2a87d6335a801b9c8402202927a08a025adf7abbbbab5aa34468fa68d8dfee6fe83cd802dc16d4340067b8c9b8d9b04060068e6fecf2b083d9a960518baf1dea50155856834fba1dcfff196fdaa55ab3a74e8c00354c759df7020803ccc7aaeee7f4e71a031017a02cc6aec003420e9c09a6c2e70682529cf9f5edb3ed4a796b31892c190c022ea4e7f3026a37b7a61f78021e6144ad2bcbc3c5e965010247a0cb99f88d113f0ba6584e0ed081b4c7109cc02d086f65894ee00b0c4cd914b7045ce826410dd8347a33d7a1d105e8c06120bd1063d33470f5e795a5a01a3c1050d00240c80f1dcde32519d36a00d0c105f1bc3c07181710918c34c2f47c0c480119f0c0f96980bd9d705cf4539851e8cd1dfe8cfedc7cdc94b039a6088dd82c66dc6dd421bf4dc39dc6918a2c11236689693d9ffeaee0735ccfdc7da1d4a0a73ffe196e005c2eb059a98fb0ff686de243fdcfb4f7171f1534f3d85ef70f3e59e77427c9ffbe69b6fd6e7bdb0b090252966d1c8eb0d4032b8a719798d09d013301ab1eed59c75172260af2ded64b36075eb6f7c20bb7148ac490062dddb810363d898863cf1418ad6ad5b5356b8501702f430d8bb75cbaa0fe76cf8eaabedebd6629cddbe43dbbebdbb0c1b9a9c9dc3c3d42f8db40789208cb0b768cbaa45b30a577db973e31af0e96d3bb4ed7c5ca73ea7a464e4d206242c1101003d6e040068003b776fff7cd9dc65eb16afdbbad113a86d979bdf3dbfd7893d07b7cac8e1425c023dae16ee3632f0e551200e73038f460c9243d47c1a03c0c5ee88211b82eb20047c31a30b7a7ac118613144a319782c41636d8359bd0ad380b19e058338b021d00155d0fa0603daeb592e674f805887a2ab76d44346408f0820990967759218c2d1ee0bac1d898dfe1044cb42c5c800532b920e55b58c467fa847016b8b0b17afaee8d2b720be7e9b413a34fffe4de0bbfeac13f8c3dcfffefd3b4ba3333d3b577c571cdffb98367838d634fdf76d5cbea634b157d73c7c00ffc0fda7aab8a83a213dbeeeb51c917196d988712c1c9afb0f74a01a4dd31feedc33e6fea3a550978aedf517982293fc69de7f706d4284993367e269283e304a11f0cd99d34e3b0d3cf61e98cd9b37e3eb3454c9ba1535b6b3bb684c601f6ac60ec2604c3563f34d9a34e930c3e96d6407c49ae1127612384c83ee708101007a8df175fbe4e464ed885381291a036ffa7af1bcc79e5835fdcd8cca8abed9d9f97109a59b36adf8646ed1da0df1d9ad92b3b361833b827667e49a9a1a04d9b86ae1e7331e2efcf8c55c5f71bf82ac82cc98ea6d6b567ff9c1b6a24db14959496939f0c542e8e1a5b36262dfae593275d6b3ef2f7bbf3abd26af4776529b84c2e22d5f2c99bf757b617a7c5a7a4a26cdb03400eff5888086211a63322b324c0c3d5cf062404b1af0864833386a7bccc28c2e5c8261698f290cd9c34507046083230d306458c8428cdeeec2b04c86963420cf7cec59690c033437fd11048d06c8996618f2b81004980664d0ebc8da06802e941a0670a1257a9214472d66f4b734e4fea720cda77fd5771ffff7eedb6efdd773ff455b5d93d5ab47bb88c6ed7fffd6cf6ebde7d3ce837ac4fbb7bc78eb1df37d9dfab64dc6a9c419acd838f38ebbe6761cdc3b49fd80a6b684faafbe6cc221f02c1fcefe5ffbf6234faf49195090de98fd5fb961fa1f6f7bb4e7e9633323ebae62e653b161fa75b73f063e23e2c02e45b66887b6ffcb57fcf992eb5b9f3eb662f69f6f7bc4f3f3737a44d75f11dcd5f66327c6127aab83a12600ebdffdd3ad8fc8cfcfe91963d59d3cdd65aba75d76f5ac016307242927d5608946801ed99afb0fb48226101680f26a55a91584a20d809bfe1413f6e6fe03297483202d73ffa9fbdeb33e5358f10771ff4792d842d9d9d91b366cc056e1762a2f2fc763516e3630a850f1dba000c8a0d798004cc8c659dd0310c3f89080dd3ee44287431e782fb8c12838a90dda8434e0fee314839009d9730fb94d61163b98b3088873c6b0e0f76fdfb660ca73a58b16de78daa999a34f95a18305f9cefe64c78cf71f7b77e6a28027f68fa9a9b9adf5be04e04f2100fb766dfd66f67f2256bc7ff915e7250ffe4554e2293847d5fb3fdc3bf7d597fff5d2371e7f5c5266626a2bdc9d71e660cfdb0a9646263bf66c7f6dee7f97ec59feeb2b7e7166e79fe7c4f601bfb97ce16b2bdf7ee9a9b70273fd1727a666a66481842ff224400fcc8000888398007a1772081ebfeb8a8b7216abd31800ee8803c0fd041e000d0c7838a267d35318126b06000d3ce3c01def1af000d1f37e8159668b1e06da05068caf79cd908731a70830cbdc08b4fe8c4f1b60bd2800ec69cc0460438639b30789a631005ce08b9e91f5148280813179a33f04e119e169a23ecda17fe9178fbf1139faaa074676d93aebc9bb5f79f4cedab43b7ed9b531fa6f5c306365f14969de5a7fc9fe652b3794f7aac2e943922ad59a7d2b372cda57756e6e84da482db0fff7ce7bf693c0d5e7e0dad1bb085b45ef16aa8429349035917861c88b0ef8abaaeaae0b6e397f3d8fcb852ed87200dcc970246868fffb673f78eb8601d7f64af4af8f4bf6a526ab77319abaff23e292bda9a99eeaea2adbfe8fe971de256d2eb87eca97cf5cdc0b2931435e4a1ce230cdfd87270be2f076819300861b803d14a36838b3043030f71faa7118fb5fbd10506df43f1dfdb76fdffed65b6fb56fdf1ebb0b070e1971ec9002db8f62a247a3bcd86f34505bb0fed516db0f64c8061b84458f59bd7b435a86277590f0664d983d8492347c741e1e6c0088756f076acebd41683d49d1c910630a40639c211aab53e1f1ac9b35a77cee171774ef94d9a1adacf84e967eab128e88c8ead8eec2f61d5efc64fefabebd93ce1b070ec608c21b0d77fc9ac5337d2bdf1f33aa7772b71ede7d85d5bb9e54661151c9c7f4fcc5a8e5afbff3fefaa5c7f51a721e13a03b223081af567cfecdeea503ceecddad5dc19adaf54bf7ad826f6c4454effc63369cb971de9bdf7cb1f4d391037f01126bc105808dfb0624c202a36764cc628857026d001e0d0630068001007adef5e88e7c00d0688021804e129678fdc32cbcd083076063647aa1d7eb6296cb310ebd181653183af407c3509cd5c1e98e210e876993e1100c01dce98225c0a071a801833301f4684c00060c0ba013c02c487b8688468661d13332482c0dccfce1c829ad030c10969189190abdd19fd241168a4695806b6b93ce7fe5f5d468292ead6c77d19fcefffcc297177ebbe7ec829486f7ffbe0533d61fffdb89beaaea80cf8b33e8f5d46d7bace50f44e34ce137f271c5e6d77fefeab77da937f56d8573cbb36c9d79751d6175f4686078eaf10baba37cb80aea6ef1dc3f480939477a2dbece5cb9531fa68d0860702018a211c01d36689c0259b6e19d2797f8aef9d7e080bf0c77235c1058c98f5fc6ecc14d5b853ea4fd1f108fcf5bcb9fc670ba701eb0446d8577c40dbf79eedafbe78e9e3228431d2bc222074c99fd6f9d8dbabb0430c4e11ea04a87aa3f22e05ce394312c7a884c126181b97f8cfe50006aa051280d7e3afabffdf6dbf8c20cb64a595919d4c06d063b877b0f436e3f0eb98bc04025ee228a460d89c3f494140604f621486ec830ee2d34d5c49214e932210d1c43f2e8ed80c3900c48e848030dec24a7f4b9c13980191ad6a594fbbe5ad8a7c29bbba754e62d928c54898b552995954bd19e9c7da5bd4bbd5bbf581838f71cc6a13bce3a22c07d5fe1825e79921c1fed59bb4412527dd17170adad2ef714ef0189a96f377d595bfb2b15d06a08022f2483fedb6dcb93bba6c625c52cdeb13c2926051f0081496575c5bef2e2d8e4d894635257ee58f1f3fa5732b860165ee899096f5278250309c60aaf5e703824832157044905f4854a05486a1746e636e58a088bd7181aa0d7003c23301ff064b417d243349d0f788a16acbf8e80203a61e6c06c49eadc30d4fa934404f8d258571b20831bec618964740f1b0464569c058601317bd8f0b8e0050c12cde80f35280534016e26fdfd9ef2da6dc5ea0d0d4fb93f3a1e15967a356e58ffe255d34bbd7fec9eee972a0fca28fc982107b6133204e1afa9ae8df46efeeacd871f9b5e044a64ec9f1ffc79875824bf73d9dbf7deffaa22334eb8e1964bf0594ebfbff8a3476f5bd47a7497c269af2e926bfe797fa7f26f5f9ef2ef39ab4b615530f6cf37febc830a61ed871d8be67a934fcff755e021a9f8b7bf7aef03efaeb6566873c2b557fcb67ba6da72beb235cfdc7bf72785f06833fcb40caf375e02f8f92720c5ab9ebd6f32f961168f1f8bd6bdfff8ed33a3fe7adbf876d16a7fee5ff6c62df7155ef9cf0905de4dd3fef5d8bbcb54f0f8eea74ffcddd96d63d5b56fd77ffd9cf7bcad7fdd2faea4ba2a501b88f726542d9bf7c2834fcc8259def1175c7dd9c929d8ffb5dbfffb7fff3c90e41f2e39260d6773cf672ffffbe959ab612979673ff0b7d3e3d48dc5e34d900d4b663c7cffab38f236437e3bf1d72726046a2273068ef2be30e3b3b5034675c0c9522ed6a564df15bc72c1a0f19ae226a1257a9298e546620f1b009e71d898fb0f85420fa1d0532573ffd1db86ca34d3fd47ddc7ecdb929a73377ecff5c7c32364885f3e8a4b66c488111f7df411fe4210370cf2c786418f4b12366804948e98020213604a37d863d7e921806608d083840d012df550037b8466c74d2c49c3e4e138667d54e0d9c040affa51ddff9ab10360bb3186683c1f7483706875f5dccaf55daa3c712b8aa4bc5672f64b42825abaa44476ec8f5bbba78b0436af5b074b7070e1fd910111aaa6bc30b75d6e544c6d4460bfc7eff156e1dd2da9ad290bd4ee0bc4d4626ac9f642aecbd30c177de277976fcdee93ee8f93726f8527b0a7b23a0abe55b55518066202d9ed32776fdbc685d0633f6175268f2182202c86fc50b3cac4aa4dc1d38c36cc995ec0681a039021492ff41832617e9541af82807061f230c31096b42746afbffdc0208c89cc3105ccb04c0043349d3348ccc21280d130c45a18323d02b838f4c72c1ad5a03b2c11163d53a52362ea2101186d83b0580e71c0680c036a0b8066f4873e4758ffda2df35e5cefcd3dbb774c5515360756c70942c3e9e01907d6fb7ffbf22f7dbeb3da4795f96b3c819a5aab24c559553f7bc0aca6163f4278d509ae297cf5df6fef3ee59a272feaba73d5c69a2cf520a172c3ac5b1e7ce384f1b7dd3330f6e59bfe74cf9d9993279d9e18e109ecddfdedd7cf7edbe7ec8937f46e1f53bde4e507e6ae3bf1f6272f4b2b5ab73390c9e090a5b6b662d9274b73ce3827b2ba16b789404585af60d49d579f9056b274f2cd8fbdf8c9e0496774f478763d7bddbd73134ef9eb3f7f99b67be183774cf17adbe3c9a5dfb7fbc5ebef53fcfde3d2f67ef5e0ed8ac7c590d7ab87f7bfcfbffbe5a8cb06b40a044a3f7af1adf21ebfe998b0ede9dffdfd33e97bd3e43bda44ac9e32e9febbae2df9eb8317e444aabb41fdfe2f5db7a23477e831fe0a3f2ed180c4fa76bef9f0942ebfbbe9f6e40db3ef7de9a5c9a999b7ffe298dab2325fc751775d3320b57809927ce1e381b79ed9a96ceddc6767affdeded0f0fcc2c5fb3be240a52ab07cce9de1daf4c7e2061ecf57f6dbdfed507fff7cca727f63ab55d8c7f7f44c7febef7366eab0cb4c7db28fa5aa6e03c47dc33501d0d184d63cd90a4177a0c712c7037f71f73ffe126d17b06dbc3dcff718140877dfbf6252626f27ac1c50212fd800103e6cf9f8f4f8b8e1c3912d7e3f0e1c3a74f9f0e1e0d96bcacd0e3e689211aefa2e8d118c10140b22102a6ecd72cdceb27ebfec76c30e9b069d161dde3f106d7b01f86c60e80a16610500fed2098c72c94a28d1d10a3d70d363813b407c973c3cd0d3236d2979c9328edd2a5559224254a629c2427484a9264a748a7f494bc94d848f54b8e708ee148d1811927322622223dc39b96ee4b4bf52aaf38fc03c0d09796892918c0922a31556026101d1391969090141b9718179b18139b121b971c139b181b9b18179710179f9a181719ad7eac41838b4e0041188d3db3c22c5f90608ce3e2429802c0147a2b8c8a03120d241906a70157618fc3441cccc2120c00bc08e8c82166190d11e0c2299a7169ec63924c033d1a18f45a7f000401898fa282d7ee20c1200e97a08d437fdaa347c32f9de55a7041435890f4454c34f2003a2566123c84975600b3706128600451b1ea1bb3c2acd1bf79f5afd8f4e9cdff98eaeb7ef19de7b4c3ce6b48ff8ad5f3bece3ebb6f5445ddfec7dfd1f38adaf970b47af5941427adc62fb8b9fa36ae5ab9a93cbb6bd7bc38b5df367e33d7ebed30b0734c61a11c37ea44df9e858515d8ff35d5953eefcf2e7dfee671fd7bb58bc6f7cdf10eb677ddd26fd6f8720af2b3d4cfe4ccaab674c3c785ded17db32aad9d24099d2fbae4e7b931529ddca147b2cf171509ba62cdd7f3bcdeb1375edc293932a9e3d03bff719ed75b8e3d56b9b68eef981491d8e1648bafc02512c81e3836c7b7e8dd79fb0381ca8d0bdedee51dfbabfe252bbffadceb3de7efd774cd88884cee3df1e673bddecfbf58578c34d0eaf52fdebfd3eb292fc1035bc54aa5d73be08169779cd22dbff799975edcd1b7fb9bb57b91504cc145979c961d55cb2423a2d55774c5ab5ea5167fb1646b654af71e1df07c526d78a9f4f972fef8c813637b75ec3ffa57b9f80953f859f3dacc4e1d7ceb76e3aa83afd9fff5faab5b049ab9ff605798fb3f44c066b06e0ccdf9fa3b75ea54fcd62704dfbd7b37f0e38f3fbe78f1e2b66ddb5e7ae9a563c68cc156c4f6c323d233ce38834beb34900cb06e7a0840ec0018e2464792c031a4014807af1907a019c9e6ed9be129a9fd6074def683a781eeed8066eca12f81ba815a8d0c7a84d518df3ec3cf9d38552071a9a0f1eb3871dd3aed5bb7a5554a8ae4a44a5696a4a5e0c710d9b35fb617496cd1de927d51b9ade0857b2eea0f8467550400262eb5fd9ec0aebcf814894f96f8248954dff095ea7d521e29feaabd9ea4f8b44c788183175c98121c316c95dca6b6b822de179d12159b12919c88b7c7448a6b4b767bf7c1c55b2239496dc000f376cf20e811879903e390f9c3343082c31240b95b3fd38041830195418f5934b823013ce7c77181840dec01d0b8160f1324cc680c0033f088c623c2be07068980e0d100e00206c6f40566fe0c0e7b87fe70616402048125cc0060890cb10a0c40022314780cb9a206f4450f1790b041e35a18522bf2cc56eb8924757a70e790eeb4d40620f52ac0467f88d072fa6f5ff8da3d533feb32e68fb79cdb6be7a61db8d21ad0bf72e3a7ab3dc32ec8447984d354535583fd1717a97eecc179c44ec0dd19bba6a2baaac69b77c52d17fcfdce971ebc635620a5efa5ffefec63326ad6ac28f2788afe79f32dd62689f37a0ba26a2a6b7c3578cb3abb535ed1c62dd67b5dde9f5df2f7e13b6f79fd5f77bf2eb1275df8fb913d5b2132e2976c5854e439be53526555b9ba8e6a772f7aeceea7e66dc47b1db152ee695bab7e02ac8ac03e4f6c13b17fd73e6458bc6b8ffac0774d357e8ba0c57bf7ee2d0128dfb317bc607ffbcb65e02f07bff1c8cc855b86a4cf7ddbe3193624cf53f95d94d79b9d1fbb7f6f316e74a5a5d5494838d25b6b1d9dba28b8ff71ecf8757298c23020159ec4d6b55b0a77aa0f947a5af76ae5fd301a35726df1d2c7ef9bf29995a4a7c2db36a0b48ae97cc675bfd87cdf1b4f2d7defa9ece3c64df8e5f149b82de073a3d92775f2eedcb1a7d6e32fc5a71cf0e8155725f2afa809a0ce87277e70c4ea384c73ffb1b61076abb9ffa8d70e6c097d83e58d1ddb0c5b059b070d7751609a11403773ff57bbc7babb42228813f2f5373333f3b5d75e1b366cd8071f7c806fd9e7e6e62e5ab4a85bb76eac53e1055f888f06775c9550158d0c67b10435a72586bc78610306533420808bb607700c61830692803dcdec4c4be3a697a4fa5075ea0ec6ce638ab304e821190cec8053e0ed80433b092f5c1e60f842020c063a46f7edbd79effeceed5a4b7aaae4b791cc4cb0b273a74444e373a55bd6d5c4f7ed8d93047bc6e709438f615c56efed251f14444644c44578a253243a5525ef437a65e59191db2a6a610033ec069c6f2c8de5d0b04b904387b4ce2b762d8cf34726495c7a447242440a5c23f14a5853555153eedf59d531ad072f602c0d7bc44104d8e8cc8141c2869b491b7045ccb2617500ac0b1e0d988780340018133da66043001bcd6b471860217ad1984b231fd8b0612d2ac3456186389802404c586268d71f3c93018fe0c430a362588bbee041c258db7315786917029d062200d30cbe0efdc133320222087aa40717021e3e784683bbd1ff88e95fbe61f6fdd3e61f7fd9e42b4f4cd8ba713b36259e9387d7bfaa70c5565f9f6352aa6bade77781c8ecdeadbc6f6dc2d340f54b85715af7ae5eeef3f5ca8a09d4d69406f2863d307574d1b7b3efbbfd3f4fbfdde9ae0b8f3fa67bf67b5bb2ffef853fb581b5fa751b35bb0ab714e3812a36497949ad87bf3ccebfaf3cf9e2bb5ebe60efda371fba65fa8b2f77bdedeaf60175e9ad9bffb96ff8d549e5b5287bfdfef2cffffbaff985fdee7cfadaf6518177265ef86e94bac40235b02c5f5f54deba950fc75259b2073f96aa976bf58251be7e772578b4aa92bdb808c057042a638f39a58f6fdeeb4f3c1eb7a7a2cff8e1be7d78020ce35dab0b4b73f3509b7aabca76c0852f048854bfff1352b37d1ef1b14e0d8817f1aaaa6ba2d4fda762e5e25dbe444f5955c9372f3df67961bfbb9ef9637e64edbb132f7c274add5eaaf697751e73ddd4b3cbbf7a6fcabd2fbf3ab34f97333aaa3707bde5d5fbab02f85c118ea3023f1ef8711563ddeaed6b377b334ec4179a705f50c2d5dfa000a0b9d2d26ac4fa7203c754cdfd0742a199fb0fb60444c066e6c6c066c69e519783b9ffd7bf7a72ab5013a884af2ee14f83a21e458f8735b8d8f18814971874c32c8c79d17177f1d2a3c87c51030f3360dd73164300ccc285b31a8047d3a1f49040f7f0a5999d81971eb61c38e49294b986498806f65e1b83b4f3108b4300e260000307896864d8537d889539e0f81d9b377f5959ddaf75ae373d43929255498a6f2904e4abbd3bf715e4671c7f2c6a2f78592f00aaba8217ae160c5be50fd8b26ced37ebb7f54a498d0df8bd0175238665794ded37eb76ee978e396d8ec310f6e8f52ee1b06b6ecf9d6b376f5bb633bb6f3a5ea67c5e25a9af26c253e10199569dd32dbf0f2e4e90489557291cd9c0301a66c1e81724000cb1168f8eb3ac6bc9608af9630acd5ecee270308b860898e2a2c0949a9139746018d3069ae0e516b318229a5e88af3d08c8f8ec990f02a27151f48c0306b3f46226e0d11cfac30696d081b3c4b007402389599a21b85d7fcc224f0444c3f58cb4310b0c334400a03113430418836164f46068c0e5300b061800b3f0e290b3467f6a42c5a03c86aefa576f79f3895950af5df4da0f3f2a55bb3f3aa36b412ba929feecd9873fac3efeda4b06e3419d43ff75df7ce4ed7f794a556da99fd79a2faf7ba277ce0b6f14fcbf9ff7caa9d8be72d6a75bbcbd4e8dadf257556cf9f4a305f9bdbae624a7657abd85d171f82869ebe3877a67bd32f98ea7cf3fe3f8444fe9b6c2dde99d3ba5467a0258074f01eb7e0e2c59366bd6b7ddfb76ca4dce4a4ff47a1393ad0f06d454162e58e63dedba56e5f8e150ed7f4fa4ba742ad72ffb66cbe6b92feef2cadaf57b8e4b4f695590e5fde0bde9333346f694c2f92fcc58e4f5e64187f8dc2e59de99efcd98d96a749f9af59fbdf896e271d00851b23f6dc488b6cb66165678db8dec1657565e169b7f5c2f04796d56bb8b4e4ef36f9d3df55dafb757ff36713595eaf32d8866291cd16344e7196f7c533cf89404bc320552bde56f4ffd28f58c133a96acfdf8edaddecee7f6480c78a29584156b977cbd75dbe72fa824d7ed3d2e2d76f7f27716c71ed3a94d52766baff7abe4587c5a01a5252cf1cdb09a2aec7fbfdad8b8eaac0b64d7ea15defebfeb1561ee3f50ff80fee6fe63eeff2d7effc77e43558adf7b8fab1eaf5f7889c1afc4c7df6a6af0f51717b47505d7bdc4f3058e371cdee830ab01560106c3ed8d9e00f66c1cdafbfa9910ff3b7c43581c1e75c82569f8e5902e0c740fa07130cf59f698856a340620c690580f7126f0c63deea4da12e712bee0a3e313324e1bb1e3d3b91fad5b9b13e9cb888cc23b67453b8bb67ef75d79627cfaa0c11149c938e5a83670beb9287d113c222a29abd3993b36bc376ffecaecb67b33b2d45399a21d5bb76ddc5e5ade2eabcba9913129f085255d70769930b6515c74e271f9277d5d38f79bcfbe6ddfba3c2b0bbf4146b6edd8beae7043744d6acffc13e2a393901e56644dc3cc1101243281311af301e04e028f4a0e7fbf012e58110dc604b001a68bd60100b98144af2d1993651649a68d1ec161891fcb101f435822387b1e23bce0c229f0880c0390c47a5d1a332518d39eb9d10541981b0f01ee21f5e7d2e8993fe270750c811910180d7130248921f42706a0191cc103a311c30536208dfe474effea1a5ca5d8586f4e790a8baa931133f0ba3f9e1c2d7e6f597175a5173f45e1ddf983f7ffcec50bbc275d9eb9af52fd44c4fddfed9c5bc6ecfefb9baf3fb1f0751543d24ffacb65fd2b76ef44c4751fbef9deac371499d0e3ca73fad4d69454a60e9d7c9d4cbeffb5c7ee9b8d931e08b4f9ed9f3ac407aaf1c6bda7567d38d5da2a51b2ede3a973e630abe1979c9beda92ea90e546f5dbdc6d7764c9a5496e32129b6baafff2fcef9e0be579f7e6085c4f61c7952a7f73e7dfb9119c91347f79e78c5c8bf3cf6ee4bff9e27d2f5bc8b4e7af9f9b5f80d00a5bef6d7fe61e42d8fbefbc2e39f07025dc8e30d7d1ca3cf579d77f2c8c4d95302c79dd10a8f55ab6a6a2579c25dd73cfef7079fbce733a4ef89eff787bb7e9b52b1b3c46fdfff15697dcfcc7cf99f1fafecfbf382a4da083cd66cebfdf6a57b67ab236e7bd284ab076514ed2ceb3b66ec07ff7cfd9907577a627b9e3e0449ce78f8cda46b4fd8f3ee2b2fbd6b5db35903ce3bb97d445569ad3722152a54e1c7369c0ebf3f169fc4c52723aaaa8abe7aff6b5fcf5bba4454ecad40645e295a7f73ffe1ed05bb0537103473ffc12631f77f88802da175e06b1c48ec10bce86093a0c1002dfceb2f66d160067b380e193204bff8895e1862efa91041afbf9802a977232f5bae8e9e59619680eee009d033377b8f59343b034cf2c8f74ab8c6acaacd1c400f2101e270883e64a30d7acca2d780c65a68fb94c67459b97225fea02816228fa20a5e900fb74edc46636363a3aaab4a57ac28fe6e6dd98eed308bcb6a95d8a9437cd7ae559151f8e103e7985af36463370020144e9efafb5ddeaabddb1716ef5a565eb201beb109ed12d37b2467f5f54b0cea6030f0e54601463ef0e27e4a4a4aaa91cab53b976fdabb66effe9d984c49c86c9bdea95d5a97286f2cd6853d16a2171c01b02892873ba7983f48fd4bc86086e5c0d000ee7c4d25cfd5190a69202b98c11e0cb0de8b3c58f41ad05ddbeb292ea48360391e290d684f12c161067b3487fe74e72c7a78e1a43002ed118199002013bbfe302009030a8b08cc16800d53cc0a434cd10c0069a04704f0200160467991007904a7172c01401afd5b507f89ef5890834b8be714827ba47ce3ba6d786f38ab5ddb044fe9ba355bf02168fbfef7ecfe66f27f165c7ddb3571e57852a91a4e77ad273a272fd75bbaab0cbfefc81b999512b56d636109be8cef4d68df31c75f5a8a7d1f1b1fbd67f3a63de5ea3e109d94959d1e535a5c1611111d1bebddb97ec37e7f444e87fcb88a9debb615c300ef7465b6cd8ff39756e2777346c7d5966cdfb61bbff553367cf4d80bdb4ebbf5bcfc8a5a7511216d6f7c46bb8ce8f24a8989f3e2eaafa92a8bf6556ddaba3721a3754e9cecaba88e8a8bf157487c826fe7c60dbbcbab1333dbe4c64b71157e368ead28ae4e4a8ec25f7f2b15b5ffcb36cd7de0f939e7fde9b676528621968b884bcdcd4eae2c555f8d8a8af1156fdfb6abf4c00f8775fb1f1f4cdffadacd530a2fbafea2ceb96d5262f1ee7e448dfa044244b4b76c53e12e5c009eb8f4b6e95195d5dee8584f79b9c75fad92dc5a1cd32e23a2a21a5744645c6445e1a6edf8ac5f62767eabf8ca0d6b710a02e24b6ad72ea37a17fe30e1370f3cf2fa80abff3e247277a54f5d29e6fe833362ee3fd8febcd3420d34606c5a921007185b05cddcff210504a13e100ab70e6030eafe65ddc1606049a8ae7a1a683d01e6cc9983bf4689291843cf4d9b36e1fbf5f1f1f89d79e1f4c775dba54b17d83032001b86f5504d210d6da0a708b0222c391bdc3355daa047838dee430265d44c4d89d89850dacc013844af01a2415cf6e41d3d66c1e83e18e0a4d200537a960c4a527c041824e44689861eca620aaf6d283ee088d389dfaa101717872178d8e0f919fe00170023405c986156e7a9e58e8989813b7c715f664cfcc8b27fff7ef862452c041718e33b01ba0682259e34201a7c5198f2efd2c2068ba28ac58794f90502386251f4dc25eaa8ea3f3f001ef60c8ea340640484190cb8698891036d306425812149b8235be6866834630f1eb30c8b80b4840dd2664ac0581198a1b8168670b4633008c868c04c1e2eb021aff5070333ae0e335ab2070f801cb06848fd1199878620b0d1c7c54c18136448fde18bc6f8b0446e18c2188d8e080806a1c0c00c8d980bd1864219fd8f8afe3b96bff7dfd55dae1bdbbeb8ccb9ffbd1151f81df1f8b24f45a5da72dc243865b88f60ffe1e70f009e6e9c4d3cfe8b8c442188bda46e2338dd3cad38e3c06060131d1b87cf69d6545556d570ff577c39f5c9cae17f189c2178c68e5030c342b5014f049e2556d7203a2e6d7c0614bf6b1eb3f8dd5431911195e565ea139ef6fb8f78c0c30c1f15506656c36fbcfee09e7f2d4e3b7dd21f7aed2f516f7a20016bff63675ad170bbabbfe93bf67f745adefef9efeccfef9d191988f4796017810f9c55a090551723c2abfb4fb53f263ac28f83b5b6373e218ad5ab6b6a23ac9d8e5d1f66ff576e5ef465edb1bfeceedd5aacae17b3ff1dfa4364c8a2764243f77f98a1c10ce717829bfb0fd58020540f3d77ac6dff2bb9600646f73f35fddf7cf34dd41b387cbe0c61dba05639ebacb3508750374c7113f23e43adb66cd9a24b52f0dc7200c47024b08803b334d33d80a3c11ecbb1c7144f8a061ca20f09c8374bdfa89294a2603d37009e8d36f5a383fec7fed363600e756f11751dcc1c439c30922849f1c5341643b8ad6307c3128be2d60cac25469985138321ca0bcca2b2641109126660e08b80007007e069008619a638cb1cf4e70468036384458f0677f65c0b3c77037a24ccb792e1856c318575912400bcd0308419000c9812001a16657c44601cf424c9c30607a55e20ad1a8b11608021a6747c86427a60d0300b0c2f5802a0c180690010234fcc2249860286013018d80330148cc3eb0f4758c2173d0e0d92428a46eacf4ce088202a2deb60a1804e1800b3e8d1b0047b18d0054338e2f43173f08860f4ff41e89fd82abf7562d59ab5dbb07b701eb1df70fad87347f1bc734b34f7fe8fca6e9fefddbd7edd8ed2e6dfffdeea2d5b77a774ec1a5fb60f752e2f76de61b04b716838581c1431817dffc767647a766ddb5b5d6703e366dcff11c939b9b1a5ebb7ecc5ea581a8d521f71fdd5e19bfb8fd11f0a6027d8f73f1f10e86ba479f73fb7fd517cfdcdcfcfc7c1a22113dceb7074b800f1ac948064f0ebefb66ddb7449cad73e75e9d63744ab8775ff93d13c001ba6eba1f37f9e05b2c4e8c3031a1c7e7f582529844306bab703ad2924860defbcec39c55ef300211bcdf4d962490a4b9c094c810786b25c02270f4360488959929825c913801ef73e62bb0d02c28c8cb60100afb72c9603831eaf287a09aca2d30089216cd0e35ac210188d5511ca32f0880686cb01c386d11004ab6308004b9a91813da2f1650c98f92002a2a16905e04b7b30c068b0841702c20b53e891895e8e392002a6180d2e344311c32b01f6ac26991566b922ec8141ead5018cfed0041a1afdb149ccfeafbb3623e2d33312f14be1f694a98b9dd7207a5e6b7536f537045e5fda0600171aaf77605ec8e87909d31811f465889818c212bdd15f6b8beb91b218fdcdfd9f2fac7ced03c696d02f88bc7be36afa9ebffe3a4a525cefdcd800219b9e2540af01ecf51d039853e8411213387a3db403e06669be4993261d7e207d73042076f4c14365575fdfe096c1a11d10a3b783a2a222bc2f8feb0a3963eba0a7b8ac90b0c340f226ae7bd8c09e6bd10b2e30430f921b143c1a30d662280c99127d81316559d5fd34830860f42cbc980f6c384563ac82b098454310fb140cf4a1210e0c3064c3148ced06b8486003779881670f0092bb8a53e839c40b1222e062434026c0c82079e0f0a50b33842586888621001a372816823bbc3804068019ddd1c31e0ccc60835938d245f74c12b3006830e012e8e902774ec11d49321418cca2612d024cd10c11c0a007a367e105461b6863ac82b09845d35e34430f33908c030300364c81b71b18fda10c7533fa1fdafe0fd4ecdbb3a7ac52bd398306f5ccfee7c5052970d1f10a35f71f73ff31f77fdc587873c0a5c1175cec0ac882eb854360007c98303d3d1d3713185b3795830049f40430e02b2c87165dd73182e61d0135af81c300433bc3e1e1f7aa2c68308ab671000ed1db01315ec000f8324610dcd386af70c076a0a700744384152b56646565014065f0e881d170083879e8190480535093b39c0209068d658a26c1a3c11753563c55f100e3b11f006e97b007c0128c06639a2107de4a300b6304e4a681010086f0458fc6a34065034b325c0b96007c080a17da738a31f1c0924ba047a33b57c7102e24794f872300a3c186c630e08ae8b9848e0f1ba40d12e9e954992d120380256681d178b05c9a43f41cc292ab60453018728a0b618886299060d098b626c1a3c100530c486cf4a756d4c7e8cfad8e6dc34d82213712768bd9ffe6fec3fb89b9ff98fb3f6e98b833603fe817b51fd3ebef8e1d3bba76ed8a9706be2eb0c7cd900c0018603bd0c6048e1e42d1053d3066d93426d07d4800b2595a5dc1d48458bcf2e148e0e831d48c067a156b52152e04217bec21cd6b0c70e69967ea380618058c024601a38051c0286014f8e12a50585888af47eb529215a12e10715ca8855855e3cb2dd3a64dc310241858b24c0286bd2e99e84233f4da0c802a691243ced285d8d1eb29fab668df949294c7d9f8b4604f170237ccc3a6eeb42446af87f46dfcd2c6d2286014300a18058c024601a3c08f430154412c407138003c2816911802b0b16a0226a099c6e4410270aa313ddc0fc9be31311d36751fe373b08d1f22456dac3181bd878d7da83180bdb1faa4313166ed00582f678051c0286014300a18058c0246819f8e02a882d05838390044b0974cf6e28a538ede31843d184d0663322dda1f4249aad36d4c4234d62ef621b01e1207f776a1b11c0cc8a06fcceac6c6286014300a18058c024601a3c08f4c015d0bb18eb2174bc1a5946620023181ee3560340c1bd30ec9b83101b5cd2194a4da273c70e4caa1eeedc08e111343b66089c1b0c120fceaeeb3f9d34f1935b37fd72003373ec8f0fb4a3c77834cbb3844726e7c08d323497596376e92274736c392ffb85c665d25030f31d29cbb65c94d8df5b9f66c79f23279ee72b9b473235dfafdea37975e74ce298db43e2cb39365f2749978fe61c508ed7ca5ccdc27ff9b167ab2c5591ed795f29faf65f25f9b61b59ba6cbd499d2df11e9e4668bef086c864601a38051a0e5144015545f10857e56ca3a0a093800cb273b491b7baab4b133471837e5b3a4c129ea43e5943e2a3b1f4c822149c01e1108203a67093419bc7aa398826346a7a64a627b59b0e2207b37fe20a3661bf41b7176e754ff9297df58da5c2187caa9f9223922cf1c1cd18d3fd8ea288c5acbf17952866f43be7db88b8fed210922c78bcc6d7ca4a1d2193e0972adc87d0d792d7f44d2ea3f66736a0ff9f30e2998d4904f8f76a9319112d3a19f7cb8b021dbc39c7f7e86748f97955f1e669810eee7fd52d293247d5488a94652e3a7c9e86e32b5bbbcd448079b59dd71ed902ebda51c7fe9e236db5c93e0c8d1122fd2576481ddbda7f46da6f8f6a8061b058c0246811655c05111e19bf5a88e40ea8f87b25862f9844c08d0d3801f06b50f8969193cdba2c7121cfcb09e92f250ed4135a341f02ca7746f07c08e46f5edbd3de0a160f507f7f06b91825cdcf820c3e620f2da6425a7e674eed11cb1ea6358c7553fb0fdefc6db4c8e062c1124565bf75b1a0f2b812a0412d977483166cbfc1db26a69c3f528a2e257496e5a2f8fce9069eb55ce0959f250836b2d5db5755fe99e0dcb5aba1eedff8caa476b36cbb9875db1051fd34b7f91b59b6591e3879c603b7766c00869db4d465de96ee13273e0b86659fba4d2c5ee50e86a75254889c36557b3c577043643a38051c028d0720aa046b25744c48ec28943e460071ceade91212cc968a00d82193dd5ece0909f923a92d3c306010dd0eb8683d198008c9bbefa1c3451827d2e1f4275e39bb84c036e7e2b8be0bab801b730d39b5de6dc7817f39f0e7dd6a4c61e6bdfabeb2ddf968207a56f84140c15995d4f86fe7fe91b2f35db13f0d02b58ecbdbf56ffbd9817c6e430a63e92b18717b9cadae2ea8ff91e623b705c2df18184434cc6981b058c024681ef9b02ba16b2ffd6275d4a6196cf4d35038043d02516807e5c4acc59fbf3d1900c75d02e1c367bdf70498a0c9abc2a7ce9ce1e71ec438d011ccd5e986a0c80163299c983cfba223331d67a9b15bfabbdb4745df27b9fc1f2ca1346dd919392885f1c6bb9e92309e2bd5f9c797eff08ffffbe7c79dca6ba15ae1c78f63fb363d76c98db7941dabab38ec98f608cdaefb62de93c7749c834343960f4793d5a27fb2c0f1c5acdfeefa67cbcb1475c4c8cf54bebe3b2fa15f490e468d9b775e1ea2dda2904f8eb5572496789b19e65a39c2d2f928249caecd2cbe4cfbd243e421cc715ccbf738ff48991b79e91cbeadfe1bdf472b9bd876c982f039e912fef9736d12a201e19ad5b26031eb570a8eec93be5f4185953259d93a46a97bc512ee3f2245023e75ca5de3777cb73e0d9f2dc291257ff2cbe64ab14bcaba2fb6be4c949322a4be55f5326bfbaaeeecd77b77cdc78844a66b667cbfa5324da236f3dad8e34443e6fc9fadf08fe9801f640f56ec9ff0bdd547ff665f2705f79fb2de97d9ab489548c7fbfb4fe9302bab5b34e5c89f3519b9e1729387dfcb0765e155e6a4b363ef1c23b757305232e1bd6debf6bdd665feb0ea94aeb404df1dc275f389cbaf5a65592e491bd33e47e843b5f3e7f5eb63f271b06c8a04e969e7be4f769ea4dead3a7c91d63e5c349d2ed4f921babd2f16f93fef88c87c85b25928b37b3d102b2f12d39eb0c054f9f2e778cb2040a48c023bbde96d32c1e539397c929dd84a771c7a772da60658fd67fb23c3851622d71302c5d2e83ae90f3722505428ba4f797d3af94bc54299c23ef7c84ab5166fe43d2ad4c301ba8949b63a45e26657fd0712942fc953279950c3bf8b8c04f9c29bf3a59a2b16e40705d54ac95419d957d887cba2b1e2d81ff4d96cf274a944766fd4d8ddde287d0e77cf9ec39a95e225f44cab06e4ae7da52b927a1ee93096efa70cde03e44fe935ccea3fbf90d0e6b18a38051e047af000b219695c0042833ecd85e5041100cddca504cc180f56813a463e42638bab9d4170b2ef34cd765b28e76b3d13c811ec20d583746d1430d1c66e44396a493879f7b5d96aa47f75795eff107f0470c12a3d50bd09583c73dd83a35c9eba9a82e2faa3950cb86e26b6794e04f07459edd6b28f311c9bfb1154aa9c0bc05893bc776433d5a5d5db2b8b8ac56bc9db27b179e905f6f16e2ff01e75cd63b4fd5a3d51565957eb51522e312cf3a7df8a0e18332ac1f01923b1f3b7cd0b168434fe817c2bf9efaeb4d727957558fa212da572d3eafc427a9b94baf92bfff4c1222a4b24c76dbded90cc97fb0433c5e1939b63ea8c81facda62c13382cf4aa21e4545b8a9a7d3fb00004000494441546cabd47aa47d0f5974d90133074a8e105f8caa47b17fa3d2ad7a14fb3842ae3956dcf21c789efc6fb8aa474bf6cbaa1d52e297b85415151192bbcae82c09540bdec08f8893972629de2d1f375ef9586fdc63a1adc39550db9659f56848ddf649719554548ad723d1acc6e82f921aa7c8d1a3553d5a5622d8285eaba292ce32e7ff64c9ff49e1a3ea43a525eb65dc97f53ec1ff975556e28f08d5a81b842f86fe96514c2c3664744607d4a3017f35b6a1272271c0390382033496395fc676c2a70a6428ebc5745560b5bd4806779240b9d4042422551e5da582a5a4aae31a7eabaa47f1c38c3aae38c5cfae55f568cd1e59b95c9df7b6a3e5bd698a97dd52592195e55259656db6148b14b97d950cc79ea9958dcb056f82670d92371e5353fd1f9327ae53f568e93659fb9d94564b6c9efce70db9e105e962298cacee7c502ebf55fe76b7b27ffe2e558f5663ddc5b2c5caa77e05358bdafaa0e3b2f649d230191e745c13bf968b86a97ab4b448f657e0cf86495c2b1520643e6ac26af86902065f5da71c77be2dd7af55fb3064fcd0faa44bb457927a2b29a07379b578e3e5eaaf5568377db86e701f3a7fb7f3e8c607c7358c51c028f013500055902e9334c0716bac01c5d043002d0fb16634d006dad7c1040fdd7c832d1bc3345092ba85704b023c9bc3112498e029074f83e01ee7409f0647646933fc5a944be27fe58be793a7ff2f6deef6bada3373c8bd5978281598b5f8f9b837ff97f9d98ef0fc6d1f2edf83d7ec98dc996dac15faf66eed117f45e17b03bb66e08948f5b6a8375feff3feabbe55fb7024ad73fbb9beaf5830ba972a3cfd6b673e3ee5e9679f7a6b3377c1971f7fb97cf1f27dd61b9aa58580cb57ad5af5d5370b9d87a3c7c7ca04ebcdd3194f49c10dd2e5115552a8d6596eb57e6dc027d324ff3ae9f65803fc7d770b32f626c9b4632df7f324c7ab9e02cebe5c9559b56592779d0cbb5d7267aa57e89cbe72b66515a2b376cabea5f2d67e35e9df25e77ca540426b973c451eb6be0cbfee1329f8930c992405574a2ebe5554df76af96dcab256f9a55e3a6c9d92ef95ce3c2d7e519903e17cb2b83d553ab559f485f3ce575d36d95f49c281dae159c6518876c90b4c30d52ac7e64b4e693a54392642689f57384c464b88b03f32d1f3efbe4134f4e79abc211ba7e5c5db4fc5f4f4c7972c656ccfb92b31c56f6e1e993e5f183bf4a8f678dfdeb2da6fe5b3dad5c767dfdd8fa4c24067b3f957e7172ecd54acfc8b6f5b3d6fff3af921333d587293d3ef5283405e77d8f1c9b26e776977ef728fbacb3e57491772e9613e3e4c4043971a422ebdac9723a2ae080dced93b3bacb7156fc36bf52937f1faffa8d8fcba01c19db59064549bf6479f4f732ed1ed958aea676cc92671f9719cfca947faa616bab205e3b45ceed23a332a57fcc415f7e721e97f250cd795ce7cb85bd153ff302199429278dacdfff2ef92853b480747b46fe3d419dfab58f1f78fa8b19477c577d765971f02478b1d2f9c4114aa2a8f622eefad43938fe73cbdfed3cbaf18eb0666814300afc34146081642f8a824b26284192c02e8c1baf5d6060b7d7d88dd706cd029a589206afed96aee6ed8018bd6e08484ca087da4003c7d257e6a7e1184af7adac7bc33d060f86543bb95d06de83ad2cf96ef86a6bdc102fb2e46f455578d51eda67381cbe6893887edeca3997a4a9275e6b362db5a2c0eabbbd401e5f41ddd8f95f8fae9948a0a668e9fb5c378eefdecb96d50be7cc9b538ca78222fb5700cef9f0c30f17d2c619438d2f1da02a8fb2c2fa37dc93eb0aa98103548554b543c6cdb6dc1ae26174f71a6539709ceadfb10ad305efc979f96ab84197c4af8a2a353d02fa8dfb64dba307fd7b67a83246bbfb5151f53fe2fc455a5915466497d079c2261d07e097eb5e52f6f6067d6af74b377ee37db6b56e84fc3e5f9904e733ca85b76895f0b8e39532f367c8106b2137dd5474ab596ff6d60f6cff6ffdaa4ed27fcd97673eb026be94bccb25fb72193b4d76fa2522411ebcdde6101aeaefe81f98467ae22f9af2ca1c4559a21d980b42e33f913baf93e347cb452fc897bbe526fce8f357f5acf1ba2b9569ff69ea01a47fb35cf8d0014fa5e73619ca37d31f9262552b89552e2a9b1dafc804cbf8f96765dadd72d6098a2c7c59f5aa5d6fd97b248f43f6b9b6c128757e21f1f5b5f215fe3da0d4f6584f81532165b5dcfe7b9b31bed5fea2dc79bd6cb50af1cdff91fb7f2f7fb9589e7851d97cf0adeabb5c278b6a65f62a197fb21ab235feb8265da2f2295f2cd75b312557e5c316321f350541bc32fa2265b9e86f32b63ee190ba5de4ae8f5aa85c06f5b156d312b9ebf39f7db22870d0bfe7af94f3dcf30f990fcea31b6fe5613aa38051e0a7a580ae851c002a80616f0734b3f3dad20e80ed8d11eccc91c1eae5a6692d7cc65a0506a7b19dd498c0d1c3cbc160c807a521b38dd0c79110a95e39447ae2839628e9caac677a40d10df03079e8e36fd583d2a856d37b0eed837ad6bf67f06a7c3c51c52babd886de6a9178216eb0e171545d4b46a0a01613c4b810113a4e66dd4b6fd774655abebbde21a1011e7653eeb31e9426c873674b4f2c5d2d67cd96284bb132dbf7d5f552cf7c2a9facb0fd5b2a4fb0fc15f588916d1edeefaec7f83f384f3ccd558d27c382f6ae6c4bfda8b3fa905fa042ca5cf2e1990d992743a84b50a453578eeafa10f91c341f62b071711d79df3372e3c1bfa06aee6ce9f9ac2a6c7c07bfe31f228a1b5553ed36e3e0c79ca8de947ff42a59bb47bd053fee055974ab32f9c62a2bef1dabf00b07d58f8a295fa67ad54e96788f048ae5090e4536bf56879eb858eebc4da2acd35cbeb57e1a07e5728e68d13f5f9d43bc55bd69b56cdda0fe6d592f6b3f570ba9669d350b85eaacbdaa27eeec2e37dd233b70457a24a5935c3e5b9eff6bdd64e38f6ba5e511a1afaa02959e6a275b7dc87c2c0bee93f6a75a66f55db06ee561f5c1467534577d44a6fd5be6cfb2fd9b212f5827111142e46fc50dce87e7d18d772463864601a3c08f5e015d0b396a241cb883e150f354c64e6aad34a9190780818369a161c85b7863d77264e918224a3043d2ce13a3b7030e43f6cee4ac23a8c4c72a55ebbaf5185d29a917a2b858ebd39792bfaa67833ccceb1e948eeedc1a2f79eb0bd523c40ff0294e916ef9a814ac96d9ca2a4b02ba38abe3f57fd64b5a6d45b145f4b8a83fdef63fd0f07950d5825ed80e5868643d8cac2aad1b2f19a92714884dae1bcefb45a3783e283d75b87ac2bac97ac3fd63ab28eca23fd3d859621129a07ea7d2abafcab8076dff1e95570f5aa46e50a78075bc21f25c85274aaa64b9656828e77aeea15f0b02f82bc42d9fafddf354310272cb343c8a95b4025972951534ac6e75cbd67d06a26e54f75fddf75f0e26f5a8fe47024d8403b5d6e733ec168dbece66be2acf5e224f3c2463d364fcdf64e577b263bd3c3b54eed4dffe99657dabc91edc866f7fcad293bb8ffcc175e13cab78edf8db7a9f93853f1fe16dfd906dc16baa16c78786cfea2ca3dad7fd1b3b5ce423295745ba5c633dbe75f8b2f0955d0e5adeb95e4e4b96be1ef9e43b35d5f577aaaffb5653238f2b5ab954ed563ddaccfaa2367c3e3886c957a97d92324866cea4eb41bdd6ad017dacdd6ef774d507ef245c2f1386dbfe9d617d97cb2d7f7b507c3e35f83c5a066efcc1de666414300afc6815085917d9491c3987045a084d6a86007c7826d8c061df8c43eb05bcf9e23175fb0100eb2181ee1d3cb20043922064ef48f6a1dd950f66442565f42b1cd1252d3151d555567b6847c90319a9d1899db68e681597908c6f28a3417837beceebe36f6f1ddb5b55af81f29b176cc3ffb77dbce9a6b11da2e33aec1c1efdca5edff96db3f1aa54ba674dfdf30efa1de897eea81894131d9933f0d7bfea19939a5cf712565f03edd8e7cfc9f0659f74de29b99b135b77c8f06e9fa2bf9a7d20864253d6cbdf0b24a14016fd4552b325c6ca1f9f9b9bb242ee2890a81c59f217896d250956ad1370e719150f4a6f784492112420773da3b8fbee936b1e555f545a7e934cdf2c638f55a54cd90699428746f7f86a0bdef40dce1301feb55e6ec897bee364d100595a225df324bd463a580fed62f3e59d6b252357da586f64fffb26f58b4243e633f13e19eb92e70d580347345b5aa7aaaf376576555fcfeaeba29bfd803c31320bce1532ec413b7d303e56d65f241bbf93d797484247b9a4af9a2d72ffa0c541ce5199e79c7d0eeaa657667c78108f010b40277b607cffb80378c16db65f3b5affed9feb510e06b59863e5f94f24b5bbe462ef06c2fd72a82706cbf88044e6cbecafe583c532f20275decb171cf4b1ce83c2bf28cb1f93ee49b2b0443e7c0e8fa3a5ff2049aa541f1b7d7e815c7eac747f50debb54561649c7de925a29275a4f7097ac53bf88bed76372fb60693d4c3a47caa0fbe4ab07056f367cb34036164a96bac6f0f99603df6a6ae471bd34596e1824f183e4bd65927c0cdec4b092b57e0470cba7eec78187a47f5bf5f5a6f461eaeb5ca759fb3058373c9574d3e77abb2ebad077d7c76eaef14b9fbbe60f9be07cf0adafd0bc8e688051c028f0535220645d44125fae25a01ec01a0073168c9dc710bc36a38d66c81fc9beb14f6ff43134323987bd63a88380d753c41c12c34c931a68df3ab0e48d5915a8f83cad553d5afbe5dab57899c377dce5dbb79e2ba901cc4e443d1af8ae483ded54c2bbf1f5e1a614abd7b7fdbb56bd58c77c16b37c07bed79e91dc7a42bb6c94b6a5259b133efcaa6e32f8bf792f15962182275ed5a3b53b96af528f447d756f34ce7be5ab52bf7822933b77eb96931c73e0fde5e038afca27d6870e7272543dbae813d91d505f4fc11f3d7a6587b2cecc51f5e8bad5ea4bebeab8dcf8fac82fa8025b4ad61c78e4d9768654e1f9629e5c7cbc0a55b6433adc5d6f1df27f6b7b2bb1ed6d9d4b9ea87aef966985eac7809c3c39b5abb4499018eb272030f8f27edf02558fe26f174c7baaee0ff4b8e5e3c62379151ded553967beb5d0cfe49d0ad77c2c53517f1ac12bddf3a57b57b994944b8f477d9dbbca0de3e4f29fa953b073b5f47cd4c5d446ab8cf00dfbac8c8cbc763d146ffd2d06bf55346154a18612fc185559866b6ffc47bd498e6f352d08b242405f92741fa4ea51fc12831917867b8c0aefe3fea6be389fd25bc65d24f13e29ff4e4e3c2e28a88db83059b694aa2f980f9f20c387494ab494ac53d34f1c2733162bd9b37acbe061929b21d1d623404cdddf4770cd20abd113a46f27894121fe90faad11b1d9ea63b2e32648970cf56180297de4908feb7a996fede4ac6eaa1e5df6b8ecc57511152e1ff5abf2d9ae97df591fc0c83a479e3f51651e5237377d601f507bce6abbacaf555967d54d9f7ad383ff77cfdf2d1f37fee0b8666414300afc2414d0b59006386c620d30a4169a0f9646db68cb609b308cc33d8ce5214da99a3a8c839e75000cd9e05b0fd5fff8b82718fd5d307efa133c7e3d0e7bcc0283474f408cbea6a646f39cb24cea3a4ca12d5fbefc965b6e094ef8e4829ea322abdffa76c54707cf811f122973be5dd2481e9f41dd37b67792d4dcf3bfa9073d1491ecbff6cc4dc4f78bf77ef5d0a683d70835caedd1af5d74e586854bb7849a2de8d12f3331aa78e7bca5ab434ddbb881436558accc7abbeed776ea19f0c7c7cafc46f3705cfda8fad4e6a3973bff4023fe8c3bf8cd9b64ca973afc2103b73c19e8da91eae9e03edb12033b4b2bebb307af062dea968f1b1f32d7f0f98474094176967f0cb07e7f6795bcf6e481523e8465cb53f843edd9bbe5aa8b83563a5fbe7a412a16cb89d7c8e9b9f24efd0f5241764e62fc6475deb72d9297825c4e9f29770e93d24f65d0e0035efdaf94c1dd04bf59f689db0e9044e3ff2a92282541a1f08b02bab63d78899365fc104980f146f5e10434d7e3b242f73f59327315721c974a26553eb92d44810e63b77cac9007756ef15510777d0e0a513f08a34fbdc981ff43e4ef761eddf803c10c320a18057ed80a141616262525e157dfe3f1247ed13d7a340c715400e8595ca1042a2f2f7fe49147ba75eb86593418eb661f0247444490414f004b0204044664f65c8b3d0c308b1e43dd980687c4e84302f287d31f8992d42a26d56fd24275c99e8cbdee048f9254d7a030d098802e2849fff297bf1cce01bbf8663f33b8575aad9c909595e1953d458bd33e5ee262f903a31fba4a526aa4df3192e6937daba50bde2037edc7a48055b2941d5c3e36edf8feb34aa236caee68193050f07721165d20970455ab4d8b6cbc1a56c0ed3cbaf10d4734164601a3c00f4381432a491f7ef8e19025a9ae3801d05092a2882466258a9e803c7a32047a08c9c063a81b1807a6ac201d80c3c3e90fedb3a4281cc32cc659371b071f3c04c38625eae10146936112388ca9ccb15959fc3a7569d9e61f4d3d0a414675adfbbd4365bb4c3d7a181be4fbed5affb180c3cab2732789ef541701bfadd3d4a387a566939cddcea31bdfa4458c9351c028f003564097493886e04ac9cee8929196f66386997d564f91779ba559f8591daa69e0d04ad2c6af81a4431a83b74fe96130a9a71087d8ce840c7e18e492df2d96beb1b271db9287761e4698ef9feb75d3a447aa6c5e2a53567dff9233191dbe022fcacf9ae959e63517a80ff8e2dd7cb737c40f3f5913c15501b7f3e8c6bb0632134601a3c08f5981e0722898c1f183644f404568e9568c7e1f546b4a496a3fc230c7c0830f6910722a0cc929f421a3350bf9e2ea25cdf4cade2ce9345b9057671fe50f4136db9198402dac007ecbfd82165ec284370a18058c024681c35440574461aa26c712b4742b46311b722a384863cc1c5e8734541f656dd1165232aec829f418b277f076033d45607aa38051c0286014300a18058c023f29050ea9580a2ea2ec5a71d6ce1c75dce225298f501fb95d4d7df02469e366106656c731c0286014300a18058c024601a3c08f55015d0b852f9670f86e069c0a397bd4456b7a49da84e3d12e001a074bc0597b1f6c1382c93d6bc284096715849839882a38edc65b6f1d7f5a83760739fd18074326de7aeb15e7f66beca1359f6ee75e71cbad132f769e80e68bdfd82332764601a38051c0286014f8c12a602f9388dd0ec53e0bec66e6c637c1c52d5478bee92529e33a12b51f76f885314b634670c471f86a4bfc2a28c79435ec71f645e3279c99039c337cc2ff1b7f9eb3dcb1fbe41e7bc68811c38eed68e77e8a78c890b123469c37e6f4c61e7bb3e93664f479a346fcf254e70968b6f88d3d20636714300a18058c0246811f9602a88274451426735d59d1388ca57d2ad89871ec362d8a230e3ffae11f038f997174340d1accf0eccb0665e9e3507fe228c6fa2dec2e7ea5d5f8534c35ea0fd7ffb49ba5c32108d17cba55e004f86aca1df2375f7c476033340a18058c024601a3c08f55015d2c05175187f46d24b8dbed31846276e60808a84bb9c35d8bd9dba30433f6d9f058fb02385a90e390347510d59fbeb965d099ed0aa73f3e634b90c9c1844f0d9d15d1c1263f959125853ad802fc79a7860ebaa5756be9f80d1d9f99370a18058c024601a3c0f75a0147458421d3d5a009d9c3d7517a06334d08db0497662b49b176484540da79c7b0091907b9e00fcda079b2725449139526d250490ab39aaab4f1773f7fc1e08ef8a3dc452bdf9ff89bbf5905d998fba7feee8476a930f097157df6eac3373c12fbf8f4cbd3574f1b37f189f1f74f3bb77be5b3975ff8ccea210f4dff53e4bbff37e19139e3ef7c72dc90ee8958d95fbc60faa357fee375f8f61bffd05de7664ebbfbf56e975d74429e8ab667f1f323273c0210ba0d19fff895bfe86d59c2a06cdbe737fc62e242cb34647ccc8c9978f705a7f6cb498d96cacafd65fedd4b5fb8f08667c2ac5b30e6c63b7e777a3bd8a3f9cbd6cc79f6c2ff2958551179c5ad4f8f1bd10513c51b3ebfe3dc897314edda5c740b9d0fa28458f7a6758c1ecbffc6dc38ed77c3d222764fbd77110897f8c1e7e53da83cf5ae7115f3a6cd8d1c78c15067fe6eba714dd31b058c024601a38051e0a7a680a300e3d0518c4213f0c1e491d1ea703f4bdac82c8385b03b3a66ed538dc01feea8c44f09119d8fcd8371d5ee863daa44bafcf2c64b0677ac2adc505429195d464cbefb5c91d39e9c7523ead1a2959fbf3f7b41595cc6e00b273d343e2a21353127a715eacc81bdf2e2123b0e3ea39f14f4eb99911a21a517dffdda2543bb27966df864f6e7db6a12fb8fb9eeee73f1b451e2131213e3da5d32e9ea13f2e2362c5b592c1297805f40eeda6eb9fc02d4a3db562e78fffdd99f2fdb502911fc3b526ef1c7dc3af5c65f0e4605bb7ed9d2d53b2b535313f372b3c3ac5b70eedd4fdf380695f69ac59fccfee4f3357b7c596d953dfe244c62f751178ee85255b86643515962bb13aebc758c6b96d036b46ee2968fdbba5c028fa90bcebd73d68d63f252e396bff1d413456ef1439e977e129f969698d865c425970c65fe953a7f37ddc21c9a99320a18058c024601a3c08f4681e0b20a8c3ebae0593d757441733e256df048ec8ac0d8210a67b50d671d36219778e3a9e9675d342a274e3d25cd1bfddbd33f7bea9da5210d0f2297bdfe8fcbf05073c82d1ffd635466a75efdaec8ea1e27c52bff7bc66fee577663eefce8c6a1fdc79df251a1bf6376fe907e43dac429ba7def2105eb72f070f2bbd527fceac26c295b79e388dfa8278b436efde81f23fafdfc0c996ab92bdba2ffde78c6fd730a9e9ef75c97884845846e43f233f18c72cf37af3ff0b7d76d6f9e175cf1abc1a1e27f27978f6827fec2ff5c3dee093c4a2d98f8fe73bf8c3a28b263dd82ab2f1aec93ca4f1e38f986a936bb7e3772b0e6fd072efcdb5429b871d67363323b76b15984860edda45f8e4b3e2eebca1015b7aaa2fdc577df366170b494cd7ee0ffdd3475b5f4ebc3f51cf15dcecbf87e7fae7bdaeaccdf4db703e725f47119d6286014300a18058c023f200582cb245650ec7920c1451498a3f510b4416d8f6849da60366114a4ac76a16dd1b6bcf1ec1332e09c09bd33c41bdd6ed084f3b266bef4a1adbcb39902a2742d5efcbcaa47d1e67cb9be725497d4b6a3fb66e1b9e1d7ef4eafb37dfdddf5d70ced121553b2b74cdaa50f1b7b7c9cecd95014d7aea0df695d6a44b6ad8c6dadbeac1ed7e5b659b310d12f71a82bfd317cbea9622cf8cfa4fb55adbafaa5c71f4fdd16a6469e3373fe86ee43db8db8f1b9615716ad58387fdabfef780fb9f768ad6ae0a0f8438614248a6c98f582aa47d192a354256e6b41eb0e549f08285af46f7b3d6ad9ab8f1b14beafea5134eb1b61e1ff947648dd2e1c92eb928febbad6e3d9de132660d53daf4f1af98ff7ac6c0ef1bc6458f621f277d1ad6e0df39f51c0286014300a18057eb00ae85ac8510e91ffc11e565de2dfc792b4899aee54dfa22fdb5711971c93dca197842d49b7ae5c52b74a4141169e79ae59511181df215553be4717b2b111d0a64636acdc22bd0b8e3dde87ea67ea67ed6efc6597b346a0a45db03b3311356859e1b285eb8a23eb9e8146946fd4a56759e157ac19e5bd679e097f44536f3af7bb31137f73ce90be1db3bb0f1ed57df089c74e1a39d5357e01a245eba7ae19aa14c657d8eb5bd0ba053dd494a36eadb7ae2c2dab8761acea4c102358b78dea9b51a1f251b4cbba2a197fa5df17ed4bead4e73479afae260d19dfedbc58d12538ff0257dde8617aa38051c0286014300afc7ff6de06aca92bddfbbe25400c3108098a04d02d904283582852a91fb19c4c31d6327e4cf561acd34ea7f5ad73fab47d6be7ada773da4e3bb5d3b18fda6ba6a7cfd3399d736adba972598fb5c73aa2335c8e996af5418be307d5021a05a408444a0a3184e07bafbdf39dbd216810dadeebf2da597bed7bddeb5ebfb562feacfd4504462301945ddff6a49d360d4e9dba043db8c677cdda7c45313e85bfe169e07e750b871f7cec076c0df14aebf1a696c5d999b79b1e4409c90e65e9d528911c7d176b9b7b203b310e9a3e3db47357e73f2fcf56c5e1e9fa73e6cfa1e76733e2c65a9f79e619b19664e05b30153b1e58766ce7ebf80f5b7decb5752be74e9975efaa759bcf89fa37ac65977b767f2d5c336b78eb49231378be14d26efdf9af1d302931b7dc00eb42ee5d920d79fc83b9412cd39e22f10cd82ef49c7ae1a5b3ffb27e79eee217dfeab5afe6d793f94e04fb971a17e18909a1f1d77f2ececd478872448008100122400488c0e82330644932eaba30ad78ce9c897366f5f5e0dd3730264d8f8b9de068bb30409c285dd5852b9f5bbb4073ebcce2ec245c23fd8fc7dfde0bbdab17674e2a7ee88f2f8dfbebb9d87bffc78f50aa5ed8ff89b92115d720e3f0e2d19abd50df70f6caf21989d076e13c1cdbb9bfe1de859973f755bcfee1ce23909235d35032b97b5fe9caf503342d72c8b0b66a7d59db3f0e1d3979baa50326aa71d113baad6d70ec6d71ffdb2fbb203bb3ec5fde187fefa49973d3f82b5c7135573a99b7feb5e1c585990bd7ef4bdeb7e74c676c566e418afdefe59b036b8421a045b99917eb24e29168f7f1936ccec9c682f9f57bd64fa85a5b72dbf2dfbcf1cd938f7fcecee70f615c203ba003def88fbd2ece6da8e312e09d7688001120024480081081e125f0ed97a4a75a6c3335aa98e8b8b13ca96bfdb6af4e7ef0b1fba4b9283c943e8999c50b33d9c19ef6d3efbdf8087f55e9bb4b5e9cf4d1b38b734b57e6f2d52efcfd4fe5ebf088e1520f24ca9afe2f33aa3f78bc6946495a675323eeac5bf992a6e2b9e229c53f7bb298afe138bbcf2b85b191f092f9ecf9f605b9b7cd9d72db5ca1424fd3d13ffe8a3526ee7fe7faff327db4fcb649334ae682ab7df7efb673ab56e78c15942956126977efba959362363f549a3da374f90cbe0ddbe9237887119abaae3221cf52772f2a6f799f6757280cdca2bd08b79dcf48c523d12e5c6531f2227ae72f1f1dffda1f56cf9df1b3579febac12f70f12e352f89454fce2dc02fb427b448008100122400488c0a8223026e80ad9a0e0bc47858cff5678b727967893ff7bae302fec0a99a0adcbe5c212dcfa67fafafa8442cc0887fcb7c2a1d3a74fbff2ca2b4141ba77a72d5d3d6762cb7fbff57118cf25cdcaca1a3f5e8b8f303d76cc7bf1a8e0266bfee269f8c84c6be34ef340b2d617429661fe34adc27ec5ba776fc879719fd56039bc6b2a335da100bbf5d45e734048a2fe59a1c21e6c3a482359f3e7670236d1d8600eeef52035bd87a5b80d18cf10da95f28f97348cccb8787b4e192240048800112002c340a0a9a9293e3e3e2a2a0a6f8497c964b8c584bbd81466708b2a4b105176bb7dc3860db9b9b9688606b80d4ad1d1d1588287848c90176c047bdc8626a1392c670df3c93f8f0518039678e3114a84adb71033379ebe4392f4c66190072240048800112002448008dc44022449bdb099eca544048800112002448008100122400446900049d211844f4d1301224004880011200244800830022449691e100122400488001120024480088c300192a4233c00d43c1120024480081001224004880049529a0344800810012240048800112002234ce0dbff5c5237c0acc50f96a4c6426fafede2a9a37baff7214743190dc3532f197bbff8ef372bc27b58d4505c5f8fade1c1e78c19e074424c4cf71755af5798afc709d52102448008100122400488c04810f84e48d2f96bf111f793d86b8f84d40077ae74bf37dd5314f94f83e147a5a590ed1c2592d470e7dd0b4bf9a7ffe303f0b39d419274feaae78c539d9ffc723d09d5c8cf04f248048800112002448008dc3081ef80242d7cfd49a6479b8eeefee093eab1938b664f8f69bf612e833be876e2eb8ea0cf39b8e54db130af5ff993ff02c87ce98f2f96ba42a2ca9ff783b999d15d86f566d2a4376538a811224004880011200244604804be039254a9c04eb81ade787c1d2fb7f6560c09c08d19cb3cd5b3f065a39efc487dd66304e37bf0359bdea8bc91f4f6b1b76f8e16f9ec0d8b324480081001224004880011e0097c0724298c8d4515363eaf10425f01baea377f5c66c855a14673d98eeefadf8fafe7df660fb0f8a9d7eebfbb3025510e0e47578fcb7aea8395cfbc5bb8ea8d57cb277cf8da4efd230f14a725229f2bfff8d33dabdfc44cd6e2b5ebfe9f0553d01e93aba7c1fcde4a5c92c4f7c45f8d79eca5cdcb4ab3f180edc2e175e54f0db00a39807ff1380dabde7a7cc96d7c24d856cf57879f59f2d4b1c2c73e7c6dd1573bd63dfe26df54e1aa8a57cbe1f87be5cfbccb020a4d598586f1ca84b14ca66aa6ce2f044852407b037fb5ada87fb787f96ffdf9f9db12fb0effe7d34fbd3d3a2e960ded1a9510012240048800112002df1502df01496afe47bd2d3b3769e5bf5515ecab78e4576f7b87e6c1d73efad9dc492815ff7eb44537ab78c6e25fbc76e1d43315f58b5faa585b3a05355ec3e9537de32767a725c66927612de538952a6ecacf5e7c12c071e1f459756e76dcb871589e55fedae627e7cac0d1f08fbf5fec8a997c6bc1c4c9cc1e171e55b90b57e682ada9e1abb12953a6143ffed262f3afdcaad71b863723e55f2acee7fef9fedbd2e45f9d3d7ae2822d3e35235b13ad445fca7113e2548e710ab75ba57a822a4ec6c7ef6dc83fb3f6c5df2dce742f9bce5dfde25cfe58d36e58b66eafb87fa172617e4e22d692a52427f97ba33c11200244800810012240048683c0774092c2eb8ffc73ec5bff6bf16d93724b7ff6d99cd2dd6fff761dde059ff5d8ff403dda73766de94fd972a2e1a5bfad2f2d3495411dfc33ea5157d37f3eb98c2dff653db5effde5b8ccea97dab7ad2d7bdd9cb5f9b3f7b3a363d0e2c907981efdfbefee7ac6ff9a80c2b54295867dbf5bf9ab0ac85a5bf5fee20999d97e7ea4b281fea5e2ac38c64dc0b5d72b2776feee573bfd2e0ae80e741bb41b7810f7feebf5972fa427de7effeab969d147b7fd5b550b8c97cbbf3a85777f19c4fd0b1e8ead7f6ba7e6aeb4bebfed19f6fbc44242a602224004880011200244e07b47e0bb2049f132cef5ab97ac9fbfeaadd5e5b74d4a5bf8e4c63878e4975753e37034e3b27f5d55851757ba200ef59d6bacd260c852015ca8fac07d3a7a7cac7b09d133f447fff3c5d79986addffad65b895f9d0298cdce9cb7d7fcbbbf1ee58db1a2ab691fd3a398c6b30dae9b0e9a82fd4ffb91689c00e6bf1eb9905b32a574edfbc6c7dbcf1c3bf2e1bfafdbeb274d076d4830a83fb6b7fe18a42c5ec5823557ecf49d841fc47fc5fa00051e667364460488001120024480081081eb20f0dd90a47cc7f7bebd7aefdbab5efff067c569b3eefd51d601156ad09ea6d3c7cedb6270ad93a568fb459498599893bb4bf0ca4a2655d9bdf3eed4d3f4b95bb5ed7d97bf3a336b1a3b12a45b3dd68eee1e4f76002b7f9360ff59ab7e2a112754fcb2bc6ef1533fbdcf5090392977eec2dcb9b38a5ebc675dd0d30494314c19fbb730409e9df8f72571ffb42aea234439224004880011200244e02611f80e49529ed8db4ffd6dd9672bf1447cfde7e77a7e36236eacf599679ef1676958bb1877bbbfb6f28586b79e3406aa4d1904ea36a83fffb5032625e6961b40b8a5dfdf9b6cc8fc82fd4bc529b4726ce7ebf80f65f463afad5b3977caac7b57c1664180da85f8dff8ff4c4cd1fac7840ab5af37b00062853843cef28bf8dfebb918d7b0f841adfddd0a92a8412c6997081001224004880011883c81214baac88770831e0b9ffaf06543d321f39153b5576092a97c119e976f6ffb0a8ebdbbbfe1de859973f755bcfee1ce23909235d35032b97b5fe9f6cb2ec8ce2cfb9737c6df3b69e6dc3476d61c1f2f3a4010e6ad7f6d787161e6c2f5fb92f7ed39d3199b955b9062ff7bf9e6c02a414236f0e0407bc75e178ff3dfa16a7d59db3f0e1d3979baa50326aa517942b7b50d408d99ccd2c77f1363ca30944cc1de86a4386de14bcfbd14034dffb9ee6de154ffd9062b64a6cd7beab5af3ef97cd2ed3fc88ba959f9d13809ffbcbbac551fadff19dec3559262ff297f1d434823544004880011200244800810818811f8f64bd2af7bc7264e2a5eb8bc78a11bca9586fd2f3ec5ceb9af5bf992a6e2b9e229c53f7bb2983fe638bbef02ec5cff5fa68f96df366946c95c70b5effedd766ed5ea9cb18232452b9173e07bd7ad9c14b3f9a1d2ec19a5cb67f08e6ca78fe003a0d0d475d5b31ed9dd8b67ffe521cb93bcb9ff46c4bf789ce6abe7db17e4de3677ca6d7385fa3d4d47ffc8dfceffc93fe62cbf2dad64611ac6bf6fdbe745cb4ba3bd61000b234e9559ba30139fd57ac0234977feea8fc6e9cfcec89cbbfa49e6edca3f6ac07c56cabfd09c3033a203effcf2ef09e5890011200244800810012210290263ae5dbb36802fef5121e3bfedefefc78a58e24d58e29f1776711b9a5c2e1716e2d63fd3d7d72714624638e4bf150e9d3e7dfa95575e0909386bfee219935335e362a1e5d8de0a73c04d405986f9d3b40afb15ebdebdbe6786b24285fdd4de40d310bf810559f3e7678202ec8d0de663014d049a5de79e689c9055383f335d818d5a03822d34ccc7c78b36ec1ddafd4e582b5dadb036eef43dc055c23ff6216bfe83f3273bf6be5d11f9ae5e2721aa4604880011200244e0bb46a0a9a9293e3e3e2a2a6acc983132990cb7987017fb8919dca2b2127494dd6edfb061436e6e2e9aa1016e835274743496e0212123e4051bc11eb7a149680ecb59c37cf2cf6301c68025de78841261eb2dc4cc8da7ef8624bd710ee4810810012240048800112002379b0049522f71267b29110122400488001120024480081081112440927404e153d3448008100122400488001120028c0049529a0744800810012240048800112002234c8024e9080f00354f048800112002448008100122409294e600112002448008100122400488c0081320493ac20340cd130122400488001120024480089024a5394004880011200244800810012230c20448928ef00050f3448008100122400488001120022449690e100122400488001120024480088c300192a4233c00d43c1120024480081001224004880049529a0344800810012240048800112002234c8024e9080f00354f048800112002448008100122409294e600112002448008100122400488c0081320493ac20340cd130122400488001120024480089024a5394004880011200244800810012230c20448928ef00050f3448008100122400488001120022449690e100122400488001120024480088c300192a4233c00d43c1120024480081001224004880049529a0344800810012240048800112002234c8024e9080f00354f048800112002448008100122409294e600112002448008100122400488c0081320493ac20340cd130122400488001120024480089024a5394004880011200244800810012230c20448928ef00050f344800810012240048800112002d184601002ba05f0e02c38f82eeca91fc472d0c34fbc00b11761c3e600c308fa0ff07b833bbad225058aaeba8fab6a6ed091afba4657a44be8be585d7bc957c67252e50156e1c7c3cd3666badabe387c22a8990077be1d8dce903fd97ef178755d87af704472e21cb4c525b7ca3a1b0ed6584624a88835ca159464aaa1bf1fa2a27adb1a0e9e885477a4f9083cbfea4cca8cccf84e2f2e9920eb3c7eb02660a28c9ef9133054e17f5f02aad10e11200244600409d02ae960f0b5456032c11dbac1ec063d3e0fee2f83f2f9c17611f31fecf886f6b9342e599da2cb0eeab6aea8c4546ae0aecb75c9dd2585f90529cae0ca52e50176e1c7c34dcdd5e9a6ebb303aa0fb0a34acbd1e932d3d40398dc9c43e21cb8ece9d9badceca9372786a1b612fe7ce026e364d26563d2e972f591eb8e341f37cf84488d2f97832391a70b9e28a366fe048c5df8df97806ab44304880011184902b44a3a18fd6e27b3e03783990e76dc0120eb0b368aa0ff60d737b06f397fc6326e6c67435da08f94a9599c7a8c83335b2c810706dbd3149465274475371fab0af428551eec2ffc787a5d2eacdccf366125de3e7cf3b07c0edd489ac310bb33f4a66fa446f8f3c162def6e16900b571a951d71f49dce27c7c3c2f2bb8a14c87016838714e5deb0ffe9f6074cc9fe0b0c3ffbe04d7a47d22400488c0881120491a26fa9e30edaed76cb8fd0f352e8bb9d2125ac785275e01c2967b5e07ba92db53a1bff3d8ae6a6f119f912a0fb4627b438bc7bbf8af010838cd1aea1880370e561a6286c35726cdc1c6607bbb337c115c9fe721cd870e1c09b913275024bb23cec78fa7d630dce33bdcfeaf6b6886f67db9ae26a8121120024420c20448928607b457039bb682218b599fa98495cfbbabfd6223cc9f0189727038a0a70f4ebe0f6b36b3434b9f859f2f64e5985c3df0b77760ed7996f72666f0039059e1b5cf5999b8ffa5b07d357089cca0a70db6bf01bfdf03331e85d796c3a16d1033078c39ec90e533b8ef0996c1b4fe1db86b1ac8b0d12ef8f84df8cd0ea1586acb1519efb8256dbc523ee69acbd9d76fbf7caaa246b6627eae1cfaf0a23fe7e52fb6ec3eecaeabd172f2d8b1d1ecf7372e51a70550c640b7b5ee925bf1e9163d5892a2b8d6786cf7eeeae08b38a79bee488a81d6e3876b03e3082d8f403c7c137d4e59b1f1be3c5d1292707436eeafd86dd116af5870abedf4fe5d872dcc445b543e7f3ab47c5e7182edf5bbe28a4ccbf33935da77b7d7fd797bd5c04256a337dc5d949da04073acecb45a3edfb60f2fbad52f2c2f4a4f50f065dd174f1fae3c5c5754b642afb0b6382664a4286d8dc76baf4e9ea953bb6c961d1f547a9b188843541412f7e86511ff2c00bc1c37349e5372d1fe36c4dc3a403c45a54ba671c9726cb2dfd17ce6c82e732d0f6a5adfc553176453f233fc780e381f44e2617ca49258bfa4c6ab92f9f1cd93003e6effa13ca5c6573fdb949f953a0ec7d1e572f4f6db5b8f6fe3fd8bc57f45f01e237ce80d2b8a321551f6137f67b35dc2bf68bf70e289f1e4dd8af0179a93d8fa38dce8f757a2012a2602448008dc44022449c3835dfe2cb36bb2c0040e724cb0a916d66c85751f828943b508a74e42c214484b046d0a335bb111d618500b418d196c3170ebed3005cbfd24e98adfc21a235b6d7c6f03b4e7b32a22fe3bc1fc2cc4a102fe0c9aa3c158040ffc1a7adbe00b35c4c783e91156aba91ee4e9c0dd09eb96c2733b60d32e304c822e0b54b7c09c3b61e9336039015b24efcae2662f31e52533f5dade6a8f8e4f4e50462b15e0b075dbedb818aa54c7c72a63592b7c3218efd5abf9f5201404338d1c5fd87516b6ece7cfc46b53262ad851d5b8906b45b5b30b3915d82c1f1db6f0953c9b90f2c8c47316701d4e9e9c9d9f0c8e2eab4da64a48489f65d45b1a629531f2be58b7a2805885521e1315afc268f05a8aa43c43120e5857e755658232496732b57d50c96b554fb0fe9f9ae9a61fcde2a2c0656db1743a640913b4ca04f4a35bf2b02119657a7be3a5aea8c919a95cbeb1ccd56d8d962bd45c06ea5657bf2a3d7f26e276f5cb5429395a382848f73038f0ad8bfbdf557d493c9e58fc9b41a4bfb14ec9787aa6dfcf46cad16969b669a6a4a7eae7983a5b2bbb140ab95cae2be4f920cff102cfc99a3952f3413c1e7f820179897eb5498e57e83c09f017c2536a7cf5c672832e0105bfb5b5b55f919014af88e5e78344fc6e498a7f1e68a6972e9e951103fdcdc73fadee4999263e7feca2f361579b384f4b556d81498cff09ef5f2e01bdc49d500ed7fffd0df64dfb448008108111204092346ce83b5e658b8ef35e808d65a0bb0d6668991e7535c1634be0280a92a7616b39ef2b0b1ee2f5e8a639b0c5dff93cb6e3b80a0f6d84c7d0a007363dccf4e20c5e92e2a120ff4f24f37ab402566e641597fe167e6984e58fc233e7d82ea6ca4df0dc56d03d0b5b97425636e81e677ab4e70cfcd34fd8d1792fc34613dcb308b6f0d5595160d214cd657ad47eb2f2dd8316fc999dfdd0b23c361b3a6a3eaec08528cd9255cb26f8d538fde9fece0485367f26173fa6f9e4e1061bc865b26f5a793d8a6697cc476ae3a68eef3f7fd653e2a96b34e8e5e03c7bb0d253e0fe0c2e8f583cfc5f0500d6ba43dbaa4e80c6f0f032bd5293045f04b6df1bb80bd05a6bfe081705b99255a66ca56612809424d5cc2a607ad472e86d7fd5aa2d5e827ad4d17ef2fded07996b7de92a4346eab4a22e1bdb6b3fbeef42f2bcc21485bdf1d0279733971526c57ad47e981cb4c5d344fd6bab3f2d148b07b438c7fc92b7bffcc2ae483ccae22cd4a3cef6ca77b65bb01e675c65d2a5de920387dc4e82784acf07713e7ea1046425fbb5d72d01ddd6def8a5e689c76b304f4f79f0f86a5533518ff6771dfb640b5bd6f7ce7f908a9f639efa9c8905a6bb677232709e3bb4731fea45e1afd090f9a32d568a8f97a75f413c41533c5d94ff097e3a797ae1fb94e2707ddf5f9f5fca1101224004468cc0f75192aefdd3df1667f2a7d4ddd81dbbd7deb5ce3ce018d4bce73e097ea01a1c65a09e0277a5b20a7f799fe9514ce33d1203e6009e696ffb3c508ff236b85c139f0f8f61fe0a3c5f0a7bf8426113eafff689b8a0067ffed86db4630f3c6d04f958f76e5325d3a398c6bb0b208f8f272e07cc07d8897ba66701c686ac597acc359327e1319ba586e9514c72195be4f42515fab8e6db858e4b751d9740a52fc2b2afcf9f087e90132a38b3bf4273d7d41495e91264f6e6e3fb2d7ebe50008494472c1e2dbb54b1bfab8ee9514cfc38f707341ebc83f68e96e34c8f62b2345d716527c525e80082c5b5bbdee4783c33df7da93a50b24e4dc1f5b6fe962fcfb8ad6abfbc323b23293a4686e1f45b8f1eb6a4de87ebe2ddb5bb4fc867df8236c2f5b8e17390f2af04f178dc61887c48c4131fcf66704cd2dd0f3fcc42068c1cc64463994b94a7f47c185a3cd2fd12091d8b069e27a13cb18ae8f8e64f8dc7a9d1d970dc7d99896ffe4bc78fd3489e321317bac15e5bf5aed9333f44fde7b0474b88cc072c15e509c952fcaf87039eae18eaf757bc192a2502448008dc4402df4749fad7ed1ff44e1de783dc6b359b7d7be2b9b31e01a2cb622aa71ed7dc50b4e04fb8c77c022f01718f2f0651aeacd0052e19c8e2a16001ecf1d3a4a1fea3f172cd3eb8e23ded1ec77ca2a815d23721b7434d8c67479a4ec1399b27aa68b870ca6d1ff2a15231b1e6b075b98fc4320922e8a410db9002affc0e391258a02bc96777355587ded514521ed9785cbd4eff48500404a75826c105a98a195bfb576e038d468917165adb3c7a23b81ee00d5398423cca98bf6b4ebbf7346b4cd41841d4b376f8353e5c5ab5b701f8c113e123c541d2bf443cc171fbfa2b1e4f94428e13c0d9d5da6ced95618ea52867672b9e94c6dc203cfdba24c5877728b291ec5790ad277e293ebcb9084f2cc70e878e6f271fa8a7a7ecca68f7fc1f80273ac2ab46fba36451724d8a0eeadc7344d47f9f4c25311f58a4a13c354a29fecc3e340dc821d43cb0c47fbc028fd01e11200244600409884aa7118ce766347d6ce7dbc786dc4eb7bbc613a52c73a5156279edf9b52041e6c19abbdd0675e7f1225248cc053c517fc05de6fbe83909cf9f818de5b0142f0ced810d5e8b10ff8d9720270beef929ecd9ccaaebf46cedd3e1d1a4a1e376b4011e2902b915d63ced6b6ea01cfb81952b79210b5ad3ec0cdc0f96a4210feb712fa57acfa2fafbe7f405f1ce9a133e2dc7ee329141eb49b1bb9a44ca23190fbb272824f1025490aa5cd95c1de2f45b3d7577a9a03893ad81dabff1d50eea57c715870b548a89d339f05ffa6db96cd327a9b5b714401d5ef680ab79fcb5b54e97ff4a33a048c53bd9d88625093ee21ca4fc3b25e241ff03f6978fc02f9efe0eab13526364f6caca4afe9867c35f0020ca132d44e683743c1e8ff8bc7cdf4493ec9764fce27cd0b9044fa1d990f19531ede9bc2afc69c72d9a95897e595803c7ef6cfd4b55fb3cbc045b6f5ce4727e7cd02278f78eaa77feb47c2d3e1f84f917cab3a3d9ea2c14e3ef690082e621ff575124bfbfde86284304880011182102a1d266840219e5cdce78007e790fe88b21670238eae1e77f80a5b700e4c0a27f85f13f843b0dc279727e15f300ecab87b22cd85805957f86ce5898763bd8cdf0737e9d5536160e6c84df4c60178696af876ffea7fbbc7fa87f14b64bb3e0ce47609d0a1a6261c53246a86a174076002a3c1128a4a31ba1fe87906580edbf871d9f815607f38cd05d09e5af7a2c023e2d2d1d2ebd5a9551b8a874923c8553f33727f18f78f299c99429c61223f45aab0ef2320baf89ecb0833a7eea1c93edcc2595367392ac659b704bbea6e87e5321ae0b65aa9cdb85df69cf5d2666dfcf36ef59a23c62f1b823f5f422704148ad9b552abb056f374a606bc4ee84d24d915a5062c88e9b98969ea4c43552dfc3aa42fb05967fd45b8dd9ea6cd343e3eabe6cbb2ad34cd4aafa2c15bbeaeed0cf54a5cf58629437586539d37351da769e3bdb8b97b186aea962cb0af75d5f417ca438d499c5fd5bc012231a0fff5797687fc5e3b11f3c67cdc956730f952f3c55db082a4d1a5272d6bdf3a90793f019c853743e48f0f13cba014f2da852715ec9a0ebd8fe6ae97eb1d5d9d0f8a5f880c4bc4227a2e36bd16bfa21499d33af6c6c8e2a9d8b174e7730152f35be5fb1b5e3a818b01c7cd7ac7cd8909192575ad6fbc9ae6671ff75d0273a1f2cfcaa337a72272fcf4b12fcb7999965c83c94e4e0718c9f43f8fefad5a22c1120024460a408448d54c3dfb276b3f006f632a647db4ec1933f66c1ef781a6abe025922180d206f834d6fe20d4b30963f7dffd28fa112af29c4fbe2cba17c294ce340c1fff2e012a78b5fe6dcf12ff026fed2c8e091f590c59308f50f9be1f91de09083e90178ac1c1265607e0f5ec2873af1eb3d573d6b6ddd7ca68fdf96bf00962e7603fe9a35505e062932a8b7f0dec5367555472d9dece2b88c0cb5c261a93d6707e01ff1e43676b15ff224f6ca1d7d26e771505b55dd6c73e12de43367cdd273c90abfbf68849914c57eb7593295e4c9c185773509cbc842e100e510b17858e07decb1e67cea65c4d9b2dc25f399966e8889cfc8ce4888e9ae3b5987fdc5dbe0d18875549d9eadcf463deaec6e3db27b1b7f55a9db4150bfb0b46effb62375ed2e90a7eaf2f2f3f4e9c9098a68ec76cd0755b536972c59973f6b661e4afc4ecbf18afde8a91f5c6c69cc8581f8964cfb936788f309e580ebe77c0c52fe25e291ecaf783c18e1fe6d558d9d0e79427ae1ac598579d9c9aa285b07ce10099e3c1ed1f920c187af207c01e46a9c5719baa96a5626d12fa9f843e689c0476abe6103e2e35b5b79bac506518ad40c2e5ed67df6d0915627c8a29932958a9f3d525558dfadddb7f388c50951a985f34bf025a9e2f347a25fd23c25f833469882e76108871bfcfe0aadd09608100122308204c65cbbe6fb9d0c8dc37b54c8f86ffbf925352cf1262cf1cf0bbbb80d4d2e7c100eca043e79337d7d7d421e33c221ffad70e8f4e9d3afbcf24a689cc35e8297908e4f056886a3f5016dcd5b00713db0c77bfeddff60162cd001ae955dac0baee56f25e4a5fca3625d3a9d995cdce15e4f0dad1b548221a52ae04a8744541e6b8d166f59027cbaa42ad662b180deb4dac0755b8ebccf3f97d16324fea9e5740971313d9db5964b3e038dae4097e0aaab763fb4667af1ec3847f3e11a8bcf82cf49956324918d27a85d611723c7c7a95aeb82df67afd168e4725ce4b55df23c67d55b3da85fde725cb9d2e1db2563c0d969b5f86a69747abcd31a82e0f8d572672539f0c7359c4e2d16276b54d2bf483c52fd0d8dc75b824d27c7c738ed3d7575166fe1c019d1f920c147ca9378bfa4e20fe533084f89f1659d8d71b6d65982fe70e2a314e12919bd84ff01c74bdc9914ffe0797853be2fe22152291120021125d0d4d4141f1f8f0f591e33668c4c26c32d26fe99cb80196c0a95154a204c76bb7dc3860db9b9b9688606b80d4ad1d1d1588287848c90176c047bdc8626a1392c670df3c93f8f05180396e056c8fb6fbd8598b9f14492f4c6197e2b3d708672935ed9da6869b9dcad484ce63252d8a39aaafe4378cce8cdefd2688be7e613a0168940f804e8fb123e2bb22402a39c004952ef00f99d79f59651e67b40c0d6de6a73ea92d3f11fdf5b97bdf96cf548e9518c60b4c5f33d9802d4c56f3101fabe7c8b078f4227024440820049520930dff5e28edafd1fd4eec7f3f66a3c93edecaef33f073f127d1f6df18c04036a9308844b80be2fe192223b224004be3d0448927e7bc66a1822edb8247a15dd30b4149ecbd1164f7851931511181902f47d1919eed42a112002c34340b88f73787c9357224004880011200244800810012210060192a46140221322400488001120024480081081e12440927430baba05b0ee65589035985d18c79f78017ef1d360bb08fa0f763dacfb33e0572fc343f88aaaeb4bbad225cb17190baeafb2782d8daea8b848af0d3928551e60187e3cdc6ca3b1787a683301ee7c3b1a9dc1682cd209efa9f4158f402e2c0e83c6a52d2e31ce2ee002ecb8a245cb979716e9020a07dd11e2e122c6673a1f5930e8d1c37f5020644004880011f87e1320493ad8f86b8bc064823b86f8732be2751edc5f06e5f3838f44cc7fb0e3e1dd9f770f949960e1f54a522e8d4b56a7e003d303a3d41595984a0d5c6061987b25779714e617a4785f67e5a92655ee39ce7f861f0f373557a79baecf0ea83ec08e2a2d47a7cb4ce39f0a3f80d9f01f0a8bc3a06170d9d3b375b9d953fd0db9c95353d4ea0c5d9a7fe1a079773c0991e2c3e5606479f8a8618c53170000400049444154d8c0346af80786457b448008100122104c806e6f0a2612bcdfcdbf959adf041f1aeabe035fd884ef120a4c11f41fe87898f778227dd7cbc572fe8c65dcd8ce86bac02853a66671ea310ece8c0fef1f52d2149465274475371fab0af428551eec3cfc787a5dfc1b9f3c6f870a7614b2cfdbfbbdd43dc4e0a61484cb61f06044ba6f397deadcf8ccab17ce0e5edb63e18be7b282f3bc14c973f03a3fd9abb8aef507cfc8d1c1ff3abb44d58800112002df27022449c31c6d7c5be8b0a6e1f61fe9e02ff1af30bd7eaf1673a525b436bed40b0bc3967b5e07ba92db53a1bfd3f76e7af711a9726f456f6668f1784f2ee06962b117ff78ddb20c6f1cac94022c867d277c0e8385626383e3edbedbbaa376df2eff97b00ee604fce2d11a869bcf70fb1fb4b76440048800112002e11020491a0e257cb1bc06366d05037f45e9994a58f9bcbbda2f36c2fc1990280787037afae0e4fbb066333bb4f459f8f942568ec9d5037f7b07d69e67796f62063f0099155efb9c9589fb5f0adb570397c80c7ada60fb1bf0fb3d30e351786d391cda063173c098c30e593e83fb9e60194cebdf81bba601be71ddd5051fbf09bfd921144b6e43e3572c82c47360bb150a26c067efc1d7b3c094052d66287b9a3959fd322c9c0913e341e67999bda46b76802b32de714bda78a57ccc3597b3afdf7ef954458d6cc5fc5c39f4f54394f3f2175b761f763bc047a4ca63c74633fd1097a8c34b35f179a9ddd63acfab3a758b1e2c49515c6b3cb67b77b5df6b4cf9cad34d7724c540ebf1c341b228b43c02f1f02df63965c5c6fbf2744948c1d1d9b8bf62b7455bbc62c1adb6d3fb771db630136d51f9fce9d0f279c509b6d7ef8a2b322dcfe7d468dfdd5ef7e7ed55030b598dde70775176828287dcefb45a3edfb6af0640bfb0bc283d01df510bfdceee8ba70f571eae2b2a5ba157585b1c13325294b6c6e3b55727cfd4a95d36cb8e0f2abd4d8472d0cf36e567a58e43ff2e97a3b7dfde7afc7cccad03f8f171e35f2a27e86b6d71d9fcdc24f68a777ccf5d1458bf38e0ee3b5e5a3a4b9f12cfe2c4e4b435eef960b7ff9885c623c52734ce6dfc0b6fc5f85c119ac3b7b9b2a437ac28ca5444d94ffc9db52ce15f84273f70d3fa2e9eba209b929fe137bebcd7a2d225d3b864394ed27e47f39923bbcc41338e37a20d1120024480085c170192a4e1612b7f96d935596002073926d8540b6bb6c2ba0fc1c4a15a84532721610aa42582368599add8086b0ca855a0c60cb618b8f5769882e57e9274c56f618d91ad06beb701daf3591511ff9d607e16e200ce7c06cdd1602c82077e0dbd6df0851ae2e3c1f408abd5540ff274e0ee84754be1b91db069171826419705aa5b60ce9db0f419b09c802df5cc523489c67f351eb2307817385c70e703ac1e6652f26106c05def40f934d6af3327616c2a701344bd7a0bb9d94b4c79c94c1db7b7daa3e3931394d14a05386cdd763b2e862ad5f1b1ca58afb1c178af5ecdaf67a1909d69e4f8035d67618bf046296dca44053baa1a1772ada8767621a7029be523410b7a3d869447269eb34c83c993b3f393c1d165b5c9540909e9b38c7a4b43ac3246de17eb564410ab50ca63a2e255180e5eab9194674842705d9d579509ca249dc9d4f64125af55bdd1fa6534d34d3f9ac54581cbda62e974c81226689509e847b7e4614332caf4f6c64b5d51933352b97c6399abdb1a2d57a8b90cd4a8ae7e557afe4cc4edea97a95272b470509081211cf4c672832e01b5a2b5b5b55f919014af888d57c53a25fd344f0d1e4777b00e07be7019f52844c913e2950a4fdf4b8af353e265b6f6e6afae38c6c6ab93e2a27cc38c3543e291e2231a273a90e0e396a4289735d34b17cfca8881fee6e39f56f7a4e09415e36f17e5b9ab4da190cbe5ba427ebc707cc7bbc7b7aab6c0743f9b698e4e4bb34d33253d553fc7d4d95a79c2abfcfd8690b24480081001223074022449c366b6e355b6e838ef05d85806badb608696e95157133cb6048ea260781ab696f3beb2e0215e8f6e9a035bfc9dcf633b8eabf0d046780c0d7a60d3c34c2fcee025291e0af2ff4432af472b60e5465671e96fe1974658fe283c738eed62aadc04cf6d05ddb3b07529646583ee71a6477bcec03ffd841d9df7326c34c13d8b600b5f9d1505a6194f8bc72fcc88f7d642debf4241227cb6094e97c2233a487a94d7a357e0e95238e0dfdf40b7de3d4dd15ca647ed272bdf3d68419930fba16579cc7747cdc715b8e0a759b26a99bfa43dfde9fece0485367f26173fa6f9e4e1061bc865b26f5aebdcfe2e998fd4c64d1ddf7ffeaca7c4d390d1a09783f3ecc14a4f81fb33b83c62f1f07f750058eb0e6dab3a011ac3c3cbf44a4d127c11d87ec8750dadb5e68f70518d2b5965ca566a2601484952cdac02a6472d87def657addae225a8471ded27dfdf7e90b5a42f5d65c8489d56d465637bedc7f75d489e5798a2b0371efae472e6b2c2a4588f0c0ce6a09d3d13f5687fd7b14fb6b0e566efb8f00bb2227e9412e30870a9661f1b494c9ad90f2fcbe373b8e11294e8cbfe55eda1aa5a11b9161c8fa75a301fad4a3c4e10e783ed324f7dcec402d3dd33391938cf1ddab90ff5a2f0572240907f6db15294a776af5bda068fafa6783aea51677be53bdb2dd810675c65d2a5de920327f8e1606d53220244800810811b22f07d94a46bfff4b7c599fc2975373ac7eeb577ad330fc8b1e63df749f003d5e02803f514b82b9555f8cbfb4c8f621aef91003007f04c7bdbe7817a94b7c1e5a0f87c780cf357e0f952d8c3170a9b50ffb74f644b957ffed86db4630f3c6d04f958f76e5325d3a398c6bb0b208f8f272e07cc07d8897ba66701c6f26b8a159f4256407fe1e93950c44b6191f8a3c1550fbf3f007ffa3576031edf0abfb887b9cab98d6dcdef303d8ac9d75f7e3764a3993c09dbb6596a981ec5249745f19f9e8d0a63bce6d9c1cf8e4b751d9740a52fc2fcd7e74fd4a25a0a4c27ccfe0acd7d4c5354a64b90d99b8fefb704588796472c1e2d6047fabbea981ec5c473c575d30112da3b5a8e333d8ac9d274c5959d1497a0030816d76e1793d919efee4bd58192756a0aae6bf6b77c79c66d55fbe595d91949d131320ca7df7af4b025f53e2356abdd7d423efb16b411aec70de5c04d4dc1903b1b8ebb2f7ff08d8bb89f6b49038f231f8ecf09ee5a1a1a3b933312748665997776b735379daade5fe791a6a1f16005513ef953e325e214e7c3e2c06190a7ccc48562b0d756bd6bf6f015f59fc31ecd20c2134bc5c737399e7dc36392ee7ef861861c903c8c89f67eeb59fb94880011200244e046087c1f25e95fb77fd03b759c8f5aafd56cf6ed89e7ce7a04822e8ba9907a5c134351813f511ef309bc04c43dbe1844b9b24217b864208b878205b0c74f9386fa8fc6cb29fbe08af7b47b1cf389a25648dff478729e4fbcbe1353d3293867f344150d174eb1c26def43867f7f3b98ac64da4f2c7ea667856664e0f04809b44c5231fb4b1ea9a8f4f497958a24958a893587adcb7d2c96fd840b3a49c43aa828dc1f7a5d493ebbaba97a5775a00391f2c8c6e3ea75fab788222638c532092e4855ccd8dabf721b6834b886e8b2b679f452703d109eab19e251c6fc5d73dabd231213354610f5ac1d7e4d169756ed6d007ef0443808edf9ae04567ac745dc8f2c6ec8e378625f45bb7e76e1342e45ad4ae6b293b9c96955eff2d75f88c7830d87f2e9e44188c429c187f50b1de155a3fd51b228b9264507756ec6a2fefb64389f4579324fa1e3ab51ca71023bbb5a9badbd9ea8a29c9dadcc9a12112002448008448280a8748a84e351ece3d8ceb78f0d39bc6e778d274a59e64a2bc4f2daf36b4122cc833577bb0deacee3c59690980b78a25e5850741fe03f7a4ec2f3676063392cc50b437b6083d722c47fe325c8c9827b7e0a7b36b39a3a3dd38a0e8f260d1db7a30df04811c8adb086bf0f896fcdbdd9f107ff3d775e502ea1f1fb9b06b4c2ef4c40a18c6906fca2c4df502ccf04825cc90b65d09a6667e07eb0240d7936927b2935e4ac37f3cfe90be29d35277c5a8edd252383d693627735899447329e28e62c38f1025490aa5cd95c1d0e97dfeaa9bb4b05c5996c0dd4fe8daf7250bf3aaee0b5bb2ac5c4e91cf82ffdb65cb6e993d4da5b0aa0ae86d5d5f0d7d63a5dfe2bcd802215ef94631b96c4f9605828adae0a7fd2708b66658a8c4b809f30b8319701e952ed41fc8751169beecee71226e714415db5783cee7a217c644c7b8ac429c1c7edc6d9fa97aaf6797809b3deb8c8e5fcf8a0c55deea1e2e5dff2b5384f61fc42c7b7a3d9ea2c4c8d91d92b2b2b3d3ee993081001224004224920407444d2f177ccd78c07e097f780be18722680a31e7efe07587a0b9ecc8645ff0ae37f08771a84f3e4fcf2e201d8570f6559b0b10a2aff0c9db130ed76b09be1e7fc3aab6c2c1cd808bf99c02e0c2d5f0fdffc4ff779ff50ff286c9766c19d8fc03a1534c4c28a658c68d52e80ec00b478a25148473742fd0fd99d49db7f0f3b3e03ad0ee619a1bb12ca5ff558047e9eb92c113f9a89cd8a2febd9adf7c64760fd6d70fb5d90c84b1b8f420e74cdf62c2d1d2ebd5a9551b8a874923c8553f33727f18f78f2d9ca9429c61223f45aab0ef2320baf89ecb0833a7eea1c93edcc2595367392ac659b704bbea6e87e5321ae6b65aa9cdb059de1b94bc6ec931dbc6789f288c5e38ed4d30bbf35492c52eb6695ca6ec1db8d12d8daa23ba13055a4169418b2e326a6a52729718dd4f7b0aad07e81e51ff55663b63adbf4d0b8ba2fdbaeca3413b5aa3e4bc5aeba3bf43355e9339618e50d5659cef45c94b69de7cef6e265acfcf2a0a735cfa7c27dd757101f4bfb37fd90a4ce995736364795cec5c7f0f66eedccd46750727674b874838c634015cef0b029a7bbe562636babad0794fc43039c3ddddebb9a82e2c1baa27c2c7a8d449c527cbe6233322a062c07df352b1f3664a4e49596f57eb2ab59dc7f1df489f2b400f2f44bdef1bd74f09c35275bcd3d54bef0546d23a8346938caceba77b699fdac294b048800112002d74f40e447e8fa9d7d876b66e10dec654c8fb69d82277fcc3abae369a8f90a6489603480bc0d36bd89372cc158fe74f64b3f864abce60fef8b2f87f2a5308d0305ffcb8602cec58bb81dff026fe22f990c1e590f593cb550ffb0199edf010e39981e80c7ca990434bf072fe1439df8f5a4ab9eb5b06e3ed3c76fcb5f004b17bb017fcd1a282f831419d45b78ef621bc9f8f15efbabac429fc3779d00ae6f5e781ecc16d629a31112bb6047959853bfb2baaaa3964e76715f46865ae1b0d49eb3a3d4f59b6e2ea64492f0fd4d3a7d26e7a9575b55dd6c73e12de43367cdd273c90a3f6d2c548de295309a9b4af2e4e0c2bb9a84656a8f03c97288583c2cf03ef658763ef5b211edc7e5de4be6332ddd10139f919d9110d35d77b20efb8bb7c1a311eba83a3d5b9f8d7ad4d9dd7a64f736feaa52b783a07e6169ddfe6d47eada5d204fd5e5e5e7e9d3931314d1d8ed9a0faa6a6d2e59b22e7fd6cc3c94f89d96e315fbd1533fb8d8d29e0b03f12d99f627cf10e703b595a75b6c10a548cde0e265dd670f1d6975822c1a95a9b81fe80c1e475ccff71b46772fb08fee6469b7765f4b48e1f2f2710c67ea9255ceaee6eaaa5aa9f1c25ae27c24e394e2034e7424acbbd7eedb79c4e284a8d4c2f9256a09ff923c25c61760ffb6aac64e873c21bd70d6acc2bcec645594ad03673825224004880011880c8131d7aef97ec7425d7a8f0a19ff2d3e8b10edb1c49bb0c43f2fece23634b9f04135f833ce276fa6afaf4fc8634638e4bf150e9d3e7dfa95575e098d73d84bf012d2f1a900cd70b43ea0ad790b20ae07f678cfbffb1fcc82053ac0b5ac8b75c1b5fcad84bc947f54ac4ba733938b3bdceba9a175834a30a454055ce990882ad07aa0f8032d853d660f0157c18a59b1328d166f59c22da78ab5582ca037ad3670dd9623eff3cf9594aa24946b395d425c4c4f67ade592cf50a32bd025b8eaaadd0fdd995e3c3bced17cb8c6e2b3e07352e5118f27a85d611723c7c7a95aebbcf7f3b8ad341a8d5c8e8bbcb64b9ee7ac7aab07f5cb5b8e0475f876cc1870765a2dbe5a1a9d1eef148720387eb5dc59490efc710da74b8e71b6d65982047da81fa104edd562fd128e6a67dff7c3bc246b6dd536ef2d451aad4e9d1083c1f7b81b19241e093e03c629ca47bc07d2fcc3e5e9f5cb428a8f71da7beaea2cde42ca1001224004ae9b405353537c7c3c3ef479cc983132990cb798f867400366d02d2a2b944098f0b97b1b366cc8cdcd453334c06d508a8e8ec6123c246484bc6023d8e3363409cd61396b984ffe792cc018b004b742de7feb2dc4cc8d2792a437ce903c8810e00ce526bdb2b5d1d272b95b9198cc65e08ddeceb355ff213c6654a4c230178db67886b9bb37c1bdd6609a2eb375d8651a5d36a794396afffb1db3df9f103721026a8208100122f01d204092d43b887e6746bd65942102374cc0d6de6a73ea92d3f11fefcb656f3e8b4f03ba61bfd7eb60b4c573bdfd183df562274de6d4511c1f90abb5f608e9d1d13336140911200244e0db488024e9b771d4be053177d4eeffa0763f9eb757e3996c67779dff39f891087fb4c533120c22dba6a5ea934ab5320e47b735e44285c8b644de880011200244e0fb408024e9f7619447ac8f1d97c2bd5af1e68438dae2b939bd1ea65608e6308125b74480081081ef2781d07b67bf9f1ca8d74480081001224004880011200223468024e988a1a7868900112002448008100122400404022449079b09ba05b0ee65589035985d18c79f78017ef1d360bb08fa0f763d1cfb0b60f3565817d20bd1a644fbebb61c8a1f51e78314ea4a972c5f642c18c46a488735baa2e222bd36a48e54798061f8f170b38dc6e2e9a1cd04b8f3ed687406a3b14827bc67d3573c02b9b0380c35aef0b90dd57388bd103f17319ed38b4b8cb30b820766f48c570800b18221f017efafdbe910fc88853168d970fb1f340032200244200204e85ad2c1206a8bc06402e721d813f844d2c1ea851c9f07f79781ac1e366c0e381431ff015e6f7467f50b30d5096b43defc34af08a665c1b468782eb01722ed49f457b094f223d5ae88ff018bb8342e591d959cadabaaf1bfcb5f57549299e83ab38f3df47fa8a9e4ee92ec04a8eba8f67fd03d3a912a0ff01f7e3cdcd45c9d0e26f41f3e11de13955469393a5d57ffc5eae067a106b47f1376040ee7c6a6197e98dcdd7cecfd5dd57ca3dc92874d49b6da73d1d9ba7859ebc9ca8f0e5af872edc29fdc9baeeceb72c6badf201510a2f36ce57fb0f7a94a700bb08dd08e7b1c0fd76546862797333d5b1d65bd78b026e0e1afa366bcfcb1497e2f86c05fa2bf4233127e24dbf50f2e9cfc70fb0f2706b2210244e0860990241d0c61377b350ef09bc14c073beec01736e1bb7e025304fd073abea1bdbb4a212b1ae6bd0a412f01387000cc93c0f2d7b09c8bf657a829e547aaddb0daf333b29c3f631937b6b3c15f8fe2e194a9599c7a8c8333e3c3fb8794340565d90951a8b4aa023d4a95073b0f3f9e5e17ffc627cfdba1821d85ecf3f6c24b8b428eddbc022f872f9d53320094a9fa624df5615e8bc9f8333155a71a336771c9fa19ba831644a82d2e4a574639ad175b1c6a5044f5f5835c15af8c8972d83abb5df8962fc737fcfbc840825bc43be68dbfeab282f3bc04ea065b61afeebad61ffc3fc7e818afa0ae497e2f86c25fbcbf424b127e24db0d8a6fd0dde1f63f68006440048840240890240d9322be2d7458d370fb1f62f07df8732aaa8a0ec09a20953a44cf6e73093f92ed0eb5158bb9d2125a075f1a8685a21d0b35f62bd195dc9e0afd9dbe77d3bb8f4995fb55756787168ff77a1a3ced1bb0c616ead8fd7acf60e52366387c657e1c664fe19b51dc6a987df8a383be264f5436e857e912920a8dbaba2ae7ccdc1400c7994fff7ad0b3165cbce4a1fce4a82f2b2b0e0674589c9bcf6d64727ef16b0d3cfc61e439dcfeaf0389f4f72252fcc5fd48b73bd44e0cb7ffa1c643f64480085c0f0192a4e151ebd5c0a6ad60c862d6672a61e5f3ee6abfd808f36740a21c1c0ee8e98393efc39acdecd0d267e1e70b593926570ffced1d587b9ee5bd8919fc00645678ed735626ee7f296c5f0d5c2233e86983ed6fc0eff7c08c47e1b5e570681bc4cc01630e3b64f90cee7b826530ad7f07ee9a06f8467457177cfc26fc6687502cbe9df7283cf52348e3fda345cb6750f604e866c078258ce5df259fb18055c43788d6ef81f18fc36bf7a18cc0955e38bd131e7f23c0e710fa6b8667c4fc48b58b4b6ad2892b32de714bda78a57ccc3597b3afdf7ef954458d6cc5fc5c39e0ba5b94f3f2175b761f76d7c647a4ca63c746333d1097a8c34b35f179a9ddd63acfab3a758b1e2c49515c6b3cb67b77b5472579da9d6eba2329065a8f1f0e3a651f5a1e8178f846fb9cb262e37d79ba241c064767e3fe8add166df18a05b7da4eefdf75d8c24cb445e5f3a743cbe71527d85ebf2baec8b43c9f53a37d777bdd9fb75705e83a661290347ac3dd45d9090a7e94fb9d56cbe7dbf6d500e8179617a527e03b70a1dfd97df1f4e1cac37545652bf40a6b8b6342468ad2d678bcf6eae4993ab5cb66d9f141a5b7097f0e9c47f0cb936f317007fdaf90a83a5ccf99b213320a0dd0872f45b5b77ce1d5a3d822be038f6d551e0d8efd151bc781e3292a5d328d4b96a3a77e47f39923bbccfc8871458b66e953e259bf30396d8d7b3ed8ed3fc6fef10b36523cf5b34df959a9e3909bcbe5e8edb7b71edfc6bf20578ce715c115befd9525bd614551a622ca7ee2efac6509ff22fcf9819ed677f1d405d994fc0cbff9c07b15ef2f7f486423ca41ea7b2117e72fb81d4a7f2dbab9d7f17d14091f8b22f0fdf2ce5af116a89408108191244092343cfae5cf32bb260b4ce020c7049b6a610ddee5f3219838548b70ea24244c61da4e8b6b3f002b36c21a03536f3566b0c5c0adb7c3142cf793a42b7e0b6b8c6cb5eebd0dd09ecfaa88f8ef04f3b34c0e9ef90c9aa3c158040ffc1a7adbe00b35c4c783e91156aba91ee4e9c0dd09eb96c2733b60d32e304c822e0b54b7c09c3b61e9336039015ba42f817dfc2790268733d560e982b44cd0f093e1e57f832c5ea9a0ffc77ecd5ac1b40b608b0dac56c0eb0eb2d260c238a1d8bd1d527f1b92c5fd48b5fbd29e80b6fc76b8d94b4c79c94c7db7b7daa3e3931394d14a05386cdd763b2e862ad5f1b1ca58afb9c178af5ecd440f266ea691e3335d67618bf046296dca44053baa1aa7e48ff86db4b30b3915d82c1f095ad07b24a43c32f19c055cc8952767e72783a3cb6a93a91212d26719f5968658658cbc2fd6ad702056a194c744c5a382636392946748c209d7d5795599a04cd2994c6d1f54f25ad51bad5f4633ddf4a3595c14b8ac2d964e872c61825699807e744b1e36a052ec6e6fbcd41535392395cb3796b9baadd172859acb408deaea57a5e7cf44dcae7e992a25470b6e4119cc814d1ebbcdae5029747718cc16bfe967d97fa695cb4b4ed0ebd0c456fba9e7af05bfd87c598743741c63a5e3e9997e3f1b2947a7a5d9a699929eaa9f63ea6cad3cd151529c9f122fb3b5377f75c531365e9d1417e59b16d85e70fc923cf5c672832e0135adb5b5b55f919014af88e5f94bf0744b525c6ed54c2f5d3c2b2306fa9b8f7f5add93324d7cbceca2fc77b5291472b95c57c88f2fce87f1eef950555b6012efaf8f61604e9483e4f7e284387f7439b4fe5e19a7bd8eef6360e4c25e64be5f23f80639b14e5119112002fe044892fad31830bfe355b6e838ef05d85806badb608696e95157133cb6048ee20ffad3b0b59caf9f050ff17a74d31cd8e2ef701edb715c858736c26368d0039b1e667a71062f49f15090ff2792793d5a012b37b28a4b7f0bbf34c2f247e199736c1753e526786e2be89e85ad4b212b1b748f333dda7306fee927ece8bc9761a309ee59045bf8eaac2828cd8389b8887b05766c821d7eba61c34b3039011e780cd2a2a1e277806b3a72399cdc03b85a79df6614a470706ba0a321f6172b8bfa916a37b031df9ea6682ed3a3f69395ef1eb4e0efe4ec8796e5b1d9dc51f371052ef86996ac5a36c1670da73fdddf99a0d0e6cfe4e2c7349f3cdc6003b94cf64dab670df692f9486ddcd4f1fde7cf7a4a3c758d06bd1c9c670f567a0adc9fc1e5118b87ffab06c05a77685bd509d0181e5ea6576a92e08bc0f6854b2dfdca5a6bcd1fe1a22057b2ca94add44c029092a49a59054c8f5a0ebdedaf5ab5c54b508f3ada4fbebffd20f3aa2f5d65c8489d56d465637bedc7f75d489e5798a2b0371efae472e6b2c2a4588fac0be6c0ccf1cfa2dace5b0a53d43a0377113599371d347f91b12c1f557fd7b993d51dde62b18cc438b23300a2f1288bb3508f3adb2bdfd96e410bceb8caa44bbd25074e342728b18efdabda4355b5224d8ac68f0e82796a5533518ff6771dfb640b5b46f7ce3710e78911a013e873261698ee9ec9c9c079eed0ce7d273adc7fb586f8d7162b45f96bf7baa56df07cd0144f17ef2f3f7caceda0c48972b0497d2f3a40f47b843d179d3f92fd05713f837c1f8362c7dd887dbf425d5309112002a385c0f75192aefdd3df1667f2a7d4dda3e0d8bdf6ae75e60187a4e63df749f003d5e02803f514b82b9555f8cbfb4c8f621aeff98986398067c2db3e0fd4a3bc0d2e67c5e7c36398bf02cf97c21ebe50d884fabf7d222e48c19f3f761bedd8034f1b413ed6bddb54c9f428a6f1ee02c8e3e389cb01f301fe671bd75701c686acf979cc016f5cfacc02b85cf8cbadf0ffb6c1d1c3f07f7ecd74e7d13dac474b57b3d6ffb6d5dd3b5f2dbe15df2ee6aeabbf10e2679076039ac41dcde449d8379ba586e9514c72e12e1a3ecf362a9421d7bc7ba8542fd5755c0295be08cbbe3e7fa2165545603a61f65768ee639aa2325d82ccde7c9cddfded9742cb23168f16a2f0c46e571dd3a398f8798aeba60324b477b41c677a1493a5e98a2b3b292e0117227130c5d2647606bbfb5275a0649d9a82eb7ffd2d5f9e7157a9fdf2caec8ca4e8181986d36f3d7ad8927a9f11abd5ee3e219f7d0bda08d7e3867210aacba0f9a35369ab0b937577e47d8dd3de9b3a0e9f6bcfcd4b82a65381cd7b0d8233c1e3c82e9d158d273e9e7d036392ee7ef861660218398c89c6324b436367724682ceb02cf3ceeeb6e6a653d5fbbd0f27108d5f9467fed4781c8ace86e3eecb3a7cf34d9c27eb070e9b3c65262e2c83bdb6ea5db3673c44fde7a4e07416e18fa5e2f32159aabfac65b124ce61b0ef4528ff21f7970f26d8cf60ed06f72062dfaf60c7b44f0488c02822f07d94a47fddfe41efd471be41e8b59acdbe3df1dc59cf2fa82e8ba9847a5cb362671f21c6633e819780b8c71783285756e802970c64f150b000f6f869d250ffd178b9631f5cf1ae5fc6319fde5ff76f7a3c0d7b3e27c6b35cd3293867f344150d174e790e8b7dae5d064b9f86e57741d624309481614eb0501e40d07afd5d5f7fbdd5453361b4ab5231b1e6b075b91dc4320912ee7d4b4cbc84937425f9ecaea66af7f38cbc5544ca231b8fabd7e96d0c33284a82532c93e08254c58cadfd2bb78146836b822e6b9b47ff04d703bc610a538847fe52ce6b4ebb771d31266a8c20ea593bfc9a2c2eaddadb00fce0897010da8b92c542b5b959bf2c559d8a679c9dfc52ab70c8bdf5f312503ef88e783c510a394e0067576bb3b557863996a29c9dadf871625f45bb7e76e1342e45ad4ae6b293b9c96955eff2e76fc5e317e5d9c983f378665722bbe79b044fbe7ddcf4bbfaa36451724d8a0eeadc6322eabf8f5d452bca9f790a9d0f1aa5647f5905b124cdc1631dcea00cbdbf1eefd29f61b41bd9ef97742874840810819124202a9d4632a09bd0f6b19d6f1f1b7233ddee1a4f94b2cc955688e5b5d8d7c24ff83c5873b7dba0ee3cbb05283117f0447de8bde93d27e1f933b0b11c96e285a13db0c16b11e2bff112e464c13d3f853d9b99679d9ead7d3a3c9a3474dc8e36c0234520b7c29aa7dd91047dcc5b0aa976d8e2a783d160c746f60f4fc76f7a150c1cfcf051d8f307564ff0ef092ac813f4f99d36becefef22efdfd086d0cdc6e401cf8cb0e72252fc4416b9a9d81fbc19234e4d948eea554bff07d2e397d41bcb3e6844fcbb1bb5e64d07a52ecae2691f248c613c59c05275e800a52952b9babc3e9e0b77aeaee524171265b03b57fe3ab1cd4af8e2b0e17a81413a773e0bff4db72d9a64f526b6f29803abcec0157a1f96b6b9d2eff956640918a77e2b10d4b527cf88331b8307de844e38f66a68b758537097f13328eeeaa7ef1f477589d901a23b3575656863abe547b10ff61af8a4d77e7730993738aa0ae7ac0f84378ca9816735e15fe14e416cdca74cf37099eee189cad7fa96a9f87973ceb8d8b5cce8f0f5a3cb105fb6ff95a9cbf30dea1f3a1a3d9ea2c94ec2f6b2568dcf9864539e09181be1778d89fff75f6976fdedf0f5f3050bbc1f1b37914c9ef3b1f006d88001118550442a5cda80a6fd40433e301f8e53da02f869c09e0a8879fff0196de0290038bfe15c6ff10ee34b0eb3e3131c57800f6d54359166cac82ca3f43672c4cbb1dec66f839bfce2a1b0b0736c26f26b00b43cbd7c337ffd37d663cd43f0adba55970e723b04e050db1b06219f35fb50b209b65bcc9bba0787423d4ff10b20cb0fdf7b0e333d0ea609e11ba2ba1fc5566ab7b14363ec2325a8f0e9ef72c6c5c043507e1e449680750f3970474e02a189feaadec36267c9ec07f1f8519a510f379c02df6c9f9f0ab97a1bb817fecff10fbfb9670a103df4a809f30da1562e3b796960e975eadca285c543a499ec2a9f99b93f8473cf98c64ca146389117aad5507799985d72076d8411d3f758ec976e6924a9b3949d6b24db8255f5374bfa910d7a93255ceed826ef0dcf562f6c908deb34479c4e27147eae945e002925a37ab54760bde6e94c0d688dd0985a922b5a0c4901d37312d3d49896ba4be875585f60b2cffa8b71ab3d5d9a687c6d57dd97655a699a855f5592a76d5dda19fa94a9fb1c4286fb0ca72a6e7a2b4ed3c77b6172f630d5d53c59615eebbbe82f978a2c2cf8e9add965b5765c4b393ff41c9bd8e1954ca9ee6209242c631c41d56b21f3c67cdc956730f952f3c55db082a4d1a5272d6bdf37fe161534e77cbc5c6d6565b0f28f9870c387bbabd773585c62fcad3a2d7f443923a675ed9d81c553ae77ebc3ffb9b408ae757ac2f51316039f8ae59f9b0212325afb4acf7935dcdec0f89d0f1aa833e51fe1640fe7ec93b1f2e49f4779b9959878e3b6710e7c0fb96fc5ef04703f90fb1bf7ecfaf08f4c35c4bb61b127fc4be5fde4770f05da30d112002a38a80d87feea32ac051124c16dec05ec6f468db2978f2c72ca81d4f43cd57204b04a301e46db0e94dbc6109c6f2caf4a51f43255e9387f7c59743f95298c68182ff2541c1eae2973977fc0bbc89bf1c3278643d2e50b214ea1f36c3f33bc02107d303f0583924cac0fc1ebc840f75e2d757ae7ad6aabaf98cb0dc58fe02bb771e6fc05fb306cacb204506f516debbdfc6fb9376e02cb4f5418181ddc9b4e6319836099aaad96dfb427aeedfa1c5c1042eba324c03cf25acec202e4526e64099099618ddc643eaef027725113f786480763df5dc9f7555472d9dec62bd8c0cb5c261a93d67c7b55dbfe9ec62bffc49ba6c9d4e9fc979ead6565537db5c780bf9cc59b3f45cb2c2ef2f32a16a944713994af2e4e0c2bb9a8465708f03902a8788c5c302ef638f1de7532f9b31fdb8bc74c97ca6a51b62e233b2331262baeb4ed6617ff1367834621d55a767ebb3518f3abb5b8fecdec65f55ea7610d42f2caddbbfed485dbb0be4a9babcfc3c7d7a7282221abb5df34155adcd254bd6e5cf9a998712bfd372bc623f7aea07175baa736120be25d3fee419e27c3c4ffa1756f7605f753dcb6188be843b21cb65ec285fee99d75ef39071148f07edf76fab6aec74c813d20b67cd2acccb4e5645d93a3ac1d26eedbe9690c2e5e5e398cfd425ab9c5dcdd555b592e3c8c721c2b3b6f2748b0da214a9195cbcacfbeca123ad4e9045e362b0144f707a3b5abb6fe7118b13a2520be797a8a5c64b8abfc47c90eaaf075cf0b84b7010cc07f85e84f01f627f75ee8042fde08101da0d8e3f62df2f0f20fa24024460f4111873ed9aef7726343cef5121e3bfede797a4b0c49bb0c43f2fece23634b9f04132f833cb276fa6afaf4fc8634638e4bf150e9d3e7dfa95575e098d73d84bf012d2f1a900cd70b43ea0ad790b20ae07f678cfbffb1fcc82053ac0b5a68b75c1b5fcad84bc947f54ac4ba733938b3b42ee340af5c2976048a90ab8d2111cd5829fc21407bcb535a01a3e0d346b320bb2e3041c08ec1adaa12b8d22eca687d2df80204276c26957a3c55b96009faaa88ab5582ca037ad3670dd9623eff3cf890cf11850a0e5740971313d9db5964bbe728dae4097e0aaabc69ba2599a5e3c3bced17cb8c6c2eff93652e5184964e3f135e997c3c8f171aad63aeffd39ee631a8d462ec7455edb25cf7356bd9582fae52dc795349d4e8d971d3b3bad165f2d8d4e8f777e43101cbf5aeeac248750d39b5ba2e174c9f1314e7b4f5d9dc5d7b246ab5327c460677b5aeb2c6c84078e5f8a27731ee374bbf0791772a23c838ddca692e3152e7faf5ff1feb2d10d98cf6efb100e5e3f9811fd5ef81b04e687d0dfc08ac17ba2ed06c77f53be5fc191d13e11b829049a9a9ae2e3e3a3a2a2c68c192393c9708b0977b171cce01695154a204c76bb7dc3860db9b9b9688606b80d4ad1d1d1588287848c90176c047bdc8626a1392c670df3c93f8f0518039678e3114a84adb71033379e4892de3843f23002043843b949af6c6db4b45cee562426731929ec514d55ff31528f1d1c6df18cc09050934460d808d0f76bd8d092e391274092d43b067e672ebd65942102a39e80adbdd5e6d425a7e33f3e5697bdf92c3edd67c4e21e6df18c18086a98080c0301fa7e0d0354724904461d0192a4a36e4828a0700874d4eeffa0763f9eb757e3996c67779dff39f870ea47da66b4c513e9fe913f22309204e8fb3592f4a96d2270b3089024bd59a4a99d6120d07189bf3070183c5f9fcbd116cff5f5826a1181d14980be5fa3735c282a22102902c27d8d91f2467e8800112002448008100122400488c0900990241d3232aa4004880011200244800810012210590274e27e309eba05f0e02c38f82eec097946d26055838f3ff102c45ee41f2fef772482fefdbc463e3befa7707726389d808fd2a9fd2b6c117dee55f8cd2e80cd0f40d35e786e73f875c2b28c709cbad225058aaeba8fab821e611f562ce2461a5d912ea1fb6275addf23a898a554798097f0e3e1661b335d6d5f1c3e11d44c803bdf8e4667c89f6cbf78bc3af801533e939b940b8b43d8b170052599f82cd07e7c84496f5bc3c11396f06a0e1be7f0e3892c07f6dcab9209b2cee3076b021eb53b7ac67de081099fdbc07edc47c31fdfb0dcf98cbe2d71fa22a61c1118450448920e3618da223099c079e88625e93cb8bf0c64f5c1923462fe07ebc80d1e9f3d1f4c596e1f39ce7025e9ea1760aa13d6f26f90f20f605e114ccb8269d19197a4d717a77f6cfe792e8d4b56472567ebaa6afcefe6d715956426baceec335bfc8dc3cb97dc5d929d00751dd5fe0fb4c7aa52e5015ec38f879b9aabd3c184fe7025a92a2d47a7ebeabf38e292d4c3a12dfb2153b2e72555fd2e47d765cb5f3ede1f20a702d088ef7093f16d096ae158ff847eaf24d5162ff9617e727b6de576f718724b1e3625d96adf16de7e346c9ca5e2098d5e9483cbd1ddf8c5df2b0f5b42ed072be172a667aba3ac178324e9a819f781e30f9f9bbf1fc9efa9c4f8fad7bdbefcf5c529d996449c92fd9274440788c0b783009db81f6c9cbad9db6780df0c663ad87187df4beabdb611f4eff5391c99dffc187e5c04cff32f10ef0b1bc75da5605c04f342023a7000ccd5f05ee073fb43acaea7e0fae2946ac972fe8ca5f9dc71bf37dff3962953b3b88c9ca99c5435c9724d415976425477734d95bfc2c5155289f26047e1c7c3bf46c925fa9aa460a7fc3e6f1fbeb9a88f1b2f0ce0c0fe7372b53736b6586d209327a464dfb3b068a84d58ccdb3efcf0ad0fabeaf03d57fe346265fcfb3ef155019ee47edfbab03b6c9ca5e2f144e1fef4e720c375034767a3a5b1bdcb2e932bb9fc79c59a20f3b076d9abbe5cfdc15fddd131ee8376204c6e417e24bfa712e31b54fd3a76af2f4ec98624e294ec97a4233a4004be1d04689534cc71c2b7850e6b1a6eff91081e55d4f821c6d9c77e06c5da3e006b6ef0d4bf9857a1ec3ae294746631575a420fe2cbc7b050b463a1c67e25ba92db53a1bfd3f70e7af731a972bfaaeeecd0e2f1fec5891a66d0f545de3858b18446309c25fe1c38d690b3fdd0eeddecca03aee42153b6523b85836a0b3b3084d4813d97b3b77b7a69845179183987114f300797ad7177e5410cdb50be4a9f10ad5085319c617452301905e31e56ac61700bf623fd3d151fdfe0fad7b57f1d714ab7231ea774bfa43dd11122f06d20409234bc51ead5c0a6ad60e0cf5c9fa98495cfbbabfd6223cc9f0189727038a0a70f4ebe0f6b36b3434b9f859f2f64e5985c3df0b77760ed7996f72666f0039059e1b5cf5999b8ffa5b07d357089cca0a70db6bf01bfdf03331e85d796c3a16d1033078c39ec90e533b8ef0996c1b4fe1db86b1ae00290ab0b3e7e137ee37967bd703468bbfa7fc38a09f0ea0e78f42148e35ba9790f56bd31643f582194c3ff3905e39530967f677c06ff62fb3880fa3d30fe7178ed3e5cf6018cf2f44e789c6fce1dd8d0fb1bdaaec03fa8a783ed7245c63b6e491baf948fb9e672f6f5db2f9faaa891ad989f2b873ebc08d179f98b2dbb0fbb7de0a350e5b163a3d9ef785ca24e0b80cf45edb6d6795ec9a95bf460498ae25ae3b1ddbbab832fe29c6eba2329065a8f1f0e3a651f5a1e8178f870fb9cb262e37d79ba241c065c68db5fb1dba22d5eb1e056dbe9fdbb8493bfdaa2f2f9d3a1e5f38a13ac42bf2baec8b43c9f53a37d777bdd9fb7570d2c64357ac3dd45d9090a7e94fb9d56cbe7dbf6e145b7fa85e545e909f89a5ae877765f3c7db8f2705d51d90abdc2dae2989091a2b4351eafbd3a79a64eedb259767c50e96d22940344c962f98e80e5acd5999d12e55ed5d4cf36e567a58ec3765d2e476fbfbdf5f8b61372f17e85f18259a105f716f90c69dcf96a229c59b90807772b037e8872106af0a07dd25a8403df5fb171b92278702f0beb0d2b8a321551f6137f67b35462dcc5e26713665adfc553176453f233fce615efbda874c9342e598e01f63b9acf1cd9650e9ae94208eeadb6a86cfe74e52973edc4a282f478365bec2dc7dffd987dd186e407ed453854b78a7f4fe512e3cb821a727f45da1dea7c63ed4204beefde6f11ef903644e05b4a802469780357fe2cb36bb2c0040e724cb0a916d66c85751f828943b508a74e42c214a6eab429cc6cc546586360aaabc60cb618b8f5769882e57e9274c56f618d91adb2bdb701daf3591511ff9d607e1650c69df90c9aa3c158040ffc1a7adbe00b35c4c783e91156aba91ee4e9c0dd09eb96c2733b60d32e304c822e0b54b7c09c3b61e9336039015ba4efca1aa782380e5e5ec3423d7506a6e5806a1c733b543fa21c5e5e0d59fc0f283a7cecd7cc2da65d005b6c60b5421f40561a4ce09b130ec18221f757b45db7b7217c70b39798f292998a6f6fb547c7272728a3950a70d8baed765c0c55aae363956e5d844e0dc67bf56ab726e0661a39be9daeb3b0457873943665a2821d558d53f247fc36dad9859c0a6c968f822e040c298f4c3c6701d705e5c9d9f9c9e0e8b2da64aa8484f45946bda521561923ef8bf59cb08e5528e53151f1b8ecc6c62429cf9084b3a1abf3aa324199a43399da3ea8e4b5aa5f3fbcd9ff9fbdf7816eeabaf24637966d210b0921d918cb985c6c0b3b023b766c07c7a6321e0d209271281ec8e792362d1fc90a7d9966d682ae669249322bcdbfa62bf0bd695fe635d399456826c0a33c124a282ead1f411313f80c3135e098c8901bc036c6b6702c6421cb126f9f7bafa4abfb47b6410443ee595ef79ebbef3efbecfddbe7fa6e9d7bfe988a1d7f5f452541d0dd430ffa55860cb3d680722c2bd7d932314cefbfd03d943427379b2ab1d705bdee64b5c648e5628c1a0ce9724a1622dcc1904a9755688666367417e110a988644c73f4a8b23fe0c5c0c1de60b318b007d5dddb1bd218d2f59a54d43f157f1b48db152367cc0bbf7f627e97c3b9292089c35ed10f15a14652384c21bf32a1d8b6c26250853c343b474b1a07844ada2f5c488adde0a6e2a5dfadca4d8150d7894f5a86b31648fbdd27ad7f9f46a356ab2d654c3bc176359d6b574deda58ec7480bf70fd25d1ed33d39d9d6458ec1dec636d958293555ad4e3194d9abb02d0cf6f66b32d353d5e4419ba81c491c6cf60ae9e7b44ddabf72ed76afbcbd92f50abd398eebc43cefb771e7ba71d8a8b028088c130125241d275000bbdf209d8e352fc1a63ab0dc07e566128f062fc2d32be118fe43db08db1b1859f9b0968947372f826d7ce1cc804aff3558bb099e468661d8bc8ec48be54c488a8c02f9cf6432f1e80ef8fe2622a5fe17f0bc1d1e7d0a7e768e13dab8195ed80e96e7607b3de41780e527241e1dee80bff90161a879053639e0a115b08d29ce95913cf5c1c687e0503e1cdb0ec929139653be511a87b75e86390678fc69989d0c3bfe1530ec50abe1e47ec0afeaabdec580149a6307923ef3e8c4ec95ab57d2c4384453c577483cea3bd9b8b599c6d775f5dad545e4a91868ddb3033bfc4c2b9f5c9dc12b7efa938383068db96421a59fd275f2c8590fa855aaabbd681593ba9d47dbd3e64e0f7d79264c0997b5dbac6a089c696606e386897816d213a60ff3eb08c0ed3abcb3a90d4cb675abad5a533a7cceab1bb323b19700bdedce0fb0738baa7d123f949b6601c885a4a6aa52128fd2877fcb8f5a71da10c6a3fefe93efed221f9ac1baf4495b6ef6828a210fb9ea3f71e0abcc9ab22c8defc2e18f2ee7ad2e4b4f25410849421c58ea94d40c8a9a312befdef9168cf1ddb4abdb5cbd0ce3d1d0d0f18fb691e82ee22f8121824b56da788e13f6bb34cee64a93240ee6963da8759c24c621881df5c682f5eb0bd852e7fe37d3af6cae5e28890348fb057be248f1d1c08c52c79285940a02e70e7f7800e345f657b4c8efe64aadb4fe7fe2425b61bb325516633c1ae86fdcb28bc68a28fb930e4bf6bc4268639a01a95b2e794f36bed74c9b56ad5f9d9ea48289ca91c141f6391d00c9e7da5cb96062f6cad42b67a42c3d61cfbb6c0dca0d05813b08816f6348faec7f7dfcdd3ce6933ae728ffbe6717bfea8ceb35fca2cd7e043fd402fe3a30de038bb349813fbf47e2514cd3c3af565804f80dbcefb3d87894e1c16e287d093c8df92bf0e252d8cf10d98358fefd33b1f300feb88763dabd1f36da413d95bbbcd848e2514cd339021431faa41582f310d3a582fdab005399beba1d9f407e8cbdb07111444672fec74b4cbe13de7e1b2e9d8222fcaa8edfa4a5e4901ba2b49809a9c5381cdb4f90a95f4facf8783b8752b434a36df412e0fe3913b357ae5ebecc71e44d736621461eba95c4a398d431b35cb0bb13bba7ae3377d8c340b76ba01b74d60abcfcfacb36e1424e18c139f9111a57d2545187fd5bbeae1307698ec29ec4f484e96326432743432e128f6262fc1f8aa95c7881fcfe9e13241ec5445fbc122c484f335880fc88904a73c8b7566f774b6cc83a370bfb2f433d5f747045dabfb8529d9b9e9ca2427542ee6347e8ec55f87dc0dbbeaf4d5d3d0f79d8f1b8621cb8e249fa325cef82a440afebb30f0eb653d5abd094c1b327b8de46a1bfb872377d1ab7df657096c381792065b593c481b4486f4ffbb921ddcc2c73a63ed7fec3eac0d6aeec2c191ca4fd42aa44f7abb316620735f8da9bb63ac37e95f47b61166a2ae147a44ab7ab4c3df90f9892be64dd3ae26a408fc3946442b33dfaa4958c0489a4e099c6df461e84aee34dcd34de1af8ebd1a39aabbd90b9404e4ea43c3f43cd95c661ace754e8df38fe92b457ae5ebe6ee3c927ec791f4f650a8f82c0a447e0db1892fe65d7fb2373a7455d33e2763aa357d2b933e117af259fbcdd3bb1af095fd6f82f38cc9ec1848078c590411257420c4250052a3d942e87fdbc98542c3fd94c3ea55e897c764f233231a865d3d5e1702e7c9ea927b98ba7e09c27ac55327c758a1077be07b97c7b07a2f12876d61e63636a802def12e6f5ff931c25e5901b32498c039f31fe7b98e54c66cc1bbfbd6ca9f8f5f27590c9eb742458f37b86b8fba9e4553ade794be4e5399e64a92d21b39a5af6b6c4724bd013ab4f7024c0af115faec2944a021e3654c58ca7ff12c760326971a0a6bb2f1cb708cb8189a18824aa88bceb015fe4736d4ad21436a827f5307d97d8b5eaeb03fcd21e49123884ef794e1e6ebd323adcde4e8729e4cc4c9767085a197ff1ece2178ce6991829148ce2335ea7a3089eeaac4031cef238445510e5647108fafb9dcdcdc84fd95639ace9b985a55d4cafb3040e327e217511678582a1245592da94650117e75b248bfd3eaad2c9f8914812db6bd2aa11d1c0506f977b24ac555260b017993b4f9d08cee041161cfe9226429814f8baab9bcdb95af1a304982acae4e4b06c92c7708d6464b7c4f3cbab5cb23812e3fb4b6c2f2b678c7ae52ae3d113fbbcf3042b5905813b1201c9d0e98eb464fc4a1ffff0b7c7c7cfcd71e21836263db3949caef4422a137b7ecdbe7a6b60c312f63eb8be24537766cc272b1f457a22b97bf8b9fe24bcd8019b1aa01e07860ec35b110e91fc0bdd50980f0ffd08f6bf4b4a5baca4efd31f8e49c57e3b76169ea800b51b366c8cd4c66576bf23a444af55208817e3c889941ae57d1665ffdd8b716099593dc3c645047019be1cec6f9c90bdf1eb652be0cb17d61db9262f6ab59609e8c1eca8cec56b6174225a1b89eb4ae5c110110794b5541f68e52d1b4566aba8a0f7a4d4ac26097a22f54922c284890940d9508caafb8e059b15aff79433a9b4328ff481faae460b0bec1ab8e20f824e33b39882488f1732f75cf658d38de679a5e02211069898b1b58120bfa7193048e50d1990c3873005fd5d6d8268949003d7d89f64d48aaabc88bfe2da454a85787ea4cf0f04ade95a63067608937ba6597a04023f1cf3138f9f25cbf95d8cb31c0ed11038561f941f0f87b0873c3e2220599386bf253149e020e317c28d29d0fbe7a6fe1a1c3a6db5af0806f634d30c150f42bff77c2ded47567fb1bd035dee4059768acad7d8d81896c99dbbdbb91e6d019db94c12c4f771e4448af3fdc87c1192c281e196f317278ae7dff8fe12db1bbf5e567e8c9e11ed05cf11f3432191ff7f2215291905813b1001716873071af10da85cfe383cff10582ba13003fc9df0e377a07e1e4021acf86798fe083c6823e320319188f1101ce884ba7cd8d4048d7f84c15458703ff89cf063a69f5535150e6d82d733c8c0d08637e1ea3f705fb4c5f231b0adcf87079f805775703615d6ac26f29bf60214904c244502ca639ba0f311c8b7c1ae5fc1ee4fc16c811a3b781ba1e18d08efb832e391632e877f7905bb52e1e577a0e3b20c0e4c6d9d6e328d09e7c5ffe118942f8594cf62a6d867961039deb364fb80d7ff34317be3d7cb9acad753c678ba074313a32eb76cc5d259ea2ccac84c4e6296788a165069b3ecb576187137353361168e891cf081513f7791c3d3d1ad33e7cd52f5ec64a7e49b2a1e739461ff529e2eb08b7ddf8767ab38a3af7f46b20c3d61fa709a86ad6023f8f095d152b554350fa71b19481f319730ecd16497d6da0ad266cece49d7621f6974b12ab15d40ffb5d36d2f301638d64e737dd1774d659a69d68dd23bf6ba1eb02ed4e594afb4abcfba5585c5f331b41d3c77660487b1326fdf706de1b3869bf525c4277c3fd20fce12e8feab21483716d6d44d2dd4e55064ce13a670c42669175b108f29ba6cf4a30a868e1f6c1918c1219a68ef0247a5bfe3121456de8b7af6775f8c3063665c7e97c1d9e594c681e65510a38f4c7b60d9194d6a55d34c39d90823f4d31db45f2783839c5f2e91703b2905e8e6ad4eed3a5b6e56d1d2ba918ff67611f0c47e77c1a8a41f69200a4453a45d75379f73171618a9b50d0f9f6abf003ad36c6c5d01d71676eb816881b172e390c3c72d7e7b907d4e192df8fe95f797b4bdf1eb658de4ebc9765d6027b0e0ff43c29ef7c892206301acdc571098cc0860178392c681403e4e60af23f168df29f8c7ef9102bb3742eb2550cdc07919a0ee83cd6f937e8ba94c64faf2f7a0b103c78d82a3011aea6101051ae63f3706ac41a69b73f73fc1db4eb20ad2136fe23c1f92c4f2e15d787137f8d5e0781c9e6e80192a70fe0e5ec6459d98fe8c6be10e3a2f9361bb031b5e027a884cc0dfb0011aea204b059d34233dce41d8214858e3c961aad3e7431dce9d5a4c98e3e080775ff877e8f193401955b22d80a9a40497b0e6198544ce4a3b4399a0bdf1eb6551e2eb19ae567876351da307c920bbdc5ca3c64fb79ff3612f14efb160229774dc02c862cda3c285db9b5aba3c419c42beb0aaca4a656a78bfecd8a291ee36476d911a8238ab897b278525c8d12161fa10c547c9f2e84c1a212d8f74db743b3b7abc90a2cf2dc835a4785d275d682f4e834726129a18730aac05188f06bcbd47f7ed6ce70a9393c02ea4b80eee3ceaea0f823adb52545264cdc934689231ec697dbfa9dd1354655a4aaa161661883f489fd87110258580f94a1e4445a25da6a1cc72697cb89a47795fd659527be3e91eebc84bd800004000494441540f2469b27329bdca7be6f0d1de00a8705a9ebc5d4c39e6c1531bd18fb996b94624753b3f3dd31f02355552e570545106b5afb77d57647c253ea9048ef1f85d0667591c583384fac8b687a82605b9d9e9aa80afa7fdf05edc13540e0759bf00599a95ed176c3ff0e1513a0049d965cb6a71b35569bfcbf951ce5e38b8b3e9c2a05f6dc829abaa2a2b2ac8d4257906f0c98a9fb072618a2b47885b1c1c506e9ce754e4df09da2b8f3f638f48cfb095c2e72861cf7bb802e5ac2070272330e5faf5e8fb416c48e42e9be11f434c571252220929fc3c7b8947710ae20230f87a645224333a3acae631c3dee21fd95ba74f9f7eedb5d7c47ade720a0e219d9e0dd005c73a63eaaa590e69c3b03ff2fd9d7f331f965b00fb5ecebb84a5f85c6c5e4e3e46acf5c584e5fc6ed10c21b11486822a656be0ca808c5632a5c4e409c98987034eff5f0e26cdf84c98a0bdf1eb151b25a698cc80f39570b5515d2a4dd36075acb7515efae87be3585fd04c590c6929c383ed747754aec9526a31045d2ddce237c595d569feae23ad749483c9c9d15193c4ea23a897bd44cd713955b74bb89fbdc96452abb193d7d31d5e6735525c6057848edfbc2db863670a0406dd74b494c962c519cc200087578acbcae22066e5514c94253305273cd182405fce2e5ed1d8ac892acd9d85a32087075c6d423062397957927ee7dde7676f0f0e8c06927ee1eb16cdcbfb7dbcfa476411d7e85302be61978b8e106f2033213972ed81adf756f88b951cbf5e49ab85cfd137f2bc4b6aa210270f02172f5ed4ebf549494953a64c51a95478c48497a82166f08891158640987c3edf5b6fbd357ffe7c6443063c0a5272723252f0169b61f32c0fcb8f477162ab433aa99849fc3c125007a444f46129ec3142c4cccd272524bd790c150977300294adc161d5f65ea07b2e7b353332a95c9cc01b38d3f49fb76b99bfc9a6cf1dec5a45750581498f80f2bc4f7a177d130a2a21690465de17c7084dc928087c6b10f0f4f77a0296cc1cfc636c0efabaceb4dcae781435986cfa7c6b1a8262a882c06d404079de6f03e84a9593180125249dc4ce5154bbf5080cb41f7cbffd207eb737e297ec80d7c5ff067feb6b17d730d9f4116ba85014041404128580f2bc270a4945cedd81801292de1d7e54acb8290406ba85a3126f4adc4d179e6cfadcb4418a0005010501590494e75d161ae5c6b70c0176fedfb7cc68c55c05010501050105010501050105010581c9848012924e266f28ba28082808280828082808280828087c2b11503edc8fe576cb72f86115346f85fdb1cb3f8d554ee2fe332f41ea79b22c3c3f25503e5f6cc2f3353f8225791008404a0ab4ff05b609d6bd5a0eef3e0e17ff042fbc2b5333aeaebf02ceff05b6080acab00bc963ca171648d0b565e9ca52cd906b4f936049f49b106fb254580cdef32db85f554c92a3c7308d5f1faada9e17ecfbfc489ba09a1871d10b93c55632c777fe44cbb8d7428a964d6c6e0c1c26689750377365edbdaac1b3cda265b9848cdfd8356befa5c1f4bcc4e05f5c599ba11a3cd18c8b97f2d2e4f12f4f29892c555a9b876ba58670c99991beb3cd6d742ccf98edff26fd3ba6fc5875127675bbea4d98018a2005818420a0f4928e05a3b9021c0e78c03216df98f76be0b13a685826e44b987ca1e0045f572f2338d4d591633d6e961a9b6a2a60413e381e8ea5f2ae6a1e22abe23f2c2ac86321d9f52fc19bcf0968e4724cf912651241a2665399c62c5c603d5698a5a2d6b1d446c512c77955bba4b6aca4342bb2ed56b8981c3d7c9f398f5f1f6aee7c8ba5d85a10533cce856e76a1c592379bac227f7b131f07099c276a97c018aaa0b8c032bf60ae807c1b2f397b0d89c29f2a440b8b70a9d8d83469fc1bab96f08a9a4376a528c064b1ccb78adc24d3fea352c6e75f8976c58a18537eb4a684e664ea95d533a1952bc21404260f024a2fe958bef032bb3ab35b3b8fc53bc67d3f6ed8342ae449a07ca1e8845ebffe3df83dee32f50abce2c04d8184a20f1d02e72ca0ff22a447af9922e282510626b77829e42743cd1bb82d6b4c1a5b7e0c7bc22ee82f3be8695307cfba622566cdcda78c53fc941317d79f503295d6151892bc5dc79b6225cad185c2c7afcf4890d99129bc7b935090e89ae1e76dfa2d62f84608021c24709ea85d42b527088bb07882afa3f65ed650e1cd956eb20eb215d7f590f0119d1cfe1dd334dab9f3f7a7018cf67abb45628f7899f6cf133b2eff4ab42b56c4d8f2795525302b53afac9e09ac5a11a5203099105042d2717a03770bbda5e956cb4f84f218454d97d3f3106c104491b135768777408d250baf46f1752a19458d255f282851d7b4b39116cbc2cdc79028a9a8989947b1d4de9f0da1c1e8def1dc3d393aaf28979d983e918f20268098cfb862c1dc96a1c248468af1d6d18438c8e13c21bb62d4f510a7458ac7dcba0d173c7bcd3646ab5b88ffad969f28fc06b0a5aac9eea7526e926effd1aac7e75fb976053096fc684d89cd49d72baf67626b57a429084c16049490747c9e1831c1e6ed60cb27dc1d8df0fd17b9623fdd04cbca61861afc7e181e8593efc18677c9adfae7e0c70f133aa6e0307cbc059efd92e4238930fc2da8dcf0cbcf084d5a7e3dec5a0fd40cc230dc07bb7e0dbfda0fe54fc12f1f85c33b216511d80bc92dfa5358f50cc9607a730b2c5e00b8d3787008f6bc0dafef66c9a2630d7cf812a8ce41dd93d15b3ffd3758990ffff13c6c3906727645b9c3b9f29fc02f5701901e6038fd21fce4d7e11bcc79fd2bf0f04298a90715eac44b62f9fff72998ae85a90c5bee72c29a06d0b91fa6c7913f717c782af0b35485fd8179b3a76bd553ae0703a321dfe5533b5a556b96cd57c3280e6a0b5cfe7cdbbe231c3f2e61aa4e9d9a4c5e9769332c66005ccfd4eb7685b7d2b4acf8616d96e6fa85e3fbf6b5080771163b1e484f81de134770c7777e12d313a00f53c1684055695f5564494758fd83170eeed8479b2bd72cbfd773fae0de2334613157342c2b869ecf76b491ab5030adc2f1680965447e6fbfeb8fbb9ae207b226ab6d49458141c3782d1470d39fed3c80836ead0f3754e418702f5d0805bce74f1f693ce2aaa85b63d5b87bfc19b9595acf8513edd7e62cb418831e7af7fb8d912a627090c399a889ddf422bb187ac5d2950ba84c353a27e4efea38bad7c9211dc593d9142f12f749f29b2bea96156b4f39db675694e6e88915be9e135bf71c01aa624595358ba12031e0b9b0fffd7dac8f25e41060178c9e3ff595ea9e925c1efe8c9eec21c65e862487bfb5da51929f3d0d710e06fd23215fef899dcc86b752f85f6185e36eae24596d6b2af23449beb6ff269acac897f017d33064f597b097a94d74a01e5e533b738afb93f7f7e0ef593651d575b55663cfb13f37b676cbd915e6e59db1dd4a3e8f0c8b9c7f25e4b7f44a3fbfea38f2278c0f4fef986c54cf9bfd3f132356b95010b86b105042d2f1b9b28119e07891860c0a0a1db0b91d366c87577f0f0e0aa3453875120cf7c0ec1960ce22e2d66c820d3612a5b53ac19302f7de0ff7209d1792aef9056cb0935eb6dfbd05fd25a48884fc41703e47c2b28e4fa12b19ec15f0f8cf61a40f3e37825e0f8e2748a98b9da0ce01ea4178b51e5ed80d9bf7826d160cd1d0d2038b1e84fa9f01dd06db2467651d82be209496c0f335f03adbbb59030f5580fa128947e5ec22558ad2d71e70bb01c723e4cf868c6931b77fba051a16101c3a4ec2d46ca032b8bb92f25f590ff94c64834c4fff9ce3dc0bb04d4efef209e313a35cf482aa5ee928ca24517c7faf2f599f69d0266b35e0f7787d3eec0cd51af5a9dad408b7cdfe775623d77d432db453cc8da133b08dddf1c99c355343eeeaa689c68a9aabcb281d78e80fd858302251444f8c3e6700fb99d499052599e01f727b543a8321a7ca6ea5cfa66a53d4a3a95cc402a91aad3a2549af4375d087e945b67474d8d0e035ad419b6e7138fade6f6462d588b6bc8ca9d8f1f755541204dd3df4a05f65c8306b0d28c7b2729d0db7b7f7f65fe81e4a9a939b4d95d8eb825e77b25a63a47231460d867439250b11ee6048a5cb2a3443331bd6c5e2208bb39c5d4deda58ec708c2fe41bacb63ba2727dbbac831d8dbd83620c69335428e3f3555ad4e3194d9ab50c7c1de7e4d667aaa9a3480daca922cbdcad3df75e98a7faade989e96c4360b6939431a8d5aadb694317822fed339fc9bc2bf4762ed45f972f85bed0d368b016360776f6f486348d76b52197fc9e0cf85a418769b8a977eb72a3705425d273e6919cec24751cabf3e497feded93d55fdadeb6c82f0b5e13017ac01bcac9cabacf46b99c347383ba6f5eb65ae5e9c57854c62e7ef968deef977c1e9141cebf92f26df60ae9e7b74d4ebe747b8e834f54e7d89c58cf1bff3f132b59b95210b86b105042d271bb72f71ba4d3b1e625d8540796fba0dc4ce2d1e045787a251cc317f146d8dec0c8ca87b54c3cba79116ce30baf2117fe6bb076133c8d0cc3b0791d8917cb9990146f09e43f93c9c4a33be0fb9b48c1fa5fc0f37678f429f8d9397289a97133bcb01d2ccfc1f67ac82f00cb4f483c3adc017ff30372b7e615d8e4808756c036a63821c5a677fe04bf6980bffd3e1792aeff1fa007f8f4ff85f28d3276c5168f5cb9de8555ef62400acddb233492b13cc5c4a35760e352323034828f9cfcb75e86390678fc69989d0c3bfe15304c51abe1e47ec0de1549f9cf3c3a317c6294e35d982abe43e251dfc9c6adcd34bec6abd7ae2e224fc540eb9e1dd8e1675af9e4ea70284d4a9dfee4e0a041632e5948e9a7749d3c72d6036a95ea6a6fb80fa8db79b43d6deef4d09767c214528824bbcdaa86c099e646f6327214d213a60ff3eb08c0ed3abcb3a90d4cb675abad5a533a7c1ea999c988c653f4b63b3fc0ce45aaf6494781d6340b402e243555959278943efc5b7ed46aae5c89f1a8bfffe47bbb9a4905d6a54fda72b317540c79c855ff89035f65d69465697c170e7f74396f75597a2a1bd689f091c759c62e536531c6a381fec62dbb68ac89b23fe9b064cf2b84ae1169ffcaf1b7316a1365bd271bdf6ba64dabd6af4e4fc21f4b94418b47dfa5f6c34dedbcf04b4ece61220293107f962ab2374c0621fe66dd428c474343c73fda46badd23ed13a4f1473d89a8d1c08c52c79285940a02e70e7f7800e345f6d73208e59b2bb592fe32ff890b6d85facbd91bc52d620ac91c69e9bcf791a2f4bcfbcc4eb2319aa9a2284b0dde0bedade6eab5d276c5148f5ec83c8f2851dabfe66a49dc64dbd500483eefe6ca0513c327aa716c4e4e4f19bb64f58c95aa5c2908dc65087c1b43d267ffebe3efe6319fd43967faf73dbbf855675ccfb6fe8efb087ea805fc7560bc07166793027f7e8fc4a398a6875fadb008f04b7bdf67b1f128c383dd20fa12781af357e0c5a5b09f21b207b1fcfb6762270dfc710fc7b47b3f6cb4837a2a7779b191c4a398a673042862f4492b04e721f2e19ec46b005399beba1d9f407e8cbdb071111cda049d8f407e09accd872d002b2a8856bf7a1756bc470a4ad845c8f289a99d7f7bd17de4cab9859ba814c1673113828be51fdb4f90ac5f4facfe783b876a54a048fefd7326864f54544cce34671662e4a15b493c8a49ad229d9cd1a4432caf472f61a0db35d00d3a2bc2055f7fd9265cc8092338273f42e34a9a2aea2c0695afebc4419a278bbca185f484e9632643f142432e128f6262fc1f8aa95c7881fcfe9e13241ec5445fbc122c484f335880fc28904a73c8176c6f774b6cc83a370bfbf3423d5f747045dabfb8529d9b9e9ca2427542ee6347e8ec55762cd6beaf4d5d3d0f79d8f1b8621c647196b32b534f9ec094f425ebd691aa006b8429c9a9a6394669ffcaf0472cc519684c9318f8ebd1a39aabbd00dd672f0c66e61a2cb6d5790f7afbba2e9e6a3948d6cb9295138c83bfd85eac5712ff92b97a74dde0d913dc309068fb94c69fe88f6e56672d5c88395f7bd35667d87f92f20bc9d20f12fe42aab4feb2f6929a255277f35977a1d59855566aea6e858a427c907dae23ad54e12a19bb2464f048c2e751ee79a1e662e82b819b6cbbe2ea10ca976bcfb2f8f074e567e5f40cf308eb1d4bcf7039e5ac20707721f06d0c49ffb2ebfd91b9d3a27e1c713b9dd12be9dc99f08bd7924fdeee9dd8d7842f6b7c0586d933981010af183248e24a884108aa40a587d2e5b09f17938ae527e330c551b8d219ae208dc8c4a0964d5787c3b9f019c76b62ba780ace79c25a25c357a70871e77b90cbb777800b13777e4a7a5e57fc10ce01604f60c79fa2d187d82e226822294b47b8bbb1678449da303eec657cf9f8ff7ecc94ccc0317e7c6404ea74e84efc4a3fc4dd4f25a10c1b27c994e091233f437834a9aca5b684cc6a6ad9db127b57829e587d8223017e8d186408532a09c1d95015339efe4b1c83c9847d8241775f389e1196039c308549245145e45d0ff822fd88294953d8a09ed4c3f4c962d7aaaf0f80079e040e31f5f15859bad82e93568d8e0b0cf576b947c2e396930283bd3a1d5154ec5f39fe70bd81afbbb8a6eb6ac5ce7292da0eece8b756972da0b28cba4caa20939a33bb696b9b4cbdf8911c8b88f5642449db2b89ff200374d8223272996b9f32f813f9c429a160284995a4366559c0c5f95052fea80a9f53497f114962fdc7c28d941224e7a90b05b6dcac7b4b4c57608e163bb23b8f0cb07db9bc11e611bb0485c7ba8cffbc48e0c617286a57fc9b6c5ebe3d93fb627cc412584a7c3de54a71f471e8398604e5b682c01d828064e87487e87ea36a1efff0b7c7275cd6cb95786629c95ce9855426f6fc9a7df5d6c086251c83eb4b32d567c67cc00ff5f8c15a90864fc28b1db0a901ea7160e830bc15e110c9bfd00d85f9f0d08f60ffbb4486c54afa3efde19854ecb76367e1091c0cea860d1b0575c2ee778414f67af77fc0dac530bb16fe05c50dc3fb9b0899fdf727b68b2f6254f4b997bd1b436754ccc0c01a5339fcb4966519433e6b57180cae48e4c4978ffd9313c227224498212f70b59609e8c1eca8cec56b61482a5a1b89eb4a958481b296ea03ad6dd1588ecc625141ef49a9594d12f444ea93448409131380b2a12a55f71d0b362b362465f838934a2bf3481fa8ef6ab4b0c0ae812bfe20e834338b29e077fdf65cf658d38de679a5e06222391333b63610e4f734c3142235029e1c3ec82387b3d8ae812e77a02c3b45e56b6c6c8cea8c9fb16d0bf052ec5f39fe70d9247ec81c2642777b33fe61ef76a56349096598535871f0b874bd60b66129b19e488c636f049528fe2a127b06aeb13f41a91555795cfb94c19f5335d0fbe7a6fe1a1c226db5af0806f634d31c3d8c7a447ecfd7d2fe62db8758ffb17043c485ed1fda8f5f28a5287dee23b5539220e0fa2b024826436292b08b90b924b108147b27e67994795ee2ca976b57e18aa3ff00e4dab31c3e61ddc538c8e8192d407e47f0af303f869e026ee55241e0ce47401cdadcf936dd0a0bca1f87e71f026b25146680bf137efc0ed4cf03288415ff0cd31f81076dec7772a617f3101ce884ba7cd8d4048d7f84c15458703ff89cf063a69f5535957c317f3d83744f36bc0957ff81fb422d968f816d7d3e3cf804bcaa83b3a9b0663531ab692f40418c7d910ec563ec87781becfa15ecfe14cc16a8b183b7111ade88e18fb9e8847d9f914016e3b18b4e6e2041c76519bb7825cdb815d32b58065e8e0d76334b08dd7b96ec50d5da49f4b73f016fde07f72f8619cc2b0223eaf8f23bdd649a14cec7ffc331285f0a299fc54ce1e7cb7ffd4f13c387a73e3f4bf70c04ad465d6ed98aa5b3d4599491999cc42cf114e55269b3ecb57618713735731d66fd033e30eae72e72783aba75e6bc59aa9e9dec947c53c5638e32ec77cad30576b1714078168b331a16309265e809d387d3346c456c478bd152b554350fa71b19481f31973030d56497d6da0ad266cece49d7621f6974b12ab15d40ffb5d36d2f301638d64e737dd1774d659a69d68dd23bf6ba1eb02ed4e594afb4abcfba5585c5f331b41d3c77660487b18afb54b1660d37eb4b880fa39404ce727675379f73171618a9b50d0f9f6abf003ad36cb42ee0dad22ae35f39fe9dce301eb167cab6ce51e8ed397fa1b7d7330c5a669181c0b017ba5ba4ebfd24b678047f19bf23b724feb4d514827463614dddd4425d0ea54f61c492df1072f85f224f5a520ad0cd5b9dda75d83d59b4b46ee4a3bd5dd2f25d302ae92f9ae9e5652a630e11fde3e326d14eb0f840cb173d5459360e0e0f0e9d65e701d2fd5765ec8ad699a2cbc6e74e0543c70fb6b03ffdd97bfce751ee79892f5fa25d4596d4c04090f7bcbb9cd2ed59161f5645110e727a46ad8dad97a5c7d7935f56c92b08dc1d08909f6e4a1a1b817c9cc05e47e2d1be53f08fdf23fcbb3742eb2550cdc0792ba0ee83cd6f633f234c653e4fbffc3d68c4b174382fbe011aea6101051ae63f3a066441a69b73f73fc1dbf8e653c1136fe2bc2092c4f2e15d787137f8d5e0781c9e6e20219df377f0f26eae1fe55ab88fc9cb64d8eec38697801e2213f0376c80863ac8524127cd48973ffce6ff01f2c93a083bb7724c71ec221c4c75fa7cb215d3438bb922ec097fe1cf2824f4957642d8ff2238690282dd0e3386607713cb150f37e478e1dfa1c70ff9366202f66f8587ce92b202f937800fa741ecc9d5748c1e2483ef72738d1a3fdd7ece07c02cf1c4b10549a4904eb694b1e651e1a2ed4d2d5d9e204e215f585565a53235bc5f76ec1345e6c330c9515b842f629cd5c47fa7e21d393a244c1fa2f82859369d4923a4e5916ea76e67478f1752f4b905b98614afeba40bedc569f0c8440c35e614580b301e0d787b8feedbc98c2ae50408ec42aaebe0cea3aefe20a8b32d452545d69c4c832619cd6e7dbfa9dd1354655a4aaa161661883f489fd8711025852048ba9682a848b4cb3494592e8d0f5bab14ce3276011cdcd97461d0af36e494555595151564ea923c0383623cb10b9eb5459a9f3397047d3189ee777baf1bb2a8a212f4f9424ba62e30d4d5c24c9f979123ada7acdfe5f06f6f3cdde381244d762ea55779cf1c3eda1b005532894c65f007b2a427dbdfd67ee0c3a3740092b2cb96d5e2269dd2fe95f397b4fe58af8cbd1c5ae2768237065a4ee2638d6a5d387582e393b78b6160fe51aa8df8dce55ae61ab932e444d4e23f8fa2e785f36f5cf952ed8aab43285fb63dcbe2c30a12e220d2f326ffcf70ea2a270581bb0b8129d7af47df0f62d32277d90cff1862ba9290124948e1e7d94b3c8a53101780c1d723932299d1d151368f19f616ffc8de3a7dfaf46bafbd26d6f396537008e9f46c802e38d6195357cd72481b86fd91efeffc9bf9b0dc02d84774de252cc5e762f372f23162ad2f262ce7778b66fc88a5301454295b03570664b492292520c7b34bc01af792c8c1f094376a96658f2f1fef9a34e33379e2f808f4359971ca12e02a98ba549aa6c1ea586fa3bcf4d1f798751f05bc824b336531a4a50c0fb693b9c4e164b2945a0c41570bb7284e7165759abfeb482b1dbecf9de5e8a84962f511d4cb5ea2e6b89caadb25dccfde6432a9d5d8c9ebe90eafb31a292eb02b42c7afd816dcbd320502836e3a5aca64b1e24c651080c32bc5656571e0b14ae2ccbb1f933551964c7d4ac037ec72d1911b48344ad98b0c92fc9182c28cc96c311a52d0d8e15e171df32b639c72e2db2b873f119e121056c9292789bf5071f65a4e3e71e2f8fc15912b67af7c3b89148d66e2da15651b33877224fd1b5ffe44dad5c4f189fd3ff0cd3cd76302a5304c4e042e5ebca8d7eb71d1e42953a6a8542a3c6262d65006cca0ce1859610884c9e7f3bdf5d65bf3e7cf473664c0a32025272723056fb11936cff2b0fc781427b63aa4938a99c4cf230175400a1ed93cff182162e6e6931292de3c868a843b1801cad6e0b06a7b2fd03d97bd9a1999542e4ed40d9c69fa4ff6f3e2376fd864d3e79b4740a95141e0ee434079aeef3e9f26d02225248d80c9fbe218a1291905816f0d029efe5e4fc09299837f8ccd415fd7195cdde7b6d93fd9f4b96d4028152b08dc450828cff55de44cc5945b88801292de427015d1931f8181f683efb71fc4eff646fc921df0baf8dfe06f87f6934d9fdb818152a782c0dd8680f25cdf6d1e55ecb935082821e9adc155917a472130d01d3b30f0762b3fd9f4b9dd7828f52b08dc0d0828cff5dde045c5865b89003b2ff056d6a0c8561050105010501050105010501050105010888b801292c68547b9a920a020a020a020a020a020a020a02070eb11503edc8f85b16539fcb00a9ab7c2fed8e59fc62a2771ff999720f53c59469e9f12289f2f76cc7ccd8f60491e0402804bdab4ff05b649ae6335a614798631e4e7c35a3bd99ad53f04275bc65e244bbe9e4976c7b27465a966c8b5a749b0a4fb4da869b254580cdef32db85f554c92a3c7308d5f1faada9e17ecfbfc489ba09a1871d10b93c55632c777fe448b7021a928cb379413e34055ac7860aeefcbd6032db76f9edacd1b2fb6ebe6641657d666a8064f34b7c62e5e759bfc4895d6e6e15aa9215c5a66a4ef6c731b7d73c6894a8f21df642dcdd527e33ad1fec1de2e5774f132919c3b8c30fee7fd0e334c51f75b828012928ee5687305381c10387cd321690d3c5607aa4e61489a30f9631922b85fbd0c1cf91cad3090f890348efce5cfc10bf5241ee552279433bb0fe0e5fa97606e009e7d237ceb4e3b53b3a94c63526681a5a9951f0d592a6af366043b0e38e9891b54bba4b6c000ae8116fec2f528468e1e53c3f8f5a1e6ceb758202334de905437bbd062190a9dbfed21a918076acedc2ca3119267c39d1c9286edea2b58ebc80c3f2c41bff7c2e7ffdd78e406da1155585c604c729f1784a4b7c98fd41c5c059f5b023f94114a78481a4fbec5f6d862ab2ebc9905801b7eb3937d5a6fe6398d79ee6ed7c5f89ff7dba5a152af82405c049490342e3c78d31b201ccc612cd6b1eee3fe25aa51215302e50b45c7bd7efd7bf07bdc35ea1578c5819bfcc465bda19bb2f2cb6103138fb6ec853fb4c03d15701fd98a864b8b97427e32d4bc0189eeb40d57708bcff4971df4b4a98367d9375ca4b2acb9f994718a9f72d2748436ae8ca9b4aec090e4ed3ade142b518e2e143a7e7d4682cc0e4ee1dd9e848244d70cbf68536e11db2d2648e2409f3e756e7adeb5afcedce2ca6fa178be5dab16e3c784c10b3d1e8d313d5dafa54a6a2a5df49198aece716942b6e8ba1e123eeab7c98fb473e7ef4f0318edf5768bec5ef6e3324b9a495ebef9e12a128f0e759d39d17131d930fb9e5949b8e1139b6ef8390d0bb8dde7f13fefb75b53a57e0501490494905412163171584c4a28e556cb975216a39ce9b7b25e69f95adc4815829df0e39f333ac56eec348aafcd7147455236dd6e1aed6ca4c53ae06665489cb86196dafbb3213418dd6b9e132d4717d73c317d2243cb4db809a458582c8561164638b12cb7fa4a068781f6037bdb6f75ddb7523edf2e0a2b0a7a2eec6b6cc68cade149ab2159a31b877bc6addfedf2e300b63035d9fd34d2eac6adf2b81865e4a792ed8243eec37b0fd2448cab8d27ec469f539e88db9c9dd8f37e9b9555aa57101021a084a4224824092326d8bc1d6ccc97ee8e46f8fe8b1cd74f37c1b27298a106bf1f8647e1e47bb0e15d72abfe39f8f1c3848e29380c1f6f8167bf24f948220c7f0b2a37fcf2334293965f0fbbd6033583300cf7c1ae5fc3aff643f953f0cb47e1f04e485904f642728bfe14563d433298dedc028b173031df10ec791b5edfcd92277894aa97152161d7bbe48e1c0e6c29c11151514d877288d922d5520ed3b53095f99c96bb9c94c09d483bf703c6b520a3cffa7f833519f0c66e786a2dcc66506afd1d3cf96b52564e9ff5afc0c30b61a61e46fde01f85d33be127ef10fe09e24655d81f98377bba563de57a30301af25d3eb5a355b566d97c358ce2e0b8c0e5cfb7ed3b42c462c2254fd5a953c96b10d26658cc00b8fea9d71d19bd6659f1c3da2ccdf50bc7f7ed6b110ee22c763c909e02bd278e08c22b313d01fa30ca8e065495f655459674740376cc1ddcb18f3657ae597eafe7f4c1bdecc7627345c3b262e8f96c07f3260f05d32a1c8f965046e4f7f6bbfeb8ab297e206bb2da96541418348c97430137fdd9ce0338e8d6fa7043458e01f7de8550c07bfef491c623ae8aba35568dbbc79f919ba5f55c38d17e6dce428b31e8a177bfdf18a9428083b9b26ed9fc74b2953beebb9704eecf0f713a03542c5db980ca549358c4dfd57174af93206aaea85b56ac3de56c9f59519aa327b5fb7a4e6cdd838e9bb03e92f251a0945fa061d982d1f3a7be52dd5392cbc319b9c349601721273188e173c35c8419c15aed28c9cf9e86780683fe9190aff7c44e66235c299cafb0a5b84f1256db9a8a3c4d92afedbf49ab93f1a3040e885a1cfde57088283cbe8c54bd4c4929bbb0fdc8e220595d0abef492d4b3cc10b30671bce7545a1ff9f623ab8f447bd8d7824a4e1437093937f8ff47122185a82070db105042d2f141dff01ce1bb48430605850ed8dc0e1bb6c3abbf070785d1229c3a09867b485464ce226c6b36c1061bbed3a1d5099e14b8f77eb807e9bc9074cd2f60839df49afdee2de82f214524e40f82f3391296757c0a5dc960af80c77f0e237df0b911f47a703c414a5dec04750e500fc2abf5f0c26ed8bc176cb3608886961e58f420d4ff0ce836d836d15959cba5ebfdcd3119bb401607a2a2381d02d7102cc880df1c82c66df002131122d72bff17e473ef5d78fae75cb1bd002f83ac3ed3749046c12b1b08d4a73a604121e8a69182727ef9e916685840983b4ec2d46ca032208319cd3641dca8ea958ea24c74df507faf2f599f69d0266b35e0f7787d3eec0cd51af5a9da544e7fecd6b2ff9dd548e2514cd4423bc56486cec03676872873d64c0db9ab9ba665eef00ee6ea324a071efa0336168cdc11d113a3cf1912cba9330b4a3271ca99dba3d2190c3955762b7d36559ba21e4d0d0fae48d568d529497aeca6031c83925e644b47408706af690dda748bc3d1f77e23bfd729a234c9988a1d7f5f452541d0dd430ffa55860cb3d680722c2bd7d932314cefbfd03d943427379b2ab1d705bdee64b5c648e5628c1a0ce9724a1622dcc1904a9755688666367417e1803f0b71036866c68cdaa0d76ac23a973a1e2348fa07e92e8fe99e9c6ceb22c7606f63db406aaa5a9d6228b357a1ecc1de7e4d667aaa1a1d37617d868ba5e54bfb2515346ab5da52c6e086384fe7706e0affee10db85fb4a33b168b16d85c5a00a7968762e90d5de60b318705091bbb737a431a4eb35a98c5f6470e64252ecd636152ffd6e556e0a84ba4e7cd2329c858f84941f7d927ed9dba791d35f0ee7984630f68534fe7b5bba65ec02391c64aaa27bfafde999da9247d665b9da3e6822112126f9e714a47168e996693fb2fa48b7078089e2262de7c6feffb0c62b47058149838012928edb15bbdf209d8e352fc1a63ab0dc07e566128f062fc2d32b496f9f65236c6f6064e15c72261eddbc08b6f185d7900bff3558bb099e468661d8bc8ec48be54c488ab704f29fc964e2d11df0fd4da460fd2fe0793b3cfa14fcec1cb9c4d4b8195ed80e96e7607b3de41780e527241e1dee80bff901b95bf30a6c72c0432b601b539c90c6979e7954badedf0c4adb55be510607f9ea7ef414fcf67f41e92c1258db1cf09bd760db3178eb65986380c79f86d9c9b0e35f01c30eb51a4eee8767b6c8e883a0b3a90f363e0487f2e1d876484e01397d2c4f31f1e815d8b8940c548df86ba2b8992abe43e251dfc9c6adcd34bedeabd7ae2e224fd140eb9e1dd861635af9e4ea0c4e31723afdc9c14183c65cb290d24fe93a79e4ac07d42ad5d55ed2f74b52b7f3687bdadce9a12fcf84292c1dc06eb3aa2170a6b9314ce0ce427ac2f4617e4de15c0fd7e19d4d6d60b2ad5b6dd59ad2e1f3d8fa47622f017adb9d1f60a72355fba4a3406b9a052017929aaa4a493c4a1ffe2d3f6a3557aec478d4df7ff2bd5de4c33458973e69cbcd5e5031e42157fd270e7c95595396a5f15d38fcd1e5bcd565e9a918343249880362d97a80780093a97addea222687f9ca628c4703fd8d5b76d148a2ec4f3a2cd9f30aa18da98e30794f36bed74c9b56ad5f9d9ea432572e98983edaca7c49f95d23d2ed240ca01067a2094962bb82d8f16e2c58bfbe806538f7bf997e6273f5428c474343c73fda46bad723ed10a47146cb49f1d1c08c52c79285940a02e70e7f78a06d80fb152df2a3b9522b8983f94f5c682bd47f6c9c59f5c738cae16f6ef9a44caafd802c0eb215357ff007d50a87354b9769295b4f59ceb47c7cb0ad5bee39956b9fe6963de10a62da8fac3e72cfe9447193937363ff7fc236286705814982c0b731247df6bf3efe6e1ef3499d73827fdfb38b5f75c6f5087e11663f821f6a017f1d18ef81c5d9a4c09fdfe3be3e4f0fbf2a6111e037e4becf62e3514638762be94be069cc5f811797c27e86c81ec4f2ef9f899d37f0c7f03fbeddfb6123ae9a34952b73b191c4a398a673042862f4492b04e721a64b05fb5701a68afadec2ecb2e7fbe7c8d42b63d76226a496c041b606fc1e0f4fd6c1f2a7e0ff580359b361c3ff09f023d8b69f2059bf9ed4fef1760e5594f10f72fa84e5ffc74bcc5ca84e78fb6db8740a16ff23b921d667d17d84eedcc24d9c8af86b82b899e6cc424c3d742b894731a955a493339ac844deebd14b18e8760d7483ce5a81b4afbf6c132ee484119c931fa171254d1575d81fe6eb3ac18e778bc813d313a68f990ce90b0db9483c8a89793e42918aa532c8efef3941e2514cf4c52bc182f434830547e7493103cc21dfc6bddd2db121ebdc2cece70bf57cd1c1156affe24a756e7a728a0ad509b98f1da1b357e1f7046ffbbe3675f53ce461c7e38a7188a993ef944c3d793253d297ac5b4744024a8629c991a71570e618e3ca81bf1e3daab9da3b77c1b289e9a397966f9a63946b27717096b48bb4306f4ffbb921ddcc2c73a63ed7fec3eac0d6aeec2c74d1e0d913dc708fa8c9d238137cd09deaac85d8e10cbef6a6adceb09f24fd589885ea4bf805a9d2fa8f853351601c49ae3d6865da0f35570e8738950d38f7bcefb4e04a61c5593a7d41d5c329b0fb409bf4735abd50ba7d220e01a60641fba1e65649fa45f6399d206eb272387327fcff270e4cca2d05816f1e816f6348fa975def8fcc9d16c57ac4ed7446afa47367c22f524b3e795b7762df11be7cf1551766cf604240bc62c820892b210621a802951e4a97c37e5e4c2a969f8cc30e47e14ae4b37b1a9189412d9bae0e8773e1338e8fc474f1149cf384b54a86af4e856f8ffb9ccc5423ae378e5d285b8cc39815ee7f07f0efd71fc083b3e191d5b0ed8d6809fc7f1f4972fa700cc3702cdc5dbae55d429bcfdc10eb9385df88b127ad9bb98d233ac3fe9a206e3a1dba1fbfd20f717252498833de794bd140882b2d73b2d49690594d2d7b5b621924e889d52738c2be67b96a31f810a6541220b1a12a663cfd97380693498b031add7de13847580e70c2142691441591773de01b081748499ac206f5a41ea64b11bb567d7d003cf024700817179e4d5a353a2830d4dbe51e51618ea4a4c0602f9bc33b5f77714dc2d5da8a44db7d13d32749232d5fa72306cbb513199c65ed0afafb9dcdcd2890b2ad7258d3730b4bbb985ee4b045648432d70e657026f612f043c150922a496dcab2808bf31592c57e1c55e1f322e9172249acff58389352e349b2ed218e5d38c496f32c0f87312b73b5ec71b5543cbca62c477f4fe17cfc69182dc16b6ab2fa70dcc2f643614f82943e72cfe94471939313553e4e8e67571c2ee59682c06d44403274ba8dfa7c13551ffff0b7c7275c8f972bf1cc5292b9d20ba94c8cf635fb2aad810d4b3806d79738581166cc07fc508f1f880569f824bcd8019b1aa01e07860ec35b110e91fc0bdd50980f0ffd08f6bf4b6458aca4ef1367e4b049ecb76367e1890a50bb61c3468e4770aaa9876c1fe98c14a7d1f0d744bc85fd7892f5cad9c5fe9b13e3c0af852f9f4fc7fc4ffe3f38f67894c6da150683d0e5f4e1caa8801fbf2251561f46740606fa98cae1a7b54c06a7588d851bc717399117bb5acbfc0000b3a33a17af8521a9686d24ae2b950773441c50d6527da0b52d1acb91d92d2ae83d2935ab49829e487d928830616202503654a5eabe63c166c886a40c1f675269651ee903f55d8d1616d83570c51f049d66663105fcaedf9ecb1e6bbad13caf145c2422041333b63610e4f734e3504a4c11f0e4f0214ca234d0e50e9465a7a87c8d8d8da29b4848e287ba783d517d4203ee0048c8a76c0b509a5c3b91c4399e5d61c43d3ee288644d1a0efcc114b8c6fe34a55654e571ed500667c28d29d0fbe7a6fe1a1c0a6db5af0806f634d30c150f423ff67c2ded17b61d88f51f0b678ca685ed3c5c358efe8d3e4072f807e4ec628251091c22d2b1b9f2e4f3c824dbb2efdc82f52591ffa6e2e754561f4e90b0fd305fa8a4fcc2fc2010b78789e396c8e75d808672a92070db11883c8cb75d93c9ad40f9e3f0fc4360ad84c20cf0e30246ef40fd3c804258f1cf30fd1178d046c63b622211e32138d00975f9b0a9091aff0883a9b0e07ef039e1c74c3fab6a2a1cda04af679081a10d6fc2d57fe0be508be563605b9f0f0f3e01afeae06c2aac594de437ed05282099488a0464c73641e723906f835dbf82dd9f82d9023576f0364203d3fb882329373d410a99f97170588ab91cfee515ec628597df81d7ff2453af8c5d7fbe2c83435838a994271fc77abeb1183ef9184eb60364c29aef12bebe1e8ebbd30df9b3c97cf93f1c83f2a590f219fc444e1fae84f0d421a34f6b27b1cbfe04bc791fdcbf186630af32f4577cdc84d281ee19085a8dbadcb2154b67a9b3282333398959e229caaad266d96bed30e26e6a66c22c1c1339e003a37eee2287a7a35b67ce9ba5ead9c94ec937553ce628c3fea83c5d60171b1f8467b738a3e1022359869e307d384dc356b0917df8ca68a95aaa9a87d38d0ca48f984b182669b24b6b6d05693367e7a46bb18f34ba5895d82ea0ffdae9b617180b1c6ba7b9bee8bba632cd34eb46e91d7b5d0f5817ea72ca57dad567ddaac2e2f918da0e9e3b3382c358c57daa58b3869bf525c427ac95f0dcdd7cce5d5860a4d6363c7caafd02e84cb3d18a806bcb4ea79093b9763927a88f4f467eebd8ed845418c159c6bfac924c8baa554d33e564232cd04f77d07e5d08d28d853575530b7539943e85612491ab1cce97488b4f4a01ba79ab53bbce969b55b4b46ee4a3bd5de40786d88f2e1895f40b0d4481688ae81f1f6789f6109591a2cbc6e705970a3d7eb0450e7f1ae814c9f673f6aa0c0ed2f207ccd56b96505f9fa72ff45ef6c1b479c5f7628bf67a3d2cb7d4732add1e686e706eb4163647f74beb23fb9c4e103759393c4526f0ff87574ac92a084c06049226831277800ef90f427d1d8947fb4ec13f7e8f28bc7b23b45e02d50c9c8f00ea3ed8fc36e9b798ca44a62f7f0f1a716c1cce8b6f80867a58408186f9cf8d015090e9e6dcfd4ff036be1155f0c49b90cf582f960fefc28bbbc1af06c7e3f0740309a19cbf8397715127a63fe35ab8cfc8cb64d86ec88697801e2213f0376c80863ac8524127cd48e71d22af108ec614d7e7431dce855accd0e4eac5c9ef5276c5c1818813c9ff7a0466cc82ba0678fee7f0fcd340e9a1b3097ef22e5335c00bff0e3d7e1258a309d8cf3415c9f2fa9032d1fe154e829c3efb5f04274d9c62b7c38c21d8dd44f8d95f64e3c18d938e23259b8ed18364505e6eae51e3a7dbcff9500cef31c2c928a049c7ad692cd63c2a5caabda9a5cb13c429e40babaaac54a686f74b902d1a5ee4071cb5456a08e2ac26b6fb3d2c40969e387d88e2a3643975268d90964aba97ba9d1d3d5e48d1e716e41a52bcae932eb417a7c1231331d49853602dc07834e0ed3dba6f27fec88824815d48771ddc79d4d51f0475b6a5a8a4c89a9369d0246398d4fa7e53bb27a8cab494542d2cc2107f903eb1e3204a0a419074c905519168976928b35c1a9f48bd6c06758ba4833b9b2e0cfad5869cb2aaaab2a2824c5d9267003dc8263e234b99983e58465abe6c3b91c659ceef283fdca20a72b3d355015f4ffbe1bdb827687be3e91e0f2469b27329bdca7be6f0d1de00a8707a9f2cce40960065fb0bdb0f7c78940e405276d9b25adcd453da8f723848eb2f8b03de6092b83d3064e61fa2da88cf4bae65ae9190e4ea95693ff23848cbf707551a5d4e415195cd6eb72dcc31a87dee734dfbb81f6452cfa9ac3e8c7c51fb91d347b63dc8b41f463a1e84b8c9cb614b845bcb78ffff84eb51ce0a0293028129d7af47ffdf8b358adc6533fc23aefd87fc488924a4f0f3ec251ec529880bbae0eb8e4991cce8e8289bc70c7b8b7f646f9d3e7dfab5d75e13eb79cb293884747a3640977037f69ae590360cfb23dfdff98ae4c3720b609fcf7997b0149f8bcdcbc9c788b5be98b09cdf1d9df1232ecea7a04ad91ab83220d46af98fe01e3ffc663b9f573e1fa75e29bbe2e120ae048557c0ec74d245d4b21f0e750a39509a49136b721c7d84a5c9b5581f5cf7d4750cf068d6c2a14350bf099eb781f36d6e1d59b688246e02f126334e5922ab8dea52699a06ab63bd8df2d247df63d68314f00a2ecd94c59096323cd8ce5f10d16429b51882ae169cfc4c527165759abfeb482bcd5c450f7274d424b1fa44abe4e550735c4ed5ed12ee676f3299d46aece4f5748b760917d8c51366b2e04e9229101874d3d152268b15677883001c5e292e2b8b038fd55cbdea91a274777bd3cec8141e1c11405932f52901dfb0cb45f378e5b2e3d527525e287f827e198f5d91ba221952694aa0d7450b7ec0300c9238478ac664e4fd78d33884eb916f0f618e98739c7a25ec8a8b438c5ce60285671bf469a92af074b9da44e0493da771f411cb671a9bc02f63b50761fb094b15e236969c703989b3945d126c0ae99b47e0e2c58b7abd3e292969ca94292a950a8f98f01235c10c1e31b2c2100813ae73f7d65b6fcd9f3f1fd990018f82949c9c8c14bcc566d83ccbc3f2e3519cd8ea904e2a66123f8f04d40129117d580a7b8c103173f34909496f1e4345c29d80c0f3bf87fa99f0a9134e5f86b9c5602f21eb70bd5813b3eec138eca06c0d0eabb6f702dd73d9ab999149e5e284dfc099a6ff6497191d878004b34c367d126cde04c4996d8e629567c0a732590a28adcadffe872dceee09944f2cabe297c4e279a74b4b547b48949c3b1dcfbb4c7f25248d3894f705314253320a02771f02b83cfef043f0a0031e646cf35f817dbf99683c8a253dfdbd9e80253307ff1839415fd79996db158f4e427d18506ecb2175d61cca98443175077bdb8fdec6781475986cede4b6b844a9348240a2da43a2e4441453320a02930a01a5977452b94351e61623505e03b85c17eece7a28bc74d40d5588dfed8df8253be075f1bfc1df90a884149a6cfa24c4a8890a61404843aff48a06184c5454a2f815bf240ac9bb434ea2da43a2e4dc1da8de055628bda411272abda4112894ccb700816392a37e276cf840b76800da846524b2c064d32791b68d5bd624046112aa346e3815c6c42390a8f690283989b75091980804868686fafbfbbffefa6b1466341a333232743a1cb2ffad484a48faad70b362a48280828082808280828082c0244700e3d1afbefa6a7878989d3cd4dbdb7bf5ea558aa2a64de3edef33c96db809f5d825266e42805254414041404140414041404140414041e0a611c0fe51af97bf5b0cae9bebedebc30decbe15490949c772b36539bcfa0a2ccf1f8b6f1cf79f79097efa23215f02e50b45df4dd796a52b1f5d612f4da449264b456585d52c1229478f611cbf3e54b5dd5e592cae26465cf4c264c105132b2cecfe8951f26dc88d0b8789ea357edc262af916f053152b1e7d7469856562a259dca884f9b1b8b2d65e5d2a6c1093a79d4c0c9d6f98fb8e6a6fdf30364a759312812b57ae88f592248ad9ee028a12928ee5447305381cf0c0045f4b12526be0b13a685826bc9330f942c177d535359bca3466e182dab156592a6a1d4b6d542c719c57b54b6acb4a4ab322db5f858bc9d1c3f799f3f8f5a1e6ceb7588aad0531c5e35ce866175a2c79b39955c3e3b0ddfa5be3c261a26ac8e036513172fc72ed418e2e2787a55373e666198db996d9f1d9047739dc0c89f22355585c6029c2a55c63d3a46927b16a4db22b99f67663ed6192d9a6a87377223032c2ec2f136b9c243196e52eb952c6928ee5482fb3ab3373188b75acfb7edcb009f7c4894d09941f2bf8aebaa2bfeca0a74d1d3ceb8ab52a6b6e3e659ce2a79cb868fd8492a9b4aec090e4ed3ade142b518e2e143e7e7d4682cc4e47e15d91848244d70cbffca6dc22fe5b43182f0e13ad5d06b7898a91e3976b0f727439392c9d3e7deadcf4bc6b5f9d89cfc6bf1bc5edb2860a6f96c467b8813cd92aeb7a48f81f6872b4931b30e71b2d22d3de6eac3d7ca39a2b9529087c2b115042d271ba1d770bbda5e956cbbfa5ca7f03c26967232dae06370143e2b8c3bd88004bedfdd9101a8ceec9cedd91a3470a463213d327f231023fbf4a6db413114b320cb3300289e1b8e517e3c761a2aa48e336512972fc72ed418e2e2787a30fb41fd8cbdf24750c76001e6e66dbadf6e3ad963fa6b5770283747bbbc1f6702718ace8a820704723a084a4e373df8809366f071b33a2b4a311beff2257eca79b605939cc5083df0fc3a370f23d6e83cafae7e0c70f133aa6e0307cbc059efd32a626c2f0b7a072c32f3f237469f9f5b06b3d503308032ea5b9ebd7f0abfd50fe14fcf25138bc13521681bd90dca23f8555cf900ca637b7c0e205803b87078760cfdbf0fa6e962c3ad6c3fea7a17327fce41df8f50730ff1a3cf53d70e15646ff0cfb5f8391ff016b32e08dddf0d45a98cdd4defa3b78f2d7f1e4af7f051e5e0833f530ea07ff289c6624afff3759392285580255617f60deece95af594ebc1c068c877f9d48e56d59a65f3d5301a82a4c0e5cfb7ed3bc215c5a5f9d4a95399dde5d3665870a826ae13ea75bbc25b545a56fcb0364b73fdc2f17dfb5a847bf8143b1e484f81de134704e186989e007d18754703aa4afbaa224b3a7ac63f78e1e08e7db4b972cdf27b3da70fee3d4213167345c3b262e8f96c471bb90a05d32a1c8f965046e4f7f6bbfeb8ab297e206bb2da9654141834c88e85036efab39d0770db6eebc30d153906dcd31669def3a78f341e7155d4adb16adc3dfe8cdc2cade7c289f66b73165a8c410fbdfbfdc648157c1ce2f35bab1d25f9d9d3b0de60d03f12f2f59ed8d9d86aaea85b56ac3de56c9f59519aa327b5fb7a4e6c6d01693f128d25f4640059307afed457aa7b4a7279b8117ea858ba720195a9c6a02ce4efea38bad7d94eb678956c0f204367ac959083aea8ac5b363f9d6cfd8efbf72581fbf3439c8f70686995358bb1087508782eec7f7f1fbf6df17163d494f5a3246e5844ca8fdcc032dc6d9524ab6d4d459e26c9d7f6dfa466997692083c99da4407eb8a1f2cd4ba4f6ddbd752f1f09ae299a39ffd6167eb0055f7839a24d7a196609184dff79007561267a44b3c5ffb5aa4db0f2347a40f4790907383ff37e46a50e80a020a02df04024a483a3e941b9e237c1769c8a0a0d0019bdb61c37678f5f7e0a0c8be94a74e82e11e12bd99b308db9a4db0c186b107b43ac19302f7de0ff7209d1792aef9056cb093debddfbd05fdb8b3258084fc41703e0769001d9f425732d82be0f19fc3481f7c6e04bd1e1c4f9052173b419d03d483f06a3dbcb01b36ef05db2c18a2a1a507163d08f53f03ba0db689769027257d60d44356264039dc379bd4b2a21cf694430606a05e98a683340a5ed9404c38d5010b0a41c72c3f2127ffa75ba0610161c61d92a66603950119ccc83739394401894455af7414a14ac1a1fe5e5fb23ed3a04dd66ac0eff1fa7cd819aa35ea53b5a9916236fbdf598d4c3f11bed816da29e6c6d019d8c6eea464ce9aa9217775d3446345cdd565940e3cf4076c2c189128a227469f3324b65167169464827fc8ed51e90c869c2abb953e9baa4d518fa6729106a46ab4ea9424bd0ed5c1b11de945b674047468f09ad6a04db7381c7def3732b16a445b5ec654ecf8fb2a2a0982ee1e7ad0af326498b506946359b9ce86dbc67bfb2f740f25cdc9cda64aec7541af3b59ad3152b918a30643ba9c9285087730a4d265159aa1990daf62714895e7bf726f83cd62c0d8ccdddb1bd218d2f59a5446ffd454b53ac55066af42d983bdfd9accf45475aa9c1fe5f4dcdba7d1a8d56a4b198303e2369dc3ada9bdd4f118f1a07f90eef298eec9c9b62e720cf60e174ab7878b19b572ed44524e63db00febcc48da4311e8524b541afd5847d545b5992a55779fabb2e5df14fd51bd3d392a2cd11dd118b5b1c3f5aedd2b8c9f8910b49b1dbdc54bcf4bb55b92910ea3af149cb70163e7252edc427e9f789e24970904801b5463d8dfc3730df334b9f920254a1b9b5237b9656d30f23d27e0790c359faf902909323a10e4392967363ff37e4ea50e80a020a02df08024a483a6e9877bf413a1d6b5e824d7560b90fcacd241e0d5e84a757c2317cb16e84ed0d8cac7c58cbc4a39b17c136bef01a72e1bf066b37c1d3c8300c9bd79178b19c0949f19640fe33994c3cba03bebf8914acff053c6f87479f829f9d2397981a37c30bdbc1f21c6caf87fc02b0fc84c4a3c31df0373f20776b5e814d0e7868056c638a13123fed870bff025973017733c2781453490d9cc3ae463ffcf51854b09c7db0f12138940fc7b643728aacfc96ab4c3c7a05362e055c873e8a032b048fb1722264411a827f8e0000400049444154c654f11d128ffa4e366e6da6f1f55bbd767511699d03ad7b7660879f69e593ab3378454e7f7270d0a031972ca4f453ba4e1e39eb01b54a75b5373c32b4db79b43d6deef4d09767c2947059bbcd4a76a56f6e0c13b8b3909e307d985f29006ed7e19d4d6d60b2ad5b6dd59ad2e1f3d8fa4523da7bdb9d1f60e71f55fba4a3406b9a052017929aaa4a493c4a1ffe2d3f6a3557aec478d4df7ff2bd5dcda426ebd2276db9d90b2a863ce4aaffc481af326bcab234be0b873fba9cb7ba2c3d351c5e0971603a5e25f8a7572fc478343474fca36da41b3ae22f229e4dde938def35d3a655eb57a727a9e4fc68ae5c20a9a7f94f5c2826c4cd54598cf168a0bf71cb2e1aeba1ec4f3a2cd9f30a3f94690fee3320dd4e64e4405b7377eb01d2e23099aad7ad2e627278a00c5ac4c277a9fd7053bb44b826c42d5c4ce847b34e0637693f62bd44d2686046a963c9424a058173873f3c80f122fbeb174020df5ca94d089e8843d802fed93530546bd41928f3dce9cc8f2963d65cd3151d76920f5cea866c9633d6ef7238778d483fefd1da62e544e9b1b9843da7b162952b05010581db81c0b731247df6bf3efe6e1ef3499d43dcbfefd9c5af3ae3c28f5faed98fe0875ac05f07c67b6031f30ff8cfef917814d3f4f02b1d16017635f67d161b8f323cd8fda52f81a7317f055e5c1ab3c1ba58fefd33b19309feb887298901eb7ed86807f554eef262238947314de70850c4e8935608ce43e4c33d1b694e15f51186d9e18a17a874585d4994e94b034b3914a27e3d24ac6443d2ff7889e4a113de7e1b2e9d82a255a4a858fea23c42776e6198f93810324902392c517434cd9985ba7ae856128f6252ab48276734e16b0fae472f61a0db35d00d3a2bd1f5eb2fdbda312a8a4d6d4e7e84c6dd3355d4590c2a5fd78983740cb7989e307dcc646c6868c845e2514c4cbbc37ed33809f9fd3d27483c8a89be782558909e66b00008836b4ec41cf225d9dbdd121bb2cecdc2fecb50cf171d1c57fb1757aa73d3935354a84ec87dec089dbdca8ec5daf7b5a9abe7210f3b1e578c0319da2ac59f342b0b4d193c7b821b1621f417e0cc31c695037f3d7a5473b5975303847e94d3131b83346e997af2a4a5a42f59b78ea80668114c494e956f0f32edc42a2d27ac27738e318a3e7b613033d760b1adce7bd0dbd775f154cb4157383495c28de82ff663c95cbd0c6ed27e247a607351672dc40e6df0b5376d7586db81a4fc42b2848484df278a2763bfc4c1eb0b80212d6f414e0af806bda90663b6251df5f3f4d3c086a442bf672e90f497698e1155927fdee5da8f50a5843da742c1cab5828082c06d40e0db1892fe65d7fb2373f1db53388db89dce705eee7c26fcc2b7e493a8a213fbb83048c05763b800ee9cce26860c92b8126210822a50e9a17439ecdf1f2e0c20969f8c7d96a37025f2d93d8dc8c4a0914d5787c3b9f019c77162ba780ace79c25a25c357a7c2b745e733dd506a81075580d1ed27143414820360a825cc370cc7d8581b60cbbb84b8fe7f92a3587e166370773824d4867120dc98447258b2e8a8d39160cdef19e2eea4925063bcf396c84b6f3cc9525b426635b5ec8d98c99692a027569fe04880af1f0613c2944a42703654c58ca7ff12c7603261df5cd0dd178e4384e5805daf52245145e45d0ff8c24113a4244d61837a520fd3278b5dabbe3efc4e1a152981031b19caf0830a9dc426adc05f81afbbb826e16a65bb1cc39cb167793d099f183793568d7506867abbdc23e1da93028391909791ce3329a6361e7d5c72620a43db811dfdd6eab20554965197491564527366376d65c68948e2464252b11f07198785352723a0b9762ee347a202716e28184a5225a94df8b8b9b8b620297f54a593f13b9174837892a25cbad4ef812ce3ec9c24fc95d5f6d50c5b51fabdf80fc0df35c83524a1df4d156592fed2e988c1f2cfbb504eb87ee139b1cfa950ba72ad20a020f0cd2220193a7db32a7ce3b51dfff0b7c7275ca9972bf1cc5292b9d20ba94c28f635fbcaaf810d4b3806d797f8f51b66cc07fc504f7a1963d3f04978b1033635403d0e0c1d86b7221c22f917baa1301f1efa11ec7f9788b05849df27ce1c6293d86fc7cec21315a076c3868d1c8fe054530fd93ed8168e834fd30085a42fd57918f60c929014f31d67c38554809d18fc2427fff9d5842b0303684ce5f0d35a26133988e444ee0833e4c5abd6328135981dd5b9782d0c49456b23715da94cc4249447594bf581d6b6682c47669fa8a0f7a4d4ac26097a22f54922c284890940d95095aafb8e05ddcb86a40c1f675269651ee903f55d8d1616d83570c51f049d66663105fcaedf9ecb1e6bbad13caf145c4c446862c6d60682fc9e66c0201567d68545cbe113be8fbd913c7ec6a2c035f6a711b5a22a2fd65f49fc50372a81cdf1fc28a7278b8b18b7812e77a02c3b45e56b6c6c148ac535d6589c23268539c4f4f872c2e584e7eef666fcc32ffa958e252594614e6105b85ae2e226f2a38a846212b8c9f891d320d0fbe7a6fe1a1c6a6db5af0806f634d361cd84f27bbe96f6fb8de1496a896d6ff4e52b0148d7a4e090f5f3ed1dd71616a5ab537018851b7f7f50845be877399c29db02e4967fde8572886c36c5eac306ecf2729832bcf6c6ca10b7074eb87252105010b8ad0888439bdbaacea4adbcfc7178fe21b056426106f83be1c7ef40fd3c12d2adf86798fe083c68e346649288f1101ce884ba7cd8d4048d7f84c15458703ff89cf063a69f5535150e6d82d733c8c0d08637e1ea3f70dffdc5f231b0adcf87079f805775703615d630915fd35e808218902281e3b14dd0f908e4db60d7af60f7a760b6408d1dbc8dd0f006e1b73c059b9e201973380eeebc4c2eb196cff6937e972b0d64bc01fd2543943ac8c9dfda49f4b43f016fde07f72f86191859f17a73a52449d2e89e81a0d5a8cb2d5bb174963a8b3232939398259ea2ec2a6d96bdd60e23eea666aee3ad7f80ccd39abbc8e1e9e8d699f366a97a76b253f24d158f39cab0bf284f17d8c5bebfc3b34f9cd1d7392359869e307d045d84bc8e3aacde68a95aaa9a87d38d0ca48f984b18986ab24b6b6d05693367e7a46bb18f34ba5895d82ea0ffdae9b617180b1c6ba7b9bee8bba632cd34eb46e91d7b5d0f5817ea72ca57dad567ddaac2e2f918da0e9e3b3382c358996eb7706de1b3869bf525c487dc6703bd3027730e0c5e0d41bab1b0a66e6aa12e87d2a730545e4c1dc31d7bc1f7a3cb29ad270da8272f4570eb6e3ee72e2c30526b1b1e3ed57e0174a6d9885ec0b565a713b9e5da83143d9e1c5ec5e12c655be728f4f69cbfd0dbeb19062db3b84160d81b99d524c64dd28fb4d524839b9c1f2f91272a2905e8e6ad4eed3a5b6e56d1d2ba918ff676911f30e276e2825149bfdf189e206e6f6e2ffe934b81607f8f0b06dcfdbea26c0d78ff7ff6de06ba89ebcc1b7f906c0b594808c9602c63188c277684edda310a8ecdcaf16a03225987e2055e9774b3c92139a1ff6cb2ef9ff4349b6e933df96e7280f36efb66b7ddeefe2149f93894e326251497d687e22d09c424a67c2850193209d88eb12d1c2bb6916589ff736746d2683e6cc9083030f7f8ccdcfbdce73ef7b9bfe76ae6f19dfb2177de0c0f9c92bddac6ffbd47a017dc25faa4ec771addca43509b1a55115011b8ce08c8bc6caeb30637477505b880bd8ef8a33d27e19fbe43746e7c06dabe02ed0c703941d7039bdfc26fd43095fd6cfde277a009e7f0e1baf80668a887620af4ec1b159fe5217698b3f19fe12d7c836ae1b137a08005402a1fb6c2f38d10d081fb617812fd452db4bc032fe2a64eecb8c8e5c840d0201b1965af0d2f00334016e06fd8000d7590a3857686952eb8445feddee344e1c07920fb44b5c3a71708d3852f23ace2014a429795bfef79686148635d2e9831007b88672098b7202787704882b7f928835fff7439f9f9167d80f19c1b463182ee19226fe02c3cbf89b62fa022a53dcdad1dfe102e215f5c5565a7b2f582ffb0b8a2b8ae860beeda121d8470551337ac1d11004a7448993e44f151b2dd391b46480f08e3b04d67cbe9ae414837e517e69bd307bd27bcd85e5c068f4ca4a196bc427b21faa3c1c1ee237b7779f8c2e4266a1752bc07761df1f68640974b979495d8f3b2cdfa346c76dbb6668f3fa4cda6cbaa1697a08bdfcf1cdb79002585214486cc42a8486cc8349cbd481e1f257ee86b3ad5e5078d3e379f326907cf7c78a43b085a5c06c7076c847c90d851494f05dc000eec6a3edf1fd099f32aaaaa2a4a0ab38d1a7f1ff61c1294fa832c7d0c399c34bcc69ac1f4fa06af9873a89232ec6b8be96c6370a0a3b5d9a3d87f94ece851c44dc18e104425b8713ecffef78e3041d0e4562cabb528f59354e2890888fb5bdf5703d87d425f5f209db2ef8b2e32d3667880c75f0818d2b9208fb3e8f7758689ffbdc7808f88e1ef627d4472aefab921aa4e4daa08a8085c4f04a65cb9127b2f492b8ee67211e115f7ec437ea444035284712e89576908e1c633f85a664334323a3acac531c26509af5cd6a953a75e7df555a99ed79c825348a7e70274c0d1f6b8ba6a9643e610ec3b1847e41305b09c061c9bfad22b2e25e556928f1e6b7d2961ffb2911f4f9596155150251cb8b8d427d66af923302f003fdb21624f3a292b9fe00064762cb7e2bebd911f9d4d5cbad5864b96c8ee92c60c8661c0ee5eefa4069923ef368986196524da28da9c993ed4ef613a63b956ba9c3687bcadfc6636a595d599818ec36d4c8c838d29d15193d4ea23aa974ba2e6b89daacf1b5d27c37359ad569d0e0779fd9d917d56a3c545ed8ad2f16b328da74ee257d47e1f132b65a5edb8021b44e0084af151451ca4ac028a95a2b3d383dd5e46e4e80b58128c26aa67541ca9da941e1c1ef27a9928918bc8f607cc92a58f25a77ad58325593e4ff3aee89222ab8db69871f3a3e010dfe8b17153b2e398b8c9da51d4443ea9249f7486c4ec1e95ab8483727f8b164d28222b1f8916aeffb39b1b687c9e5fb0a3dd634814eb735d7ea763e8a366a9085c3d02172e5c30994c1a8d66ca94291f7ffc315eb98092318257f4ac2a2b2bd10bc2fde9366edcb870e1422d4ec3d768f02a0a69696948c12c2ec2c5391e8e1fafd280b57044be6236198d733a2043541f8ec25da3448c5c7d505dd2abc750952040a0e639d8540fc9bba494b3c16d37749f67ba2e0eea676453f9b8a03b78a6f9bfb96d4605155ca7e864d3e73a355bad066c4e77a9d6df37acb5d28594411bf0fc664b8be05f1d15a16b82009917614fc42515d5aefe4e4580a8c99b1101d5258d5a4df0a5334a53232a02134660905d88c34d24484688bfb7db1fa4b3f3f08f2d161aee3883bbec242322a5bc934d9f94364e1536060219b3e752160dc57284ba3d47547f740cb05296353282135a34927548e3ca577fa7e342a432a808dc4408a82ee94d64ac9b41d5a33f85453f9d80a27d9e03db3c07f0bbbd05bf640707bdc26ff0131077d545269b3e57dd205540820830cd1f34590c99d80bbb25132a1214a1b2258d40e7e1b77f7638e952389b75923d3726d004b5888a808a401401d5258d42a1466e3c027d9d573f2b3195ad986cfaa4b26daa2c050454a32b003379c9aac926af6d54cd54049241805bbf984c099557454045404540454045404540454045404520a508a82e694ae15485a908a808a808a808a808a808a808a808248f80fae17e3ccce8e5f00f5570e86dd817bffdd378e564f29f7e0132be848d5be3b252283f4eeecd9cf8fe8f61d13c18bd0c972ec04f9e670f775f0e5b1f860bbf831f45d0ab7904ee5b00c120e0963c9e3fc076d97db8ae3f08f4d295e5fa01effbcde3ef5d95a87256da419b07bf6cf588d67d2bd1e3e426ae0f55ed5a10eaf9ecf071513571e262092bed2c9b3bfce5b156f106563196eb1493e0505abd7441ae393d1c0c0c0f780f377bae7a87aaebd390d2cada99dafe6387da26a82f87c357fd590b526317797d268fddaf8f5512a845aebf497e775479ed02dc4b360c1acd48cfd943c79904045f0716899ed7a14eb50a15016504d45152656cb81c9b03dc6eb89b1e8f6fdcfc1a78a80e1a9689f952265f2cf8baa6d7bf006f3c979a1a7fd90c0d2e282800ba18eeb90f6cacd41a07141780fb815815d5cb885deaeac8b5be2646e76229d4472c7acc343587cab6e4e086fef15cb4a3d6bdd449c513134cd5de575b51569e133da62b524c891ec967ef89eb43cd5f48d3a5f6c2b8e263248c738a687ac11ccb182cd7274b848373d5a35525f9d9168bd9929d93b7200777774d3e5c8dbd84b52523872a2a2da44b706bd909061e0773aaeca2a0cfa4b1fb0461628b25639771ea91ef6f92df1d35979cf2518881a617dae78b84a6501f91e47192123d39fe1ba6cf38eaaad9b73e02ea28e978361e2447dd007b198f75bcfc001ed8845b9dc48714ca8f177c5d53f72e858234a8791d8f53bdaab0e8192832414f2b2cff7f889c458bf803020e1e8496d9c0fc2126fcb5efc0af000a5e8697dd7838528ccec552a58f58ee7869e6f3d3ccb4a9fd6745bb57e5cc2fa02c5302540b1e029054b096d7159a35831d9f34c74b54a28b8527aecf48883d392a72ca94589024cdf227bf698f44ced511c438d8aae92c5d78b0e3c0bb7b1030abcd06898df98ab498b0bdae460e39baeb4a58d2954522e593311c2eeaa9c8614ff2ac0953e5f5991c764fb811f28ca9b22f1e272bdfdf24bf3ba665d7af4ee109c2ae7a174d0e6f8b0f29d3275eecf829899e5c911ba6cff81aab1cb73802aa4b9aa081f1f0cd6b1aaeb5fc6baa3c9e98890f59f1737622552e5a404a35ff7f7cd9a34723420ec20689b78b4ec77405dc52a54fa4fa84ef4c4b132365c6c3ca90983c4074ed5db910ee8f9d71cf8b56a24b6b4e4e9fe847132b6eaf2315164f619927e641c50b9a784a8c8335170f0382de739f60d7c0d0d7392187142d35417b895b922a3962b9e2b400079bf35adbe55acb1737ee1aa4536517e5fe26f3bbebc35f948e9c0e1bfd95455b962a7da202138ec8e889656f9c3e092bae32dea208a82e6962861db1c2e61de02c20dca79be0bbcff3c5bebf09962d82193a08046068144ebc0b1bb692acfae7e07b0f103a86d010fc710b3cfb3989470361f81bd0fae0cd4f094d5e7e3dec5e0fd40cc230d403bb7f0a3fd9078b9e8037d7c087bb207d09b88a4816f311ac7a9a4430bcb105ee2d063ce13c3400efbf05af9103ec15c3fa7f87b533e1f54678e25198c3d6d2f60e3c8ebb8acad6fb146cfe36ec7e097ec2ba86448db5706c0bfcc749986e80a9582540fe7272c59345dbf7b1134093d407c744e7cf24126c15b0c80018c5935a173d056fae022023cc70ea3d786abc4d4fe94549eba38803d14536500ed7dd77cc996ed04db9120a8e86872f9edcd9a65dbb6ca10e4671b258f0e267dbf7463659c4ad56751953d3c86b2873068dd31070dfd5419f3772e427bde21f6a73f457ce7fb2776fabd87f2a75df9d950eddc70e93e3c405414a4f813eacfcd1a0b6d2b5aa84ce427306facf1fd8b997b155ae5d7ea7ffd4813d8719c26273342c2b85ae4f771e27a97028d3e15e534659907fb0d7fbdbddcd633bb256bbf33e47a159cff69670d0c77cba6b3f4ebab53fd0e0c833e3d9bb100e0e7e79ea70d361afa36ead5defeb0acccccf31f8cf1ff35c9ebb98b684fc4ce3b6a66815221c6c365bf60c32bf21c3986bb365180c78522bbfa798bdda5d56903b0deb0d850223e1e1ee63bb8ea7352c2b1efdf2e417da7965f982f68e692f1939ec81b732edfaa45bdeee3a053c9b2e1140014f846583ddb9d6b140af193efebb9dd82f94eae57845382051c92e4a7264f4dfafa0cfff905eaa205fc68e6c8791c39955ddb174653195adc31f4738d071fac89e16514fe7dac75f6d8eba65a586932d9e598ef23c13e92dc35dc7de7e1f7f68b2f52ae0dcaa6017b65725a78f6c7fc3df8bec7320ae2982c498fd4d561f651c0462e3a329783e447f75f192d5948a406a11505dd2c4f06c60274a5e60602605456ed8ec810d3be0955f819b426f114e9e00f33ce2d5d97288b8b59b60839378516d2de04f873bef82794817b8a46b7f0c1b5ce836c23b1ba1b78c149191df0f2dcf11f7eef447d091062e073cfc128cf4c067163099c0fd182975a11d747940dd03afd4c38f1a61f31e70ce8601065abb60c93d50ff03608ec376e55559d38c9049c1cb1b88aa274f43711118a7012c57a8771a649a601a2ac40603aa9149dafbf27a28603d0c243ff9129fbb07e0c57dc9e9b3e839f8593d5fdcf918207e18ee7e01b6fbc1e7039cef50300766a27ae38597ff6fd2fac8e3a0581155bdd25d924dbcfedeeee13453b6d99066d043c03f383c8c836b068b29c390112dec74fdadddc20f8b508b5d149b317006b6732753d97266e949ae719a64aea8adba8232829ff935e70b46254ae8a9d1e70ce0f88d2ebbb02c1b02033ebfd66836e755b9ecccd90c43ba6e3483f79420436fd0a56b4c4654076d9255e2ccc2de33d07fd9603664d16e77cfb626d6578d6a2b88584bdd7f57456920e4eb62fa035af34c9bc18c72e895eb9cd9e8a6f79eef1cd0cccdcfa5ca5c75a1415f9a4e6fa1f2d1470d858d79658b11ee50586bcc29b2c121ce7517e16073feed83760e681355f120452aee9fd3bcf380d7ee6a70d2669c7ce3ebee0eebcd59267d06ea9f017a9d4e4757b0fa637ba773ed9d6b5da2642f7939383d40ae5d4e97435ecee74a78f22e200e3b5b4b977ebb2a3f1dc21dc7fe44fc5159fda3c08a7050b68b921c59fd0114f419ca2996b7fbb0ac1df7f4e86571669a3de5ee87480f0ff4331d7eebbcbc5cfb12777f77d37145df272343a74b3757b8aab02ff477f7eab3b33274f84393ef3f7b7ae47156b4cb016f72fa28f5b7e301d9e740d45ca2c818cf07257d147010098e2553f37cb88127e9c59aa2c66e7d04549734611b37be4e061d6b5e804d75407f0b16d9883f1aba004fae24f31de9676047032bab001e65fdd1cd4b60bb50780d49042ec3a39be049641882cdeb88bfb8887549314b24ffe96cd61fdd09dfdd440ad6ff187ee882354fc00fce912486a6cdf0a31d403f073beaa1a010e8a7883f3a741afefaef496ecdcbb0c90df7af80ed6c7142520a3df0ccfd70b0008eee80b474787acd38f572620623d236be0873cdf0f09330270d76fe1b99baa7d3c1897d49eb73f457f0da19a8fd7bb8670eb4ee84df77c274803fb1a3adabb6a2430a877644aa1cf33e717de27150aac4eaf82be28f0e9f687afb1083ee43f5a3ab4bc8afa8afedfd9d6d985ef9f86a76a4972f7fea4f07facd7a5bd962ca34a5e3c4e1b37ed069b5df74731f96013a5b8e7832e74f0f7f7e264289d4eb72da75103c73a82942e0ef627acaf461ff9b021c59fc7057f371b03ad7adb61bac59f0597cfd23f149806e4fcbaf71708baa7ddc5d68b0ce06507249ad55e5c41f653efc85d06bb555ae447f34d07be2dddd878868fbd2c79df9b9c58e013f49f51edbff45764d458e7ef8fc871f5c5cb0ba222b039d10368871e83c75a0a577d6fcb2923c93bfe344db593f76c34b5f7a71b6df62f447c3039f7cb09d0c4347ed156988a8bd8af6529203f2edb2daba14eccee3cc3723a2069f1c0dce2877dfb798d242f0dc87efed47ff4cb15ebe8418079e2cb18bcd288f8382fe00149124a30fafbfc8eeb64a83ac1d6dbfe35d5b11ce60ad2c457f34d8dbb46537831551aec7dd74ee1d45709ced06a46ea53078a2e9dd438c75d5fad5591aadadb278ec7a7929119c15ed9bac3e4afdad0f649f034a8db90a7de27050920f297b3e28d6a066a808a41081dbd1257df6977ffcf602f6933a0f6460efb3f7bed23226aaf8459bfb087eb0150275609907f7e69202bf7f975f7f333df2aa842580dfc07b3e8df74759e138ac642a8327317e099e5f0afb58227791cabf6b160e06c06fdfe7991af7c1332ed04de593179a883f8a01fd362e94b0fa641641cb41f2e19ef8950053d9b1b79d7f8282b8f6c2334b62eb90feeb0536de0e6fbd055f9d84fff5c658f5727509af47f71104ead793527fdcc1a3810cf5c9ead30e8ded90bf12ee01387b141a4533475969c27a95e213d0871325c24141be75ee6cc4d4cfb4117f14834ecb8dccb109bc1811fb2b9104defb3abd7d9d60b43b30fef5e7c7c51b39a107d722f4d0f89256471d6dd60e771c3bc0f014ee26a5a74c1f1b99e2161ef0127f1403db5f70dc748c80fc81ae63c41fc5c05cb8142accca34d3c04fd990149c4bbeb50e76b6c6bbacf37370fc32dcf597d33cbfe72f97aaf3b3d2d2b5a84ed877f43093bb0abf270c7af61ed755df813cdc7c5c290e88b4d7d33738c35e9207015f87c7c37002a9ea1c6c4affd963fcb40881bd64dbab642f6539f2ed5292c3ef20c1b736fe8670eb7216e380300c7b9adf6ef1925c6abea2fe982b8703b1a3d42e65f34d0a38c8eb4fea96d307c9b2f28bc89610327644aa2cce906d224fccf4acfbd6ad23a606b4384c492334e79ac7ed6426483484ce34fd22fa43c0957e8718cceafbf39123fa6fbae7172f53aa375a5e1851b48b3d597de4fb5ba42ef173204217df27a00f27428483586e249db2e74344a07a5711b8a608dc8e2ee91f766f1b992ff8043ce26b69190fe4339117295d40ded6ed3876842fdfe8cc2f8099912fda2c19647125c41084b4a03541f972d827f049a5f2d36ce413dca5e867f74c22139d5a2e7c33148945eeb34c2476e1249cf347e6a3a5c117270971d7bb902f6c6f5fcc1fc5c1dae812a22d5b09f3436c354af5120e36e08c4869601d609e3c417dd8d2191130a555244549501f22538283424546239a1fbfd20ff0f919e4559ae8baa5e8bf2d0ac22364bab68cac6a6addd31aa17077197a6af5098d048535a233210e19c405e75c558cf87bbfe219ac56034ed4f4f5b07e94b810495b59a244a296c8bb121c8e7eae4dd74ce19c7a520f3bb68543abc33d384334265506072e93e3d168c59d531bf5700c71f61aa7bd822a39f9327214da155316631239b15c019ec477c3599a618d56a3b3e6d0e08d6129532f11218f038a91daa59f35808c9c31f457d04756fea8d6a86047a2a81467ab418736090e7477f846225a6982fdddc8dc7ef258688600b2d0d0e70c11c286e0d71d9d5cccdb861f25c0f92d5447b6ff705c91ab10e7084d689789e9c36929ed6fd11a928b081a3d863eac4c310e4a15a5f6f9a0548b4a5711481502b2ae53aa844f52399fbcf78b4f92562df2a1fae9a5a4e8a56ec8607dcfafb957690d6cb88f17e9fd9c2cc599b110f043bd68a40f39864ec0f3a7615303d4e3c4d021d818e590c83fdf09450570ff23b06f2b914cdbc9d86720e2934aed76f42c3ce6009d0f363c43f885a1f1e7c2547c5c0b42bf0df3701c6f8c7ad17523a106fef97e3612b970fa441a41a813d4272250f63e1af9fc26ca95d293d2874893e020aa2296242f6a9d81fd07006ceeea7c4c8b5d52c9262ffc50aaacfa94bddc146c3b1ef33fc86a152d749f905bd524434fa53e1a224c1c5807947355a9babfa2b11b722e29cbc737a9bc720119031dfe265658d4aebe4b811018f5b34a29888e782173d745bf3dcb62bba31cbcc4c3002b3bb73618128e34033aa9b802905c4850c287cb155f5967347899ebb7d48aaa05427bc9b61725c8d84b498e42bb383564e4f0e829e019ecfe7d736f0d4e55b6bb568482ef1f62d82f1e20abff983848eca225bea78c9c31f507a93e3cbe62f95d5fcbdb916ba714e7be0e5fb022375d3bdcd4d4c48b8cdc3a3dfc88768420bc6b847e246628f51fac778c7e2bb5cb44f511ea26894b9e031c877413a8a4f46185887188d52dfaddb1ffe8a4f27915ab498da908a41e01a96b93fa3a6e05898b1e861fde0ff64a289a098176f8decfa1fe0e802258f12f30fd41b8c7c97d276747310fc2fe76a82b804dcdd0f45be8cf80e2bb60b805bec78eb36aa7c2c14df0da4c3231b4e10df8e61ff92fdd52f9e8d8d617c03d8fc12b46389b016b5713189bf70014c6e11975288f6e82f607a1c009bb7f028d1f818d861a170c3641c3eb71fce3265efbdd58f5baff37a42f279239972c2aaddd47961fe1fe03bf390a8b9642faa7f0548af489568191ec32f8d79761f0acf8042cdb2242870bf062c4f9be66fa305d7d21bbc5985fb162e96c5d0e65611727b15b06c514d51a725cb52e18f1351f62dd2c9c13d9370c16d3fc256effe94ea36dc16c6dd72e6e49bed5f190bb02c797161883bbd1ffc01059add2c225a35215e829d387d734529f60c0064916ba6aa9f60e5c6e642663c47cc057be3eb7bcd65998396b4e5e9601c748639b5549db05cc9fdb7dae424ba1fbd169debff45cd65a67d98ca3ccce3ddebbed8b8d798b56ba74677ddaa2d285e8daf69f3b3382d358d9b769a4b6c85dcfaffa12e313c917dd99de6fc2906529aaa99b5a64cca34cdcf8a9c0a7e6f9e3db2b63afcf95e428b50b5782cbd99dc559164fe2f46ad28139f4768b619d333fa76469ddc8077b94f457e80f2843d62e8cddaa808392fe5fc9ebd3212fdf0ba3b2766400ed2808519c3b0f9df315155aa8471b1e38e9390f46eb1cec5d41ef965d2d02eef1a3de16f9fec3d52b8b330a95b1efded4e823d458fa1ce072d38db9f87cd0c2c027075ab9218d94e923f9dda5ecf910dd4244d84235ae22906a0434a916788bca2bc005ec75c41fed3909fff41dd2c8c667a0ed2bd0ce009713743db0f92d32803895fde2fce277a0e934ce1b05770334d44331057af6498c439c217698b3f19fe12d7cf26ae1b13770dd0e0952f9b0159e6f84800edc0fc3930d30430b2defc08bb8a9133b3e7139326634c846b861c286178019200bf0376c80863ac8d1423bc34a1fe3221ee003a57a8fbe0e6d3d903907ea5c60e8819decd846548d1ffd27740588438c553b8b819bf23a117d587c70fc581a50d3194550e786952e4126db7c5301a1df7f6f8c9eb43e521c62c2e262dee6a34c3f99f4979f6fd10718cfb96100768b279e2b443c822c72548b7d011529e9696eedf0877009f9e2aa2a3b95ad17fc27c8fd0235e4fd4f82bbb64407215cd5c4bdab38e2187448993e44f151b23d3a1b46484f25c3399d2da7bb0621dd945f986f4e1ff49ef0627b71193c3291865af20aed85e88f0607bb8fecdde5e10b939ba85d48f11ed875c4db1b025d2e5d525662cfcb36ebd3b0d96ddb9a3dfe90369b2eab5a5c822e7e3f736ce7019414861019620ba122b121d370f622797c48952410c5826c413689a3fe4da7bafca0d1e7e65326ede0990f8f7407418bcbf870ef45d9f6b2c564eca52847a95d44908c1c653cc99695dcb89a67ff7b47982068722b96d506e5f557ea2758a9bc5d92d75f5e1f3c1453deee4a7654c4f9c0aee6f3fd019d39afa2aaaaa2a430dba8f1f7e12f6bec80958b8242bdca38637919bb004c481f497f8b6827fb1ce05f003a0b3e1ff2e9f9960873f2fa4871e065897f77297b3e447455ef2a02d712812957aec49ef7d28aa2b95c44780db34343488906a408e35c12afd210c20d5df075c78668647474948b6384cb125eb9ac53a74ebdfaeaab523daf3905a7904ecf05e880a3ed7175d52c87cc21b27da64c2880e534e0980f2efb159592322bc9478fb5be94b07fd9185b39242d2ea4a04ab97ab8d4a7a09590758cb842bda4bdb85da86016ac5006e65af5625553a38fb09a84e3d7421fab0d972ce1b9409431836118b0bbd73ba941e6c8bbecfe94636b66a3687366fa50bf87e98c315ae972da1cf2b6f29bdf94565667063a0eb731310e36a644474d52ab8fa85e2e899ae3e4619f577c9ebdd56ad5e97090d7df19d967355a5cd4ae281dbfcdd3786a663a04fb7d4cac9495b6e3ca6910812328c547157190b20a28568ace4e0f7647b62915e48c1595da6b4c39b2ed22f2a57294f054d2465aefd83828d9452a4750a3a2fe021e3eaa249f1837313b466512954ce9c1e121af978912938fc8d73b36ce52bb60bd29d227f916c8f59309e823fedd5d97e7c3445aab96112070e1c20593c9a4d168a64c99f2f1c71fe3950bc88211bca267555959895ed0f0f0f0c68d1b172e5ca8c569f81a0d5e45212d2d0d2998c545b838c7c3f1e3551ab0168ec857cc26a3714e076488eac351b86b948891ab0faa4b7af518aa126e2304286783db6ee83ecf745d1cd4cfc8a6f2714174f04cf37fdfa86dfb269b3eb75157509baa2230e911509f0f93de444441d5258d9a49f005314a53232a022a020a08f87bbbfd413a3b0fff588ed070c799d61be58fa206934d1f05d854b28a808ac00d40407d3edc00d0d52aaf0201d525bd0af0d4a2b71f027d9e03db3c07f0bbbd05bf640707bdc26ff037028dc9a6cf8dc040ad53454045401e01f5f9208f8b4a9dac08a82ee964b58caad72446a0af933f3c7d92e838d9f49924b0a86aa808a8082002eaf341ed06370b02dcfabc9b455b554f150115011501150115011501150115815b1001d525bd058daa364945404540454045404540454045e0e642407549c7b317bd1c5e791996178cc79740fed32fc0f71f11f3a550be58f498e964eb4d967fccca0196c3d61df0ca23e370ddf86c7ae9ca352b5ce5a954c44a3b2a1d769b44a4123d8e31717da86a97abb2545a4d9cb858c24a3b5d2e07cd9d2f1923df8058423824ab57e2b8252bf91af0538e156bd62c75d0c989e670a35266c7d2ca5a5775b9b843dca87e926cbdc9f28f83f5cdd27f6e163dc7815bcdbe6d11505dd2f14c6f7380db0d7727f97a90915a030fd541c332714ecae48b058f934eb6de64f9c7aebec601c505e07e40ccb5fe0578e3393111d34a7419d69492a83954b6250737b68e974a3b6add4b9d543c31c154ed7db51565e539d163b722c594e8917cf69eb83ed4fc85345d6a2f8c2b3e46c238a788a617cc89eede3d06ebb5cd4a0887645550c02d59314afc4afd4189ae2487a35373e7e7582cf9f49cb1d944b93c6ee654d9912a2a2da44b700bd9f870a3fa49b2f526cb1fdf4a714aa1ff28d957892e169bf274927aa6bc7e55a08ac05522a02e6f1a0fc04172840cb097f158c7cb0fe0814d78264e7c48a1fc78c1e3a492ad3759feb1ab3f78105a6603f30731d7bd4ba1200d6a5e07d1e1034a7471f954a799cf4f33d3a6f69ff5c60bce995f4059a604a816dc2c3fa9602daf2b346b063b3e698e97a844170b4f5c9f91107bc212b92414587e8543b913129012a6447148b63205dc9215a3c4afd41f94e84a72383a73eae4b9e90b2e7f71666c36616e0cb78b7a2a720894906102717244d795b0f8c977a3fa49b2f526cb3f36400afd47c9be4af4b12b49416e927aa6a04655848a404a11505dd204e1943be232c1a209b15d6bf94a4a245b6fb2fc4af51e840d22af93e51cc5d7a09c17a54457129f323ad3d2c44885e1e16348945354ca2ba4d0b577e542b83f76163c9fa9441796e5e2c9e913fd08829f5f4527944a45b3cc620f44ca762d2989e390ac16f2b8252b45895fa93f28d195e4f0f43ecffe3d9e7178e2b205b8d99cd7da8ed75a7e5ccb048964eb4d965f5095342adf7f94ecab4497ca4d3525393d535dbb2a4f45e06a11505dd2c4101cb1c2e61de06467949e6e82ef3ecf17fbfe2658b60866e8201080a15138f12e6cd84ab2ea9f83ef3d40e8184243f0c72df0ece7241e0d84e16f40eb83373f253479f9f5b07b3d503308c3500fecfe29fc641f2c7a02de5c031fee82f425e02a2259cc47b0ea6912c1f0c616b8b718f0e4f0d000bcff16bcd6c89115aff2f50248dbb59d9521e67f1b7ef913c8fe1a9efb4eecbcd3a7ff1dfe5701fcd70fe15c05fcbf7f077358fdb174d74750f7342c7a0ade5c0540468ce1d47bf0d44f79dde84530dd0053d9b3def39713229e5cda8e27972ad0b95146d9f6aeff77583b135e6f84271ee56b6f7b071e8f54c4d71777a31caebbef9833dda09b7225141c0d0f5f3cb9b34dbb76d9421d8c864113bcf8d9f6bd87f902b825a92e632a7baa7de60c1aa76ae2fea4833e6fe4684c7ac53fd4e6e8af9cff64efde56c1b1a16ce152f7dd59e9d07decb0c8dd90d253a00f5be368505be95a55426721ac81fef30776ee656c956b97dfe93f7560cf6186b0d81c0dcb4aa1ebd39dc7492a1cca74b8d7945116e41fecf5fe7677f3d88eacd5eebccf5168d6b3560b077dcca7bbf6b701d81f6870e499f12c5d080707bf3c75b8e9b0d751b7d6aef7750566e6e718fce78f792ecf5d4c5b427ea6715b53b40a210e63f3dbabdd6505b9d3b0de502830121eee3eb6aba9cde6a85b566a38d9e299e528cf3391da87bb8ebddd0af27624cd95d19305a478f4cb935f68e795e50b7023fce058bab298cad6a1b3130e749c3eb2a7c5438e9695ed0f788ca82c9d6dad8c1c344565ddb28559e408793c375003becf0ef236c2a9a555f61cb645a843d07f7edfb6bdc2be25c48d5553d18eb2b86111393b5ee244e129af24d89d6b1d0bf49ae1e3ff436a56e827a9c093ad4de9a2502fc8b44bbe3f1f2b5d757fbe2170fcf7bba2bf4eaab2aeb6c4d275f4f74d97726570c6df4b52cf8109d85db6dfbe1f79e0c8619182e743f45727275fa5a908dc280454973431e41bd8098e1718984941911b367b6003aecef915b829f416e1e40930cf23de8f2d87885bbb09363889d7d5d602fe74b8f32e988774814bbaf6c7b0c14546d9ded908bd65a4888cfc7e68798eb865a73f828e347039e0e19760a4073eb380c904eec748a90beda0cb03ea1e78a51e7ed4089bf78073360c30d0da054bee81fa1f00731cb6b7134ea52053af72bb508894dffb351415c0134fc151cee75b04750ed07d055b8ec2eeff03737470ba15980198b300ac6c67fbda0f3e1fe0fc85823930735a4caf97ff2f14b09e0d929e7c89a7ef01b8f35fe5e92fee536cef34236452f0f206628293a7a1b8088c828a6255f231aa7aa5bb249b78f1bdddc369a66cb321cda087807f70781807430d16538621235ac8e9fa5bbb851d7f01a016bb283663e00c6ce74e70b2e5ccd2935ce334c95c515b750565043ff36bce178c4a94d053a3cf19e2dbe8b20bcbb22130e0f36b8d66735e95cbce9ccd30a4eb4633784f0332f4065dbac6644475d0265925ce2c446da0ffb2c16cc8a2ddee9e6d4decbb3daaad20622d75ff5d15a58190af8be90f68cd336d0633caa157ae73e271f583bde73b073473f373a932575d68d097a6d35ba87cf4514361635ed962843b14d61a738a6c708873afe271c850e6bf7467839336a36fe6ebee0eebcd59267d06ab7f46864e976eae7055a1ecfeee5e7d7656862e43c98e4a7aeee9d1eb753a1d5dc1e280b84de7716bf694bb1f22160cf4331d7eebbcbc5cfb12777ff750917c7fb830b356a99fc8ca693ade87ffd6e201d6e88f8246673619f4111bd55696e598b4fede8eaf2e05a69a2c59999a58774473c4e336861ded2e79dc14ecc8bba4386c6e2d5dfaedaafc7408771cfb53eb504eb17c3f1996b57bb278121c148252ff546a972cffc77d81c22c4bb1a3b295f7f96c2585b93aadbfbbadb3b6e101199c0381a49e0313b0bb7cbf550001c9a9793edcc013e7949ba6e6a808a82e69c27da0f17532e858f3026caa03fa5bb0c846fcd1d0057872251920a49f811d0dacac027894f547372f81ed42e1352411b80c8f6e822791610836af23fee222d625c52c91fca7b3597f74277c77132958ff63f8a10bd63c013f384792189a36c38f7600fd1ceca8878242a09f22fee8d069f8ebbf27b9352fc32637dcbf02b6b3c509492188ea556c57a4b888bfee1d70bd04e575b0e8a70487b5df011c156dfb0035805938487c091a3743637ba43080772bacda8a0e291cda1123626ce38b30d70c0f3f0973d260e7bf01ba293a1d9cd8077b419e3e7e7b7be099fbe160011cdd0169110f2cae4a366175fc15f147874f34bd7d88c1d76ff5a3ab4bc8afa2afedfd9d38e0675df9f8ea998252a7fe74a0dfacb7952da64c533a4e1c3eeb079d56fb4d3737660bd0d972c493397f7af8f333114aa4accb69d741f0cca1a60881bf8be929d387fdef08c0e7fd7057f371b03ad7adb61bac59f0597cfd23f149806e4fcbaf71f08faa7ddc5d68b0ce06507249ad55e5c41f653efc85d06bb555ae447f34d07be2dddd878868fbd2c79df9b9c58e013f49f51edbff45764d458e7ef8fc871f5c5cb0ba222b23e25e897160ff3d91e19f5ebd18fdd1f0c0271f6c27035d517b11f15c183cd1f4ee21c6ba6afdea2c8d56c98eb6ca62593d6dbfe35d31316ed6ca52f44783bd4d5b7633580fe57adc4de7de51f49e427ff09d01f97ea220078e1fea6cdb4f7a1c066bf5bad5256c0c2f94d980580c7fe5f9b0d923e3ae89718b1413dbd16654c04dde8e582f91341a9c51eebe6f31a585e0b90fdfdb8ffe22f75fb7a49fd82a0d29c1137188b440fe9e70bbf8e2227eefb6b66fe5bbb2720aab6d87c9ff42a5a5b97a1c4dff4b1b502b65714ef2393001bb47da19df6f2354f13d65cf07b16035ad22301910b81d5dd2677ff9c76f2f603fa9f31608ec7df6de575ac634077ef9e53e821f6c85401d58e6c1bdb9a4c0efdfe53f584f8fbc5a6109f1c97a3e8df74759e1f86fbba90c9ec4f825787e29ec6389dc452affae5938d803bf7d9f676adc07cfb84037954f5e6822fe2886e93c014a587d328ba0e520f9704ffc5980a992b1ba083b7f97d6abd82eb684941f9bd1b416ea8be01f9f814736c18338fe3504bffc39e1fe88011c46fce10ef8df3d70f430fcc74b10f3d3586d5991fce5e83e8264fd7ad2ea3feee05125790af4faf1dafb5f2fb06ba4dae1adb7e0ab93c2aa8471ebdcd988919f6923fe28069d56c3de23172362792592c07b5fa7b7af138c7607c6bffefcb807df6af1e1788bd043e3f3ac8e3adaac1dee38768089e396d253a68f0db021e1012ff14731b0fd3d1c57b93881fc81ae63c41fc5c05cb8142accca34d3f84f8498914bcf255f92073b5be35dd6f939387e19eefacb69be90e72f97aaf3b3d2d2b5a84ed877f43093bbca85c53c7b8febaaef401e6e3eae140750e0d7cccec1a6f49f3dc67f7815db0b70e5186bcabe3f1f39a2ffa63ba2bbd88e4a7a626790c72ddb447ee1e959f7ad5b4754036c114c49cb50ee0f0afdc42e2f27a2277b8f6b1473f67c7f76be9976ae5e70cf604fc78593ad07bc11d7540e37a2bfd48e65f34d0ab8c9db91e881dd4597b3187fd030ec697ebb25d20f64e517912d2464ec9e2c9e6cfbe52fb2f52ab74b1e071abc47bddf72dbb3ee585c7de8d7876a8bf270b8fdf33fb7629563e08c9f3d127e0e4cd0ee0afd560c45ca9e0f62c16a5a45605220703bbaa47fd8bd6d64feb418fc23be9696584a3e7626f2e2a50bc8dbbd1dc79af0658dafa808fb4cd605c4144b06595c093104212d684d50be1cf6097c52a9fc349ca6380a97a2e38b9944263ab55cf86628128bdc679948ecc24938e78f6895065f28ba627c3169bd4aede20ac8f003bcb61ddc2f41f132a81f81021da0bbccad5c7a7635d43f036bee8582d9e0ac03e712b123ce2b21b9e17b4c3608e9e3b477088ea287cb862d5bf988dccd6824ce5ac03fc06766105783f393e4d8e369c4494924d0b565645553eb1ef2e61304197a6af5098d0405d59197b4386410179c735531e2effd8a67b05a71cc28e4eb89f821e27260652912895a22ef4a7038e23441ba660ae7d4937ad831591c5a1dee011080278303e7192af083168dc40583c85ec1af3b3ab91c6f1b37e418e18cbf2beb49f8a4b8590d3aac3338d0dde11b89d4ae09f6475d5e56baa04971b509e809c9892b0cc7f7efecb5575714533916633655984dcd9dd3fc36fbdd5516376265a91dfb598345342733a0f97eae6047a202316e3814d668353a6b0efa727c5f90953faa352ad89d489a209ea4682cc8d6abd82e567d290ea40d2d7feea55d59d90595f6d01c8b363c70ae8521b528e34c72c70a02fbc6b109e8e3d93dd17e9bdae7439cb66a424560122020eb3a4d02bdaea50a9fbcf78b4f92963fc897787a29895cea860cd6f7fc9a7bf5d6c086fb7806efe764e9ce8c85f8e15abc9311720c9d80e74fc3a606a8c789a143b031baea5c22ff7c2799a379ff23b06f2b914cdbc9d86720e2934aed76f42c3c8693387db0e119c22f0d35f5903b0cdb057e30e191d4abd42e5ea0849fd02303a53f7c98b873efbfcdf3e2ad7113f9c3cff49b5f0727050f3e01fbd801548e6394753962dcc0bbf2914a62395c7b85f471daab05a1ff1a13248d9117afcec03af4607357e7635aec924af646e2875225ea13e994bddc146c3b1ef3e5c8ea132d749f905bd524434fa53e1a224c1c580734c852a9babfa2b15b712e294be19b545eb9808c810e7f132b2c6a57dfa540088cfa59a51408877ebb2efaed5916db1de5e0653d422b3bb73618128e34033aa9b8a22f225a099f483e8e460af8d916052f73ff92512baa16c4db4b2374756312b898c08e4a7a72b84871ebebf0052b72d3b5c34d4d4d62b1b8528fc339daa40887943eb69c4839f1bdd37308fff08b7ea5fbbe32ca3cb7c801ded6317193d8514b7c4f19dc14ecc86b10ecfe7d736f0d4eb5b6bb568482ef1f62229a89e5777d2d6ff789e1496a11f537be6271bda0d42e257e42e7074acb9c38692a7cfeb3633c2fcebb91c3399a8bfe792ccec6a4f6e518a4f4f1ecaedc6fc53890ae96cae795a8496a5245e0862220756d6ea83a93b6f2450fc30fef077b2514cd84403b7cefe7507f074011acf81798fe20dce3e4be93b3a39807617f3bd415c0a66668fa2df46740f15d30dc02df63c759b553e1e026786d269918daf0067cf38ffc176aa97c746ceb0be09ec7e015239ccd80b5ab0936cd7b000ae3408a3a5e473741fb8350e084dd3f81c68fc046438d0b069ba0e175c24f3f019b1e23119bd00fc6e5ec89b78b9496e167c9fc40298e140f9c802decc86ecd73b06905b41d821327a017c0c24e39e8c3d13141c82e837f7d1906cfc2c6ad3cb5dd47963de17affdf1c85454b21fd537e49be0c7dccf60a2a193bca74f585ec16637ec58aa5b3753994855d9cc46ef1142ba735e4b86a5d30e26b3ec40fbcf5f60d83c5347f89db7fbad3685b305bdbb58b5b926f753ce4aec0f1a205c6e06eeefd1d597dd2127b9db39215e829d34734442818b0c1ea2d74d552ed1db8dcc84cc688f9808ea93eb7bcd65998396b4e5e9601c748639b5549db05cc9fdb7dae424ba1fbd169debff45cd65a67d98ca3ccce3ddebbed8b8d798b56ba74677ddaa2d285e8daf69f3b3382d358e5466941cfaffa12e34394226f5f5108f67f13862c4b514dddd422631e654a67f3053eb5885f9814dad1db22af2703a8a7204471eb3c74ce575468a11e6d78e0a4e73c18ad7310bda077cbae16e456ea0f72f4b1e4082a8e4429e73a77d160d797e7bbbbfd4360603737080e0d465735497193b52363b72ae0a664c7aff07f15d0a40373e8ed16c33a677e4ec9d2ba910ff674907f60a4fdc40ba3b2769f189e20d3dfe4eb556e973c3f072bc30d9462e70974b7b5b1c30a4a3847ec807761ffe1c872f63d8c5972f424edce5520c12165cf87e816225c45ea554560722020f3d09f1c8a4d322d0a70017b1df1477b4ec23f7d8728d7f80cb47d05da19e07282ae0736bf855328612afbf9fec5ef4013cea5c375f10dd0500fc514e8d9371b0e7186d861cec67f86b7f04da685c7dec0014412a4f2612b3cdf08011db81f86271b6086165ade8117715327769ce0323f5a00836c841b6e6c7881ac6dc705f81b3640431de468a19d61a50b2ed1572c4793d63b46bbb088949f97bd0f3eba40a27f886c3b75f00cf48c42b993ac58daf02414cf860bad645b8068c01187194550e78695ae280d7ef49fd015208e3536c1590cac1f4b7265e963b5573c9e11ab4214f3361f65fac9a4b9fc7c8b3ec078ce0de358ade06711226fe02c3cbf89b62fa022653dcdad1dfe102e215f5c5565a7b2f582ffecb8a2b8ae860beeda121d84705513fbde8b940750a243caf4218a8f92edced930427a5e1887793a5b4e770d42ba29bf30df9c3ee83de1c5f6e2327864220db5e415da0bd11f0d0e761fd9bb8b9d55ca0b10b50ba9de03bb8e787b43a0cba54bca4aec79d9667d1a36bb6d5bb3c71fd266d365558b4bd0c5ef678eed3c8092c21022436621542436641ace5e248f8f123ff4359deaf283469f9b4f99b483673e3cd21d046d6cf91a36423e48eca8a4a7026e000776359fef0fe8cc79155555152585d9468dbf0f7b0e094afd41963e861c4e1a5e63cd607a7d8357cc39544919f6b5c574b63138d0d1daec51ec3f4a76f428e2a6604708a212dcb8a067ff7b47982068722b96d55a94fa492af14404a4fd4dbe7f2ab74b9e9f87d8eb394fe6eaf8ce4666832be0ccb363bf25e2127d0e246f77942e1fc438a4ecf9205f9d4a5511b8b1084cb97225f67e90aa12cde522c22bee9d87fc488906a408e35c12afd210c20d60f0f5c88668647474948b6384cb125eb9ac53a74ebdfaeaab523daf3905a7904ecf05e880a3ec1060b4be9ae5903904fba2dfdfa319182980e534e018d1975e712921171757928f42ea4b09cb978d82153fd2f2020aaa848b482ff589b55afe08cc0bc0cf76085871f434c97629f1e399f5875e82340616b3a3b9d13a70b7d182b90484bee370301eba288f34824db0ea659a2c4b576aaf54ac2cc56ac3254b6477496306c3306077af775283cc91779b44c38c32856d146dce4c1feaf7309db15c2b5d4e9b43de567e339bd2caeacc40c7e13626c6c1c694e8a8496af511d5cb255173dc4ed5e78dae93e1b9ac56ab4e8783bcfecec83eabd1e2a27645e9f83599c65327d321d8ef6362a5acb41d576083081c41293eaa8883945540b15274767ab0dbcb881c7d014b82d144f58c8a23559bd283c3435e2f13257211d9fe8059b2f4b1e454af7ab024cbe769de989018b70000400049444154155d5264b5d116733a823cc4377a6cdc94ec38266eb2761435914f2ac9279d2131bb47e52ae120dbdf94ea556a97123f3ef8d63ceeb24ce96ff9cf9dc2ffbbf0d727c239aae7181159fb22bf2c5da9bd4af2c5385c97e78392322afd1a2170e1c20593c9a4d168a64c99f2f1c71fe3950b581d46f08a9e556565257a41b84fdcc68d1b172e5ca8c5e9f01a0d5e45212d2d0d2998c545b838c7c3f1e3551ab0168ec857cc26a3714e076488eac351b86b948891ab0faa4b7af518dece120ae0fbabc9b8edf20760a60e1a5f80d7447355273b3894b3c16d37749f67ba2e0eea676453f9b8a03b78a6f9bf6fd4b67d934d9fc96ebf5b473f9bd35daaf5f70d6bad742165d0063cbfd9d222f857e7d669e88d6c89b5bc7aa12e04397461b641dbeb69de1d75fa6fa45649d4ad3e1f9200ebe661555dd2a8ad045f1ca33435a222902802349999c0858f709fac9bcc1f45c5fdbdddfe209d9d877f6c3342c31d6770971dbe4dd7ff36d9f4b9fe08dcae3566cc9e4b593414dbfc50b7e788ea8f5e839e60292cb19b59b9fde78fdd74fe282aae3e1fae41af50454e22045497741219e3265405774bc58f7540f6b4bf716edcd5e0d6e739b0cd7300bfdb5bf04b7670d02bfc067f3572275a76b2e933d176a8e592458069fea0c962c8c45ed82d995091ac2c955f01016f4b1398332132fd41816b1293d5e7c324368eaa5a0a10505dd21480785b8b3878f38d8c4aedd5d779f5b312a552274e996cfa4cbc256ac98411508d9e30541367ec64bcb7c06c08b5ab4cbc07a825273702dc7abec9ada3aa9d8a808a808a808a808a808a808a808ac02d8d80ea92ded2e6551ba722a022a022a022a022a022a022703320a0baa4e359895e0eafbc0ccb0bc6e34b20ffe917e0fb8f88f952285f2cfa7aa697c3d61df08aa475d753856b5217bd74e59a15aef254cab6d28e4a87dd2611a9448f634c5c1faadae5aa2c955613272e96b0d24e97cb4193337e6e7048088764754c1cb764255f037ecab162cd9aa50e3a39d11c6e54caec585a59ebaa2e177788c9d34f924347c47d53f50791ee6a5245e0d645407549c7b3adcd016e37dc9de4eb41466a0d3c54070dcbc43929932f167c5dd3350e282e00f703d7aad2f52fc01bcfc90857a2cbb04e8844cda1b22db8658cc8fcb4a3d6bd140f489d48a8bdafb6a2ac3c277aec564486123d92cfde13d7879abf90a64bed8571c5c74818e714d1f48239963158ae4f56423824ab8a026ec98a51e257ea0f4a7425391c9d9a3b3fc762c9a7e78ccd26cae57133a7ca8e545169215d825bcec68749d34fe2d54a327553f58724dba6b2ab08dcc408a8cb9bc633de20397206d8cb78ace3e507f0c0a65131530ae58b455fc7f4c183d0321b983f5cab2aef5d0a056950f33a880e2550a2a74a0fe6f3d3ccb4a9fd6745db09e4cc2fa02c5302540b6eae9f54b096d7159a35831d9f34c74b54a28b8527aecf48883d9129727a93589024cdf24b0ef196b05d6342a23824ab86026ec98a51e257ea0f4a7425391c9d3975f2dcf40597bf3833369b303786db453d15397449c830813839d2eb4a58fce49b1cfd6402cd892b7253f58738cdd5848ac02d8d80ea9226685e3c2df49a866b2dff9a2a8fc20fc20691b798d21a47f1f528e75d29d1535639d3d2c44885e1e16348945348ca2ba4d0b577e542b83f76763c9fa9441796e5e2c9e913fd08829f5fc73de88865167b20520dae2525711c92d5421eb764a528f12bf50725ba921c9edee7d9bf27ee50a171f841809bcd79aded78ade58fd7d894e4df54fd21252d5685a808dc0c08a82e6962561ab1c2e61de06467949e6e82ef3ecf17fbfe2658b60866e8201080a15138f12e6cd84ab2ea9f83ef3d40e8184243f0c72df0ece7241e0d84e16f40eb83373f253479f9f5b07b3d503308c3500fecfe29fc641f2c7a02de5c031fee82f425e02a2259cc47b0ea6912c1f0c616b8b718f0a4f1d000bcff16bc2638539e63885effe3d730e31cf8ef84f29980bbdc7f5d05ee02e86a81ba67088b6cbbd6ff3bac9d09af37c2138fc21c56abb677e0e7006fae022023c070ea3d78eaa7d11a108514e88f47924e37c0546c1240fe7272cd0468c79da714e8dce863e238108940395c77df3167ba4137e54a28381a1ebe7872679b76edb2853a180d832678f1b3ed7b0fb38cb809ab8dd2654c4d23efe5cc19344ed5c4fd4c077ddec8519af48a7fa8cdd15f39ffc9debdade2dd664add7767a543f7b1c32277434a4f813eacbaa3416da56b55099d85f005facf1fd8b997b155ae5d7ea7ffd4813d8719c26273342c2b85ae4f771e27a97028d3e15e534659907fb0d7fbdbddcd633bb256bbf33e47a159cf5a271cf4319feeda8f07b1da1f6870e499f11859080707bf3c75b8e9b0d751b7d6aef7750566e6e718fce78f792ecf5d4c5b427ea6715b53b40a210e63f3dbabdd6505b9d3b0de502830121eee3eb6aba9cde6a85b566a38d9e299e528cf3391da87bb8ebddd0af27624cd95d19305a478f4cb935f68e795e50b7023fce058bab298cad6a1f1c3818ed347f6b47814fb031e27a9dc4f64e4a0292aeb962dcc2247c8e3b9811af07d7690b7114e2dadb2e7b02d421d82fef3fbb6ed15f62d216eac9a8a7694c50d8bc8d9f112270a4f8525c1ee5ceb58a0d70c1fff1f52b3423f49059e6c6dd2cb6dd81fa420a81415815b1e01d5254dccc40dcf11be0b0ccca4a0c80d9b3db00157f3fc0adc147a8b70f20498e7112fcd9643d8d66e820d4ee2a5b5b5803f1deebc0be6215de092aefd316c709151b67736426f19292223bf1f5a9e23eed7e98fa0230d5c0e78f82518e981cf2c603281fb3152ea423be8f280ba075ea9871f35c2e63de09c0d030cb476c1927ba0fe07c01c87eded84531af426284025431008c13d0f937c8ce494a1a707df5668d734236452f0f206d2b493a7a1b8088cd3e0eb2ef0f900e72314cc8199d304f52c4f8dfe0ffe5f28603d1e14fde44bbcfc3d0077feab3cfdc57dc9e180fe68f54a774936f1e27bbb87d34cd966439a410f01ffe0f0300e861a2ca60c4346b45d4ed7dfda2dec3811165ceca2d88c8133b09d3bf1c996334b4f728dd32473456dd5159411fcccaf395f302a51424f8d3e67886fa3cb2e2ccb86c080cfaf359acd79552e3b7336c390ae1bcde03d0dc8d01b74e91a9311d5411b669538b3d0ba03fd970d664316ed76f76c6b627dd5a8b68288b5d4fd7755940642be2ea63fa035cfb419cc28875eb9ce89c7db0ff69eef1cd0cccdcfa5ca5c75a1415f9a4e6fa1f2d1470d858d79658b11ee50586bcc29b2c121cebd8ac7214399ffd29d0d4e1a8fe009fababbc37a7396499fc1ea9f91a1d3a59b2b5c5528bbbfbb579f9d95a1cb50b2a3929e7b7af47a9d4e4757b038206ed379dc9a3de5ee87880503fd4c87df3a2f2fd7bec4dddf3d5424df1f2eccac55ea27b2729a8ef7e1bfb5788035faa3a0d1994d067dc446b595653926adbfb7e3ab4b81a9264b56a626d61dd11cf1b88d6147bb4b1e37053bf22e290e9b5b4b977ebb2a3f1dc21dc7fed43a94532cdf4f8665ed9e2c9e0407b9703bf607391c549a8ac0ad8d80ea92266cdfc6d7c9a063cd0bb0a90ee86fc1221bf1474317e0c99570145f70cfc08e065656013ccafaa39b97c076a1f01a92085c864737c193c830049bd7117f7111eb92629648fed3d9ac3fba13bebb8914acff31fcd0056b9e801f9c23490c4d9be1473b807e0e76d4434121d04f117f74e834fcf5df93dc9a9761931bee5f01dbd9e284141f38cbbff32c94fc0b94cf808f36c3a9a5f0180d739e516857b4780f3c733f1c2c80a33b202d1dbc5b61d5567448e1d08e2807893cbd2635fa6f7c11e69ae1e127614e1aecfc3740f745a7238745ed05797ab238581d7f45fcd1e1134d6f1f62f0f55bfde8ea12824d5fdbfb3b71c0cfbaf2f1d533497bf870ea4f07facd7a5bd962ca34a5e3c4e1b37ed069b5df747363b3009d2d473c99f3a7873f3f13a1440aba9c761d04cf1c6a8a10f8bb989e327dd8ff8e007cde0f77351f07ab73dd6abbc19a059fc5d73f129f04e8f6b4fc1a07ffa8dac7dd8506eb6c002597d45a554efc51e6c35f08bd565be54af44703bd27dedd7d8888b62f7ddc999f5bec18f09354efb1fd5f64d754e4e887cf7ff8c1c505ab2bb23222ee951807f6df1019fee9d58bd11f0d0f7cf2c176320c1db51711cf85c1134def1e62acabd6afced26895ec68ab2c96d5d3f63bde1513e366ad2c457f34d8dbb4653783f550aec7dd74ee1d45ef29f407df1990ef270a72e0f8a1ceb6fda4c761b056af5b5dc2c6f042990d88c5f0579e0f9b3d32ee9a18b74831b11d6d4605dce4ed88f51249a3c119e5eefb16535a089efbf0bdfde82f72ff754bfa89add290123c1187480be2efb75f7f886fbf9a5211b82d10b81d5dd2677ff9c76f2f603fa9f3260eec7df6de575ac6b4377ea1e63e821f6c85401d58e6c1bdb9a4c0efdf25fe2886e991572b2c01fca6ddf369bc3fcaf2e03094a90c9ec4f825787e29ec6389dc452affae5938d803bf7d9f676ac4a33b5da09bca272f34117f14c3749e0025ac3e9945d072907cb827fe20c054c9585d841d200d42edf09383f0cb97505d786a077cff7e92f92dd645966957a4e47fbdc0ae316a87b7de82af4e46a86ced9104b9df353735fa1fdd4710ae5f4fa4fd71078f36a940815e9f1c0ed6b9b311233fd346fc510c3aad86bd472e46c4f24a2481f7be4e6f5f2718ed0e8c7ffdf9710f7a45f1e1788bd043e3f3ac8e3adaac1dee38768089e396d253a68f0db021e1012ff14731b0fd3d1c57b93881fc81ae63c41fc5c05cb8142accca34d3a07452ec5cf22579b0b335de659d9f83e397e1aebf9ce6a57bfe72a93a3f2b2d5d8bea847d470f33b9ab5c58ccb3f7b8aefa0ee4e1e6e34a7100057ecdec1c6c4affd963fcb408b1bd00578eb1a6ecfbf39123fa6fba7935406c47253db133c8e3966d22bff0f4acfbd6ad23aa01b608a6a46528f707857e62979713d193bdc7358a397bbe3f3bdf4c3b572fb867b0a7e3c2c9d603de886b2a871bd15f6ac7b2f92605dce4ed48f4c0eea2cb598c03da30ec697ebbc5cbeac6e223955f44b69090b17bb278f275c8dce4fbcf6dd11f64d050492a02b72602b7a34bfa87dddb46e64f8bd973c4d7d2124bc9c7ce445ebc740179bbb7e35813beacf11515619fc9ba809862c9e8efc904420c41480b5a13942f877d029f542a3f0da7298ec2a5e867f74c22139d5a2e7c33148945eeb34c2476e1249cf347b44a832fa22e63842d76c7572a274e0b81c82b2e9a2b6d179f350447391f1c60cbd628bb4c248d5537b5fae3fb4d3608e949e2603412672de01fe00567105723d1754bd17f4364b58a11e9da32b2aaa9754f6b8c466232f4d4ea131a090a6b4467451c32880bceb9aa18f1f77ec53358ad383617f2f544fc107139b0b21489442d917725381ced51e99a299c534fea61c764716875b80740009e0c0e9c67a8c00f5a3412170c227b05bfeee8e472bc6ddc90638433feaeac27e193e26635e8b0cee04077876f2452bb26d81f757959e98226c5d526a0272427ae301cdfbfb3d75e5d514ce5588cd954613635774ef3dbec3c1159dc884b2ab5633f6bb088e6640634dfcf15ec485420c60d87c21aad4667cda1c1cbf70559f9a35aa382dd89a409e2498a46c318fde7f6ea0f5144d4888ac0ad8780aceb74eb3533ae459fbcf78b4fe20889240679a6a79792c8a56ec8607dcfafb9576f0d6cb88f67f07e4e96facc5808f8a15eba067de8043c7f1a3635403d4e0c1d828d510e89fcf39d505400f73f02fbb612c9b49d8c7d06223ea9d46e47cfc2630ed0f960c333bc26a25b4d3de40ec376811f1c65104ae39c5169bb78662d08fdbfa8042e32caba105c1cc70f53a83fa76104a458b552fab838c40a7331f2e2d51958871e6ceeea7c4c8b5d52c9de48fc50aaa0b931a994bddc146c3b1ef3e5c8ea132d749f905bd524434fa53e1a224c1c5807947355a9babfa2b15b09464ff92695572e2063a0c3dfc40a8bdad57709e71e1bf5b34a29100efd765df4dbb32cb63bcac1cb7a8456766e6d30241c6906745271455f44b4123e917c1c8d14f0b32d0a5ee6fe25a356542d88b79746e8eac6247031811d95f4e47091e2d6d7e10b56e4a66b879b9a9ac46271651f8773b449110e297d6c399172e27ba7e710fee117fd4af77d6594796e9103bcad63e226b1a396f89e32b829d891d720d8fdfbe6de1a9c6a6d77ad0805df3fc4443413cbeffa5adeee13c393d422ea6f918ac9fdb6ef0f4230d4b88ac0ad8480d019b995da95eab62c7a187e783fd82ba1682604dae17b3f87fa3b008a60c5bfc0f407e11e27f79d9c1d763c08fbdba1ae00363543d36fa13f038aef82e116f81e3bceaa9d0a0737c16b33c9c4d08637e09b7fe4bf444be5a3635b5f00f73c06af18e16c06ac5d4d9ad4bc07a030ae6d5107f1e826687f90ac58dafd1368fc086c34d4b860b0091a5e27fcf413b0e93112b109fd6039eb331715da454a8f13b2cbe05f5f86c1b3b0712bbcf6bb54eadfee23cba7701f80df1c85454b21fd537e69bf0c7d4c1c240d60bafa42768b31bf62c5d2d9ba1ccac22e4e62b7788ab16a0d39ae5a178cf89a0ff1036fbd7dc36031cd5fe2f69fee34da16ccd676ede296e45b1d0fb92b70bc688131b89b7b7f47569fb4c45ee7ac64057acaf4110d110a06eab07a0b5db5547b072e37329331623ea063aacf2daf751666ce9a939765c031d2d86655d27601f3e7769fabd052e87e749af72f3d97b5d65936e328b3738ff76efb6263dea2952edd599fb6a87421bab6fde7ce8ce0345676d82d525be4aee7577d89f121f99ca317e164efc1fe6fc2906529aaa99b5a64cca34cdc7f50029f3a8e3b3e21b4a3b7455e4f06504f4188e2d679e89cafa8d0423ddaf0c049cf79305ae7207a41ef965d2dc8add41fe4e863c911541c8952ce75eea2c1ae2fcf7777fb87c0c06e6e101c1a8cae6a92e2266b47c66e55c04dc98e5fe1ff2aa04907e6d0db2d8675cefc9c92a575231fece920ffc048fb89174665ed3e313c41a6bf116d22a0c4eeb75d7f88355d8da908dc8208c8fcc86fc1565e7d930a70017b1df1477b4ec23f7d87c86b7c06dabe02ed0c703941d7039bdfc2054b3095fd7cffe277a009e7d2e1baf80668a887620af4ec9b0d873843ec3067e33fc35bf826d3c2636fe0ba2012a4f2612b3cdf08011db81f86271b6086165ade8117715327767ce272644066908d70c3930d2f00334016e06fd8000d7590a3857686952eb8445fb13814886bad308c0662f30190e8556e17e1160f20121a1730674611d4b961a58b25a454ff1ffd27740588c38d4d731643644a2dc8d213c121a235789b8f32fd64d25c7ebe451f603ce786719aade06711226fe02c3cbf89b62fa022a53ccdad1dfe102e215f5c5565a7b2f502df9e2b8aeb6ab8e0ae2dd14108573571c3e91101a0444f9d3e44f151b2dd391b4648cf0be3306167cbe9ae414837e517e69bd307bd27bcd85e5c068f4ca4a196bc427b21faa3c1c1ee237b77b1b34a7901a27621d57b60d7116f6f0874b9744959893d2fdbac4fc366b76d6bf6f843da6cbaac6a7109baf8fdccb19d075052184264c82c848ac4864cc3d98be4f151e287bea6535d7ed0e873f3299376f0cc8747ba83a0c565767cc046c807891d95f454c00de0c0aee6f3fd019d39afa2aaaaa2a430dba8f1f761cf2141a93fc8d2c790c349c36bac194caf6ff08a39872a29c3beb698ce3606073a5a9b3d8afd47c98e1e45dc14ec084154821b57f6ec7fef0813044d6ec5b25a8b523f49259e8880a4bfc9f79fdba43f443b861a5111b8b5119872e54aecfd206d6a34978b08afb8771ef223251a90228c7349bc4a43083780c1d7231ba291d1d1512e8e112e4b78e5b24e9d3af5eaabaf4af5bce6149c423a3d17a0038eb6c7d555b31c3287605ff4fbbb30b30096d38063445f7ac5a5845c5c5c493e7aacf5a584e5cb46c1ca1e6979010555cad5c3a53eb156cb1f817901f8d90e01ab7274ac76299792c9499dfe281cb5b2ea65a090a52be12052d26ac3254b6477496306c3306077af775283cc91779b44c38ca2622469a3687366fa50bf87e98ce55ae972da1cf2b6f29bd994565667063a0eb731310e36a644474d52ab8fa85e2e899ae376aa3e6f749d0ccf65b55a753a1ce4f57746f6598d1617b52b4ac7afc9349e3a990ec17e1f132b65a5edb8021b44e0084af151451ca4ac028a95a2b3d383dd5e46e4e80b58128c26aa67541ca9da941e1c1ef27a9928918bc8f607cc92a58f25a77ad58325593e4ff3aee89222ab8db698d311e421bed163e3a664c7317193b5a3a8897c52493ee90c89d93d2a570907e5fe162d1a8b8cd9ae185b02b194e98f75c9da5d89ae8443023aab2c373d02172e5c30994c1a8d66ca94291f7ffc315eb9800dc3085ed1b3aaacac442f08f789dbb871e3c2850bb5381d5ea3c1ab28a4a5a52105b3b80817e778387ebc4a03d6c211f98ad96434cee9800c517d380a778d123172f5417549af1e4355c24d8c00e56c70db0ddde799ae8b83fa19d9543e2ee80e9e69fe6f6e9bd1ebdfb0c9a6cff547e076add1e674976afd7dc35a2b5d4819b401cf6fb6b408fed5b95d6151dbad2270eb23a0baa4511b0bbe3846696a4445e0b641c0dfdbed0fd2d979f8c7b63934dc710677d9b961ed9f6cfadc30206ebb8a3366cfa52c1a8a6d77a8db7344f5476fbb2ea0365845e0b6474075496ffb2e707b03d0e739b0cd7300bfdb5bf04b7670d02bfc067f2390996cfadc080c6ecf3a99e60f9a2c864cec85dd920915b727226aab550454046e37045497f476b3b8da5e1904fa3aaf7e56a28cd80993269b3e136e885a30710454a3278e95caa922a022704b22c0ad6bbc259ba6364a454045404540454045404540454045e0e6404075496f0e3ba95aaa08a808a808a808a808a808a808dcc208a82ee978c6a597c32b2fc3f282f1f812c87ffa05f8fe2362be14ca178bbe9ee9e5b07507bc2269ddf554e1aaeaa297ae5cb3c2557e55324485adb4a3d261b789a8649f1c797a1c63e2fa50d52e5765a9b49a3871b1849576ba5c0e9a3b473246be01b1847088ea65abac75559753d17424a2448fe4dfe07b0276e470a0526697521629b181278fddafca2209e07955f2af75e19b5dff6b8d8f2aff7647407549c7eb013607b8dd70373d1edfb8f935f0501d342c13f3a54cbe58f0754dd738a0b800dc0f5c6da5eb5f80379ebb5a2113284fcda1b22d39b8217e7c59da51eb5eeaa4e28909a66aefabad282bcf891eaf1529a6448fe4b3f7c4f5a1e62fa4e9527b615cf13112c6394534bd608e650c96eb9395100e5155a8c2d2427a61e1fc28818f28d1c57c3728ad6047a1363c0ee654d9852a42a44a70abd8f83069ec1eaf5692a904f04c44e2d5fcae1391afc8a3a0ff0dd3475151354345e0c620a02e6f1a0ff74172e40cb097f158c7cb0fe0814dece94d42c614ca178abdcef18307a16536307fb8da6aef5d0a056950f33ac81e3e70b5d295cb339f9f66a64ded3f2bdafd29677e01659912a05a7013fda482b5bcaed0ac19ecf8a4395ea2125d2c3c717d4642ecc94b91539ac4822469965f70d8bb84e1ba1012c521a68c523395e8b1923732a660c7a84a311c2eeaa9c86149d1dc8945c8515c57c2e227d6e4b0fbc45a142b351e9e31ce316313fe5d8f2935814c05fd6f983e09a8acb2a8085c4f0454973441b4f1b4d06b1aaeb5fc6baa3c0a3f081b52e1458ee2eb3461ef2a956d625a9a18a93c3c640c89c92b44d7de950be1fed819f1bc6825bab4e6e4f4897eecc0cfb5e31e68c4328b3d16a906d79292380e112dfcc408d16646a878ce94023dc6716363f2768ce824c0c1e6bcd676b9d6f2238dbaa6f7b1f14cb4ea89feae1395afcc27afff8dd347595335e70621909191110c8a9fcf48bc41ea5cef6a55973431c447acb0790738d919a5a79be0bbcff3c5bebf09962d82193a08046068144ebc0b1bb692acfae7e07b0f103a86d010fc710b3cfb3989470361f81bd0fae0cd4f094d5e7e3dec5e0fd40cc230d403bb7f0a3fd9078b9e8037d7c087bb207d09b88a4816f311ac7a9a4430bcb105ee2d063c693c3400efbf05af35726499eba2a760f3b761cb462879388976ad7f191e580cb34c301a80c0289cda056f67c09bab00c808309c7a0f9efa295fd7d87a4a71fb8f9330dd0053d9b3e1f39713219900edfb808c32cae180e4f5ff0e6b67c2eb8df0c4a3308745a9ed1d783ca20011210e94c375f71d73a61b7453ae8482a3e1e18b2777b669d72e5ba883d1306882173fdbbef7305f06b72ad5654c654fbbcf9c41e3544ddcb774d0e78d1c9949aff887da1cfd95f39fecdddb2a3e63a7d47d77563a741f3b2c3c231ec54ae929d087557734a8ad74ad2aa1b310be40fff9033bf732b6cab5cbeff49f3ab0e73043586c8e8665a5d0f5e9cee324150e653adc6bca280bf20ff67a7fbbbb796c47d66a77dee72834eb59eb84833ee6d35dfbf1c055fb030d8e3c339e990be1e0e097a70e371df63aead6daf5beaec0ccfc1c83fffc31cfe5b98b694bc8cf346e6b8a5621c5c15eed2e2bc89d86f243a1c04878b8fbd82ef640d7183eec6176d1e7b484aea95df5f7f986c0f1dfef8a5a83aaacab2db1741dfd7d539b59aa27418172aca8b2e79888fe1882fef3fbb6edcd1d537f193d8fa7352c2b1efdf2e417da7965f9f1f8cbf62bae32f62ac541c92e32f5b2f8c8d9e51257039ee64a82ddb9d6b140af193efe3fa4972ac897b123db61e4dac54a752c5d594c65ebd0c90d073a4e1fd9d322eae92c137761fba1efd33ff567979748fa9b52bb62f61df7774a3ab6a29e32f25bbb957fd77238909f4eddb252c3c916cf2c47791edb5b86bb8ebdfd7ee44121686b349a84fee33c67a222d5c8ed82c08c19332e5ebc286a2d1245945b35a9baa48959b6819de0788181991414b961b30736e06a9e5f819b426f114e9e00f33ce215d97288b8b59b60839378696d2de04f873bef82794817b8a46b7f0c1b5c64f4ed9d8dd05b468ac8c8ef8796e7885b76fa23e8480397031e7e09467ae0330b984ce07e8c94bad00eba3ca0ee8157eae1478db0790f3867c30003ad5db0e41ea8ff0130c7617b3be19406c334c834c1932f919c04dbf5fd2dd0504cda75fa044ccd056a26ccb4c0d75de0f301ce4728980333a7c5ea3128eb298bdbcbeba180f5785004a71546f600bc08f238fcec284c334226052f6f202a9d3c0dc5456014281053858f51d52bdd25d9c45befed1e4e33659b0d69063d04fc83c3c338186ab098320cb1ff449daebfb55bd87125745d16bb2856c6c019d8ce9dec64cb99a527b9c66992b9a2b6ea0aca087ee6d79c2fc8578e6f36313d35fa9c011cc8d5651796654360c0e7d71acde6bc2a979d399b6148d78d66f09e0964e80dba748dc988eaa0adb24a9c5988da40ff6583d99045bbdd3ddb9a585f35aaad20622d75ff5d15a58190af8be90f68cd336d0633caa157ae73e231f683bde73b073473f373a932575d68d097a6d35ba87cf4514361635ed962843b14d61a738a6c708873dd2538d85d0d4eda8c3ea1afbb3bac376799f419ac9e527c38a5e4e8e10b7d81c22c4bb1a3b295f7156c2585b93aadbfbbcd20abe79ed6cedacab21c93d6dfdbf1d5a5c05493252b5383e6cf50d6ffd29d727a66805ea7d3d1152c9e88ff741eff6301d97e15c3558283925d94f051b00bef92a2fb6e2d5dfaedaafc7408771cfb53eb500efe74e5ec3e2c8f4f8f5ebe5dcd9e72f743a48707fa990ebf755e5eae7d89bbbfbbe978f43f8e5813492c23439faec35f104645fd4da95d52fb8ef13bc58eada4e7ffcfdedb4037755df9a31bcbb6908584900cc632261763614760c78eedd8b1a91c8f268e20e3503c21cfa56d5a1e61255d4c32ff07594d9369322b4dda345dc09a695f663ad399453e1ae051fe3419427169bd28fac70496494cf97020324409d8c6d816c64216b22cf3f6b91fd2d5bdf7d832d87cdeb3bcee3d779f7df6d9fb77f6d5dd3ef79c7b14e53b9c6594fb1a947168e94c4dd56a534c25ce4af4e5feee5e5d467aaa36f643116f2db91a97fe63fccec8a5ab943b1d81f4f4f440203038187b71aad7eb67ce9c79a7dbcddba786a40977f4ce37c8a063f52bb0b10e6cf741a995c4a39173b076391cc607f47ad8dac0caca85556c3cba69316c110baf2617a12bb06a23ac458641d8b49ac48ba56c488a4512f9cf65b0f1e836f8ce4652b1fee7f092139e781a7e78865c626adc043fde0ab617616b3de4e681ed59128f0e9e84bff92e29ad7e0d36ba60e932d8c25627a4f814102e25edd2ecb23dcdc6a317617d2d99e819b5d7f3363cfe3606a4d0bc5590c89ea3f2257a96ae57c66dc3ab30d7044fae8539c9b0ed5f01c317ad168eed81e7362be38021299f7a60fd52d89f0b87b742b210810965b1b3a5ec1b241e0d1e6b7ca7d98b8febaa552b0a88f7f7b57eb80d07fc2ccbd7ac10dff4273eded76fd2598bca19e3948e63074ffb41abd15cee2663b62475ba0fb5a5cd9b3ef2e52981c2d1019c0ebb16c2a79a1b05027f96d2274c1ff6bf20009fe7c0f6a6a36071ac5e61d75bd2e1f3f8f687e22f01badbdcbfc7c12da6668d2b4f6f990d400b492d95c5241ef51ef88d386ab5562cc77834d47becbd1dcd44b4bd768d23276b51d9809f5cf51ed9fb55467549a62e78f6c04717e6af28498fbe7792e260ad2ac7787464e0d38fb69001ce68bfd0f0a1d03dfb5aefcb71a667e655590f92d8b7b0304b07c1ae2fba2b16952be9696df9ab498fff0205cfb71d686a8b855359ecbf450afa4fa7e829002bc5bfcfade857041d36497110e8d27eb11a94f101e57ec18888481a0ecf28763d5cce68207ce6c0077b315ee4fe5b96f5bbb542afd88fd63ff2a1add42e4b4521c6a3e1dec6cd3bbcd810e35ce3b2652dc887a3ac1b90b6e3d310f9970953a27651fa97769f020d7f8a5fd1ee6b9a3f5b5b3e14ec091c6b7cafd96b79fc9915e949c23fcf4259ec3c4efd69fac404aab9bb0c01a3d1c8304c6f6fefa54b97d074b3d98cf1a8c16018616791ddf160dc8d21e90bbffdcb37e7b3afd4f9ee0ded7ee1a1d7dda3f635be11e65e82ef6f81501d98ef8187b248853fbd47e2514cd353d9131e16030eb1f77c161f8fb285380c622c82b598bf082fd7c21ea1069ee5f2ef9f85ff94c31f841fc49d7b60bd13b453f93ae71a493c8a693a4f8002569fb47c70ef272fee491c073055368627b0f36779bb34bb16df47aab837f30b8f62f67292d8d679a1a2935ccf87d8105c8edbe13d04c9fa6788d57fd9caa38a92fe61ee683820c37fbdc2aad40e6fbd05e78f8bda8ecb5ae6ce462cfcde56128f62d26ac820672c1910b3abb14be8ebf4f47582c15e86b44b5f1e6dc328273e1d758b2334becc5256673369821d47f679e3b8e5f409d3c74a66588e0c78483c8a89f56b2e0888d3407481fca1ae23241ec5e43d773192979e66b2013b4542c42664e792779581ce96f890755e268e6b8e747d7192676bfbe262554e7a728a06d519f11d3ee8cd7adc89d5da761fd5562d401e32e513034e193eccbc4c54b9fff411fe85bbd02f347c687454ffb0e73e973d7d417955f3ef9b6bf2b371d8f5cbbfb6cc2b5ea4a8a71ebca7cff667e4986c8e15f31f0cf4749c3bdeb2cf43425365fd93662bebc95618057fa95f1114947040a262bf14cd332ae203a0dc2f443a76bf36b31c07a821d8d6f48e5bf8a749517e3ef92484423f2255d9af328ce4972e25fde1d5ab0954803d0e5392a3bf7ea47d49526c976617bd7f39a90a782aea49f32bda7d5d55aeeccf8843986d19572a367b31d7f7d743877497bb396de4c7f1ea4fd3472e59a5dc3d0860543a7dfa7476b2124c9932050dbf7a55fc74ba9391b81b43d23fef787f68deb458af0ef9dceed89572ee94f040b6e592a77e3b8e41e1431c7f9a05f6996c0888572c19147125c4084434a03142f112d8238a49e5f293ade415ebc576a181342213835a2e5d8e8deaf3149cdf89e9dc7138e317b44a86afa8211a5f4bde2ecdae4c03a9d22984667ac15e5e10e524d7936394e3261680cf81684a66cda6e18083cd87b9ff090036bf1dad24cf180c24580bf907f8a254f228e5e22439b39432da0357cc6bab2922ab9a5a76b588a9e81372fac4ea1319e29e9b7cb3f89096a654128273a12a66fcbde779068b05c70a23be1e216e91d6030b4b9149d4107957c3c1e8f8624a12fe72929f4dd20e3b748543abc11e7c731b13a9800357a8c1cee0929eef171a3e343ad6f6baffda6b73a667e456d82373cc9a9181336e2f384a697ac2d1bddb7aed55258b984cb32183c9cb60e6ce697a676834fd41ae27a7f5d8f8f3e67127651c505179bff4b31da0d02ea55f48032808678d8e246992b4964c1b78f8be55943facc1fb5ab11f8924b95d16bd16fb2a3cd0dde11b12b44a0af75343344e9dc4ed1aa57f89429424d7936314342433c115ee77916bd2fd999314bed4c1fff4795af1a50a355d9bfebc38913ed406d40215813b1a01c5d0e98eb618e0d30f7ef3e9b84d14de433f574baa5eec865436f6bcc43d92ab61ddc3bc48cf9764a9cf8c85802feaf105b7240d1e83974fc2c606a8c789a183b021ca21937fb613f27361e9f761cfdb4486cd4ec63e71451197e4fd76f8343c55065a1fac5bcff3484ed5f59015842da2389830c8daa5d9c545d9333150c6540acfd7b099f8c3301b8a8869723db99f5d396e5c2d8e5f508ad0707c72141c101471fc2a6e5a9a270f6aad9e0ddcc1eaaacac16b69482afb36123f942a338bc866ecc5c670ebd1582c4756ab68a0fb98d2aa2605fa44ea93448449131b8072a12a53f70d1bba8f68f49437a9b8623e19030d5e8e5596d8d577311401836e562103e2a1dfae0b7e7bbad9baa0183cec13dac2cead0d47e2fe97c7201557ee09a295f141b530c4b9c2fd8bc52cab9c2ff40b0d1f1a1dc5f003a5450e1c891f39fbf91124d1f4e470e96c6bc63f1cb5ac703d5cc498e6e69745ff05246a89f5671156d293302ae24f0ab814ef57ca38f0acb27ed190d853a15d4abff062c2dd7f6aeaadc6a9d376e7b248f8c3662f4f177a23daef5d9794fb91c3476e575f872f5c9295a2093636360a32e3cf12ffe10b13b68b0da8c77b9fcaf564df1429e1c6ea23bfaf47f71312e6d3e245a9bda3f8a70054bc3f2055ae8fc0aa9e5504ee2e04e421c3dd657fa2d6963e092f2d057b05e4cf84503bfce03fa07e01403e2cfb2798fe183ce8e0de93b3a398fb616f3bd4e5c2c62668fc03f4a7c2a2fb21e8861fb0e3ac9aa9b07f23fc6c269918daf0265cfe07fe0db55c3e06b6f5b9f0e053f0ba014ea7c2ca1544d5a65d0079713a4703b2c31ba1fd31c875c08e5fc2ce4fc06a836a27041aa1e10dc28f3341373e453256711c8cb165c276b5b6137d9c4fc19bf7c1fd0fc10c36941022642219534611fcf36b10380d1bde66af4587a89e272f50706399db7d649914aec7ff9fc3505a0b299fc1b37fa4e020129e40d6dbd517b19b0d3925cb6a676b331933bb3849323947a3cf74d63861c8d7d4cc0f84f4f605c16c9cb7d8e53fd969b0ce9fade9dace2dc9b7947ddb5582e34bf30de11ddcf35e58ade28e3dfe59b528f409d347326413ffe034db2a6b350b70b991898c11f30903535d56718d232f6dd69cec743d8e91c63e5625b70bbc7f6df739f3cc79ae55d33c5ff45cd15866590dc3de6dbb3c0fd8cb0dd9a5cb9ddad33e4d7ee1420c6dfbcf9c1ac269ac6c5421b4269c75fcea2e093ededecb23906eceafae9b9a6fc8668c292cff08d0f0a1d1b966f881521412ea6e6d25ff2e7adcca7a7a19c76a577ea0ebebb3ddddfe41d0b31f13080f06d8990f24aa90a470bfb29e1236c5c025ceaf28fe807214fbc56bb728e28383c2947e394feecca414f036bfe3d6af76e46416d4d60d7db4ab4359be078615fbd10bd88fa214f5abcee633befc3c33b3aae1d1e36d67c1609983de15f66cdeee26dc0afea3dc2ecdaed1fb9753280e4f918e242be849f32b8e5de9bea6f8093f3957d28c7029b3f7daf457d267b415fd42f3ea5945e04e4340e1c7f74e337142ecc9c505ec75241eed390efff82d2272e77a683d0f9a19b89e05b43db0e92d7c870c53d9d7d9af7e0b1a718e1dae8b6f80867a58c4808efda5c4002ec206713b7f046fe12fb8069e7a13d7059124970f6fc3cb3b21a405d793b0b6818480ee77e155fca8133bde7045187b0ab0196e78b2e115f00e9005f8ebd641431d646aa0ddcb4a171d849f6c9e246f9766d79e97c18dd28ce074c28c01d8d9442488ffa3c121c719f950e782e54e5638454f9a7cb60efcf83fa12b44026b34c1b108c8d4591a0e5c05e940274755387a9a0e7bfbc924bb9c1cb32ee46d3b1344f545ee1f2111413aeedf64b3cf6784fa6d4d2d1dfe082e212fafacb433193a91bd5cd5e83a07574d811622b8aa891b361704008d0e13a60f517c987c1e9d4d43c4c3467018a6d37db22b0029c69cbc1c534ac073cc83f6e232786422869ab3f3ec79188f8603dd87766f676795f202247621d5b36ffb214f6f04b459b682a2027b768649978c614febfb4d6dfe8826c35654595e80217ebff7c8b67d2869042264882d828ac4864c47324a95f181b6c6135d7e48d265e530464de0d48143dd61d0e03235193e38744e74a3d179f53d6d67c9dc0cdfe9e8ec5f8a9ede5e5fe0aa29932928c2be2db76518c2031d2d4d54fda18fa22750f0e7f5618b457e45f5075abfd0f0a1f60b84b183b971b8b6bd1f1cf2862129abe4911a33addf29f8d0eddab7bde96c7f486bca2ea9ac2c29c8cb3024f9fbf0cee293dc7f94fd8d6697ac7fc7ba4f29f8d3e4b36a2addd7341c38bbd008e524b577dcfa13b14afa2837a7525504ee6c04a68c3e6d365aca65c4476efd1752a20929e23c778947798ae08761f0b1c9a66866787898cb63862b121fb9a213274efcf4a73fbd095d825348a7670174c0e1f6b8d6ab9740da20ec89be7f1717e6c2121be0d8d1d71e692d311797a7c9c788b5be90b07cbd33b6e2475e5d4c419570b1f1c53ea9564bbe0ff784e0d75b79ded217e1d7f564d9fe3b1e98de2fd5506e97ad14df8b021ead7ac0bd9aea37c24b0e70bfc57f8755ac402279b97c712d2cb5e8e24d1e3f0e628198b75871c9121e1943aad7eb05bbeb190713f01e7a8ffdbea384577269656ca6b494c1fe366f67acc4622bb699229e16fee33785155569a18e83adde18079ba3d1275c1f49bbdc256a8e9f53f579d8753b220e8bc5a2d5e220afbf53f8ce6ab4506257948e08da7097ca1408f7fbbcb15a169b1d576c83041c512d3e4bc5812db730b68c9470b7c72b09e8916e56d49f42c7d7014fac719aa7f4bbff739b38ce26ca2bea69b1dacca614346a50deb8dc08a0e9a9c04a218d8103a55f466d57b15f949ba7f73b051f6531844a5432a68483831e8f57cc25f51fab63f563f680e7c0b623bd566d48e26f0a765dc77d2a5683cb2bc8173129ddd7e3c721fe77e0c6dcd72223d4ec9d80c0b973e7704913ae67c2c54c1a8d068f9824cb9b3004c2140c06376cd8b070e1426443063c4a5272723252b088cb70798e87e3c7a33c71cd219d6d996f3d9ac70ca28ca578e4f2e2639438213da186a41302e36d28840b49773e0f3f538ca76516bdf43ba89f059fb8e1c405985708ce22f21dab97abe3be1b20ab74eb10184783cbaeef3eebedba10d0cdc86072700175f854d37f739f19bdf17ade6afadc780426b4454b71d5426d04326d79197a4d6f5bd38ee83af3096d4615366e04ac8e358fd92fb5356e27ef58c64eb7fb7d71bbeb3f760fa91c9380801a92464115bd898cd2d48c8a801c01fc3cfee05278d0050fb265a18bb0fbd7b74b3c8a1afb7bbbfd615b4636feb1fa47821da7f0ab3f723b6f10e556d3e706993d59cd98f30aec265678ffd9236a3c3a59305f935c328f20e18ab7fb7d71bbeb9f7047a98c2a029382803a4a3a29b0deb1424bab013f7785bb9bee173ebd745b998aefedcdf8263b1cf088dfc1df3c136e357d6e1e12d7db32fb1216127bfd7ebd6da9f5271b81dbfdbeb8ddf59fecfe55e54b10504749a380a8a3a45128d44c02081c4eec2d7f02926e0a4b5fa774b6e24d5123dae8ada64f54b1db2ed3e9f58826fade76eaab0ac72170bbdf17b7bbfe719da15ea808dc4004b8f58237b041b5291501150115011501150115011501150115817804d490341e0ff54a454045404540454045404540454045e08623a086a4371cf2eb6db01a5e7f0d5696262ac6b684f02fc99d2cfe51e43ef70a3cff7d69f978f591d69fa46b5bedf22796398b2752bac556565166b7ca44d2e8718c89ebc354399d1585f266e2c4c52e2c3687d35966e3f6a38c916f422e211c647addeefacb0c9a68c224fbc3c4e15f5851e3ac2a963ae2c4c99f506013bf1f27b45955988ac05d86801a925e5f873ff30abcf9e2f5891867edea6a70b9a07e69a2d5ac6584ff01db64f153e556c3b7eba0e11169f978f591d69f9c6b660e9361c64f084960b295d5b86a1dcc35b559f3704d4951716674db2a41088d2e94b3e7c4f561e62db4d90aed7971d547b930ccc9b7d9e6cf318fc272638a12c241aeca6da5fff5f88fdcf4842893ed0f13863f935f98672bc04fddc6a709931f2ff63aaf12bf1fafb321b5ba8ac0dd8d801a925e5fff3f540bce65643bfb1b9602646b1cdcae27d10639fe84d961bcfca3e811c27d1dd9ddaac43c13285f2cf63af3de2f4f7a3bce1c11ed58cf0acc9c97cbe4e4cf63c62ddd525c97674a0a74b436c57f678a46973690b83e4311dc912922db355b2a307acdf227ce1ead37b199447190b77a5be97fcdfe23b73b51ca64fbc3c4e14fb6128b8c487f99264e7ea28825c297f8fd9888349547454045808280bae29e024c82e461f2b39a20ef4d651b1c67ebe3e51fa778b2fbea2d95bcee46af5c21dc640c89e3ef605bcdfd5930d21fdb3b9e174da3cb5b1e9f3ed1ff2cf135a8640324b96896591a09c8d9269392380e0a5adc46fa5fabff28583d2ed2a4fac364e33fd9f2c785a4c03cbefb51a8a59e55045404c687801a92268057f5d3f0fffc3dcc99c1b3767d0275cf91ad35a7eb612a6ef60d90b3841c717ffbf63d80a362cffc1bac9c096fec84a757f1b55adf8535bf223c6f6e868716e1e6f61019800fdf829fe19ef56c7a7e233c520a33b4100ac1e0301c7b0f74cb60c619f0df0bc533e19377e15225b872a1cb0daff6920a5752e0f5f7c0954ff2de4fe0f1e7a0f459d8f44dd8f113f825fb9da6d2a7e1172be1c866d8425860c8029bb682839d517ab211bef3324ba51f68fc723dd7bd4da4d4bf083f7894e88f2932087fd90c2f7c49f2d14418fe16343ef8c56784a62cbf1e763c030c8b337efa74c7afe0977b8018f2041cd80e298bc129b297934cc333da6e7c8629733eb060ce74bd76cad54878782478e1f8b656cdca47166a61780492c2173edfb2fb205f033f2da84d9d9a4c9e8f69336c385513bf671af07984ad346dcbbe5793a9bb7af6d3ddbb5ba45f1f2a743d909e02dd470ec6ef690972fa04e8c3aa3b1cd654381f2fb0a5a36785facfeedbb6db6bad58b9e45eff897dbb0e7a098bb5ace19142e8fa6cdb51723512492b733d51c498913fd0ebf9c38ea6d103598bddf170599e49c77afb48d8e7fd6cfbde5600fba30d65d926dc331746c281af4f1c6c3ce829ab5b69d7f9ba42337332f5feb347daaecc2db799237eefcef71ba34d2484c3ee1645f9447bbafe65b5cb1731195aecb49150c7c943bbdc6dace18b86bf3efe95e69ea21c113eac1c05fc476d97ad24eb47a66c59a53dd34870c014f69fddf3feee4ebaff58cbea1e29d41f77b7cd2a2bce666b05bb8ebcf321713c05fd5999f62a57516ed634c43f12090d8d04bb8f7c9972af32cefbc83f7b93ed0f34ff91ebb99dddb057c97f2eb296e10eb59c858e9565f37549c1a3ff87dc4d14f90afe367affd2f0e4da941f15fce11a7f1fe4b2558a8a808ac0d808a821e9d818c1b3df85395a38d902de0198331f2c2c68affdbf90cb3ea151c0da9ff0527601bcba07a619208d81d7d6617800c74fc2a27c304c230c9b768163360c78a1a50b163f08f53f04ef51d8d20eafff0e5c0cd99ff3f83130dd43a2586b265c3142ae838cd08522f0e093a43a66328b20fdcf24bfa80e16019c6b07ad159807e1f57af8d3344833c2348c8bd9a43783318dc8e152033be1f59c17663290ef824d6db06e2b5fa47852e457d413abafdc08eb50d510b4bac19f02f7de0ff760bba29074e5cf619d93d8f2ee06e8c59d480114e4f783fb4512d69ffc043a92c159064ffe04867ae07334c408aea7482d626f366fef8f7752f124ac0a89a95aee2ac84035067abb83c9c60c933e59af83903f100ce260a8de6c4cd5a746ab399c7f6737b3e335004cb993610b064ec1166ec7276be62c1d29354c93cd15b556953006f07b7fcfc582518932fac4e8738a6c8da3cdc82bca80d080cfaf31984cd9954ebbf774aa3e453b9cca3ff12155a7d7a624190da80ecea5482f70a463870df45fd19bf4e93697abe7fd4636568d6a2bca580a5d7f5fc92441c4d7e5ed0f694c33ad7a13cab12d5fedc0eded03bd673b0792e6e6643145ceba48c097acd599991c8c51232386eca272843b32a23164e65ba1990bdd13c481227f570755ff62d7b709f2a17e6f87df724f76967db1abbfbb7140a7d36ab5b612d65ec4673a8f4f539b32feb476a3ff78c8f4afa928ca346afcbd1de72f86a61acde96949e846a3f84f6aaa569b622a71562236fdddbdba8cf4542d713c65fd8ff6d99d0d0e1b6e4d15f675778fe84ce9465daad1901aa6e09c767ab2fd81e63f8a7aa25d14ffe143521caeb714d67eb3322705463a8e7cdc3298893f6c4afe1954f4b75d3dd4fea5e12972edb8acb23f5cdbef439c60f542454045205104d490744ca4aa61160efe5d849d9b60677b8c7bc3ab30d7044fae8539c9b0ed5f011fb75a2d1cdb1363801e58bf14f6e7c2e1ad909c02b667493c3a7812fee6bb84a7fa35d8e882a5cbe00b20f168e41cac5d0e87f141bf1eb6361006ae67de7d010afe098a67c0279be0442d3c6583a9a490a4c64df0e3ad607b11b6d6436e1e7cc051856340c844cf3bdf2083b2d5afc0c63ab0dd07306a488ab524fca556653d211756b1f1e8a6c5fc882cdf223bc1367405566d84b5c830089b5693f8bb940d49e5f29fcb60e3d16df09d8d4440fdcfe125273cf134fcf00c2f4f622f0dcf2d6c75be8ee86429fb06894783c71adf69f6e263b06ad58a0282715feb87db5af17af99a153345ec273eded76fd2598bca19e3948e63074ffb41abd15ceec631703675ba0fb5a5cd9b3ef2e5298122d4753aec5a089f6a6e1408fc594a9f307df8ff3a7c9e03db9b8e82c5b17a855d6f4987cfe3db1f8abf04e86e73ff1e0711999a35ae3cbd6536002d24b554169378d47be037e2a8d55ab11ce3d150efb1f7763413d1f6da358e9cac4565037e72d57b64ef5719d52599bae0d9031f5d98bfa2243d95045d24258883b56291a27c6b071fca48f5b7a415623c1aee6ddcbcc38bcd30ce352e5bd6827c38401ac524c587823fb5dd960ff116c724d51f18931eff350d9e6f3bd0d4d6c7b290837f74ff212c81638def357b2d8f3fb3223d4903960a65fd7ba11ce3d191814f3fda42a2e2a8dfb2ff0e2be02cfc0f22b577c2fc81a88e498abfd5a0ac2728fb0ff61091321c9e51ec7ab89cd140f8cc810ff61eed8bfe172d916fadd02bfbc31f797f90da4bc3f328ebaea4edf844f1876bfc7d8897ad5ea908a8082488c0dd1892bef0dbbf7c733efb8a990729b4fb85875e77d310db0f9f780187c95eda0affab070e1f847fff09793b7f780f8920eb9fc1a10ef8cb569297a4ff7a05c82bf47678eb2d387f1c0a1e27e569f9e0de4f5edc93f80b60aa1e1eb291cc9fdee3254c4f2597242543a49dbc85ffed4f00a3db67b7c2f34bb902723cd748e2514cd3c961ec843307b84902fb5b205407e67b48956d1f436e1c0eb07e3170b1ac9cffa12c524541cfc5806fda7b3e8b8f47092f19ce3216c15acc5d84976b411caecbe5df3f8b20f9870fd99a1810ef81f54ed00a01b8dcde02561f399e7c7de9c93277368e67fabdad241ec5a4d524b167e160c03eb92a5ce0b9afd3d3d709067b19e62f7d79b48d8b47440c47dde2088d2fb094d5d94c9a60c7917d5e112b061232fa84e96305346464c043e2514c6c7fe238d92809f9435d47483c8ac97bee62242f3dcd845e280dae791173c9bbe540674b7cc83a2f13c7ed46babe38c973b57d71b12a273d394583ea8cf80e1ff4663deec46a6dbb8f6aab16200f371f37711c68f2b11395f5cf0072e7a4a43fbc7a355101501398928cb488223e34fc476917c5cbf547044f9fedcfc831d91c2be63f18e8e93877bc659fa76f6cffe9f8b4a9d98b22fbfe7ae890ee7237642c52d49f9967c12eed3f7d841fa58df92d1567457bb1255a52c61320f389357632b3239a22a71a7fb36f4819ffa279468a9ecafe4384a29b6a33cbcb31176c6b7ac72df89fa23ef9e4d3150afec6f98382ff671815f18c1a23c9d0fc41601bf7ef8350513dab08a8088c0381bb3124fdf38ef787e64d8b8134e473bb63570ab9175640fd7a78e221c89d0d8e3a702c960658f8bb284d837058885237bf4d0a9ff9bfc9f1dc7138e317e64f25c357c7715c94d053c88124dc419e4ff830c0980e930642b1d117bef0329931365ac2998fe2744a08286cb9246a6967c74cb6bf0739621cfa480c5dca5653e0a7e8c992f9315d718b9827ce158188063446285e027b4431a95c7eb295d87b313a0e9d46aa7300a018b9bdb38ca435053c09599e0c0612ac85fc037c512a0959125db7441e6e89245b4d1159d5d4b2ab259e5b813eb1fa4486c2e216f1a12e4da92404e742554ba213100000400049444154ccf87bcff30c160b8ef1457c3d423c20ad07b8600a934ca286c8bb1a0e463d3325690a17d49376d831591c5a0df6001b29f252c781035d3ed145aebf4f3f0d3b343cd0dde11bd2f0715452b8bf1b5f0263e3727c68f88fd22edeaa8afd7b74efb65e7b55c92226d36cc860f23298b9739adee1e677f0762bf84ff852472757ea69c5417a0c764b28fa930e102c22339a05bf1d0567057b794da2a704fc2170fc48648648f5c8e0975e9c94ac8c7f3feb280a7a52fc87288216e0acd191244d92d69269030fef838afd3bac3150fc8d4892f7af45afa5e049f8e589e60f724e058a0824855295a422a022903002776348fae907bff934618078c69d1b01fff025f5a637c0c1c0634fc39eff20451c7ef2b7e418474ae2d4c3a7e1a932d0fa60ddfab8c65f5a4e2e2f718ff66a58f7705c297721ef253985afc685aad5f023d1902a2912547cae965c5dc447358e44b226909c3cc9f853d9d853aea7e74b9c440a3316922f619151e1f834780c5e3e091b1ba01e27860ec28628874cfed94ec8cf85a5df873d6f1311363b194b8e7e434a6e2f0dcff8f64557e401a8d5b3812c585d5539782d0d4965df46e28752656fbd8958c65e6c0cb78a3e1b4556ed68a0fb98d2aa2605fa44ea93448449131b8072a12a53f70d1bc2291a3de54d2aae984fc640839763952576f55dc439cc06ddac4206c443bf5d17fcf674b37541317848440516766e6d38221e69060c5271251b399044c14719079a7c21f496eadfd731142ec94ad1041b1b1bb9e6f8a3d58119257cc6dd2e457fd24e675b33fe210a15ae878b18d3dcfc32f0907f4be8fe93240ed591b3afc3a7a83fe3b06369f80a775f33cb2ae7a3de52bf8dc719f995ece57a7f1cfed0d9c68fcca2405992e20f1a127b2ae849f11f5e60b8fb4f4dbdd538c5dbee5c16097fd8ec151a92caefbaa4ec6f9c3d727b69780af2e5f7afb23fc4f83137aedf87b89aea858a808a404208c81ff50955bb8b98aa5f848dcba0b5198e1d835e0033fb2ab90f477fd8d4ee83dc3980ebd0ffe73094d642ca67f0ecaf94c139bc11da1f232b9676fc12767e02561b543b21d008db2f00e4c3b27f82e98fc1830eee7dbe303a9840ef48025fd7ff8294254432177a4555297d125e5a0af60ac89f09a176f8c128c1285b47ce5fbf80a2e77ed8db0e75b9b0b1091aff00fda9b0e87e08bae107ecb8ac662aecdf083f9b49268636bc0997ff819f9f20978f816d7d2e3cf814bc6e80d3a9b07205d1a36917405ed4089289da4bc3b3e18d387ee1c2dbd517b19b0d3925cb6a676b331933bb3889fdc493c08101843ed359e384215f53331b66e19cc8be20988df316bbfc273b0dd6f9b3355ddbb925f996b26fbb4a70dc66be21bc837b8e0aab5edcb1c72a2b99429f307d784d052be2076cccb6ca5acd025c6e642263c47cc2c05497555ce3c84b9b35273b5d8f63a4b18f55c9ed02ef5fdb7dce3c739e6bd534cf173d5734965956c3b077db2ecf03f6724376e972a7f6b44f935fb81043dbfe33a786701aab7c4c155bd6f1abbe24f8d070f0b895e57b219da6ff195f7e9e9959d5f0e8f1b6b360b0cc41abc39ecd1f0b667367019f71b76bad5ac5ae5a93e80f8c63b52b3fd0f5f5d9ee6eff20e8d98f128407f9ffb8a8fe13af14b9ea6c56d6fff8e5114837e757d74dcd376433c614b626ffbf0589a2c64882bd1cdbb8fd4149ba22fe5ebb85a227cd7fcee3ff48909402dee677dcfad58e9ccc82dabaa18f70f99aa27c0f0c2bfa1bfa439c8e517b69786e77137e999fd3fc412c7c1cbf0fe26a6a5e45404520610412f8514b58d69dc9b8ff14f40c43b183ac645ab71616cd86732d80cbbdb9f4e3ff84ae100934d7ad03c7a2d8da23d94006616f7885acd9c705f2c8dc5007991a68f7c2cef5d07a1e343370dd04687b60d35be4939d53f1f53daeb5bf426a0d878408152f707c841d3fb8c28f224080cd0c0fc1e137a0b507d2e6409d13f43db08d1d2b8ab2e5e202ff3a128ff61c877ffc16113b7a92f353f5c48f0c7c0b1a4fe2bc51703540433d2c6240c73e19f0b57b847df5bef347f0163e0934f0d49b38d04c925c3ebc0d2fef8490165c4fc2da0698a101f7bbf02ae24cb1178528e2c98a5738789a0e7bfbc9e4b59c1cb32ee46d3b13c4316e91fb47c893301df76fb2d9e73342fdb6a6960e7f049790975756da990c9de87f04ae2aae4be192aba6400b115cd5c40d770b0280468709d387283e4c3e3bcea62182f8080ee774ba4f760520c5989397634a09788e79d05e5c068f4cc45073769e3d0fe3d170a0fbd0eeed6d7c657292d88514cfbeed873cbd11d066d90a8a0aecd919265d329addfa7e539b3fa2c9b0155596176088dfef3db26d1f4a1a810819ba8aa022b121d3918c52657ce838d0e453f5dfb7bde96c7f486bca2ea9ac2c29c8cb3024f9fbb0c729f850f1576e97da8fde5e5fe0aa29932928421f29b76518c2031d2d4d3ca274ffc14e902665fddb1a4f74f921499795c318358153070e75874183cb25293853edbd567f906a49f31faa9e34ff813062c08d3bb6edfde090370c4959258fd49869fdabdc2f547b0194f114ec91fa39d51ff80ae3fd7d10da51cf2a022a02e34060cad5abb1e786bc5eb494cb888f23ec101352a20929e23c778947798ae08761f0b1c9a66866787898cb63862b121fb9a213274efcf4a73f95eb39e914fc0a69ee5cc081a0bea3b0bf5dda5cf512b0e8e0eb9d0a8b9ca4acb8d67e0964e9e0621fec89bec566896983711479c54428281ca359f1ac4dae164e219d9e05d0018765ca2b8aa5f113f9343d7361898d40f4b567ec5668f23162ad2f241a250826722ae22937ca62c52527805f8b34a47abd5eb0bb9e713001efa1f7d8ef26cad9c5142b6333a5a50cf6b7793b63648badd8668a785a7091304985155569a18e83ad5ef62a76a0d1519389d527d6a428879ae3a4629f07d7dbc4258bc5a2d51a704e66a7f09dd568b1c4ae281d47966cb8fb630a84fb7dde582d8bcd8e2ba141028ea8169fbd561c94e58fa63f63cb30a68483831e8f57ae468c3206fed276a9fa73122d569bd99482e00c767bbc12b041d17f629ac4e72c4afa13624a5841747cdd31afaec11f1465d2f01f554f45ff51140f34f9c40913f3b7a85c453cb154eae763f843549e42665cfdab505f25ddf5089c3b77ce68342625254d993245a3d1e011135e223098c12346561802610a06831b366c58b87021b221031e25293939192958c465b83cc7c3f1e3519eb8e6904e1a6693388f04d40129517d380a778c123173fd490d49af1f4355c26d8000e36870d9f5dd67bd5d1702ba19194c4e26f95453d37fc72d43b98176dc6afadc40d3e39aba5938dcac76e38c572f6e1904547fb865bae26e54440d49a3bd2e7a1319a5a91915813b0e017f6fb73f6ccbc8c63fd6b648b0e3147eade7a6d979abe973b380b85938dcac766f16ce6abba323a0fac3e8f8a8a52a023706013524bd3138abaddc6404fadaf6bddfb60fdfdb9bf14d7638e011bf83bf19aadd6afadc0c0c489b370b879bd5eecdc2596d777404547f181d1fb55445e0c620a086a4370667b5955b0281be4ed944bf9baad7ada6cfcd02e366e170b3dabd5938abed8e8e80ea0fa3e3a396aa084c3602dcbac3c96e4595af22a022a022a022a022a022a022a022a0224045400d49a9d0a8052a022a022a022a022a022a022a022a02370601f5c5fd5838db96c0f72aa1f91dd893d8e7934691f7dc2b90fa356c783b8e6502e5c7c91def4529fcf332f8facfb059f469aaf1cab811fc63e959fd7d78783e84c3809fe469fb336cb94e736cb5cb8b75039e0f9b249fa4bf0e532db6329b29f0754b9be89352441c8d1ed754e2fa3055cef9919ecf0f1e953413272e7661b1398ae606bf3ed222fd60548ce506e512c2e106e9821b6856d4dcabe93fddcc7fde2b71fc651a72769def4f9f3f31381756d4ccd4f41f696e8dfbe8d4add28f12dc6468dc2a84b1f4648a6be6e3b75247f01338433da79b8f7aaf4ff1ebf09feb6b58adad22705b20a08e928ed54dd63270b9e001db587c639657c3b7eba0e11129df84c9970a1edf75f552a873c1a3b82be8ad9dc6d4b3ea11d25f7575e4587fdde63073980c73267e403f1e155b598dabd6c1c41313bcaa79b8a6a4a83833ba0d95508d4617cad973e2fa30f316da6c85f6bcb8eaa35c18e6e4db6cf3e7984761b9314509e1706354c15698bcc23cdbc2bc797c8314fc135187b7cb34513833f9a859017e2a363edd22fd28c12d5ec75be86a2c3d99b964f78c3c4c36db42bbe006d76c00c57faee7f7e49a75512baa08dc8208a8a3a463754a806c4503ec612cd6b1ca712f78cdb0946902e54b458feb9ab5707842ec1c57bbe3651e4bcf9f7d0b7e87bb43bd06afb97053a3f14a97f27bbf3ce99d36b5ffb427be20735e2e639e1262dcf8d1fd71254b715d9e2929d0f16953bc441a5d2a3c717d8622ec4e4dc2ae4e5241b26b965fb689b78c6d920989e230c96a88c4c7c348c15fc4af9c8dd97541c7089b1629b3264c255b715d1d91baf8add18f64f72e34e4a6fbd3d8608ea1a7d7bdfd7727701f6967bdd3463645bbce44f19f6bfe3db94e75d4ea2a02b71a026a489a608fe02e9f939a265bfe58ca770a3b948ec57893cb13d113a3bde91385a7d7dde8959b8c9b8f2171fc0f285bcdfd5930d21fdb539e174da3cb5b1e9f3ed1972016fcdc925c583c8565964638f12c937d95380e93ad8920df4f3a390a238032fe0237ed2cb2cbea986c9c275b3ecdc838ba14b7b8c25be822013dfbf0ced192dd4f456e70cd1628fbcfb5fe9e5cb31a6a4515815b140135244dac63862cb0692b387209f7c946f8cecb7cb5e737c223a530430ba1100c0ec3b1f760dddba4a8fe45f8c1a3848e2932087fd90c2f7c49f2d14418fe16343ef8c56784a62cbf1e763c03cc0cc230d8033b7e05bfdc03a54fc32f9e8003db21653138f34991f71378fc3992c1f4e6667868116e260f9101f8f02df819ee113f6a7ae63578b41c661941236cd6ceb1d3e4c8e9a5cfc2a66fc2e60d50f0a4023ef2c6fffdf730e30cf8ef85e299f0c9bb70a9125cb9d0e586baf5889a82bd9c84f1ea296f77540a53e67c60c19ce97aed94ab91f0f048f0c2f16dad9a958f2cd4c2304e220b5ff87ccbee83bc00fcb4a936756a32793ca5cdb05901f03ba7019f47d862d3b6ec7b3599baab673fddbdbb453a89b3d0f5407a0a741f39c8ef802ea824a74f803eacf0e1b0a6c2f978812d1d7b37d47f76dfb6dd5e6bc5ca25f7fa4fecdb75d04b58ac650d8f1442d767db8e92ab91485a99eb8922c68cfc815ecf1f76348d1ec85aec8e87cbf24c3ad67946c23eef67dbf7e2a45bfba30d65d926dc5b1646c281af4f1c6c3ce829ab5b69d7f9ba42337332f5feb347daaecc2db799237eefcef71ba34dc4e1c0eae9fbece3fe8ce202a93e72f929cbbe5baef71ddfb2bba5ecd19585b3863ffb9fedad7d4cdd77ab75a1611df4d1da2dab5dbe88c9d062678e843a4e1edae5e67b26863fbb891e89d3511f457f20b081bdca55949b350d718844424323c1ee23db451bd5c6d9c5f2d370a6c951c2f9222b0977786593ddb1b26cbe2e2978f4ff10afa3c897e3e6611d60d1f0d7c7bfd2dc539423f213562a0d1fae4df95101b751e528c81faddfe50dc2a87ea5642f2b63bc7a2a343c2a2926ff7a7f4f466d462d5411b8e3105043d2c4bab4e145c277ce0b3319c877c1a63658b7155eff1db8188c16e1f83130dd037366803593b0addc08eb1c180340ab1bfc2970effd700fd24521e9ca9fc33a2719657b7703f416912a0af2fbc1fd22d9b0fee427d0910cce3278f22730d4039f9bc16804d753a4d6b976d06603f320bc5e0f3fde099b768163360c78a1a50b163f08f53f04ef51d8425f95f5fc66685844f43c790ca666013393c8c44493a348ef9806694658fb135251820f21c992ce08b9084e04421178f049528c99cc22285d029b94ecfdf56118af9eb23647273055cb5d0519248aefed0e261b334cfa64bd0e42fe40308883a17ab331559f1a95e070fe9dddcc0f9730e54e862d1838055bb89da0ac99b374a4d4304d3657d45a55c218c0effd3d170b4625cae813a3cf29c0711d6d465e510684067c7e8dc164caae74dabda753f529dae1543e9281549d5e9b926434a03a38a724bdc0918e1d32d07f456fd2a7db5cae9ef71bd95835aaad28632974fd7d259304115f97b73fa431cdb4ea4d28c7b67cb503b7bd0ff49eed1c489a9b93c51439eb22015fb25667667230468d8c18b28bca11eec888c690996f85662e7497e0909aaa4bd122c2d860bc3e4125f9cd5a9d769a611a468ef7cc36e2c23626dfda7a326bb65e777938a49baedcee60e1b7498f84fabd1d7ecb3dd959f6c5aefeeec6a37d72fc89d1a190a23f6089ddd9e0b09970728fafbb7b44674a37ea52593c492d4c12bbe838d3e45070e643520c972d85b5dfaccc4981918e231fb70c66e22dadd48f8ab80576f5e8745aadd656c2f63bfac974de4f9ada8a5dcaf87066c98fcab801d0e428d30768fdaeec87a954bfb2cd5aa2e087bb5a3ac7aba7dcd2d12972f9d7fe7b327a4b6aa98ac01d87801a9226dca53bdf20838ed5afc0c63ab0dd07a556128f46cec1dae570181fc4eb616b032b2b1756b1f1e8a6c5b0452cbc9a5c84aec0aa8db016190661d36a122f96b221291649e43f97c1c6a3dbe03b1b49c5fa9fc34b4e78e269f8e1197289a97113fc782bd85e84adf5909b07b667493c3a7812fee6bba4b4fa35d8e882a5cb600b5b9d90e293ed69361ebd08eb6b0157a547f5a7c969195296ff2f825889feb05528883f731ef7ee0b50f04f503c033ed904276ae1291bd43ea16c6f53c9f8f4a4d91baf45ecca52f60d128f068f35bed3ecc5c77bd5aa150544c7bed60fb7e1809f65f99a1542a84e2a9df8785fbf49672d2a678c533a8e1d3ced07ad4673b91be70ab0a9d37da82d6ddef4912f4f0914be009c0ebb16c2a79a1b05027f96d2274c1ff6bf23009fe7c0f6a6a36071ac5e61d75bd2e1f3f8f665f335badbdcbfc7c142a6668d2b4f6f990da01c0a203295c5241ef51ef88d386ab5562cc77834d47becbd1dcda4257bed1a474ed6a2b2013fb9ea3db2f7ab8cea924c5df0ec818f2ecc5f51929e2a44fb521c8648488d49a28fb542af243fe7ccc088d96062acf3a6b3c1b639739ee5a201072d031198aed8aebe2217e3d1706fe3e61d5e6c8671ae71d9b216e443c7d0b8fc0123ce728c4747063efd680b19168ffa0fd19d24a95d1c556617580d1439ca38a3c644d2707846b1ebe1724603e133073ed87bb48fffaf58269f825b99f58f7c682bf5134b45a1223e47d96e15ac889d697e4b93d31151967f40b9dfa97ea8212ac8fd4a97bb48c94fcaac673a95fb97a627cdde98e5f1391a0ed7f67b122f5bbd5211b8e311b81b43d2177efb976fce675fa9f3dd1bdafdc243afbb47edebd677f997e0fb5b205407e67be0a12c52e14fef917814d374e1d10a8b01dfb4f77c161f8fb23c380c652c82b598bf082fd7c21e96c81de4f2ef9f458612fff021cfb4730fac7782762a7f79ae91c4a398f079cba502569fb47c70ef272fee497c0730951dabdbf631e4c6d90beb1743ce7d84c1bd99c4a398a2fad3e414b0819982fc30a92ed71f898aed423244dae197fbe1b73f4198e0d9adf0fc5222c13e57d9dec5e3d493c81a47b2cc9d8d18f9bdad241ec5a4d524b167e180610d5c152ef0dcd7e9e9eb0483bd0cf397be3c2afd90133e39dde2088daf6929abb39934c18e23fbbc3c853bc9e913a68f954c7d1b19f090781413dbff5c9017a781e802f9435d47483c8ac97bee62242f3dcd64039006d77c95b9467c331fe86c890f59e765e278e148d7172779aeb62f2e56e5a427a768509d11dfe183deacc771e033d0b6fba8b66a01f270f371e5386091a23ef9e453050af287826130a5cd5f949d02c1fe40aac99c654b4773fd83237ae5768d4672c7a6a43fbc7a35510d504398929c6a996b1e973f30f33211dafed347f8691af1fe93b85d45f38c1439ca381378d13e6d66390e3843b0ade91db7d04fe3c20d8d55f6930c657cb031c7136bec64664734454e35fee6e80cca7d44939391a2883f7a84a2fee887994aed0e51fc2a6d96b21f4ea7ddef343da356269699b0fb37b1e6542e15813b0c81bb3124fdf38ef787e6e13b3e210df9dc6e214f3b9f121ebcb65cf2746fc7b126fc91c4479a5061261b02e2154bc6b84b21116204221ad018a17809ec11c5a472f9c9384d71182e465fbba7119918d472e9f2a09013ce381f14d3b9e370c62f68950c5f1d27c4edef418ed8de3e1286569177b5d0d9498e98f482fe3439b3fe96b029c8cf2374b9fe48546c770d3ecc38333410ea2375b994cc9a27b737739c7a0af2123c1b0cd89df8967e80e74f25a10917278d2d813c541349b69a22b2aaa965574b3cb7027d62f5890cb1ff3008ade2c35e9a524908ce85aa98f1f79ee7192c163d8e31fa7a8438475a0f70c1142699440d9177351c8cf66c4ad2142ea827edb063b238b41aec011081a78003275baecfb006fd41417e7faf1f32cd73b293300a3ffad50c4741fabd7827863ac280fc0aed26e9b4d8d1e181ee0edf90308f3a29dcdf6d3010c3c6eb0f820432b358e43fe3b0ab9f0554410e056701fc91c8489226496bc9b48187ef2bc57ea4e146e4a0c3cbfcc4a257c60799db8f1f89cc10f55e64f04b2f18e62adf47343916fd7c45fc71d281a2fe685b40a9dd79a5ca7e352509e90a7ea2a5dcef343d5978c67198d8fb771c0dabac2a02770402244abadbd2a71ffce6d371db1ce06b3c574b3217bb21958d3d2f718fde6a58f730cfe0f9122767c28c85802feab90148be803d0d1e83974fc2c606a8c789a183b021ca21937fb613f27361e9f761cfdba4a6cd4ec63e43424c2aefb7c3a7e1a932d0fa60dd7ab625d161e77f882ea25956c44c0c7c3195c2f3357c014d4ee93c65f9a52fb21565fa2355b95dbe1d72125bd1de09b98af6b203c389eb29120fc3b2d7d2e2523e8f8f2ed0ead9801eacaeaa1cbc9686a4b28fbff043a98ae2197bb131dc7a3416cb91d52d1ae83ea6b4aa49813e91fa90e7b22cb1016898253375dfb0a15b7121294be14d2aae984fc640839763b52576f55dc439c006ddac4206c443bf5d17fcf674b3754131785a495d0b3bb7361c118f340306a9b8a28f1c48a2e1c3164af5e9baa42cbfffc24018d275293895faebb69357ca0bd2b529f85ade370cb35939ec41d4ee489f2f0c59299a606363638c015f873b16e1e538fc01e1c3d0f60af72f22b3ac727ed47fc665176848eca920878233691553b8fb4f4dbdd53815daee5c16097fd8ec65a978481437ce0fe47ed2d7e10b9728e083a23bdb640bf7c8340265bfa5cab1ce50966f75b02648f5a7b53b8fe5e60fa2fe1decf38359c10f87d9ffd7e5fd4bd553245ff9235092fb828283480cde6fd21f98d17e4fe26aaa172a02773802e2a0e00e37f5bacc2b7d125e5a0af60ac89f09a176f8c17f40fd02807c58f64f30fd3178d0c1bd276787fff6c3de76a8cb858d4dd0f807e84f8545f743d00d3f60c759355361ff46f8d94c3231b4e14db8fc0ffc7b7fb97c0c6ceb73e1c1a7e075039c4e85952b88fe4dbb00d851c9a831f8e28d4b873742fb6364e5d08e5fc2ce4fc06a836a27041aa1e10d8123fedcda4ee43b9f8237ef83fb1f8219eca31523de51e428cadfc08a55d03fbeb9b82b25affbd31fc9d27bb9bdadc5e3d633da9615b77a7a0d8776e155c5a09cf079bbfa2276b321a76459ed6c6d2663661727b19f788a4a018d3ed359e384215f53331b66e1dcb5be20988df316bbfc273b0dd6f9b3355ddbb925f996b26fbb4a705c6ebe21bc838b0f84d52dee58b8c04aa6d0274c1f5e53c10ad1a81692ccb6ca5acd025c6e6422635b7cc2c05497555ce3c84b9b35273b5d8f63a4b18f55c9ed02ef5fdb7dce3c739e6bd534cf173d5734965956c3b077db2ecf03f6724376e972a7f6b44f935fb81043dbfe33a786701aab7c4c155bd6f1abbea4f8b081b25c1f0f0c2bcaf7fa8ce8bc2910e9edf2409faf375890a583c0c58b64168d62bbc1e633befc3c33b3aae1d1e36d67c160998368843d9b5bc7e70fdedecb23906eceafae9b9a6fc8668c292c980825a57fb1581167afdda22c878af37972c726a580b7f91db77eb52327b3a0b66ee8a35d1dcaf2a9b801f68b2845fda49382cf76b7883b96a5fa2d5d8e32fe1f2beb1f6b492147a261490a9df6f86d0a7e78bc2bf341c5fb9dae6754728a210b7f073430f0e9be166e280264f7051587a814fc3875e2bf27a25a6a5645e06e4040e166be1bcc1eb78db9b880bd8ec4a33dc7e11fbf45aaef5c0fade7413303d72f80b60736bd850b96602afbfafbd56f41e3499c370aae0668a887450ce8d85f7a7c6646d861ce9d3f82b7f0975d034fbd09b9ac2e72f9f036bcbc13425a703d096b1b48c8e87e175ec58f3ab1e30757f8510408b0196e38b0e115f00e9005f8ebd641431d646aa0ddcb4a573aec7919dc586a04a713660cc0cea618134d0e8d8e3515f48fc98bcfe15afb2b84321c8acd4320e392147baf414f229d85c5984bb6a45afa1021d092a7e9b0b79f4ccacbc931eb42deb633411cbd15dd16111241a4932d5cecf31941485b534b873f824bc8cb2b2bed4c864e1463735593d8081fd95d35055a88e0aa26fe192648a0d161c2f4218a0f93cfa9b36988781e19e6e9749fec0a408a31272fc79412f01cf3a0bdb80c1e9988a1e6ec3c7b1ec6a3e140f7a1dddbd959a5bc00895d48f5ecdb7ec8d31b016d96ada0a8c09e9d61d225a3d9adef37b5f9239a0c5b5165790186f8fdde23dbf6a1a411889021b9082a121b321dc92855c687ae0f457edf791c2685c8a57344e9beafbac84c8ce000f6ac72bb58ba6f7bd3d9fe90d6945d5259595290976148f2f7f5cbf1c7f17f913b80d41fda1a4f74f921499795c318358153070e758741939c42ed5f1ace1439a8270567209fcae4c6dbdaf67e70c81b86a4ac92476a70f34be57ea4e0c61aa4e027347c5021c524f3db286eca38d3e553f4576c1589b4fea5d83b7e3dd986d91f6ead197f07726cf3cc225da4f7854cfe75fe9e889a52b32a02773e0253ae5e8d3d1fe4e6464bb98cf838c20e2521259a9022ce73977894a7087e00061f8f6c8a66868787b93c66b822f1912b3a71e2c44f7ffa53b99e934ec129a4d3b3003ae0707b5c5bd54b206d10f6ec8f23f217b9b0c4063846f4b5475a4bce4d938f116b7d2161ff7a273f9e2aaf2ba1a04a384074b18fa2553c37d11fe266b546cb697224747c71ffeb7ab2fcff1d0f4cef1fdbd2a87ce50cc5de6bd05359be8c6ab1e29225c0af8d1a52bd5e2fd85dcf389880f7d07ba2ef4acaeaf0042b6333a5a50cf6b7793b632c165bb1cd14f1b4e0e267920a2baad2421d075bbdec55ec40a3a32613ab4fac49510e35c7cfa9fa3cd2fdec2d168b566bc039a59dc27756a395247645e9f86ede86bb5ae25bf27e9f3756cb62b3e38a67908023aac567a938581dab1fb3073c07b61de9b56a43327d12952f6f5142b130b60c634a3838e8f178a34548342be11365906488909470b7c71bfdc7836a175b9386b35c8ea821459c45e5a22c4d3ee9acc4fa252a4c119f68a924330a6e343952fa18fd2e6970cc4b657baf414f5a4bd2fbe286dcbf346554fa6d8ac0b973e78c46237e0479ca94291a8d068f98d86f220366d0288cac3004c2140c06376cd8b070e1426443063c4a5272723252b088cb70798e87e3c7a33c71cd219d34cc26711e09a80352f0c8e5c5c7281133d79fd490f4fa31bcbb257021e9cee7e1678a71f9ad0e0ee36870d9f5dd67bd5d1702ba19194c0e2ea00e9f6afa6fee33a3375efb5b4d9f1b8f00dfa2d5b1e631fba5b6c6ed642c5f4d770d02b779bfabf7ef5de3a91369a81a9246d114bd718cd2d48c8ac05d8380bfb7db1fb66564e31f6b7324d871aae566c5a3a8c1ada6cf4d7404f25efa2636af367d9310b8adfb5dbd7f6f92d7a8cdde2108a8a3a4774847aa665c0f02f8dede8c6fb2c3018ff81dfcf548bcbebab79a3ed7678d5a5b45e0ee4240bd7fefaefebe6e6bd551d22884ea2869140a3573f722d0d7199b05782ba070abe9732b60a2eaa02270bb20a0debfb74b4fa97ade6a0888d792de6abaa9faa808a808a808a808a808a808a808a808dc1508a821e95dd1cdaa912a022a022a022a022a022a022a02b732026a483a56efd896c0ebafc112eef3a163318f5efedc2bf0fcf7a52c13285f2afa96bc1ec3de25f0f656785d86d2d8a6b05fc55f855b66dd9864ab5dfec43267f1443666b1955594d9ad3291347a1c63e2fa30554e6745a1bc993871b10b8bcde17496d9b87d2d63e49b904b0887f1ea95386ee3953c09fc4cd9b2279ea82db38d4f34871b3361fd585851e3ac2a963ac4ade327e343e75ab9c7b0f79afdcacaa2cb5cab5ae3ad77cd7a8eb721955f45202104d490742c98ac65e072c103e37c0c2848ad866fd741c323d29209932f157c4b5c3ff30abcc9ed382aa833babdd565b028175c8f0adc099fab9792afe23f7aa34252660e9361cec40f67c72b682bab71d53a9878628257350fd79414156746b7e312aad1e842397b4e5c1f66de429badd09e17577d940bc39c7c9b6dfe1cf1d7c147e19ec4a28470186ffb14dcc62b86c64ff3071a9d2687a33373e7659acd39b639a3b3494a79dc4c13d58f4c7e619ead003f451b9f6e193f89576b62ae14fa6b747bafd9af983c447761debc89d17b4c29143d15ec1d5394caa022301108a8cb9bc6423140b69c01f63016eb58e521dcb009f7d0894f13283f5ef02d71f5502de42643f51b10fd68e9e8f6eedf0feed9e0fdf3f895677b687842fa2981c6bd5f9ef44e9bda7fda13cf9b392f97314f09316efce8feb892a5b82ecf9414e8f8b4295e228d2e159eb83e431176a726615727a920d935cb2fdb945bc636c984447118af1a14dcc62b86c64ff3071a9d2687a37b4f1c3f337dfe95af4e8dce262e8de17641c7089b3d8919ae214fb6faba3a22bdd36e0d3fb9067312a9a2d05fa3db7bed7e35cedb3311ed47e1a1e8a960ef2842d42215818943400d4913c412770b9dd434d9f2275579baf0617c7c29463f347bf7c3ba68f44a172b2fe964771095d3278be275377ae5b2715332242a1a2c6716516c35f767c1487f6c4f79be8c461755e5b3e3d327fa72045fbf46371c920be5282cb33402a1314f0e3d711cc6dbbe326ee39542e3a7f9038d4e93c3d3fbdaf6ee22fba5269c44b8591d93dd8f932d3f61ab279e51b1bf46b5f75afdca4f7e3c58c9136f859244653d15ed55aaaed2540426180135244d0cd0210b6cda0a0e7646e9c946f8cecb7cb5e737c223a530430ba1100c0ec3b1f760dddba4a8fe45f8c1a3848e2932087fd90c2f7c49f2d14418fe16343ef8c56784a62cbf1e763c03cc0cc230d8033b7e05bfdc03a54fc32f9e8003db21653138f34991f71378fc3992c1f4e666786811e04ee39101f8f02df8d94e8e4c3d4af9fbe08357407306ead6c4aa3cff6fb03c17feeb25d87c58413e4d1f5b294cd7c35476aff79c25441aee5cdabe87172bb7b7f459f8c5e3006424194e7c00cffe8ae7a4c9e78a9f790d1e2d875946d0089bca7374a95d2c0ecffc1bac9c096fec84a757c11c16d5d677618dd010df5edc8929733eb060ce74bd76cad54878782478e1f8b656cdca47166a61780492c2173edfb2fb205f013f45a84d9d9a4c9e2669336c385513bf731af079842d366dcbbe5793a9bb7af6d3ddbb5b44db8fb2950b5d0fa4a740f791839270434e9f007dd81687c39a0ae7e305b674442dd47f76dfb6dd5e6bc5ca25f7fa4fecdb75d04b58ac650d8f1442d767db8e92ab91485a99eb8922c68cfc815ecf1f76348d1ec85aec8e87cbf24c3ab65346c23eef67dbf7b602d81f6d28cb36e11ebb30120e7c7de260e3414f59dd4abbced7159a9993a9f79f3dd276656eb9cd1cf17b77bedf186d428cc3e8fcf62a57516ed6346c3712090d8d04bb8f6c6f6cb596d53d52a83fee6e9b55569c6d24ad07bb8ebcd302cafd48cc55d0930564d1f0d7c7bfd2dc539423c28df04359edf2454c86163b7f24d471f2d02e771bd9a256d11f804267ad5590835d5151f7c8c274b26d00ee279804becff7f37d84534b2bed99ac45a843d87f76cffbbbc5be25c68d5593da8f8ab86115a57ebcc8894ae14e76c7cab2f9baa4e0d1ff435aa6f8c944e0c9354739ca701b7c7465cdac29be8fdfff30fad681a9aaabb19bbb0effa9b1b553c6df46ed5f6a3f125514ecc5fb48f1f781dc5054ff89ddd7eca68dd1ffff14f424b7a6923f7f28fc10294114937fbdbf634ad2559a8ac0c421a086a48961d9c04e883ce785990ce4bb60531bacc35538bf031783d1221c3f06a67b489463cd24e2566e84750e125db5bac19f02f7de0ff7205d1492aefc39ac7392d1b47737406f11a9a220bf1fdc2f9230eee427d0910cce3278f22730d4039f9bc16804d753a4d6b976d06603f320bc5e0f3fde099b768163360c78a1a50b163f08f53f04ef51d8d24e38159302ff77a02702c545f052b5b04168352c2d03ed79128f2af01f850e8a3eb93f845c3622c1a6d7fe846f7f17c06e362bb7f7dffde0f301ce6bc89d0333a7c5f4d553e4a3bdcf6f86864504e793c7606a163033f95a8a7a220ed30c90c6c06beb4895e32761513e18440dc59ae4734cd57257410689ee7bbb83c9c60c933e59af83903f100ce260a8de6c4cd5a7462b399c7f6737f3a31b4cb993610b064ec1166e27286be62c1d29354c93cd15b556953006f07b7fcfc582518932fac4e8738ac436da8cbca20c080df8fc1a83c9945de9b47b4fa7ea53b4c3a97ca401a93abd3625c9684075b04fd20b1ce988da40ff15bd499f6e73b97ade6f6463d5a8b6a28ca5d0f5f7954c12447c5ddefe90c634d3aa37a11cdbf2d50edcf63ed07bb67320696e4e1653e4ac8b047cc95a9d99c9c118353262c82e2a47b823231a4366be159ab9f02a1e87543affc57b1b1c3613c666beeeee119d29dda84b65f54f4dd56a534c25ce4a94dddfddabcb484fd5a6d2fa91a6e7ae1e9d4eabd5da4a581c10b7e93c6e4d6dc5ae6f931e0cf57b3bfc967bb2b3ec8b5dfddd83f9cafe706e26c645ca7ea228a7f1681ffebb8b1b5b633c0a495a9351af13faa8a6a228d3a8f1f7769cbf189a6a34a7a725c5dc11bb231eb751fad1ee54c68dd28f7c488a6193a5b0f69b95392930d271e4e396c14cbc1595fc24a8d8efe3c593e040494ab8fdefbec0487666e67d0ec6e3f6b2f598fb16646935feeed64e25feeec601e5fe9d6b59acdc5fa728f7454b48f1f7016f289affc8ef6bce50653d8ff629fb33051c24cbe55ffbef18bd15b544456042105043d28461dcf9061974ac7e0536d681ed3e28b5927834720ed62e87c3f8205b0f5b1b5859b9b08a8d47372d862d62e1d5e4227405566d84b5c830089b569378b1940d49b14822ffb90c361edd06dfd9482ad6ff1c5e72c2134fc30fcf904b4c8d9be0c75bc1f6226cad87dc3cb03d4be2d1c193f037df25a5d5afc146172c5d065bd8ea84149f68fcfff247f87503fced77f890f499ff0b8c009ffc6faafc7f11c44af4d9f02acc35c1936b614e326cfb57c0f042ab8563384a4ab1d7f32378fc6d0c48a179ab20913d07842b897cdbd36c3c7a11d6d79289aa51fc6976c570e881f54b617f2e1cde0ac942042634123b5bcabe41e2d1e0b1c6779abdf8f8ad5ab5a280dc2d7dad1f6ec3013fcbf2352b841098543af1f1be7e93ce5a54ce18a7741c3b78da0f5a8de672b73046d3e93ed496366ffac897a7040aa94492d361d742f854732377193d4ae913a60ffb5f1380cf73607bd351b03856afb0eb2de9f079b46536239b07d1dde6fe3d0efe31356b5c797acb6c005a486aa92c26f1a8f7c06fc451abb56239c6a3a1de63efed68260dd86bd73872b216950df8c955ef91bd5f65549764ea82670f7c7461fe8a92f45421bc92e2c0fe9ba3c03fbdaa1ce3d191814f3fda4286a1a3fd45c4732970acf1bd66afe5f16756a4276968fd68ad58a4a8a7f58f7c2826c5cd525188f168b8b771f30e2fb6c338d7b86c590bf23fa0f883ef1428fb09450e1c6dee6cdd4b3c0e93a56af58a02368707c6a4472c82e7db0e34b529846b52dc846ad27eb41a28b829f723b64b240d876714bb1e2e6734103e73e083bd182f72ff8d0348e45b2bf4138227e22058107fa6e0d678a0fddec70ad2e7df6775930dd92c6505995a089c6d6bb5547c4fa9bfe0002f56d2bff4fb9abf8f24f642df5ec5df07106e28897cd44cf9778662970887787f8e47257645937f6dbf6331b96a4e45605210b81b43d2177efb976fce675fa9f3908676bff0d0ebee51f1c537bcdc4bf0fd2d10aa03f33df05016a9f0a7f7483c8a69baf00885c580ef847b3e8b8f47591e1c6e3216c15acc5f84976b01c3b36892cbbf7f160eeac01f3ee45976ee81f54ed04ee52fcf35927814d3749e0005ac3e69f9e0de4f5edc93781660aa6c4c4e60a7f21ffe09b43f06b945b02a1736032c2b23dafef26d28f839a9aa203f4ce8727d0eef21c8d43f43acf8cb561e25e42c25ec20b7972503b056f079d1492e7ff17da4d8bd995f3815c57f4c1cfeeb15b64a3bbcf5169c3f2e6a232e6b993b1bb1f37b5b493c8a49abe187b6d82b1cee448caff27972eaebf4f47582c18e70c1a52f8fb6e163303e1d758b2334becc5256673369821d47f679e3b8e5f409d3c74a66aa8d0c78483c8a89bd0f70dc749484fca1ae23241ec5e43d773192979e66b2017894ebcc256f92039d2df121ebbc4c1cbf1ce9fae2245fa9ed8b8b5539e9c9291a5467c477f8a037eb7127566bdb7d545bb50079b8f9b8721cc8443b25fea4d9187240ffe923fcb408697f01ae1c63bbb2efaf870ee92e770bba4bfb91a6273a83326e194672e7a7a43fbc7a35510dd02298929c4af7078a9fd895e5087ab2e738a3bca7cff667e4986c8e15f31f0cf4749c3bdeb2cf2384a64ab811fde5fd5834cf48c14db91f891ee82edaccf272cc05db9ade710b7ea0283f9f7c4242a1dfc78b276bbfd281823f74ee3bedcbb79b334b8a2d9dad50968f3f2c41cfc156c8a855ec2ff438c5fea5f6237b1fc9f114ee0ba95fa1ea8af2a9f735cd2e01038a3f0bc5c2992a9f6790ea49b55710a89e5504261581bb3124fdf38ef787e64d8bc13ae473bb6357cab953c203d6964b9ee2ed38a6843f3ef82812d867b221205eb16450c495102310d180c608c54b608f282695cb4fc6e988c37031fada3d8dc8c4a0964b9707859c70c6f99498ce1d87337e41ab64f88a1a7291f99734feed9f9011d965df031c90c591c0937f24d18793c69f47e4c8f5215421e1f34792e4f64a18249772f99906c2d229847e7a01ff51ec221506e130f73f04c0e6b70981920c06ec667cbb3bc097a79250838b9328354464f2d04b24d96a8ac8aaa6965d2df1dc0af489d527321416b7880f4b694a25213817aa62c6df7b9e67b058706c2ee2eb11e210693db0b01499440d9177351c14822648499ac205f5a41d7608098756833d0022f01470e09eec147ed18c62bda4bfc2973a7857f1b472438e32cd59025d4f522cc7cda2d7a2638407ba3b7c43c27ce6a4707f34e465858a4c62af8583889e901ca11e773eba775bafbdaa641193693664307919ccdc394defb0f3441471232191bc1ffbd90e13342733a0793fa7f423699a74ee4864244993a4b564dac0c3fb82a2fc610ddea78afd4e245d239ea42a9f46c1cd7dfc6c9e2327f3de22cb4598abc781ecf6837d60c9a1f517cec850d04768873d8bfa0baf15eda5de17ac00b9bdb4fb7a14bb584989fa334d3e2b64ac43bcbd6371abe52a0213808062e83401726f65119f7ef09b4fc7ad5f80aff15c2dc95cec865436f6bcc43d62ab61ddc33c83e74bb24467c642c017f5f2b5e383c7e0e593b0b101ea7162e8206c8872c8e49fed84fc5c58fa7dd8f336916cb393b1cf901093cafbedf069780a277dfa60dd7a5e13c9a9ba1eb282b045888347e1dff95fb0ea21985303ff8ccd0cc2fb1b89241a7fe98ba454ae0fa10a74c1388ec61e0552144f51190cb3218798a2209f25cdb4b25ca5f07c0dcf4ed3932fd6803c3e163714cb9307af56cf06e2607555e5e0b53424957d1b891f4a95a94fa432f66263b8f568ec9945569f68a0fb98d2aa2605fa44ea93448449131b8086592a53f70d1bba1b1792b214dea4e28af9640c34783956596257dfc550040cba59850c88877ebb2ef8ede966eb8262f0b011a1859d5b1b8e88479a0183545ce92788a6e12394e368a4889fb5287c85fb578d5956393fbebf92c4a16e4c029713f5234d4f0e17396e7d1dbe7049568a26d8d8d828158b2bf5389ca326091c72fae872847ad273675b33fee17be90ad7c3458c696e7e19785a46c54dd68f1a127b2ae046e9475e8370f79f9a7aab71aab5ddb92c12feb0d92b682695df7549b9dfaf0d4fd24abcbf8d865bdba7678b19c698f358cd9424087bfe8a400195dfeac05279ff9216e9fd18f55685fb02ab89fc8a15a3289fb888fc7786aa272708e3615abc188f0ff70f845c3e2f863bc9f494fb671cbf7aa122306908283cea27adaddb5970e993f0d252b05740fe4c08b5c30ffe03ea1700e4c3b27f82e98fc1830eee3d393b8ab91ff6b6435d2e6c6c82c63f407f2a2cba1f826ef8013bceaa990afb37c2cf669261c88637e1f23ff06fb4e5f231b0adcf85079f82d70d703a1556ae20f035ed02604725a3584603acc31bd917ee0ed8f14bd8f909586d50ed84402334bc417871e6e5c6a748c62ac4c1a3f1b7c3eecf48808bf1d839373fc180c6bf81488da5a83e1ca9dd47962be17709fee73094d642ca67f00e5ba0606f4c066414c13fbf0681d3b0e16d1195cd46e5b7b6137c9c4fc19bf7c1fd0fc10c8ca0d851649a9e1c0e5271d46b6f575fc46e36e4942cab9dadcd64ccece224f6134fb12a1a7da6b3c60943bea6667ee0adb72f0866e3bcc52effc94e8375fe6c4dd7766e49bea5ecdbae121c2f9a6f08efe09edfc2ea1377ec71ce4aa6d0274c1fc91061fc83cd6cabacd52cc0e546263246cc270c4c7559c5358ebcb45973b2d3f538461afb5895dc2ef0feb5dde7cc33e7b9564df37cd17345639965350c7bb7edf23c602f3764972e776a4ffb34f9850b31b4ed3f736a08a7b1b2c36e426bc259c7affa92e243cac9535c92c2fd974720dd9c5f5d3735df90cd1853d872514c2de1175f8afbd1e356d6d30b64142d96a2b875369ff1e5e79999550d8f1e6f3b0b06cb1c442fecd9bcdd8dcc347f50a28f2627d66e34c73856bbf2035d5f9fedeef60f829efdb8417830105dd524c74db11fbd760b05375a3f9e27775a520a789bdf71eb57e33064416dddd047bb3ac83f30723ff1c0b062bf5f1b9e38f3527a1f8d867f5fcb175d4c49164e628f0c9ce6d619028dffe328b26c26dabfec95427fb52adb2b9622f62b319de405f9d4fb9aa627eb575269d16b193e54f9d12a187027fe3b26aaa5665504260301851ff7c968e6b697998b0bd8eb483cda731cfef15bc49c9deba1f53c6866e0fa14d0f6c0a6b7703c11a6b2af8f5ffd1634e29c395c17df000df5b088011dfb0b84439c11769873e78fe02d7c6269e0a937713d0f4972f9f036bcbc13425a703d096b1b48c8e57e175eddc9ff5f7e45187809b0196e58b1e115f00e9005f8ebd641431d646aa0ddcb4a171d849f42421a85ffd7ff1f9057d611d8ce8590ac04657e5601457db0d28fff13ba4290eb202a391681301556c95eb609b64d98914fb6625aee644914f97b5e06b79780ec74c28c01d8d924d41fd52ed94067ac9624e7693aeced2793e67272ccba90b7ed4c10c77c45b74b843c81d371ff269b7d3e23d46d6b6ae9f0477009797965a59dc9d089fee3e3aae2ba1a2eb96a0af04189ab9ab861764100d0e83061fa10c587c9e7ced934443c720487493add27bb029062ccc9cb31a5043cc73c682f2e83472662a8393bcf9e87f16838d07d68f7767656292f406217523dfbb61ff2f446409b652b282ab067679874c96876ebfb4d6dfe8826c35654595e80217ebff7c8b67d2869042264c82c828ac4864c47324a95f1a1f1435fe3892e3f24e9b27218a32670eac0a1ee306862cbd7d008e524eb479a9e14dc00f66d6f3adb1fd29ab24b2a2b4b0af2320c49fe3ef41c9268fea0481f450e270d8f3133bcbdbec0555326535084be566ecb3084073a5a9adaa8fe43ebc7362a6e947e84302ac18dabb5edfde090370c4959258fd498697e3291782202727f1b05b7be9663f8f383ea9e3d7e248a21859fdabf5851b1bf46bf2f647e45912fbbaff1fd116723454fce8e982344ede232527c64f2aff3774cd29c7aa92230b1084cb9faffb3f736d04d5cd7fee8c6b22d6421212483b18c61b03db123b06b071c884d657c558848ae437143964b9ab459242be9cb4deebd90d5dcb44dee6a3e9b2e60ad7ffaf2bfedebbf8f7c34c0222cb75c4a71d37a517c633e9e494c0d28260232016cc7f803c78a2c6459e2ed3333924633736c19ec4061ced21a9db3cf3efbecfd3b67345b67cec795f87340293a962b44a457dc230ff991120b4891c685245e95218c1bbde063900fb1c8c8c88810c7889025bd0a59274f9e7ce59557947a4e3a05a7904ecf01e880a3a713eaaa5a051943b0ef4002514c14c02a16702ce89c575e4ac94d938f1e6b6d09613f571f5f21a42c2ea5a04a3906b8d427d76ad50f605e107eb55dca4be2347e395f343d5e7ea10a9b21c104aabdd15a92fc26f843c2acdc58c1abd033561623363b2e5922bb4b9ad2398e0387fb0927e3e78ebcdb201b66949611e37686b564a40d0d78c85adf68b0b165ac25ec6d1137b329595a9911ec38dcca45f3c56f1a7dc2f591d52b245173dc4eb5df1b5b272372d96c36bd1e07797d9dd17d5663c56576c5e888208ba74ea64168a09f8b97b2b10e5c810d327024a5c428150725ab846263d8acb450b7979339fa129624a3c9ea191347aa36a78502435e2f17230a11d5fe8059aaf4d1e454de8f8bc8fb3d8d3b634b8a6c76d66a4943908744a347c78dd68ea3e2a6da8e3213c5244d3ee90cc9b57b4c2e0d075a7fa3f1c704ca22e3e5c7e2caf6a2db2bab6d8c242a6355bbefb0d878f594e333d1bf636358a2655f1502172e5c309bcdb829ed942953743a1d5e31f07bd4024650247a56e80261c0fde0366ddab460c102644306bcca426a6a2a52304b8808718147e0c7ab3208d5219d54cc07691c09a80352f02ac4a5d7181123d71e3497f4da31d424dc840830ce3ab7c3d87d9eebbae837ccc862f2704177e854e36fc5d77f5fbbc5379a3e5f3b00b76c8576a7bb44e7eb0be86c6c2163d4053dffbdb549f257e796c545333c1904b4df8d6450baee3c9a4b1a6b02c99bc5184d8b6808dcf208f87abb7d21362b173f3c16e140c729dc65e7bae172a3e973dd80b8e52a4e9f3d97b1a630bcdde16ecf11cd1fbde5bac03518acfd6e5c03785ad1eb8080e6925e07d0b52a6f7c04fa3cfbdff3ecc7f7f6567c931df27ba5efe0af87f6379a3ed703835bb34eaef18f0d566306f6c26ec5848a5b1311cdeae411d07e3792c74ae3bc1110d05cd21ba115341d6e5004fa3aaf7d56e2449a76a3e93391b669b22808688d4e014623278b80d68592454ae3bbde0808ebf3aeb7165afd1a021a021a021a021a021a021a021a02b730029a4b7a0b37be66ba86808680868086808680868086c08d8180f6e27eac766057c1f72ba0f96dd897b8fdd358e554f29f7e01d2cfc9b77f9f40f92a554e1e6931fce76a38f757d8aaba0116ee2df50358910fa110e016359ebfc2360a1b55c1b1e4530b56c1cbdf02cf6ed8163d3894ca994c06bb724d9961d0bbbb71ecbd9f921147786c6c396bf19f6bf1c8d64dd3e8097293d787a974e5877b3e39dc26ab26415c3c61639da57303e78eb5c837808ab37c4db1abc381a63f8dce9455e7e35e9a11dcda64b8e74c731b378675343963144b225bb0f78b81ccfc89c1bf6469f54cddc0b1e6d6849db0264fff244ca4b324df9fe932b41c0d010d819b05016d9474ac96b49783db0d77b263f18d995f050fd640dddd72be09932f173cb9e9aa7bc86ef6f7e2a9a994507937c1ada6865c6be96c94d230a67c6ac12abec67b68f9e3a33373982c6b366e889f588c2daf76af743289c42453d52baa17959665c78ea18a16a3d1a3f9fc77f2fa30f317b06c89a330a1f82809d39c2296cd9f631d85e5ebc9ba4a1c68fa53e8cc5c72ca412106965de0983fb6691439a3174ca69f88f65a260a7fa6a8a4902dc62d6113c355e99f28621252c9f7e749a85c13a921a02170a321a08d928ed5227e72b40cf097b158c7cac77344742372a609942f173da9691e91113a2eaf7e17dec753a95e8297dc7858d0f855194b3e4da280e7d5d4a82691fbac9d9b3675e08c3731337b7e01639d12649a7013fd71055b594da125c5dff15163a2441a5d2e3c797d86c3fcc94bd1539ae48214699e5f71d8b5826d9209578f034d7f0a9d6bdaf9fe4900ababd6c592c3abc60c1439a3971bb39fc4edbd6860a287228d2e73cc5c72e4d69588fc96bb2afdc7aceb5a1992efcfd75a93565e434043e01f0001cd254db291f0b4d0490d932d7fa295ef8c9e683a8a60f4baa65fad5dc9c81fa5ea09cbe29a1a38a5303c7c0c89493832b2a26cf51d391019889f112fe6d3e8b2e2981c9f3eb19720368084d7b84ac1e23186724f468d71f268d784036fac8afe347a1f22a227a763c6501add309a9c514a8dd54f24f6da9d57217f94aa9559932d5f59631294f1f5e724046a2c1a021a02ffc008682e69728d376c832ddbc15940b8db1be07bcf8bc59ed90c772f86197a08066168048ebf0b1bde2259b5cfc10fef25740ce121f8db5678f633128f05c2f02dd0f5c32f3e263475f9b5b0eb09606610f3e723a2000040004944415486a11ed8f54b78631f2c7e1c7ef1001cdc0969cbc05544b2b84370ffd32482e1f5adb07c21e089e2e141d8fd26bc5a2f90a957a5fe86d530e32cf86e87b29970e81df8b202dc05d0d504351b8990275e827b97c02c33e8a287b553458f92a16697c04e93afd41371ae7a1cfefd3b3087c7078b771d829a280e97d3e0e577c1adc087a21453eebaf3b639d38dfa2957c2a19148e0e2891dadba75772fd0c3084e360c5dfc64dbdec36251dcaa549f3e953fed3e63066b07c07d4bfdfddee89199eceaef57671bae9cff68efde16f924ce12f79d9969d07dec309eec2e0d4afa04e8c3573012d22d75dd5fcc66626b0507ceefdfb197b32f5db7ea76dfc9fd7b0e7384c55e5e777709747dbca38da422e18c72f703a58c15f9fdbdde3fed6a1cdd91b5399c2bca0b2d06be334442fddcc73b3fc049b78e7bebca732d78962e4442fe73270f371cf696d7ac7318fabb8233f3b28dbef3c73c97e72e61ad611f57ff5e43ac8a041c88620b47ce9df85c37af342f517fd57621ea53f51faf5de52bd72c64b2f4e8c445821ded47f634892d4691a3622f398a76b47e42b44db09710a8fa3b2adda50539d310e77038381c09741fdbc91f6cab86ff255e129ee4ca0787735d79be2125d0f63fa4378e437f1afebc541a3e429dcaeb04f4e7582f514ad7281a021a02370b029a4b9a5c4bd63d47f82e7030938122376cf1c086edf0f2fbe066d05b8413c7c1328ff846f66cc2b66e336c70a20f00ad4de04b83dbef80794897b8a4eb7e0e1b5c6494ed9d4dd05b4a8aa8c81f80a6e7c801eeed87a023155ce5f0f08b30dc039f58c16c06f7a3a4d485d3a0cf05e62e78b9167e5a0f5bf68073360c72d0d205cbee82da1f01d706dbe8abb254f5bf6c8602543e0cc130dcf530a90523d9a5b01860f956a85b48ec6a3f0e537380994972c71d56a9dbf5aba3f00c45beaa9e58ef530fc11c3db4b700370873f2c126e9cc0b6b003525f8d8e3f85054652ad7b88bb38817dfdb1d483567598ca94603047dfe400007438d5673ba313d56d4e9fa6787951f6f026096b8183e63f0146c134e76b267cf32905cd334c55c517be522c6043eeef7822f1893a8a04f8c3ea700c7fff45985a559101cecf7e94c164b6e85cbc19d4937a6e947d2458f05d20d467d5a8ad984eae09c92cc62672636f0e0c065a3c598c9badd3def35f0be6a4c5b49c456e2fe4e059302e1fe2e6e20a8b3ccb41b2d28875db3de89c7d8fb7bcf770ea6cccdcb614a5d35617f7faade6065f2d0470d474cb9a54b10ee704467ca2eb243b3e0bacb70483718f47a3dbb88d707f59f2eea7f2ca8da2e54fddbc66d5799fb41d252c101aec3679b979be358e61ee86ee8a5c909a8dafbe5fc51fb09aa2bb3978ebfc355e7642d3879a8bfbb3b62b0649a0de97c7b51f0175d521c2eb695acfc76455e1a443a8e7dd832948d37845afbaaebbfa787827fa3471d9f36aacf3831fdf93a9e9c26e9f35a54434043605211903cc527b59e9b4078fd6b64d0b1ea05d85c03ec3760b19df8a3e10bf0e41ac0b5ddec46d85ec75b59008ff0fee89665b04d6a761549042fc3239be1496418822deb89bfb8987749314b26ffe92cde1fdd01dfdb4c0ad6fe1c7eec82071e871f9d25490c0d5be0a7db817d0eb6d7424121b04f117f74a81dfee921925bf5126c76c33dab611b5f9c9012c3e28deafa0b3de29d67a1f8275036030e6d81932be15116321fe7fdd14bb07125e0eaf9b8bd8962c74c3dfd80ba5d8d8bd4e5d3f4842a988583d097a07e0bd4abb9dd327c688ad9cabf49fcd1c0f186b79b397c8c573eb2b69860d0d7ba7b070ef8d9d63cb656ea7a9ffc70ff80c5602f5dc298a7741c3f7cc6077a9deeab6e9ca3c087cea6239e8cf9d3239f9d8a52c40c70391d7a089d6a6e8812c46f397dc2f4e1ff1d01f47b0fee6c6c039b73fd5a87d196099f24d6af987fd1ed69fa3d0e0a32d58fb90b8db6d9003497d4565146fc51eee06fa45eab7de91af44783bdc7dfddd54c6a72ac7ccc9997b3b07cd04752bdc73ef83cab6a51b62170fee01f2fe6af5d94991ef5f6e538441593ebdfd7a4da2e443a1f14fa5fa6d02976d99696a03f1aea6dd8ba8bc3928ceb31379b735b11f40a624026dfbed4a86aeff13f8fda4f80da1f64f2c16e5a82fe6864f0a33f6e23c3eeb1fe09eaf8a3c644d191d08c32f78a258c0e42670ffee103f417857fcb90acfef63f8baead1c7f1a3e6d7c738b2049be26ac3f4b646a510d010d819b14815bd1257df6777ffb763eff4a5d6cd4e0de6797bfdc346a0bb7be23be043fd002c11ab0ce83e539a4c05fde25fe2886e9d1472b2c037c93dcf371a23fcaf3e03094b9149ec4f825787e25ece389c24529ff8e5964a8f24fbb45a6fa7db0d105faa962f24203f147314c170950cceb9351044d07c88b7be2f7014ce5c7ea767c080509f6c2c66550cebbc22afaa742f834bc71007ef7229a014f6d8767f8d5eb45df20029bb6127f1443dc5e0055f9021bcf9b70b963aeba5dcb28f297d3f43c0087387031f0e3edf06f3d70f430fcd78b10f30395f82428114fd8e6ce468c7c5c2bf14731e87529fc77f462422caf4413f8ddd7e9edeb0493a31ce35f7ed626dfc8093db826a9872696b495d7b0165da0e3d87e4ea4085f4afa84e96307342432e825fe2806befd230995cb13c81fec3a46fc510cdc854be1c2cc0c0b0b7150130bcc35e39b797f674ba26b373f1bc7f3225d9fb68bcc9e4f2f55e665a6a6e9509d48ffd1c35ccefdf87ec0efd9dba6afbc0d7984f9b84a1c306b54fde5ed22f0abe9ffc5f8ecca32933b392d73c5faf5446540cd614a2ad2c2aa728ac8d6092af6a6757a71f72d5a3fa1d9abd4bf74be199b6ee0cc31711a48bc7faae38fbaf3c3e3d94b70201a029ec6b79ba237c5b8f447abd4f1a7e2436a568609ebcf4ad11a45434043e0a643e0567449ffbaebbde1f9d3e24d39dcdfd4144fa9c74e451fbc6c0179ba9fc6b1267c58e3a32bca3e93770131c593411557420c4358073a3394ad827d129f54293f15a7298ec0a5d8f85f0691894ead10be1a8ac6a2df38bf13c3851370d617d52a153e3f41883bdf853ca9bd7dc4ad243e959afec49f15aad14150f2322ed344f83b3bc91583316a2fc655e5f35c2a9754de0ca55dd974f928458933129f5d0bb51be181e550301b9c35e05c461cfd1ebe4e253e2aaa1092c9449cb5a06f50cc4f272e48b2eb9688f3924c60ab4bc9aaa6963d2d89dc2af489d5273c1c92d6884e863ca413175c705531e2ebfd4264b0d98c3871b1bf27eacfc8cb012e98c2a090a823f2ae8402b19e9396324570ea493dfcd0270ead06b09524e0a9e020d437b6fe021f7fa5e9bf7c3c76d98c7aec00a1c1ee8efee1e87ce994d04037bef456953fa2c37eab6aaf443389a93c55dd5e55f9033cd0514dc8cc65b17f52f027f25110ce1a8da4e852f4b66c16bc621baaca1f5d7f25fe747c78cb149789edcf0af11a41434043e0a64240d575baa92c541af3d11f7ef391923a06c52fe63fbd92442e75433aef7b7e293c7aab60c30a91c1fb194eb684190bf0c5b238a02866f05f43c7e1f976d85c07b53831740836c5c61215f2cf77425101dcf303d8f71629c93a88af188cfaa4ca763b7a061e2d077d3f6ce0d721f1b58997fa5f4b53625c784c2af597b226d4c22766a2a38c61313c531d6754951fcf461737fa16168938aea86e173f00ac943fba9ef59b013f50005b5e032703f73d0ebfe52b4ed05caa8a324e1ee07a23efd083dd5d998769b94baad824481c4a95981597cb38cacca1d6b6b82f4756b1e8a0fbb8daaa2615fa44ea934284c903ef800aae2a53f34d16bb9564f45434a96c693e19030d7c152f2cb3abef12ce313619669530201dfaedbae873645aedb79581b79594b5f1736b4361e94833a0938a2bfac885041a3e98a5aa3f5f88bf28da252655a23fda81816e179a2f91d3d7d11f5a9493a60b343434f005a317bb938fc9e5747da96eaf80af6a3f19c55e153d75c4f70c5d16fe8232ab2bf2c5fe49c15f5437d4fd97c6de2a9c22ed70ad0e87763773225d81c3e8fa2bf1a7e213ad0064fd84779027f2fe8a55a445340434046e3a04c6f1e8bee96c1f8f418b1f861fdf038ea550341382a7e187bf86dadb008a60f54f60fa7d709753784fce0f2f1e800f4e434d016c6e84863fc1403a2cbc03024df0437e9c5537150e6c8657679289a175afc357ff22bef757ca47c7b6b600ee7a145e36c1997458b796a8dbb807a030416f7cc12684a39be1f47d6465d2ae37a0fe10d859a87281bf01ea5e8b72247eb75fa4e88f6c6abde2d3d364e9bdeb5178fd1b70c77298819e4c74383551b04aca8e4731bd8443b8f0b35fc3ab7f56b7abb58cd095f2697a563d079b57436b331c3f4ee6f959798fb60f47dfac090ac4f049a0c6135c575fd86135e52d5abd72b63e9bb1f28b93f82d9ee23c3a63b6abda05c3fd8dcdbc9b857322fb026035cf5fe6f6b5779aecf9b3755d3b8525f9b6f207dd8b70dc2cdf14da25f801d1552c4d71b780974ca14f983ea2a6512b04cf3e9ab2b2152b75b7e172230b192316033aa6869cb26a6761c6ac39b999461c238d6f56a5b40bb8bf9fee77155a0bdd8f4cf37eda7359679b65378d703bf678ef742c31e52e5ee3d29fe9d715952c409770e0eca9619cc6aa1c53c59a0de2aa2f393e51adc4ef44fd05a2ac5dd4f5b73bd5e912f969a61c6c5f1d0c7eb4bfa5afb3f96c7f51a19579a4eede139ef360b2cd419442dead1f12c75d898f174654ede578f92afda45527ac7253daab2a9f73d82290692daaaa995a64ca65ccc2eb0264a5e2ff05b93353d2806b7ebbc9b8de99975dbcb266f88f7b3ac6ab3fb69724c4f0a7e1b3b389702bfac984f5e7d8961712a5b4a8868086c04d8640ca4d66cf649953800bd86b883fda7302fef5bba496fa8dd0fa05e866e03a05d0f7c0963771c1124ce55f67ffecbbd08073e9705d7c1dd4d5c242060cfc2f3a0e7186f961cefaff8037f1175c078fbe8e037c2428e5c35bf07c3d04f5e07e189eac232e60d33bf033dcd4891fa7b91c1d63f2f3116118b2ee05b2f61c17e06fd800753590ad83d31c2f5ded42d51fd7da5f26054682f17902386ef8f9f3d0c411a35c2e983108f58d6a4295345e3d730139eae99ee57c36c5ae7d14f9343d0f9c829e112873c2c34fc2862761e16cb8d042b61d18051fa57648f1361ee506709c343b2fcf6a08729eb30174c925b74598780a99e4a81f473e1395e0696ce9f0857109f9928a0a07936590f8f042d114de6347767775b11ec2b8aa49184e8f0aa0d2274e1fa2f808d9369d0fc3a4e791e1c0cea6f62e3fa499f30af32c697eef712fda8bcbe09189186acd2d7414a23f1af2771fd9bb939f552a0a90d98554effe9d47bcbd61d0e7b0c5a5c58edc2c8b2115cd6e7dafd1e30bebb2d8d28a25c5e8e20f70c776ec4749110893a1c3302a121f328d642d56c70719d5f517d5e1b313db85a63f8dce4be26f48bd15db378f9d2ffc9bd9bfb3f1fc40506fc95d5451b1a8b830cb94e2ebc31e42c387662f11afec27b4fe4095ef6938d9e58314434e1e63d6f94f1d3cd21d025d2af14c29f803d96a5518f7f57cf087235c08527216dd5d8d87a7aab72f4d7f2afe347c88c1d1bf1db1fe3f71fd5910af5d350434046e6604a65cb9127f3e280d8de50a11e935c20f2521251690228d0b49bc2a43183780c1c7231f6291919111218e11214b7a15b24e9e3cf9ca2baf28f59c740a4e219d9e03d001474f27d455b50a3286605fecfdbb34b30056b1806344e7bcf252522e214e938f1e6b6d096139572f8ea72acbca28a8528e012ef551b44ae41e4dff444e2145f8216116ac1a5712348a5d34f9343dd9c550309780dcd70607129b260925088bcd8e4b96c82e92a6748ee3c0e17ec2c9f8b923eff2fb3e8e2ec3ceb0968cb4a1010fd71967b4b165ac25ec6d1137c529595a9911ec38dccac539f8188d3ee1fac8ea1592a8396ea7daef959f676fb3d9f47a1ce4f57546f7598d1597d915a323822c9e5e9906a1817e2e5ecac63a70253ac8c0919412a3541c94ac495068fad3e8a388b4316c96392d1418f27ab9181b5dce68f64afbc9e8f6d2e41365d242dd5e4ef6c786574c15ff98ca09119a7cd288c9b5574c9c2a3e982bef27137d7fc514d0221a02370d02172e5c309bcd29292953a64cd1e97478c580493410237845cf0a5d200c814060d3a64d0b162c403664c0ab2ca4a6a62205b38488101778047ebc2a83501dd249c57c90c691803a2025a68f4011ae312246ae3d682ee9b563a849f807468071d6b91dc6eef35cd745bf61461693974db66a6afcedf5da06f146d3e71fb86935d56f0004b4fe7c033482a6c28d8e80e692c65a48f2c63146d3221a02b70c02bede6e5f88cdcac50f6f7338d071aae57af9a3a8c18da6cf2dd3113443270501ad3f4f0aac9a500d819b1401cd25bd491b56332b3904fa3cfbdff3ecc7f7f6567c931df27ba5efe0939330b15c379a3e136b9d26ed564340ebcfb75a8b6bf66a085c0b029a4b7a2de869656f1204fa3a5567e95d37eb6e347dae1b105ac53705025a7fbe299a5133424360d21110d6d14e7a355a051a021a021a021a021a021a021a021a021a023404349794868c46d710d010d010d010d010d010d010d010f89a10d05edc8f0534bb0abe5f01cd6fc3beabda63482afee91720fd1c6c7a4b4a8309949f20773c89677e0e8be7c1c865b87401de789e76a8f978244e382fbb724d9961d0bbbb51b605fc35546463cb598bff5c8bfc9c7a1a3da1aae4f5612a5df9e19e4f0ee391e7c9041beb2c9d1b3877ac45be41533285279427291c26b4c6d184d99756dfae1b38d32c6ea7953cfe0aa1825d5f0c64e64f0cce254bab67ea068e35b726ecd07403b46349e5cafc1c4b5a24140c0c7a0f377a12f453c0a211340434043404ae3702da28e9582d602f07b71bee64c7e21b33bf0a1eac81babbe57c13265f2e38d9f4ef1aa1ce050505c02e84bb56803dd9725f2b1f3387c9b266e386e689b5b2e5d5ee957890e8d584ea15d58b4acbb215c73bd1e8097524af0f337f01cb96380a138a8f9230cd2962d9fc398967508dc23f695949e13069b5cb0533852585ec82c2f9229d82bfbc945a5ab4cb3251383345a859316ecd9a18ae773b3aef7fa4a2382fcb6ab558b3b273f3b371b7592d680868086808dcd80868a3a463b58f9f3fad9abf8cc53a567e100f6c1a91334da07cb9e824d28b374291197a5a60d5ff45b8172f4e7643fe24644f240bf7593b376deac0196fa2d0ecf9058c754a9069c24deec7156c65358596147fc7478d89126974b9f0e4f5190ef32723454f51920b52a4797ec9a1eb0a86af85902c0e5f8b327c25893052f01f539db85d170d4cf490a3314b8dce408ebeba1291ff425cdf76b457b299fa88bf63ffbb7bb083dbec76486e8c7e744bb55c0d010d010d8149454073499384174f0b9dd430d9f229ca2fce27198dffaf987df42885efba93b9a6064ea9041e0286c4a4ddbd9800b6fa8e1c880cc4cf70177368f458c158647cfac45e46d8f09ca9980c4a8467967b3814de4922278fc32429a010eb238d1c83114f7857ed0f8a623282c42ebb73b2719e6cf932dba4495b8e158fceea3dfb91f087abaf537348a5f068710d010d811b1401cd254dae61866db0653b380b08777b037cef79b1d8339be1eec530430fc1200c8dc0f17761c35b24abf639f8e1bd848e213c047fdb0acf7e46e2b14018be05ba7ef8c5c784a62ebf16763d01cc0cc230d403bb7e096fec83c58fc32f1e80833b216d19b88a48167708ee7f9a4430bcbe15962f043c693c3c08bbdf8457f1cc777ac031d1f93349b67d112c360246c59351d5ea45b627fe37ac9b09afd5c3e38fc01c5eabd67760e49f60c659f0dd0e6533e1d03bf06505b80ba0ab096a3642d5e3f0efdf1139b178d721a889ea496a55094cb9ebcedbe64c37eaa75c09874622818b2776b4ead6ddbd400f231148095dfc64dbdec36231dc4a549f3e953f8d3e63068bd30d705f517fbf377aa425bbfafbd5d9862be73fdabbb745fe3c2e71df999906ddc70e4bcf7047b14afa04e8c3ab3b12d22d75dd5fcc6662cb0407ceefdfb197b32f5db7ea76dfc9fd7b0e7384c55e5e777709747dbca38da422e18c72f703a58c15f9fdbdde3fed6a1cdd91b5399c2bca0b2d0664c7c2a17eeee39d1fe0a45bc7bd75e5b9163c6e1569fe73270f371cf696d7ac7318fabb8233f3b28dbef3c73c97e72e61ad611f57ff5e43ac8a041c783dfb3ffe7020abac58ae8f527edaea879618fb4f6cdbdb527eefba9259231ffff7ced63ea6e6a12a4370c4007db47acb57ae59c864e9d1898b043bda8fec69125b268e3f7f981df1d3511fd5fe402c0747a5bbb420671ae2100e07872381ee633b2507c326d8c5f3d370a6c951c3f9122f094f54e583c3b9ae3cdf901268fb1fd2eb28f295b879f90eb070e4dc89cf75f34af324fd84974ac347a85376b5dbed5933c87c9474538edd9e6e34e2c9b1c21e676af592ae57737789f1449367567959ae99f49640d7314f248fda4f98f2d5158e6c9e139943bef3fbdedb2bbfc7643a69490d010d010d812410d05cd224404296bae708df050e663250e4862d1ed8b01d5e7e1fdc0c7a8b70e23858e611dfcb9e4dd8d66d860d4ef43da0b5097c6970fb1d300fe9129774ddcf61838b8ceebdb3097a4b491115f903d0f41c3950befd1074a482ab1c1e7e11867be0132b98cde07e9494ba701af4b9c0dc052fd7c24feb61cb1e70ce86410e5aba60d95d50fb23e0da601b6555d6e2e7e057b5440806e7a380fa62b8f305f819a8d7fbaba330cd04190cbcb4819876a21d161681691a5c364301160e43300c773d4c846024bb1416033cf510ccd1437b0b708330271f6c637436a6728dbb388b78d3bddd81547396c5986a3440d0e70f047030d46835a71bd3897c3e385dffecb08aa366cc1217c313074fc136e1e4257bf62c03c9354d53cc15b5572e624ce0e37e2ff8827c417251d027469f531001d0671596664170b0dfa733592cb9152e077726dd98a61f49173d19483718f569296632e30fe77664163b3311c8c181cb468b319375bb7bde6be07dd598b69288adc4fd9d0a2605c2fd5ddc4050679969375a500ebb66bd138f99f7f79eef1c4c999b97c394ba6ac2fefe54bdc1cae4a18f1a8e98724b9720dce188ce945d648766c1ad90e1909e6e48d323c25861a23e0135f9cd7a837e1af60ab0cf9b6d4e4b03a6c8deda9e33db68f86a246898ae5eef50c983a44582035c87cf362f37c7b1cc3dd0ddd0d6a7c49f181d0caaf607cc71b8ea9cac057da4feeeee88c1926936a4f3789252186476d171a6c9a1e02cbaa4e82edb4a567ebb222f0d221dc73e6c19ca5ea8de8eaab8f9f7f4180c7abd9e5dc4b73bf693e9623f69f494b9d5f111cc925fedce7fbecf21dc186666d17d0cc91f98d3b8633fa8b5977f4f4b677aba5e9f6659e4aac0be30d0dd6bc8ca4cd7a7a787a8fd247d6969b659e7ebedf8e25270aad99a999112bf2de5da68690d010d010d817120308697300e49373d6bfd6b64d0b1ea05d85c03ec3760b19df8a3e10bf0e41a32ff92dd08dbeb780c0ae01174d182b065196c9382524512c1cbf0c8667812198660cb7ae22f2ee65d52cc92c97f3a8bf74777c0f7369382b53f871fbbe081c7e14767491243c316f8e976609f83edb5505008ec53c41f1d6a877f7a88e456bd049bdd70cf6ad8c61727a4c470f47d78f514543f0477cd81961df0974e980ef0e13e787aab7abde8928aa10736de03070ae0e876484d03a107bdf32c14ff04ca66c0a12d7072253cca82b10a66e120f125a8df02f514b7382a917cdbcabf49fcd1c0f186b79b394c563eb2b698c8ee6bddbda315d36b1e5bcb8fe8125e0c273fdc3f6031d84b9730e6291dc70f9ff1815ea7fbaa5b785109d0d974c493317f7ae4b353518a500cc0e5749053ec9b1ba204f15b4e9f307df87f29802355077736b681cdb97eadc368cb844f12eb1f4e4c02747b9a7e8f83854cf563ee42a36d3600cd25b55594117f943bf81ba9d76a5fba06fdd160eff177773513d18e958f39f37216960ffa48aaf7d8079f67552dca3604ce1ffce3c5fcb58b32d3a36e851c8761e2526390e9635f6a54939f77763062355918fbfce9bcb36dcd9e6fbb64c2414b7f98f42f957a8d4b0bd01f0df5366cddc561358ceb31379b735b11740c8fab3fa0c7b904fdd1c8e0477fdc4686c563fd87e84e82dc2e81aab00bec268a1c759c516322692434a3ccbd6209a383d0d9837ff8a0ad4ffc77aa904fc1addcfee74b8246f27e625b5aa28a4f1bdfac4219e9b5f3e4fea6de59f34b8b73cdbe8ee3ad677c7a3d5c3ae7a5f5077bcbee6869fff186779b39dbfd4faccd4cd191372daaed95ce588c9817f8c273505bc31f854efbd610d0109818046e4597f4d9dffdeddbf9fc2b7511c3e0de6797bfdc342aa0f8865a78097ea0058235609d07cb734881bfbc2bae079a1e7da4c332c077da3d1f27faa3bc701cfe3297c29318bf04cfaf847d3c51b828e5df310b072de04fd10746fd3ed8e802fd54b1cc8506e28f62c0e7bc108a797d328aa0e900ff38c1f15580a9fc18e18e0fa120c15ed8b80c0e9c269e62de1ab80be0cc51a83f20caf9c9dcd1ea45a6fff30210ded3f0e69bf0c50978d005e1d3f0c601f8dd8b68363cb51d9eb9871775000e71e062e0c7dbe1df7ae0e861f8af1747d95eca367736eaeae35a893f8a41af4be1bfa317746be04a3481df7d9ddebe4e3039ca31fee5676df28d9cd0836b927a6862495b790d6bd1053a8eede7448af0a5a44f983e7632033232e825fe2806be1d04272f41034902f9835dc7883f8a81bb70295c989961618106de5cf206d5dfd992e8b2cecfc6f1c248d7a7eda260cfa7972af33253d374a84ea4ffe8612ee77e1cf8f47bf6b6e92b6f431e613eae1207cc52d5a7886c55a0227f3810024b46fec2dc34080cf8d32dd61c3613cdf50d458ceaf59acde4ce49cb5cb17e3d510d504398929a6e9b6b1d577f60e66723b403678e89d33412fb4ff27695ce3753e4a8e34ce045fbf4d94b70c019029ec6b79ba27f82c6851b1aabde4fb2d4f1c1ca9c0f3ce620333b62217caae137fbb93eafa7cf3fc3519c0bc1fe0e8f8713b22b9deafd01eb0df11cb8d2af99f0f6fdfdc811c357dda66fe048ba6a3fe1ce9c1fc8cab3b0ceb5f977f97b3a2e9c68d97fddf72b136cd4ae1a021a02ffe808dc8a2ee95f77bd373c1fdf2d46c3707f5353344efb3e157de0b305c4ab388d635ce824e0a3345a6026ef02628a278b6387d14cf19b801d86308e4098a16c15ec93f8a44af9a9383d72042ec5c61733884c746a85f0d5503416fd9e6526b10b27e0ac2faa552a7c7e821077be0b79527bfb789f92e488213daa3ca653f96a68f5e2e06e6c09d4d6b748f107f1a128a8a583601fa1c4c2b36ba176233cb01c0a6683b3069ccbe48e788c13dfb09b88b316f40d8ab474e29a087e92848b128dfd1da0e447c96c752959d5d4b2a7254a11be55e813ab4f785878ee8bd5a2f3210fe9c405175c558cf87abf10196c361c930af7f744fd1c7939c005531814127544de955020d62269295304a79ed4c38fc9e2d06aa007671cc645aae020c856ea33a233a9ca1fe8f541b6754e6e0a7ae16d9fcf701667de8e7744b02304c8af526f8a418f0d1d1aeceee81fd689fe554a68a0db6422868db73f44259099c592fe330ebb06784055e4507026e011f023e1488a2e456fcb66c12bb6159293c78dc8c10eafe82736a33a3ec87cfac4b1f00c49eb85873ee388100c02354517fb79027a7f104a84beece81462de567c290195dfa0f693b60f76f43a2a172d64b2ada62ca6308b993ba7f16d61be8c2041bb6a08680868085c1d02b7a24bfad11f7ef3d1b8d1f28b259e5e492297ba219df73dbf141ef955b06185c8e0fd0c5fdac38c05802feaa3238f62167e0d1d87e7db61731dd4e2c4d021d814e350c83fdf09450570cf0f60df5ba438eb20639fc1a84faa6cb7a367e0d172d0f7c3868d845f1aea7f2d4d8d11c7f1c651ea4525705c8516945ad56f06fc40016c790d9c0cdcf738eca329431eec7a23ef5883dd5d998769b94baad81b491c4a55bcf5260a328e3273a8b52deecb91d52d3ae83eaeb6aa49853e91faa41061f2c03ba082abcad47c93c5e6155c529e4f34a96c693e19030d7c152f2cb3abef12cedd3519669530201dfaedbae873645aedb7958197781860e3e7d686c2d2916640271557d6910b09347cf84cb93e5d5faacb1fb83818824c431a4e693ee769bfbca438539f86afe5fb4760362f87bf48ea8df4f58720274d17686868883360eb391762721cfd817767439785bf6accea8afc58ff19975da023bea78a1c0acea2cea1eebf34f656e15468876b7538b4bb9913e9517463ed48c34de807ca7ed2d7d11f5aa4820fcaeff42816ee456b557ed3fa83502f71ab25ceadbcb8a4bd84ac4e4f337eb0572d75af28652c738bcac12bfb9b2797a1a5350434043404c64440e9448c59e4966458fc30fcf81e702c85a299103c0d3ffc35d4de065004ab7f02d3ef83bb9c64fe2506e2311e800f4e434d016c6e84863fc1403a2cbc03024df0437e9c5537150e6c8657679289a175afc357ff22bef757ca47c7b6b600ee7a145e36c1997458b796c86fdc03504822b11073108f6e86d3f7919546bbde80fa436067a1ca05fe06a87b2dc69b54e4d53f53ea1da5b45a2f9afd1c1c5d0dadcd70fc38f40258f929077d382aa71eb8aebeb0c36aca5bb47ae56c7d3663e51727f15b3cc5f975c66c57b50b86fb1b9b79370be7baf505c06a9ebfcced6bef34d9f367ebba760a4bf26de50fba17e1b85cbe29b44bf00fa2ab5b9ae2ee022f99429f307d444da356243ef8ad6cc54add6db8dcc842c688c5808ea921a7acda5998316b4e6ea611c748e39b5529ed02eeefa7fb5d85d642f723d3bc9ff65cd6d966d94d23dc8e3dde3b1d4b4cb98bd7b8f467fa7545250bd0b51d387b6a18a7b12ac754b16683b8ea4b8e0fef282bf5f1c288aa7caedf8c37411a847bbbbcd0d7df1b28ce3180ffd225329b45b5de40f3d9fea2422bf348ddbd273ce7c1649b836884bc5b5bc7d71fb8deaf2290692daaaa995a64ca65ccc2f8204249695fd4461567ce61539743c5f90be20ca7a401d7fc769371bd332fbb7865cdf01ff774a8cba7e206d82e9210eb279d147c763649b8c78e7a9bd4fb03274e86559590a2429de65cff4491bfebdcf9ee6edf1018f94d1e4243d17fd42a053492868086808640b208a8fde8245bf656e22bc005ec35c41fed3901fffa5d6279fd4668fd02743370dd04e87b60cb9bf84e1ba6f29ee9cfbe0b0ded386f14dc7550570b0b1930f04f187c5687f961cefaff8037f189a283475fc701441294f2e12d78be1e827a703f0c4fd6c10c1d34bd033fc34d9df8f1aacbd1b12d3f1f19e1af752f90b5edb8007fc306a8ab816c1d9ce678e9a35c787d70bc361e68f50a1cf2814b3294896bb6308c04e3f30a90f8c529e8198132273cfc246c781216ce860b2d645b005af0361ee506c8a4bcbc3cab21c879ce06701281a47b8689079189e737b18e7c262ac4d3d8d2e10be312f22515150e26cb20f18d85a2b84e4308eeea623d8471559330ac1d1500343a4c983e44f111b29d3a1f86490f88e0706f67537b971fd2cc7985799634bff7b817edc565f0c8440cb5e6163a0ad11f0df9bb8fecdde9110b932f995d48f1eedf79c4db1b067d0e5b5c5aecc8cdb21852d1ecd6f71a3dbeb02e8b2dad58528c2efe00776cc77e94148130191a0ba322f121d348d662757c9093a20f457edf17384c0ae12f2f10a5fb3eef2233310283d8b2eaf562eefe9d8de707827a4beea28a8a45c58559a6145fdf80127ff47a24dd01e4fdc1d370b2cb0729869c3cc6acf39f3a78a43b04bad4346afbd2eca2c8413d293843080112c6ef3d1ffce1081782949c4577575bc7891b6f904a3fa1e1830a8d1648470af10d1de5a2b497988d36c802a5bdbeeaedf75fb16433c5a578cf2d61b34ca1c18e9646690f95c9d1921a021a021a02c92230e5ca95f873495928962b44a4d7083f84859458408a342e24f1aa0c61dc78061fcb7c8845464646843846842ce955c83a79f2e42bafbca2d473d2293885747a0e40071c3d9d5057d52ac8188a6ee7999043de56af6201c7a6ce79e5a5648c98a4c94721b52584fd5cbd389eaa2c2ba3a04a383075a98fa2958c9b961c7fbdaa92d8c550309780d0d74616548d126c765cb284e7cc30a6748ee3c0e17ec2c9f8b923ef4af695a495b633ac25236d68c0c375c6596c6c196b097b5b70f13309254b2b33821d875b393e15bfd0e8a8c9c4ea13af521243cd713bd57eaf7c7d88cd66d3eb7190d7d719dd6735564866578c8e6f51593cd512df920ff473f15236d6812be341068ea49418a5e26077aebfcfe1f71edc71acd7ae0f2af44956beb24619c5c6b059e6b45060c8ebe5625948c43ddf95f8c418641122242dd42d6ec34932a976f12569382be5482a52c559922f89d2e493c64aae5d62c254f189e5261d1977bdea926d76d66ac14dbe424352b0d57935aa868086c0e8085cb870c16c36e3e6cb53a64cd1e97478c5c0efc50c18c1b2e859a10b842110086cdab469c18205c8860c789585d4d454a460961011e2028fc08f576510aa433aa9980fd238125007a4e055884baf312246ae3d682ee9b563a84998000418679ddb61ec3ecf755df41b66643179b8803a74aaf1b7d76bd9c48da6cf04407c7522eccec7ee737ce969d8d9c45d9d00ad9486808680868086c02808682e690c1cc99bce184d8b68087ced08f87abb7d21362b173f7cdde140c729dc5de66bd7235ae18da64f54afebf04dde4b5f876ab52a35043404340434046e2d043497f4d66aef1bd6da3ecffef73cfbf1bdbd15df6487fc5ee93bf8eba1f48da6cff5c080afb3b3e9b7bf6aba6eb56b156b08680868086808dc3208682ee92dd3d4ff0886f6750a8771df28bade68fadc28b8687a680868086808680868084c3402d235ac132d5b93a721a021a021a021a021a021a021a021a0219004029a4b9a04481a8b868086808680868086808680868086c06422a0bdb81f0b5d76157cbf029adf867da3ee6134961892fff40b907e0e36bd95c03b81f213e47ecd8955f0d6c370e1cff0d344ebbe662daea6ba2a78f95be0d90ddb8e5e4d696a99c5f09fabe1dc5fe1ec7c58910fa110e096399ebfc2b603d41242c60dda1fd8956bca0c83dedd8db2adffc7b066b46c1b5bce5afce75af0bcb08440a3273025af0f53e9ca0ff77c72b84d564d82b878c2c63a4be706ce1d6b916fcc1567f99a6249e1305e5d68b8d1e831f9f6a5d5b7eb06ce348bdba88dc91f2b78cd9189c6a16469f54cddc0b1e6d6842d8a6f9c76bf26c0bec676b9263dbfb6c2d17e7b6946753eee151cc1ad8c867bce34b77163687093f48731acbc01b3359774ac46b19783db0da183d7ec9256c18335a03b2d7749274cfe58864c6a7e55392c2c8085a993e5923ef102cc0fc1b38a93a868f4e48dadaa22ed5b149a6097b4ea1ea87103ee9bfef1ede02e10d521b58ce592de98fd8199c3645953b20ad9c656e92e086c7975fe8c70fb0757b34154f58aea420b78fb5a64dbacd3e8094d9abc3eccfc052c0b3323c9baa4a639452c3b183977dd5dd2a47048002589040537a0d1632299c29242160622a24b3a267face03547a238f4143ee2ce8a1e72160efacf7ff23f0d87b9f18b678a4a0aad29fde7642ee9f5697766f5f7ddd986a0a7616bec16aa7e607da13522a58cc3c6496e17dafd4ea327afb97de99afb4ab37a3d0dbb0420ec4bbf7f5f696aafe7b7bbae6d6d65b4df7674ce2cc46d9bf910991919db25bd3efd2179c06e5a4eedc5fd584debc7b368f02094b1d892c90f4a0ea98ff14fa0fc98ccaf3f72e00034b5c03bdb27abe6e52bc1b51aaa14e2697405239520e03f32210d2cad841788625ffd2e7cb71c9ee70f704fa6961bb33f709fb5731d678fb579a5260264cf2f60f28ae63389d42452b6b29a424b8abfa3b53151228d2e1799bc3ec3613cc8282c9cae2497a296e6f9936757133101b46471186f5514dc80468fcb4f84716cfe78c96b894971d0e1f84970e03c77be7730a0d31b99d2aaa5b6ab914d8e480b47e437fc756af7343228a49f731b7f1e0ab1a6cc8e8743249c53361e1b27b95d68f73b8d9ebceae93afe5c5e3cea4308e9e9080cbf357bf2325439c57ecb35ed7cfffd5fbddfe84df6d7e03af507551b6e2922b921b49004024349f05c0bcb64cbbf16dd92297b00368c35fe978c181acf08f92551c9a4d15558bf5e5267f4c457ac16bdaee9e36ddff1f24fb6755c5303a7ac030f6143a25ac32879a514b6fa8e1c880c7cb4a7454ac543cc28f4442e921a9f3eb17fdee8c324bcae550a16dd01b9c7a2c63879b4e47118af0eeab8d1f08c4bf791468ec138367fbce4b5c4a438302828ec3bbfb7a11923cebac71c9654031e70366673265d3f6fddf5697773ce3c3b9099254c653eda740d81d6bed72052529476bfd3e892a2e38c4a7e3ec75932915dd26ffbb0abe8c9e9bf926e9cc89c98ba8efd2151915b2ba5b9a4c9b5f7b00db66c076701e16e6f80ef3d2f167b6633dcbd1866e8211884a11138fe2e6c788b64d53e073fbc97d0318487e06f5be1d9cf483c1608c3b740d70fbff898d0d4e5d7c2ae2780994118867a60d72fe18d7db0f871f8c503707027a42d035711c9e20ec1fd4f930886d7b7c2f285807f38c383b0fb4d78b55e20ab5cffebf730e32cf86e87b29970e81df8b282bc5fee6a829a8d8459d5ae27fe37ac9b09afd5c3e38fc01c5eabd677e0d700bfb81f872f006b3df90778ea9792ba26427f3c9274ba11a6f267d5e7ad22c233004eef03a0d0d1ffc3903c0e3c3b5c4e8397df05b7024f250edbf4a3e1ffc44b70ef12986506fe4fbf207bb42b4d4ff5fe309e7679ec9750f538fcfb77c4964225ba0e414db49f507462ca5d77de3667ba513fe54a383412095c3cb1a355b7eeee057a18c14958a18b9f6cdb7b582c8a5bc8ead3a7a692dfed8c19ac1d00f793f5f77ba34799b2abbf5f9d6db872fea3bd7b5be493384bdc7766a641f7b1c39e443594f409d087af6224a45beababf98cdc46e84036dfb77ece5ec4bd7adbadd7772ff1ee1e5afbdbceeee12e8fa78471b2910096794bb1f2865acc8efeff5fe6957e3e89e8fcde15c515e6831f0bd3412eae73edef9014eba75dc5b579e6bc1e3742112f29f3b79b8e1b0b7bc669dc3d0df159c99976df49d3fe6b93c77096b0dfbb8faf71a625528717054ba4b0b72a6a1fc7038381c09741fdb8907ed32e5ab2b1cd966221f43c8777edf7b7b05ac55f439a1576f47c441b57d799971fcf9c30489bf360affb8f4a1e0c3572b5e9438400a8f30f9adc110772dd4f1c1635b55dae592205d1c8e7338d795e71b52026dff4390a3b4bb4a3b02e9300b47ce9df85c37af344fd2af78e9e52bd72c64b2f4a86024d8d17e644f93aca70b2a906b583885423f0ba745747a217f1effbb1a3d9b42d52e7b79cddd25c6134d9e59e565b97ceb07ba8ebddd02f4769c08fd69f73b8cf63b903c0e022291f8ebc884ffb92a38b4a58e82bf4abf8d43ae12a3e949e90fa0a24f43ab7abbec3e3cca7daaa2ca2d4fd25cd2e4ba40dd7384ef020733192872c3160f6cd80e2fbf0f6e06bd4538711c2cf3c8b3df9e4dd8d66d860d4ee2a5b536812f0d6ebf03e6215de292aefb396c70e1cf11bcb3097a4b491115f903d0f41c71bfda0f41472ab8cae1e11761b8073eb182d90cee4749a90ba7419f0bcc5df0722dfcb41eb6ec01e76c18e4a0a50b96dd05b53f02ae0db651566519cc50804a86211886bb1e26d230925d8a9e1e7c9b62d734136430f0d20662da8976585804a669f06517f4f7c30840c11c98398dc811c3aa89d1ffbeff1b0ac4e7103cf9a2287b0fc0edffa94effd9bef1e120485c58030b053ced713c55dbd70854fc9fd90a75282508edc7616a0e3033a35050be55dbeb539e59a53fd0fb9b6abba098a71e82397a686f016e10e6e4836d8c9b9da95ce32ecec22e31d8db1d483567598ca94603047dfe400007438d5673ba313d6689d3f5cf0eabe813304b5c0c9f31780ab609276ed9b3671948ae691ae29518ec958b1813f8b8dfcb26022ae813a3cf29f278d7671596664170b0dfa733592cb9152e077726dd98a61f498fbd283418f56929663244857d39b3d899890d393870d9683166b26e77cf7b0dbcaf9a688a90b295b8bf53c1a440b8bf8b1b08ea2c33ed460bca61d7ac7766a19bde7bbe7330656e5e0e53eaaa09fbfb53f5062b93873e6a3862ca2d5d827087233a5376911d9a0577528183c355e7642de873f67777470c964cb3219dd7b37a6969b659e7ebedf8e25270aad99a999122348fba3e9476c4ffd2aaed8ba629f127f6d2f9c7a70f059f3db13f300a1cb0f229bc2f5ae25ccd5a74111f27ac51a1e1a38e03882e29bad7b69295dfaec84b8348c7b10f5b86b2f1d6556bf7806a3beee93118f47a3dbb88ef27d8afa68bfdaad153e67e90f4f0e000d7e1b3cdcbcd712c730f7437b4c5fe711014e341bc87d2e6e49780573fc72cfcd6112acdaef474bd3ecdb2c855817d67a0bbd7909599ae4fa7dda7b47e385efd878ad4eff70b33ab69bf03e3c38147243d6336eb301b524746322c0884e096aae3900e34fcd5fb6d1c71794c5dcf5eeaef80ba3e00eaed0240bb2fe47a68691e81319e521a4a7104ea5f23838e552fc0e61a60bf018bedc41f0d5f8027d7c051bcf137c2f63a9eb9001ee1fdd12dcb605bbc340813218397e191cdf024320cc196f5c45f5cccbba4c82893ff7416ef8fee80ef6d26526a7f0e3f76c1038fc38fce8a421bb6c04fb703fb1c6caf858242609f22fee8503bfcd34384a1ea25d8ec867b56c336beb85846f225b4fc3bcf42f14fa06c061cda022757c2a32cccd948b12b56b60736de03070ae0e876484d03ef5b70ff5be8904273e244d2a71f9818fd37fd0ce65ae0e127614e2aecf85f808f6dbd1e8eef83bda04e1f2f0e31b364782ea6e0e08f1690f1b38ff3fee825d8b812700a43bc3f44f965df343d0597149965fd81dadf627213db05fbdb2c1ca4bf04f55ba09ef2b724561423b6f26f127f3470bce1ed660e93958fac2d267da4af75f70e1cf0b3ad796cadd4c53ef9e1fe018bc15eba84314fe9387ef88c0ff43add57ddc218354067d3114fc6fce991cf4e4529d1ba5c4e871e42a79af9c9b551227ecbe913a60fff2f11a0df7b7067631bd89cebd73a8cb64cf84452374687139300dd9ea6dfe3e01653fd98bbd0689b0d4073496d1565c41fe50efe46eab5e2720df44783bdc7dfdd455e348363e563cebc9c85e5833e92ea3df6c1e759558bb20d81f307ff78317feda2cc74c19d54e260af5c82fe6864f0a33f6e23de5aac5d80b118f1a91df8c273b0d1237577d4f5c14a55db91d6bee3ed0fe8c18e4b1f1a3ef696dd682506797f40070507eaad854f3c51c8e7c3d9ff8f1f57a6e243c38121c5474233cadc2b96303a089d3df8870fd05f14461314ed6e5f6a546d47fb9f45d756deaf6c4b4bd01f0df5366cddc561458ceb31379b735b11b4f1dd80d49d107429101ae8be6cca3265cd2babd41b20dcdde1cbca318181d6eeb1e2fee30def3673b6fb9f589b8983c794fbd4be74e184e8ff07cafdde7f0ad47f07c68983609519ffb7313103799794d6bed11b56813fe5772c2e353146d3b3576493ff0ed84d94fb312636b15da8f7458c5f8b2420702bbaa4cffeee6fdfcee75fa98b5004f73ebbfce5a6045ce4097c432dbc043fd002c11ab0ce83e53984e72fef127f14c3f4e823059601be7be9f938d11fe57970f8c55c0a4f62fc123cbf12f6f144e1a2947fc72cf22ff14fbb45a6fa7db0d105faa962f24203f147314c170950cceb9351044d07f8a1041c5f0598aa18a38ab203a442f834bc71007ef722aa0b4f6d8767ee2199dfe05d6415bba225ffcf0bc4e582d3f0e69bf0c5892895af3d9a20df77cc9d18fd8fee2308d73e41a4fd6dbb8836a98042af1d2f0e441628f15c3e2a0e4afe65df20729ab6f2e048fb0321ab046a7b8508b3b23f50fb5b54b6bc5d8ec2210ef007fec7dbe1df7ae0e861f8af17c9ac564ab0cd9d8d7dc5c7b536733c871e9f95d26042f7e78a84d0d7e9edeb0493a31c695f7ed626dfc8093db826a9872696b495d7e0f856a0e3d87e4e228bf8c372fa84e96327ef7723835ee28f62e0effb4842e5f204f207bb8e117f140377e152b83033c3c2f25382e5ac243d97bc3bf577b624baacf3b3715c33d2f569bb58c4f3e9a5cabcccd4341daa13e93f7a98cbb9df85c53c7bdbf495b7218f3020a4c481999f8d2a0f9c39268e1ec6db853b737e202bcfc23ad7e6dfe5efe9b870a2653fbf6f95ba3ea21a206f471a7dbcf82352e3d287868ff083a5c401f5243dd2dfe5393b689a956dcf32e7b9be5f197abb2387860f1d076c7e7df6121ca08680a7f1eda6e84da1daee45d9a8914a3b2255bd5f6599c993202d73c5faf5a4a9015b1ca6a4c69e0e51bca5dfc1bef3418b232ba7bc98f43cae27055dd2b4d934bbc4921d1f35367318effbfb912386afbaa3f2e4ed3b0acee3d29f7ebf537e071ce3c701fbf9d98f9a3e1d30a685605ad1f2250c1a45efffeaf88fd56fa338c5bea9ed1556ed0fa5f3cd94fb5194a868974eca7d11d3408b2420702bbaa47fddf5def0fc69711886fb9b9ae229f5d8a9e803872d204fb5d338c6820f29fce989b2cfe45d404cf164f4f75402218621ac039d19ca56c13e894faa949f6a27af102fc5c6b732884c746a85f0d5503416fdc6f98b182e9c80b3bea856a9f079cc658cb2c5bff1a75210a783a0749485e750da25161c82a3820f0eb0f5adb830652c95577762f5179e57cabaa4f471e3c08b53e229d442c341c99f6d22253a3b8572608cf60731adf8a2ea59485895fd81d6df44c16aedf2ec5aa8dd080f2c8782d9e0ac01e732f91f2189522613766b7cfb3728d2d2c9a334613e9784591e1df5812b6166ab4bc9aaa616e5aa26057d62f5090ff38e7e54157cd8c8433a717804571523bede2f44069b0dc722c3fd3d51bf455e0e6c3c45215147e45d09056277565aca14c1a927f5f0433c38b41ae8c1f77d7191347c2433938df17669fb6047afa372d14226db6aca620ab398b9731adfdedfafae4fbc92e4625781ffb8f4a1e383fa517108077b9b9a9b918371deef7664e6159575f0a3cef199db317c28ed42ac278d1509475274297a5b360b5eb16d91ac6cf7111dded7aaed482429fb95cda8c71b2734d8ddd13f1cd52a05c741093725a4e8869b3c5d8e2c8628d0e53d1776106f990f510964a676e2fd18fab243fca9f1b6e24b0c6a1815e7abd55fd265132a96d0af02071415b9dcd3c97144a67dae53325998868312fff1f65bba9e99aafd6180bfe169fa60cb2bdb45fdbea0fea010eb6fe5a0ea3adde4807cf487df7c346e13a3ef6b9f5e498a5eea8674def7fc5278e454c18615a248ef6764a9cf8c05e445bd720dfad07178be1d36d7412d4e0c1d824d310e85fcf39d505400f7fc00f6bd4524b30e32f6198cfaa4ca763b7a061e2d077d3f6cd8286a22fbaaaa859c006c93f8c13106a934c10953da2532eb40eaffc524089191e8db144ce2b8d904ea2f681805295ead927e7538481110a40b3faf341c94fcc2bf9099f84702c36278a65a10937095e243d373f1737c91a8a963f637b1024abbd46f06fce0b48a2daf819381fb1e877dbf4e50299e200f6abd91ff63037677651ea6e52ea9626f24712855d2ec71798ca3cc1c6a956c1b4556abe8a0fbb8daaa2615fa44ea934284c903ef800aae2a53f34d166f2fc125e5f94493ca96e69331d0c057f1c232bbfa2ee11c6c9361560903d2a1dfae8b3e47a6d57e5b1978798fc1c6cfad0d85a523cd804eaa64ca803a3ea8163ee82e0b7f4199d515f9d276e9f434e307479997ba57943296b945e5b0a747551f22251614ed28e624d0af06ffe4f5a1e183eda18e83a062b4857c01d270a9860c9c008541051f4abb086220d4fd97c6de2a9c3aed70ad0e87763773223d3a8123d6ee5d5faab7a3d06f94fdaaafa33fb428274d1768686888ca4cfc96f51fccc439c09ef6de254ca63e78becd03f31da400df6355ec1285a548ffca88b4d897a41d47c19954c2d7122b8791d1f5a7ddef4afae872488d4a1c085578fc90981846edff4afd05e046ff1d8b48f0a1ea6947971883e2774047feeb8cb75d54ee0b6f0b2f5fbbc8115079b4ca59b43422b0f861f8f13de0580a453321781a7ef86ba8bd0da00856ff04a6df077739c9bc490cc4633c001f9c869a02d8dc080d7f828174587807049ae087fc38ab6e2a1cd80cafce241343eb5e87affe457c13ad948f8e6d6d01dcf528bc6c8233e9b06e2d91dfb807801f4523093ec41cc4a39be1f47d64c5d2ae37a0fe10d859a87281bf01ea5e237c38d371f3a3246297fac16aadcf5da4d8454a8f11b24ae13f5f02ff19721cc0ab7f9e48fd4ff793e553b8fefdbf8fc2e29590f6b1b8b45f857e153848cc8ae1d99e1c0e31fed6d3c45ed7a3f0fa37e08ee53083ff298dfe83102bb0e3914e2fe15036fcecd7406baf4d3cafb23f50fb9b447969b4ea39d8bc1a5a9be1f871e805b0f2533efa7aa42cd238d7d51776584d798b56af9cadcf66acfce2247e8ba73897ce98edaa76c1707f63b33830d3db1700ab79fe32b7afbdd364cf9fadebda292cc9b7953fe85e84e34bf9a6d02ee1791f5dadd2147ffcf39229f409d34736842419c8c1eaad6cc54add6db8dcc842c688c5806e8f21a7acda5998316b4e6ea611c748e39b5529ed02eeefa7fb5d85d642f723d3bc9ff65cd6d966d94d23dc8e3dde3b1d4b4cb98bd7b8f467fa7545250bd0b51d387b6a18a7b10aee46b43af1db20aefa92e1c3f57e15814c6bb0ad826700004000494441545155cdd422532e63161ed9a822e35cef2ef2779d3bdfdded1b0223bfd83f3484ff6468fa1c8e55a86c47214b4a1f37fee3d6471d1fce5ef908bffa4d868344c36add345b6e0ec208bd5c3b1734a9e343c5e10b7267a6a401d7fc769371bd332fbb7865cdf01ff774903f24ca76f7c2886a3b724014888758bfea6c3edb5f5468651ea9bbf784e73c986c73b07785bc5b7736116695fe23c8e0766dfd951063e693efd000a5dd05a651afd276f4365170be2afd69f7bb1afdea70881ac6e3892d42edff5146f13b8a7f32fd36cd9483bf633a18fc687f4b1fadbd3e54ef0f9cc346e96f3285a249ea7d1165d0be131150fc4b4accd652220205b880bd86f8a33d27e05fbf4b88f51ba1f50bd0cdc079f8a0ef812d6f92ffeb5379cff467df8586769c370aee3aa8ab85850c18f83b061d9430efa4d4ff07bc89bf503a78f4751cc02241291fde82e7eb21a807f7c3f0641d71719ade819fd58bffdb2e4707a6fc7c44187eab7b81acadc605f81b36405d0d64ebe034c74b975ca2b72e1902c3b556184682f1f90048f4d2ed22dcf28133421302e6cc28224716ad71f18409d5ffa7ff0f740589c38da6391702ef5f915a54e9e3c38107508927b57d29fcfb9e87268e34bacb053306a1be91072176e14b990b083ef72c17a9a3e8a9ec0f547d04618a7639700a7a46a0cc4956866d781216ce860b2d645b065af0361ee506c824bbbc3cab21c879ce0670144af2f34076ab3164b2852cebc867a2423c8d2d1dbe302e215f5251e160b20c92ff3842d1e8a63de0ae2ed64318573509af15a202a87498307d88e223647b743e0c933b900c937436b577f921cd9c57986749f37b8f7bd15e5c068f4cc4506b6ea1a310fdd190bffbc8de9d1eb130f992d98514effe9d47bcbd61d0e7b0c5a5c58edc2c8b2115dd9ed6f71a3dbeb02e8b2dad58528c2efe00776cc77e9414813019620ba322f121d348d662757cc0d370b2cb0729869c3cc6acf39f3a78a43b043a5c56c8f5f6fbaf58b299e252c47e099b650a0d76b434124d29fa600e09aaeda84257e08fdeaea43b28e48c5b1f757c68fd44a261615e4ea62e14e8f21cdc836782d2f0a1e340b6a614c6c93c1ffce1081eb09692b3e8ee6a3c6c52bdddd5f5148054e95700fb77369e1f08ea2db98b2a2a1615176699527c7d78678941d67f88322a21027d94761799d58b61a6a27d27527fdafdae4a1f170efccef4d804c2e8333ee5f827255a496d5fca7d3d46bfe5c5eaadf83b96c7ceb7f260d2f454ef0f547d848651b40bfdbe105b52fb4a4460ca952bf1dfc5c42c928ae50a11e935c20fa120251690228d0b49bc2a4318373ec1c7021f6291919111218e11214b7a15b24e9e3cf9ca2baf28f59c740a4e219d9e03d001474f27d455b50a3286605fecfdbb34b30056b1806323e7bcf252522e214e938f1e6b6d096139572f59d9a32c2fa1a04a3906b8d427d76ad50f605e107eb55dc24a8f8e6617bd944acec4e98fc2512b9b41050a55fa75c181e0862bafd46647a880c39354f5a4f507229fd6dfd42ac05d5d0be6924ed8d7060712bbae8cdd66075caf84bb0f9ad2398e0387fb0927e3e78ebc8bfb5f8e15ec0c6bc9481b1af0709d71561b5bc65ac2de1671f39b92a59519c18ec3ad5c9c838fd1e8a8c9c4ea23ab5748a2e6b89d6abf577e9ebdcd66d3eb7190d7d719dd6735565c66578c8e23602c9e589886e35bfd5cbc948d75e08a67908123292546a938f0f93686cd4a0b757b3999438f28b1564b1a563aa4cc54d54759f36814ac17cf1252e2432d336e7de4f88c8e03ad5e2a3ea4c03870a0b7bb5c4f9a26313a51c99c160a0c79bd5c8c88117aff917289f151ed52e1a793264c7fac42f57ea7d1af0b0e58e9f8fa2db68b5a7bd1fac3b8db65b4fb8234da850b17cc66336efe3b65ca149d4e87570cfc5ec080116440cf0a5d200c814060d3a64d0b162c403664c0ab2ca4a6a62205b38488101778047ebc2a83501dd249c57c90c691803a2005af425c7a8d113172ed417349af1d434d8286c03f3c028cb3ceed30769fe7ba2efa0d33b2983c5cf01b3ad5f85b619bd1afdfbc1b4d9faf1f01ad460d010d815b0401cd258d35b4e44d5b8ca645340434046e31047cbdddbe109b958b1fdef270a0e314ee2a74dd50b8d1f4b96e4068156b0868086808dc3208682ee92dd3d49aa11a027404fa3cfbdff3ecc7f7f6567c931df27ba5efe0e9a5262fe746d367f22cd5246b086808680868080808682ea9d613340434044404fa3a15b315af2b36379a3ed7150cad720d010d010d819b1c01e91aca9bdc54cd3c0d010d010d010d010d010d010d010d811b1301cd25bd31db45d34a43404340434043404340434043e01642407b713f5663b3abe0fb15d0fc36ec1b750f9db1c490fca75f80f473641b79699840f952b1376c9c666fd50f60453e8442805bda78fe0adb54f7d5ba76abd8956bca0c83dedd8d63ef6d946c6536b69cb5f8cfb5c8cf79a7d113e426af0f53e9ca0ff77c72b84db2d35282a8c4848d7596ce0d9c3bd622dfe02891ed6b482585c3e4e9314edc948a08fa7f3190993f3178962cad9ea91b38d68c9b6a4ac28dd35e12a526314ab39729abcec73d4223b8e5cc70cf99e6366e727448febe9b9cfa35a91a021a026a0868a3a46aa84869f67270bbe14e564abbaa78153c58037577cbcb4e987cb9e01b344db3b7f26e82734d0db9d6564d96f2cc1c26cb9a8d1b252756c09657bb573a99446292a9ea15d58b4acbb263c738458bd1e8d17cfe3b797d98f90b58b6c45198507c9484694e11cbe6cf1176831e856fd2b392c261f2b4182f6e0a4d44fd2d138527535452c816e316a689e18669af44b5262d45b197994b4e6328c4c0b20b1cf327abfae4efbbc9d24093ab21a021a08280364aaa024a02c9cf9f27113d5422216bbc89201ed834222f3481f2e5a26fc834cdde57bf0befe329562fc14b6e3c6c67b254e73e6be7a64d1d3823dbdd287b7e01639d12649a7093f871055b594da125c5dff15163a2441a5d2e3c797dc4e34da2a710c90529d23cbfe4306705c3d742481687c95366bcb8256a12d7ffa281891efa93c832ee143922ea4a44dec56f8cf61ab731575d80622fd7b4f3fd9378d2ababd6c54acf22bfea7ad40b267fdfa997d7a81a021a02938280e69226092b9e163aa961b2e54faaf257215ccd5ef4eaa6abd1af423cb508d7d4c02933f130312426edeec504b0d577e44064207e06ba9843a3c70ac622e3d327f652c386e731c56450223cb3dcf3a1f04e1239791c26490151ecb87093a822d1dfee9c6c3c275bbec4ae1b224ab3b70f7bb69e1cb4196bb54950777cf7dd2428a089d410d0105041407349554051210ddb60cb76701690acf606f8def322cf339be1eec530430fc1200c8dc0f17761c35b24abf639f8e1bd848e213c047fdb0acf7e46e2b14018be05ba7ef8c5c784a62ebf16763d01cc0cc230d403bb7e096fec83c58fc32f1e80833b216d19b88a48167708ee7f9a4430bcbe15962f043c613b3c08bbdf8457e9679a2f7e0ab67c1bb66e82e287c761d7132fc1bd4b6096194682101c81933be1a95f8f56af129f6dbc9eeaf6f259aa97e4ede28b33e5ae3b6f9b33dda89f72251c1a89042e9ed8d1aa5b77f7023d8ce024b5d0c54fb6ed3d2cd6835b71ead3a7f2a7b967cc60ed00b82fa7bfdf1b3d12925dfdfdea6cc395f31feddddb229fc459e2be33330dba8f1df624eaaca44f803e7c152321dd52d7fdc56c26b67070e0fcfe1d7b39fbd275ab6ef79ddcbfe7304758ece575779740d7c73bda482a12ce28773f50ca5891dfdfebfdd3aec6d11d599bc3b9a2bcd06240762c1ceae73edef9014eba75dc5b579e6bc1634991e63f77f270c3616f79cd3a87a1bf2b38332fdbe83b7fcc7379ee12d61af671f5efc54fb197e0e058fdd01263ff896d7b5bcaef5d57326be4e3ffded9dac7d43c54352d7c2523ed72db5f76c6d06596d654175bbbfe7ec65accaad8c51f705abe72cd42264b8f3e4b24d8d17e644f9387377ce1c8b9139febe695e649f02196e0b0bb02374256b18b90a341a2bf48a2e1e9a8749716e44c43dcc2e1e07024d07d6c27afa71a9e97045978ca28090ee7baf27c434aa0ed7f48efa2c857d3933434d55e157cf8da542e7cffe9fff8c381acb262453fa1d9a5d29ff7b6a0705abd2a72aeaa7fd2e4abd8c59354f4bccadf015a0d1a5d434043602211d05cd2e4d0ac7b8ef05de0602603456ed8e2810ddbe1e5f7c1cda0b708278e83651ecc9901f66cc2b66e336c70a2cf00ad4de04b83dbef80794897b8a4eb7e0e1b5c6454ee9d4dd05b4a8aa8c81f80a6e7c881e9ed87a023155ce5f0f08b30dc039f58c16c06f7a3a4d485d3a0cf05e62e78b9167e5a0f5bf68073360c72d0d205cbee82da1f01d706db28abb28cd320c30c4fbec8cb49ceae67b642dd426257fb71989a03cc4c98c9cf88a3d54bc347dddeed4413d54093afca0cc054ae71176711afbcb73b906aceb218538d0608fafc81000e861aade674637aaca8d3f5cf0eab381cc32c71317cc6e029d8269c5c64cf9e6520b9a6698ab9a2f6ca458c097cdcef055f302651419f187d4e018e1be9b30a4bb32038d8efd3992c96dc0a97833b936e4cd38fa48b1e0ea41b8cfab414b309d5c1392299c5ce4c6cb0c181cb468b319375bb7bde6be07d8198b69288adc4fd9d0a2605c2fd5ddc4050679969375a500ebb66bd138f69f7f79eef1c4c999b97c394ba6ac2fefe54bdc1cae4a18f1a8e98724b9720dce188ce945d648766c1754fc081d51bf4d34cd3d0659e37db8c0bd898227b6b7bce6ca3e152e7a534bb7561f9d296ddc29f047b71618e5ee7ebbe98924bb1abccfd20413e38c075f86cf372731ccbdc03dd0d8306835eaf6717f1f6223ed3457c3ea1e0d61852b56b4fcc354ed09fc044c3d3e1aa73b21680507f7777c460c9341bd279fc29788a2e290e5fdb4a567ebb222f0d221dc73e6c19cac65b4badbd02ea7af650ec6df4a8e3d346f933929e6e48d363cf470365fd8466977a7f06a0d54b9343c353d22513a234f9094c9284ba9e57f73b2011ab4535043404260f01cd254d1adbfad7c8a063d50bb0b906d86fc0623bf147c317e0c93570141fdc1b617b1d2fab001ee1fdd12dcb609b54781549042fc3239be1496418822deb89bfb8987749314b26ffe92cde1fdd01dfdb4c0ad6fe1c7eec82071e871f9d25490c0d5be0a7db817d0eb6d7424121b04f117f74a81dfee921925bf5126c76c33dab611b5f9c9012833f9a94d54bb38b7d9cf7472fc1c69580abe163f6d2eafd1428f850ea058a4b4a934fb3cb56fe4de28f068e37bcddcce163bff291b5c5a497f7b5eede81037eb6358fad9d195501bf4f7eb87fc062b0972e61cc533a8e1f3ee303bd4ef75537ce21e04367d3114fc6fce991cf4e45296206b89c0e720a7c734394207ecbe913a60fff6f07a0df7b7067631bd89cebd73a8cb64cf824b1fee1c42440b7a7e9f73888c8543fe62e34da6603d05c525b4519f147b983bf917aadf6a56bd01f0df61e7f77573311ed58f998332f6761f9a08fa47a8f7df07956d5a26c43e0fcc13f5ecc5fbb2833fdff67ef7da0a3a8b2fcf14b3a49d3693b84ee404c876091a4486c484c0c9148988ed95eb1d18d0c59752333ebc841cf383f67dcdfc1f9adab3bbac7f1cf8c738473be335ff7ccecec7ed17145be1916651924eae430f41a841330913f11ec8025218981a489899da6d3e9f0bbaffe745757d5eb74a083fca97772aa5edd77dfbdf77ddeebaa9b5befd593bcfd581cbc83c375564b16635f308b779eadb90b6ce72c18543c73e81398e3cace2daeb1ef23be6c59599e09027d9fb78f9996100d528ab4cb565d86fe6868a079d3560e0b19d7a36e366f6109ec153995f8480214747bb54db35df6b6ed6805a658fb25296a3ced96a5e88f4e0c1ffcd366e2cd46c61b68e389161359e3a1d915ee3b973206089ddcfbee07e82f0affcdaae4dbabcdda76be2fbab68a76010d9f437cf745db21e5c688cb8e49394e68eda28d679ade01a0e0231aa0d44b1b9f34f9b476d1ecbcb8fb8068ac7ed211d011985e04ae4797f4a9fffccb770bf957ea22b6c19d4fddf1a2272ed0ed7f105f82ef6983603d586f823bf248850fdf24fe28a659e9fc090fcb01dfb49ffd24d61fe50b312c90590e8f63fe1c3cbb02764935f0ac967feb5c0c3cc17bdb45a66dbbe0491718678a97a79b893f8a6996488052de9e8c12f0ec212fee893f0b30938fed6df9088a62da0b4f2e07c12555eba5b56bf92d44a06713f1473145da4bd37b074bd834f021648df6f2648d034dbe062b21d9e6df886d1ee1da893f8ac9682041ce684237082e442f61b0d73bd80b164715d2befee290f2434ee8c179e41e9a58d35655cf6619023d1dbb39992cd4aea227cd1e3b995a3731ec25fe2826be3f056722c602d905f207fb3a883f8a893b7d2e5c9c9d9185bda274aec52af333f1cdbcbfb72dd6655d908bf1bf89becf8f895c9d9f9fab29c84e4d33a03913be03fbb8bcfb30c0e6efdc79c858b3107984f9b86a1cfc81106465142ece4f83c0903f3dcb9ac766a3f923039cf794f716b7237be1d29ad6775aeb4af231dcf8c5a76d004e51a3e29493497e6969d977ae5b474c00b40466a4222d4cc347934e6b17ff83d1e847d4a98967f9824cec8aa1131d6274353adeb4f124adc1761b7397626019029d2d6f78a4fed0945f423ee5a0813f5235db05547cc0f9c0a30e32832392c2c79b7fbf7b6c6aeda28e678a5e66818d828fb65eeaf8a4c88f344691a1da29f24df93ea090af5fea08e8084c0702d7a34bfae7ad6f8d2dc07788521af3793c529e763e2e3da8d922e20d74616c8a77b9d2a40a73781710af783268e24a8861081bc09009152b6197cc2755cb4fc5698de370ae4b52904164a2532ba46f54cb80707e27a6d347e0e4088856a5c2974708b1e94d2890b77790b895420c4aad97d6ae5c7c870bd0db4b8e98cc527ba97a29f808d535f40a05aa2355be8a9327582cc4590b8e0c8bc5e9c46511fc24ed0a722a717612496c5d3959d5d4b6033d2779d2a027d79ef05848ae0f9d12654a272eb8e0aa626664e02b91c16633634cd27756f27f94f500174c615249341079174281c86bdfb4941982534ff4f0b14b0cad06ce02c8c0d3c0e1ab8111c8b5cecb4f41affad097b39da5d937e30009f60ce198f27c3ac0bab2738aaa1de17956c3c4f0490f876ff8797b2207a95d36b3113b3434dcdfe31b3388fe554a68a81f5f7a232f0d1f359dde2e14a3613f5235f11ce281932c213391c5f146c1933488803c119e4831a4186db92c78c53ed1943f6ec0df9d26fe4492ba5d747ca0eb484778b6ac97c2a35f7004674dbdb476d1c6335d2f0142031f0a9eb4f149974f7050279a9d6a4e0d8a0c248d529da423a023306d0868ba4ed3a6edca107cf0dddf1f9cb225d27bee275690aae7fa219d77b9be161ed5b5b0fe4e51a4f70b9c6c09b31701bea817028a725da387e1d963b0a1111a7062e828bc1ae150c9efee859222b8fb61d8f53a11c03a48ec1357140949dd6f074ec0235560f4c1fa27459ec869dbef22595546a597d62ec1cb9e23780a4be0a775a2289ade67561306353e6235955e91ce9fc6795747a0d0e4cbf963f2e4816f34f30e3ad8dd350578ad744955df461243a932b551918ca32233d47e28faac24ab5e0cd07f586b5593063d99f6a41061cac43ba0219ecad47f87c56122b8a43c456c52457521898106be895656b46bf05c300c16d3dc3206e4a1dfbe33238e6cab7d610578db495d1b3fb7361496479a019d545ca1470e2469e2c39d3917826c531a4e753ed579ecfcd2d26c631abe7ef7f5921ade037ca0b4dc89935826ba3feb2034b115ca760df6f84295796986407373b3c0261eed4ecc68e2a349a7b50bf569da2fe952e169202e57e8bcf02f22b36a59a138de28788a7242fd1fb60cd4e29467876b5538b4bd95a3c9effb5a1b7f0117757ba9f8a0ebdf1999272b698b9e136e17ef50ab7f5f34bd8cd3814a34f01155abf4464dc2efe5477fb834f95176c578a6d819e5c79c4cbe408f771f88a9a95fe808e8084c0b026ad7665ad45cf542973c04cfdc0d8e6a289903c12ef8d1efa061214009acfa6798752fdcee14de93f351cc3df04117d417c18616687e0f86d261f1ad10f0c08ff838ab6126ecd9002fcf2113431b5f816f7e2cbef757cb47c7b6a1086e7f045eb4c0897458733fc1b0650740710c98f8024f48073640d7bd50e484adbf866d1f839d855a17f89ba1f1171287d659ad97d6aef62e628feb1178e516b8f50e98cd47a8d043a6e96d3a43c1873743ad576e9d7d09fccb0b18f285e77f47954f6917d7371876582d0595ab56dc68cc65acfce224fe134f51050673aeabce0563be9656decdc239918301b0662e58ee1e39d66bb117de68e86b1296e4dbaabee7aec43855a125b455f01ba4552f9ea81bc14ba6d093668f68a9d48ad8408e955db6c2b010971b659118b198d03135e555d4398b33e6cecbcf36638c34fab12a75bb80fbb4cbe72ab616bbd7dee0fdfcec79836daedd32ce6dd9e1bdcdb1d492bf64b5cb78c26728295b84aeedd0c9e363388d957fea4bdaa4b3495cf5a5c4c7e7c7c19206e1813e2f0cfa0602a53867d47fee9c508d1302a569f84f577fbb6c57238d76f5b69ef495145b99b58df71ce9ec068b6d1eb63ae4ddf4916480708ec5275a26d1bd1eed7671f69ab5fcaa35a5fdbc8bacc69373d82620db5a525b3fb3c492cf6462133091ff0968787e457e392969c0b5bee131af7316e496aea81ffbd38e1e52492ddf0be39af8737c5498e81292d42ea0e1d3e4915895674dbdb47651c7334def916f28f868b7576e5c9a250f7fa706183eb8bb6d90265f68976a3c53ed942998c27d40564bcfea08e8084c1f0229d327fa9a925c840bd8eb893f7af608fcc383a469db9e84f6afc0301bd74180f12c6c7c0d172cc14cfe75f6f30f42f3319c370aee46686c80c50c98f827063e93c37c9873db3fc16bf88430c023af40118f935a3ebc0ecf6e83a011dc0fc1e38dc405f4fc019ec78f3af17185f3627401fc7c46082b363e07dc305980bf7e3d34d643ae01ba385e3afda0d64b6bd7ae67c183d232c1e582d9c3b0ad850815fea3d1d44b9323d8a2d62bd085d66516413daecdba43a469ca17cb54276fcb010edf061b730b0aaca620d779328066ca8679983c81b3c916318e4246aaddd9d2d63312c625e44b972d73303926d97f6a42d514de034776775da911c2b8aa49088f4b02a874489a3dc4f071f299753e8d919144c248bd9e637d7e48cb2c282ec84af37b0f7bb1bdb80c1e994843adf9c58e62f44743fefefd3b9bf859a5a20045bb90eaddddb4df3b1006631e5b5a5eeac8cfc932a562b3dbdf6ae91c091b72d8f2654b4bd1c51fe23ab6ec4649131026a1ba301a120d994ee42cd1c60706bf1a46f6f0d7a78911835ff69199158161ec2921793bbb09c577429acd4b6fd7eea696eea1a0312bbf72d9b2cad2e21c4bcac820caa1e043a56bb78bd6bf689b369e9dcd47fb4620c59457c0641afcc7f7eeef0f81219578a6143c817c725388cf757ef0ee7e2e0429799577d5e1269adafda56d27bdbd40c147c059e3a8ad97d62efa78d6d64b9343c3533490bf511aadf83b2d60175879a2b67ca941caf14cb753a831d5fb80a4473feb08e8084c2302332e5c883e4fd47a22a542467e9ce0434f488924a4c8f3c2251ed5298c1f8cc1c7299f2299f1f171218f19a1487e148a8e1e3dfad24b2fa9ed9c760a4e219d9507d00307ba6274d5ae848c51d81579ff2e2f2c82952c604ce99457594bce25e469f2d1636d28232ca7b689f154755d05054dc200d4b9418a5512f792a7e1b70d64d9fe1b5e9835a4b450dd2e7609be5f053cdacdb0670f346c80679ce0794dfc0e2b4ad5d4ab9623e8a7b657324f7dd694af66b3d971c912e0d7462de91cc781c3fd9893f173fbdfe4bf13a9669753ec0c9b9591363ad4c9f546c936b682cd0a7bdbc48fe89455d764047bf6b573510e3e47a3a325c9b547a157b844cbf173aa3eaf723f7b9bcd6634629077a457face6aa4baa25d113abe9b6771b74b7cab3ee4e3a2b56cac03577e83021c592d314bc541cd1a43611f78d4659d31e4f9b72d72bf99d62eac6a63d89cccb45060d4ebe562244ded42d9aef8f6d3f024c6a485fabd9ce21f15de164d3cb5ada4c9279d9218fe11b989e26377aebbd7e1f7eeddd23160370615e344a35d938d674dbd1a720468e8e333d2104546533ef228c7f364762ac4ca2f35ef0372063daf23905c044e9f3e9d99999992923263c60c83c180474c78895a308347f4acd005c21408045e7df5d5458b16211b32e051915253539182454246c80b3c023f1ed549508774a2984ff23c12d006a444ec1128c23142c4cca527dd25bd740caf4e09824bbaeda7f0b2a63fad6ad4337f8486b9f0b1078e9e810565e02a27dfb17ab636e6bb01aa4a979fc0381bdd0e737f37d777c66f9a9dc314e4924f35b5fc87f09951dd9ecb8f405c8db68a9a45c630e4b2c53966c34067cbd6c8faf3b8d5f4c2a42160773e7aafe3ebcee626f20e64f274a5fdbe68165f2d76d2ecd7e9d71502ba4b1ae96ed91bca084dcfe808a811c0cfe38fde0db7bbe176be2c780e76fef64af347d1b29181fe91109b938f7fbc9de140cff1b66fcb1fbd02ede141b9720ed6e25247166fce507787ee8f7e2b1d43e61124acf84afb7dd10cbf5aeca4d9afd37504ae4f04f428e9f5d9ef17dbea25b5809fbbc2dd4df7089f63bd5839d35c0fdfdb5bf14d76c8ef95bf839f66a571c45f69f6c431f53217f12f496194f2cefb321ba3ab4b1081ab653c5f2d762608bbce76ad22a04749233dab47492350e89904103890d85bfe04244d2bcb60afe6acbe69d5194ff895664f3c5b2f6f592fe7954ddcbdbcba756d178bc0d5329eaf163b2fb61ff47a3a02d71a02c23ac56bad557a7b74047404740474047404740474047404ae22047497f42aea2cdd541d011d011d011d011d011d011d816b1301dd259dac5fd995f0e20bb0b26832be04ca9f780e7efab0922f89f295a2afc66b76c5ea0756b92a9269ba8dadaaae72d8552269f418c6c4ed616a5caeea32b59a1871d10b1beb74b9aa58b2f7cfb79c12c2611a6c14f43249c3a1acbace5553a104f4cac1791a209cbac8c4c7f3d465eb357404740474042e0d01dd259d0c3f7b15b8dd701b3b19dfa4e5b5f0bd7a68bc4bc99734f94ac157e535338fc9b1e227811470b35575ee154ee6a29a5477675d6579456e649b2b49088d2e95f3e7c4ed61162c62d93247714cf538179679252c5b384ff80a781cbe692f4a088769b042d49b952c1c9892b262b6143fa91a9bae189c63cdfa96ae121fcfdf9281ba5a1d011d81eb19017d79d364bdef275bd4007f988c75b2f2206ed8c4efde24674ca27cb9d8ab34cf7d718cbb61e6d0096facfdb90b8a18eb8c20e3c18fdf4f29d92aea8bb352fc3d075b6225d2e84ae189db3316e6774c927657520a525df3fcaa4db6556cd34c481487649b11d57bc6c4489b195da212b265d58509e52ff5cac0f9129b96b4ea898fe7a4a9d405e908e808e808248a80ee922688d468827c17cb36ddf22fd6aecb5d8ff334736a9db8d917121376f72202d8ba5bf3606228bab7bb5842a3472a463253b327f2d2015f1f6b6de413114b323cb3d2838ae198f68bc47148ae2932bd76e774e330ddf2930bcd344b9bda789e666374f13a023a023a023108e82e690c1cd48b311b6c7c1b9cfc8cd263cdf0fd6745ce9f6e80bb96c06c230483303a0e87df1437d86c781a7e740fa1630a8fc25f36c1535fc408270c7f0d061ffcea1342d796df005b1f03663661c04f816efd0dfc7a172cf921fcea01d8db0469cbc155428ab88fe1be274806d32b9be08ec5803b93878761fb6bf0f23681ac715cf213d8f85dd8f42a943ea46cd763ff0a6be6c02fb6c10fd7c23c5e7bfb6630dd09395fc3d30f46f7357de25fe1ef16c2d729103e01f58f4655fcf45f617511fcfb33b089faed52a6ca75dbc279b3ccc61917c2a1f189c099235bda0d6bee5a6484f10948099df96cf3ce7da240fcb4a0317d26bf4b7dc66c16a76ae2f746fd3eafb4d525bbea0775b9a60bdd0777ee6c537e4da8cc7d5b761af477ec93ef518962d5f424d8c39b3b1e3254bbee2b65b3b1078243ddbbb7ece4ecd56b56de3c7274f78e7d1c61b15735de55067d9f6c3944ae26c21955ee07ca192bf2fb07bcef6d6d89efc8da1cce3bab8ab34cc88e95433eee93a60fda011cf73456e567e1deb548f39f3abaaf799fb7aa7e8dc3e4eb0bce29c8358f7477749e9fbf94b58647b86d6f354754c4e0c0dbe9fbe4a3a19c8ad2587bec55f57795998f783ae75655e467122d81be43a7d20a0bccc1431f36455067aaebeb4a6dc1f3338c13be8fdeda1e894a3335f5750e6bdf810f9bdbc50e8ad14b5a42c5c151e32e2fcabb01db1b0e07c72602fd1d4dfcc6b05a389ce325e14ea87c7238d754159a520287fe8728a5e0ac811bdf418bc74f1df9d270537981ac1f79a9552b562f66728ce8e44e047b8eeddfe1518c2c41377fbc8c78cab48ad9248ce7c828514bd7293a023a023a02d383001f41981ed1d794d4c6a789df769a037cf95ee2868d0f92d6bdf847687402fa6c470ec3d920ccce047b2ea1afc1fddf1b08bddd039e8fc167809b783a29e3d39a5ff20c6678f7ffc0004fd190bf123c4f137ff4d8c7d0d2061973e0a19fc3634bc06c85cc4c703f42fcd1d35d442f733bbcd840a46cdc01aec5e0e7a0e56318cf84867f8435bc0fcd6b501ecc374046263cfe738d76dd60810c065e580ff332e0c83152d13213bc5fc3ec22f8e14f24394ba0be0a8c01e81987dc7278a656a2d7c2dd480fc6f3476b56bb2b59ab25ddefeb3f3b3266c45dd8cd26f4e9fdb87daf3f946a349acde9923470bafec67daf9bcd4227ccc02c75ddeb7661baa34c9a6b6acf9d6bc2316cb0dca09a2b6aafa9642c30c2bd23f88211892a3a93247b30906bcc292e67b3c7877d43fe90312b7f99cb01e9e9e634a3295df49420dd6436a659322d680ecee1c82e755632d6f1e1217f18ccd9acdb5d1631539db195b9ffd6e940cfd3d7c79de4ba7d81147316ca6157af73a23fea1fe8f69eec09a5999972577d953d3dd568b2e276aaa65078c2925f4efcd1f084c1925b12597fa5c0213ddd94664484d13f56d8939e6e34a66555ba96e567a60ff50fe02f20dd987a7a309866b22eaeaa96ecb49716e7190da181e109a325f796e8bc5fe69685481fef97fc5150e8a5e3e070353a4b19f48187fafb7dfe7193c9388bc78d82836808869d6d652bd6391d99a6b4339f1d6c1ba5e1ac8d1b7690c968cc662b2b0b847e0c8bfd0850e1fe5e65418e3134c49dec1eb960cc732c779729175349682046970bcfa84a3197acf1ac12ac13740474047404a61701dd254d18df6dbf80efde0fcfec2015d85b60c993e066207c1a1eab85871f85ffef7d495011ac75628c0c362e87479f84f54fc0cae5d0f80bb134781ed66e80f52eb241fcc6ef93a8672429e43ff10064001cdb02df7f029efa7fe0e516c2f8c00fc12f5568de08df7d109ed849ae8b8a81fd09386f84d163f057f7c3534fc033cde8a8c1ddab246ed5392247a137ca78169e5c0e0f3f4f08a969f0fc1fd064a8a887253cc79a07799ffb4ff03bbee17ffd7db1de637f0799001fff9778a93ed9aabe539a8381b6c3cdbfdfbc75fb3b1f9e441787a4c1f6ed5b366f697adf17861902853f1efd68f75ecf5e6e185fda4ff41cc6ecdefdfbf7b71d976270bd9efd9d5c5fcfc9ce0845aaeb723ac8eef6ad88434c52d2936b0f80cfbb77d3e6a62def79d13732dbb2612c46bbf212a0bfd3b369f396373f3c8e2d34db6e8ce5965fd99655301891e6f6febe697bf307cd3b9bdefcfda6268fbd7a714e1a04070ebfb97567cb073b36794ea29cbcc555a97c2075a0e383436708c081eebddb3ace6247a64bdebe128731715749ba3d7eecb22defec1ec1819562f0ee6e1f088131b7b846f071cbcaf24c183dfdfc83b62ed4975d788b40b65595e61ac1dfdd89b15c2129f54a74a55e7bcd52360b26860ffef77f34bdb37debfb442c9fb471100bc743b32bdc0dcb0a70e7ae937bff6bc73e699ca870a6e16697fa4beac7e3623fdaaacbf03f9cd040f3a62dcd1fec7ceb436f1852f216f2af2944ddb1a7cb8567ac56f4c793fafb524ad7af750474047404a61181ebf1c5fd53fff997ef16f2afd44560833b9fbae3454f5c94dbff20be04dfd306c17ab0de0477e4910a1fbe29bec89e253dea6139f1d5ce7e029b5502312c96590e8f23fd1c3cbb22668378b5fc5be792c993ef6d17a56cdb054fbac03853bc3cdd0c3f7b9be467890428e5edc92801cf1ef2e29ef8b3003355b143895d3cabf54618fefd39205b3575c16bafc1574700dbd9bc061a4ae0c74fc2c31be0dea5c4abfecfdf91e677dd0b45e5b0b6083601acaa22adfbf5eb11318a8c6dfe8d68d308d7decaf1254643ec7f4516b4fd82acce60af77b0172c0e140b5f7f71a8b35756c6670f799af977e031745b553d0656033d1dbbb949e849b3c74ee6864e0c7b9b5a7873f8f1157feb70e40ff675bc23bcfce54e9f0b1767676461f837ea46c5d83e9fbc33f7f7b6c5b676412e6e113fd1f7f93191b7f3f3733505d9a969063467c277601f97771ffeffe3efdc79c858b31079d061c5a4890fcd1ef4c930e10ab1560ecf839feedf6ffaa61fa0f780f716b7237be1d29ad6775aeb4af2710de0179fb6412f9cf09538acb99515b6de76a82ac16119f0ee133dd2c4f5962fc84408874e74881303a2e3441b0762220953e72ec5810981ce96373c128e9aed2a219f60d0c00da9c8afd18f3999e4179e967de7ba75045a408461462aa1d192a65eecdf24e2a9569db4f1ac16ad53740474047404a61981ebd125fdf3d6b7c616dc100576cce7f144afb473c72547802d027c54767d869152c229bd8f253bbf0b89278326ae841886b0010c9950b11276ed12abe0492d3f15c34ce370ae4be2c92032d1a915d23718b18c4d7331380970fa089c1c91ac4a852fd1958c9bd47a45f6513820cd04ddf4ba487b7933b87f0e8bef828631283202bac5c2f6a24d1fc3332e58f5033809300723bbefd3bc2a9463b110672d38322cca4c278f76c14f1229714ef11c007935b6ae9cac6a6adbd126a76297a9e9c9b5273c26f81ba25a744a94299db8e082ab8a999181af44069bcd8c13267d67253f4a590f8457c42a890622ef4228302855484bc1203371ea891e3ee487a1d5c0597c932c7168e22054d0b4872115435ff7f492337acceda27fc9793e1d605dd93945d58ef03cab6162f8a487230c9e23ddc5ce82dc9bcb6de760be19038b5dfb44eb34f0477e4d1c86f8061b707008c92c8d130a0e848b8033119e4831a4186db92c78452c35e58f1b70ce83266e4492ba1f6d6623da121aeeeff18d4956a58486d035a7264dbd6813436a24054f0dd5c91dcf1a0a74928e808e808ec0b421a0e93a4d9bb62b43f0c1777f7f70ca9648efb99f5841aa9eeb8774def7fc5a78d8d6c2fa3b4591de2fc87cd3d98ba016448f4dae6bf4303c7b0c363442c3cf616c145e157c3ae450c9efee859222b8fb61d8f53a11c03a48ec3328f9a4ea7e3b70021ec1499c3e58ff24e157a7da06c80bc066991f4c78547ac58a06c0789132ed1203a5cf3c44dcc8ed6f88e5dbfe1dd6de01f3eae05fd0ac51786b83b25ecc35711c8c66de8106bbbba600af952ea9eadb486228557aa91a238f71546486da0f457d39b27ac600fd87b5563569d093694f0a11a64cbc031ae2a94cfd7758ec46c125e52962932aaa0b490c34f04db4b2a25d83e78261b098e69631200ffdf69d1971645bed0b2bd05524756dfcdcda50581e6916664244c0a3e113d79e14b94b2b19e91502a5e5ce726c53f7671d22bdf3607705c36416dc5b37230542de4f5b05fad4f41a88ef193a2ffcebc5ac5a56288e130a0ea2ea50ff872d03b5eed21c876b5538b4bd9513e9d2848908ce7d5f6be326f493ba1f077b7ca1cabc3443a0b9b95992197b56f4975848ebdf24e0296a50ea4de6788e6da17ea523a023a02330bd08a85d9be9d577b54a5ff2103c733738aaa1640e04bbe047bf838685b8d00956fd33ccba176e770aefc9f928e61ef8a00bea8b60430b34bf0743e9b0f8560878e0477c9cd53013f66c8097e790b062e32bf0cd8fc5f7fe6af9e8d83614c1ed8fc08b1638910e6bee27d0b5ec00288ec130e2381ed8c0bf4077c2d65fc3b68fc1ce42ad0bfccde23456f687b0e11152d12ef7830134f4c688575e0881528c080f1f864d91086e17ecfc8438c4e8679ef6c44c4850d607ae6f30ecb05a0a2a57adb8d198cb58c9e224e03ff114653598735d752e18f3b5b48a01b981c1005833172c778f1cebb5d80b6f34f435094bf26d55df735762bcabd012da2af81fd2ea194fd41de12553e849b347b4546a852c2689242bbb6c8561212e37ca22316231a1636acaaba8731667cc9d979f6dc61869f46355ea7601f76997cf556c2d76afbdc1fbf9d9f306db5cbb659cdbb2c37b9b63a9257fc96a97f184cf5052b6085ddba193c7c7701a2b1f3694b4496793b8ea4b890fef2853ed916a2bce62a0340dff59ea6f6f17fe3d4396c1b6cffb98ca3ca3113ffc7062b7f0cf02057fe4d6c48173d82620db5a525b3fb3c492cf64a20a81958ac357e8eb434a1a70ad6f78cceb304c5bbaa27eec4f3b7ab4e57b615c13370e1037598af4636feb495f49b19559db78cf91ce6eb0d8e6616f86bc389d97706bf497b65e99688dec14f0146aabf4266d3c473e79a161a64ed211d011d0119816048843a0a7c91128ba1d1aea893f7af608fcc383847fdb93d0fe15186683cb09c6b3b0f135b2fa6726fffafef907a119e7f6e1baf846686c80c50c98f8271b8638c37c9873db3fc16bf82433c023af4011af5c2d1f5e8767b741d008ee87e0f146986d00cf1fe0f96df8bd2852e1bc14f3f2f39971fed8f81c70c36401fefaf5d0580fb906e8e278e9b243e4112bd034f40a05cac0a52462177c7c9ae4ff8c96c8d26fff2f9057f161689242a7b2c298acb7e500374426fd1514584d41aef3640017ddc88661987828d9b87f13eb2864a49a9d2d6d3d23615c42be74d93207936392fd2725544d21fe0849eeba527484705553c43f8a4f87a4d9430c1f279f6be7d318e9e9090cf7f67a8ef5f9212db3a0b8202bcdef3decc5f64ef06ca4a1d6fc624731faa3217ffffe9d4d9d62657252b40b29dedd4dfbbd036130e6b1a5e5a58efc9c2c1359c4d4fe564be748d890c3962f5b5a8a2efe10d7b165374a9a803009f985d19068c874226789363ec819d71e2cd44cdece6ed2f1be1331b37c07db0ef791e54813dd47c4d029ad5f0893260e9dcd47fb4620c59457c0641afcc7f7eeef0f810197d9517180100a12e2eb9d1fbcbb9f0be1f2a3cabbeaac14f954dc28fd08b0bba9a57b28880bf02b972dab2c2dceb1a48c0ce2481693babfb4db25b25f2a9e925ad53849da788e68d0333a023a023a0297098119172e449f576a9d915221233f4ef0a12da4441252e479e1128fea14c60fd2e0e39a4f91ccf8f8b890c78c50243f0a45478f1e7de9a597d4764e3b05a790cecac3351e7020121ae475d6ae848c51d81579ff2e37a40856b28031ab535e652d399790a7c9478fb5a18cb09cda26c653d57515143409173f9f1b545ab5f261b82908bf7d5b645ff234fcb60170d9fe1b5e983534b98562b595d0fa7348e560291fb555a84ee4d266075caf845f1bb5a4731c070ef7634ec6cfed7f93ffde647c017686cdca481b1deae47aa38c36b682cd0a7bdb0e093e6859754d46b0675f3b17e5e073343a5a925c7b147a854bb41c3fa7eaf37a158eb2cd66c34f60e19cd25ee93bab91ea8a7645e818916371d74c5c523ee4e3a2b56cac0357de83021c592d314bc5c1ee5c77afc3efddbba563c06e0caaed518be229ec038fbaac33863cffb645ee4fab99a97a79561a0e3686cd490bf57b39056e42252d1cd49a0985269f8099186e11b9c4a4ccb45060d4ebe52244a222761cc234e31951add47b59c67344bb9ed111d011b874044e9f3e9d99999992923263c60c83c180474c788992318347f4acd005c2845f4a7cf5d557172d5a846cc88047454a4d4d450a160919212ff008fc785427411dd289623ec9f348401b9012b147a008c7081133979e64e1a64b17760d4bf0a2271aeb8c0a8ddda3989a2987a00b76695591b344f234f9a8745bc242e29b24cc498d681432a3bde0959631298a622e8be0a7f793f8ecca7bc8eaae6dff27a6702a17cc22a7db61eeefe6facef8172cbc05bf9c8933064f9f50bcf6d696d8cb7965bea8c833e88dbe3046d2a17dad9a9569f4a4dba3a91d2dd7a40f0ea2afa5e56e2135b65db2ea832acf160b07bd9dda7264154996860316e1fd6622348c0eba1a64851074c02a6a1619c390cb16e357fe073a0fc6f747e3ebc5521a0e839cd2899759a28983ac5c96a5c94f1cb788309a49eafe9a563ca3f6c48e93cb339e23daf58c8e808e808e401211d05dd22482790d8b62c90c04217d8cdfc38ae3884f02c2c840ff4888cdc9c73f9e331ce839de264e379ca4eab4145f69f64c4b2313134ade7b27c68993638b4b1d593cf35077c7d6c8f79612ad7e5df07d2b78eae3f9ba185b7a237504ae5104f417f7d768c726bd59381f00d7401fde15e7034f89ebc4f7f6567c931df27be5efe013af9f6cce2bcd9e64b72ff9f2f84914304a79a79e7c7dd7bac4e4e2a98fe76b7dbce8edbba610d05fdc47ba538f9246a0d0337111883745216e45adc2c15ecdd9815aac978576a5d973591a7d494a3427515c92c4ebbb7272f1d4c7f3f53d9af4d6eb085cad0890f9aa7ad211d011d011d011d011d011d011d011d011f81611d05dd26f117c5db58e808e808e808e808e808e808e808e0041407f713fd9386057c20f9641eb1b53583e4f13f9c473907e0a5e7d3da63c89f263e426fba2f661b8b3104221484b83ce3fc366e9bb57347a92f5af84d71f82d3efc3cf5e4fb26051dc74cba759cdae585d611af66e6f49e89b03342931741b5bc566f94fb5c57c29143968f498ca89dbc3d4b80ac3673fdb77288105fabc7667f9fcc0a98eb6386be8632c99b68b8470485cfb1471485cf0249c975daf80db5743d985c9e9c7b2eaba3986a18ed6982f66e028bd52c6497cfc998aba42fce6ed047e1a67ecec89d6439cc84ea3c79736e5d2c47fa75316cd57986ef934abbe2dbd347b74fae546408f924e86b8bd0adc6eb88d9d8c6fd2f25af85e3d34dea5e44b9a7ca5e0245fd7dc4570a8af27c706dc2c554a34ba543eb5f363cfc12b4f6b54a9ad82c545e0be47a32829a4e9964f339299c7e458f1534a8ae1c556d5b95738195aadb8f4ba3beb2acb2b7223db7a49cc34ba54ce9f13b78759b08865cb1cc531d5e35c58e695b06ce13c6b1c96cb5394100e145334fa65aa3850244f999c54bd1aed521924e29695ac7e644aca8ad952fcc46e6cba62c649ac59ca2b663ed9cda31813cb2e722c8814d3e811862965a8fd42f99d4e49783ce6e9964fd34dd14bc5812647a75fb508e851d2c9bace4fb6c001fe3019eb64e5b89f8d615cc99444f94ad149bd7ef941f82340d10bf0821b37298a8aa6d1a31c53c9ddb1028a52a1f617200561c5ca7bf680e746e0fe3c155953e19d6ef9345bb82f8e7137cc1c3aa1f86c69ee8222c63a23c87870338129255b457d71568abfe7604bac441a5d293c717bc6c264a32a61b724a514ad6b9e3f71762d1149a0258a03459546bf4c15078ae4299393aa57a35db10645713b6362a6d2edb16262aec81666172664b712bef4ca182731866a5d709ea63f1ec58fa1b91a5c2cd9a44d4a34ba543eb533b55f28bfd3a9498fc33dddf269aa297aa938d0e4e8f4ab1601dd254db0eb4613e4bb58b6e9967fb176c9eba197334bcb4e1a5d5e37c1fc38dedca3f77759a53db05ee1a5ca0a93909d6ef93413394f33a72ec3cdcd90a809849a594661eb6ecd8389a1833bda6444ccd2e8b15ce46a6af6445eb2e0f7c126fd523fcfacf440d4164c2725711cb4ada0f5cb9470d0167d51d464e9a5b54b324a869bdd39ddfd38ddf2a5465dea996c736124bbd8467a419048a35f843e7abf68ff4e2f4205a5ca74cba7a89de2fd872645a75fbd08e82e69627d3766838d6f83b388701f6b86ef3f2b56fbe906b86b09cc36423008a3e370f84d58ff3a296a781a7e740fa1630a8fc25f36c1535f907c241186bf06830f7ef509a169cb6f80ad8f01339b308c9e85adbf815fef82253f845f3d007b9b206d39b84a4811f731dcf704c9607a6513dcb11870e7f3f0306c7f0d5e8edd895ee0911f35ec7c1dadd7d02baf95789e668f5aefbf1f81596698c9ef555fb09268c8c00db376c1ac9fc0afee0320116638fa2efce43732e55a766ae3f35ff0ee73603809f58f46abfff45f6175116cfe33fc2dce07d094afc61360d7e3d0d5043ff91dfce61d58741e7ef820786b61d73fc3ae97e0d754a799a972ddb670de2cb371c68570687c2270e6c89676c39abb1619611c27a385ce7cb679e73ed130fca4a4317d662a79cc65cc66ed00f8fd56bfcf2b6d1dcaaefa415daee942f7c19d3bdb949338cbdcb765a7417fc73ec55e4a6a7a12ece1cd1d0f19aa5df795b2d9d86dc1a1eedd5b7672f6ea352b6f1e39ba7bc73e8eb0d8ab1aef2a83be4fb61c225713e18c2af703e50c6ef904fe01ef7b5b5be23bb23687f3ceaae22c133f2a26423eee93a60f70d2ade39ec6aafc2cdcab17b79bf29f3abaaf799fb7aa7e8dc3e4eb0bce29c8358f7477749e9fbf94b58647b86d6f354754a87170d4b8cb8bf26e40f9e170706c22d0dfd17428b5f1aec5e3a78e7c69b8a9bc40d62e5abf9066e16b03150e84ac61270f885afebe05f7dd5d600e1efab029d2ab4c757d5da9b5efc087cde7f2562d73e46692f6620a8d74ef7a6ba7d0f753d04bbaa2feae32f3114fe7dcaa8a7c5e5aa0afe38d8f4ec51d6f44a31a375a3f6ae0c96f14acd58fe78868c09d71f9e470aea92a34a5040efd0f6919457ee278eee478a9552b562f66728cf8639a08f61cdbbfc3a3f865f04cb283969ddae34d56690a599a3d1a7a0ff66bf78bb15afbbe41ac481c9fa38bd6d4cd9de1fbe8aded184f101253535fe7b0f67d7ac2baa858e3bec433a9ec87557fbfd4ec3bb279675bd53d6bcae68e7ff2df4ded834cfddfd7a678f76c17ee00927cf93909f79fc8af5a2e57cf5ffd08e82e69627dd8c84f703ccdc11c064adcb0b113d6bf0d2ffe11dc0c7a8b70e43064dd04f366833d97885bb301d63b8997d3ee819134b8f956b809e9329774cd2f61bd8b44c1fef02a0c94932a1af287c0f33471cb8e7d0c3da9e0aa82877e0e6367e1332b646682fb1152eb741718f381b91d5e6c809f6d838d3bc079230c73d0d607cb6f87867f04ee106cee229c9a49dbce95da7a7f9bc8bea3b16a68f668ea7de13128e23d0f94f1f8cf45413b00368f80cf0738dfa1681eccb941a68062a7363e7f81b361a82887676ae165c171ac85bbabc0f8157c7006ea34e583169ebf046b26e4e6002c815be691de59b504b62f8139f86f835f665b4c96a959ed2ec52ae1e181fe406a664e9639d56c82e0883f10c060a8d99a996e4e8f5470bafec66115c32ecc5217c3170c1f87cdc20e57f6dcb926526ab9413557d45e53c95860847b47f12450d19363cf71b2d59331a7b83c0782c3be1183252b2b7f99cbc19d4837a719c7d3454f03d24d66635a4aa6056dc63ecc2e7566e30f6378e8bc39cb9ccdbadd67df6ae67d55be998a83adccfdb7cb981408fbfab8a1a0216b8edd9c8572d8d5eb9c39e8a60f74f70ea7cc2fc863ca5df561bf2fd568b23205e8a386272cf9e54b11eef084c1925b628756c17d53e1e070353a59dc822ae4ebef9f306565679ad2d1ce7430198d46b692b713db354b68d77cdb72ed7ea1e1d012d2b473c7599396fc2fda0683c5d9d6c555d56ddb857f4eeca5c57946c3487f7b6f5de33db9998691819eafce0567665ab3335284e1a28d3f4d6f5b6f7abad1989655e95a86d80cf50f9872b2d38de9938c37ec12156eb47ed4c61397d569f7a3e89262d8dc56b6e2bbcb0ad260a2a7e3a3b6d1dcc5dae32430153c1d5c4b6785fb7be417111ce27a466c37e5e73996bb87fa9b0f517d198a9ddae36d47e45f07c5a8a55fd2ecd1d4eb7455698fb74341cdfb06ed77411b6f27fd13f9b9b9b73819af87e34d666e59c88fb7137e6381c67d0979b4ecff1fa3c97883056fcbf69b6eccc485af4c89bdfd58de8d66d300d97e5a3b25e7fef32deef8a7dd2c9d9a1c04749734611cb7fd82041d6b9f830df5c0de024becc41f0d9f86c757037a6bec93f076232fab08d6f2fee8c6e5b0592ebc965c04cfc3da0df038328cc2c675c45f5cc2bba458a490ff440eef8f6e81ef6f20151b7e09cfb8e0811fc23f9e2497989a37c2cfde06f66978bb018a8a81fd09f147478fc15ffd3d29ad7d0136b8e1ee55b099af4e488a44b1f3894dda7aa7ea9252edd9ae8dcf920e989f050f3d0ef35261cbff0274238c4671b3a8fb5e4787145adf8e69c0130f68db49c3e7d5f7e1b78df0d7df175dd2c7fe0e32013efe2ff0be0e9af2b5ed2f846edcd97d012ca925da3195d7c2490c6506e1531c045ac956f51de28f060e37bfd1cae1e3b766edfda5e45737d8be7d0b06606cab1fbd7f8eacded18f760f6599ece54b99cc193d87f79d1801a3c1f04dbf14cbe8f5ecefcc58306be28be31245aaeb723a8c103adeda2c11c4b3929e347bf8ffbe007cdebd4d2d87c0e65c77bfc36ccb86cf62f5ab1e4cfd9d9e773058c5d43dea2e36db6e04a0b9a4b66515c41fe5f6fe5eeeb5daab57a33f1a1c38fce6d656a2c9b1e2516741dee2aae1117235d0f1c19739b595b9a6407ef76aad0000400049444154f7de3f9d29bcbf323b5d70df009438d86b96a23f3a317cf04f9b897711e917c96045bbe8fda28d83bddaa669a7fd7dd11553c8f736b5df52e0cace2daeb1ef233e7459599e09027d9fb703b3da8cffaa05beeadcdbd2a9e14e29e450f5b66d270091e43fdcfc662b67bbefb1fbb3530c473d71c79b1a37410680b21fed166d3c41bb1f011822693c34bbc27de752c600a1937bdffd00fd45e1bf7a957c7bb5794a7882adba0cfdd1d040f3a6ad1c2a625c8fbad9bc852570881f3644b72269db491b6ff6b6edd84b5348547b8e698e739bbd4ffb3e30089af70d7bf5e229e1b3efa3ae9bef2dcd2ebcc5ee211be8d9aa4a738de0efee6c1f6c6fd7ba2f51f0b472c313564b16635f308bff27d49abbc076ce822f1d06bfa2c093b4fbcf14b0d759af2204ae4797f4a9fffccb770bf957ea624705773e75c78b9eb8bdd68e1bbbf32fc1f7b441b01eac37c11d79a4c2876f127f14d3ac74fe8487e58021b3b39fc4faa37c21861732cbe171cc9f836757c02ea9069ed5f26f9d8bc10c784f7a906cdb054fbac03853ac73ba99f8a39866890428e5edc92801cf1ef2e25ef09866aa6269123bd5ce5be7c7d31bad3e598e6a0f059f03bb08920d8f11ed7f795b4435aa846f5df41220be9d6a7c0e6c80ae7ba1a81cd616c1268c6e56915ef8f5eb9248957c9afde7fcc064c3fdd5a4fad90c60974009f66b9f723d9624d736ff46ec8311ae9df8a3988c0612e48c26bc7dc385e8250cf67a077bc1e240f3e0eb2f0e293fe4841e9c47eea189356d55f56c9621d0d3b19b93c9224f1a253d69f6d8c914ba89612ff14731f1bfa78918e5ca0be40ff675107f141377fa5cb8383b238b05da0eb5f3c9bb657f6f5baccbba2017e39a137d9f1f13a5777e7eaea6203b35cd80e64cf80eece3f2ee7361b5ce9d878c350b9147988fabc68159808f60183ad12146bb64fda2d92e6abf5070a0d9898341533ec270c07b8bdb91bd70694deb3bad7525f918befde2d3366cc289eea19c822cd6797fe1edfeb33da78fb4ed16bea3a529278ede100f19ae7c6be53037f8e9fefda66ffa077b7be38c37356e5813f5aafbb17c4126054fed7e24b6e07031e62e5d8ab94067cb1b1e2fa161d2945f423e21a1d1ef543c7332c91d392dfbce75ebc8d0001c213023357297e635c51cb4ed8c83674ced492fa8f668eba58e375191f2be11c74ecd7102bdad277c250e6b6e6585adb71daa4af00618f0eec37f9285a4940f14fbfd81106465142ece4f83c0903f3dcb9ac76663bf8e0c7092a4d873d2ee3fb162f5ab6b0681ebd125fdf3d6b7c616dc10edc2319fc713bdd2ce1d971e8c6c1179fa76612c081fa6919950007384a09948d6fede2b013b0c61031832a16225ec92f9a46af9a9187b1b87735d923d1944263a3f42fa6654ca49e7b918f4c357f947e0e488343f2b15be3c2215abcebcf91a76a6f26a687a5562a8049a3d2c6f67fc7187cf9949537c3bd5f8a0c0a68f49a479d50fe024f617ce88789fe60d11e534fbb1df2b58b8dd00e8f57ec4406309b80186db68f65a2cc4590b8e0c8b0ce9e4d128f849b42a517a9c07689409736c5d3959d5d4a65ed5a4a227d79ef098e0e788d6e0c34f99d2890b2eb8aa981919f84a64b0d930f617f69d95fc10653dc005539854120d44de855020122f4c4b992138f5440f1fe2c4d06ae02ce01bf848a2e10306ec0c219963fa659276c9440bb5d5fc743b490d353f1239cfa703ac2b3ba7a8da119e67354c0c9ff47084f9d0075b061c35958b995cab258729ce61e6cf6b7963b79f14a9e5c4d78b6eeed73dbda426bac0ed11ff4320c440c693b471d3ecc721bec334f0a4f423914f3a77223c91624831da7259f08a634153feb8c142e97722498d83cd6cc4be0d0df7f7f8c624ab524243fd845b3351ec9c0c4f4d591a44aa3d36727f508ff31811aaf11653ca5fc4b7538d0f56f21ce92e7616e4de5c6e3b07f3cd1850eeda17f955a914d0ecff0afb3dd73a2f3f05ff3b3df4e56c6769f6cdf86409f60ca9240884e4de7f284a74f2558c407cd7e02a6e581cd30fbefbfb83718ab58bf82700163db182949feb8774dea7fb5af811d7c2fa3bc57ade2fc85299d98b005fd4ab97bb8c1e86678fc1864668c089a1a3f06a844325bfbb174a8ae0ee8761d7eb4432eb20b1cfa0e493aafbedc00978042747fa60fd93a2258a536d03e40560b3e407d3ecc4b85c1cbd82cc71e9eda642859c4eb5a7361e3e42bb243014e2412e3fbe9d6a7c50d6b67f87b577c0bc3af8172c1e85b736c4934fb37f6505400989417bf6c2f621e29262fed809a5a8e83579f01acdbc230e76774d015e2b5d52d94764847a6228551366c65191196a3f14f5e5c8ea1303f41fd65ad5a4414fa63d29449832f10ea8e0aa32f5df6171d80a2e29cf2736a9a2ba90c44003df442b2bda35782e18068b696e1903f2d06fdf991147b6d5beb0025d2a52d7c6cfad0d85e59166402715570c920349daf8a059e8b29c17feb563562d2b94f78b66bb909fd62f6a7e9a9d022e6a7e628d14282d77e2649e89eecf3a782239f476b6e21fb6b6da7d67399335bfa40af85b985a4e7cbdc4f7d1f26f34dba58d9b6893aa1f0dc4a7d3c093d28fa29850ff872d03b538d5dae15a150e6d6fe544bad47b9171d2f7b576bfd3f01cecf1852af3d20c81e6e6664966ecf9d2c69ba0579028ff08945c879c4eb787d11ce7821ccd7e89aa90dd37e2f7bb7a9c10219d07bb2b1826b3e0deba192910f27e8a032c36c9e453ed677343906d4ac3250ca73a8f9d5f5a9a6d4c43efd627fedf83f21438f3de7732ef87b126eb57573b029a8feeabbd51d360ff9287e099bbc1510d257320d8053ffa1d342c24aec9aa7f8659f7c2ed4e716621f118f7c0075d505f041b5aa0f93d184a87c5b742c0033fe2e3ac8699b06703bc3c8784eb1a5f816f7e2cbea156cb47c7ada1086e7f045eb4c0897458733f6955cb0e80e298e645028ae28b69276cfd356cfb18ec2cd4bac0df0c8dbf20fcec0f61c32324638ff8c1343bdfa7e825b5c5645f02fff2028664e1f9df4924fe2ca7c7b1471b9fdf10115d3eb28c09bf63f0df0760c90a48fb2466897d4e39d1eb3f4176c07a996627051f5e3aecfc8438eee81f9ef6c44c9ce0cd07b97c9afdcf9ee17983f0c92e12d739d748e669705f0802d447ae6f30ecb05a0a2a57adb8d198cb58f9c549fc279ea2bc0673aeabce0563be96563170353018c075540b96bb478ef55aec85371afa9a8425f9b6aaefb92b2d008596d056e1f92dad3ef1441fe7bc640a3d69f628426cb18e8e955db6c2b010971b65f13120a1a9e8989af22aea9cc51973e7e5679b31461afd5895ba5dc07ddae573155b8bdd6b6ff07e7ef6bcc136d76e19e7b6ecf0dee6586ac95fb2da653ce13394942d42d776e8e4f1319cc6aa196b3289abbe14f87003df4c40b6b5a4b67e6689259fc94ce36d94f9ce62f7c4b64ba35f2838783dda76728076ca52ac7c31508ac604fbdbdbf97f7719e73a7789bfef54777fffc82898f98f0f8446f19f366cb72c4972e87a8191b12bb25aed3208abe514b86145cd7ee41c360a9eb47efc8afc539092065ceb1b1ef33a0cd795aea81ffbd38e1e6df95e18d7ec772a9ebdad277d25c556666de33d473abbc1629b87a331e4ddd4e4216dbfe4f1c61129624ab3e4e1efd700c30777b7f17da645a7db4319e7fb508a46bf443ecd81ff20c9ee1bf47e8f33de06db3eef632af370d27e78f8847abd905c3ebee8d7c6b3c58f0fbd34080ff47961d0371028c539d0fe73e74408543827edfe23c341d4a59fae090452ae89564c7f238a6e87867ae28f9e3d02fff020d1b7ed4968ff0a0cb371dd0418cfc2c6d730ee0633f9d7f7cf3f08cd38d70dd7c5374263032c66c0c43f31f0b71be6c39cdbfe095ec33ba3011e7905d7ed90a4960fafc3b3db206804f743f038fa3d06f0fc019edf26467fce4b31203f9f11c2878dcf01374c16e0af5f0f8df5906b802e8e972e3b488f2e42d2b693a65710c2abcb2c827a5c3b758740e28f5a749a3dda7a79313ffb37e80b42919334c1b91866ca346068717609d1bbdac5536976f29668e283d57efb7f81bc420f43d31b32d17c56291f3f83a085a7f710e9e86037605740177c729a543e7d8a17a175f0b61ce0f02d9631b7a0c06a0a729d2703b88dafec6717264ff86cb2158ca390910474b6b4f58c847109f9d265cb1c4c8e49f69fa35035850ff221bbbbae141f28b8aa49fe2c8c4387a4d9430c1f279f3be7d31819d9242cd4eb39d6e787b4cc82e282ac34bff7b017db8bcbe0918934d49a5fec28467f34e4efdfbfb3a953ac4c4e8a7621c5bbbb69bf77200cc63cb6b4bcd4919f93654ac566b7bfd5d2391236e4b0e5cb9696a28b3fc4756cd98d9226204c42576134241a329dc859a28d0f74361fed1b8114535e019369f01fdfbbbf3f048654740629ed22368256bfd0f86976d2f87905e0edec2603d477429a45cc0df8fc17b27299d2721c0b4bd91c4b68b8a7ad05db4b9343d32bc8c74ed048ea76d1c61556d6ee472a9eb47e04f2494f210ed7f9c1bbfbb910a4e455de55879b746a8f135abb6838c0eea696eea1a0312bbf72d9b2cad2e21c4bcac860f47df2258f370146fe866eb4e2efb7805d608d42ab41a7d94319e74496ba5f221a48b363ee1b53c607450db61dc6db2d7643f79168485e50a1924fc173f0ab61fcd985bf3e4d7ecc835ff691d11b18a6e39cb4fb8f60a67ebcd6109871e142f4fead6e5ca454c8c88f137ca80729918414795eb8c4a33a85f1032df8f8e25324333e3e2ee4312314c98f42d1d1a3475f7ae925b59dd34ec129a4b3f2007ae040578caeda9590310abb22efdfe58545b09225b18c535e652d399790a7c9478fb5a18cb09cdaa65af1a396c253d024fc47f5dca0d2aa950fc34d41f8eddbaa6a9a764e5daf4aae48a0d9834da3e183556ca6c49a9c3c3ba76c3fad422cdd66c7254b805fb5b4a4731c070ef7634ec6cfed7f93ff5e632cabf2caceb0591969a3439d644dac946c6c059b15f6b6891fb329abaec908f6ec6be7a472f14ca3a325c9b547a157b844cbf173aa3eaf723f7b9bcd66345a704e292eaa515454b44b566a6371d7497c1b38e4e3a2b56cac03571883021c592d314bc5812fb7316c4e5aa8dfcb29ad510b925134fb45562ecf266aa754877de0519775c690e7dfb6c8fd75ec35d69a851fd9098d2668ec54f512fdf2764d821ba51fe3e2a9d98f52bb63cff47132e576119332d3428151af97932b99a6f12657a199a7d983915bad714e64c8fb4553a68c38657c647513cad2edd7aeaec4f9b2dc7fb44db982a9a74f9fcecccc4c494999316386c160c02326bc4493318347f4acd005c21408045e7df5d5458b16211b32e051915253539182454246c80b3c023f1ed549508774a2984ff23c12d006a444ec1128c23142c4cca527dd25bd740c75093a0254041867a3db61eeefe6facef84db37398025ce81d3adef21fead7645411492db8d2ec496ae3ae5e61b68a9a4546fcbc185b9c63360c74b66c8dac3fbf7adba45bae23a04240bfffa8202104dd258dc0227b2318a1e9191d011d8124213032d03f126273f2f18f97180ef41cc7aff82449fad4c55c69f64cbd05d7640d6b71a9238b6fd9507787ee8f5e937dac370a11d0ef3ffa30888f80ee92c6c7472fd511b82404063b77bfd5b91bdfdb5bf14d76c8ef95bf83bf24c11759f94ab3e7229b71ad55f37a9af1f38e90e86bf96badf97a7bae1704f4fbcff5d2d317db4edd25bd58e4f47a3a02092330d83bb5d98a090bbe48c62bcd9e8b6cc63554ad97f3ca260c5f430dd39ba223a04240bfffa820d1092202c2ba431d0e1d011d011d011d011d011d011d011d011d816f0d01dd25fdd6a0d715eb08e808e808e808e808e808e808e8080808e82ee96423815d092fbe002b8b26e34ba0fc89e7e0a70f2bf992285f29fadbbdae25b8ad59922423d815ab1f58e5c29d9392976c6c557595c3ae1248a3c730266e0f53e3725597a9d5c4888b5ed858a7cb55c592bd70bee594100edfb28ddfa67a011f2669fd55565de7aaa95076fc95331e928cf5147f1749d6ae8bd311d011b81211d05dd2c97ac55e056e37dcc64ec63769792d7caf1e1aef52f2254dbe527042d78f3d07af3c9d10e754996a6b096e0d774fb59e363f338fc9b1e2277214ddc056d5b9573819ed3a9350ebeeacab2cafc88d6c7f25b1d3e852397f4edc1e66c122962d7314c7548f73619957c2b285f3645fdd8ec33c9d4509e1309d06a0eca9f62f8d9f46bf14f3457cb292d55f4c4959315b8a9f608d4ddfea78980edcc4e64df577118b8a7ea523a023704d22a0bba49375ab9f6c0903fc6132d6c9ca719f8cc826f511de24ca8fc84c3c73c70a70ad82dac42b24cc29b46b3c29c0911d3b8f713d273b643bbbf386e42e28620a4a1630095b2531da2aea8bb352fc3ded2db1df63a2d1a57ad239717bc6c2b8735158b65bb4248272e6f91367a748b95472a2385caa9e49ea4fb57f69fc34fa24eae9c5517cce90fe4d4a7f912daec213ca1fccb73a1e928e5b14d1a9fe2ea235f59c8e808ec0358b80bee23ec1ae1d4d90ef62d9a65b3ec5ae71f218a4945d5164ced3cca90dc24dc09038f506b075b7e6c1c450748f7551348daed63c357b22fff9e16bd949370ae299959e89da82e9a4248ec3745a413cb4a9f52f8d9f46bf58eb65f8d89dd3dd5fd32d3f0e08c9c64da96a4abf0b6565fd5a474047e09a4340774913ebd2311b6c7c1b9cfc8cd263cdf0fd67c56a3fdd00772d81d946080661741c0ebf09eb5f27450d4fc38fee21744ce151f8cb2678ea0b928f24c2f0d760f0c1af3e21346df90db0f53160661386d1b3b0f537f0eb5db0e487f0ab07606f13a42d07570929e23e86fb9e20194caf6c823b1603ee041e1e86edafc1cb642376edc42e81596698c9ef955eb092f064e09eedbb80440d35f5fe04367e17b6fe1c7ecdef9e4acc58031d9ba8edfd23aff67c1abcf826b85576f285ea0353e5ba6de1bc5966e38c0be1d0f844e0cc912ded8635772d32c2f804a484ce7cb679e73eb1167eead3983e93df2d3e63368b5335f1bb9f7e9f57da72925df583ba5cd385ee833b77b629bfae53e6be2d3b0dfa3bf6c5ecd908a0a627c11ededcf190a1da755f299b8d700787ba776fd9c9d9abd7acbc79e4e8ee1dfb38c262af6abcab0cfa3ed972885c4d8433aadc0f943356e4f70f78dfdbda12df91b5399c7756156799f8de9c08f9b84f9a3e680770dcd358959f857bdae22ef3fe5347f735eff356d5af71987c7dc13905b9e691ee8ecef3f397b2d6f008b7edade6888a181c88618bc74f1df9d270537981cc7e622654ad58bd98c931a2673111ec39b67f8787206aafaabfabcc7cc4d339b7aa223f93680ff4750e980be7cef07df4d6f648549aa9a9af7358fb0e7cd8dcdeab21276eff3a6adce5457937607bc3e1e0d844a0bfa3a9ad5f7b3ce0768cd471a2810f6995166e3c5d3cc4e0c3d368fda56127bf91ac567f9d13a4e32ea924399c6baa0a4d298143ff43462f45be96fd53ef2f5e9fea100f7f4dbd94f14c6bef11a251e377a1324427e808e8085c3f08e82e69627dddc84fb83ccdc11c064adcb0b113d6bf0d2ffe11dc0c7a8b70e43064dd04f366833d97885bb301d63bd1f780760f8ca4c1cdb7c24d4897b9a46b7e09eb5d24baf7875761a09c54d1903f049ea7899b78ec63e8490557153cf473183b0b9f59213313dc8f905aa7bbc0980fccedf06203fc6c1b6cdc01ce1b619883b63e587e3b34fc237087607317e154a717fe3714f11e0c163dfe73b17c07c0f340d17b036464c20d68109fcc684646dcf6f26c8beb61b160a73d6aa7284279626a56bb4b7388373dd01f48cdccc932a79a4d101cf10702182c335b33d3cde9913a4ed7df38ac62908559ea62f882e1e3b059d819c99e3bd7444a2d37a8e68ada6b2a190b8c70ef08be6044a28a9e1c7b8e0306fa8c39c5e539101cf68d182c5959f9cb5c0eee44ba39cd389e2e7a20906e321bd352322d68ce384076a9331b07d0f0d0797396399b75bbcfbed5ccfbaa116b65195b99fb6f97312910f6f571434143d61cbb390be5b0abd739711b78ff4077ef70cafc823ca6dc551ff6fb528d262b53803e6a78c2925fbe14e10e4f182cb9257668155c77050ee92693d168642b797bd0fe59a2fd2d9d15eeef112483435ccf88eda6fc3cc772f7507ff3a1c1f474a3312dabd2b50c650ff50f9872b2d38d30e89fc8cfcdbdc5c9783d1c6f3b73cbc23ca361a4bfbd5753ce6809b57f1dae46278b5b1d857cfdfd13a6acec4c537aa6c5e9aad21c0fa7e7a0dfab394e40139f1d6d660a5dfac746810fbdbf34edc4b653fa4b7449313c6e2b5bf1dd65056930d1d3f151db682efe80b4c64340dbceb353ee2fd9508a66e9bf2f0a6e67a9e399d25ecaefa245f17f62d4243da723a02370cd23a0bba40977f1b65f90a063ed73b0a11ed85b60899df8a3e1d3f0f86a38800ec093f076232fab08d6f2fee8c6e5b0592e9c9fb0193c0f6b37c0e3c8300a1bd7117f7109ef9222a342fe1339bc3fba05bebf814869f8253ce382077e08ff785214dabc117ef636b04fc3db0d50540cec4f883f3a7a0cfeeaef0943ed0bb0c10d77af82cd7c75b18eecf4eaf3303f0b1e7a1ce6a5c296ff05f8c0351ae1f02e7862d3247a0519fe88284a7b97f04e3c7229ec8cd453646c55df21fe68e070f31bad1c3e966bd6de5f4a46e760fbf62d18f0b3ad7ef4fe39b22a473fda3d9465b2972f653267f41cde7762048c06c337fd520caed7b3bf3363c1ac892f8e4b14a9aecbe920bbccb7364b04f1aca427cd1efebf14009f776f53cb21b039d7ddef30dbb2e1b358fd63b19700fd9d9e7730e8c8d43dea2e36db6e04a0b9a4b66515c41fe5f6fe5eeeb5daab57a33f1a1c38fce6d65622dab1e2516741dee2aae1117235d0f1c19739b595b9a640f7de3f9d29bcbf323b3d9dd0312971900c53da6fab2e437f3434d0bc692b87d518d7a36e366f61091ce2d51149fec3cd6fb672b6fb1ebb3f3bc5b0afadebe67b4bb30b6fb17bc80656b6aad25c23f8bb3bdb6dd53fd092f32ead7fed354bd11f9d183ef8a7cd24fc2d8d13da78f01d07cd7142c3a7c890a2899bbd6d3b6ac3a4c48727e241d95f768ba69d68b1667f218244d278687685fbcea58c014227f7befbc1a141f1bf3e957c7bb559dbcef745d776eafd45f447120d4f1a6e7649af28411a36d4f6daf11e4892d24e81aa1f75047404ae4b04ae4797f4a9fffccb770bf957ea629707773e75c78b9eb8fddffe07f125f89e3608d683f526b8238f54f8f04de28f629a253dd26139e09bf6b39fc4faa33c0f86bf32cbe171cc9f836757c02e9e281cd4f26f9d8b4126786fbbc8b46d173ce902e34cf1f27433f14731cd120950cadb9351029e3de4c53df12b0166aa6284123b1cd8452c6f788c68f9cbdb622bb0f4c7f3e3e98d548f66e8ed451eb59dd18a3139dbfc1bd1d611ae9df8a3988c0631b4c55f61b813db7441cc93d360af77b0172c8e2acc7ffdc5a14ec15f90311cf2c83d34b1c05655cf6619023d1dbb39192bf19094f4a4d963076cc8c4b097f8a398f8713711a35c7981fcc1be0ee28f62e24e9f0b17676764b1c04fa950f2e2f57cf26edcdfdb16ebb22ec8c538e244dfe7c7c41a9d9f9fab29c84e4d33a03913be03fbb8bcfb304eefefdc79c858b3107984f9b86a1cb048dbfe9c4c32e2d3b2ef5cb78e8804940c335223bf02e839d8d2ca21c7e0a7fbf79bbee987dede13be128735b7b2c2d6db0e5525385c03de7ded90b342530ead7f991a746561e84487381d431a27347e844d739cd42cd5c6677e2e06983570137e48347cd4fd55be2053d34e5a7f21527cd830772906ae21d0d9f28647fa674a733c94904f4568db7971fd450c90251a9e34dce8371aedf189aab4ed94d9a06775047404ae3704ae4797f4cf5bdf1a5b7043b4a7c77c1e4ff44a3b775c7ae0b345c4abe8c218173a09f84896d8e7486fb4793268e24a8861081bc09009152b6197cc2755cb4fb5935782e722afdd33884c746a85f4cda89493ce733349eef41138392259950a5ff233b62416ea59fe3c49e5d5d0f44644e0cc4d21c5692f32a8ed8c4888cd582cc4590b8e0c8be474e2e224ba6e29ea08c50a555eb175e5645553db8eb6d8120d7a72ed098f85e41af161ac4ce9c405175c55cc8c0c7c2532d86c669c30e93b2bf927ca7a207cc75225d140e45d080506a50a69293304a79ee8e16358185a0d9c059081a78183505d6dbfcd6cc40e0a0df7f7f8c60c9823292534d42fe4b0e4eb9e5e21ef6dc72037499e23ddc5ce82dc9bcb6de760be1903ac5dfb06c156105f0e5f5366227f0d9246328358639ca8f8855af2a6d2f0a1d17909daf868f6d710df311a7652fa8bc8279d38119e4831a4186db92c78c53ed7943f6e40d759b37f89a4a9f717a9454d323ce3e223131019cf71daab65a74c849ed511d011b8ee10d0749dae71140ebefbfb83536ea2f4a2fa8915a4eab97e48e77db1af85477e2dacbf5314e9fd022791c2ec45e4cb4afc42a01855a387e1d963b0a1111a7062e828bc1ae150c9efee859222b8fb61d8f53a91c03a48ec33f20d2975bf1d38018f5481d107eb9f8cd118b9a86d80bc006c96f9c15824c89194135e8c37c6d18bf30d48aa857fba9bcf60102a6e7bd5768ad5d427f240369a79c71aecee9a02bc56baa4aa6fed88a1d4e85b429958c65191196a977d368aac4a3140ff61ad554d1af464da9342842913ef800aae2a53ff1d16bb57163d159b54515d4862a0816fa29515ed1a3c170c83c534b78c0179e8b7efcc8823db6a5f58015ede23b4f1736b436179a419d049c5957592681a3e58aeb67fb0c717aacc4b33049a9b9b2501f2738adcff130b3a0f7657304c66c1bd75335220e4fdb415e9f1e568f42feffe86ce0be39059b5ac503e4e34f879dd6a3a0d9fb367460ab570c37e8a834f04c5687f19882fa66127a5bf448842fd1fb60cd4e2946a876b5538b4bd9513e9522f45e4f77dadddbfc2789a7a7fe1c401e5ef0555278e1bead51ecf71dbabb6536aaf7ed611d011b81e119882cb703dc21369f39287e099bbc1510d257320d8053ffa1d342c04288155ff0cb3ee85db9dc27b723e8ab9073ee882fa22d8d002cdefc1503a2cbe15021ef8111f6735cc843d1be0e539646268e32bf0cd8fc537e66af9e8d83614c1ed8fc08b1638910e6bee27b6b4ec00288e1845329100e7810dd0752f143961ebaf61dbc76067a1d605fe6668fc0561637f081b1e2119bbdc0fc670af0f8ae6017e37e0bf0fc0921590f609fce4fd787addff2fa4ad249205d79148a4b4f73f48593445ec8c9262725cdf60d861b51454ae5a71a33197b1f28b93f84f0045d90ce65c579d0bc67c2dad62e06d603000d6cc05cbdd23c77a2df6c21b0d7d4dc2927c5bd5f7dc9518472ab484b60acf7569558a27fa98e72553e849b347b4546a852ce084242bbb6c8561212e37ca22316231e1a3dd945751e72cce983b2f3fdb8c31d2e8c7aad4ed02eed32e9fabd85aec5e7b83f7f3b3e70db6b976cb38b76587f736c7524bfe92d52ee3099fa1a46c11bab643278f8fe134563e1c276993ce2671d597121fa95c3c47ecef6d3de92b29b6326b1bef39d2d90d16db3c6c45c8bba9c9a3a821bb1c6cfbbc8fa9ccc349cbe1e113c23a34882b47a37fbff86602b2ad25b5f5334b2cf94c661a2f5ef2e535f8f9f1a045d7c6a7c3635ca4851b67af59cbaf8a53e3a3d95f9cc346b193d65f5f11673b250db8d6373ce675184e2e5d513ff6a71d3dc4d5538f072f8c6bf62f07d8bfb294607f698c2b222471dc04bd5ae399d25e45542062a7cc763dab23a02370bd219072bd35f822db5b840bd8eb893f7af608fcc38344c8b627a1fd2b30ccc6f50e603c0b1b5f2301c499fcebfbe71f84669cc387ebe21ba1b101163360e2efb8f8da3dccbf7adff64ff01a3eb90df0c82b50c45ba4960fafc3b3db206804f743f07823cc3680e70ff03c7ed4898f6a9d97625b7e3e33ce1f1b9f036e982c6c5fbf1e1aeb21d7005d1c2f5d7650dcfa7ff66fd017248e2c56712e06325595a2f7c02fa0fd2c64cc837a1798cfc2163e362698a1dd5eba9d3273a2596fcb016e08e3a4b90505565390eb3c19c018ae6c7886c993391bf76f621d858c54adb3a5ad67248c4bc8972e5be660724cb2ffb084aa297c500dd9dd75a5e808e1aa2621ac2d09a0d22169f610c3c7c967d0f9344646c004867b7b3dc7fafc909659505c9095e6f71ef6627b71193c3291865af38b1dc5e88f86fcfdfb7736758a95c949d12ea4787737edf70e84c198c79696973af273b24ca9d8ecf6b75a3a47c2861cb67cd9d25274f187b88e2dbb51d2048449282d8c864443a613394bb4f141466dfb017637b5740f058d59f995cb96559616e758524606b10785849534d260db611c6e6843f7918e48711c391afddbd97cb46f04524c79054ca6c17f7ceffefe10185205cf1434f879355a741a3eda74daf8218dd1ec2fba9d94fe82100a12de03747ef0ee7e2e0429799577d55929f2a9fd7b71fda531aeb06953c08d3e9e29eda5da1919187a46474047e07a4360c6850bd1e792baf1915221233f4ef0212ca4441252e479e1128fea14c60fcfe063994f91ccf8f8b890c78c50243f0a45478f1e7de9a597d4764e3b05a790ceca03e881035d31ba6a5742c628ec8abc7f971716c14a16303675caabac25e712f234f9e8b13694119653dba22b90d4d5e5143429cf04e7069556ad7c186e0ac26fdf96f38a79ac6233c5aaa0e825ed859859b0517153696fb49694b3d971c912e0d7102de91cc781c3fd9893f173fbdfe4bf6b2831699fed0c9b9591363ad449d6724bc9c656b059616f1b2e5a26a9acba2623d8b3af9de3afa2071a1d2d49ae3d5195b21c5a8e93727d5eafc251b6d96c46a305e794f64adf598d5452b42b42c7355a2cee469906a1211f17ad65631db8321b14e0c86a89592a0e6ad6588a8d617332d3428151af978b2d99da551c39eafe25cc69a17e2fa7c04d50a9e6a7d369f828e9f1f1a1f5575c3b35fb4b1b349a7cd2e989f56f442e0d67fab8c22fbbaa7f5fda7a69e399d73e85f646acd5333a02d70302a74f9fcecccc4c494999316386c160c02326bcc4b663068fe859a10b84291008bcfaeaab8b162d423664c0a322a5a6a622058b848c901778047e3caa93a00ee944319fe47924a00d4889d8235084638488994b4fba4b7ae918ea12928000e36c743bccfddd5cdf19bf69760e53800bab43c75bfe437cbd9b040d531371a5d93335eb756e1d011d011d011d81ab0401dd258d7494ec4d6784a66774042e3b022303fd232136271fff78dde140cff1b66fcb1f450bae347b2e7b87e80a750474047404740474042e2b02ba4b7a59e1d695d11018ecdcfd56e76e7c6f6fc537d921bf57fe0e9e56673ae9579a3dd3d9565db68e808e808e808e808ec0b78f80ee927efb7da05b104160b0577b766084e13267ae347b2e73f375753a023a023a023a023a02970d0161fdee6553a72bd211d011d011d011d011d011d011d011d0115022a0bba44a44f46b1d011d011d011d011d011d011d011d81cb8c80ee924e0638bb125e7c0156164dc69740f913cfc14f1f56f22551be52b47ead46805db1fa8155ae0a75c1c5536c6c557595c3ae1240a3c730266e0f53e3725597a9d5c4888b5ed858a7cb55c50afb3946c9df422e211ca66a170d371a3d22df5e5de7aaa960a4eb49f925c64b3f271b8732be25ca0ebe72fafdd211d325e808e8085c6708e82ee9641d6eaf02b71b6e6327e39bb4bc16be570f8d7729f992265f29785aae1f7b0e5e797a0a92a7ca3f05d117c5cacc6372acb9f8c1fdd8da6c559d7b8593892526785577675d657945ae6a7b2a1a3d466ce2f6300b16b16c99a338a67a9c0bcbbc12962d9c678dc372798a12c261aaa65070031a3d229f292e2b6617152f100993f2472a5e7246c28159bdf6b1487a74eddfbbab998b92cd94604b4af153b4b1e9dbe97766d50fb04d6be53fa1ba07d62928b18692aba9feeea6caafd6a85374047404ae6404749774b2def193ad6e803f4cc63a5939ee5b13d9a43ec29b44f91199ff7f7bdf031d6595e5794d911421268424189300162165e8080c0869109c209b15a3bd342dd37a187bc6198f7ab48fd3ee2cf619a77bdade63b7334ecf11ced99eeded99eddd63db8eca613874bb689371268736db282e280c601a0c6ab510624c0869628821a9b8bff7ddaa9b97ef4fa52a2480ddf71dceabdffdbdfbeebbeff77d45dd7c555fd5e4819bd652fd7afcc47dba2d53ff74e38ed72ff6fed158db7b07ad5fbe772295cdad8a54ce9f1bc9386cf19275d585597d6d079a5a47cd0de24739c1483f9ff371fcb2539c7fddc71dc5cf76fcd377f70b31015cba3a64ba54806e417a5ae147cb1814c79a3021d0d621847b4a077a4ec44e749ded0f85f3228b57af705fea4c6b4df3535ff161f7ff4c97e8b8679b1b65c3b3ae757ed7c3a4bfa4bc083fd130c6eb4ba6cfbb4cfdd3d2519d540155e0b25140efb84ff350e0d74227b54d76fc094a7ec8bc0c66102b53ff0c428fcf35d6dc18f3cec48f8981cc64631c23bae6fa0a1aee19f90dfa44e820debb7266f9c82b3c6a18df1f2eb217709cdd158bed30f9387d1d32cdc55f37d4f8bec777247aaf39c822e3d8fe23332f04d93a441028de7be2e5c63d00751befaf299c928b1fea1af370a6bdfe253cee0515d794d321fc865a64d53cec69cc96e9f32e53ff31135007554015b8ac14d09234bdc371be98b6bc407555c6fb6823fdd16389695fdf4cb72ca319611a18a0734374f859daf46333b4e11bf4d52f181e2d7e8e7ef1343dfabec1d28cc37fa45037fddd5b86f38fbf81b63f489119c6e15c276dff7bfafe2e5af600fddd9df4da36cabe91eae79ba1d8ebf4e5870d40fbded374d302c22f9cc7cfd28b3fa0bfd9c1b44fffc39fd28cf7a8f773b46426bdfe13facd4a6aa8a2f6667a3c465bbe44dbbf43df777e25d52c77171d7c9a7e7884a6e7d154e737e32b6f3501f1cba2c777115f1df4ea90cadf6f5f08f8e0ffa0bb66d2933be8817b6896b3eb033fa1fbff9e563f40ffe50f120cdcda5fa775c9fd9a3c7c5aa4b6fef3d7ce9a9e17bee2d3f8e0d070ff4747b61e08dd75cb75611a1aa6acc18f7ef5fccb7b13d3f055a8e19ca953ccebf8b419517c5413df8bdad7dd9afc49cee8fa3f595396fbe989375f7e799ff573a5cee4450d9f2fc9a68e837beddfa0c788979f807c9c158706432beabfbc305a82c3800b6dbbb7be1c2b5f71d7ad9feb7d7bf7cebd31e3525ebbf19645d4fed6d643c61a8e4fab6db87371a408fe7d5dad3fdfde94baf229aea9bbb9b6ba30d739cac383ddb1b7b6bd7280a8e60b1b6b6717e2b7716978b0ef83b7f736ee6dad5d77574d6e77fbc0cccab2bcde13075b3e99b33c5a14ef8ded78ae5196f0ea50b3aa617155c595881f8f0f9c1feeef38b80d3f181ba95dbfb2a6acc0c4471bec3db1ebb997596b9f7c8e84fd8f2374f03dbe4ecc11fd9d1fc533757a0aff8cf209d0c75936d17975a02c476132cf54bb42f6d7073f1bea735cce70745c8a34ada6eeaeda79b959fd87feaf512ee0b8fb1c47e7845930f4c1915f87ae595c699d574ed4dab5b72f889486f1e4181e683bfac6ce66d799ee38399df9c57ab4f055f84ccca9569a778df3fca561ca5d71d7bd7ee7e7be8e14cf3b1f1d52f9fbedcb3c15d6ddb228ef4873cb55b54b663b67577ffbc1675edc9be27c73f6a09d2aa00a5c3205b4244d4ffa8dce07284fc6686684e637d09616daf4023df1cfd41041b548470e53e135a6662a2f33e1eeda4c9bea5033d08166eacda6cf5d4fd780b74ad2bbfe9636d59bab723f798aba169b293ef17ba8f91ba6ec3bfa3ab54da1fa5abafb3b74be937e55440505d4709f9975f238856753e4067a62037d6b076dd9497557d3d918ed6ba71b6fa00d7f41b143f4fc71e3e96db905548524e33410a71bee36e300658b6956174d2ba02bb1b0d3f2b0dc34b3afef3e485589d7517ae83b89d19d448feff2d721d09ffcf7f50ffbe9ca7c9a16a1ef6e32d21d394a0be653fe9566a1affd31cd0ad3d17d143b4bb3e651f118276d64d5ed0d0b4b4d55ded5d13fa5a0b4306f4a5e2e0df4f6f5f7e362685e51414e5e4e227f5ca6aaff4f3545ce75255cda595e1f7106ce1ea3e7f997a3cacbaeca35a3f9577a3e2b5abe6a69249f7a633fe55a50227af889c9e7185ede295c5abdb89406ce76f786f20b0b67afacaf89bd9b93971d1eca49542694939b17cece2a3097a886884a16d69540cdb33d9fe415e695441b1a3a9f6b746a55c9d602c58b1afe6065248be2ddedb19e8150e1ccf2bc42c489de7e6f5d29caf4ae13a7ce66cda9ac882cae5f17efeb9e12ce2d8a54a2468d0fe7cf5ebc1c72c78743f965f3cb690f97931e1d6aea37d6450b51737677740ce7169614e4e63879ae59b1b8ac20d4dbd5f6e19981a9054525d3b2f8f0f8e713701cf137a1eff1c5febcfa9b4d07fb67964f803e3be50f188f0e58fc0aa7165d54b73e5a181aee8d1d8a998c82f4f1d781122529caebe2456bbfb4b2329b86db0efe72dfb9b205fec7bddff738eeeccccd0d87c3d1a5ce7982f36a7ae2bc6a6a59d2f01573860ff4c4da7a8baf995d517363434f47e321f98bc3e43cd212cfa1ec59f316516b785601ff5f914521fff3b3aebe36e879e7ab43b03ff9ef6bdfa99c9c7038bb7069fd4a9c9b3d1d5db9a52539617366051ddf91bd28520554814ba4c018afee9728abcb72d91d4f9a8b8eabbf4d9bd751f4f76859b9a947e327e9a1db693f5eb81fa117363a7957d13d4e3dbae5467adede88f301cc814fe89ecdf4101cced1967b4dbdb8cc2949e1e88aff70a9538f6ea53fda6ca26cf85bfa663dddf900fdc57b89a08d5be85b2f50f41bf4c206aaaaa6e8d74c3d7aee28fd873f360eabbf4b9b1be8b6f5f4bc333d31c77ae023ff934769e15fd19219f4fa167a7b2ddd17b53c1cd897249e7a9ce614d2dd0fd1ac29b4f5bf11ca8e70980ee3aaed23fe3a04f93ffcb4ffbe5092265a273d721bbd5a45fb5fa029a8b456d355b8d87c86766ca11d01e57572a6792caefd7d538ff61f6e7c664f0ce6aa7bee5868f67afac08b5b71c1aff8f6fbef9869fc12eded5feeee29cc2d5fbc3c527045dbe1bdeff6523814fab883affd129d6a7ea365dadce9c3ef1f4b32c989f57535611a3cb6a73149241eddfc84e5e3fcb543d4ddfadab6a643545c77ef1d3579c525f4abd1eb9f1f6d1275b434ff1417b7226bee6fa8ce2bbe9a28a8242d5eb9c4d4a3b1d77e6457ade52b6e473d3ad075f8d9ed7b4ce89ab5f7d755562ca83ddb6bacae83affcba74f5d2b2dcfe13afbdf4d1bc3b9696e4703949e4d6a17cd572d4a3c367df7ce97953adc971a148611eca97fe0f5b5e6b6ab1cb1dff7cb0a8ef710c3abe999e0fa86033ca27489ff27d2f6297686e1d501fe1427d51f5830f26ee547befff39d79503f509d22162a20f0dce58d270f3f2488806df7bed67afa05ee4bf8a3dc7bd7c459eef712cff974469eb3eaf8a572c423d3ad8d5f8f4f618168ad4dfdf10adb8763e1d724e03b3f6a816caa2c19e8e4ff24bf34baf59b22a9c4bf18eb6ded28a7cf7a76192e767e0f32e408720ff14fa27f3eb3bdcf8ec9e58f1971fbca3c45c9c0e3abe49777d540554814ba7c0ef6249fae83ffde24bf39cb7d413ba0fbcfce84d4f34a73c08780799df047f751f0daca3a26be8a60a33e15f9f35f528daf4e44b31dd4878cfaaf3add1f5a8e383cb56058be921e033f4d85adae590dc79e35f7f155ebce8e72f269c76eca247ea293c35619e6c34f528daf404410b9d7ca6cda7e6579d4b30ce65cea99e6b7b4977a229143f6ede9dffa7ef205dfada0bf4f5db4606bd68ff2eb3d30d0f9aac7ef14262d770fbba53527b7508f2ffb339a9f68580ffebdb643e32709c7ef003faf00861a5d763541fa16fbe407fde49fbf7d20fbf93f8b400bc3cad78ced5d8736fec80a947d1c278adb45b3e5e943eb588d3a75a4f9fa2fc9a5a70bf79ff500bd71196c3a166bb424b0c14d7aec3f5adfeb683bb6396aba987ddfc84e5536e3e01397cb6d5d4a368cef93b3c6a71b701ff81f683a61e458b9d3c13af2e995688bf39dcc57562de1cf3de66dfa97da34bd6b965b8ae39dcfeced18457cb3b675655964cc90e219de1eefd7b63155faec7b496970f85575d0b1ffe3cae5787c8dc32a4dcf3eec1c4d5c391e3127bf7444f696561b4ee8e7937f475b69d3cb26f77ab294dfdf349a441eee318c467aa3f94ca289f207df889e7d501799a33b2afbde5bdb3f9579595971654d6ffc9aac167da2a82f409d601873f5cb61c17a8a9bfa5e999e6e471f53deef3cd5742f81c47b0fee7556981f91f2dbbe4e67bef35879a70c4e98a29860b6c03a74f0c14d69456d42e34675eac33cb94a4012de8791759e5af4390ffaae5fee727f635e82cddf666d39e18d0e97f7fe38ddc8f3bf05766c0f10d485469554015b8880afc2e96a4ffb6fdb9f373af1c11f97c7773f388e58f8e255fa8a355a61a388e6b537871c77fd949f799c977ba1d1af59e4f33649ce2210a15d0925b699755937ae34fc1c71a87e88c5c179c6662a2a8e5f6f1b9244a3e5e5560d0c923f45e6f32ab29f46b9474410d2f311c2e4403f6d5a9d1fef864a5b7f1ebadcd8b97e8608fdafe539c6d04ed0b178ff7272f973efde3448c47efa00d8fd09d3751d5d554b78eea6e7417f4d65af9f9a6581be83d9be072cc4b29d7499657004cf9826bcd89ae596cee6adab7739f4502faf0139b4ffc3cbfce26964531e16e39a6e0e15215a0b7ebc384437131ae45c6bb3b93758b7b1ef14ddf9e882113efd3c17e3943b2b3aee0a2deace35cf3c2a5d5fe4e224b3c1f1d78bd100e06b7bc91e372e895ad5d35ab962e889415e59746aa4b237366353db3bbdbf1f3e4939c9feee338f4cf289f607d9061a00ef181aee63d7be011a9fb72434d49e5fc256dce55671f7d028e8bd9bf1167383e9c15ca0a179745a935716c417b8ffb5008d5a1ef713491bce755715e18c76af06c475bf7f9645659b80e6abc035a56e87c734b7b4d69c424d0defa41bcc654cbae669d9f2323d6a9c3647245f3c96e9fe7afe59f527f041bfc4ddb298ed97a006f9298e67f7c039f183c497b554015b8180af8964e1763e14bb8c69b3ffbd19b192f9f7c03fbe1b566ea990eca716acfdff04bf56ada74732264ebfbf82424cdb8ce7c53927383d0a8a5ce1da6c78ed2e68db4011f0c3d474f898727fe895334bf8a6efb53daf56313215a63ae7dca7748798fdbfe77e9be5a0a77d3a64746ad28c6ea0d54d14fcf5b75b00c79a3a134346d35fde5e84ba7ec994cd6b8f0cb83570733662ec59a66fbe33a648a7d619376fdeacc36dd8ecde61f55d19627a92e425f7c8076fda30c8e06e6853a9ce714e854deb0aa12b6bb24f57c3752e2526af25dc5510123354b0a060f585f1b65ee560951c761bfbb9a7cf889cc27cb047337a700e55235b2eef7a3384db82475fc125b5ab2629eb906dafff1c864d7be4e9fc16789f373af5a1421fbd26ffb47bd352545e5d72ea156e715bdd8f96ced60dcbed24c285271875e32b4bf3e480b05c2277c5e45d6af9c671f97532d7bf00f57995734dcbc385238677e2dedecf4cd27b988f3e8398e89d151fc78f44f3f9f207d703cfc75e0149347a8b7df1cb829b9d3f809e7a34fc07149ec74b0e35f9bba56e3a3d335f5ebe3832fee8925f8e4d190e3defe1bffe3c8e78df7bc3addd63db8b4223bd4dfd8d8988c39fad175fe60109f016e39dab53c52121e3871a885e6d6f08414e7a7cff32ee579e2f54fa1bfb37a96fda7926cc0e7f8b6bafebc145f05aa802a70f114f029462edee29fa19596dd4ddfbc8d6a56d0fc9934709cbefa8fb4e15aa2f9b4feaf68fa17e9863af3f9483473d9f1557ae538adaba2cd4dd4f873eac9a105d7537f337dd5b9ce1a9a4aaf6ea6bf99693e18baf17bf4f19f25de01f7c64761bba18a6eb88f9ec8a77773e8ae3b4cfca69d44d5064893026eff663afe4573c7d2f6efd38ed7a93c4aabeba9af91363e697ca30fd0e6fb0c28b7ebe0e0a3dff0e7947dab89c0a59d99e9b4e3dd54358b707ffdffd94fcbd652f65bb4fba3001d02fcbff62f01fb4aace07e58fd0ddabc9e0eeca1c387a98ba8c8f9e8c2695c95f36fb1f6d3f19aa2fccaa5ebd75e1d2e8b14393727395ff134e21fca2bab5f534fe7bb9bf6242e9c749deea7a282b93736f41e3d955f3eefea50fb36be25bfb8f62b0d4b717d695efee0767ebd4fdeadd23cf2f2ef440ee0272c9f44a6c95df05f0249ab28ba726de85adc6e5468ae11271a4a81dc8a256beaaaa75d356b76491eae918e7c5995775f14fbf7e3ddf5d545d50df75cd9fa4ee727a1e2abcaf387625b77b67ebe6679feec65b7d787dfed0ecd5f741d4adb9ef78e9dc7c7589dcb74c9d5928fb989bbbe5cfac4ba3e1ea692a2f9abd74d9d9f3f3b5290edf823c548ddbd0df3fbda3f38d1d1d17b8ef29c9bfd07cfe18f98a07cf6265722ef71e4219bcf58ff8cf3f1d72756beea1ee7ee37970e56866b425716cfae808cd4153b1a1bc8f7d72750870f4df196954db13dcf34e7dd5b5759b670edbaf32fed6c337f90788f7b2b0df91ec7189904469a9c57a7f6bcd73dbfba2872cfc62f1c693941f9c5b370760db63ebdadd938fb9c3f1c23b6fde97f601499cb8fa6f73d3fc1fb3cefde0f384f9c603efe2f07e88f33cb99e2ee028fafdb516d554015b8f80a645dfc253f932b56e106f675a61eed3c42fff90fcd16763c42073ea4d00cdcbf40e14edaf203739d63aa53993efe87d478149f1ba5868db471032d8850aef33f3d0ad6b8f35ef98ebfa41fe07ff610ddf73d5cf833cd1b9f7e4c8feda0813035dc4d0f6da419216afe093dbe237135ea93e435a93e070c39fdc66f9b7bd27103fea64db4711d9585e878cc896e75f292834b87b8d70a6d6860e4f30020cf3c49073a69da2c5a574f799db4b5d1f8c872dffa9fd43e600a5f2c51b780501fa6d00113bdfe81fb32eb782f68d2abc7a8738896d4993bab363d440baea693fbccd70b04b5d6a6fdb11ef321bbcacaa2dc8158cb7bfdb80a659de6e6db6a724bf0fb4dd19a7991649096a67d6dbd71dc42be7ce5ca9a4869ae55abf3d4e497f650c39a85618ae3ae26be3c9e0c10c8d384e563121f325f8feeb4f3e64c1ac6e5c053cd47dbfb28bba0b2bab230bbaff5702bf68bdbe0e164365a34bbbaa61af5e8605fc71b2f6f6b494c360fae7d8169ddbded8dd6ae38852ba20b172fac995d5a983b0565cf81e79a5a7ae3a1d2e8e295cb17a2c4ef891ddcba1b9186296e2eb1c591c8c825d3e1d265fefa504be3dbedbd94955b51192908f51d7bed8d8e410ae1f6b5585777dfa7856591858ba1fdf26869fee0d9b67d4d26d3807c30629aef71f4e13dfaa3dab54e074f9c8cf3f1d727e83cb132acaeac28090df6b7b7bcb6f3c0e9407d827518c401e6ebc12daffcec8dd82065552cbd654d51d071f7cf9385f439af88766f6b3ad133102e9cbd74e5caa50bab4bf3b37a4fe3999568aef3c724e3d386f1d778d0f909779fe75dd079e204f7f10f3c3f391b4f5ac1c7d7277da5540155e0e22a70c5a79f8ebc9e7897965106763fec5c7a02230d8c8dd944ef6d717c610c5e4e9d266068688831000fd93d0fbdfdf6db7ffdd77fedcd73d2197c84747a05511bed3f3e6aadd5b7d2b473b44bde7fb707abe8d628e19ad207adee59b617e3a0f8a858372c322e1fec18b9a3c83bdd669052452e9d39edceead63fa56b06e81f5eb07d03b1d9178dfab4abed8ad1e2dc5129a5d201efff7bfc33dd57741955cd31629e3e44af8e3e047662c0c5e584fb95f06da3f939b1588c6a1a1eac8bf4c5de7816df7f39562b8f440ba7659feb69899d1a712d8e2e8916c65bf725befc66d18a55d306daf61e888d783828889ff07c5cebb289ccf1a1dfee56e7be20cba3b8b8381cc645dede53c9ef599541d7be84878251fc4a65366ea0ee8e8dcc2a8ed6e08e6d728963cd4ac0401d9cf1e248b4347bb0a335e62ae8a152b4a8301b8b9ef30efae6e35d39158375f15b425e7d02e7649c8f5b9fd43a04ad1ba88f9990810ec1c7dd9d675026c29b940ab207fbcfb5b6c68404083e7f6caf040e3a3f79d8fbbc4ba90379fd4d3ae99d9f8984521d5f9ffc95520526558193274f161414e04b93afb8e28a5028841ecdf90e6502c0d2a8ac5002a1f5f7f73ff5d453d75d771ddce080ded5a64c990206430c18b30ffba3f7365e0ebc59d8693606811cc0a0676cf742025c78d392f4c235d40897910291ba8d0d35791d2762ed1ff5e5ce288d54e206dec1634dff9bbf66f4e2277ab9e573f115d015550155401550055228a025a98863bd43299c0255e033ab406f5747ef60b47436fe397b88f7b71dc3b70a5db2fd5c6ef95c32217461554015500554015520a5025a92a69447073f6b0a9c6ed9fd5ccb6ebc6f5f8477b207fb5aedf7e02fc55e2eb77c2e8506baa62aa00aa802aa802a30b6025a928ead917a7ce614387dcaf369c54bba87cb2d9f4b2a862eae0aa802aa802aa00af82860df7bea33ac942aa00aa802aa802aa00aa802aa802a30d90a68493ad90a6b7c55401550055401554015500554813114d037eec71088a2b7d29faca43dcfd0ae94df3d34561833fef0b729e7037aeac7a37c2730fea8b89f156319fdd7f5f4c1bfd1d3be5fa435e62ea26b6f5f927bb6f5c5a6b1bfe369cc580987e2686db4b0ef837deedfbb0fe247c54d3f9fc8aafa79f1ce5fed3d647de3d4a850a38de268dde239fd1f1cdce7fea2a7d16e17c1621d3eec2999e7974f64c99a79f86ecc617c65c8f9ce77f71c8a8dce287d7d46cf136b8cf8e2170c52e71f3c2f6864d18a3533433d07f7e0cb45ad76f91cbe85101a00002c9b494441542f2ba98b08cb57acf95ca8e7dd3d9eaf4b4b2f870b3e4fd25b46bd540155e0b25240af928e7538ca6ba9a1813e1f1dcb6fccf1d5f49575b4f116b7df84c57707bea8f683dfa6ef7d633c2baebe8dd635d017568f672ee64466454a8bcaf0c5f7a3e7476bd734acad8b8c26d3b4d6dcbc66e9e22565f2b358c969417c72dc794c3f9fc8dceba2d14535d5a3a6a730f267cd8f46e7cd2a4ae1727186123a14fae71399637e85a01a2d1abdae66ae3ba5f4f571667a8fe318f1ddebf9d8a9f3f79930061599bfa83aba105fe53aba5d36c76b745a99595efdd39d1fa9862ad7557b4e8034e767789ea41955dd540155e0325740af928e7580facc4fd490d38de53ad6f8007eb069c8ed3481f1dda12fa27dd35aaa9a42ab9fc4cfa966d81c6587c6ab6fecfda3b12ba7f6bcdb3a7ad5b2b95591a22b0622cdf8b2fc8c5af19275d585597d6d6f368d8e18c4bb83a79fcff9b8f30b4bc95f637207f2d88effa81f6ff7b85c046244878f7223c91f0fb2d78d356ffbe7b7f10b92f51beaa3e6c7a55c2d7d7d9c89dee338467cd7721e73ccfc3d33c626cc4f657d3aec3e832f8fe33576f6293dbcfaa774b707333cbdeda9c0199e27aed96aaa02aac06754012d49d33c70f8b5d0496d931d7f5293c72f5de265d9537fa4b3e6a9e42fa3a6e3ece3136b6e8c7969fc3818c8cc138aaeb9be82867b467e0b3e113a88f7ae9c593ef22645317e97ca1b6c34e338bb2b9fd12e936d593a94d705e5731a3b099b1f9894dd596965a68fef714c19df5aca07a695bfcfbc715141fa8c2bd8a599e4ab7f5aa9f49a279fdf0990d66cd4a413fabc4e735175530554814bac8096a4e91d80f3c5b4e505aaab32de471be98f1e4b4cfbfa66ba6519cd08d3c0009d1ba2c3cfd2a61f9ba10ddfa0af7ec1f068f173f48ba7e9d1f70d96661cfe2385bae9efde329c7ffc0db4fd418acc300ee73a69fbdfd3f777d1b207e8efeea4d7b651f68d543fdf0cc55ea72f3f6c00daf79ea69b16107e993c7e965efc01fd4df06fc18f23ceea07e8bffc01cd72f2c15aedafd3ba87093ff5393d8fa66249a2ca5b4d8f5f223dbe8bf82a63503e0f7e97beb09cae2aa09033d14c4bd522b5f59fbf76d6f4bcf0159fc6078786fb3f3ab2f540e8ae5bae0bd3103eb438f8d1af9e7f796f623ebe92349c33d5f955fb6933a2e544f87ed2beeed6e44f6346d7ffc99ab2dc4f4fbcf9f2cbfbdc1fe25cd4f0f9926cea38b8d7fcc2bad5bcfc04e4e3c41f1a0cada8fff2c268095418e839b17bebcbb1f21577ddfab9deb777efdc1b332ee5b51b6f5944ed6f6d3d64ace1f8b4da863b17478ae0dfd7d5faf3ed4da90bd9e29aba9b6bab0b731d918707bb636f6d7b051fbaadf9c2c6dad985f879561a1eecfbe0edbd8d7b5b6bd7dd5593dbdd3e30b3b22caff7c4c1964fe62c8f16c57b633b9e6b9425bc3a64900ff695d1f1c2cf46a63a8e460d6fab5d7bfb82486918a5d0f040dbd13776368f3a92e9e75fb3aa617155c595d02d1e1f383fdcdf71709bf383b47e7a9ee134f06baba6d5d4dd553b2f37abffd0ff356757803e3efa3b077ac1d007477e1dba6671a5753e385153efcb714976e684c9304ea476fdca9ab202733ea00df69ed8f5dccba7523e8f82f219795e383f3e38e6df4f23fe17fabce6dcb557055481cfb6025a92a677fc363a1f943c19a399119adf405b5a68d30bf4c43f534304d5221d394c85d7985aadbccc84bb6b336daa438d41079aa9379b3e773d5d03de2a49effa5bda546faee2fde429ea5a6ca6f8c4efa1e66f98f2eee8ebd43685ea6be9eeefd0f94efa5511151450c37d66d6c9e3149e4d911be8890df4ad1db46527d55d4d6763b4af9d6ebc8136fc05c50ed1f3017765e5651ee76b7f4cb3c274741fc5ced2ac7954ec9c3cdffdef54e5543cc8e7a1ef98acd076123dbe2b309faf3f4d1b17187d8e1ea6a9151499c99382fac8aadb1b16969a2abbaba37f4a416961de94bc5c1ae8edebefc7c5d0bca2829cbc1c995b57ff9f6a8a12576722cbeb23cec0d963f43cff825379d955b96634ff4acf6745cb572d8de4536feca75c0b4a440f3f31f91c235c470c97562f2ea581b3ddbda1fcc2c2d92beb6b62efe6e46587877212150ee5e4e685b3b30af2910e3ef351b2b0ae04c29dedf924af30af24dad0d0f95ca353ab4ab616285ed4f0072b235914ef6e8ff50c840a6796e715224ef4f67bebf073f57d5d274e9dcd9a535911595cbf2eded73d259c5b14a9448d1a1fce9fbd7839e48e0f87f2cbe697d31e2edd3d3a6496cfc04046c7ebe4cc35a98ea3b54d814b1abe628ee0404facadb7f89ad915353736f474341e4a56d469e75f53bfb12e5a88daacbba36338b7b0a42037c7d13f40cf44498af2ab78d1da2fadaccca6e1b683bfdc77ae0ca7b8dff1eaf7d57f67676e6e381c8e2e758e2fce87e989f3a1a9658c7dc9fe19e4641c67cd8ac56505a1deaeb60fcf0c4c2d282a999685a7538ae751503edee7852b3597e9f51ffff3da155a4d554015f86c2aa02569dac76dc793e6a2e3ea6fd3e67514fd3d5a566eead1f8497ae876da8f17fa47e8858d4eac2abac7a947b7dc48cfdbc1571b63e013ba67333d048773b4e55e532f2e734a520cb9e23f5cead4a35be98f369b891bfe96be594f773e407ff19e31d11ab7d0b75ea0e837e8850d54554dd1af997af4dc51fa0f7f6c46577f973637d06debe97967baa146b7bea4996e9cfd74152efa9ea11d5b688755e63ef538cd29a4bb1fa2595368eb7f23942fe1301dde1598cfbe8f9d7af40c3db2d67cf07444b7643eaec7e2dadf37f568ffe1c667f6c4f0b2bfea9e3b169ab3f6f48117b7e2825ff1edf7df6197b46fff72774f616ef9e2e591822bda0eef7db797c2a1d0c71d7ccd96e854f31b2dd3e64e1f7eff5892492e575f5713a6c1637b1a9344e2d1cd4f583ece5f2f44ddadaf6d6b3a44c575f7de5193575c42bf1abdbee7730d1d2dcd3fc5c5bfc89afb1baaf38aaf260a2a498b572e31f568ecb51fd9556bf98adb518f0e741d7e76fb1eb352cddafbeb2a2b16d49eed3556d7c1577e5dba7a69596eff89d75efa68de1d4b4b72509e38cdad4382a674f3c9f078751fa354c731b9fac863f18a45a84707bb1a9fde1e031ba9bfbf215a71ed7c3ae46c9328ddfccbf397a31e1d3efbe64bcf9bcbe872be91bf9e58c9e43034386349c3cdcb23211a7cefb59fbd823a98ff3a25b73ee52bf27cf52fff974469eb3e1fc6da9759dd6ec91326ed386d8579f893b2ffc396d79a5a92e53b516fd0f328289fb6f3fecf533b371b4fd8f3c80eaa581550053edb0afc2e96a48ffed32fbe34cf794b3d71ec065e7ef4a6279a531ec8033f49bc09feea3e1a584745d7d04d1566c2bf3e6bea51b4e9c9976eba91f0ce76e75ba3eb51c70797950a16d343c067e8b1b5b4cb21b9f3c6bffe2a5ca8a29fbf9870dab18b1ea9a7f0d48479b2d1d4a368d313042d74f299369f9a5f356fdc9b7a9668aa732d70eb2fa96ad47ee9911b894bd20ce2bc4aafc708971dbff902fd7927eddf4b3ffc8e79777eff2ea3c086074db6bf7821a10696de1090cf8df34c62cd4f276e841ad1cdd0de563ce76aeca13776c0d4a368e15096f398ecf2b1d74f93061e4f9f6a3d7d8af26b6a817ff3fe21f71739a1826bb62bb4c4cce2da75d1c2507fdbc1ddb104c30f5e7ec2f229379fb41b3edb6aea5134e7f8e0ba698a06ff81f683a61e458b9d3c13af2e995618a5c447243c13e7987762fb4eed1b5db2ce2dc3f5bfe1f6778e26fc5bde39b3aab2644a7608e90c77efdf1babf8723da6b5bc7c28bcea5af8f0e771bd3a6028c37c78c1f48fd718c73191bf3c941698676076c9cdf7de6bb642d8115d3125f1ac4c3fffc5730b70287ade3d98f858c7c8f9e6afa7591f872d5cb61c1796a9bfa5e999663c299ce6abcf7cf3550e3efa83f53f1f82f75577e7fd35e6131cd2e2c71a7fb4fb7ca67162ef9ee829ad2c8cd6dd31ef86beceb69347f6edc6f78c053e8f6afc752e9e5394f2792a4926c0843d8fdc81d556055481cfb002bf8b25e9bf6d7feefcdc2b470edaf9eee6e611cb1f1d4bbeb047ab4cf5701cd7b2500ce02530e93ed32901613934f9ea6ac838c543142aa025b7d22eab26f5c69f828f410ed119b91e39cdc44451cbede37349947cc4e732d14e1ea1f77a93594da15f1f31e4b667a9d2deef69530e2e332394519c47efa00d8fd09d3751d5d554b78eea6e7417d678519216944f9923d0a95309c7bca46e327134c8cf37c5da40efd9049d634a0dae93463bfa598982c46f6814175db3d8dcd5b46fe7be5134f9f0139b4ffcfca0bd228a1277cb31253897aa00bd5d1f261c8a8b716d2bdedd99ac7fdcf308374ca17922864cbc4f07fbe57a5876d6155cd49b759c4b6cb8b4dadf496489e7a303c7ce201f279d313a6bc9519e41bce5549c17c6893178b6a3adfb7cf2f3c959833d1d8e4b06f9f738c22523984f2227ceb7003d4d7c23f2707c382b94152ec6e9dd9a3826a0bdfa0c85f203f43791bce7438a7d1d3f72303ec392267eeefd183e7c9c719c43af6cedaa59b57441a4ac28bf34525d1a9933abe919fe9c8b8985662d12944f7ebe1128fde7e9c43e8f9c2cb553055481cfbc02bea5d3677e57a937f0e6cf7ef4666a0f9fd1e4fbdc0faf3583673a28c729ad7ec32fedab69d3cd8949adefe3439234e33ac21bf5a8fc5ceddc617aec286dde481bf0c1d073f4947878e29f3845f3abe8b63fa55d3f3631a235e6dae740b226f51eb7fdefd27db514eea64d8fb8d6a41dffe866c4ce280e66edd86cfe51156d7992ea22f4c5076897139ce3243761c207e5f3cd3bcce84ce7951375f1d7d7183355332ff8e13ca7e0a6f2865595b0dd25a9e7cb861297529d0acb1d3b52b3a460f0c0a1915acedcf512a28ec37e7735f9f013994f9609e66e4e01caa56a64ddef4771d8adaba7892d2d5931cf5c03edff7864b26b5fa7cf0cc4293ff7aa4511b22ffdb67fd45b5352547eed126ac5c71ef0c6b4f3d9dac1b87da59950a4e28e3bd39916a48f33189c0fd2f61c17678aa9df1220f91074bc82789e67c73fddd63db8b4223bd4dfd8d8988c9a78cc2cff9029ad063fe13ff922eb57ce4b9c6f017a26d618ecf8d7a6aed5f8c8734dfdfaf8e08b7b62093ea9a21caff6dff8ebcfc7db7b3ea4d8d7a916cf0d7ac955338a8349a75af6e01fce86150d372f8e14ce995f4bade6cf33affe41f944ea16c03fd5f3d4757e3a857c2a7f844bfb3c81af36554015f82d50c05b92fc166c6a12b6b0ec6efae66d54b382e6cfa481e3f4d57fa40dd712cda7f57f45d3bf4837d4f1fbe4ce55cc57e995e3b4ae8a363751e3cfa92787165c4ffdcdf455e73a6b682abdba99fe66a6f960e8c6efd1c77f9678a7db1b1f85ed862abae13e7a229fdecda1bb9c4aae692751f5a8edc985c9fd9be9f817a9aa8eb67f9f76bc4ee5515a5d4f7d8db4f1c951fe41c698717e48b4793d1dd843870f5317be78d2f908c1695c4d73daf16eaa9a45f8fe81ffb39f96ada5ecb7e86b01f93c73dcecabfe3efadeefd1f537d10c545cd6d55f8e66f5b1f6d3f19aa2fccaa5ebd75e1d2e8b14393727395ff134e214ca2bab5f534fe7bb9bf63865163e1379ba9f8a0ae6ded8d07bf4547ef9bcab43eddbf896fce2daaf342cc575aa79f983dbb96e48def5d23c5246389103f809cb2791697217d685285045d1956b43d7e276a342738d38d15098e6562c5953573dedaa59b34bf2708d74e4cbaabcfba2d8bf1fefaeaf2eaa6eb8e7cad6773a3f09155f559e3f14dbbab3f5f335cbf3672fbbbd3efc6e7768fea2eb50daf6bc77ec3c3ec6eabda68a957313777db9f5710ae5c07c9c94b3f32b705c4274f6cdddfbf84f37de49fac72bf0387ae39fdaf35ef7fceaa2c83d1bbf70a4e504e517cf827a83ad4fff32ce77ada5997faca678984a8ae6af5e37757efeec4841b6b392f99b2048cf0fcd199c954db13dcf34e7dd5b5759b670edbaf32fed6c337f4878f569a5215ffd6304fdad26e743d0beb6355bdec170cc38ff8fee6d98dfd7fec1898e8ede7394e77c39c3e0b9c41f977efa07e87c20e5f3d4737e4ed8f348be6a2358031d51055481cf8a02599761a25738cd4e8c192f6ffb4c2eaec20deceb4c3dda7984fef31f9ab5763c42073ea4d00cdc3741e14edaf203dcb044539db7a11fff436ac467f5705ffc46dab881164428d77965c025ceb8739973c75fd20ff08a12a2fbbe870b8ea679e3d38fe9b11d3410a686bbe9a18da6746bfe093d8e2f7572ae4b7d92bc86d5e78021a7dff86d732f3c6ec0dfb48936aea3b2101d8f39d17dbb0ce3bc7a8c3a8768499db99369d343b4e06a3ab9cfdce6cfed5bff93da074c418ca571bd843ff2ea9bcfaec7a83966c4a9afa719676947936f7223646bd3fe588ff9b05e656551ee40ace5bd7ea229d6691b37affc25e627836ae64592d35a9af6b5f5c6710bf9f2952b6b22a5b9d65f5e3c35cba984e1deb0666198e2b8abc9ae9952f03461f998c487ccd7ac3bedbc3933cc65bf53cd47dbfb28bba0b2bab230bbaff5702bf68bdbe0e164365a34bbbaa61af5e8605fc71b2f6f733e559a08e0da17d8d6dddbde68ed8a53b822ba70f1c29ad9a585b953b0ed03cf35b5f4c643a5d1c52b972f4489df133bb87537220d53dc5caa8b2391914ba6c3a5cbfcf5192b1fe7440f17e1b85446e7162572340f191dafe0e3e8137ff7b6a6133d03e1c2d94b57ae5cbab0ba343fabf7744fd0f10dccbfa5f1edf65ecacaada88c1484fa8ebdf646c72085a698ca34404f325fc1cad7f35a5ef9d91bb141caaa587acb1afca8aafff10ad23fe07c20f2dd9791d2bf651827d6d5ddf769615964e1623c5796474bf307cfb6ed6b4a9c59befafbe7e3795ea0aab59ea6092ccfbb897b1ef9aba0ac2af0dbaa40503974290ba489d3fa8a4f3f1d79fdf186955106763fec5caa02230d8c8dd9442f0da3717cb50c5e789d9e01b0dd400e0d0dd90c63767efbedb79f78e2096f9e93cee023a4d32b88da68fff1516badbe95a69da35df2febb3d5845b74609d7a03e6875cfb2bd1807c547c5ba619171f960c7c89d43dee93683942a72e9cce980ac6cd794d8370ebe85b46a8ed9d4e943f4ea6829100c538a73dda9fac60189eaddfe346d502ec5e5b8d582f02d89f939b1588c6a1a1eac8bf4c5de78d6f99ec8a049cc9747a285d3b2cff5b4c44e8d38164797440be3adfb125f0eb468c5aa69036d7b0fc4463c1c14c4239389cdc7b52e9bc81c5fa7daddeafe3dfbe2e2e2701817797b4f25bf6755a6bbf6253cde8d8de2d72eb369b0a73b3632ab385a833bbfc9258e352b01037570c653e4e30d3526e37bbc302b88f70d581c899616640ff69f6b6d8dc1617cf99b20d9831dad31d71f2ace8abe7afae642c1faa4abbfc475ed4bf84c817f9ce2f2685161364e92733e9bf6d5df370ec822bff31649bacfcf8bf23cca541cf557052e8902274f9e2c2828c097f9a2ac0c85425c5c3adfed4bc04809b5134a20b4fefefecd9b375f77dd757083037a579b32658a2f0f9279ee11d621129d98bc349b820190035cd133b67b21012ebc5da4925404457dc9ca32b0cb4dae44317a3996a417aeb44618970291ba8d0d35791d2762ed1ff5e5ce288d549699af6a6afadfa36ebf1857e4f14dbadcf219df2e74962a706915d0e7d1a5d55f57bfac14988c9214b529aa552e40057005ca26302a4b666c00cc2603ee21173cd1c374f562025c78b3ded1bce060c815a5a72b0cef4778d99ecb4d4d55c05781deae8edec168e96cfc73c6e3fd6dc7f02d35bebe1783bcdcf2b9187bd63554818956409f4713ada8c65305c656c05580b94c990f5ef04506135692620f5277f21ebc4cfa7b1345005cedda6baf7de79d77d20fa59e9f69054eb7ec7eae6537deb72fc23bd9837dadf67bf0976263975b3e9742035d5315b85005f47974a10aeafcdf49057081d35511c16425048c4318ef5c2f338eb0e39832012529a76ed7a3996e86fdd14bc34e18bbb6949393b37cf9722d495db2fcd69ba74ff97eaaef92edfb72cbe79209a10bab0217a0803e8f2e403c9dfabba840474707aa20d7cea558920a0a003edcbb9c53982e7f8e96c27f3286ec7b22c713ff42f6c01be608ae38ae54c473faf4e9f821e855ab56b91cd4540554015540155005540155e0b755015cf8dbb56b17aa20a98852ec542a2b764ee1690f799d398eed33a978fc574991a87d65349d2c656fbceda0e93c6af7123c3f3f7feedcb99878cd35d7bcf9e69bc78e1d932105aa802aa00aa802aa802aa00afc96298072a8adadeda5975eeaeded2d2f2f97ddd96512631972017b14d8353aa6398e2963c6f47518a3ac94aa9181ab1713000d37cb33408f5be985619e6fb4472ff7da33664fb9cb1ea460be1f9ffdc5195f8270e6cc99cece4e304c32406fafcba63000ae0639e0831e3c4b23c0572925550155401550055401554015185301a9e118c8edea305d4d3e1e2a37bf33c3267ab941beb4b4149748737373c108c9587afb4ba080b1160f491c990806a3768f21c98d7936b1591bb029bd0d802fb08dff2a699a0bf34e7cab3dd93c468125a0f002eca1a953a7e2c09494944825ea028886c6852c264a6dcabcf41802969e3dd16b53055401554015500554015560dc0aa0a4e3b95cdb482f558d00f6442f1521b06fe36a9243497089c3401266371915de06ae29f6d0a5c2e32949b10d2ee65227cdbbf5f5f41df2558749e97945980042ba0086b028481c54d4a3ec9c3a551e857f3a6eeaa30aa802aa802aa00aa802aa409002527830901ec0d51001b5074800d7906df2282f67f33c91797bd46680798a8b4ce11fe4e9cb4f20399e92349de5b1ff748a5191c996954919c2723603cc1527c7770dc1647fae47b94f2761f5510554015540155005540155e0c215e0520471a42661ecad58b81ee5de3bea8d63fb709e5ec65e572248023ccbd5db6eaea18b696656922269df429333e6d1201fd786bd26186e889684238c974ce18c21f8733dca9833d45e1550055401554015500554814955400a0f06d203785b8a7ad4ebcc0c27ef1a056933f606c1a7306588dd5cce32ca20f5a8cb395333b39234d3e8de0d6033dc24149bae4b9e184d3a8ef1c8574c6d279ecbf171a453d4d0928302554015500554015540155005264401d4241c8781f476adc238753d8a20de29be8ced294bc393b177941919bd4cc0c494a4d8b66fe567f32ca2b8b189deab140fd97c10035e2e85b20f7a4c6492256686b1abc71057b4cc4b6e2e3735550155401550055401554015485301bbf0100c90a2f9d6a6be247270c51186d39351e1c1f09030b629d806f6149b9f549c6e498ae432aad85cfe2e53b6041e8d4dc66c32062fa417e050714af61093f65d4d60d884b3009e881e73194b4a0a54015540155005540155401518b702282d782e03e91970a109070620b9b9cc249df8aa26315d0071981100535617cc8cf42ede658a5b10c8d43f288e8b4fb724754d0b3291a5abceb3f396514c0766933107645246d90ceae126e526fbb029d339261f6364857a14580b5096457b55401550055401554015980c055093705806d273ad829e2b13316de01a7299b6a70b634566eca56d12a36c8a033362daa34c5ee4fe824a526cc6aef05c26efcd76e0bdc1cdf604664f5f605cfd1a0e125ff2944161381a4c2c8d06375e170c004ce68101a4b701b036554015500554015540155005c6a1002a139ec5407a002e4500b8c14cc291472fe96546bc4723accb0403495e486118804fcd781d5cfe13688ebf2445965cd2f966c39b170776b649c698cbc0d563a28b818943e2e54172025ca1b20f18bb12c52c69709021c4042ff9bb4ce115a802aa802aa00aa802aa802a908e02a825c40d584c0054200ee1d361c81e65d366648e2f8915c5c106c2734a3cc424332e07216d8059b6397978fc25a92b27646c9777322abc0d18a34783a7f4029834c37e0dc7036b6104802b51f66293e7b20fdc5c05284fe454792e63cce221006daa802aa00aa802aa802aa00a8c4f01d4243c91010a12985ca8702f26866c1ed8c58829c0e56f0794b002ec5160f03ce4026c4a2f9ec25c1c30ce9214e94a2567272adb708db23f7a0632854d874ed4a68cd1c347308e044c2e1981b994b4010794f214a654a270c3446eec86b030817915c6f61476d35e1550055401554015500554814c15e0a205b3a498b1b1d43636c0149e0592317a76f00542da4118f35ac0b2280037db21c98d1ae259ae219841bcd7f34298314a522421155bd032413ec2331093f706931b874d5a238f5877c448221c036f3d2a0c87c244b80103a0f12863e9655176b34dc6daab02aa802aa00aa802aa802a300e0550b3f02c01309385ccc82348a92c6d6063f6f632235192a5a7cd004b02c233c399486f03716020415cbc6da6e363fba7c66394a4988cf550c9a58e1234cab962ba0461c6d5c37435a8cfb3c00b760198581715a70b6022930068f0e11ea11c22d1d93ce7cf6e8cb5570554015540155005540155601c0aa0deb067b1895e1a4619a3801192b1f45ee09ae29d2ba104f042aede36e109737ced42e6faae387649ea9a860cecd24dcc3101a78e5e00e2b0293dd682c47c5d534806e0e18f1e3e5c71b21bfbdb3ca7875178622e7a304c32e09e79f4d2d8474c05aa802aa00aa802aa802aa00a64aa00d71e328b4d2e66b8c71003ae5e8001d084646c33b68ff0ec2f3d78892ca48b6153fa3401dc6c4f3627bccfb824b533c0865d659c3002bcfe3c841e43e86de0c230a12f9640cf6528b04d228294a77c24b84ee545e18cc61118632e03f4f0e19e9dbda6f00a5401554015500554015540154853012e66c4994df4dcc027e1c8236a15340c31c00000f702d8db36198f44b190acc2c0d5c3b41be6b1294046bd8c0c4d38b8a09254b241c628efb807e902bc1fee79947b5f86e360084203a33100c324e6baca50f80809c0531898f956b349c6e8a5c151b002554015500554015540155005c6a100ca157b169ba688711a869270e4518a4b06e805c04930039e06cca1847445b64dc6e8052088602fe051e37d11dbc494a476c2d8865ddbb1293d3c31ca5b15d206c010977d18600aebce7305b3899e2b543131174d4c8cda0c6376808fb8d9c0a1b5530554015540155005540155206305b8c8c134018c617213934b1a90003cc4407a1b78b177a22bbe2c045e3003e901b8b14fd2ba048f1994a4c8d5aee45227cbce32c53681c564eceda13bd6020f108fc7198081c905a88d910927263d039bb787bca3bc17e1536f4d47550155401550055401554015085200450b0f31b04d60361970950967062019a4d37b67714c6f0f4f2619482f00a3c069b68c9cd38cc96e1994a4be71919954728219d83de6da2630330076c331e06820193340190a7f309c037cb8c104f0f64c0acf2031c7cf1f0eda54015540155005540155401598400550c3209aab87c90d435c7a0a00cf4c8a9e87c453002f24a3bc04f7de1cc0a4266d07c617a11f4f498a1d4acd974e8af0871ba630e0e98231042c26d484276a5030c01c9f97e321f472a194c37a7b5e0bbd0d80d9d3a1470a595e428288a9401550055401554015500554814c15e0924666498503e0c2ccd83d8a1c98dede45b20937f6141300eba2b74110960cd3011c241dcf71fb8ca724e5c5901c17790c5c3da7ce1521fc19b03f4c8ca23109208c009050591c80e542a90461e0ed1104cee05d0d3c330c5c3d4c6daa802aa00aa802aa802aa00a4c940252e120a0601b004b43a903372e317d7b26d93f084b3401bc344cd91463769051219991de06c093dac65f92a6931676882a903dedcd83f49ad0d7fed8287cc0d8abd81747c173640ec5052b6361d841866032238083332901ed1515ab02aa802aa00aa802aa802a9091025cde618a00c66c72fdc398eb1c60bbc464531806e819c82833e839388f020b80a73449801998dc6026e1a57f9c9892145be2c28ef706cc8cf4e2801d03a3318027ab89c21124b0003800f3a8ed065e48600ca17134f8b3891ed1180bb09d790af7e0798881f6aa802aa00aa802aa802aa00a5c88025ce77004c6d2db00d8db50e480e45e806d8a830b8833038c22016069b2236678d4eec1b38f00997211c00595a4c8588a3f6faef6a860d92a4fe43da3b71b8bc89e5c95c2198d190021318bcb5006dcc34d6a53c6e89d0089cf8fdaa17808bd34191546812aa00aa802aa802aa00aa802632a803ac4f661534800c602ecaa91317a8c726f03c118e251e91d22417264578f946c864d576fa7cd1853c4c73b3a194c5a2529d2e242cd0bec9c78d4ee5da36c22147cd060a21713188a82e4b7ef8d87d3c080974a91018a4e0c32468f0653481e121e0041d8b401309b2ec0a6f6aa802aa00aa802aa802aa00a64aa008a109e220026309b2ec0a6dda3e6119331a6033016203e0c6c1f616c1fc90124b0dd98b17b7b1458a67881cbf342ccb44ad23117408a5cf6b1279b92b74c870f48e6d1db2624e608e081515ca2e7898c25beb8818743281402038c9e6302a0f12863eee16c03367909ee316a9b8a550155401550055401554015c85401ae7364169bd2db00984dd43c8ca5670641c030965e9c01b8890f4f072971384290c93cfb48c25ed31e9a3c7ca1252936c3959c006fae3cc4db86b36dc219c271f9089e4df661ccd1d8019e3079140cfcd1f3ea76610a068d57617f66d0b3e9ea61726387a4a58faa802aa00aa802aa802aa00a64ac00d733328d4d570f931bdc9230f1c805a5f06c720f0f1b008b690f71207b88a3494c3101bc0dd39914e0f5990ce6424b52574ec85eca41d989cd30e62171e059d08e4b4c0084b5cb5098980806a5a794a11256182e4cc1bb1a4f07c9c0d5c3e4c60e494b1f550155401550055401554015c85801296f78a65df308b601b0dd308b4dbba664cc059260710040e38902ec988cd9c1ee7d79385c929671498aec53976eec60f7b231de39a6f32854e36a92e5037601780ac9b3d8140cc098017a382038561406404c06d2dbc085616a530554015540155005540155205305b80ee1598219486f036036310585109b766f938219b87a3101100d4104b0290bd9e931e91a6207bb1fd3c1761e07ceb82495359019577bcc70a23663f38c312afb81465c3e0ae021981c8479ee5d1747e180c609304628061c042656640c1e984719480f9002f3a8f6aa802aa00aa802aa802aa00aa4a900d71eececc5cca017209e28788079083d4cc136609e9d05b3833d05a1d814c03ef6126060ba9ab809efeb26a31308c65f924a12c895cb3e9b610c9e77c2c065ca2619403b2e25b9000506c391d1db18a6ab710e42b2891c98612029d9a60bb38ff6aa802aa00aa802aa802aa00a5ca00252e7200e6361c4b401f0988d0b4d76130c60636f104e00bc9d8998ecefda2c8fbac84935d32d499119ca3b4e45b00b70f6b61bfc61824763e032392074e462d406180289891c041361caa74581c148131f61008464e0eac504d0a60aa802aa802aa00aa802aac06428c0950c223370f56202d88dfd85918a13bc6000366d86a708035342317099ec00d2c50be302ecc6e4c4f6e996a4e9af8abd7139684fb1378c5128c535a8f8086303cc821b182e34d9c4140034265d3d46c1a0e7f83c2a240f712f240037e193843eaa02aa802aa00aa802aa802a9099022851ec09623270f56ca2d4c1141902f0367680a73d649b82058827189e2e8c9d21630c79c98bc98cb32445de5cc00990fdd83c6f0f8c6b9f5e06d3a117d79100700096e98c79167a3461309119578feba99c92f0ec2924039b1446812aa00aa802aa802aa00aa80217a8805dfc0866809e9b2c9124463d6214367a5795290cd79af6a88d2516c7119363b2294bd800d836d99fc9c9ebc759927a1342ba28fe6403c0ccf036d8f4ce7231d091ab52f0c098c53d879232548203d818b398e19e4d498cd7c25010605e7b5540155005540155401550052e5c012e8110c70b84e421f4d27808a6001962d2b7e8649f1443ae206cda69707061002e72cba02445ae52cf6594256f92e77210d9b6370ed7a0527d72852a4bdb4118a3978668c0dc0bb049c13600d6a60aa802aa802aa00aa802aac0242920650f03dfde45c2e486945c80eb4ee6058f598cb23f6f5002b299518fb919f9a7ef9c41491a1414c971fd670338831486e7b2297d5040f05c980ae0f8726f134c6e707001984ca267c00c63e96d00cc4d3c93843eaa02aa802aa00aa802aa802a909902a8735c138461609b36c62c98dc040b488ef85f3d95515fc041a407e00667009e62334c3273d1faf197a4d880d4703676a5ce43e8c1c39f810bbba6c0e459f62552cc45932136d1b327076407e9ed51598247d95f480632e4e2d5540554015540155005540155204d05a4d4117f6104f0109be80580f7356d92b14c910ba5c2bb80c49429022443176007266dec729b5833b3921469a5aedbc48137c0ce4c0ac300dbc0a860d9151854a23cc4d74aed20c062720466d063220f09cf3199949e57647f5954812aa00aa802aa802aa00aa80293a780143c0cec1e8bc26486b1302e9e4df6142c26aa26d7441962671995556cc626817d1b07f41dba7072a48c4b3396947dec6f9b826d60634c81c90c03176652dcbca33ce4727099320b3c376680bd4342265cf5411550055401554015500554818950c055c04981c8b1ed517b08989bb88909003231ec3cd8a68ded292ecc6ee8196054b00bb00393de219b9f109c71498a55a5c2e30cc41460fb80149e81438cdc843426693bc85c5ec21eb293115e3261867da4f7256554812aa00aa802aa802aa00aa80217a880d47c761c26837a786248461908e98c8caa4ded21c1025c715cd1e0c69e0c6c2c9e3ce432c57fa240666fdca75e15b9fa16792e9eb7044fd99b600158c88b390e781e452fa198e129f644f1b467092909801192b1f6aa802aa00aa802aa802aa00a8c43015775c111846460f7b284900264ae300cc00370f3c5412407e451c136404cdbbc98d8bf884c9d019777b68fcd087601afc98cf40082119c4d2fc3ebf2a8b849322e7f76905101ec2626035fd2e5a3a62aa00aa802aa802aa00aa8022914f0adea52903c64f71c1c8c900cc03b5ce212a998e29682e121f402ec9836efc5410cf313d58fa724c5daaeea2dc8149e81d7b41960366dc06b096f9b2c81d7997919e5294272287b548614a802aa802aa00aa802aa802a30b10a48e587b05e6c33e2c0247a069c8f984ca6306588038abfc491857c81edc6d8761366c2c1384b52e461d7762ed31e12ccc0d7942100c1125318065e1e8c8b14d306c6c9691227498cc1bbdcd45405540155401550055401552048012e01bda35e5e1817f0356d92b16f0fd297e77cec21306cda435eec726387c9e827ac24457276a9e78b9994211bd843c02e9377eee26545db593462527c6cc03ee2205314a802aa802aa00aa802aa802a30e10ad8951f828be905bc34f3762fb340326f338c9997dee5e6f217132005f68e323319fd44dede64e70721a4e6132ceaf0908b07290e7628c63cca5364220ff12c594e803d2a411848ef72165e812aa00aa802aa802aa00aa80217a880b7b0f1325882491912e01a12def6176c8fda98b7004648092b430c2e6d3f52388e230f6f3de7626cd385c57401db64ec6538559b0723a66bd435e4726367ed550155401550055401554015986c05d22c0ad94d9c05203d60311938c4a8ef167539b866b1293b1567665ca6cb59664d06b8a0921409792b3c17639b5e2c8c0d04737c365da47769979bedef122e682888774d57531550055401554015500554812005bc551d7b06f11895210662da136d52dc5ca4982e20a6bd960b7b4d5f06e424b50b2d499196b79273314126f3322a8063ba4c59c8cbcb1080347113e01d1246812aa00aa802aa802aa00aa80293aa805d17f242c208900484118021c6762f71bc6e2e7f3179ca98a6d741264e12f8ffba3514d26992f3fa0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You may also be interested in {\field{\*\fldinst{HYPERLINK "http://brunch.io/"}}{\fldrslt{\ul
+Brunch
+}}}
+, a similar project which uses skeleton boilerplates to generate new applications.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Backbone DevTools\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When building an application with Backbone, there\u8217's some additional tooling available for your day-to-day debugging workflow.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone DevTools was created to help with this and is a Chrome DevTools extension allowing you to inspect events, syncs, View-DOM bindings and what objects have been instantiated.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A useful View hierarchy is displayed in the Elements panel. Also, when you inspect a DOM element the closest View will be exposed via $view in the console.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\jpegblip ffd8ffe000104a46494600010101004800480000ffdb0043000303030303030303030304030303050605030305060706060606060709070707070707090809090a0909080c0c0d0d0c0c111111111112121212121212121212ffdb0043010404040706070e09090e110e0b0e1114131313131414121212121212121212121212121212121212121212121212121212121212121212121212121212121212ffc0001108028b048e03011100021101031101ffc4001d000100020203010100000000000000000000010205060304070809ffc400631000010204030306070a0908080600020b0102110003042105123106415113142232617107165291a1d3f01542535556819295b1d123335462637294d4e1173574a4b2b3c1d2082434647382a2f1254375b4c2c34484f2263637384576832793b5ffc4001b01010003010101010000000000000000000001020304050607ffc4004a11010001020402070407070302040505010001021103122131415104132232617181425291a1051462b1c1d1f006152353728292a2e1f133b2244373833463b3c2d207546493a3a4ffda000c03010002110311003f00fd1a2eeec74716767f26dac03282ea29e374eefd5b5c98087568cc3771bbe96eb71f6708dd7eb0074dd7dd6d6f017198024393f67a2e6028d7d129dce3fc2dac0496d42036e0cfb8e8c0de0274b311ab35f8dd3637e301501b706d580ec6716d4bfb6f096019ba2dbd3bb5d2c7a5010a04dae2d76bdbf36d730129e8a8b8b6ff004dc5b5e3000fd260ab5dd3a7cd6d4c03824803b87a438d60248c9d54e52da0b81ae96eb4045ca83b01776e37d3b78c01b462d676edf31bef8095be845869e9b8b1bfb778406d183e819adb8b5ae601c7a2ccec536e3d5b6b002eaddfc0bea9e8ebc600c3781a1bb717eaf6c01981d48008ca3777747ad014292c546e4f0f9faa5b580b93d116e92756fb45b5ec8092eeec74716767f26dac03282ea29e374eefd5b5c98087568cc3771bbe96eb71f6708dd7eb0074dd7dd6d6f017198024393f67a2e6028d7d129dce3fc2dac0496d42036e0cfb8e8c0de0274b311ab35f8dd3637e301501b706d580ec6716d4bfb6f096019ba2dbd3bb5d2c7a5010a04dae2d76bdbf36d730129e8a8b8b6ff4dc5b5e3000fd260ab5dd3a7cd6d4c03824803b87a438d60248c9d54e52da0b81ae96eb4045ca83b01776e37d3b78c01b462d676edf31bef8095be845869e9b8b1bfb778406d183e819adb8b5ae601c7a2ccec536e3d5b6b002eaddfc0bea9e8ebc600c3781a1bb717eaf6c01981d48008ca3777747ad014292c546e4f0f9faa5b580b93d116e92756fb45b5ec8092eeec74716767f26dac03282ea29e374eefd5b5c98087568cc3771bbe96eb71f6708dd7eb0074dd7dd6d6f017198024393f67a2e6028d7d129dce3fc2dac0496d42036e0cfb8e8c0de0274b311ab35f8dd3637e301501b706d580ec6716d4bfb6f096019ba2dbd3bb5d2c7a5010a04dae2d76bdbf36d730129e8a8b8b6ff004dc5b5e3000fd260ab5dd3a7cd6d4c03824803b87a438d60248c9d54e52da0b81ae96eb4045ca83b01776e37d3b78c01b462d676edf31bef8095be845869e9b8b1bfb778406d183e819adb8b5ae601c7a2ccec536e3d5b6b002eaddfc0bea9e8ebc600c3781a1bb717eaf6c01981d48008ca3777747ad014292c546e4f0f9faa5b580b93d116e92756fb45b5ec8092eeec74716767f26dac03282ea29e374eefd5b5c98087568cc3771bbe96eb71f6708dd7eb0074dd7dd6d6f017198024393f67a2e6028d7d129dce3fc2dac0496d42036e0cfb8e8c0de0274b311ab35f8dd3637e301501b706d580ec6716d4bfb6f096019ba2dbd3bb5d2c7a5010a04dae2d76bdbf36d730129e8a8b8b6ff4dc5b5e3000fd260ab5dd3a7cd6d4c03824803b87a438d60248c9d54e52da0b81ae96eb4045ca83b01776e37d3b78c01b462d676edf31bef8095be845869e9b8b1bfb778406d183e819adb8b5ae601c7a2ccec536e3d5b6b002eaddfc0bea9e8ebc600c3781a1bb717eaf6c01981d48008ca3777747ad014292c546e4f0f9faa5b580b93d116e92756fb45b5ec8092eeec74716767f26dac03282ea29e374eefd5b5c98087568cc3771bbe96eb71f6708dd7eb0074dd7dd6d6f017198024393f67a2e6028d7d129dce3fc2dac0496d42036e0cfb8e8c0de0274b311ab35f8dd3637e301501b706d580ec6716d4bfb6f096019ba2dbd3bb5d2c7a5010a04dae2d76bdbf36d730129e8a8b8b6ff004dc5b5e3000fd260ab5dd3a7cd6d4c03824803b87a438d60248c9d54e52da0b81ae96eb4045ca83b01776e37d3b78c01b462d676edf31bef8095be845869e9b8b1bfb778406d183e819adb8b5ae601c7a2ccec536e3d5b6b002eaddfc0bea9e8ebc600c3781a1bb717eaf6c01981d48008ca3777747ad014292c546e4f0f9faa5b580b93d116e92756fb45b5ec8092eeec74716767f26dac03282ea29e374eefd5b5c98087568cc3771bbe96eb71f6708dd7eb0074dd7dd6d6f017198024393f67a2e6028d7d129dce3fc2dac0496d42036e0cfb8e8c0de0274b311ab35f8dd3637e301501b706d580ec6716d4bfb6f096019ba2dbd3bb5d2c7a5010a04dae2d76bdbf36d730129e8a8b8b6ff4dc5b5e3000fd260ab5dd3a7cd6d4c03824803b87a438d60248c9d54e52da0b81ae96eb4045ca83b01776e37d3b78c01b462d676edf31bef8095be845869e9b8b1bfb778514c12ab24962dd9c776b01aeed76338851d552d151d44ca5419226ad72ce551254a4b38bfbd80ce6018954e278309b56be527489ea94669d540242813f4a03985efbc5f3003fe9b6b0172e59c8e36bb7eadb580adacc3a2342069ae96378097201ca19b727cee3a3ade023aa4b0eaf93ff00c6ccfd9012cae97bd625d871de9b6b0062059814dd80f48b366809200b164b689176fd5b75a02a74653f4bb19b5d2c7a57f6de12a0c199f2e8187fd36d4c0468961a83701eddd6d601d562fa5c376bdc3837f6ef0a925f7b6a520687f36daf180b870e01005cd9b7f0b5cc045bfe62094e51e723f3a02580f7a3b0368e59c747580127df0b0d0ebaf93d1b9808e9300dd56d03fce2dac04e520df7700edda0b758c04849be96d14373f0b6a60219cd8f1ccc93c0e9f9d7f6de0172561c1dedfe01b5e3ece10c1ee001c5238f061ac01aeaec7205fd16d7dbbc04f4728d068b1c7f3586a60205efbc5f3003fe9b6b0172e59c8e36bb7eadb580adacc3a2342069ae96378097201ca19b727cee3a3ade023aa4b0eaf93ffc6ccfd9012cae97bd625d871de9b6b0062059814dd80f48b366809200b164b689176fd5b75a02a74653f4bb19b5d2c7a57f6de12a0c199f2e8187fd36d4c0468961a83701eddd6d601d562fa5c376bdc3837f6ef0a925f7b6a520687f36daf180b870e01005cd9b7f0b5cc045bfe62094e51e723f3a02580f7a3b0368e59c747580127df0b0d0ebaf93d1b9808e9300dd56d03fce2dac04e520df7700edda0b758c04849be96d14373f0b6a60219cd8f1ccc93c0e9f9d7f6de0172561c1dedfe01b5e3ece10c1ee001c5238f061ac01aeaec7205fd16d7dbbc04f4728d068b1c7f3586a60205efbc5f3003fe9b6b0172e59c8e36bb7eadb580adacc3a2342069ae96378097201ca19b727cee3a3ade023aa4b0eaf93ff00c6ccfd9012cae97bd625d871de9b6b0062059814dd80f48b366809200b164b689176fd5b75a02a74653f4bb19b5d2c7a57f6de12a0c199f2e8187fd36d4c0468961a83701eddd6d601d562fa5c376bdc3837f6ef0a925f7b6a520687f36daf180b870e01005cd9b7f0b5cc045bfe62094e51e723f3a02580f7a3b0368e59c747580127df0b0d0ebaf93d1b9808e9300dd56d03fce2dac04e520df7700edda0b758c04849be96d14373f0b6a60219cd8f1ccc93c0e9f9d7f6de0172561c1dedfe01b5e3ece10c1ee001c5238f061ac01aeaec7205fd16d7dbbc04f4728d068b1c7f3586a60205efbc5f3003fe9b6b0172e59c8e36bb7eadb580adacc3a2342069ae96378097201ca19b727cee3a3ade023aa4b0eaf93ffc6ccfd9012cae97bd625d871de9b6b0062059814dd80f48b366809200b164b689176fd5b75a02a74653f4bb19b5d2c7a57f6de12a0c199f2e8187fd36d4c0468961a83701eddd6d601d562fa5c376bdc3837f6ef0a925f7b6a520687f36daf180b870e01005cd9b7f0b5cc045bfe62094e51e723f3a02580f7a3b0368e59c747580127df0b0d0ebaf93d1b9808e9300dd56d03fce2dac04e520df7700edda0b758c04849be96d14373f0b6a60219cd8f1ccc93c0e9f9d7f6de0172561c1dedfe01b5e3ece10c1ee001c5238f061ac01aeaec7205fd16d7dbbc04f4728d068b1c7f3586a60205efbc5f3003fe9b6b0172e59c8e36bb7eadb580adacc3a2342069ae96378097201ca19b727cee3a3ade023aa4b0eaf93ff00c6ccfd9012cae97bd625d871de9b6b0062059814dd80f48b366809200b164b689176fd5b75a02a74653f4bb19b5d2c7a57f6de12a0c199f2e8187fd36d4c0468961a83701eddd6d601d562fa5c376bdc3837f6ef0a925f7b6a520687f36daf180b870e01005cd9b7f0b5cc045bfe62094e51e723f3a02580f7a3b0368e59c747580127df0b0d0ebaf93d1b9808e9300dd56d03fce2dac04e520df7700edda0b758c04849be96d14373f0b6a60219cd8f1ccc93c0e9f9d7f6de0172561c1dedfe01b5e3ece10c1ee001c5238f061ac01aeaec7205fd16d7dbbc04f4728d068b1c7f3586a60205efbc5f3003fe9b6b0172e59c8e36bb7eadb580adacc3a2342069ae96378097201ca19b727cee3a3ade023aa4b0eaf93ffc6ccfd9012cae97bd625d871de9b6b0062059814dd80f48b366809200b164b689176fd5b75a02a74653f4bb19b5d2c7a57f6de12a0c199f2e8187fd36d4c0468961a83701eddd6d601d562fa5c376bdc3837f6ef0a925f7b6a520687f36daf180b870e01005cd9b7f0b5cc045bfe62094e51e723f3a02580f7a3b0368e59c747580127df0b0d0ebaf93d1b9808e9300dd56d03fce2dac042d24053b581ee1adc16d4ef80d1f6dff009de9bfa223fbc9901b16c7ff0031cffe9aafee9101973ef811a6a07da2dadfdb78481c52599c11b89d32db58035956722d606dae96d6028036a3a274501e62036b0166297b9007929d7b9c6b010500b2729b0259bfb36b98092e06997b06efd5b1b9809395c82963d9ff00c6c5cc01432e6395c962c077e840d60232d88cba7a3b536d78c0491c5dfdf650eddc5b58065e1de34d0bdc7475bc045c0b8d356dc4bdd36d6fedbc07536e96ae9ff0f9e0248e1d1f2bbcf9367780aad2e58259b4481bb882dac0087bb3286a18b8ed072f5a02dbef98b6f0347e1d1d60212866212ce1dc6ed7ab6d78c037170e12d617f35b57d60272850394585cb5fcd6d4c041eb1b1001d40e3e486d78c05b290fd1091c07f85b53edda15cbaeae3736ef293d1d6024823835ee35bbb10c358083ef811a6a07da2dadfdb78481c52599c11b89d32db58035956722d606dae96d6028036a3a274501e62036b0166297b9007929d7b9c6b010500b2729b0259bfb36b98092e06997b06efd5b1b9809395c82963d9ffc6c5cc01432e6395c962c077e840d60232d88cba7a3b536d78c0491c5dfdf650eddc5b58065e1de34d0bdc7475bc045c0b8d356dc4bdd36d6fedbc07536e96ae9ff000f9e0248e1d1f2bbcf9367780aad2e58259b4481bb882dac0087bb3286a18b8ed072f5a02dbef98b6f0347e1d1d60212866212ce1dc6ed7ab6d78c037170e12d617f35b57d60272850394585cb5fcd6d4c041eb1b1001d40e3e486d78c05b290fd1091c07f85b53edda15cbaeae3736ef293d1d6024823835ee35bbb10c358083ef811a6a07da2dadfdb78481c52599c11b89d32db58035956722d606dae96d6028036a3a274501e62036b0166297b9007929d7b9c6b010500b2729b0259bfb36b98092e06997b06efd5b1b9809395c82963d9ff00c6c5cc01432e6395c962c077e840d60232d88cba7a3b536d78c0491c5dfdf650eddc5b58065e1de34d0bdc7475bc045c0b8d356dc4bdd36d6fedbc07536e96ae9ff0f9e0248e1d1f2bbcf9367780aad2e58259b4481bb882dac0087bb3286a18b8ed072f5a02dbef98b6f0347e1d1d60212866212ce1dc6ed7ab6d78c037170e12d617f35b57d60272850394585cb5fcd6d4c041eb1b1001d40e3e486d78c05b290fd1091c07f85b53edda15cbaeae3736ef293d1d6024823835ee35bbb10c358083ef811a6a07da2dadfdb78481c52599c11b89d32db58035956722d606dae96d6028036a3a274501e62036b0166297b9007929d7b9c6b010500b2729b0259bfb36b98092e06997b06efd5b1b9809395c82963d9ffc6c5cc01432e6395c962c077e840d60232d88cba7a3b536d78c0491c5dfdf650eddc5b58065e1de34d0bdc7475bc045c0b8d356dc4bdd36d6fedbc07536e96ae9ff000f9e0248e1d1f2bbcf9367780aad2e58259b4481bb882dac0087bb3286a18b8ed072f5a02dbef98b6f0347e1d1d60212866212ce1dc6ed7ab6d78c037170e12d617f35b57d60272850394585cb5fcd6d4c041eb1b1001d40e3e486d78c05b290fd1091c07f85b53edda15cbaeae3736ef293d1d6024823835ee35bbb10c358083ef811a6a07da2dadfdb78481c52599c11b89d32db58035956722d606dae96d6028036a3a274501e62036b0166297b9007929d7b9c6b010500b2729b0259bfb36b98092e06997b06efd5b1b9809395c82963d9ff00c6c5cc01432e6395c962c077e840d60232d88cba7a3b536d78c0491c5dfdf650eddc5b58065e1de34d0bdc7475bc045c0b8d356dc4bdd36d6fedbc07536e96ae9ff0f9e0248e1d1f2bbcf9367780aad2e58259b4481bb882dac0087bb3286a18b8ed072f5a02dbef98b6f0347e1d1d60212866212ce1dc6ed7ab6d78c037170e12d617f35b57d60272850394585cb5fcd6d4c041eb1b1001d40e3e486d78c05b290fd1091c07f85b53edda15cbaeae3736ef293d1d6024823835ee35bbb10c358083ef811a6a07da2dadfdb78481c52599c11b89d32db58035956722d606dae96d6028036a3a274501e62036b0166297b9007929d7b9c6b010500b2729b0259bfb36b98092e06997b06efd5b1b9809395c82963d9ffc6c5cc01432e6395c962c077e840d60232d88cba7a3b536d78c0491c5dfdf650eddc5b58065e1de34d0bdc7475bc045c0b8d356dc4bdd36d6fedbc07536e96ae9ff000f9e0248e1d1f2bbcf9367780aad2e58259b4481bb882dac0087bb3286a18b8ed072f5a02dbef98b6f0347e1d1d602991904e5d52e4f0d74b6bc60348db7fe77a6fe888fef26406c5b1ffcc73ffa6abfba440661ecca1de407677d0b6b7f6de0c8d6b8d4333b0e29b6b01010a396d95bdf0dde8b98082092a70437017bf0b6bc7d9c2ce06660a1c1291a775b580382ee9ba83d85ff00e5b5cc057505ca757200e3e4dbad003a358a48dc3fb3d1b980b646d7a2e0bb76f0b173015ca06a6e905b2fa18b6b0136197a0e13a3379c5b5802937dce6e400fc5ca4e5d7dbbc0014b70dec01e23a36b980305976525add11a3ded6d6f7806536600d88b0b37116d60052a4a343fabab777475300cacee0bf16dd7eadb5e301399f716372e3fb36d60209b82193bec1f8f56dade01c4f45eed947d96373be01973125bbc81f638d60053a39d03102ff45d3ac003066b948ec604ef4db5f6ef000e92908ca06bfc3a3af1808cbbecd72328f480dafb77859ecca1de407677d0b6b7f6de0c8d6b8d4333b0e29b6b01010a396d95bdf0dde8b98082092a70437017bf0b6bc7d9c2ce06660a1c1291a775b580382ee9ba83d85ffe5b5cc057505ca757200e3e4dbad003a358a48dc3fb3d1b980b646d7a2e0bb76f0b173015ca06a6e905b2fa18b6b0136197a0e13a3379c5b5802937dce6e400fc5ca4e5d7dbbc0014b70dec01e23a36b980305976525add11a3ded6d6f7806536600d88b0b37116d60052a4a343fabab777475300cacee0bf16dd7eadb5e301399f716372e3fb36d60209b82193bec1f8f56dade01c4f45eed947d96373be01973125bbc81f638d60053a39d03102ff0045d3ac003066b948ec604ef4db5f6ef000e92908ca06bfc3a3af1808cbbecd72328f480dafb77859ecca1de407677d0b6b7f6de0c8d6b8d4333b0e29b6b01010a396d95bdf0dde8b98082092a70437017bf0b6bc7d9c2ce06660a1c1291a775b580382ee9ba83d85ff00e5b5cc057505ca757200e3e4dbad003a358a48dc3fb3d1b980b646d7a2e0bb76f0b173015ca06a6e905b2fa18b6b0136197a0e13a3379c5b5802937dce6e400fc5ca4e5d7dbbc0014b70dec01e23a36b980305976525add11a3ded6d6f7806536600d88b0b37116d60052a4a343fabab777475300cacee0bf16dd7eadb5e301399f716372e3fb36d60209b82193bec1f8f56dade01c4f45eed947d96373be01973125bbc81f638d60053a39d03102ff45d3ac003066b948ec604ef4db5f6ef000e92908ca06bfc3a3af1808cbbecd72328f480dafb77859ecca1de407677d0b6b7f6de0c8d6b8d4333b0e29b6b01010a396d95bdf0dde8b98082092a70437017bf0b6bc7d9c2ce06660a1c1291a775b580382ee9ba83d85ffe5b5cc057505ca757200e3e4dbad003a358a48dc3fb3d1b980b646d7a2e0bb76f0b173015ca06a6e905b2fa18b6b0136197a0e13a3379c5b5802937dce6e400fc5ca4e5d7dbbc0014b70dec01e23a36b980305976525add11a3ded6d6f7806536600d88b0b37116d60052a4a343fabab777475300cacee0bf16dd7eadb5e301399f716372e3fb36d60209b82193bec1f8f56dade01c4f45eed947d96373be01973125bbc81f638d60053a39d03102ff0045d3ac003066b948ec604ef4db5f6ef000e92908ca06bfc3a3af1808cbbecd72328f480dafb77859ecca1de407677d0b6b7f6de0c8d6b8d4333b0e29b6b01010a396d95bdf0dde8b98082092a70437017bf0b6bc7d9c2ce06660a1c1291a775b580382ee9ba83d85ff00e5b5cc057505ca757200e3e4dbad003a358a48dc3fb3d1b980b646d7a2e0bb76f0b173015ca06a6e905b2fa18b6b0136197a0e13a3379c5b5802937dce6e400fc5ca4e5d7dbbc0014b70dec01e23a36b980305976525add11a3ded6d6f7806536600d88b0b37116d60052a4a343fabab777475300cacee0bf16dd7eadb5e301399f716372e3fb36d60209b82193bec1f8f56dade01c4f45eed947d96373be01973125bbc81f638d60053a39d03102ff45d3ac003066b948ec604ef4db5f6ef000e92908ca06bfc3a3af1808cbbecd72328f480dafb77859ecca1de407677d0b6b7f6de0c8d6b8d4333b0e29b6b01010a396d95bdf0dde8b98082092a70437017bf0b6bc7d9c2ce06660a1c1291a775b580382ee9ba83d85ffe5b5cc057505ca757200e3e4dbad003a358a48dc3fb3d1b980b646d7a2e0bb76f0b173015ca06a6e905b2fa18b6b0136197a0e13a3379c5b5802937dce6e400fc5ca4e5d7dbbc0014b70dec01e23a36b980305976525add11a3ded6d6f7806536600d88b0b37116d60052a4a343fabab777475300cacee0bf16dd7eadb5e301399f716372e3fb36d602932e0b048b3f66feadb5bde0348db7fe77a6fe888fef26406c5b1ffcc73ffa6abfba44065c0cd6503af0ecdd6d600c3368ca53e82dbdc871ac000caa16601fe6d74b17301248195fac937e8fd963d280af459360083767b1e29b1bf180b062ea663aba43f99c6a5e0259add57bdaf7bdd36d602aa00fe6bea079dc5b5808705bb346bb7eadaea80024336a4bb81c5fab6d7dbbc2c5394300edb80e3a1d35e3010dd120025c3b0dddcc3ad011b87448e3940f38e8dcc058a4313975736d433dc5b58086040205aed67b5f4b6bedde161a5ec03e602fafcdd680a3870e03026e01b706b75a01d1ba58339d1d8768e8eb01729d581603300ccdfaac358071dfbec34dce9b5cc071d925eee778ff000b173013c1b4170903ecfcee30161d2b9f784eed1f858f49e021afa10dbc0fecdb530107ace51a8fd6f9c38d60240cd6503af0ecdd6d600c3368ca53e82dbdc871ac000caa16601fe6d74b17301248195fac937e8fd963d280af459360083767b1e29b1bf180b062ea663aba43f99c6a5e0259add57bdaf7bdd36d602aa00fe6bea079dc5b5808705bb346bb7eadaea80024336a4bb81c5fab6d7dbbc2c5394300edb80e3a1d35e3010dd120025c3b0dddcc3ad011b87448e3940f38e8dcc058a4313975736d433dc5b58086040205aed67b5f4b6bedde161a5ec03e602fafcdd680a3870e03026e01b706b75a01d1ba58339d1d8768e8eb01729d581603300ccdfaac358071dfbec34dce9b5cc071d925eee778ff000b173013c1b4170903ecfcee30161d2b9f784eed1f858f49e021afa10dbc0fecdb530107ace51a8fd6f9c38d60240cd6503af0ecdd6d600c3368ca53e82dbdc871ac000caa16601fe6d74b17301248195fac937e8fd963d280af459360083767b1e29b1bf180b062ea663aba43f99c6a5e0259add57bdaf7bdd36d602aa00fe6bea079dc5b5808705bb346bb7eadaea80024336a4bb81c5fab6d7dbbc2c5394300edb80e3a1d35e3010dd120025c3b0dddcc3ad011b87448e3940f38e8dcc058a4313975736d433dc5b58086040205aed67b5f4b6bedde161a5ec03e602fafcdd680a3870e03026e01b706b75a01d1ba58339d1d8768e8eb01729d581603300ccdfaac358071dfbec34dce9b5cc071d925eee778ff000b173013c1b4170903ecfcee30161d2b9f784eed1f858f49e021afa10dbc0fecdb530107ace51a8fd6f9c38d60240cd6503af0ecdd6d600c3368ca53e82dbdc871ac000caa16601fe6d74b17301248195fac937e8fd963d280af459360083767b1e29b1bf180b062ea663aba43f99c6a5e0259add57bdaf7bdd36d602aa00fe6bea079dc5b5808705bb346bb7eadaea80024336a4bb81c5fab6d7dbbc2c5394300edb80e3a1d35e3010dd120025c3b0dddcc3ad011b87448e3940f38e8dcc058a4313975736d433dc5b58086040205aed67b5f4b6bedde161a5ec03e602fafcdd680a3870e03026e01b706b75a01d1ba58339d1d8768e8eb01729d581603300ccdfaac358071dfbec34dce9b5cc071d925eee778ff000b173013c1b4170903ecfcee30161d2b9f784eed1f858f49e021afa10dbc0fecdb530107ace51a8fd6f9c38d60240cd6503af0ecdd6d600c3368ca53e82dbdc871ac000caa16601fe6d74b17301248195fac937e8fd963d280af459360083767b1e29b1bf180b062ea663aba43f99c6a5e0259add57bdaf7bdd36d602aa00fe6bea079dc5b5808705bb346bb7eadaea80024336a4bb81c5fab6d7dbbc2c5394300edb80e3a1d35e3010dd120025c3b0dddcc3ad011b87448e3940f38e8dcc058a4313975736d433dc5b58086040205aed67b5f4b6bedde161a5ec03e602fafcdd680a3870e03026e01b706b75a01d1ba58339d1d8768e8eb01729d581603300ccdfaac358071dfbec34dce9b5cc071d925eee778ff000b173013c1b4170903ecfcee30161d2b9f784eed1f858f49e021afa10dbc0fecdb530107ace51a8fd6f9c38d60240cd6503af0ecdd6d600c3368ca53e82dbdc871ac000caa16601fe6d74b17301248195fac937e8fd963d280af459360083767b1e29b1bf180b062ea663aba43f99c6a5e0259add57bdaf7bdd36d602aa00fe6bea079dc5b5808705bb346bb7eadaea80024336a4bb81c5fab6d7dbbc2c5394300edb80e3a1d35e3010dd120025c3b0dddcc3ad011b87448e3940f38e8dcc058a4313975736d433dc5b58086040205aed67b5f4b6bedde161a5ec03e602fafcdd680a3870e03026e01b706b75a01d1ba58339d1d8768e8eb0165a432ad6ca54da33f061af180d176dff9de9bfa223fbc9901b16c7ff31cff00e9aafee91019822f97aa06b943ee3a5bac600cd99d2df9ad6dfd5b6bc602aed7072bea9e1fabd1d602cc426f7ec48efd2ccfc600dbef70741c5f4e8eb00090da0b82c00fb2da980ab81de0ea91f65b580bb162f723de8bb6ba3837bde02bd2bf4436fca3427858df8c04106fc52746e3e4dbad016293d2e8b13aabec29b6b01045cbcad06bc3bac5cf180920073919b7f9ee9b5d5010536763c6c2e9b9eadb5e300504e6621b57501a6ba7475300e928f58167d03fd1b6b01245d42e1b80efeadb58033900d881ab697ddd1d7dbbc208018b0038377e96d601c5890379eff26d73012a704b27b5dbfb36d6f010730dd948d5877f56dafb778026ca1973253b870e22daf1f6709214cb395f8b7f85b58030657e09acec3b8dc5b580117cbd5035ca1f71d2dd630066cce96fcd6b6feadb5e301576b8395f54f0fd5e8eb01662137bf62477e9667e3006df7b83a0e2fa7475800486d05c16007d96d4c055c0ef07548fb2dac05d8b17b91ef45db5d1c1bdef015e95fa21b7e51a13c2c6fc6020837e293a371f26dd680b149e974589d55f614db580822e5e56835e1dd62e78c0490039c8cdbfcf74daea80829b3b1e36174dcf56daf18028273310daba80d35d3a3a98074947ac0b3e81fe8db580922ea170dc077f56dac019c806c40d5b4beee8ebedde10400c5801c1bbf4b6b00e2c481bcf7f936b98095382593daedfd9b6b78083986eca46ac3bfab6d7dbbc013650cb9929dc387116d78fb38490a659cafc5bfc2dac01832bf04d6761dc6e2dac008be5ea81ae50fb8e96eb180336674b7e6b5b7f56daf180abb5c1cafaa787eaf47580b3109bdfb123bf4b33f18036fbdc1d0717d3a3ac00243682e0b003ecb6a602ae07783aa47d96d602ec58bdc8f7a2edae8e0def780af4afd10dbf28d09e1637e301041bf149d1b8f936eb4058a4f4ba2c4eaafb0a6dac041172f2b41af0eeb173c6024801ce466dfe7ba6d7540414d9d8f1b0ba6e7ab6d78c0141399886d5d4069ae9d1d4c03a4a3d6059f40ff46dac0491750b86e03bfab6d600ce4036206ada5f77475f6ef0820062c00e0ddfa5b580716240de7bfc9b5cc04a9c12c9ed76fecdb5bc041cc376523561dfd5b6bedde009b2865cc94ee1c388b6bc7d9c248532ce57e2dfe16d600c195f826b3b0ee3716d60045f2f540d7287dc74b758c019b33a5bf35adbfab6d78c055dae0e57d53c3f57a3ac059884defd891dfa599f8c01b7dee0e838be9d1d600121b41705801f65b53015703bc1d523ecb6b01762c5ee47bd176d74706f7bc057a57e886df94684f0b1bf180820df8a4e8dc7c9b75a02c527a5d1627557d8536d60208b9795a0d787758b9e3012400e72336ff3dd36baa020a6cec78d85d373d5b6bc600a09ccc436aea034d74e8ea601d251eb02cfa07fa36d60248ba85c3701dfd5b6b0067201b10356d2fbba3afb778410031600706efd2dac038b1206f3dfe4dae60254e0964f6bb7f66dade020e61bb291ab0efeadb5f6ef004d9432e64a770e1c45b5e3ece124299672bf16ff000b6b0060cafc1359d8771b8b6b0022f97aa06b943ee3a5bac600cd99d2df9ad6dfd5b6bc602aed7072bea9e1fabd1d602cc426f7ec48efd2ccfc600dbef70741c5f4e8eb00090da0b82c00fb2da980ab81de0ea91f65b580bb162f723de8bb6ba3837bde02bd2bf4436fca3427858df8c04106fc52746e3e4dbad016293d2e8b13aabec29b6b01045cbcad06bc3bac5cf180920073919b7f9ee9b5d5010536763c6c2e9b9eadb5e300504e6621b57501a6ba7475300e928f58167d03fd1b6b01245d42e1b80efeadb58033900d881ab697ddd1d7dbbc208018b0038377e96d601c5890379eff0026d73012a704b27b5dbfb36d6f010730dd948d5877f56dafb778026ca1973253b870e22daf1f6709214cb395f8b7f85b58030657e09acec3b8dc5b580117cbd5035ca1f71d2dd630066cce96fcd6b6feadb5e301576b8395f54f0fd5e8eb01662137bf62477e9667e3006df7b83a0e2fa7475800486d05c16007d96d4c055c0ef07548fb2dac05d8b17b91ef45db5d1c1bdef015e95fa21b7e51a13c2c6fc6020837e293a371f26dd680b149e974589d55f614db580822e5e56835e1dd62e78c0490039c8cdbfcf74daea80829b3b1e36174dcf56daf18028273310daba80d35d3a3a98074947ac0b3e81fe8db580922ea170dc077f56dac019c806c40d5b4beee8ebedde1558003b0018ff8f66b01a3edbff3bd37f4447f79320362d8ff00e639ff00d355fdd22032f9435d37ecfb45b580b160599b78b7f0d601998903d9fc9b6b01553bdd290da101f5e1637800b0b66ead98387ded6d602401c7311761f6871af180a9ded622e84a459b5b5bad016e901ec1b835b5807483f474e034fd51c602193a90406616d35d2daf1f670909292edd31d9c4ea2dac0350ae8e6dd6f9efa6bc6023525f4fe1a8b6bedde1664f4992cdec5adac01c33f71e88dfd96d600e59c04ab2fb5adac071f7598120241ffa7a3ac05ceba9000b59be8d8b98010c2dde1605d8ef4db5ef80ab703d0d429becb6a602c73decc7b2edbec5b5f6ef01d58a1ad6cbb9f858de0232dac2c9eb0cafc6e2c6fedde126c328d0755bb46a2dac042ac54c9cbff7d45b580650d74dfb3ed16d602c581666de2dfc3580666240f67f26dac0554ef74a4368407d7858de002c2d9bab660e1f7b5b58090071cc45d87da1c6bc602a77b588ba129166d6d6eb405ba407b06e0d6d601d20fd1d380d3f547180864ea4101985b4d74b6bc7d9c2424a4bb74c76713a8b6b00d42ba39b75be7be9af1808d497d3f86a2dafb7785993d264b37b16b6b0070cfdc7a237f65b5803967012acbed6b6b01c7dd660480907fe9e8eb0173aea4002d66fa362e600430b778581763bd36d7be02adc0f4350a6fb2da980b1cf7b31ecbb6fb16d7dbbc0756286b5b2ee7e1637808cb6b0b27ac32bf1b8b1bfb77849b0ca341d56ed1a8b6b010ab153272ffdf516d6019435d37ecfb45b580b160599b78b7f0d601998903d9fc9b6b01553bdd290da101f5e1637800b0b66ead98387ded6d602401c7311761f6871af180a9ded622e84a459b5b5bad016e901ec1b835b5807483f474e034fd51c602193a90406616d35d2daf1f670e19d514f48cbaa9f2a9c9ea959087fd5701cf180e1462387cf57252ab29a7cd51644b44c49275b801efc603b9a92fa7f0d45b5f6ef0b327a4c966f62d6d600e19fb8f446fecb6b0072ce025597dad6d6038fbacc090120ff00d3d1d602e75d48005acdf46c5cc008616ef0b02ec77a6daf7c055b81e86a14df65b5301639ef663d976df62dafb7787055cee6f4f513ccacdc84a5ac253d8926c58de035bf1827b06c3a5b0d472c7b6e3f026f780d9a4ad5329e42ca42394425594176ce97e89cb737e101c8ab153272ff00df516d6019435d37ecfb45b580b160599b78b7f0d601998903d9fc9b6b01553bdd290da101f5e1637800b0b66ead98387ded6d602401c7311761f6871af180a9ded622e84a459b5b5bad016e901ec1b835b5807483f474e034fd51c602193a90406616d35d2daf1f670909292edd31d9c4ea2dac0350ae8e6dd6f9efa6bc6023525f4fe1a8b6bedde1664f4992cdec5adac01c33f71e88dfd96d600e59c04ab2fb5adac071f7598120241ffa7a3ac05ceba9000b59be8d8b98010c2dde1605d8ef4db5ef80ab703d0d429becb6a602c73decc7b2edbec5b5f6ef01d58a1ad6cbb9f858de0232dac2c9eb0cafc6e2c6fedde126c328d0755bb46a2dac042ac54c9cbff7d45b580650d74dfb3ed16d602c581666de2dfc3580666240f67f26dac0554ef74a4368407d7858de002c2d9bab660e1f7b5b58090071cc45d87da1c6bc602a77b588ba129166d6d6eb405ba407b06e0d6d601d20fd1d380d3f547180864ea4101985b4d74b6bc7d9c2424a4bb74c76713a8b6b00d42ba39b75be7be9af1808d497d3f86a2dafb7785993d264b37b16b6b0070cfdc7a237f65b5803967012acbed6b6b01c7dd660480907fe9e8eb0173aea4002d66fa362e600430b778581763bd36d7be02adc0f4350a6fb2da980b1cf7b31ecbb6fb16d7dbbc0756286b5b2ee7e1637808cb6b0b27ac32bf1b8b1bfb77849b0ca341d56ed1a8b6b010ab153272ffdf516d6019435d37ecfb45b580b160599b78b7f0d601998903d9fc9b6b01553bdd290da101f5e1637800b0b66ead98387ded6d602401c7311761f6871af180a9ded622e84a459b5b5bad016e901ec1b835b5807483f474e034fd51c602193a90406616d35d2daf1f670909292edd31d9c4ea2dac0350ae8e6dd6f9efa6bc6023525f4fe1a8b6bedde1664f4992cdec5adac01c33f71e88dfd96d600e59c04ab2fb5adac071f7598120241ff00a7a3ac05ceba9000b59be8d8b980858e81603885761de2daf7c068db6ffcef4dfd111fde4c80d8b63ff98e7ff4d57f74880cb7bd660527461a768e89bf18091bfdedc3b5fcd6d6020eaa6dd748ff002d8de0272b0dc378cbdc6e9b6a600ca00b87c9a65b33dadd1d60243bbb5c5d4c3ecb75a0214863a31b9b7f81cbafb7784170a6617e1a70b5b5f6ef0928b3116dedaefeadb5809500e0141d2dd9af56dac018dc04dd37d347e1d1eb1808606c065e235035d2dafb7782ce328e241f3e96d6021577253f3a7ed4db5bc04ab457940ee1f676c043153b01c41fb48e8ebc602c5ddd24383bbe7ead8df8c054b870cc94fcff0046dac05f2923abd5736f9f4e8eb015cac2cc46ef4e9d1d78c012ea199b41bbff00d1d60272b672527317729f9fab6d78c04306cc12dbcb0d2fbba3ac01419dd0c2f95b73f0b6a7dbb42586a6e6e401d97b5b53edda15f7acc0a4e8c34ed1d137e301237fbdb876bf9adac041d54dbae91fe5b1bc04e561b86f197b8dd36d4c01940170f934cb667b5ba3ac0487776b8ba987d96eb404290c7463736ff03975f6ef082e14cc2fc34e16b6bedde12516622dbdb5dfd5b6b012a01c0283a5bb35eadb58031b809ba6fa68fc3a3d63010c0d80cbc46a06ba5b5f6ef059c651c483e7d2dac042aee4a7e74fda9b6b7809568af281dc3eced80862a7603883f691d1d78c058bbba4870777cfd5b1bf180a970e19929f9fe8db580be524757aae6df3e9d1d602b9585988dde9d3a3af18025d433368377ffa3ac04e56ce4a4e62ee53f3f56daf180860d9825b7961a5f77475802833ba185f2b6e7e16d4fb7684b0d4dcdc803b2f6b6a7dbb42bef598149d1869da3a26fc60246ff7b70ed7f35b58083aa9b75d23fcb637809cac370de32f71ba6da98032802e1f26996ccf6b74758090eeed717530fb2dd68085218e8c6e6dfe072ebedde105c29985f869c2d6d7dbbc24a2cc45b7b6bbfab6d6025403805074b766bd5b6b01aced18bd0809b854c3a68e9eed6031d8500710a61a5cbf658e96d60376b38ca38907cfa5b580855dc94fce9fb536d6f012ad15e503b87d9db010c54ec07107ed23a3af180b1777490e0eef9fab637e30152e1c33253f3fd1b6b017ca48eaf55cdbe7d3a3ac0572b0b311bbd3a7475e3004ba8666d06eff00f47580e9e2496c3b13252731a79ce53fa8aeadb5e301a18ea82cdedbadac07a0d37fb2d2e64db904656ddd0dd6d4c076186a6e6e401d97b5b53edda15f7acc0a4e8c34ed1d137e301237fbdb876bf9adac041d54dbae91fe5b1bc04e561b86f197b8dd36d4c01940170f934cb667b5ba3ac0487776b8ba987d96eb404290c7463736ff0003975f6ef082e14cc2fc34e16b6bedde12516622dbdb5dfd5b6b012a01c0283a5bb35eadb58031b809ba6fa68fc3a3d63010c0d80cbc46a06ba5b5f6ef059c651c483e7d2dac042aee4a7e74fda9b6b7809568af281dc3eced80862a7603883f691d1d78c058bbba4870777cfd5b1bf180a970e19929f9fe8db580be524757aae6df3e9d1d602b9585988dde9d3a3af18025d433368377ff00a3ac04e56ce4a4e62ee53f3f56daf180860d9825b7961a5f77475802833ba185f2b6e7e16d4fb7684b0d4dcdc803b2f6b6a7dbb42bef598149d1869da3a26fc60246ff007b70ed7f35b58083aa9b75d23fcb637809cac370de32f71ba6da98032802e1f26996ccf6b74758090eeed717530fb2dd68085218e8c6e6dfe072ebedde105c29985f869c2d6d7dbbc24a2cc45b7b6bbfab6d6025403805074b766bd5b6b0063701374df4d1f8747ac602181b019788d40d74b6bedde0b38ca38907cfa5b580855dc94fce9fb536d6f012ad15e503b87d9db010c54ec07107ed23a3af180b1777490e0eef9fab637e30152e1c33253f3fd1b6b017ca48eaf55cdbe7d3a3ac0572b0b311bbd3a7475e3004ba8666d06eff00f475809cad9c949cc5dca7e7eadb5e3010c1b304b6f2c34beee8eb0050677430be56dcfc2da9f6ed0961a9b9b900765ed6d4fb76857deb30293a30d3b4744df8c048dfef6e1dafe6b6b01075536eba47f96c6f0139586e1bc65ee374db530065005c3e4d32d99ed6e8eb0121dddae2ea61f65bad010a431d18dcdbfc0e5d7dbbc20b85330bf0d385adafb7784945988b6f6d77f56dac04a80700a0e96ecd7ab6d600c6e026e9be9a3f0e8f58c043036032f11a81ae96d7dbbc1671947120f9f4b6b010abb929f9d3f6a6dade0255a2bca0770fb3b60218a9d80e20fda47475e30162eee921c1ddf3f56c6fc602a5c38664a7e7fa36d602ca4928361d104be9c7b35e301a2edbff003bd37f4447f79320362d8ffe639ffd355fdd22032fd3753a4fea8d3e6b6ad01396ecb09bee1a778b6b00629be5b7671fcd0da9bc01940e8185cb7da2dac04dc3821f7b80fe6ed6f6e214526e7a2ec2ec3ccd637e30124105c0dfd1e3c6d6f3c00e6cf6410410e479ed6d4bde02400414abdefbe0c78e96b9807604f9afc74b75a00d6de4fbc6dddd667300d497d780d07eadae602082016bf16e1b9adafb7784f48eeef57dd6d5e0232023a205f87dba6ad012731f7a1d3723eeb6b013d26dc48b961e916d60208705d36e0036be4f6bc05427f35956ddc5f4b6b01370950cae9ec1c6dd1b6bedde0e900e43312c9efe0e2e602c4245c0f986ed7461d6808d7f34f677dc8b6bc7d9c0adece941f3ff00cb6d600c3b86f6e95b8861af1808e9ba9d27f5469f35b56809cb76584df70d3bc5b580314df2dbb38fe686d4de00ca0740c2e5bed16d6026e1c10fbdc07f376b7b710a29373d1761761e66b1bf18092082e06fe8f1e36b79e007367b208208723cf6b6a5ef0120020a55ef7df063c74b5cc03b027cd7e3a5bad006b6f27de36eeeb339806a4bebc0683f56d730104100b5f8b70dcd6d7dbbc27a47777abeeb6af0119011d102fc3edd356809398fbd0e9b91f75b5809e936e245cb0f48b6b0104382e9b7001b5f27b5e02a13f9acab6ee2fa5b5809b84a86574f60e36e8db5f6ef0748072198964f7f071730162122e07cc376ba30eb4046bf9a7b3bee45b5e3ece056f674a0f9ff00e5b6b0061dc37b74adc430d78c0474dd4e93faa34f9adab404e5bb2c26fb869de2dac018a6f96dd9c7f3436a6f006503a06172df68b6b01370e087dee03f9bb5bdb885149b9e8bb0bb0f3358df8c0490417037f478f1b5bcf0039b3d904104391e7b5b52f7809001052af7bef831e3a5ae6031f8ace994f87d4cc904cb9880e858bb17d438eb40697366d4d4141a8aa993f927e4924258386246548b9804b98b94be525af24c4f5543def68706f0199c26a6b66d5844dab9b3a5e45128640d059b2a01780d8eaaa65d24899515072cb97aab7b9b008b759f74069b518ae2158fc9914120f565cb03946e256458f74075394a937355545437f2d33d17d603214d8ad753eb379ccb1acb997dfa8533bf9e036ca7a997592796962defd0cc527b3b5e039d9817197792cc37beef3c069b598e54d49992e80f37a3492055048cebdc4cb043247cd018e136a4328d5d5b8d3f0d337f00f0190f74e7734aca79e4cf13644c4ca5300a4a8a4b36517260318341bbdbed80f40a6ff64a5d424c995fd9f7b6d603a789e25270f427a3cad44e7e469d377e2a76b76c06a73abf14a952953aad72527ff229fa091dcaeb13f3c07105cf49ff006aa97d7f1d30fcf730198a3c66a242826abf0f24eab0005a7b43000c06d683982549ca507a40a7786d45b580c6e2b89fb9b2d204b13ea6793c84b6b5baca25b86b01a94dabc46a14f3aad69fd1c81c9a7e66753fcf01079e4a39f97ac45ec4cd99af63980c8d263157266244f3cbca04662474c0e29237deef01b7a148988045d243a5618d887e8dae602dd813e6bf1d2dd68035b793ef1b777599cc03525f5e0341fab6b980820805afc5b86e6b6bedde13d23bbbd5f75b57808c808e8817e1f6e9ab4049cc7de874dc8fbadac04f49b7122e587a45b580821c174db800daf93daf01509fcd655b7717d2dac04dc25432ba7b071b746dafb7783a40390cc4b27bf838b980b1091703e61bb5d1875a0235fcd3d9df722daf1f6702b7b3a507cfff002db58030ee1bdba56e2186bc6023a6ea749fd51a7cd6d5a0272dd96137dc34ef16d600c537cb6ece3f9a1b537803281d030b96fb45b5809b87043ef701fcddadedc428a4dcf45d85d8799ac6fc6024820b81bfa3c78dade7801cd9ec820821c8f3dada97bc0480082957bdf7c18f1d2d7300ec09f35f8e96eb401adbc9f78dbbbacce601a92faf01a0fd5b5cc0410402d7e2dc3735b5f6ef09e91dddeafbadabc0464047440bf0fb74d5a024e63ef43a6e47dd6d6027a4db89172c3d22dac0410e0ba6dc006d7c9ed780a84fe6b2adbb8be96d6026e12a195d3d838dba36d7dbbc1d201c8662593dfc1c5cc058848b81f30ddae8c3ad011afe69ecefb916d78fb3815bd9d283e7ff0096dac018770dedd2b710c35e3011d3753a4fea8d3e6b6ad01396ecb09bee1a778b6b00629be5b7671fcd0da9bc01940e8185cb7da2dac04dc3821f7b80fe6ed6f6e214526e7a2ec2ec3ccd637e30124105c0dfd1e3c6d6f3c00e6cf6410410e479ed6d4bde02400414abdefbe0c78e96b9807604f9afc74b75a00d6de4fbc6dddd667300d497d780d07eadae602082016bf16e1b9adafb7784f48eeef57dd6d5e0232023a205f87dba6ad012731f7a1d3723eeb6b013d26dc48b961e916d60208705d36e0036be4f6bc050864aba2c59f461bf4b6bc60348db7fe77a6fe888fef26406c5b1ff00cc73ff00a6abfba44065d4735941cb3903e7eadb5808caddff006775ae78c05d218eedfa0eaf758b980822e4b1252ec1be771d1d4c00a43b073f9cc0eafa5b53be026e5c84f400d137d785ae60043df78176bee3a58de00aee6b5879f4b75a02a5c6e17f247a536d601673aef72069da9b6bc6024bdeccdaf7b1eafe7180ad98f41f8b68ff009b680b02cfae8730bbf635b53be02b95cb8b3fbee3c1986b01397b80dc581fa36d4fb7685cf553b8704eed6e3a3d680ae5001174801ec3e6b5b5fbe01d50e12335d9b76bd5b5cc049074219937fe1c4fb77819b3589d6e077e96eb4046b6e896de077e9621f8c05750733ebef43f1eab8d78fb384eed0d86e7f3a6da9f6ed083f9c003af47506fd5b6bc7d9c26cecd907be21fe66b6b0051cd65072ce40f9fab6d60232b77fd9dd6b9e30174863bb7e83abdd62e60208b92c494bb06f9dc7475300290ec1cfe7303abe96d4ef809b97213d00344df5e16b98010f7de05dafb8e9637802bb9ad61e7d2dd680a971b85fc91e94db58059cebbdc81a76a6daf18092f7b336bdec7abf9c602b663d07e2da3fe6da02c0b3eba1cc2efd8d6d4ef80ae572e2cfefb8f0661ac04e5ee0371607e8db53edda173d54ee1c13bb5b8e8f5a02b940045d2007b0f9ad6d7ef807543848cd766ddaf56d7301241d08664dff8713edde066cd6275b81dfa5bad011adba25b781dfa5887e3015d41ccfafbd0fc7aae35e3ece13bb4361b9fce9b6a7dbb420fe7000ebd1d41bf56daf1f6709b3b3641ef887f99adac014735941cb3903e7eadb5808caddff6775ae78c05d218eedfa0eaf758b980822e4b1252ec1be771d1d4c00a43b073f9cc0eafa5b53be026e5c84f400d137d785ae60043df78176bee3a58de00aee6b5879f4b75a02a5c6e17f247a536d6020a50a70a1985deddbaa6d73c6035ada2e89a20948402579d835f2d9adac06370bca6ba9dd198662e9671a1d2d01bba592e52900b1ccc2fd8d6d4ef80d2f1d9bce3111207e2a89215d8664cb8361a84c05f0aa14564f519bf8890332db7be891df01b89952b93081265a65fc1a50186ba747580d4317a24524e419692995381200d011b85b7c04e0d3cc9ab086b4f04771bb65b6bba0329b453972a84530e8aab0894b3f99752c8ed2031eff386b1264aa64c97225a7a4b3952076fcdac06f5228e9e9902549968530e9ce6751d5c8b1f34062718a296aa7995484044c9375e44d949de74d46f80d5f77b79c406fd4cdcd691fe0659e8ea0e5f7b6d78fb38685367f3caba9ac55b95514ca6dd2d36435b7ebf3c06c783d04a5cae77512f952491265ea186aa008b980cdcda59335051365a08219b2871fabd1d7ba0349aaa7e6b553a46bc99e89ec21c7cf01b060538ae5cd92ae9191d2963b0bbb5b57fb603178ea3ff001449b948a646457eb2d799ada9b3c0530bab934752674e4128c84254919b2127ac071680dad15749580a11512a7123a728104b31f7a412f01855600a751e72121d4509c85d9cb7fccdac066a9a42e969e5482b134a1fa491b9cf56dade03b3673aef72069da9b6bc6024bdeccdaf7b1eafe7180ad98f41f8b68ff9b680b02cfae8730bbf635b53be02b95cb8b3fbee3c1986b01397b80dc581fa36d4fb7685cf553b8704eed6e3a3d680ae5001174801ec3e6b5b5fbe01d50e12335d9b76bd5b5cc049074219937fe1c4fb77819b3589d6e077e96eb4046b6e896de077e9621f8c05750733ebef43f1eab8d78fb384eed0d86e7f3a6da9f6ed083f9c003af47506fd5b6bc7d9c26cecd907be21fe66b6b0051cd65072ce40f9fab6d60232b77fd9dd6b9e30174863bb7e83abdd62e60208b92c494bb06f9dc7475300290ec1cfe7303abe96d4ef809b97213d00344df5e16b98010f7de05dafb8e9637802bb9ad61e7d2dd680a971b85fc91e94db58059cebbdc81a76a6daf18092f7b336bdec7abf9c602b663d07e2da3fe6da02c0b3eba1cc2efd8d6d4ef80ae572e2cfefb8f0661ac04e5ee0371607e8db53edda173d54ee1c13bb5b8e8f5a02b940045d2007b0f9ad6d7ef807543848cd766ddaf56d7301241d08664dff008713edde066cd6275b81dfa5bad011adba25b781dfa5887e3015d41ccfafbd0fc7aae35e3ece13bb4361b9fce9b6a7dbb420fe7000ebd1d41bf56daf1f6709b3b3641ef887f99adac014735941cb3903e7eadb5808caddff006775ae78c05d218eedfa0eaf758b980822e4b1252ec1be771d1d4c00a43b073f9cc0eafa5b53be026e5c84f400d137d785ae60043df78176bee3a58de00aee6b5879f4b75a02a5c6e17f247a536d601673aef72069da9b6bc6024bdeccdaf7b1eafe7180ad98f41f8b68ff009b680b02cfae8730bbf635b53be02b95cb8b3fbee3c1986b01397b80dc581fa36d4fb7685cf553b8704eed6e3a3d680ae5001174801ec3e6b5b5fbe01d50e12335d9b76bd5b5cc014e12a043322efa778edf6ef0d176dff9de9bfa223fbc9901b16c7ff31cff00e9aafee9101971dc90dc071d72f6b405d82490cc58e9bbb836b01c6a705c243bbe83d16d600126ee19afd1d076a6dac04b28fbd03b7eeb6b005248b973e96ed16d7dbbc1978f7a836fd2ddb012525ddc917d0170fc2dafb77845c1360e7429f9ee1d2cf0105b73963a01a6ba5b5f6ef0b2b7eef280077be96d6000067091c53d9ae96d78c0429ddf2a6db83bf7a6da97f6de16605f4e8e85206fd1b5bbc00dc06166b6f6ee71a980e2198fbd16e1b9f806d78c05c82376badb8ef1637e3013954c7def109ffb6b015cb7219825f4e3aba6dafb7785db82995c403f76b014283959b4ec3e74db580925c5fa23730e2eedd1d601e5d8b03b83f1ba4b6b00b127791a29bec705cc058ef012007ddb9f78b6b0151dc90dc071d72f6b405d82490cc58e9bbb836b01c6a705c243bbe83d16d600126ee19afd1d076a6dac04b28fbd03b7eeb6b005248b973e96ed16d7dbbc1978f7a836fd2ddb012525ddc917d0170fc2dafb77845c1360e7429f9ee1d2cf0105b73963a01a6ba5b5f6ef0b2b7eef280077be96d6000067091c53d9ae96d78c0429ddf2a6db83bf7a6da97f6de16605f4e8e85206fd1b5bbc00dc06166b6f6ee71a980e2198fbd16e1b9f806d78c05c82376badb8ef1637e3013954c7def109ff00b6b015cb7219825f4e3aba6dafb7785db82995c403f76b014283959b4ec3e74db580925c5fa23730e2eedd1d601e5d8b03b83f1ba4b6b00b127791a29bec705cc058ef012007ddb9f78b6b0151dc90dc071d72f6b405d82490cc58e9bbb836b01c6a705c243bbe83d16d600126ee19afd1d076a6dac04b28fbd03b7eeb6b005248b973e96ed16d7dbbc1978f7a836fd2ddb012525ddc917d0170fc2dafb77845c1360e7429f9ee1d2cf0105b73963a01a6ba5b5f6ef0d6f693ad43bba531c35ae3516d6031f84ffb7d330df6ecb1d2dac06eaa777ca9b6e0efde9b6a5fdb786875e3ff0012c45f2da68ba47e8d2df3c067b006326a837be47d8a6671ac066c663ef45b86e7e01b5e30181da3e8c8a3b5d551ff00d4b73a6bc6030b878573ea46b1e591a7eb774064f6892794a0dc9499bf4983116d5bdb8874b0a6f7429aec736a38b16f4c06e85072b369d87ce9b6b01d5c40a79856e70c8e466bb0b7554ed6d6034245d21c1d3d9adac06fb26f4521aeb14e8c85bf337382e603cfe4069124001b227ecdd680df70b6e614ac12c127771529f2f6c064582490cc58e9bbb836b01a4e3b6c54b000f379656cdae799e980ececfa49a9a8b58497b6ee9a6e2dac0676b28515a90998909527a9340eaf75b7ef101af4fc0eb6539434f48d08b1f4ef80c54fa4992d854d3a923f3d167ec71ac07348abaaa620c99ebca34945d490fc01d3e680dca8aa8554913929659b280dca63a7459ef01da2db9cb1d00d35d2dafb778595bf7794003bdf4b6b000033848e29ecd74b6bc60214eef9536dc1dfbd36d4bfb6f0b302fa747429037e8dadde006e030b35b7b7738d4c0710cc7de8b70dcfc036bc602e411bb5d6dc778b1bf1809caa63ef7884ff00db580ae5b90cc12fa71d5d36d7dbbc2edc14cae201fbb580a141cacda761f3a6dac0492e2fd11b9871776e8eb00f2ec581dc1f8dd25b5805893bc8d14df6382e602c77809003eedcfbc5b580a8ee486e038eb97b5a02ec1248662c74dddc1b580e35382e121ddf41e8b6b00093770cd7e8e83b536d6025947de81dbf75b58029245cb9f4b768b6bedde0cbc7bd41b7e96ed809292eee48be80b87e16d7dbbc22e09b073a14fcf70e9678082db9cb1d00d35d2dafb778595bf7794003bdf4b6b000033848e29ecd74b6bc60214eef9536dc1dfbd36d4bfb6f0b302fa747429037e8dadde006e030b35b7b7738d4c0710cc7de8b70dcfc036bc602e411bb5d6dc778b1bf1809caa63ef7884ffdb580ae5b90cc12fa71d5d36d7dbbc2edc14cae201fbb580a141cacda761f3a6dac0492e2fd11b9871776e8eb00f2ec581dc1f8dd25b5805893bc8d14df6382e602c77809003eedcfbc5b580a8ee486e038eb97b5a02ec1248662c74dddc1b580e35382e121ddf41e8b6b00093770cd7e8e83b536d6025947de81dbf75b58029245cb9f4b768b6bedde0cbc7bd41b7e96ed809292eee48be80b87e16d7dbbc22e09b073a14fcf70e9678082db9cb1d00d35d2dafb778595bf7794003bdf4b6b000033848e29ecd74b6bc60214eef9536dc1dfbd36d4bfb6f0b302fa747429037e8dadde006e030b35b7b7738d4c0710cc7de8b70dcfc036bc602e411bb5d6dc778b1bf1809caa63ef7884ff00db580a293d60d600dbb59dc76fb778691b6ffcef4dfd111fde4c80d8b63ff98e7ff4d57f74880cc8700f44dbacdff6d4ef80a96bb0f30b0eeb6bedde12cdda068007e374f475803d886b87d01b3ef16372f7f67082e0939736fd34b9d2dac05884b1e8b117d37efcb66780a97b0bb80e4b6efcdb6b00d0b1b07b167fa36d6f0177b1b31ec1df7162e78c0519c392dd82f6ecb33bfb710b825c0d02aefe7d18758c052ef6404df51b9f85b58032429d3d5ec1a768b75bdbbc255c149ca7d3bfab6d6023796b36e6bf78b173edde13d56b69aa824ef7b8b6b00377006503461dfa5b52fedbc03f390cc5ec37f116d600cc4b0213bd291f65b580ab167bf10dc0f0b75b8c0582b7fd834ed16eb7b7784aaeab581e1f6a7a3730066b03da19b46f7b63780825c0252925dd85c8eeb6b010c329cc329739401e76b6b0160e01e89b759bfeda9df0152d761e6161dd6d7dbbc259bb40d000fc6e9e8eb007b10d70fa0367de2c6e5efece105c1272e6dfa6973a5b580b10963d1622fa6fdf96ccf0152f617701c96ddf9b6d601a16360f62cff46dade02ef63663d83bee2c5cf180a338725bb05edd96677f6e21704b81a055dfcfa30eb180a5dec809bea373f0b6b0064853a7abd834ed16eb7b7784ab829394fa77f56dac046f2d66dcd7ef162e7dbbc27aad6d355049def716d6006ee00ca068c3bf4b6a5fdb7807e72198bd86fe22dac01989604277a523ecb6b01562cf7e21b81e16eb7180b056ff00b069da2dd6f6ef0955d56b03c3ed4f46e600cd607b43368def6c6f0104b804a524bbb0b91dd6d6021865398652e72803ced6d602c1c03d136eb37fdb53be02a5aec3cc2c3badafb7784b37681a001f8dd3d1d600f621ae1f406cfbc58dcbdfd9c20b824e5cdbf4d2e74b6b016212c7a2c45f4dfbf2d99e02a5ec2ee0392dbbf36dac0342c6c1ec59fe8db5bc05dec6cc7b077dc58b9e3014670e4b760bdbb2ccefedc435bda27cd87f925530beeb8dcc35e30187a19c9a7aba79ab195085f4942ec0d9c5a036e9388d04f9c2553cf13165ce4092e19efd5eb7b7786071da654baae71932a2a12331fcf4dac5b5290203af86568a39ea2b7e4a6596da8fced0b980da7dd1a14a73f3c90129eb2dc5b5b8fce80d4314af4627528e4011474815c929982d6ad5490dc203bd81d399b57cb290d2e97a4e07bf23a2ddbbe032b8dd299d4bca4b4ffb2ab95c891b98a55bb5bb9101a94b5ae52d1351654b21483edbe0374a6c568e7202953512661d6512014f6a6d73edde188c7715913e52f0fa29899caa8b544d965d32e5bf499405d4a166f62180d2c3d1fe101e814c7fd4e8cb05112a59b6a3a034b6b01a355531a49d369d49ca10a3c8dad90e8d6f9a0335846252e44a34d5072252ea44cdc1f769a980cacfc530ea796a9abab92c344a08571ea24392a3edda1a54d9d32aaa27d5cc49472c7f072b5ca80193bb5de7be036ac0a41974f3aa14920ce3965dbde87722c6e4980e86295b895357cd44a9fc9c9294ae5279341677058949bbbbc07670ac48af95975d3c15920c9594a53facd940198c067a6942259e55402025e6294d972fce3580f3d5cc973274f549b5399abe6e78a1ec459e036dc052451cd51046798725b80b9162f7d60330ce1c96ec17b76599dfdb885c12e0681577f3e8c3ac602977b2026fa8dcfc2dac019214e9eaf60d3b45badedde12ae0a4e53e9dfd5b6b011bcb59b735fbc58b9f6ef09eab5b4d541277bdc5b5801bb803281a30efd2da97f6de01f9c8662f61bf88b6b0066258109de948fb2dac0558b3df886e0785badc602c15bfec1a768b75bdbbc255755ac0f0fb53d1b98033581ed0cda37bdb1bc0412e0129492eec2e4775b58086194e6194b9ca00f3b5b580b0700f44dbacdff6d4ef80a96bb0f30b0eeb6bedde12cdda068007e374f475803d886b87d01b3ef16372f7f67082e0939736fd34b9d2dac05884b1e8b117d37efcb66780a97b0bb80e4b6efcdb6b00d0b1b07b167fa36d6f0177b1b31ec1df7162e78c0519c392dd82f6ecb33bfb710b825c0d02aefe7d18758c052ef6404df51b9f85b58032429d3d5ec1a768b75bdbbc255c149ca7d3bfab6d6023796b36e6bf78b173edde13d56b69aa824ef7b8b6b00377006503461dfa5b52fedbc03f390cc5ec37f116d600cc4b0213bd291f65b580ab167bf10dc0f0b75b8c0582b7fd834ed16eb7b7784aaeab581e1f6a7a3730066b03da19b46f7b63780825c0252925dd85c8eeb6b010c329cc329739401e76b6b0160e01e89b759bfeda9df0152d761e6161dd6d7dbbc259bb40d000fc6e9e8eb007b10d70fa0367de2c6e5efece105c1272e6dfa6973a5b580b10963d1622fa6fdf96ccf0152f617701c96ddf9b6d601a16360f62cff46dade02ef63663d83bee2c5cf180a338725bb05edd96677f6e21704b81a055dfcfa30eb180a5dec809bea373f0b6b0064853a7abd834ed16eb7b7784ab829394fa77f56dac046f2d66dcd7ef162e7dbbc27aad6d355049def716d6006ee00ca068c3bf4b6a5fdb7807e72198bd86fe22dac05561b3e5e8862e00b7d9af180d1f6dff009de9bfa223fbc9901b16c7ff0031cffe9aafee910197cac48d03f48379b2d8def002937e86603b34fd5e8b13edde12a0fbf8f400e2e7a36eb7180ab0676dd72076ea035cde0393a2731629ed034dd6b75a0237976bf548ddfab6d601958800653d9f3dc74758010a37ba72dd807e3d5fcef6ef0a801f82b71f4b8b6a60218db5ca017cbd2f330d4fb7685956b9cf98a7ede16d60091996fa067035b765b5e301052e18d803aa53a03c2daf1f670967049bab53947d9d137809621dd3c99d4948efd0b75a029943b594e0dc0efb8b1bf180b586ee1b9fb786a602ca1a84db88de3bac6fc602080a73940005c0dc4f0e8eb01233007e7d2edfab6b93014296b173becf673a8b1e9404f6a6c0390036bd81ae7bbfee1001ca410bb25cb0f3316d60209170906c2c7fcb6d602f9728490dde13b8f0b6b780ae5624681fa41bcd96c6f780149bf43301d9a7eaf4589f6ef09507dfc7a007173d1b75b8c055833b6eb903b7501ae6f01c9d1398b14f681a6eb5bad011bcbb5faa46efd5b6b00cac400329ecf9ee3a3ac00851bdd396ec03f1eafe77b7785400fc15b8fa5c5b53010c6dae500be5e979986a7dbb42cab5ce7cc53f6f0b6b0048ccb7d03381adbb2daf18082970c6c01d529d01e16d78fb384b3824dd5a9ca3ece89bc04b10ee9e4cea4a477e85bad014ca1daca706e077dc58df8c05ac3770dcfdbc35301650d426dc46f1dd637e301040539ca0002e06e278747580919803f3e976fd5b5c980a14b58b9df67b39d458f4a027b53601c801b5ec0d73ddff0070800e52085d92e587998b6b01048b84836163fe5b6b017cb942486ef09dc785b5bc0572b12340fd20de6cb637bc00a4dfa1980ecd3f57a2c4fb7784a83efe3d0038b9e8dbadc602ac19db75c81dba80d73780e4e89cc58a7b40d375add6808de5dafd52377eadb580656200194f67cf71d1d600428dee9cb7601f8f57f3bdbbc2a007e0adc7d2e2da9808636d72805f2f4bccc353edda1d3c468d1592b2ab3a66a7a7294defae3876de035a560d5e15d1949989d414a92df33b180efe178755c8aa1327c932e5252a05432fbe1b86af019f9f4e8a994b44e016157537a0a7a3ac06b15181554b2791026275e0479f53018e385561507a298a3b9591fcc58de03214f8254ac8e5da9a5f1eb2be6097bc06d32e9e553491229c14205d43df3f1700f48ef80e52029fa21802e06e2787475e301ad55e0731d5328d8a4b9e4787eab8bc0621585d7755547355bfaa48ef163780c9d1e073120cda84a5094a5465532487529ada5a03a52f05c5320cd4ccbcaea0168d7cf01b7490514f2251073cb952c1d3509be5617301c55b87caab9480ae8ad0fc9cd4a6e01e01af01ac4ec1ab65294128e553c53fe035780eb8c26bb31cb4131fcac8de62d0197a5c054e175ab0948bf3645d47e716780d88048486484a4060122c00b74436b01d5ada1915c8e93cb5a1f939a05d2fbb4b980d666e0f5d2c96962724f55682fe6077c074fdc4a92a03dce50234e8581bdc599e03294f81554c21551fead2937207494df9a03dfbe0367972e5ca42254a4e44cb0d2dafdae2dd63be0258db5ca017cbd2f330d4fb7685956b9cf98a7ede16d60091996fa067035b765b5e301052e18d803aa53a03c2daf1f670967049bab53947d9d137809621dd3c99d4948efd0b75a029943b594e0dc0efb8b1bf180b586ee1b9fb786a602ca1a84db88de3bac6fc602080a73940005c0dc4f0e8eb01233007e7d2edfab6b93014296b173becf673a8b1e9404f6a6c0390036bd81ae7bbfee1001ca410bb25cb0f3316d60209170906c2c7fcb6d602f9728490dde13b8f0b6b780ae5624681fa41bcd96c6f780149bf43301d9a7eaf4589f6ef09507dfc7a007173d1b75b8c055833b6eb903b7501ae6f01c9d1398b14f681a6eb5bad011bcbb5faa46efd5b6b00cac400329ecf9ee3a3ac00851bdd396ec03f1eafe77b7785400fc15b8fa5c5b53010c6dae500be5e979986a7dbb42cab5ce7cc53f6f0b6b0048ccb7d03381adbb2daf18082970c6c01d529d01e16d78fb384b3824dd5a9ca3ece89bc04b10ee9e4cea4a477e85bad014ca1daca706e077dc58df8c05ac3770dcfdbc35301650d426dc46f1dd637e301040539ca0002e06e278747580919803f3e976fd5b5c980a14b58b9df67b39d458f4a027b53601c801b5ec0d73ddff70800e52085d92e587998b6b01048b84836163fe5b6b017cb942486ef09dc785b5bc0572b12340fd20de6cb637bc00a4dfa1980ecd3f57a2c4fb7784a83efe3d0038b9e8dbadc602ac19db75c81dba80d73780e4e89cc58a7b40d375add6808de5dafd52377eadb580656200194f67cf71d1d600428dee9cb7601f8f57f3bdbbc2a007e0adc7d2e2da9808636d72805f2f4bccc353edda1655ae73e629fb785b58024665be819c0d6dd96d78c0414b863600ea94e80f0b6bc7d9c259c126ead4e51f6744de02588774f26752523bf42dd680a650ed65383703bee2c6fc602d61bb86e7ede1a980b286a136e2378eeb1bf180aa99416728600b8e04fcdaf1bc068bb6ffcef4dfd111fde4c80d8b63ff98e7ff4d57f74880cb96d6f9747d7e74f47580b74401a3dd88b33bf56dac055b8a47e76fd5f461757180b00c18d85faa09b1f9b58006ea94b5b51fe16d58c056c1cdb5bb07f35b5300b3076bddc07ec74b8378011d99557cc076f936b9f6ef059ba22e3c91df74db5fbfce125ec6cfc1b4ed4db580861d6cadddb9f7a6dac000054e03137701dbb45b5f6ef05815eae7c9d3bd36d78c04867ed4bd80ecdd61780163a0e82770bf9add630062eec9052eecfa765b5809234dec18d9bcd6d49801ca58d83dc8f4ba6dac055eecc3b80f9c3768809605cb3ef240d38330d78c057a20dc0ec02fc74b6bedde17b82d701bac03f1ba6da980af630ec29d476871ac0187532b7161df701b56f6e202064e01dc240b8ed4db5f6ef016d6f9747d7e74f47580b74401a3dd88b33bf56dac055b8a47e76fd5f461757180b00c18d85faa09b1f9b58006ea94b5b51fe16d58c056c1cdb5bb07f35b5300b3076bddc07ec74b8378011d99557cc076f936b9f6ef059ba22e3c91df74db5fbfce125ec6cfc1b4ed4db580861d6cadddb9f7a6dac000054e03137701dbb45b5f6ef05815eae7c9d3bd36d78c04867ed4bd80ecdd61780163a0e82770bf9add630062eec9052eecfa765b5809234dec18d9bcd6d49801ca58d83dc8f4ba6dac055eecc3b80f9c3768809605cb3ef240d38330d78c057a20dc0ec02fc74b6bedde17b82d701bac03f1ba6da980af630ec29d476871ac0187532b7161df701b56f6e202064e01dc240b8ed4db5f6ef016d6f9747d7e74f47580b74401a3dd88b33bf56dac055b8a47e76fd5f461757180b00c18d85faa09b1f9b58006ea94b5b51fe16d58c056c1cdb5bb07f35b5300b3076bddc07ec74b8378011d99557cc076f936b9f6ef059ba22e3c91df74db5fbfce125ec6cfc1b4ed4db580861d6cadddb9f7a6dac000054e03137701dbb45b5f6ef05815eae7c9d3bd36d78c04867ed4bd80ecdd61780163a0e82770bf9add630062eec9052eecfa765b5809234dec18d9bcd6d49801ca58d83dc8f4ba6dac055eecc3b80f9c3768809605cb3ef240d38330d78c057a20dc0ec02fc74b6bedde17b82d701bac03f1ba6da980af630ec29d476871ac0187532b7161df701b56f6e202064e01dc240b8ed4db5f6ef016d6f9747d7e74f47580b74401a3dd88b33bf56dac055b8a47e76fd5f461757180b00c18d85faa09b1f9b58006ea94b5b51fe16d58c056c1cdb5bb07f35b5300b3076bddc07ec74b8378011d99557cc076f936b9f6ef059ba22e3c91df74db5fbfce125ec6cfc1b4ed4db580861d6cadddb9f7a6dac000054e03137701dbb45b5f6ef05815eae7c9d3bd36d78c04867ed4bd80ecdd61780163a0e82770bf9add630062eec9052eecfa765b5809234dec18d9bcd6d49801ca58d83dc8f4ba6dac055eecc3b80f9c3768809605cb3ef240d38330d78c057a20dc0ec02fc74b6bedde17b82d701bac03f1ba6da980af630ec29d476871ac0187532b7161df701b56f6e202064e01dc240b8ed4db5f6ef016d6f9747d7e74f47580b74401a3dd88b33bf56dac055b8a47e76fd5f461757180b00c18d85faa09b1f9b58006ea94b5b51fe16d58c056c1cdb5bb07f35b5300b3076bddc07ec74b8378011d99557cc076f936b9f6ef059ba22e3c91df74db5fbfce125ec6cfc1b4ed4db580861d6cadddb9f7a6dac000054e03137701dbb45b5f6ef05815eae7c9d3bd36d78c04867ed4bd80ecdd61780163a0e82770bf9add630062eec9052eecfa765b5809234dec18d9bcd6d49801ca58d83dc8f4ba6dac055eecc3b80f9c3768809605cb3ef240d38330d78c057a20dc0ec02fc74b6bedde17b82d701bac03f1ba6da980af630ec29d476871ac0187532b7161df701b56f6e202064e01dc240b8ed4db5f6ef016d6f9747d7e74f47580b74401a3dd88b33bf56dac055b8a47e76fd5f461757180b00c18d85faa09b1f9b58006ea94b5b51fe16d58c056c1cdb5bb07f35b5300b3076bddc07ec74b8378011d99557cc076f936b9f6ef059ba22e3c91df74db5fbfce125ec6cfc1b4ed4db580861d6cadddb9f7a6dac000054e03137701dbb45b5f6ef05815eae7c9d3bd36d78c04867ed4bd80ecdd61780163a0e82770bf9add630062eec9052eecfa765b5809234dec18d9bcd6d49801ca58d83dc8f4ba6dac071aae1418687ef0dda37c0691b6ffcef4dfd111fde4c80d8b63ff98e7ff4d57f74880cbe5605afc1bbf54db5809bee4b36ac3d29b5cbc03b75ca2ea1f3f56dac050328119437103b3dedb5ec8058bbdbc9ca2c3badd680b1245f21cc7a5a5c3ef4f475e3013b8f0d5c07d7782d73012735f2a42523c9ff000b6b015b9ee41ef777b8e8eb0127a415d1b6f17f3a6dac041e1a8d4009fb3a373002e7731df63dba5b5bde0232be8741661bafd5b6bc602779b0237307f9c0e2dedc405daf6046837f682dac042fa2c19c8dddafbadaf180100680026f61fd9b75a02587bd76d5c0d1b78e89bc01efd5c805c017f9d21ae7dbbc2dff0028cd6ddc7522dade020e64dd4efb80edde3a26fedde0eab867bea3ed16b9e30062e772bb03fce2c6f015f2ba258eac9f48e8ebac00ddef72fa0dd77671ac04e5605afc1bbf54db5809bee4b36ac3d29b5cbc03b75ca2ea1f3f56dac050328119437103b3dedb5ec8058bbdbc9ca2c3badd680b1245f21cc7a5a5c3ef4f475e3013b8f0d5c07d7782d73012735f2a42523c9ff0b6b015b9ee41ef777b8e8eb0127a415d1b6f17f3a6dac041e1a8d4009fb3a373002e7731df63dba5b5bde0232be8741661bafd5b6bc602779b0237307f9c0e2dedc405daf6046837f682dac042fa2c19c8dddafbadaf180100680026f61fd9b75a02587bd76d5c0d1b78e89bc01efd5c805c017f9d21ae7dbbc2dff28cd6ddc7522dade020e64dd4efb80edde3a26fedde0eab867bea3ed16b9e30062e772bb03fce2c6f015f2ba258eac9f48e8ebac00ddef72fa0dd77671ac04e5605afc1bbf54db5809bee4b36ac3d29b5cbc03b75ca2ea1f3f56dac050328119437103b3dedb5ec8058bbdbc9ca2c3badd680b1245f21cc7a5a5c3ef4f475e3013b8f0d5c07d7782d73012735f2a42523c9ff000b6b015b9ee41ef777b8e8eb0127a415d1b6f17f3a6dac041e1a8d4009fb3a373002e7731df63dba5b5bde0232be8741661bafd5b6bc602779b0237307f9c0e2dedc405daf6046837f682dac042fa2c19c8dddafbadaf180100680026f61fd9b75a02587bd76d5c0d1b78e89bc01efd5c805c017f9d21ae7dbbc2dff0028cd6ddc7522dade020e64dd4efb80edde3a26fedde0eab867bea3ed16b9e30062e772bb03fce2c6f015f2ba258eac9f48e8ebac00ddef72fa0dd77671ac04e5605afc1bbf54db5809bee4b36ac3d29b5cbc03b75ca2ea1f3f56dac050328119437103b3dedb5ec8058bbdbc9ca2c3badd680b1245f21cc7a5a5c3ef4f475e3013b8f0d5c07d7782d73012735f2a42523c9ff0b6b015b9ee41ef777b8e8eb0127a415d1b6f17f3a6dac041e1a8d4009fb3a373002e7731df63dba5b5bde0232be8741661bafd5b6bc602779b0237307f9c0e2dedc405daf6046837f682dac042fa2c19c8dddafbadaf180100680026f61fd9b75a02587bd76d5c0d1b78e89bc01efd5c805c017f9d21ae7dbbc2dff28cd6ddc7522dade020e64dd4efb80edde3a26fedde0eab867bea3ed16b9e30062e772bb03fce2c6f015f2ba258eac9f48e8ebac00ddef72fa0dd77671ac04e5605afc1bbf54db5809bee4b36ac3d29b5cbc03b75ca2ea1f3f56dac050328119437103b3dedb5ec8058bbdbc9ca2c3badd680b1245f21cc7a5a5c3ef4f475e3013b8f0d5c07d7782d73012735f2a42523c9ff000b6b015b9ee41ef777b8e8eb0127a415d1b6f17f3a6dac041e1a8d4009fb3a373002e7731df63dba5b5bde0232be8741661bafd5b6bc602779b0237307f9c0e2dedc405daf6046837f682dac042fa2c19c8dddafbadaf180100680026f61fd9b75a02587bd76d5c0d1b78e89bc01efd5c805c017f9d21ae7dbbc2dff0028cd6ddc7522dade020e64dd4efb80edde3a26fedde0eab867bea3ed16b9e30062e772bb03fce2c6f015f2ba258eac9f48e8ebac00ddef72fa0dd77671ac04e5605afc1bbf54db5809bee4b36ac3d29b5cbc03b75ca2ea1f3f56dac050328119437103b3dedb5ec8058bbdbc9ca2c3badd680b1245f21cc7a5a5c3ef4f475e3013b8f0d5c07d7782d73012735f2a42523c9ff0b6b015b9ee41ef777b8e8eb0127a415d1b6f17f3a6dac041e1a8d4009fb3a373002e7731df63dba5b5bde0232be8741661bafd5b6bc602779b0237307f9c0e2dedc405daf6046837f682dac042fa2c19c8dddafbadaf180100680026f61fd9b75a02587bd76d5c0d1b78e89bc05545c2ba01219c2776fb8b6b01a46dbff3bd37f4447f79320362d8ff00e639ff00d355fdd22033197ac46f72c35dfa5b5f6ef081dc42f2dfe6f26daf1806eb8e89f24757b3abac054800b8073ef207d832ebedde1c8dd7d41df943ebc3a3ac0326a45c24166fb53d1d602aaca45b2d89b6bf45c6b003bc8b1d72b69da971ade00ae93862cda26fa7cdade01aea8246ac069c5836b0166272b0cbbedbbe7ca6f0106c48ca389b6a78a6da9f6ed0ab023c9de961f67475809502090412962f9775f75b5f6ef070d199c1d47061d1d4c01817cc08f292dbf7374758081d521ba09ec1dba746e78c05ca6e6e5fdedbece8eb010c119410ccccdf3dc06d78c055bacccde52777730d6f012ed986bc08edde181bc046f7653a83e66fb193ab405831d1195c392cedda9b5cc01884b91db95b43c4747580a92e744bf9490fdedd13780b65eb11bdcb0d77e96d7dbbc207710bcb7f9bc9b6bc601bae3a27c91d5eceaeb0152002e01cfbc81f60cbafb77872375f5077e50faf0e8eb00c9a91709059bed4f47580aab2916cb626dafd171ac00ef22c75cada76a5c6b7802ba4e18b3689be9f36b7806baa091ab01a7160dac05989cac32efb6ef9f29bc041b12328e26da9e29b6a7dbb4284a1ae4237a6ddfa7475301554c4824172962f9375f75b5f6ef072a8b5c33383a8e0c3a3a9808e52597cd6f292de66e8eb0102627291ef13d83b74e8dcf180b95a5cf4afef7f85b5808e525a3282c1999be7b80daf180af288e9314b7949dddcc35bc04f2c9198383c08edde181bc0472a977bba83e66fb193ab40584d41d1395c392cedda9b5cc0394012e7bf2b68788e8eb01533904fbd7f2921fbdac6f016ce8e910a1772c35dfa5b5f6ef081353da1796ff37936d78c0395435db29f24757b3abac054cc402e3afbc81f606d7dbbc3933a7a7763bf287d78747580664dc82e120b37da9b6b01554d96458a6c4db5fa2e358019a9b90a00eb95b4ed4b8d6f0054e429c6e6d137d3e6d6f00e550750e356034e2c1b580b7280e56e8efb6ef9f29bc0419c9048e8f13da78a6da9f6ed0af292c8d4277a587d9d1d60255300241ba58be5dd7dd6d7dbbc1caa6d70cce0ea3830b6a601ca4b2f9ade525b7ee6e8eb0102627291ef13d83b74e8dcf180b95a5cf4afef7f85b5808e525a3282c1999be7b80daf180af288e9314b7949dddcc35bc04f2c9198383c08edde181bc0472a977bba83e66fb193ab40584d41d1395c392cedda9b5cc0394012e7bf2b68788e8eb01533904fbd7f2921fbdac6f016ce8e910a1772c35dfa5b5f6ef081353da1796ff37936d78c0395435db29f24757b3abac054cc402e3afbc81f606d7dbbc3933a7a7763bf287d78747580664dc82e120b37da9b6b01554d96458a6c4db5fa2e358019a9b90a00eb95b4ed4b8d6f0054e429c6e6d137d3e6d6f00e550750e356034e2c1b580b7280e56e8efb6ef9f29bc0419c9048e8f13da78a6da9f6ed0af292c8d4277a587d9d1d60255300241ba58be5dd7dd6d7dbbc1caa6d70cce0ea3830b6a601ca4b2f9ade525b7ee6e8eb0102627291ef13d83b74e8dcf180b95a5cf4afef7f85b5808e525a3282c1999be7b80daf180af288e9314b7949dddcc35bc04f2c9198383c08edde181bc0472a977bba83e66fb193ab40584d41d1395c392cedda9b5cc0394012e7bf2b68788e8eb01533904fbd7f2921fbdac6f016ce8e910a1772c35dfa5b5f6ef081353da1796ff37936d78c0395435db29f24757b3abac041992c17f7fbc81f60cbafb7785f944f4eec77e50faf0e8eb013991720b8482df7a6dac049c8a1d1ca589b6bf45c6b012779163ae56d3b52e35bc015d270c59b44df4f9b5bc035d5048d580d38b06d602cc4e561977db77cf94de020d891947136d4f14db53edda15604793bd2c3ece8eb012a041208252c5f2eebeeb6bedde0e1a33383a8e0c3a3a980302f9811e525b7ee6e8eb0103aa437413d83b74e8dcf180b94dcdcbfbdb7d9d1d602182328219999be7b80daf180ab75999bca4eeee61ade025db30d7811dbbc3037808deeca7507ccdf63275680b063a232b87259dbb536b9803109723b72b68788e8eb01525ce897f2921fbdba26f016cbd6237b961aefd2dafb77840ee21796ff0037936d78c0375c744f923abd9d5d602a4005c039f7903ec1975f6ef0e46ebea0efca1f5e1d1d60193522e120b37da9e8eb01556522d96c4db5fa2e35801de458eb95b4ed4b8d6f005749c3166d137d3e6d6f00d75412356034e2c1b580b31395865df6ddf3e5378083624651c4db53c536d4fb76855811e4ef4b0fb3a3ac04a810482094b17cbbafbadafb7783868cce0ea3830e8ea600c0be60479496dfb9ba3ac040ea90dd04f60edd3a373c602e537372fef6df6747580a2c04a58802d6e1bee2daf180d1f6dff9de9bfa223fbc9901b16c7ff31cff00e9aafee91019720b741eda01a5f7871ac04f604f445c1171d8536d600901c742e385db5d2dac032a75160bd0f0d74b6b010ca6de127725bce2daf180652350c06f02f7f7c186bc6000102e1b42193e94b7be808506dd76b148ed3d5b6b017366e8b11f3907b2d7540458f0402ed946ee22cef015cafb988bd9eddd6377809dcf95827de81bf735b57f6e20666b311a6506d72ed6d600ca0ee09ca5d3c7b5adaf1801dd993c5fbcbe9d1d4fb7684e549484e56d481ec3ad00d4db8976ddda971ac046555cdca87cff003a6dac04149e174eac3d28b6b0166eb5859dc04f11aa6dac04259cf4580de069dc00eb40380ca907b069da92dd680369bc5f8b0eeb6a7dbb420009f7bae85bd23a2cfedde12c5c8cb7b925b79074606f0020b741eda01a5f7871ac04f604f445c1171d8536d600901c742e385db5d2dac032a75160bd0f0d74b6b010ca6de127725bce2daf180652350c06f02f7f7c186bc6000102e1b42193e94b7be808506dd76b148ed3d5b6b017366e8b11f3907b2d7540458f0402ed946ee22cef015cae2e188bd9eddd6377801d0909609f7a06fdcc5b5f6ef0f18f0b78a56d061547cd2a6651a975494ad529450e0a662b50c75119e24e8db062f2f9ff00c64c6be39aefda267f9a30cd2eac91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe686693247241da4c69d3ff008cd76bf944ce1fad0cd2648e4276931aca9ffc66bb4fca267f9a19a49a23927c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324723c64c6be39aefda267f9a19a4c91c8f1931af8e6bbf6899fe68669324727d73b19573aaf67f099d51315326cca590b5cc21c92a402543f39cc7553b386addb6aada8bb58a4769eadb58955c86cdd1622fc483d96baa022c7820176ca3771167780ae57dcc45ecf6eeb1bbc04ee7cac13ef40dfb9adabfb7103335988d32836b976b6b006507704e52e9e3dad6d78c00eecc9e2fde5f4e8ea7dbb4272a4a4272b6a40f61d6806a6dc4bb6eed4b8d60232aae6e543e7f9d36d6020a4f0ba7561e945b580b375ac2cee02788d536d60212ce7a2c06f034ee0075a01c065483d834ed496eb401b4de2fc58775b53edda10004fbdd742de91d167f6ef0962e465bdc92dbc83a303780105ba0f6d00d2fbc38d6027b027a22e08b8ec29b6b00480e3a171c2edae96d601953a8b05e8786ba5b58086536f093b92de716d78c03291a86037817bfbe0c35e300008170da10c9f4a5bdf4042836ebb58a4769eadb580b9b374588f9c83d96baa022c7820176ca3771167780ae57dcc45ecf6eeb1bbc04ee7cac13ef40dfb9adabfb7103335988d32836b976b6b006507704e52e9e3dad6d78c00eecc9e2fde5f4e8ea7dbb4272a4a4272b6a40f61d6806a6dc4bb6eed4b8d60232aae6e543e7f9d36d602ab49ca430700b86b77a6daf180d236dff9de9bfa223fbc9901b16c7ff31cff00e9aafee9101976c9a8def945f71b8e8f5b8c018b9b750dc6e73bc5b58059ee3291a167de7ab6d7dbbc1755c1d2fa3b77745de0218e9a04dc7474d74e8ebc60252ec5b87bdb6bbc7475809e0a0328d3a23bf4b6b00eeb7161bcbdc58df8c054023450b3b04fda9b75a022d61c356d3fe5b758c0722ae0b8e8ea1b7f122dade02a52f6cae123cddd637e3002822da017eefd5b75a0074ea9649b902ee5ee3a3ac04904066767723b5f4b6b00709b02dab30fb2d73df0104117de2e193c787459e02198eee364e9fabd1d602c7811722dd962ed6d601c5decf9401e629b6b010417eb333eebf6e5b6b010da39f9d238ef4db5e30129d14c3a5ab7fdc75a025aeb21ddb5efbdadd6808e4c8be56290fd1fb47475f6ef0364d46f7ca2fb8dc747adc600c5cdba86e3739de2dac02cf71948d0b3ef3d5b6bedde0baae0e97d1dbbba2ef010c74d026e3a3a6ba7475e30129762dc3dedb5de3a3ac04f05019469d11dfa5b580775b8b0de5ee2c6fc602a011a2859d827ed4dbad0105adc06ada7fcb6eb18095dddc7445c36fe245b52f01c6b0e199c253e6ed1637e301f3ff86c519583d16e1cfa5b0ddf8a9dec633c5d9b60eef9af9cf6c73d9d3739cf6c2c5ce73db0b1739cf6c2c5d5554dd17dff00e06164dc454f4137dc2162656e73db0b22e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858b9ce7b6162e739ed858bbedad8057ffab580aaf7a1a5bb3ffe50eadb5bc75d3b38aaddbdbf076de40de5ee2c6fc625548047bed1d827ff008dbad0136b0e1ab69ff2dbac603915705c74750dbf8916d6f015297b657091e6eeb1bf18014116d00bf77eadbad003a754b24dc81772f71d1d6024820333b3b91dafa5b580384d816d5987d96b9ef808208bef170c9e3c3a2cf010cc7771b274fd5e8eb0163c08b916ecb176b6b00e2ef67ca00f314db580820bf5999f75fb72db58086d1cfce91c77a6daf18094e8a61d2d5bfee3ad012d7590eedaf7ded6eb40472645f2b1487e8fda3a3afb7781b26a37be517dc6e3a3d6e30062e6dd4371b9cef16d60167b8ca46859f79eadb5f6ef05d57074be8edddd17780863a681371d1d35d3a3af18094bb16e1ef6daef1d1d60278280ca34e88efd2dac03badc586f2f71637e3015008d142cec13f6a6dd6808b5870d5b4ff96dd6301c8ab82e3a3a86dfc48b6b780a94bdb2b848f37758df8c00a08b6805fbbf56dd6801d3aa5926e40bb97b8e8eb012410199d9dc8ed7d2dac01c26c0b6acc3ecb5cf7c041045f78b864f1e1d167808663bb8d93a7eaf4758095d81717cb6f3176b6bc60346db7fe77a6fe888fef26406c5b1ff00cc73ff00a6abfba440663a5d6096de1bb5ee2c5d50139754e9f9bab775b5bde0232d99d803d1395fe8db53012a0c1b4fd5ddda2c4b97bc0458ea0a586e01afe4d8dcbde002ec1bd1b8ef16d602b77b9218f48a469dd6d78c0586565707f7bf7b5cc04654df8f117f35ae78c04149b8cbaf4bbb5d2d73c602dd1529f28ca6efafce2da9801403994124dbcdda2daf18082d7ca2fadb776a6dade02729de32e5ea91b9df4b6bc7d9c248e96606ef661b8ef16d6f0009eef98333be96d602af736377709bb7eadb5bc04d810c0d83e501dbbadade020e8fa0eebb765ae4bc0477f59ec19dbf56c6f016504927ecff00286d60053ab0d2f6bb6ba5b5f6ef08e2e962be906f9ee9606fedde1395397aac4ee4eeeeb5cc00a425d252d6dde6716d6f00e975825b786ed7b8b175404e5d53a7e6eaddd6d6f7808cb667600f44e57fa36d4c04a8306d3f577768b12e5ef01163a82961b806bf936372f7800bb06f46e3bc5b580addee4863d2291a775b5e301619595c1fdefded730119537e3c45fcd6b9e301550371975e91ecd74b5cf180a9caa53e5e89bbff0088b6a60385601cca0926dec45b5e30186918360b8f62936971ac268718a59724cd452d6489751293333001694cd4a80532c87eded81765ff0093af07df21366beaca4f5511684e693f93af07df21766beaba4f550b419a4fe4ebc1f7c85d99fab293d542d06693f93af07df21366beaba4f550b419a5d69fe0f3c1f89b4606c36cd80a9a4287b994971c92cfc1c44c34a666d3e5f8c147e0ef6015494aa56c36cda94a9482a51c3291cf447e8e111a189339a7cdd9fe4ebc1f7c84d9afaae93d544da19e693f93af07df21366beaca4f570b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c84d9afab293d5c2d06693f93af07df21366beaca4f570b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c85d9afaae93d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaba4f550b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21366beaba4f550b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c85d9afaae93d542d06693f93af07df217667eaca4f550b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaba4f550b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaba4f550b419a4fe4ebc1f7c84d9afab293d5c2d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21366beaca4f570b419a4fe4ebc1f7c84d9afab293d5c2d06693f93af07df21366beaba4f550b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21766beaba4f550b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21366beaba4f550b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaba4f550b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21766beaba4f550b419a4fe4ebc1f7c85d99fab293d542d06693f93af07df21366beaba4f550b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaba4f550b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaca4f570b419a4fe4ebc1f7c84d9afab293d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c84d9afab293d5c2d06693f93af07df21366beaca4f570b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c85d9afaae93d542d06693f93af07df21366beaca4f550b419a4fe4ebc1f7c84d9afaae93d542d06693f93af07df21366beaba4f550b419a586a2914f47535947492534949493972a9e9e4a0225ca968514a1129290c0246806ed2250cea14920f07f7bf7b5cfb7787284a4bf11bc5fcd6b9e3016625c65d7a47d3a5ae78c05ba2a53e5194ddf5f9c5b53002807328249b79bb45b5e30105af945f5b6eed4db5bc04e53bc65cbd52373be96d78fb38491d2cc0ddecc371de2dade0013ddf306677d2dac055ee6c6eee1376fd5b6b7809b02181b07ca03b775b5bc041d1f41dd76ecb5c97808efeb3d833b7ead8de02ca0924fd9fe50dac00a7561a5ed76d74b6bedde11c5d2c57d20df3dd2c0dfdbbc272a72f5589dc9dddd6b9801484ba4a5adbbcce2dade01d2eb04b6f0ddaf7162ea809cbaa74fcdd5bbadadef01196ccec01e89caff46da98095060da7eaeeed1625cbde022c75052c3700d7f26c6e5ef001760de8dc778b6b015bbdc90c7a45234eeb6bc602c32b2b83fbdfbdae60232a6fc788bf9ad73c6020a4dc65d7a5ddae96b9e3016e8a94f9465377d7e716d4c00a01cca0926de6ed16d78c0416be517d6dbbb536d6f01394ef1972f548dcefa5b5e3ece12474b30377b30dc778b6b78004f77cc199df4b6b0157b9b1bbb84ddbf56dade026c08606c1f280eddd6d6f0155be426c35ff001d2da97bc068fb6ffcef4dfd111fde4c80d8b63ff98e7ff4d57f74880cc6a8b01c4a47f85ae600e5cfbdecd75de2dac041d4bf1e95bfb36d602185ce509e2121f5f25c6adac048b8de6ccbca37767475bc04a6f6b31e01afc430d78c054e6d082c7ac00f48b6bedde16201b11ddfe3bb5f6ef082d95f2dce9c78dadac04b29364bbea7d3a5ae6025b5b30e1c3f57a3726f01523ac169edb7cfa1637f6ef0331e90d6fa766a2dac0497495745f7b8fb45b58082ec6f6b074ff871301040bba41eedc3765b6b00600b136b82c3fb2c3578092f6275ed1e94db5bc049721f7fbe238f116d602039e91eb716efd2dac0193b93b9d87fdb5bc032dd4402129f26fd96b6b013d2b8502db88bb0ece8973edde05025fa20b5d605efd96d6020a5ca986f755becb6b013aa2c071291fe16b9803973ef7b35d778b6b010752fc7a56fecdb58086173942788487d7c971ab6b0122e379b32f28ddd9d1d6f0129bdacc7806bf10c35e301539b420b1eb003d22dafb77858806c4777f8eed7dbbc20b657cb73a71e36b6b0152149d1df53e9d2d7301c6adf661c387eaf46e4c074e668a0b4eb7b7cfa1637f6ef0a6cff00f3e5493a9a63fdb476406f7008040203ab51f8da1ff8c7fba99112d28da7cbf18287fd8a8ffe0cbfec8853b18bdf9f376a259900804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020101e68927dd3c505ca4d4ce71ff31d2dac06612c6c43f0ff001ddafb77873db2be5b9d38def6b6bedde1caca4d92efa9f4e96b980bb6b661c387eaf46e4de02a47582d3db6f9f42c6fedde0663d21adf4ecd45b58092e92ae8bef71f68b6b0105d8ded60e9ff000e260208177483ddb86ecb6d600c01626d70587f6586af0125ec4ebda3d29b6b78092e43eff7c471e22dac04073d23d6e2ddfa5b58032772773b0ffb6b78065ba8804253e4dfb2d6d6027a570a05b711761d9d12e7dbbc0a04bf4416bac0bdfb2dac0414b9530deeab7d96d602754580e2523fc2d730072e7def66baef16d6020ea5f8f4adfd9b6b010c2e7284f1090faf92e356d60245c6f3665e51bbb3a3ade02537b598f00d7e2186bc602a73684163d6007a45b5f6ef0b100d88eeff001ddafb778416caf96e74e3c6d6d6025949b25df53e9d2d73012dad9870e1fabd1b93780a91d60b4f6dbe7d0b1bfb778198f486b7d3b3516d6024ba4aba2fbdc7da2dac0417637b583a7fc389808205dd20f76e1bb2db580300589b5c161fd961abc0497b13af68f4a6dade00bba0967b1cdc1f8f7c068db6ff00cef4dfd111fde4c80d8b63ff0098e7ff004d57f74880cbb0d1afc586bc74d78c01887cbde1b4e0e9b6b00cb9897e1dfaef4db5809b680004f01d9a8b6b78014a5415d5b9ddfe16d6f015df61a8e8b7cee53637e30162d99b2848de1bb751d1d6f010a48ce2c027b05ae4f57b7dbbc248719826fd9a8d7464ea77c04e5b82c433dbb0be96d6f0116b962d67602ce3516ba8bc0400c4b07c9c058775b5f6ef08ed376d401bcbdc5b5bc00a46a2dbec2fde90dac00e6655adab0ede16d6fedbc2d953c125f7b7a45b5bde016570b9b5bbc38b6b78085243a8a59cee4fff001b6b0121883d0b7bd2077dc7475803029258155dd85f4d536d6f0109000622f772069dd63780b35c8ca47eae8351d171ac0430018bdb420697d406d6f010a003962950d585efc2dd6801b062185d8371e16d600c346bf161af1d35e300621f2f786d383a6dac032e625f877ebbd36d6026da00013c0766a2dade00529505756e777f85b5bc0577d86a3a2df3b94d8df8c058b666ca123786edd47475bc04292338b009ec16b93d5edf6ef093d5cc1371c351ae8c9d4c050a742c433dbb0be96d6f01d75b328b16b380059c6a2d751780e9aec4b5c2380b7cddbedde14d9c2f8e5571e6a5ff00ff00626037f804020101d5a8fc6d0ffc63fdd4c8896946d3e5f8c143fec549ff00065ff64429d8c5efcf9bb512cd0e1d9c3f08012033901f4801200725871808704b037e101680404404c0201008040201010e1d9efc20260100804020101018dc1041d0c04c02010080870edbf8404c020100808808ce8cd9330cfae47bf9a02d0080402010080402010080402010080402010080402010080404404c02010080f3007ff16c4c7fbccd7b7e79b8b1e3019600674b8197b05ae4f57b78fb387705d39826fd9a8d7464ea77c07365b82c433dbb0be96d6f016b5cb16b3b01671a8b5d45e020062583e4e02c3badafb7784769bb6a00de5ee2dade00523516df617ef486d6007332ad6d5876f0b6b7f6de16ca9e092fbdbd22dadef00b2b85cdadde1c5b5bc042921d452ce7727ff8db58090c41e85bde903bee3a3ac0181492c0aaeec2fa6a9b6b780848003117bb9034eeb1bc059ae46523f5741a8e8b8d6021800c5eda1034bea036b78085001cb14a86ac2f7e16eb400d8310c2ec1b8f0b6b0061a35f8b0d78e9af180310f97bc369c1d36d60197312fc3bf5de9b6b0136d00009e03b3516d6f00294a82bab73bbfc2dade02bbec351d16f9dca6c6fc602c5b3365091bc376ea3a3ade0214919c5804f60b5c9eaf6fb778490e3304dfb351ae8c9d4ef809cb7058867b7617d2dade022d72c5acec059c6a2d7517808018960f9380b0eeb6bedde11da6eda803797b8b6b780148d45b7d85fbd21b5801cccab5b561dbc2dadfdb785b2a7824bef6f48b6b7bc02cae1736b778716d6f010a487514b39dc9ffe36d6020b6451c8086394eedf71617e301a3edbff003bd37f4447f79320362d8ffe639ffd355fdd22032ea42439424df87da9b6b0100ddc200035b7cd6b6b016002b40cdd65a6eddd6d600c33590dbc96d2fa8b6b010779ca53e7ed36b1bfb77858a03a9ec4824b69de2d72602aa0386b72477771bc04942429cb83d603ee71ac03aa4eee013f3f56dafb778435cb0e26c375ee2cc4def016ec3ff301bddf4ede301002af60c3abc3bd36d602592b0417e2961e76ede30142c0dd0fe4dbec71ab404bd994079b8dedd1d602d9401749ec480edab3599fdbbc23def535bb2469da2dadfdb784b3e60776bbdb5ba6d730119479c02df66ed60232b8558beae3bce96d6019465e8f7b8b91faac35e3012a2fdadc03f1b8b1e94005b76e7fb58a6dadfdb7841e22e7ca172d7eadb580b5d3b98ea328dfc438d7dbbc2aa42439424df87da9b6b0100ddc200035b7cd6b6b016002b40cdd65a6eddd6d600c33590dbc96d2fa8b6b010779ca53e7ed36b1bfb77858a03a9ec4824b69de2d72602aa0386b72477771bc04942429cb83d603ee71ac04755f77009f9fab6d7dbbc3888b961b89b0dd7b8b3137bc070cce07e7037bbdc76f180e82f35ec2dd56d3bd36d601b345f1cabfe8c7bbf1897f9e03d02031d884faaa69689d4f2933a5a0bd4277e5ec80e8ccc684e4cb9587ca54daa9def48b23bf8c067519f227946cec33e5d1f7b4075ea3f1b43ff18ff7532225a51b4f97e3050ffb151ffc197fd910a76317bf3e6ed44b368d50327843c3d7f0d844c47d19c5501aced2cd9989e2c8c592b3ee7ecde2349494cdd55cf54d4aaa15ff002f45301b2ed4be2f8860fb2b2c9e4ea95cf3186dd4b24d927f5d76ef80c3e1b8ba91b43b57514385d4e2d55cb4ba59522404a512a552a325e62d92332b41d901b3d36d7e1f3705a9c6a7ca9f489a39caa7a9a3525e689e9207269035273080e04ed5cf9553432b14d9fadc2a9f129a9914956b54b58e517d44ad292e8780c3d5e398a4ddb1a4a59185d799185cb9a6752a2625299a26ab9344e50ccc53bc3de03d2a034d1b5e2a2a311a3c3307acc4eab0e9eb913512f2a51d0b663314400e6c06b01d8a4dadc3a7e0d538cd4a26d0cba39aaa7aba65879899c96fc18035273080e04ed64c953697dd4c0abf09a3ae989954f5d3b21485afaa26a524996fdb01dfc53681143572f0da4a1a8c5b14988e50d1c861925e817316a64a413017c231e9789cdaba49d493b0cc468329aaa19ece12aeaad2a4b8524f180c59daf55419d3308c0ebf17a1a7514cdaf959128565eb722145e63764060f09c7a844fda7dad589b3692a67d351e1f2929fc22ca258e825277a94b80d929369a6ab10a5c3b14c16af079b5f9b98cc98a44c9730a46629cc83d1536e80daa03cdb09c7315c476b6b5470caf97492254aa4994c662793a75a8f28664c48565cc470bc06767ed4e6aaa9a4c1f08abc71542ac9593e4e444a42c6a80b59199438080cae0b8d52e3948aa9a744c92b9331526aa9668cb3254d4f590a101d3daface61b338cd43b28d3aa520f6cefc18f4aa035cc37697dc8c1b0ecd81620305a491265af176481a04f2bc93e7c84dde0369c53682970e1488972a6e255988de828698665cc4ea56fa0481bcc070e19b43cf2b9585d7e1b5184623c9f2d2a9e714a9332582c4a1682416de20363dc5ecda980d34ed72aa39699846055f8c50d3a8a66e212b2250acbd6e4428bcc6ec80c4e078ce1eba8dabdafa89dc961cb99229e9e62817099328580d5d4a58b7180c92f6c974e89557886cfe234184ce5240c46664e867eaaa64b04a922032b8d6d251e093f0c913e54ea8562666090248ceae8006c917254540080ead1ed3ae762d4f8457e0d57854ead42d740b9a50a1339319943a04b10202b3b6a57327d4cac1f05acc6a55128cbaaab95911282d3d64a0ac8ce4764076fdd29d8e6cfcfabd9e50455cf42914fcb740ca9af954162eca440693b45b3981e0b81a563943b4b332731ae4cc98aaa9f54541ca6f77f477c07a85189e29294555ea84a47393fa4ca337a603b300804020100804020100804020100804020100804020100804020100804079616f75715b3ff00ad4d73f39d2d01984246604b826e91f738d603b883949dcfa04eefd5b6bedde1cc05f4b5cd86ebdc5989bde0397b0ffcc06f77d3b78c0400abd830eaf0ef4db580964ac105f8a5879dbb78c050b03743f936fb1c6ad012f66501e6e37b747580b65005d27b1203b6acd667f6ef08f7bd4d6ec91a768b6b7f6de12cf981ddaef6d6e9b5cc04651e700b7d9bb5808cae1562fab8ef3a5b58065197a3dee2e47eab0d78c04a8bf6b700fc6e2c7a50016ddb9fed629b6b7f6de10788b9f285cb5fab6d602d74ee63a8ca37f10e35f6ef0aa9090e50937e1f6a6dac04037708000d6df35adac05800ad03375969bb775b58030cd6436f25b4bea2dac041de7294f9fb4dac6fedde16280ea7b12092da778b5c980aa80e1adc91dddc6f0125090a72e0f580fb9c6b00ea93bb804fcfd5b6bedde10d72c389b0dd7b8b3137bc05bb0ffcc06f77d3b78c0400abd830eaf0ef4db580964ac105f8a5879dbb78c050b03743f936fb1c6ad012f66501e6e37b747580b65005d27b1203b6acd667f6ef08f7bd4d6ec91a768b6b7f6de12cf981ddaef6d6e9b5cc051491955b9d2ff76ed60347db7fe77a6fe888fef26406c5b1ff00cc73ff00a6abfba4406580ed481b80f465b6af017627deb003501edbb2dae6021fa576e01aff003871af1808d41e8f1766dfbd36b980926e0eadc3d396daf1808e8dec5f88b3768b1bde00fbb2b3f55be7b82dd67300247543ddf35becdd9bdbbc195f76509bba477dd36d60177df6e0347bdadaf1f67092007edea1ecbf56dac057212ef66d5b70fcdb6bc602486396d676e37e16b923db881b7d94fd6cb7ef2036a77c0588291c14751dfe4d8b980ab861616f278f116b9bde025facdd1716fbc30d6f78082cccd61a307d4fbdb6b007e09ddd5d5b894b8d6fedbc25d26e74dd96f7bdc5bad780abb8cc439dde9ea920dfdbbc272e516246f2c2dbc746da98096b1b1046e03ce536d7dbbc2a43f540091bc0d35d2c6f016c852ead08dc2e1bf36dabc0540ed481b80f465b6af017627deb003501edbb2dae6021fa576e01aff3871af1808d41e8f1766dfbd36b980926e0eadc3d396daf1808e8dec5f88b3768b1bde00fbb2b3f55be7b82dd67300247543ddf35becdd9bdbbc20a5ded9426ee91df74db580e353b9d6dc068fc2daf1f670ebcd619bb7a87b2fd5b6b018f9892429ec46adb87e6db5809d99718e56278531f4cc4fa603d0a031d88512ead0832a69933e41cd24bd9fb60303228eb2aa62e4aa4268900b564d4862b3c06ef35b7f0840db10912d094024840001373680e0a8fc6d0ff00c63fdd4c8896946d3e5f8c143fec547ff065ff0064429d8c5efcf9bb512cde63b675f3709da0c12ba9e599b553a92ae9e8e580f9a72f2a658fa4b101d8c7f0b4e0db06ba5073cca134f3a7cdf2e6f3842a62fe724c0777671426cbc6b6c2ac11ee8952a901d51454e0897dd99b3180e5d8a9628f6624d754322656f2d5d59338f28a2a7fa004069f87e21574b85e0125351230c99b575959595589cf4266265329d3942fa3996199e039ea391aada8d9ac395b493f1b32a7aaaaa732a509085c94e69612252427393db6f9e0361d9fa9a7a9daadad9eb9f2c5472b2a969e9ca867c94e8216529d48260376a89e8a6913ea667e2e9d0a98b3d890e60351d8a9628f6624d754746656f2d5d59338e75153fd00203405495ab02d98adaba95e1f4d8a62d3ababab92c7919b30ab9159771bb53019cc428e96b27d0e0d3b6bf10c657884d4b52538a7999420e7e52614b6548d5e029264e7da5da9e71b473767eaccf4112de52795a708fc1a819a2ec38690154d38a9a2dadc570dc5310c66aa4d14ca1e7b3132c4b98074d5c82a5dd5943ddb7da0366a0da2d9fc2f6630f9f2eb246491492c4aa342d266a961174040be6cdac06b7860c191b2f82e1b8fa17211b4b367d4a6b0108972a6e6ce826612321296cb680cc6135b5747b414f811c5e5ed250ce913274ba856554fa5c9a728b4d959b4737ff10f4280f3cd8ea8455d0ed155d3cf96ac4711adaa9e9939867427ab2814ea0404ec7e2f82e1db2f4c2a2ba4524da4e53dd29535613344ecea2bcc93d224ee80efec6ca9d32462d8bcd92aa74e3b5b32a6964a831127aa82471533c0747c20d54845260d455009a7abaf94aae003ff00ab48e9ce2c380626039f6ab1cc3a660b518761f512711afc611cda828e4293314ae56d9992ec0072f01ae2e8554db4f2e8eab1c99824ca6c269a461f549c8d39280d352153437583b4065b05a7a5acda413918f5763b3b0494a7a9299469872e3299626219d5bfe680da76a39c78bb8d7340a33cd2ccc813ab65e9336f6780c3d06d160185ecc61f3e5d64832e4d24b12a8d0b499aa5845d0102f9b36b01a64a909a5d9bd8fabae4e4c3ea314e7b8aa9ba09e514a328abf359a036bdafc529310c30e03864f93886278d2912a9e44950999539829531795f2a401ac05e5494d4edbcb97d795b3b85a5092774e9ead7e79701c789f2d5bb5e514c334cc13089f36436ea8a9e8247ce980d630014b4fb3b4f51e3b4fc2d14e851a9a01c8854b98e4ad010a19c9274e301beec8d249a4c184f9532ad72f119932b14bab4a5137f09bca50e03b3fcf01d6d9ea3a2afacafda5555cac5a7d4ce5cba0a9015969e426c99680b018f944406e5008040201008040201008040201008040201008040201008040201008040203cac9ffc5b151fef3358ff00cc74edbc065924681eef9adf66ecd01dd4241dd9426ee91df74db580e7bf6db80d1ef6b6bc7d9c394801fb7a87b2fd5b6b015c84bbd9b56dc3f36daf1809218e5b59db8df85ae48f6e206df653f5b2dfbc80da9df01620a47051d477f9362e602ae18585bc9e3c45ae6f78097eb3745c5bef0c35bde020b3335868c1f53ef6dac01f827775756e252e35bfb6f09749b9d3765bdef716eb5e02aee3310e777a7aa4837f6ef09cb945891bcb0b6f1d1b6a6025ac6c411b80f394db5f6ef0a90fd500246f034d74b1bc05b214bab42370b86fcdb6af01503b5206e03d196dabc05d89f7ac00d407b6ecb6b98087e95db806bfce1c6bc6023507a3c5d9b7ef4dae60249b83ab70f4e5b6bc6023a37b17e22cdda2c6f7803eecacfd56f9ee0b759cc0091d50f77cd6fb3766f6ef0657dd9426ee91df74db5805df7db80d1ef6b6bc7d9c24801fb7a87b2fd5b6b015c84bbd9b56dc3f36daf1809218e5b59db8df85ae48f6e206df653f5b2dfbc80da9df01620a47051d477f9362e602ae18585bc9e3c45ae6f78097eb3745c5bef0c35bde020b3335868c1f53ef6dac0428d94c9dc6cf61c48edbdfd9c347db7fe77a6fe888fef26406c5b1ff00cc73ff00a6abfba44066122ce37dec34e0ddb0025c9b587ce2fe4dae6fedbc2a40535bedd3b2d73edde16094b123cc9ddc08b173f3c0404a731e88b1bdbbf4b6bedde16502cf9587670ecb6b7d2021ec19c02387d96d6f012efaea937b77e9d1d601c98d5bb4803717d186b0143c093c430fb2dac07210ee3314fcdda74b6b01566eb016b16bf1d2da980ae5b94e509de481e76b6bedde1c85c0516f379adadcfb76857b08ef61f70d7dbbc2a109ded7d08e1d96b9e3ece16580069a70bdefa38d6d780b048d0245fc9e1e6d6028cca502189766bebc2ddbedbc27379b786fe1af1809ca0bfce4d9dbf56dafb778414e4d2c46ac3ecb33de0200eb1bdcdf2876d7abd1d602c537770772bb1f85b580aa86a7202c6f6fb3a3a980948b38df7b0d38376c009726d61f38bf936b9bfb6f0a9014d6fb74ecb5cfb77858252c48f32777022c5cfcf010129cc7a22c6f6efd2dafb7785940b3e561d9c3b2dadf48087b067008e1f65b5bc04bbebaa4deddfa747580832c33b769006e3c186b01c0be049e2187d96d60386607046629f9bb4e96d6031f3437580b58b5f8e96d4c046cc06c76b465cbfeac74fd74f6080f43804020101d5a8fc6d0ff00c63fdd4c8896946d3e5f8c143fec549ff065ff0064429d8c5efcf9bb512cdd69d4749513644fa8a5933e75292aa69cb4254a964ea5048749b0d202f3e9e454ca5d3d4c997512265a6499890b42bbd2a7060239b53f37e69c84be6b9392e6d94727c9b65c995999acd01229e9c48e6a244b14a11c90a6ca393c8cd932e8cd6680eb4ec2f0da9a54514fc3e9a6d1ca6e4a9552d265a1ac32a5983764051183e132f9b7278652239928ae8f2ca40e4d4755218589680e54e1d87a2ad55e8a1a74572c32eb04b4f2a476ad9e03b3325cb9d2d72674b4cd953525336528664a926c4106c41101514f4e29f9a8912c528472429824727c9b364cba3359a029cce939b732e6b279984e4e69913c9e51ef72365680e0a3c270cc38ad5418752d1aa675d5265a504fce0402b70ac3311c86bf0fa6ad28ea2a6cb4ac8ee24180edc993269e5224d3c9448932c34b952d212903b00b4063d38160a89b327a708a14ce9c1426cc1225ba82c3281b7be06fc603b3370fa19f4a9a29d454f368d0025148a96932c04d920219836e80ad16198761a95270fa1a7a20bebf252d28cddec2f01de80e953e1d41493a74fa5a1a7a69f51fed13a5cb4a14bdfd2205e03866e0b83cfa8e793f0aa39d55bea17250a5f9c8780c9c0704ca5a69d3254e9d4f2a6cd921424cd52029480b0cb09274cc35e301d4a5c1f09a098a9d458652524d575a6ca94842bce040735661f4188a04aafa291592d374a66a12b6ed1985a02f4b494b432848a3a6954924692a520213e64b4076603149c0b0444d9b3d38450a674e0a13660912dd4161940dbdf037e301dee6b4dcdf99f3795cd4239314b907279006cb91999b74075a8f0ac330e2a55061d4b46a5f5d52652104f63a44076514d4f2e74fa8972254ba8a9cbce67a5202e6640c9cca17530d1e008a6a7973a754a29e522a27e513ea128016b09b273299cb6e780e8ccc0f069d53cf26e134536a9f31a8549415bf176d60326a4a54929524292a0ca49b820ee80e1a6a5a6a3949a7a3a6954b212f964ca404243dcb2520080ec40201008040202202601008040201008040201008040201008040201008040203cac96c5f15d47facccbb7e71d2dac065e597d750787d9d1d603ba996356ed200dc5f461ac072f6127570c3ecb6b01d821dc6629f9bb4e96d602acdd602d62d7e3a5b53015cb729ca13bc903ced6d7dbbc390b80a2de6f35b5b9f6ed0af611dec3ee1afb77854213bdafa11c3b2d73c7d9c2cb000d34e17bdf471adaf016091a048bf93c3cdac051994a04312ecd7d785bb7db784e6f36f0dfc35e30139417f9c9b3b7eadb5f6ef0829c9a588d587d9667bc0401d637b9be50edaf57a3ac058a6eee0ee5763f0b6b01550d4e4058dedf67475301291671bef61a706ed8012e4dac3e717f26d737f6de152029adf6e9d96b9f6ef0b04a5891e64eee0458b9f9e02025398f4458deddfa5b5f6ef0b28167cac3b38765b5be9010f60ce011c3ecb6b780977d7549bdbbf4e8eb00e4c6adda401b8be8c3580a1e049e2187d96d60390877198a7e6ed3a5b580ab37580b58b5f8e96d4c0572dca7284ef240f3b5b5f6ef0e42e028b79bcd6d6e7dbb42bd8477b0fb86bedde15084ef6be8470ecb5cf1f670b2c0034d385ef7d1c6b6bc0582468122fe4f0f36b01c6ab6770c58e97171c5bb7db7868fb6ffcef4dfd111fde4c80d8b63ff98e7ff4d57f74880cb5ba4082fa25bb756b6bc6025897ecbe9dfa0cb73edde055acd7b9e88df71d1b6b0117beac6e1b4bf0e8ebedde165235707a3671a8df6b75a02cdd66d06a7cf74dae602ad7198101b76e7de9b6b010a0028316bdc00edda9b6bedde1201bb8213ae9c778b6bc600f9520333dd80d2fa8b6bedde0d140e53d10fd5f48fce80ae501403311c34d3758fcf00512d99dd5d9bb5d2dafb77849fccea8d080fc7abd1d6f012da93a6a1839dfa5b5f6ef0a393d5b7be0df39e8f47580be53d2d7b7fe6f9b58065087b11f9a3fc3b78c04a828136bb1eaeeed1d1d602328ca5ecda9037f116eb7180a8d2ce7297b0f48b1e97b77859ba41c5c39240d3b45b5bfb6f03e6bb1367603b351dbedde10dd10e9609d0817bf0b6b001601992953bd9f8e96b9808b748105f44b76ead6d78c04b12fd97d3bf4196e7dbbc0ab59af73d11bee3a36d6022f7d58dc3697e1d1d7dbbc2ca46ae0f46ce351bed6eb4059bacda0d4f9ee9b5cc055ae3302036edcfbd36d60214005062d7b801dbb536d7dbbc0c58b8213a9b71de2daf180e3272a40667bb01a5f516d7dbbc3acb0c41ca6c09eafa47e74063a6a40533311c34d3758fcf013b31fcf956e5cf362edff00113d901e870080880980ead47e368bfe31feea6444b4a369f2fc60a1ff0062a3ff00832ffb2214ec62f7e7cdda89664020100804020100804020100804020100804020100808809804020100804020100804020100804020100804020100804020101101300804020100804020100804020100804079511ff8c62af99b9ccd6ece91ba6dac06592c142ed7bb07f9d36d7dbbc3bc80778213ae9c778b6bc603b093952cccee580d2fa8b6bedde1c9a281ca7a21fabe91f9d015ca02806623869a6eb1f9e00a25b33babb376ba5b5f6ef093f99d51a101f8f57a3ade025b5274d43073bf4b6bedde14727ab6f7c1be73d1e8eb017ca7a5af6ffcdf36b00ca10f623f347f876f1809505026d763d5ddda3a3ac0465194bd9b5206fe22dd6e30151a59ce52f61e9163d2f6ef0b374838b872481a768b6b7f6de07cd7626cec0766a3b7dbbc21ba21d2c13a102f7e16d6002c033252a77b3f1d2d730116e9020be896edd5adaf1809625fb2fa77e832dcfb778156b35ee7a237dc746dac045efab1b86d2fc3a3afb7785948d5c1e8d9c6a37dadd680b3759b41a9f3dd36b980ab5c660406ddb9f7a6dac042800a0c5af7003b76a6dafb7784806ee084eba71de2daf1803e5480ccf76034bea2dafb7783450394f443f57d23f3a02b940500cc470d34dd63f3c0144b66775766ed74b6bedde127f33aa34203f1eaf475bc04b6a4e9a860e77e96d7dbbc28e4f56def837ce7a3d1d602f94f4b5edff9be6d6019421ec47e68ff000ede3009892cbb5d8f777e9af180d176dff9de9bfa223fbc9901b16c7ff31cff00e9aafee9101992eeec74716767f26dac03282ea29e374eefd5b5c98087568cc3771bbe96eb71f6708dd7eb0074dd7dd6d6f017198024393f67a2e6028d7d129dce3fc2dac0496d42036e0cfb8e8c0de0274b311ab35f8dd3637e301501b706d580ec6716d4bfb6f096019ba2dbd3bb5d2c7a5010a04dae2d76bdbf36d730129e8a8b8b6ff4dc5b5e3000fd260ab5dd3a7cd6d4c03824803b87a438d60248c9d54e52da0b81ae96eb4045ca83b01776e37d3b78c01b462d676edf31bef8095be845869e9b8b1bfb778406d183e819adb8b5ae601c7a2ccec536e3d5b6b002eaddfc0bea9e8ebc600c3781a1bb717eaf6c01981d48008ca3777747ad014292c546e4f0f9faa5b580b93d116e92756fb45b5ec8092eeec74716767f26dac03282ea29e374eefd5b5c98087568cc3771bbe96eb71f6708dd7eb0074dd7dd6d6f017198024393f67a2e6028d7d129dce3fc2dac0496d42036e0cfb8e8c0de0274b311ab35f8dd3637e301566dc1b5200ec6716d4bfb6f0e350019ba2c354eed74b1e9407526826d716bb70fcdb5cc07457d151716dfe9b8b6b00d98fe7dadfe8c74d3ae980f43804020101d5a8fc6d0ff00c63fdd4c8896946d3e5f8c143fec549ff065ff0064429d8c5efcf9bb512cc80402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080f2a3fcef8a9caed553773ef3a58c065e5dacc46acd7e3716d78c0775019ac1ae4803b19c5b52fedbc3b0c033745b7a777758f4a02ea04dae2d76bdbf36d730129e8a8b8b6ff4dc5b5e3000fd260ab5dd3a7cd6d4c03824803b87a438d60248c9d54e52da0b81ae96eb4045ca83b01776e37d3b78c01b462d676edf31bef8095be845869e9b8b1bfb778406d183e819adb8b5ae601c7a2ccec536e3d5b6b002eaddfc0bea9e8ebc600c3781a1bb717eaf6c01981d48008ca3777747ad014292c546e4f0f9faa5b580b93d116e92756fb45b5ec8092eeec74716767f26dac03282ea29e374eefd5b5c98087568cc3771bbe96eb71f6708dd7eb0074dd7dd6d6f017198024393f67a2e6028d7d129dce3fc2dac0496d42036e0cfb8e8c0de0274b311ab35f8dd3637e301501b706d580ec6716d4bfb6f096019ba2dbd3bb5d2c7a5010a04dae2d76bdbf36d730129e8a8b8b6ff004dc5b5e3000fd260ab5dd3a7cd6d4c03824803b87a438d60248c9d54e52da0b81ae96eb4045ca83b01776e37d3b78c01b462d676edf31bef8095be845869e9b8b1bfb778514c12ab24962dd9c776b01a3edbff003bd37f4447f79320362d8ffe639ffd355fdd22032c2f7de2f9801ff4db580b972ce471b5dbf56dac056d661d11a1034d74b1bc04b900e50cdb93e771d1d6f011d5258757c9ff00e3667ec8096574bdeb12ec38ef4db5803102cc0a6ec07a459b340490058b25b448bb7eadbad0153a329fa5d8cdae963d2bfb6f095060ccf9740c3fe9b6a602344b0d41b80f6eeb6b00eab17d2e1bb5ee1c1bfb7785492fbdb5290343f9b6d78c05c38700802e6cdbf85ae6022dff003104a728f391f9d012c07bd1d81b472ce3a3ac0093ef8586875d7c9e8dcc04749806eab681fe716d60272906fbb8076ed05bac602424df4b68a1b9f85b53010ce6c78e6649e074fcebfb6f00b92b0e0ef6ff0000daf1f670860f7000e291c7830d600d75763902fe8b6bedde027a394683458e3f9ac3530102f7de2f9801ff004db580b972ce471b5dbf56dac056d661d11a1034d74b1bc04b900e50cdb93e771d1d6f011d5258757c9ffe3667ec8096574bdeb12ec38ef4db5803102cc0a6ec07a459b340490058b25b448bb7eadbad014575594fd2ec66d74b1e95fdb78526060ccf9740c3fe9b6a603a93032586a3501eddd6d603a337a377d2e1bb5ee2dafb778576669e5d56395889a660029576973264a62a2106e8292ecaf98b1d40301e8aac369579dcd40cf99daa278eb728eccbb7e34b369d16ea2580ac3695799cd474f33b544f1d6e51d9976fc6966d3a2dd44b0158652af3b9a8e9e676a89e3adca3b32edf8d2cda745ba89602b0da55e77351d3cced513c75b94766586fc6966d3a2dd44b075ea70ea654ca604d47e166ac29a7ce1d6953c9cacbe8fe30b369d16eaa5a257a769f2fc615a4c32957454ce6a06792976a89e3ac95bb32edf8d2cda745ba89653b2717bf3e6ed2b0ca65e77351d3cced513c75b947665dbf1a59b4e8b7552d2cc561b4abcee6a3a799daa278eb728eccbb7e34b369d16ea2580ac369579dcd40cf99daa278eb728eccbb7e34b369d16ea2580ac3295799cd40cf99daa278eb728eccbb7e34b369d16ea2580ac329579dcd474f33b544f1d6e51d9976fc6966d3a2dd44b01586d2af3b9a819f33b544f1d6e51d9976fc6966d3a2dd44b01586d2af3b9a8e9e676a89e3adca3b32edf8d2cda745baa9602b0da65e67351d3cced513c75b947665dbf1a59b4e8b7512c0561b4abcce6a3a799daa278eb728eccbb7e34b369d16ea2580ac369959dcd474f33e5a89e3adca3b32edf8d2cda745ba89602b0da55677351d3cced513c75b947665dbf1a59b4e8b7512c056194abcee6a3a799daa278eb728eccbb7e34b369d16ea2580ac329579dcd474f33b544f1d6e51d9976fc6966d3a2dd54b0158652ab3b9a819f33b544f1d6e51d9976fc6966d3a2dd44b01586d2af3b9a9e9e676a89e9eb728eccbb7e34b369d16ea2580ac329579dcd474f33b544f1d6e51d9976fc6966d3a2dd44b01586d2ab3b9a8e9e6ccd513c75b947665dbf1a59b4e8b7512c0561b4aacce6a3a799daa278eb728eccbb7e34b369d16ea2580ac369579dcd474f33b544f4f5b947665dbf1a59b4e8b7512c0561b4abcee6a067cced513c75b947665dbf1a59b4e8b7512c0561b4abcce6a3a799daa278eb728eccbb7e34b369d16ea2580ac329579dcd474f33b544f1d6e51d9976fc6966d3a2dd44b01586d2af3b9a8e9e676a89e3adca3b32c37e34b369d16ea2580ac369579dcd474f33b544f1d6e51d9976fc6966d3a2dd44b0158652af3b9a8e9e676a89e3adca3b32edf8d2cda745ba89602b0ca65e77351d3cced513c75b947665dbf1a59b4e8b7552c0561b4abcee6a3a799daa278eb728eccbb7e34b369d16ea2580ac369579dcd40cf99daa278eb728eccbb7e34b369d16ea2580ac3295799cd40cf99daa278eb728eccbb7e34b369d16ea2580ac329579dcd474f33b544f1d6e51d9976fc6966d3a2dd44b01586d2af3b9a819f33b544f1d6e51d9976fc6966d3a2dd44b01586d2af3b9a8e9e676a89e3adca3b32edf8d2cda745baa9602b0da65e67351d3cced513c75b947665dbf1a59b4e8b7512c0561b4abcce6a3a799daa278eb728eccbb7e34b369d16ea2580ac369959dcd474f33e5a89e3adca3b32edf8d2cda745ba89602b0da55677351d3cced513c75b947665dbf1a59b4e8b7512c056194abcee6a3a799daa278eb728eccbb7e34b369d16ea2580ac329579dcd474f33b544f1d6e51d9976fc6966d3a2dd54b0158652ab3b9a819f33b544f1d6e51d9976fc6966d3a2dd44b01586d2af3b9a9e9e676a89e9eb728eccbb7e34b369d16ea2580ac329579dcd474f33b544f1d6e51d9976fc6966d3a2dd44b01586d2ab3b9a8e9e6ccd513c75b947665dbf1a59b4e8b7512c0561b4aacce6a3a799daa278eb728eccbb7e34b369d16ea2580ac369579dcd474f33b544f4f5b947665dbf1a59b4e8b7512c0561b4abcee6a067cced513c75b947665dbf1a59b4e8b7512c0561b4abcce6a3a799daa278eb728eccbb7e34b369d16ea2580ac329579dcd474f33b544f1d6e51d9976fc6966d3a2dd44b01586d2af3b9a8e9e676a89e3adca3b32c37e34b369d16ea2580ac369579dcd474f33b544f1d6e51d9976fc6966d3a2dd44b0158652af3b9a8e9e676a89e3adca3b32edf8d2cda745ba89602b0ca65e77351d3cced513c75b947665dbf1a59b4e8b7552c0561b4abcee6a3a799daa278eb728eccbb7e34b369d16ea2580ac369579dcd40cf99daa278eb728eccbb7e34b369d16ea2580ac3295799cd40cf99daa278eb728eccbb7e34b369d16ea2580ac329579dcd474f33b544f1d6e51d9976fc6966d3a2dd44b01586d2af3b9a819f33b544f1d6e51d9976fc6966d3a2dd44b01586d2af3b9a8e9e676a89e3adca3b32edf8d2cda745baa9602b0da65e67351d3cced513c75b947665dbf1a59b4e8b7512c0561b4abcce6a3a799daa278eb728eccbb7e34b369d16ea2580ac369959dcd474f33e5a89e3adca3b32edf8d2cda745ba89602b0da55677351d3cced513c75b947665dbf1a59b4e8b7512c056194abcee6a3a799daa278eb728eccbb7e34b369d16ea2583ca79312714c4e5cb52b2c9a89894e65296a64a880732b3152bbc930198400031b7048bb775b580ee27aa029fa4fb99b5d2c7a57f6de1da218333e5d030ff00a6da980b68961a83701eddd6d601d562fa5c376bdc3837f6ef0a925f7b6a520687f36daf180b870e01005cd9b7f0b5cc045bfe62094e51e723f3a02580f7a3b0368e59c747580127df0b0d0ebaf93d1b9808e9300dd56d03fce2dac04e520df7700edda0b758c04849be96d14373f0b6a60219cd8f1ccc93c0e9f9d7f6de0172561c1dedfe01b5e3ece10c1ee001c5238f061ac01aeaec7205fd16d7dbbc04f4728d068b1c7f3586a60205efbc5f3003fe9b6b0172e59c8e36bb7eadb580adacc3a2342069ae96378097201ca19b727cee3a3ade023aa4b0eaf93ffc6ccfd9012cae97bd625d871de9b6b0062059814dd80f48b366809200b164b689176fd5b75a02a74653f4bb19b5d2c7a57f6de12a0c199f2e8187fd36d4c0468961a83701eddd6d601d562fa5c376bdc3837f6ef0a925f7b6a520687f36daf180b870e01005cd9b7f0b5cc045bfe62094e51e723f3a02580f7a3b0368e59c747580127df0b0d0ebaf93d1b9808e9300dd56d03fce2dac042d24053b581ee1adc16d4ef80d1f6dff009de9bfa223fbc9901b16c7ff0031cffe9aafee9101973ef811a6a07da2dadfdb78481c52599c11b89d32db58035956722d606dae96d6028036a3a274501e62036b0166297b9007929d7b9c6b010500b2729b0259bfb36b98092e06997b06efd5b1b9809395c82963d9ff00c6c5cc01432e6395c962c077e840d60232d88cba7a3b536d78c0491c5dfdf650eddc5b58065e1de34d0bdc7475bc045c0b8d356dc4bdd36d6fedbc07536e96ae9ff0f9e0248e1d1f2bbcf9367780aad2e58259b4481bb882dac0087bb3286a18b8ed072f5a02dbef98b6f0347e1d1d60212866212ce1dc6ed7ab6d78c037170e12d617f35b57d60272850394585cb5fcd6d4c041eb1b1001d40e3e486d78c05b290fd1091c07f85b53edda15cbaeae3736ef293d1d6024823835ee35bbb10c358083ef811a6a07da2dadfdb78481c52599c11b89d32db58035956722d606dae96d6028036a3a274501e62036b0166297b9007929d7b9c6b010500b2729b0259bfb36b98092e06997b06efd5b1b9809395c82963d9ffc6c5cc0428650a395c962c077e840d6038949b11974f476a6daf180eb4d1c5dfdf651a7716d603a3353ab1eed3420dc5b5bc04ec9294368ea9077d12c96d1c4d97a79ef01ea3008040203ab51f8da1ff8c7fba99112d28da7cbf18287fd8a8ffe0cbfec8853b18bdf9f376a25990080402010080402022026010080402010080402010080402010080402010080402010080404404c020100804020100804020100804020100804020100804020100808809804078c662ac5f1957fbed4247cd3543a3637b40661196e0a58f67ff1b17301de0328272b937603bf4206b01d809b11974f476a6daf180e4238bbfbeca1dbb8b6b00cbc3bc69a17b8e8eb7808b8171a6adb897ba6dadfdb780ea6dd2d5d3fe1f3c0491c3a3e5779f26cef0155a5cb04b36890377105b58010f76650d43171da0e5eb405b7df316de068fc3a3ac04250cc4259c3b8ddaf56daf1806e2e1c25ac2fe6b6afac04e50a0728b0b96bf9ada98083d6362003a81c7c90daf180b6521fa212380ff0b6a7dbb42b975d5c6e6dde527a3ac04904706bdc6b7762186b0107df0234d40fb45b5bfb6f09038a4b33823713a65b6b006b2ace45ac0db5d2dac05006d4744e8a03cc406d602cc52f7200f253af738d6020a0164e53604b37f66d730125c0d32f60ddfab637301272b9052c7b3ff8d8b9802865cc72b92c580efd081ac0465b11974f476a6daf1809238bbfbeca1dbb8b6b00cbc3bc69a17b8e8eb7808b8171a6adb897ba6dadfdb780ea6dd2d5d3fe1f3c0491c3a3e5779f26cef0155a5cb04b36890377105b58010f76650d43171da0e5eb405b7df316de068fc3a3ac05323209cbaa5c9e1ae96d78c0691b6ffcef4dfd111fde4c80d8b63ff98e7ff4d57f74880cc3d9943bc80ecefa16d6fedbc191ad71a866761c536d602021472db2b7be1bbd17301041254e086e02f7e16d78fb3859c0ccc143825234eeb6b00705dd37507b0bff00cb6b980aea0b94eae401c7c9b75a00746b1491b87f67a373016c8daf45c176ede162e602b940d4dd20b65f4316d6026c32f41c27466f38b6b00526fb9cdc801f8b949cbafb77800296e1bd803c4746d730060b2eca4b5ba2347bdadadef00ca6cc01b116166e22dac00a5494687f5756eee8ea601959dc17e2dbafd5b6bc602733ee2c6e5c7f66dac04137043277d83f1eadb5bc0389e8bddb28fb2c6e77c032e624b77903ec71ac00a7473a06205fe8ba7580060cd7291d8c09de9b6bedde001d25211940d7f87475e3011977d9ae4651e901b5f6ef0b3d9943bc80ecefa16d6fedbc191ad71a866761c536d602021472db2b7be1bbd17301041254e086e02f7e16d78fb3859c0ccc143825234eeb6b00705dd37507b0bffcb6b980aea0b94eae401c7c9b75a00746b1491b87f67a37301250cefd17176ede162e60385490353748b65f4316d603ad31804f41c24599bce2dac074678bee7372007e37496d7dbbc1b241b69a7ff419ba69f8e95a58407a9c02010080ead47e3a87fe31feea6444b4a369f2fc60a1ff0062a3ff00832ffb2214ec62f7e7cdda8966e962188e1f84d24ec4315aea6c3682983d45754cc449932c3b3aa64c2122fc4c06a183f84ff0778fe2030ac1f6cf06c431159cb2a8e5d4a33cc3c2502dca7fcaf01be40202b9925450140a93aa77f9a02d00804020100804020100804074ebebe8b0ba3a9c4712ab934141468332aeb27ac4b972d03552d6a600080ea271fc115558650a717a255663521553845289c8e52a64253995364a5dd69092ee2039b0dc5f0ac6654f9f84e234d8949a69f329aa26d3cc4cd4a27ca2d32528a5d969de203230080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080f1545f16c68386e7f52e1bf4aaeadb580cd4bd1ad948dc3fb3d1d603be8436bd17776ede162e60398240d4dd20b65f4316d60396c32f41c27466f38b6b00526fb9cdc801f8b949cbafb77800296e1bd803c4746d730060b2eca4b5ba2347bdadadef00ca6cc01b116166e22dac00a5494687f5756eee8ea601959dc17e2dbafd5b6bc602733ee2c6e5c7f66dac04137043277d83f1eadb5bc0389e8bddb28fb2c6e77c032e624b77903ec71ac00a7473a06205fe8ba7580060cd7291d8c09de9b6bedde001d25211940d7f87475e3011977d9ae4651e901b5f6ef0b3d9943bc80ecefa16d6fedbc191ad71a866761c536d602021472db2b7be1bbd17301041254e086e02f7e16d78fb3859c0ccc143825234eeb6b00705dd37507b0bffcb6b980aea0b94eae401c7c9b75a00746b1491b87f67a373016c8daf45c176ede162e602b940d4dd20b65f4316d6026c32f41c27466f38b6b00526fb9cdc801f8b949cbafb77800296e1bd803c4746d730060b2eca4b5ba2347bdadadef00ca6cc01b116166e22dac00a5494687f5756eee8ea601959dc17e2dbafd5b6bc602733ee2c6e5c7f66dac05265c1609167ecdfd5b6b7bc0691b6ffcef4dfd111fde4c80d8b63ff98e7ff4d57f74880cb819aca075e1d9badac01866d194a7d05b7b90e3580019542cc03fcdae962e60249032bf5926fd1fb2c7a5015e8b26c0106ecf63c53637e30160c5d4cc757487f338d4bc04b35baaf7b5ef7ba6dac055401fcd7d40f3b8b6b010e0b7668d76fd5b5d50004866d4977038bf56dafb77858a728601db701c743a6bc6021ba24004b8761bbb9875a02370e891c7281e71d1b980b1486272eae6da867b8b6b010c08040b5dacf6be96d7dbbc2c34bd807cc05f5f9bad01470e1c0604dc036e0d6eb403a374b0673a3b0ed1d1d602e53ab02c0660199bf5586b00e3bf7d869b9d36b980e3b24bddcef1fe162e602783682e1207d9f9dc602c3a573ef09dda3f0b1e93c0435f421b781fd9b6a6020f59ca351fadf3871ac04819aca075e1d9badac01866d194a7d05b7b90e3580019542cc03fcdae962e60249032bf5926fd1fb2c7a5015e8b26c0106ecf63c53637e30160c5d4cc757487f338d4bc04b35baaf7b5ef7ba6dac055401fcd7d40f3b8b6b015705bb346bb7eadaea80e324801b5777038bf56dafb778704c4e50c03b6e038e874d78c063a68e8a8006e1c81bbb986b013b25ffed2cfb37fa8cdd05bf1d2bb203d4e030b271ba69f884dc3d32e624cacc39c1cb90a91d602efc6e44236b93bb5cc57179b8a4df73f0ecc699472a968d679e03f33edeed6222ffafd7ebe499b373a29269a92969d4cf265a505b4e886b45a510547e3687fe31feea64565ad1b4f97e3050ffb151ffc197fd910a76317bf3e6ed44b37cd98dd048f09be1ba7eca63a9e77b21e0df0da7ae9f81a89326af12adcab94aa8468b4a251b255f628880cd7848c0fc0be258557ec96338c6c7ec8e392248385d4aa75151d661f38a73d3ce4273c998002cacae0284065abb6fbc53d8ed8c9145592bc25ed46d0f25866cf4da29b2d12f14a994869b54a9d9a6a512d39734d53963e80ebd1f841db3c0b68701c0fc24ecbe1b85526d5cfe6981ed0e1556ba9a74d6919a5d254226a10b4ae60072a8589d06a4079aec7e21e1155e1e36d5551b3b834b9f514b842368d09ad5a853d107089b20f27f8498517292d7df01f5ac07ce186f853f099b5d87627b59b0fb138257ecae1d5151269e8aaebe62315ab14a596512e5cb54b94b53590bbf7ef0dbf683c2c2707d95d95c5a9766b10abda7db75cba6d9dd8c9dfead526a963f0889e660fc1a249ebadb86e2f01875f849db9d92c530293e13764f0cc3702da2aa450d2ed0e1358ba89749553bf132aad13508202afd3496101dac6fc25ed44bf0858a783bd97d93a7c6712a7c3a9abe96ba7d49a7a69489a489abaa5e559094f44242124a89dc2f0184c2fc29f846c5318c6f60e56c261c36ff67d48998954aab949c19149365a57267f2b9153d4a9856009612fbc90c44066b673c2f4c186784256df6152b67716f064a97e304aa49bce244e97512ccca65d395652f3599293d97bb00c5d4f84bf09f8561036db19f071452762c21353594523102bc629689573533649962528a659cca9614e3791760f78a0aea5c4e868b12a19c2a28b10932ea28e7a745ca9a90b42877a4c078e637e12f6a657842c53c1decbec9d3e338953e1d4d5f4b5d3ea4d3d34a44d244d5d52b2ac84a7a2121092544ee1780c2617e14bc236298c637b072b6130e4edfecfa90bc4aa555ca4e0c8a49b2d2b933f95c8a9ea54c2b004b09d1c9218880e399e136b714d8bf0b543b65b214231ef07b27263d8109c6750564aa89466c952564660998949b1ece2c03acaa89559e15fc02d5c8a5974326ab65f109b268a5f524a57492d425a3b120b080c3f837dbac2761761f6b2aeb9136bf12c436cf1aa7c0367e9867abafaa54d465932101cea4665683cc087d1db3151b455982d255ed561f4984e335033d46174b30ce44807ab2d534819963df359f47d486c100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020101e2e8fe76c6b50f5d525f5bf2cbd2dac0665201fcd7d40f3b8b6b01dc4105bb1d9aedfab6baa03b292400da92ee071f26dafb7787294e50c03b6e038e874d78c043744800970ec377730eb4046e1d1238e503ce3a373016290c4e5d5cdb50cf716d60218100816bb59ed7d2dafb77858697b00f980bebf375a028e1c380c09b806dc1add680746e960ce74761da3a3ac05ca7560580cc03337eab0d601c77efb0d373a6d7301c76497bb9de3fc2c5cc04f06d05c240fb3f3b8c05874ae7de13bb47e163d278086be8436f03fb36d4c041eb3946a3f5be70e358090335940ebc3b375b58030cda3294fa0b6f721c6b00032a859807f9b5d2c5cc04920657eb24dfa3f658f4a02bd164d8020dd9ec78a6c6fc602c18ba998eae90fe671a9780966b755ef6bdef74db580aa803f9afa81e7716d6021c16ecd1aedfab6baa00090cda92ee0717eadb5f6ef0b14e50c03b6e038e874d78c043744800970ec377730eb4046e1d1238e503ce3a373016290c4e5d5cdb50cf716d60218100816bb59ed7d2dafb77858697b00f980bebf375a028e1c380c09b806dc1add680746e960ce74761da3a3ac059690cab5b295368cfc186bc60345db7fe77a6fe888fef26406c5b1ff00cc73ff00a6abfba4406608be5ea81ae50fb8e96eb180336674b7e6b5b7f56daf180abb5c1cafaa787eaf47580b3109bdfb123bf4b33f18036fbdc1d0717d3a3ac00243682e0b003ecb6a602ae07783aa47d96d602ec58bdc8f7a2edae8e0def780af4afd10dbf28d09e1637e301041bf149d1b8f936eb4058a4f4ba2c4eaafb0a6dac041172f2b41af0eeb173c6024801ce466dfe7ba6d7540414d9d8f1b0ba6e7ab6d78c0141399886d5d4069ae9d1d4c03a4a3d6059f40ff0046dac0491750b86e03bfab6d600ce4036206ada5f77475f6ef0820062c00e0ddfa5b580716240de7bfc9b5cc04a9c12c9ed76fecdb5bc041cc376523561dfd5b6bedde009b2865cc94ee1c388b6bc7d9c248532ce57e2dfe16d600c195f826b3b0ee3716d60045f2f540d7287dc74b758c019b33a5bf35adbfab6d78c055dae0e57d53c3f57a3ac059884defd891dfa599f8c01b7dee0e838be9d1d600121b41705801f65b53015703bc1d523ecb6b01762c5ee47bd176d74706f7bc050e66574436fca3427858df8c0712c1bf149d1b8f936eb40704d49e97458ef57d845b580c7ce1753cbd079bbac5cc04eca0ff00f5a2a3a2dfea133e7fc34af4c07a94079757d2cd3895553a652cae64d5e4961ee9512df31062288d2c4b75c1f084e1f2f9498cbab983a6af2479222c8672212ead47e3687fe31feea6444b4a369f2fc61143fec547ff00065ff64429d8c5efcf9bb712cdf396d80aff00065e1457e147dcdaac4f63369f0e95876d94ca494674dc3e753948a7ab54b4f4952f28092c0b5f7e50430fb63b7fe08f6c692be4ec7ecf617e123c206394ca938453cac244da80b32ca113aa2a2a64a792449b13994e0080f2e46ce739f055e0176b311a7c5a7ece6c9ab1395b529c2d73a5d653d3574d5a39d2791fc204c954ae9e5bb16d20365a1a3f0478f6d66c7619b0d37697c21d74bc46457564f562b88733c265539e50564f3512d4852810c997627470e1c37fa5da0c2765ff00d21b6b69f1ea8561d336cb0dc1a9b664ae54d29ab9c97965085a52a4839cb5c880fa44bb160336e1ecf01f10d4e21e06eabdd8c5b10afc6fc06784844e9feece1186d4d64b9bce10b5645a65cb9624d4266d95f83425dfe780cbccaadb946ce780af0b5b638656e2355b1d3f121b594e89079d2683100644aae5d3a53acb932d2b5371078b066fc256dbecf7860a0c13c1f783baa5ed26218be2745538a57c893393270da2a798264ca89f31684e436000d7e7604375c0ff00fe2236e7ff00e98c37fbe3011b1fff00efe7c317fe9db3ff00fb75407976d2ecc623b638affa55ecfe10833712aa4ecb4da3900b19aba5a6e73c90ed99c9651da60359a9acf0273b674cb955db6d8b6d7554ae6dfc9c1c47154d6ccac50c8ba39895254948770a5170dc7480fb3f64b0c460bb2fb3d84cba156188c3a829a48c3553b9c9a7c92c0e479764f2993ab9983c0793e07fff00111b73ff00f4c61bfdf404ec7fff00bfaf0c5ffa76cfff00edd501e61b4bfedbfe97dffa7609ff00fcc9901b2d0fff00bc8ff478ff00fa42b3ff00632a03ce3647c15ab6976736df6d366eaea69bc22e05b5b89cfd95aa334f2283473b94e6c25751aa3390a7decf67043eabf06db7747e10f65a8f1d912f99d7a09a6c7b0a2e17475d2ad3a4a81b8bdd2fef4880dfa01008040201008040201008040201008040201008040201008040201008040201008040201008040201008040203c59247bad8ceae2baa7417fc72f4ed80cdca058ef2370bb773837bde03b89ccc7a21aef94684f0b1bf180e7637e293a371f26dd680e6293d2e8b13aabec29b6b01045cbcad06bc3bac5cf180920073919b7f9ee9b5d5010536763c6c2e9b9eadb5e300504e6621b57501a6ba7475300e928f58167d03fd1b6b01245d42e1b80efeadb58033900d881ab697ddd1d7dbbc208018b0038377e96d601c5890379eff26d73012a704b27b5dbfb36d6f010730dd948d5877f56dafb778026ca1973253b870e22daf1f6709214cb395f8b7f85b58030657e09acec3b8dc5b580117cbd5035ca1f71d2dd630066cce96fcd6b6feadb5e301576b8395f54f0fd5e8eb01662137bf62477e9667e3006df7b83a0e2fa7475800486d05c16007d96d4c055c0ef07548fb2dac05d8b17b91ef45db5d1c1bdef015e95fa21b7e51a13c2c6fc6020837e293a371f26dd680b149e974589d55f614db580822e5e56835e1dd62e78c0490039c8cdbfcf74daea80829b3b1e36174dcf56daf18028273310daba80d35d3a3a98074947ac0b3e81fe8db580922ea170dc077f56dac019c806c40d5b4beee8ebedde1558003b0018ff008f66b016c5b6669f1d3266aa7aa9a7c91944c09cc0a75621c4077a46152306c3e551c851580bccb98755288b9f440743286ba6fd9f68b6b0162c0b336f16fe1ac03331207b3f936d602aa77ba521b4203ebc2c6f001616cdd5b3070fbdadac048038e622ec3ed0e35e30153bdac45d0948b36b6b75a02dd203d83706b6b00e907e8e9c069faa38c0432752080cc2da6ba5b5e3ece1212525dba63b389d45b5806a15d1cdbadf3df4d78c046a4be9fc3516d7dbbc2cc9e93259bd8b5b5803867ee3d11bfb2dac01cb3809565f6b5b580e3eeb30240483ff004f47580b9d7520016b37d1b173002185bbc2c0bb1de9b6bdf0156e07a1a8537d96d4c058e7bd98f65db7d8b6bedde03ab1435ad9773f0b1bc0465b58593d6195f8dc58dfdbbc24d8651a0eab768d45b5808558a99397fefa8b6b00ca1ae9bf67da2dac058b02ccdbc5bf86b00ccc481ecfe4db580aa9dee9486d080faf0b1bc00585b3756cc1c3ef6b6b01200e3988bb0fb438d78c054ef6b11742522cdadadd680b7480f60dc1adac00e6015d1d380d3f547180e1213a90406616d35d2daf1f670ebad2525dba63b389d45b580e84eb85f473777cf7d35e3011b27ffed3d4ff004199fde49be901ea7010c1ddafc60260101d5a8fc6d0ff00c63fdd4c8896946d3e5f8c143fec547ff065ff0064429d8c5efcf9bb512cc80e19722449330c9932e519a734d28484e65712da980e680a225cb979b9396946739959400e4efb6f80bc044071aa4c95ad1317290b992ff1730a4129ee3ba03960289968979b22128cc732b28672753df01780402038f9397ca72bc9a7956cbca30ccdc1e0392010080402010080402010080402010080402022026010080402010080402010080402010080402010080402010080404404c020100804078aa3f9df1ab9cc2baa728fff00baad2c6f019b9599bd83706b6b01df4660fd1d380d3f547180e6484ea4101985b4eeb6bc7d9c39424a4bb74c76713a8b6b00d42ba39b75be7be9af1808d497d3f86a2dafb7785993d264b37b16b6b0070cfdc7a237f65b5803967012acbed6b6b01c7dd660480907fe9e8eb0173aea4002d66fa362e600430b778581763bd36d7be02adc0f4350a6fb2da980b1cf7b31ecbb6fb16d7dbbc0756286b5b2ee7e1637808cb6b0b27ac32bf1b8b1bfb77849b0ca341d56ed1a8b6b010ab153272ffdf516d6019435d37ecfb45b580b160599b78b7f0d601998903d9fc9b6b01553bdd290da101f5e1637800b0b66ead98387ded6d602401c7311761f6871af180a9ded622e84a459b5b5bad016e901ec1b835b5807483f474e034fd51c602193a90406616d35d2daf1f670909292edd31d9c4ea2dac0350ae8e6dd6f9efa6bc6023525f4fe1a8b6bedde1664f4992cdec5adac01c33f71e88dfd96d600e59c04ab2fb5adac071f7598120241ff00a7a3ac05ceba9000b59be8d8b980858e81603885761de2daf7c06cf4da4071e21d44f7c06b7ef598149d1869da3a26fc60246ff7b70ed7f35b58083aa9b75d23fcb637809cac370de32f71ba6da98032802e1f26996ccf6b74758090eeed717530fb2dd68085218e8c6e6dfe072ebedde105c29985f869c2d6d7dbbc24a2cc45b7b6bbfab6d6025403805074b766bd5b6b0063701374df4d1f8747ac602181b019788d40d74b6bedde0b38ca38907cfa5b580855dc94fce9fb536d6f012ad15e503b87d9db010c54ec07107ed23a3af180b1777490e0eef9fab637e30152e1c33253f3fd1b6b017ca48eaf55cdbe7d3a3ac0572b0b311bbd3a7475e3004ba8666d06efff00475809cad9c949cc5dca7e7eadb5e3010c1b304b6f2c34beee8eb0050677430be56dcfc2da9f6ed0961a9b9b900765ed6d4fb76857deb30293a30d3b4744df8c048dfef6e1dafe6b6b01075536eba47f96c6f0139586e1bc65ee374db530065005c3e4d32d99ed6e8eb0121dddae2ea61f65bad010a431d18dcdbfc0e5d7dbbc20b85330bf0d385adafb7784a91d1622c356d77f56dac071cc01c0283a5bb35eadb580eb2c162026e9be9a3f0e8f58c063e6007419788d40d74b6bedde0d936f19aa1b4e6336ff00ff007a576407a9c02010080ea547e3687fe31feea6444b4a369f2fc61343fec547ff00065ff64429d8c5efcf9bb512cc80402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080f154a7ff17c678f3daafef97a58de033487040617e1e6b5b5f6ef0ef841ca0116dedaefeadb580ec101c0283bdbb35eadb580e463701374df4d1f8747ac602181b019788d40d74b6bedde0b38ca38907cfa5b580855dc94fce9fb536d6f012ad15e503b87d9db010c54ec07107ed23a3af180b1777490e0eef9fab637e30152e1c33253f3fd1b6b017ca48eaf55cdbe7d3a3ac0572b0b311bbd3a7475e3004ba8666d06efff00475809cad9c949cc5dca7e7eadb5e3010c1b304b6f2c34beee8eb0050677430be56dcfc2da9f6ed0961a9b9b900765ed6d4fb76857deb30293a30d3b4744df8c048dfef6e1dafe6b6b01075536eba47f96c6f0139586e1bc65ee374db530065005c3e4d32d99ed6e8eb0121dddae2ea61f65bad010a431d18dcdbfc0e5d7dbbc20b85330bf0d385adafb7784945988b6f6d77f56dac04a80700a0e96ecd7ab6d600c6e026e9be9a3f0e8f58c043036032f11a81ae96d7dbbc1671947120f9f4b6b010abb929f9d3f6a6dade0255a2bca0770fb3b60218a9d80e20fda47475e30162eee921c1ddf3f56c6fc602a5c38664a7e7fa36d602ca4928361d104be9c7b35e301b3536901c7887513df01ae74dd4e93faa34f9adab404e5bb2c26fb869de2dac018a6f96dd9c7f3436a6f006503a06172df68b6b01370e087dee03f9bb5bdb885149b9e8bb0bb0f3358df8c0490417037f478f1b5bcf0039b3d904104391e7b5b52f7809001052af7bef831e3a5ae601d813e6bf1d2dd68035b793ef1b777599cc03525f5e0341fab6b980820805afc5b86e6b6bedde13d23bbbd5f75b57808c808e8817e1f6e9ab4049cc7de874dc8fbadac04f49b7122e587a45b580821c174db800daf93daf01509fcd655b7717d2dac04dc25432ba7b071b746dafb7783a40390cc4b27bf838b980b1091703e61bb5d1875a0235fcd3d9df722daf1f6702b7b3a507cff00f2db58030ee1bdba56e2186bc6023a6ea749fd51a7cd6d5a0272dd96137dc34ef16d600c537cb6ece3f9a1b537803281d030b96fb45b5809b87043ef701fcddadedc428a4dcf45d85d8799ac6fc6024820b81bfa3c78dade7801cd9ec820821c8f3dada97bc0181052af7bef831e3a5ae60287804f1d2f7be96eb4075a60b6f27de37f8599cc074265f33ebc0683f56d7301ae9c62a7666b67e2b4f86fbaaae6eb946984ce46c54958505645b9e868dfc436c95b7c2785997230858428a14462b28b11bbf17db01cde3c2bf26c2beb497eaa01e3c2bf26c2beb497eaa01e3c2bf26c2beb497eaa038a66d9a96a90ae6f850e45654deea4bbba149f83fce82d136246d9aa4c9932790c295c92128cdeea4b0ec1be0e1055379bb97c7857e4d857d692fd54153c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd540478f0afc9b0afad25faa809f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf55011e3c2bf26c2beb497eaa01e3c2bf26c2beb497eaa027c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd540478f0afc9b0afad25faa809f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf55011e3c2bf26c2beb497eaa01e3c2bf26c2beb497eaa027c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd5403c7857e4d857d692fd540478f0afc9b0afad25faa809f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf5500f1e15f93615f5a4bf55018eaef08cba44a84ac370eada90105145271496a9aa0a5e474a44a24b6bf34060a81736a67d4d72e4f20bac9f327f22f9ca0cc515e50a6bb3b406c487ce1904106e47f85b5bde03bb2c020a55ef7df063af0b5cc07607003cdf3e96eb405dadbc9f78dbbbacce601a92faf01a0fd5b5cc0410402d7e2dc3735b5f6ef09e91dddeafbadabc0464047440bf0fb74d5a024e63ef43a6e47dd6d6027a4db89172c3d22dac0410e0ba6dc006d7c9ed780a84fe6b2adbb8be96d6026e12a195d3d838dba36d7dbbc1d201c8662593dfc1c5cc058848b81f30ddae8c3ad011afe69ecefb916d78fb3815bd9d283e7ff96dac018770dedd2b710c35e3011d3753a4fea8d3e6b6ad01396ecb09bee1a778b6b00629be5b7671fcd0da9bc01940e8185cb7da2dac04dc3821f7b80fe6ed6f6e214526e7a2ec2ec3ccd637e30124105c0dfd1e3c6d6f3c00e6cf6410410e479ed6d4bde02400414abdefbe0c78e96b9807604f9afc74b75a00d6de4fbc6dddd667300d497d780d07eadae602082016bf16e1b9adafb7784f48eeef57dd6d5e0232023a205f87dba6ad012731f7a1d3723eeb6b013d26dc48b961e916d60208705d36e0036be4f6bc050864aba2c59f461bf4b6bc60369a6d2038f10ea27be035c51cd65072ce40f9fab6d60232b77fd9dd6b9e30174863bb7e83abdd62e60208b92c494bb06f9dc7475300290ec1cfe7303abe96d4ef809b97213d00344df5e16b98010f7de05dafb8e9637802bb9ad61e7d2dd680a971b85fc91e94db58059cebbdc81a76a6daf18092f7b336bdec7abf9c602b663d07e2da3fe6da02c0b3eba1cc2efd8d6d4ef80ae572e2cfefb8f0661ac04e5ee0371607e8db53edda173d54ee1c13bb5b8e8f5a02b940045d2007b0f9ad6d7ef807543848cd766ddaf56d7301241d08664dff008713edde066cd6275b81dfa5bad011adba25b781dfa5887e3015d41ccfafbd0fc7aae35e3ece13bb4361b9fce9b6a7dbb420fe7000ebd1d41bf56daf1f6709b3b3641ef887f99adac014735941cb3903e7eadb5808caddff006775ae78c05d218eedfa0eaf758b980822e4b1252ec1be771d1d4c00a43b073f9cc0eafa5b53be026e5c84f400d137d785ae60043df78176bee3a58de00aee6b5879f4b75a028a71b85efd11e94db580a1673aef72069da9b6bc603af301bd99b5ef6f7bf9c603a2b665745f8b69ff002da031d3a5a540e60f63986fecdda9df01dfd9fa2a54d2d63534a6354a2f95377968ec80ce734a5fc9e57d04fdd00e694df93cafa03ee808e694bf934afa03ee80734a5fc9a57d01f74039a537e4d2be8080734a6fc9a57d01f74039a52fe4d2be80fba0239a537e4d2be80fba0279a52fe4d2be80fba0239a52fe4d2be80fba01cd297f2695f407dd00e694bf934afa03ee80734a5fc9a57d01f7404f34a5fc9a57d01f74039a52fe4d2be80fba01cd297f2695f407dd00e694df934afa03ee80734a5fc9a57d01f74039a52fe4d2be80fba0239a537e4d2be80fba01cd297f2695f407dd013cd29bf2695f407dd011cd297f2695f407dd00e694bf934afa03ee80734a5fc9a57d01f74039a52fe4d2be80fba0279a52fe4d2be80fba01cd297f2695f407dd00e694bf934afa03ee80734a6fc9a57d0100e694df934afa03ee80734a5fc9a57d01f7404734a6fc9a57d01f7404f34a5fc9a57d01f7404734a5fc9a57d01f74039a52fe4d2be80fba01cd297f2695f407dd00e694bf934afa03ee809e694bf934afa03ee80734a5fc9a57d01f74039a52fe4d2be80fba01cd29bf2695f407dd00e694bf934afa03ee80734a5fc9a57d01f7404734a6fc9a57d01f74039a52fe4d2be80fba0279a537e4d2be80fba0239a52fe4d2be80fba01cd297f2695f407dd00e694bf934afa03ee80734a5fc9a57d01f7404f34a5fc9a57d01f74039a52fe4d2be80fba01cd297f2695f407dd00e694df934afa0201cd29bf2695f407dd00e694bf934afa03ee808e694df934afa03ee809e694bf934afa03ee808e694bf934afa03ee80734a5fc9a57d01f74039a52fe4d2be80fba01cd297f2695f407dd013cd29bf2795f407dd013cd29bf2795f407dd013cd297f2795f413f7406ab8bd153fbac958a74f4691174a45bf09334b6b01c92a5802c0585dafb8e963780c8a6db9ad61e7d2dd680ed070d617f247a536d6039c33efdee40d2faa6daf180e42f7b336bdec7abf9c602b663d07e2da3fe6da02c0b3eba1cc2efd8d6d4ef80ae572e2cfefb8f0661ac04e5ee0371607e8db53edda173d54ee1c13bb5b8e8f5a02b940045d2007b0f9ad6d7ef807543848cd766ddaf56d7301241d08664dff8713edde066cd6275b81dfa5bad011adba25b781dfa5887e3015d41ccfafbd0fc7aae35e3ece13bb4361b9fce9b6a7dbb420fe7000ebd1d41bf56daf1f6709b3b3641ef887f99adac014735941cb3903e7eadb5808caddff6775ae78c05d218eedfa0eaf758b980822e4b1252ec1be771d1d4c00a43b073f9cc0eafa5b53be026e5c84f400d137d785ae60043df78176bee3a58de00aee6b5879f4b75a02a5c6e17f247a536d601673aef72069da9b6bc6024bdeccdaf7b1eafe7180ad98f41f8b68ff9b680b02cfae8730bbf635b53be02b95cb8b3fbee3c1986b01397b80dc581fa36d4fb7685cf553b8704eed6e3a3d680ae5001174801ec3e6b5b5fbe01d50e12335d9b76bd5b5cc014e12a043322efa778edf6ef0d9a9b480e3c43a89ef80d7077243701c75cbdad0176092433163a6eee0dac071a9c17090eefa0f45b580049bb866bf4741da9b6b012ca3ef40edfbadac014922e5cfa5bb45b5f6ef065e3dea0dbf4b76c04949777245f405c3f0b6bedde11704d839d0a7e7b874b3c0416dce58e8069ae96d7dbbc2cadfbbca001defa5b5800019c24714f66ba5b5e3010a777ca9b6e0efde9b6a5fdb7859817d3a3a1481bf46d6ef003701859adbdbb9c6a60388663ef45b86e7e01b5e3017208ddaeb6e3bc58df8c04e5531f7bc427fedac0572dc866097d38eae9b6bedde176e0a657100fddac050a0e566d3b0f9d36d60249717e88dcc38bbb74758079762c0ee0fc6e92dac02c49de468a6fb1c1730163bc04801f76e7de2dac05477243701c75cbdad0176092433163a6eee0dac071a9c17090eefa0f45b580049bb866bf4741da9b6b012ca3ef40edfbadac014922e5cfa5bb45b5f6ef065e3dea0dbf4b76c04949777245f405c3f0b6bedde15b826c1ce853f3dc3a59e028a6bb3963a01a6ba5b5f6ef0e29a3adbbca01277bdc5b580ea2921ac91c53d9ae96d78c07426a4b93945b70d7bc5b52f0195c0c353d58e8b0a95365fd4440536871ca6d9dc39788d4d35655cb4961269242e7adf2a957080728e8f59561015d9bc646d1605866369a73489c4a509a29cab3943966ccc1fcd01864edbe1c312c3b0a9d2d7ce713aaaca692a9299d365a4d2d42a9c675f24900a948e90d13bcb7488656876a302c4aa9545478809b3c256a40c931289899459664cc524226849d7213018e46df6c94c12d52f16e504f9626d26591507974dad21a5fe1549cc33250ea4ef020363c3f11a2c568a4e23874f1534950099538021f2929208500410410410e0c06b54db71829c2305c4f129bee74dc5e8a5d71a34a6654193296904aa62a54b3950096cea09101d3c6f6fe8307c57dce14eba997268d75b595294cf20232e696993c9c99899857c4a9291c5ed01b761189d3e3386d1e294a260915880b425685214371042c0363e7d45a032300804020100804020100804020100804079ee35b7f4d83ed5e1bb36aa055448aa32118862c998c9a49956569a7429194be728f28308acd5aaf145e2ee5c6f6dfdc7c531dc37dcce71ee2606ac6796e5b272995651c8e5e4d5974eb39ee84d445376db85577ba785e1b89725c87ba14d26a3917cd9395405e5760ecfc22cacb11b53b4676729244e9587af14a9a85af2d1217915c94994a9f3e63e557510836de586f8899b2698bbb95fb45836194f47535758d2f110f429952e64f993465cee897252b5a80497240b42e8b319336d3044d760345266ccab1b42852e86aa4cb98b96c0b25d494967558f93ef9a199395dbc2f69b0cc470d557aaa654934f4526bb11424ad48932a7cb3352a0b5225952592abe5dda085d13493b6af67e45449a59d88044e9c251fc5cdc88e5ff15caccc992515b86130830b9965b1c4a1aa546398a54d7e2141b3d8553d79c25699788d5d5d4aa9a509ca4266f252f2499ea5a8216924b001f7de22eb59caada7a3a3a2a3a8c6e4cfc1eb2ad4b968c2ca155138ae53e7e4d34e998a9896be603421da174654cedafd9c93268679c493325e272a64ec3c49973672a7225292999911290a51292b0e96717b58c2e9cb2506d7ece627534f494189a2a66d5a0ae9549973793999519d4944d2912d4b4a6ea485661bc4334232cab876d96cde2d3a9e9f0fc48544cac49551ab929a8973b2a732932e62d0942d491d6482e378b4332669974e9b6e305384e0d8962537dcf9b8bd14baee6694cca832652d20954c54a97d14025b3a824433195da56d76108c75580ae62d335347cf0d6e45f370862bfc6e5c8d9066ccedb9ded0b997476a8369f02c49354ba5af4e5a295cbd499c899232c9bfe1bf0c943cbb1e98b76c2e8cb2c6d1eda61389e3187e1386a95546ba4cf9eb9cb44d905089593229289b2d266266672ca16b6f8664e56e312a90080402010080402022026010080402010080402010080401a02cd01ac62c9ffc492abda991bb4e9ccd2d014972d99fbd41b7e96ed80eea505c17245f405c3f0b6bedde1d943a49b0cc7429f9ee1d2cf01cd6dce58e8069ae96d7dbbc3915bf7794003bdf4b6b000033848e29ecd74b6bc60214eef9536dc1dfbd36d4bfb6f0b302fa747429037e8dadde006e030b35b7b7738d4c0710cc7de8b70dcfc036bc602e411bb5d6dc778b1bf1809caa63ef7884ff00db580ae5b90cc12fa71d5d36d7dbbc2edc14cae201fbb580a141cacda761f3a6dac0492e2fd11b9871776e8eb00f2ec581dc1f8dd25b5805893bc8d14df6382e602c77809003eedcfbc5b580a8ee486e038eb97b5a02ec1248662c74dddc1b580e35382e121ddf41e8b6b00093770cd7e8e83b536d6025947de81dbf75b58029245cb9f4b768b6bedde0cbc7bd41b7e96ed809292eee48be80b87e16d7dbbc22e09b073a14fcf70e9678082db9cb1d00d35d2dafb778595bf7794003bdf4b6b000033848e29ecd74b6bc60214eef9536dc1dfbd36d4bfb6f0b302fa747429037e8dadde006e030b35b7b7738d4c0710cc7de8b70dcfc036bc602e411bb5d6dc778b1bf1809caa63ef7884ffdb580a293d60d600dbb59dc76fb7786d34da4071e21d44f7c06bc1c03d136eb37fdb53be02a5aec3cc2c3badafb7784b37681a001f8dd3d1d600f621ae1f406cfbc58dcbdfd9c20b824e5cdbf4d2e74b6b016212c7a2c45f4dfbf2d99e02a5ec2ee0392dbbf36dac0342c6c1ec59fe8db5bc05dec6cc7b077dc58b9e3014670e4b760bdbb2ccefedc42e0970340abbf9f461d63014bbd90137d46e7e16d600c90a74f57b069da2dd6f6ef0957052729f4efeadb5808de5acdb9afde2c5cfb7784f55ada6aa093bdee2dac00ddc01940d1877e96d4bfb6f00fce43317b0dfc45b5803312c084ef4a47d96d602ac59efc43703c2dd6e30160adff0060d3b45badedde12abaad60787da9e8dcc019ac0f6866d1bded8de020970094a497761723badac0430ca730ca5ce50079dadac0583807a26dd66ff00b6a77c054b5d879858775b5f6ef0966ed034003f1ba7a3ac01ec435c3e80d9f78b1b97bfb38417049cb9b7e9a5ce96d602c4258f4588be9bf7e5b33c054bd85dc0725b77e6db5806858d83d8b3fd1b6b780bbd8d98f60efb8b173c6038b2bdc96ec17b76599dfdb8850bb8dc1577f3e8c3ac603a8a49dc809bea373f0b6b01d55a066748e8f769dd6eb7b77864b084b48aa7194f3855bfe44407362b226d4e198953c94e79d3e9a74b948b075290400e6dac06076170cadc1b64700c331291cdaba8a984ba991992bcaa736cc82a49f98c06af2f67f1a933b0c59a09aa40c4f1fe70a95324e7932313a898645474a625c04a82880737e6bda03abb37b2d8a52ced9f935d458aa15b3b2569554cfae95328cac53aa9d3cd254b515b2c2bff003129ca2d730198c1767b12a493e0d93514425ab67b0f992b1419a59e466ae95129ac4e62540874bc06c3b2f87d5e1d84cea6ac93c8ce557e27392874abf07515d3e74a2e9247490b07ed80f32a2d92c7f0da6c3ccca2c5a7ae760787d0cfa5c3ab69e4723514885a552ea394584aa59e52ca415374ad780dac6cc57c97a5912073797b2dee4c99a66050e5c38087574c86f7c4406dfb3e9a9460985caaca39987d548a744a9f49315296a4aa50c8f9a4aa620e6670c74d58da0331010d012d010d012d0080868096808680404c01a01010dd900680f9f2b3c1ced7e3d43b5b8a56624bc2712c76a55532b67f2534dcdcd3fd810aaa0a5642180e8aadbf7c67965b6788652bf6736b717a8c6f11aac2392abc5763bdce5cbe5a9ef889592b941a6331d42b4ed89b4a2263e6f58d9fa59f4380e0945552f92a9a4a1a693512dc1cb325ca4a541d2e0b11ba2d0ce776bb886ce57e39b47515d535b5d8450e1b4a9a5c21749324854ee5ff000956b505a66b0e8cb43100f44ee88b2626d0c060f836d0eced561b39584cfc669303935d8451265cea6150aa45ce953a927a794992d1d44724b0483d104068888b2d3312ce2e8318157b215eac1a52554abac18a51d12a52534c2b345fe11680bcbff9995c92e4031286b72f6431b4e13b2744290239ce154d83ed7cbe525fe0e9e52e5cd26ca65f444e95d17fc63e8222c9cc9c5764f139d5fb494c29715aca3da1a913654da7ad95228d285c9972969aa96a509ae8c96c8953861684c1153d7c25801ab6f8bb368a9978c6cee318ecea5c12a31cc2f1d9e8ad93cd2653a66c8a8e45122622626a2649052ae492a0a492d77115d97ddd29547b534988e17b4788501c6aa4d3d753d66174aba74cca4454d4227484ca54d54944ce4d32c4b59cce75bc35345767b67716a3c6b0ec4eb68d12113118dcfa99295a162966621594f3a5490c7a47221598a433bf63a209930ed9fc4e970fd8592ba3e4d782d6d5cfc4d2172ff0689b4d5880ab2ba4eb9c9eabebdf0b1760b65e9f17c5f667c1fd00c117434d85f32ae9b8b99920c95ca95289472494accde526e665664001d5736788d9356f2eb516c963f86d361e665162d3d73b04a0a29f4b87d6d3c8e46a2950b4aa5cfceb0954b3ca59482a6e95af1164e6865f13d92c5172138451d2ab9b546cd7b902b44d41453ce95d3489b9d499aa42fa8e94a8f111364454e05ec9e298bd3e31ca52e2b45533b099f434f3315ad95539a64e52165094d3aa60e49e5875163f9b0b19acd864231bc5369f00c4ea76726e0f4985d1d6c9aa9b3a7532d5cacfe45932c499931d1f832c6ddc2278a3837e68b28404c01a01010dd900680968086809803401bb200d010d00809803402021a025a021a025a01012d01afe2480aaf16b8a74316fcf5f56dac0712506c2ee2e4b6efcdb6b01da48ca5b40f62cff0046dade03b69363663d83bee2c5cf180b04bf4896ec17b76599dfdb8872025c0d02aefe7d18758c052ef6404df51b9f85b58032429d3d5ec1a768b75bdbbc255c149ca7d3bfab6d6023796b36e6bf78b173edde13d56b69aa824ef7b8b6b00377006503461dfa5b52fedbc03f390cc5ec37f116d600cc4b0213bd291f65b580ab167bf10dc0f0b75b8c0582b7fd834ed16eb7b7784aaeab581e1f6a7a3730066b03da19b46f7b63780825c0252925dd85c8eeb6b010c329cc329739401e76b6b0160e01e89b759bfeda9df0152d761e6161dd6d7dbbc259bb40d000fc6e9e8eb007b10d70fa0367de2c6e5efece105c1272e6dfa6973a5b580b10963d1622fa6fdf96ccf0152f617701c96ddf9b6d601a16360f62cff46dade02ef63663d83bee2c5cf180a338725bb05edd96677f6e21704b81a055dfcfa30eb180a5dec809bea373f0b6b0064853a7abd834ed16eb7b7784ab829394fa77f56dac046f2d66dcd7ef162e7dbbc27aad6d355049def716d6006ee00ca068c3bf4b6a5fdb7807e72198bd86fe22dac05561b3e5e8862e00b7d9af180da29b480e3c43a89ef80d732b12340fd20de6cb637bc00a4dfa1980ecd3f57a2c4fb7784a83efe3d0038b9e8dbadc602ac19db75c81dba80d73780e4e89cc58a7b40d375add6808de5dafd52377eadb580656200194f67cf71d1d600428dee9cb7601f8f57f3bdbbc2a007e0adc7d2e2da9808636d72805f2f4bccc353edda1655ae73e629fb785b58024665be819c0d6dd96d78c0414b863600ea94e80f0b6bc7d9c259c126ead4e51f6744de02588774f26752523bf42dd680a650ed65383703bee2c6fc602d61bb86e7ede1a980b286a136e2378eeb1bf18082029ce50001703713c3a3ac048cc01f9f4bb7eadae4c050a5ac5cefb3d9cea2c7a5013da9b00e400daf606b9eeff00b8400729042ec972c3ccc5b5808245c241b0b1ff002db580be5ca12437784ee3c2dade02b95891a07e906f365b1bde00526fd0cc07669fabd1627dbbc2541f7f1e801c5cf46dd6e301560cedbae40edd406b9bc072744e62c53da069bad6eb4046f2ed7ea91bbf56dac032b1000ca7b3e7b8e8eb002146f74e5bb00fc7abf9dedde15003f056e3e9716d4c05483d1d72805f28cdaf70b9f6ef0aaed7e9e629e1bcf0b6b01c59732f460ce06b6ecb6bc60381729c31b007dea740785b5e3ece1dcc292449aa7624d42896fd444064da00d008040201008040440202601006ec80340201008034020101101300808809807cd010d0130080402010080880404c0437f180e39526553ca972244944991252132a4a121294a45804816004072b40201008034020101101300808809807cd010d0130080402010080880404c0200dd9006803404b4060eb87fafb91ff00e1d0c7874d7d5b1bc0409594800653d9f3e9d1d6039f2937ba72dd807e3d5fcef6ef0ba40ee51d0fa5c5b5301663d1d72805f2f4b5ee1afb7785956b9cf98a7ede16d60091996fa067035b765b5e301052e18d803aa53a03c2daf1f670967049bab53947d9d137809621dd3c99d4948efd0b75a029943b594e0dc0efb8b1bf180b586ee1b9fb786a602ca1a84db88de3bac6fc602080a73940005c0dc4f0e8eb01233007e7d2edfab6b93014296b173becf673a8b1e9404f6a6c0390036bd81ae7bbfee1001ca410bb25cb0f3316d60209170906c2c7fcb6d602f9728490dde13b8f0b6b780ae5624681fa41bcd96c6f780149bf43301d9a7eaf4589f6ef09507dfc7a007173d1b75b8c055833b6eb903b7501ae6f01c9d1398b14f681a6eb5bad011bcbb5faa46efd5b6b00cac400329ecf9ee3a3ac00851bdd396ec03f1eafe77b7785400fc15b8fa5c5b53010c6dae500be5e979986a7dbb42cab5ce7cc53f6f0b6b0048ccb7d03381adbb2daf18082970c6c01d529d01e16d78fb384b3824dd5a9ca3ece89bc04b10ee9e4cea4a477e85bad014ca1daca706e077dc58df8c05ac3770dcfdbc35301650d426dc46f1dd637e301553282ce50c0171c09f9b5e3780d9a9b480e3c43a89ef80d70b6b7cba3ebf3a7a3ac05ba200d1eec4599dfab6d602adc523f3b7eafa30bab8c058060c6c2fd504d8fcdac003754a5ada8ff000b6ac602b60e6dadd83f9ada9805983b5eee03f63a5c1bc008eccaabe603b7c9b5cfb7782cdd1171e48efba6dafdfe7092f6367e0da76a6dac0430eb656eedcfbd36d600002a70189bb80edda2dafb7782c0af573e4e9de9b6bc602433f6a5ec0766eb0bc00b1d07413b85fcd6eb1803177648297767d3b2dac0491a6f60c6cde6b6a4c00e52c6c1ee47a5d36d602af7661dc07ce1bb4404b02e59f792069c1986bc602bd106e076017e3a5b5f6ef0bdc16b80dd601f8dd36d4c057b187614ea3b438d600c3a995b8b0efb80dab7b7101032700ee1205c76a6dafb7780b6b7cba3ebf3a7a3ac05ba200d1eec4599dfab6d602adc523f3b7eafa30bab8c058060c6c2fd504d8fcdac003754a5ada8ff000b6ac602b60e6dadd83f9ada9805983b5eee03f63a5c1bc008eccaabe603b7c9b5cfb7782cdd1171e48efba6dafdfe7092f6d1f8369da9b5cc05328eb646eedcfbd36d60299415380c4ddc076ed16d7dbbc38ca43af573e4e9de9b6bc603aaba52b528a6aaa245ce74495ad2096d7a2d7f9a0380d14d2ed88d7301ef6a261b6e6bdd5015e633fe30adb6bf879da76713003413adff0088d79b31fc34d1fe3a930034534b1f746b866671cbccff00a789ec80af329c4b7ba35dbdff000d374ecbebc602798ce2e7dd1af23df34f996e0cda9e3011cca6837c46b8f74f987b9afafb7785b98cf7638857b37584e987e71db015e633f4f742bbbd33e67a1f7c00d0ceeafba15e371fc3ccf40777801a19d95fdd1af00ee13a63b7e6df5f6ef07329bf18e20126cfcbcdf38ed80b1a19a07f395739de27ccd3f36f73011cc67efc42bbf3bf0f34f99bdf4048a09fefb11af1dd3a69b79f5800a19da1c42bf4d44f99e8edbc041a29a3ff00e635daee9d30dbb2fa9808e653583e255c1f5227ccff00a5f7c049a19ff1857a4fbe027ccffa6f73edde0e6538839710af36b813e67a2fac00d0cfb7fe235c0ef1cb4df4713011cc6733f3fc42f6b4f99f365beb012286713fce35e1f84e986df7fb77847319aeaffc471027f367cc6ef4df580b0a19ae5f12af70ee04e99bb876c041a19a5db11afca38544c36dcd7baa01cc2a3e30adb6ad3e6e9d9c4c049a09d6ff00c46bcd98fe1a68ff001d5e0068a6963ee8d70ccce39799ff004f13d9015e653896f746bb7bfe1a6e9d97d78c04f319c5cfba35e47be69f32dc19b53c6023994d06f88d71ee9f30f735f5f6ef0b7319eec710af66eb09d30fce3b602bcc67e9ee85777a67ccf43ef801a19dd5f742bc6e3f8799e80eef003433b2bfba35e01dc274c76fcdbebedde0e6537e31c4024d9f979be71db016343340fe72ae73bc4f99a7e6dee602398cfdf88577e77e1e69f337be8091413fdf6235e3ba74d36f3eb001433b438857e9a89f33d1db7808345347ff00cc6bb5dd3a61b765f53011cca6b07c4ab83ea44f99ff004bef8093433fe30af49f7c04f99ff4dee7dbbc1cca71072e215e6d7027ccf45f5801a19f6ffc46b81de3969be8e2602398ce67e7f885ed69f33e6cb7d602450ce27f9c6bc3f09d30dbeff6ef08e6335d5ff88e204fe6cf98dde9beb01614335cbe255ee1dc09d33770ed80834334bb6235f9470a8986db9af7540398547c615b6d5a7cdd3b3898093413adff0088d79b31fc34d1fe3abc00d14d2c7dd1ae1999c72f33fe9e27b202bcca712dee8d76f7fc34dd3b2faf1809e6338b9f746bc8f7cd3e65b8336a78c047329a0df11ae3dd3e61ee6bebedde16e633dd8e215ecdd613a61f9c76c05798cfd3dd0aeef4cf99e87df003433babee8578dc7f0f33d01dde006867657f746bc03b84e98edf9b7d7dbbc1cca6fc6388049b3f2f37ce3b602c686681fce55ce7789f334fcdbdcc047319fbf10aefcefc3cd3e66f7d0161413b7e235e3f5674d36fbe02c28a6e8ac42bb4d44f99e8ed80eccb93c9b954d993d5a6759330e5dc012f7ecf621d8090c3335eee03f6745c1bc072656f7b9541dc0edf26d73edde170033a45c7923bee9b6bf7f9c2c5ec6cfc1b4ed4db580861d6cadddb9f7a6dac000054e03137701dbb45b5f6ef05815eae7c9d3bd36d78c04867ed4bd80ecdd61780163a0e82770bf9add630062eec9052eecfa765b5809234dec18d9bcd6d49801ca58d83dc8f4ba6dac055eecc3b80f9c3768809605cb3ef240d38330d78c057a20dc0ec02fc74b6bedde17b82d701bac03f1ba6da980af630ec29d476871ac0187532b7161df701b56f6e202064e01dc240b8ed4db5f6ef016d6f9747d7e74f47580b74401a3dd88b33bf56dac055b8a47e76fd5f461757180b00c18d85faa09b1f9b58006ea94b5b51fe16d58c056c1cdb5bb07f35b5300b3076bddc07ec74b8378011d99557cc076f936b9f6ef059ba22e3c91df74db5fbfce125ec6cfc1b4ed4db580861d6cadddb9f7a6dac000054e03137701dbb45b5f6ef05815eae7c9d3bd36d78c04867ed4bd80ecdd61780163a0e82770bf9add630062eec9052eecfa765b5809234dec18d9bcd6d49801ca58d83dc8f4ba6dac071aae1418687ef0dda37c06d34da4071e21d44f7c06b995816bf06efd536d6026fb92cdab0f4a6d72f00edd728ba87cfd5b6b0140ca04650dc40ecf7b6d7b20162ef6f2728b0eeb75a02c4917c8731e96970fbd3d1d78c04ee3c35701f5de0b5cc049cd7ca90948f27fc2dac056e7b907bdddee3a3ac049e905746dbc5fce9b6b010786a350027ece8dcc00b9dcc77d8f6e96d6f7808cafa1d05986ebf56daf1809de6c08dcc1fe7038b7b710176bd811a0dfda0b6b010be8b06723776beeb6bc600401a0009bd87f66dd680961ef5db570346de3a26f007bf572017005fe7486b9f6ef0b7fca335b771d48b6b78083993753bee03b778e89bfb7783aae19efa8fb45ae78c018b9dcaec0ff38b1bc057cae8963ab27d23a3aeb00377bdcbe8375dd9c6b01395816bf06efd536d6026fb92cdab0f4a6d72f00edd728ba87cfd5b6b0140ca04650dc40ecf7b6d7b20162ef6f2728b0eeb75a02c4917c8731e96970fbd3d1d78c04ee3c35701f5de0b5cc049cd7ca90948f27fc2dac056e7b907bdddee3a3ac049e905746dbc5fce9b6b010ae1d61a8013f6746e602a5cee63bec7b74b6b7bc05723fcc2cc375fab6d78c00a6e6c08dcc1fe7038b7b7108292d7b02341bdf78b6b0145a72b0cae46e17bbeee8ebc600500689009bd87f66dd6809e4c7bd05b5709d1b78e89bc01afd5c805c017f9d21ae7dbbc2d93f3466b6ee3a916d6f01052a4dd4efb80edde2c6fedde0c995c33df503d22d73c60190b9b32bb03fce2c6f015cbd6e8963ab27d22daeb002877e25f41baeece35809e4d816bf061dbaa7b602721dc966d587a536b978064df73945d43e7eadb580a0405023286e20767bdb6bd900c892ef6f2728b0eeb75a02c52d7c8731e96970fbd3d1d78c04e50c6d6d5c07d7782d7301250abe54e548f247d96d602b91fb907bdddee2dac0494e60ae8db78bf9d36d6020a376a350027ecb5cc00a49dcc77f44f6e96d6f7808e4df47b0b30dd7eadb5e301392e7a208dcc1fe7038b7b7101416bb8046837f682dac042d39583391bbb5f75b5e300280344804dec3fb36eb404f263de82dab84e8dbc744de00d7eae402e00bfce90d73edde16c9f9a335b771d48b6b780829526ea77dc076ef1637f6ef064cae19efa81e916b9e300c85cd995d81fe7163780ae5eb744b1d593e916d7580143bf12fa0dd77671ac04f26c0b5f830edd53db01390ee4b36ac3d29b5cbc0326fb9ca2ea1f3f56dac0502028119437103b3dedb5ec80644977b7939458775bad016296be4398f4b4b87de9e8ebc602728636b6ae03ebbc16b98092855f2a72a47923ecb6b015c8fdc83deeef716d6024a7305746dbc5fce9b6b01051bb51a8013f65ae600524ee63bfa27b74b6b7bc04726fa3d85986ebf56daf1809c973d1046e60ff00381c5bdb880a0b5dc02341bfb416d602169cac19c8dddafbadaf1801401a24026f61fd9b75a027931ef416d5c2746de3a26f006bf572017005fe7486b9f6ef0b64fcd19adbb8ea45b5bc0414a93753bee03b778b1bfb778326570cf7d40f48b5cf180642e6ccaec0ff0038b1bc0572f5ba258eac9f48b6bac00a1df897d06ebbb38d602793605afc1876ea9ed809c877259b561e94dae5e0013bf5ca2e47cfd5b6b014080a07a01b881d9ef6daf6405b282ef6f2728b0ee61d680be9ef0e63d260347de9e8ebc602cd636b6ae03ebbc16b980bb2af952001e4ff0085b5808b9ee41ef777b8e8eb0127a415d1b6f17f3a6dac041e1a8d4009fb3a373002e7731df63dba5b5bde0232be8741661bafd5b6bc602779b0237307f9c0e2dedc405daf6046837f682dac042fa2c19c8dddafbadaf180100680026f61fd9b75a02587bd76d5c0d1b78e89bc01efd5c805c017f9d21ae7dbbc2dff0028cd6ddc7522dade020e64dd4efb80edde3a26fedde0eab867bea3ed16b9e30062e772bb03fce2c6f015f2ba258eac9f48e8ebac00ddef72fa0dd77671ac04e5605afc1bbf54db5809bee4b36ac3d29b5cbc03b75ca2ea1f3f56dac050328119437103b3dedb5ec8058bbdbc9ca2c3badd680b1245f21cc7a5a5c3ef4f475e3013b8f0d5c07d7782d73012735f2a42523c9ff0b6b015b9ee41ef777b8e8eb0127a415d1b6f17f3a6dac041e1a8d4009fb3a373002e7731df63dba5b5bde0232be8741661bafd5b6bc602779b0237307f9c0e2dedc405daf6046837f682dac042fa2c19c8dddafbadaf180100680026f61fd9b75a02587bd76d5c0d1b78e89bc05545c2ba01219c2776fb8b6b01b4d36901c7887513df01aee5eb11bdcb0d77e96d7dbbc207710bcb7f9bc9b6bc601bae3a27c91d5eceaeb0152002e01cfbc81f60cbafb77872375f5077e50faf0e8eb00c9a91709059bed4f47580aab2916cb626dafd171ac00ef22c75cada76a5c6b7802ba4e18b3689be9f36b7806baa091ab01a7160dac05989cac32efb6ef9f29bc041b12328e26da9e29b6a7dbb42ac08f277a587d9d1d602540824104a58be5dd7dd6d7dbbc1c346670751c187475300605f3023ca4b6fdcdd1d602075486e827b076e9d1b9e301729b9b97f7b6fb3a3ac043046504333337cf701b5e30156eb3337949dddcc35bc04bb661af023b778606f011bdd94ea0f99bec64ead0160c7446570e4b3b76a6d73006212e476e56d0f11d1d602a4b9d12fe5243f7b744de02d97ac46f72c35dfa5b5f6ef081dc42f2dfe6f26daf1806eb8e89f24757b3abac054800b8073ef207d832ebedde1c8dd7d41df943ebc3a3ac0326a45c24166fb53d1d602aaca45b2d89b6bf45c6b003bc8b1d72b69da971ade00ae93862cda26fa7cdade01aea8246ac069c5836b0166272b0cbbedbbe7ca6f0106c48ca389b6a78a6da9f6ed0ab023c9de961f6747530052589704a58be4dd7dd6d7dbbc0da70670751c187475300ca0be60479496f33747580809e890dd04f60edd3a373c602e517372fef6df67475808ca11941b33337cf701b5e3015cbd6666f29234ee61ade0274cc35e0476ef0c0de021aefd27507ccdf63275680b0483a232b87259dbb536b98065212e476e56d0f11d1d602a6e744bf9490fded637809c9d620eae586bbf4b6bedde1007610bcb7f9bc9b6bc600d6b8e89f24757b3abac0414805c3e7de40fb036bedde17c9d7d41df943ebc3a3ac0393d48b8482cdf6a6dac05541245b2d89b6bf45c6b0023520b1d72b69da971ade0255d270c59b44df4f9b5bc0433ea9246ac069c5836b016c84e561977d869f3e537801b12187136d4f14db53edda15ca08f277a587d9d1d600a490482094b17cbbafbadafb7784b69a33383a8e0c2da9808ca0be60479496dfb9ba3ac0027a2437413d83b74e8dcf180b945cdcbfbdb7d9d1d60232846506ccccdf3dc06d78c0572f5999bca48d3b986b7809d330d7811dbbc30378086bbf49d41f337d8c9d5a02c120e88cae1c9676ed4dae6019484b91db95b43c4747580a9b9d12fe5243f7b58de027275883ab961aefd2dafb778401d842f2dfe6f26daf18035ae3a27c91d5eceaeb010520170f9f7903ec0dafb7785f275f5077e50faf0e8eb00e4f522e120b37da9b6b015504916cb626dafd171ac008d482c75cada76a5c6b78095749c3166d137d3e6d6f010cfaa491ab01a7160dac05b21395865df61a7cf94de006c4861c4db53c536d4fb768572823c9de961f674758029241208252c5f2eebeeb6bedde12da68cce0ea3830b6a6023282f9811e525b7ee6e8eb0009e890dd04f60edd3a373c602e517372fef6df67475808ca11941b33337cf701b5e3015cbd6666f29234ee61ade0274cc35e0476ef0c0de021aefd27507ccdf63275680b0483a232b87259dbb536b98065212e476e56d0f11d1d602a6e744bf9490fded637809c9d620eae586bbf4b6bedde1007610bcb7f9bc9b6bc600d6b8e89f24757b3abac0414805ef9f7903ec1975f6ef0e4cbd7d41df9471de3a3ac0326a40709059bed4f47580856522d96c4db5fa2e35801de458eb95b4ed4b8d6f005749c3166d137d3e6d6f00d75412356034e2c1b580b31395865df6ddf3e5378083624651c4db53c536d4fb76855811e4ef4b0fb3a3ac04a810482094b17cbbafbadafb7783868cce0ea3830e8ea600c0be60479496dfb9ba3ac040ea90dd04f60edd3a373c602e537372fef6df67475808608ca0866666f9ee036bc602add6666f293bbb986b780976cc35e0476ef0c0de0237bb29d41f337d8c9d5a02c18e88cae1c9676ed4dae600c425c8edcada1e23a3ac054973a25fca487ef6e89bc05b2f588dee586bbf4b6bedde103b885e5bfcde4db5e300dd71d13e48eaf6757580a9001700e7de40fb065d7dbbc391bafa83bf287d7874758064d48b8482cdf6a7a3ac0555948b65b136d7e8b8d600779163ae56d3b52e35bc015d270c59b44df4f9b5bc035d5048d580d38b06d602cc4e561977db77cf94de020d891947136d4f14db53edda15604793bd2c3ece8eb012a041208252c5f2eebeeb6bedde0e1a33383a8e0c3a3a980302f9811e525b7ee6e8eb0103aa437413d83b74e8dcf180b94dcdcbfbdb7d9d1d6028b01296200b5b86fb8b6bc60368a6d2038f10ea27be035c20b741eda01a5f7871ac04f604f445c1171d8536d600901c742e385db5d2dac032a75160bd0f0d74b6b010ca6de127725bce2daf180652350c06f02f7f7c186bc6000102e1b42193e94b7be808506dd76b148ed3d5b6b017366e8b11f3907b2d7540458f0402ed946ee22cef015cafb988bd9eddd6377809dcf95827de81bf735b57f6e20666b311a6506d72ed6d600ca0ee09ca5d3c7b5adaf1801dd993c5fbcbe9d1d4fb7684e549484e56d481ec3ad00d4db8976ddda971ac046555cdca87cff3a6dac04149e174eac3d28b6b0166eb5859dc04f11aa6dac04259cf4580de069dc00eb40380ca907b069da92dd680369bc5f8b0eeb6a7dbb420009f7bae85bd23a2cfedde12c5c8cb7b925b79074606f0020b741eda01a5f7871ac04f604f445c1171d8536d600901c742e385db5d2dac032a75160bd0f0d74b6b010ca6de127725bce2daf180652350c06f02f7f7c186bc6000102e1b42193e94b7be808506dd76b148ed3d5b6b017366e8b11f3907b2d7540458f0402ed946ee22cef015cafb988bd9eddd6377809dcf95827de81bf735b57f6e20666b311a6506d72ed6d600ca0ee09ca5d3c7b5adaf1801dd993c5fbcbe9d1d4fb7684e549484e56d481ec3ad00d4db8976ddda971ac046555cdca87cff003a6dac04149e174eac3d28b6b0166eb5859dc04f11aa6dac04259cf4580de069dc00eb40380ca907b069da92dd680369bc5f8b0eeb6a7dbb420009f7bae85bd23a2cfedde12c5c8cb7b925b79074606f0020b741eda01a5f7871ac04f604f445c1171d8536d600901c742e385db5d2dac032a75160bd0f0d74b6b010ca6de127725bce2daf180652350c06f02f7f7c186bc6000102e1b42193e94b7be808506dd76b148ed3d5b6b017366e8b11f3907b2d7540458f0402ed946ee22cef015cafb988bd9eddd6377809dcf95827de81bf735b57f6e20666b311a6506d72ed6d600ca0ee09ca5d3c7b5adaf1801dd993c5fbcbe9d1d4fb7684e549484e56d481ec3ad00d4db8976ddda971ac046555cdca87cff3a6dac04149e174eac3d28b6b0166eb5859dc04f11aa6dac04259cf4580de069dc00eb40380ca907b069da92dd680369bc5f8b0eeb6a7dbb420009f7bae85bd23a2cfedde12c5c8cb7b925b79074606f0020b741eda01a5f7871ac04f604f445c1171d8536d600901c742e385db5d2dac032a75160bd0f0d74b6b010ca6de127725bce2daf180652350c06f02f7f7c186bc6000102e1b42193e94b7be808506dd76b148ed3d5b6b017366e8b11f3907b2d7540458f0402ed946ee22cef015cafb988bd9eddd6377809dcf95827de81bf735b57f6e20666b311a6506d72ed6d600ca0ee09ca5d3c7b5adaf1801dd993c5fbcbe9d1d4fb7684e549484e56d481ec3ad00d4db8976ddda971ac046555cdca87cff003a6dac04149e174eac3d28b6b0166eb5859dc04f11aa6dac04259cf4580de069dc00eb40380ca907b069da92dd680369bc5f8b0eeb6a7dbb420009f7bae85bd23a2cfedde12c5c8cb7b925b79074606f0020b741eda01a5f7871ac04f604f445c1171d8536d600901c742e385db5d2dac032a75160bd0f0d74b6b010ca6de127725bce2daf180652350c06f02f7f7c186bc6000102e1b42193e94b7be808506dd76b148ed3d5b6b017366e8b11f3907b2d7540458f0402ed946ee22cef015cafb988bd9eddd6377809dcf95827de81bf735b57f6e20666b311a6506d72ed6d600ca0ee09ca5d3c7b5adaf1801dd993c5fbcbe9d1d4fb7684e549484e56d481ec3ad00d4db8976ddda971ac046555cdca87cff3a6dac04149e174eac3d28b6b0166eb5859dc04f11aa6dac04259cf4580de069dc00eb40380ca907b069da92dd680369bc5f8b0eeb6a7dbb420009f7bae85bd23a2cfedde12c5c8cb7b925b79074606f0020b741eda01a5f7871ac04f604f445c1171d8536d600901c742e385db5d2dac032a75160bd0f0d74b6b010ca6de127725bce2daf180652350c06f02f7f7c186bc6000102e1b42193e94b7be808506dd76b148ed3d5b6b017366e8b11f3907b2d7540458f0402ed946ee22cef015cafb988bd9eddd6377809dcf95827de81bf735b57f6e20666b311a6506d72ed6d600ca0ee09ca5d3c7b5adaf1801dd993c5fbcbe9d1d4fb7684e549484e56d481ec3ad00d4db8976ddda971ac046555cdca87cff003a6dac05569394860e0170d6ef4db5e301b4d36901c7887513df01e65e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c063d582f838429485ecfec6a5692ca49c3f0d0411b8fe0e03b52365f616a539e9b64f656a11a679785e1ea1e712a039bc4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980c79c17c1c27114e10767b63462cb47288c30e1f86f3828f2c4ae4f3b76b445e17eaeacb9ada737711b29b113153512f6436596b90acb3d09c2e809428a42994392b1caa06254b393c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea60293364f6264cb5cd9bb1fb2f2a54b0553262b0aa009481a924c9b080e3a6d99d84ad912ea68f653652ae9a6de5544ac330f5a15baca4ca20c073f89fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f530187a8a0f05d47549a1abc2361e96b54c1347368b0b44d2fa32152c2af01961b25b1459b63f660be9ff85507a980b789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5301d6aad9bd81a1926a2bb65b64e8e9c100cf9d8661f2d0e6c06654a02f15aaa8a62f3a2d451354da22f2e746c96c54c42664bd8ed985a160290b4e15404107420f231656616f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5301d59fb33b15226c994ad8bd9979c1647fe1343ef1bf43db011e2d6c57c8cd99faaa87d4c03c5ad8af919b33f5550fa98078b5b15f233667eaaa1f5300f16b62be466ccfd5543ea601e2d6c57c8cd99faaa87d4c03c5ad8af919b33f5550fa98078b5b15f233667eaaa1f5300f16b62be466ccfd5543ea601e2d6c57c8cd99faaa87d4c03c5ad8af919b33f5550fa980af8b9b13cb4893e25eccbcf240ffc2687724abe07b203bbe27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea601e27ec6fc8cd99faa687d4c03c4fd8df919b33f54d0fa980789fb1bf233667ea9a1f5300f13f637e466ccfd5343ea6020ec7ec6fc8cd99faa687d4c076f1ac624e0d49cbcc419b3662b253c81aad501a7236c31c9753569acc132c9c3db9fa1299817241397a64b8d4f080f42a6a995574f26a642b3c99e90a96aec301c9317c9a16bf243c078f9c7cae8a46275b5532422748973a7ce3595326582b4051b22721090e7847e418ff00b41d36bc59b553bce917fc1f1189f49748aab9b4bab4bb4b855656d0d22b68154526b12274cace775f354890a42952e626572e0a82d49cafb9dcc75fd1ff0049f49c4c6cb8f8955146b79bcefcb774745e938d5d76c4aa69a79ebf9b7bd9cac9d327a64a312462b8754d3cc9b4b3ccaa995353324542a44d0a154b98bb966bfdb1f7df434cd5839baceb2999d26d6ff97d1f42be4be6cd1c1c3fca26cbab69eb363e52f16aac730e9b2a462229f07c527d253cd9d213532d33f10954aaa3964ca989574a68d63d589bc4cf2bfcb5976d7192d7e3f8cdbef8fc766c38063987ed360783ed1612b5ccc2f1da4915d874c5a0cb52a4544b132595214c524a542c62d55369b23f5f065e2020101d4a2aea1c4a9c55e1d594f5f4aa54c969a9a79899b2cae52cca989cc8243a1692950dc4110fc75f49d627d63581db804069b268700a7c1f049d5787e12575387522e74faa514a8cd99210b52d44eae5e03868a8367f145a1547b274b8950898a4ccac93473b2d87574b107b60329b39c8524bc47074485d0cdc3ab6b569c3a62152d52e96a2b6a17484057bc54a1d1680c1e13e1436271bda19bb2f87e295271897515b492e5cfc3ebe9644fa8c39665d64aa5aba8912e9aa5720a4e6126629989d0428edc5e395fd2f6bdb7b5f4bf398e69c48c9369fd5e3347adb5b3d020820100804020101e53e1536f6a363f0ea1a2c1512e7ed263b3849a00a1ca0a6940813aad72810561198048dea21ecf1d3d1ba3ce2cf831c6c5c90e860fe0c86334a8c5368f07918ae2b521d7896315139554a0f6e4d12bf0724762529ec0d13564a66d0ad39aa8bcb5c9bb6357e0d36930ac1b18a829c0310a8e695b85cf599d370e5ce3feaf534f3ce65ae997efc4c516be5202729d7ea99e8cd4294e365aad2f68da6daad9fd8ec12a7693697139584e0546a929aac4a6052a5cbe7139122595640a212573120ab41a960e63cfbeb11cf476d34cd5b70899f488bcb232b13a19f884ec2e5540995d4f4d22ae6ca014c2454ae62252c2db29cca90bd0bdbb444d916d22784dede96bfdf0e59b5d4522aa968675648935b5c261a2a45cc4a66ce1280330cb413995901199b485f5b71dfd348bfce3e3089d3eef5d66df089f84bb50080c3cfc770fa7c7b0dd9b9ab58c5716a3acaea39610a2832286653ca9e4afaa08555cb61befc0c235bf813a3310080f31c2714abafaa46cee1a29e77b9d8348a9ac9b317309454d46614d24a52cc92259528bbb69018cc076865f33463070ec4d671ca79692bc3d299c8a4ada698b4d44b9a662a5b806d604db480f51c2f109589d14bac92f954a992d4e9c9d393315297d12491d241d6035d95b79b3951b4f3b6429a6623558c52cde42b26c8c33109b43227f37155c84fc45120d1ca9bc8a82b22e68374ef21d4f6a2fc3e17b6936befae9a71898e1255195b940201008040756b6ae5505254d64f2449a642a62dae48487603793b840798cf9db65b514d578860f2270c270b9a79e2a44f54854f327f1b4945c98cf3660ea998a5a519ac06a603e51cf8a524cdb446238d946d9e053462bb3db6f39596a26d3abf107959bef08e82a55d3aa08378f8ec6c5c7c3c7aa267b71ac78c7e4fdd7a2744fa371fa0606261511f57ae9c95c71a6b8ef5e79df589e5aeccaffa2e784dda0c6b6c768f05da0aaaac5e76d12175f3ab882b08aa906ea537465a664b394689e825223d3fa2ba5575e255156b7d7c9f3bfb77f40745e8bd130717032d397b16bef1bc551cfc7cdf5257f85dd8cc371b3b39548da718c3cfe4e9656cbed0ce13534cb44b9d364cc9587ae5ce94854c403310a28e926f711efe1c679b47e5f1bedeafcb6b8cb179fcfc7871f0dde83455d231092b9f4e270972e74f90ae5a4cd90acf4f3552663227250a29cc8395406550652494904c421dc80c457637418757e138654aa60aac68cf14294a14b079b4a33a6394bb7445b8c573c5e63953357a44d313f3aa34dfe0899b5bc6acbeb6aa7eea65dca1ac9388d151e214c268a6ae932e7d389d2a653cdc9352169e524ce4a26cb531ba5690a1a100c695d134d5313c3d7e71a25db8a840685e11a4aeab66e6d2cac57dca9b3a6a18d8a26a5073ad1377f26120a96db86fd20359c1e9719ada5a95e193e8b04c36420d7893573ab252b919f997cba296866538912662d0aca14b591a103489b6975f0e89aea8a6379d19ca0c7b18c1f11a7c2768e9d52155212a92a528cc42a5a9411cac99aa4a165295a809889a3321c1722215aa2d366eb8c62f87e0184e298ee2f51cd30ac1a9675662555956be4e453a0cc9abc92c296aca9492c904f08ad554531795b0f0e6baa298de582d95dbad99db4e7e9c02b2a2654617c97ba387d6515661d572535092a90b5d2d7c9a79e113424e45e4caa62c4b18d32cdafc2f6f58b5e3c27589b72989e2ce2abfebeee6dbe2a968f86edfe0789d3d5d6c8a7c565d053cdad95231099453c49a8f73f941513252c24b20192b0954ccb9fde3b87cb131a9a30fac9db267fedb5337f58aa2623798be9a4d94f6abc91ace6cbfddade3d2699899da274bde61b5e1d5f4f8a61f4389d2152a9711912aa6994a052a32e7202d0e937058e91d18b8738754d33bc4d99e162c625115d3b4c5e3d5dd8a342034adafac994dcce448093598a24d161eb593925545554d34844f290d9b921314403be2622e89ab2eae1c3701d849b532f67e9301a0c4e725fddaabad962a2a539539b94a89f391ca6799aa594dc2d168c4a2f66d5f41c5a30facab489eef8feb8b5dc2958661db412f67a807288c3f12a69f8655ae6ae654731aca2ae3cde6ac9572825cd91d124be5caf71115439e9aaef5a5ad12d0b99314112e582a5acd8002e498a5554445e5a445e6cc0ecaed56cfedb60187ed46cb6272f18c07154a9541884b0b4a5610b54b5f46604ad252b4904100c5eaa269df944fc62f08beb3e136f87eb7da778d1b0c546a5876dbecde25854ac6d35aaa2c2a6e1f2b14388d6ca9b494e8a59ca5252a5d44e4a64a54e839905599218a80043a9ed5adc72dbc73f76dceff007f9af8944e1ccc4f09aa27fb3bde9e3b4eb6da5b6c1420344da69f55eed60f412264c1cf65944b40a89f210264ca893292b5f375a14aca166d018b9322aeaa6ca91498b22a27aab514151239de2c899226ad2b5279542ea12402259631d3d23a262e0db3c6956d3c25860f49c3c5be59d637f06c35db23b4387e1f5d88cdae96b9741226542e50aec501509482b29079c58968e66ee1d97c5e5a766aab16c56b134d474336b9753595538e4934f226add53274e5164a10972546c222aaa222f2b5144d73963599716cc7844d9adb0aae6b810c6a685d39aaa6afa9c1715a2a2a8900a53ca53d6d5d2c9a69c159c14f2730e61d20e2f168a66dcbc2749f84ebf2d38a978fd6bf36f3109201018ac1719a1c7f0d938ae1ca5ae8ea153532d4b41429e4cd5495f4557eb20c45339a9a6ae1553154795511547ca51155efe1331eb4ccd33f38656252d7b6976864eccd04ac46a30fc431190ba993226cba0906a674b4cd532a71928fc22d32c749425a54a6d1262622e3c7316f0cf3f9ee2543b3f53b2202b28c2712c5f1791432a48c8ea5d5c89b31158579ac250929ed98c5e358c345d3b17e1967555162836b5786e258952842f0b91b372d5573aa9d04cc93cce96a712e4ccb5003955ce0853fbd0924aac3e43ddf0fac4e2141435e993329d35d225cf4c8985056813121795465a96870ec72a88e04c6296947c286c79c766ecf52d46298a575356a70eada9c3b08c52be869ab14a09e6f538852534da49331054338993464f7ed0a3b7b7cf489b7299df969c74dd3894e4df95fe3ac7c635f2d766f7513e552c89d5350b12a453a153274c3a25080ea3f30114c4c48a299aaada354d34cd5368de5a0e1be12f05c566ecbd352e198d8aadaf9136b709a59946a96b1412554e95574e0a3f8292f5727add3e9756ca6de70aa899898eeefe13ada27c672cdbc9953894d54e6a7589da79f8c786af448cd76a5b4fb6fb3bb20ac3a46335156baec5d5306158461f435989d7547229cd3972e8e825544f52258233af2654b87370f17d6c9b697fd794739f2e1ab3383631478f61b4d8b5026ad149579b92455d254d0cf191450a1329aae5c99d2cba4d9681c748b554d9589bb29109203118a6374183cec1a456ad69998f568c3f0e0942979a799336a19447546490bb9eedf0e311cff000899fba16cb3966ae14dafeb5453f7d50cbc15203e69f0b3438fccdb0c130bd9dc12a315da0daecfe2f6229ab14b2e99543292b9f2d4a52993965a55347124b07063c9e97f47d58b5e689b3e87a0fd2f8383d1baaaf0f34ebae9c7e6f9fb6a6a369703c476765ed06cf4ac66af6ce448abc07179588c9af975326a664b952674ca959065a16a9c8652ad7e00b78d8ff42e2e78cd8bad5ceedf07e97c3cb36c39b53cacf4d93276ff0064f12c26836836766d7d14cc52560d43454788d3e25cc317a8909aa44b992f32664948a4599cb03a39595c0c7a183f45635116aabcd1f72303e9bc0c3aa6aeafb567d318e6d3ecef83dc27044637515a24d4cd93856152e9686b311a9a8a812173128453d049a89a4f27216a2c86b47b9444536a7f5a3e76bbe24d55facfacdbef96c7866234f8bd052e25488aa974d588cf251554d3e8e781fa4a7aa44a9d2cf62d00c69316634d5775f14c6e83079d8348ad5ad3331ead187e1c12852f34f3266d43288ea8c921773ddbe238c473fc2267ee85f2ce59ab8536bfad514fdf5432f05480d2b696af9be31804b76e5a4d696fd5e43ef80f02ff0048bda7c6301f0635b8b60589546158a525750aa9eb642ca169fc3871da0ef06c77c74f44a62aaed2e4e9b54d3877879fe05fe91bb4fb2b2e7613e17365e749afa2a6973656d061e651935299a0722b5cb0aca9cef732f4f213a477e1fd1538d19e8d28e333c1e6e27d33181393122f89c22379fc992a6f095b67b51b51b075f3948c2764f1cae7c2e8a9a68573844929cca9cb49ccaeb8b161d9be3dbfdddd130ba362e49cf894d3acf2bf2781fbcfa6e2f4bc1cf1d5e1d55694f3b73e3f7793e89da1db0c2765b0a9f8de3751369f0ea65c9973264a913aa6615d44d4c8948449a744d9ab52e64c4a404a4eb1f1733f37df534ccfa45fe1aca300db1c1f6a30f18a60956aaaa4e56648999e54d913654e92ac93654e913d32e6ca9885065256904708b4c6d3cd4beb31c63fe7ee989f2668e20c0926c22b3368ba5ad4bdbdc1666ca52eda2274e38156d1c8aea79bc9af94322a02552cf25d604858b44d5d99889de6623d6a9888f9cfa22aab2c5533b531333fdb799fb9b373fed824e7fdb00e7fdb01c12abf363fb3b25ff1d3aa037752cc57f8406d78fe332767f08adc62a252e7c9a1467992d1d66ec78cf171230e99aa783a7a1745aba4e353854ef54db5787619e14768b6df1c1836cfd24ac168112a75457e2737f0b365c89282a52b2b84a4bb0d4eb1e4e17d255e3e265a22d1ce5f6bd2ff0064f03e8ee8b38d8f5cd756d14d3a44ccf8eb33f26b587787ec6706ae9f846d86092e7d451cc32a755519ca491bf935f1d5f37cd1a47d23344e5ae35f0615fec9d18f8718bd1b13b3545ed57e71f93ea5a2aa15b494f561065a6a5016941d4055c47ad12f89aa9b4d986c2f6bb6731bc6f69366f0bc564d6639b20ba797b478724282e955572b969198a800ace8bba49de0dc1113117a7370bcc7ac6ff7a2aeccda77b5fd3f5ebb4ed30d8e202030f3f1dc3e9f1ec3766e6ad6315c5a8eb2ba8e58428a0c8a1994f2a792bea8215572d86fbf0308d6fe04e8cc4068b8b7848d8fc15788c9acc42a66d661788c9c26a30da3a1adadab5d74fa44d7a29e45352c99b36a15cd55ca9e492a012092d954d5cdf8fcb74cc5b7e57f8ccc47ce25b661b8853e2b4147895209e9a6ae9499d2135122752ce0958702648a844b9b2d5c52b4823788bcc59589bbbd1097cdfb7db47b7541b6f3e56cb62b36561f21122457d2d4a254c9324cd959f97934e9099d392c75cce140fbd0d1f19fb43fb49fbbba4453af76f698ecd5cad57097d0fd15f44c74ac2999e7bf18f3868b3710f0b384521c3e9f6f26ed08ae9cb9f5589ce952696652800d913895a32157fe580ff3383f3781fb7d562476e3abd636ed4cf8445be7b3d7c4fd99a289d3b5a797acbeb4c0aa79e6078355f2951379d5153cde56a42133d59e52559a68960202cbf4b2867d23f55a26f4c4be26a8b4b54c73c27ec7e018b5560755518a6218ae1f2e5cdc568f08c2313c6154489c334a359ee653548a7e513d24898c48b8b45a9ed4da3cafc2fcafb79eba697de0aa998b5f8eb1e5b5fcaf78f389e4f4005c0237c1589ba603a932be865565361d36b29e5e215b2e6cda3a154c489d365c82813972e59399499666a33102d983ea205b8febf5a3b700804020101060343dbca09f55474753292a54ba35ab9c0487212b6e937634060f18da6a1c5f0b56092135c39a72230fab2ca995851d16aa0380ba2e5a03d0367e8e6d060d414b3ed3a5a0998381528a9be6780c95487a79dfaa603e4aaac04ed0617b358849ad08a9a1a2a632a8aa13cad1cc3901fc24be37d63f10fadf53895d331a4d53e7bbe2a9ecccc734627b3d5fb4d2a8e654d760980c8a05a29e6cc4a17ce79c2402514f3436545fa219e3c2e91fb474741c59c38a2bc49b5f7d2de30fa2fa33e83ab1b0bac8aad7e6f6bd83994d2a9b66a44bc4e97139b3a8714cfc8cde5172c4baf491cb3f48294268d77bc7ed1fb278f189f47e1ed7d666395e65e861f459e8f19278355c2f08da6c17c2a6dd6273364b69ebb08da8c52867e1b8d5162386a30a4c94e114b4336655d1ceaf9352552e64a5be5a75120259d847d1511fc39a76ef7dd16f8dacdb1a62f4cc6bd988ff005553f74c3cd0782cdb2969f062319c1f1baea6c0b65767b0da797834dc1175380e31874d2bada80bc4e7204b13d065cb54ea35296a4cb29208c91bde3af9abed44c4f846f4cdb5b4f188ef4692af4a8cd8755a779c4d38f6bbb5c5f4bc7b39ad926d31bd56dc27f81d4e278ce138a62fb3a9ad9d59b678e54ed3cf9b559b95d9eaaa7afe6f4ab4f2bd2a49b3b9aa974a91954ae94c967a6630e8b4c514ebbdabf9e24cd3f08d69f7785a5a74998c49abff006f2f9c534455ff00dd13ce34d62cd4716f04fb5665ec8d3d560f8dd7e0783613370ec1f0bc126608aacc0eb65e25326d3d7d3af179b2e5ca3cd3929689b4f33949611972b1b5ba2d5546251557decb837aa75d688fe25357b56aa7bd96fd645efb537e7c4a6f44c70cf8da738aeafe1db87662272de6268cda71b7a04ef0635551b618ced7546082a318f1d682b703c52654256b9182a70ca2a6ace6e0cc69089ab44e4cd969015358660a195b489888c28e16c5cffddd76589e71ae1cc46d156b689bcab8d4cd5155b7fe1dbfb6ac39abe5155e74bc69ac3cbd5e09b16c1f6029367f05f052578f6cfed26375f8651895b3f5181622b9d3a77b9f5588d354d6c95ae9b9bcd9684a9396a24997d14e5033679eacd8534e934d14d3aed154461e6ab4bce69aa9998aa2f36cd7ef5a76c4a289cf7d6999be9bcc76ad4da6d13117b4d355a266d313a5e3ed195ca7252f96094ceca39508ba429aecfb9e26ab5f4d94a6f6d7762368e6d448c1310a8a52b1369d0269c872aca10a0a9894ab7128040310b3e2ddbdf0a7b6182eda62fb1bb394f2293dc99a893839c3a895575d3689484ae8e689d3b9ccf19a4ad374651d91fb87ece7ec6fd158bd070fa5d719b353799aeab5313b4c708de38ddf23d3ff0078d754c457969bcedd9da678cebb6f697d4be0365ed3e29b04676d6cbc4d58e2b12ad4568ad2a95521285a7931312acaa16e3768fcc7f6aa9e8b4fd215c746cbd5e9ddeededad9eefd15462538111893333e3fefab629120536de6d6c81a4bc3f06de55a9acdeabc7cebd17806cff836db7c0f6b2836967c9a9c569276d16d7195824da8a3c981a31aada89b498ed104997ca15c939274a98b5cc099a7930965a154c3898c3cbb4ce1cd39b94e6cd97fa6ab44f38aa9a785edae2d57ae6ae17a272fbdd9a69f3bd3dae3698bfb595acece7829c728b60b6a703c736636c4e378850e0d4db402826ecc2a9f1aafa0aa336a311902754a0561a937aa5626942e7c9696a054e22f565e11a5e2622785a3e16daf6d666d3e5944cdfb5ae9545fcf6d77bc7b3c2358e3ae7ab762b6a6b707d8a99b5be0b28b6ae9f0fc02af0e91b11854cc3e8e9f07c44cf1ccab514f51568a592ae6a9083329a74c5d3a9c49ce95154571a9999ab2cf6aaa28b4f0a2a88ab3eb1da88cd34da62266d46badaec3d2d7d698aaa998b476a26632e9dd998889bc4cc44cd57d387767ecc7850a1a597b3d3706a8da9acc429362fdd5db44d752cba6e5b07aa95eeb19889f39154a98a4cb3312d2885837503d13ae2d51562cdb4a7afcff00db6c3e1e744de3846d79d19e0c4d1179d6f81345afb556c5e33bf7e2d3bccc6b68ed476b1af05d894dd9fda8ad97b3c315c7319dab995f8ee16aa99627631b3d2f1433c6172e74c99c94b953a432b9ba94896b566131b94598e6c2a6698a2fb45554d51cefd6649f1cb355355b945bc1d3d2273d555a6dd9a2299e5d9c2cfe59b2cd333e53b44305b5de0e314c62b3662af0dd86c7703d92a5c25549836c6e0c366a5576ce6262b973ce21253535268e42e64b29cb369271988666e916e9c299a7a46699bffd3b55ada229be6a27dacb3788ab2c4e68898f668bf3e2534ce15a23dfbc73cd972cf2bc5aa989998989aaf1bd4df76576671bc2bc2fed6639276566d36078f49a85e27b518a230b5d5aea12aa6452c8c36ae92a26561a35225ad6a9357293914d90b1cb19f47bd344c6d17bdb8cce69d66da4c45fb37ed444c53b4696c588cf13bcdbd222d1b5f589bc45e23b3337ab7ef7bb44a5f16786a9f89605e18764b169e954cc3aa82158724e8554dc995a52772b35e3e9fe86c28c5c0ae23bd6717498ed44b4af0a73b6f713db6a9da2d97f76717d9fdaa4d24ec31786cfaa54a91c92254b99cba6490991996093d8e4c7c3fd21f47578d5f7e68b6967b1d1ba553871ad3766bc2252099b0db2f86e2b8909b8fecae1b4185d4cd96a5544caeaf5ab21952e71bac851cc49bf4b8c7dafd0b1565ab4d3eed1e274aa6f543e92dafd93afda5f06580ecc546192b199caa9d98f7770ca8e4ccb9b4d4789514ec404d13884ad3c84a984a7df680125a3e7eacb38bf66f3f74d9e961d534c4f3cb31eb679556f82ef08d45847840d94c2e673ac029a9367e9b60ab4544b1575783d16273eb6b3049fcba8a73cba659a442a68e4e64b5204c51fc236537ae989c4ed559bb5f6a98da794cebdabef34dfda6916eed33962d5dbec55544479daf4de2622f444f6626698bc52782892aa9f0655d57e0e312c4f0ac0f13c665cfc0f1546cf0a9c1e4e27c9aa44fa7934553cce5d252cd965494485aa6a1dd28262725eab4ce93855537d6f79ae262ffdb9e98b6911314e917b73de623b3fcca6af0b461cd336f3af2d555ed7aaf57274700f05de1565e21b3c71a9ea5d1d5aa46cd6d64ce7685abc5ed9c9b2a7e1758ae99e526624ba7a84ce48e904d5f487e0cc6d462e6ab357bd5fc4abc3162f1114447b3ad35cf0ec4c71b2d8b6cb3146d4de8a6fac4e1d7de99dbb514da98f2bf8465308f079b594f8d48992f64a6611b4149371f99b65e10f9d52291b4d4f5b22aa5d0d37427aaad6d327489813552908a7e4b24a252cfc355357d56aa63bdd464b73c4ecf6b96b3154e6998abb56b6b55b4898eba26758eb735fdda35ecf3d22629b6d36cdbc529c7bc10ed3230ed86a5d8fa39586ab0cd9caf95b652975225af16aa9f370654fa0aaae42d55295d7caa19b2d5568ce52121cb308ede91551d65568cd8713a53ce33553c7c6734d356989378af4aa58f438aa3a345354db17b379e539262674d39469dd8ee6d0fa6f0a5156178728e16bc109a794f832f91cd49d01f8057375cc92f2fabf83514dac488ae277a75bf8f3288b53b59908a2cd2f0da5a5c3ea305c54cdac9136b7029147513e5cea14c996898a51953548a93ca6797316588194bb107480f1cf0b3e10e4ec455613b25b3f86d2ceacc0a968a752cac524c99cba9485294814eb9131d627970bb24a4a4b58bc7074be973853688d5f7ffb21fb1b4fd2b85563e35734e0d3396f4c5e6fbf1ff99673c097847a9db4958f5062122929eb70da95cdc94f344cff00685aa6cd2a64cb03f08bb306dce5a3a70317aca6ef9bfda1fa16bfa2fa54e055af18f189dbca79c70956b300daa97e137dd1d8dc171fd95a4c4aaa62b6e715a8aac3676018b49140a9326a65510a99f592eb513532121689327325244c2b0131688ab2554c6978aad7e15709a6db5e7598db7d333c7aa62f133acc5b6e578be6e7a5e238dedecbcc30ff0005db6a366f17c2f0bd8c9bb278cf88b8ae0bb558a2abe8bffd6bda1a84d38a6c444ea69f3664c505c99ebe735a9973472cd96ebcbdb463d346275914ff000e2ba2a8c3e596acd31ae9b7677edef5776148a7369577b589abc2d31e76bcc4dbd9b5a377a1d56cced66dad662f598e6c8d660185e2b8d6ce4d4e133f10a55542b0fc3f31ab351cca7cc968752b2aa5a262f3237975247246153788abb54f595d53cad38114d31e3db8d639df7a7b53857389acd3a4e5c38f8634d5579766749df6b5aad2141b055585edd6d5cd3b0a8a9a9c43a3e0e3c24c9186ae4ecde1e8c1e5d14ac3e5c99d3e5d5d28953e5cc2114b2548509ae4839d98d9f1302b88ab2e2d515deaf7a6a9bc4dfc348b4fbb7e2eaa2629ae9bc5f0e32f67cb7d36d7f5b3cff03f0538ad2783fda4c0b13d91db1189d6cac0518cd152ccd96994d8ad7e1b39736a2be54a99532a5560aa5b73c562025cca8959411981037e9189154de988b67998a6623b31316b4c4696e59674abb516dd9d11546f3adad331c75f1bcdf7df868fa6f60a9f18a4d8bd97a5c7f09c3f01c629b0f912abb05c3d0897494aa4202449932e5ae6cb4250001950b5246895283188c59bd57bdf9f9f1df5b5f6beb6dd5a22df19f85f4f598dfc55dbc5ae4ecb621508055cd2652d44d03e0e4d54a9937cc8498cd7726c4e6c53c1b61b4386e393292ae54a426554c90940a09d4a072c679d2621530198a0aeb05376c5665ae1e1c4eb3a447eb47857854d83c3765313c1718c457eedaeb84d1498ad42805cbaf9ab1513662100e5ca729992d20747a4075a295605155715cc76a36974617d23d230fa3d5d1e9aa630ab989aa9e1331b7eb8bd8fc1d60586617b3d495d4785d2d0556321557573654944a993133a62e6c9e554900a8a25ac0bc691110e5ab12aaad133336d9c988e0d894ff091b258fcaa6cd84e198163b475d579d0324facaac2a653a32139ce74d2cd2e0306bb387bd1368abc6df2ba2a9ec5bed5fe557e6f31a7f0635b8d55e0949b63820c4b01a6c4b6e2ab10a09f508992262315c5ccfc2c4f9299844e42e9d45410a0a082139825694b618b46698ffd2b7f75e8f9e9369e1cdbd789a4db7cf44ff6c61d5157ced131c7caed329fc0f6d7d0ec48a4c0e92660bb5b8dec561b47b638a73c42eaabf15a5a99132a2454552d73b9598ba7e5e4226ab3212956507200236c7aaf555a66a33614c53ce299afacd274bcc65be6b759a45536bcc727571155a9d22d8d11379d33658c29befd9d662dddb690dc763761b13c311b3e68767719c070ea3c4719a8560b899c1648a1455e1c9912d1474f834e9b4b2a9d738121092f9d4b528006298f1334f3fe0d74f8de7168aa226fe11311c2298a62f75623b54cdadfc5a6a9e568c3ae999f8cc5f9cde6dc5a5d6f81dda6c5b64ea138b60aaaeda9c27c196cfe13b28b9b5b2d429f69e865d719f3a57e1b934d4c998b9392a8dd2e7935dd71eae263614f4d9c48ff00a73d222adbd88ae266de74def1c634b358aa7a98a7c2bbc79c536bf3d63ca2756dd846c0e3d49e192bf6a318c3b1bae33f159f59846d7522f08e668c2e6e19cda5e155ca9b325e29c8ca9c14b12252172b95c939c2b3e5f37a34cd38769dfb57fb57c49aa9db8c536a6f56d1131b5918dda9f0ecdbc2d169f8cde74defcdf48440f19f0baa99253814f54b52e8d5cea9ea1b4cd33915849fd744a5a7e780f52c628b07da1c269b169352b069242aa29674929962a241226265cd0010a94a992d0a6e29ef11b4d31542f858b561559a9dff003d1d6aac370fae9f877bb98253e274939329526784cc99352aa99225cccfd200673e81a691f31574ac499ef4a9b353db4c3314da4f05bb7981e1b24d7e2f8be118de1f865329694f2b366227c8912ccc9a5290e583a8b7131ead39abc1f174f46ae28c6a667689879f577816913e6ec69c455896d94dacc5e9a6f843c4314a890153b0ea2c1b11a7a6a45c9a54d2d3aa9915154949932e532f3a8cc0b05663d39ae33cfbbda9f3aaab45e7d222dcad16b3970afd55a77cb4d36e511544cc47cef33acc6979d218d93b01b448db79753e28a938ccbda79988afc2b1a8a4e495b36a2a5230612f96e7ac24914bcd8c9e4011cbe6ced1cf81c337dbcdf6f367cbe7acd3576ad972e58d222f38f11ae4ff00e5e5b7b397266f2be5afbb7be6d6d7aad91c07c1855ece6ceecc61581ecc51609c82b68a66374947cd6421536b69e748a45cce49413314a4f2497bb0001602dcdd229aebc0cbbcfd5727fee4f53331eb315cdf6df5d758c2ece2c55fff00226afecfe2dbd2d553a7cb46bd3bc1aed378ebb238be2f8563789d250506cc4ac16bf0a9983e6c0a7e18b2712953575f365544a9156e04f34456674bcd2d49b2337a75627f1f12abf7b12b989b7b134c4453ef6f154c44e913544e93761838731d1b0e89f670e22638e68e3cb945fc1baf82cd98c6f6736bfc204d99b2b3b08c071a9e6b118ee288c28e2d5b5936aea66ae59aac36a27aea68e4a260e439da51365a4e4e90eaf3e1cff062274b5ad1e9acd5ece6dbb51ad5acd5ce7a3175c4befbdfe56b71b4eba70b45bc3dde20697b5d840c6a58a2154aa2aae6753370fab4eb2ea64cda69b25638b2d20b6fd2262663632457d99e2d0b0ff091896182a25e3be0d7135ed22bf05513e96a649a0ace450a932a63ae6098841428b2548252fbe36c946f698971558bd2a2230ef15531b5efa7a3c564786ea3a0f0812ea36b66225d654e25295b612d085cb4e068914f3a9a8d12c11feb14a51501666d94f98e501a33ae5d183879637bcbe92f0a1866d06d5ec455ecdec84c9499db606561d578e15255268b0daaff006cabca26c95cdff57cc996994a72b526e94ba867922aaa98abbb7bcf1bdb5cb6e55cc4513ca999974e1d596f37b5511a5b7bce978f1a6f9f5f76dbbca29762bc226c6fbb5474f84d3ed76128c7f07da8c3246092e9b0897ca2a67258b505251d757cc12f28949aa19e784ad53163303134d569a2fec555fac574576f8575f1da9b5b6b4618b857a66299de28f4eaeaa3feea29b478c4ded771d4ec8ed85553ecfd66d3783c5ed6e1231fda7aec67601359874dcaac46accec1eb6673b9f269678a6979814e7742a6674a49406cb0b0ed6bef96a8f2aa71335fe1b55119a234b466aa1d18d8b15e6988b6b87eb4d385966395e6ab4e59ece9de9b44ce1aa7c126d5625e0a711d92add99906a17e0eb09c2687019d534f365a317a09f533f9ba6667280a4132b2ceeabb1cd6b5f0bb38b4d55f6a299c099f1c933d6697e31a5b69bdb65aa9a6748b537ab1fca98af2e4e1ac45afb5f4da25b778a38949f097b03b49b3be0e27e1741498752d056a31295812e8303a09726a8aa5e1a69ab1759475815384a9829d13244d4b027a3986b875ce6aafb4ef3c67b316889e31788bd35691daaa9d67b5cb5c7622dc3870ef6b33e36d6263c227c3e8f8a2ed0f1e5251b5fb26b57552b964fedb4d01b962c709c32844ec3b0b9149329ea454d1840ca66559cc94296dd6fc628977b461f4bfd2dd460558f8d55e9a29fd441d17a2d39b2d116bcbe75f089b5be10e971fc5b009f8dcb9586d2507395ce4cb57e1a85432d4cd1947e1264b57479240cc43101b311f31f47fd378dd2689bcd39f0e6d55b6e778f47e8dfb3df427d1b8f87fc68aaaaea9b46b6f28f0fea9d238f0bd36539cf85af013b5f83e1ea95475f8e4ac570fa69b3ed24cf9c8ce9e5b2663c9a953005b0eabda3e97a3e34e2534d76daaa66dc272d5136f29b59f37fb47f4247d15d3ebe8d355e9b6f1bc4574fdf17f9363c7eb7c206da6c862fb3d2fc1e633b218af3690ba89d3b12c305255f2153257558751d4d1564da848ab9099b2933664994c0b9ca6d1d1896aad56b3115533967bd317bcc6f976de26ab55ddbe59997cf61767b3c72d5113c2272cc533ef69369d22f1e7a351c3bc19e2388cd972256c54dd88d81aada5c3ab13e0fc54d249e6d4f4b87d54baca854ac36a66d34b975750b9495d3c998a0b00a963f08b115aa8cd962aed76ab9f08a670ed14cf3edde6dac76bc253155a2bb6939288fee8c58aa663fb34cd369d3c2999c4e3fe0df69e9365b6630fc1762978ae2db2d8fed2556c960d3c61157b3f4b4d518ace9985fba14b59572264b948a654b321744f3a9c02909b996ada89fe2d15728a627fd37b4ef1545b49d639c4a6bc992ba7d99989b719ecebbe9966a99bc4f1b4c33d5db09b4d3b6ee7e209d9459da09db51438a51785a4d552e4a6c024990a9f8432a70ae485cb97369f9ba24990a2be58a828a9abd17b16bf0eb337dacd9f26d7bdb351deb5b25e2f6a6f963deabf1be4b7d8b65cdf38aaad3bd9b2ce976b7b55e0b76b310a4d93462183e338be1587d06314a708c1a6e0c6bb0dc4aaf11e714b8b532b169d2a9d1351201089f2a689d289e88652dabd12f464bef187811fd33874dab89e3699b5ed78aa29d782784c73c4c59f38aea99a7c348be93ef784bebc4b84a5ddd83bebf3c5a514ecf07ff488a3978d6c4e1bb293b15a3c025ed7e2f268118ed5839296a2552d4d75190b71c999b57492a4e6e0b2d768d30749ba65f95b59e10bc2eecc5756e0555b75b5587d5e173574f5544714aa225ae59ca40fc214b5ac458ee8efc94caadefc15537849f0dfb6f85ecb62db61b418a6cf2168aada7e778854cc908a196a1ca2722d6539a6f5101b52fa0315c4cb445c7ec649932a9e54aa7912d32644848449928195294a43252903400479abbc53623c71d87153b1955b0188e2f44bc7713aaa1db2a0abc33992a8f14c4675709d588a9aaa7ab44e942a089a94489998a5d24bb051daa29a7bb34d314f84e5a6d78b5fbd6bcde23b533c353122d555546b9a6fe3aef1e9c3ecdb8e8f3bc0bc18ed12968a2c43624516249c2b1aa2f08fb5f5151453e56d8aeb24aa55302844e993a7054c22703592e5f2007252dd2a31cd894553d1aa8a62d3d56588ff00e6465eddfd2aed4ce6ab3de6d37b6d3553d7c4f0eb737fedce6ecf3e34f66232f677d22f9a1e060d3d5ec74fd9fd9bc1f66b11c07c1fe3383d063926452a558663b58aa35534d962574b3256aab595cbf2977e9dfd1e9d5c5747488a37ae698a387663ad898bef4c6b447c2ddd73fd1f54d1460c62c5f2eb546faf62fe733669949e0ab6a51b1d5187526ce6d0e1c062382d46d76c9541d9a34b8dcaa3953d15dcca5c898aa69eba998b973272b1012ccfe4d014c5db1c5ae9ab2cc53d8cf54e5d2f4c5545a9d2f932d33ac531339673571798a6f5c1a269a6627bf9698cd79d669ae2666fde99aa9bd3798d62622ad2f6de703d9bda8d87add8cda6c2b63f1fda7a0a6c0ebf03c47676aaa306463986a66e21cf694c809aa9586f2194722a972ea1d284c867c8a02f9ad355f5cd4e16be3871544e6beb3339ef33ef5f84de2f96f4c5b4cb35cdbfaf2ed6bed97489b5a999f2747c206cb6d4ed85756e3157e0d2bb195e35b388a1d8da39f5d862276ca6352e7d59388cd5f3b2990b9899d4ebe7140674d4f25940eae6e7aa89d72cdab9b5abe516d639e93acc6d5f1da1ad3891d9cd17a6266f47bdb7df1131af7378ef556edd5f82bc6a7e398bed45461fee86d54adb0d96abc131e554242918551c8c264e2f369506635372e9955699c9484ae72592acc9c91dd838987189133ddfe2fa66a2b8a23cb34d33e13ab399abaa8a666f6a298fee8aa6f3e76e3cb486115b03b729adf0b14fb3fb355187506d3cc35b3319c4a66194f8be293938a26a26e1f4d8961953367aa867d1f2d2a49ac4cb994e16848252e25f153111851131b5544dbde8bccd79b84cc696d6d5eb1569aaf3ae24cc71a6b8e368ab2c5344c4ef1aeb3a4db7a76b4e7b66b6171ca7c5e82bf0ad8c3b07b232769a8abf0fd8754da106865c8c2ab69ab2b391a19f3e9648a99f3e58e4a44c53e5e5140296a64c4f679e6ae7fa69ab0f2c47f95e7fbfcd178cb5db8d14479d54e345533fe1c66d3396dcafcbe06f60f6836531fc42ab692871c18daa8ea6463bb4ca560dee5e373d75826caab269667ba53a7a65b8966aa58e4d054804d9ef8136c0cbb69469e34d33154c70ed4eb5553daafb33317bab8d1138d3578d731fd35557a699bfbb1a446b14eb1136dfe8f881ac556c9d26dad5d5aeb2b6bb0e9bb333e5a700afa09c6454d2d62a409936a50a0e0e6953c4a650232958f7d1c58954e7d383aa9888a23c7fe1f21d66c06d16d356f854a4c6aaa77bbbb352461b49eeb554cc41588cb9721551492e866265518a794a33010109e815b92a223c8e994575e2d354e26de1b6bfecfa0fa3a8c48c198a30af15e979da6de7b6fbb6fd9cd8af0908d8bd96f08fb79b5f5f8b62d8557d262149b33504a932533a7caa4428ce0b519b3e6485652a5b9095148eddfa56262e95535766998e1bfeb93cfc0c3c3a66aa2aa6d54c4c6f7b7eb9bd4fc2fe078e62f2f606b304c1715c77c5cda4462389d1e13574b455c29bdceaea62a9336b2a68e5fe327a011ca02524c7b71a6244f84fce1e4c5a70ea8e797e55d33f743ceb6cbc1a633b73236c3199bb2989d362e362e828fc1fd3e2988532eae931da4a8c4d62a33d3564f908ab467a75a2a73ba42884ac3cc11d785922ba73777aca26ab5e3b1d9cd11b4c699a2ab77bc7456713f8711fd7a79db2ff00b72e3673e3be0c2a70f38ad3611b0f3716d963b61418cf8b543574d4e6ae91182737ac5a79c54c84154daa7e5513169e59d59dd2b513c1699aa9cd17a69aabb46968a670ad1a72cf33a70decd6f4d344e4ef4e1d179e335c635e66679f5711daf08d6f0d5317f055b5753836cfca99b2d89f8a326af68972bc1be1f3706a8acc251894d92ac2a74a46273fdcd4ae8932a6e512a71e40cd024929062f92748aa6f5659ed4693139e662d3a4e944c519a35ecf29bb3a6d7aa6348cd4ce598d2a88a229aa34be935debcbb551379b55110f71d8ed87e65b59b47b558d61f3ea312989c3e9f67b15af9d2ea2a514f2f0ca793524096b5cb953664f4ac4e5200e5185d49088d2f6ab13866ae76db2da8dbc2f1b785d9dbf87854eb3970e37df366c4d67866cb546b1a6b36de592db2a754ec7b65d41da5c8c45fe7e6ff74425e21e1cf0b9153e0f6ba5d64a13a40aaa45196a76244d043f18f6ff0067b0a9c4e971156b1abc0fda6c6af0ba15534cda6f1f7be6fc071cc0363978f609e17bc1e4c993a649cf2b15cd2eb24cc9139b924e4529a593a898824feab47add2f13a4f4c8ec4e5c189f28ff007f2789d0b0ba27409fe2467c6aa2fce7fdbcf76b7b31814ed9ff0009be0c714c0e4cec2f64b6db1398bc1b0d5548aa97c9c954b0bcaa373d701c87b461d32aa7030eaa30ebcdd9ed72fd7dce8e834d78f8b4e262e1e48cdd8e7e3fae2fb43c2a6ce6318dec655d0e0b415389e209aec26a51454d3a5489eb4526254d533b919b51324cb4ac4b94a292a58bc7ca7b54cf29897dad36b551ce9aa3e34cc43c2713f071b7d57b2d5780ab60d3885262559b455983cfad99865563787d556896ba1a9aba99953cdd0be5e654669d4e66cd4204a09e96630aef6a6ddea68de39c5536f1bcd396679e266999b6b3a515d19f355ac4d54de278c445a7c2d16b45f6a74b4f0f49c3b6531756db271fda4d85aac7666234d872b67b1a9d370f9cbd9d32e97255d34c44da9cd2d667665aa652729ca6662592226adf12238cd5313ce2698888e71b4c5ad975bf1aadcdec517d6d11131f6b34f6be16f1ecedb34bc17c1aedee19b0f8ce018ae0b331cc5b11d99c3e9b0aad975b229d549cd24ca96bc0ff001c1328a6667988a992596e7394942334d76aa75fe651333ef46689bf0b6588b65dbdaa7b5554bf48ed555cd3c631223c2f7b79e6d37d784e910eeabc1ee3f3138d56d06c2d5613b275789e173ebfc17cca9a013713954d2aa535f3089355328bfd6264e90b28993c72bc81e51b3c348a688b5ed5553e54cd114d3169b4766a89aad1a466cd1da8b1a76b84cd31af398aef3e3ad1d9bceb3dd9b531765706f0595f884ec1246d06ce736d92933b1d9f4bb1d3a7cb9b26829eab9b268a86a254a98b93351d09d33924e7952c9091d4418c6bc3bdafacc5156be39e269f5a69d227ecdf92d156936d2f5d33e91875455b73ab5e737d77986bb4de0cb6c4576c054ed06198de25ee6607b394b26ab0f9f854ca8c1b11c3a695e20664daf9c95a51520a1336651a96b9884a90a0c10fd3331d6cd5ceabf85adb73def33ceecf122d16a7bbdafbf498be9b6d3bc3e9fa6a45a76a765265da5cfab7f9e8e688cd2dd76ce979eecae3f4cce6651cd61da12e231e914e6c3aa3c1dff45e2f57d2b0eae55d3f7be6cc124ecfec97836ad9fb47578850625e12654d9744ba1948993d1875331ffcc20251396ab9de1b847cf7478a30b07b7789c4e5ca3f37ea1f4957d23a6f4fb60453553d1b7cd33119eaf2e34c3cf76868e8b698ecfed2e0f367d52275553e138d2a721299a67852532a6cc0970f312a6edb474e3d318b96ba79da5e6fd1b8d89d0face8f8b1116a67128b6d6d6f11e52fb9d4aa8a0c156ba2a25e23554748554b874b5210b9f3112dd1292a9aa44b49590c0a9407131edd778a672eefcd70e22aae334da2677e5e2f99367bc16f84ed95adc2f1fa8adc2368311da3a1c62876ea8b0fa5e63325ccc5f96c4d3513aaaa6b668ace675e4c895965cb2254d2c960d15e958511858985877989c3b44e917aa989b5531c26bbd5355bda98be9178b61d79aba71274b577b4ebd99b44d37fb31145becd16de4c43c1ad76ca6cb6d34dc3e5d3eced3556c8ecfa369714acc4c52a6b6af0dab9b3314975b5e662d695cea3fc01a956895065326daf4bae9eb6afe4f5944c47098cd39b7e35465bc55dfdaade59743a6d83879bfeae4c48aa78c4cd1464d6385356698cbddd72db46236191cfa4635b4de0eb62247b8784edb61f5f2b65302acc30a2653a367a5d15422967a27cac315324cd9cf3112ea0a014a80595da294e7ecd556d9abb7f4cd1962de19be137b5e22f379c5a2aa6623f97447ac63679bf29cbf18cb336cda6d586ec9f848a5a74631e2c519c7a5617e118c9c1eaeb254ea5e798e6374f5d8552cd992e6214a973a54b2e52cc032b2168be2cff000adbce4a22de31de8d6de97b5dac574d555e748cf4cfa4516bf1b78efe1760766fc19e353a44fc1314d83a8d9ed8da9da9c3f1a9f81e7c2e9294508c1574b592051e13573a5a12aac9215364a730988983315bcd02b896bd333ac53557fe338736ff0054edcf85b5528aed4ce5d2b9a288d3df8c689998e5d8da77d39d9db9583d2ed0a7c22e25866c5ed4e2f85566d4d0ced8cc430132305c4684d1eced1d173fa0562b3f0d4e494b44c916cc95749250b46611698aad154f7b35737f3b46bfd569de358b4f189526298988888cb145316f29ae74b6d6898da6262f67d09b0b2f6a256c8e012f6d66a67ed4269923179a39272b739794e40093ca646e5393e8667cbd168b55c39da2f6db35a335afadb35ed7d6cc70efadf9cdb9e5bce5bf8e5b5fc5b6455a3e5cf09186e0f3b6d7110ac5a51afa9a654f98b42473cc3148934b2522595e60d3414ad052014adee5e3f3cfdb19afa257d7d1315f591d5cd1545e9b6f78e53e2faffd9ecb8d4757545b276a2a89b4f2d5af63b85e1f2674aa8acaa43239a09722b420d2c951aa4cb556298254194b0a9b9482a602c0c7c0fecfe3e263d5f568cb4d38d396aaedda88df2c4cecfa4fa428a28a7ad9bcce1c5e22fa5f9cf37d55b37269e9b67701a7a3abf7429245052cba5af62396969929089ac5cf4c5e3f7dc2a72d1117bda1f97e2559aa99d9e278a23c25ec455f8551b21b0f3f6aeb36d6ad58bec7e3b4b53870974f5aac369a8848c52557d5512c2254da5052a93ca3cb2d622fa616d4d13a5aad6784d3557354edade2272edb453699d6d154466cdce3e13116f86d3e73569c66718f0778ad41f0c9b452f0215fb538dce90363a62aa6585cca49585e1a26c8a652e67274bcbd5532d2b7c99ca50564a528226f9725b8625354ff004c625355be11b5f7f3531a9eb68b719c29a7caaaa2b8ff00ee8d6383ad376436a76c713acacda1d97abc1b05c576c30ec4a6e113abe9ccff0072a9702e6ca15268ea168e9558c9324a16a0a4920e64131cf183798cdac67aa6795a70b2c79ebbc73e71aba2ac6bd336d27aba698e778c7cd3e5d99d3c3955a462f04f05955836d3f837c5eaf616462345b2d886d7d1d14a97cc16ac2a9311c685560955284e9c809914f4a8504a24bcc941612997d603a70f4c4bf19c28a6fe34f09e3ac5e2386bae8c71f2e4b46d9e99b79d3da9ff003b4fa5e3687d4515410080402020c035b1b83a880eacba0a193339695454f2a69d66a65a42bce03c076e02aa485a5493a283180f219fe0a1a6afdcdda8c570ca37264d0cbe4148960fbd472b296a61b83da3c1c7fd99e818d5cd7551acf8cb8eae818554dda6d6783fda8c2eaa64aa6a2a8da44caaa555e1b8df38a7913e599884a56850fc10f7ada311db1f0bf4f7ff00a7b8d8fd266be8b5514e1d54c44d355f87a4bdff00a37a560f46c2c9313a4b6cf06db238b60b8ae2189e23850c284f90b42b34e44e9d513a6cc42d736629055ba58173dc008fa3fd90fd9ce91f45f59d7554d59b2c4453b44537f2e6afd21d2f0f1ad92262dcdecd1f6af388040201008040526213365ae5ac3a6624a543b0da03c6a46cfedfd34a954669696aa9a9644aa594a978c2e88cd932258948e54d3d0898ae8a7454c536917ab12a9a72cce91c387c11962f771236676d29506561782d3e0d20a94b552d0ed36214d2cad5752ca255324152b79d4c512f43d94c0a760f4732762136754e3588294bc46a67554ead565e5662e4c913e7f4d4992899945877406d5008040201008040203cd7c28ec0527842d9df7366e6a7c4a866a6ab02c5658066d2d4a3aab483d649d149de3b58c76741e9d5f45c4cf4fac73856aa62a7c712bc1f7874d99abaea1a6d9a998c619593259e5686b0c84b05bccc99972d52cad36b82ddb1f5189f48fd17d26d5e253315f95feeddcfd5571b4bd77c14f81cc76931893b47b6f26648553d4f3ba1d9c13f96912e7a09e6f3a6af2233aa4a5472801b3749f48f37e93fa6a9c4a3aac18cb45ad7da7fdaebe1e0da6f2fad23e75b90080402010080880d1118ec8954d45495380edb4ba9a1a4954738d153532a9d46486cf2f94597bdc1f44078cf858d8da1dbfada0c668f0edbbc3319a5a31413ab3dcea698a9b4e9b873caf454e4dd203b911cf8dd1a9c49bcbe9fe81fdace97f44d334e1659a666f6ab84f38fd7936ef025e0dd1b0d844e9e51532ea3125acae5d54a4c99e94a14529ce9056467484ab295ab2ee31ad1445316878ff497d258dd3b1e71b166f54fcbc21ee9177010080402010145a11310b97312172e60295a0dc107504407ce5886c27840d9ec4f1156c0d4cb9383570285e193e7909e4c86e4cba26a1686b00b416167680c7afc1aedfed6d5ca9db7959cb5348465a6954f524aa511d4285654650837094a00e3680f59f06d236c287034e17b594d2d1330d9ab9141541614a9d4e8b214402728d72837096074721e8f00804020100804063318c2e931ac32b30cae902a29aad052b96ed7d5252a174a926e0ee301f39af643c31e0722bf0ad9cc4e4cdc22a4af9395367e4202b794f253919bb521301ee184633b65c8d2c9acd9a974869e54b96b99eea2941465a424961206acf1e34fd1b573699d9fc329e652d1a654e6130cc9d31613703959aa98cf676cd1ea60d192888672c846a100804020101aee389c725cca6abc0a8a9310a844b9d226c8a9a9552a72cec87305a654e723268df3c44c2d4cda6ef3ba3c136ee8a655cd460785a9557304c2d8bae5dc2e62fa4514033fe348755d808955e13e147fd1ef6bfc206274d8ed34ba0d9dc6e4832e76268ac5d7f2b24bfe066485c8a7ce9736e9da03ea1f065b2f57b15b05b31b2b5f5cbc4aab04a5e6f36b1618a996a2000e582410901ec0406f700804020101a1ed56098fe218850d760aaa37a595947389b325290b1353352b4144a9ae5d03580c2735f0814f3f97c569bc6094896452d352d64ae84c5594b5f38974def6c19f7c7c97ed77d0bd2be94c0a70706aa69a6f7aaf7d796d0efe81d230f06acd55da0f84ed89dabf08d438548a1c12b766f19c26bd15786e3936b29d5c88eacc734eb52cb8d193631e4fd0bfb2bd33a2f4cab16bae9eaebde2f333e13b47fc3dee85fb4bf52ab3e1d3154dad3154766627d5ea5e0c36317b07b294fb3f34c95ce973a64e9d365294bceb98ceb52d49412a2dc23f40c3c38a29b46cf9ff00a43e90c6e9b8d563634debabf568f08e0f438bb8880402010080c563783d163f85d5e13884945451d6272ce94b485a4f7a54e2c603e50da4ff00439d8bda3c426625371cc528aa277e3552152fa4c183f292e668035a36a31eaa5167a0782eff00479d99f05956badc2310adaba89cc27ce9ca19a6657cb9b2a522cfc2295e24d5ba5f424502010080402010080402010080c2d60c4e8aa5588e084cbab9a94a2a65a8099227843e5e525ba54e97b292a078b8b46189839a6f1a4b6a316d169d618ba8c4ebaae6f2f5fe0ef0bc42acb05d5ae6dd4da75a96611f48c613d1eae51faf47551d2f2c5a2aaa23f5e2edaa7e338eae9e5e2f86c9a2c329664b9f270c947303364a82e52a6cd584e612d490a4a421370358d28e8fef30ab1e23bbf16c71d4e62010080406bf8ad1f39c430c9cdf8897503e9f27fe580f3ef095b13886d86cb4ec0b0c5c9935353514ea33a7121084226052cd8126dba3d3fa23a653d171facab6889791f4df40afa6747eaa9de6637f36bd81f805d8ba0c3ea29b1da24ed65657a0a311aeaf19b366d793439e4fb0b957e746dd3be9cc7e91a47668e51f8b0fa3bf67ba3f45d67b75fbd3f872fbfc5e503fd1646cd7842d90dabd8ac5d7e2ee1189a2aebb666b56a573705b94994b36f99c252e9507b758d80e4fae66a262adddbf51cb5c554edc9f5b731ec8e17a2731ec80731ec80731ec80731ec80731ec80731ec80e14e1ed89e153dbfd9e64d3f4a4ad3fe301b32d0898854b9890a42c3292778301e1bb61e04708c612b9f804ff0071aa98814cd9a9cbee08f79ff2c797d23e8ac3af5a7b33f27d97d17fb69d27a3c65c5fe253feaf8f1f5f8b25b15e05f66b65449a9ab7c6b159642f9d4e1d042c6865cbd036e3af6c7460742a30fc65e5fd27fb45d23a5e9dda3947e33c7eef07b10b586823b1e0a6022021294a404a521291a2458405a01008040203c53c29783dc6b6929cd46ce4ea733e654cbaaaca49e897cb0992a5a65a66d154283cb5b4b4154b51c8bca97cb727c9fa63a055d2b0268a6d79e7f75f85f69f077fd1fd2a9c1c48aaabdbc3f5ad9a4e11e0c76c666d4e1389f25ee450e1f2c09d3b143495eb4921a64ca592999528e557620cc64cb201015a47cc7ecd7ecef4ae87899f16288df6d7cbcb2f09df5d5ecfd31f4a606351970e6a9f97eaefa5e8a92561f4549414f9b90a2932e449ce732b24b484a5c9d4b08fbd887cbbb500804020100804020101060359e4710f8f6bbe8527eef1b7570cb3c9c8e21f1ed77d0a4fdde1d5c19e4e4710f8f6bbe8527eef0eae0cf2723887c7b5df4293f7787570679391c43e3daefa149fbbc3ab833c9c8e21f1ed77d0a4fdde1d5c19e4e4710f8f6bbe8527eef0eae0cf2723887c7b5df4293f7787570679391c43e3daefa149fbbc3ab833c9c8e21f1ed77d0a4fdde1d5c19e4e4710f8f6bbe8527eef0eae0cf2723887c7b5df4293f7787570679391c43e3daefa149fbbc3ab833c9c8e21f1ed77d0a4fdde1d5c19e4e4710f8f6bbe8527eef0eae0cf2723887c7b5df4293f7787570679391c43e3daefa149fbbc3ab833c9c8e21f1ed77d0a4fdde1d5c19e4e4710f8f6bbe8527eef0eae0cf2723887c7b5df4293f7787570679391c43e3daefa149fbbc3ab833c9c8e21f1ed77d0a4fdde1d5c19e4e4710f8f6bbe8527eef0eae0cf2723887c7b5df4293f778757067975aabdd290992a4e395a794a9a692a79749d59d3d1295ff91ab2ad15aa8b4262a67fdcba8f941897d0a2fdda33687b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda03a953455926761f2d38f6204554f32e63a28ec0499932dfeafc50203b7ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda03a987d156555051554cc7b10132a644b993025146ceb48259e9cf180edfb9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed01d4451562abea694e3d88727264499893928dde62a682ffeaffa3101dbf72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5547c7f897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda01ee5d47ca0c4be8517eed00f72ea3e50625f428bf76807b9751f28312fa145fbb403dcba8f941897d0a2fdda035cda7562583504aaaa4c72b664c5cf4cb226cba4218a547dec84f9301998ea73b40daddb1c4707c5f02d96d9bc091b43b55b432aaaaa969aa2a8d0d153d1d11949a8a9aaaa4c9a95a405544b4252892b5294ad00750a44ccd568e11799fba3ce78794fada6d1179f28fd780bdb39fb3b82a311f08b4547b3b5d5159cd30fc37089f578e2aac947289e6d2e55148aa9abca95a94844825294951e88245aaaa98b73fd7cadadd14d3337fd7ea7c38baf8c785cf075815061b89623b4f205263344712c2952254faa5d451a5b949f2a5534b9b3148940e698427a09e92980261ed65e316f84ed37dade3b6dce08899b5b8ccc78de378b6f7f0df7e52c8625e11b62f08c430cc2ebb1c968aac5e5d3cda532e54f9d2512ab267254932a6a25217269915133a12953d481315d14391136ede4f6b6f5e5e7e1bab13134678eeefe9cfcb9ced1c52bf08bb1c8c5f1dc0462e67e2fb3321753b4145229aa67aa925a65a268e54ca94b0954c44c065a1f34cbe40acaa68bf67370fc6f6b79df86fb4ed2bdb5b73fcaff00a96311e12709c513b373b670aabe462d8f9c0b14975526a682a68a6a68e7d5a84da5aa952a7a2634a47466212e950568cf133daa39577f94553f7d3313ca568a3b15cf1a6299ff002ae8a7eeaaef498b3320100804020100804020100804020100804063f122d229cf0ada1ffddca8a57b2d4eed37c31af6a28f62768769765b6d711d91acd95c2313c4049a5a5c3aaa5d64c914e674a4cfe7f4d52425265ffe5949b97dcdc78b54d31777745c38c4ae289e331ab48d94da0dadc364781399b49b738d6d55678475f2b56174f84d1c89655814eae549522968a5a95282e5e64b2c2dd9d652e93d9d230629e91561c6d44573e76aa8a62fe317d2dce6f7d2dc183893898118bef64f4bdff53e5a5b561e97fd23b693129b84cbc33c14cda8f18e831bacd9d5ccc6a9a509c7019fc955f2df81519329408e4d6ca59558cb09e9c71ce25b07acb7fe5d1896fb3545fe3ca237bc5e69d623a6dfc6eafedd545f9cd3f873bed69b455a5fbb2bfd25a9abf12c0e9305d8dc4314915586e0189ed0e49931557472b68824d38a7a7934f39153c82559e7954d94129ba739703a327f1eac2f76acb7f1b5fd236658954d18715cc6f4cd56f089cba78ef68b36097e1ab11abdabdbbd9195b374584623b2d4d5f3302a5c5f11994b5d8b2e9248992ea29a8b9a142e8a6971cb4ba85a833996239aac49ea6ac48f66266dc62d36ed469bf0e13a6baba7aba69c6a2899d2bb6be717988e731c6386bc9ab4bff481da2c37c156c7edde3db37b3f3f1ac73069d8de21805362d3e4ce5d0d3ca44d5cfa1a7e6757316a295b944c5044bb054fbbc6d89314d76e16899e717fc3ce63945f773e15eb8f1bcc478dbf1f2bf3d366476dff00d21eab652a7165d06c1556d06098061f806298d62c310934cb45363d50aa7948954f310a54c9e14974a5c248cd9a621866d69c299ae68e3189d5f9cda274f8da6f6e13aeb651566a22be138735fa45ef7f48fc2ceeafc3ae3320cec3ea7c1e4ef18e56d848d9218249c5244c19aaf0df74e4551a832d08039229e5117cb7652daf9537ae232ef39bcaf46fe9e36bfd94dfbd33a45314cf8ce7988f49bcf3b7dae5e83e0d7c212b6ff07c56aea70756018becee2f5d81e3f84f2e2aa5caada0584cde46a12997cacb39810ac89ee8bcd3d8a6a8daa8bfce63ef8945e73554cc5a69f9de22a89f84bd13968a2c72d018ead9bfeb384f6552bff6d3a03c87c20ed26d5d5f842d83f06bb358ff008a34fb454589e2b8e6d1ca934f3eb790c38c942696853572e7d385cc54f7595cb53245a2b8719f12a8e14537f3bcdb7e111bf8e90624e4a29e75556f2b45e74e333b6fa6bbbc927784ff00091866232b64e6e26adadc5f657c2450e02ac469514d433718c3ab7069d5f2e4d67fe44b5ca590272e5252191643d8df06acf14551117fe244c5f4bd11def0e76d7589b5f6457114f59179ecc61d51cfb5891197e1a5f4df5986df43e1c666378e6c34bada3c53662ad18f6d3e05b5980534fa4aba3e7581d02ea26e79eba6e5a74a0121528ca324b9e9022d15aa62988afd99c2ab13fc6a8a663cefb6ad29a2a98aa9b76a3128a7d2aa7345bc26262f78bf2f1e9e17fe9494753b378ded6625b0f8b516094b8548c6301aaa754c9e9ab95535a2824d2cf9b3645349a7abe5264b519699935390e61314c6359c1aed111ad735534c45f7cf178b4cf08f6b4d34deece8aa2a9bc772d5cccf2eaf7d3c7d9e76d6cd8f1af09fe14b08dabf04bb3b55b0db3d43336f310c4a9f1aa7f762755f214f47469aa4ae4548a4a7698dca12932540e4cb9867ce9a5169c5cbf626af85511eb1698d34bdf865d66d3d4cd7f6a23e313e1ce39e9e37d3e84e5a203968072d00e5a01cb403968072d00e5a01cb403968072d01e75b658de23807827da7c6f08a8e698ae0db31595986d56542f939f4f42a99297926052159549059408e31963d534d17874f43c38af1a9a67699878dec8f84dda9d97f07fb2db77b6d886d2ed5d06d3546034b8f5462d49856132f0746272c056214e8a1a6946753f389f2d0a1316e05c1b17eec6c3a69c6eab6bd55444cefa6d13c35b5afcdc587566c29c499eed39bc275d6d3e11af8c72663687fd22d1867b8d2707d929b8d56ed3d5e3c8d9896aaa992a555d16cf742a2ab94914b56b49a8981429d02594ac328ad19a39626f4e6e544573cf2d53d9cbce662d3699a77b5f9e9a5ed78ef658e57b76afcb24de99b669bc6916bdb8b1fff00489c430ae795543e0db12adc2f07c1f00c77686a2aab64d0545152e393172f91552cc42d6aaa9251f8b7ca594eb41090bde9c289c4c97d3ad8c3bf099ab2da63c2f545f978eb67b37fb1555fe37bc7c234e7cb8b77d86dbfdacda4f081e15366b14c1b0ba4d9fd88aea5a4c1f13a7a89a6aa61a8a49355967ca5272174cdcd992a4e5ea65575e31c2ed60e79df3551e913ff001e77e16d695d5fc6cb1b6589f1bcfdfc795adc6fa7aff2d05ce5a01cb403968072d00e5a01cb403968072d00e5a01cb4063a5cdffc56b4ff00bad37f793e0323cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d00e5a01cb403968072d01a6edc2f36134e3fde93fddae03391d4e7798ed96cc6d2cdda7d9adbad8d5e173f1bc0696b70daec17135cca7a6aea0af5c89ab4f3b932aa26489b2a652a1483c92c1e90203b8a466a6a998eed5169f4eecc4f85e6f1e3c2cb4daaa6dca6f1f74dde6f8df82edbfda6a4a6c631aaaa25ed061fb53538e506cdc9da0c5e9e965d0d4e1c30e3452719a5914f594c53d29c3929190925252ca262629b65e3314d74cf0be7c4cf1e796d4d3ae968e16a6d335cce68e17a6dfdb169f8eb2ddb04f0775186c9c3d1230ec2f069547b2b5781c8c364d5d4d78a79d533c4e21157552913a6cbe88ccb580a27dec63d270a6bc2c5a227bf4514c728cb4e247c3b516f08570e6d8b4573ecd55ccf8e6aa89bf9e937f379c7f2198c53e21b39553a970cda7a497b3fb3b83e3d87cdc7718c1a4c9a8c05f2d4225504b5cac465acaf30975484e5290c7a6a6efc5c48afa4575f0ab17ac8f0eef0daf19626279efa5ad9c44f5314718a2699f1bdf8ef69bcc4e9b3d2713d89dad183785493b3f8c52e198d6da6312f11c12b11326c828909a1c3e926c89b512e599921734524d409b2c2952c2c2d3d20d1962557c3c3a63d9bdf85ef89555bff4cc47eaede8aa22b9abc2d1c6d392d1369d34ab5b6d3c776abb1be0c36bb07ae993f13f72e4d32b6b69f6965a538b6258b4f4caf70ce173a99753884913a72d1312852662d7d304da5e50939453a61fd89afe154556f9d569f08bf1b44cd516afed534c7ad3894d5f753f19b6dabe888bb220100804020100804020100804020100804063716b52ca3c2ae8bff752a295ecb53bb9318c3f0fc7b09c4f03c5a473bc2f19a69d478952e65a394913d065cd4679652b4e64a88749078473554c5516974e1e24d154551bc3129d92d9b40d914a70e61b09ff00eca0e5677faaff00aa2a87cbfc27fabcc523f099b8eb78d6bc4aaaae6b9ef557bfacc4cfce2195144534648eec5be5b31545e0df61f0e560caa3c104956cf52e2547839e7154ae46462f304dae474a69cdcaac02ea729f7a446534c4d39784d1147f6d31688f488df75bdacdc734d5fdd3bcfcfc9d11e09f6065cdc127526175985cec0282970ca19b4189e2544a5d0d13736a7ab55354ca356894d61519f7f12fa679cf35f199bcf9f3b6cacd3134dbcfe7bebbbbd23c1cec748da556d72a8ab2bb1dcb589a79f5d896215b2699388106ac5252d5544da7a613598f252d36b6968ac77669e1545a7cb95f7b782f54de62796b1e76b5fcedc5ae9f01be0bce1d86e10ac0eb5587613495787d0d29c5f1664d0d764e7146a3cede653ab934b4a59284b744088aa2ff000b7a45edf0bcda778e088ffeecdebe1ca26dac4693c635965eabc156c05761d886155b822eae8b15a2c2b0ec45136b6b56b9d4d824c3370f42a619f9de52d44e67ccbf7e551ac62d51566e39f3ff00769afca3c1114c453978659a7fb66f78f9fa7061f6cbc10eceed6cfa29c899370a2ada6a5da6da25c99b5699b5b3e9281587a04b9f26a24cca45897c9b2e490d934724c6787d8aa278466f8d5164d5ad3547bd963d29aa2afc2deadfb65f66b00d8cc253826ce50f30c3c4d9b51312a9b367cd9b3e7accc9d3a74f9eb99366cc5a8ba94b51262d354cdbc22d1e4ad34445fc66f3e6d8795ed8aac72bdb01d1ab9bf87c32fa542bff006f360301b55b17b31b6830d3b4187aa7d560d3553b06c529aa2a28aba8e62c6559a6ada39926a2567019410b1986af11975bf15b34e5cbc27f0dbe0d74f81ff070702a4d9d4ecfaa4e1d45899c6a4cd935b5d26b0e28a42e59af995d2a7a6aa6d434c3f845cc2ad0bb80d79ae74fb3168f085223498f7b7f8dfef86bd45e0728f0ddadd91c4f0eaea4a1d92d899d8956e13b3a8a6a89b5b515f8b53aa9eae7e2189d555cf554e6cea5de585390ea2044533acccebd8c91ca2999a676fedf9f35b48a6d4e97aa2aaa7799aa2f6f2de39eda5b86c747e08bc1e50e1f8b60d2b049d3701c669e652d5ecdd46218854e1889336609aa453504fa85d352b2c029e425a32fbd68ad74e7a3255ac69e7a6daef16f3299cb5668d275f2d77d36d7f3e72e74782dd8a4d3e012154d8ad4ab65f10f75301ada8c67169f554d53c972072d54daa5cfe48ca190c92be4c8d5316cdda8ab8c44c7a4cde6fcef3cf942b97b334f09fc3ee7a372bdb109395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb0180998761f8eecbaf02c5a473ac2f18c3799e254b9968e5244f93c9cd4679652a4e64a88749078456aa62a8b4af878934551546f0d430ff00045e0ff0dd9ec6364e461988546cde3b448c3abf06adc5f15ae922925a4a512a426aeaa7736ca0d8c9ca430bd835b127acef6b79bfac6aa53d99bc78c7c7777b11f067b0d89e19b3384cdc1d7494db192849d95a8a0abaca0aba0942509265c8ada39d26a52954b480b1ca7498667689aa66aab3719e5a7a5a34b786d08a232d39787c7d75e3e3bad3fc1b6c4d5d2e2d475784cdab938f5061f86630a9d5b5b3665452e14a5ae8d1326ae719854854c512bcd9d6fd32a89cdadfedc57fdd196d3fe9a74db4d933ac5beccd3e955eff007cb2d41b25b3b866d3e33b6187d24da4c7b68654b958d4e454d489153c8a5089732652729cd8cd4a258489bc9e7cb6ccc4c45339699a784cdfd7c395f8db7e24eb37e36b368e57b620395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb01d19737ff0012ab2fff00e1e9ff00b73a03bdcaf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb00e57b601caf6c0395ed8072bdb01aa6d82f3619207fbc27fb0b80c4ff29fb11f1bccfd8eb3d4c7bdfb9ba57bbf38fcde47ef3e8fef7ca7f23f94fd88f8de67ec759ea61fb9ba57bbf38fccfde7d1fdef94fe47f29fb11f1bccfd8eb3d4c3f7374af77e71f99fbcfa3fbdf29fc8fe53f623e3799fb1d67a987ee6e95eefce3f33f79f47f7be53f91fca7ec47c6f33f63acf530fdcdd2bddf9c7e67ef3e8fef7ca7f23f94fd88f8de67ec759ea61fb9ba57bbf38fccfde7d1fdef94fe47f29fb11f1bccfd8eb3d4c3f7374af77e71f99fbcfa3fbdf29fc8fe53f623e3799fb1d67a987ee6e95eefce3f33f79f47f7be53f91fca7ec47c6f33f63acf530fdcdd2bddf9c7e67ef3e8fef7ca7f23f94fd88f8de67ec759ea61fb9ba57bbf38fccfde7d1fdef94fe47f29fb11f1bccfd8eb3d4c3f7374af77e71f99fbcfa3fbdf29fc8fe53f623e3799fb1d67a987ee6e95eefce3f33f79f47f7be53f91fca7ec47c6f33f63acf530fdcdd2bddf9c7e67ef3e8fef7ca7f23f94fd88f8de67ec759ea61fb9ba57bbf38fccfde7d1fdef94fe47f29fb11f1bccfd8eb3d4c3f7374af77e71f99fbcfa3fbdf29fc8fe53f623e3799fb1d67a987ee6e95eefce3f33f79f47f7be53f91fca7ec47c6f33f63acf530fdcdd2bddf9c7e67ef3e8fef7ca7f23f94fd88f8de67ec759ea61fb9ba57bbf38fccfde7d1fdef94fe47f29fb11f1bccfd8eb3d4c3f7374af77e71f99fbcfa3fbdf29fc8fe53f623e3799fb1d67a987ee6e95eefce3f33f79f47f7be53f91fca7ec47c6f33f63acf530fdcdd2bddf9c7e67ef3e8fef7ca7f23f94fd88f8de67ec759ea61fb9ba57bbf38fccfde7d1fdef94fe47f29fb11f1bccfd8eb3d4c3f7374af77e71f99fbcfa3fbdf29fc8fe53f623e3799fb1d67a987ee6e95eefce3f33f79f47f7be53f92f276d364b68ab30cc128f119b513f10afa296248915720a93ce6595b4d32d197a20df30ecbc73f49fa331f0b0e6aaa9b4478c7e6db03a760e2579699d7ca5edbe256cffc0d77d615debe3c97a27895b3ff00035df58577af807895b3ff00035df58577af807895b3ff00035df58577af807895b3ff00035df58577af807895b3ff00035df58577af807895b3ff00035df58577af807895b3ff00035df58577af807895b3ff00035df58577af807895b3ff00035df58577af807895b3ff00035df58577af80c562bb2181c8142a972ab02953d9cd7d69ff00ca986cf38b6901d0f1670aff007efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff7efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff007efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff7efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff007efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff7efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff007efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff7efdbab3d7403c59c2bfdfbf6eacf5d01d7a4d9ac28d25296ac0f291615b5607546804d6101d8f1670aff007efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff7efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff007efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff7efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff007efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff7efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff007efdbab3d7403c59c2bfdfbf6eacf5d00f1670aff7efdbab3d74076b0dd92c127d5d609b2eb159254863cfab01baa6ef139f74066bc4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c03c4ad9ff81aefac2bbd7c063716d92c129a826ce908ae44c4aa500ae7f5a7ad35293acee06039246c8606b1d2975c7ffcfd6fae80ebe25b15b3aa9694ae9aaa62733e55d6d6283b1dca9c603f397dd0ed8fd672bf3b6dbb35b2db51b5f2abe7ecf61c2ba4e1990574d55453c812f947c8e67cc97ae53a47274ae9783d1edd64dafb6f3f737e8fd1f131e66288bdbf5f830b8c48c4301c4aa709c565269ebe9328a8929992e6819d2163a7294b41e8a868636c0c4a31a8cf4ed2ae2e15585565ab7633dd0ed8d72b23dd0ed8651deaa462343268ea2b682aa8e9f11472b87cf9d2972d13e5f97294a002d37d44529aa8aa6622626637f05e68aa2226769747dd0ed8be550f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61946e9e0e6b395dbad9496fd6c424ff006a3c9fa729ff00c1d7e9ff00743d1fa27ff89a7d7ee97e83c7e78fb32010080402010080402010188c63f154bff1bffad701868040429494075a824380e6d72580f9cc042969424a96a0848d544b080b402010080402010080402010080e291f8993fa89fb20396010080402010080402010080402010080c9e11f8eabfd495f6cc80cec020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804063f14ff00635febcafef53019da6d2038f10ea27be03f20fdd0ed8fd872bf377d19e06369301a6d90f08b86e2b8c6c95157e27cc7dcac3f69aae5d3d154aa5998559d2b98852d28b1e8ef68f9afda0a2acf83319b49aaf97598eebdafa12b8a6716f68bd31117da7bfa7973f06e1b1bb49b0fccf1ed98dbada2d95914bb2d8c53ed26cdcdc2eb652f0f9b9819f328680a95f850920a793054ae911ba38fa6518d1931b022b99aa99a26f1daf099fbefe10ecc0c954d5838934453396a8b4e91aeb1aeda47ce5b8601e13700c6763a457d254eccf3dc457892b6db01c5f1891850e52a9672cc9a9994d54b9e8cbd14104009617664f9fd37a06260e3e49bda229cb3117e5b45e3599bfaf9ddd9d13a6538b44d716cd9a6f1336d35b5e6dc29cb1ff1af5367fc24ecb730d94d9caddacd9e9780cdd8332b1aa79955481f120244b452ce98a5664cd4a1531a53837258d9b7e9dd0ab9af171222acdd6f677fb5798e7b42bd0ba4d14d385178da736de16bf2e3e6e948dbfe7147e05b15a6da8d96c4a561b2152b1cc1f11c4e9a8d48c47992d082b3916a92b4a4a92970c54a40f7c0c6b5f448a6be93134d51788b4c45f4cd17f3bfdd13c9c74634ce1605a634aa6f13fd3396fe517f5b6ef19f0f58ae1551b5b4551866d5f8ce66502055a796a6a9e62ae5661e6bce294250bc998f59d437a8da3d6fd9ea6a8c1989a72c5f49d7b5a6f69737d3769ae99beb6d63dde3bf8dff005130f11f743b63dfcaf10f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8650f743b61943dd0ed8651e85e09eb395f08fb1d2dfad884bff0018f1fe9f8ffc157e9ff743d2fa23ff0089a7d7ee97d95fe90e76747815f0907696661f2a8fdc4afe626b96844b35dcdd7ccc23942019a67e5e4c6b999af1f9ade22ba267de8b7c7f2bbef7a377f5db8f978bcfbc31e21b0b8a23c1be314388ec462bb473310c06af02bd3cfda2aea0f74e9d69f176a50a5cc4e750566294290a46604a012b4eb87131d234bef17b6f69bda6afb11acd5f633d9c9133f54d6d6cb55b3776f14f6a22f6fe26d146b78c4c9a4ecc452572e87c39e2f3ab69b64b1fda8aada59b4d85e0b5342a56d4d1e0e9d9f13245751574da869143caa57288974fc9154d5e69a26a9698c306a98c3d22f55b12f6d262d5d7973cebdea62888eeef44da78eb5d11354deab4762d7f6af962726ddd99aab9de7b3570b4c60306da156cf621e1c71af0dfb215c8a0a8d9dd9cc536b30dc567e175f42ba9995788ca91875221155364f3727939127940904cb54c9f94af32b7aa8a63a2534cdaa9eba62f3a66aa69c1d7ece59d759ecd334eb396ab5699aa71b35a63f8737b6b6a29cdc22f333319af6ef559ad117887770fa4f07147b31b0036bf17d8ac4bc1455d6ed2d657d353d4d2d4eca61f8a55cc1514186ca9aa690b149297532e5152520cc0e94215c9a13cf8b139a22a9bcc61d59678cd59e9b64e3788cd4d36ed6489fb4bd154554ccd316abaca2f11b453187544e7b69ad5145555f49aea89de619246c6609b7d81f809d97db3d93a2c4b6e310d9ea0c4369f68f15a44ccc5e8f09c1d34f326c9e733d0a9f2ea2a6aea254a58cc1402e7a810b488ec9cdf589ae74aa8b5555b6cfecc4659b5b3455545af4cd3465b5aa57a4757561d5453ae1d75574d113ee4ef579c5196384c555533c19dc2d3856cd7864db93b3541b1fb7bb5d8e516298a4f3412e4d3ed06153e9e551a64e1789d719b3c0915a72f259c49ca53d5981ca78b0a67a998a35b66d784cce24ce5abc62f3e946d165a70e9eb626b9b44cd3a6f31192d9a98f76d4ebe35c6bab5cd85a9f0a54587f867a5a6d94c7266ddd7e3184ccc4b119f5783e713ebb0da3975f3e8259ad9d21028e48e52964cd5e5cbc9214a2ae5009a6989a669a66629eb27faad96999feeab9c6944d716898a72ad89355334d53ad5d544dbd9bf5989111c272c6d3b55565ab8d5154e0e9ab766f0eff47ac155b6b251b2e301dbb992f678ed1d7d2aaa794a4dae98bce2a39c4e13274aa74cd13159c939262ef2fa47a7a64dabc098d272e06dc22d8779f298d7c299b4da6f0cfa344446353c2d8dbf1aa68ae63d73edc73469c25ec1b65b27b0fb7fe13363693c5ac1312c530a914bb4f8ded87369332b65d151d43e114b22b13f8548aaab4aa638514995266208fc23c6585465c4aa769a2d7e17aa6f117d35cb14ccceb1313d5ef178462f6f0a237cfb72cb169abe39a98f18aaa98d61a17827abe47c28e292abfc51c576bb12c576b13b40845014ed66174927149870e995f5caa99ab5514fa54d3a244be425a32725914a02f6c298c91111ff0097133545ed9ef44554557f6a666a9de3b956589a6d95d2aafe26bbe6888fe9c954c551e11a44f8d7ace69d7ea7c63f154bff001bff00ad7154be5ef0c4bc4309db3f07db6d8552e278a55ec2d0e2f8854e05878cf32ba827d4e19455d2f9201e6aa5c8a833a5a1eeb408535f571557acc694da22f339b365f2edd345e785399ac5335d192f11ae6bcfd989fbe99aa3ce61e5fb378be37b1b3368b03da5dbafe4fa9316da6c5b10da5dbb9a68949978acec2307c41186c99989c99d4c996b995b51c9828cc51232a482e636c7a630e8c28a3588c3aeda77e631eb8d6daebde98a662a999bdf49be74d39a6bae23bd553a71a699a3f0b534de748bdad79a5cfb47b778bed1cad8ca2dadda646c963936abc1dd74af073cde964ab169d5d8a51d4564f28ab9736b0229e70294a654c4196659e573661134511f58aa2dddaea8b5ef6a630ef13a78ccc66eecdb48bdd5c4d28dfb3344f6adbcdea8b72eec53569ac66bed677e6ed8ed56d2d2f84bc3f1ec7f08992a9a56208aad873514bee9618aa4c6514f40a4514ba797528933e9197326544d9a16a52152b2cb53463444554e15531ff9bd1e6fca66b89ae99e1196a88cbc74aaf3368965d33b98b4ff00f2f17d63ab9b4fafe31b3d4bc20ed64ec1ea303a4fe5065eca6cee278c5652ed26db361cf84ae4d1f2f4f87f29592a6d24833963f1950851f783a4b4919d1544cc5e74cb54c4e9daaa2b88cbe368cda46bfc3f0aafb4ce939759cd4c4c7b91345efeb397ff00ecbed6606ae66caabc36ec5d4e0753b2f8962f53cec63c7084c94ed005ab0a2a97558bcd92a26661ea9425a421684fe1554ca04b0117c1bc62e26d6c93e93d651f3bdedc7bd1ade66298937a299bdf58f58cb3b7ca74f8f09fa3a0b900804020100804020101ab6d5565761fb198fd761989e1b82e234985d44da0c5f13564a1a69c9904cb9d54b364ca4298acee115ae74f87dfc2f78bf2d275e0be1dafabe7ea3f097b593b02d919b8262b5d8e0dbcf74766f06c6ab25e195664e3f4f5ca4cbae4cdc324d35254d20a44d4ce0a4a5295229d360b5a9f788be2444c5a2629ab9766999eb3deed554da68de2fe130cf3658bcdbb3369e379aa989a358e115766af6a336bdd96517b5be11a8eb716c5e93173b441757b5f41816c5f33a797294ac15139543f86968e70b9eb9b232939c20a14d9338ce78631a7abaa78f575d5ced34e34511a718cb3ac6f3311698d6fd18b4534e35146d135e1c4cf857839e7cbb5b7af85bd3bc1763943b41b369afa4f0892fc23cd9ab42ebf12473048a49d324cb5aa8f92a09527920877c93b34d4bb29463b71298a748d6234bef7f1bc69fe3111e0e4c3aaa98ed45aab6b1b5bc2d3ac7aeaf488cda100804020100804020100804064f08fc755fea4afb6640676010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402031f8a7fb1aff5e57f7a980ced36901c7887513df01f8f5e25f840f90fb4bf5655fab8fd77ebfd1bf9947f947e6fcf7ea98dee55f093c4bf081f21f697eacabf570faff46fe651fe51f99f54c6f72af849e25f840f90fb4bf5655fab87d7fa37f328ff0028fccfaa637b957c24f12fc207c87da5fab2afd5c3ebfd1bf9947f947e67d531bdcabe127897e103e43ed2fd5957eae1f5fe8dfcca3fca3f33ea98dee55f093c4bf081f21f697eacabf570faff0046fe651fe51f99f54c6f72af849e25f840f90fb4bf5655fab87d7fa37f328ff28fccfaa637b957c24f12fc207c87da5fab2afd5c3ebfd1bf9947f947e67d531bdcabe127897e103e43ed2fd5957eae1f5fe8dfcca3fca3f33ea98dee55f093c4bf081f21f697eacabf570faff46fe651fe51f99f54c6f72af849e25f840f90fb4bf5655fab87d7fa37f328ff0028fccfaa637b957c24f12fc207c87da5fab2afd5c3ebfd1bf9947f947e67d531bdcabe127897e103e43ed2fd5957eae1f5fe8dfcca3fca3f33ea98dee55f093c4bf081f21f697eacabf570faff0046fe651fe51f99f54c6f72af849e25f840f90fb4bf5655fab87d7fa37f328ff28fccfaa637b957c24f12fc207c87da5fab2afd5c3ebfd1bf9947f947e67d531bdcabe127897e103e43ed2fd5957eae1f5fe8dfcca3fca3f33ea98dee55f093c4bf081f21f697eacabf570faff46fe651fe51f99f54c6f72af849e25f840f90fb4bf5655fab87d7fa37f328ff0028fccfaa637b957c24f12fc207c87da5fab2afd5c3ebfd1bf9947f947e67d531bdcabe127897e103e43ed2fd5957eae1f5fe8dfcca3fca3f33ea98dee55f093c4bf081f21f697eacabf570faff0046fe651fe51f99f54c6f72af849e25f840f90fb4bf5655fab87d7fa37f328ff28fccfaa637b957c24f12fc207c87da5fab2afd5c3ebfd1bf9947f947e67d531bdcabe12f45f04bb31b61877849d8dacc536571cc36824e212f97ada9a1a89329199d29cd3168090ea20073ac78ff004ef4bc0afa1d714d74cce9b4c7bd0f47e8ae8f894f48a6669988d78784bf4de3f3a7d88c2c5ae3430060eed7e30080100ea1e01010c01240b9d4c04c02010060e4b5cea603118c7e2a97fe37ff005ae030d008040186bbceb00201b10e202183bb073be0260100804020100804020101c523f1327f513f64074aaf07c36bab709c46ae9533eaf0399366e1331454d2264e94a90b9894be5cdc92d48721c05280d4c226d378e316f4bc4fdf4c13b5bd7eff00cd92804020100804020100804020100804064f08fc755fea4afb6640676010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402031f8a7fb1aff005e57f7a980ced36901c7887513df01e731d4e741213a903be0260100804020100804020100804020100804020100804020101d79f799868370712c39c7ff009d9314af65a9ddec3c94af834798460d8e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af834798406171b952f250fe0d37a8bd87c0cc80c4f252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f3080ebd1ca9669294996924ca43961e4880ec7252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984064307952f9dd70e4d2dc948b30f2a6c06c1c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af8347984039295f068f30807252be0d1e6100e4a57c1a3cc201c94af834798406231d972d3864e2109073c9b81fa64407629b480e3c43a89ef80f398ea73bc03c366cacec566613b552f0bd9bdb4a6d8ea1c466e2be0eb68720a6ada79c252cd5534d98264ba7aa93c814cb99325292cb525d2ef1cd895538754e257dcb6bce98def1f8c5e2f67461c6788a234aa674e53c2d3f1d397ab023c29e3d518d619b2b842a6534ff000952f67f17f063367d2242a9306a991ca6312e680954b3368a552cc983393d29d2d3711db345518f56155bd15ce698e346f13e19aa89c3f589def6e5d230a2b8daaa6d11f6f6f8444c57ca629aacee615b55b7c31ed9bc5b10da7955981e3fb6db43b312f6611432252114742714e6f39750c672aa10bc3d21c14a0a0b1415f4e39a9cd16beb9a899f845e3e31bf9e9b6bd38f4c76ada65c9eb9b244ff00dd78fd5abb378df848da7f0675db7983ed9c8c4b6a768e8264cc1f63f91c3a45061b522a12834d2664c95cb9a99290649e753948e54f49294d84da630e9e39b24ccc729d6acbc369ecdefb46bbab34d3d6d51b4539e22fb5e2f14cd5c778899b5b499b707a9f832c7fc61d95975136bf19c42ba82b2b68315998cc9a2915f2eaa92a572a6c99e9c3528a426511942a48ca4005c978deab4c4551b4c7fb71e3789bf8eda308bc4cc4e931f944c7a4c4c4c79bd0228b100804020100804020100804020100804020101c13bf1b867fea586ffef64c52bd96a77647c37a6a13e08bc23d651e278960f5d84e01896214188e1b573a8aa25d45252cc9f25499f4ea44c002d00900df4368c23bf4ff00553f7c6eede8f4e6ae299e2d4fc334bc470fa3d92dadc3e7e2f4bee662b82cbc6714a4c7abe8e5d2d1cdc4e99330ab0697351478999e1664a9338660953a33a82506f4f671e3955311cf9c445b85e66d354777bd3ddd396899aba34e99a6289ab94e94de6abc6b392233c53b556cba6696ab45b4f8ecaf0b18d6258ed0d7d7e0f2f6ba6ecce02aa4da4af9669792d9e188cb42b6669d08a2a844cfc32ccc9f31538a9685253c9a65e5cb0eacb87154c6b54625b8df2575c6d36cbd9c3d262f79e319a5ad585555555698cb464bf0b4559237f6bb75ebb465bc6f4da75ed8ef08f331cc5fc324ef09788ed8ece608300c0b1a9b83cea5c67035e07266cfc4106828e6ca4489e6a16895212a9921655513b9412494a0251b4e15ba2466d6beb6dd9beb334e165a69da6622abc5ad17bc4d54c759ae79ff008d78d299a277da229cd7aaa998b44cc4e6fb3b5e725db2e1983ed14ca6d81d8edb0c6f69703c231e9fb4f8a269c63d5c8c5e448933133b09c32b31aa7a9e7336648a5a85cc9894d429ccb6cf365cb515f3e24d57ed6f4e155378daf15d1113ca72d3565d6262a9ed5af698d2269cb9a9d3362514c44eb331d5d7356f798cd5d19b4b6589cbb68f31c436d76cf19c2fc186d24dc431aaf4611b1db2b8f6de57d162d53849c39189d6f4b18387d22e4c8c639d4aa49d9e967272ca4a7a095198507ab2d7f59d632c555e1d36b5f2d537cd87699bc5e6aa68cd3ad3de8bcd336a74baa8c3a2a8a66f14f5daf3a22d14d77e74c4555c47b5b4cc68f7bc1e93dd5f0b38cd5ecc62db413767708a7c42836fa755633885461f3b16aae6d369e8f0ca39d50b954f32865e6336653a25a519c4b056be5392e6c2a6f8757b937b73be6d662ade223b54e93beddc5b12bed445bb713133ca29cb3d99a76bd57a6bd62f68bfb7af53c196cc53e23236fb19a1da3db15ec86d04c3846ccc9adda3c5f109bc8618b9d26a713a6a8ada89d3e9955750a9894195318c9972a6258acc4627fd0bfbd19a3c29b76758f7a3b7fdd14cc44d3378ff00ced36a7b3fdded7f8cf63c2aa6ade261a760955886d56ca7803c231fda9c7e8b0ec5fc1fd5e3b8ce33498ad6d05654e25454b852644ca8afa79b2a7cd6456544d54b52c859199614131af4fae28ab16b89b4d34de36b78d59769cba46b134f6b58d61bd147b36bdf172fa76fb37de2f6de2d569a4daf7e4462bb4d3e8bfd1e3c20e2deec51d56d52367a4edae21231ac425d3cba9c4a88a534ead9b0b145353535539295cdc99e53e76696e9e9c7c0cbd3aac3a74a6f89a77af968aa72de7bb9629cf1553de9a32dad5ccb8b06acdd12f9af6c9ae9ac67a6335e349cf136b69ded358a61bbe1f2f10c0fc3b4bc34cfc629b04da4c0318aea4933b1baec5e9abea6456d019abe67593548c2b99f3928949a74944c4cd209472484ab9f02632574f18cb31e5dabcdfd69d27d2f69b6d8d4cde9af85ed3e79748cbfdb3dae7bf7b5f5ec6fa941fd27ff00a66c547826d9cbf77fc256c7ec66278ee2b83e015982e2d89a28b0cc42af099d88d752cfa392941aca19b4f51969e5542d6652660cd9829408444e1539b3ccfb392dfdd9f34dbc32d31ca3373982bae698a6236aa66f3e511314ff00776a74d7b16bda6627118eedb63bb298862584ecf4cc367ece783da0c16762f2b179d575b8a6292f15a99b4a84d3d74ca8796b94241cb32726799f30e43918aca8ed5a6769c48c3f8c61f6bcbf891f0ab55312724556bde9c3ab139ded9e72c78f626faf66f4e8f3899b7b8d6c92bc61e5eb718f732578515a30e9d5334c998ba7db0a2a6a333b32f2f274c898c096e4e5e600a52f1314e94c46f57534f3efd596f6bc5f7befaed774635111154fbbaefcb066b98e3bcc729b727a349db6f09f3e76cb6ca555060db35b558fd46327ddfc4a8662e8a651e15c8aa5ae561b4f8929699b549a80532d55a72a50b597eac446b54708cb35551bce95c51a4da2d7bc553369cb78a3b5de617b44df5edd34c4edbd135dedaed31345b4bdb3691a4f050ed3ed7a71799e30e29478c520f0813f09c1245049a8a0994f472b0ba9a912e7f2754a4d5e8964cc4b66e9104e4c98f5b6c3c3aadacf5b7fec9c588d3fb3e16f6a26aaad85154d58f178b53d57faba8bebbc77fcf7d72559230127c326dd0c0b07c59543b395f55b7380516d0ec950cb4d553cbc3d3578961d42287129fcad499ca6c4d244f972e5de5aff000568e9af0b2de2f1334d7854ccc6b13d6cd51788e519349bf6afecdb5b4444d73c29cb8b369ef5f0a9bfcf8c7b1b5eabde3db360f1ac7b17a1c6646d2ab0e9d8be038b5561b3eb30e93369a9a7a65645cb989913a754ae59cb30020cd55c3bdd8674cc55874d5cf37fa6baa8f9e5bf85ed79b5e72cdfc4ae9e14cc7ce8a6bf966b78dafa5ed1bc41720100804020100804069fb518b629806c4e278ee0d42314c4305a0e7a8c332a94aa9974e913674996125279599292a4cbfcf67045a226a8a6d35694de2f3ca9bf6a7d22f2bd144d73969ef4c4e5d6d19add9bcf08cd6bcf27947f2918f63f57271ad91c36971ca7afa0da99be0f24a6ae7d3cac4d186228254954f066269d62a2b0cde4a6285a565295273ac9557a66227499a26678da3aca622622fade898af789d72e9aaf19668bdfb39e88bf9e1e2553adaf1698cb546bac4ccde622daaed86dee2b89f83eafaaf75261c695b21b7a2bf10a29388604692bb084ca9265f305d654e59d21672f2866cc6524aa5282577ae25519e229da69bde76d2ba29f0b46b3e31b34e8d873a45716fe2d1131c6d561d756fe569d272cde278433b336bf6c17b53b3db37b473e866d560d8fe1352ac4303155229a7d2e2583e2d3050cf4cd9b34cd9b2174b994e405a55297c9a09617c6aa29b551c2bc5a6639e5c1cf136f66f9a34bceb17bb97a2e69c1aaf6bce1e14f95f1e9a675e5a77b4bdea8b69aedde07b6e76d36f70d563bb478053e178262f87e1f8aeccd6494725d1ae1355368560d5552a72a952996f50d242f3b7228ca5ef34658d7bdf2da358f5bf9ee573dbb46daefbe936d7f2e1b6af668a040201008040201008040203bf83ffb6577fc2a7fed4d80d86010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402030f8f7f35cefd791fdf2203969b480e3c43a89ef80f398ea73b58c7f6276376ae751d46d46c9e07b473f0f7e613b11a1a7ab5c90a20912d5390b297203b44445aacd1bf34ccde2dc099b2b433b6ba836c674f9f32b309c327e1785d0fe0f9bc8455ce9736a66a404e7e526721293753009b00e5ed4cdb37dab7caff7df5f28455178a63ddbfcedf75a6d6f7a6f7d2d934e0982a39b04e114091455736be8da9e58e4ab27f286754cbe8f466cce5e66658e91cea73d2311f826f3f1fc36fba3e0c24cf07db053aa319ab9bb13b3b36ab68d065ed054ab0ea5332b9054165354a32de702a48532dee018a64a72e5b766f7b70bef7f3bf14e69bdf8ede9b599ec2707c2701c3e9f09c0f0ba3c1b0ba40452e1b45265d3c896092a39254a094a5c926c2349999dd4888864621240201008040201008040201008040201008040704efc6e19ff00a961bffbd9314af65a9dde998f6ceecfed4e1b3707da7c0b0dda3c227292b9d856254d2ab2996a967320aa4cf4ad04a4dc5ad1cf34c4fa37bb0aaf075e0f955580572b61766cd66ca4a972765eafdcca4e530d9524bca9744be4de42506e912d80dd17a6a989bc6f3a7a6df74cfc655aa2269cb3ddbdedc2fcedcf48f84324764f658ed10daf3b37841dab4c8e6a9da6e6923dd0123e0b9d65e5727e6e668ad3d9bdb4befe3e7f08f826a8cd6bf0dbc3f575b16d95d97c7e4e254d8eecde118d53e332a449c62456d1c8a94554aa598a9b4f2ea13350a13532662d4a4053849248b984ed6e17bfae917f3d23e10989989bc6f6b7a72f2d67e2c3afc1a78385ecf4bd925ec06cbab6524cfe752b667dcaa3f73d350e4f2c9a5e4b920bb9e965784eb313eeede1e5cb7453d9bdb8efe3e7f08f843bf8b6c4ec663d886118b639b2581e338a60052ac0b11aca1a7a89f4652a0b49a699310a54a6524286522e0189a6662acd1dee7c7f5ac9ece5e1c9c187f83fd82c271eabda9c2b6276730cda7af33555db474d86d249af9c6a0e69c66d522589ab330dd4eabef888d22d1b15ce69bceb31f95beed3c9955ece6cf4cc08ecbccc070c5ecc9a6e66767554b24d0f366cbc8735cbc9726d6cb95a22a889dff56dbe09cd37bf19fc77f8f160677833f0715180526c9cfd80d979db2d87cf35541b36ac2a8cd049a82544ce954bc97248592b574825ee7898b5354c551546f4ed3cbcb92234bc471dfc7cd929db17b1f51b454bb5f3f657059db59452f92a3da65d153ab10952f2a91925d51472a91956a0c15a1237c453d9bdb4cdbf8edbf3da3e104cde2dc213856c6ec8e038a62b8e607b2d8360f8d63aa52f1ac5e8e8a453d4d5a94b33546a274b42573095a8a8e626e49d614f662d1b13acde77fd7e51f07671bea507f49ffe99b01a66d0ecaecc6d751cbc3b6af67309da6c3e54c13a550e274926b252668052262513d2b48500a21fb622d098aa634e6e99d85d8933b67ea0ec7e026a364d0256cb4ef73e9b361b2d2d95144723d3a430612da2626d37e3b7a2b962d6e0c90d9dd9f0e46058682a4d6cb57faac9ba3129a27d727aba554d485ce1efd57539855da8b4edf96df05f34eec0afc1a7839998149d9799b03b31336669a7f3aa7d9e5617466851505de72698cbe482fa47a595ef09d6d7e1b782b4f66f6d336fe3e7cf68f83332765b6669eba7e294fb3b84c8c4eaa749a9a9c411492533e64fa792aa7913573027315cb92b32d2a25c24948b44dfef99f59de7d78f34445b6e3111e913788f289d6393a743b0db13864cc56761bb1f80e1f3b1e9f2eab1c9b4f87d34a55654499bcbcb9d525081caad13495a54a721571788f6629e113788e113ce3e11f05afadf8cde3d2778f5e2d8645252d29a834b4d2698d5cd33ea8cb4251ca4d5000cc5e503328802e6f0e16fd6f7fbe667cd5b6b7e7ff1f74443b1049008040201008040203ad4801a3a504383250e3fe511131718999b29b2d370f91844dd9ac2266134b47370ea5c3154720d3cba29c94a26d2a2514644c95a5090a9606520071684c44febcbf28f842734fcefebaebe7acfc679b869f63363e930c9182d2eca6094d83d35354d1d3e132e869d34c8a6acff006a9099211904b9edf844b32b7bc4d7dad675d2de9a69e5a47c20a2668eee9adfd75d7cf59d7c64c1f62f63b67696450e01b2781e07454b546ba9a8e86869e9a54bab28328d421129094a669964a738bb5b4899999b5f86de1e5f19f8a234bf8efe36d75f847c1cd846ca6cbecfd662d88603b37846095f8f4de5b1cada1a3914d36b2682a509953325252a9aa798a2eb26e4f13111a53978722759bceecfc020100804020100804020101dfc1ffdb2bbfe153ff6a6c06c30080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010187c7bf9ae77ebc8fef9101cb4da4071e21d44f7c079cc7539c8040201008040201008040201008040201008040201008040203ab544a4d011a8c430f23f6c9314af65a9dde9fcea7f97e81183639d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e810187c66a6719748ebeacf7161f06b80c3f3a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf4080e1a7a99c9a79002ec10902c38407373a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e810192c22a67738ac39ee51246837199019ee753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff002fd0201cea7f97e8100e753fcbf408073a9fe5fa04039d4ff2fd0201cea7f97e8100e753fcbf4080c6e2d3e6ae866254a705725c30f854c065e9b480e3c43a89ef80f398ea73bcdb69768b13d9bdbad884d4d601b23b569acc22a242912c0918b265f3da29dcab67099b264544b20a9b36460ef14a6ab57544ed96f1e197bd1eb4ce6ffdb9e7acd51d8cd1c26d3e556913e955a98e79fc9a2e07e136b64d251ed5ed256d62f03c6b06da9daac3e82449a712e5e09875451730b72627aa72a92689a3f09d698b0a764645554e1e15ea8ed4531331c6f55e72f2bd3a513c34bf396d4e17595da9dbac8a238ed13133e5355335471b4c3afb31fe90986ed072af85e1eb974d886034b5d598562f2714a7a791b453665351aa74e952a584d44ba99625cf921c23305098b11ae5dbc6aaa9bf0bd3467d278c55dd8da7370daf84cc65bf85e238f7a226fcad139b8ecccecef874c0b68b9354bc3d787c94e2f8b5257d4d54e1251230bc2e8f9f7bb44ad297a69f2a753149d3f0c93988119515d334c4ccdaf44d7e56aa29cb3caaed44da787936c4c0ae9aa69b4df3c511a6f337f9766b8f19a6dc5c9b5fe14f00c5b61f696b7c1b6dde1388e31861c3e5ccaec2e7d257ae8c56d6caa7130cb509d2dca4ab2e7490e3488aaf334c471ae8a7fcab88fbaece26222a99e18789547f6d1331f3b35fdaadaedb1f0458828e29b473bc21e095fb3f8fe294b2710a5a4a6c429eb304a6455253cae19229a4ae9a720942b348cc9531ce4160ab12d4d51ed4539a27877a9a6d3fe7131b6913e6bd38779a275b4d714cfad355578ff09e3cbc5ddacacdbdd88a6d8ada9c5f6e6a36aa5ed0e2d85e19b4bb393a8e82450cbf7667a29d3330c553d3caaa97cda6cd4e513e74dcd2df37499437c9971a30b789cd17e37a68aaabf2d72eb1e3a4e9af3d1567c29af69b44db85af1a7c2749e71e2f3bc1fc306deaf633c2461d59574d53e107dd3a895e0d67f272258550d755d5d2524d5a02021668154155326f40f425df31d78aac59faad156d5e5899f2eae31b36da5e899a639d74f8baa888ebaad266889f9e7eaeda6b6cd96f3cabbdf97aee33b5d8f53ffa3ed66dcd2d7f27b4a8d8bf75e4e27c94a2d5870e151caf2250657e32f972e5ec68f43e90c38c3c7aa88d22312dcf4cf6fb9cbd0af5e1d3356f97e7668fb2fe1131f0ada6a3c4b6871bc4e9309da3d95c370c9f8a61d498563a462f57264cf35144692423994c54cc92e6f3742d404dc85d295c3a351d64c471cd89fe34e1678bdb6aaf1336d34c933a4cc2f3b5fecc4fae6b4e5e71f8ddbe49f0a988ccda1a4a099b1b3a9f672a768aab663c665d6ca7556c8138cb992a91282a548519050a52949295d825497547260627596be99b35bfb335fcb4a6663ee8d266f8d4f577e39725ff00bf25bcf5ae2ff1bef11ada7c256d4ed06d4f82e9b43812b05d88da8c7711a7a4c5b9ecb9b3abe9a930ac45694d551f24934e26cd9099d2b24c59ca9fc2726a390df0273c669d2f879a23cf265f5b4fa7898b4e58ab9d35e5f58998abd2f16fb99195e13f6851846c453603b2955b698e6d3ecfd5635ce2aeba970f972e5d0aa9d330d5cd97232a55339c809e4641e930ca94bad348c4fe17596ecc514553fdd1336fead3c2275dacd3130e231a68dbf895d3fe355bcf2c7acf9c955e1a2aaab0f4e29b27b1d331fa3a5d93a4dafc715515d2e815228b10953a65253c849973b96a8573699981c88481d72484c5fa4cf539e67bb4697f4be91cadbf1d7489678344e24d14c77abe1eb11bf9ede5acc43da30aaf18a61786e2699664a711a693529944b9489c80bcafbd9e36c6c3eaeb9a794d9860e27594455ce2ff00177e33684020100804020101d4abff00f03ffa861fff00bc9514af65a9dd6f0bb5f8de11e0cb6e71bd9dc6a6e018ce0183d76254388ca934f3d42651d3ae7a5065d54b9d28a5650ca74e9a31bc611dea7faa3d62fb3af0298aaacbcdacf854c6369b6793b278f60f8de3d43493312c2e97189122970c9f83229e7d749454cfc5553a9e6d7cb4aa4cc5212aa658095315e54e650b5368c6b4ed336d76e3a45b5cd54da29be99b2c719bf3c551f57cd3bc5333a6fb6f37d32d3deaf8e4cd6bcd9afd27841c655e12f17978e54ed4615b29438fcec0307e6f4d837b853e653e0e2b95cee6cd1371754d5a8cd57292422482844b37cf9f3c3ae9c99eae315ffa2baa99cb6d6f1144cf6adc6decaf5515cd5314eb14e4bdb866cbdebf3aab8a6d17d262ae336c16c2786347846c57c284b57842c3767700a2c1f0bc6b67aa681740aabc1b0e9932b054cdac5564b9f2c547252254d9c99d28a6472a9410e0a95ad5856e8d9eaecd79e736d368cb8734d3c637cf4ccc5ef315659d22d5a6b89c6b53ac4d3a473989989abcb5898f0cb788999866305c5fc21e3945b1db3955b558c6cfd46d14dda2c42976b66d061d2b199f8461d3d09c339c51cfa33494f32a25d54b9931e952a094b144b5a95931aea9cd113a55144d531c2f1553117e3ddaaf5444c76b69b45a7588a724d74eb4e7a698bef69a2aaaa98b5bdaa2629bc4f6275bcead1f13f0bbb695949e0c71a958a6218652e27b3f8062db56ac1e8e86761d473b13ac4ca99518e73d955153270e9a89737905522c2c6598662824058da26271b48ec553465bdfdabccd3788ff00a96cb14fb39e69cd68a95e951d4d3545ef553d6c4cc5bd8b45357f4df355571cbddbda5ecb4959b4733c2a56e0d85ed862b8f6012282b17b5945369b0d14781d5cfe6ebc2e9e96a24d24a9cba854a54c5aa54e9939a5e55af205cbe531c3899a6a8f855c735f68e168899bde276a77bca6b9889a79de34e196d3799e379aa22d698f6b4dadd1d8393b638a4cf080a5784cc6f1ed9f9337dc7d99c66b687054d4cbaea154d9789d5d39a2a1a695325a67914e94ce94afc249986e95261897ea736d33ac7f4fafbdbc70c9966275d2bb62db8446bfd53aff00a62deb334cf75aee13b4fb6db5bb3be0670e95b5f53b3d8b6d66c5d46d2e3fb4d4b4b87ae7cfa9a29186a04a32aaa9a7534b95366e22664cc9281e884a0a0131b74bec55895536b511a470bf0beb7b693b4c4cdfbd16d75a688d627f9996fc6ddadb85f48de2637d35bc564edded3d723c06ed8ab13c6f0ac33c22c9c18e3986737c317b3b4ebc468d533929b3d520e272e7cf9eb44ba7226f26579127accad71703274bab0a3bb19f7ded4d33a45bda8b66ab369962be3961cf879a7a3e6d33c65ffbe22a9b5e749899b5af69b70cd2e6d96f0cf2b6afc364fd92a1da2c1cecdfb978c49c3f0042e59c4666218456d2c89b535014d3258999ea04894074a5ca54e72140233e8d467c0aeb9dfb131fd13d66beb6a27c22aa22622acd0635514e25317e713e35693a7945e386b156f1112f79c63f154bff001bff00ad719aef9f3c24edbe33b17b65e0f2a0e214945b0b3c578dbd13d2974cb9b368a8a86a1330a49409357568ce7304e4512740d3876bd535776dbded69b5557ade289a623deaa17cb7a3b31335de36f77daf85f379533e53a6ec3f857dbac58e3185af05a4c7b6af10c6b13a9c0307aaa8f7269e8f01914586d748953ea114b52b3508978ac841065175a94ea094bc698d873834e1e6df2555573a4ed8b5d16a784ed68da2d4de6abef4e354dfb39a229f29a6f7e769b4cf19bcc696dbbf8df85bc6f1ec2f00c4762309e6d8254d6ec6ccc7f1baaab44aaba697b418851ab99caa3122a513d469a784ce2674bca26032ca88b451444e2e5be9154d3e731466e311d99bc6bbdef788b15c4d313131dacb33f09aa9dfc269abd237d5359e18712c770fdb29783e095983d361b26b1780ed3a795981670ec4d3874f15026d2a29e52e6add721289d3b3cb752b93232c529a73461cdf7af03d68c5aa36fedd2bf77345a66f12cfa4d53451896de9a3135e555144fe3b796b0f4ada6db0c6f06adc1f03c2f6729714da1da3abaa9581d35462069290d2d1c913e754d4d4a69aa1728df2a65a24cc2491ef732935a7b536e3966a9f28aa29f5be6a7971d74d74aa6298bced354531e3334cd5f2cb57c239d981c4316da2c2bc286cae1d3319c5d1826d373a13e86b2461c708cf2a8553534787d448908afe779e519df875941962735c2009c298cf553379ecde3cf3d3f2cb33131bed317b548ae6d4d33ce6227e13f8c472fba1ec104900804020100804020101ac6d3ed078a9b2989ed2ae8d55f4f8152f3caea742b2af9b496554ad3d156654b9214b096e93359de1c63c6622fcaf36bcf846f3e0b534cd5a5313355a6d11bccdb4a63c6a9d3d5e7d5fe13e6fba3595385613896314186d36d19c36868152277bb2bc165d1f29c9239254dce2a66cda79610bb94a890a7435735ade34cceb7d2d89145e74beddad227b337889d1ae4ecff75117feac3aebd35b5ad6ded39b4bc444df5ada9f09d8acfd869f8e6175f4d8762953b2bb5d5f20e11572f11a29157844b9625954daba1a69e67495aae832e5e556744c429834d7dfcb4ebd9bf0d7b544693af3b44ede0746a631222fa5f129a7c62f4d73b7a72bedadaf7ca2fc22ed0cfc7b01d9fc5b0c1b298b5263387ab16a591552ebe55561388e1b89cd9055379095917cb50ac4c42474548e8ad682e6d8bd8b55ece6c4a67ce8c3cfa71b6b4ef113be8c3a3debc2aaf1ae4a263fbb169a6627c6d7bef4daa8b4df6d8fc18f84c9be11a555d578b75382d01a4a1c4b05ae519cb9753478889a64a56a9b4f4c94554b4ca79d2e519a8485a1a6a9ed392623b5a4ded6f48ff8f382a98cd68d639fadbfe3c393d5a2a10080402010080402010080c9e11f8eabfd495f6cc80cec020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804063f14ff00635febcafef53019da6d2038f10ea27be03ce63a9ced376ff61703f091b2b88ec86d0f39461b88992b54fa5589551297226a674b5ca9852bcaa0a470d233af0e2ab5f84ffcc794c5e27c27834a31268dbf5ff1bc78989ec26cee2f3a8955b4ca5d15160988ecfa7084909a65d0627cd84f96b4819dc268d094e550604eb66be2ff00122acdedeff3fcd5c1abaa8a629f666263d2263f16b933c14d2d76c7ed06c363bb61b4db4980e39448a1a74d7cca154fa09529f935534f95472a62e6a4e53ca5419aa74a49def5c6a7ada6d5eb3789bed333169e168de384414d5967b3a45a62dc2d316b7c192c03c17ec96cced4ccdaec229174d892b04a2d9f9527a1c84aa2a1ea7269080a0b5a532d2b39988968601afb4e24ccd73fccab34f9daccf2f77ecc5a3caf7fcfe33cd9fdaed98a4db1d9ec43672baaeae829b10e49eb68ccb4d44a5499a89d2d72cce44d96e172c75904764635d17b70b4c55eb4cc4c7dcd29aad7f189a7d2a89a67e52d670df0618449afaec5b68f18c636f714ada09d8573cc7574ca4c9c3ea72f38a6934b454f474a84ceca39457259d4c01510008b4d3134cd36ef6fce7fdbcadcf729aa69aa9aa275a76f09e7e7e2e8613e08f0ec3aaf67cd76d56d26d1e0bb21344ed93d98c4a6d22e8e866a1265d3af3c9a693535069d0a29946a674ccbadd40285af39b3ceb573f38b4f85e6379df7e72a6588a724694f2f29bc47944db4f08e4e7a4f03bb0f495184579a29d558b6032b189184e313a63cf932f1c9f367d581942659633d6104a7a209e25f1ab062ac39a3855854e14f3c9444447ae97f36918939a2795735f85e7f0fca19dabd84c22b3c1ecdf06b32a2b53814dc13dc135495cbe762979b735ce1665997ca64bbe467ddba3a3a4e24e3624d73a4cd59b4e77bb3c18eae2d1c22cd6e8fc1060f2a7d657e2bb47b43b4d8cd755e0b553b1ac426d272e118055f3ea1a542296969a422489d98a809799598f4b469c2c4eaeacd4efdabf8e6a268f9535696b26758b785bd2f76c276030632e8259a8aecb876d0ceda593d3977ac9f3274d5215f83fc50350a61ae9d2e3cf461c5397ece6ff5e7bffdf36f45f16bcf9afed451fe8c96ff00e9c5fd5ac60fe06b06c1b19d9fc524ed36d354d0ec956d6576cbecccfaa90ac3e88d749a8933a521099099b3101354ae4f9598b54b60942824a92abe0c7574e5ded4e4d7ddd2df0cb117de78dcc5afac999e739a7cf799f59d67c65b2e13e0fb05c197b3d329aa2ba62f66b04aac0280cc5cb39a96ae6534d98a99965a5e63d2218861adb845316c19c2f666288f1ec4554c7caa9ba6bc49ab133f1cd555eb54de7fd9e2db6fe053179b85d06ce6c34b9d2e8d1b2b4fb2f578ccfda19f87f39a7a44cc954a9c4a8e96826738448135535e4cd92a592a94a694a3138bfc59aa2748aa75e36f188e76e13369f6b685b0b13aa8a6aa7bf4ccdb86f69ef79f85e9de99bcbe96c3689186e1d41874b39a5d053caa796ae22520207d91ae2d79eb9ab9cddcb83879288a79459dd8cda1008040201008040752afff00c0ff00ea187ffef25452bd96a776cfb53b2d836da6055fb35b412aaa7e0d8a2392c429a9ab2ae8553651b2a52a7514d913722c5949ccca162088e79a6fe8e8a6a9a76612bfc1aecae29ee1271218d57d3ecf2699343433f1bc5e6534de67304e90bada75559955ab44c48567a94cc5120392d178aad566e3f971f09f1def69de215f6326d1aeda6fbc5f7cb31a65dad78b5a65d8fe4f764fc69f1cbdcf9c31c3379c96acabe666af9bf33e7868395e686a79bfe0b97e4b94c9d1ccd15a74fd6d7dedcafc6d6bde79cdd56bfadedac5f9da758bf28e506d1783cd91daa95b412b1cc326548da9a6a1a3c7572aaeae9664e9186cf99534881329a6ca5cbe4e6cf5974104bb29c5a2734e58a784559e3fabb3affa29f85f73f1a669f49bde2de37974eabc18ec9d6e0b4381557bbb3e970da85d55057af1ec655894a99352a97332e286b39f645a165251cb6529b33444ebf0b79c6f69e717e137da39411a7dfe53b5e394f95b79e737e3c4bc146c1e293f0d9d3b069b4a8c2e8e970d9343435b5b41493682856574b475749473a4c8aa9124a959254f42d202941994a074eb6aeb3acbdeabe6d75ed7bdfd5e3bedca11963265e1698f49de3d7f5bcbb5827838d95d9dc7715da3c1e5e2f4b88e3751535989c956338acea2995156419d3bdcf9b54ba34acb0629941b44b08ce9ecd39636fce734db96b79f59e69afb5566e3a786d1962f6df4888d79432f4bb2781d06cc4bd8fc3e4d561f8149a634926552d655c8a844a3a94d6ca9a9aa4acbb99826677be678ad54c4d314f08888f48d223cad16f24dfb533c666667cea99999f8cddab2bc106c21d9ac1364d3458ac8c1f6712b97821958d62f2eae9e44d4e4994c9af4558ab34ea4324c9337936091959296b4eb5669b4f0d75898ded313a551a469378d134d7317f19bfaf38e53beb1ce79cb2f51e0f765aab17c1f199d4d5a66601c87b91850c46bd38548552a4a69e6270a4cf1419e503d05192e0804174a48b45539e6bf6a6facebbc5a6d7daf1a4db9cfbd37ce28a6288a2222298b69fd3378f84fdd1ca1b0ccc170c9b8dd1ed1cca50ac66828ea30fa4adccb745355cc913a7cbc8f90e75d2ca2e43f46c758535cc5334c6d55affdb9adf0cd57c569d7d3f1ff0085318fc552ff00c6ff00eb5c546918cecbecfed166f77709a7c565cca3a8c3e6c8a81ca4a5d2d5ae4cc9f29728f41416aa7966e1ed6df113113169daf13eb4eb4fc26568ae636fd7060714f069b1d8baeaa75461f574b55595aaafa8c428310afc3aa8cf994b268a6354514f91352899229a52152d2a0856504a5c3c5aa9bdafc2263d2aaa6b989e71354df5453368b4787ca2d16e568d34e73ce5d5abf04db03595f85e20ac166d32f064e1a9a1a3a4aeaea3a26c1e6f2d87729454d3e5534de6ab1f83e525a985b4b45a31273cd5c66667d662d33e731a5f92b34c4d397d3d395f798beb69e3333bcbbd2fc1cec94a9b8daa5d1d6a69f684cc5627857ba55fee795ce9c2a26cc9541cbf35913264d19d6b952d2a512a24f494f489b444729a663c2699bd36f089e1b6da68574c557bf18989f1898b4fcb8eeed639b0db3bb452512b13955ea5c9ad5621475b4f88d7d255d354ae5190a552d5534f953e9d2a94a282894b4a482435cc4445ade17e3c266f313ce2fc26f116a6ddda6d31a5fc6df2888d396dc3c79cde256c2ecf4ac7a9b69548c46af14a17f73f9de278855d3532d520532a6d3d2544f994f2a6aa4ba4cc42028e65dfa6b7b44da6679fdd7bdbcaff00747245b488e5f87dedbe2124020100804020100804075d32a5cea412672133254d95926cb55c292a4b1047688ad74c55169da534ccc4de1a952783bd90c3f09c1f04c3b0b9986e1fb3f875461582a692aeae9e6d3525589627265cf95353382d5c924f299b3821c2817316abb539a77b5bd34fff0018299b539636be6f5ed7ff00955f1f27553e0bf6213841c11784cda8a05d2e2b473b97adad9f3a6cac6d4158972d533672a74c5d4283998b5958dc444571156fcadcb4bc4f0f18bdf7bf9caf4e2d54f1e3156baeb4c4d31bf2a66d11b5bca1cf84f839d92c1448e694559513a9ab9188cbadaec42bf10a9e732e9d74b2caaa2b67ce9cb4cb9331484a14a280f60f1356be979f598cb333ce6da5e785a38433a7b37b71888f4a6acd11e11156ba78f3964366f63b01d911568c065d752d2d5e56c3a6e215b53494e941514cba2a5a99d36451cb198f4242109660cc03234a6dfaf8ee5539a6f3bb68804020100804020100804020327847e3aaff005257db32033b008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201018fc53fd8d7faf2bfbd4c06769b480e3c43a89ef80f398ea73900804020100804020100804020100804020100804020100804075aa0665e1c93a2b11c381fdb64c52bd96a777ad73295e52fd1f7460d8e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f74061b1aa49625d107574aa18e9f0530f080c473295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee80e0a5a496aa5a6512a754b413a70ee80e7e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba032383d24be755a975309720eede66f6764067f994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba01cca5794bf47dd00e652bca5fa3ee8073295e52fd1f7403994af297e8fba03158d52cb97874d582a70b93aff00c644077a9b480e3c43a89ef80f398ea73b52c4b6a9186ed76cf6cb2e8f3a71dc3715c45588f28dc88c31748828e4f29cdca73c77cc1b2e85ed4cf11337da29bfcecbe5ecc4f3aa23e3154fe0c2609e177c1c6d10c466611b534d554f8561eac5aaeb8cb9f2a9b9823f1b512aa26cb44a9c8927a334cb52b935745795568bd5d98999f677f5bdbd26d369da6d36445333311cf6f97cf58d3c5d2c4fc32ec561583e0d8ed40c7d58763b89a309a229c0f144cfe70b9666a49a59b4c8a82829eaa932ce67e8bdd969cf4d1c6abfa5af7bf2dbf19ecde62becd53c29b7ce6222d3b4efbedc23b5689d986dd6cc78cf2f63955b51271e9f9852c99b45592a9e72d1279c2e549ac5c94d2cd9a995d332d130ac004916311476af6e1f9dafe317988bc6974cc5a2fcff001fbbd584a7f0bde0f2b2b6b70ea1da0e7f5b414d5b553e453d2d5cd71877fb64a96b4ca28993e4db3484133438395888ae78eafacf66d9bd39c7870bed13a4da568a266bc9c7365f5e533c3699f18d6345b657c2660bb6747b278ae0b2e6cac2f6ae82aaba48c4113e8eb258a6120948a75ca289a9fc3f4a6266e4d0a0cc0a717aed4cefc267d22623cf8f9eda6aac6b4dfed453f18aa77f4fbf5898b4f42bfc34ec1d06cded3ed41aac4e7d16c8a244cc6a87dccae915a845516a7989a5aa932262a54d63966b7276574ba25a23d9fb5565f5d3498defac69beb1689998bccd33af845fcedcb87e1cf4666a3c27ec451d460d49578bcda4a9c725534fa5933a8ab659932eb267254aaaecd24731e5e6fe0e5f3ae4f32c1487502227dacbc7f5a79f86eafb39b87e5bcf94719d980da6f0bfb3b83e3186ecee17508c5b1ca9da0c3703ada7e4ea534f2a6564d409d2c56094aa65544892be54c8e533b6a00bc307f895d311b4e7d7fa28ae74e7daa724cf09d37d16c48c94ccd5ca27e355311e57bde39ef0d9b6d36bea3667dc0c3b0ac195b41b47b575a68301c2ccf14b233cb9132a674eaaa929986549952a5294a2996b56812924c5359ab2d3bda675e14c5a26769e33111e331b6e9b4659aa7fe66787df3e513e4d1abfc2dd76034fb4d47b5980516cfed16caa709adad42710e73864ec2b13ae1466ba4d62a4d34c69196672899925194a46a939a22ac4a629cdf6e9a67c334c5a7d7f09d39cd3873336fb15d51e392999b70d6f6e7a5513be8d991e14b65b10c3a75760388d3d6aa8b17c3708c4a96b05561f3244cc4aa654894552a75319ceb4ce0a92f2c226d99612730d6989ab2cf0aaff0028bcc5b9f389b4b3998d79c45fd39df94ebac5f666247841d90a9da556c8c9c602f1c4ae6cae4b919fcdd53e44be5675322b0cbe6cba8972fa6b9299866252ea29604c568edc4cc6d1f84e599f188abb3331a44e93aad5465dff0057d63caf1ac5f786a9887872f0774382631b432310c4718c2304992a5d56214186574fa69a66d48a57a5aae4453d5044d2cb3266299b8da22fb693da9a623fbb69f2e3a6fc2f3311335d134ccc4ef4c4ccff006efe53e7b71b444cc6d323c20ecb556318660122aaba662d8ad2c8ac954830dc43f0126a50b5c835aae6f9288cc12979535265a890433da2ded4c729b785ed7b5f6dad3bf18e70a4e917e7f9dbef6e90080402010080402038277e370cff00d4b0dffdec98a57b2d4eed93c2a63fb41b29e0ef6c76a7664e1beeb6cce175789c946252674fa75a68a4ae7ae5a91226d3add611941ce19defa4611dea794d5113e533675e0d19eacbcdacf84cdb6da4d8ea8d8dabc3b11c191418f627866193f04acc2ab674ca95d6d749a79a518b4aab934b419254d2a473892bceb0109752808bd14df1b26f7f4b5af79bf1e797499b4c46f16c22a89c0cfb4dafcf5b7662d1ac5ead26ada989cd3a532c4e1de162a312f0a18becb4dc5a8304c1307c5d781caa2a8c0f159d32beaa4e169c46665c784d938652cc69b9934ea44c59972d4a775b4ba61cde8cd3caa9e5ddae68de7bddd999cbb46fdda96ae2a8aad69f675dfbd113c3bbbc5319bdad38d37e4d92f09bb41e10717f08186ecf8c1b04a0c368308c4760b1dac9732b93574588cdad94710aaa793514cf2a6f312b9084cd49e4ca16b502aca9b7573f568c5eeccd731698da98a70ead63498aa62bd6f6cb3a4c5e99baff00c5cbbd397871aaf544fa44c447dad6626d312c6607e117c206d4e13b2f87e0d51b332b68368aab1f5d1ed84dc3ab2660f598560b5024c9aea3a04d7cb9e45772d24cb3ceca326698954c4e4cd9555eb168b7626a989df4aa29b5f4cb9af15ded368eccc5f58be588899be6a73d345f6ef5135cf3be59a6aa378bcf6b4d9ace2fe1fb1cff00fc4f57429c1b02a7dbfc2b07af561f5b475788f38abc4eb24d34cc3c57d3d452cac3392130e4a8aa96b4ce55909cc82956b134ce3cd14eb4f62db53334d79a6faf1a69a7364dead69a7557a4d13834ce6efd338913cb361e588f4aaa9989ab6a22d35692f554ed2ed953f8511b1b3712d9ec5f0bc470aafc4934d4787554aacc1512e6ca9587af11a85574e953d356a54d4a409520a8cb564cc10b29ce8bcd3547b511bf0bdf4a6638cdb5de3bb3a46684d79632cf39db8dad39aabf088aa222d69ef46ba4dfa1b1d8df851c5eb3c20d06218cec7e2b2767791a0c0b6828b07c428647bac10a995d2a7489b89561a8954c95c94954a9c8fc27292cb290622aaa7aa9ae3c6de311a4cff95e9e7d999da62f5db172cf2d7ce75a63e16aa7c2aa6dc586a0f08bb77b4db3be0953b3fe2f619b55b7bb29376a316acaea3aaaaa042692450f2b4b4f4d2aae9e6a4ce9f89232ad539591292e165a36e931d5d55cc45e9a22f6beb3ca2f6d369bcda6da76678694e1e9313be7c9e5ded6dc7bbb5e37df4b4d24f858c6b10aef0338a5055e154f81785aa7c3e753ecbd4e155bcf25a6ae826d6cd50c7055a6852b9411d192aa7cf318849b822d898593a4d585de88cdaeda444da6d3debd568cb1ac4559a74a2a6144d55747eb2dda8cb7d6f179aa29ab846917d267798b6f543b9e0ffc2b566d96d962986d4d7d261b8726b71ca1c1767d780e2d2a74ef712bd5413272368274d4e1b52a264aa6aa9e4cace84a802afc1ac9a514de8bf19a62ae5a4db84eb311788aa622d154c6b6989aaf8d6a6bb46d7cbe755a667cb69b46f314ccf1b53ec18df5283fa4ff00f4cd8a8f1fdabc7f6b17b59816c56c6ccc230dadaec3ab316c571ec5a967d7c9914f4b36453cb932e929ea6854b993a6543e633804a506ca2a10a23366fb397fd79adff6557f4f499aa9a62227bd55ede54db34ffaa98b69bdefa5a7af5fe1264ecc55c8c0f1fa3adc6abf0ca6a29bb69b4984d226561986f3e98a914f3a7caa8aa5d42513972d472c9e5cca48cd34a50ca334f6a74e35451fdf36ecff00aa9ff28d54aaac91333c226a9e16a22faebe113e3369b434ca7f0c35787554bacda75d1d3e014d2f6f26e25364c95f2b9766f6869b0bc3d32de61199726710b7eb2d88ca2d116b5313c6628b70bd5893688d66dbda35f8b5c4a32de7844ebe5d5e799f4b7af06c949e1a303c4e870c5e0bb3f8e6398f629575f472f64289586cdad96bc2ca456aa64fe7c30fe4e4f2b2dd42a88256948751689b5e6223698bdf68888ab2cdef69ef69a44df7a6f4f69966defa4c4c53eb5539e36bef476b5f29b4e8be1fe13aab11c4e75154ecfd5ecbc8a2dab99b3a2aab853d523104cba29f52664834d540d3fe282b34d4aba3662a51e4e915d3928aa67bd9ff00d19fff00c27d62636b553344cd538b16ee64d7fae70f87f7f09e3155ef9a88eb4bf0e7b3070d9b8bd4609b4547413a86562bb38b552ca9b331ac3675548a4455e1f269a7ce9a47295727f073532e734c4fe0ef179a6623589898aa9a66394d778a6fc35b4f1bd36ed5b4bdf2f6e698d6d154df87622f56be1f0abd999889b7a0ec9ed4c9dacc3eaab118562381d4d0564fa0c4708c4532454c89f20874a8d34da892a052a4a8144c5063c5c08de98aa369bfca6699f8554cc72e3178b4a99a33554fbbf8d31547caa8fba75bb67824804020100804020101a76d563759b35b058fed0e1d46710afc0f06a8ada3a2e89e52648a733120852e5021c5fa62da5e33c5998a74dff5f737e8b871898b4d33b4cfafa78f2e0f3a91e10768e454e1984d61cb8c67d9938b61957432a4d4c9978dd4d74b9815329abaa6994a229192941646572a999fa3d35d1ad36da6bc4a7fc303ac88f3cd6bced3b4445b33866baa307371ec7976b169a27e5336f4bf2750ff00a42e05876cce13b43b53b318cecdcfc53dd49e707993b0e9b3a4e1d83cd4caacc40a855a50b972ccd40e4e5954f51244b9530078ca9b5592dedd34d5e59ed6fbf4f0d66299bc4698754d515cfbb5554f9e599dbe1af089d226632cd5e9f81eda526d06d16d2ecfd06118a64d959c9a5c4f1d988928a1354ba7a7ab4d3ca3cb72cb519356853f25945c120b0368a672e69d3978da6aa66de1134fcf4bcc5596d9b5b785fe3b7ebe3c2fb945524020100804020100804020101dfc1ffdb2bbfe153ff6a6c06c30080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010187c7bf9ae77ebc8fef9101cb4da4071e21d44f7c079cc7539da1e39b2f5f89edaecd6d2489d4c8a2c1b07c730fa994b52c4d54dc4d742a92a400929ca9e68acce41b860776389873315fdaa32faddad35c444785713e911547e2d1683c186314345b0d4f3e4e058ba365fc1fd7eca62785d42e6a296b2b2a9186800b4857faaaf994c0b397300a0c8376ede995d38b898b544766b98b4785eaf869316b33c1ecc51c32cdf9ffcb1187f837f08387ecdd0489751864eadc036a6971ad99d96acc6710afa5a4c3e4530a75507bb35348aab53a95326a0ae9d591c4b1d10f18477e8aa66f31355ff00ba9aa9f5b66bebbeca65ecd74c69154516fedae8ae74e17cb6b46dbf8255e0e3c22cdf08f846d6d75761f8ad060db495188d3cc9f8d629fcd7554553448a69385720aa0a799468a8b2d0ea9ecea5cb72f1d1e32d579f76a8e7bcde27c368a6d1e7af1db1aacf168d3bb6f488cde779cd55e76d29db6da293c1c6294e9f0769e7187ca1b255f8dd5e27c995fe1062922b25a0cafc1a732b3d5052f336fd633a689c969fff006f185fddfc1d7cbf873f18d19c4cc4ff00eecd7e97aedebda862767bc1eedce1db35b0f862f10c2307c6f62b65f13d9ea3c56966cdac4f2d369e92450d70973a9a48b1a5cf325a9dac015c5ba466c4ae6b8d2a9a263caa9aa99df97677b5fc1be057451d9aa335318b4d5e74c4577bf29ed739d38b4ca3f03be105784f847a3af9f84caabdb7d96a2c2a454cfc7717c6a62311a09954a0b9d518853899c8d473acc723094d9532d5d68d299cbac7b38d46244785334ccd37dfd88d7c7c35cb7b66f76aa66748ef46f11b46f3d9db4f1d33fb47e0a71fc7f6ca5ed75761184e2b2f1ca0c269f68b67d5b478ce1d4f475385cf99393325f31a712f1497f86708aa932d8a031016a02b8511455fdf15df94da98db6d32c4c4e93cf85ab89335516fb3553e7137e3c2f133130e53e0e3c2126ad1824a9fb3476429f6dfc6d4626a9b563119b266e27ee9cca334e249932d72e6ad404ce55416900654125427a3f626899f622b8f3cd4625313e99f6f5be96974899ab365f6b26fc32e4bfc72de396daeef43dbed96c6f19aad92da4d969d87cbda6d8aaf9957434d8805a696b29ea69e652d5d24c9d292b99239444ccc998942f2a921d0a1158bd35e68d749a6636d26699e53b4d313e36b5e2ed22699a669abce3faa2ff18b4cc7adf85a744c4fc1dedced22b6b769f1656cf506d6e314f8350ecfe09267d4d4e1d494b84623ee8ffacd5aa4489b3d73e6a959b2c8400025237aa2b34da22dbf594553e544e911e97d79ceda222bf864c4a63cf129b4ccedca9d3945f8d9a9ed460bb49eee2ebb6870f40daddb9c7b6339860581cac4713a1a6c3766f1795553e754626ba3a69495b4e9d315ca265b21202731731be05a2623ed555cfae1e5888e7ddf3bd56b776f4c5999a66676cb9639cce6bccf86f1a70b4cdf78a764c07c0fd7e0db795b8bd4d15163183cfc6b15c6b0cc6978f63126a28178b4a9e26a1181659b864c981550b472c148250a729ce1d5cf8747f0a689e534df7bc4cdf69eef8daf7b5f4bda36c5c4bd59a3ece9e34c4470df6bebe4b52783ff0008a8f05b33c18d4a766326cf50d1526cae3d2aaaac1aef736a254ca735b4a691a933cb909130cb9b3ba44901ac75ae734d354ef4d544db84e59899e1a5eda45b463688cf4c776aa7123c633d3311a71b66d66f17b6d17d3318b6c56d9629b79b2bb5d454b856cb4fa6e6476b716a1c6abe64caba79289bcb6173b0e3452a96b65679a792a89aa42d0f98241e896176312a9f666febd9b44fd9aa26dac5e669a6299d36b57566c3b71e13cbb5133e778d2d3b4cccbdbe0a9008040201008040704efc6e19ff00a961bffbd9314af65a9ddbc6dcec94adbbd94c6f646a719c4b02a1da0a699478956e1bcd79c9a69e932e7ca49aca7aa9691310a29272661ef48378e798d63c26ff00afbdd3457344de376031cf0713768e9305c3317dbbda6a8c1b0e4520c5f0809c265cac615473933d332ba64bc3d339256b427944d2cc92822d94025ed78cf9a62f69898f0aa9d62af3bdaae5788d2d789cedfc3c91c62627c69aa2d34eb78b5af17b66d6f7bda62b37c1660f3b6a8ed24dc63179940baf562ebd8d52a995851c5174470f55632a9cd53aa9d4419427f2255d332f392a8a5344445a7588cd6f0cd79abcef9aaef5fbd3e16be69d6da66b66fb596d34dfcb2d3b5a7b311b5efae625fe8f7e0e2a64edbcac0f0e1b10bdbec2e8b07c6a7ecfd361f44a4d251ce993549929349311feb426f2750169505a1294b74634aab99a3270cf9fce7b3689e74c65bda7deab8552a534d3137b7b334f2b44f1898b4c4edac4fb34f26c159e0d27d6e178353ccf081b532f1fc066547b9db6b2d1834bc4534f548e4e7521968c3534064a92136e6ae0a52a7cc906295c669bf84c4fda899899bfac46b4da74df59bcd1d98b70bc4c784c44c46dbe9356955e359f0b61b10f019b31532e86870dc5f1bd9fc0a4e09866ce62db3f46ba4994f8961383ae6ae8a96a575b4d55509c9ce26833244d97314165d4e1253b75d3d666fb515c46d4c5516b4c445b6b53a777b31a5af7ad5445544d33c62aa6678daaef7c75d7c65b06ccf838f15f69b69768e976d7692ba56d5d74fc4714d9fab1852e939c4d422520a66cba0975d9644a94897292aa9212900318c688cb465f3f3d66f33e7e77d34da22d6afb55e6db6f2d22dc76e7a5bb579e337cbe0db194db3db1e9d90c1318c4f0fc92e781b4639acdc40d4d54c5cfa8ad599d4f329973e6ce98b98a2a9052544f4622b8cd4c53c2229a7d298888f946bc7d537ed4d5ce667d6a999f9708e1168d9a5c8f0314747b2fb23b39876dc6d561d57b15433b09c1b6b257b95ee97b97509968994133361eaa554b299127a5cdc4c7969567cd98aad5dabaaf56b1316aa35b551e36b4fac4c4c45ed3acad4e24c5fc6acde556bafce749bc6bb6916cc54782dc367cfd95a64e3d8bd36c86c77b9abc1bc1fca14030c13708634331730d21af3c8ad08584f3acb990970ce0ebd7d738d38b54deb9cde99e99a6adadbc4d5bdfbd3ca9b654d114e1f571b69c66f369beb33e517e76d779bdb03f05f85e03b4671da6c7319a8a191538956e0db2b3954bee7e1f578c4d54fc427d39453a2ad4674c993159674f5a539d4109486033a74f19cb96267851789cbcadd9a6da5e229888988bde71633cc4cf3bff007659a6ff00099f0999999d6cdc71bea507f49ffe99b109798ed56c349da4c4b07c768f68318d92da3c0e554d35163f851a4338d2d5f266a2966caafa7aca6992d6b932d7d294e952414917745e2f6e3bf8db6f85e6de73cd37d2d3ff001faf1d3d62184aff00053458955c9ababdabda399ce29a86976ae405d12518ea30e98a9b4eaafcb480cb56698acdcd0c8cc93954e909014e9e5154556fb5197b5cefd9a779b76634def4aa9cd137de626999fb337ecf976aab718bcda6faa957e06f64abe4cda7ac9d894f93365ed0a32f2d2d252769313958bd4cc4a912c292b91534e832083d11d6cc6f133569e592de1346b4ceba6facde2627959b4e25ef7e3bff0086498f5a65cb51e0c15514f81ccf1ef69646d26cf4daa5506d9489582caaee42b5294d452cc929c37982a52f9341bd366cc849cce22277bc69a5bce2f13f7c45ad6f9cdf38da62758bc4f94c45b86fa4cf7afbf8536ef4af06f8623139b884dc6316ab96bc6918fc9c3269a5e425567319941372e5a74cd32e7a2615ad2a59657532a5d3159a299a69a6da5335ff00fe99af1e57aea98e3aef6828bd39fede5bff00664b4c78f62989e1e179bb5ec3fc096cfd149914b3f1fc7f14a3c2a9a928365e96a6651e5c230fa3ada6ae45152aa4d2ca5ae5a9745212a5542a6cc299606705c9d6712aaa35d666aa6a99e354d13334df871aaf68899cd379dad313acf8c5716e1fc48b55fedc9e99846074982ab175d2ae72ce355f3711aae50a4e59b35284282192964b4b1abf7c529d288a7845ff00d55555cfcea9f4532f6a6af7adf2a69a7eea619982c402010080402010080c256e154f8eecdd5e0956b992e9718c3d747533251026265d44932945054140280559c188986985893875c551bc4dfe0c055f83ec16b76826ed24d9f5c2be77b8d9d095cbe4bff029b553a96c6593d2556cccf7bd99b7ebd64e9f66aaeaf5af0fab9f4cb1a78fc184d17a3270b531fe35c571f38d7c1ad4cf03b870461caa1dacda1c3310c1a7e24ac1f17969c2a74ea7a2c567a2a6a70e08aba0a89132472b290a4aa64b54e1947e159de947622988da9a69a7faa28d29bf8c46978b71e332b445b378d535794d5799b784ccccda6f1f08b7a0609b374380d5ed2d6d1cc9f3276d5624314c4b95524813c51d350b4bca94b2793a44162f77bee17ab12668a69e14c4c47ad7557f7d53e85b5f87ca2ccfc6692010080402010080402010080efe0ffed95dff000a9ffb536036180402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080c3e3dfcd73bf5e47f7c880e5a6d2038f10ea27be03ce63a9ce4020100804020100804020100804020100804020100804020101d6a9565561ead72e238716fff003b26295ecb53bbd5b9f7e8bd3fc2306c73efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc2030d8cd63cba33c9f56a1f5fd14c1c3b60311cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc203829ab32d353a7937cb2d01dfb3ba039f9f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff080c8e1159feb35aae4f5972433f0333b3b6033fcfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff0008073efd17a7f84039f7e8bd3fc201cfbf45e9fe100e7dfa2f4ff08073efd17a7f84039f7e8bd3fc201cfbf45e9fe1018bc66af94c3e62393675c9bbfe9510191a6d2038f10ea27be03ce63a9ce4020100804020100804020100804020100804020100804020101d4abfff0003ff00a861ff00fbc9514af65a9dd95f087b4f886c56c5ed26d6e1d834ac7a6ece50cfc42761936af9925722965aa74e69c24d432b220e5190b9b5b58c23bd11ce623e33674e1d19e6dc582db8dbec4b63eb765c4bc2706c430fda2ada2a0e466e2eba6c5973ab2a65c857b9f877339c9ace411339699f8796c80a3ba2d4c5f1327ddaf3bccc70a634bceba5e786b9c4df0b3eda5f5d23c2227deaa7b34c5b5ab2c71d3a587f854a6c5fc23e25b0740ad9b47b8d52aa3ae455e388938d4d9b2e8d35736651e0c9a69aa9d211cb4b415ae7cb3d721395292bae176e2f1b6bb6b316ab2f6b96b13f2e68c4af2d5978e9be97bc66d39e9f8c7097260de136a76af16dbcc1764f67915953b252e85783d6e2156aa2a4c579dceaaa75cd97325d3d4cc974f2e6d14d4266f26ae5329284e4caa52989ab029c6a76aaa988f288a2acdeb15de9e716d75d2d3a624d13c237df5d7b3e9316ab8c4de2d78d71343e15b68317c3b0ca6c1f63f0eabdb2aec471ca09d83af185cbc3109d9fa834d5b512f134d04c993526672684014a15994ca09caa2293891a4d3b659abc6d15453368e3379d2f31134eb7da26d344c5efc2aa69d358bd54678bedb444c55689b5516d7763312f0f1225ccf078ac2703a39b4db7f86d0627452714c4fdcfae9c8af9f2a4f34c329a5d355a2beb29c4dcd3a572b2c206539d8929db2c75d3446b1197588bde2abf6ada7622233553ecd3ad95c589c3a6f5693db8b72aa8b767cea99cb447198b3783b67b454bb794db1d89ecde17269b1ba2c4eb766712a6c566544f9a8c3574e8573ea4550ca14a999ce92ca44d9c01b1b9119533331547b7117b70b5edacf099bc6969f6b7cbadaa888b4dfb33311e3dd99d238c45ad3378de9d35d31db37b6fb778c576dbe1388ec3e074988ec94aa514f3287682656d2545754cb54f3433a74cc369174eb9524c99ab3c92fa3350ce6d0aeab61cd5fa9b6f31e11b79c4c6f12afb797c2ff97c6d3e5169e30e84bf0a98ce2bb3fe0eebb66b6429b12da1dbec055b47ee1d5e26aa4a7a5a291229a654279e228ea153668995b265cb4f2290a72494011a63c755555bcd3445e678f9445f79d78c469acecbd38778d77cd97c2fdade7976794ceb1a6f31c88f0b2aaac4bc1c1c370ec1eb3677c25c8a4a8c154ac5952f1de4eaa95756670c1f99a92b9325091caaf9d0ca1cb598dabc39a31eac29d6d7d6358b4477aae54ccf66275bd55511ed698d355f07acb4f0d3c666d31bcde69bde7c22ae5af3ec5f858a4db6dadc7300c397b369a5c1a76234e69bddc4ccc7cab0dabe633674ec1534df81a754f42f2cc3504e5c84a46764d68a2668cfc34db5df6bcf0998d6dc369d6f6be2766acbfabdb5b73b6df1b69699f48c63f154bff1bffad7151e13e13fc2756f83e9b489a4c028b1993ee462f8e62b32ab13f73952e930734a26a298736a84cf9f339d8c8852a582d75878889d6de5e7acdb48e3fa86b4e166a74def6e51b4ceb3c36fc65b49f085b292f1ca6d9c9d884e938bd49912ccb552d49a79351532f96934b3eb132cd2c9a9988214992b9a262810424b87b5bb534c6f17f5b6b36e768d66db45e76861355a8a6b9d22ab7cf48bf2bcf6626749ab48d5d1da8f0a1b25b2781d663d5d53555b26970aaac665d0d1534d9f533a8e8a6ca933d72e5b01d099512c12b2901f3121209138544e25adb4cd117ffd4eeedaeb69da2674daf686914de6dcb37fa3bdfae2ef49f085b273f15c3704188544ac4f16952e652d3cea2ad9012a9b20d4cba79eb9b25089152a92933053cd299b941391845674998f777f4d66dced1acdb86bb22d36bf3fbaf6bcf2899d2267499d23564365b6b700db4c33dd9d9aac9988e14a5e4955e69ea244b9bd04ade4aa7cb97caa46662a438cce97cc950169a6637e3faff8e71aec8beb31ca6deb1a4c7a4eed922a10080402010080402010080c5d7629418260b578ce2b502930cc269175788d5a8122548912f9498b21209395209b0889988dd6a289aa6d1bcb4e4f858d833370b95eec4f41c5c4b5534c5e1f5e8952e5cf9eaa5a69b553552022965554e414d3cc9e5099dff945622f926f6e3f8f2feafb3bf833a6b8aa9cd1ac5afa6ba73f2f1dbe0cc627b6fb3985504fc427d5ce9d2e47ba4048a7a79d3a74c5e12261ac972a5a1054a52392500075b73c638989145333ca99abd22623cb798dfee6993b514cef3311eb34e68ff4ebfeec3517856d8bad95b333155b5943336ae4535461d4d5541592972535b3390a5e7a4cac949ce27032a499ea489abb4a2b8e8af0a69c49c3de63fe7e368da75e70c307163130a317d99fd70de22f1ac5e9d626f698666ab6e36728eb307c3e6cfae557e3b3aa2461d45270eaf9d34f35a84d2cf9d365ca90b549a744d5a419f34265749273b28135a6999db944f86b178bced133ca75d262d7896b3b5ff5a35bc67c316c360d49b4554babc43113b3009afa7a2c3eb272a6897529a39c68d5c90975629ea1425cf3256a1295d198526d11113a4f09aa98ff003eecf3b4ef4fbd6ec669d15c4ab244ccf0899ff18bcf87c662ded5a354516dfe298a6d6e2582e1f836128c13084d39acc42bb13a8a3c515ce28135c932b09561ea2c9131295679c850e9745d2d194d73115ccfb1331cf6a699e1c3b56d2fcda4c772dedc455cb7aaaa7e3d999e0c4a3c336154b2a8eab16c3ea2651e27ee0230ea8c16555e2c95cdc769d73d27f074f2e67228c96986582a0474028e58e89c3fe35587b4c6257445f4ee514d779e53acc5af36b5e672e69a79b171f26b3b64a6aff3aeaa3e5689e737b4466b44ed73bc27ec3534eda193518e721e2bd355d5e2f3d74f529902461ea08ae5489e6572553cd16a089e24296652884af2a8b4651378bf0bc47c66d1f3e3b3a269989b71ff006bfddadb96adb309c568f1bc3e9b14c3f973475614642a7d3cfa598425452fc8d4225cc00b3a494dc310e0831698b7eb9fdd3ce3789d275562a89d99188490080402010193c23f1d57fa92bed99019d80402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080c7e29fec6bfd795fdea6033b4da4071e21d44f7c079cc7539c8040201008040201008040201008040201008040201008040203a957ffe07ff0050c3ff00f792a295ecb53bb29e11366712db3d8ada4d92c2f17a5c0a76d2d0cfc3aa313a9a35d7265d3d54b5499c53211514873e451ca4cc606e42b48e7d6f131c26ff000ff77561d7926fc5ad6d5ec1ed4ed7d06cfe0f896d2e012f0ca25e1f3f1f992b039dcf26d550d4cbaae570d9f33115a687399490334b9ca46a16ec45e263accd3c26262da6b1cf9d33c638d37a6666ec72db0b247189a75e53168b445bb51bc4ded9ad36d2d3d59be0a674ddad9b8aab1da5f15a7e36bda59d808a029af38a4cc2ce14affc4915091cdcca566ca647281561342190338a2f4c5356b14e688fef9aa6abf3efd56b5b872d75eb2a8bdbdacb7e3dc9a6632f2ee537de37d2f378d7bf902a4c0e4eda27c1e6d4e23b1b3b6a301c2f00c2d7327e2589a30ba7c3e6cf2be4133f104a87292677272f22e5990c552c82b53ed898935e1e59fe6679f18b53197d72cde635989b7b34db3a298a6abf2a6623c266fdad6f1369b4eb13b4fbd2d88783bda8a5c2364c60fb47b35826d2ec7cba9a2c2aaa9367e74bc1d386d521085528c2fdd3331253c8ca52569aad53a65244658919aacdce99a67ca6627b3ca632c5b78b5f4dad347669cbc334551e7115476b7bf7aadad37b729bead89f8021369f02c2709da3a6938261b8260d81d40c4b0de7d5f2d182544ca8935d85d5cba9a54d0d6cc54d25737929833265a8246463a4554f5915658b455154447d9da9bcde668e16ded35c5fb48c5be25356699cd545779f1af7aadcefaf9db9377d98d87da9c0f6db6af6a711da9c1f1ba4da79ea50927069d2b12a6a59432d0d0a310388cd95cda98665644d2a732d6b99652d4f4a3b3465e3aebe37e3e51d98db4f1bde7135af347847a5b5b6dbd5da9bdf96d6b66b67764f11d98d8f9b81e1d8cd3546d1d41ababacda5aba35cd933f12ae9cba89f5336911532d650664c2d2c540ca9648530114ae9be1c511c2223f39e1ad5ad533ef4cceab5fb7555ce667ffc63ca98b531e10d0f0ff051b57836ccec150613b6f8548da9d84c1ea367a9b6826e0b3a6524fc2ea534e9503403124ad3509e65214260a8cae15f83653274c4fe24ce6be5aa2d55b7f389b4da635e131aeb13a5ad4e26f7f7f3479eba4f38ed4f29db5def919be0aaa81f07b82d163387526c4f83af72d784517b9b3158d67c265f272929c5b9e0972e5cd00266814aeb415a3332cb6b38f3563d58d55af39ad11a476e99a75def6cd3316b5a72f2d71a69cb83d5de785e79daa8aaf6b5af368f9db85b9b66fc1856e01b4b22bd5b414b57b378457637896cee0e9c3ccaad95538fd42ea6b39cd7f395a27cb4ae74ce4d29a7964029cca514b9c69d359ef451d5c708cb7a276e7d8a75bebaccc4ccde271a33cf866cdfdd96aa7e1da99f85a6222d3e918c7e2a97fe37ff005ae0978c6ddf82fc23c2062785d7e2f3f93183e1b88d261a512926a296b2b27514fa7c46967a89e467d22a89d0424be6d59c2ab34f18ef69313ca699bfac4f18da6349d2578ae32e59d6999d639c5a62df3df78e1ab068f0598e2f12e56bf6ba8aab08c4f17c2768b6aa891852a554d563184caa444b994b51cf148a6a699330f913152552a6abac04c650cbd3878f92abc6d4e7cb1cb3c551313a6bdfaa6369bdb5b45a729a6663c6d1133ced37fbb49f95a58aaaf02f8ce2b231ea3c676de4d551d6ece639b33804a9185720aa3a5c62a254f13672cd52f9c4d95c8250584b0a003041cc555e898d5747a6229de99c198e57c0bdaf1f6afaeb1e1e17bf6ef3ddbd733cff008937dfc3588d3ceeced2f82eaa93b6c9db3a9afd9fafa9ae34d578f09d834d5540c469e83dcf33f0ba935e7994b5ca03f06b44e23a402fa64c63688cd11b4dedce3345b7e3f0fc2cae734537de9b4785a2a9aa34e7acf1b6da6f7dfb63767bc52d92d99d96e77ee878b986d261dcfb2725cb73592995ca7279979736576cc5b8c6b8b5e7aa649d66679cccfc66ed9233410080402010080402010080d5f6a767fc6cd8cda1d97e77cc3c63c26ab0ee7d9395e479dd3aa4f29c9e6466cb9ddb307e3131a4c4f2989f84dd7c2af25513c9a7ed1f837c4319c5f11a9a1da3938760db4d4d87526d7e1b36879c4f9f2b0d9b3172f99d4f2f2934ca9a99a51333ca9a198a4254e4a9d27c3ac8c4f1cd193e5fc3a74b44efaeba73d5831344c719a3ab9fe99cdc39f6eaf95e26ceb4bf0658d2b1f99595bb612e7ecdc99d8dcfc33029786a65d42178ee7338cead33d626722a9aae4b2c94744b2f39650c2bc1cf875533bd545545fc2aaa9abe56b78e9b6b7e9c4c4cd894d7eed54d5fe387347cf7fd698aa7f03d5b2f16d96c72af17d9fc5f11c268309c371c35b81cd9b2e7cac12a6654514fc3d1ee803455039653ad6a9c9cc12a081958f6578d9b16aafde9cde39a62d369e5e1cb8eb32e5c2c1c9834e1ef9632df9c70bc73f2b71d36b6c9b57b078e6d4d5ecb55ccda0c2f0faad9ec45756bc5a46193d388737e792e7a6968ea915e8e6e99922526454e744d44e1d2c89b24654da2b8abc238ef3c6ff66675cbc234bdfb4daad6998f3df870898dbb51c27e316bc4ead4de04f9948dafa1a2c5305914f8f49c41382e2870752b16a45e235dee8ad35359cf022aa4267ffe5a64ca52804e6999866314f669a638d33873e13d54f673739f1bc6f57bcae2d39f3470ae2a89e7db8b4dbfe27846d0f43c27631345896d2637884fa3afc67690d3aa6d6cba3e4790549a09544b128ae64e5e45aa5a96139ed999cf58e75e1c4d35d31a457333f1a698f5eef835eb26f44cef4d311e76aaaaafe1deb71db769741e08eaf08c0b0ac370bda7949c430593b332e86baa280cd9255b3b284979b21153294a15097b098321dea6bf5e2e3759d2271a63bd8b5e25bff530fab98bf846b13cf873e5c4c19aa9b5f5cb453eb4624e244f94ce931cb8f2c6ccf01d2cd3edf6192713c224e1bb67478e53d2579c214ac668d78f541aaaa0aafe7825ce9026a8912f9ba0b0402b391d55e898bd4d5455ee5544f2bc51566889f1e17f5b4ccba312734ccc71bfc669b5ff001fca36f7e8c904020100804020327847e3aaff005257db32033b008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201018fc53fd8d7faf2bfbd4c06769b480e3c43a89ef80f398ea739008040201008040201008040201008040201008040201008040756a466387a46aac470e03f6d9314af65a9ddea7cca6f948f4fdd18363994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd0187c66926097461d3d29ec35f8298784061f994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f74070d3524c553c85029654b491af0ee80e6e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba032584524ce715a974b89724efde6676764067b994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba01cca6f948f4fdd00e6537ca47a7ee807329be523d3f7403994df291e9fba03198bd2cc97413164a582e4e9ff15301e7bb6d57502b6928d33149902409a500d8a94a50bfd180d87662ae7d5607f8798661a7a954a42897394212a1fda80c547539c80402010080402010080402010080402010080402010080402038277e370cff00d4b0dffdec98a57b2d4eede36e76ba9f6136571bdaeadc2b12c668700a699598851e1a992ba8e6f252664e989151369e5b4b424a8baf759cda30f6a239cc47c5d145135690c76d5ede276466e1332b765b1cafc1312a8a1a5a9da5a43879a4a29b88d5cba2a74d44b9d5926ad4f36721f9091318178988ede59d38478ceba7fcda358d77b569ed519a9d7499b71b446699d74dafc6fa6d7b5f96936dd3896d4d7ecde17b358d6234b83d4733c6b6ae5f31461b4b55cd855190ae5aaa5d5cd2944c960aa4d3ad014b092a74ccc914eb17e1adbc6d3967e7131fdb289aa2f6e316bf85f5fba627ca618ea5f09f82e2d896dd60db358662bb518b6c01a5462745429a747399f54b9d2f90a39d573e9a44c5495d3cc44d2a9894a1495233664a806bd546246b1354d3f0cb79f28cde7a4da36bcce98992749cb157c6f6f59b796b1aef6c523c3061f5184d0d5d06c86d36238fd6d7e25871d86929c3bdd4933b085a915ea9aa995c8a112e4909e98aa2159d01198a808ad55445adac4c4d57e514ce5abc66d5766d11337da2622656c9317cda5a623d6aa73d3b5e22f476b5b729b55a2b5de1a766e478b5370cc271ada2c3b68f0dc3f1938ad122925caa2c3b159e8a6a3a9a9975b534b50ae516bea53ca9b3035d00948569553971670ea988989a69e717ae6629d62fbcc6fb7199b6aad5131466b70ae6dc7f871135fc2f1f833e9dbf09daff0013ebb6476830ba9ab915d51b3f8b547b9c68f14187995cba69b91ad9b3d0afc324a79c4a94e1c8d233a6abd33ef445f2f19889b5e386f31bcc4f6a3c6d6aa8b5bdd9988bf089989aadcf6a6ada2634f2be3302f09f3f1ba9daac3a6f838db1c1316d93a3a5aca8c2eb1384cc5d50ace5b91934d368b11aa91cb7e009289b310c0a546ca0622aae2289ab7cb36f944fca26267ce15f6e29e717f4dbe73136f29714df0bd852b67762b1ec2766b6876867edde17eede13b39432e8857cac3912254f9f51502a6ae453a448e71290a099ca5152c0405c698d118554c55b53acceb688f85fca2226a9b4da3495a9a2663c7365b73ab5d39709d66623c6f30c82fc265073cd9234fb3f8cd76ccedb0a3f70b6ea41c3d586ad75f2553e990a96aac4d7f4d291714a521c396cc44d744e1e34e157d9aef5479cd34cd53b5f85356f6dbc62f9535c5585d646dd9e1378cd54531789f198bf2bf9dab27c23cc3b7545b0b5db07b51854fc50621330bda09fee4cca09f230ec9cad4014d884fab44a519b2c255329d375a41625a230e33df85a2ff388b72beb788beb1154c6d2be2f62dc6266da73cb356bf098bed7b47186e18df5283fa4ff00f4cd881e43b7be1370ef07f3a8e556e018e63827e1d8962f5b370c4522c51e1d849a7e79553d353534eb50473a41cb2533166ec93117f846f3caed29c2aaa8eceb37b4471999899d3e0da46d66cbfbad43b3e768b0a46d06274c2b30fc017552535d3a9c82796974aa509aa4744dc25ac62f926f31c69dfc3cd8e68cb4d5c2adbc78e8eaed0edc6c86ca60d57b41b41b4587e1b8450d2ccad9f56a9a15feaf296896b992d08ccb99f8498847401254a4a45c8115a75b78dbcbb5ddd76889e73a5af3b42f4d333368df5ff4f7be1c5d9a6daed94adacc370ea3da7c1aaf10c668c62383d0caad90b9d5742438aaa79695954d9247fe62414f6c262d3313bd3bf879f247089e13b78bb984e3d81e3f2a7cfc0b19c3f1a914b3049a99d45512aa532e619689a10b54a52825465cc4ad8ee20e86162749b71656010080402010080402010080c7a2aa9a8b0b45656544aa4a4a4a6136aaaa72c4b972e5a11994b5ad4c129480e4982622ec3236eb6266cfc22965ed8e0132ab1f993e4e034c9c4298ccad9b4ab32aa114a9131e72a4ac14ac21f29b18445fe17f4e7e4accc43bd88ed2ecf611435589e258dd051505122aa655554c9e8094268429555bff00f242159c7bd62f15aeb8a62f3caff87df311e7310b659bdbf5b5feed7cb56370fdbed88c564ecdcfa0daec16a13b62854cd94473c9299988a658799cd65a941734cbf7e121d3ef9a35ae89a6acb3bfeb5f2f1d99e1e24574678eefc35e537da7c275e0db628b900804020100804020100804077f07ff006caeff00854ffda9b01b0c020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804061f1efe6b9dfaf23fbe4407926dbff3bd37f4447f79320362d8ff00e639ff00d355fdd2203a71d4e72010080402010080402010080402010080402010080402010080e09df8dc33ff0052c37ff7b26295ecb53bb64f0ab816d06d4f83bdb1d96d989386cec5f69f0babc2e4ab12aa9d494d2935b25521739532453562c99617982793e969993ac73eb13131c2627e1abaf06b8a2acdc9a66deec66d8edb48d88a73b3bb2d455f8354e1d884edaa38bd64cabc12b29ea65cda9f7325270d97cec2e54b32c2a6cd921599972ca5d274a66d8b9f6b7c6635cd44f8551d9bef6999b44c439a68ff00c3f573accc5bc2263b95f1d69abb76b6f4c466d6f181fe462be5f851a9daca5c3b6768e9aaf1e9d8fcedbb93326a768f24fc1fdcb5e13c99a654be439469d9f9c84d80320ac72871c3a6d465eee95c4dbdbcf555576b6eecd7a77bb94fa6f5551333331155f2dafec65cbdde79a29b4eda5756b6d27a387f818dbed831b7951e0ef6e66e255b8becde0b81ec71da19d4c39acda1a8ac54fa8a89b498592a5cb975657256a44d2b9aa599c1632b6f5627f0230e34fe25f4d2228cb874da9e53314e5dad4c45168ef5f3a29b577bfb3578deb9999bd5b5e336b3ac4cdeaf06c345b0db6981617b1788ecdecdecb506d16ca8c569676ce4ec7710a9a2a9918ba91367d64dc626619cee6562aa24a674c54ca65728553332b310b8c6ba7b578d3b134ff4de699d238db2edd9def7d3b5344f632cfbf15f39aad4d54ebb5bbf3ef6d116d7b3a1e31fe8ff00b4865783fc3e85781e39e246058261bb3fb5559555587d6ecfe2786d42a6d662d875348a6aa4549ad1c966913274b4fe09282a29596de89a29c6cd178a6269e3ace1d316eae768d69bc4d5f6a66dd9a51d27363d354d5deab3ceda4575ce6cdfdb56b1e5a6f2f55d9ad9bdbd95e1236936a76b70cd9cafa1a9e7149b278d48c5ab2655e1d84bcb32a8e5e1b330e972252aa172f96aa9a2a94a5ab2a7a489728231c3d289bf7a7e7ae91e1111e77aaf3c749c58bd716eec7cb4ed4f1bce6f2ecda39e6ce6c9ecded16cbec8e28b9b2f0cc676ff001ea8abc5b1d5aea66d3d154e25527a12b9d8a69b393229e4a65534a519054254b47462312f38514470a623d675ae78ef54d554478db48dada759555ce74fe98d288ff188cdce6f57179b609e0fbc266cdecb782c9987d1ecad5ed96c0ecdd66cad661b3714ac461b3a9aa53440574bac186aa77289561b294649a7665a93ca744295a63cf5b3546d4d7169d2f31ca622f19b499d2f179b6b16d6f4e246b7f7f3c78f7af1e1dedf5db6d74e6fe4931aa2a9f0398461787e088a0f04f270a9349e11575d3d38d721434c69ab291186a68cc832eba53ca59555d92b528273a131b4e3c55d26bc5b5a27345b7bc551d989dbbb5dabf6af34473d30a2269c0c97bd5a5f4d2f9a26a98d667588b479eb78dfd4f00d9ac46976b76d36af1b9f4f53538c4ca5a2d9b44952d5cd306a49095264a82d29099b32b26d44d594bb828049c81b9e9d28fb533333f75317ded14ebaed5555db495abed551ca98b47aeb54f9ccda3fa68a78b3d8df5283fa4fff004cd80f00f0a9e09e6784ac4f0a9eaaf450d2e1782e33472565734ffaf56cfc3a75299f4a96935949fea4b13e44e391608194ea9adad39e3bf134cc72eccded3e13a78c6f169b4b58aa268c93b4ceb6ded96a8d279eba70e778d1821e0e76eaab1a9b32be4ecdc9c3f68368b01dacc7b16915b54baca0acc229a8a54cc3a8a42e8d299f226ab0fca99cb9d288973560ca2dd2e9c2ae8a6b89b6947596d359eb29ae9bd5ae934e7de2f78a69a6dc639eb89aa8b78531e1d9ab3691f388e156b7961314f04de10f68a8f6830dc526eccd152a763f693657666753d4d5cd5ce5e2f554d3e9eaab12ba540923253252b44b2bca5c82bccc8741e913d1e8a74bcd35747abcfa8cd7d7866be9a4dbd35d6f7af5eecd589333c7f893a69f662f7d75f06cb4fe0db6857e10d1b5d8a61d8655d1e2353458bd44b46395f2ce1188d361270b5caa5a44d12646212b295659935524f4d44a2c98e6c9119a238cd569feaa629d63d37bede5aabab3453e1114cc78535cd71af1d67bb31a4c6faf67d1fc1becb4cd89d81d8fd939e9a34d660185d252620ba30d22654ca9494cf9a874cb27949999598a412ee6f1be3579aabc6dc3cb82b36cd54c71aaa9f8cccfe3ab768c820100804020100804020101a46d9e0159b57e0e76a76630f99224d7ed16015987514e9e5499299b5748b92854c284ad41214abb2496dd0b44cc5f6bc7ded703132571572979d6d37830c76b316c524e0349b3a367b6a28302c3f10a8a95cd9153842303a99b3d06829e553cc973df9579493364f253067753b0be799aaf3fcd8c5bef336c9d9f29c9bde7bf569cf8fa9b61e5a74be14e1e9a445e2a8cd1fe5ac71cb4c5e378b0d81dbba9da0548ad5ececad92a2a9da5a9a0ad953aaa66213ce3fcaaa589b4ca90893285319ea4a9a72f94b28646ca7931707acc2ae99ef55875d1e1daae9aa27e14ebca79dfb3d98b897c6a2b8da9ae8abfc30a689f8ccdfcbcb5c0c8f04db52bc5f64316c5f0ec1710954f85ecde1bb4383cac7710a4914737666be6d6d3565272540d5f9d5344ce46722484a90067505123d0c4c58ab1eaae34cd39bc62669b4d3ca635d27c666db438b03072746a30a77a29cbe131a6be13a6bbf08be9afd311cee82010080402010080402010080efe0ffed95dff000a9ffb536036180402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080c3e3dfcd73bf5e47f7c880f24db7fe77a6fe888fef26406c5b1ff00cc73ff00a6abfba44074e3a9ce4020100804020100804020100804020100804020100804020101d79e42578693a0c4b0e27f6d9314af65a9ddebbcea4797e83183639d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e830185c6aa649450b2fab50e6c7e066406279d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c075e92a64a6969815dc4a40363e4c07639d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf4180c860f53279d571cf632a40d0ee54d80d839d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0601cea4797e8300e7523cbf418073a91e5fa0c039d48f2fd0603138dcf94bc366a52a725725831f864407956dbff003bd37f4447f79320362d8ffe639ffd355fdd2203a71d4e72010080402010080402010080402010080402010080402010080ea55fff0081ff00d430ff00fde4a8a57b2d4eeda36a76a704d8bc0ebf69368ea66d1e0d8620ccaeaa954d5156a9681752ccaa597366e548ba884d85cda30e311ce6df16f14ccece863db75b39b355b85d16333311a638bae44aa4af461788cfa14aeaa70a7909a8af914f329698cc9aa091cb4c4dc8e3134c5eacbc7e1cf6e73a6d1aedce2f1ec66e1f1d23599b6f688d6fb5afca5c89db6d9e99b4b3764a44daeacc669949975bcdb0eaf9f474d355239ca65556212a42a8e9e6192cbc9366a54ca45ba68cd14ebfae5f7ffcf29266ce29db7bb2b2aa76a6865e233310c4362d348769b0da0a5aaafa9a635c0aa991c8524a9d3264c9890f925a54a662431109d28cfece6cbeb16bfc3345e768f49b23bd978dafe9afe53a6ff1862d7e15b621181516d173fc426d0e215751434b472b09c526e226aa90cc15325585cba655721523915f2815246401d4c215766de317f0b7399da22274999b5a749d742de9e7a6f178b5f7bc76a2dbd3da8d3573623e13f6230c9b81cb9d8bccaa46d0d3d3d661b5941455988528a4ab5a65d3d5545551c99d269644d52991367ad0855d8f454d79c398c49c39d2a89b4c4e9acde2235e33313111bcce90899b539b86b3fe369abe11317e5776e46dfeccd46d0d56ca89b8949c6e96554cf122a30ac4a9e5544ba352135068aa67532245672666a5c53ad7ac65155e99ab847c796dbcc78c472e70bcd331311cfe1798bc45f689b5f499e13ca58bc1fc2bec5e3871f97433f1a9753b334926bb18a0acc0b19a1aa45354aa6a24cc974d59472674ee51522604894951252444d5544533570856359b71fc9cd5de1476328303d97da25d6e235b866da4b44ed99f73f09c4f10a8aa97329f9d050a4a2a69d5281c8f48e7961b7b18b574cd35e49ef445fd22622ff198f8a2f16bf8dbd75d3fd33f064eb76e767b0ec770cd9dae56274d8863065a30fa85e15890a154c9c952e5c95623cdf99a26a820b4b5ce0a760ce43c46b565e3f7da334db9e979d2fa44f294ccda9cdc34f9cda3cb5d35e71ce15c1b6ef6736831cc5767f095e27515d82ae7cac42a558562526844da698254e952f119b4e8a39b310b5314cb9aa3adac5a30e73d39a36dbe731f7c4ea9c48c95659df4f9c4551f298966718fc552ff00c6ff00eb5c4a1e7bb4bb69b3db26ac3e4e3151566b31654c4e19865050d6627593f914e69ab974987c9a89e512c119d7932a5c390e222fad96cba5f87eb4f19f08e1133b433b8757d3e2b414988d209e9a6ad9699b2535122752ce0950702648a844b9b2d5c52b4823788998522580c336db67717c42970ba0ab9936b6b0e3029e59933500fb855a8c3b10e929200e4ea26a523ca174b8bc235f844fc764ce9f1b7caff736b80c61c670de525ca9753ce9732b0d02853217502554896669973cc90b121909b999945c077524146b6f1bfcaf7f9c4c79c5b7235bfd9b5fd6d6d3fba27ca736dab270080402010080402010080407148fc4c9fd44fd901c332b644aaca5a0589dce2b25cd9924a64cd54acb27205e79c9499683f841942940aaf95d8b136d2fe36fbff2df6db9c317b41b4d846cc51566218c4ca891474141598955d44ba69f3908a6a040993ca95290a48504aba282732ef94162cfd7cedf8a628998f5b7df3b6fc37f28de61d9c431bc3b0c99834aac9aa42f1eab4d0e180216acf3d52665404ab283906492a2eab6ed4c3dacbc75f944cfdd0ad319a89aa368b4fc66298f9d50cb402010080402010080402010080c9e11f8eabfd495f6cc80cec020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804063f14ff635febcafef5301e79b6ffcef4dfd111fde4c80d8b63ff98e7ff4d57f74880e9c7539c8040201008040201008040201008040201008040201008040203a957ffe07ff0050c3ff00f792a295ecb53bade1768b19c57c196dce09b3d81d56d0e33b4183d761987e1d4d36924ab94ada75c84ad532b67d34a08415bafa6eda051b473ded31e71f29bbaf02a8a6b8aa7834bf08d87ed3ed6506c551619b1bb4d4d8949acc2713350bafc2e5e1743329eb64ce9b271aa64d7cce77c92251504c9953866632d69532d3a53ff5a2ad2d131beb16d6f6fb56eecf0ab2cde6225cf116e8f34f19898d37bc4766fb762a9ef45f5a3344d3ada7094db0fb6787784fc4b10c2e463f474d8aed14fc62a769bdd70bc09585cfc18527325e0c6a92f549ac9685bf353619b970fc98c70e26288a634b4577beb7cd5d75d39759b5b345fbb7cb56937d74ab2669aa62f7c96b69698c91567e77a69aa23bdbd3a7673461f67f617c2e78309fe12315c14619b7d8856ecfe0f4fb3ca9547270d9b8962e9acc426d5d655f38c4f219885562aa2792a9627670941464bf44d54c7478c3a74fe279e5a32e1d3355e7bd3d9d2f37cd4ccd5339ef158899c4cd54dfb33bf1ab59a69beb96386d314d33111ddb360c3301da0d9ba5d8dda7c2f60f69b14c430b563b2b68f01aeabc13ddaaba9c69726a26e26b992ebfdce65cfa7bcb44f4e442fa08010111cf5d169eced92aa63c266aa6aed79da66662f379db7b5e9aa66898ab7cf4d533ce29a2aa3b3bed9a22226da53bed7f3dc4fc146dfd0d3783ac36461588623886ca6cd6cf61f8662d84575249c325e27415667d74ac7a455cfa69b5b870c924c84a254c52409a52944c29277a69a3aebdf4cd45e6623b5451c6dacc626b54c4f0ab24c4c5aa957a557562d354c6933d64c46ba55893136fe8d222a8e34de262747b26012b6b315f0a18c635b5db158cd0d160a2b30fd81c4f9ce12bc2e5502f92e56a548935abad555d72e56b329c265cb4a5032a8cd54ccb0bbb354f7e6ff0cda531e768aa6f6d74e11762f7a237a749f5cbaccedb5e688b5f9fb5a677646831fc1766f1dda6c7305abafdb5da59f3f13c5301a69d4aa9e81f8ba1c3244c9b3e5d28e6d4c8972df964cb54ccf31dd64c56b8fe0c531bdb5feaabbdcaf11dd89df2534c6b64da2716a9e1b47f4d37cbfe5ad531c2aae783ca55b2bb55fc89f83ac1fc48daba3f091b27854aa0c11786e2d87524cc2b13a7a1e6a8aca99d2f1214f3e8d6b482a97f87cc83d3904ba634c7aa6ac5cd46954c4c5e768bcd3a551c7689d2276de2568c954ce7be5cf7b477b5cdad3ca6d54c6f1acf26e7b6383ed5633b5de0e4d1e098daea766abe8eb713da3e79469d9c549e4e64bae4cec3d557ce6654645ab9ba852f426142b3e50a8b61e4ebe6ab7663346bbeb4ce5cbbda734c4553d99c99e9bda6d5677aba8cb369aa72fc62a899bf8697b6badb69d69edecde058d61be13718abc2304c77677632aa46233768518962126aa8b11c5aa2aa44ca6abc2a9535756ba54e41526774240515a5d0a55d39e07670e69da2fa73dea9ab5f766f7b4fa65d6f6c69cd5df79d2f3c2d14c4445b9c6917fb33ace8f4fc63f154bff1bffad71287896d6526d0e13b71b3db6d83eccd4ed7d153e138860f89e17433a8e4d7c83553e9aa655448e7f3e9242e5934c513472a15d4201631387565cf1ef65f4c99fefcff002f1d15539ad37eedf4e79adf38cba784d5eba0ed76ca6d36d2ed2271c5ec3564ec4714a2c1c6c963536b2804cd92a9a7a99936bccc22a4aa5aa62148cc68b96e5b2f2533f06012c3eccc73eb22a99e745a8bd1cf8571b5bb7bf2cf1626aa6ab71a2aa622d1a57dab57ae9c699e74e5bc6ba3158af836dbdaaa2ab9386537b9f57329bc20225d40a992927ddbda4a5c428a505052b29aba494be931087e9b1b44d56cb1e1d55e37bc5337ae35d274d2d3a4ded7b3ab12a8ab35a759da794f5534c4f3d2ab6daf27123c1e55d3615b2499fe0e319da7d8fc3ebf189b89f82caff172599336b44b551d449a393568c24c8a65226a512f95cc9e573b661117b574cef314cda7798ab3de37fb37a6263bb4da88d266d8534e955bb37ae99b70988a32cc45b9d56aa62ab44d59aadf2df65c2b60b12c371fc426e13b1e8d9fe73b6feee5763524d0a115947518554a04c2254de556a9153372ad13103a4acc9cc1d5194d35757874c4f76717fd5d6659f84d11ce32db68830a222ac5998ef461dbfb670b3478776b9e5adef799868786782ddad99842709f142a767a7fb9387e1db7d88a6ba925ab69f134e2d413aa317973e8ea8cf251224552f96a8e4a79e58001c30e8aa689a7b31689c4c298a6f7c94d33567f0d62698bc6b5e5ed4776fa455fc49aa75ab262c66e77a7b116f3da274a368d265f43783fd981b2545b4184d3e192707c20e35575180e1d2320912e927096a1c94b9672ca49999ce561772d78ce999eae989de337ff0052b9a7e144d36e5168e166369eb6bab84cc7ff004e889ff544df9cde78ddbec172010080402010080406a9b5980cdda7d8fc5f02a7aa3415b5f4446198880e69ab1004ca5a8038c99c942c77456a998ed53acd331311c26699bc44f84ed3e0be1e5bdaabe59bc4db49cb3169b4f09b4e92f17f1236c714c3938a6d26158848c5f6ab09da69bb678760f5d4c2a696ab1293454f4347473a7cd4483364d2d2894998fc9e74952880abc571ac446b4c533bdb79c4a6bd636988ed46bbd31695e9c4ecebde8ae9e7dda68c4a74e59aa98aadc26af0bb0b3b60b6e2b7c1ecbc1646c8d1e093d1b33b6d85d2e03469c3f0f405e2465a70a13a9e92a26524b9f509495cd329665a56545d2ed138d7aab899ed762d3bdaf9e89b45f5eec4f96d133a5edd16aa68b6bb62d1379ded145713336fb531e33169b46b1192d9cd81c764633458a611b1b51b09808c6f0daa3b2f533e8664c953a9b0cc469eb7155f34aaaa94a5554ca9a741026198b32f9458751317c7bd514c46f9f126feed356165a62dc2d5de6d4de3b57e76e6e8f4d3451545bd8c38fea9a7169aa7fd3ed4f6a6d6e14b3be03762318d8e938ba31ec3717a1c667d2e1f4f8dd74f5e1670fc52ba9b97e7189d37319aba99b36a5531e6ceac9689ab4f260b9496b5e325a348bedc63488f2e1eb379b2712f3897bdf7d7d74ff8da3687bf4502010080402010080402010193c23f1d57fa92bed99019d80402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080c7e29fec6bfd795fdea603cf36dff009de9bfa223fbc9901b16c7ff0031cffe9aafee9101d38ea739008040201008040201008040201008040201008040201008040752aefcc00b938861ec3ffce4a8a57b2d4eef4ce4a6fc1afcc6306c72537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc603118c4a99c952fe0d579f6b1f835c061b929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c071489530c89244b51050962c784072f2537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c064f08953397ac1c9a9f249b31e332033bc94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c03929bf06bf318072537e0d7e6300e4a6fc1afcc601c94df835f98c063b159731344b250a033c9b91fa54c079cedbff003bd37f4447f79320362d8ffe639ffd355fdd2203a71d4e72010080402010080402010080402010080402010080402010080e09df8dc33ff52c37ff007b26295ecb53bbd3f1ac7704d9bc3a762fb458ce1f80e134cdce314afa8954b4f2f31ca9cf36729284b92c1cc61c6238ce91e33c9bd98fc4f6cf63f05c570bc0718dabc0f09c731cca304c1aaeba9e455d6675644f369131699935d561901bc4d319a6698d6637f9fe53f09e4accda9cd3dde7c3f5ac7c5c93b6bb6529b6829b64ea369f06a7daaad472b47b3532b6427109b2f2ad79e5d215f2ca4e594b2e13a255c0c446bb70fd7e31f14ce9bb9711da7d9ac22562d3f16da1c2b0b9380ca953f1c9d5557264a68a54f712a654998a489299994e52b605ad11354445e76bdbd74d3cf58d3c639a622f368ded7f4d75f2d27e12c64ff085b034db3b4db5f53b71b394fb2758be4e936a26625489c3a6aca8a4265d5999c8a8e6490c15b8c4d5d998a67499dbc78e9e9aa29ed5e635b6fe1c1dbc5b6cb64301adc1b0dc776ab04c1711da35f25b3d415b5d4f4f3abd6549464a497356954e39a6243201b91c6262999ab2c6fc917d2fc1c749b6fb175f8be2bb3f43b5f80d6e3d81217331bc124d7d34caba344b60b554d3a56664a0970e56034522a89a26bf66379e11bef3e93f095a62d5453ed4ed1c65d0c23c26f837da0a6c56b701f083b2d8dd1e03284fc72ae8716a2a9954725599a654ae54d50949390dd6c2c626a9b45e76446b36e2ece2be10360f02c230cda0c736db67706c071b083836375b8952d3d2558988e55069ea26cc4cb9b991d21949717d226a8cb5659d279712358bc6cec4cdb5d8d958f51ecacddadc0e56d46232c4ec3f66d55f4c2be7ca5254b13255295f2ab494a145c27404ee8445e662378dfc3cf96f070cdc24a0db5d8dc571eafd96c2f6b702c4b69f0a4a978a6ce5357d34eafa64a1494accea542ccd9612a5a41cc917238c28edd39a9d6234bf8fea27e0551966d3a7eaff0073b78df5283fa4ff00f4cd80d766e258748aea3c327d7d2c9c4b1144d9987e1eb9a84cf9e891979654a944e658979d39881670fac235385fd3d77fc27e051e25876226ac61f5f4b5c70f9eba5af1226a26f21512c02b933721392624283a4dc3c2358bf09fc26d3f3898f3838db8ff00b5fee9bf915f88d061521155895648a1a7993a453227ce58424ceaa9c8a7a79609f7d366cc4a1237920409d16afc42870ba49d5f8955caa1a2a600d455ce5044b40259d4a36173117dbc66223ce66d11e733368f144cda2667688999f0888bccfa43b71296bf276b7656a71ea9d96a6da6c1ea369e8d25757b392eb242abe524250b2a994a17caa404cd41ba7450e222226fb13a6ed8224201008040201008040203ad47fec74bff00091fd9101132ba8a5565361f36b244bafad44d9b4742a98913a6cb91904d5cb964e65265f288cc40b660fa88272cdafc2f6f5d66df089f84f274f14c7b03c0d13266338bd0e168954b535d30d4cf9729a968d295554f6590793921692b568970fac45ff5f232cdafc2f6f5d66df0899f49e4ecd562587d12a811575b229978a4f14d86a662c24cf9e65ae68972dfacac92d4a61b8189e36446b19a368fc66223e7311e72eec02010080402010080402010080efe0ffed95dff000a9ffb536036180402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080c3e3dfcd73bf5e47f7c880f24db7fe77a6fe888fef26406c5b1ff00cc73ff00a6abfba44074e3a9ce4020100804020100804020100804020100804020100804020101c13bf1b867fea586ff00ef64c52bd96a77777c398e53c10f845a39785e218cd6e2981623438561d87d054e255132aeae96648a70891492a74cbad61d79593aa88178e7cd6aa9fea8f94dff005f076f46988ae26768695e157129fb4183ec3e1d80c8da99d595f8860589a366fc5cc4b9a6212646254f3f91c52b66d223dcbe4392334f293a52d2dd242c7e0d5a445f1e38c44c4ef68889f6a278cd3decbc6622998ed396899a3a34eb699a6aa79ccce5b4d16b4da312f9335b4899aa2a8cb78c1e1b236ef02f0b5b45230ca9da05f8c9b553b10afc22760f2fc5e9b82ab67e5499358ac69348a5f2f2eae9a54912f9d8581d1e40a1a61cb0a6aeae298d662312f7f6666baeaa2da466bc4d113deb44ceb1974d2aa68cf354de3b96b6b9bb94d513be5b46798eeeb113799ae6275bd93a6f097e0af16f0c3b53b4db0b2b6a313abc0700ad9f51814cc4b1256398f73bc412a329070e1352897caa02d12c4ce6b4e89212162c9e8bc51d129a29fe6cdafbeb4e14555d56e17ed766359cf111196226969ab1734dbb93336d3bb7cb4537b45edd98bcde7b3354ccd532d8308934fb394fb0db635941b4db49860abda8a8da95a36631893529c6b1d5a27f2f27015d32aba4d35a7d3cb5f26a212b19d6aceb98796ba32ce58d699c2aa98f199c4a6ab4f08bdaa9ed5a98d22fddbebd64e2537abbfd65155f9534e1574697d66d1344766f33acf09b79ae21b31b7781e1de0cf085e198ed0e29846c66ca505460747854fc56871f9f495c6654e07895752ca9f2b0c4d08968cb53cacb4ab955152a64b414c74e5cdd26f5559a66bc3cd3adbb179eba2ad2f3154cd714f1cb1134ce7888a74baf3e1d53445a9fe34d31a6d896fe1dbed531144cf0de269cb32f78c0b163b59e182beab14c176870297b0a8c4f09d92a69d80e292296b8549a7562189cdc5a6532689689ab9225d3499736e02a6ab395a132b1c2eecd7c66262dca9cdf39aad13a6d4f8e64e2cd513187ecde2af3ab24db6da298aaaa75b76afca9be67632472382ed4f84ada9c0eb29713dac2a9eac1861b3e7d75260b44a989c2e8398c992baa54c12d4aa8992b2294274e9805800298916c1b71aa2f3fd554469c7b916a397666bd334997f8d3ca3b31e54def3fdf37aa38e59a69d6d0f21948ada4f011e07f14a095b65816dfec560b2a9b6730695b315b55326e2f230ce69328312a2a8a098b934b396932cce2a9018e644f4839a36e915cf5f9e8d6aaa998b4e913135513acfb3ad34f1f1b4c27261e25539f4a231335ed798efc6688f6bb354e969e5bbd0b6f6ab19c4b6c3c16e1f47271ba8afc3b16c3ebf1fd97460f54ac1572952e6a6755ccc74537212a650e633512f9cf4d484cb28fc2021874513d22fecd39ed33a5a7abaa22636cd9afd5cf7a222baa6d7a6f4d37e8fda8ed4e4ffbe99b7945b370da37bdaaed6c726bf08f0a1b4181e03331fc4363ab862f8a6d21c5b085d153e1d8c4fad90b952b0baf5d25273d955426d4ad402e7e5c896989040567d1ad18734f089d26749d6aaa6a8b718bce93f3aafa5fa4557c4cded4e5bf2b5344444df9da298b79e91312f5cc6fa941fd27ff00a66c5957cd1e18b67f68eaf69f61f6c764b009d8eed2783ea4c4f11c16984c32654f5cda9c3a9eaa855349129332aa8175225e7f7c1f71845538715551acf669b5ed78ab3efe145592b9fe9f16b1115d1926ab45efeb4eb1f1d69feef079560db2d8f6c5af18c1f68e5ed9a3636b368714aec7b14d99958c8c42bb18acc23079f2ead2708cd5bcd66d62b107c9f82130210bb068dba4cc65c2eaefd9c3ae29bf38c6af2e6e17c969ed7666f333ecb3a22f9aad226aae99aa3c268d623c22acb1d9ed7a6672e31236e71556c5d1edcd16dc556d7534df07d5145230d9388ab052b9588524ec767625ee6a7dcd3365cc44c2b150e1094cb5496e9189c3b7d62a9d3bf57964eae2d6cdf6e6ab7b7cf4b23126d4697cb344ff00566bd7bf1ee64bdf4ef5b5bbbf22836fabc784aa7c6ebb68eb315a89788a2a765e661b8c4ca298d8ca1585cfa0ac9a578634ba064f274412a585669e394429b2c2ee61ff00ea74799e74cc55138bbeb34cceb7eed314e968a9974bd69c488e3878b6f189a2d4fafcef331ad9e99e1155522a302fc26db0d8a38cd6276e7dc44e33ee885f337a2e40e1c9f74398f2c066e676cece7272919513178bed96ab6fdfcf1bdbecf59973766d96dbd0d66749cbbe6a6ffd393d9e17bf577b7dbf6ae6253ea316f0adb01ee749c7f12a0c05556ac4b0faec1eae92870fe5b0b98118a4ac527d3c913ea0f2a294c9e5a67e3564a02a5129d30a6a8c5ae6fa4d131feba26d1cef96fe9131311a554aff00e9d36e713c75eccefe57e3c785f6f77885c80402010080402010080d3b6a6871ac4b62314a5d9aad561fb4668394c02a82d4802b64a44da7130a6e65aa621299837a491be2b55597b56be5989b7bd11379a7fba34f55f0e22a9cb339626f17de69bc5b345f8d3bc78c3c5397f0838d61d2f682b276d4ec71dafc1f6a2bd54a9a2a9aea8c03349a1a7c225f3190952cd4a254a54fe413d233553426f0afb35453bc649bcebacce2535444da6f16a6724cc4c691354597a6a89a2f6daba62da5ed187899bce26bd6266fa4d113c9ade268db3c6fc17cca0a7d9eda5968a9d92dbda39b87d41c66ba7d64ff00c1cac3a6abdd707104aaac675d3c9a8e9a41c81c2618d339e2fa464e16d273d16d634cd96f3cf7beb769d0ed4db58998c5a35daf192bbe93b4455689e17da66262672780d1ed05663983cfc211b63896c7d26d16195187ccda79189a2ba5568c2314462734a312952aa255195ae9427a22509856258096116c7f6663bd9f16dcb2753d8f1efe78edf6b6e195c9d16229c2ae9999ff00a7877f1aa31a999b78e58899cbd9b469ae76d1e0193b5e24e30bdb2c631fa9c69749877bbf83629418b49934d8c0e5fdd09d47598895d34f953959009787ab9b202029094f297bda9c9d9dafbcefb46f1bff00bccc42712fd67c76db7d2de9ebef6afa162810080402010080402010080efe0ffed95dff000a9ffb536036180402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080c3e3dfcd73bf5e47f7c880f24db7fe77a6fe888fef26406c5b1ff00cc73ff00a6abfba44074e3a9ce4020100804020100804020100804020100804020100804020101c13bf1b867fea586ff00ef64c52bd96a777b2460d880402010080402010080406131bea507f49ffe99b018a804020100804020100804020100804020101d6a3ff63a5ff848fec880ecc020100804020100804020100804020101dfc1ff00db2bbfe153ff006a6c06c30080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010080402010187c7bf9ae77ebc8fef9101e49b6ffcef4dfd111fde4c80d8b63ff98e7ff4d57f74880e9c7539c8040201008040201008040201008040201008040201008040203a957ffe07ff0050c3ff00f792a295ecb53bbd22306c40201008040201008040203118c7e2a97fe37ff5ae030d0080a09b2d44253312a51ccc011ef0b2bcc6c602f00804020100804020100804020101c527f112bf513f640565d5534e952e749a895364cd2d2a6a16149517660458dc4073c020100804020100804020100804020327847e3aaff5257db32033b008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201018fc53fd8d7faf2bfbd4c068db6d49506b692b132d4a906409456058292a51bfd280d87662927d2e07f8796659a8a954d42486394a1291fd980c547539c8040201008040201008040201008040201008040201008040203a957ffe07ff0050c3ff00f792a295ecb53bb01fe90e76747815f0907696661f2a8fdc4afe626b96844b35dcdd7ccc23942019a67e5e4c6b999af1cf788ae899f7a2df1fcaeede8ddfd76e3e5e2f3ef0c7886c2e288f06f8c50e23b118aed1ccc4301abc0af4f3f68aba83dd3a75a7c5da942973139d41598a50a42919812804ad3ae1c4c748d2fbc5edbda6f69abec46b357d8cf67244cfd535b5b2d56cdddbc53da88bdbf89b451ade3132693b311495cba1f0e78bceada6d92c7f6a2ab6966d361782d4d0a95b534783a767c4c915d455d36a1a450f2a95ca225d3f24553579a689aa5a630c1aa630f48bd56c4bdb498b575e5cf3af7a98a223bbbd1369e3ad7444d537aad1d8b5fdabe589c9b77666aae779ecd5c2d3180c1b6855b3d887871c6bc37ec8572282a367767314dacc37159f85d7d0aea6655e232a461d4884554d93cdc9e4e449e5024132d5327e52bccadeaa298e894d336aa7ae98bce99aa9a7075fb39675d67b34cd3ace5aad5a66a9c6cd698fe1cdedada8a73708bccccc66bdbbd566b445e21ddc3e93c1c51ecc6c00dafc5f62b12f051575bb4b595f4d4f534b53b2987e295730545061b2a6a9a42c524a5d4cb94549483303a508572684f3e2c4e688aa6f31875659e33567a6d938de233534dbb59227ed2f4551553334c5aaeb28bc46d14c61d5139eda6b54515557d26baa27798689b495353c9781f9bb5630a56d1e09b25b2d533b0dda60f8e574e9b5e0cd46cccca83cacac6502980aab294b2b929390b2e3aa22b9e95af7a6ba2262998d262f354e9131d55eaeddb4ab0e9af58b45e9d2eaa7aaabab8fe1c75d31a6f44e5cb1fd7963b1eed531a4ddeddb3355e0d3697c396d14ed9b99b2784629b392715c276a28642e9118d6d0d6d42a9d75932ae9d0d3974943c9e40b9a145530af2e4421e77360d3138557f2e627b3c3bdad75473bde239c5533ed42f8d54c574d33de8989bcefdc9b534cf2cb3154db4bd34c6f4cdbb3e0e764bc19516ceede7841f17366b64762f6d65f252e951269e830e3b3d8719a8a6a9ab032493cf0cc9b5056a03f04b972d5d48ae2dba8d7db88abfca3b14f0d622d78df3cd5acc591967af9b7b37a7e1df9f8de3965a62ad2f2f2faf5ec5e27fe8efe04b692b718d84c5e9b64705a75d0ecb6d0a24d7516355b4f84f379b8553a44f4e5ad0a4a90869739485ffe528da37e955ffe226befccd354453ed4deaa26f4f8de9b7f75af174c61c577a6272d3189bded4c77e2337d9b559bd225e8db7d3765bf94af04d59494db232f6c3dd1c39388e052e5c84ed8a2927c99f2e5991352ae553454f9caea505194ca4cc650362c2a2fd266d3b67bcc6d7eae7fea6f7898b6589b7f1270a6fa5a697bf45d6263b96ff3a748f1deff00673469acc603c13d5f23e14714955fe28e2bb5d8962bb589da042280a76b30ba4938a4c3874cafae554cd5aa8a7d2a69d1225f212d19392c8a5017614c648888ff00cb899aa2f6cf7a22aa2abfb533354ef1dcab2c4d36cae9557f135df34447f4e4aa62a8f08d227c6bd6734ebf53e31f8aa5ff008dff00d6b8aa5f34f8503b19e3e6c68f0a5ee67881ee5e29ccfddce4bdc4f76795a5e4b9d739ff0057e5f9b72dcdf94fd265bc30f2debbdafd9cbfebcf6fff00cfc6de175aa9af2c65eede735bd325fecf7af7d3365e366bb8e6dca306c568f0ed8dda9c3700c06870dc126f834d90a2a7a35d2ed322b6a664a9f269de5aa6cc9726521099628968e4b3729333cb294c4e1de662face78a6dcb0ed476f9e99aadf4fe1f9b0c59cb4d59785154c4de22f8919bb1f18a7c673da3569f3316c5f6754ac6f67a904fc630ea7f0ad328c64cf91f6c28b949c50028a84b4bcc2002eda1d22662d44708fe0c4ce916a6aabb5379d22d179bce9c67475e2d1deb46b1378f19ea666234d7b555a3c5b227c20e329c2b64a5e37e16307c2365f16afc665d47856a0abc1ab41e6825af0fa19d59328d185cb9f392b9a564530fc5654f48bc47b74df4ecccdb68aa62bb71999eeef69899aaf316a6998614ded55b5edd31e34d3345e666db76f4899d32cd37ed550c8e198b562368eae967ed4ccdafac93e10ccb9184578a29b330ba59d835554d30a60892899213353642cea87cbaacab2cd5538787a6b7c68f1bd3d6da3e1113e555bb9962183ace3f6b4b61795a67035f2bcceda66a6fdfcd33ab619e1436cebb084ab0bdb6a6c631dc5309c3eab69a9d54947353b258dd5e2d4145ee5ae9e9d32660196aaa13c8d5accefc01fc26add15d1114e937a7acc2a69aad6cf15cd59fc3488a74b5e9cfdabde1a46b893c2d462ce5e5d5d37a66ff7f0abd988889bfd0de0feaf199b45b41418de313b1fa9c0b1aaba0918b4f954f267cd92812e64be5534b2e4c9cc9e532ba25a6c03ddc9ce99cd874d5c6737fa712ba23e314c5fc6f6b468c734f5b5c70898b7ae1d157df54dbc2dbeedf60b900804020100804020343f08b266547833db6932aa6651cc99b3f8804d4cb082a4ff00aa2f41312b4f9c4678d466a6dfafd4baba0ffd7a3faa3ef78dd4519c336ae9b668725532b0856c1aa5e2fcce8e9eaa72e6d662e15ca9a493225108e4c14a4202524a881d231d95d39babaafaf5b8f1ff00fcbbf9cde6f3e9b43ccae223a3dbc30b4ffdfa6dfaf0695336f76cb03d97d9aa2a3f09d4c674c9fb4a9c4f6c768eaf0ca6932b18c3aae54ba2c12bea1748a972d0b44c993264a64542929fc14c4252d1860f6a30bc70f0e6dc6abc466f39a7bbcefdebce696b851a6271fe2d71fd317ab2ff0096931ecc44f662226888fa1f62ebf68717dabf08d3b12c726cdc2300c5d184e0b80a2453a2421070bc3ab553cce12f9798be52a1607e132b1b82588d670f2e1d33bcd779f2cb898945bd6dafa5adacd56bde7d23e33113ff001ff16f4e8c562010080402010080402010080c9e11f8eabfd495f6cc80cec020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804020100804063f14ff635febcafef53019da6d2038f10ea27be03ce63a9ce4020100804020100804020100804020100804020100804020101d4abff00f03ffa861fff00bc9514af65a9dde9118361858b5c68600c1ddafc60100201d43c01816245c6860100808201670eda40183e660fc60258392d73a980c4631f8aa5ff008dff00d6b80c3100d887100616b69a40202183335b8404c02010080402010080402010080e291f8993fa89fb2039600c384020100804020100804020100804020327847e3aaff5257db32033b008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201008040201018fc53fd8d7faf2bfbd4c06769b480e3c43a89ef80d0b98e23f904dfa72bfcf1b7590cb249cc711fc826fd395fe787590649398e23f904dfa72bfcf0eb20c92a2a96b90a969550cc0672b2cb19a55ce52af2f824c3ac8324afcc711fc826fd395fe787590649398e23f904dfa72bfcf0eb20c92731c47f209bf4e57f9e1d641925434b5c262651a199ca2d2a52539a5689201f7ff9c21d6419257e6388fe4137e9caff003c3ac83249cc711fc826fd395fe787590649398e23f904dfa72bfcf0eb20c92a0a5ae33152850cce51094a949cd2b451207bff00cd30eb20c92bf31c47f209bf4e57f9e1d641924e6388fe4137e9caff003c3ac83249cc711fc826fd395fe787590649398e23f904dfa72bfcf0eb20c92731c47f209bf4e57f9e1d641924e6388fe4137e9caff3c3ac83249cc711fc826fd395fe787590649398e23f904dfa72bfcf0eb20c92731c47f209bf4e57f9e1d641924e6388fe4137e9caff003c3ac83249cc711fc826fd395fe787590649398e23f904dfa72bfcf0eb20c92e29986e24b5521e60b69157493e602b957448a844d501d3d4a505a2b557784c52defdd347c4d55fd5bd7466d0f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d018fc42a15569a612b08a84f25373af3737b8c8b4ee9a77a840745a67c513bfabfac8034cf8a277f57f5900699f144efeafeb200d33e289dfd5fd6401a67c513bfabfac8034cf8a277f57f5900699f144efeafeb200d33e289dfd5fd6401a67c513bfabfac8034cf8a277f57f5900699f144efeafeb200d33e289dfd5fd6401a67c513bfabfac8034cf8a277f57f5900699f144efeafeb200d33e289dfd5fd6407148973a5c9932d7854d2b4212951791a81ff00120395a67c513bfabfac8034cf8a277f57f5900699f144efeafeb200d33e289dfd5fd6401a67c513bfabfac8034cf8a277f57f5900699f144efeafeb200d33e289dfd5fd6401a67c513bfabfac8034cf8a277f57f5900699f144efeafeb200d33e289dfd5fd6401a67c513bfabfac8034cf8a277f57f5900699f144efeafeb203b5413974b3aa664cc22a0a26a25a500737d5056ff00f9a3ca10194f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d00f74d1f13557f56f5d014998bc99490a5e0f5490549482d4daad4129ff00cde2602fee9a3e26aafeadeba03a388d52aae917224e1152898a54b21479b81d198951d269dc2039a5621365eb85d5f9e9fd6c052aebe6ce4809c32ac31de69fd6c06bdb678d556ceec7ed66d051224cdadc0b09aeafa4973828ca54da5a75ce40981252a292a4dd88ef80f17c0319ff00492da2c0b05da0a21e0aa551e3b454d5f492a7271a13532aaa5267204c092a48500abb123b60352f007e1fb6c7c29ed8625b3fb438760747454784ceaf9532824d44b9a66cba8a7920133aa27272e59c7770bc07d5b547f0f86ff4857f713603a5b4589e238460988e278560d3768abe8a5f292305933132a6d43119932d4a0466cae40de6dbe03cf2b3c2563d8b60b81e3de0bf6247843a2c4b974e2a8562b4b844dc3a6c9e4c0913e5d52544cc254a0a48eae5de140c06cfb178f6d9e3722b97b63b0a361a7485a050c8f7529b13e70920e6566a64a4232960c7580da567ff0011a5fe8f3ffb726031db4fb49876c96cfe2fb4b8ba969c3b05a75d4548960198a091644b04a415acb252e45ceb01e3727c2c6dde12367b1ddb8f07d2301d8cda6a9a7a6975d4f5fce2b30c35672d32f109265a0645923314919378ccc921f416680e920ffe2355fd1e47f6e7407773403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334033403340334074abcfe011fd229bfbf4407436971ca6d9dc0b13c66aeba830e974728f27575f3790a54ce59e4e409d340252954d5252480f780fcea57856f0e7b71369319c3a46255b4de0eeaa7546d2d460351369e8ab2472c99c9953d34eae4e6252894a482333a0b906e487d47fe8f9e16719f08f87e31e3462581ab17e7136a30ac268e601572e882c255cb5387cb2e5ad6942144e657bedc541f469540689e11e9aaabfc1e6de50d153cdacadacc0314934949250a99366cd99473128972d09054a52945801ac078d6c6785aadd9dd8fd94d9fadf03de1526d660584d0d055cd93b3ea329536969d12565055392a292536703ba03c5ff00d14f62f6c766fc21e335db43b278e603453700a8932aaebe82a69652a6aab29142585ce42525452925bb0c07dc8ac5f0da9c63dc7a7ad953b13c297266e254692eb928aa9351c815f0cfc92881ab5f42202fb45578dd260988d46cde1b2717c7512fff000cc3e74e12252e69200e5261d1297cc78b30bc0782625b0db41b37b3b88e192b608785fc4fc22cd9b57e12eac631270295cba0cb54944842b29e4dd4a09c8cae8babac000dafc0c6cc78af438ecafe4b0782ee773a4ab9a0c73ddbe77952a19f3e75f2591d9b7bc07af2cffafd37fc09ff00db95018eda7d9fc3b6b767f17d9ac5d2b561d8d53ae9ea8cb213312142cb9648500b416525c10e34301f36ed3f82af0d788eced2e0f376f305da7a0d92994d598160f3a8954f33175d0ad2a9323109b9c04f452c1964294d9d43f1890f7fd85dab9fb63b37458dd5e05886cdd72d5324e2383574a5ca9b22a2428cb9a94e74a73a3383954dde0170036441ff005fa9ff008123fb73603b99a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a019a03a75c7f028ff008f4ffdf220303b6fb3941b5fb2b8cecf62787fbad4b5d282bdcde5d74a274d90b4cf92833d1d2960cd96973f6c07e7460d887863f043206cad2e194bb372fc28d64ea7c370cac0664da69a262690cc96ace4a3f1890952f366002b8121f487fa32f82fc436324e398bed3eca2f02da69532761923125d4ad46ae90cc44c99feaee658489925392627ae34b5d41f58154070bc01e0307b4f5b5387ecded0d7d1cce46ae870eab9f4b3582b2cc97254b42994082c46f101f1bff00a24e215d8b627e10f13c4aae6d76215d57854eacac9aa2a993262e56244a944c07dc8f007803c075167fd7a9ff00e0cefed4a80edbc01e00e603a883febd53ff00064ff6a6c076de00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e00f007803c01e03a95a7f028ff8d23fbe44076de027311a1d6021e03e61ff004b0f089b63e0d3c1de0d8eec4e31ee2e2b578fd3d15455737a7a9cd4eba3ab9aa464a9973501d72925c07b407fffd9}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 At the time of writing, the project is currently available on {\field{\*\fldinst{HYPERLINK "https://github.com/spect88/backbone-devtools"}}{\fldrslt{\ul
+GitHub
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Conclusions\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this section we reviewed Backbone Boilerplate and learned how to use the {\f1 bbb} tool to help us scaffold out our application.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you would like to learn more about how this project helps structure your app, BBB includes some built-in boilerplate sample apps that can be easily generated for review.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 These include a boilerplate tutorial project ({\f1 bbb init:tutorial}) and an implementation of my {\field{\*\fldinst{HYPERLINK "http://todomvc"}}{\fldrslt{\ul
+TodoMVC
+}}}
+ project ({\f1 bbb init:todomvc}). I recommend checking these out as they\u8217'll provide you with a more complete picture of how Backbone Boilerplate, its templates, and so on fit into the overall setup for a web app.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For more about Grunt-BBB, remember to take a look at the official project {\field{\*\fldinst{HYPERLINK "https://github.com/backbone-boilerplate/grunt-bbb"}}{\fldrslt{\ul
+repository
+}}}
+. There is also a related {\field{\*\fldinst{HYPERLINK "https://dl.dropbox.com/u/79007/talks/Modern_Web_Applications/slides/index.html"}}{\fldrslt{\ul
+slide-deck
+}}}
+ available for those interested in reading more.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Unit Testing\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 One definition of unit testing is the process of taking the smallest piece of testable code in an application, isolating it from the remainder of your codebase, and determining if it behaves exactly as expected.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For an application to be considered \u8216'well-tested\u8217', each function should ideally have its own separate unit tests where it\u8217's tested against the different conditions you expect it to handle. All tests must pass before functionality is considered \u8216'complete\u8217'. This allows developers to both modify a unit of code and its dependencies with a level of confidence about whether these changes have caused any breakage.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A basic example of unit testing is where a developer asserts that passing specific values to a sum function results in the correct value being returned. For an example more relevant to this book, we may wish to assert that adding a new Todo item to a list correctly adds a Model of a specific type to a Todos Collection.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When building modern web-applications, it\u8217's typically considered best-practice to include automated unit testing as a part of your development process. In the following chapters we are going to look at three different solutions for unit testing your Backbone.js apps - Jasmine, QUnit and SinonJS.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Jasmine\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Behavior-Driven Development\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this section, we\u8217'll be taking a look at how to unit test Backbone applications using a popular JavaScript testing framework called {\field{\*\fldinst{HYPERLINK "http://pivotal.github.com/jasmine/"}}{\fldrslt{\ul
+Jasmine
+}}}
+ from Pivotal Labs.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Jasmine describes itself as a behavior-driven development (BDD) framework for testing JavaScript code. Before we jump into how the framework works, it\u8217's useful to understand exactly what {\field{\*\fldinst{HYPERLINK "http://en.wikipedia.org/wiki/Behavior_Driven_Development"}}{\fldrslt{\ul
+BDD
+}}}
+ is.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 BDD is a second-generation testing approach first described by {\field{\*\fldinst{HYPERLINK "http://dannorth.net/introducing-bdd/"}}{\fldrslt{\ul
+Dan North
+}}}
+ (the authority on BDD) which attempts to test the behavior of software. It\u8217's considered second-generation as it came out of merging ideas from Domain driven design (DDD) and lean software development. BDD helps teams deliver high-quality software by answering many of the more confusing questions early on in the agile process. Such questions commonly include those concerning documentation and testing.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you were to read a book on BDD, it\u8217's likely that it would be described as being \u8216'outside-in and pull-based\u8217'. The reason for this is that it borrows the idea of \u8216'pulling features\u8217' from Lean manufacturing which effectively ensures that the right software solutions are being written by a) focusing on the expected outputs of the system and b) ensuring these outputs are achieved.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 BDD recognizes that there are usually multiple stakeholders in a project and not a single amorphous user of the system. These different groups will be affected by the software being written in differing ways and will have varying opinions of what quality in the system means to them. It\u8217's for this reason that it\u8217's important to understand who the software will be bringing value to and exactly what in it will be valuable to them.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Finally, BDD relies on automation. Once you\u8217've defined the quality expected, your team will want to check on the functionality of the solution being built regularly and compare it to the results they expect. In order to facilitate this efficiently, the process has to be automated. BDD relies heavily on the automation of specification-testing and Jasmine is a tool which can assist with this.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 BDD helps both developers and non-technical stakeholders:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Better understand and represent the models of the problems being solved\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Explain supported test cases in a language that non-developers can read\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Focus on minimizing translation of the technical code being written and the domain language spoken by the business\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 What this means is that developers should be able to show Jasmine unit tests to a project stakeholder and (at a high level, thanks to a common vocabulary being used) they\u8217'll ideally be able to understand what the code supports.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Developers often implement BDD in unison with another testing paradigm known as {\field{\*\fldinst{HYPERLINK "http://en.wikipedia.org/wiki/Test-driven_development"}}{\fldrslt{\ul
+TDD
+}}}
+ (test-driven development). The main idea behind TDD is using the following development process:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 1.\tx360\tab Write unit tests which describe the functionality you would like your code to support\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 2.\tx360\tab Watch these tests fail (as the code to support them hasn\u8217't yet been written)\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 3.\tx360\tab Write code to make the tests pass\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 4.\tx360\tab Rinse, repeat, and refactor\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this chapter we\u8217're going to use BDD (with TDD) to write unit tests for a Backbone application.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\i Note:}} I\u8217've seen a lot of developers also opt for writing tests to validate behavior of their code after having written it. While this is fine, note that it can come with pitfalls such as only testing for behavior your code currently supports, rather than the behavior needed to fully solve the problem.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Suites, Specs, & Spies\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When using Jasmine, you\u8217'll be writing suites and specifications (specs). Suites basically describe scenarios while specs describe what can be done in these scenarios.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Each spec is a JavaScript function, described with a call to {\f1 it()} using a description string and a function. The description should describe the behaviour the particular unit of code should exhibit and, keeping in mind BDD, it should ideally be meaningful. Here\u8217's an example of a basic spec:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 it('should be incrementing in value', function()\{\line
+ var counter = 0;\line
+ counter++;\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 On its own, a spec isn\u8217't particularly useful until expectations are set about the behavior of the code. Expectations in specs are defined using the {\f1 expect()} function and an {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/wiki/Matchers"}}{\fldrslt{\ul
+expectation matcher
+}}}
+ (e.g., {\f1 toEqual()}, {\f1 toBeTruthy()}, {\f1 toContain()}). A revised example using an expectation matcher would look like:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 it('should be incrementing in value', function()\{\line
+ var counter = 0;\line
+ counter++;\line
+ expect(counter).toEqual(1);\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The above code passes our behavioral expectation as {\f1 counter} equals 1. Notice how easy it was to read the expectation on the last line (you probably grokked it without any explanation).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Specs are grouped into suites which we describe using Jasmine\u8217's {\f1 describe()} function, again passing a string as a description and a function as we did for {\f1 it()}. The name/description for your suite is typically that of the component or module you\u8217're testing.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Jasmine will use the description as the group name when it reports the results of the specs you\u8217've asked it to run. A simple suite containing our sample spec could look like:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('Stats', function()\{\line
+ it('can increment a number', function()\{\line
+ ...\line
+ \});\line
+\line
+ it('can subtract a number', function()\{\line
+ ...\line
+ \});\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Suites also share a functional scope, so it\u8217's possible to declare variables and functions inside a describe block which are accessible within specs:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('Stats', function()\{\line
+ var counter = 1;\line
+\line
+ it('can increment a number', function()\{\line
+ // the counter was = 1\line
+ counter = counter + 1;\line
+ expect(counter).toEqual(2);\line
+ \});\line
+\line
+ it('can subtract a number', function()\{\line
+ // the counter was = 2\line
+ counter = counter - 1;\line
+ expect(counter).toEqual(1);\line
+ \});\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\i Note:}} Suites are executed in the order in which they are described, which can be useful to know if you would prefer to see test results for specific parts of your application reported first.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Jasmine also supports {\b spies} - a way to mock, spy, and fake behavior in our unit tests. Spies replace the function they\u8217're spying on, allowing us to simulate behavior we would like to mock (i.e., test without using the actual implementation).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the example below, we\u8217're spying on the {\f1 setComplete} method of a dummy Todo function to test that arguments can be passed to it as expected.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todo = function()\{\line
+\};\line
+\line
+Todo.prototype.setComplete = function (arg)\{\line
+ return arg;\line
+\}\line
+\line
+describe('a simple spy', function()\{\line
+ it('should spy on an instance method of a Todo', function()\{\line
+ var myTodo = new Todo();\line
+ spyOn(myTodo, 'setComplete');\line
+ myTodo.setComplete('foo bar');\line
+\line
+ expect(myTodo.setComplete).toHaveBeenCalledWith('foo bar');\line
+\line
+ var myTodo2 = new Todo();\line
+ spyOn(myTodo2, 'setComplete');\line
+\line
+ expect(myTodo2.setComplete).not.toHaveBeenCalled();\line
+\line
+ \});\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You are more likely to use spies for testing {\field{\*\fldinst{HYPERLINK "http://en.wikipedia.org/wiki/Asynchronous_communication"}}{\fldrslt{\ul
+asynchronous
+}}}
+ behavior in your application such as AJAX requests. Jasmine supports:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Writing tests which can mock AJAX requests using spies. This allows us to test both the code that initiates the AJAX request and the code executed upon its completion. It\u8217's also possible to mock/fake the server responses. The benefit of this type of testing is that it\u8217's faster as no real calls are being made to a server. The ability to simulate any response from the server is also of great benefit.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Asynchronous tests which don\u8217't rely on spies\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This example of the first kind of test shows how to fake an AJAX request and verify that the request was both calling the correct URL and executed a callback where one was provided.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 it('the callback should be executed on success', function () \{\line
+\line
+ // `andCallFake()` calls a passed function when a spy\line
+ // has been called\line
+ spyOn($, 'ajax').andCallFake(function(options) \{\line
+ options.success();\line
+ \});\line
+\line
+ // Create a new spy\line
+ var callback = jasmine.createSpy();\line
+\line
+ // Exexute the spy callback if the\line
+ // request for Todo 15 is successful\line
+ getTodo(15, callback);\line
+\line
+ // Verify that the URL of the most recent call\line
+ // matches our expected Todo item.\line
+ expect($.ajax.mostRecentCall.args[0]['url']).toEqual('/todos/15');\line
+\line
+ // `expect(x).toHaveBeenCalled()` will pass if `x` is a\line
+ // spy and was called.\line
+ expect(callback).toHaveBeenCalled();\line
+\});\line
+\line
+function getTodo(id, callback) \{\line
+ $.ajax(\{\line
+ type: 'GET',\line
+ url: '/todos/'' + id,\line
+ dataType: 'json',\line
+ success: callback\line
+ \});\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 All of these are Spy-specific matchers and are documented on the Jasmine {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/wiki/Spies"}}{\fldrslt{\ul
+wiki
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For the second type of test (asynchronous tests), we can take the above further by taking advantage of three other methods Jasmine supports:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/wiki/Asynchronous-specs"}}{\fldrslt{\ul
+waits(timeout)
+}}}
+ - a native timeout before the next block is run\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/wiki/Asynchronous-specs"}}{\fldrslt{\ul
+waitsFor(function, optional message, optional timeout)
+}}}
+ - a way to pause specs until some other work has completed. Jasmine waits until the supplied function returns true here before it moves on to the next block.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/wiki/Asynchronous-specs"}}{\fldrslt{\ul
+runs(function)
+}}}
+ - a block which runs as if it was directly called. They exist so that we can test asynchronous processes.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 it('should make an actual AJAX request to a server', function () \{\line
+\line
+ // Create a new spy\line
+ var callback = jasmine.createSpy();\line
+\line
+ // Exexute the spy callback if the\line
+ // request for Todo 16 is successful\line
+ getTodo(16, callback);\line
+\line
+ // Pause the spec until the callback count is\line
+ // greater than 0\line
+ waitsFor(function() \{\line
+ return callback.callCount > 0;\line
+ \});\line
+\line
+ // Once the wait is complete, our runs() block\line
+ // will check to ensure our spy callback has been\line
+ // called\line
+ runs(function() \{\line
+ expect(callback).toHaveBeenCalled();\line
+ \});\line
+\});\line
+\line
+function getTodo(id, callback) \{\line
+ $.ajax(\{\line
+ type: 'GET',\line
+ url: 'todos.json',\line
+ dataType: 'json',\line
+ success: callback\line
+ \});\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\i Note:}} It\u8217's useful to remember that when making real requests to a web server in your unit tests, this has the potential to massively slow down the speed at which tests run (due to many factors including server latency). As this also introduces an external dependency that can (and should) be minimized in your unit testing, it is strongly recommended that you opt for spies to remove the dependency on a web server.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 beforeEach() and afterEach()\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Jasmine also supports specifying code that can be run before each ({\f1 beforeEach()}) and after each ({\f1 afterEach()}) test. This is useful for enforcing consistent conditions (such as resetting variables that may be required by specs). In the following example, {\f1 beforeEach()} is used to create a new sample Todo model which specs can use for testing attributes.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 beforeEach(function()\{\line
+ this.todo = new Backbone.Model(\{\line
+ text: 'Buy some more groceries',\line
+ done: false\line
+ \});\line
+\});\line
+\line
+it('should contain a text value if not the default value', function()\{\line
+ expect(this.todo.get('text')).toEqual('Buy some more groceries');\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Each nested {\f1 describe()} in your tests can have their own {\f1 beforeEach()} and {\f1 afterEach()} methods which support including setup and teardown methods relevant to a particular suite.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 beforeEach()} and {\f1 afterEach()} can be used together to write tests verifying that our Backbone routes are being correctly triggered when we navigate to the URL. We can start with the {\f1 index} action:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('Todo routes', function()\{\line
+\line
+ beforeEach(function()\{\line
+\line
+ // Create a new router\line
+ this.router = new App.TodoRouter();\line
+\line
+ // Create a new spy\line
+ this.routerSpy = sinon.spy();\line
+\line
+ // Begin monitoring hashchange events\line
+ try\{\line
+ Backbone.history.start(\{\line
+ silent:true,\line
+ pushState: true\line
+ \});\line
+ \}catch(e)\{\line
+ // ...\line
+ \}\line
+\line
+ // Navigate to a URL\line
+ this.router.navigate('/js/spec/SpecRunner.html');\line
+ \}); \line
+\line
+ afterEach(function()\{\line
+\line
+ // Navigate back to the URL\line
+ this.router.navigate('/js/spec/SpecRunner.html');\line
+\line
+ // Disable Backbone.history temporarily.\line
+ // Note that this is not really useful in real apps but is\line
+ // good for testing routers\line
+ Backbone.history.stop();\line
+ \});\line
+\line
+ it('should call the index route correctly', function()\{\line
+ this.router.bind('route:index', this.routerSpy, this);\line
+ this.router.navigate('', \{trigger: true\});\line
+\line
+ // If everything in our beforeEach() and afterEach()\line
+ // calls have been correctly executed, the following\line
+ // should now pass.\line
+ expect(this.routerSpy).toHaveBeenCalledOnce();\line
+ expect(this.routerSpy).toHaveBeenCalledWith();\line
+ \});\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The actual TodoRouter for that would make the above test pass looks like:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var App = App || \{\};\line
+App.TodoRouter = Backbone.Router.extend(\{\line
+ routes:\{\line
+ '': 'index'\line
+ \},\line
+ index: function()\{\line
+ //...\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Shared scope\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's imagine we have a Suite where we wish to check for the existence of a new Todo item instance. This could be done by duplicating the spec as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe("Todo tests", function()\{\line
+ \line
+ // Spec\line
+ it("Should be defined when we create it", function()\{\line
+ // A Todo item we are testing\line
+ var todo = new Todo("Get the milk", "Tuesday");\line
+ expect(todo).toBeDefined();\line
+ \}); \line
+\line
+ it("Should have the correct title", function()\{\line
+ // Where we introduce code duplication\line
+ var todo = new Todo("Get the milk", "Tuesday");\line
+ expect(todo.title).toBe("Get the milk");\line
+ \});\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As you can see, we\u8217've introduced duplication that should ideally be refactored into something cleaner. We can do this using Jasmine\u8217's Suite (Shared) Functional Scope.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 All of the specs within the same Suite share the same functional scope, meaning that variables declared within the Suite itself are available to all of the Specs in that suite. This gives us a way to work around our duplication problem by moving the creation of our Todo objects into the common functional scope:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe("Todo tests", function()\{\line
+ \line
+ // The instance of Todo, the object we wish to test\line
+ // is now in the shared functional scope\line
+ var todo = new Todo("Get the milk", "Tuesday");\line
+\line
+ // Spec\line
+ it("should be correctly defined", function()\{\line
+ expect(todo).toBeDefined();\line
+ \});\line
+\line
+ it("should have the correct title", function()\{\line
+ expect(todo.title).toBe("Get the milk");\line
+ \});\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the previous section you may have noticed that we initially declared {\f1 this.todo} within the scope of our {\f1 beforeEach()} call and were then able to continue using this reference in {\f1 afterEach()}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This is again down to shared function scope, which allows such declaractions to be common to all blocks (including {\f1 runs()}).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Variables declared outside of the shared scope (i.e within the local scope {\f1 var todo=...}) will however not be shared.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Getting set up\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now that we\u8217've reviewed some fundamentals, let\u8217's go through downloading Jasmine and getting everything set up to write tests.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A standalone release of Jasmine can be {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/downloads"}}{\fldrslt{\ul
+downloaded
+}}}
+ from the official release page.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You\u8217'll need a file called SpecRunner.html in addition to the release. It can be downloaded from https://github.com/pivotal/jasmine/tree/master/lib/jasmine-core/example or as part of a download of the complete Jasmine {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/zipball/master"}}{\fldrslt{\ul
+repo
+}}}
+. Alternatively, you can {\f1 git clone} the main Jasmine repository from https://github.com/pivotal/jasmine.git.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's review {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/blob/master/lib/templates/SpecRunner.html.jst"}}{\fldrslt{\ul
+SpecRunner.html.jst
+}}}
+:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 It first includes both Jasmine and the necessary CSS required for reporting:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next come the sources being tested:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Finally, some sample tests are included:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\i Note:}} Below this section of SpecRunner is code responsible for running the actual tests. Given that we won\u8217't be covering modifying this code, I\u8217'm going to skip reviewing it. I do however encourage you to take a look through {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/blob/master/lib/jasmine-core/example/spec/PlayerSpec.js"}}{\fldrslt{\ul
+PlayerSpec.js
+}}}
+ and {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/blob/master/lib/jasmine-core/example/spec/SpecHelper.js"}}{\fldrslt{\ul
+SpecHelper.js
+}}}
+. They\u8217're a useful basic example to go through how a minimal set of tests might work.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Also note that for the purposes of introduction, some of the examples in this section will be testing aspects of Backbone.js itself, just to give you a feel for how Jasmine works. You generally will not need to write testing ensuring a framework is working as expected.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 TDD With Backbone\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When developing applications with Backbone, it can be necessary to test both individual modules of code as well as models, views, collections, and routers. Taking a TDD approach to testing, let\u8217's review some specs for testing these Backbone components using the popular Backbone {\field{\*\fldinst{HYPERLINK "https://github.com/addyosmani/todomvc/tree/master/todo-example/backbone"}}{\fldrslt{\ul
+Todo
+}}}
+ application.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Models\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The complexity of Backbone models can vary greatly depending on what your application is trying to achieve. In the following example, we\u8217're going to test default values, attributes, state changes, and validation rules.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 First, we begin our suite for model testing using {\f1 describe()}:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('Tests for Todo', function() \{\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Models should ideally have default values for attributes. This helps ensure that when creating instances without a value set for any specific attribute, a default one (e.g., an empty string) is used instead. The idea here is to allow your application to interact with models without any unexpected behavior.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the following spec, we create a new Todo without any attributes passed then check to find out what the value of the {\f1 text} attribute is. As no value has been set, we expect a default value of {\f1 ''} to be returned.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 it('Can be created with default values for its attributes.', function() \{\line
+ var todo = new Todo();\line
+ expect(todo.get('text')).toBe('');\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If testing this spec before your models have been written, you\u8217'll incur a failing test, as expected. What\u8217's required for the spec to pass is a default value for the attribute {\f1 text}. We can set this and some other useful defaults (which we\u8217'll be using shortly) in our Todo model as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 window.Todo = Backbone.Model.extend(\{\line
+\line
+ defaults: \{\line
+ text: '',\line
+ done: false,\line
+ order: 0\line
+ \}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next, it is common to include validation logic in your models to ensure that input passed from users or other modules in the application are valid.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A Todo app may wish to validate the text input supplied in case it contains rude words. Similarly if we\u8217're storing the {\f1 done} state of a Todo item using booleans, we need to validate that truthy/falsy values are passed and not just any arbitrary string.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the following spec, we take advantage of the fact that validations which fail model.validate() trigger an \u8220"invalid\u8221" event. This allows us to test if validations are correctly failing when invalid input is supplied.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We create an errorCallback spy using Jasmine\u8217's built in {\f1 createSpy()} method which allows us to spy on the invalid event as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 it('Can contain custom validation rules, and will trigger an invalid event on failed validation.', function() \{\line
+\line
+ var errorCallback = jasmine.createSpy('-invalid event callback-');\line
+\line
+ var todo = new Todo();\line
+\line
+ todo.on('invalid', errorCallback);\line
+\line
+ // What would you need to set on the todo properties to\line
+ // cause validation to fail?\line
+\line
+ todo.set(\{done:'a non-boolean value'\});\line
+\line
+ var errorArgs = errorCallback.mostRecentCall.args;\line
+\line
+ expect(errorArgs).toBeDefined();\line
+ expect(errorArgs[0]).toBe(todo);\line
+ expect(errorArgs[1]).toBe('Todo.done must be a boolean value.');\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The code to make the above failing test support validation is relatively simple. In our model, we override the validate() method (as recommended in the Backbone docs), checking to make sure a model both has a \u8216'done\u8217' property and that its value is a valid boolean before allowing it to pass.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 validate: function(attrs) \{\line
+ if (attrs.hasOwnProperty('done') && !_.isBoolean(attrs.done)) \{\line
+ return 'Todo.done must be a boolean value.';\line
+ \}\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you would like to review the final code for our Todo model, you can find it below:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+window.Todo = Backbone.Model.extend(\{\line
+\line
+ defaults: \{\line
+ text: '',\line
+ done: false,\line
+ order: 0\line
+ \},\line
+\line
+ initialize: function() \{\line
+ this.set(\{text: this.get('text')\}, \{silent: true\});\line
+ \},\line
+\line
+ validate: function(attrs) \{\line
+ if (attrs.hasOwnProperty('done') && !_.isBoolean(attrs.done)) \{\line
+ return 'Todo.done must be a boolean value.';\line
+ \}\line
+ \},\line
+\line
+ toggle: function() \{\line
+ this.save(\{done: !this.get('done')\});\line
+ \}\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Collections\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We now need to define specs to test a Backbone collection of Todo models (a TodoList). Collections are responsible for a number of list tasks including managing order and filtering.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A few specific specs that come to mind when working with collections are:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Making sure we can add new Todo models as both objects and arrays\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Attribute testing to make sure attributes such as the base URL of the collection are values we expect\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Purposefully adding items with a status of {\f1 done:true} and checking against how many items the collection thinks have been completed vs.\u160?those that are remaining\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this section we\u8217're going to cover the first two of these with the third left as an extended exercise you can try on your own.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Testing that Todo models can be added to a collection as objects or arrays is relatively trivial. First, we initialize a new TodoList collection and check to make sure its length (i.e., the number of Todo models it contains) is 0. Next, we add new Todos, both as objects and arrays, checking the length property of the collection at each stage to ensure the overall count is what we expect:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('Tests for TodoList', function() \{\line
+\line
+ it('Can add Model instances as objects and arrays.', function() \{\line
+ var todos = new TodoList();\line
+\line
+ expect(todos.length).toBe(0);\line
+\line
+ todos.add(\{ text: 'Clean the kitchen' \});\line
+\line
+ // how many todos have been added so far?\line
+ expect(todos.length).toBe(1);\line
+\line
+ todos.add([\line
+ \{ text: 'Do the laundry', done: true \},\line
+ \{ text: 'Go to the gym'\}\line
+ ]);\line
+\line
+ // how many are there in total now?\line
+ expect(todos.length).toBe(3);\line
+ \});\line
+...\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Similar to model attributes, it\u8217's also quite straight-forward to test attributes in collections. Here we have a spec that ensures the collection url (i.e., the url reference to the collection\u8217's location on the server) is what we expect it to be:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 it('Can have a url property to define the basic url structure for all contained models.', function() \{\line
+ var todos = new TodoList();\line
+\line
+ // what has been specified as the url base in our model?\line
+ expect(todos.url).toBe('/todos/');\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For the third spec (which you will write as an exercise), note that the implementation for our collection will have methods for filtering how many Todo items are done and how many are remaining - we\u8217'll call these {\f1 done()} and {\f1 remaining()}. Consider writing a spec which creates a new collection and adds one new model that has a preset {\f1 done} state of {\f1 true} and two others that have the default {\f1 done} state of {\f1 false}. Testing the length of what\u8217's returned using {\f1 done()} and {\f1 remaining()} will tell us whether the state management in our application is working or needs a little tweaking.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The final implementation for our TodoList collection can be found below:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 window.TodoList = Backbone.Collection.extend(\{\line
+\line
+ model: Todo,\line
+\line
+ url: '/todos/',\line
+\line
+ done: function() \{\line
+ return this.filter(function(todo) \{ return todo.get('done'); \});\line
+ \},\line
+\line
+ remaining: function() \{\line
+ return this.without.apply(this, this.done());\line
+ \},\line
+\line
+ nextOrder: function() \{\line
+ if (!this.length) \{\line
+ return 1;\line
+ \}\line
+\line
+ return this.last().get('order') + 1;\line
+ \},\line
+\line
+ comparator: function(todo) \{\line
+ return todo.get('order');\line
+ \}\line
+\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Views\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Before we take a look at testing Backbone views, let\u8217's briefly review a jQuery plugin that can assist with writing Jasmine specs for them.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b The Jasmine jQuery Plugin}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As we know our Todo application will be using jQuery for DOM manipulation, there\u8217's a useful jQuery plugin called {\field{\*\fldinst{HYPERLINK "https://github.com/velesin/jasmine-jquery"}}{\fldrslt{\ul
+jasmine-jquery
+}}}
+ we can use to help simplify BDD testing of the rendering performed by our views.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The plugin provides a number of additional Jasmine {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/wiki/Matchers"}}{\fldrslt{\ul
+matchers
+}}}
+ to help test jQuery-wrapped sets such as:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 toBe(jQuerySelector)} e.g., {\f1 expect($('')).toBe('div#some-id')}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 toBeChecked()} e.g., {\f1 expect($('')).toBeChecked()}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 toBeSelected()} e.g., {\f1 expect($('')).toBeSelected()}\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 and {\field{\*\fldinst{HYPERLINK "https://github.com/velesin/jasmine-jquery"}}{\fldrslt{\ul
+many others
+}}}
+. The complete list of matchers supported can be found on the project homepage. It\u8217's useful to know that similar to the standard Jasmine matchers, the custom matchers above can be inverted using the .not prefix (i.e {\f1 expect(x).not.toBe(y)}):\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 expect($('
I am an example
')).not.toHaveText(/other/)\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 jasmine-jquery also includes a fixtures module that can be used to load arbitrary HTML content we wish to use in our tests. Fixtures can be used as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Include some HTML in an external fixtures file:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 some.fixture.html: {\f1
some HTML content
}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Then inside our actual test we would load it as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 loadFixtures('some.fixture.html')\line
+$('some-fixture').myTestedPlugin();\line
+expect($('#some-fixture')).to\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The jasmine-jquery plugin loads fixtures from a directory named spec/javascripts/fixtures by default. If you wish to configure this path you can do so by initially setting {\f1 jasmine.getFixtures().fixturesPath = 'your custom path'}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Finally, jasmine-jquery includes support for spying on jQuery events without the need for any extra plumbing work. This can be done using the {\f1 spyOnEvent()} and {\f1 assert(eventName).toHaveBeenTriggered(selector)} functions. For example:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 spyOnEvent($('#el'), 'click');\line
+$('#el').click();\line
+expect('click').toHaveBeenTriggeredOn($('#el'));\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 View testing\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this section we will review the three dimensions of specs writing for Backbone Views: initial setup, view rendering, and templating. The latter two of these are the most commonly tested, however we\u8217'll see shortly why writing specs for the initialization of your views can also be of benefit.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Initial setup\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 At their most basic, specs for Backbone views should validate that they are being correctly tied to specific DOM elements and are backed by valid data models. The reason to consider doing this is that these specs can identify issues which will trip up more complex tests later on. Also, they\u8217're fairly simple to write given the overall value offered.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To help ensure a consistent testing setup for our specs, we use {\f1 beforeEach()} to append both an empty {\f1
} (#todoList) to the DOM and initialize a new instance of a TodoView using an empty Todo model. {\f1 afterEach()} is used to remove the previous #todoList {\f1
} as well as the previous instance of the view.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('Tests for TodoView', function() \{\line
+\line
+ beforeEach(function() \{\line
+ $('body').append('
');\line
+ this.todoView = new TodoView(\{ model: new Todo() \});\line
+ \});\line
+\line
+\line
+ afterEach(function() \{\line
+ this.todoView.remove();\line
+ $('#todoList').remove();\line
+ \});\line
+\line
+...\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The first spec useful to write is a check that the TodoView we\u8217've created is using the correct {\f1 tagName} (element or className). The purpose of this test is to make sure it\u8217's been correctly tied to a DOM element when it was created.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone views typically create empty DOM elements once initialized, however these elements are not attached to the visible DOM in order to allow them to be constructed without an impact on the performance of rendering.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 it('Should be tied to a DOM element when created, based off the property provided.', function() \{\line
+ //what html element tag name represents this view?\line
+ expect(todoView.el.tagName.toLowerCase()).toBe('li');\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Once again, if the TodoView has not already been written, we will experience failing specs. Thankfully, solving this is as simple as creating a new Backbone.View with a specific {\f1 tagName}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var todoView = Backbone.View.extend(\{\line
+ tagName: 'li'\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If instead of testing against the {\f1 tagName} you would prefer to use a className instead, we can take advantage of jasmine-jquery\u8217's {\f1 toHaveClass()} matcher:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 it('Should have a class of "todos"'), function()\{\line
+ expect(this.view.$el).toHaveClass('todos');\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The {\f1 toHaveClass()} matcher operates on jQuery objects and if the plugin hadn\u8217't been used, an exception would have been thrown. It is of course also possible to test for the className by accessing el.className if you don\u8217't use jasmine-jquery.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You may have noticed that in {\f1 beforeEach()}, we passed our view an initial (albeit unfilled) Todo model. Views should be backed by a model instance which provides data. As this is quite important to our view\u8217's ability to function, we can write a spec to ensure a model is defined (using the {\f1 toBeDefined()} matcher) and then test attributes of the model to ensure defaults both exist and are the values we expect them to be.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 it('Is backed by a model instance, which provides the data.', function() \{\line
+\line
+ expect(todoView.model).toBeDefined();\line
+\line
+ // what's the value for Todo.get('done') here?\line
+ expect(todoView.model.get('done')).toBe(false); //or toBeFalsy()\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 View rendering\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next we\u8217're going to take a look at writing specs for view rendering. Specifically, we want to test that our TodoView elements are actually rendering as expected.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In smaller applications, those new to BDD might argue that visual confirmation of view rendering could replace unit testing of views. The reality is that when dealing with applications that might grow to a large number of views, it makes sense to automate this process as much as possible from the get-go. There are also aspects of rendering that require verification beyond what is visually presented on-screen (which we\u8217'll see very shortly).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We\u8217're going to begin testing views by writing two specs. The first spec will check that the view\u8217's {\f1 render()} method is correctly returning the view instance, which is necessary for chaining. Our second spec will check that the HTML produced is exactly what we expect based on the properties of the model instance that\u8217's been associated with our TodoView.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Unlike some of the previous specs we\u8217've covered, this section will make greater use of {\f1 beforeEach()} to both demonstrate how to use nested suites and also ensure a consistent set of conditions for our specs. In our first example we\u8217're simply going to create a sample model (based on Todo) and instantiate a TodoView with it.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('TodoView', function() \{\line
+\line
+ beforeEach(function() \{\line
+ this.model = new Backbone.Model(\{\line
+ text: 'My Todo',\line
+ order: 1,\line
+ done: false\line
+ \});\line
+ this.view = new TodoView(\{model:this.model\});\line
+ \});\line
+\line
+ describe('Rendering', function() \{\line
+\line
+ it('returns the view object', function() \{\line
+ expect(this.view.render()).toEqual(this.view);\line
+ \});\line
+\line
+ it('produces the correct HTML', function() \{\line
+ this.view.render();\line
+\line
+ // let's use jasmine-jquery's toContain() to avoid\line
+ // testing for the complete content of a todo's markup\line
+ expect(this.view.el.innerHTML)\line
+ .toContain('');\line
+ \});\line
+\line
+ \});\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When these specs are run, only the second one (\u8216'produces the correct HTML\u8217') fails. Our first spec (\u8216'returns the view object\u8217'), which is testing that the TodoView instance is returned from {\f1 render()}, passes since this is Backbone\u8217's default behavior and we haven\u8217't overwritten the {\f1 render()} method with our own version yet.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Note:} For the purposes of maintaining readability, all template examples in this section will use a minimal version of the following Todo view template. As it\u8217's relatively trivial to expand this, please feel free to refer to this sample if needed:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1
\line
+
\line
+ />\line
+ \line
+ \line
+
\line
+
\line
+ \line
+
\line
+
\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The second spec fails with the following message:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 Expected '' to contain ''.}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The reason for this is the default behavior for render() doesn\u8217't create any markup. Let\u8217's write a replacement for render() which fixes this:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 render: function() \{\line
+ var template = '';\line
+ var output = template\line
+ .replace('+++PLACEHOLDER+++', this.model.get('text'));\line
+ this.$el.html(output);\line
+ return this;\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The above specifies an inline string template and replaces fields found in the template within the \u8220"+++PLACEHOLDER+++\u8221" blocks with their corresponding values from the associated model. As we\u8217're also returning the TodoView instance from the method, the first spec will still pass.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 It would be impossible to discuss unit testing without mentioning fixtures. Fixtures typically contain test data (e.g., HTML) that is loaded in when needed (either locally or from an external file) for unit testing. So far we\u8217've been establishing jQuery expectations based on the view\u8217's el property. This works for a number of cases, however, there are instances where it may be necessary to render markup into the document. The most optimal way to handle this within specs is through using fixtures (another feature brought to us by the jasmine-jquery plugin).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Re-writing the last spec to use fixtures would look as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('TodoView', function() \{\line
+\line
+ beforeEach(function() \{\line
+ ...\line
+ setFixtures('
');\line
+ \});\line
+\line
+ ...\line
+\line
+ describe('Template', function() \{\line
+\line
+ beforeEach(function() \{\line
+ $('.todos').append(this.view.render().el);\line
+ \});\line
+\line
+ it('has the correct text content', function() \{\line
+ expect($('.todos').find('.todo-content'))\line
+ .toHaveText('My Todo');\line
+ \});\line
+\line
+ \});\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 What we\u8217're now doing in the above spec is appending the rendered todo item into the fixture. We then set expectations against the fixture, which may be something desirable when a view is setup against an element which already exists in the DOM. It would be necessary to provide both the fixture and test the {\f1 el} property correctly picking up the element expected when the view is instantiated.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Rendering with a templating system\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When a user marks a Todo item as complete (done), we may wish to provide them with visual feedback (such as a striked line through the text) to differentiate the item from those that are remaining. This can be done by attaching a new class to the item. Let\u8217's begin by writing a test:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('When a todo is done', function() \{\line
+\line
+ beforeEach(function() \{\line
+ this.model.set(\{done: true\}, \{silent: true\});\line
+ $('.todos').append(this.view.render().el);\line
+ \});\line
+\line
+ it('has a done class', function() \{\line
+ expect($('.todos .todo-content:first-child'))\line
+ .toHaveClass('done');\line
+ \});\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This will fail with the following message:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 Expected '' to have class 'done'.}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 which can be fixed in the existing render() method as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 render: function() \{\line
+ var template = '';\line
+ var output = template\line
+ .replace('<%= text %>', this.model.get('text'));\line
+ this.$el.html(output);\line
+ if (this.model.get('done')) \{\line
+ this.$('.todo-content').addClass('done');\line
+ \}\line
+ return this;\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 However, this can get unwieldily fairly quickly. As the level of complexity and logic in our templates increase, so do the challenges associated with testing them. We can ease this process by taking advantage of modern templating libraries, many of which have already been demonstrated to work well with testing solutions such as Jasmine.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 JavaScript templating systems (such as {\field{\*\fldinst{HYPERLINK "http://handlebarsjs.com/"}}{\fldrslt{\ul
+Handlebars
+}}}
+, {\field{\*\fldinst{HYPERLINK "http://mustache.github.com/"}}{\fldrslt{\ul
+Mustache
+}}}
+, and Underscore\u8217's own {\field{\*\fldinst{HYPERLINK "http://underscorejs.org/#template"}}{\fldrslt{\ul
+micro-templating
+}}}
+) support conditional logic in template strings. What this effectively means is that we can add if/else/ternery expressions inline which can then be evaluated as needed, allowing us to build even more powerful templates.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In our case, we are going to use the micro-templating found in Underscore.js as no additional files are required to use it and we can easily modify our existing specs to use it without a great deal of effort.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Assuming our template is defined using a script tag of ID {\f1 myTemplate}:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Our TodoView can be modified to use Underscore templating as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var TodoView = Backbone.View.extend(\{\line
+\line
+ tagName: 'li',\line
+ template: _.template($('#myTemplate').html()),\line
+\line
+ initialize: function(options) \{\line
+ // ...\line
+ \},\line
+\line
+ render: function() \{\line
+ this.$el.html(this.template(this.model.toJSON()));\line
+ return this;\line
+ \},\line
+\line
+ ...\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 So, what\u8217's going on here? We\u8217're first defining our template in a script tag with a custom script type (e.g., type=\u8220"text/template\u8221"). As this isn\u8217't a script type any browser understands, it\u8217's simply ignored, however referencing the script by an id attribute allows the template to be kept separate to other parts of the page.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In our view, we\u8217're the using the Underscore {\f1 _.template()} method to compile our template into a function that we can easily pass model data to later on. In the line {\f1 this.model.toJSON()} we are simply returning a copy of the model\u8217's attributes for JSON stringification to the {\f1 template} method, creating a block of HTML that can now be appended to the DOM.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note: Ideally all of your template logic should exist outside of your specs, either in individual template files or embedded using script tags within your SpecRunner. This is generally more maintainable.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you are working with much smaller templates and are not doing this, there is however a useful trick that can be applied to automatically create or extend templates in the Jasmine shared functional scope for each test.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 By creating a new directory (say, \u8216'templates\u8217') in the \u8216'spec\u8217' folder and including a new script file with the following contents into SpecRunner.html, we can manually add custom attributes representing smaller templates we wish to use:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 beforeEach(function() \{\line
+ this.templates = _.extend(this.templates || \{\}, \{\line
+ todo: ''\line
+ \});\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To finish this off, we simply update our existing spec to reference the template when instantiating the TodoView:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('TodoView', function() \{\line
+\line
+ beforeEach(function() \{\line
+ ...\line
+ this.view = new TodoView(\{\line
+ model: this.model,\line
+ template: this.templates.todo\line
+ \});\line
+ \});\line
+\line
+ ...\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The existing specs we\u8217've looked at would continue to pass using this approach, leaving us free to adjust the template with some additional conditional logic for Todos with a status of \u8216'done\u8217':\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 beforeEach(function() \{\line
+ this.templates = _.extend(this.templates || \{\}, \{\line
+ todo: ''\line
+ \});\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This will now also pass without any issues, however as mentioned, this last approach probably only makes sense if you\u8217're working with smaller, highly dynamic templates.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Conclusions\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We have now covered how to write Jasmine tests for Backbone.js models, collections, and views. While testing routing can at times be desirable, some developers feel it can be more optimal to leave this to third-party tools such as Selenium, so do keep this in mind.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Exercise\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As an exercise, I recommend now trying the Jasmine Koans in {\f1 practicals\\jasmine-koans} and trying to fix some of the purposefully failing tests it has to offer. This is an excellent way of not just learning how Jasmine specs and suites work, but working through the examples (without peeking back) will also put your Backbone skills to the test too.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Further reading\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://tinnedfruit.com/2011/04/26/testing-backbone-apps-with-jasmine-sinon-3.html"}}{\fldrslt{\ul
+Testing Backbone Apps With SinonJS
+}}}
+ by James Newbry\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://japhr.blogspot.com/2011/11/jasmine-backbonejs-revisited.html"}}{\fldrslt{\ul
+Jasmine + Backbone Revisited
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://japhr.blogspot.com/2011/12/phantomjs-and-backbonejs-and-requirejs.html"}}{\fldrslt{\ul
+Backbone, PhantomJS and Jasmine
+}}}
+\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Backbone & jQuery Mobile\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Mobile app development with jQuery Mobile\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The mobile web is huge and it is continuing to grow at an impressive rate. Along with the massive growth of the mobile internet comes a striking diversity of devices and browsers. As a result, making your applications cross-platform and mobile-ready is both important and challenging. Creating native apps is expensive. It is very costly in terms of time and it usually requires varied experiences in programming languages like Objective C , C#, Java and JavaScript to support multiple runtime environments.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 HTML, CSS, and JavaScript enable you to build a single application targeting a common runtime environment: the browser. This approach supports a broad range of mobile devices such as tablets, smartphones, and notebooks along with traditional PCs.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The challenging task is not only to adapt contents like text and pictures properly to various screen resolutions but also to have same user experience across native apps under different operating systems. Like jQueryUI, jQuery Mobile is a user interface framework based on jQuery that works across all popular phone, tablet, e-Reader, and desktop platforms. It is built with accessibility and universal access in mind.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The main idea of the framework is to enable anyone to create a mobile app using only HTML. Knowledge of a programming language is not required and there is no need to write complex, device specific CSS. For this reason jQMobile follows two main principles we first need to understand in order to integrate the framework to Backbone: {\i progressive enhancement} and {\i responsive web design}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 The Principle of progressive widget enhancement by jQMobile\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 JQuery Mobile follows progressive enhancement and responsive web design principles using HTML-5 markup-driven definitions and configurations.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A page in jQuery Mobile consists of an element with a {\f1 data-role="page"} attribute. Within the {\f1 page} container, any valid HTML markup can be used, but for typical pages in jQM, the immediate children are divs with {\f1 data-role="header"}, {\f1 data-role="content"}, and {\f1 data-role="footer"}. The baseline requirement for a page is only a page wrapper to support the navigation system, the rest is optional.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 An initial HTML page looks like this:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+\line
+ Page Title\line
+\line
+ \line
+\line
+ \line
+ \line
+ \line
+\line
+\line
+\line
+
\line
+
\line
+
Page Title
\line
+
\line
+
\line
+
Page content goes here.
\line
+ \line
+
\line
+
\line
+
Page Footer
\line
+
\line
+
\line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Example HTML setup of a basic jQuery Mobile page}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 JQuery Mobile will transform the written HTML definition to the rendered HTML and CSS using its Progressive Widget Enhancement API. It also executes JavaScript which is conditioned by configurations, attribute properties, and runtime specific settings.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This implies: Whenever HTML content is added or changed, it needs to be handled by the progressive widget enhancement of jQuery Mobile.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d4948445200000290000000f00806000000b7de542300006d974944415478daec9d075414d7df86d39bf9fcc7c4984493d8a2468d51138db1c55e62ef1d2b8a057bc5868a0a885d44117bc18a52040ba860a3f7de7b2fdb3bf07e7377175810128d242afc9e73de233be5ce9dd975e7d97befccbcf516411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004411004f1aff02997de140a85528bd289befa0982205e8e190d1a3440efdebd29140aa55684fbde037df5130441bca4404e993205044110b58537402017713945a1506a4dfa91401204419040be2c0fbef9e61b346bd68c42a1d4f0f4ecd9937d1f1993401204419040beb440b66ddb16ddba75a35028353cb367cf26812408822081ac3e81ecdab52b8542a9e199356b1609244110040964f508649b366df0fbefbf5328941a1e124882200812c86a13c8d6ad5ba34b972e140aa58687049220088204b2da04f2c71f7f44e7ce9d29144a0d0f09244110040964b50964ab56add0a953270a8552c343024910044102596d02d9b2654bfcfaebaf140aa58687049220088204b2da04b2458b16f8e5975f28144a0d0f09244110040964b509e40f3ffc800e1d3a5028941a1e124882200812c86a13c8e6cd9ba37dfbf6945792b66852f753bcf7de7be5f3c187f8a259ebffb42e3f36a9fb6c3db4a95bbf3eea7ff8213eaef33ddaa897ff192dbffd008d7fe4fe6ef7231ad5adc32dd708ade93d7dad43024910044102596d02c91e71f6f3cf3f535e490ce1e09ffbec07a7488107d70fa273d7dfd1ee3faacb7ea7c02a3fc7d2dc5cf0552a88123db0eee72ee8d77f206ec64ae17c805b77d25adc4fe2a3b8281ae6f49ebed621812408822081ac36816cdab4297efae927ca2b8946208b8b0b1178cf0216169a3c4a93038a02d81d5c88df7ee1966bdb1a8dbfad8ffaf535f9a6490bb4d529e787260d35f3be6f8eb62d9b707f7f8dc6cd7fd4cc6fdb164dbfffa674ddc62dda545a97290b576bb67fec3cbc520428861c51b734f531ddba096b56aec4b2f9f330b8e550ecb70b476131707de757f86ee832b89508a4b6ac362d9a94d5f5bba668d396deebd7213367ce24812408822081ac1e816cd2a409d8e30c29af228b60cf04b248818b3bcba60f1c761b399cc265786d40ef6e6df14b8716b0750f4670b02677cf996270b356ea655b35fe025baefb68e6dd3d82fa7b5cb8bfbd716de95c7463e5b5698c3d377d4bd7bdb86b22beffa175d5751a3805d6de19288410b7366aa74d32828ba73fbc6edbc1c6f01c6273655ced007e961f9caedd4764a24620cd587d9a7d8d09a6674ab7e7ebbc0f3f756c4feff56b10124882200812c86a13c8c68d1b833dce90f22ab210f67e1a813cbba9011a34d0c4d4470814cb117e63157a74fa09b79380429904bc9c1c644b9580ac00c7cd9672ebb785c9133eb76c11246221f2f3455031b38308fe5b57a067bb36704e64eb8a51909d8dec6c2994e26c581b4fadba4e0326eb08a476da6c0b440b151026fac1718d3d32c485eacfb7429201efbb3e882b15c836586a710205f24248d5db2b8058ca95e46789b6ade9fd7ed521812408822081ac5681648f33a4bc8a2c500be43314a9901ce402bdf17f72cbac82cdd533d8b7612df4c74cc654d7786e0119a26c4c31f48fbd48e65e290ba2b17dc9686ed949b08a1569057239ba6db90929a782990fec613c752aa64e652d9b4a24391ec0984e55d4a9ff241cd50aa4cb06edb4d9bb340299f000ab5b8f84a57d94ba0bfbe63e6edeb85570d30aa4e980f1b0f2cd4411b795bbeaed6d82ddbd0ca8908d8bc3e8fd7ed521812408822081ac3681fceebbefc09e46437915998f1bac05b258052fc77558b74e9b35ab3069e41f9a659a7d8735074ee194fd3dc4e5cbb49f2c4e208f7102b9e90214dcabdc007b2ce8a229f3d72341903381dcb21c0b2ff856fab9e4c59cc2b41155d4a9dfc432815caf9d368b134881462057b51a81432502b9979b377665a9405a8d9a06e74471a5db7c729cdeef571d124882200812c86a13c86fbffd16ec69349457114e207d355dd8b6db2b5fa6b98503a42a40987c032bf47ba2f3e510a05084a70737a2f792139ce601f9d12e58fc67336ef9e668651b89622690c6cb606e1f0a14c9117ce9002676eb899ebffd8c468dbe478b966dd0ba4d1575ea3b0147bcb40269a49d36d3bc542057b61c8e433722d502e9b4bb395a8e590157ad409e1ea387a7e97240140c93cedcf6bafd8ed62d9a71db6c830ebfd2fbfdaa4302491004410259ad02c99e464379159957269026952fb3e84638278132f89f32c5a0d6ad713154a811c8031bd0ab851102a4458034077b3619a075eb95f0e717a9bbb0fd362fc5ef0b8e214bc9c967d235cc9fd41aadcf0570654911686d828155d5a9cf781d81d44e9b512290f7b1a2c540ecbf1eaa16c8a71757e1e789ebf0407b15f68eee43b0db2d064a6e5ef0056e7be3e7e272a280ab7e18cce8fd7ee521812408822081ac36816cd4a811d8d36828af22ba0259c532f3b7203857a9fd4449106f1bcfe9a102f157cc31e4e71f3065eb514415a834b345a938119aa51648ffcd4bd0855b7fb3f535644bcb3e9359e12ed09fd8b7ea3af51e0f2bad40de32d24ee3043246db02b9827b3dd9ec3284eaab750a91161f87f47cad4072f3864f3380677c7ee9f6548244d8ee5b40eff56b10124882200812c86a13c86fbef906ec66e29457912e183e7e06f4f5e76048efaa971b306116b78c3e173d0c6f390cd3b8bff5c6f643fb36dfe3ab3a75d0b1cf100c1f3e1cc3fb77c52cb71cceeb0a70cf683e7ee1d66dd5ba0dc64fd7d7aeaf8ff143bbfd759dda76c480717adcb2b330b287765aa73e983c730e664d198d6eecf56ffda13747539e1e775ed79b3193fb7b0a7a6bcbe8377252e9f6664f1d81b6ad5bd27bfd1a84049220088204b25a0592dd4c9cf226c604e15229a43a51161543951f09a37943d08c8e1145273366cc20812408822081ac1e81fcfaebafc16e264e7953b30bb77c7de1ab8d8fd713ec5e33868e0be59990401204419040569b40b21b577ffffdf7140aa586a7460ba42cf929ceec5f8fd9b367bf588e3ac22743544b4e4945508892e07660f68b1fa78a59ba11a68e91d0bd6b97243b18b78eb3f92bb06ddf6dc448fe4115155908713a8e2dcf6cd31cc7eda2904f5e419040be5602c9ee0549a1506a766ab4402af3e3e1e97603a74f1fc556fd3ff0d3576f957c01abd3b4f764acb3b0e1e69fc6e9239ba0d7a925be60f39a7640af5193b883731437fd3221aed1a7a44248f2fc7168183b267550afc10c6c63c7431d1b58ee988f816fe91eb77a68d8742e76942c73c212a64b47a1359bd7a00d7a98dc2f153a152f190f8e2f44a7e66cbd4f50bfd1482cdfed87cc17ada24a80b4e0c738673c0503daebd6a51766ac77470a79054102f9da08e4975f7e09762b1f0a8552b3534bbab095c8f7b2c1f47e3f9413c8cef3f6e041bcf67e048a5c44799cc1c6aeedf07de9324dd1b19739ec6ab4449608e427f8eccb79d873231a05a5f3a4c80db3c5d27202d908ad3b9f46686903a61cfc142f5c5c3f13bd2b08a430e9010ecf6fa0b36e53741d6e0dbfbf688514a44420d4e73ee2a5cfcee3855ec2fa098d49200912c8d75820bff8e20b346cd89042a1d4f0d49e319089ae301cd7b56a81d4280fd2ec2cf0e74fdfeb2cd7041dd65fc0d3cc9aaa901a813c31ad21161d88d191c7e71448ada00b621fe090c1b8720229497d0a9b253feaacdb023d469e4588a24a7bc46deb7d305c6b0d1fc1b3b325d12ed8a2d781049220817c8d05f2f3cf3f07bb908642a1d4ec9040566ceaca7a804dc37ed3746597a489218edc4faea1ad904c20237169c162b816549cf7bc0209148953e1e97808063a025924e521fcce6e4cfb83adf7399a775884237752d58fcaaac41e917cc71a866dfe409f29249004f1a60a64bd7af5f0d5575f5128941a1e12c88a02c97b8a0323bbe2bb72d2a4875df6155be76a9040f21361677609c9f8e702c9192452223d71dee67eb98b5a94a20c44fb5cc1952b4e707b148dd20720944381ec881bb098dc1adfbed594049220de6081fcecb3cfc02ea4a15028353bd3a74f2781acdd02598c429504e9f11990bf8c40a20872891059a93950bcd0f615c889b8897d73daa3693dcd384912488278b305925d4843a1506a7648202b08a438f42cf47bb7c4c73acbb51eb90bb7c20af06ce399082197d7c170fa488c1ca99b4db8ec970161e15f5749e07b1c73a74facb06ee5b10d12435954b18468d88d1eadb3dc288cdef308bc6a3b5dbd8840eaa0e221f1e159ac7f663f0cb1c1d413e9a50b0a91e271015b7bfcac9547edd5dadfb6c71f43b4ebac36837560f63f10c85c849edd5fbe0ecbf6e1b27f7a25a24c102490d5259075ebd605bb908642a1d4ec90409613c80c3c5eaf87dfeb7dacb35c6fac38e1855459797b4b7db8192be60dc2bccde63873f93a1c1d1d61b9a20d9a3460ebd447ab2e7db1f6923fb244859599236ce64ec7c8df9ae2e30fdf53d7e3fc557b389edb883feb7d8a0fde2a7fbb211663571ee43a45f11eedc1a8917fa0f5db3db1eab4837afba757f5c4db8d3a61f0a8dd78c47b8502592487203d12778f1963763fdd75dba2f7183b4e7b993ba6e2e1a51de8fd4b2b34ac647f4bf3fb1818de4d7c218194263ec4b1edb3d0ed871e183d6123acae3ae2f2fe1518d4b70bf7bee863cf657fa49345122490ff8a40fedffffd1fd88534140aa5668704b24420c59170dcb1107f36ac8fff2b59a6cd282cdbe786a82c71b9d6c7d4879b3077687d7c56e72d4cde7d0bf1051ab914451d8141fb46a8ab5dbf7ecb7938e59581720ec9e471fa20b4f9e443bca75e6e2c0e78a5415c58acbe61f6e3eda3f0c5a71f68eb3809db2ede80a3b333627295282a2e91c7dd18dcf93bbcf3f6db786bfa79a4c93433646917309d5befed77be43e73faf6944ed550864c9daa95e38b1eca7ca05522942466c209c2f1ec1aaa93d7596f91a3ff75e8cfd579de1ccedb7f3137f84e54a9f5b20993c5aad1989265f7d8ab77e9d840d0e11eae3af1204e0dcdc2168f3565d7cdbd21007ec63abb1a596204820e9221a0a852ea2a93502f9bf6f5ba173cffe1834681006f5eb82d65fd5c347ea2eeb25d877ce11b7bd2291c697a15cdba3280427667441d34f34657cdb7a23aef865437d6bc37c376ceedc52e70aee2fb0d23618393a8d9cf10ea3d1a561893c7219771cc1b992d26d289e98e19b2f3ed5aedf0cbfda7843a0d031d08287d8fe5b63bcc7e4915b66a6631e8ab562595c5c00c7996cbdb7f1cefb6dd1eb5ad42b1548794620ceadf9a372812ced690ec739e309e5ee15f98fc7404a13717ff742f46ca0397ebfcedc0c977879e9be445c5c88916dd87a5fa2c9ec3db08b2d2023214820ab5920172e5c883d7bf65028941a9e050b16d45e816c35c40016676fe2eeddbbe5e213950abeaca8f2720a3c60dab703be2e2d67084c1ca290abaa4c20df82e1293f6495deff47807b9b7fc4b79fe908d9ea6b48e0ebf4a7fa5ba261fdba65f3a79d45bc5801ad2322ea421734fee01dbcad9eff078ec71696ce4371111eefd0aef7f6fbf8a8dd7144d52281cc0db2c2ea910d50475bceb8d51710c22f5b3fc96d392674d7aefbe5646cbe104ead90040964350b24fb0e95cbe5140aa58667c58a15d485fd42a878083dbd0cbf35fb5c5d468769fb703f9a0705e79b892ed3d1b7c52778bf4a81cc85cbca566854f7050472d431448a4a04b2004e8beae0c3f74ad65f07374951e502f9d6bbf8f0e305702aa82d022945a4c35a4ce858367675ae893b920bab10c8b7bac160f70324d25848820492049242a19040feeb02c91c929f8c20bfa77077774750623c1ed92cc0f491bdb0cd6c29c6b7f80effab522095f039d0068debbf8040aeb0479654a59d1902cb269fe083b7759e92f3c71fe8d5ab97367fa043535d819c8eab59b5452033e1b9cb0003ebe83eb3bb237e2f3d36bdd0e5e76ff165a9bcff8a39667711272129214820492029140a09e47f2090ba2d5afa93baa25de3a9d878f41a8243edb0f697bfeac206c4518731bd697d7c52b2ccf82308d01903c9bbb5125f7ffe8976fd9e58ed9e066961491ba30ff67cfab14e0b671f6cb273c7c3870f2bc9233c7e5cd58dbb6ba240a6e2d1167df42d9dd71cfdf476e2dcdd87551c9f00c4a4f250d548058220812481a450282490d52b90c2009c59341dfd5a7e864f3f7a0b23565e4150861c857f3b069235421620f1fe414c69a495c87a4d31ff422878cc64788fb0b37b0b7cfade3b6a795c73ce0fa9629d318ecf08e417d8edabd2995fddbcc902f909862ede0fdf2c920e820492049242a19040be72814c829be10474ab5b32d67104763947a3808db57b1e81d48ea34c0a0a80efb97568f4655d7cd6b82d7ee9f41bbafcd2120dde7f0fb376dfc483c7d1c896165690c3145c185e071fbc5b56fe7707834a6fef53bb05928fa0b3cb30b299ce55f62396c22a2097ac8320812481a450282490d5279075266cc2f9b0bc176c7cb4c6c4ce8dd5b7fbd194a30fcbfbc950fbcef30a247878bc773406efbf0897475ef0f1f12997549eb20a2954a2e0e60af5cdc74bf7e3dbd63815fc6c3f6c71a10a21e78ce1965f5b04b208d24827ac9ed8b96cfeff1a60c2e6e308abc421d3bd1cf0d89fdd209ea48420812481a4502824902f20906f8d31c289e09c17fa022ff03043df0edfe894f305969c7882744e12e31d27a067f38fcaeef1c865b8c53d24f3543a25c4e0fad8c1e8d4e043f4d9ed8e0ca1eac5ce209208580ce7b6f14ed9361ab6ea8875b7cb44b8a83013b7d677c1917b89e0a95ee26c552844dae3fd18f96f0aa43801f7f61be0a7d2653e4497514be09a0cc852bce076fb121c22c4cf2190ccaf73f0f0f87cf4d16985acfb65230c5f73040f134b5a9ac58870d88a73a7ace09d24849cc6401224902490140a8504b2723869b8ba12c3db7d525e20ffd717cb6d3c91f602b772290c3d8f415d7e2857cee78d9aa3f54fedb1e19829d6b66d816f74e6fddf37cdb879a6708ace076bece23dda8eeedfd5534b66dd863fa06dbb9fd1be7dfb2a6289273c19ca3f0c51055eb22d567cf83eded5d9ce678ddb94aed7f1979fb1df3904392f7985b19c170b07e386654fe651e77d3468d91f169efcbf5d5f90e08a03fa7574d6fd08edfbcd814b92ce424542c4dcdd8d99edcab6f149ddcfd1ac757bb41b30054b4e7a2045aa3902d9fe56583142f731939f62a0fe4e7866961606192f00768b47a2b34e9d3faef7159afed84e7b7c7ec2dcf5bbf0303a17521509094102490249a15048202b6a63a413b62d1c8e76eddae0876febe1d30f2a3e6bf9637cce095eabb6edd06ee561383dcf9349e47c045f5a83ce2deb9796f39bc15ed8bbfb232d3f1f39b7f6a2530b9d16cac926b8f2201e3c994a7da575aecb4ab46854b7ea673f974b033469dd164bed1220551657e85a0ec5038ba178f79db7cb967ffb6dbc3bc4020f424391fb8fe5510141f21d58b46b87b6ad5be2bbfacfd6ebdd0f3e4283a66db8e33a1063f59c10f74c4f7b2ea25df643af55137c53affcba1fd5a98bc67f4cc1e27381106a3adba110e721ecf60e180cd419dbd96518b6d88520b5408a2259121e5b6fc0e81fbec117ff57bebc3af5be44b3214b61712746f334202821ce4a45e8b55d98d2a759f9baff381c86564e88ccc82379244820492029140a0964e514c9f8c8488e437878f8df2735077c79e1f3b5424a7291141f5dba6e528e00725571a96026c4c594959bc9834c55d64f5a28f28069abef50efb904b2a415d3005713a450551817a912a42122a2fc7e44a409f0726e548c42850059cf73ccc263109fc8c7330db8c52ac804d948ac6abd9804a4e44bcab5ac1672c72d27b56c99d8a434f0a4dae356a48028371df155951797822c81bcdc23278b640264a65478efe3d3902b52807aad09124812480a854202f98621073f211e3ed633f06dfd3acf29919fc2e4011f8a423a8112040924092485422181ac7d0259e08e9d037aa05dc3cf30ffb01bfcc26210135359bc7078623dd4d176bb1bbbf2202781240812c8d75c20efdcb903994c46a1506a784820ff5b7b84bb4937b4acf71edee9bd01ae893c28abbc876321c451c730b95e1dbcffd64058878ba1a4be578220812481a450282490b54d2073e1b2b2151ab1e7317fbc06d7e30af0571780e7b92cc1b7753fc260334fe43c73537182204820492029140a09642d10c822c8126c31bfd9d7f8f4adffc3175f6fc5cd243e14952c1972b2235a7f5707ef2c3b8fb87c198ac91e09820492049242a19040d6d23190457208b2b390117a16fadf37c5b70dbec6370d1ba261854c3bf2003189a94817caffc5471512044102490249a1504820df289114e6e6203b2b0b599584275551ab2341102490140a8504920492200882049242a1904092401204419040924052282490249004411024902490140a8504922008820492049242a19040924012044102490249a15048204920098220482029140a09240924411004092485422181248124088220812481a450482049200982204820ff5b81e4a745e09cc5622c5e5c21a79ebeb927d68264f84587214bf0126524de855dccebb45ff9f0b6b5c665ef5412270a092441100409e4ab15c882782f6cddb01cf7a2b2a05028b449c68989a33178830b72dfb893aa14d11e676161710aa9fc7f5a4632cece9c80fd21afd37ee5e096c94a58dc892571a290401204419040be0e02b902f7233375a62ba08ab7c5907e867894a95d2ed11f5e5e5eea442467412a2d2b83971aa69de78bc8c868f8fb472043a49927ce4b85bf9fb77abe7f68147205924aeb211515202e22405b8e3722d2f8a5f384d931a5db0e4d29d04e17212d221471b9b988d2ce8b4ccd85549886bb27cdb166d576dcf64f82885b5622e09609d5d4dfdbcf1fa979e2d256bdb8c040c4c5c5c15f5b466a8110e9714fb16bec70acbfe68df0a45c482ab6da6644c3d79b2def83b0b028040545224d20d5cc17e62034c84f5d966f5018b27865fb5bbe1e013af5e0cacc4944a0b60eea7af0aa1048275f846a97094fca8044fb3e487859080bf2d56c37300419059aed4a257948e4ea171616cccd8b4641857af8b07ae48b49c64820492009822048205f5620b924d96142bf99b89f214376e86d98efdb091b1b1b1cb1d888c51b0ec0374ba45e2e2fce1347d62cc60e6e9ecde14330315a845ebde6e326279e624e8a1cad7662edeec3b0396605b3ed1b71d4de1702b1f4997a84dd3e89cd5bb6e390b50dacadb7c368cb69446572db48f7c4decd73b0660f57becd1e6c5e698e735ee9dc3ae9b8ba740ea6afb7c2894336b0325b8b051b8e22382d1c27372fc6ac1986d87fcd173cb100be378e62e37633581db3c1e1dd6bb1d3ca1189394c9a82b1b5ef20ac37b5c1716ebb07568dc686a377f0e8c155acfcb33ff44d4fc2c52709629d7af252827166cb4a6c3f6c059b23dc3e6d588201030c703551a896c727f67b6168b25b7dac0eeedd09339bbb48cf1741cad5c3e7fa11ae1ee638c2d5c392ab87e9114724e572f52808c579b375d8b5cf46bd9ecdf6595873d40e71f9cf0aa4bec166ec3fc8bd0fbb3763e9fabdf04c1340c2cf81c78503dc7eecc1316efdfde646d873da4d2d9122be0fb68e98876d96c7b979f7902ee2c3fbba55f97a1c75d2d483848c0492049220088204f29f0b641aec97cf40ffedeee04b73e166b61b564f52d5dddbf2fc30ec5b301dfb7d0b2013e7e2feb10d586fe90211ebfa968910ecb01d43fbcc824b9604d10fcec3c8e830a2b345dcbadcb662ee63f5d203f0c9e157a84704f6ce9c838b9e6990cab96dc80448898e479eb0009e9633b1f89417f224ac6b5d820c971d1832cb1211bc0c5ce30472d6014ff064dc3ab901d8a13711966172c4789c8785f929a409e410e4f8c0cc60199c83b220e3ea28c98fc34933539c7f100d892c14db068ec6e987299070db95259cc5e2694be195998a737ae37120842b572e2faba7840fdfabbbb0c1fc3c32853228e41244ddb3c2a4c15361972c444edc23ecb330c1e3f83cf5b112a50662dbea4db8e09b025e9637578fe57009d1d6232f0e274ccd70c13d0692f0a39832f51062a5da2104a23444c4c4a140fcac40ce33bd8502b6bf059138bc7436f63ec94466b42bb62d31c6e3d83cc8b9f585e9c19c745bc02928452d909bc7cdc3cdd07c6e9e1cfc4c4f98ce5f895b21d9da7ac4c266a7196c1fc63ed3d24a218124812408822081ac5a2067fe866edd7ba067cf9ea559702600c5852a7577b652a98058c843416602ce5918a0cb6f9d61ea950f5941228e9a58e09257d9b83c65ca3d4c19b3022ee93cb8581b63036b81cb2b40410197ec50582d990653f7acf2f54873c0caa90678942e2f3f3d2f005b470e825598b26c5aee1dac1836167792340269e12dd04c97a7c1567f0af6044b11edce04f2a47a0c6496bb29a62d3d8ad06c9ea60e79e9b863b301c6d62ee08b436131660aeea528346528836031751e1ea7a5e22c2790cf8c8114e6c2eed02e1cbd19acee1a67d314195e583a7bb55a20235d0f62c3562bc41768f743948aabdb0db1d3310c190f4ca1b7cc1a61a5f548c32debf530b6b90581220cc6dd8762c36e17a416688e95485ad518c878edfe66c1c168212c1e65208c93f6f95b6d119ba32d3b370157cd97c2e4b28f5a202d6673529ca1a953fa7d534c5f710ce13af570396a842dc7ef402021212381248124088220817cee16c895708fcd4561616159545a6993f0107add0253172cc7aa559b70e6823df62f9e0a734e20c539b13864b405971eeb5cd8c109e4e412813cbe0a4327ccc2b295abb875cb722522bf7c3d321db17efa5604e655bc9a3a10db463181d49926f285c9704e20934b049257da6a6a3ba712817cbc137d068dc7c2e5e5eb60e3ea0ba18409e4644e204bcaff6b8194f2b3606bba09471d824a0552c609e4e21281bc6fc909a4252790da79d26c389baf82f94d4e201feda8b41ec75dfd3859544290158133669a697347fe8add8e11c813ffd545349c40aed30ae4cdcd18307c0a16af285ff69927d15a815cc209a4a69c748fede83378c2b3f570f3af445a292490249004411024902f3206b2b415301c16cbd7e352440e944a25947921d866300e66ac0552988ecbbb37e3a06340e9f28228274c1cb1042e994278da1dc0ce233791cf09927add92282ab6ec3dc6a6f1b3702746587eba3805e7170fc38e473ac219731e93472ec5d3ece713c8bcd8ab303234457841853a28598bdc8b09a44c9c0fd7933b617ee63ef8dad63a61823b164e5ba616c8a4003bec34db87e86ced78c282381cd9b81207dd63901b7305464bcc1151b11e0a4dcba05cae289d9613b01fab66ac836fd6f30964bcf7696cde648d44c1b3655714c8eca8cb58bf741722aba807850492049220088204f2e5055210079b35f3b1ef21bbffa00081370e636cb72e587c3d417dcb9c847b569835713342d9b2f9f138be731e7eef321b2e596ccce313181baec2a5604dd9d921ced8b86029ec630b2a6c47829be60bb1e1a82bb24532888549386aba0ef6815910f91ec4807133e09ac4964bc2d9692331e6902fc4b2bf16c88deb0f2321570c892007b6db16c3fcb217789cf40973927072c31c1c760e8448fad702b9f676d633b7084af5b982a57aabf02493db074126ec0e2f43f7aed3d50229cde58471fb3c6c7308542f1bf7e412661a982130251f127e362e6c5d8c5d57bd35f5c84ec409ae1e562e4110859dc4bca54739b9d46c471e7a187ab32d10c67b3e811466c5e288d1321cbe13a61ec75890148803abe6e3f4e3d8670452cccbc279ae1e16d77cd4122cc84ec0f1f5fa38722b18626a812481248124088220817c9ef09203b0dfc2044f62b32b5f46ae003fd40e7a934663d8b0b158bfcf090137b763ec28233cc99141a15422c9693d376f1897593862791063c758205421d35cd011ee80d953c76ae72fc4258f586e9d4a6ee393178f63dbf435cb8d1c0393db295072ebcb542ae4791fd4ae3f0cebece350a4626333b3e1b2750dac034b2ec8c984fd9a253816c1a4d807bb9672cbaf3c872c76db9a8c6058ac9ba12d6302b61f7a08be8a8d7b8c82b5c1623c4e2fbb98c77ae93af8642a107f7d39868d188d4de77cc1d7a9a742a144dabddd983c96953519e63b0f419f933d1f91883b567228b37db166f174f5b6a618aec7e34489f6421c3924e941305f53528f89d871585b0f5521a2ef9a97eee3b0619be0c72f8442ae7b8cf2f0e0e076587b24940ae55db38db0f6c9526f579cf818eb0da768d79f8e83b67e10abb8e9822058af364640696b26ab4720cc564fd72e3b093bad1e41a03e1e9938bd6d014e3e492339238124812408822081ac3a4c6e549c9029e5557761ca39692a191ba95269ba5a0b0bb9756402c4073c826f4ca676be0c698fce63ce92b348d55957553ab6520555555da54cbe54656330d9853ba5f394aa72db2f112125375da52c1323a54af35ab34f6c1ca70a0a99ceeb923294ec4a6fb60eab9b4a7d85b8ace4355b47cec45855615936a6518c94082f78872642ae6465299015e080e52b6c1027d4deef9193deb26db1b2e5158e7565f5e0e6e9eca3fad8ca2b1e23b9ba4e2aa5bcc2eb92e3acd039ce5cd90a9d7d5429cbc928eb2eafbc1e0acd6741a12039238124812408822081fc97221522c5fb0a96ad5e85356bd6705981adbb0ee14178b65adc6adc095b2a4166880b36ae5f8995abd9feae82b1a9056e07a472f3486628249024900441102490cf17b91442a1007c3e5f1da144cc4dabc1276d6e7f452261d9fe8a45357b7f29249024900441102490140a850492049220088204920492422181248124088220812481a45028249004411024902490140a8504f27905b208d282342446052338b8429232902f55d1d9e88d4005695e06b293d32152d0d1204820492029140a09e4bf2a90124439efc0e2213fe0cb7a5fe2f36f9aa34dfb8ee8d8b639ea8f5a888d8e81c816ca39cd245e677994e486e0e65a3dac9bb0046e4974440812c8d75d206fdfbe0da9544aa1506a786a7e1776921b964d34c48cedb71023e15ea77b62cbbc3ef8acf354ecb81901c11b6d904ae4c7fb2153f4326514a34825415e52307224afdbfee523f2b239f41bd5477f1248822081a450282490af4c203952dc5660ccef1d31dbdc05b1a237f974928cb383df83e9d397b1e04288733c71625c635805bc86bb2889c5ed9db360480249102490140a8504f2550aa4c0d706d3fa35c718231b04e7700a25ca4274983f9e3e7daa494c2af24ac648caf211151654364f9d3864f0e49c7aa920480d4390af667a786a3ea4cae22abb63794981f0f3d69691940799aaa8b425b120c10f3e5eda7951599094ce1323c3c71b697c297263bde1e5c9cd4f15a0a8588474af1358f4ee3b5860fd845b2f0d6a172e5620375a538ea7971762f394da56463ed2bc7d902e90222b8a9bcffded972942a1221b11f6e658f0c5d7587d9a9b1690c56db102454a4872122b1c037f0485e640c295ad94e623255c3bdd3708616902948d302d82429c83a430cd7cbf9048640835738be4426425846acb0b46645c0164550ae4223805a62236985b362c06490279a9004bf393111da4293f283a09f9d2426eb204b98951484c48405a4c0cc29e46223143c41d6926cc718808d02c1f12970ebe8c06321024902490140a8504f2af04b250847807538cecf50b669a5f454cae10b1767b316bf44074ead6033d7e6d832fc76dc471af54c88ba4c8bb6309bd517fe2d7df7be0f7764df059c36668d5710b2e7927232d2514770ecec4c4a1dc7abfff84d14bf6e351543e1485cf76351724de879dc9280c1fc02ddbf1077c3ce308bcd338812b66ddd077716aed000cecd31d3d7a7441eb71eb70de2f09a242012789a7b0ac6e1d18ecbb83f3ebfba1cf2f4df1cedc8b489584e242f7b6f8eaedb7d1e467b6de39844181ec884738bf96db468feee8d9b51da6efb889545e3e626fed83419dba30b472c5c9155df15ba776f87a8d0352d33c70a8437334f8e04334eff027464fb0474c797b84323f060f76cc408b8e3dd0fdf74e68dbfc6b7cfa5d5f4c367041b49413d07b96d83cfd776e9bddf05bbf3f316cfd093c49e57312c9c9a3280711aec7b1731e57a76e9dd17fc458ecb8e0833cb11cb991f77168f514fcdea307ba759a02c37577105785404eef331e2616e6583ba93d9a0e9e09c3aba11017164292970c9f2b265831952bbf6b470c99b618a79c7d11e27b03c6e37a60c298d9d83a6f35f47bacc681cba148ce8ec3e3336bb0603c7bcf3a60d86c235c7b9204b192e48420812481a450282490e504722606eb5be0c25d0f78dc3a8635e386a2c7f8adb0f54f875c1c811bc656b0b50b42424624421c76a26fa769586aed891451186c470d83f95e17c4f101a1df118cd3df0f5bef344825f138b37c3e8c0f9e86fd3daedc9bfb30b3cdf75872c81d29820aad90e26858ad1c04ebfbd1e0b186b358274c1dbf0357c2f221154460dfe42e586517069eba258c8747a63dd062d01ab8a7f8e3e2c0dfd0f8bd77d1a4dd3adc4c91a330c812df7f341967939428cabc8c29dc3cd3279a16b4627e208cfbf7c7961b5c7d3c1ec0edd27a0cf8f8136cbefd14369d5aa2c1bb1fa35daf5d78982341b6eb2efcf0d57c38644a90e7cf49f2d7557461178b91e57f06c62d7be37c14a01224c3fde46af4597413198562247b5fc4c619a371d85fa011e5b83bd8b7a837fe5c7916f10221a2efdbc278ce7c1c72e6eae47a0d47d74ec0f85e6370c93f014fae5b63cdfa8bf0cb93429e9989b4f070a4572190bdbfec82b926dc8f80447f1c5ebe1a93169e47505e361e9edc0de3b55b70ea3657feedd3d83ae10fcc1c3d065317ccc28f0dbf40a38693b0ed7438f2d4adc9e970d96b0ce3ad659f85d5037fc5dc5547e09741ad900409240924854221812c279083f075d39fd1e58f3ee8d3878b810527309c3c96742e0bd21016f014772e2cc1c209edd0a0de008d40e606c266aa0176da3c408288138c6c37188db6c4c57b8910465ec28081fdd0f6b7eee8d5475b2e9795679e20955ffe16414a5f4bfcbcf014ee27f351f1e6414aaf3d68f2cd0edc48e2a3f42e35bc5b58d1e033185d4f8324cd0e733efb14db5d7990b396cdacab98fef1009c88523c2390454f77e2edafdaa2bb4e7dfa0ffa13e6eed990449fc094ba9f63bf2f5b50065ef0094cff6a1c2e27fd8d40168a90ee79162bbbcec1c50425a0c84394f371cc187c11518214b81fda8cf63dcf23bc748772106eb7050b3b0fc0198f28dc3c6488cf9b77444f9d3a4d5868846bfef108b3b7c0b43f4761ec8e73b8ef1b8c484e24ff760ca4380a4e9b8db0cec01a7e619ed8b1722abe6ddb197fe8943f7beb313c0af582ede29158bed00c5ee9659f85a573c6a259fb2ee5969fbffb320233e46427040924092485422181ac7a0c6439a4b9f0b9781033278dc4e6336e48f273c0a4fef33502291321f48c3e0c8cb6e0f04517b89e3a826966d771272e1f4a2690fa4771de3fe3d9717b15103cd88a9fc659e2567c012af694f2ef1aa1f15773703a340f6543f1fc71f0eb2f60703a1aa2d46b9508e487d8e921436146458134c5bbfd4e23f1995644652502c9ed4bfd86b0f4fd1b81646306337d70714d0f4c32b583ab93034eed3b08bd937ec8cf8fc32d537db4edca495ae9c0493e12ef1ec0a68e7db1df2508374fed453f2337645756b4221b618e87b0f88fdfd176e0308c3bea8a5ce9f308e4542c9eb6060f3c3981343d08c3e3fe28a858b630b872815c6f892dd723202017214820492029140a09e43f154855a41df406adc7ba1301c8e23c4c157e19e3fbccd10aa404d9372f6391de14f41938100307eec235ef74cdc52a29ae98377425d69e798c049142733f495106e2b2859054bc9026e11a86b732c4e65b91c82b1920a9c8456ab614aa683bfcd9e14b4cdbf608494295ba1c45b60396b5ed8ae34ff321cfb8fefc02197e06ed1be9e3504896a635b3b81845bc4484658a5f4a201579f17860b2015dd5c76032f40def6a24559a83c02b1bd1ad7367ecb896a1bef8a6489185a01ba658357c3edc22d2f0f0e43e0c1db50b0e89059ad657a518fcfc4c24e58b2093f0c063ef093f09ce871762d4743dd845aa9e5f20034261b3d104d3579cc5e32c11d447565680ccdc3c6467063c2b9059be305bb809f3b65d877f9e44b33cf7032235a74073e10d4190409240522894da2e902a08d2c3e07bd514a3fe188efed34d70fc49249205e5bb2ac55157b17cf0584c99bf0ba7ed5de06abb15637e1b8a494bf6c22df221ce0edf8add9b6c70c5c5052eda7845a543281720f8e2428c1c6d801d476de1c8e6399fc6c17b31481354eca84ec49d8513d0739a314e5eb2d79473ef322eb8a741282d8097d524f469a987ede7edd4e55cb45c8da166b79128c9e5dc732bfefcf4234cdff1108939e908babc09fd3f781f3376792335fd2e967dfb2e66ed71e6ca8c07af380ff7777643eb3e46b055d7d519379d8f63f7832884da2c439f4ffe874556c148cb8ec3432b43f4adfb25961ef54754d07918b66a00c343aeb8ef9e5ca1754e8a9c106798355d062b9d63e0e6f11831b95208529fe2e4e23f31a8f71a1ce5a63b5e3b875d7bb763c5a510b06b9ef3e3eee0e0f2611831c70257d5ebdae1e26d67dcf08f40b4d7359c3cae29efd20533581cdf04e728dd6bc01510c4dcc3b1190330bce764d8dc89465c8033f64ce983117d67e0947b02c21e1ec51afd89986b6485ebeaf22fe1a4eb3ddc74bc04f311bf63f4b0d938ff28017cf5db2e41acab29e6ebe961d9f6e3b8a17ecf2ee0989b1f8239c9e62507c22b300c490552bac13c4102490249a1506aa7404a117fff30b6180cc3b061da989c80731cafc27299f0d9b7054bb5cbac343787b9a12166727f5b5cb9006b834598d57f50591983ba629cc1293c8e66e31953e0b16119f44be659ba20a2b2717c2512b9481fd34a96dd720391a5a2c287f79119983cb6a49ece48142b508c58384c998831ea7576c035e83e768f198d11ead7a6b89f93078f5d23305cfdfa2aa258a36361382e956c63e4688cbb1105a5240817d4d34661fcc43d70f3bb0513f5eb3198ac67098fd438386d65af276186be0be2cbd55b86bc58176cffed8fb263306420468c1c0323cb0808b9a3c04ff5c4f9f5da79d31662ede51094dd5e53840cefebd853b2ee4223983e4de7dc3007112ed65859327da931f6f9645438663cc4399fd4d6751e8ccdcfe092f51e2c56bf9e0f93a3ee4894e621e29225369694b3f1102e4570c27c662f8cb4d38c8fda213abfa4cc6c041e352ddbeef653b89dc053cb65b48b39d69a5bc1292c1bf4d444820492049242a1d4e62eec9740991f8c9357ee21302ea7b4454a99648f1db34ee2e6d30c486ac109ab58294672b82b769ff32e95aa226916c21d0e61d5ccdb48a6733a419040be9440e6c2dfee128e1c39a2cd758465e46be71520ecae13dca3f35090190e77970748e7555e4e9cbf1b6e3d89004ffc6f9e3453e17ece169139dad7298fe097c1fece43c0f5cbf048fe9bf5453c242547208df73275c8c693d327e193cefd9d9f88a0e40c882552e42405c1dded29b20524361412c8572e90e2483b2c5bbf0e9b0e1dc7e5ebd7719d8bcbe503b0760d426241edb87160a1240701f65b31d86013ce688f81839d2deced6c601b24a4333a419040fe73812c48c1359b4dd86ae38880800075ee1edf8679f3b6e051365b260b4e1b1763d7bd6488f839488e4ba8421025f038bf0d6b0eb9204bf46f9e34f9480e0d438e90fd9d08db1923703692fd9d820b73266377e05faf9f9bf410d6a67b1192fd32758883e580be3811ce4788c3111cbcfa10424e2005f959484e4881404c624321817ce502c99e0213e9b8036be78dc3b8719a6c3ae7516be451ab9090e486e18649d93198b968156c83491e098204f2e504322fce139b2d4c10905c503a4da1e4c3dd6c22865805690572092cee27432a1143241441a2238d22a100020117be000fce9b941348b148a899c74524d6594720844824e2a60b2196484ab72b1173d344629db2b9e5c4daf9dcb685ea6d6bd667eb898491d8d3bd1b4e87b1f23502b927905bae749b920afb2b465aa40bcc97192320bd643f2455d453bb0fe2cae6c5e33013c8b07c3c3e6906f393b7912f1043c28e8f485baef6588974cb969495cb8edbb3f5a35048200982204820df0081cc8d7b8c8d9bd6e2c4fd689de93228548528542aca09647ad44d98afdc81506deb5dfc936bd8b571390c972dc3b2392bb17ce5b25281cc8b7982839b0d316f31376fe134ac3d740bf1d9226ebd181ce83b1bdb0eece1d6db05b7a064ed364588be7318638c2f42c0c42d2318db978dc3dcb37e6ac94bf5b98a95c61688cef185f9b0b1b81d9d04a7c35b30fab7ce18bf641bae3ef6c6594e2097ef3a8af58b96c170ce242c39e08414ddeee45c1f58184cc3f08143a1bffd1292f922e4c67ac07cdb52cc33e4eab96c36761ebf8f980cbe46f2d283606db114b316b279fad870c019212905a502b9c7c5096bc68fc0f071d3b1e4900742bd2fc3dcd8127179520813b9fa8e31e08eed7a2ce38ec192b913b0e38a97b67b3b17b78f1ae3a24f3a491085049220088204f2cd134899281f811ee730cf602dccccccb81cc19da7b110962ea32b90b760b16a07c2d8f8c3bc0058cc1987f31e29902a955064f960d5c47e5a814cc5950563b0e5ac0f0a644a28c549b861b6143b4efba1401a87437d7b61b96d94663d99acacb52fee0ea6cf3385671e13500f1cde3805dd575f479e448000071bec3b7d1bf9c250580c1f8b3b4932c815f1d8dfa31bce4773e5c8d360cb09e4f88d37912651429af610cb474fc2e9689dfd95c99193e80a8b152608cf534026cd83f3feb9b0b07b8a7c6e1da5321be78d97c3e48217f2c505786a390d4627ee2053c4e6e5e1aee9422cdec7bd166a04f264a410dee72c6071f601a4720512bcafc2628b25e2f339814cb6c3dcc1a361753b1042ee1808933c60b27d339c8233206182ae50422e9791045148200982204820dfcc8b68643211725293111f1f07efdb67b174ca308c1d6784fb597f2190a1873165da11c44bca24e8c189751a818cb884c1bd16c323b3ac4533cdff04d6ac3047788e46206d422ba98b241e47a74f8565881851f7ed7176cf6e2c19731861c23c381ed98d2337fc39b12d1148b64e2cf677ef8673519a8b6b5817b6991fb73feaf212603369240e8594df4666ec5d4e20b76ac64066bac268d264dc4d2cab67f0adbd58bff32492521e636dff9eb8125d362f23e824562ed986e06c6d1776040f9e6738813ce3a61e03195f412057ce30c493d4928b77f2e168bd05db2f3c41018d91a49040924012044102f9260ba4889f87ec9cbcd2f17972b91245c5c588bfa0873e03f6235a52b94066dc5a8df17a679152ee221aed18c8d0d3e8d4a91bfa0e1c8cc183cb6260bc1b115a813c1551597de488b9a88f455763f1d4ed1a1c1f78e2f4d4b5b8169e80c3164be01c92c32df3d702b927a8a4ac649c9a34ea6f04d2192b464f869bce95db318f2fc07c873512931f6049f79eb08b2d9b9793ec0af3251b1194f53c02791d5b0c2c11c92f134887a35bb0e58c0709248504920492200812c8375b20631f9fc69acd7b109e292c375d117112bdfb9b209857b940ca634e62e6147384179409a4dbf1f51a814cba89c9bde6c023bb1085856551a91490cbfe4a20a5e0079dc4f0292771f0a431ec02729170491f7afb4ee2e84e7384e5caaa57200bbcb07de624b8c496edbbbfbd058ccccf21253b103b46f4c4853041e9bc34afa358ba9cdbe7dce713c875b34ce09721d25c20c4cfc1c57dabb0e7ba2ff812121f0a09240924411024906fb0400ad243616ebc080b2d1c9153323d2300fb8ce760ee3e3ff0645574618b5260bb791e765df2448e8813a4981b98356eb44620c5f970df360d4687ef22557b114bc0e5cd386aeb8e0ce15f0ba44c1c84cd9dc662fe065304644920f23f84ce7f8ec286fd7791a316af6705f29057fe0b09a4c9c24df04be1a45126c2a3138bb1cefa065279daf2162dc45ec75008a462445f32c47cd3e388ced5dc32e8ec223dac3ae98502497981dc74e82684e267bbb067f51e85bdd77cd52d8e398117b068c5323c882920f1a19040924012044102f9a68f8194402088c5f1d97ae83f600006b0f49b86c3ee1110a8c7375621905219046961d8b77632fa71eb0cecbb04a6a69b4aafc296f03361bb6306fa6acb1c33e62022f94248a47f2d90acdc475bba60ceb22b489771afb3eec0a0d7001c7f9aa31ddba82b9032f89a7747f7a1d370c8d903679e4320f91971d837bf1bfae8ef454c8110e2fc781c333540dffeac9e7db0f76e320462edb84e4e846f1e5b863eea797db1f1463cf8ea7925022945eae3339833b61706acba81a08a6320c78d87d1d21518ceedffd0614370359cafbd755026cead9f8cbdae89244114124882200812c837f5493472280b8b505454169542562a744af52d7d6490c954282c54422e2bb9f8460695ce7aeaae6a95422b7ad2f26516aa20574f5740a52ebfeafab0f50a554acdf26c4c26b7bc5221d7ce57a2b0a8100a79f96da8142a755d0a9565fbc45eab94152f182aa9335786faca6c19143af55429e5e5969773fb5eba7fa5f3caf641ae5070f561f3555c9d34c74726d308e4ea998be1935db6be5251be6e65fb44a190401204419040d2b3b06b7d3402b9084fd3e9585048204920098220812481a43c4724c274440485a8c787d2f1a09040924012044102490249a15048204920098220482029140a09240924411004092485422181248124088220812481a45028249004411024902490140a8504922008820492049242a1904092401204419040526adead86241288c5e267c2a6d3f12181248124088220817c6ea1484b4b436262e27f928484042425252123238364e03f94469148041e8fa77eaf63636311111181e0e060444747233e3e1e5959591008042493249024900441102490558789029338260fc9c9c96ab160afff8bb06d31896432999b9b4bc2f22f8aa35028444e4e8efa58336964a2c86452a150a0b8b858f3ac703e5f2df7e1e1e1484d4d45414181faf341c7900492049220088204f2197964e2989d9dad1606d6fac4c4e2df0e131ab6adfcfc7c646666aa459249248941f586bdc7ec7d2d1175d6fac89e5b5ef28c6e268f2ce59e85ae52a96593fda8484f4f57bf4f24f72490249004f117b093e9d3a74fe1e4e40407078767e2e1e1a13ed9b22f5c8204f275154876b27f9e30b1602d4d7979796ad190c96490cbe5ea56a9ff226c5bea67477332c90496fddf627f3f6ffd297f1df69eb2f7b6a46b9a1d6f5d51fcbbb0329878b2e8766b535e8f904012c46b84b3b333eedcb983fbf7ef571a5757575cbc78517dd2234820df7481643f98584b131383ff4a1aab1249268eac259285e4a07ae491b536c6c5c5a9df63dd56c717096b8d8c8989414a4a4a694b248504920492202ab077ef5e752b4855dd35ec0b79ebd6adeab15bd40a4902f9a60b24fb1cb3cff47fd9ea585558eb276b2d632da2d5758265c2c35aded8983ed67bf0e0c1835a91921fbbecb3c00452a954aa05f29f86bd37010101eaf2eeddbb576b8ee38b845d88c4bafbd9385212481248a216b26ddb36f5382c36468b9d7c2a86fd1a5fb76e1d424343d5bfce0912c8375920d9098fb5fcbd6a792c69852cb93ab83a4eaeac7535323212818181ea933b4b505050ad08933d4f4f4ff5bfac25f265e4b1246cb8838f8f8f3ab5e538be48d8e78b7dd6d88f15d65a4b02490249d45281642755f64bb262d82f792690bebebe249024906fbc40b2eee257dd7dad1bf6238d49edcb9e58d9853925d218121252abc2f6d9cfcf0fdededeea71a5ec476f7584bd3fec221c562e13a5da765c5fe4f8fbfbfbab870d9040924012b55020d9898cb586544c8940b25fe1249024906fba40b2ee5df6ef3f913d5e7200b6cdf8152b2f3c85422e87f3eea9f8f5d75fcbc560df15e4889ebf4cf6c38db51cbeec89b5a4e591f514d4b63089f1f2f2527f47b1efabea0cfb6e642d9b4c906ae3b17d91b0e3ff6f5f7444024910afa140b2d646d66553312490249024905cc419b0b7d0574be2aa4b9c402ae4f0b133c7a2458bd431983a14bd462f8143603ae48aff5620d9ff53769fc3b0b0b05a19d602c65a09a3a2a2aa5d20d9f722eb16672d9c4c926aeb317ede94fcff22812481acb5b02ea5a7daf134353d1b376e54773db09310eb06ab9812813c7ffebcfa4bb4a61f0f76fb0f7662274820cb2244c8a51598d07726264eeca7154805942a9576bc5c366e6d980de333dec897295fa8ecea1048d62dcf5ac89844d6c6940824bbf54e750f316063c39918b11fd04c206beb317e9eb09660f6a41f124812c85a4d0cf79fe0aeab2b42b92f8e9a9e8d9b36a90592c9226b89ac18f625ca04f2d2e5cb08665d1535fc7824a7a4a8c58020812c49b2ab3946f7ed8c033703b067f5e852812c499cfd720cebbd1d21c217bfb2bb3a0492fde0656394590b5c6d0c1348b6ffec8a7676615275865d8dcdaeea6602c944b2b61ee3e7091348269224902f2990b961e77070eb344c9b360d1b8f3922343112f1a9d9c816b0b9d908b4b680e3b547481566c1ffb0191c6f78225d544941e22838996ec0e55b41c891fc97a78d04dc9aa70fc7302954cff45ac6c1494f0f8eb1fff5a94c8682d8077034da8ac76915e7499013721b8e5b76c13ba31af63e21015edc2fda4c4eac6a7a8c8d8dd52755762b11763b9f8a61b7f259bb762d6edfbd8b746eb99a7e3cf80201ddae8804b2ec563ba99e58366b18e69e0d434e7c00762d1d81a527ef22872fd55c492d8dc7b1c9a330d83a12aa7fd0c2555d02c97a07d8b39d6b6398b83081643f82ab5b205958af0413482647b5f5183f4f580b2d1b8b4b02f91202c9e471a7993e5659ecc5695b5bdcb878189b574dc186a30e08cbe6e4f1e866cc6cda10069bcf202c37160e5306c2d4e42222f32a1494e10d8bf5d3d1feeb7a58b0d70509bcfff2b4e18b7d9f7d0a5337011485bad363e13875303abcfd364c3dff6b79bc0bcb01bfa1dfcfdd713eace27c3e126eef8769d73f7125f2e5b7c62e1e515f19c99ea95ac3c3eef158f25c6076f3dc8a6183a299403e7af408223640ba861f0fb9f639b90409a4422145ccfde39832e0d7672e96e96c11c0cd9721fdf1298c193804a7e354ffa88bb43a0492b5bc31b9a9ecff6f6d086b192ce9c2662d86d519f6feb0dbd430416572545b8ff1f3847d06abeb9654b5542073e16d310b6b971ac3295208e65ecafc0478b91cc4999b4f10952d4286fb49aceada1a8bd4022942baa73b22c29321a838ec4a988a878e7b31a55d132cffcf05321fd1d7ed1091a54451311f9e967ab08f627fe721f2d832747f2e812c864a96864756fab815ffb2f551419a1d0ca7b51330542d902a08d27ce07e6e2b9ea85b239510674623c2cd0329c297dffb92a711943c33b526875d44c364998d5da9ac5b828d016202c97e81b3f15eb5e1981024909ac8c14b8b82fb6dcd633daf5f3c8125d30660dac6fd700861c33bf87872cc1883ba2c839758f1ca0492fd1f65ff5799e0b0eed6da16262eecfb89b58255f7b397d9d87076753b1b63cacaaf8dc7f779c3c690ffdb4feea9e1029907af83b3a1f7c76cecb38b43a9f3290b502010412c678d65deb09ad80babd502f937c51578c0ac7f4718fde702a94b18ac5a7c04d3873214b2736be6254c7ae77904b21032de231c68531f07fcaaa11aca3cc4dcdc86d96a811423cdf324f60dee03db083ac9bf0c2502c9be00d80948775034fbc2d41548ba0a9b04b2368e812cb922579a138b03da31904aa5e6caec1b3b97a0d7b4c3c854bc3a812cd92fd695cb7a126a5bd8f714ebc267ad84d52d90ecb8b2d64d36ce92fdc8ae8dc7f779c204bb3a9fa8544b055205bedf19cc19dc1b3ffcdc1b8687ae2130435ea1b755572033e0b3772becaeb0f190da2b803dcdb161c9688c1ecd65684fb4fdf27f985f2a9022845e598f253335f3375ff246ba400508837061e502d8debb073b4343cc1e6d03f7443ecab62c80dfc905983599ad771a9ed9a1709c370b53d93646efc4ad441114b1ce98396d32469bdd45aa2c120edcdf76dc7f1abb8903d1e1dd77d0b6e7088c1a751591e917b502c9c3c3dddcfa63c662fc8d988a6d78508a03717e6877b47dff03fcdc7b32f46639239e9b2e17c6c3658776ff26cdc0bce3be10e848a7242f0c37b669e74f33c0b27381109613c85fb0ffea4dece9d91e6d3fab8fcefd1760f5963bf00f7482ddda6d7892988fb8076760b5612b6ebadfc3492356963ed6ee74429498b5eca6c0fdd26e186cb0c0ad6849ad17840b172ee0f1e3c7ea2f4ad60dc1ba6b58588b06bbb8867d31b38b68d8af4b124812c8da7c1f48057b3c5e51318a0a4baeb45642c5fd9f28663d16af58205998e030d161ff8fd9499d8de5ae0d613f7e4bc641b21b8957e7b3b559f9ac5cf683ba361dd3e7093b1e259f39368c809e44531d17d1487210faf034960cf805adbf6f8daefd8661e7e95b48e0571448739c5abf1a13bf6d0003ed1848268f4b37cec756eb13b86a6f8fc36b3ae3c7466f61965a20993c9ec6f5eb1770ddc91ef6e7b7c170f8181cb5398c39b346a0e5ffeaa055c70d386a7d0d0ef6214811c851367c5181ac503b6c1ffd15661abb21969f8bb8bb9761fce7e798b9d5051179dc17232f1e960be763d723179ce3a4b1e3fbef619b5b3222ce1aa1ef07ef63da8eabb87e231af9199a16c8363d4d70f1ae3dae9b4dc7fb3f6fc2635ef9eeeb224506022d17a1579dbad0df73132eb7e3902d8ac71d8bd1587bf02cecedafe3d28583583c7d1066a82552238f372d266083e5396ebe1d2e9cb2c0a259a3b0904964a9407681cdfd6038ad9b8801cddb61a5a503ae581dc286ae3fa17f878e58bbdb1cbd7ef9018dbf688dd1730fe2ca2d7b9c3f6c8cc51386c170a737321442a446f9e2ee231f2416286bbd20b02f023b3bbb528964e2c8be2c993cb256c79d3b7762fffefdea2f0beade2581ac0902f93a3d89a63a05b264ffd8ffdf92ab936bc323f5581733bb91b89b9b9bfa072feb76ae8e63c964947d2fb2e73e3389a4c717960febb162612d8ffff60dc46bd76d7c547ca4067be3fe09130ce9d60a5f73a2337bb71d8233e53a027904f7eccf6075d7d658c204323902e717ccc79a3d37109823036beb11c59cc2f2eecdb0820964e83d2c18de0bbf74ed8501438661d8c0dfd1f2b34f316ef3719c3d678689cdbfc1a4a5d71192a52b8eba2810736a127a6fb881f002567e0e1c163644e7431ec896a8d417c89c3b700b59d21cc45fde8c419f7c081376114dc6554cfff843ecf428df853d63b73fd2e5c5288c398edeef4fc595ac8a4320951045da60ea67da2e6c9514398f4fe08f0ecb609fa5504b66a1341301b68618d679241ca20448b8638d013d8ce09cad99af1426e2d1f1f918d3671a6ec5ea746107e620e2fa66ccf9957561ab20c908c08dd5e331a6732f583addc7fe156330b86d2f985f8f47be928d200881d3cea9d01bb202f7d3490aca7d54552a7517d0e5cb97d517cab07bcab1dbf794c8e3ae5dbbf0e4c913f5d816124812c89a20906c58c6ebf428c3ea14c8923191ecc21a7641033bb9d786fc7f7be702df53fdfff1afa2a6d0481a960d63332bb70919866a6e852449b996fa53548ab2fc56b9a56142a8c58a42852e44723719e67ebf366db699996d36fbeefefa9fcf779f6367c7f9eec277a3edf57a3c5e0f763ee7f2f97ecee7bc3fcff3f97cce39616161965e300136a2574c9481809a9bb5007b15c0058c8b37529495b22cac45274371cf792c63009982b36745458b937fc6e2e8fe8df8627467b46f391433569d41827608fb6c0866f76e8b710a40866e0ec2a0766331edc7a388cd32980319b21c4f0dfb08e3e72fc5ef6bd762adf4ee3331488e5e0fdfe62e98b0680fa293ade72eedccb778b1c518fc78f832cca75761e18a2f30dcf343ac3d9da8c0dd12fc107a11e60c05126256626895fb30291f80cc9903a94060c40f78b1421dcc3d9c3f4066a526e2f8a23750c3712ef65d5fc78cb8e3df636ccd7a18ffeb29ec9a3b02751b07e2d0f5f4245c085980f75d9a61cac6302b00297e58340e2efb10af89a7b00f4662efe2f731bc5d4fac3ca58ea85fc2e11ffe8777db3d87c0bdc9a402fdf4d2f4740b442e5fbe1cdbb66dc3ce9d3b3175ea54f8fbfb5beec0c51d3d87af0990a5012045a327e0e04e8047f18a18f1c68792f8867069b70acd624445809f8067b1ec66adbe185b809238472ce33bc3a51c20af62ffaa8dd8bee530ae68e645268606e1e5ce1fe0c3c083b86405200f6f5b8adeed47e283c5fb10956e05207d66e0abe070dcf0cac8cb1b0a059048bb8435633dd1feabcdd8fef517581f75017fbcd3045e81abb062f67738122f21b14800f9bd0290f7c07f77fe00999d9684b09fdf41d587dbe1fbebef905402e8d915985cdb05333647e2d0b76fa2964b37fcfc8f9a9e8ce8bd4198e4da02f342a26f1e201187133f4ec2a71dfbe2c7637c49b435881473a756ac5881c0c0402c58b0c0d2f348782440962680143d26a24e8b57b4dc6e80140f6908e811c04238b8758b1b0331ecaccecb1310293e45581470147543c441b1bd782d10cf0f01b2640172b12f5eef310a5ffc724a42e4359c5a39163d467c84d9dbc3916605204f841fc0bc9eddd1defd437cb73d22e7c1112d40469ec1a2d1cfc1e7dd79d8723e1e160c3abf11dfee38870bffac2b1c408a1c6efd004eaddae2f5591b109e9c8684cdefc1a145737cbafc3812d224281403408abfaffeb31eef74a886d63d7e8360c82c731c0e2b65e3d57f268e259871e9e84abcd9de119d5f5c0bf1e69fcca448fcfdc358f8bc3a0f27af5c2e1240fa34e984ff5b1f91f39bc337e1eb493d30f0a3e508e37333f90e678b27b2c5433422888a3b6fc22301b23401a4189e1490206043f400de2e7814002be0469860603b8b1b04314d4140a4187e16714cfc2d968b736ecde23c8487875fffa6b88047319547a4b15c0990250790c1ebb1e6e7e5583e6e0c5eebd8111d3bb6438b616f63e29f7b1195741ebba6bc891e35ec51c7b92b06b77e125e0f3d803a75fb62daaa501cdbbf1ad3dbf9a0d3a3ade025b6f56a86fa552bc1c9e5317cb27c274e1cfb1553bb3c8da71e6f8b0e227d62207e3fbe07bf0ee98996952bc2d9ad05fcff50c0d59c4f1693b6e143a7d158bc371ad704115edd8cf71cdec22fa71558b44c713b89155d1e8753f9bb51afa92fd6861dc15c1f3b346cd101dede3330b3ad071e561a957a2d3ec5a6a31bf1f113eea851ee6eb8b69e82ad57b407ca84f9f22e7cee5d010d3cbba2679f9538919188733b16e2bd8e0de1a9e4dffbe9eee8367e91657e63ba786f646a1c4e6cfc126f7774434b91deb5177a7ffc3d369e8b44f4b1df30e5b1baa859a90e7c06cec3eacd8b31b69d3ddc1fef8b173abc8751ee4ea855a5017a0d9b81a079efa397930b3abe384c29ff8ef0eaf13c064cfb0e211109c848388f0ddf7e82fea33ec66fc7399cad9798e7284052f448121ea9d206902a440a601050217a014b122405388a3ca8c72fa9870fca8a45798a72153d9162385bdc0c8bde44f1af982729968b1b08b18e004431e75bc0a63a7f523c1422e63bb2e79100791b003253a974d794a094882b678e61ffd6add82a7cf49c028f625cda8cb89347b0cfb23c5449df895d96ffefc7d9a844a466a520f6e84184aadb697cf2c2159833ae21e6d03eec56979f8e4262aa72c7b53f142172d999e8abbaafc7dc409088dc1581787306b2e4df17422290a06c942d21f8c2df3bb0ddb2bfa3884e3123e6c4766cdf26fe3e85d35bb7c93c1d474c620c8e59febf0ddbb79fc025ddcbd0b332af21eaa8480fc6df3b2f2847ca4656ba72fc2332ffc1caefb7c0e3757c512052b9133c2cd377ecc2de7fae28e99948bb1aad1c5b2cff1b7bf6ff83988458841d147f8728bffd088e58d27662ef9e5dd8b4e87d0c6dd9095ffc7e20673f21fb71e442624eaf6dfa355c3c7f1cbb0e1ccb7905124551650a20b5f3e6044c088bdef692b07a3c8263f10f67ab0f1289d7fc0880144f6b8ba7b4558b27abc5fb0b557014c0291e6812e787f04880bc7d4f6153b74fa9467320298a2240d265edc11ad1d32b7a1ac5d41cd1b3a8be3752b5f85b0c5d8b9e48f12d6df60a132009906555e9b138b53600afb8d4c2c355aaa1cb9071d8fa2f8b85a2089074591ed6163d92a2075840a2e899145029fe15bd8d0232453ac1910049802ccbca4e47726c388eedda6579b1eca1e3a7116766b150140192a6afddf0be4796090192004951144580a4699a004980a4288a22401220699a264052144511200990344d1320298aa2089004489aa6099004488aa22802244dd3044802244551140192a66902240192a2288a004980a46902240192a2288a004980a4699a0049511445802c46805cb76edd0d2f88a669baf4990049511445802440d2344d80a4288a22401220699a26401220298a22401220699a26401220298aa20890344d13200990144551044836ae344d80244052144511200990344d1320298aa20890c50290aeaeaef0f4f4a469ba947bc8902104488aa22802a46d00d2c3c3036ddbb6a569ba947be8d0a104488aa22802a46d00b271e3c668d3a60d4dd3a5dc04488aa22802a4cd00d2dddd1dad5bb7a669ba949b43d814455104489b0164a3468dd0aa552b9aa64bb9099014455104489b01a49b9b1b1e7ffc719aa64bb9099014455104483e854dd3349fc2a6288a2240de1e806cd8b0215ab46841d37429370192a2288a006933806cd0a0019a376f4ed37429370192a2288a0069338074717141d3a64d699a2ee52ed500999561c6b5e4042424dce86be6346466977c0390ade4e9ead544c33c596c4e4756361b4a8aa2fe9b0059bf7e7d3469d2842e3637429d4a9550b162c5bcae6c0fc7868d4b381ff7df988f8a95f050adfaf078ecd68ff1a87b03d4adf7083c1ee579bf135daa013262fb040c7bfa7edc5be16e98eebe57b9c01e4055fbcab8f79ef2e8313a007f9f3723bd8469edf28609f07475c0dd7795b334067695943c55ad866ad5aac1bed2bdb86bfc6a4426a5d9e660596948cb60a34b5104c89203c87af5eae1b1c71ea38bcd7ed8136bbeb1729863e1ffe948b87a94543e3e46685caa412dcd40f8f699e8dde956f7df0ccff67d01c1db66a2970fcffb9de8523f847d75ff62bcd6b5214ccd0761ca9fa771eddf4d18ddef0954b8db8466433fc78633c928f10ebf835fc3b5ce434ac1df8371abce21415e83b1ebde83cb8c8d88b2054066a7e3da9945f8710f1b5d8a2240962c403efae8a374b1f97f1680cc4abf8a13fbd760cd9a1cff9398a1347861f8f8ad5e96f53cdcdd50afee2378e411e13aa8d7b0113ce43e3c3c1aa3417de79cb4066e68e45a5ff97f5d34746b9c93ded81d2ef5647a9d3a68d8a8b1413efc2c0029f2717c5f6e3ed6acf91d4b668cc4934f88753ce0eeea02a74772f251a74e7d34f2d0ecc3c3036e0dea5f4f77726e00774b7a63b8b9f8e1683270e9e064746aed8246967c3542fdba4e725f4e4abe3ce4be1ac145fcc67a2e707616e9f5e0d69875a5b83d78f0e0320690484468e04074aeaf04e296c311b0e51c526e1b4076c3ac908b48cecc426a4a2a32b363b16edd0198cde9b74a8f30c7efc5fce7efc30c02244511204b10209d9d9d213e67481797275800322df10c668ec95d3e7ae2015c4526cead79d9f277db0e4fe0f30541080a125e88c9a387a0ad029122ad49530f8c99b930276dd6183c367eb6f2ffaff069b7a72de9cddbb4c447b365faa240bc33ec69b8b8b9ebf2f13f0b40a6269cc2f4778df3eaee5a0f4f8cf4c7c2a09c7c2c5c3013033bd7b200a948775560b1db7b33b148a67f153001cfb57b046eee7d30f59bddb8a230b1f972287ef9792ede756f84961ddae393b98b72f2f5cd3cbcf1726734b0e4eb5dcc5596cd9e3d0ff3e7072ae9dfe09dbeac2bc5edb2079099b1d836f72578399960e735125f06ff0b738619f17197101919297d05492919c8bade236f465c6c8c265dfa72225232b22c3d9859a957111b132dd312702d2dd37acfa61e20cde158f2c52ae50ef29a72f95f1f7f5620301a5151f25871d7909167875948b912959b972b29d7f39b9a701e2bdf37a1c2bd15f1bf3fa210159d040b92666723e35a9cdc260ad11793af2fcf34275a96475fbca8fcf614244646e362cc35a4b3cda62802641100d2c9c909e27386747139072053e38fc2f7e50aa85021c7d3b65e56da80349c58f6121e7dcc15ab0fc7223d2bb75321ede271bcfdeaf368e45e0f93fe3cabb45db241c9b88618b36879ae60dbb0fe0af43d8295072f21f5fa4302d9483c1f823707fb28db6af32101f2ca618c1f909b0fbbfb2aa34e7d3725bd3e9cbedc81d8e4f4eb6d6176760622f77d8d577ad7b7e4a3d5b77b7045696bd5f4accc54fcb3fd53747f6a0476276a6b7e0456366b8cd5472f234dcd577616ae9cde8c41fd3a29fbfa0eff2a8b3233339125a6a525edc7d8e6ac2bc5edb203901e7d31eefbed38bdf37bbcdca5192a56ae8ac15396e2f8e50c98f72f47ff8e2d51a5dac3a8f1e07db8b7424f8cfd6e3f22153854c810577707a16bab2678a0ba036a393c08bb7bcac374bf3daaf79e8a3527950b2d3511a756be0f2f4f37d4ace58887abbd8a599b4e234ec2a57580ec848f7f3f80537f4c81e3d0efb0efb20a90020e0f63e10027383bd7466dc71ab0ef3603c11712906ed9612652e20e607eef07e1f088231c95f4079ef912fb15c8cccccac0ee2f6aa25a4513ca952b87076ad44343b7af715081c4b4f87fb1c5bf1bec6b38a276ed0668d86032d6c72be0997615e16b26a0b2d238d93bd4826fe0527c50ad2e9c1b29dbb1cda62802641101527cce902e2e7f84dd067320b395d81f77663b9e7fa6b302905fe3ef53fbf1ebf8b7d1d9bd31dafe715eb48608f57d0b6d9a2f44b8e0c6d8a31839f019657fef626b6c7a0e400e7d116e5343700d29383a63029e548ed7a2e56a5c44320e4e1b03afc6da7c4c309c039991180eff712fa051b300fc23febe7c169f8c7cc9b2cdc47517918124ecfbe44db4f60c52f2a1b44b9187f046ff1e96f4395b6395d62d1e3b46f4530065328e2501b187a7a37ba746787c56a892ab641cf07b076d9575bd9f5c8f58e537ed193f1c2d5480bc7c08c3fa77611d2921971d80bca792024eb55047096e22c00dff4cc0a358e35f6c1a3318dd9c462060d529ec5d33184f375500f1a549f8f9641cb2623661e2d3cde070ef60ccfce32c124efc84ae6d94fdbdf039fe387d4541bd745c58f5011e7771c25b0b7722321938fe434778bc3416ab8ec520353b3f80ac88aa0e8ea8a30060e55e0a00aa0099168685af3c84caf67ed8703945b9e00e6076adcab0ebea8f4309cadd5cea39cc7bee5edc5de933ec12908b50f8df6fc25dcfcec5d954f1f47938163f6f4205bbdc21ecacd438ecfdac0beeb7af8f058781f4e48b583bd9010e838210969686c47f7fc787023aefae0ed72673b07af53cb4edac9411db6c8a2240160120ebd4a903f13943bab8ec6b01c8ccb478ecdbbe188b17e7f8dbc0d918f24267cb3a8d1ad6c32b234661d4173fe19c3ac95e00e47805dca6fc05b3d2aa446c5c807ead73f6d967d5196589029043fae1993fc20debdea5fd1fa3535b6d3e1480bc9c8accd42bd8b72d6f3e06f7ed0437dfe50af065236af3f71822b769d57609c23380b843b3e0357fab928f349cfd2100bd657a8fe77f41b4927e6997af0228937200f2903fba757443ffbf2e18e62b7ad73b78bcf9b74a4b9e8d4b87be46bf2eac2325e5323807d29ab2909a7811277ef5c353cd6b5d07c8c4dd73d1bb9513ca7bbe83a0dd1130ab0069f71ae66e3a8fc4ac23f8cebb199c4d2f62e2f21d387cee1cf62d7e138d9dec31fceb5d884aca2e7808fbd2267cf0ee729c8ccb01c8ccdd33e050ad124cbdbec2b1aba94ace62b072681554ac6082ef5f0930074fcee905edbb041196eefc682ceba7c0df5d7761e28e0c0380cc84f9f23a7c60b243e5aa13f09b92c733c70f60cda74fa2ca438e08d89386e4d8507cd1c384ca0f3be3fd75716ca9298a00795300e9e8e808f1351abab89c03906909a7e1ffb6f13a8d3ef9169752c433353fc3efc337307a6714901187bfde1f8e1613ff54c02e13e19be7e185362ecafa2ee8a60064a600c8c12f60d2ce04a5c948c2fea55fe3bdd7dfc0eb4306e0d9679f439f9e5e78d4437b9c8f2c00999a70129f8f36c8c7074b95f6361b117f7d8757eaba5896793653005269e42e1f9a86b6733729f948c3c9207f3c5b2f27bd6b0f052095f4985d6314409998039007a7a1ab77434cdf93a8fc8604ec5a38076f2bf97a6dd04b4abefae0f99eade1ee2e003213913be7a28f37eb4849990009d11b1783c8f0e3f86bce30f46af910eeb7cbed8144e25e7c33b80b1adfd70fbe5f6dc4bef5b3d1be7d4bd4ea3b0d7f9c8c457ac2364cf5f2c0c3a68aa856b30eead677817891aef0a079db109e905130402a17ccb14d9b109d92338ff1f29a51a8615fd11020fb2f0943e48a6139af26d20364b9bb3078e5a51b01523c917df63bf43395c35d775741cdbab979f4f07c027e1b2f5d07c86ab5eb63c10136d4144580bc7980145fa3a18bcbe3730172b4f13a9342122cc0f8dba87ea87157392c39a5b4136997f0ebbb43d1d42d67083b3bee18fa3cdd42693786634f42b665087beba0be709bb21be2dd2417778f83877339d87f7b182929b1d8e5fb165ae7398e2ff648809c36ca201f6e332d43d8d989e731fae5272d53aac66fbda2ec3909fbc68f80a75b504e3e628fa277e7e696f4e9bb1294f478040fe98b86ae93713c194839fb2b9a367446e319fb2c401a193c1c756a9443dda5c7947cc560fb9b43d0a4419004c83978ae03eb484999009965c6a1a503d0d9dd0ba3e60563efbacfd0a365cd5c8014f311c3d623a07f77b469e80a5757c51f062138e2aadcc159acecd5122e155ae3cda03d084fce79782633391609d7d29191854201641e1dfd164d9caae0aea7e6e260a200c80b58de5701c8aa0e08d8998c0c65fbba0f5640b92e8b106601480518bb2900f9406dcc3f9877087bfaee0c5cbd9aac5ce4c198aa6c73bf7d3fcc576eeb2c87ccce44fad58b8837672239260433bc0990144580bc3580ac5dbbf6f51b54ba38ac00e4250190a71480345ea751c06a5c4ab9fe5825e20ec6215dc1c2fd9346a26543174c58b91b57cc32dd1c877d51f1390039f079cbf63f049f424ac6f5c9958839b911aff6eba43b8eeff51ec869a38cf3e1aee4e3746c4aee433499669c090e40ffee39e9edbeda80f357ccd7d333d3127164bd2fba7470b100ca4fc7d5874393b07d7253acd8750e66b5bdcccac085c36bd0ff592f655fb900d9bb3deb4849b95403a498e7776aed543cdfce19a646bdf0f6d79b712e3619695aa84bda8bc0173ba2bec90723a7adc4b2e9fdd0a69e1d4cdd4761d19e70a4a55dc4fa8fc761d6373f61cb816338764c75186214b8130fb29d5d33183d5add07bb7623f0e51f3b7048493ff4db642cddf52f6275ef08ca4cba8833bf4f8473cdaa4ac1b7c787cbb6636fd455dd0bcde3b0f1634fb8dc3702817fefc3e1633f615c6de5627c6b25c25305a05ec69fe35c51ebeed1f8fef051252fcbf04e95da707d6f2d622dd755147e1dfe10cadf638731cb0e60c5da23ca8579153bbe70459d5af7a36adfd90816bfe16028f6acf81f961e35e3cac9a518aa344e0fd4ac8bc95b9290c9b69aa20890370190356bd6847817245d5c7e1663274fc78c6913f04257e3755c14f87af5237fcc9a354bf127f83f8f1198346b06fc467483879b139c1f71c64ba3c6c3cfcf0f7ea35ec45bc197808c18fc3ea0b765fb966d3be0a3a9b32cdb07cc9c8e375eea6c709c9e183b45c9c7671fa16f172b797569808eaf4dc08c5939fb9af1b91ffa75d4a4bb37c1336f7e7c3dfdf34fc7e099b632ad7e7db41ff611a65bd23ec7e89ef5d0a6a30ffca6c97c4dff0c839fef20f735049fce9a8989efbd84279ab28e94944b354046ed9e8ef7077ac0c343755f4cf8e66ffc9be701b6706cf31d81be96f4973065ca4c0c18f09c65fd71817f212c621fbeeadf0675ef35a9c15bda13af2d0cc179d97d2820b2cfd3b9c77a75c176c3e1eb2bdbfdd1ad532b4d9e14cfd860f0f59963f8befd1368a9ae337aa592ef0ccd53dd87b1a859533ca6a64b7854ef1853431728cb9ba079cbf1f8ebb284d7d404ec98937bdc164f74c0c4cd7182b411b96966cef2c73bc0e7b36dcabd28455104c89b03c8ba75ebd277ac27e0b71d3bb043e3c8a44ca4c7ecc5885e1d583e74a13d68d0a0d23d847dcb52a06bcb9281e8e9e38e4735df80f4a85f13f78f9c878de713d8aa511445809400e9e0e000f13271facef5131d7e43784a0a52a49362cfc1fffdde2c1bba48264016a4f37f61f884e9f0ff711d42f6edc33ee9bdbf4fc780effec4eea824b66a1445112025403efcf0c39657a5d1345dba4d802c50577160c95b78a5ab273c3d733d7cee7a9cb9ccefb450144580d402648d1a35e4f797699a2ecd264052144511206d06900f3df410c4ab7c689a2edd264052144511206d0690d5ab578778950f4dd3a5db04488aa22802a4cd00f2c1071f44ad5ab5689a2ee5264052144511206d0690d5aa558378129ba6e9d26d022445511401d2660059b56a558827b1699a2edd264052144511206d0690f6f6f6104f62d3345dba3d70e040022445511401d27600299ec4a669ba749b004951144580b4194056a95205e2411a9aa64bb7099014455104489b0164e5ca95211ea4a169ba749b004951144580b41940de77df7d101049d374e9b68f8fcf7f17201507cb7f699aa6cb82ef7480f4151049d3749971f7ff2240b6561c44d3345d863cc744511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445511445dda4bc0bb07d11f6e5a6b8e97fbc3c5acbdf614dceb25c8c6427d31c34fb2aa87cede4fae2ff5e8538ae9bee58ce36f8cd6e32af375356831477be89736f5f40fdb2d7940f4559545d5678ad1d6db05f71e1f551ec62a37c969779b32be205e15c4000502f16478372d0db4edab980fdaac7ad6ee55877aa2ad928f855d7046c8aa28a261460ef22ec2b48f196ff787984c9df614d7eb25cacc57848a852f75550f93acbf5d5bfadb5611b647a90ee587e36f8cd4132af45919ae778c5bfdcc4b9f7d6d52f11c39719a43bf312a5b415d5e8228a553c5582dbadec738c8df2e9acabdc02c6020ad826bfc062d25dec85092cde9a8b08f9dcdd2dd10516930d034b716a5001e555961a2d8aba9d001950c08d2c01f2e60052db51e0a569a3b4e55b5e130bcd8a7daddc2467c8f43b0520d7290ed5b4d9e2f7f914617b07f9bb1dacb4076a7a255ea294b6a2469bf276e18b4a37475e20cb6e629f198580bb5b05c8c2c04e5100523bb4d14fa64d35dd3874a4026492e28906fbb493696519207b6a023645514507c8a2c60a4793f1f0a316209d659cb30600d5e53e3c0be838685ac03a8ef238d5f389e5def9a49797c7702b06802c6c9a1a0b454fde0183f4617279980d01d24553aed600d2319fb2db52403969dba882a60514a53d50dbc582461b3de47139045eca0032ac800bd3db4a4576b11244ac5d94d5e5363733445edc0059d8c0a202a4e8653c63059e220c82dead0416a3a1e5f2852c4bb5cced0a482f9f4f995692eb542f208814941735cf0ef9a43b9b38fc4d11200b132bc43ac1a6bc233ee2e67da42ebe8b5ea9d59a75ccf226599583840f75f853fdb7a7669d3079437d42b39f08093cdab819acd95ee4657e01c799af6b43bc648786597a83fcfb7601a4da99e062006b636c04900ef21ca9e51226cb31ac80b20bd4949dd16899fee601b26ec46bd60bd5dc74786bb6f5d3ed6f90e9c621ecf2f2fc89f31c2bd30ee8c0748b5ce780665fd1a69b9bdf49fdc70052ed4dd306014f5d6588d75c80de0615d9242b54a86ef9095d4533ba90b7185c9cdea6bcf353f2bb608b13207de4bffa0b41dcb14eb411406e9141225ab77d3fcd3248906dad3ba74b740d8b384f7d745018a46b0c0275e5a50d10ea7a3feb7a30c4b239a6dc5ed701a61b87cdc4725f790c753f5b74bd25debaf4d5b2ce04f112a5ca2040fe22e38fde7d0ce2db120918e2ba5c26af577b4d2c5087c4ede4f22db2c157b55ac663071dd01cd101a459e6c14e0255b48c07aa42e4362e9a9be90c0dacead33d4db953a5d49bd978b94f75bef97cd38da339d6e2bc9f81036e11209d657cf5d3759e40fe6b0b800c96e5efa83b7698ae6cb56da65a76fef9f4401a016484a613a6bb3c3f630c00d2a893460f90fe32eefb68ea4db03c869d264f2ab8aacf0fa8804c95728034c940b24553416265c071948031525690ce9a0aa29d57629217e0164d80522bffcf37099095e4fed5ca6c7f1381c5ef1601d2598274800eca44906d6a4380cc9040da5d060f2fb96caa3c5e25097ef19af20d92eb04caf3e428f715afb9639d2fcf819726d89b7501638edc460d101ef25ceacf9b38d630d950385801c858f91b2a691a96719a809c241b3f7be95f0ad17050546905486b0e33886fda1bbace72999b2616c4ea7af9d45e3507cddfad0d6267920e2057ebd6992fa1c624639eda0e6835522ef3b292ee2b8f535ec61098f28e74949731a830001966e0081b00e44453ded1a6d11a00ba55807491dbf4d12d5fad39d79e9a4e0badc6c9986d5704801ca7dbc701cd364501483b79ec89567ecf204d9e4274eb4c35157d7e27f51f05c82d9af431b2d2e8816d836cf08d60d04e5e70faf9164b0c20a3b0006954b98b1a58c26c00906aaf9aaa019a806a2b803c60d0c319aa5ba6f6148fd39c536d605101517bf127996e9c1c3e4753a6f63ac833da8ffabb9619d429fdb99d6a706312a46944e275f955f34880a4ca22401676083bda4a7cf2d65c8bc1f9c43055ad657c5787bc3374f135cc74e3bc763f4ddb3048d32b6724150e43646c507d429397005d3cd5f6beddae216c670d1c37d5f418be6e238054e3a94b3e9035c84ad91dd19dc7c200649f7cdad8a200a40a8a3d0d7e93f6f9802db2add79faf0c5ee66503204334012848d3a86b7d42b70fa38bd24b82e47cb9cf8c1204c8a206eac202a47a117969ee1a7d6d0c90fac01926ef86f5e7407b976e744e0b73f16bcb54ed3158a73bcecf7279f77c7e575011cfed320328d64326451120ad035c7e00b9a500800cd4c4637f0919730c00d2af1000696dfeb23a52f5bac97868be923c664421e3604902a449c6dc8932768ab2aa6e2380ec6305208dca76a495b2732802407adb0820dd74ed8056f19a32303a7705b5cb54290148b5172850fefdb3bcc08d8683475b0186f212accc1244c55d663fd993f65f0748932977185b7dad834b09006488957330a89000e961321e12e9a7292f75fd402bc76a6a4380fcc574e33047617a1e288a00796b00a9c63afdebd6028a0890ea3e5b1bf4a44d34599f332ee2c80053dee950faa7c423ee00805487b14507c1065db9dc0a407a5801b1259ab2f5d1755468b755cbaea401b29229effc49550e729d61044802e4eb3ad00830e59d47a7ad585e5680a1bb95de2e75e2767e9071a2100059fe3603e43819e086e97ad18a0b200554ad3358b79f29efbca7fc00521d9e1ead5b679ca6bcac9581a3bc6bb6b721404e34a8578599fb4451a51520f37b0f64751b02a43a1a315a0775f14504c8f2f2ffeb4cb953513c64c7c168b92c427622a8b143fc7b4413371de471b54f17ab73dd6f3740aa3d6e1112daf203486be7ce5a5b1522cb403daf5eb2dcb4651b21d7abae29bb5053de294ec505900e56da3eb543c94593cf5fe439ac4e802c3b0019a1abe84d4db9137457eb028bfa5087497361c59bf2ce8fd15e943d0d2aaeb7dc8f36f8897d68e7d20d3019bfe55fdd8fdaf5ef719b01527d222f5a17848d00b2a881c5e8e21b29cbaebb0e1eb5f35b0a0248932ceb3053ee9c25f589426d79e99f0ed406884a3604481759d7e69b8af6f42545955680cccf413604483516a873ec42647b30d1947768b5208034c9de45b16dac841bb3dcb71adf3c657abc4c4f92db6be7c7f794e9674cb953a38edc01006992b06636e5ed213502c8fcbe70632437f95bd5728b37e57df6406d7b236499592b3b5b03a48729772eacaf41bda92edb087574513df7de05b46104c85206904695dd2cef04f5c309a335f0b7455379ecad00839d0c002a8caa016a89bc08ec74bd5f619ac0b12e1f8074d6546effdb08902a68e927901b016451038bd1c5575e73ce0ec8f254dfa7662a02403ac8f3a206ab24cdef3069c0ee88262d4cfebf670165585480546f08d477c709abef7f0be0254a9531791760374d9cd20f09ebbf676cf43d64a36f1aabdf50eea9b989f336e5fd86b4b3419cd41fdf4ededc0e32e57d47a436ddc794fb5e41a3f7d3dacb78d047b63f4d4db6fb167661d31c0cf2e766f09bb42fe4b63315fc8d6d6b2aaf2917c77cca36bfb2d39793f6dcdb998c5f34afddc6e85bd8221fea77b5ad7d0b5bad3bdd0b91a782ce17f51f939b4145f734e5ffb92247d943384cae6f34a4eda0abf83de5fa6a80522ba3f6381ea6dc779dd9c9bcb9e5730138cbf5dd6e22b0a8f9742e626031ba885c0c2e76fd9bfe6f26b0e417389b9a7227517b189cd3d685c877794db06faa099a46816d983c2fd50b5186fa46cba82c8d7e9bc89b97e6f7449beefcaff750144551144551b741e266245607a7d6de7d4651144551144551167014bd8d62885c0cc58b795362a87c358b86a2288aa2288ab22631c42e1e1012ef8213735a7bb248288aa228eae6f5ff83a529fb47789c710000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Comparison of the user interface of the default HTML to the jQuery Mobile enhanced version}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Understanding jQuery Mobile Navigation\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The jQuery Mobile navigation system controls its application\u8217's lifecycle by automatically \u8220"hijacking\u8221" standard links and form submissions and turning them into AJAX requests. Whenever a link is clicked or a form is submitted, that event is automatically intercepted and used to issue an AJAX request based on the href or form action instead of reloading the page.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When the page document is requested, jQuery Mobile searches the document for all elements with the {\f1 data-role="page"} attribute, parses its contents, and inserts that code into the DOM of the original page. Once the new page is prepared, jQuery Mobile\u8217's JavaScript triggers a transition that shows the new page and hides the HTML of the previous page in the DOM.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next, any widgets in the incoming page are enhanced to apply all the styles and behavior. The rest of the incoming page is discarded so any scripts, stylesheets, or other information will not be included.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Via the {\i multi-page templating feature}, you can add as many pages as you want to the same HTML file within the body tag by defining divs with {\f1 data-role="page"} or {\f1 data-role="dialog"} attributes along with an {\f1 id} which can be used in links (preceded by a hashbang):\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+ ...\line
+ \line
+ ...\line
+
\line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i jQuery Mobile multi-page templating example}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To, for example, navigate to {\i secondpage} and have it appear in a modal dialog using a fade-transition, you would just add the {\f1 data-rel="dialog"}, {\f1 data-transition="fade"}, and {\f1 href="index.html#secondpage"} attributes to an anchor tag.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Roughly speaking, having its own event cycle, jQuery Mobile is a tiny MVC framework which includes features like progressive widget enhancement, pre-fetching, caching, and multi-page templating by HTML configurations innately. In general, a Backbone.js developer does not need to know about its internal event workflow, but will need to know how to apply HTML-based configurations which will take action within the event phase. The {\i Intercepting jQuery Mobile Events} section goes into detail regarding how to handle special scenarios when fine-grained JavaScript adaptions need to be applied.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For further introduction and explanations about jQuery Mobile visit:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://view.jquerymobile.com/1.3.0/docs/intro/"}}{\fldrslt{\ul
+http://view.jquerymobile.com/1.3.0/docs/intro/
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://view.jquerymobile.com/1.3.0/docs/widgets/pages/"}}{\fldrslt{\ul
+http://view.jquerymobile.com/1.3.0/docs/widgets/pages/
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://view.jquerymobile.com/1.3.0/docs/intro/rwd.php"}}{\fldrslt{\ul
+http://view.jquerymobile.com/1.3.0/docs/intro/rwd.php
+}}}
+\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Basic Backbone app setup for jQuery Mobile\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The first major hurdle developers typically run into when building applications with jQuery Mobile and an MV* framework is that both frameworks want to handle application navigation.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To combine Backbone and jQuery Mobile, we first need to disable jQuery Mobile\u8217's navigation system and progressive enhancement. The second step will then be to make use of jQM\u8217's custom API to apply configurations and enhance components during Backbone\u8217's application lifecycle instead.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The mobile app example presented here is based on the existing codebase of the TodoMVC Backbone-Require.js example, which was discussed in an earlier chapter, and is enhanced to support jQuery Mobile.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000003310000024f0802000000c3abcdd2000020004944415478daecdd796c24d97d27f85fdc1179673279df55c522ebe8a3fa76b5ba5bddde9647b2c63b1e8fd7d27ae1f5311e7964c85accae00af6d6067b0c660e131766c09d6c20bcc606160b0f202de81ed51f7da6db55a525fd57777759d64158b3793791f9171c7db3f9264659119c9248b5545567f3f7f7467456646bc78c9ccfce67b2fdee33eba51ce94ad7ff32fff0901000000c05df7eaabaf66b3591e150100000070cf891c4744e4fbfeae9e661886aeeb9665398ee338ce6e9fbe8f789e97244914454551229188a6697851010000e01066322222628c75f268dff70b8542a552d1346d6464647474341c0e47221151146559befba5b76ddb755d5dd76bb5dae2e2e2ecececf2f272341a4d2693a228e2d505000080c393c938ae934cc6182b140ae572b9afafefb9e79e4ba7d3954aa5582c66b3d9c5c5c57bd554c6719c2ccbb22c2b8a323535f5e4934f168bc577de79676e6e2e1e8f2793499e47e72c0000001c8a4cb611b9da3cc8f7fd95951549927ee6677e269d4e2f2e2ececdcd75d8b4764731c64cd3344d9388b2d92c11c5e3f1679e79a65aadbefefaeb4b4b4bfdfdfd8220e06506000080839ec988db2193799eb7bcbcdcd5d5f5ecb3cfe672b9f3e7cf1fe4f32997cbe57239168b7de10b5f78ebadb7161717fbfbfb2549c22b0d000000073a93716d3399effbcbcbcbc3c3c38f3cf2c8b56bd75cd73d1467552e976bb5da638f3d76e9d2a5e9e9e9818101b496010000c0c1ce6414389e8c3196c964bababa262727a7a7a70f426765e75cd79d9999191f1faf56ab994ca6b7b71763cb000000e02067320aca64954a4514c53367ce2c2e2e1ed2d35b5858387dfaf41b6fbc512e971389045e6f00000038a0992c683c99effbe572f9b1c71e5b5a5adafe34cbb24cd3b42cab71b9a52008b22cabaaaa28ca413bc3e5e5e553a74e9d3b772e1289a007130000000e6826e33612d8963b6ab55a3a9d668c6db9cb75dd7abd5eafd79b639ceffb8ee3d4ebf55028140a850ed4dc608c31cff3fafafaaad56a2c16c34b0e0000000710df6827dbae52a98c8c8c34b2d726cbb28ac5a2aeeb41e3cf745d2f168b9665b183a45eaf0f0e0e56ab55bcde0000007030ad8ff1dfd218e6799eaaaa8ee33467afc68cf98ee36cd9c517bff8c5975f7e79f39f8ee3e8bace71dc816a2d731c47d334dbb631bf3f0000001ccc4c46b46d3c9965599148644bfcb26dbb313b6bb3b367cf7efbdbdffef99ffff94f3ffd7473a3699ab22c07a79f9ffda39ffcee4f2dfe3fbff9d5ef5cde7bc977b713c771e2f178ad568b442278d5010000e0c065b29663fc2dcb4a2412cd1b6ddb2e97cbdb9fff877ff88744f4ed6f7ffbf9e79f6fde5e2e971b03ff5b1dd4b488c831ecdb9a5d63d73b5114a5582c1eae193d000000e0b392c95ab693357a2db78ce2dfbc1d8fc763b1583c1effca57be323c3c4c44c3c3c3dffad6b75e7ef9e572b95ca9541ae98de3b88000b4be91dd563edacb4eb6f4c6020000001c944c46ad3299e7799224356f6cbed0f25bdffad657bef2952d3bfadad7bef6b5af7d8d88fefccffffc8ffee88f88c875dda0b927181111fb47ffee8dfff62c11d19bfff6ecfff45f888868ea77fef23f7e6578fd510bdffbf55ffaf6e56ddb371eddd80931f6b37ffce6ef9d6dda490049923ccf4326030000808398c95aaeade4fbfe9638e579dee6eddffffddf1f1e1e7efae9a7b7efeea5975e6a043222320ca3dd7465e3cfdbdf4ca55e3ff387effee0ebbff797bf33f34bdfbefce53ffe8f5f197ee51ba95ffa4f44bffc9785ef7ce55fffcedf7fe5db97a969fb2fff65e13b8d476fec67ea777ef92c5dfbee4ffff2f7a8bfed50319ee7b734fe010000001c944cd6f8dff6a4d23ebbfccaaffcca5ffcc55f6c89656fbcf1c637bef18d4e7772edeffe76697272b2f4a77ff6cad7fff717fbc718bbf4bd5f4efd7139fe33dffdb8b0de2636d23fc6d8a52f3f7396e8957ff8d1e4e424fde85fa45265b57b7c34d578c4f8bff8d7cf8dbef28d813f2d8da6e44ee21632190000001c9a4cc6719cebbacd174e4a92b46501f2975e7a694b26fbdef7bed7fccf1d2668e5e5904c44722a2a12d1e8f809a2a3ffa9f0fb67896efc9f3f9dfadd937f59f8ce8be47b44274686894854c34444e1bec9c9be9b3b197fee734434f2dffc76eabdffb2d3a97a9e173cc40d000000e01e67b2166b908ba268db7673f7653a9d9e9f9f6f7eccf6becbb367cf7efffbdfdffc672814aad7ebad0e7aebf07c464474edd247eccbbf7696e8956fa4fefbbf1f3b7e3c2912d1b5eb5718bb7ae91ad1d8b6c1fc8d7fbcf28d6fd077bef3e27ff73b537ffba797da9faa6ddb8dee4bbcea00000070e032d97a2eda96c91cc7515575734b2291989b9b6b7ecc97bef42522faeddffeed37de78e3e9a79ffeb33ffbb3af7ef5abbff77bbfb7f9807038aceb7a60261bffd5dffaf2fff13ffeed89ffe1379e277ae5effe46623fef12d18bbff8af86dff9dba96ffec6f34474f4d809c666ffe6ef5ef9b73ffde26f7c73eaeffee4d23ffef7e7fee0ecc2fffdabffec4f1a516e7eed87ffeb375eb9f19daffe9b6ffedd2ffe49db54e638ce960b17000000000e4a2673bc16994c5114c3309aa757755d776c6cecc68d1b9b5b7eeee77eeefcf9f38ddb2fbdf4d2c30f3f7cfaf4e9cd7bc7c6c676b8c8f1da77af3c7beedc1f1011bdf28ddffc7ea827fcfffeda379ebdf19d17ffe0dcb93f20fac177bfeb7efdeb23e3538c5dfafe6ffef4d80f7ef0f5ffebdc571b8f7ee27ff97838314c44c4f162a8e7d5ef7cf7da8b5fffea3fffc7fffe5ffd4d9b53350c43966564320000003880b8b7ae162a86fb5bffe4c9e6ada9546a6161617474b479e3d8d8d8cccc4cb158dc71a7c964f2d8b163cd01ee56fadacc4a4549a7955cae424414eb3fd613debca3f198583a6de572941e1d4e48444e69612e67addfd378f4fa4e46871352e3decdbd04585858e8efef2f954a78d5010000e0e0b874e952369b15aba64bdbd6bbe479def33cdbb62549dadc5828144e9e3cf9de7bef6d5f61a999aaaa274f9e5c5d5d0d6e910a751f3dda4d44148f7737b6ac3f76f38e86787ce32e313e7434beb99d3176f3b18cb18d7bdbb481b9aedb1821b7e54c010000000e82d64b5296cbe5783c9ecfe77b7b7b3737964a2541103efff9cf5fbd7a757676767b00e2386e7c7cfcf8f1e3b3b3b307ad392a9fcfc762b14aa582971c0000000e6e26dbd27a6418c6e0e0e0f4f474bd5ed7346d737b2e97731c677c7cfce8d1a38b8b8bf97cbe502810512a95eaeaea1a1a1af27dffead5ab2d57c6bc874cd3acd7ebc78e1d5b5e5ec64b0e0000000737936d6ff4aa56aba954aa50280c0e0e366f2f97cb1f7df4517777777777f7b163c752a91411150a8552a9b4b0b090cd660fe049e6f3f9442251ad5631c01f0000000e59262b954ac3c3c3d56a3593c9f4f4f46cb9776d6d6d6d6ded509c612e9723a2eeeeee858505bcde00000070c8325923781d3972647a7aba582c261289c3787ae572d9308c8989894c26834632000000389499cc308c42a130353575f1e245dbb6d3e934d758b1fc30608c150a05c3304e9d3ab5b6b66618065e6c0000003894998c884aa592ebba67ce9cf9f4d34f575656d2e9b42ccb07ffac6cdbcee7f344f4f0c30fdfb87123603901000000804392c988a85aadcecfcf9f3c79726e6e2e93c9288a924c269b97273f503ccf2b168ba6692693c9d1d1d18585855aad8697190000000e7d2623a252a9542e978f1c3972e2c4890b172eacaeaef23caf288aa228a2284a92c4f3fcbd3a01dff71dc7715dd7b22ccbb27cdf8f44224f3df554b158bc70e102c690010000c0fd93c91a0f989999595858181f1f7ff4d147979797171717755d775df79ecf8ccff3bc288a8aa21c3d7a747878389bcd7ef2c9279665e1d5050000804396c93acc5586615cbc78f1f2e5cbc964726c6c2c140aa9aaaa288a2008f7ea041a6b40198651afd7d7d6d6ae5fbf8ed593000000e0b066b25df17d3f9fcf3706d103000000c0be6532b42d01000000dcfb4c76e4c811d405000000c03dce646fbcf106ea02000000e05ee1510500000000c86400000000804c06000000804c0600000000c86400000000c86400000000804c06000000804c0600000000c86400000000c86400000000804c06000000804c0600000000c86400000000c86400000000804c06000000804c0600000000c86400000000c86400000000804c06000000804c0600000000c86400000000c86400000000804c06000000804c0600000000c86400000000c86400000000804c06000000804c0600000000c86400000000c86400000000804c06000000804c0600000000c86400000000c86400000000804c06000000804c0600000000c86400000000c86400000000804c06000000804c0600000000c86400000000c86400000000804c06000000804c0600000000c86400000000c86400000000b02b22aa00000e33ebf20717ea01f785ba86a6467b504700804c06007717f38a6b2b9ed69d8e299fa5d39612c908d7ea0e25acf13ce7fb0c7f1a0070f0a1ef12e03ee198b5994b176797738228701c870a0100385cd04e0670e831dfc92ecd2f65cbbca4c6e361914720030040260380bb9bc76ac5ec8df925c7e7c3d1b824a2e51b0000990c00ee2ecf311667afe76bb61a0ac715098d630000c86400707731afb8b6b2b092f53929168f0be8ac0400b86f321963b82e09e0d0b0cab9d9e55c281c51a4163fab182362ec33f3a66e7f9a8c317cbe01c041d7b8300ba34f000e25490db50c64000070482193010000002093010000000032190000000032190000000010612e0c00688931dfaceb954aa55aa9988eeb38eecd4f0d49122535120ec79389b0a6eefb4c1cae6d968bc562a964da8ee37a9b07d542d16432198f47efce42059e6bd5ca9572b55ad30dd775bc8d4533395e9044510b87c3e1782211912591dbbf3ab74da352a9e8baae1b96d774d08de30aa2a245c2e1582c16ba03350f00c86400b0735099bf7c296fdc0c469216097a687e757ed5acd50ca7695be8e499c90e9725774c7d6d753557aaf8c4c9b2224b5228a4721c35afa1c918736d636da5e638ae128af5f6748734f9b60302336ae5e5c5a58a610ba2a4aa4a28ac72dccdc332e6970bd97c76558d24fbfbd2d29d49248c79d5426e6575ad6ebb3c2f2aaaa2a8aac687b62c21ca985fabe42bc58cebf3a9ee9eae64ec7692a26b1b6bcbcbb972d5632449b22c4baaaaf1db0edaa879cba8656a15c7754539d43fd01fde879a0700643200d805219688089d2d2e2ea991a4dabc4191789ef37db6431aab2dcd2f147553909470342e0a81631b388e238e13795e1425624e66799e13437d03bd9a24ec3109f9f6f2ecec5aa52eaba1783cc4b7ca371cc77182200b826feb8b7346aaa7271e56f7378d957399c5e53587715a28140f897c706d731c27088220081251bd92af16b2f1eebe7422c2edfea0f9e5f9c5b5122fcaa148ac4d9ddfac044ee07941942422b6b6b2c0cb91c1811e096d6600c86400705f60e5ecf2dcd21a896a2c9ed86da7182f88c4ec9585f968b2279d0cef361db856edfaf4f5bacb45e37191ef68902bc7f9c5b5553b994e27a47d397fcf31e667ae952c2f148a84e5dd7547721c2f4abc5ecaea954adf409fdaf1aaa3ccb7e7a7af160c2f1c8dc9e25ee22ccf0be41a4b0bcb7d83fd2a563b0538e4f01e06f8ccc731e6aede98bebe989543d15844dbf328259ee7f4727675ade4ef32905dbb7acd64522c1eed30906d4421d24bb97c49bffd49fa4dbd78f9e2958ac3c5e23145def3f8308e7c7b7569b9663a9d55bbb3307db568b0586c8f81ac695f4e6679d5f27cfc3103209301c0e10d64dedafcf595921989c554791f1acead7a2993ed3496f99e317bf59a457224a2ed2d0ad64a1529a2dc4e81ed7a6966fa0693b4582cdc61d770db0a75739955dd72777c5c61692e6ff8d158645f86ea33dfcee52b58430a00990c000e6b242b2ccd2e178d48342209fbf66960e9a542a9de413ef0f34b8bba2fee3990350892b4e7677b566de6ea2c9342e190b26f03b298975bcbda5ebb0a70eae5a56c351c89ece3b5934ebd54d66dfc4d031c5e184f06f0d96554728bd96a381a6f13c84439944a25345516789e887cdfb50ca3542c1a76bba6a05a29272b7d314d6ef3185b2fafe4f5702cd62696f0bc184f7545c35a63f0bbefbb96512fe68be6c61c19b7c75dbe71c311d45838309071bc1089c5e3d188b43ee705736dbb562b97cab536574c30cfcaac1506fabb02ba2459399f253924b71e01c6295a24118f28b22cdeecd364aee3187aad582abbc107ae14cbd148b780e63200643200b8736fd591a993fcc6702bb75e9e5fcd073db4ab6f241e6af1d6def24dcd98b534b72c6a1139686c3827a4fbfa1bb98a31e6fb8d0e495ed1c27da188512daee54bc1f1c02fe50aea50af1cd81be865975738456b1307d548aaaf27c1370abb7ed128af6891fee1885ecc654bb5dbcc1eb55c2657f763f1c08b12642dd1d7975acf628cf98c11112f4af164773416cfaf656a666030f5ac6ab9124ac5b456773aa5a2ae8662adee127a0607228ad438226bba549617c4483c198e44b2c17da3beabd7f44422242195011c46e8bb043834fc0d8e65ec30909c317f1bb6359164ab9ea02901d72d7262dfe0504c931bbb628cddba7ba646127d7ddd42701397ef99e5b21174af6bea859aa3a9810d696ab4abbf27c1af9ff52d87678c4289ae74227c3b95c998b5b29c55c3a1a0de4335da35d89f123962eb2560cda7cff152576f7f3cd4ae21b0522cda7ecb73370d4f105b4561391c0b2b12dba8f36d319a112f76f5744bc1e3de74dd601ce6c500402603804382316b7525a786d48040c277f70d846481b12d71e8d600a184bb53f13647d1cb2527e0d9b5629e494a501e12e4686f779c23da689c6b9119c389ae88b2f7cb156bb96ccd179580cb1a242dd1b75180a0f3e73821d1dd136a739926b3cb5563fbdd9e6db1b663e0186bd7cec50b4a3cac0415cbaeeb2efebe010e27f45d027c1699a562cd17e30189448b7745359158fb6c4044a446e3e14a450f4a5eccaee9562aa26cbbdbad547445d102720997ec4a0aed02d97a3889c76395d502bf9761f24e6eada08642ad7f95725277f77a135dfbbd709c9848c6f5b52217d034552f57dc4448d8528f8cf162eb16465b2f976b5a34b4c3d4fca1648c0aba1852385e50155910254596785192044110058e3a79e90000990c00ee3dbf542c2a9a12d04e2e26e26122f23bfa5ae7e3897835530c0a46b54a2d1153b95b5b757ccfd6ebbe1c6f7d7c5e0c8535913a38ba148aa85cdea65d67325baf556d0a8702226934ae8a3c631d4de821876321b164045c72c07ca36e3831556c3e195e56823f79fdc2da72ce67e1782a9588060db6e385d091e3c7b6d4792386b19d566b0000643200382818b32b154b8eb55e9848d4224ac7898488e4704870732ca0c9cdb30dc765f2add1c2352d971783fa4db54844e834110a614daad7ddddae3569d6aa9ca2040c86e322e1101175dcd0c447c36ab5640495a16e58714d6a6eb7126489f73c4681dd973ccfd52bf94a7ec57658249e48b65eeb1de90b00990c000e39a7a61b24064d41a185349e68375ff7722424941d0ad89f6b3b9ea2dc323f836b9924055e1ea028f2b68b4403a921d5ad56447e5703cbbc6aa52a49016b65728ad6592bddcd0247222c5ba380c62fc7343d2eca35ed901794882a586df7c971bc24ab924ccc31b32b8b4bb6ed334e0bc792c978381cbadd79ff0100990c000e02d3d005450e9a004395a5ce23d1468c53f30523684e0dcb7263aad8dc50e43a8e2004a50a419185ce8f2fc80a793eed6eed7357d75d31d6bab4a2aaf23b8db2df560659f43d46ad47fbbb96ed13dd5a3e21998a2d15eb1d35ef719c204a9ad8981dc329e4326b2b8ee771d154329548843405d75802209301c061e5d8b614d8d0c28b22bfcb4846a2247b9e4e0199cc766ce2d4e67d3a8e1d3c309fe338621d97405415c16dd70fb89d673b0e1382960e10448127dae5ca91822c328b51c0407fd7753c51e09a4f494b76852b756b97f5cc719c20888220129167d657172b8ee74793dddde9842ce0227a80430f6f6380cf1ccff3f8c029ac4449e2d92e43192f49b4c3258a5cc70510761b0a7d6777933f30df2731b0e75496e4ddd7a820c9c20e03e0b61e4fec1dec976e6722318e1324495515c728cfcf5e5f58ce39185e06804c0600870ed73e0decfecb9d79bb4b04dc3d9dd774a7a3ef21dcf8bb9d7c8217d5defe6e791fd6bbe44451f4ecdae2dc42a58ef52e0190c9000060974439d43f3c948a85f6259f729c5f580b5c76090090c900007665b72d6e871bc709b154cff0f0502a1115f6a1cdcccfafe56c746202209301c0a1a0aa5af09daee378bb0e026d9fc36d1b4ba5286af0c33ddff3efe8e98b6ad01a9f448d2b1276cd736cb75d05ecf8412c88b1647a64747468b02f16d6f8db0867be67b65cd009000e3e5c7709f0d9fb2926089eef48ad67a3f05d9791c8ed6a4895ebd814dcc823c95b2310c7719eefef4b015cd3728876392c9fe3fcc00ce9b99e4fdc2e87947996c5b850d0d144491268c73978196344a2a476f568698e1cdb36ea7ab556b36d77b7ad5e4655f792611ead6500c8640070c0c98a4acc088a06a6ed44557557975e1a755de0831add5b4c78a6a82a559ca002388ecba94a8705f06ccb9776fb3926689a6805b45fb9a6e96d9d4e6cc732d886c3b480eb061a139e755e9d8c31c64810a5683c194ba41863ae631bf5baaeeb96e3743277bfef9ab6e36bb7cebe0100c8640070f0def6214df0f2c101cbf0e3ea6e22995d2ed545351270af242b5be780151495f3ca4113bd9a964d31a5c302d46b553e78628ba04c160acb86c95a771132cb34dc88c2775e0156adea8a62d0a59c8aa2ec7ec2b3cd70c6881af92c114b248998e73875bd562c55dc76938f788ee36ba240086500c864007090f1821296b9c08622a3663909a5e396225bafd51c2e120e98165f0b493cc76e0d10a2aa4acc670105b074dded8e75364799532ad62425b2db1a084763d97a3960352856d3eb1135daf1f24a7ea950946439209271214dd9d24ae67baeebf98e653a9e6f19bae5b886aebbbeef3aded0d1135d51b94d3ee304311c4f46e2b1dcf252d56a378a8f238e219401209301c0c1264463a17ad50e58dbc72d55f4de54b8b32f743f9fc9708a12349a2c168bb46a25922221b1c65a6732e69b7add8aa9d28ec7b7aae5b24dd1d0aeaf5592221171b910b4f080512d9bf1b0d259eb9bad9773553b146f7dd9042f8642b7ae9e592fac5c995be5785ee0794194049ee37941941589e73922cf73794ed961ae33c618f1614d2d19b5fdb85413000ecc0f665401c07da693b51a43b118b981ad2c46395f333a9ae6aa5eca66ca96a6b6be9091e3b548586ed5e0c44563612ff0fa4a56cc95dc9d4fd3595d5a115555d87d2ce138391612033bff9893cb9618d749553b2b0b8b9ca205ad5c194dc4845be7935522d148289a88c7a3d1684853154591245110049ee3388e332a15abb3b1f91cc7ccc08b3d39443500643200b81b38be5d0e713a586b485022c9881cfce5efe7322b3bce3e6aeac5eb3796e550382891c45349312023aa89a4143c22ca77f5b55ca56d36f1b3f3b3059305c5c11dab30d993e6dcc00238667975adecef10c8dcd51bd70b260b69adaffbe4052d1ed3b6745c0a7228a60941a7c67c339faf7410ca58b5520e7e98242b02de2600c8640070e7dfb792c4073786b9aed3411b0f97e84a716d6602635e7675b95c33595026c8af5c9dbe4172480b98ed4b90a3f1984a01c3b2384e49449436a1c7aa1556d68a6eab6733e6e5166f2c15ea916844d8eb1a4d82128987c536e9c7d28b2b2b81f3af7a8e313f7d65b56c4503cbc025d22991886ddd039f48c63c2ff0c866f0893755feea52ae26072c24bf3e868f613019c02183f16400870fc7f39c173846dea8148a92108ba83c478e6de9e552b6608d4e8eca5b43493815d3f2ba15186a985fccad14b2423c958a8635491488c8736dbd5a5d5b5da99aae1a8e6a72c067082776f7a404a2367337c47ad295b9153f70120db2ebe5c51b652d92482422b22472449e6bd7cac5e5958ce9b270342609b7f3ab924b7477eb0bab5e70aa73acdad25c5552425da9a4a2483cc731e6dba6512c64d7b245c6cbb158e0e4fb6a34150f2b2d1b0995682252ac9ac181b471e24a289a88471bc72522e67b8eebd4cba5cc5ab66e7b6a382ab71e0fc7c5e391bd5de90900c86400b03b822c4bed9a87fc523e935b316a7593314e104545890b3ccf6dcd475cacbbc7b29674b7cdd737c7717e39bf965bb14ccbf67c9f88785e9455259e08f3816986efeaed0bc9026b3b512a2f68dde978a6506d1b9cc8d08b9562c6324dc75b3fbaa26989b0b479708edb639b102f6a3dddc9956ca9cd4cfb1cc7b9767d79b1629aa6e3ba8c11719c24c95a24268981fd83a212eded8e73812b930bddbddd4bcb6b7e9b463e8e2ca3b254c95b96b57e5c228ee305419015351e12832a5fd2e2d1904c68240340260380bbf3ce0d6982d176d51e51d612f2cd8b015dc76b358d97901eeca7e555bded7a4a1ccfcbaa26b75b91e916d1544f3c2413db392969b1645437aa3b0c5ce32459916425e8ceaeae702e57da5b3d2a91441f5126576a5b524e10a570a4d3816bbca0f6f5a705223f78c09ca0847bd2f1d57ca5fd898b922c4abb58a48017d4dede241f980501e040c378328043f9ce4d2463fe2e16cff15db7f5cc131c27a5fbfbc2b2b06f054bf777274244acb358c0a7fafa629abcc7a37162ef40bf26f2b6edeeb9c46a24de9b4eecd7858a82141e18ee97b74dc9d6e2b8d1644f2ab69fd74772624f7f6f27870600643200d8376a22b99bb9f699cf1817d0acc6f152ba7fb03b19bdcd8f038e177b070753318d88759e17394e4cf6f4c643f25e0e37d01f5644e6daf66dadedc8a991c4e0409f26dd6e305523a9e1e1f554d44181b8502cd5df9716f7230ff282dc3f38d8e82f461319c02185be4b804389e3e4defe9e4c36ef76f6156cdb2e6962f0def870bc4b0d454bc57cb56eeda138a158aabb2b2e7037679cdfcdb908c99e7ea552cc152b1d060a510ef7f577cb02cf18f3bc7d68161224b56770d0aa55738592bbfb54c38b4a774f775895a96d97e576b21a1918944bf97c652fd5bebdf2d16909804c0600779da4450606e4523e5f313af93a67c4edb012b620c95dbd0329cfa9148b15bdee75d4d6c387c2b1542ad1b806d0df7baf19178aa58623d1523e5fd14dd62efdc8a9ae742cacd2ae9ae33a2901f16a243e148ddb7aad582a199df5870aa292ecea8a86558ef69247898817e454cf40c2b52aa552a56eeca28991e7b5d0be543e001c8c1f6186fb240000200049444154db7fffc91a63f4ecf128ea02e090be8b99efd46bb54a4d775c77f31b9d17449ee3552d140e6baaaa0a3cb78b0cc3713c478e6d1bf5ba61d42dc7f35c97dd4c21a22048a190a68542aab2becee3feb5d070449e51abd574ddb21d77bd0d8c1345490b872391c8fa7468b71e8fe3f8369730ee21ac701c4fcc334dd3d0f5ba617abeef6dec84e37981171455d5b47028ac8a8db93cf6e5fc398e23721ddba8d74dcb342dc7f7bde6978ce7059ee72445d5b490a6aacac64424681e0338f49fe31c97cd6691c900ee9337749b54b2b7f69bc6c704d77652d63def79cfe773c78eb8a71ab833a5d9b1da378e4d981816e07eca64e8bb04b82fdc99a692bb1c80eef8f91c921ab877d50e00f712aebb040000004026030000000064320000000064320000000040260300000040260300000000643200000000643200000000402603000000402603000000006432000000006432000000004026030000004026030000000064320000000064320000000040260300000040260300000080edc4c6ff1863a80b00000080bb8fe338423b19000000c041804c0600000070ef8907b664e84e050000807dd7e828442643d8020000807ba9c31c72f7a39b78104e1b000000e0e047b73b1ad4c4bb700200000000f75f50dbdf8826ee7bf9000000003e6b11edf6f39978fb8500000000403ebbcd7c26eef97800000000d0262fed2a9c89bbda3500000000dc897026de97690c21120000e03e7660e7186b9f4cda175b3c809906890a000000ee6854b827a9ae7db39978aff21082170000001cc0547717e25acb6633f1eee424243000000038a471ed0ea534c658f39ec53b949910c2000000e0be4c69fb18d19af78c79fc01000000f692760edc3cfe772d8a21f0010000c0aedcd1c161fb1bcec47d290ac2160000001c401d668cdb0c55fb12cec43b777a48600000007048a3dbded2d5ed84b3bbb4b61272180000001cd294b68780d5c924b17bcc647b085577228721db0100004087f66b30d99ef3d9ae9299b8ab727472efedc426442e000000d82f3be68a3d3780b57c6ed0de3a4c66bb5eef72cb96cd7f1e908634000000803d4791ce53da8e43c7b66cdf3243ec2e32599b34d6b8d1fcdf0e03d69d0e6108790000009f29777a1da44ef6bff998c68dcdff6e6f1e6bdf602676986c3613d8e60ddff73b8941e8ca04000080fb20c3edf8dcc603789e6f04328ee3366f6c8f37dbf7b68b35c8d906dff737ffdb3ec3217b010000c07d96d55a3eb8b9798ce3389ee7dbef797b5613779bc67cdf775d379fcfd7eb75bc8400000000cd42a150575797288a3ccfb74f665b1acc3a5d837c3390f9be9fcfe7af7ffcdeeac28dbb7f9ebe69f2aada7c03000000e0e0e81f3dc24e9fe9e9e969fcb3d195d93e62dd92c9dac520df6f6e27f33caf5eaf2fcfcfde93f3f41923c69a6f000000001c1c4b37aef51e9df23c8f36ba327ddf6feecd0cd2e95c18cd7d9744e4fbf7260f319f350ebd7903000000e0a0d9cc619be3c6f63e1706b59a8a8c31d6c87df76a54becf18bfd14ec6a39d0c0000000e24cff31a816c4b946a13cbc4ced3d82ded64ccbf4799cc27e637df0000000038681a916933416d46b1365394ed627eb2cd29301a47ba2767c83642e1e60d000000800398c91aa949108496b16a8ff393b15b11fa2e010000008235f731064d8411383f197530fbebe6ed7b35bedef719f9acf906000000c0c18c656d12d8f68d62e781ac798b7fefdac93017060000001ca240d6612c13f710c8e8def55d36779e624526000000b80f62d92d99ac93bd346fbc57e3eb7ddfa7cd8b0c30c61f0000000e762cdb3e9705ddce7597dbb7a0ef12000000a0c364b67dcb5eaebb6c99efd8bd9bc79f6dcce3cf30c61f0000000e430edb1ec2767ddd65cb4046682703000000d8d75826ee21901111bb4773e833e6370ebd7903000000e03e886562e77b69fee7ca5aee9e9d5fa5b6f506000000c0e18c659bc44e12d8f66963bffd1ffee29e9c9871f9b23635d57c03000000e040f9e0830f5a4eb9df32966ddecb7712e882ee020000008096dac7b2ed8fe711c800000000ee792c13ef5520abd56a954ac5300cdbb66ddbf63cafd3677ef0c1d61bb08d2008b22c4b92a4695a3c1e8f4422a8130000807b1ecbb6f45ab6beeeb2c364779be1ccf3bc4c2693cfe755558dc7e3fdfdfd922449921434de0df6fc17e0baae6ddbf57a7d6565c534cd6432d9dbdb2b49122a070000e02e47b1a01cd64cdc5508bb9d40c6185b5d5dcd66b3a954eac48913a2b8c3d468709b4451144531140aa5d369cff3d6d6d62e5fbe9c4ea77b7b7b799e47fd000000dccd58b619c5826e8b772790f9be7fedda358ee3a6a6a66459c6eb74970982d0dfdfdfd5d5b5b4b4343d3d7de4c81134980100001c9058764b26eb7ca77b48668ee34c4f4fc7e3f1818101f451de43b22c8f8f8fafaeae5ebd7af5e8d1a3aaaadecda3bbaebbb0b090c9644aa592aeeb681905804d1cc785c3e168343a3030303434841f8d703fa5b1cebfefc4f6816ecf396c93effbd3d3d3dddddde9749ad0477900f4f6f6cab23c333333393979d73ef8b2d9ecbbefbe1b8fc763b1583299e479be4d873a007cd6beba388ef33ccff3bc9595954b972e9d3973a6bfbf1f3503f7653e6bd954d62293b50f647b88538cb16bd7aec5e3f14620830322994cdab67dfdfaf58989893b3db68c3176fefcf985858563c78ec9b2cc18e3799ee33804320068fea0608cf9be1f0a85babbbb3ffef8e34c2673faf4e92d238f01ee8334d6269689ed77d1664b27565757398eebefef47f3d841d3d3d3d3b824737070f08e1ee8fcf9f3d56af5c4891392240982e0fbfe964c86700680afabcd4cc6f3bc288ac78f1f5f5d5dfde8a38f1e7bec31d412dc377fe7cd5b5a7ef7892ddf1bfb12ce3ccfcb66b3c78f1f6f796fa150a8d56aaeebeeb81f5114474646f0a2eebba1a1a14b972ef5f4f4dcb91ecc6c36bbb0b0d0f8b1dbe0791edac90060fb374b23930982e0ba2ecff3838383972e5d5a5959412726dc9751ac65b399d8e12f98dd063222ca6432a9544a92a4edcf320ca35c2e53676d249ee7cdcece8e8d8de105de5f8220f4f4f4643299a1a1a13bb17fd775df7df7dd89890951141bb3d00982c0f37c2393a1fe0160cb374e23936d7e444c4c4cbcfffefb2fbef8a2a228a81f38d4b1ace578b2edc41d53d79ec793e5f3f9c9c9c99677158b45bc5407413a9dbe74e9d2e0e0e09d08490b0b0b894442d3b4462613455110842d2d64086700f8d2dabccdf37ce353a2b15d96e59e9e9ef9f9f98989095414dc07b16ccb575e7353d92d992c682f7b6e2aabd56a8aa2342eafdb7eaf6ddbb7f3be85fdc2719ca669b55a2d1a8deefbce33994c57579720088d34d6f8f9bbf93a228d01c0e64741e39381e3b8c655478cb1c65087743abdb0b0804c06873d8d3587b0364d657cfbe7ef59a55289c56277bd0666ffc33f9d9a9a9a9afa9f7fb86d636353f36d20224a269377a8d9b2542a699ab699c6367b2d31980c00b627b306be4963ddde7abd8efa81fb3eaeb5c8649d44bc0e8f671886aaaa2cc0de4e6067d75f7de9229d3a758afef32baf361d8de38888e7b6de06d6e81db02ceb4efccde9babe39340463c800a0f37cd6fc2b4ed775d409dc37d9ab7d04e2774c6d7b6b3cb36dfbee4fc43cfbc3972ed02f7cf39b5344576667f1c7d0115114f7d095dcf9df6273c318621900ec18c8b67c6e00dc67b1accd767ec7bd74b87d57998cdbbd8e23d9179e7bee0bbf40175efa214259472449721ce7ce7dbc2290010062197c96d358e7394adc438eeb84e779b71fec76f794d9575fba40a7be3cea7974ec14fdd54baf5effb55f1f2722624dbb607b2fc1fdcbf7fdbbf3210b00804f0cf8cc86b32da3fbb75f77c96fded1ccf7fd96638f1adbf7e5fdb6efed64b33f7cf9029dfaf20ba344a32f7cf9145d78192d6507e18315bf7401009f1ef0d98c62edd3d4f671f681eb5d76b2bd8dc62a3a416fa73bd04e36fbc3972f10fdc2f888cf7c1a199f22faab977f78fdd7c6c669a3a1ac71d2cdb7613d98dfe1252f0100003ee3f92c68fbceeb5dee39396d9265d975dda02165fbffd367f6b5972f10d15ffdd689bfdadc76e1e5d7667f6d7c1c7f0b6d398e83557e010000ee4e386b1381f81da358fb7f069124a993b52cf737929dfadd57aead7be5774f354219fe0076e0791ed62d010000d8f7f8b5db3425eeeac99db79c699a669aa6aaaa77e8dc6e75a311c9befcf941c330888868f0f35f3ef5bf5db8f0f26bb3bf3ac66dec60738c3f43dfe526cbb290c9000000ee502cdb1ea85a8ef4a7ed7d977b6b15db2e1e8f2f2d2d25128996f7ee77dfe591dffceb6bff9263ae653aeb5710fa23bffed7d7fe456313fdf3bfbef65b9c671bb647e34db78188a85aada6d369d4030000c09d8e684169ac75266b93cc7695cf2291886ddb9ee7b51c3f2e8aa265591d26b3cdf5a1821fe2d946dd0eded474b3c5233fe37f1fbaae8f63d01d0000c09df99ea59d9aca36f12d43d88e7bef449b8514138984288a1dce82218a623299c415d17742a9544a2412b8ee120000e04ea4b15d3db2dd5c187b681e6bd6dbdb7bf9f2e5582cb6fdb23e4992fafafa3a9faab4111a30066c7ff9be9fcfe78f1f3f8eaa000000b8d311add1e9d7a6fb52ec30d9ed219f4992944ea7b3d96c7f7ffff634c0f37ce75330f8be7f17e69affacc966b3c9641203fc010000ee500e6b13abb677008aed77749b7a7b7ba7a7a70b85423299dc7297e7798df597e09ea8542aa6698e8e8ea22a76a376ee876fe6eacef0e4130f1eebdefea6b9f8deebb3990a9134f9f8d9633d912d771bc51b6fbe75d122ede1e79fca7cf0d672c91c997ae281a3fb7381856d942e9f9f4e4c3e3012570f4f7deaefbcf66656b723e991e79e7ce0b63ef87c7b7ee672c94b3c7462643f0a567ee31fde2a59c28927cf1e4987ef72a59c3ff7a3f95c4d0e779ffdfc13e17bfaf27876e5e22717338592e578449c24abe9fea1932727541e2349006e2ba8050dc7e2db87b0dbecbee479fec89123e572b956abe1653838eaf57a2e973b76ec184692ed922c4b021109428b7aabad5d5fca54888888135a54ac337d75de64ac67ece848c8d46b169192ea8fef4f545cbbf6e31fbeb95271bb92da21aa4dc728ebba4d44b144ea362be0dd1ffff8d3e99570aa6b5f0a6696cba6e5f162a8bb377ad76ba55cab9a44148ac7a3f7f4d5a9ac5efff16b6fce67f296d3f8f1cc1cdb58999bfef16b6f660d079f0500bbcd61ed835683b8db3dee962449478f1e9d9999711c27994c624cd8bdc5715ca552c9e57213131341ab2c403045564422b2ac3ad196af7f7b7a66dede7caf6ceb6aafadcd677255414e4c3d74b4bc72d5747d510d272232f9fbf08e28e4ca1663e15834e21fa637586dad6c121189d18049733a8e5085aa6e118553fd917da94f3d5fb588b45834ecdded211366b95cb75c228a4693f774b846edd2e56b75c70b27fb1f78f881e1ee0447dee2f4c58f2f5cd58dd2cce5d9ee3318870ab0ffd989ef3ccaed99aaaa939393baaeafacac6058d83de479dedada5aa9549a9a9adac7e97c3f536faef59adcb646457e6e2653ac0bb22c101139f59ad92ab17103e3c7e38e532fd52c22251a89f8fbf346abea35228a446287eb174fa15cf1898894547fe4f62394128d84f7a93e4b7a8d11456271e1aed74925dbc8a9523419b9972fcddc7c41b725adebc9cf9fed8d2a755dd775b37bf4c4c313c344a457ca3a3e0c006e3ba86dcf5a7769a1434992262626969797676767bbbabae2f138e6b6b8cb2f7fa552690cec1b1d1d4597e59e29b242b4bd23be766d76c9236e6064a4323353db362b7223b1495afaf8a97ecf728bb5f508e5da958b9f5c5ccd176dd79794f0d091c91347fa6f7d6378f3572fce2e6674c36244bc2845e35da3472786bb638dbb33d31fbf777571fdf6ecf9efcf9eef1d3bfdd8a9d6c304cb8b97dffaf89a961e79eec993f3572f5e5f58ad9b36f152cfc0d8830f1d976f3deec2b5ab738b2b55ddf41913242591ea3df9e0c9982c6ccb100bd3d7e6f2e5aae3fa1c2f842389f1a993231bc5bbd9fc53c95ebe3cbd9a2f793e132475606ce2d4f19e72a546446a221edbc85295ecfcc5cbb3a59aeef98ce378351c1d1a9b9818ed0dfab0607ee6b597dfab13119155cdfcc3f7bfafc47a3ff7cc636aabbd85a2c923adcab68d53abd589f85822393ffdc9d5d965d3f136ca3c226c2d8079fdca95c595ac6e586c9723ae3cbb72e5c2e5a5b5bcedfabc2877f78d9c7ee078be5c26225e0ca77b23e4367ec1b2ccdcf4f48dc5c66bc1f1422cd93371f2646fec969f554b973ffce8da72f7f089c74f0f4c5fbcb8b0bc663a1e2f2a8347261f9818e67659e6ee6367fed9c9c789f966ddd8fcfde13ae65aa94a44a2829f740077c4ce6b906fffefdef03c3f3434d4dbdb9bc964666767354d8b46a3922409822008025e893bd12ae6799ee338baaeebba9e48248e1f3f8eab2c6ff70d23084454afdfd24cb078793aa7db92d63579aae7dd99192272dde699898d1bf3ab1ef12347274296eb93d9f8cad714e7cd1fbd55b1d7bff21c4b9fbdf4a912891eddb83880f9fa476fbfbb5cbc792cdf75caf9d5f3857cfdc1c72787924454d6eb5bde67d14432b0f1a354f388a2f1f0876ffee4e66e7d27b338f389283f766a6ce3b895777ff26eb6a9a9cf73ac7c66feedd72b677eea896e6db3cb9bcd9c7ff7ea7c96ddfcb2f76a95fca7efbe5d3b75e6e4e8cd6b20b20b973ff9f4bab911bc3cc75c98fed4a80f9a158b88c291a844c4882aab33ef7c70d5daf89061cc376ae5e94fdf2f968e3ff1d0b19619a7b25cde3205b416896a448cbce98fdf9f5e6c2a1bf3f54afefc3b6f96261f7af0587fdb17b956ad98445279e9936bd9326b2eb3613797c4aead9c7beb93cd577073c455b9547dfc738f467668db9b7bef83cbb58de7faae9d599ca91b35d93488488d45c3aedfc84fe7df7d77315769aee4727ee5fdd70bc71f79e258dfcd7c59aa5689f868447cfbc7af17746b63b7d6c2d50ba21c3a39dab5ab327b8ea53bd6962f84a5e94fae2fe5898481913171b3d118003ace51dbe7c2689dc9eeda302f4992868686060606745d2f168bd56ad5b66dc771d0a7b9bf1a538d288aa2284a3a9d1e1f1f47dbd8febcc11aff6b9e5dc6cfdf98cf30e2878e1e8fba6a2822d76ab66d199b0f589d995eab185a62606aa2c7b75d22bd56b18868eeca9570a2f7d1c74e8c0d757bf5ec5b3f7a3353b5f2ab998d4cc6663ef974b9a80b72f8f8a907268f0ccb0257cd2f7ef4c1c72b457d71f6fae8d0a32ad1034fbd30ba70e1b5772e71a1ee17befc7c9cc8b5cd8d41d95b9b7f2ad52a9150599db55cf1c499a7268f0c4be45c78f78d8bf3d9622eabd3589888c878ff8d77b3355390c347a6a6a68e8c69325f58bef6fe079f16eba52b17a6d38f9d6c9cfc8d0bef5f9dcf32127a478e9c3c3dd51dd1ec7ae1a377df9fcb14e7af5ce91d4e77f11c1119c51b9f9cbf6e32164ef63ff4c8c3435dd16a7ef1bd77decf2ead37ef4562294644644e4fcf598c45d3c34f3ef5682a24dbf5d2c58f3f9c5ec8e616e7e6c786465b5d4f9a1c7be09f4e8efee06f5ecb9bdce9a75f383918679e5b37ad1b173e9c5ecc32e252fd630f9d39dd1dd18c5af6a377de5bc85517af5e4ef5750d45e4c0b4942b99ae4f64e50afcf133674f4f0c79f5c2fb6f9f5bc855f34bf30b63438d2b5b999f7fe7cd8f2b8e27879253a74e1e191990057f7dc4553973e5c28d4737326eabe6bdfc87ef5faa399e1c4a9e7ee4d1a3032967fd10ab8d0784a351818811bbf4c17b0bb90ac78bfda3130f9c9a4c84a45276e1c3f73ecc56ad6b173e4df7fc5462bd71ab5c291b444266fe8a4b913367cf1e19ea26bbfade1bafcf65abb9b5151aedbabd327b339f7e383397f148189c387d7a34613bb86a1e609fa31bddb5becbed89211a8d46a3bbbeaec8b87c599b9a6abe0170372522a1c6fb871135be0caf9fbf5676bc46e4f2ecca666adb784679766ec52769f4f8a460bb8ca8ba5a321923a268f7f8e79f7d94776c53d7392edadd15cf54d73cb6fee3c431569696f344f289c7ce1eef09d966dd211243dda78e8fe6ce5df43dbff19568994626577289a2d1a8acebfacecd3fbecba75ff8d96722be639b7587b881a1de99f92cb1f5122f5ebebc56310539f6c40b9fefd778db317587b4d4c8a30f183f3a77a99a2f14895244766d71766e8d91307efa894727fb6ddbd6759de3b4479f79b4f6fd1fe58ceada42b16b3445645fbe346b32164e0d3fffdc13826bebba2e86ba9f7afaa157fffe5ddd67444a2cd998f0c1f33d9f481c1c9fd0c8d57587e394d34f3c522efe305333abb91ab5ca64be6be5f319dd74393e1a4faf57c046d9b8def1539f7b74d2b12c5dd73921faf8334f59affc68ad56cfccaf0e9d0c9c32a331da8f483ef5d4e78e77874c5de738edf1671ed35ffe49c1340aab8591f80011bbf2d1d5b2e329d1de675ffc5cc4731db3ee10758f9e78c0ac9fbb34572a164c1a0be8e05b7faea4759d7df1d90473ebeb8778bcfefffd246f38445c34966444a5c52b0b9932913076f2f14727fb2dcbd6754789f63ef5f4c3affdc3bb55b3bcb2504c8ca6a8e9ca00213cfed3cf3dcadbb6a9ebc489c33de9b96c75e3b5dd7399ed0befbd3b9729311246a61e7eece4886561813a803b420c6a646bd3f8865a83cfac46ff9b533774a208915d5b9c5fcad1cdc8c5718dc62163bd4b71f1f2f5a2e986d3a313fd51dff588a85aa93944bc183ff3f419df30d6a719605e55af1391aa841a4f9443235ffac5098e98639996b3d1c3e53b8542c521929b425fb55623a26834d6bea9b9ba5aa8bb3e917cfca18715cbd8e89762d542d52152d667702e2f2caf31e2868e9eec917ccb5e6f0bf13d47eb4b2a4435d72ce7f4543a7c6366a1ce58383df4c0448f615a1b1f14be696891a892336a7ab54c942a2fdf582bd689d489874e936dbaeb67e172523a95d0f4429d17b56497469e4fa4aaaa44ba3ef3f139ebc8d163e34332ef5ba6fccc17ff6b9ee33cc734edd60d33eb03fc373afb88a851362d31f0e82313a6616e344d7996ad7677c5d76ad95aadd2a6a21aa3fde2fd23c7d26aa3e619f32d3b1a8ba905b3e638662331afae1689a423271f502d7333a1b88e154a442522ab52d3895a66b28de7f2a393a7629eed30da3844a4bb2b965fcc1329b17498c8995b587589120347ce3455b2efb99cd4db95d4aa59bd5a2911a568e3ca005e8c9d7aec01bfbefe4745cccfd774221205f136ca6c7ff2f6db0bf92ac72b538f3e796a3865229001eca6f5ab4db2dade952976b22f00681024b1d107cc1311b199cb37ea8cc57a8636225758d324aa5a6ce33bf1c67c86917c646a92b9eb5f94e55a958852030371db6a4a19d5ba6e1189d16462e30de89672b91bd7e68ab55aad663022c67c67fd1b9ce4702842e4af473293484aa47798e2ab582c3b44e174df684af69ba6782854ab8c289a482844d5b57ccd708968eed2db73975a7f30107144b552a946447a6eee6ffef35cd0e388289f2fb944e174cf605460decd0f13e6f382c85363e0d47a61c4071f7b587ffdbdbcaecf5efe646ee64aefe0c8e4f1a3eb6719ac718d64349e90d70fda281bd73734ce9b36db9aa839a25bba9eb7698cf6930646461cb7f9d09baf154744a5a57c9d3122e7d2b97f08a8a7c04fcec67325ad6b642ce1ddd203e83546d636264961ee5aa958279287c7c72cfb96eb7c99ef354e61f3a3bc7165406a60b087f7dd9b4776aad51a112592dd7b2ef38d0b9f2ce6ab1caf9cfaa9678f776ba68599c9006e2ba5b51f5226a28e003a276b8a48c418f3d727892d73bc76f4d4d446e4ba2540cc5d9c2d3b5e62e0c8d194e2ac270f5daf9a4462baa7b7f9dbd82c17ab7587e3a35d1b336c65662f7c7c69ceb9e56b9253d410cf6cc372c3e1a8bfdee852add71d8e8f267bc3e4b6892fac52ad1251aaab976e9973ab562ed588f87832cd882ac5ea4e6d20523c1d768ca5c65caf6d68e13811d3ebf5c641396fcb17be61592edd1c3845448ce4f4f35ffad9b92b1766aecf956ae6cadcf4eac2dce8d483a7c67b838fd3b84672bdb38f88986fd4759b484d7447b6470ccbb669fde2d9207aad62896aaab76f4b7d9a8d028ba2dc684b6bff6b550a69415726560c8311c5bad26167ebec6766a378d148c46795b58ac5182f86925d2a6d7b60a3308ada6855add5aa46e38fca65cdc1b7542a1a446ab237b6b732333fb7b09865c48f9d787822ad5a1843067087219301ecee670e113975c3247b6166de26ea1a1c1d890aaeb739fa9f2322d7b20c3fb7b094e5f8f0f1d3c737bf7c995fafd52ca270f2d6d94d373be0a23e2322c758be7869ce611449f51d3d7aa437158fc7a31c1163f957fff6470671e1f0fa05778d69579b7bee829240b562122989ee78f317b363546aba4d14ee1e8e93ef9b8e4d44e1eeb12f3dff44405312b3f47ab9dae8850c7fee17be3420b47ea0e758a65d320d87880441dc92061ca358a958cd598a8898ef1a7577f0e8a9d1c9072b991b9f7c7a2953a8cd5dfa349c888d05ae4fd01824d7e8ec2322d27355878848d422d2b6f963cba5924e44a170e074188dd17e4a3412717dd6a2c0eb0d998e6d1351f7e8e9e79f3c19504fbe51375abe24866110912008dbee5d2f5e639e39ab6e3844b22a0bdbe6addd2c4c281ade7c11393e9a1e8c36e7c8ca72d1644c0a459311897cb68732e76757abae2faa5d478ef7d9b68b773fc0c1ca64e8ca84cf38251612896ca2eadc4ca658e7c5d8f1d3136ed3b76648d388aabeeb2d5c9aabba7ecff8917e85dbfc7eaf2c175bce6edae880db9c15223bb756674c8df53ff7c2d392e378be5fd775222a2fcf574c97488d75af47905255f76fe9b96bad31069c1723c994d6dce85259291aeb3384f944a434069511d375bd4df79ea4298d0e5ca7aeebed26e2e2373e37b6a68af9e9059d3122b591a53e79fb870bf97a7a68f2c9878e39b6e5d8a424063ff742cf1b7fff83958a995d5a194b1e69dda8952b99ae2f85a2a98d1511f8f5f230cff5e9d6b2adcecc170d87484d0f06f6f33646fb291cb7a532d7e63275c67831d23b1825d75f1f7dc7bc1d2eab68a5d165b1bd4e368ac747e3c9cd70cf7cb63dd8356a8f1723bd833172fdcd5c1eba3597174a1597289188877de613eda1cc15a3ce88b4783c6cbbb8301e604fbfe277979ac496cf0c1ae60ff059ff11a3483c1191bb34bfea1137307eb447604d2378d6c7e430662c2dd5393176646ab4b9c1a55cadb944916854bba59b73a3032eded578a8e93a4424283219375716647ee5caf4bc43c48b6a743d82b09a5e23a27024d1fefdd918031e4e26e2de2db3cee42b1546144ba41a59301a0df144f55c76a96637cf1651599d39f7c1559bc9a7ce3e3d96d49478541579d3ad2f5cb6c3ac00002000494441545e5d4a4f0d35b5b354def9f1b99c6ef78c9e7afcf41851241251d674bb54586347d25cd3de66177344b499a5445120225dafda448da3fa9e6318242b8d990b03635fe31ac948241cdec82e91de7448e4ed6d65b36b2b57af2ff944f1fea191b0e406ccf8df18ed67962b459f2537229d5d5bb936bfca88fa46c712aeef11454221a252299b29f9e389a6e4b732f3c9475716488c3efee233e980b41a0d87896a9552d120d2b6158f486bb459c67a93eac51b66bdb4b4589a1c4ad0b6daebdd284c6339846db9bc31f509974cf6acd7cceecb3cf5d8730f3cc933dfad1b16defb00fb98cc9a879435dfe6db3c13c3fc0102de2066b962485a6af2e4887beb1ba4d14ee3d4ab75c7ef1b3fda73eb74c81bd7486e59ca70bd032ed9b33e3b4c7732c613d5732b9fce2cda3e23f2320bd7defcd1b96ccd22225195c5f54851a9552d22515676987cae31063c1edf72dcc61a397c2cd198218c926323294d62ac7ef9bd0f564a3a11997ae9eaa71f9cfbf0aacda8777ce2583a4444cc4ff60fa488d8f2f5cb976eac78449e6d2eddb8fafa8fcee5745b89f63ef8f0b146b24aa7921c513933ffdec7574c9f31df9ebbfaf1db1b13c3aad168a3bdb03b95e4888ce2ca3be73e2ee8261179b679fdd2078b599d48eaea0d1c4fd6b8465296e4cd814ebe17efee896d946dd9f619f3ed856b17df78f3e3aae30972ecc483936ee0124c8dd17e9c6f173f79fbc3926113b15266ee9d77ce571d4f89f69e3a3dda38d0e0c45098e71ca3f0f1c6c3f46afefc7b6f7d7275d1276174ea546f70f3613a9d9288ac4ae6fd731f576c8fc85bb971b9513c5a6f43f589488e74a7121a91337bf1e3eb2b058fc8b3f56b973e6ad45e5361cc72e5e688c0e61c5e2e1a444a62e38f6a0f65b64d43d7750432807dfcfa68dffe85f16400bba2356685a5f54962dd2dc39e63da7adbc77a62bb6565ccf56b24b72c65d898a54254c3f18d215089b1f19e6b0bab556beecac773573ede7820170a69f5ba41cdc3b83d9fc8bffac1eb57891b997ae281a3e956655e1f031e4dc49bb73a46b95ab3383eda331c27df2722cf093f7c66f2276f5fb0f4fc076fbcd6f458ae6764ea894726dcf52914bcc9471e2e147f92a95ad72f7c70fd4253edc47a1e3bfb84e6ae7775f54f9d1a5ccd2d16eb6b8b333f589cd9686b8c2564ab54b536e7efe89f7a70bc5099cd94cab9c5b75e5b6c3e6eeff8e4647fc409e83a6bacf55e58bafad2d2d5487ae4b9271f20f24f3ff178e5073fce54adeb173ebc7ee1c3a636ced8433f75b657e682325963b49f9a18184b7a576657de7875a5e9b989334fdf3c2f4eec7fe0e4d8bb9fced68ab73c8ce3c591c987ce4cf45ac1a3af220393e38399e9a54239b7f89357d64f9613b4545228146bda461b2af3e5479e7aa8f6eabb15bb76e983b79aaf946cae64e657ab158b484bf6846f69f05bcc1b8cc991586ae38f6ab765ce5d3bffcee57946cae9cf7daee584bd00b0ef30b73bc06e7fec10116989bea9899eedd7a16d6487f5c4766b066a5c23a9267b6fcd64959a43a4c5e3d19bab0fa93ff5c2b3e3fd5da2c011112788d144cf834f3ef3d4e95191c8bfb9047ad70367a662aa4c4482184ef7c75b9677630cb8d675eb52df8dc1644a2c1abdd99fe96bdd132ffe574f0ff7a49a0ffde8b32f3efbf80976734e2b721ced732fbe78eae8b026357ed7716a387ae4e4a35ffc996793d2cd2150ae2d3cf1f9174e8c0f28a24044a2a4f68f4cbcf08f1e151c8f488c26121b0fa333cfbcf0d88393a96848e06f39e5cf3d32e1048f659a7ce08181ae1847c4f14232b59e476d476d942da448dc46d9c6271ffce2cf7e613826053792ad8ff60b4762271f79e2e4c6a909a2d2ffffb377dff16dd5f7fef8df67680f4bb6bce31dcf840c2701c2c804d2b02e4d8032dbcb860297424b2ef7d75cfabdb7b440a0259dd00b74115669182da384368b15c8de51bcb72dcb96656b9c7374cef9fcfe38922ccbb22cdbb29df17e3e82908e8e3ee79c8f649d973ee7733e27bfecd22b2ec98cd82e42c4ccd2ea954b1664584cca0a33ac2a3523efc24b562faacae3e3768797c5c0ecf39756571585ca57a565175ebc7289819287b6a11250655eb27a65716e8656c5020045337a536af99c459195ac74e4571b8da6a19722553a93e9cd66bd4cc6b7cebd031e02a0d29b33463cc102219464d496430e4260412e3dd2d52d6559966559144549920441502e85545d5d3d2dab8be3f89f46fefad7bf5e78e1851a8d46ad56b32c4bd334455181c0e93ebe11add36b698a2244f2fbb8e1bb7746add5aa18089e7838643f4751ac4eafa180705e5f649863355a0dcb44f7daa168ad56c3d083dde445419080d56ad8c8f3e318955aa362298a022082df1f881538c2cbe5bd3e71c8aa6ab42a76f8865034abd1a822171de0f961e3360000a5d668583678e22521441203bc1088319b56c332ca6c4496249e17353a2d4d81c8fbf988bca5526b5896a107fb58c8a2200862bcf117289ad168344ac290442162f42c4aadd1b00c13ea504f6449e479217e3f0c9ad5e834ac2c897e4e88d834224b12cff1c3b79f66541a8d2abcc2b22c05783e4ee68ba4526b55aa60d5c9b224f0824aa365684a12798e1723b750a3d1304ce8cc05224ba21859c9ca3a132273434f99546b742a9656ae3435be75d668752c43c739817492a8542a4288b2d3110481e7f9cf3ffffcda6bafc56f54747ad9b76f9f4aa552abd56ab59a61186527a85ce4908a185f307c6b341abbbbbbc770ec123b96210420fb7dbe384f4b0237d2d05d84883e6f8c161491e7c4e13d7688ccf9fdc38bf70e9d550a08be8030da5f6eece54a02ef1562741522b2c8f91319f880083c27f009ccc67151abe8f7c538f54f39e3726c4d96b2c4f97d23aedb58df5a910f576f229b264b01bf6f9cbf31020217b5b152cc0d2132cff9135ce74802ef8fb9fe89af33cf613f328492604cd9098f5d22841042084dbf843219b69021841042088d4f82390adbc91042082184a61f9d94648710420821842692a968cc610821841042d39ecfe871a739841042082134f134364a264308218410425306331942082184d02993c9123c52890734114208218492989ac2b3d118b91042082184a63db4e1b14b34b99f360556054208bf3d108a0f33199a2c14455183d793c62f5684d0180259f86b046b0361261bf12f04a104190c064992c2bf74f12384104a7c77136e27d3e9745827e8ccf88d91b44c86d058994c264110220f40602c43088d29900982603018b05ad0590233199a2c3939390e87430ec14086104a309685bf379c4e67767636d609c24c86d04433596f6fafdfef972360bf5d8450cc1ca688fcba1004a1b3b3b3a0a000eb079d2558ac023449341acdfcf9f30f1e3c585d5d1deeef2fcbb272871082bd77114210d1ab41f95a902449144559968f1f3f3e6fde3cad568b55843093213451d9d9d91d1d1df5f5f5454545144511422449a2691ad31842687832539ad245510c04024d4d4d66b379c68c19583308331942c93167ce9c03070e1c387060d6ac593a9d2e9cc930962184220359f8c025cff3478e1c319bcd0b172ec49a4198c9104ade278c65172e5cd8d1d1b177efdeacacacd4d4548d46c3308cf22c263384308d297744511404c1e572757474cc9b370f5bc81066328426457676f6a5975edadcdcdcdcdcecf7fbbd5e2fd6094228924ea733180cd9d9d9975c7209f6214398c9109a441a8da6b4b4b4b4b414ab022184101a0ec7c24008218410c24c86104208218430932184104208612643082184104298c910420821843093218410420821cc640821841042a779267be79d77a6e5f61fc78f4fe3d2f1166ff1166ff1166ff1166f13b91d076acb210721509d4341e81a1751b7ca75a3455194244910844020100804aaababa72542fa4f9cd0555444de41082184103aa5ecdbb74fa552a9542ab55acd300ccbb20cc384aff53cfcd66432757777e3b14b84104208a1e987990c218410420833194208218410c24c8610420821742a6095ffc5ecdd0fa13efe51b0d61042082184e218477cc2763284104208a1e987990c218410420833194208218410c24c861042082184990c21841042080184cfbb9c7ac34f40502e2f801042082184996cd2731821a4b7b7b7bbbbdbe7f3711cc7719c2449e1341679eda711b5b545df39bb310ca3d56a351a8d5eafb7d96c56ab95a6b1f913218410c24c36421af3f97c8d8d8d5d5d5d7abd9e65590050abd52a952a328a511445d374d4453a5122288ae279bea1a1e1c89123369bada0a0c0683462b52084104298c906f13c5f5757e770384c2693c9640a07afc8c397ca4359964551a44330968d359669341a8d4623cbf2c18307ad566b7171b156abc59a41082184cef64ca61ca93c7cf8b0c964d2ebf500c0300ccbb22929292929294a802084f03ccff37c7f7fbfdbed16451100028100c3300cc35021f8568d89d96c962469f7eedd959595369b0d2b042184103a7b331921a4b5b5b5bebede6c361342542a954ea79b3163c6f0636a7abd5eafd75bad5600f07abdadadad3e9f4f69336359168f638e5b5a5a5a4d4d8dc7e3292c2cc4da40082184cec64c4608696969696868d0ebf5841096658b8a8acc66f3a82f34180ce5e5e5fdfdfd0d0d0d922405020196651986c158360eb22c9b4ca6cece4e4248515111560842082174766532e590657d7dbdd27b4cabd516141428e12cc1124c2653595959636363f8c44c8c65e366369b3b3a3a4c26131ec4440821844e5993326802cff3478e1c319bcd4aaff3b2b232a533d99868b5daf2f272ad564bd3b4288ab22c271ee9505444b65aad76bbddeff7636d20841042a7a6e4b79311426a6b6b4d2693d287aca0a080a6e971c7a9fcfcfcfafa7a41106459c633312718cbeaeaea66cf9e3d09c57b1f7ea1ee83011900aea84c7beecabc33a0c63aec2d6bfed6d30300403f7775c915e586e9a8abdeab9e69b60300c07f2cce7fe0a254fc242384d0192cc9ed648410afd7dbd3d34308a1693a2f2f6f1c2d6491743a5d5e5e1e455192244992a48c3a8b6fdb3850143530303030303029850fde3963123335d9e5265257f8fb03218430938d5f434383c16050ba9129675c4e90c96432180c344d4b9224cb32be67e38ecb2929298d8d8d5815082184d02928c9c72e254972381c4a4fb2acacac64159b959555575717ee523679872f9d359f7eef910dee584fa5e42fd9f89b4713ec24ffc6d3fff1ea670d4517ddfccbffbce1d479b3298a723a9d922429274c20841042e8cccc64cae9963a9d4e394d52e9529694920d06834aa55206fa571acf262996a9f5e691d20aa331aa132e27c5a001008d21e5947ab3954647a7d399999939794b11bc032f7fd4f66a2bef0810a39ab9bcc4fcc8aafc5455d4fb25edfdbaf5c523035ff7891e095886ca37a9ee9a9f71cd425b64fd7ff0fe89878f73009066d2be7d6f45f628d3a5cf3e6f7ef198e7f080e4910000ac5ae6dc6cdd034bf2cb33a2de3a72704ff3cff7f71fe897fc32e854f42cabe69e0b7296969a46daa8969af60d9ff6ee74897e19b28daafb1765ae1dbaaa002078bdef7ddafe5a0367f7482280514d9f63d33db23c6f6e4e429752e86d773ebfcdb1b94bf0486054336bcbcdf7adc4ab6321841066b2f1eef21d0e875aada6697a82ddc886d3ebf58140201cc826299365545ef655dd8d340040c7f7be71f5df6b7aaf7af0971bbf770500c822d758d3c08fb1c053ed8c04ad563ba999cc27f08fbcdab0c51d3cc4ec11a4bf1c779de817ff70534938ef4881811f6f6a7acd29865f254aa4be4ff8af6dadaf9f70fdfa5b33b354e3a834e1b76fd4fcaa2520454c7271d2c70d9e1d6d35bfbfb174e1602c135e7fa7ee7f6bf9f09cfe80bcc7e1dff36efd4d73d2fe7bd58ce1a1bcbea5f3a983035da1c3e61d9ec0fa6d6d0e4e7ee0a28cc1d076acf59e4f7a6a85c11f211e41feb2dd7bc3ebf6dbe7a73fb222277ecb64cbb1969b3eea092fc223487f3aecfa678b87c3af288410c24c36ce5db2cfa75ccbd2683426b733bed168ecefef0f77f39fa4acc30f38ecc71d0000d0afecb32561e0f8f1e3cab3ce9a4f1f7af8e9d091cda25fbdffab8861589dcf7cf7a11dcd6e0028bae896d5c3ced27be3a907377dd6a0dc5f7ae37f3e7af3c5d3f27e2b972a9fbcf2b7d6c53887e0509be7c303fddf9aa78c181c7871737364201b326787f7a1cd0d7fb8a178ac89bee570c7ef5b0212409a49fbfb6b8baad2b5032ed77fffa5f903b7cc09811f7ddcfcd6ad33953277ef6cfe6944208bfc4df1daa19ea254c3771659874e977fb57ff84691dfefefb9eaa28c02e563ef72fe6068200b9364f2e2de6e93567def05231ef79602aefffaa4b76b5857c9b6be007e432184d0d923997dfc09211cc729514cad562777459502c3fdc9a640648ea128aa71fb1bff3e18c800a0e1c12b6ffeb4c649511445399fb9ff7b4a20038086cf36fdf6e313112f753e73ffcde14006003b5e7ffac1a7dea0a6c9648f52765e9ee9e3bb66d5ac9bf3c27c43e8a01dd9dbde1f0a4fed2fb504a3c64c9bee8d1bca6ad6cdfff486dcb5b6e0cf83fd2d031f1d1ef3c9a1879afcca02328d6c668a9a1062b458bebfd8a2c4c09a4effee56a5c969e0f787bd4a26adca327c7cd72c65e997a5287f08e42f277a7cc30a6768fa817333f63d3cefe8fd336fcf0aaea7870b9ca80dcefbd1ceeefdc14046adadb47e7aff9c9a7573de586a9da9563e45e4a5fddd2d23affcfecf7bf686f25ca8f6e67d7c757a951a4fbb440821cc64e3e5f7fb95762ce5e2e249142e309ccca656c3c667370140e5e50fd7d5d5d5d5d53d7c792580fbff7ef9e76e80ee93b5879bfa00e0e19fbd5f5757f7d93bbf8c1c486ae7a63fef687203a4fef29dcfc2cf367cb6e9f56d0dd3f296070293d8fa62d46afee7da92228b8a107ac5a539cb8cc10f98186a04faa2d6a78427b35ef39b5bcbabf3f48490ccbcf49fdc9abf5c1f4c306f9f708e75b926757041c73a3c17fdeaf0bd6f9e7cf7eb4e7646f6de75f36bd6cdaf593767e90c2d00b41d73edf3291f1ef6891b4b8b2c2a65e9ffdfc556a571acdec10f0f4f1714991f5896636441a5377e7b614ab8194d9494a2faffd12c285396cfb4fce4aac24c3d4d085d7d6ee16f96054361bf4fd8babb6fa495dfd3196cb74b33699fb97166914545081495e73e7dbe59835f5108218499ec54464d614319051445510ddbf6d70200543ef5ecbfdbed76bbddfe8d7fbf3b15c0d570a0aec6597770772f406ae955df5862b6dbed7cdae26f5f5e195a55e781af0f00c0550f3ebe388d8f7c76f781fdd3d24e36a96fcd8c347571f8783801367a69bebdddc144383f475f1471e49c66cd2b73826dab8d2ea16b8ccbad2a37e6d1e1a8246f6df6addbd1b9e4a5a34b5f38fae7cfdaf95088efef0db84273ad79ee40d933c17fcbdeef51a64bb2546bf746153e3f23850efd0aa0682aea6fa6abb6ff18176c245b599c4a0ffe6020457353e76b8341f368b7678475f79eec0b1e4a5d946bc88af8bd517e9e05af518a104298c9c649abd52a9949398899441cc74d637f79bd590b00a9a52581c636650a9b95a974f0d6e9353a8d122e6457b70700784f774e6149e8a51a96060028cccee8f6f091cf528c765ab645a5524d5ee185a6f8c7ac49b8c1cca48aeef56e0875ed976532d661e86c05393fbf2825635847faf67ee1c75f74ad7ad1de121877db2a9d9f16afc66409426b4b19b4517f50b429b45162029bc4467fc2d5334d347e492184d05922c97dfc351a8dd2c73fe907c89402699a56ca9fca7c165e586f4d4d2f4529ddf7dbf69f7484834841f1e0ac0000505f5b139a107ca6b6fe2435ff3c887e761a52a64ea79bc4cfd3285bc498427da40602d1fdecbda1d8440f6b8b8a22c5ca5773cf2bdeb940f8fcebb657ed9e2f7b457f44066aebf3bff0aff69f7c2377f083aa52bffbf0ac99b17363f4a171868eb7515a43385c13af3f6aa3a481d046b1231642b1a1ad1d562742931707494608a1b345927f85ebf57aa5596b606020b9ed641e8f271c62a63ecacc5cbdb41200c0bee1a7af2953b6befb6a2f406ae905732ad335b979a900bd351ffc636b3d00749fdcf9e6167be8a5e92b2ebb00003e7ae9173b4f76473ebb6ac5d2a97fbf0921493ffd622cb4c5a6605bd6fe765f7d44db951470ffab3dd82babd0aa8e1aaba3cf2bf50f3ef27fd525c4dc389a555d7c61d1ef6e3f67ff43b3fe7e45d6c365ba7033d3e15e0e00f4265619f28b0f04f6ecef8bfd511be3265967e872828d61e45f0daec854557fc0b53f74587356fa48838de94bcc837512d99bedc42ed7498c64082184996c1c288a4a4f4fe7795e96e5a49fdce7f3f908210cc384dbc9a6a8db15051445797bb2ef7ef02a00a8fdf495d5ab57af5ebdfa8fdb6a00521f7ff211bd37602d5ea17411fbe333f7af5ebdfadb0f3de91aac93c0d27beea80400703df9d0b7c3cf565efef01d2bb3a7be3319c771369b6d1a3f704b8af54aab52bf8f7f60d3c9bdcd5e00e86c76acdfd4b2cd173a75b122b8860529c18386921c78e16f4d9e0011bcde57de697cdb151555b8c75f3eacf40cbbefdd464208cdaacaabb2be7b4dc56dd9c19660938a068082b996ca507efac98e964f4eb825008fcbfde42b4794972f79c93ee6f30bc0b23a2fb89edb6afbd6bfdfd8e99500a4bd5f373eb0a32f7442837ae5a21107105e98a5614275f2f0a69a0697a0bcfc91af0678fc8a4208a1b346328f5d5214959a9a7af8f06165d8588fc7633018925232c771a2288aa2a8d56a954c36e515e5bdf8aea73f5b71e9d5dffc8fdee094caf7ebfe96d5dee2f402789db73ffb2e05d73cf7e17100a8bcfce16fc03f94fb00e06cb7bd5b57f7c2835786a75cf5e02f9fbd6f594373fbd4bfdf6eb77bd6ac59d3f8812b5a907bb7ddfbcbb60000d43afd37be591335c37985e66bce098e2f6bcbd4a4c1400f00007c60777d60778d50aaf6da4ac3bb9ff77300db6bddaf7cddf5cdf91946956c3fd2f1cf6ea5dd8abaac50395d32e5ce2addbe833e098013c4fbffde007f1ff211be636ee63812eb354bd2df6b6d3f281000b2f978dfe6e351a758520f9e9b3d63e497cfbb28ebb213f51f0dc80070a8c3bbeaa563f8c584104298c9268a6198b4b434e5f88fc3e1282a4ace79635d5d5d00c0b26c643bd924d74ce633ef7ff54b96e6bdae968e1e00e8e96851a75ff0555d5df8f4be8edafa9ed081d48e96c6db9e7df7815fb10020f25e1eee7de057acc87b1b5b3a007c8db5b5e1670180f7ba1a5b3aa63e59cab26c3299a6fb6297aaef5e5fe07ca531e6b0b10bf24cbffc6651b8f136ab2cf3e65cb712e0222dced59e68e32203da9c0b8b9fecb33f7ad42fcaf28f7774fc784747e4fc5755a6debac8a2dc5fbeaae8c1de935123fe2bd6cc4a0bcf3626c6f4f4e72ee3efde1263d85886a6ee5f9415bf5886353eba34b566d8cbb56ad5f96679bb53c2ef298410c24c36361445d1345d585878f0e04193c90400fdfdfdca9d89f0783c7ebf5f9224954a35851dfc8596c6fae849de9efada9e915ed0d1d218a7b8f8cf4e018aa25c2e575959d9b47fe668d6f83fb7575dfd55cbff1df5ec760506246019aadcaabef59cf46b16a5d3433a74a9be7b7d49ce3f5b7e6bf7350b84a1a97cb3ea9ef919e799b86bdb865e7688c0955754cc2d6dffe517bd3b5ca22b400040a7a28b53d4772fcc5835276db058a2baffc65917ed6efef9fefec303e28004e162872d7d0c6654e6bd5790fadeceb65743d7bb34a9994559daef2ec99b9ba31db5d41995797fb1e97ff149e7db9dc280043a15bd385bf7e08ac26d9fd8b7e3b71442089d1da82d871c84c0fc6c80d0096751b784104992445194244910844020208a62757575cce20821a2281e3a7448144596655996cdcbcb5306c81867321284a6a62651140140a3d1a8542a86614eb58b489e162449e2386ece9c399314f8223f03a34e1ff664ec3962cf4708899816f5a2189f8dd8c58ebaf48819863c35d2f4d84b1fbef0387512f5f2a1d7109b8e91921142088dcbbe7dfb589655a9546ab59a6118e5405fb85169f8add96ceeeeee6693be1e344d979494ecd9b3c762b1c8b2dcdede5e585838be144508696b6b9365599665ad561bb549684c99a9b3b373eedcb99354fe4879216e8e483464c49a6fc4d7269c5c469d713cdb94c8d2e3cc33fc290c62082174f648f25818cae14ba3d1585151e176bb9546b5c6c6c6715cf75a1084e6e6e64020200882123331908dfb4d71381c25252546a3116b032184103a3525bf9d4c89659999990303031d1d1d26938910d2d2d292959595f869983e9fafa3a343966551149543964a67329ac661cdc7cce974a6a7a76765654d46e165cf1cc01a9e32271f9d879580104298c9c61ccb4a4a4a0821ededed66b3996198f6f676ad569b9e9e1ebf7b19cff30e8783e3385996254952abd56ab59a65d9691a02e3f44651545757577a7a7a717131d6064208217496663200983973a6c9643a72e4485a5a9ad24fbfa5a58565599d4ea7d7ebd56ab572ed45e500a5dfeff7f97cca6c8220b02cabd56a552a1576231b1f4992dadadacacaca26a9850c21841042a77a268b8c65ca21cb9a9a1a97cb65b15894ac208aa272ad24599601207c445219189665598d46a39cb689ddc8c641966587c3a1d7ebababab27bb0f59cdbaf958e15306bbfc23841066b2f1c7328aa2cc66f3bc79f3fafafaeaeaea7a7b7b8d46a37219ecc81d8c3227c3303a9d2e1cc5a6e58ae3a7efde5a96659fcfd7d3d3939292525151a124604c09082184d0d99ec9945816969a9a6ab1580441e8eeeeeeeeeee638cee7f30502014992c2f3d021e13c87696c540cc3a8542a9d4ea756ab6d365b6565e5748fd48f104208a1532c938593593866310c3363c68cdcdc5c6534dae1e92dea12e35145f94f9cd0555444de4108218410c24c36865846519412c294de6391570b1869585b8410420821cc649392ccc2b7f1af39831042082184996c14ca701549c96708218410426718651089b1be6a3cc3e28fe3424908218410426789f125a5f164b2a4b49321841042089d91c69794f0f2910821841042d30f331942082184106632841042082184990c218410420833194208218410c24c861042082184990c21841042084d2893eddbb76f5a6e8ffb7cd3b874bcc55bbcc55bbcc55bbcc5db446ec781da72c84108cccf06187a5df0f02d21449224511425491204211008f4f4f42c5fbe7c5a22a4ffc4095d4545e41d84104208a153cab66ddbd2d2d2542a955aad66188665598661288a8abcf077e4add96ceeeeeec663970821841042d30f331942082184106632841042082184990c218410420833194208218410c24c861042082184990c2184104208612643082184103a55b0caff628e160ba1316387df47082184104223199ea0467d8abed9f3000020004944415409b69321841042084d3f16abe0f40de0515394eb33208410420833594249c2e572757777fb7c3e9ee7398e9324696c45b4b545df39fba258389011421886d16ab55aad56afd7db6cb6d4d4549aa6319f2184104298c962f3fbfd8d8d8ded9d5dbd92aec64dbb38d2cf531e412b48d8412de130a6fc4708048f4c130050d3944e2d59b49c55cb179a7bb2d47c766646414181c964c2648610420861261b2408427d7d7d637bf7d101fdfe4e25840db68d616e48288f1100220391892ce7a5b025a9ea3c3363505326350500de0019e0498747dad725777bd9aa5e4f75d7bebc2c5b4949894ea7c3fa43082184309381cbe53a74f8c89101fdd7ed6a4e0c000066b071c431203245a405399a0bf3d440338c3e252335c5acd7580c5a9980dbcbf57bb98cbefeca4cb70aa45d6d81d74e520b3d038eeeaf66cfaa4a4f4fc7e08b1042089dd599acadaded8bc3f5769fe188434963980cc691c70891a5420bfd8d12935aa32b2e98916b3347cda8b518322d86d2dc340068ebf104e8e67999fead8ddc4e5eebf01f3bb722bfa8a8082b1f2184103a4b33595b5bdb9ee30dffecd0f4f3018c03e30a64046489c8d2b9b9ea0bf275f9858579e996515f979b66cc4dab6ae9766b550d7bdbb94f9a699daa8510525c5c8cb10c2184103aeb3299cbe5fae248fd5e97614010310a8c2790010091892cad9aa9abcad2e7e717e4a619131fb07786cd4c33a5c03459b5de4f3b04bfd06c3299f0202642082174766532411076ed3f5ae337b6f40730038c279201012213229d3b435396a19b3fab42ab66c65a488e559f995221ee3fdec7cb273d8cf1e0b1e5172c32180c58bd082184d0d992c9eaebeb9b05e3b1ee00b6ca8c2b91292390c98529cc4505baacbc028d8a1edf25ad680a8a0af3d554fd87766f13a7afadad9d3367ce99f7a674d85bd6fcada70700807eeeea922bca47ca9dde875fa8fb604006802b2ad39ebb320f3f6b082184cee44ce6f7fb8f353b8ff5e800f3d83823192144a6405a35d398913323df669c486933520d5220ff9240fde613be74c65758d86f369bcfb858468d753e0a3f9d082184cef84cd6d8d8d822187afdd294edf61e5933af3a4d1535b1afa7ef81b76b4ec74006841059aeced2a834ba820ccbc42ffa9e9f616e6ad797a58acd1ca9afaf9f376f1e7eee114208a1333c9311421adb1d0dfda6a96c88110409203a9359d22c2fdd3cebffbd76f434bb001321046490a5f373f5b93959c92ab520375b23fb5f3be26de9f2cc0a04d46af559f969373c77dfdce7226b1a2184103a533399cbe572c93a1747a6fee898b3adf51bcfed54ee2fbd7cc9cf56ccd0eaf5f75d96f7df9fb49e46890c28a0089991a2a26826df664e566ec8b3191b9b18a39a71493aa7d3999d9d3d096f1039b8a7f9e7fbfb0ff44b7e19189aca33ab6eadb27eebc2eca8002878bdef7ddafe5a0367f7482280514d9f63d33db23c6f6e8e7678a19dcd8e3f7ed9f351a7d0211000b0e9982b669aef5b999faa1a65fd8fec6bbc6f5b5f970c003027d7f4879b4a4ce0fddef3d1fdc922faa2b1ef3d5ae9d8deb8f1b84f59b16ca3ea8e79b69b176732b13673779f2402e45b34ffbd6c4699dc1751c8ec4afc5e41082134ed99acbbbbbb835351943cf55b42d1ecacaa32e57ecb9efd7fca347c6796353d553f8302a5a92c377fc6e397648576fb815ffcfee03e0000a85e38f3a1391680c0a67ff65c1b9a61ffa1da8d7bfa42655b7e71fb4c656430cee7fbdf378e4d52db9bd2b91f402eb66a024c92af894454fa0a1bdfe991babbbbb3b3b393bdeec26fdfa8f9554b207ccd2c49268d7dc28fbfe8fab0c5f77f37949842d35b8eb5def3494fad3098353d82fc65bbf786d7edb7cf4f7f64454e440022fff8b866dd211f1799bcfdd29f0ebbdeaef1fcfc8ac2a5c5239e43da72ac251cc8e6e69afeeffae00ac4ea4f16be23ffe40fc7bf768ae1423a3c81273eeb38e20a6cb87c4678953ef8f0e4a347fde1999afbf87bffd6f09f8b4cf8558210426882e8e416e7f3f93c224d4dadc15816a24fcfd97bacdb07a037ea1717e8298a5ab070e64f07031900a81eba7dfef5057a8aa284e04e5f754bc40cf3e71429cfce2898f1bb50200300ad5effd3dbe72e98d44d2124d7cca4a6184952a5a6186c7ac6cdc91cc725fdb0dd471f364406b2487b5b067eb3b52bf8f170397f3034904144867b716ff78b5f38c3530e7ed11015c8c206b8c0837f6f3ce80ac45c990187e3e14f7a95409695a27deefa126b423f3de4c84036b86927fbeb42f74fee6efcaf8840165a73f9e9ddee3efc2e410821744a65329ee77d0142014ce53f8868f108ffebe9f0f8000048c0cf5360f9f61c0b0038db5a17fee0b5853f786d679b1f8059717ec18c88124e1e3db6f007af5dff87633e0000a6aac84c01ac9963d5869e0abd5075f5cadc49d916021421408881059d36c95dbef43a8d41053e41f6f97cc9cd6452a0f7cf2739259065a568dfb8a1ac66ddbc8faf4eaf5207abf6bd93ae4e25dfececde1f0c64d4da4aeba7f7cfa95937e78da5d699c139c94bfbbb5b42c9ea85fd034a20d3aad9ff5d9a7b74ddfca3f797fd6fa54ec9cd9c10786167fbf095e1bcaebbdfec382410004835a87ff5cd921909b7053334fdc0b919fb1e9eb7efaec2ebd2820d767c403c61f7020040e06f27bcdcd0398fde5ff6a3322d258384df250821844ea94cc6719c4f04a0a829fd17d15016fea7366ba8d0c4f90b2d160000ffcffe6fff39b32bce995df1face261f80cea039af203c66877fd3bb2de7ccae50795cadfd010090c4005096a2740d0094cdaadaf3ec4d7b9ebd6949ae0e004c6a7a72b60580020260545316bd36b9ed6416bd56cf523e91088290dc37bdf180fb4840495af4ff5b55589da727048aca73ffa35c976f51dd3f27f5cfd716650100f4ffa339b8e8e5332d3fb9aa30534f1342579f5bf89b6516e5129efd3e61ebee3e00683ad0fb952f98ded62fcbbff1dc7415212abdfec6abcad7cfd428857cd6e0ad8b5e17f2f4a73d7b3902001a15fbebeb4ae7a6ab12df9035b36c0f2dcb31b260b458ee5e601e360689e74b47b08d6c7579aa32a74aafbfe59a997764b1f855821042688292bf2f898a49532972b9b979e67087ac802f0000be7e5e2cce55661970fa7d007a2001bf40057b25512933d25b013466034d850be4623628e90c9a7037b5a46e0000100a26eb7c400a0026a1f0da6e81070000ab515d5e30787c78c5eaf2954a50220400ba6afb8f05ab935a599c4a0fb6d591a2b9a9f377f6ede0080039daed01b09c68e73c000060d4aacf9b6b1e9c95c079c57a632def01e003626dadaf64a63e3293f58502271f90bb7a05184326a3cad2f4e195526b190d8027e2e9ae5a6f67b09f24bdacc41a9e93107655a1ee779d03f86d821042e814ca645aadd6a0a67de294f6f11fecad1d11ca5253347a005fbf6747832fdf0600a0376b7328aa1700008a66dbf4435f1bf97a6a58b8dcb975e7231f0e9ebfc9aa75a51585c91f4f82a2288aa628ca2782cbcba5e855492cdbe5e5bc22e8d5b44aa54aee5a8b72309ed0d4d076d7a187486509421f0bcaa08d6aa0a54d2a0a380200ca67275ca6464545d573645a12a5381153fef5aef625e5a50977bfa76ce6783513b1fec00c5d7d0607a045082174aa65328d46635051ce69da98f09e31272fe7de051900d0dad6ed32ebba3f6d719e976503ed6d5716ffe0fd7a00f8e6ec0c25b16d0f2536181ed10028701e6ff35f94ab5b745ef5e5ada676d0fee8bab23c1dd3d2d2f53fdbda276313680099a23c02f1f33c4032cfe6f371bc2f400c2a5aa74be6199d6fbdf51600fca430f8f0b3b70ec799f991d06cbe43f6b70e0d796a711a2c4e0300007fcd5b6f41fc328797139e12e51f6f1d88bf94386b156729c3d73fbcb647de3a7e04e0baebaec32f178410429398c9461dd44aafd79bd5c2b45cba272d3beba56f0f1964d5d7efdaf04e83262f5393e9fff8a8ebe659564b6aca4bdf9e1f7a3eb0f9bd7d7d29690510ee78a6ac77e4899c29af7dda547d4385de60fcdfc117fa5f7ce50095973909a192a6689aa6e96e9faceff390dcb42496edecf3f4f8e51435add1689258ecf5d75f6fffbceedf3eef970000e817ae2f5b5918cc7c8d071a6fddde7f7e81fedfcad2ce9d655543df4dcf35ee0e1000583ed3fafc9ac2f0b017f5071aafdbe2ea0700a07eb8acf0dfcfb5d47e5d7fcd76370f00403d7159d1b7e6a584e6256fbe7d7c7d2d0f001a95fadd8767cd04e838d1f2cdbf397b0000a87f9f9ffed8a539affce5d84f1a0500483369dfb9af3234f287e7e1e7ebde1f9001e0ca4adb7357e5c190d7d2cf5d5d726545b01759ace9bd6b9e6d3a2c0300ac2c4b7de19a82d02a094ffdd1fe72b0ab19fbb775e754e280b408218412484dc3db6592c966b365a8f8e9eae21fe9e4d1632b9eda2ee66752145094f99df7b6874ea80ce6aaefff60f37bfd7a4d440931cf19f0f534dd19fdc2f7eb83c526fb1f0d144d513455db1b60257f72df1a5af437f68999da80cd664b62682684949c6b9d171cc155fed1c70d7b9a3c84908ea6ae67be72770ad2bb3503b77dd0f2458b9f9094d579c18383db6afb7ef8f7860e8f4888b8e7ab86fbb7f7f503008059af5eb928851052b228757ee864cc27b637bffe55174f08eff1bcfe77fb13b54aef35b8a8c858a29cbf10f18ecdcd4ba109ac5d66ab525100d033c0fdf15f9da1f31ca2d77cd834183c2722c674e30519c1df30db6bfb7eb1ad6d4090798fe7cf6fd7fed121469580df4408218426b79d6c5456ab35058e5ab4a96e7eeaba943df1bbbf7778a287aab2a6d9e6ce2a1e6c452b2816dcad2b7e7020b4f35455ceaf549aa1f67dba7be15ffa015495f3cbf40000fe7b9fdcec12646b9aad383f5363c9a2a25f586698ac4da1699a109ae918e05594dcec1cc84b3326a5dc56974f4f4bbd3e7196de9f919191dc864c86b57ea7cc71e0a85f02e872f337be197d99d1f979864533b40070cd92f4f75adb0f0a04806c3edeb7f978d4a85ed483e7668786674d796881f1c097031c0027888fef687f7cc79083c55ab5fa912bf2475a25637ac643557ddf3de893005e3bdcb3e6e28c32d5c43759b5668ee9f54e573f8024cbbfdeedf8f56e47f0091a2419bf4c104208252f93511435c19ff8344de767a515c8e4f014f629cb2d2bcb4d60368d25735e758c038e86ecbc854386b5d7950cbd3ace482f4c3a0a40a6299aa18944ef778895d095ac4cd6d4d659ef946698991c5b0acb26ff64dbd55714d7f79f8c396c6c568af6f19579fa60544a7fee32feee2d31868d6568eafe4559b72e0a8fce0b0b2e2ed9e03bb9ee608c61634d5ad5f3d71697c6dd8e252b722eabafff6840e604e1f98f5b952b294d50d1dc82ffd7e27ff43817b9992cc3dc5daaf9cd091f7e9b2084101adb7e7f6813091d73ea44141414e4d0fda95a869aea61ca4eff7f144d034d530ccdb0073a384a121abafa263e3259a3a35f23f3753d42aec65f5c5c4cd374d23bfc11a2baffc6596f2e4fbdc0c2e8e860c6ca35aa1e986f7beff68a59110352cca8cc7befaed29f9e63986564944c6552332bf20d6fde54fee0d2cca1a76dc2ea55e59fdc907b47be263b34fc6cb65175c739a9ffbc6fd6b9d9daf8abc4b0c60716989499fe6177ef72246754b6abaeaa7873b9759e916101189a9a9ba97fe3c6d25556269c2c69fc8e41082134ae64466d39e42004e667077b25877bc3443e942449922451140381802008bdbdbdcb972f8f53fab163c7beea94773bb057cd38c20d21b2248b013120145be815857a5bf68c1956fdb80b6c77739dadcd9fb77026565e98c5565757330c33692761c4283866cbebf0f9e234d0263073c42c43bb9785a72b93238b0acd38fa6b872d6fc81a1142766c3979d7411f00a499b46fdf5b918d9f6384103abb6ddbb62d353555ad56ab542a966519865176becafe237c1bbe63369bbbbbbb2765fcf1a2a2a216c7be4a5bda891e11df9831861a20c0004b1842ea5d7cba412895dbb3ccc50c3d9e1425c9a4b1b9adb52f20cb249bf1cc9cb970924f894df4d0f7980e912730f348b3c4e8d73feed702c0af5f3bf2cb36e5234d3d7a51f6ed8b3318200d27da9f3b1e3c2123cda4cac00f314208a17161e3344e8cbb6f994ea75b30bb9c3b54e3355b5a07f04a80634b6540030d0cb00440feaac567d130fbed0dd9d9d9b996b18d2bd6d1cfb5b675f4f985da5eaecac8cd9f5566369b27e3c0e5d923c7c00028998c3cf359fb339f458f51b73cd7c460352184108ab39b1f792fcc26378d85d96cb6b9c51e7573975b3079043c8839b6778b504051ac7261f22df5def367c8b4dc2a0632f36d898e22dbdce371767536f505f6777217dbf88a829cdcdcdcc9086465cf1cc0b72cec77bbdb7fb7bb1d004e3e3a0f6b032184d09892193b7a3e20647c3bf2c2c24242882076b692547b2f1ec41c6b2ca32986015051005fb5f8ba3dea8ba1a3d5d153909d911bb77b597b9fbfb1bd4b07c2576d8224498b52fc1505b9a5a5a593d98d0c21841042a324b051f7c2ec584b1c93a2a22293c974ecf8f194acf4434ec24bd860967065d3845014455132455314dde80e341eea5f94ab37d3ad2d6d0cadd1a59af4469ddaa2d7c884f4f9048f5f70797c32ef37b15273af74a8d35f91c61668dc559595b9b9b9915d0b114208213495692c41ec64af8dcd665bb470616a5d5da6ec6e21a9c75d2480a36b26f836122014a38cec2f33b42c31bbdbf93d6dde1cb3ba342d20f83c7a165c2c00805f049f08bd9cdce812dafaf9628b6a45863fd36a9e397391c562a1697af2ba91d5ac9b8fefd57038943f4208a1b11a73261bc7ae5da7d3cd9e3dbb606020b3a1a110fa7cacb93da0ed17286f80780318d1e2d7b572e498a2295aa61942b3b22c7578a5b6011f9109109900a828d0aa28939a3669a83cad384bedb1a5a516159d939696c6308c92c626af850cc3074208219494bcc44ed9ca994ca63973e64892e4743a9d4e27cff37ebf3f100848129e98397aee2184c8b2acdc2ac243c2320ca352a9f47abd46a34e4fcfc9c8c850abd574081eaf440821844e0bec142f8f6198cccccccccc715eaac87fe284aea222f2ce5915cb22c359d4b5aea99070c3187620430821843093a12453029612c2689a86880b2dc0d0133a123cb90321841042a76526c37dfc2992ccc2b7c33b72e17b841042089d9afbeef164b2c80163870f4e867bfdd3f13d46082184d0f4eea9871fc51abe1fa7e3bc1221841042084d76568bce64082184104268ba60264308218410c24c861042082184e264b2913aa361573384104208a1f8c691a3e8f8af8f9c8e1042082184c697cf464d5cf4988ac37086104208213419d9891e29c18d543ac63284104208a16445a6f06c7482f90e2fa1881042082134a64c160e4e89b499b109961b2e9da6699665df7aeb2dafd7ebf1784a4b4b25492284a854aa29dacae6e6e83b0821841042d32410085014c5304c4d4d8dd16834180c595959344d4705b251c5beb652e41596a2e21ec3307abdde62b1b02c0b0056ab55144542885aadc6770521841042671b4110288a6259d66834a6a4a4188d46bd5ecf30cc480718470a6a63b806394dd3344d13420c068356ab9524c9e572959494489224cbb246a3c1770521841042671b9ee7699a6618c6eff75bad5686611886a143c6730df2e16d63e11047d3b42ccb4a2c0300a5218da2288d46b373e74e97cbc5f37c6969a92ccbc34b40082184103a2329d1a8a6a646a3d158add6ecec6c96659540a6dc86fb7d8dd4233f72221b6731310f5f2afdc92449a2695aa7d3592c169aa6398e4b4b4b1b9ec930a221841042e84c0a61c333594f4f8f56ab359bcd3a9d4ea552291dbd46ca61719acdd844d218849aca1886511acc288a92655939621a0804bc5e6f543bd9b8d318c638841042084d7dc01ac70b954c268aa2c16050a9544a0e0b1fb20cdf26b868364e1a0bf7f787d0f14a18766ea7d2998c65d9f014a584f8db192778e1581b0821844e058490aeaeaedede5e4110b03630aec59c47e9c7e572b94c2693d28d0c00c27dc822cfbb8cd9af3fea211b338dc55cb012cbc24d65e1e94afb59cc058c546682c10bdbcc109a249224793c1eafd72b8a224dd3b8cb416838bd5eeff3f9743a9d56abc5da4071029256abededed9d316346b8177ef83691cc139e818d93c0a21e2a275d861bcc1886093f1c697989e4b309a65484d058793c1ea7d369341a6d369bc160d0ebf5319bd64f117bf7ee5db06001be6b5815536ffffefd344d6b349a387f206ab55ae93f84d575a6228488a218ff87ab20084a4c8a4a4409368f85b189a4b1a819c21395dbf04a441ebb4c7a3e43084d9c2ccb0e87431084e2e26293c974bafc49e2370656c574d5b656ab8d13c8542a1521c4eff7cbb28cd5758619bcde114d330ca352a9028140ccd9689af6fbfde16fd43883c48e9acc123def32e658b2e13132c6fa13216a7efc9641686a381c0e96654b4b4b4fe58631844e9d4c16ff2f4519321d2bea0c0b61c37fca4676d91ae9a3121e9b62789909369241e4f52e23bb888d1aeba2669e60b32d5e4613a129e0f1780441282c2cc4408650b2421b56c29991c6460d21a3f6b91f351a8df43072fae8d7204ff061220110931942d3459224a7d35950501079460e4208611a4b7a99e3c84e8a7863618c347df8c3f8f38f6363f0c70742c9e5f1788c46a3c9643a1dffb8f00b01ab02a1494d4e935d7e82cd5874fc99c6d1f296c4e88a2d6708253193e9f57aac0784d0d99cc326295a242b35b1c37f7e8d7427cef4c42fa9f4e1ab2f1c6c76cd5df2adcb2f2c1efeecae0f5effb2096ef9ee8d3642ba4fee7a7f8febb69b56e3c708a189134551a7d39da6ad2cd8388455815072ff7c921bcb227351e448fbe151f4873f8cba139dc962e6be98872cc77decb2fef30f0f36bb008065632f77d975775dc682b7df2351cead5b7705acb3267218142114c6308cc160c07a4068ca747575b5b4b4381c0e8ee30040a7d3a5a7a7e7e5e565666662e54c8ba93cf29660cb591476d4c8153f8d8d7425a5e185282d64f1b781f379b8d01e84a6808ab50118d1101a079ee7b1773f4253a3afafafbebebeaeae2e7287353030303030d0d0d0505252525252929292821575c684b05113589c2b91473ec58eba98b1a6b158b1acfbf5df6e6a7473003aab155c2eff482f091dbb3c6ff3936fba00c0b5f7c927ebbff55ff71603749fdcb569f33625b159f3e7de7bf3e5e1a8d70cf9f9d074b0b90f00002cdf7aecde13afbda03cb4e4cfbd178f7e2284109a2a4ea7f3cb2fbff4fb63efe90821b5b5b56d6d6d8b172fb6d96c585da75dfc4a6e328bc22692c0e2cf93402c63181a662e587de775e52f3dfd429cb6329661800606cad73df5f0cb4fbfe0b2ce7ef4ee353e777ffbc95d9b366f9bb160f59dd72d05e87ae9e9e79ffbadfb96efde980ec032b4abe1a0b5fa1b4f7d7759d7d11d2fbcf2d19b4f3d551c7af8fc2b1fbdf161ea8d579c8f9f57844edf36666c1dc7aa385df6f47d7d7d870f1fe6388ea228abd5ea720dd9e359ad56bfdfcf711cc771870f1faeaeaeb6582c58c967ea67267e3a8a390f9df80b12b913b31c8a4abf7ddd8f6ebbe67cb7db9fd8d749a0dfed234080c86e777f0060ef9e83609d79f935e7bbdd6eb7db70f995cbc0ddb8f7f3fad0fc694bbeb9d8ed761b8a8a73ad3a9d75e695a18733acbafefe7efc882084109a02f5f5f54ea71300aaaaaa1e78e0815b6eb92532903df0c0038f3efaa8724573a7d3595f5f3f4a710d9fbcf5f2f3a17f9fb404a7f61e7d3bf2e1696732d63f4e9975bb5e7e7e57c3e0e3966d8373baf7ff25296b92acc8442732ebf88a8e207b07063c3e6edc1ff2a6a6de19c525e6600992b9a8648655e71e702a4febac56ad8f03002960b558f47a8bc51c7c2812203898064208a129d0d5d5555b5babc4afb56bd7024051519172470964ca6c8f3efaa872a7b6b6d6e1708c549a7bff5fdeda5a5b75cbc6f51b36aedff0d892acda5d2fffe5a80b00340635009cbe63db24b6feae3d5bb6d54dbc4cf7fe032d90933b6330baedaa1f9c33b37a413ad4daf7f72665c3c61a96863f9be87997899cc399e0ba8e1d4b01d4eefdf889bd1f474e2d290c064a02e1d67c8900001009bf1b101a068f5de29b8826557b7bbb72c7eff777747464676703405555954ea72b2a2a0acfb679f3e6f07da7d399919111abb03afbbe1e9877dbaa0cbbdd0e00da731ed8b8442db89a1a1cdc595095ae3d5bdedeed9e7dcd840beaed6c7140d665852690b8ba5d2f6f896a12e33433cbb2b67cded2ec9e9f9aac732ee207b2099d7719b363d9b863d944cc0c76261b2405f809b4bd2184c6e7e40b3f7cd10d0000f90baebc71cde05f65ddb6cd7ffde72e00dbb53ff9cf12e87afdd9df34bbfc51f34ca30f5f7afa7083130034d6b29b7e705746c22ffce2ed179ba04cd90aa59094a2f3efbd73ede9fb1686ab0200007417df72ff05959953ff113ae792bb2e5f5e167f56c7f11d9b3f38b9762cefd7581791441d1d1dc13d3dc7bdf4d24b6bd7aeadaaaa0280c840b669d3a68686c10369511dce0635b43401549566b6ba95bf36ced1601fa1492d226a58175db666614a64ac09ce9356b5e6fa59d6d0ccd6b414578f1b669e7fc7a579c3939072bff8b2eb969784da96de3c165ccdd04b94398b1755b9762b4fe5adb80cb60657236fc57de717859735330f6a5b5c91d3475dffdea33b76bb01e0c8bb6f1d519638da36162f5e143bdb35b77603cc49517120815e07d56b365ce6fcf9533b3b0743993103e0507da76b5e8a75b27258cc403686eb5d8ea3ac31c5326a6c17993259adbade1e877bd0fea71f7bec2f9f1cc3dd2342636a6299b8da6d4742dff2d0557fb22be2a9c16f034208191ccb66824b4cd29a9f6c09a510ded5527bac33c1977df0d2d39fee3d19de0a651327be51d35715275ff8e1a311810c00fc9f6e7af6f5cddba7703ba8043f1bb5db36ff61d3fb3c5030698b18b5c2c74414c5c8879b376f8e8c5fc30319000c0c0cc42ccaed770180e8778fb6ccba5d2f6f69c95a7df7868deb37dc56e5dabde5ed3d6e65fadbbbddf36e5baf4c879e633b94e97a1d00b8d4b31fd9b87ec36db3a38a0abfe4966aa8dfb2657f2f40ddae97df3ce6aa5e3378fcf4931600d018540050efcffbfec6f58fac4e0768d97a20f711651e68d9aaf4d0529655ab5b159eae1c7b1d75fd7396dfb43a1d00e6ddb67ec36db3e36fa3327d95a6ae2b56f578077a01d253533800808a2b36ac4db5b70fedd8ce19527300ba7cde296d181b29ffd0634a70498c65e19724f02adbe5572ef535ee7dfd835dc11f79af6ef15b675ebcb21cf7b2084d752b597d0d006494946a0078574bddf1aed362b5ebb61fe903d0586764587500fea613f6045f480ffd7ebaf29e1faedfb0f1fe7bae3b3ddfbd59f23f3e0000200049444154ae377eb6c90da0b196dfb521d84ba9c0aa0380e67d5bbf3cf5de4afa34ef0e6cb55a235bc800a0baba3ac1d76ad8c4b6bda1a50520bdaac86fb7dbed990b2ecd015773a70b00aaafddb071fdbf316f3ff9bd27d6fde11800f4f8078f2b659d93c7dbedf656f7b0a2aa4a33ed76bb3d63edfa0d1bef5995132cffd28b53ed76bb9d3f67593544f6be9a774e5e83ddce1bd300206b5e216fb707134f44bfaeacd5e7e5845fdb237813597fcee1f41300105d767bab7ba46d8c9c4e575566c58ab6fd4e0048b39a9447ad519b0c0000066b0600f4f58fb34b599c81c7c61aab60787fb2f87dc8e2cc30910f6eac97a75fbcf09c3f7eb2fbc9278f2e5f7bcb85b316df7b2bf5c22b1f3d79681b0068ad33ef5d779bb1df83fdc6109a5a352df54e005de5454b1b7b5b9b5cfea613f6c595a7c1a0e44a94cc2aa92e04bb638fbdabfea40396441e0e731cdff1faab1ff0caeed05a7ae3f7efca80ae377ef6db66971f009af6fc7dc39e7f5e7cf3775d5ffce9488333a5e8fc7beeb8507976f625775dbeac34a204ddc5377f7771652644bc1cc0b6f6897525d31f4c3f6f76f9016cdf7cecde5441100000d22ebdfad257fef4c9e2ef3cb4b83c4d9295eff69adfad7f31b4eb0a6f4e78baeee29baf38f4ea5fdd83cff687e68fdef6fceaa5d0f0b552092945e7df73c79a982b1659f9e1d9be7cfbc54ff7d50000efb2ff61fdbafcea2b6e58b3344ead461632fb92cba7a586552a9532643f0cedd41fa6f42ddbb46953788ad96c8e5994c59609d031ea1295e6b4eeadbf7d2562a2cf0b60ddf7d7755b5a0052573cb6fe1b5d6faffbc331a023aea5287839d08ed432670670b7dadd8313d38cb41b008073784400600c9a50c3a0df0d16e002f208650200107f9f1bb4a1d7f6f5f70268465f7fcde8db185cb7140d071c701e818c186de540bc6e4ecaea03ab494a8c9948208351c78c8d9fd5c69ec6d26f5ff72386a244dee7e3c5e14f5fb4f6f6150c7807bc32c8f9175dfdd4cab50084f779b900672c3aff474f2d55164688e40d05b26beefcc1b5b41cf99005b1dfe30b2f8e96c30f114249696dca9f595e0125f94db1c2cda91c250babca6702ecda63575af8324269b26efbdb9bffb92b3c37efaa79fd672fdef8fd7f8bfa76a3688aa6c2df7b594525f9cd7becadf54760592900d49da8e10134d6fcb25959209f8c883500e0dcbcfe4711e1667a74bb7a01c05252561850f6420040d2ca973eba61852406944016996c0000c0ffe9ab3f730573a7f275effff4d5bf869ffdfac33f7cfd6a2f3f38f39f329e5857129c139af7ed18dcb336ecfaddcb303c964555bebb61d72f7ed673e3f7efa2e8a18771687a68581c52ab51ab7de49f1f4e4b0de7e4e4281df2a302d9a64d9baaaaaa9446b2a2a2a23befbcf3a5975e529e4a4d4d8d1d148a2aabe0c0b19abab999f1c27c6656164067faa58fdd73e9603391b7d3de7aa0a505a0ea968d57e635d9ed2e1100b2d2e38f84a6141573a2b3b31d4658cfb1b265e500f48cbefe1da36fa3b321c9eb3671a306b2d1db86132f68acf76391bd0303fdfdfd31031900f03eefc08057f9b210797f7f7f7f7fff002fca1445c922df1fea4dd61fd142e6f3f4473f1c4c6092a7bf1f031942c1ddefc4fb22d5d70080ce9a96264933abca83872fc37db3862e2859cb9d780975db0ef701001832cad3d3cacbb382872f4f849eefdcbdf72000584a2e58bf61e3fa0df759007857cd9e6dee5b1e7b726e890d000a165dbd7ec393175664446c94acd4405f7d4d1d21847436d5b70040c5a2e56992fcc5db3bdc83056e5cb6a81cc07ff88bcfa7b72afa5cbdc11fb511136549e4795e9464a52ab67eb8958f38b8b96c5139001cf9e73b7511efa9b25d37acba00007857af2ee22180d771ac33e2ddb7dd10518ebba1b62efa9312acfcb9abee0b1f4be55d357bb69dbcf0da7b95329595b9e5da65716a5509c4518b9bf8a76fac7f62f9f9f9c1701a3188bfd287ec830f3e08f7240b9f0a000059595923b480152cb83407ec5b42036b29e36f45f7c7e28a2aab00ba0fecf8da6eb7dbbf7cfbc9ef3db1eed75fba01f42a0038b6fbc30607e7deffc54900e8ec72c65d79a5a893bbf6b821382eda96fdbdca44e797075a9475d87508a0fa828bd2c650295ddb0f350cbeb6a4884b68fd53d36da3cd135cb7da663700347cb5bb6ba4e646e8ed89775cd2dde300009b2d6d1c5faa23659e716727369196b044ee4f71021d699783fb5d8426b9b509f267ce21004ab86972f99becf6f34fedc397271b6a95f6a16299c8905e186ce1ab09b5f00df4bbfc00bab9175dc4f33c40f1fd1b365200b21410043ef8a54208cff351c5866ac079727b8d31b3a3cbe507b0952f2f21624773430b00f4d57df1c4ba2f065b9cfa7a1d00a7729ba2e3b8bdcbe507d02dbefa1a2bcff3008bd72e3fb0dbde07ce93db6b8a9705bf81f34be6f03c5fb06c8ee5e32ffa863da422bae0152cbaa060e472229608073f7efe60c46047037d9d62a0540c1e4b8500cf0bd03572ad76298178d8e2a65a7a7a7a4545c5891327388e7be69967eebcf3cead5bb786a3d8a64d9b6eb9e51697cbf5c1071f28532a2a2a6c365bd49901e1a8000bbfb73ef38d27363d1f1abea17acd861bb2a3c6c27017acda701bacfbc39697bf0ccdb336d5deea2efbd69a7987de3eb0e52d3b00cc5b7229bbf313a7c70599714e2d7417ac7a6475f7cf3fdaf2f26e008079b7ddb3cad2e0d0acdaf098ede74fed7cd9be2bb2fcc42b256b7576dbf36f6d05809c258faccd760f7ded48ebcf9594cc831307de7deb485ad59abb62cf33b8c25f42f9ca2559f69d9dc382a6292d1da0dbed0518b12d8d737702e4584c131ac621598d596c9c059c22512c89a10da1b3bc9d6c222fafdf7144d9c91ddaf2c2a12d113f83eb6b1ce4e2748021ed64518fa673cd8351b2afee8ba7ff7b705fcebb5aea8e77a65764769f6857da348828124200249e93623632463f966c4abc6b693892e2eae5838705251920e63711efeaf510923e7d55614d4d837a67bc42825fa186f4d25459260010100c29565d9fcb4fd154e8453a6ba681102205a4580f8754558a354b22239513b9c461f1c0d513514cb0cd6ae45a0d3d45e4a8c54df16f7551144b4b4b7b7b7b1d0e07c771bffef5afa36688ec49969191515a5a3a4220035046bfc858bb7ec3b74313bc9df606070040dab90f6e5ca5f676da5bdde06eb567aedab071cde03cad6e0070b7a6fedbc6f5370527ba5caa259782aba9c1c1555cb161e3f5b1873973b7f2e7deb661957a48495cab5d191a6d68f9a94b6fdf704d701520b2ccc87553de147fe10d1b2f310080e06a4a78fdc19d1d5c7fc1d5d430d23c832bec75b954572d895caec2545e96f5af6ea7db0d79a1e1c7a2d6b0d7e304c89a5d680269c2836b459db6388e238aec48392cc158864908a1b384d2da146ba77872ef8e9a6f2c2d3d3557bb7ec7d111da4bfc47befce2fc8a6f6654e5ea00f87105a492aab25d7bec7df5b58dc5c1062439e2e9824557df7add8ac8f9058e97a7af2a32525301a0afbea61ea03822b3bef8f8cb792bef887807bd9dc73a0b2a94b64fb7db157d2d6d2293380f87ece47bda428b8a514e04ddb2ef3c74d1acac8832655e3909619858b52ad4580d30a4fcf88b9b4446a371e1c285dbb76ff7f9e2759bd1ebf50b172e341a8d9214f75cb5505ffbe169cd31da4c515343d70b883d73ec82e34c1d322db2cc18337b5bedf689aeff08ab3da4a4589744e034795539b0d5c501a4c45ebab7df01e92b66aab8248f369f60201be57a9771e64eb0d0b10c3c86103a5dd4b4d63b61b0dfcf9091145a1b8e9ee25132dc0929a22b12f435d4d50310d99462d501f80f7df1b9d2f0f7e6cfffe7d9c71f7bf39d9d833b84de9e9885a7952dad28b101385beb9d00b68a654afec82c2cc90780a6dd5f1ce3388ee3de7dfec74facfbdeaf9e7f439ed6aa285a7671815507e0fce0e72f7707a775bdf9f3d7dc0047fef5daae135d1995154a67bbaf3f7a5f9961d73b3bfa00006c15cbc793b99bf67e551fb79cf0120fecdca65c98fb57ebbef7c4baefbdf7c9d1212d61a3d42ab1a6a60140d39e5d4317370d2449b2582cab56adaaacac1c6960aacacaca55ab56592c965102194a024e75deca2a38d2da30c2f30d75b550bdf83ccd58dbc8e234898d3b9041cc639789b796c1c8cdc2f19f45089d5e42ad4db6f2a545e1b3fd01accac1bbbefadafa110e2d9d225132bf644ec46a437165d997bbed3c384feea8295e5a76dea2f94d5bbee86bf8ead9c7bf0acd625bfcad1520048f2bf5d57ff9ece35fce5e79071ddd62249697941dac738272e05294650000b2f8dae507f7d8fbc0f9f6e38f859b82e65d3ccdd733904565e48bbff17d357f1a5c31a5f1e9d28baab2441994aae05d436698bbeadad0a68d55640d40c1a20ba2ca2172faf0cad758cbcf5f590e627846e7e6c71f4b293aefbe7b46acd558153e6d4451d46ab5e79e7b6e5151517b7b7b4f4f8f7251cb8c8c8cb4b4b49c9c9cf4f4744110e21cb53c53c4394e3a85a1cc91bb6ac346e81ca113dcbc5bd67f63c427476d001bf5d93105328879dee5c40bc53633844e41133ae3b2a1160034d6347d60c8497b2595651a0000e7c9ed27a39614ba3f9de75dd66d57a2a4ce9269889c9e5aa69c7d09ad0d4709910b97adbdeb3b57470c4f64bb61c30f0bf90021e48abbaf0d8f2040478cce102eaa70d939ca0cf925e784ab26c017dfbfe1be88a10774cbbef3d0e2b2d4e93e0555b6942e7974c346e564d288757bece6354b0292ac54c5fae8357fecf2a5c5528c5369e33d0c85b0154a4b2a00142cbafae6354b869603ca1243e76c0603d9b71fbbc71290082125cbaf0daf2a45d1716a35eaa9b9abaeb424e3633f91d632bfdf6fb158e6cc9973c92597dc7aebadb7de7aeb25975c3267ce1c8bc5e2f7fbcf8e163277abdd6e9ffeeb73ba5bed2367aeb84f8e35d28c3b3b0d8e5eb6e590831038375f35fcf337bc4febf08784904020e0f3f972727264598eff21c6663384a6adbda8a646b9f4def8a8355a86a680c81cc70fe9a2cda8b46a16002451908051b30c0011fc9c049446aba52990259117021359f363c78e8d7bcd19955acd3200200a5c401ab2e2caea1159e27821724394ef2ac11feee7cf68756ae5fb521205a0550c4d855f153983240a422072473bf8c2582b30d55511e3dd1c71dd465af3e0f4d094380fbbfebaf1852697bf60c155375fbf525954c42721bac6c26f93d27416f9190baf6aa8cee3d46ae43b25d22c1beb4d1973851b8d46fcf638cb8d9ac3689aeeeaead26834f9f9f9cacc89b77385a7e874baeeeeeed86361c49c12ff61e21b86c90ca1e96a271bf76b792e768f69220a3e319c4ec4c1bb4038bf6fdad75c147831764ff1e8d51bba2143caf0fb228f3189a3cd30eaf4697b13477d37c7b845f11fc6f91844cf39f2db347c55e3d4ead0a746384500a164a5b1045f9548200bdf8f77de6522b16c82ab8bf90c21841042a7750e0bbf7622810ce25fef324e0e8b9a32ee6dc07c861042679ccc9b1ffb294d51b214e0f80056073a83735882612bc129a39f7799e094c9a8144c690821741a9239bf1f6b019da9096c92221a8c348e7fccc6b051a74c65c5615c4368ac4edfbf1afc7bc7aa98ae9d372104470fc0e095f8e2c69dc68664b298ed5e0936984dcbe715ff48101a13ad568b7b1784c6c46030701ca7d56af10f07c521cb32c3306ab57adc816c946b90c70f61317fabe14716a15399288aff7f7bf7ffdcc67de777fcbd0b9004c9dd35d5d432b180e4f82c99842ccf885122ca6a13e7ea40ca45897cbd149d5cda5ea7f15c5bc7cddc792e397ba67f80d38ed33677bd7c69726ea6d39bb9195d3c76228c234bb68fa2e3d49ed09463392244d83939e4121063475e2c16fc02ecf68705408004bf89924c89cfc72fde2f9f6ff850965efbd9c57276763612893015c01a45a3d1a9a9a962b1c8f22456a0284a381cbef5d65bd79ebd963bb8caf72e5738b834995d8b87cc005c156d6d6daeeb767474dc8883e72f16a6e283fab7d6344de6012b5055555555cbb2560e5e6b4c69ea1aebaceb3880cda6bbbbbbc463d700702d43fc7a43d4a2236bfade6563e5966b6624336093330ce3e2c58ba552e946bc7dc9e2105301dca0696c852a4b0faaeb6a5d786e0cb83185c3e1eddbb7e77239fe510780eb13d4d61bb1d4abdb1c890dd8b4745d6f6f6fcfe7f3c43200f84052d7ca3149bdb2fe845b96c00da8b7b7d7f3bc8b172fcecccc301b0070d553da7aef57360aaf31062e7761add4f09300363f55554dd32c140a96657576764622918e8e8e8e8e0e555537f3b059d8632a3ea87f5f9904ac3d8a6d248d3565b2555f63711ddeda0fe0fad075bdababcbb66dc7712e5fbeacaaeaececec661ef0f8f8383f35a6e2fabbebaebb98045c8764dffa9db1aba62e92197073088542dbb66ddbb66d1b5301001f781a0ba857d6042bba000000571c93d6fa7e3259c362186b660000002bc4ac75150b6f3072f18c3f0000d8e251ec8ad7c6d694c9ea95d7b212d6d807f90c00006ca94c76558a6df45d1841015555592d0300005b2d8dd553d0c6435b78edbd2e97cc1445098542535353b3b3b3954aa565191e3b030000376ef65a2eff046f79bc2abfdf287c05636a0c58413c6c6b6b13915028e479deaa8d90cf0000c08d98c3165155351c0eb7b5b52d5d2abb829b87e18d8c3248578aa284c3e120995d59de22a50100804d9ec05ad65255b531906de439aef0c63f40f03d8060058f74050000b65492bb5a8fd487afd698785d190000d88299ec6a095fa3c111ce000000516cdd99ecaaaf722d1a2e110d000010c2566839bce8c4350a4f4b3f0c290d00006ca904b67247e196a7af43605ae10313d70000c0cd11bcd6de7b78e5a21f483cdaf83491ea00002051dd58c30eafa5f20d1771f82d4f0000e0c64a26e17535c4fa130000c0558c6275ea7a9be6778d031011991c39513794b183837666e8c4c864e3460b7666a85e61c999656bad4bada1358d678323b96a8306703345b12bc84be12beeacbecde219b0d5d899a133e3c6602ab5534444de79f9f89921f9c47d7d86aa2aa28644a467ef9194522ecd955b5d0aaa8ad2fa7ab05e7da36a0dd587b1de96d751feaa0d1ac08d9ec336d842f8ea0e827c066c0193e3e34a2239182d954a2222121d4c264e9f1a9fecdb7f4badc8e57327cf38bb3ebb3f262232397262744a4444dffd89fbfa8ce66827f56393237f9fb1457e7ec21bf8ecfed842ade840b59da631b43a5b3ba8474d45948561f4e69a5a6eeabf204bfb58cb4896f4b5eca80090c3ae57265b61704434e0668c64f9292396e89c2b7bd503e5b9cefec329a55c9abb5c2bb3b07864678646d56049ed9d978f8f66a2f7c56af9e54c2e9e4cddadcdcecc7b2222b7df9b9c397daa90481d8896e62e8e8c1613c9d4de1e79e7e5e34319bd31cb894cd6ce5e3e77f2d4c8646c7facf1a05c7cf9f8ab125b184653cb6569ea7f6f8f48632b6b1b498bbe1a0fb61a330042d8cad46b3df4a5f8890237b6b0aa189ae6351ef2e66782b053ff9fbcb661e7f3ce8e58b4542a954ad1c1d491bd3d228aa24cbd967eab2779a4bfb3540d6422529e9bf71545bcd25c59262fe576f4f777964aa55234b6c3c9e79b9e3f9bbc94bb251eed2c954a9dfdfd3b729726ab076b55ccfe3db734fc6ae0a696eb6ebf377524285eead40c25d47085baea485af6b5f29801dc78f1eb3a6798f007f221d7528c35366093d274a350b82cb7ad691148551443eb2e57a34ea99a896c259ed027deb974e7eed68dd825477c3f486be56ecd50fca6ebc7b022f6f9177f7cbeba6b74db22d254a55b97d5125179ae549e7c2d7d762ad88d45d73e12bb555fab8c19c0260a5b9bf482972903b03e86a6db997c61f72dcd4f8639bb3e5b7d9eac7e31196cd8b6ad285ac3ffdc22462cda6fcae9572ff436dddfabd7daa6ebe2d4fe16b06d5bf4c517a8f1c1d4bd3b6b5770e5d9997969acf27ea120126d1ec6e2bf5626474e8c2a1f4ba5fe6970efd26e3abbf248b6b5ea6bf53103c08ad7b04c0180f5f1e2fd09e5c29985f73f4c8e9c1957127b6e6f19e06231c3ca4dd6925bedad119e37dfdd7f309e1b6dfd520c2f6ec62733c1b9c99c65c4624deb6971333ef1cbb3f952a954cabe74fc27afbfeb2daa329e59f5bea1ed16251e8b954aa55269de132914d63e92967dad3266005845982900b04ee5eefec329e367c74f9c18ad06af44f2707fe7c293618d9946eb3f3cf8eadf0545f5443279bbbc17dc73f4e63bfb0fc64f9f1ad1ea5f51346231e385e0db8eb71f18b49e3a73625c446283ffa25f6b6abc1c5b386b2492077b64de9372ec40d23975eac4b8881e8b1be22f8e862f347defb267cf60e2f9534f9f1011d1cd9861171c11a345f9562369d957e3a8968e190056a13cf78b4bbe2ff7de11612e00ace782aebdb3adf6562ebf5cfdeea4da16e908de0756db682a1a9453db22ed323733ef3594af36a4b6453ac24a65be34575ea815ec2ed77dbdef7a7511bf529190944b735ebdfdc696a5b97443f9856e561dc992beca8da36a39660068adbdbd7d7a7aba9ac90e7eb88319010000b8fe3a3a3aa6a7a7799e0c0000e08347260300002093010000804c060000402603000000990c0000804c060000003219000000990c00000064320000003219000000c864000000643200000090c9000000c864000000209301000090c90000004026030000209301d884ac91f488d5b0936ede5dd81111113b33141c5abab1f1de57666786d28dd6d9e9a28fb6ecb186be8632f6b59ffcf406660fc04d23cc1400b8a5c778ab688b18226217dd783c6e37ec1a3db73495eed97b24a596ddd9b21a5225a48a487de3ca2e0d436baeac86541123913cb2b747e4f2b993a746d3237274bfb9c69e761e4aed0a55e6dcd97253efd2aa7f3b97770cc3b0f339bbcf30aee595f1320300402603b0e5e851537e9eb3771b86d8b929d1fa357b6c61d7fca82ef6f9a15147935ccee91df8b8363eecec3e1a9d1acad82223e9c9a091917465e0e87e53ac91f4684e44a47720484b766668547ab56cb6e968b3a991f448ae7ed61a494f458fee37ab7507eeeb6b0a45de9cebba2291befef8f95727f29698a6d899a1e1ac139cd7767dfcbe3ec90c0d67b5815a2bc3596de06874eaf8682ee8a256bed78cb59c123b972b18b103a6bc3a96b5eefa882922c127d37a7b2597734444db35d09b1bcd3ab51e0d11691847ed989d191ace4aad56bde46a0300b0e5706d06403c4dd30bc5a28848b1a89851336a2ab5dd82ae699ea821d5c985f6a452a9433babab623b0f251386c40753a95475e3d04e116b64d44d2453a95432e18e0677e4d490ea64f33dc9542a951a8ce7b22dee064e3a3d8d7576ee88bb455b44a4e8aaf11d3dcb8c7abe4b33449ca22d76e66c564d547b10279bb5a46747dc905cde0a5a7124be63e7c292949d399b758c443295daa14c2e17c944d7a251d390a97cf5c6a21a1211c7ed39187c62273beaee69e8b19ab382710cc69decf08825d5b53dc7ed3958ad542db9ca000090c9006ccd50a61b8e638bd88ea36b5a59d3742b6789d88e1337635e50286e465d77e1be5f7976ce13f1cbaeeb563766cb62e57386d91b715d37d2d71fcfd5d28cc413fd11d775dd4ecd28b8c525fdc7fbfb1beb94cda83e95b345ac9c6346356fb961eb9a2e623b45e9d97b3895ec7b77f8f8f1e3af4c8848b1687b5ad434c429da2256ce1243eb2e3724ae7c4182719a667cb948163763652d6a1a62e51b9ef632cc68a7eb46ba751189c7a2c1671229166db17379a7daacdb1b8d8b2c7c7ec38c76562ba9ea1a0600600be2de250009ee5e668a6217a67433e1493966c62fbc6fdbce9468662dcbf85e79f5cb3c45ecb1177f3c568b225d7670e9e757e63d1111df175194c5b50cad6bde13116fbee28ba28a94bb75652c676b45c7ecd33c592e945db60b228661c8e5732787b38ec4065329f9d9f157264451c5d3a2a6313699b36f531c31cca82e52a88d525544c4f73c11af5b335a473223d65d164fd37491c9bc35609af569f044c45f9811df171151d4a0d9c68f2f4ed116a35ecbf3658d0300402603b045799aa65b96d52b8a1e2b8b48b95b93c9625114b34f976533514bf1c1d4bd3b6bcdcecfccccaffec545dbb645ba45c42e14447a838ca864b2f9952399a88a88e89a1e2c50259283bdae3be18b88ae1b520d6576b128b661ee5fae1ddbb645f4a5914c64ecefd3b570653586b295d5be8150fffcbfbdb4860faff3471000f72e018888783133ee64c71d331ac4033d6a3ae3e38eae69eb0b64667ce297a339d775ddecf0f1675f7f776db5ad9c1584a1293b6ec625c853ced48a372e45ac0b195be266cc0b16a8de7f77b62cd6d4a48814eccbd5460cebb5d72c63513b86691a625b965def7969248b0fa602c98421cdb72f978d63a669883df10f39d77573a3cf1e5ffef3af3c00005b13eb6400442458192b4ce85a753dc9d334bd5090fe9827e59532c88b23e9cac0e712d58da3fb771e18b49e1a4e6745c4487cea608fccaf2595c5957c3a3d2aa2f727936679b65ccd5305add5ea969d194a67aaf50653077add592f71203175fafc6b694b24168fcbc4845314316a2b6562469bdbf1b4fe0309ebf4f9e1f4b8198b8b4cb48864d15ed775454422bda671deb6f2d64074b55cabf527079d1fbe329c1e0f06f7f9bd3dad9709571c00802d4a79ee17977c5f0e7eb883b900b636b52d1269f3175ede15eee86a97daaeda1689a8e56067615b6d8b44dad4ca9c3baf543766cb12eee86a0f89546f5c7acbd56db834ece80a4925140a2d541111fbc299b77bfed9beede525636c58deaf348e2f3851a95442a1fa4bc8d4b648a44d6aad863bbadaaba76a159a8b2f34d570a47ea012ea6a0f5587b8b8a95a1ff54f5f1f5cc3e9864a2b0c00c096d3d1d1313d3dcd3a198080373fe3ce37ec9767dd72d3c9a5db0d5516ea36d55bbeee321d05792c33349c55faefdf536e5ea44bfff8e99bf80770f4e851fe14025b19eb6400369de6d5ad055d5d5d37f1a7aede2b05b0f5b04e0660935abc64476a01b0152e4799020000003219000000c864000000643200000090c9000000c864000000209301000090c900000040260300002093010000804c060000402603000000990c0000804c060000003219000000990c0000008b8499020057cece0c0d679d8603daae8fdfd767acada2b3fbe87e736d1dd49a5dd2df1abab446d2a3b9de81e5faaa37592b628da4477341bb03323a9c751aeb5a23e9d15cadc75a4969a80d00643200d79f1a52253e98ba776775ff9d978f9fcd443fb17a2a5343aa84565fa8b77379273e98ba373e3f3333ef89f4ec3d921a5045def9d9f15726aa1d7bd573cb7725b2425f6a4815310cc3768bb6882176d115c3306c5b426a8f40e37c10000009fd494441541937b263b9bc256690b7eca22b62c477f4887d7e6838ab2692a9bd3d2297cf9d3c353a94d1d6144701804c06e05af0cbaeeb56b73b75a36017459a97b4aa6b48766668d4d12497ab2d748da42bcdab4bf585a7a08635323c5e1079e5f8b3ef5697c2bcf919775e44ca7e53c70b7d2d2c9ad58ef59ab1c690d7a2a4888869c6c78281171d3b6ef6dbb62d229e16358d31db09d29a889d9bb2c5e88f6a9ef5f3ac23f1037d11d77545227dc9d45e59251b02c0cad7aa4c0180abc69e9cb40dc310116b64381f4fa652a9542a997047472c115143aa930beda91e34243e983ab4531a13d9a89b48a652a9d46068742863cbce43d56247f6f6acd0ab35329c75e283a9542a9950b3c343195bc4ce9ccd3a4622994aed5026572c590d969a66388e2d623b8ea1697ef5b0a7454d43eca95c50b0582c88614635cf2e16450cadab9ac1bcf919d7259001d810d6c9006cd0e4487a21f5c4063fdfafcfcc7b3b0fa57ec79b091691ba75b16bd77f7133eabaaec89c27e297ddd97243b4cae7e2fd0723aeeb4aaf197f652c67f7196a506c667e851c98c9e6c448f4f5baae1be9358df363f99c1d957c418cfede88eb9a665c2627962dd9575da6d334ddb68a22e2d8baa9d55b0f56cac68a451143ac9c15ac92c9a4638bc4345d841c06804c066073687c9e4c2a7341ce2acfbae58647e063bdd5f3be575e2e5b151df12bc15a53b95b33147f6debf86a481111af5c16114fd37491c96251d51511f13d4fc4ebd68c154ad69af135dd701cdb16c7d035df5f1cca72d64054f2b548e619862156c1be2cb7f1001900321980cda1f179b23a6b243daa7e2c95fa78f000bcbd7a333d862ef58464dbb6e8573096cb7641c4300cf11bc29e6dcbd2c6ea256b9dea9a6e5bc5a2d8baa94b411687b2bc75a7e604372ec5135dd345269de0c93900b81a789e0cc03560175d89c74cd7755d77ce132914564d655ecc8c4f5e089ef0b27296619a6b8b3b86691a62672e58527b06df8ceac141cbb245ac9cb552c986eca51b4e2ee718bad67c3f3278a6ccc967a7ec2092898817eb4f18628d571f48b33343e9747ac4e2070fe0cab14e06e01ae8d97320f1c2e967d22222ba19336ca7d8bc566598a6f162f3f72ecbe68141eba9e1745682c7d2b4b53d34ef69fdc9a472ead4683a3d2a622492c9bec8ccbcf41f4858a7cf0fa7c7cd585c6462f992f5b0a8474d191b93fe3e5dbca925a16c6c6caa76e35244a4dcd5974ccaa953c17045243e983ad0dbf47c1c00ac8bf2dc2f2ef9be1cfc7007730160ddd4b648442db78a226a5b24d2a68a8878958a84a4ecce7a8d8583f3b5c7cf6a57891d5ded219185c7d2966b3fdcd1d51e5aa8dcd059fd8514b563954a25140a3536d85c526d8b44da647e66665e5a6c798ded2f7a13da425b0d23068075ebe8e8989e9e669d0cc00678f333eef267167f5bb2b170abf3529e75cb2bb79f4ea737f37c1c3d7a943f1400ae0c990cc08d24954a6de6e1b5f8b6030090c900dc7c083d006e567cef120000804c0600000032190000c066507d9ecc6ff84d22000000b8ce58270300002093010000804c060000402603000000990c0000804c060000003219000000990c00000064320000003219000000c864000000643200000090c9000000c864000000209301000090c900000040260300002093010000804c060000402603000000990c0000804c0600000032190000c066150efe73fffdf73317000000d7df4f7ffad3854c16894498110000800f4a3593799ec75c00000090c9000000c86464320000804d90c9dcf3236fba2d0a74ddbd3fb1c167cde64bef8fffeaf2ee3db7b731df0000002b66b2df7dcb3fd7dba240ee2b1ff9cc4f37d0c1ecfb97947bbef2d6f347bffc993fbac87c030000ac98c9fce50a8436765ff377bffae4ff7ce87021f786cffd51000080d53259352f3df7ed2f7ff5db2fb52c3a6bffe6c2c5a96ab5c8b6ddbbe3e186b3bff97576ea7229d8ded6fbe1f8adba8814a62726de9f1111f12bd9d75fb7aac7cb13e3e3bf9d298b8848e75df7ecea10090aff43eeb7e188de29a5c24c796917000000377926f3fdda3a99ef2f6c3728fc6672df9ffc20f3d8b1eaeed4d97bcd43337befec1011294f66b33f78f99d6303d1e0ecd91ffd9743fff69b77c63ff4e73f187ae8c83d22a247f79df3fd374e7efb8b5ffdef6f9d6b7fd97a6f5f54171191a9df57769eddbd4bef0807850b53d9bcdcb62baa17f26ffed1a7be90e547040000b64e26abdf569cb1a7ce9d3b573f7ddb8e5d1fd2dbcbb3cec3df7de16bc7f6d58febd17de7fcb7523d03bf8c7dc879b7e785b7eb194b4464dfb147df7a2131f0c09fb5b7373dd6dfd6de6e4f7fec2dff6fa20bc7a24ffbef7de38b9f7df2f5dfd45ade153434f3dea50bdced0400005b2a93552ad5f473ecb1a7fdc7164e9ffcabfff0277f39143ff4c87f3cb64f44cebff0bd7ffee56f88ec7aeaccdfeed91efd8b17bfff4ffef04f1ff9fe77f6457511e77b0f7fe11bcf6777ddff677ffb577f1c1d38f6fd477ef8d5877effd5af7cf3bb0f1f29e4def8979f4cfd4aca8f7cff875191a9d11f991f794044befecce8a3c7f67df1cf1ffbf6171ea92fcf3dffbf1e7ef8bf3dcfcf0600006cb94cd6f27ea588b4b5857cdffffc17efd7450ab9735f7be8095f4464fc2f7ef8f2771e3a1c1df8e8a7fcddf77ff47744e4dc73fff789d3e322327efa8997dff8dce17b7a3f7aff1ffadff97f4d7745a55a383a70acb147ed36f3ceda6e21f7c613df38edf3930100005b3093552ad514f493bffce3fff4cd171715f2c5171127f7ce9b954a484444de7a75acf0d0615dc4af54bfb1f9cef9572a954a507eecd7f9c3f7f48a2f954aa596b57caf52a948ebaf77ead1e81d954ad04bad240000c0d6cb64f5ef5dfae22d7d6785aaaa22a2dd666effad337d4b9748e51fefb943171151544f54451111f38e8433f342577ba832e7de11dd2e228a1af23ccf0b9296ef973dcf936ae1b33f7ae2737ffaad3691f7a7adf79cd90eed1f99b7deb2b796d73cde9a010000b666265bb891e8b7b88ff9f4dfbdf46f0eefd5a3fbbefbbf1f1978e03191bb9ffad79f14914b6fbef19c7f61e08d8b7b6fbb7bdfb1871e79f2ff3cf6cc9b773ff0f54f0e4445e48d978efb7e75f14b8f6ed77ff5ab49edfd97aa85ffd5fe07bef68cc833af59c706a2f973a70e7eeedfd7bbf397bb930a0000707367b28677c6b678b7ebd8c9c77ff6e61f24efdebeefd8a3beff68edf0a5fffc99073d91c71ffc1f7f70f17bdb457ff4e9730be7de3cf5e0d74f8a881a0eba883eedfbb9d79f1d3c16148e3ebd90bb9ca7bef95fbd8611b04e060000b66c2653d4603fa4b44c445ffaf4fec38f3df9d70f27ab31ead29b0fecfff485eac99fecdfb1e3c96747927bb707fb6f9efad6a7bff478f5dce35f3af589ea293514f6bc9fecdff1e0c8afff7a7b2d907debc1071e7fee828884c2211151d4654600000070f3529efbc525df977ff77bfb980b000080ebefedb7df9e9e9e5efc8c3f000000ae3f3219000000990c00000064320000804d94c9eeb8e30ee6020000e083f2ff011a904eafd37001040000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Screenshot of the TodoMVC app with jQuery Mobile}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This implementation makes use of Grunt-BBB as well as Handlebars.js. Additional utilities useful for mobile applications will be provided, which can be easily combined and extended. (see the {\i Backbone Boilerplate & Grunt-BBB} and {\i Backbone Extensions} chapters)\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d4948445200000191000002f90802000000fe0c8eaa000020004944415478daecbd7b9c635599effdaceea6b90a8da28ec2d1567bc7344c54d0e36b320a22c31977263396f31a459d770a74d841d019932efaa858234e8ec2813a0930c3255187ae161866e2605a8bec39c3c5cb68822220864bcc2ea087a669a5a1baaaabbbaa72dbebfd63e7b293bd73ad2495a47edf4f7fb46a67edb556762a3fd6b3927cc338e7d41a3b77eebceebaeb080000d68e0db804000064160000f4844d3deaf7c73ffbc5eca377b3d2af9cf8e9db3ffae1f3dfc7361d8b8b0e0018b8cc521ebeebaf3f374e3c473ccfd565ae2eeebefd8edb9fdcadddaaf20d0b4b27eeb8ea063c0000806e66d67df73ff0f4534f6a3f9f71c61937dd7493f6f3f633cfbaf08f2f68d679962fc45435afe6b38542e69317bd8788b89ad36e8bde737f37e62f7b98df9a8e7b857ab73ac3528c87c4aa3c0d3a2c3e0aa4e3d6a9ea93650f8b8e951a2b4187c5972022227bc06c84c643b735e78ebb6af13f20418725e2ee5dff000c4e663dfdd4939fbbfc72e3f15b6fb9a571663146c47399c3fbf63c7040cd2fe7f319cafd8c789e95cac5f9cc6937dc781d11bdf6756f78e39bce3aff8fcee9cd13d86e4ffa838aa80f88295f82c84e44e298e48cce12156f93a361692c54ce2b5b8cf3527c0565f28a43fb200bde38f7e26f1da0366c04e754c8befcc307f75e74d9fd9c678838a979a20211275289ab9c678867495d22f5a55bfff5595d6675199b8d22338ab7b2988a8625490a278988b659ede1a81c12c5aac85282e33e9b7e712678b142016040e8e5eb86f94c3e47446aee77dfcbedff6e66ffed997ddfce3c1fceedbb2dbbefe6ccb3d7afcc5e7b30fee9eb6f7de88a4b3e5655cd51c26761cc2317973cac8876407fd0114c555540c69644d689499b6f4a2e37f227031363a53072b9ede1a85c59658944a4cc4412da4f2d305b9e8952be0375a75b3db162dbf221435766f748f6304730581cc3ac65f508a43b4ba9b974c1d241d9c31c41b978dc23573aabf46fe8ae7ab4aa1e4a67991e04a0f799b57878e1a3977d4fff6ff1f00211edaca6769d45f4fde8773f79859cfdfd0c6d38818ed9b269f3ab371ef79a0dc79ec4376d5637f002650a2c4744c299e7eace13433c26913d90e63c2412c91ead46e39ca7034967e939563a384d9170f97964d2b2d8e798540a266526426e5765d124b8dcf6644ad147161191ddbaada5ab97f0f9699a739e0e906f5c1b510c71ce39e73129ec0f2a95cd24eda86e634d093a9c142b1f327655ef1e257ca9316d8444318b654f798418f91ba583e9a5d38d1e93c24e364ed3d5fdd762b88fe697a2ce41007a5f1beebeee42e3c1a6ef89e7ec64c636105f2635cb798eb32c5186e7e7734bbf57d5a57c662177e8b97f7ee49c2fee3cb76e174a2a49d2a4582cd026255f74968852497b605a2c1ff3d76d59ca267122e01f0f2aa27776ca679be402c9fad0a2f119c5eb4a25edd689f25338a53bbbd1665960da2bd48ca8ad14b55b4babb6c9786d6791710bb9d371b17e5754ef1ed9031362318ac99f5248a4549212610bf3693d496375e7ae985d3afde8e2984449ab16ea95fecbaf46945ecea8b98ff52e85f941007abcce5a5a5a36fe6b6543cb3dfe9dec8bbbb9bac8f961e20b6a7e8eb22f536e91515ecd2d65327344b4fdec8bfa712f05979b223372d09f2c3edf0d37e9d65ffa82b1559454b26af1c4793a606fb44023b22752b38dba6a0f495b90d5ace5ba74f5bc717dd74deea3e9fc3bbb5300f4733f8babb9f97fcfbef850eec55fe67ef7586effe3d97d4f2c3fffdb9517f6aebc7020f3c2413aba70dfc35bfee4c2864f30c16aa3725917f46bd59b60b5958a1625e80f3768a97fda4dda7c4e5f555da80badea9b04efa4147656ed4705cd232c11995148bf05369b4a6875a53213495412d050afd9ddd3f118e92b5843574dee51ed55f2b7527a995eba7631de47d3f9d73d08402f6bc3ed679e75cf3df7981e6f7ce25bdffe9e5da1ef571fdb4cb49988884e227a0dd19bcf7eff474c774bc624a7d3c27c528c87c4503ae0b0686f90b0078ab594188a49ccc9c244f64040a248718fc5a4a5bed789809dac66afff092eb7bd26cdc4104f5b4bbd69fd99d786b6d43863096d9d2316ab508b85f9c82e49f6f22a259662c5ca4dff5e3131944e392c2c12f86ddc6ad255d37ba49f6e3ae0b0948a43c3fbd1aa5a9a5cba3631b98f6697a2ee410056056bddeb008696aa37cbea0e76eb7d70a65df5f88db200b52168f6b4d4e3918767aa31391a6ef595500090592342e9f5fd5e6d74f766aae9809dc27fea4c165fbf0300b5210000609d0500006b9a59c637ca777fc5c8d87bc25df85f00006ac37eb8e4bb12378f78502c038075565f78c4c356dfc9bb43082c0090597da12b71d395e00300f48e4d0338a7ce5cf28f78d8ea630beb2c0090596dd3994bbe6beb2c09b105c0baccac3ebbe4b1ce020099b52afaec92c73a0b0064d6dad0994b1eeb2c0090596b87ce254f8525555d21354bbcb081e539cfa9d943bcb0bcf8bb5fec7aec13ff73e2abfab8112f24ff5b8888e8397acf7da4720a7a68ef0374de05b49568efa3f4b15f991fc43a0b0064162d1e5ef8ab9df7e98f689ae69ab7c5d7bcddb4d625bf61f3269ee594e3ea125797d442b640196e70c96beb2cf93e92a9984a5f7835ddf80a11d1f839f4a910a55e43f77c8cbef0acf9c17f98c33a0b00acb3fae892d7e2467d1b3d5ada2bdb5bba69fa014a33da3047df798efef854a257cc0ece619d05c0bacfac96ccf126895572c95381788678562d2c6f5097a9b05c76c96f30b8e41ff1b0b323fc9e0b683244f712fdedc76b7b55396ddbd2e420d659000c3803f93ef88e5cf2ef0e713a95b61ea26788e83574dea9959bce7b2b51e9e0fdb38d0ee27df000acdf75569f5df28f78d8d9b7f1e973e82e0fd121fac9a1ca4dff752afd4a2222fac9032433226e7610eb2c00868111f73a145f22fc5e718bbdc1c172f0c1eb00006ac37e00af0300c8ac61025e0700d6039b46e69e98be0f7e03a31d869ad1f420d65900609dd5ef7596b64a5afdff0200069621d883efc3fe3d0000eb2c00004066010090590000302c6c1ab1fbd3994b1e0080cc5a1b3a73c903009059aba2cf2ef92e217b98df9a8e7b850e6e05000c7366f5d9250f004066ad0d9db9e40100c3c228be6ea873c9e7f67f37b3fff6ccbe6f679e0fe7f6dd96dd7773e6d9eb5766af3d18fff4f5b73e74c5251fabaedd1c4139e8608c31e6914929fec81c41a5d8a47c88318f4c35071dc15455578af16732f4a37553fb3b0060f8d659fd74c99748f8fcee34e782ec614e960ca4391748f630e794ec0d89247b2c3e5b8cc7452225e8b03882e9b857a81c54820e0b51a0f93d933d96883bcde30291ec710415d13a55ea170030ccb561df5cf225ec8169af4044e2984449ab4ba0e2cffe944222a592244d6ac1227827255f74968852497b605a2c1ff337bf574a2a4989b085f9b45fa5317259ed61a703fbf3000c756db8b4b46cfcd7fcb4b24b5e5de4fc30f105353f47d99729b75876c993c125df77a4182f111249f0c6399fa671d486000c71667548472ef99610ac360a47b54c5182feb034261209565bc23725978e159b6eb3da1329cd312f47c366fdf86bb7b848f0c6d3017b32a5e08f1280e1ab0dfbec926f0d31940e382cdabb26ec81b4b6ff2486621273b230913d109028522e1db583244992793fa5e2508af1b12873864bbfa03c04a01170d10000501b020000320b0000905900006416000020b33aa0e64df300006416000020b3000000990500187636e11294814b1e0064d63001973c00c8ac3560205cf24ad06189b86197010099d5948170c90bde38f7e2cf0b0064560f814b1e80c107af1b56d3894b5e093a74ae3ed9c31cc1b45e035f6d7b973de5c6d56da0fb0360ddaeb3faeb9217bc93128bca21512422391a9626b9857419566d7f8f8f494eadb11c4dda2939a378bd82321321eb34fe1c0158bfb5615f5df2a23e87021321dd4da6f6f7644a2171369a744fba23fe19c5eb9a89907b1adbf500acd7cc6ac91c6f925825973c1588678867d5c2f20675990acb6597fc067397bc3811f08f07956de44f9a648f14e3219dcb799b9bc667146b2ae99e08b9c83f35ab10220b80f5beceea28b38a2e79224e4ca57c9ee7b3bc90e75ccde732f9cc113a6ee1be5f6df9cb2f99b8e405979bc6a7a6c83619afce1ec16a239f3f382156def520b8dc343eee27f7b44082cb9d9c9a22724f20b20058a799b5362e79c1e5269fcf160b199660b5f6f79028b8dce48b682b2bc1e54efa22ee34220b809618711f3c5cf2008c1878af03000099050000c82c000040660100905923015cf20020b300000099050040660100c00082cfee7407b8e40140660d1370c90380cc5a0306c2254fb287f9ad70c90380cc6aca40b8e47b9e6bc84480cc5af7c0250f407fc0eb86dda313977c71d9a3f3c597982d5ae48d567929267b98334c099fa5ac9877783c8ef22f86de1a9c0b00d659434e7f5df244446288f350b1642bc901133ebf3bcdb9a0041d96f1a02bee9d9df2d9623c5ed20df21855ea3b992891b4a6391788886a7b2b7ed5222fcb08abce05009935fcf4d525afc58b334c4444f640f1903d30ed1548fb7e0c5f7496689bd51e763aea268ddded12cc7b53662209a9d69e0a006ac391616969d9f8aff9696597bcbac8f961e20b6a7e8eb22f536eb1ec92275397bc12743829c639e7e980ddd8af924a1291f625af7c9ac659e392ae496f0020b34031b38a2ef9dc8bbfccfdeeb1dcfec7b3fb9e587efeb72b2fec5d79e140e685837474e1be87b7fcc9850697fc6c2a61b76e2b2e88ca47139119854aaba4b1d24982379e0ed89329a5ee348cbd092eb73dec0f2a7888006ac311640d5cf2e244c06fb1301fd925a9b232b2db52e38c2588488a71b1aae293625c2012c624a7d3c27c528c871af72678e3b1142b0ae9a5180f89a2ee5c110f3a18b6f5415fb8f2ca2bd7d5b900801e81da100080fd2c00004066010000320b0080cc5af7c0250f00320b000090590080a102ef291d20aeba764ff96755e544b4e3b2f34f7bf529b8320020b30635b676fc79f9e71d5fffb9cf7fdf37779e77c61b5e8b2b03006ac3016529c78fe6d4c50c3ff1f8e33ef569c797ae796076ef7e5c1600905983082752555e2850a1a012d1bb2caf75bafef0eac07ffee6e967cc9a57047fac75859f1274944d8286eeaa6e903dcc233768bfcae10040660d7f66a9bca052a1c00b2a27a2a97f78fcd18757fee0f5db6eb9f3c775ceb007d25c73cf249dada596e08d73730d9738262552b395c88a86a531b1417b5add70007400f6b3060b9553aec055ce0b2abfec525b5e25b540af79d5c66b6e7cb25934586d14492924ae261db659ede1a81c12c5726485f09800acb3407d0a9c673285bba7afffcf7b2ffdb77fbbe207777de1772fbd92cd169a9f2947c3d2a4b69c3128e12b3e788f5c530256df24b8dcf67054d6afb2aadb5737d76a4732b6a95af0956faa99060058670d120dde0adf40d3acaa746d688fed03ef7bef3b4e3ef3d85fd1f37b266f9f7bdde5dfd6defa6046c2575163156558b582f91a977c05832a9e0497dbaeadd6cc5659b2a7dc5cf638824a7c4c726acb32399ab4537246f17a05652642d669b354ad370d0090596b4d53797cfdcce2f7bef2ea1bb6ffe3ab366da6f97d078f9e90cbfefe95b9256d4bde0c7b4073c42b410773a4b49f6b94f0f55cf266aa78c1e5a6f119c5eb4a25edd6899a884b2529112e46249134462eab3d9952489c8d26dd93ee887f46f1ba6622e49e16ea149e0d94f600a0361cc6da50e54bf30b37c6df48cfff825e7ef2ac3beebc51f9ece1232b5c559b9c29b8dcf6446ad64c09dfa24bbe125a911979264295afc5d021c5caeeb590586cacc8d1a4db25badc949a55ea9dd8e6340040660d4966d11f9dce26effdcc0b8fcfff70cfdb0ea68ff96fa751a1c09b9fa9cc443415bcb960decc256fae8a175c6ef2397d26c923586d54d35e70b92932ee4fba5d02092e77323a952a9d58fbc689bad300009935d4ebac1d177df0bc2de9731f0c78d25fdcbe75dfa73fb0fdf8e38fa50df51ea984cfc21863cc12716b55973811209f8531369eb269ebacd29ebcc5679bacaacb046f3c662b9e5f59fb082eb75dffe56315c450bad877f904c1e5a64431a604973b194ed65965359806006d80fdacc14255f9d6d79f70e3e79d7373478e1cc9a89c1f77dce6534e3971d346d3cc2aedb61b6a306fd5819a5662888b8d7aa8ed40d7ded077d591aa5bf5a3d8ac82711a0020b3869cb9c5b9dbefbc6f69b990cf1572b97c3657c817f846c696b3b9d34f3f7658ef951c0d1b76f30140668d02b77ee39291ba3f4ad061f125c81e4887500a02641618788c852400ab067bf000006416000020b30000009905001826b007df65e074070099356cb105a73b00a80d870b38dd0140660d0d5d75ba973e696c6655af3a9331c65af4ae9b7f7ad9acd7ee79dc618507c8acc1cdac8e9dee9c87ea19f12a56f54ae28821eda49854eaa14b6aaa626fe900f9c6bb9433b0c2832e81fdaceed3b9d37dc010bc9392cf3fa378913500ebac51a673a77b5525a5d566297d4117486b06d284cfd2d09b5711afeb5a99f459a765e38ab1dcaed261b09e30deac2085151e609dd533d6c2e91e1249f6588ae67425e8b010054aed1813433c46ccdf50505c399d94a0c3e208a6e35ec1b44fd396fa40f387edeeb450aa43f58ef9ba1d5609e345e32c618507c8acded199d6bd73a77b312a52497b605aac5467ed0dafa492244d8a95ea2e3a4b44667d9ab6146a32b434af1ac7bc52afc36a613c19320b567880da70e06ac38e9dee8342f93581d24b0246c77c5daa85f146608507c8acc1cbac4e9deec567b5d596f04dc9a5eaacdde105ab8d4adf51a804fdda97149af669dad214a363be7e87d5c27858e101326b18d6591d3add8b6f8812433129ec648cb171724bb58dc531a9f11ebc184a0792ceb2245e5bed98f669dad2b44b8363be7e8735c2f85a608507ab84f7852bafbc729d9cfb956ba2cfbdb4a21c58fef5330b0f3ebcff073f7a36fae033ff1edf977872ee0b57dfce479274c0ae2f09cd8949cddb00d01cecc17799d174ba37449ef225ec816d4d1ac10a0fba0332abcb8c9ad3bd2e45d93b1155bdbc58b721acf0009905d6929665efb0c283ae823d780000320b00009059000080cc02000c13d883ef32f0c10380cc1ab6d8820f1e00d486c3057cf00020b38686367df0069f5e27eaf4ba8af75e38e36b6f933dcc23afd6f80e613c4066ad5966b5e583af685e384f5b537297d5e9bd70c68b635222355b89ac68581a13573b6d08e3416b603fabfbb4e7832f6b5e88481812f3fa36ab3d1c9543a2588eac101e768075d6d0d29e0f5e1c931235df6e53aebd648f265bafa9e94c45ec5545560bbef5d538e30597db5e126f155759d52563f51cb4da918c6daa2608613c4066ad9a9df569b4ce52e9dad09ee3def9bef7fee97fff9f7f99dff927911fddf9370b8797ebf8e0c5104fbb23963a4fd1842f35a6d57625c55e51c4ce399fa688c1085834b273ce798cfc75f7872a9df07420e92c45a449cfa62d0597bb68ecab4456fd3988635231e1e468d24e9119858894990859cd64109a30bef137a701d486c0947ef9e0056f9c7b95a0c3c23cb19a27aa3d3021169763e44f292452435b7c2b4676ea82335e70b9697c46f1ba52498362c6380797d59e4c2924ce4693ee4977c43fa3785d3311724f0b750a4f08e301d659fdac0d3bf3c10bdee940b9e25a0dcd8cec5d4170b9293223cf44c8ed129acd416bacc8d1a4db25badc949a55ea9d08613c4066ad4166b5e3839783a5024e998954b6e3eb8745435bbc8991bd4e27ab75c60b2e37f99c3e93e4319983e0725364dc9f74bb04125cee64742a553a11c27880cc1a8075561b3e78d19ab2940de9b1160aa226b6f8e646f652b3553ae30597db4e76b3c592c91c04979b12c598125cee643859679505613c68067cf043ec836f49c43e2c40180fe0835f0bfae9836f49c43e2c40180f5a0399d5657aef836f59c43e2c40180f905923cdc8f9d5218c07ed803d780000320b00009059000080cc02000c13d883ef32f0c10380cc1ab6d8820f1e00d486c3057cf00020b38686b67cf0bdf0b537690a7d3b406681aacc6ac707df0b5f7bed10d0b7831102fb59dda73d1f7c1f80be1d609d051ad09e0fbe51f1d5a9afbd46a90e7d3bc03a6b9dd0c0fbde40bbacf9e06d1f78df7bdf71f299c7fe8a9edf3379fbdceb2eff761d1fbc29450b7b5cd43e42ec08a6e35ea17250093a2c44817a2d67a74a878a859ccb6d8fa4141205b3555651df1e1788648f23a8c4c724a7b62c93a3493b256714af57506622649d369b69cd580020b3d688ce64f0d4890fdeb8c85a9dafdda05487be1da03604f56bc3ce7cf05dc4a85487be1d20b340fdcc6ac7076f1e3aabf7b5d728d5a16f07c82c507f9dd5860fde9cd5f9dacd94ead0b783d18071cefb30ccce9d3b3bde1e5aab733be3aa6bf75cfad90fe70bfce852766eeec891231995f3e38edb7cca2927de15d973d3d72e1e95bf1cd9c3a263f8d654d077b007df65fae9835fd3c882be1d20b34682defbe0d71ae8db01320b0c13d0b78335057bf000006416000020b30000009905001826b0076f029cee0020b3862db6e0740700b5e17001a73b00c8aca161009ceeb2c74c95a0041dad76dfa87fc34df0bb0364d67067d64038ddedf664b57081e4295fa22777187e773024603fcb9c0171badb6c149951bce52c91a3614992c2493c4000eb2c50c50038dd8988ac1393b6a2328b8894a03f1998185b5dfff5c47cf0bb03acb306836175ba1797566259ce4e4ad16f9ceaa4ff2ae3bbd8e0f382f0bb0364d6dad2993f6bed9deea572509c08f8c7838ae89d9df2d926b9407247fd571bdf1b00bf3b406d3894b5e19a3bddcb1455ee417f3230d1f9eaa7daf8de6838f8dd01326b28336b209ceea54594cd44e5de66ff7ef33732c0ef0e501b8eca3a6bc7451f5c9efe8f731f0cac64366ddfbaef13e774e2747758182322b207d2f1b2d39d395998c81e084814a9df52dfd344c04ed6da62adddfe4bc5a114e30dbe475af63067b8d40ee5211838e0833761dd38dd6bb20a7e778075d670b25e9cee559105bf3b40660d2da3ef74d703bf3b40668161027e773054e075430000320b00009059000080cc02000c13d88337013e78009059c3165bf0c10380da70b8800f1e0064d6d030003e78537496bf46a7967bee6088f2389deae1a19607c8ac35c8ac81f0c11bb3c0929a2c2965a669a6cbae185dc0ad460f0fb53ce825d8cf3267407cf0558935eeb3c5741f6216bcc8058075162832003ef86a2fbb321349d478b51a8ed2a89947361c92629a8326e1b368b7ebd65c26fdcb1ee608063d758a54a8e501d659ab60587df0b3d55e7685c86eddd6ea28a6cd6a95f04147f990560fc788f94b5265b959ff095f6a92f310c91ee69c92bd66121ba8e50132ab5d3a166fadbd0fdee8654fa4749af886a308a693a956c22ba948429a8c0b9ddc0b8188ec45d3b33826913fa59068ec096a7980dab07fb5e19afbe06bbcec82cb6d2f99943ba465257c8fee0200c8ac5e66d640f8e0755e76c13b29859d55fb6241b9a94bbe6a32554a78c1e5b6d793c437bb17f56a61a8e5016ac3355c67adb10fdee86517433c6d2d35d31a5273977cd564f44a78d11b8fa558f18814e321511c939c4e0bf35509e35becbf4e88412d0fbacd88fbe03b635dfae0bb08d4f200ebacfeb21e7df0dd8c2ca8e50132abbfac2f1f7c17815a1e20b3c03001b53ce83d78dd100080cc0200006416000020b30000c82c0000e80da3f6bae18f7ff68bd947ef66a55f39f1d3b77ff4c3e7bf8f6dc2fbaa0040660d1ecac377fdf5e7c689e788e7b9baccd5c5ddb7df71fb93bbb55b55be6161e9c41d57dd80071e00645637b9effe079e7eaa68043de38c336ebae926ede7ed679e75e11f5fd0ecec2c5f88a96a5ecd670b85cc272f7a0f117135a7dd16bde7fe3ede0fd953315201004637b39e7eeac9cf5d7eb9f1f8adb7dcd238b31823e2b9cce17d7b1e38a0e697f3f90ce57e463c5ffa6031cd674ebbe1c6eb88e8b5af7bc31bdf74d6f97f74ce1ae50be20c00d486449c5321fbf20f1fdc7bd165f7739e21e2a4e6890ada37e9105739cf10cf92ba44ea4bb7feebb3bacc02000c01a3f8ba613e93cf11919afbddf772fbbf9bd97f7b66dfb733cf8773fb6ecbeebb39f3ecf52bb3d71e8c7ffafa5b1fbae2928fe9563d7a1bba51652e7b982328170f7ae4caed2565545503a347aaf27d6245db7ae3e160520760d8d6598b8717fe6ae77dfa23bbafbb900c7ef71a4d0d27fa7ef4bb9fbc42cefe7e86369c401b366fe2594e39ae2e7175492d640b94e12c4744c299e7eace1343d53674a33d9d28e1f3bbd39c0bb28739593290e65ca8b6a1971a284187653ce8aaaafbc410e7a16249189c883719ce0a933a0043581b6a215543539716672733b681f832a959ce739c6589323c3f9f5bfabdaa2ee5330bb943cffdf323e77c71e7b975bb30dad38988ec8169af409a013d6975691e3ebd0dbdd4c0d4cb5e11e0d9034d8773c1a40ec0b0d5864b4bcbc67fcd4fe3dc3dfe9dec8bbbb9bac8f961e20b6a7e8eb22f536e91515ecd2d65327344b4fdec8b9a75b41a7bba924ad61c083a9c14e39cf374c0dec27030a903307499d5215ccdcdff7bf6c587722ffe32f7bbc772fb1fcfee7b62f9f9dfaebcb077e5850399170ed2d185fb1edef22717368c21a33dbd2512911985c8ecbb08675309ed9bbe949948a2d5e160520760686ac3ed679e75cf3df7981e6f7ce25bdffe9e5da1ef571fdb4cb49988884e227a0dd19bcf7eff47cc4ed5dbd08df6f456666db7a5c6194b68675485a23811f05b2ccc477649b2b730dc58142675004c810fbe5be0fd5600a0360400006416006078810fbe5b88218eb753018075160000ac9fccaa79d33c000099050000c82c000040660100861dbc6e58012e79009059c3045cf20020b3d680c170c9e3a33c0020b35a632d5cf29db19a5c43260264d6ba072e7900061fbc6e584d272ef9e2b2c7c4df3e5ba387af58dea5588d125ef63087c7e328ff62e8adc1b900609d35e4f4d7254f54ab7b17bd0299e8e167ab2defd54a78a244d29ae69a2dabb63725e8281be38de70280cc1a7efaed9237d1bd1bf4f0db1a5bdeed6e9760de9b321349489371e41300235a1bf6db25df44f75ed2c3b768796f2e8f0700990568152e7973ddbbb91ebeb9e5ddd89be072db3bf0d30380da7018580397bc89ee9d4cf4f0958a4fb3bc0b3a257ce3de046f3c96624561bc14e321b14a278fbf63b07e18711ffc90b8e40100a80d0100c82c00004066010000320b0080cc5a57c0250f00320b00005605bc0ebd65c7df7cfc98ec331b88883823ce0296c69300002000494441541811e7276c58f9ca2d295c1c0090596bcf87befaf9f2cfef7bf77b57e61fff3fa11f1257a9b048d997a8f00ae51727777e03170a0064d6a070f7d7aece5321cf0b276d38f1ea1f7c93d4e58b2efffacdbe6336f2b9cbbef1cadd13a733c671950040660d0a792a3c9fdd9f51b37f70cceb8911e55eb96507ff1739fbecf3cbc1cb32949957555c24003a047bf03dc82c5ec8a8998c9acdf12c23a2c221cacd3dbfffe06927e5796e997287ab3f2e257bca4ec0d651828e0eceea35ab9d554797a20bacd5b80099352899959ffccc1d0b4b4756d4152295f2472ebfbef0f93f7b4572fede774b9632f35da80c056f9c0f9ef0af1fb3ea73be20ce9059eb23b338f117f61e5c548f1cbf7923a94b777b4f3efdb8d34e2d9c7af7152750ee28ae3a00c8ac0122c7f39cf8c1830bb1ef3d965b5afcf295935ffec75f5e15feadf7d667afbe73f16b91634e38e1a4da736acdf146257cc507ef916bfefb5f7393d94a416eda7fa51b4730e83151d89b6a0aebcdaa6a508f5c6957ead77c56753baedc976a117e6db3d58e5b7d599a0e07905903c6cefa34382b4b394efcb9a75e3ac9bab170c144eec2bfdffaad5b2ed8155b747ee9eadd07be7ec781af866b9e2a099f9fa639e7e900f9c6b5e79118e29c73ce639226fb93a77cb69876a8da975552c59bdcd44eff247b2cc511a629122e3f85cb7dc7c8443a587756ba416352d8c9c6695a1b2de19b92ebcf8a9a8c2b86784c227b20ad8d67da6c35e3d65c96568603fd06af1b36a233f75686729cf819e79d5cb02c2f6c9c7be2fa0369f7c677d03b7efd509c2e313dc3608e170c4af87a2ef99654f12df4afa492f6c0b448a5567ed20e52225c540d12496344d5033532dc970615c7244a5a35d5bd3826913fa59028d49955f14e351bb76eb3d58d4ba65eff366705b0ce1a3a567846257e78c3d1978f993fb471a1c0d483c7bcfc325b6ce1d49239dea8846fd125df71ff75918aeb28d3555c7767d5fab86d376b6ddce6976535c30164d6a07284ada8c40f6d5a3cb0f9a5431be755e2f36cf1153a5aff0c8339de5c306fe6926f4915df42ff82d5562a9f94a0bf581b0a561b35f7d03737dcb738ab4a8fc671cd5ebf6b6d7a6d8c5be7b2af6e3880cc1a7816362eaba42ebeeae8a18d8b474e5ee6a41e6147e768a941ed664b8d33c698c5678b854422122702e4b330c6c653367be939cb8a4d26ab0a31c11b8fd97c96863bc32df44f622826859d8c31364e6ea9bcbd932e3634efbdeeac5ac1302bfdb652dd71c531a9bc29de6c7aed8e6b7659563d1ce836bc2f5c79e595ebe4dcf3afbae2d6ccbffdefdcaeabf2377fbef0bfffbf82ff23852f9fa77ef19c82e7ddd29ff135a0b48bdc3ae9805d5f040dc8ac867b5cd035b007df6532075e8afeddff5d2635cf55ce49259e678c939acd648edfb0b1f7e357f690b5fd977bf958db5d4cf912f6c0b6163ac777fe80fe83ccea323fffcebfaee9f86288577df11891bca7b50de9a0c3e24b94c3c8b4d233760e00320b743fc55a590c09de38f70edcac46665cd035b0070f004066010000320b0000b09fd55be08307009935d0c0070f00326bc8800f1e0064d630011f3c00bd037bf03dc8ac75eb83ef21701c0364560f336bbdfae0d7265f1067c82cb0eacc820f1e0064d6d030143e78dd49e5b34c5bea0732d7bd3b6a455750b6831e823df84634f0be37d02e977df0d6f34e3fb46122479b854f9c261cf3d6bb76df1fbce44b6667247c7e779a7341093a2ce34157dc2b943f8e2c7b983f38217a67a77cb6188f1b3f2b57f2c137d22b1bfb2fdadfe3a2d6812358d4239bcca4e53eb5e36288c788f94bbee5a2433d2e10c91e475011bdba73650f73b26420cdb940b28739a764af268a68348dea2b136f361cf4c7c8ac75436732781a0a1f3ca592244d8ac5ad319d16bda12bbde99c8d40d90e501b0e3e43e083ef6b4b28db01326bb019021fbc60b551385ada28f387cb5a74a32b7d9bd59e48cd6a0b9c68b8419f50b60364d69032043e781243e940d2a9f51871a7cb0b12634bc13b59f4c4b328498dfaacec3841d90e7a07e3bc1f9f23d9b97367c7db436b756e677ce8ab9ffff8df7de8f086c5c3ece8023bb240d9c3b434cf9617f932fbdc8bbf0afda0ef0fb1eca96c51f7bf654f270cd623d883ef3223e083070099b58e185a1f3c00c82c3010b46e40ef45cb9e4e18ac47b0070f004066010000320b00009059000064160000f406bc6e58e1c73ffbc5eca377b3d2af9cf8e9db3ffae1f3dfc7361d8b8b0300326be0501ebeebaf3f374e3c473ccfd565ae2eeebefd8edb9fdcadddaaf20d0b4b27eeb8ea065c28009059dde4befb1f78faa927b59fcf38e38c9b6eba49fb79fb99675df8c717343b3bcb1762aa9a57f3d94221f3c98bde43445ccd69b745efb9bf1b13c46753004066e978faa9273f77f9e5c6e3b7de724be3cc628c88e73287f7ed79e0809a5fcee73394fb19f13c2b958bf399d36eb8f13a227aedebdef0c6379d75fe1f9d8318020099b566704e85eccb3f7c70ef4597ddcf798688939a272a10712295b8ca79867896d425525fbaf55f9fd5651600a04fe075c36af2997c8e88d4dcefbe97dbffddccfedb33fbbe9d793e9cdb775b76dfcd9967af5f99bdf660fcd3d7dffad015977c4cb7c8aaa724d7d95094b2e05cf7adf7262de1330760fdadb3160f2ffcd5cefbf447765f772119fcee359a1a4ef4fde8773f79859cfdfd0c6d3881366cdec4b39c725c5de2ea925ac81628c3598e888433cfd59d6734a01b55eb95834ad061210a509d9675bdef008091ae0db590aaa1a94b8bb39319db407c99d42ce739ceb244199e9fcf2dfd5e5597f29985dca1e7fef99173beb8f3dcba5d2866aa754a25ed81e9b243cfe7afdbb29ef71d0030c2b5e1d2d2b2f15ff3d338778f7f27fbe26eae2e727e98f8829a9fa3eccb945b649457734b99cc1c116d3ffba21e4ebd3bde77009059eb01aee6e6ff3dfbe243b9177f99fbdd63b9fd8f67f73db1fcfc6f575ed8bbf2c281cc0b07e9e8c27d0f6ff9930b1b166ea6aa75c16a4bf8a6e4d2b1062d4bc155eb7d07008c6a6db8fdccb3eeb9e71ed3e38d4f7cebdbdfb32bf4fdea639b89361311d14944af217af3d9efff88d9a9e298e4745a984f8af190184a071c16ed0d12f6403a5ef4afc724e66461227b202051443bcba465c5332ac538ca43006a810f1e0080da1000009059000080cc020020b300000099d5676ade340f0040660100407bc0ebd05b76fccdc78fc93eb381888833e28c11717ec28695afdc92c2c5010099b5f67ce8ab9f2ffffcbe77bf7765fef1ff13fa2171950a8b947d890aaf507e7172e73770a10040660d0a777fedea3c15f2bc70d28613affec137495dbee8f2afdfec3b66239fbbec1bafdc3d713a631c57090064d6a090a7c2f3d9fd1935fb07c7bc9e1851ee955b76f07f91b3cf3ebf1cbc2c43997955c54502a043b007df83cce2858c9ac9a8d91ccf32222a1ca2dcdcf3fb0f9e76529ee7962977b89d8f4bc91ee6082a9a0ad011546a6faba1b645e33e5bb94df6308f6c3afa5ad3e85ef48f465766306688cc022d64567ef233772c2c1d5951578854ca1fb9fcfac2e7ffec15c9f97bdf2d59cacc7752190ade382f39054bcf0431c439e79cc724b207d29c73be7aeb9638262552b395a75d342c8d89bad187225f7a3d9caeffd55e1980cc1a8ccce2c45fd87b70513d72fce68da42edded3df9f4e34e3bb570eadd579c40b9a3037dd5b759ed25414e39b20040668d32399ee7c40f1e5c887defb1dcd2e297af9cfcf23ffef2aaf06fbdb73e7bf59d8b5f8b1c73c2092719ea0b7329bc4e1e2f7b98239036b8e7eb162c9d0ae90597bb1c5a95c8d2ad2caa67abd58e646c5319b8812f5ffb5df63047502e1e2c56a255a56e5503e30aaa52231767d47838b34593a1f3ea3e8bcd3c1e0763a2b3aaffcabd369c0290597d67677d1a9c95a51c27fedc532f9d64dd58b8602277e1df6ffdd62d17ec8a2d3abf74f5ee035fbfe3c057c34ad573c61271a7b5228ffc41a5ec89e79c4f5324ac6bca98182a578221b16ee5523a9da70349a7f68c32edd3b4a5e07217758366abacdad98a635231e1e468d24e9119858894990859b795cbcdea391bef2f11257c7e9ae69cc7a4b0938dd3b456f2963c89ba06e900f9c66b52ab522387fd41a595e16a30e9bcbacf62b3a4759a733956e721303b05741fbc6ed888cedc5b19ca71e2679c7772c1b2bcb071ee89eb0fa4dd1bdf41eff8f54371bac4b8264a252911b6309ff6ab34468a993cbe755629a4174870b9697c46f1ba5249bb75a2d96c5d567b32a590381b4dba27dd11ff8ce275cd44c83d2dd49f5e750f4444f6c0b457d0b6d328697509c5ad35f2a71412055d03dd3cab964a4551a23dd07c38e3c4cc3a37e9d3ee76094db6b9ea4d03609d35c8acf08c4afcf086a32f1f337f68e34281a9078f79f965b658ff0c495beb70de60f5d44704979b2233f24c844c9fa4d5b3d51a2b7234e976892e37a566957a2776e5fe2aa9a4a11076524c5b2bda57395ca9f3e67d9ad5e3ed9e02905903c211b6a2123fb469f1c0e6970e6d9c5789cfb3c557e8689d80b0daa8ba963095c7b79138ab17d20b2e37f99c3e93e431ce560bad717fd2ed124870b993d1a954e944b3d7ef4c7a6885845675923213495417acb3a984ddbaad78530b97b795ce1bf7694a07a70064d680b0b071592575f155470f6d5c3c72f23227f5083b3a474b759a8ba174807c16ddf6ad188a496127638c8d935b32b41f931aefc18ba17420e9648c316689b8d3a1b290ded0a769cb620ed9cd4b21e36c4970b929518c29c1e54e86938613f57336e9a105ecb6d438638c597cb658cd36d244b1bbf194cdded97086ce4dfa6cf610343905740df8e0bb7cee87befaf98fffdd870e6f583ccc8e2eb0230b943d4c4bf36c79912fb3cfbdf8abd00ff037d73eb2a7f295b7c3d539e83ed883ef3299032f45ffeeff2e939ae72ae7a412cf33c649cd6632c76fd888eb3300f1e7d495dbd2bd7c0c170599b5aef9f977fe1517618011439c87aa536c0fae0a320b806e078d389c9d83ee833d780000320b00009059000080fdacde021f3c00c8ac81063e7800905943067cf00020b38609f8e001e81dd883ef4166adc607df8979bdae4ab817c2f81e03873a4066ad4166adc207df55bf782f84f16b972f883380ccea59660db10f1e0064d67aa34d1f7c8daebcbc9a903dcc110c7a6a6bba8ad63d68b2ee68e23e37366b5f185f59f50cb2e51d8c2cd8836f4403ef7b034d4dd9076f3deff4431b2672b459f8c469c2316fbd6bf7fdc14bbe64a878a67cb6188f9b7ee42de14b4d721e22d9c39c53b23724960cee719194a0c34214a8799a5b22ee348f0b44b2c7115444f34ab0d209294187c5114cc7bd8269cfa62dcb75678c2a1617e3d04494f0f9dd69ce05d9c39c2c1948732ee8ee8bae81127458c683aeaacab5f46966d9c3fcc18978b3e1a092416681fef8e0b759ed61a7c35ce0640f4c68c2be92199d1aaae25b729f7741185fa7cf41b3bc03d486a035daf3c10bde38e7d334dea522670dd5f2036b7907c82cd090f67cf0a5e04a078adfd0d588c6aaf81655ebab15c60f8be51d20b3406bb4e7832f6d355b7cb6c9e69b324d54f1ada9d6bb208ca7629937c89677309ac007dfe573fbe78357820e4b6a7288eb2288d84127600fbecbf4cd072f4ff912f6c0365c7180cc02aba1c73e7825e8b0f88afb3b528c638d02905960a011bc71ee1d91fb02113be804ecc103009059000080cc020000ec67f516f8e00140660d34f0c10380cc1a32e083070099354cc0070f40efc01e7c0f326b353ef826b4e517d6ebe007dc4a3c18dee446327e989d9159a39c596df9e07bfa64286ae0d301f28d776b9011d3c0ebfaefaa8c1f20b38629b306cd072f7827a592f705006416a8a21d1f7c03cd7907a6f6961ce9d59ef59afe758e79f3ce065c036fdeb9e12ecb1ee6f0781c8c89ceaafe2b6b2e93ab04905983cfcefa3438abec833fc9bab170c144eec2bfdffaad5b2ed8155b747ee9eadd07be7ec781af86cb4f543154fe22af9058f6af6be55cd259fa328bd2c1698a84cb4f4e634b4d2d6f66ee5482feb0dd5d941b97bf40ac68cdabd77fc49dd61a92ceae679cb0b159c2e7a7696d04271ba7696db4925250d7c0ac64ad9e5e2bc3d560d2b9e12e135122699de65c8e55f55f6f1a782a0c1078ddb011fdf0c15745cbea4ced266af984af284dd749206a3ceb4abdfe5b54cb0f9a06deac73933e4b11de60395a6f1a00ebac11a33d1f7c5777ad0c6af9e21e7c6515d1dcb35ea645e1fac06ae04b9db771975b9f0640668d101df8e04ba1b34a537b31b81aa9e58d9ef5fafd571745c3a2813774deb8cf16af1240668d30edf9e00d9af3ce4dedada8e5cd3cebf5faaf235c1f700dbca173933eeb5dff06d30083027cf05d3eb77f3ef85ed00fc77c4f35f070cc8f3ed883ef327df3c1f7e4193f648ef9ca3e39111149f7f231fc0522b3407bf4d807dfabc5d5703ae6c510e7a1ea14db833f4164161875faec98efa9061e8ef9d1077bf000006416000020b3000000fb59bd053e78009059030d7cf00020b3860cf8e00140660d13f0c103d03bb007df83cc1a141ffc2acc758dcce8edb4314ea7bd8994efafde6ddfb80ffd2935d3abea6438edee10e723b37a925983e183af0855384f5b5372d3b15a31a3afc29eae04fd49494a76acd02b7975d281a4b363796859ced3aef8bd838709e27c64d6f064d640f8e0cb42152212bcdeb57e7fb8321321f7c4849b56eba517ac36aaebda01a80d41db0c8a0f5e1c93127a7571ed580dcdebe5ffa856fa9462f5da188636d1b62b331172bb04c1a50f2dd9a339e86b8a35d3fb5bf9ef7d342c69ae1dfd041aac32644f837ab2e10567954bd5dc82eff138747d409cdf33785fb8f2ca2b87f1dc06d43bebfcabae7874e909c7c73c175d73d5d5f15bfe765770c7ae9b6f5bfe9707f20f7ff69fae313ba3e4232ffe5c1271a603f6e2f1cac174c04e8683959631496ff1e43acd66e9b07e2ce3046a6662daa7591bdd5c2bad6a66920ed8cbdf5b66afbabfc596953b54f7fe9628776d3a999a1fd201bbfeeed7f4d2e482571f348ec5794c2a5d26e3956d7e8afece156faebe0e860b6c7c041b3e7c95e18c0f3ad57bf4aafbd47564da7fa369f404acb3ea725d431a9c58e583dffef24f661eb957bdff417ae8d70fc59b954fa92495bc9d8277524aa4668bbef689b2afbd414bcd075ff51f64c11bd73680ccfe2b58fc4fa45ee762c0a44fb3aa2f215559060d67155759444482cb4d95afb3a0d27d13c724ade233bdbf55fb59567fcb1b3791f18a3bb1663f2b24d6bfe0c683b50f53a2681e74864b373714ccd7394527ce2f7fc548e93ae81b984ea3c1c3673e9c616bcfd8b9499f2d88f39bfe15a1361c7006c9075f3c3e1db0974cccc61dfa86caf37a7db6371379ca97283d8798c597a0dad9b475375d6e7b9da7612d09a2569bb64907167c88f3915983caa0f8e0e56079b3692652d98eafdda16f4179dec4312fb8dc76134dbb6e26d17055b990364668d54530dedfda659d36f56dd67222c951b3ffcedbddd3f118d55f27d6bbe075aeadfeacfa2f7f429c8fcc1a3606c5072f5a53e5958d2d16f70a55633531afd7eef4961cf3666d48f0c663b6d232aab845ab3b4b8e86ab0b0cc1e56e105aa6f797a85cec5822eea23d59f04e165bb2284975bb4bbb2316e608a6cd6f34bbe06607dbb7e0439cdf13e083ef32c3ed83070304c4f9e6e0b33b5d66a87df06074e36f74c4f9c8ac2e33843e7830f28c94381f9905c0c0060dc4f926600f1e0080cc02000064160000603fab3970ba0380cc1a68e0740700993564c0e90e00326b9880d31d80c1047bf075326b709cee030794e40099358899d596d31df9d29fe10645490e905983985903e174070020b35aa11da73bc99eb29f43b71050828ee6666ec36d267af2a6e2f07a4340490e905943c8cefa34382b4b394efcb9a75e3ac9bab170c144eec2bfdffaad5b2ed8155b747ee9eadd07be7ec781af862b4f60714c2adaa0e468d25efc8a06652642d66d44b2c712711785da54ad6153828ef26dbc68c0b2f86cb1f23762959fc8099f9fa639e73129ec64e334ad09b84b6abc7a4388a1b29c3b24d669d6b8675d837480f45f88511aa0e8020ffb834a2bc3d560d279759fc56649eb34e772acaaff7ad3c0937ac419f1d70d3b96675539dd37ce3d71fd81b47be33be81dbf7e284e97185a6fb3da932985c4d968d23de98ef86714af6b2642ee698194992425c216e6d35a4a3a0788a6518febb664945492a4c98a89dc179d2512a85a1c9eb456c4e1fe944222a50c43986df32829b39934ec593f74d57caa57725a3fcd8733cecaac73933e5b5092d79b06c03a6b9dd09ed3bdf805587234e976892e37a56675dfd9b03a11788bb4380494e4009935a2b4e974175c6e8a8cfb936e974082cb9d8c4ea58a91d5c0cc6dd4a83735919b0f6e1c024a7280cc5a67b4e97427c1e5a64429a65cee6438595a653530731b34eae626f2a63418024a72306a8cb80fbe33e074d7add7a0240783053ebb63029ceebd49a8d151920364d66001a77b0f18292539406681810d1a28c9c160813d780000320b00009059000080cc02000c1323bb077fd5b59557a5549513d18ecbce3fedd5a7e02107009935a8b1b5e3cfcb3feff8facf7dfefbbeb9f3bc33def05a3cea00a0361c509672fc684e5dccf0138f3fee539f767ce99a0766f7eec7a30e00326b10e144aaca0b052a1454227a97e5b54ed71f5e1df8cfdf3cfdcc90dd9346ee730090592393592a2fa85428f082ca8968ea1f1e7ff4e1953f78fdb65beefcf190dd13b8cf012831cafb592aa75c81ab9c17547ed9a5b6bc4a6a815ef3aa8dd7dcf8241e7800b0ce1a380a9c673285bba7afffcf7b2ffdb77fbbe207777de1772fbd92cd161ad760abb6b3b7a56fafee36e861e6e6f5b20fab89621d00acb3068206eef6069a1a55a56b437b6c1f78df7bdf71f299c7fe8a9edf3379fbdceb2effb6f6d607b3c0b244dc695e911d17edec7151bbd1112c8a53123ebf3bcdb9207b9893250369ce05923dcc39257b35c354e306f5bb4d4d721eaaeeaa26bba64a670280cc1a603af367a92abff79557dfb0fd1f5fb56933cdef3b78f4845cf6f7afcc2d695bf286c8ea929dbd257d7b9d6e27444357d56cb3dac34e07a45300b5e168d6862a5f9a5fb831fe467afe17f4f29367dd71e78dca670f1f59e1c3fbbdf58237cef9348da33604c8ac91cc2cfaa3d3d9e4bd9f79e1f1f91fee79dbc1f431ffed342a14ea7859bb65676f9e3bad776bfeb5cc82379e0ed89329bcf701a0361cb975d68e8b3eb83cfd1fe73e1858c96cdabe75df27ced97efcf1c7d2860d75d630b1142b7eb99514e321510ca5030e0b634444f640ba5bdb48abe8b622fb94621ce521588f8cac0ffeaa6bf75cfad90fe70bfce852766eeec891231995f3e38edb7cca2927de15d973d3d72e1eaa8749f6b0e858cfbe680c00acb3d69eb9c5b9dbefbc6f69b990cf1572b97c3657c817f846c696b3b9d34f3f76c8ee8c1c0ddbad13f86b05608433ebd66f5c320a7743093a2cbe04d903e9104a4100083ef84147f0c6b9179701803270fe01009059000080cc0200006416006098800f1e0080cc1a90d8820f1e00d486c3057cf00020b38686befae07ffa13f6ee69f6a9c7d37b1f779cb327b8b759fb169b0100d64f6da8f9e05595abbce8832722cd077fdbff7a5b5787fa2fcf179f936eb838742e1151fcd177363f63eb3b5b6a0600583f99d55f1ffca9d637e1cf0900d486aba07d1ffc7cf053bbd8bba7d9bba73d3f2d5770d547e8bf3ce7ec09eefa8976d0b16b9ee8bf3ce7fc28cce67dff6ff9d752d1573addb1eb714f6d25586e6618140030ecebacbef8e0e7839f8a46fec718bf6b4b2556fee231db0d17c7cf25dafbb8e32ff604eff988772b111df23dfb2efec879f4d39fb02f3e2e5f7c5ee8d1f3e99c5f5b8bb72e184f5776edb110054c67f9d3c77ddbcee777bd197f8b008c4e66f5c307bff7bf22a9b74c56028b68ef7c92de32792e11116d7de7a4ebb1e8f3445b89e8d4c067de4c4474ee56897e9dda4be256b3e1f7ce27ad674f9f4b44245cfc2ee9a65f9bcff24d5bec333f72bc752c7ef116fc3902b0be6bc3a1f0c16f7d67fcd18ba7e927a80d014066b5e383dffa66b7f539ffae79dd912d367a2e5adad8f2cfbc65ecdcb6c2688b2df5d8d44f8988945dbf0e970b46b3b73808177f24fd852dc967e7f11709c028d4861dafb3daf1c16ff1de757eea9c28fb07464452703c74ee9b43f79cedf88b5d8c31e25b02f77ca44db5f19b4337bc8579a7c344f62fbc4ba2bde6ad7efa13e6dd4b44c4b7c61e457908c03ace2c55e55b5f7fc28d9f77d6f8e0376ddc5037651ebd38545bb8bdd3d0e6cd869f4d0f129d7b1e7fe43c6d99e6b869cbd8d69a965bac5b89b696da0000d673660d940f5efea7c712d6b3b7552daff686ad5ba0780700995564007cf0f3c14f457dbf654444fc2db147df5914baef7ddcf1178f25e8d4c03de741f10e00326b70d8e2bdeb6213973b3eb503c02a80f30f0080cc0200006416000020b30000c3047cf0000064d680c4167cf000a0361c2ee0830700993534b4e983973dcc1154563f6cb99f061d766bac763becfab8444ad0d1f53e0158a799a5f2824a85022fa8451ffca30faf683e783cf05d43f0c679dc8b77f4837e011f3c0000ebacc1a07d1f3cd16cd0c11863956a47f6b0221eb9525e058b472b4591523e3155a780aaeaa5f5b13c1e07639e9879174d265fff24d9c31c41b969fb562650ae375b982100eb649dd5171f3c11257c7e779a7341f630e794ec0d89446288f390f6ccf4072744af4044095f6a92f310559ac91e8bcf16e3719194a0c3a07e973d96883bcde30291ec710415d1ab1b4b093a2ce34157dc2b988f95b4a6391748f6fca936405d8c93371dd7d0be3201f379b63a0179cad7648600ac9bccea870f9e88c81e98f60a44248e49e44f29240a44b28739c3c55bcbcd2644d237a354d21e9816b5ed9d49c9e7af5e64a59294085b984ffb551aab1a4bf04e4abee82c519db1dc2e8188689bd51e763aace9fa5b4786c993e9b886f6e50998b76f7902cd6708006ac3c6b5e1ea7df04ad0e1a418e79ca703f6d5cc458af112a19a9588924ab63096e08d733e4de36d565e0dc6354ca071fba613e870860020b32a99d58e0fde7c872895b05bb71191321349d46f26586d09df94ac258f3f6cbc95c2fedab7032422330a157b96c6c496c612bcf174c09e4cb5f6ce02f371eb4fa049fb9a0998bf6da2bd190280ccaa5967edb8e883e76d499ffb60c093fee2f6adfb3efd81063e7833c48900f92c8cb1f194add13a4b0cc5a4b09331c6c6c92d196f4d17bbd16d50db6da971c618b3f86cb190d874acd2febcc5679b6cb5f8321db7c838e93d00001d3149444154521bd64ea071fba613e8648600b40de39cf761989d3b7776b627d5f1b9575dbbe7d2cf7e385fe04797b2353ef8bb227b6efadac5ebfb71973dccdfa5ad27d9c3a263f52b4f00ba0b7cf0439a384e5d052ac5d63032e468d86e85d81e20b356cb00f8e07b47e94d116b8b1274587c09b207d22194820099057a9d7aab5e9909de38f7e252823e03e71f000099050000c82c0000406601008609f8e00100c8ac01892df8e001406d385cc0070f00326b6868cf07dfd86b6e7a6ba3534a1f21eebf2e5dfbdc9f23986e716808dd016ac341c92c9517545255aef2a20f9e88341ffc6dffeb6db5ad1bbf43b272abee937aadbca9b2df6fbc943dce70f9b33c2d0d8db7860264d680b05e7df09ad10600d486c3469b3ef8eaeff8aa35becb1ee608a4b50f27277c164dd55271481954eeb5dd5664e9e5368dfce986db74e7975a1be759995ee9d7d2f42bbafaa0c17b05a13bc03aabdbf4cb075fc6687c2722624c0cf118552c2e9567b699caddb402933d2c3a1612cd24f1822eb0cab79562a5e49b2725e8b03882c509d4ceb37a7ab3c6d3cd74f5e55610ba03645697e8970fbe525ed51adf9b8a0b4c54eea6ad9c14e322994ae24b63283391843419d70da9a492244d8ac5f0abf8e35b9ca7d250575f06427780da708d6bc3d5fbe05ba4456dbcec71524c67ba6a45d6de47207407c8acb5ceac55fbe05ba4256d7c756299c8d74bfb4a82cb6dafbe49b0da281c2d6d6cf9c3d2585b1167aeab87d01d20b3066f9db55a1fbc09e29854de832f1f6bae8d973dce3069ca786dc3bc817c5df0c663b6d24d1e9934537b523bd91271a7db5d9535d6d5eb3213427730f0c007bfce50820e4b6ab2aa1685d01d0c13f0c1af2fe4295fc21ea87aff1684ee009935088cb40fbe93c595afb8d126c578a9f083d01d20b3c04052e7e339f8d40e1842e0fc030020b300000099050000c82c00c030011f3c0000993520b1051f3c00a80d870bf8e00140660d0dddf4c1af25661f66aeccd6fca3ce5d1e1f827980dab01f99d5451ffca0d1bfd942300f9059fd62bdfae0bb0e04f300b5615fe8d4076f6a4fd79760262d4b3619d9c31c1e8f83b14f781c3ac18cec618e605afb3fb9788a47ae9c5d29a54cbcef4444345b9e92d2b06084601e609d3500f4d707df9a3dbdd8b2c6e94e4489a435cdb940f216169543a2484472342c4d720bc944099fdf9de65c903dccc99201ad65d93a5fdffbae9da5041d96f1a0cbd47e0cc13c40660d0c7df5c1b7684f2753a73b11d9dd2e8188481c939c5a68c9d164602254acb302d35e41bb9592d6724bcde64ef5bdefda5955079b4e06827980da70b86ac37ef8e01b38ddc58940d21f5494a03f598cb1d5a3a4929d4d662d80601e20b3daccac8e7cf0e6f6f46d567b22a5d54672345c6e59eb74afeec9e5a6c8d454845a8dacbadef744644629af98cc65f010cc0364d608acb33af2c19bdad305ef64f1208b92546e59d7e95e3ac9160eb76157afe77db7db52e345557bacde0a0a8279b03ee07de1ca2bafecf3b95fb926fadc4b2bca81e55f3fb3f0e0c3fb7ff0a367a30f3ef3eff17d8927e7be70f5ed6667c4247d6d5539680fa43bbfe3a69d8e14e980bdf62e8efe9d066b087cf0e545410fb4e84ad09f0c4c8746f9bf7910cc833e031f7c8fb4e85aa7f6403a3e8a451104f360cd18d9ef0a03008c2470fe01009059000080cc0200006416006098800f1e0080cc1a90d8820f1e00d486c3057cf00020b38686f67cf01d003f3a00a80dbb99596df9e03ba045f139fce80020b35a013e7800501b0e139df8e01bcada4b6e95b2e945aeb2c55799d40d3dc38f0ec0fa5967f5cb07df58d64e6288f3909641fee08458ad84aa35a99b18a9e04707603d6456c71f906edf07df50d62e94be86466b693cb7a9491d7e7400501b36aa0dbbeb8357820e27c54a9abb4e801f1d006456c3cceac8075f8fd95442fb725265269268e504f8d1015897b5e16ad6593b2efae0f2f47f9cfb606025b369fbd67d9f38a7151f7c1dc48980df62613eb24b5267ebac4a6929c538ca43003a61089c7f9d71d5b57b2efdec87f3057e74293b3777e4c8918ccaf971c76d3ee59413ef8aecb9e96b17f7712eb28745c706e2dbbb00c03a6b5069db07dfc3c8821f1d00645633daf0c1f70ef8d10140660d13f8d40e00dd06ce3f0000320b00009059000080cc020020b30000a0370ce2eb863f7fe891a77f79072bfdca8913d15bdef9f10bce73e00103009935703c95d8fd890faaaf7afb45fa83bbbe753b21b30058f7f4f0b33bf7ddffc0d34f991841b79f79d6857f7c418313bf15fcdb77bd75617ff6353cb7c4d5659e5f26a26336b0175f7e1d2badbe3433c3bbdef321fb07c6f028028075561778faa927afb8e20ae3f19b6fbeb9716631466f7fd3abde6dfb2adb702c1127354f54d0be9282b8ca79867896d4a5ec91c7bfbdfbc7ddce2cd9c3fc305c01b0de6b43dbffd899fc8f563f23adadfc182d17167e54fabd406c132f2c909a2335c3f932a92b87f73f4cf4363c8400ac2b7afbbaa1cab9f6afe6e7d64e2e1023e279ce97b97a94670f52619117e679e110cf1ee2f939c6164c9749d5c6f51a05bbc1c8ae3b102bca62123e8b7633f4ed00acbf75d6472ffb1e11bdf52dff5dfbe1fbb77d8c0c7ef71a4d4d29d572bcb0443c47852c5186ab2ba4aef0fc32d1321556b89aa1dc9271b85a65fb6cb582bdd6c82e7b2c11779ac70522d9e3086e8bf318956b43d9037d3b00eb2bb3160f2fecbeee42227abffb9b3f8b7c453b422d2adef932e58f1265786185d4155ed0a5152fd43dab46d95ea360aff95549252911b6309f76ae54bd35067d3b00ebad365c5a5ad6fed5fcdc2cad381171b5c00b0b3c37cf738778618e0a87786e8117961a059651d95ea3603731b24b315ea2c6ca077d3b00ebb036d4f88fe976942c5c5d3e3cbffccba66b316bed816a65bb5b173e69728c97be0c47f7abd5463ee3d77ed50497fe5c00c0c866d6f633cfbae79e7b4c8f373ef1ad6f7fcf9e9f3fd0ca10ffcffbdf5ff5bb51d95ea360af35b20ba174c061291587528c87c431c9e9b4309f14e36351e8db01183446d6070f001849f019690000320b00009059000080cc020020b300000099050000c82c0000320b00007a037cf0000064d6ea800f1e00508f11f6c1972cc9147458226e186500c03aab3183e28317bc71ee6d146ac83200905935c0070f00e80aa3e6832f3bdc1dc1946e3de5082aa4f7bb4bb11af53b0000eb2c22eab70f5ef6588a0e7725e8b01005aa6eac96c1ebd5ef00006416f5df07afa492f6c0b44844247827259fbfea56f8dd01406dd8987efbe01b03bf3b005867b5489f7cf082d596704ec9de90484ad01faea90d4bc155f2bbe3d1070099a5630d7cf02486621273b230913d1090285275a341065f51bf871060000c07f0c1030086097c461a0080cc0200006416000020b30000c82c00004066010000320b0080cc020080de001f3c000099b53ae0830700d463847df0add34fc972e3b1a07b0660edd65983e283070020b3da053e7800405718311fbcec618e60d0c38a4a78a578b82282d7d9fe4cccf1fa96a65a40d9c31c41b9d8c623579ab73f56d9525ff373bd9934991900c8aceef0d1cbbef7d1cbbea7f9e035253c11edaca6769d55fcff1c2f2c71f528e58f526191ab0b3c3fafa595e62c35f3c11351c2971ae39cf39894f04dc95a22587cb618e79cf37420e9d4d2a172709a22e1728e5822ee34e79cf318f96b53a4d4bf9fa639e73129ec64e334dde9588d31cc4493d973ce39645f00b561cfe8b70f9e88c81e98108988c43189fc2985444a25499ad49ee7827752f2456789c8cc1cafa49294085b984feb491a23124cfa9ff60ac5fe935697d0e1588d31cec405993d00bd5f670d960fbe25a4e26266edd733d53381cc1e80fed4861aedfbe00f1dfce5758794df1c7a263dbf77dffcde97e7f71d59d89f5b78512dff5373d6967a13ac360a47e5e226913f2c8d899a39be58ce69e6f872cb3a252175792cda66b52752b35a21180d9bf5639c89e08da703f6644ac11f2e406dd87dd6c2076f8a184a071c16edad5df6405afb82435373bcd6b2549275e2896f7d2cc13b593c48922499f7a39bc958b45a660fc03a053e7800006ac31141f6303dd8470260a46bc3e1470c711ec2650000eb2c0000406601009059000080cc020000641600009905000083047cf0000064d6ea800f1e00500ff8e00100586711d1daf8e0dbfa0e087c610400c8ac3ac0070f00e80aa3e483973dcc19a684cf524fa15ef95d8a191a0300b0ce2222cd01aff9e089e8fbb77d8c886a1cf0359a1abd0f9e788e0a59a20c5757485de1799d61b9d6072f86788c2ae55e51a91e1788648f23a888d6299f2dc6e325255655630000326b6d7cf025a0540700b561bbacb50f1e4a7500b0ceea88f67df0f3cbbf6cba166be88317ac36f2f9831362f5aa4af0c6d3e4184f29846fdc020099a5672d7cf0e298e4745a984f8af15053a5baa06f8c3f05008602f8e00100c3043e230d004066010000320b0000905900006416000020b3000000990500182606fa7ba4afba764ff96755e544b4e3b2f34f7bf52978d80040660d6a6cedf8f3f2cf3bbefe739fffbe6fee3cef8c37bc168f1c00a80d0794a51c3f9a531733fcc4e38ffbd4a71d5fbae681d9bdfbf1c80180cc1a443891aaf242810a059588de6579add3f5875707fef3374f3fd3765f4ad0c11c41a58583000064568799a5f2824a85022fa89c88a6fee1f1471f5ef983d76fbbe5ce1fb7dd97e08df3920eb09c53958300802160d0f7b3544eb90257392fa8fcb24b6d7995d402bde6551bafb9f1493c7800609d35701438ff9fb7fee6cbb726bf725bf22ba1e46438f977dffe4da1d0828ba2247f770483a55595ec618e40bac604af5b73d5392518f4b0e271a5a6739d3e50f63087c7e3281ea855d10300866d9d55e380d7d34053a3aa74f567ce5255ae722aa85428a805b558273644f6588af27725e8b010054a373056ab8d6f764ac2979ae43c44b28739a7646f48d4b52425e8b03882c5ae12496b9a73c144458fe21380a1cbaccefc59aaca27c349ceb9ca39e7c439e72addf8c5b39b2db252497b605a242212bc9392cfdfc2baacde29f6c0844844248e49e44f2924522a49d2a4660914bc93922f3a4b241091dded128a5dd5a8e8099905c0b0655687b5a1cabf327e565ee5aaca0b85e26a2baff281bfb0909f02d013067e3f4ba5af7fe737dff8a7e4376e7fe29ae927aeddf5c475d349b56e669536a704ab2de19b2a7ea9a13fdcca48ad9f22586d148e6a35a512f487a531d1a4811f6fa000607daeb326fef22c55e505955495ab2a153857d5a6e789a198c49c2c4c640f04248ad4dcaa33c1b7784a75e7e980c3c2985639a6e3a279039d8a1e4b2e00bac440fbe0afba76cfa59ffdb0ca8bef2ce59c3811e7c43985fee95f6e981c6fa91725e8b0a426db8a8d0e4e0100609d35b73877fb9df72d2d17f27995ab6a41e5f93ce79c2f2d67def0c6cd2d76224ff912f6c0b676c6ede0140000328b6efdc6259d9eaa041d165f824ab5592bef35e8e014000032ab3b08de38f7f6fc140040bf81f30f0080cc0200006416000020b30000c3047cf00000645617630b3e7800c070d586f0c103008626b3bae9836f0adcf00020b3569b595df4c137a53d37bc4e700a00e817f0c10300b0ceea1e9dfae0650f7304e5b2df5d291f3453b65739dd6bdcf03aa17be59014ab91ca0300466e9dd55f1f3c11257c7e779a7341093a2ce3419751d96eea742f8557add09d828ef221ad6ad54be501002397597df5c11311d903d35e811a28db4d9dee54bab55ae8aea4220969328e7c0260dd645687b561177cf04a2a4934d6eec8d576512585bf1500068111f5c113112522330a1191321349982bdbeb3add8d4277c1e5b643f10e00d6592dacb33af2c11391dd961a672ca12d99ea28dbeb39dd4d84eede782cc58a47a4180f897aa93c24cc0020b388884855f91bb61c53e383af5f1a8a215d3a5927e2baafa8a8bdb58ee3cf6615eadd2a8678557fb5bf0300d6796675c507df0672346cb74ee08f0200645667acc207df264517bc3d900ee1a541009059fda7ba0c6c0a5cf0000c0970fe01009059000080cc0200006416006098800f1e0080ccea626cc1070f0018aeda103e7800c0d064565f7df08da9d8e26155060099552fb3fae9836f4c7bb67800404f800f1e00807556f768df076f10b9d7f3be976cf11eb9d2446f8e37d5c9d7968426da7800c048acb3fae283576aaded75bdef255bbcec614e960ca4391748f630e794ecd56c58a63af91a8cda78948e008c4a66f5c307afccd45adbeb7adf4bb678714ca2a45593c48b6312f9530a89fa06465b7c55e7d5da78426601302a99d5616dd8051ffc2a69ac9387a51480be325a3e78a3b5bdb1f7bd110d75f2bace21890700ebacaa75563b3e78c1686d6fe87d6f40639dbc8689361e7f5200f414c6793feaac9d3b7776b09f75d5b57b2efdec87554e353e78ce29f44fff72c3e478cfe62b7bf07dab00609dd52efdf6c103009059abe1ff6fef5e639b3aef3080ff4fc2b52d1775a5a5a537416c853157eccb567ba3b495a6d516aaa2494cd3a0cb4a850d8c69d8c9d60b3514652d68cd6c68b752bb5c1aa920b6b49ad382bda91ada46b1a9404ce074b3ecac451446474a2ee4eacb79fffb704cecc427896d1c724c9fdfa7c89cf73d564ff5e87d8fede7dcb83e7800406695b302ebe401e04641e71f0020b3000090590000c82c0028279aef5646253c00945166112ae101a0ecf686a8840780b2c9ac622ae103b6ecb2be71648ade4ba1b4b30140d9ed0d79e807d29cae842722a512fecd5f2f524f2c8bb7801f2cebec41b697eced9676360028bbcc522ae11f78ea74dbdb4bd7ad351cbd6bc6772f0c8e57096facaec2c505c0de7032c8ccf75f34f4ef6dbaf2a787ab2e2f7dea8b0dbd7ee3e895f0019b64f152c8a1cf3cd82babb13de6366535b7076c92c91d1d56f49e779dbcdb36bc429e864d5ac06c00a0c97556717df0442404fdf2e8a6459776fef6d335757fde47faa3a79a2f6cfdc1689965f6b09fb29a64cc1e668f12250deefaa0dd69957c018fd94c44019fd7ea643d0d85472175f21127b3677885fc08f9cf0600dacbace2fae0894808761d9fffd8131fb5fda3f57b2737d3aa55b1f38102da959585171191d14544e61aab4509ad802fecaaf764874c2175f2f566a21115f223222bffd900e066da1baae553be95f031b7c9427e66e6a8cb985e88d5bbc20dee58ccdd105eb902890180cc2a7966a92fbef21adc160929b7e363879b43e9d7742b5652736363b3c1396263765d75f2394f3f2c65393d0094d53a6bfdd25bfebee783f596f8c18d75db8fbd3b6bc3d3a357c20f67ae7791432f49526dc460cc4a13f27a0db989a1b307fd06873eeb1eb9d91375852d92244992be7965b4a0bef7d2ce0600441aef83a7c9ac8407002dd2faf7b350090f00e59459a88407806ce8cf020064160000320b0000990500c82c008089a1e9cf0d51060f00e594598432780028bbbd21cae001a06c32ab9832f88983ae770064d6389925581624cbac34d234be7ee6f4c941a50c7e82cf9cd3d3404ad73b5afa002693d6ef672965f0825916bc6ead212548c8345e193c00609d354964e6785c3ed4f4eab1236bdf7bef67ef1ffcf91797af2412f298db37a5a6dd6dcb34c29b6c369324d9fcc3564f81ec0386f7bb674ae587d7b60f0dc9297a07809b6c9d555c1fbc10b4c3d36258f6f0b71e9afdf5e9a7e87c8b737fc79d1bf68cd2f997295c8fb94d7a2257faf550b83acaac230ab4a89f6764bffb8852f99cf3345eeb7507809b34b38aebcf12828f5cb97de7e2dfcd9a328dba3e6fefbb2599f8df958e7e59b5bd3416091b5d4d66a274df7ac3b57f308ed7a29c47bf7bb6aa6aa3d762aac6232800b0371cb13714dcdfd5bd2b780f9dff98befc64c93b0776c59eb9da3bc8f916954e0c9d3dc8dc44b5d81b0220b34664167d6781e43cb2e6c299ae0f5a16b547a7de77078dfa70435db521e4680c10297debea0ba450a44dd9dff9bcf9be0bb5cf108974f660d4650c47f0dd07006456d63aabee478f2e9f1b7de4a8cb16ddb4f8c1cf572d5b3c73e674aa507de7668fdfeab5489224d5d24aabea02c9993e40f29175ac339b6bacb9f7e0b3424c697577e43c0803002692a6fbe09532f894cc7dfd898e8edededeb8609e3163da9c39b71e6c6e796deb4fc71a1c739bf4112797f63911019be4ab613c7b0260d268fafb599932f8a49c4ca61249392573a5240d24920b164c1f275d1a1d21a3abaab46f28e0f31aabebf17f0d00324b55e165f031b749ef483fc7d0eae7d26ddbd2131b5d510fb68200c8ac52d1d9836c2fab8901a020e8fc030064160000320b0000990500e544d3f7e01f7f71e3d0df42164474e8175be6cf9f8fcb0680ccd2a8435b5f4a919c6239c5a9356fec7878e7b347ad5b172e5c882b0780bda116a5483e9fb8f859fc7cdbe03922b23cb4f8d1d736b7b6b6e2ca0120b33499592cc7453c2e12718e13d14f6abeffc883f759f6bc72e2c40995a30be86b57ffd973a987947c06006496d6332be55cf34e777f6f5c2488e839cf5b17b877e103736dfb5e51397a12fada1143003794d6ef67a538c5c417ceb5cfd3dfb67af5b24169708093d5b7e9b66d72e3e201609da539494e31717b7bb7ffad7f1e7b37d231d8d759d9d959d13ddeaa27b7e27d68f3a8bc1219bea34c77bbfbb3b797aa4ba8b6a119726be30336c9e40ea40fb0053213632506507eebace2fae0139464e2cffe75f99e6fcffef4e3cb1ffdfecafdcfcfbab3a2378f138eac7837abb7c5076cfae695510eea880236939b82417f446a0cd86b7c16caf99575c8d1b032caac53af8d0f0c3f400abba2ccbaac370000e59359c5f5c1c729c9c4f72e9f3d533f65eead332ebcda39634ae2cb8aae3c86e654bc935a5b7c2c12a690572f399441d61a22b3c7ef93248bd5cfe6dc399bec3a1aa3363efb8070b552429f67c73c00682ab38a33c871417cb5a2af6f2a775676cb92689fdaf9a5d453d29358fda8f10328135abf9fd52b0d0ae2ce293d97a65deeacec12c45d52cf15ea2b662ed5b6785db581bc0dc3ee37056c16f2b39f2c4aad323e19044066e5adbb724090e899d5d759d9d33b7b8049f44a7d1dd45fd464aa6df1664fd4450e7dfa2ebc758fdb6409bbeacd64ae77852d267774bc39c7aa8d078052d3741ffce32f6efce196c7af56f45c95fabaa5de6e4a5ca5fe2e69a08707a4f5ff3de5791fd70fe0ab46d3f7b3e2972efbb6fc6580448a053309e294243189443c3eb3a212170f0099a52dc7f7fe11570800b2a13f0b0090590000c82c000064160020b300002686a63f37dcbca365e86f219888ead63d76c7ed7370d90090595a8dadba2787feaedb76dcd1f0e12bbf5a7eefddf370e500b037d4a8fe24f725454f9c6f9d39e3c7ab4ccf6dff6bdbb98bb87200c82c2d6222215896499605112dd5cfb3acf8c64bae6367fffd9fc97b5363fc6aba543fa8c60fb301ca34b304cb82649965c144d4f8fa99d32707e7df55f5c681bfe1e2017c0569fd7e96604aca2c9865c1ebd61a5282844c5f9b55b97dd727b878005867698eccfceceeb3cfef0ebff066f8054fd8e90d6fd973569679ac2dd5c81af86135edaa2fe6d5dd3e5e977ca68ca64ded5cb19c4d5f6642f7583bc1cc29b2ce91e75800acb38a565c1fbc10f4d29a2542b0609205c9b290457a9f388adc1a78cad4b4c7dc267dad7b8552df5e50777b3e5df231b37db473a9c5abca84631d4631b7496f724783765d9e63019059d7a1b83e7821d8e90d33b3606626666641bb367d73f4113935f03acad4b4ebec4eabc3d74694fda26a773bb94d7a478828ddbc1ccbb34b7eb473e5ae9ed426543d8cac4e25418726a4fcc60220b326616f28f885da2529c142b02ca7575b2951744f612c1226aac9e3409d3dc8f63c8e1bd1251f28e65c009037cddfcf12b46defd997f7855fdedfbabda975c7dbadbf690a8b82332bd47c384644143bdc1cb2d614f1bc8a7cbbe455cf55556d0c45da944cf379c79830f72b0eba6a03797d4a12c6dc0d5e6b8d79b4b100586769639d55bf7a89102c0b1282852099598842a7311a22b5921452d645453d62c7ecf15b258be42532ba5c566a4ebf187599f4d73687563f7b54cfa5b33bd363c96ab58e35a1da79a32e935e92945d6734682e602cc04d48d37df09b77b4ac7de609c1e96f9632131331133379f6fd61a7b336bf6902b6cc63533529e636e923cee29e57763d6301b0ce2aad8e9e8efd073eec1f905329c142c882532966e6fe81f8ddf74cbb69ae41a0d11132baaa6ef85800645689ed7ef9e99bf7bf7c6ce8834922ab9f0b5a055ecf5800ec0d276c6f080030023aff000099050080cc0200f83f290475eb56a270680000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Workspace of the TodoMVC app with jQueryMobile and Backbone}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The order of the files loaded by Require.js is as follows:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 1.\tx360\tab jQuery\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 2.\tx360\tab Underscore/Lodash\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 3.\tx360\tab handlebars.compiled\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 4.\tx360\tab TodoRouter (instantiates specific views)\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 5.\tx360\tab jQueryMobile\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 6.\tx360\tab JqueryMobileCustomInitConfig\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 7.\tx360\tab Instantiation of the Backbone Router\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 By opening the console in the project directory and then running the Grunt-Backbone command {\f1 grunt handlebars} or {\f1 grunt watch} in the console, it will combine and compile all template files to {\f1 dist/debug/handlebars_packaged}. To start the application, run {\f1 grunt server}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Files instantiated, when redirected from the Backbone-Router are:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 a)\tx360\tab {\i BasicView.js} and {\i basic_page_simple.template}\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The BasicView is responsible for the Handlebars multipage-template processing. Its implementation of {\f1 render} calls the jQuery Mobile API {\f1 $.mobile.changePage} to handle page navigation and progressive widget enhancement.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 b)\tx360\tab Concrete view with its template partial\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 E.g., {\f1 EditTodoPage.js} and {\f1 editTodoView.template_partial}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The head section of {\f1 index.html} needs to load the {\f1 jquerymobile.css} as well as the {\f1 base.css}, which is used by all Todo-MVC apps, and the {\f1 index.css} for some project-specific custom CSS.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+ \line
+ \line
+ \line
+\line
+ TodoMVC Jquery Mobile\line
+\line
+\line
+ \line
+\line
+ \line
+\line
+ \line
+\line
+\line
+\line
+ \line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i index.html}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Workflow with Backbone and jQueryMobile\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 By delegating the routing and navigation functions of the jQuery Mobile Framework to Backbone, we can profit from its clear separation of application structure to later on easily share application logic between a desktop webpage, tablets, and mobile apps.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We now need to contend with the different ways in which Backbone and jQuery Mobile handle requests. {\f1 Backbone.Router} offers an explicit way to define custom navigation routes, while jQuery Mobile uses URL hash fragments to reference separate pages or views in the same document.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Some of the ideas that have been previously proposed to work-around this problem included manually patching Backbone and jQuery Mobile. The solution demonstrated below will not only simplify the handling of the jQuery Mobile component initialization event-cycle, but also enables use of existing Backbone Router handlers.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To adapt the navigation control from jQuery Mobile to Backbone, we first need to apply some specific settings to the {\f1 mobileinit} event which occurs after the framework has loaded in order to let the Backbone Router decide which page to load.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A configuration which will get jQM to delegate navigation to Backbone and which will also enable manual widget creation triggering is given below:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 $(document).bind("mobileinit", function()\{\line
+\line
+// Disable jQM routing and component creation events \line
+ // disable hash-routing\line
+ $.mobile.hashListeningEnabled = false;\line
+ // disable anchor-control\line
+ $.mobile.linkBindingEnabled = false;\line
+ // can cause calling object creation twice and back button issues are solved\line
+ $.mobile.ajaxEnabled = false;\line
+ // Otherwise after mobileinit, it tries to load a landing page\line
+ $.mobile.autoInitializePage = false;\line
+ // we want to handle caching and cleaning the DOM ourselves\line
+ $.mobile.page.prototype.options.domCache = false;\line
+\line
+// consider due to compatibility issues\line
+ // not supported by all browsers\line
+ $.mobile.pushStateEnabled = false;\line
+ // Solves phonegap issues with the back-button\line
+ $.mobile.phonegapNavigationEnabled = true;\line
+ //no native datepicker will conflict with the jQM component\line
+ $.mobile.page.prototype.options.degradeInputs.date = true;\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i jquerymobile.config.js}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The behaviour and usage of the new workflow will be explained below, grouped by its functionalities:\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 a)\tx360\tab Routing to a concrete View-page\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 b)\tx360\tab Management of mobile page templates\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 c)\tx360\tab DOM management\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 d)\tx360\tab $.mobile.changePage\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the following discussion, the steps 1-11 in the text refer to the new workflow diagram of the mobile application below.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d4948445200000415000002c40802000000d8519fe0000080004944415478daecbd7f50ddd59dff9f6dae0d3518d19009466ca952c3272629c9976c888b4a2c36acb22946dca2610d7e820d356cc44ce262659451b2a21faca4253b74645b4671a4533a619456b665656b3665b2348b2e757007a77196cee00e7ff0077ff0073b93ef33bcd633a7ef7bb9b9fc4802dcc763ce306fdeeff33ee7bccfbdf7755ecff7f9b5ec3c0000000000406c2ca30a000000000000fd000000000000e8070000000000403f000000000000fa010000000000d00f0000000000807e000000000000403f000000000000fa010000000000d00f0000000000807e000000000000f4030000000000a01f000000000000d00f0000000000807e00000000008085a01fc6c7c7737272d200001609e9e9e9bdbdbd33b575f9f9f9541d0000d06ece837e3877eedc32008045454d4dcd8c5fae000000d06ecea37e484d4d3d0700b0e0a9acac9c8b7ea00201008076737ef4435a5a1a63bf0060e1230b3817fd4005020000ed26fa0100b083e807000000f4030000fa01000000fd0000807e000000403f0000a01f000000d00f0000e807000000f403fa0100d00f000000e807f4c38c191b1babababcbcdcd553d646464141515b5b5b55d9eac9b9b9b4b4b4bddbffdfdfd0505052a465656566767a72e9d3a756a16c94e4c4c8c8e8e2e9c1a1e1e1e9ef5bd83838311eb41cfa8f3478e1c99eec6fafa7a45d0876b95bca02a243a1d1d1d8babc0e80700b35401d4b2e8fc3ca67fd116412651d1c6c7c7235e55d3a6ab6a68948e0ee6ab6c7329f0826d62848cb02ea905997b092d29d9767e29807e58220c0d0da5a4a4a812a41c2421727272121313f56f6161e1e4e4e4a5ce5d06c5f76952535343a1902484344c4b4b8b2ee9ef4cd354dba00fb4a7a76781d4b0fcf8f4f4f459dfae0799ae1ef479e9d2c0c040444d989090909d9ded2a595ff5c5f5535f4405463f0098a54a4a4a4a9bc2da1121933e0b333e234b18d00f8ad6dada1af1aa9a3995706262c2da974bda4cc458e085dcc49883e4bfe39b3596d42c0c1700fa6181229d20fbee7738c8b6ca7d57b53434345ceadc0707079d051f1e1e56a6252525f6efc8c8882ee9ef4cd3bc0c0dc38cb08e9d4b61dcf5a9e952757575f8a5a6a6265dd25f57c9fa58d10fe8072a102ea9bbec7f33272727bbbbbb939393131212e6de9d383636164b8b303030a062e4e5e5855feaebebd3a5f2f272d7be28cd25a01f2e5d13338ffa410d9032c2aa03fa61e9909898989595156ea965f173727202e7d51ea8c6a6f344755e57a3b413ba14a59b35c6f7134a217a53349d7ed043298be9fab5239627d003a32627fce4ac8dbb1e248a31d5335a4b19c5b8abc2939292525353c32f593f529487d525e53eefcda77d4322e66b97a234ffaa102b4f44fd70890a8c7e00b844fac1a8aeaed6f9f0812b660023da0a6b4a627c79a4740231b3b3b343a150f8ed1515152a89544474f3358b9756b1fbe517cdc2daa988ad8cd9c0f036f4d23531d3e987e829eb11621f4fa532cc65f01500fae18a919292929c9c1cee96f5f6f6f6f7f7db717171b1fc51d917c5342fa4b0b0d0b780b26b3231921c7655822460a31b1b1b55c9765539baf194478e1cb1cad781fc60d7fdddd0d0d0dedeae03fd7559288eae5a221b376e5409c31f4771ac90cac5e91f3d485e5e9eeb4c57e1a3182c655a5f5f6f438394ddd0d0904eaa181919199682fc72e5e2ecbb8aaa5bfc04756c8f60a9a95a94a93b737eaadfc0d5864a5b5757e717e0d4a95399999976550da1f5244cf712cb5ac4c0d055955927cbcacafc4a7625d407a71a701f966ac69ed18aedffc0ec53f3bba16a6b6b75266293af448a8a8af4a4966c414181fb86d867e7c633a826ddc76ae8fb6083e874bbbe6c3602c1b54f4a4729fb05bea4a396d10f00f3a81fec1beb6c94ac416565a5b3e4fac9eb17eddb0a3525ce8cc8ce777676ba26c96f116481a54c5c9324abd2d5d5e5ec4978ffb9348922bb9765d6beb8462460a314cdbd815219647ffcc7d48dceba8627359d7e500102663030cf50e557beae95a9aaaa72ad4c7777b7da82659f236b697dcbb36b62949a1ecaaeaa95b4ea8a513f28b2b5d496b25a045feaa8125ce3a507b48fcc4ae5378bf6f1a9542e291d4c37e40c00fdb0a0ab55f6480732f1115f7bc8994e98428eb58481dc4a593719208bacbfb27ab25fb2e6b298b202e9e9e98ae0e487cc84b97d9d53981db466c0cd7f50d64adc94890c99ee0dcc7f903faa7fe52ecbf6290b15585998e31b70be65d91553c6d7b250528a294b2783abe2a930fa57d66aba3740661695beca969f9fafa7330f5ecfa80465e2cbcbcbf5af2ef915e8bf8cf13b52547e995125680fe5da3655424747879ec5525383eaa48e6a5215a867545ece239f4e3f588fbcdf98b9177eae3df3e73f4828daa7a3da566de8d152a63075a14bfa585d3a26baf4e9bb337a96f05e294b5655ea925525abd8ee1b62e9a8907a22d5a1b591ee89ac7aedeba1ab6a7eec91adc06ad795a9525643e50aacfa8cdb7e70f4032c16fde0c62fe947ed4ecac29bc59335b095127c736a16cfcc883525fad72c67c01d2f2929b1c1484ac7c5b4c960321ae1fdeab22d6e48e7f93feda65639cd4659fbe2ac90691e65a4b6cfbd3451cb62af965cca8aa07fc39bce4081f58ce68bfb66d0bd4a93f5d3bfca57aebf221417175b2b6646decca992529a72c1cded360b3f5d1323bbadea7549b995362c35d7c4a8613549138b7eb0a65c295b536829bbabaa7c25256fca52d6554bd9be1281f105f692481fb75f1b4e0102a01f1601b27a3252eee5ae7ef032733240fe20257b192fd9e0bf9976b6cf1f6a6fc8195582d624c8ecda5028675e7546d6d68cbb3f7f3a605f7cfd209bee3bd9f69ec3b7893e81f14b2a866b817c4bada6623a374b05766febadb4b2b6fe4b77b37dd6231f5d3f9cffd3ce654bcd39d6be7f6fefd465cd95bb9f9a356c5106d1aa26d578f89f975a175f06f8fac11a3fdf4c5b73620ac49ecb94951254499494fe5ae2d6ada1a63dbc0ca658fc64ada55155ab96029f942a41f5a97ad081ea2150219222d6176105966c706ad3b552aec0d841f4032c28fd108ebc5b37e25407faf1ba496e869c6619193bd6810486bb24bbadb6c30c8bef8eebbc9bc960c87efabeacbd45f25f309969753ded7e3361d242a6c67f21e23a2be40dfbc64da535f7ddda14192ec50c3c51b87eb046c76fc2eccd8899c1f353bd1cb27bfe4000e56eb6d73a99fd6731a3eadee58737312a6478136316550da2dfc0299a6a3816fda0764137aa547eca26214c6885375e76355c3f28777d0d9c68b42f86ee8d386b0500fdb0a0d1af57e643bf76d71dac3a71a344acffc1f750756c0381ce7fde331018d362d3b275d24c7360013837ec3546fd20b31b30a0e64746ec2df11b06e562fde38138f25f65aca773b36cd92243cd86ce04fa7f7dab3a23fd60ad48786fb26b0c9cee72d824e928fac1b49c1b5eeca716de78a895f2df9cb916d16a43cd80cbcb1edc3a85ac322da3f03e1fd7a6fa67dc10d888ab3f99ba5016a603031562eda5dda294c30bac362cfc247610fd00575c3fe807eb166f552b204b6b836402e35d7d6b69efa7ec5f1928ebca0e5f56ce77c7cd8004860cc934b946ca0c8b5b5bc2748b3f0ec76f26ac2b2330a8d514886e9429d3bde6faeb29ccba3a1b6b3633302033bcc0d6cf1c309e665d65ba2d595f0e595e4e4ef835a667344913b18931691178cb63ed8e0a6c6f85d464c7d8c4f82d9d651a88661de0aa1c4bd9d77eee5308d70f9654a0d2fc8f0f00fdb028914530074ea6df1cf488d3b36c97063b58360daa5e33b5d3ad8614a37eb0d7183196df6f182ccdf0ae06eb4a9ececd0a6f66dc185c875a141bd83323fd602e78446482edc6402b62cb8944d10f36d9dd8dd0b5de767f8ab9efc12f9b9ec0bb349b356102cc9e4532ccefd6f0d15dfe30271f9d570a8193d69ee9a1ac21098c7cb51e2d2bb01b2e1c4e7c3636e80758c8fa21fc9b69bebe33aa3232725865e5b2b3b3ddeb2af7cd943bee4eaa019255745dc7be3b6ece7df479b732566e55536b86fc79627e3361022622768b4c5f464686737c655df5af79e1d67b1f714a985f605f2305de1ca951b09811bb769d6fad8a9577ae7cdde490884d8c3d694464d2ad89f1bb419c06b8a87e30cb1368ca658475520db4c50c8c08f09b42ffd892f2070500a01f169fc5afaeae8ef846d95ec9d8346899a7f0e5a5535353ed3dbd6acf065f8623ab6a8dc71cf5830d995d50fac14d0cb0efa5ffb6cccc7114e32e231b5e576aa822ea071b35147d11403742d706feca9a8757b2d30f6a81227e582eb2f545a8f5b57ad0a79c939363e3d022ae156b5efe8cf483bd249b4e3f589d5b8195e974058e7d292df403fa01ae947eb0f70bd661e846cba84191d592c72cbb17783d2497548eb514828d6374d6cf77c7cda645d70ff676df04406666a6098088cd84ad5617d1c858b789d96d65a77c6d2e87acb46ed1e3c84e067a8c67aa1f6c564314fd206b29136a36566d87d457a0aafd26c69e5aaa264a1313d00f515e51c5a81f142162e3857e00f4c392c56c689411edd6412cf364b6d25d95eb666f1dce471add747e6a34aa19f788e3971a1b1b6d09a3b98c5fd2497f4a46c486c15e9f87db77dbe12816fd1065fc920dc10fb7aa764bec9dcb636363aa2eabc0f0f14bee55fd455b6e55b2b9e30113efeb0735dbe1ebbdaafd70a30becf3b24730b75e0f623b404559fa508d68205925a8fa51031965fc921e2da0b50c7ffd251b161cc84ed5355f6b2ca21f002e837e500b72fef3a9bd81b7d4a628dceb125f15284d7b831070c7ed571018bfa436cb37d436a4de7a30c2adaedf4cd87e470193e297c40cbe0a2f4b6e85374b6e237fa6db9e39bcc3246006ddf8257b491478cf2523ac33ba45a655eacbaf96284d8c19f040cbe89a18b5b9e14d8c7b9b135d3f44dcd1d54628a9922de5c05b24bf9c7efb6e3dcc81257d25d2a67b3f05807e5870c8ac244e1130c4b6d49aedd3e9de9df88bcd99ff6767ecdd4cc070eb5eb97db22966c4fd457be4d3eb92bdc589513f980f6d8b5118fe4e4051f4c3f9cfe74ffbfd0396da74137003fa21cafc697b7ccbce6f42aca9f08dbbf3adad7f403eb19f9a8d16b3d46cf911bfb4d6f772d14d8854c2c229c2bfccbe076f4accff28755e39bab54aac9fc156c3f0570757b211379af02b446a21d034aa318b3e7ffafcd40ac27ef5eac0a6275a81c37793b5d9f9d38da4c20ea21f6041e9071bb46923e3eddbeb3b8e729d6df50eb514d604f87391d582c83ed88fdd77c7cd6df5edbfd9b140d7abcca98c89bc525d0aec1ae43713f6dac56f5f0236ca5e64d8ca813691da2645d8d8dde9de65f8053633183e7fda8d7dd2b19ed46f17d468da555bfd2fdca43ba3eaeb071bce3aa326c66630c6387f5a95103e7fda2cbf1a3ea5ec5a5e4533cf215c3fd887e54fc3d0a7a39631e2e27e00e887058abdaeb005346ba690b1b041e7cecb342ba0931209b20eb2b3fea464690c9bf4668bdfe92ef33e9dcf674be8c86cd9029d66856d44508cfae1fce7cb105916f61e48e589b888a7596ae5622f336c51395b305b85975f6bff4659bf35b05d8ebd33b3f55bdd8aabeef1cd14aaa5918ed2b3cb9e5aa3e21ec404806cab4d17b3d6d4ad066b96ddad4fa5d6d48aa707575e4acd164abfa87ed047636bec06ba4a02fa4166da9654b2c57695acad7be87759d8e02ed7ddaf82d9f761ba15ab2c595b515795a0a4f4ec3ab63540dcda88aa375b1b31b070a17d0375521f9cbe153ab0ecfc02bbd5815d81e376a53ff4032c64fd20eb97eb61f3a7f58b3687d5661bdb5e0dfdfdfdb61cb39938fbbd9bb594a9b1c5becd3db5ae83c072a876c95a04330b2e1787bdffd6797f038770fde03c5d5b0dd63561fe2a14d6216f8b82d8196bc8a2b8bc11d76fb52c9c1974eb16da20256b17dc83db925056361976d598ad8b6a53445c3be51637b726c6dedd049a1825624dcce0e0a035316e95d5284b844fb77eabbf32acd37bc3c3c34a568d8b72948192fd8fb27eabbdc9520a56e1b660ee74e39c01d00f0b94dede5e5b79cddfd0c79f6a66f64b0e9f992d3310feeb8db1b131a73aac3e0323da6588dd60567f0f20b77fdcf9b0fd65c2f78f93c57159c8764f377a527ac6eca97be714d83f4e6d49f4fde3c29785958173fbc7a91214c11faf2573eff6c1515d4903f80fa2eab5ab6e6d0a7f731f55a6aaceaf4c5bb2d0aecaaaaa75f4eb613a24876c5056b82e0aec1fa7037fff3869bf802faecf2eb0919c5a089d896edcf5d4aa766b8aec45a07be117d8384939067aaef574e667b80d40a26c78175e60ec20fa0116423b9216862c98ecb63ff4541eb3db3c4e11f4af997a7ba314d88a5496d38d3b0adf3fcedf5154ee72f80e6eb63791eef2bb46fdf6c5df3fce6f5f946f6054525f5f9fe2fb3a44ceb4ce441c431bb1c06606fd2d5003565d35e0b732eec165095d8ba09a9169b533eefdbd6b625cf1cc84ba5bcacacafc2646cfe276a3d3076491233631d628fb0da2bdbc73dbd805f68f537ce5953e859492bd1b8ab87f9c5560c4edff00d00f8b0fdb943e7c591b37f74b96421122ae9aeaae4619983e3cc55c4a6859047aa2634422274ae163418f16a5fcba14be8d77f4d4a29447495dd221fefa94675d9351502be516e78df8738b5245fe7a8597adc0e80780cb4ff496e2a24dc9bcb40873c9778ecf1edd0c46ec57b7f66b468bce5dba2666648ac0c9818181c073f9f3e866f74d00403f2c6e22ae1d0100e8070000f313929393fd9747361020e2028f00e807f40300a01f0020aeb169e8e9e9e9555555d5d5d536c1c39f950e807e883b2a2b2ba75bdd1f00d00f00009d9d9d05050536f54507179db607807e0000403f000000a01f0000d00f000000e807f40300a01f0000006837d10f00807e403f000000a01f0000d00f0000000b443f2426269602002c78323333e7a21fa8400000a0dd9cab7e181e1e5e0600b0a868686898a9ad0b8542d41b0000d06ece837e383fb5c57a0b00c022a1b5b5d5dfe43546babbbba93a0000a0dd9c1ffd000000000000f109fa010000000000d00f0000000000807e000000000000f4030000000000a01f000000000000fd1023232323b6de6b5d5d5d4d4d4d4343436b6b6b5f5fdf2c9653040000000080a5a91fbabbbbcbcacad2d2d2a6db9622140a656767d7d6d69e3b778e8f0100000000201ef5c3e4e4647373737a7abad309d7acba366bc71dbb1fdcfbe8e387cb9ffc5e71e9815dbb8bd6dfb679b9b7b76b6161616f6f2f1f0600000000401ce9879e9e9e8c8c0c9304eb52bf2cb5d0f6eee9feff1a8f184e0f7ef68396f6fbf614af589160b79494948c8e8ef29100000000002c71fd30393979e4c811930169b7dc5adfd4fabb3f8c4da71c02a1fbec27521aa622929393bbbabaf854000000000096ac7e181f1fcfcdcd95f7bf3c143a78f4d9d895831f7ef1db8f6ecfbdc7e645343434f0c100000000002c41fd20f190939373a1eb60cdda373b7f330be5e007c90febc4404200000000002c35fd303939693d0f69b7dcfaf6fb1f4694046def9e962ad8b9ab60d3d66deb52bf9cbe7ec3f69c9dc5a5074ebc71f2ccd06878fc63c79b6d6a757373331f0f00000000c0d2d10f555555d6f310513cd49d6891ae58363d575fbdf2d1c70fbffffb3f066e7ce6c5e33690a9bfbf9f4f08000000006029e88753a74ed99c871ffffc57010170b2e7ec86cd5b97c5c635abae7dfefb4d81148a4b0fe8524646c6c4c4041f1200000000c0e2d60f939393b6546bf993df0bb8fe3f7aeb1d4982653364effe83fec4eb3343a3e9eb37e87c6d6d2d1f1200000000c0e2d60f2d2d2d72ee6f4abb39308741e261f9f2d0b259b1fbc1bd81a474322929696c6c6ceecfd9d0d0d0dcdc3c2f490100000000a01f6686ed301d1877f4f6fb1f265db77a76e261d99ffd99fe1cad79c94f707bcecef9ea82282d2d55520909094545451d1d1d9393937cf6000000000097433fd8cc87b537dc18d8ea216bc71dcbe6c6f2e5217f2af689374eeaa4b4ca7ce907477272724545456f6f2fdf0000000000804bab1fcacbcbe5823f76e8295f3cbcdadcb66c3ed8b9abc04f562a4527e7eee807f48343e2a4b6b6f6dcb97397a272956c4d4d4d78e22d53cc2ecdb1b131a5b9c057a66a6868e8e9e9595045b2cf82016c0000000057403fd8cce9d73bdef31dfdd8175cba283ffbf519976c51c97e9da9ababbb44fac191939333ef1324e4432be5704f3a778a59fbc14a73d6f2e3f290969626677d4115c93e8b4b241401000000d00fd3323a3a7a61eb86952bfdc14bbff8ed47cbe60f7f4da7ba1317266a1714145c6afd60242424141717777676cecb0409f403fa0100000020def5834d7ed8b4759bdff950f5c22bf3a81f366cdeea6f2571617febb4b4cba31ffc09129595957d7d7d97413ff4f7f7d7d5d5555454d4d6d6fa398e8f8f3737371f397244e755ed01fd20916397060707c3b3eeeeeeeeeaea72ff76747404fe7519e9bc7c7de55e5f5f3f3232e20b159d5116fa3b3c3c3cdd33ea92456b6c6c94b6f4f5436f6f6f55555575757560f899fed5f3aa7af5d70dc4d2c3eaa1f4b7adad4da9e9d2d0d090bb45724e65b6c2a8902ab33f824bff564de13fa3989898686a6ad27955a32a04fd000000007005f483addc7adf9e625f3fec7e70efb279c5a5fcbb3f8cd99996b991939333bb92646464c8478fe240cf513fc8510e854285858552389999998a2f07fafcd43c07659d9e9eaef3f9f9f93a2f57d8e9075d928f5e5252929a9a9a909030303010c842659604726eb4e2a4a4a4384f5d39b6b7b7cb29cfcbcb4b4a4a523aca4511121313cd6b978baf6315d24aa5e3f02c4ca5e89222289a8aaa14aca2543695500550ca1b376e5481959ddd220da0c2d8f3ea16954489b8e7528e3a595c5cec174614151559d7504141812e298eebdfd04925a2083a501c256be72566540645d699acac2c1509fd000000007005f4437373b3fcb0fb1fda17bed0ea3cd275e66397782874d5b205805c5b3dbb9cef99ea07b9b0697f8adc5cd30fe6cafbb33be4f2da602da908ddebe663c8ed96cfedfc6cc921db995b11e46757565606b2eeefef77f3cee5a04b245c506553efece5caab00cabaa3a343275d47845c7ffddbd8d8a8e3b2b232f9dc765e3243d9353434843fa0d48b1c77274bf4a456123da38ead3b42b74b60d84359e1558d2e65a5a0bcdc2529251b39a6c2b89a696d6df565984aa87f4d3f48192a9abba4673169a463954465703d2a2a27fa01000000e00ae807b974f2c31e39f084af1fd6dfb6797e9df5b6774fbbc457255db76cc120cf5b8ea9f9ee31ea87d2d2d29a3f45eeb5eb7f900070a90d0c0cb8ae091b6f535c5cac44fcc918e6675b5f8461bd04e1b92b17db3aa3aaaa4ae9a4a7a79b065064379fc4b9d72a83c4866486f9e5ba458eb88e23763b3867fd82d2f3860ca96ca61994b5048f3b6f9d18ee79dde348cf482f59e1edb92415fcf29b1a91eb9f9d9dedceeb767d0a564e692aff9290ecd1c39a122b2f2f77e7554ef403000000c015d00f367e29b057f4dc777e08f08bdf7ee4125f38caa1a4a4446e68ec53ab6319bf24075d0ef4c68d1b957e6262624a4a8abb6463906c3286b236573e7cfef474fa41ce774e4e8e0ee4bb373737979595590f8652733d009d9d9dd21236b6c78642995f3e3e3eae1cf5af2d712b39e1e63638acfb22a2471e983fade2b9192c7a0af9f772eea54f92a6f0f5835f57bac52ee9014d1284a76f83a3c27b8a2e7cb33fefa3f07517fa01000000e072eb87f6f6f6f05d1ae67dfe835bdce9fddfff51ff5e75d555a573c336cc9ef5c8259bda3bd3babaa87e18191991669097aff4e5584b991415150596663a75ea940dc5514c952176fdd0dddd2d1f7d6868c8fce6b6b63639eb36fdddc4800900e90a1d9863ad2c7c9fdbc6389990c8cbcb0ba46f6ff4fd79ccae6f613afda067549194546b6babc921a70da2e887fcfcfc409d480259fad9d9d94aeddc9f629d2a7a58c91e778bb2433f000000005c01fd607e58da2db7fafaa1fcc9efcda3785897fa6597f29b9dbfd11937fa65d6cc74fda539ce9c8e513f58678e5b4049ceb7748e5d92bbefa6169cff7c3893bcffd8f58352931e90776ebebbbc6add286fdb3a25848481bfb095290d377ec99f95515d5dada402e95b82fe48aa8282024b7c3afda0fad42d4e894d4c4c4809d8f346d10fba4bb9bba92036b5c3d2afa8a890b2f287931516165ae5f84f7afef3793be80700000080cbad1f6c311fb962effffe8f012f7fbe282e3de0523e5af3924d21b86cfa615e566e8d513f982a907f2ce7582a420e7d2814928438fff93ab972dce5f2ea92dc62156c46fd0fa610ac87c1feb5f59deaebeb9d2ad047d9d9d9a9dc959dae2a779bb7602e7b7b7bbbb2ebeded55917c31e3a72ff75d29289a84845b67693afd609d570d0d0d7a10c900e90de57851fda0e2a5a6a66edcb8b1b5b5b5b1b1d11f67a59a5139f3f3f3f57949ff9497972b415beb5649d9e3e87c474787ee423f000000005c01fd600eeb0537b4a9d5ef82587bc38df3a51f7ef4d63b2ed93bbf913f2fdba55d543fccefce71863c6f39c181dd0fce4f2d39ea06f4dbab7d15c0c6dbc84596b36e6fe89b9b9b6d66822db864926678785827dd72a8969a3f59d947d11459deb3fd6b53b7dda2a8ca45b2444eb64d72686b6baba8a8b082a912746cab36d9c48ff0f90f262615cdcaef4fab08acd7a4e259578092958b6ffa53c2a3aeae4ed1240c74de9ecbaf2bdde29e4b7ebff596646565e933f2b724d72dd9d9d9aecb48575d0a7a701bb7a6bc243c74fb5c7a93000000006096fa413e5ff81408eb28983beb6fdbecd2ecf9e0d3152b12e4e0fafb9acdbb7e98c5c2acf34e94dce5a3cfa3a49969ee3156cb4c6b2fc605ac8cfefe7ebf5f4279b95d321caaa2e9d29c515e0000000030fffa41debc7c7a79f6dd673ff1377abb29ede63949873ffbb340e7836992fcfcfcb93f67b87e98fbf406b83c48ddb94d1e2406cacbcb131313f9e000000000168d7e383f3566462ef8defd07fd2e08b9fecb972f9f8b82f097853d3334ba7acd5a9d74c36fe6453fcce3f406b83c4833d8f7cdc653d98c0baa050000006031e987fefefe5028b43c143ad97376be46316ddaba4d9ac125f5d8a1a7e665e525a3bcbc7cdea737c0e5647474f4d4a953fae2f109020000002c3efd601eb9fcfb2ddb76b8bd1a2c1c3cfaec2c862d493cf8a3a1dade3dbd624582ad58ca870400000000b0e8f583adaa2917ffd1c70ffbfa41e1d5e6b66b565d1bbb82b8ffa17dbe08393df8994da5a8a8a8e0130200000000580afae1fcd41e05b6fae7d19a970212a2fbec27c5a507962f0f5d74ccd26b3ffda57fa3c4c3966d3b6ce4122be72c0d24359b9b9b8b8a8a727272b2b3b30b0b0b1b1a1ad88a0100000020eef483686d6d352570b8fa58404228749df9f899178f6fcfd99974fd6aa719beb822217dfd86c70e3df5e39fff2a10df8987949494b9afd90a579cc9c9c9baba3a9bf71c40cab3b2b2f2ca2e9b0b00000000975b3f9c9fda0ec27a21763fb85702205c45b8055e7ff1db8ffc5dab03a1edddd3366c49e261707090cf66b1236d909f9f1fbd032a333313a108000000105ffae1fcd43ec7b609b104c089374e4ea710a60b6786461f3bf4944d98c6a15c32d8a2ab17253b3b9b816a00000000f1a51fc4c0c0805c7ff308b376dcf18396f6c0ba4c1143cf079f1eae3e66fb3cd884695cc9a5812465ec13e86b6a6aa83100000080f8d20fe7a706bb373434b8c1ee49d7afdefde0de63c79bdbde3ded6fec20cdf0e39fff4ab2e1f6dc7b9687fe7782755656566f6f2f9fc7922123232376fda0ef0c132100000000e24e3f1813131352111b376e0c77139d5af027d1161414747575f1492c2506070767ba7be0bcec320e000000008b4f3f38060606eaebeb0b0b0b333232429e72484a4acacaca2a2b2b6b6b6b1b1d1de533587ab4b4b4cc543f545555516f0000000071ad1fc2999c9ca4c6e381dadada99ea87d2d252ea0d00000000fd00f1486363e34cf543797939f506000000807e8078a4b3b373a6faa1bebe9e7a03000000403f403c323e3e9e90903023fdc08e8100000000e807885fcacaca62170fb9b9b9d41800000000fa01e297919111b713487442a1105b7f00000000a01f20dee9eeee0e85edf8114e7373337505000000807e0038dfd3d3939292329d72484c4c6c6d6da59600000000d00f579ec9c9c9bebe3eb9a735531c3972447f1b1b1bbbbabad8b4ee72323636a69a4f4d4df595c375d75d57565636323242fd00000000a01fae24e3e3e3cdcdcd797979d1d7ffc9c8c8a8aeae1e1818e01b70d958b76e9dabff4f3ef9840a01000000403f5c49c6c6c6aaaaaafc39bbab6fbaf5d6db0bfe7ccfc1eca2433bbe7d587f37ddf370ea86ed57255cede2e4e7e73379f7f2909696e6aafddcb973540800000000fae18ad1d2d2e294c3ba8cacbc032f7ee7b5be27da3e8918fef6cdffdc53fdfac6bbff3a74d50abba5b4b454f2836f03fa010000000096b87e181f1f2f2e2e36af3475c3f687ebde994e368487f27ffcf73fdf73d054446a6a6a5f5f1f5f08f403000000002c59fd303232929595257f74c5ca55dffceecbb12b073fec6bf8e794af65da7240ededed7c27d00f00000000b004f5c3f8f8787676b69cd1a494af3cf2fd7f9a9d7870239a36defdd7b697595757175f0bf403000000002c35fd505050706125d075b73cd6d43b17f1e0c2967b1fbda0469292868686f866a01f0000000060e9e887c6c6461bb6b4afe19fe7453c58f8daf67c259b9d9d3d3939c99703fd00000000004b413f8c8c8c242626ca0dbdefc9c679140f0a8fb7fcc7aa3517763a933ee1cb817e0000000080a5a01f2a2b2be5837e75ebddf32b1e2c489328f1949494898909be1fe8070000000058dcfa617c7cdc3a1f66b454eb8cc2da9b3729fde6e666be1fe8070000000058dcfaa1a5a5c5b67a989124d8fd77afc5ae37bef9dd9795454e4e0edf0ff403000000002c6efd60bbc5dd5df642ece2e18167dfbc2ae1ead8378878bce53fbeb07cf917bef085aaaaaa1a9827dc06e1a2b2b2920ab9fc3435357576768e8f8f63f8000000208ef483bdc62ef97fbf8c450954bcf1d19fef397875d29ac4eb5366b4c19ced2807b0f4484848282c2c64b775000000880bfd303e3e2e0768f9552b629401fbffe15f37dcf580fea66ed83e23fdb0e99e8795d15fe4de53fee4f70884a511ee7f68df966d3b9c90282e2ea62f0200000096b87e3877ee9cfc9e556b52673a257aa6fa21bbe8903292cbd5ff5fe304c2520add673f79ecd0532b5624e81b9e9191c16e89000000807e403f100817096fbfff61fafa0dfa92a7a7a78f8d8d610a01000000fd807e2010a285d3839f6dd8bc55dff3bcbc3c4c210000002c4dfd3031316143b72bdef8e892ea870d773da05c9e79f1385e26610987ae331f275dbf5a5ff58e8e0eac210000002c41fd2032323266b179dc4cf5c39ab4ffa35c5eef780f1793b0b4c3d19a97f455cfccccc41a020000c0d2d40f6565651756467af8e88cf4c3967b1f2d7cfa2731467eaca957597c7145c299a151fc4bc2d20ebffbc39875410c0e0e62100100006009ea878e8e0ef93aab6fba75a65320620f77edab5616777e231fe792100f61f7837bf585afafafc720020000c012d40f93939329292972771e78f6cd4b211efef6cdff4c4af9ca0577aaa915cf92100fe1b9974fe80b5f5a5a8a410400008025a81f446d6daddc9d94af65cad79f77fd9077e045257e53dacdbffbc3189e25211ec20f5adaf59dcfcfcfc720020000c0d2d40f131313a9a9a9f278eeda573dbfe261ff3ffceb8a95ab94f2abcd6db895843809affdf497facee7e6e662100100006069ea07d1d9d9298fe70bcb973f58d3365fe2a1e28d8fd6debce9c272f8f716e25312d00f000000004b473f8823478ec8e9b92ae1eae2bf3f392fd31ebeb63ddf462ef57cf0293e2501fd00000000b0a4f4c3e4e4645151914988d8d7668d18bef35adfba8cac0bcb3aad597bb2e72c0e2501fd00000000b0d4f4834988e2e2621bc8b4b5a06ca69b525bd8fd77af255e7f6141a7b537dc887820a01f0000000096ac7e306a6b6b43a1901c20c9806f7ef7e5d85544f1df9ffcead6bb974db165db8eeeb39fe04a12d00f000000004b5c3f88dededecccc4c53025727add972efa30f3cfbe67442e291efffd35dfbaa53bef6bff1af5975ede1ea63acd64a403f6010010000205ef483d1d2d2e25484085db562f54db7deb2ed9e0d773da09071c7b7a419be74cd752e8294c323079ea0db81807e403f000000403cea07e32ffff22f2fec2e77e34dcba661f59ab5bb76171d3bde7c7af0337c470201fd0000000071ad1f4a4b4be50c3dfffd26c983b6774fbfdadca6630509861ffffc57f4361008e807000000403f44d00ff8850402fa01000000d00fe8070201fd00000000e807f40381807e00000000f403fae14a85579bdbca9ffc5e94f0feefff388b648fd6bc1463f52afdf04c756f7d53ebbc4f4461055ef403000000a01fd00f730abb1fdcbb2c2abff8ed47b348765dea97b376dc114b4ca53f5dd6cb43a183479f9daf277deee5133b7715f089a31f00000000fd807e987de8f9e05379f016ea4eb4a85af2ee2d74671466f7ce7ea6fa41322670528559bd66ad2ec9739d97278dbd4804f403000000a01fd00fb1fa880157fe523beb11f58305d3334525fbd10fe807000000403fa01f16937e383df859f993df4b5fbf415eb8fe1e3cfa6c6067bd675e3cbe61f356f3d17ffcf35f059cf5b7dffff0fe87f6dd9476b3ce6fd9b6c3aff928fae1cdcedf042ebddef15edebd854a44e1f6dc7b9491bb74e8e9e703f2e0c41b2775467fbbcf7ea2832fae48b866d5b576c622e8f69dbb0a2c3525dbf6ee6977efdefd07151421ed965bf5bcaf36b7f1dd403f00000000fa01fd10937e9054900fad4bbb76174945e8af8ed7dfb6d94988471f3fac3372cdedaa3cf5ab57ae74debc9c7efd2bdfbdb8f480226cdaba4d91757c51fd607333240c5c77c4f25068ed0d372a3b05a9115d956ef123fbb7ebf3b54fb9e7834f75556558bd66ad0e4c751c3bdeacd494884b4dff3a69a1c24b39a8ccca2ee9fad5e807f403000000a01fd00fb1ea87bdfb0feafc732f9f7067e47ceb8cceebf867bf3e63d2c2ef0a303961ff4a69c8773fd973d645b86f4fb122fce8ad779c7e501c7ffd2539f45bb6edd07939f1a652defffd1fe5cdcbcb971870aa4677c9e9b7659aa2e887f0f14b4a4d45f225900e94b80486cdf7504cddfbc881276cd526166e423f00000000fa01fd10ab7e90572ddf3a70529ebdceeb40eebeee7ab3f337fe32a93652c8a98bc01c86ae331fbb8ca65b7f297dfd067ff5581303be8651a86f6ad5c9a3352fcd543f042e59385c7dcca91ad30f6fbfff21df0af403000000a01fd00f33d00fa7073f0b742ff87d083d1f7c6a078137f45bb6ed3067dde6408757b5b4c7a6addb9c7e708b3e9dec39fbc881272c477f8a85a9147f8a4260ecd38cf4830db85a7fdb669d71418ac80d8832fdc05702fd00000000e807f4c3ccf483df57103e39a1fbec273b771584bbdae6914ff7a6dfbcf90d9bb74e37ffe1b1434fe9e4f69c9d4e9698c71fd88c62d6fae1fe87f69968d15d8160531dd00fe807000000403fa01f66397ee98b2b12e4ca074eeaccf25048074525fb759764867fd55eedebe0476fbde3cf81b670666854f7de9e7bcf74fa41b241eac2bfd10617fda0a53d7c8126890da71f7c81f1dccb27a6d30f364323cace12e807f403000000a01fd00fb3d40f72f4e5eefbaeb98e7566cbb61d3a7eb5b94d77c9bff7576b75f3a74f0f7e26f92139e10f70b29e01db5b7abaf5974ef69cd58d0a36f1baedddd38a76df9e623f4e71e9019db445936cd4933fc0c9065645d40faf77bc179ea952bb66d5b5b63a13fa01fd00000000e807f4c32cf583bc6da985b45b6e55843343a3fa57c73a63aeb684c1a6addbae5eb9f299178f4b2dd8557ffd25e9041b2c245da108c78e372bf2da1b6eb4b9d151d66fb51b4da528d840a9c70e3dd57df613dd7be8e9e75506e562cac4265a28b22484327af4f1c3cac5ff9455aaa4eb572bf79ffdfa8cfebdf31bf9baaa684aade7834fad7f63c3e6adfefa4b7c25d00f000000807e403fcc66ffb81fb4b4af5eb3d62d8e24efdf6d95a0601bb4b9abbb7617b9f9d36ef6f3175724b808d21b6e69a328fa41aebced3b51f5c22bd695615d0a7e466e812645b6214cc6bad42f5bc788fb944d8db86567959a248d9f9a0a6c4bc1a21fd00f000000807e403f5c3c9c191a9537ef365808bffa7ac77b75275af437e27e086def9eae6f6ab5b7fb72c49d2feeb65c90e4904f6f117c91102553dda5ab7e525d673e96985108cca57643a7540639bbb66983e2f88b38e9aa2ef979298292d22dfef61456fe88e9a31f3088000000807e201008e807000000403fa01f0804f403000000a01fd00f0402fa01000000d00fe8070201fd00000000e807f40381807e00000000f403fa8140403f00000000a01f080402fa01000000d00fe8070201fd00000000e807f4c362dfb7ee67bf3e230f554107818de708e807000000403fa01f081776833ef4f4f35bb6ed5816c6d52b57e6dd5ba80f68ba7da909e807000000403fa01fe2259cec39bb735781530ba15028232323778a8d1b37262727fb42a2fcc9efbdfffb3f5269e807000000403fa01fe22efcee0f63c5a507968742aaff8484047d10ededede3e3e3810f687878b8a9a9292f2fcf54c435abaead3bd142eda11f00000000fd807e88a3d07df693ac1d775887434545c5c8c8c8453fa9dede5ef9aca6221e3bf494e407d5887e00000000f403fa212ec4c3bad42fabda535353fbfafa66f47935363686a6ba2c76ed2ea226d10f000000807eb8dc1c397244ced0a1a79fc72fbc6c2b2c6ddaba4d759e9d9d1ddeed303e3eded1d1515757575353535f5fdfdddd3d39391988d3d3d3939898a814ca9ffc1ef579f9c3abcd6daafc8282020c22000000c4a37e90932a6768effe83f8859727ec7e70af2a3c2d2d2d201e4647472b2a2a12121202eb2f2527274b4e4c4c4cf891bbbabaac1742be2c557a99c3332f1e57cd9795956110010000201ef5436767a79ca14d5bb7e1175e86f07ac77b365b7a6060c0ff147a7b7b535252964d4f565656406f98f05b7bc38d678646a9d8cb19eedb53ac9a57fd6310010000201ef5c3c4c4840d86e93af331aee1a50eb6c3434d4d8dff11484bd847109d8c8c8cc0ea4c9999993a7fb8fa18157b39879f255dbf5ad53e343484410400008078d40fa2b8f8c2fbd4fb1fda87777819e6dda6a4a48c8d8db9ca9f9c9c943058161bfaa4fc0faebbbb5b27e5ceb216d3650b476b5eb2ee20ac21000000c4af7e181a1a0a8542cb43a11ffffc573888972eecdd7f50ae677575b55ff9cdcdcdcb66427f7fbf7fbb698f1fbdf50ed57b19c22f7efbd135abaebdd059d7d5853504000080f8d50fe73f5f852979cddab7dfff1037f112055bb3f5d4a9537ecde7e4e4cc483f545656fab74b8d30fdfdf284f77fffc7f4f51b54db85858598420000008877fd303939999f9f6f83615efbe92f71162fc5ab6b5b4cc9aff6898989653364e3c68d7e0a52233ab9feb6cdd4f0250d3ffbf5999bd26e8e380b05000000201ef5c3f9a99d070a0a0acc49ddb5bba8edddd3788df3184ebc7152159b9797e7d7f9b973e766aa1f020a647878582757af594b0d5fa2f0f6fb1feedd7f70f9d46ab9999999b1ec140e0000001017fae1fc542f444d4d8ddb82e0a6b49b2524e43c953ff93dc21cc3ce5d7fa52a2d2d2d9d5ffd70e14b3905353cbfe191034fdcb7a7d8062c895028545e5e4ecf03000000a01f22303c3c2c5729fa7604303b02fa61eee39744525212157be9484c4c2c292909ecd701000000807e88405f5f5f5b5b5b4343430dcc8a93274ff67f4e4f4fcf4f7ef213fd0d54f21ce74f8b9f4cd1ffa7286bea7f2ed4d5d5b5b4b4f4f6f64e4e4e62f800000000fd000b05c9b319e90779b4541a00000000fa01e294898989f4f4f418c5435151113506000000807e80b8a6afaf2f3131f1a2e2212d2d6d747494ea02000000403f40bcd3d3d3939c9c1c453c6464640c0d0d515100000000e807800b9c3b77aeb4b43434b5cf804f4242424d4d0d2b8702000000a01f00828c8e8efa2b321d3a7408e500000000807e009896d2d252a71f5a5a5aa81000000000f40300fa0100000000fd00807e0000000000f403a01f0000000000fd00e80700000000403f00fa0100000000d00f807e0000000000f40300fa0100000000fd00807e00000000403f00a01f0000000000fd0071aa1faaababdbdadae625a9d1d1d1e2e2e273e7cef16902000000fa016069ea8779ccaea7a747a9a11f00000000d00fb0e0f4c3f8f8f8f0f0f0e4e4e4a953a79ccbae7ffbfafae4c7fb4efcc4c484fed5257746378e8d8de98cce2bbbfafafa9191117775707050290c0c0c0472541c9d57764a306279dadada949a22287197756f6fafee528e7cc4000000807e00b862fa4171d2d2d2f2f2f2143f2525c58484ce242626a6a6a6eaa41234cd10de2da068353535261e8cdcdc5c5308f9f9f9fa57298442211d8f8e8eda2d478e1cd119dd98344567676778795c6a4a5c67541e15cc95a7bcbcdcd73000000000e80780cbaa1f14b3a0a0a0bfbfdf5ef9cbad2f2c2c1c1f1f37cd20c75d4e7f14fdf0bf5f6e2f3ba5a64b838383e7a7fa28d2d3d38b8a8a74dcd7d7a7685d5d5de7a7ba142c5a7891fc8c24455400dd6e9d15dddddd0909095555557cd0000000807e00b862fac17c7dd1d4d4a47ffd6148120ff2e027272763d40fd61dd1dadaeaa2d97824a5d9dbdbab838686061303a3a3a37e4611f5437d7d7d2814720399444545457272321f34000000a01f00ae987ef0bdf39494143f8279fff2e663d40f5d5d5d3aceccccccfd1c1deb8c6e9708292828d0714242426161617373b3f57244d10f7a9cf4f474ffaaeed255264200000000fa016021ea87d6d6565f3ff8f3a1939393c3f5434747878e6b6b6b5bfe14d7d5d0dfdfafab262a323232c225442cfac14da800000000403f005c31fdd0d0d010f0ceabaaaa6cfc92cd5e90736fe7e5f7bb29cebe7e181c1c0c8c5fd299a6a6a6b1b1312907a5efce9bd2b0e910d3e987bababa5028e46b0cc62f01000000fa0160a1e8079baf5c5c5c6c5314e4f1272525c9653f3f355d4131ed58577510d00f3ab6bb727272d2d3d34d004836646767eb5f2990eeee6e456b6f6fb75b6cae859b7a11d00ffaabd4868787559eb2b232b706949bcf0d000000807e00b8c2fae1fcd41a47c9c9c9920d1b376ed425b716d3f9a94da66d99575d2d2828904e70fa41c7361ec944485656562814d2bfb6ee6a6f6faf5fbcb42914a1aeae2ebc48122a4adf966a3d3fd54d618bbd2a359d2c292989b8710400000000fa6171303939393838d8d9d9e946bacbe11b1818c0c95b14fa41da207ca7679d948a686f6f0fef1c181a1a6a6d6dedebeb339de06ff176ead4293b6fe8580508df27cebe2dfa92445c7cc949889e9e1ee5e5caa35b541e770600000000fdb0c8181e1e6e6868c8cdcd4d4c4c5c16895028949d9d5d5b5b8bcfb790f50300000000a01f2e2dfdfdfd4545459207ce4f5db526f52b5fbf73c35d0f58f8ead6bbaf5b77cb17962f7711f2f2f2dcbc5b403f002c6a8686863a3a3aeaebeb6b3ea7b5b5b5b7b7979dd1010000fd10646c6cacacaccc9483e4c12ddbeef9cb278e7fe7b5be27da3e090f8fb7fc47e1d33fd978f75f5f9570b5b9b3050505e1436500fd00b028e8eeeeaea8a8484f4f5f360db6577a737333a337010000fd708153a74ea5a6a65e189874d58a2df73efa58536f44d9101ecafff1df777cfbf08a95ab746f5252925b7e07d00f008b828e8e0edbb1c4f8d235d77d75ebdd3283d9458714fe7ccfc15b6f2fb86edd2d2e424a4a8adb671d0000204ef5839c7eeb7648f95ae623dfffa71895831fbef35adfd7b6e75be3ea6f0200e8078005cbf0f0b0ad2d26ae4e5a23b5f0ed17daa7b3728ffef05fee2e7b615d46965311e1db9b000000c4857e70e261cbbd8ffeed9bff390bf1e0c25dfbaa6d5e041202fd00b0c0b1b58c4d39c87655bcf1518c86ee8167df742aa2aaaa8a79110000105ffaa1b7b737212141ada09acfb9280717ee7bb2d124445b5b1bdf09f403c0c24406cade9b7ce5eb774e37cb2b7af88b878f9aad2b2a2a4242000040bce887f1f1f1b4b434b57f5fdff537f3221e2ce4fedf1a9b6bc8746af403c002a4a7a7c7c44376d1a1b9d8ba079e7dd31690a8acaca4560100202ef4c39123476ccec31c872d85079b0b919797c7d702fd00b0a0181c1cb46d6db6dcfbe8dc6ddd83356da1ab563068130000e2423f0c0d0d8542a12f2c5ffe70dd3bf32b1e6c3ab5adc8c4be10e8078005457676b67e3e5fdb9e3f5fe6ee2f9f38ae04131212c237740700005852fac13a1f36dcf5c0bc8b070bd945876c5308be19e8078005426b6beb85d195d7a794ffe3bfcfa3b9932155b2858585d43000002c59fd303939690b8f14fffdc9181bc86fbfd0beabe295288b1b86774184ae5a110a85868787f972a01f0016021b376ed46fe79bdf7d797e5f973cd6d46ba398060606a8640000589afae1d4a9536aeaae5b774b2c4de3dfbef99f5fdef41749295fd970d703fa1b7bbfff57b7dead5c9a9b9bf972a01f00ae38bdbdbdb65a6b2c33bef635fcf35dfbaaef28793ac6cd34bfbeeb6f98480d00004b593fd4d7d7c7beecd2eebf7b6dd59a545b1cbdfc1fff7dc5ca553a13fb424c7279f972a01f00ae38555555314e9b7eb0a6ed4bd75c97f5ad7219491dc4b2abe6b75f6857e2696969d43300002c4dfd606ee8dd652fc422031eae7b674ff5ebeedfebd6ddb2abe29518873c2997f5ebd7f7c03c919f9feff4839c212ae4f230343484815b02d856d3854fff2496bed3bf78f8a81d6fbcfbaf37ddf3702c16cf168df8b77ffbb773008b9fb1b1318c0600fae14fc8cdcd553bf7c0b36fce7498af9adeab12ae8eb143ffd11ffecb328025416262626161614b4bcbe8e828c66e91929494a48f32c6dde2dc18276989ac6f95c7724bea86edfc526029919090909191515656d6d9d9393131810d01403fcc463f3c58d3b662e5aafb9e6c8c31bee987152b12b276dc41202cdeb0f6861bfd06b5aaaa8a37738bd2464f11bbc5cb3bf0e2ba8cacb5376f7abce53f625f8529e9fad5eb52bf4c202cf670f5ca95be9690fcaea9a9c1f401a01f66a61f241b66241e9c7e9019eaffaf7102615187ae331f3ff3e2f1ed393b5d53ca7e618b8bf1f1717d7057255c3da3eed66f7ef7e5556b52ff7ccfc1d8f5c3f3df6fe2f742581ae1f4e0676f76fee6e0d167376ddd66a62f252585a97700f1ab1f8a8b8b67b488e1dd652f7ce99aeb1eac699b517f45f1df9fbc30ffe1b6cd5861c292096def9eceda718735a5fa1dc92bc5f62dd5fe070b7baa5fffc2f2e5b68004fa8110b7e1b59ffed299bef2f2f2c9c9494c0a40dce9879a9a0b2b236d2d288b71d8929acfdd7ff7daa33ffc170b31f6e6e71d7851b9ecda5d84e5252cb1f06a73db35abaed5d73b27270709b158b04d6f6299be2525e0f6c679b8ee9d0b0e530cfbcda57c2d5331e566f103212cd5f0dccb2756ac48d0f73c2f2f8f19110071a71fbabbbbf5fb5f7bf3a6586440c61ddf0acca98ab1e3e2d6db0b2e2c13f4c22bd85cc2d20b277bceae5eb3d63659e755dca2401e8f3eafbf3ad2148b7ef8f2a6bf9066f8ce6b7d5ff9fa9db76cbb2796f9d657255cadf47b3ef8945f07610987d73bde4b9e327d2cce0e1077fa61626222313151bfff58d6359f5d78bce53fac357dfbfd0f31b884a52a21ac1dada9a9c1022e7c6a6b6bf5616dbcfbaf63315f92105fbae63a19311dc4d2e3baa7fa75259ebe7e03bf0bc2920f3ffbf5199b5d5d5f5f8f61018823fd20cacbcb63dc4a6976e1ae7dd517d2dfb603534b58c2e1476fbdb33c7401f68858f80c0c0c5c58116ee5aa582633cc3458776bf993dfe347418893319cb61e1da60f20bef4437f7fbf7efca1ab56ecff877fbd149d0f5727ad51fa3231d859c2d20ef73fb44f5ff5a2a2228ce0c2273b3b5b1fd61d254fcfafc5dbd7f0cf5f582e42bff8ed47fc22087112763fb897514c0071a71f444949897efc5fdd7af7bceb87afeffa1ba5bc61f3562c2c61c987eeb39fd884426972ece002a7a7a7c7ba20e6f7bd89aca892953bc5cf81103fe1edf73f94e90b8542030303d8168038d20fa3a3a3b620c98e6f1f9ec7a6f4af8e3429cde5cb436def9ec6c212e221ecdd7f50dff9caca4aece0c2a7a0e0c240a37519596e87e939863b4a9e5682d7acbab6ebccc7fc160871d8fbca043080f8d20fa2b3b3533ffe2f2c5f3ea38de1a22ff66ad3a60f571fc3b612e224fcf8e7bfba3077363d1d3bb8f0191919494949d1e7f5b5edf9739710b29cb62a5d7d532b3f04421c4e00d3973f333313c302105ffa413434349884b86b5ff5dc7b1e4c3c14971ec0b012e22ad85aaef4e32f0a0607076d01ba18d7569a2e7cf3bb2fcb722a9da3352ff11320c4613833346a0b318d8e8e625800e24b3f3809216ebdbd20966d92c243c51b1f6d2d28b344763fb8f7777f18c3b012e22aecda5da42f7f6b6b2ba6705170ead4299310ab6fbab5e4fffd721616cf769b167bf71fe4fb4f88dbb065db0efd0af483c2aa00c49d7e106d6d6dd69a7ee99aeb72ff6f4deceb1bfeed9bff79df938d49295fb1390f0c5b22c46778ecd0538c035e5c0c0c0c6cdcb8d196a1db72efa3b1ec4b6dcae1ae7dd5b6bedcd557af7cfefb4d7cf909f11cf2ee2dd46fa1bdbd1d9302108ffa419c3b77cef667bdd02e26adc9fa5679f1df9f8cd28e3ef2fd7fdaf1edc3a61c6ce3a4d73bdec39812e233483933857ad1313e3e5e5e5e1e0a854c4564dcf1ad5d15af7ce7b5be88b2614ff5eb5b0bca4c3988f5b76dfed9afcff0cd27c479282ad9af9f43636323f604204ef583d1d1d1b161c386659fb362e5aaaf7cfdceafeffa9beca24316b6dcfbe857b7deed1a517153dacdcfbd7c82314b84780ecf7fbf89a5d01729434343fae04c4518d7adbb45566ec35d0f28dc7a7bc1da9b37d9cc2ea71cd8d98640b050fee4f7e87a05403ffc6f4784ccc1cac46bd6a57e79d9f4ac5eb3f6be3dc527de3889722010d00f4bc0ee353636e6e7e74f67f1d2d76f78f4f1c3affdf4977cdb0904f40300fa21b27e90789069e83af3f10f5ada8fd6bc241b61e170f5b1579bdb4ef69cc56e1208e8872568caa790ddd367aa5077a2e5f58ef77a3ef8942f3981807e00403fc4a41f080402fa210ef5035f690201fd00807e403f1008e807403f1008e80700f403fa8140403f4cff43eee9e9994b22636363d36d6a312fe9cf3bf263542af40381807e00403fa01f0804f4c315d00f656565b9b9b9112f8d8e8eea79070707d10f0402fa012f1000fd807e2010d00f17d0134da71f1626e8070201fd00807e403f10084b5f3fb4b5b51517171f397224140a151515d9dbfdb2b232db153e2727e7d4a95316b3b7b7372d2dadbbbb3b333353975253539b9b9b5d3a3a9f9d9dad4432323274ded70fba51e9e892d25439474646ecbc32adacac54eebaa463bf54fa579113121294e3f0f070434383a2c95150ccbcbc3c9dd179256b915b5a5a94a97254c1dadbdbed16bb545757979e9eae4b92228aa64b2e8ba6a626bba40751b4c9c9493baf38f5f5f5ba949494d4d1d1618f969595a5983a535e5e3e3e3eee12d18dba5da52a2828d025f40381807e00403fa01f088425ae1f868686e416cbf356332c977a626242c7f29ee53a0f0c0c545454c839eeebeb534ce9810b7b11a4a72b9a5ceac2c242fdab38baa4088aa632e85f0912b9d44e3fd8a59292121de88c1c71a56fcebae24b24480f545757cbeff74b353838989f9faf98ba454552d992939395b50ee4dcfbfd1bca4ec74a41593736369aec51045d524c652deda1d474a3d488f3efe5f7eb92feeaaed6d656d580dbc05b7114530a4a1a46372a17c5943650f9bbbaba24545caf8825a24c15adaaaacabc7ff40381807e00403fa01f0884a5ac1fec47e7e612983bee4f2dc8c9c9915470fa4111ecfce8e8a8fe6d6969d1b1e4c1c68d1bdd2d7eff43414181130c2e3b4bc4f483e4c145c72fd9d020d7e1e0eb0739f4caddef1030fda01c2539e4d6bb4bae7f40394a30f897546029013d9139f1922efee3fbc3a8a4221441f249e90712292a2a423f1008e80700f403fa814058fafa212525c577b21312126a3cb2b3b32d82e9075f5a38fd909e9e5e565616f8219b7f2f273b2b2bcb4f509aa1a2a2c21482129fae60e1fa213cfdb1b1311d343535b94ba74e9d32fd303030a083cece4e7fa49625221da2031b106598b4e8eaeab287aaaeae76774957a8187ef915a1b6b656f51048bfb1b111fd4020a01f00d00fe887cb17ea9b5a4fbc713296986fbfffa15cc6eeb39fb833bffbc358c4984ad036b29d2e5cd2a2bed9f91b6531dd7ee1a7073fd3d51fbdf58e79c03ffef9af680eaf947ef06705281d79fca56138fd60438302fa4129f86fe22726269c7eb0690981d46ce244f419d201fd909a9a1aae1fecc0ca60986cd0792bad3f875bf2c0fc7bbb545050102895cdf4f03d92f1f1719b041288d9d1d16142c54f5fc5403f1008e80700f403fae1f2053d75d68e3b62f7175ffbe92feddfe75e3e91776f61c4984a7059542e6951a53194c57d7b8aa33cc5e1ea633ad6c1ee07f7d21c2e04fd505959999898e847181919b1813d51f4435656567171b13b6fefe6cdb796dfef774d588e36666946fac12fa4d30f9393932aaddf5dd0d9d9698554b175e0cff076fd03fdfdfd3af0675c4827b8e70a78244a3f30b77b686848e5b7f47de9525f5f8f7e2010d00f00e807f4c3e50b476b5e8ab143a0edddd3b29bbff8ed47f6af6a6c3a6fbefbec278a66a1eec48597a37bf71f74675c0a974eeaacbde1c6ab57ae3c3df859446df3c515093d1f7c6acdc0abcd6d3487330a6786467ff4d63b078f3ebb3d27f7c2af66ddbad9ed8710d00ff65addb9c572acd3d3d3fdf90f11f5436d6dadfc6c77c926139b7e282f2f4f4a4a720b22f993282eaa1fdce8a6e9f48345730b2ea9b4393939ae90797979999999267ee4eedb1a4d96821e4a57ddac0c15382121c116860a78244545454adf1211521d6ea4938aa7f25b2252141b376e9ca37eb0c9df7cb71763d007273b463da01f00d00fe88745d36ec5e2cdbff6d35fce570b17bb7e30fb7eec7873e0bca48bceefda5dc4c7378bf07ac77bf7ed2996300bf426cd6ebf85807eb02e08a526cd20af5a7e767272b22db214453fc87b96e36ef395f3f3f3cd93b6f2c8f396e3ae4b151515d21272919dcf1d5d3fd84c0325abdca3e807a5afec94ac15403ebd2be4d0d0506a6aaad48b725104dfbf974cb233478e1c292828d0f9bababa88fd0fb656acd251b59495954966d82ab7e7a7e652dbec0e3db59252b439ea074b816ff8620cbb1fdccb4b10f40300fa01fd70b9c323079e38f4f4f376ac0385b7dfff506ea26a23ed965b75d5bdc5fff1cf7fa5b6ea64cf59051da8c656af59ab83e85308a2e807a57cf0e8b3eb6fdbacbc366ddd76b4e6a5c0848ae75e3eb165db0e5dddb9aba0edddd301fda0721695ec572175fef6dc7b7ed0d2ee2e759df95899ea64204765a7f36e12850aaf2c0209de9476b312bcf31bf9eeb9144731fdde0c558bcef8a5d58d552fbcb254bf24aa99bc7b0b9d60c8cccc94fbdbd8d8d8dedededdddedf65598116363630d0d0d81939d9d9d72f7e5dfcbab76c9eae7a9a65af17d17bfbfbfdf8e25219a9a9a744b7575b57c7a5d724ac35d529aadadadeead7f4747873ffe27c0f8f8b80a26d75cfa4152c12fa4ca10485f35505f5faf684ad317398ad9d6d6a64bbdbdbd81f9cd52174a44a5521dfad24b27034accaa48312521dcf2534e5d5822cdcdcd9213737465d00f0402fa0100fd807e98e54b7d1dc87bbe66d5b5f2e6ef7f68df86cd5b7d2fdccd7f9817fdf0feefff28d75f97e498eaaafc751d4b2d38a75c1eb99dd15595e1ea952b155c5195a9fe55518b4b0f3cfaf8e1f4f51b1459f2c0a5af5b968742364ec905d3067e178a9bfff066e76f5c828f1d7a4a09ea765317c78e5f5815d4bde4eb3efb89b9d16e2a88eed5bfbe14594a410f6e7d0e090909f2d1fd7e8078a6a4a444c2c0fdab9a494a4ab2e3fcfc7c7f92436091d905c8a2d30fbb7617e9c72e6ba01fa9fdeaf51bdc9eb353ff2ac89848f1baf1998a7cb8fa58d2f5abcd9ac926c8a4983d91f171ef0574cbce5d055f5c916066c77edd3253321a7e4fe6cf7e7d4636e4f58ef7742c4b6876464107d3add9a0f8329e664e756c93afec3587fe7de6c5e3323b6b6fb8d16e578175d2aceba1a79f377bb877ffc1c0db1015f591034f58e2bac55945953cbc3c8aa0f37e47a2ee52eed625aba45400e5a812fa6f6102f17ff4d63b5630d9463f9ace5ba6f6747a1c7749d1d6dfb659e7f5743a76f56677a995d1257d0a32c201438d7e00403fa01f16997ef07d7d355d6a182eac3a3fb5e65260fef41cc72fc94d0f0c315263e962aa9909cc8196487039aa60a6735c03a9336a2f2f0c707ff7b49db17917ae65b5c635a0317cfd2031230fc3cdcdb0679733a16757dba6d6517ac6e928fdab4beea1ac39b1f6788905ebb111728267d7cfb05491603041d5d2d2525555150a856a6b6b9d609096a8ababd3a58a8a0ad55e6b6bebc2d70f92cd11a70c2dc0203b60debf7e7af244e5faeb5fc906d90d09091dc86195eb6fbf4dfd5ae5aa9e78e3a46c827eb6d6bba8bbe4e9ea929908fdcce5af2b9aac841482cc822e99b3abc8bea19321b296c26ed125bb45d1f4afbf3c9d6f6794af329279a97ae115a56c4eb60da7d45daa792904d91cfddc2ca62c9b4aab87d27973c415d389221db87e54673365fa74afea44855125c87c3983a6087eeb6636d92ea9fc7a6a3da9eebaffa17d2a5bf8fc348baf72d637b5eaaa8aa468f6da4899ea58c6dc3295c5564c1d9bbdd525a569cfa2db5df3e12ee9761d4bb7284cb79a1ffa0100fd807e581cfac1f721cc505a3b3abffa41de7ffafa0dfe19b51f6a63e4c7db0021dde5bfcf53a9d43a5a8ea62ed49007966db589da6e9aaf9a4f358d2e82b58ebe97eff4832568eff3fc97673a692dbdf2755f8f5dbb8b94ac827b7c1dfbaff7964c385c7d4c3560fb2563ef024c4e4e363434e4e7e7676565151414f8e38b262626a4256c16755151914d7a5ec8d8cc13f311c3670d2d4cfd2085e0f755eae7a99fbcebdb94e76daff9cd8239b7dedeb5bb1be5b69a055034b7ac8285f5b76db657fe729afdb703cad7ac99ec8f9272d6d20c8e944044fd200fdb7f757253dacd4e3fb8371a66e27c5329e3a3337a1cb38d2e71c5718fefacab94838ca77b34a5a6e2994d8ba21f14c71952dd227913fe1ec4e2fb1d0b3277aa49eb46f097b053052aa62dc82141e55b457ba163cd872ad6b7cc268754cfe80700f403fa61b1ea07354b811908cee8cfa37eb086337ced54eb43f00ffca016dd72b49284cf1a0c14495ac2bdb453eb6e6f2803f1ad0c96a05a5fddee828d37b086ff68cd4b2e29f312d430ab6957b2369cc9efd6581a419e818d49088cbc8725496f6faf4d0117f6427a81eb077ff168fd721564645c90b76d1102aeb37eeffa5dfbe998050878b4f60a433f707bafa19fbc4d12d38fc27f73af94fd4cf5eff69c9d11f583ef1c9bb5b145ea74607bd1b80ed2fbf614bb04ef7f689f33b92a8fa90e1b87e99c7e675d95bbe207cca9d9c328fac1b2485fbf41366dba0fdde2bbde0f2b8cdf529cec39ab07940d94a870fa4195e6bfe2313b69cfa28a556dfb55a73381f741e80700f403fa6131e9874025f89a61def583eb2b70c126e95a49ae59756db8d360393ef3e271bf24d3e9879ffdfa8ccbdade7e052487d30f2693d4dceadf40b0590df6864cf95a2f87b2b65d26d4f6dbbd7ee3ba04c2fbbfffa38d17a78d5c8c8c8c8cd4d6d6ce62a64a6b6b6b4a4a8aa9087df9238ec65920fac17ffb608b3d047eb9e6f187eb07df44b874741070fdcd47746f22acb3d4bf7dfd6d9be5c747cc34dc2ef9c64a56c8dc773383ee92994ab9e08134dd5c0b5d95c63099e1fa669d8993431f70c177ed2e32b114453f481dc9362aa6cd715235869b328bef7f196c028959727bcfa21b65bdab5e78c5e98780d93f3334ea1ed6e65a44b4b4e80700f403fa01fd30ad7e907b6a2d6520b21a15930d363f3b301adb15d54614f8fde92ecdc0b6719bb66eb39776d206abd7ac0d0cb175fac1d44520c140500379e737f2e51fa8e1545b68830dd460eb29dc7bc125131e3bf494ad611af1f73231312147b3a8a8283b3b3b2323233737b7aaaaaab7b7179bb8a00c9a7d82cdcdcdfed25517657c7cdca676d8dcd683479f75e38216ac7ed0cf3c30bd584eb09bff108b7e90036d2327fd98ee776d6f226c8905b75b8eac81df956199469c07ec5c6a379b59a643b628a01fdade3d1d78c7a147509ace6ae931a5648a4b0ff8e3829c7595c209ac4cadf8d6e31aa80427604c965845e953b69512dc44af800db7590dae724c502947d9553765c2deb3d8c3aa3e7d6b6c75680f6bcb54f859a8188b65ee0dfa0100fd807e98937e70b3116637ff416d9bda2abfb9b5b6c7fc007ba9ef37bad6fc588edd673f591e0a0572b7575ffe8469d753614371c2fbc79d7ee83af37178824a2ae9fad59216cea5b61150ce5351fcf5b76dd6c988839e176f50f5ae985a85c6ad913add2bea00f9f9f9acceb4a0f483617b47747474b8156c2fcad0d0906eb1dbe5462fb4b1e901fd60d38eddda09b2156e62748cfac1de20b8a1443208f2717d4f5a52c14c9653536670dcea73325f2ac374f31fb6e7ec3419202fd939fa01fd60cb42b89836c5c29f95216bb6f6861b6594fc57f5ceba2a6b4576fd126678cd841e7afa795b0ac24d0231fd602f41dc7a50ca5775359d7e701ebf558e8dd854697d1165ef1d2c53455075d987a294ad6fd91ef6fe87f6e9295c79ac2f7711ed62817e00403fa01f66af1f14d356e58bbeeed074fac1de81a949b606efcdcedfa4dd72ab5a7d1dd8cb30fdabe6c71c17354276d515d5966f5253a7c6d5bae01559ad6fe02596feb5f3ee7d5b44fde01254c3a6564db92b5fddb87acd5a7b39e746270b3744c1ad4d147d05db45176c212cdbfb39809b683b1dc9c9c9a74e9dc2382e28fde07f3a151515b1f714757777dbe677e601fb6fa017947ed00f76cbb61db612a86c82ad406da62046fd608327e54ccb02ecdd7f50deedfadb36bbdfbe530bfe04035bf34d46e9be3dc5b21eb6f6837f8b6f6774557eb6dc6bdbafc66c51403fb865a925301e39f084cd01f3779531775fc1b772cebaeaa49eda5eedab9c8a269d6052c4d6a752be7a583d97adaa67659044d12328a60e74490f3eddf8253d828aa482298e52301d6513c36ccec69ddfc8570a8a666f6a1441d56b531d74d232b58795d1b6f5ee545415c9968d62fd2500f403fa212ef4832da86acb3ece6eff382568eb8ebbb55fdcce6ed6e6d9dae1c6aedd456a815c51d5d8c851b009be86ae862b0437142a625789af1fc21394ea3031e3822d41e85e73daaa4d8119e74b20584befef6060d4d6d62e8b0139a9f4422c4cfde0484f4f8f7182c4e4e4645353933e53dd65ab184774912f7390e908bcaeb69708f29be5923ef7f209d74b20fbe3f749ea2ebf573390ce0f5adaf5800a3a1f18b565bb46047678b04c155f993ef3e2f1e946e0d8e6305202b2362a8cab401d28cd80d5d2bf3aa99832b0e1139a8f1d6f0e2c90a5c8ce26abcccac824506027079953b9febaa4dbed595c31145379d9e48d88335ecc86cbee1d3cfaac52f0abd7aa54d959caaa9040096d9d5c65e18f5f724555a6ba5775b888c403fa0100fd807ef8dfce68d766e820d099a01651ed99b516feb11b27a0f6207aff83e2ebaee97c0ea529cda0d65ae9446c42d482eaaaf9f12a5ea07953d66a7b14a2bc19b562472c80ce07c62b2bc1faa656e5f8e39fff2abc3cb6648aef3de8df053bc77476c136bb484848181f1ff77f23838383214f5c45273f3f1ffbb890f58323c609128a505151615f00697eb9c28bcbe1bbb221301473d1057fbe75ec4172c51f326a43521782f8443f00a01fd00f04c225f115b2b3b303bf91929292653381e9d48b423fcc68828434645e5edefff660acdfe0660b10d00fe1e1d8f1661b62aa67b7f59a02cbcba21f00d00fe807026189046bf58b8b8bfd1fc8c4c4446262e28c5cd2871f7eb807ae106fbdf5d6b259919c9c5c5959d9d7d717c55a767676a6a7a75bfc3bbf91bfc4562ebe1461f7837b17f514a9933d67f5081197968a1eea9b5a77ee2ad8b26dc7edb9f72ca2e559d10f00e807f4038130b3601322e544fa3f9081818165104f646464d4d6d60e0f0f473498d2937575754949498ab9626a15e345b4f82681807e00403fa01f08844bde34f6f4f4e052c727b9b9b9d32da825b3e956f20d4cea2510d00f00807e2010e225d82a5ba5a5a5fe0fa4b7b7174f3ade9036a8acac8cb80788686f6f77a398f2ee2d9cc5e0160201fd00807e403f10084b21d85e4eb9b9b9fe0f64747474a6dee79a356b72e10a919d9d3d6bd9909090505252d2d5d535dd5cea8181016651ffa0a57d7bceceac1d775c86890dbb1fdceb87c70e3d15b1cecf0c8d56bdf0ca9ddfc857a976ee2a38f4f4f3fe6247127876bb5b7eda059dd1f9470e3c81f5433f00a01fd00f04c22cd76f352732b07e6b5656d68cdcd0d6d6564ce49535683345aaa0a5a525f0b9fb8c8d8d959797db2aae49d7af7ee6c5e3f1b98aab7e235f5c91b065db8ef0dd1b2ed1f24db64b8f85b537dc68dbf9f94b699fec397b53dacd2a956de5a6bfd7acba569f919337b6579dd8bbff60207d9da1f9433f00a01fd00f04c29c82ed1fd7d1d1e1ff46e459ce68e8cbc4c404267251e8878d1b37d6d5d54d3755da989c9c6c6c6cb409d3cb43a1e2d2034b6321ffd905db8a3e7c73b74ba71f02fb6fda20437d0aaee741e221ed965b7d31d37df6930d9bb74a42d80635a61f146df59ab5beead3b10489a2d1fca11f00d00fe8070261f6e1d0d3cfebe750585818f0203333336374492536b08f0b5c3f449fdee0d3dddd2d8d61776dcfd919d883390e3748b12dedf7ee3f283fdef690ee3af3b16d97669b69eaafdb43dadfdaf268cd4b6def9eb65dae75bb5daa6f6abdffa17d8f1d7a6abaae8c70fda020f12021672aaeea855714c736d90cacbbaa384ad9e98783479fd55f7ff8938e251eeedb534cf3877e00403fa01f0884d987eeb39fac5891a05f44c0b91c1e1e76ebed44a1a2a202e3b860f5c345a737f80c0d0d151414d88d37a5dd2cc7975fc7abcd6db7e7de63b3c6a5b4cd2fdfb4759bbcf06b565d2be5208171f5ca951b366f95e3ae98f2e0a510ec5e3531eb6fdbac9a94b4d05fc5977248bbe556fdbb7acd5a057f485274fd20bf5fe72de53bbf91afd42296567a2f7dfd06a71f2478b66cdbe1efe3a663051580e60ffd00807e403f1008730a8f1c78c206c4077e299210517a2142a1506d6d2d967161ea878b4e6ff0191b1babaaaa92d8d08d7273e52847746de3b60bc2edc76c7eb9dcf4dffd61cc825c79fbd7cd7efee28a045b9f4a4d8c82ed9571b2e7ac6e94376f31a38c898aa81f2cdfaa175eb1649563c4a21695ec9780f1f5c3d19a9724752c53fdd5b1a408fa01fd00807e403f1008730deffffe8ff21a23b691939393724303d3a91313134b4a4a060707318b0b4d3f6464645c747a43007dbeaea3499ea50da02744d10fcfbc78dc2ebdd9f91bfd7be28d93fe2022d751a026c69fbe6c038a7c3d10711b8d28fae170f5314b36efdec288457df4f1c3173a123dfdd075e6633784497fd7de70a35404fa01fd00807e403f5c3cccd7abc41ffffc57b12f5fa8a6cb0f7359f7508d71f82a84164e0f7ea6c4230ed156dbacbb14fcd69d106521d7e5532bedb4b7b747fcd58c8e8e9e3a75aaa7a767606080d9d20bcda0252727575656f6f5f5cde8c6dede5ea70cb76cdb113ea49e10513fe88c3facc8b73ff2cefd8e025f099843efeb01f7ef45f5c3eb1def3959b23d67e786cd5b231655bac2da353f7d3784e9be3dc5a667d00fe80700f403fae122e168cd4b4525fbe77161f2d85711b966d5b5d6836f4b1066edb8c3baf2671a02cd70f855b58b8193f65e508dae6e54be3481b14fa40e85428d8d8dd8bb45c4e41433ba657878b8a4a4c494837e9eec273d3bfd6097fc9723f6bedf1cf779d40f8f1d7a4ae76dbab67ea792fa6fbfff61c45e44930a7efa368449b6f7ea952bada8e807f40300fa01fd709120ef3976a77f7ef583df0afeecd767d4e6b97eff1905b59a51968f3c78f459b58b0165525c7ac0e611ea46c663ccb4a5b41da9474646b07a4b921ffef087898989fa9457ac489063ca548759eb0799972fae48f00d9dadb56acefd7ce907194f99383766a9e7834fa51302af637ef787b15dbb8b6463adabd64f5ff6d316e1754d1efa01fd00807e8847fda0f6feb9974fa80d5093e0861ce8ccd19a975c1c79ea6a3c5e6d6eb33540dc25b52e8f1c7842f7ea8c6b7e14d3d619bcffa17d7e9a0a6a081f7dfcb0ce9f78e3a4af1f7ef4d63b7bf71fd4bfca28c655446e4abbd92d61ae76b7ea85572c413f05652787462775af7bc1a6a2ba065b62e0d0d3cf2b82648309036b1dfd17a84a2de9fad536565837ba465a4daca2d9335a823aa38cdcf003ebaf70e9a84a2fc376b30b2da88a6c3926b9986a326734921e1605696969fa7ce56e5e86ddd096b67ee89fda8e4df647d64c97ea4eb4f88efeacf583b4816e5490edbdf31bf9922869b7dceabf0791f95546b2a8b28d3a56ee1b366f75e3a6c2d3df9eb3d32ded8a7e403f00a01fe2513fc8e9dfb4759b9a1335064525fbd5b45823618d9c0d905533a6d642be6f403fe85f9db72d4b75528998845073b565db8ef4f51bd45ce940714c42e8af5aa9db73efd179db8ac8f4835a299dd74995c1b64abda87e5023a764adddedf9e0532565fbb9aaf555527265dc6b36130f6af0746c4da66b86e5e84b18e8f16d549212b1086a6255487fbe845b02c58d5f9254d8b9ab60ed0d37aad896a97488ceabddd519bb51c550b1ed059e448812f1974e8f9f20e5a6ba725372b3b2b2aaaaaa5a5b5b7ba6f8ecb3cfb0864b403fe017c6185eef784f26c86df5a0e3c0ba49b2243a6923c16412dd5a4c3271fe3b1dc5714bbb5a3aeedfc0804c1764a565d9947e7807ac8ca16d3b6dbb834bb4f8a50aa47fec78b3fe75b3c81e39f084cac6278b7e00403fc4917e3878f459f9cdae3951fba426c464805a0535246a246c05c6c0f8257b2befceeb16d580ad07a2383a766bfc297d3bafa64baeb9eb34d7ed9694e2bb391572fad58c854f6cf0e73fd8c45c15cff9f7f2da5d2bab4750bb6b8fe6d635b74542ac4574fa414ead5b2a517fa57fac795682cac20483453341e2eb07b5a0d203ee85abdda2565699bac9887a403dbb55d10f5adaddba8771fbda554e8984566061504908ace162e47ffee77ffefbbfff5bd62f34f57bc42f2410d00f00e88778d10fb6f8865bd7c8e6bc9a9f2d6777fd6d9be525fbeb913bfd602b78c814ba7bb76cdb61eb882b8e3f0559ffda402379d87e0fbb9c724bead1c70f5b3f869cf2e9a6442b2ff9f12e2f5b98dcc6143901f366e76f94826dcfe44a682fedfcd9814e3fc8a1f7dfe7f9637fdd25a90865e4d65c72fac1b67072e579eee513caabee448be4960ebacf7ea2c2483c28be7565dcffd0bef069d97118243b25a5f4897ffdffdb6edb187ff4d14758c3c56dcaa7e0bb4d20a01f00d00ff1a21fec8dbe7c623fb861fab6feb75b65dcd70ff202cd3bf76f34173930c7dafe957faff8fe1eb41215164dfe7ad50bafd8985a05e98af02910e1f31f1e3bf494b48dee95b36ec363e4f4dff98d7c3b76ab88aa48f6ce5b32c9662638fd30dd8861eb7bd9b4759bf566f89facd30f36de29506f26336cfd1929313d88ed26ab42eae4abcd6db49d8189a1a5a5a59842f40381807e0000f4c3620ab7e7dee36f1e24c7dd8dc9697bf7b4bc79db00d50d750df43ffcecd767dcbdf2e36dcc4f44fda00379d2fe8a49aeffc1dda8bff2d7236e8414ae1f94d485d12f1f7c7aff43fbe49dbb1e063b6f93aa6d90b11eca666e98bcf1fb1ffc1e0cc571f2c6b66d529aeb6fdbeccb27bfff2130e45791ad97c674912af6b9974f286b3db572511dce6eb559f403a01f0804f40300a01f16d67e0e726ddd9241326d3657588e6fda2db79ab4d0dff4f51bac4f60e7ae02f3c2f5efea356bdd981c39ebfad7b6139a4e3f28f2a6addbcc8d96677fcdaa6bedbc7c7437ffc19615bfa87e50815524dd1898eeac52290bf3661e3bf4941ec175656ccfd969d3189c7e90f0d8b079ab95477f25427ca9a0746c94948990807e90d8f0174e316fd8aaf1476fbda3aa70b32354360915d51b0d27fa01fd4020a01fd00f00e88745af1f7ef78731f9dfb64aa03c5d3745a1b8f480bc5eeb16305fdfb4819c72c5b18795f7acf372e22503e431cba18fdeffd07df61339f437a5dd2c3f5ef175e0864229cd2ddb76d8a4021d441cbf144031cd5faf6f6ad5bf7a0ae9019dd483d80c04155bb9a8a8d657a0a25a6f89d30f561eeb97d05fa76ddc72ab966cc0f4bbe5a1949d8a2d61a0a00337955c55aafa74df07eb51516a349ce807f40381807e403f00a01f16bd7e706be31cae3e261fd74601c903d6197fceb13c75b7c581fcf563c79bcdc5970bae63ddfb6a739b73fadbde3ded3a3402ff2a4edd8916c5972baf93eefc2f7efb91cdde969688b8489172f7831b4fe5b2a87ae1155b34dd229b9279fff77f54764a567fdd1a53af77bce7c668a93c7a9c83479f55f903f9ea92d2f13b1fac9c7ed64a4af2e099178f8797c78dec52be4a87c14be807f4038140403f00a01f968e7e2010d00f807e2010d00f00e807f40381807e00f40381807e00403fa01f0804f403a01f0804f40300fa01fd4020a01f00fd4020a01f0000fd40b8f2a1edddff9fbdf781aab2caf787bb710c02b4a3c2ebc9304f8a4a048a5e1cd1b0d03048c9c8682225d111939441726183c975b8a923395450ea4b576ace9b5074a3252ba9c89848cd1817394cfe199a45375a17efa5b5582bd67d997b59ef705bbd1ffcceecdf9e730ee71ce000e71c3e9ff559673de779f6b39fbdf7b3f77ebe9ffdf7fcc38f67aa99d324f50341fd4092d40f0441fd40fd400eb84c6de4fc45784dfa667924f50341fd4092d40f0441fd40fd40daa16ce62078f5ad534c10ea0782fa8124a91f0882fa81fa81b4cfb357ae85844eebef7c484cc46ff8bc48bb5b4c90d40f04f50349523f1004f503f503d9b379fb2ebca0f8f8f8dededef0f0701cef3d54c664a17e20a81f487294f9f0e399282f151515ac3a0882fa81fac173f9ded92ffd0cfd686e6ec6cbaaadadc5cb9a38e916b51d3549fd400c076161617895563bb5932469976bd6a5a3bc582c16561d0431def543575717aa03e394a9ac193d90f7dc978cb7939595a5de978c624adfb48d8933e63352f4f7427829e2e2e2f02a8fbffd017335493aa5ace4d1d4d4c4aa8320c6bb7e600fbec7f2e88993fdd2ce68ececec542febf2e5cb0683c1cf6038d9789149c441c0c430919d9d8d578917ca5c4d928ed9f8876fa53fbca7a787550741503ffc080b155fd0868b5fb37ef4a8355bcdb3e7e2bd949494d8b57896c4af602a8d15d3376dc32b282d2d6555e8ed686868c0ab9c77d77ce66a9274cc836515b29207eb0d82a07ee8477c7c3c2a85a3274eb27ef41c16ec7fa17fb5a5f0f0bebe3eabf7d5dddd2d92ef654b0d136a4cb870f152a47f5d5d1dab426f476f6f6f707030de263bf448d295f1b4478e1c61bd4110d40ffd28282840a5b079fb2ed68f9ed34d3c71d22d0e2c54d4e0b83ac33ceb425b17936b9479bef53b7fff00a43f841cab421f404e4e0edee68aa414e66d921c88c7dffe00c504625b1f4f4b10c4b8d60fd283cf25983c8769195bf046929393077a657d7d7d5151517093bbe73926d79874e2c7c7c7b31ef40dc01e922e88d7df3dcdec4d920e3a5d39e98b20a81ffe0eb288614979256bc931e73b1f5f90396aadadad4e55dfc449b770e2ca2873de5df391f2e5e5e5ac077d06b08af04ea7dd7a1b4b1349da726bee33282026938933a70982fae1ef50515121e361b8b7f1983376e972bc8bbcbc3cab0e87caca4aabb796929202970f3f9ec9441b35cace0f66b3b9b7b797f5a0cf00e54ba681452f5acc31812469dbe36a30181a1a1a58571004f583f5e753f636e67898b165497925de42484888d5d8fafafafa989818abb7d6d6d61610d03f10bfaaee0c936e1478f6cab5e961b773fb249f446767a774c34242b017822485bb0a0ffa190cec712508ea8701010b1575046a8a57df3ac54a734c78a1ad6b867996dd9a3a2323a37f8f8e9616abf332f77de1e2a54cbd5158517749fc0aa4766c6caceda258840fa0b5b5d56c36e3154f0d9dc6f5e8c8714ea868d96d9ad31e0882fac1096410f0c449b7547f789eb5e7e873c7ee7d48ffa8a8282bf3b4a7a747fa19f2f3f3ad5e597777b7c964c2a58365154cc011150f32a91da9ddd1d1c11ad057d1d5d5959090203653ecd2e56fd47ec2cc4f8ec30500b39f7e56d6000c0e0eaeadad65cd4010d40f4e909a9a8a2a233028e8a58a6a56a3a3dcd8836447e23736365abd148bc522064d5858986dcbb75c9d76eb6d1cb73d720bb62e4b588544868a6b6a6a62f5e7db40112b2929912d56a464a56fda56525e595577e6fdcfaf92a44ff2bdb35f1e3d717257e141c86619b004c01e70bc8c074110d40fffe7dbb969d326a93bf0d53c7be51acdc7d1a1f414a7a5a5d9be94c4c4c41bfe86fafa7a5b07b1b1b1b8b435f71926a3db896faa0c2a0b0909b1957684afa2bbbbbba0a040664410c4b842404040727232ab3b82a07e18348a8b8b0dd75b20264eba25fbe9671bfff02dedc811e51bb59f48addddede6ef52e3a3a3af49a3d2323c3f67d9d3b770e97fcfd03defffc2a13d38dfb25c95a5832a8ccf6d510e3015f7ef9656969e9934f3eb97af5eaf84162f6ecd96682f00684878727262666676757565672915682a07e183a5a5a5a929393c578f2331860486ddebeeb6059058c2ad2ed9c352702e95c58586857cb59b50cd9addc6582f5e265f7323187c3972d35bb8b9e5ffbe88669b7de26096e341a4b4a4ab85a2b4110044110d40f2ea1b1b1313535d5f0b7d190c4c861a0ad79649f691d76170fede8e89039d684bb60369b0f1c3860b5902e411004411004f58373c084aaadad2d2c2cccc8c84820dc845dbb761d3a74e8e0c1835bb66cc9ccccfcfcf3cf6d53bea5a5c5d6ae4d4c4cb4fb9ade7bef3df803dfd6ae5dcbe41d1a9293937372724a4b4b6d97ca25c61ba0c92b2a2ad2d2d2222222f43614084be493e2e2e2cb972f339508822008ea07c2b390979767b769dcf112a2df7efb2d938e208686bebe3e8bc5121313e34a2755585818d42687b711044110d40f84a7d831b2b7832d8a8b8b1ddcf8effffeef4c3d8218026a6a6ac2c3c3a5944d08089cb3243971dba18c5f7f9073e2eaceeaafc19f57fd29b3f4b70fec2c8bbcf7914063a81a7c78e4c811ee2a48100441503f10630cd911dc2ea2a2a2983e04e146f4f6f6666767ff75d2bc69e6fd4f1d865410cde0800fe6979be6c4a881859d9d9d4c4982200882fa811833c8924a038103f409c25d80dd2f9ba81826f827fcacc815e5a03375cf6f82aef745984ca673e7ce313d09822008ea07620cd0d3d3e3783da5bcbc3ca61241b8a5acc96c07a369e6fae25383520e8a5bcb9b6e8fbe5bf619e496bd04411004f5033106b0582c4ed77be5786b821826508812121250a0264f9f0d0d3034f1a0a646cc59922c93aa6520537b7bfbcb2fbfdc48101e80a6a62664487e350882fa81f0652426263a5dfba5bebe9e094510c3417e7e3e8a52903174f32b9f0e473c08b75b2e4d8fe81f07054d22fa81fba8109e86888888f4f4f4f2f272e44fd6000441fd40f80e3a3a3a5cf90c64646430ad0862c8686d6d35180c37faf93db6bf66f8e241f8e4f1e69b274e967d1efff33fffb37f44d3ff658a5dba9c24c79691f3174d0fbbddea23121f1f0f21c105880982fa81f005141717bba21f020202ec6e594d10842b484d4d45395a90f484bbc483f0fea70ec3dbf0f0f0fff99fff813ef13318de3bfb65cbbff790e498f38b6fbadff9f8c2de4365496bd3028382d468d8929212aa0882a07e20bc1b5151512ef6445b2c162617410c011d1d1d30ee0d13fc8739edc1ee4488a933e6a278d6d4d4c89ab00f3f9e49cb95f4345e68eb3a585631efaef96a63f5dada5ad60c0441fd4078259a9b9b5d1fc99a9898e89389d0d7d7c7a5f48911454949094ad0dc65294ef5c0a4d0302b3abd6579c61e789e9696265320fcfd03ce5eb9468395f44c1e7ffb83f07991f24d81e265470441503f10de87bcbcbc414d86ebe8e8f08158e38b555f5f9f9393131515151212a262171616161f1f7fe0c001c82ae60dc28d484eee5f2be9819d654ec5c023fbaa1443cd77462c7fc8e92d9b5ff9b47f4158a3f1c7bfad85507cd4423b95f4e4714dbb8b9e87d095fd49d97c4310d40f8437a1afaf4fb79e5d417171b15747b9bbbbbba8a808969655bc6412aa8e98981876af13ee8214b42dc73e737d605252ce0b9342c3b65b2eb9e238f0fa8e726d6d6dd2d1b1f6d10d3452490f67f587e767986749c30db7312108ea07c26b50575737d8c5f8a2a2a2bc37bed0034a394c9b151d9796fbd8fe9a278f37ebedb86b9e3e12b5f2a7628d017171715c769018267a7a7a9097260404ba2e1eb25ffb3d322172a38beec32297e0118d8d8d322271de5df3699e929ecfb357ae2d5cbc542655b3a62508ea07c23b909e9e3e84f5bc5b5a5abc2ea67d7d7db2f47e7f5b57e49247f65539b6c6724e5cbd37b3505444484808f7be2086039996e0ca4c064564bf50f39daebb9fbb2c058fa8acac14ad72937f006d53d22b78bef53b91101111115d5d5dac2e0882fa81f0f436d180808021e887bcbc3caf8b6c565616427ea39f1fccb241b501dfb168256e34180c9410c468ea07a3696652ce0baebb97bda86b6a6afa3f18a2f3699b92de2321645da6e4e46456170441fd4078251212129454686c6cf48118151515f5b7c806043e5a543d84f53117aede8cdb8383839b9a9a983d8821a0b7b757e4ab8b592ee3d71ff84df07771e6835036a296022b732d1a2e7e4dc394f416d65ff8ca38652af26d6969296b0c82a07e20a81fc61830fac5747b30bf7cc84bec47defb8874aff7f5f53187104380c9644216daf8e2472e0e5e821e185416950500641d1bf63f90dec8972d35d252e31babfc1104f50341fde0c5888b8b43447eb26ec730b7e89a3c7db60f2c3f458c15d2d2d2fa7750d976c895fc16b5f2a7d1abd6bb9e3f337efd81cc40c583bababa701c1814447b94f43a26aded2f26e9e9e9ac310882fa81a07e1833d4d6d6f637684d31391d0a0207f73f75d8818375856fc812fbdced8818022a2a2a907f662eb8c7153db0f1c58f36bff2a9ebfa212e2d179e6fdab4090f4299c571e4fc453446496f1cc5249b4278e32a1d0441fd40503ff8887ec8c8c8402c963eb6cba90516bd6a3d5c3a76136abe136eb829043104747777cb72052e0e61729d3927aeca4261525a65b64ffaa66d3446496fe4862d3b9418260882fa81a07e186df4f6f6060707231699a5bf756c81adfdc5f149a1614ef5037408dc40938c42e02d16cb409df81dd7313a3901c170eaacbdbdbda7a767a40383d47025309e0cd9ebfd8e452bddab1fee5ebf5bb63b94a7e0007f5fb6d4d01225bd91ef7f7ed5cf6080d8e65aae0441fd40503f8c01dadada64f09263f3ebc9e3cd100f8fecab72aa1fd27f755237d4461445454566b3d9f67c67672744d1e8bc174416c170ece6f2e5cbf8d28fc2c64f480da781f170c8bb43aa3eb0b3cc5de221e3d71f1826f8c34f595f58368f334e997aa1ad8b9628e9a55c12bf02d9b8a2a2829f6382a07e20a81f461b32103c2c7289630bec8e452b5766eddffccaa74ef5c3d6f226d94e6e0cf583ec24e039fa411299fac1451c397264384b09db6648a369a63ed8233535b57f88d4b69db44149efe5c1b20aee054110d40f04f5c3d8c062b1f42fbabafc2107161894838c2771453f80922c560fcacfcf4742e5e4e4e08327cdc05d5d5d05050548499c81c9a8affa0a97b0f612ae036ef43e7a5c4a4b4bc3f9e2e2e2c2c2425bfdd0dada2acbf8c05bd5385757572777c1dbcb972fcb49788bbf30eb11365c4a4f4fc7bddddddd0824fe666565298b1fcfaaadad45201313135352522a2b2bedea07e595fe20f88990c01902a0870756ac3c050e6cdf0b920897f43441001030757b4646066e4778f07435324ae98773e7ce21007abae12f4eca31dc1f387020f13a103535d91d8f437e5001530935fac8cece468add3c71f230274264bff67b9990131f1f2fa9245acedf3f803b3f905e4d646059c895eb651304f50341fd30da68686870dcffb0e5d8671302029767ecb9ffa9c3f885631c6c2d6f1a6cff034cdb888888f0f070241d4ce1cececeb0b0309c292d2d2d2929817b3593a1baba5a5a8b61cb4221188dc6b8b838b904c35d2ec11087ed8b6fa7ad7e80112f63e8e14ca671e3110683010631ee82118fbbc492966e0a0409b638ec691cc0b7989818b8c4734d26931a858530cb5ff8003d03dfe0de4a3fc03704152ecbcbcbf1c4a8a8283c08d1c4798444b62497f0c073151ea81138b35d4705a2c26a1aba040c07f01fb7434b207d2057703b2265a51f4416ea3d1ef82b5323604623d991f8500e08276e816d2d2608a2861781a8a9e46d6b6b1b936c89f0482f01f2de900732a5ffeaa4ccd8417c65cf07893bce643ffd2c0d50d2db699e3d1799b9b9b9995f6482a07e20a81f461562a71a4d331dac921979ef23c2394bfadbd171e0a05578a0f90fe6eb502de5d9d9d93061bbbbbbe5af0c4987989196727d5d11d8b8aa3703b7880d2d26269ee274fc120cc78080007d4b0a98ecb1b1b1ca999aea2debd8aace0498e9f82b0116fda0020fc1033fe5afba05363734836acbbf7cf9b21a70af8f5fc22fac7f7dfbd8e4e464f86f1b0ba826a5a9c437913d700fd9a077ec28b5e68a7e803cd0379f821bc4452e21fcaa8b0311c1d3c7306f237911002962512b7fea40b2da5d6d095af7463f3fdc8b772de2e1c7bfed2f31efaef95f7cd34deb93f48d8d20f4ee508220a81f08ea87d1805a7f69cbb1cf9c9a65ae8c5fba37b3d0eefa4b306df593f80b3bb85183d168cccbcbd36f696b6b937147f010f6aed8d038a31cc01476aa1fa43703f6b17a100c6e9ce9eaea12676ac122b1f245c3a89e1931c1f1ba2178ac449784c476fe03ac5578555858a83cd7f583c8126815151e98ec4aa8e88020512aa5a0a0202222c2aa851ec1803f92155dd70f902530a9f5940f0f0f971e0cc836e91881b7a3b05ad440888c8c549d06482e59d1d530c17fe1eacd4e570983cc400e94a55a01a4ad1add21bd521327ddf2ded92f697a923ec0adb9cf204ba3aae1179920a81f08ea87d186ecff00abcba97e80c698141a36b4fd1f60daeadf39d966cefcf790667598c5a9a9a96235c2888c8f8f175358ac7035885fac64a7fa41ba2fcc36802011674a3088ffea6dea463f5eb72e1264f76231c7957e80c10d0b1591924d8e535252ecea07d979c06e786c1be055cf800c37527d3589898986eb888a8a821818947e801b19f7a5433a3af044bc02c80938c6a3212a54cbfd6862e9d2a552b2f0f6a121a11b652c93c0689ab920e9890776963d5a540d410b3eb6bfe6c1fcf2b8b4dc69b3a29533bc32f52a21922593070605bdfeee69da9da46ff0b917cbb90b0441503f10d40f630319b703619073e2ea30d7ba71b0ffb4d5d2402121216aa88c1560bfc6c4c42055a5095c99c2b6fd0f2525254ef5834c99b0bb1784d5324d8ef5831e5abbfd0f7000bbbcbaba5a662deb9d1bba5708338ed5c02da7d20e52010a075241a2808445d2213c4d4d4d92c82248ac12597a5d947ec0e3546090b630c71d3fb7a5a505620fd119687b8d11c5bc79f310dad973ef94bc5453532341426a20ee373804640f949b5e24f1b264b7078a0792fa812008ea0782fac13de8ebeb9336ecb8b4dce188879f57fd69ea8cfef97c6a6eb103fd00c3143a41c90c18c7300d61eb777676c2077d7a800c821753589fff00c0b676aa1f64830bdd4318fa3028f1e841e987a8a8283512c6eefc07a4a1be96a2c81e5d3fc824695141faaaedf8fcab09e256c08d500e696969ca67b91df2404f045bfd204f54132b45224a60f2f3f36194aba599202d90aa88118e232222f48922034dcc1869203c08edf9d6ef5624a54811832450ab544138218e4893f8f878e93c41cac3415e5e5e7d7dbd2e5c11b5828202e9c89a1e76fb3b1f5fa0c549523f100441fd40503fb807e7ce9d43446ef4f35b57f8c690f543f4aaf5b29c916de783ad7e8039181c1c0cbb199a01762dee52d3a965a52698bc3007f16934994cf056cc47e94c8000c055e80abbeb2ffdf8b7f14530ac656621dcc30a872989bbf0ab14cea0f4037c803d5d575727ab272941a2f403840d4cd5f2f272dc8833888efc551a0636ae34a52352b8047ff057263f1c397264a0578308ea8201690beb1f1673dd75a4a6a64afa489aab4486b68133681e0815480204067f453f40a1e116a4302ec15b78854b124de942817b15cd31d9cd5a8a9558487b0f954d9c744bfffc078301916d68687065b54a483535960c78f8f14ca8119a9b24f5034110d40f04f5833b21b38a87bc69d74fd6ed90c5c89b9a9aecfa0f73dfca188524c8c8c8807280099b9d9dad8618c9060e307063626260e8435420b5d5b025880a0803dc057b1df6f740036c60dfeb838e60a0e32fcc6bdcab82014b1a27d5daa938b0fd2b13007080a02289643e86defc8f4b6a5d54d8ac0833dc203ab0c8f17425991011d9cb423a7c101e6827c4029a44f7cd16502070a34bb2e6e66658d2b8173e209a4837f82cd342f4448633281644198e11175c92c5a0a4b70721941446bcd422ad0818c229edfa4828513b63ab1f649dfbf44ddbfcfd03e47c484808628488234b20abb4ff0d9016482bc44be66f0862972eafaa3b434393a47e200882fa81a07e1811c81c53c304ff9559fb5d570edb2d97e62e4b9116e2b1b23847e175f3233d56fa41a988dc3dcf85cf8bbcc10518a74c7df8f1ccea0fcfd3c424a91f0882a07e20a81f46107d7d7db2efafec28f7c8be2aa7131eee7feab06cd1151c1caccf6ca67e20dcab1f144f365e84d994be69dbb2845533ccb3a687dd2e5cb878e99a75e9bb0a0fbe51fb09b77720a91f0882a07e20a81f460fd5d5d56ae0b8694eccddeb77af2f3ea52fcdf4e4f1e6d43dbf5990f4842807d9a26bac362a1e1da4a7a7eb5bb61163a81f4892a47e2008ea0782fac1e3d0dddd5d5454a45484604240a0120c0a313131b65b3d1004f50349523f1004f503418c23fd20e8e9e9a9a9a9c9caca8a8888904530ff3ab8fcfafa3f858585fa566e0441fd3056bcd0d675fced0ff61e2adb5578f06059c5fb9f5f659a503f100441fdd0bf50cce5cb9761a7b6b4b4e87bca12d40fa386eeee6ee43d5756cf2408ea87d1e117df74e7ee794e96b8d571cf7dc90d17bff6d860bf77f6cbb48c2d7c7dd40f0441fde07eb4b6b6969494242626ea4dbf0283c110171757545434d05a9904f50341503ff83c1357a7f66fba322ff26059058cf2f73fbffa46ed2730cd65cbbcb357ae7966b063972e47f0f8faa81f0882fac19da8adad8d8989d105c3cd13274f9d31372c7249a8f9cee02926fd527878b8c56261ab30f50341503f8c2bee3d54265d0db6eb4dedd8bd0f97b29f7e96fa81fa812008dfd70fcdcdcd4a39403344defbc8033bcbb25ffbbded8afb6b7f713c7ad57aa525a022d4e65004f50341503ff83c6182dfe41f60779c12148579f6dc8ddb76ea670e9655ac7d74c3b2845538ffcec717d4a5ea0fcf43699cbd72eda58a6a388020d99afb8c95b78d7ff8169a2471752a8803bd670377ed2e7afebdb35fe25ef08dda4fe471c5472d69195bf0b8a4b569f05f798863847ce2a45b7070fced0fe4243c842770b92229c5f6e924f50341503f0c88f2f27283c180ea20d0187a6f66a1be62a6e305f88da699f2c52d28286047c4e8eb0793c9642608c24da07e7085557567904ab0b65d717cbef5bb858b97c27de4fc4510005343a7f9190cb03e753314e771120e64933eb8816650cfc25f68158801a80b1ce0efc9c68b72159a017f2157fefa19daff021e17bd68b13c0eeead3c8c5dba1ce2019ee040c200ed014581a7e30c6214181404befeee69be65ea0782a07e7002d9fa175890f4842bcac14a45dcbd7ef78d7e7eb81d766d4f4f0f73c368ea078220dc0e5a87aed88eb97b9e73c5f1c38f67c271f1518b5aaf6949fc0ad8eb30dc9557d36ebd4d4982eca79fc5995d8507a5276186799671ca54d5650167f80b55a0f4830ca3823c808767af5c43a87046e91370f3f65dfa19abf14b9019100cd27101d65ff80a57111e84932f9afa8120a81f06445e5e9eacafffc0ceb24129079d8f1655071a43e14f4a4a0a7b21a81f0882fac1872926be6ea383bf3c7c54061129c2a63fdffa9d34f6db765f6ccd7d4699a1a216d4fa483893be691b8e5fb6d4d80a15995f215d04a21f94f50fbefad629b8d76765c8e3d47c0c5d3f547f785e3dcbca32568287a47e2008ea076b949696a20ab8d1cf0f0260c8e241b8f1c58f82ae4b88acac2c668811457171316a6d1a790441fd308693a7adcc7a31e575c88a4c38885eb418e6bb2294034e2e4b58a5cc50e8047db204cec0372515d6ac4bd76f4f5a9b264395d4436de77043ba1c3d71126ea00d6408935dfd204f5f9194a2fb2f1d261e3bff7bbce987aeaeae9a9a1a7cf5605a6cba8e9c9c1c982e0d0d0dbdbdbdb40708ea8731404b4b8bc160807858f3f491618a07d50b71534020ea149476e68991463b4110ee06f5832b3cfef60762d60fe440cc7ae80771699c321526bb1521039419aaa6320b957e90a147d36ebdcdf6f6dd45cfab07e9f7365cfcfa9efb92e53d06060541ba40420ca41fa423656ae8345bfff5f9dfe4e8eb87cececea2a2a2b8b838073a3f3838382525a5a2a2824282a07e185548c95c9492e516f1204cf859914cea65792608c2fbaa72ea07d7f69c862480753ed0260f4a3f48ff03648063337420fda00f5572f020fd8c88070803356502b73bee7f2829afe43bf51cfd00e5909797a7f69e324cf0bf3dfa6e182a2bb3f6dfffd461f0deccc205494f4c9b15adaf23525a5a4aab83a07e180dd4d5d5c96a4b839d30ed94a1e63be1330a33b3054110d40f3e49b1ec5724a5d88e1d82ba900597a01f707c937fc0bcbbe6eb0eaa3f3c0f077b0f9539d50fafbe754acd94d0275a2c4b58555577c6ae7e90e152b6a3adecea07680cdb8e94e2a39625f12bf068bee5d1d70f168b253838588ae1ecc5abd6fee2f876cba5818c8dade54d90136272c852f22d2d2dacc408ea8791454a4a0acadbf28c3dae4802688cf5c5a79e3cdeec8a631478f81c1111c16c411004f5834f12b20146bcec3f0d83febdb35f365cfc1ae669709484000080004944415478ee9ee7a6864e93f3d23bb171db4e99a32c2b1ac199acaf2abd0a8ef5039e027ffc0c06359bf98dda4f028382a6dd7a9b786eab1fa463a4fec257aaf3016794876a095704557c9058200a4a5120fcf081bb408cb27ee8ededcdcaca920278c7a29530395c6fb57c30bf7cea8cfe357c030202cacbcb598f11d40f23859e9e1e99f9e08a2440c9bc79e2e4e911b1f88d4bcb75654557d95a8e2d010441503ff8b084d89afb0c4c6dab51e9b23b9b5aff140732e3192e65d739e80199bde0543fc882ad6a0f07dc2eb329d488265bfd002500fff194858b979a67cfc501240d7eefb92f599ff300c8040ca567649206ee45f85faaa8e6fb1d4dfdd0d7d7979898080f6f0a08bcffa9c34318f89073e26af4aaf5f2668b8b8b599511d40f2382dada5a94314802a7651202c33f68d223fbaa70bce5d8677e13fc37bef891d3bba256feb47f5069490973064110d40f3eccf3addf959457c228dfb86d277e8f9e386977e784376a3f811d0f07500eef7f7e555fad1596a855633fcee8731e20545eb6d4c8e248b8a44fba8033ab6564657c943cab60ff0be2336e3f5856a11ce0efaec28308aabeeaabf8bff750197b1e465f3fa4a7a7c3b72063e8a0ba1d6c9994f382ec4665b158589b11d40fee07d4b98b33a7ef7fea7058e412f51712c2c16044c59559fbb932344110d40f2449fde018070e1c909e87618a077d111783c1d0d8d8c80a8da07e703364f780c46d879c16c505494f44af5a0fa56134cd34cd8971719b8847f655c976d4cc190441503f9024f5835d5cbe7c19b63ebc5a57f886bb1671897d285b266172452682fa6144f4832ba30c23ef7d644240e0d2c7766d7ee5d3e5197b709c59fa5ba7773db6bf7fd3d0d8d858e60c8220a81f4892fac12e642997e855ebddb808e4cfabfe24d3a9b90e2441fd3096fa61daac68f5d73427c695259bd8ff401004f50349523f38c0e5cb97e1897fd0a4ecd77eefde75e41fccef0f5e5858585f5f1fab3582fac16dc8cbcb43d1ba7bfd6ea785106e6e8fbe5bfdbd63d14a57ee92a23b75ead40482f072a4a5a5e5e4e41c3870a0a1a181bde1d40f2449ba4b3f8829b220e909a746c5e6573e8d4bcb557465a6c4e4e9b3e1797d7d3dab3582fac16d282fef2ff97396243b2d8119bffe604240a0acb9b4e5d867fe41935c29b728de371084cf213838187282d3f2a81f4892fa61f8fa213c3c1c9e3cb6bfc695a55c26858645defb88d095a9984b1fdbd5bf6f607636ab3582fac16d686d6d95cda75d5ccde0e68993ef58b4d2c5fd1fc0b0c825f0ffa95d7b8fbffd01497a354bca2b0bf6bfb071dbce7977cd574222252585db9b503f9024f5c390cb5a6767a70c5e72c5a858b87ab32b2b46dacec38c8a8a62b546503fb813a2fb53f7fcc69572f8e4f1e647f6556d39f6992b8e37bff269ff5a6cfe01e75bbf63254bfa12eb2f7c95fdf4b31327dd22eb0372a353ea07af60d2da34d92bcd96b14b976fd8b243cc411c3b60f587e71b2e7e2dc75b739fb1eb5bfaa66dca433077cf73f8ebca760acae78108af4639d1100b3cd775f7557567a81f068573e7cec107d39c18171b2513b71dbaffa9c3a02bfbde82db2d97a4a266b546503fb813b205c4cc05f7b877d292b413a8ad3d49d2f7d8f8876fd332b688a1999d9dcdf979d40f1ecee961b783762ff52f9477dd4ab6d20fb28db4957e78fff3ab923e814141b69bc4415dfb5d5f885399ddb239b4be5b9c8bfa616ae8b4fe3579162d1e43fd2089e0a2e3c4d5a983121bd40f40656565ff2aabcb1f72c5aef00f9a3429342c6ae54fa747c4061a435d590752eee2b05bc28d801c359bcdf1f1f1e9e9e9c8c05d5d5de3513f7477771b8d46f72eba0ca2541b26f8c35b7c6c6868923ecc836515fefe01c8ea59595934bba91fbc5d3fb8725ef4c30cf32cfcbe54516d757577d1f3375d2f1143d00f561cf28d63a51f90bcd40f8385c562810f91f73ee2ca7aac89db0ea96e87d98b57b9327b1384e4a0c94b8ca89c18fe60e61bbcf14b295d1028605bcb9bdcb5e8f2f48858f889da9ff625e9f37cfdddd3814141c8f01cc844fd307ef4c3c66d3ba113d6ac4bb7baba70f1d2c4d5a9a3a01fceb77e87a277fced0fac46469dbd724d6eb9d0d685ab70a33a491afff02dce54d59df9e29b6e3d3ab80507d51f9eb7f5cd563fe05ef8203eabd1b938097fa6dd7a5bf4a2c5ca43154e994385a7533fd8a2b6b6163e400c0cd6d28096309a66bae2f2463f3f3c427fe924391ca24a413147a12ed8ffc292f815d2e30a6464647476768e23fdd0d7d71713138398c3e8df6eb9347cfd306749327c434daad7a124e9dbbd10d208c1e9d4d40fe3443f643ffdec8aa414ab214cf517be924e8991d60f3b76ef935e0e01648c32e511300983cc50928fd1c9c68b7b0f95a95bc2e7452a9d205a08b247f986e72adfacf4c3eea2e795b732c10f8f5369a2202761b06ed8b243d9163848cbd8e26356ecf0f543737373ff3aef33e6ba32aec1342726e7c455f9fb93753bee58b4d2e95d5bcb9b64181ebf53e40811b62eea101989101616862c3d5ef4c38fd71740309bcdd206301c09f1f3aa3f2d487a42c6c5bef3f105e62a72fc10d507774ba47ef070fd3035749adde5c586a61f4427e8439872f73c278a6244f503c48368067c65de3bfbe5aec28330cd216674fd007b11e7abeacec0e2170981b843e7e34cfaa66d38b379fb2e1547dc0efd008d01d920b7abce735d3f9494f78fd4c7836412c8cb961af3ecfeed8ddfa8fd44fa3af0887977cdc7818459e647e171f019e1dc9afb0cfe3efc7826f5838e9e9e1e83c170a39f9f53db0306864c7ed8fccaa70fe697df3c71b22be3ae651faaf136ae8c1c938555a4ba080e0eaea9a9192ffae1c7eb6bb99a4c266906c8f8f50743100f50f9b260ab9f9fe1f5774f333391e3ad05421a26b92f04f583c7ea0707437887a01f6034432de84398603d8be53d72fa0105ed26ff80e8458b6dd53bec78a51ff499d6b2e6f2ab6f9d52638d106c153c111b7a6f79d2dab4fe1dc72e7c65a51ff014a4a1bea260f1d1feb1fbb0a16de73f20d8baaaf19c191d1eb8ff434242023c796067992beb3ace5d96022b05c6868beb46426fc073684e7ea4c89126ea96871fcf140931d85e881bbcfa930909111515d5df271b10189796ebfa4ef23927aede9b5978f3c4c9fdf223741ac503393e0993054520393999f637f58367ea07e394a930f86c3934fd806388073584e9bdb35f2a337de4f483747a6ccd7d06e715c58e17cd20fa415fba4334806ef7eb86be7465d83e4254c140f3a76128bcf3f185cddbfbf726db5578d0d6dbbd87cae4921e4e39895fea071d478e1c19a1752061c64c080884e7271b2ff20b458e0e45428485850d6a2ec40ddefed5ece9e9414520df4effc0493f59b7c3715fc4e6573e5d9eb127d0182ab72c895fe1ca22df24e9936cfcc3b72805010101284734c1a91f7c7efe8332b56508d38eddfba04f647cffc8e90731c1ed428606897ed0efb2d50056fa41e2a22803bae4a4d5bd88e98aa41419b6242375f5db756f25187661f538ea87eeeeeee0e06017b7a01e14e3d272c532e1e7891ccd5e08a93706552e6ef08d6fe73ffee33fea955df01453e4bd8f4027c8a62de0bd99850b929e983c7db67233efaef9b60bf991e478a3ccc2acadada5094efd301ef4833e840956755ac616db1bddab1f7e79f8a80c47b19dc5216dcceed20fd2aba0df2bf32e669867a56fda06bb59d66b72ac1f0af6bf601b4e8e5fb245515111fc0935dff9f3aa3fb94b3c6c7ee553e97c409af3db448e2651c6653ab5eb4baaf8887e909680b2dfbc83ea5b76f019081327dd92b4368dca8124853245b2b0b0902638f5c378d00f6a08d31bb59fe0a41abc3a72fae1e88993b6c3d9eb2f7c85cf90b81c827eb09aa52053aef120fdde2fbee9bec93f0037ea0b28c9b829bbfa41d66483dab14aba972d35bed44bef2efdd0d3d3238bb82c487ac22de261bbe5d2b459d1f03071752a3f4ce4e873c3961dc87ea9a9a9e3483f74747420cec62953552a54d59d29d8ff02d202b5b9307dd336d4b0f854704165921c89af2941fde02dfa410cfae8458ba7dd7a9bdd1bddab1f2eb4754d0d9d862f946e85cb8c6798e643d30f10066ac1c0f3addf9967cf85ff32a943dd7bf6cab5fe6dcee62fd24322fd8dba7ec0bdfa3cef19e659fa1e114be257c03d3ea9acf16cd1d4d41410d0df647bf7faddc3df84eaf6e8bbe1155e874f6ebb417a3e5141f919fad1dddd3d5ef4435b5b5bff5e10037c6648927440b1a51213136982533f8c13fd00b318d6b6eca2e0403f405d48001461f40f413f80d009f8304345ecd8bdaf60ff0bf7dc97ac37330f413f040605210ae25bf8bc48782e52c4ea5e394edfb4ed605985b89489106a29d86509abf017bfd2ed2043adf0acdc3dcfed2e7a5ec4861ae245fd608b9a9a1ac3f5ed32e2d272873c90e9c9e3cd3317dc23abb9bc77f64b7e95c8b1a2b4175456568e17fdd0d8d8c8c59249726894f1d0dc0582fac103097b7d20931d15fe862d3b5c3cdf70f16b9c578b96cac4009cd1f7fcd16f84f58cbfb6b4fbc496bf5fd00cceec8ef679fdddd3900da25b60c7c3a5ea0c47c0aceec283acbe684807f574d9ed013e40e14048e093af567ab5ba177eae59973e71d22d10187828627da1ad6b45528a9204d51f9e8748806050e20a5ec143b92572fe22a80ef6b83a467979b94888dba3efde72ecb3c18a87c7f6d7044f31c9180a5feae721bd913212d2c5d241fd4092d40fd40fd40fa4d750df2d8ef484119b0d0d0db21b956182ffc2d59bb79637b9a21cd6179f9abd7895945ca838d9be8324bdc51ea07e2049d617d40fd40f24f503f5c3d0d1d9d999969626c5102a62eeb294fb9f3a6c574864fcfa83bbd7ef96bd6b652acbe6edbb383393f404ca9638e1e1e1d40f2449523f503f90d40fe468ac18d1d2d2929a9aaa2ff978f3c4c9a63931500b60a8f94e599e5529870d5b7670072ad27378bef53bd98b9afa812449ea07ea07d2a798fdf4b35c82dc33f583a0bdbdbdbcbc3c2525455696b7c2d4d069907fc5472d67af5ce3eb203db07902a07e204992fa81fa8124c9d1d30fb60553b6e1abaa3b43cd40523f503f9024f583a7a0b6b6363f3fdf8d1ec237efda939bfa81243d563f30d949ea07ea0792a47ef03814151599cd66377a08dfe027f50349523fb06092d40fd40f2449523f503f9023cea3274ea66fda9696b105074c0dea0792a47ea07e2049ea078fd60f972f5f2e2c2c8489505252d2d9d9a9bbacafafcfcfcfc7a582828296961675beafafafa6a62627270737b6b7b7533f90c3e1c66d3bf13a6698674dbbf5361c6ccd7d866942fd4092d40fd40f2449fde0a1fac162b1180c06c4282f2f2f2a2aca6834363737cba58c8c8ce0e0e0f4f474b90467a83de4124e060404646767c3b0080b0bc35dd40fe4d078b2f122dec59a75e938fee29beee8458bfd0c064e9ca57e2049ea07ea0792a47ef044fdd0d9d909190079a07a151035d90de7f2e5cb88694d4d8d5ceaeded0d0909c9c9c9f9f1faf6b1b8545f5faf1408fe523f9043e34b15d57817bb8b9e97bf1bb6ecc0dff73fbfca94a17e2049ea07ea0792a47ef038fd505ddd6fbab5b7b7ab4b7246862a41334051e0a0a7a7a7a9a929222242cc08a888b0b030dd43f63f904366fd85affc0c86e961b79f6ffdaee1e2d73898619ec564a17e2049ea07ea0792a47ef044fd8003abba0f3a0167649cd2b973e75253534d2613cec820253123d2d2d2e2e3e3f5bba2a2a2a81fc82133fbe967f13aa2172d364e993a3574da3b1f5f609a503f9024f503f50349523f78a27e282d2d4574babbbbf509d338d3dcdc0c2161301820156a6b6b3b3a3a7029363656cc08fc464444e81e72fe34391cbefeeee99bfc03640a75fd85af9820d40f2449fd40fd4092d40f1eaa1fa013101d7debb7c2c2c2e0e0e0dede5ee99ac0819c87c6c07931232a2a2a202dd44a4d50179cff400e999bb7efc2bb089f1709f18083e2a3169c3cdffa1dc8c4a17e2049ea07ea0792a47ef02cfd002426269a4ca6bababaf6f6f6d2d25208035102322bfac8912338dfd4d48428070404c0b14c87c0edb1b1b1901fe7ce9dc301f5033934ee2a3c881791b83af5425bd73b1f5f080c0a0271b063f73e3f8301c58d4944fd4092d40fd40f24e90bfa61dbb66d5e5d094027a8090c1003d9d9d9c1c1c1881754012ec9f9bebebe9c9c1ca3d1d8df361c1e5e5e5e5e525202a9a0fa1c525353213670e3810307e09bba91fa81749d5343a74d9c740bc483fc2d29af94514ce04dfe01ec82a07e2049ea07ea0792f47a1695fcdf283e9999993f12de0c9a299ef3f58d5eb4583fb335f719793b1bb6ec60fa503f9024f503f503497a31cf5eb996be699b9f9f1f8acf534f3d45139cfa811c3ea7dd7adb4dfe01fa6e0fef7c7cc1cf60c0db417163fa503f9024f503f503497a25bff8a67befa1b289936e41c131180cd9d9d9fffddfff4d139cfa811c3e51b2a40ba2aaee4cc3c5af61ad1aa74c0d0c0a92b9d41bb7ed44e9632a8d37fd805cc1f74e523f503f90a417f3d5b74e85cf8b943a223131f1f2e5cb34bea91f4837726bee33d2e120807278a3f6136809f3ecb910eddc887a5ce907d4b1920d50eba2ee65fa93d40fd40f24e9657cefec9789ab53fffa310b0fd717397580bebebe8686868c8c8c9c9c1c9ae9d40fa42bacbff0d5c1b20a98aa301955c3f3d92bd7aaeace3071c6957e0050d3a2befd6b93cdea54d4c37c0b24f503f503497a01cfb77eb735f719ffeb1b5a050707171717ab6d101ca0a5a5253f3f3f2c2c4c2a94d1fce212d40f24e9c9faa1babafac891235d5d5dae38467d8b5a571685433dbc79fb2eaec445523f503f8c38dfa8fde4ec956b6ef430696ddaeea2e74722a81bb7ed046dcfe3710b172fb53dfffee757ab3f3c3f72498798da0d8fce938d17c76a44c117df74ab1e6da7412d29af9c1e76fbd0be975343a7290da076491b081d1d1d25252531313137fc3da81fa81f4892fa4120fb511a0c86d4d4d49a9a1a575a6450f7e2b95254512723247c1d24f503f5c308f6832376ee357073f73cf75245f54884f697878f82b6e7b39f7ed6aeed7b937fc088d6a1c8156b1fdde0d8cd186eeab463f73e956ff152ec269dd5676fb0ca337ad162a90ee2e2e29a9a9a1c94a39e9e9ecacacac4c4448336749bfa81fa8124a91f06d20f0a46a3312b2bebdcb9734e6f443d8cda58ee42fd8c5a9a2f85a47ea07e703fa11cdcae1f469f03e907446dccf503c23056fa01c9e27abe1d947e68b8f8f59a75e95211984c260803a7d31ba46fdd01a81fa81f4892fac1ae7e50080f0fc7a5b6b636c7b7a34e5643435157a3c6e6ab21a91f7c4a3fbcfad6a97977cd87ff814141b04465261cacf9154929b2c246e4fc45aafd60e1e2a5a89ba4c517ee611daa612a9bb7ef92e532679867bd6ca991213d496bd34059d44fea3518d9f80b97708fbbea2f7c35edd6db7006bf32e208cfc21371e626ff00543a8ec75022c0fa8ae3afbf7b1a4f6ffcc3b7faf8a5972aaa6561410458d6163cd97811c1c0af38c0539625ac52f3ff70c9c188237dfc921a368304c1136df50392abbfd966ca54b905a98a0749aa2e895fa102801b8b8f5accb3e7e23c8e91023b76ef4368e1126f41f679855738296f0a1eee3d5466ab1f72f73c27c92b4112ffe50cc22961c0493c1a67e0390283f4779c3d70fbaec28392807847aa57071f83c4d5a908a4246c5ac616c9394887adb9cf84cf8b84ff08335e34de233cc183f4f14b08aabc773da82eea072488a40f1c070404141616f6f4f4b832bdc129a81fa81f4892fac1b17e50888f8f2f2f2f773041023533ea67d4d2f29940bdadb62d1f540ba3fa560e8dc7dffe6008cf1d5be20b3bcc91cf631eebe14781fac1a3f5038a25cc3b5875b0b9abeacec0a413b31ef61f8c3fbc7be480871fcf44c99715156008c2783d585681228dba00a182c98ef3b80b16ead11327617fc33484edf8cec717a02ec402867b382b29afc4df5f1e3e0a49001319ee6168e259b824fee05e3c05cf826f080fc206cb5259f67609b31be1571a034115f7482bd1365047f0bc60ff0bb23008ec60d9211531c54931466fba3ee9565a4710545c72ac58c45e87cf880eec7859011dc7b6fa418666c1fe4674f0203cfd9efb921147fc4550f12009b9c80678884bd04e4801481a441f320cde228e92f238c683906208248e45a429fd204901fb1e31c58b83d2c0b354f70eaee2a1b8846487e70818828d578317ed78d16ea9f7f166117e4444de2cce239df176700c3fe139cee3fd4a78244721a8b88ad4863384014f5141451e809f88af7a2990222eea073c45c40c909696d6dede6e770caedde90dd40fd40f2449fde02efd20803c484d4dadadad1d6882046a69d4d5e2181f32f9520caa13db691fbb537bd1eb0638e0250ed3e4733dd6f8828fc47c51a75180f934d8cc40fde041fa01963a2c48f51726296c3bfc2a7b5a689e3d575a8e51f8f5f6fe89936e91c13910157afe83b480098b620f7fd4c4680812bd1680f90e231266a53e7e099eebe18171894b0eda1e60d4220cb0a7e5181e8ab5adf4030ec43615c225ac5bb84ccbd822e635ac58c40e26a9dc08db1a96bd2bfa01de8a0f4aba381ebf241a43a58684562ec10d44974a16fc558a08619388c073844d9f36ad94928407024ca2603b9e4a8d5f82e7482ed52681c0e092e81007250d324ffd8518900c80922f42427553e0a54b78f437a88f5f52414560f45a039950dc38d60f789cf49c005151512814b60b805456562627270f34bdc129c2c3c337119e0aea87714b5459b21045e31fbe656a789a7e50080909c9cece1e6882046a6cd4dbe21215befef91869fd200d58def51261030c73c497ebfa01c9abc6928ca67ec0d53199614ffde01ec20286256a5b5ca7864eb35ae4479e2ea35974ab11af5f0480ed087bab2901d2420f7f84321407f7eafa01e7f168e546c6ffe866b12da10460568a8656c6b1d20fd36ebdcdf6a11024900da25e60bcc207941f1981031f1cef80a3f40324876e58c33477ac1ff0204817151269a7171ff4391232264a2f604a3fe8290f635d1ea78f5f42bca043203322e72fd2fb43d4db814b44d02a0c62f73b2869fa4c74c824c909482b080fa8ca15492932444a09365de7d8d50f204c010415f94ac6aa39d50fd2a9259fa8f2f2f2bebe3ebd80343434e063e9747a03e103186f56e0487cd75d1c7b30d0a429a9b18766d2c14fab178ada237c5ee4862d3bec8ea57cefec97a82564b0a20075b83418592514207dcbb64bc019a74c1d7280bd37e73cf0c00396e121353575c80d31762748a0de46ed8d3a5c06d0e29beb8a204411485c9d9abe691b3e13fa2df888e05b8393cb1256a901bdc8307212b7a8ad48f0eae52ee46af880abc8548e050c6ec1070e3e83ca24405ec2e712f6067cc0a750d9f77810be8338b9bbe8797caaa4c5138e710cc7f0c1b10d234db730c6e003a229debefeee696955c40162275f528988ac4a8200483ba3b894938897da7c43995570862f35aee211b6e68d0cf046b192d54d708b7ce5e1956aba85ff08a1d8818823dcc8b15a10050e4aca2be524822a6a4dd70fb85d9208bf1206dc0b5307369e1818eac5e177a4f70fa17e700f91b95dd40fd2d62e826168fa412651c1bd4ee46c2bfd20532c743ace4c28baa88950e41042d537a2cc6e4404f5889587702ccdff0833ec57e47b7c905084f017271d0f19d4f5032481be2e9363fd80020c3163151219fd65a51f747f74fda0f7f0a8b45546b97c3390089019474f9c44d8ecea07f3ecb95661703c42d1aa83023e483ec42fbecaa88ba52302cf52fa41ff4edbd50fb845051501435065e95b07fa414d954e4848686d6dd5c7d742390cb9c381a07ea07eb02b1e264eba65a0470f5f3fa0f2948a14843d2153bff044abbde7a44246f58e0f102a0d2408148288015408aa4559e907bb434f6508eb38d40f6a43b73184dd0912dddddd7979795269e3a5cb4062c7fa41bae8f1a9c2d73c7ad1629c84192df72237ca805ef990418bc2254ee27309076a8430cee0cb8e9c06e3181f2c7c7a601b38985d2913f3e027ac5b6439f952e3238e93c8a5380fdb498636c0670989044fad76888fa3ac3d851c88efa383b50761a6e311f86ae34035e92ae35b462e2011c45c814b4805f88963b140c4018c1f584a5b739f4129101b4637ab50ca103cc818c4daca54936999281d78fad92bd764103b92080988678998810f8802924246a1e3d1727c937f80680c384022e0246e44acd57c578902524f45102194765e1c43b4e05908009e8280218ed2b08863f72ee84ffd3022fa01af591f6d822c8e9ce178fc92ad7ec0016a79bd16803988cc67a51fe0b3de328d4c2cf31f74fd80b28d67e9391bcf753ac757aa0c646bf5f9d1c72fa1e4e8cb7d22bf4ae942514709971156882c0e506ef5103ad60f6a049110a5d7b17e40daa2b0a9b613441c519389e92eea077d6015022ff152463912419782fa782aa51f904aaa4a955101088353fda0c656c94b9460eb8a51c498ebfa01d6833e0a0e7191a03ad00f482ed4f832411f1f9efcfc7c7c84540191fd1c54e73841fd40fd30fc35f146e2d1a21f6c4d799880220054f38d9865a0d5ea9fa8aea55f5ad54b9250d2b72c769e4ed484e3b3ffc113f4839a20919e9e6eb52d4f4b4b8bd16814078efbfc910ff5054e640e9eccbb53437d603648af9498a1f29d853311996260e029c809bab5e36080106e51190faa550c03e45ed59a090b473e6d3063948d815049bba40aa7cadebaa1d562b30ab99a6488908b2da4eb07752f3e82c8e76a0c823c170e5070949c4652c8f06089358c227d8ea874e60c347e092a5d0f27c48c1a96ac8a1b02a08642c0b19af7a8164791e8203c2a0a900aca5ab06a2f16cb079eebdb67e1bc535549fde029f3a7917564262bcc38640299e98bd7297a14463672835accc7ae7e90f9d3526c50aed4fc69dd149646026450b8410e53b366253f49a718ee12252da50861703ac1570a1562a1e77b65762373abf9d3f01c454bd544121e69cc90920097563de30ef483d8d00836822a425c451669a81a1ba4915eea3b14723c5de64f238e485529452eea078416c1c3bd48431ccb975219e5f019c63d9e22e5561fbf846304096f509a1591eca2f8a137103cc73dc8b2dc1324259c21248826c20f45073fa566117ff4f14b56fa01190315373295ba84d70a22a838297171aa1f84080312530d64aaa8a8b01ac8846f525e5e9ec9641a726b9985f0548c73fd80f22b060d0e50bdd8ed98850369a7b7bbe27ef587e77109f75a35f38bcfa837508fc126c35ffc8ac12d55baed6c049c57631b702cf5188a393cc7bd0eda0e07d20ff21191d526544d8bbf76a757a21e40a584ba481e240925eb79580d614250e1121282fac1a3ba206a6a6a54f0f03d72bcca228a80bef1a83484cbc01be9bcc28755edb3844f957ccaf189515f61315807352319b7e81d5c72233e7cc860d20920e3a26d270fe03c32b998073816ca3a8d0e1e0711023f65e914299eba7e50c1b67b6c152fa4898447c55abeb0423c456fa2b5d20f4867844139963539ad262ad83dd64fa2d0592538521296124c14a483bc1d2bfd80a7583dd7ee5844ea078f5bbf15aa57dea8be0a27ca895abf55dfff056552afd0d55f694d9751aafafaad565b32a33ccbaa9d524e54ad8167a979ba2a3ca811f4454e1d9b95c873ba60d5d76f558bc6e2a17a552577a9d1ff283f08b9e38acc6afd56d45f121d1448f8a3228b03e5466c6e99a1216ba7aa5571555399be24050ef4445311811b1c4bcae8eed5a2a8d21b28e986f4c42b905553a5f944c600880d21ad772eeeec0367d295d1ff419a17a95a1190dad2aa871a2177cf730883b4d0586d320de124953b0ed4258441bd62541cb2a4124c0117f79fc6ed280b1285989818dbe97a1015f5f5f5191919b26e20d75fe2fa4b3ea01f5052503ac4c816a050ab5a0ec547150a55c3a8a601546bf878eb57f157d575e2b31a22a8b67217d80e4cb51abf24cb73aba7cba094812a1607fa413a8195c181eada6a18ad4ed469fad214728c9acd6a0813aa6869de1e87fae1eebbef1ee68a054358c24ec16c36171616da4e81b87cf9726262e25fa749681f14d7e74f2377e1d3093b0139e46059857ce35453a6e46a486b7c91f17d81336549c3b16abc17b9ebb8ff41151f685a19bf2d9dfcf80049239d3459222beac19386547ceff4c5639caea30a07f0134182898208ea8df7aee807d50c2ae687082789b58cbfd21fe460fe34124d5f15463976453f28030c892f71572144ad854fbcacb828c5dc4a3fa46fdaa68f9e18e96567a91fc8f14535c160f4572a189315125c59724e6d76919e9e6e7721d79e9e1e8bc5a23e57d40fd40f5ead1fa475467af360a04b9fa4d84f5b739fd15beb658a911a25089b002ef1811733459a2495a1009ff117760fce439054d59d9135b56118c9a871a7fa417c83cd04c7e2b96ea8b9a81fc434145b47cc2f7de8a96db3978aa0d20f309bac86304114c9fad1e3503f8cfefa4b8ef7a8eeeaeacacece96690fb285918b6b224927b658f3881aee95c5c4a19055b79b2c6e0ef100cd20edf7f0dc3c7bae8c71522bb5a841ceb062213f1c8cdd951e2d1124d009323f1b9e4bdb283c870297d62e6469e45b69e8947227a2084555155e35c7cf2e65faa5143435dc6850fa418d95c22f6e57e31a702043aad4582f045b0642e3bc126f281ad27a8bb283db25591006844a22ee8a7e4004250a88ac3498aa10a220abfe04d430ba7e90fe46a4aada24002f1aafdbe98c73ea07ea0797888c2e85df9623a453077adc18eea03972fa41d646b44bd4201eab1f5afeb6919cfff5ed3b6423b9811620efe8e8282e2e763a4182fa81fac1c3f5833e521c9f5e65ac24ad4d53e379d4775a6c1db1c5ad96a596f67b317ac467fd83ed78fe83ad7eb05a7642fa3a86a01fa445c0a933b5b4b7f4792afd00cb038694b254645e968c8ca57e1851fd0055909a9a5a535363b706eeebeb3b72e488cc7690f1c9839a1d8b7c087b14b62ca420c4831401c866e416c8545c82e50aeb48cc7dd8bbb2c6a08c55b69a49acae4ebbf5367d5edf40f3a741b854fbeacadc5f48653c17d94c657b788563840d86321c4891842d0e3b182e4104dec1480a780e3f654094da1c7650fa01fe23be3289d96ad4960c6ac079c4056e20bac48c9122a6d7245245c8deac4852045e45dc15fd20d1c42f9e224a4085106a1f01c09b9249b04852798978962ab0b201b1acc0a99e4bfd40fd305ce203a006c659d1e9f09b211beb7669bb56d5a851a6a48f84cfd290699732a0684c7678719df890a8a1176161619595950e8a92e30912d40fd40f1eae1f74335d1c88dd2ffbc6e0d38b8f31becdfad7571afc64fd1645992d20558af8ac378e0c563f58b5ad8a87c3d10fd201e2c0e2d71d28fd202b0aaa214c32f90df503f5c3c8e987b8b8386803075b503734344444448863170724db36200af1d2f501c6280bd51f9e170f65608c720f79a96f7da0efff20d32f9dae1b2bc637fcb75abe054f51c1106f110069fb97ce3ddca82626e12f42a2a6713bfd90c92eba56fb3fe81b41d83d16335dfa247561a6c75aaeea892fed867abcf4044439d52b041cab94b77b2c1335110519dc651b5a4976f98b5f154ed9ca56b9410a8c422b2df50349927f674fc856123263afb9b9d941811a688204f503f58387eb075b07aa2d109240a663c9f810b817fb4096bfb40bf1dcd6e7c1ea07ab6fd3d0f403cc8e9bfc0366986789552193341c0c5f8403b57ea5becc9d1ac2b4222945c651503fb85d3f0c34bd4107aea6a4a4887b352bd22b8636880c7071f3b5a3274eaac549d332b60c3472cff1e386f9bac7dc38540bbd7805a91f4892b45393aad99f595959562b063a9d2041fd40fde0bdfa4175276ecd7d06e69aaceb00d344f4434979a5ade122ad801ea21f6496b35a413b7c5e646050d040035da4cb514641e8e9a08630c95078b52516f5835bf48383e90d3ababbbb0b0a0aa47566e2a45b72f73ce799db3fbf5451adf621d1895ca4b69c7331c1a17565f73707773978dc30dbce1c8fc51a052200fa3eb3d40fd40f24e995b365366fdf259322f0b52b2e2eb65ae3d5c1040980663af58337ea0718ca561b54c9a276309d65188fbe7bbdc80c9cd1e73f8cad7e807d292b38a9091e32ec4adf28469ffc0091203d15b63a4a8630c9f2dc6299513f0c533f389ede60058bc5a20688ea9b349324f503f503497a3adf3bfbe53df725ff7595c0f0f0baba3adadfd40f3eac1ff075500b98a8110530a0659715e394a9a01a8f214bcae0aab81f483f584db91e21fd80e0bdfeee69513bfada9150143222d16abaadac47a936c0b1d50ff2d73c7baef28dfa61c8fac1e9f4061de7ce9d8b8d8d9572ba70f152ab6d464892fa81fa8124bd83afbe750a66845416870f1fa6094efde0abfa4196b09c38e99635ebd2376cd9215bc1c8f40019a20d752157618ecb183fb51e835d731f8ee1218a8f2bfb3f0c563fd805cc7dabed77f07749fc0ad92846d6d891091eb2a3e540e3b864e492be1928f5c3d0e04a6f83eabfcdc8c890f7289d3ffcfa90d40fd40f24e9c5fce29beef53fdb8ee293999949139cfac1bb960480c9ab4615fff2f0512b0b581ca866f8773ebef0f0e399d18b16433c24ae4eb55a36edbdb35f4239c00ac7d5a4b569b2afd6403e8ba1bf22296559c22a5bfd20a3c3d570291c5b0dbfb6eba1f064e345abc1df08f3aec2830e56e287548033591d121a03b2c76a5284553ac8686c9cd1b70ad5034cfde05e1c387040a63af8fb076ccd7d66a437ff2249ea07ea07921c0d4a93e7ce9d3b6982533f9024f5c348144c885217172c2249ea07ea0792f41afd70e8d0219ae0d40f2449fdc08249523f503f902449fd40fd4092e4a8ea87bffce52fdf7df7ddb7df7ecb8249523f503f90a4cfea87cd9b37d304a77e2049ea07164c92fa81fa81244997f4434242024d70ea0792a47e60c124a91fa81f4892a47ea07e204992fa8124a91fa81f4892fa81a0994292d40f2449fd40fd4092d40f04cd1492a47e2049ea07ea0792a47e2068a69024f50349523f503f9024f503e101080909c17b6cfcc3b7ccd22449fd4092d40fd40f2449fd403881d96cc67be41eb724e9987b0f95a1a4646565513f9024f503f50349523f8c6bc4c5c5e13dbefad62966699274c00d5b76a0a4141717533f9024f503f50349523f8c6b646565e13dee3d54c62c4d920e78cf7dc92829b5b5b5d40f2449fd40fd4092d40fe31aa5a5a5788f6b1fddc02c4d920e3835741a4a4a6b6bab141c8bc5929e9eeec69208dfe027f50349fd40fd4092d40f84a7a3a5a505ef717ad8edccd2243910ab3f3c8f6262369b55c1292a2ad2ffba652612fca47e20a91fa81f4892fa81f002c8124cb09098ab49d22e77ecde67b5f812f503498e5ffdd0dada8ad8ce30cfe28b2749ea87718b9c9c1cbcca8ddb76325793a45d9a67cf4519a9afaf1f483fd4d5d5a5a6a6a23e4c4f4f3f77ee9c3adfd3d3535252929c9c8c4b292929fa08255c3a70e0809c6f6868a07e20a91fbc061d1d1d88edd4d0697cf1243958be54518de283ef22ed6f6f47535393d48417daba98b149d26e5b89c964eaebebb3ab1f0a0b0b0d060374b84c8ac0b1d209898989b8b1b4b4b4a2a20297e00f0ee41294835c82c0080b0b0b0808a07e20a91fbc0628b188f0f9d6eff8ee497250dc55781065272f2f8ff6b70f203636166f7377d1f3ccd82469c5d8a5cb513a74e35ed70f1d1d1d100cfabaae59595946a3b1b7b717972222221a1a1ad425fc954150b5b5b5f0b3b9b959cee3c0ea11d40fa417b1fec257a2b1c7917e888f8f479c4bca2bf9fa4972505c12bf0265a7b2b292c6b70f40ac99a9a1d3ce5eb9c6bc4d928aafbe750a45037aa0bbbbdbae7ea8aeeeef896d6b6b5397201870a6a9a9499dc1bdf85b5e5e1e161626fa21272707c7ba87f8abeb079995d470f16bbe02d2f3f9cec717905dc3c3c3c7917e282e2e469cd7ac4be7eb2749d7092bd3cfd00fab6f2ae1ed8d291bb6ec60f62649e117df74cbcc07db6de3947e9015906da7564ab783c562912ddea140929393712cfa01bf313131560550d70fdcd891f42296945722bba6a4a48c23fdd0d6d686384f9c740b5bdd48d275ee3d54868293989848b3db6770f9f2650842c8429a2c2429943da7232222f4990f56faa1b2b2df726a6f6fb7ea7f3877ee5c7d7d3d0e0a0b0b55ef044482ec1a61dbff101e1eaeeb07dc453d4f7a0bd73eba01d9f5c08103e3483fc81c26447b6bee33cc0124e90a2fb475c9564a35353534bb7d09305ff05a4342a771d40449ca121110d56a96825dfd00e50037252525ea12b4417070706f6f2fcc29f88003b5644b404080ac596735ff41ba2c74fd00f9c18d59486fe9a6334e996a358a6f5ce80799b7e4ef1f507fe12be60392744a590a3d36369606b78fa1afaf2f3131b17f18ebbc48ae2a418e67befeeee9c0a0209485d2d2d281c4b65a7fa9a0a00012a2b0b0b0a6a6465643964596a42362d3a64d38282f2f0f0f0f0f0b0b8b8f8f97bb50d6424242e0bfcc8bc0b1d5146d93c984db8f9e38c9d7417a320f9655b83ef9c1a7f4c38fd7f78d47e423e72fe22793249dce26f43318505e1a1b1b6970fb1e3a3b3b232222f07e172e5ecafa901c9facaa3b1372bd8b55df30ce76c981fcfc7cf5d762b1400fc0844a4d4dd5b78950e7d3d2d26444537676b68c86eaeded8560888d8d85a2a8acac2c2e2e869ffa236466c5bcbbe67ff14d375f0ae9b19d0f33ccb39051f5bd4dc6917ee8eaea42f146fc93d6a6b1a092e4403cd97871e2a45b64442f4d6d5f45474787347c86cf8b64af2c390e9b48a4e70116bfedb487d1040486ccbd2ed8ff02df0be999cc7efa5964d1a8a828d70bcb0d3ef6c96c6d6d0d0e0e462a2c4b58c5563792b4e5f1b73f90318e2eaeb140f8402f04de38874f90e3a72515c690f4af6664648cad7810d4d4d420300812aa5fbe20d2d3f8b2a5465662d437391977fa41a62b49ab9b79f6dcd7df3dcd9c41926ac274ee9ee7e4b30af1d0d3d3430bdbe7d1d5d5959c9c2c9b58a5656ce10a75a46fb3fac3f3d18b16cb8469ab7908638b82820251f2557567f89a488f6a52949e3a17975df265fdf0e3f58514a2a2a2e493b9222985c5951ce73cdffadd732f964f0fbb5d0a456161a127b4c911a386e2e262c375dd08f3051a922a82f43dbe77f6cbb58f6e90f691b0b0b041b5a48e0250e5a6a6a6226cb0d50e9655f07d919ec05f1e3eaa7aea069ba56ff0d5ef654f4f4f5151918c6592d5d3366cd9517cd402a5f5fee75749d2e7f9cec7175e7deb54c1fe1720a1fdfd03a420c4c4c4e8930289f183d6d656599449b6ca49cbd8c2ee59d237ba55f165bfe7be643183a093f3f2f23c73434c4888acac2cd5b209c1c3d7478e614fddb28455921b0b0a0a86d0a478836f7f323b3b3b5195848585dd4010e31bf1f1f1aeafab40f82a1a1b1b65ab1c25241257a7e6ee79eea58aeaaaba3354dda45710d2f76059c5e6edbb62972e578d230101019b366d7271e9fa3144797939822ad32192d6a641fc70ae26396a3c7be51aca0eaa7dd1db46a371c886c10de3e4abd9d4d4545454949696866fa79920c601a2a2a290dbb3b2b22a2a2a20a4693a130a972f5f2e282890356108c2db111717575a5adad5d5e5452d9ba8996548a1ec5b153e2f7249fc8ab58f6e20c91122c436b299dfdf721d446c5e5ede704acd0dfc941204418c4fb4b7b75b2c167c45525252626262a8badd08357ab67f2ff0901026881b111f1f9f9696565858585b5beb9943955c2c7d903d888b12120431d240664b4c4c3c72e4484747c7303330f50341100441b8199b366d52df6c0e1d241ca0a7a7a7b9b9b9a1a1c14210230664b096961637aebb48fd4010044110d40f044110d40f0441100441fd40100441fd4010044110d40f044110d40f0441100441fd40100441fd4010044110d40f044110d40f0441100441503f100441fd4010044110841dfcf0c30f7dae61e3c68d4a3fbcf6da6b4eddc367262f4110d40f04411004e153f8affffaaf6ed7b07efd7aa51f8e1d3be6d43d7c66f2120441fd40100441103e05b1f57b5cc0860d1b947e282f2f77ec58bc65f2120441fd40100441103ea81f5c7139a8f90fd40f0441503f1004411004f503f5034110d40f0441100441fd40fd401004f503411004411043d00f7d7d7d292929093630994c4a3f444444d83a3870e000f5034110d40f0441100431bef40390919171c3e0515d5d4dfd401004f503411004418c3bfdd0d0d03058f160341a7b7b7ba91f0882a07e200882208871a71ffafafac2c2c206a51fb2b2b29c7a4b100441fd40100441103ea81f80fcfcfc41e98773e7ce513f100441fd4010044110e3543fb4b4b4b82e1ecc66b38bde120441503f10044110840fea07202626c645fd50585848fd401004f503411004418c6bfd505252e2a27e686b6ba37e200882fa8120088220c6b57ee8e8e830180c4ec5435c5cdca0bc250882a07e20088220081fd40f406262a253fd70e4c811ea078220a81f08822008621ce987ff6f00582c16c7e2c16030fcc77ffc87ed8dd40f0441503f0c1dfffbbffffbff0e005bc77449977439262efff297bfb0ea24c6b37e1808d7ae5d0b0a0a72a01fd6ac5933d0bddf7fff3d93972008ea87a1a0a6a6e6d501f0171bd0255dd2e598b83c71e204a43e6b4faf434f4f4f5b5b5b23310c5cb972e5dffeeddffef55ffff5e8d1a3afbdf6da4736b8efbefb1ce8877ffaa77fb272ffe69b6fc2ab8a8a8a2fbef882c94b1084db71eedcb9f6f6f6bebe3e5fd60fa840ff9f01f0271bd0255dd2e5e8bbfc977ff9174808bb1d148407a2abababb2b2323535353838f806c27df8877ff807fc3637375b25784343c340b7188dc6dede5edd31fe0e76e36a822088a101b54d5656567d7dbd5bb484c7cd7ff81341101e0c4808ea07af006cd3a2a222d8aceae3e137c17f52685858e41272f89c18321d491a1f1f6f95ecf8300f2409f0e5b6728c1784f337dd1cc4f424497284689a13839a5faf8bc2c3c32b2b2ba91f0882a07e20fe0ee7ce9d5356ecedd177afccdabfe5d8673babbf26ddc5ecd77e1f680c45f25657575b257e7e7ebe5dfd8097a23b6b6f6f0f0808c0f9478baa999e24498e34d7179f5afad82ea369a6d448f1f1f19d9d9dd40f0441503f10fda8a8a8908d084c73621ed957c5afe6083171db21191260352aa9a5a5c5563c98cd66abd7949e9e8ef311cb1f624a9224396afc79d59fee7fea70f01453ff37c264b21d8449fd401084fb515d5d5d5555f5e73fff9966ba67422d21ba28250bdf097e2c4794d3664523a98b8a8aacde424c4c8c957e282c2cb4ea20ea5fce75823ffb8548921c7d3e79bc392c72096aa1e0e0e0d6d656ea078220461c5cbfd563d1d4d4243d0ff76616f203390a7cb4a81aa91d1010d0dedeaebf889292122bfdd0d6d6a6cf911081b1f4b15d4c439224c7aa2362ce9264990ed1d5d5e5f5eb2f7df4d147c3346e4e9f3ebd6fdfbe356bd6444545ddf637dc79e79d494949f9f9f9757575b4ff0882fac127274ce333808fc182a427f8691c35462c7f08699e9e9eaebf8b8e8e0e117282b8b838ab0166383929342ce7c4552620499263c5ed964bd2899a9191e1ddfa4156971f9a4dd3dcdcfcf39fff7ce6cc994e57b032994c999999e7cf9fa7214810d40f3e83d2d252d46fa1e63b396c6934b9e5d8678609feb6d3a3131313d547e7c89123ea7c7777774848084e3eb0b38ca94792a487d4602d2d2de34e3f20ce500e93264d929ada3f68d2dc652989db0e3db6bf66f32b9f0ad37f753229e785a8953f952923fdcefcfda1227ef7bbdfd11c2408ea071fe87c90a55a53f7fc865fc451665c5a2e523e2626465f55bdb2b252be350683411f1b20ab334d8f8865ba9124e9095cb87a73ffb72335757ce987d3a74fdf79e79d7fdd1a2372c9bac2379cb6bd414bcc5ebc4af545bcf9e69bb4080982fac1ab515757279d0ffc168e3e734e5c95e5d52b2a2ad41be9e9e9913dfbf4af725b5b1be4c48d7e7eeb8b4f31dd4892f490b9d4a89450357577778f17fd70ecd8b1c0c04054d093a7cf1eec3285a8bea747c4f6efa9e4e7f78b5ffc82462141b8824b972e7dfffdf73ffcf0034d768f42565616e7e38e211fd859260d52fa0738232303276b6a6ad499e4e4fed98a512b7fca142349d273787bf4dda89a06b5a99c17eb07b884e98f08cf5d96b2dd72696873cf631fca968e88bd7bf7d2342408a7e0fe0f9e099939cd56ed31a43448e5e7e7ab97d2d0d060341ad5ee10f5f5f532c2f6c9e3cd4c2e92243d87cb33f6a076cacecef67dfdf0e69b6f4acf0304805bda8d80975f7e99d62141503f782364a8ccd05a5248b710e24dc600a8a55afbfafad4d610388e8888c03bc2779a694592a447f1c1fc72d44e2929293eae1f9a9b9b4d26931b7b814578f9fbfb7ff8e18734100982fac1bbd0dddd8d1a6c424020bf82634b7c92f022929393d5ab5133aa654708a3692657c72249d2d3f8d8fe9afe16f9d8586fd50f2eeefff0e8a38fca6c693756c4b286f74f7ef2131a880441fde05d686f6f97fd04f8151c5b6e2d6ff20fea5f09b0bebe5e7f415d5d5d5c1d8b24498fe5e6573e450565369bbd553ffce8c2fed3a74f9ff6f3f3bbd1cf2fb3f4b76e4cbbecd77e1f680c45f21d3b768c362241503f503f9043eecd8e8888d0d772cdceee9f683773c13d4c1f9224a91fc6463fc88a1623b17ec5bd9985fd8353972fa78d4810d40fd40fe4d096e5309afab7312d2d2d95b7d3d2d2226bb66e7cf123a60f4992d40f63a01ffef8c73f4e9e3cb97fabed5f7fe0f6e4cb7eedf7b209df99336768261204f503f5033904a6eef94dff5407a351b68d4b4848c0df4529594c199224a91fc6463fbcfdf6dbb2db83e38480ba48dc76484f9785ab3747adfce9bac2371cdf78c7a295f07fd6ac593f21081fc2ba75ebb66fdffee69b6f42810f533f545757575555fdf9cf7fa6d54efd400ec4990bee91c510515e7070f3c4c9d9affd9ec9429224f5c3d8e887bd7bf73a1dbc04f110680c8dbcf711d5ab103cc594f0b3a207f3cb71f06851b5d3214c04e1ab983c79320ad1a54b97862321b8ff34f503e9981b5ffc48d67295a502f5f62c922449ea87d15e7f49263fc0ca1f2809d63c7d04222162f9434a3fdcffd4e1394b92e57865d67e75eca0dff9cee885c7dffe80247d83afbe75eab917cb376edb39c33c4b54046c9a77df7d97fa81fa811c392e4ac992e2166abe936bb6922449fd308270baffc3ba75eb104348828192607df1a9ecd77e0f074a3f44af5a1f97962bc78fecab329a663a48c1478bfafb9a172e5edaf2ef3d24e97b3c7ae2e4bcbbe623930706060e79c344ea07ea07d2950975374fec9fad87ef0e53832449ea078fd60faacf41e9071ca8fe8accd2df3afec48a7e885eb4988626e9abfce29bee871fcf443ef7f3f37bfbedb7a91fa81fc811e2fae253dcf0812449ea87b1d70f8f3ffe386298f0b3a241e907d5fff0d8fe1ac79f5819bf14bb7439ad4cd2b799be691bb27a486868737333f503f50349922449fde0b3fa41e64f2f487ac275fd00f1b070f566395efb8be3d323629dce9f4ecbd842fb92f4f95e08e864e4f6cccccc4189874b972e7dfffdf73ffcf003ad76ea0792244992fac10bf4c389132710c3a933e6baae1f6439a6ade54d3faffad31d8b563a987b0dce59920cfff71e2aa37d49fa3cab3f3c8fdceeefefffbbdffd8efb3f503f90244992d40fbea91ffef8c73f06060622928e37f2d4f503b8f4b15d9010f8b8ce5d96e2601d8ced964b1302fa3d7ffff3ab342ec9f1c06509ab90e10f1e3c48fd40fd40922449523ff8a67e505320d49024d79973e2aa63072bb3f673f23439aef8cbc34791e7939292a81fa81f48922449ea07afd40f4ef77f006a6b6b1149c304ff2dc73e7363da415d041a43e173497925cd4a729cf09d8f2f20cfcf993387fa81fa81244992a47ef04afdf0a3b3fda7056bd6ac413cef58b4d28d69277bfd44ce5f449b921c3f6cb8f8b56c4a4dfd40fd40922449523ff8b27e3873e6cca44993105518fd6e49b8fb9f3a7c7d397c43f587e7695392e38ab2452ef503f50349922449fde0cbfa01b0582c7e7e7e88ade3f5945ce183f9e5375ef7aa60ff0bb42649ea07ea07ea07d28dcc7eedf720d3812449ea87b1d70f40494989983e0b576f76b0aa9263427e8878d89afb0c4d4992fac129aaabababaaaafefce73fd36aa77e209d72bbe552d4ca9f46defb0825044992d40f1ea11f807ffee77f965e8869b3a2d7179f1a54626d2d6f9abd7895184f140f24f503f79fa67e20ddab1ce62e4b91f6290154044e8ec2a3ef7fea7058e4127ce306faf6e12adcc85f1cdfbd7eb7dbc33042deba2b6cb68c5eb5fe917d55a3198c9c1357274f9f2d2f02590561500703bdbb514e250446cf33568405b53c63cf93c79bd52d30c3707ee1eacde25ed6c98403ffa0498fedaf619d40fd30c6eb2f59e1dd77df0d090991da19b9d91515b1e5d867c8d68609feb865e2a45b5eaaa8a61149523f503f503f906e64c4f287a47b3c6ae54f85f88bdf5178745c5a2e9e0583c081a10037f257848ddbc33042deba2b6cb068951d3c6d5634ca8ed4842bb3f68f5a3016a5644d9d3157464f4800d4c140ef6e94534955299267f444339a66ca7e59374f9c9cfeab93e20c020c677055dc8b22920c09a5e4740d7d92fa61e87065ff075be01644fbc61b6f94f28f6cbd20e989b5bf38bef1c58f24bfa27c226952f7fc26f6a16c145771e6e76758fbe8066e1547523f503f503f906e9ff370a39f9f2c1208e3498cf550f39d38390a5d108ef5837c10d578aaf1a91f9469ab08dbd76f823f6ce2d1e923ca2cfd2d32c383f9e5f217760bfee2006206c1d31bf53d473f58251a3252c2cf8a10ec4063a864a7f5c5a7a42577cbb1cf70707bf4ddaa2f0e6e946425a91f3c453f9c387102d15e10bb64c3961dc629536f7086c0a0202887f7ce7e49db9124a91fa81f48b773e38b1fa9367ea51f327efd016877b61e0c2c7cbf71097c6c7f0d6c5965c5e69cb88abf8f1655db36dfc20dcee3aad57017a51fe00057e1a1fe50a7fa010f126f5ddc6409bec171faaf4eea4f51dec25096ab7607f04864f1abc70ec7f053cee0c681428258e3920c3a407424017507722fd2dc15fd0022c0b894bae737b6296c153b9592f208494c04c0caeec75f5cd5dfa6fe2cbdc0c2e69e3a63ae9c87a9adc64a8887c84ef0c4ae2054614038ed2a1fb9176f4152cc2a251dbc6ba7fa41cf6c4b1fdb25be414ec43e948d63ffa0490b929e50ce7012675408112fc99fac2ba81fc65e3fc42e5d2ef6d01bb59f643ffdec92f81533ccb36ef20fe8ef6a3018a687ddbe70f1d28ddb76befad6a90b6d5db41a4992fa81fa811cd1fe87e911b130ef947e70ba86f8033bcbd4401a185b3064d7fee2380ee44cf014931aa00b6f7fb26e87dff551b882394b9295352626ddf28c3d32c2a4bfd5cc180aaf5c19bfa4df65e5ad5ddb1471fc3f6d73da53e4deb9cb52d4d569b3a295056c1b7e44538d1d926130f83b79fa6c7df688b2e01124191e2630cd89895eb55eef72810f46d34ce520d47ca7ae2206328561e3e2d29aa78fa889effaf4153d76e0bac23764cfd97e1b63823f42aba7242c690449dd0e074870157e640f9c113b5b88d4407249facf5c708f9c44664034715e850197748902c72a7ba8a7e816a1f46608101dbc2cbd9648f859917e3b1ea4cff277513f20a1f05cbc29f90b15846c8c03bc147d3018440e7c48dc7648976a6a120e49fde011fa8124c991d30f972e5dfafefbef7ff8e1075aedd40fa403ca8407985c772c5ae9a27e80e10e9b12965652ce0bb0c920186e9e38194618cec05214f3510d9dc75f1897308b334b7f7bf7fadd4aae28fd8033b84b3a0760dee12fcc7dc7fa01fe881d096fe14cd62754a3506c0d4764398419a18563d8d332265e3a4394650f9b1bb247022c26b27a10920841c2bdb038618be359d20a2efa01290007d2418164d4ad4f110fb0b91177240e9e228f13fd80c7c12b4419024c862e23604849d54b63d71486c52fc39ba5a95e5e9f3c02c4a3113558db92c208b63c42ba05d4428e2a25c5e8c7db844b50a20fdfe42ae28bbfba1ab14b24af3c057144f09013f057851cc9aea67d220cf04de496cc54867b791df2767055d48eaa2544f02073c27338c05f385659c875fd209a01579d4e6fc02b5019000902cf45aa91d40fd40f24c9fd1f08ea07f2af4dec301fa5895d8c7b9868032d352efa0166b13a232df7093f2b5267a6cd8a96912d30b2c543dd07d8a6d283a1f483debc2de3a9c4ba1d483f400fc03ec653f4408a5776172682d1ac9e2884a58e8049abb3c821bd3d3bd47c272c48153bfcd57d1345210f12fd20b34774e3460d88b29a898ea788712cfa013722d9f50139d2f8ad369cc5b12c7ca488d4132358bd02681298e6b682501e016788a93ea048c22f2194c7e9a3776484124225bd07b8d4bff0a3b34596443f88ead37b48249516aede0c077aef90c81269d487e0c131c4835522482d015b1f298657a0bf6b79a17a0f928bfa41d49dd339df70860cc69a81fa81fa8124a91f08ea07d2c92aaeb029619bca40115d21d8ea07d5beaef4803e6d40ac342b33d1eaf31fbd6abd32faadc6fdc35814f931907e80f52f0b46c18122ac492b29a208331dd6ed408a489f3eab37c9db9d05b1bef8940c68910669d10fba76120f45514857ccbac237f4abfaf82598e948703d1620d25f2916bb13237117cc7abb83b570f2b1fd3578ba7a8434d55b4dc65029295a026f530fc0d2c776e1a44c9816af9c661e9468aba7c80465dbee2cbc05bc6e51179231e411567d02504d524b88968022d2438824d5658fdbf583bc62ce79a07ea07e2049ea0782fa8174be1a1208b349a60ad85d085ff4833e73d7760d25a51fc412b5ed135026bbdc6b65d9abdb07d20f1206bbb0bb92922c7beafafa4b623e2a7b178f838dabe67bc8a40bb17d453f58092465bfca58202b6b552597c4ce2e5468654684cc6c166e7cf123abe482e57d6f66e1cc05f7a8490e124299f56b374dd44989a95d48e70c22e24a69851baba7e8fd3020d4c8ecc5abd42c113d0dada63aa83c202765ec935da83d1f5cd70f484c578481f4ba78c2d2b424f77fa07e2049ea0782fac1e3286dea325845cd9f96b67cbbbbaa89edae4b0207fac16e033ccc5f65fcc9bd56c36370bbac10ea583ffc64dd0eddb056e6b56d984d736282a79886a61fe41876e7c2d59b1fd85906ffe5e9aee807bbbd2bd25d83a8c9caa1b0fb6d63a1949b03535825a6a436acf0d887b2d73c7d043eeb6f44261ed8a6bf44593a43102fdb30c84b7171248fcc9f76dccb240bd623ad90df24dda417cbee2394a8902e2c44cd36842a615dd40fd2f10231e9343af2d2a91fa81f460a7f1a3ca81f469f67af5cabbff015d381fa81a07e206d99f0b3ffbfbdaf01aeaa48d3764d9cc40011048a880122ff20a0220c824189864946188c31ee44640c6e5018408816080a8551618c7ec8df8a158be06425192f35505082c038481614916218342acc14d6607db895a9a22aec2ed9a2f66353f33df1597b7bcfb9f7e4dc9f84dc9be7ada75237f79ed3a7cfdbfd76bf4ff7dbdde5c60336fce1674b2af1e5bd252ba3e40fe4216011760a708e197d64ee7da43c605fc078770ffe80ebdda14aa040c876509f8f2b34eced80c09ae0a132631efc812ebec31965cc8f1ffe40dfd78ef50240188cbae037732f541bb8cb3f7f60061c87fd31ff2ca31e7d0739b813f5cf57e64202c7e260f8e52838f207700f9ff14b8e55228c3143ed025de1ae47f6b40935c392e5603fd7829bd28166d84a300ecab14263ded63f22cf862bfae40f0c9af273d63803d814bf24fe20fe1009e073f7cdec9f37a3281ac7fddddd8762959fb59535c88f8dac4143efb93fffc5d737ffe12f17ddd7bf7fe48b871e2de9967e833949635a61f16f7f7fdcbe6669f96b4c0a89bb53a8fbfc5bfe8acbc2cdede37317e34679fce20f12f1870e0eaef1e5fa54c31fe835727c9787309835be61f1073882d777eb81e236330c488d0e343903ef35812866352d3dfb50fc018970c7277be5319d66b348dace33bd55b3a790d9d287eb163cf8039d57b3150f3d576eb7ea873fb85f9f84caa88b0b9ded85dd54afe103adf207b8d18e65065c4161ca880cc138cdf089593a6685fab549497d068eb60ff100a5314baee973bb0fa670f3077ba289b3225c1a0edac6edad6c7ac07da8986d2af996b1f71982c1291ad34a40e178237b668994c32cb96e953fe0edb8f117aa8d1f5600733009eafc07f107f187f0f0c1a75f47935538dfdd6fec39ef991762959f97d7b58c878133204bc4e8b1e37968c6b05bc780ab38c80608037e02c1401e162c5d3569cad4a4e46460c5ab1bcd65f8894d794ede74f713c14cf86b046f31e391c770a33c7ef10789f843c7078358e044c28703e8df1b1796bdb529b2b0f803a732e0b7e1763870f0d7b9b2c24c1df0deb4eebdf15cf8f4f00bb95f1357d37aecdfca0d94e09de35724cb35b8f632684735c34f5c146e9e021f914ff1e00ff06879dc323c5a78ab6035489341fc5c1ee0cd1f4818703bdc5f7024eeb644fa41758157307d681b89a0207001b461984fabfc017c06895f979a06f52287137ffe2c74c247708d0a5e813a87cbce93e0987ff3ca2418e00c783b7ce60a01c3b5b852d93e1e21147f401eb8ab2f2ee613cdb272d607a81d39c49778167368aa01590a1751209fd0009232c507aa897ff15ec8151227b9459a1efbb7428df8c6c01c4b1234bccdad52bbfeebfc07f107f18776e50fbc3de6fc017fed2f8f9fbd5034ab14df831e982f03fb8f8257f4ecddc731fb81eff12528c496edfb6cfed0e7a69b71fdd1337f753c7142760ecf08177f8853fe1008046a6b6b9b9a9ae4b58b3f08de31f4f01db92b284b076ea871cee0e3c257335304f04af1af391e8e8c02dfd86b18ee78e009dbeb85ff07d7196e2e00efd0dea993f7966cf808a485e748e05e33d6cb471bd70d9fede093e25fed822b09b7929b9cdaa79ef1627b5a83b32b7c473ec56cd8ea4896114a26ffc81b320fff15d903c582fb8b1bc146788c31f4802bedd5e44c90d159261c08c4005f0e99900f55d88b2b38bc8d8be94fe35db8d150a8a482027ae0603fb75a0261439e6dbde1dd49b1f025b28dfc38a62c4072b808817311b6af8c7be1cddb9a0cc51ff844bc08728252b663a2508e606e4c1f4500f582b9213ff6ab210f780a12a1061c1b3a21cff8950bc4f108aef20f5ad6ac330e40e7b9735f6df5d807c378edb914e416cfb52bad20fe20fe1003fe70f0e4379bb7ed5ab3b1ea9d9d1f1a171c1ff02f6e7fac7401d2b1e38be0c4576cae7efbbd3d0e7f1d971df9ea3bf081f555015ce3933f00481c8e3e7ec2138ddf8f7f83864e3157c36e1d63f387c7e72ec65fbc82237c0b5f3ef46849abfc811a585b59f3fe912fdcfca1eef36f3755ef00f0c19df3dabd8771235e7957dd49c7d3793dd2c405203cee93c8a12e3cd7a44c05da17204ddc8b6bdc8f466a4813af0c2dc5d119e73a7f5afc416887fd97a4875801be2c9c517bdd059d5d38faed9607701b7b6b5d3367e25894e2015c698e83f0e60f91e5101c0c99b4b91f974cd8a76ab427f05cc75a0ebc9a63898e20fea0fd9722e70ff09b731f28b03753eb967e035c61e3eb1b41527467478e196b5f6c8712d18fcf1af4df0360860cb4ca1f00f8d0e42acc55cbcabcf11343651b6f840bb81082fc0164a6fb8d3d1d214c4bcb5f4bebd2852987e20f9cfd484a4e362f05be41b244fe8017648455cb746a72f28baf6f36f742513d7bf7b1b504da630840dfccfed30a8b01f3ab633a65f92b6f30400b8247e041763ea10492287381fd0a8e47a320822eff107f90883f7436f08432e921b66b4becc17bb8a1d72625d90b2ada1a9cee30713b70cd19eb65cf20b51acf93d225dd9b6f44c31f1811679fa1c115ea4197efb7836f8a02e2d917663aa267bfa1a10e0f11c41fc296843fffa155fe00879bcb09e0ad026b3656c14f85231e74fe019e719f9b6ea6ab0ab71b5ce29efb5bf637309e2b9738836020c1e2d973fdcf3f38b28a04494542657bc1d255f4ec0d7fd8b27d1ffc7e4708131808dc77fce4c11f90cf9630d6f9cf52038ca442fa863fe07d9161646ff3b65d787da80b977156018f1b76eb1850026806dac89b51643f08fc0117431bb811b7832df05ffe8a2ff9be81fd47eb3efff6d9956bc861783bb48d2b492af046b89db328b88c45033d8f1e3b1ef7a22090817e5903f18d63ee42fc4122fe2008d163f8e407195e850ffd47dfcda520edb93128780283af401bc064b81820dc5926b8f8d777eb611fd11d43fe30bfba9e4b32fa0e1f07b6c30518d0d55571d99101c7bc07a897f7dc8b20fe20fe10067f80930a0f1b1eb3fd25c7cbe9893ad63f2c7afe659b2d70f0be67ef3e269488c3e41e5eac077fe0ed5983869a45cf1e3b26311d66ccf087b7dfdb6387303178697d55c0833fc07187d70e16647f893c702506f9839d5b7000a301fc1d3c6ca43d9f8017c7afb8cbf00768c38e3b42b2664105bc7ff0349bed80a7997c566cae366cc1007a069941a98136189243e0dd9f5cf45c5c6c712bfe20fe200871879f2ede3864423ed73fdc5bb2d2c30b6f3b7f6bdc83f3e09103b7e5fd22b2509cd153673ab679b581f78a66e60a1462f2ace7b94203440b1abb2ae4e1c9ca63036ebbc7ded44b107f107f68dbf5d3f03e3755ef607812a3951cfc81eeef6f7f7f1cdf1b700a825e72cb76103f8caf47c61f484518c903673d2cfe00c7da0e61827b0d6f9b8b0442f1074e7484ca0ff90355614f1ab8afc753a016667b42768ee10f0e6d3041ae8b68d9b7ee7fefab4b56c07c721a84131706fcb276ef61b00ebc1ac8c9438f968020c5d1e207f107f10741100441fc41fc21bef9c391afbe7b62feb3707319889f949ccc0f41f943bfac81a18ea0e7528456d5e2c11f76d59de456ad662d44abf14b4cc7f0077cb643984045f02f3e78f0077afc662ba756f75f625226ffefecfc30f78102b3de831b3d190d803f38b4610849d08dadec2fed950f0e8172f868f35cbc325813c84642f287fafafac6c6c6e6e66679ede20f82200882f883f8c355e60fc7cf5e183c6c2403789e5db9e6edf7f6804ed883ee0e371717c345860fed065df668f883bd7a18a9c127c6e342a573c7f889b8987b25d9fcc18430e1272eaaf6e60fcc4f28cfdb9b3f2071a8ae67ef3ec5b3e7e28981fd47fff0978b61f107c71211e699f9e4ac0e1ee156b51d10855b163dff32b561a885ce7f90883f08822008e20fe20f6dc21f18bdf3e4a2e71c2baa43f107eed4e408b287f36d426822e60f6432f8c96c81cab5c88efd58ed9d9a4c9890cd1f803e37dd8c5758b074153c7b6ea3e4c11ff8135c70fbcbc74a17c0234796bcf903a3b96c6d70db283ffc019fc1c4ccba11022f6bf2c9ed681d1b58e15f1419381e52401eec47933899a517e20f12f10741100441fc41fc21f6fc810eabed3df3d436e3c7f3764330c013f0efb4c2623be808d7f7cb1a685cc308f843eddec3f4c5ed95dc78343cecb42e5d1c17230ff81260c4949b3fc0fbe7dc05b782f5e60f5cff0d47dfac638653de2dfd86d163c7b73affc08522f66271ae4ff0c91f9e98ffacad0a700f8687319f5c0b81dbcdb11bb8005945de9055777c1774e81df125fe20117f10044110c41f62209de4fc07f8d3f0651d585b59039794be387c5938b2c5b3e7e2f3b05bc798c81fb8aa5c118197a5bfce6901b8d77073e1a073152f2ff6cf1f400c4c36ccc10bb90f14d847d4d127ee73d3cdf8098e353c6f8011ffb8dd1e9877f007ee396b0fde7befdf0a5f1c79c023a004004fc4fbe2d1adf287a5e5af5115cb5f7903c08be35eb8f866cdb4377f806e19770485e7e44d8726f976269f24182042e06ff8cc53b7f968288a2760e0465c8f5fa113a4602ff5167f90883f08822008e20f6d22897dfe341802f219140cfa87a37ccffdf974e5e1c1c3e7064fc0af665cbc627335fe854f6c1cf4175fdf0cc797b7804ed8e74ce34a33ea1f1478a8231bd30a8be11f073d679acbbb19df4fd71cce3afe75ec0f8bacf21405f30ddec8de92153fd96f14f4406b38e2ee37c2b31ca5cca4cc7a09500878ffb80b5efee37317d77dfeed82a5abcc117248caa10d26c8e32338fb01e281cba0f9351bab1883649f4f076e83d49831bc91bdce1bf4034fc473f113f9957d72b6f88344fc41100441107f107f10120a200c0ed6c470b27839465afc41fc41fc41100441107f107f10da0f93a64c4debd2c5441c1df9ea3beea26b6faf24fe20fe20fe20088220883f883f08420bdedd7d086ce14729a9a84813b273baa5df90949c1c74bfa94ece1f0281406d6d6d535393bc76f10741100441fc41fc41e8d478ffc817f39e7921f78182bc19454f2e7a2e5e1630e8fc6989f883200882a0fd97c41f0441fc4122fe20088220883fb426097ffe8320883f48c41f04411004f107f10741107f90883f08822008e20fe20f8220fe20fe20fe20088220883f883f088210197fa8afaf6f6c6c6c6e6e96d72efe20088220883f883f0882f883ce7f883fb970e1020af1fa6e3dd40b0a822008e16266c51e7422a3468d127f100441fca11349727232ca71e1b6afd5110a82200861a1e0f95fa307c9cdcd157f100441fca11349565616caf1f175bf5347280882208485fbe6bc821e64f6ecd9f1ca1f74fe8320883f4822908282029423fa00758482200842581832211f3dc89b6fbe19affce16f3a7f5a10c41f24e14b4d4d0dcab1ffe8bbd5110a822008feb170dbd7d7a5a6a107397ffebcf8832008e20f9d6b09757272f2b54949332bf6a83b140441107c62ca3f94b778d1e3c685d5e924027fd8bf7f7fcbb6538386ca171484b050f7f9b72dfb7ea6a78b3f2480949595a1346f197b9fba43411004c10fe66dfd6397eebdd177ecdebdbbd3f18713274ee0cdbba5df20775010c2c26f7f7f1cb63370e040ffe61608046a6b6b9b9a9ae4af77c02988eeddbba3407ff2cbd7d5290a822008ad62f8e407d16b64676787dbe324027f80a4a5b5446ebd7fe40b798482e01f6b3656c17072727274fe7462487575350af4daa4a447ca03ea17054110040fdc3d7329ba8cae5dbb7ef9e597f1cd1f22db7f093263c60ca86069f96bf20805c13f72f2a6c37056ad5a25fe9060514c3f4a4dfbe9e28dea1d05411004379eaefdf3b807e77101e4debd7b23e86b12e1fc07c8a64d9ba0827e5903fff0978b720a05c10fde3ff2455272725252d2e1c387c51f1246ae5cb9327bf66cf60ab7e5fd62ded63faaa7140441100c1e5ff7bbfea3ef461f919c9c5c555515595f9320fce1f4e9d343860c812e163dffb2fc4241f083dc075a4e0c282c2c0cd7dcc41f3abe6cd8b0812752a774491ff7e03c6dca240882a03987c295ef0e9ffce0b54949e81d7af5ea55575717712f9320fc01821ba18ea4e4e4b7dfdb23d75010bcb160e92ad84b5a5adad1a347c51f12524e9d3a959f9f7fcd0f92de3b3373e48491f73e2c088220742a0c9d341ded7f4a97747607c9c9c90b172e6c686888a68b491cfe00993f7f7e8b4bd4a5cba6ea1d721005c19b3c402230b7fafafac6c6c6e6e66639e871211f7ffcf19c3973323333af9148241249e79651a346ad5cb9f2ecd9b3d1772e09c51f4e9f3ecd85d449c9c9c5b3e71e3cf98d3c4541706cd83a69cad4161b494a5ab162450456a6f31fe254befcf2cb83070f564ba293ecec6cd313839849211289a4e34b4d4d4d5d5d5d58c74b772efe40292b2b4bfa3eb42bad4b97bc19452fafabdcb27ddf079f7e2d089d13bbea4ec2049696bf36213b27e9fb98f8f4f4f4880d4dfc41d299c5ac4d87a0579642241249e79404e40f3c913a373757135512894340ad4b4a4a3efbecb3888d4bfc4122fe20fe2091b4855454544cf9410e1c382085883ff89588cf7f082a870f1f5eb162455e5ede9d77de79b3e46a4b464646af1fa44f9f3e5248bbc98001037efce31f171616ae5dbbf6c48913519a95f88344fc41fc4122917d893f742cf9b32441a5a2a2c2b40b11ec192ae92022fe20917f23ff4622917d893f883f48c41f24e20f1289fc1b8944f625117f90883f48c41f2412f9371289ec4b22fe20117f905c2d090402b5b5b54d4d4d6a3d25f26fa4108944f625fe20fe20117f90b42e3a7f5a22ff46fe8d4422fb127fe82812dbfd9724e20f12f1078944fe8d4422fb9224327f88d5f90f12f10789f8834422ff4622917d49c41f24e20f12f1078944fe8d4422fb92883f883f883f48c41f2412f9371289ec4bf625fe20fe20117f4830a9afaf6f6c6c6c6e6e56eb29917f23854824b22ff107f10789f883a415d1f90f12f937f26f2412d997f883f88344fc4122fe2091c8bf9148645f12f10789f88344fc4122917f2391c8be2409cc1f74fe83f88344fc4122917f2391c8bea410f1873044fe99f88344fc4122917f2391c8be24e20fe20fe20fe20fe20f1289fc1b894422fb127f107f90b8e4e8d1a3875cb26cd932d32ee4e7e71f0a26a74f9f96f6c41f2412f9371289ec4b0a117fb80afc61f7eedda87c151515705bf177ebd6ad3b77eeacafaf97ffd70e525252724df892919121fed0f1251008d4d6d6363535a9f594c8bf91422412d997f843dcf307d083b56bd7ce9831a3478f1e413dd4b4b4b49c9c9c975e7ae9c489137204db4e40de22e00fa5a5a5525d5c88ce9f96c8bf917f93f072e9d2a563c78ed5d4d4545656969797575555050201380f972f5f9672645f9204d97f09cc61c58a15bd7af53235af7bc680cc911346defbf06d79bfc0dffea3efeed96fa8f9353d3dfde9a79f168b683b19326448b8fc01ac437a137f90442ce7cf9f877fb372e5cad93fc8c2850b376cd870f0e041793cf26f243ee5dcb9736bd7aecdcdcd4d4d4d0dda5575edda75faf4e920150d0d0d5297ec4bfca1434864e73fc0ef1c3060002b5cefac1153fea1bc64c3478b03dfb851fad627b9735f05afe0c53d7af4d8ba75abdcc1b690254b9684451e468c1821a5893f482290b367cf2e5fbe7cd4a8511ef6458fa7a6a6e6ca952bd298fc1b49285342f92627279b22ee3370f4d049d347ddf7f777152d1a79efc34326e4db039120186565656211b22ff187b8e40f2fbdf4524a4a0aaa1aacfa674b2a83d206371e5e55db77f838d6d1a79e7a4a61f73197c3870f87c51f962d5b26a5893f48a27177ae4b4dbb65ec7d3f2e5cf0935fbe4edc5bb2f2b6bc5fc00732863678f060f4ca62117e048c6b8a4b3232328c32870f1feebe005c4eaa8b3b8145949797d394ae4d4a0267c85bf8c6535b4e780c44c2d60c8bd8b061837428fe20fe104ffc61c58a15ac67a3a7ce5cb8ed6b9fe4c1e0ee994bd152e0f6471f7d544e61cc65d2a4493ec943525212f8863426fe20f12f70598cbb33f2de870b57beebd1063e59790c74a277d6085adca851a3befcf24be9d0bf2be35faaaaaaa4baf892868686dcdc5c634aa1e217dc9859b167d0f8a92cf7a2a2a24b972e4999fe65dcb871592ee9dab5ab31a55ebd7ab92f98376f9e5427fe102d7f58bf7e3d2b19fac57099833d11715d6a1a1279fae9a7e517c656ec031fbc054c43ea8a17a9afaf6f6c6c6c6e6e56eb79b5e4e2c58b050505b49db0dc1de0674b2a7bf41dc488a69a9a1a29d3430e1e3c182e79484d4d9513195f72fefc79ce2975e9de1b243c022f0236452f62f8f0e1b04da9d4a72c5cb830027e1e0804a43af187a8f8c3871f7e98f4fdd4c1bd252b23260fc6f8390ba1b510b19553a74e31b4ac5559bb76add4152fa2f31faeaec03d1d37ae25f632a54bbaff884d1bf3abebc13a687a6fbef9a654ea21999999613937c5c5c5525a7c517138fd28b8bec3c73d59792c622f021c9eb43c3b3b5b04d2a71c3b762c5cf2d0b56b576d0521fe102d7f983c79720bdd9ffc6094e4c1043221b50103066821446c65c68c19adb608696969601ad295f883a455b972e54a7e7e7ecbde0f7d073df18fff1c4da3776fc94aa4939c9cbc63c70e2936942c5fbe3c2cff66efdebd525a1c59d3942953684d20d5517a11a01f5d6fcc10870c4b060f1e1c967dcd9933474a137f888a3fe01a0ebf855ade142e9eaefd33070fb48a37b6b275ebd6565b04700c294afc41e24738e3dfa57befc7d7fd2e56e326a9a9a920f0d26d50f9f2cb2ffd3b37bd7af5d2c2f43892b56bd7b60c69df9811cdcc830d5825dc122dfcf52fab57af0e8b3fd4d5d54969e20fc1c5e7f90f5cea3479d6f331b17962c6b22d9c8290831843397dfab47d28475041532b45893f485a15f49d2d3306d7a514ff6a57acdabd51f7fd3dd2bcfdf6dbe5f8861228c7a7735356562675c58b34343474efde1da556f0fcaf63e848fce497af23cd8c8c0c85d9f89173e7cef9270f999999d298f88397f88caabf362929d498c1cc8a3d77cf5ceaf81264c3bb9978baf6cfd777eba153cc622e2525251e2d02da59c58c893f48fc3bb277152d8aa1bb33bfba3ebd77a6464c3d64c3860d3efd9b13274e485df1228c4c1b347e6a0cad89e02e675a59e453b2b3b37ddad7ca952ba52ef187a8f8c3a64d9b5093fa8fbe3ba8e916ff6a575af7de23ef7dd83d4ddfea364d1c8ad3464cb115f0318f16a1b4b4542a127f90b42a070e1c68592cd4bd77041b55fb19311d3e7cb8941c6aa0da3e502c944881712457ae5ce19e4b3f7f6547ab06028b9bf6cc9bb9735ff5b9d1192ee69c9ef4ec47aaaaaa7cf2873367ce485de20f51f187a79e7a2ad4201c3ac2f4de99a001367f1870db3db78cbdaf77d68856f9c34f176f44cab9b9b9f211c392e3c78f7b5f3064c890502d82667bc41f247e64d6ac593e271f9eaefdf37d735e413338f1e7cffa592186eb414b90f8b163c7a4e7a0c235ebdeb27af56a292a5ee4e38f3f469175cf18d0aa75c0827af41dd467e0e83b1e78a2eb8d197012fc181457419c3b774eaa6e552e5ebc989a9adaaa7d8d1b374eba127f88963f141616869a4c787cddef166efb1a3fd9fc6166c51efccd1c39a155fef0f0aa5aa47ce79d77ca470c4b3efae823ef0b962c5912b44518316284b417771208046a6b6b9b9a9ad47ab6e7702963b5fdecb9347aea4cb83b790bdf4033080fc9cf7c057c23850778484d4d4dabfecdf9f3e7a5a878119e4d745bde2f5a358d1f172ee89d350294c02c8ff6b353d39009f98a09f42f454545adda974ef8167f88017fe096a01e64c0c11f083ffc017d73cb566e3d7a5448c29175ebd6bdf8e28b0b172e7ce38d374e04930f3ef820688bb078f162c7959f7cf24959591992dab265cbeeddbb77eddab57efd7a693802d9b66ddbfefdfbdb68635c9d3fddcec25d80d27b67fa099fb82e35cd2cb0ee7a63c68c655b7cee1e3165ca94ceace47ffdd77f0df5d3e5cb97ed6371ddd2c9551777525c5cecf3e45930015008f32f0ccacf19730c995eb2648954ed47bc839cb9cdf4850b17a428f1072ff1b3ff92c7fc4394fce191f2c03592e864e7ce9d414b6dd2a4498e2b9392920e1f3eecb88c411a9258494a4a0a34bf6ad5aacf3efb4cfc217e65c78e1dfed77af6e83b68ca3f947340c4e612de5bd773e8e45c2796f3e7cfffd77ffd57a822983d7bb687a15555557997e0a54b97ce496227511a148f7d787855ad9fd93c73ccd4bcad7fbc3629c90febe09a22d419b55d7ee4ca952bdefb344e9f3e5d5a127f6845fc9cff505a5aea1d071c317fe0b2a78c9bfbcd78e431215c0c197e2b178d052d35ce17db02bfd671cddebd7b412afeeeefaecdf9c934e9331a4c2b2c1e377172bfac81493facfb4c4f4f7ffae9a763351d21fed0cec22586ee662d2866fd9f7d295dd27bf61b0af2e0de892e1444b67980435656d6b061c3dcc148070f1e0c75576a6aaae3c8e17ffbb77fbbe38e3bb22cf1b3025b1296646464e4e7e7575656461039e69f3ffcfc951d49d7a58c7b701edc83fea3efbebe5b0f3ffc216fe11b3a482e2ce1c936a12410084845e20f31e00f3cf325d4fe4bd1f0070601cf7be68553fff792102e8e9ef96bcfde7da0401450a85d77ed16c17d19e7288a67cf95326385bacfbf5db3b16ad294a9a6c70d354124fed091858dded8e973fcec15d3a3efa0dbf27e51fcab5db9735f85bbe3f3b008d690be99fd3b39ae4feb12caf3cbcccc0ceadcb82f2e2b2bfb7ef62f55fa6c0bf4b9e9664770cbecd9b31b1a1ada823f303061e8a4e940e1ca77615c7e020239ff909d9d5d2db104de5d4949c92f7ff9cbfff88fff7094c8b163c7429187ae5dbbba0fd378f5d55791d4ebafbffef1f7b27bf76ea9d75b76ecd8014585652609c81f3efbec339eff106a6b9169cfbce9ee6861fcf8de7bcf041e3e1fd87f547e676478795d259dd4fafafa500b57286969698eb1709e29de2dfd86235f7d274dc61c5bb6ef1b3d763c239a82123cf1878e2c68fd7dce3ffc6c4925da317b4cc4445f78b30e1aa62ce5c0f13fc1ef872ad0d73a4a812706b865efdebdf66567ce9c81479b949cfcdbdf1f973edb0e1f7cfa357a9c9cbce99c654d4d4df57fe482fff50f4ffce33f833f98f8a5a4eb52fc1c56cdf50f9250b270e14277a10c1e3c38e8c573e6cc091acf29894ca067346531d90c37fef8c39f7f387f9a31beb142c1f3bf469afdb206aa5d8e0623c78c851ae7cf9fef2eb5ad5bb79a1a0c2e61ff04be3160c0007cbffc9537a4c336c21ffe72f1a147fffb2cbf4d9b36454c1e50588d8d8dcdcdcd72ebdb4d78f843e6c8097ef69eb797598f7b709e9f5513332bf620fdac41436526c0bc675e087a263757b1bb439e1c9771b3d7a259a5d264fbe0fd235fe4cd2832bea69f93d4fdefbf44420ee6f074ed9f474f9d396442be1f77024687f4ef183f51c1b40ee4fc64dadf5d7b2d0836acc95128ab57af0eeaefd6d5d5d9975dbe7c994c63cc9d3f963ec3d07cdef4d163c7774bbfc19eb58b72d7b8b8e40f6fbdf516defffa6e3d60d531210f681a7af61b8a34173dffb29ae368f0eeee431ce43e74e890a3d44e9f3e6dd648555757bb37781d3c6c247c5ce9b04df1ecca359cff89f8e40d9dffd0fe72e1c20594da75a969dc47d2036812e1ee8036946cf868c6b22d295dd2fd845be4ce7d15e9a383918100c7cf5ee89bd93fe8aa681e016e4b5959999be9a193aefbfc5b69b23d51b1b93aad4b4becd9ac59b35a352846cbf839ff01183b7d0eec28ad7b6f90073f9bb72edcf635cf7ff8e0d3af552e6e14cf9ecb83b61c8572eedc393779c8cccc0c4a33e42d443c8cf8cece0f8b669572d6ae7bf7ee070f1eec5cfcc1c4ca8f9e3a3326fce1de92959c7c40cfa11a1625a615b64c0d4f9b36cd5d6a2525250c70b2bf3c7af4687a7a4b6bfbf67b7ba4bd76c08c471e83b6070c18004627fe102f327cf870949a9fbd23c11c864f7eb047df41fd47dfed1db4e9182e5df1ea4659877146d9525dbc78d12e850d1b3638fc9b13274e985faf5cb9c291d1a5e5af4987ed8fc0fea3a410ad9ee517d6f9d3e1821bb10cbb758c4a24288e7cf51d47c177efdeed2897ecec6c877d390ea5696868e04eca5bb6ef9326a39cb5bbe7fe7c4e44545656762efeb07ffffea4a4a4984431a14bbef6fba4d6570554ab621240cc467cdbb66d8e52e336cf4f3df5947b435e8d7db6e70844d6a096d9b655ab56893fc48b949797a3c8864e9a1e7377e7c9ca6368009392920f9efc46d66170c7f889ee2dfce1bed83b2981d4b997b9c3b834327ab5b0a97a0707564f9d3ae56d505ccd72cbd8fb626e50bdb3462816d71b2b5eddc8407cc7c2686e34678b234c9f3bbce73e50201dc6044f2e7a8e14e2c0810371cf1ffc9cffe0d812143d9f9f23e53db656b82e350de93c3e77b12a53acb060e92a1e2fed1ee11e3264c8debd7bcdbf3b77eee4462560c3d25bbb015499a1db4157ba8b3f7440397ffe3c5a793477251b3e8aadbbc37de7d425bb07b3e18942ce9e3deb5ede40411f64530b9e11be79db2e69ef2a025db99f13fd2e5cb8c0f2f213e0e71fdc79a967ef3e8a65f01ec31a3c6ca4c38220172f5e4c4d4d35f6356edc3877d499bc85b658ee055b88e05895f83b7fda1d37cf9d0d5b8d0c0e1ab6c499876985c5aa466d1140fcd24b2f398acc31bf74e79d77e2b227e63f2ba5b53386dd3a069a7febadb7c41fe245b845ba9f55d4fe31b3620f271fb459901bdc6f0084c12e8540e07f8e19b5571fce993307dfdc737fbef4d641c263dc3b683984f34569dd7bfbd952c90f1e5ff73b0e47aeadac514178e3edf7f6706f56c78ea2454545c6be366cd860ff74d75d77e1cb27173d27edc5160c64f2b37028a1f80364c58a150c64ca1872bbcfed9cd96b0eb8ed1ed6d1c74a1768bab98d02887bf4e871e2c409efa33c7af6eea33d5bafd61c516161a1f8431cada2e60e043f2e5c10abc8a51e7d0769f635140e9efc869ea83db97ff9f2654660db0b404f9d3ac53d5b3532da71a232dcfb7eba5741f020085841f47bb1c09a4045905ade8c2215811fe4e44d779fd2cd206706d5a0c533dfd7d4d4d05b387ae6af525dcc63ceb96975ab517f89c61f20dbb76f27856839ff68f8b8dcb9af96bef549a8cd497eba7823170b72970cad79683b8c9b38194a2e2d2d0db50d2857b0bdbcae52ba6a7fecaa3bc91026f1873892bd7bf732fe3efa755ff3abeb3386b4ec263472cc5875c9defb950d1f3edcde1594530dd5d5d58e759fa2611d27f62ce8d63d6eb974e9127726802d84721bfca064c347a4e2778c9fa8c825ff4b78e9b63a3621e028494141815d4cf416d66cac92deda028f952e68393d79debc4ec71f20e4033cfff8bf3ff71b7acbd8fb46ddf7f777152de2b6cd7d068e36bffe282515fad27ac176082006b5dbbf7fbfbbc8e6cf9f4fdf458aba5aa02d84bb0b532010a8adad6d6a6a92377f558467c95d9b9474f7cca511bb3b7095481eb2060d5533e81da8dd2f6ba02394a2aeae2e3535153e8d1dd1d44bf3a81d0974061c6b57824a4343435656167784f7b3bf991b3f5dbc91614bb02651f1b0f0c4fc67a1b7bbeebacb1da8b963c70ef3cdca952d3b648e1e3b5e1abbea943bd1f8c3a1432d670ef4b9e966f0fe175fdf7ccffdf9dcffc72da00d13b2739696bfa62eb37d5034ab146a9f3c79b2bbc8525252f0d3bbbb0f494b570b5ca3e23ea943e74f777031bb880eb8ed9e08e22e662cdb0257896de6aeba9332046f6cdeb68beb0bed688ae5cb979b70267a9fe87aa4ab8e36fbed387acc2332d02c8b1f347eeacc8a3dfe03a14d3843de8c22918770018d91e9d5d4d4d8eba4616e666b2690402eaa96b7d0a64077106e08531cefbf64c72f3946b2fff0978ba86aebab0268d3e73df3c2f257de585b59f3cece0f65deed8cbacfbf6500f1d6ad5bed229b366d9a96ad5f758c1e3b1ea5f09bdffc46fc21eee4c081039ce54fe9927e57d1229f2ce2e155b5992327d0dd993465aace38f309e8ca31b96fc299b8af2e7a1f2da2eb50e089d4b657daea5a88d5ab579bcd7f6e197bdf4f7ef97aa875d54ffce33fdf37e715b384127d9cce4e89182fafabe4c8b799d0fbdbf707843b5654cf78e431e9aa4d31213bc7b1d62bcef883fff31f6cd9b66d5bcb565f1327ab0674d80062fbb43296574a4aea81e37f927eaefa109dfb980ef187b890f3e7cf171414d083b92e356de8a4e9a13c9e9fbfb2031cc30470c2dd8155aafe87b558887bb93a06e75004f438dfd9f9a1b4d4a1c05332ed352a7ea4a1a1a1acacccde42b477d68841e3a78ebcf7e1dbf27e81bff8cc750ec694e63df382e2d6a204e8b7fba838132bd8b24756972e8a19e9802623fe20b47900314f2b5bb66c190a0b2c62c48896e375162c5d25e5883f48a21478b4864550aeefd603542173e40400be4ed27529727762b5bed071aa407171b1f6db4924fe6058446565e5c48913af09217067731f2878f1f5cd32a598e0dddd2d21e8a06d8e2308ae5cb9326ad428790bed03ee5a565e5e2efe2074b800e2f4f4f4cf3efb6ccd9a96e988be99fdb54985f8832456827eb7a4a4849b1ebadd1d985bd1ac5298a18c2e62c053ec7e634f7b59e7c71f7fcc79d40f3efd5afa4924fe608f7c8f187d47c5e6ea97d7552e2d7f0d7fd756d604f61f55ac5acc31adb0858a8390db450016872ffb650d54c3d50ee04172e20f42070d209e366d5a8f1e2d0b37d1224b2771ca1feaebeb1b1b1b9b9b9be5b577c07d99e0361d3cf9cdbbbb0f6dd9be0fd85577528bbe628515af6e6cd963272b8b2b3bc78d1bd7b228e29917a49904e60ff22bda07078eff89dbde9825ef172f5ee4122f1dc627fe20fed0a9f1fe912f927e18195549c5357fd0f90f1d9c3fa862b75d28264f6d5fbd7a75555595d9f44f9a117f10a2078f34bdfdf6dbb9390177719d909d23cd883f883f74763c3e77318a092c22b0ffa8b421fe20117f883b6cd9be0f4aeedab52b4fb3d23caaf883102b808a734bf1cacaca3367cef040f7dffefeb83423fe20fea000e2efee183f51d3fde20f12f187f8053706e549c3d286f88310438090b71cc5d8abd7942953f0a16856a97422fee057223bff41fc4110c41fc41fc41fda011f7cfa754a4acbfe9eb57b0f4b1be20f425bf44adc2c4e07d4883f8427119c3f2dfe2008e20fe20fe20fed83b7dfdba3359de20f425b20b0ff28974a2e7fe50d6943fc41fc4110c41f24e20f8220fe20b48245cfbf3cadb0589be48a3f883f0882f88344fc4110c41f0441fc41fc41103a257f080402b5b5b54d4d4d72d9c51f0441fc4110c41fc41f0441fc41e74f8b3f0882f883f88320fea0fd970441107f107f1004f107f10741483cfea0f31f0441fc4122fe2008e20f8220fe20fe2008e20f12f10741107f1004f107f10741107f90883f0882f88320883f883f0882f84350a9afaf6f6c6c6c6e6e96cb2efe2008e20f8220fe20fe2008e20f3affa1d3f187a367fefac1a75f87c291afbef393c8c193df1c38fea7b8b302e43968b6a19377767e58b1b91a7f836a00774139a15ed9a854ed8cf8c35501aaeecbeb2a43fd1ad87f14bfa27ebe7fe40b7c80f1aace883f883f440bd8129a1ee0dddd87224bc19c9b089b446ab0cfab5e33366fdbe5d194b00589613edbe8e44836796ae962a561f107f107d3e85d135ad0aff8ac4e7d33fbc79d2921cf8e6c8312408d3f4a49351a484a4ec6370eaa80bbf0132e03557027fb58e902deabc6ca1bec7dc41f628edc070a90ff2ddbf785b256d46aba281e9709e20fe20f7eb1b4fc352495d6a50bfa86f55581706f3f7ef6c213f39f5db07415ff854d22b5b6681c23f314bdbd8798e4135d293a4ea381b6a8df9dbca573d431f10749acf803ea034ccc0d9f169718fc6157ddc99ebdfb401b70bfd656d6e0ddf137276f3abec1f7f8d5c11f206b3656b993ed73d3cde20f7e0002d6164177e20f9bb7ed42fe1f7ab4c4fdd3079f7ecd1ace5139d8b826ca049dff10ad062764e7803cd47dfe6d64b7d32ccd705dc7e10fc883c720620cf9035fd9e780a5f843f4754cfc41122bfe1065a54a00fef087bf5c1c3c6c245451b1b93aa88ab2060d058137378251a0bf00bb08da0c0ebb758cf843ab68a3453be20fa8cc20b1ddd26f3035d6d1938260a8fa0989c31ffe76b5cf9f8eb20becb0fcc18ff720fe20fe20fe20fee031b5c828c78327bf595afeda13f39f5dfeca1b7630211b4f782d70be1f9fbb78c1d255ee10d0dabd879f5db9e6b1d20578162e339e8d49bceef36f912c6ec765ee4845dc8e64f1eb8a57373ad624985c2d7afee5c0fea391f187351baba087e2d973835ef9d0a325f8158fb66f9c5658ec0e61c295fdb206d285f57eba795f77b6a11ce4076ff4e4a2e7d65705ec90c577767eb8b6b2061f3655efc0afd0092746700dd4e8d09ed12daec153902034ef0e8084378942c1bd2fbebed9d62de38b9008b28707e176e4ca713bb28a34836615c9d24fc5f7bc0099b7e37ba1a23bc64f3481a9b8972f858b1d39117f88acc7744752a0de825ab098501cd0953db106fddf737f3eae0101467de0702a2e46ad868999cb7efbfbe3b8d19803cd13dfb8ad0f89f311a8ea286ba40cca6daa81a96645b34ac1de613879338a4cd3815b70af4d81609ef6a40a3386aa12b40ee07b543f142292c543f16a8ece142f387aec7864098f46061cf330a8966cd6721f284096603e807d3b32c33ce302c71b893f7422fe804a8f1440d6d119e0037a38f688767561542b2a373fe327fc8b4a033363e54345444e50db70235a433ad3a8c168cd7101bf7ffbbd3d76823042f440ec8a264d996a5741a48f67c1ea468e199b3568a86da8b455a4c65e84c005f8c61e54c0732764e7c0f6904f5b3fa8f7ece10034d3b8d1e60f304834137828b284db6136b89d0a31a68e3ce35e5e609e881438e466341054d5b061bc29ae61176b5b2c9ec27e14a68e0bf0d6306fd337b37ee376e4193fb119b25b2b769f347800c581d6c74e1c40e6a1553e1d4566cf35e176d3c0a1bcf014db2d40d13057005240c1b9534623c26c43f32c23be29d4e2a067780ba88ed94059d84a40e2a1940055db752c2c3f49fc41fc211afe40e28abaca46b2fb8d3df12f3e1b434075ead9bb0fe3aa4d6c0f0d81c6858a8d6f70237ec58d1ccea783c8c461714801b7338228ad4b175890e376dc88bb700d3e985fe1bc224b00cc9629c36422e00f8c53b27d29471f815f61b6f68d70ce1c214cc82ade11ca6c953f30db7817bc11b36d8a0079a00ee1e7511b7835d3a222657ccf0077fe8a74d83818ed210f6c55a85bf21c248286dd911ada16bc94291a2ad9f444ac1b68dfa873140a3d7ee3d221abc83fbe648f800f7884491cf50117c31f655691080bda0c3619c1bfc8092ee65b9b528e6c21a2f883297ac7fc184ad6ae698ef50f281a4e9d81c2c1d8516750a62c4da80235c4a403324913b63dfba0cb8158d0a815284d5831c06a6ffa2f1431ea157e450ac8002a127e25ed81fb644f95f08d20e65ebe4ed0d14fd6492e5e426e39b568fc28345c7c285e130f454fcd2a6af2cf2a840a095de12f2e46b534f501198036703bbc08e8ca91b8f843e7e20fa4c89c8fc607d206777f6c4f50e027541ad421dcc5aacf061db6879fe098d26cf02b804a866a8ac4519b4d83880bf00d7e456fc72a885f0d93667ef0383c02b0a93f1b7d18a12133005b5e3cc87c03e3616f67af7f8005f23569aba62f3716c87e1ae684fa84bfc8129e6ed48b3e1bf7e21be699bd11cd06064f23341a08b5c284cd1352403a48cdb405780a12c437c8367a2c266e9a3fd66f641eef452287bce162b3ae117d242e405fc58134766686017210024f84a2703bd5851ed7e48dde035f1c492171dcc2411af4f4f897748b4a6387ed4899d9c6678e6232b601dfd0d9326d349c2a871250044609489c4a404e8c1218ab8ab6d2ae63a11c1df107f18708f803ea2a3eb8e1e8b961c2340a8e3bc052ecea64060e703dcd848e2687f651db792fbee4703e9b3b93384c8f17d02f37ce3a6ddffc0a638181d077811f00db84399b016c989eff09559b3fb061f40ed6372e146fc48bc0786d17ededf7f6e0e9ef1ff9c29b3fc078919a71b5d19eb3f144ef8034e1a9202766b06953f50e5e6c7b3668bb782f9f0825a049a4f7b3fc95378c9b6e746bb8dcdaca1a5e6c2fb435ed24f4c94e8189b36e40336cbe903776102c38467c21aba67143ab88aca211b66b054a8764066d355d3ad368db9596d936c163f4f070aff843c440a54271d8d338b43ba37f9b3fa0eeb1af313348342e5615765b86b44333dc63c070458e81868a4ac0afe6a1a8cf66a20fcf62ef697e451d26d940b6f1a53d1c8036870f35d5157d287218d4d9702c4f32c9f2627a0bf63820b913e7286853f64407f260d70774c148ca74c1780b3456c85bfceeef22fe10e3f8a556f983a961a83d40d0f825f404a64ab1521ab3e134a2f915df90e6b27e337d63ccee2846b4d1a8c1c636e84c9bf100d46c76f60efe40b7db9e44a69fcdee96ddb63d7a07fbb4d58bf4cdc896311beee4d06afc12fa545c89ebed2daaf00aa65f643ecda4012ee3703b15c2fa8d6fcc0801fb1b5ecfd141bbbcd0fa4021862130713b6f1c156313803e159ff1b28e17c7f74c07ed85792e3e70b08d2fc294d95bf3a538cc6666873846c2391c3c0ebfa29d7528c174932c8e504ab8eaf14b8140a0b6b6b6a9a9492e7b27d97fc9e60fc6a127d01438eccbdea4883daeb12f3495f6d8240d96359989c313b51387c599c616eda4e357b46c68ca60146c276d2ecdc86fdc1e2e7fa097e37db15188b991c3b4f6b0251fedcd1fd8bc186f8c2d035a24b82f70a06d77df766ec82898b23d59cde5dac64d4467612a0375ebe81fc901a0bda043d45c7acbc69075c39e87b70b8e573a66e98b66959241995a61cf94d20d357cc3aeb46ce1edf742fa9a7f8872175743f658313832e5b07d16070bce76a9d94ba2c342f546819ab2a6bf611375dc653fc8cd1fecbe15168a6f484bdcbf9a6c3365b807c6f6e10ea144605fe615f053a832724c8f3892459d74ac0021abe1afac3f362da1eaf82cbeac3d566bbc3bc738aff883f883177fb0fbada0fcc161181c200fe56adbf59be93be29d6c706a8fcd2bfd7e6e1a48579ecd34bb73c31f68030e278057f2a11c77b7872b6cb3416f67fc6087d5d16cbcf9032ba8e38dd80699ce063db11d3ecb5e967485b7db4b1bc991a861b4685085638f45868dd9fe8dfd6a9c0c61d3c90ed5fe156d079e8547075d1f8266d4dccb94ed18240ee0d93a347529e82a0e36dc4c81a3b6a19470d5f983ce9f4e54fe807b512dddb01b374392ddce37e3975a5db084d609dd36e831a7fb6cfe10aab1e5af8e66c7002e021a28c79c090329dd632edefc81b3c11e177341aae346fa0d1ce6646b49d7dff0077c69eb932d36c365833e854da2c38d63d3ca8dd798b2fd761c8a0aba2e99da73b011ce1d19aee288bba07bc76e8275c36eb499209d27364d208ab6f239c24d85b8b7fe7304ccd8e50ecda0f7e118131ae7683605127f305d0fa7dced153e76d8b35d1c2c2cee5f6fc0c81c3240d81a15c24e1f05843acce263871874f43de84250a35b5645e4d07e2887f6d83830500a29a35ae271f817750f5666466c43b9ecf6eca819c1b41b312807151bb723416480331b86b4b88712468f1dcf3c538df8d7ce33e7f1e2f7044fedbf7415f843b8eba71d6643833460b7478798e97bb4a19cdae3e36000488a2343a6e1362370a6110fea04d8f9b41d6e03d812f36c3621b1f3ccd171cec378f307ce18d2080d18edc39100f7fa75db0571bb236eb7039d2e140b5763d294a98c1ab2fd1b3410a17ab2a0ed853d8c0a65dad966c82f875bdc7da47b5379934f1215871238aec94eda7d2f5f5cfc4172d5d73f38ae71f0070fe34567cf503dce69c00f60b88e1ffec0b08a50d963b87f50f1e380daafc0e637d49a5d7ccf76c07123173c70089fe3381cc5301d848920a2f02eaee0f2f07d1d99672276d7e0b3c1e18d8e6ec88c89f083ed501aa664b7f9a15a5de624a8b8a7be5be50f24638c036122d07664db04893f9cfadf4791b04e42b7a8abf6e0945d1cd036d77fba41fec060a1a367fe0a8acbfac6c5840c9f0e1569e6ed08b1957074af04e73ae8d5e076b603f8cb60017ca01315caccdd4d0aab2e0340ded9f9a1593b84de1f5f920c339f6e836265f67084ec3c8b3f5c05b9eae73fb4277f20ab4627eaa0fbdc34c00f7f2021a6d17235303e703c005d1decdc9c12601a710ed83b7a623b9f41cd068fb0cda1f2394400000ff249444154066d50a83c7bf3077a0cee7b01ce5947c31fcc0a4b0642e0331a17c7fc832371bbe90cfae276c068ee0305ee6c738d5758fc814b153d9420fe20493cfec0317518114c86ae8cdd16f9997f702c893e7ef602dd20ee76e0f34d6bf71e8697603304fb15e840d883f178848961e07cafc9867da309619a56586cbc28d341700724033aeb8ed5a82630d2cc463a5637d9242a02fe60ef2461cf3f7024d51176e29e7f08d5ead237f55888152e7f307a40c640c9d08b4516532efe608fa971e60a76077d3aecc82e0e2e77f498b563202eaa0d5c678e18b222c1ac706328d7d9db11620d74ef98eca8deb02c547e4e3b90c9e371c8b04798a25937e8c83f6e64f4389c25f055c3a6ec40837beecf774401d8a49a04c66153dabf55fca115fe60fba351f2073b54c9ff289403681460b76c20d82d713c803669af4b6656d117ba27f5ecb03f8efd38ccc6ac9f6ed56cbcf9831d17eb73ff5cfffc816b21f08850ce81377f081a4e80c611ba25d3f3d837362cfe60872ab53a202afe20490cfe808ebf5fd640fb573626f442bcf9039a23f73a5ac64bc07161d880c3c5e456a1a1fa487b5b277b4a0189a0f573ac5843038b0613ed00beb77d59fbdd19c20435229fa679f45effe06e0c9132074749541c3e3d5b2136f211f007479bcfa9603c912ccef12bdd2c3a9adefc81bf3a7a0464126f415211167f403a8ef3ce223ea940fcc131ce3872cc58c6eb3ac89e5d1cb429c77988b8176e8f21159c6a331ebf595de3d1b37b3b428c29320bee4d6831cccdec3ccb3d48c016cc421dbe11ecd1a3d5e29662f69a2b8612c02f62b6eded678c4972f880ee84ad0ada38f30c3f8a7b363834d9b3779fa0a7498a3f7452fe6027cb75b1b1e20fb898819e8ea508f06269997ef80399038305e937b3ef41cdb67b6bbb1187d5398c8a66c37cbacd8633f2de66833cf376c7de7041d772397e458b00ab33eb1f22e60fa196a398b0606ffe602f4f742c5fe14b393a36749050a30965f6df9d93da390e904609420966fd83f883a4fdf9033a69d42e37cc7e4ad1f0076e3266b83df7e171f8b81e93bd9cbe30ed126e875d730f7b0e7fa021356d1a4dcc31f4688f95e0274e5fd029b75756b0fd44dee8b3224d7cc31dea1c3ebde3e039bc20f2636f05e3cd1fb8960c864fcf8cdbd8d3578696989a69cdd0ce230fdcee2932fe808c9996131fecfd97b8e5aed91a1f4f471fc161a956f903c3eb01b35a0379b6cbda0f7f309d20dd3b33140d9d78efa82bfee01376b07450db6771a0ea720b323040cebcd137b0170ab3963ab65da2c9788f2a8672840c9b858de389782e9ece9548a6b9a0ef6e3355f6d78ea5f941f75f421542738164a104d46a3210ae534245a5e3817fc99d4c13876fb8b118980cf28f7b51a5b925a3dd22992de09143ee06abfd97c41ffe8779a3c6a0eaa0c5841349beebc11f388084cbe0739bf31f3ccc86a688bfa8df9ce3e61ec3ec08fdf00763bd660b23136b6b778a7623ce1e14dfa051c6836090dc2c88f93466037342fec167b8e7acc93327ac61f078106e7798bad9a4051a70ef03cdcdfe901a92c5af50110306eccdfe22e60fb47fd833bb58941797289817f7e60f2802183f94cf094dde8e576373c0a023e4168d05de14f9c75b40e7f6fe4b3ebb736a18b7a361a212d8149a91156ffec019a461b78e611d6b7ffe505f5fdfd8d8d8dcdc2c97bd93ecbf64c63ba2e10f344f34145c688886146d8839bcb955fe004be13a2b181df79dc3bd66a31e3623f006f013d730c078835a070c96d51e19202b80c93b365d3084812e3b3fb391440e83ce3f9886d11e0f6af5fc076e5c810c20db6cac4ca38d57c30b22934890fe3d546776228a803ff038058668e3837dfe032ee0d38d6ef15c43d5bcf983c92a13e76ea1806123adf20796176ec7f768dc981394358f300beb280ff1078fc31f7970873bdec1511ce08124f64660ad7657cef1443b6a881c23e8749f4ffec0c03ffba1c883bd7f0067206d2669f6843de579b439ea39d77f53503fed51061a355741e089a8b4f8c60c14a25960bfcfb368e007f27c1b9325bc3853a0c090e3fa0839f18718f307b4d7dc178f82268967bd79740f6c2e79e863ab66e3ae82a8ebc6427cf207f65bf69268dabf5d951d8d382c81d648c3a0ff6af2897e857190ec92d19b9afd97ccf6ea769ef1387b0c80e72a84da390a891b1551d04f18938e863f20113b65f461782f2a27d4e486a3e984c6eca6d36e0e9038c3248c98fde6c3e50f4195002fca28c19b3f18321374d5a3ce7f107f88ecf44cd4b15060cb00da8ccf8e283e7060b3f9092e736c84828b718ba9b7e89ed137c3de79ec263d75c64c3371c741b98e04793a245280b1c05971348cb57b0f2359fcc433713d62b8f1d3f257de8039030b96ae0aba733cf2836bd0dac346f0179ff10dcc0deda10961b2df9de3ee7805bbd5c5ebb43a4f68b28d8ec011a583a7207b79338a90013cc80ecb74a7ecc80c1b0dead3103fa40fe52041bc8e433ff8174a23b5836eed4014d60d5bdbeec24256518ec8a7fb76149923ab8e04f101b7e0f559b5a879eec0838ec6236a54fc212ca08ca06af7b9e3e877f0bd5d1f387c86828387ed9ef9e1ae47b6d5a0c83898e86171ee0bccc4a6bd39129e88e7a2d0ddf964fe1dd9f01e4163f1e1e9687990ac63433332848acdd5f809efcb27e21bc76802f738a67edc1b589b14ec7514e20f9d943fa03a3a6a0f77f84215619b88ca642e60c50ada25a03ac25a7c9a0dfe65fdb6f70237e9b75a2969fff653dc2d85c3f668f37828fa003c25683ed9283011777862a83cd3b0c1bba8018fb393d0191bad7ae89fd9a0f5da9f43b565c80f72c518008772dc89076d3a917936076e170417436368e31c2d915bbdee66c8914f0f25b8efb5cbc251c7c41f24d1f307c1ff6e985192f6f6470c231ee308e20f4234c5073e9c3568a84d9fb8814164b361e20f9d823f080b96aeb2e36e439d62212400c41fc41f848487f883f883f843b8e0f2a49163c6aeadace1fa879ebdfb744bbf219a3349c41fda56aefaf90f0237621b3c6c24c7e0c1c2b93c2e7e570509e20fe20f82f883f883f883f8837facd9586587af4fc8cef158ab2dfed021e4ea9e3f2d304cd9ac3c0697b8e7fe7c8f1d5705f10789f883d09163aeb66cdf97c0e3a6e20f42dbe1c0f13fc176429d2929fe20fe200481cfd51782f88344fc4110c41f0441fc41fc4110c41fc41fc41f0441fc41fa14c41fc41f0441888e3f040281dadadaa6a626b9ece20f8220fe2008e20fe20f8220fea0f3a7c51f0441fc41fc41107fd0fe4b8220883f883f0882f883f88320241e7fd0f90f8220fe20117f1004f10741107f107f1004f10789f88320883f0882f883f88320883f48c41f0441fc4110c41fc41f0441fc21a8d4d7d7373636363737cb65177f1004f10741107f107f1004f1079dff20fe2008e20fe20f82f883f8832008e20fe20f8220fe20fe2008e20fe20f8220fe20117f1004f10741e8bcfc41e73f0882f88344fc4110c41f0441fc210cd1f9d38220fe20117f1004f10741107f107f1004f10789f88320883f0842473499aaaa2af1074110c41f3a91d4d4d4a034a71516ab620b42f4fce1dcb97348a16f667f2953e80c9834652a2afc810307c41f04416813fe1008046a6b6b9b9a9ae4b27728d170a92018e4e44d8739ecdebd3b6283ba7cf932524849493d7ae6afd2a790f0e897351015fed4a9539d8b3f6cdfbe1daf3d72cc58d50041f08fd163c7c3707ef39bdfe8fce90490b367cfa234d107a8620b021bb763c78e456353d9d9d948646d658df42924367efbfbe3a8eabd7af50acb401261ffa543870ee1cdfbdc74b32a8120f847dfccfe301c988ff84302c8a54b979293939392938f7cf59deab6d09971fcec85b42e5dd0b85db870211a9baaa8a84022b90f1448a54262e3c945cfa1aacf9933278ef94364e73f40aef95e540904c13f6835a74f9f167f480cc9cdcd4581aed958a5ba2d74666cdeb60b8670fbedb74769500d0d0da9a9a9482ab0ffa8b42a242a0e9efc867c3bdcf9ba04e10f191919327241f08f5d7527395f1981b9893f744cd9b06103caf49efbf355bd85ce8c6985c53084d5ab57476f53cb972f4752a3c78effc35f2e4ab14202db4b414141b8d69120fce191471ec1fb2f58ba4a554110fc00c6029381e1883f248c34343474efde1dc5ba65fb3ed570a17322b0ff685272726a6aead9b367a3b7a98b172f7274f2a1474ba45b21f1f0ecca35a8de5dbb763d73e64c27e50fb80b2a183c6ca46a8320f8018c0526f3d65b6f856b6bf5f5f58d8d8dcdcdcdf2d73ba09497977333090d970a9d10a8f613b2736002656565b1b2a913274ec0bb429a45b34a65564282910790ed88772a4b10fe009fa657af5eda2a4110fc607d5580c14b309c706d4de73f74f055d49999993a484ee89c78ac74012a7f4646c6c58b176368563b76ece042089093f78f7c213d0b09b0e681614b900d1b3644661709c21f206bd6ace1f685c7cf5e50e5108450808170a7e7975e7a290243137fe8e072ead4290e97c297d270a9d07930ef991750ed9393933ffef8e3989bd5b163c718c894949cfcd0a325efecfc500a17e234c0efc945cf71c1347a8a68ce48491cfe70faf4e9810307ea045641f0064f661d306040043b2f893fc485a04b48fe7e567ad294a9759f7fab3a2f24368e7cf55dde8c2292879a9a9ab65b5f3467ce1c5a16a4fb8d3dc74d9c8ce65410e20213b273b8693ba5a0a020ca35428970fe8391bd7bf7a6a5a5412f60576a520521d4b26998098c25322b137f880ba9abab634867b7f41be63df382ced0151212a8d84bcb5f4325e760ea810307dadab2ce9c395356563678f0e06b249238948c8c0cd0e0288f56ec88fce16f119d3fed58489d9494c4f05fcddd0b82bdb2f0a1474bd88244b06c5afc21eee4dcb973d3a74f67892725274fc8ce7976e59a8acdd55bb6ef1384b806aa3168c3a4295353525259c3a74c9912930d97fc0b1e07965e2d91c489805d9f3a752a86269068fc0102df88b31083878d7cfbbd3d721c05013d2e375c8269ac5fbf3e1afb127f88bb8988fcfc7c137421912498646767b7c3b4834422497cfe00d9bd7bf7cd37dfccc6e58ef1135f7c7df3c193dfc889143a1bea3eff16951f2660262e611a511a97f8433cca850b176a6a6acacaca8a8b8ba74824712e4545450b172eacaaaa42c596754b24e20f31e30fdcd175d9b265e9e9e96694a26f667f3852b90f1468198d90d840254755b7574ac110962c5912c16ead6e090402b5b5b54d4d4d6a3d2512894422117f4828fe403971e2c49a356b72727252525234cf2be96c826a8fca0f138021c4d0ac74feb44422914824e20f1d45a2dc7fc97b3ae2d0a143dbb66d5bbf7e7d854492d0824a8eaa8e0a1f930907f1078944229148241d973f4473fe834422691f117f904824128944fc41fc412291883f482412894422117f904824e20f128944229148129b3ffcd3f7f2c9279f38bc967dfbf6fd5330d195ba5257b6e795fff22fffd2dcdcacd6532291482412f187ab2fdbb76f7ffb07397dfaf4fffbdff2d1471fbd1d4c74a5aed495ed79e5af7ffd6b4d41482412894422fed021044ec9bfff206e07e5f2e5cbff1e4c74a5aed495ed79e57ffee77faae9944824128944fc4122914824128944229148c41f241289442291482412498ce4ff03a47aec21c1eac1c20000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Workflow of TodoMVC, with Backbone and jQueryMobile}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Routing to a concrete View page, Inheriting from BasicView\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When the hash URL changes, e.g., a link is clicked, the configuration above prevents jQM from triggering its events. Instead, the Backbone Router listens to the hash changes and decides which view to request.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Experience has shown that, for mobile pages, it is a good practice to create basic prototypes for jQM components such as basic pages, popups, and dialogs, as well as for using the jQuery Validation Plugin. This makes it much easier to exchange device-specific view logic at runtime and adopt general strategies. This will also help to add syntax and to support multi-chaining of prototype inheritance with JavaScript and Backbone.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 By creating a {\f1 BasicView} superclass, we enable all inheriting view-pages to share a common way of handling jQM along with common usage of a template engine and specific view handling.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When building with Grunt/Yeoman, the semantic templates are compiled by Handlebar.js and the AMDs template files are combined into a single file. By merging all page definitions into a single-file-app, it becomes offline capable, which is important for mobile app.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Management of Mobile Page Templates\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Within a concrete View page, you can override properties for static values and functions to return dynamic values of the super class {\f1 BasicView}. These values will be processed later by the BasicView to construct the HTML of a jQuery Mobile page with the help of Handlebars.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Additional dynamic template parameters, e.g., Backbone model information, will be taken from the specific View and merged with the ones from the BasicView.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A concrete View might look like:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 define([\line
+ "backbone", "modules/view/abstract/BasicView"],\line
+ function (Backbone, BasicView) \{\line
+ return BasicView.extend(\{\line
+ id : "editTodoView", \line
+ getHeaderTitle : function () \{\line
+ return "Edit Todo";\line
+ \},\line
+ getSpecificTemplateValues : function () \{\line
+ return this.model.toJSON();\line
+ \},\line
+ events : function () \{\line
+ // merged events of BasicView, to add an older fix for back button functionality\line
+ return _.extend(\{\line
+ 'click #saveDescription' : 'saveDescription'\line
+ \}, this.constructor.__super__.events);\line
+ \},\line
+ saveDescription : function (clickEvent) \{\line
+ this.model.save(\{\line
+ title : $("#todoDescription", this.el).val()\line
+ \});\line
+ return true;\line
+ \}\line
+ \});\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i A concrete View (EditTodoPage.js)}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 By default, the BasicView uses {\f1 basic_page_simple.template} as the Handlebars template. If you need to use a custom template or want to introduce a new Super abstract View with an alternate template, override the {\f1 getTemplateID} function:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 getTemplateID : function()\{\line
+ return "custom_page_template";\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 By convention, the {\f1 id} attribute will be taken as the id of the jQM page as well as the filename of the corresponding template file to be inserted as a partial in the {\f1 basic_page_simple} template. In the case of the {\f1 EditTodoPage} view, the name of the file will be {\f1 editTodoPage.template_partial}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Every concrete page is meant to be a partial, which will be inserted in the {\f1 data-role="content"} element, where the parameter {\f1 templatePartialPageID} is located.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Later on, the result of the {\f1 getHeaderTitle} function from {\f1 EditTodoPage} will replace the {\i headerTitle} in the abstract template.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1
\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i basic_page_simple.template}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Note: The {\f1 whatis} Handlebars View helper does simple logging of parameters.}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 All the additional parameters being returned by {\f1 getSpecificTemplateValues} will be inserted into the concrete template {\f1 editTodoPage.template_partial}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Because {\f1 footerContent} is expected to be used rarely, its content is returned by {\f1 getSpecificTemplateValues}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the case of the EditTodoPage view, all the model information is being returned and {\f1 title} is used in the concrete partial page:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1
\line
+ \line
+ \line
+
\line
+ Save\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i editTodoView.template_partial}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When {\f1 render} is triggered, the {\f1 basic_page_simple.template} and {\f1 editTodoView.template_partial} templates will be loaded and the parameters from {\f1 EditTodoPage} and {\f1 BasicView} will be combined and generated by Handlebars to generate:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1
\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Final HTML definition resulting from basic_page_simple_template and editTodoView.template_partial}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The next section explains how the template parameters are collected by the {\f1 BasicView} and the HTML definition is loaded.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 DOM management and $.mobile.changePage\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When {\f1 render} is executed (line 29 is the source code listing below), {\f1 BasicView} first cleans up the DOM by removing the previous page (line 70). To delete the elements from the DOM, {\f1 $.remove} cannot be used, but {\f1 $previousEl.detach()} can be since {\f1 detach} does not remove the element\u8217's attached events and data.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This is important, because jQuery Mobile still needs information (e.g., to trigger transition effects when switching to another page). Keep in mind that the DOM data and events should be cleared later on as well to avoid possible performance issues.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Other strategies than the one used in the function {\f1 cleanupPossiblePageDuplicationInDOM} to cleanup the DOM are viable. To only remove the old page having the same id as the current from the DOM, when it was already requested before, would also be a working strategy of preventing DOM duplication. Depending on what fits best to your application needs, it is also possibly a one-banana problem to exchange it using a caching mechanism.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next, {\f1 BasicView} collects all template parameters from the concrete View implementation and inserts the HTML of the requested page into the body. This is done in steps 4, 5, 6, and 7 in the diagram above (between lines 23 and 51 in the source listing).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Additionally, the {\f1 data-role} will be set on the jQuery Mobile page. Commonly used attribute values are page, dialog, or popup.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As you can see, (starting at line 74), the {\f1 goBackInHistory} function contains a manual implementation to handle the back button\u8217's action. In certain scenarios, the back button navigation functionality of jQuery Mobile was not working with older versions and disabled jQMobile\u8217's navigation sytem.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 1 define([\line
+ 2 "lodash",\line
+ 3 "backbone",\line
+ 4 "handlebars",\line
+ 5 "handlebars_helpers"\line
+ 6 ],\line
+ 7 \line
+ 8 function (_, Backbone, Handlebars) \{\line
+ 9 var BasicView = Backbone.View.extend(\{\line
+10 initialize: function () \{\line
+11 _.bindAll();\line
+12 this.render();\line
+13 \},\line
+14 events: \{\line
+15 "click #backButton": "goBackInHistory"\line
+16 \},\line
+17 role: "page",\line
+18 attributes: function () \{\line
+19 return \{\line
+20 "data-role": this.role\line
+21 \};\line
+22 \},\line
+23 getHeaderTitle: function () \{\line
+24 return this.getSpecificTemplateValues().headerTitle;\line
+25 \},\line
+26 getTemplateID: function () \{\line
+27 return "basic_page_simple";\line
+28 \},\line
+29 render: function () \{\line
+30 this.cleanupPossiblePageDuplicationInDOM();\line
+31 $(this.el).html(this.getBasicPageTemplateResult());\line
+32 this.addPageToDOMAndRenderJQM();\line
+33 this.enhanceJQMComponentsAPI();\line
+34 \},\line
+35 // Generate HTML using the Handlebars templates\line
+36 getTemplateResult: function (templateDefinitionID, templateValues) \{\line
+37 return window.JST[templateDefinitionID](templateValues);\line
+38 \},\line
+39 // Collect all template paramters and merge them\line
+40 getBasicPageTemplateResult: function () \{\line
+41 var templateValues = \{\line
+42 templatePartialPageID: this.id,\line
+43 headerTitle: this.getHeaderTitle()\line
+44 \};\line
+45 var specific = this.getSpecificTemplateValues();\line
+46 $.extend(templateValues, this.getSpecificTemplateValues());\line
+47 return this.getTemplateResult(this.getTemplateID(), templateValues);\line
+48 \},\line
+49 getRequestedPageTemplateResult: function () \{\line
+50 this.getBasicPageTemplateResult();\line
+51 \},\line
+52 enhanceJQMComponentsAPI: function () \{\line
+53 // changePage\line
+54 $.mobile.changePage("#" + this.id, \{\line
+55 changeHash: false,\line
+56 role: this.role\line
+57 \});\line
+58 \},\line
+59 // Add page to DOM\line
+60 addPageToDOMAndRenderJQM: function () \{\line
+61 $("body").append($(this.el));\line
+62 $("#" + this.id).page();\line
+63 \},\line
+64 // Cleanup DOM strategy\line
+65 cleanupPossiblePageDuplicationInDOM: function () \{\line
+66 // Can also be moved to the event "pagehide": or "onPageHide"\line
+67 var $previousEl = $("#" + this.id);\line
+68 var alreadyInDom = $previousEl.length >= 0;\line
+69 if (alreadyInDom) \{\line
+70 $previousEl.detach();\line
+71 \}\line
+72 \},\line
+73 // Strategy to always support back button with disabled navigation\line
+74 goBackInHistory: function (clickEvent) \{\line
+75 history.go(-1);\line
+76 return false;\line
+77 \}\line
+78 \});\line
+79 \line
+80 return BasicView;\line
+81 \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i BasicView.js}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 After the dynamic HTML is added to the DOM, {\f1 $.mobile.changePage} has to be applied at step 8 (code line 54).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This is the most important API call, because it triggers the jQuery Mobile component creation for the current page.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next, the page will be displayed to the user at step 9.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+ \line
+ Save\line
+ \line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000002a90000013d08060000002839fb0f000080004944415478daecbd77585549b6fe7f9f1bbf7fdc7b7f37cddc3ba167a62775187bbadbac6dce8a220644494a54101473c69c73ce6d4654cc9845441424882839e79c4e3e9c80efafd63e6c3cd0daad8edd8ded7a9f7e9f936aef5d55f4717fceaa55557ff7772c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c12582c16ab158aff7566b1582c86547cf1c517f8ddef7ec766b3d9adc2eddbb7674865b1582c8654296281bcbc3c369bcd6e15a67f93f85f67168bc56248c5dff1a83f8bc56a5d43fd0ca92c168bc590ca90ca62b11852dfc6bfa52c168bc5b9fe0ca9acb7a8ea9a5a3c4d4a65b3bf375755d7bc37901a121282b90b02317b3e9bcd66fff89e1fb80c6a8d8e2195f56e2a3b271f77c2ef2323339bcd7eeb0ebffb009959b9ef0da4f6ead50b631c5d3165d642369bcdfed1fdefffdf7f20233b972195f5ee426ac2e3a7dc11acef45894f92df3b483d1a7215f1b9756c369bfda3fb97bffe0d5232b21952590ca92c16436a2fcc5eb81c81eb76b1d96cf68feefff8cfff46746c3c432a8b2195c56248ed85e17676e8fa5537369bcdfed1fd2ffff2ff70ebd6edf717524d8a42c45edc8669d3a6bdd04b36ed45788eee0d4e5c87fce8f338bdf3109e56bece811a9427dcc4d197d467dafadd38965cf503dfaad5288db98adbfb4f22a5faf58f2d890ec5ed03a7905afdf66bc690ca62487dcb903a7c38ba74e9f286eefcdc9d7f42b66ed71bf70d9bcd7e5dffcbbffc8b80d45bef2fa4d617c7e3daae49709bbf199bd72fc174473bf4fcc416feabc4eb55f311b874213644d6bdde49b51548bcb60b0efdbec480dea3713ef3750ed6a32623069702a7c2be4757fcf94b0f2cd82cea22bc9ede1bd9031fd9cec7eea349f8e150b5124fbf5e88d5366e08cd7edd63455fec9f87d5c3bd7035872195c590dafa21d50e5f7df5d59bbb5b377493dc1dddbb5bdca3478f77ceddbbf768aa3f99daf437f50b9bcd7e6d33a4166722e5d6693ca8955e20eef026040cda00894bf555c8487a80339185af77527d2db2a282317d5c2fd8be36a4369ea2e001f64c99847e632f403edca42ac5d32bdbe03a64007ed3790a3644e442f783dcaa75a84a8946dca55bc8537c575923aa33ef20ea7a5063d4551c9b1c85b8cb61c85730a4b218527faa91d4ae5dbb4aa6e79d3a7542870e1da42d6265b76bd7ee9db25c6f6a47c78e1da53651dbe8c629b793cd667324f57b8554b34603654909eaf0024885196ab5122525756f40998578b83f0013df22a45a3ea841c2c51518d2f32fe8e71f8c745d6bbbadd721f5cc326cf6f4fc5e22a70ca92c86d4ef17526d6d6d25207b5577eedcb9e93941dd679f7d863ffff9cff8fdef7f8fdffce637f8d5af7e855ffce217ef9c7ff9cb5fe2830f3ec0ef7ef73bfce10f7fc0279f7c822fbffcb20958a9ddb25fa7bfd86cf6abfbbd87d41661d516906a2d13eaf2a3716e931ffcfc8417aec7aeb0ec66914c6dc563dc38dcf8f9a4f118ddfb73f46f8254236af31e2064a37cfc06ec09cf796924f4a5902aa4caba868d9e7f457b9b69b8596439774df63d9cde603977e0a60388c8b59cd958938d88531b2cd7f45b839d47925029473cb3eee2d4fac6faacdd85a34955e2ed6a64dd0d46f0eeddb879f9320ef8adc5ee630ff124fa326eee3e86e4d26a64868bcff71c4244d41d9c948e5f8cad872291af53a138ea14d6f469872e1f7e8a612eebb0f7c443243eb8849b7b83905265b96e55c66d04ad6bbcee926d38f2201f7a4bcb5074ff026eee3b8288fbb77062adf87cfd3e9cfc96645686541643eadb85d461c386bdd2cd438e3012a47df1c51712ccfddffffd9f04a7f4ded0a143317af46838393961fcf8f170777787a7f8f14af6f2f26a7596eb46767373838b8b0bc68d1b87112346a06fdfbef8eb5fff2a412b41374178dbb66da5f6cb66a060b319527f244825408dc4c55dfe58ba6e3d76ecd882154ba7c3cd7f1a363782aaa6fc312e1e9e04cfb9d3b17ec70eac0bf4846d87bf431b09520950237061a73f96351ebf7cc934b84d9d81ad775e0caadf06a9a6b2041c9a6b833ff7b4c7a1c74a01a889083fba03878fedc08ecdcb1038d50df317edc5d3921aa4475dc6e6e5ebb141d469f3b25df87aff1d6449807a1bd7f6cfc48edde298350be0e2ea81a1d3f722f8d4268ce8de066d7edb1d9e7e07716cc741ec5db91ef3fbb4c7983e03b070cb46d875fb0bdafcae333c66896b8aebae99ef0bf731ae58fa751cd21343b1756437f4f8ac2b7c977e8d7d2bd6625eef76709072520da84abf8e333b02b062fd06d10f9bb164a13fdc662cc0fe0749c88a0cc2ca5e6dd1f9c3afe03567070eed988bb1ce5e18b5fc1a0af40ca92c86d41f0a52ade1cbda3298d223dd40084e7ffdeb5f4b91471a22b7b7b7978094008fe094206fecd8b1d2fb04acf43866cc98566db9aef49cea4e6da0b6b8babac2d9d91903070ec4471f7d24455afff4a73f49b04afd21fb657dc766b35fdf04a9376fde6448fd5648d596e2feb12d98e0ba02374aeb2d6900c55138b144fce3356129628a6b917e651fe6bbf8605b5429a884be320e214bfa603841eae362441cde2c7e9dafc2adb2c6e38beee368e058b878ac406cc5eb41aab1240e0766f5c7c7bdc7e0787436c20e2c42ff2edd31d2c317bede2e126476efed80c351a9883cb2028e8e8bb0ef69254c2a1514e5e550a80b71ebec764cdf7000699427aa13301b1385f3172310117e02d3ec7ba0479b6158732a1f4a81d0d54faf62fbe8ee18d5cf161b8e9f408078dee3b3815811948c0a8338bc2c1247678d84eb9895882accc19d4ddef0b5a5e17e716ce265095a4713a426e6e1eaceb5f0f6db8a083a50c0bf22f726f6cc1a03afa9abc5afa54bd83ca22b7a7c6e23ae9d8a8aca54842c5d0c77d7fd885332a4b218527f0848a508a83574c9b6ce2f2540fdf8e38ff1f39fff5c1adea768a30ca60e0e0eb0b3b3c3a04183d0bf7f7f290a49e7edd9b3e73b63aa6fefdebdd1af5f3f094a6d6c6c3072e44809580954a98d7dfaf491d20028a5e1f3cf3f6fd6472fea3f369bfdfa66487d0548359525e2c48299e839e22c329a92592bf0f46420a6751d865dd763716ef96c0162479058ffcd9cd4d3110938327726fad89f7f0e9ce672241e5b8080ee23703041f75a90aac8b88475133e41c7610b10969482e3dbe7e30b8759d8b86b177635fad8f9eb482aae4669c205ac9d2c7efd0f7684cfaaed382460d5581c833ddb96c27e6734be319749978b88ad3ef0b199f07c26bf782f7cf324f19e1b42931a9f0f75c715f973530962764d47c000171c7f986c05a9746c0ec2368ad702522fdebd8f6dfeb331dceb2a9ad2554d4588de1e20fadc0d413149b8b5ce13be7613719db8409b855b6bc579c72cc2dd5286541643ea0f05a9d6402a4f7aa288a10c607ffce31ff1b39ffd4c9a4044e046804a1047404a33e365d093618f804e36bd6ecd7e513d65c8a6c7c183074b515602728a3a7ffae9a75234f92f7ff94bb3fe6ad9876c36fbf5cd90fa0a906aae4842f0e20968376036c2cbe5776b9071763596761b8eaf6fc62128701abadaee47bcf69b901a12f904c7178e478721f370b7296a5a8db4532bb0a4c7481c7b627875485597e2deb13968dfab2386ad0b43798980d48d1b6033ed268a5ed426930aa5499138b73e1013c6dba1ef8c2d4878128ffdcb17c376e62d14bf0d4845259e1c988fc583c6e3545cda4b21f5d2bd87d831cd19bd1c5621aa69fdac0a3cde3b178b6d3c10129ffa0248f5c0e411932caf1952590ca9df3ba452d4b0e54c771950e939450f292f93a08de074d4a851d271b44cd3b781debb6cebf650bb09c429c24ae9001435a648ea6f7ffb5b0958e5fe7ad7563360b35ba3fff99fff9921f53b87fbebab90707e05ecbb77c5e4d509204e35d6a6e3cabef9f098b20b29e5c5883ab804437f330ab3b63e46450b483dffb4127167978ae3bb63ca3acbe7c69a545cda330f5ed3f62055f16ac3fdd224a8c373d1b77d2f7c3a78154ed29a4efa0a3c0cde0c97b193b156ce6f5597202b2d1ee1e945a8aecc412ecd946a5c1560fa2c071c8e4e47f8f665b0eb3b135be49d068c55282eccc0d394945782d4213decb1fc81e55855f16d1c5c39167ef30f23a33ce7a5907a355900f6919918d97310e6ed4a96d6793554262068d31c4c59741499e5d90ca92c86d45600a90459b26946bbfc9c260cd1103f95a3dc5302355a92c93ae2f83e98da2a478c29824c6ed3a68d34f44f1155ebfe63b3d96f6e865439e058978fa8e0c518d1ab0b3efba0335c03b7e266961c16354353998cab5b03e0daaf3fc6787bc3637200266f3c8ab34fcb60403dea72ef2368923b467cd81f0ee2736f7747d8f5f80c9ffcf243b805ee44e4d3a708dd3c152efd07489fbb4f9e06bf4dc7713ea91ccde3a81a94c686628fe370746bf3097ef5074b796f3a669c2d6c6dc5aff739c770258cf2452d755397c5e0cc2a2fd8771d8ef15476c162acbc1a8de4fc0c245cd88c690e96e35da6fb614ed0092457285193198e23b37c306ea083f499f7ac40ac0eb98eb090afb1a4eba7f8f4377f86f74ada2d4b85e27bc7b0b8cb27e2bdae98b2e210be5e2d20f593b6183869aee5bc13bde0bd6e3b42532b603055e3c999404cecf931068d0d44a07b20a67716c7feb63b0236dfc193ec389c5ded03e741833196dae4370353b79dc2d5b46c64871dc2824e1fe3d3dff5c0f4b56771edd476f848af7b62c6565a3d802195c590fa7d43ea902143243025d3c428195269b210cddea77c541aeea6b232a0b6cce79441aee590f9bb969bfa5db62cfadf5d1af6a7340082788aa8d24a00d46772ffb1d9ec373341ea8d1b371852cd9a2a643cbc847dfbf6493e71fe1a9e94d55b9710a09a81e84b96cff79d388feb12a036855ba1c87d8c3b8dc75b3b24f436f21402262bd21075b1f1fda08bb8f10d409562a8a8cb4e40d80bce430eba7813c9e5866f1c539bf5e8f931e7ae21bc4020ac598db29407b8d0f27df998cc78dc963f3b7919b7530a5066f5deb9eb7751a0a41db0e2704b7aef242e8786e2f4ba4970ff6a1096efbf603936381477522b1bdb6282aae42922cf53f93338b32f14a1d2b1c108bd93864a83094af1f9bdf38dd70dbe82f0343a5687eab418dc6c2c7be5662c1ec7dcc379f9f5dd7454191852590ca9df37a4126c115c9169189b608ba2839477496b85d21037c119edc024839a1c55b406b76e4d3b4f3db7bcfb947559f9f5bbb82b955c6f6a1bad2f4bafe57555a9efe47e64b3d96f668654d6eb49f7a29cd41f4f0ca92c86d4b70fa90458140d24533483c08bd608a519fb2f0335324556e505fd29f24a91455aa6895602a0e170ca31a3c956ef22907e17ac128053ffc8cb72517eaadc8ff4c866b35fdf0ca9ac5797a10ae9d7766272a78ff1c9077f86f78aaf21a7b432a4b218527f3a904a6045a0498f143da5216c7a3d60c080a628a91c3195e194d634a43204a5648a26d22a00f26bf939c11b812cc1aa7cbcfcf82e9bfa845637a0be2038a7f61298cbfdc866b35fdf0ca9acd7c88950a12cf9012e1d3c8883c2176f45a248c590ca6248fd29412a45036548a5a820012aed2245004630295b1ebe27d8a4682b454e6518952d03aa35a89209e2e81ab43355cb748017b95b377a947341096a5f5ef66f73e3f259e21a3de875b757bf0ed59f0095fa89fa435e968a4183cd664865bda762486531a4be5d48a519fb04576402558254024c822f025219c6c8f49a725669389f40568e9ecaa6f76922164559e5f350192a4ba04a104ca02a9f8ffca25cd66edde85a9d2dbbd074ea8c2e54eeab6e2f29fb66feaa1b5dbf0b3a77ea880e1d3ba17317f1fa35cfd1a54b1769a92a4a6ba099fe04ee144d95fb939eb3d9ec5737432aeb9d87d4eb37c311179fc866bf75df10ff6fbd6f904a43fa34244f504590f5e1871f4a370b82308252194ee93541239525f06c09a8742c4d26ba7cf9320202022448957354e9732a4fa90434f4ff6d90dabd4717746c3b18a33dd7e0c8e98b38bb6731dc06f7454f2afb92095add9a4539bbbd741297fc79f7ee74ed5ee8dddf0f2bf68420f4f47e2cf31e8d3e1d3bbffc1a2d21b7b15fe89cf2860704e3d446ea23b94fd96cf6abfb9ffee99f185259efae542a35f20b8ad8ecefcd4af1ffd8fb06a90456748320c82253b494004c360119450d095ee5327284942c2fc374ecd831d4d7d7e3eeddbb5284f617bff845533455865aba0ec1ae7cde96eedea333dab6b1857be015a49468501b7b0cb3860f442f2a2f4362b3635e0e912f2b4390dab54b6ff41bb212a71ed54253f404670227a05fdb8ee8d6a3bb14c9edf682bab5b4dc068a0e531f523495a2c9f4dc1a56d96cf6ab992195c562b1dea27e0a904a60453708822c8aa4526490008cc05406557a8f80535e72894cd153824e5a4b95a2a7e5e5e568686840757535b66fdf2ebd4f337609d8e8583a37455769789cce2ddb1a88bb7527481d0ca7d927109b5b889cb01df01dd4039ddbb6433bdaa6b5231df3556379cb707db3ad15db7540c7cea28c0cd85d3a8b7a74908e95cb74e8d4591cd7137d06cec3a17b1928cf0ec7c159e3d0f3f37602a03ba07d878ee8d4b96bb37abdc8d66da0fea39db9a84fa83fad6195cd66bf9a1952592c168b21b50952fbf7ef2f8115dd2008b20854094809bc28422843184d0e9287b4a90c41da9c3973b069d3261c3a7408292929301a8d78f6ec99144dcdcaca42707030366fde8c458b1649ab08d0b1740e82543ab76c6bd8fbaa5b277cf9e96038cf398d478505288a3d8e0d4bd763f59a8d58bf76351678d960486f82c80e68db79006c9c6760d99a0dd8b871a3a8cb06ac5b1588c9c37ba297f8bc53974e68ffd5508cf29c87d51b36619328b361752066fb8c44f7ae3dd1addf7c1c8bca434dde3d1c9a3d0eb63663e1bf640d96cef583bb9d0066717ca7ce5d9ad5cfdad6f52748a5cd0f08c6a93fad6195cd66bf9a0952af5fbfce90ca62b1580ca9bdd0af5f3f29ba49904a904543f7045e140525cb2046104691508aa012ccd2ae5267ce9c8156ab6dea0b0254ebe7649d4e87f0f07038383834a507506a80f5b99fbb0bba7ed5115f48901a8c98c27c5465ddc2e53397117a350619e56a54c41cc216bf41e8ddb60b7a38aec5e1f06c54e5c5e0d2f9abb87e231d55263d524ecc847b7f01bb6d7a6290d70e9c7990838a8c87080d8bc2c3dc62143f0942a0f728f41d300f871ee4a13a27028702a762cefa3348ac2a43d2d5ad98e7dc155d05e876e82480f41bf57c6e6a070df9532ac4fffeefff36e5e7529fcab0ca66b35fcd0ca92c168bc590da0c52e505f809b20852294ada1252e9731aea9787fb29df94d60bbd70e102542a9504a434d42f3f92096009509d9c9ca4e82b1d2b4f2ea268edcb2175089c661e436c41156a922f60bded67f8f8b79d306e4724b21546e404cf865be7deb09f7100972f1dc7be597668db6b3846dbefc63d8d0966633476ba0dc6e71fb961cdf542e8ca2270d8f353fcfb07edd079ca3e5c0d0dc1f1151e18356201f6decb4175711c2e1d3f87539713f0f4c666048ce9884fbfec88f61d3b7f2ba0b684d49ffffce752dfc813c6e891cd66bfba1952592c168b21b5095269a9a996904ac3d734b9e94591541934c91451a5e3efddbb07b3d92c81293d9a4c2669e83f2929093e3e3ed2ee55749c1c8925a09321b57944b511523f190cc759c148282c41feddddf0e9df15eddbb6c7c79efb1099a7444df86acc1825ca77ef8ffebd4760fcb46d087d1485887b9928af177530a6e0a4fb6074b35b8a13b97a28138f63f9c8dfe0b32f3be08b361fe10f7ffc133e6ad3053d062cc4918739a8d594a224af1085297771628903be6cd316eda4bcd44e2f89f83eb73c09cc1a52e57562193ad86c86d43792a6cc8c4bbb3418374e03df053a842619505361407a29df74592cd6fb05a9f210350df7cb39a932a4caa6354ea99c356cd202f694abba6fdf3ee8f57a09500d068364b55a2d2d474539af04a932e0d28d88262fd1395b8230d902a98304a49eb2406af84ef80cea85ae9dbbe273ef7db897a3803e612b02c638c273d505c4a6a420f95e304e2cb01360b90ca10a034cf58938e4d20ffd5d37e172a91e758f8e61d9983fa17de76ee8dcf6afd264af4f3f1390da7f010e47e5a2cea04575b90215c5d97818b41c9edd2df0d941406ae76f8154b90df2ec7e827c39eff6459b1bb0d9ec6f37436a23a086ec53c375811a074e1a1072528f3d1b94f09da5416806df74592cd6fb05a972f4ef97bffca504a9049ed242fa8d2668a59d990864094c0938c9549e16b38f8c8c9486f64b4a4aa40954b9b9b9502a95888d8d85878787740c012a456929622b2f6945e7b506617297ae1df0f92703e138f33862f34a50f8e030660deb8a8e5f8acfa61d435c9102e5e766619cab1f564756435bfb1067667c8e367f6883bf745e851b1a230caa5bd838b6173ee9331f879fa8a048bf80f54e9fe02f9f0bb0ec330ca3468fc2c84103d06fe03c1cbc9b8daaf234849eba80e00bc9284cbd89437346a257675a09e09bf5b3b6751f117c13e4cbcb73bd682d59369bfded664845030aee68b166840aebee885ffde21db3ae01b9b17a9c38a9c52d8654168bf51e412a41a60c56049314f5a49da708206553e473e8d0a1d2725234c42f4753297268636383fcfc7cc4c5c561cd9a3552fee9ac59b3101616260df72f5bb6ac6942169986c569d2150d91d379ad414f8a4a766d87bf7e34084eb34e202eaf1aaabc689c59e68af1e37cb1e6fc6394953cc5d5b963f0555f0f2cb99987eaea2708db34160386ba62cec9a7285234c0a07d82e3936dd1e1573698ba3f0e79a53988d83f1363edbde1b3eb2aee455cc6b12513603b743ef6dd2d444de63d1c9c2dae3175076e651621e3fa762c72e8812eeddb5986fd5bd4d11adee991562ba01b2c413bf58b9c0ed11258d96cf6b7fb1ffff11f71eddab5f71952cd28b8a7c1fcee0a782caa4749d3dbcfa0d39851a5e29b2e8bc57a7f20958051062b7a94b7f794e1944c103668d020a92c7d260fdf13b052395a8a6acc9831d2ac7d02358a2adad9d961c68c19d2fb544ede814adeef9e86c8e9bcd6302c45563bb7c3671ff783c3d483b819fd08a9b11771facc395cb87c0f4f53d391183c1bfeb69df1978f3ec7c8993b10f2281dd929d1b876eb0aeea5dfc5e9a0a7484f4fc6a5c0b118f6d19ff099cd6cac3f1987b49458dcbc168ef0c74f10756523bcc60c46d75e01d8762901c99117b0ddc7065d05f82e3cfc00e90f2fe1c8a271e8deb93d3eff5280748b3a5ac33b412ab59bfa83da2847995bc22a9bcdfe6e33a442c068613d0e04d4e17f7ea980e31c2d2ea599be51ca586dc69d231ad8db377aba16abaeea71e7f0f3f7966ca847291a509d598fc30b3598be448f98d2065489d7871658ca4c9aaf4368ba89efe42c16436aab8454b20c5834394ade41ca1a52e51c528aa6d236a032cc5a43194555095ee5e3094ce53402f97d3a07c12e9da3d902fcd60bed77688fb65f7646f7bec3e1e0e4004787a1183ed61bde3e7e98e4e90e877eedd1a5d3e7f8e2af1fa15d976e18e0e00ab7893e983ac5073e1ec3d1afdf18b8b8bac2c1a6a780cc36f8e8b3ce023eede1eeed0b7f7f3f4cf6188791033be04f9f7e81cfdbf5c5707b47b83ada6368df9e68dfae077a0f1a05e7f1e3306a783f74ead8016d09a45f52571952291f95da2c6f2b2b479ad96cf6eb99219564684049921e6b262bf0e57fd6e1afbd540858a4c74339ac6a3423e38a068b1d54587ed88033877498e9a34037370daeddd563b5783eb4ad0a7b6f9ba116d0ab10507a669d0a2b4e1af024418f9b0734080e15c705e9b179be1233fd75025ef966ce6231a4b64e4825c0a2a17e1ae627a8a4e5a528ca299b608cf254293560f8f0e1126cd23104aad64b4bc979a732a4c965e8351d4f0bfad3925704c0b4f5ea37a18fae47a0da165fb4f9133efcedeff09b0fff843ffd5e5ce7835f49e0fbe1270250db7640878e9dd1eef3bfe0a3df7d805fffcaf2d9af7ef54701da1fe2835f0b28a672ed3aa173872ff0d74f7effbccc0702ac3ffe5c82e10eeddae0cfbfff2d3ef8ed1ff0519b2fc4f53f479b8ffe20aef521fef8f167cf01b5b10fac2df70db58586fa09c42995416e379bcd7e7d33a4ca6a7886da7c23ee1ed161b6731dfefd7f1418e2a3c5c55453d3674fee9b909f6fc2b9f52a746e53870e433488ac7e8682077a2c9ea9c49c48239d0815597adc3daf4366a90961fb95e8d846815ec3341865a742efb6e2b86e2aec8be3682a8bc590dafa20952644114812645124902055dede934052b60cab03070ec4881123a4e3e4fdeabfcd741e1ae2a7282c412a0df35b9ff3856edb4e9ab4d441cafd941f1b272b759001b1ad05683b5a4f66a261785a31a0a3804b4b99b6a28cb4cda95c86ced5748ef6cfafd108c85456ca37b502d11759ae3f0df5cb37586a2b01f977f5099bcd7eb10952af5ebdfa3e436a036a6a0c484d353646559fa124a31efbd7a9e0d0a50e0e3375529e2a0df7871dd2c027408b23272c202b416a9d38a4d488c3ab15e839598bb47213b2e2b5b81c6f86b1c688337b1568efa6c1d1b3469c6df4b57051a6ba81efe62c16436aab84540254d934fb5e8ea612805104d4da143924d8a41da4e4e17f5a9e8af24d65d8a5e3e9589a1c3564c8108c1e3d5a2a2b6faf4ab606e057f3b71d27d7efe5c737b5e1b5affbf273d17339bd81fa8da2a8d67dc966b35fcf0ca902528b93b4b87a40f77cd254539eaa023decb4c8509bf1e0841a2e4e6a1cbd67424981804d01a532a4c260c69350355c5d95f038aac583ab3a64aac5fb04a99b15e83f518b7cbe77b3580ca9ef00a4d2ae5134d44f2630a56820ad234a33f229a7540632025119d028a24a43ff1451a58951f4686b6b8b61c38649a6e73471cadede1ea3468d92d64aa528e69b036aebb1755f503f51d49940959ed34d56ee4b369bfdfa664825488dd360b5bd025356d5a3b8f1bdea141d564d5360c8663d6a4b8d3836af0e9d6d3488d50046f1fae8dce79154096a0beab16f511d3e77505ba2a86884d7cb6ab88d5162de250334f49eca8cf427ba174ece62b1580ca9ad01527fd598af29af934ac3f81419a51d94e8b90c662da3aa342c4e33f5094c09485d5c5cc48f7757095c0954094e297a4a40f7a2e3df45cbeda048b13c4449515479072e369bfde6fe877ff80786d4e26c1d4eef55e1f43635960f5763f8701506382be1b45b2bcdce6fd099107d4009bbff55a0db10352678aae0ef5e872ee2b5e36c3da24b2c40fa34548d35b33588575b45646b0db8b65589316d941842e79ea4c6bccb3ae4d4f0703f8bc590dafa209586eb094e65cb0bd2d39aa8945f49b3f6294a28035a4bd3fb72beaabc7ea83cb1e865c7bceb96fb866eaa04f104a932e4b3d9ec373743aa0049bdde8cea6a33346526245c34e222f98e11b1a50d4d65d4a5263c6afceca6f82cfe911191e2f99d072694aa652035a32cdb6c89985a9d5f5df2fcd88be146c49531a0b2580ca9ad175269985f36412a3d5224952093608c6e1e9406600d6964f9394515696500d9f49adcb2dcbb6e6a07b58f724f696892009566f4534eaadc6f6c36fbcd4d907ae5ca95f7175263624c18364cfd837bed5a3ddfcd592c86d45607a9ddba759300cbda143d25302508a388284118bd474b2d11a4c9d0660da22fb30cacefb2e5b6c8ab1950d494d694a5f708585bf61f9bcd7e33bff7905a5ede80d050e30fee478fcc7c3767b118525b1da4d2f25004a0d69641558ea8525e29a500508e2a012bc19a35acfe94a0f445eda1740779692e8aa0ca6529ca2cf7159bcdfedbfdde432a8bc56231a4368754824f6bd3cd427e4e1046504ab3f329f792c055dea39ea289047034e46d3dccffae9bda426da2b611a4d3ac7d6a3741a99cf220e7ebca6ed9876c36fbf5cd90ca62b1580ca94d904a6b99feec673f7ba1e9a6418f046134cc4df046ab01508451863302568aae522a00e5ad12b812e0c9b6ce556d6db6ae2701a9bc46acbcde298129b5918094d687a5496104ad1451b506d397f51f9bcd7e3d33a4b2582c1643ea2b41aaecfff99fff914c70264fa8a209576439ba4ad0665d56766bbe21b6acab5c5f8a1e1378533b09ca298a4c102b474f5b7bbbd86c86548654168bc57ae72195f24dfffbbffffb95fd5ffff55f4ddba652349286be29ca48e72168edddbbb7b4d03fad9ffa2e99ea4dbb6fd1443282529a3046116382538aac52c494dafe3a7dc566b35fcf7ffff77f8fd0d0508654168bc56248b544525f14517c9965502553e4435ecc9e86cc095809ee085adf35d3daaeb4e900e5a452ca02a52f502a83dc5ef926fa3a7dc566b35fcf1449654865b1582c86d4378aa4be28b2fa9ffff99f4dfe8ffff88f77da723b6410e7e8169bcd91548654168bc590fa23402a4511fff55ffff5adfadffeeddfde39bfed3e60b3d9af6f82d4cb972f33a4b2582c16436a2ff8fafab2d96c76ab30fd60bc7fff3e432a8bc56231a4f6c28d1b37a0d168d86c36fb4737adaa919393c390ca62b1580ca91648d56ab56c369bfda39b2195c562b118529b20f5d6ad5ba8afaf67b3d9ec1fdd04a9b9b9b90ca92c168bc590ca90ca66b319521952592c16432a432a9bcd6633a4b2582c16432a432a9bcd6648654865b1580ca90ca96c369bcd90ca62b1580ca90ca96c369b21952195c562b11852d96c369b21952195c56231a432a4b2d96c86548654168bc5624865b3d96c86548654168bc590ca90ca66b3d90ca92c168bc590ca90ca66b319521952592c16432a432a9bcd6633a4b2582c16432a432a9bcd6648654865b1582c8654369bcd6648654865b1580ca90ca96c369b21952195c562b11852d96c369b21952195c56231a432a4b2d96c86548654168bc56248654865b3d90ca90ca92c168b21952195cd66b31952592c168b21952195cd6633a432a4b2582c86548654369bcd664865b1582c86548654369bcd90ca90ca62b1580ca96c369bcd90ca90ca62b118521952d96c36432a432a8bc56231a4b2d96c36432a432a8bc56248654865b3d96c8654168bc56248654865b3d90ca90ca92c168b21952195cd66b31952592c168b21952195cd6633a432a4b2582c16432a9bcd6633a432a4b2582c86548654369bcd90ca90ca62b1580ca9cdadd7eb9b1eb55aed7758233dea4459f9b8efb6fe05d7d089e7cdafff26f5d5bda08e1a8d46b24ea7b3947dadba7e5fd6376baf5627ea2ad7ef35fa80da64e97bcb39753a4b9b2dc7b78676b2d90ca92c168bc590fa1623a904374693090d0d0daf6493d9f8da8049650d4633ccd239cc3018ea9bc0ed4dea6b3018beb58e66d19e7abdae15819b052e0d06a3a58e66338c8657eb43b98c491c6336199bface2c5e4b6d351a1888d80ca90ca92c168b21f5a71649d5498fcada1ae465a622292919c9c9c948494945466616b23233909a9a22bd47ceccce43658df28d22a91a551d4a8a0a515c5a01b546fb374552b56a252a4a0a919525ead75837d9a9699928abaa83c124c3f08f1d657c1efd54ab6a51989b8d82e272a834baefec03e933437de3dfa80ab5b5b5d068e9389d687f0172b273c5df43d50adac86633a4b2582c1643ea5b84549d560393c988f4d83b98ef6e8bdefd06a07ffffee8d7af2f7a76ef8eeedd7ba26fdffee8dfaf9f78af3fdcfc1620f45e8a348c2e03e88b01497e5f078d8031a3d184ac473730d7db157e8b7620a7b0bc3192a86b768ee6e7fbe670380df11b457d8bd31f61d32c3774fdaa3b7af7ed2bd579c000516f7ade6f18166f388894e25ae86958bd71685d5fffcd3a5bd7ddfaf1e5757a9572f54d6906721fe87414fdd5a0302b0a6b67f961cd8e6064952a44bf1804746a5f7a2e1ae2371a0ca816401eb267334e8484361ea7c0d9bdab31dd772eaedccf825a6bd5ce97d4fbbbdad654f6a57f53369b2195c562b118527fc09c544b7ea71a8aba6a545555a3baba129949f731dfc31e0e9ef3702b2655bc5f85f28a0ad4d6d50920d236c1d7cb00ae19a4aab512a466c65fc3cc090ef09abb05d904a9c6ef02c21741aa806ab30945697158ed3701c3ec0370bfb018d5a27ed515e5a82e2bc2a36bc198e6e108efd96b119b56290dfb3f8fe8fe18902a83aa4ecaeb55883e542ad5d0eabe03182907d56044bdba1671978fc1cbd105abf69c466eb90206717d954281bada3a292afd6db0cf90ca6648654865b1580ca9ef6c4e6abdc100f3b36710ff099951559c8c95be4e70f55b8e98f43234343cb3e4ad0a1b8d46981b9af71be580ca8066815e4bf4543add334b99bcc41b98e53e0edef3b73641aa56a346bdd12caefbacd9f98cf5ba46886b3ecc4f938528925a921e8f35feee18e1380fc91a3da8e2cf04bc3608eb9555b8736a1f3cec9db1646708ca1acc52fba84e3abd686743cb6b5922b44d3049f99e0d2d1a8886c6c86663ba81804d7dbd11cdaa2d5e980c96094ef5022ee5a6cb459e49f9a3a6a6e726a341b4c52c95687846b6ba1af5274d52a3bf8b498327d74fc0cdc105eb0f5d4185ca208eb5e4105bca1a2d13a9a4496d46e95ccdfe36d4cfd43e09fa0d6868ac93b959b16752aeb094c76bfdff0683169b2195c562b118527fecd9fd96d9e21491d3a0bcf011964e1a07279fc5b89f54204d5452a9d4300a3aad29cec2b12d8b31cace1603070cc458d789d81f128ef23aad943fa9d3d1a41e3de26f9dc61c2f270ce9d717f69e7e98b77809029cec3149406a664119ea05f0116865465fc2421f470cb6198601fdfbc1cd7736225394023a2d914f9d5c47b2a82345528bd3e2b15640eaf0b1b3f1a84601bd803a1dcdec9760cc88daf274ec5d3513ce8efeb812932eb5cb2ce0ba3c2f195faf998b7176361830c806a3c7fae352e463e805a41968685d9c475b9587b37b56c17ee4700c1e341043868ec0b4f5c7505eab12a5cc5029d512549767ddc77c573b0c1a3a1483070f869dbd27eea6958bcfcc50972661e7aaad58b97825b66f9d87de3d6ce0376b0dee673ec49e754bb0fbf025e4169723f1ee25ac59bd193b76efc1faa5533164f020712e072cdb7a0c79354a284af370f9eb8d701a31041dda7740b71ebde039732d1e6526e3d6e95d58b1682dc26272a096e0d40c45c1232cf2f3c4b0218361633308c3c64ec785e834095cf57a1394d5a5e27c9b3075e16e5c0cda06cf090ee8d77f10468e76c58e231751aa16c06b953650cfd15436432a8bc56231a4fea891d46633d075a82c7e8c65931ce1ecbb14512985303f6b90a290394f63b06ea627ec473960f1a6bd080a3a84950ba660cc58776c3d7419c5152a01aa75880d0b82efb871f0983c137b0f1fc6ae2debe1693f187d7af785db9c6d5224b5e1991a51a14731ae671f719d69387ce2144eeddd224056409f5300c2132d206ba8b71a866e845439926a376e0e1ed7a96010b04b70252d3da5a3895565b874788d803b27ec0a0a834aa34769ce136c0b9c8e31239db07cdd56041d398ca553fde0e6e18b8317c25022ce5357928e436b96c2c36d12d66edf8d93a74fe2c4f1b518f4552f4c5db4132939e5d01b0d880b3b0937bb9170f29c853367cfe2d4c9206c0870479f0163b0ef5234caf21230cfcd119f7cd405fe0b97e17050086e87df4762d22dcc741e8199cbf68b7395e0fee99d1831b02f3af5b2c54c01b4474242b069e942380e1b85451b0e20352717b98fee61cf8a39183a70083c031622f8ca7d94d516e1f09a691867eb8ae0dbe950a9d5488b388f29eef61864ef831d7b0e2324e434fc9c470bc876c7c93b4fa468704d711ef6cd1b8fbfb4eb86e1cefe38f0f5711c397c10be4eb618d0cf01876f2440df606a5ac28b23a96c8654168bc562486d058bf9b780541f82d42578905c8867cf4ca829cf45d0b6a5b0b7b1c3a6c33751adb30c3717a5c662a5bf271c9c67e25a543a4a33e3b174f2788c759d811b8fb3a07f063c5357e0cac1a518d0a30fc6cfde869ca272d4e53e4480a32d6c47fa232cb51486c61c82f47b6761d7ab1ddc171c43b98054b380266952905524952075ed4b20956056abac46d8e9bd98ece5856d41b7a0ac2ec3cd63db3166e828046e3b8dbc5abd74ad8a9c182cf21e8b3113a6232c21071951173169d428f82dfd1a39a5758dc3f91a449c0bc6998b77c47b0a98140558e5331eddfa4ec0837ca51455259baa737074ff4184c5a6a1b22805ab029cd1a7bf0b82c3721a07d88d28cc88c452dff158ba290899051588bd7010cec3fa6394fb3cdc8ecf975206ea15f938b67e1e460d1d8703e72351576f40f29d1078398ec7e613b751a9358b722a046d5984892efeb81a9787f2bcc7d834cd157d86bb23f44146530a454dea758c1fd00bc3272c407edd33a82b0b7074b91fba74ea8fb5e2dc946cd020fede3991e2fcb6c3e139678b28a76f36098b618bcd90ca62b1580ca96f05525f6572cc8bad6bccb9d4a2a238e139a42615a0c1a8477e6204564ef7c2049f40c465d5c2a0d340ad5643a3ac42c4e97df07074c7fa03e711763118be13bcb1e6e07914d769a052088814a095fdf83a7c478d80d7bc6dc82e28c1934b0760d37328369cba0585ce00756d35340613b475e5085ae6834ebd1c119655827a5a4a4a6f59c89e264ed1907c715a1cd6f8bb09489d8dc7b54a01b866d46b75d222f9d2842b8d1251a127312bc00f3b4f870b908ec3d67953e115b002f793f2a5bc5ad9b1978e6092c764ec3b7f1f1909e15822e0d766943b761d0a4156498d3479c944f9b804a3a29ff3a3cfc16de868f8ad392ee594d655d540a95241d76081d5670d66288b1e63e1245778f92d436ab9113a95021aad0279e911089ce482c00dc79051508ee8f307e0e9e4860d872ea1466f80aa4e2100518f94fb5731c7cb0df3561f464a5e011e5cfc1acea3c662d98e93482fac86c1588ba0cd0be03176326e3dce466afc79b8db0c46c09a20542934e26fa3454dad42d4598f33dbe660604f1b1cba530893aa048796faa1afcd54246bb4a2df4c508af21549f7b1d8c70d63bd17e24991f2f9e4299dee6ff8ff89fdbe9b20352727872195c562b11852bf8f48ea6201a9f9300b70cd89b92d006e32bc67ad4352792d7472bea84e814761c198e2ee8a59813b7060fb16f8784fc1ee903054691b27510948cd791c8ec593c7c3377017b2f28b11757627460c76c1ee8b775127c04c47a0676c80b1ae0cb7f7af44fb0e7d71e4d653a87446694292b44bd3774552f59648aa4e558d3b21fba548ea8ee03b488ebb8bc57e2e707099844dbb0ee254703082834f21e84410362f9d053b5b67ac3a7c19a515857870f908c60cee83cfda7442c0928d381a740a2121d790595a0193b8ce8333db3076c44804ee0915006b8246ad91a2bc04d04a01994ab51e750252174df4c444ff15c8acab9720db60d4203f23028b05a42ede781c19f96588bef0357c27cdc0ae90bb509b8c522498803eef7104d62d0cc0fcf507f134a70031578fc2c5de112b779f414e9952f481022704a4ba8ff3c3ed2799781a1d8c09038788cf43515c5127a54868541a98cd0db81bbc01437bf5c7e2c377d1a029c7e1e5feb0715984b88232989e99a5f488a284db98edee0ce7c904d5eaa65c548ea4b23992ca62b1580ca9ad38922a20d5a04176ac80543f7f4c5eb80dd9b4ec9134494a0f8380d4d81b410252dd11b8f6000e6e5b070f172f6c3f7d0b155acbac735aebb330391aab6778c16ff16e64e515233a6407ec474fc4c1ab5150eb0dd00a48d50b483528ca706dd752b4ef3814171373a1359a04e4598058fb2d91549a0d6f015903348a625cf87a15dcc679e0d0c518a4c5dfc332bf71e82dfa6888ed48383838347a0c9c5c05384f5f86f36131a856eb606ed02239fa061604f863bcf3380c1fd2171fffa10b161f388da23a0d62cfef82cb3847ac39725bda30404d90dab4941745730d16489de4016fbfe5c8a82190a74965ea6691d4f4fc52449f3f28803e003bcedc8592266d8936d0060499b137b178da24cc5e73004902521f861e85abfd38acd87d1ad9a57530991408da3c1f1e63fd702b310b89d1a7e0366828361d0e47458d5a8254b580d4866726dc3eba0a76fd8660c3d90498556538b4dc0f431ce721bea4124601a9f4372c4e08c35c0f17388abf7772a9aa2982aae3482a9b23a92c168bc590fa3620f5e6cd9b963ddedfc88db3fbeb35282f7e84a53e9689530f9e160848d521373e1ccba77ac375d20244a59649704343d37a7535222f1cc164371f6c3b740eb72f9e809f971f361cbd8c62a5065a8d5e5a6e293d3614531c4763e2fc1d02524b1077712f86f51c8eb5415751a915c0ab544a90aaab29c6d9f5f3d0b1db04c4d609007dd620ae21ce4390aa110026a095f26057fb4fc0f0b1b39050a340bdf5ec7e51aeb22809bb57cec2e4490b1195518decc4fb02b03de1336723e2b3cb9bf2489f89736b5575282faf408db8964e9a2c6480c9dcd054a626370e81beaee8d0d10e41d1e9888f088243ff41d270bf5a40aa46a992e09896ae3248d14782d4042c9c2820d57f19d2ab75a89796ac522137ed2e164d74c1a20d47919e578aa8f307e0edee834dc7afa3465c572bda6010309b10760a53c7bb60de3a51aea01831978f582075d7296495d4c168ac7b3edc9f9085e4d8b39830701066ac3e86928a5af1a3400f95528b06b31e17762f80c3307b04dd2f81a1b6c802a94ef310575c21fad624fdcd8b0852dd5de0e4bb1849250acb7256d2baaedabfe1ff27f6fb6e8654168bc562487dbb90aa9721d5092e04a994936a36a22cef29f6ae9e0317a789387d3311b502400d463d2a0a53b17fe57c383b4dc1a9db71c8787c1773bcdd3179ce3a3c482980522d204d5387fb570ec061c060b8cfa69cd45214c75f83dba891f05fb0154ff22a0564aa051c1a91fbf401663adb6084d71a6429d452dea45e630da94629c7549edd9f28e0922055afd14ac3fdaaba72dc397300139ddcb064c729948ae32b0a52b07bc91c4c709f8173e1f150a834d2b0baaab60ae7f6ad83ef94b9387b2b16d5d55528cccf475169a5b4483e01b1a15e8ba42b5fc3b69f23f6dd88475e7614fc46d8618cf73264d7aaa153a925b8a56d5ff3b2325150528daa82c708a448aaff720ba4eab4cf21759280d48d023e69b8ffdc3eb8d80d83effc4d789c532ef5bf56558e2bc7b7c16f820f0e9f8b46557535622e7c0dd7318e58b98786fb153099085217c273dc645c8bcb457eda3d2cf27080a3ff0a3c4ecb9786eb35ba7a282837d6d31eb6f63e88c913405a996f19ee779eff4d48f510903a992055c990ca6648654865b1580ca9ad6db8bf31925a645927d5d967a934bbdfdc6016d0a642ecedf398ee3a1a5e7e0b70f9ae00d28c245c0ade8389e32760eeaa8348cead82465d8af307d7c1d5de152b771e47cc9324c4845dc132bfb1e8d1bd17c6cfb22ce66f3256e0e49685b0e93a184b45b9c49434643c89c5d72ba763c0d09138743545daee9386ae25586a1cee97219522a936a3a7e0765a0632b3b290959989ccf41444849ec41c9f09f015901c9d5226b5ab5eaf460a0de14be0b810176fdf4766661a222f1ec7540f0fcc5f7700a98595c88abb8565d3a760f6f2edb8179320ca887366c660e34c2f384d5a8cbb7159d2f9ceef5b89c13d8661f9ee10e9da99991948b8730aee634663f59e506467246299af073c7c9721bd71b85f4fc3fd5224d5198bd65b22a90f2fec83e3d07ee83ec8099bbf0e41b2b8debdab6730dfdf177396ef446256090cca6ac4871e87a7a3386ee341c4a6e441a5ad947252bd1c7d7021321bca9a72dc3dbe0523478c80ffe2dd887b9c24fa2303415b1762585f3bac387009463350539c2b20750a8638ce477c71258cb4dc94e8e3e284db98e3ee0c471f01a9a5ca66a0c1c3d66c1eee67b1582c86d41f195229922ae7a42662dd0c2f4c9ab90e31a9c5d2ee511a9d8044b50a4f22ae60c58c49b01feb88b163c760829b27361fb880d40201a812e4eaa1aa2d40c8bef598e8ec80b10ef6709de8073f7f7ff8b8382260d99ea61da7d402ae2eec598789aef618ebea0a07bb917073f3c7f907c996086ce32603322c49c3e102528bd31f63fb8289e8db7f30ec9d9ce0228e75157616cfc78d71c2b20d7bf138c79292a0937255a9ee4a24debb82c5fe9e70741803474751ffd18e58b9f5089ee6968b32a29ca20a3137ce617180079c5d9cc5395de0e4e8801163fd7021fa2914da7a68557a6844b93be70fc27bd470b84c7083b3b3a3b8ee082cd9128ce49c2a54973cc5ca69fe98367b3db2ac7252f333ee63d5f44958b5fd1432f34b11756e3f5c478c81d384899839cf1f8ee29a63c6b961feea3d78945904b5e803da64a0a23005bb96ce80d3e851709fbe0a5149f138b77f25a64d9a8dcbf7322c39bd8a0a3ca49da9c63ac1618c23c63b8fc548d7293812128e2aa5565a964a515e88931be6c2c17b39124a9e436ac993082cf19f08ef996b905aa6b46cc9ca90ca6648654865b1580ca9ad29924a56ab6a909b9e82948c5c54d7a925d8b34cea310a6852a1303b05f7ef45202c2c0cd1b10928adaa93b62bada7ed4c05e81a0c26d45514e369dc4384df0943644cbc385736b25253909e5d0885529c53ab97b6f7d429ca911c1f8df0f07071be70c42766406732c1dcb8c5a80c4abac6893cf4a852d4225fd42136261a11e2b83b77ee20fcaee5f1defd18e4155748f531d4eb1a87ad75962d5bb54a018a497870ef2ec2ee844b650b4aab04c019a5f61b8d0698f42ae4a7272232e2ae385fb8a85704621333a1a4496246ca1bd54a4b5219f575488a896c2c730711910f5052a383d94ce05787acb434a48bfe536a9ea75328ebaa909396829cfc12d4565720fcd45eb8d98fc7b2cd879090fa58f495388fa85356016d1a606c8474ca93d5a2342f13f1d1f7713f2611251515282bcc41466a06ca45df532a8441d489ea9e92108788bba2eee26f1395900e85c620ad88a0a154028d1225e23c4f52b251d398a620fdbd45bdb2d25291929e03855a6bd942962195cd90ca90ca62b118525b07a45a0df90ba023109360cc0a1669b89dc0c6d8f859b3328db3eba99c46801ced136f6a514e32cdc4afaf6f2c67c9316d5986d660d568ad00d50a96a4e7d29ef6a6179f5faa8f415a124a6b7d5ce3fef52deb4ecb5be975daa6f6d1c429e30bce59df04bb7a516f2af7a26b1b2cf99cfae76d6f5ae355a77fdeafa20fb4ca4adc3eb91be3473963e59eb350349805b41b9beadf2c9a298e355af593a1def8fcb554ffc6fc5151a76fb6cf525f5de3860872bf19eb65e8d7a15efcf890dea7b563eb2d7565406533a432a4b2582c86d456b504950c821ab55a5aac5fdb02142922489fa954aa46ab2d40d90c2675d2d0bc5afa5c299553379e4f2d0353e375090cd58de7522a9552996f40698be772fd9ed7a1b909922d6df9e6e430758be3accbca30fb8d73bfa41fd42fb92e819fa5bd9ac655109a1fa31670ae16907ae7d45eb83b8cc70a01a965e273a552216d0ca096cf63dd5e8ddaaa2e5a4bbfd1f3c6beb7b4b545fba4cfb5cdfa4f2beaa45237ff1be81bffa6cfff360ca86c86548654168bc590da0a23a932acbea9bfeb78f91adf16ad7bd9e7df67844fa7ffee7a7f771d742dced302e0e5a8b44689eca4385c3c731e11b12950364697756fd4dfdf7edccb86ee5ffe3e03169b21952195c56231a4b62a4865ff1096a19296b86a36bcff0aa0cc6633a432a4b2582c86548654f6f706a94dc3ef722e6f639455ff86d154369b21952195c56231a432a4b2df1aa43659ff3c7795cd6648654865b1582c865476eb8157ee0336432a432a8bc56231a4be46fe249bcd7e6fcc90ca90ca62b118525b2da4b6bc61d5d7d7c36030b0d9ec9fb8ebebebbf01ab6f0aae0ca92c168bc590fa37436ab39d9d5ac0294dec512814a8aeae46656525cacbcbd96cf64fc8151515a8aaaa424d4d8db456317dffe9bbffa27f1b1852592c168b21f54789a45adf90084ee9a695979787a74f9f22262606f7eedd93b61e954d5b99b2d9ec77d7f2f7f8fefdfb888b8b436a6a2a8a8a8aa41fa6dfb59e2e432a8bc56231a47eaf90faa27c34dab5a8b8b818b1b1b14d37af478f1e498e8f8fff86e5cfd86c76ebb7fc9d6df91d4e484890beeb51515178f2e489146195772c7b939c558654168bc562487d6348b58e9acacf69b82f3d3d5d8253f9669591912145540b0a0a50585828455aac4d40cb66b35bb7e5ef2a3dd2f758fe2ed3237db7737373a5ef3ec1ea83070fa4d113faded316bb6f32b98a2195c562b11852df0aa45a032adda028a2929999d904a674732b2d2d955c5656d664cee963b3df2dd3f7d6fa7b4ccf4b4a4aa4ef387dd7094c69d89f20f5e1c387c8cece9646575e77e89f2195c562b11852dfda703f0129e5a82526264a372a194ce5891534798af254c9b5b5b54d8f6c36fbddb3f5f7d87a62247de70956b3b2b22450a511157a8f87fb592c168b21f5078da452149566f2d2cd8922a81439a1613fba29d17b04a77423ababab9322ad34f4279ba22b6c36fbddb4f57799264ad1779c8095bef31461a51fa994ea43904a39ab04b2f212550ca92c168bc590fabd432a996e5834bc77fbf66d69688f86fe287a4a372cba79c9402aed336f655ef89ccd7e372d7f87351a4dd373fa8ed30f51825502520255ca594d4a4a9272d4e9c7ab75fe3a432a8bc56231a47e6f906a1d45a599fc34cb9786f9e8b50ca874e3fab64913743c9bcd7eb7fcb23592e9df04fa514aa02a47540934e9df069a44f93ad1548654168bc56248fd9b20d568344a119288880829078da2a87473a29b14ddace44955f28dade5cd8e77e961b3dfdddda5ac815506558aae524495d27ce8072b0dfb5334955281280d888e654865b1582c86d4ef1552e96664369ba519fd376fde6c1645a59b147dde124c9bdfe0be794ee97dab1be0dbb3b82e3d7e47f4d660b0d48ba3656c76fd777c570ccd1ead7799a2ef3e8da4c893a9281d283232521afe674865b1582c86d41f0c5253525270e5ca1569688f7251298a2a0ff3bf08522d8f46716c039e3d7bf6dc0d66988c8617de04ff765be097aed9d0d060b98e74fee6650c5219331a848d0603477cd9ec6f89a41a5ef083d27ad85f9ef54f904a2b7fe4e7e7376d97cc90ca62b1580ca9df3ba4262727233434548254ba215104853e93f7f096a3a69628657d13106a359689160a6169e6bf5a033d41a3d168897a360264fddb1896345822a93aada631c25bdf04a5cf23a806a99e1a0dcd5e6e5e86cd667ff7d03f3d9753810852695485fe4da01fb204a9b44c1d4752592c168b21f507c9492548a57cb3cb972f4bc37adf06a996e1c07a184d2614672662e7d22918693b1883060fc6e021c3e0e2b308d76352a0139f1be4e3de06a45234d76084b6260fc7b62cc6c449b311fea4a219a45aea66407579168e6d5b860573d6232eb31a4651c6f85623ba6cf6fb05a994a34e91d4b0b0302992ca90ca62b1580ca93f18a4ca91546b487d3e9c2747282dd6d496e2cef943f07071c3d4796b71fd7684b48662e49d9b58bf603a5c1d5db1f7cc2d94d4e99e0fb74b796e96e56e646b75fa6fe6c551395a0e472ea7b594d3132c1b4cd0566561eb7c6f01c58e088d2d13e7b74477e5e8aa56ab8346ad4041763a52933351ada036e82ce79496ceb1ae83782dc1af25426ba987e5facdcae82cc7ea65c895a3ba6cf64f1052adf35229e54786d4b4b4348ea4b2582c1643ea8f07a904a87443a2a17beb59fd12440a40359a35488909c56caff1f09eb11a0f9372613499a51c51b3d98482b40758eeef0c1b1b171cbc14891a7d23780ad03537b4c85f7dd6d038f1ca92dfaad769a55481e665c846e828aaab37415793839d8bfd307cf8785c8f2f1375d249106a6e2cdb6016f5301aa5fa34507eaca813457dbf79cec6f226e373409580d524eaf9e2b2cfe4e830030dfb279ea36a3d798a66f8535e2a412a4752592c168b21f547835479ebd3e64b4f594095a2a275456938b4761ec68e9b88b31129303598245054a9d49648ab5e85c8cb67b06fff1144a5e741a9d549f06ad6d4e0e1d59358306b3a264d9c8429d366e2f0c5fb50a8eb21e84f5c4b2d81a5415385cb07d760b2ef64f8f8f8c06fda0cdc882d14702c20d16c84b6325b82545b01a957e24ac4b5453b54b57870f908962f988323e7efa2a8b210e1978ee3d081d3482f52a2b2200357ce86e078d0395c083e80c0f933e0ed3d198b966e40584c32141a716316375c02dafa9a425c0fde8be953fde03d290081cb76e2eab53358bf7e0f1e64e4412360daa0675065fff42752c9902aef42452b8030a4b2582c16436aeb8aa4eae561793d72e2ef60d9d4c998bc701bd2ca15e27d82b6e7cb4e69343a54965640ad54a1c124e0d46082a2bc00e7f7ae86dbe8e17099340d0b021761ba8f1386d8b96277d02d945728a1d31b5151988c6d73a66248cf5e0858bc14cb962c86ff98fe183a763242ee24435bdf004d4d26b607fa62d830175c4ba844bd5689c8730730ae5f578c7299889337e3909bff049be779c0d9612aee2655212f21024b26bba07befa198e0e987050b0311e0e785c1bd7ac2cd7f391ea417426734415d5588e06d6be0e1ea8a693367619e0069279b61183ab42ffef8c75e3878370e4ad126a3006f3d030dfb270ea9f2c44aeb48aa3cbb9f2195c562b118525b4524551ef237e835488cb88c39937db0604b308a355a9804b4e9f5cfd745a5fc501a6637d21235e27363bd1a7743f6c271487ff8cedd82acc22aa9aecf9405d810e08afe36de387f3f057aa31a419be7a2cba79db168e7152985402a57918c09361d3074fc2244670b70561562cb8249b01be5899b8fcaf1e8c669b80cea86f1fe4b119f5b278e684065493af6ac9a8d697e4bf030a30645a9b1d830d31383863b637b4824eab4cff04c57816b07d6c1ded6119b83aea14adc70632eec87bbdd382cdf731925b55aba3a9e861fc5883eddd1fecb6138f3f0295434e4afd3732495fdde40aa7524952195c562b118525b21a4ea61d0aa117d3518be8e633067fd5114283552bee7f348aba1d91a8b141dd594676247e014388f0fc0958759d244289a8ca4159f65dd3f8b317d8762f1a15064673cc44c879118e5b314855a71cdba5aa8d46a189e3d43d489d518d06b183609c05428cab173a10f6c6cc662d3ce2398ebe9008f805578945b03b300db7ab556406a1a76af980ebf890b11955e8da2948758356d0afce66ec6d3e24a515f23b4753548ba791a3e2eae58b0f108b27293b17d913ffcfc1623f2699174ed7aa3011a7511f6ce9b889e9dec70222a5140aa0070865436432a432a8bc56231a4b69e486abd4e8db85b2198ea3e1ef3369d40910042a31449d53fdf61ca605923952649991b0055de13ac9fe18ff193e6e3cee36c01a9bac649583a54e53c84ffb82198347b17ae9c13e71d638ff13336a35c9c57abd688324669c255c983b3b0edd50753571d4551593e0eac98860e9f7e8e9eddbba15bff61d873360e4abdbc6e6b3daa1a21d57fd22244a7d7a030391aeb17ccc2f465bb91985b26eafc0c06551de22f1f83a7a30b966c0f427cc44dccf37683d7f415026c8ba41b30b54da3a8c2b503ab31b097038edf7fcc90ca6648654865b1582c86d45633714a8250ba79e99011730b4ba74dc5cc3587905ba76e8aa4eaad16dbd7aa14282f294159a5b8b9e53cc6bae9d3e13d630d1e6515414ff99c8d0bec576447c1d7de0653161fc0cd4b6731c3dd0dbecb0f412180532741aa657dd5c2c85318dab31f666f3e25ce5988fdcba7e2cb4fdac376c438b83ad961b08d27ae2665434bf9b15a3daa4ad3b067e58c26482d4a7e88f5f36761dad25d78925f0e1341aaba0e8fae9e809780d4c55b4fe0d1fddb5830c91d9e12a4160b38d64929075a6515aeec5d81013d9f432a0ff7b319521952592c168b21b595cdee2f4f8fc7d605d3e0e23d07b71fe7424760282d23a59316db37e8d4488bb888691eee98bdf6001ec54661d3dca970f69881ebb199506bf54d1b0394a5df83f7087b2cd91e82b807373065e44838faaf45b146dcfc541acb8d525c3337fc3806771b817567ee0a00aec18e79de183a6c3c6e3cce47e6934b183f7030dc676c44aa00d086676601a9a9d86315497d29a45e912135088fa3c3b178b227bca72dc78354eb486a052eee5c82fedded1952d90ca90ca92c168bc590daba2055de89c6887a5d0d222e1dc44497f158bdf71c4aab14d00be0a425a8a86c5d550e8e6d588091431db1f9c4759455e5e3e8c6f9701ee78563a171a851aaa548aa56a3c283b3bb31bccf286cb9700f95e5a958e6ed8261e30210935b09bd5a09adb4db951667364ec38081ce381a9e2c20b502dbe64fc4703b378425d74159918f43cba761a8cd581cb810896aad0915c5a9d8b5bc39a46e58301b3396efc6d30201a9660ba426c891d46d27905f962fd57bb2d72c5cbe97863aa546c0ac0195258fb162d2387cd561384e463fb10cf753ca02030d9b21952195c562b118525b07a44ad15493113502028f6c0ac4c8d1e3b17e7f0832f20a515c5c8ca2822c5c3aba05e3470ec7ec157b909853018300bdc4bbe711e03c126e13e7e2d68347282c2a4256421866b98dc538af408427e408e8d3e3f6e9edb0eddc0313676f414e7e018a45b9ecbb67317a50774c5cb807a9c53a6894b9d8b6c817b6b6aeb8125b26a05983dca7e198e9620f478f05b8f5380fa58569d8bd34a0794eea7c4b4eead36f0cf73b63f1d6e3c8ab5221fdfe45cc7075c7ace57b10f3244db4271b170fae824d9f1ef8aabf3bae3e4e874ef4553d4752d90ca90ca92c168bc590da5a769c92b737a5a5a874a828ca40f0c16df01def0c4f0f4ff8f9fbc1cbd30bceaebed8b4e738d20acaa095769baa874e598d47b7ce604980171cc77bc0dbdb0b1e2e6310b06033c262330410d3d6a3f550d796e0e6f1ffbfbd3301afa2badffffdfd4adbfc9e3f0a488480010244081030405054ac11aa20a8a86829a0a2c516152dad28d41590b6a8b856ad5654b45097628b8a12103048d851c3264b8204081042080964cf0dbcfff94ece494e86b94b2021b9f8becff33e37b977eeccdc99b37ccef72c3313bfbbf53adc79df38dc37f61edc3ef4260b22dfad00ded272141c4ec3ab4fca13a7ee44e23799282b2b4561ce412c78631aae1b743d263e3f1b5b53bfc3dbd31fc2b8b18f5b907ad886d4e71e3b1952bf332035ed609e3dfe34f9937fe14fe3efc15dbfb9cbfa5df762cc6f1ec0c4f177e3ba110f6261ca0e14cb0a02c5255c2795e63aa984548aa228426a7d4452dd1e8b5a69ab822af31ec7d1acfd58f3e567f8e7ac77f0f6db6fe39d77dec3bc852bb027f348c5e3464b4becb1aa5e794c6969217ed8b416733f98636dfb16de9bf33e52d20ea2c802cf72af55e1a9f3385e568894e5f3f1eedbb2cf77f0eeecff60ef91621cb73ef3caf256165c6e59bf125f2e5a863d59f91595a9559166efd981250bbfc0e215df20333b133b36acc58ae5eb909953803cebff8debd660f5b7dfe3505ebe1ab65080ac3da958fe5512bed99c8a23c7acedf27271242f0b1bd72659c77f13ff787b363e9dbf04efce781823ee9d8c959b7f4059b917c58ca4d27ce2142195a2288a905ab7902a9590c0e1e6cd9bfd4652053875052633f88b8b2a66e9cb779db6a3a7328bdf780e787149a9bdf07fc536fa5596982ab65d59e99594d99f79d5bebc5e7995cf0ad50a026536b0eaef572e7b651cff7879d571bc162c979595557e267febef98e7539477004b3ffd00ff78e743acdbb00387b20f23e7f021ecdbba120fdf792bfef0e759d8b9f7b005d45e7b592c422a7db642aa8ea26a483523a984548aa22842ea1987541d49cdcacab241352f2fcffecc2d925a59a1d991d8027bbb2a17aa25a62a60b62a32536c8366c536f9f66b9144244b5c2238d63ef3d5fef2f30baa43a11de1b1f653585809c136341717a1d0dabe62b255c536856a4d56394f89d4eacfccefd80f16b0b6cbcfd98705b35ec0e8e123f19b7113f1c2cbafe2d5979fc3e489f7e3bedf3f812f967f8fdc63c5f60a0795604cd36721a09a909a9f9f6f47519dddfdb28db98e322195a2288a905a67ddfd5bb76e456262220e1e3c68475235a41629b0ab0254edd24ac074750d40ce0454dfdb95b8c2a1139c6b72bc6a15b3d78bb2dc035836ff434c99fc041e79f4514c9cf810a6fcf9192c5dbf0b05c5a5f096955681314d9fe5902a65834ca014489532412075d9b265d8b3670f23a914455184d43303a9d2ed9d9696664749323232ec48aa8c43d390ea3a2e3528b00c8df17795157469c593b24e9c3851cde532be5655dca1fe9b69da5703d1b47eb4b18654e9619186ecca952bb17fff7e422a45511421f5cc40aa8cd3dcbb77af5d01edd8b1c3ae90641c9a74f59ded90eafc1d722d4eb28f6d69fa6c8454733caa8c4d97ae7e01d34d9b3661fdfaf576f9a04196904a51144548ad5348955781d20d1b3660d5aa55c8ccccb42b26b3cbbffaa2fefea330a168b72e4f5f504ed3678bddd2b4391e557a54a4ab5f4073eddab5763455ca05f99c904a51144548ad7348d515ceae5dbbec2e7f596a46bafc055cf5a2fece0ac917e4d1341d5ae34f35986a6b409528aa74f54ba3553760e5a11d66b94148a5288a22a4d619a49a1111899a6cdcb8115f7ffdb53d39422a28899a08a84a44d504da602a289aa61bbecd3c2d795c03aa3452a5b12a8d563d1448ca02fd9d60f64d48a5288a22a49e32a43a415566f74bc444c69ea5a7a75776fb4ba52515945460d5979ca2693ad42df95a2c795cf2ba3458a52c484d4dc59a356bf0dd77dfd98dd69a002a2195a2288a905a6b90aabbf9641295544c02ab123dd16354a5e2920a4c5768344d9f1d36e154c6a04ab7beac9dbc62c50a7cfbedb736b09e4a2f0a2195a2288a907a5a90ea045589acc86c5ee9fa4f4e4eb62ba99d3b77da159700abccee352d5d82344d8796cd3c2c107ae0c001bb812a0dd375ebd6d98d549928259feb0996351de64348a5288a22a4d62aa46acb9834e9ee93ae3ea9b456af5e6d475664cceaf2e5cb699a3e8b2c795b0ff59106aa0cf731c7a09eca5874422a45511421b5d620d56d228574ffc9a31025c2229195cd9b37d3347d9659f2b6344a259a2ae34f9de50123a914455184d47a81541356ddc03550d495a6e9d075b08dd79a962784548aa228426aad41aa1b8872991e9afe712e4de5f6372195a2288a905aaf904ad3347dba26a4521445115209a9344d135209a9144511521b2ea47ef9e5971c6347d37483302195a2288a90ca482a4dd38ca41252298a22a432924ad334cd482a45511421b546902a6b9bd2344dd7b709a914455184d44a485db468112b479aa609a984548aa208a9eceea7699a66773f4551142195904ad3342195904a511421f5ec8654e992d3af050505344dd327d9ecc227a45214451152cf5824552a1e592ea6acac8ca669daa74b4b4b09a914455184d43317491540cdcbcbc381030770f0e0419aa6e9939c999989acac2c1c3b768c904a51144548ad7b4895ae3c8154a97cb66cd982ad5bb7d2344d57f3b66ddbf0fdf7df2335351539393984548aa22842ea99edee97aebc5371494989ed53fd3e4dd367cea79357e5bbeceea7288a22a49ef1895335b59e54919f9f6f9b134c68bae15be755331fd724df9be5062195a2288a905a6f906a7ee65c05402a3b199f76f4e851db32ae55acffa769bae158e74d9d679d8d4b27b4fa2a171849a5288a22a4d6cb3aa96625e484530da5ba92934a2f3737d7f6912347ecb16adaf23f4dd30dc3ce7ca9f3ad09ae26b03a1bb035899e1252298aa208a9b50ea9be22a766c4540369767636f6efdf8ff4f4747b32854cac9089571b376ea469ba8179c3860dd8b469933df969fbf6edd8b97327f6ecd963cfdad7d02ac06ac2aa5bf73e23a914455184d4330ea96e959106540da71289916568a4d211284d4b4bc3debd7bedf7a4b2931502b40f1d3a645b6096a6e9fab3e443334fcadf926777efde8d1d3b76d879591a9bf29909aba7bb903f2195a2288a905a2bb3fb9de3cff49853a9b0349c4af4452a35a9d0644d5589c0c8f7cacbcb71e2c409fb1ce495a6e9866d59985ff2b880e9be7dfbb06bd7aecabc2d102bb0aac7adba4dac22a45214451152eb65e294eede17403d7cf830323232ec2e7d81548153d9c6acf08e1f3f5e6901569aa61bae755ed58d4a794ff2bbe473e91d11cb509eda0055422a45511421f59420d517a0ea4951d25528e3d624c222af5251693075abf4689a0e2deb3cacf3b4e47b89aa4aa35422acd28b22eff902d540b04a48a5288a22a49e5624d5ece2d7e34f0550f5983589aac822de8c94d2f4d9195935ff967240374e65ccb9f4a6e8886a4da3a984548aa22842ea2947527545231593eee2174095ca496601cb842819bf269597d7eb65a54ed367b1751e973241baffa50cd011555fa0ea0f5609a914455184d41a43aab392d1ddfc7a0caaae9ce471a91a5009a9347df643aacee75226486f8a74fdeb89925246d4647c2a2195a2288a907a4a9154bd68b7d9cd2f95919ee5ab67eeeb8a8ba6e91f97a567452053264dcaac7fbd3c95dbd3a908a914455184d45a8fa4eaa5a6248a2a63d164dd4481561d51610495a67f7cd154716969a90da7d2b3223d2c7a2255b0d154422a45511421356848352320f2bfb958bf445165f919a98ca472924a4ac6a332a214da2e2b2bb5ef6795cb50c6eb4207b0a415c9ffbadb5f6053c6a84b59a1a3a9ceb1ed84548aa22842ea6947524d48d54f93922e7e8998c87b5239d1a16eddc8b0fe2eadfebeb754bdf23ad13e6c366c6432a50c039206ac393695904a51144548adf548aab64444a4d2912e3d1977269154b38262651dc22ead888297151d43ce81fdd8b77f1ff6ef3f8843398528f3961350e9a0acc7a64ad92011550156bd766aa02e7f422a45511421b54690eaecea9728aacce4974a485eab770dd3a167696494a0b8c88b726f16b67c310b33eefd03264e7e0413273c8e27a6fc17df1d2d44b18c3fe4f5a27d583756f52354258a2ac0298f48d65dfeceb1a984548aa22842ea69475235a4ea7551a5ab5f2055805516eea743dbb274585969313256bd8947065c85fe97df83a7df78154f4fbc0d03da5e8bdfbeb10ca9c78a2d882d43497149f0f0525243d8e1bd382b2ce5858c47d563d6f5baa926a4b2bb9fa2288a905a6b902a158c40eaa14387ecae7e590f51a22366e5c48852a8b9c4765161094e9c3888654f0d437ce42f71c7df37a118277074ff6a7cf2ec8b7869f66aecca936eff32141795a2cc39cb5b8609a8fb5ff1998c5fd5d029ddc07a267899fd9e446fbdd5f6e1ad06a8a5dabc472165b3d123e5847e44b209a9e6239609a914455184d45a8354e9b693ca470055264dc9fb8c1c85ba8b5158506a41ea0e7c72ffb588693918f7ce49459905a96565d6e716701416eb570b52f333b069c94778fde9e978f6b91978eeb93730e7d39548cd2b45c191bdf87ec90798fbfe42ac4bcb464179a905b50790ba6a113efad71758b2713f8e161422fb87142c79ef4dbcf6dcb378f6c5bfe38db9abb07dff51949495f17e9c055179799525eaa48c905e17f95b2f454548a5288a22a4d609a4caa4298154591b75ebd6ad76f4442a253ab45d58603536ca3391f2ce1f715dc71ee836e441bcf8af0558b0e6008e5b69e5c4092f8a658ddcbc3d583b6732ee183214d78e9a88a7a64fc5836386e3a66beec1f4053bb07bdf462c7a7e246e1834028f7fb41efb4a0b51b02f09b39fbc0dd7dcf4206624a662f7f7abf0d1948771e7a091b87bcc388cbbf70e5c37f85e3cf252223664e4a0b0b484f72484ad1bae5256483921d0a9274f1152298aa208a9750ea902a86299246156508c248568f44bc61c9794a12823091fbffc287e75437f5cd9ab37e26f7812efce4fc4679b0fa220bf08c5c7d29034f3593c36ed5dccfa742912df7b0e4f8ebf05bfe87039aebdff7dacdab71b1be63f8551bf4cc0d0273ec28afdb9c85cf5061e1bfe0bfcf2b7cfe3d3ad695839fb710c4f188a5f3f3a1b0bbfb11a3b9b96e0dd3fde8ec183c6e3c5059b71a0588609e834c57b136a51541352a58c90a14184548aa22842ea19e9ee97e5a72442225d79ba526204e92c7051310af38f20ef7006be5ffd31defce3605c77fd100cb8b42f2efbfdfbd8b04fc61fe760e7cae558f8e18798f9b76978e4772371db2d57a167643c126e7801891959c8dcf0199efdf5351870e7b398f3ed0eac9bf310eebce6463cf0cad7d8b17b253e9a7a337af71d801b1e7a096f7e340ffffd78365efbc375b8b8732f0c7fe673accf52905ac47b12ca91541987ca482a45511421f58c465265d6ae4c8810eb4a870e510b5428402d2af1a2b4acdc4a19d66bf131e4eedd880deb3fc65f06b647a7b89b307de901e4647e83d97f1c811baffc25463ef132de59f6253e9b35113745f6c1d5c35fc5e27d3938b6ef1b7c317d3486dff1209effef7f31e7cfbfc5a8e18fe3add58771645b22de9e780d627bf544fcd537e3d691b761d46db7e3b651c331fc57b760d2cca5f8769f753e25c5bc37216a5d5e08984a4376d7ae5df6df9c384551144548ad7348d50bf9cbe42989ac3a2b273a3461b5e45836f6ed4ec3b6dd0771e858a99d46ca8fedc4d23ff541a78ebd70ff7f76e3e0bab771cf8068f418390d1f6edb8bccfc9d58f5e144dcd0ee725c7befbfb0f6d05194941ec4b6a47f60f26f7e83f10f4ec0f87b1ec0038ffe13cb0f7a51b47f353e7cea66f4bcfc5a8c983e1b9f26afc1ea356bb16ecd4aacb4fedeb22b133905bc1fa10ea9622927a48c3017f427a45214451152eb7c76bf5e2755a2aa7a1be742dd74e8f8585119cad317e0b50937e3b2610fe32f9f6c43ee911ca47efb1f3c3de842c4f6fc3ddeda9a859c8dffc03dd77441e4e0497865f92eecfeeebf7865dc15e8d4b60fae1cf63216ee3b828213c538bc7325e63c740b06c57545b7ab1fc0d47fae4646a105c2457bb0eefdc918d16f086e7ae04d7c9962ed63db0afcfba9073076c413782be97becb3bbfa794f42d9b2a6f2fefdfbed3262efdebd84548aa22842ea995b275516e8960a4860557fce486a085aee9940853430f233913a77226e1f18870e970cc188e1c330a8ff95e8d7eb064cf9240d7b8e15a238673bbe987e33aeb9b8037a240cc58d836ec3a81b47e1cebbae42bf2193f0ee060b64bde528c9de89b533efc3ad577442f7917fc57bab3351546c014ac131e4eedf842fff3e05bfbdf26a0cb9fa5a0c1e380857f61985497fff1ceb337390a7cecb4e7bbc4721d9d52f8d59291ba4c7459e4a274b50b1bb9fa2288a905a2790aaa32352d14854e4c0810376579e4c8cd01154465243d8d6bd2b282a4169ce2e6cff36090b172dc6d2255fe2cb454bb02c79a305a8256adb02e4ecde80ef562cc4a2c54bb064c96aac5db705dbb7afc3aa759bb12beb288e49dac9cf43cedeef91b22e192b36ee44c6610b4eacef16e40b9c142037331d5b567c8da42f1759697029be5ab6113f64e522bfa4c83e4601ef49c859f2bf2e03a48c90b24120551e8b2a93a89c8f4525a452144511524f0b5275c5a3ff968a462a1ce9e697ca4426464864556f67022b1d42d6a05a2c4f8cf2da4f8692e5c5cacae4ef729416556d57546abda7b791274d89cbcae19567b717a9fdc87625154f9f92274f95149969c2fa4c8e23fb2eab388eecab441a45eabbbc27a16769c4ea3242a2a77a217f199b2a63d99d90ea06aa84548aa22842ea294552753455cff097b166124d9559fe1261754653e850b4dcbf7cfb3e57b9022cab45cc8ccf2b21c506cc82ead15947e3a5ea18b28f029fc7a043338a2a9628aa9409321c48c6a5eaa74dc97df607a884548aa228426a8d20d58ca8caab543452e148c5235dfe52a16cd9b2c5fedb1951a169fac7154595c6ea9e3d7bec45fc258a2a8d591d4535c7ae1352298aa208a9b516497576f9eb45fda54292a8898c3f93088aaeb074a5553d2247d3f4d964338f4bb9209153290b248a2a932b652890194525a452144511526b3d92eaecda9388898ea6ca62dd123991ae7f19af4a38a5e91f9fa5d12ae3500552656d5489a24a79a067f507eaea27a452144511524f0952cd2e7f0da17acd54899808a84ab7bf54307a26af8eae683bffa7693af4ec968ff5c2fdd25895de1569bcba8d45d5b04a48a5288a22a4d6492455573652399993a8a472d9bc79b35d5949d7bfaecc08a7347d7682aa44490548257afafdf7dfdbe3506566bf345ea511eb36a39f904a51144548adf548aa73617f731295ac8528a02a1155a9ac24a222e3d3a412d3966dcdff59d9d374c3b79967cd7c2c0d54899a4ac354f2bb74f16b4095cf641be78cfe400ffc20a452144511524f0952fd81aa5e3b552a2d99342195d6a64d9bec088bbcafa1d459e1d1341d1ad6d02af95d60541aa302a8320e551aa7f29e74fbeb086a304b4e1152298aa208a9b51649759b44a5e15383aa5456526949e525b0aa2def49c45522af664596efb2e6264dd3f5b79c94b68e984a74547a46e4095232f65c00551aa032b44722a8d2e5af23a83a5f3b9f2ec5482a45511421b5ce23a96ea0aa67fceb0a4d2a2dddfd2fb0aa2b35f95bcf00167095f7a5d2d3151f4dd3f56b333fea3c2bcbcce946a7bcaf9f26250d526998ea86a7eee27703544652298aa208a9750aa9be40d55c9a4a2a2b89aa4ad79f445f0456a54293288c0656e926dcb871235252526c6fd8b081a6e906629d2f258f0ab0eaa8a9e461899cca8a1e3a7a2a79ddec19a9c94429422a45511421b55621d509aa26b0ea59bf326e4d2a2e89b008ac4a85265117015619b72ad04ad374c3b740a9e4590153c9c3326447f2b4bfe8694de194904a51144548ad3548750354fdb71ed766c2aa0c039065a924f222dd8352d189055e699a6e58961e109d4735944ade953c2c79d91f9cd6a47b9f904a51144548ad1348755646fe60554faed2d0aac155ba0ae595a6e986639d2f755e154bde159bddfae6e2fca70ba884548aa228426aad426ab0b06a42abf9ac6f9aa61bfec2fd6eab6fd464d63e2195a2288a905a6f901aece42a7335009aa643c7ce479bd646e494904a511445483d6390ea8ca8061ac3ea0b64699aae5f3bf36630799c904a48a5288a901a9291d4baa8d4689a3e33aee9c2fc84548aa228426a8384d4602a3b9aa6432bb25ad70d4d422a45511421b55e2195a6699a904a5114454825a4d2344d4825a4521445480d3d486557264dd30dc184548aa228422a23a9344d33924a48a5288a90da702175d1a2458ce0d034cd482a2195a228422a2195a6699a904a5114454825a4d2344d4825a45214454825a4d2344d1352298aa208a984549aa609a984548aa2a8b30b52172e5c88fcfc7c9aa6e97a77dbb66db173e74e422a4551142135014b962c415959194dd374bd5b22a9bb76ed22a4521445115213f0c9279f60fffefd344dd3f5ee366dda202d2d8d904a511445484dc0d8b1633166cc189aa6e97a77e3c68d919c9c4c48a5288a22a426e0baebae437c7c3c4dd374bdfbe73fffb9fd143c422a455114211543870ec565975d46d3345def16485dbc78312195a2288a909a80ebafbf1e175f7cb10f5f82be7dfbd6a92fb9e4924ad7f5b1689a6ed826a452144511522b2175d8b061b8eaaaab5c9d70e52f70a9058fbe21f6f47d49df4bd1af5f3f5c7ed9a5b8a40e8f43d374c337bbfb298aa208a995902a15c339e79ce3ee73cf47b7f878f4e9d3077d64cc98bcd686ed7d09a0f6457ccf58b48d6c830e17c6a0776ded9fa6e990342195a2288a905a09a923478eb4274f0d193218830757f8da6b2b3ce89a6bf08bf8de88efd50bbdc4bdd5abe1debd7bbbbb97ef6d7b89e32e42d74e9dd031a6372ebb722012aeb8c2388eda26d0b15c8ee1f79c689a6ed0fed9cf7e4648a5288a22a45640ea679f7d86acac2c1c3c78d0c5bb30a1cfc5e8ddbd3b7af4ec899ebd7adbd10eb37bae8f05b13de533877bf78e479f6a5d797dacf77aa9cf7b21defafbe2cbfb63f8fdcfe28ba415786dea245cd54b3e8fb3b7e9651fab7a5760ef5ebd2af72f101bdfa76adf95db5ae7d7ab574fd773a269ba615b20551ed54c48a5288a22a4da93140af272b02f63b7fdccec5dbb7ec0ceb49df6535f367fb70cf758301817db0ddd2db094d70b3b7640545414dab78fb25edb23ba530c2eb2a0302eee225c745185e3e2e2d0ad4b17746cdfdeded6debe4347c4748db501b547b72e88ed7509ee9af20facd8918d837b7760fa0377e3a2a80e88e9d215715665d5a37b3744ab63551caf03baf6e8818b2c8895fd778fed5a712ed6313a748c46c70eedd571a2112bdb59dbe8f3a1693a344c48a5288a22a456426a52521252bf9e837b460cb42a895ed5c687c55b807a51f7eee86eb95bb76ee8d2a923ce0f3fcf5e70dbf6394d10deb28d0d96b16abbeedd63d1d5fabf43dbd6086fdab872dba6e785a34d5434bac6f640f79868c4c45e84118fbd86553b737024330d53c68c40c7f35aa07d746774ef118b0b3bb443cb664d718e3e56e3f32c20b5bedf2dd682d08bd0ad73345a9ddfccfabc099a356f5179ac739bb5b660b82b7a5cd4c33aa758e3bc689a6ee826a45214451152ab41ea8e65ef62ccb02bd1a973d7aa0a23d6824d0bf6ba59afdd7bc4a17df33074bb65023e59f7030e666561cfbe4c1cd8b717f3df7b091dc2fe1f3a748a416c9c058f5d3aa3758b56b86fd2546cd97b1059070fd8dbefdab20acf3c3206ad5a4722ae6f0266bc3b0fdb338fa2a4ac1c5eaf17c78ee62175fd97983af10eb46bd30a0306dd81af96afc7fe7dfb909999898cdd29b8bfe745e8d4a235dab58fc2f07b276171ca6e64eefb015b52d6e29bad7bec610b7bd3d6e1aeab7e812e51edd1b54777c45ae74fd3746898904a51144548ad06a99b3f7f1697c7b4c04f7ff23ff89fffa9f279ad3a20a6730ca2db85e3f6c75ec637bb73517ae244d58fb7fe2e2d3e8a555fccc1c0e6add1f982f6886e7f31fefafcdb3878240fc6963871dc02d1ac34fcfdd94771f9c09bf0eabcaf5060bd7ffcf871cb155b9ec8db8ec9f73d84dbef9c8695dfa4a1d40258630fc8d99b86990fdd89cba35be1d77f98860d07f2516e9dc309db155b1dcf4fc5e0fefdd0a64d3b3b922aa04dd37468f8a73ffd292195a2288a905a05a90587f7e2bb35c9f86ae9122cfe72913d4e35f1d38ff0d4b8ebedaefb2e97df85e5a9876c50f4e6a7e3ed572723a1ff30fce5e97fa2c87ab7e4e8112c78752a7af7ed8d51135fc2f6fd85282f3e861dcbe7e12f0fdc813bc63d89398bb6a0e038b067eb1a3cfbd0080c1d760ba6ccfc0ca999c7909fb31fefffed39dc7e7d7fdc7cfbfd787fc956e41517e1f38fdec41597c6a34b8f9ef8f37b0b917dac04053b9271db0d09b87eec2358b3331ba5dee3282b3a8c551fff05b7de3a1c375d37c886d30b3b75b62abd2ee8d285a6e950312195a2288a905a0d52251279bcbc1ce5d5ecc5b237ee466c6c378c7be10b0b1a8f5bef1562de4b5371f98591f85958135c3c60383efe2e03c7bd5eecd9b101e36e18857fcdfb1a25e525c84a5d8fa71ffe0d3a463447cb369d70fb0393b125e330ca8ab3b1f4a319d6b1fbe1a6092fe19bf45ce466a6e1a97bee40db735a61cc43d3b16dff6178bd45d8b6692d66bef93a5efadbab58ba6e0bb2728ec25bb8177f1c7d336ebdfb61acfe2117def213d8be2611bfbe381ae1e1e723bc652b5c78e18588898941270b543b77a6693a542c90ba70e142422a45511421b50252b35257e39f6f3c8f279f9c82a9532c4f9d8ac98f4fc2a8ebfadab0f7dc7f9291577202de63bb306ed44d38bf590bf488ed846e97fc120ffe6d214a711c19dbb6e1a921bf43e227cb505678049b17bf8bd137f643eb76d1e81cdd1e436ebd0df3d7a5a2b02c1fcb12e760f00d37e2f6275fc7c68ca3c8cbda85171ebe1f17b5e98509d67b7b328fc8f8001b9ccbbc65282b2b436969294a4a4a5062bdfe63ec1db877f48358b12b0fdee3c7b172fe6cf40c6f6d474e63bac4d8901a1d1d4dd3748899904a51144548ad06a95b125fc190be1df17f3fff3f9c7bce3915b3e9cf6d8a66cd5ba2a3057c33e65a905a0a941dfb01bffdd50d68724e38ba75b9105de2fbe3f7cf2f40890594fbb66dc5d4c1775b90fab505a939d8bc70266ebbfe1244b4ed68416a14aebd65243e5d2b905a80a42ffe896b060fc1c8c75ec386bd47917bf0073c3be13ec446f6c4838fbf6a416a0e8e176463d3baa598f5cf773173e69b78fe99e998f2e41398fcd4d31875f925b8fb7713b1e2872316a49ec0fa451fa15f9b36e86855721d3a7644479aa643d28d1a35426262222195a2288a90aa66f727cdc2e81bafb000cf02cf98183b7a2aee18d5d606bf3ffc6d01b20abcf0961760ce5fff84ee2d9ba1f139ff0fdd2ebd01b3d7a4e344b917e99bbfc5b84123f0fec74b515c568ccc6d2b31e5815f21e29cff4393f32ec0adbf9d848d7b0ea3a4381b8bfffd22ae1e7835463cfa1a5276e7e258f62e3cfdbb5188fc7973dc31fe296cdd7b08a5b91998fbb747d0ad7d2bfcec673f47e7d81eb8e4d24b7155ff04b46bdf0637dcfb27acde5901a9eb12dfc7a5ad5adb80dabe430774a0693a244d48a5288a22a45642ea575f7d856d4bdfc288c17dd0fa8236958be7db6edb06edda4521b6ff58ac4f3f84e3274ea0ecc856bcf4e771d67707e0c189afe0184ea0f8683612dff8abfd44a9d17ffa3b52338b515698878d89b331e157bfc4b5b7dc8bd73e5e8ffc522f32b6adc1f4f1c3d0bb4f3cee98fa1652f6e6a1b424079fcc9886e1fdfae0fadb1fc0fb8b3622d782e28c94d578fceebb30ec57bfc6924da9282e3f8ec2439b2da0be0ad7def92056ff50d1ddbf76c1fbb8a44584fd708176e6f9d3341d5226a45214451152ab45525397bd8d9183e3d1b2d50568dbb6ade176888c8c44ab16e198faea6c6cc93884226ff525a88a8e1dc68acfe7e0e60e1620b6b8001d3add8897dffc0499870edb939ab48e97972267df76bcf5f234c476e98456513118f1f03348de9a81cacd8a32306dd25f70fbddcf60f9da5494969a4b501db72758bdfbc4ef10dfae3986def328d6a61fb3201558bfe843f4096f81b6eddaa14db5f3a7693a942c90ba60c102422a455114213501fffef7bff1d587cfe0c6fe716819d11a6ddab4a96e0b5223e535e27cfce2aec7f1e9ca2dd8b16387ed6d5bb7e0b3d9afa26fdb36b82022c2de2ef2824874e8d0110f4d7d06ebb7efa8dc76d3baaff0c2e4fbeca756455830dc2aa22562ba75c79417dec0fa2d6abb0dc9787cc2ddb8a0750fdc7afb142cfd7a7de5f777ecd880998fdc85cbbb5f88e64dcfc5903beec7bce529d8b63d159fbef70a7a869f6f9f6fa4f3fc699a0e191352298aa208a995903a68d020748db910516d23d1ba756bdb175c70c1496ed9e27c4444b647e7aeddd03d569ee454f134a7ce029de7b7402bf9aeb55debd6add0b2650bb46bdf01dd622b1e932a4fb08aedda051ddab7b54038a2625b6bbbd6ad5aa143c768b59db54db7ae88eed81e112d5b59b0d91e5dba76ad7c124df7d86e888e6a637f2722a295bdff98ae15fbeed2b913227d9c374dd3a1e39ffce42784548aa228426a05a45e7cf1c568daec3cb46869c1a305803e6d4160448b70346bd204e79e7b2e9a583ef7dc2668765e7344589fb552f02896bfc3c39ba3499373ed6deded9b3445f3f0f32bf717a11cdefcbcaaedac7d576c13614171389a36b58e657c765e788b0ac8b5bed7e2fcaa7369669d7f4b7fe74ed374485820f58b2fbe20a452144511521370c51557544063cb966819d00288ad2b23aead159cba6d6bc3aa63bb080b305db7d3fb34b68950305a752cc7f78dcf6da80deafc699a6ec826a452144511522b21f5b2cb2e438b162d689aa6ebdd84548aa228426a25a45e7ae9a568debc394dd374bdfb7ffff77ff1f9e79f1352298aa208a915907ade79e7d1344dd7bb431a5295bc9693689aa61b88bda10ca9fdfbf7e7936e689ae613a76a49f19613689aa61b88e34319529b34698266cd9ad1344dd7bb2592faedb7df8634a452144551b500a9d9d9d9484f4fa7699a6e10cec8c83087525114455114455114455114455114455114455114455114455114455114455114455114455114455114455114455114455114455114455114455114455114455135545fcfc94f7b89b5dce834f6d9d4f228cba32d47d5d27946a8736bc88a52d7f374156739a601fdae7eea5e0e0dd1f33715a3ceaf2128cecfb9e8f42e7929cc13f8094d7d8ddf9710e037c6a96d228cfcaa8f45d58e9aaaf2c097236ab0af46ea3b61217c3d1a07a80bf46f6cece3f370cb912efbf3774d22eb204d3bcfc3996707581ee2a7fcd3e92232c031a26ae9dce538c36a507786d7306d9eadf2779f9d69352a083732d26c6410e546d320f3c58f42e996e1e26ccb134e617f526864582e56fbaeadc71b8e56e7a52520fd4103bb9693d56f3e5dc9b3cb673590dfa4af7ba6e5b93eb61963795c033d7fa766a9f3d31a6e79aca3509f7786ce25c9712e6ed73d41155208e074e3f7c9fff93e2af0462a6f431dc3a38e8110680486922607b85f49356cfc86fafd7196dfbe7ee3683ff936dd47fef057b74dae83f223dde5dca5ccf03aee718a6ae0bba50baf02213725ab6d4ef7dcfbaa724097dfbeb619efa77cfcb16a969fbadc99561184a38c345b937b1f285ffc682075ae83fa25e1ce3ec58cd24f7d6f601d1772b505840d115207ba146ef5a54455d8064a4393430452fb39d2a6f3dc0355a6f501a98d1cf97382faac9ff15ea451b8e6aa82d02df23dc0a84c09a9750fa9093e5c93683e21b5e140ea5007d4452a004cf35444501b19796ab5ca6b035cd245be6adcfbba0eb501a92faab2a0690d022284d49a43aa99afc7abcfc63bde0f33d2acaf7b1fe972ef09a9ea46f8020a815789883ac3ff8d3d555d8c66b4a6a98a4ce90ad4fc5e98a76a6881b32b24cc531512772686c62e855cb8ca80191eff5d3efafbf2ea8ce886ab738977396e8491b1e3d576bec2ed71eab786f98154dd051bede31cc33cd5bba1238c965623e3da8407a8e01aab738935127d305d46bafb37cae5dc561b8d98301fe79fa1ee47a44bc117e8fa45fb48134e35f59cdc4dd2d4e59ccdedcc6b1b6fdcf708e3fae8738f52df9d60b47ccd736e64a4dfa62ed73dcad8a7af7b7daa90eaebb3283f85eb62d5d0746aa6fa8c907a6620b526d2793dc20fa4ea6dc203005f94c77f1761e300db043a4e234ff05d978d1a00a406ba66a72a291bb33dee5de4726db7298075a68bd92a1f3af598913f8381d4c61edf430366a9f23b5019e40b52c303d4af61a7705d9b7afc0f65301be4fe867284bb30437880f418e183334e17524d2504516efbbaf702b68ca4d61052e35d2ed05805aef9aa95966944a69c5d5c49c67772957557e37a237127f8a874cd639b85dc2cc7717c155450dbeac891eed69da6decb55bf23cd003b9d715f57114418ad9fa18e04bf5e5d8b4c053b731d093b42ed0bea73799de7a818a0c0411f67a0a3e08832126db1f15b921c99789cfa3c5b9deb7c755efe0aba18f51bbc9eaa611fe6f92188ebecd6e52ce7a623b0c5c6f51be8285ce77baabaa2bcea3bbec6438d52db46382a08e77bb2cf0f8c739b6e5cb3518e42d839d4c5997e75daeba7ee9f579dabfca6492e85cf34c7f767d723a48ef19cdce51fa6de1b45486d3090aaf3f7638ef498e8a93ee60daa3195e9485f8d1c6573b6f1b957956366ba4937ca12a8d7c71ce7e4dc4f8aa311393ac0e78dd471bd46fe9e594f90fa810245b8946fafab7ced8496d57eea44f33cc2d5f5f357c68e32823666ba18ea71eff64d51793710a43656f7df1c6230d7d85fba8fb2cc797dcc6df4ef4b76d449524f0e7349dfc58ef41a11002a173bd2e65c47f934c991ae8a55f96d1e33d991b63254da33cf37cd5136ea7acefc3d63eb115207a8572750271b9158426a9090dac8a8e84543d4ff138ccf5f54155f940fe08c52096ab2a77a5788d7d84f4d21d5e309ae6b5d27f4e12a61842b98f31a992e4c155c19468649327e6723d5ea5bef681127a9c24f27b4a106ec99db9819265a7d3ed3718ed90ae086aae3b941ea3603a48739a0bbaf23613736006eb29f7b9ba60ae40823a2ea1c7b1a4cd7bd5b77bfeef2d0d72f45fd061330338ca870a4fa7cbe9f42d9ab0a7d7dfeb9ea38c38d7b596c6ca30ba4a1eafa36f69cdc9d15a8bb3f42ede303a3721be64843a38d86438411110954892619c7777ade69426ab8e7e42effa19eaade0742ea9981d4041f8e70e4ef6c55be861b6033c9b14da6a7aa57629cd1f0d20d290dbb8d545e98a4de1b62a41bafaa0ce354bed495bb8efc0f348e1d6634c6d73b3e7f4c9d47b8cacb9946746c9aaa138618dfc9af274885ba56ba27c42cdffa1ad0e031ca687ffb35cf23c11378685b84a3ced4e9423718c7388eadc13510a4ea6bdecff82de946d916a9b659ed27621ee9a9de5366068066a9738f54fbcc36eaef49ea3c871bd1d4d501a2b633547d1369a489624fd5d089a18efbdf58b1058c7a6fb201b751ea7d1d34785d9d6f5f555ebf68446e33d46f8856bf618cd150f007a9b93ecae6174f1352f5bc80f141dc7b426a004835a3911ed55a4a76819d5ce3a23a8133425de03097e3ce380390eafc6d692eef853b0afc240750798c4ac14c38c35c0a0e7d4eb13e32828664335a39cd055e9c90ea6cf99951d2992ee71ba8a0d3954d5f97288a199d3c5548ddecd8668271fd74c1ed1c9733cc0f7c793cd5bbb0fb1a11e3d78d4694f3dabeee52f8d404522739f669466c931cdfe9e780ea40854b92ca3b492ede769a90eabc5e1ef5f70c42ea1985545f1eedc8dfce3260bd4b1930da4f1910eb3979a26b988f3234ce116532effd6297e87e5f15a808f311fd6faaf2c838e3bc6638b699564f90ea9c0439c651be6d73946fd302d42be679b8e57b5ff5d0349708bbb3db77b271befecaee281fe5e71047991eccf852b7ee7e670f8cb35c16c07ac5258df8bb1673d5b58e707c27d2f87b9c8fdfe9eca90d7739df468e7a22d1c7fdd69a17e0dacc32824e4e679c26a4ea3adb64a9c78cb44048ad01a4863922a9e9aa007256a8f94665e8069c8dd5457e51259e4c0740d625a44e76792fdde537788d6ddd0a62f3f8031d2d3cb773d2dbaf761c470f218877f98dfe2035c10f18267bdc67de67f829e8c61b2d7ab7c226e1342175ae9feba7ef778ae3daac77896c38013fdbb8d689ea7768407fdd51e8c3d15a3d15489da55aeacef492a1ec0f1a8381d4baeaeed705b4ae701aabbfe308a96714520329aa96ca005d5e0f53159ed9cded2c43c3fc1c3fdd05404ce51b60673a5f55bc913e7ecfd02021754c2d43ea24c77bf18eef4d704059468008a6791e030294571ae0cd7ac84c17433cd5bbfcd33cd57b81020518e27c446d479f26a46ef6015e51c67d4a76dcffd901ee5f82bace3a923fc973f2b87d3da7659a4abfe98edf335935eafda50be7ef9ea9ca6f677a4d51e7e30932bd05dba00a16529d5dfe299eeaab051052838454dd8534dcd876b1ba604e0ff4019c519eaa319bb31434f4751cf74c41aa86eed93e7e435c90903ac407a44e7281d4f13e8e15518b90badae3be6c92bf0277820f488dab25489d1504a44ef6716d7c4d3a8a34005f8fdf8933d24e86a39074bbb6a702a9193ece73740387d4c6aa801eaa2abf341f051f2135f421354ea5d35c55164c362a425f65a8dbf1b33dd5c701ba95a9491ef76ed0a1c6fe4639be372088ebe10fcce679aaf716050ba9ce466aace37b119eaa6144091eff3d39cefc15a9befb989fed87f888067a3c55ddbe63d4fd2bf654ef05f2752d7464d339d9b4512d416a5210903ad7471af0773fe45a8f550ce19c27a2bbe9f5708c499eaa49d8a3fdd4f98120d55fb77db08d91ba8054b3cb3fc6cfbd27a40680d44475831b1b3094e423c2d5d70770ce70dc007d83725d2035c64fabb0b622a97a10bf33623cde80ce4090aac72d0df393b0754472880b048e7124c8d3ada05ef7541f2f6b5e3f5f1971a823a2eb31a26fb5d1ddef0f52637c546431aad0f2375b34c55335f12dceb8a72f7a4e1e8c1e2ca44ef303a9d354fa0d73a92886367048d595fb6c035c08a96727a4ea31de6639ab87fc4ca801a4a6784eee058951e9274a45d9dc7a6d861b8dcb7c9772676c10d723dde37b2de60cc767c142ea2b3e00cfcc3bf3d5ef7b2508a873e6af44756e4d1d65c664f55eb22a9fc27ca40bbddac6344ff5a139feca6edd30770e25738eb1ad0b48d5730326b9444187797c4f9e4a70447e9baadfadaf65b24a7b8d5c7ee7e940ea641fe5775f8fff611a750da9bade4e56f77e9e8f7b4f48f59cbc4e6a5f95f8f5cceb312e1779b40350e12792aa2bf9080350a77baa77f76be89b6640e3cc2020355b15c4613580549d680718e7f38aca78314142aa4765b0cdc6efeae7a97a808196b4fcd71be0a427606d0e003235ada0623d553379f5d21c819631d10f5d48320ad848b5dfc400c0e99686661a15642048d5db9893cac25486759b6debbc7ff99eea8b537fe0a9ea460a0489ce4278b34aeb8d5d0030cc5335a07da6715e3aea312304207594ba5ec50644f882d4e19e939f941249de3c2d488df2e3da84541d696c64946baf3bca80602075924a2b718e34a5414b979f092ee971a051f96618bf315ce5b340903add88aee932dd9c4033e4142035db48f7bafc4d7601d77c4f558f494d20355a7d77bd71cd06aadfabbbb787f869bce8758b331cd01968e2548a3a6663a3fc4c74949fc142eadc1a40aad9208a720097d74f79314f9d7398a371a0d7e076de97469eaac9a3a703a931eabc5e34ae4ba44a17b3ea1952754f75a623e0e506a913fc94213f0a48751bd89fe6e3264c373255bafa7bba9f041da5b6cd5709275325bef98e4439d3b8617a3675861f481de8a9ea32185e03486de4a99ac198a6126bb1e7e427260582d408a320da6cfcbe744704629bdaff36b54dba23625c5be3d1867aaa96eff01a15d4243ff73e4eed47ff8662754f226a08a97a3c52710d2055cf1af6aa6ba3bb7a024d42d0adeb0f5ca2bf8f9d02a4be62a4f9a6aad22976a49d619eaa25d4b679aa96cb6a1c0290aabbfc53fc14b2099ec04fb2a24e0d52fdb9362175a09197f4044e0daeafd70052351ce8b240975bfd8ccfe7aa6349fe5dadbe3fc311254bf6544d0acc361acdfe14668089b92c9e5b977ab0903adf388f4cf55eb44b9da097ee0bf4f849377889f754cd35c834ce3bc368cc36f501a9fad8b90e800b04a9316affd99eaa31f2999eea13618381d419c6358e081252233c55cb0b261b65e2d800e5b62ee3938c32bf9f713fcdf49ba19820d3b8f7a702a9ba7e2856f57d92fa7bb3c7ff92596702523d061b850580547f65c859af48173a0f0fe23bc3540b31d2a5a0897244c3c2548b71b801686e0bb1c7aac88fb9187d63a3b2756eaf17828ff093987c2d1a1cadce67a0cbef8df0b83fc020caa570ebe7a9eae6705b705e2f7d324a6debef8105e6f19d15859dfc0000022b494441548bf987b9dc83a6c6b534b76dea39797c92bf8aa19fba166e0f098808223de8dfa87f9fdb777c3dbb3b5e9d633f4ff0cf2677ded7301fd7c8eddaba3d9b3ade716ff482fc518ef31fa2ee75ac8fdf16ccbd0d94ce9cfb0cf3f3995bc4d96d41eb48c7fd703e0f3acc4fb48f91d4535394c7f7f25309462516e6a30c8b33ca4abd8db32cebeb48a351aa421eeba91ac6633ec822c2a5f2f4757c3ddb7a948f341aaf8e33c6253fe8343650eda39f3af78420af5d8c2a1326a8e347f9c83b091eff0f2be9abb68b55e731cc4f1993e4397918584de1455f9371aabe6ba4eea3b3c191e072afe35c602750a42c4c05277cfdb6184fe0279b3552e5da70752dddbea3ef5d988ffb3b2ac8a89e1e1230d6389eb3fed7e937c6e5da44794e5e8d26c6c77b6e93ca46a97d0ff4045ed0df6dbf81f28c79ad9afa49b3cedfecefde87055186505483d7244ff5b1c366ab2d869787a228caa7f464aaf820b6fdc0736a8f0d0de365a628eac72afd78cf4ca310ad8d673f5314459dad8af25474574b776b6210dbeaa5b65ee4a5a3288aaa99f41a7302a6d24d16c74b425114e5537a52d6344fe0b1a8323cecf520b7a5288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2288aa2ea56ff1f94c413ab860154e40000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Look and feel of the written HTML code and the jQuery Mobile enhanced Todo description page}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 UI enhancement is done in the {\f1 enhanceJQMComponentsAPI} function in line 52:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 $.mobile.changePage("#" + this.id, \{\line
+ changeHash: false,\line
+ role: this.role\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To retain control of hash routing, {\f1 changeHash} has to be set to false and the proper {\f1 role} parameter provided to guarantee proper page appearance. Finally, {\f1 changePage} will show the new page with its defined transition to the user.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For the basic use cases, it is advised to have one View per page, and always render the complete page again by calling {\f1 $.mobile.changePage} when widget enhancement needs to be done.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To progress component enrichment of a newly added HTML-fragment into the DOM, advanced techniques need to be applied to guarantee correct appearance of the mobile components. You need to be very careful when creating partial HTML code and updating values on UI elements. The next section will explain how to handle these situations.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Applying advanced jQM techniques to Backbone\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Dynamic DOM Scripting\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The solution described above solves the issues of handling routing with Backbone by calling {\f1 $.mobile.changePage('pageID')}. Additionally, it guarantees that the HTML page will be completely enhanced by the markup for jQuery Mobile.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The second tricky part with jQuery Mobile is to dynamically manipulate specific DOM contents (e.g.\u160?after loading in content with Ajax). We suggest you use this technique only if there is evidence for an appreciable performance gain.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 With the current version (1.3), jQM provides three ways, documented and explained below in the official API, on forums, and blogs.\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab {\b $(\u8220"pageId\u8221").trigger(\u8220"pagecreate\u8221")}\par}
+{\pard \ql \f0 \sa180 \li360 \fi0 {\i Creates markup of header, content as well as footer}\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab {\b $(\u8220"anyElement\u8221").trigger(\u8220"create\u8221")}\par}
+{\pard \ql \f0 \sa180 \li360 \fi0 {\i Creates markup of the element as well as all children}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b $(\u8220"myListElement\u8221").listview(\u8220"refresh\u8221")}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b $(\u8216'[type=\u8220"radio\u8221"]\u8217').checkboxradio()}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b $(\u8216'[type=\u8220"text\u8221"]\u8217').textinput()}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b $(\u8216'[type=\u8220"button\u8221"]\u8217').button()}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b $(\u8216'[data-role=\u8220"navbar\u8221"]\u8217').navbar()}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b $(\u8216'[type=\u8220"range\u8221"]\u8217').slider()}\par}
+{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab {\b $(\u8216'select\u8217').selectmenu()}\par}
+{\pard \ql \f0 \sa180 \li360 \fi0 {\i Every component of jQM offers plugins methods they can invoke to update the state of specific UI elements.}\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Sometimes, when creating a component from scratch, the following error can occur: \u8216'cannot call methods on listview prior to initialization\u8217'. This can be avoided, with component initialization prior to markup enhancement, by calling it in the following way:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 $('#mylist').listview().listview('refresh')\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To see more details and enhancements for further scripting pages of JQM read their API and follow the release notes frequently.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://jquerymobile.com/test/docs/pages/page-scripting.html"}}{\fldrslt{\ul
+jQuery Mobile: Page Scripting
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/questions/14468659/jquery-mobile-document-ready-vs-page-events/"}}{\fldrslt{\ul
+jQuery Mobile: Document Ready vs.\u160?Page Events
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/questions/14550396/jquery-mobile-markup-enhancement-of-dynamically-added-content"}}{\fldrslt{\ul
+StackOverflow: Markup Enhancement of Dynamically Added Content
+}}}
+\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you consider using a {\f1 Model-Binding Plugin}, you will need to come up with an automated mechanism to enrich single components.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 After having a look at the previous section about Dynamic DOM Scripting, it might not be acceptable to completely re-create a component (e.g a Listview) which takes a longer time to load and to reduce the complexity of event-delegation. Instead, the component-specific plugins, which will only update the needed parts of the HTML and CSS, should be used.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the case of a Listview, you would need to call the following function to update the list of added, edited, or removed entries:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 $('#mylist').listview()\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You need to come up with a means of detecting the component type to in order to decide which plugin method needs to be called. The jQuery Mobile Angular.js Adapter provides such a strategy and solution as well.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "https://github.com/tigbro/jquery-mobile-angular-adapter/blob/master/src/main/webapp/integration/jqmWidgetPatches.js"}}{\fldrslt{\ul
+Example of Model Binding with jQuery Mobile
+}}}
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Intercepting jQuery Mobile Events\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In special situations you will need to take action on a triggered jQuery Mobile event, which can be done as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 $('#myPage').live('pagebeforecreate', function(event)\{\line
+ console.log(page was inserted into the DOM');\line
+ //run your own enhancement scripting here...\line
+ // prevent the page plugin from making its manipulations\line
+ return false;\line
+\});\line
+\line
+$('#myPage').live('pagecreate', function(event)\{\line
+ console.log(\u8216'page was enhanced by jQM');\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In such scenarios, it is important to know when the jQuery Mobile events occur. The following diagram depicts the event cycle (page A is the outgoing page and page B is the incoming page).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000001a60000023c0806000000ba640fbb000072c04944415478daecbd7d9055e595ffbbd50eb4d02a0a0a448cadb4da41a2c8b406150d5c7130c1f1253223be8c9040844254346acc6802f1256ac28c266a2425a3249292897aa546275a6ad28924f15a4ec2cc24b9ccef920cf31ba62e33c31f54c2dce2d6c5faed7b3e9bbd8eeb3cbdcfe9f3dae7749fefb76a55f7d967bf9f739ecf5eeb59cf7aa24892244992244992244992244992a491a0152b56cc315bb66cd92c5bbe64c9924ebdd7beef7dee739f9ba15f8724494d51ae01ea37bbf1c61b9fb7e52b57ae9ca4f7daf3bde5cb97bf935bb653bf0e4992865cb9c66771ae619aaf3b21055e74b7c0244952b3c0b40638e94e485e784dde8b9224491298244992248149922449929a2efa1208dbe84e485e64e6f94c3d499224496afa038b921f244992248149922449e9e292c0244952ab8149c90fd200295d5c9224814992244992ea04a68e9c5d9db36773d62f6b9abd9cb37b72a60c4b499286b76a4c17efc9d9b69cc5b296b1fd395b5eebf742e9e292240d474dc8d92e1ac313ba4f8e6fbff7c1f8e9bff981ac49b66efda678dea7aef0805a5aeb038b921f24491a6e7a8a06f0acb3cf8d7fb6fd3fe26dffb64fd60276cf43df3030ed4d1f1e042649928697aa4c17efccd93e1ac0bf7dfb1f058416b3f3e65c5cb3d724304992d44c305593fc309d86af7beaa902416b7b4d4f57fbbd50bab82449c30d4c7368f8facebd40206841bbefafd61b989ed5375c922481492630499224d5a22ad3c505a6110e26a58b4b9234dc34a4607aeb17bf4d1adbd01eddb0397efddd7f6e4938bcdcff8be41cf93b1cc1a4e407499204a612c6381d8e37fed889f187a77c24b1c33a3a9265fcbd73ed232d07a6b9f32f8d478dee4cc616094c92244915a8ca74f1a68089bf7ef9dbbffef70400c0a995d2d6f1f038a7eb96de94fce5b5c0244992543e985a3ef9a11898b017de7c37798f14695bc6805fc27c34d00f7e6343fc773fffcd80ed80dac34f6e4cd6e17de0f1dd2d3f2a58e7dd1d7b928a0aacf3ede75f89fffe5ff69675be54c11833766c721efcbde9ce2f0f3b30295d5c922481a94a300113dea331e6f5332fbd111f71e45149b88ff39b38f9f801e0f2eb50b90278e079f1daef976dc71d333ed90feb7f6ce6d971ff3ffceba0e7cbf8ae059f5e94fc7fd99f5e97eca75ca8292b4f922481691883096f09b0102e33af08287c7cf6dc3c08f8cb6b1b0c8c1704282ebce892e47f0315fd4106265b870a0a566e098f8a9a80069c6266a0c4c3f2e7fecd8d2f0a4c922449e56838a48b5be39e65783b84eb6cddcdaffdaca04f07302d5ab23c0f1d80c176ace78f01706c9d279f7b3959e77baffea4601d922c80a0012dcbaebc667181e785013420a774714992a4c6a92960facccadb0bd2c5f142c202b240e3eefbff329e7fd9c2f8b4d3cf48c0e5bda1355f7b32d957b8dd8adbfe22bf0e00621dbc26cb02c408ebb13cabcfcafab6381e2022846786b7566a3b253f4892240d533065f53179c33b9a76c6cc042064c4e149318ec843c71aed30530ee8d93a80cdc26f59534c14f3986cdf785f1e4c988155609224491a44c3395dbc58ff0e99747e39de13cb6de02bff93b5e7d7e15a0c4c763c427a7e1d40055c8a8189fe2ec058ace237c02c15061498244992a2e19f9517565b60bdcfdd7257de83a291b6c1b8b61e890f0cd605602450e05df1be8189ed7a4e9b9684e0789f65f437b14db101b376ec62837d494de77dfe2a5d5c9224a94dc084ddb0fcd6645dbc1352bc3947eb57b2f240f405116ea3ef0968912a0eace81bb2fd50ea886dd98ef5f84b765fb1c1b27852ecab583a399e12e78457a5ac3c4992a4610ea64a0d3810d6cbaaa30720f082c2901aa0023ce1faec8374f2a1aede20304992d4b66ab7eae2547ce0dca9cee0c37078572449a8baf841295d5c92a4e1a6610b264b0d8fd219784956200487b714a690b7339894fc204992c034c446d157ab95170ea41598042629ea4c7fe79fcfd953397b3967fda9f1bd7a2867d7e5ac5bb74aaabbaa4c179f4dc347ed384dcc273049234a0b5208ed8f8a545bc9b01d39bb27679374fba47a81a99ae407be8049bfcc501627959567a4cba70dc643d57e2f942ede76ba3a67db3d70a89cc2500a069c33b4c20698f3e043c57cb2596903dc36c0ec69014a6a1698d0afa2a06ab7ac353212196f95361417e91b2e0da229397bd3e0c290091283ca9d199a0753ea4f32becfc60be66c6fce96ebd64acd00d355513a83ace0d43afd662473a48dc3567dbba54144087f4f948efb63bc5f2d1110be7f5438711e141e77976eb354b1aa4c17373d6a5f420a9e920c216b8e392059ccbfa6708ad2c5db22747780ef0b3029679eb1728da4228a19bb0724c1496aca17bc20362d6b9a598c7f423d1e5894fc3062759541a954616106a1535372e1f54b93ca28f43931c4820721a677c1c32a36f09cb1813649a7e0243553bdd1c1f45259736c763d7ffc02d388559f41e9962fde970915604345fc51a34797f540c418c0ac2117ecc7c149893452f9aa325d5c1ae1129846a4787021cc9b7841595022dbae5c20854615ff70903a9e930beb2921422a1b4cd5263f4823584a171f91fa7a94a68187b522010a9975518de164427d24416455d68f0e66eb29955c129824494ad493b30364d186613732f1ac927e3d6cfcb1c70d483767cc53a4c2c292c024499213493149df5118be239121aa73220e5e990febe145a5e39cf6cb6b9206558de9e2d20895d2c54794ba52200c08b3312b73d4a02c51aa4664cd249db335fa482449aaea8145c90f2346145b1d3049a5cdd4dc28301d7658470108a910117d30ce4e921a2a62d7541fde1d691c51b3c730f5a78d90c024793dc777849a774592121a6684093d085d6dbd6e7d2c5251d5982e7e5574c821ff2d28b49c511dba43609252ede27bc1cccd1e4cf5c8c21bcc2875e4cb1cb92488ebf4b148a5c0546df2c38cf4293d3ef68c79f11fad7e3ebee0c19fcb9a64e7adf9617cca955f8c3b3abbec87ff542ddf0ba58b8f18d1bf148f1add39a0aac398316387e441e99997dec81f9741bde9f2afeba3911a01a6a422f1e473ae14185ac866aefa4e7c68c787fe57747074ff747dc3db5e7c0792be240f26bca7a1f2e0a9569e113ed4438f5477308da3e13bb463547cee97de10105acc26f55d663ffe2fe81bdef69a1365cc36ed12111a6ebe1e1ff339a5cbfbf5d148455565ba38f5b6e2b1934f11085ad04ebdeade9a07332a5d7c6483c9cd72dc70f363a70426a9e15ff6a34e9a29108c503029f961c488e2be0352c5a91a3e54605ab46479feb84f3ef7b22d7f4d1f8d2430094c02537b8a196a93598d3d98284b345460a230ac1d974945d3e54feba3918aaaca747181496092868f92ec595f22e8ed5ffffb908169ddfa4df9e3520d2252ffa7540698aa497e185230918a3e71e68201464660efa2fbe2d9f76f6d09204cbbfe91ccf39cfa279f4fd2b9871398942e3ea2f40edf07c268de6b22bcd7682851fdc103f16333cfb6f734d58e34bcc174c6b227922ff3d1a7ceca37f6e3a75d98245fb07cc2f4b92d01a6132f5a7a709af9f41c8f9b313f3ef2c43363b217c71c7b627cfe577e3c6cc0248d283d1465d4ae73638a1a664c2268c763fa7657c85533da4a23034cfc2d0683acf79a05a670f98c154f27cb7b2ebf4b60929aa1248b967e265f8581709e2b11d410232ddd8e77e7da477c6512492aae2ad3c55b064c7db77f3f798f70995fffc3b316c6c7f49e9f782d00210cf74d5ff26832de076f8b869c81a9272f585db0ce99373e95ec07ef6cca05d7c667dff1525560c20e39f4b0e47da58b4b4dd276be13a4890f95d7e453d401e209dd27db7b57e9e3901aa1960113fd3abcf7d16bbf9abc06424000e80002c0c46b0063dbb00edbf0de47e62e890f1f3f2509b5751e3d79c03a808bfd8c9b7a767cd8a8c31380550a264a05710ea5b655f283d460111549e0e0bd264a13317752bda174f898b10595c5ddb8292a8b77e8e390460c98f068f81ffbd867bf99bc1e75c4f878f451c7e5fb6fc64e3c393efebcab07544230e8ccbae707499f8ff75ea85ec13e6c9d8fdffd4ab20ed0f2fbc1033be284d3070513fb3103482c034ecaca939aa80ef39af092bcd7c46cb3cc3a1bd52de1e1b0649e271f32248c18a978ab54ae8643bab88129341a7d3c996205648110002369c2a083679584196eff7ec1ba7854e13a6c4bf8ceeca44fde9c2c2f5686c9c0c45fb3133ef1e7490204e78a772730494dd445093832a657dffcdacfe289938faf4b165e182e7415c5b7ea2390ca05d3b0497e2035dc83222b4d7ce62d9b923e21abb20d6c7c980ecf252bdc06446c9d93e6af2cf9e32bd6d754aa8f897b8577a77471a9c97a94ef06107aeb17bf2d0008af6b4921c7ebf295c4b115b7fd85bdbf37d21c4cd24804d36099778c15fad09871898772fa0deb128fc9806150006e591e13e1bf105eb67dad5979fe3dc284caca939a1cd2c37389bba79e3a004ef43fe1f154e23d8d1a3d3a0110213bbf2f978547a5fb05baf5525b82c9d623e3ce2f0754060cc040588db09c071a0910062642835146bf109e14fb2a36a0b71898589fbe29a0a97471a905c4ec00dbcd73228ce781624911d4d3a3006b16a44833bff0a24be2355f7b32199f14c28dfa786efda5bae552451aeee9e2619f12490b24299cb5f29924dd9b490cc9a6f3c0002096b907a018a84be8cf67e591b1c776c088e3b21edbd06754ee005b33a0170d610284d2c5a532e194784ef4399110e1b3f5b2ecef7efe9bc48056b17598e769da1933bda7a4d47069c834a46022cd9a6395936e4d08afebf8de043464e8010bfa9d92ed737f7de30dc0489e600c1400617defe5b02dcbf074f81b8e73ca0202c7098dd24943390058c90f5299ea8cd23e270bed11c61b0c5059466a38de555ad901e3bbd3a75b2c8d5830d5d3c8a80330615f0f90c254c455606a4391adb723ca27314c4cca17515bcfd7b90bede5fe5f24d5c2293be4c2760752d88dd36d95aa56bb551767bc13de1421be73eeda9280ca06e50ee5582381496a319114415ff3f628e84fa28f892a0e660cc81d33766cd8efb43ffdbef5e8564af50053cb273fd4db08f759bf0f46a88ebe244d7bf181942eded6a26f91c2afefa41e50b18cbcdd39e33bb2541e922430d531ac3758fdbb76059324395d1700e9ef0522a915c194542b269b4d13f3094cd288d79c004cfdba2552435565ba384f4b0748cd2e569e47d63c230d3eaa719650a58b4b0293341cf51a5f5252a10583d631c66fa58563e91b985ecb038b921fa41ac1d45d22e437216753ea7c9e53d2fd4a6d2c1a3d3271920c371a4481a1b9fd656417da60e29c3d5eab272d304935828975d714798f3073bdbf5f3b2385af4786aa4c17375d1e1d72c87f470d9e9e5956b1912955d39c370293243049cd045335c90f5e8c5b782afd52080acdb37d397b337958a883942e2e35094c84fe48aeea2df270d599466bb2def760ea49d7d3a4846d0a26499204a65ac134297db0f2c7d91b3c685d9db33dc1fb570560a2effb3db7ceae48a59104264992042607a6fe144ea16d0bc0f47cfabac781ea1db74e5774b04f7b4dea05e1393d9d2eeb7260e298b7a6eff7a6cbded44738cc5465bab834c2a57471a94e60da9bc221b47d019818c47b51b0fdade93e0c54fcff50f44178cec27e9d0e4ce1b93d14d5bf2f4b92a4663db028f941aa03982ae963a24fe8a6e86046e99b29bc62f7fe73d107fda9cfa530eb72ef67253fac11982449609204a66ac0747fbafeb6144ccbd36de360bbd9e9ba560d9d3ea46e816984a9c6747149609204a65ac134215df79e609d87a2c2501ec90f9deefd59516185138169048149c90fd200295d5c1a42304d49d7fdbc7b1f2f6877ba9c705d4ffaff72b74e6f543875bbc0243049922430d5054c888720ca68bd991a50b2d975fb020fea9df41cf6a7eb760a4c029324490253b9db7517790f6fc7677d926947561ec90f84ec26a4cbd887cf1a26416271badeec609fb3d2fd4681e7a5ecd2e126a58b4b5952bab8540730499224d5f78145c90f92c02435b3119a63e69f92796ad67bedf9def2e5cbaf16982481496a8a68903ef7b9cff59bf94c2c427c7aaf7ddfcbc149959a258149922449129824499224496092244992da1a4c33d2fd0cf78c6052d735105d9224690480c9f6d93dccef8d06f04a9224094c0293244952bbebba004ce5666b52e3ee0b29c8304a0a4d08c044f586a7d2f75f4e977b5123ef51b70fc2667e46dacbd363b0ec85749de7a20f261c34f5a5dbf2fed3e96baec3578a989e2e631d66c2cdaa88b32067afa4eb5074f67e8149922469e8b5b80a30514e889a76d4bca3382bc55799aae257d107a5866c2241c0448921a6443fe0a0c25fe65e7a33faa00c11db53236f8af35876a5f6f51452f6da6ae8cd4eb731d83c1d7d30d7d31c07ae7d297096a7d0d997c234bc0f8fa7ffdb9c5102932449d23000d3d5e9bad3ddb21929886639307dc1bd6fb3d42e779e9a81cc7b35ac33df81290e3cad05e9321b34be3535afc783edfad375fcb1ae4ad7e94997ef49b7f3f0dd26304992240d0f303d3d48833d27035c51ea61655524ef4e61f4f574bbc501983a82750d3a1da917766bb0bfd96e9d71e9ff4fa5afcd0c7037a51e15ff87d3bf2b94274992344cc0f472543a49c2c0d41d2cdfe9c0d495c2c2c26e3bd3fd8660da950131834e77b07ea975f6a4c708ed5677be3332ee8dc0244992344c3ca61d19cb17a42028074cec83d0df55a957136580262b2bce43a733f598be10ac73915bc766d0bdb5c4f598c714cef6fd05814992246978806969f441ff8cc966a1bdba4c30d1bff44af0fef20ac114a5fbd816154ecbfe6cb00e89175b33bcbabdd10721c1b08f294abd4281499224691880a93385c18e1452ec637bbaaca3028f896cba9b520f87fe9c5de9b2e51580c9b2fb00ddd75398d8b4ed7dce83b2197417a7ded3eea83021c2d2e69f4ae1fa4a0a2e814992246918800975a520d8964281f1481692eb4df73321d886f52f77db3f9a7a33db526f654a0aa39bd2752e4fb7f19a100d1ca304ac1e4a97137e5b900146b2f89e4f01ba35056157b06f4279afa5eb3c1e7d9090214992240d0330b58aee4941e4756bea7975e9e39524491298865a840477a7de151ed2d5e96b155f95244912989aa2aef49cf7441fa4853f2a6f4992244960922449922481499224491298244992244960922449920426499224491298244992244960922449920426499224491298244992248149922449920426499286ad264507a717783a6d8c64ed695b0330edd03d19d1c6341ecc4fd5a126506a25f185642e9afd41832493c9dac798036b869a43a955f4827d39274c9f1bf75c7e577cea55f7ca64b236b08fcc5d121f3e7eca41381d72c87fe7fece569328355b84eee28eceaef88c654fc4173cf873994cd66676fe577e1c4f9cb9c03c27a6b3d7142152534378c99c35d3ae7f443f5099ac8d6df6fd5be3234f3cd3e0f405358f52b384cb1e8f39f644fd30653259f2809a8269ab9a47a9594ad28271e1f5a394c96467dff1928169a79a47496092c964029324094c32994c60920426994c26304992c02493c90426496092352ca597c6c3dbc7ef7ea5e6312c8c61c3ce5bf343dd6781496092042659550d47811d36eaf07852df6509642ad91f2062b880ede78f563faffbacef97c024094cb2ca1b8e133ef1e7792fe7639ffd66dc7df18df121871e164fb9e0daaac6adb00fdd5f99c024094cb2aa1b0e6a9c85eff1398e3eeab8a2dbcdbae7070396b31ff697e569b13edb953a1fc2888417432f8ced2af5de64029324094c23104c63279f32003cc0ca4275e3a69e9d878dab8d16fbefc1592b9f89bb8eefcd2f67fbd3fe6c4dc13e3b8f9e9c14ffe4fd0f8d19974008201d7bc6bcc473b3f0229e9c3e3781499204a6360be5010a5e1fda312a3efd867503c27400c4bc1f6aa151491a90b0eca44fde9cac631ed539776d4980327eda85c9b273bff4467ce2454b9375ac9e22c7e35863279e1c9f72e517136339d003589c13fbffe8b55f4df6c531f4d9094c922430b559f203869733f3964df9758110b008436facdbbbe8be82509ebd0fe08049989d77d4493393fdf96da62f7934ff3e5e56b8ccf68747a5cf4e60922481a98d4279c066c68aa7137000154b1f27a446688fcfd71bde0ec0c8021320330079c3eb627f7e1bbc2b7b9f39bca2743e2f7f2cab563d585f954c609224816904f631cd5cf59de4bd9317ac4e5ef3ffd1a7ce4a4271a1f9b09c07139e1116eedbc27959db60f425b12ceb581821417d7e029324094c6d0626c620f1de49f35726af471d313e9e7cce9503d62335dcbcaa10327c17e8270ab7618c944d8f920526fa9358e6438976be67def8d480cc3d99c0244902d3080753dfeddf8f8fe93d3f09b7191c8e3fefea6466620f0b838a8d5b0a21431f11af7d161ec02344582cfc87e111712cb2f20c42fc3de284d39324097d76029324094c6d98fc40df117d3d7e3c116060395976f41fb19ef7a2b220c320dd284d2da7cf88edf9df1222b2b6b12c40d625ebefb819f313cf0b58e131e9b313982449601aa1061c00436834fe5975eef05a4821a79f87b4ed1012785a59614192290809b25d5815a2d8369688411f17db91465e6b1d3f99c024094c32994c6012982481492693094c922430c9643281491298643299c0244902934c2613982481492693094c9254ade6f32564ac8b7e9432998ca1012998de53f328354b9d39dbc71791712bfa61ca64ed6d540f49c174bf9a47a9995a13a593c1517a463f4e99ac3dcd267eccd9de9c4d52d32835531d39db1aa5338e528e867a6936099d4c261bd946150f9b9e2467077276b99a45a915d495b3e7a22235d86432595bd8ee9c2d507328b59afa72f6f59cbd99b3fe06d8cf72f69b9cfd4b7430eb4726930d6eff57ce7e99b31f37e877f942ce96e66c9c9a40a99d34451e994c56b3edcad9756a4e24a976cd484304c9940864fd30af4fb1994e653259a17d78d6c2642a1107a867d5ac4852f59a6050623e1f06ef29fb4926abce9846e4b05187ffaf144ef7a87991a4eaf4343f22327e34b5b64c569f01b0cc521c1dcc9eeb5113234995894cbffd808989e5d4a8c864f5314a88451a042b4955e9a248e58e6432950d92a416920ac4ca642ab42a4902934c263049922430c964029324094c3299c024304992c02493094c922430c986c6ceffca8fe3b3563e93549b9e79cb26dd1381499204a6916051911a674c273276f229f1d43ff97ccb9df339776d493e23ced19ff3a823c6c7272f58ddd4739b75cf0fe29ecbef128c04264912986a01130d3ad7ecedb819f3e38eceaee47d26636b95f3c543e27ca924c0397ef4daaf26737101a431c79e989c2f75da9a757edcb3a34e9a2918094c922430d502a6620de9c7ef7e25696881009e40b3cff5bc353f4c662da6b02ee1bbacf7bb8eef4dae0958b5dafd14980426491298ead0904eeabb2c598791fbb68c1a8280e1a44fde9c5492c65b2936c53da59d0807765f7c631e26fc0dd7679fc084f5fcbaded80fe772fc795797ac3000b8cccb3bf74b6f24fbe2ef99373e95ec9bbfe136765c7f9d59de1ad7ca3573edbcb6f7ec389c1f2150fe07ec955c9fc0244992c0540198ac2105281632c39bfad09871f93e9eb03f8a06186f0b50e0e9b00ee1b7f01ed3809ba7c3fe6c9f5477c70bb2f5384f961783a04f8ab0ff0d164c5b9216124df60f28382ee5a76c1921c2282d49e5a1c2391c7deaac7cdf9bad67d7e38fe38de9bfedfa80d560d72730499224300d022600007c008b35a034a6bcf6a1b299abbe9334d62c3728f03efb9e307d6ee24db06cc68aa7f38dbabfc734da34f8a7dfb02ebf8c461d901c7bc6bc82fe1bac92eb3360b0af93e6af4c3c223b0e15e4596e00c1788feb0044b60c0f8d7d90d46015e73d4c7d4660d6fd2cf7fa0426499204a612c90f34cc34d0bc4f836ee1a8c9e75c997842e17e4838605d9bbf0a800191d02338edcfd61480c90096b54ff3d6acd23bff771e3db92a3079d018248b8505a75c70ed41e0e480cb6b42779c4bb81ea00afbb3423055727d0293244902d320e9e234b0bd8bee2bba2d5e031e08fd2e16aa3230e10d8c9f76e1806df09efc3da62f88d7ec03887823fcc67b760e84c008095603a630b3903e220346785c96d93965a5830335c296165af41e570826bb86aceb330096bac7029324490ae50d623cdd139eb35472f3b8acdf8906086095ba8ffe3d374f4f51032249486ce2c9c9ebc1fa657c06a181291c5b64402c65784ad6c78447e8fbd392715ee9f994025339d7d78a63c504264912988605982c5d9b4699a7fd69d73f920c76f5e12f1a20427efc9fe531b10f7f8f2d040840d836cb0c440613df579395f8c0f9d1ffe3c1e4e161e13996730dc58e6b7d63f445b12ea137bc1b4bbe609f838189d067b9d72730499224305508261ae562fd25c7f49e5fd02f43661b1e86cf90b3e4027f8fad9f26ab5a02eb02100b0fb26fd6053ac5a6bda73fccf71d1503935d8b796361f80f0802206b50b3206b702b05a64aae4f6092244960aa104c545988321206e8e0b7546c4b2bb72407bc0c831361c0c3c74f2900135e0961413c31df40130e24d101efc7a76e5bc20020f44903808a9018e701102d9c570c4c9c132148d6f5e9e71c8b73643fe6d144696a7798b168a13dbf6faec3bcb572afaf15062f0b4c9224300d4b30d198d3985a62031dfb64bbd1b8da381f1f66b3f01e0db335f696304088cbd6239c460620fba1ff8a146aab38010cc381b8bc6ffd33f46db14febf302007e006d3130d97b1c9363735cc624196cbc8763d746480f4f8a756d9bc8652dfab01fd0b37d54727d029324496d0f26aed537ac83194ffa00071860fc8fe7628555f194c2b46c427f34e8400b4f237289053ea9c2ef1770595830cb800ffd53b63e1e14996fd62fe43d1bce2bacf6e01b4c006bfbc123f3151dac5f8c6bc06bb273631d4b9ff7f78ffd715ee1bda8f4fa04264992da164c8d32c26a59fd2a780f519b64a2c904264912985ac82cdb0e1079af81d01b212dcbe693094c9224094c43d610d9381ffa7dac6f0a287958d5731e24c047e8906387d980328149920426590207d2b2e94fc24eb9f28b75cb40a3af8bbe1d4bbe883206ae02433e4b120c8aa597cb04264912986435377064cf591d3fb3091326c4dddddd715f5f5ff2b7a3a3a3e07dbc36fab504288149920426595d132acc3b023c0b172e8c376fde1cefdebd3bced2b66ddbe275ebd6c5bdbdbd794031f077b0693364029324b51c986c8e1d59eb984d3d8101a49d3b77c69568cb962d892715a575ee8aa58fcb0426496a35cd8ad2419b6a4c5ac7ac42375ed2a64d9b0a8083b7f4c0030fc4b366cd8ac78d1b970febcd9e3d3b7eecb1c7e2bd7bf7e6d7ddb76f5f02b5044ea30f6fab7144cd361b2690b37e35339254993a72b62772a57564cd35abdc0094de7aebad0228011e8351319b34695212ee331d3870200f27a6ea509fd3d0188393d3cfe41e35339254b9d6f003a2848eafd1266b8e596dbdb56bd7164069c58a15834e27e1ede1871f2ef09cacdf296bce25597d8d7b9c7e0e7b7336ae5d9e7009bfcc91b5a54d69c077aa3367ef4569ba71a929166443e32d4d993225f1744c40a612289979cfe9d5575f8d15b66dac3134c0f70de6ecba7679bafd7a355f50d988b17d2948eaad49397b2772a9c68422c2e9c7658db531c7760ff09676edda1577767656f57d21ac677d4e808ed72c1fffd10b75bfeb6814aa25fbd12acee7ec40ce96b753d8e5592ebc7beaa971dfb917c8dac8468dce374edd0dfa6e01bc5b73b64b0f00cd35bc1bd3ead5ab6bda17fd52a64b2fbd54f7b7b106905ec9d98c76eb0f48c074df5fad8fb7fddb3e591bd987a77ca4d160f2eacdd945d1c174725995b669d3a68d398f677bb9f6d39ffef4ffedefef8ffff0873fe4616229dfd51ad97aa6eddbb7c7ecffd7bffef5ffed8ffbcb5ffef2c763c68cf9ac3eb3aaedaa9ccd6e97fe248149d62c304975508e05950d3e0ab47ffffe9a9fe249252f53fa5e4902934c6012984a8b41b5f50831094c92c0241398a4ba808934ef5aa1c4b8278149129864430aa65c83328946a5061ba79f556b8209913a5e0b98a81021304902936cc8c0946b4ce6c7b56b1fed9f7e5aad09a665cb96d50426ca17094c92c0241b4a302d8eeba339fa69b52698c8a40ba7b4a8248c57ac12b9c024094c32814960aa5a77dc7147cd63980426496092094c52ddc044d5864a07c7525baf42094c92c024139804a6cae084e73458588ff245be80abc024094c328149f260da11d759f439911071e491470ee84fa27c11b5f5aa94c024094c3281a90dc044d6e4b3f5b67dfbf63d7fc30d37fc0f0fa6dcebfff3fdf7dfff4e95fbbc559f962430c95a1d4c541ba7f6d71c59cbdab34118ef59dd93a61a855b3b052635d602537dc1c45c5f4b73b63d52956899acda69699ecf598fc0d424fbdbb7ff31398f62f6e4732fc73fdbfe1f4d3b3f8ecd796c7eed6702d320dab66ddbe5b9ddf5db0faca3b32b995fe6a89366ca5ad4c64c9c1a8fea1a9f375eebbe34cfc64e3cd9036a7f74b0eab8c034d4c6390cf60471c49147c5dfdcf86253ceefef7efe9b8369b3b7fd85c034883ef9c94fee6477a38e181ff72eba2f9e7dff56cd482a935568e7dcb5253e6ec67cdf062e10989a04a6dbef7d308180b717de7c37597e5847473c66ecd8f8ed5fffbbc034c460dab06143fce28b2f164cd15d348e37674e7cc8611df1d405ab052599ac463b69fe4afbadee89da648ea6960353a973b96ee94dc93a0f7e6383c034846022653872d36bdf7df7ddc9140ac5f4e94f7f3abf3e5ed3c939409dfba537d4c8c864551ae1bdf43775abc0d46260bae7a16f24ebdcf2c5fb0a967ffbf957e20b2fba24696c4fe83e39bef29ac50948fc3a6c83bddcff8b78c1a71725eb32a5fc0dcb6f1dd077c5ebcfdd72577cdae96724ebb1bfefbdfa934c30b17cfe650b93f530fec7c3f3ebacf9da93c9719e79e98d649fd8baf59b860d98b2e6f1616026d50398b63bf4a2de7ffffd78e3c68df1f4e9d363dfcf34e5826be38fdffd8a1a1a99ac4223249efe96de14985a084c7fff2f7be3b3ce3e37590710d9f2bbefffcb641990f9cccadb13008c3b667c12f2f3890a7de75e90408b7e2af6b3f0faa5f1b4330e3e859c37e7e2fc7aefeed8137f6ce6d9c9722063801a7fecc401607a74c3e624bc3871f2f1c971393e0d3ecb48d6b0f52efbd3eb9273621f18e7d0ec7b5e0d98d8e6bb5b7e94dc97d1a33bf3d061ba6eaa036415f8045c84f66cdd430e3d2c9e3873413cf3964d6a7064b232edec3b5eb2dfd04e81a90960c23bf1d97877ae7d2469f07b4e9b96bc8f67e4c36b4000e800145bfed62f7e9b34fe00c58389ed6fbaf3cb99b0631b96713c5ee3e5f8f53e3e7b6e0198f0aa3806b0f37d5e2c671900b273024c6ccb5ff665361cc164dbf7ffc3bf26fd7e5cabf7a2162e5c18f7f7f76765ea25eff91238c7f49e1f9fb1ec09353c3299c034fcb2f2800fde0dd0f00d3aa139def7de89191e0cef11ba3330b11f0f300cd0b01e21395ee32de1dd84e0200ce7c1f4f0931b93d7786ce1b1cd8bb30c4203532ba59ad70a266fdcff799fba22b9bff699f5f6f626d5a8f7eedd5bb0af1d3b7624a56ea8c166eb8e9d7c8ab2f7643281697864e53dfd373f48c26ca346770ee857f20d3e30013cdeec49defa725896d5b01a983816aff18258375c0fa07930d9767865e1b159e6fbc2ec3c9bed25350a4c66afbffbcfc97d21b419b922a04b962c89df79e79d827d022c269d2399c2d63d7cfc942451e2fcaffc588d914c2630b56e1f138db985e1e8eff1efcd9d7f693e4456ccf0742a01938506b3ced183c93c323c8562c7a60fca83a945b3f2cab6c1c0e43f33ae9d870abf7d5f5f5fbc7efdfa78dfbe7d7940eddfbf3f59d6d3d3539028f191b94b94282193094cad9bfcc093389e0cd03080602430b00d552306db7fb960c2d3f27d53be4fc583a95418b19867d74a60a2afae5230711dd5a4d95b424ae42a57af5ab52afed5af7e55e0456dd9b2259e3d7b767ebd433b46c593cfb932eebbfdfb6a9c640293c0d47a5979f63ee0b07e22ebe7c91a5b84274348c9d2c6cb0513c917be6fcaa77cfb63919d56acb1661d921f6c9fad08a6a1363e333e2f4b36319b356b56bc79f3e6c473326dddba35bee28a2b0ad61b3fedc2f8cc1b9f1a518dcda957dd5bb4240d23fe7b2ebfaba5c29a0cf4e4dcaaf164b3b6a54ff18f563f2ff0084cc37b1c938586c8d2b39011d97a78528c7122238e0c39838d4f032f174c785ff469917e6ec90a2431907e1e42d0ce87651c97c697f3e07c382feb5312980a8d715e8b962c4fbc6003cf8409139289ebfcc05d12259839d5274a50736fdaf58f8c88c6e6c48b96e60721771e3db9c00e1b7578f2de98634f6c99c1c9a4f9734e3492b56ecb35716ddc038147601ad660c2fb011034fc060dc27cd607e50d68580a782560b201bb366ec9cc42771e4cc008cf2c3c3619843ebc2830152f8c0bc86d3c99d925975c5250fe88f1516bd7ae4d42803e51a2d53c8a6ac1949532cf75e125f27eab34deb58069d63d3f48b6b3cc4b6b68052681a9a5c14423057806ab200e6c582fac9707a8b80eca158595176c3b20162e673fec2f4c23e7359e12fb34c8641dd7bc2c8ecbba96761ef64f85952864fb0654d000e07ee0ee9429531220d92caa84fb4841f78912781b346ec3b1e451293059114fdeef3abe37f33db6c34a5d3b4020045ace8066c26aecaf58786d3030712cb62fe7580293c0342cc02493d98302e3d508a58603775f7ffdf504507852785464f9f94489e3cfbb7a58254a0c0626bc0bf30e6dd98c154f27e3be422f7dc2f4b9f1796b7e58b02d892354daf061502b08eae172d6ca6706ec93d733577d675030f19a0ccaf0586cef01e7b7a56f2d3c7f0db416980426d9b030c2ab943ff20377297fb46eddba78cf9e3d09a4a83241cd3e5ff288469ac676b883e9a3d77e35799f44085e933840df13a0a29f8dc68a6d8f3e7556b21ed0b16d3f3c6be1c114ffdc5f0081d704980c1e061740ce3e471f755c723c964f5ff268720cd2f63d848a8189f5983f8841d29ccf099ff8f383d99753cfcedc96ebb0da6f2c1fcceb93094c3259cb196158faf8fcd82b1222162d5a941fb84bea3903797da2045960a7dfb0aee5c144438e176176ca955f4c8082170848f09258ffb43f5b137f68ccb8041c6108cd1a790bf319a0fd7a7854843e3d5c0c1861f88dd72cc7131a0c4c9c6798a947f8917328b6ad42790293c0241b11469623fd7ebe3e1fe6c743912871fdf5d717bc1f36e4ad06a66286d73218588112de93f750005b92849391bd48b8d303c2bc9dac7db3dc87118b81094fac587f94c02430094cb2119dc1470d422be66b7d4f8c77b23150dbb76f8f972d5b36c06ba2f16e65305186c91219cc8af5951196032ec000a858f8d2aed5ef372b9c39f54f3e9f0784f5610d668381c98e2b30094c0293ac2d8c6c4b2a7cd838b22863b242fa99fc805c1a6a52ad2d04365cfb9842633dc2660089eb3be99337271e1521ba2c3065edb7fbe21b07808944051f4a0c4d601298861d9808af902e4d8a7633a63c978dcc2a117c276d5e2c33e675a24a04597918258ca81ce133f3e89b192e99799582896942b2fa83481cf0800056bcc63b0af741bf9307047d4e3e5ce7ed639ffd6641669ec02430b53c9828d9c3e0d2516edc8955fab6c2a9b2fa8cef29a716e04830be53d4d5f315211854cb341984e96c2cd3134f3c5130968984001ab8e156f4b55230594a7738a898746d0f08deb76a12fe9e90991766e5599f93f78ccc3b6339197f8d0413c7177804a6ba8089a9240012466d39eac8b10fcacc586506abac2dabdee8e80f0bd78ec48406be4f3611a3afa1c7f4ecd67f447a38836dc36932f00a866bf5874ac1640022c981c406d2bb8f3d635e92ee0d9cfd405cbc2620c472d2cdf194784d5ab80704fd6fdc47dec3db04501c877d62c5c622d50a263e338ec931383fd5cc13986a02134fefc087923d61a1537beae57d9e7a7d492059f5659a462298a8c241cd435ffaa9abab2ba98df7de7bef15d4cba312b94f68a001a6511eee130b92f48057536e5f18d73be5826bf3490ffc9dd47759d268e17900183f1e88e4071a7dc04118105819204829b7f5f0aad80f10e33d60c1fa61c8906373be7e5b5e03c7f05c6ddd52db52528a7a7936864a001298aa0693d57d2bb50df326e14d514d3a1cd5cfd331d955bc47a99eb06f814618a0f13f5e17b5d4fcd4126467b12dfba0c277584bcf1a713acdd9965241c500c9d33afb665fbef450d8f96e75f908abd93eb3ca1bd935d879739e59c7e61c39573b3eeb725f7c3926004fc3cdbda6128287936dc772ce3bab04532ba77b33e5861f343b7dfaf4243ce767bb054e2434f8a9d8e9f0578580c10d389122ef2b419801113fbe4826308d08309937546a36561ae7b0f61c8db9ef3b48ea9ce5e045a3ecc1628552c3b12af4670186b0b82a7d12614156fbcbb41716720ca740a7e1f7656ffc9c43feda28feca540d0b3ebd68c074ef8430fd3e7df157eb7bcb3a36cbc934b3996ef3fd29c78ccfd7dab307006fe6b1dabdf1fd7b14ad0def7929036cdca74a8ceb6bd400593f2713490e3ea181a77c857a2a2b986a658ac25473ee6756e80d985925093c2d5f70552630b534980c1cf40754d230910c41434e628485ffd897cdcd63fd51b67fd6a5e1a641c3ac7a385064ea753c2f1a68038b79250624d6b3469475ed38e661b10c80b09e1d1b6f054fcfa0e1c16415c3d91e68b16f208b190c2cc4e9a7cbc023b45976f1143c9830caedb01dfb005e7eaa0eb6e55a5986e7654560d91fc73180b1ed754b6f4ad60b0158ef196c0162bd4b0a594203fd49bdbdbd05b3d8521141b3d8566784f02cec09d8811450225c47880ee8d04fc57b84d8b23e6f3c2bc64bf139e8c140606a5930d1d04455cc640ac8689cc2f01780a07167d0a407138da6f75a68d4594e08c86f4f28cbf7c11898c2061a70717c1a49bf5dd67503067fae06a6b03fcd6060e13f9b4dd7a0e4bd473c21a0ecc18437177a9d785000b3541f13e0c3fcb61c038fa4926c4807a64773b606fbe33ffee3974930088dacb8a8cca9d5cb29c26a2274f7f0c30f172434d0df40df4b56184a56be011e4a1811fe3cf2c4339384099bae9ebe1dfaa30abcf571e392870666109e316346f2bf0fa36249bf5350d8552630351d4c34c21656ab044c849cf05ab2deb3f98c6c6a08f324b2808847532a39c0c094d5ff83c70320fcb4e259536c105a342fc5c064db959ac709b8e2c9f03a34a004ec0c26c5eea141b01498c87c6419c7e37e84fd6c5580a9dbbe0c39562c8e33c440d6c1c054ceb4157e7fc08e64075f8d9a8654e1a3c6366e84f1ec9e9372cf83c1b66ddbb23ef678dfbe7dc9c3849fac112f8a6c427d4e0253cb808986dcc25ae50c92b427e8525e96f5a500250353b8ae81299c42bd1898b28ee31b7dfe0714a5bc42ebfb2a7782c1b0ff2ccb2c1c57ec7e9403263e03bc336069fbc5fbc2831b6c2eab7a83a9dc89fe4c3480d4b1f34fe28c936120a71a9fc61aa1382be0ca03039f8f179f159f0f207aebadb70aea0f9a77cb0cc3f6d9111a149c04a696497ec0f3a1510f33eac24c36bc244b4ce018f48d64ad6b4905de63aa154c5989199c37f0c802403846cbdf9372c1c43a84af0cb059e63da66ac1e433dce8eb024880292bd4d92830953b35ba89c66edebc79057d17f481282c34748d9a418987069ffd48d15bbc573ebff0410a80f199faf529ff64a1d7ac347199c0d4143059273d0d62b1750c3664e259bf087d2759c0e03d0346bdc01486b7f0de38060dbfef1fca0a83d97bd65f532e98580f18679565c2abf0d9879582c91239ac9069387899fb6a197e8d0413f7d01249fc4058ca04d94058ff04be69d3a6a4bfc2273430dec68f659135de2c7cc7bc55de8bc56bf2e1d46246ff135e94892a1c36cd7d583142d618a36a47fa796c13988a84e8acc2338db30f1ff19e65b6d1501a886ebaf3cbc932fe96825cbdc044028387a01ddfae138f8ed780c0a758dbe060b2cf6cfb72c164e742250c7f6c3b779fc9582e98cc7bf35003f078481e807c069c33cb1b0926df5031e8350cf7f8068fa7edc84d7fce24769a0c6ee8cd26e4c323f2999064415692914908efd5575fcd6fcf43873d6c0cd7ca1bc3c918009d7e165f17984ad434b3ac2b1a729ea269542db403b8fcc0521a6a6b745997101ff0b0fe2a835bbdc044e3cd39003c3b6e986c40169ba540b31e5e1e1e8f1f4b5409987c220750e61a095f12f6e47cfce0dd72c144c8ccee31e7098cf042ed1ae96b22a466e39a2af91c2b01139de08086a9ccd7af5f9fbc2e251b873466e2c9c913b51aaee67b4b7c6e261e28c28cbb720cef8a4a1c262ba02bafa9f1de525ae3f040ce7a04a6413c270698d2f802291a47fa38f082b2067a02279efc0112ebf39775bd77413f130d7638701510b23c0c61116e63b9a572fb501e8d3670c253e1fab2c28836ce0690004c2a2d84951a00981fc46bc6b9f863fb81c4dc138e4d361efb0cb304b3aed18e15028bfd71afd8a7ed87d09e9d376007aa9516cead044c956aeedcb9072cbd58e3909a3fd0968c3aff30e1fbfb2a3592574c1b366cc8a791eb7e37c6186b4689a876f29646dc7c4c0626cb7e9335074cdffad6b76eceed6e8fd55d23d18179804acdf923abbf7de47f3b38b68e7e3e5f7bb05a285948cf428264f12563cf8e3c56f7bb8e46616206355b35f9d49ecf5987c02430094cd56b4e1a7278b9964650561fc343325193b0d6fd59aa39e3d3747f1b6e3ce0dd14b599042681a951603201a8e539bb3ffdbec9aab46baeb9e6b50d1b366c2bd79e7cf2c9ffb166cd9af8dbdffe76fe8321fdbbd6c6f281071e48f6f59ffff99f31fbbffffefbf7fbe37ee52b5ff9a93eaf9aecf19cdd93b30539eb8cda50230a4c64db712d950c3415981a0e26a94e2253bbd60f66d9b2653583896a1e65688a3e31496092b51298faf4d36a089876d6fac100955ac14438b00c75eb13930426593dc03421678fe7ecd91a6c4dce3af4d36a4d303116a956306dddba5560920426d9d080491af960a24287556da8c618cf56a6f4bd92042699c0243095272a8a570b262a46084c92c0241398a4ba82897a7956b5a112a3006c58315e6092042699c02430d5455415a7c454b950a2ccd460a5a80426496092094c02534d02347e8ea52ca39cd1bdf7de5b89a724304902934c6012986a13d5e31f7becb1ccb4703cab2aa5ef952430c9042681a9368560aa51fa5e4902934c606a03306d1d2660a2336a823e31496092094c231f4c9d78228db20c3055bb2f4149aa1d4cccba0a9c64ed634c8828304921fb0293a4e68149d6d636493f034960925a49b32295986f675b3344df33e03747d6f2168249f7a479363b67e3842849aabfaeced93679a53259d5d69f824a92a41ad5151d9c0a3af9718d193b36ee3bf702994c56a69d75f6b9f1e8d19d1e50f7ab5991a4daf49c0169cdd79e8cdfddb1479990325985c684a737ddf9e5f8b00f2a73ac51d32249d5e97283d20b6fbeab064626abd1beb9f14583d3819c4d57132349956b2b60bafbfebf54a32293d5c9ae5b7a93794dcfaa8991a4cac4c0ca78d4e84e85ef64b23adacbfdbf3030ed5133234995a98f1fcf69a79fa1c64426abb38dfa2019a24b4d8d2495af39fc70c82a52432293a98c9824094c3299c0244992c02493094c922430c9640293244902934c26304992c0d42063da8f62a5602ebce892f8ceb58fb44cbafb5bbff86dd1739d3bffd2f8c16f6c88fffe5ff656bdffefbdfa93b8e7b469498347d6d7e6d77e36a4d7c775ccbf6ce1a0d7cf381e3fa6a7d436664f3ef772b22d7f05264912985afa07bee2b6bf487ee0a4b5fb86fe84ee93e3238e3c2a798fc6ba15e0f4773fff4d723e9c5778ae963e3cef535754bd7fee015505165ebf34fedc2d77c56ffffadf87f4fa387f1adcc1aedf7fa7f8bfd436fe01241a4113a10a4c92d406607afa6f7e30e03d608427c2fbb77cf1be960153d63d0522e7cdb93879bf5aafa0d99f573560c28b7afddd7f169824496a0f30f951f61f9f3d37f33db6c368208b1d83869375ac5e2010a191cd0abb114ef3eb960b260b57f13ed79405d9ef6ef951b26ff61342cdf68dc7c5fffdfff0af038ecdb6cfbcf446a6f7c835da36ac9375fea5aeadde60a2e829e781719f4b81c93e9f62d726304992c0d45260a2b10daf83429a84cfa260be1cfa3a7cc346e3c832bfcec7669e9d84caf8df0382e387fb24b4e61bf1c1c0f4f0931b93f7a9e21e7a0b16963403b40653bb07de2efbd3ebf20d3febfaf7d8177d6f6143c93680cdd6e37c0c98ae21cd5f1b606f44288fda8cfe7a79ff86e5b70e0013d7661eb1bfb67b1efa86c024490253eb8289468af7172d599ef792e887a1df89276c1a4bfe5ae3ed1b358312fd357ffbf63f26eb01266b040d4c2419b0cfeea9a7268d38cbf90ba8c61d333e0f106b98d907ff7b0302e38f9d98ec032086b0e2fcf05858177051f11d380052f386588f7020ff739dbcc7fe38b7dbef7d30b906f6415208ebb2cc379434eafce57a811450c74b0baf0db073ae98f7ccd827cbcc0b0dcdaea51498d6addf94bf0ece95ebb8f29ac5f97b6e60e2dab87efae6ecda7808b06b23914460922481a9a960facccadb9346cb0c8f80068d4695469c868bf569d4693c69f4b29ee6cdd300361e683e6c066c3c98680c6920c39094ed83a77d7f8c62c67ec330190d18e66165d71136c0fefccdf36059e81d111a03cc80c8f66b0d2520f2eb02c4ac6b331002317ffc72ac1498800d9f4f78bdd6ff6660e2ba8b5d1b0f04e52454084c92243035144cc58c860e4f67b0a4047b9ab7869da7705e676d6b4ff0d6cf44c3cd71422f0803365608d7c044a3c4797b2384c67e80a81d1348b1fe824f2f1ab05fc06ae1c7626032ef216ce4319241229768c13971ae613f0f60cff2f030ce75da19330b8ecf3efc038237bba7c5c0646157ee6f78be0622039379b3e6f57ae31ef05e186a14982449601a5230f1e4ecc3463458610280195e018d978582a2743244dfb0e32985fd48e131ad211ccc43c00328a78f898694f3e189df7b25e57a1f2198804631cf214c2630cf2ccb8b2c657e9b5afb98ccc3cc4afeb07b61e7cb76839d5bb1f0aec02449025353fb988acd200a2cf044087701314274be61b7cef6aca76ec2570626425cbe6f27cbcc031a0c4cdecb21f4688d31c916c5f6ed07d186603aebec73f3502c06264b70280526cea9d8f17de8af56305906a50f0f9602139f63b1f3c2867a1c97c0244902535560c28bc8ea33b1461158f9863bab13dd1225cc9ba2afa6d8bc558f6ed89cefcf2a074c965cc1f985fd5e61fa3889021e9ce1ba5c8bedabd82caa06962c3059989273ca3a578eeffbea6a0513a1438e0708c36dad4fcdc064e13aeb3b0c3de26f3fff4a4ba78e0b4c922430e58d301961bb700c9285eeec7a6924e92f211bcd8f71c2e38a82ac3c6b2469a84328f93e935260e27cacf12531c12703d05887491176dd3eb32e04931d3f041bd7c3b54d9c7c7cfe3e6481c9f7e584837e0ddc7873f54c17a7af0d4fc87b829c230f141e4cf639d88384bf36bc441e1604264912988605982c4487d743180b18f0844e6306b0087ff986dd87fd2cfbcec62b9927426348236fe580683cf9cbba6c6b00b38699e50602331bb7c339f8f0181e09cb789fcc43ced73ca1b0d45216840c2c9c3bdbde74e7979373e51cf02ac2ecbfacc1ab5c03d706bceddaecbe7868d7034cac6360e15c49dfc7636359148c63b2fbc067c67a24745883dfea15220426491ac160b222aee5162ce5e91b3859ca378d34612d1225584e5f916fec01038d3dc7e0691e005a83183ea9e319b1bf281de869d974e51471051c4036ab0205de128009cf39ccb6633f61e925ae97c4102beeca3eb88ef07eb1ff62c5548193bf36f6c1eb3031a45e455c09cf718edc43a0ccfb40342ce2cab5d147683502812d901a0e855e0526491ac1606a642570c245591de8347e34989abe4126304992c0346466c91061688c0c3b9ece6ba902de48c3dbe31c6d90315e18213cfabfb252df65029324094cc3c8ac7f8630188022cc079468545aa991074616d21c9d8ecb8a4a8c3ba28fa895079f0a4c9224094c25faa34817a750a8f5039105d74ae3630092250698cd9831235eb26449bc7af5ea78eddab5c9ff575c71453c6edcb882f5f0faca99724226304992c0242bab0fcc06e31a8c366cd810efddbb372ea5f7de7b2f5eb56a55dcd9d9994fd21829731c094c922430c99a0825c657f1f94c9830217ef1c5170be0039c366fde9c784b784d0f3cf040fceaabafc6fbf7efcfafb367cf9e78e1c20fa6f4088ba1ca0426496a45cd8ed2291ad490b45678d1aa43f4f6f6c6bb77efcec386ff09db75747464572f1f372e81d5be7dfbf2db3cf6d863f9f7c301c2b2c6999b6f6a829a1a492a5f532cd4933553abacb9038abbbbbb0ba0b475ebd678d2a449654d3b317dfaf478e7ce9df96d1f7ef8e1fcf8a462856f65f5f578d3cf62bf9a1949aa5c3bf801319e470d4af38d01b59675d7dfdf9f07cbb66ddbe2aeaeaeb2e743c27a7a7a92709e69ce9c39f979ad74af1b6b844dd3cfe11535319254b96ee50744099e56aed4dc2e66b3f10211d381030712c854022533fa98bcc715a55525e42137cea86ae1c2780bd4c44852e5eaccd9b6281dcb131612950dad91decd67b171e3c63c509e78e289aaa064f6ce3befe4f765802bb7bc93ac32a39c954bed7f59cd8b2455af4939dbce8f89c1a5143f65be9c70065659e3edd8899307c064f6ecd9358189d471d3a5975e9a2cbbe4b285badf75346a3052c6caddf7fe9c75a96991a4dac48fe8f19c1da8a51194d5c776ecd8918084f4ef5af745669fe9faebafd7fd6dacedcdd99a9c75a84991a4fa695cceaecad93de90f4c56a54d9c38f1c1ef7ef7bb6f7efffbdfef2fd71e7ef8e1bd6bd6ac897ff7bbdf252021b3aed6c6921472d35ffff55fc7ec7fc3860ddbfc71cf3df7dc47f599d5645f48fb933ad5844892d4b2ca7160715ca3ea0da6127a4a9f98244992c034a8ea1dca2ba167f589499224094c65a99ec90f0293244992c054b37c49a1a8c67471814992244960aa59f51a602b30499224094c750153b52589a8b5e74b12094c9224490253ddc0544d11571b0b2530499224490d015339d35ee05585d35e084c92244952c3c0e42701fcc4273e5100a5db6ebbad60a24081499224491a3230213c270f265ff8556092244992b2c0347f1881698d3e314992a4f680d3949c7537c28e39e69817a2c28487cf57bb2f7d52922449523df46c5498fcb058b74492244912982449921aacbee86009ffa7d3864fd6bab62300d356dd93a6d9d773765dce26a80991a4fa697a7470d64d4df62693556ffba283739969a24049aa511745871cf2dffcb0461d313efef0ac8571cfe577c5a75e75af4c262bc34e9abf321e37f56c0fa8d7042749aa5edde9535e3c71e682f8dc2fbd115ff0e0cf65325915f6b1cf7e3379b84be1f4b89a1749aa4ecff3231a3fed42352c32591d6ce6aaefc487768c3238cd5013234995695cce0e1c72e861f1c7ef7e458d8a4c56273bfebcab0d4c8faa9991a4cab4801fcf5127cd54632293d5d1cebcf12903d3363533925499165bdf921a1399ac7e76f61d2f199876aa999124814926139824496092c964029324094c3299c0244902934c26139824a90dc174ce5d5b921f7668b3eef941cb3540e7adf961e6b9720df5d8ffecfbb7c6672c7b22a92ec0e0cd667e26d3ae7f247f1e5903b13957ae5d83b40526491a7160ea3c7a72d15a64878d3a3c39df56197745435dec5c3b3abbe229175c9bc0abdafd93ca6ffb1b73ec89437e7ddce7a34f9d35e0da18fb36a9efb2826bb3c6f8c48b960a4c0293248d3c30d1a8d3c08576c409a7273ff8aee37b9327f45601139533fc799ef0893f8fc74e3e25aee5fe9eb5f299647bc030f3964d890de5b5717fc74e3c393907068c9e7ec3bac47bfbe8b55f4daed7ce4d60129824a92dc084156b2c8f3cf1cce447dfccd0560826fe6636ec299caa0943028162fb1e0a03441c1faf2febfd637acf4fde9fb1e26981496092a4f6051346e573ce9b8ace1e023cc9d388723d5448e7759657452d331a4fd69bfa279f4fc251d3973c9a580896de45f725fbb275c3fe935260c2d896f7f17ec2bea953aefc62120e9b7cce95c9f6e77fe5c7f9f73917bc2eb6651ddef7e14b60c0fb9cd747e62e49ae29dc3fdbf4ddfefd0430ec83fb66c7b06be3d8bc57eada38cf62e024d4c8fe433071aedd17df989c1f7f398f2c70b3addd5f3e4f7f8d5c5378dd765c9687e7cb3de33317982449601a72309df4c99b931ffdc90b56e7fb412ce474f8f82949b88f506094516e896dacaf8af7f84bdf0ddbfb75937da6de0eefb14ffa55a81c6d1e42b91e13e7e2a1f347ab9f8f471f755cb23f4292981dc71ae163cf9897af52fda131e392fb61c70526b69c73b66b055461c33861fadc82fe39cec3dfaff0da7cb8d04289dc1f7fcd8335c684f73816e7c7e761c7f6fb009cd67fc6b5e10553f81433b8e011f33ed0f4c7e17c587eda9fad2958cef15aa518b1c024496d04267ef0961c4103cf329ef879ed3d1e1a3e9b1fc7bc159ec069806904ed699bbf161af460224cc5ba7815e1b1818a81a6581f135e0c50a2a1259bcdc38ac69a46d47b517801accb39970ae5d1489b1765e7c05f039035d6ae614c3c255e53bf8df73806d7669e4e726f7240024c5c9ff7325d31d2e43da0c83dc90a4dfa63729eb61f3e1796714f6d5dbe7389d79b7bc8f0997f809273e37cd81ea0f9edec18ace3bfb7569b2e8495c024490253ddc044230d28bcd1d0d32085de010d2fe1a2703f84a03cb00c60612a3761260f267bcdfac5f669c02a959587e18d780001a9b0410e21605e4b1698801a00f11e988198461cefcb378ca1c7c8be590e60c2e31bf43cb0acaf092fc84de5907c0e00c31e0efc31b9e670df7839f6b0c1c34008aad04bb3f3c373e4ba0c72dc7f3bb67f78e14180e5ad32a4406092a41108261a19f39ccc6894f14cbc071236ce346c4083be260b5759c3ce6bbc9dac6d596e8d38dbb3dd7133e60f98a914004669969a0713a0f1e398800a0d3d10a161356f85f3627d1ad270df064e7bea0fc144a36be1b952c908be61b4f30c438f7ce6e1f139a7a844f2023004f25c8385d3b83603a91d33ebfbc4bd35905888ce42b1a1e14d1a60b917accbbd3050e1e15a489663269f6deea1c57b9b029324094c43dac79435f8d3426ff6446f7d46be61679f2ccfda074ff906264bae286576cf064b7ea05f257213315a08ab9499371582a954c3eff74d1f52b10c395e977b6d167a2cdad7377f65b23eb0182c2bcf8369b07be63f7fbc2b3e57a0c96b1b4680a766fbe0f32f053a81499204a6210793f54be0cd0082b0ffc77b4c783059fb60b981c9b6f3fd4bd5a48b9b59ff8c0fd7f91058b9e9e200c783a01c8f29848441b798d7197e0e78a9a5d6e1bed93ae582c9fa9c4a794c7845f61a4f080fca206fde13c7c6abb56baa57b50d81499204a69ac0647d26598db585cdac61cff7e104a9d5bcf6fd31b64f1abdac09e0586e8d63b91e9385997ce82f0b727c1606adac3e264bbe083d19606c1986a52061e7438a76787c80c1b559d8917b1a054925de082dfa848d72c164802dd5c7e4bf9316b6a35fd1f737b10e70a2ff8b509ec6314992c0d41260b2300ea138df585b969b6fd8496a60198db735fefcb5fe129f28c0ff61561e0d2aeb5ad658a93e26004047bda54b5b0a3400012c84a47cfa34fbc35360b9650c6681c91a69c062d7cb5f0be3e13d0c0609bc0faec18ff9e13e72ae2cb7314796c5080c38ae251658fd3e4b73cf1ac7540a4c986511fa6b63ff766e3e61c4f6cb79f84a1376efcd5b16982449606a99501e4ff9162ee37f1a3700641e926f28698c6ddc8f810bcf80c6cd838986da8065fd55348cace7c7d50c9695c7fa61438d4702846c1c938d23f24912c5c00414ec7a2d6183bfa117540a1280c78069d7c6bde01c42cf8f901fe76ad7e333f3f8dfdf8b4ac00484acbc94bfbfec33cbfbb44416ef699ae795e5050b4c922430d5d5783aafa4239bc69aec2db2daac8280656bf17fd8d0d128e209e1d198d712b904051f1eb36c39abb010f60d591589d0d88e46bd58fa325e118d3afbcdaa7a608d1bfbca6a740198554c20c415569660ff6c6b21c7ac0c3bab3c51ecdafcbeb8bf76bce47c530fb1dc63723fc2cfd4579fb00a11e13e7dca3afb0edfe73c7c051081499204a66165d6b886d5be6ddc52985addea06c83877404028b058a32e13982449606a613045e9e04debc7a16127032cecd76845332fc7972b8a32a605a11f26cb0393094c922430b598f92481289837a95915bccb0512612cdfd7834d983021eee9e989e7cc99134f9f3e3d9e32654ac1fbf4d770bdad94462d304992243065185e1220c2fb2019a29689fc1a6df481591206366bd6ac78fdfaf5f1f6eddbe32ceddebd3bdebc79737cc51557c41d1d1d07c17bf8112d0d5e814992a4b607d37031a069d52c66cc98116fddbab50042dbb66d8b376cd810af5dbb367ef8e187e3175f7c31debb776ffefd9d3b77c60b172ecc436db8f5a1094c922430c95ac818d46a505ab56a557ce0c0813c70366dda14f7f6f6664fe79ef392962c5912efd8b1a3607df39e5a6dbc8fc0244952a8eba222150e64cd3312336c6cd2ead5abf380d9b76f5f810754cabababae2575f7d35bf2dde14700276e5ccad24139824a959ea8bd2c9f5d498b48e592925fa93cc53e2ef25975c521694bcf7f4faebafe7e174c71d771c84565ab95bd6f80cd09cbda66646922ad7aec895cc91353f73d0b2efde7befbd3c541e78e0818aa064366edcb878cf9e3dc93ef6efdf9fbc8edc9c4fb2c698956bcad9ad6a6224a972ddc40f887131e554bc9635d6ac0c117d4826c06240a9c67c3870c58a1525e75c92d56e6ed6dfdd39eb5413234995ab230d3724e3792893d3cae9d323dd6c865c12184c64de550ba5281def64dab87163ac7ec5c618a5a3286b95def70339bb48cd8b2455afae9cbd12b98199f43b85539bcb1a6f143ae5332005dcb468d1a29ac0e4c382fdfdfde9a0e22374bfeb6484ed824a1cfb72b640cd8a24d54757e56c6bad8da0ac765bb66c591e4c5476a8757f96a147eab8ee6fc36c4fce1ecfd924352592547f8dcb596fcee6c86ab3eddbb7ffef7bf6ecd956aefdee77bffb2d5e8d4f7c983d7b76cd8de6962d5b927d31be89fdffd33ffdd37ff8e3fef297bffcae3eafaa6d56cebad56c4892342c14d741e58e5d2a65efbcf3cea0c7d1a7254992243095a5c71e7bac262831d8d6578e109824499204a69a4461d6cececebaf457094c92244902535d64551b2a3580b66bd72e8149922449aa2f98a893d7d7d7573198c8c22b57fab424499204a68a437ae566e851278f799b2a913e2d49922481a96291c440ddbc52258a18f7544e169ec02449922430d54d14640d0bbb4e9d3ab5e8ccb60293244992d45030f9f242de53aa45fab4244992042681499224491a7230bd96b39d8db0d75f7f7db707d379e79db7bf86fdbda04f4b922449aa5573a2c2c4877edd1249922449609224499224814992244912982449929aa80969a3b758d6d2765f7470723ab3ff43f7a469767574705ea60e351f92545fcdc8d96b393b1069365299ac1adb9bb3fba383936d4a9254a3961a90468fee8c3f36f3ecf8b23fbd4e26939561f33e7545dc3df5540fa8edd1c159a02549aa5297db0f6ad192e5f1dbbffef778dbbfed93c96415daf75efd497cdae967189c76a4617149922a5457ce92819ab77cf13e352e32598df6b3edff114f3b63a6c1e929353192545d082f3eebec73d5a8c86475b2bf7dfb1fe3c33a3ae2343cdea56646922ad32b80e9bebf5aaf064526aba3f59d7b81794d57a99991a4cab48d1f0fb17135263259fdecbaa53719983eaf6646922ad34e7e3c7ff7f3dfa83191c9ea682b6efb0b03d39a76694c26a49d6acfca64a92d1698643281a999ba2ed2403659a1ed1498643281a9995a6c9954745acbdad76ebff74181492613985a074c8c38d617a0bd0da0084c3299c02430c904a616b6ef6ef951fce1291f196027749f9ca4f05e79cde278f36b3f6b99f3bd61f9ad99e78b5145807237dfdcf8a2beef0293c024139886ab3dfd373f48eec9f863272620f2069c788fc18fdf7efe9596385f7ec79c13000a6bb011ae4f076ac677dfff97face0b4c02934c601ace602af6fb78f8c98dc9fb3da74d6b293015fb0cf0eec68c1d1b1f71e451f1bb3bf6e87b2f30094c328169a48109b3429bfdfff0af05cb5feeff45fce886cdf183dfd89084048b81e0ad5ffc3609af6114bdfdfb7fd99bdc43eaa485ebbef0e6bb090c9f7ceee5cc02b98381099b3bffd2649dac102483a3395fae3beb7cd9af1d97ed3917bf1fcefd9997de48f6c1f5671d9ffdb20e0937e17db16b0fefa5d9ebeffe7362613d39ee07e7c2fd1198042699c0d4f6602244c63ad660d220bbaad0799b38f9f8a421f6dbde74e797e351a33bf3ebe0cd5876a42fedc4beed38666cc7ba958289694858871a6c1e48169a34c3ab5ab77e53c1b62ca70a41782e0b3ebd2839269ea35ffeb95bee2ad81ef81216f5ebf0daf77b719f3897f0bc0122d74c98d296512cd8df3f8ceb0be12530094c3281a96dc004846818694c6d1973e90018bc259efc69240d36bec0ed9aaf3d992cc3830112aceb1aa03c98f02868a8d9279e08afb9c70621f6530e98f02c6cff54acf6d003420082be32bc163c0feb93e21e7830b1ecc28b2e493c25d633d08d3b667cbcf0faa5c932006ca03348e025b12df7877d723efce535cb0dda768eacefcfdfee97418c7e32bb7f5c2ff70590729f00e4480a550a4c328149601a00a6709c1f4fea34c234e81e0e5c3b0d75e8c998a742e36faf69b8314090e5f51898ee79e81b030064612f1a75bf4fdb165086597996f8c0317d988d4cbe2c10e0a1d0c893e8e1c114f64f11468b32aaca1b38789fd7e7cdb9383987f0fbc16b967f7cf6dc82ef21f379859e29d7ca7563fc0f80c2fb67001b49c584052699c024300d005331a3911fac01c41ba2ff0338b08dbfd740215cdf1a7adbaff509116e633b6f0622eb5b09b3f2f06cecb89c2bfb0e1b721a770014ee1b034a40c3b6613f0026bc3e0bf1f9e59cbfbf0e3c4b834f682cf7c7e1b87860f6daeed76756de9e0f3d5abb159eb3bd472abfc02430c904a6110b261a63fe372bd541cf7b7853f43359ff077f69fc0d4cb65f1a9c629f8335e86eca83a266e1b662a13c6bd8d85708260030d8fe6d7f596d859d6f782d1e4c84f34ab533e179dbb68443ad2f8ed7e6e9b17cb073f69e9ec02430c9461098e2385e9cb303f1e0da71e49147fecf764c7e0833ec08310122120208671122a33fc500630377b39203bc37e0c1647d3dc5cc32e54af53199e70534fd724b3628b57f0bdd550b26206e491259f78de5bc6fc7e12f20b7f5393f42a1a15749b8afd839b7d2c06781496092d5174ccfc665aaa7a76757bb8389bea762fd1b96b1668908c5425b77ae7da4601f84a47cb8ce1bc90a74f85b6a7929300107cb88f35970808f73c94a16c03331afa51630f19a63d3279675df000f7d577e19d70d9c0ce2f4b585e1c3accf0548d3cf542c5d5d6012986402535b81893e101f8232031e16620ac3573e259b90171e8c6fd0ed1ce82ff26138bc33cba633a80c962e6ee741bf93c1cc9214c2fe2e8080a7e633f86a01934d764766a15f8fd759c90e06240b8986e3ba6c793831251e61083281496092b52998a64e9dbabbddc1442349630e2cf09e7872675b1ad070202e7ff1202ca38d501beb9967e5bd2e6b6cd907e13f00c8313896876025036c0d04c00ecf8d65fca5110422400f8fc537fcb580094fc652c3e75fb630599f501dafb9e6ac01c3767fb2428084ea3847ee19d7c2feecdab2fad204268149d68660eaeeee4eb65fbbee5b23e69ed0f8d1c8019972b7a1ff03d058b1571a55c2702c675fbeae1e5e00a13bb2e868acf11ec206dd37f46c6fe9df6c13a678739eac833755ecfcf0ca001066638c68c4390fbc237fde61382ceb5e702c9687e76bd76be9e276bd801510596159121bb2aa5c58ea37fb08af334c34e17cfdfe465ab92581a9058cf8313f12420b7c89f9c2673d4df1850f47a6cb9a07a669d3a615a451f319667d6eb20feaec8561281f5af3035b65aa95273035c978f2e229302bf513979d1f72f8f4c65392beb8430ba63d7bf6c4070e0c4cd4fbfdef7f1f3ff6d86379cfc94aec106619491dd1f5329eee09c779ef86ff2d11a0981721139804a621321f6f27be6d31727e9cc4d02d9bc8c7d305a6a107d3f6eddbe38e8e8e78d2a449f1dab56be3ddbb770f0014d0dab2654b3c6fdebc82870bc602692ea0c2ba71f4af0021ee0da1351bef3454f7c90aa0d267451bc039f0bba2af86d778bd2329ed5a601298aa2ad7cf0f21eb7d62f4d6a9ec47870b4c430ba6fefefe02d800a9850b1726cbb3f4ab5ffd2a5eb16245dcd9d9a9305f91ef355020e38e3e2642d743913c4208913ea4d14101d46246a6206596f499094c6d0326c2174027ab6e58988a8b37653f8e2c30d1e9498c9e27503a7279f2cbea87e2387434f33e03f7e8aca661083b59e9e7a20396c6827115accbbe6958fdb9e2c9710fb3a63e60b9797abccf6b8e4368927db14f2b7e395cc084774bd8d5eaaf61bdbdbdf1134f3c11efddbb7700a058b66edd3a85f99a6cfc76ec21d01e2c66cd9a15df7df7ddf1c68d1be3b7de7a2bf98c5f7cf1c578fdfaf5f192254b0a3e33bcbb9154834e6012984a760267d5da1acc423001252bc74f488246cf2a1f87a3dd7d5a29d74e236be5637c1885fdb34f1a51fa048097d51ef3fbb42f4ef8b41b969eb1c69f7d723cf601fc280b638309870398acdc0b0f155c9b8dbdc1bababa122f69dbb66d0af3b590f1ddb2cf89cfe88e3bee8877eedc595662cbabafbe1acf993327ff79f13b1849e9d80293c054f4a657fa241682c90637865598ad7ab2792d56cec40a4286a5607cf147831029a83e2e8f77e707fd550aa6703a011a78e0546c647cab82c97ba078a6361ec68ca7f1cd9b37c7fbf7ef2f3bcc87c7ab8efffa1a1ebad5ea03305940a2bfd0bc25fe6679be7855e3c68dcb178a159c86c6ac0dcbd91704a66106a662254ff0a400015e9235c07869594538c34697fdf3830e7f80368add40542998e853088f4dff8255911e6e600ac3973640d3803361c284245c94d5206685f9d8967df8c9ec64d587efcc53a23f30cca8e4c1a1afaf6f40bf1261bed9b367c7afbffe7a1c26c090fc52ac3abaacfe464421fd5cae169886c86cbe995ac064d58bf901722da10197b03f8a86182f8a018374045b566008a62cd88520aa144c5903360965454d9c47a65e60f20f047cb6f4f5f9c6eed24b2f4d4243e586f980b81fa429ab2eb108efd54389b47f1f9e2b658b162d8af7eddb97dff6bdf7de4b3e4b3fc19fac3146dbe6925426084c43648c84cfea07caca24022459c90fd6a8e235b13ccb888b5b288effed4747088d27122bad1f8229ab11ae154c59f0b1759b55e3cb81a9ee530ad0788559607848784a34905961be65cb961584f978405098afbac4222082a763023224ab94fb7963784f1e6cf7de7b6f3ea4a77bdd182352e3bca5e7a23652d3c1c4cd378fa65429112b8d6f7d451e4c5656bf9c1f89f545911c1182a4563085633e0cba2198b2a63bb09937c381c4436534f856cfad94d1d0f93eb74ac7ab91766c7d7718f0b9fefaebe377de7927ce1accfbf0c30fc753a64c5198af0ab36ae784f0bcf05a2b8192d9aa55ab0afaa4cc6b521a79631e141d94a843d92d300db1599f4dd6c469e64d8429e5611f13f5b768b4c21f898da6b778b8cd8b13f61b5935e36ac064de561872b2f54230f9b9657ca620d7586c02ba9138c094305d8127d6d7176fd8b06140b2044fea74caf3d4eed73ff1e49ee48185fb2b1b68279f72d02bdab46953d1b168951820dab163477e5f8407adfdd0fdae8fd116da606b07a5d9519ba925c0c4d3baf5f1d040032262ab74a4f3848d4745a3ed0b608660b2b47352b1ad382550b214721bcf64658f7c388d30a11ddff729950b26f38c3816c7b42c354b0008c1645e131e22ebda936d58fabf5d9e0cf162fd4caa647ead5ebdba20fc64220d3d0cf3c94a9bf746f14e6bd917492c26c639e9fe36cc0ee4ecd976f3945ab2569e8d2fca1a791e7a2359036c69e0ed49c31a3a80e63d31424056e288fd62ac634f2ac0c4428ae58209f3fd56513a9db6cd7f13820917dd4af65b1a2fdbb773ff09f79c41cf36f6ccec924b2e49bca5309bec0f7ff843924471db6db7c58b172f4eec339ff9ccff77cb2db7fcf6befbee7be36b5ffbdacb8db2952b577e271d5332643671e2c40773d7fbb39ffef4a7dbcab5ef7def7bffcfb3cf3e1bffd77ffd57febe3186a9960673faf4e9f97dbdfdf6db31fbcf9dd7ffb463fee8473f7aefe28b2f7e7ca8efcf08b25bd3ecbb09511bab25ab8be3cdd09853610120658d97a03f272b2308c0e13d115ea3a133ef294ca1651d8ee1d7011c786b0608f69f552bccd60bfbc4589f73e6fc6d9fac6700f373d7709eac47877eb352c45b79ba0992617cb204fd4c0f3cf040667dbe2669d250fe5073c7bbaed613a6cfaed62779c056869e8d24692481a91dead115eb4b930d7c8000dc16662da73edf10aa7b88c1b4b8d613661c593dc24c02932430094cb2b41f2faccf4758a9587d3e8129ce1c2b562b94f05c0526496012986441a896fb67fd8491abcfc7f82781a9b466cc98511398aeb8e20a8149129864b262e3df482e09c75e65158f15983e10e3c26a01934f3d1798248149267346520ce3a07c680f6f60089323862598087b52bbb01a28f5f4f464ce5e2c30490293ac6dadd2ca110253b6a849582994b8cf15dc638149129864237f2e21bea361ad3dc25259b5f604a6c1c544801dcedb8c064911672c59051298a4d60513951078bacd32fa062827a3eac4b262036ea91fe8ab9363c5aa930b4c958b94fbc1922128035545bf9dc024b52e982ce4124e4301906c847f38699eacbdadd2f99c04a6da53c89973e99c73ce299c55f8bcf36a192b263049ad0fa6c1a655cf2a6a2a6baf0c3baac6bb6acaf93984c802cb9a01b70dc13421674fa57364d5dd962e5dbacddf7b5ed7b0bf3e35add2b00553a97508e530a892b23d4c0d5d6c1a679b91167be1cd774b4eb8457a31ebf1549e5565807d85c7e13c586e658a78df5e5bf9a3700a0696533d9b7247c5a667a8f7f50dd73149948eb21956ad939d31494398f65d8d98356fdc086b0bd60461bc356a1ea5b604138d33211b0a99fae53c3dfb6ad3185357d080fba76ccefbb0a003973e091a3c7f8cacf528d8ead71b6cb23fab46eee754b2419e36270db0a2c65b782c4297beae5e25d717c6fcc3ebaba7013eae7730ab756a0ef641d15a7f9f98b8eeb1c71ecbace2f0fefbefc73ff9c94fe29b6fbe399975d56cdebc79bfffd4a73ef5dbcb2fbf7cdb505a4f4fcfcf73e7dc3fc26c67f05ddb3902af7138d86b397b2a3a58c8b553601a6230d1b8dae47ffef836f712e13d2b6e4a8204f5d28098810350446915058302b3bfb2adcd56eba796a6df8263b22e8556598f46de3c954ac14465708e4307bd4d95ceb415bcc7340e34de1c8b79a05866f341d5e3fab86f8d9aedb49c2c2daac05733b50975ef98372b0aeadebdf5d65b458b8e861305ca646d643c1c2c10981a04a63023cf9793a15fc14ff7c034137850e1533915a70d30bcbef29ac5c9ebd07b609c8b4d4f4e188d751888199e9b4dee6733c6560a263f6f93850269d8b99ef05840c8a6cfb0eb0b2734b4eb3380d9f585ebf9eb6bd0d4eafbede96dfaf4e9bbbd8762195c954cad8e17861769d37b6093264d8ad7ae5d1befdab52b134859732e4d3afe84f8dacfae8c9ff8ce4b65797532d97034ba00f88d07154d6e12981a989507200c4a346e61aa3880326f82863234c25f3c71b32efd37160223ac9695766ed395db2481e1f41abc47a3590d98c27b46788ee5a5a051cef5f1852cf7fa1a04a69daec3fdd930bdb81c3011b604f83649a31970cb9a5ba9d42cb57c67c2b9b864b276309b40343a3869e06c81a981a13c1a2d9b45d6bc9f8cc6b1a8f9c9018189efaba1139d709ac1c560532c1ddd3cb66ac0141662b5d05ba9d4f74aaf0f2095babe56031309268431bd47cc6cb4ab56adca9c8db658b88e9026df8d6289233259bb186d40fabb784f606a701f1370b2be06fa1dc2c6115814737543cf813e22b2db68c82cbb8bbf1ca31498f05efcb5d70b4c784e8335fef5babe560153b1ba755417d8b76f5f2690a8044ef69d0fd7111ee5fbd0ce33f9ca64615be91e4e7b05a606273fd0a742434612817f32e669d9c27559a139838ca55a87eb584205eb59788d986dd6fc3e96a8e0c114ce586bc0190c4c64d4b19cbeabf058f41b11bea3c1adf5fa6c0af77a0f4aae144cf47d715f0935fa54ef458b1615ada946b88e3a6df3e6cd53b84e262bd3ec379fb6d70253a3d3c50d06fe099c3e1f96d1c79205084259bc26330cb085637b2c6980e5f6b48187e19324f0423826db1b886864d98e8c3def5559858ac1c0c43e394e782cfee71cc800f4e757eef58563aefcf5350b4cc0b592ba75a480af5bb72e594fe13a99acea70de1a816988c631d9b4d9780b56419a6596f60d00f08278cd72cbd623d59a4c2f6be0588fc69c7dd18765c720cb856de9f7c073e143b630a2f76e0008fb635dee07fbc41bb0ec98c1c064212db6e7baf1c43040c57e2d4457eef5b13ede64d6f5f974f86680c9ec924b2e49ead6159b0a212b5cc73d05fe0ad7c964e5993dc00b4c75744107cbe02204c63a34bad66f4298c8004223cf5fa012a6900327204463c77a7825783e611505bc0bcec5d2d5395656e808ef89f7580748f085a0c1e6fc6c7d00c6ebac309b3f273b16c70dc383b55c1f8d7ab12a118d06139e0f3398de71c71d45ebd6150bd7d1afc643821a1a994c606a2a9864c36fdaf752602aa5dffffef703c275788a8426b34a40c964328149609235144ca79d76da80705d3838582693094c02936cc8c0649ed2da75dfd2fd745378640d092044dba87a87b5a425736e61d8390c41b38ef780e90b2d67f037d7cbb67a5811980426d9908169ead4a9bbb3c681b5b36515e1f5463f66ab4c94699f7fa93e611bd3e7db0beb4b1d6cffe50c4097094c0293acae60eae9e9d92530658389841c1a666f56859e7eb856f09eaa0513493b56df51601298042699c0344cc054ec9e58834386e6700553b92630094c02934c601a0660a2af294ae7ebf203b5197ccd406a1b4641c394e555d11f84e7c5dc62643f322c826a275983bfd9a70ddf60ddb02fa95a3091e4e207a55b5f14630439778ec930816260e23c381fae81a1119c67238643084c02934c60929501262b996515ee1974cc58359651718486da06783340dcc389eaed8402a92a42e36f83b6ad4494af5e6255ded92710b481ef1e28f5ea63623f9c834d0183f1bf9d830713c7b76be3bc3836af595703b00526814926300d3198586610b281c736cd413878dbe60eb382c756a584ed7d969b6bc0f2cba81ae22bab9807654577cd73b2cf1f48d83435a10199c1c0044cd9af071083e8adc0af2dc75b6419e7e12164d3bd94d36f2530094c32814960aa124c365124c6ff56253eca98bd39ab72894d2269213af334c2b018dbf93260bca6ac15c70ccf8db09f9f7ac6cfcc1c4eec194ef0590c4c36df982f0916d678b473b67b9335f81ae0e209ea3b2430e90b2030094c430026331aea6253a4e01151020b00d1ff62b51d0d4cb6dfaca94fac12b5071ae140b60dcd87eeea11cab3f7b3aaf9dba49d0626ae0988659d97852ff55d1298f405109804a621ee63ca029285cbaca413fd2dc0c98389448162c591ed981e1414022ee605d94499f50453561d4940ebc1c43656f0b898e9bb2430e90b2030094c4d0613fd2d56f5de87b82c7bcfc06453c3306370b17d788fa99cfe9a7a8089c1c2c52aef871e135e91c2750293c02413985a1c4cac6bf3766535ea36571719795130fb334675fa51e93c59d6c784b744965cd86fc53c5884182dec560f30115ac4cbcbead3b27b6160322f90c488705d32f4fc6c030293c02413983c9816e46c47ce760e62fd871f7ef8bf0a4cb58189e4021a76bf3e5e884dad6dbf532083c7c1ba64b10124bc2a9bd4d287f9ac51c3cbb2869e90a1a56f5b4660bdd2c599832c9cebcc52db3d9848be00a2a4b9db64915c976526662550084c02934c60aa543b05a6dac0846744036e997434dafc4f630d84ac3f08238c674902919ba23ecc68a3b1b7f3601f40847d721c0f8f7a8189e30115d6e33c802dc7b2492e7d26e1baf59b128f8ee5ecc300cc39a8d8abc02430c904a60618612a12012a192c4abf1020a231225467836a491ec03bcaaa1e41761f1e88f5dd641555f5fb257c17a669738e9c6bd6049a3e3983757cf80db86059d70ef830ce0daf886dc30a16bc06c89691c7f155f941605a6c83eac27456597b990b03094c2d6e8008ef082885a580f08ac8dad37d129886b316942acb2f6b4bdb2630b5be774b788cb01d7d50781d7844969197e5c10c668406f16c6cce288ea1709ac0d44ccdcad91c992cb5290253eb1be12feb9f31e3b52f3d54ca08979194c0805cabe89065840649372f3581a04c6092a45695c034c446961d7d397848fc2d27bd1a2051512284d1840913e2e9d3a7c773e6cc8967cf9e9dcc48dcd9d959b00e21c25699d85060922449601a016663970c3480e889279e88b76fdf9e39366dfffefd717f7f7fbc7af5eab8abab2bd98610221e9412140426491298643567089218c1678437f4faebafc79568efdebdf11d77dc1177a4e3914809179c0426496a75bd131519c92f6bae911a6e505ab87061bc6fdfbe02e8ecdcb9335eb76e5d7ce9a597c67d7d7df1ac59b3e22baeb8225ebf7e7dbc7bf7ee8275df79e79d78d2a449c9bee89fd2fd6dbc5909aa9cdda46646922ad373fc78182ba3c6a4750cafc6c277c0e6c0810379c80028c274e6056519fd4c6bd7ae2dd88ed0dfb871e38a166c95d5d7acba7cce2e523323499529197ac05c439a7db475cca6349f32654a128e33e109cd9831a3ec6104f3e6cd2bf0b45e7cf1c57c26a06ada3576cc5afa19ecc959879a1949aa5ceff1235201ced631f396366cd85090d440b82eaa708c1ba13e2fdb87bca6c618e3ca5cf6a4c2789254a57a73b6971f12e107d29805a8e619036ff92cc8a80346264273519503b0376edc98df0fb0b30711ddeffa19839d4978b07ec19cbd266f49926ad3f428cdd033e3a9afd48470b2c6d884f4691bcfc67b4bd63f548df5f4f4e4f7b56ddbb664d9873e344af7bb4ee6606446df6da79a1549aa5dfc906eb5d09eac7e46aa77a576e38d37e661b265cb969acf0120a15dbb76651e2f1c982babd8f6e5ece5e860251649921a24ca1c75cb6ab33ffce10f3f8c6bd4bdf7de5b73c3e9fbabb2f4fefbefffd735d75c73863eb3aa6c9c9a0b4992868dd249196bd292254b6a06137d5465a85b9f98244992c034a856ad5a553398188c2b304992244975011350a9154c8c611298244992a4ba8069c78e1d3541892a11614923814992244960aa494c6d512d98e8a32a530293244992c0549ede7befbd92f5f18a19037529f82a3049922449750593afda105510c2ab70aa0c814992244960aa4c9b376fce4f0058ca98ddf6adb7deaa74f70293244992c054b9a832be62c58a043e2190a848cee480be2ab9c02449922479306d8f1b24e65b0ac154a326e9139324491af9609a9eb3c58db20c3055bb2f4d6827499224d5877d81499224b58dbaa383959365ad65bb03d33d690d9b1d1d2c842c49529d45d5e48772b62bd2b406325935c63c676b72d6a5e644926a575ffa049efcc0461d313e3ef2c433e3a34e9a2993c906317e2b1f1a5330b9e3f6e8e06cd1922455a99e289d6efd88134e8fcf5af94c7cc1833f97c96415dac73efbcd78ece4530c4e3ce829f35192aa543f3fa4f1d32e8c67dfbf550d8c4c56839db7e687891795c2e905352f9254b966f103eae8ec8acffdd21b6a5864b23ad839776d890fed186570ea5133234995896487f8f8f3ae56832293d5d18e9b31dfc074ab9a1949aa4ccff3e339edcfd6a83191c9ea68272f586d607a5ccd8c2455d1bf74c6b227d498c86475b453afbad7c0f4ac9a1949129864328149920426994c26304992c02493094c922430c9643281499204a6861aa9f25965668ee93d3f9e7cce95f147affd6acb9d33d5394847ee3c7a72be84d4b8a967c7bd8bee1bb0eeb167ccd3700081499204a6e164364a7ff451c7250dbdb7c8a62e9f3eb765ce77daf58fc4871c7a587cd8a8c3e3a34f9d154f9cb920a9da61b5da78edd7e73ab846c14260922481699881e9ec3b5e1af0dec7ef7e25ee3abe37791f2034fb5ccfffca8f13ef080bcf9752381413e55ca72f79546012982449601a8960320f85f727f55d96597a867b3773d5771268143b06803bf3c6a7e259f7fc60d0f3f9a3d5cf27fbcc5a77e62d9b9273f9f0ac8545437ce1fb1e4cc08bf3e8bbfdfb25cf81f73907ae4f9011982449606a3130cd58f1f48010197d393ed487511bedc48b960ef0620803faf5e8f3b1657eddd36f58171f3e7e4ac1ba84e8809a071ccba9609d05428af0721d1e6a0626cecdd56f8bc74e3c3981a0df1e68b1dc9f03c702bc1e8c277ce2cf0bb6fbc8dc25c9f293e6af2c580ecc3926f7416092244960aa1398acd1edbef8c6e435f72a4aa708216446e38e57650d3a531fd8b684d6e80fa2c1663d031acb3c98d8866540807de2b1f45c7e57d28fc47e3d84ac061be13c00c1b6a5bc353b1e7d6834969cbf5d13e7e7bd2d8ec77a9c27e7cbfa1c87e5e665014fc29bfe18dc0bf6479f975fcebec2650293244902539960a231e63e60c0e1942bbf98784934ea241698e7020c68a8c33017db7880010cffda87ea423001248e115678b7c68d73f15e185976defbe17fae63ea9f7c7e00a4ccb30bbd23b20e596ec704209c57b89e85072d018463f3daee07dbf31a60711e767cbcacf0dc0526499204a60ac054ccf00e2c9455aa0f090f87f52d9c473f0fafb3fa69ec98d64f6521beacb97d2ca497f51e30059e3eac38e6d8130bc27f9661186e3fe5826bf39e222140a042ca79d6f5710f80b1f718adf02fe7c06bbb7efb2e01640f308149922481a9068fc9ac58e73ffd4e8c712284c55c566c6f5e9081c93c92aced8189bd670d7d29f321b76246ff0f70637d9f85572c2b8ff33430615146aa7978bef45d0131aed9d6a51f8970239e13f7c0ae9f732ee7bc0526499204a60afb98422334c5fa84de00c1499fbc3909db59e8ca1a66bc1c5e67f5ff583f910713ebd3986599a57fe3950084527d4a96de6eebd4034c063c9be198f3a7efc9f66f03780135c7026051463284c0244992c0d40030d938a2b03fc8fa980c4cd6f093e916ee83709b81c91af1ac41bc8080fddab959ff0e197cc5cecf3cb54ac0c47108d50196ac7dd27f8497e4b312ed3cfcf99054414890be2e960f96962e3049922430d5014c519a6a1d2eb714701bef44a34c688ba402f33430fa662c44e7b3da68d009c7f97d5abf8da5679b570618c3750d8e1cb3d2509ef7e27c56a1a5b147c1382efab7385fee03c7b37470f3fe383fe0ab714c029324094c43002640c3faf4310102bc079206488d0ec36184b2a23421816408bc19cbf2e36fbe7f28071c3c1696933440a38677c43a782b7e5c92cd8cca7bf4e1701e98557d000a3eb3ae5c30d19f66a9e1809073e02f00e2dac201bf5c7394a6cdfbca146ccf72bc27814960922481a90aa3ff84c6bbdc2a076499e11d59ba368d3910a1e1a6b10e21c0182780444a38db91380144c24c393c20d6b3fd123ac38bc9ca6ae3f3625d8380f57901a8707d8e9595f107e0c2eb0652ac6bfbe51cd86756150afadad89e3eb6b0ff8ce5a4990b4c029324094c2d6434f234ce59890a782059e1c06acd870a65029324094cb24cb3be193c93ace5c5eaddc9042649129804a6865502b73245f44b913c607d4cf43985597d328149922481a9e1067c4880a0ef0948f1973e99762c6a2a3049922430c964029324094c32994c6092a45af572d422b3b3ca6423c9ac7495c0244995eb297e3ce15814994c569b59f5f69cdda36646922ad3d5513a4ba91a1399ac7ee3cadc542473d4cc485265eaccd96e7e4014de54a32293d56e56ee2967db73d6a1664692aaf49a9229c03f79b3aa08c864358c5db369eb7376206717a97991a4eaf5f9f4c7948420888fe341159b1f4826937d6054f7a0928715f24da1b45ccd8a24d5aecbfffff6eedda681208a02e81441092ec3011d105004010510125002010145b8080784144040010484a478b442b256f67a3f6f6656e21ce935f0a4dd2b8fd6770ef3912edca66a8c199c77bf9420563e0fbf4edd9744cfa9fbd4d5ac67fa2f413b59c7e467e5e1305baf10e0bfe9071300082600104c00082600104c00082600104c00082600104c00082600887293e23adbd4e300b058be1feb2b20943ead1280282f01c1f4648d0044d90604d3c61a0188b4e45eac37eb0320dae38260bab73e00a26d668652bed2fbcafa0028613f239876d6064029773382e9d6da0028251fc9fd4c08a5efd4fd0f0a008ad94d08a657eb02a0b42915452a8800286e6c45910a2200aa195351a48208806ac65414a92002a0aaa18a2215440054375451a4820880eace5514a92002a0995315452a880068e65445910a22009ae95714a92002a0b9e38a2215440034775c51a4820880e6fe2a8a541001b01ab9a248051100ab918ff05410010000000000000000000000000000000000b0d42f54060b96fa63a5f40000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i jQuery Mobile Event Cycle}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 An alternative is the jQuery Mobile Router project, which you might use to replace the Backbone Router. With the help of the jQM Router project, you could achieve a powerful way to intercept and route one of the various jQM events. It is an extension to jQuery Mobile, which can be used independently.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Be aware that jQM-Router misses some features of Backbone.Router and is tightly coupled with the jQuery Mobile framework. For these reasons, we did not use it for the TodoMVC app. If you intend to use it, consider using a Backbone.js custom build to exclude the router code. This might save around 25% relative to the max compressed size of 17,1 KB.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "http://gregfranko.com/backbone/customBuild/"}}{\fldrslt{\ul
+Backbone\u8217's Custom Builder
+}}}
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Performance\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Performance is an important topic on mobile devices. jQuery Mobile provides various tools that create performance logs which can give you a good overview of the actual time spent in routing logic, component enhancement, and visual effects.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Depending on the device, the time spent on transitions can take up to 90% of the load time. To disable all transitions, you can either pass the transition {\f1 none} to {\f1 $.mobile.changePage()}, in the configuration code block:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 $(document).bind("mobileinit", function()\{\line
+\u8230?\line
+// Otherwise, depending on takes up to 90% of loadtime\line
+ $.mobile.defaultPageTransition = "none";\line
+ $.mobile.defaultDialogTransition = "none";\line
+ \});\line
+ \})\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 or consider adding device-specific settings, for example:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 $(document).bind("mobileinit", function()\{\line
+\line
+ var iosDevice =((navigator.userAgent.match(/iPhone/i))\line
+ || (navigator.userAgent.match(/iPod/i))) ? true : false;\line
+\line
+ $.extend( $.mobile , \{\line
+ slideText : (iosDevice) ? "slide" : "none",\line
+ slideUpText : (iosDevice) ? "slideup" : "none",\line
+ defaultPageTransition:(iosDevice) ? "slide" : "none",\line
+ defaultDialogTransition:(iosDevice) ? "slide" : "none"\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Also, consider doing your own pre-caching of enhanced jQuery Mobile pages.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The jQuery Mobile API is frequently enhanced with regards to this topic in each new release. We suggest you take a look at the latest updated API to determine an optimal caching strategy with dynamic scripting that best fits your needs.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For further information on performance, see the following:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/jquery/jquery-mobile/tree/master/tools"}}{\fldrslt{\ul
+jQuery Mobile Profiling Tools
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://backbonefu.com/2012/01/jquery-mobile-and-backbone-js-the-ugly/"}}{\fldrslt{\ul
+Device specific jQuery Mobile configuations
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://www.objectpartners.com/2012/11/02/use-jquery-mobile%E2%80%99s-tools-suite-to-help-you-debug-and-improve-your-jquery-mobile-application/"}}{\fldrslt{\ul
+jQuery Mobile Debugging tools
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://jquerymobile.com/demos/1.2.0/docs/pages/page-cache.html"}}{\fldrslt{\ul
+jQuery Mobile precaching functionalities
+}}}
+\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Clever Multi-Platform Support Management\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Nowadays, a company typically has an existing webpage and management decides to provide an additional mobile app to customers. The code of the web page and the mobile app become independent of each other and the time required for content or feature changes becomes much higher than for the webpage alone.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As the trend is towards an increasing number of mobile platforms and dimensions, the effort required to support them is only increasing as well. Ultimately, creating per-device experiences is not always viable. However, it is essential that content is available to all users, regardless of their browser and platform. This principle must be kept in mind during the design phase.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i {\field{\*\fldinst{HYPERLINK "http://www.lukew.com/ff/entry.asp?933"}}{\fldrslt{\ul
+Responsive Design
+}}}
+} and {\i {\field{\*\fldinst{HYPERLINK "http://www.abookapart.com/products/mobile-first"}}{\fldrslt{\ul
+Mobile First
+}}}
+} approaches address these challenges.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The mobile app architecture presented in this chapter takes care of a lot of the actual heavy lifting required, as it supports responsive layouts out of the box and even supports browsers which cannot handle media queries. It might not be obvious that jQM is a UI framework not dissimilar to jQuery UI. jQuery Mobile is using the widget factory and is capable of being used for more than just mobile environments.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To support multi-platform browsers using jQuery Mobile and Backbone, you can, in order of increasing time and effort:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 1.\tx360\tab Ideally, have one code project, where only CSS differs for different devices.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 2.\tx360\tab Same code project, and at runtime different HTML templates and super-classes are exchanged per device type.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 3.\tx360\tab Same code project, and the Responsive Design API and most widgets of jQuery Mobile will be reused. For the desktop browser, some components will be added by another widget framework (e.g. {\i jQueryUI} or {\i Twitter Boostrap}), e.g.\u160?controlled by the HTML templating.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 4.\tx360\tab Same code project, and at runtime, jQuery Mobile will be completely replaced by another widget framework (e.g. {\i jQueryUI} or {\i Twitter Boostrap}). Super-classes and configurations, as well as concrete Backbone.View code snippets need to be replaced.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 5.\tx360\tab Different code projects, but common modules are reused.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 6.\tx360\tab For the desktop app, there is a completely separate code project. Reasons might be the usage of complete different programming languagages and/or frameworks, lack of Responsive Design knowledge or legacy of pollution.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The ideal solution, to build a nice-looking desktop application with only one mobile framework, sounds crazy, but is feasible.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you have a look at the jQuery Mobile API page in a desktop browser, it does not look anything like a mobile application.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000003b8000002040802000000bc2415b6000000097048597300000b1300000b1301009a9c18000020004944415478daecdd69781bd97927faf75401857d070992004970df254aa25abbd42d75b77a77af8eb7649cd8c98d939b711c3b76627bc61327be736726713cb6afe3b1338e6fdc5e7b97ed56ab5ba2285212458a92b88a3b097001b183d8b7aa3af3a148882da957f726e9fd3dfda809a050000e8ac57f9d7aeb1cf2672f6f06841042082184d0ab114a29b6024208218410425761b009104208218410c2a08c104208218410066584104208218430282384104208218441192184104208210cca08218410420861504608218410420883324208218410421894114208218410c2a08c10420821841006658410420821843028238410420821740b906113dc34444adf99832742de91f5d0f5f74329258400007987d68c1042e83d4029cd6432c964329bcde6f3796c90371bad6432b95caed56a552a15c3608fe48d8dd077285da1f7735f06f08deeb14e97ff77ff3609cb7e6d6fe3fecae2df31d40602819e9e9ee1e161bfdf974ea7351aadc361dfb163c7ce9dbb542a157e650821f40197cd6643a1502e9753a9540a850203df5b3ac0c8e572e9749a1062369b351a0db6090665f43efe42c25c247efb8f8f275299df7d6dac5cfebdfb3b9e68a97cdb4139168bfdf0873f3872e448269329f425c37abf725959d917bff8a51d3b767c90f7b982206ce83b2172b98c6559dcd21042b78e542a150c06351a8d46a3c188fcb6e37226938946a37abdde68346283dca0b0f4e2c63fd62130e65fcde48577a4f44246c5ad6596b7fd74af77e5f39ffffcf4f434ac975e14b232a59452babcbcfca52f7df16b5ffb2f070f1e24ef5c8dc73b58d4914aa5bef085cf8f8e8e4a37954ae53ffff3b75a5a5a704b4308dd22f2f97c241231180c7802f077fbeb4c542a954c268b442272b91cfb953128a3f7ed9875c0137ec3ea315114df70550c2195269d4da304420aa19bbcf6eb6edc1d0040381cfec217be303d3d2d3d4408110481e33842482e97631846caca994ce69ffee91f9b9b9b4b4b4b5f6b55aff32a1b1f120421954af13caf5028d46af5b58bbde109936bd7f9e4934f5ebc785114454a29cbb29ff9cc9f353535e1668610ba75fea6c46231954a5548c994d24422914aa51886d1e9744aa5125be9cd93cbe50683416a52ec9bc7a08cde1f17562284c0eb64429bd1b8bfbd95651802afd7f34a01122cf7d171ca101e0028037f6283078b65d7ee467ff18b5f3cf5d42f45910290bd7bf77eee739f6318e63bdff9b69492092194d24d9b367dec631f6b68686459767a7aea073ff8c1c4c484f4f45028f4e28bbffda33ffa14008442a12f7ce10bababab84405959d97ffb6fff5dabd54a8bcdcfcfffa7fff4d5542a4529dc76db6d7ffdd77f2d97cb0120954a1d3d7af4c48913b3b333d1685414458ee38a8b8bf7ecd9f3894f7cc2662b91de673a9dfeca57bee2f3f9aeed6e6618c6e974fec11ffc416d6dddc6fb8786067ffef39f150e2a0e1dbaf3d1471fc55d1b42e8d621d59e154a0572b9dcfcfc7c32992c742e58ad5687c3811767bf791cc7c964b24c2653e8d0411894d17b279acd4ffa23547ccd982c8a625b8dd3acd31242e075776d84823b45e6a269a91f99c8e4ab6696d2eb3ce9ecd9331ecf8a94896d361bcbb28383973a3b3b0b11f381071ef8dbbffd32c771529f6e4949494b4beb273ff949af7745ea57be78f1e2c73ffe098542313b3beb72cda7d36900a8aaaa96a2b0b43b1e1f1f9f9f9f170401008c46a3f4d0e8e8e8d7bffe772e974b8ae3d2fab3d9ecd2d2d22f7ff9cbaeaeaeef7def5fcacbcb29a50b0b0b2323c3b158ecba1f767272726262e2073ff881d16892ee89c562dffce63793c9a4b4ceeaeaeabffaabbf522814b88d21846e1db95c8ee338a98380e7f9b9b9b9542a65341a753a5d2c168b46a381408010e27038a4e5f95cd23dbfc813b9bddca955bdd9cb39f2e9e49c3fda5059762b34292144a954e672390cca3722ec2abbb15180717f3429bc5e850161489141cf300c218400bcce7f0034c4834841a440014014db0db26bfba0e3f1f8dcdc5ca1bea2a9a94914c5a79f7e5a0abb8490f2f28acf7ef62fa55c4b88f4b260329976edda59e884080482b95c4e0aace9745a2a75a8adade1386eeda3513a3e7e99e7794a29c3308d8d0da228cecece7ef18b7fed72b90a115914c5c24b504afd7effcf7ef653e94e976b3e9148d075d7b6cce2e2e2fcbcab504bfda31ffd686a6a4a4aff6ab5facb5ffeb2d96cc66d0c21744be1795e265beb448b46a3a954aaa8a8a8baba9a65d9caca4aa9a7391c0e6732d2e5e3fce2c2b2bda6a5b1be46ce0ad87aaf8565599ee7b11d6e44d8a37c831fa7020c7923996cfe9afbafe442ad52a955ab00a85477f13a913a4f21b15ec94c285838a65c71754e968ad53a3ab667b31900c271f2fafafa6030d8dfdf5f08a38f3cf2b0c160b8f6c49c5e6f28c46b4a456901a91e03001886696868dc78f1dfe5cbe352b731cbcaeaeaea0541f8e637ff29180c4a2bd1ebf5870e1d72381ccbcbcb2fbdf492746690523a3131914aa5341acde5cb9705419016369bcd854379a98f9c526018b2b2e2696f6f078073e7ce3dfffc7352ef3521e4cffffcff6e6bdb84e7161142b71a51140b67f612890400180c86e5e5659fcfe77038cc66f3eaeaaa2008d96c56a95402301a96865231bb5ea3e0b8446065291005c81bcb6b8d4274ce1b97f1b9e29a86e4f29427478bf4455605bfe08b706a8dd5529c5a5d18cf258564dad1d06c54dde46944ba4a07b72e0ccae83ddfa3517a7e250270d5857ab4c21452ca7929e55559ab369914d23422028599783e7fbddf564a2126409e4af11b2840a34eae62af3ee7205d99b767cf6ee9664949a94ea7ebeb3b27e5544208c771fbf7efbfeebb954ed849fdbbc5c5c532992c9fcf4f4f4f49bb0f9665ebeaea0ad9341c0e2f2f2f49b9d9e1b01b0c868181f32323238561e6befded6f3b1ce5d2c22d2daddff8c63f4831379bcd4a1520e3e3e3d2da5896fdce77be5b5f5f2f2d3c3434e8f3f9a45d96cd661345311a8dfecffff9ad542a257d847beeb9e7431ffa10962623841000a45229abd54a08311a8dc160f0aa04585c5d1ff22e8e2f2c165794f83d8ba2520f79e20fac5a2b0c4a6635c9e4d3f13421b2eaaa068b32333bb3d0d8d6ca509a4f2755dacaa69ad274da1b8a268c2a1c3d0d615046ef4a50864b9ee0ab0f536963b1f7c3ed170080101044e1f68a9a6da59a4237edbfbb9213f1eb9c002200419e14465aa30cd3aa1238e63a57f2fdeffffdafc78f1f97d2ed134f3cd1d6d63a3434541876a3a2a2c262b15cdb17cbf3fce5cba3853a87fafa068542b1b0b010894428a58430a5a5a546a3b1f03e5daef96c365b281756abd5274e9cc866b3d2da0e1d3a248a74616141ba99c96458969582b24c26278484c3e1a5a52551141986292929292e2e2ebcff53a74efdfce73f976e3a9dceef7ffffbdffffebfcccfcf4b11bcb6b6f6b39ffd4b2c4d4608dd9a36f61168b5da5028e4f57a29a546a331954a9596962612894c267365274989c5566132a65d9e00a731d73434b000944f4d4cba9c8d2d6262319a028110c250000042454aa51720324a01a828e6dfc4a04c3759c3220ccae8bd4001e623717f2ab7f1848e2030d596a0203284005010455aaca921eb751702105ff6fa65640420c41342a8d4a3ccb2b2cd7a19d0abc787e3797e6c6c4c2a696059b6b9b9855298999991ba8a01a0bcbcbc5067bc315ecfcc4c078321298c320cb363c70e4288dbed5a2f74a34ea7b330ea102144aaa0907e6e6868cce7f3172f5e2ce4ec9ffce4274f3ef9e4ab8e19d677b5c5c5451cc7cdcccc48b322514a9dceaac2384784908e8eedbffad5af72b99c74c1dfd34f3f7decd831a9ac59a3d17cf9cb5f31994cb87521846ed1582093f13c2f555f180c06b55a9d4aa556565656565600c062b1c86432b3d9bcbebb16fc9e85702c4bb359634dbd3eb33a766990e514c5a5a54ac84d4f8c66f3bcbd54b7fe67465162d44f0e8fc8541a5b916de38b464301466d125391c2bfba9bab184314c542e537c2a08cde230460ccbf9a79f5f5010c2396e9570be95629d314a9cb0bd514a1ac10cf5fbf4c4a001a154861cd1c159ab4575728534a171717a3d1a8947709611a1a1a44512cd40d03804ea763d9eb6c57972e5d2a0c3064b3d9a4c1892f5f1e972ee90380eaeaea8d57f24d4c4c483157ba5ed0ed76afae460b63cfc13563244b5dd184909a9a5a8ee3a6a7a7a58b0b01a0aeae6e630f71535393c964f2f97c0090cbe5befffdff25556e1342fee22ffea2a5a5054b931142b72c8ee30abb65994c565d5dbd7178b870386cb55aed76fbfae26c89a3b6940000150411b4aa369b830088a268316e6698f5b1898a0d208a1440632d69b3d90980280a66b35614a94a63afd6022504a8081a5be1df9baca0579a5500b72e0ccae8bd36e089f0f95705650d9733a953eb3dc1c4a42a95318af5720aba9216f8eb162803a444488b5722788d9ebb76c40b42c8f4f45461748bd2d292a2a2229ee70b7b554a692a95920a1eae7a89fefefec2327bf6ec91064b9e9f9f93822fc330f5f50d852bf9789e9f98982c0c40e1743a4746863399b4f474994ca6d7eb5fab2f64fbf6eda2288e8f8f4b3b6896659b9b9b37cede67341a9b9a9afc7eff7ad45e6b91071e78e081071ec4948c10ba95b12ccb304c6137ce715c7d7dfdeb4c38228aaf3a4b290a859b74c38ff4da050a7b6091ae2f40c52bffde4428a53ccfe3cc7c1894d1fbe0a2f7aaa94668b12ec6b1fc5aa52f0865da3a19c31562a22bf91ac3d35058e589b03e62b248a051292a1972ed6fbb349484f4736d6dad42a16059766361c3e8e868341a35994c1b476d0b0683131313d26e512693dd75d75dd270752b2b5ee94e4110ac566be155969797a2d155294057555569b5dae5e5e54219f4be7dfbbef18dffa7705df6758fdd2727d772b65c2eafa9a9d9187f0921bb76ed3e75ea54a1c71a00eaebebffe22ffe231ef123846e71d2c4cba9546ae38e5da7d3e9743a6c9cb7279fcf2b954aac51be41e1d776030ba5b213beb0b861aa1191924a6364c381be58a6ab211b266a5e48f1afb51d04785218548e61e5eddaebff4e8f8d8d157e6e686890c6a5afaaaa966231a5d4ebf5fee7fffc9f464686a3d1683299482613a954eafcf9fe4422bede735c5f5fdf4008e1793e9bcdacbd22c30c0f0f4ba32903c0dcdc7c2a95228488a2585d5dad542ab3d96ca1b8626666c6e3f1504ac56b48bdc82b2b2bc160405a95c3e130180c57c5fdd6d6d68d7dd23a9dee6ffff6cb572d861042b726b95cae50280ad56be877219d712d1c75a01b0ef628dfc0c6fc919400cc86be524aa1dc140658abe29531f2124db554cf0b00719e8672af399263783d42130042c5563d7bed5423d16874717151ba6c8e6198e6e6166975070e1ce8eeeee2f9b59ee6f3e7cf0f0c0c487dc6d2130541909e258ae2cccccc638f3d7ad75d777dee737fa5d7eba5782d8ae277bffb9d679f7d46caaf5eaf2f9fcf4b85138d8d4d8490a2a2a242fff4e2e2e2c73ffeb1eaeaeaabce6411423ef2918fecdbb7dfed76af5f230815159557eda10821168ba5306b20003cfef8e3cdcdcd587481104212a907349d4e731cc7b22c36c8db4029cd66b372b91c53320665f4fea8346a1f6da94ce7aecc3622d0ac49b39a16d6c650d3c8d5a9cca55c9e0300a0309d36cf67aaaff7cb0cab02ac0ab056d74ca058c95e77aa1169c8362950721c5728693878f0e0af7f7de4c2850b858beda4ec5b889e1be3792e975b5d5dadaeae01806ddb3a464646606d0a12eaf178a40bab37cea5275df6d7debec5683446221169c96c363b393979d5076159f6d39ffe634ae9c4c4b8149409210d0df5d71669cccfcf15067e6618e6b6db6ec3cd09218436e2384e2e9767b359698c20f1d618c4ed1d21f513310ca3d56ab1e20283327a3f83f2f7ee6907911622ad3b3ef9ddb158249d92a6a02ea1fe91a5bf911e25941e4d7ff24caaf6baab2200841456431a7532e5f5a61a999a9a4ea7d3eba5c3573a74150ac5dffffd3ffcfddf7ffdcc993370bdd122afeaac95c964ededed84900f7ff8c367ce9c999c9c28143417969758add6d2d25242486565e59ffee967bef9cd7fca6432d2faaf1df542ad563b1c0e42c8e4e4a4340d12cbb21b67fb2ba4f6e1e191743a2dedcb8a8a8aa4d211dca21042e8aafdea5597ee21844119dd58c7adecc63a73777c369bcbae4f554d59020270840200b0c0fb990e938a0378fd444865843c6201c535c7c094d2cb97c70a3fd7d5d56ddc815a2c967ffee76f0d0c0c7475758d8f5f8ec562af335d677575b5cd66934a20bef7bdeffdfad7477a7b7b63b1d8b54bb6b5b549534f13421e79e491b6b636a9eb3a10085cdbbdd1dadaaad56a05412084a9abab2704388edb38db5f413c1e6b6868903ec8d6addba4213810420821845e75b888938fdf3428d09f4cfe8ffee54eba214152a9bb990027537e6dd7bf191466026fd4754a2990eb8c77b1babafafbbfff096954358661bef4a5bf79e49147c8f5967cf77a67dfd59523841042086d843dca370f918aeed549b8ba2041fa97388c4e15ab79e3945c78ce06c9643293c97ceb5bdf0a04028531d7b66eddfa1acf7e1783ec9b5e39bdb6e39cae4f4f88104208218441f9964283e995783e7cfd530494da553572f62d0f124c295d5a5afaf4a73f158d460b63b701c0a64d9b4a4a4a3e809dbb94d2df2efe58c3186f773c2cc5e24bfe9e175cfffa878d7f7bd2fbcc6dd6bb9bcc1d189711420821f466e0c598370db2149fcd09b9eb3ec6cad92a7dd3dbc8b58490898989783c2e08c2fab4d5846198dffbbddfdb3829f47b1c86452a52a022150b93ea5110a59b02e58703bd4a564da934d713352b8b6fb73fcc0bfc7464442f37010511044af1f26d84104208bd01ec51be4950a0eef8b820080cb9dec18f482af50dd7ab4778a3d5523a32325c98cb54ea51fef8c73fb17bf7def7be3b793e7af9a7b3ff28e40542885aae0fa5570e393ebcbbec9edfb87e3c1838cd0073c0fe488b797b3c1b7966f65f7e3dffa3dbcb1fd171c6175d3fd964d9ad66744a562563b87f1bffc67ce232c3b00f56fc5147f11db8e5208410420883f2cdafcad4b49272c3756a2f68a3659b55697f7bd156a95475747448ddc9365bc9a1438776eedcf9be0c0cb9189fa33c6c331feaf43cd5a0eba03cccc72ea785f85478e8c3559f1d09f79e0fbca29519640cf761e767c7a3e7fb7daf7cbae96b32909bb8627762caa6aae8f51e0da6bc9f69faaf17029d17bc5dedd6bd32468e5b0e420821843028dfcc08902d9603edc603d77f987d9bd7b11142feeccffeec83f00129d0a5d45485aeb1d1bae56cf037fb2b1e7c6efe7f1939eb58e4fc9ed2fb36d97606b24baba237985d2ed196b7d83a82f995e5ec6c9a4f66c55485be7ed4dd5ba56d190bf5c7f3ab3f9afa7a5ec8351b763004a79b42082184d06bc21ae59b2b2eb3aff1df8d7ff91aa5d4939a2fd7d6f8538b5ace2027727f6aa95c5f9fce25ddb1a90bbeae332bbfadd76e5b4ecef179e1d4e2916ecff30ddaadf1dcaa9ce554ac369cf155e8eb32426ab369cfc72abff031e75f3f58f5c9eb97a92084104208615046374c4a061acb85f342be5c571bccad38b475897c5c2153966bebeeac78623e76f937ee7fdb6adbbfabf4702cb3ea4b2e762e3dd368de76b8eaa3e1acd7aead49e5636a4ee7d0d41caefae85462f0c773ff7064e50759318d0d8b104208a1d781138ea01b272e0b4098f52192095071eda6b409aff50ed3b50528bdf22861362c2caedfc4b20b841042086150460821841042e8adc2d20b84104208218430282384104208218441192184104208210cca08218410420861504608218410420883324208218410421894114208218410c2a08c104208218410066584104208218430282384104208218441192184104208a19b8e2c1a8d622b2084104208217475502684f03c4f29a5946273208410420821440891cbe52493c96044460821841042e8aaac2c93fe876d811042082184d04678311f4208218410421894114208218410c2a08c104208218410066584104208218430282384104208218441192184104208210cca08218410420861504608218410420883324208218410421894114208218410c2a08c10420821841006658410420821846e05326c028410bab9514a0541104591528aad81d0bb8d10c2300ccbb284106c0d0cca0821843eb84451cce5720a8542a552310c9e4544e8bdf8a5cbe7f3994c462e97b32c8b0d8241192184d00711a53497cba9d56ab95c8ead81d07b83611885422193c9128984d4bb8c6d72037f9bd804082174b3e2795e2e97634a46e8bdc7b2ac42a1e0791e9b02833242ef86f4a0ebe9ce999f2e2452d81608bd0d94529ee765323c7388d0fb432e97f33c8fd706dcd070077a8367c960cf538b979d26230004633e936edbbecadd32e68375f54038baacd3d9e56ff1a06cce758c351ebcdb5a2c0abcf856763289f844e7d891da863f6e369936decfa797fb167ad272c231108d071cc50fb5db2a36b6542231d9337742a9b7643371bbe5c1b6221b6e60e8462708029ef645e8fd4208110481528a57f5615046efd32f2110bbf9f0fe4a270010860df85f7a7ea2f391a643ec07e857929f5ce96bd73efa564ffd86d3b4bc54fd564f5a2d2cfe7a226f6e74340bd71ed92b4a76377d8c11450a40d8fc8b17fe2d6efa949e2b5c6691ee9de9ddd5fa7f19652c21b9e3833f0d193e61e1f08435bab1615716420861504600005414ac45775778ff75399da9502be3b1d1b30be7955a752a9968757ea25ca3f02cbf30b24a18755a4152896c7d9d3cea26714ec8e4d9c603ce1d3202f1d8d8d9857ea5569d49258a2d0736db6a37f644c56363e797875915433262a5f3914aa56c78f2573e3951e4b23975e3ed8e9d3226dd33f273a2348bb22c64a349aef52ee7ee05ef0be3e1f32977dea26d6d2b6a49272e9f75f729b4ea7432d158f931a75635b3742c2032c96c48adaaec28dbc9310400e63c47a6a3177d8ba93acbe17a937164ea692f4b15ac108fa976353f689671b34b2ffb0592cc8554aacaedebcf02802ae7c34e519859faedb54199322c11d7faa6a940944449e14a86e0136e4153af95b1004029576bd12f44572d4545b85d218410421894d1cd1196a9cdc879a2c90a2e7372f6fc9d9b3fa96608c32f3c3d71aca4e5210219aa6ebeabaa0d808c4e7f7341fed85de5159490f3a33f0de4379732d9aef9c17bdafe50ce0021ec9991ef7b758e32b5723d4846bbe6070fb77d9c6300082194badc4f270d7bef2aa90042c6667e3c196f6e3170fef8ca81e64f58590e081918fb992fbfa5baec7e5728b5abf2f7542c001fed9aedbb7dd37fd0320cc32f3d3371acb4f96180983755f270e34736768257973d148e0a8ef27b4b14ca85c5e7d286fd77dbca28907c62f095d9bec3f5fb0062de74d1871a3f72d549654110de4c3bcdcefd822dba4dc75dd9feb3d920cb5a0ab7759c662611020cca082184d02d0c6bd76e361cc809217c7c4669daa362080088b24a6d7e392f080060d3564a819a53545518cd14002855c8d53cd04c748cd36f933152de16eaadc573e15061b589c805b9ae7dadce98520ab014a74d9652e9a643571c580d02804957a9010ed656ab1140dcf8def8c41c67d8a96118001065e57ade9b130400a8296a7b9d52117724596bb25200002ad7b52ad293295e04806aeba6b7bcf90af18b8bcf75bb7eb9cc6b0c7266e339695ecc88f44a99878cc879318f9b13ba898d78922f79b357dd194ba547836f54ef94cf7dbe73e9c940f6b51e5f5f89f0c35ecf775c196c6a84d08d0b7b946f36fe64d26057c4132b2b91fe1eb824dda9b46e9633040036161bc0ab6b177931cd1039b99214651b93222fa695ac86bcea6fe185f30bbc825d0bab76a3f13a2b7db544cebb1299e921c3d24db9a555c11000a5e2754baaf334cfc2fa02942520502a022815b2b75e88cdeab6963f02000ccb0e4ffddcad2cadd6e9a447b45c3100a1b0f64a1921a953987073423773505e4ef4cb95fb0c7032906304ea6164bf5faef8c5d8eab319ee2febd4565ec8cba847943d60963fe94eae00f944a5c6a924671612975242940700f1cc424cae57d790dc89183c56ae1c5c4a1e8d8bfbcdcae9c5d55fa6b9cfd5a9b796eb78ad2c97159e74253c403e5ea1b101dfe9cfc944ba40d8ffe0d428f06b4008615046ef1d7ed59d56dea352b3d4596aa8dceb7c0b7dae3a4d4526e4e1698d943f43a9a85eabdbf0a8331671f3d45948a7565d4765f983c5dcc6bf746fd075a45357961a4af73adbdf524fb055a509e5b206e9ba3a2194267ad9ef3cd19128081c2bcff0f90d11ba5ce6e9c98aad4a060060291430576a71834237bd542af35f8762db4b5447035193dc723921820c00c48185e837d3ec57ebb5dfbd10e966145524f7c781dcb7abd92f8da5f695aa4ee7c4db4138e38ea9cb390393fed522dd2acf7e7638b5af429bcbc3e584082c00881717e39962a6d7173d4114b524f7697ff6474d8aff3e1c6d2f51bd12481769e58f5839fc0a10421f64587a71f3f0067b9f1f7b7253cd231c4b58fda622fec2586059eae0f58667de708435aaa92f6767c7034b14201e1b1b4f69dbaca60d39b2b5844c8e05162900f0e9645edce46ceb9f7831290800904e2e86b3af751e56a5827c4cc80200ab6b291187467c0bd27bf18567843771457e43f996f1b997133c0fc05f9afe7545f941f55b1bd4233de8ee8ef37c2231311df6497705c2e72712506d3002a48716bae37c1e18b35399eef78e08009178ffac60ae521970a342b7820a2df7e516fd7d0a9295b33bb4b203459a7b4a9400e42f6b8d7f6091bf9c12ffb85ef7957ab536255cf2f18c5ef177edba3f325c39584de569126031ca1383e2ef5a0d773a143bb4b2fd56cdbd254a00809cf07252fce33add571a3486b410cc805dc37da545ff8092c4441c910321f441873dca3736b9a65295eced76f5018041d3fec896ff4845110080d2ad0d9f5ef01eed719d0600a7f5418680deb08961d72eceb39a5a8862ad2fa7a4b859c5ca81d22df59f5af41eed719d91c9abee6bf910f3aa3a0dbaa3e9338b2b2ff5b8ce0218da2b0e69e48df737e8cf2d3d9ba7a24ceedc51e600106a4bb714c64b2e296a52c83800baa3fe9efe95236eae6aabad6373fd1f2df98ef5b87a01a0d2721f4bc06268a20ae5b51fcd616bd1c96400a050d5dfd7a8eb5b7e2e47c54ac7e34ead9602588c4da25cf95acd6236348a7255e1689095c908804e57bfb2fcdb6e570a0074ead607db1e235404605856468000d0daea8fe84367cfb87ea950543fbae931f6d505d608dd227ebb12dd625c3f9da294ddad667e38153f4e7209b57c8b8d1587525f1b8c3f1715be0aac51ce3cb3983c93cb8adaae9d000020004944415426948a72838ccea6be361ad9a35703c0516f749b490b00c0b1776b981f4ec74f925c5425b32ab1811142371292c9e0951608217413a294261209a3d178ddc9f9463cc96546b6cf00477dfcbd76e5e9a564994d5309b99fb8733526ce9ae7a95eb5dd2013b2fc930bc94571438d728e34b3c45aac7292dc4fdcb916a32c21907b1dcabe85446792de5daa69e4f23f71e7aa4d5c31cff35a55879afcd49d5810d76a945ff4e6ef71a87a9792c5c5eacd1aecac4137335114c3e1b046a3c1797f3028238410ba918232420883327a43f8cd2184104208218441192184104208210cca0821841042086150460821f416843c8b19010084903724bce567af3dcbef1a397efcf8f09cef2d3d77797e3a9e030088877c8168baf04032198d4b0f8018f68652c9782c7ee5d1a867f278e769ef6a1a0040cc8e0d9c3d7eea6c686df9d7c17bbd11fcba11421894114208bd5991c0f2cc921f400cfb5e3f280bcbcbde6bee642d259664c0351fd5dc79e79dfae4c29c2ffaa65f590cac0456a33180fcf4983b235eb9a03c955a5d0fca8cb9c4c2a712d10d415965adba735fdbd2a2070002be458d7dd39dbbb72b15e2f2f2cab5af914c46a3d1040000e47d3e0cca08a1b7092f854608a15b91ca50a222517f540500c988a7f7c2781e988a723bd5e8adbc77893a1c9a0495dbb5acbfafbbb776e74e2eec598a44388d7dd7ae5639e4a787e6b536b6baca0900e5cecac948d0e5ca3a9dc5aea1217565d1c4c0780e98ead6b6d8cc70505058b55a67db6631389356daed669946a94eaec6322aaab31773909fbc787e311c96abcb6a9dcc60dfe8a886ab6fdf965f099aca7400fce4a5f38ba1a85257b4ad637360694a652c0500bdd6383d70cea32d6d6b32f7f79ca9dabec746bd2373ab75ed6db1e991002f57f28950567de08e3d4615c456a64f0466449979fb56c770ff580e88b3a52d3537eacf2bea6b1dae89e91c1067cb96da529cb51e21844119218410000014dbcb5db3b369419e5cf5a5f2542e17048d51cba77c514eab0d8682f28a66b9124c35cddb36d9e4435071e7b6db7caea150124a3400008220e6d319d06bb2999c6cc37499a9557f2247394ec8e4059db5baadd1998d06c2a1a5d82adbd0ac02c803ab5673b1b9958441530ca940c664bf73ebf6807bc893d56fd971a0cc981ef2c5d5d2baf2a9402406008290e3b389a4aca4c56e010085cebafb8e3b5321f7b43759ddb4757385a1bf6f0cf2623297d5599cad8d5591a03b9bb518552c00e84beb366fae0eba5cd1b53746b379416b71b634564517870bf7e0f68010ba16965e2084d0ad8a55969798839198c658ac9603b02ab35eaf861458ca8cb2ac3f27cde429cff927fbdd29996ffad8f1e3ae2067d1ac3ddb6ab12d8e9f3e7efc78cfa8cb56645f5d1c3d76ecd8a03ba036166939005669d6ab58a59c05501b8cb1c565a5e9caccd7168b359ea47a0d0b6a93dc3f7becf8f139bfdca6ce8c5c38f3f2e9418346b7b69c5c5d64d20280526356b21498b5e942e341f7c9e3c7cf5e9ad56a0c7c70faccc87432b3967419a59c05908b7468a8efaa0a6695f4c618a559a79616531aa47b14661db734b790c34d0221f46a38e1084208dd9cdecd0947f2d343f3959beb39807c72757462a6aead43cbbdf6e24276e8e278fdd676158b5f0bba85e0842337012cbd400821f4d6f85d13695db1148ce51ae3966d1daf9faa27878675e5f598921142371cec514608a19b134e618dd0fb0b7b946f02f8cd2184104208218441192184104208210ccae83d9209b9c2a96bef762fcce404fafebe35af6f29c3d30f483bf9bdaeec0767042a2179e695a3277b8773e27bf8a2b9a82b187b9dc7833e579a7fd73e712ae489c4f1f71521841006e55b29a62ef59f9c0e0140706ef499e79f3f72e4c82f7ff58bde41d7ef9e7f06ba9f3a767abe10336373a3fffec24bd7c955d9a02bfcaa4af79e33c7123971716936fb1a4139e3b97872f22dcd799b8944b26f2728073dd9b71994b391480600b2dea1ce71cf6b2ee41dee1c5f7e936b0cf85dd942eb657d5d17160b37fa5eee0c785dc77e7be4c7dffdde8f7ffad491232702e1851ffcf0e7fe6861b82aa1e757ff3eb01882acbfebc242619df397cefeea17cf1c3972a4bb7f2c5ff8a0f1f9aec92b73950df43cbb9a0357dfc0ecf26ae14ed7e8e5d24dfbeedadbae782ff701b9a82bf47a51351c70a55ff7586270e09595f8db8cd2623abc12bdf2eaa9543c9b157107821042e875e0151e37fe57687054abd5905ee95dc83cfaf023042821ccf8b9a3b3215b953c1c20c5a53a3900acacb88a6c4e19c35fec3ce68e92dd77dd65d3ca83616f78796ecc4fb7545655d49631001ef782a1d4aee15800008593a466d2b94a35c700c06c385aad591bff69acf7c5296fb66acb8176a7190020133afadbd3999cfac0bd07cc4ab9b3b28e630bd30ff097ba5e764560e79d7796ead69e2ed397552bb4009973474fac64728d3b0f3595ead7178f77bd722a9261761e3a54aa5748770dbef4f4c965d2d6dc7460c75621e2ee3c7b31ab2ab9e7c00e959cf1795da66227c7001f5f095073a95ec1c7bdaf74f76572b21d070f01807ba26f76de6bb637ecd9debc714e844c78e1e4990b19a5edf0811d6a8ef5fa9762fee5b1698fad62f38e6d15a32f3fd3b920b63637ed697554cb34900d2f8513a3172fb146c79e5647f7e973acd17160e73699aea45aa64af8e6bacf0d6545d01697efdfd9910fce759f1b5297d4efb9ad454e407a546e2d2f8c3e0b00400008d97003b445cec3f73be77b07a0aabeaa440f397f7989616a39506cb0034036b890d51417b1573d11924475e0f0fd3693f2d51b05d9b80c2140d65f65ed590157776f9f688e18efda921384b10b177455db6eabd19de9ecf627c46dfb6fafb06856235eefc2ecf89cbf65d7214568f4e294af65d7a1fa123d803076b673ca97dbbafff65236ea17b40e8b3eea71a714d6528bc6b3b2a03196a972feaed37d4999e5e0fedd06952cbaea0df93c43aec4c1ad0e00160052c185a58cbade615dcbacc185eeb31788b1d4b6b61508e3bd5d13def496bdb73b8bb4d195d9d3e786a9a1f8f6bdbb4aedb51a0523a4425ddd67626901d4e63b76b4ad2693f39747561362fbde0355453a0061fc5cd7c44aba7073e25cd7f84aaca6d60ebab5ef20155a7cfec80bbcaa74fbbe834d76d3dc60d7d07cc4d678dbee263bee521042086150be79f0b1a5b99452951aaf6ede49800200a562536bfdaf877ce5957e2f6b9282b2d7e732153b2f9f7bb9a8e3f06d6638f1d279c3811d7383bde0d8f7f8e19281b327cd599b5e41171717ad8ef2b555e7f2f54586715f7c5bb9818fcd89aa0a129a018091bea3ca9adb9fd8a71feb3d3aa2d8d1a6864b17e7fefcf71f560be19f1f3d75ff3d07dd0bd3a662a7b48ed1be57cced776db79293c7ce1bf6ed9032b710f7ccc51cd4ed2edf7dd75e8b3a9548d0f51c170e6677dffd805ac19f7aa9c778c71d2a1600e4dbf6ec8e074c77d45932abee9363dec30f3ecea6bd2f9ee93db877b7cfe7d25a9d1c0342c2bb42d54524f054d7cc63f73fa2e61851e017cfccc41cb73ffec43e57df898995d5d632e35aa32596ba463c773df8b82ce33b7ab6f7f6bd7b162ef4ac96ed7ffc893d73fdc72fba0d3b77ef8ad5e8efa82f4e792ece458a9c5cfaf953337ff291471393bd3f7ef1fca73ffa6862b2f7f272a449e19d0b5bab9a6b1f7aac3eb13c7e396694a597cfcc860e3ffc447261f8e2846f5b79b67b3470f8e127203affdccbf3b52d6fe19b653515aad87c345b6a5030ee9590c36210afe9004d44e72fbe34ab53ea77dfb9dfa653bec9356b8bab6fbb6da7d6d966957bffbd73f6c107ee35ab64617f60ebfec33a0d3dfbf229e3be8353977a328edb9f7862e7911ffeab61ffa34f3cb1a3f7e55331cb41dfe553f29a5d4fec57f79ee833b43b2727bd65bbf59eb9be31b1fdd1fd3501f7ac4aad383538b7ffdec7547cf8e5de333b76edf34c5ef2706d8fddbf9d46e7210cb9e8e2e0eccab6db7601880020a43cdd838b871e7a824d2e1e39da55d104b3c3ddc4b9fd897dda739d7d3a75ebdc44e4eec79ee0f85c96d219cf8c4d5b3671696cdbc187e48189d184c1244ffdea58ffc31f7db84c2d9c7ce9a4e5d0e1e0780f54743cb157d777b24fa7da1e9eeae2cbb63fb1d73279ea672e28915a4063addcb96f97a66c5ba996cc0e77450dad4f3c51e21ae93937cdecac2bbdc97611b95c8ee779dc5522f4dea39462236050461f08f92ccb6de82fa52c27cfa6aef9058d8ff7cfb19e5f0f10087ad2753bb7e6f4c55b2acd02cfd71569a702c94d6a0fb5b56ce80c066d75b3af6f2467df357ed95fb5b96562090032d9a4a9b148cdf37ce3b62d5ddd3e710b346f6be788c8cb8ccd06cd6a7ae3e45689f1f3b3643973914068255dd5b145cd5d0973456596dededfe66fbbd769be72a7b9447beea51757d2d9b0006dbca86219002a8882200abc200666bc4d6dad2c08a02a726a1763c9ab27d25a5d0cedded7c13122cf8b0000a5ceed753681e76d76c3f46a1ad6837270c6d7d0da2203019456a74e134b64a1b4727b5d89c0f3cef6b6d963cbd93d1a4114794128ece5366ddbca816029b5b46eaf927e18f1e54121ed0a453e13eb9b8eecd855ebb9d4e99ef11ff12d01647342757192d6b736b294077d455de5d8c6b7ba3c7af6c892f4c1f97842bee93adf2a536ed62d07a306abb01257d7eb93916b96d875c7137b1902d9c8b3aff4ec3d70d0fce606aaa554142915055ea4b4a8aecea06004513458b5174ebcb2104b4579de99137465ce2abb99e7d9eadd5b2d25669e6775766d26179fe89f4a59a26304568369435d53119948248c8bd986465d289532a5b8aafc8adf59d7a46444ca196bace6d5482aaf313597db445e000a422a78f4a4fb8e071e5490b5d4ef9ff53aeb1be4c083a6acaeca04909ee89f4a9856c7198886d2daea46b33e7eaafbf49e9d3b556bbb2bc200e5059e08bc488102addcb6ad58c5f294d55b99643a3ed13f15374626fa20164aab9dce9857d1b6c5c0f3bcbdb62d9cb8d20282280a022f8a622c206b68b1f23c5fded0327f6a91af2bbdc9768b1cc7e1f07008bd2f44514c2693d80e1894d1fbcf5aa63e134cd69955d2cd4c7089b3d73110d990a4d3008cbda663ef437ba5442df0fc322793cad4b5d5cdb4e7f2a4121a5bd4af8e545cb191f545fc4981d32ba5c20942c5b5f058f8a1d0d129d2abcade496955c79e87f6cad75f716376d794541fbebf7efcdcb35de3adfbf75433000099e3bf38b1edb1fbf6aae4bdfd9dd7fba01b5ffd550ff0f92c65443ecb8b1b5e44c1c9082100400100886f6ee4fce8bcb1acdec9025cb31e2af5c78b001bcb140a1f4d7a1440a46b3f6cfc2c1343176a5b77285902a0df7fcf8e8632a394c6dc7d7dfcda0b51faaa6780bd75f7ed5b1d000090eb7bf9f4f5bfd6dabab9b3633361b6b2be8ef54e5c27f28a022f02b0ba4d15e5b96416546a0000993c13bb52352e67d5af3382a74229ed04b2ddcf9c68b8f7ee1d7ae5a54b5d1b3fa0b8febe292500a4c8be69db03fb550c00802808d371dbcad4524573a526e65f9c70194bab99d5c486b6a5048093b30cbbf60ebcdec8a60ac39237dcecb0148e07d697975e9358cb5aef7ae0807afd2568f94167c27ffcb72f34efb95b5abeb2a6a4f7a523cae2f27dbbca20bda0506cdc8f116b69cba1070e68d69e9eec1d96d6ba713b7dd516051428052040affe8a104208ddeaf062be9b84a27cab66b66bd0b50a0099e0dc6f0612b7551b95d6b2e0944ba0105b1e3c3f1801d0aa75bef1c5559ee71389b8206e080554c169330922d729af9e85b6bab9f2e4532f989b0a05be4a993238ed8901c0f0d95e4b838d019838d317cd099009cd6572268d62c3b3b53a83ffb23b7c9d570488c722399eaf6fdb9b4b7ad6aefae333a251af61496471647078c34572322eeb8d8800b6fad24be72f6479cac757a657570d5a4e9667c2b13400df77f24c222516d797f6f5f6a75e6328075b75db030f3db4b7a3b1acbe74f0c2c50c4ff984773a1c366815b0e2ee9b58a6007383c3fad67256c6657de137394645627922c6d596199500606f2e19bd70299ecef37c261ecf9435974e8f5dce0a908dcc2ff9def2e96fcaa8cdbad4c5b9a0cdacbbdee382cfe5110084a47f74c1a7d2adb7bcbad41c1cb8bc120780e5f1de88a259fb8647c4428ed76af40a597465f2c285b9d75e4e6d2a8e0f4fadf03c9f4a257279a1c2ac9888448b7446bb8d1bf6c5ad4aadd9593c3e3694c889422a38e1f19acc9a571d1e54d76ddab63b3979d9175b3b1b60abb5b9a627d23ce4a28b0b2b690095b9243534b1bcf612c97838956535458d15c5d1f4daa578a9e46a46a071ffd2b8db7fcd3b54994bd343e34bebef90b3d8b3d3ee1000accc8d27b31b1a222da49219004e63c98d4c79006076f8a2dc61c4ce0384104205ec57bffa556c851b1a1f5f5eca9babcc9af286b6c8c4c9de8b174ef4057effe30f285902328326ef3975a63f4c2cfb76d4e9b40647754b70acf3ecc5cbd1bcd25162615956a7d1b184008032ba1035d5d90d57aa2008cbea0d3a19a7b794992b2c1686212ccbea4c06bbb33934de75f6c298a9e9f64d763d10a6b6c13ed0736acc9dbcebd05e958c302cabd799e472d6a0333aaa5bc2135d672f8c45b30a7ba985912e2b238455e934d9606757cff84c64cf9d7bd5320600805159149953dd67a28c6dc7f67a9d4627939ea030b1d1cbe7a70315550d8dc5b2935da72602e2bdb7ef55c8487149d1f0e9eec1b189fa3d87ca8acc3aadb9c1263f75ead4e5f1797d69b95ec569353a1943082132a5cea85a3b0c209cbeb6487eaaab6bdcc7df73c75ea58c04736913933cd777415eb6a5a3c60a9c51169fe89ff4973bec4ab5dea8e618b9c6a09203218c5c6d50c981308c5c65547132a536175b999e9e9c9a9c5c8e241d954d0d25b2ee535d63e36e4b8553afb5142bb3dda74e7b328aad5b9bb42acd5a610b611886336815eb2dcdea4c4686006118b55eabe4644008cb2a4c46b559afd5975559351c21ac42ab532bb995f18b9746c726272713b2229b2ad975b2676239b9ff8e3d0645a1ee8238eaeb97cf9fe91f19e5d5d57b3a9c84026118955ea75414ca1758ad4ea7e0648c5c655071c028ad5aa1a7ab27c81b76ee6cd5a9759c9cd1a875729610e6553f9455d46716fb7bfa8783717094dbe42a953caf2a2933b22a9d22932f7294c8396d8d4d7da6fbe4d872fa8e0307b41c210ca356eb389600218c4c6550a94acbf40b2b51ab594f00885c6fd3893d27bb1713646bc7268d4a53e2a8cb2f5fe8ee1b0ac4a8c369f75c3a7de6c230afa9dcda5cc9328c8a494fbbf9bbefbd73536ba367fc2c63a9d2a9d5061507002ccb6ab4a6d2f23ade73b1bb6f2810151d15b6e2b20affc8f9bea11173c36de525660d27975ac064d28e0e9c8e32c696a63671e5d2a9be21b6ac7d5783fd26eb53cee5724aa512670543e87d41294da7d31cc71142b0356e503885f50d2f31d73dccb6efaed417be53ef48f7d988f6a1bd5b646fe58fe3b9735deddb0e28e5b7e82ff3d0587f654d87518979e2832e1f9c7c652c75f7812db25cf4d8a9811d070e1a39fc0bf49a7fa4710a6b84de473885350665f43e8b7ba6baa76387f76d5beb795dfb5609cb104178f363c466fb8e756a5a76b73a0cb76c4bfa432b7a4389528691eb83bfd3227ed7d0b92117a82d77ecdba553e09f1f0cca0861504618941142086150460883327a0fe137871042e877954a679f9e4f26056c09841006657423ca045de1f407e4bd78bdaefcbb3379b0d7b794e16fbccbb17cfea5f49519a8814ff8e702d177f62584a47fce1f15928139ffea3bb85acff26c32f7be4d041d0a2ec7dffd69a8c3a1e5d8865711d2e1396fe826d825fcecbc4ff9ac5bf9dcc2e7c7626f2fe0a6d2e93f39bea87cd6bdeb74c09fcc3e339f4860504608615046376a508ebc85329bccf2c0c9a900402612c9bef3b9d0f70e07e5783c268dd1bc12f4645f2f28bf2b1fe777d17feee5504af0073d29fe4a8b8829bf2b107fa78372c0158c0a29bf2b107b278f4c3c7389fcbb7d64928b44ae7f8c170a7b12ef5c4c4fa5e2d9ebc5ee70d8b3318e8be9f0bc3ffce6dfe407d9d79a6da1bbac734bb193d1cca9a9e0a7fb029fe85a3917cf7ebfd773ffc925cbb3eedf3be76ffccd82f3d8ca484ab83817ad7adead7c7ee1ebb36b13282c06528bacc2f3a1ca533b4c5a0642e9ec7d2f2f54bebc3291112ecd47ab9f772b9f5ff82fb3895f5ff27f6a30de753950f5e2ca842ff3c889e593def89f1e5f543eebfefae5cce98980f55977c5b195f164fedf2eac289f756febf2af24335fe9f1fef979df1706a3594008a1f70d0e0f77e34b07970281eeaeaec5d56c995678e995cec5d56c455909436079f242674f5f20c53a4a2d4c36e84a6b9d66556c797229a3346b988b9d47cf0dce98cb9d5aae30ac58e6ec8b2f0d8c8e31a672ab4e2153aae64e3ef3c2f9c9544ea8282b49ac4cbddcd9ed4f308e522b4332bd478f0d8c8e1193c3aa5d1fbe978f9f7ce995c1d11993a352ab603dbe25cfdc58cfd981408238caac0c81b867fa95ceee85488663b34536a77cfd306d657ab0b3bbd79f007b5911930db97ca173a7bb4746178b9de56a39bbe25bf2cc8ff59c1d584d2beda5260299be975e3e3f320a067b914e0100f195995f3ef3cc8c6b5953e2cc24fc31ffe2d9de017f9c3aca8a1802de99a113a77a7d71ea28338dbcfcf473e72e27327cb9bd746d98363ed1fdf22b1747a6f565157aa52c1cf12ecf5d3e35e4ae2c2fcb06e65f39716a252a3aecc5572e952c2c5f5aae57ca01606eb8bbebec455f4cb4db8b69d2f7caf11323a3b3bad272bd920cf7bc72f6e2a4aeb45caf944716274f74f64cfba2e5767bc23355f89993337a9d391cf644fd9ededef3a184dc6e37d3a47f21a5ac2ad227fcf3c74f742d47047b59f1860913616ae07877df504266b65bb4905d75f90203bd3d4323d35a9bc3a0921716f3bb464f9c3ce359e51d761ba4020b29458526b790545415af5db519082c2fbb27bb4ff707e3acc36e6100b2abcb274e9c187105ed768742c60402cbcbeea9eed37dc118eb70586832e04d8134d876c0e76295c680774e5f54a565d3673b3b078626d44576a39a8bae7a97dd53a72e4c97d9ed4a39030051cfcc89e3a7a656c26576473aee734f8df49c1d608c65a9c54b9da70718639955a70421d5db7962606842555426adc4e39eeeba30b13a7de937e70663c98cbd48b7ec0f5cea3b3d383c6f28b5eb94f250c8130ef8cef5f6794259bba344462017f3769e786578ce5f5ae650ca99507079d93dd37dfa9c2794b13b4a650452a1c5ce139deec0dacd2b2939b4f4c2b3bf1c9e59e24ca5451ae8ebea3c3f38a1b09498348a70d8130ef8cff5f6f922e0282f8274d81d836a9b251d5e3a79fcc4bc3f6d2f2f9e3dfde253a706a2f154a9a39cfb20f53fbccef070239e6454a13c582673ad24b344f6fc62926a15f9543e0d9c2a9de5adfaef38d97f5fe25fd8659d5d49eab4ec93d3b13fd962fbc772e60753e9dbcbb43a199854dc6a32f99981a8a8e05a94e2735efefb3b2d1e6f52a9627f3613fb54bbed9b15cc0f2632f73ab833c11427889a3ccd2bf32b69763b273e95622fdc6d3f6c93515e54a865ab916cb15176c19b692cd1fe8f665d3498fc7fbdc266bdbccf9fbdb3446be470478f6e48383c1c0665f4019074ffa873e1138f3fa00f4d3c79defbb1c71ed287265d5064d30a898c71e79e0e6560749e16d96451575a5b222e5c5cca6daaab1839f79265f3e13d1d35e7bb064acaed329600c0dcf98b451d7b776ddbac6578213a3bb2aadfd75c942b69bfb3bd9a8fbbcf4cafde7bf7dd86f4d25848969b9fb06cddbb7bdb662d2330b2b5bc11f2c76a376f6ddf5475f1d4e9e2caaaf1ae2311cbb6070fee82c5c115b9d544973b87a3f7df7f77a52e75e6c27c4363d37a50ce26d2ba1d7b3a3491c9b9bcc1c606ffff17461f7efcc16df59657bafa2a9cce89eedf044d5b1e3ab42bbf74615630e4e7260d6d3bf76c6fd7b16b2fadd417c954b073efdd253a99fbfca9b0a1fda13b7713cfc8323115eb483ca5ddb1a7431b9d9ec918b6d65b7345ad776dad25eb33b04582b1aa96f6f6cd35233da72d155573173bc3aa96fbf6b692e4f2d909ff5d771fb608be9115b017690acb3b9bdbb76cae19e9396daea81aef3b9a30b61f3eb0a3babc588c2f3dd3357ecf3df7b56f6ad22bd9f18113cada7dfb77348c9cb96028354c0ef96e7ff0ee06870d98e4e845effacf30353ea02baa0a8d9e0d9ada3f747027f58f0c4664e5eacc424a59a14a9c1df71ebaeb9e22080e2ff18e62adf41e262f1dcfdbb61fdad39159383f97d59671d19fbd70e9ee0f3db8bdadf2c2a99ea2aa9af5a0968bc555b7edd96e4c2f4ec564c55cf2daa03c7deed83c53f7c8e17d6cf0f2e53857a6489cbc347ffba17bdaca75a7fa068acbcadde75f9927b58fdcb34f161ebf1c9397b0e1d9a4accca0018045d7a0c2e45cf5cde98baa8444d25ed7b2b5bd6eb2f78cd651e519ed5912ab1fb8bd7d7d1491f4c8c0e2defb0f375594028189fe578286cd0fdeb1b5ffe99fa49cbbee3fb075aeffacc65e9d8bc5cb6a5bb66ea99bea3dadb6577bc74ebb79e783776cab2c33e4ccb5776f6f95657dbf7ca1ffc0fd0fee68293bdb73d6ec70ae4e9c9f179c8fddb75f1377cfc648b1327deac2d4de83f76eaa349eeeebb7945678064f8ee7ca1fbbef8036b1381da53665a677747eff9df7d915894b7389f2922bc3bc701aa35acb34751caa2e52c756e3c5cea66d5beb67fbce28cbaa63530373a4fa89c37b9589b9dea56c9581ba6350a9177b4766f7de79bf4395bc349decd8549933390fefd824271facca9f370cca9b15f96fcd660e56a84603993b2a8cdf68316c3693114fca6ad16ed6f003abe4c335aaf38bc9328b722698ad2dd65492fc6ffdc283155a9d0c22f15c4ba9fe0f4bc8ff379a6837ca075785c79ceac1e56489453917ca5617699c4cfe373ee1c315baae859847e01e2f953f359fd158750754c24b31fad10a552e96fd9ba1c84ebb2614c93a8b347f5eafd724b25f1c8bd773cc60967cbba3e8d30e8556c3e2a5880883327abfe0fee766b075fb5646148a2b8adbb4258c281457145d0e65014c5c6ee6b9a74e0899a0664b535b09f031cf9191c5473e740f03b1f1fe39d6f3eb0102414fba6ee7d632b902008a1de6de9edfe476de576952660100a8200a8228f282b8383cbae84a3ce77503640422d4efb4f49ffe4d6ec7bd4ef395094a2c25badea3bff166726181b40b2294556faf291278dee630ce46d3ead995e6f62d44e46586ea5ac7e486b7afe0f8d9e79eea14b221555bcd262d34eedcae658107438d46154e644859d5f69a6281e7abb66c9e3db654b7d57cfedc8bf9edf7558bf4e80000200049444154545954eb7b224110292ff0a28c8152e7f63a9bc0f336bb717a3505a5068530f7fc539d7c36ac6caddc6c100451e0370c9c672ad6f51f3bba9cca4404dac48b399db5a5ca2af0c2f2e5cbeed9e00bbe25806c5eacd9da542c2b2cfff2d1e5646655a08df91c4b4d9b6aac3ccf03407429bc63778782a53ccf0324c7fba77977629840c49f2e696d316943274f9fdb7b5b8782d16cf879fd7dd82ab65458789eaf686b9939b698b7b000b03239e19ef61ef12d0364737cd5d6961239004036155137b51b789eaf6edbb4d8ed13cc8a9adb3a4c1ce1a9426b867456d0a8a553049c8a711f79ea643eb72a6bb0b668aeb7e9143bb63bed22cf3b5a9aa75e72fb724c757d938211a9c2546d36aeaea649b1a3a3d22ef2bcbdb979f2a5f9fc76e575b74083457bf1c471772c19e3f98aac90d7989a2a6c225fa857559875b1ae9e337b76ec50c940535a516eb7f23c53bd6b8ba1d4caf38cceae4fe7f8128bf652e709573411e3f38e1ccf6b8c4d8e1291e741100491e105012838b76d2b52313c686a6d96a03f46aca51df60a91e74dc586114f7a75295351d3a86245ca1a6a8bad915012ac25dbcb2a459e371619863d99c0bc7b7e7236e2f703e4d2197bc7e60aeeffb077df61729cf79de07f95ababbb3a4fa7c97906c060301880088344304a2425ad2dead6b6f4e8ce679dedbb676f7ddef5f3f8d995d6a75defddeee35bdb67ef9d9f7538cbb6e4a04089a41820126166004cce39e79eee9eceb1aa2bdd1f33482408318104c0dfe70f72baebadd06f15aabef5f6db6fddba9ee99aaeab9aaaebb4e8308f5db9bc9cc86494a25752c1e93becf7abaaeaad6fe4de5c942bac00105d5d5a9e5d8e477600947cc1dfde50a319baaa3d645d74bf3d1dfef62cf13bcd8ea7028223a7fcca50e87f06f28767dc7729cab1bf5327fee240684327fe4d8b2bc003006c67724f5d0a2700bed1e4f00a7714fed7b5e22f0e86bea113bfdbe2ac7652074ce41b3475c4cffdde42ee9f97b2f516ba6a31ea7d79e3df37b94b39f27f1b4b7d9e2341d7fe6577ec1fd2fa174b6de76a4dd763d1d257d7dabce62b1d6e3cc923843028a30f6ff7c9d0c66d7f18406c8ff42c52655f7af1452d3cda99200160239c3de435b6125295932cad3d72ea0ba776dbfb3475af57afc55ff76c59d354cf0f3bd5d6c7aaee580501b6f3cf3f59eb1200c0d0754dd79f7dbe71bae7479deac1d327ab490000e9ad7f78fbe88bcf9de699ebfd9700806329d8ebb260000010c4def68161c0ad56b7f044ff9c52f2a5175fd47726ae444900d06f651720f63e0e0080a11b0410166fcd33cf35ccf4fdf8f2ccbeb3a76adfd150c6b2f4ee8dfbee2a23938333b2f38b2fbea847a7ae44a877d59c74e99f2eb6feb3cf9d14d8fec1cb00c031344112004010b6b3cf9e6cf0dbf622d45eb6962f7fffed962f3e7bd2cc0d0c5e06d0e4c2adccad1455fd56f768c25bd1f6d80ba7771f60a26baae179ba36157ce3e5578e3cf14ce3b1a76b53c1375f7ea5fd89676e353cec7d460003f65a1e08ebe9678e369539eedc06c2d8ad11028c1b15c97177f9871c9d1b9d4c985e78f145233e7f3948bd6783c76d557deb60daab6d30c0b851c020e08e161145bad92557eefed195fa679f7acc661a1bb902000c43ddd98449d61d7da22a137eebb5970f9c7afae62ed68d5b6b07285e7da9b3e6e9278fda4de3a357000886a628ea9deda03adcdc3c200960188abad5258500206edf7e1280a129f2b63e2b04613971feb90375de3babf49d8db0d77f72b1e28927da1dc2d478e7ad0ddcfb9fb1f76845301f7ffc732d0dfebd45a5371ebaf3c62f1ff5fef2d15b2f3bea1dabf58ebd172777ef42f97f380300f087e7cb00004ab885aa3b865a3f50eeda2e77dd7cf90fe7ad00f07fed16066efeb6c2bf7bbaec77010060f08b7b5f8c7ce7e9f2efec4d34fffe8d625f2f17fffac6df7ff478e91fe1c91d21f469c31ff33db252855c20e0d655a9f762a75cd401a0babee1f0c9f36b3d7d99a2c92c86673612aaaa66b319ed46b648a71345556d3a785aca6d69bbef319c148ae90015ad81a1eb837959515529939532e94451551b0f9e92b3374aaa92e1b09b4922b13e3e3a1e7cf7f654b404a647a7141da4d8c2d6ce1ddbe92b2dd155a9ff7267bea001c05c4f5f5256418a2de565a7c813db2b7d734103607178cc76b0229f4ec8aada70a043cd076fe5d28c9c2f2aef5e695acaf9026e5d9506ae74e60a0ad0ac1c4edc367e81acd9440b452637a78647ef083aa5fbfce38323594951552993b9f123484dd2aca24853c9ada9e1d175008eb3a447e643bb134b6a7d037d033979b74dd16c7325269723aaaae67219259789178a94d5df14b0a5523b7b7f97da9337b36678bd6f66c300581d9f30ef2fdd8dbd8126dfd4c848ba5054553993b9994a39de9a9d5edd0180d9c10173b5ebbd227056ca97044a0c551ee9ee4a6794bb178a6cf64fadeb006b13937c53c057e59b9a1ccb15752db733178a381c02b1b3d53fb5a603ac4f4ef14d018bdd9d5ad92aea90db99ef1dd8ba512d45c522583926b53d3f38b47cb7e4998fe765cae2692a2f4916b277df12ada8984d369e498716060797eebc9d678ae1840a0000eb8343db992214530b3b71b7e79dcfc771947be666c633b2aee563339b41a7dbf28e0225d5dec599b1446eaf4ab57c6c6a2d7cdb7d9396cf49a0158b26de6e623391a5c1fe79008078b87f7c590708ce4d53b5bedd466877b577796e3c7e635140314a24a9e2790721841e2dd847f9e147902463b6f13410c4ed7fd43554cd775d1e9e5e6b3bff844db4da4c0cc9986d3c575eca2f85e4d6c347a35397ae0f4fa714becce7daed3da52482973aafce2ca64e3f754aa0498ab7da6d1e223139b818abaaded7e8312e5dee9a9e5df754d7b0f9d0e52b576716931d4f9d12769bfd4893932d5ce9ba9ea67cc78ed68b82c8d09428881449100449f1a2c3e6f130d92b5dd7c3aad8de566fe6cdbb2d7deeb2b2e5eb5d43532b07ce9c77da6d36225db47bd6c7fba7d6b24f9cef10683252945c44a6b76f982b6f6faf72a9a9d0952bddd38b89934f74986f3ca4dbeb32f55eed56cc3e8fd564318b3449100441f3626d5dd54a6ff7e0e4cafe538fbb1c769bb5844ecff6cd47ca027e9a248034b9f96267d7b504941c7bac51144496a1cc82489304c1daeb3cd4952b57a666d65d1555e26e932d69729994ceceab09c37dfc58932888a5958dd25aefd581c9485a2fabacd9e7e3bbbb3aa76656445f595dfdfeecf2b5ab0393893c5d56e55febbfd2333249381b5a9bcb570676ffae6fadf75324258a0eabd76b55c3ddd70648dfc1c7eabd0441509ce8b095d479d9aece2b53336bcef22a91df6b36f694d51756fbba07264cd5c78f56bb0d82241993cdc402004951168b83a1080070f8fd5bc33dfd138b0dc74f7bdd0ebbc0519cc521f0146fb10b7bbfbf8c17f3365aeeef1d244af61f6b0c108ca5ce2b5cebba3cb52d9d3f7bd6cc12713967678afdbd8350b2ef58630048b38d4e76765e0f495c4747ab68b1b13465b17a0356b87aa53baa88c74fb6580491a3494110d99b4db934b53edc7d7d6842b354b53557900461164496220892bcf587c51db01157af744564cbf193074593c8b1a4c924b214018cc8cb6b3d13eb7eb745b539e20ba3630bb113674e3b788a2049c16465298220089a333b6cae3a9f78bdfbd2d456eeec99732247beab40496d40ece9ba3831bd2afacab5c46681104aec7b79da61b74c0d5e4dd1de964af1dae5ce504138ded16a1144abdbe9a2335dddbd456b7dc7810a82202856d85d545fd7c5f1e9558bb7cc6e770acae6f5b1156fa08c7b909eef788f3eca08a1fb0dfb283f0a210b9fcc871e2ca9852b3bce7375b7becf1d9eecabab3f6ac52715df07d3b3fd25e5ed2566eabd0b0cb8cb0f7bdebbc0272abb71658b38d758f6712d2f9349329c8d671fd90b183e990fa14f173e99ef1180674ff480e15d35eedb7f1604a5be8a07aa89ee51e2f1940bf71ccccce329131e9cd1ce385b4dc9c7b931a268c763002184d03de02d0e7ac070ce0afb1d432b78dd7e8ec2a07c5fb89d7e81213e4a814f1463ad705a70af7d5c667a2e5e78fbed6bfde3d20719ab23150e6e86123fb79826c52ebd75617a230e901f1b5b793f4bcee5721f68fb154529168bf72820e7b3a9cc077e0a4c21165bdedcfcd01bb93e36960100d0e3a19852ccf576fdecedb7dfbe70b1339e7fffb5ac8ef4bcbd1e91016063626872337a734222b1b1bebefbc0203d1e8aa61291d5f51d3c9211baafb08f3242083db2eed147b9a891070e1fae2af526236b2a2de6135b1a414d0cf56c6768a7482c8c0c4e6f843291e0f4f296d3e30aaf2c4f8d8fe418bb48a94560201fbede3328b17611327dd77b3676b21e9f9726211359bdde3328b1626679763da337d4d75a78637d71756d69266e083e2b3339d43fb31eb68a36599189622125298626c93209c5e8e5b72ee75987598b5def192c30b6129b0000f954b0e76a5fd2607892e67936150a29863474fdfa5a24990e2d8fce6d797c254be30333ab2197d79fdc5e191f1ada29282b93a331dd542272aaaa2c4d0e8f4fcfa57593454f5cbb3e90a7ad1e9b0000e9edf9eea139abd315dd5c9b1e1b8e69269f951a1dec995b8c98bcce12ab1574797a78606a75db6eb78562092b47ac6eac0e5debc93236ab91b8767d20478922579c1b1a9d5cd9b49704d4d85277ef443aaff86b2a39300a59a92045197b53fba1e63287692b16a50986e7d974280402bb30d23fb51c747803d99de0d4c458b6c03a5ca25ac865f22acf5399604ab3995c3cac46a412a74049f16bd7fa33a4c5ca4bd383936b9188c35b6a48059236a422c1ea896bd7fad384c5eb30e301ffa0c13eca1894d1c3444d6f858b2691a3dee7fbb748d1d53461bfed916f1f5a28b4ca09766c2046e8530fca5b3343a373cbd1845c51e1991aeacd733e27a3aeadade7b345b39d21057fb9554b1825ad65b6a8940eaf27db4e9d9037e60aac8532e4e19e118d63b7971678ab3925936ded6d020da024a7d6f2c74e1ccaafcf9b4b9bfc95fe805d0450b6d663ada74e68c1cd8492e4ddcd4d25f47a349297293dbeb0258ba29621ad2eb340e68b626b9d756a357becc46169634eb3fb05223b37176b3d79b4d4c9844259bbdd125e5a5218259a21dada8f984ce071d51085757036377b99959d443199693a7a3832b7d870f20c19da90794a2a50754d356abee0f53907ba7a55960d2dcd3bab9b2d0c6c2ccdc66339b0f3c9cd78eba993c6f646424f73cefdf53e362d11250eebcefad4e0e436594c475453059fed9b5aafaeafd30df15093abebedeb2acb8697e7299b68d0ded61a7724b1bd1d87e3275a0ba1a8adbc94036d6b698bb352345f62e149d22846f2395d22763f425a8d8f8e6f516a369cd78944a4e27087958a26653eb7bd42bb4b4db49e8865886256e14d8c4153647e6d5b3e7aa25ddb9a4b52268badbcb5d6b1b21d511259de6692256962605866d89de5596bf57e91c1431e8332fa98611fe5cf5250ce044394c3ffae53a996098628bbff1ea75829b69a20ab9c7b0ff8c864d28220521f2aed86c3ab56f7ad8757bfdbb5eb175ada9fc29fee2174bf59fdb5e7abaa1800259b60689e21896878a5eed8e3e9850560793b6b0259f4d805860516748a64a9db6ea503b5fb9b5aeb774f1955bee4d8604f43fb092b01ba22bfbb8701273a4d1425884256cf289a0a14006377ebd135aaaa14d62636eca70200009aa26870f72500403e93d774399e2ed4b7b69eb4a5c686ae39ca021468aca1299a0a0c000067739a28d2662b31b3a4269a77bb656ccfcff2be4ab795f25735371c6adc1ddd4fcf4562acf7e463a6a0a4e8a2d344918268cec21dfd3418ce7cb8e36c4dc00a00e1a5290b6f02005d5134005f65d3eea262b1f5026da6e9ddb1ccdf393c204db3734b4bbef686e0da0a23faf3899ca617e3e9bcdbef397cf26c6d990d405d5d0d3939d00977687145e7c5d2bd01694887df3a37365bdf7a502d48ef5527bbbc150d75879a393ca011ba3fb045f951b0353b74a9bb6f274f95fb5d841c5d0dc7ae75754e4d2d392baa2c2c05a00e5d7aa36f748a33738ae0f75b6e066275f8d21bbda353ecdefb6c7a6bee6797ba2359b2ccef2609a9e7f5370727a74847b99bceac16cc554e5326383fbdb4f6e69baf2eaf6d597cd576133dd5f3c6b5c149d9e4f5d94d20c556c3b19eeecec9a90d6f75b989be755dcd0417debad4b59e90584a2ef15631a43a72e5cdde91057b5905c4a34596e3680ad4cce25ac6e9b4d86c0e9a241646af74f58cec64a13450920b2dbc75a92b9481d2400949487d6ffe6c6062126ca525225e1d10ba977bb428a7b79786c6a6b7a359ce44f96bf773c52870e2c2c8a43510703bac1ccdd23445b31cc7d2246d6cafadaf2d2e71e5cde50e13cd892eabda77b53f92055e0df78eccb28ef2ca8083a47891caf5f58cd9aaf707ac1cc930dcde681b94c5c21300f6125f786e7439a6ee6faea3595a348b568b451045ab9907608cccfa7c946af2337d3d2362d5be521b0f046ba2b27d3d8305c65dc2c67b87162c5eaf498df60dcf30b6f2fa72d7d2fc94abac21b536b1b453dcbfaf8121099ee709204c1681046078136d14d73656b73636d386adae8cebefeedb4eeb7e9f9362b9fcd6f262b05051572ad09cc56202009bd3b5393bb81e51ab1a2b0486e12dd6e8d2c4c8f4322b0886c9d658e989c4730e32311b329aaaccfdddbdc194e6f7bb3886e7789a6004179db9da3b650d9497b86c14e8f170c25d55236ae1aeaeeb11b2e4d8fe5aaa18ee199c35b9bd5535d5a995a9e1e965ce566235b13ccf111497da98e57c8d76d36e8d91768795b3bb5c024f31824784be6b437c7973758910595e98df4e3436efe729c2240a0c63f6b8e981ae9ead84eab04234a988661e0ffb0707b6283f027078b8478014dc2c96573943c397429e232dfcfa1ffe60e9377fed7991c8bdf146cfb9679e18ebfa89a7ed851a1737f8f29fca07bf76ac7cefe75083575ef61c7aaec6cd0fbdfc5f0b2d5f3d628f5d998a3fd97134b938b4a895bb528b7c635bb9c394cf661969ad335672dc161d58954e1d6d1b9de86dde774ca0f4f1de37b8eab3cd01eb54cf1bc5d2632de6d01fff60fe1bbffa824d4fbc7471f4e927cff21401006a66f9c240e2f34f1ed3e20b3fba38f2c2177f6179f84db1e17cad9bbc7261a0f5a0736c5bec381848cef72df30dd2567fcbe1a716075e87d28ec7ea4bc0d0a5e45ae764e47cc7b1f4f2e89cecf5e6d7a8ea962ab7399fcd323c8fe71e84ee7191fe988687cb8f8d855b5babb14adfa7d8c6e4e89a7eeed4410a0040df5e59124aeb6dec7b1557174706d615d7f9c71ab0ea1e31383cdc2300bb5e3c0278565e78e9071775296a66f7b7f8607fc76326c25041e0acaaa2a50b396fc046a9aa5abfefe0dcad1d9e29e43c013badaa6addbe96391a36c62737d6733f0ead02481a69d43fe6ecbffad3e2f1cf573a7890404d075f99d8fcd2179e210c4d3374555575b228e51c8d2582aaaa4ded6d57bac27a1b349f386a260d95b4d7085c3c2707ac3c006c4e6cef3bd446e82a6dafa92b9b03c8cef42f119b85610262db85aaa307f9ec4841f1afe689e62adbc81600a80ce96eaa72a8aa0a005b9353eb4bc99f84d6016415e4c693ce81ded795a3cf56bb4cb8ef11fa440898923f1057f98127ca6fbe22fdd5f5f7be10d7b59da8c35a43088332ba1fb6477a16a9b25f78f145353cda99200180e3f63a5718000004180618000418a0df361f79dbfbbb4f82b63ff1fc53354e01000c5dd774fdd9b2a6a99e1f75aa074fef838d70f6900fb612d26df194306e3cfbfae61f375760e8b70f3d4880b15b606f9581eaf6135f38b5fb9c074d55499b359e0c2a929ddf1bb257930b86716b6efbe39f3f5be7116f6ed833cf35ccf4fdf8f2ccbeb3a76af1261d21841042f709c68c875eb2900b949668aad47bf18a5c7cf74f3e2c6631b2119701606d7e4ed56eee718bc5bab3119700606d614ed589ca4381816b4305595155299395d2e94451559b0e9e92b25b3a40757dc3e1138f6ff40ea4650d52525ed500789a8fce07530030ded3e36af49200b3d7fa52450da4d8b2547498f73a10571c0c4c8f4c293a48b185ad1d00b0586c3b336b715555b3d98ca61ba5f5eee18b03b686d21b1bc733a6f8d8d2def8a0e52dfe91bee19cb4b76199744256d586031d6a3e28a5b7a73713780c20841042e87ec03eca0fff2e248a3d6f5c8c14a98e33877260ab3065d70b960a3b07001b5b2b3e7f154b2bbdaf5f0c1795f613c718b3cb23ec7d8d4090c5de372e8665e5f08963acd9e5111825b1f6f6f55145e34e3cf98429bdd63538a5ead6739f3b63d593eb05a1c2ceebb9f04c846cf2e86f770d541f3ed7e8b3cdf6bd311792aadbce1d2cb71aa9f9ae2d525a9f9308c7934f9c106e3d4e8f486ecc5e1b9913fcd507eabd76ab87a5a9d9be37e6b6255759f3f1b67a8a20e666c7ab6af7730cb9155c29f15671343dd7ffe6ec76c159da78e270939edab8747d5856b963e71fb7e4b7bafb278aba78e699d35635369fe29b02363c0c107a377c8435429f2eeca38c4119a1dba4e6afecb8cfd539b12610c2a08c10c2a0fc08a08ddbfa8222f491f0ae6a97098f28841e9ca08c9580d0a7fecf701756c5c31a94b10ad0c7867556b0580b083d588ac5e2ee00320821bc59451894114208dd7603cbb2d8f502a14f85aeebd96c16ebe1a1869d66104208218410c2a08c104208218410066584104208218430282384104208218441192184104208210cca08218410420861504608218410420883324208a14f8d76752dfdfb33a9ef6ce4b5f73b8b3eb59d4f29b0134fffd2a57044f9202b2b6a7fbb90fac3f94c44d6dffdfeebdb12ee0f84d00388fae637bf89b58010428f244551789e27c977b789e86f4c447f7bb5d864a3ae2ca57b65a2c3acff64b3586da12e6f640d8ee655e5af97728319add9ca8612f93f5dcb2f497a40917f6d34b5a510076c8c8d67f6d9d98550eecf370bab45a3d54a0d6de556f3f20f3724b3c07849e37b2bd95722b257a0dd0c09005d73b1ffbcade4d35218d80ed7ad07a004a3a96f4d662772eae7cbcc7a517e73abb092942f25d503763614cbffc95a7ea1a0b3f9e28c443292f43741b9d144fd783327f0d45a24f7575b124bd32e427973abb09a2e1224716133f772442e31d1252c3603a14f9f611885428165598220b0361e52f8b8268410faecd1d46b31e5b70e94fc0f016ec2acfff67261c545ffe3b2f2b897797325fda4407d7f2e5955e7ccac26ff46d17a36d39c4370503023435c0300c815e41fadc8758cfe5b93e91301d35f4e4439ca955a4ffd8d441f60b41f2594ffe2833f5851bfece72205ad51a000c06fa5612b2f91648797b93daf5f5997ce969be3f1fca544f10c25ffc178ea90cff4f64ec1cd183f9d4b825db09110ce2b7f10cfffaa49ffceb6dac468af2ce74b09e54fd7d4ff7c40f8b723b16f1e30fd87b1e4fe0af14bd9c27fdad25e0cf09182d66ca6702723843e3abce7460821743340c38e0e20eb5d05fdc276216a175a9cfc6f549be742b93999a8b3714d1cf53f568b251c0900cb094917b96f1fb47dd5462e240c00e297aa6dffaa82b32b7aa9cffc0b16e3fb5b926a900000aaf6b72b8512818918707d39f6c4a570580100286695ef4495a5a211d3e0954d19004acdecbfd96f7bc144a469f21b3596e5706e46865a975022c97379f85507fd5a3897333174511f94b4bf8b68272acc3c40ad99fd3ff739ce575bbf6225fe71b3a018786943086150460821f4e150ec131eee8f27e3df9e497c6bb6d0ec3105182629abff7126732d6700479ee18970ce00452715654c86733e612c944ba8c68eacfcd9526a47d601a0c6c19319f9f7c653df4de9f58e3bbe598ec48a8a4dd84fe99d51190034455b2f682c477538893f5c2e3c5b6edb6d569e8e661224532f50550e662e9c5dcedfd67d59d2c625e38c5f980ce7759ab419c6db2a71ba92190caae703964a3bed53f48c02445125d8bd39a231b960351d62e0f20ef67846087d4c274beca38c10428faaf7eea30cd525a6a32c319a2c8cc9e47f69b597896c1d4b1802fd8d80a9ca61fa5c994553b52c4d9e2ae175590b03f9abb5f6a35ea696231340b6da591bcf1c2bb39cb751f34578bc42fc95000f0411b072a53c29f0ec011bb59cd12b9dc26f549b790a48867acacfa5f386ce30ffb25e8816348740bb190866f5c7fce66f545bceb9789e02af95f19b987d0e96a3c81a27cf2bfab641fef735f63617ed67299fcb74de6da659ea9c9fafb10b1d22b5a2e86e2b77c2cad00cbdcfc132a4b190d1ca9ca6dfacb198b0e7057a00601fe54700512814b0161042e891bc48e77239bbdd4ed3f7f8398a7e752d3b0bf4d72a050eab0ca18f95aeebb158cc6c36dff566153d1470cfa13da1cd55cdf8a033a9dbabdbfa7b4f5e9dee79bd6ba0f8c197fb5ec29babeac7b63050b3f2f5cdbc81fb1e7db6af02a72aadbf862919218430283f9a1233dff9c12bafbefaeaab3febc92bf748ad904e27ee115977826bfadda74aa39d23eadd67d2226ba1dd998243a3c1ec9ddf4ea83beb3b25cf9f3fce523fe72ba7ede1b160267febe5c858309dcfa413b732b19449c82a0044836b3f2775abc57ff70f4b23091500e450fa7f7d2df81743b16fbf198c15f53f7f732378e770b15a56eed92cdc97a02c15e763c577bcb715c9e51423b991fae381041eb6082184d0830ffb283ffce4185171e44cdbbec6da728622e6862e75f78d52ce0a97858d8756873aaf26788fcfc6a783733f7ef9d5ad2c595de65f1cbdd2ddbbecaba930d1e4dcf0e5eede51c15763a4376747268717c3e555657a22bebc3279f55a7f9674f8dd168aa4cd36cbc2f0e5aede51c1574325967f76a92b4338fc6e53786dc753e527010892e02c96ecf652cfd59ed1855059a56fbaf3cd9eb955caecf670d90b6f5d5a08652acb0214b9179a33dba122cb713415db0e036fb2d8c5b589ab5d3d2359c21e28b12ad9e0ebafbdb69981aab2004d6a83175eea1c9de75de5743e343f363dbcb05d5a51cad1e4e2686767cfa2a7aa4c60f63a2406d7e212cfc5d35a939fd7b3f21ac9fce661a7ad905ed385c44eaea152141912000a29e9ef2792c1a41c05ea449930b590f8d1628e64e8808552b3f2f7c693633b8a8754d7b3e0b15093ab69decc04b733d716b2178392c528be32938d6a506367e494fcf713c94dc9a875b26b9b999195dc9b9b856a173d3416fbdbf93c23d06a32f7fdd96c5836dc84f267dd91f19cb1df2b94db39b7404d2f267eb890038a2e15a9d5cdecf06af6cdf542959b33d3d8950d7d6ceed147192174bf611f650ccae80120455f7bfbfadac2ec6a34cf47d7e29e43cf741c59b8fa9629503d76e5e57dcf7ca5aec46c18066ff3147336040000200049444154526abee354c7cedc70d17fe85c7bf950ef14910b659cfb9fec3862379183572e1e7ee19fb755c2c892e290c6c753812f7cee4c6463caea70ad4daeea722865dfff54c711bb895408b6e5507b32b26c11edf1cdd86e508ecd2d151d8ed18b3f3dfcdc7f77b8921c59d28e1fa92c9a6a4fb5382fbe35f6f8739fab73e4ae0e462b2bddbb670b9ecbcc6ce83ea729b8b5ac27f31a5f58cf069e7bf2b8dfc6c7975688b23a07a59ee838c590060025d286b7e578a34f1ceebed8f2ec8b47aaa99125994d2de7dcfb1f3f5a35d237e92b0f500400686f4d65cfb4bb836b69a7473049c5e12c3ce623df184fefafb1ae6d666f0465e5af2fc7be70d26f930a2319a256cb75e74cffd331db5bd7b62d3ef6b56bf1f3c7fd8f570a8960722445eef7b09727a25e8fe5edbec881367f1b51f8f345fdb7cf940c0ded9478d90b43f1678ef9336b3b298ebf3e14a93fe83bcd2bffdfbcf4b932132108cfd75b2c3c7da2c63e3e11769439b9a4fcc2110f9bcaf5c7747b217d25cdfffa71fbe5de6dbe44e81e08d71cf09d1594bf9acd9f2813f0848a3e89a0ac6487067a1636636e6f80fdc83f7d9372997cd1e0d88f736cfe5428445a2c1f74d3e47c3627693cc77ce4f5ebf1509cb508bb75572c64b305f51e8bfd705b8b3028a3071c3e70e451f0d8935f6cf3720046cfc0708bc7acaa6a6365494c2aba4b6bec2ca1eb3a0018ba66e8baaa691be1d0e6ccfa1c4dbacb9bb7a45c4bb55955550008d4d4596800c60e3b51dd676b68f4e9aaca2b2649d50060b340b554ee9694e6aef704657947622b2aabdfb12581ea3a0b4d006b23a251a54ed035d0f231b6b4912574b03578b82baadeb8fbc02c830df0d26076c799e32b3cf975e003d5a6a9977f3252baffa817c0d0f5ddada54800300c4dd37455d70d7f65adc810066923a3910d3abc3abeb2c092aed2c6dd2b999accaf48446c22a32ad0bd59f88205e683b9bfd08c6387cb1a6d64d7ad4b7a5137d1164ab7595921aeacc7e5a632bba142830b225159e22827adab2a807147a70c8f99f5b13a4d527e9b411b066968e9bc3c9b54a3a37196104ed194c7c2fa58c3465014a969baaeeb84a617df1c0c6f92c272426bd134c330344da30c030036e35283cf6aa8d0e0222219dd6366fd9c61a5689a547500bcd6a24f20428f0c4d551e38e9309100da473fe878b3c87fdc9b980c87299f8f7ddfe573b994aa52369be563ea6fadc7c351b3cfb55b35acc9c29aee19ebc361f2836c2d42088332fa84e8baaaaa1400d40bda442875b4d239bdbad35cc9e6eeec7e6bd0601850e10f5095e587ab9caaa2c456a66743a9c355ce1b25000878c76defeecb0a0166b75387ab9d900b25ddfb9f6bf3befedadbf7e8dd7b6b21262f15efca2b1e323d1f2d06cac221d9e5125906c0f0591d139bd983fbcad3710055f1d6b7bfd04c8f0f5c9274077f636bf70e530e8aefea255de6f31b3eef91da125551763b745c5b4e7feea86f9f8d2274f91fafa7f3355c43c0fc8d43b677ce69e2a9423259d47389425ea52bfda637b7a5c7bcc44c141e6f364d4d6793b22e984896a293b26aa8c5b9b8d671d7cfc873b50279729fb58635148a58ba5185bbff8949aa91975754f6d74f8b7ffe6a0a0072452daf1bbbd7d10a97f0eab674c24fce468d937554fa46db031ecce81322a5484f85dbc2004036111c1a9a9134a3b9bd3d3e331c938b894c511478dae439d8649f1c9a2d80542c0a1c0b4d87dbe5ade5cd78823597d694131383ebc0918d878fd7786da9483023299b6bcb59196a9aea222b8b59196a0e3491125555e5591d1b132a3db383d345206b1aeb7656173332d41c385ce3b329f9e4f0d0a04479ebaaa8f1be55e0a986b6c3c5b5d9f58cac4ae4d956005066fafad633b22e91ad671a79d56dd252db4a5e0d47d66329dee2aef1d313b321b3cd29406223ceb4b5d410245388acafc7128cc9575fcb8e5d5f2604aa6edfbef8fa625a32aaf6b7d5f91dbb37d7f3a3a3ebd124677157f998b42e1a85b859e4670697690b53d7da0e006a213d36d89f274a5a9abdb982ba3e352553844e398e1ea918ef9b2c0251b9af45df9a5f4d15943c9c6dc5030ba1470d76bd78f81104c9086686040053496961adff5aff78f5b127fc5696a248b3c576f30b1fa390ee9ed868693b2c6f0c5eeb1fd7c4406d4d75617de06affb8e0ad72088c59b411044192acd521b06691a7299224cda285a5694f6dbdb43170b57fdc54de66cd4c5eeb5fd8ffd809b768a2295ab059080092a4388bd9c4d082682309922419d12e9014673373e55ee1ca95ceb59c70f6e4fead8d0d8bd5c5ed6eaddd0c19cae9b15224c999c9c1cb9da353d3556de7dc668613cdac92bf3abe5a51eaa7298215adf3bdd712b433e0340ba28d240892647c3555c5e04877df5851f0f9ec26003d2d31f5251c4d02100c65e882c88a0213b8f1245b8aa2fc0e96a50800f2a05ff8e95cc630f3cd5e5373b95528c82f2fcb47f6b99aad4c8b5f787d3e3397d65b6b45482b6f04d5d3f5e6322b6b6229978d6129921598520b45d194c7667aac5cf8d97ca6675ba970b1369676da1886222996a92be333716585e4da2cc4abcbc5138d628595ad2a61df5a956a5cbc6861aa02a2452efe64493ed4e4da6fa7489a72edcecb30255a7823ad3bcc3c1edae8a37bcfae178416dc4c7a7c4e1220115e76359e3854615e4d16ecb692c3875b98227da8e398cd9015b3b9a2bcbedce32a29ad6ea92e93e49d0ceb3dd97e88d7b67754b1ae7adf819a804cea569349ce658a84c54615a269c55b516327723b69c5535662c884dd6e4e86c30a64b742798a324cee4a2f2beda4154f59c066e252a1e5e560d250c156ea2af537b7d49549d24e96f775b4b77285b4e0f3b1f978106c1dedad6c214d39ccb42e30869c95d3e160543580a099d2f29a7c3c08acbdacd61770d7da7845cea63326d7c9f6368b110aa9627545734b5d994cd376a2b893923da5a5b6dd413e94dcecfcb26a0041d3d58dad3be3bd7ce90187a0bbbc8d6d4d9ef578862d6a049959dd4a806a38034e5dd575ca7ee2e4111ba1648af1aded1c4519268e552cee8e236dbc9431f97c387808baa37d0abb5e3c02210bc751469fa45c2ec30b2285670c843e918bf43dc651de5e1c1d5f0af336775365c9c4f80c41f14ded079554beaacab330b652d9da905c5d55ec8219cc20277386d9c343048ac9d9b9cdac6cb79796969b68a3c4655223ba5eea70a422c18ca44782cbf1ac525edb980b2fc7b34a59638bbc3619ca2905893a7976dfece07491e20fb4340797a6e219a5acf17053b9636bb16f743ec33142eda1524e719558f4b02a6516e6d633326508c79f3a69d96b519654893c7cbc6ebc7f52c92bfe2387c444683d96b1b8ab1bbcdaf0d43a2338ea2a5c63e34bcd4d7534c7e7b616d6d292cdeaafa8b118b2cb23eae1423abab61c4d2ba50d074b88a2b5bc9405757e74783d9ab6b8abaa9d6a867428e9306322674756590b57d7daae877618313d319be2697e5f7b9d5a5013b1626b6b4d74755577f1b37d934592dbd7d69a599c584d15488d6f3dd9a449acbfc48ac71eda85e3286350460821f45006e587cedad898abb5d5f2d11724676643b9a64adf5d27c662eb8582a3ac4cc4e307615046807d941142083d14ec5eefc7f353394e6caa7ccf1c6c32d918063b50208430282384107a78d87cbe4f602d8260c3aa4608dd84df052084104208218441192184104208210cca0821841042086150460821841042088332420821841042f7198e7a8110428fb262b1a8aa2ad603429f3cc330b01230282384107a70b12cfb683c7004a1878eaeebd96c16ebe1a1865d2f104208218410c2a08c104208218410066584104208218430282384104208218441192184104208210cca0821841042086150460821f429cb15e41faee672daa7b2727d6433d39bc4819f114218941142087d4a52f9c26f5cdce25f5a73fd747330f56182e93f0d86f997d6f89fac7f7b09478a45083d9a70147a8410fa0cd2fe7e2c91b55a62e76c3ca182410f2da77e713c1902e2dfb6b87ec3a1fe68456ae6d5df1dcbc4343d4833173adc5db3b16e9d5a8d4a1d35f6df6f14290000f856b3f71c99f99dedc2ff12a0fe703095e2c1cc0abf55467ca12731a9c05f1c734b6bc97f2ce8a349edabfb1cffa9dafcad9ed07f8dabe576fe67271c17c7632fe5b5fe84f6b503ce6fb9e0d99ec4b802ffed984bddcc6c9b94dfef97fefd716f6c3dfe6739e2b75cf03751a328a9bf7eb8e494152f5b08a14f0eb6282384d0678fa2cde5f5cf57537f7a7dd3fccaf68570f68f9633ffc731dfdc71b16f251b94f64a5124f5f7273ca7096d302175a5b4af560be7cc64bb8ba36e2ce63fcc84bfb258fced6aebc676eea705c346330391fc68b448f1ecffdbe6fcb2970180d301c768877571a3706929314830e1174a7f8d517eb8a980611cf5d92f1e328f6c17e60b45e0d9ffa7cdf9152f0b00a2857bda427447f2afc68a5ff6f2df59936486d275fded4d05771d42e89384b7e60821f4d9c390951cd115d4ffefe39ef0d5c87b9532d1a4c091251400477fd9cbbcb6211faa76fc33377bb3c0b7eaddd9547a4b566b016c0cf5af0fb82c8a2203fcd8a7fcde60623e63a9bde756b8785aa0093340add3fa93c7d4ff7d303e97b1340200493d55c1fdfa44ba94a7cfbbd9b797e0945bf88d567bda3070d721843e49d8a28c10429f41f4d75a6c3bc194edd5ed3f4b1b2ccffe4eadf8ef06428dbd9963d59600ffeef2fa6a52f96f2b997f351cfbe3e5dc6d8ba1fe4583e595a5b46c17da0c25f0eadaf9d1d47428d57271e7953c9cf7f100f0f252acfe5abaaedc74bed6d141a8de57b7fe5261be5cc6dcbef49950eae0db919773f0846f6fddb576336768b612c167a17fbdcaf207a361fea75b6fa534dc7308a14f12512814b0161042e8d16318462e97b3dbed34fd51bf3cdc89a77e67baf827a74aa6e777fe3c45fdc55127f5bee6d3fea2272cf99dffa28ac7dd813e83745d8fc56266b39924b15df2a16d54c02a400821746f254ef11b15d93f9949d919e18f0e99a9f73b1fd15e2e2a16bcd020841e56d8a28c10428fa68fb1451921f421608bf22300f71c42082184104218941142082184107a7ff0fb388410fa2cda5a5df5545531a0acae46aaaa4aef513297cb99cde60fbafc5468b9a77f9ae098caaa7aca2ad6bb996bddd32d674faad185780a166767098eb5071a8fb554bd6346399791759a2275b399181b0bb7b656df98a2c74309d1c10ef4f6e4155223b963274eda4defb3bfb43278add3df78a6d4cdae8e0e143c35cd01d7ee84586cbd5070949589bbcb2719255d602aca5c788420840080fae637bf89b58010428f244551789ebf6bffc84c3269b6db29d093c99c5d642706fb6637766c66abac1541caa5244d57f3c522a54b91cb6f774abcd3a444aff70c4aacbdc46a0250924989e7d96428a4e8f9c1eb3d1b3b598fc73633dc37bb1e717b032c0572be60f7d7ecaf70e74828eee479336fb03aa5b3f978ceea303bfdb5870f3517820b84ab8c96721959268a855441313429975555297ebdeb6a9eb5c8b1e8dad24c5c177c4e0b8051c84ad942d4e46a3edcda546a658289240d0ccfb3a950881498d9a1fe99d590cbeb4f87b72627c6f3126b7759947c3657d0788ecc04539acdece4f595b0ec7109908f5ebb3e90a7ad1636373338b5168d3abd01bd2011942eab14a544af5d1fc851568f5dc0a3087d688661140a0596650982c0dac0a08c1042e8a109ca5b3343a373cbabcbcb0999374382f1ec6f70121b89684ea2b5d87cb06815b50c61739905aa50145b6bcd536b8563270ee5d7e674a7df44c9a150ce6e37879696545a89e6c8b6c36da98df1d1b91d2824a21a5fe575c8999de18181f9f5f4c1c387383512cf142d56b72225f38cc5461b4583b18a82528881d9273285d5705e8f2f6c1645ab96c9eba01224c3795a9b7d5bebb1d65327b5e03aedf5b0a06e2e053991624d6e334f52ba1429e47589b0db2de1a5a5a4b433311322e45444268c58a4fac849334432aa29b3bdc2b803264a4fc4b220671496e3089aa6f26b21f5b11387e58db934c9595d55072a2cabe178319ee5ac9c5294c6fa8655960d2fcf39abf659183c8e1006e5cf2eec7a8110429f45567fedf91b5d2f408b29ba0a2400eb70a9910da6c66fac4c6e393b4a01003445d1007445d66f9b3d9fc9699a14cf488dadad27edc9b1a11e97df75e4d4b94aaf65af04c91f387a4650c33bf18cdd6c8d866255b51563fdcb81fa0650b200a0e4e26b61adad06006c6e7d638daa2a83b5b10d7b6b0d97554057140d80139d268a14c45b1d3f188a5e5859f51caadd5c5be39c817c34a7e9723c5d707b5ced1de7aafd2280b2ba1a76b0a0db5cf38bcb20d8caf69e2448d9bde2c2d462fdfefd7a51d615f91e0f2ff15535371c6a64f12841e8330f5b941142e891758f16650280e579120080747b3c9b3323ab097d7f632dc530568b289a2d66ab68157800464faf2ec6d9061fd5d73366abd91fb0f2008c51d8ec1b5e14bd5eae18e91f99651de5cd8d95e1f9b1d1d955b3d363e16900a059ceee7464d205afc3428b362b6fb25a4846707184343b3eb2162b1c6c6f1728000083a64541b48aa259b458059e66cd6c717b3ea2064a9c160b4f00303c4f811e0f273d35356679bbb3eb5a9c0b1c6daa21a460efd0bcc5e3adaaa98a2f8e8fccac9a1c1e9167799e23683eb13e23041a6d260a8020807038ad9ccde512389235bb05b5f7fab0a5b2b9b244082dce2fec649a9a9a798a30590486b5b81dd0dfddbb9dd2fd7e27fee61d7d68d8a2fc08c071941142e891bd483f4ae328efac8d4f6c91674f1ea00000f4e0ca92585a2fbe67abaf3a3fd41734bce78ed4e191803e2d388e3206658410421894114218941f4db8e7104208218410c2a08c10429f3186616025208410066584104277200842d334ac07843e159aa6110481bfe4c3a08c1042e8414cc924494a92848dca087df20cc3902469f75f22d60606658410420f1c86616459cee572baae636d20f449a6e442a190cbe5388ec3da78a8e1a8170821f4289365399fcfd3342d08024551582108dd6f9aa6499224cbb220083ccf63856050460821f4e05255b55028c8b2acaa2ad60642f71b45511cc7994c2686c107a06350460821f430300c033b2b23f449442bfc01df230447a1470821bc78238410ba0bfc311f4208218410421894114208218410c2a08c104208218410066584104208218430282384104208218441192184104208210cca08218410420861504608218410420883324208218410421894114208218410c2a08c104208218410066584104208218430282384104208218441192184104208218441192184104208210cca08218410420861504608218410420883324208218410421894114208218410c2a08c10420821841006658410420821843028238410420821f4a0a30dc3c05a400821841042e81db045192184104208210cca08218410420861504608218410420883324208218410421894114208218410c2a08c104208218410066584104208218430282384104208218441192184104208210cca0821841042086150469faacdf0484a53f75ec8e1c1e08876e3a9e499f4d4764e0ec77ab772f23be61a9fffc946b170bfb72d9b197e75ea6fafaeff602b5fc03d85104208210ccae893dd85fae2dc4e6af7ef9df8f06c68297f23372f0417280e488aa6debd9f0982f8206b9959e992b40fbc6d8bc18d230d5f3955f162a960c23d85104208a1870b8d55f0b0f38acd63e1151d5c24c05232d756422e27d3ad6e274021a1a92d249b262c24b99b8a95e9b597c36ad1653b6edc9c5f4df56d5cc8eb7bd9bacafd42b54d540b1bbddbd714436cab7ada4e310b9bdfef090d6f6a9b4e4beb21ef7e6a2f6217d6e251331d9bda992e773f5f63b3aa85cddeedab37e75adcfcf154726473255d5ff2b946875b2d6cf66d5f2d1ae2a1caa71d340350588f47053a3eb53355ee7eaec666bbadc0530e9a0550b7a2ab164e198f8ca8c0ef2ffdbc87e77757bc1de99ecd6c00f0fb039ff79878b5b0d5b7dd5d342cad954f3b69160f09841042087d2cb045f9a14789cd5476b4a8e900852241373a0fee64823a809a590273134d12f1f46c42560094eec9bf641c4f3fddf4f52a213a145e3400404d5d98fe7e7dc58b4f377ddd67c4adb6a76a1d562937fdda62dfd1ba5f7ebafae4b5c9ef4615a5b9ea176aac07cf377cfd58590b75ab215a1a5bf8c7d92cf778e3d7eb1c362937f3fa62efee5cd7a7bebba3284d555fd9676b3f59f72bfb5c1e2937fbfa624f7bdd2f3d5d7db277fabb3b8a02208d2dfed34c8679bcf1ebf50ec76d053a7aa7bf17291601d489e5ef4de6e16ce3d79fae3edf3bfbbd84a202c0d8e2dfc5e9daa79abefe74f5176d2656cacfbdb178ed70ed2f3d5d7daa7fe67be162110f09841042086150460000605025bc65a75854135386b98db654f3f999a2668433cb017bf5cd58ab6666f3c263b556aba22856e1589d00060014360cf1a483221445d9e77b3c920eabba31b331de5eff3ca7eb0ae938ecb52e4793aaaa1a86ae288aaaeab7af394fd9dbbd8dbaaae8ba31bb39de7663ae36af7d391a57554533745555345d9fdd1c6fab7b9ed70d8574b4791dcb3b3100c853b6765f93ae2a9aaecf6d8e1faa7b8ed70d85b4b7f99ccbd11800106c599bab51571585b4d75b7d694d52b3d39b7a45a323a02a8a42521c90f39be3076b9f37198642dadbbcee959d1d3c2210420821f4b1c0ae178f821a87633a9992a5d580671f1894cd44476579355e6cf57037cb485284a16b6edc181976b19e040073a5baf85711a9decbb333db4301f7e74880687e7e67e3870b240900526e81100f0288775dafdb5c46937b8b8ce6e7231b3f5cdc9b6b11c47d00de9b2563f9f9f0c68f16a9bda986d80ce0710ba53441de28b010da786989220140ce2de9964600074f7370a380611800902b6c5af85afab6eed5b1fcc2f6e64bcbbb33e69735732d40291e1208218410c2a08c0000ec8ea6f4ca92ac1027381e006aacb6f1d486c65a78ead6fe256e64cd5daa5a300080144f579eea0ffdd84492a5fe2fedb358750092ae3855ff350bb337afae699a9ebffb8a6f2d0f48aafc54ddd744f6f6b9f4dba6969da9ffaa9565f6a6ea9aa6c56e5f1241bfbbc05d56ca907c41c9190037a33241959eaafbaa9dbb7d461d0f09841042087d74d8f5e2516030555ce1aacef8699a04008bf3506eeb65956fbebde5d562df97cb8c17f5dd6c5b584dccedfe35129c3d5df6e553152f565bacbb01b3c1e9998e85941b345d07600843336ecfc5efd2e0f2cec48377ce754bbdcb3713dbbe35f55d59b6c1e99b8905ef516097d971d8c88fe76feb0152eff2cfc6b67eee8c08218410421f14b6283f2251d96bb3c6d83a6af705e91268dae7f1127784e94047b9efe2f4dff02696208552cf69860090239cc934b8f5121000a0a4739e271bcf57543c9b59f8c185b8ca92845a64daaabfe0e6b93a7bc9c5e5efba84a6a381a3f4dd06962b2f7f26b3f0c30bf1224b926a913954fd42c98d412a00a0bcfce9ccc20f2f246e4cad7aa1e4cef1e2caca9fca2cfee842426649525598d6ca173c771b50ce202d1db5edd767bf43997842631bca9f2b2b7b32bbf8d285a47463c6e73d261c8a0e218410421f03229fcf632d3c02489206506f36e392340d377e79479214189a6e000041d3344180a16b9a4110ba36baf86377c57301767748356273fba514f7c47ea79520489aa600000c43515500d87bc7d015f5e670ca044511b7b7e0be7b2e92a20c6deff927ef9afa736727288ad4b4bdd5911405faeea7008aa27707bcd3544537eeb25e84104208a18f0e5b941f11ba7e4740d46fcb8bba7e33da1aaaaadc7cdf00908a294dd5606fe8612392963c950c001886ae2877f46178f73b003733f07b96d135edbda7fedcd90dedb6d96f5f94a6a9b7bdbaebb621841042087d54d8a2fc99562c2c77af7502cd9104e48b854aef53079c15582d08218410421894d1ee03ae0900b8b35b0542082184d0671d76bdf8acd33555c7788c10420821f42e383c1c4208218410421894114208218410c2a08c104208218410066584104208218430282384104208218441192184104208210cca08218410420861504608218410420883324208218410421894114208218410c2a08c1042082184100665f48051872ebdf6931bfac6d7f50fb59491d14e49bb6da1e9e06a2c8795ab66c32b3b999f5f2ebddcb910f9b9a5e4f0c4e5992d351b59d949437aa5733efcc97fa2e2cef4f0face879831b8b5942beac3036f4572da5d2667d63be782f7985dcb4757c2896274eed2e4caedefcf4d76c6e5fbf56117e606b633ea7d5ab856882f87621ffb6297a63b23858fb4849dede594f4014f03f970e7f4cafda8a58de5a19584729f0f6a7da1efe28f5f7eb36f78385ed03eeab2e4cc7230f4609e8eb46c646076164fcb086150461f0873ece92fbdf8e2932eb2e6175e7cb1a3adea1e7b7476614652ee7e0525c877bc2449eab3786c2c2dcf646f0b19044952f7a8073934ba1403002000889fbf708200208024098a22810020894fe533121f6ab5344d1304f19edbfcf36a8020488aa600def9a90902ee632ddccf1abef5891e80bd0300db5bf3e1940200144dbddf852889d185e0deeebb4f75f5fefe697cc4dbd98dacebf92f3ddb58e1223f74f5a9e9d1f90d002008e27eecd68fab3209bc6223f489a3b10a1e7286aa2a00aaa1698aa25000e9adc9eee1158330eceea613c76ac62efe2c58d0298bfb709de36ae7e599e9c5a3e79e29b3b1000020f5bc7121a6510cad176853d37e989be95e58cc1856cfd96a635982f8dcd8bea3c759127aaf5d696a3fbed2fbb3ad2ca917a9c79e7ac227ee2e0132c1e9eea1259d306caec67dce7cdcdd50ef32ab89f9ce65d3d140e6eae0dea493c71b97e6aece2f640cabc34bebad274e7224f45defac3fd4e1146800c86c2f5c1a9ca108d2196838d65633de7d6133ad6b865e5a7ff4485360e4da2beb6986d672aa6ce6aca0c9395e6c3e7766ff64df6bb341ddcc12852c79ee8b4f7a4ce468d7cf36d29a66e881baa3479b0363bd7b058a39f2f4f34f7acce458d7858db4a117a923e71f0f105b7ff7d694992359ad68f61e6cafa5ae765e313b168f9c7ea2ca2500809ade5e4aba2be8d077df9a12d8bd62674ed4510000dad4f5eeee352d196d3ad968dd18ef7b698660b5a2d9d372e6647d213c7f7560560542b4d79cecd8cfdc76f95632a1a5b8a3a20c3667875e9d330849e2ca0f9c7fac617dfedad47c5637db9e387970be77309849eb0a75e8ccd97226fcd6d8762e19b79badbe7d2d4d3e87965ab932af9f3f5a7bdb52e5d1cefead4c4a57c84367ce95b391bf7f6bfcff67efbebee23af3bdc1ff76aa5c454151452c720e12109ff5d200002000494441548a0825942dc9b6dcb6db6d7bda769f76f7d1593357b3e6b2fd27bc37b3d6cc5af31ef57b520777b7c211966dd9ca1212205022480284c8a980020a2ad70ecf5c108464499d6cb74afe7eae80daa97ecf2ef6b79efdecbd0d12af5363c6e4f21d5b8bfda39d4d377b5481d7b31973f981e5d98253bdd79aefcac45b6c399bb7568626076fdeba1761aac596b3796bd9c3c64bbd3311c19450b365d3c8d0834c4b2611f987baa613524bd31deafce0e5aed8ce8d850bc7eef19ed6cf1fb672e188945ebabba6b4f7ee1557616da29e62deae8e6062a579f6a1479f9abab0dad89d4b174602aa28328567ce82a5ad090cffe9dc6d49e475b22ca594ecde52169c1cba71e36e84a9666bd6966dab47bbafb73f9c0a8c0f056c05efbdb163acedcac3a918297ce5e66d2e71b6e15a5b54e052f257ad2bcd5a8c1361df95fa8b16168b06d8fafd3bc30f3bd2ab6a6c22dd6f6db0b8d765390c44149a19b9d4748b31c1eac8aea92eebbb79b96722a81125b92bb654e5f5b59dbfde13b6193839c0d6bdb223da7b37adaac62652575b83604c188ae8b38da163e76f081caf638ace56b06b67e55877cb9d0713c189913943d67b6fbd92b8b07b7b475a9a3bc24c319933b6d4ae1dbd77a1b13b6435705a88add9b92bc7a96bafbf3838278b0253796563ce524142e3c7cf35f39ca05314de91bfb77655647af4c6f5f610538ca6f42d3baa866f5eed1a0f08464b4559eecd2b1743fab4f535dbb4a98716297da6e7f2d5aea0cdc069615655bb33cba65c6e680887637d1dfd15afff6457452691d677a7f96ac7a477bcb0a62a6ffa61db89071d7aa68ae69cdd7baad4b9d1866b37c24c301ad3b6ec586f58888ee189ffbed0a817f47238ac379a346272385cbc6e7769b6b9b3f976ffd494aa70c5eb361725cbf56d0f7c93b3c905556e231151646eacf9ce83f2d2dc8179757d611e110d765ed165d52a43972fddf527183935a856ecdc55e4b22eeecdf31397ae5d5734c19490be794bd568dbb57b23b3449c25a5a87663c978d7958b1df309468e85b5f22db5d2e4ed8e8e079cdd922e0d8a99e9e1b1b6e67b23d159cf94ec78ebc0dab180b2bea8808886bbaef0ee5afd744bd3bda02672359baa67bb3b7a3d93aaca15aeae36ceb45dbd3d3c3556b07e555ecfb037dbe5e86f6de8189e21e24dae829dd5a593ddf567dbe7ec468e85d5d2cd3b8b336c441499197be08dae2acad522d3976e0d6d5e9dd9545f1fd2f4314edab0695b9a7efecee8fc86e222221aedbea265d4ba2d0b6f6fe6d4f92bb22aea49e3a4f4bd07365060b2a1be21a8893a2979eb9e1a313cd958df1058fa950b8c5ebbdc1215241d17a48cd538e6012028c3dfd5bbd2de33b5efb5d7258ebb7ba72d14090654fbfed7364b3c478c5555cf95956c302da5b699ae3bc6d5bb5e4bb772bc76e5ebcf8868642850bd679fd32846c76e122f9a396d623ee2b68435cea90cb652d18ed7d26dbc3673ed8627a53a8b5b5cddc4ee575fd7f3dcfdb67631dd3dd6d295bb6b5ddfc05c4561c6dd3b3dcb2ff943f2d87060c3ae3d2966e9e18d268f2f946d8bf26286ddb4b807763c1cdc77e090512422f2f5b450ded6d73313388ebfd9747926e494a5c4ed3b362719c5c66b674bd6ed4a328a1df71a22329b0f8ab5fb76a659749abfefd2bdb1b5f6292d77f3eb6e3bc7f1b7ae5f9e0e3afd2171fbde9de9565d78e4e61d8f4fc786d49c9ad7b292786df65a8b27ad8cf449f96fee2ee788bbd1f025251ca8aa5e9f9db7ce6ee057f48771449c2e7169b2c62f03d1fc043d472494af5be7755b6a0b5ce4efd325e4beb9a78223ee66e39781684ed783916dfb5f378b7ccffd7b7373d164bbfef17e658e8824a3fbd53d153c71371a2f4df8b23ce3a1ca2db5d98906226efdce1daaa669b33d37e6826e07371bb3be736833affaeb2f75e5b9368c8d842a8bf21eef3a33acdb595ba5699aefe18dd9803b99245bce9b7b5771c4dd69fa722e92d7d73fbef5e0eb56899beb6dead6964f85ab9ddd8335af1cb2497c5ff7fdd9d9706a5aeebed77234460fba1afdd1c85cd8b0e7d53d269123a2fea51e475b6666774b7734d53131162c2f78740643d0a71fdcbb46206a6dbe32eacd59d98fb8d8cdb7b404ffd003c5bdfa50613a9176e3e2672b3bcc784bd68ff6ade5893aef5c1b9f8964a5e4ec7b2d5b63f4b0bb712e12097bf5fb0f1d320446ae8c32defbd0ef283f549341aabfb165429f144cafac2ecf73f13caf698be7048221be6a5d4d49aa9985c64fdfe85f9d621a1bf5da320de188a338d9408c88a8a7a77be3ae434e23474481d1ce797bf1a1ea4c22aebbad61c89b168a08ebb6ec2c4db3b0b0e752db485192797464cae63606c349e559bae111461c71c68c1fbdb28127bad772da1b280c4e8aaf1c3a640c8e5f198e252eedde3667d6ded7dc1aa381078d33612d1411d6d4ec28cfb046bd3d373ca34e99855d25876ab389d89d4b271f6fd88c1feddfc813f5de6d1c9a0c15a4b8f7bc96a9311aec699a09c57c7e7ec7c1d76c3a8e88b44d1bf8e4d5590962a79788e3c251617575ed2ab72d36dddb3c369218d2e7156dcc75bb86ca6fb2c49485f6c8ab5cb3ca16ae2dc9a1f08426a5beb97f93c0a8fbd6e9097fb9ef7e77e5ee375c067e7cb8677cdc9f9bb918614dcea2573655907fecabf6c9835baa2830d63c3a4b94585e5353a6695ad0d33c3a4b6499f4896fbe7148606cb87f520eccdc1979b071db4e2938c405d49567572231a162c3b67539762d3a7de9567fbe6bd54220ef7f70af62dbeb99569e88c253fd9362da1b876a19d150d7f59eb18014e3cbd66fdb906b8ff9869a0686b657acabf4dab7ae2b18bc3b44a4cc8f68fb0e1d3287a7ebfb665c56692ca43cfa2c13cdcfc5528aabaaf3121971a91b3795689a169a6a1e9e2d29ab5a65c8ae2d2b50fc63c453787a789c73bd71683b231a7dd0dc3de237c942c99a2d9b0a9262f3a34dbd7dc519554464484c8ab4def2e7e7ca3373d919eea17b6d253bde4a377114f35dbcd1ed5a9df6a883fbf19e759973fee88d6d02a3fed6af467cb2d2dd51b4e38d0c933033d1373c30c3793b0a6bdfc8300b33137d430333fc7457e99e3732cd7c7466b0b9770a0739000465f87b0446eef4cf04823c11912dabbca2a6da7de5dc29de9eb36dfdaa27269d1a2557a644444ce313521d4464cf7098569c762caaca6db83f6d364eb8caca666ed777cf5c18354844949a5db5dc2339da3a30edff822722b2669494395dc3814824acb01cab32da3ae85d7a29bd984b4877982481880a57e736dc9bb15abc8985454b312b62650e6969678c048ca969121131a625189249d17466bdc87344cc9498b0f083ca491a63b6b424b32412116f4bd68df40445439aebb1196da949669d4844bc244583daf4e47cf7f8e5b1761d11a5b82b19516a560ac78888a9a2a431f6acb2a666b91626d38485c99e3cc39b9abdb81c4d94342d38da36e499fb522022b2d464173c7d99d92e9e11114be6acb148cc9a62b71a242252021397afb5869498169de50b77926371ed8cb7a565e87d8150301c70598d2b17a506272e5f6b0bc9512d3acb15eea0644a796c7b4251af552f714464b4254811ddd27ce1d1f6e111df97221191b93a3d6fe0eef5ae3eafcc69be58ec1577f5c69aa286cb9fcbc6942dd51b1f9dc2e0ade96ee3ec5c3010f067179a89168b9692952230464449a24d0e479eb38ffaa6942497913122e26d2ec7ca9752b25378c688c8c22c517f6870e26ee7c34999d3e662d1dd191b8d8ed017c78f318dd6d71e9c1b1d7e78f7de64b7898892528a538ad7ca1d57befeaa2967756d49ba7d61696687cd6236101167b625cd0e3bb7140cb7fbe6855993db212c6e754c8a265a8d8bad190b4b2956036344c4cc669716554c0e9bd1622022ce64337a869ceb0b87db67e6a53953a643a0c5c1ebaea56d6692a46892d919fde2f851d2b8b55bf72fbfaf91ee9b77bb3d32a7f9a3e16da91b4c49569dd54844bc204499323f2bdbf5498c1111979092bcb220cb0b37f1b6395f60d4d7ddd13d2e739a3f1adae25abf6e7365d3d5cfc352d2a64d5b9e28b231d162b6998888138418936d698e960b67da6e91ce94bd7baff4cd4671652f361f93748a1a1ebb3fde33fda5444464585393f668b13613c718098239d1c63146bc1055498bf81a1b6ecc8523aa1c88a6ae22b76579694ad0d774af3f257f955160df1c2d6eb49985043323e2f466f364284a64222252b8902dc9c62fec5972547099f58c3122325a52e4b06cb0991317e6e285d8939f44312193fbf2d89f78a2f20dfb889ebcd0c2603525d92c8c488bce5f6f6c9e0d4654251476966cca7ebcbf212ab8cce685951aac2921bfacb71a932c5646c4f17c8c2dad9433e49538c6c7e7c4c989c4caece9a1840433478c4867b4abfae78c13772ed5879374313532d6353933755a4f44a4ab58bf76e0dae4f48a5fa73a8c19d53c3112f5465382050739000465f87b58dd6bb2d76fdba51796fe95ebdc7bf6678fdf6c1ef53f7989508a9bef9b8da65b0c44caac679aca170e4c8f5220d3a55b584357405c9bab8f64da8b0a37ae75db9f5c5d5556d5965d46717116a343dfd6dbc1120b759c35f3f197d852a262ba342b35f485cd1516c3d272a499e86424a659743c1119ad918e517f5ab189882666871d62d1b3deedfcf8f47c46cca63728b393b2db69b54c758ccda7d9cc0b332616143e917c9de9f642f7aaf5394b5964be7779ab9e8ffdf909564e6276af769754efb2ea9e376272ac7f5c2d7009443e3e9c6932047c8b7fefbd3758b0616ba6c334d7dfdc125057ac9d6527995a07bb758e7cd3e343157bef0de5afdbe24e36cd0fb434cfabdfd81e9321793e1cd5747a3ee89b8d71cb8d6872afcaccdbb0d3aee78988d4d92b23863d875e1598527fe10b2226585cb57bde98eebe3bfcd8556bcc9d686e1deed625e5598447df2dc607c695a23491688e820e8b291094544d23e2e7bc5361cdbc90801624ba74f7c3c17c4a24527d135ee78aef11e3fde34a51ba483447814493fcb04b5ad89e868b5f1011199376eddfec4a101555f5c7ecf91b33aa8bb396364acdaad89abb5abb7dfe7a2875f3427d82d3f3317328cd6a55fdb3e134bb4e74b874dd0f66cd797979cbff0043cc3b17500c169188f446a5dde3cb4e4b26a2e9a9417b416668643e620c65586daa7f369c96a0139352745d0f66ccb9b9b924fb9fb66f303226eed8579d96a8535465b13aea7c6f1fb7fbd0ab22539a2f7ff1cdb91292f483b37e2227913a3b3165ce79f49267605c2ec99288fccabc3e31f9612b5b584ecb952f888837266edd7d687ea8777868ccf8dc9d96e7d5c49c9a5757e76a9aa2aaeccfede186ccf2d4a4ca1da9e6bf68b4ae6770383167ed96fca4e064f7e5bec8cadd4f3427ee38b05318ba767fc059e2146575e16c86ec1998706751782e30cbfc7989495ac81f48312ffd3be0657e766a56ceb64b44a4d3b381d1e9fcbc74229a9d18a0d40d2cf6bc8de1f4e6cdbbdeca4931288aa205a3f26217b6e2199848cf5cd14d30326c49afaa294e0e797b2f76fb9e5888a46783833305059944e4f3f42bc91be8195709265a93fb1e764be6f47c899f146727a66379493a2538e7d5823ac1b9744988e2e9f7b8329ef5ef4297599a925f5a9b655da836534a53f256fe9a1e999e57cd5621160e04e70238c8012028c3df4328cbcd38fbf97195248b2b6f4755667d7dc37c448d868dfb2b75bc1cabfbfce4fa2daf14a5988928b1784df0e4e7276f083a036f74ba9f1aff9275da90d7acd771c6e22ae5eb3375b7142271f5965db94ef3c221ad34cf7dfe8be32a496667ce8e4dab751905835f1fdbf1feea85972e7c715c597ae9b1c5eaa93b9aa0971e9db7df5055fcd5677f1424535246c9960deb12ae7d5dd7195588cb2bdfb23c3ce39b6c56d670f18c8e631a25ec3cb0cd6ec8b45f3b5357775d212eb77c73a2591a7a7cfa84820aeedcf9bad6289158b1a9b6c0f48d9e1e4dfbea8bff5e5db3b72c23e1cf17db921a3973eaf3d1dc3d95c94fb442517e4efd57c76526991ceeda9ab57af1298959af78febbae5f62e4c8a972d874134b378dc82ab09f3dffd54dbd6497c25a4e16d1a3bb424829d9b30da7d7ee2b27a2c6fa5345eb5f4d360944e4ceb79f3dffd52dbd6497226a7626d11351822f2ac8387fe22467121c564d5f54b1fcf7c282bcab5f9f8831c99898b17dcb9a24e3d067c7faf47a2926e928e66f6c6e9a9c8fc6c2d2f6d7f3fd2bee0420b9dc738d1dab7695af3cda1bb5a993757512a34477655992de12765e3855c7e999169a4d5e97ffd8b7abac42e1ec9913ed37f546ceea703d9672a26327eb862546899915a52ed79cf956ddb17e835e9245299fa2a1d1a9aefbbd2a53496fdfbd6bb3a9e1725de74d22b168ed961436ded8fa508d2ae6cc8a8aa5ddca6ee39b5bae74934264aed9b58d2366b75a7a8768dda3fcc75756559e3d7b54e54db6e49cad5b56677a2ed7d5b5abc4a7e6afad741a62e3acf9fae507824664deb4731b47cc9e60ede957d7550acaec53f789587074eadebd87aaa6329d6dd7ae9d669148b4a4d8273e3b7a526f903451c8f8c63ce6f45c53d7d913f7da75462ec1f15817bba84cd4d5d5498c6ca925db57b9e4c1d685e530914f958337ea9b4767424a58d8b07fb775ce77f6eb1353eb6a4d4f3dd334170c0fb69dec6b55e470eeeaedabf3528888f476a1a7e1e4c8e0ce75854fa4cd9ce2d2abe74f5e67a2deeadcbab5c6aa7fde4564c9e9496d5f5feceed05925594979e2cc15d33435a7bce67a7dd3a87dad65eceef18e76519063b1989bc868a0e63b0dc3ed2ac78cebb66f5d5a075f5cb5e6dcb9e37738a3d99ebe75fb8682f186baba131a0949eecada0ccbe8f3eecfa1cc8fcef47a7bee689aca1b76eedd9d30d171fcee5d519063b168faca809beab8f3d5a5879d3aaba42ace52d25b0d03574f8c0c6dab2a2422437266d1f8f0c24aed99e53bdd16cfc033fee1da12c93b695d55c6882bac5a7fedcaa9f6a8288ba62d5b6b059398e86d3f76e2be24c8b168d4f5ec6c9f555a71f5e2c9db4c944c895bb66d7597555ebd70f2361325a37df3f66deeb2d2f39ffff76da36435913e7b9d1a9c3cdef4e0dd3d5b71b403f87e70a15008557809da511038555decbe104589e38831555198288a1c474c531555e3385e14055555348d2df5338982c011d354c63455e30541535522e2389ee398a6318ee7792255d38888e3795110884855646d45445ab13a8d8844515414e59b2f2d2f9c8806eeb79adca52eabfeb1438e28f21cc798a628ead2ba98222b8c6879de277e68bd7fa3a0a83ad1282cbcc1151bf9e48c2bdfd1e2bb50658df13c470b435a794160aa4a1c278aa2a6aa8b6f99e3388ed318e3396ee564cbef5e10449e2345d5b8c797c31e7f3b8b8dc4711cc731c61697c9733c2f70c45445d1187182408b4be6165a4dd55462b472eda4066fb7f5af5a53216a33ad77c3ab57672c9f037ed62c4bdbb33881a6a98c316d45fb2d6fa7aaa8c40ba2c02fbcce348d178485aaa9aacaf102632ac7098ca94c09de69ebab5853f9e822458e5bf176548d31e2385158dcf734c618a347ef5dd3385e10057e61c763dad29897e0f09531717759d6f242b815db131a6dbf17495c9f93ce88ebbc77cd9e5d9d6ed589e242532a8cf1a2c81391a628ea523737c7f31ccf091ccf344d515522f20c74c54c6959aec7be050982c8f34b15e03851148998a2a88cb1870f6f9ad3d7672548cb4b9818ec8e1852b253ec4fd9377821ecb9dfe1376ec8cf62c43db87fcd94599d69138988e304515c2eac4a9c404c5da8c9624138411479624c65daa38284c6af0ccbbb2bf21f15e4b1e5683c2facdc72411499a632c631f6e42aba6e7d9558badf69605a60ac7e30b4a37cb11b9f170481e71445e51ebd0b9e31c6185b280b314d51972aca718b6ff6c91f98200a3cc7699aca1edffd389e27c618633c2f10d318c78b024fc4344dd3346da8ef96e25853e4d02fec63ec1b8db2b076224e10458e485114c6d8f23289e3048e5335c60b1c53358ee7a33303773ce1ead262c668e841632c794361b261e51a895b9a97b8c7b659d3164aa12a2ac771aaa671dcf357ba34b0428bb6dfb95fb466ad81674bf5e4973ff5cbff8e16d6fe641957547b6146626ce144c4e3bf7282b0d0d0aaa6318d91c0f3aaaae2b007801e65f8cbad0c6fa428f2537f664c931fbf3d9ca629da8a3f2c0759c616ffa7334d5357740dc9da53c6ddad5c05112da7e4275e5a5a78e4fad717bde6a4fd25fa2796a32e27ca6fac6b79c39ef683b2f24d3d6bc695ef68c5048f12e3e2948cc9f2ca8a2d1c536979f8b2f6f8f1495517b799b127d7b8f2ed3cb1b4c565aa4c53b5954db8fce313255d58fbecc8834b4dad95b507448e4874ac5db362eb9f31cb8aed797282a7969d34557ed4e04fb4884a448ca9beb187971a6e976ddbb7f2561ec4d8136f87d8936b5cf9ded9e32b5ad9ffa8acacff8ac98c8eacd933178eb592284aaef4d222abf8f8feaccab2fa8d85694c236df1ac79acf572fd8022beb2b3f4898106aaaaaca8fd633bc0d20eb6d85bdc76e56a7f8c7f6557c952633ebe6f68aa2129c37ff3c2d18edb922826a796d624888be399d8e39bc7d46fec124fd9fec5323eb6433e36d9135bbe72ca2756919c98fef517c74da2c0191237546f58f901d1d447ad4344cb97423eb6f0273f454ffef0c4debe5c13b6b4b4c57f24ecc9765fb85dcf5376cbc7d6fe7811963fbf8ca94b1fa585bfebac4eb9e5c29fba3a7582604f2edc5aac7b724f63daa3353fb1cd4ba5a0a51df5f92b25a2906fecf28526d7eaea8594bcb410959eff3f73b97a2baafdc48c8fffca9e680ba46400f428c3cbbccb89a2c898aaaadadfbfac95bdd42f7fe1784114384551187b11364365dffa76ace8697b46738b02cf2d77f7feb54b1744915beca1fc2bde2c3dca457fd11238411079fe6fddc8bfae207fd5a24451e48896bbc65f8c5d7ab97ff7db5be662fd177b82bfdbed5f3847a728da3ff633090008ca0000000000df333ce707000000000041190000000000411900000000004119000000000041190000000000411900000000004119000000000041190000000000411900000000004119000000000041190000000000411900000000004119000000000041190000000000968828419c8ac562914824168bc5623154030000e045c3719c24493a9dce6030e8743a14242e1b31140aa10af14555559fcf27cbb224499224711cc7711cca020000f042618c31c66459966559a7d3252424088280b22028c377485194e9e9699d4e673299f47a3dcff348c90000002f6c56565535168b0583414551929292441127f31194e13bfbbc79bd5ebd5e6fb15824494241000000e2822ccb7ebf5f966587c3811eae38828bf9e24930181445d16ab52ea7e470383c3939393131110804501f0000801793244956ab95e7797450c617f4ffc79368346ab15816ceda689a363434343b3bcb185b78d56ab5e6e6e6fefde774bcde99244712ff177fddf5fb674da60441c0972e000080e7656593c9140c06cd6633aa112f106ee2862ccb3ccf2f5f363b343434333363341a333333939393398ef3fbfd7d7d7d9aa62d4c109c1b6bef78d0d3d333343ecbfeaaa03c3dadfe9919229d3dfdead22f81804f7df60ca179bfcad07a000000a4d3e9789e571405a58817e8518e1b8aa20882c0f33c1185c3619fcf67369b4b4a4a666666ec76bb5eaf1f1d1d0d04027ebf3f21218188e6fca1a2d27c8328701cc7189b1cea9d09b18cc23caba00df5f6855431273f8742415fcc3737ab15e4baa747fb6742b233a3509494c1de070a13b3f3738c024f4b7dcce179afa24f4c10233301d9959cc4118d0d3c9c8f689a8e7710f97d63639e7946647766241b59fff09894e04c3669f7eff75a9d99b92eebf0d8b8cae9b2f3b28d22aef90500801fa285e3b8a228b8a42f5ea047396e689ab67c27b85028a4699ad56a9d9d9d1d1818181d1db5dbed0b193a180c2e4c9fe14c1becefecee1b55546d76f4a16acb2c2fce1cee1d54233147767179ae7d7cd417f54f4ffaf4254579f313fd8a25a5bcbcdc69138253c194fca2e22cebf8c8ecc2a262c1194551a73cfd9e715fc4e70b68c2a4776666ac975953cacb0bb599398d02e35eada4acdca4131c0962efe0647e719925361314edf624677141d6d4d4784e7e717961ae84111a0000f043b5701c5f3ef70b2f3e7ca18963e170382525253535d56ab5462291e5c1ca0b98de5c52b44a0bcf75f70ee9d4f9987f2030c59bac8981f0f4b067442f4635c145229fe8b4334df58763a94ea3aaaa446448b41b8938834e8ecd6be4e0892c3a6972c6a3e8734c14f08698338d0f4e933f1ccb4836a92ae7c874f06410d8f0bd7b01c67419317f2018e8ede926e29c3ccf98a6aa5a5666565f5f67883316e7659380ab7d010000200ea07b2f7e9a8a7fd458269389e7f9b9b9b9e1e1e1848484582c66b7db9393938968e525028c691c912ccb36abdd929c56585898999ce09bf0e715e4a727591673352322b299f493bec0d25cec8941c53657a27760d29662371a846054954481884c06dd943f42a44c7b6619897ad1565c5a5e59912f98ec66a321272fbf3037c7ace70522c648e6a49ca2f23cbb6e745646530200c00f16c7712b0fe8f0a2b7176e53122f64590e8542cb432c060606666666965fb5582c66b339140ae5e7e72f4c10f0793c537ec6e9b2f3b3f53ce71de99f09c9f6e4f424833630ea112c3687c5a62339a6335b750271dcf448ff4c4876a4e5913c6fb727f25c747636664fb42e74ff4e4e4c399cc9a21c9a8e505282617a369094649f1cea9b8fa816674a8a8e3d1c1e265ec74523a6f4bc34131b18195779435e764668cee3f1a9c916ce3b17160df6ec4ca77762d2e1724e4f4e25b99c339353494ea7883e660000f801d0346de112238c514650866f9fcfe74b484858be3ddce0e0a0cfe7fbd66f0ff737084e0c4d728e5c97393433e88938f3d24d682c00008027c8b23c3f3f6fb7db510a0465f80ef26830288aa2c9f428868642a14020c018339bcd168be51fb71f7113437df31145b22465a739d03f0c0000f0d4e3b8a6692b8fe380a00cdf1ac6d8fcfcfcca27f3010000405c58788ab5cd66c323ace3088693c7d5d71a8e339bcd8140409671491c0000403ca5e4402060369b9192e32c7aa14739eea8aa1a0c06753a9dc160e0791e1f390000801713634c55d568341a8bc5cc66b320e0915b08caf0bd88c562b22c6b9ab670f36300000078d188a2c8719c24493a9d0ed5405006000000007849608c320000000000823200000000008232000000000082320000000000823200000000c0774c4409e2cbc21d1919638c3154030000202e701cc7719c200878fa0182327c5754555555d568348aa2c8f3381b000000101f344d1d09dbf500002000494441549365391289e0081e5fd054f1f4195314c56ab5ea743a7cc6000000e2296ff1bc5eafb7582c0b0f0b43411094e15ba6288ad168444406000088538220180c064551500a0465f83631c6144511450c95010000886392242d5c6b84522028c3b71994354d4377320000405ce3380e41194119be93ac8c22000000e0800e08ca000000000008caf00f161e1ef6a30a0000000008ca2fa1d6d37f689d0cfdad73878687fd03571b87fd2154120000006081f0ab5ffd0a5578f131c66459369bcdcf78a24f787c4a0b4f4ea767a5f11cb5d6d79d3a539f90536e8b8dfef60fc77ba7c38539591d573f3b75a65e975a9462d37b871f5cf9ec8b4993db29f77f7ab46e744ed5098eec2cabd19e20f8477ff7c7e3f746e68bf3b36353930fba5a3effe2dcbc94929d62c3a384000000fefe037a28149224098fe88b0bb8ddd8cbc0dbd9e35c55e1efeb09c7145f57b33f6debe1edc944e193750f7ff2e1c746911f69b838edda7c78bbf3e29f3e9d7ced9de67375abdff93fb3ac6a5d9de7271ffe32da7bee0f6321f7e0a490683a73aaeded9ffe9c9fbe73e6eb7b35995db7bd853f3fbcaba9f16a309c66310a28350000002028433ce9eeba71b7fe3aa7fadc9acb1ce4d615251211453c7a67b151e489a88f3356672712d1eae2cc8948d49553916ad6516440e72c324abcb164fdea9928a9449109737e9559e229755d8af1b4aca5ac5b9fc71359347d44512c84a00c0000003f2018a31cffc27d6af6c1c3ff72f8f0fff17f597d9de946767b649688c8901a9dea0e2b1a119599d5969159226aeb1e4936e8176734a4b0c9b6a8ca7cbd77fba311222243269b6a0fca5ad8736b229c2561ef000000801f30e1934f3e41155e7ccf19a3ec1b0ba415a418049e88d7719233bfc4df75fed499fa849caaea3cfd1fff74a2773abc7ad3d6c0fdf3a7ced417ef793bcf61e4886c890e9e93dc89f29f8ed74d0b79db2ab3cc669dd19e589a613a7aecc4039ff9d0810d22cf4916bb591238224b824d12119c010000fede033ac628c7112e180ca20a2f3e4dd342a190d3e9c4e70a000020ae0fe85eafd76432e169bb71018d040000000080a00c0000000080a00c0000000080a00c0000000080a00c00000000f01dc30347e2492412c15d2f000000e217630c45405086ef84c1604050060000885f9aa6f9fd7ed4215e60e805000000000082320000000000823200000000008232000000000082320000000000823200000000008232000000000082327c7b5a4fffa175324444347da7712c4c44141ef9f4d89998468aaff7ab2bad2a234fd7adf6d1c57b379ef8edffb8b7387debe9fbde672c35d274ba4179d62ac373d351e5cf4c0300000080a00cff5061662f0a7575a92b1ef7d3d7355b9c699d0e44457b7e51527060d233e0d795a75b175e2d5db5f6eea58690ac2d4dae5cfdec37473efd723e161de919d68888c2fd3db39985593c85cffef6bf8e1c3972e4f8b9b01cbb7aea37473efd623e1ab974fcc8bffecf7f6d1f0eba0bb378a2f66ba78e1c39d23e3c4744defebb75bffdcf239f7e311745840600008078257cf2c927a8c28b8f3126cbb2d96c7eea93f9bc9d9dfaa2323e3c674a4cd2c52687d564b7951b1df554accdebe99e4f4bb325a5a47ff5fba36bf7ecb6e98485597afabb365626b7dc0ae4a62a0f83b6428b62295cbfad44d7705f6534919090a20c774e25264db5f7fa67a7dc35bbb65524fa99bbc84196c2f5db4af40df7b5aa3453c6e67d9569c67bcd5dccdb379c58f5cefedaceb3270deee24b27fe57cd7bfffbb602bea953cd5b8ae6000000c0180b85429224e151bb71018fb07e197477ddb85b7f9d537d6ecd75c04d44141eb9d774b3a5f1f68d80985056fe4e6cb833bba274e8e154caaa8ce5cfa529657de2405d8fd745449efee1fadbcdbe50d05670a8a648e89cf0b3e9506986a18d2825d5fcd59f7ee717b92dfb7f32d13f587fbb793614b4e6bf4ec98f36a09ff41bb31d44b4aa386b3c1ac92d5de730e944dec94d8e6b9486d31600000080a00cff08e13e35fbe0e137d33852ae5d6e88a65b89a8cb137ef7e7bfb4e9055fd78dcea9a9e090bfa676cbfdebf5d36157b2515a9e75fd9657eafee33f2ceb8b7b6626f6bef54f9ca7e1cb41cd9859a66bba14d0971a753c115924b5e2ed9fae719a88e85afdc4eeb7fe89f7347e39c82403459606569458d88d91e9ddc529eddd4325391b826814000000887f187a111f9e33f4c23716482b4831083c11afe3243deff750523aaf73b8ec1c91213969eac683dceab536bd909a963038144c76983922e2c86673089c949d66e6cc89ab32cd278e9ff0f2b9db2ab3cc2683e6a7d4c20ca32470248ccd4f765cb874fde6cd7b93a19d6bf23e3b79728acbde56999d94eebc79eae4a43123db614d2dad08765dfceceb2b853bdfcc779939226ba283e788484a5c581d00000060e845bce1824174ffc5014dd342a190d3e97cfee76ab0b5feabc69ed73ef830d3a6fbb6565d7ffed4fa1daf9b44f5e2c5339bb61e34e9f0c1060000f8db0fe85eafd76432f13c46262228c3f71b94bf0be189fb47bfbc16552c07df7b3bd3a6475b000000202823280382320000002028ff70a19100000000001094010000000010940100000000fe66b88f723c89442218a30c000010bf1863280282327c270c06038232000040fcd234cdeff7a30ef102432f000000000010940100000000109401000000001094010000000010940100000000109401000000001094e145a68cf40c6b28030000002028431c693dfd87d6c9d037ffee9b9b56bfb55b9b2bc33d438f05e5f0dc745441f1010000e0a5247cf2c927a8c28b8f3126cbb2d96c7ec60347c2e3535a78723a3d2b2d3ae189180c7a9ef778bc9189aefff5efff39302f94e667775c3b75ea4cbd2eb528c5a6577c83bffbc3f187de70616ed6dd6b9f9d3a53af4b294cb1e9bd0f6e1efbe2eb119f1818bafef9997bd96585dc8cf74157cbe75f9c0b59b3b31cba919ef18cc2ac8eaba74e9de9c82ecb6d3efeffd55d6d4fc82876d0e4efff787cc26fc9cd76e08128000000cf39a08742214992f004310465f89e82b2b7b3535f54c687e74c894991fede50529255927a7a06d273cb8d14ddb377efe4f54bc3cef5efbcb2fdde5727ccb959172ede3df4e3b75615668f375d1c4a5ef7ce2bdbef7f75c29c537cedc2e957defd98ebbce849dffaee0ee7e9c6e94cadb34dcb7beff5bd832d97f569e9bec1490a8f86d336bcba3dbff1726b459e3b6bcbbeca34dda52bf7f7ffe847347e376076261a75682f00000004e597001e61fd32e8eeba71b7fe3aa7fadc9a6be3d326e8e38cd5d98944b4ba3873627658e72c324a3c11f5937153561211ad2a764f446225799556bd60b3e7246627905197149d6094b6ae2c8d23aa48b78d476244d43f3c70ff6a5b8bc4a7176ee2689e882832d97af34eef601791e54039f6280000004050861744b84fcd3e78f8cd348e946b971bb464bd6736966ea48bf58db925c54c248d5199596d1999dd55e86ceb1ea9285cfde0e6cdb09c6194f852b3da3232b3abc8d5de3d5c5e503dfd94a5f75c6d35bdbbb9b07b74a2a070d53c51ae3b872f28d85eec546439d4d71c51880cae828a8a3d07779a394d16043408000000bc1c30f4223e3c67e8856f2c905690621078225ec749b69cfc81cbc7cfd43fd8bc6f6f96c3cae63c754d3debb76e0f765e3875a6be78cfdb790e5b41aaf0a7a3271e7ac3ab376d0d769e3f75a6be78f75b79c9268ec89490c07164b427e805814832c83a55193efbd5c5a4b5074a53ad1c099965e5739d174e9db912b5e715e6a7dd3c7572d298b3abc276ece889e6be998aa23c49c0b924000080671ed031f4228e70c160105578f1699a160a859c4ee7f7fcb99a6e6b8b141666984c68020000806fe580eef57a4d2613cfe3ce637100432fe0794ca9a93a49421d000000004119e031c6941414010000007e98d0ed0f0000000080a00c0000000080a00c00000000f037c318e578128944703719000080f8c51843111094e13b6130181094010000e297a6697ebf1f758817187a010000000080a00c0000000080a00c0000000080a00c0000000080a00c0000000080a00c0000000080a00c00000000f042c07d945f06678ffe3fbdb37aa62a657bdfdd51e858f9926f6eda6a730811df346f75e805d40a0000000041f90724a378dd8e559b755cb8f1f46dbf359f9293ada2e8f178c5e0d0bffff164daea1dcec99bb70396d7dffea8d43cf3fb93e72457c18ff7d7aa53137d23f79b6e3f2ca839585b99d97ef5b3e6ce89a29a83b5959978a8090000000082f2cb60b4fb56fdf5bb3a51a93ef0616cfc613421c12a8ae3e3932525ab6b6b3c6b76ecf6b74b59eeb5650ee1d86fdadff9e0636efaf699afef6dcae8bce32df9f8f0aea686ab215f74945f7bf8b05b9165d4130000000041f925b1d0a3cccf0d7ed674c799627de6749109737e9549e22975bdcb785ad152d7aecfe589cc9a2e2c66e6e82effe677d70aaaf76e2e4c4649010000007031df4bf4a547afe7785e678c7a666344e18bf58d51222692c64867a0b04c64c8d4a6da42b216f6dc9c0c67892b1b5f560ad7effbe883f7794f4b44452d01000000d0a3fc5290e726fff3d747c892f1fe3bfbad12eba8fbfd914969c7c18316894bb3597e5777fe83836b478e1e8b6c3eb47f47e5ef7ff7ef92abe0c7fbd7a953c364d211516a76a6491f39fddba3131179e75b1f1a70c91f0000000011170c065185179fa669a150c8e974721c2eb403000088e303bad7eb35994c3c8fb3fa71008d040000000080a00c0000000080a00c0000000080a00c0000000080a00c0000000080a00c00000000f0fdc37d94e3492412c1ede1000000e217630c45405086ef84c1604050060000885f9aa6f9fd7ed4215e60e805000000000082320000000000823200000000008232000000000082320000000000823200000000008232fcbdc29ec1a970eccf4de3f1cbf2c2cfdee1610d5503000000f806dc47f965e01b6c3d7af116c96a6adec64d49f35e29d969d43d67fa90c7134d48b04a12114d0d0fdbdd6e7c61020000007882f0c9279fa00a2f3ec6982ccb66b3f9690f1c51ce5dbefde63b3fd9b4617d715e6ac4333e3a3174f6abb37e7d6ab6cba6fa067ffb87e3de903527cbb1f073af379c69d43167b23138de3b2f6a930fae5db976eda1b7ac305712b8b6ab9f9d3a53af4b294c91666f8d2be90986be07b72c89e977af9d3a75a623bbac50171cfddd1f8f37df1f2b2ccad38b08d80000007fdd013d140a4992842788c505f428c73f65526f2b353ccaac837df3e53f3fbca3f15a7d389ad0707df0bd8f7ed1df746968ce71e7f2c39f7cf0b151e2a75b5bd590e77ccfecae0dee2f878676bdfb4b6b78f08bcb1d6bcd3353c935870fbb2e1dfd74f2e08f75c30df7668c4a72d9e4dd2696537bb8869dbfd0225af937dff999554fb220a0f6000000f012438fe04bf065c76288ccad78727cdadaf5b93c9159d387fd63ad37effcd7bffdbafebe478a7af5ce22a3b4d0e233a7bf6e487517ea04ae24afd2aa17447b5eba30dac30cd5d94944b4aad8ed8d442b57a51d3fdb559466eb1f1e683cf58723ff7e34a2b76eabcaabfbe2f8ef4e5d51143cad1e0000005eea908512c43f9b51dfddd493bda5d0f1e42bc694828a8afdafed3492260bb168635358ce304a3c51d2c1b76ac65b9afdc9dbbafa3a52d7551b66effaa5ec4aabefc6c8ccae22577bf770797ef5ad5b9e8f5fafbadfefcd75e7680505db8b9d8a2c6b441fbcfb5ea0fbda7d6f605d9a0dd5070000809715170c065185179fa669a150c8e9743e6b4853cbd7bf691d8ae495efaac9974209694ea3ce33389a90962a85467e7ff25cd496f3d1a15d6270f8f727cf59324bf796e7734e87950b76f6c7d26cfecb67ea27cd991f1eda6d94f8b6ab9f35774ed41c7cafd4e2eb8f390a5de6dedececc9c92aec6cf9b3b3d653bdeca0a779e6bee4cc82d7b63f756092724000000feca03bad7eb35994c3c8f832882327c5f41190000001094e1db25328691a6718031869602000078698ee938acc7057c9b0100000000405006000000004050060000000040500600000000f836e13ecaf1241289e0ae17000000f10bd7f02128c377c560302028030000c42f4dd350843882a117000000000008ca000000000008ca000000000008ca000000000008ca000000000008ca000000000008caf0ed52467a86670687e763f25f3843d8e3f1cbf2cad9711b1b000000f861c27d945f06bec1d6a3176f91aca6e66d7c755795f0e8eb8f32dc33e4b4707a47b24d27fdb9c5449a4edfca4f372b369b559296674f2d74e3eb140000002028433c52aede19f9f0c39f1bc5c540db5a5fd7d235b9f9d5f72b32a49561fae4b996bcea57b757664cf7dfbd7af5c69439f3a343bbc5e0c8a727cf46f469effd788fbb308b0b4e0fb65dfdaa63b078e75b5b0b2d0bf3b65d3dd5dc197bebc337ecd1f14febce457429efbdbddfa6c7ce0300000008caf042e7e449bdadd4b09492471a2e4ca76c39bcdd79f18f9f4ebdfedaa3c9ecee8f7e5175f3f68d5024f56a43c3ce777f69090f7c71b923d11c7aebdd7fb2e84816e47b3d43f9e9fe295dd1c7875fa9ffeacb89b4ad4434d2dec4726a0fd7b0f3175a442bffe63b3fb3ea491604141e0000001094e1056f438b21e261440bcfb6ee23e3a6ac24225a5d9c3911892d4d14ee3873a17bde3716b59695ad29c9abb4e805519f9f269c5eb37aed9f3e3fce49ceb75faf2122a2d4f5a5a91c5145ba6d61f681e181fb57db5a243ebd68d381aa944f1727de2949789836000000bccc30faf4256033eabb9b7aa6177e29b3a8cd233344d4d63de234e81627f10fce666cfcc52f3fce4b648ca8b5ebda7c440d7bda025236e91c1fbcfbde1b65bafbd3412222f2dcecf430a20723134e939e8872dc39157bde3e7cf8f0fe2da59a94f4c1bbefbd51aebfef0da0ee000000f072137ef5ab5fa10a2f3ec6982ccb66b399e39ed28f9b9157e9b971fccb8bcdb39184b20d6be6ef9d3b75a6be64cfdbb90e134782cd916072e569c3d73e3fd3ba71f7be74bb490afa6f34345cf708afefde3871bfe9f8a93363bc6b7b65a1c009b68c7c83afbbeef3b349eb0f94a65a391232cbcae73a2f9c3a73256acf13c65b4f9c3a33c23b6b2b0b057428030000fcf507f450282449d2530fe8f0a2e10201740dc6014dd342a190cbe5fa563e579d8d8d859b3763d80d0000c0f77f409f9a9a32994c3c8fb3fa71008df443e474e38e6f000000007f067a157f8892dd6e1401000000e0f9d0b1080000000080a00c0000000080a00c00000000f037c318e578128944703719000080f8c51843111094e13b6130181094010000e297a66928421cc1d00b000000000004650000000000046500000000000465000000000004650000000000046500000000000465f887f10d0dcfc764d4010000006001eea3fc5264dcc1d6a3176f91aca6e66d7c755795f0acaf3f61df346f75e885672c64584874d87412ea0900000080a0fc7250aede19f9f0c39f1bc5c580dc5a5fd7d235b9f9d5f72b32acdefe8eabf537a724d7fb3fde73e3e8bf5e9fb3bcfef64769daf88d4b4db69ad7aa9dc14f4f9e155d053fde5fbb30afe7fe8dd3d7ee2844653bdf2a31ccdcbcdc64a97e75932bf469dd393139ffed03b59a7752494ab24ad2c484372929696ee4feb56b37278de91fbcb1c724e10405000000bc3c906c5e829c3ca9b7951a9652f248c385e9942d870f1f9ebcfaf954503efbf9c99a773efcf860fe8d8ed9d5ab6b7ef4d39f5566589bced595bff9fe9642d3c9536d3ffee0e337d759ce7c7d4f2322f2778df03ffbe7c3e5e5a56bdc89d7cfd795fee8fdad45e6bacfdbdefee9cfdfdc603dfbf5dda0c7331f8b1191c733158b690d8d0ddbdff9e0e3bd05672fb7e3594300000080a00c2f12d16288cc2d3f39be8f8c9bb29288687571e65424965fb13ec9208a76274dcc2c4fe3caa94835eb283261ceaf3249bc31757d8a7148d188c828f9bbfefdc89187f32449bc2b7b7132535e9559e28d29eb528cc3f2e371b828b7d26610c584bc74614c46520600000004657891d88cfaeea69ee9855fca2c6af3c80c11b5758f380dba95d349060aafbc5acf90a94db585642decb93911ce127922126dc5b91ffef2f0cf0e6cd309dcf264ccdb1e94b5f0c4ad89b0db648a7a666344e14bf50d11a2f6ee065f58094f74f8a52c8cbc000000809789f0ab5ffd0a5578f131c66459369bcd1cc77df3d58cbc4acf8de35f5e6c9e8d24946d58337fefdca933f5257bdece751839225ba283e7382229253ffdc6c913d3e6ac2c87c996e8e0393e2fd5f0a7a3c71fcc5b0eeddf20f29c511f69be7eef4653c3cd3b77b894c2349b7e79b2a3c74e3cf0995f3fb0d1ec4cedbd7ce2cc9507d57bf66427dba4a0ff5653d3f531eed53dd58fb2350000003ce3801e0a8524497aea011d5e345c201040155e7c9aa685422197cbf59d7eaefc5d57db0de55b72927c7d573a9455db8a12ffec2c9d8d8d859b37e39a50000080bff0803e3535653299781ee761e300120e3c622dd9a63bf3db2367c3e94535076a13ff92599c6e373ee8000000f052428f72dc7c01fd1e7a94010000e0bb3ea0a347398ea09100000000001094010000000010940100000000fe66b8982f9e4422118c51060000885f8c3114014119be1306830141190000207e691a1e631b4f30f402000000000041190000000000411900000000004119000000000041190000000000411900000000004119be0bca48cf30ee4603000000f057c17d945f06a77eff3f46fc09221f8e72f9fff4b303deebd7a5756b33cdc6e5a03cdc33945ae8c6b7220000000004e51f16476ef9deea834681c2230d679b07b667670992e41b6c3d79ae256fd3abdb2b1c0b93b5d67fd6d23551f3eafb951956cfbd96d30dad0a51d9ceb7ac9e86e6ce89a29a83b59599789c09000000c0027432be548c99eb9c7ecff4e0d0bc2c93ddfdd12f0e1ba2a3e1884a44230d17a75d9b0f1f3e3c75edf3c9e074d7a8f0b37f3e5c565ebac63937caaf3d7cf8f0d6921414100000000041f925a50402a4e78888c21d672efcc7ff3a72e67aafc61811f573c6eaec44225a5d9ce98d0892bfebdf8e1ce9f59364cdcbd1ddffcdeffed0323087ee640000000004e59752f8e47f1ecbd958ce13d1fce06c66f52ffef9e3dc44b670195fa9596d199925a2b6ee916483d9569cfbd12f0fff6cff361d530bd7effbe883f7794f4b44450d0100000016618cf2cbc0acc47efb6f47882cafbeffcb0cabe4cbcee21d69593d5ffcfa48c39603fbcc3a9dbb30cb55e8f6d47f76e4d244cdabefbbf8e9cbf7479a1b8f6882b07ecfbee12be72722f2ceb73e3408a825000000c0222e1008a00a2f3e4dd342a190cbe5e2b86f617c84bfeb6abba1624b4ea2aff74a87b66a5b61222a0c0000f0fd1cd0a7a6a64c2613cfe3ac7e1c408ff20f91b5649b74e63747ce46328a6af6d72225030000003c057a94e3e60be8b7d8a30c000000ffa8033a7a94e3081a0900000000004119000000000041190000000000411900000000e0db84bb5ec4934824828bf9000000e217630c45405086ef84c1604050060000885f9aa6a1087104432f00000000001094010000000010940100000000109401000000001094010000000010940100000000be7fb83ddccbe05ecbd70dad434454bcf9953c3d9f51e87eee17a0e9c6c6e8e6cde97fd9b2234da76fe56758e4c2c20c9309a50600000004658827318bedc35f1c360a44a48cf48cffe5332ae35dbda69ce204036a0800000080a0fc7253867a8626e6ba6c79db95be7352de6ea5ffcad53bc3bce4fec9fb7bef5e3ddaf670ce62e475597b1726be70ead8cd70e2a11f7f141dacbf757f5ce0e4ea033f2d35cffdd7e717d5702cc19dfbe6bead444434f3d5f1631489469d051fbfb663b2ebf2b9e687ba8c929fecdd76e3c4ffec99150bb7ef9c6c6d9a0e8473d7edd9bd2e0f037a0000000041195e08d3fdf7fea3feaec8d3e657df24a2aaf53b9b8e1da382da2db6d9ffbbaedde4b68706eff44ee5fbb98dfff22ff95cb8bfeef642bb8bebab77b833d794d9fd5fdeccfee77f7e8da7f0a5e38dcd16e1f537de77d9f4fd972e0df882444464def9c6dbf90996f19686d1402839c121720f07fb46a25195ec89effff83d239b3bd56528acd8b163951b4f0e04000000046578513872cb7fbe7fb35120a248631b11c9be58c4140d323297ef7c7befae7c8e8894b1b3dd612222496fe39e78d0bc64b23dcab77a8b9e139ebdb270ffa576ed838f0fdfb9754720d24b369e2312120ebdf5ce70fbb56317867fb473b30e5dca00000080a00c2fa0f66b57d6bef1d3705f4be7645592fed6912317b804f7fb6fed73a8fff5eb23e74d069dbd78e7c2940999b64ffff8fb9957deb6ea077efdeba647432ffefb0f8b432fece6692232a80d9f9fbc140ab3e48c8f5695df9a38f66fbfeed02c9692f2cac55546a64f1c3d351d910bab36f1e8520600008097021708045085179fa669a150c8e572711c72280000401c1fd0a7a6a64c2613cfe3f46b1c4023010000000020280300000000202803000000002028030000000020280300000000202803000000007cff701fe578128944707b38000080f8c5184311e22928a3c1e2e8736530181094010000e297a6690b877504b0b880a117000000000008ca000000000008ca000000000008ca000000000008ca000000000008ca0000000000df3fdc47f96570afe5eb86d621222adebc5b1af2149567e9d2d26cbabfa2717d43c37c6aaa4d273df1f7968ba757ef38a8ff5bbf4f0d365ce72a2ab312cc68230000004050867f8098c5f6e12f0e1b05228a340e79fee6e5f474b76615563d3f162be3ddbdc6ac62bb11650700000004658833bec1214372f2d53ffdbfd3114b80e756d5fe686b8183887a3b1a2e35ddd30c290737260f19cb376728fff569fd4ffeb7373b3aaeffffeddded4b53511800f0e7dedded6ed3ddf992b69cdb5093896652eaa891e5969a52666aa9e5a217f21fe8cfc9c442a6226a2431424d6d509b4c946116f8d2e69a2f31e7ccdbbc73af7dd0b4a80f7d0851787e9f1ece87e7c33d877b1e0e0fe7c4792351d63dd0d5af3cb7517f3ea3cb341ae182bababb6b8ed99ef965361cd454371729a400e19157bd363f537df35ec8659e9859e111214de51d55d43d60b2b0accb213ef3b8f2e4f0d0f84efc30571607303b39689e720125bfd5542ea571c921841042080b657450bc8e9976f3078a04edd5dabd41b9ea7445899e4f84ad83e650969e4f00251000a3b85d5721116c7d19712dac7e5329d3b9e016c5022d20695541b9de57505a6ab758ebeb9a13e2f800b0922ed395358978ebe691b598424a0055a4b9244f2bc84bfc6e9a50b68774a9f40000019649444154b45c23811bed7d472825ba46838c7499e798cd7597aec120e3b9dece31e2ed4508afbc7e69a7e5d2c0b27ddeab2d4c93e27c21841042080b6574409233f21e546a775b2fecbb8381d0662c06f0cb8bd72a75f1a3ac8dbe6e637e550395e8736ef8b545d953d37650e427b9a7ff9a59c867480200201c08fc9e8c2f62f65b34d4a78e773c37465294869a327178bbed993192a2345c2ff3d8160120e7e28df2cbd9f8f43642082184b05046878277d9d9ddf6d417f4eb6aeef309008005db9bd1a9055a141f4f9312c23f49670a25995e87a538bf30e006000871abed7d43cda5d93dfdc69dd68b3fd33272a6b3bbd35751cf089dadad969dd60b92fb4af062b0ee1cffb47441bebd17670010d48963e2b127ad638444de587b454af3706a104208217424102ccbe25738fca2d128c771a9a9a904f1af27b31fdfbf576bb50753960e9b5e9cd5572709299bddbaf479a9a4aa265948d9ecd61cb54622c42b08114208a1fd0ddde3f188442292c4fdf108c01365f41fc812627d1d6db19848959ba54a21fa7fc6b400ff02082184103aaa7e00dbe8b1f54790d6200000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Desktop view of the jQuery Mobile API and Docs application (http://view.jquerymobile.com/1.3.0/)}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The same goes for the jQuery Mobile design examples, where jQuery Mobile intends to add further user interface experiences.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000001aa000002cc08020000003aa8617b000000097048597300000b1300000b1301009a9c18000020004944415478daecbd79701cc779ffdddd73ee7d6371df044090002992212551a268dad6e1c89115c94aa48a23c7ae388e1c3b95549c54d995b22a4e39e594cb710ec72ea77e8a2545b6638b7a2559d44549767853242192204080b8cf5d008bbd8fb9bafbfda3c1d5123c0490e021aa3f52b1761733b3333ddbdf799ea79f7e1a524a0187c3e17cf440bc09381c0e973f0e87c3e1f2c7e17038373b62e91b8cb16559a5d1408490244910c22bf90e765800802ccb5778a8254208310c0342288aa220088b4e4392240000bb52411044513cff842f181285100a82c08e0321bcf296e170383784fc1142c6c7c74f9e3c99cd668b1fdaedf6dadadaa6a6268fc773d95d7d7a7afae8d1a308a18f7ffce34ea7b3f44f86616432190080c7e3395f862e9b542af5ce3bef2084366dda545353c3ae6e6c6cacbbbb1b4278c71d7788a2d8d5d5353f3fdfd2d2d2dada2acb72e929f5f7f78f8f8f9faf7de17078eddab5535353274f9e74b95c1b366cf0f97cd7f1e61986c16e96d3e92cbd040e87b36cf93b71e2c40f7ef083a9a9a9e287b22c575555dd7df7dd0f3ffc706d6d2d4297e32cf7f6f67efffbdf174571c3860da5f247291d181878f6d96701005ff9ca57984ead08333333fff44fffa428ca934f3e5994bfe3c78fffdbbffd9b288a0d0d0d4ea7f3673ffbd98913273ef7b9cfd5d5d5956a473e9f7fe185179e7ffe792679a586f08e1d3bbef9cd6f9e3871e25ffee55f1a1a1a2a2b2bafa3fc514afbfbfb7ff5ab5f0982f0e8a38f3637375fdedde170b8fc014a692693191f1f8fc7e35bb76e0d06838490a9a9a9aeaeaea1a12141103ef7b9cf0583c1a2565a96250842d1b52c62591621a4d431cce572636363922499a6b968e3c9c9c95ffef2970080471f7db454fed8f11142173309d90617733f0dc3181d1d5514a568c9b2ab1b1b1b134551d77545512291c8e8e8683c1e27842cf27ca7a6a67a7b7bebeaeadadada8aca88100a87c30080743a3d3636a6288a61188bcee7820dc2fe8a311604812914c69810228ae2a293c718b3cd2e7610cbb244512ccadcc4c4c4f3cf3f2f49d2f6eddb9b9a9a16dd82d22d391ccea5e4af482814fad297beb47efd7a00c0d4d4d4b3cf3efbfcf3cfbff6da6b5bb66cf1f97ca6699e3a756afffefdf178dceff76fdab4a9a3a3c3e5720100e6e6e68e1c3972fcf871d334cbcbcb376ddab47af56a87c3517a705dd77b7b7bfbfafa1c0e87cd66dbbb772f53a8d75e7b4d55d5d6d6d65c2ed7dbdb7bf4e8d199991955553b3a3ab66cd912080430c6c3c3c3dddddd1e8fc7e5721d3f7e3c1a8db6b6b66edbb6adbcbc7cc5fbb920085bb66cf9ea57bf5ab4ef20842e974b55d5455b6a9ad6dddd7df0e041d6201b376e640d924824f6eedd5b28143a3b3b8f1e3d3a3131515959b975eb564ae99e3d7ba2d1686363e33df7dc1308042084d96cf6d4a953c78e1d9b9b9b73bbddb7df7efbba75eb54559d9999397af42800201c0ef7f5f58d8c8cf8fdfebbeebaaba5a565626262cf9e3da9544a1084b7df7e3b140ab5b6b6c662b123478e7477771b86515e5ebe61c386f6f6f645b780c3010058c4b0882120518092857549b05d56748b0270a5e16f4a09a11821110278fde54f92a4b2b2b29a9a1a84504545453a9ddeb76fdfc0c0c0f0f0f0dab56bdf78e38d1ffce0070303038661c8b2dcdcdcfcf9cf7ffee1871f06007cef7bdf7be9a59766676701008aa2b4b5b57de52b5ff9f4a73f5d6addf4f6f67eeb5bdf1a191979e08107ec76fbae5dbb92c92400e0a73ffd697575756d6dedae5dbbfefddfff7d606040d3348450201078f0c107bff18d6fc8b27cf8f0e1ef7ffffbaaaa0a82303c3c9ccfe77d3edf030f3cf0377ff337d5d5d52bdb2e104287c3515e5e1e08048a9fd8edf64506ac65592fbffcf2f7bffffde1e161c3301445696868f8e217bff8c8238f4c4d4d7def7bdf9b9898d8b871e391234732998cd3e9dcba75ab699aecadd7eb1d1d1dfdca57be2208c2cb2fbffca31ffd88b5aa20088d8d8d7ffaa77ffaf8e38f8f8c8cfcebbffe6b329974b95cc3c3c3a9544a96e537de78e3effffeef2727275f7cf1c5f9f97900c0fffeefffb6b4b4949595fdf33ffff3cb2fbfcc4c5a45519a9b9bbffef5afdf7befbd8aa2f00ecf29112d1ac90ce6cda45b09ba94d0e0fce1d565db14c1beac83106266cda45b095de1c99844cf18718f522622e9facbdf2229acacacacacac7cf7dd77e7e6e64e9e3cf9939ffca4a7a767c78e1ddbb76fefeaea7af5d5579f79e699e6e6e6743afde28b2fc6e3f13ffbb33f0b85426fbef9e6c1830777eddab571e3c6a2fb393131f1dc73cf1d387060c78e1d0f3ffcb0aaaa94d2e9e96900c097bffce5cd9b37f7f4f4fcf77fff777777f71d77dcb16ddbb6b1b1b19d3b77fecffffc4f4747c7a73ffde97c3e1f8d46d3e9f4c68d1bffe22ffe627272f2b9e79edbb973677b7bfb17bef085151c3961baf6dbdffe767676b6281c3e9fefab5ffd6a737373a937dad7d7f7a31ffda8a7a7e7de7befbdfdf6db8f1f3fbe6bd7ae679f7db6b5b55555d5d9d9d9e9e9e9b56bd77ee94b5f3a76ecd89b6fbec98ce82f7de94b870e1d7aebadb75e7ae9a5071e78209bcd3efdf4d37d7d7d3b76ecd8b265cb8913275e7ae9a51ffef0879b376fd6753d168bf5f6f67676767eee739f4ba7d3bffce52f0f1f3ebc6fdfbefbeebbef0ffee00f9e7aea2951143ffff9cf6fdebcf9d4a9534f3ffdb42ccb7ff2277f120c0677efdeddd5d5f5c20b2f6cdab4a9aaaa8af779cefb3f6facc5f363b2e850458700c5642162e242de4c626c3a641fa656c14c230811922c6c78d4302156ce4ccaa25d84928e7386a5d925b78673fdb3fb7ea7fa3392682314e78c846666044176483ecdca6062a8824bc33911c9aae804804a826a5879088502ce58d89091ea90bd0292101424a4685646b70a98181eb50c4294d163084a2ec52f22f9bac91f534045512ccbca66b37bf7eeede9e9696d6dfdd6b7be55515171fbedb7e772b9ddbb771f3e7cd866b365b35987c3b16ad5aacecece8d1b37eedbb7afbaba5a9665964492cbe5befbddef1e3a7468dbb66ddff8c6373a3b3b21849b366d62aed9f6eddb2b2a2a5e7bedb5aeaeaead5bb77efbdbdf5ebf7ebda6697ebfff073ff8c1ce9d3b376fdecccea7b1b1f16ffff66fefbefb6e84d0fcfcfccb2fbfbc6fdfbe071f7c30140aad60bb1042262727e7e7e78b1e417979f91ffdd11f2d8a301e3870a0a7a767cd9a35dffce637996f9bcbe5f6ecd973f8f0e14d9b36312bf82ffff22f3ff6b18feddebd7b707050d3b42f7ce10b0f3cf0c0912347bababaa6a7a76767677b7b7b7b7b7bb76cd9f2c4134fb4b5b53df0c0031313135d5d5dafbdf6da860d1b00000e87e389279e78ecb1c70a85c2ccccccabafbe1a8d462b2a2ab66cd9f2ab5ffd4a92a4db6fbfbdb1b1f1f8f1e3a954aaa1a161d5aa55ebd7af5fbf7efd89132742a190200894529ea3c379ffa78bb5b41eb3116338de1574d411404caccfe4869385a88414cdca09484a15224e350001f2a8e506ce5bd810919c3312985a6e259831e62a5d6db3b9d182991105792e3b3295e99705fb68fc58837fe399d8c1f6d09d297dd621fb342b27404912947adfbac1f923b2681f8a1dae72af36a9d1e4db1874d4e58ce470e258b21011a0e4b595f7c7f6051df58655287336d865b708ae9ffc514a73b95c2a95b2d96c8aa244a3d142a1303a3afaf5af7f5d1004c3302627270541c866b31b376eececec7cefbdf7fee11ffec1e7f385c3e15b6eb9a5b1b191c5b60000f1787cefdebd94d28b0d6818863135354508696868088542104259963b3a3a6c365b341a8dc7e36cfca1a6a6a6b2b292c5f5b76cd9f2c20b2f2412094dd316b9ae57da2ea278d75d773df2c8236eb79b7d62b3d95a5b5b4bb7c1184722114dd3c6c6c6befef5af8ba2c81a0421944824745d2f460c21848aa2288a0221743a9d822030179e526a9ae6dcdc5c3a9deeeeee7ef2c9276d361bcb405214251e8f170a0566789697974b92645996dd6ebf98b7ded1d1b179f3e6a1a1a1ef7ce73bec16747676de79e79d5792b4c4b929b14b9e90a3c12eb953da1cebe70533ab59b9bc955204874bf1871cf57392c7ab864d5248166652daaccf568920a20057ba5695bb5b4e4cbfee55cb438e3ab7ad8c50ace382470955badbd2faac08a5b0ab31e0a82d589926dfa6487620961f4748a094528a11807e474d9d6f5d2c37a6e3fcfb669660abf374f86c95ef0cff3f8f5a5eef5bef514314000ae8d58b097e80fc699ad6d7d7373131110e872b2b2b63b11800c06eb7373535499244296d6d6d651dafa9a989b9789148647a7a7a7c7cfcd0a14367ce9c79f2c9278b29c4cdcdcd8944a2ababeb8d37dea8abab5b9403c8d48d595ec55d58063242a838b851da9331c62c1579d1d0872ccba228628c53a9141b2d2584643219c330988e7f60bb20849a9a9a7eeff77e6f9151c9f468110e87a3b1b1515114d62008a1f5ebd717bfa5f4842f28431042a6927575751e8f8759b89224ad5fbf9e3d27d805b27d2f21647ebfffaffffaaf8f1c39323b3b1b89444646460e1d3a343c3cfc8ffff88f6d6d6d5c0139a508504250149028405110e44461dac25ac85e6fe08224d84424cba22a0a12a158166d0ed9278b36bfbd4a166db26817a028090a82220140b3728a6053457bc1cacc17a672462260af5145a72cda001492fa8c49349be82294a6f5d9ac1157259766a653fa9c452c495001001040114ab2a04a828a9060939c129253da8c80040405044545b04388ae91fc5996353b3b3b31314108e9efefdfb973672a95dab2654b6b6b6b329974381c5eaff7b39ffd6c5353532a95eae9e9492693353535478e1cf9ed6f7f5b5555f5c4134fe4f3f93d7bf6fce4273fe9eded1d1d1d6599251e8fe76b5ffbda8913277efad39fbefefaeb5bb76e65ee2153b16432c9863e54553d73e64c7f7fbfc3e1c86432870f1fd675bdaeae8e8dc012422626260606066a6a6a344ddbbf7fbf24495555558b6c22afd75b515131383878f0e0c175ebd685c3e168347ae4c891743addd2d2e2f3f9f2f9fc079abd8944a2bfbf7f6e6eaef8a1cd662b4df41304a1aaaacae170783c9e471e79a4b9b939954a9d3a752a93c9ac5ab58a597f4b892d844221b7db1d0e871f7ae8a18e8e8e42a1c0ae9a35f852c294e974ba5028ecddbb77d7ae5dcdcdcd0f3ef8a0aeebefbcf3ced34f3f7df2e4c9b1b1b19696960b26d3703e9a4008fdf60a1129b260532447ad67ad43f226b51908a05b09d925b75df2000014d18145cb26b989ddca1b2904449fad5211ec22522addad76d9137636ea664e11ec2ea54cb3f2696d1602e892fd6ed9ef10bd61677dc1caa8a22b64afcf9b29cdca7bd472a7e4a3141856dea504dc720800208bf690a3de22ba43f14948690e6c7629a1642192d1e3b26893912a0bb6abf4e8be80fccdcecefee77ffe673018b42c6b7474b4afafafb1b1f1fefbef6f6d6d2584ac5ebdfad8b1633ffce10fd7af5f1f89440e1e3ce8f7fb6b6a6a0cc3d8bd7bb7699ab1582c1c0e0f0c0ce8ba5e5d5dedf1789882b8ddee3befbcb3adad6dfffefd274f9edcb56b575d5d1d7384e3f1f873cf3df7f8e38fb3349a77df7df73ffee33fd6af5f1f8bc55e79e515b7db7ddf7df715530ec7c6c69e7efae99e9e9e582cb677efdeb2b2b2db6ebb8d65de14f1783cf7de7bef8f7ffce35ffffad79148a4bcbc3c1289bcfbeebb08a14f7ef2937ebfff03e50f637cf0e0c1f9f9f962de1f8470d5aa557ffee77f5e6a636edebcb9adadadababebc73ffe716767672412d9bf7f7f7979795353d3f9b6ed05515575ddba756d6d6dddddddcf3cf34c4747472c167bf3cd37c3e1f09a356b2e6db2b1197bd3d3d3cf3fffbccfe7c318bff2ca2b4ea7737a7ababcbc7c6060a05028d4d7d77bbd5e6efa711609a0cf560501a40a85103a251f44c867ab0400b0041408914d72438828a080520080454c04110408410421aa74ad1690d0e4df08004410894856458789b53adfba80bd56161404c572e72a4c4c049180240f2dc7c484101ab85063ada9f1ac9145870045008022dacb9c0d005008050040ada71341c1a394154f06c1abf5e4164b1f080e87a3a2a2c2b2acd3a74f17ed9d6ddbb67de6339ff9e4273fe976bbd7ae5dfbe52f7ff9a9a79e3a72e4c89123472084d5d5d5f7df7fff2db7dc4208e9eeee7ef5d55759301e00505757f7d9cf7e76f5ead5f97cbeb2b25210049bcdb666cd9a871e7ae8673ffbd9e9d3a7878686cacaca366ddab467cf9e3d7bf6dc79e79d0f3ef8e0e73fff79cbb28e1f3f7eecd8314288cfe77be8a1878aa91b6ce659369bfdd5af7e158fc7cbcaca1e7ae8a1eddbb72f0a262a8af2d8638fe5f3f95dbb761d387080f9bf6565653b76ec78e8a18714456136576565a5c7e359e4382384fc7e7f5555151bd85de4a2eabace5a29140ab13497279e78e2a9a79e3a7cf8f0e1c38759aad07df7ddb766cd9a582c56515181106202aaaa6a797939f3be5958b3b2b292526ab7dbebebebbff8c52f3ef3cc335d5d5defbefb2e21a4babafaf77ffff7d7ae5ddbd7d7575e5e9ecfe759be2184d0e7f3b1870a84b0aaaa6afdfaf5c964f2d0a1433b76ecd8b163c7638f3db67bf7ee175f7c91850baaabab1f7becb155ab56f1fc67cee2f00e14c0d99c3d012100003ad73f800b1b2c44dee473ff2a201100501c9615a06897bcb260b3492e45b4b37d10148ac714a02808227b51ed59a38a6e74d69f8500c2128113900400607ef1557f0814a36c94d2c9c9c9dedede5c2e57ecf06cce6f555595d3e94408514af3f9fcd0d0d0a953a7e6e7e71d0e474b4b4b5b5b9bdfef07004422919e9e9ee1e1615dd7dd6e775353535b5b5b30188c46a3274e9c4008dd71c71daaaa4e4c4cf4f6f60a82b07af5ea4020303434d4dbdb6b59d6c68d1bdbdada3299cce0e0605f5fdffcfcbca2288d8d8d1d1d1d6565658542e1d9679ffdf6b7bfddd1d1f1c77ffcc76cba6b7d7dfd860d1bc2e1f0f9dddbb2ac482472ead4a9a9a9a97c3ecf2ea4adad8d0d9b64b3d9eeeeee783cded4d4c4e298a523303d3d3d23232317f017fcfef5ebd7a752a9dede5ea7d3d9d1d1e1f178f2f9fcc0c0404f4f4f3c1e77381ccdcdcdab57aff6fbfde974fac891239aa66dddbad5e7f3c562b153a74e1142d6ac59535656964aa50e1d3a0400b8f5d65bbd5e6f369b2d5eb5aaaaab57af6e6f6ff77abdf3f3f3274f9eb42c6bddba756565656c62e2d4d4544343436b6bab65592c50609ae6860d1b56ad5a158d464f9d3a353636a6ebbacbe56a686858bb76addfefe7f2c7b9da504adf17cb4b6f793547332e53fec0d9b9598b2abe0882b0c875228498a6c926a5c9b25c1a54b22ccb300c365821cb320bd8b3c30200d834afe2b7b0d95dec6894524992d8a14a8f2f4912b3ecf2f93c93bf4d9b363df9e4932d2d2d2c7056aa5ce7df0f8cb1699a8490d243154f95107289797b171c0f61c3b5c52117d63294525dd7d97cb5e255504a59511936338fbd2d3642f16d71dc865d353bb2a228ecc3457b959e76b16d59eb89a2c8ae6ed12de0213f0e6749b1bfd201d64b99cd08b1348e0b1cee6c27bcc461cf7fbbe85097387e710355553ff05459c1ab8ba5435f224dfad219d410c2455f0d213c7f321cab88b5c4b7176c870b6eb6e8dccedfeb1297cce1702e2a7f373292246dd8b0e16b5ffb5a757575381ce6b17c0e87b392ceef0d0e2b8872417f9cc3e1706e66f9e370389c15840f0872381c2e7f1c0e87c3e5af085b3388a556143fb42c4bd7f50ba686946e6318c6a5b7f94028a5a5f37fc1d95c16f64931b3e4fcbd0cc360c91f00008cb161182cf3069cad995cdcfdca4f92c3e17c48112fad7d9148241a8dda6cb6eaea6a56fb249fcf8f8e8ee6f3f9603058555575c1b43bcbb2c6c7c733994c7d7d3d9bc37f7964b3d9f9f9f9e2b7b0b205e974daeff7db6c3656feafbababa34e984521a8bc526272721841515152e976b7272329bcd8642a170382c08c2ececac699ad5d5d5b95c6e7c7c5cd7f58a8a8ab2b2329e1fc7e17c44e58f525a2814344d73381cac7894cbe52a140ac3c3c3369b2d9d4e4f4d4dd96c36511463b1d8dcdc5c28141a181870381cc160f0fc41d85c2e37343494c9641c0e87cbe5cae7f38661b8ddee743a2d8aa22ccb894402632c8aa2d3e9340c431445bbdd9e4c26ed76bb65598944429224b7db3d3d3dcd4e201c0e1342e6e6e6fafbfb31c66bd7ae4d2693434343f97c3e140a95ca9fa6692323232cafb8a7a7a7aeae6e7676d666b34d4c4c0882502814fafbfbfd7e7f5959d9f4f47422915055757272d26eb75f894c73389c0fb7f597c964262727cbcbcba7a7a7dd6eb7d3e9cc6432baae373535251209562d4a92a4603068b3d992c9249b9f70419b31914898a6e976bb53a9946118ac5a5f7b7bfbe0e0a0a228aaaa8e8f8f4b9294cfe757ad5a9548245c2e574d4d4d6f6f6f381cce64326cfd8a502894cfe7b3d96cb13c81cd66733a9da9548a4d95f57abd994c6691f3cbaab0d8edf6c9c9c968349a4c2659c16a566ad4e974aaaacadce1743aed743a43a1d0c8c8482e9773bbdd3c9986c3f948f17e113d5675391a8db2a2cd1042162f63b3b808212c0c27cbb2aaaa4c83d8069aa60d0d0d9d3c79329d4eb3fa9dd1685414c54020904ea753a994699a2cc4a6eb7a3e9f8fc7e3a150a8a5a5455555167d63f3d2745d370c43d334d334154571b95c7ebfdfe572b15a2f0821b7db1d0a859823ecf57a4b3d564a29d3415996cbcacab2d9ece4e4647575359ba1c1768110068341562c809d3cab98521a4fe470381f39f90300d8ed76a7d31989449881168fc799b8a4d3694dd32449d2342d9d4e4f4e4e4e4f4fb35565d90ae5b404e6f9cecccc689a168d4653a9d4fcfc3cc6d8b2ac7c3e5f2c81679a269b24cbe4c9308c7c3e6f9a66b1f8ddfcfcfcf4f4345b57e8038726745d4f26936c63cbb2464646de7befbdaaaaaafafa7a45514cd34ca7d384103607b96824cab25c2814d2e974e91c5b0e87f351747e21841e8fc7e170b05525c7c7c79b9a9abc5eefd4d4942449e170389148302b6c7a7a3a9d4edbed76361862b3d91a1a1ad81c7b08613e9f77b95ccdcdcd369b6d7272d2b22c87c341291d1f1fa7943a9d4e4992d870442e974308793c1e565d5551144110f2f93ca5d4e572b195301142c964b2189863514236a755144587c3c154786c6cacaeae2e180ceabace8af4699a1689443c1e4f2a959a9e9e66e20e006093851545090683a3a3a39148c4ebf52eb1361f87c3b9993867d607ab22c50ad2a5d3699fcf6718062b3ce5f3f9344da394da6cb6442291cfe7bd5eeff9c5f200002c62e8f57ad91a209665298ac28acecbb22ccb72369b9d9898b02c4bd3b4f6f676bfdf1f8bc5988bed743ad9d08720083e9f4f14c5b9b93955558bb54e354dd334cd6eb7cbb2aceb7a3a9df67abdf97c9ed534f57abda66916d7d99065d9e7f3a5d3e97c3ecf56074608314bd0e3f15896158fc70dc3f0f97cccd9e7bf060ee7a32b7fcc9365a13170765989e2ebd2176cb30b4a46e9be8b0ec83cd9b9b9b948244208b1d96cb5b5b54ea7931052dcfe62dfbee80c8b7f62ce2f1bb36631bed22b2a9e6d51a6171dbcf44f1c0ee7232d7fd70036f04a08614930576e769d2f911c0e877323ca1f87c3e1dc0870bf8fc3e170f9e370381c2e7f1c0e87c3e58fc3e170b8fc71381c0e973f0e87c3e1f2c7e170385cfe381c0e87cb1f87c3e170f9e370381c2e7f1c0e87c3e58fc3e170b8fc71381c0e973f0e87c3e1f2c7e170385cfe381c0e87cb1f87c3e170f9e370381c2e7f1c0e87c3e58fc3e170b8fc71381c0e973f0e87c3e1f2c7e170385cfe381c0e973f0e87c3e1f2c7e170385cfe381c0e87cb1f87c3e170f9e370381c2e7f1c0e87c3e58fc3e170b8fc71381c0e973f0e87c3e1f2c7e170385cfe381c0e87cb1f87c3e170f9e370381c2e7f1c0e87c3e58fc3e170ae8ffcd1124a3fbcd8c6bc41391cce8705f1127fb32c2b1289188601001045d1e3f1b8dd6ecbb26667673d1e8fcbe55ab4f1cccc8cd3e9f4783cbc59391cce875bfee6e7e7ffebbffe2b1a8d2a8a2208426b6beb3df7dca328ca2f7ef18b3beeb8e3d65b6f2584504a218408a16432f9d4534fdd7aebad9ff8c427000084100000420842c8deb22d0100104208212184100221140481df060e877363c95f2e97fbcd6f7ee37038eeb8e38ef9f9f9975e7a49d7f5eddbb7cfcccc64b3d96c363b3c3ccc2cbee6e6e65c2ef7d65b6f0502818f7dec63d3d3d3c3c3c38490fafafa9a9a1a00c0e0e0e0d4d494dfef0700545656ba5caee1e1e16834ea72b99a9a9a028100423c0ac9e1706e18f923840882b061c3862f7ff9cb994ce6bbdffdeea14387dadada62b158269379efbdf79e7beeb95c2e0700d8be7dfba64d9b2ccb22844c4c4cfce8473f9a9e9e1645b1b2b2f20ffff00f2dcb7aeaa9a732998caaaa994ce6a1871e0a0683bff8c52f72b91ca5f4ce3bef7cf4d14717b9d21c0e8773b5f9009b0b42284992dd6eafadadada8a8482693b158acafaf6f7e7ede300c9fcfd7d1d1914ea7f7eedd1b8bc5d82e6fbffdf6d1a347efbefbeefbeebb6f7878f8d5575f7de18517c6c7c73ffde94fb7b7b7f7f4f48c8c8c747575f5f4f45454545455551986c13c650e87c3b951acbf52745dd7344d9665511459200f633c3b3b9b4c26d3e9b42ccb9665b12dbbbbbb7d3edfc73ef6315114f7eddb77ead4a942a150595979db6db74d4d4deddcb95396e5c6c6c64020b07fff7e59966d361bc698df090e877363597f84906432393232f2f6db6f77777737373707834108a16118bffded6f6766663ef1894f3435359546ee42a15032991c1f1f9f9a9a4a26936565658140201a8d4e4c4c0c0e0ea6d36926945bb76efdc217be505151f1da6bafa552297e27381cce0d64fd21840821afbffe7a5757572a95aaadad7de081077c3e9fcd666356dbd8d8d8cf7ffef3a9a9a99a9a1a4aa9a228a2287eea539fdab367cfb7bef52d599665597efcf1c7755dffce77bef3777ff777966565321908e1dcdcdcaf7ffd6b9fcf178fc7ebeaea5455e57782c3e15c63e02572953399ccfefdfb13890484d0e3f1b4b4b45457576b9af6eebbef363434288a72f8f0615114fd7e3fc6b8aeae6e7070b0bebebebebe7e6060e0d8b16396656dd8b0a1b5b5f5d4a9536fbef926f3975f7df5d5bffaabbfbae79e7bbababa060606fc7effc68d1b6b6b6b4551e43783c359dc3f21e48d707de48f7185733928a5afbffefa4f7ffa535555b3d9accbe5fac637bed1d2d2c29b9ec3e16a7883cadff99f5fb60e663299eeeeee9191115996dbdbdb5b5b5bb9adc7e15c89ea711dbc5af277b1e9bd4b99f6cbe170565cf296f29a7319881714be452f4affe5f2c7e15c17f9bb98d871115c01f9bba0d215df168bbe9c99a34ebe00002000494441542f851c0ee72a695fe934f9f33760f3e88bb3e93997e9fc2efa7791ea71f9e370aebbfc2d629155c815f032adbf455e6da9d8b1091eecdf45b2c8db8ec3b9aaf257aa7dac78127bc13ddfabe2fc1629ea5da9fcb199b9ec5f6e037238d7c0ee2baa5eb1b25cf1c5a22db90b7c45f2b74804c95930c6c5d7177484b90e72382bae7d4550098220b0178b3c36ae8097297fe747fa16095fa9fc154590db801cced590bf45c1bea2ea9d1f7a2a7ac1ec2d17be95747e199665e1b32c92bfd2082057400e6705e5af34d2c7e48f41296553064a074038572a7fe76b1f933ccbb2b2d96c341a9d9f9fb72c8b49dff9eb1f71f1e3705640fece1bea450841884451f0f97cac4c3a8b038292e06069fa0bf77f2fd3fa0300947ab81863d334d3e9f4e1c3ef9e3c79329d4e132676e7461db8fc71382b287fcc085cfc1a42a7c3d9be66f59d77dce1f57a254962abe530bd6370edbb1cf93b3fb9af287f96654d4c4cecdbb73f9e48948e3471389c6b4c22914ca692151515eb3a3bd900c8a26ecbbbe7955a7f452f9879bea669cecccc46a3515996793d7a0ee77a42693a951e1b1d6d6b6d952489d5e23c3f0d90b36cf9bbe0a00733000dc3b02c931768e1706e0001a49aa6b305c51845112c3500b925b86ceb8f5e88e2482f37fd389c1b41fececfc0057c16d695c85f69f2caf93660f1e5126f1000a018b43df7c65d795e123bc8058fff01bb9dfd6abadc7d399c1b4afece75cfc8f9c2c74dbfcbb1fede179873f39f29a194608cad8bed2fcbb2dbed96651900609a662693d1346dd13682204892c852082f781087c3e1f178d86b42482e97cbe5728b345714454140966511f201cbc2298ae2f1784451a41498a691c9644cd374381c8220e47239d3344b8e29b85c2e8c49369be5162ee7c3207fe7a4dc2eca3fe35c91fc8173e7b19d35ff2eeafc4208c3e1f0c73ffe71bfdfa7691a21e4cc9933fbf6ed67af17262742545959d9d6d676fcf8f1582c4609258440744ed2e6aa55abeebbefde743a4d08d134ede4c993274e9c340c0300400945084ab25c5757575e5e7ee2c48964320901a0ec410720125031f0c10e180e87efbfff771545d134cdb2acdeded3dddddd8d8d0d6eb7fbe48993f1781c1302004008b9ddee6ddbb62593a903070e98a64908011440b4104e2e5e0228c9b0e770aebbf3cbf56e25e58f5e9cb3832017963f8490c3ee686969999d9dedebeb6b6868b8efbefba2d199c181c1ea9a2a8fc7934aa562b15847c7dabbefbe9b607ce0c0c17079381008e473b9a9a9a9743ac36e643018686969d9f9fc4e669dcdcdce793d1e57753580c0edf6cccdcd66d2d9cdbff33babdb576733d9e84c549165455128008490c9c949086159595932914c24120000a7c3d9debea6b7b7f7cc9933cd4dcddbb7dfa5691a424812650060b8bcbca2a282601c894404416ca86f98999d4510050381caaa2a51142391c8ecccac2ccb55d595369b4dd70dcb32a7a722854281ff5c38d75900c9056ad08192f01f1ffdb822eb6f918d5d8c325cea8610d2dfd7ffd6eeb76b6b6bdbdadad6af5be7b03bb6dd75a76998008253a77ac2656197cb555656d6d4d4f4bbf77f8a9975a74ef5ecddb33797cb8185ec69a8eb86a6e9d95c36954ab7b7afbe73dbb6783c1e08f8354d7be5d7af0402018fc71b0c056b6a6b56af6ed3757d6a6aaaa9a9e9a5975e8600de71e7d63d7bf6cec7e7010584124270cfa99eb7df7e7ba27df2d1c7fe70d5aa55994cc6e3760702814fdefd0987dd6198463a95debfff000b070602811d3b76f8037e6c5914d077de7ec7ee70dc71c756d330ed0e87ae6bbffce5aff29379fed4e55c67f903ef97a1e39eef55913f704e2d037a69f92384d2b356793a9d2a140a76bb3d934d0f0d0d29b2b26efdbaf9f9f9442291c964868686d299f4f0d030a5b4735d674bcbaa63478f663219f6453655edececd0757d2e164b26934ea7cbebf5befbeebbd188f3ee7b3e2949d2d4d45420189c9999696f6ff7fbfcbb5e7d757060b0b3a3b3bd7db556d06caa2d954c322b95b2c25c94589695c9a42dd3b2a9aa248a1eaf07213839390928686c6cece8ecece9e905940aa2d0debebaa1b1feaddd6f251289cf3ef2d98f7ffce3b95c9e60b277efbe5b6fdb525951298912773a38378000f23a23d724f6572270e4624316945236108131364dc3e9743a9dcef9f87c3010acaaac9a8e44745d0700140a05c33052a994d7eba9a9ad99989828140a02120080ecc89490543ab573e7ce64326918462e975bd5dc9ccd66c64647bd5e2fc1841092cbe70c43cfe5729665cdcfcff7f6f44c4d4df5f4f4747474cccece4e4e4dceccccb0a32dd425c49810ec703a45494ca5539224514aed767b7d7d7d2c16cb66b31002414414500491d7e7354d737070707e7e3e954a955794cfcccca653a93367faeb1bea42c110261863cc7f739ceb08848002bedeced5777ecf7dda908b0fb6524a2982a87d4d3bc678e3a68d0080d3bda76fbffdf6b270d9c8e8a82ccb80020b5ba22886cbc3e5e1f29aea9aa1a12149920000846076640aa8a228ad6dadd96cd6b2ace9e969a65618634a169e7504139bcde6f1b845416033522ccbeae9e9b96bfb5d9224eddbbbaf3858ccd2413bd775daecb60d1b3698a6d977baafb5ad95525a5159d1d2d2323939e9f7fb0524b0488a611a9313939d9d9d9b7e67d3dcdc5c4545457777b7655acdab9a3f79f7273b3b3b5545059412c2e58f737de50ff2d9f5d7c2f97ddfff65ceef45863e28a1c944b2a7a7a7baa67ac3c60da9546ad72bbb4e9e38a92aaac7eba9aaac3c7dfaf4e8d8e8e4c4e4d0e0505b6bdbc18307ababab6b6b6a47464662b198aee9ecc8d353d3a74f9f5ed7b98e02aa6b7a5757d7fcfc7c6f4f6f2a99c218bff7de7bf3f3f38490b56bd7565654cecccc6433d97c2e4f3019191e999a9c2a140a67facf58e642764e32993c7efc78201058bf6efdecccecfefdfbfbfbfb5555cd66b2fd7dfd5595552dab5a2627270f1e3c188fc7fbfbfb9389e4d123476545deb46953c7da8e03fb0fbcf3ce3b5eaf575194fafa7a01098661608c09e6ce2fe73acb1fa13c3d6b459bb4388786d538304dd3344dc330745dcfe5727bf7ee7df6996745e1a22a298aa2aaaaa228524a755dd7759d522a0882d3e964e5020100c5b4bb543ae5b03b00008661200475dd60eeaa24490e87a328bbec20a228b2115b45510a850284d0e57231bb0f42c8726b6edf7afba73ef5a9e3c78fbff8ffbdc8be8b9d92dd6e6773c28ba7a4280a42c8300c55556d365b26931145d1b22c41100821baae0b82e072b9044148a5529224dd7efb6dabd7b4cfcdcdb5b6b66a05edd9679e8d44225cfe38d757feeeb9ef9efbefbfdfe3f1288a229d4514455613f0fc5590389769fd9d13fb0317cd34c618b300dfa20fe3f178e927c56d0cddb8e041ce4f962e52fcd3f95fd4d9d1313636b6e7fff694fee982a794cfe7174ec030d2e9f4f9df625956712fcbb24646476bebea9a9b9b1389c4dbbbdf8a46a34579e570ae8ffc21581cfae05c13f9a3ef8f6fdc80fcfce73fb72c8be54bafe0610d030f9c3933353565b3d90cc3c866325cfb38d71d0410e5c1bf6b297f0b231f37aa213d3b3b7b958e4c08492593a96492ff443837105cfdaeb1f38b31e671040ee7c6503fae7fd7d4f965c61f973f0ee73ac3135faebdf30b08a110f0e1760ee77acb1fb7feaeb1fc09481010c416e62dc5e15c67cf1721c80b56aeec13e512797f9aa6a5d3e9c874c4340cde521ccef50509a82c1c0e068376bb9de7fd5d75eb0f21545959b971e3265e0a94c3b9fea60a04894422954af1a658b1270a6f020e87c3e58fc3e170b8fc71381c0e973f0e87c3e1f2c7e170385cfe381c0e87cb1f87c3e17c1811791370381f2e2eb62c2d84b0b8dce54d5316f0aae66f73f9e3702e53832ef1f6ea08c1a596e4a637697592450d5bbcc015b9d225c91f9f66cde114bbe3c2daaee7f44cb620d755973f8c31c61821c4fe65941a7da5f3de6e3e4ab56f45a6f771eb8fc359b2f411424b5619278430315cb010aebefcb1050e218408a1a271c496362c9df37b53ca5f51ecd8e517ffbd12055c8afcd14b3fd7d80de07d8373936b1f000b828731399795f27c8ba27631f9d3348d2df2c53a1dc658144556f2805114889b55fb044160572a0842698b5dde255f91f54729c5d8324dbe0e06e723e0f4524a08c5d862cb0d628c2d0b330da2740514905200219424e962220821c8e572f97c9e956562b55e4ae5ef26aef8522a7fec92d952e08220301dbcbc4bbe22f9636baa499224cb322fb0c3b979956f41fe30c6a6892ccba2673f821040080881e08a473f8a0bc38aa27809f3509665841044084058dc0b21042133fdc04d2d7f481008c6b8187f607f2a7ac1d754fe08c11042b6862fef249c9bd9f0a3146302216472a369dae9bebec1c1218395c25ca1d01f5b529109d9c524925202010410420816fe5be8f9e7f4ff9bcefb3dfb0080c8e974747676363535b2e741d1ebbff6ceef42a081af3dcab9b9e5afb424b06118d391e8bbef1e191b1b2f9a81bc0b5c1b58d48f501a0a05fd7e7fd10c2c5a82d74efe169e48b4646c8452b65e385b1f4e926449920441e035ba391f5af15b58ea9ad5426785d073d96c3693c5183b9d0e555509211813be14c755778021340c3d93c966d2994241334d93c5018b59dfd7d4fa036703c2ec352644d7344dd3582c1663aceb194110ec76872449a5e776366980b258e6a50322ccbabc89b3993837b6fab19f2bfb9f608c4dd3228400402551dcb861c36db7dfa6aa2aa08027c85e6d4cd33a72e4c86bafbdbe68d8fdb24def2b953ff6b3608a5628e44dcbf278bc92242d0822b672b95ca1500010888258d4be6c36333e3e9ecbe53c1e6f555595c3e1b8a0b45996393333e3f7fbe3f1b8aaaa7e7f802b20e77af8be0bceaf6561cbb208c18412e66bb9ddeefaba3a97cbc59be91aa069dad0d02005803d89ae50fbae5cfe16d28f000018134dd7dd2eb72ccb84520820010022d1e974653269d330e1d9c161c3304f9dea3974e8a0208808c1ad5bb7ae5ab52a914c628cfd7ebf2ccbc964b25028b85cae6c26f3eb5fbfb26ddb9d914824180cda6cb66432a91b86c7e3b1d96ca9540a636c1886dfef773a9d5c173957d3fa2384104c3066992e842cd88494f0bcd76b06b3beb16595cefebb92035ee9d0075d9803044cd3a4944a929837f178daf0a962d6203a214d1e45969542212f8a024408006098462c36679a666363a3699a08a1f7de7b6f7068481484b27038140cf59eeed535adacac4c14c5dede9e9a9a6ae6e4f7f6f69e3e7ddab22c7f20b0aab9f9e0a1434ea7339d4ad5d7d76fddba555614fefbe05c0dfda39432df97928557c56e472928cefc38274e55a29e9ca503cf7df05cc8da5a68fcb3330faf882b767ed9a38f020b5bd8c21893b481f78ea6280500822ab7546d47324218630b6316e41345b1a6b67676767662624292a4ea9a9ab7df7e5b1445b7db3d3131110c86745d5bdbd101015455d56eb70782c1bed3a74dd39c99998510d6d5d59d38714240a8bfafefeebbef0694f6f7f7dfb2618378d6e3e670565efe1643cfcae2c29f4af7300898d770d2208a004336d12d5e1511644a00cf4b7963d128c432123f6c642c1acd638b50bf22f85524c145d6dffb361f3db7fec3d5923f7af127182d99f106212494e8862e11d0e044fbc6b23e9bd050a1406c1914438800056c4bc330744d0f97973becf69327bb4ff7f6a652a9c6c6c6aaeaea423e6f1806a58adfe7d775dde17048926c536d84520b634a88cbe5f6fa7c0040660f3634344ab23c3b37c7562be65d957375e58f2efc4b8bfd8202362652f48752063d11d77be35ad6242204154e695b85a3dc86d08a6a11212412890e0c9c696a6aaaa9a929fdbca7a72797cbaf5bb7ce665317ed552868838303d168341008363535616cf5f5f565b3d9d6d6d69a9a5a8cad687446d30ab5b5b500c0818181a9a9c9b2b2705b5babcd662bf5f992062604f8556105059650309ac58767f2d3398b50ea5584d53ea523a0b84b064d292574452b4b5cf1c82fa167a3c0901062188624c96b03b257720908846d105062e8c6426ee05981d274ed4c7f3f8450d7f5e6e6a68d1b378e4f4c44a6a7ababab5d2ed77bef1dffcd6fdea9a8a85cb3760d847060e08cdd66f7783c8a22f7f6f68e8f8fd96cb6b2b2b0dbed4108499264b3d92080ec34389c1556bf85f206250e30eb830bde173300177e7b054c4ec58dfd93b9f9bc61a706a6209a56b145efab737ae595d43f8c49341a3978f0a02c2b4ea74b10055551d3e9b428897d7d7d333333e5e5e55e9fd76eb7e7b23908a1d3e984108e8d8dbdf2ca2b2cd7623e3e9fcd6687878628a5fdfd671e7ef8e1d1d1d10307f6bb3d9e071f7c706e766ef7eedd8a221f3c781080cf747476a0b3c9d81903bf33928e6bf8332dde806dc56aa6a44cface586630a9c9c08280ce66c4b9ac2903d01994e5b38f0e52d2f22b62518b57f8d32094e2b38f3e4992f3f9bcdb25aa126cf04b10000142c33030c6a22416d30345516c6f6ff7fbfdd96cd66eb79797971342229108a534142a5314a52c1cd6342d1008b8ddee47fee0115114ed763b9b5a575e51a1eb7a201070b95c3e9fcfedf128aa1a0a85549b8ab9f5c7b96afa8709c164c1d32dba5bf4fd5161cc9ca164019f9e2bcca60a3ec1dc5c619f2cc09e84d93d935de3935d3e6105f31608c1a669e6f3f96432f1f6db6fb9ddeeb56bd7bef8e28b6b3b3a745d4fa7d3c78e1dc5986cd8b0e1f0e143e5e5e5b7de7aab2449baae5556553537351d3d7af4746f6f32995cb3766d6545c50b2fbc30393569984636970300e89a3638386059e6bdf7deb373e7ce9e9e53ededab8120b0c6e89fc91f1d49250a56b5827634bb8515316b211c48e8fdb13c26745dd856a680bd53b9d934ee9943754e145051f1aa5736bb7c09f2472f5ac9ac18fd606f6559860064b21959960541a0005884589625891284b0b819004055d5bababad26cbee6e6e6e2dbdada3a001692189b9a9a4a9a0836343480b3b9ddd535d5104259969c4ec7a2e373382ba77ea068feb1da2e8b424dc5a10f4269aa608ec60b966eacaf7528823010cbcde78828c089a4b6da6b5f29f163a11e7616a6694667660cd32c68daf8f844754d0d05409665499206074f4bb21489461b1a1bd91ce1d6b6b6dababaf7baba92c9646d6dedfcfcbcd3e10c048294524337d6ae5933353535373b87094924938228fa03018fc71b9b9f372d8b8d5b520a9a03ea576e2b2714d825c4ae7a25c20b6422a1c5d23aa6b41fe2c646d7baa0ba7b343b9140990ac52bcbecc141567a72cd155a7f009458fe0000519210428450cb32d8546449922044e4c29e293c77f8e69cb7e75fe8f97fbac4c61cce0a3abf2cbf7521f599921217ecfda10f42292416b4f078dce8b6cb5b2a4564e8b309cba18876442ccb5aa9a9f1afeedaa5288a6ab3514a01849450d3340bf902c6161b0f01108642a1e1e1e193274ef80381b2b232169bca66b3070f1c387efc787bfb9aa6a6a6e948a4a015b2b92ca55496250021049049bd2cc9d8b2f2b95ca19077bbddc5103fa5604eb77ae246c122ed7ea545928495107542881d81f9b46658a4d1a6640d7272469b98d7c33611128b9005c399120200012be5faaed0c82f2e1db08608090014ef34fb85f05ec4f950ebdfc2b0c7429a5f697d2b5a0c7f034add2268f108bd11face40722e6da475609a787585a3c60e28a114ae4ca7cd6432c78e1d0b8542a228fabcbe443c1e8d448e1f3f5e28142042082251107c7ebfc7eb3d7dfa745bdb6a9fd70728c0180f0f0dbdf3ce3b7ebf5f51145dd78381c0f0d070341275b95c6565614001424814058460754df5998133070f1e9c9b9b5bbf7e3d82a8185b972198886b310ddf1250e00a996318e3555ea1de259f8ae62653e4c59e64cf4cce6b17dbbca243a09450263074a5abca5e99fc4156f20f5fa24605877353587f04974cb35a30fd1646fe4831ee6c97e02d412159a31e9a280ccfe52401ad2b53ee6fb4f954002058a9f0f4e6cd5b0cc3302deb77366f6e6c6ab2dbed2c7074cb2db7545656fafdfe603060b3d99c0e672010a8aeae9624899d3c44a8a5b51521144fc47d7edfc68d1b7b7b4f6732996ddbb6797d3e8c716d5dadcfef5354b5b1b131168b45a6a7376edad4b6ba9d82f743fc01196eabb46b9854d9d14aa55b40083d22fedd261bc4d6585cc794d6b8c45b6bec1d4151155171d8009fdbf8d759fe58d141d330019f8bc6b9d9ad3f0b5ba66998a6619a262667735f289bf7b9a00208a17297744f83add527ce674d5516ea7d72b55b9004f1ec1e2b404d6ded430f7f9610c2ea89389dcebafa7a84100054100416418ac5e6e2f1f9a6e6e6f28a0a00213bc3a6a6e6fafa0676105628b4bea11163acaa2a845014c5b6b6d5ac86a8aac2bbeeda6e18862c4bc27927dfe81501a0909215ccb69044716d400876b886629a4968b95baef7ca1ebb08cf9e3c282e33b07206e095c99f203a1d4e5dd431c6bc9b706e6eeb0f5988526a5916b6b080d0f9b1bf856e2c497e277429088615002142489625d67557f0ac8a2551d961a5929c7f56f15492e49696567fc0eff1b84bd5b9b4341ea5b4b4620a00efd7af63e6a4a2289738f3150fb7db6d6ab56856b84408288050124551144ab39a2921805e3215f95aca1f84908d31f19107ce4d2f7fac929b28880821511217b2fe2e34eb4014040141560df36cc4ea5a7710b7dbddd1d9c9861f3f44dd5312454904c52490454d576c6f70830c7d809b7469150ea754fe404961610411a01014930ece9bf456ba2fb87e6909f06c35fc0f75b397c2227f2b6944f3df378773995d14d08592073ce5fe9ab030f201562cfd8fcbdf557f88811b232db1f41c4a974ce5f7e832a50f50082042c8d0357863167681f03226c8dec86b5710424401c195ab1dcfe5ef2aca4d41d372d95c2e9f3b5b1ff8ba91cbe5745d47c2c23ab0a220cab2ec743abc1e8fcbed1610cf5b5aaae68173c34e8280bc5eafdd6e5fd6714cd3100471e90bf440080dc36083b34bdf05630b63228ae2d21f720821d33431b6647979e5e33e708dbaf37b075b0f6359a9e08410a7d3b582cfec2baaf8c2b9c47dcae572994c4692a5b2b2902449085dcfc5f0b2d98c2c49cad9928818937ca1904c26a6a62321d3f4fbfd7cadbe4bfffee9b9da478ba510281b5d58d6f383b25d96257f6c2dc765ed420842882e6b11487656842c7bed34842000cb38bdd2b65bae79ba82eb4a71ebefaad87df97c3e9fcf87824187c3b1c2a58e2e0bd3d0655956551500903749d6222eb7cdeff325128989c9494a412814e48e30e7a30697bfaba035a6592814bc5e8fdbed5af4702b5d928aadd65c5c168ab067eee52ed8bc94800ea5d422b47726f7ee746e53a5635db9c3e7f31142a62311b7dbc5c491b3e4871c28967df9485d38a60000b0f4a9be84028b5000a084963a3d8202800920940a1022b428d4b72255ee972e7f74652b0cdefc68054d1444bbcd0e4ad20e2805a6694e4d4de672b9868606cbb28e1e3dca5ed7d4d40c0c0c4c4d4d555757b7b7b72f3790b434677c61d27ea6600ecfe54767735e01347864bf5df2f97ce94c261e8f5794977303f0a2bfff8bfdff910ae9509035c8e998e152e02abf2c2dc1adc1148c25cd9e39c3c474438552eb59ca4e20a39313337a246355bbc5ceb0e294d185a21137a4f59735c944d2702a824f15e2056c621ab00b12820450dda27e55d430d12c0a0170caa86011dda2699d50003caaa05b44c7d4a3085e5510d187b4b350d334154561956f4a4dc2a1a1a1d75f7f4d92249fcf3f36367ae0c0c18a8af29191918e8e8e9e9e1e42c8f8f8b8c7e36d6868402b3d16b1b03a02a59280d6573a9a03aa5d165411315334e0f74f472218e3a587ae3967bbe0474801f326e99e355e1bc8ae2f571a3cb2b4841fa96691d3317d328373068590963904fb12764b14f040dccc1a2492b52a5ca2433e473357f0a1b3f23ff7f7a60b8a241430994c99058b8a084d652c8b1009c1e184b1a3c19933c968c22858f4960adb6cce8ce571d821a9324a696422658a028c6671b34f0a3b3fac5d91cd9a5c944080100a87c39595553333338661f4f7f7979787b76dbbeb99679e3e7efcb8aaaa5bb6dc7af0e08168345a535323adf4ba254c9421840200554e449d080200a96918ece4a0853126848b1fe712a8226af2cb7ebbc0ca1e822524a0a802da5c6dafcfe13707b326016069392b654ef1b61afbdeb17c46c722ba984b72bd4b1e5ca4a7c148c62a770a1082948e25446501e60ca20a100178266e7864a4619a31c84cd64a1448226f21009d9610b4a3a4660902122130894401f8907a62f442f63942d0ed76058381787c9e5292cbe5fcfe80dbed6255d81c0e87c7e346081986412959719b8252a21b26c6174ebe6175e2788863b94f144a3f5ab33d45047c2a74c9cb8891200400a52767340c6067b94d15e112ba0f2084ba6450ef934e44715ac3c4259eeb32dfa869cf84d2729758e94673796b2663aa12aaf7a9011b3a1ec91342ab3c22807032632a085638c5ac49929a8510aaf4c86e454080da64c1210ba645d08756fb000010420b1342e8e225b816824510421408046766a293939382209697976b9a363e3e619aa6d3e94448b80a9d0aca922cc932a50053b60c1f10ce663d634bb0a92ae2d97fcbf67d3f720f0c0880088108e112738f358b1e9e2cf4ccea1d619b0828a1142d413b4753d69eb1825b8122048bb596aea4f7bbf2bff8a48627d33aa1b4d22d35f9a466af10506199430c39c40a97b4b64c512514728a751eb9ce23879c52c821260a389231344ceadd629b5facf18892083fa4bf2c08a12449a6695cb00a8ec7e30987c3aaaa6edab4319fcfefdab5abb5b5e5ce3befb4d96cfff77fbff5783c3535355729058fb567ce22c7e78d37260ac76246c65af81d1986a1aa2a0ffc5d8efa7dc4045080e0964afbea329bb8b4a15f4a41d021af0ed94c0ae60a042fa1b92000d56ea939a81a14dd56e368f09d3b5a02c10db4d2db623585705db92d6d100941bb0821a0ac995687144a01824044f0ae3a070400418020a8748b9402035300802240114101028f0a04f821b6fe544549a5d2f97cdee53a27431d21d4d6d6d6d8d8e8743afd7effe38f3f9ecbe582c1a0c3e1f4fb03e974caedf678bddeabd56109a1842040e339f3e8547e4ba50d7a45402026249d4e07833cef6fb9eab7720b8e7d784008ae2d5320a04b4c7cb1497053a5bca142010020089668d5b815b8bd4e2554152110cedde5ecaff4461df9550410b2a11229671fbedf5ab612ff9f0def3ace5dcdf8c33eff40966555553299ac200876bbbd5456ec767b31af251c2e2f7e1e08040281c0d5eeb184520581b53ed109d57a9fec10a185ad6432a5a82a4ffae32cd9f96ddeeef70000200049444154a5cbdc1e8065fa72100009d20b5b40374ebd3fcec5fc5f87c341284d2493ba6138ec7636107c1d4f0913823166d13dbf8a3c65aa00693e9fd70a0541107c3e1f37fd96fd38e1e9b0d735ea708de48fcff9bd1c1f4110dc6e773e9f2f140a86612084aeef7228d96ca6b8d2d8c2444b0a28a08aa278bd5eb62a29e7d2fd6df1b4df85255e79cb5df3e74ee94a53dcfabb916d4045514cf3a21927d70cbbddce0a6c2ca833428220c8b22ccb321ff0bd1269c498e8ba2e086839dd17606c616c2dc7e286966542082d6b79f5515891eaa57f1184d0b2302178b9ab33b281bea59f1ea58010bcdc920794528c09b891d39e39e7b4efd9b514aef789d82f58ef8fdfa02b441090a2c8cb8a9c32f95b663c049aa680d0b2ca4341267f82802e43fe969b78cfe46f59490b181308c1b2e48f5dce4a764ffe0bbe3696203f879bcf2766c3be102e2fb20121b5ac8520c432efddf2762184b0e25acb2a780500a6142c3f568397757a671fc670994dc71afd069ef3cbe17c34d4af98ffb2dc4908f4f28a962c7797cbf8966271f2cb3837b09caae6c5afb88cd35bc1e18f95acf8625aa669987cd537ce4d257494524a179c417a56f04a52ff3e5027015dc63ad8ef4fa65d4eea2bb3452158ce1795cc9e58fa8ec5d35b962f41967c6ef4ecf92c5cd1051a61413957446556d2fa9325599165de6138379ffc614c4cd3bca0f577e9ce3c9fc706266187b4949815a120a9e194860100650ec9212f556372069dc99a08824a97a4884bda4bb7682c676998520abcaa1072084b39bd9486e7f25844a0d225aa4b28ca4401c819643667110a2a5de2a5cbbd500ae2052c0bd026c1580ea70de2b7097e9b503aeb03c11b35f6f7519b01cef9e8c8df79bfec0f163f0a404a236f0ce5f3067eb4c37d6ed1ba8b49123932ad4da4b14b4677d42087bca4ee6911da1529f4c40c08e13d8db0c1bba4518bac49fae2e644da9a4c9a77d6d9b73b6c1fb84b5a27fb270ae369cbc4f4138df6d541e5038bf7e9163d31a39f9a354c4c6faf513bc2cac50afe59840e27ccfde3858eb052e5167f339a9fcde33ab7b8adde1eb09548332cdaa02ba0353ce981c359be262e41ff4c4c4fcd6a136973206e984b4b232958743469620add36519597da37333a3916d1740c09853963a9268857113656d9eabc321260857b49f9bf39938c262d5944f30512cd2e65fe2ec81aa43f663864c1a5082766f4ac71d19d4c024652f868448be5ade9b4359bc70d3e793c6dcd642c422fe020af085cfe389ccb52404229b99400cee470ffbc19b409ba45356b896974b0cc21b96478325a189cd797eaf99a346b5008404ac333396ba97e1f0212a01349bd33acd67ba4258a0584603e4ff2265d62645212a04b1562796b3c65cce5b071f1765004784bb95ae194080579932000c2760429c899e799de2be76672f9e370ae0a59839818c6f238a1914461a959c43e1b6af249864566737889bb2802742aa8da254008a632d6128581523a9e3267b2b83d24cb4b49d7a320675203d33a8fe8b7a1a466912568902ac23a8f1c724800209f4d502e1e2e4410384520218020b0498249e84cd62200d8a4abb81a354f7cb9ea912370632c73ce593a1f9c16fefef0ef45a9f1489f6a1106e6cd9c497d366169df0b62793c385f201436f9979a4aedb1a166bf727246cb9b7475bd7de963b8f102093a84806d694b1142e05250c02e0e270ccda2152e5958c237410030a5d3191353da19561d97f4e821026e15d92414760a8a241c9e369afd7299e3dc5aa70b79283cefefc6563d4dd3d2998ca6e9d8c294cf0cfd50a9dfffcfde7b75c9756569627b9f73ae0f6fd21ba40108802408da2a164d75d3548d5ad5a3715a23a9f5a0d15ad22fd00fd0b37e8066e955eaee91ba6a75f7ccacea29db5d6455816491a003e11326bdcf0c7fdd3967ebe16606331399c90c208102c9d82b171999881b71ddf9eeb7ddb739679665a553de1ec19e7b11e4900beb19e819bcd7e3e7fbadfcd172b8190b7f30917af5043080fc91e78c1b0cfff484f3d2900b0479eba8e53288f85cbff3749f9d368e887e5072f9bf389df2150240d6a4a3a0a6c1f1995e6ba2600140d684c3e77cd81cfffba773262393e3fff05426d2e80848190ff14a1f09feba6bb723d35ad76bf546b3e9d876b99c16423c0ea37ebb76e44717482983c0afd6ea7e10e4b2d9441262f7cf57677e71cb33dda5f676b871c48c09994ed11a206560a7308108ae011da9aa73848c89995dc7f7d5fbe60a70c5517729676d7d72c1c64700485df677fcd857abd5e2580ef4f7398ed36d35fb5a98d244009c2110c49a520c31970bc3707d7da35aab6732e97bafe3b772d4e563f0706a93ee47d4f5d1b54e7c5edff795523de5a2e7a5ee5933a4b506d8a5724144c980f37d8132a938638c256f83b65cd5ee371069c692d9725aa9ad4f6b8f9a4b5e249b3fa431ea5f6be0ab856ab12e95a6b4cd49c3ba1f973db3e872cf7519674b4b2bad96efbaceb7e71ebeafa6377854b7153dd6ec4f6a921a38038361a2308c80f1b6421767a0342462f700a00904c3e43511845a33c4a430120194264090c9fb19108126101cc5e3ba7eb5d6611839b663dbcebdf750abd59c9d9dcd66b33d3dbd6d08abd76b0b0b0b7d7d7dd9ec1e997b8aa2686d6d4d29d5d7d7bfb1b13e3f3faf942a97cb2323238c6d85d21b8dc6ddbb771b8d7aa9541a1c1c9a9999d9dcdcc8e7f3c3c3c38cb1c5c545cff34aa5d2fafafaeddbb70dc3181d1d2d148a5d046c5b3d54bf9eaafd61ae114a6aeb0a642cf6f6c9cc4b4329cbb432e954b556374d73cfdcaaf68f524a29d9d14dd26ab538e747173b41c4388e2dcbece4baa1d64a6bdd91b21611dba8b716361adce8a07d4b30c83b229fb23beaed534a2176e6c926cd6ec73864e0f8e16fba1a3742b20decf58460b0e12bd76495965a6aca92234c0eb548db021d817e4ca102d7c09ccd155120a91a2a8b338b43d6628c613da258522352a6609e89b5406b8294c5fa3ce1188fe3024e347c4cd380fdb2bd6b6bebbffce52fcf9c391b45b1ebbae9747a7171b156abbdfbee3b2fbcf0e2e8e8683a9dae56abaeeb66b359a5d4cd9b53bff9cd3f6532d93ffff33fbf78f1e3cf3efb349bcd3ef9e453838343894e0611ddba75eb37bff94d1cc700f4d65b6fffec673f13825b96fdddef7e17807ef9cb5fbef0c20bafbdf6daaf7ffdeb5bb76eb9ae7bf2e4a937de78c3719c2ef025164abd548f56eb3120f8b17604038430668bb5582acd91398e5badd595923b4741b5c14f53222bd5c1628ca2a85eaf1b86d1893c1445518498e15c1c1931b7fd024d9da092fe7c66fd3ffc612646ebe8479431f49f9d29fce9d3a31d9d070022c28e3639f6b6b2a39ccdce221cd39b51ce117e0cd395c8e47867339a2898aec16fae4703278ce5465c8b68306dd4235a6d4aced8425d955c5e09144318ce590870b712990c6c93672dbe508b1440d965ad8866ab71d61195307638d85c3c860c86120793f37ba91f1129a582200c82e0c2850b3d3d3d4f3ef9e47ff92fff3036361e04c1c2c2c2c2c2fcf0f0f0f5ebd7cf9f3f9f4aa58888318ca2a85eafc571bcb0b0d06ab572b99ce3386d4f96886cdb7ef6d9f3712c7ffef39f4d4dddac5436ffe5bffc579f7df6d9f4f4f4e8e868b3d96c365b4ae94f3ef9f4fbdfff3e63ecfaf5eb2fbef8a265595de0db725694160863792b65b295961ccc18ad4823a21f29adb5d69068d2e9640ef256b755fbbf940cf6eb481d4f4a6918462a953afa5644ba52a970ce8ebe09222aa5945242888e04afea315c5bd73eef8018e578f06223e45c747244a4142276a460084484dbb8fed88e398781942080a98db015d17c5d161c3e9a351c014369b1d28c6245884044912213296371a569d397799b4fe4442869a946333555726128cd634d1a101118922fb588b5521d3e631e7564766f7882885aad56ad560bc33089f52d2d2d22621886d3d3337d7d7d006059e6c2c242a552a9542a9665274b6e6464647c7c7c696909807a7aca8c61b55a7defbdf7ce9c399384a21061686850caf8f7bfbf303c3cec380e63bc5c2e3b8ea3941a1b3b313838c83923d28d46bd5c2e69ad832088a2a89bccdf7975388382cbb3b688b4ee4f19b5504902457a577a970eb9dcf7f3a5896ccad13dd9fb48b3dc1f4620326e184647ce2f4a787443ef8e73dac7f1c39f06a8849208fc9804c7b182152a885432198f3862ca44d7c030c6b4c9fad246d1e17737438ba3065c6dca46a437023d901196601bbe42c094c93c03b586acc5fa5262d3978fed5a6a271976dea95ad3c2c2c2071f7c502c96e238668c2332df6f552a9bbedf4ade99cd66abd5daa54b9f3ff1c4e97c3ebfe376c7245a944ea70b85e2cacacaa79f7ed268d4b707a2b3c5c5c59ffffc1744fa95575e15826bad5656565aad663e9fdb212489e9747a79798531b46dcb34cd6ebe72e7d33a56500d9424a8867ab5259b91028082c3934ba0351169dc4777e9fed3be44a4b5d2ba0371d04756398f085c30617440ca383cd27cda231d75d4a9f5a68ca5864a99ec64d13218646dbeda941ce14cd9e60c4baea857d54a53652c1cce1a25973b027bd3c2b59826bcb1a9d2269e29db198b991cab81eaf160cda795862eb83851b08a0e4f9be819ecf11c039c04b3e3282687da3704223a8eb3b1b171f1e2c5fefefe91916129e3dffffef72b2b2bc924cc4c2693c9640706d4679f7d363c3cec795e7b43d775d2e9b41046bddef8fcf3cf5bade6b973cfcccf2fdcba35f5831ffcd075dd3b77eececccc5896f9c107ef7ffffbdfcfe572fff00f3fcde70be3e3138661a4d369d7f518632fbef8e2ef7fff3bd7755f7cf1c5542ad545bd2f573b80c5b1ec1a39972b4d8369a31ef278c7134c4aa9b56ee79a1e9cfa25cfb3f6e0bdc70ffe9073264407f0c7e811afc7c798fd9d2d9b521347487a6218826b180ce174c9e2082359a33f2d92cc2fc7ad9c6f8f2bca2e00c14886388324aa870059936984494d0c80314c3aae1d43b0c775083ae79c331e04a1e7c9761c04117b7bfbfecdbff96f3736d693b4efc0c0e0c4c40463dc308c5c2efbf4d34f09216667677a7acaa3a323ed10bb6118cf3df75c14c5a954ea95575e999c9cd05a0f0c0c56ab95f5f51c638c3176eedcb9a1a141adb510a2afafff2ffee22f36372bd96cb6a7a78773fee69b6f59966518c69b6fbe75faf469ce797fff80d9d564dc610647c1706a3d60556845bae26ba9b52df07c9fc310b5d6d55a4d0861182289b71eee8111402469b1214d8e3daea8046aa9299f2c5b7bb891d624a56ad373ad55b55a0dc3a8502854ab95999919d775c7c6c6db2344f6853f45b0da94cd480f668c755f7eb11259025fe8b353d661a81a2b5a69a958d1604608860bb578b6269feab153edbe1404ce19ed68cee5a41c0a633414b21405164531f02af3d4f6446ea1f696f56b820d5f2d37e4c9a2d988f495d52854fa7c9f5d700e2b018f144c57234fa0e0ece67a142832399c2a98e57bfade1edf39bf0241ec3ec6e4b7e47c72047ecf19d83a36843ddd871c810318fb7dda63ebfc7a9eb759a96c562af95cae8d804288fefefefefefee457d33433995db5fdabab2bcd66f3b9e79eefededdb398fad5d0d93cd66b3d96cfbfd4f3ffd74d28fb5673ebae779fdfd03ed5f7b7a7a9217a954ea89274e77c1ee5ecb39fc5f3d95dba344820896608c68b3528de338934e6f653fbe6a0dd643fddb19fffd59ffe5617b3467fcec666bbe1efd1f6ff7ecc9d3257930640c009494333333172f7ee4badeb3cf3e7bf9f217c8d8e2a54b7e109c3bf7cc4efeb70bfb34dcdc887e72a5ee1af86f9fcabc3b1dac0534b51e4431bd3de11de48906923e5d0a7e79bb359416fffa6c3a26fd37571a9f2d07fffbeba59469ec707e11b7dbd32ca6cfa6e9b5c9810bcb72a516bf3d56ce5b70a72a7f35ed27b2ac0009d1d9f5950b35f91f2ed796ebf1fff64af1c25c707935e60c3d933fdfcf0ed2fb0b627a67daff4f376a7f7e2af554afb31ec1d5d5a81ea8accd4b1e87874378ba65cfc77d4205cfa453d55a6d6373339bc918867194b048a150fcd18f7ec418638cef5966f79ae7799ee751575df6b808208261dc034f32ae369acd66339df24cd3bce7a2ec687edb79f519163d91f02fcf12c594b1b29f021525e5324a25dfe5ba6e26934db2b44f9c3e0d009b1b1b6118266f68efd21e804e5bac941261ac19c24b43ee5a532dd7e3c307a131c4bc6b145da13484922ead84a6602983a95dd100e40cd936fb4bdbc613a3e589c1c2a5da7aa4d032d8dc66edf65a243517dbefe1c4f6dce3b6c97b53e67a4b35235aac4bada9e870c738cc6d630cca19c33305220ca6b9c1acba2f8b3de6447eb7b6c2b1ce1defc2dff19b699ab96cae5eafafaf6f5896c539c3ee2cddaf911129a5a228d644b96cc634cdfd1f33fbad43d7c0b1acf8c2650cb1d76527b2ecd6fa3e9b2aa5778e5d4ea7d3b95c767d7d833126b871edda55cff3464746d50ef8db53eec010ca2e1fcb8adb1b1111588c040344a8858725064d0e23193e94e62b0db5de52b73663240824adb4d4447e27fbe3b09dfa682a786fd11f2b4bce516add5430d8571eeb57f5abb5f96dc5534e0c70d7ee151c76aa206e6d8026529ab20e6f44eaf272309913e200d11793e3e9bc28da0cb6949fc340ea278a8ebba7c217e1f8aa9ebbf0f7705c60d3340a857c108451142b92dd1e8baf9dd9b665db36e39cf623e3f4e5c49dbdeb900118881c01893880c9f621ff04a49446d46d344c5a219badd6cd1bd7171616c6c727b426a5f441ec0f00104030100c634d9757228698359922a4431d4504e208828325702c6fce5425328c772a3727e1a91db13f640c1018638af4cc7a6dbd2e5e18ebf19c800761b21953b8e75180440cc964e8186c206d5443d520b4c45727880d8e1c3152b4da52299315ee11e342c44737e98d8e996c7ebb50d0766ccbee16187f5d9f61ed90dbbd3f007090e28163e0d91e3b6331ced940c67869d8db472e416b09b28d5204542a953ccfe39ca733d951c3600cc330903b7ae9ee853f86389c315d43e46d514ae93b9bf170ce7c71d03e5c5d88331ccb5b654ff7a5c560d658f7758fc7cf96ac9d07ce39c31df0a711179a714369cbb1878a2223e06e2daac6c4dbceaf646c37fb0384be94f9e210e41dfe4c9f7d6935744c38df6fd987f6ab0a86cf0dd80329c11047322667e0ecf77eea2abe7cbd5651d7be710ef281bcc035d8b95e8b01180c46b2467f4adc8b475a1392da594c58281488001127272748130070ce77c7fef4bdc1b2133963240b2687677aac899c291864acafb8df04c389824144964004e871d99f8e39bbf2b1088c23df017f21d1870b8d66ac224d9f559867f0cd20682afd65ec8fef8de921c0409a975cdb11389e173d1ed70069030f876683c34b83b6c150209c299b0860f087cbc8baf0d7b5ae3d08fedd4bcac0da5eb406837d139d49272e287dcfdfa93dca5113e81d6fd84baf0010a02d526f71b09ca30af0591cdafe3147f076332c04e01cc5ee3f6e448a800061c597e04b0262fccbaa7abe9fee73e298030007c85a471707c4f6113d02a7f438e12f8aa2388ebae9c8ae7da3706e6bccb989bbf38f0fa23bb22d92d08967f0a80abe1245b58e5a7119e380f2115e9163e37fc7097fb66d398edd5d305dfbe6c1dfde31e70f4640b406a535c051871921c27e6d270fcbf86ee7f7abe1ef91d6e23eae3dbf5a77d3245dfb66c29fd67aa75b43dbb2c3a4494a296507dc474aa9948ce3581f9961212243532975f42f4a145fb4d600b223c517242554c4a3560720a2228ed4d1ee0180da2e7bec98fa1d9fc8f657c15ffb3a77ad6bdf6e14dcf5b3e31fb4565aab0e969ce0a5526167dddf51b04c082391b438ba174ba4137585a32f5f223d9177fef9b00f2c3cfa1119056bace8214047e72149e668ddd975d05a75677d74ad6b8f16f80ee00588cc322dcbea2ce6631806e7a223b5e7288a1071a7e4ea11d89f544a77aaf737de2746cbb94e1bc313de77f4dddb6afbeb5cef8f73718c5cac0b7f5deb5ae790b80315a9630f8eb426c63aeb59bc8f81d1895457a7df72afa77f642a8747dfaaddb2d9f949384eefb7db8cd5b5aedd27046e377e74cfc5a37df0c0238bfd75ad6b5d3b6c25dec3b908eaa166088e81ebbe5e6fc99ccd7b3dce0f2ef9258056ac2345699335235a6a4a57b0fe3417876ee2c77ab9a100a82725b486a58634180e668571e856f5502f37a52558afc74d86b5500342da3acc0f6fc57abe2e0d863d1e8f352d3795c3b12f258c8313be4ad374552a4d7d69c111961b4a130da48573f09c7322d8f0d54a4be66d51f6181056024500399bdd731e1e63bdbfae75eddb41fdf6e120414c3736a24bcbc1c992359816bf986a4a403f54fffa6c7a30230e428af9bafc7021b0383ed3677db410acfb146bfde609f754f1c0009cd47479357a6fd6b7043b55346aa15e6ca856acff6cd27ba2641e044b7e4c17e6fc6b6b51dae4e7fbccacc57e3fd31aca18af9f70d901a0a9347c381f5e5c0a3d939dc8f250ea858656046f9e704e15cd8390f6f666fc77d79b799b171dcc58ece646dc8af5eba3cef93efb20746ec5faa7379bbe2493c3f7475d93e32f6e355326fbc18497b3f7e8f1c0318dfae83abf5debda83f961ed854800a186b986beb121375a6a33d08b4dd5eb89e95abcee1f9812d504eb3e4c6dc8b95abc58977737e544c104c24f97834316381110e058c1f62c767121f86c291cc91a82e1674bc1218ea1d480c04e152da9696a235e6cea2beb72a9290f999ea308220da74b96c9e0f24aa4889dedb19b919eaec40785ed34413da689827522675e5a89028d27f29606586d6a75709e37d620387fb6df5ef3d595d5f0e67a74633d5e69ca78ff6d1e55ec8fba3fdd9f6ff1cf41abe05e43808c85cff49a83690e00aec1224517667d5f91631eb8d004c75345e34cc9e40c6dc100e18b65ffea6ab05c9787ac7193e3b95e6b34c357ead2e48c31283a2c6fb343701600d216be32e278066ef86a306b7c67d0194e8bc385ea4d0eaf8c3a65972d37e41325ebad715729dd88742975604299219cebb59eee31aeaff92339e3bb8376ce62cb0dd59ee8bdaf652cfea353de462b6e444488b33559703922ca87195a3d1ee7b7dbe8d6b56f2cc7dbd7765400d26e041448c9225facc5b6606f8cb9bfbcd558aac993f9fd8740220047128c10a0e8f05746bcb9ba5a6d518f77d85073a5e1e65af89faf37fa33e6b3fdd6bb779bb550d64395b50e5bd191a28f1783dfdc693dd5eb9c2e9a06238e7478eb9d26b8b91afefdb5da99b2fd648ff98779ff7733fef97e673c671cb27b1b4df5ff7c5e2d3ac67706dd996a24189c2e594b4d192a320f8818c6a47f71abf1c15cf8e7a7d348747121586e489bc34ac3ee7177444e697bdaf9e3d0f39bcc12a54e8b17bbd6b5af15fc69d252ca288aa22892714cea409265302c382265b29e94489b786d354899ac2f73d8005c8690b6585e0a45305f8b571ab2e0f2e7070fab258c344d6dc69ba12e13d54255f6c4e555d988e8d513f621a8d488f4e595282468c66aa116672db3e8888c75980c5f28f5274b61ac3090f0e96270b71a2363eb4db95893596b7f8056045fac8695400fa4e1d646d88a69be1187125e1971ac83b325b5407fbc18661db1d2884f97acfff585c2c585a01ac8de94c1d8c36aaa7b20f8d35ac7512484b05cf77095edae75edeb0d7f5a4b290d117086405a08e3a0e2b3b4c55f3fe1190c5c81ffcde9cc7aa0f30e1b700f5b1d06c373bd4eac296bb1d72dbed4d0298b0da60ef749f1e561f76c8fc31032169e2ddbab2d6d3018cd1ed67f9b36f97f7d2aed2be288791b39e29f8c7b82a138782353b0b726d2df1dd11cc116f8ec00848a00a0ecb0833093019ceb7306b2164770045a02d77c0d002369661efc45199bfdbbe7f24468302ada3c6de1eba34eac28b7774ed471961b3d18fc29c539cb64d247aff6ee5ad7be8e08d86e68d55a4751bcddab40fb611994b6b5a786d26c28cd11bf223a849848422100146d2cdae22b3d3b8ed0e7b13eefcbbf949dafdecae43092d905c43d2efbca2f1a4a234007bd19885072b0e4f08ef6cd627832b7f35b286b023ce4918e0f045b04908c5bdc773a0f1175c53ebbf6cd803fdd36da6ea5386a00ea3e02e374bfcbf1f13d85c7f2298c3144a4e3ebfa100f7e587b9430128f388e63adb56118866174d475d8b5ae3d86ceefbda98fee99f906d857c2dfa11d764404f0a5a0049194b2d56a1111e71c11832068b55a8ee3d8b6dd9d76d6b5af2ffee984f2254910bd1f1ede17a276b40d74de217b1fdf725f47d4f1eedd5fcfef977bf838747d24bbd1ae65944a361b0dcbb29209dc00a0358561108621229ae697e35482c05f5c5c6a34eab95cbeafafaf3d0e7c8f69ad6bb5aae3b8d56ac5b2ac6c36fbb063015debdabeeb4d6bad55e2fd2a22dd5e7d5aa9300c84e848b624a997909db84428a5640ca58c8ffe4589a72ea5ec48594ba9ed63ecc494d288d0d1ee259bb0ce5811762429f8d09d5f4dba1df80b8280319e4aa5db679b3160dc0580308c18e3c9a14a292f5dfae297bffc451004a954fa873ffce1993367927f42c4c4b74fe286d56af56ffff66fdf7cebcd9b376e148ba5679e7926f9d7e46d9a34c297bf76176ad71e0afc01ed8afd6df1c02d06c838735dcff3521d7d661cc79cf34e05af3ad2a0df963b559c8b8ee04f4a9984ad3a843f09d0997a552278d521fc011782daf3f7fee8f097dc1bc9ff8320c8a4339a60c3570464715cf165de1239db0ec2504a691802007cbf3537379bcde6de7aebc5b5b53529e5279f7cfcbbdffd8e88ce9f3fdfdbdbf7fefbefadacae9e3a758a217befbd0b96653aae2b0ce3d2a5cf2fbcf75ead563bfdc413a74f9f7ee7dd7701607d7dfda5175f7cedb5d73abd605debda11c95adbfd4df21e7a77302801c58e3eb223add30495122ad7218f535a2b44d691de5f52e2d31190c1967473072ca4adf7d7d1b71c3bd17940f823ad2969184cea4289c88fe34f169bb3b5a860f3cd507d6f2895112602b6cfa961987dfdfd376fde7ce79ddf94cbe581c1819ffffc67994ca6582c7efef9e7b9dc6cabd57ae18517e238ce6573b95ceec4d8d8b5abd7e2285e5a5cf25cf7e4e4e4175f7c6159d6ada9a9b7de7a2b97cd5dbb76fdb9e79ecf6432ddb5dab587e6fc92d6db4a785a833e56cdf5ae1d998aef905a7c2c26bd51f2e82322048ca288130c38f8d95c70753efa93b14cc9d0511469ad39e7c93b9552e974fac5175f8ca2e8934f3eb978f1e2e2e262c2b73dcf534a799e37323c9c105dc3306ddb26a2388e89289f2ff4f6f65dbd7acdf703c330274f9e9c9f9b5b5b5b4d187bf7f6e8da4383bf24fa475bfeef01cdbf042015494d9ca1e0a834290d88601cdaeeaa082249886472464091228668f2afe0398a2020943700002000494441542056044406679a4811000047300e1d3ca434449a1890c999260a1531c464e6efc1012e08152180c951d3d6ee1dbe0900049288c814888091d48068f2af98f32b35459284c04415466962b8cf268f8bda331168bd0d7f008cb12008528631e0e1db27bca58679ba641a084a49ad35175bf027955c5d5dbd7af5aaebbab66d974aa5f3cf3e5bafd55cd72b140aa6695ebd7ae5c2850bf97cfed4a9538621e666e71cd7c96432828b9999e9b5b555dbb6cae572369b618c096138ae9bf820ddb5dab5870a7fb4a3f86f5ffc0b24dd580be76ab22725c673c6dd6abceeab94c9ce95ad94c50e42b1b99abcba1a191c9e289aa1d2b736a4c9e1d97e3b6bb1432069b921bf580d19c260da6884ba12a850d1405a3cd36b1fd4812535ddadc437d6e39489937973335433d518917d67c0ce3beca0353e5f939756425be058de08244d57625be0f93e2b671fe820d7027d61d62780c9826109bcb11e490dcf0dd865f7406c569a2e2d8773755576f9d9b22989e66b71af6794ddddcf81473ce6fc90ef22004d5a6de38e619a81ef8761600863346b0c670d86a0b58aa30810013079a710c6c9932739e7f55aedc4d8d8d8d8b8d6eaf6ad5b00383838e8a53ccff31acd465f5f7fb9a7f74fdf78d3b6ed899467dbb66559e94cdaf7fddedebe52a9645a662a951a181c745cd7304dd585bfae3d34fc5349e2778bfc69a27dc6fc1240255057d6e26aa8ef546528f5c5c5d034f8449e1d726b86926eac4777ab3288f54a5336630a350a8413397d08fc494d77abf2564512c152430d65cca6c4f7e6fcef8f3acf1cfc5d7e4c57d6a285ba929ad65a6ab9a910d97c3dcc5af8f290b3ff17115c5e8bee562511dd580f119963b00d5f5902be33e8eecbe68860b6165fdb882d8ed3d53867b38d805ab1b6047e6ff8c0b6df564c9fadc4007875cdd700ab4d7975357c7bdc2bed444c04c0e39cf5268ee1d6d8de13c698699961182aa9186788a80194d2002038db59e093cde6ce9f7f964823222203a062b148b415dacc6673499813009e7ffef9f66b44cce70bed00f0d9b34f228265d9854201baaa335d7ba8f46f9f42bf7d2250aee0e7faec9586fcc3bcbfda526b2d55f258b5a5d4c1f7a66070226f661df1de4ceb6e4556025d74852130d287ddcf0c71306dd8827dbe1c44924e17cda9cd78386b3cdbef1cd27c6f709c2c583d1efd61be558bc88f29d6aae22b4d073aa588309a33cb9ef870ce9fab495bd0f97eb1d4886f6fca170668ffbe5f84bc239eeeb5bf580e1a910e159cc8197eac67ab71d86f1f047f06c767fbedeb6b613dd20cd1122c5410e90318e963a1f64c40dbce6f629c7130506b2da5c22453c318630880fb39a70992eb3d775afbf5cebfeffccb8e17b0e73d5debdac380bf2fcb5e92c297fd962002380648a5afad452339f3899255724d53b0bfbf5a395d36f2b67500fca1cbf1a3f590239e2c9a9757c35325f3da6a787b233a5538b0988123d802ee6c468d88be37ec28d29f2cb49ee9b7cbce617524264757c01fe60353f01339b1d6523d29a31ee94d5f1ef245790b2fce8792e00793e9f5969aabcbd9aaecf5381d0c0b26871359510d8c0f665b0c88a3e008ead0058a08391b270ad68df5482a3a911337d6f62197c7eafb3e70cfefdeac3f110270c612b84a68da1e8ceb5ad7bea6b1bfadca676ae73e76396104b0da94bfbcd5ac463496375b11cdd5a282c34245876423fc587f30dffa682138d767971c9e315914ab56ac0ecf12449a3e5b0a7f3bed3fdd6bbb02961bb211d3505a1caebbd48cd46fa75b9756a2ef0cb9081029b239991c5a076b8a4a4defcdb6de9ff75f1a741c018c812d58cee1c3d90373339ae0f395f0d6469cb59929d031f99d4adc8af5d9b27d485aa61ae8ff78b531593410808004c2fe1fbf75da1f03f84b76e690fa9d2d46d6e5655dfb46c0df5604507f5978bb37f887ac2f6da515d5631aceb2ac236e57e21f4ca64fe40ee4711ad0b3c464c92664b6c95f1ef12eaf84677a9c67079cc3179e65b09365db106c33a494c1bf33e4963cf115c962c08c6b4c169924740dfef2b03bb5110f67ad5747dc83e10f6c4b9ced7190b140618f67acfbd17303eef9de03b5fb3883274af6cd0ddd88e15f9cc93a067eb410b8163cd367d907c35fd6e69325eb6e253edfe73cd5632bd2e7fa9dfe94388800fef1e14f08c1188ba24808deedbbe8da371afe48efe8f505d2f7c6df116130cdffe25c0a000108899e2c1b8a9001e1c10b366de20fc6dd84ea201120bc34602300c2610e9325f0f511e7f55117b6c7ebe216321c66398bfdf353a976e089105e1f7519121e4c501c81ff6cc2dbe9e07f67d0c243370180a134ff5f9ecf00014302a2d3c50c20b14337b138fcd9a4ab0819029206e0af8f083c68c0fce3a0f8c239775d370882388eba14af6bdf64f823925246511c45511c47875459e1cea820113f0253c19deb99801d8ddcecdcaa83e6e11d612824e0f0d58e24ee8e5cb1af865920a2ada3a064137da4634a4e17ed3c930fd71e08fe10d1344dd334bb8ba46bdf78e7574a1986a1effb8d86699a16749b3efe6857e451c25fb7b9a76bdff2d5b6efcf71c6a08e84c28f26be747f151444d0e9deddc71169ade5d69495ee98f3ae75ed8fca0ab5d6b55a6d7666c6769c8e368d63d999e20b401cc7d889e20b0024799ace155f62ada95301914456ebe8bbd7963ce8e888c230bc71ed1a699db8fe5df8eb5ad7fe6816c5d1477ff870e6ee3432d474644a8240ba33e283890fbe5dffdf11917b145fd4f6483bd96a676ddc112d8ee5dcecec31b6b776e1af6b5dbb4ffaa7a5ba73e7ceddbb773b9347c6c77b2cc7fdedde7d6c755f5fb4a396ee9128be1074e71adcbf7f94b848dd53f1f5b264a4ce56d1fec13f9a08760ffcd55a2bad8ea5018921638c1fcb885badb552ea586a851926c3cdd857dcf6880f2ecc8ea0f1800f792ceafeba769029a5641c47711c85a152aafbfcf81a192270c685212ccb324d6b5fef8c7637680240a2b891c9664ba5b2eb79ecc126db28292bd5cacaf24a1c060916dff77d888ca533999ede3ec7711e3079124551b55a595b5b8b8360df981d017237951d9dcc4d3ce994fa1fe4eb7414b656e72b53571af3777418ec453ceaa63e1e57c6a7944a4ac1f3b9ac61189cf32efc1dfb190e82200ac3e39dfcd0a67e4218001404818ca5ed385f89654a6bcb714e9e3a552ef730c68f85fdf50d0c8e8d4fcc4c4fcfce4c93d69de26952ab98ca66c627260b8512e7c7b35743c323ad56f3ee9d3b8b737388bb428428446a7862e8b51fa54e3fafac9482077a0020804baaf4f246fdf2fb33bff98fe1c60a3c042faa0b7fc7be32a5d63a9d4ad9b6ddbe39ba0d31c748ab5bad56b3d90040c7711cc73df6af90520681af94b62c5b4ad96c366ddbde4b7676a82e69ad4dc77ee6fc79d7f5945252aa6304e291d1514318d3776f2b2959478905a25c2e3b3e792a9dc928a5943a9ebd4204c330264f9e340c63e6ceed2f73179ca7c7ce0ebefd6fc5d0993a0a1d01c083a21502a253745ef867a34e7ae6677f1daccc1fbbfb2b1e3e226c1fca7e7fdf7941b71b7780b67fd9a37208077cd463067fdab12ddbb6e09e122a2965227c6d9aa66118711c1b8640bcff8764528b4b448c3122128233c6bfc1d8a7b56a369b8d46d3755def811dcc832c1955d86ab57cbfc5b920adc33074ee296da1eddc25703e36366118661445db18c10cc3e0dbf20351142b25db957144c0391782c7b14cd4630e8135442c964a8d467d6569f1e82b5e139996d53f30643b6e1cb7a7afa1e3d88cb1388e13edf42f97dc3d6b73cf2e21a210426bdaa6db38303858ad6c6eaeaf73ce01d0ca960bcfbc0ebd932d8d446a07849149b1a923008c8047dca42d56b8f3bbe91086100358932ff4bcb038f3f3ff8f54bcebe43fe6f0d78aa9122a22700d46440643db408e580b553dd49c61cee68e81bed452412029efb058512ba6481101642c0604aec162a266a403494a9367b08ccd0cf6386220692d38df1ee9b9eb02f941b0bcbc5cad54a228761c677878787e7e6e72f2a4103c99804c5ab7c3ed49b62459dec9186586480049c553120e27a24a65737575cd308c743a55ad564ba552369bdb5651fca6314e220ac330e162b66def941a524a552a956ab5ca18cbe7f3e974fac191d1344da55418068669b45a7ed2debe1700899452d96c369dc9ec4019705d777474687060d0b4cc7aad7eedfaf5b5b5f59d973597cb8e8f8f5db972b5d96c32c694da313d09f77a0bc8309bcb6d6eacc76178c4cb4a5a7bae97ce66db932711716870f0e4a94900acd7eb5337a72ad50a2223b535aa0c1926532e0120f19413517fc13901599635313e566f3466666693873a22f6f6f56f6e6c00110ae10d4d88c153bee67a37cd74383c9581010343a97d4d571ab0122153110249660200d33103d2c81537998a0549c98466e6ce23d54c7867bf677ff88fad95793c4ef2f790e16fb529e71a2a6db258c3f5b5b02fc54733a66dc05c4dd623c839dc33c10198aec4f590e6eaf2a5012b9034579396c100d0154a693d59b01a915e6c48a9b119d3892ca6acc7747d0282611888a8776b552aa5969696161616f2f9bc6559ababab96655ebd7acd304cc7714ae5b2effb9b1b1bb66d178b4529e5f2f23263d8dbdb27a55c5f5f670c4ba592d27a6d6d8d214b26230741303535b5b9b9d9df3fc0399f9d9df33c2f8ae246a39e4ea7f3f902fb66cd95d75afb7e20954a19c61e57cef7fd4f3ef9647171c175dd62b134393999406410045a6bc771e238464440d45a9b8611040111a4d3e9300cc2304aa55296b54fe326e75c6be2084014c7b16559f7b2bf58ca7cbe00443ba390328e033fecebebebebebfbc31f3e2c168b23232352caf9f97925d5e0e0c0d0d0d0a953271717164f9c18756ca752ad34ea0dce79b3d9cc64d32b2b6bcd66b3ed3a20a26ddb866905be7f9422e1c41b70531ee92f95d85329ef7bafbc1c47f1ecdc5c3e9fefededcde773c552d16ff9f3f30b8383838c23e7e2ce9d3b88383a3aca90ddb97307194e8c8f47715cd9dc3c79f2e4e2d2d2eddb77b6e00fc04b794c70529a19a6280e283b17c57b1d5ec31067867bd226bfb4dc7cae6cf2c5eae5c5cd9359ae00669a11313e6081cd5935a6a94634e2c6bdb6588fe4f506b5c0d8f91860563e3530d6589e63dbe9f8af01fcb5246dfa4a30963260b61adb1cfb526410d4425d8d2865259c06377c5509743dd4b3354544ab2d95739031208256a4634d09efcbdb9ca12e38cc7c3ca91f11000a21ee8d31fbbebfb2b292cbe5c6c7c719b252a9bcb4b488086118debd7b77b8d908fc4008313f3f5fabd51a8dbaebbab55a6d63639331e6fb2d21441886b57a9d216e6c6c6aad474646c2280c82c0719c20f0852194929b9b9b9b9b9bb66d2fafac4c4e62215ff886c19f943102aa1dab3ab1200c979696e6e7173ccfabd5ea8b4b8b86304aa5f2e2d2a22184e77904e4fb41122228168bd3d3d3aee39e38317ae3c6cd300a4f4e9e7ceae9a7f6a01b6ce77695925a2b29e5dede768284fd9996958420daff52afd7af5fbf3e3838c0185ebf7efdb5d75ead56ab043034381886e17650183dcf9d9c9c40c0d3a74fddbe7dc7f33c3f086cdbdedca8a8dd1f880c3967a4351ce59146849c0b616c79b80000e079dec0c0e0dfffdddfddba753b93c9b89e7b7272b2a7a75c2c962e5dfae2f9e79fbd72e56aa1582c150b6118a5d3e92008896862623c0802dbb69329b55aa99d3b260c81943cf53918ae241ec77b238cd26052eb3b9bf1bb772a835ef14431d5ef725fb346a45eefc186e23d9eb15c8f9ecc9ace7ced957e736e7573b294512bead3b57867c1040198992222c2b16ae83d5cf8438494c90a0eb7cd5d8c5530cc5a2c6f738331dc3e9682c30070b9110380c1b03765644cb8b9ae358122e20c2d81a60483c363edd81148b5371dd968361b8d465f6f1f02fa7e2b8ee35aad363434542e976fdd9a5a5a5c4ca7d3a3a3232b2bcb37a76ee6b2d9c9c99361182d2f2fa7d3a9cd4a2597cb2d2fafacaeaee4f3f97abdde6ab5a49471149ba6e5384ead564da604dcb8710311b3d9ac542a0882879115fde3263da228569aeecd2d48a908c8f3bc7426d36c36565696cf3ef9e49dbb775229cf719d6bd7aed9b6bdbab64a44d94cd675dd8d8df59578d9f75b57af5ee9ef1f585b5f6bb55a9c8bfd82685a2b2da542a6f604ddb7c24f0cb58aa594f756d5492995528ce1c0e0c0077ff8c0f3bc975ffe9e94f1ed5bb7d7d7d77b7b7b6cdb761da7d96ca652a9300cb3d9ece4c4f8addb771acd462ce3dd490020ad09f148b229b085cb527d0955524a200ac2308c42dbb10bf9bce7794a69cff3d2e994619877eede619c0d0d0ed5ebf5bbd3d35353533d3de5f1f1b10f3ffcb056ab5a9625446ecf67e2971a5ba4959691baf78693b1d68a62bfd55c5fc5d845911a2de7fefef38546443f3a5b128ad7155ddf9427ca999122f6178ccb8bb5da662308b88c6977bd986271dc8ea63f42f6f7009207298143693e944245d0971680f8f94a94b359a8a9166a223019b718cf5adc602818f4a6792b160683910c1f48334458f7c5e7cb114398c81bb600692087c7553f950888d4be43af89e2285edf5817424c4f4f7b9edb6834c7c7c77cdf0740c6b8d67a63633379a7695acd566b6d6d2d9d4edbb63dd0ef54abb566b399c966cbe51edb76cae592d23af1ecb4d68cf146bd61dbcecacaca9933674dd390521a86d168368948704e004a4ad7f3bedef0a7b5268aa3308ead7b818631168621361a866178a974b9d42384716b6aca4ba57a7a7a18e741184451d4dbd7074496690ace9552994cd6348d46bd766b6aca304cc334373737ce9e7dd2b6eded6863c43903a02ddeb135e06d5b728ec8328ccdcdaa693bf75ef4288ac2306ab65a2bcb2b4f3df594566a637d2d08c352a994cd6639e7e9743a97cb359b4d29d5eada5a2e97751c676e6eaed168ec7c74316441104471ccdbdce72b12a6a0b46a351bd95cb6fd39cbcbcb57ae5c7eebcd37e64f9f4ea5536b6b6bb95c2ec9084771d4f25bad66cb6fb52ad54ab3d1181e1a2c974bab2babf3f3f38ee368adc3300a023f8ee336cf45c4300c93f3403256d555d9acc66676cffe453193b13a5b30f2cf96cb29e7d7776b677adcf305a834a37a046b7e8488f5403643355f8bd6b268aac074534185c238d23b0ed6a2c05f99413866007cb8ecaf372508c0604000af8f7a041449141c1850a89021a40c4084c98291b4199a0cf21607049381c100004e178c1e57181c72160240d662878f31fd231a221291923279b12b00ec38bdbd3d737373ab2b2bb95c3e97cb0741984a679a8d467f7fbfebbaf30bf38d46a3afaf0f10e766675b7e2b9bcde6f3f9999969402ce4f3a572696579797965b95828dab6a3b546c652294f08210cd16c348ba512e76c796539e579bd7d7d8d460300e238f65c2f8ee3280a479cd1af3b01640cc32834a2704f58930bfee4534f0ff40f0821f28582522a93c9f40f0c2413a2878686945241705a6bed7a9e218465db5aebfefefe5aadda6c36b399ace3ba44c439072c105042be9452711c09e168ad05df25e8db6efc608c371ab55c9867f75cf4ebd7af2f2d2dadac2cfff4a73f3d79f2641cc7b76eddd25a4d4c4c30c66edebc393f3f1f0441b3d9bc74e98ba5c5c5bebebee99999d99999c0f7771f356bb51a328e90b1a3d6ee11f8be1ff83e636c6bb8b6943ffbd9cfcf9d3be7baeeb56b5717161727c6c73d2f75f5ea95e5e5e5d999d9e5e5e520084cf3661886274f4ec6717ceddaf52b57ae9c3bf7b4ef07535353a994d76836e3384e2098735eaf5513d97f1d47f1ea0caf2ce9bc27774f4daa10bd7b6b73346711d8ef5cdab8b1dababad4786e304560fdf68b75456409b6528f7e716d6dae1aceac5b2772e5d9b5e8c65a338a55fb5805035699f657e78fbd030d9301e1495b8c9432498a475114866114458ee3148ba56f981bf5501d3400e0fb85ff92d01500086120a2568a73be353307514a89084218096611916108c4e4ea6cbd8e6309b0955a01802435b7739124c3e0396749b946c25f923583008c7fed6b628220585d5d954a398ecb197b884110224d148501636899561445b95c8e73beadf7d7b8f4f9e7ffef5ffff5eccc0c00302172f97cbe50480660ee606149907e8b2b2160a213cd700bc5688b5402220e0e0ebefaea2b376f4e7df2e9273b133b8cb1388a37d6d65acd261db9ee171185616472b96c2e4b3b0ab010307936b7bf7a8777fd653e3bd9c3f69e6fdd483b0e87216aade767e7641425ba55869bca3dfd27faf49b4d23af760b95227c59f1435b7c1610516fff4e0009af4500c650efe8a6410404ca86abecb3bf5fbbf281dc4eafbff2eaabffd3fffcef8647463ccf735dd7308c2435df69c143b7ecf99809e0d60cec7b8afe10d130be8c9d33ceb77435101350db912cfbf27502887bfebefdc9b8a72134519fdd0e9633d8ce9cb5efe0affbe9350c239d4eafadadd56b55d3b484100f0701494915472122cb66336114b9ae9bd4c1c08ef3f9e5bbb5ae55ab8c312fe52549ff36761cdd6667677ffc939fc858268163dc1a92886110d4aad5c0f7a9939e0722925236ea3544743d8f31544a3f78cf2f0232c610218ae3cdb57525b7262411910c5aad5b1fb986ed0cbfd0b44b5233fdc0f71b473440bae13a4efd63fdce25753009bbef32af2efc1d2bfc3106444acaa4e495a83b7ef398cd75dd42a150ad5482a0954c887e18973181da94e71191699aaee7b5274d6fdb566238813f94b25aa98461984aa792a2b94eaf7ba45414857bee25bf15361af5388cb4ea584681948aa3a856adc671e47a5edb0978605acc02df6f361a7114efdc2b25a5bfb90a57deb5eaebe9c173a15388e10145e0c9d0a1dd5a86852f1ad397fd467d67743561af0fd20dfdd5f047c73d55f3db609c7329652c156ff3afee10a8e33321442e97f33c2f0882300c1e4ecf2fb72cd3300c292511789e2784d05a4342d51356b6b33299482995c431fc56d3b2ec7680e2be4d6b1586511c450c51eea85fe92c14231550d454aa596fd88e230cf1800d534aab30089452a0694fad0f00c8386e6daec6ad0f8cd9cb4ebecf75520fd4eda995f26b416525f21ba1efdf7b0612e99907acf0efb2bf878280db45f36dc9abee13e498cd340c438887c2fdb65b2f2dcb320c3329e44c9619638c73ce3947c668773c81948ab4668cf9b2e91f076348f8a5d4fa411c0829252ac5396f351ac772ae705be67adfbd92522ad588a3c0af6e3c786dae4ee68beec77c1932ce78a298fd2008d885bf87b17eb66c7b3e2c207625ff1ec2597e381fccb66de7ba6a5fd34484cfb1ed4c26c339df99a648a4681eb7f344bb3b521ec5d7c5f143fd0acbb24ae5b297f2b61e45bb42125df87b9c40f01bd679f62dbfa0c97a138651eeed7debedb79f397f5ea9475a1441db098564a5e3567a19f710b46fe2d9fff22a78a9d4b3cf3e9bcfe713f6f72004b00b7f5debda51e12f717e2dd3ecebebcb64b3711449a5b4527a0b96e861ef4014047e1070ce93520fbe6d0c31296cc2362dfe66459c93834a0ed634cd94e7398e639a664713a3baf0d7b5aeddbf9fdd9e4c66237221a4945aa9adbc07d0c34e11226260f98c73c33012cd34b16d6c7b08dc7dbb815f8b4bd08ebd266720790074d95fd7baf688a219428884060ac1b5d65a1f980778183b9014c0ef84bf76c56f1b05da353adfc8f3df767813287cc0da972efc3d146b677c93769aee09f97ad99e98fa4ef691201d638c88ef48ee3f22f823ada228324d3381bf36014cb0e09b0d7fedf8431be8bb852f8f29f625ad844ac9c437826ef1f3719f63adb554ea61e00e22330c611806e75baee5ae8916493a8b880018c36df9a547047f4a1a6dd2d7b67604f01b0f7fb0abf2fc188ef450f8db2a7aa6eeeaed14fb88c8324dcb4a1986c939d3445a2b0060783ca30bbfcda6940a82300c4322fd70f29c5bb23d5aab3090da344c634b7cb81d02dcfe3f7f944be3cbd4b310bc8dcd3b1220df06f86b9f8a6339c62efb3b7eec43c454ca330c833146049566edcefadd95e60a20f47b7da3c5919495c26e2bc87d591cc78d46238e63c3306cdb7e18b34db4d689e207671c188541c090ed6cc4deeae4b9775acda3253e87d8b704fe1edc1efaac8f0d5f494d6993718e06038b2343ac85aa1a6840283adc33592849124592b2368b15b462dd8a3511161c46008e814a432dd4cd98b426d764799b998fa5ec55c2193ccf350c0300b5a656d4faf1673ff9ddc67b9bb0c2190c9afdaff5befec689b7f36ee1fe3a905aad661086857c9e087cdf8fe33895f2f695eabc6f6ea5946a8fb60802dff783a4c4f7be4e88aa371a4208d7711ffc96d55a351af5200853a9946ddb3b2b1e764ac31fc3aa104208a3d96c2648e2fb2dc6527bcec0a3c7979d00b733d1b1f3f5b704fe8ecb1e2efc2d37d55c43656d010c2e2ff87d1e1fcb99ae013335598fb1e08a2c2000dcda8caaa19eadca5786ed564c3335e5594211adb462a5e98992598ff4624369608d488fe758ee712ded2422d3344cd34caac09456bf997ae7a7ebff394ad57cb12a78344b777e51b96d2ed19b433f728d541b3495528c31228d8c27da1ec898effb9ca165d90010040111d9b6fde9a79f5ebd7af52ffee27f94527efae9a72b2bcb2fbffcbd52a9c4398fa2c830444288a4944a490014828761a4b5765c8734c571acb5e69c5b964544411068ad6cdb49068011d19d3bb7a7a6a6ce9f7f7670701011efde9dbe72e5f21b6fbce138ae102249e324799d288a4dd3b02c3bd11314c2304d33d1bc89a2c8300da574ad5afded6f7f5bee29bff0fc0b5a2badc9719cfb435222f27ddff77dd7f5923d69e794a4948b8b8b6b6b6b4288dedede62b1c81f58dd8b316659a6effb8661345b4d238e1dcebb78f16d84bffb0e6fb4a45e69c85881c5f8625d7a02234d264125d4ab4d2d107a1d4180954057021d2898ae2986b4d692f5486bc0a2c362a5a5864812692ab8c0010a361afc7154612022d852b5da52bedcf42bbf5f7df7bf9a7cb39c4efd53edffaed1cc8475c696992bcd779ff29f1b15938906dceaeaea8d9b3772b9fce6c646b95c4e269699a6f9f35ffc2293497ffff5ef23c26f7ef34ea3517febadb7171797ae5ebdfaf1c71fafacacd4ebb59595152ec4c0c0c0f0d0f0850b175e7df5d552a924a5bc7af5eae79f7f96cbe58aa5d2c7172fb65afe9b6fbe6959e685f7de6b361aa552e94ffee44f6bb5da3ffdd33fd5eab5575f79756868e8a38f3e0ac3e0f6ed3b376fde544a954a25cbb2a2286c341a7373736b6b6be313130bf30b8cb14a65736161616e6efee4a9936fbcf1c6a79f7cfaf1c71ff7f7f7fff0873f28977b6ab5daaf7efdeb89f1f146a3de6834efdcb9a394bc71e3fa3befbcdb6c36df7cebcde79e7b8e753ede536b1d04f03954080000200049444154a1d6c4394f0692b5add96c5dbc78717979299d4edfbe9d3a7dfab4e779a974ba56ab29a972b96c1004498fbc94d2b6ed440bb65c2e2793038ac5a2ebbafbb12dae3501e8f6a8a32ea5eab2bf4e3e1d7130638ce62c0335006a00a9482974041b2b18c359e1896da54584a2c390e1424d191c8772d650c630515f5a0aa4a65803e79808e273f69872bf4450880bde563a6b46b52acd0e994f9fcbbe58c70f6f44d393ac6fc07dea03fac7b56876488f27ba922ddfffe8c30f95520b8b8b636363d3d3d34f3ef9e4b5ab578787879b8dc65ffdd55f1240b954324df3c73ff9c9e8e8c8eddbb77ffce3bf79edb5d71dc72582cdcdcda9a9a9b367cebefffefb2fbef4e2f4cc34107cfae92717de7befb5d75ebb70e1bd5c2ee738f65ffed55f3e73ee998b1f7df4d24b2fddbc79338ae3b9d9d9fefefec989891ffff86fbefbdd97df79e79de79f7f7e7474a4d96ce4f2f985c505cef8caeadad4d454a954ba7cf9b2e37a9f5fbac4194e4f4f6bad9f7efae977df7dd7f7fd5b53533d3d3d57ae5c4e67d26fbffd03d3b21a8dfabffff7ffe7c0c0c02bafbeca386bb65abffad5afebf55aa150f8f8e2c5279f7c32a1b49d79e5c9506300a914c0ae5aa2280a6bb5dae2e252a5522d168b0b0b0b88d0d3db37373b63d94ec2371bf506e70c114ae5f28d1b373299ccc4f8c4a54b9fc7b13c73e6cc2bafbce2ec878004a094924a3319537ba477d7baf07714730d141c8a9696443d298e805facc5059b058aeacdc88fd4645e945d9e360563ca643890361a11590c7a1de8b189080b9e71713134387ba264980c3c93f1c7f8164cf2e4ed3e508166de495d6ffdf254f0c439e7fb8658b4e386afafdbdc07154b291312944ea552a9d46f7ffbdbfe8181dbb76eadadadbdfaeaabb76eddca64325aeb2008d6d6d6e228cae7f30c318aa2a5a525db761cd76d361b80303a323a75f3e6bbefbe3b3e3e363b33fbe31fff4d7fff0063eccce93367cf9c7defc285280a8bc5a26d596118f6f4f43ef7fc0b2d3f989d99595f5f7ff3cdb70607077ff5ab5f2d2c2cf4f5f5bef1e69b0b0b0b737373954ae51f7efa53a5d477bffbb2ef074118f941e0fb7eabd94c66893cf1c4134f3ef9d4fbefbf3f3b33b3b0b09814a0c671dc6ab53ccf3b7dfaf44f7efce3fefefe81fe812f2e7d8180038383177e7f677e7efedcb97332969c77dc2aab940aa348299da85eefb4582ac6586f5f6f2693a96c569acde6f7bef7bddb776e8f4f4cb8aef7d9a79f3aaeb3b4b4a4b5ee29975dc7f53c2f0c82d9d999d5d5d5136363b194956a4d694a3cf79d2c4fc692482b25b5ee2609bbf0d7a1f5a7050170040ef8d6780a11a44686c40024212298488874a66c101808c8918aae03000c892100c299a271226f72049b6902283a8990e8636a88a87614a3a544fa7cfa3b1f45ffd7e5ca7f7a3afb67e7e0bfabd18ccb070dfbe9b2758288346900705ca7afaf8f88fafbfb6fdeb8512c96c6c6c64f9c38914ea7d399ccf0f0f0ecec9c6559ff3f7b6fda1c57925d09faf2f6d8231040047610240832c124996b555665656655655556a9cad466d3a391a9cdc6a64d3636fd517f407f445f5a261bcd4c774f4f4b2aed95a95a72e382e406820440ecb12002b12f6f7fee3e1f9c0c82004182c90d24fd1808035f44bcf0e7cffdbc7baf5fbf27954a86c211dff75f7b6d66fac4f4d52b578686871459c90e0e2693c9afbefaea673ffbd9f489e93ffbb33fa3947ef1c5979d6e27128964b38308c1818181a1a1618c71b158387feeebd256f1c8914908d195ab575756571445cd64329ee7420010428ee3e89afe7ffca7ff8411beb9701340a0c8b2e7bad7e7aee5f3b9b1b171455179196a5d37d2e9b4e338a9549faa2ae9bef4dcdcdcf8f8f837df7c333a3a0600d8dcdcc41803087cdf3b71f264a35e9f9f9fb76d5b561eb91626af76e979aee729bbac304aa96e18f546dd34cd78221e0e878d507862e2c8f5b9394dd78e4c4e42086549f67d7f68784456144e70a1507878785896a420f0f3f91c464851d57abd3e3373aa2775e4799e2461c000be57eb4340d0dfc3d15b9e8500e898010000627b238a32ba7b44b957cc4f422c82ee150e38c4dcc74b1e21846e972627ec84fee6a679b66ce746d45c5bbab41a7c9a727e743afabf26e4217047ec0002786c6aea17bffce5c8c8e8e8e8a86118c3c3c37ff8877f383b3bebfbfe99d3a74f9e3c79f9ca954ea7737cfa84224b9170687c6282cb9865b3594d55e3f1f8f0f0f0e0d090aaa86a5f3a0882a9a929cbb6e289c4c73ff978f6e2c54ea7fbfaeba7aab57a4048abd53e3635f59d77bfd3e9b42fcece6e97b77ff18b5f0c0f0fa752c9502894c9648e4c4e22849289a4a22857ae5c010c0c0e0dbef6da4cb95c3a72e4c8d4d471dbb6d2e974341a7df7dd77474747060707979757229148341acde5729d4e3b9148fcc7fff8bfb5db6dc6c0f4f474341a21945eb9724555d53ff8835fe8bafe48a5db7b775e92a420f05dd791e47bd8134bd2e9d3a7278f4e628c23e108214451b52cce462211ca585f5f1fa534f003ca98a22818a3582c46294df5a56dcbb22c33140a2b8a4c29431845a351845040080020f07d3ff064d9e05247822c5e3e3c48eac875b9d451ca1752470776d0f82c658c01c01cc7add5abcba5791bb427faa6daf272c19b1b904e9feafb61588ded0d6c618c29a510425992286396652284755de3392e8c31c3302821845249927a55d54aa5d2bffddb67c964ea273ffda9cecd963bbaae922401006cdba68c2a8a7ae9d2a59b376ffcf4a79f241309aeea6dd9362124140af1c6f3f73bce6d891fc6d87ff9afffa5d96cfec99ffc89aa6abc8512c65c41092144824092244289e3b88aa2c892e4070146282081222b84125ee715238430b62c8b52c2d76dbf5db6b0eb79b55acdb16d4dd7b1b4bba2f25d519ebb397990fbb3775e65bde377deb95b05e5ce67190902cff31459c612a68426924945519ef35c85d0b1ad4ea7a3288aaaaabd5d1fafcea637417f871adcfae381302e7a695ad6f676b9d3694308545dd10d231a8e472331fc84ac09c658b3d9ac6c6ff70f0cc462b1070c7ac658a3d1e876bbd96c766712ef834f7efdfa5c381c1e1d1dc387c0fc618c599655abd53cd7e585f79ec6161a0658e0134202555142e1b0ef79a170381c7efe99ea82fe04fd1d76f0bec4182388f88678dff33ccf2384400865455114053dd1a1c9e5e2d841f626dea9417d70e3ebb02d77524a1dd7ed743aaee3f0a1fbc4bf0221c4b794c8b24c299515251c0e1f06f617f4f782c5fe5e4170bb2f08088204220c0150544556e41dded553b18b0eaaa974f077eef0280f0f30c686a1abaa12704129fae4abe9400011468001420245d5bf759eb680a0bf5711dcf9e50635fff7348c94573ed00000044f83982084086108a1a6eb92842114720582fe041e710add2ec38d31038031417f2fd0bd43c27f14f407eecafc8a8257dfd28dea95e611ded38b68608a61ff924318f6020202c2fa7ba00528f06d0d08d1792fae177cb89c5fe18a3f07fa13f876ac4729ed2515890e7991580f0000212fa7fc984a3a0282fe5e45ee0b029f10ca773b008c8501fd62197d9432428813043cb14e30a0a03f8103811b7d124686ae2b8a22cc8717f62612dbb62ddbda55034640d09fc003ecbe40927038143ae0c632814388db8a42b204216c77da1042be455a40d0df23c0f459c3260103610501c05404351962085a0e6db90c2190d4504841964f090556c0523af209303de610ca0048a8880160c83060a0e3322ba084b0d021d6fae0250f745dbf53f50030006dd77303c25e8a0820040c017698d30530c68aa248d213c8344210462261d7756ccbe2a140c11782fe1e015b9d60a343129a140076b5680f45a4a3493924c3d566d0f1615f488a2a103070ab1634dc60b511fc785c377db6da0c422a66001a9878949e4aab1d976c762861b0e3d2634914530fa92702219015599664cae55f21dcec789fad56eb5de7696ccf7a0ee402d831d04e02e7d0ba828aa2a4d37dc34343f72d294808b16d5bd734843197ca4408d996ad6a9a24498c5159de554c10862391ae69fabe2fe84fd0dfa3c1a7cc0b28035406b8e192b48129030c008f308f50092009610881e513db0321196db40902cc0d685445104100a01730c600a140c7ac2f845b0e188922ed508e43c618005051d4de7f161aee5fdda86fb65ccad0cb91b7204396094b69453eb40620a5ac52a9a98a9acd667605ec0821d7ae5d5b5a5afcf0c30f1555fdeaabaf30c6a964727373737070309148a652a9542a05d13d17274b32170911c5ee05fd3da2b180605891129aa4ca4042900260050c230821542524e1dba54f108418b1848e420acab53c08018568282ca53478639b9a3e75089310420ca0db5b500ee328e4d30363c4335d0863970ae6adb2e9939767d957410cc7e590211d72ad76db7109253b05951863db95ed72b964dbb6eb7a5b5ba576abad284a229ed034cdb26d496a271271ae207c2f9f524699a03f417f8f8ca88a0c0964c228a06c2ca6180a2a766854030a860103a6473d0d19324c189226530981fe90e4064c4160388a33614c19eb0b49b90e85008ec7b1820083001fee994719e3028c01631ddbeb76fde025cafbf311c448d2b4437e1380a6a98c329fdd2dd4e6fb7eb150e4f998cd667373735355154a69369b4da552ad76cb759cf9f9f974baffd8b1633b0d404a29a1140be213f4f7a8481bf8b6d60784df19d218002e01120208029f020080810104e0485ce2069204417c50638c610400600882a349b9ed320981b00c196031151d5aad0f5e4a2fe0b51119800c0c1b48a3b4dcf55e9ae11248104255d5547c88d9002118898428a38cb29dc679341aed74dadc93edebebabd5aa9eef2baaaaaa2a0360bddee8763b84908989899d613e4629a3042b8a30fd04fd3da2f3db1b3010e812000018f7fbc29d91a4dd5a1f90256f6b22f23ae587bb3b192301c118f365dfd303fa2fa7639f2f77ec80bc1cc3459160dcd0745d3bb4d61f82509625555528bda75407c6383b38184f24d2fdfdfde97e55d35acda6655986ae7b9e178b4627278fd4ebf5783c0111dab955d1f73d4284d6c7cb8907577b76755d4f2653fe1d5909818778be944208245966ec764d653b601b0dcf232fc9d65f84e0585c896987d7178400401eb0bbffe3896f61bf53f51a300820979a6600504af7a6a9371a75cff51289c4734fe444083a8e23aa3d3f53eb4f943c7824079810024080a5db1bdd74099ce87ff9f60cb0433b26b8c0c0c318b2578a023270777c238476bc0420049669b98e1b0a87b124b1e7dfe9022f94f3fbeab11f84087169142c4980d1fdcc1081437e1f0184b66d77bb5d4dd7755d17c694a03f818378280800e0f93e0c7c4992242c418444e1cc17cbb2f53cdfb22cdff78d5048d3348444594c417f02076640455128a5be1f38b6e33f1d413281a777fb30c6aaaa8642a15e284d40d09fc023932093654d143d7de13c5fb17420e84f40cc25018197d946115d20202020e84f40404040d09f808080c0cb8e87c4fef82656b1eb4340e0b9036324d6d09e1dfd410811428a2c89c0bd80c0f3f7d420244120fae1d9597f10424dd355f1cc11103804705d5774c2b3a33fbe8f4b749380c0e180988ccf94fe18004c441c04040e07c44c7ca6f477801bc218a5f4f12992871a85b1f9024cc12774c71f732450c6828078017939ca894100248c15094b58e463bc08f44729f53ccff77d5edefdf1073d572994655990e0e104a59497832484f0c2794f835d21440f1e098c31d3f18a8d76ae6ed66cdf252fc3966a0c6144c103117524154b474382040f35fd052430bba6effb1823499225497a1cce628c0641e0baaeeb3aba6e68bab653a746e0308010625996ebba08215e65f3693ca5ee8c04c7716cc308ddb7d854ad6d5e5c295ead74b73c6c011cbc14430502a052378eda47c2f5f726faa787fbb160c0e74e7f8cdd67c73e65b4dd6e0741103242aaaaf24ab38fe94f31c65435b06dbb6b7601609a268aac1d2ebbaf6b765dd7357443d3348c31786a7b9929a5aa1ad88edde97618633b9f858cb15ac7fcdd42eec2b6d3c0615fd3e8ed02cf2fc5038651879166c7accde719a027473370c7a589d97028ac3fc698633bb665c7e37145550184e40915744218ebba4e28312d0b6349b99f52b5c0b30763ccb66dd77175c35035edbe779c47426459c64f42160361aceb06a5b4d3e948d2dd91e078fed5f5f26cd9a94a51072a340007ac47ce2805944284c02316efa38440c020c2cf867e20c0be1c5e76c03f5c5d1fed8b87756de7334614e07afef447296d341b8611c292b4b7929de3b85f5d9c4508bdfbc6d90b97afc892f4c6eba714450600b8aefbf5eca5442c76f6f5196eeeddf776aaaad669b76ddbe62206e2261d12b7172224ddef8e33c64adb9573b3970a5b254d553ffef007a323438c320058af7c7c4f4663e7dffc548cb10b97afb8aef783f7be83ee1d0caaaada966ddb762f0858699bd7b65aa540b521a6e0601167c614e20c806e0cd3ba8bb75134c00aa36c6f4e17630030067b324e9418819945b602d9762077702841bb3529e6c3db5e3fa30cc2bbf6d95d216076c79bbdcdbc77dec600db79fefdc24a00106c6c7aee85a58d0f4f4d612cf8ee99d3df8ea1c176293b789e17f881a228c1fd72d01dc75959dd00109c983ababcbaaeeb5a3a95cce58b0c80a347c657d636a2d1b0244bf57a83527af4c8447f5f6a2fc721845cd7d50d5d46b2b849cf1d7ee0134a54592284ec5de6725cf7dcec37eb9bb953274fdc5a59fdfae23718a19bb76e21848e8c8f067e50add55b9deec4d848b63f3dbfb8dc6cb526c646fa9289e5b5f5ae654f8c8cacac6fba8efbddb7dfdc457f104259514cd30c87c30823c658b9d55d6f7b160ef907568f57109849e96f0d24299631f33f5d6b2d55aa9a677b48f66503101fc82af01d20a98006ba67795822461c20298e830f46a2e3a91188b1e79ae7b69c8f2787fecff34b15d3f3d408a481ea9914005f8b31d7462c5021752483498aec7600213e44408f42cfd603c79154aa8625cf9402d7970da2861f6c8406005852f856a9fee6513b1636768407059e32fd3dd4baf67c0f4b98ecb3dc4608b15d776965c5b4eccd7ce1c8f8e83f7ef65bc068a76b2daeac0641e0f9febffdfe0bcff70180b9e2d6273ffc301a89dc8ffe1c4a089005fd3d7fcf3708024a1900e8be37bddde996ca95a14ce68d533367664e9aa6fdcdd56b376fdd6294dd5a590b08711c0742746361f1f8d1c9f3972e8f8e0cdf5a5d1d48a737f305cad8cd855b000245514840d81e529024b9dd6a514a38fd354db7ee305f43de81e32d8a8c122123f09c73cbeb92aaf954f97713b189be2197d0d9929d32945ccb3d128fae379d91903a9ee873fce057ab66de45993e7d241dfba260af379d6349154b6a3aaafdcfa7867cc6ce6fb67459399be95311fc974d7b66a02f04bd90aaaed6ccb596f7eed0b021638fc2cf37dba7535a5f58699aee85a2f5e691647f58b95e363fdf269d87893fb720eb40d8b59d1df427f094e90fee79fcde35e67b0417104a282501db87fe10047dc9e4f1a313dd6ea7dde9349aad745f2a1a0edbb6c318551545c2f8e8f818c2d2d2caaa69592143dfeb5f0784104a459ae721e03f4009a124a094dc37cac6188510b89e67394ebdd1b46c1b41a0c86abdd14018ab8a7cecc884a16b172f5fbbb5ba9ee9effff9c73fdcc8e5672f5ded74cdbe64d2f53c8c912c4984048ca1bde44b0821844a126094f984ba3ef3313db0f107ba7e305f68c647c21fcd1c21ae7da9d0d5105b2f5567268653714d85f44c46a248ca4065a65f995bd99ccca4a6d3b1f575539630a1a0da32b7aa66b7eef527a21ee9ff5d994ea5f41343f256a556ae354f4f0c0ea7946c2a72bd6c060e7d6f62305c33ab3e2936bc1f1c499e19554ec4e06fafad9c991c7c5b3112326bb6da8802cca0ef3dc4738790fa2aa364df292082804fcbf9edd528be6f1743080809c83e89af94125dd3c646864ecf9c2c57aaa665a98a9288c7744d0b1946b154668c59b6bd59d89265251a8d4818eff5a78220604222ed100152ca4810b0fb2d6ba8b2921de85fddd89cbd7c756d3397cdf46f6d6d43c652c9044250911549c208215dd7fad3a9cd42f1cab5f946ab158fc50000fde994ae69955a1d424808d93ba2082100de99ea10a818a980747d9f5078c0f181319048b052b4ae13f0d1f1c1e3435a4aa585a64d20aa9b0e64f4fb23a1eb15a7ee3002b0a485974bcdf516f23dd0e87aaeeb6725171afe747f78cb934c8f949b6ed65006c2a82f120a6102b04449e007b4d47230041e055ec0886d31d30cfc3003c867106ba19bb94ad941a331793419812a93ab66f030e57b155399117977ee0b1462becf28f6773bbebb47d5559264c7758d2060f755b180e8f8b149080184706af2084248c26869758d523a393e9688c55a9dcecda5e576bb33323c7862ea98aaa9febd31440491ebba0823841013e6dff3a73e80302284b89e272bcade3b8e303a736a46d7f4c256696c78e8ece9995cbeb8912b840c3d168d4a12e6bf4f233494cd28b25cadd727c7c7fa92c985a5e5ae6566fafbfb5229c6182174d7823284d0b12c499220827c24a4424abf422b96e303851d94b91195c223fd0af4eced6eb0da6627d26aade330c92d361cd3a7294359a8b8f99613c140b23d490b377cdff39dd5aa755997a652d1c954b8e24bb99ab550329b969f6f3a5ea060801cd7a315a7d472108095b68b20bc5e686f565ba7627478403530ba5e6c9b964c830084125d9f7818e71a761768960f7cff41f48700d4a1dbaf8390aede3b0598a0bc2739b48320a077100401afeee7dd816e18fdfdfdbbac33dff773b91c00d03042f73500838000c02449e21f440879be0f005015c50f8266ab7d6369299d4a1d1d1fdbbbb60b21a4945896198bc592c9e413c9a210784cb8aebb5d2efb4160e8a1fd48272024f00349c292240584104210babdc6c91fa594528c317f4991658890effb8c31599618650c00e9de7b0d21a48c76dbad7822d1d7d78710628c95aa8dbfb9b0f4db22d926618fc283b1375025dc1f96639ad476829ae5a70c499325db0fda3671098d6a92e911dba7095dca44d4b61b6cb53d9f52084048c19988aa6058ee78a647fac272d5f40d194b184a0886144c2868dbbe22a1b61b4000e23a4e2af49d8c9c8ea86da0ffed7c23a0ac2f24d72cbf69fbe9901a51a5bae5554ccfdfdfb9411018884cca8dfffdbb63a78e8d4992d4eb904ebbcd33815455e599e73cd388abd341788f6d287020eb6f577fc15dbdb827ad0a631c8fc7cba512844051349ec2723f120c7afe0b46881f810044c2a1d74f9e90250921c469f7ee8d4790a798c99214320c049130fe0ec52891a450385cabd52cdb5254952788dcef6db877dff18ea75a6f841042f8ce564a29a014410820a4779653762612f0ec10c7b630c62123c4470204301109bd399eda6a179c8655279a470f24a1ec79a4637910de7e73d3f400cf43018031d0b17c7e8e9217945aee4e8fc6f348d3f4c09dcbed3a3e63a00b7d7ee4f6a46100dc3973cb821d43922514eed08d463ddf707c427375c8cfd9b67c00e083f74a6308554c0650f7dd417d72780023bc770af0b4a19dd356b0dee33abff05ea03b607b125f2084e170d88a465badb6ef079aae03000f2e650b2134741d00b0d3d3811060847ddfb76d1b21188d25554d031008e7f7300021140e875dc76d341b411068ba0ec113cb75df3b3c108481efdbb60501e8efefd774ad370c14453e3e92e9daae737d6ba1e57461c40c60c00ecb30210094dda0da72210484b147ea2108818a6108fa69d0fe7e56ff6066ccd0774f013e2de11e8821fa2de98f67a2ee22c11ef7edd7b3b22ca752298450a3d1b02c539665093fd60e500a98ef798410c330fafafa22918848783e54906539914c4004ebf57aadda551445c2f2d398779451df0f28259aa6a552a9682cb67324400823e1d09bc7c763ba7271796b6e6bbb852402307df117ca30043a0e86c2e8adf1d4d9a3c399f47d223f0842eeeaf64870efc3438cd54778e4104278f1224a294f6ae5e13f1e01d4342d168fef57d0c5f7fd6eb7dbed762dcbe231c4c7b12f54550d8542914844d77511f23b84e00980a669f23bee79ded3a87985319665391c0e4722114dd37a91af5d2d715db7dd35f3db8d6aabe3f901a50773830fed3c845092a488a10d246303c9582864ec9d021042c7712cd3e4213f49922449c218ef2244c1808f4b7f9c018320505535128d3eb89e15ffe0e3cf0404115fed1577e59083524a09a5ec699599ea05f21f4ac7b72b0f52f61204497a550ef79b021042d7711cc7c1184b77d0e33e417fdfc6f905f766f9f5ba1263ccf730d287511b7f703d411343dc95c33f51b1843178ba16fa414602af11095e2e57e1c1178e764044009f00fd817bd73d7adcc71fadbeeff34731dbff76897e141078220f96fb1f06800140eea4130987f789d1dfede416c6761a808c31ce808410cff37818e23621f2fa7f3b9f5082fe04049e28fd41002042000074674e020018a57c62eeb7322948f05b5a7ffbd9800000ce80bd1061ef8f1e690a775540e04945157a7ff4e2803bcdbdde1ff07e101df8ed9d5f6ef4ed8a3ef06e2584f0ac7dbeb6db7b27a554f4a080c01367c0bdf4b7cbe7ed597ffc0f61007e7bfadbb5e5a3c76ebd474a6f7b06a55492247607c2f41310784af4b7732972270fee3c28c8ee717b7b671cef6e26c18edf1cbd233bb96f97a9282020f0a49cdfbd66205fe6de69f1ed24414185dfdef9dd7b0fb80dc8fb7a17fd0111f5131078fa0cb897fe44a4ef19d11fb85d7c85f2be668c7142bc2ff1091e14107852c4b7d70cdc4979bd489f60c027437fbddc97bd1dda93aa11469f80c07321c45db587ef5beb45f4d5b7ece1bd51bcbdebbffb1d17101078968ef0838f0b3c16fdedc771c2e11510785e8ef003e84f70df13707e1f70037a19300fbd43020202cf800dc5bc7b8ad6df2e3cceab0202024fc4fa1366c7f3a13f4176020287990d059e11fd09080808bc4c10b54505040404fd0908080808fa1310101010f42720202020e84f40404040d09f80808080a03f0101018117120f17a8148981022f13440ab1c0ddc1b01fbbed3d2e7850e0a5613d418202f7a7bf835476115428f0825a79820705f6a5bffd8afa89627f022f3a0fee57374530e02b0be9a11cb75fd1534185022f96ddb7f3d59db5cdef5be75ce0d5a2bffb9674de59e65ed47c16781119f0bec5e285e9277097fef652db2e31dfbdff157d27f0a238bcbbd4827ae61ed7f01254f84ad3df5e7f9652ba8bf5b8d0e5ce83f7f59a05040e03f1eda794b657255250de2b4d7fbb64ce39c7f598aea7edcbc5ce77d19f88030a1c426ff7be465f4f1dfcbe54d808a176780000200049444154538f1484f82a3abf3b5dda1ee5f5586f97ccb9d0bd147821acbf9dc4c7fd5c2e57dd3b28f84ed01fd8e5c6f6586f27fded3ab297fe04090a1c42e2eb197d08a1de93bbc77d3d06148bbfaf34fdedc77a841042481004beeff3970821f7b50105040e0909eef579f96f45512449c218638c77d97dbd31cc8d444185af0afded5ddeed312021c434cd8585852fbefc329fcb134aefb5f476b09e20408143417e3b68b0f70b00082196a491e1e1f7dffffe891327745deff9c2bb9c5fc17dafaef5b72be41704413e9fffbb5ffd6a6bab2449b21816022f2e98e35ebb36d76ab5a2d1e8f8f878cf47ee39c5bb8c4131da5f21faebddf59d0eafe7798542219fcb4b924c09119d25f0420321542c16d7d7d707070779d48f7bc7bd80a0e8a25791fed81ef4027f8ee3f8be8fb124027c024fc60a632c08024ac9531b511021b433c0b71341401cc709828010b2d3f4dbb92a220cc05788fef66ee4d895f242e9ed64400181c784effb9ee7410865599664e969f00b2534087cd77525092b8aba371f908fe75dac276e8db0fe76a7b90441d0f385454f093c2682c0374d2b168b45a3314dd7ee5867bbb7613c2efd51e2ba6eb7db6d36eabee7eb86b18bfec81d208428a5fcdbf91f3bd77fc5fd7a55e86f1fa3af97eb472925fbc753b02461fe60670c48922449d8f7fd67c3980861599620848c01dff70909b865c118088260e78234845092244a1921c1637e23c698670201c030c6b22c23843ccfbf77fd1bcab28cf1ddbd043c9cda9b600861499282c07f452c6b4248d7eca6fbfa13c96410906271abb25df63c4f96e5783c9ec9660dc37822a40321d4345d5114c3d08b8562a7db367463c71e38b46b9073ff5710c1abebfcee17fbe3a61fdddffa43080d0e66de79e71ddf0fce9f3fdf6ab5bef7bdef0d0f0dcfcecedeb879e31930e0f8d8f8071f7e20cb3263b45c2e7f33fb4dbdd178e79d7718a55f7df5b51fdc65ba443cf1ddf7bebbb1b1b1b8b81804c1b7e53e94cd665e7bedb5e5e565428822cb1b9b9b67cf9e0d87c3bffffdef1dc7e9bd53d3b4ef7fff7be3e3e3dcc62184acaeae9e3b77ceb22c3e45878786df7cebcdafbefaaa542abdf4838c31d6ed76e389442291f43d6f75752597db34bb26a50421a4aa5aa7dd3e3239190a85771a71dc22431833ca186018e147fa5255d5d2fdfdb9dc86873d4992eedc41c64dbf5e8aebde245661fabd8ad61fb85fc51700006380d17d1e8f10f4a5d2efbcf3ae24e162a18011fefef7bf373c3c5cde2edfb8710363ac288aeffbbee753466559360cddf703c7760000928c55552584b88e4b29c312d2341d00e6380e0928c248d354c600210402e8791ec248d7354288eb78bd760e0c0cbcf7ddefcecdcdd5ebf5d3a74f8f8c8cfcc33ffca3ebba8c5142084648d3351210c7710d437ff3cd3728a50b0b0b0842ddd009a18eed504a21829aa6410882208010f99ecf1843086249e2a61937f72080b22c53423dcf9565f9adb7de8ac5627ff3377f73e2c489bebebe6f66670160aeeb9180400829a1dd4ec732cdb7de7e0b4174e1c2856ea783100a850cdf0f3ccfeb4bf7bdf7de7b8b8b0bad56d3f37cdff721848aa2288aecba9ee77a2fd324f47d1f231c8d440212140a85b5951508612a99b42c4bd335cff3363737b0241d3b768c5f3596a4b1b1d1d1b151c776161797344d0b85426b6b6b8412c618820800c000630c70b799dda1ad5d5da6c8723814716cfb2e7542b673a94fcc7f417fbb1fd4f7ddf8f18047bbef79b26c2493491e3d098240c2786c7cec271f7f9cc966b6cbdbbffef5a7a669fec12f7e3e363a669ae6a79f7d96cfe77ff4a31f1d3b76d475dddffdeef757af5cfdc94f3e3efbc659cff3ae5cbef29bdffcf6f499d33ff8c1fbfc395d2c16fff11ffef1e39f7c7cead44cb7dbfdfdef3ebf74e9926ddbbcb57ee07ff1c51757af5efbe0c30f3ef9e4a7232323d94c2620412ab5f2c9279f4c9f98ee743a5f7df575b15090251941d897eafbd9cf3f3972e4886ddb172e5cf8faab73d327a67ffce31f41088320a8556b7ffdd77fed38eec040f6c38f3e2c168a0cd03367ce7cf6d9bf0d0e0e8e8e8c5c9fbf7ee4c89168343a3d7d3c954a2ddcbc69e8fae8c8c89ffee99f6abaf6f5d7e73efdf5a7beef5b96f5d5575fcfcfdf181c1c4418fdd33ffd733c11fb0fffe14f8687873b9dce3ffdd33f4918c762d15ffef2978aa26c6c6cfcfad79f2613c91ffee8a3bebebe76bbfd7fff5fffcfc6c6c64b14f50b144da50c388eb3b5b5e593e0edb7dffee33ffee38d8d8d6c267beedcb97ffe977fde2a16464647f9ae8ca92313efbcf376b556cf0c6492c9a4e7fbe9bebecdcdcd7038ac696aabd5b61d27168d84c3e15aad6e59563c1e3342a156b3659a26bbd7110e8542cd664396e5bd237cd73676c105afa8f30bee57d16fc741ba5f7c8af39de7799eef45a3d1443251afd7e3f1b86e18efbffffee0d0e0e5cb975f7bedb58f3efaa85aad4e1f3ff1e9679f0e0d0e1e9f9a4a26125353c76edebc198d448f1d3bba5d2e8f8d8fdd98bf110a87de78f3cdae69bef9e61bdbe5ed8585853ffa5ffe48d3d4b36f9c7de79d77ce9f3fdfd797fae0c31f6c6f6fdfba758b52ca00050c044160db7665bb82108a84c38383830121d96cb67fa07f7676767474f4dd77def9ddef7ec7000310fcf8c73f9a9999f96ffff5bf653299f7df7f5fc2d2d4d49465dad7ae5dfde94f7f1a894421448410dbb60dc3786de62463ecd8b163ab2b6b274e4eb7db6d8ca4e1e1e1dc662e9fcf9ba6b9baba76fcf87184d1c58b175f7ffdf577de79e7c2f90b954a05004029f57d9f32ca08a094a6fbfa1545bd7af5eae9d3a7df7ce3cdb5f57508e0fafa46abd9fce10f7fe83aae110a699a7ef1e2ec6b274f4e1d3fb6b6b6f6d20c324a29829077886d5b00c076bb9d4c267ff6b39fcdcfcfffddaf7e150484106a5b966e189aa68d8c8e365beddffce6b70000fea49124e9e8d1236fbffdb6effbddae592814a6a7a75555d9da2a5dbf3effc9273f0982a0566bfcfef3df97cbe51e9541082509735777e78805fbd4acec79bec2057e45801e10afe9911f21c17e3f94524249b55a4d2693478e1cd92a6e057ea02acaf0f090a2289148a4dbe952468a5b85cddcc6f1e3530082b5f5b55c3eb755dcca66b30cb08d8d8d5abdb6b8b01804412c1a5315a53f9dd654ede6c2cd6fbef96673338731ce663386ae47231100806ddb928429258404945006186594316a183a25d4766cca28a3b45aaddeba754bc252241c51140522c818c3188f8e8d6e6e6e9e3b77ee9b6fbea1944e4e4e46a3d19595956fbeb9b4b2ba1a04b7afabd56a6e158b03fd03d96c766363636868309bcd2edc5c705d0730e0388e655a66d76cb75b849042a170f9f2e5f5f5750801427067ff30c600638404e5727973734351145dd715550180d98e7df9f2e52b57afb43b6d2364e436373dcf9d181faf56abc56291b10775fb8bf54319e1890484108c31841021ecba5ead56b36d5bc218212461cc5d0712048c52dff33ccff53cd7b6acc00f3046a3a363954af55f7ffd2944706878985252a9540242a68e4f1986b1b1b101008d46a3fc8b7af08360674f5246f633f78401289c5f00f6d900b79ff54729a58456abd5a1a1a14422512a9728a39ee7552a158c70b5526d355ba552c9f3bc56ab55da2a9d7cede4f7bffffd73e7ce359a8d62b1786cead8471f7de4b9de8f3ffef185f3175aad562c166bb75a966d8d8d8d398e934ef7753bdd5aadd6e9761a8d86e779b663974a25be8a4a299525797c6c1c30f0faebaf576bd5d256e9e489930080e9e9e90f3ffcf037fff69b4ea7a31b3aa38c5116f84169ab34363e36353595cd661963f97c1e4b786878f0c489e96c360b21e0d7ebba6ea150d0348d31766be9d61b6fbc01215c5b5b4b2693b703029468ba160a87f8ca462f9abeb3bb28a58c328aa82ccb33a75e3b7dfaf4cd1b372dcba28432ca24491a1f1b6bb7dbb22c371b4d4248b150745ce7fdf7dff73cefdad56b2fcda230a3ccf73d12f8808148246259962ccbababab5f7ef9452a959265599224c330208224082ccb2a140ac78f1f3f317d3c1e4f04410021b06dbbd96c0c0c0c0cf4f79380d4ebf5962247c291b1d1915bb7964dd3b46d7b7bbb52dadae2a1dbdef8f43c1741d4eb493e0c76793c820504fdddff19f850faeb743ab9dce6faea1a63ccec76739bb9f5f5f5cdcdcd4ea7fdfefb3f181d1b050c140a05d775a3d1a8aaa88eedac2caf341bcde353c793c9a4ebba37e66f542a95ad6231994c78be9fcbe5d6d6d703424e9c980e87c38661d4ebf52b97af643299c1c141c6d8caca8aebba3c6ad36eb78b5bc51327a68f1e9df47cffd35f7fbabebe5e2c160100d56a75bbbc3d9019705da75aad763a9d5c2eb7bdbdbdb8b0f8c9cf3ff9d18f7f84109abb36f7d5975fd51bf537de78e3ec1b67e3b158bbddee51583e9fbf75eb96effb0b3717464747d7d6d6b6b6b66459ce6d6ed66b750041369bcd66b2b55acd755dd775abb56a2e97e36deb85fc0b8502c2c8719c5aad6659563416add7eb954aa5d56ae5367363e363b22ce772b96b57af0d6406d2fd69dff3cbe5f2c2e2024fba7c69c699e338a17080208ac5e3dd6e777979f92ffee22f1cc75155350802499252a9142584021204fef5ebd7114299cc80ef074b4b4bb22cd76ab58d8d8dd3a74f2793899595e55abd3e3232e2795ea954ba71e386e3381823cff3baa6e9fbde5dd70663d334797edfdd071210658a0476d0df7d558d7ae383db77fb3dd5575757dbad76a7d3b9b9b0204bd276a5f2dfffdfffde6c344dd32c97b7e3b178a7db29e40bbeef57b62b7de93ed775f3b9bc699af95c3ed597e29e63bbd5eeb43be170b8d56a514afdc01f1e1e364db3dd6efb9ebf55dc5a5f5bff1fffdfffc866b29ee7e5f3f946a3c107f4f2ad5b7ff99fff33429852da6ab6cae5b2e77b9f7df61900a0516fd46b7545513a9d0ea1a4d56a55abd556b3d56eb71b8d46269b711db75028d88e7d9c1eb72cabdd6ebb9e5bad565cd7e5d75bda2afdeddffc2d21a45eafb75a2ddff7dbadf6fadadaafba66ad569324a9902fd4ebf59595158450abd5bafccde5a5c5a566a3d9eb2ecbb43efdf5a70cb05aad76e1fc85d2568904c4f33dd771bb66b756ad114ac2e170bd562f168bcbcbcbeb6bebd168d4b2acd5d5d5c00f5ea6714609ed76bae1705853d5fefefe56abd5ed7601047ee0abaa9a4c24755def2524d5ebf573e7be360c230882ae69628c252cb99e5babd76459b66ddbf7fdb5b5354dd56cdbb61dbb52ad288a62dbb6633bbd718b31761cc7b62c8c50ef8e504cef3be00511bc9a809ee7f5f678dc0e97f8bee7799ee799a6f9c5175ffcd55ffed57db74fee7bc67bb3e7f74ac9eccaaddffbe65028f4830f7e70f6ec599e71f2f77ffff773d7e6f6be7fe749ee7b1eb0a37c5beff7aeaf5655f5bdefbdf79d77dfc5920421fc977ff9978b172eeed7fe3b5f793bc1f9eeab7b8f1cb8a3765ed4de6b79a91810305555c391300902d7f53ccfa38cf2347545569ee052034f71f77dbfdbed324ae18e32588aa2fcd11fffd1fbefbf1f0a85943be01b84f9a273af12ea93dd8b22f0c2c4feee35f00065143e5b27acdbed7cf1f9e74b8b8b8aa2b4dbed72b9fc806d278f09dbb62e9c3fbfbeb6a6699a69595b5b5b8fb92d44e001ac14785ebd5e0f1986a2c8b2bcb38ec6138bc171ce6ab7db41e0f38440caee0edfa7596a41e0a5a33f066e27473de366351b8d56b3099e89a866bbd5eab4db4008783e7dfe638c61099b9d2ec2889b5a4fdec6a494e7a84300c88e5d86b75f65a27887c0c1e98fb39ff002049e04f8c667becd96044fcba27fc07a1da522df45e0e0ce2f00f4dee88980c0e39220786e058418a140f09dc041e98f31462910f427f05280edbb7d5d40d0df1e208c11c63410f5fe045e0e88f55c8183d11f42687878f8934f7efa5c72d07804e791726e9e4a33003b54beff616bcf8b05455586ee087d08083c84fea6a6a6de7df7dde7122ef17cdff3bc275505f3db37c375b1243d7716eec1751d59560ec3040e7c9f01b0b398ca8be0fcb276bb2da6bdc0819c5fc3300607079fd33c776ddb0e87c3cf77aa77bb1d55d50ecf246fb7db8661f4ea773e47388ec318d375fd051aee8410dff779b5340101e930378efbbfcf7bc2d007ec7a7ef6b8233f400f474b5e30192c21da25f002d11f4fd47a6e8b757c431aa58c1e9a0543c618a50c427638da72887ae660f42732db055e10fae393fdb90e57c818608cb2c3b15ba0b741f830b4873783bd50fb2898d8f521f0a4e88f977aee09984992a4aab79555797e3f5741dbf9115e5281ef333f88abf2606f855767e07f736911fe758c31d7756559def92d84105edf010020cbb22ccb0f5d54e155090ee86cfabeeffbb78bcded6c0caf722cddbb7ec2002041c0d591545595a40389de420879631efce69d57ca254478ac90d713658c298ab2f326baaecb65bf25493a48b7f42ca9174e039a3bec62da0b3c01fab36dfbfaf5eb8b8b8bb66dabaa7af4e8d153a74ef1ea95954a657979796a6a2a9148f4483008821b376e2c2e2ebef9e69be3e3e30759d360003cc0fc5b5c5aba3e3767dbb62ccbc3c3c3274f9e0c472218634ae9575f7e393a3a3a343ccc499031562a952e5cb8e0ba2ec6786060e0ecd9b3a170f8217473c7fe7ca8091a04c1eacacadcdc9c699a18e3a1a1a1d75e9b0947c2922439b673eddad5c1c1c1c1a1a11e093a8e737d6e6e61614192a4c9c9c913274f861fd61870a7b20c650ceedf1e4669a55299bb7ebdb4b5450889c562afcdcc0c0e0e4a58628c2e2e2efabe3f73ea142f730221741ce7d34f3f6db75a9aa6f5f7f74f4f9f48a69207bb355c05eb456213c17d024f8cfe78b5a26eb77bf3e6cdc9c949cbb26667675dd7cd66b39ee77df9e5975b5b5b994ce6f8f1e3fdfdfd0821dbb6bff8e28bebd7af2b8a323c3cbcd306d98ffb18650fc872c3081142ae5fbf9ec964fafbfb6fdcb8e1795e3c1e1f1b1b9b9d9dcde7f34343c32323c3e3e3e3184bd56af5e2c58b939393b22c7ffae9a7a954eaf8f1e987583af0b6c3f4f0cd020c602c114216161692c9642a95ba7e7dcef7fd582c3634343c3b3b9b4c26878747c6c6c746464630429b1b1b7ff7777f77e2c4098cf1dcdc5c2c163b76ecd8c377d7400038e5ec1ffb630c40843042b95cce34cdd75f7f3d9fcfaf2cafe8ba3e3c3cb4bcbcbc99cb75bbdd582c7ef4e8d15028e43aeeecc58bf1783c93c99c3f7fbedb353ff8e0034dd31e4e25141ca8670e17fd893d6f024f88fe344d9b9999a1949aa6f9eebbef6a9af6f9e79fdbb67de5ca959999996eb7bbbdbd5d2c163b9dce471f7d140a85cae5723e9f9f989828168bed76bbafafef0091bf07ed389e387244d7f5ad52e9c4f4f4f8f8f8f9f3e7b7b72bb66dfff4939f3a8e532e6f53c6f2f95c2814eaef1fa07776c2df55b3630fd9ce0c01e46f7b68a51088e0c8e808c6a856ab8d8c8c8c8c8e5ebc70a1dd6e6f6f6fff4ffffedf7b9e57ad561dd72d6f97755d4f2693cb2b2b18e39ffdfce700806aa5128bc52865e0610b1a08a0dbcd660f6a76229e78e3cd37abb55ab3d13873e6cc8d1b378bc542a3d19c3c3ac928edb4dbf942617efe06c2687a7a9a318a319e3975ead4a9539f7dfa6979bb6c3bb6a22a0789a3b103f4cce1727e5fb460a5c053c563a5d471eb8ffbb6b22cf370dbd0d050bd5eef743ab158ecbdf7de3b7af468a954e239628b8b8be572d9f3bc5c2e97cfe71fea8930fa104008255986104284024210c60303039665369b4d8cf1c9d74ebefdf6db9d6e77bb52219470ca0b08e14546dbed362f28ff30307a30400879cd548890effb18e36c76d034cd46a3a1aaeacca9536f9c3ddb69b76bb51a2124f07d4992787c1061cc0038d0f7304ad9c3dfc700c318638420849431c7b1b383838aa294b64a84d2a1a1a10f7ef0035996b8064b4fcb58922488103bf805f307c38b06e1ff0a3c19ebaf4782bc8451a15068341a3c0f960795d6d6d6eaf53a4fd3f53c6f7e7e3e9bcd269349c771565757a7a6a60cc37848e0ef6161fede1beab5fa76b91c894428a5bc4a2117fd608c69aac628038c618c23e1b0a6e99452cbb61f7af2475afa007704122921dbdbdbb55aad2f9de63504832028160add4e0742a82a0a84706474f4e2c58bbffdcd6f1863dbdbdbdff9ce7763d1d88136b331f6d06683dba2160042d8ed7437363727c62708096459020c349acda5a55b9665710f97324608595a5a6ab55ac56271faf8b424cb07b95ec6859c44de9fc00b0bfce77ffee73b15dd764a9b134214454924120f3e85ebbabeef8f8e8ecab25ca95442a1505f5fdfc8c80800c0344d00c0e9d3a78786865cd7cde7f31f7cf0c13befbc138bc524491a1a1a525575bfd372b15d04d19d28e0fd7ffc20b06d2b9bc94422d17abda1284a3c1e1f1f1fe7b2e5dd4e676262e2e8b163b2243bae6776bb8ee3b8ae33363efefaeba7439c7cf73f3980202001040842f8a0b7ddf90982c0769c745f3a1a8b369a4d55551389c4f8c40460c0b66ddbb68f1e3d7ae4c8a424cbe1700463bcbebed6ed76c7c6c6278e1c5115e5a1e7870006810fe1c3dbc328b32c4b37f4ec60d6b16dd775138944babfbfafafcf719c4ea79d4aa54ebe361309872965b56ad5b16dcff34746474ebf7e3a128940f0f0ebe5e10384d0417ae690fc30ca6cdbe6fe7e0f68077a35ee45b1fb57010fd2fa705d371c0e4f4c4c3cf8149ee7398ea3691aa5b4d96c725f988b2df8be0f218cc5625cd0abd56a452211ae5613044128147a40fa8bebbaf57a1d63e9a1d69f6ddb7c45b56b76f9c0d554cdf73d42881f042123a4691a84d00f02cbb248e003083555d375fda1e31b21e4ba2e42e8807b7e7b8d411875bb5d082104905fbbeffb8c51c308f556153ccf6b77da10805038ac2aea41261bc6d8751d080fd41ed77509258aa238b6e3799eacc810428cb0ebb9945245960d23c4cdf676a71df801c2485335de57073375691090176bcf2fa5b4d1a8534a7b421f3c5141687d08fafb96f4b7d7fb7b222d735db756ab3fa592e8078d8c22e479ee01e9e659d8ea8f427f4f1b8c314202497ac1e8afd96c08fa137862b1bf5dc1b22739c1c0c317679ff21407943104296587622640062963103c64e5f799d11f7dd1567ec5b2afc053a4bf273f5a9fb3d008d77a82cf71dff1bd4f97db724c8761cf2f048c514045de9f80a0bfa7e2aa30061879ae3e08e36d3834f40718250c1c0ab70c42401981f4f07a887b99ee906c971610f4f7702008c9734dd462b7ad057898122620381c091c9c830f732a89e77ab663f3bd321070f14b4682e030544b1438ecf4f77ca3bf922445a35191a825f0add16834cc6e579224c618c65892e5db892d624d43e020d6df731c2818e38354011010d8d7faf3bc542a158d46799d1b9e90df68347a55820404fd1d5e88a7b4c0633a10baae472211dbb60921866108ad0f819d109257022f3320849665cdcdcdddb871836fc416cf548117c3fa1310784cf02dd5e7ce9d5314657474f479e9760908fa131078d6a61f00206484de7eeb6d8491aaaaa2dc8b80a03f815708f1447ce6d4290841381c169eaf80a03f81570294d246cb5cda6c6ed5bbba8ac6b3b1e181a430000504fd09bcfc70dce0fcb5d2bfcc3979172562ec747ff9e399816c2a227a4640d09fc04b8e96197cb9e0adba711a8f91945246f51b9bdb6115854386e81c01f0a4842ef97f79e9762eabc62b12ef140ce3458f0fa8e8c8182384f00a94fbf9358490039eed31c15b7edfc276bc56d8ae4d540f6dfcb768c01339e1239de7be97f6f4bc5442ee533a9037f85b67ab381ef0e5c85ba7061c458f44434935ee942bb6e3860c5dcc7c01f0d06acfaaaac6e3f1fd3eecbaeed2d2d2d75f7f3d3f3f5f2a953a9d8ee338e17098525aad5619639224f1f90621b46dbb542a4522114e977cef11638c6be3f6b6227181604a69a552e164ca53f6b9106d4fa996cbcba5d369de60fe15bd8ff3f3f3f3f08a9ebeeff383bcb2216f3f3fd5ce3794cbe56eb71b0a857a2ff1a2d3e7ce9d1b1e1e0600d4eb755ed09f100200a8542a6b6b6bf1789c733d21a45aadd6ebf55c2e0700505575e7c9ebf57aabd5d2759d1ff43c8f7f2a08027e75c562d1f33c5e1e1500c04fb8bdbd6d9ae6caca0adfb78031ee5d634fd498b796f740efaa2184954aa5d3e9689ac60fdab6bdbabada6b1800c0719c959595783c4e08e97dcab2ac42a16059d6eaea6a3c1ee707f978e8dda69d5dbaebdb1963b66d6f6e6e2612093e967abb83f949f2f93cd739e98dba66b3b9b0b090c96476dd324ae9cd9b372184a150083c7a1a7cb9debd59f626c692aaa6c6a2da4002e1566e20ac18bac6abfb896acfc2fafbf69065797c7cbcd56a75bbdde9e9e9f5f5f5c5c5c5a5a5a5b1b1318c71a3d1a856ab849093274fa6d369dff76bb59aebba2b2b2be9747a666646d3b442a1c0c7f7993367fafafa2ccb5a5c5cdcdada1a191941085996b5b1b1e1380ed7de1e1c1c0c82a0542aa9aa9acd66f3f9fcc0c0c0c2c20284706a6a6a68688810323f3f5f2814b8a2c8e2e2a26118838383954aa5d1682493c9643299cfe72dcbca6432fcb35c66b7dbed6e6c6c442291f5f575499266666636363678d1fc52a9542c16af5cb9f2ddef7e3708826fbef9a65c2e4f4f4f57abd54422a169daecec6c2e97ebefef3f73e68ce779972e5daa542a7c8f413c1e3f7dfa742e972b97cbfdfdfd8d46a35eaf7ff0c107e9747a636363717131994c8e8d8dadacac589695cd66e7e6e62291c8d0d050b1584ca7d36fbdf556b7db3d7ffe3c63ac56ab699a964ea7cf9c39b3bebe5ead568786864e9e3c89312e140ab76edda2949e3e7d7a7575b5d96c6a9a76f2e4c9783c3e3737b7bdbd7df4e8d1eded6d5dd7878686ae5fbf1e04c1f8f8f8891327e2f1f8d2d2d2bffeebbffef297bf5c5f5f9765797a7a3a93c9e4f3f9dffce637e3e3e39b9b9b8542616060607474746565c534cdc9c9c9d1d1518cf1f2f2f2d2d252341a1d1f1f5f595981108e8d8d95cbe566b389100a87c3972e5dfaf18f7f5ca9544cd31c1f1f775db752a9789e373636f6f9e79fbff1c61b6fbdf51667bd66b3994ea773b95c2693b979f3a62ccb478f1e354d73757535140ad5eb752e1b3d3232128bc51e697c42086405a932d428d264a8abd09504a709dcc563395318e368349a482462b1583a9d86106a9a96c964ae5dbb76ebd6adf9f9f97abd8e10e2326fb66d2f2c2ccccfcf7323ce755d00806559baaed7ebf59595154248ad565b5f5fd734cd34cd8d8d8dcdcdcdb5b5b56834bab6b68610ba7af5eacaca8a2ccbed767b7373d3f7fdebd7af77bb5ddff71716166cdbcee572a552299d4ee7f3f98b172f86c361dff7676767373737c3e170a9549a9f9fcfe7f36363635f7ffdf5a54b9728a58d46e3d2a54b440f4b3500002000494441544b4b4b8944a2d3e900003ccfbb71e3866118dbdbdb5f7cf1c5d6d6562a95ba339da06118aaaa524a6559be75eb16976d9b9898585f5fdfdada4208298ac28bf8f7f7f773ae374d5355d58d8d0d6e576a9ae679dedcdc9ca228b66dafacac6c6d6d01003636366cdb5614e5ead5ab866198a6c9fd3e5dd70dc3400865329976bbfdf5d75fdfba752b140aadadad954a25dbb69796960cc3f03ceffaf5eb376edc5014c5f77d2ef324cbb2aeeb9665c5e3f14aa5b2b2b20200482693f57abd582c32c6c2e1b0aaaa0b0b0b18634dd31616165cd7551445d7756ee10e0e0eaeacaccccfcf734e5f5e5eee743aed767b767676626282ffc16fe8e2e2e2dcdc5c3c1eafd56a8d46839bd2b55a2d0882f9f9f9d9d959dec87c3e6f184628142284acacac388e138bc58ac5a2effb57ae5c91655951940b172e2c2d2dc56231fe5d972f5f2e168bdfb2aa3e038c02c240c00061402cfa0a3c31faeb910287a228e3e3e34343437c3ea45229c6d8f2f272bd5ee7028392240d0f0f97cbe5f5f5f54ea7c3182b168bcbcbcbb95cce711c082127d3b5b5b542a160db3663acbfbf7f7474746060a0bfbf9f10128944464747138904f78cd6d7d75757574ba5120f02b6dbed68347af4e8d199991942c8f0f0703299f47d9f1b59a15088523a3a3a7ae4c811cff33636365656566ab59aeffb8aa28c8c8c9c39736670705055d562b1b8b2b2d26ab58220300c839f074288314e2693aaaa964aa5d5d5d572b9ecfb7e5f5f1f6f52b7dbc5184722914422914aa5c6c7c739032e2c2cacaeaeb65a2d2ec3a4aaaa2ccba3a3a35b5b5b2b2b2b8542617171319fcfcbb29c48241289c4b163c7f2f9fcfafaba6ddbb22cc762b1582cd6d7d7373e3eded7d757a954f855f32d5cbc1fd2e9f4c0c08065599148646262221e8f73cf3d1c0e47229146a3b1bcbc5c2c165dd78d46a3a3a3a35c0f8f31964824a2d1a86ddb6363633c92100481aeebfcf8d0d0d0d8d8982449a552899f817bdc8ee32084b809a9695a7f7f7f3299648c717b39954aa9aaca197c7575756b6b8b521a8d46c7c6c60606062084a9548a37c0f7fd783c7ee2c489b1b1318450b7db1d1a1a4a2693a66932c64647475f7ffd755555ebf53a2f46ffe8d40728600165ae4f1d9f393e10f583049e98f3db5bf1e0fa38baae4b92c40b55711389c701796c91ef3fb76d3b93c9f049cbe33be9749ac75c7a26612693e1cb1a86617029e14824a2aa2a77852ccb020064b359ae1557abd50cc38846a3b22cf7f7f7cfcdcd5dbe7cd9f7fd68347af3e64d8450369b0d87c3b22c874221c618b7a4b2d96c3a9d0e820042180e873b9dcecd9b37b9044410049393935c824e5114d3341717171dc70177742f79fcaebfbf9fcb44349bcd6bd7ae71879a072b2dcbc218cbb2cce59f1863c3c3c39665c9b26c5956bbdd8ec562b66d0f0e0e168bc58181014e16b1588c3156afd78320181919d9dcdce4cb4710c24ea7c3f5940dc3989898e06c4829e5a6a8aeeb1b1b1bed767b6262a25c2e73db8d87f6745d5f5d5d6d341a131313fc09c1c30bbcc778b7bbae3b303070f3e6cd5028148bc50cc3e01a55dc56c5182712895028148fc725498ac7e3fcaa5555bd74e912ef8a8d8d0dee07c8b28c310e854210424992c2e1f0e4e4246f365ff5320c8310d26ab56ab5dad0d050341a2d140ae5725955d57038acebfaf2f2b2a66983838394d2f9f9794aa9aeeb1f7ef861b1586c369bfdfdfddfc2fa0b28f3080304f804602a0c40811da6db03a48e3ccf8b44226363630f3e8565595cb68d1393aaaaad560b634c292d954a8cb1f1f171ee87b6db6d4ae9c6c60637c730c6d56a3597cb7129b8c1c1411e17e7812daec446290d8542dc7f2c140a1b1b1b92248d8e8e6632192e2fb7b1b14108191f1f8f44225c6b787b7b7b787858d3b4d5d5d570383c30304029d534cd711c3e09239148b55a55557573735392a49191111eec1f1818088542c562311e8f6f6d6d71f387bb729aa64d4e4e42085bad56a95482107a9ea7699aaeeb3ca639383898cd660100cd66b35aad1a86d1d7d7c7fbb65c2edbb6cdd7103ccf4b2412f178bc5eafafaeaea652a9818181adad2dcbb2464646822068b7db8aa2f0d81f1799aad56add6e57d3b44422c165e79acd66b95cee7d63a7d3d9d8d85014656c6ccc344dded57cb9c0b2ac5c2e274952bd5ee72ebc2ccb8d46231a8d0e0e0e7237797171319d4e6f6f6f638cc7c7c73955f15060381c8e46a39d4e475194adad2ddbb6474646f83a4fb3d9bc75ebd6c0c0402a95e2f497cd660921fc4b21843cda6859966559434343bc7c99ebba84105e7365646484dbe0dcf60c8280df325996f985140a85bebe3e5dd743a1100f0bf0059083e3cad2d65ffeae323836500d1425640cc4285cfefcf54c289588abaa2aa48e049e00fd3de8d1fbffb3f766dd6ddb59f62866800348701e4551d42c5b9687d871924a6eea76753d74757fbbfb05faf9aed54fb7bbabd6aaaafea79cc1f32059b344511cc479264162be0f3b46ab3cc58e95eea40ae7212ba64010f8013838c33e7b5bd6ab0dbbf31f2230b47b6df627af45668c46a366b389d4c9dee74b3ff1d2cedfde2eb43738bfe57911f197fe74fe5be773ff578fe1eddb9f3ff1174aeadf37a0edf6f4f9c7ef55fdbcd7aee1ab67fad209daffffa6c37bd3aabee5bc5ebb442ffdf5ed07ffdadffdc16bf7aeeeef2fcd4c36de35385e7447fd86b17fe752d4717f8e5d5cf2fbf6b2e0db3f7cf5267bcb6d87bec14b28b057bffef65f7fedc6e7b77cc9f3beba931ffce4edff7cf534cf832d7ec431bc65c55e7b82ef78783ff8e16b77fe2e7f7d9783b920d7439214c9d0244f520243f20ca138046f8e5d60eb0391e35bfeaa288a8db37b4bfa3c9d4e51f07ebbb77a2f9c336065d8278e733c1effe0c1bc8b410419fb9f4c262ffd753a9daaaafaa67379e9a886c3a12ccb1735888a98fd43a2f5375d4d402f719c9aa6a14afbea36f6b91886319d4e2f50abc0344d942fdec3f911164910244150244939b19c63171bfd198651abd5344d43dd07b00f2471c8e65455ed76bb5eaf17219b20087696679a261e549ee7373737dd6e77bfdffff8e38f5996c5f383cd269309768bac9ce7791bcf8cee0aea5c3ccf6b9aa6eb3ac771344d2b8a0290ede9e9e9dcdc9cc7e329140a1cc71d1e1e2e2e2e4a92e476bbe19a91fb20eb07c41afd163ce4aaaa62036c8c5f5714a55c2eebba8eda1c4a8dd3e914505e822080839b99994113009d10fb08699a3e3c3c4ca55292248d46a33b77ee2c2f2fa7d369345eb068e82061892ccbe238ce9e8b80df71b95c482ab156f6e2a0ba8ace38c330d8deb22c9c052e99aaaa1445d97f427f064b3a1c0ec7e3713c1ec752a0a385f288aeeb8d4603d8c9e1708896375a58c06903a653ad5633998caeebcd66b3d96c2e2d2d01578ca5c3aaa2688b0b7dfe36c0b19dbf22f6d5045efaf8f838954abd7b03c42208cb224c8bd04c8b362cdd204ca7f1e1d845b9bfc964f2f8f1e376bbbdb0b0d06c362dcbba7dfb763c1e2f168b9d4e677e7efef0f0703c1e03b8a728caad5bb77abddefcfc3c862b00c5b87af56aa3d190240965ef743addebf5fc7e7f3a9d3e3d3dbd7fffbe699ad7ae5dcbe7f3a3d1687676d6308c4aa5a228cac71f7fbcbbbb8baec8f2f272ad56ab56ab2b2b2b8140e0d9b367d3e934140a3d79f2e477bffbdddcdcdca3478ff000a34e7ff3e6cdc16070727212894444513c3b3b43cfc1308ccf3fff1ccd9067cf9ee5f3f99999994020805f9f999949a7d38f1e3d6ab55a737373994c46d3b462b1381a8db6b7b77d3edfcd9b3703810070c83e9fefc68d1b14453d7af44814459c75bbdd8ec562f7efdfdfd8d8f8e28b2f8ac5e2e3c78f3d1ecfe9e969ad565b5c5c0418e8d6ad5b8944a25aad3e7efc783c1ea7d36920e96667670f0e0e689a5e5e5e364d339148341a8d4ea7837992b9b9b95028d4ed76ebf5ba2ccbd168746666e6e8e8489665b7dbfddbdffed634cdfdfdfd9d9d9d5028140e878bc5e26432f9e4934f363737c7e3315e51ed76fbf2e5cb83c16030182c2e2e9224f9fcf973e007ebf5faeaeaeaad5bb7baddee603038383828168b2e976b6e6eaedd6e379bcdb5b5b566b3e976bbbff9e69b6eb78bd992d3d353cbb2ae5dbb86dece9ffffce76eb73b3b3bfbe9a79faaaafaf4e9d3d3d35382206edebc592c16cbe572329904227d3c1e2f2c2ca09baf284a2e971b0e87e170f8fde259d3d20d4b354c42b7148370442e1dbb30f7c7b26c3c1ee738aed3e92c2c2ca01b88d801885620b6daed364110f178bcdfef9f9e9e2693c95aad669a662814aa56abc562d14e15dbed76bbdd4673763a9d3e7cf8f0e6cd9b93c9647373d3e7f35dbe7c19b0dbc5c5454476954ae5d34f3f6db55adf7efbadc7e30985423b3b3b987f1004a1d168e472b9582ce672b942a190dbed9e4c261b1b1bd3e9f4bbefbe03ceaed168604ac4ed764fa7d36030089787813ff8b27ebfcfb2ec679f7df6d5575fa9aa9a4aa5128904a2304551cececefafd3ee07e48cd689a5e5d5d4d269377eedc5114656d6daddd6edfbf7fdfeff74b92e4f7fb1389c4dcdc1cc771b1582c9d4e6334f0f6eddb9b9b9b83c1607575351a8d6a9a562a9542a1503c1e6f341acd66f3ead5ab070707972e5d2249f2fefdfb9224f97cbe5aad767a7a1a8fc77ffdeb5fffe10f7fc86432a3d1683a9daeaeaed66ab57bf7eeadafaf4b92f4873ffcc1308ce17058abd5d6d6d60cc3d8dbdb5b5b5bf3783cdf7df75da3d1f8cd6f7e53afd72b954a369b6d341ae8e16e6e6e26128970381c8fc70f0f0fa3d1282ef768346ab7dbc3e1309bcd5214757070c0304c381cc69b8920887038bcb4b4f4f8f1e3c3c343cc8063d407e050bfdf7f7c7c7cfbf66d0489994cc6308cc3c34360e69bcd265e450b0b0bc7c7c7070707c160d0e3f13c7dfa3493c9bc6f95c02208cdb014cdb23442d11ce08b6317e7fe9096da98678ee3805e4673f6d9b3676b6b6b966589a2381e8f8bc5623018d4755d96e5e17008708ca2289073036c30140a3d7dfa746161419224948ddc6eb72008687ab02c8b344a922400d35c2e5730181c8d46989f057a6e341a01d7661846b7db452f8fe779000f239148b7db05b4cde5720199e8f3f99006baddee6eb76b5956afd703f01850e16030e8f57a6de40a52517b11e6e6e68e8f8f8f8f8fbd5e6f381c46ea8ac1e1c964321e8f398e9b9b9ba328aa582cc2452215c59003dc1f324de09c31d88b6c171d491c1b41102820208d956519e070bb29840cd4e7f34992d46ab5c0d4802a81cd4301c8b12008006c5a96c5f37c381c1e0c06c89731e68c3913807b3c1e0fae2f4dd3f6d577bbddc16010631b822020a257144551141c0fc330a842f8fdfe4020009c13a67af0c243d502e0a166b3797a7aeaf7fb31f58c5340a9010844c02adfb7824712044512144d501441530449114e05d0b10b737f2ccb6202ecf8f858d334c4263ccf230c49a7d3a3d1a8dbed02021d08040cc3402e036f0247100a8530ce190c06599685af2149329bcd3e7cf850d7f568348ac97fafd71b0a855c2e1762379b9401c9a02ccb814020168bedefef93248907a6dbed8642218fc7d36eb75d2e17e0d3b95c8e24c9e974caf3bc2008c00cc221c2b9d0348d22208087004ea3605728142ccb4290cb715c381c467888890e9c7eb1586c369b376edc188fc7d3e91428eee9740abfac695abd5e4fa5520cc3c4e3f168347a7878f8e8d123e4a4f85d8661fc7efff6f6f66834124531180c8aa298cd669f3f7fce71dcd2d2922ccb18e0c5f81d2667513ac0a85c2412a169fae0e04051144dd3288a72bbdd6eb71ba1b4288a27272798c83e3b3be338cee7f3a19c875119555531b68ccc3712890c87c35eafa7691a3e07ee9a611848470a828022efc2c2c2d6d656b3d9f4783cb158acd7eb6192047edced7683b80125d1c160008460369b45928e8307723e1e8f472291c160a0ebbadfefc788defbf6f6189a14488a6749812174c7f93976feedf821b83fcbb2c6e33160b118ea8ac56298cd5414653a9dba5c2e14c51b8d0606ce068341afd7f3f97c0cc320dcb011588aa2542a9552a9f4f1c71f078341f4318bc522c771f178bcdd6ecbb28c471a5573741210641986311e8f078341341a1504a156ab1104118944fafdbe20089224e1af985a43b91dec2c3e9fcfe3f1d8d42928f97b3c1e4dd35aad16a6bb7c3e1f62253cb1ad560b9e1afd13a07cabd5aadbedc6e98f46230c6f4058e7f4f4d4ed76a32a37994c22910858c262b11816d0ed76773a9dc16080b3c36a2091dcdfdfc7492d2d2de1c841979248249081baddee72b9ac284a2814ca6432681aa093a0695aa3d1383939c17ce1bffccbbf5014351c0edbedb6d7eb75bbdd28d7a652295996bd5eafaaaa9aa6c9b2ccf3fc6432c17c0ec23d9aa655551d8fc71445218407b30b2e84aaaae899c46231448518070c04020cc3b45a2d8aa230dc8293320c03fa9314453d78f080a2a8743a9d4824daedf664321145912008c49b8aa260e4ce34cd783c8e2ed0bb0fff3e3da8feeb9dd65c2e313039417485fdbab27b6735ece0fe1cbb08f7673bc1d7a25b5fda863887743dff3ff63f3103805cd206bebdf68b6f3f12e275e8d91f0460ffe061bff687deb4e59b90bde7dbb56f07159ba6d96eb70f0f0f0982c866b3b1580c9ee855c073abd5224932180c9ecf4cf1d74ea773707030994c5657573122f2eafabfe96afee011befbe9bf09658df7a2c7e3812b7c1352fa4743a09f1ed4fef5eb562e171f9abc20bac27e6dba7b6725e4b83fc72e22f9fdde83fe3564f72ddbbcf4ff2f7d91e3380c96bd0916fb2360ccef08cd7d97c37efbe7ef88be7ecb5abdf4214551e170381008605cfa4d006692242391c89b0e29140a7df4d1472832be6595def16abe65b9de1d7c7efe9f08635ffdd1770166bf6be7c3322dc3d42d5307f0c5e9fc3a76b1eeefa24cd77590890201270882dfef074f01ba07e7eb3e48d37c3edfbb3c1b4851f1b67fed066892a03c7f81678486cc4bc91a66febd5e2fc7712f6d309d4e5115c561d804a200f7b85cae97960b55d737ad00e848cfbb4e10a3025e87157edf0b74fe175f5db4d71e12120ba0a0fd7eff0f0eb45cac5926a199846258966e29ba83fb73ecafec83d89ef10c8cc7632075f1a0e261d6340d231628f90f874364166856020c311c0ecf13d61b86d16c360f0e0ef2f93cd89e555545a5afdfef531405c42cc3301445298a32180c789e1f8d46e064479b62381c02cc6c53c86083d1688458693018802c1aa40ce3f1185de0478f1ec562317855b49851c1c417298aeaf7fbc012e334755d4723783018a02389be27c3303877a03dc0ef321c0eb11493c9a4d7eb6d6d6d0502019ee70f0e0e46a31128674077787c7c8cf21f60cfa0de42290da42fbaaef7fb7d8220badd6eb158448d4cd7f55eaf87221d7acda669168b45946571b260c7025a08654df479354d43171e17c8300c74d2d18f966519be9224c952a9d46834801f0264faeeddbb685261fd01639224693299e07d031aabc3c3c37ebf9fcfe74145631f242ee54f7773d7daa3a705d9e3f70c749aa05981b5c84ed1617b76ec62a23f5dd7c1856918c6c2c2c2f6f6b62449fff88fffa8aaea9ffffc67a0976766661a8d06485ce6e7e7efdebd0b42fc783c0e9acf6bd7ae65b359145f52a994aaaaa552697e7e7e7777f7eeddbb344d2f2d2d816baf5c2e5314b5bebebeb0b030180c8e8e8ef2f9fce9e969381cbe75eb9624494747477b7b7bc3e1f0a38f3e5a5a5a1a8d46c0dfa2c900be1678317439755daf542a3e9f2f97cbb55aade3e3e3a3a323d334b3d92c70d14f9e3ca956ab0842cfcece1886017774bfdf07c3ebe9e9a94d6607a6e2442221cb72ad56f3f97cf97c1e489a42a1004a9b56ab55afd70783c1caca8aaaaa00632f2d2d954a2594c03637378f8e8e4451fced6f7f4b92e4cececef6f6b6dbed0635fce79f7f5e2e971b8d86d7eb6518e6e0e04010845c2ef7e0c18372b94c92e4f5ebd73737371167359b4d822030d4110804befcf2cbc964f2e4c99366b309c9018ee3ae5dbb0684a6c7e3f9f4d34f7d3edfcececec1c1c1743abd74e9d2fefe3eb0329f7ffe3948b14e4f4f171616403b76fdfa75f0154a9274edda3530423f7cf81064b43ccf2f2c2c5cba74a95eaf7ffbedb78140e0ecec0c1cabd7ae5ddbdfdfd7342d97cbadafafbf7733f7fd4a332fb02f2449910466e01c73ec02a23ff05946229170388c07fbf6eddbe0accfe7f3972f5f064d394551e3f1b85eaf83302e93c9140a8566b389395ff805840fc0438cc7e3643209b795cd663115a0aa2a72c64824224952bfdf2f168b8aa28cc763d0460982d0e97480ec75b95cb3b3b38aa280495f14c5c1608064399bcd0e8743a03d4892cc6432a09f6a369b8d46633299201aba74e952b55aed76bb57ae5ca169fad9b367bffbddef388edbdadaf2f97ccbcbcbaaaa026078f5ead57c3e7f7474048cdbc1c18124491f7ffc31caf9d168f4e9d3a798decbe7f3c964f2c68d1b9d4e676e6ecee7f30194238a62a7d301604514c55ffdea57c5621160178ccd7abddeb5b5353473354d9b4c269d4e271c0e4b92b4b0b000ba664c920d060330f84fa7534992128944afd703f51ef0d5e3f11868c7c5c54534559f3c79120804daed3628148f8f8fb3d96c201000c2fc8b2fbe80d8402c16c3f982b70afd5cc3303ef9e413408892c92462ff5eafb7b8b898c9648027472b1c05ca2fbffc727777b7d3e9341a0da4086036fb896eee7a7bf4ac340904448da20517eb775b44a718f538d19f631754fb43ca89495e8fc7630fccdaa24268edf9fd7ea44b486001a6134511407fccabda3b4442c4b22c1027b829118255abd54aa5024009907d3ccfd7ebf55aad06e5104dd3809c205e4891d46ab572b90ca253c05cceef167e1f19191e72a49376fbcf9e5f46010b9c9df05c86610040873a1ae6e7002d04669be77910ca8344bad168d8c24076b707087080f26c2d27bb0b89f41030e0c96432180ccae572229140ea8d1a02e8545d2ed7f3e7cf239148341a4da7d32ccba2b098cbe5a04875e9d225bfdf8fb20080754851c1bd88881831b2adf186b5827b428dd2b2ac939313e0fe40160bf837960b39b23d868c15868b210842144500f7789ec77102dcf71316fe708b53244f503c4d720ee38b6317e8fe5c2e1730c60441e472390844e04f83c1e0d9b367f1787c6565c5ce3763b1d8b367cf46a311c330b3b3b3c8a1e0b6e6e7e7310801a250cc2100de0cee52a8c7b95cae70380c02e14422319d4e47a351301804c44c9224044136abc2703804640c432300eb81ff391a8d562a954aa5323333333f3feff17810f2f4fbfd9999198220c2e170ad56dbdada0a068357ae5cb97fff3ecbb2d7ae5d037617f03d38bb4c26c3f37ca150188d46b95c6e3a9d3e79f20461ddd9d9d9fafa7aa552b12c6b6161a1dfef6f6d6d793c1e00a4254942268b1cd3e3f1b45aad67cf9e61308ea22814cb307781b93d30e880e719a32fa04e188d46f1787c6d6d0d40bf68340a1115545a53a9143a2a50f080da462814c2ba81cf1580f0582c767272a2aaeadada5aa7d3e1380ea0715c1a4dd3d08cb2aff5dede1eaa070048aaaa8a616db7db3d3b3b0b84b32008a048c00b2910089c9e9e0e8743a0dc7fd2c497244992222892642892a608279e73ecafee900fc4fd2155844c876118889ba080934c26e3f1b8cbe542f7000ddcbdbd3d55557d3edfc6c6061a057866c0ed8c060826b74021839f803b431303d4d08661402113c2666829da3d160c7ea1bb32994c3c1e0f1e33845408af503da4282a97cb89a288c8aed7eb99a62949126a6db22c63e882e3b866b3c9f33ce643707876d888234453459224e4c5e8098cc763a4de38d3c96402078df106b4561886b19b3c183803e93c7a2fc8285d2e17224a59961545c1841cd8562021001786993f4551100283a31f1a20f62793c9042118c234455186c3a1288ae0a779f58222ca4338391e8f91eae278700a88d3112083fe1ebcdf08367115ec6e3ece14ed325cca9feee67e7650fdd73bcdd96cbc6f0982d715f1ebeabe037b76ece2dcdf9b7c62b7db7df5e646658a2088b9b9b97038fcbf7b7bd9ccf2183a76ec6fcfc0f63c331bef181cef7547fc867578e7b2c3f6ecd845d5fe5e6b2ccb82dee3a5cfc10185e8e91de7077ef0f337d67dde4c9afffd99330cba3a2f31cbff2445a837f3d1bfafd947fbda0579f773f9c1f579df13247e7a10df8f5a2f42372d55b708dd527487f1c5b1bfb29faa146ceb660038667f8ed72c9ede97fe44bc40d202d7f6924d26937abd6ef3acd875bd371d802ccb80c2bde5899d4c26cd66f3ecec6c3c1e5facb3b34f0da95fbfdfc780ed87ef199243f8090cf39ef77de0617d4b540e48a065596058792d69f38fb0e9740a62821fbd07e835bff64f48ba7fe4ea01ec821aa0037c71ec62a33ff039a3e685027c381c06d205d0d942a1100e8783c12000c02e976b3018d87ff2fbfd687a8c46a35eaf079133d4dd46a311b6ef76bb48c9c1958422fd7038bc7bf7eef5ebd7398e83bcaf5ddb0237f26030006154afd7c38805fa92203bc0d83fe4c40683c1ecec6c2e97031cd7ebf5c267a17e47d334b023a15068341a8111c0ed7603bf8df256abd5425f6532990c874386614e4e4ea2d168369bd575fdebafbf0e0402600f0d040240026a9a160a8580a0360c0354d8a0ba42bb1c7c88baaea3728aae0e1a4ad7af5f47110d53228aa260b7baaedfbb776f636303f430e3f1783c1e43a0b2d56a8141a0582c5ebe7cd9e3f1ececec1004e1f57a2793095821645986923284e4fbfd3e602e703d28d8a10c0a7e335996d1c7c72b0dce4b5555d03a188681b22c444a0dc3e8743ae0a0c5dc0bfa3fe83e831e2d9148249349d0e7005e03aaab56ab55ad563ff9e493370dedbcd9f51124493014c93104cf101c43984ee7d7b18b727f90493c383880fb6bb7db28defbfdfe5aad86c24aa7d3b135c2a7d3298897f178349bcd743a9d4ea71545f9d39ffe84740c35f542a10048602c162b954a14450982003f38333393cbe5d05da1697a381c02c971fdfa75bfdffff5d75fcfcdcd753a1d4c44c07945a3513080f23cbfb5b545d3345c762e971b8fc7fd7effeeddbb60a9dbd9d9f9e77ffee77ebfffdd77df0d8743afd70bdf34180c969696b6b6b68037f6fbfdf57a1d43b58822c1138559149aa6cfcece96979741a6f2e0c183d9d95950ad00be03df0a1e1a34af3d1e4f381cbe76ed5a341a054e18cd075dd781b09b9b9bc3e9efededadafaf4344f4e0e0002cfcababab6b6b6ba6691e1d1d81b6cbde39bc15ce82e7f9e3e3e3442241d334a874402eabaa6a2291a8542ae974faead5abfd7effc18307d3e9f4e4e4e4b3cf3edbdfdf87f22488bb198689c562b3b3b3fff99fff314055cc000020004944415409643b2428455184a4a76559d02c6d369be040bb7af5eaf1f1f1cece8ea2287ebf1f4e13dc6298482108a25c2ea7d3e962b1d8ebf5c02309b78be649a954ba72e5cafbba3f047f0c4df124c5d3244f13aae3fe1cbb28f7379d4efbfdfec2c2423c1ebf77ef5e2693595d5dfdb77ffb37cbb25656568005810cc8b367cf40a904b1881b376eeceded298a323737c7f33c1cdce79f7fdeebf5f2f97c3e9fbf74e9d28d1b377efffbdf4f2693cb972fc7e3f1a3a3a37bf7ee310c73f5ea55e078e7e6e610f280051a52b682209c9c9c407fa3dbed82892b180c221ac5681ab83901ae463e1e8fc7f3f93c4110a0789a4c268661fcea57bf6a369be572f9faf5eb954ae5e0e0c0e3f180765f5194542a1589440e0e0e1e3f7e0c6d8d7abdbeb8b8f80ffff00fe0becf66b300e8e472b9542a351a8dd6d6d6b6b7b71f3c7880ee73b3d94ca552cbcbcbad562b180c229c440500feb1dfef673299cb972fb7dbed5aad2649d2fafa3a9aaa36df175ac9280280fee0f6eddbb55aede1c3879d4e07c15a229168b55ad16834140a99a6190c0601b76418a65aadfed33ffd53a9547afaf429227197cb757272228ae2c6c646bfdfd7753d140a81e46a6565259fcf8325cc96ebbd75eb56ad56cbe7f3885b5756565896ddddddd575fdb3cf3e2b140ad063393d3d5d5c5c4c2412e572797777f7934f3e393939c9e7f3f3f3f30b0b0bfff55fff150804a2d12824ea416093cbe592c9e4dede5e30180428e7fd6b0584a95b9a692aba4518846a10864379e0d845b93f00e587c321f1622a0383565eaf17330fc84359965d5e5e5e5c5cecf7fb80b920f1b1358900616b369bed765bd3344892371a0d86610441e8f7fb0813a052d46eb791d0c1894ca753e4925096c866b3bffffdefc3e170381c1e0e87c964d2ed76371a8de170d86ab514450113dfcaca4aa552b1912bf3f3f3f7efdfafd7eb5f7cf105f14265a9d96c76bb5dd410dbed36c8576cc01d30de82202493c98f3efa087811683f41900ca7660fdb026a0746eb858505280d6106032ca4f0cebaae03bd9cc96410a021fd4492db6ab5ece1652cefcccc4cb55a85730136a5dd6eabaa1a0e8767676793c924667b73b9dce6e6266810f143e079a528aadd6ea33e805343623b1e8fabd56aabd55a5a5ac26143cd1d8340bd5eaf5c2e0355d36c3681a4819c13226e4c46572a9566b3994c26f173b84f9acd26981641a70a2a59bb2e91c9646ced76ac30a82e80767cefe8cfb4d4b13618e94d9de44c96242cafe6847f8efdb77dd0d01b1ab867676793c964797979301854abd5c5c5c5542a05e41a5c129e8a66b32908c2cccc8c2008e1701883fda669462211900294cb658fc793482430d5707676363f3f9fcd66cbe5b22ccb50d8001818beb5d7ebb95c2e8472f1787c767616dcf1a669e67239b84855553b9d4e3299cc643278e432998cd7ebc5946b30188c44223e9f2f140a0d874397cb85413d7b4a2f1289048341e857a0e28623f7f97c81400055ad643259a954745d075b57a5520904024017c76231d04d9324994aa542a110d4517abd5ea7d38188522814e2384e922497cb65c3fd6cc193582c160a85789e8f46a3a669d6eb75a826d94a6f50f6989f9f07b535fca3c7e3595d5d350ca35eaf036c5cad567d3edfc2c202c04c98d9c098cae1e12145511b1b1b20af47c9a2d168944aa55eaf77f5ea554992a2d1e8783c6e341a8944229d4e379b4d20abdbedb6699aa228cecdcda1e06883d53d1ecfc9c9c9783cc6577c3e5fb1586c341a88d96bb55a28149a99990906833e9f0f85cef1789cc9646ab51a45518944221008f8fd7e8661028140b3d9c49df35e3777a33df8f3c3664d651a8aa91926311d07cdd64cd025f09c33f4e618f1e1b83f302703168b740c885c9bea12e2b0c0d3b22c8b392d8457400e835e45d775308b008af192ce21f428ce479dc8feb02b4dd3b0e5f92136e285b6afad9d88e304910990d5f0e0c04e6f6e6ececece8269159367e09187dc84edaccf937102784c1084a228f0f2583db46e00f4455003ce3e9bd1139f00784c5114766b3f7220a4c2819da7ab42160921117bd610a37808beb0679c9a7d39b06e6850701ca7691a9e791c09487140fd6243737abddecece0e20dfbff9cd6f308d672f08e876b0ece8b488a26877f36da69cededed46a301c60adc4238360cf0e0446c5e2f9c0bee1060c8b143fc099700afd2f7bab98f4f6affcfffbbf397aaa0889e44905916479fa7f495a48f65bea7d476707f8efbbb78d8f32fcb2ccb1a0c06e3f1381289fca43358bf14d334ad5aad423c0401ec6b37436f5792a4574912c15756afd731bdf7235a161762b55afdeee3e36755aaa6b34191588f921b1989210dbca21cf7e7d805447fc48b89f7977c0aa2b0f3ac0117e8b0505673aedf4ff74af8f04bf63f80277fbb359bcd62a9ccf26e8ae10517eff7083c4b4351c4717f8e111f087b364db3dfef63d6f5a53fa1c900e86fafd73b3b3bb311cb1f6ea3d1e8edf85ec73ef4adf8c20b7cd0bdf5feba94176e0c4df9bd422aea4f45a4805f04ad86638e7d7f7b7c608ca0aaaa2ccb9d4ec766002d954a866100b20bfe7a10852221f2fbfde851a0d7619a26fa24baae974a2594eda3d128b4ae63b118c330a02d89c7e328e12393aa542ad045eb743a954ac5e572050201a8cdc5e37192240f0f0f354df3fbfdd002076090208862b148515428144274e0f3f91289c44fcbb8e9d8cfc09b3ba19c6317ecfed05b2c140a00eeefeded2512896ab50a6d565555154501ca0108db6030787272c2304c269369b7db8d4603c8928d8d8df178fca73ffd098c9b10366cb7dbd56a15957851144f4f4f2391888dbd006bde643279f8f0219277822064595e5a5a8ac7e3a3d1e8dffffddfd7d7d7f3f97c2291188fc748793a9d0ec06e18d200233c49927ff3f54dc71c73ece2a33f4dd32032bbbaba7afffe7d411000c5482412f07dcbcbcbb158ecf1e3c7e57239128980f60a221bd002b7c941bd5eef471f7d54ad5631cc00ac462c165b58589024e9ebafbf3e3b3beb743a1e8f27954a215e831cedad5bb72a95cad1d151381c069ad7b2ac5028b4b1b1b1b5b555afd73b9d4ebd5e27084255d5dffef6b71e8fe7e1c387854201f0e9858505e73e70cc31c7fdfd98fa0ec0c918c55514657e7ebed7ebd56ab5442231994c6ab55aafd7f3783c737373ebebeb880181a1f5f97c363fb06559dd6ef7f0f0108474a228e672b97ebfcf308ccbe5c2585532999c9b9b037a06985b346a312107e0ae2d3386b0145064506f025abcbbbb9bcfe7799e07e80c6355c3e110047cce0de198638efb7bb72f330c68844147bcbabacab22ce87f2f5fbeec72b9545545d0072473a15008068320139d9d9dc574b02449a891839e20994caeaeae9e9e9e82201a4e8a65d9ebd7af438982e7f9542a4510044614a09b130804305d6033b383bb747979d9e572158b459aa6fd7e7f3c1e0744399bcdcecccc944aa570380cb7f8d3294e38e698633f4fbb78dcdf4b9889f3e887979010e7e1bea3d1686b6bebca952b00d9da00e397fa8fafc5d9bc0ab0188fc78f1e3dba7dfbb6ad788903dbdada6ab55ae3f1f8faf5eba954eaa238f81cfb791ad8cc2449f2fbfd822000fa0e5e0607f8e218f153d09dbe74df9c77552fb9adf3ffc4c0994d796fdf82afe6daaf4dc05ffa441084ab57afda89b0fddff9f9793094c46231e7fe76cc31c7fdfd2c0c1a8f17b8379fcff7eae75eafd7a1b677cc31c7be8f9c9c2570cc31c71cf7e798638e39e6b83fc71c73cc31c7fd39e698638e39eecf31c71c73cc717f8e39e698638efb73cc31c71c73dc9f638e39e6d82fc63e08f66c9ae66432817205d4bc5896856a84ad29616f6c1806e43bde65d6e2b57b78e9a75555c5d8ef052ec76b098ac1ac051122cccfd91bd8521be737c604a1ad6571fe4fc4eb4659ceff3af1ca108b2d0f82c1acf73a9d977e1107767e555fcbea6c4b5f412ae447acf0dbc9a25f5d64c330a0d5f7eacaffb81377ccb177b10f527a5355b5582c3e79f2e4e8e808b4cfd03c240802ea94d0e201a381a228cd66d3e3f14ca7533c1b98ed854cad2d5404894810c0e021c13f21ff8ae7c134cdd168b4b7b7170e8731a48caf1304818165fcff743a350c83a228c330b01348f6288a820d209f08b12145510882a856aba05cc5f6d0601a8d460f1e3c005b6aabd5ea743a2e970bdbb75aad42a1e0f178a013661846a3d168b55a954a055c3250bf9d4ea72449b65aad6eb70b6a19c330405a032d249c5da954824fc7f6f86ead561b0e87272727b6a491bd437831cbb270a6d8adad76441044bd5eeff7fb50e6c42fe6f379cbb26c652859968f8e8ea0530cf9219224c7e371a9549a4c2685424114455c051c244ed37ef361495f5a46b0999d9c9c80da07dfc26ae3304e4f4fc11284aba969da7038dcdfdf8fc7e3aaaac2416357baaeefefefd3346d3359bcd7cd2dcbf27038041d11a4a60cc3188fc7f63bc0517a73a2bf0ff832c344a3d16ab54a10040854b6b6b6c2e1702a9502bd73a7d3310ce3d2a54bf1787c3a9d168bc5c16090cfe7c3e1f0c6c686cbe52a97cb3b3b3b04415cbb762d1a8dcab2bcb3b353ad566766662ccb82e4b6aeeb60704924125013e7793e9d4e572a956834bab3b34392e4f2f2722693d1757d7373f3ecec0c92de8787872e972b9148341a8d7ebf0f55c942a1a0aa6a2c164b24123b3b3b2ccbcecfcf0f87c352a9e4f57a21b87ef9f2e542a1e0f7fbb3d96cad56ab56abcf9e3dfbecb3cf745d7ffcf871bd5e5f5a5a6a369b8140c0e3f1dcbf7ffff4f434140addbc7953d3b4a74f9fd6eb75c3303c1e8f288ad7ae5d3b3d3d6d369be170783018743a9d2fbffc3212891c1f1f1f1f1fe3278e8e8e4067bdbdbd2d8a623c1eafd7eb8140e0934f3e198d46f7efdf879f150421180c5ebb76ad5028b4dbed442271e5ca1586618ac5221812af5ebd7a707000c5ce4b972e8542a1ededed5aad363f3f0f5ec5743abdb5b5a5eb3ad4d383c1e0c1c1c11ffff84782200a8502c7712b2b2ba954eaececec4f7ffa53369b2d140aa55229128964b3d9e3e3e3f1783c3f3f3f373747d3f4dededee1e121242e8f8f8f0982989d9dad56ab503ef0fbfd4f9f3e05bff768349a9b9b9b4c26101acd66b3df7cf3cd8d1b376eddbad56eb7777676daed763c1eaf56abb89a1cc7cdcfcfcbb27c7c7cec76bb078301c330954a656e6e2e1008384fac633f97e88fa22897cb351a8d689a5e58588042ebdcdcdcfefefe643269b7db90d395244914c5c160b0b9b9391a8d088210453110080882d06ab56459aed56a344d2793c956abb5b7b7c7f33cd8a121763e3b3b5b2c16e3f1f8c9c90904bca7d3e968341a8fc7109c25497230182412894aa552afd733994cbfdf2f140af0a1c7c7c7aaaa2612896eb7db6ab52693c9fafafa37df7c8307753018800366666606d4ad78683d1e4fb7db2d954a90e82d168bb76fdf86b8b0aaaa7ebf5f55d552a90445f09b376f9e9e9eba5c2e9fcf077547cbb2b2d92c7608c1c976bb6d5996d7eb851cf0a3478fa0b0deebf58ac5223807c7e371341a2d168ba228d2349d4ea7e1f85c2ed76432c966b3b22c974aa572b92c4952a3d1800ceef6f636e2ac56ab552e97d3e934ae60241269341a50e06459b656ab411a34914840f7321c0e6b9a5628144cd3844a6fb55a4508d66ab5a2d168afd7bb72e5caf1f1f170386c341a04410c87c34824329d4ebffbeebbab57af0e068352a92449922d0dbcb4b4d46ab570453c1e4fad5683607ca552c9e5728aa220669c9b9b9324696f6f0f6ac8dd6e773c1ef77abd6030e876bbf7f6f686c3612a95022f64a15070bbddb95cee7d536027fa73ec276f7d902f8c65d9582c160e8751369224c9ebf5562a9556ab05b55f8220d2e9b4aeebe572b9dfef9ba6592a959acde6743a852892d7eb8dc562fd7ebf52a98c4623d3347d3e5f341af5fbfd7ebf5fd33497cb158fc7ede4b4d1684c26139224bd5e2f4992602d4da7d3a9544a519468342a8aa2a2281e8f27168b711ca7eb7a381c4e269393c904bf0bbe23866162b1189e499665bbdd2eb41051d0c47e40850485f57abd8e271694858944c2ed764f26138aa2dc6eb7cfe79324291e8ffbfdfec964b2bfbf3f180c2062ebf3f9789e671806cef1e8e808929288987c3e9fdfef5f5e5e5614051ae10cc3783c1eafd78b5f1145b1dd6e0f87435555bd5e2fcbb2283e0602814020301e8f799e8fc5626eb71bf535c8c04354008becf178e2f1b8cbe5d275dd344d7040408c1cdae7a8f789a2e8f17842a15024122108a2d3e90c0603922491e663f153a9141c34a4caa1e11b8d463d1e0f4dd33ccfabaa3a1e8ff18e84840b14cda1e68e2a84d7ebcd66b3c16010970f9af7b8f4f1783c9bcd425058d334bba4f83f698e837092df1f309ee75d2e17ee727813904a298a725eb91c4f72bbdd46d10aaf56c330c04d8fa7713299f4fb7dec040ccf085ec0d78668a25eaf731c373737d7e9746667670b850276ceb26c2a95ba7ffffefff93fff876198502874fffe7d96656766660441e0380e5c2f7838676666229148afd723495292a4c16070fffe7d8aa2bc5eef6432c964322884c5e3f17ebfffe0c10304ad2856b6db6db7db0d9a6bd334ebf5fa9d3b7764594ea55288203a9d0ecff35816a8b9330c0369f06eb70bbeeb46a381fa572a9542b448d3b4dbed3e3b3b83bfb62311cbb2daed361c8ac7e3595a5ab2a5a3dc6e37429bededede170b8b1b151a954789eb799ab5d2ed7dedede603048a7d3509a9765b9d168040281d9d959fcc46030585858f8eebbef44514c24121e8f47d3b4f178dce974bc5e2fc330766088422ac330a0e9fee31fff28cb722412d9dede462cc9711cae32ae2fb6d475dde7f3e112c02f43fd2a9148f8fdfee3e3e38383836030e8f57a45517cfcf8b1d7ebcd64328aa27cf3cd37344d7b3c9eab57af9e9e9eb65aad6432f93ffc78d892f68efd4dda05d09da2ee8e048d24498ee3909022eb4198e0f178745d47b8542e9741ce8cd4efecec4c14458ee3a2d1a8699ab55aadd3e9c4e371411090adb8dd6ec435676767272727822064329970388c2e01e4e2d2e9b4c7e3413cd86ab520ad5d2c16dd6e77381cb62c0b44fce8b1b8ddee6eb7cb715cb55aa5280ac160ad568b44228220d4eb75a49608457bbd5ebfdf77b95c687d2059862be138cee572198681030e87c3d8a0dbed42794ed334d3345badd6743af5f97c0864fc7ebf288abd5eaf542a0502817038dc6c3665594e269386610c874324aa914824954a9124893013ef007448068341bbdd8e46a308cd64592e97cbf0fee8504302541084e9745aad56699aee76bb2862b02cdbeff7110e2378cce7f3a150a8dd6e5314954ea70541300ca352a9b02ceb72b9101bb22c8b60391e8ffb7c3e1c43a1508844229224552a158aa262b1182e962ccb2449b6db6ddc12d3e934168ba17d81b60cc45e92c9a4a66970f78944c2344d9ee7510748269328890483414110d068621806cdf777b766b359ad56913afc68bad3f3729d8e2b74dcdf05bc51cfdf49afbe60dff4ca1d8d46ed763b10089ce7f27b154d627ffd078126f6c6e7b77ce993d7eeff7ce2ffea01bffacfd7eeead51f7dedf1bccb12bdf6204dd3b4ff6bdbababf1ee1fbed7366f5ffc377df7b56bf2a30dee4f9224849f707f2898d8ee0fa58f37b9bff30541db1cafe124bf1f542b7ccb3fdff2cc783c1e50e1bfe3d7dfe54e3d4f07fdda4fdee5f0de7e486fdad5ab3ffadae379df5fb43d1d1a2078b7d97ef0efeae606aa062f726412f67bfdfc4b023901d042b6fba3fedad021716240c7fdfdd5bbda300c94de5ebb01607dc042bf653f83c100772712abb7f758defdf010d282f21e6923307d6f3f98773168780a82807a251a2ff65f51ef1704e14d010e0a8b38e55eaf87bae4853c5493c9045924ce1d507334f16df7f71627880e955d997df55ac317a08cf0aa3814544c511885df4151f842ee54e01691aebee3576459966519e92dbc9ba669104745a2833b13fd5f5c11b83f3beec3e7a8b4beb481e33bfededd9f6118d56a55d334d471d0fdc0538da74851140020ecae28deb4781481fb75b95cbbbbbb6eb7bbdfefdfbc79134323b8c900a0c56ed148c1fef1f8b9dd6ee0995fda8061185996f1622f140af3f3f31e8fa7582c320c93cfe773b91c803886612009621806d8143c1ee8edc2c74da753a0460cc39065192d85f1787c7676669ae6dcdc1c4110bd5ecfe572a140865e07ba31c96412fde2d168842e0730bd0cc3ecefefa7d3e96030381a8deedebdbbbaba8a6340b95351149665398eb331e17067988bc0a2a1d0696b84a28b8a22299c9d8da99665d9c67e63d90dc3c0f2a2448857172e197acac160108b0f4783afe8badee9744451144571341a699a1608041060627de0555bad16d49c7bbd5ea7d3999999c1ebe7fc9c099ae0e72767b0014e0471961d9401a98e3f95cbe57038fceee83f34bba7d3e979f7379d4e71ffd8e7855f8413b4335cdb27c2ec89148aa2dea5a8e2d8dfbefb5314e5f9f3e7dd6e77666666381c1a86b1b1b1914ea7cbe572bd5e5f5858383a3a82d768341abaae5fbe7cb9dd6e2f2d2dd56a355996bbddae2ccb2b2b2bb55a2d1008e4f3793422068341201048a552474747fbfbfbbaaecfcfcfd76a354551229188a66900a65cba74696f6f0f0f703a9deef7fb9d4e074e070841afd7bbbdbdcdf37c2693d9dcdc344df3ececac56ab310cb3b2b222cb72bd5e0712a5dd6ec349511475f5ead55c2e27cbf2f6f676b1580c87c37ebfbf582c1a862149522a95dad9d9c10f65321955558f8f8f5bad56a954f2f97cebebeb8140e0ecececf4f45492a4f9f9798aa20a8502cbb2f178bcd7eb8dc7e37038fce0c1838d8d8ddbb76fd76ab5adad2dafd77b7a7adaebf52007daebf56edebc198944cae5f2f6f6f6743a0d8542dd6e97e7f9482482b66f3c1e2749329d4e371a0d801fe18fc2e170bbdd6e341aaaaabaddee783cce306c3c1ef37a458a225f940131734619864e922445d188942dcbf2fb255dd73d1e0f45918661300cdcdff7685054d0785e080683a669b22c873fe17d068f100804799e334dcbeff7c7623151f451144910044dd304818a9ea9eb06c64bec97e88b94d3d275c39eff314df3c568101c37e1f57add6e8f2008ef787f4a92148bc55996611896a629ec361c0edb61ec9bea7ae7fe8949240df9b29d1a3be6b83f82a6e940206018063c60bfdf3f3d3d4da7d3344d178b45c40b344d0f06835eafe7f57a47a351a552c96432cd66137519380ec0711149f57a3d40671445d9d9d9595d5dd575fde4e4846559e09f87c361369bd575fdececac5eafdfbc79b3d56a3d7cf890200841103036b0bcbcecf1787abd1e308300b20982d0ebf516171765597efcf83140399d4e876559c0cd80672e97cbb95c0e752259964f4e4e42a11045514b4b4bf7efdf370c23140a499284ac5f55d566b3a9280a74d6114fd1343d3b3b9b4824eeddbb072473a7d3c10f01a003d7c0308c2449d8b9a669ababab00a92c2e2e4a92a4695aad56134551922400b62f5dba747a7abab0b04092e4e6e6a6288a00d0148bc568347ae9d2a5afbefa0a0364b22ca7d3691c58363be7f3f95896a528f2034b7f9214f8c190e79c5c95ffc25123685ebfd73e25e9c71f034912a66999a6a9aa14e00d7f87f553c7fdbdd150e1e2797e3299008a0cec0ba6c19e3e7dbababa4a1084d7eb0d0683954ae5e4e40483107088c8a4ec5b4a10844020f0ecd933c851c201619ee1e0e040144500f780e95355f5ecec0c01d16432d1340da1d9743a6db55a009700558b3959a0e1dc6e37660c1445c11018465c7d3e1fe64f0149b12cabd3e9b45a2d9fcf371a8d288ac2c01cfc1d621f2001114da5d3698ee39acd66bd5e0f87c30079f8fdfee974aaeb7a3a9dc65432cff3a5520963212890e1a8505ac231e08dc2b22c2af41cc7f13cdfebf5007c29168bf6a162f217652c8cd62095b32ccbed764b92d4ebf500a56659f64537f3227b5617befd4fb1c30f3c8617a12b659a86a65948871d30a0e3febe8ffef0a0b22cbbb5b5659ae6471f7d8461038c7966b3590cba763a1dd334138944b55afdf6db6f4992f4f97c08affc7e7f381c962489a2a868342a0842381c46016e6969e9bffeebbf2ccb5a585800f035128960aa81e7f9502884df0a85426b6b6b80bfa552a9a5a5a5a74f9f120491cbe5002444b1af56abf13c2f0882288a8b8b8b00307b3c9e60302849126a527662859aa03d5f214912c7713333338140607777d7b2acd9d95978b46834da6eb7dbed36f60ce4e3d1d1d1c9c9c9a79f7e3a1a8daad52a4992d168b4d96c621806a366080093c924a68fbffaea2b04ce6883b02c1b0e871f3f7edceff7317de1f7fb171717efddbbc7f3fcfafa7abfdfbf7bf72e45511cc76d6f6f974aa5743a8da00fd38a5eaf5710048aa6488a24082766f9200f88e2a6330af237661f84fb43fb429665866146a3110684514ac7d7799e47cad0ed762dcb02a9019a83344dcbb24c5114fbc214452997cb98ae459a0382038ee382c160bfdf5714c5eff7db7c4d1814b17f623a9d8ec7634992789e07323910088c462396654551c45fa1266c77450100b6b5d58917731d8220e8badeeff7411e036fcb300c8ae8981541368ddfa528aad96c8292806198c96432180c0cc300e2bad168f03ceff3f986c3a1a2288140006b2e4912499293c9441084c160803701d067682694cbe542a130180c24495a5959090402d81b26312693c97038e4380e31753c1e8fc7e3587970a50c8743499282c1e09b48c31c7bf71a77b7db45efce1e1f7630807fefeeefc26fb242a180a10ee7c6b22cabd56aedeeee220a8e44226f82d1606003ce14f9afa22878cd60fad8a9d67ff89d89b943b7db0d6881e3fe9ce4f7828de7f9a5a525e20db316efe22f2eea76fc905dbd34bff12175ae7038fce9a79fa2c8f07adf47100449a2284910e4794e80f3fc3daf7e11f80f9a66344df3f9c4773c4ec05c00017eed06baaecbf2c4ed769ba641d3b4aa6a0461bd0a0ffc25be8a88738beb780dc7fdfd2437d9783c5655351008a0a8eff3f9de85e3088ca42ccb7a3c9e376d037ed077e19a9e4ea7d3e9d4eff7bfaff3c2c42ef26b9435c15bf5211e90a619d5300dc3e2995771c8c440d10d9310189224c989a6fb78daf65383c1e0ecec2c954ab9dd9e578fa1582a3d7ffe1c1461fff89b7fb4b16c301b9487d41edd6a4c1fefeded653299783c8e1e0bf82c9034300cd36eb7eeddbb77edfaf5fdbdfde59595e1604092e4c2c202766577607e61f911496276c609a21df7f79a38623018100481677e3a9d060201b4532793095c922ccb93c90400947ebfaf699ad7eba5286a381c8214043ece34cd46a3d16eb76fdcb8d1ed76abd56a2e97c3b8121ac140c302ae85af74bb5d345e8ac52241d4d05c45000020004944415410e9741acc4b28ea81bc8465594dd3f6f7f70541989b9b63595696e5c160009e051cbcdfef07e00e353ed4d46459c679014d821dd234adaaaa4deac9711cbcf670384463575555108262de00440fa22882c306183710c0c8b2acaaaa2449a66982960ec818d44c413ca599c4416b4a9364dacf8d54c3c5523e9e19abc64835dc2c55eaabfd894e5164cccb52144112e444d534dd20a753308901e3f6aa1fefb43bcfb7b6488218f4079d4e67737353d3545dd7398ea728eaca952bb158cc34cdddddddfdfd7dafe8bd76f55a341a3d3939f98ffff88f6bd7aeadaead1e1e1eeababeb0b0984c24b6b7b79bcd662a95e279eee9d3a71cc7fffbbfff7f5ff67f2d0882451083e1b0d56c4ea6d3b5d5d5c5c5c55f5c21922449cb321d4fe1b8bfd7f83eb01683d665777737168b7dfef9e78aa27cf5d557d3e914401390a04892343737f7ecd933e0ec0140310c636d6d0dfe822088f1787c7070409264a3d1003e66329980534fd775411040da1c0c06b3d9ac61185f7ffd35a6055455edf57ac7c7c7b3b3b383c100cc228b8b8bed763b97cb9d9e9e3e7efc38168b45221197cb75e7ce1d5dd7018e2997cb40ae80110fbc5518e468b55a344d67b3d97abd0ee2962fbffc329d4e57abd5dddd5d5996d7d6d61617171545b973e78e61180036d66ab572b98ce0d1ed76e7f379cc29fb7cbe99999956ab150c063399cc83070f40201a0e8759966db55aa0a44fa7d3cf9f3f5f5b5bebf57ab76eddd268e1794db608e2b833d50c4b37cde588fbb035612892a3299a22da63ad31d616432e8a226a0385a3488630c2f4d4ef9730b6f0e650db0a04821b57af0d87c36fbef97a6565359fcf87c32155d35c2e573018d4757d6f6fafd96c6c6f3fe7393e1a8d721cc7b20c411077fef2178661449feff7bfffcfc585c56ab51a8944eedfbf9f4ea7344d13049e2449411086c3e170382c9e9e721ccb30cc577ff92a168b398ccd8efd8db8bfe974da6eb763b118842cfafdfe471f7dc4b22c72d8858585e17058ad561545a956ab18b70885422e976b6b6bab5eaf63a00deec00e0aa07a0366ba4ea7f3eb5fff7a3a9d3e7af408dea1d7eb8542214043d09c85d6d2ccccccd2d21249928787873ccfdfba756b7b7bbb5c2e8fc7e3542a25cb32cff3f178dced7683e179341a599655a954c0d20cfa29bfdf2fcb329440c03e0d827ecbb26edcb8f1d5575f81a95855d56eb77b7676160e8781ade9f57af6a45a2e9703f53190343e9f6f7676f6f9f3e71cc76d6d6d61fc83a2a87ebf9f4c26298adadcdcb4077545510485354641188621292ae2e57a134d35cc4b3177be33fdee741817d98d84fb796dd21c6b928b49d2a497a76b43b535d6ffef9ca81bfa4175f2512850ad9e09829048245e2d57e103411022e1f0a0df370c737636d36a35239168afd7c3f1288ad268d481be1c0e078013fa7c3eafd7bbbbbbf3d967bf0a85424f9f3c393a3a0c8723ebebebf57aaddbed02c0e8f57ac3e1d060d05794a9695ab3b3b37ebfefce9d3b63597e0b79f8cfb8f6e7380ac7fdbdb91c8ef40a6cef76e11f4fced9d9592814cae572954a05ae0d0404c1607071719165d968340a5a048220288a4a2412376edc28168b7b7b7b703798ae1745319fcff33c8ff90a9aa68f8e8e288a5a5e5ededddd0590c5e60745640a4c62bbddc6402e2a5ca66966b3598499a150e8f2e5cb60395655757d7d7d381c82989ee7f9402030180cc6e3317ce2783c06d0e7ececcce3f100a387dfcae5725011028d285e066039f5783c3e9f0f38e46fbffd767d7d1df36a2ccb068341a829251209fbc37bf7eee572b99d9d9dab57afb22c4b58044f9314496aa6655a966658344568a66911846e590c45b11469bda8491916615884665a344d91a4290882cfefa719fad58797a4289665498ab40882041b3ec7bb5c6e4110389ea319c622087932a99c9dcd65b3244991146d5a165e51ad56d3eff73f79f2d8e7f3b95ceee5e595fdfdfdbffce5abd168944aa7abd52ac3b20ccb1ee7f328080e47a3eded6d8ee7bca2efe424bfbfbff7c517ff9783c571ece7601fa4f58171857c3e3f1e8f171616bc5e6f3299c458fee6e666b55af57abdb95c0e5319344d2f2f2f9f9e9e964a25411072b91cd43c666767c13f8cb17cd0b5a3ac1e8fc7b7b6b67abddec71f7f1c0a850441c866b3e1701804ce04419c9e9e82c0dded7603547cf5ea559224f7f6f6bc5eefdada5aa3d1a8d56a3e9f2f180c627896e7f9a3a32350a266b3d976bb3d180c72b99c288a90375b5c5c74b95c8019731c170a8530fad66eb7575757f14fa4c3922421f23d3c3cec743ab1586c6666469224b7db8dc936b0c0fbfd7ef04863a00de1d8743a0d06835035090402954a050cf81cc72d2d2d79bddeb9b9b9502844906477a2ab86c53354beadb034f9c59cbf36d44fda4a546417c38287a3478ac15054c04d97fb6a73aca99abe1ee5dd94a1aaaadf2f79dc9e573b382ccb8623e15432e512048665b1a4900188c7e3f144c2278a82208482218661af5cb932373787d26d20180c06821b1b5701f9fef2cb2fd72e5df27a3c0461ddb8f1d1f2f2722291989dcd261349511467b3d94020d0eeb41986999999f9d5af7ee5f7fb798e0f87c3bf20c808491096658259c3668871b8fffe36ec43717f607c822686cd95341c0e9f3c79323b3b8b8211baae00b241dd4614c5ebd7af637be09611fd61000e23f4e87200ab0c2615e857102f08784dd304b1307e1443b820470196186d04880b13048166027a1710e404d6fafcb740cd620bd1c24f3d7af4c8b2ac5aadf69bdffc26140a015807ef8f3da3e7835f245e60a78973e47dd3e9f4f8f8b8d7ebadafafe3756287cc3865b019a3376277781022a98665981649128a6ef10cc93394a29b8a6eb9188aa6084dd7dbdd3e45d1925ffccffdfed584e06309ca54e5f178341a89a2cfe3f110af63af022ec73e86970862cf1fdbf947dd16f0c59fec0b61abfae27fecfdf7fbfd870f1f46a3d1d595159665ad171bfcb25a1f86a10ffa7dd04d43d1c1c1fd39eeef8d862eaa288ae7f5bf0982180e874747470441643219a8dbfcfc17c834cde3e363743691f0fe889d80639de7f970387cb10f7fa3d1d8dada5255f5934f3e195a7cd0cd50a68e1e8e2ccb1e8fd7ed7613ff7beb6cbf54de51dede717f8efd926a7f6f4a8a5f6071ffca4451dcd8d8207e512a821445cdcfcfe772b90f21b9e4380ea268177bd68661349bcd5eaf572814a083ec4e24fe9a0fcab208eb7f71de17ed6f3be4fc853e2496e58c4c3beeef3deffb3779935fdc1a5dc8315fb8bb0723d6e1e1a1a2288220140a854aa5924c262f5fbefc57831616f12adf81011e6c8679c7534339f83ce1fb0f1f9eae1304c1bea092459281b22386c6a03baaeb3a495168fb902f7e4bd5348aa2b81f45ca8ddedafb2a023bfecf717f8efd926c3c1ee7f37910295eba7409f0f2b3b333c0c5cf3db9af7970878341a9544ccfcc487ec9220855514cd344e511a552d45241810382eb6ab50a717a86653555354cd32508a66952687fbf604ee6789ea169c3306ad52ac8beca95ca7030984ce44ae50c38505996699abe79f366a9542a168b814080e779a898836aecf0f010dd70c334798eb30842d7348aa24ccbb42c8b24488220588e232c0b4329103072bbdd00c98ba208053e9aa6598ed3340dc5658661745d2f954a0149124551d5348661be77d086c173dc9b2b1b964399e3b83fc77e4646d3b4aeeb50e02c954af57a5d55557cf8d283fbaa4d2693b36a35180cf97cfe5eafb7fdfcb94558d14874329974bbdd642a49122414d1161616e672b9c974babfbfaf696a2a958ec56395724555d5543a6d99662010302db3d3e9c8b2dceff713f1c4e2d29265599d6e475194682cd66ab528924ccf644aa57230148cc563df7efbeda0df5f5a5e2e572af97c3e9d4e0b2ed76c364bbf98fcd9d9d9310cbdd96c8e46a3999919cbb2ca954a381c6eb59aa661c253e772b9e17008f2c44020f0e8d1239fcf3799c8a9542a954a371a0d45995214b5b4bc7292cf0f47c35834b6bcbc3c9d4eefddbd9bc964a065eaf7fba2d158ad56ebf57af3f3f3333333f4ebc246c7f339eecfb19f97b9ddeed9d9598087e0f5a0691b8d467f38992308d3f85efeede0e080e338d1e78382c7683c3ac99fa8aa1a0a8763f1d8f6cef65c2e471004c332a24f1c0c07144d6b9a3a9d4eb79f6fa567664aa592c7e3393b3b43825fafd56667671996edf7074f9e3c2e140add4e6763e36a381c167dbe50302449015114754ddfddd95155d52b7a4992b06c5e0692e405211a8d4ea6538aa603c1e0c9c989699924499a86d1ebf5c2e1c860d0374db3d96c6a9a4610c4f6f6f6cd5bb7bca237180a0e87ac2ccbad56ab582a6d6c6cecefed3d7cf0c0e7f779bdde56bb9d55558665d1bed8ddddbd74e952bdd128572a7ebf3f994a1de7f3a2cff7da9ab5637fabe64c71ff82a3bf743a0d8c74a7d30181762a953aff005be749605e3282b008c2308cf178e497fcc96492a2e96aad66e806e80243a1503c9e00f29c2008af578c46631cc7d76bb576bb4390c4643a0d0482e572b9dea8d30cad1b3a2ff0a2cf47521441101e8ffbf2e5f5cf3efbd5f2f28a200848902d8200074c2018383a3ad2754d147d16415ac47f93a9b00ce3f57a2d8b7009ae7038ac1bbaa6e9c160d0e57279bd623814f2893eb7c7331a8fca95b2aa699aa6d214e5f58a925ff2f9fc244523678fc7e3824be874dac09c03ac03d22a966355554d24931cc70dfa038ee393c9a4ae692850be66a99cf0cf89fe1cfbb99920082b2b2b83c16077779765d9e5e5e5f5f57550a59ef77faf79e99124cff31445d114150947b6b6b6f2f9bcaa288a02513453e0798e65698a72092ec2b2289214789ee3589e633b9a669aa62c4f088bb04554d2e974f1b43855a65e8f17f840811742412a180880809624089ee7199a262c82e778866646de91d7e3250842d3f5c249613018062469edd225782882204ae5f269b1e813458661785e6018c625082ccb024da5288aaa28865b2748723c1e8f47a3aa65cab24c12444092dc6e1745511eb7271a8deeefedc918b6b32c92200cc368341a0ccbdeb9f317c22252a954a351af56cf62d1d8743aed75bbce54f2df8ffd8ce84e1dfb110605486845120481c9191bf7e7767b789e7fd5ffe9baae4ca73ccf332c6b1a46b55a354d33100c82a41a5aba1e8f87611870a61abaae280ac3b2182eecb4db6073094892a66b344d731cd7ed7687c351381c86248baa28a6650982a0806a8ce76579ccb21ccbb2135906a49c666843374ccbeaf77a689b40f809454c48b244a351c2b2289a862014242b81a91e8f47a3e1c8ed715324a51b0622488661bca208fd135996c1b9d06eb744d177fdc60db7dbdded76a7938957f4369bcd6020e8f57a3bddee64328946a324495014c5f37fa52487431d0d07ec8bc4d9c1fd39eecfb19faf2b3ce7fedc3ccfffdd4eec5b96d5edf576b6b7755dcf6432906779ef2784242dcb1a8f470eecd9497e1dfb79bfcd5e8cd9fdf798dadf73e392240381c0279f7e6acfe75917b1b0ce6de6b83fc77ebe1ef09c516f2afffdfd184592df8ffdfdd8754052fc21633f8e39eecfb1ff39df07c6048a221dc0ee45adab9df03a742f8efb73ec67edfe20c84d51144910a643d7f981f1234562e0cf0900ffd6aeacb3047f7b1e10beef7bf62d8aa29c27f6038ca628847e36d39fb3264ef4e7d8cfd1f1d9ee0f1e50d7758a32598e252ce27f97fae57fc54ccbd4358da66992a448922448c2b208d3342cd32249822429827cb168044910c48bffbc7070244112a46559baa163499d86afe3fe1cfb99676a142863c15c00495f5dd7016ffabb92a9ed743acd66d3e7f3793c1e30dd42c900e20a1cc72146a6cf19f1824cd77e8540e713e6b83fc7fdfdffecbdd9771cd77d2ebaf7aeb97a9ed00da0d19841902001829328991a3cc889e238769c957b938724e79eacfc05f7252b2ff917ee4b5eef798b9dc4cef1f1cdb1add88a2552126712244010c43c76a3d1f35073edbdefc3265b4d0c342d532441d6272dac66a3ba50555dfbabdff8fd3cbcd406202b09e6799eb96c6c28281bbdb2efc8f357184c825b9665555599740d1ba105001045915577b7e88fbd008ff4cd98add74e822deb0f7c05f2651e3cfaf3f06c18b065a4b005ccda245e37d30f00a0ebba2ccb8aa2288ac24611b07660364986d15f3b03b65b7fe871b0a89f67fd79f4e7e11030e0ae650c0eb3d8f297069b24254912b301592a9ccd75111f81253476597f8f554e3efe4fefeef2e8cfc3cbce7dedafe17ea38e5e874bd11ed4db15e3dbfbab7de90fb4697d7bf4e7d19f87434382adb5fa9ad35f2b84b7177b7fb597fe3ccaf3e8cfc32b620f1ef4ce2b8976f7bffdc5418e6deb4dcfd67b4de0953d7bf0e0c1a33f0f1e3c78f0e8cf83070f1e3cfaf3e0c183078ffe3c78f0e0c1a33f0f1e3c78f0e8cf83070f1e0e255edfbabf56e9ef73ab00865fb6e0ee794a1578f56e1e3cfafb92844208711ce7393715305193a757e2a594d634235ba9979ba6e53e2721001ec1a02ca522fe44c82ff04f356f0c635cabd53636364aa5926559cfe138799e0f06835d5d5dc96492e965792bc483477f4f65a1d46ab566b3d92aa67fe6c61a338276cd2aa414608c11824cd6add5a1f984e35cda2efee2f662de863a145d00e9b33e5448282604728f5d040e1019e00874cff4c4ce1de90daaf2937762dbf6f4f4f4af7ffd512eb7ed380e7ed67a2d1c828ee3c2c7bf290e219ee77d3ef5dcb9b3dff8c63742a190b7423c78f4f75b8849d7f552a9c4715c2814e679fea180eeb3a63fdbb62104a228ed6534c7b1abd56ab3d98cc562a2283ec19efaf4def28fefacdba1a42e081661930f9ff1a1f290d89400c03dae324f39000a102fdf2fac979bdf3d3d120f070efac39665fdea57bffaf18f7f2c8a322f085f855615c70b96ed204adbe90f13425db75aabffe427ff736e6eee6ffee66fbabababc45e2e15505fafd59c9308c72b92c0862281c11040142f8cc09e5a155050f747e25490e86c2ae8b2b958ae33807d87d746635f7933b9b357fb20c24cd852e0198004ce863ff63bafb9ddff17f42f7db2d01360135c235d4c46779f3c3a905ddb00eb24faf5ebdfa2ffff22f1c2f4284985033fd4ab0cf6e992aaacfe7bb3b3dfda31ffd48d3346f9178f0acbf037db472b9cc71bceaf33139f5fd0d37c721188ba2b8cb75c518430831261cf7db757409732a917b0039c2403058ab566bb57a341ad9eb05176af59fdf59ae2bb13ae1b18bf72573841d1e6002910b0500519b3f8b212014214829011c0484427410cb4300b04b292510edb3810d0116c31faf6c1feb299c1a4cefdda05c2efff8c73fa614b2cbbbbfedc67110028c775b85ed67cd7e7590d9c82184312684ee7bc12184aae2bb74e9d373e7cebdf5d65bbf35a4e0c1c36b477fccf4735dacfae483b29394d27ca1f0606159d3b5eecece2343039224b135e9ba786965351c0ee5778a1d89182184e7b98e787cdfc50601c004634c30c6ad55cd962e6df3e04449d274cdeff7c9b2bccba45adc2aeed85c1d228beccb7d40a2ceb068c464d870c0a2e936a9f8904110ea125c1fc44d0c55e89688200152c6a27380edcc01e062420184844501280510020a292510010074083054a7567227fbbb769d2ca5f4fefdfbd96c2e100c1d64c64622914c4f1a4258281677760aadcd10425d9d29db760084b66d03402dcbd6346d5f06c404638c21a42cd14bdb4c6cb6394248f5f93efef8e353a74ea9aaea2d150f1efded0ea599a6c9c6653156dacf3c743ebb7a73716525118f6e66b72551040038aec3719c4f552f5db9363a32b4b2b6d19fe95958590dfa7ddffefa3b7e9f6f5f7b8410420866d2ed954a991012894459be25954ab29820c771d8c5b66defa23f17937c4daf614e27041f60b50d85c53f1a88ac578d24005cd5de6858327539040a2e7f2c95e80a88b3b94a974caa984fa9dc279b46cec464bf5df1106297100a3908c33cf6219cb75048a021096e5ba8891106801394fbd91d8cf12efa735df7c183073c2f388e43f77ba2703c7ff6cce9aeaece42b1188d462821b6e3b09843a55c79e3fc1bc542d1300c8c4932d591cb6e4fddb96399e63edf9dcb1342002588e3e2b1a88b49a3d18846a33ccf150b05db763000a2286e6c6c168bc54c26e32d150f1efded8e52398e0be8930ad31cd7312d0b41140e0631a6d57afdb36b37427e3f05b43395ac371ab6ede8baded09ad95c4e0b0675c35464795ffaa384604c10c218e3c5c5c5ededed2323232b2bab10826030c8713c78e88e52dbb6e9e3417d4aa9ee60dda10e25f400fa13794510a5aa56361dc253fe6ccaefe72905a060e090844441e0393e20438e0a9d2149d9b608c6785fc30ac1876e25828311fe8d4efff5ad465fc4a748c287ab5acd220000cc7335cd765d5710845df4572e97114207997e082145555cd72d974a9665452291818101cb3283c1e0ecec7d36bd8c05193a539d96694108ddfd9e4ccc90261488089d3871221c0e2d2e2e8f8e1ea956ab9f7efa996e980000e8383c8f9acde6ae8be9c183477f801082b14b283d800718ef80e1813e51e06bf5e6f6ce0ea5a45aad8d0c0e94cb958dcdac619884e08d5cae33d5110d87037ebf248aee7e81391676c318438828a5b1686c6579f9e2c54baacf77ead4a4203cfc14841013c64bbbe98f528a317531d9d76483806ee42b97615395957400424e901525d7b0cb9a7d2c192600514243aa1a8d2a5bdb9adf8615135836d9f7a4790e624c5c0c3184ebbaf0757ff8cf2642351b7cbcd628e8d4710800c001a095d0d8759cccc875f78f4e024ae9dd3b7733994c341a9524a9d96c86c3a1a93bab8aa20c8f8c104258ed5ead56ab56ab954ad5340cd7dd275aea6217638c09059466b3b913274e8c8c1c29140a5353534d4d631f8100d04711000f1e3cfadb8f043125981c3443dbb6adedfc8e65dbd170e8fefc62a556332dab5ca934758de778e6d2524211841cc73535cd344d51d8f7a81078440d008054aaf3ccd9733333d3030383e9740f4290bd0f2124789f32110821a40010ec38f800fa03e1a01093b9959da22f19eeed4ee8b62b3b9a1f5b98f81c4a05400926ae4b0ccbe530e05dcb75f661520800a6c875a803288460a5a8ffe45ef1addef04251bfb25e6bd8986d430056046e6f8b05c771aaaa3a8e43c801dcca73c96412635ca95487478629051cc70bbc204972a3d150558525a02ccb725d87e3394209c6eebed61f7b4e108267eecdf0027f6464786aeacedc8307ad7c0bcf7184d027141279f0f0fad21fab70c6d876b17b9085c0212eddd5393d3bb7b1959d387134d3ddb5b0b8522c96e3b1e8f0407fa15c8ec762e3c78e263b3a82fe60be58d00d5355957df64329040063dcaa7f4924126fbef9a6284a007ce1df410830c66ccaed2e9f31a8f00a71802bb8747f3f6ea38e06e381e11e9fe6d05fcd978fa77ca9681835adcb6b7500a05fe24abadb309dc582a12085e304824d778fd70f017001c018bb0440085c00ee6c36968b86e962c321ad8c0d758dc11edfae3c38a3bfdede5e36877bdf70aa49e9dadadac4c4b82008b3b3b396659f3e756a6060a0d16c5cbd76b53793d1345d92a46ab55a2e97785e401062f700fac318630c01d05df7c68d1bf7eeddd375dd69e59a21b41dbb33988c46a3de3af1e0d11fd8bb56398ec3d8755df7090e52ba2b95ec8853421142d57a2d1e8bbe71fa647f6f8617f881be1e086177aa8343885030323cc0f3dcbece1ae53884e02e9e15448902e03eb26e587c1000b0b7618be3507f2aeabfbba142d1b0b97d4395db35fba7d34591479850bfc477f88439cdf96ca5da305d8020828010802070315d2a682e010edec7408300b8003a2e71c843a27600312c17b46557650ef8697dbca78fe7f9bd97746c6ccceff735356dff6c92ebde9bbdb7b4b4c4e283fdfdfde9eeee5bb76eadaeaeea86bebab24a2861363582082164d9d6be9159c175d817d70ad1eabac612ddade756add93cff7ffe1f8140c00bfc79f0e86f1ffaf3f97cb57addb66d5e109f9000e1391e700000100e86fef43b7fa82a0acff3800208110000218e020021e020a484e2fdfc6808210408630ac0817f8543c8324d5555e53dc91304e1602af6f67032776b4b07a186cbedeb5bda8ff20d0dd3f99f537907d3bae5ec8d7d19f6c11631002e0218138ce9bebf153910e3f437bba5b1feae7d8710a5d3e90f3ef8e0473ffa110070df7e0fecba96f9b0647a71713197cb359b0dd3b4000016b09e3a6441082607d43f02842001e0c89191b72f5cd8959cf1e0c1a3bf876b5555d54020502e9529a50871f429e2e401bf8f395fbfebdf820090033ec50aa66dcbe0382e1a8decb5aa00008a2cbd3f39b45d6dfe66b14aa9bf893997420ae0be414bec80bc89bfcc350180204430d91d0f800001aa70a4035a6f26c01f9d1a8e8643fb5a55a228befffefbf97cfee2c58b841042c9134469344dfb728d19e411f6e53e00603addf3577ff5d7c964d233fd3c78f4b73f04418845a38ee3d4aa3526bb42bf1a0929820106e891eec16ec6a100b88e0321887774f8fdfefd0ba7218c04037ffed6585859f86cb150b0b8a6cbbb043ef3c4a68c1006d479fc32f088fa789292ddf12ee5bd1303833d9d02cf1f6079a16432f9177ff1178140e0c68d1b954ae52b917b8180e7b9bdccc6f3bca228838383dffbdef726262678de1b85eac1a3bf838d32455152c9a4248ae572d9340d00216bb67ab6076a33eb8f905dadbf1021402982d0e7f345a3d15028f48415cb71a8ab23fa676f8f9feccfcf6f158a35cdc5f82b606bda3249bf784e7028e253fb53d1feee64341c7ab247c9f37c4f4fcf5ffee55fbef1c61b333333dbdbdb96653d07d53f9ee7c3e1f0f0f0f0b163c752a994e7f67af0e8efa918501004bfdfaf699a6118ac6dfef99c00c771a2282a8ae2f7fb2549da9b4bdd6b5b057ceaf1c19e919ea4ed38ac42f0391c278250100449920441789a165a8450381c1e1f1f3f72e488699aac14e639d09f2ccbb22c3fe5417af832cfc647685f41ded53eacf4c7be3f411082c1a0dfef6f55f33e9f1360b70e53187cca28153b5a4110d4e75ed0fb3bc5d15ac7e9dbaf0bf06538c25700cfff7c354dbb73e74eb95c6e3de73a3b3bc7c6c62449f2f8e850d25feb4e62a530deadef5192878350afd77ff5ab5fcdcece6e6c6c4892944ea7cf9e3ddbdbdbcbf33ca594e3384aa9ebba4cc39c598bcc47d95bcdeae12ba43fef5a7b784d8cbee779ab4722913ffbb33f7bf3cd37fffeefffbeababeb6ffff66f1142172f5ea4944a92343a3abababa7afbf6ed7038fcad6f7d2b954a2d2f2f5fbe7c59d3b4f1f1f1b367cf3e4f57e035a2bf96f3081fc1bb3a1e5e01ec0db4b5dfe7cfff312fcbf2d8d8587777772010482693a77abe261900002000494441544f9f9e9999f9a77ffaa752a9f4d65b6fcdcdcdfdfad7bf0e8542a552e9debd7b3ff8c10ffef99fff7965654510840f3ffcf01ffee11fce9f3f7f881cac971cc8b3f23cbcf2dc471e763793e73933ef0986274288e31e767c23849863fbe77ffee77ff7777ff7e0c10308e137bff9cd77de79e7c30f3ffcf77ffff72b57ae4c4c4cbcf7de7b9aa65dbc78d1d3dffe0a9ddf762af46c400f879dfb30ebec731fb6f7b512fd2fdbbd2dcb726767a7cfe7b36dbb56abddbd7b174278fefc795996abd5eaeaeaaa6559030303dddddd5e8ef82ba43f8ff83cbc4a705dd7b66dd33429a508216600ee7ac6bf583390bd6639c36030d8dfdf5fafd7cf9d3b8731d6342d91484c4d4d0d0f0f8f8e8e160a85b1b1315996bdaff599d11f849049ceed8dfd7924e8e1b05b7f8ee330b97fc33020844cbc6bdfdbfb39dfed1cc79d3c79b2bfbf9fb1ded8d85832990c8542dff9ce779acde66f7ef31b08e1db6fbf3d3131f19def7ce7d6ad5b9b9b9be974faa08e260f5ff209c4ea695970a4e526388e63dbb66ddb7ebf3f9d4e7b97c9c36144a150585f5f672d833ccffb7cbe582c6659966ddba2288aa2280802cff33ccf738f0000684da9fe4ad99029962b8a924ea7755dcfe7f3e170381a8dbaae9bcd6673b99c288a4343433e9f8f8dbab72c2b954a757575796d885f09fd1142dae98f31a0cfe7ebeeeef62e9387c38872b95cad562184baae0b821089445455ad542aa66932ee63e0388ee5225ae988179211f6f0029cdf5d663fdc03ef1a7938a44008499214080458ad9ccfe7634cb7f7f6f66ef5d794fe58ec0f3c0ac4b2c0306b233b5c2d1c1e3cec022b79c9e7f377eedce1386e727232954ab57a93da79d0bb56afbbf5d7aa426a8777677838d46037f0d6d696288aec7ede7b877bdeee6b4d7fedf74a3b09b227a437e4d0c3a1a6bf4422f1b5af7d0d00108bc55a25c77b896fd70b0faf91f3dbfef533ca63add7acfbdaebb5f67078fd5f511407060630c6104256fccce8cf737e3dec63fdb5d39febbacd665396e5161bb6ee2aefda7978c9ed3ecbb24cd36c341a8ee3b0901f1b02d58afded4a83bc281e64ab8915667b5fdcf3a6bfbdd5ce8c01d94fd33459d17cab3e863e929cf7d8d0c34bc87aadfbd9711cd77599ddc794abd11e1cc47dcf870a5961b6e3386cf40dcff3ac1471d75f6f2527bdeff72bb1fe5aacd7badc4c6e0c42c8a6c1b6b88f754db62bd6b6fff4e0e105125ffb4f7603b7cafa5a21bf5df57dfb0ae53e37ee330cc3b22c4a1f4a33d8b6cde6dcb74f6a755dd7300c17639ee315457e72d933c6b85eaf3b8ec3f623cbf257742e1863cbb2144539d4a4fcc57386d97afb3e6d98cbc0ec3ee6057bd69f8797dffa6ba57adb45565af47790f3fbdcd633f3cd6559461c47288400008a59873242e8e1a0154a5dc7a855772ccbe238cea7aaac6f0f004029a2905394c7c6ba369bcd4f3ef9c4eff7534a55553d76ec583018c41833ea67cb962d6700402ba2c53668369bdbdbdb3d3d3daaaab6de673629636176f5d8eb7abd3e3b3b7bf6ecd9964aeb61f4dc1f3abfadf46ebb19d822c196c3db223e8ffe3cbcfcf4b7cbc4dbe5f33ec1f37d0e2084689a260822cf0b0d872c54cc008ffac2a22c2ba669d8b6cd7c2f4a1d642ef88d9b8a6b0108918d1e8dfa82848b36e128a5e976fab32c2b97cb7dfbdbdf364d7369696963630342582814a2d1685f5fdf83070f044188c7e38542c1308cfefe7e4248369b350c231289589675eddab5f7df7f7f646444d3b4a5a5a566b349293d7efcb861184b4b4b8220b024d2d2d252a150c8e7f32323231b1b1ba669a6d3e99e9e9e435726bc8fe015e3bef68c30330c5b433c76b9bd7b4d7a6f117a789e0eef93bde0bd66e0cb90f12084b09e7a000004a0d0b43fde6e7ebd2f349ef20982e038ce438b84baa4b9020a1f22ac3ffce0c39344541ec281a4e3a676ad3ecbb26ab59aa6699665359bcd46a3a1aaeaeddbb7092157ae5c3973e6ccfafa7aad561304617a7a9aa586868686eedcb993c964d8e0300040b95cbe7dfbf6d1a3479797970921cd66535555dbb6a7a7a7abd56a2010e0795ed3b4070f1e94cbe570383c3b3b2b4912ab2a3f64ce2fbbd0ed3f191891b5b88fbdf0e8cfc3a1a3bf5d61be2738bccf6df5b2b20a4229252e0f6850045b356b7ea739141515013153836d871dcb6e5489fbb8ca294414d75dc92204efdab3699adbdbdbaaaa9e38714251949999995c2eb7b5b53538382808425757d7e79f7f5e2e9743a110f37f1389c4e0e0e0fcfcbc2449b158cce7f3b10a214992060707cbe5723e9f374df3e4c993e572f9c183078542617474545194b5b5b5dbb76f2384745da7941e461dd6c7c4ee5b2e702b0ed8ee05b77e7a3eaf8743c1897b9321fbbac64f26d3afee20398eb34c0b535ab6c85cc9184928a7ba54801de751821a004029c00eb64c8738ce2efa039ceb3a9860b26bb7f178fcc2850baccdf9e6cd9b96658d8e8e6e6f6f33d91b4551a2d168381c4e24128ee3148b45511499e60d3bfd56c8ab95861604c1b6ed46a3619a26c77182205896655996e338f1783c1c0ea7d3e966b3190e870f5d1ae48bd81fd86ffe4b8bf2da5f7b869e87436415ee9d60f3323478701ca7288a6d5b1ccfab887ead4b513918e401049412d29eb1755d626a0e71ec5df40739dbb21f56ccb420cbf2e0e0606be0753299dcdada9a9d9d0d040294d2c1c1c16030c85cdde5e5e59191919e9e1e49924451eceded8d4422b95c6e6767279148f8fdfe4c262308422a956229e99b376ffa7cbea3478f9aa6b9b0b0609ae6d0d0d09123476eddbab5b0b0d0d3d3c31cf943769feca2b3bdecb66f758b477c1e0e2303eefab9f79fcf139665d5eb759ee709a11450000082ac4007a9aacaf88bb86673ede3ea839f1157df4d7ffe8c9d783fd431d2d191685fb32c9bccce8810d268345cd765113d36c69ee9481342588298bd6fdb3642c8344d9ee75555c5183b8e234992e338cc0bacd7eb1cc7050201b64fa693288a62b3d9745d371008b452d28798fe0e7af1e4f73d7878f9e9ef09af5f08fd31abcab22c4229a01440c80a149916616b2b821d8a6d00f6ac38c8012840c479bd22cf86fe9ec07707b19ec7831e5e66e2dbf79d9764d607681bc6c4e24bac54dba3b317467f1ed379781d38f1650bd27b6d6d2f17fd79dce7e195b70a5f12e26b8ddf3ca4bd13af3efd793ce8c163bd674e7c6c101d2b72668df69224f97cbef6c65e5621c87edb2a4ff1f062e8cf83070fcf048ee3b0ccaf288a10224aa9eb3a966589a2d83ed0d234cd62b16c5a9620f09170a8bd26a6d5c4e25dcc2f076f689e070f2fc6f4d3348de9b2b814944d2c2218941551940c4367622a0000405d848b32dde2a00d31342bc8460fb90f53d120c150281e89445abb755db7582cbaae8b10f2f97c7ebfffe9fb707f276d63a6041a08040ef538208ffe3c787831f467595628142214d44c7c71a36e98eebb99607748623dbfcccaa3c4a6b5ebd2d6bf8a7877d31b96060dff9f3a4ea4fded5aadf6939ffca4abab0b632c8ae299336762b198e3386ca4a76ddb00009ee75dd725844892c428cf755d4110aad5ead2d2d2b163c7c2e13021a4a54228cb32eb508610b28f5896552c16af5dbbf6c1071f701c470861ad231efd79f0e0e1b783d515430829c10a476322f71f4bd5000231252ca0871a4b10424029360db351a47b7a7e891a73457357cf2f23ac53a74ee9ba3e3737c7ba7d4ba592cfe71b1e1e9e9a9a0a87c39148a45028d8b69d4ea76ddb66af5993dcd5ab57a3d1682814aa56abf7eeddc3189ba679e2c4094dd33636360441c86432b66dafafafd7ebf5ededed9d9d9dcdcd4dc7713a3b3bfbfbfbdbb5673cfaf3e0c1c3fe602d77966d13421b0ead9a76dcc74765e4380e12bec86f500ab04b6cc321eede9e5fc7753126649751a9ebfad2d212c658966584d0e6e62684906913dcbc79f39d77de999b9b2b97cbb22ce772394288699a939393d7af5f1f1e1e56555592240040b55abd7bf7eed9b367d7d6d65cd76d341a5d5d5db66ddfb973a75c2ef7f4f4c8b2cc3ae12a954a341acd66b3aaaa66329943a6f8e2dd881e3c3c7fb024af6ddb1440c7254111bd9bf10d86784809c640680bc0619758864b1c770ffd61674fcf2f004010846834aa284a3018acd56a9452411098884b2412e9ebebcb66b38c1c59db493299ecefefbf77ef9edfef8fc7e37ebf9ffde968343a343454a9546ab59ae338838383954a657e7edeb6edcece4e5114979696f2f93c6b193ea443717f07faf372c41e5eacb9f48ad19faaaacd6693e7f9008fc6231041c02388208400b689dd43c0f9a990a26077cf2f12e29ca0ec8ab821842291c8c8c808536ccee572f57a3d1e8ff33c6f9aa6a2288aa224934936ef291a8d361a0d66244a928410320ca35aadc6e3718490a2284cdfc5eff7f33c3f3b3b8b310e06838490f5f575c7711042bdbdbdd56a95f5028742a143a9f8f22588cfa3420fcf99f25ab7dc2bc3839224b10c03c70181471042422987504baf0500003949ed3ac7fb5294b8bbae0d10fc54e916e460fbbb7ebfffecd9b34c7d0042d8dbdbcbcaaadf78e38d582c964ea783c1e0b163c7fc7e3f21a4b3b39310c2340e26272783c120633d66fa1d3f7e5c5194e1e161b6877c3e2f8a626767a76ddb3b3b3b94d24c26934aa5d6d7d729a51d1d1daaaa1ebe1bec699ade3cfaf3f0f2187d2f56a7e0d982b99f2c0fcbfcd676e9bdb6adc8fed70640ba675336b8a325de67db766b8426eb29669ccb9c62f6298ee3d8280f8c31dba6a570dc1a0fc232bfec232c69c3240b5bbb3a8c1530f069149b0fa2428f043d3c37e23b88f55e01126ce579bd02e6174f7f07c95efd56152c0f1e9e39f71d24dbf78a99811e5e08f87db96f5fe2f3c4ee3dbc40fadbcb83add90cad1787d4ff6d4df6d877e8b087e7477f7b79b085d6704b8ffe3c3c67fa8307e05033205b53a669dab6dd1abc2b8a627bea83b9c6845000a8d7defbd5d25ffb08b7d68bd67ccb5df4b74b19df8387674e7f070deddd77fb43c7802dd1798ee358b6c1755d36354d5194d694315dd7eb8d26a5541245d5a7b633234288f734609e09fded3bf483b0470fa5ec057814a6dd3bebd2a3420fcfcae2037b26b1b50fea058f4fefddf5fc3e445c601806c6d8e7f33397972d2ed775d98c73d67d4108d1747da7b003285064d130e4f6423f599282c120c70b00a076566d2552bed2abc152c3af02fd1de4ea124230c6e4115ac660cb12047bc2851e3c3c43fa6b556cb4c0ca380e9adf7658c0dc5e9fcf0720b45cca216a63e012aa0a3cc761c7715a95cfaee35a961590ac20dee0aae5f6a11f94171c3d06c2e39c6f00401e00a0ebfad4d41423a6582cd6dbdbfbf47db8b66d379bcd6030f834e205baaeafadad0d0d0db58d25399cf4b7d7ee6b99781863467ffb92a0477f1ebe22066c25015af4c7711cc771adc7733b03b606b11e2206641a2ac160b06a3a77f2864f40ba4b5c0ace2455bf205896f9f0a400703106c4f59115a9fa11b0f28fcd3c82d0d18779b51ff8608b95a6a7a74f9d3a65dbf6fcfc3ccff3c160b0d168f8fdfe5028542e972184aaaa328dd568344a08d134cd344dbfdf5fafd7efdebdfbc61b6f7476763a8e53ad562dcb0200747474b8ae5b2e9759a30821a4542a954aa5999999cece4ec3301cc70987c38140e010777dec0aea31a6db457fad7f1e64037af0f06ce98fe9bfb79cacf68873bbddd73e8afa502c42b67c1cd7756c275733a7729ac4a3b7327e401c4cb8f6ed082122b278fd815d59a1c47aec727112174d41350d20d7625508e1c8c848ad56dbd9d9d9d8d8a8d56accd19e9c9cfccd6f7ed3dbdb9b482472b91cc6b8a3a3c334cdf5f5f54824625956341a5d585818191949a552a552e9bffeebbf82c160a552999c9c6c341adbdbdb3ccf777575e9ba5e2c162b954ab55adddcdc9c9f9f170421180cb2be91c34a7fedb717fb6e701b2ccbaad56abaaeef4b7f1ef779f84ae98f0d050f87c38f358441c87ce1c318fb67495edbb22540cf2505628b088263611e61ec02daae392a70407137ddd27d5bd3768dbb14029d7cf8349262edeb379bcdfef0873f14453193c9643299adad2dd334e7e7e7bbbbbb9972c1cccc8ca66981406079791900108bc54e9e3cf9d1471f757777a7d3e96834ca06fe524a2727276fdfbebdb8b8a8ebfaf9f3e71b8dc6eaea6ab1583c73e68c288a1f7df4d1d5ab57054188c562d96cb6ababebd01980fc5ee26b997e2d06acd56ab76edfbe75eb56a3d12084b6050b1f7d1678f4e7e1d991e0c3ff5a8c0821027e9f7f7272f2ecd933acb5bebdf6a5f5003e446b8f75d71a86c9f37c4c42eff7fb0800320f118200d056e00f42a808d8b1d6ecfa0e71e8e3a69f20f98e88913108f9f6e7472a95fafef7bfeff7fb0541989f9fdfdcdc8c46a34c945410045555598f9d2ccbccb85355d5e7f3b1674cab778d52ca34f72549324dd3755d4992589e1a632c08026b2b360c83bd4e26938140e050c6fec001695fc68396654d4f4f7ff8cb0f354df7ca8e3cbc28944b9562b144087eefbdf79e50017388e0f3f9989121081ce2280480518f247da19c8c100a86c27cdf5b6eac7797e90739498e1fe57dc9c7d633cfc762b15028a4280ab38b99b63300c0b6ed68341a0804868686969797755d5755351289f87c3e8ee398656ddb76a9548ac7e3a2280683418ee318031a86c10cbdcece4e5555e7e7e7755df7f97cc78e1d5b5d5d354d53966545510e9d190edb1dd8768b8f49603b8e53a9543efcf03f3ffdf4b3432deaefe11500c6786262fc2ffff22f02810053076043c1d9cf5db53287e58c4cd3c41853fad09717045e10842fcdec8ee3148bc58e8e0eb65a4dd3dcd8d860e3931445e1793e914898a699cd665dd7edeaea6214e9f7fb4ba5922ccbc562311008241209cbb21a8d46241269341a6ccfd96c56144526a39fcd66d92c917038dc527b8e46a38732f5b1b7eaa59d0a1dc7314d833d403c78788168dd8aed4508edce2f386ce52f6cd4d1339cf3cb0cb4d63f65591e1e1edeb58ddfef1f1919d9f566329904008442a1d60759c54c6b8e52fb40a5f614c79123470eef1db54f81cf5e066cdd6dde0af4f002c16ec9f6e4db417a45878804997fea7db92f92fef635fdf6c2bb5e1e5e20f6bd2759f2f790729f8797cbfaa307e2b7d01fa5b435748a52b0ef387ab687bde63dc62e9bd77cd04ddf2ef708210400024011e2da8e99ed997bc21e20840871ade344e82b6f967ce4d4b066752f72fafbd31f7d0280a77ce5e1f7777ef77dd8624c00c0076d89101a1a1a387af4a8200884d07c3e3f333353abd5193b31d6e23874eedc594ae9ad5bb7774512fbfbfb1b8d46a9546aaba6f9e23e9e98181f1e1e8210410830c6dbdbdbb66d2b8a3a353555afd70180aaaa1c3b76ccb6ed7bf76631c600d0f68f0b023f327264646464736373f6feac2ccb6fbdf5a6ebe29b376f158bc54747d8da7ef75fdfb5b73d1becfaed17efb06b72e4c811d775e7e61e6c6e6eed9d4ae3e1777d9cec8dfabd66eeffaba6f8ff32d2df1ec38f12829f70c1390e0d0f0fbffffefb9b1b9b86699c3f7f7e6060e0dffeeddf9acd26c7711c876cdb41503c77ee2ca5606a6a0abb0e93b8c084000afef6bffff72b57affcc77ffc6f8c3187104488496fb39dfb54b5abb3aba7a727100c2c2e2e1a86118bc533999ef9f9f966b369db36a5b2dfef374d93108cb12b8a82e3b8ad7e6c8e938e1e1dfde0830f666767b7b25b1d1d1ddffbdef79acde6cacacaf6768e059b5dc78510124a208492285ab6ddbac91e0e87a6004040089125c9c518bb2e4490697c3b8e0d217ad472400541701d4c29cdf4f7fdf55ffd75bd5e67d3a67ff8c31f2d2d2d79f5e1bfdfe2275f949abe7ec4e7388e699a8ee3f03c2fcb72db38240fcf82fe0e0a24534a0826101c78ad092208729665fffce7bfd8d8d8f8c637bf3139797264781863fce65b6ffafdfe3b77ee5cbf7643e0050aa82cc9a74f9d3a7bee2cc6f8f3cf2ff33c9fe9cd400417e61745497cebad372549ba71e3c68deb37755d07005cbd7a6d6161f13b7ffc47fdfdfdfff1fffdefd5d5d53ffce00f63b1d89ffcc977fdfec0eddbb7ef4c4d45c211c334a2d1e8db6f5f181818701ce7e73ffff9c2fc02219460c271bc699ae170241c0af7f5f5e9bace86de1f1f1bbb70e182cfe79b9e99be7ae55a2c16fde08f3e0804029b9b9bbffcc587b222bff3ce3b3d3de972a9fceb5f7f542a95befd07df1e1e1aaa37ea9f7ff6f9c2c2e285b72f1c3f3e562e954549bc7cf9f2766efbc2850b43c343b95ceee2c54ba150687171f1e2c54b7d7dbd7ffcdd3feee8e8585c58f4e2a7bf97f3fb85f1b78f1bfc0a7301c658d775d33459898fe3389aa6fb7caadfefdf558ee6ba6eb154721c4714a55030b04b8fa0bd5892351db3c1209224618c598f0d78342b9d1910edef3c4de91b93ed3a2c3a08fbc7fe76bfa6a0d5e2f684e01a21b8d16c148bc5d59595d3a74e4d4e4e76a7bb9bcde6cececef7bfff7ddbb201843cc78d8f8fbfffed6fadacac2a8af2ddeffef187bffc4fd771b736b71445fec10f7eb05328d4aab56f7ffbdb96655fbf76dd755dc3306ab59a655aaeeb369a8d66b389b1ab284aa3d11004f1073ff8d362a198e9cdd8b6c52174faf4e9d9d9d9483872e6cc99f5b5754dd3092594d252a944094d24127d7dbdebebeb3de94c2a993a73e6b46ddbc552e93bdff90ea0e0f889e3a954eaead5abdddde99393271389c4c4c4c4ddbb777bd2e9e3c7c7d6d7d7878787b25bd9debedeaf7fe3eb3d999eaf7ded6b77ef4e4ba2f8f5f7be9ecbe6464747cf9c3973fddaf5d1a3a3aaeafbd77ffdd75bb76ea7d3e9b3e7ceadacac2e2c2c78c543bf2ffd51f21af61731594017e340200811870911388431d6754dd334bfdfdf1634a7d4a9bb46de751c62426a496cc22f0080024eb3f96834e6f7f9d83ed7d6d61e3c78609a2642e8f4e9d36c5e25ab92c966b394d2ededed4c26934c266ddb66e3dc86878759a2893d7e587c9f05b8193312429acde6ccccccc4c484cfe76383935ee6eaf42739bfedff6c95261d14fb2384020a28210000499220848160201e8f33e91ecbb2e2f138a50421bea323118bc572b91c8ba319a6e1b84ea954e2053ed191a854abbc20504afd3e1fbbb800004230633182092198125a2c142f7e723193c91c1919114581528231ded9d9a956aac98ea461189b1b9b8ee3608c09c69410dbb22ddbeae9498742a1e5a5e54c4f261209777675e6723941101cc7f107025b5bd95834964aa51af57a7e7b9b10ac359bc98e8e6ab5bab3b3532e979797966559566485529aee4e6b9af6d9679f2284de38ff862449e9745a92244555b08b1559964491e3b833674f5b96f5d39ffe3497cd79b1bfdf97fe087e72bcefd5b30199318531962509715cd974576b565f508cc8bcac28b6653b8ec394011fa27e2b58fa774a77df6948e929826f59aa8fd15fa552999b9b8b44223d3d3d0b0b0b4b4b4b8661341a0dd77543a1108bb1aeaeae068341d3348bc5e2dada5a2c161b1a1ac2186f6d6d699a66595657579724495b5b5b00804422c1f37c3e9f2f954ad3d3d3434343c562b1d96c060281542af5d811befcf4b7eb0b20941082c1c10f5e4210a584e7f9eeee6e4114c627c61bcdc6c2fc42229e68369bf97cde75ddf985f9fe817e4aa861185a53ab556b9aa665b3d96c760b63ac280ac144d3b466b391cb662b95f2eadaaa6d5b2c4bfb85e234c584104209c6d8322dec3e5a0f145042eb8dfac2e20242687c7cbca3a3e3ce9d3bac4b915062db767e3b3f32324229ddd9d9219418a6d16c36354dcbe7b72dd35c5e5a0a85421c4288431313138492070f1edc9fbbcf21eedc1be7fc01fffdd9fb172e5cb874e952b556430836b566aa33d5ddddcd94295dd76d369a866e54ca15cbb48ac562ad56a394948aa59d9d9df5b535c7b13dfefabde98f50f2dac90b31a781152de80eb9bcd1b849c89f8cc6127e9ee739d775db67a2bb66c92e4d833d8331b9a085e5b7307978ddf2f93ca57468682891482412895aad76e5ca956c36cb3c5c9fcfe7f3f95cd7d534ede2c58ba9542a97cbb15267dbb62f5dbac46cba959515bfdfcfba8657565610429aa6d9b65dad56b3d9ec8d1b37c2e1b0e33867ce9c191e1e7e391f4bfc9389ef0be79750029ee4fc36b5a6655b6fbef5267b1c5dbc7871faeeb4aaaa3d3d3ddd5ddd2e76cba572a5528110cecdcd2593c948341208063636369af5e6caca4aa223e1baeeed9bb763f158577757a554a9d7eaadf9a7aeebd6ebf572b96c5b36c6b8d96896ca25dbb175432f140b6c34bd65598aa2643219cbb2744dcfe7f3a6611242b0fb70fbd5d5d5debeded5e5d562b1582c14d757d74541ecc9f47476765a9655afd733bd9981c1817c3e5f2c14b773db3ed5d7d7dbd76c36cbe5f2c6fa46b3d16c6acd68344a30ae56eb0fe61e04fc8137de780363ccf37cb3d9dc58dff0fbfd5ddd5d94d295d51543370004f1781c228820f2a27ecf84fe9813005e2799f1877da8040382033c0d4bf0ea72f38d2e5f4451f79e3e7188a53b7be94f105c8773489bffd1ea0ed475bdd16888a2383a3adad3d3f3e0c1837abdce8277a5528910f2ce3bef5cb972a515f8e379fec89123aaaa7efcf1c7dbdbdbdff8c6376459be7cf972a9543a7ffe7c2c16abd7ebabababf57a3d93c9148bc546a3c104fd0fa5f5071e691f407a207f3bd499ba35552955789e2794948aa5b5f53543377ef98b5f0e0c0cc88a9cddcaaeafadffe787ff0900585d59ad56abbdbdbd94d095959552a9f4c37ffe612a995a595e595a5cea1fe81745717d6d3dbb95759d87c1324337ae5ebe7a6fe65ea150c02ebe7debf6daea5aa958324df3473ffcd1daea5ab55275b19bcfe72be54a47470776f1fcc27ca552619abad7af5d9f9999a9542ad96cb65aa96aba56afd75796571616170606066459ce65736b6b6bb96c6e6d758d3dd016e61720829b9b9bb1584cd3b4a5c525c771aab52a42a8516fd88e8d38542e974551a480b246f15b376f954aa58e6447bd565f5a5ad2751d2174f3e64d08a16118047bf4f70c88a0dd03794d6c40841005c0b26c0a404ec31503bfdb1fec50a063db1cdadd31e2bac436dc7dc6a2cbae233af8d13338168badacac309f77767656966526c0d5927b619b31b72697cb95cbe58e8e0ef6a6f8086c837c3eafaa2a6b1c6656886118aaaab28e6c9fcf170a855edaf01f6c9f64d4123b701c8765d96ddb2e168b3ffbd9cf3efeaf8fbf9cf9cace7cafedd3fe3e4b39b58af85b21bf2f733e8f34e09ed2da627fae3569901d492bd0c9f6d6fe5bb6310020dd93feee77bf9b48247881370df37ffcbfff2397cbb54b30796cf555d0df99b367fedbfff5df2291486b11f23ccf649adae781bc3211404a29d3a0a7140008ab36c9692413e0540ef21ce238773326b50000200049444154a4284a7b9ab53cfbc3c28dff672ffdc9d123f9e05ff40c9feeeaea0400388eb3b8b8b8b9b9c9ecb2b1b1b162b1c8f37c381c666a088140a052a9a4d3e9b9b939c77128a57d7d7d63636318e33b77ee7476768aa278efdebd4824b2b6b6268a626767a720081b1b1b4c2ae5f4e9d377efdee5382e180c1e3d7a341c0e1fd6d81f737e31c14f287c79020e22b25defb7b2a2cf393fb0f7cf3d657e36bbb5f5bf7efa53f648dcdedededece7b998de7c005afdb7385559e4a92645916802024207f08f20872082204799edfe554fa92a7e199ff7bef55e294882c8d04c3a147beb0303434c444ed15455114251a8db2c01fa32a8410c65814c5582c669a263b06d69e3c3636c6d458cf9e3dcbf37c4f4f0f008029063209199ee755550d0683b66dcbb2acaaea4b7b799fd6f9a58478f64c3b2c0bafafaf6f6e6e82479919ef9a78f4f71539bf4c4acfb66d882807110410a187b4b8cbaf14a38362a8775f1e0d400e42d4160d14da8db2f6d05efbe7fc7ebfdfef6f7f475194f62ddbb3baed3b3c14c2f74f477f2cf3e12df0a7b66d3d7c25f40728782def42a68bc58a935980a82571b887e538c0ef9f64f01a44bebcf34b8917cff2f0321880afe98933c7d393c67a21f447e813cb9e3d78785efcf7ba27d03d45afe74a7f10429e175866d6bb5e1e5eac098438eef55cfcacfd837580701cc72cc17d2f85a70af32ce94f92a4c953a7fc7ebf17e7f2f082d90fc19e4ce6b0b4d33f43b0f2d5874d9c84b0ca1e36be6357e617635cab373076799e5714857ffcb7dcebfaf0f8f2f427cbf21be7cf7fe39bdff4ac3f0f2f160821cbb2eaf5daeb66f7b10a5c26cdc22a4f1dc7b16d1b42a828ca17c95f4a09b674bd69db0ecff304635114bed8896507030136c1030060db762e97ab56abd16834954ab12afd402040296d369b4c5fcbe7f3c9b24c29d5348d52eaf7fb7f2b7bbaae5babd542a1d0a108533e95f32b8a82aa2a5ee98b87174e7faf61009a311dcf0ba228566dbcdd747a83a222f38ee3b0818cac010300002000f5297ff197ac531e4244d0a369c952aa0ecef3fc00a33f36bdb65028040281858585a1a12146a6478f1ee579be56ab1142e6e7e78787873b3b3b1b8dc6caca0ac771e3e3e30821f71158b387699a8410569a639a66ad56bb75ebd6850b1714456103305baa338792fe0078586ee0919f87176c07bd86a74ca9ebbaac969802d0b4c9c76bb56e95ffe64048e139423013d76b491e107d93143f610922daa6cfce05871de9586b1cc5cece4e2e971b1c1ccc6432ebebeb9aa6e5f3f9d5d5d56c36cb745c10428542a1bbbbfbf2e5cb8542219fcfb3896eaeebdeb871a3542a398e333a3a1a08046edfbecdf37c5f5f9faaaa0f1e3c607b3e75ead4ddbb77ebf57a2412397efcf84b5b03f8b4852f80bec645071e5e1a3200afa5dedfc3ba7a42a212ecf2f13f9f2d266574ba2708d16e290dd7c507481e380eb25b1d4dd56a95e7f9542ae5f7fb8787874dd3cce7f39148241e8f6f6d6db166354248b55a9d999979f7dd772dcb6276b7ebba2b2b2ba9544a96e55bb76e89a2984c260381c0dcdc9c699a1d1d1dfdfdfd3b3b3b4b4b4bcbcbcb478f1eddd8d8505595998d8796fe3c78f0f082002124949a964501c86aeefd823e91f2a5039c655910d0dda98f03145fa8e83abcd3e24a4110580091525a28143637374551eceeee8ec5623b3b3b8661f87c3e0040b1589465b9afaf6f6767a7e5c04a92944c2655559d9e9eb62cebdcb9733ccf33bbefd8b1638944626e6e6e7373737d7d9d29263c9a037178ad3f0f1e3cbca825caf30842823105805272a2433e19957c3c25847008ed8aac61825c9bdbcb36d0e5da2b7793c924537c314d736a6a2a168bb1163a9ee7997a2013924826939b9b9b2b2b2bb95cae353d5d92244110d8bc917038bcb2b2e2f3f9144549a7d34cde4ad3b4919111c771c6c6c60a85c2cbacf8e2d19f070f2fb5e9c7e6d2d8b68d10ea94519722114a118408429ee7762558c560bfdafbc15ec5173ed015f3a5994d07000887c3131313b3b3b3535353f178fce4c993854281099d0e0f0fb354462c164b26931cc72d2d2d7576760e0c0cb08319191989c5623ccf4f4e4e46a3d1dbb76f9ba6393131a1aaeacccc4cb55a3d75ead4f8f838d38b4ea5521d1d1d2f6deae3b70b5e618cc3e1482814f20a5f3cbc582084745d63d24caf89e015035b8c6ccc27050021c821c414fa76153f536c61dbd81b21851c4fa0c4717ccb1063525a4cd685e77936eaa825fec63c56966ab76d9bb518731cc7e65eb454e91042b66d030098cd68db369bfbc1f33ccb0eb3afe670677e8197f9f5f012e0b5bd091989d8b6fd48f81e711cc7dcde5dcc02398957f61facc1edb12bdbc55a5a31c4bdb2cc2d8917f0a8f5b8e59503005a8584e071f51766b4beec8185a7bdf128f532bf1e5e34ffd1d7f6218c109224491445669abdcce3d30e11bcd89f070f2f03b13f94137fc236af9e53ffead01fa5349bcddebb77af542a8642a1d1d1a3994ce6f7697cc118cfcfcfc762d18e8e647b106463634351948e8e8e762b9d55c6b39105fbee6d7373d3719ceeeeee2f4ae45f0998a6b1bebe118bc5a2d1e8cbb6361cc7c9e57208a1cecece9773d2cdcbc07a2c46e6384e2bcbe15dab43467f94d26c2efbb39ffdaf6834dad393d9d9c9fff297bfb870e1c2e8e851363a83450a10429810d77520843cc733416dd77559acb47d6f8ccea6a7ef8e8e8e26121d2ec684109ee35cd75d5a5a0a87c3b1588c2d30b6dbcdcd8de5e5e5b1b1b18e649260d28ab9524a5dec124c5656562ccb4a2412bbe88f1d00bbf35af4810966c33dd9f31613cca18747e8ba2e2698e7788ee308a5aee3b08a7c769a2ec6104281e75960d8755d00a12808ec9f2cbacc8604524a1dd70500083cdfeec8b04f218e63cdea6cd61dc771ec5cd86a81e8e1d503001886393b3b3b3232a2288a2449dca34f315d9056d4990280318600b0c8343b9896543adb9efd9310e2ba2e0540e0790021c6981d09613a4b94b6162a78a4f6faf02ab171d73cc7218e9d9dae69cbcbcb3ccfef7a567968dde7a669eaba4e298010504a755de7793e1008bc620fe9c34d7fbfb5e9cdb4acebd7afa73abbde7df7dd603068e8fae79f7f7eebd66dc334f3f97ca3de304de3ed77dec9f464eedcb973efde8ccfef3f73fa4c341abd75ebd6c6c67a34167ffbc2857024c2186d7979f9ce9d3b86aead6f6c0c0c0c96cbe54f3ef9a4d168f4f6f68e1c39623b8e8b7153d3eedd9b595c580c47c21313271fcc3db87af58a8bc9d0a03ef7606e6767a737d37be6cc19dd30ae5fbf562e958bc5e2c0e0e0aeb368d4eb535353cbcb4b88e3ce9f7f73606080e338d775e7e71f4cdf9d761c4710054992cae5727757f737bef9cd72b97ce5f2e55abd3e3030303131b1b3b373ebe6cd46a371e4c891f18989b9b9fbb3b3b392249f3a75aaa3a3e3e68d1bebebeb88e3befede7b9168f4f6eddb2bcbcb92247575778d8f4f1476766edcb881313e313e7efcf871c60ecd66f3c68debababab3e9fefc285b71dc7b97eed5abd5eebecea9a9c3cb5b5b595cb652b950a25f49d77dec9f4f6b282d86ab5fac9279f7cfef9e7f178fc5befbfefbacef56bd7b2d96c2ad579ead4a9583cce46cd7dfae9a7baae25e289ceaeae7bf766caa5725f5fdfc9c949d3302e5dba546f347a7b7b4f9e3c99ddda9a9e9e765ce7d4e4a9aeeeeeab57af9c3fffa620084b4b8baaead3346deefe7d4ae999b367a2d1d8e5cb972921e9743a10084ccfcc34eaf5d1d12327274f6d6f6f7ff6e9a79aa6999679ecd8b16795b278c5e27e6c8691cfe7e3791e00080025841886c1d407d8e396526a3b8e6dd900504110da46fa7ee111ef65d5f6c95c5f297d1f76679cfbc77ffcc7f6abc62a60189851402995655992e427946ed7ebf5cf3efbeccc9933e9749ae3385e100cd35c5b5bab55aba552f9f4e9d3ae8b575756385eb87dfbd67bef7d1d22b8b6bab6b8b80800387972727d7d6d6b6b6b6868082194cfe76fdfbed5ddddddd393999bbbdfd7d7373575dbe7f71d3d7a6c6d6db5542ad9b6e353d58d8d8d8dcdcdf36fbed96c36efdfbf9f4a754208068706a7676614593e71627c7afa6ea954dac9ef1042c627c673d99cac28434343ade72a2124bbb5b5b9b5393434dc68d4b7b6b60607074551741c67667a7a63637df2d4e4f2d2922c49c78f9fb872e54affc0c0a58b1783a1e0919191e5a5a54aa5323737a7aaeae8d1a34b8b8b8aaa5ebb76756060c0eff31986de68d44bc5e2c9c949cb346fddba4901dd585f7bf3cd378bc5e2c6e6862c4bd7af5f3f7efc784747c7cd9b37229108a3fe6b57afb261a98d462397cd1aa60120181818bc7f7f5692a495e5e572a9f4ee3befdab6fd607e7e6868481004c3306edfbe158bc7de7de7ddc5a5a5f5f5f54aa55a2957264e9edcdcdaac56aba9544a14455dd77ff98b5f442291d1a34767676709c1478f1ebd77ef9e655937ae5fefecea3c7efcf8c6c6c6eaeaea4e61e7d8d8582693f9e4938fd3e99eebd7aec9b2ec623c777fae56ab6de772232323b2227ffc9b8fbbbaba3efdf4d2d0d0502c1e9f9e9e8e4623bd7d7d9f7df6993f10b872f9725f5fdfd0f0f0fafa7a3018eaefef7f26d61f84d0751cc3d059ea9381bd6ed5bbb4f0f29b7ef57a5d14255996298500420a008048124596de65f635a1b452a96c6e66cbe54a43d330c6b6e318a6c9fec704b3a2e8b6608879fffefd7c3e5f28144cd35414e5e903508ee3349b4d41109e26af629ae6e6e66630183cd44998a7eff97d62e69752040125846d460921d84508c9b29c4824fafbfb0921b76edddccee512f1785f5f5f32995c5f5ffffcf3cf45495c5959b16ddbb66dd77138841af53a8228d3938944223d995ed33417171747478faeafad699ad61a62b9b4b408215c5d59d19a9aa11b0842bf3f403029160a8e6d43085d8cf3f9bccfe71f1b1b1b1a1cda58dfb06dfbb1b3a0d4e7f38543e152b1582c1425496a1dbf2c4bbdbdbdfd7dfd5b9b5b9d9d9ddddd5db22c954ba5f5f57508a1ebb8baae05ec402818cce7f318bb9d9d9d01bf3f1808aeadad25e2894c26e3f3f90c5ddfd8d828958a9aa6974be544a2a3b7b7b7d96c124276f23b954a399bcd020008a1954aa58f108cf1cece4e77ba3bdd9d8e4563d56ab5d16c9886b9b9b151ad541cdb41081d3932dad3d3e338cee6e626c1981d6d241c193d72a4bbbb7bfcc4895ffce217f1781c21b8b9b1a96b9ac0f38e6d035505940602fee363c701a55b9b9b6cb4b1a11bc542a1542efdc11ffc413c1ef7a9eaeda9db08cabd998cdfefbf72f972a55c1e1a1a5a5a5a4a5b962449d875777676144501801a866e184628143e71e2c4f6f6767e7b1bbbae6dd9a6696c6e6c98a6393a3a2acbf2d6c08020f0cfac6ce015eaf9c518dbb6adaaaae9e0a281250e6a2eb131490744411098cc018b36b8ae6bd9a6c4531934dc7aae7d0e219165894490d201f920800800d068343efae8a3e3c78fdbb66d1806ab4cb66d5b14459fcf57afd7590699c9b4f87c3ee68033d9985aad36333373eedcb98e8e0e4685ec30c2e130c6b8d96c420803810021a4d96ceeececdcb871e37bdffb1eab1756559509c0bc8eb13f4551babbbb171616128944381c6e341ab95c2e180cfafd7e84b8d6d398459d6cdbaed56a8d4683e390aa289148c4b6ed7038cc1e53082142b06d5b866158a609219465595595703802210c8542acfd50142500402412e138140a85144561a6ab20083e9f2f1c0eebba1e0e878ac5a26118a6691a860121745dd7344d269a8631ded8d8585e5e1e1a1aeae848e8bad12e93cba266ed7604424892449fcf1789442004a954a72008e974773e9fbf7cf9723c1e3b7a74d434ad070f1e94cb6559961dc71e19190194964a255611aaeb7abd5eb32c33180cf23cffe8c94993c924fb2b3ccf3bb6c386a657ab95f9f9798ee3bbbbbb73b92c421080872557bb6e32c77174dd701c47d3b440c02f4922c771a15088101c8fc75ba55808712cba2749a2aa2a8140a0bbbb2b994c66b35b966599a6592e97b18b01c776a8bbaecbfa3de7e71f60ec8e8e1e6d369b92248642214ac99123471445e6b8875698280a7ebfcfeff70f0c0ca452c9cdcd0dd33499d3cd715e75c181490f004045b73f5e6b180e2114c47d7c54844111b56a8f0100d8c5d87502422edcb808ad4d00dabb0fa05dea863d7f2e44df60f4c722d17d7d7d86612c2d2d150a85e5e5e57abd4e08999c9cbc74e9523a9d0e8542dbdbdb18e3cece4ea6fa2749122124140addbf7f7f6060209148148bc5cf3efb4c51946ab53a393959afd7b7b7b7799e4fa7d3baaee7f3f966b359a954d6d7d797979701008944e2f8f1e3a150e875a43f59964f9e9cbcf4e9a54f3fbd148944354d334d737c7c9c09e3b048b9a2a83d3d3db9eddcb56bd76ab59aaaaa994cafa6696cb1653219e6bf84c3614551e7e61e4892d868d403c1e0d8d871cbb22ccbc2182b8aa2a88a2449a3a3475657d76cdbd675239188fb7c3ed33434add9d999a294dab665db763c9ee0797e7d7d5dd7f55c2ed7dddd5dad560b85c2c4c404ab9f7ac8388e63db8eae6b9aa605020176b4a224b1e724f3051445090683c3c3238c4009a1922465b359c771545589c5621893b5b57536d31e00c0ba8e6cdbd1349d10120c06b3d9adebd7af2f2d2f014ac7c7271a8d3a6b38a714b05624766fadaeaedeba752b97cbc5e3718410cf738661388ed36834d1a3064f8ee398bcda232aa44b4b8b84e0b5b5f53367ce524a3736d6993870cbf78110aaaac2a6b8f6f6f695cb65d3342905d168acb7b76f7a665a55944aa5128bc5ebf5fa9d3b7728a5814020954a4108fdfe80e338e9745ad3b45aad8631d6755d9615455199d6662c164ba77b58e41e42984aa592c9e49d3b538aa2160ac57038e291ddbe8e3c42c8342d81922e195edcd6250e9d8e07058a5d97b6f766604278e808c6bc53bb47ddc6633b413c5486a1dc0510dfda5ed7f5e5e5650861341af5fbfd85424196e5999999542a552a954e9d3ab5b4b454a954fc7effd2d21221441084b1b1b18f3ffe381e8f777474844221f6dcaa56abe3e3e377efde9d9f9fd734edc48913baaeafacac148bc513274e40082f5fbe3c35356559563c1e5f5d5dedeaea0a068387cb007cdad89f28494f926d80d01f088442618c89edd8814070747434d3db2b4a52381c0e8642bc208482c1dede5e5956745d8f4422232323ddddddecdbeae8e8181c1a62e5e3a224a93ed5711c51947a3299bebefe743a6d180625a4b3b33393c9f8fdfe6834dad9d9c5f3bcaeeba15068786438180a22887c3e7fa6b797026a3b4e3a9d1e1c188c44a3ecb053a9545f5f1f42686565a5bfbf9fe379c66eccbe4b75764622d18e8e0e45510084022f84c2e1d0ffdfde9736c771a4e96566dd57df27ee1b2478401439e21ca119edec783666e7c3c6ee7abc111bb1e19fe0bfe27fe04ff63ac2617b771ce358876224cd4aab8b146ff0c0dd001a0da0efaeaaae332bfd21815213a048eaa04412f9048351e8a3aa3a2bf3c937df7cdfe74da52449ca64329aaeabaa3a3c3c92cd665dcf23242a0f0d8d8d8f6baaea7a6e1491999999c9a929ea89d30d7d6e7e6e6c6c1c101211522e97d39974a958a23e47cff354555d3877ae902f58b6cdf1dcf4d474a158440801088d440221e47a5ebe903f7b7621954a85215655756868289bcb150b8562b1a8691ac771ba61e47239c471102145515455c518978786ce2d2ca4d3e988802008f285fce8d8b8a2aa94232559ce170aaaa6a99a16628ca3687878786c6cac582c7abe07201c9f98989b9bd734cd755dc471e7ce9d2b140aa2281a8944b93c343232a2ebba2849d47c3e73e64c2a9dd6753d9f2f5022f47d9f00303935491bca711c4110464747c7c6c6128904fc2e3c4410c2300c1cc7790d7c7fd46cc738e4104a49b0a0709329613cc90b1c0280d07c3eeaa1b6ac5e64ae49dd8fc2de36f6310ea2f81fe1d3f2f0afe5dc8f203accafe8f7fbcbcbcb57af5e1d1b1b1b1d1ded76bbfbfbfbb22cefeded0d0d0d99a679e9d2a5adadad2008e23553369b9d9e9e5e5f5f2f140ab66d4f4e4eeabade6eb71b8dc6e2e262a3d1a0c9afd3d3d34110743a1ddbb62726266459dedcdc248488a2984aa52449a23b60af16fd3d57ce6f329932128967e6fc527b3e0ea1a0f98347ebd988865c5056a5a9337174c8c9c017ba2e8817a14110d0698ac6cad09913634c035f789ea7a98883971045913a0ae3d2a808c25eafd768362627a7a8273e7e97e63cd281048eca96d3a57a1cd541af422351e89dd0009d288ae8b5a882501c1442fd268220789e57adeedcba794b14c576a7333a3a72f5ea5545518320a01eeec7143b300ec3703006251ecc71422b7d581c4200c2c32747c86020cbe04906cf1c7f3d56d0a456067d6af447d18b0ede58dc1af498fe466a3ed3863d79cef84ffaf8be2bef3842c875facd66f3f5c8f9751cc7b22cea1d0a300604083c0721a0d203714c52f360db5cfb2758fd7de4b51e9f0c38a5742577f93f49d973f18bcd66f3dd77dffdabbffa2b4a6d4b4b4b376fded4346d7373f3cc9933ed76fbb7bffdedf2f2f2eaea2a5d6d388ea3aaeac2c2c27befbd37363676efdebdcb972f2f2c2c54abd53b77eebcfdf6dbb76fdfa62b1ecbb2680c53afd7b32c8b7a03e7e7e73737375555cde5726fbef9a66118af980dfe1dd2df2be06fa6e4f5fd0655d152093b3b3b8ee3c8b2542c9652a9144b5a62f4174591effb9ee7611c1dd52c27b4a0479c2d4b48e4f4f6cc8d77fdc61d12858fb5062feb233f494cfe0a09faa045d96c36f3f93c654fdbb61b8d065dcc518749a150e8f7fbad568b3afb68ab6a9ad66ab5144569b7db894422954a799e679a663a9d364d93da31dd6e973a4fa80c2a9d20138944b3d92484d06fbd72d19dcf497f49c34830c5976fd9d70f8d50467cdf86fe5ce7b5a13f0a9af54163ece932e8580f21118e029b60ffc4d845889711af80c77fecb170bc633eabc330f8133976b1cacbe067e82bf19f5403063c5e4b93befe8a26e4b15db9ef6fe832e26378c2083cf2de80afc8f98588e3a4af512be39971d14f7c716027edc9af0c12dcb18fbdbac1cfdf65ce2fadc5f78df37ce3620274267fbacf98ba96e89f54f8ec99cf80baea4ed69da289712422c7dea22eb0f8e750ebf8ab6a4b3ffdbad48718bbcf30c6dc51b42a75933de527134200846118a2a3337c878fecd83888e32de249fed06388107c92d932d83e0cdf6a15c6b40c5e66fa7b66bc69b3d95c5a5a9a989c1c1b1bfb06f7d1eff72db3274af2f6d6d6d0f0304de9fdaa41bb59a96c6f6df57a3dcff332994c369b3dbbb030a83bf64498a6f9e0c1830b172f0eea9701001cd77df4e821006061e15c9c138231deac540889262626e9083fa8d7777676161717bfee800fc2706b6b4bd334ba520bc3706bab323333abeb3a00c0b2edbdbd3d5a74e6e4777ddf374d5396e58d8d8d6432393434f45d312021a4dd6e238468a00321c4b6adbdbd3ddff3755dcf170a3ccfefefefb7db6d45518ac5e2b11aaf5114adadaf0300e6e6e6beb7ceca04d7185e46eb2f08826bd7afafacac94cae546a30e01e4054192a46eb743774e5455ed743a1863c7711485561af593c9a4a669745ff5c1830777efdc7ef3f29507f7ef7b9ee7388eaeeb89448210d269b71dc7d10d23ceb0310ca3502cd6f66aababab7ff3377fa3288a6ddba669d27a0594160dc348269318e376bbedfb9e61244cd3bc79eb6636971304ded08d543a4d87fdcef6f6471ffddb9933f318878d46afdfef1bbaaee9faf6f67618864343c3dd6ed7b6ed5a6df7d1c387e7ce9df37dbfd3e97008d13358968931561455d7751a1347dd37fd7e9f86c877bbdd7ebfef79deeaea8aaa6ae572f9ee9dbb922869ba9e4ea731c64ebfef795e1445aeebd2c8182adf1245d1cececef5ebd766666657575773b96c18868aa2e4f37984906559dd6e5796a56432157bca7bbd5e10048ee348924423c9bbddae69f654554b2693411090289264d9f77dd771feeda38f389efbf9cf7fa1ebbae7794b4b4bcb8f1ee986e1badec58b176459f9e0fdf773f99ce338c3c3c334f3973eeb56abe53ace8307f76559999a9aa25b818a22a75269dbb669e4390da51678de34cd1087c9648a3e6b36e4bef1741507a5a123b0667929e8cfe9f7eb070711c6fd7effd34f3f29168aa5520947d1fe5e2d22c4308c3716dff8d39f3ea0abaa5eaf974c26c32028148a171717755d0f83a0bab3b3b3b3333a36d66eb71e3e0c76777765457ef3cd37bbddeedaea2ac65810c585b30b43434310c262b1582c163b9d4ea7dd397ffe42afd7bb76ed5aa7dd9e9f9f773d77afb60700880879f3cd4bb6dd5f595e2680d00835a7dfbf7bf70ecff310801fffe4a7d94c268aa266b369993d12451b1b9b9b1b1b00004114a7a6a6684cccf6f6f6c6c6060e83dade1ee5b2f5f5f56ea78d311e1d1d4ba6929f7cf24932993ab7b0a0ebbaebba0f1f3cd0348d17849b376fbef3ce3bad56ab56ab093c0f11acd56a022fa88ad268d497969604415035757676aedbed2a8ab2bebe6ef76d8ee37ccffff55ffc452291c018b75badad4ac5d0f55eafdb6eb7fbb6edb8ee952b3fd275fdfefdfbfdbe0d219c9c9c9a9a9a12040187e1b56bd7daed962cc951149d3b774e51949595e57edf8948343b33cb71dccececed0f050a3dee078be5aad46117ee38d37745da74f707676f6fcf90b1f7ffc31a5fe6c36f3ab3fffd5e6e6e6dd7b772dcb4aa7d351142d3f7ab459d92451b4b6ba3a33335bdbdd5dbabf1406411886e7cf5f68341a61185efdf18f2b95cad65625994ceed5f668bace1b6fbc61bcacf55e5f7eeea31a48344489c68d51f5d3939e1c9ad08610278a4c3beb1940cfff049ef24f5194542a552e975445595f5b4ba7d308a1d5959552a934373bb7bdb555ad56971f2d8b8238333dd36ab6444128168bbbbbbb66af0708e179be50c86732996c26cb717cb158989e9ededfdbdbadee7efac92718e352a9dca8d7efdf5fc24789ae4769a40410e27bde6eb5ca71a8542a7aae6b1846a9545c595e5e5f5baf6c6e369b8d742a050809033f8aa262a170f1c2c566b3b9bdb545084110a652c942a19048246fdeb86118c6e2e2a2c0f3b76ede741dc773ddbb77ee48a2b0b8b8a8a91a0ec3ddeacecaf2723a9d1104f1ce9d3bd59deac6fa7ab954cae5b280100461b7dbd9dedede585f7f707fa9bab373f7ce6d1245f5fa81eff99974ba542a26120900e0d8d8e8993367d6d7d6f66ab55a6db7d3e954ab55599217ce2eecec6cb75b2d4008875032992c148ab95c4ee00543d7cf9fbf4022727f6969f9d1a3dd6ab55c2afb9e777f69a9dbe90042a228dad9dec661383f3f1f45786d6df5e6cd1bdd6e776868c8f7bc1b37bec018572a95f7fef8dee6e6a6a1ebd96cb65c2e1bba0108a14e053af30000200049444154318f9665359b8d66b371b07fb057ab150a45555593c90420c4b62c4088659a4b4b4be954eac2850b822050739e435cb1583a3838d8d858e738eed6ad5bbd6e777d6dadd9686e6f6d753aed542a49230ae2acea6ffeef54721fcd98a43e62bacd1d86a16ddb71f9ddf8b361e0375bedfd8346bdd1ecf67a967d08cbb64dd38cebfc82c3806aabd56af5fb7d1ace19bf4b033f689ed520f93e4fbd4a42c889bb7addad3f4110344d15455155554dd3e6e7e7abbbbb10c2d1d1b1542a75f7eedd6eb7c371686a6ab25028168b85a1a1214551f6f6f6300ee9de452291d4349dae58c7c7270a85fcbd7bf71cc7d9dadaa29b03beefe328a2e277276fc030f4b1b1f1542a4d0868341ab64df569c8f0c870b7dbd9d8d89024d93012aaaacecece2512094dd35dd7a51bf9aaaa26120941e01dc79999992e95ca8ee3acafaf2384300ebbdddee2e2e2f0f0c8fcfcfc175f7cd16e77aad51dc3d08fb65f22c330e6e7e7a93f5114854c26b3baba1686e1d0d0d0dada5aadb677f5ea8f6fdcf8421004555593c9a4aaaab95c96c6cdd30a5e74b721954a8e8e8e0e0f0f2b8a4223a2e3643b5dd7755d2f954ae5723997cb1e1cd45dd76d341a3b3bdb9665d3844ddae124491a1f9f181919a95677daed76a3d1e4798ee6304188d2e9743e9fffe4938fc7c77f3a3c3c5ca96c4a924cef5c55d58989c9e5e5e5dbb7ef349bad5c2e4707034dcba349160000d3ec8561383a3a562e97272626e80688699a74b40441303e3efed9679faeadadededed5dbc781140b8bcfc687d7ddd300c3a9618be2e30c6aeebd124a590400f471acf0110799eef791edd38fe927d9c8a6cdf10308610028f0b8f16c8904fb682914c7e249948d073562a159af41604015d66f13c3f35354508d9dbdb0300ecefef8f8e8ee6f3f92008b6b6b60000d3d3d371d43d38aa0a428fe3e018cbb2eedfbf7fe1c2055555e3a8f8d77feb237e1722c41d252d789e67d9b6e7798aaa218ee3789e0000110711228fcb081e252f1c9a2104403afe75c3189f982897ca5bdb5b997406711c79d28d418410c775bbdd6a7567746cbc5028acadade3880000e7e6e60900376fde68341b04008ee7c0d156fde03d70bc4000b0ed7e18863dd31445511078000844b0dfef8718d7eb758c4349920ac5e2fc99339665db96252b4afcbb000088e30bc5d28d1b375ccfbb78f1e287fffa612e974b2493e4e856698c25c7f187024703bfe2d09b032138bab7a3af44110108419ea7df82104255550bc5c2b9f3e76bbb350080ac28f4840821c47100420020c7f3b22c170a85b9f979da7d8320e8743bb2a2b4db6ddbb609215184a9381cd56a2d95cbd96cd6f3bc62b1e838cec1c17e10043dd38408a99a4600102539c4a1e3f4832068b5dba2206cef6ccb8a3c373bd76c3620429aa68d8d8d7ff8d18799747a7878b8de689c3dbb1006c1f5ebd73b9d8eac28b498ec37defa386de6df51661156140522b4db0bfeb5d2bb5450160aaa288abeefd1c4a778f011eb215fff1f1cc1c74625d2267dfe6fc3e05038bddd6e2f2f2fa7d3e9a1a1a1cdcdcdd5d555c7711a8d46a3d128168b94d43637370dc3304db35aadd23abfd423b4b5b5d56eb75dd79d9d9d95246965650500303636268ae2e6e6e6fefefefafafaf4f474ad566b369bd96c96bef53a5b7f00004110114488e31445e510caa4d3b22cbffffefb3409ac5c2ed33c1e3a89711ccf214e1425840e4d394996f7f7f797971f711c421c8710122551d3f5858585959595dddd9aeb386363e383ee5e5ee06559a12c298992c0f3822886182f2f2f6f6f6d9996b9bdbd2508c2caf2b22c4b5114e9baa1280a840800204a62dc691042a2282693c999e9e93ffde94fa954cab6ed8b8b8bdd6e178761a150bc71f3c6eaeaeacece7622912c148b5bdb5bb76ede741c676a7a465114e5f11de76c369b4ca579db1e1b1be7f94f464646789e974489c6e8aeaeac864128083c828896daa2f20a3ccf0ba2c8711c04403e126d0600f01c6799d6f2a387aee7f1024f1bd3308ca9a9a9cf3fffecb34f3feb3bfd73471bd610027a2afa315d374ac5d2a3e5473dd3acd7eb57ae5ca9edd5a228fac52f7e51a95476aa3b08714bf7ef4f4e4d4f4e4e228ef35c77e9de5d5996014423a3a33ccfbdfbeebbbffffd3f3bae3b3f7f86ea3224128952a9fcf1c79fe8faddeaceced985059ee32b958a6dd98d4613e3c8eef76766673ff8e0fd371617355dbf7ffffe6665531404411410c75dbf7e6d766676687898d9745fcbfa8bc5af5212e220f8af37f7fee31b85b9824a533f07e39cb1dff77bfbe0449d5f029381e286e1212dd6ebf5288a2626260a85422693e9f57a9f7ffe79abd54aa552cd665396654551e80ee4b56bd7c6c6c61a8d46fa488df8b3cf3e93240921d46834128944bbdd360c839609b66d9b6e361e1c1cdcbe7d7b686868696929361b5fc2b67ddeac0f4d379e9ef5d1ed760921aaaa369b4daae0645bd6defe7e1445c562d1308c838383782f924a83f5fb7d5dd7e9d0f57d7fab5291244951555dd7054168b7db5408b756ab75bbdd52a994cd6607e98fd6932f954a74fd2589a2a2aa9d4e67af5653354d9224dbb6878686f66a35dbb6f3f9bc914898a699cd66398e6bb7db54018d4a51599645033b6ab55aafd7cbe7f3d96cb6dfef13421445393838a02f124232998c699afbfbfba22896cb650861a7d38915abe874dde974a228320ca3d56a69aaaa6a5ab7db15451163dc6c34e83440778da93496effb9224f9beaf288a2ccb070707c96492c6f1846178b0bf1f048124cb8661a8aa6af67a21c68944a2d3e9ecefef2713897ca1405de0349685ba202ccb2284689ad668340e0e0e72b95c2e97334d935258afd7a3db5034133e914800003ccfdbdbdba34d4aa361badd6eb55acd6432f97c3ede5cf67d7f6767c7f7fd4c26230a82208a74ada4ebbae338b95caed56afdfe9fffe9dfffee3f148b45aab5e3fb7eb1588c87cab1c0a3afe1a846c8f3dcd6eb95f5f14cebcfb22cd7f32449060074fde8ffac74570ffaff70313b955520c134652dfebde6ca7f6bdffecf27e94f4ccdd58c7f288d5f2a974b00807bf7ee6d6f6f5fbd7a3593c9d8b65dafd71f3d7ac471dcf0f0f0c3870f8320c8e572b55a2d954aedededfdee77bffbfcf3cf1142bff8c52f7cdfffc31ffe303f3fafaaea1ffff8c720087ef39bdf0882f0f1c71fefefefbffdf6dbf97cfe5ffee55f128904b501bbddee850b17ae5cb9f2726ec27c67d65f2cf5552e97e9816e18330329d0a55229b68fe8c160a49e288a33b3b38327cce572f4e0ab02090dc3a029d63ccfd3a90900904ea7e3638ac9a9a9f85855557a90c964062f1dff3978adc4d136e5c8c8c8e0098f5d22fe5d87f30984f1bbf15bf1f98f09a2e5f3f993bf8bae3e0e1f0fcf1fb395124767a08c76ecd2f185e29b2f954a275b3e3e48a552f1d725491a1f1f7fca2f8d9b6b6aa049e9dc1e1fefefef7df4e18773f3f3347647d3b4999999f8dd42a1c0acb9af3d44791e785e10f884809a890342fefe6266c4e07018f01c3a16871f86c4773139417fd08f023f8c221277c8cdcdcddddd5dba55e5380e9d518e69e7a8aa1aab73c63d8a0aedf0479a49bd5e4f966584109dff3a9d8ee7799aa665b3d9a9a929d3348b54d0e8d55efcb23abf0ccf015dd37ff2939f148b455110befb0e73faeafcd218179ee3c21023844655549ed66544208920e0068b8e1f1ac8429ad3e79f407fcaa4ac1a8228c4f3d0e8e8e8eaeaeafafa7a18863ffde94fa99aa9a669c56211636c180642686262a2d3e97cfae9a7beef8f8f8f53e3ba5c2e1b864127cb5c2ef7e0c10355552726261445595d5ddddada4aa7d38b8b8bfd7ebf5aad4a92f432c77b3ef7e257d399e401c30f0b8490e779add6295afc82a35012c771e8714400821021487dd654b3f24bebcfa9fbbddd93130f12d490cf4baa1e3b31c230ec76bb8ee3a452296ae551cb2e8e3ac0188ba24883fc354d9365992a875325470821557e6cb55ad49ca48e204208a53ccbb22ccba2710baf36fd2518fd31bc34f4d73e65f4078e12c37ddf8fa288c698d0527027e561187e18df1f0303c38b5b020b82404579635d5e467c8cfe18184e11091e0b7266f85ee88fb0ad0f86976211789a3be1602619138f60d61f03c36901ad104bf370e9a6070d3739c9837120f44b9e70f62ad11f616a6b0c3fb8f9735a7f381538088220ae20665996e779b460f4e0278320383838f0834014c5542221cbf2a014fe49423ca68ccfe88f8181e1e5b2fbfafd3e21c0300c02511811112142b0e338b66debba3e90504148d0447e850f4312c2ae872c78542f1849a6a7158be5387ad9f33caa8c49a5217ddfa771ce54328b32a92ccbb4a41f0dbb89ab4b3ffd6e690ed52ba1b5c5e88f81e125367809098200632ccb0a42dc9e1ddcabf7cfa4a5a18424cb8aef7b5405ebcb2f746e68f5ff0ec871711d4e9de8a2df06c1619a90effb0f1e3ca8542a0000c7712e5ebc68591684f0ecd9b354e51b63bcbebe3e3737572e972dcb5a5f5fe7386e7171111c9627c61863ca8654a95796657adce974ae5fbffef6db6fd3584251144f969760f4c7c0c0f0bcd61f0000c2c34a2c8f1acedd9ddedf5dc817750142444b5a1ff10bc47ecf6baf9fccf9e5b0102a0ec687afd7ebf5ededede9e9e9f1f1f1f5f5f576bbdded76f7f6f62ccbca66b33491aed96c5a9675ebd6ad4ea753abd54646466874f0d2d2926559340f4496652a0d572e974551dcdede6eb55a6b6b6b972e5d5a5b5bebf7fb894462727232f1b2cadc32fa636078a941f311428c01c0128c1202bcbeeb1ef4dc8c02013c5ec7320c23d7099e207920060117e0a3cc8556abc571dcd0d0906118e7cf9f775df7bdf7dea3bb2b8f1e3da2024818e36eb7fbc5175f5cbe7cf930e21a802008eedebd9b4aa52449faf4d34fa9368c6118b76edd0ac390ca79044150a954ae5fbf3e3a3ababcbc4c08b978f1e2cb19a5f85cf4470e2b0db0cd0f861f7825484edffe075ddbfa7e4008d9efe33e8e7e339b2ceb280c4284a0f0f8d6070e23bf1f9eccf905521808619cb8453d7a5496b956abd5eb75aa6431323272fffe7dba9e0500f47a3d5114cf9f3f6f9a66bcc45655756a6a4a55d5cdcdcd6eb7fbeb5fff5a92a4dddddd46a3313b3b9bcfe7b7b6b66ab55a1886b4d6cdab2f777a9412c74620c30f4b80a72dee8f863a2384228c21843a477e5292cb0a1211018420888e79d60894239024277c7f042420e2d1d14e483e9fdfdcdc5c5a5a3a3838585b5b2b168b822008824073e9082154d625994c866178f7eedddddddd580c89e69f50d9fd542ab5bcbcac699a2449e572b956ab1d1c1c388e532c16ebf53a55b44ca552af81ef8f4016fac2f0c372c1a9fcd58220c8b2ec380e84302972ba4010041ce2a800f8b10d56ad7c95fb69e609be3f29a10ba3aa71a896964c26cf9d3bb7bdbddde974c6c6c6666666daed36c771baaecfcfcf4751a4aa6a3e9fa73a8fa669cecdcd0d0f0fd3dcbbb367cf52ffe0952b5792c9e4e6e626c7716fbcf186288a954a250882b7de7aebcc99338220789e57281472b9dcab2d79904ea753a9345bfc32fce0a6906ddbf5fac169933c88a288c63c4784d0df468d2f6aaf3d6ea5444f58f9d2b9034200be6c197ace288a6803c6253be2035a7902634ce30d29d5127258f91e00400fa8540cdd7e09828056e3a1456c30c6f4e4afbaf50711428cfe187e70fa3b9d21ba54589496d6a3f58362ba3f39522144cf79ce41bde1d88a3cc6a708a158232b5e8c0f7e7250bb9b2a629d3c7e69f19cf4775867908d40861f16a7b60b4208a93f8ef581ef9ffe4e69d61b212f76cb3b56157f7ac38718bb7ed0f7c200e3d7e6214000788e53445e110581e39ed7ac635330c30f407fa78ff8a80f9416f37d316e770221e4389e3a719e488211211dabbf7ed05969f4767a9ee987d1eb32fe11009ac0950d692aa3cf9732d984ca04ec1818fdbd14dce77aaed37708213ccfbd2069494200c6a1e7b98eeb28b2a228cab1ab6012d53bd6c72bbb5fecdb4d20625187b2005e1fef172161b8d674efd6eb8b8ddecfe786470b2978fa7677e996238d8f434778629f64f22d3f18fd9d22df1f01aeebf6cc9e288a9aaaf1bcf0e2ac126a633a8e63f7ed8844aafaa5054408699bfd7f7db8f3c981d71392012f460492f0757a041002118a4240944f1bbd6e7ffdef7f7a26a5aba767f54bf3791dc789a288eeb7d27d06599607755cc230745c97e6f6aa8ac2e44e7f08ebefd4f8fe8220304d53e0054dd5d0d14eff09cec21002aa3ef4757bfc31a94a84102dbfe9380ecf719224d3b7c3307ab053ffbc66b5c5b40f041c3ced01408215a7cd876e04902728819c00f0d047ce615ff44d4f4e4547afc028e4420f7322e184c74f12499ec961cf9593300a65dff445c317b4173bd50010400e8bc9bbdde6678fb6feece28c786a8637c6d8b66d8ee3445104001212618c692686a6698713212161e0753b6dd7f3788e735595d6c506873930505594c10d5cd775efdebdebba2ecff3b49c5bfcf9e7e9f99ee7298af23c1b2c8ee354abd5898989579a8ed94c729c9e6cdba6f93a84101c86c73e60f79da587cb2beb1b3ccf5d3a7f7e6a628ce33942081a28734ef98b0030f87a44080460737ba7d9eecc4f4f19fa63b4220a82ef798ee3f2bc40fb93e307372a8d032cba117a66be4d5242bf7b635c45911be28eedbdb7d36ffa800f9d08f1f9b4f1cbf9917f5eb74dcbe2b18b9190d5a4b91cbf6185bbb6cf851e01201435c0f12a8fde99294e1bf00f1b765a12df192bfe69d7bdbed3e542274202e6242e0a10f6302f459c8402978ffc9093225e4281cb4501e6c48813b9c085248c2022bc0c48c4876e84782c28003d6d4485101029f9c5d6c1c571ab9c4d3db7f5085fe99ed6eff7218492248700f4bc48e2385d1131c6aeebf9be4f498d101f390f0dfb9a1a7a1042e4a22fd50db8acc52d003232487f9665ddbc79737171d1f3bca5a52584502693314dd3300c4dd37abd1e008006518761984c26a328f23cafdfef6b9ad6e974eedcb9f3d65b6f954aa52008fafdbee77900804c268331ee743a08a164324908e9743a8d46e3f6eddb854281c6082793c96f5cbd9e2d7e5f22478ce77982289023a58dc7a7eb68657dfdfd8f3f191b1e362dfbe36b5f48b2d8354dcbb427c647459eaf375b7dd74d187ab95868345bbb7b07855c7674b85caded379aad7c3ebbb1b5b5b55d1d2a1654453e7672c471beef8738e4780e00e078c14ac3f29492ef3f7bb7030a68349bfa78bb57b3a29f8f642ef964b76d2e640dd30d9a848c6692e26af74a2a9c4c19fb56c009e8e753b9cfaadd34e8cda45500c847bb4e2d500102494d992e6a43fb7e5e17260a995bcdc6a2e6cfe7124d377850b7c7b3d2442ab9d2f21e75dd4b79389448563adebdb6b358e04774a5d2f3d77beee2b0a4f25244c8ed0ed0005ec86acd7ef845db6f04c2d3b78f088475cc559bdd6226f155bcf63ab9bea8ac9e61242084a68b3fdc36231cfd7cccc8a98220e020080e2b58124cec7552ff7f30b401005f0634431429b391510ab4d2b10e4c08999f9feff57a376fdedcd9d9b973e70e8d4cbe74e9d2071f7c502e978bc5e2cece4e1004a3a3a3beef6f6c6c689a0600482693f7eedd9b9a9a2a168bcd66f3fdf7df9765d934cd1ffde847bd5eaf52a988a238313141edbe56ab6559d6eeeeeebd7bf71042f97cfed2a54bbaaebf3ef4074f5f98298e70100682288627ec3e0080e7fb959d5d04e1cfae5e9645d9b2edcad6ce27d76f789ea7e9dad4c4d8f55b7752c9040260767aead1cabaa248ed6ef7973ffbd9071f7f0201546449531502401086e1096ee538d40f8320086800bde37b077610ca9c173cbbbe68204411896a3df751ddbe90152f8de6c613a2d969cfe6f4225078088655f1cf26120f2bbbf3d954241b07811800f967d34a63ff20adcbbf9ccafe97fbb60f91e562cbc72306c771b0e3842a8afef2dcf0c34a6d5457cf96f338f03a9d765ee2484e7f7b3af9c583b5bc660c875c828ff828786b3c37e5039ee36feedb7f7b360f76cda210b49acdd9b46a73fc875537782a8d0710f491d0b6fa346de099dd32ee99af6817a5f22a1c87088974019414fe7fdead133ffccbb31991e35cd73d6c0742c2c0f7ac6e14da8fb7022291e94bbe74c23353abd5fef11fff91e7f972b99ccfe7e95ecae79f7f5e2e976ddb9e9e9e5e5959a1a6dfe6e66618868944e2f2e5cb7ffce31fcbe5f2c4c404cd51731c2708829ffdec67b76edd7af8f0a1e338972f5fb66d7b7373b3d168bcf9e69b7373731f7cf0c1b56bd76459ce6432b55aad542acdccccbc5a8f837fe6b2024208003c25be3f9af477d2df77f86e88a3084300088e82c0775d0763ac6a8ae77b0707f5422e5bcce6deba7ce9f31b371faeae0b3cff97bffa65abd3595edd3868342746472cbbef0541d2306876e149730087380c42dace24220413ec638c9fddf06118e10820c794fb5d25d2bd48d6352d08f076cb0c45389627ba2a27755dd092d59e1bda3097e2082186a27aa9d441cf3a70cc300421170538aadbe1902137bdc8f4b1aec8494394f5e4be656f347633ba3c9ac988aebf52e93dd872e62646fa8e57b59ca4a224745955d5140f6acdcec6ce813991d02431a32b96e3ed59ee7ec70b02f8f46d1b0840c8611091a7f5b4d7682ea643ccf57c124576480e2cd79050564181ef23e1cb8c0e42000e22cfc151808fb97b01c24110e2c7ab6f43084ba5d25ffff55febba2e8ae2dadadae6e6a6a22874b52bcbb2aeeba669f67a3d08613299a4927c549c9926ab1d5d97c8b29c48246459ee76bb54cc8a2ac15085415a69a4dd6ed37414c3305e39d3ef69d6dfe9dc65870044511404c157843a937c26f36079f5daad3b3dd38c22e2ba2e0e71219fab867b1c4282c04312091c27695ad7349757d6ebed96ae69c55c76726c5492c476a76bd97d1c4527ad4b424844a2b8d5790e6544b0e37901e19f497fae0feba677a9289fcf8a0114ffef83c64c9253021b40a1e9c2ddaebf56ef3fd0a163590127b543a4ba5ee8396b0d18d91624a0138a41e07810746c7f9590922e543a7e48bcd5bacd85be6d5911e190960e6150adb7b554d648204de3972b7bc3c3434652e604dceed91e11d6daceb446fe6c882f6ac2b55dd33431e73a5e84fa11e707fed323b6790425e01a72eadb73ca2b019a7316f83e01a0ef47220ffeddb4319b14208930065470f468d205be4ba2638b0008a048c210478fd31fc771d96c369148288a4208f17d5f55d5542aa5280ac638954ae9ba3e3b3bbbbbbbcbf3bcaeeb82205091be4422218a22c6b8d7eb150a054110128904c7719aa689a2d8eff7efdcb94317b992246d6f6f3b8ea328cafcfcfcfefe3e3dc3f348e1bfecf4776c5971747c58e9f2f5a73f8400849ee742a83e9101c746862f5fbc50d9a90a82706161c6f3fcf5cab6240ae954b25c2ce473d98461cc4c4d260c7db7b657dbdf3712c6f9b37380904eb757c8e586caa5300c454108c3e3d65f18f800008ee3693b2b223f99966b0d3b823a7ed6f2b71b45ffebf67e5211420caaddfabee56f1ae26446353d5cebd98feafe66dbe9f583b174aadef1ab3d33a70a104027ec4e64d43022776b56e8630b479f6f76050eca3cd7f5c284c875dce0d60e9aca26da7d7fbb63951352d948d656fadb1d67abab948ddc17cb56b5eb8fa76591e3fbd52ef6fb7201254471dff4efefd96d27984ceb1d27586d3a9e8f9f4a5b40e6a382e497330644f0ab7a1a0110bc162b5f7ae78aa2d8769fe3b8a4807e941721000202080208a0140b38438ed386e4fc5b51e81ceba9501be55205f5f10d075dd7af5ebd4a777b2184d3d3d31042d775df79e71d4dd3a6a7a729fd49921486e1c8c808388a3db872e58aa228b22cd338846c367bf1e2454551e6e6e6e8dcbcb5b52549d2d8d818c6b852a920840cc3c866b386610441303232f2d24a3a3fed291c537ca1c62dddcdf13c8fca36a452a94422119d02c9830847fbfbfb96652592898880273220c611ad0b238a2200c4f37c8ee3000108410200c7711863fa7f1004a228f03c1f04411084a2204004a998da63ee050001004edf1645315fc8d35c71c7f33ebcbdf2bfefd537fca485b9676e7f407018104d3f0901400846841002d091cb1c214808dd9b068000020042101070ecc9d277c1d11a74e05b101ec65b0008018290101291c3eb4200b29a70b9ac6614d8f6d1471b5dcbc35438843cebce15448a7cefef16f43fbf744655bfd2884008f5fbfd56b3497544681d8958f16550eee595a0455ac388d6a5a46d8410420852259b38f0250a6cec9b27755c201208af73bc74cc553a18201da76c1e9b30625997f8c5634584e36fc5afd3032a7d125fe2f0f9d2bef10a4e45fc139dca68005fb6e629f0fd4108755d372dd3b26d5996c95730a0280ab467c6c7f14826244208d2ff25490447ba40f4180c680a0d8eeac0f7c3304ca692022fd0769678e1dc7871b76ddb1bdd90e836e6c3973edf77d7c78d9ecf73d00fa3e7bc5b04a1c2930ce9be998157e7c7155986e0ab85250980001e13b61ac4abd5d9a8be9ee779b12784aa8d3e96010921127524ea5fab0f3f713177accb3ddd6f70d2be7ed2a2f0699778b57d7f4773113a55d93674499249671a8d060e434992214200c017a17a000f6d30d2779c300c92c9a4aee971532384f2e9d4cf17c600a97c5a695743d104621071d1cb3d0b4518f8cfec58471010d16190e7fc9f8cca6f2f8c6653c9e749b039c97daf747f9365991a80f188030cdf33fdc1afc0a1cc1f84e470b5f4fa83e3b9443211e2b0d56ab94e87e7798e17d00b196230c441188610c2542a95c964445100f0cb7616047ea498fb95c08da46bf7ab9dddaeed04247a5d9e028440e651c910668a99c5a9a1522ecdf1dcd3fb1801044270d2ee7be5bb1c93b17a79acbf634be0c1d485d3d2283c9fc9646459eef57afd7edff7dd63cbd5ef0408425e100cc3a011f9a2289e94331004be94cba40c7d61a26fda8e1f0461f43a545c810020844441d055d9d0545591f9e7a48001cfcc13b98fe902307cdbc5efe0d4fa0d325b5f8325b02008c96452d775aa79f5e2a6fdd86dff94cf68aaa22a7231475e040bff80f806c2f4e871c7f4130d40c6800c5f83fee8f6cdb1052fed5e1cc751299ed359e8928a8c7f0fb2ddcfd3b6742a7afd1af9f9fb551445746ffd890c084fad163ec337a6bfc1bdedc10e44cb9ad0b7428c51183e79ecb102200c2fc6027f22fde130a4f9094fae74c1c0f00d16bf83bbda71684fcc8011c681ef139e0747615f878cc96a9f33bc20f643081c06331e820080c39046111d033895f9e90cdf19fd9d5c67d15e15af7fc330a421d034343a0e96a6f4772c369281e1eb5b7b8fc597c5abdad80973ecffa7f8fe1818be36fdc5dd6ef04f9a7b48dd7fb11e37a33f86ef93fea84056aa8c000001d749444154d3f389f43768fd311b90e19bd0dfc99497c12e78ac6fc5c4078e526762d663dcc7f0ede90f7c4514ea31fa8b9971b07fb26664f826d65fbcf93b98be3798df1713df20fd9d643dc6800cdf92fbbe8a0163ca7be2862fe33e866fb5f81dec8883f9cce028893a16023b56fd96511ec38b20c4b8cb1d234116ecc2f09d75b363b6db20a9c5dc171b7df18297d97d0c2f7afd7bcc157352d0e5989f9af120c3b7a2bf93bc36487627898f511ec38ba6c241fa3b691532ee63f82e17bf719f8b25284ed21c5bf632fc8096e053b4981818be95f5f7554bda279a7b8cfe18be07fa7be20a97711fc30ba1bfa7332003c3cbb0227e0a5132307c2bfa7b0a1b7e9bcf30307c2d8befdb7c8c81e1bba13f46790c2f27153230fc60f4c7c0c0c0f0ea82151660606060f4c7c0c0c0c0e88f81818181d11f03030303a33f06060606467f0c0c0c0c8cfe1818181818fd3130303030fa6360606060f4c7c0c0c0c0e88f81818181d11f03030303a33f06060606467f0c0c0c0c8cfe1818181818fd3130303030fa6360606060f4c7c0c0c0c0e88f81818181d11f03030303a33f06060606467f0c0c0c0c8cfe1818181818fd31303030fa6360606060f4c7c0c0c0c0e88f81818181d11f03030303a33f06060686d702ff1f8c1a01100076319e0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i Design examples of jQuery Mobile for desktop environments, http://jquerymobile.com/designs/#desktop}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The accordions, date-pickers, sliders - everything in the desktop UI is re-using what jQM would be providing users on mobile devices. By way of example, adding the attribute {\f1 data-mini="true"} on components will lose the clumsiness of the mobile widgets on a desktop browser.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 See http://jquerymobile.com/demos/1.2.0/docs/forms/forms-all-mini.html, Mini-widgets for desktop applications by jQuery Mobile.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Thanks to some media queries, the desktop UI can make optimal use of whitespace, expanding component blocks out and providing alternative layouts while still making use of jQM as the component framework.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The benefit of this is that you don\u8217't need to pull in another widget framework (e.g., jQuery UI) separately to be able to take advantage of these features. Thanks to the ThemeRoller, the components can look pretty much exactly how you would like them to and users of the app can get a jQM UI for lower-resolutions and a jQM-ish UI for everything else.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The take away here is just to remember that if you are not already going through the hassle of conditional script/style loading based on screen-resolution (using matchMedia.js, etc.), there are simpler approaches that can be taken to cross-device component theming. At least the Responsive Design API of jQuery Mobile, which was added since version 1.3.0, is always reasonable because it will work for mobile as well as for desktop. In summary, you can manage jQuery Mobile components to give users a typical desktop appearance and they will not realize a difference.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "http://view.jquerymobile.com/1.3.0/docs/intro/rwd.php"}}{\fldrslt{\ul
+Responsive Design with jQuery Mobile
+}}}
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Also, if you hit your limits of CSS-styling and configurations of your jQuery Mobile application for desktop browsers, the additional effort to use jQuery Mobile and Twitter Bootstrap together can be quite simple. In the case that a desktop browser requests the page and Twitter Bootstrap has been loaded, the mobile TodoMVC app would need conditional code to not trigger the jQM Widget processive enhancement plugins API (demonstrated in the {\i Dynamic DOM Scripting} section) in the Backbone.View implementation. Therefore, as explained in the previous sections, we recommend triggering widget enhancements by {\f1 $.mobile.changePage} only once to load the complete page.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 An example of such a widget hybrid usage can be seen here:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000003b3000001a808060000009490b21e000080004944415478daecbd77981455a2c6edf7cfdd9befeedddd7beff7ed8decdeddbd1b5c774d98155159c588615514141141105050144140328a029225486672ce39e7d893677af24c4f774fa7e93ce1fdcea99e196618e2084c7adfe7f93d74559d73babaa8a93ebfae535537ddc4300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc3300cc38c487e28f88c104208b9080ff2ab926118866198d12ab3c5cb962dc39a356b08218410855e91f517fc659c7effdd2e00218490116713958cf93ea91501c3300cc3f4a5f7fb217e1c9f999df5939ffc0477dc710721849011421c8b8fc8e331758ca1cc320cc33094d9ab90d97ff9977fc1dd77df4d08216484a0cc322322b385a757e1d65b6fc5fd4fbc88aeee1bd7b98a3ff889f2be77def5151cec6b320cc35066bf87ccfef4a73fc5e4c9930921848c1094598632cb300cc3506639cc98104238cc98a1cc8e66996518866128b3d752666fbbedb621c8efb75ffffad7ca10b8871f7e18d3a64dc3830f3e883ffce10ff8fdef7f7fc13a841042ae1eca2c332664d66eacc0f6ad5bb155e104da2f58ca89c8be3247a3e1821b09c7e4f417286bb729252a538395e55f7c192f96ca18714696dfb11f5631551d73b4f73db62253cbce28c3300c65f6e232fbe31fff58f92e1b8894d53ffde94f78f5d5573163c60c4564a5d03ef1c41378edb5d794e9dffdee774a99f3eb124208b93a28b3cce896d94e23ce6e5e3e74e7bd7f3afca22bd057b5d3dc844f5e1d5ce6c937e6e3bda7e4ebc988aaf3e8efd061c68d9827cbdffd30f67efed2e0f7b8eb2144d45ad923651886a1cc5e5066fff99fff197ffce31ffb91227bdf7df761faf4e978e0810794b306bff9cd6ff0cb5ffe1237df7c33eeb9e71e3cf4d043983d7b367efef39f0faa4bc8b5e0965b6e51f8be6d705b92b102659619d5329b796a8d473e273f81f046bb322fe1e806dc2f6573f2fdc86af39c710dfce23da5dced539e4395496aaa159bdf9ada2ba65720b392294fa15a27e6da2af0f6d47b3df3de380317fba40cc33094d98bc8ac1c3a2c91b2faab5ffd4a91d57befbd5779fdbffffbbf439065a5e83ef9e4938ae8f6d527e45a20efb0fd9ffff99fc3ae2f470dfcf0873fc4fffddfff717b923101659619d532fbe96b9e6b8f5647ea06cced81ffe69795f9776c4811d3162c7fd653eec3b073e57ada32ae4a66b714f4f4d74d3bb1b6b7ee56f0dc2cc3300c65f64232fba31ffd48391b2b91d7c8cae1c4f2ccac14d95ffce2170acf3efb2c66ce9cd93f2d9167be6439290c7df509b916f864eaa02fda3864be9454b9bfc9fd54beee9b2f7f5091f37efbdbdf2afffe66e61ad8d08143bdf3e572598ffb2a19ad506699512cb33598a908e51484b60d5e92ebbbbe57363f871975784379fd3022065e4cdbdd8ac5572cb30f2068802fa79fa4cc320cc350662f2db3f20c969400891cee268711cbef0e398458228713bb5c9ef13d8b162dea9f2fcfd0cab21229167d6d10f27d5164b670e390f93fbbfb196cfef24b6cdbb6151f3ef333454ee57ef8c6ca6dd8b6793dfe6dcea7f8e28b5578f48119d8f4e546ccf9c5cd787fc356ac5df80a566df9125f6c5d87e9fffeefdcc664d4419965c680ccde03affac14bd2cf7c7a79997537e01dca2cc3300c65f63acaac3c73d577f64adebd58be9e34691266cd9ad52fb27d59bd7ab5b24c0aed5d77dda5c8ac148abe3608f9be782b32bb61d0bc5ffe721a029b3ad052ab424c4212ba7b80154ffd11733678019d764444c4a0cdde25f6d006cc7971a5e8f75870e0e7b723dbe4923725417a4404f4a2d3d4967b0cbf17fb39b733194d506699513dccf8f379539472ef7e5380fe41c0e2c0baf3dde9cafc670e148a19767cf6dafdcaf45bdf55f497b354845fc53063ca2cc3300c65f6ea64f69ffee99f94a19892fff99fffc1e4c993155195af5f7cf1c521db64eedcb98af4cae577de79a7c27ffdd77ff5b741c8f7c53b430b7dc1fa41f37ebef83bb8a0c5aa499384d8de856cb31badc96f6167462b7405a79461f1ff7d284ff49f1af0c60b9f2832bbff7f6e45b6d185e6a4994a1b0bd25b616b4cc49f44596e67329aa0cc32232ab31767b3e7513951dfe02e65fa2eec492a815aadc691d5f33cd7cbdef314d41d9e5fbd130f7de6a977e73d88ca2f15e58ab1f0c95b29b30cc33094d9eb26b3fff88fffa8dca958226f4472c71d772882fadffffddf0a32df7df71db66fdfaebcee9b2f855796edbb66b1af0d42be2f5e426675f96bfaf735657f5b7454c86c1b96ffe427f8d9cf6e5164b625793676a4b7409b7f0cfff11fff811feecf51ceccce9ef1b122b3fbfeeb4fbd32fbaad2eefc5e99bd85db988c3228b3cca89659a01bc5a1fb862e9ffa325a1c9de71aeceec2d12583cbbcfbc916bc4a99651886a1cc5e4799edbba9d3edb7dfae3c8ae7b1c71e538612cb33aea74f9fc6ebafbf8e2953a628afe53c89bc01942c2fcbc9e7cd0ebc391421df0729b32e73256262621462636331eda16710d8d8014d7d191292539561c64ba7df8237d79f548619c7c424a0bedd72519995edf6c9eccddcc66494419965464466adda3ae4e5e55d8206740d28dfe93422bf7f59059c176ab4c78dcabe32d5ad80bd0aaf9d27b3c6d65a65797e7e53ef336a9dbd750aa0779f6bcadc56dffb5e8d83d683611886a1ccf6c9ec3ffcc33f28422a913780ea93d3a953a72a8f479167bcce47def0493ebe470aadbcc6565e33dbd70621df97394bd660ebd6ad83b8e78e9b31e99ee9d8a04c6fc1d2e77ea594fdc94f7e82a7de5e8e4f562cc363fe5580ab122f4d7e5c945b8f5726fd161facdb84d58bee57ca4e5dfc1936ac7a0fbfe23626a30cca2c3322327badb377d5cb787cd6727cbd6b0f6c6ecf55b3f589273dcf9e9d7c0f6a8c4ef62c19866128b3d75466fffeefff5eb9fe5522a5543e9a47de5d535e3bfbf8e38f2b438fe53229b17d773096f3a5c8caeb14e577545f7d426e346f2d0de91da5e649c2e9d5cab0646e1b3296a0cc32e34266aba28fe1a10b0e579e8cb75746a093fd4a866118caec7590d9bea1c31279fd9614597953929b6fbe591972fcf6db6fe3fdf7dfc74b2fbda45c4f2bcfcc4a919d366ddaa0ba841042ae1eca2c332e645689b5517938fd40c21ad9a1641886a1cc5e1f99fdbbbffbbb21c388e599ad19336628d772c91b3d49b195377a926766e5f2071e78000f3ef8e0058720134208b93a28b3ccf8915986611886327b0365f66ffff66ff1b39ffd6c08f27a5939c4580e3b966767e5d0e2471f7d54b946564aee85ea104208b97a28b30c6596611886a1cc0e4366ffe66ffe06fff66fff4608216484a0cc32945986611886323b4c99fdd77ffd5742082123046596a1cc320cc33094d961c8ec5ffff55fe3a73ffd29218490118232cb506619866118caec3064f6073ff8017efce31f134208192128b30c6596611886a1cc0e4366ffeaaffe0a3ffad18f0821848c1094598632cb300cc350668721b3f7dd771f8e1d3b4608216484a0cc32945986611886323b0c999d3d7b36ffa319866146f6bb8632cb506619866118ca2c659661188632cb506619866118763028b30cc3300c6596a1cc320cc3309459ca2cc3300c439965465466bbbaba60329960b7db0921848c010c0603babbbb29b39459866118ca2c33b165b6b9b9193d3d3d841042c6085264a5d0526629b30cc33094596642cb6c5353133b87841032c6d0ebf59459ca2cc3300c6596a1ccca5ff90921848c1d28b39459866118ca2c4399a5cc124208657602c86c7d7d3d5a5a5a0821840c83d2d252ca2c333a6556de04ea4ac8cecec692254baeb83c218490eb0365767832eb72b90821840c03ca2c336a65b6b3b3f3b2e4e4e460ead4a9b8f5d65b3177ee5c381c8ec165dc6ef8a76ad0d13bddd8d886862b68f76aa92caf81e33ab44b08216309ca2c6596104228b30c65f60a6456eebc0f3ef8a022b27dcc99334779a44f7f399713f3769440d727bfd915c8bce61d381b22336bd9912584506629b394594208a1cc3294d926b8ddee8ba2d168307dfaf44122dbc78a152bce95753a14992d30d8502b084d2943a6986f5457e18fbb8a3023a81e76b71dc7f6e662de8162fcf85039cec696e0dff614c2ec74c3626ec45451eec5d006382fb63ef662a835ed975c5f42089908506629b3841042996528b39791d93e2e24b383caf4ca6cb9d58d56414c5a3932c5bcc5df94a0552c8f4f29479cce8e13fbf3d0d2e14652641982eadc686e6cc417452e7c7ca0044da25c5a5605a2b5175e878af0c36833b3134b08219459ca2c2184506619caac90d92bd981a5bc1e3972a4ffb5645019875d91d9b6dee9ecec7264381c78616f1974623a23bd12212d364566351d2ea4449521a2c1859686466c297462d97e154e549b102cd0d82fb00e36038efbe4c0e1e6c184104228b3c39359a7d349082164185066998925b35942665d4e64269462456423e607d6a0d5ed91d9d62132eb42457135d64434625578359a2ef0fe96f64644d73ad989258410ca2c6596104228b30c65d623b3d76a27efeaee84abf7b54bdea444be76772acf44ecea728bf92e7476752b65dc9d5d70bba59cca9b99c83a6e51bfafdcd0b65d2e373add3c9010428884324b99258410ca2c4399bd86324b082184324b99258410ca2cc3dc309995cf8c2584103276a0cc526609218432cb506685ccdaed764208216308ca2c6596104228b30c6596324b08219459ca2c218410ca2c33d66456a7d3c162b1c066b31142081903984c26e5b84d99a5cc124208659699d0322b237fe1afabab2384103206309bcdb8da506629b3d71af9c38aecdcfaf8f8103221292e2e86d56aa5cc526699919659866118667c87324b99bd96a8542ae4e6e6a2baba1a0d0d0d686c6c24644221f77bb9ffcbbf0309659632cb506619866118caec08cbac111b3e7c67d0bc951f7f88760a6c3f723b161515a1b5b51546a3513933c5e1ff64a221f77b79c98746a3414949096a6a6a28b394598632cb300cc35066475666377e347fb0cc7ef29122b3664d29fcfdfce02768327996694a1394e9d8825a655a57572d3a7c59625e0e4a92e3909795a52c2f6eeb7d3e7065b2321d9190ea69df528becb232c48979213149b068cb10205ea7963628cbed268d525ea231d987ac6f6a4284b2aca8a9434c3b501c9e8ed8d8086415355c97ceac7c2c544a4a8a22b2b243ef72b90899d0c8bf83b6b636f17717abbca6cc526619ca2cc3300c43991d5d326baac13b8fcf84a3b3073d8d91f8f4800ff4e509786ad64eb8ba7a70ea93b9f0c96e4549c421ccd89c8cae9e2e782d9885354792e06c2bc6e38fbd0fb3dd8c7777faa2a7a707613b9622b051b4df168e271e5e00b5bd07113be7e0c999a7e016cb97cefc18d5562b4eaf7d17a946f19ec6342c5c7706d601eba54fda84b53e19a23d3dd6bc3a177a9b15fb1e7f0461c56de8ea745fb7eb64cb847ccbebb6293284789037e4abaaaa427b7b3b659632cb506619866118caecf591597966f1d21814991d384fcaacded986cf6e7b08c95a53fffcf0036b11a97379a6f529f874fd41a8c20f619fca33efecfc59486e72c2e1d462eb238fc360ed44a75b4c3724e0ce3b6ec75e95a8a709c7da63f14af9dc806dd853eca9bbfb9dbf20312f11af2cd8d3ff7ebb17bc8ac486def5b299f1e9b48750a2f39c2dcd0ffd12bb8b3c325ba2755ec1e71c1e1d1d1d4aa75d0eb1a4c410e2413e2e4d3eea528e58b85e7f7ba301ca2c43996518866128b3a35a66edd8b3f13c99ddb41e7645202d282e2a42c4d7af61c3f114847dfb290ea51429d78f4aaa1a9b1599dd5fe21820b3f2b50edba4ccb624e1d35d6744d92a64fa6fed97d975c7e2cec9acca714e660b12f1ecebebfadb97b4db7ad7cb6ec6cac7a4cc7aa60b4377e09be25e99d539aeabccca9bdec8ce3b2586100ff26fa3b9b999324b996528b30cc3300c65762465d681e4e3dbb029a1c1d3414ddf8d755f05c161acc757df04c26a77c0d51a8bcfb67ba3a52002f3d60728f39a334ec23ba6e0d2325b7d065ffb6789692db6cf7e121b53da2f2db3cd261cfb64210ada3df3bedbfd2deacde7d6b3ceff43ec8e2c54dadfb1e43dd4768c8ccc3aec36040484a3b4aa4a396b2ba956b7c039a4d3ef44556a241a7423211c5a8484250f9a1714140ff31816a8fc486f649795f76ff3aa2a353a86d14ebbb6111aa30b1de602441770f838659632cb506619866118caec989559a74b08ede13558b34670200a76d9599537772af1f7cc5b73002d3697720d5943ca91de79676074bbd0509888b8464f3b19df1d44b95ebe3621ec8bedb038dc38ba77ab28bb13aada126cf9c21b1d864204a6a894f2eadc30c4f6d68df96e2fca445d7b7b7d6ffb6b9052da029773c0babadd387d6487b22ca6aa43ccb3216efb1768308d80cc0625c232a493df8e7ad1c1572b72db00a7b909d1817ec855d5c32696eb1b6b1409ab696c57ca1bf5cd686cac13f31a946d2ee73589ffb3bef66a1b341ef96a522bf5d4cd1ef1d2b5d643679265eca89743a0eded68ac97edd4a07da0cc865f58660d6df5fd4268b57b96b5d5577bd6adef3d348d62ffa9454d9df8b7ba0af56acf3a684d9ef2ba064f797593de7353208328a7d5a25a7ef6ba56187bdfa35eebe85daef5bc67b55aec5be76d37871d35d59ef5d19be44db6ac68a8f6bc5f8bb9a3bf5c41942feaade7dd844bec1f7535d5a817fd40a57c9b0135bd9fcd62f39469a9f54cd7b7d9cf93d9424417526629b394598632cb300cc35066c7accc9261c86c600c9a753ae87ad19be4f22a04f884a0c9da839a9460a43475222d3c10cdc66e18ea4a101c9b859eee6e644607a3a2d188dab22444a694a1a7a7bbbfedcaf418945b5d705ad5882bd4a3439d8fb0c46251c681f4401f34b499519c190555a32c6f41f4d9b368b7542330200e1d3d3de8bc9cccea2a101a9ba3dc94aba72603c9c53ab4956723324d859e4e3b12827cd1a8ef4049760c92f36bd1dd6d47ac8f17d2d506581b54088ecb82c5d002ffe42aa58df48840946a85205727c2db2f121dee1e6444fa2126ab1c9df60ef87987c3e0b022312c1475961ed89ab211105705c780b3d72d19e148ad7489f65a101e223e87a31d915e7ed0b8dce872bbcfc96ca40fca5a5afbb7b94e6f1022dc81303f6fa456e944dbe5f0f20e44bd582f436134526a5ad0549687f492567409f10ff4f1479b456ce3c278e4d5516629b39459668ccbac722027841032eaa1cc5266479dcc0625c23e601fedeeea5464363ab54629a3d56423b6d489d4b00034e85d284b0c4791be57ccb4f9084fa9526436b3c63d4812b4b51588caac46536a20aadb8dc8490881aaa9b74c4b1a2273b41794d9e8e4caa1c38c2f24b3ee26847805a072c0fcece85054187adfa3351d9159ad8acc1635c8791d8acceacc6299a81b1d9906b7bb0b5d9d62ba260b5ee2fd0b1b3c321b55ec390b5b98122ae689ba763342445dad4ac8727685a77dbb05a13ede6833f6bebfa51541fe21b0393cd345696128a86b47b49c671f2c50f2cc6ca3d3756e9b7777f7cbac3cd3ea32aa11dcf799355988c868406767173add2e98f3237156ac6bab81324b99a5cc32635c66e50150de4a5cf92555af278410328a91c76a79cca6cc5266479bcc0e1d662c65b6da23a52de7c96c5218b26adb957d5962305b7b65f6fc21b71a44874723c12f0046ab0b398952663dcb9c6d1988ccbd98cc569cb72e0e44469d27b39199ca75bd0e5b87b20eb9115ec8a8d1233b2644c8e7b975335aecbd32eb1a2cb3ae6645668d759908cfd68ab246e429e2ea91d9e862fb0099759d93d9926c84a614f6b72fe91f6adc3158668bd32350507f71991d32cc7888cc260d92d9ca9c5864948af7d4eb10eeef4399a5cc526699b12fb3f2d958f27971f236fb841042463f46a351e958506629b3635166eb3436686b0b119556ae2c6bad2a82aaaeedc232ebb22bd2e61f57a988677b650e6232ca95eb4855d181a86a35a22c3b1e69c50de83036c0e7a232eb426e52248a1b75caebc69268245534c3a56f444179ad32cfdd9c8eb8e23634956420214fdd5b2e1ba5cdc64bca6c7b693c521be4f6d02026d007b9d5e64bcbacd988c4a878348b36ec560bb2b3f360b69f936e754a188aea64dd36c486c7406fbb76325b9c12a90c83b6596ae0ebed8566bd9d324b99a5cc32635b66e52f82b273241f844e082164f42385424299a5cc8e0699758af9793959c8ca3a47764e01ac8e569454796eda6436a88514baa011e29a95ab4287db8dd6b2dcdef2c5e8e87443db5c819ab6a1a2a0ad4a86cad83becd7dd094d65a1522fbfda04b75b4868673b0ac5744e41014ac4bf169b0625952d43dae9ecb4a224b7771df3aa445b6ea5bdb6def6b2b2f26075ba459b9d6828e95bb712d8c5ba35a94b9433ca2e970da539d9305b3d37b82a5155c161b322275b96cd15fb581d0acad4b0b495a3a4d133ccb8beb2c8730767871505a2ae49d4b5691b7bdbcf41a3580ff780f5743b1dc815e5e4f2d676bb72c6b924af00f6f36e1455af1abccd655b6a830d45b9393076c8b3bc6d2828ea957a630d8a6b74b0ea9a95b23979c5682acb17eba8476b7d19eaa4e05aeb5152cfe707536629b3cc189459760e092164ec207f80a4cc5e3f99ddb7f81ebcf8f2cb78b98fa5dbd13e8c8e5ff8864f91d3ea802ae25bec291abf327b3de930b7a3382561c08d9c08a1cc526619ca2c6596104228b394d90b7260cdeb68bb861d4055c461ec2ba1cc0e87ceae6e747775519808659632cb506629b384104299a5cc0e4b66cdb578fbcefb702c360f19a73fc353333e42b24a8590edef205b67863a7c13f60626233fc10fcfbfbd0716bb0367e6bf8ee4a67332db5e5f86768b7d4c7766e5be575151a1ec879418423cc81f77d46ab572833eca2c6596a1cc124208a1cc5e1799959dcecbb17fc593f8cedb1bdebd84a716c06e56e3bdc79e84c92a6454978c0fd7ec8743946d2e388acdc91a5424e4406b73a030ee5b3cf7e8133074d87156ca6ca35dc8ec21ec53d9afe8bd473b72ff4b4949516e1c498921a47738bc381ec7c5c529ff8e87bff38b41996528b384104228b3a35d66d7bc0ecdf9f385cc2e99f6148c4252edda647cbaf1a032bf29ff28b6a46890f6ed0a2cfae4731c3b118a258f8d5f9995c83ec68d1c6a4cc8683f2bdbd0d080aaaaaa712db2945986324b082184323b4e6576c9acb5505bed30d666e0be479f5086138f5799951416162ac38de563a2e434eff44c261a72bf97fbbffc6147de217abc8b2c6596a1cc124208a1cc8e05995d742b6ebbedb6013c8bd4a64bcb6c7bea2ea5ecccc50711b7f66e1c2fd19d27b356042d9f82f832edb8e9d8ca7db0a8a8085e5e5e844c48f2f3f361b1582684c8526619ca2c218410caec18905987d309e779381c76e55f4f1987f26c55e5b57296c6f3af525699f69457fe1d50a67f9a104228b30c4399258410ca2c65f65acb2c218410ca2c43992584104299a5cc1242086596614681ccea72b175994ffff4d76fed40dd28eef0f96df918afbcf106dee82520bdea8aeba6fb06a2dadc8c77efd88276769e09219459ca2c2184506629b3ccf893d90e8b0906830116ab677e87c52ca68db0ca72d60e984d4698cd16988d66a59cc9d2a194b3983df50c66ab98b6c222ea197b979b94f9164fc7adb7bd8ef33b741d16a5beb9c353df6432c168b40c90d9fd281b52c7ac3c1f4f593fb16ec601f59575513e87e8285a2cb00e9059b3c5c24e342184324b99258410ca2c6596193f32db88fdef6f87aa30072fac0b86c9a6c5d17d5fa120391c7fd91a8b8ea650acfafa04eaaa32b1f0b9b950151760c64b3ba1b1a9b16dc53aa872e271e7a3aba0b53463c192552850a561e993b391a75261c5cc35a836ea7172d71a146525e199b56130f7af8f067b66bd8682221516cedf85265d1e3e98bb14e5e5cd1e895664f6433cfdfcf378be97e4722d8a82b6e39dafc29197e58597971f11edfa60f3b640a8b37db12a480555d8666c3a9b81c8bddf423540669b5a5ad8892684506629b384104299a5cc32e34766db11be6f1b56ae5c09efc236d8344958f0e2db62fa43bcfcd032e81b42712c2017367d313e9b731036ab19ab9ffa122da27e5ee42951ee23bc307911344266779ff012edb6e3c4aa5794f6a337be848cf22c2c78fa4d516e0566dc3e1f4de6de75692bc66b8bbc95b3b5a1ab1721a32a0f1b969c386f98f1d033b352664f95da60d295e28bd82a458a0feede069b458b83e233ac5cf91eb61d4b1a22b3ec40134228b394594208a1cc526699317b03280d762f5b0d83f2ba090b379d8149085f52640e6ca6363c3a651334ed45d8bf5b4869871e3167329533b35ea1058accae9b7bfc9ccc36c4e0b3cffd60d65663eea564b6a61cbb3748093622ea44dab933b3e63ad1cec7305b6dd8327b3d2a5af2b0e503ef61cb6c8eff2e44eb6c68ce3d801d945942086596324b08218432cb8c2799b5415b9e8c59b3662994359b957969fe5f88e93908aed02ad3d93e07c5f4bb486c15753429884eae80cd50856f37860929b560ffb21368b3e9f1cd87b3307ff92788d936072dc6367887478bfa4684ef5ba5b4937164258a441baa98d3a2bdb711d538f8bad5e6223fbc21d6e3846cbfbd0cdf7d1d336879dcb12ffbd755f2857f1a2a134f22a2c606737b0d4e64d58b723a04781f476b658a52669d5f22bc22e290e613802a8b065bdff80e46d1d6a9c04076a209219459ca2c2184506629b3cc58955942082194d9b12ab3dc7f08216478506619ca2c218410ca2c6596104228b30c4399258410ca2c6596324b0821945986324b082184324b992557b81fb6b6b62a1d5c4226222d2d2dcadf01659632cb8c2199351a8dd0ebf5649c22f707d94966478d10ca2c65965cf466905a2d12131351545484eaea6ad4d4d41032a190fb7d717131626363a1d16828b39459662cc8ac941df9076c3299c838c5603028076876d608a1cc4e5499ddb3e036dc7efbedfd1c4cac1bd9ff73b3168f4d59885ae3e8d8ff2c160b32323294ed29a5567e6fc81fba099948c8fd5eeeff0d0d0dc8cdcd85d96ca6cc526699d12eb3b25db7db8d9e9e1e328e696c6ca4301042999db032bb7fcdeb687338e050b062e3b28f91a31b4999d5e1b18717a3ce343af6bff8f878a5032fa5566e2397cb45c884c4e9742ac7e2a6a6268487878ffb21c79459665cc86c77773798f11d7950a6301042999dc832ab1930bdefb3e5886bb621c7672d7cfcfc70facbf7b0d33f5748660b0eae5c085fbf00047cbb0a1b4ec7a222e534d6ef13d3010158b4620592c28f62d1915c580d2d9872ff64a4abdb5116f2053606d740937f1aefee3823ca1ec2eaad67c57bb561c3bdcfe2908f3fcaeab538bb75350e8976ce7cfd09264f5e2064d682f4ac9c11ddf7e47e278756cab352b2234fa121c4a58c6c53a954e3fe3e3494598632cb5066092194d9d12eb32ba6e3d0c99338a9b013ebbe0985d3d18ed83dc1e810cb63027660e98603b019aa306bca32d408c9b409b173bb9d483ab313078284bc8a722e77279cedb958fcce26b43715e2d0f1dd084cafc1f1f55f20dfa8c5f659d360e890efe9c0771b3f4244431bb64c790c3a9315b68608acde76160e2990662d1e7960c1a838332b87525656562afb202586100ff26f438e6a933784a2cc526699b122b39d1dd069b5caf502129dde8c9e1114309bc50c77df845837abcb3d7a6db1cb3e68db69b506745d715d07cc1d76743a2c70506609a1cc5266afc399d9596817df75ddbd389d76d8ac26846d7d1dafbd3e0b51a97ef874e3014542ad866abcfde62cfce5c9071090df0a87281bb6711666cd9a8585dbcfa2bdc301ff7d4b50957d02f5c6521cf14bc1faaf36c369aac5e2a9d3a0b378de3366e72a7857b561dbc34266cd36e832f763ed3709a36e98b19459795f05bbdd4e8921a41739dcbeb9b999324b9965c694ccead391d5a8bd64dbcee64414892fea1b91fcf84834f77fa8746436b48d5e9935ab109f53f1bd9ad057c4a39c324b086596327bdd87192b680af1e7a7f6c322b77fe949bca1c8ac15168be7eeef2e7715b6ad3f20fe6f3a94b3b2729ed7bbb390d460438eff096cf8f2cfd01aad98b7fa5d7cf575306c7633bc963f865683a7feced52b91ae3f27b3367d1a56aedea5b4d5d1de82a90f2c1cb532ebb0db10e073165e5e5efdf886a4c37ea16b0c2b52d0a01b19e1880a18bc8ead3ad3c84a90be11be41d1b03b29839459ca2cc38c0e993517233d250abebebec8aed621eecc7738e11d02a31b68a8c810f38350af942b455c7828920bab956a3da2cdb0c4328f00ebea1197d70218f3e02fda4954891a2e3de262729433bf19b12930db9b101d1e85d0a86c745f4a668d75caba0486c4c1ad14d422424c47a7148937ed42625c324202a3915b9881b4b450f8f907a0c3d105e8ca957abe41914a7365e233454789cf159a04734386b2acdde2946f8428f13a2c3a67f05969970161b2be6f182c9d4045613aa24342d0784999b52223291621a25e504a2d12c383e01b95a72cd1a9623ceb1327b691ad0e19055594594228b394d91b29b3b60e24ec988d175e7811bbbc13b1fc8d99c8d59a9171f633bcf0e28b78f199f948af6f875e9d81c7678869316ff39914457e9bf3c3f0c8e3bb94d75fcc7d017e795acff5a7ed3578e6a59745d967702ab91676db009915b258977a064f8ab65e7b7129eebfff3d21b35a6cdebe6b74ca6c50223adc6ee526917d0cedf43b911a168006fdc808477468140cfdeb67434450085a2c94594299a5cc32135666235233fb1f1c5dd968168d6528d703c1a2464058c6b933b38e7ac4a414a0db6582d7b15038f5d908ceac19b0163d480ef045ab1da82d4884ca6485d7fe33b00aafcc890947ad49033fef044518a37cc260b0d6c03738e9b26766cbb3a390279cb6b3bd1e1d9d5dc88c0845a34374688ae2502a2c33f0c44968c47b96a60523a3c985ceba68e41b3ba06bae45bb98afaf4e44b20ec80d3b83728d0d4d15a908cf17331c558828d2a230310a35e2e3692b1350683a3750b841158f428b7861ca4162950605090128d40f3e331b141e7feec1dbb572a11961c17170c189a86387a1b777a2202e18e50627eaaaeba4f123fcb43734ba0a45c629b384506629b3572fb372db5d0e87d309db05e6db1d4ee5a64752de6419bbcd0a5bef3c893c532bcfa4f64dcb727d7737753a1d9eb61db29eadbfcdbeb29e799e76fb9649a1ed5baeb46f3dd7ce48216f74733199b50ce9e4572224380c79656a644687a2bcb90531417ec82f6d8249d782f8a868a8d53588888887a6dd8adab26444256488be46331cbd6d142444a345b96bac1e51197570e9ea111f972cea55203c3801468b15c599515035caf216449f3d8b764b35c2822251aaae8771a0cc8644a17dc0744c48101a8c2e1465a689f6d4288cf1477ebd112e4b0b5292529479eab45064951b505b9c8cb43c315d5986c0c87494a7c521bfaa19564d1dbc7c83947da324251225e2fbbcb53815d199a2ac3a0dc95915e2bd9a11e1178c62752df4e2ff31233a5abc568b7e4b0865769cc9ac6424ff3eaf37945966fc9f9915329b51a7016cf5081928b3965278fb0422292909c929397009994dab6c1c7ccd6b7d1a8a6a9a9199940ab8cc387c3446881d50961e85e2a6a1321b1e9b3ba87e5172346afb2e936d49445ea3904e742047bc677cf059689c5d480cf64594984e125f52358acc86403a67695a341ae4a5b6ad89281032aba9ca40446c12a223fdfb65b6de249aadca42629d72ae14a1b96dc88e0e4084d25e322acce76e8c5593158556e5553322f39ac59771149a2e3bccd88ca8d84cf1af1b89678ec0ea926784c3a06ab1a2302d52bc4722ce1c3d4d9925845066afb3cc9261c8ac7f30b2727395e76d4a8a6a8414baaa101e5f0ab7db056d6d0a624bcf9d99adca8d45668d45a9dfd99085b8c25a21b349482db50c9284a6ea5c2415eb612a8b416e633b8ad3a35154ebb9f954674d3c6254da0bca6c445c31dce79f990d0e46615919ca14929051502bcab4a3b2aa1e2ebb1515795188c8d6c0d52eea47a7402feb7576a1abd38dfca46814366b9476bababad0a92d42547a3934b5c588494a40b5dd81f8b008349b5a1119918c4eb77ccf4e248405a1ae5df40542933ceb539b8c84b236e5b5a5ad81324b99a5cc32cc48ca6ca2aa123a9d4e41af6f478ffe3c99d5a423a2b801ee2e2b1213d2a06bad85af6f0adc86a1322b9318e58fd402a9952e249efd0eb5cd3ac48747412fa4344a7c41b56975f03d1e70419935a88b111e9725d6a51521a77da035bb5129a432b34e87a68c4054d89da8c9155f86553a54e4c6a1a1e7e2329b12128c0af19952fc4f22417371996d2849417a990e75c5b150779d93d9b6fa2c441488ed92178c7c8de182321b9194d3bfed24eeee8bc86c5503bcfd63a06d6bc3d9a3c7d1aaa5cc124299a5cc5266c7c299d92a44a7562bafb52dd98364b62c29044111318889f1905ad8a0c86c66cde036dc86068446a6222fdc0706b3033989215035f55e7f6b2b4474ee8565363ab9e282c38ccd039ea92e25db65b720232a44ac433cd4ad69889432eb72a3bdb55259af60dfb3a8d7d9d0d9d581ac8418444745222cb35508682712e333509e978266432912aa0d088d2f12eb5b8d90c8b4fef7cc8809464d5b33a2235295695d7618b29ab51c664c99a5cc32cc88cbac1c1c3ce04b4132307d93e7e60f2d737e322223a019d446cfb96b51cf7b9f0b36d55f0643d6f142d303d7edbc86fadbe9b9c89bf55ca4fd0bbfefc5975ff0339d576f48b98bb449992584324b99a5cc8e0599adad484666b5e739b572e8b41c467d219995829a14e80dafe00ce58652557949c8add47bdeb7381a89d53aa832a3c5bc76b86c06045c4a66cf1b66acd05482a8cc62cf7aa862109edd0a971c22defb0cddaeee52448b79ca3a4ab9767720d6c71b3ab30b85a909088f4f80dddc0eefc00024560811769b101f1927ca7bae118e91f7cb309f935997260b91194d4a5b96965aca2c659632cb302329b3d72e3d48890a415c61151ff2cae7cc124228b394d9b126b3f26688e1e108ef2522321e16fbf932eb4279721882c2536074d8511c17a4940df28b40b3d57e11997541531a87e4068f5cba1c36a89222443dd14ea2da73bdb1558d30ff2044c44422e26a65d6694776b4673d526a8c080a0843abc986b29408cf67090c82c6e280b5b61081a1623a2c4c08b45191d106551622d20ae1b29b10e4ed8516bd67f8b3bdb5067e81723b04a2bec5a45c33db2fb32e379af212102cda8a0ae335b39459ca2cc38c13996528b38410ca2c65762ccaac72fd6a67e710a4b87576f6ded5d8ed56ae2375f72f3bf7ba7fdadde919fa7b9e28d4e5c6c33a607e7fbdfe3b26bb2ffebee7ade38544e45c7b9e32ee0bac9bb2fe03ca79d6d7ddbf0e83db760fae7bdefab8dde7af2f6590324b9965981b26b3f2c6070c6596104299a5cc5266af379afa52945436519808659632cb5066bfbfccca1b15c9ce80fc1223e31379b0928f23a030104299a5cc920bc96c555595b21f5262083927b38d8d8dca736629b394596614cbecc08e1419bf501608a1cc5266c985b0582cc8cfcf57f63f4a0c211ee471392f2f0f068381324b9965c682cc124208a1cc52662726f239b2f20c94b3f78ebf844c64e4df8156ab455a5adab8ffdba7cc3294594208219459caec9846ee7bd9d9d98ad0cacb5328b564a24aacdcffa5c8666464287f179459ca2c43992584104299a5cc8e01a12d2929814aa542616121211312b9ff1715154d0891a5cc32945942082194d9119659b9dd0821845c3d945986324b082184324b99258410ca2cc35066092184324b99a5cc1242086596a1cc5e0e632d0e6eda844dbd44e6d7dea0ce9b1e51fb4360652796104228b394594208a1cc3294d9ab96595d2eb62ef3e99fdeb26421b23537a2f3d68cedcfad4387959d584208a1cc526609218432cb5066bfa7cc066d9a8fd4263302762ec28ce79ec51dcbfd60b69ab077ddbb98f1ecab3852a815e58c58b9640e663c330bfee51a04ad78040ded561cfcf04d8454762023683b9aad7a7cfee62ccc787a0ea22bb4a8c838864d1fcf407871353e5f3e07cfcd9f8b75bd32bb2b30999d5942086596324b99258410ca2c4399bd3a997df98ec9b8e79e7b14b6f865c36ab3c26c3489e5267cf5e8fba8359661f3aa5d62da0a83c922fecdc7e67da1b0593b603477a0bdd20b05755a8405ecc2a988129c5cfb06cc6a1f8417d68b3215d8bdf2382ae20ec3bb5ebc9fea28f6479588f98dd8c633b384104299a5cc1242086596a1cc5e8b33b30a86727cfdc90ea4a52563e5438b85ccdaa05157202dd60fcfbd75066651a6b1b40869e147b0704d382c8606ecf13b8dc8e44284ef5a8b453bd2612e3f8e6855a3684f8d7d6b0e0a993d812c51cf9cbb0f0762ca38cc98104228b394594208a1cc3294d96b2cb3ba527cf8e63c6cddb6191fffe5599437d762c7fab5d8f2f9e7f8ecdb0c74182af0f9e7ebb165cd1aecf42b84adc384d5b35f4266bd05a7b6bd8f532a23ac965aac5fb9015b56adc2f198f27e99b5d95ab067dd5aecd8b30d8b7b653638bd989d5942086596324b99258410ca2c4399e5a379082184324b99bd14168b057abd1e1a8d060d0d0d841032a6686d6d558e61f25846996528b384104228b3134066cd66b3d209acaeae86c16080c3e1404f4f0f21848c29e4b1cb68342ac7b2969616e5d846996528b384104228b3e354666567afaaaa0a6eb71bddddddec101342c63cf258d6d9d9a91cdba4dc526619ca2c218410caec18915939c4ee4a90df8d4d4d4d4aa74f76fe0821643cd1d5d5a59ca1d56ab5577c5ca4cc32945942082194d9512eb3269349198a273b7becf41242c633757575ca195aca2c332164560eb9aaacac4479793919a754545428bfd4511808a1cc4e54996d6e6e86d3e95464961042c6332e974bb9411465969910322b7fbd91fff28f7ffc2287d4c90e1f858110caec449459f9a3adfc0ee5f7012164a2202fa990c73eca2c33ee6556b62b872430e33bf2a046612084323b1165565e3f26bf17e50f7b9742ded9b8adadeda2c8b31d976b8310424603f2d28a2bb9769632cb506619ca2c2184323b8a65560e3196db56dec1f862c832f2928c4bd1771764420819edc8ef952b196a4c996528b30c65961042991dc5325b535373d98e9fecf4c9fb475c8e4bb5a10adf8b4993260de2cd757b6f6007b60853c47b4635dcc84eb31327d72dc2cdbd9ff785655b2912848c12e48f7094596662c9ac3e1d3e4121888e8e5648482a44d7796d77dbb5307576dd1001cb8f0f4450efba44fb7ba3aadd7e43deb7a122153906ca2c2184323b5e64560e11be1452662f77665672a93654617bf1fbdbef86d9e9b966cd587002936e7f02adbdcb03cf1ec1debd7b915e6b81cb6943e4d14348ccc9c24931cf37a4081dad7938205e67576a94f27643b3525ed228beff5cd65678ed3d8cc29a7ca55c56452bca52c3c5f2636856dec323b34783e3953a87529bfbd72d3de294322facd4a44c97440622383852cc3b8c5253ef67e8a8c7a9bdc79153902ae6ef4799d684ec305ff1da0b9ade76cc95714a3bc783e294695b5b326efdf5dd88add4a3cb5c8aa9937e83fd15aecb6e6f42c8f58732cb4c4899cd6ad49e67af4ed86d56e52272bbab0b86aa6864b5e8d0d503b85d7631df02776f39abe888d91caefeaa1d36a7f26f4f971b564727d0e58045b46373bae54cd1797328cbed561bba7b44990ed199b3da07c86c249acf7d2a8467368836dccaba98c51fa07c50343a9dca747fbd4ebb326db53bd12dcadadcbdebe6102fba3bc57cd790f5e8e8909fcf869e4e87e7eece45499459420865761cc9acbc93f1a5686c6c5486115f8e4bb5511cba17bfb9e55644c62522313111c736cdc7ef1f9b0bb7c38ed0e5b7e3a1c79fc5abafbe80871e7c1eed761316df710b26ddfa105e7de109e5ace61dd35ec48bd3eec0a46737c3623360e38cffc3d3afbe2aea3c836973bf81c5588ca744b95fdef7345e7de601a5cea3cffc058fdd7b33fef87e34ec4e8fccdefdc83378e5856730e957bf45669d01e97be6e08e7b1f17edfc05f7fefa7728d598e1b5702626fdfe0ebc3a6f390ceedecfa04f15323a09b73cfc2cfe32fd6ea5fde9335ec60377fc1633b6a6c1d65e8dc9bfbf132f8a757a72ca3df8e0a80a4eb7e751472e97fcfc5fe397bf998c44bdf3b2db9b1072fda1cc321352668f1e3e82a3478f2a78c58bf76ccfc0a9b07c385b4ae01391858eda38e4e94de8410762e3d2d1d1d688ef0232d165c8866f7c29dc7d676d7bba1172261c66f1b2b52a1b096a1bc28f7c8b3693134921a1687368e0e79d20da01a27cc260b0d6c0cb3f467c21ba2f2cb3ea18a4d6b5a12a370a69b54e18f3fc91d868475e4c182a0d4ea833c261401712bd7cd16c71222f311a3a632b8e445403b5f13815510447730522f29a117ef4107466271294f568c19993be7008b14d0b3a8bca362732834e5166092194d90926b3f239b497e37232fbf39fff1c37ffe10ff8e5fffe020fcedb24be0abbe0ecd0e1ce3ffd76d0f0e32f733c32bbce27074e63a190d4db10d4d60977d15762f91cf1b962870c598e2a2b12e56e55ca39db8271c7a4e92830b9107ff81dfce14f5b615164f6178869708befd276acfedf4958165285f9af3c34a89d6541958acc3ebd74d3e0cfa0c8ecfd88d777c2ac3e81df4d7a113516170eaefd0b9e78f1300cc92b07b533f9cfcff7d72d3db318bff8e5af71a2aa8712410865966146d1995921b329d52d80ad1e216119703627a2c862032ca5387dca0ba1a1413876c80b765d3692ca1a06556d4e0b4465b31545290942164df8f6589c7216b73c230a450d436536343afbbc61c66128101d8c468516b8e56a3a35880e0d45709017e21a6c30eb4b10ec1f8aa8a44c69d0686fcd4548602862b3c41f678f1501470390191289e8f814149464a0c268c4a1e3f1ca7a94a5474225daf5f38953decfc737160e0e3326845066c79dcc3a1c8e4b72a5327ba9368a42f6e277b7df8576ab1395219f63d2ffdd8c83e93ad88cadb8fd0fbfc6c1f06ce571789276ab11ef09995deb950987a1104f4eba0f39b29dc2ed8acc9617fa62d21fa722bfb7bcc4dcee91d9801651ae55caec6ca8459dd8c3f31499353ba4ccfe1ad1f5727df458f31b21aea19598f3cc1d58ba27b2bf1dadc50aaf776762f6ca93833f834ecaec7d886d73c0542d6576315ac4fcfd6b5f5264b6e6e46b98f4f44654f4b6d3d8dcdc5f77effce7316f95afe8403b2ebbad09213706ca2c4399ed95d98c3acd00994d407a9b905957336292f29521bb8539e5ca99d9b4cac6f3d6c484d4cc6424a51503dd36f8ec3f898e4e202b2a0cf5763d024e87a25bd86cf0e9204566c36373cf93d981c38c3dc98b09468d53c8594128e285ccaacb543008336d4c0f42554f374af38b6015ef51181d04a9d6dad4d33815528436551abcc292c57a58e173e0945226233214f5e616f8fb262a6d47fa07416b17929b1a429925845066c791ccdaedf64b72a5327ba9368a42f62832abb7d8e1705ab17bd1d3b865ca1bd0d9ad0858723b263ffe0216bcf9226ebe6f0674b65e993d9b017b7b8190d9fb912fdb29f0c86cbd4d8f754f4fc223331760c1cc4771ffec1d3019fa6456945364f64dd4893a31877a65d65ea80c33be77ea0b983f4788e72f7f8782c67624ef7c137fbcf7612c787b367ef1abdfa1b8d988b38acc9e18fc19fa65d60e639594d9f7d12ae62b32fbc221580d15b8f377933073ee023c31e5362c3950d05f37e2e097387826ebb2db991072e3a0cc32134f662d1588898a42542f31f189709b2a51a935024e1d72f22ad1e56e475c74140c42fa5a6b0b45b918945b445d6b35ca5bf443d62539c40b15c6de0973a9d27e56558b32a9294c54de273331171d0e0df28a6b06d555ab0ad07e5e7bdaba12a54e8aaa0e39f50ef161ab94e9a4cc624f014d91329d5eac5626bb8c25c8525b01831a6945d59e11d0e612653db2ab5b01b7019919259ebad65ac48af9a9d979a8b15266092194d9f120b3f22ca2dcb6d75b661b55a9f872e737305b3dd3cef60a6cdebc19014506385d6e1cdfbb59994eac11eb62b32060e75788ca57c36e69c491cd7bd128db694c1465bc8400db61d1542ae525f57a9b28d724caed40b1f802b61b55d8d95bae3cd307dbbf8e4787bd09fb45d9e88808a58e9fca0c8743ac87cb85c8e39e76fc8ac53c5127dfef34ce86e50cfe0ce61a1cd8bc071526f1de6d39f87273108c627e6ad4091c3a9ea99469493da0b4b3e74c185c4e477fdd54df63f00b575120081925c8ef1479cca2cc32134b66af71ece20f292a2683cfc5a1cc124228b3d74d66959b025e82969696cb7e2fca4e9d6cab6ec0b0def3696b6be3be4a081913180c06e5f9d9973b3e526619caec25e2723ae1eee2336c29b38410caecc8c9acd168845aadbeecff81bcc6ec52375391673bb8af1242c602f27163f2d847996528b30c65961042991dc3322b916756e53626849089c0951e1b29b3cc9897593904410e4560c66fe4f378e5fe43612084323b516556a7d329672ae436268490f18c3c81212f8ba0cc3213426625b23320ef7846c62755555557bd4f104228b3e34966255266a5d4b2b34b0819afe8f57acfa3bcaef0b8489965c685cc124208a1cc8e779995c81ff75a5b5b95d797bbcb2721848c25e4d9d8cacacaab3a26526619ca2c218410caec1891598956ab553a7cf2bbd26432295c6d1b8410321a90c72f792c933fd45de9d062ca2c439925841042991da332dbd70194c3f1647dd9092c2c2c2484903185fc514e3e235b5e3e31dc1fe528b30c659610420865768cc92c218410ca2c43992584104299a5cc12420865966128b384104299a5cc526609218432cb5066092184506629b357781d2d21848c0528b30c659610420865761cc8ecf7e9101a0c0668341a14975560edc133f8f3fb5bf0dfcfbf4f0821a392298b3660d5be53282c29538e5df218f67d8e81945986324b082184323bc664d668342a8fb1f08b49c6dc6d47f1f6ee602c3f918ca527d2b1e8442621848c4ae4316ad98914ccdb1382b7b61ec5b1e018456ae5318d32cb4c48998d8d8b838fafef05d97fe0c0b9b2161dd2636210d34b6583f63a74e83aa02e484587f53a7416cdad4815eb9d9496c98e332184323b81655676fa9a9a9bf1fe8e63787dbb0f969eccc4ac03c9786d7f1221848c095e172c11c7ae3776f8e3dd2f0ea3b1a96958424b9965c685cc56abeb101816d34f68543c72f30b07cbacbe101b169cea9f5ef0fe0668af7987ce80532b9e85b1e3da7714bd3f5d8ce85a1b727d37e1b4ba839d674208657602caacececb5b6b62a9dbf770f4461e69e04bc4a08216314790c5bf86d2c5e59b31b2d2d2d945966e2ca6c767e09720b4b5152518ddaba06a84a4a2f29b37b17ed825afc5b9de18369d3a623aaaa45ccd7e2d4ce8fb068da343cb93b0f5fbd3513d33e3ca894af2f0a16e5a621b8b05e4ceb70faaba55822a6a7edc8c69e456f60dafbdf786476f1144c9f3e1d0bf7c528f54a628e8b7acf21a5557ca6b6746c5cb1084b5705f6af47c6918fb171cd1a4c7bed3de82b7cf0b468334aa511cb9ab046bc7eea99bd308a721aad1e56f16f73592c36a45366092194d98928b33a9d0ede11f178759b175efe269e1042c605b37704e2586014b45a2d65969978325b535b8fe2d22a456a5b351ae5cbbebaa66688ccce9bfa12962c59a2702649059bb10a5fbcf7356c5633d6beba01f5a6367cbd71354c36238ebc3219e51a33a2777e82e82a35b6ccddacb4b3f9ad4d509bb4f8e6f3e5a29c09c7674e466193090907d6214c6dc0b10f9e84c66c45dad76fe2746a26befe643fac163d3e7a761d9a9b12b161f39941eb9fbc7b01bcf3dba0cef4c1878175b09a4af1cd9948c41fde8f549d0d6de55e08c86b50ca1a6b73b078fe46456ed979268450662796cccab3b20d0d0d787dfd41bcb63b0e2fed8825849071c1cc6fe2f0fceabda851abaf6ab83165961917325bd7d0887a8194588bc5a274a89a5b5a2e7c66d66a41d8562190196a31af18ef3d311f3b76ec109c45abb90ddfee92d26a86f7c2c9a86f97674e3f4288aa0c8b1e9dd75bee345acc5a1cdebe4a94b3c06fd1645409e9cc39b5067e15e78619ab833ec1e984782c7e6e516f3d6f689b1371604ffc10998da9b5a13e2f105fe5ca79cdf8e66c30c2c47aac55eaed446a4d9b5236fedbc3c86867a7991042999d88322bbf1b3373f3f1ec466fbcf0553421848c2b5efa321871a919d0ebf594596662c9acbc114653539390597dbfcc4ab1bdd430e38f3f588982260d82bef9107171b1d8b8e404b4b68bc86cb511a1bb968a7271d8baec3834b68bcbeca10553e11d158bcf16bd87825603fc76af425c6c14d62e38097deb95cb6c4dfa59ec3e1d8718df03c8506b94b24d55d5d0b3d34c08a1cc4e48999577fc5cf6d561d1e10bc5f3dba30821645cf1c297e158fef551e5be0094596642c9acfc05e7420c925942082194d9312cb38d8d8db86ffe1abcf045389edb1641c8b0587a220b9f9d4c1c76fd67772660ad4f36166ee57e48ae2dcf6f0bc71d6fad562ea7a0cc32134666e5c396e5b3f62e84bc889c9d4c4208a1cc8e079995657ff8e7f978664b1821c326a2ce016353d1b0eb4f3f928f26b309c7d7fa737b926bce5f4f9d07e90c945966c2c82c218410caec4490d9baba3a45669fda1842c8b009af75c0d0583064fef4237968b238a0b3d8911a1eea99bf2104feb556e88c1d783e532b9619f0f1a15cd4b61bf0dde761c8d0da505e54817283a8673463cb86606e63f2bd9032ab56ab29b30c659610420865763ccaecf4f541840c9b30b594d9fc41f39ef83c1bd5ce6e6466e662f1ee70b8bb81c02331f82a410b38ad98bb251045e62eb1c79af1c9fe1cd8e1c2d995629e5d147419b1618b0fca2d80a5ad01cf711b93ef016596a1cc124208a1cc8e439995dfa352669f581748c8b0f1c86cdea0798f04aad1052bb6bd77040f7ee48f4c4b178c757938d9e0405b79311efee42c6e0b6d41b790d98ff7652b327be6637f140a996d2d09c1948fcfe0e34a2bec8626cc581bc0ed4c860d6596a1cc124208a1cc8e219995cf54bc12fa64f6cf6bfc09193661351e991d38efe17d6542509d38fc55301e5f1b0ab5ab0775e93138a4ea4087b601d356fb635e91593933bb624fa647663ff245a1ad1b6d15714a1b6b6aec42661bf1dc677edcce64d8fcf5d4b751535373c5c745ca2c439925841042991d43323b6db52f21c346caecf9796f6710765759d0d33bed76d8306feb71cc39950f871c5d2c96d4991c8acc7eb4db23b3a797fbf4ca6cacd2ee67d53645669f59e5c3ed4c860d65969990325bde64c0075e25786e6fce75e750729dd26963e795104228b3375266e535b38fbeb71e7ffed40b8faef4266458dcb3e81026cfddd5cf7d0bf661dacab3b867d949dcb7703fee9eb71b8f2d3d88473ef1c2fd1f9cc0e4850771f73bdf6055811970b661de47a771efbb7bf1b8287ff7bbfbf1c48aef9476efffe8241e58b80f8f711b9361f29838b63db0e07365983165969930329b53a7c74fb7a4e367bb0af1ef3780ff6f473ede0d2865e795104228b3375466e5b3173ffcfa301efbf824a67e7c969061f1f08a3398228474207dcba67c7466d0f4b3eb726118b0bf7e75d877501df9efc3e7b5cb6d4c86cba31f9fc68a1d47afeab8489965c6bccc7e1854821f6ecdc74deb726e18ffefa6749e9d258410caec0d95d9d6d656a4a467e29ec5fbf1b0900e42ae370f2c3b895be7edc3efdfd8893fccd98d7b971cf3082cb70db90e3cf8c11144c627a1b9b99932cb4c1c995dec538c9b3ecbb9b17c94a074dad881258410caec8d9259bd5eaf74dc9efbe86b4c597e0a0f1142c838411ed31e59bc15854545d06ab594596602c9ac9790d9953937966594594208a1ccde589935180c4af9334111b8fbdd1d78e083138410322eb877d16e1cf30d56ee0d208f75945966e2c8ec5921b32b7286b2be087be36af0b7175a7621f6d760e537aa2b2bbb94324b082194d91b2bb31279c6a2bcbc1c733fdf8d47961dc47d4b8e1142c89866ea07df62c647db50565686b6b6b6ab3a26526699b12fb3a785cc2ecb19caa632b49a8cf8e1c0794b1271d3bc30dcf47e9667fabd38dc343f12372d14f396a5e3a6c599625eaa20c653ee839c0bb7bd88324b082194d91b2fb39296961614ab54f8e8ab43b873de36dcbbf828ee798f1042c61e77cddf8e459bf7a3a8a8e8aaae95a5cc32e347664f0a995d9a3394f5bd32db3f2f17f3d3db115fd381dcb85cfcc3925c6c293222adc68c7c6b17fe27588b981395985f644646a51589e62e4c5f9f7fe1b6175066092184323b32322b87e0c94e9fecc49d0a08c56bab77e1f7b337e1a12507f0c0e2c3b86b2121848c4eee17c7a8294b0f2ac7ac573edd89c3de81282929415353d3550d2fa6cc32e347664f08995d943394b5bd32db37bdad1ae5256de2751ea2f50e4c8d6d414c68ad9856a1b44bc86c8090d9ef84cc1658b1f3600e7ee06784efa68bb4fd366596104228b32323b37d42abd16850535383828202c4262462dd9e637875e5763cf0ce1a42081995bcb8e20b7cbef718a2e312909f9f8feaea6ae54eedc31159ca2c333e64f69810cef93943592d6456ece43fec9bdea6467951b3789d8748ad13d313348809acc44def1442e51632eb2764f68890d97c333e11e57fe0236476fd45da9e4399258410caecc8c96c1ff2fb527604e5776c6565a5d2b153a954282e2e26849051853c36c9635445458572cc92c72e790cfb3ec740ca2c33f665f6a810ceb77386b2b21ced4e3bbc12aa7042f0f4d60aac2830e244720d0ab26bf1e3b78bf14da916fe190d68ea74e13fbd7488395485f9791df844d4ff81b719be6b2fd2f66cca2c21845066af8dccca3312d702f9dd49082163816b75dca3cc32635f668f08e19c9373f57c5484d9db9271d35bc96871d9f1b377aea2ee6b94594208a1cc8e2e992584908906659619fb327b48c8ecec9c61b129c38cc4720bb6ecb8cabaaf5066092184324b99258410ca2c4399fd3e32fbad90d999393794ffe725ca2c2184506629b3841042996528b3df4366f747d60ab9ccc44d7fc9b961dcb23c97324b08219459ca2c2184506619caecf065d66cb6e0b3e3f9f8d9dbc1426a7dae3b0fad8a414e69b3d271630796104228b394594208a1cc3294d961c9acc462b1c06432dd10cc66334596104228b394594208a1cc3294d9ef2fb384104228b3635166e58fa4b233460821e4ead1e974945986324b082184323b1232cb300cc35cdf506619ca2c218410ca2c659661188632cb506629b384104299a5cc320cc330945986324b082184324b996518866128b30c6596104208659632cb300c43996518ca2c2184506629b30cc3300c6596a1cc124208a1cc526619866118ca2c33ca6456768c64a7881d444208191b582c16389d4eca2c659661188632cb4c6c999591326b369b9507ca13420819bd4891bddab3b294d9c1e9ecec44796d0bb61e8fc3f25d41584608216410f2d8b8fe48348aab9ae076bb29b3cce8965986611866dcff5a3ee165b6a7a707467307f6076460f9894c2cf12ec6222f42082117421e23979fccc26ebf74b4ea8cca319432cb506619866118caec08c8accbe5c20eaf642c3c5d480821e42af8f24cf2155dde42996528b30cc3300c65f61acbac3ca350ddd08a15c75230ff643e218490abe0c363a9505535a2bbbb9b32cb506619866118caec8d9459799d6c60423edef92e07f30821845c15f2d8793830f5b2d7cf526619ca2cc3300c4399bdc6322b8718fb4467e1ad2384104286c37edf44381c0eca2c43996518866128b33752666507cc2b32036f1e4cbf02f2e055d88c3041505af915d6b9f1bc71200dc7130a46edfa1142c6177bbd1360b7db29b30c6596611886a1cc8e84cccede97764966edcb4280be131d863624e6d7c0ded583b8ac3265d927c1e5d81d5d819d2105caf4d2a032ec0a55e11b316fe3ffcfde7b4645952dfabedfde9777ef18778c77cff976c6b9afdfdd6f9f77529fdeddbd7787bded6cab6de836620eadb639b459dbac98132aa218080694a0081214447210c9a1c8190aa85c542ef8bfb95615088a8aec6e03fdff39fe835ab3e69c6bada2aa983fe70afe99f08c52c02baa40f4918e3de2b16778895cffe8ad3c77dfa9381c532697edbaf15094a56377af7ac744bdd94fd4db7e2d556ebbfb4eef7af998772e070fa5ed54d563f3d587581e522c3f77fa5e0996f8a4be703f1986615e369459429925841042997d8d323bcb3bf9b99971b30256bb097b375dc6e483d1f0cb52e278d06dec8c2e4757a7132d2a3d4cf62e842715e17883559439d06274c8ebd0e9cd70c281289f64a46b9ce872d8d0ac12659d76045c484282d20ebbc5e42ab35bb1f45c0ad2d4a29e53d4335800bb19f34f2522bec50e93be43d4eb8055d45f7c2a15a9ed0e51cfeeae67116525d0daba443f66f84557428d2ee8c4b635ab0cb81df6f085fbc9300cf3b2a1cc12ca2c218410caec6b94d9e95e89cf8d4754151c86764c3e142b2f4f391287a9c71370acce8296f2027cbfeb26f6243540d75281a3f556b496e763ecae4a5860c4aeedf1a8b17522253a5e96d4bc80bb18b33504b14a07ea6acaa17374618fef6d579910d6a2acfb4811925a9b1587717b32a1725a70e6640234a29edd6a87c16447a7f8971e751fc96da28f87f1a25e06daa57a07a2105a6581aa2603930ee7a04dc8acc56485d1acc1c663f75fb89f0cc3302f1bca2ca1cc124208a1ccbe46999d7afcfe7333e55411345d9dc87a90018fa3f128d3395198578083a51de8d0b460e6b17b082935a0ada6044784e0b6561661e2fe5a58ac2a6cd89f861aab90d9a8bb481532ab2a29c584fd19a8b276a1b42815adf62ea427a588fa19a8b43a9115774f96d9fc1ba9429ef3d12624d5fb681c9a8510a7df4ac2dad31158e71d8935de7765992d0816f50ee7c9f57cf60b99ad16325bfb081ec7e231f34c32369c8d4562a3196d55b92fdc4f866198970d6596506609218450665fa3cc4e3e12f7dc4c3a7c0f8b6e9441ef6e67d729b1de370ef3bc1391a371f6946df08dc76149662b0a31deb34696d9f59ea9b2cc2647c62055e54443ab6bd0a7696cc0cf0762f04b689e7c68b044559910dd03712e99bd9e8a8907725d32eb79079b4372d1e13a7219daa626ac391887245966d37aea9d11f5d627b543bae36342660522ebbb07984e04fadd7de17e320cc3bc6c28b384324b08218432fb1a6576d2c1bb2fcc847dd1f86ecb350c5fe78f31db4230717f8c9c31db43e5b2d1a26c82581ebbf316466ebe2664f60e466cbcfcf8e7de585966732edec5880d811827ea4d3c102bf73b4ad4ff76bd28db152e978ddc74553cbe25fa8beee963c2be2851ef2abe5d17e05aff33ea8ddb7153f41580b1e2a7b42ddf8a6d93ea8df78c1ad07e320cc3bc4c28b384324b08218432fb1a6576fcbe98df3c3f78de434485067117135ec9fa1886615e4528b3e4cd95596b23ceefdf8ffd5ee7d0d9d5c5511f2184506687a4cc7ebfe7ce2bc9986dd26ce9ed57b63e866198df3a9459f286caac1efbb7fb40231e99550a7cb7f406ac9daf67b07565b32f1a39e6248410caec6f24b3637746300cc33083086596bc99325b1188d3e1854f14da7075cf3a784c9a8b1b0592e6aa70f08c17967a4cc0fa7391d83a65323edb140d47975ed4db88f11e9330717f3c9c5d1678af5b068f89f371a74c878eaa305c0cd8058ff1a3702dab1d0e6b2b0e7cef8149a3b7a3de6c4782ef399cbcb0493cff2d2ad5e598fff9706cf38e8143578b51133de0f1c33214a96d1c8512420865f65791d9efb6dd621886610611ca2c796365d63fa5b66f992e0557af3d120f3438fec31e21ad2a9c8a7e28963b70f9c80648574b8c5aff256a8c7a5cb8e40be9c0e492e0f568af8fc2ed0715409712de8bbc85cc8620a85005e81fc2d72b11e571d7512855ee2cc5e51b0f85cc9e4492167034dd4242795bcfccacb2e4368e487eddd5c9c39e09218432fbabc8ecbd945cacf789611886610691d0bb199459f206caac2507477ceeb817ac089a3f1fed0df1b81c9a0fe910649f699b6499f58ecd9665f6cad18db2ccc66cf84296d98bfee7e5969591bfa0a5321411a935f24caeefca2342666f22b5590f18b265992d8b0bc4adfc7ce48b34b41b85ccfaa352d4763487e3412f9915b68b26a9de9d83b874b782a3504208a1ccfedd325b5e5e8eaeae2e86611866105128149459f2665e002a3dec2cd6ef3d843dfbf7e06a42a550491d2eeedb83437bf6e2484831baf06c993db46e31f61eda8bddfbaec2dea9c1c95d9e38b473177c632a9f9259b3b60287371ec2a1dd07915da17e4a66e34feec0e1e0bb30d46561c92e516fcb56dc2f69e72894104228b39459866118ca2ca1ccfe9a3c9e992584104299a5cc320cc35066a963e495c9acdd6e87cd661b64d4b81e7cedef68cf300cc30c264ea793323b0899edecec641886610611ca2c792365b6b1b191ffdbc4300cf39645a552516629b30cc33094594299258410f27641991d9ccc4a33da0cc330cccb87324b28b384104228b3af51661d0e07c3300c33885066096596104208659632cb300cf35ad3d0d080fbf7efe3e6cd9b484d4d8546a3a1cc12ca2c218410caec9b2cb3d2450f07124d7d060e7979e380c883d29601b7eb2f8696722435d9ffae3e1886617e8d74747420222202a74f9fee93b367cf22252545bec0e0b3da526609659610420865f60d97d9d2a4407c30fc7b6cd8b51f9bb6adc5c7c326e25a81729083470df6ce1b0eef520ea2198679fde92db277efde9597bdbdbd7bca72727228b384324b08218432fb26caec0b6f7b645162cbf411d89fae722ddb9df009bc0c83d381d69abbf870d8027ce731191b2ec4a3292f0aef0e1b2ee77e59ab5cbf3a3da4a7ec526a050a224eb897c7e2419b0ec5770ec8cbc366ae4493d6dc6bddf55826ca4f16bb96972e9e8e6de753603236e067777fefae380d8dd1024b871e7167e6cb65e376fa412dcaca52aee2a3e18bf1e9c831381c95c7db57310cf354eaeaea70ead42939e7ce9d8356ab9525352a2aaaa75c8a4ea7ebb73d6596bc9532db5add8493192d389c558745d12f21be0e1bae25b7c1c1312721845066df1099b55aadcf8fae009386cd4691fde9e75a6bee09991d8ec48a7658b545f0f87c16f244bf66cb238cfc721b1aad7558fef94c5759be37defd622b9aac6aec992b24b5c002bb32069f7fb60975e2f9c2787f7c35e5223a7afa6fc00ad1f7e912d7f2d22533b0dd37053977bc30ec7b1f18449b8573c7e3546a0372a3bcf0b77167a01765d737aec436514f917c0def7ef3036ada0cb0596d2fde4f86617e77b977ef5e1f69bd70e1428fd0c6c7c7f794d7d7d7f7db9e324bde3e99b519f1a37729ec5daec5e49c0694191c482fd7e146890e7658115fa2465c83c955416fc055b17cb5420fa3568561478b506cec144f589120ca636a3bfa74dfa4d443277e769a0de20fbe133099e5f6b72b0dddc30fdc15cb894de283d3d589b40a1dc24b7530731c4b08a1cc52667f33999d8207aa67c9ec3cd41badd029227a6660bb93dc6c43b8f71acc983703ff25976d1182ab81e78fc3e12d24b5fdc1ce3ef53f1e3b151ad3f365565599de537ffc829508c96f4184f7a23efd4cf7bc20cbecc7a3574363e6809d6198fe131a1ada4766a5646767cbf72e6f6e6eee29abaaaaa2cc922122b35a1dfe70ad165d7d460446ccf22a8459b86774783132c5782a28b208754e27022f17a3d6081c0e2fc4036507e69c50088d05e2a24a91d206444417a1c6f9b8aba8fb0a14899ff6a67244b4597027aa0419c26e0b732ad12eca6f5d2f448116f0092f4283f810cd38f4088d260e62092184323b3899957e3e37d60e9cdd3c091ebbcec16816cbba322c9cbe00e7d32aa1ac966476291a8d16743426e39be19311d7e280a32919874e46a2a5220aef8e98863495038d77d6e0dd05a7a0b5a86599f5cc50c15072011f8d5b0485d6014556044e5d4c85a967ddadf865c2702cba53271eb763d6b4ef65992dc90c8797ef2d04dd0cc7fad933b1c2eb3692ae6dc3a73fee82d1ea4058c865dc49ad8022e91a3e19b3195a93e5c5fbc830ccef324949493879f2644f121212e4fbc7b6b5b5212020a0a75c7283feda5366c95b29b3ffeb7c259c4fc8ec429f72f9f061cfc03cfcb763b9f86f8773704bc82ada6bf047b1fc7f1ecae923b3c782f25df58ee420b8f5d932eb70a830e9482efee54299fcfce6f3b9f8ef527fa2ff28a524b3c5d0730c4b082194d9df4a6645748d4558b376917b767538262e3f880aa30dcaaac7326bb1da107b6e4dcfeca867642e6caa62cc9cfebd581e8905dbd7e3a3616b5065b422f4c85c51f61d02cbb538b461aa5cffcfa33d70bd48d36bbd56c49c5de9ee6f363e1f3b16dbcf25a3ad2e1bd3be77cfc28e9e87f0dc7ae89acbb0609aabec6f3356e0618301a56e99d550661986794624693d73e68c2cacd24fe9ef486b6b2bfcfcfc7a44d6d7d717068381324b86ca39b34e445ccf43549b74a8b0094bfc8a50a39364b64296d9f09bc578a4857873d7a3dce1c07f1c2f42bba8ba4d48ae24b3b3c4b2492c47459622430dd4543640d1abf7d40c056e36012dc905b826643622a9060a13f030b918e9e2f9eb41452816f69a5b588f2a874b660d1cc3124208657690322b0dc406128bcd81ceae2ef9f03b87cdea2ab348659de2a7bb8ed52a3f2fc52a9d272bcaecce4eb1dc09bbc52ed7b58aba56bb532e73d82cb0d91d72fdce4ee753ebb45aedeefe9ce2f94e38ed36516e81a3d3b58e2ed1c6e2ae6b77baca3a9d76775b87dca76580fbc730ccef33d2ecac7428b124aed2ed78a4748bac745563e97cd967b5a5cc92b7f20250703a712c4b8903192dc854d9e40b3bc5e46ad0293f694290280f2891ce7ced427961ab5c2fa5548d525d27f2725af0a0599ad7352358945f28d2f6e9daae37c9f56f576b506b12f50c4679f96cbeda5da3038162f95a99305af1473a3253051bc7b0841042991da4cc9a4c26866198df6da4fbcc4ab7dff1f2f2ea13e9eac60d0d0dcf6d4b99256fa7cc124208a1cc5266198661864c341a8dec00b5b5b5686a6a825eaf7f611bca2ca1cc124208a1ccbe469995662518866198970f65965066092184506629b30cc33094594228b384104299a5cc0e5c668d4623c3300c3388506609659610420865f635caac74cb09866118e6e543992594594208219459ca2cc3300c6596905f4b66ebeaea18866198b72894d9c1c9ac74c54e866118e6e54399259c99258410c299d9d728b3d2df47866118e6e5439925945942082194d9d728b384104206076596506609218450665fa3cc767575310cc33083086596506609218450665fa3cc767676320cc330830865965066092184506629b30cc33094594228b384104299a5cc0e5c669d4e27c3300c33885066c9db27b33613b6dda8c02877b6a56b7ee7c3470bc2625caf977f6c95fc9a64b573504d08a1cc526619866128b39459f266c9acc580c5be9570fe0a03aff07b0a14bff5c347238ef82ad0a5acc4a512f1613618b132a48aa36a420865f62d915987c3c1300cc30c229459f256caececd3a5082bd7e2964885c101a3ba1d3ffa57629c5f01b2750e04dd2bc1ba1bd550d88c581d588151c10a6c0d6f42874e8df97ea29e7f0152356a2cf6c9c39cfbcd3d5d3717d66143ba3418eb426e582ecaf41d3879ab0ce3ae95e270b1095096e356b3f8c0e85bb12baa09756565f00caa408ccada3d6d8c4b6773f1796805def72b438bc90abfdbc518175c8effe37c052c9d36ecbda5c0b8200576149ac45a2c581422fabf5a0a9f4a232203f3d066e9c2f1ebf9b853efc4830725d0749ab0f16a05c65d2e46509d15e5c50a785eafc47d9d012b6f28303a44816592ccbab7c0a4d5c2f3763d47d58410caec5b22b376bb9d6118e6779dcaca4a5cbe7c19e7ce9dc3e9d3a771fefc7984858541ad563fb71d65960c8999d9e47405f2e5474db8906d4050743152f5407d6631f24c0e69888503a14dc87ea8408e5caf05bee9da7e66664d3873ab0e5d3633a61d2f83b9ad16e70ab4a2bc03c7cf2b9e96d9520582945dbddadb1070a908d64e409b5d897d457ad86c0e341accd875220fcd56158edc6a14cb7674489b05250ec5aae465b3d8a18ec60ae46aad88482d456076332e5e2983a5be0c51b22cab713abc01e5850a84b4039d8a4a1c2ed13d9e9995d7df899ffc8a51cb31352184323b8464b61e4b860dc7bbbdb2f65cecaf3e9854d5e561edf269d0997fe7036b9b05133c26c02bb20076b31227b7fcdcf3ba7bdecaa27830ccaf9c8282029c39734696d80b172ec0d7d7577edc2db5ededed945932b46536e529992d45199e96d9472f945921c619954855b620a05118692f993d76beac1f992d438af339329b5983cdc1d568365ab05b9659c872dbdca2c1ff3a57256a4b8319b15cabc497618d70586d38115b8ee80a1da26e166244acb21f992d43069e21b3da06f864ab39a226845066df2299b5d96c2f489d2cb3e7ca1e5fc1d3e9b0cbcfe95b15080d8f44487802dacd525d2332c3a3505691db5356919b80903bf7606c29106519d04b7d5a744890db4522a7b64db4eb40c29503f870c4785cb999830e79bd3a248be70bda5ddba1aecc44544681fcb843558630f77adbe4f576204b2c673518e4e70b7392119f560993b101b7c293702f211ec97955eefdb1a2f0ee3d249596225eeae36e72cfbeaaab1fcadb14129d0083bbac3233cd557637a9a75e6596bb2cd65556fb281e492575f2e3b2cc48dc2c68951fa7a7dec7c34af1588c1d1eb8f737aba2597e4eabac4468440a2263639155de04b3ba5e7e3ef4760ec609993d1951809cc8d3f864e22ae8a5d75d1983bf0e9b84d436db007e670cc30c2406834196d753a74ec9422b89abe4017e7e7e7299948080005958fb6b4f99254342668d9a76ccf3abc0984b05c8d63b7a64d661771d663c22b8045b239b61920e33be24eaf915204de3c0c3cc0afc10d9d4a77b6b533b3ef553c075e0b0553ecc78ccd5521c293189653346f997615944193c9f21b3e77d72f06d700566dfa881466fc0bc7385181f5a8175a77250abb560dbad528c095260675e073a6d26cc0b11fd5f298177b9f820763ab15cb4cf5777e264583e821b1c62d062c2c62be51813588cebd261c66e9995b6ed94d8b679e16558de2db3867644571a39a22684506687a0cceebd578ac2125754460b0cf50ff1eee7a33061ee224cf09884495bcfc1686bc756691671cc2c4cde751db599d7f0ee57633179de228c1c3502ef0edb8226219e378eadc007dfcf15e58bf1f1d7237047d182b31ba7e3bd2f4661e2dc4bd0caebb523da6729be3a9a06ab58beb86609d6f9de83a13157ac7724c6cf11eb9d3a19e3379d16eb5561a758eff6a426799bbd0f2ec3cc3561d0b626e113513e6ac6425c4caa74ef8f0967264dc6bbdf4cc444b1fe9163bfc3df0e24c062d563f6c471f841948d9ef03dfeba3f05567315268d76958d1c371a0b6fd5c226ca268f795cb6409469328ee2fd55e7c46b5a8f15627d7ffef628f45613164cfb0ee1656ac4f8fc8cf7c6cd91f7f7afc34722a440839a476178f7b36f316ef64fb8535883236b3df0d1f879983cf747bcfff97059661d4ee93f0f9cb059adc8bebe197f1ebd1ca5060a08c3fc5a494f4fef915629696969f28c6b7373b33c2bdb5dded2d24299254344665f02b346855cad344dda8c5fe294036a636f5361f2cdc1aefff1cc2c2184506629b3039159ab10a5e7a7eea9c38ca3cab4c8083b8a6f3c2ec124ead81de5982acac3aada6499dd9da195db861cdd84a9ebcfcb8f9d253eb2cc366a8b3079d82c14391c72f9f5b5cb31737f00ea7223f0f1d8a9d0981eafbbbee00e3e1a330dea0e2b664d198ea4263b1e457ae1b31f7cd121afb70233c4faae573c9659a95db7cc6a942e992d56d97aed8f09de4266970526c22e962b33aee3cf2327a2cde880538863b4cf76bc2724f393516760b01761ccb06ff1dee723b030ac024ea7d8665136d65db620b4bb4c89193fcc455e5526c6cddb8625df8c434b433cbe9e7b185a4319a60df340bed3b5bfb7776fc4e46da7509d1d863f7d351a4d424eadea6c7c3f6c21caa4d7c462950f333e793bbf679b338f8d905ff73c957300bf2f8661061ae9bcd8de322b25252545be52716b6b6b4f59555555bfed29b36448cb6ca7dd8119372b303ab80a359601343069b022b81a75835ea303f7e3ea60a7cc124228b394d901caacf4f3f971c9ec59c5e3d9086910971c7a00df4cb908935ca71233bf92a4522964f63b5cadd4c86daf1e598fe9eb2fb9fa515cc29f2499d5e409191432ebee3f6ccb0a4cdd77097539b765995577f45ab7ae1a1e9f8f434ad6797cb8fc8210670b32238ee0b3efcfc128d7a9c29caf87e37259ab5b661be576a765990d85a64592d9c5a835f6de9f0e784f9c8cd5971fc8cb151921426627a0b5240c9f88be025214083abd1a9ffe7c0b1d422c6baa2bb06fdb425926ffe2b11f5a93ab6c7f4fd93e59c0d7ae9a89e37e3e987e3806014bbe43d0b90558702e1a566d31c64b32eb5e7fd4814d98f08b17aa84cc7ef0f51ab49b44b92a1d23874d43aa4a3c369b3063ea445966e5eded50629190e7ab850de275b70ce0f7c530cc40131d1d8d93274ff6c4c7c7075aad5696d9fbf7eff794d7d6d6f6db9e324b86b4cc124208a1cc0e19992ded5bde5a9a8877bf1c835ff61dc196750b307af97168acad6e9955bb44f19e1fde1de9819d078f60cfbab9ae9959ab0ebe9be7e3e3f9db44f9317cfddd77b89ed988e6a27bf8d357527f0168eb115a2b4a8257c8d218905e2997b555a4e1dd2fbec326cf23f865fd4f18b5e410d45613ee6c1f8e7767ac177deec7c891c3fbcaace169997d57c8e346b1fe0573c663e69174e81e9dc0bb63e663dba163f22cf027b32fc3d89e29fafa1e3f1f38818d1b57e1e39fcec3d0e62edb2fca36adc2470bcf436fb620ebd2767c326a1cce151ad196b8035f7d3f12d7326ae5c397afed5c843fcdd92aefefa871a37129a9eeb1cc4afb6ad560f7c209f872f10eecd8bf1b1f7d395cc86c9e6b7b4d1a5c3e7212b98d2aca07c3fcca9164b45b58bbcf999544363e3ebe8fe44a7f5f28b384324b08218432fb86c9ac34107b7e5a71f9c0513c687ca25cb4d736a463b7786ec7013f349b6ca25c839b42fc325a74721d8bd586ecbb17b1e3f859b4a51f14b2b8172da2dc6a56e392dcee28628a1a60b588ba1d6deeb2cb42661fafa7b5260a7f19361125adc69ef51a5b32b147ae7b098df27acd30199b70e08854168adbd157e01b940dbd5a817d0702d16aecbded4659669705c6e0fab9a3387821080e9b15669b1d57fdbd45fb4094543dc4dee321d099aca84a0d93b77387d725e81dd2ba4459dacd27cac43eb5e689b2b328d59b85f066c3533c2f5dab427e1d2c3a04b8f7f7f643e97045335aaab2b1fbc875684daeed32294be5e7771fbe871367bd11f7a8d6b5bd1d6a041e38869cfaf601fcae188679d95cbf7ebd475a939393111313d347641312129ed996324b28b384104228b36fb4cc0e3ee94167f069af736d575f4981e525da67dd3e26da8dc077e71f8aedfdb5b6cb2db3fef11cc8330c23df4bd6dfdfbf8fc04a91ce95bd79f3263a3a3a28b384324b08218432fb26caacc964fa0d63456767574f24217d99f616bb53be1590c36cfe55b74bbe4ab0d3fa1bef3bc3306f534a4b4b71f9f265787979213434144d4d4db2c83eaf0d6596bcb132cb0f35c330ccdb15caece064561aac310cc3307dc57520f529b38433b384104238334b9965188679eb429925945942082194d9d728b346a391611886194428b384324b082184324b99651886a1cc124299258410ca2c6576e0326b3018188661984184324b28b384104228b3af5166f57a3dc3300c3388506609659610420865f635ca6c454505c3300c3388506609659610420865f635ca6c575717c3300c33885066c9db27b3160316fb56c239d0ceac1da8333a5e6a8065d019a0461702ef35422f96ef262a50d05f45a7035ee14508c8d3e0466903b687d4bdfce84fdb8c2389ad2fa864c24eff021c5174fcfaa3cf4e27cede694007c7e18410ca2c6596611886324bc8ab95d9a6a676ec4b6f419ebe535e2ea96ac3be87ad28ca6f83dda845b1c686b26a35124a953894a984c9d1e56ee94041b11ae2d380b81c25da2dc0c36a151adbd468ecd463d4897c8434986599bddbd026afa3b717b736d4e150e9630daca96b43b3ec9e5a7889bae13526978a6ad5382496135a6cf2724b8b0afbc4763cca5542ddda2db30e24893afbd2dbf1e447d25c5609bffc261cbbf3589613f294f2f654195c421a9ed1222fb7488d1d565c97fb12fb2a5ea8c20a1534a2b843a3469db30ba9852a841428713a4705ab4583bf1ec947548b9523714208659632cb300c439925e495c9ac53833d5744df0e3b3e385a04b54989dd514ad8b406fce7f17c189bab71a5c280d0d82278179ba12e2841b8ceded35d545c09acce4eec082e407263072e4755435150864cf1015977b604adf2cc6c31a6a40a1d549420b0f9f107a620bd449643f971831ef76a0c68b7d9b1eb682e1a45b583b74a50643361dbc92258c406cff32f468d598bf557aad16977e093638f505ee792d9baca3a5caa057405e5385ba27fbcbf623b7e395f8426e1c1fef10a94897e3bf5d5389d6b96a5f9ca4321a8354276aba429e53644941b842497e1baf412d688beaa3b1010518a7249a2cbcbf0c0eac49e803c21e736dcb95f821ca7030b4f1443cb7138218432fb5a64b6b3b393611886194428b3e4ed97d916257e8895e6433b11722117398955d890ad16cb36049cef2db30a944abe57578ed85e325b57279eaf6b47b2b61eb70aaae017afec4766dd87192bcb71ab97ccd62bca116fe9ec592e2aae40a4b0ceffeb6c19a479cedcb40adc2ad4e3ff0e10f22acda646142336ad05c3a39ae4edbde99fd723b3798f4af0df8fe5e27f886c78a8ebe9d3616bc3ff3eee2aff1fc772f0d768259a62f310d7fe7826f55e443e9aba1ebf44fe71a5701db8acc6f114633f325b02690b3233159459420865f635cbacd3e9641886610611ca2c79fb65b6530bcfc06ac06ec71f8e1641636fc5dedb2db0a9f4f8e7e32f96d94e4307669e2f4083d189e397f370aea4a397cc16a0c6f26c99edb49931fd443eaaf4d2b1c7666cf6cd4564bb1dfb8ee6a0de04ec0c2d4689d3845d5e85308b0d9e7ca91875762db6055489b60efcdbd1c733b30d35f5f0a910dd681a105669ec59477a582e0abab7b7ab1397838ad069a9c5d12cb11d46150ede6d466343154e29209f7f7b265383dcbc72044a2f77b9023eb526c4c695205af87e56743eeef52bb3f9701f014d08219459ca2cc3300c659690df44669d7624966a10e44e5387530ca0f4f2e32a936b7ab2be5987a0f2561cf42a126ff00ed41a1d686831c8177372980c68b13f9e4d95ce374d5768611345e9b55a681cae0b404943b2e67a1d529aad50b619a0738b74a3e5c94b4fd910a5706d4b7abbdb08ad46dc92969516f7a201c162395fe392528d5a6caf4285435ef9683498a1689366599d2894f7492b9fe7eade38948a6db3f79a7555b5e9e56dcbafd2caeb94cf91edec449afbf5d0d87abf465a58c57ed9c53aa4e7329a0c687776a1b8462f9f97ab561ba041171a6bb4c854da3912278450665f83cc3a1c0e8661186610a1cc92b74f665f8459874d6195389858871971ed03bfeaf1abc26682e7b5521c4c6bc68488669838fe2584506629b30cc330bff348f78dbd71e306bcbdbd11111181d6d656ca2cf91dca2c218410caec5b24b376bbfd0569c69eb98b70a3ca3e80bafda7bd3c0253e75e84ce3ef83eecba3c2c9bbb17b5e2b1d9a0424061bb28afc326b16d31f5cf6f7b60df164c12f5262ddf81f6bf671b7ac758838d7337a0742075cdedd825ad7fee39a87fadf5bf642292135ecb7a19e64d8f5eafc7e5cb9771faf4e93e3973e60c6edfbe0d9bcdf6ccb69459429925841042997d8d322b0dd49e9f7a2c19361c6715b601d4ed3f4655056e45e6c3641b7c1f36b312b191a9d0da8c0858311c3b925b44790566886dbb51dd7f1bab598f5573bfc7a4ada77033321a8776fc84f7bf9d8316bd79f0dbd11d4319a60d9b8afc01d455d5a4e3bdcf67e3a3e1a3105fa9fdfbd7fd92893fba000bce84bff2f532ccdb90e0e0609c3a754acec3870f91989828cfce4acb92d43e78f0e0996d29b384324b08218432fb46cb6c5dff326b6cc3b993bfe03df1dcbbc3a6e0727a895cde9c771b7ff96a04de9db31d3f2d9c86795bc2d1521888f7871d80da2609e0702cd9b547b411eda66d47b5aac3dda70977f64ec2ac608578acc28a49c3f1934f062c86767c314a48e0a3687c376c0952f2235d6d452e3cb827cbecca03c75d6553b7a2a2ddd8b38d9afa687c346c2eea3aecf2b245d784a311c5b04acf6b2ab0f5e79fe4761f7cf323126a5c9259901e8c6fe5fe4760e5c9cb6835da606aafc6b65553f0ee17dfe1f4d175e2b9f5a8eb25b3ad45773171f258b9afa53e779e7a0db3c276e12f7b137066c574ecbc91e1da16b15ffe2756bab6fb87e57850a614652a04f42a4b1065369316972fedc687f2364d846f428e68af83a758de70a754eeebeae9d5f87ec11558add9f85c94affa7989dcc7376b7cc4f30d1831d2f57aad38104b7961985e91be03bb45d6c7c707cdcdcdf2e1c3c9c9c93de552341a0d6596bc5d322bdd08991042c8db8174bf3fb55a4d991d84cc5aadd617c42db3a57dcbf3a27df1c1984530581d30145d16d2381ff9fa166c18f62d465ecc13bf131dd6ce1d8b1f37df4673d1157c30ec20d4d6725966378795c832fcb7e1dfc22ff9f136a82ac3f1e705bed0b62462c2d8c998b1ca0bdaa6747c3266039adbd3317ad85254d93a7079e570ec4c6987d35e29cbecbae02238ad7a7c3dfa3bf8de2fede9af25f520de5d710546f158d7d680477905228568339a706dd34a7cbefab4fcdea9bfb71d7f1ab6014d8612b17d63b13da141f46dc2b4efc7e268642e12fd0ee1cf53d788ba4e649d5d2ac47003eaf50a97cc5a3ab066f224ecf28f4541493a1608e17ca0ebf55a995bb167d6285ca872409b75021ffce4256f4f656610fef4d574288568a75c3a0d4fbf7ba8ca0ac27b5f4e438b284bf5f386e7a5bba8cabe8efffa7c2a6a34167454dcc627c366214bafc57eb1df1ba35cfb7af5f4cff861c155f13b7d24cb6c706e33b48abb623b27e191d58e07c71662c19948743aec03f87d33ccef273131317da4f5ecd9b3686a6a9285362323a3a7bcaeaeaedff69459f246caacc160908f9fa7d01242c8db21b2d2acec8b061494d95f5766eff86dc037532ec2242fb761e994e1f0b99f8eff1a360ec96abd5c27e4d8a67e6536b45ab4e950e1b351a3e1df4b66cd7a153e1f390a9971ded871e916b6cf5b87fac47d981f5c0a9bda25b315560302574a8719378b36eec38cab447b9316df8c1d8b0bbd645655711d7f1ee68936f1b8e4ee39fce98b1142f04623aeae1dab57ccc2963349723da3a60c9f7d335c0c5e83c5f38b512eb7b72066ef0c4c3a128af3475660eaca6057bfaa7bf8aa97cce675e830eafbd178eff311a2ff91728e173d7e9db4e5f77a6692bb13536b45e6cdedf8f09b53d0f77a4db344d9fb5f9dec53f6307c07fef4a597bb4c854d3387635f72d5736536bb55d46dcd916536573c7f5f3accd8fb16e585619e485858581f9995929797d733b9d55d5655554599256f8fcc760b6d4b4b8bfcbf330cc330cc9b1be9bbfa65459632fb5866a59fcf4fb7ccf62dcf8bbd80f7472f804a6f82ead125fc65d84f283229b171d8b7f8e66ca6a8d38ad5b3470b990d4753a14b665516d761c621d5a20f63bb4b66937a6f831e7bc7fe801f3d262324bf15d70f2fc7f29f4723b241058b2acd25b3a28e24b38b428b44fd725966af5789b61d1a97ccc697f6f4d7a153e22b21c7bf8464b8666a15f13d327b7df36afc6df971b95e45e466bc376c0b9acc65a2bfd1d81c5309b3518bc9e3c6e244741e92028ee0438f55a2ae1949a716c933b375ba52d7ccacd98875932762ed95442190059834773d4aac8f5fa7787f4f8c9cb31b65955572962f99810d3ec9a8cc0e16923a15f5ea0ee4dd3e8d9ff65f90cbdefbc20375a22c3fc25b949d47554e08feebf3c9502875501785e2e36173906332e2eae2e1f8eba118b18e76ec5c34569659b3d92db34ab16ea55b66a56d10323b69ff9501fcae19e6f795d4d4549c3c79b227f9f9f9f264567d7dbd3c4bdb5d2efdade9af3d6596bcb1324b08216468439975c9ac34107b7e6a6599ed3db33876eb3921a32a04faee709f33eb81e047e5b09a2d682d89759d333b7f0fd6affdd125b3052e996d37bb65b64af46b6873cb6c59af7559d0fe60877c0e6eb64a0c346feec787df4d419bce04b35b66cb459d8a7bbbf1bee8675fc42d97cc568ab646b55b664b1ef727f651a578008fe9935cdbfeed545c8e8983d66082555b8bddeb17cbe51f0e5f80b4061d2c662b4a1e8563a4fb9cd9b5be2168375a6052d763ef3a0ff99cd95bd73c9f9059b18eb2248cffdef5daacbc784fbc0eddfba3c1cec5e3b039a2a2679bb2037761d8b27d30ebd5083eb3c6b55d135623a9a041bc266a84f87497ad42a228b374e810766dbffb9cd949f04f2d945f67654110867d2d95cdc39275735d326b729d33fb5029d6d5f248ae9f23d6a92eb884bf89f2793b2f0fe0f7cd30bf9f68b55a9c3b774e1656e9a24fd239b3d22cacafaf6f8fc8fafbfba3a3a3a3dff69459429925841042997da365d60afb93f757b4dbe4e72c567b4f99d522d5d521f9462882c26e2328f416e6cefa015bc34bdcf5ecb22c4a756d5657dfd263bbd88e3eebb3d97bfab3b81fbbc4d4d5561645f77aed36dbd3fd592d4fed43efedb7f62ab7dabab7dfde4b80ad3d75bbfbaa2dccc295d07079bfce1d588ccfd6fac2e0ae677b621d769ba58f9cdb9f28b3cadb6cefb3afaed7c6fcecb2a75e67d7efa5673bedddbf13dbe33abdb7cf62ebf37b6318e671727373e543892571956ec723a55b6425d1ed3efa87324b28b384104228b36f9dccbe4c2cd0b56563dee2959829b2eedcad27e4eeed8cd5d68e13ee7d9252aceca00430cc1089c96492a5342020a04764a5438c434242d0dadafadcb69459429925841042997d8d322b0de41886611893fcbd285f8cce2db92f0a6596506609218450665fa3cc4ae782310cc3302f1fca2ca1cc124208a1cc526619866128b384506609218450665f2cb3d2a174d2553ba5fbaa1b8d46866118e625227d77565454c8ff31489925945942082194d95728b376bb5dbe776243430307a60cc3302f19e9fbb3b1b111369b8d324b28b384104228b3af52663b3b3bd1d6d686eaea6a7986c16030300cc330038ce416d2d58e9d4e276596506609218450665fa5cc4a4857e3acafaf47696929b45aad2cb50cc330ccb3a3d3e9e47365ebeaeae4f36607f0b786324b28b384104228b3bfb6cc4ab3b3d20c8324b4dd8333e9a2500cc330ccd391be23bbbf2b25b17dd1ac2c6596bc3e99359561ad87073c16ac82b3b30b30e4202abae4cd1b8d699390a668e5a894104228b32f2db3dd422bcd2e4887cb497f2ba5015b5959993c606318866114f277a2f4dd287d472a954af93b7320224b9925af49665b71c0d30f26f1c866a8c3d42927d1a14ec6d56b396fde684c1589bbb98d1c9512420865765032db8d343093ae702c1d7acc8bbb300cc3f48df4dd287d470e546229b3e4f5c96c45207ca24afb96e992b173eb11ecdbb91ebf0494a20b6a1cdbbe17fbb6ee4060428d90de6aecd8b80ffb366f45749e12baca2c2cdd2196376c4141ab09daba541cdabc0f3b577aa2cde2e8e936deef17d19384157b02c2d1561c87ad9b44bbf5bf40a131e3ca665f48aa5a97760305e2e7c1b51b70e0e855689f90d9c6447f2cdeb20f5bd6cc4789d60eaf799b71d4f724366cdc22ea76a2f0da3eecdeb50fdb36fe889be54aacfff60ceca2f9b9e53e50c28cb003abb0cf730f862dbe800ea71141877761ef9143d836edaf508b0f6ef08943d8b3790faee535035d9d88cca9e148981042991d42324b0821e437f95b439925af5e662f26543d25b33e1793857336e0978917d1d91286587946b415be1b4ea32def1a72f4d27da6ea71e9f46d343cba8d539185282c2c84c509449ff0c65df1383b3d18c145ea9e6e355549d8916686a3311c91629db117fc5027fd0fb9bd085733ea9f96d9a93b50dffb0ae0dd33b39d665488fe53ef5dc5cd3a8b90d9dda8b602b937afa2d4a6c3576bc32035cbbcb8a71f9905ccba16b1adf9d83b621dea4b6ec2f366b12835e1d47021b32df771c6e7b6783e059e338ef05b89104299a5cc124208a1cc9237f330e30a1cf60a4197fcd88c231f7d84a626f761c6dd32ab8a424c76bd78be193eab2f4255188a2cad592c57e392570cbababa5ced4bce2020b112315e97c43312eef21e3a707cd87144edda8146219f09befea89464d69683e0ac2621b3e75c329bda2db3a7a0c6d3321bb2fb10720c80ba2611b76499f5461b5c32abb0e9f18d5b6653ceec74cbacb72cb367970999359563fbc2d3d25a716eec26345544c233ac482c1b71e813496613101259e4daface2e7e2b114228b394594208219459f2a65e00aa393b183f784cc394798b505ca74597ee09998505c7572ec1b4493f21b65c07a7b50d5ba6cdc6b4894b91d9d80173532ec64c998669e357a15c638555afc0b689d33067f62ea8ac7d8fb557dfdf845f424b65c935b5e460f984699831691d9a4d0e28137d3166d234ecf2f17baecca605ecc5c469d3b0c72f00a7f23afacaace8b93ddb1f73c5fe2c9eb706291a27b24ece81c7d469d836fd14940e353c678fc24c31e8f15e3a16e57a1b22bcb662eaa205d8fae922181c4e84efdb82691e8b105da411a2ee84cfbd427e3b114228b394594208219459f2a6c9ecaba42de5208a941dbfdd0a3a6d083d721d06e1d0d70f9e44a9fd05f52db5888d92c4bd15d33fdd0b33276309219459ca2c218410ca2ca1ccf646597a1f870edf87e3375e4f47f14d787a7a2224be6840f5936efa88fa4751d8c12f2142086596324b082184324b28b384104228b394d9218574af5e9bcd26dfba43baffa4c16060982119e91635d27bdc6c36c36eb7cbd78821945942992584104299a5ccbe4548837887c3210ff0abaaaa208d335a5b5ba152a91866c847a954caeffbdada5a59705ff6deab94594228b384104228b394d9d724b2168b050d0d0da8afaf976765a5d95929f2dd0c186608a7fbbd2e453a1a4112daa6a626f973c0995aca2c790364563a6c42fa50b6b5b5314334d2ff9e1b8c467ec3124299a5ccbafef2a1383f07393939a852767f379ad0d066e01ba51fa4432ca55929ad564b816528b7e233d0dcdc8cbaba3a58ad567e415066c9eb96d9d2d252fecfd2ef80f2f272be088450667ff732db656ec5e75f7c8e2ab5eb52f717578f464cab74c860110edf78c837ca134883f5cacaca1e916518a6b347681b1b1be54921429925af51664b4a4af8c97b0b910e6f91be445f946ecacacaf8a2114299fdddcb6c41e85614eb1f0f3e1d6d4d4851995c327bda178bc68fc7b21d477b9edfbe6e21c68bb290a2c797bbdfb1de5dd67d097c6d12668b65a92cbec95d947c585e5e7a30b0cffa1b6377233857253faeba7b185ab310e9c6bb72ddb96b76b96b55e16278b6fca8fee12d5cab72e0dafc4358b366314e07e5bcb2f78c346097ce179406edd239820cc33c8e740e79f7110b9c14a2cc12ca2c7949a47336a42fd2e725232383324b08a1ccf660c0b1c9636171f437f02cc28255be300ab74cbcb41541b59dc8f39e81a8a256f19c197ebb36a1a843949d99893b85529945946d4491d680899fad824abae79ca50d8999b930b5e760f6ae3bb0740a4f4dbf8a4d271f7f17a3e3110e1c0e1616adc67e8f25b0388dd8bcff04da2d80b1361d5ffd781ef6ae121c0e4c92ab572605e04c89033e23be427aedab3d5d443a4fb6b8b858fe49796198a7235de9583a72419a602094594299252f29b3d217e9f32e299f99994999258450667b30e2c4b467cb6cf761c6a5b1beb850d28175c33e419ddb1f0b224ee07c7107d67ff629ba9db230f2047c154ea49c398c5d87bd101818884a3dd07c7f2fd61cbf202f075e3c82050bd7f659d3a17dfbd1529f89d93ef9e852c7627760b2eb09a70abf7c3d121d8efe6556eafb5521cd3469341af9149517fdc729c3bced91ae565c5454e43a8fbeaa4a3e4f7ca06da5cf885eafe71f19ca2c79a36456938963472f213636d69d22385ed08fbe2c0a0f3526943d2c83f9c9277579b87c39939ff0df4066753add33439925845066fb521cbe13d9eac787195b9bb3f1b5c732d83b9f945933f67ef7296af42ef1cdbcee89cb1566788ef92baabbcb6e7822b0ea71dfea82202c5aee05658637fc4b9f7d31a9cc8be770d2ef2ad2a52afa34ec0a78e09e0a6dc2fcaf27c12464d6f342825c547effc26b91d9ee7302a58b0852765e366694a5a622b54f1e41ff92fd5417e4a0a25e0d4d5305b2b26b61efb79e0e0f45ff2a135ff7c1443aea401ae77a7b7bf789bfbfbf7ce5ee81f4215de5bbbdbd9d7f6428b3e44d93d9d0a8a2be65b676941516e0fefdfb2854baaede569e9389fbd905a82d2de891d9cadc4a58c473aaba7c513701355a9b4b66cf47cb6dcbb5fca0ff9a322bfdcff9b34299258450669fc0aac1f0af3f4361830e26531bf6cc188b446d3f33b3d25766a90fd65e4911f5aab17aca4a57fbd2b3587b39e971994d8fef86af429dd60453753ce6adf347a75983515f2d47ad28ab8ef312657e7d36c124fe5e8e98b1b26779fda2f148a835a128ee12c6cb2bd660e6b2836837b5e3f0ac8f5f8bcc4a7f5fa4c1bc744f4de90237cccba40d6bde79077ffcd7ffc07ffc4777c6a0e425fbd93f7938b6792721f3c66e7c35e20c2cfdd6cbc3dfc4ba129bf8babf6ca4438383828270faf4e97e73e6cc1979c6f645fdb4b4b4c8219459f286c9eccf3f2dc3dab56b5db9510a681f62c7f160c0508365cbaec1697d04ff986298eb93b166ebc11e990ddc158856b4c17f9baff86b6883e7f964d884ccaefee58cf80bde8c79b32e811732fff56456faa25db76e9df4e5d193f8f878b99c324b08a1ccf6870d8d7575f2ad35daf4d69e328dc1e27a64d241e73e05aeb5a551aea7974e8045df325d77994d2b2fd7d535a1bbc8d9d1ee2e1383e127576f52e0c4c9e4c7cb76a35cb7a1b9b5a7c8d8a694cb347abdd8962ee81a1b60ef7c75ef1769c6495abf24b3d2a09f7999b4ca32bb2d55df577c6c469cf96e24b685dec7faa95fe2cb894bd0e66ea34a3b832fbffc123baedd133fc7205d63946576ebe924e4841fc3e4e97e308b7a616b16c9f5be9cb1dabdae5c596683c3cecae593f7c6c3cadfc18022bdbf25693d75ead453916667a59f92ecbea81f4964a55b5c12ca2c79d3676685cc0687e703d616780a995526ecc18372e98a8c46dcf47e526681ba4737e1e19e92a6af00002fe849444154e18153a96d8f0f33b6a9b19d32fbabcaac42a190b363c70e5964f3f2f27aca28b38410caec1b86b90207b61f44a1facdbe9d47b7cc4ad75f906ecfc3bc4c94f85908e697d39760f9f2e572b61c3a2bca0dd8f71fff86773e5f8890dbb7b1f4bb77f0b79941b0582bf0d57ffe11ab8e5c86dfb18d78e79d7791d8ae77cb6c2252af6cc5c7c34ec0a44ac2c7fff23d0245dbcdb3fe8671e715a2cf5cfc55ac6be14e1f84f99fc03bffef7b78d8aae7ef60000909099185553a47563a4cd8d7d7575e96c651d239b0376edcc0d9b3675fd80f6596324bde5299759a1f22e06e09cc0da958f7e4ccaca51157cfdf019c162c59700e7acaec6f26b3d2050bba131616d66799324b08a1cc12caeceb91d9d1cb77c1d3d3538e975fb028d7cb32bb2420153651efe68939f8f40b2f98cb2fe0dfde998e4a934d0c934af1c9b364d6de8811efffab90dd77306af97e5ccb6ae991d9070da26d5b8178ee3f71bf59c3dfc100d23d0b2b8d95a4f7bb24b40f1f3e942f7e26dddaf0d2a54bf2f32fea473ab79c324b99256f9acc8a2fe2f8e86844f74a87b11515d5ed42504d78f8a01cd2e52f4a3292109d168bcbbb2fc3a6ad45abd501459642be00545b55b66817834a8d553edf56a150029d1664080176f2b3feabc96c7e7efe33439925845066c9df23b3d20c9574911ce665e292d9ada99a27ca75b2cc2e0e48929743dd326b5245e38377be464abd01baea64d7cc6c9ba82bc9eca90748bdec92d90e5505d2d20a70e1d42ff87ec46778ff939fa137bb6436a141f4df9aef9659357f0703c8f5ebd771f2e449396969693df78a95eead2ccdc84ae53e3e3e2fec87324b99256fa2cc0e0443097c024290107e15e76f15f1d3fb9a6456faf9ac50660921945942997dd5699165f69d3ef90b229add32ebff84cc5a1c9835e62f72bd4ffe36ec29994de99659471bc67ef407577fffcf1ff0cd9658982d6e99adef25b34d94d981443abcb85b66a5242626ca47224802db5d76f9f265ca2c65960c599925af15e9cbf3c081032f0c659610429925839559e9366fd23d37999789096d4ffd077303f4e23995784d5bb5aed754a356a2a1412d3fb6185472bdfad264bcf3ff7d8012951eedcd8d68173ff5daf69e7a0655b3abbf862659a4cce60e348865bd49acd76414cfd5c1d861e2ef600031994cb2ac768bab7448b17441a8ee65e9b1f41978513f92c8526629b384324b7e6328b384506629b35a1c1e3de1955e15f86da5fbd63cd2c56da4413ff35ba60ddb467cd6338b3bf350b82ca47c5d7efb68b55a848787c3cbcbab4fce9f3f2f8f9b06d287f49f0bbc350f6596bc46996d6b6b97ffe7950cedff616f6ce4ff1a124299a5cc76cbacb63406fefefeb8792fc9fd5c3bb2140a444a6577137b5a4486f88b7a379191918a5a8b1339d7ae422fdfb6a70359b10fe43aaa9c20b9afe88cc29e76dd650909c9888ccb97cb2cd58972595842b6ebbbd9aac6d5ccc637f2fdd2d9d9291f01545a5a4ae97905b1da7addffd46ae16bf28a238d9b333232e4438d0b0a0ae471f140db4a9f91b6b636fe91a1cc92d725b3f29f77ad16adadadcc108d74853e69604208a1cc52662599edc0cab3d17249c4b135b8a3941e1561d2e8f568b20a813d2e953911b77518628a5b01753ec67d391cf11a1b4e7d310cb546a97e0b0e2fda008bba1233fc5d127b6afd72a4a801736b1126ccf2972f86187c621966acf085dd508fb1530f40eb00d2afecc3e188da37fafd225d0c47ba104e6e6eae7cde6c474707c3304f441a3f4b778fe0a4106596bc66992584104299fd3dcdcc9a3a8c3054dcc5a79f7c840b652e993d7ce3a15cab34d617e70b34f8ecaf876174b7bc7b6167bf322bac0f46a3e8ab28089f7cf41784d7018d710791a635bb1a2a9365996d49d80fbffc16f9023386d64758bb60cd1bff9e91669d2a2a2ae4c38d292e0cf374a44391a531b7748b1e429925945942082194d9df5e66550fb0fdd25d3434b421fdc6defe65367f6032ab5184604764a9e84b859b0757ca32db70777f3f32bb0f3ea965a25e839c9636d51bff9e91ce9b950e9f946ef5269d1328493bc330ae48ffc923cdcaaad56a1efd469925945942082194d95724b3f5d77122aa485ef69c3c1c87d23b9e92d90b0a0722d7ff0d718a7651ad0433c64d1032eb40f0fccf9052ad43634620660a996dcb3e878bc592ddb662e5e82f10586086a925171e8bafc3224aef5cd82ccbac4d5f8de94b7da073003ac55d785d8c7b2bde37d21573a541bb24b4d239b4f2cc32c3fcced3fb3361b3d9f80786324b28b384104228b3bfb5cc9a91782910ce2ee046e059787905a2b2be0ce7fde2d0d9a544627e835cabad2c0b59eeebb9045d94ae6e1a821b170e432197b4e2a29717821312901816852ebb0967cf9c1275825053968aa0db59ae5a69e7e4aba2de8fb88a856bc3e5325359b4fb6aa937a011cb76731b7c1ebcd97fafa57367a5c329a55b9448e7cf565757cbe709526898df63a4f3c8cbcbcb91979787c6c646f9d63cd267845066c96b96d9065d03428b4371e9d1a5b73eb195b1b039fbfe2f99cd61434c45cc90d8bf6725a82008652ade7e87104299fd55e8b4e0ecc2f188789089cccc681cdd7966c04d0dd5d1d8109020da65e2fa897d882a33bdd5ef1d69b02e9d3f2bcd424987553e7af448fed97d4b128619ea91deebd24c6c4e4e8e7cf562a552291fb54091a5cc923740666b74355896b80cebb2d6617dd6fab73e6b33d762e1dd8530da5c673a196c06fc74ef27b97c28ecdff3b22279058a55c5fc2625845066c9af8e7438a5342b2bcd484917869206f5c5c5c5282c2c6498211be93d2ebdd7abaaaad0d4d4245fdd5bba8512a1cc92374466b7276dc74fc93f614ee29c219395692b51d8e6ba55c2a3e647f2f250dabf67e5c7a41fb1f4ee527e93124228b3e4379ba595ee5d2e1d5e291d7629dd9244a3d130cc908df41e972ef824cdc44a1745e36c2c6596bc6132bbfede7accbe3f7bc825bbc97553facc86cc21b97fcfcaa4e049fca2258450660921845066c9d097d97577d76156dcac2197ecc6c7323b14f7ef59997863226596104299258410429925bf03998d5e8719b133facdea7b477023eb869c85d18b9e59efefc9b4e89f10e45ec79ab815cfa9bb107e59d7b0347e60fdf6c86c7d66ff75eecdc5c5ac209c8d5feb2e5b0c7fb10da7e39edccf99389615888d89eee5f8c5627b03b128ed087c1f6c7ec6fa97e062ee55ccb937a7a7ec6c4ec0805f93b959e7c576fc34a8d773c2b50994594208659610420865960c7d995d1b2d642e66463f590985a6ccfd783f5af4c5582a1e4fbbed8189411331356aba289f86a9b7a6899fd331e5c65479d9236c12a688b26911ae7a1e91d3e53ea6dd9a229627617aef75440be96ba9c1797979172af595f8f9fe0c4c8fecdb76aad4f6c64fa8ed34606382e8eb663f7d3d91ec0697cc66d467f45fe7ee7cd4d8dbd1aaf49797e7276d87d9d48a8ce4d5f27e4c12eb9f14ec211ecf44bc4a8323f7276352e814d7be064dc5f4bcbb282e3e2d2f7b88ba13833cfa6ccfcf151578943a5f7e3c3dce1b4dfa54d7be5c97ea4e91eb4ebb33151ea113314dbc96934326c9fb344daa1f2d5ebf3bd31f6f478887dc567a8da57aaeede87fbf275ca5cc124228b384104228b3e47720b36beeac11e234ad9f6c8542d780993e333133743ea6844f15657370bab4124a217d8acc5598997d1b6565e7312d6107349662cc2fc880d2d2829ce20b3852e4aad754b911b3443bbf47456833b720feea024cef5e47863774eaa427d63b1bbbf2caa1ec50a23c6f176647cec5a5e666b475b4a019466c889b8b90e252b48bf54406cd7fdcd71379d8f0d025b37519fdef5ff48fa8b1d5a1a6bd08bb853cfe929e893ba5c5c8485c85b909a1505b9568d416608190caf8760dd4c626a834c5f8f1de6a18d080553942668b4e62d6cd7d68b42b6170366173f8cc9efe7f8a5f0dbb360d33c5e313855178a0d883e9112ba13036426b6fc2c9d039d857538646733362e37e4696a6054aab1a31693f62bed88ef4072bc476dc746d87260f0ba266a1cc5a8f3a9d126a83023f3e63bf7f08fc81324b08a1cc124208a1cc92a12fb33f47fc8ca91153fbcd8c3b73f163cc1ad43aac30b6a76072922fea9ba3c4733fa1c2aec19682db5028ce636afc7621b345f8313f03d5f5fb3135dd178d4d11a2de34cc8d9e87e919d785fc9ec537077f44bdb3154b63dceb483f8dd696e8beebbd7f084a5da6fc385388dba1922054d45cc3b4c865a8eb34607dc11d14dc3f20fa5a815a6b39e6dce97fdb1fd6bb65b636a3fffdbb334f96d9d0b24484e46c41526b09e69408894c5889bbea6a9c16fd6e4c7b84bc9c694266d538993a03bbb3fd50d5765f96d9958f84cc169e84574329ae1dfa1a230ec7a0b86a5baf75cc479ec98aadf11e086babc0e1c8a9585a5a8807dee3f1eda1b328575e81675d35b20aa4ba9168a8dd8eaf0f8ec08cdbb3f1a324b3f797235e538393623bb664e4e051ce4c21b35aec7f301de75a2a70fd19bfb3effdbfa7cc124228b384104228b364e8cbeceaf0d5f0b8e5f174524e202eed74cf72acb205de651750571f2e96e7a3d062c096c270288a7ce171779b2cb3f372d3919bb10b73332fa2a13e4c6e37eed4584c490f467dfd5dec49dd8dcd573761e66df73aa20ea2c5908789ee759c4cbd87934587d1a64a92979354adf0a90e457979003c6e2e4175a71eeb0aa2515379cbd557d07a4c0bf7e877fb1fd6b96436bd26bdfffd8b988b6a21b35ba2fc50da58892a652c661715213d7e05e2b5153812e681f5f75350523c157142668f3e988cade967a0680e976576c5c35814e77b0999ad4452e21eb13d3bb031724e9f752c11721c9d73178a8a20d7b2a21405694744dd9dd8747331f6d6281025d79d88a591bf604ff11dd4d6f9635eb1d88eb8657820b6e3b0d88e8d09a9282c9981324b2db68bfa679bca71fd56fffb3deed238ca2c2184324b082184324b86beccaebab50a93c326f7932508ad8e477aea355c13c92ebb828561ab11d952806b59b7d0d07211f3c336a34c938bf0fc58b45b8a313747c86cfa4ed176056eb514e35a7a08ea55d7b1247239a22b53702d3b0ad58da731abd77a760b216ea996d69186849a302c11ebbdde5221afb3bc45b40d5b8398965c84668743db65c4dae855a2de7d5ccb894371f5514ced77db2723ab2eab4766fbddbff0d9f2ccec66f1f8bea1030ff2576166a190c87bcbb1a3200539e5d770a7b50cfb844c4a325ba188435a4b150e65ac946576799690d9bc1358167711650d62fbabeb71216ee113eb598f2a8b0597b256c8cb3323f6a0b22504d74a0b70276b03f60899bd23d58b3f88fcc6785c2b49474ea927e6141523edee52ec2c4cc3a3b26b885296c2f3d67421b375d82aea4b321bf48cfd1e7b612c6596104299258410429925bf03990d13321b3279c825abd62db3d5e94372ff9e9531be6328b38410ca2c218410ca2c19fa32bb32742526dd9834e4d22db369d5694372ff9e95d16747536609219459420821945932f46576c58d15f2bd49875a326b325d325b953624f7ef5919e53d8a324b08a1cc124208a1cc92a12fb36752cf60fce5f1187f650825703cca5acbe4fd2b6929919787d4fe3d273b6377526609219459420821945932f465d666b7e140d4014cf29d84efbcbf7beb33db6f36fc93fce1743ae5fd937e06a404c8e54361ff9e95f1e7c6636bd856586c167e93124228b384104228b364e8cbac348be7703860b3d9864cba45b61b697928eddfb322fd1e392b4b08a1cc124208a1cc92df85cc124208a1cc526609218450660965961042086596324b082194594228b384104228b32f96d94f3ef904bebebe0cc330cc6b0a6596506609218450660721b3fff88fff884f3ffd94611886794da1cc12ca2c218410caec2064f61ffee11ff0f1c71f330cc330af299459429925841042991da4ccfee52f7f611886615e5328b384324b082184323b0899fd9ffff37fe2cf7ffef3a0f2effffeeff8c31ffe807ffaa77f1a72f9e31fff88f7de7b6fd0afcd071f7c807ffdd77fc53befbc33245f9f81e69ffff99ff12ffff22f78fffdf707fd5a32cc500f6596506609218450660729b31f7ef8e180336cd8307cf3cd3718316204a64c9982e9d3a7e3ff6feffca3b3a8ce3c3e7fe49ca62db6d4725adaa62daed92eae20911f1a204048800049a010d70858a38dcab6b8a2424b2db258b1c54a15155ba4b6468b15352a5ab011b18d2d6b51b1a2520c8a1a292ab608010204457df67d867bc9cdcdccfbbe095a34f97cce790e9979efdc5f33dce77ee7fe988a8a8a0e6793274f960913264851519114161686a327e9d48f861d356a94949494c8a44993e4cc33cfec90f593ae9d75d659615d8e1b37ee705d6ae7bd2dcf1c86757443cc026216000010b3ed10b39ffffce7c351b3744c85485e5e5e28680b0a0a3a8de98ecff6dfb8bad10ea98a7c156ac3870fef54f5d316cbcdcd0d9f23fd37dde70ec33aba216601310b000088d97688d9638f3d369c4e9bca54a0f5e9d347f2f3f33ba50d1b364cfaf6ed1b8ed046d58f8a339d5adc59eba72da62f0554fc6b7da6f3ec61584737c42c206601000031db4e31ab223599a9e8c8cece0e055d67b621438684a2d5af1ffdb486fedbd9eba72da63bb8da172418d6d90d310b8859000040ccb643cc7eee739f93debd7b27351d71d4d13415736a3ad5583b60ba49926e00a5a69bfce808830dd3514deb43c5bd5b3fba1196d6890da375a5e7bef18d6f842f01f4df134e38219c82dcd1eba72da6cf4f4e4e4ecae70fc33aba216601310b000088d9768a59155e7176e28927b6106b3a0aa9e754a0e9bf37de78a35c7df5d5e1df2adc4e3ae9a416c2aea399965f772976eb47a7ccdadf75c4d18a580d7bd55557c945175d141eabe98b0184ec9016cf52b2e70fc33a83216601310b000088d97688d9ae5dbb86e22c99a94055e161a7d31e7ffcf172fdf5d7cb962d5be4f5d75f974d9b36495d5d9ddc70c30de16f2ad86c786bb9b92572d7ea57a56ef513d2b063939c3924af55980fca0a4617cb154fbf2e7f7af4117965db6b72536559385a1a1576d0a00259f5d21e5937eb82b4e3d7cea7ad1b2b660fc535281c6dd43a503be38c33c2e768f5ead587cfe928b60a5e37be81032f9237de7d3b0cf7c8dfde903b96fc24651e72736f91c6fdafc83413d7a084fdf77f9f1d5bce28fbee9cbba5e9adbf85f9d1ebee7c7e873c76ebbcb4af9f3879a9bc2fafc87fb5214ddf74542ad5f387611ddd10b38098050000c46c3bc4ec673ffbd9708a709ca938d3dd3655eca8e9391d79bceebaebc23a6a6a6a9203070e847f2f5ab428146b2af06c786bfff11f3f939d0d75726a4218f7e8d1c34c5dce9792d271326e5ca98c0cc38d94d2d2b13274d050195baae706cb989252291d374ec68e2890fc51c5e1275ec615171dda6178c4d8f0b834713cd8496bda9ca7e58dc7ae3b3c72aa23a2a79e3a48c684698d9331f9c3c270c3468d4da4779afc3e21669f9c31f5507ec61d0a33222faf5519ac69bcb67eb4bcba29949ed77ff5bbb2da3955817bfef9e787f5f2e8a38f1efe0487feaed3b1ddf84e3965ba6cddffcf50d8695e5fdcb55fae9d962b43878d3e54de449d0c4984cb2f283a745c325a06f4fbb5ecdebf592ecc1b2aa525c532e6971be4bdd7d748d1b0a1cde1c68d95bcc4752312f5565a5a129e2b1ed59c6e9f0917caae030d52187eeb72b8bcbabb51aeaee8254386fae98e49fc5d9a38572ca3c71c8a67ecc842e9d77f70e23e9e2c831362b860e49843f762ece830eea244b8e2924361478f18145b97c99e3d0ceb2c869805c42c00002066db21663ff399cf84e234cebefef5af879b1e59533176c10517c8fefdfbc33ad26fb1eab766957dfbf6c9b7bffded7004d2bd46edb8e34e94252fec94bd6fbe2c3f4c883a3df7dbd5afcadf6eb852cebde87ed9f9fc2392d7ef2ed9b7f779f956df73e4857d7b6569dfe1f2f4ceb7e5c57bbf2b79a75c242fef7c4dfae68f941d8974a69e79b3bcd1f077997ef219f2f7837be5fad1230ea775e70bfbe4895f7d395ca3aac72a322b2fa895bddb9f916127ff48b6ef7c592e3e75babcb47787fc38af40ea76bd2d4f5e72be5c7eed7a79e9915b65d8f01ad9f3da6332c12b8335b77ef43bbdf6bcaea53deeb8e3e4ca2baf9477df7d57de7befbdb05ede7ffffdf05847b0f5775d3febc63760c0ff8462d6ee6c5a5dbf47aa7eba485ed8b953e6e70c903f6fde29f7ce9c2a0f6eda23eb1e3a4bde3fb84f4a0a978462f6772b37c9dabb6649df6b9e92f7b6fe4106f5bb54b6ec7d4b7ed177a43cbde7a0d44c3a4d7e79ff16d95d7f8f944db95dde6daa978945b966f7e55cb96563a3bc787b6fe97371b5ecaa7f504eed5b21753b1b6441221fab376c9715975d2833af7846f6bdf9940c1c3840b6ee7a47eefbd36fa46173b51497dd2aefcb4b32f19485f2e6fe37e5477d4f938dbbf7cadd8307cb83cfee9457ff305f665ebe5ede7cea76191453975ffef297933e7f18d6190c310b8859000040ccb653ccdaf59c51a6a3063a62784a387a774a786ed4a851b264c99250a4555757cbca952bc3fad2f5b3fae9151dcdb5e1ade9463f5ffbdad7644cd925b279df41597659be6c6a78472eff4e1f397e62a5bcf7f62e1936f8be8498dd2853fa9c259bf635ca6ffa0c95a71262f6ee73cba56cce0db2f7b59a70a4556dcae295f2defeb7e48f7ffca3bcbceba0bcb47ce4e1b42e7ffaad8498fd528bf47fb9718f3c737bff5048d6bcb657563cfeb0ecffc76389e393e5772fec96272f3e4f1e7c759ffc73cbb3f2a73faf9177de3b28d3a60c68550e351d99b5f5a353b055c4ea791dc1d65167ad1f15b4b7dd765b582f4f3df5945c71c5153273e6ccf077bdde8daf5fbf0b4231ab75a4a662f6813f5c9f10adfbc3f26d7c63b7bcf1d80fe4b29f3f2ebbfef18a3cb27a9514e4dd24bbdf3d206f1ff8a7cc48d447df054fc9bb5b6aa4fceaa5b2e795eab09c5fb96bb3ecdd78abdcb47c8bfcf5962be5df478c53692d93260c0fd3d591e2924b9e9083afaf90df3e5a2f7ffee977a5f88239f27e225e4df76fafed94379f9c2797a8207d7299f4499475e5b3dbe5c5e79f9195775e29a3bf794b22b6cd3277e91ad9f1dcd5619af9355b64cf5faf9115cfec9087e75e20e77e6fa5ecd99c10d911f5a86647a331ac331b621610b3000080986d87983de69863c2d1d638b3c2cd4e9355f1a6a3b57ff9cb5fc23a3a78f06038d55879fcf1c7c391c743a38d035a58bfca99f2cbeb7f9c103c03e59efafdb2eed221b26ad32eb97fde77a4f09c05f276c366193ce026d973e065a91c355dde78a7516e3be99098ad3e7f92f42dbb5c76343c27670cc895454b6e96929977c99eb79e96c27fcb91efcd5f20df1b34f0705aa79fbf441a5ffd3fc91bd857befb83ab65e1dcf3e4fc2575b2fdb95b6540ef7279ae61875cf1fdeba461df6b7246bf81f2d737f7cb13179d2757affcbb3c71c765f29f2796cbcfaebd5cc6f4efdfaa1c6aba6ed8d68f4e95d53a1960469bb56eac9d7efae961bddc73cf3d2dce0f1d3ab4457c7dfb1e12b31a6fafd32e961d3bea65f2b99748c3fe7fc837ffedf884209c27974d2c91d957dd20e75e58244defbf2be346df2dbbdfd922f7fd6a85bcbcf6d7d2f7ac5a7967cb43d2e7f46b6477e34bf2eddeb972f15f77c88b37ce929beedb225b1ebd49068f9f9dd0b2db65427e73b906956a1e0fc8b6449dccfcd660e957325d761e784b2626ca76cec53f92ff2dffa65c9c10b3ff5877a7f44f88f5f93fbb4e0ae6fe449a763c2f45e37f1d8ad9e273ee90c69deba5bcf730b96ae30e796e6e4528661ff9d17439fffb0f86627660443daae97add64cf1f86750643cc026216000010b3ed10b35dba740905689ce91438bb6e56d7b9ea37425590a9089933678e6cdcb83114b6975e7a69784e471e757456c3baa6f12cbc63a5ac5ab54a7ebffc16c9ed9f9310b69364d9830f27ce3d203f349f69b9e6aedfc9eafb96c9af1eb85fe62404d9cfef5d29574c1c1b8e7e7ef38adfc8430f3d24ab96ce0bd7a59e7bf1ad617c2bef5e14aec5b56969d89cab9685bfad5a75a79485a27c98fce281d5e1b95ffc5769389db764ee6db2aae6f772e33d2b65f1a40972e28993e4ce871f4ea4f17bf9e980be613c7e3954b8eac8b0ad1f3dd6bce86f3a9d593735b2a275cc9831f2ecb3cfca35d75c73f89cbe1c5031ebc679f2c993e4b7897285654be4efecf2b161fe0a465f6fcaf05b2939e10439edec05e1714df5b5d2bfe74c59febb2a292d3c431e58798ff4ea7d92dcb772952c5b708e9499700f3f5425f90981bcf8be57a5fe994713e76a64f1d4ecc3f752ad4f9f02a90ad3be5dcacc678786145c6bd2bd432624ca36f9dc9be5ee9fcf919313f767f60d7786f9bce907e7495ec10f127f57c988c4f9f3be7f5378cd03b7fd4cfa258e7fbce45eb9e6dc7299f8adabe4fe5b17c8294e9ad6b42e746436d9f387619dc110b38098050000c46c3bc5ac3b6a18652abe54b0a9080aa7a6969484a255a70dbba69db233cf3c33142a1ad63515672afc54bca868d5732a9cf49c9daaaba6a3936a7a4eafd1bf6d781b870d6f8f358c1ebbe9b9716b383de7c66be3b3e7340d9bbe1bc6375d0face1dcfad132e935fabb0a7abd56cffbf5a382beb4b4b4559c36af361e377f6e79358ff6d8fe6dc3b8c76ebd683c8bef7d559eaefaf1e178fcf4dd34e2d2b571d9fab1f7c596dbfe6def95fdddbdd62fb33e433a8d3dd5f387611ddd10b38098050000c46c3bc4eca73ffd69f9ea57bf9ad454c0d94ff4a8d051415b595979782456a7218f183142264f9e7c580c7544d39d8b752ab15f3f76e4d986d330151515e1dffabbd69d4e39d6b5b45684ff2badd74989347bffe747aa2ef599d19724a99e3d0ceb0c869805c42c00002066db21663ff5a94fc957bef29594a6a3863add58a786ea689b0a92bcbc3c19397264286475eda81d89eb88a66255a74febfa36bf6eb2b2b20eaf97b5e155e0aa5853013b7cf8f0700af2d1cabb1dedfea8d4a5be1cd13ad14e7c3acf1e86757443cc026216000010b3ed10b39ffce427e54b5ffa525aa6a3ae2ada548cd829b11ddd74545585ec902143c272c7d58d0a5a5d2fab75a4a2bf33d44d5b4d773bd69721fa1244a75da7fbdc61584737c42c206601000031db4e31dbbd7bf7b44d859d8ec6da8d9054b875c44f65d85168fd7c8c8e22eaf750d3a91f1db1d6115c15fb2adeb4be3af32747746ab6ae8bd5ba54b1af23f8da796fcb3387611ddd10b38098050000c46c3bc46c6666a67ce10b5f68b3e948a40a93a2a222292b2beb503671e2c470eab44ecdd58e667bea47477175e7e7b163c776b8fa698b8d1f3f5e0a0a0a4261ffc52f7eb15d7589611ddd10b38098050000c46c3bc56cb76edd300cc3b0a364885940cc02000062b61d62f6139ff8841c7becb1188661d85132c42c206601000031db0e317bcc31c7845362310cc3b0a363885940cc02000062b61d62f6ecb3cfe64603001c5d5f839805c42c0000206611b30000885940cc0200001d0cc42c00002066e1a32f6613d6836a0000000fc42c00002066e123cd9b095b6b3a2d1886611866edb184cdeea0beefc2846de31e6318861d557b266145c8313812ba9b37ef18866118e65bcf0eeafb4e31429d7b8c611876f42c17290600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0895898b0da34adbd7437d75778e7b323c2764b5897a354ee1509bb39619509cbfc88dda79e3caab12c33f71300a0adcc32ed7ff788df728c4fa84b5863c2ea13569db0f11fe3f216393e6f4a8ab0d526dcac23a8d754e478fd83b8fe424720a703970d00e0a80a817ac7b6254c12d6e09daf3f82347a9838e73ae75430364538d90613fec3a6d6e4c92fa318ab33c2fa68a3c27e4dc2aa785463a90f8eec650b00745eaa4c9beffb9d79e6bcfaa9d526dc0a236ac59cebf2312c6f85e3e7d62409d7df09577504f59a8a7caf7f10d55fe828e477e0b2010074e8c636d3c4db2385a39b1bd3a9f830c56c545e179adf3e0aa37d3d8ea033d159c80d0ebdf10600682b3d8d7f7267e3cc32edeedaa0f50ca2ae095bea08da8fab98dd6afecd8a09b7d008f90f5bcc76f5fa071d59cc768de80b0100c0c740cca6ebe85289599d7ed4cb38846474311d94cc76885925c338f10d31bf7733f9e89e8688ef693a431949c2753362ac7b3bc46c664c5933cdb5e9d4978da3fb8778bfb34c1aa94632ba46741e33ccb5a9ee695cbabd82f44650b2da990600741cba9bf6bf3e45dbb9c2b4cd538e303deb4f52cd04ca346de391b64f56ccda97b6d363c2a9d8ad4ee27f324c7ee2da4cd7c7b7c5c72413b3a9d2fc2048d76fdbbc768ff061bdda2158db926e8613160000da2066ad73eae635aa8dc6f977f104e5c1842d8a704eee745eeb286bbd73eeb4661d795be7fdbedc732236df3a7d795b441c6d11b39941f3d432979c887c6abefa4788e90541f35b6db5ed099be185eb19119f4e6f2ef63a1daee53b65ad089adfae6f35f7a2bba9cf26efbadaa0e51bf82a533f9541f3b4391bae670a27aa65591f536f1a578d73aed8bbdf074dda5d225e62e4052da7f0293a42d2e05cdf14717dd434e3294eddc4a56beb57a7b7af75c26a1e66d31400740afc69c6b3cdf1d414d7e5386da64582e8250f512f6f73bc76c7b67bd9117ecd6febd79ab6304a6caf3161528959fd7773103dd538cf84191f2166d507ccf3dae546d38e67449479bcf11936ec5acfc7f87d8e38313bc38b272acdb8feccbc88df8acc6fd39c72cdf7fce1f688e7c0ae379ee784ab34be65a9f13571d747f5af32d3ec2fd874cbbd7ad86cee170000a42166ad639b12e1f4ac28b0949b738511cea9cc3850eb50f3ccb5cbcdb919268c75f88da6c12e37c271aa3957e788139bef06e32c171ac7d45631ab4e7699714885cef91e266eeb9cf24cdeb799bcf472c2da37f68b4cbe8a8cc0f3eb7583b9de96abcc08b326234ab34d5dd8b54d15e67cbee3f0d69a74ec94e8b526efb34c382dc362137e85d7d1683236cd94afdc94656b907c24d3bed1efe59db7f7bcdc7b5ed699bf734c47f1a0f7a260aed3495b6ef23bcdd487ed48e599971a8b82d653c07d315be1a45b6cea619e49775dd0fc46bfc27966969a3c969be74abcfb0f009d43ccdaf63b9d4df7b6997625a38d6236dbb4b5db8c3fcd71fc89b683dd3cbfb6d5f16b8b9cb6abd24b273b89788b12b35690f9538d17199fdb2342cc5a7fb2ccf8b6fca079daf5cd11656e32ed7effa0f9e5e9b688322613b3f605c372d32ebbbe60518a7b546fcae2b3cce4ad9b97dfc5c6dfe49b30fee875adf1bd8d26ede5c61756996761ba29abfb92343f49ffaada49d7ef2fcc8b48b7c15c5f68fc7ca339cf8c22008034c46c97a07964cc1522dbccf9f99e236b304e3eca39a53bcdb8c6c4ed3b5b2b746679f95e1fa49ea2e38ad9389be685b7ce3ad73bdfcb1367458e6372c93082f4a011a4dd83e875b985c6b9e57a8ebd2ae21e6df0ca9a6dea7c41447937042d47aaab82e829667ebd46d1cb84f15f16ac30e9673a9d8828616c057ab177df977ae16ca7a96b44c7707e8c98cd348ebd3e22dd59debdad703a6541c40b1a36e900e87c62767390de5a4fd78ff468a398b52f4c7bc5f8dff9de71bdd7d6db59306b627c68769a623627c20fd8d9377323fc8f6dfb6b22e2b5a22cc72bb3ef4bc67bed6b2a316ba77daf89f0ed719b77051142382fa22f63dbfe9c207e3a75adf16b5dbc7b5e16219afdfb9165fc62594c59f3d3e82ff4f0d22df7c22e88281f0000623649477e8511af96b5c621d49abf2ddb1d71d25e319b19b41ec57369743a0ef931022b5527a4cab36ae3b80e7a0ebe21885f43bbda84ef12c48f5afa9d085b478d26cffd63e24e266617a451ce0ce3a8eb4c1efdfaef1211be3148bdb1c9baa0e554b6ee26fec55ee720eaad79b6f7dbdc18273d2d681e959e12c4af5f73c56c6e8a9731ee0875454cba59019b6e017456315bff2f10b3dac6ae8f89d35dc661dbfaa8cd086f0e5a8faac64d1b4ee687fc6b0a1d41ecfb1fff456454df61b657e6a875b20d4e7f219598b52f58a745c4539ce437bf3d77056365d07236d9eca0f5ec32cb74efb7da18df59eba4531844bf54f7cb6afb0b51fedfce749a9a225d7b3ff3f9af0c00909e98ad74c45a5723602a4c782be8ecc856d9118a597b5d32abf7f29deef7db92ad99ed6284ab7dcb9c19448f1c467586aa93c4ebd76d61d0bcbed74e255bec39b6646276464cdef5fc7247c0baf5e5e6b93e89384cf529262b340b3d87dfdfeb6424b31aefbee74708eb6541cb75afab4d5a993162b622c57350ef741493750210b3009d53ccd604a947372dfe4bc274c46cf734dac6ed69f8e33c4f3cdae3ca368ad9d95ef96f76da48dfff2c0ce24742fdb05546b447b12ec277c789d9b969d457aa593435a64e331cffbfd539ae4a238d0ae7daed1169f40c9a97a8b8cb578a93f401ec8cafcc34fa0b717d16c42c00401bc5ac75c4b382e637a63d9ceb740a91aef37037843a52316b3f321e65651f829855a63a823123889e8eea9725cb115fc9decacef2045bbee924b81b168d4f43ccfa65edea3853bbbeaac274ca6adb2866eb52d45f57738fed1aa9f541cb91eb6227df71f7ae288598b564990eda6a479caf73eab82d6256eb780d62160062c4ecbc347d4996d3d6a612b3cb22c4ec9a246d63459afeb8ce69771707ad37624c47cc663ba238d388b01929c46c761231bb28898fb76c6887989d9fa4ae527d9aaddcf1ab5941eb595c558ebf8f4b23dbe93b247bd99b639ea1f51162db2f6bdc0c2937ec6cc42c00c0072b6603e3bc571be7b9d911658dc6d9a9a35a11e1e43ee869c6f94ed80f5acc4e0f5a8e7e6e0ba23791b0f5d164fe9e1fc44f1bb202b9dc38afdca0f55a602b026bda21666d9ea3a65cad8f10b3514ed4ee425d9d461d6a074ddf50f70c5a8f14279b666cbf3bdc2d8598d5ce83bf0ea85bd03c72921b2166fb07f1d3cdbb05cd9b88206601204acc669b367043d072c4ac8bf145531cf1e88f8436c488d9b55efb9b6cd94abe239c52f9e3598eb8541fb5348df246bdf05b6fc4b55dcf9a15e37fac8f298b8877bce707a2be7e60db7f77d7fb5462d6be348fda5dbabbf111e97c7ece8e94ce8e10e4f65c618c48ef1fb45c335b1f117fffa0f5a6613d8d8f8c1b69b7fd85bc14fd05c42c00c0072c66671bf1b63968b90ea526689e365b790462d61582cb631a6aebe0167f0862b647d0bc6ecaae7db53b2716c7d497154876cd66758448ac0b9a772ab6d7f96ba1ba062dd775766b8398b51b41f8eb7edc1da7fdfa9f11d3394ae7db8976b3abdaa079632b97cda6039115739fa7a710b3b54e7db9f8eb8c5c319b618eb7475cb7c02b1b621600a236115ae0b4eb5d1dbf60773ab6cb50dc1922b6cddbe69deb15347f76c54fb338a64dad4ed31f6799b6b726487f07f628313bdb69cbd744f8ee2ae7f8a011e76e19331c9fdacb2ba39ff7699e384d2566ed2c20f7eb05966541fc5a579f4541f35a657f5db1ddd86a7544b9ec464cc94666ed922b3fde0c93efad3165cd49d25fd8e0f93fc42c00c00728667b39e2c87d433bdd39df2d8598b582a4c61154954e07c18a3cbb43af3aa17941f3e704ecf6fe594728666b3ddbe094c11dddeb16347f3667be1144739d7cf488e8a8d498324d0d9a47465d91bfd611b453cc6feb82d69f056a32e95419e71757d642a7a355668e6d1eed14e64c2f8f4d41f374e48526edda363c2f5b3d31efe7e7a0a99f194e1a368f9929c4acedd8d5993a9c12347f62c7cda3ff699e2213a6de749c34dda541eb5d3811b300102566339c3643fdcfcda69d5291eb7ee3d3df0dde8ae035a6cd9a6bc2d77942242b68f915006d8bec67561a83f447660347c86e4db3bc516236db29d3d42462d66daf6d192b1d7f3a2fa25e1b82e6cf092d70daef8c34c56c10348f526e306dfa14e7c5c28a34cbdd3f68f95d589ff95eb92a82e64f08cef7fa0ef53162d9e6c74e4db6799c95e47e2e727c5385d75f981ad16741cc0200a420d734d4d353845b63c2b9d37b7a9a73beb0c98a88b387699cdd9d73bb986b1b82969b33a8a3ad0e9a3f66de688eb323f25d9666399705cd1b1db9b6c638e1a837bddd4da7c6cd4755d07ae431300ed77ee2c1beb1f5dfc27733f1b91f9f57813bde0b5769f2d6601c57b2b2563a02d3a65b649c7fbd2392dd91019bcfeda6b3d196efd5cd32f11627e940d404cd6b5d6dc7b09bf712a43e68fdd9a3c094715dd0726394c5def56b82e8cfebac71d2d5f867072ddfba972549b73e486fb76800e87862d6526cfc5393d306ad336d96bdae36689e5e9a61da8d464760563a6d9cef17ab9cb04d46fcf46ca33f2e0f527f5b368868f7ca224471bdd7b666c5b485e541cb35a1eb82e84fc6d41b9155e7f8cc4541cb1156bf8c593165f67dc13653e68c36dcebda207a84d7f5dbee264e51f9581644ef189d61f2e3ee7db1d913a471f7d3ed2f484c7f61598c884ee6c70000003a7c070e0080b630fa13322e51eb32f38d08ec7a14f33f2348fdad5500000000c42c004007a3fa63dc16ea28aa8ee8ade03602000000621600a073506e84acddd0e8e384ee5ba1d3611b4cfe99620a0000009d8aca800d8e00a0f332dd885815b43d3f6679d711595dcbab6b408bb9950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d021f97f9a3e15cf46927ea90000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i {\field{\*\fldinst{HYPERLINK "http://appengine.beecoss.com"}}{\fldrslt{\ul
+Appengine boilerplate, desktop and mobile appearance
+}}}
+}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Although it is using server-side technologies for templating using the programming language Python, the principle of triggering progressive enhancement at page load is the same as {\f1 $mobile.changePage}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As you can see, the JavaScript and even the CSS stays the same. The only device-specific conditions and differences in implementations are for selecting the appropriate framework imports, which are located in the HTML template:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 ...\line
+ \{% if is_mobile %\}\line
+ \line
+ \{% else %\}\line
+ \line
+ \line
+ \line
+ \line
+ \{% endif %\}\line
+ \line
+\line
+ \{% block mediaCSS %\}\{% endblock %\}\line
+...\line
+ \{% if is_mobile %\}\line
+ \line
+ \{% else %\}\line
+ \line
+ \{% endif %\}\line
+...\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 QUnit\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Introduction\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 QUnit is a powerful JavaScript test suite written by jQuery team member {\field{\*\fldinst{HYPERLINK "http://bassistance.de/"}}{\fldrslt{\ul
+J\u246?rn Zaefferer
+}}}
+ and used by many large open-source projects (such as jQuery and Backbone.js) to test their code. It\u8217's both capable of testing standard JavaScript code in the browser as well as code on the server-side (where environments supported include Rhino, V8 and SpiderMonkey). This makes it a robust solution for a large number of use-cases.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Quite a few Backbone.js contributors feel that QUnit is a better introductory framework for testing if you don\u8217't wish to start off with Jasmine and BDD right away. As we\u8217'll see later on in this chapter, QUnit can also be combined with third-party solutions such as SinonJS to produce an even more powerful testing solution supporting spies and mocks, which some say is preferable over Jasmine.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 My personal recommendation is that it\u8217's worth comparing both frameworks and opting for the solution that you feel the most comfortable with.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Getting Setup\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Luckily, getting QUnit setup is a fairly straight-forward process that will take less than 5 minutes.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We first setup a testing environment composed of three files:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab An HTML {\b structure} for displaying test results\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The {\b qunit.js} file composing the testing framework\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The {\b qunit.css} file for styling test results\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The latter two of these can be downloaded from the {\field{\*\fldinst{HYPERLINK "http://qunitjs.com"}}{\fldrslt{\ul
+QUnit website
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you would prefer, you can use a hosted version of the QUnit source files for testing purposes. The hosted URLs can be found at {\field{\*\fldinst{HYPERLINK "http://github.com/jquery/qunit/raw/master/qunit/"}}{\fldrslt{\ul
+{\f1 http://github.com/jquery/qunit/raw/master/qunit/}
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Sample HTML with QUnit-compatible markup:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+\line
+ QUnit Test Suite\line
+\line
+ \line
+ \line
+\line
+ \line
+ \line
+\line
+ \line
+ \line
+\line
+\line
+
QUnit Test Suite
\line
+ \line
+ \line
+ \line
+ test markup, hidden.\line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's go through the elements above with qunit mentioned in their ID. When QUnit is running:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b qunit-header} shows the name of the test suite\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b qunit-banner} shows up as red if a test fails and green if all tests pass\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b qunit-testrunner-toolbar} contains additional options for configuring the display of tests\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b qunit-userAgent} displays the navigator.userAgent property\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b qunit-tests} is a container for our test results\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When running correctly, the above test runner looks as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000002a00000014a08020000004d697aeb000020004944415478daec9d777854c5fac7bfbb7bb697ec26bbe93d24a490044242ef20d241045444456ca857ac5851afa25c15db4faf8a82781545453a0a4a2fa12604924002e9bd27bbd9926d67cffefed8b06c369ba62878ef7c1e7d1e32e7cccc3bef94efcc9c39675976bb1d040281402010febb601317100804028140049e402010080402117802814020100844e0090402814020108127100804028140049e402010080422f004028140201088c0130804028140b881a0fa74b795a6f79f3c7bf054d6b9bcc292aada569dc14ad3c48904028140205c73b814e525154706070c8a8f9e302c65d2f0c15caa0faacdeae597ec343afda71bb77ff1d3cf2d1a2d713a81402010087f31de72d983f3673cb2708e5c2ab96602bf65ef91e5abd734a95b897f0904028140b88e28155eab972fbd75f2d83f2af0369bed99d59f7db97937f12981402010083708f7cd9bf6eef287391cceef14789bcd76cf0b6fed3c789cb89240201008841b8a5913467efdafe7bbd1f8ee4ed13fb3fa33a2ee0402814020dc80ec3c78fc99d59f7573439702bf65ef11b2334f20100804c20dcb979b776fd97ba4abab9eb7e8353a7dcadc07c8a93a02814020106e64940aafacad6b3d9eabf7bc82ff74e376a2ee0402814020dce034a95b3fddb8bdb72b782b4d474f5944de772710080402e1c6c75b2e2bfcf5dbcedfc0f1b082df7ff22c51770281402010fe16b468b4fb4f9eed1cee41e00f9eca22fe2210080402e1ef8247e1f620f0e7f20a89b30804028140f8bbe051b83d087c49552d711681402010087f173c0ab787dfa569d519fe442b149234a918404b457d31a9936b4754a89f37d0a2ab2f561367100804c2ff161e85db83c0ff29bf00ab18f4d18adba60f8e5149045782689da6eefce19ffff9c6ce8c8ef73ef6fa5b4fa4f99efaea853b37d57791daf07d9f3f10c96d58f3f8f3ab2b7a6981e4a3cfde991e8e7d1f3cbb74afbe579239f9d1ed8f0d46cfdea0e8baa3f31efecf7599af4c9cb5f8f57b27c485289d15499b34e597ceac7fffc38ff3fa9a589f5df4df05f7e6a993fa7ba3e8d8fedd15d65e46993663523f89f5cccffb4fe9af8b01846b56fbd3664cee27315fa3aa2410fe6a3c0a37f517643cf1ae17bf797c94f4aa0299688a125094541e3c7aced20333e67cfeec92e547afde1f1a16a95249c295de4017021f10111fe92f853c44d27b2b944989e12a01521242b0371ff05bb3eed571b2964f1e5af171174bdef07e316101febd4a3b247100708d04be67c39c2c7febd39727853bffa4699aa2284a208f1a38f9cd6f264c59ffdcf44ff3fb92759f5df4df85c03fc05b4c21d057828a5e1658a0f2f51653662feef532e0fa229c36635c04bfedf4ae239996bfbb550295af5c4cd1d7a82a09841b823f5de027deffc6b6a5290000cdb19fb67ef1fdaf3b2af400a2e2872fbfeff60563a329caffa1f737f2972e5c96d91ec56ced69d1ac070d00b4f9774c73dae3086363c30305fed101401763e981ef3f78aa2a5c68321b01800fb4064c7860f9a470a0eaf3173fbb2c10c004004201df5893bfe3da0d4f3d1ad6bec1b0e04587bad38d399f7eb0e6abbd65c50014e12f3f78cfd2f943a5a0462f79f3ab0b77df7b54ffe7b9e8bf0c9b0da0c0d8fa1c85be7e065cdfd143e5eb2da3643e62c0f2b7b7ca6603281b0d0281087c2f099db7dea1eea6c297663eeeba102cce3bb9f4e993ab273f7070d52d0ac8177ff8d68151cfeff8134d295bf9e23b29fec8da947f6543a3a72982ba6cddce32d780b450edf24980bee5d7bde70efc893b2dbd9abb2c9f970a009aacf953571c70b179e5dbafad3cb0b87ccd020504b3ff71078eaefd135d44f8dfe6c6144522d504c25f21f02fbf305701009acf1f7cdce3366ff1deb5f3fc020f3c3e1482a4671f89dbd1b72d650fa48d193e254c0540535fb87b6fbeebb6f981a3875d55d9b115c7ef4be2b25ef82c2a3e6edae0683900b3f6c4bec3073a975ae1373b3132264c2580b9b6fcf2baa3656ed77b67585cacaf0040f9beef3c4c3532fff3eefe116f4e0aa602636703bd9f36f5de453d17f3dae117e81f2d170330e95b0a2ad49ebfc1c49326877b0b4d6648f8dada863cb5d1730d4a1431a1de02c0a46929a851f7ea734ebd48b9bd4548a4c9bede520105da50585657dfc5f23134d03f502ea60093ded0dad25ca8eff6713b4f18adf4f2918b29d03a4d4b768dee86f22aa7a70ee1a790f2415774511d5d3a3cd85b2aa0005ad7d490dd60ecab0fbbb3aac7c4adbd760e81f0bf2df0e316a4c901349ef87a79d707be3236bcb76bc1c6990154e2cc19519fe6f7fd4976f82f7b3e1dadaafbfcc5ed694f2e4e51390ff1e1cd559a836b56ce59e79834f86ddfb376820ac7d66e8a7d60a1aafd16c9e26f762f06d419ebc31edefc478bab18fecbfac74687c8af863cfb5479c6d63957cfdff9adf96ce582b46057a7bfa32ffbf299679767ea113aaf78eb925e1bd63e30d11078b4e55456996e9492aea9abb9ea22cde7772f74ab88b4bb5efdedf1a1684cbf79eaaa8c5ebaa8e762fe71a477dc392b5cac3bf3ebc5e0d1a981e2ab0ebb09c69293877ecc759d5048a74d1d931822777de373baa12963dfc1c30d2ee33ecfff8e3923c2e5c2ab4931baecbd674423c647cbcc677edaea698ed2bb94c198add269b3c627fb3bcf9960349896b2f3dfefcd77d586e8f8b4a9c362c41dfb9cb1b9f4972d273c7d7a42386dea04b7dca7985b32f7ec3fd060bdce5e95c42c5b98266e0fe6a7ccbf33053056667cb8a7f2b63be7448a8dc7feb3dd943676545cb0900d305a135b2680d1939315f7dc332d90cf14eedfbeb9c4e831d3c986fa93fbf6a737f4c2875d5a55d05589dc120768ca37ea9ed93d3a8740f87bc0fef3928e9a95160400fa7ddffcd6ed8dfaf53b72004035e8ded0df93915808c0ffa1554b5354025a5f977522fdf4c5321300c8272c7d734d6afb7029175200251773da4cb4c964bad2a34d269a365afff823c4e16776bdec903d7565feb12359c58d26800a4b5b7072e3038e3b3efafae38569c114a06b2ccbcac8ca2da9a3014a12fed09af7972b0058fa625853b59a0610357ff957b3c23d4c9b36ad0a1a35376cc1ea8cab2ea23aafc5657c2105505259606f5dd47331af093c0a8074c8946181628a31eb6aca4a2beb5a680010460e9f3ccdf7aa42dc71e7ace410391ba00d9ab24b05958d3a06a0c4cae17366cf0abd72628a17f6d0dd131dea6e68ae2f2bae68d49ac196264f99182d63036c4ff3dcdea50c00c2a10b6625fb4b015a535755525ca5313200db3b3ce5fe5b92afba3a72e8bc5131620a60cc8d95156565558d5a2300a14fc41c97db9cdc3c6bba2377b3a1a5a6b2aabe59c7006cbef790399387f1aebb576d569aa19da776199a6618abcd0650028a0db063a6cfb9292158c8060046afd5d00084b1c9c1eecd2f3226900fc0505765ec98694b657169659d2353bfd173e68c93f4c6875d5985de24eee82829937a740e814056f04078b00f05405ff253664f3bc37bcfab97a62840f125bf2723e772a6fcc8fac4a7afac77e317167fb34805c1d4fb662173e7d5db4c6712477d0df8ed3bfcd55089fef3050b96575c83c2ae5ef764ac00807ed73b8f39dfeebbffb9f7de9f1f2788b9e5f0fdfbc66d499a9e200190fbdd4b233f38d71e2d7561f19a452a04dffde4b8d5afec4c1cb5b3d786e95ff9ead8cc57c603f25b5ff974fac355d979d9a74f67edd8773243dda58bba799aae77f564d72eeab998ebcabacac2ced818739bdd62b4777a3ccae2502c9e90cd17b1d88eed5538cf99698a333e3b50704577e296cd4f11838a191cb57b4f31805193c7868b01a026ebc0d79975576e8b7ae89661de143f61f2d8fc75fb0b819ba70ff36603305efc75cfce8af6cd8ff8d409b35302daa5a093b5bd4cb97d9a4c813154fdfad391ec2bf3b161e3a68e8ff1e6ab062c4a2cf936570770270fe90780d1967effc30967c5c60f9d343bd98f52458d93641f763d0dc98beaefcf07509fb5777d66637ba06fdcb2392962c8070d0b3e75b4eafa7af5b3f5c58070d13d7343f8e6333f6c3ed06ebcd4c60010faa900d03597ce1dca2aadd05b93c74c9f162b9745c6461fae72ddab488b0f0240d795a45bbac8d437eed139293288d3260c38bcf3720f3ec4d62eacea4de2e5e89d730804b2820770e5082bc5ed59b575161a0028a552f2fbb36b4c9ff3b4cb6e76dec63547ea0050228f69b66fd5f225d7a2a48a5933074a005cfaee55d777f7d7bdfdf447e735009266cf4180e30b0074ee6fe7ae46ccdcb8e684064050bfc0be1a56bc73f5d235e90e3517a882878e9dbeecd9970fecdb5dbde78b7d6f2dbe3ff58f17ac9325bd2966d73026c3a4d4849d5f7e642c39eff6dfce2f3f9a949ac0983a7da8c150fa9d73a805a0ce3f53ac03c0e63ad6b061c9e16200da822357476d00eae2cf7fce360360fb8d4e55411117a7a200d464ec73aa3b80bccc83276b8c5df482dea5ecd2828fb8a83b805387f75c6ca6018424c4ca004020930040c1d113aed3b6bcd3d98d340036dfeded2c318f0200a6aeb8f16a6043fe99322300998ff4fa7bd5657940713b8f284ce1fead5f1f2da8d05b016467151a01507ea93142975b83630285002a2e5cee32d386fc4317350028ffa0e8defab0b355bd49bc97ce211088c077d823e8cd2681b90d002885bff877e77369ef36b709f6e1fc1a00d2a0e889dd647c2d8a38f1d61181004cf96f7ee07e4870c5eb3feb002a20e565bdde0400d4dcf7de7a39d5efead27fd9934fbdbef2dee737fe0ec336ae5b1596ba60e93bdffe9a915fa369df5197aa82874e5af0fe9a4dd59b5e5c782d4a67ee4b3117755d818cc5f8d87d774f1a33a2f3a54963463c76dfdd8cc5fdc453e3e57cb7f34da50dad00f85eca502034314a0600bab327aadc536cb870b1d10c401ea80c0d0f1202609a32ceb99f503b9c55c67832b597293bc38c95974e757a9672f85c2500c80292780074c78e665dccce3a5bd3e11ebfc8701905a0d38b7606c794979d306dc228dfaba2786aef9eddfb0f6cdd977fddbdea1adc79ffc35879767389cb41017d4141230d203821e66ad913a3e400e8faac126b3799e6659cc92e282dcc2eaaefa30fe95ed4a64be2bd720e81f0f7e2cfffd08d49d7f38bd8521f6f00d0179eaa77d955eecbc95bd065c5956e413247e90442c95fe34b41dc3fd7bdf52cd7753963853054ea58634b76fee7c89ce563fd05aaa4e56bbe7a52df5454547c31ebdcbec307d7ed3cf90772d56fdcb471e3a68d00101a7effb01133268f4a1b182e05a491a3d61c7ec3306ec58ebfb098726fa0ab2f1dd3568f3ae45423d06e67c7184d8b7bdbe13b8e4873b9fc2b330fa6b9ea94a7830ae78b5a5254017ca9424c3300cc0dd51e0e7ad65436d38ee5bda719494f29fba15d30d49ebe02ad6d683220420c9e580c585058905f08c4c7c4cc0a54ca6452a948281409f95417336c4b715671c2e82829250e183d67ee48b3a1b9b9b9a1baa6a8ac22bba4ee46f0aa5f975fa102006d9dbb43d2b32b93274550aa8851bcec740b000c8df107a02db95408847693a9a571f7e1f66d0c6d9f7cd89bdabc9ab8b437ce211088c05fe9e4661a0024812314e8e135aad82b8b1417298e484c05ca7a3f8f282fea7222f1977d7a326a6052377e5ef9f492e2bb1e5dbe706c944a424994b10395b10387deba64e9bf4a0e2d5bb0ba6f321c1a7e7f6c4069c6c90e8ead285b5751b66ed34620fcabaf5fbf35410949ca93f787ef58f79716b32becb0db6c3686613c6f25b1d976d83b8659d56a6b8ffb0a56b3e7ea6d1f8ef9222118c752d763d330d9bab4bac794655742243201d0e905367da39e8198ddbe948c8e1f3a7d543f6107cd316b35b44c2e063cf824fdc0ce96da94d18322bdc57c365fac0a14ab024313d2864d6e2efa65cbe9c2ebed555977024f37d59bdc478392fc1a7344205f9c90a64a3fde085e54b80f05988bb2ab7a74b893befab037b5f93b9c4320108147c691f3eac75314f09ffbe0a0956f9f731789f870e4953936d557df39820260aaf8d565914575f7cd484b87e1e606a1367de96bdb44de8236e7e02610884ca6c6263544b89007001b377cb271c327080dbf7f58eaf8a1a9c38626a90450448eff6a93c67b41efbf488389331e7b7f491c1ad3274e5d95e1e17ad9bdf7bc1271f8d3140942e2fa0397bb9ae9687fc747d8ba2de6e9ca6e874fab956118bbdd4d72c062b1d8ecdff9b488d3c56985f6e1d8dc6684000057e4e5e1265ea017fff7a7ecdccbd56b4d1eee93a824ec2b7d2c346deea87e6c008ca1b2a0e8525975659dbede6205b877dcb5205ce8b9ec797959797959904893030322438243c202c414843efde6de6a7a7b4bf6f5f56ab7af86db0cc6ce32a93e5fd41298e0eddd2fdeeff811d9a07e6200daca93ea9e3395f1b8b058b5bfcb87bd4d9c480181087cdfa8d8bca764e1c24841d4cc450bdf3ed7e121f398474fbe3f9daacd7a76e68a75a18b17264800d4a41f3ae062953428260dc8f02c6fa90a003035de203f0be1387fa3f03164e6bb3f4bc7b87d1b1f505a4bbff945337b7aace6fce6391f9cbcb2d4de0ce0e5f7be583e36988a1cfd46e8da157d38cf6f0500457072172e02ca4ad5a6148940aaf471ea70d840092a3ab86c5c5ce0b52de6d3f7acaeeb3a01b3d96c32993c4a914020f89d2dd8277818b24e750a1f18e10dc0ac53b7d87c01b0e541e37819873b2ee3fdfa87c9fe40cace25ac22d817b9ee2b7899af420800168301a1e152360073ed8eaf0f767852c00b55093d6dd0c4248f8f55996a2efc985907bd2ebb40975d500060d4c4e9a3a3e46c9f08d753f7d7c5abf57d4f333bbb786c82b7981f38d857ca8f5002a8bf5ca0ed315349dc92852942e84e9dd5f7c987bd2ad195c40ffde7101103c27f1f7fee21bba5eb8ed20004711f6e7c34ca75f92e1751001590f27ee6ce96ad0ba40050f5c9f3edafcbefd87b110054a356ddefe729d5b897172401a06bb33656dc104e3cf0738e1a8020ee1ff787bb5d5af8dc82a131e1510911ca984129097113268f72bb61e5d33fab01e729ebdee658544703a0c29f79ef66cf77c42f1c1322005076fe1c002e05808a8e0be978d3a0f923fdaf6d31bbdf53e96a4dc966b3592c569f2790978bb500201d34c6fd056b280624f8f30168eb9beaf32eb700803865ca808e37f9cf4c0bf823293bc38421b1c33a25322a399c0d405b9f6341a8b71080b9b9caed1c40745284c75389125560a0bf5f64ff30b7f0f403978c0040b99ebabf2e5efd3dfd445f70b99106d8b113c644c8006872cea97bcc343e395c0880d6f3e47df3616f4ae44cbcd9020281087c1fd9fbe107279a000862a69fdcf5c6f22bef6e15ef5ced7df7b78e53e58e3d84dc352f7f7c2552c6a6af8f690060e8d28fb7df3fa8e3d266f82fdbde4c9100c0c90ddfff91f752b900402995d764af62e39e121380a14b57ad997c55a8a3263fb0727e3880c6233bd6e79402806afc9915e35ca3bef1de0c050034e5e4f5c5b0bdebf6d70240e0d8c7733f5a3c51d1e1e2ec058f16af5fa40280a65d5bf281b29c0a1380a8994bef771191355f2f8f75789fee9d8b7a51cc3d7f65e3b59467571a01c863472f1ae4f2d29a24ecfe5b92f90098a613a71b81bab3053a007cffe4276e199aea2b94f184d19171f7df33f1caf13a86fa9d293b918fbd7374bccbdfa9636e4e76bc9b77314f0b54b49801f003074c73d931898e1f3a33c53185e5883bae41ab6a1d73927ef78feca049e326c60a01c050a7beee5e05da3f0aeb6e7c379cccae6400be4cce07cc7525993d65ea17993625c11b80a1bc38bfd73e74b7aa178917122920fc37f2a79fa25fb9ec6ed947eb1f1ae12f08487979cda6e59abab2ea062b57e61fe8efba7b183dfdbe85eb565dd9f82d9bbeecdb4bdf2c0a8464c2d2375b166baa2b6a9bad948faf2a4cd5fe85d4f2236ba65f7915bbc78fb74b5c6eeb5874c1adef6c1ade68aa3bbd7edc1b877b5fa8ce8beda5cf6c1cb7754920e40b576dba6971ced9a266dfd8c49448873656ad79e3b762f5f12df78ebe35848a9df36ccbb88567b30b0d22ffc4c438c7a7751b4ffcbaae6f86e9173cbafed2d6258140d88805dbf6cd553736d537a8ad5c617060b042d25eadb9df7db0b20200feef87938b5f190f41f4fb999bee3d9151d6e695342c29ecca6da07aeba21e8bd9ddf29d431d399931326d108bc572dd4f762c408f9ccc6071aeb6c61e3f72eea8eef43d87c2ef9a16226487a44d7eaa7f536d9d86235306f93b3e474a5f3a78d4316bca3cbcc7573633d95f2854f5bb694ebf9bae24c2689bb47ca59ccfa65d32455f527646618b43673f386f744d7db31e3e4181de620a00dd9cbf2d5707a0a2bace9ce6c7873079c61d6175352d2678abfce557bf874a25ccb833a438c3f9f8445b92755113992067ab12c63e17a9a9ae69b2f2a47e017e8e1886b282ec1bc0ab5752a412a6cd0bd1d3facaccaf8fb772baed38da92dc3a7344201f005371a108dd395cc7f3f10df4110300dd74e4407985afb4173e4cffe4404b27abaa7a4c1c90f6d239040259c17760f9b22577bdb3adb8510f4020f78f4d484a8c09574904001a0b4e6fd99f63020421a3d6647eb1dcb912cddb187bd3ca5f2fd6d100259087c5c4a524443bd49dd6d7fdbae6a5c4a7773ad33774f1a3675ac70fbdea8c35006034180140a373bc7d57f6c1c6d326009424304099141fdebba2d02e09ba2de237c7debd26b7d1044015933465da7887ece92a4fbf34f7c1d56a00fa7b6f59b631a38a062879f0d0b1e327a439d4dd94bb7b4dd43267717a6d58c5e6d8d4a7b764383eca4b2954feb109718931e10e753735166e7cfd11e727f38a77ae7eeaa71cc75b0d8923c6cf9c941226a17495e94f2d5ddfd82717f55cccae9b1a4ff8c5861fd2cf64713b917e26eb8b0d3fb07957578216061e3f3067b65901c0ec3c15a5fe76c3ce8b353a007c99323ca65f88bf9c0d30c6a6333f6fdd56e27cd3d2ba7be7d6cde9176a9a3546b3d96c369b8dbaca4b196fff70a2cda5721def9e1b1d6f7ff42e650b034077f2e723655a33c0f70e0c8d8e09f5165300a329cbfe7c4b56bb9d0d1736a7171901802df70f8e0c0f76fc7c4cf6af9bd61f2e75e4c715f25d0cb0eedcf47376a58601d842794854bfc81087bad3f5974e7db4b7f8c6f0aaeec4b90ac737666432b1bfaf1c808546b707da75e74b5b0080ae3f53e27610cf2dd30887009b3515bbbffd2dbbb73e1479b4aae7c4fbe01c02e16f03abf3d91c59eab43f29b3a8d0b8f1c3a203f866f0a5d0569fd877e52dafd485b91f2e0a53a7df327355a7df46f35b387960941f1fe0c1dc547c217f635efdb5b34832315e09405b5b96718df63ca3e207cd1d1c02f0bcf896bc130737e6753a07a8087feca62439cc2698d575f5878e7afc7d9d3e192699989a9812a712007c3e5a1b2ab3ce9f3be0f97482dffd0b862a4c5a78f1abcf1ef7605baf2de9b9989db0d356c6a467ac268f1f556573056c8184d5edbb13ddc19326877b4b298fbf12c64d4decef2bb25c385de0ee15dfe4e57306503067fdb4f937f5ef48b963c751a8e20364a041c150515657e1e1b12e373ed4cf5bc20760d2b76456a87b53aed4705f01681a36a3de50dae917f0ae9f57af162a5421006036e8ea7bf1247bd6adb725f850da82239f1caeea3e538a03757d4da74c7be9c32eacea217102e16f8c3673f7f51478c2ff3276bb1d7606763bdcdfcc06c0028b05d6ef3914d60b54f73f3859053466ed5e97d9410fc64d9d333c440cba7ec7fafd79c4ab7f01576654677eda7c80fc3c1b81f0270b3c459c42f88b368b582cb038d723e7c69a665ae543a95226dfc33f7722bbb4506f054f316de2e8e41031006dd1a53ce2d53f176e727c848223894b8ba300a6b984a83b81f01740049ef0dfcfee2d47fcef99e8c7a70213d2e625a4310ce37caf8cd114ed3a5a455cf4e7a2e83f6d94f32771cde78f651197100844e009846b42ddfaafb78e1a392821c4572ce273d96c9a369bdb7435459736679613effce918eab38b2bbc386cd8748559599964f94e20fc259067f00402814020fcede9fc0c9e4d9c4220100804c27f1f44e0090402814020024f201008040281083c81402010080422f004028140201088c013080402814020024f2010080402117802814020100844e0090402814020108127100804028140049e402010080442dff0f06333bffd6c237e211008040281ace0090402814020108127100804028140049e402010080402117802814020100860d9ed76b720b55a4dfc4220100804c2df0885424156f00402814020fcf743049e402010080422f004028140201088c013080402814020024f201008040281083c81402010080422f00402814020fcef40fd35d9188dc6d2d2d2aaaa2aad56eb76492693050707474444088542521f0402814020fc9d04bea4a4a4bebe7ec890211111116e974a4b4bb3b2b2ec767b42420200584a771d2d993869a2e8ea2da6ecfd6b4dc90f0cc499edd9bc799386715ca2db5a4e6dceb2cc9934867f8379d6a361368b093c01a74fe9f43d0a81402010087fd1167d5959594a4a4a6775071011119192925256567645d0ea33cfe475fcc15abaf8cc3b856a934d7bfae4990c73c7e86675c6c933d9961bcfb39e0cd36cfee8b60bc63e25f33ba21008040281f05709bc46a3f1a8ee4e8dd76834ce4d053e8fe77e070f5c0e4451cb3f7cf131e7cade6603003e9f07f06ea8056ed78609b85c19d5375b7f47140281402010feaa2d7a86616c361bc3309e67196c76874b5c7454348a0b580173edce2f8ef11e5c30c552bef3e3ef1e6d0020be7b4632c00b05a02edefcd98f4f3600c0f4f977bf353258de613d5db5f3bb4bbc48e3f6edb9bf00088e5bfbd02d53a4a08b333e5bbbef1d13008c9b71db0793a29480feecafaf6cc8fa098057d0ca87172df6e7740ef19c9dce9361ed580abffdecbe4c43e9998fc6840ffb72e9a8684f2974cc68c1c8fd5fb84609e86c068140201008d753e00158ad5686613affb60d8bc562b33b6e24182e9f2bc894d074bb8994a6cc8220c0d6565e5c044babe8e5ef1e4d9d7af4b94111daaa9daf7df328c42b6d2dbfbef6e39363e69c782e3ea0f6dc07ef7e738f64d98e6489ebaaba25e7cccb7529dfad7c6e8dc852f8fd27135edef6d3db69973edeb7ffdea5f9c9de82badccfdefaf1b3812fbe8c73ffda70a1fff3cf94aad0b4f7cbb4b7b6c4ae88dee516f2de248d87ec6c473b1be6b209113177f19758fb4cf0ed9f0ff6517a3438a8b063d6bb7e58e512a5e9dcab6e667cb8601869c104028140b8ce026f369b4d2693478117080457ffe67081ccacf30af1d5207531100480e201a839b716e1ff59342802802278d6f3379d7eeb88b9e2cc6708ff6e6e7c88cd46070f7a72fed98f4e16d6250ff277b18544900000200049444154cd1f78f0c12963a40084d18b96accd5cb3a96ed43d77dd3625d95b62b398f8b230607fbd1181940096cbf5cd1a5580ffd407cf4556d11cad7b48d999873a67276ff56098abab455e0122ae4ce5e32f15a2f88807836feb94b5c84be28c4277ba4a9a2f81402010aebfc03b56ea369bcd2d9ccd66b3582c97b5b615e23b1f5cf090cbe1737ad7bb3fb55df9c364d27af90638af2902a26131431080b23b9f5875354e70733de022f034c00bb97a325f280232f5d4630d67fff9c48fbf8097e22b56036114a0487ce181d60f367c35c80408140fde75db7245987b08e5293b13edc9b00ed0edff031e0d564c72cf083039a374368c345f028140205c7f81ef03568b0570117893b5a3c5ad2d575fa66f535782e74bebf2bc527e7b6d4afc9525ff81127e987b412d8d66a05de36d1020befee83dbfd1cfbcfaccbf153c0a285cb5ea191a5097674a062f7f6bd4729bb1e9d2d9556bd77cfcc49da3dd4216257ac88ebae0c1b0ae3ceed1e0ce59bffae203ce289eae2e5790264c201008044ffc45a7e8a5526955551587c3a1288ae382e3cfaaaa2aa954dacba44207df87a2f987abf400a0cffe76d717e0f2839396b4662d3ddd6802606bcdfcf0c7c5e536b7b90b1ff8e8b3f43c0080e6f0963b4d417302d8f0f20e54f0284073f8eb090d006c68c97ff683ef36b7011ca13234a03f606aee14e2e729bb704f86b98bbbf5f0e51a0d80104f2974cedae612c5d3550281402010aeeb0a3e3838383737d76eb7070707bb3e8667b158555555172e5c080e0ebe7a37d7fd35392e17ed8b78319fa39af5e484ec0fbe89db0e00116326acd49d032f6cd1c323723e5b1bfd3d0fb0206ac8b6d961924e56444873973e71b41400c4cb9e7c788a7f2b97bff69627b2002038f183317872ed868dab16af49fae2e617573de98872f36d5b0707de9add3124244cde393b0e3c18d65183056151e336fc98983de4b7d726793098e3eb9eb5d235cad8ce570904028140f00cabf3a937b55a7dcdb3d168340505053535353a9daef3e23e3030302626462e97f721458b5e6da44512399fe31668a2847229cf7de2d256fcf98bdbf86f3fb3187a4d1b2885c429ff269ddec4e149441da3b4e99bcc10c824124ed7219eb3f368980b369b091070385da6d03923d7281ecc20100804c2ff3c0a85e2fa083cc330168bc56ab57a3c45cfe572793c9efbcb72d794b6e28f5ffc112b5f7c4c4a5a0181402010fe0704fe2fdaa267b3d90281a0c3eb707f2d7ce5c4bbe60989ba13080402e17f84bf68054f2010080402e1af5cc193df832710080402e1bf1022f00402814020108127100804028140049e402010080402117802814020100844e009040281402010812710080402e17f070f1fba19fdf111e2170281402010fe465c78650e59c11308040281f0df0f1178028140201088c013080402814020024f201008040281083c81402010080422f004028140201088c0130804028140049e4020100804c2df18eaafcf92cb610f09570268b3d0e72a5b1c812c6044942f000bcd649437f5294199809b18a4a8d31a1b7526b77f1437eaba89382ec63f4421de70ba58c2a7045c8e33dc60a68d569bdbcd5e426ea4525adb6aacd31a3da6363b3954c4e36cce2abf86a57316adfb82fc3e14225e7c80bc5ad356d6acef7dc5d18cfd7469e31fc9d763a1ae79abe84cacbf5742809ccb61e7d56a72abd576974bfd54d2b470259fe29436e98e15d533f60e111302e47211af51672a68d03a420685788b78545183b65e67ea9c9180e2480454b3de6cef75e30120e472c4fc0efdd142335a93b5abfbe5425e8452d2a8335569da003c382a26af4e935ed4d0d5fdfd54523f99b0b6b5ada4497f0d2bcec990702597c3ce286bb2d8180029a13e422e27b3bcc94c330006067b8bf9d4f9ca168385ee653becdcde229592002f918db1e7d56abaef173d766d37ef01e8cd20e0b172bb1a043c5a7eb6a2d9ed92b7881717206f355a2ed4681cedca2d4dadc97aa9aeb5c7ded1d7eed979d8ac521b52c394ea364b5eade677f72f21979353adcea956f7353a9f62f73ef71e5b3be1ba09bc5cc8fbfcce118e7639e6dd9f75269ac5660f0cf17604d66b8d13dedf0db058ecdeee2ec4f8c93ebf73c44f67cb7ece29fffcce119bce96fe9253e1f8c76bbbb2ba4a8a05bc3435e96861bd9db1ad9a3d64426ca0f3d22787f33f3d7289c56239436e4f8d78eee6442e870de0a7b3a5affd7c1e2e570144a9a4afcf1cb4e17491179f730d4be72cda3f779ded2ad6cbd392c3bcc50f7f7fca6a63fa541149418a4fee18fed589c277f7e680c566752c515715a7335987bdb513008bcdf1785b8ff6782cd4356f15ae48f8d43f670c9a9210e40c3955d2f0dcd6cce6360b80a72725dc3b22da79a9b449b7f83f479adbaeea905cd45ef0999fec6dd4998745f97d79d7c87aad71f6a7fbed8cadb3eb5e9a9674cbc0b0b1efed6936987bd3781cdc33bcdf3fc6c5b986a417d53ff4dd098ff5b26444f4b20971149b0de0407ecdf2ad1989418adbd322267fb0dbca78ae9a8f6e1b16ea2dbe5cd73a77cdfede54775f5be323636353c3944bbe3e7abab451c8e37d79d7482e87fdf077278e16d672389c35770ee7539ce16fedb2333637f3ba6a876eed2d254cf5f99d237814fbd92d99d12a89b383bf327d50988fc4b5bdf5d8b5ef1b19e3e63d8bcdfeaf3983c7f70fe86610f058b9dd0c021e2df71270dc3a5152b0f7bf6f1f76aaa4e1be6f8ebd3a7d603f5f995bb2e72b9b9fd874aac7dee125ee55f7ec66d85c77ecd2e7778e482faa7fe8dbf43ef5b5cefdebf0e59a277f3a63edcb80a494087a9f7b8fad9d70dd04de098f628f0d166d3b5bcc95296f8a6bef8476c66669ae61513cae97b297359757db7afbbac38d6aad3f9f01001b4debd48e7f58d40d6c9e80127b756e2e432254015ea26d59a59696ba189524af56fdedf1cb60680079d52d36432b9b276071f92c162b522979614a525eade6fff6e7ce4e0a9e3f3832b3b06ad7c55a3697e74c6d615a2487cdda9c516c69a9bd86a57316ad9b82240629e203e42c8666ac348be2f679e066688bba81c3177244b25e76698bba9ec56273e52a8f45e8a53df62e6ae75ab50a575e9d31704a42d099b2c6afd32f990cbaf943a2a70c8a7e7feea0455f1e8e0ff1bb774474518376d9f7e96ddad647270c983f32f1e1e1e1affd92c3e6091c861d2f6ef831b3e4b6d4c8e727c63effe3b1d766dc0c60c5f68c96fa1a3bc35012399b2760b1586c166e1918363442356d403000c662a2db74d1c1fe3d361e0739552d5f9f2c0263b3dbe850a56c427c4865a3da666865515c365fe4eac6e460c5539312b2ab5ad61ecdbf392e60e6a0c83b07056d3b5b3cbeffa89bc3255b338b780a7f16a783970687fa847a8bed767b7f7faf7e22fa52a38112cb7fdf6ca9ab8a3b59d2981aa61ce8273a96553f6c50bc6342931220da7fa63e29264ac2e76694356a9beaed8c8d2bf36673f9bd6f8716757d62a8df67770ce751ece53f9dde9d912764d9e67da8515bec1675c380005942b0d2b5bd75dfb5137d789dbdf7e589e2183f597ead66c3f14b1e07018f95cb11885d5b63a741c0ded972a580edbce4e844575a386351d7ffdfee3372b99cb2995ebd7594dd6e7fe9fb83009a756dd696a61e7b076d97f7a67b76aecdecfcc2791fb5aa4d0c63d45fb1a481cde55112792ffb9a6bffb29b8d0f8c1f30ae7fe013a323dfde97e7f05e1f5a97bd57b9efc8ae18df3fa0abd64eb8fe02af36981462c19458bf0d3f6e91c50f9f141bd8a833a9a4023b6dd5159ce5886431c3273d3f63705a9892b1db4f9634bebbef42b3c13c2b29e4ee61fd5cd3797e5b268fe2fc73c6c05fcf15a51f3f0980b19a8db52500188bd9509233eba671cbe68f8f52c9ac36e66c79f3caddd98e6dd2d9c921254dbaecb23a4e4b6590b7f4b763f9c74f9c10d8daf2cbaa691b033647181021f08f00879a362098c3667d72e8e2c1e3a74efed63073e3bb3362953feede2f0c89e5f0850e3326c7079636e90a4a2bc4ead2de94eed6f90b1e1e3f20522575b54a2511bc3025312d5c09e05851fd3bbf5d08948b1c453bd65abef2a1693b726b8745f90d0957566bda5eff25fb7c55cb57778f8a544a016c5c3cea832dfb8e3531fe3ef2676f4e74f31b807f8c8b9d3330cc47ccaf6d357e73aae887ccd2f68d503bfdcedcd44943926ab526479a210af1b39307d4698d6feec9f1d8050dc5d9c39262573d34617b76e5d00855f7f684f87a3f7773624aa84f8bc1bced7cc5fa1385cef1dc5092c3f3f6e784c53b07f46be5378dd17275a5e22b9b9a10dc6c30dff7c56fdaf27c8bba61f70e1cfce4d5c191c143652601cf06c064a56b0b2fd69516bc9677e6f4d9410d2dadbacb25e2c8244a22770c4fab7fcb1916ee336560940f9f15ac10ff98517ce84c765bd905b6402c8d1eecb887cb61bf367390335f637581aeb272eaa4077a6c3c0e4e94341e2fac35d5951a6b4a7e7ae3f17305a52fbef5a1c94af3147ee2c86496cb84205421c9ae6af9606ff6d113a72e9fb2cd1cb4426256effef5d8fbb78db8252de6bbedbb29b1174728714d7ccec05000df9d2a5834bcff8c68efb3674e4bfba70d890e7e614ad29e8b5523227d1302e505f5da37f7e45cae6f1d1ceae331dcb5e2a2fac7be7efbcd29614a67b59e2a6d786c7cdcc0402f437176daf4a1000c666b5ab05c5f746ed0e801004e14d6184ab243fd7c562d9d9912eeebd61ea414feeff6e1a307c6556ada5eff25fb428dc6d9de426d4d5f3e780f9fcb797ad3e9ddc7cf1acaf322fa85ae9c77cb6f39a543a70f88f2f5726d6f2c9ea0fbae7deb84e1e74a6a3e3c9877ec5486d37bacbacb815e0b7ecdbddcd520e0b172a5b1433822a953c0dc0601d8d1d972b18fdc71c9509ccde270bd12475d115aaba1387b4743a5282c1eb5050e815ffff506002c0ee5aff4eeb1774883829dddd391328bc7e9cdf4dedfd2f8fa9c197b73cb7fdcf59b43f20d253913460e5971cf84c246fdcb3bb3fc65428f5db8abfe95997ee8b5071640dfaa2fc916872584faab9e9f92e416bd739fbde2079b5bee3e627ee701ed70411d6d63ba6aed0427d7ed905dadc69075a964f4a078399fdddf8b1d2817edbd58d53e1fb55ab8b07fb564dc84fe01dbcf97efc9ad983e20f8b33b8681b636e88cb9d5ea9caa669dd11cebef15e32bb398cd023613eb2f0ff491f35557f6886c8e2797f65095d7a7ff982fe252cf6dced878aa706c8cffd251fd18ab4548b126c506ee385f4eeb5afa07fab058ac9b12428ebcffd46fffb7227dddaab881a9c2a07e94cc072c3680002f1180e28a6a534d71ab996ed1b705fba9cc4d3596e61abbcd0620d04ba410f16b34064b73b5dd66edb174a14aaf0f6f1f29e275b08a6db3aebf7be484d880ede72b0e5daa999514face2d2902b6dd51349fe088f810bfa72727d96cb6f395cd317e5e2f4e19c058ccbb2f5438c46ccba153972f17b069d397778dececb731fdfc968e893d57d9fcf80f271ab56d2ba625c7ab44768601b060783c9fe29c2baa74a629e373c6f70f480b5332560b435b3d0e0a621e151ba0786ad280eeed11c0bae1ded1f101f2af4f1656a9f54f4d4ab82b2dcce134d8ed76da6267e8deb78adefb8db15aec76bbf3d12080f4825a6d79beb9b996127b89c2e20f5dae715c3a76ec685d6bdb8020ef8cff7b6adb3bcf3d78f71d3906fe91a27a9bc96069aab6dbdacd33d9f0e2d64c8661d2e222cbeb5bfeb5e588b1bad06ea3057e616c5efb62d44c33c92b7724fe73f399c22a00e6c66a9bd910201777df783a3e37627184d2f933268f4c8e7de99b3d560edf6eb3b1b87cb72dfd5db9950bd71d3e7db170d9a4a48f9fb9afa645fbd3895c43637543abbe5f90afcddc6651d7bb262ee4726e8e0faa6d6d7b67cb6183c97ccbf8a1306a6d8656318f13ebeff5c484f8f226ed0f678a0704cabfbc6b848065eb2adcee389b60b78b79eccd2b96c40776a8d6dcca26bdc93a38260c0c3d34cabf5edbb63fa724312a54c8c1e0302580f40b25220adbdf7e263ec8bb437b601800f386c535ab5bbf3f94d9dfcfebe3db860a60b3db6d00f85cce0f6f3ca1908ad30b6a769fc832945db4db684570645cb02a50e9bd27b74ad376b5bdd9cc6d420ebaefdabb0b5b6eff64f7e98b45aede8bf2e2b258ac9be283ba1a043c562eec57f7a03b0f021e2de7fb850110f1a93d1fbcb0fbdde53f3d3cf9d9c903da97aeb4c54e5b596c0e5f19ec680d7686b1338c202052101009a056a3efa67738db2a435b18fa6afbef71c92ce2b1e343fd03940a817f98e309c790fe616b9fbc93c562bdf5eb792e684f5d98767df4eedabfbc557e7665d82b5b4fbeb7e500ddda44696abe5d32c62d3ac76ef3d467db871ad7dcedb4c5e38066b5318d7a93c7d64eb821041ec0f623a7290e67faa854c75ed32fd9a5ed831c0b135313c295b20da78adede96bee2df5f6fdc77223e509128d4a5e716bdba23e3e31d8783bdf8005e5dbf35e7e86fc68a4b00189bd5a2ae77345967166d26f3bdef7efbf03787f79dccc8cfcd06e04b59f5c5e72646790b28ce8eac528bba3e2430a04663482fa89ebcec8d8fb71f0a55295ebafd26ae9792bab2552813700118d58d76c626f00ba719965c26716cb239f42958210250a73158348d6c8adf63e9da4c96a51b8e3cfc6dbaab554364c608a574e3e9e2b7b61d7bf2bd751f6efaf5724181a5beb4bd68ad0d00b2cbeb96bcfef1ddfffad268b6f453c9b4974e7fbbef74b3ce0860dde69ff30b8b87fb205c29fde664a19bdf145c1b8010b988d1d43fb9faf389cbdecc3b75d8a2ae03905d5677df1b9fdcf5e65a679ac5a5654fff74eaad9da70da539c6aacb1e35de4176797df7f64c8f90a8a4c2b5c72eed3899fbcae73f680dc6bbd2c2cdcdd5bfaf55f4de6fc6f20b3643ab638c534a0400343abd455dcfe6f2c4110304be21069600809f52d9525733ef9def371ecb55eb0cc312fa2d9b3ae4d7e716dc357b8a28a43fd7cbc775afb8c56cb3daec009a5a5a9a2e9fb3b5e9f8aa609ec29fc5b9ba0d66b3db698bc566363a364e017889f8dd379e0efacee6c8fd02562c9c72bca8aec42a617128ae978fc03fdc350be7b8cc66e8d963874607fb9968bb976f2058ec7ab55629138b857c4b4bad6be293e383443c6a774e456b5de5de53e79572d9a4214996965a87b2eebf50fef4bb9fbff1e5a62f7e3e2a17f1477b5b69bda68bf0f69353f3278ef0934bd71ec977ad567d55614669bd58c01b36a07f5244404649fdc90b051c0e7b78525c6a7488d66839975f307fe2083f856cedd10e112d2d35000ee4963cfbf1372bbfdaf6ddfed32aa93089df6ad53401e0511ca597d464b18e8f0b1ee34fd9698b28348eeba572ac35bfdaf64b9346eb6c6f6d657913c2653d766d8e48ca81cdd57bc17ecaeae6d66397aaba1a043c56ae2b9d07018f96f3bc030070d8eca820bfa820bf301fa9af5400c00e3beced6d80e7e3d7de1e381c168712f886f255ed92df4deff883d86d567353358070a5d786d71ed7188c8bd7eeabaf289b12c85149856b8fe4b95699b1a688b1989ccfce5dfbd7f72b1fcf58bd34e3dd4772d6af0c898a9e3b32592515ae4bbfec1a7da8129dfbaca9fa328070a5cc35f72192b670a5f49b1397dd06349ba1b5416bf4d8da0937ca33f85dc732fff9c06d73268cf0f79157b5e8ce5d2a0100361b6c4e44a02f80cbd54d86d21c9ba9ada05e032044c24dcfcaf64b485bfbe0ec006faf757b8eafdf758836686ce6360060185b9bfbf1608dce3036a9dfe421898172716d732b0036c5b5aa1be624859c2ca9af6b56d3ba96dd172a0fbef733ad6bd115965e28ad5a383e7570b8afbe204b149ec095f9b0d8ec46bd0980886307c0114ac47c6eb55acfe2508cd9e8984c380edfb61a8c76abd9b99eeba6741abd615474c084d8c040f964a755a15e420017cbeb0c25b93693fe835d27ec363a35c4db7198c0663438ae5a340dd6d6a6ea264dbf205f5adbec3c93cda2b82c36272a3c14c0e5ea4637bffdb8ede7e430bfe9c9616b1ebdd56eb71fcf2fffc77bffb16a1a01e45536da199b59d3e84cb3aef0c26eb6d066d45bb52d1cbe084c974765f22aebbbb7273a2204c08ae983564c6fdfde94898536759d63d5d1d756d17bbf595b9b189bcdb1b35ddea20710e62db63336ae5cc5e60b591c2a5c290350ae36c825429bc9f0afdd59cbdf5f1b1f20bf6bc684bba78d5b3e6df04f272e70c40ad7a7802b67a5f0b91c93851e1cd76fc9e4a1ebf69c100444b23a3d4a67f3041cb11700aed49ba5373568dbba6f3c6e4c4908554985efefcbb5b636dacc467144224720761bbf03bd44022ea71898fee981583fafadff98f2d2ec61338e1dd5986c00fc95ca929a06bb4baddd323014404280d7ea7ba78707fa01b86df298bdfffa02361ac0e5aa066b6b23ad6dceab8801102417e59654780cafb858e248303a2400c08a998357cc1cecac56baa1ece8f9fcf171c1cb6e9fc161b3338a6b8e675dc0bd33ef9e35592597eecd29b5e8d4d121690056cc18bc62c6d588364d0380fcca063b63b3ea5af22b1b00047909cf5f6adfb67deedfdf8061de79fcde771e5d9855526392abd81405c06eb7d13a8dddce38db1b25f3be7558fcc992866ebab65c5da6888c2b67f976f0de33efecaba66167f45d0c021e2bd7b5523c0e029e2ce701d0192dd1731fb1d3564aea3d7948d2572fdccf988c8e753f58008be3b2a7c3029bc362533df68e3f3a1c330c6dd0010855ca008885fc603e5d5e911f3523c5635d9b0061603f168772eb5f1bcf14efbb5cbf64443f8558c0f309768c002f4d1bf8d2b481cee8616200b85851efda67fd05f6ceb9470c9b06e0724d7367216831dce4b1b5136e94157c5db3e6745ef1c8a4fe51417ebb4e5d702c28592c368b4dd5356b00a804b019f57c9f8090b008004d663b4cba0f6f1f111be8b3f762e53bbfe5d86d5616c5e3f938cfbeba57f33dd3c72f9932e2c0c5ca94e59f2ffaf467476708562986c6866dcb2cb6b636da19e6c9f937af5b3c2ec6cf8b2392c9fc438402416b9b996ed35aebcb588c0d4095ba0d40524400ecf6485f85984f55b6e80196739faa46d3064029e601605d393dd44de9ee993ae6ee11fd0fe657bb5ad5d0a2be52641dcf3be0f14573dffcc73d02e595a2d91900b48d01c0117b397261513c5b9beecad0236471a8669a02e02b64bbf94dce65361e3a3bfcb9cfe73efbf6890b85a3e2c31f5a3083ef1b02c06ab381c5a22472d734392c70455251689c2030cac3f2f10ad69eec6932b300bcfafdfe985bff91f8d0aa71af6d98f8ea7f6c34edd8a1ef6babe8bddfc481916c81d8b1b37daea2b9cd428f8e0f4bec17c6e2700156a097684a4210c3d84f5cae7c72e1ac93ef2d5b34264912955ca8673dbf6653abbecd4b2cb457e5991b2b9c557c7b6a446a9832af46fdd0dadd009ebf777e44903f8b4d755e3ab1d86c168bed587e01a86cd675df78dc181ce603e0785eb9a9be9c1249b95245e7a3464f4d4ad8f9c8c4606f098bc3ad6d35d81826d4cf0780522a04a0b7d076faea866d88423438d4c7423331fe5e1353078405a86c0c33292d512ea0e8362d800085046051329f90c87e00740cc5d06600fe72b15bb89d363b360f6a9bd4005ef9f637d76ab55aac878e9f06302e251ec0c99c4b45c5250d1addcd430600389a5340ebd4752d5a00af6edce71a91a66900810a09582cae974f58441480662bcbb146d4192ddffc7cf83f3bf61dcfcef7f192befbd0ad164de395a73c8e7ec172b6b7c87e3169917edbcf9775d3b55f583865cf73f383bd84aede7beaf6695f2d9d1ee327ef6a10f058b9ae741e043c5bee5c6bda1de7d98c57bccafcc131b39b581c168bdd9b25be9d0150d1a45db2f2df6c367bd51de3786c56b38dd7b90b5b2d56736395a38db9f5af9dd915472f5729c4020086c2b39545059d6bbcae510d40c5635cfbacc82fb473ee2d2cb1c7018d366894226ee7d64eb881041ec08ef4acf68dd97d471c1bec2c369bc5661fcaca531bccf78e1f3873d4e05bc60eb96d48bf7aad31a3b4e9a57be78e8a0d69b3d0670a6be6f4f7be63d2f081a9693c857f57e97b7b4900b4188c5cabe18e41c100405be64f1cae6b33edcb2db56a1a288957abc53e22caefbd7ba73d74f7edeb9e5d22e27377e554a426c4947ef7e6d6476e729cd834596dcfcc9ffcf0ad37bf73c718003f9c2e849d61515cc7e052d162b0dbed7e5e62747c3ba5abd279cb24009a0d2657ab0e9e39afd619164f48993e22e5a1d9e39f9c9ccce25094dccf318d7799d1b33942892384cde5c3ce385e3b7e62c1cdd12101e945759a360f7e9b3a7cd0f6e76e7f60fae852bdfd546e0180baf262aba6c1639a03a3432fbc71c78ec7a7f17d02790adfee4fa8766fcfde8b5516dab6684cd2b84171d30684ec79feb6f903837a7c38f8c7fdc6f50d13f84738a6262d6d963547f2396cf6d6b79f7beffe59afcd1afcfdfd63a502ee0f1945974bcaf79cc86218fb6313073c3d3dedaed953bf58f9ac9744945150deaad1186b4b1d8f2702bd444f4d4ab031f6155b4e1d3c7aecfb5f8f8a04fc771fb9cddc58d9cdf38bf6b29c2d3659e96e1a8f1ba9613e4d7a53755505633672e5be1e6757470aea00acbe65f0bc44bff76f1fc561b38fe457d9ad663fa94067b2341bccb0dbedb4d531859a9d1cca62b1d61ecd4bbef7e5f8798f26defdc2b6f4f35c8a33775c1aad6b01306370cca2a963a78d4c5d322681b631872eb53f409999dadf633860ff393dd36ca5178d1bd4b15aed0515358e1d8be656ddc5ecf3761bed78620de0d0f1d38cc5b4e77ca185b62d1a9bec1ad1b1353d3d3576d1d471b3c70cbd63784c9b85ce2cebf032379be2beb0f1609bd932312d69415280cdd476f58c3d4d3bdbdb9cd468bd99de7fa1a29baebd3ff30280d5f386b87aaf45d33a2a2ef4fd2553bb1a047aa4ab41c0ddf22b3360b0c0e68b65f12344e18900d802318bc3fd236366fb790b1ef5c39b4f7fbff2f1b58bc77d7ee788c9f1810302e5d92fcfdeb674422fc7e4b246cdeef4b33fed3b161d12f0d41dd3f69ccdf7d485ed7686713430b7feb57aded08d0f4c74a6b6f3c8a9ce357e303357ad332c9ed871acf3090250d6d4ea9afb919c228f031aec767f2f71e7d64eb8b104fe9793d9b48d29ad6d3c7fe12263befa0d10b5cef0e88623da36f3172f3efcc17dd3eb5adb1edd7044a76b8d0e090420e2512be60c7de7e1dbde7b62f1c41143ba799be287bde9958dea27a70ccef8e819a5b782b631febeaa05378dde75e27c9b5e4b1bb45cb9dff79965ebd32f87fb485e9e3d7458a4df8693059fee3b77a5b9d86d6663a3baf5d9cda7857cde2bf72f880df4fe687fce91ec4b761bcd11b6af112d36a6ac591fee2b07607719f1bb2add0ffb4f56abf54f4e1ee86a558bde74dfdbeb7546f3ba154226476600002000494441548f2c9b3e624f6ec51787722dad8d6ea70a3a0c1f2c16806d674b8c16fa1f736f4a8befa7d6b53dbaf17867bf6dd873e4e7cc824726269dfbf4f9a7ee98be2fa778e3e1b3b45eeb4cdc2d4dc70ac371eaa7c79ed38d3d650deaa77e3ce925167db1e2d17f3e787b7a41cdbf4f558b42fa3b66067d6d15bdf79bb9b1d2dc50ee9cd77f79a2e8a59fd2dbcc96796353e7a7457158786f6ff66b3f1eb2681a4f5d2c7e7ac3be166ddb83e39356de3a6c4672f8a14b354fff7882cde5db690b181b80d7660e14f1a8ff9c28389f93636d6d7e73e3af2dbab6e189fd6f1f1c46ebd5dd6f0f36e98dcf6e3ed34de371c54f2a08928beb5bdb1cd24b49151eb75e77e5567e76382fc6dfebb55b470e8df0fd25a7fccd9d67c442be4a2ecdae68b45bad8e41dfb1dd3b3b3914c0ce3379b45ec362b1ecb465fba193006e9b3c9a6ed301387ea9e2b105533f5fb640c2a7566c3b5359d7aeacc7f33d8703acd29a86473fda2897085dab55da3f551235f05469238033170b695d3358c8ac68065059df5c545800a0ca607fea87136eed4118dc0fc0beece267ef9af3ef47e7516cd6cbdbce3434b5b8b430b0285e23dbebfdbd39005ebef7161fbbd679f1a7a359cef6363b25e2d70b956dbad66ebaf6e683273ff8e197fe010a57efaddf79e0d32dbf852b655d0d02ce47ce5de17910e864b92fa3e9303be6091c2f4cb2582cb0fed098d9fecc95c31e3778c0b8948451d10123a37c83a47cc71cd46e87a314bd1242166be5d73bb46da647e74de56a1b9ef8f6b05b9539eadaf1b8c1ad7f4d4f0e2b6dd2bdbafdb4634ba0b4bafef1af0fb845b7f8f77f64fd5e9dd1da61ac6bae6d1f8e5c7257da5a1ffeea40e7014d22122a65a2ecca66d7d64ef050939deb7bc0ebdbffec5ced76bbcdd0da9a7b8c239448fb0f313757b7955d049b2d8b1dca16885bb30fb3289e57d2183b6de1d5e6db6c36a35805c0545bc2a278927e032d4dd5c6ea220002ff70b640cc627328b1176331e98bcef1bcfdb95e2a4369aef31f7c855f70805f5d69012d51f27c026d9afa683153a535ebc1b3b6364be3865222a9dd46db9a2a65c686469d19526f5aafa1f51a815f38255518ca2e720422694c2a63314a9b8b1bd4ad2ca992d6b5d8cc6de28824be4fa063817bd7d0a8e76e4ebce5d977324beba5fdd3188ba9fbd2c9078c54dab53505171d56595aea4cb52594cc4714122b6a29d5e80c6c65b09db69a1bab78defe9444ee78a38c927ab795e7f17d434561f1606cad178e33e63679ca240e87632bcb56d7570bfc23f8be212c169b5777c9cd6fd2e8149e452f3536e93822134f666eaeb634d70a83fab1287e5bd905b7341f59ba747c6cc082e5ab387c91b47f9af399a2a3e2343947581cae3c69ac55d76c28ceeec11e55889db1499a8b5b0c26b67720189bb9b996ef13c0e68b0c25393c65a03822894d717bd92a7aef37be324818d2df91320086b69a6a8aa46d8d3c3ebfde0c168b6dd5b6d8690bdf374418dcdfa66f91a8cba54241838d676651b4bed5a2aee37a29a5d1a98eb2db1986d6b5e82e67d8199b247a3025f66aabc837375672e52a49d4208e40e4fe40d362d65d3e43eb355e89a3392299adadd5b5f170ed5651f800be7780737784b6d96d577aa2cd6cd45e3c6e6718afc4d122b1d82d65c79d769bcdda54e965a8539b6d36a19cd6b5cc1f91f0fe934b5eda7ce2abaf37c0ce78258f73be86c7d05663e565636db1c03fc2b1b161b759db2a2e8dede7bbe1f527d6edcb5cf1eebf037d7db5421f3b8b63ac2d993438fe9b57ffb16effd915ab3f760d076393c4a4daad664747e32983a59af20ed5aa0c120444da6d746bee319b41c311c9bc12c7b03894bef89cb9a1924571bd1246521205ad578b9b8a5c23f2bcfdd93c81a12427c8cf572f545aed30d51483c596c60e01ecadb9c7581cae7ce07836976fd536eb0b3219ab451412e36c42929058a62a4fdb583b78e8f07a1bbfa1bac2d25cd74dd7e6fb86720542b9a9d9e93dabae85ef132890c8bcac9a2e0781fe698ed7f73b54aed8cbf998a6f320d0de53dc2c0fed4f497db479271c97387ca19db1991babf4c5e7b9521f696c7b2e749b4e73fe208bc596a74ce2f085bd1d33ad664dce113b6de5ca7ddb27791c6ac92d532625452d78f65feedd99b1595aeaf4855957874d9f00be32587739839228c49189c6ea4273538dc02f8c2b574935159debba73ffe2f2780d661660a7756a9bd9c8e270bc068cb2334ca7112090eba51436157718eb7c02fe9fbd338f8faa3affffe72e73efacd9f7852c2421040224ec288b88545cea825571f959ead6d2eab7da5aabb5adaded97eeb6f55b5bb76ad52a587105821816d90384400049c842f6643259672633993b77f9fd315966b9934c2042b4e7fde2a5993bf79efb3ccf39e73ee79c7be77eb8c8785bc5619fb327a4735189da8e1aef0bda9aaf2df9e3f7ee78eabd927fbefa9a5f6bff6fe6d4cf6e9c300fd951d4c04b2418868b8873e9ea290def798085e6b414aba1289ad61a9d11a9cee62ab9b7061445f37a7d4a36cde964b740b11c1459e86a0340311a6d423acdeb684e47b11a8a61bcff00a76d97b5fdd0489dadeede4ec6602ab774511a9ea29c9a88584f5fa218968a48b038ecaefe6ec561a368868f9ba44d481f5e09a4284667eae6a345a947ee68a6685a9b90e1bd7cbda9ac7eddd229b7ae5c7cf8b93715491ad53b8566cc2e1fab3caf556174c6bef014d15e25b7d65234ab098fe1e32629eefe018fe801d70666ce1ade33ff56285ad047d15c97d06d668d115c546260dc189dc9cd6a9a3accee5ecf93b70a1719cf4525490eab5f9959c971df5a32f5bbffdcae48a22c0a801250713a8a614121547b2213acae44b7b54669a9a1189635467031c9727f1fcde986260121b68ab1c42dd57b7d9b6635da844cbb45d36fae930597e7b12c5d72161f9f4e735a2a3cae577099dbea64c109501445715109bae4ec41d7a0c892cbd2088ad2c6a769c2a22896d3254d16fb7a25679fbbd7426b52fc6f6450a0341ccde940d1818de7373ffab6dfeb5c7655b6ed3edbe619e578e67f8cce48d1f493ab66f8f51bcf9e14c3b091891dce3e97bd49b1f6521475fbaae5e65ec796b21a45125953a4cf9c4696457b0fcde9f8e824466ba0685a91393e3a91629981b51a8a6eef73a1af5576f783a2b998e481f518dfedba941cd61026daba694e476978d618611505ef6ae563523c31d784c740963461d114c35234ad31458bd62e9ad7d15a03c5308c21dcdaefd31ef8d814c961a3797dbb0bb2ad4971bb4033bae42c4667945d0e4f7ba3288aa269d618a14dccec6fad7575b66ae352694e4bb39c4cd1823e4a61bb8e1e2bd326a48bb69e91bbb62e298ba2e98e1661287a7c4c8a2e259b6234961621e84540b572bd50bb08a859ded142f3065aa3f57e0d14c5b034a7a3397ee8c60d45d134a7a3286af8398fd1af99944251b4462b83921c564f51d96929f72d2ff8eeabaadd991aeac283974d0e34edb184d668b58999a2bdd7dddbc14525580df16eebb9c0ba56ef5f14189d898f4d157ada299a61f4617e57003e3695e6f83eb74f9fd5c64d5214d9ffec3d162e2ac1199ee26ca91ebaa0ddbe6a99d9eadc7cac4aa5b5132ef90cde33255244011445b19ce727d100e579265971bb3c7f5314a5c89222ba65b7000a34cb51ac0614ad886ebf9fa9500c4b51b422b941d114cdf8fc4133144dcb6e4116fa2986a5594e5164288aec72d0bccefb1d61b2e8564441760b34cb511a8e625828b2ec16288a1e98c649922c0a8adb45b11a8ae58646af1e0a5322f8be8ecddbb61b27cfe422e315491cd93b288aec76795b455134a5e1a0c81e972986a1180dc5b05094418f684512413334ab511445710b80e27957942289b2e8862c531a8e66358171a3684651148f838ae4a61896d6f014cb41963d511a2a93a521339cec76395b6a64c169c8c8f77eef9822cbb2db455114a5e1038f0d6a8f2774a240312cc5b09ef199220e1c3ba656116adcd45ea2e7b14a71bb3c4f42510c3b74f6a1ca556489d6f09e2af62e4176bb14591e3a445114c5ed5214856635aa77ca65b70b8a42b19ce7eae3d7782886f584cbbf1933ec50103c611f0aacdf9ea01945121551504437cdb2d7ccca3ad7693b7efc84a3b1529f3ac5fbc7759e121445a635fcd0a55091a4681d332f23ee6c6ddd913d3bf8d8146dd264280ac568e2a3c2e6a5c75554d71cf9acd87b3bade12886f5342dd00cc5b09065bf6af5444c760b9e57d27ad69f3d61f75493670795f6e0694b14a5c8b2274ab486f74463a8bd0d1e2b7a969d2986852c0d5a22c9a21bb244311aa9df4e73da11bab6a7063d1b15d13d6039aba1286ad48b806ae506bb08c8a23bd0728aa228860df84a924581a2e9a1bea6288a2cf4fbec1372eff099c3d1944c338a2405e9ce9222fa5f2d3d5b680de739a3a228b4861bbc67e75fd7c1fa17cd69413390254f94026bdcfbf23ed46707fc0a3c3b3074416334dc353333ce75d8caca8e07b67632839f1009fee2a3288a778b54645975dce7b75be83b288a22396cb6b34735e131fa4953fdd2ff584bbb98a108760fc5d174561b9fae098f998003e40b899ba7cd07ab448ccbcf8a47335b16ddfd6de7bc9ffea5289a0d8bd68445f93d5332ea9ec365ba5df69ae372bfd398339bd59b421b674b42676b5fdd293e364597327c4723d8f6895fb963eddaa16f0cf5e6e3d82f0217e796e845ebce5f74271a1a638db5b59325faaff462856f830bd6ca476d97c176a0288ad11a0ce9d3c6f4d0c7c5cfee21fac8e84cc6cc9914cb4ecce5af0b89db08c77ed1d531543ecd6ab409193e8f4f521445d3814f8c8ebae7f0322fcdf03129b4860f7c2620b841346b8cd4a74df37bad7ad0ed13be72c7dab543df18a2e5e77111b808f1bc98ddf9e25cd3cea7b5fff7419635c6b5cd318c263c1650be02024714c31009872f94d0a77721ee49312c179530261d308aa268ad9ee7b49e41c3a8db095fd28bc057af3b9f476b2709fea232a41f7cbab56748e478ac22e5e3ce9092b4e76330f9e7283d272bf01635199a3d8c2afe1d6de0d3a28dadbd8ed6dee11d741a263b2eccee126b3bfc25ae839d0b21088d8fac74ee879665f29323abdaadaae7f226501afc52297013fca635e733df52bbf407db4e38ef2504c2256fed24c15f0cd4f4b9cd0f6d38e41495b18a948f738bf1529286028a6154e59f9764c7ffedf60595e6de5b5edced57c2a8e2df8f5d35fdcef9991e2deafdd5e6efffe7b0d32d5d979ff2f3eb66e9342c80f2a6ae87361cf248955fe0b946553af7e6dae9293fbf6e969e631ff9cfe1eda79b46be48f94983d3347d4914b80904028130b112bcb77e709fcdfac015f98b7227fdf8ca293ffdf8f8c0adc6b18b948f0b434ad262b7f996f93997e54fb9263f15bef2cf0961baf537cea6284a51203aac14c5d0da81e77547558e5f98197bcfc2acf78fd7ff7de7a945e9514fdfbc70eddcd48f4f363ff3f5c2d65ec7733b4f5f961173e3ecc93fba72ca0fdf3d4c73dac470fd799f6b4a7cf8a84ae7defcbf05593ccbdcf8b7ed756d1d6ebb8dd1877964ce5503e527547fd9f4ac4ba2c04d201008840994e003f583f71517fdeb67df0ba7047b75999c15073591728f46f57f4acfcd4e8bb9624ac2a2df6d8dd273813ac1798911bfbcbe60eba9a6fce4c80519b1d516eb4f3e3cf6bd65539764c79badce5f6e3951dad009202542afaa703ca4242db5d7fdfa8e7543360fc93f7386b03fac9efb796bcf8ce42845745b4f1f60f42653ce1ccfdba747558e37f21a0025d5ad67cb4b7b4ebb9ebe79216db314868b1a867e7ed7e7ef15ef7bafb3f1eb1bff3435ce68af2a35654cffc3b7969cf7b912c37508a2747ee3d7afffeeca426f55f5ffbb7d41569c8902d6df50f0d0ef5e4c4f8a7be4ce155909516e796087e408bd77fcef7d7dffcfae9db9adacfa0f07776a22e36e98b9fc92287013080402610225783ffd608d294a8949bee7c54f5c9646d1d6ed7977cdad0bf38a4b4e9455372ec9cf7af2eae9b73cffa981a37313c21fba228fa250d9dacbc8e22b772f4b8e34be71a85a43e3cef9d993638cb7fea358a7617213c2b3e3c2de2dad296feabc2c2be1a3ef5cb9bbb2e5d3cf9b6f2a487ffada99d7fea5c868d0beb17689ac28ff3a5855901af5e88a696eb7f0faa11abd965f919bf4c29e0ad1d6e5b05b731ff987262cea95bb16cdcb4e19927f7e64c5b4d428c3cd7f2fdef2bdab6477bfe4b4d31a7ee827cadecaf102af1b12ff66f461daf8748a61f6559bf7579b7fb872c654bd6b41fe945a73f786c3d57257cbb71deeb256bbb3e9ec92c2e9344d57b576baad9dffb364726aa4e1e67fec38bf7395d6770e299d1fad3877b8a16bf3f17395d5e69408fd5fefbea2a1dbfef8bb47f212c31e589a67b1f6bd7facf67bcba7f32cbd71fb3e8e565efcd17d0d5df6c7371dce4b0cf7ecb0a3a2c53bfe1ea1faf2e8705d7296d11476555eb2276e79830adcf72e79144083a57bed5fdedd5ad5b5fd6f5b29597c78c58cab1715fa2970dfbb7878cfba4e1b6b8cf056e09625f72b772ef0ae02d26909040221142ec1c320aafadc7c4c8a21235f1319e779a147a048b968ef05e07009977fef7f6ffac50b0506477a4cd8ebfb2bfc7482e57e3b807d954d8ffdf1a587fef226802eab7ded2ffef2a357b73475f4a4c798ec9525d76645c69ab47e12c5ce96eaab72e2b49a0125699ad753fa70d12d7acb3f5f3135e59e85594fbc7fb4bdb34791658aa2fddeae30aa727c9856232b4a4c987ec1b4eca4984850746c5c5c5553dbb623a72d96f69baf58f0f2930ff63a85bfec3ab37241c1fdab2e7bfcdd83e77d2e9bcb7dc72bbbdfdae7af74ae44a7dcffe2d6756fecf55655fffb9bef385c825b14fffef6fb0dcdadf7fce695075fdabafdc0f00efdadb5001c2e9727feb6a62a00b2e0ea37d7adc88ebe240adc04028140985833f8407d6e9a619f5c358367e9673e32f27171003e6ff217297775b600f8ecf4394b73034551698ba7424df8fc5ceb3900addd56a1c7d2e5e801d0d16b17bacca2addbee584dc544288ede340385008962b1bdee86e989076b0644e2f9d8148a61299af1967ffef69533adfdeed5b326dd382552c76b52e3635efae943dffdf31b43ae8daa1cffadcbb21767273cb661df864defc719b8bdfff8c5cf6e9877f5ee5d61f129ffbbe68aeb0a32cb1b3b1edf545255d7f4ab87aeb73afa6f999d79f3b4f8f33b57b84e4351f46fb69d78ec8f3e4ae71f947cbe7446d6f2dca4a488ab8754d5dddded90254043316cafa37ff9bc9957154c498a340eed20da7b00ec3e59eb89bf14a703a028b268ef5dbd20ef60adf9e22b70130804026162cde003f5b9974d49583337734e5a8c4b1a5077764bb29f48b94737a9cfe58622531abe471301204ecffae9044b4e3b30a090c61a2331f0465286a2194f5134a76b69b72040e1383e226c5e4eeafb47ab3d4ad29a8878cf6bb4bde59f3bedfd0e977b7a62f88cb47886a675bc6656763a1450b2db23b71c4c399e56649aa200e4c485033854d5a8284a8bb9ddd263cd4e496019fa9507575d5790f9af035577bc587cb6a2c2d150d161edeb13a4fca4c8b19e6be895670f2e9eb2e391abefbadc5fe9fcf669d1ff6fd1941d9f3779abaa2bb2a4288ae7f5a8dffcfa556b57ccdd59d1e2bd83676ddce1123cf1d7a76403a068262536727e6efafba5b5175f819b40201008136b06efd10f7ef4aafcf77efbf827474f87c7c42fcb4d06f0fcce53cec60a216ae0e21e28343e78c567346151fbeb7b7b1caeb5cb0bce9e2e37c44f1ad209ce362800a080a228daa32f445114450fbdcf9962359bf71ef9e15d37dcb564466b4d656478d8d30fdcf6afad9f592747d81cfddb4fd408dd66d618ce680d814f72ad7b6d07cd696d55a5a2b5ebeca6bf35b4772dbfffc7b3a7656ffddfbbceb6f5dcfce2ee0f4f34ac5b9afbc36fac0c63e49b560e887f17e6a46dfee38f3d3b1caeb3cc4d8ff9f97585ff70b42cbbfc1b6909319f9d69b86df9bcb99393ac4e81a3e51f2fcb945d896e65def7361c64b427ed3565633a9727fb7a06493b2b5bef9a3ff97bcbf3227834764d9b9f95e0513ad7732c804e6b9fc6ddb7a6201700446178019ca2a2c24c18965d1fdac127feb47640e5ecd6158b6c4ed7a727cff92970bf9337f98abc491e5ded8a13a76e583aeff7b7cc7bef68d5d5b3b2fc14b8df999e35b4e79c693943b1229d93402010be64091ec02b07aa3b7b7a1fbe32ff96a57300f43a85bf7c7ae23f3b0ef69beb454782d7ec2d40a4dcf389d1f4f6bbbff7d6c167ae9ff9e293df0170b6ade7c94d876cb65e78cb6b7a1de49dadcfb5b47fffdf9f3d7dc3bc179ffaaed3e5de77b6f9ff0e356f79eca6a213e7fafb5d92c3a64bc9092a5d4051b4464bf33a405164098a8c81cca7482ea745e8ffd1bb25cf7cbdf067f7ddea16258ff8773635903b2597f31f3bcba374eccd85935714fc00c0ae8a9627df3df8d8922900c274dc9a05533c7b3a04f71f0f362bb234d6732992c8864579c275b4bef347ef963cb27cea03570c2892edaa68f9f97f0eb8ce95df72e5658f5e33e7d16be6bcb7efb847559d6286df95b6a178ff37beb6f49195b31e59396b78079af58eff508d7ce3ca459b4b4e3a6c56b1cfaa4bc979fb685d52a4f1cef9937f7ac37c51923dbada5da70e6626c77fe7e695bf587d992c2b1e05ee96639fa5c4c7dcfbf52bbdf74cf752e0a6288ae6b4a48b120804c2f971c9c46686f483757a5dab43912551b47602d0a7e5f1b1a942779b8ad0f8ac2bdcb6aea1ed14c34a0e6ba060bc2967b6e4b4dbab8e71314986f47c4574f71cdfc9e88c61798b00f49ede2ff7f785cf5ca6b85d43a2d40ce4ec70b6cd457559fbdcdded1e25e961537db5bd1549f42c27c8427fefe903b48637e5cc96dd2e7bcd89a0caf1e9d3690d67af3dc968f5c6c90572575384d0d52b73a2215aeceb75b537b06151ac31d2d9540545d644c67b5423690da74dc8f08c72c6702e2f957a4596dcdd6d814ae79c2972526a6a5b5db5b7aaba263cc690916fad38ac4862e48cc5318acd5f76dd14c9c7243b1a2a06e24fd3528f3943e96c71a2d725b97b3a2ebe0237814020103c4c20b19921fde08e017d6e85d2f0da84743e3685a21975a1718af2de4e5114a32a18cfeb659773406b9ca240c1235fed99d0d31a0eb24cd10ced2b4a7dba2f429b982939cd434ad2de2b01dedade436f9201c0f03a4ac3531a1ea23034c50f548ed744c4490edbe0f497a5a353cdcd4ea1cb8cce76009ac8386d42a6d0d94cb12c6459b4770feca8d5eb92b287442a433c97b74a3d4533acaad27952964551fc54d541d3a0685ac32b0cabd06ca0ec3a281a34eb5d2f32e8f23a336b0c975cce4ba2c04d20100884093783f730a41fac2832cde986a4b5154952151af716201f284155f87c50b27af070d790baf6d06082a2287f89629a11fb7afd94a40726f16af2cf43257bd4cd47568e5764c9b3834712db23ca2ebb059ad550ac8662348a24fa8bdc7b4b418fe55c01410e503a67341ea7fc55d5598d22ba0742ad2abbce304382f49ee0cb6e0180dcdf47f3ba4ba2c04d201008044c583df88ba31f1c92254194a4cfdbaff39396ff82ce1518e4f1b2f0122a70130804020113560f7ee25cd9c7777678ded2f217ed5ce365e12554e026100804822a64b593402010080492e009040281402090044f2010080402812478028140201008e383ca53f427eb5b495c0804028140f812919f964866f004028140207cf521099e402010080492e009040281402090044f201008040281247802814020100824c113080402814020099e402010080492e00904028140207c89b9e86a726edb3b9f357483066823470b9228488088bc39598b6334a11420b9256818e65207ced5657eb78abe7d7e2c73c1464abd960d15f22df3e3f9d00a57a5a3c9dca48d9c15c379a25c53653ed925e88da6c29cd8d0e2eaefdacdd9f27bbeff1d933de345607008040281302167f08c263331222f3162668aaef65c17222266a644e42585256943b444d8f0cef193ae4b1f38c961dd5cd1e3180f235db69ecd1556c1a7f09ecd153d63f0d26efec98ebabf7f6e0500b9efd57f1f7bea40b786a3cf9daa7de8ad9375eeb1bad6b3b9a2c7e1b06eaee8b10dfc778cf68ce3402a203804028140989033785a3b675ab2278f349ce89c363d71dad8e6978c86a53513e1c6024d01602ecc4849064383d7f817a54f99f2f63da19b22bcb3a5ce0a24f23480b653b5dbc5b0e7ee991a03a020c9f8afb2ff9ced7b6c9a21f4e23c6777b45403606800308ecd9e711a4205090e81402010266482f7ba800370cbc39fbb9b1afeb0a3b51600b4ebae9eba389e03dc470f54fcb1ca0120313af6475745177d70767bbfbce39d23d3f2721e2ed0fb7c7b4d66826f4eb5995bff5cdcf0b90880be6e4ef6edd32218bf8df373eecc0d77999b5eab418ad5fca65904b8b5cb3274b5e79e6f10002c9b917d5f4194686e7aad8eca7175bc78ae1f40dea494ef5f91cc04333bcaf9ea7bde4686abf9055b4bd36f3e6dae05a035ae9d0cb03e2bd0ae8ea6bf1ea7be9dafbc55831487f9cd6611c0b269d9f7cd890a4c7535474fbf6f487c3cbdf3ef2e00e8ed11f266a4c70c7cc95d59a07de45c8f34cd3074e0e8fe7634fdf538755f9ed708a2a3e96fc7a98757c49d0c08b8ba77638a7c80836ac1718f5cd704028140983809de37dbf736afdbd17ad3e2e9bfccd4b556543db6eda4e91bb3531acefef19ceed93ba6c5a27fdb47271fd96b7ce5da1c7c589dbe62ea9c086d47c5199f6f779ade5e113b5ca2bdf5816d0dd7cdcf7d3237dc616e7a605b6544fc9c6bb5ed9e8d3fca31095de69f6fa9b033f9771b84dd5596850553debc3aacb1bcf289dd958919e9afdd132fb4343cf0e9b9657951a992b0bbc2d2909dfee2ddf17a77efebef563cb08b7b654a30b30b6ef33252d5af59b2f9814f9b57cecffb65aec96a6e5ab7ad195a9d4f34fa9dc79ae1cc637657590aa74d7e65798c64697a605b5546fa9c95313e295eea6a7aeab4fcf4dd93f82396e1a192303c6eea17805ea703300d1d228de66fbff35833dc79949f3dad1567fd02fee65c41cdbbb145dedf416d4760703a034eed53d7040281400860a2cc83ea4eb7213efdd64c0364a4e466af8b10f73438188686e86ceb15a0d15f7bd3cca7f38c7aa3dec0d271117a134f077cebb30a5d53de82e84977e6863380293ee5b9c529f1908736f2346d8a497c72be71f7e1162764206aed8c080674fad4f844b0f72e8ce7015352c2752ced040019087b6451bc8906c387afbd2e050d6dcd0a00d4ab98ddef6da4aa5f75152d889fb436d7c40091f129cfce3142947dab850228063210f1ed39317a1aa6f8c4db5834f749be6173bcfe71f3cac5d3a6d09006bf494a0b6bad38bbd72cd9dc4ab2000020004944415400b0999b9e38dd0f96f69df78fe6efc0d9fdede10202aeeadd1823efefa06a7046ae6b028140204cdc193c3816e6ba35ffaa1bda90d7db1f397fca53f6aabf6e396105c28c610fafc81958d807004466077e3b8c087ad994c8a18f3199c93140e559df8d891161704ac0703e93651d1b9634f05800a561071322cbeb870ed3b240bf55d40533db13557770bf5c929c18393c658f8cd1f927f8016394c4e4a8c199b72c009c6fa23ebde7f476443d9b40773bfa2d0ed92a3aba5de19169d9bf9f5ff5d8b6b2e701b0fadbb2f51bcf05163ea2bf4188080838abe6dd1822afe6a04b50094ec488754d20100884899be0458790983de54f8b223c1fbb9b5a6b34c6ee964e43de94170a20b9fa2b3eaffad507d5cfdf9301c0938fd4bef5ca21107737d91fccd67a3e349dae3e614cc9f2dd68ebb15bc5c09bdad4605094e1650ed1ed020672bc8430709ea7fe2535b33d7f6b82fbc5d6a0d536fc68bbc3ea021be45143860a1e33a94be2128df6e78a4e03e8b0cb40f333bbf0b385c6de98f4b7efc9966499a1e9ba03a545a9c9fa91621fe06f107a0202fe68869afb3563897c80832c5482d3334a5d13080402c19f89b2449f9a15dd5a5575a84b0220d93b9ed9d1502b515d75754f6c6b70000caf9d14ab0364091444e1b44500a0f6ed30e939f168a8d965760370f59a9f39da09adc67b235cbdafeeeec99b116b1cc8da43286a51eaf943590f0040d8b5b3ce1a1d338901801435b3e165a4aa5fe9b9f168ae1d30c3d1f5f2012bd8f3a80866f11533ffb4bae0d7ab0b7ebdbae0896c362c63ca9fae4ed1f577fd6a4bf96987ccd0b4a3a3f9892af1aee9112aa38391fc552730e009aade8d31f27ea80647adaea5437b4ebf53d547fa308140204ce819bc3e29fde9697d4f7f7cf42f2c20a23077f2ea240d139dbdec83ca7bffd5eac9b2775d991f03263389fbe38eb243b953fe343bf0db61f89849bf9fe37c6cdbb117010085b993af8e6718f86ccc9c34e92705e168b140eb75979a559d34d311b5556bca6500d046acbf3999b154434bebd4cc06e46123e7abf98594f505b62706cca06f2a88eda982dfdd75686940f27ef4cec0a26784e93c437b1e94e7e353ff27a3f757ff39e2d9be724edee2a880d1c3a8fe6a6940f6fb6f6640c053933835ef428e7c537ba0834c944a70d254ea5aded7683fc4bb6f259d98402010d4a014c57f0277b2bef59299e37677bb2496e74c5ebf227738fa5d60c2f49aa19c24c912c0787ea21df8ad0fb26473b8e15ba0fac6e0389aaaeffd8c7eedce4c380407a848bd2614b3bd8d54dd016e77b74bd1eb39fe0b5846915c82d52df37aad7ebc0b5709b8aa77171879b5e08c52d7040281f05f4c7e5ae2049dc10fa0d1446afcd3a75eaff5bb85cc78cd3f03bff59d7833262313d2c69150204a0260d2737cc8667b1ba9ba03349a48cd17154886e722bf9897bbaa045cd5bb0b8cbc5a7046a96b028140204cdc043f21e123627fb08c319140100804028124f8af128c31628e918481402010085f26c80b3f090402814020099e40201008040249f0c171d754357f5052b7b7aacb16f09ab58e26f3f10e158150c92d49633ccd791ce273786fd73bc5a7dfa9b05db8f11719a9d7f2ef12f38802af525d6df396a375db4f5bbae5d07d07005797f9df25166797f9df2516697c8c21100804c25721c10b1f6c3af6d4810e70283b56f5c01b272bbdaffdded2e6be478d5d09fe02c5e3dddbb655ed1075d362f80b36fe62339a8cbab477dbd127f6b6f701e74ed5ae7be34c931c8aef83077b09c63bc6c118028140208c3f97e0213b97b969a35dbbfeee99e934509094f0efb2036dc29434ce933ebda5cd7d390f25f80b148f67345aedc32b33a7d1176efc459cbb8720a32e75b53e6fa61fff46c12c3d3027c9f8afb2574fd97e3ac334b2ef43f808c65fb03104028140f88a24785bb7336c5272fa40e6e072a25132f8959fb4b9d77cb2370491f5f1138f9f9f73e764bcf0ded9ddfd72d8db470a67e53e38cd74fec67b24d80314e54d906b4ed7fcee68971500b8b5574e5d99a255133e5791423f0f8d796f5aeb3b119d346be047e5dcd7e6e81faae875cd30f183d1f6f27dca0a98fd8c74f90ac65fa03104028140f88a24f898dca9cfe7d280bbadc3d1d4d8f24733f7f8e52c82489b0fa0318d2ab23e2ee2f15e6ae5d3efbe3687fbb03a7dc5d4f911da0b32de23c11ea028ff5a9eeda9a3d6c76f2c9c15ceb455d53cb2e35ce13d5311207cfe5c4a7b682aeca368cc7bd367130b33865f506f8a37e1a85300f8c1680ff95ee06efdce0e7f23f55e82f1e727784f201008842f9a4bb2984c3300dc8ea2cf6a5f2ab702ac8986aab4b9f721a38aac8f8b78bc975a792b060fd7fb2cb99f87f15055946fe3227e70e5d459e11ac9adf0061de030bb106827139a0afbe81af33ee33a36299c1bfac48787656a8344db141968a4b7607cfd851b4320100884afc60c5e72bba1d1309af0b5ab0bd6423ebaabf4a93de6a7f44d2ad2e6bcf77d5b05238aac8fa778fc804ebcd7192fd0783545793ba3315754add9d10f96cdd4ca00cbaad9199914920a7ba81af3030e8b2dbd0252065e06ebeab5d6f6fbed31e03ba3d5988ff81be9c3851b4320100884af4682afd8777c6be2b4c7723df98e2ec88bc6365bcb241569f35f5d9de2f7eef11144d6c7513c3e884efc0518afa628df76ace24d31f1f93b92223534d0fb937f558b6a76aebf2a2a1415f63168cc0306137bec5c0fa60d2c63d8cc364444726a7b5696a818e933e2715ca83104028140f822b8044bf4d171da63253595761900dcb60dbb2d89d93157a9499bfb66f75144d6c74b3c7e48addc349ec6ab28ca27d2480cd3466a6840d8b5b9a21680a4626747882aecea1af3eaa2e929d909e86cdad2220080a3e7d5a38e657931c19e820b34d2a7a80b3686402010085f91197cc2b4dcffe93cf5f4a601c1f2c4f8c49f2e8af299140e4a9bfbc28c22b23e7ee2f1036ae510c6cf78042aca27da68ddc7356baa6a00e46524de84d65f15d5bd729dbf9d7362fb43536157d598973b5bed3be0bc35dbe7990318e39f5b647be8d3b2373dfe66a73f9aad55353a7d7a4aa091ffb77058305e9714bae0bddc4614dc090402e16271c9f4e025b7db3a7635f45145d6c75f3c7e3c8c0fae282fd91c12a361f5be670cb4335415f60019f5e3bb4acbd2a6adcd54cbdfb2bbdb21b11ace348a1bea46fa70d105ef09040281e0cd04d28367ce4b0d7d5491f5f1178f1f1fe38329ca3326bdca1903ed0c5585dddf3077bf29fefa4c6d107f3591c650dc503772ecc610080402e1e241e4622f06974e515eb3604e0a893f81402090044ff842208af204028140b8c890bba3040281402090044f201008040281247802814020100824c113080402814020099e40201008044210545e74432010080402e1cb8ecacfe42ece9bec0804028140208c17816fb2234bf404028140207c0521099e402010080492e009040281402090044f201008040281247802814020100824c113080402814020099e4020100884ff1e2ea55cacd4277fde4be52751a1ec7ce68478a61f3a03bd723acd0000841ee99393b22985599671a1c31449540489e2783001166e3f218b5e5b4d062a2b8349318ca570abbcfd942c1aa8afcd64b8c18de368fca841f673010034d4d70a878d19f7b88588d0deba6d6f75598bbd5f60e29363562e9f9e17c75dbce627082e89e6752c7361e598cb4f6dfebcaf60e9ecc2c4e1de2475357fb0abc91d9974f3f254ee12f52fa1bdeebd9d664d52ca8d4b9299710a82d05ef7dece96f0bcdc5533a27cca395f7fc76ac078d5dac5bed67d91667fb9627221d64ae67d4fddf3f3aac8eb7effda23193ce032d71f3ad1d5e3d64d9a32b9204b1342096e6b5d6dc359abab0f6c5246d6ec18c3e819b0abe658e9a97a071033297f4e4116df77f297f77dbf1c2bd6bff64436af7680e276581d3286de2047319c96d7f19764327d2913fcd913e226b0212578975c54255b014099924d67f20020399452b312a6c3b28c0b3444d959e4deefc21dd77339be1526f4ca252db2dfdebb2be4db5669a6869ce305bb5cd22283a7af9889a16bdff8193fdad9d55c00e82b0a71c1892768dc42a1a7f2c40fdfae1bfa68a9683c55d1b86acd8ad5530c17a5f5095b9e2bfac8c63dfaf8aa3cdd0515d4dbd472b0c21931d75de8d59b5cddad4527db00e6da4b97e0455b4771451b2a98954b924de31404d1d6555c61890dcb5835c3b7839ea7bf633560dc6aed228fb5be48b3bf5c31b9206b4f7ff0e72d156772d6fd228387a3e2fd4d37fd501cfcea60c1f7ae79f591f8112f448d879fde78f8df431f3fdb8bdcc59f5e37337d84f67ef88507ee5bbf6d7843ee635b363f30d374e6dded67dedeb9e667abd48e5524b75be40c3a4a5140519025579fd5d5af0d8b345dfc1c7f6996e8cf9c105fdd2a6c6c414c681783b65ac93a18bc238d8323230600381a0024f942cca1340c008a0f1c010e0e322f9bcdae5dcc5e97e9198b2875dd6379bf2f1374e378181fead9a766322b723dffe865d3e8f1c83ac1e3363a5d6f0d6477e3dd772ffee99adc540040d1dba73a2e56cbd7700018ed050442926400bc56a582f59367fd66ddb2df3c32c374e92ea5fad469bf5eb7ec373f9c65f2993fc91714048601a0659921f72fccdfb11a300eb516f244531ed3f64b67f6c58bc925b656acdbb6fe0080dbae298058bdc32bbb0340d9ff6dfdddf611ea46eadcee9ddd3d54ec7dcd2c053fa4fee3c1ec3e756eaee780dfbfbaa575dead0f0178f7f51dd66057464aa3d5e9b57a8356a7d71a4ce11106482e51be04e1be3433785e4b656730d9ddf27129a4996259f570423d73567266b143833fa15bfe788758da0d30d48af9ece5491400c12a7f72442ced06809848fa9a056ca60182457a719f149bcdde369d0694437bc50336ac5ece94ee142b1d00944d5b84e42cf6b6a981831e6a6a069d02a4c5530df5ee72099e86d5744edc724a6e75014098895e359f9d1a01c12a6f3e2296770340623c7ded1c367ab0140ee8ad17379c56fa242c9d468dd5f8570fc986684aef94cbbb0150cb16b0cb522800ce1ef9a312f18c0d00b2d2991be73046b5267759219332f449563efec45d25e1aacb35f961709aa5570e4b9a6866ed22460a288d533d7582f2de76bfb8516547c55d758a15008319b9ec0d5369a947da7c5c8691be6e8ecf1d015b65dd310060ee7ef08aa5893410f5c47dd2ba97ab80ae76276274a82f3fb5e1d3ba2a9b0420362161cdcdb373859a6737d69bd2638cbd2d7b1a2440b77acdc25553fc138aa3bdf1edf74e1d6c1300a6705ededdd74c2adff0d9668b143f79eaf7af492ddfbaf7fd1abb363935a1b9f1582700e74b7f2eca5a38f7de4531010766f24d95c1ced85179ea6fefd534ba609894bc44afd28885f6863737562329e381d5d97a04b87343d6e71f969e7073dfb873496114eda8fbfcf79beab5e9531e599dd91ae0f88c3877c9d6b20f0e5b2c00786ec9d259772e4a6400a1ab79c307e57b1a0400d9b9e9b75f979fd853b57e636d4a7e569aeddc869378e89e8c6d9bcff193b2ee9bedfedbc67a3e399cb3588e754ae08d77dfba6069aaf3f5178e94fa06c1c785aee6f73e282f6e1000a44e4a5db37a564ef840d7e86f6ad8f0cfd2e20601bcf1f65b17ac986cf0f3373098a64083bf96f4d99b477d0d30a87a3a685047a0c12318398833b04ca9a972fd1bb52997cdbd77490c207cb661ef368beefe0717a5b4573e1b18a8c906a1497d7bb028094d955e15214d8b445df7487156a94735f332b9005fe668fe1d5a4c3c2e98b2e2a33a5b8a1b04f0e16b6f9edcb6ff445183045eb7fae610bad2d7a2b7bc54a2da68c510fb4e862ba00647ac71bf65dcfa923701e0fe05b986dec31f7b6602a6efbf75c337e3f7aebdb2be0c786b43cba32b83dd3f75dbab3d7f24cffb68cdbca443ffb9659fb90e386d73233ec829bbea2a0000f76fa9fb452afafebd26fbb70751df664dbc65f15c3c77e4e05bc79aef5996ac9e431580f21a160ffd2db9ec7d36a70c008c362c5ccb318a60ef73b31ce57238044ea79515ce68f42c4428fdbddd8a2e420b679f0bb4ec14dc0a00561b6630f25488e3a94b92e033a730974f65164ea6841012bcd42597b80050ab173161001cf269af8193b55b2eb552897a40528a0fb8cbfa00a7fce276b1b41bbc89cad2a3a35b7ebdc85d2f4292950e0996fec11c6353ac0eb814e8f494279c1c4785a94f46954ff78a1f97881b77b8cb2500f4652994b3457cb9546e75617636333b06569bbc71afe874c92f6e17cbbbc1eba9343d5acdf2cb5bdcedf2407a6f6d129f3d22b73a94fc0236cf3066e35b5d4a758b5ceea0127900caee4362930cc92afdb9583c6343620c95c6a3ba4e7a6eafa4165465cb6ef7c6bdee8d7bdd1b77bb8b6a95445eb13a9403e76400d53552870b5c24c5a89526a89e1afe716b3b257e58a758796a453e9d06949f16dfae56248752dea194d72982af35ad351d00604a9d9b38d002b994bc179ebcf6f927afcad3c15173ec99f76aaa6c58b1247bc564ced2d6f6d7374edbc4fe2a9bf3d8c9c63dddba6c1300e7a6b74beb25bfa652fbc4f3c70eb609d99363a79b70ecf0c9a73634152e9d64e9749e3a7cecf90d7bff7ab8abb113572d4b3446707a0080d6a08bd0d26a07d6b9829c5168adfcf1db358d2ec44e8acae86e2eaa70aa2d65db4e753a4fd53924a8b9f356639c41b074f67e7abc034045696da34de013234435c7abf794bc74d8623145dd7ecde4e910f66c3ffcc2311b9cadebff7a744f8360880e9f1ecd5455d43df387fd8d427fa34d3878e0f30d279d0028c151d5e93c556d7388fd5536e7a98ab66382b1308183cbfec61bbbf6f75206df20f838606f5effd7a3c50d822121aa309a696c68fcddb3bb6a076bd1d2d05c6ce6b2a319b8ec1bded855d22b7bfbab1a4c29d0e0bf9c92c27d0c6856f574f82a49fb1b3ca2911e54cb14c5fe4697d064770fdc64b1d82d9df67e09a26aa0bae460db8319208ade1541e9c383c739583daa99a7e24b797f8831f1b870acacaeb89b49e50157efab6f1f2b6a60524d0c5cce4d6f1ff68b9b4a25fea72b59add132a1f71df8d7e02835ee4bcbb15200589815cdc256791200b074c137e76bf8f45977dfe559746f6eec0b76b836e99e7befdaf7c0daa3cb4de51f7cfcece9ae3a00d05f1da70d9a7a622f7b785fe99943958f5a3e7ce5afcffcf8fd830070f56593119d3e1300ce3477073b9da200ca0052bfddae40c3d050c43e9bcdc91823c263628c06a6dfdaed92a140119d368753d1992278469624c56bad5f921545812cba1c12630c8b8e0d0bd38bfdd67eb732a167f00343d790a6efa8a992002086ce4f623a4dd26e1b0e55cb730ae9a16efff04d6c14947d3bdcc5ddd85f294741ea00f848e60757321c94dd9fb877db949d55f2ed3e4f05c193ca599a5eb58cd66d15763ba8ebafd2a40519f0d49be5fae14ff2598b5268a46fc8a7242d3523996aaa904b3b14002d1552078048e6fb57323a28fbf68a876d7079dcb4c9af1e0280154b3597c7524ef37919cfd33fbc9e35bae43f7d2c5a01871b4dd5b20b088b676e2ea4d12bbd7c407699e57a179319702faab543191211e275f87e0ebdb9436e6d909d33a9132d00b0209d6e3ae30e2cad31835239b5e41fb7fa6303d5c96ae9cbf2a97c864a8806c7d02b3221eafcef08b02c03c0901caef75efde5069ebb612353eebfc6201aa3e76685d51dea29aeb10cef644a7ef607734ccee6277e7bd402a14f00bceee4d51fadee03627373bfb96a123a6afef78d9abe8ab38d37acfcf535969f6cb51cabe802b0e2d625855186c2bbafd03ff7f1a64eddddf72fcb6450bbfd68e081e70ae255cfd874b21e8021377ffded9940efebeb77ef7105bd33c2a8bb43cd5c94f4564d635559ab63397fe8a40470cb6744b18218e8b8abdf73e99534c6e8955fd3cc65f529297cfdc1c38d002665afff569e1e7dc51b0eedb030ae818cc0ddfecd252bd20d8eba133eb698927ff3833931103ffbe7b6371aa4e232e1e7be41f0a6f6404523609894fbfb6f4de12014fda368539bfda3a35d0f24791a50c26f9e981f03a1f89fdb373448db4a3af27386fd55ad85fd914c80c1fcd26f2c4878d9bb16543cf50a69d46aff5adba16ae4f7170d7775d5e8c1aa7629f06a633e813a6a2ec851df9e8811a3345811805c1424cef5073f0f5e8ffee6a9f9129736272994980c57dc0fe6c7b457fecff3157dd03dfcc3953374edbf7de66015a47edfabb15a255685df9a8480465b7f20e4be2305d6e08835ee3768169c009011c500343f304f9744808729276f601f510c9a483486c8080380dea697abebeb06af4423de2a600d61d100facefcfda72f570c6c33e85820326d25b01d76a7a8ba400f45b075587c16adc3c318c0ed7482351ab41a4551585d98b6bf4370891a4601184354848682ec7725a18696033883514b03e0f41ce59024191a66a227f89090e5fd8d00800ee9851d72ab0d003a6a254b21ed59888e49a3a300808a3302dd803cb82aa1a33800a0b212a8dd36a5bb0f88f259b3e87279afa60080e406d45b1775c7b59a1c1d00a56caffb4333b695cb858ba8b626b9a45bd97c64f89aee993bf33a4a0700d4e58b3597034eb34f2368ee056207fe1eabf16171b411004f65f3287581055abb150056b3f4b7a2e10eaadae856af64a7f0f0ecc468280ec8825ced52f69d921a019898c93a1c0b5e5ae0a9fde296368d996f954a3a946d47440060a8eb96b22961f4e585aa83260940df39730fd223063674bcfefcb173e0aebf73c94c0e4da7ea8b1a2a5e85d7ed0dcf983a2bd104401731d384629b5ff3151b9b0400968a8a9f545478db1f3f2f2775aba51100625778164f0683240a804efd4029e81919004be67aee78845f3e5bb7e78073a4dbd66aeee8d2d30bd178cc662edee3ae049090966b046357d9336371e12af3b1a29ade37de390c00bc71ed37e313450030849bf400605871fb952b80818c3e29f38a749565cad4fc493100c0e64e8f428305a25f10d44c0fd77300c0e5e51837b5d9cd3d2e240140eaec8c1800e092a28106409446ad0541cd6040a8f4322053cdd334df2a563138d048efc542b53207fadfc078d265b18f1aa820dbd991a2e4551141e32c8d508f01e605894f6831f19864d4ea014444260155d1f15946001133a251d5195257622705365af1e0d8fa8e8fb521d4b83f574ccbe401d9e53375ee3d756ce059105dd0f141c7998dfbea5a583667c1e20f1e986b29fff4fe43e63a587f79a0feeb57a785ab1dd17fa678c7b93e2166faf23b37d7ded4d7f6fecf17fdf603fcf8a9f796bd7db3678fc3a75a1e9c1bad327ba738537438a3280a288a92fb7bbbfa6d7dda2823281aa2bda763b8c1d1a20406a0d8e1457c8af2ceef0a0045a1341cedb5364051a1e6cf899ee0ed8dc353e7d66e85673c1362e5788b723903001d6db21db411b0fa5d6307173a9aba150086c1b5f70e8b22018ca8b404ac1f88c187442ced33a08243397b5a2ae9464c2a73f75c866913ff704086e4776ae5d34fdcfb1dd44d059427e12dcbc4ee2ae5cc7177591ce7796263acc67383169a06ff880aa7d0adc4a4b3df99434ba252532377ca88919526b3020d951835dc10580dc569866d044dcf4b4575a3b2bf4201303587e6829416cd28aaa7f68b9ba513b189f4da423a42540e978bfb3b94cd65f28ca5747be78025dec7a5e5a7e140055c6d6f1d685fb7280e406dc9993d9d4e0046235d535c5ad420a416e4ffcf75994cddb147de68c4e0faa156e3a9094db8cac89b8d4de0d0e04c9d37e7a96b1225c15971bca95de4e3389cdd7aa2717075f995edad8faf4cf4355efdc0184dafea1945510270f478cbeac9e980b3eca4739425a83d6aee3051cb0ab86365ce8f76360358b8289503ceaaedd9dee24c9892f5e4b58951ae9e3dc5c73faab1bf5a74eeb1140900dc9eb99ef3a37fecfea89b7bf0fa1800a92991aa0db9b1b2d5b1324e0f981b7b01f48fd2f2bdcb97eb9a9d0022061f276cac6cb5ad8c3341eeb6865a0b91b6b381063fbc6eb1b70166354fe77e6b4a60550f1a3c92911e54cb9cbe1c001a6b3b24c43182fd9c2ba440a96d1fc980c08a182dce3ef518685e90f8648c21268277fe1d292fa877255d60a31d5bdff10b85ba476b525acd7de07529893e171b117d00767d56eeb8736aecdc2b80cf80cf0e3ebf3dfa5b8947fef12e00e09af814add4bcef6ffffcb4dfa99df7e0c3cbd28647baf6b677ab6b8e03b069dfbc3a3fba5f1c4e81410e61bb0edeffe35780854f6d796d5d6a7864a47e2a706670b00a00cbe74e0afa981d00ca938869ad41d7dfe396014596293e2cdcc40fde8f7788140bb8e0b5e2ae48a202cf2d764551fce7f25f8e87ec54292b71b7c5b1ab327c3c39552d03084b621f5d3490630fed10b675e3688dbcd0b36ee6909fdb214e6794d20e00989349a7b00a5f2bb9ccd20b0794499252d201004b7268c62a03804d7afd80a2e994bd9fd6764b00944d45ee595399555981334ee5f5ad020f4082a7afa565d0fa7e055004a7d2d22895977b9e994052163d74ea24412eb50140ac6758cd538b67b26c9b506cc3879f89a9f3c6663cacea8f60a6a652a8533aeac4774187399512b30286ce0e975e3e2083a17f78d3d08f4d958d5bbc6fb251ffef7a4d7a2683464f57a7e62651c14afbcea2a055e61db7c99de2e646a046b9611ae599d185855352fbb025de8ffe3189d9ebf26b9f3f291cdb7ef0becfb8544e68b40140eaa2fc1c0e67c100e8b7da1a2aab8e14357acfe047263d2f09876b1a0f97bf86ee086b4b5185137cf2b424fbef0edb01ddea6be2f76cadab3a70b82867d5aa74c92d0070bef0dcf62557cc59a576e0336bd49fc8489f9184c3359693277e8baeb45e73b16d54bbd4ddc99a9d86b22acfc46a71b629d89e5da74ebc5a2621da72ff95f19eeb766c4258d69c2cc381937d15277fbba927cd612e6e1380f0044f8845492d87009d75cffcd3bd30dafed14901c09219d1804f1056170eaf6ca779959fe5ee28aa91006ed5bc3874b47a8a7aea9ffd0b35bdc53512806505b170b58f5c0bbf7d30cb70d0dfe0a470a9cecb80a98d2a9efad6bc8fc1370633d28b4eb5e8e93cd9b9adeab94d0eaeaeb9d12f5e818112db55b7a7e9478cd270458414e7a1b0247bea31c03c555fb81063d2d11a626e1fa112e72c4a0f6cb4e963e93b7ea150ad71b1a5f299371ac1a73efb44a1f7837f11f1d9c036d80400fcf4afe72f7efae45e38fff99dfffc737041f437ff93c4c3d15df9f22b2f0148be639df78913b26fc1e9e3009a4fdcf5ca89a1cd574f490a7755aa1ec24ebdfa29bcf22b1cfcd5b5537e35bc8470ddbc3057c3a1eda33c18ee7b016029382519ac9657acb67e1da7652945eab7dbfad830adc6675c40437289b241a8bc15250000200049444154434372dadd80e67c53fba57cc86e7801727884a674b42867fc7e7e26ca27ba01605ef6b09d53b368002eb33c3c05ef1eb8053e631abb200a4c18b36e111303b4b6c82566050c75f562cd541db87866452400d4b7c88d0c15337c6a2a278302e07229677a7ceb851ebe46ba24b8009ea766e7b2774ea7d372e844c0da216f3c22357b96571c4a8f9e59b760e0d4a51d004fad5ecec6d0c3a3e7cb2f676300b8e40fea9531191facba74f1ecb767d13c70a64e2e312bd05377ac64c33caef160bc5d080c7e2c3d9b07003e9e4ee3839716b4a5f8c42d67b6e6b2180a0ef9c323524937c24cf4adf934bc2cf16b7885abaf7a7449ac01806b20bb172e297c62652280c90b72b2014b4ddd5fdff9bc9ad30140a7b5430c1c91fa97aa4f9ffe8bafa71a201c3c5c5354e14474eca30f666c7dad06c0f4e585abe6cdbc7f4938804daf1d6d9674d3e7c602e8b3398fb6b9540e5c57180ef5337229d39f5c190ba0ea64637103524dc3374a876fb97946561c82b96311c0a5a4ae300180213763b22ee89ed1572efefa641d3adb5e7ae7445183109b90faed2b1299a8cc5facc94ef5d85023c014b5eec139d1aa837603e30993213a5c6b6efea8ac17c0c2e5f356a570804f107cfc8ccafcc5dd03e5175538c11beffee6b21946af3834b415d738012c5979d9d244d6db5fd56046ab191ce36b40de2a154ffddabbf7fea3190900aa6572e939b74f62009c3ad95cc985a7f23e6d492d50eadb4731805537db3fce0161490a625e90f88c2526838d21e833232374a57585115069b463ea3b08a5c63d361afd4d4dcc5f9003e0e087a73a0184cf79fec0ecef5c33f865e1e4e7365f7f4316004617a5fe905dca6ddf59fd629a3e7db8a2e31fb9e5aedfa76a821e123577dd96b77e7b45eed08645dffdfdfbbfbb33dfd554be050056176684079bc1fb7da4a188a24c7346bd96eeefe9e8e9b4f476db68dea4f72cbd0faeb9539c51cbca7d5d969e0e8bcda1689881457a2a78d1234379af02783859df8a2f1732ec2e85e329ceef0155a72201469d4f40049722c8fe1bcf1ba7538186d2b12adb034f7de1c68f742fc3a980a68cfcf844f4bc4b934438dd0aa31693608fced8ec6e48e08d3acea743cb0ebb0b1cafe7ce630c2adaec6e301a938efd020f94049b53e2757e660380646fffe0fde345354e98529ffd81671612ba3bea7b4a82e810dc8cff76d9617749604cc69196381c75271e7ead2e75d1c29faf8cb1d95d0ca7d387fa2be4e0e54ba2cde9f6b8afe66fb0608e6e70104fcfcbc811cb149c4e97e47354b0408d16c0906a61ac2e049a3796f85cb84963ed11e7dde942aff1be0f1fc8fee976dcf2f703c36f9811fb5d2e680cde3f4ee83bfcc243f7addff6d36d55dfc8557918c5dddf27010cc36b346c8887b8fafa2430bc61e05647f90bb7dcb5fe40ceba77defdd1e5e7135445966485a2693ac8bd74459664500c3de64b5f7e5ae297ec1e7c88cb10aa8950a7b691e3a9717c21842e4802d6853e80188bf123305e43960b2c8d616164c7742c6b32aa36425a6f3ceff772052b735c0f64389351fd1b577343518d134076418a69cceea8efc970ac8963cf334a9204a0cbe90668d3d8a21abc7c6638566afe060be6e80607f1f4bc8c1cb14c4ea7e3420cd42801bc90b61ab40415f3c6109f0b3769ac3de2bc3b5de8356e587cff63d8fefb77bff3f6fd754f0ca43256cbfb1eea38f5affbd66fbbf68977be9eabfe8b788dd6e0b7de36ea21bcc16bbbebe42beb0f00f8d66d73ce33a814cd3017f2fd7fdb0c9e409850386db52d76c6149616679808e6484e5b4d8b9d3745a77d41affa9f60fe8e7ba0bef0001242a5dfd2dc214213951cfca5b4625f572f1315ad1dcb3ac5580e11fb2c668b08535c72f4447bf97fe00c9e24780281402010bef404267822174b20100804c2571092e0090402814020099e40201008040249f00402814020104882271008040281303ea83c454f2010080402e1cb8ecaeb05c8cfe40804028140f872417e264720100804c27f0524c1130804028140123c81402010080492e009040281402090044f201008040281247802814020100824c11308040281f0df03f3f4d34ffb6d6aefb55f8413d7d74b476a654b1f4c6194368461c69913e2de7ab9ae079971946777a147da7a446a95a9f448ea028d9144c5e5a668d67fbc23f5c99f1c952a5ae4b3cd03ff5a7b14d640878d45155ab2ca9f944a155d4a46023da41f3c8ec68f72f60017ce36cb67db958c44fac2c58c83c52d64c4f29dc73e296fac6ea7a6a4850d546b7bdd7f3efebcb28bced0756dfaf8f3ca2e7ae8ab09852408fd82426be8106df3f8d5281bb2e37501db2b2bbba810dd34979fdab8eb1ca213124de3139560058ee0e0586dfe72d5d48465dcabfeab1ab7607d4dea6a7e7feb99f2362527239cf902422199f7fde496b5ffd8d235f7fa85912ce032d7ef3f70ee4445af930e4f8c0af98cfd2db5a52d6dcd923ec1c88d2df6f111a689308357f67d22bc7a440687ea33e2b31fb86b5da31de1928baae4f246b9a442aa1fdc597228a566e558e738d8b3b3c8fddb8f859a0033845eb9a4452e6d1cfeb7bb427ab9c87da66f2cadcd2e97b4c8a50d8ae0dd14c6cdf8d1ce1ee04269a35c5aeb63ccb8c72d549ce6b7f734ef296b2bda79bac63998f36d5dc51596a2fd66dbe01f8e09790dd9f25cd1c3bffdb4d219f258c6d6555c61d9d3e40ad8de515cd156b4b33544377b9b5a0e56b49d73b8c7cb9320058ee4e0586dfe72d5d48465dcabfeab1ab7607dcdd5dd5a74b2ad788fd9f5c584e2f4077fde52710605733378382ade7f63d6a29ddffecef11f3f7cf08eafbd79c7b3a19eb567cf5b5beffa78c75d65e6be0b0f057b093a5c975c6cc31dd76b727860ba52f4befbd32af9c1e9230d35da6a25eb605239d2a864665100c00080678823c960ce7fac4269180014af095ce018f8ff65b3d91c3d2ccdd2e65a0550eaba95a9869067de4cd08de3617ca8679f9ac9240f2c3c28224373e35074f0b885467359ad6530d5ef3dd39b53180e008c27348ce7ffe01866225e43680d0780d1861e478601a06519009224338355ae4f9df6eb75d98cde601a751a21c90c43f3da718bc788058ee460e8367f296b6a022e428c77d57fc5e316acaf4d9ef59b75d9e075a62f221462ddb6f50700dc764d01c4ea1d37fd50f4feb6ecffb6fe6eda3d3f5d39c2955eea379fabde7d60ff5303b9793c6afb122478c9a140cfe4f00349223f0d25d651668a65d5c32fcc3f73567266b1432b2f42b7fcf10eb1b41b60a815f3d9cb9328008255fee48858da0d003191f4350bd84c03048bf4e23e29369bbd6d3a0d2887f68a076c58bd9c29dd29563a00289bb608c959ec6d5303ab809a9a41a70069f15443bdbb5c82a7e69ace895b4ec9ad2e000833d1abe6b353232058e5cd47c4f26e00488ca7af9dc3460f96c201bdf5e286d34a9f84a5d3a8b11affea21d9104de99d727937006ad90276590a05c0d9237f54229eb10140563a73e31cc6a8968c2f2b6452863ec9cac79fb8ab245c75b9263f0c4eb3f4ca614913cdac5dc44801a571aaa74e50dedbee1737aaeca8b8ab4eb10260302397bd612a2df5489b8fcb30d2d7cd61027a87f3d0c1aea10f07f7d7ad299ca90f3a286c7eef83f2e2060140eaa4d435ab67e5186d9b5e2a39dac7dd78f792f971f2fe0d9f6d6e9696dcb878d5645dfd9e03ff38d29b3577eebd4b0c255bcb3e386cb100e0b9254b67ddb928d1bbd7084d95ebdfa84db96ceebd4b6200e1b30d7bb75974f73fb82893738e74a0d0f1fa0b474a3b01385ffa7351d6c2b9f72e8a51b1305ca52ff737356cf86769718300de78fbad0b564c36089d4dafbd7b8e9f9475df6cf7df36d69bd2638cbd2d7b1a2440b77acdc255534c003a2a4ffdedbd9a46170c939297e825d510d5979fdaf0695d954d02109b90b0e6e6d9b942cdb3e757608083774fea5cbfb136253f2bcd766ec3493c744fc6b6cde7f84959eb6ec874547efe97f7aa3c455d9d201c3ee35c76c7e2a5895c4f90ed8ef6c6b7df3b75b04d0098c27979775f93c937557a17fee8e32bf3743e55bfe183f23d0d0280ecdcf4dbafcb4feca90ab5d6e668fe1d5a4d094d95cf6eac3765c54775b6143708e0c3d7de3cb96dff89a20609bc6ef5cd0371f36e39c1621bb422462b3c3032a6d0aadeffc0af456f79a9e4849bfbc69d4b0aa36847dde7bfdf54af4d9ff2c8ea4c512df82a8e64b8025af8285d49bd930e05562d50e7dd7a473d69d0bed6def0e6c66a24653cb03a5b1f24e0feeded6b499fbd79d4af09a9af32d797bc0900f72fc835f41efeb8030060fafe5b377c337eefda2bebcb80b736b43cba32c51034cf351efcde07a78f8ff330ede227785d2cf3dda5436d43d95f8ba98923cd86a52eb9c405805abd880903e0904f7b0d08acdd72a9954ad40392527cc05dd60738e517b78ba5dde04d54961e1dddf2eb45ee7a1192ac7448b0f40f1c68b32956075c0a747aca33d8e0382a4c7d32aa7cba57fcb844dcb8c35d2e01a02f4ba19c2de2cba572ab0bb3b399d931b0dae48d7b45a74b7e71bb58de0d5e4fa5e9d16a965fdee26e9707d27b6b93f8ec11b9d5a1e417b07986311bdfea52aa5be4720795c80350761f129b644856e9cfc5e2191b1263a8341ed575d2737b25b5cb80b265b77be35ef7c6bdee8dbbdd45b54a22af581dca81733280ea1aa9c3052e9262d44a13544f0dffb8b59d123fac53ac3cb5229f4e03ca4f8b6f572b924329ef50caeb54ee0848ad0d453600c67577e7c502e86c2ceb92d55b80bd79fd5f8f1637088684a8c268a6b1a1f177cfeeaa954c0906a7c5d6bbbba207e8d95761b7d89cdb8e7400c2d123168b4d884d3634ef2979e9b0c5628abafd9ac9d321ecd97ef88563369f31b7d8dfe8129aec036b9ebd16bba5d3de2f61940319da10c179c6225a832e424bab5ba87617c4d2d05c6ce6b2a319b8ec1bded855d22b8b2e4755e7ff67efcdc3dbaaeefcfff75d74255992ed7849bcdb716ce3ac1067210959891b9a10a0254009253384c2503285d2c24c4b877edb0e330d0c7dbe74c8946f53b6fec83c4d4209254070080e642176ecc476621b6cc791635bde14c9966dd9bad6d5bdf7fcfe901759baf29650527a5e4f9e27f2d1593ee7733ee77cce72758f587dd1ed9107eadd627995ed84cb986d01201ed85bd6a4406aaffbe95eabcd8bf8b49899aed6825a8d8d428fb5fcd977acf56ee4afcece9f25383a3a5edaf3b97bca1986545096076c6ea9b8e88b7d552200461a92b9abe1a9bdf5362fe21362925cad074a1d36779fd3a328e1c39f7eb9bcb843ca9e153fcf82f2d2aa67f6357a47673e6acd21b6ef7ce9ec8966c9141b352f96abaf6d7cf637a76cd2845bad7260822d25fb7555d158e8e252f580b7e78dbde505cd5caa8583573cb0b734a835e530ba1dab21c6cc5c5333e2049a5e23e19fbb924d92a3b3e7e3734e00b5650d36b7a44f8ce6c2285fa32208368071bbd2388a0d51d494ad77228586ed6b6e7775a758dde851a0ad7025d4defebb5a891a6d4261682b2f0380e559b13cdc7555008035cb1eb851a7cfb861dbfd0080e3adb6b176dd393ee1eaefc37c05fb277a26de04008aa8ee7fdb5763e16e9f399683b7d62b0010c7ce4fe2f22c0070faa21a38183dfe6ddd239b74f9d300e0549dda54a33801fd34eec95b74f76fd2adb500209fd4073b0fbf2be75976e35a5d5e0400e6b66fe83666692ba4c9ae96d9d41ad7e0faf782837066f68ef9dce625fc2d73d9b97183f2b7d52a4e00d3b82736e9b66fd2e5cf602223e0f51ba55b7de3b40a207f8dee1b29cc1485d7b34fdda67b64031fe9ef183eb45c54bd40e40ceece25fce645ac1ef0dad526adc39e7627a9b1931a3ba97192739d989bc302686f564590f36d00b02c83d5cccde6d32a5a09d69b77a85ff106f6a6f9dce645fcdae910a2d8fc4c76ed5c8d1381bad206009835336fd6acd5090094c2b3764de55f2aaab501a6b4dc17bebf6ac7631bb62400e87bef6cf78245c900eabf7038db3beb0100fd97ecf61efb59378098451946ef805f2645678edd704beef63bf36ecdd08f6169baa14dad711272315bb6ad5b1d0bc0b8ede1b55bf2621ab425ecd232fe84e79e5eff93c736dc9bc601cae11267f0598a25f9c527d7ff64c7e2780090fa25b454350130e5cedff9e0aa279e5cbb5aab06fcb4948737e56ebf67d99d2bb3f2d2a3467d37850c432a38bc0975ef03f9affe7243d65092d67397009866cdf98fefaffac993ab960f8537850b3f7bb11f88cfcd7de0f6855bbf956102fa6b2f5cf28eca3c2760f9de54fc850d405af6cec7d63ef1d8ba7b73cdf1b19cd737e156cb9c3eb996d2273cf7e4865f7c2fd70400c6c79fdaf88b279666fb774f3517cf21ba1dab21c6cc5c5333a7cbc76f7aad84f5518b9200d457b47bd073ba4a01849b17c48ca5fca08a28c106306e571a47b1218a9ab2f54ea2d0d0bec68df4354d6d9c3a116a6ffa35776bf685901d7a49048099311cc0ea07d7e98a0c00969c3943f342798cf12775d5aea77e507fd7dc5557d1d97e055bf4837659e37be373929ec9ff2c6fccf360553d6503003895dd47d5763700381b14471eebdf888e4b67630080996e065c803a346931320200305909cc313771f50331a3a6345d235e7070ff5ff101dae33f73dfadba1c23005271d277d08ec3956ade0aa6a3452d71910fce8c8cd0feb5b3dec818018059b94ab71210eda31ab5b507881ffc3c59e123a7b366007a265b8f322f78a0dd4500f4da95df158c8c405a46c46cd9c05fa7873f12a76304200bea452ff9ac5ab101b070b38c280f9f5b68d1417a4b9fcbddd8ab9438c9e133320070cce6357c4a24bb324f6bcea4388f54480060ad7bfef54bf51d00602bba64df9018f6782c2a420000614e8ef940479fbddb6b599c968dd6fa8e96c22200dcbc04aebac3f151619f0330cdcf48e68055791bede505d69e3d6f950280debcfd8119e91a9dc0dfefbd8ea19f8f648e9f501eead58031ac841a7d78d1cc38001092628166400ef61bf159891600c6e8eb2d2874fbf5cc0158bdc47fc012b57291f14451f04a8e13d052dd54d05cfb06020e84ae2043ed0aa665aecb18bdc3e8973f22820300a3c93b76b86c6b9100386a6bffadb676c416c2653e343e9aa22c110060cabf777d3ee0693c3f99569b584b250100cc860800d1d39280fad819596600d10b6251dfa93d5086ea768c861833f3709a19b7a5b413f2691979b095bbed85277c750012d273cd727178e56b19c928bd654eb02b8551ac56fe53b6de89163a665fd3d69ba4656f8054176a4261583737530fa8de512bf59eeaf2c187008cfaf19f1fe04d7ff30ebee2a474d0cedcb751c819af2e7d36b569780dea227acebf2026e7dac84a0e009c1d6a1f5833d01b64f9caa0fb69711100a6a1bd77a78328002793b69029b91cfea1067ed0490dadbc3de4c2e74a890b71a9dcb6251cd721ffa64885125434f9f823df290ff3ed85fe470299b59938564f6acef92aa60bb9988af0c2908496a10f31510c5c242e837f7431abc8c46a553b55c4a9a4c54ea063126346b646781d23e8466404cb2e4dc5451b39554b00ccce618530b9c57244b3e820bd393a119fc86ecf63a365525a299f72920f2ad4056bd8cb9d839204a673d735560ff5a9fa66c9a4e7fabd0ae028b14af91aada00080cfbf70531b5b4500d1060e42dcca595cbdb5afb00a88cdb8fb9bbaea3fd69fa89200acbf6106007b9b98705dd6cf6e4d8cf1769f283cf79eb5ef8d824b4b1ebc2e6842696b702a98ce497d434bc989260cb0993012861eb3d5b5bb374cb740758579eec4a0f39b9a2e4a18de0d56009c3dd7b665560620565469ecd35a4f9415344ba90be7ff707326d758fea33d36485794a166a7484d991654259ee700f4b7d99d4af2b41e7bd3c820a519cec72708681653972e7e6653a22289b5e75a2ecbfa385d8f66e6218a15dffbfdb1f75cc223b7c54da6d5664ea2a5a451538e7109d5ed180d3166e6da9a89ecba305e4b69279c6e8c59bb5028af10dffba415c0f215a9c298ca0fad4890014ca0478ca5d831f29facf54e686418bfaf696b639afb42a8bd3dbe63d5281312fb9becfdd01b5312478d8532fa017c7abcd2f3ddd9f14bd601c781e3c52f1f897d30f1ccefdf06006c9a9162505a3ffbddeb1f0f8886a58f3cbe367d42be7c0a49be4a07df75d177d0ce6cbf4d97c241f492c105258b8a125fc7747ee3e8edfaea8b2a80c824fec72b067dece9a3d26117ce5ad5e5397e5fabee3a2acfe3489913001667b2293cd137285ebbb2bb88a429c4bf09ba3a87e57a5500702b6f16115da7ea0c28c5a70020070a7c37cce6b476e9c99b1f4a7a000afc8349fa4c366280004412499b4da9ac54fdeba2a42c76b8e824492d730340bc71f06062d5f53cdf2115ba71f0b89cba7472c2a357fb7c3a359541237136ca6f838d1449899d8063b3a394578b5470ec53df1e7e1293ec3f14b8bdc5fcc36dba8c4c0e36ff70c32c4962c2e5f6e88ab04d19a8b7599df20736c04aee98cbf8e7ca91518c727944928047ffe4f2d3ad00e2e7e7eddc92ea0f39fefaa13dcd387aa665dd32040d84c98bb34c4555fdb555cf1fe8cef2390bac0a206c5c3a1dc0dc4509b0b602884f8b4bce30ce437d35fcfbf30280ceeaf36f542888753cbc7e86bfcfc6278c7a85c1a0f577d4ef3ae0111a5b6d43e1e32604149f0440dcbdebc8ea758bbf155ec2603a1b9f797d60b9aea7d0aa0058bb301edecb637b958c054928b53aaace3f8faef41e7ba15b7bde0f60a0d7dd5c577fa6c0366ae138c50c475570634cc0ba3c80a4a539f127ca1d9db69f3e6b0b0c4f0f139e312709a5565b69e51fe18aee6d2ba815a14f7e76ab4e337300e9018a4df7d80b3b24202ad93ca9569b584b39db27e7dbc32fc0c668883132d7d4ccafb725e1ec382da59970f18a8cac45e9a8f09f5c9957655bc651fe780630db364e8f481f4fb15356da188c5368f8be164e1bcf3f92652a0eb6b7a428a531b02f44353ebbc7067dea8b4fe7056e3746cfc8060ec32d01d0cfbb7dfeaa5f569d84f8faa37f7e7d68bff6b91f26e9e171d5bdfada2b0092efdb314193f24e3ec9577906efee0540de785f7af65de9f9f77dcfbfeffb9f721520ce3652e322a3678fea7917002ccd1e917376160bc06b574796e02eb5cc49002c98cb2f8b0117c9ed58c1c501ed6d6a899d8063beb94a37db086106e73fea6e6a536d1c133732fb6272663200bc5e52d31df4b0d148d7f42af0027a3db32897ffee3c363d874d047a9deafe334a2bc7f897f5dd11dc8e6583459739013db3e5663e8e1d99c1af5cc9c701f0aaef369149091faeb98c33f8efdfc0ea819a46b5c44e10c1dcb7818ff4574d0f0e63fd004f886717e901403f834dd787cf2daca58cd25bce22dd4d710c3ceac1334a890b9116f69ef92c02241941729c6e0680f537260ebbdaeb972503e8afbd64f36f0d9a867e1d67e28498cc5f6dcb4e05eaab6c05b522f4e66d0fac5d600680e8acb46c00c0e2dc18207a611a07207e7e6a3207007336aeba7d96119d1dafbc75bea0598a4f48fdfebac4511ac8c8b9378d03505dd55a2744a5ea07c79a711302c6794be201f4bbc5b31d5e2ebc841a63597347a15504b07ac34d6b128766d8c3f5e583073e2165decf36c403a8afb2153623d53272f03cccac6539d980c3daf8d25b5f5c148c00d0d9eb94a79e615005b59703268e33a7fefc91ebf367c5cc4b88cabf39373f61a89dc3844764ccfbd5eda92648c5a5d6825a11b1f13fde9117157eadc1c564fe6aeba0620bad122c313b1e599c34b9569b4c4b99c2fd26939bc0fa881ba721c6cc5c5333d327d0529a09a301212535df0200a6dc99b38c93523e176a00e3f6887114cb8fa5cc4959ef240a0de96b7aff7a4708ab8d582d7b8b0bea0bfe663407b766e2fc6539008a0f567702885afc72d1a247370d7d99376bd707b7dd91058033c68c33d9e1228274366e92316008214141554dedf8db42459f97087a26e8b53fa24814c06c1cb525207989a406074e195124d031465e233cb4e82b177eacb30c918065ccfaaba3d129e7a6c8107d84d3d2c99537b3a7cfab80b39827f7cb5c45923d928f13f411615e0b2589a257d1c876dc8453945091dda24f6f340a937c99965b54c64ca57afabc98b8b4e367383e1e6bf9e37b6cf109a93f78302f416cddf5e2d96a088f3fb531cbae1d3e34f8caee3e1f389d65a256a2a1d82b6bb529dad2c4a59d44438c5ed3686866422d3571954e56f993d2ed94157b254a0b5f68405f53fa2ebffb977305561196d4179f1c5e7c6b6a636ab5e83ff84fd93f3f82bbfe5fd1ffd9983194fd80d70b9d29f0e1fbfed2dd8f3db4f3f0cf0fd7df9d3bc1fdf68926999f9ef87574f0140ae52b41e9d9f7f2b1c2801732a62ecd7b66532a172e9c6a8cf215e1a93bfbf8de5600d9ab97ffe4e6e95f46115d675e5c7bf70bc0631f353e9d184e8cea97976dfe8f5b9f7eeb978fac9ce0026ae249a883a750285717b9d5dade68f7c8bc2e3175464ea269bc700ae5ab407437b4f57196c8f4e95f9e290e385a9d327431c933c27a62b9bfab878b89354ca6874d340975f0140a8542a17c0d0975f0f4ba580a8542a150be8650074fa15028140a75f0140a8542a150a8831f07b9a7b2e8b3d233351e00fd55ffbe75fd5d5b77d687bb3497f83c3d3d7d3ddd43ff7a44d1abd206a45028140ae55a73f0bd15afdf7fdf3d0fddfdf38bfd8029f37a4bcd85e25d7b3f690ce3e0159f4fe60481d7e97841e07956eaefed75b9a98fa75028140ae55a71f05dd6f283bb7fb1f2ee170000fe3b5a4d4bef790cc0db6f1e0d773b3cc3e80cc6084384c9608c30982c51d126285e997a780a8542a15042f84a2e9be92958bff9f990d0c485ab9660d799e23f95b7fee3da646dc1c8c87d2f00c70d7f56bc7dfd6ed1ff467843649441e088d4d7efe305c6ebf14882d1a012c13cf8623632d0e322c66803c47e2f5855947c04006f883499f50cb5080a8542a1d015fc54d1cf7ee199877efc2f772d1f1d1c9b713d00d4b4bafac3242404208328037d7d043a8e0591fbdd6e91334747c5c5994ddc40afcbab8280c8a2db2312a3255acfa98a32fc737fa2f81495100255f67a14ce1c191b1f1919210ff40ef80835080a8542a1d015fc9431e4ddbd230fb894d8f076f18180f069e91b8023e813352f34674024b7d3316aa61015c9013e51046f3619748410de186918704a5e59c7118033c544eb18a8410fee31c3db0182c96c6001081102e35114153afa324d0a8542a150077f65c89276786975db234b623556ef8c60898de208216018461de8e91a70f71b62cc6058c87dddcebe917d0959010730fcc8263ec304fa7702801046377cb30121a3a25028140a85421dfcd5e6e6256961be6118008cdf11b3069371a0dba7024455197d649465f0ed40de170000200049444154edbf8ad723333ce045c08e3b516402ff117be0cb79a94ba7502814cad7936be245373eff7fdee6d347c68e38fa8c9ce319c88a0adea0275ef7804c001065a0cfdd2f8ff6dc0cc30e3f6faf887d3eeada29140a854257f05f228397ed9a743c00785b2a0f01c096bc9951e156f0417fb220b2ac0a8239c2e0f3743b07188080d35b22049648237bee8c6036f09dfd5d0e0060743a6e70939e199d357dc48e42a150285f1baea1dbe42a77df75ffcea29c1d6fbdfdaf2ba7929ea88a4a189665c39ca5135551c1702c7d3b2f8542a150be6e84de2677cd9cc17bab5edb5904e0c1ef2c9eea5c85e5b82bf99e42a1502814ba82bfeac8fd0ebb4386657a722c75c3140a8542a17c5d56f0bc293ed9445b8842a1502894ab023d90a65028140a853a780a8542a15028d4c15328140a8542a10e9e42a15028140a75f0140a8542a150c2a0f133390a8542a150287feb68fc4ceeab7a931d8542a1502894a911fa3b78ba454fa1502814cad710eae029140a8542a10e9e42a15028140a75f0140a8542a150a883a75028140a85421d3c8542a1502814eae029140a8542f9fbe1abba2e96345d522fb8c8b4696c6e3a6b9ec034a3e6bc5c3300a389dd308ff55f182f752b1f55a996146eedcc2b9da62832911446d023e82a7aa55f3d725e9503422d26266b269732998b6d955ef548b52a9b985baee784a1c0ab28fc38a58754010074cc2d7923c25c75bd4d18b9f29373e7dc8a695acab756270f36ebe5c6773e69d325a50f877cfdf87ba8e35f194592bc0aab37f2dc97133f2889bf05a3e6e46e5c10f3651bc9a65cdfc1800f5752a8d2d5faeea72dbe6933eebc3943b802a9bed48a5fb3b6245d6e7ce713bb2e29e56fa8db7e252b78f2f187be37ca5408a8ad967ff38eafc13b5e0aaf5a50af56dad4925aa56928b2e221657652de7915e4f9a4c0f7fcfb9235440ca9472d6953cb6c23ff8ed52aaf16f86afa27d325fad49236b5ac9948813674d5841faff4902a94d9d4b28651c25c75bd4d14d1bef744eb898a8e824f3eb78a433edfdd5558eb283865f77c7dbdd1df431dffca53a643bb0a1e7ffee33af14b8a1f9cc4df82275abc7f0523718ffe7025857a5df682aa8ec28a2eef9549f5a556fc9ab525d9ed2caced28f8a4fd6fa8db7e052b78c9a19cf2300fdda94b618179a4e02fbe730e9299c28c91a4a341e91d722a676c24338b01e05f360a2c00282ab8a9cf55181d0780d1eb42be199aa7ddb488cf8980a355f9a08100a4d145669b988966cf850dbc1ac24fb4f4d9995cf2e0a49dc81c2b5c85acc3eb6d62b4563438865cfdc99a9e9cbc2800e0fcaae1aeca1c5991544eb8f6cea1ae6a1d2900ab13007006e14b8a1f9284e30018780e80a2a8dc97d181878dc46f25431faea8d0c1bcb82b94eacbadf8b56a4b11a973ff7347361761b250073f067d3d449fc4a50c1a0693310d95e3ad142b2e8ebc30bfe6822266f1c6e1e9824b7dffa85ce6023826ff467e65120340ea553f3a2397b900206e1abb69199f6982e450fef099129fcd7f671e0b90d327e52237b6dccc957d22d77900900387a4e42cfe3bb3434d96993d934d01d26730cd4dbe4a053200a0e5927ca85a6df70240a485dd78233f3b1a52affac119b9d205008933d85b17f3b143b908404f93bcef73d2af60cd5c66b2c2bf715a35c53211a25ae902c0ac5dc6af4d610088ddea7b25728d1b00b232b86f2de6cc5acef8a63c2e65f82f95bcff91af5ec13756eae64742b42baf952aba586efb0a4e09c94dd02c3a81bc7324486f4cc559f9d346d20b80c3825cfe8ed9acd2ad7c704e8599ddbc38f444403c5ddc35fc47f1a9c6ad79d7478c8e50f261c5bba50e0700bdb07acd0ddf5d91c8015257eb3bef5616364b0052d352b76eb921276a5493492d752fee6fd22747090e4779a702bd79db3dcbd6cc320168aaacdef77163bd5b01109f90b0f5ce450ba6fbb44ad12eda73d9b6f79deae20e09e0f296ced9b629d312266620a18566054aab551d7f152c1971e69eb613cd0a60dcb275f9c6eb2c00baebbef8ef77ea6d5e98d292bf992095d6886bef5bb5265118bbc45cc9aa91e14cf1b5dde75a60dcba7d558ed9afb78681e9e9ffb26d4ec478b9eddcdf90323f2bdd7d695f157efc930d49cd1a522d572eeddcd39072d392efad8e03a4e3fb4e1e76181f7e6445cae5ba17f73759b266c474b615364bd0476dbf7356c7a9f305cd0af4c62d770ed63454db7a4db5ccf4beb9fb4c592700f195df16642d5ff2bd15a6b11a457286c48f1bc7a842926c4d028081aef6037bca0aac5260036919c9e8154e57ebbe772b4f344b00b27333eedd3c3fddcc8e6d24810cb434ef7bbdacb05982de7cef3dcbf2c31a361f5a50fc50267aa0fb8beadd47dbba25eeeeedebf262fc4b8d9e03af949ced17beb56df58dd3d553fb8e7fd0aaacfed6aa8db38c4d278a7e7fa6276bc992ad6993a8b83ebc194fc55c43120697784beca1574acefb84bbbfbb3a2f86f5347ef1c2812643c6753fda92294fdd96e2461aaeb3e58f6f5fd2a765edb823b162bc5efff7bb451f93a5fbd7152c401c5d6a55b56fbf9359306dacd5b0d2a5967801305b567091003ceae7bd23dff6bad4b25e26310250486191afa21f10d53f1c91cb5cd05b98ac08385dea9b05be26198a4a9c0a1c038309dd6ed2eb8197c018c1e8fd0e5860227561ce144ecaef97c8fb8ffa2a1500ec4d298cd826bf5aa6b67bb1289b5b14875eb7baffa42c7ad53f1c912b5dd04730e91168b7abaf1ef25d5607dd7b7b8bfce219b5dd43e62fe4e798262d7cbb975c6c532b3d4ca21e0039765a6e51a1f42abf2d946bdc488c63d2f5b8d8a8ec3aa9285a553874ccb7ffa46fff49dffe63be820692a827bd1e5274490570d1aa38bd10a6319c566e9266d108d65b47b57cb091f4ea99fcf96c3a50f9b9bcf722513ca4d2492a1b354e0494f6e6023700f38e6d73e20174da2abad4c0086d274a5e2975382c31f76e9a350fd28923a5bbcbdde86bddf9d2d9c266c994109317cbd99a6dfff5e2a70da37397e5817ab7585ddb512e99f3120478fbf6ecf9f45497eab1963ffb8eb5de8dfcd5d9f9b3044747c74b7b3ebfa8554aab56a0d2d5f0f4cbe5c51d52f6acf879169497563db3afb15953c8c03148abd091cdbf30d5f157a1bcca76c265ccb600100fec2d6b52a074353cb5b7dee6457c424c92abf540a9c3e6ee737a94714b746b66c8452741b47576157ed103e0625943bd5b1a888d8a98406e36b7545cf4c5be2a1100e3d2964a96076c5ea9a5cfe7cfaac7d1e7e8ec1b50866a57d158e8e252f580b7e78dbde505cd5caa8583573cb0b7b44182a6b6bd9ab5006b8a16fc321b4cc66803db3a76a370c1f1c737aad0240000476d63c16521a88142c51ed53c62fbce97ce9e68964cb151f362b9fadac6677f73ca7a614c23198da3b9b5d02e64c772f0f6eddbf369498fb6617bb40a6af7f73013d75277fea9b7acf59de2f2cdcb06bd3b00ce9260121dee9e63b5dd40f767b57d0eb778f88c1390ce9e7138dc527cb2695215f78631e3299aab12e417424afc7357b2497274f67c7cce09a0b6acc1e696f489d1dc15d8d2a881c5eba9ef14ab2fba1bc7ebf57fd72bf8c11d22999c3cadd47908c0448c39cdb0d62b0010c7ce4fe23a2dca31374e5f5417e70d1b25fbf8b7f91890cf8efa0a5d3855a7c6407102fa69dc93eb3901e4d847be636ef249bd7aefe88742fcae9c67d98d6b59e387d2310f73db3774e9612469b2ab4d237fa9171c24cfccde319f510ccc8264a6a5562d7312006db58a13c034ee89f59c11e4b39372a91b5ebf5dbad5374e0340fe1addca7846b44f49783dfbd46dbcd9abfedff7e55ec0e343cb45d50b44cee0eecc63d1a3bc5aa47aed6a9397cbd40757a1dd49862f11d21bf1440efb81536d6f56c5eb99f36d00b02c836da9f185e6669bc96814ad04ebada97cb0fff106f6a6f9cc7c8e498885c0b1f999908d1a270275a50d00306b66deac0c7bc217073a94c2b3f69b368c5c96e01df00fb18ace1cbbe116dd123e222545df50546b034c69b92f3c789d00a9e0f705073afade3bdbf5c48a90477e2cc9cf3db9380ef2f1d70fef69560acfda972c4e7978934936c72ec98a6c3cdd5d6875842bc57b5623b0e9ecc57e203e37f7818d69705a7fbdc7da5f7bc13ab8a818157354079ba651e83097c254e79f9206abf0e2938b2d62ebd3cf9f7540ea97d074ee1200d3ac39ffb12d9b43d76b3b4f16871c868e55627086c2f2350907dee9282fb1494bd9e20a09e0362f4b9cb0fcc2bd0faccecf30357c72745ca9467adcf0dffa84e79ebc31ee72dd0f5faeed87f1f1a7362c305e7efed9e27a28030a34b57d69e10c8d5a28315bb6ad8bd8f5fe814ee3b687d766726838228dd5285c68fca3e3185548124fa30d00f4210da469246246ced0966353f117360069d93b1f9c1381fec27da78f3a38d93c969104a34f78eee91be32015be7e645fb372b8c4b950cbb06d5a0579fd73ad0eebaff702e0ee7d68437e4a60d764172c4a86b5b5fe0b87331bf50080fe4b767b0fceba01c42cca30c28689575cbbbd24c03835731d9550abc4faa87b9260b5d557b47b6ed69fae5200e1e605314d4567a76c4b9af806a4b17bfddfb5835764029ee178f6ce4d2c80aa22e98d12e5976bc3e852554ff94dcaa9ec3eaab6bb01c0d9a038f258ff46745c3a1b0300cc7433e002d4a15d09232300009395c01c7313573f10336acf22e03993c1fd7fc50768371373dfadba1c23005271d277d08ec3956ade0aa6a3452d71910fce8c4c5bfc6b67bd91310200b372956e2520dae55107cf3dc0d04ed964858f9cce9a01e8996c3dcabce081761701d06b577e573032bf95b5aab065037f9d1efe489c8e11802ca817bde4b36ac506c0c2cd32a23c7c6ea14507e92d7d2e7763af52e22487cfc800c0319bd7f02991ecca3cad4993e23c52210180b5eef9d72fd5770080ade8927d43e2f036dccc55791bede505d69e3d6f950280debcfd811983ce272a420000614e8ef940479fbd5bc39fa4ce4f8b03003e775e0c9a1d90c10968a96e2a68ae7d63c443699772934660acdc220170d4d6fe5b6ded70063396e76dec0a4e9e1e3897d52a3498d0ea2401407c56a2058031fa7a0b0adde001c80a0044447000603469f9d1314a0ccd307aeeac79ef745477b69d28952a01c4662c8c6127981bd232d7659830ae54830f237b1d7da3c3cd860800d1d39280fad819596600d10b6251df091eb24d4bdb4a985a0c9bbc2c0146646ab569fae85d9ec0f89890516924899f132489b6d8f2a8d10f004c5196080030e5dfbb3e1f50fa2ebf3bae910c1bf6a29971002024c502cd80ac700217da46b256419ec6f381b2345d1631cac1c39295968dd6fa8e96c22200dcbc04aebac3f151619f0330cdcf48e6e0994cc5c3b7d714cd35b039344be4d332f2602b77db0b4ff8ea0024a4e79ae5e22bb0254d668e6f607fc70ede5aea3b355db73d6b705b7e4e367be038e903cc9a07f6b691a573bb8be839ff82989c6b232b39007076a87d60cd406fd0969632e87e5a5c04806968efdde9200ac0c9a42d64235b0e7f8ac20f3d3130b4af442e7cae94b81097ca6d5bc2711df26f8a54284145938f3ff29df230df5ee87f2490599b8963f5a4e69caf62ba908ba9082f0c496819fa1013c5c045e232f84717b38a4cac56b553459c4a5aec043a263166e4ec83d731826e4446b0ecd2545cb49153b504c0ec1c5608935b2c47348b0ed29ba313f189ecf63c365a26a595f22927f9a0425db086bddc392849603a775d63f5d0c1567db364d273fd5e05709458a5fca17897dbc484ebb27e766b628cb7fb44e1b9f7ac7d6f145cfa971405007cfe9588dad82a02883668b49cadaeddb3617a0460b7f5001800ac27ca0a9aa5d485f37fb839936b2cffd11e1b24ed52d2d6448404da1e4b10d02ca62e5dfccca64445126bcfb55c96f58c5323f99207af1b1e35350b0d6ce931aa63d0f9cd4e1735941dc77300fadbec4e25795a8fbd49b37f852f31344370711b160ad515e2be0f6d0096af498f98706ea929d3b80948656b702a98ce497d97823ca61438d20677b8782d6dc7e97ab46b31da14ed6de3344a48979fa851058d122192688b3d5d08d7e2e27bbf3ff69e4bb833571ad348820ddbbd61ba05aaab77ec36d228e891dbe200401fb3e546eec00947f17b45f3326eb931704a27c4ad9cc5d55bfb0aab80d88cbbbfa9abfe63fd892a09c0fa1b664cb6e2e3b6d7a4cd753c0b996e8c59bb5028af10dffba415c0f215a9c295d9922697276c607f8f0e7e5a2cd3744e6e48d4659a0059fdf0b41a99c19b818a125fc7747ee3cc51e7f1d51755009149fc8f570c5ae1e9a3d26117ce5ad5e5397e5fabee3a2acfe3489913001667b2293cd137285ebbb2bb88a429a4c40900ab7358ae570500b7f26611d175aacec02d1705003950e0bb6136b7312b74c549defc50d20350e01fa3d267b2110304209248da6c4a65a5ea5fc12765b1c34527496a991b00e2fdd3403db3ea7a9eef900add38785c4e5d3a39e1d1ab6a4fe75319341267a3fc36d8489194d80938363b4a79b54805c73ef5ede19f7292fd8702c70ce61f6ed3656472b0f98757664912132eb74757846dca40bdcdea943fb0015672c75cc6bfa28b8c6294cb2392044ce0e4f2d3ad00e2e7e7eddc92ea0f39fefaa13dcd387aa665ddb2a1a958f5f9372a14c43a1e5e3fc33f4cc52744662dce321555f5d7563d7fa03bcbe72cb02a80b071e9740de13a1b9f7dddb73cb6efbd2a09c0ea05b1a8e4000cf4ba9bebeacf14d8fc6b852ead52dcd565a181d97392506ab59556fe11aee8deb6825a11fae47f9ad3111a5308398f0a2a7498e470d571b66b2a3c7d694efc897247a7eda7cfdac63e010b576228d72dcd44857f6513b52ed73289dc64656ca90607978efa5d073c42636ba8c44a78a932b4b4fdecd6703fd8507c120071f7ae23abd72d9e6d3b3f5ea38c8affad0919d5a8241b632621f6e21519232d185056bac75ed8210151717a658c2653823e74363ef3fac0725d4fa15501b076613c2a34da284daba0047f27344fdb70f31cdd85f7f77548afbc716ece937901adcece5d94006b2b80f8b4b8e40ce33cd457c3bf3f3f96194db2bda66eaee3aa3a6b513a2afcc70be655d9962bb4a52d791a2dad39345d83defdab79c82efe3afe8e54bc5920fdf26de997efcaf516ee7b8b598038db488d8b8c9e44a9e75d00b0347b44ced9592c00af5d1d5982bb068fc017cce597c5808be476ace0e280f636b5c44ec031df5ca59b6d843083cb9f06004d6daa8d63e24626684cce4c0680d74b6aba479b1e3bd2b7bc0abc805ecf2ccae5bf3b8f4dcf6113815ea7baff8cd2ca31fe657d7704b763d960d1654e40cf6cb9998f6347562c2b57f27100bceabb4d6452c2876b2ee30cfefb37b07aa0a6512db1134430f76de023fd55d383c3583fc013e2d9457a00d0cf60d3f5e1730b6b29a3f496b34877531c038f7af08c52e242a485bd673e8b004902966e8ed3cd00b0fec6e1e35efefa65c900fa6b2fd9e4c1e780e66c5c75fb2c233a3b5e79eb7c41b3149f90fafd75895c4ce6afb665a702f555b6825a117af3b607d62ed0dafc31c54619ecadef55f400587ef3d28d29c2ac6539d980c3daf8d25b5f5c148c00d0d91bbb5ea314cda22332e6fdeaf65413a4e2526b41ad88d8f81fefc85baa1533500ccd429d437514c6ae0e1f3c0ec29cfaf347aecf9f15332f212affe6dcfc048d55c658258666087089336fb7008069feac4c614ab985914ac8c8b9378d03505dd55a2744a5ea31ea075aa670bf12e400686a3b2a9c5a609cb7241e40bf5b3cdbe19d335ea304c59f98518d4a12ae8134c58e0e8c1493f9abad8365155a255862763cb278d19846c205ab8b437347a15504b07ac34d6b1279cd36ea326b14346370c2af78c1e66fcd4b05e0b6bd56d415588de8acb46c00c0e2dc18207a611a07207e7eeaa877bbf057d85e5337d761c2a95a4849cdf7db73eecc59465ca12d698d2cdc040cec5a81218404055535b5ff754ee2fbbc301a99abf02b65157d5e22e883b31245a20066e3a82d01c94b24353870ca8822818e31f21ae1a1455fb9f063d02712b08cf92a3dea31e5dc1419a28f705a3a99a29d48b247f271823e629482544f9f570167316bcc9b3d8de71fff6363ea8ae5bfd810e7eef372823142189510c1b9699712a668d9dde703a7b304d4304ccc710a9d60754655cd5afef81e5b7c42ea0f1ecc4b105b77bd78b61ac2e34f6d0cf146e3963848b7b5a1d8da555ad46a03ee7de8d6fc147e0af28f2d95248a5e65fcaa854143db5766396375c509b6c2d5103bb4ac893699bf9bb9459fde6814b871dbe82a56eacb6bafc9d47dea254edd96ae92817de9cc4f4fbc561c3c85f225e1f737a6858bfffb8ee4af5bdd949e7d2f1f2b0c780162ead2bc6736a54ef937b8170e7ef05f150a00a4e5bef4e07511d78654140a853a780a45cbdd886e6b5b9fde129b3e5df83ad64f6eb5b637da3d32af4b4c9d919368ba92bca49eae16970cbd313dd1c25d3352512814eae029140a8542a1683b787a5d2c8542a150285f43a883a75028140a853af8ab8422491e51d6fc15ac74b971dfbe9203275a95af4823f6caead7f69594b7cb63c96fffece96faebf6beb8b83efeef0da9b8e1fa93878a8b6e2a26f12450db43594d4d594d8fbe589a6907b2a8b3e2b3d53e301d05ff5ef5bd7dfb575677db89b1b89cfd3d3d3d7d33df4af4714bd2a35790a8542a10efe4b63accb98bff23b777b5ada8a6b3b2e79c6f2d49fbffbdb43b53558b864a61e9edabfecb961c527df7ff4dc4f1f2fbeef96ffbdef45fb04ef4aee3ef1a70fef7fffe8fd15f6895e2fdf5bf1fafdf7ddf3d0dd3fbfd80f9832afb7d45c28deb5f793c6300e5ef1f9644e10789d8e17049e67a5fede5e979bfa780a8542a10efecb2a748ccb982352e7fee78eb5cf3d75c35fffce5d455101e80de33d4d2c371ede5904e03b9b1642be78f4db4f8d5a8057fccf87ff75646c27aa0cd82f56ef7f73ff3ffbffe427f0f87297b5fce0ee5facbcfb050080ffd23bd3d27b1e03f0f69b477bc3a462189dc118618830198c110693252ada04c52b530f4fa150287f07fcd55f551b72b3f2b6b4cec0bba51ffbc799873ff0dfb99be90973f575b82bb1352f240ebab83ac3ad715bb3b3aefa77ef58fd19ae8e18e770c0db54f2bf00f0f0b25c534fe9fbfe57de5a9ef8d31d0fcc38b97d7d5305f0a77d6d3fde9012fe8742b6e21fbcfbf9b9496d2b14acdffc7c4868e2c2554bb0eb4cf19fca5bff716db27653929117e8031c37fc59f1f6f5bb45ff2b760d9151068123525fbf8f1718afc7230946834a04f3e09b6ec8408f8b18a30d10fbbd605551f21100bc21d264d633b40f5128140a75f0c0d0cdca9d52ffd085bbb23c60734bb6a22f8a01c0c8489efa4e1192dbd3d5f0d4de7a00f10931d1aed603cd00e0f4284af8f0a75faeea07b267c5eb2f77959756d5f5b2ffb16c74e6ae86a7ff101ce7b935de9feeb502884f8b99e16a2d681ea7066de56500b03c2b9647575d150060cdb2076ed4e971c3b6fb9b2afe1738de6aeb4fc90debe1393e61925ad3cf7ee19987dabdddc52fbc5d1c101c9b713d700635adae7e244769fa77020cfd1252f5f6f511e8381644ee77bb459d39da62e015b1b7afd7c5c4c4e94064d12d333aa3259a279e3eeff0ef2789e2536020845165ef0067b044461ae0ebefeded1dd0c71975d4c55328140a75f0087fb3f2d0ddd2c3171ab686b9fa3adc95d8635d483c7c71f59123a1714e0fbeb878fece7b33819e37771e3b31e621ba2c89003033860358fda0175764400f4bce9cc138f258cfcda5aedaf5d42a347efae0db9f9f9c98d60c7977efc8032e2536bc5d7c20207c5afa06e008fa44cd1b621910c9ed1c75b7b43e2a92037ca208de6c32e80821bc31d230e094bcb28e2300678a89d631508334c00c6f070826b381052044088c475154e8e8fbca28140a853af8211739e429032edc1dbe5b7a2456984ba6b5c3c7ba907828f370713800ab97a40000a2562e329e2812c7adc3bab9997a40f58e7a3eaea7badcff21c238fe6bdc397ed26ffb92c35c22595addf6c892588dd53b235862a3384208188651077aba06dcfd8618331816725fb773e4826e5656c0010c3fb289cf3081fe9d002084d10dbf769990515128140a85421dfcb0bb0a58fb0ddf2d3d2259984ba6c35c3e3dd6a5bf43996bc789ecba00e0ecb9b62db33200b1a26ac8bb8bfd4df67ee88d29a3dfe229a31fc0a7c72b3ddf9d1dbf641d701c385efcf291d80713cffcfe6d00c0a6192906a5f5b3dfbdfef1806858fac8e36bd327e4cba790c4cfcd4bd2c27cc3300018bf23660d26e340b74f0588aa32fac828cbe02c44f17a648607bc0878ab21516402ff117be0db0ea94ba7502814eae0c33b328d9b95437e159f14e692e970974f8f75e9ef50e69a717ebd2d0967ad8eaaf3cfa32bbdc75ee81eccd0d356f7ec1e1bf4a92f3e1d785f32a267640387e19600e8e7dd3e7fd52fab4e427cfdd13fbf3e1821eeb91f26e9e171d5bdfada2b0092efdb3141bd78279c64f0377cdee6d347c68e4882360d18888a0adea027bdee01a360e019a20cf4b9fbf948836ed4bc8085e29555938e8522f6f9001d75ed140a85f237c557f233b9716f56064c1c17eeeaeb30e113b9f45733cef494793fdb100fffc5c9cd48b500800e80fffe6573f0add589f397e500283e58dd09206af1cb458b1edd34f465deac5d1fdc76471600ce1833b616382e22a8eae326c1e00f0b4d3a1e00bc2d958700604bdecca8702bf8a03f5910595659c11c616007ba9ddd9d8e1e979bd55b066f3c1cda736704b38157fbbb1cdd4e87db4374dce0263d133e6b0a8542a15c535cbb97cd84bb643acb3ef695d813b9f4572b8e22b94565f415cbe1e83ff84fd93f3f82bbfe5fd1ffd9983194e580d70b9dc9103063ea2fddfdd8433b0ffffc70fdddb913dc6f9f5c92cadd77ddbfb32867c75b6fffebcaa9a898a88a4a189665c39ca5135551c1702c7d9f318542a15ceb845e36c35fb3b24664ccca8fb51576d87ef1ebc1adf8d4a5f3e69ac119b5c3876b64318f5b29ad389c60314f5034d3aa87ff05475e78fbd1bd0f373e3da851dea01f9da5a7faff7b68e7e15b9f7eebf6897af74926f156bdb6b308c083df593cd5d91dcb7157f23d8542a150e80a7e8a84bb64fa2bbf7c7ac0d1ea94a18b499e11f67179b9bfab878b89354ca6ba934922f73bec0e1996e9c9b1d40d5328140a5dc1ff6d39780a8542a150285371f0f4789542a1502894af21d4c15328140a85421d3c8542a1502814eae029140a8542a150074fa15028140ae5eaa0f1143d8542a1502894bf7534de09437f2647a1502814cadf16f46772140a8542a1fc5d401d3c8542a15028d4c15328140a8542a10e9e42a15028140a75f0140a8542094af9ff0000197449444154a150a883a75028140a85421d3c8542a150287f3f70bffce52f83822ef7f4fdd58aef6a531a7d4cbc91193766cd79f96493dad88dcce98c7f5622752b1f9e51da5526631a7385622832f1fa18960f9eef28fdea476795da36f542ebe0bff66ec29bd848613299f7aa1f9529b55d6466023b7c71fb55147e9cd243aa70a155bd7099cc4c64affc16f9707a9b20d2e5f64387cfed3bfac5479f5daa6eee899c1e1b6fbafa57db4b971bfffcfe17755dec75e991ec15e460534dd9338c21e175755dcc0473b65756effff4126213122da3a22b9234201156c7b2e1cbba960957afab63c001cab95a09a790e735de4653d65268379969ec3a10f0e14aaaa974b5fee5c39aca0e396766f4443ab662ffecdfeedafefb435d4b6e5b3e8d07bcf6a6534597ced7f6886c5462cc84878681b686b2b68e562522c12c4c4c1f724fe5e9b34d1dfdd392e375fd55fffe8ff7ed3ad0b6f0b655b1bc5664e2f3f4f679bd03d2e03faf42184ec733d78019cc88b65c4b2bf87e657791f26efd045ea5e7550bead54a9b5a52ab347987acc143caeca4bcf3cae5209f14f89e7f5fb27a438cbe472d6953cb6c23ff8ed52aaf16f86afa27d373fad49236b5ac994881a67cd5841faff4902a94d9d4b28651c25c75bd4d84eebaf33b5e2e7dafaacbd62939dc6275adedffbe5c70a0aeffaa6b40767715d63a0a4ed93d5796c389166f48b8b3b0b6a3e093f609e6dcd3d2565cdb71c9e30b6aa243bb0a1e7ffee33a71acb2ae65c2d4ebead86fa072ae52c229e4798db7d194b5a4d14ddca33f5c4935bd2e7b4155476145d704b3f8fcdddf1eaaadc1c22533f5f0d4fe65cf0d2b3ef9fea3e77efa78f17db7fcef7d2fda27984bf7893f7d78fffb47efafb04f7430e9ad78fdfefbee79e8ee9f5fec074c99d75b6a2e14efdafb496398614ff1f9644e10789d8e17049e67a5fede5e975bbd26fbe657e8e049c1278a17d0ebc68fdad1a0f40ea53a631b9a107000e09fa22957a45d46c701603424199a34deb488dfbe8adf9ce99fa59146d764deefcb850dbc1ac24fb4f4d9995c7eaeff1fbb762e2b5c85acc3eb6d027b377fdaebef3fe66ddb56fd7c6b6e2a00a0606fb5f3ea6bc0af6b8ebbb21c0c3c07400968ad88d4b9ffb963ed734fdd60197769a2a800f4064d11589d00803308639535c9f5dc5f69b419b35e5767801aa59cab93700a795efd36ba36b4a4d54d467fb8a26a0ef6b9899987dc7878671180ef6c5a08f9e2d16f3f25077e5bf13f1ffed791b1855006ec17abf7bfb9ff9ffd7ff21328b6cb5a7e70f72f56defd020020520700a6a5f73c06e0ed378ff6861bf8189dc118618830198c110693252ada04c52b5f931e9effaa0a6e3a2f974470df4956df1d7fde4f2a2e8e38d49a0b8a98c50fef19492ef5fda372990be098fc1bf995490c00a957fde88c5ce60280b869eca6657ca6099243f9c3674a7c36ff9d792c404e9f948bdcd8723357f6895ce701400e1c9292b3f8efcc0e9df430b367b22940fa0ca6b9c957a9c06f792d97e443d56abb1700222decc61bf9d9d1907ad50fcec8952e00489cc1deba988f1dca45007a9ae47d9f937e056be6329315fe8dd3aa29968910d54a170066ed327e6d0a0340ec56df2b916bdc009095c17d6b3167d6b2c99bf2b894e1bf54f2fe47be7a05df58a99b1f09d1aebc56aae862b9ed2b3825243741b3e804f2ce9120bd311567e54f1b492f000e0b72f93b66b34ab7f2c139156676f3622e70f071d735960300b7ed91756b125920e6e987941dafd6035d9745c419d15459bdefe3c67ab702203e2161eb9d8b7225eb8bfb9b2c1971e69eb613cd0a60dcb275f9c6eb827d6b68c2ac912fc5920f2bde2d753800e885d56b6ef8ee8a440e90ba5adf79b7b2b05902909a96ba75cb0d39511a13df8196e67daf9715364bd09befbd6759fe2c93d4d9f2c7b72fe9d3b21e5ae4fb5d18d99c75d5bf7bc76af3c29496bc3a4209597a39dfdc7da6ac1380f8ca6f0bb2962fd99a0400035ded07f6941558a5c0ac3c976d7bdfa92eee90002e6fe99c6d9b32032b2fb5d4bdb8bf499f1c25381ce59d0af4e66df72c5b33cba4a99305d37d5aaad0d68f66b9e3d4cb2f5257ebbe772b4f344b00b27333eedd3c3fddcc6a6adb2f7cb002677a8394f3bd157121c2a455ee3bfe814399316bf6139b522b3f3cf9176b9f213935a1d5563e3a6138857f6f45dc380670f5da4823c22db1875e2939ef13eefeeeeabc18d6d3f8c50b079a0c19d7fd684ba61c92957ec25a1ab715c6ec26e3987d188be2430b8a1fca440f747f51bdfb685bb7c4ddbd7d5d5e8c46fff23695fc2f003cbc2cd7d453fabe7fa26f79e24f773c30e3e4f6f54d15c09ff6b5fd78438a29ac9fb015ffe0ddcfcf4d6aefa960fde6e743421317ae5a825d678aff54defa8f6b93b55d2401988079ccf067c5dbd7ef165500e00c9151068123525fbf8f1718afc7230946834a04b359efcf63a0c7458cd10688fd5eb0aa28f90800de106932ebafd686ff57b38257ba9537eac93face32c187f29ac74a9255e00cc96155c24008ffa79c0ccaad7a596f532891180420a8b7c15fd80a8fee1885ce682dec26445c0e952df2cf035c95054e254e01818f2316ed2eb8197c018c1f8f52d084ca4f662947c7c527ebf44de7fd457a900606f4a61c436f9d532b5dd8b45d9dca238f4bad5fd2765d1abfee1885ce9823e82498f40bb5d7df590efb23ae8dedb5be417cfa8ed1e327f213fc73469e1dbbde4629b5ae96112f500c8b1d3728b0aa557f96da15ce346621c93aec7c54665d749456bb825878ef9f69ff4ed3fe9db7fcc57d04012f5a4d7438a2ea9002e5a15a717c23486d3ca4dd22c1ac17aeba8960f36925e3d933f9f4d072a3f97f75e248a87543a496563f08940bbd5090096d42589831628a4ccd9fdb35b5ffed937e618e1b1963ffb8eb5de8dfcd5d9f9b3044747c74b7b3e77cb03f56eb1bcca76c265ccb600100fec2d6b1a5d55cd84c3db966d274a5e2975382c31f76e9a350fd28923a5bbcbdde86bddf9d2d9c266c994109317cbd99a6dfff5e2a70d5a07188ee6d642bb901dcbc1dbb76fcfa7253daaecf5d4778ad517dd9e30b249ed753fdd6bb579119f1633d3d55a501bb285cab1a668210200603019a30d83da70d436165c1602b352ba1a9e7eb9bcb843ca9e153fcf82f2d2aa67f63506d65e9607eadd62756d47b964ce4b10e0eddbb3e7d3535daaa64e2e6aa9a2552b50b35c71dc7a0110db77be74f644b3648a8d9a17cbd5d7363efb9b53ad3ddada9635158860e56809d392b726cdd129569796bfbcefe44ba55db64e7c636da2594babda0a1fd700ae5e1b6944f87357b2497274f67c7cce09a0b6acc1e696f489d19c5656de896969dc56b05e18ab9b8c6bf69a16e5d12aa8dd3ff499b896baf34fbd65adef14976f5ea6e9dd01b4959701c0f2ac581eeeba2a00c09a650fdca8d367dcb0ed7e00c0f156db58bbee1c9f304947a49ffdc2330ffdf85fee5a3e3a3836e37a00a86975852b8e10800ca20cf4f511e8381644ee77bb45ce1c1d151767367103bd2eaf0a02228b6e8f488c96683da72a0a09d8eb5754420854d9eb513873646c7c6464843cd03be0bb6a37c07d250e9e1c2c54162cd165b213da9db6d62b0010c7ce4fe2f22c0070faa21ad8fd1effb6ee914dbafc690070aa4e6daa519c807e1af7e42dbafb37e9d65a00904fea834bf2bb729e6537aed5e54500606efb866e6396b6429aec6a994dad710dae7f2f38086766ef98cf6d5ec2df32979d1b3738df6aab559c00a6714f6cd26ddfa4cb9fc14446c0ebefe26ef58dd32a80fc35ba6fa43053145ecf3e759bee910d7ca4df9ff9d07251f5029133b83b97f09b17b17ac06b579bb40eabda9da4c64e6aeca4c649ce75626e0e0ba0bd591541ceb701c0b20c5633379b4fab6825586fdea1319137b037cde7362fe2d74e8710c5e6676a9c08f03c07c0941c1511d83f055e107800fcb4948737e56ebf67d99d2bb3f2d2a346a5b424bff8e4fa9fec581c0f0052ff684f3c5642c03be08fade8ccb11b6ec9dd7e67dead19fa86a25a1b604acb7de1fbab763cb6614b0280bef7ce76698d0609cf3dbdfe278f6db8378d0394c325cee0639010d95aaa9a009872e7ef7c70d5134fae5dad0f1d9362b66c5bb73a168071dbc36bb7e4c50c95159c55d3d98bfd407c6eee03b72fdcfaad0c13d05f7bc11a3a2a5b929f7b72ed8eef7f635b1a07288567ed9a3ad1548566a066b9a7cbc7ab17d054fc850d405af6cec7d63ef1d8ba7b73cdf1b19cf5b331b51da4402558399ac2d8a2b3ff73533c80f2da2e00f9f7acce8b89d5d6aa96c2c73780abd7465a11eaa3162501a8af68f7a0e774950208372fd0aee925ef84b4346e2bc8e6b1bac9b866af695136ad82bcfea1a3c3faebbd8d0077ef431b6fbf2eec025c9644009819c301ac7e309a2203802567ced02c561e43d2d455bb9efa41fd5d73574dd81319f2eedef1f8e33fda76e796d1e1d3d23700409f286b6ed083486ea7a3a7d3d9d3e9ece9ec1af0aafaa8480e904511bcd964d0818037461a3822796580009c29265aafd731410b7366783b4030990d2c0356881098ab79eef3156cd15f28f15582fde7e9e811499708af427abc88d28789adaaa76c0000a7b2fba8daee06006783e2c863fd1bd171e96c0c0030d3cd800b5087262d46460000262b8139e626ae7e2066d49426e0c18fc1e992e203b4c560eebb55976304402a4efa0eda71b852cd5bc174b4a8252ef2c1999161debf76d61b192300302b57e95602a27d9495b4f600435b5793153e723a6b06a067b2f528f38207da5d0440af5df95dc1c85241d32ab76ce0afd3c31f89d331029005f5a2977c56add80058b859469487cf2db4e820bda5cfe56eec554a9ce4f01919003866f31a3e25925d99a739675200f45fb27723237a30c0f9e6cbe59720dcf6ddd5d70b68a96e2a68ae7d0301c71b0080f8ac440b0063f4f51614ba83cd970b9f10c0cc55791bede505d69e3d6f950280debcfd811983b72f4545080020ccc9311fe8e8b3776b4c915217cd8c03002129166806e4e08d122dd93800ab97f8cf46a2562e329e280af5c9f2d000070c9d3cc5cf09ca4ab6b548001cb5b5ff565b3b4643a7ce4f8b03003e775e0c9a1d90b575a2a98a9b34026365ad729509d4cb3f349ba22c110060cabf777d3ed070e4a8b6b693c22930503961953063694eea870e1b00c4e7fb37c7b4b43a86c2c73380abd246da11f8b48c3cd8caddf6c213be3a0009e9b966b9585bed13d1d2f8ada0f45d7e377c3719d7ec39810bb52859ab204fe3f940599a2e8b4819e73181757333f580ea1db574eea92e1f7ceac5a81fffdc9f374dd625c9611e392ead6e7b6449acc6ea9d112cb1511c21040cc3a8033d5d03ee7e438c190c0bb9afdb39f233345656c0010c3fb2891fe0e419ff184a08a31b7edc9f905151fe061d7cafc2444690fd9fca00dc1e00ca6bc578742da7f9538c3e9bda34bc0675113de75f1093736d64250700ce0eb50fac19e80d1a618676425a5c04806968efdde9200ac0c9a42d64235b0eff5006cf8e9a71c1432e7cae94b81097ca6d5bc2711df26f8a54284145938f3ff29df230df5ec8f81ddeda4c1cab2735e77c15d3855c4c4578614842cbd0879828062e1297c13fba98556462b5aa9d2ae254d26227d03189312396c2eb18413722235876692a2edac8a95a0260760e2b84c92d96239a4507e9cdd189f844767b1e1b2d93d24af994937c50a12e58c35eee1c9424305dfafc7414d5c2dbf1a7a2cb3b564c07d0505273a253046036b3d6c2b282662975e1fc1f6ecee41acb7fb4c786a11e68d0f95b4217a53550584f844d08e0729b98705dd6cf6e4d8cf1769f283cf79eb5ef8d824bff92a20080cfbfd6501b5b4500d15a4f8dd9eadadd1ba65ba0bac23c7b132a9b2c2b00ce9e6bdb322b03102baac67aca39d0fc42b2e2e31304348ba94b173fb3295191c4da732d9765fd74414348cf86e91180ddd60360208c4e345591b6262224d0f69856b9915d172650af40c58aeffdfed87b2ee1aeb963697b8cc695b9b19470e1c3f3b6a11de5d78eb4ff6443e2443af5d0571335802b6ea330118c316b170ae515e27b9fb40258be22550813334ed733012d8ddf0a77e64a63749371cd3e4c2fd328e891dbe200401fb3e546eec00947f17b45f3326eb9d12836d9fba137a6248e1a4b64f403f8f478a5e7bbb3e397ac038e03c78b5f3e12fb60e299dfbf0d00d83423c5a0b47ef6bbd73f1e100d4b1f797c6dfa847cf91492f8b979495ad8c7ec00307e47cc1a4cc6816e9f0a105565f4915116fdd079bc476678c01b78104d1499c07fc44e08095ecb7f1d1eb25bbc42b778e873cb59698fc2fff84616404589af633abf71e6a8aa565f54014426f13f5e31e8634f1f950ebb70d6aa2ecff1fb5a75d751791e47ca9c00b038934de189be41f1da95dd45244d21fe9dd4d5392cd7ab02805b79b388e83ad5c0a7b57d0a0072a0c077c36c4e6b979ebcf9a1a407a0c03fb14f9fc9460c1080482269b3299595fe872a9094c50e179d24a9656e0088f7cf5cf4ccaaeb79be432a74e3e0713975e9e48447aff6a64d6a2a8346e26c94df061b2992123b01c7664729af16a9e0d8a7be3dfc2429d97f28b01333ff709b2e239383cdeff19925494cb8dc1e5d11b62903f536ab53fec00658c91d7319ffe236328a512e8f4812f8e81f9798bd637ec3cb5552f991e2878e0ba98264730340ea8af939022e800330d0eb6eaeab3f53f0ffb7776e317154611cffcfccee0ccbee4265a1dc8a5bcac55a01ed82042ac55a15a56adb0435a9dac407b54aa2263e9860bc35355e1f8c9a689a6adba42f5a35b1f5426d488c9aa0a5ad084b2c8a6b28080577b975971d667767c60740f632b3ec168ca17ebf27327b2edff99f6fe63be7cc39c360fc1946d4f03d4e464f4fd7a14e1936f7c33767cf3e88b272d28aab8acdedcee95ee76b9f4e16073dad2e19e01bab576b943dd6ffecc1995ae3549b4b06b0656316a4bfc2a756b1acadc84387cbedec7a0de3f6a9d136aff6f327180020ee7fe764fd4d558d193a456dc843876bb0a3fb3026565d1c6eed1521e4576d5a1b6be4be83c15a9befb83300a0bec2866e0d4dc6b5a4f0f69c8dbd58a255efcbbbf370669176d9c384b5fb47db460240fac6ba9cd69fb4d4f65cd07b384788a365cc3579bed73b7c80a9695bf6775ff5f7b577b4963636ae8dc818b9701df1d3ce841c6079fa482f4171a51d9d7d0000cbe612ab5eca7dbb8c89a814de58cd5ec814e438b7891cf547acdb776a78d4955a15e5ccdef3962b1ab66e30fef6f987238103877e2edc897d47062114bcd9e208df81b82abb0438016f008050b6bd7cf38bceef211e7cece383f3eb9daf3e9927c03ff1ebfb1f1c00907f5f73820f0529e12c731bbea5811f4f2ef296396ad18081282b30a408ea45ef8c894f3130aa3ce3f34e1bd2528c11e30216b21452cc4616b2e80b0246fcbbe7e7ffe32fd9c9ec3f87ac54cfb07a2eeaf85948e99a0080ea92053baf2e660148a3cac2147c4239eb5101545c63a8c90097c6356fe232810bc3caa951151c73fb66e3d526f0d9dcecabeef3c3ca20c7642e8c1e99d242068024a9e726a3b6402d38bb2443020481a95c6fb8bf8cb597b2b9c0458ff2d169796876fdc5af4ea672cd3573559ff50002d3b4d590395f4800a8ab3364029094cfceab4919afd75da66cc3a3d7b10270ae5f3935aa2295b9afc19036db34015c781362e0b3d84a0100846cd62ee897a6eb2911ba95561a6fc864e0578e9d964f4d20cdcade5bce22cc9228c77334ddfa547d9619803417dd1df58e96865c004535a52580dbd5fff6d15f7ee74d003076d1138a1d9146971a2fa399dbd0b8797b91096323078e76b50e04b2720a1ebd2997cb58b777774901d0e71c6ced152158763fb8a5c2a2337a181869738900ea1b6eb83177de14f3fc01bc18dbf83565cf346401e8730eb60da0c0bab0f923bc0fcbaecf0230ed15cf8c48d0292a756dd9deed0566047ee870b5f68ab0653dd5ec581563a2d9969e323a74bc730a40edd6eac635bca626b69b35a4d0d447b3ded509b48bcb58b777d79cb06dae00ac19cd7baab2e3abadd1b911e26818b3a7f0abc32e00655b1d8dd5d73e5c9f0ee0d3c36786642d55b5044fcc0196a78ff412f06b0a6eb10280797d61914937657a622a2dda0b95716f132ecaab63dc5ed3a3c62d5add3d37bf9025b0b7ec721400f00e1ef925080096e863abb9e535a5007e38d6330620bdeaddf6cac7b6cdffe8287ae78bbb761403e04c198b8cf1b9d4289d16cd323fbe311b0d0020fdd9fd250034390af5362844bf4b67a186420acb5b5253d89949cfe4987b6ac2cb0ad6d4d9a5f7f9357786b7a41894e971f7a4c7edf5ab466e6e919ed12f7a8930e1cb04b338cf5fc0ca42814f52798189fa6c9128aa326089fc4c5e4052034af4c54b46145518199341e37a6cd54b373e0e3e5105cb5884e551f4924b934310832aa7a589de42a9d717840cc162e223ee78c5ef93c00ba97cb263d04532ca81903f10e4a213287e9f2483b35af8f8cdf38a41c11465eaa2a204bca29c74ae387271466b8cbefefeae270ef7176caa7da121d3eb9338de94ca2fa289a6143afa68d59b50bb34854d4cede44558ca4364692625655ee2f62f574b635b97ccfda5e1f67ad99722e3f4b1474a9e3b89bbdf6b7fbe717ed923342349309ac3cf064c77ec7ffca1574e3c77a2ef9ef509aeb72797a57bffdd0fbcd25eda7cf493a7eb2e456c55911595615956e75dbaaac80a188e5dfed975b93df7720cf004f1bfc7effae9892383e68d556fedc827358895c8f8e937b7dcf306f0f8d7fd2db97a7edef36ecd9d2fddd172f4c53d75094e4092cb22399fbceab66f8057bffd639b3d65650948019e202e4f64d1eb1af609569b7d354f6a102b9319f790270463467eb66e240e4d8f4f7119b664426f525942d3ee517708d6d5f9366ea5c947019e200882202e4362033cfdbb5882200882b80ca1004f1004411014e00982200882a0004f10044110040578822008822096078d5df40441100441ac74343e9044c7e408822008626541c7e408822008e27fc1df7c693cdc5ad45cf80000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The numbers of the form (a, b, c) after each test name correspond to a) failed asserts, b) passed asserts and c) total asserts. Clicking on a test name expands it to display all of the assertions for that test case. Assertions in green have successfully passed.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d494844520000029a000001750802000000c794dd62000020004944415478daec9d777854c5fec6dfddb3bd27d9f4de4342080984de417a5541106cd8bb78552c78bd5ebd76c59f0d113b36040501417a0b2d84841008a487f4be9bede59cb3bf3f36099bcda68008dceb7c9e7b1fc9396766bef39df2cecc9939cb71381c201008040281f0df0c97b880402010080422e7040281402010889c13080402814020724e2010080402917302814020100844ce0904028140205c53787d7fd44ed3bb8f9edc7b2c3b27bfa8b4aab6556fb4d334f120814020100857043e8fa7944ba34202531363270c4b9b347c109fd75799e6f4e5dcb9566ff8e4874d9faddfdaa2d5117713080402817015f05629ee9b3ff3a15be7aae4b22b20e7bfec3cf0f4db9f36695a89670904028140b8caa8bd946f3ffdc04d93c75ebe9c330cf3d4dbabbed8b08d789340201008846bc8dd374f7fe7e907298aba64396718e68ee7ded8bcf73071228140201008d79cd913467ef3fab3dd297ab73bdb9f7a7b15d1720281402010ae1336ef3dfcd4dbabbabbeb59ce7fd97980acb11308040281705df1c5866dbfec3ce0f19687c576adde9076e3bd64ef1b8140201008d71b6a2f65f6af6bbaee75f7303bffe4874d44cb0904028140b80e69d2b47ef2c3a6de67e7769a8e9dba849c2f2710080402e1fac45ba528fae33bb72fccb8cfce771f3d49b49c4020100884eb9616ad6ef7d1936e17dde57cefb16ce2290281402010ae67ba8ab5bb9ce7e41711371108040281703dd355acdde5bcb4aa96b8894020100884eb99ae62edfe532dad7ae35f98be5414271102d035b6d691d2b87204f82a1580ced45a6724ce20100884ff7dba8ab5bb9cff25bf792a8d7ae4b609c3e3c3541241fb25c6a46f2ece39fcd5f7c70b3b3f3bf7ce7be6f7f33afbfb67af1dece6b09c34e1eda76605519adf3efcfce7c63e5a207ae489fb8707226bddea95d9963e0964daacd76e4e00cdf4f62045b79cfae7fbbbaec9e82475d80d4ba70f0ef757767cf18fb119ea2ee46f5bf7eba6ca4b8dec925df4bf057fcab449f1de283eb47b5b85bd8f41a6cf9c1423b3676edd7dcc704d0c205cb1d29f3e73728ccc7a858a9240b81a74156bde5f9d64eac445cf2f48915cd41b1b4351028a92c8fd068c99b772e498cd1fbfbdfaecc5e7fdfd83552a71a0520e7423e7de8111413e12c8fd447db742111d1da812202e428dec2a40b9eca93b074a751bdff96a5337d3d9c0e0307f1f9f3ec5ed1f1d852b25e7bd1bd6c1827b1ebf233db0e34f8661288aa204b2e0d821f7ae183474ebaae7b6545d4ad297eca2ff2d440181de521e82fc64a8d0f43188af9fb7946755f2af9501d716f1f499e32285a6e35b0e64d9fedbad12f9faa9a43cfa0a152581706df86be53c75ea5dafce8b0700184eefddbf656fd691460b8080d0844533268e4f0da5289fd98fade0bffdea47c5ed230ea6b709b1050c0030973185a1dbc208c3c203d5029f106fa01badcad9bbfea3467fa1cd6e05003e60f4499bb5283d1068d8bc7a538540001b0008057c6b53c5912be6b0de0d6b5b3c18b3c8a9e58cb678d3bacddbb21bea0048fd96cc9c3267429204d48099f73d53fada5b672d7f9d8bfec76018800796b9e420f4b533e0da761dbe7ede0a9ec2470ad8feebad621880c7d02010889c7bc477d472a796db2ad73cfbb1eb24afaef2fcca4fcfff9836edfdfbc7ca219bf6f83dd98f7e7ee42f34a5e1db4fbf8ff541d1c1b6092b4d03821e0704c686edc71a5c2fc4f91917a503265d667669ce5f6668ef860100168def0700fa8297967f95e362f377ebd67e77f2869f9e9e288760d4cde3df3abbfd2f7411e1efcdf5298144980944ceaf3c4b168f93038061f35b1f7b5cb0adcbdefecf9fd52b17244110b36856c8914b5b1cf6405c52c29000250083a6fa587695eb0278ced9bc9c2ed9bea4a535691f1c16101a322c2e5806c06e3a7b322fa76baea5ca11118121014a01eccd7555dbcf36782c8fde0c0b09530900d49fd8e5616051bceba713c9f7a6fb51eaf01140df07497d7751efd9bc72f80705c4aaa4002c8696c20a8de72f1c09e42911de628b1532a1aeb6215f63f6f89442e61517e62d022cda96c21a4d9f3e96d48798db6a844c9ee2e72d17f1401b8bcaebeabb991a86050504a9a43cc06230b6b63417197a1c2f09c4b16aa58f4aca03add7b6e4d6e8af2baf52bd35087f2fb910744537c5d1adc343bce5221e40eb9b1a721bcc97eac39eacea35727b9f9d4320fc9de43c79423f19006ddeb6d5dd6fcb2adcb3fef0c484913e54d4a8e1015bd65ffa1b68bfd7df7c7280aa79f3ea8309b7cc8853756cb5c3bd30646ffcfac53f9c4304e52b6f3e93a6c2e9dff684cd99ac6a7b443c6dc51bd300fdb9ad0bdfcff8b3d99526bcbefce601fe2edfc45fccd49fdbfffcc55d72ca654fdc3dbe9f9feb0fd53e68aafdfde3d5ab8b2df01df5fdab33fb6c589b56d01078b425bfb0d694a2629a9a9b2ebac8b0f9d557dd0a226ee26def2c488236f7a9e53f16f6d145bd67f3cf235fb4787684549ff9c7d990d18383a417abe80d30971eddb72ecff5d5b27cfab431c9a12ad70397338c4d2776eddddfe0d2cb0b0216cd1d11a1125f8c8ad5e7eecc948c181fabb066aeff758f87b7d57d8b19acd52e9f3e7b7c4a80bce3d268b02de5a77edc79ce55096213d3a70d8b93766e70e6e6b2df7f39e2e9530fe2e9d326b8a53ed5da92b57df79e06fb35f6aa2ceeb15bd3db46b710a6cd5f9c06982b4fbcbfbdf296c573a3a4e6435f6fb2a48f1dd52f44cc05589d85ab10c1ecc9c95e77dc313d48c816eddeb4a1d4ec31d1c9c6faa3bb766734f4c187dd5a55d85d8edc2207689e5ff41d737a750e81709dc2fd8be20d1896a0060073d61f3d7f66ceb2fd603100a8e2a7fb5e4e422201009fd9f7cf8b5309185373615e6e7e69ad0d006469f3ee5b16d3d6bc65020aa06462aed5c6d86ced5327c66663182bfde757941356bd71a753e4f4f5e5a7730aaab53680f2ef3771d50bd39c4f3cb2fc8949fdfc28c0a4ad2d3c57505ad3cc00942470f6d30f2d9002b05f8a61ba463d032078c2adcf0cf3f330483af8e3fc47ffb9f0e5f585175d44759d674bf9420aa02452755f5dd47b36af08021e00f990a9c382a43cd6aaaf292fabac6ba101401c357cf2f48b39f65ab478764aa88a0bd0466df9f9c2ca463d0bf0a4eae173e7cc0e6bcfb120fcfedb273ab5dcd85c5f5e52d1a8b3822b4f993a3156c105b89e86b47d8b1900c44317cc4e099003b4b6aeaab4a44a6b6601ae7744da3df3522e2e0c440dbd79549c9407b0d6c6ca8af2f2aa469d1980d82772aecb631d4c993dc399bad5d852535955dfac6701aed07bc8dcc9c304d7dcab8c9d66e98e5db52c4db3ac9d61009e88c705b87133e6de901422e602006bd0696900e2849410f7c592a8b8202100635d95b973a22d9525659575ce44fd47cf9d3b4ed6171f766715fa12b9b341a44dead53904c2df6f761ee8aba40098aaf717f7b6c67bb2483f2f5e0e8a2fba9c843a5e92d5e76c5dfa69fb5c3674fcf72ba6a820183a7328de3f7ef131dbf9a58fee06946faf7c2e5162defcd2cbab1baf4066ef7fea96300100f3e1efdfef385f37ed96071e991021081bbb72eac96587228747890194eef8ecd15f4bdb82c58cfffee9292af84d9d9ffcf3d7c7973e7abccf8659bedc766ae45d8300d9d8bb9e1c3eafa1b8ace85c7e51c6c9f385c66e5dd4c398c5eceac9ee5dd47b36ff68e82e0907cbb05693c366767479adc9a1781c81982b9470b86d2b171dbbc1b4252756ed693fc9e8d5efb1f96952f0e206456fdb5e0260d4e4b1115200a8c9def34d56fbea8057f4fdf38679f3844993c79efb7c77113065c6306f2e00f3d93fb66fae685b5f4d1c3c614e5a605bc7dfc5da3ec6dc3622e6813556fdb1fe406efb1068d8b869e3e3bc85befd9724977e97a707f89387c4006075653ffe74a4a23d60e2d0497352fc79bed1e364b9fb5dcf4709a2e3038400eab3777e99d5ee7dbf7e8fcd4d9342953a2ce458fbfe866be5d5555f9600e22577dc182ab466feb4614f9bf172860520f6f70540d79ccfd9975d5661b0a78c99313d41a5884a88dd5fe5ba0e919e180c80ae2bcdb07593a85fbf87e7a629204d9fd07fffe6825e7c885fbbb1aa2f915f40df9c4320fc1d67e76deac1e3897b7dd264670080522a44979f9c36f7f94f5dd6a52bf7fd96d30c80124a3c3d2d74fe872fba1239950e1d112b0650b1e30bd7b3f2dbd77dfa4b910140f49851f0769eb8674a4f945e0c58bcefb73c030075b0fa520dab3bb6fedd8db9ce57a902955f62eac89b16dfb9f2bd37d6bff9e4dbf7dc302de6cf67ac8b257dc966f7b016e3a4c1499bbff8c05c7acaed7f9bbff860d2e024d6d26524622cfb7e8fcb570934e7324bf400b87ce7fc343c25420a405778e0621f0d4053b27a6bae1500d77ff4605f78f5ebe7cb0350736257879603c8cfda7bb4c6dc4d13e85bcc17d11f70d17200c7f66f3fdb4c03084d4a500080482173ae9a5cd42100f9c7731b69005ca1dbca8954c00300b6aec4654cd7702eb3dc0c40e123bff65e759909f0f85dbb13b668f7afdf1c2cac30d801e466179901f0fc07c7b97606217141620015670aba4db4e1dcbeb35a00bc80e0d8befab0ab557d89bc8fce2110fe9e72ee84a2faa2fc5600a0e43ec2cb4ea7e2f821b777b7a7ca9b00487c43527b1b72fc49524727ab01d8cad7feeabe95efcb6f0e9b00ca277e89d96403006acc23f72c8951763cf0f3471f7ef4d5d76f7cb6ef320cdbfbc78f0befffd7bbdfefc83c57dea46f131389ca2f317de2234fff6bfd4b8b265cb951595fb329ed5ece6de647efbe7dd298115d6f4d1a33e2d1bb6f676deefb921a0bceb9ed422a6b68052054aac380b0e4680500e84f1ee9b283b2e1ccd9462b0055903a2c22580c806d3a91e3be8f6c7f7639ebc9d43ec67c716da3f2fcb12e1bdff6e75402802270800080fed0c1ecb3b9d9276b3a3de31f15a1e0755a616a17151b0d00dca4e91346f95d94c0633bb76fdbbde7d75de7aeb9573d2e8fb938e4e48652972a6c282c6ca4018424c55dcc7b72b40a005d9f5d6aef21d1fc1399b9856545b9c5f597e843ba0fa5e912799f9c43205ce7fcc59f91b19a7adfd52a51ca01c05c75aed5a5355ed25156a6aea6c97dceecdce22a148aaf8e230511773e75cf228ad7a94b1105489cf367f1f1ed396316a5fa0854318b9e7e6e81a9b5babaaaaca030eb54eef663e7ff44aa96bd07f7ed3db80f007cfda6f54b1a316440426ca0049004a5fc63a5c8b2ecab2357339b3d1c52a7ed1e55a7437be0be5180d5b618baac185000c0e70b01abf3a1e6aa639e6acaa9e29634df40a1dc4b4ab300ac0dd5f95d1faaa96ca69d53774fe38fde62f6479b3c683cfdcc81aea1c9884829045229604351e1b92220312e6e76905aa190cb2562b1442ce4753398b6956497248d8e96f3a481a3e7de38d26a6c6e6e6ea8ae292eafc82dadbb1ebcea0fd4775f477475ee0ec9c8ad4c9914c9f38d1c25c8cdb001c0d0b80000bad2f34540580f89da1ab7ed6f5ba2d05d920ffb529a172397f7c53904c2df54ce8dce1574893a498a5e0e32857ab535159715e2c0e838a0a1cfa9d9eaaabbfd5e8af96ab9323836a6bb350a00df7dfa76cdc4590b27a705abc494441916ab0c8b4d1a3b73de7d35273f7879fda589aeafdfb450efba82f39d1cdbd8b0bdb161fbc17d80df33cbef1e1ba584247efe54bf237f5cd56c7687030e86615896f5bc46c4e53ae0705b17d068ba5da4b05e5cd8f1fc4dceb61a259488c13aa7b19e9e3258986e5b40af312bdaafc81422a0cb113243a3818594db364d8c4d1c3a63544ca791256bd56969854a0a78f049c69ecd2db569a353a3bca542ae50ea1b24f50d0a4b4a1f36b9b9f8f75f8e175d6baf2a7a9273baa9debd31ea4acfd558238384d2a474df8cc38d104447f8f0006b716e55af0eefe0527dd897d2bc0ce710087f3b392f3c5da45f102f87cf989951dfad2b75bb1b10ea87ca06e744e3fe1b922900b6ba4c976354544f76b535b9ebeb838ccdb9ef7e7948a810583bdabd5020b4da5a750608515a09007bf76cd9bb670b7cfda6f58b4b4d4c484a8a5109200f1af4ec4b86d92ff7fd7b2f481d76e3233323a0cd5db6fcc7420ff71bde7af38bc0954fc649e0171182f64924ba0c788c60fe8a6c765b6c763bcbb20e879bc080c3e170b997f9d28712ca7aea7cad26334400f812a5a7958620a5f0f263ee589535e83c0d2565be326e7b030b4bbf71540c17006bac2c2c3e5f5e5d5967a8b7d901fea2db1644883de73d3f3f3b3f3f1b32794a50605468486878a09407b14fcc8d3759defc25f7da7ab5c7a3d88cd1dc551435a78a5b8292bcbd6312fd0f1f50a4c64801e82a8f6a7a4f5421e0c366d75d960ffb1a39d1010291f39e68cc385e337952902078d4e409eb3eddeb7a2b69d6aac74652cd05ab9eff6abbef0d93a2c4009a72b3735c267912dfd038a0d0b39825c801c0a6bd4e7e28c439ac902b2dc5557bddef25bffdc22c255db3e3a861d4f07043d1fe177f3ddf3e8dce00b0e4812717a5fa51410397fa6efff212f6d8d30020f78beec6454043adde1627114894ca76391704448bd0d8c9650323d457369b3fbdd9d39703ac56abc562f1283c22d165eedde3f9840c43f6b12ed707467a03b0ea352d8c1f00ae2a789ce0c4fece5374fff870c59f88b9637aea15e2873cf7d9b9c2cf4b0c0036a3116111722e006bed6fdfecedb4e62f08f3f5f42a282c2e657c82afa5e6ccbaac3a18f4b985fadcc24200a326ce181dade2fa44baee84bf265eadbff43873734bc626794b854183fce4c2483580fa82425daf89cafa2dbd354d0cfdb193864bf2619f72d41ef9beaff7112520fc0ff0176e855bb9e514034010f1e80bb3025ca7e6721105503ef18facfecfe657274a00a061e3e76dc7d333324b01409572ef544f332a84dc3e210600d35cb0bbf1baf060ceb1123d0041c4bca9eea75327dc3221312c30382a48191a171715913634d9ed81ef3e3dac070081e4523ade9cea16060015b8f08134cf4f848e4ff11700a82b2a02c0e301a082c3ddc43b6afc009f2b9bcd9edf2f76375fe472b91c0ee752dd5e5150a2030079ea18f703cdf0ea9f142004a0ab6faacf2f68010069dad4fe6e2b44b35c7ec0e63262eeb8260e4d18d625925129115c00bafad33684798b01589babdcdedfc70e88f4b87750e61b1414e01f151fee763d63cf793300f05c77c25f13af5e4e3b31141634d2003761c298480500ede91c4daf8926a6448801d00681ead27cd8971c7544de6c038140e4bc47b27ffd39af1580206ce4aad7ee5ad07e7aaaeed8fad9afee70eef476be6e2dddf8c5a6f6408507779cd60340e2bc275e991ad52942df84d7ff7d5f9c0400cefeb1e7cf7c868c070094527145d621f61dafb101489c77dfb2b48bb21c9036edee098100b43987b695d400806ad0aac59d147de90323e500a02da9bc14c3b2b79d6c060075ea822f1fb921b5737f3662ccacef9f9ba20280d6c387aa8086923a1b80e051735c3ef5225ab6fcd630eae254bf7717f5219bdbaf66cdb55dc8ad340350258c5e92ea726c4c167ecfbc142100b6e9c8f146a0ee64a11e803020e589794307fb891502716c54bf7bee98d8be098ee55d66cc1da8c62e1e9de8f2f7e03153529ca7e3cee6eb808a162b006150ffe9412e3a943874569abf73394ada797e5955eb1c81c4dc33b293028d9b98200600639de69a7bb57d19ad8bf13d7034b79205840a9510b0d69566f596a87f54fad4246f00c60b25e7faec4377abfa107911d101c2ff047fedcef6ef3e7a5dfac8d3b3937d043ef1773cfdaf45fae6ba460dcd937aab7d5c0f72868c983ee18f1fdb97701b9efbbf1ddfac98a286386dde7d9b67189aea9a5a694ae9ede5af6a7b01569fb3f1b9f6a3cfbd7ee45cec319f3c0082b10fbf94a4b5b59cddbaecfbbcbe67aa6bf7b5f2939d035f9da9866cd2fdff1a5c515c58ddaa0a8f890b72ae2e34fcb636bbce987f60fac0b1fe54d898c59b531b0a8a2b2d229fa8e808e74769b579c7b65f9a619697576efde6d5996ac03f79e2abef8dd36bb59a163dcd13faaafde492b62d69a53bd67dd708001bf6e44dbb6b1004a18fac7e697a5e7ead45169314e3dffe18787d7551afd9ec696a4ef10e1c3d31323d95c3e1b8ae0c3b2797078e9ee0b86c97e8f563e0ce65808cedfb226e9b1e2ae686a64f7e32bea9b64e4b29d4c101ce0f79d2e7f71e74cee4b2f66ff753cc4a09108b7d636e981b73437b24acae492754ab845cda25515c4acc1d41b8d2b039f7dd3cbaa6bed9009fe0206f290f00dd7c6e639e1e4045759d35dd5f0871cacc45e175352d1678fb06a82e7e49949734737168c9898ecd5abad2ecb3daa82415d73769ecf2286d754d935d20f70ff47786309617e65e075e6d8f919734fde650036da8ccfae6706bcfc75275a57975d6c8202100b6e24ca7cf4b7549542ff0f10bf2910200dd7460cf850a3f791f7c98f1f19e962e5655f51a3920efa3730884bfebec1c00b0faa3b7fff3fd816aad198040ee131615131516a8920800682bce1e38516c0304fe29ff58fde4828e5966e5be3b9efc3ab3b499012881cc3f2c222e2ad4a9e58ca93973e3674b3f3d7e51d91878fcb154a3f334bbc9da0400568b0d000ccee3df6858bff3ac0d002556fb28a32302fa9615c62542b7097ac61daf6e2cd5da00a8c262860c1fe4143953fdd9352bdefbd908c0f2d63fff6ff7b90606a0e47e89a983d2fa39b5dc567a74e3e28f3ab2d367c31a33eeb8ffa303e79c9fb3a5e42a9fb0a888a8b040a796dbb495bbbf7aafe3f37375c7d67fb4b79801007154f2a091e9f1fe12ca549ffbd1db5bb597e4a2deb3d97d3d13883f5bfb53466636bf0b1999d99fadfd892bb8384cb2b1f0f8b136abb39cad1d7b9734dfaddd7cb6460f40a85047c4c58406a8b8006b6ecadcfaebc6d28e330df66d9b7fdd9071a6a6596bb65aad56abd5acaf3c7fe2cd9f8e982ec64d3bcf7a9bad74df63b6b100f447b71e28d75901a17750586c5c98b79407b0daf2dcd5bf64b7d9d970664346b11900b8aa8090a88810e78faae4fef1f397fbcb9ce9f1c5421703ec9b7fde9a5ba96501ae58151a1d1315ead472bafefcb10f76965c1f5ed51fc9a9707ec145a19006f8a900d868f4b8c95c7faaac0500e8facc52b726eb9668a4536eadda8a6ddfedc8edab0f251eadea3df24b700e8170fdc271db44a3183cfd2f4a29c03724b55fb00fdf0ebe04a6a6b327dbcf59c58cfff2f129fefadc15cfffd8e5f7c19413d2a283bcf8001ff6d69ab28abd95ad57ce22516aa80280b1a5a1f00afd26584068d498385f802fe3dbcbcfe6eeadecb25b4fea377750a40c761becfa664dced9aaba3f6b9828352622365c2900047c18b48d4525a5399e771528a78d4990db4c90f29b0af33dd8d6674b7acf66171cb49db51858bbc5e3e748b97c115724e3f02ef7b082409e12e12de779fca52cfee0e4783f89edccf1c20ab7507e294fcfedcf83357bfd861d9acb88b9130a2fdfc4400568f060ac28afabf0f03a969f18e6ef2d1302b0185ab22a347dc9d7e0083f11681a8cd9602cebf22b70d7ceab173315e625026035eaebfbf0067af64db724f9f07485073ede5fd573a23c0a9afa9a2e89f6d187dd58d54be404c27f19baac6dd746ce097f671c0e071c2c1c0eb89f8406c0018703cee56cddea03bef7dc37d91768ccdef67956a7de7fdcb4b9c343a5a0eb7ffb72773ef1ea55a07dfc94b97ec31ef2136504c29596731ef108e16aac027138e050d722e5c69a66dad787e79b36f90e61ce91dcb222831d02afe91347a7844a01e88acfe713affeb5f0531223bd2859bff47e3c806d2e255a4e20fc15103927fc8fb3ed970301774cf417f28292d26f4e4a6759b6e36417ab2dde72b08ab8e8afc52b7efaa88e1f81b59e3a944d5c4220103927102e83ba2fbff975d4c8d4a4503fa944c8e77269da6a35e96b8acf6fc8ba40bcf39763accf2da950525c30faa2ecec2c32352710fe1ac8bb730281402010fefb707b77ce251e2110080402e1bf1d22e70402814020103927100804028140e49c40201008040291730281402010889c13080402814020724e201008040281c83981402010080422e70402814020103927100804028140e49c4020100804c2b5c4fd2758766c658853080402814020b37302814020100844ce0904028140201039271008040281c839814020100884ff26380e87c3f56f8d46439c4220100804c2758e979717999d1308040281f03f0591730281402010889c13080402814020724e201008040281c839814020100844ce0904028140201039271008040281706de15d8534cc66735959595555954ea773bba55028424242222323c56231290c0281402010ae5f392f2d2dadafaf1f3264486464a4dbadb2b2b2ecec6c87c39194940400b6b22d074b274e9a28b9f8882577f71a4bcabd0391b9295770f3a461944b70a6e5d8866cdbdc496384d7995b3d1ac6d82c1088a84b8ae7d28310080402e16fc8d5586c2f2f2f4f4b4bebaae500222323d3d2d2cacbcbdbe5ab3e2b33bff34fb4d225996f15692c8ceef8d1cc13d6cec1ad9a134733736dd79f5b3d19a6ddf0c12d67cc9714cd6504211008040291f3bf06ad56eb51cb3b145dabd576ac16080502f72704e05390443ffdfef38f76ccda19060084420120b8ae26afdd1b26e2f315bc4bb3f5328210080402e1efc8d5586c675996611896653d0f28b8dc4eb7f8e8ac5f3c3e6007acb59b3f3b24b86fc154db85cd1f7eff700300e9ed3353004118004dc98655eb963500c08cf9b7bf313244d569ae5cb5f9fbf38228f3a64d79bf0308e9b7e6fe7953e5a04b4eac5ab3eb2d0b008c9b79cbca49d16ac070f28f7faecd5e0f4019fcca834bee0ca0ba5ef19c9cde93616dd88abe5b757796b12cf3833111c3be786054aca7183a27b460e4eecf5c83047635834020100884ab27e700ec763bcbb26e3ff70280c3e170b99d57088c05398559329a6eb38fa72db72118604c174a8a616b95bcf8fdc383a71d5c9e1aa9abdafcf2b70f43fa0ad3f2c7cbeb968d997b647962606dceca77bebd43f6d86f2932d71973cbe9cc17ebd2be7f65f9a7125bd18f1f4f7871e3fa37d3cf7fb86bf75d0f9c4bf116d5e5ad7a63ddaa81cfbf889cd7d79e897ff6a9325f34edfc22fd8d5f1256c46e71bbf2ee24ad87e498835d0d73596088bcf1ce2fb0e6a99085ab07f9a83d1a1c5cd439e92d3fbde612a429e7253733de5f308c545f028140205c5539b75aad168bc5a39c8b44a28b7f537c202bfb9497f4e2254d09100c8027005093b306115f2f498d04e01532fbd91b8ebf71c05a91b90a11dfdf9818ca307448eab2f9273f385a5497921ae09a3e70df7d53c7c8018863972c5d93f5e9cf75a3eeb8ed96a929de32c666112ac281ddf56604f144b015d4376b7d1b09c1b400002000494441540303a6dd97135545533af72be599f7774d4ed5eac130573f4b948112bec2d727402e46c9010f06dfd225698952d61184ee7297d45d028140205c6d3977cec2198671bbcee572391c8ecb3cda0ee9e2fb16dcefb2219cdef2ce7a53fb1f168b4ee917d871cf2b3016362b4481285ffcc46b17c38434d7032e724e0382d08bbbe5c51220cbc07bb4e1e4bf9e58f73b04697e520d10ce03bc929fbbb775e5daaf522d80c8ebbedb6e79da2bdcfd0acf537216da93619da0dbfe0f7834d86b927b4280a5234857c348dd25100804c2d596f34bc06eb3012e726eb17736b7b5e5e2e17593a612023f5a9faf4cdbf1f2d4c4f6e9fc9e5261b87b2e6d8d56a04dd1198890587ff08e1df4532f3df59197800714bdf6da5334a0b990251bf4f41ba39e66cc4de74fbeb6e6d30f9f583cdaedca92640fc9f1ce7830ac3b777b34b86bd22f3d7f6f47104f779ff622f59740201008cee9f15548432e975755555114c5e3f128179c7f565555c9e5f23e461536e86e14cfdf5f65000043ee775b3e035f183260696bf603c71b2d0098d6acf7d7dd7981711ba608810f5665e40300b4fb7f596c099e1bc885d23bc84bc003b4fbbf99d0008041cbb967567ebfc10450627558603c6069ee72c5df5372119e0c739772fbfe821a2d80504f31744d9a7109e2e92e81402010085771761e1212929797e770384242425c5f9f73389caaaaaa3367ce8484845c7c9aef7e508dcf47db045d2aa47c672f9b90bbf2db7e9b002072cc8457f43910842f7970c4e9556b627f140036440fd938275cd6c58a4879de034f1c2c0300e963cb1e9c1ad0ca17ae99f74436008424af1c83656bd6fef0da9d9f0ef86ccaf3af2d73069972cbaf83826ecaed7c25345cd535390a1e0cebacb8a2f0e8716bd725e70ed9f1f2240f06537eee49ab5d838ced7a974020100884764975db9ea6d168ae781a5aadb6b0b0b0a6a646afd7779db8070505c5c5c5a954aa4b88d166d09869894c25a4dc2e5a7862955ce03e463195ac7e7ea3f0cda7ee84416b02cf4bd621f616bdc142096492ce414c86262b440a998ceafe8ae7e43c1ae602c358001145751b43d7845c83783083402010087f4bbcbcbcaeb69cb32c6bb3d9ec76bbc79ded7c3e5f2010b81f57bba2984a3e7c7e1d5e79fe5139297f02814020fc2fcaf9d5586ce772b92291a8d381b4ab8b503df1b69bc544cb09040281f0bfcad5989d130804028140f84b67e7e4f7ce0904028140f8af87c839814020100844ce090402814020103927100804028140e49c402010080422e7040281402010889c130804028140b8b6b87f4666f4870788530804028140b8ce39f3cfb964764e20100804c2ff1444ce090402814020724e201008040281c83981402010080422e70402814020103927100804028140e49c40201008040291730281402010087f0ade554e8f4f718744a801986c744e658bf322071811ed07c046b3272e345d52840a113f39d8ab4e676ed45bdcfe51d2a8ef21e0b8b880502fe9dae32532214fc4a73aae1badb4d9ceb83dac14f3a3d4f2da56739dceec31b63929611201b521fbc215cc5d47d67acec8e5e125112406aaaab5a6f26643df0b8e661dc7cb1aff4cba1e3375c56b455712029449812a3ec5cdafd5e6556b1c2eb7627ce5e9116a218f2a6bd21f2aae671d9d022605aa541241a3de52d8a0735e490df5960878c50dba7abda56b42221e2513f19a0d56479f2b0f00319f920a3b35461bcdea2cf6ee9e578905916a59a3de52a53501b86f545c7e9d36a3b8a1bbe7637ce5fe0a716daba9b4c970050bae8321116a3ec53d51de6463580069613e623e9575a1c94ab3000686784b85bc53952d461bddc77ad8b5be45a965814a09c33af26bb53db78b5e9bb69bf700f4a513f058b8dd75021e2d3f59d1ec76cb5b22e817a86a35dbced4689df5ca2d4e9dc57ebeaeb5d7d671a9cdb36bb759a5310e0e576b4cb6fc5aed65b72f319f3a5dad395dadb9d4e0421eb7efa9f75adb899c5f255462c1eac5239cb570cc3b5bf5169ac3e50e0cf5765eacd79927bcb70de070b87d5d3688f357ac5e3c62fdc9f2ada72fac5e3ce2e79365bf9fae70fee3e52dd9dd45c5015e9836e06051bd83655e9b3364424250c7ad8ff79ffbe4c0790e87d37165e1e0c8e55392f91417c0fa93652f6f3d0597bb00a27de5ff9e95baf678b152485dc1dc7564ed5f5b4e7617eac5e929e1ded2077f3c6667d84b2a8801c15e1f2f1afed591a277769e0687cbe99ca3ee0a4e6fb10f7b6333000e97f2f858aff678ccd415af15aec884bc7fcd4c9d9a14dc71e55869c3f25fb39a4d3600ff989474d788d88e5b654dfa3bbf3ed06cbaa83a2a495bc6677dbcb3516f1d16edffc56d23eb75e6399fec76b04c57d7bd307dc0bc81e163dfddde6cb4f6a5f238b96378cc23e3fab95ec928aebffffb231ecb65e988d8c726f4e371b900f69cab79fad713c9c15e0bd32327afdc66673d17cd07b70c0bf39616d4b5def8e9eebe14f7a5d6c687c6260c0e572ffde6e0f1b246b140f0c56d23f914f7c1ef8f1c2caaa528ead3c5c3853c6af81b5b1c2ce3665e77f5d0adbea585fbae5e3c42c0e33ef34b56acafaca381ff73466ab88fccb5bef5dab4ef1e19e7e63d1be3787deea0f1f1813d74021e0bb7874ec0a3e54a11e5d6880684787fb470d8b1d286bbbf3df4d28c81317e0ab7684f55363ff1f3b15e5b8752daa7e6d943b7f9f9a1f3ab178fc828aebfffbb8c4b6a6b5ddbd7fe829a65eb33ed97d221a965a2bea7de6b6d27727eb511f0b86343241b4f96f015ea1bfab5353907cbd89a6b383c015fa9ee6339e5d7b62efc7c7fa3461720640180a169bdc6f90f9ba6812b10f1a4caae956348a46fa052b231bbccd65217e72bcbafd57c77b8002c0d20bfba8531b67205220e5fc8e170a2d4b2e7a60ec8afd5fedfeebc390342e60f8aca2aaada72b696cb1774c4766b7a14c5e56c3851626ba9bd82b9ebc85a0f19490ef64a0c5471589ab5d31c1eff92bb6996b6691a28a1989228fad8806d9a7a0e87cb57f97acc421fed7174533a57aa56b8f2d2cc8153938233cb1bbfc9386f31eae70f899d9a1afbde8da94bbed89f18ea7fd788d8e206dd633f669874ad0f4fe83f7f64f283c3235efefd345720721a76b8a4615d56e92d83a39e9d98f0ecba432fcf9c0260c5a6132df5350e96e5c9545c8188c3e170399837307c68a4eff4fe2100589b8536e96343027aad3c4e4e57b57c73b4182ce360e830b56242626865a38631b672787cae50e2eac69410af272725e556b5ac39786e4abfc059a9518b5383379e2c191f3f6a4a84ecd7ac6281570087eae4a541613e61de5287c3111fa08c91d0e71b8d3ca9eaf2c646dd15dcd1d2c6c1e1ea81fe9243d9f5c352139dc397b440c9eeccfa0171d13221ff4479a3aea9dec1327c8537972fec7b3db469ea93c3fc572d1a2ee0719f5e7f7cdb897c3187b9f97dadc6e6b0691afa072a9242d4aef5ade7a69dec23e8eabd2f8e94c4f92bced56ad71e3eefb113f058b89448ea5a1bbb74028eae96ab45dc8e5bce46d45ec3599ba6feffb665aa542a1e6379e9a6510e87e3851ff70268d69bec2d4dbdb60edaa1ea4bf3ec5a9ab9e78a6efea055636159b3a1dd92062e5fc093a9fad8d65cdb97c36abe777cff71f1414f8c8e7a7357bed37b9750bb1c7d4afdb7dc8af1f181ddd57622e7571b8dd1e225154d4df05fbbee1745e2f04909418d7a8baf5ce4a0edfac293944411377cd2b33307a587ab5987e36869e33bbbce341badb30784de3e2cc6359e6737660978d4bf660efc23a738e3f05100acdd6aae2d05c0daacc6d2d3b36f18f7d8fcf1d1be0a3bc39ebcd0fccab65ce782e79c94d0d2267d6e791dd55219ec2ddf71e8dce12347448ce95c7935cdb0e052e2c04851402428def4fe211497f3f1beb37b0f1f3bbaa361d60fefcc4c50afdbb65b1c9a4009c54e332627069535e90bcb2aa49ab2bee4eea6f90b1e1cdf3fca57ee6a95af4cf4dcd4e4f408358043c5f56fed3813a49238b376a8f5c22bf74fff2daf7658b4ff900875b5d6f4efdf734f55b57c75fba828b51cc00f778e5af9cbae434d6c808fea9929c96e7e03f0c8b884b903c37da4c2da56f3b7c78a7fca2a6b5bd274d06fdd3878d29001b53a8b33ce502fe93393fbd7e9ccffd97eda63833396e40e1b90f0dafd1336e5560e8df4edd99e503fefe55392d3c27c5a8cd68da72abe3c52d4d17b1b4b4f0bbc03a8f0c48eeefb4af94d6bb65d9c85f829a62585341bad777fb64377e19c4dd3b0ed37ecfdf8a541512143151691800160b1d3b54567ebca0a5fcecf3c7e32b5a1a5555f502a8d1ac093a99c9dd1db3b4e0f8bf0993a30da47c809f192ae3b51b22f33d7547e862b92ca6307399fe153dc9767a576a46bae2ed457564e9b746faf95c7c991d2c6c345b596ba32734de9fa571fcf292c7bfe8df72d765ae0e52f8d4ae1b8c87f98972cb7aa65e5cedc83478e151c6366a5ae905935dbfe38f4de2d23e6a5c77dbf691b4faaa4c432d7c8e70e0c03f0fdb1c225c3e367c67a9fcc3c2e8f4f1f121bf2dcd401dbcf568d88f24b0a5215d6ebfeb3fd74417deba0301f8fd75d0b2e3a3ee1df0ba7a485ab3b8af55859c3a3e3fb0d0c521a4b72d3670c0560b4dad3435486e29cd4d1fd011c29aa3196e686f9fbbcf6c0acb4083fb7fa20e7e1ff160e1f3db05fa5d6f4efdf73cfd4683bea5b18d3f4c57d7708f9d43f7e3ebeedf049e385fcc898b0576e9eb7e374d9d019fda3fd94aef58d2310f5dcb46f9a303ca7b4e6fdbdf9878e9de8f01ea7ae2048b9e08fbc82ee3a018f852b4f184249e41d72e5d609c081ae964b7d54ce5bc6925c0ec557268f6a9755bbb124f7b7864a4978226a0b9d72fee5376b0170285e80dabbd7d6210f0ee9689ece983902aa2f83f9005be3bfe7cedc997761dd961d4e8137969e9e3072c88a3b2614351a5edc9c1da0107b6cc2ddb5afac8c7d2fdfbb0086564369ae343c292cc0f7d9a903dc82776db3ed7e60dc52f7910abb7668fb0beb6886edaeb6ff9db9365be16ab5c6ecf3a5a3531355426ebc921ba492ec3c5bd536d6b4dbf8707cb574dc84f8c04da72e6ccfab98d13f64d5a261a0ed0d7a735eb5e67455b3de6c4d0850c6f9296c56ab88cb2604a8827c5442dff6d51ec6f9c6d111e6abfce491f9123e6ff986133f1c2b1a1b17f0c0a818d66e13f3389312827e3b7581d6b7c407f970389c1b92420fbcf7e48eff5b91f1f96bfd060e1607c7f0143ee07001042a25004a2aaa2d3525ad56bac5600af1f7b536d5d89a6b1c0c03204829f192086bb4465b73b583b1f79abb30b5f2fd852325824e567119fb97b78f9c9010b8e954c5bef335b30784bd352f4dc47538b3e613129918eaff8fc90318863955d91ce7af7c7e6a7fd666dd76a6c2295dbfec3b565050c8a52d5fdc36b2abdfc6c4f83f302621a7b2f9f19f8e34ea4c2ba6a724fa4a1c2c0b60c1f044218fca29aeec885321a4c6c707a687ab59bb8da5ed1ebb00a9809710e8f5e4a4fe3ddb23827ded5da3130355df1c2daad2189e9c94745b7ab8d36970381cb4cdc1d27daf157df71b6bb7391c8e8e577a00320a6b7517ce599b6b7952a5243c715f418df3d6a14307eb5a4dfd83bd4ffcdf931bdf5a7edfed8b4e1b85078aeb198bd1d654ed60daccb33078fed72c9665d3fb455da86f79fd9703e6ea2207438bfcc3b982b689a69566535ef92df95f1b328baa00581bab19ab315025edb9f2747e03c4a1c4f2f933278f4c4978e1dbed764ae860180e5fe8b638bf25aff2d6cff71f3f5bf4d8a4011f3e75774d8b6efd913c63637543ab2126d88fb19a6c9a7ad7c8c57c6a4a62706dabe9ad5ff61b2dd679e387c2ac638cad52019510a07c6242e28526dd4f9925fd83545fdc3642c461babbee70ee297038a402ee86154b13833a156b5e6593c1621f14170e961e1a1d50af33ed3e5d9a1c1d26a630285c0d20e34ca984874d6f3e9518ecdda93eb02c809b87f56bd6b4feb82f2bde5ff9e12d4345601c0e0680904ffdf4ea135e72694661cdb623d9c6f2b30e86f60a89ea17e21ba4f6de9e57a5355dac6f8cd524a6d073d3de56d4b2f0e36dc7cf16bb7a2f5ac9e7703837240677d709782c5c382eae2677ed043c5a2ef40f072011f2b6af7c6edb3b4faf7f70f23393fbb74d4b699b83b673b894501de2ac0d0e9675b0ac28304a141805a0566be8a17574d45596b6b1f4c5fadfeb745822e026860504aabd4401e1ce771543e2c3d72c5bcce170def8e3141fb4a7264cbbbe32776d5fdebefe0e75f83f7f3dfaee2f7be8d6269eb6e6bba563dc82530ec6539b6deb6a5c5377d0368f1d9a9d611b0d168fb59dc8f9b561d381e33c8a9a316ab073d5e8f7dcb2b62e8d8389839322d48ab5c78adfdc98b1e2a36f7ed8752431c82b59accfc82b7ee9b7131ffeb63f442904f0d297bf9e3eb8c35c711e00cbd86d9a7a6705ed48c264b1def5ce770f7ebb7fd7d113e7f27201f8f1ec86929c89d1de221ef55b76994d531f1a1458a3356614564f7eecd50f37ed0bf3f57a61e10d7ca59ad7bee8a710f10198358d0e9611f947d02c47a5903997cb9c6a14e2250150a735dab48d5c9eb0d7dc992cb607d61e78f0bb0c57ab8628cc916af90fc74bded87868d9bb9fbffff31f058585b6fab2b6acb53600c8bd50b7f4df1fdefefa1766ab2dc657a13b7ffcbb5dc79bf566009f6fd87aaea864b80f22d4f26f8f16b9f9cd8bcf00085549586dfdb2b7574f7cec3ff9c7f6db34750072cbebee7ef5e3dbfeb3a623ce92b2f27fac3ff6c6e6e3c6b2d3e6aa028f8aee24f7427dcff6cc8894f9cac56b0e9dffed68de3f57ffa4339a6f4b8fb036575f5eade8bbdfcc17ce30c656678fa696890068f5069ba69ecb174823fb8bfc428d1c11007fb5baa5aee6e6b77efce1509e466f1c9614f3d8b4217f2c5f70db9ca992d078bed2c775d5b7c5cad8190780a69696a6821cc6a417fa8608bc0238d4c5f52dc6e1a06d36c66a762e8102504a843d579e4e6acea554fe812b6e9d7ab8b8aed42ee3503cbed2471410e19a44472fcc65e9396387c686f85b6887d22f081c6ebd46a75648a562a1ada5d635f2c989c112016fdbe98ad6baca9dc74ea9558a494306d85a6a9d3abafbcc857fbcb3fad52f7efe6ceb41954438dadb4e1bb4dd5c6fdbdf347fe2087f957ccd8173aec56aa82a3a51562f150986f58f1f101978a2b4fee899428ae20e1fd06f706ca8ce6ccb3957387fe2087f2fc59a839d02da5a6a00ecc92b7de6c36f5ff96ae3f7bb8ffbcac50384ad766d1300018f522be5169b7d7cbf9031013c076d9384f5e32b7d9df3c8af36fedea4d575d4375379fe840845af4d9b92c82930aede0bf1575737b71e3a5fd55d27e0b1705de9da0978b45ce01d0880e272a383fda383fdc37de47e721100071c70b4d501818f7f5b7da0280ec513f985097ddb04be87d6f1277130766b53358008b572edcb8f6b8de63bd7ecaaaf289f1a44f9cac56b0ee4bb1699b9a698b5593ade79bbb6af1f5f79fcc4db0f9c78e7a1d35fbe121a1d7be3c8145fb9f8f38c02d7e043d5e8da662dd5050022d40ad7d487c84c116af9b7470adc3a34c6d8daa0337baced64b1fddab0e550d6bfeebd65ee8411013eaaaa167dcef95200e072c1a52283fc0014543719cb4e33165361bd1640a88c9f919deb9f94bee6be3981decacfb71ffe72cb3edaa865ac26006059c6e4be6557ab378e1d1033794872904a5adbdc0a80cbe3db350d7307841e2dadaf6bd6d0fa966d672af7bebb95d6b7e88bcace9455dd3a7ef0a0083f4361b6242289aff0e170b98d060b0009e5004089655221bf5a63e0503cd66a760e1d9c1b625b8d6687ddda3157eb21775a8371546ce08484a020d5e40eabc2946200672fd4194bf3188b61e596230e861e1ceaeddc04c0988dcebb366d83bdb5a9ba491b13ec47eb9a3bf64973787c0e978a8e08035050dde8e6b7751bb7a684fbcf4809fff4e19b1c0ec7e173171e79f76bbbb611407e65a38365acdac68e38eb8ace6ce38a19b3c1ae6ba18412b0dd6e68c9afacefd99ed8c850002b66a4ae98d1b650a9908a194d9d734671a9b5a2ef7eb3b736b10ce35ca3bed0620010ee2d75b00c5fe5cb158a39142f42ad0070416354c9c48cc5f8fab6eca7df5b9318a8ba6de684dba78f7b7afaa0f547ce50522fd7b777afcc4e13f2298b8d1ed42f66e9e4a19f6f3f220a8ce2747905ce158828a912005feecd31581a74a69e2b8f1b5393c27ce5e2f776e5d95b1b19ab591a994c89a46ebd75905222e25325c08c4ff624f82b7f7d64ea0b7386cd3c74506b610004a8d5a5350d0e97529b37300c4052a0f2edbb664404f903b865f2989daf7f0686065050d5606f6da475cdf9157100825592bcd20a8fd72bce963a238c0d0d04b062d6a015b30675142bdd507ef0d4b9f1fd421e5b3893e2724f94d41cce3e83bb66dd3e7bb2af4abef374994daf890d4d07b062e6a015332f0664b40d00ce55363858c6ae6f3957d9002058293e75be6d0176f947df8265df7afcaeb71ebe35bbb4c6a2f2e5f278001c0e86d66b1d0eb6a3bef114de370d4b3c5adad043d35669cabda2fa5de0f875f2de536fedaaa6e1600ddd74021e0bd7b5503c76029e2c1700d09b6db1373ee4a0ed3cb9f7e42103be7aee1ed66276cee9c1013894cb7a0d075c8ac3e5f5da3afe6c77ccb2b4510f204cad0020150b4384f4858a73d133d33c96b5051007c570289e5bfbfa21b3645741fdd211315e5291c027c4d903bc307de00bd30776040f9702c0d98a7ad7361b2072744d3d72d874000535cd5d85a0c57883c7da4e66e7d786ba66edf1fc929103e2a383fdb71c3be39c2c72385c0e9757d7ac05e02b026336087d0243c3230134591db0e8df5f382221c867e7d9cab7769c7630760e4f20f0e9d88fea5ea877cc18bf74ea883d672bd39e5ebde493adceaa1fe2eb3534217c635689bdb5d1c1b2cbe64ff9fcce7171fe4a4aa25004848a45a256939536e9ecf5e51c960150a53101181019088723cacf4b2ae455b618004ec78a538dd604402d1500e0b4eff1e92177774c1b73fb88f8bde7aa5dad6a68d1b467592ff00e7c7cc98dff79e40e91ba3d6b0e1600cdb00028a9d2990a8727604cfaf68e46cca178cd340f809f98ebe637159ffd61dfc9e1cb57dff8cc9b47ce148d4a8cb87fc14ca15f28003bc380c3e1c954ae71521cf0257249583f5150b487a9613bf6deec69b27200bcf4e3eeb89b1e49beffb5712faf9df8d2d70c4d3bd7da2fb556f4dd6fd2a028ae48ea5ca3cea96836d9e8d189e1c931e11c8a0f70829492a949c12ceb385250b9ecd6d947df7d6cc99801b2e8942203e7d94f7f6e35989452b1a32adfda58d151c40b07470e0e57e7d768ee5fb30dc0b377cd8f0c0ee070795da7451c2e97c3e13aa756002a9bf53d571e370685fb00389c7fc1527f812791f3e55e5d37043d392969f3431343bc651c8a5fdb6a645836ccdf07805a2e0660b0d10efae2d26ba8976450988f8d66e302941307f70f0ff4655876527ab24ac4a34d3a00815e3280c353f88446c500d0b33c96b602085049ddae3b68ab7361a0b64903e09fdfed702d56bbcdbeeff07100e3d212011c3d7dbeb8a4b441ab9f32a43f8083a70b69bda6ae4507e0a51f76b906a4691a4090970c1c0e5fe9131e190da0d9ce71cefff466dbb75bf77ffddbaec3b9e77c94f277eebfc9a66d6c7f5fe36c179c8efa161513971ee5bfe954790f4dfbb95ba76e5f3e3f442976f5de930ba77ff5c08c387f55779d80c7c275a56b27e0d9f28e79a4c3b9ebccdcee55f64ff6993d84a2381c6e5fa6ef0e164045936ee92b1f71b9dcd7168d137039cd8ca06b13b6dbecd6c62a671d736b5f9b732b0e1654794945008c45272b8b0bbb96785da30680af80756db312ffb0aea9b770a41e3b34daa8554bf85d6b3be15a7e46e6b78cecb625d65d079c4be51c2e97c3e5eecbced718ad778d1f386bd4a0796387dc3224a65e673e51d6f4c25d378e4a0835d9e8cca29ab9f1de8b260d1f38385de015d05dfcde4a198016a3996f372e4a0d0100da367fe270bdc9b22bafccae6de0c994ad36c78868ff77ef9a7effed0b3f7f66a944c8df72ba6270525cd9f7fff9f5a11b9cbb282d76e6a9f9931fbc69ca5b8bc600f8e978111c2c87c7777625152d4687c3e1af94a2f3f990ee72e7ad900168365a5cadda9b794aa337de39216dc688b4fbe78c5f36398543f1782a7fe710dd65b4cea5c432e7152e5f0807eb3ce6fbc48229b1a18119c5755a9307bf4d1b9eba69f9c27b678c2e33388ee51502a8bb5062d736788c73606cd8995717fdf6f874a14f90c0cbafe75da33ddbb3f36c958d66968c19302eb5dff4fea1db9fbd65fec0e05e5feafd79bff1fdc2450191ce81488bc9f6e981731497fbeb9bcbdfbd67f6cbb307fd78cf58b988ffd389e282d20bdb8f64b3ace3d189fdff3123fdb639d33e7be519a54c72a2f042ab566bae2d73be6808524a9e9c94c4b08e15bf1cdb7bf0d08f7f1c948884ef3c748bb5b1b28737116d79395962b1d33d541e370687fb34192cd55515acd5cc57f9791c4b1d28ac03f0f6bc413727fbbfb77014c5e51e3857e5b05bfde522bdc5d66cb4c2e170d076e780694e4a1887c35973303fe5ae17136f7e38f9f6e736669ce2f3a81bc7a5d3fa16003307c52d993676fac8c14bc724d10cbbef7cdbab905983e33d5e071c5b33b2ac767ac9b8d4cec5ea28aca871ae4634b7eacfe69e7230b4f34d33807d878fb336cbf65345369a593236c535a0739179c6e08425d3c6cd193374d1f038938dce2aef74789acbe33ff7c35e93d536317dc08201818cc57471df3b4d77d4b7b983630d567af7998a1e9af6eeac3300debe7988abf75ab4ada3fa85bdb7745a779d40af74d709b85bde3ede05075ca15491384212910c802b927228fe9fe933dbf64908783ffde71f3fbef2f89a3bc7ad5e3c62726250ff2055ee8b73363e30a18f7d7279a3765bc6c9f5bb0ec586063eb968faf693e73c35618783659d15ccad7dbd7df3d01fee9dd811dbe603c7ba96f8deac3c8dde78e7c4ce7d9d4f3080f2a656d7d40f9c2ef6d8a1c1e108504abbd676c2b594f3df8fe6d20c5b56db78eacc59d67af10b1b1abdf1e1b5077426eb67cf3fb8f2ee1975ada687d71ed0eb5b634383004804bc157387bef5e02def3e71e7c411437a38cff0d3ce8cca46cdb2a9834e7cf094dadb8b66d8003fdf05378cde72e494c9a0a38d3abecaffc7acf22f330a227c642fce193a2cca7fedd1c24f76e5b4570e076335376a5a9fd9705c2c14fcf39e050941de1fec3e7d20f7bc83a12971dbfccfc6b0e5cd86083f1500874bffde5dee7eda7db45a63583679a0ab552d06cbdd6f7ea9375b3f5ff1d06333466ccfabf86c5f9eadb5d16d3740a7ce82c301b0f164a9d9463f72e30de989311abde9e11f0e77f5dbdaed07b666153e3471eda68a8d000020004944415440ce27cf3eb968c6aed3253fec3f491b741d91bbc5e99c3d38f7e6f4da4e7ab0a7bc41f3e4baa34aa9e4b3150fffebbe851985351f1dab9684c63bc701975a2bfaee376b63a5b5e142c798fd8b23c52faccf30596d378f1d3c3f3d9ae2e0dd9db92fafdb67d3361e3b5bf28fb5bb5a74a6fbc60f78e5a661335322f69daff9c7ba235cbed041dbc032005e9e355022e07d7da4f0d4e9d3f6d6e6fffcf0478bde343c397ee1a070daa0e979a1afc9607e6643660f95c7157fb9285825ad6f3539859627f7f2b888ba25af72d5fefcb800e5cb378d1c1ae9f7fbe90bffd99c29150b7d55f2dc8a4687ddeeece29d0bb77352c2006ccecca70d5a0e87e3a06d9bf61d0570cbe4d1b4490fe0f0f98a47174c5bfdd8029990b7626366655d9b8e1e3ee7f93ac029ab6978f8831f5432b16bb1cae307cba2071e2b6b049079b688d6378383ac8a660095f5cdc5458500aa8c8e277f3ae2561fc421310076e5963c73dbdc8f1ebe99c7e5bcb831b3a1a9c5a58681c313347295efed3c0de0c5bbe6f938741d37d71fcceea86f73d222ff385369d2b7f6d0b437ec3dbaf2a7dfe303bd5cbdf7e5e63d9ffcb22342ade8ae13e87855dc1d9e3b812e96fbb1da4e636181c8796491c3e180f3a7faccb657a71477dca0fee3d29246c5068e8cf60b960b9d234e8703ce5cf449f6389c57bef94d67b23c7cf334beaee189eff6bb1599b3ac9d2f0edcdad78c94f0b226fd4b9b8e3ba7fb65d5f58f7fb3c72db82d20fea12f77eacdf64e7d5d736d5b77e492ba9a697df0ab3d5d3b349944ac5648722b9b5d6b3b0100c7ad80fbff7bd35f9da4c3e1608cadad798728b14c1e3fc4da5c6d2a3f0b2e579130942b92b6e6eee7f004ca01631cb44d507b8e6118b3d41780a5b694c313c86206da9aaacdd5c5004401115c9194c3a57852256bb3188a7304de017ca5afb12cafe31f422fff9040ffbab2425aa616f80431dafa58295ba5b31a20b0b736cbfb0de549e40e86669a2a15e68646bd15726fdaa0a50d5a917f044fee652c3f4b8924f2b8c1accd2c6f2e69d0b472e46a5adfc2584dd2c801429f20e7e4f5b6a1d1cba724cf7be6adacb27a797c3a6bb3f49c3b55ff916a87aea6f0acd32a5b4b9da5b694a7f0918426485acab47a23571de2a0edd6c62a8177004fa6729ee9e2c9bd4d17f2857e6192f044b04ceb99c3acd5a44a9b445114539eaba9af1605440afd42391caea0eebc9bdfe4b169029b416e6ed253128b40616daeb635d78a8363383ca1a9fc8c5b9c0f3df0c0f884c0054fbf460925f2f8f48e7781ce82d39e3ec0a1f8aa0163edfa6663496e2ff6f8863a5846d65cd262b470bd83c032d6e65aa14f20572831969e16a883a49103b83c7e1f6b45dffd2654078b43e39d31036069bba5a6586e6a140885f55670385cbbaec541db847ea1e29078c6d022d35c908b450d8cc0cae1d186569ba68eaf54cb63073bf3ee60595adfa22f38e1601959ec209e5469aa38676dace4ab7c65d1a99448e2fe22d266d51764d206ad327934255130a656d7cac377d82511fd85de811d2b1f34e360da9b216335ebce1e76b0ac3279b4442a758bd9f9a48361ec4d954a639dc6ca306215ad6f993f22e9bd654b5fd870e4ab6fd6c2c12a53c6751c846369bbb9b2c05c5b220a88742e5a3818bba9e2fcd818bfb5ff7ee2f35d592bdef928c8cf4f27f6717028736de9a44189dfbef4c8e7bb4fae78fb43d7eb601959dc6087ddea6c680275885c7ba153b1aa834581510e866ecd3bc418b59444a14c1ec3a17886921c6b432587c757268de4c9bc688346da54ec1a50e01dc015888ca5a783fdfd0c62b5dd014b4d09385c79c210c0d19a778843f15503c773f942bbaed95098c5da6d92d0b88e2a240b4d60abf2758db583860eaf67840dd515b6e6ba1e9ab6d02f8c2f12ab2ccd1ddeb3eb5b843e4122994269d776db09c4a73b8fcb772a5ca9b2e3854bd74ea0ada5b8591e16cf93fbe8f28f386f5142b18365ac8d558692537cb98f3ca12d15daa4d79edacbe17055699328a1b8af7da6ddaa3d7dc041dbf92abfb6211dc55b3a6feaa401d10b9e79ddbd39b38cada5ce50947db1dbf40914aa43f4052778322f6954b2b9bac8da5423f20fe7ab7ce5da8aae65ddb57df10582062b0770d07a0d633573284ad97f948365bbf400417ca55adc54d2a9aff3091478f9ebcf67764a3d2042e01d286a2a71edd0164d19f3ee23b7fe3f7be71d1f4771feffcfeceeed75f55eac62499665cbb6e46e70c11807534231a1f3230e2d710209248440484242f2753a494848688100019b60aa6d19638371979b6cd9c69255ac2e9d4ff5ee74a7dbdbf2fbe354aeec492759b824f37ef132babddd99e77966669f9dd9bdfd3cf96ee93f5f7935a0b7ffaf71fca7d75f008fc211d2ff8a0696e5a312dcfa7aa2d17a1f3361781de13484308ccee48a4a773557c93d352084d11a0c69b90caf973d02e17828b2d0d90680b01a5d5226a3d533bc9e701ac2b2be7f80d79d91757dd0481dad9e9e0ed6682eb776128d961097262ade3b7208cb91a824abd3e1eeeb529c76c2b0da8409baa4cca1353d4258bdb94b1b2b4add727b3361185d5296ef42f4fab2fad58b27ddbc7ce1fe67df50246944ef1486b5b8fdacf2beb484d59b7a23d3444795dc5a4b184e1319a74d98a078fafa3d62fa5deb9f156bb4deb9b54218c110c3f09d4297853345f131c9c17163f5660fa7696ab7787abc4fc32a7c74221f9322396d0165e6a4267c63d1e46fff738b2289b228004a50c3e909cb81205c7ba2936cee648fad4669a9212cc799a2f8b854b9af97e1f58317f861f68ad1c42ddd77a59ae134baa46c8755d367a99305b7f7e1297d6a8e363193e1752432a147705bdaea64c1051042081f93a44fcd1d700d8a2cb9ad8d20449798a18988211caf4f9928f6f648ae5e4f8f95d1a405de9220201a9ee1f5204c70e7f9f50fbf19f0b294cf2adbb69f6af35ed378e776acde4418e68915d302c68d774fc2b25c7472bbabd7ed68526c3d84905b572cb5f4383796d52892c899a3fde62bb22c3aba195eaf8d4d617546c2308acc6b639309c7f6afc310e64caf1bbdadb2a70f84e1e352fbd75afcb7ebd3f238638468ef62783dd1683953944d147c9b551b97e68db926320eb2a48988252c471846638e156d9d8c56cfe88c84655963a4adcfaf3f68e3d324a79dd11aceb821db9b148f1b0cab4fcd61f526d9edf4f63742086118ce14a54bceee6bad7577b4ea12d2195ec770bc4c18c110a3709d070f97e99232457bf7f0435b9f924318a6bd45188c9e362e4d9f964b588db545087912506d5c1fd44e026a96b7b7305a23a3d1f9be6489b01cc3eb195e3b780b861086e1f58490a1e733463e6712851046a3934124a7cd5b546e46dabd4b8bbefd8aea7026834378e0b4c98361bc96301a9d2e395b74f4787adaf998249b31d1633b1ddcd6eae38b80d59bb5f1e942f719c2b0ac2122e00ca08d4f67786dafc76fccea1226288a1c587bb7958f497245a6b95aaa074f68b7ae5862b1b9361cae52e9ed74767e8e67e7dee98e220a208470bcf727c800f13e27ac78dcdebf09218a2c29a247f6082060389e701a1046113d013f14212c4708a3481e108630acdf1f0c4b1846f608b2d047588ee1784591a128b2dbc968f5beefdb92458f220ab24760389e6878c2725064d92310c2f44fd124491605c5e3269c8670fce095a997e2b4286d6ffb86cd5b4c13a7f3d1898a240eef1d1445f6b87dad2284211a1e8aec7599b02c613584e5a028031e318a248261194ea3288ae21100c5fbde25451265d10359261a9ee134c171230cab288ad74145f2109663345ac2f190656f9406cbe418c82c2f7bdcae961a597019b30a7ddfe1a5c8b2ec71134288461b7c6c487bbca11305c27284e5bc57638ad87feca87a45b871537b219dd72ac5e3f63eaf44586eb0f6c1c6556489d168bd4dec5b82ec712bb23c7888a2288ac7ad280ac36954ef70cb1e37148570bcf75c13d07908cb79c315d88d596e3008deb00f0636604f30ac22898a2828a287e1b8ab66e49ceeb01f3972d4d95869489fe4fbf3366f098a22331aede0894f91a4583d3b272be1546ddd811ddbb4f169ba94895014c26a126322e664265454d71cf87cabef7646c31396f3762d302c6139c87240b37a23267b04efcb5cbd2bc9deb07b9bc9bb834a7ff0f625421459f64689d168bdd118ec6f03c78ade0564c27290a5014b2459f4409608ab91fa1c0caf1b66687b5bd0bb51113dfd96731a42c8882701d5c60d751290454fb0e58410c272415f49b2281086191c6b8aa2c8429fdf3e618f0ebfe91a436486552429c470961431f06ce9ddc268786f8d8aa2301a7ee0ee5b605b871a5f0caf03c34296bc510a6e71dfd3fbe098edf72bb87660f084c66af8aba6679d6eb797951d09eeedffe3b3f3f393cecf3d8aa2f8f63f459655afe902760b7f07455124a7dd7eeaa02632ce30617240b21f6d69e73214a1ee86389b4ee9123335917117e0c5efd9c4cddbe1433522c6e567bc23992d8b9ebeb6d3be4fe412c27011b19a889880674146dc73a84c8fdb517344ee7399f2667206737857d592d0d1da5b775c1b9fa64f1bba37116afb85dfb8a31ddae16f0cf736e2e84f02e7e6e6e6391bce5ff6201abca21a6d6fa78bedff45ab10fedd2b549f1eb11786da8110c2ea8cc6cc29a37a34e3dce7f2307d64f56653f674c27117e642d6d9c46d9863bfece6182c9fe134baa42cbf871c09210c13fc5ce7887b0e2dd832ac362e8dd16883efe5873688e14cd1868c2901af1f0fb9fd826fdcd10eedf0378669f9184e02e7209ee772389f9b73da587afbff001c0dc1b8f53096d544c603ca7f81c80f61592a6cf0a512fed42dcc3d09cbf13149a3d2c22284303a8396d7792f1146dc4eb9484f02ff7dc3790cbd9da6f32f91417ddc13addd8322bea315e11e77069592bd1f43c91bc718785981afd4c7e0cc604471eb58a33623d6d4dae36ced19da41af617313221c6eb1b63d50c239545d0843487b7825ef00741c5b981a5d75c6a65a972fc1d2d7e74b619a12306519cb5c4aed441f6a3b65cccb0394f3dedb693a1f7fd4f4a72d0faedde71295d18a708f73fff0514a8602c2b2aaf2c68b7213ff76ebbc4a4bcf4d2f6c0f28614471eb47af987ac7dc6cafd6f2ee6acbf7feb3dfe591ae294cfbd93533f41a0e407953e7836bf779a5b8cfb2ae1195bc7db97a6adacfae9961e0b987ffb37fcb89a6e14f4901d2d70cc39c1785690a8542a19ccf74eeab8fdb6bb7dd7f59e182fc093fba7cd24f3e3ad27f8b70f422dce3c2a052b2d865b9696ede258593ae2a4c87bfbc7152847ecdf53309218a02d16923846574fdcfd08ea88c3e3f3bfeeef939ef1da9fffba7c71764c63c75e3fc55b3d33f3ad6fcf4578b5b7b9ccf7e7ae292acb8eb674efce1e5937ef0ce7e86d725471ac65cd7a4c4c81195bc7df97ff372b41c7bfddfb6d4b5b57b1c76d610e195f1560d548010fb255373ce8bc2348542a150ce5b3a0fd6c7ddb5b5e45f3ffd4e24111cd565724e02d444b8bd1accff39747a6646dc65939216fc76538c810fd6c12d488efac5b5459b8e3715a646cfcb8aafb6da7efcc1e1ef2c99bc2837d16273fd62e3d1430d1d00d2a20caa0abe834ac9d299ba5fddbe7ad0e6417963de18f1fb95b3bf68ed9e961aa3881edb893dacc16cce9be57d4bf388cae826ad06406975eba9f243dd27dc4fdd389fb15b8b23450dcb3cf7d917ef6eddf56e47e357d7fd717282c95175c89c35f5f7df5834e6ba9223f508a1e47dfd57affdf6f2625fd5f0bfde3a2f27c14c8035d7153df8db173253121ebe63594e528c47eedf2135cae01bff7b5edbfdd3aba76f2eabfefdde4f35d109d74d5f7a5e14a629140a8572ded279803eaec61ca3c4a5defdc2c76e6ba368eff2be19e6e6f9055b4b8f9655372e2acc79e2caa9373df7899167f293221fbcac801054b6f6b0b2f8f25d4b52a34dafefabd630b8636eeec438d3cdffd8aad7b0f94991b90911ef1caa296feab82427e9c36f5dbebdb2e5932f9a6f28ca7ceaeae957ffb9c464d4bdbe6a91ac28ffda5b55941ef3c8b2291e8ff0dabe1a834ebb2c3fe5f91d15a2bdd3e9b0e53ffc0f4d44cccb772e98939b36286ffcf0b229e931c61bffbe75e377ae903d7d92cbc168b4833f09f6554617b4fa41716bd610a14bcc242cbbabdab2bbdaf283e5d3261bdcf30a27d55abad6eeaf963b5bbee9f494b53a5c4da716154f6518a6aab5c363ebf8eea289e9d1c61bffb16d6c751daaef1854f23e58717a7f43e78623a72bab2d695186bfdc75594397e3b1770e142447dcbfb8c06aeb7def70ed77964ed572ccba2dbb784679e187f736743a1e5bbfbf2039d2bbc3b68a16dff87b85d8cb6323f5a9392673c41505a9deb8150c284cdfb3e811000dd6ae557f7e675355e796bf6d22b2f8d0b269572e280e5098be67e1d09e751d76ce14e5ab302d4b9e97ef98e7db0474c45228148a2ae7faa90d55fd696d5c9a31ab50139de07d5d46b008b7e8e801e0740b977ee7ff6ef8f9f3454667665cc46bbb2b027470e53e07805d954d8ffee1c507fffc06804e9b63d5cffffcc3573636b57767c6991d95a557e744c79b750112bcae96ea2bf212749a7ea564466b208648d123faca1b5f3639edeef9398fbf77f04c47b722cb843001ef2e1851193d42a79115252ec2306f4a6e4a5c3408139f9050d5d4b6f9c009abf5cc8d97cd7be989077a5cc29f3f3bb97c5ed17d2b2e79ec9dbd63aecbeef6dcfef2f63777052a792bb169f7bdb069f5eb3b7d55c3fffec6db4eb7e011c5bfbff55e4373ebddbf7ef98117376dd933b4435f6b2d00a7dbed8dbfbda90a802cb8fb2c75cb7263cf8bc2348542a150cee7ec3c587f9a61b927564cd372ccd31f9ab4090900be680a14e17677b400f8fcc4696b7303212463e164a8097b9f6e3d0da0b5cb26745b3b9ddd00da7b1c42a745b477399c2b495c94e2ecc930120449f08a67eaae9b9abcb7a65f045d1b9f46588e30acafbcf1372f9f6eebf3ac9c31e1fa49d17aad263d31eec59f3cf8ed3fbd3ee8da88cae8dfb82477616ed2a36b77ad5dff5e8291dff98f9ffff4ba39576eff2c2231edff6ebbec9aa2ecf2c6f6c7d69756d535fdf2c16b6dcebe9b6666df3825716c7545ea358430bfde7cf4d13ff82979bf5ffac5e269394bf35352a2aef4d580872c011ac2723dcebea573a65f51342925da34b883e8e806b0fd58ad37fe52821e80a2c8a2a367e5bc82e1c5e3bf2485690a8542a19ccfd979b0fef4924949b7cdce9e9511e796fad58b3d921c20c2edd50eea757ba0c844a3edd64401483070013ab892cb01f4ab8471a668f4bfcb93250ceb2d8ae1f52d67ac0852f04d8c8a989397fedec16aaf52b2262ad1fbba695f79e30e479fd3ed999a1c392d23916518bd56332337130a88ecf1ca098752466714992104405e4224807d558d8aa2b458ce58bb6db969491ccbbcfcc08a6b8ab2ffb5a7eaf617b69eaaa8703654b4db7a7b05a930257ab4750dbe3eec818593b63d7ce59d97062a79df3a25f6ff2d98b4ed8b265fd57045961445f1be58f4eb5fbd62d5b2d99f56b4f8eee05de576ba056ffc0d69b90008c3a6c547cfcdcf7cef50edb95798a6502814caf99c9d7bf5711fb9a2f0dddf3cf6f1c1139171894bf253013cf7e97157638510d37f2a0f16d21e38bfb39a8898ddf53ddd4ef7aaa545a74e941b13270ceae0e61a150050400861bc1a3b8410c20cbef798709a0d3b0ffce0ceebee5c34adb5a6323a32e2a9fb6ff9d7a6cf6d13a3eccebe2d476b842e0b678a6475c6e0e7ad56bfba8de175f6aa43a2adf3d4fabf359ce95c7adf8f664ec9ddf47f779e6aebbef185ed1f1c6d58bd38ff075f5b1ec1ca372cef17b72ececbd8f0871f7977d85f679d9d19f7b36b8affe16c5972e9d73292e23e3fd970cbd239b327a6d85c02cfc83f5a922dbb933dca9cefacddcbea8e396aca46559737d77a2f893ead6cbd73eec4ef2c2d88d2a2b173cadc9c24af92b781e70074d87a359ededb8af20140148696b2098989306348567c7007bff833ba7ea5af9b972db0bbdcc1e2f16f174cbcac60825737bae2e8f1eb16cff9dd4d73de3d5875e58c9c0085e9b7a7e60cee396b4ade60ace8c8a45028940b3a9d0378794f754777cf439717deb47816801e97f0e74f8efe67dbde3e4bbde84cf299990589707b3fb19a9e3ecf77dedcfbf4b5d35f78e25b004eb5753fb17e9fddde035f41499f837c73f3e99633dffbf7e74f5d37e78527bfed727b769d6afeebbee68d8fde5072f4745f9f5b72daf56979215fe84f08a3d1315a3da028b20445467f9e5324b7cb2af4fdf09dd2a7bf5afcd37b6ff6889257dc3a97f4674ac9edfac7a7e5317aeec6e289cb8abe0fe0b38a9627ded9fbe8a2490022f4fc6df32679f7740a9e3fec6d566469b4752992c845c478c375b0bee387ef943ebc74f2fd97f5ab727d56d1f2b3ffec719f2ebfe9f24b1eb96ad62357cd7a77d711af6a386187de3bb676ebeeaf7d65f1c3cb673cbc7cc6d00e0ce71bffc116f9dae50b36941e73da6d62af4d9f96f7d6c1ba9468d31d7327fee4bab9a2247b75a33b8fefcd4e4dfcd68dcb7fbef2125956bc0ad32d873f4f4b8cbbe7ab97fbee99e9a3304d0861781d1d9f140a851226e7478265501f576fd0b73a155912455b0700434681363e5de86a5311d29e7199c7de39b89db09ce4b4050ba29bf3664a2e87a3ea301f9762cc2c54444ff7914f59bd29a26001809e13bbe5bedec8e94b148f7b507499859c1bc9b5b949a7add7d375c6ab943c64aabf76b52289dea50259e8eb39b187d168cd7933658fdb517334a4327ae65446c33b6a8fb13a83696291dcd9142574f6c8bc688c157b7bdc671ab88818ce14ed6aaa82226ba213bd3a898c86d7256579af694651978f0abb224b9eaeb660256fde1c3d213dbdadaeda57355c131967cc2ab455ec5724317adac238c51e282b6e8ed6c6a53a1b2afae3cf3052b7254be96871a1c72d79badbcfbdc2348542a1fc2f734148b00ceae3b6f7eb4f2b44a3d525656ae3d308c3aa0b6913e2bb9d10c2aa0aa26b0db2dbd5afa54d0808bcf2ccdec93aa3e121cb8461197fd1e513bd51bae46cc96519544af69de5fb6a570fbea70500abd5138d9668b41085c1e97bb032ba262a4172da07a6b61c139b6e6976099d16749c01a0894ed025650b1dcd84e320cba2a3ab7f479d419f923b28cb18665dbe2aec8461395525ef941caba204a8868361401846a355584e61b860597110060ce7db2e3298f23a0b678a94dcaef3a2304da1502894f33c3bf732a88fdbaf5a3f201dad4892aa90b6afc0767f09aac2de0392cc0387bb07d5a3072f1d08218112bc0c2bf6f6042825f74fd0d5e48d074bf6aa770faf8caec8927707afe4b357745cf6080ca7219c86b01a45120345dc7da58e47535750908394bc598dd7a940d5704ea3889efe50abca8ab3eca0e0ba37f8b2470020f7f50e2f1effe5294c5328140a9d9d9fff743e9817719ea442032d09a1943c66bfc6269dfe25d5151ce4f1b2f03c2a4c5328140a4de75ecebf40ea85731e1fdf99df98a5d3cf595de365e1795498a65028148a17ba7449a15028140a4de7140a8542a150683aa75028140a8542d3398542a15028ffeb043ed97eacbe95068542a15028940b9cc28c643a3ba75028140ae5bf0a9ace29140a8542a1e99c42a15028140a4de7140a8542a150683aa75028140a85a6730a8542a15028349d5328140a8542a1e99c42a1502814ca59716e15d53cf6b73f6fe8020330269e11245190001105b37216c669c22940f248d0b0ecf98e9abbd3f24e1573ebdc78f6ac8d947aac6b2be49be6266ac32bdc17674f4fa37d48253d363e2a4ecb009e9a2acbb14ec1603217e7c58717d740d76ecc95dff5ff371c7bc69de0e05028140ae502989db39aece4a882e4a8e969fadad39d888a9a9e1655901291a20bd30c61eddb478eb9cf7fd424a76d4345b7733c8c74dbbb3754d804bfc2bb3754748753c0e9c3a79eda56f35a69fd6ba5f5cf7f7efa70b704b9f7957f1f7e724f9786674e1faf7df0cd63759ed1bad6bda1a2dbe9b46da8e8b6f7ff1bae3de37fd914141c0a8542a15c00b37346376b4aaa376b341ced98323579cae8e68eac86633417c2fd01860060cfce484906cb40ab092cca9036e9adbbc35aeb38d182d52b672f340d6d6a2bafd822463c7bf7e438004529a67f95fde754efa3538ce17be6adddd9520d806500c014ae3de37ac1142238140a8542b900d2b9cfe91a80471efadcd5d4f0fb6dadb500a05b7de5e485893ce039b8a7e20f554e00c9b1f13fbc22b6e4fd535bfae46d6f1f985290f75091c1efdbabb293fc33a8ddd2faa7ad0d5f8800986b66e5de3a258a0dd83837ef8efc48b7a5e9d51aa4d92c6f5844805fb5244b5f7bfab90601c09269b9f716c58896a657eb489ebbfd85d37d000a26a47defb2543694d931ae57def5353252cd2fd85b9a7efd49732d009d69d54480f35b4b76b737fde508f966a1f2660dd29c96379a45004ba6e4de3b2bc62fb1c9bd95a26e8e5676bb4568782d03003ddd42c1b4ccb8fe3df8cb8b740f9fee96a618070f1cd9dff6a6bf1c21f716f8ac36b437fded08796859c2b1a080ab7b37aac80739a8161ccff06d4da1502814ee423042ea695ebdadf58685537f91ad6fada87a74f331f3d766a6359cfac369fd33b74f8947dfe60f8f3dbcd3f4f2d579f8a03a73d9e45951baf68a937edf7e6a7e6b59fc50898ed6fb37375c3337ff89fc48a7a5e9fecd955189b3aed69df16efc619e59e8b4fc6c6385832dbccb286cafb2ce2f9af4c695118de5958f6faf4cceca7cf5ee44a1a5e1fe4f4e2f2988499784ed15d686dccc17ee4a34787a5e7ba7e2fecff897278532bbe8161f2355fd9a215beeffa479f9dc825fe49b6d96a6d59b9ba1d3fb45a3cf75b819ae02767b95b578cac49797c649d6a6fb37576565ce5a1ee793d09dae2fe07cfccd03de4f05b9993f5c9008a04b18ba4aea13801e9713300f162e8de46f9feb70333c0524c09ed68a5301017f63b6a0e6dde8221fe8a0ae3d38381d4155fbb5358542a1502e9027dbeb4eb42131f3e66c2364a4e5e7ae8e12773438599681e86aeb11a0315c7dc3f4a70a4c0693c1c831095106b39609fad66f3db9a6bc05b113eec88f64017362dab30bd312210f6ed4328c392ef989b9a6edfb5b5c90819855d3a2583099931393c1dd333f510b985392aee1181700c840c4c30b12cd0c586de4aa6bd2d0d0d6ac0040bd8ad97dbe46aafa5557d182c409abf2cd2c109d98f6cc2c1344d9bf4d084058c840d43767c519189813936fe1d0dc2bf9eee5b4b92274316b6e9dfdd6dd73df5839115575cf9fe84dc98868ad38b5d32200b05b9a1e3fd1078ef15fac1ec9dffeda03ede18302aeeadd28231fe8a06a70866f6b0a8542a15c28b373f01c2c75b7fdd0c8ced80000200049444154ab6e7043414f5ff4dc494f3aaafeb2f1a80d8830453cb42caf7f891e00109d1bfced1022982593a2073fc665a7c60195a7fc37264745c0250143d94b96f55c444affed7ca2e106d21fa7350c1ea6e3803e9ba80f65b637a49ed07eb92539397a683a1e1da70f4ce7fdc628c9a93103b36a590078ffb46c48c97efe96febf5953dc771658577fd1f5d075b9bf9b5bf5e8e6b2e70070865b720deb4e07173eacbf21880a0a38a7e6dd2822afe6a05b50094ed4b06d4da15028940b259d8b4e213977d21f1744793f7635b5d6684c5d2d1dc68249cf174172f7557c51f5cbf7ab9fbb3b0b8037fba87deb9331206e6f723c90abf37e683a517dd49496e3bfd1deedb089c14f599181882843eb17a2c70df467740911e0bd4fe24b6a667bffd684f68bab41abdde333c976830bf140204b86095a4de9d177f5d98f4e33fb6e74f774f7c465be7577ae24cb2cc3d4ed3954929e6a182ef641fe86a03b28e08f64a9b95f339ac80739c8412538dd23b4358542a1502e8cc5f6f49cd8d6aaaa7d9d1200c9d1fef4b6865a8974d6d53dbeb9c109b05add84783d204b20108513560180dab74364e625a2a1e6338b0780bbc7f2f4c10ee834be1be1ee79657b77c1b478537f8e1e44510b51f7efcbba0100c2679fd6d962e326b00090a666367c8c54f52b333f11cdb5fd66383b5fda6303379656309ab8c365b5277a2400528ff5f77b6c4b0a62d0d7f9cb8de5279c32cb30cef6e6c7abc43ba746051f3bacbfea04073c49d5bb51463e00d5e0a8b5b5b46fc789b7ab7ae900a65028940b68766e48c97c6a4aef531f1dfc33078828ce9fb83245c3c6e62e79bff29e7fb57a73ea9d9717c681cd4ee1ffb0ad6c5ffea43fce0cfe76086ddc84dfcd723dbaf9f00b0080e2fc895726b22cfc36664f98f0e3a248b458a1f3b9bbcca94e8899a8daaadbca6500d045adb93195b55643c7e8d5cc06e42123e7aaf985b43545f6c7fbcd606e288aefae821450a18e0124df07e48c1cbafd77499a92fffd8ee3bf7cffa0f763f19489f7e61a58a47f37abe797ffe97f3e6ef9ac82853141d70a23faab630039e0dfeca080a7a7f06ade851df9a633c10eb2312ac1c950696b7957a3639fd673331dc1140a850200208ae2373f3b56df7ade6cf178badc12a7e5cd3ebfda763afbdc60230c9ac10c24c912c07a7f121dfcad1fb264777ae05fa0fac6d0389baaeff99c79f58e6c38052748b441138ed9be46aaee008fa7cbad180cfd3f301b3392c763734b5a83cee0538ee4166c1e3960e3b8a0127055efce32f26ac119a1ad29140ae57f8cc28ce40b6e76de8f4613ad094c9606832ee0d62feb33b70cfed67f52cd9a4d6c581b874381280980d9c06bc336dbd748d51da0d1446bc62166ac6aed5a3efacb792daa4ac055bd3bcbc8ab056784b6a6502894ff6d381a82e1d146c57f7f096ba681a05028140a4de7172fac296a9689868142a150281734f46d99140a8542a1d0744ea15028140ae57f329d7b6aaa9adf2faddb59d5690f7a65597b93e548bb8a24a6e491a45156338643fc0eefe97c7beb89b72bec676ffc3946eab1febbd432aca4a95457dbbcf160dd9613d62e397cdf01c0dd69f977a9d5d569f977a9551a1f6328140a8572f1a573e1fdf5879fdcd30e1e6587abee7ffd58a5ef99de61f9f1b6babf7f610b3e6af44ae767298eeed9bcb96a9ba89f12a73d6be3cf3523c9844b3b371f7c7ce7995ee0f4f1dad5af9f6c92c3f17de0601f4174e7381843a150289471e05c3f0ae7b634ad73e8d6dc353d93018a5292fe5db6a74d9894c17b93e5db1beb6c40b2ca6fb1c7a0747e96e2e8ac46a77b6879f614e6ec8d3f87f3f23064c2a5ced6e72ccc635f2b9a610066a598fe55f6ca71fb4ffc5e16abe2fb207e82e8676d0c8542a1502eca746eef72454c48cdeccf137c5e2c4a07beaa3978e23d63f263991d7f0f98527b7ac210111f3f71f4b979774cc4f3ef9edade2747bc75a07846fe0353cc6337de2b311ea4986e865c73a2e6b7073b6d00c0afba7cf2f2349d9ab0b78ad4f71834d47d69adef406cca8cfe1f71f35f996578b0a2c73dcdac1d88b68fef9396c11260a4db5f10fd2c8da1502814ca4599cee3f2273f97cf009eb676675363cb1f2cfc63977200a4cea6274fc84fdd35417bc01a788cc63ca288f8b888a3fba8714fbdebea3cfe83eacc6593e746e9ceca78afc4789062faab05f6270fda1ebbbe784624db5655f3f0b6d3c5774f4690b0f7b36967c253191f4143dd975ebb589c35f4227773a219075d02a01d88f6a0ef459ed66f6d0b34d2e023883e3641770a8542a18c3be77e65986101789c259fd7be586e03383303c0f9da47cdcb174e99c440ede935664411f1711147f751e36ec5c0e106bfc5f331180f55c5f4363eeafb974f9e11a9913c8ad6a8079c163782ed64c353191f5943ddef128e4b89e4073f692323b27521a26d8e0e36d25710bdfeec8da1502814cac5383b973c1e6834ac2672d5caa255900f7e76e8c91d96270d4d5b10f34c12d3e5ecb33a659be8ec7247466b7defb72a1856447c3cc5d1fb75d07d6a3c4be3d514d31dacc6525175dbb63e705cb64e06384ecdcee894b054c6c3d550ef77586ce91190d6ff1a55778fadb62f608f7edf599dc67220d0483fcede180a8542a15c8ce9bc62d7914dc9531ecdf76637a6a820169bed2d13f86493e3d9921300da1d32d0fcf467f8e5956901efe81e46447c1cc5d143e8a09f85f16a8ae96d872bde10939fbb3d255ac3003d3ffe57b5a866e79a2b62c251191f85863a603473874f77634aff1285dd62475434afb66765a98a917ed737ceb3358642a15028e3c2b95e6c8f4dd01d2eada974c800e0b1afdd6e4dce8dbbe2b2e97f5c59f4ab9545bf5a59f4782e179135e98f81b97c0411f1f112471f54e3368fa7f12a8ae9c90c922374d11a06103edb50510b4052b1b33d4c9571750d757551f0b4dc2474346d6c1100c0d9fdca41e79282b850cfaa051be957d4591b43a15028948b72769e3425ffbb1dc79f5adf2fc89d9c98fc9305317e133e9631aacc8dd91144c4c74f1cbd5f8d1bc2f8198f60c5f4643ba3ffa8e6b6aa1a000559c937a0f59725752f5f1368e7acf8bef054c65535d4e58e56c736b86ecef57b5600a6c46717d81ffca4ec0dafbfb9998fe4ea548dce9c9a166ce45fe70f09a2ab2abe8732a68d2a94532814ca97c6f9d13b973c1edbe8d5be4714111f7f71f4f1303eb462ba64774aac8633f8d7186c67b82ae34132e1473e3b5496316555b65ab6963d5d4e89d3f0e611dc5037d28f2f53d09d42a15028aa5c107ae7ec98d4be4714111f7f71f4f1313e94623a6b36a8d4186c67b82ae3818679facc89d766eb42f8ab893685e386ba91a3378642a150285f225420f54be7fc29a66be6cd4aa3f1a75028149ace29e3b1144115d329140a85f225436f6c5228140a8542d3398542a15028149ace29140a8542a1d0744ea15028140a4de7140a8542a1502e72025f2343a15028140ae5a223f0876ae7e6ad70140a8542a150ce8680b7c2d1c5760a8542a1502e7a683aa75028140a85a6730a8542a15028349d5328140a8542a1e99c42a15028149ace29140a8542a1d0744ea15028140ae5fc72de0452a55ef98b1e529842c2d9f9e451f1641ff44666f95486050008ddd2c7c764731abb24eb6caf4824511124c26bc10659b8e5a82cfa6c351b494e169b661c4de13679cb71593492af4c67f9818de368fc88410e70010034e42bc543c68c7bdcc24438d3ba796775598ba34f601353e3962f9d5a90c09fbbee27086e89d1ea39f6eccab1941fdff0456fd1e299c5c9434349ea6c7effb3264f74ca8d4bd3f9f334be843375ef7e6ad1a4a45dbf28951da7200867eadefdb425b2207fc5b418bf72c6eaef680d18af563bd7e7ba2fd3ec8b2b266763ad64d9f5e4dd3fab8abee677af3e9ca505dc96fa7d473bbb3dfa09932616e568c228c163abab6d386573f7824bc9ca991967fc6fd3073f6ffe9c3a2aae0717563a77cb2555b20d009449b94cb6160024a772c8a244e8b124eb2c0d513e2df1ec76e3f66bf93cadffc9ab472e6d9103f6de5e21dfb2423339ec8c2e38e4d216195ae6b2e9183cd38d9ff123d5aee602c05c568cb34e3321e3160edd95477ff056dde0476b45e3f18ac615b72d5b39c9784e7a9fb0f1d9920fedfc238fad28d09f55413d4d2d7b2b5c51b33dc53e43c9ddd55a72ac0d60af3e7fe95cb4b76fad684305bb7c51aa799c8220da3bb75658e323b2564cf31fa063f477b4068c5bab9de32bab2fd3ec8b2b266765ed89f7ffb4b1e264deea9f6769e1ac786ffd0d3f1007beda5bf49dab5e793871d81351e3fea7d6edfff7e0c7cf77227fe127d74ccfa4e9fcac387954dcd72cd73b11175e24db6a25db400a39d0a864e71000de2921cf008024831dfb2c97685800441b7c7537700179c94c2ecf006bb3b4a1560194ba2e65b291845b3c1b72e378181f6eed93b3d9d4fe13ad22b2cc78e498d0711b99ce37fb73b9e9aebb8a3245ebab6f553402256f1d5ffcd4dcb873d107190d0f80d59d45202449665946ab536960c3c419bf5e9d0badde7cfe06b6217dcaaf56e7b206a3d96f6e24b33c33f620b02c001dc70eba7f76fe8ed6807168b5b02791be811a79fbf933fbdcc5e43c5b2bd66d5eb307c02d571541acdee693cb01a0ecaf9b7e3be5ee9f2c0fd53652c716df5ceea562e7abb3a73e9578712df55c68e95cab23b9596c6e977c440a6b1658563df456f993a724570e3778612774c91f6d130f75012c593697bb348500106cf2c707c4435d001017cd5c358fcb3642b04a2fec92e273b95ba63280b26fa7b8c78e954bd9439f8a954e00cafa8d426a0e77cbe4e0fe402667316940462269a8f7944bf076a3a6d3e2c6e372ab1b0022cccc8ab9dce428083679c301b1bc0b00921399ab6771b103a5f0404fbdb8f684d22b61f114325ae35fd9271b6389c125977701204be6714bd2080057b7fc61a978d20e003999ecf5b358935aeabda4984d1bfc242b1f7deca99270c5a59ac208b82cd2cbfb254d2cbb6a012b0595c6ab569da4bcbb25206ea4eca0f8599d6203c0625a3e77dd6446ea96361c916162ae99e5b7b66fafac3b0c00ec5d0f5cb6389901621ebf575afd5215d079c685383deacb8faffda4aeca2e01884f4abaedc699f942cd33ebeacd9971a69e961d0d12a05f79dbfc159302d387f34ce35bef1edfdb26006cf19c82bbae9a50bef6f30d562971e2e4ef5d955ebe69e77b350e5d6a7a5273e3e10e00ae17ff5492337ff63d0be2820eccd6365586aab1bdf2f8dfdead6974c33821759141a5130b671ade58578d94acfb57e61a10e4ce75395f7c70e8a887ffda1d8b8a631867dd17bf5b5fafcb9cf4f0caecd620c7a725784a3795bdbfdf6a05a0e5172d9e71c7826416103a9bd7be5fbea34100909b9f79eb3585c9dd556bd6d5a615e664d84faf3d8607efcedabce1b47642cebd333d7f5b57af4d8de4add6c31d12b4a6bb6e9eb738ddf5daf3070ef907c1cf85cee677df2fdfda2000489f907edbca197991fd43a3afa961ed3f0f6d6d10a035dd7af3bc65138d01fe0607d31c6cf057523e7fe3a0bf0146554f070c6a0f3678182307700597293555ae79bd36ed92d9f72c8a0384cfd7eedc6cd5dff7c082b43395cf04076aa2516852df1e2a4a4253a54f434853a251d7355c9c55da51cdbc6c3ec897599a7f871713af0be69cc4988e96ad0d02b491ab6e9cd8b6fb68498304ad7ee58d610ca5afc46e7cb154b5d38a618e9d2c77500b0edbe2014bb4f5a56f00c07df3f28d3dfb3f6a070098bff7e6755f4fdcb9eaf2fa32e0cdb52d8f2c0f7527d4e3a8f6fe913ae7c3dbe6a4ecfbcf4dbb2c75c009bb07ff4de9fc3c3c0a973d89bd74323b7f2211c248e752a75cea0640562e60230038e513b6a16f6d5df2211b49360092b2758fa7ac1770c92f6c110f75416b263906b477c9af9578ea4548b2d22ec1da379051ec8acd09b702bd81785768789e44a84f34954f768a1f958aebb679ca2500cc2569c4d522be74486e7563662e3b330e36bbbc6ea7e872cb2f6c11cbbba035900c035a2df24b1b3d67e4fe64deda243e73406e752a85455c8171d4c6b7ba95ea16b9dc4992b50094edfbc42619924dfad356f1a41dc97124438bea3ae9d99d925a50958ddb3deb767ad6edf4acdbee29a95592b58acda9ec392d03a8ae91dadde0a309ab569aa05a3502e3d6765cfca04eb169c9b2422603283f21be55ad484ea5bc5d29af53047f6b5a6bda01c09c3e3bb9bffbf16905cf3f71f5734f5c51a087b3e6f0d3efd654d9b16c51eeb289bcb5aded2faf9fb08b7d5576d7e1638d3bbaf4b96600aef56f1daa9702ba4aede3cf1ddedb26e44e8c9f6ac6e1fdc79e5cdb54bc7882b5c3757cffe1e7d6eefccbfecec60e5cb124d914c51b00003aa33e4ac7a81d58e70e51a3d05af9a3b76a1add889f1093d5d55c52e1525b94b61fef701daf734a5073e7cdc604a360ede8f9e4483b808a43b58d76419b1c25aa395ebda3f4c5fd56ab39e6d6ab264e85b063cbfee70fdbe16a5df397833b1a04636ce4d458b6aaa2eee9dfef6e14fa1aedc2de3d5fac3de6024004675587eb78b5dd29f655d95dc72bda0e0ba6e2241e6ec7ebaf7fb6bb8718fd83e0e780a379cd5f0e6e6d108c4931c5b16c6343e36f9ff9ac76a015ad0dcd5b2d7c6e2c0bb763edeb9f95f6c8befeaa06530a36f8cfc7a5483f039a553d1d5a1860020d1ed6482faa658a625fa35b687278fa6f97581dd60e479f045135509d72a8eda10c1045df862086c8d0710ed58e6ae6a9f852de17664cbc2e1c2eabdbdac5a66b0177cf2b6f1d2e6960d3cd2cdcaef56fed0f889b4a23fea73355add3b2e18f1d04b6e0082dee4fcbe14300303f279683bdf2180060f1bcafcfd5683367dc75a777f9bcb9b137d4e1ba94bbefb973d7fdab0e2e3597bfffd133273aeb00c0706582eebf69adfdfcdd3b17c29a9aa3a64a028038a63085ed304bdbedd8572dcf2a660607f94337703150766df36cedc2ee4a3906523ba08d66bf7f39cb43d9feb167bb5df9b44abed5efd91d781337c7302b9630fa4dc27627b9f60a4d46886b9b7a8b5c3ff4493e65558a4dcc758544d29169a9a4a9423ed4ae0068a990da0144b3dfbb9cd543d9b553dc6f87dbeba65d7e651f002c5bacb9349eb82c63325ecbfce05acee496fff89168039c1e3455cb6e202291bdb198418ff4d21ed96d91ebdd6c76d03da4d67665505a47abc7f7f2980ded726b83ec9a4e8eb600c0bc4ca6e9a427b8b4c62ca252b51418b7fac3fdcdc9e9984b0a49214b9262c1b3ccb26c88fac0b57d8e63011853230dbeebb87cffd3315c74da7d57194553ecec9c88ba7ddd5b6bac433b99539ff9fe2cb3abf9f1df1cb442e815009f3b70f507ab7b81f8fcfcafaf9880f69aff7bbda6b7e254e375cb7f7595f5c79bac872b3a012cbb7951718cb1f8aecb0ccf7eb4be437fd77d4bb259d46e39187ce0e9a244d51a9b8ed50330e617aeb9351be8796dcdf61dee90f738587577c8f405296fd6345695b53a976af71d93007ee9b4184e10831d77f7794fb492c614bbfc2b9ad99c212d4d5bbf777f238009b96bbe516040efd6b5fbb6595977fff99fbff5eb8b96651a9d7547fd6c31a7fefafbb3e2207efecfcdaf37485bcb849ff907c197da3d158d807142feefbe31898750f28f92f56d8e0f0f76de9fe2ed4049bf7e7c6e1c84adffdcb2b641da5cda5e9837e4af6a2bec8e66830cd62efedabca4977c5b41c5539f90c6ac0c6cb56daa467e6fc1d050578d1e6c6aa7029f3ee617a88396a23cf5edc918364a030d01c82521e25cbff78bd0ed18689e9a2f0919b352c289c950c37d7f6edc99caef3e57d10bfd433f583e4d7fe6374fefad82d4e77f36566bc4aac89b5310d469ebf7843d76a4e0161cb6c5032e9105170064c5b000a3ed9f834b22a08539afa07f1f510c994834c6e82823809ea697aaebeb06ce443c40d3f939439677370200daa5e7b7c9ad760068af95acc58c7749392e83890100926002ba007960b9414f780020394964bb5de9ea0562fc16233a874ec1fd2bf9920750ef4be4f6ab35797a004ad94ecf07166c2e978b1790b626b9b44bd97060e80cee9d176bf5440f00e4d2859a4b0197c5af8735f700f1fd7f8fd6f88804c604404b72b538e40607b47629006c16e96f2543c351ad479395cbb9495a787762358407722057bb955dc7a546006676a21e874397165c7540dc32a6b0736d5269bbb2f98008002cb966319716c15c5aac7a892401e83d6de9466654ff86f6d79e3b7c1afcb5772c9acea3e9787d4943c52bf0b951010088cf493603d0474d3763ab3da0ef8a8d4d02006b45c58f2b2a7ced4f9c9397bec9da0800f1cbbc0b230341120540af7ea014b24616c0a2d9de7b179197ced4efd8e31aee76b39a3bfacccc62341eb65bb6eef0540248cac8378175a8ec99b5b07885e570494dcfeb6fef0700ad69d5d71393450030469a0d00605c76ebe5cb80fefc3d21fbb24c9505c7f4c2097100c0e54f8d418315624010d44c8f34f000c017e499d6b7392cdd6ea40040faccac3800e0536281064094466c0541cd6040a8f431205bcdd30cff26563138d848df8540b532fbc75fffd5a3dbea18315021b673c345c9a72142c6591aa61d83cc0b119ff062e235c9a43300888a4e01aa6213734c00a2a6c5a2aa23aca1c44d08eeb4e2ded18d1d3f6bc368f1402e9b92ad0564b7df2cbce7f8e1fe6738f421af06da4faedb55d7c27179f316be7fff6c6bf927f7edb3d4c1f68b3df55fbd322392a6f37381a371685adcdaa56859ef645739d2a25cca02407b9bec0063026c016754a93fd9347529008c03abe8ed564502585169095a1b1043df41e1fa53d2c0e36f4ee5d409a9b40b71e9ec5db359b64dfcfd1e195240d5ca271f7b763bc90d45de07f7c8926c6caf524e1ef19425f0f9188bf1fc8085e6813f622209ba94b84cee5bb31849546a6ae40e1971b2d26451a021c93143cfeb711ac26b866c04c3cc494775a3b2bb420130398fe1439416cb2aaa5507c4cdda81f86466553113252afbcbc5ddedca863279da62e64c47bf25bec7651466604f05dc6d6fee39b37a410280dad2933b3a5c004c26a666eba1920621bda8f0bbd764b375871f7ebd11032b813a8db72534912a57d55c7c128f0657fa9c594f5e952c09ae8a234d67446d028f539b8e360eac13bfbca5f5b1e5c9fec6ab1f18a7e951ad51142500078fb4ac9c9809b8ca8eb946585edaa1e60e1bb3a4883f5ce6faf0d36600f317a4f3c029b53dcfb4b89226e53c7175728cbb7bc7d6231fd6385e2939fd689a04001eef3ccef5e13fb67fd8c53f706d1c80f4b468d58edc58d9ea5c9e60002c8d3d00fa46e8f9bee5cb75cd2e0051030ffd3556b6da9727982177d9c26d8568fba960831f5abdd0d7008b9aa7b3bf3129b8a9070c1ece482faa654e5d0a008db5ed121258c171da1d56a0d4b60f674070438c1467bf760c362f447cb2461113c137db0e9714d487923eb8d38e6eec048442dda3dbd25a2dbdd0ead392fd4e36227a017cf679b9f38ec9f1b32f033e073edffbdc96d86f241ff8c73b0080ab12d37452f3aebffdf3933e976ece030f2dc918baae75b4bd535d7304805df7c69585b17de250fe0b75084de763a7acd4d396c0adc8f27b62fc78b50c2022857b64417f46ddb74dd8dc858335f27cef0a98537e769b3895550eb503c0ac6c268d53b4b592db223dbf47992029a5ed00b0288f616d3200d8a5d7f6289a0eb9ddf729090980b2bec4336332bb22277836a9bcb649d00290e01d5919598ca14f0114c1a5b4344ae5e5b277ce9692c30c569d22c887ec0010efbd64d69285d339ae4dd86ac7079f8be97346673c6cb26ad0d2d309ea94f63af11d30112ea5d4a280657223a597f6c860991fdc30f8e34e65dd46df9b63e4ff5dabc9cc66d1e81dd864760a0955dab716846c32dfb84dec1037340235ca75538877b6161149a4334396f83ea0c726e7ae2eac7dee987078cbde7b3fe7d379a1d10e00e90b0af3789c020ba0cf666fa8ac3a50d2e83b3b1f9ecc8214ecaf69dc5ffe2abaa26c2d25152e6853a7a4387ebbdf01e8575e95b863535dd59efd25792b56644a1e0180ebf967b72cba6cd60ab5039fbe4dfd498acc6929d85f633d76f437e8cce8b16cb58f6897ba3b3933335056e59d342dcc3587dab3f3f8d157ca24c45aefbb3cd17b968e4f8ac8999563dc73acb7e2d86fd67767382d5bdb042032c91b625152cb184047ddd3fff4cc8f757c784c00b0685a2ce0178495c5436bd4193ee5e778da4b6a24805f312701edaddea29efc67df7c4dcfd61a09c092a278b8cf0cdf0abf7920c7b837d0e09448a9cec780c98d2a9efab7bc9fc1d78732d2870eb5e8e9bdb9b8adead9f54ebeaeb931205ec18112cfa86ecf300c1ba5a186082bce836149f5b6639079aabef061c6a4bd35cc4c3e4c23ce5a9019dc69334733760242a1dae2624be5d3af37429bfecce3c5be8fe74525e6029b61170068a77eb570e153c776c2f5cf6ffde79f038b9dbffe6e8a16ceaeca975e7e1140eaedab7d2b4ecabd09278e00683e7ae7cb4707375f392925d25da97e087d146e74f043575f4a7b8b72b24bf1bf84938f7601c09cdc212327e73000dc1679687addd57feb7ada146e5e0cd80876f502360e686d914b2d0a5872e542cd643df84476593400d4b7c88d2c891baa9ae46511006eb772b2dbff34cc0c9d11dd12dc80564b66e673774c6532f29864c0d62eaf3b2035b3c43b65ef36b0abe7f5577da81dd092954bb93866e8caf8d24bb938006ef9fd7a6554c6876a2b7d22f7cd198c16385927975a1418c8edcbb908af6b5ab018ee27707c3c33530b00da4426431bbab490ddc42f6e79333597c41138e50f0e48a55d883033371732f0b124a0d715afbce29145f14600eefe5c5ebca8f8f1e5c90026cecbcb05ac35757f79fb8b6a5e0f001db67631f8e233b05443e6d49f7f35dd0861effe9a920a1762e31f79206bd3ab3500a62e2d5e3167fa7d8b2201ac7ff560b3a49f3a3b1e40afdd75b0cdad72e0eae248a8d7c8a74d7d62793c80aa638d5b1b906e1ebac13988d67b1dc523943b56017c5afa32330018f3b326ea43ee197bf9c2af4ed4a3a3edc5b78f963408f149e9dfbc2c998dc9fef96db9e95e1b6a049863563f302b56f5fadcc87ac3648c8dd4599a3f2ceb01307fe99c15693ce017043f3f63b27f7e577ff925152e684d777d7dc934934f1c1adab6d6b8002c5a7ec9e264ced75fd560c6aa191ce76f40c10a154f03fabbeffe23190900aa65f29979b74e60011c3fd65cc947a66bfdfa925aa0d4b78f6000a76e76609c83c29212c2bc10f1194d4c063a43c8673d86194aab8ba3a0d269473576104e8b7b6d34059a9a5c382f0fc0de0f8e7700889cf5dc9e99dfba6ae0cbe289cf6eb8f6ba1c00ac3e46fd51b8b45bbeb5f285d99c5bef00002000494441540c43e65043273e7cd39dbf4bd7843ce46284288a5f123d56df7a917920c3e156782d09f839a8cba5488049ef37dd17dc8a20076e1c332e97020dd1732adb83ab3e7be387bb2be152c01093767c223ae6d224112e8fc2aac52404a2dde18104ad49cffb0d5fd9e97083d71af8315c6e8a768707acc6ace7bec40325c1ee92b4fa00b30140729c79ffbd2325352e98d39ff9be778611be3bea7b4a82e8143c6ce076d9e9704b60cda6e1962f9c75471f7ab52e7dc1fc9f2d8fb33bdc2caf3784fb0050e8f225d1eef278dd57f337543047363884a7633272d8320597cb2df91d152a50230530ac5618ad0bc1e68d263e676fd26847c498075df82ddefbc1fdb93fd9829bfebee7a72b06b2b2d8e7764363f4fdc140effee71fbc77cde69f6caefa5abecacab9a7af57025856abd170611e72215398917cd1dc3b0f737d4135ede9d536f25a328ecf32ea43a45b7df8970ba3317e18c6eb02e52c4b633998b8511dcb994daa3d903198c6fc8eab50658eeb812c6f36a97fe36e6e28a97101c82d4a338fda1df53d599e33f3dc18a32449003a5d1e80318f2eaaa1cb678762a5e66fa8608e6c70084fc764e4b065f27a3d1f66a04608e0d9f4d59025a898378af89cbd49a31d11631e74e1b7b871e17d8f62cbefdef9d65bf7d53dde9fc4389dd6ff50e7f17fddbb66f3d58fbffdd5108959a33306aca58d78089d9d5328ffabb8ecb52d0ed61c919170419c1d2497bda6c5a135c7667c49afc4bfc0fc1df7407de901a4844b9fb5b95d84262635f4eb5cc5dece1e362676343f271fc32117eaec9ca6730a8542a1502efa744e055229140a8542b9e8a1e99c42a15028149ace29140a8542a19c6fcecf93ed9d35870f1daf770271130a6715e5687b8ffde2deef9563d99a571fcf557dc841f1386d4e1983b7f909cbebb47a2dbd18a15028140ae5bca47371fff3f7dfbb66f3d086fc47376eb87fbaf9e43b5b4ebef5e96d43bf29f44be792c723f2463d511410025972f7dadc7dba886833cde8140a8542a19ceb6c28d57f3490cb27cff6bebbbce277af6c6c9d73f38300de796d9b2dc4818468747a83ce60d4e90d3aa33932ca08c92dcab40529140a854239e7e9bcb3ce2bbc73dfc6ba6d2f6fae7a6c3e00d4b7d9928b16ce06b0f7cdc3cd2145eefc7e51c7b283ef2b91dc0e5bbbb5bbdddaddded927480014c1e1e8ed139c3ddded5667afdde1187cb7a2d2d7d3e9126445e875d87b9d3dedddedd6ee76abc3e156685fa0502814ca45cbb95e6c8fbfe4a15d87567326547cf0f27be54776ec05802b2f998858fb74e0004e3677f5225555b14e5180815fc9cb6e8743818665a088bd76bb4b638a32eb38c96573d8ba484c9c068ae8b28b44a33747718ad327592b9247824e51882cbafb589d392242074fafcd66ebd3c6e9358476080a8542a1d0741e4e85c6885800bd27fffe93970614728d7a0e88ce580e6c81c3a52ad84da008f676abef366d64040b785c2e7026a34ea3280aa78fd0f5b50b6e51c32a006b8c89d210c8ee80a206a7fabcd1a46300f0069e3825498686a51d8242a150281723e778b1bdefe4d68d9b3e786f7f8d78c786da7d47f73c763d00fce8c9779d037bec3fdea23e3327bc392e3e2a362e32363e2a2e56a7216e7baf028030101dddedd69e8ef6eef6f63e098a579a907043cbf1840465738568065ff9af287ebb5028140a854267e7c356d7b9f7be1fbd0ccc7f72e3ababd323a3a30d938193803038255f3a7b428863090140bc6997d119f57ddd1e19506499682322cdfdbf6f93dc4e917080dbf74ebb22890ab4c49bb995c0cc4ea15028140a9d9d8f2e9d4fbef24900d8fbcbab27a54ccb9cfca3374f02b8ec9a3911ee867d5b863fd6ff613596231025199c4eabb8ed7da2024091fa1cf65ed13f4f13c20c3e032fb91c1e9ac829140a8542d3f95912337bf5c6377f7359fee08605dffedd7bbfbda3d0dd54be110056166745869a9d077c64a088a2ccf026838ee9eb6eefeeb0f674d919adb95f377760f59cf0261d27f7765abbdbad76a7a26189f7ca80842e9a42a15028948b8bf3a6a8e6eeed95c06a8d3aefe367e5cfdf74e79a3d79abdf7ee787978ea53845966485300c13e21eb8224b3208cbd0b7ce5028140ae5bf81004535ee7cd9a135faa823bb8fbdbc660f806fdc326bac97250ccb9ecdf7140a8542a1d0d9f95922f65a2d5611e684d4589a7429140a8542b96866e77e70c6f854236d1b0a8542a150c606bd974ca15028140a4de7140a8542a150683aa75028140a8542d3398542a15028349d5328140a8542b9c809fca11a8542a15028948b8ec01faa9d9fdf9d5328140a8542190d01bf3ba78bed140a8542a15cf4d0744ea15028140a4de7140a8542a150683aa75028140a8542d3398542a15028349d5328140a8542a1e99c42a1502814caf9857deaa9a77c3f9fe9719c835aebeba503b5b2b517e608a20be38ae2e4517167bd5cd78dec04e2dd5de896361d905a6592194dced2184954dc1ec27081973652affcf141a9a2453ed5dcff5f6bb7c21999087e3485dbe48f0f49159d4a56123328e53e8ec68f507b900ba79ae5536794ac64e6ec75e543c52d6cc4f24f0f7f5cde587d864cca88e86fd63375fff9e88bca4e264bdfb9fea32f2a3b99c1af2e282441e8131446c384699bd7af46d9989ba80fda5e59d949c274d3527e7cdd67a7119b946c1e9fa8842a701807476bf3c5d552172ce3def4ffad710b35d6a4cee6f7369d2c6f53f2b222d92f21149265d78f6f5af58f8d9db3af9d1fcd016e4bfdee3da78f56f4b898c8e498b06bec6ba93dd4d2d62c19924cfcc8b14f8c329fdfd9b9b2eb63e195033278549f149f79df53eb1ee908b75c52259737caa51552fdc0ce92533964510e778c833d9f96787ef39150136486d02397b6c8871a87fedb5e21bd54e239d93b9abee5904b5be4430d8ae0dbf0e366fc48b507b970a8513e54eb67ccb8c72d5c5c96b77634ef286b2bf9f4448d6b20c3db3bb756584b765bec037f382fc833c6c6674b1efacd2795aeb0af5cec9d5b2bac3b9adc41dbdbb756b4957cda1aa69b3d4d2d7b2bda4e3b3de3e5498802877370b4365f5c2d75c132ee4dffdf1ab75063cdddd55a72ac6deb0e8bfbcb09c589f7ffb4b1e2248a666769e1ac78eff5190b3efde6b78efce8a1bdb77fe58ddb9f09b7d6ee1d6f6ebaf3a36d7796597ac7e03b77ae8757a7bcd58edbafd5e46981a94ac97b9e4faae407a60e7755d1562bd90652c88146253b8700000b00decb1749063bf6cb12a2610110ad2678e5a2ffff97cce4f20cb0364b1b6a1540a9eb52261bc39e55b321378e87f1e1d63e399b4ded5f54504496e1c7a1e8d0710b8fe6b25aeb4062df79b227af381200586f6858efffc1b3ec8578c660343c0056177e1c5916808e63014892cc0e34b9217dcaaf56e7b206a379c4298224b32ca3d58d5b3c862d703807c3b7f9a26ca90b708161bc9bfebf3c6ea1c6dac419bf5e9d0baddefc658442acdbbc660f805bae2a8258bded861f88bedf96fd75d36fa7dcfd93e5c39ce9a53ecbe9eaed7b763fd99f98c7d4dae73a9d4b4e0506364fdb9f120a33506a1b611658563df456f993a724570e37b8862274c91f6d130f75012c593697bb348500106cf2c707c4435d001017cd5c358fcb3642b04a2fec92e273b95ba63280b26fa7b8c78e954bd9439f8a954e00cafa8d426a0e77cbe4e08093c9594c1a9091481aea3de512bcedd4745adc785c6e75034084995931979b1c05c1266f382096770140722273f52c2e76a0141ee8a917d79e507a252c9e42466bfc2bfb64632c31b8e4f22e0064c93c6e491a01e0ea963f2c154fda01202793bd7e166b524bbd9714b369839f64e5a38f3d5512aeb85453180197457a79bfa48965572d60a5a0d278d5aa939477b704c48d941d143fab536c00584ccbe7ae9bcc48ddd28623324ccc35b3d8a0b1e0dab7b773f0c3dedd75b7154f3784bc046c7ef7fdf2ad0d0280f409e9b7ad9c9167b2af7fb1f4602f7ffd5d8be626c8bbd77ebea1595a74fdc21513f5f53bf6fce3404fceecd9f72c32966e2a7b7fbfd50a40cb2f5a3ce38e05c9be634468aa5cf37a6dda25b3ef591407089fafddb9d9aabfef8105d9bc6bb80385f6d79e3f70a80380ebc53f95e4cc9f7dcf8238150b2355466e5f53c3da7f1edada20406bbaf5e679cb261a858ea657df39ad9d9073ef4ccfdfd6d59b33e34c3d2d3b1a2440bff2b6f92b269901b4571effdbbb358d6e1827a42e3248aa21aa2f3fbef693ba2abb04203e29e9b61b67e60b35cf8cadc02007ef9ad0b1665d6d5a614e86fdf4da6378f0eeaccd1b4e6b27e4acbe2edb59f9c59fdfadf216756592b0ffa46bc9ed0b1727f3dd21b63bcf34bef5eef1bd6d02c016cf29b8ebaa6c6d53a56fe18f3cb6bc40efd7f46bdf2fdfd12000c8cdcfbcf59ac2e4eeaa705b6d96e6dfe1b594d054f9ccba7a734e624c47cbd60601dac855374e6cdb7db4a4418256bff2c6feb8f9f69c50b10dd91023151e1c1973784d1f78e0576237be587ad4c37fed8e45c5318cb3ee8bdfadafd7654e7a7865b6a8167c1547b2dc413d7c84a1a43e480703ab16a831f7de112b0d39d6ce34bcb1ae1a2959f7afcc35840878607ffb4acae76f1c0ce842ea2bc8f5a56f00c07df3f28d3dfb3f6a070098bff7e6755f4fdcb9eaf2fa32e0cdb52d8f2c4f3386cc738d7bbff3fe8923677b15768ed3b93e9efdf6e2c19ea0ecaec5e4e4e166ba52a75cea0640562e60230038e5133ee9dfd6251fb291640320295bf778ca7a0197fcc216f15017b4669263407b97fc5a89a75e84242bed12ac7dfd07daed8acd09b702bd81782f2d789e44a84f34954f768a1f958aebb679ca2500cc2569c4d522be74486e7563662e3b330e36bbbc6ea7e872cb2f6c11cbbba035900c035a2df24b1b3d67e4fe64deda243e73406e752a85455c8171d4c6b7ba95ea16b9dc4992b50094edfbc4261992edffb777e6e1511ce7ba7f7b994d3323092da015096d16ab8d580c98d5101cf01a633bb663ae97e325e6c64e4e6c1fc739ce4d729d134c9c7b9d63129f78f731e706ec038e7761226c0c46208124906423101292062dc38cd6d1cc687a7ab97f8c349aa5471b18b17cbf278f336abaaabeaafabadffaaababba43f1589c71c484e60327438d9206dde27a95df4caa77bbcefeef3bebbcffbee1e6f61bd92ac537a5c4af12919c0c93ac9ee817602c3a9e526a8168dd0766bab163f6c507a74ccaa996c0650f98db8f5a422b9944abb52d9a032b72fb536153a009836ac9f9608a0dd52d121ab7b406ff3c6970e173509c6a4b88278ced264f9c38b5fd64be624a3dbe6e8de53d305747d5dd36b73b8771eb203c2e143369b43484c3536ef2d79add46633c7ddb9367b0684bdbb4a5f2977048da7c53e8b4738dddb3f7bd96debb5b5f7f649182621c71a63b5be9187de6888d5b3ea16aaad67d89a9a8bacdadc780e9ede6d5bbe2ce996458fabb6dd5d7dd2e112fb6a1deef22acbde4e43ae19807bc7d6b2460942ebf15f6cadb3789038396e4a6773618dca949fabaefcb9f7eb6a1d58b5347755b6d6d6d6f6d2966f1c63ce30ac82a2d8677108078abfdd56e506c008033677d43fb9b5d6e24162525c4a67f38e529bc5d16b774952e4e3cfbc5c7ea04dc8cd4e9c61467969d5b3db1a3cc199078517eed68d2f1ddedb2418e36366c473b5350dcffd71bf451871af55f68db0a7445f5b5534147572e93ac0d3fdd6d6f2c2262eddccc1e3deb1b534a437c5086d3b54470c99b96acbb847d0f52a09ffbb23d528d8dabbff71c40ea0a6acdee21074c9b15c84c657a908421d60d84b6998860d6ba8317bef480a8d78ad391cd5edeeea069704f50697c2fdeddfaba59860178a404b7919002ccc89e7e1385e050058b6e0beab35baccabd6df0300f8aad932d4fc39c7279d834995f33d13a263128d0020b9e577b77b8f99b99ba60c25e775b5120024b03353b80233001c3c2907de7a1eff81e691b59a55130060ff71b9f19864077413b827aed3dcb356b3dc0c40f9a236542a7cc2cdb3ec9ae59a822800cc8ddfd3acc9516f8d46ab5c66918f75f6c7b6276c0a67626f9ec9dd308fbf6e3a3b3da1dffe961ac90e6002f7b3b59afbd76a564d62a2a3e0f1b9a0437eeba00c60d532cdf7d298311aaf639fbc51f3c86a3eda77197871faa4ec01a22771b7cee36f98c3ea008f556e545ba469b52bc7acca31ab72ccae1c69c7f43c16406b93ec8672b405001664b2aab959bc6a454ba1ede619b88a783d7bcd4cee8639fcf289d0c6b0abb2d8e5d355e6f68f97d60340f69482ececa54900a4a2c356d5c63f555c63018c93f35ff8f1920d8fad5e9704a0f7a3c35db3e6a402a8fdd6666f6daf0500384f59adddd6c30e007173320d9e3e9f4d92c614bffabafcfb6f2db83e533784a7690666ab8649c8c5ad5bbf62693c00c3fa8796af2b88ab57b7b043cdf9939e7f66e5d38fadbe733207483b4beca1ab22e6d4179f58f9f486b989002038059cae6a0460cc9fb9f181253f7b62f952b51af013d21e5a9b7fff1d0b6e5d9c53901113f46f63c830ac82fe09a63bef5bf5fa6f56e70c24693e720a80317bdaef7ebce4e927962c1c38de18e9f8e1934e20313fffbe9b66df754ba61170d69c38e509ca3c2f20346f3cf0ad05c0e4dc8d8f2dffd9632beecc3725c6731eef887b2d6be2e87a4a97f4fc13ab7ffd4ff94600303cfee49a5fff6c7eae6f1e5435300e6bdba13a62c8cc555be660f9f05daf96b036664e0a80da8a5617ba0f564980f6da597143357e4845a4500718f6521aa661c31a6accde3b8a42c3af356ef05a536d8dfd7bc3fd4db7ec76d56b216cae5d7003c094380e6075fd31b8240280396fdac028501ce2fe93be64f3933fa9bd6dfa92b351d7f33dd9deef85c7bc6f7da36464f1bf2c18721d5796f75b000076e995dd72ab0300ecf592ad80f54d292764b07100c04c34019d803c303e31305a00607292983d0ea5d309c4058d5e3a0635af7f265ff202ea777be6eeeb357906004ac53eef8756ecac940b16316da7e5924ee5934383f7635f5cac3330060060162fd12c06dcd6a02e6cee0612fb7f8fd0f88ede7ee3a327b226003a265787320f78a0b55301d06395fe523878bf51731966dd6afe0a1d7c27711a460be4403ee951beae962c00cc5cb601e591730b2f3aa4dd32a67357f748257665e721110038e686657c5a34bbb8406d8424d97755080050777cd39ba76adb00c0527ccaba3a39e2b2564c941600b4d3f24c3bda7aad5d1ef3dcc9b968ae6d3b5d540c809b91c455b7d93e2feab501c69999a91cb0a4608db5bcb0ae7bcb7ba500a033dd7fdfa40c952bc077957b6c03af74640d9f501cb8860143440b55aed839531200409b120f340162a84a24e6249b011862af34a3c8e16b670ec0d279bea59298c5730c7b8b43a3344e8bd3d58d854d356f216069e72c3254afe0e4ac1599c173853efba3a2380030183d431f172da70500b69a9a7fada919f48548990fdc0d8d31e6280030aeba73e52ac0d5707434bd36b29e4a010098f451006227a400b5f193724c006267c5a3b65dfd2e19deb64374c49099476a99617b4a3d213f39b300967287b568aff73880a48c7c93782072e3ab394950bb658df0528ad0b06af98fd97b475ae890d79a7abb096afe0608c7c35d28022ba667e900d9131485775797f72fde1b74c3affbf3c68b4cce2bf6091f5a99bbd768f386b3bcd72237fae3cb4e45c7f9825de5488bb29803007b9bdc0bd604f484f8b9d42f36a73b1500c6815974bb4d91004e545ac286db62e4470ff87e491a88aa5dca896fa4924e24a473ebe7715c9bf8c762195248d1ca3f3ef7ee77313f98ed7b708f599e853db5cab123de8a89da7c8cc278d380736b072c340ffc888b61d0a92464f28fce652551a9ab93db6524c8ca69ab020d931c3738edc16b18ad66d046b0ecfc749cb428fb6b140053f3586d84dce23945b5e89076b3b5233199bdbf808d1595d24a71bf5df9a4429eb58c3dd3de6f49603ac7f186ea812ba8b64930ea38a747026c2575c22a955e9000c0eb0bcae486663780583d076dc2e26caeb6aeb7a80a88cfbcfdfb9aeab76bf7560900565e350980b5c59d7445ce2faf4f8ef374ed2d3af2515def5b85a7e63d7045c8f0d1526f973091137a07c2c491260cf0990816862f8f1d6f75ac9e6886dc19e17911bdc6e76a9a18ad7f5e570270f848cbbaec4cc05d51a532e35ab7b7acb049489f3df3a73764710de5ffbcc502e1ac3254bd28d2d326845489e73900ce16ab5d4a9dd06d6d1cbc25a91ee71393b46872a7cf9ffbecda644970d71c397d46d42568ba55330f6b58f7477fddf351a7f6911b1346d36b5346d15342d0006358c2db76888e183273f59689ee38315c4fa9279c68885b3e5b5b5ee1fee88b66000b17a56b876cfcf08a8438c008ae88a11a7688fc47ebbd23ba330c7fada9b7c604c789707f7b7cc3922017723b1bad4ee80c69c941f742114e005f7e55e9fad1d4c4792b80af80af0ebcbc2bfe81e4437fdd0e00583b294d2f357ffd9737ffd1e7d6cf7fe4f1e5192352ee512539df72de71d2fba195b9ff464d1a07b747e90f1659549478db26f26b8227deab4fca00a253f89f2fea57d483bb859d9d385c272fccf329abbc79b7388353caec0030378b4de3155dbde4b14aaf142b9325c5379db9348fe57a64007048ef142b9a76d91e508a5702a0ec28f45e3595539b6f57def94cd00190e0bb75644c61a3fa144011dc4a8b45aaac947d314f4a0eeb2f3a4590cb1c009068e85f62587225cfb709450e7cf895983e7f14c62fc963d1a3beae9c9ecea041b13788dbc146bb9512ab028ecd8d915e2f96c1b14ffec0ff74a4f2eea7811355ccffb8519399c5c1e2bbb930f3529848b93dba28625706b65b76bbf88905a8536e9ecef8c6c1d1318c7466d0928007f4c4f283cd001267166c5c97ee3bf2d59b9f6e69c2ee43a7572c40c86d2f756e8eb1b8ca5953b56947578ed75e582701da35f32702983e270975cd00122727a4661a66a0b61abe99762d80f6eaa36f554888b73db47292ef0a4d4c0afa6440bfebb7d56edee1d236345b068e0f9b1090bc0200f72b9b772d5d31f796c81686d2def0ec9b7d0b35dd45751280e5b313e13933b48664ce4a41699dadeae8267464745b8b1cea637a007d3d8ea6e3b5870a2d4141e118330caae09ab880983b8094f979897bcb6ded965f3c67093c9e11e178e6b41494d6594a2bdf46676c4f4b618d1bbad4e7eed2a8660e2023a061335cd6a236018849358daad746d653f6d6d12979e4e06a888e182273d596f9fdfa141c1ea6a75413ce5d949933270315be3528d3925cf3308d3f9c034cb50c7345640cd7b0636eb42118a6d0c8d75aa4d6d8f4488ef140a8bfa5c4480d81d7424cc3735b2cd0a5bff84c41e05462eca45c60271c0200dd8c9b662ef94dd53eb8df7cf4bfdf1c988b7dfea7293ab83a8fbffec66b0052efde304297f28c26c9f95e3b77f40050defa5878ee0361d3c7de4d1f7bff5c2e038abd4539d6a9048f0ce5a39d00303f77d0c8a9392c008f551e0caf3be532bb0260d6747e411cb8686ec3222e01686d914bac0a38e6fb4b34530dd04ee27c4bd48d2db28563120647564cde140680c7a31ceb0a792468f042f448f0003a1d33279fffd10c36238f4d067aecf2bb87a4668ef185ec5d51dc8605fd4597d9011db3ee5a3e811d1c9d2f5ecc2700f0c81f342a23377ef041dfb0be324ce27f7c15ab038e35c825560551ccddabf9685fd574e030d42b70da44768e0e007493d80c5de4dc22ba4950bbe5cdd15c93c0c0257f78482ae944b499bd63268b004b06116c079b0060e5d5c97e61bd72412a0067cd298b6f92cf38f07e9a91d3c665fd767d6e3a505b6529ac7143675a7fdff259260088cd999c0b00989b1f07c4ce9ecc01489c999eca01c0b4354b6eca36a0bdedb5f78e1636098949e93f5e911cd4029979774ee6005457351fd7c6a4ebfaef2cc326040c33e62502703adc87db3c5c640b55ee5c4d6d45756e004b575fb32c796030edaf2f1f7a9bd3a6cdf8e5ea4400b55596a226a49b07178cfd642fc8cb056c750d2fbdf7ed49ad0100da7bece2d8330ca9a0fac8dfc871a6f45f3d72e5aaecb8194931abaecd5f9534d0cf118e4765cef8ed4de94608074aeb0a6bdc884ffcf9868298c861051797f5dbbbfa1bb6a84e80396ec323735346d76ba3e92963a4b722b9118442dc301d3164e6aa2d3371043da59a3016d0a6a5af320380317f4ab661548dcf853bc0b057c4300dcb0fd598a3f2de51141a76ade97cd18d36626bc4abf95b42c8b5e0eb4653686f26cf5c9007e0c087d5ed0062e6be5c3ce7d1b503ff5890bdf9931b6fce01c019e28619da7051216d366c92a09bb2a204896855632b2e2e64f47a14ad8e09f9848edbad4880c91014ee0b1e4590430f8e19b75b818631f02ac7c38b3e7be3875a95702b601993eedcb4e898739344b8bd0aa7d62667dfcdae5e8f04ce6c1add9bb09220ba042fa7d54545f8c492e0767b24956c874d38460b25d1e1f6ea0c06ed283f4ce5704b43a6925dbd1e8cdcdae1331c1e575df9e35b2c8949e93f79a020c9ddbcf9c5c3d5d03efee49a1cabfaf1815bade8e8f582d39847ea252a0d7b76bd36465f1ab9b5a3e888e00846a56546d453236fd2d136fea8da76cc0d7b368d16b9d0806b4dea3df3c1df8f14d6b9614e7ff1097f60adda1a63ab85f3c387737fb50bb7fd47f1ff5a9339907d9fc7038d31f0817867e92b8f3db871e7af76d6de9e3fc265f2a192cccc48beb4e49c20887141eadef6f29ea2808f1ba6cf2f78766d3a17e938b518314eb88e1f7e7c6b3380dca50b9fbe76e2775144c7a11797dffe02f0d8e70dcf244732a3fae50537fceefa67defbcd238b47182e0d9d84e49c20887385d85cd7da607589bc26397d525eb271b8e304311eb81df52dbd9c393a63e277e78a7db666bb084d5ceaa488522d3a3bbab9b878fd68aeb0a192909c13044110c4454f889cd306a90441100471d143724e1004411024e704411004415cbe722e7657167f5d7ae8980b80b3ea7fdfb5f2b6bb36d646da1456f1bababb7bbbbb06fed7ed767b64ea3d82200882185f39efa978f39ebbef78f0f65f9d7402c6ac2bcdc74e1cd8bcf58b8608722e79bd22a7d5f21a0dafd5f23c2b387b7a3a1da4e804411004313e72de5157fee12bbf5e7cfb0b0000dfaea4c6f9773c0660fb3bbb23ed7ece301abd214a1f65d41ba2f446734cac119247243d2708822088f1d882a5bb70e50d9bc28e26cf5e320f9b0f1df85b79f3bdcb53d5ad520677410138ceff5bf2f43a1d6edf97d3f5d1317a2da708bd4e2faf653c2e97a035e865456beaffc899d2d7dda91862f5703b3d6065b7e05500f0fa68a349c7903b10044110149d8f0cddd4179e7df0e74fddb630f8707ce6950070acb933d21eef8a0228fd487dbdae100c710000200049444154bd0a341c0b45743a1c6ece141b93906032727d3d9d1e190a14d1ed70b915833956c7c992e47fb75e91bc92ac280a64d1e3923853747c62747494d8d7d3e755c81b088220088ace4788bee0f60d05c0a9e4faed0776041c9f90b11ad8855eb7ea86dd0c14c161b7058d0b62a239c0eb76833719f51a45517843b4becf2e78440da7009c312e56c3400e79bc8ef187fa5aa349cf02d04669199724c9d0d067280982200892f3d1200aeac74bab5b1e9917af1299335a737c0ca7280a188691fbba3bfa1c4e7d9c090c0bb1b7cbde3b38e1204ae000861f9c8e679840355700280aa3f17fef5f51824e210882200892f3b3e3da799323fc0bc300607cb2cbea8d86be2eaf0c28b2cce8a263ccfd5fc9953c2e91e1010f02e6ce154954e05b1a0ffca62d0938411004718930fe9f91f1fafecfd37470d7d02706af6d733c035192c1eb758ac7d1272a0014a9afd7e11483759a6158ff33f092bbd74b424e10044150747ecee8df4cd6a8e101c073baf25300585730252652741ef2270b451465add614a5f7babaec7d0ca080d399a3b4ac220cce9e335a939e6f7776d80080d168b8fee97626386b7a108e200882b878b9507654ab7ce5b67b3616e76d786ffbbf2c1e4b7a45966485615936c21ab8224b32188ea58fda120441109702213baa5d186be79eaa3736160378e08773c73a2c6139ee6cfe9d20088220283a3f4b44a7cd6a13619e981a4fa24b10044110176774ce1b13538dd437044110043136682d992008822048ce09822008822039270882200882e49c2008822048ce098220088220392708822008627cb980b66051140582dbeb76097d6ed12b28b2ec3bce300c13b8251aed7d461004415c54047ee2455114ff9f0ccbf21aad566fd018a2a0359c8dc05d1072ae4892e8ec7674b42b8accb22cc3302ccb323ccf0c402a4e1004415c32baae04200a1eafa74fee6c6718d61c17cf1b6398317dc574fce55c76f7769f69956599e33896d5b02c3ba8e8015a4e724e1004415c02721ea8e8b22cfbfeeba3a7ddc676b6c74c4c660da68b49ce154511ba6c8ece0e8ee3341a0dc7712ccb721ce7d3729273822008e29297739fa24b9224cb32cbb2922475b49e364f88d3c6268e4af8f871ac525f7b9bcbd1e313728ee3789e67830999692745270882202e6a2d47f07cbb3f2ee7384e966551147df2d7dbd5192549faf8a4910bdfb8c9b9b7dbeeee7568341a9ee77d5aee13f5102d675996e49c200882b8c4e4dc1794072aba24492ccbfa149d611877af83e3796d6ce2052de74a9fd3d9dde5d3721f5c00216be77e152739270882202e763947c0a370feb5739f96fb1045d1a77dceee2e8d3e8ad18f688bb271907345961c76ab2f220f24243aa7b573822008e2d25374d5c9f640e10b3cd961b79a53321876f867ddc741ce65974351147f681e32df1e5825ff4c3b69394110047189297ac863ede173d28aa278bd5ed9e5e04cb1179c9c2b8ae2eae9e2c3185ace7d6949d4098220888b5ac8037f84c879e053628111bcaba7cb648c195601cfb79c33de3e280a3730b5ce07fcf03dd9ee57f490410ac9394110047169c8b9ef37cbb27e3997242930280f9a8af77a196f1fb4860b4bce254f1f174ca4b5737a088e200882b8b463744551fcb1ab244981e7c801489e3eee829373afe053eb1051f7c7e51cc7553a6e3d87252e4cfa9cbc87200882b860713a9d7e15e7382efced35c92b0cfb2cdcf9967359f4062ab73f1c0f5474ea5a822008e2f2c12f7c3e2df7a9a14fcb398e93244916bdc367322e76071269829d200882202e07fc9f4d0b97451f23c9843fff46fb9f5a0ffcf45b604da86b09822088cb303af7bdaee67bca3d6443b20b2e3a0f1c83047efa4df5517682200882b84ca2f3704d1cd5bcf538c879a07287984b724e1004415cb672aeaa89176e741e627ae07182200882b89c753d5ce0472891e333d9ae2aea149a130441109773801e49192f443947d86ea721569e4f45173bab0e1eb78d21a1a7ed8bb777ee13c9010982208873179487c7e8239745761c4d1ff7b8fce8670bffe370fd58c601dd655fee3ee8241f24088220beb3187d5421ee38bca876fea3f030faca766ede75f4b73576242fd48c25035e87f1da2b9e200882b8cca2f60b7ab27d7cd19b53672dd87ac755dfc30866ccbb1b77fee659d3bd4f99ee7deaaab74b6a0663740080a7ed8b8dcfaefce07827209ed8ffc28f9ff29df9834f8fdb20d5fd79d38f8f3a0612786afecfa67f3de1211725088220ceb1685e9edf6cd14fbfe6eeeb97dd78dd82151eef705fceebdcf9f89f6fcbbcf1f0abcf77bdf4d3e78f6e9ffbe7b296fe5c808e6f5e79f8ffdc147fe3abb75c31c1d3f8c6bf7db0f3a1a75bfff385ae8d772e7aeff53f9de132a69bfeebed3d55bef33b8ebc5a294ccfd0917312044110e798cbfa136c1e71f848f9c4972f2073fb7d57e7eb383e26edfbcfdcf6f0a1bf6f7701d0751ffaea5ffff9ed277ef453fbc3576703e08cf31e7d70cb9c04b3e811f5b159c0c15617bfe8863f77ec7dab05001cbb77bd7acdad6b48cd09822088730eadff0e8317d1f316ccf1ff39317b8501a744e8e0d9f4da275703e8ee76234d0f808f8a69fbf8e97b5fff3b7457279bdb81293ca0cbb879057eb2ebf8efef4bd9ff49cf3dcf4d9f404d4a10044150747efe3975a866f0e9f76eeb11b707800778fa851776bf78e7d39fbc7d5b990300bef964dddfbdb7bcf8bbaefffcddeee79fde968c1e110026acbdede12f8bde2fdbf38a61dec393a9390982200892f3ef92beafdffbf9ff2b6b0c399a33ff5f7064e5ae460700b86a5e7f7bd394eb564703408c11889bf3ab47af2a7969d30b1d0080b884b4381d0f74eefacbdc560012004c9cfb707ec3c32fed3d75cfb5b3a8950982200892f3738f6ef03d356f6be5ab875b7a424f48bbfbb95b9efe7f7f4ebef729d3bdbf9e6bbb6afb53abf20120ba7f117cc18f4eacc06fffb0b32a67e9f3ba032bef7dca74ef53e9c589afaece2cf9bf2fbfed04c0e5afbd2a07093f9b97404b1b044110c47702a3284ae0df558daddf697972d719ad56abd1687cffd568343ccff33c1fb8bd6ba96ded392c7161d2e7e72017a9afbbc781a80931baa125b9afdbe1e6b56663d069e2a79b626b569d7a624e22391c41100411aa3092240f204992288aa2287abd5eafd72b0882efbf6cecc4905433339203ff1c87783164007171c0e96326e847709e3ec61c749aa7ed8bd7fef3a643f68737929613044110df9968f2e365d64529ea631806e812a72ffee8a6594b53c82509822088ef4c31f97134515194901f971efc84992bae219f2408822046248ee1fa38c2b4ecb8983bc4a0e33289da0982200862681d1c95a2b3e7dfe890d1c7e510a313044110c4c8e3f2f03f2f3839675836dc5c0aca098220082250130355d2279d17969cb31c2fcb72a0a1be47f3c3059e200882202e9fd03c9226cab2cc72c33fe876be1f8563798de411fde6fa8d9665996559dfef79099f866fdb3ee66d55697c401004415c68f137829f0af74b61e00fbf5672bc6658253bdf72ce6874b2db193200f169b92ccb83aa1f30b1e013725265822008e2521275df7fe5004214dd7f84d7e82e383997380dc0045a2f4912c330b22c330cc3308ccff4c070dc2fe4630ed009822008e2820acdfd7179887efb643150250146e234c3eadf798fce1946633489ae5e8ee32449f27dd5d52fea81b2ed5377555d27088220884b203af7cbb94fc2fd422e4992ff88c668524610cd8ec7475e3506a0d7afe52ccbfa945b9224df09be9976bf9c535c4e1004415c7a31ba6a502e0533209ac3331e5f8563598d29d6dbdbe5d7f2c04a721ce7ab21334060644f7e401004415cec428e8027e002b55c1cc02fe71a53accc8ee81db4f1f9c8abacd1f18628c9d317a2d93e2df7cbbc3f4c2739270882202ea5b81c40e0e3ebfebdd47c2aeefbc11ba2648d6e84998fdb0edcb2cec4cab2e815021f5cf76b79889c939013044110978ca80f2de7be009dd568659d69e4e2376e72ce308c6c88e658a7d7e30e7a593e80c0a7e148d1098220884b46cb4316cefdabe63e2de7740649671c95f0f1e3582b866164bd89e7b592dba178bdbefa701ce70fcd43a6e249d1098220888b5acb03453df07331fec572595178638cc46b472b78fcb8574fe2b5304e60448f28b87d550a0ccd0397cf49ce098220888b5dce0367da8302744561b506f03a891dcbf7d7f90ba28a2c2b690d8a46cf2aa2228a92224aa208800d7ef59ce49c200882b834e45c5114d917acb32c382d74bcccf0ca59c81c7fe1d493611889d140aba12e270882202e37ce326065a90509822008e26287e49c2008822048ce098220088220392708822008e22c61689b3282200882b8d8097db2bdaab1951a85200882202e7066662407fe4993ed0441100471d143724e1004411024e70441100441909c130441100441724e1004411024e70441100441909c130441100431be8ccb8e6a4ae329f944a73261029b9fc19a4630a23876543cd60783915d3d83e500004297f479956c4ee3964f39db1189242a82c46875e0428e3be55d476531e0a8d9c8e44ce1d28ca3c9bc47de552d8b46e6ba2b39edc0c17368fc30a58755010034cc750583c69cf3761b3162e517478e3824e384b45b96a6f677eb9986f7bf68d1a464f88f5c7a5c0e753ccf4882e091589d81e7be9bf34392f87a30665afe9a5971dfb593accdf77e18f0e36c0a953a9a3ff8f2b477c2a45bafcdd49e8555df69c52f585f12ce34bcff8555939276215fb6e73f3a57fef199f7ad32195ad4548b7f7cdf5bef192e85472eac952b2d72498dd43870b2e452caac4a79fb39b0e78b42efa68f85ba3033846eb9a4452eb30cfe6f4f8df47aa1f79873341740af5cd22297352942a0c79c33e3872b3dac0a6516b9ac3ec89873de6e23c56dddbab7796f455be117dfd4b90714ded15154632bdc6f755dbada7339d4f13c0f903edd5cf8f8a67f1c777f47e78726f1f5e0ded39ef3e0248ee01f6753a8a7d35a58d55654d1e1393babbed38a5fb0be243aec45356d855fb45ec897edf98ece059bb4dfc53c78ab268d056628857ff71eb1295969436df3da562ff50c48c8218b9295c300f085845a16002419dcd887258c8603c0e8c2b7591f18835d3387cf8b82ad59faa45e0194864e65aa71c4fbd272110f9e0be3475afad42c2eb57f40ae881cab3d0759476eb791d15c516f1b10f67dc7baf30a620080f3350d774ec6bf922073da0b6f39e99cd69100588d1600a7d77e47e78725e138007a9e03204932f75d5cc07e27f179c9c08fb32ab43f2fee2cadfa6e2b7ea1fa5254faf47fdb90cb4519cd24e77e7abb155d0a97d6ef064ce604540e1705569c1cfcaafcb113923b8737f807079df2c7bbc5b24e8063565dcd2f4e6100083df2e787c4b24e004898c0ae5dc0671921d8a457bf961273f91fce6001e5e03eb1d88175d772655f88c75d00941d9f0aa939fc0fa7863b2833750a9b06644c629a1abd95124400c0e953e2a7d572ab0700a2cdec9aabf9a9b1107ae44f0e89959d00903c89bd7e2e1f3f908b16e86e14b77da338252c9bce8cd6f8b70ecac67826ca2d57760260962fe097a73100dc5df24725e2310700e46472b7cce54c6ad27b4d0197e6ff4b563efedc5b2be17b8b3533a3e1b64a6f944a9a78eefe459c14969b56b5e824e5fd5d21edc6541c16bf6c507a00709895cfdf3c9595baa44f8ec830b137cc0d9fdb771f3cd0e1ffe3c0fe86bb0aae8c0a3ea1e4b38a0f4a6d36003aedd26557fd68513207081dcdef7f5059d42400489f9c7ed7baabf26282ba4c387dfcc5771b75a9315a9badbc5d82ceb4fe8e05cbb28d001a2babb7fda3a1d62101484c4abaebd639b3267ad54a512fda75c6b2f5fdea036d02c015cc9fb67e6d9639c2998184179a1368ad5a757c5530672698ba5bf636498061dd5d0bd75c6106d075fcdb7f7fbfd6e2817172eaf79384d263eee5772f5996ac1dbac47ca14e25c329ee375e39721a86bbee5f9267f2b55b7ddfc48ca7d64f8b1a2eb78defd6a7cdccc9709cda56859f3fbd3aa549c5aa85d2a98d5bead3ae99f74f4b1300e1ab6dfb76da0c0f3db228edccf117df6d34e74c8a6b6f296a12a08bb9ffd6ecb6fd470b9b24e80ceb6eedaf69786beb549b658ae79d570e95b50370bff6a7c29c85f3fe699171a84e11ec61e7270ce3546149ee4a0180be8ed61d5bca0aeb84c00e527392e078a6a379db07957b9b0400b9f99977de3033c3c40eed2481f49d6edaf666595193009de9ce3b16ac8ae8d87c7841890399e880ae6fab5fd9ddd22570b7dfbfa220ce175874ef78ade4b0537bcbfaa5574f94f76ffbea936669e92d4bd6641b1af716fff55077cebc79774d1e45c57591dd782cee1a9630b4c4ebe23f7dade4a8577bfb8f9616c4b1ae866f5fd8d1a8cfbce29fd7658963f7a584c18e6b3ffdf6f653bac9391b6e4eae18eeaabf5c26dbe37234ffb28805145b875c55ed7dd7cecc9a3054a42b75c8251e00ccba455c340097fc4dcfe0bff674ca653d4c7214202945c5de0a27e0965fdd25967542676672a260ef94df29f4368a9064c52ec1d6d79fd0e1507a5cf0283044313a9fdc6a99684d84d5817de2c725e2bbbbbd951200f69a34c6dd22be5e26b77a3027979b93801e87fcee3ed1ed915fdd2556764217c56444a1d52abffea9f78cdc2fe6ada7c5170fc9ad2e65e66c7e9a71d4c6b77a94932d72a58b49d60150f61c144fcb907aa43f1589c71c484e60327438d9206dde27496a55f8748ff7dd7dde77f779dfdde32dac5792754a8f4b293e2503385927d93dd04e6038b5dc04d5a211da6e6dd5e2870d4a8f8e593593cd002abf11b79e5424975269572a1b54e6f6a5d6a6420700d386f5d31201b45b2a3ae4c0135af696bc566ab399e3ee5c9b3d03c2de5da5af943bd0dbbcf1a5c3454d823129ae209eb33459fef0e297f5c1b98b625fadc35d5dd3562e980a92b4f0f46ed9f2e5fe0ed95557fedcfb75b50eac5a9abb2a5b6b6b6b7b69cb3727d54a69563b2875d43ff372f9813621373b718619e5a555cf6e6b68523532f08ea356e8e0345e84eaf8aa505e65d9db69c8350370efd85ad62841eaa87f726badc583c4a4b894cee61da5368ba3d7ee92862dd1a19a21179b02b7a5bda3e8db6e0027cbea6b1d425f7c4cd40872b3388403c5df6eab7203603ad5ad12c53e8b4738ddebf565d56debb5b5f7f64903b5ab6828eae4d27580a7fbadade5854d5cba9983c7bd636b69bd00d5d6f6a8d602ac3156ebb3596f34c4ead9e6a13b850b3d7f78a70a4f0200b0d534149ed1867450b8d941dde36eddf8d2e1bd4d82313e66463c575bd3f0dc1ff7d79d18d24982b135351759b5b9f11c3cbddbb67c59d2adeed82eb5825a7d5798913b7dfce893efd5d5b6bb17deb0a05fcb0170e624a3dbe6e8de53d305747d5dd36b73b8771eb203c2e143369b43484c358eaae29e086e3c467795427421acc4ffee48350ab6f6ee7f1cb103a829abb738045d722c7716be147463f1b86adbddd5271d0dc35df5975174de3fd7232afb0e4ac75d0ac0440d39a2a8ab950020819d99c2b59ba53d0e1c3c29cf2df0bb20fbf80ff838285feff6167562ff71390e921dd04de09e58c969a1ecf9dcbbc7a17c512bdf19fce8864fb879965db39c357c26ec7131377e4f9311c19246abdc38f8977cc2a61498d89b6732929e9995ca9cae91cbec0a80961ac90e6002f7b3959c01cad7fbc452073c3e2f74c86f1d048055cb348b1319b7754cc6ebd8276fe44d1ef9ff7e2cf6002e2f4e9f943d40f424eed60216ddd2ebc5b2c72a377ab82c5d68155aed8a7f6b1d9d013fcb633fb1cbad4db2fb4ae6680b002cc8644f1ff386e76699c2a8142d85b65b6379ffd5c6ebd96b6632333926291e5a8e5d9505d1a032b77fbcb41e00b2a71464675a93beddd126151db65eb37a703b014f9fef862a694cf1abafd3cce3a3d2d274f5c53516c03839ff8507aed04228fc6be18eb6de8f0e77fc6c51d88339e6d4e79f989b00f1ab37776e69928a0e5be7cd4d7b68ad5134c5cfcb896e38d85554678b548ae7b0cac1c6c3279d40627efe7d6b26c35ef7fb2d75ce9a1375fd0143d0994157d7049542fd9c8a509d8753faabf0e21373cdeee667361db641700a683c720a80317bdaefd6e772e87863e3be03618b984395189aa176e1b2a41defb795975884f9ec810a01e06e58903c62fbb577deb77455a6b1fe8bddc35a3578c5f9ffd6253dffc4d509678efff4e51a270c8f3fb97a96e1cca6e70ed442ea93a0dadaa7664f52a98514b76efd8aa8cd1fef6837ac7f68791687fa5dc2509dc2859fbf7b18a70a4be26ab000802eac83549dc49d9937309dd878e05b0b80c9b91b1f98160567d1b683bb6d9c681aca4942d1253dffccd509108adedcb5ad49da59629fade6d816b5823cbe91555bddefb702e0ee7c70f5aab4c04b939d35271575cdb5dfdaecb9a80500384f59addd38ec00103727d3000b465e71f5fe1200c3d8dc3528a15a89b53177a4a0ce525bd1eaba5677b04a02b4d7ce8a6b2c3e3c665f52c5db270c7dd55f46722e890a7886e3d95bd7b200aa8a85b74aa4df2c8fd072b2bcdfe74076e995dd72ab0300ecf592ad80f54d292764b07100c04c34019d803c30dd6060b400c0e424317b1c4aa713880b9a8c08781aa47f265ff202ea9dc2dc7dbd26cf0040a9d8e7fdd08a9d9572c122a6edb45cd2a97c72687090e28b8b7506c60000cce2259ac580db2a062d18770303735ea3353e7a226b02a063727528f380075a3b15003d56e92f8583635751ad0aeb56f357e8e03b89d3305a2007f2498ff275b5640160e6b20d288f9c5b78d121ed96319dbbba472ab12b3b0f8900c031372ce3d3a2d9c5056a4324c9beab420080bae39bde3c55db060096e253d6d5c9fe09b5294b0ad658cb0bebbab7bc570a003ad3fdf74dea979a98282d0068a7e59976b4f55abb54d4237de6e40400e0f367c4a1c906119c16a7ab1b0b9b6ade1ad423f552ae5139182f9e1600d86a6afeb5a6c69fc1a485056b3a429367048e5cd50a0d25bc3a29009098936c066088bdd28c22077800a2040051511c00188c6aaa394489e119c64ecf9ef17e5b757bcbde52a112407ce6ec387684b96172d68a4c2386b5aaff01618fad37f8b8491f052076420a501b3f29c7042076563c6adbc143b4a8b5b614a1167e971705c0802cb53ecd089ec1093c1f23722a952489d3422c51375b0cbafb018031c61c0500c65577ae5c0548bd673e18d649fc8e3d674a02006853e281264094382d17de47a25a41ae86a381b6349e712348ce61ce999c8be6dab6d345c500b819495c759bedf3a25e1b609c9999cac1359a8a47eeaf31ba6b6077a896c84fce2c80a5dc612ddaeb3d0e202923df241e380b5f5265caf00e76d9c8795da977ff44cdfd39fd13ecd372d91d5f29bd804975a1dd321816b7762a3ace17ec2a475a94c51c00d8dbe45eb026a02764724aea179bd39d0a00e3c02cbadda64800272a2d6153d262e4d50f7e60a57f60864839f18d54d28984746efd3c8e6b13ff582c430a295af9c7e7defd2ee607b37d0fee31cbb3b0a7563976c45b31519b8fb118af1db0d03cf0232e8641a79290c93f3a979544a5ae4e6e9791202ba7ad0a344c72dce02a06af61b49a411bc1b2f3d371d2a2ecaf51004ccd63b511728be714d5a243dacdd68ec464f6fe023656544a2bc5fd76e5930a79d632f64c7bbf2581e91cc71baa0716a46a9b04a38e737a24c0565227ac1a38ef4c8b3be98a9c5f5e9f1ce7e9da5b74e4a3badeb70a4f3d95260180d71765c80dcd6e00b17a959eb31c6f75ad9e1805582ddd00fa80babd65854d42faec993fbd218b6b28ffe72d1608eaa54c5e161576d0f25892164deef4f9739f5d9b2c09ee9a23a7cf883ac6ae927cde0357f8ef91aa8506f6f410d5d16b7c6ea78919c88ee33900ce16ab5d4a9dd06d6d54bdbe2297189e21b884d5b3b5d515ee6d9f59002c5c961135e2dcd2d3267023b0ca526f973091137a4f85e8a310785f0dbde012d55a3b41d3ad5e8b6057b4b60cd3296197fc489d2ae42e116689bad913b5917adcfdd15ff77cd4a9bd355f18d249421ddbb17aa2197267cfd07da452d023372600802e6eddd5dc8ebdb6031f15cfc8bceeeac0019c36617136575bd75b5405c467defe7d4df5dbb57bab04002baf9a34da8a0fdb5fa376d7e13c64a2216ef96c6d7985fba32f9a012c5c94ae3d3b5f52e5cc881decd297f309f14ce311b13e5993650444f9b3837274266f022a4abc6d13f9355382d6d1ab4fca00a253f89f2feaf7b983bb859d9d385c272fccf329abbc79b7388353caec0030378b4de3155dbde4b14aaf142b9325a5c40e004bf358ae47060087f44eb1a26997ed81932712006547a1f7aaa9dc9a9cf0685279e73341074082ef8e9431858dea530045702b2d16a9b252f645e72939acbfe814412e730040a26f88a763965cc9f36d4291031f7e25a6cf1f9df1e891d587eae90c1a147b83b81d6cb45b29b12ae0d8dc18e9f562191cfbe40ffcaf4e2aef7e1a788760fec78d9acc2c0e16dfcd949997c244caedd14511bb32b0ddb2dbc54f2c409d72f374c617ad45c730d299414b02866b62f9c1660089330b36ae4bf71df9eacd4fb73461f7a1d32b160c0cbcaa8fbe552121def6d0ca49be9b52625274cedc1c637195b3a66ad38eae1cafbdb04e02b46be64f5431aebde1b937bd0be37b3faa12002c9d158f4a0e405f8fa3e978eda1428b2f0ee8502bc5515d167e30775a0a4aeb2ca5956fa333b6a7a5b0c60d5deac3d3dac2cfd486ad2c8514ea27355275ecadaa0d9e313f2f716fb9adddf28be72c43af65452a319c2be667a1c217b5c4acc8378f2237511adaaafe3b4b5bede61d2e6d4373b8c55264ab32d55afbb9bb22bd4421790500ee5736ef5aba62ee54cbd1e13a25e8fc5b46e4544149d6c48dc2ecb98b32077b30a0ac0c97b5a84d00621274d2105d2685fc686f78f6cdbe859aeea23a09c0f2d989a850e9a3c96a0525f92e42d384d5d74ed39cf8785b9bf0da5b47a63d5110d0ebecf43949a86b069038392135d33003b5d5f0cdb40fe546a3ecafb1bbebb04d9d33270315be8502d3925cf359fad2ba02959e56bd355d085a3e0e8fc2255ec1df9c8e770a85df6c177ef381586be6fe692e0b28f616e558a7123c40928f7602c0fcdc4123a7e6b0003c567930bceeec5fba9e359d5f10072e9adbb0884b005a5be412ab028ef9fe12cd5403b493b8551300a0b145b6704cc2e0e08bc99bc200f07894635dc18ec60e5e491e091e40a763e6e4f33f9ac166e4b1c9408f5d7ef790d4cc31be90bd2b8adbb0a0bfe8323ba063d65dcb27b083d1c8e2c57c02008ffc41a3322ae323f5956112ffe3ab581d70ac412eb12a8862ee5ecd4773fd4faf7218ea15386d223b470700ba496c862e726e11dd24a8ddf2e668e3a321a800000aee49444154ae4960e0923f3c24957422daccde3193458025016199ed601300acbcdabf4ccb5fb9201580b3e69445ec7f5a67da9a2537651bd0def6da7b470b9b84c4a4f41faf48e6e2b27ebb3e371da8adb214d6b8a133adbf6ff92cb5891d637c8cdedafc5145378085d7ce5f93a6cd5e90970bd8ea1a5e7aefdb935a0300b4f7c4af542945b5e8a8cc19bfbd29dd08e140695d618d1bf1893fdf50305fedcc4033540bb50fd4513b7475f8d0bb1e4ce9bf7ae4ca55d971339262565d9bbf2a49258218aac4f00c012e79ca4d660030ceccced28e29b708566933f3ee9ccc01a8ae6a3eae8d49d721e8152963a4f7f43800aaad1d13a9596098312f1180d3e13edce699365ca7849c3f32a70a4a12a98354cd8e0d3c292eebb777f597555427c01cb7e191b9738674122eb4b93834b515d5b9012c5d7dcdb2645eb58f3a4c2a054dea1fde4b1eb0abee2a4807e0b0bc51dc11588dd89cc9b90080b9f97140ececc91c80c499e9415f4ee1cfb2bfc6eeae7e2235b5362d7d95cf9ff3a7641b7096bea47667e146e060e306a32841225ad5d87a7e56d07b3d30189873f056b08c5e8fa2d58566e5762b1260320485fb824711e4d08363c6ed56a0610cbccaf1f0a2cfdef821e8752b6019d3397a2063ccb94922dc5e85536b9331fa8920ba042fa7d545053590eceaf548e0cc269531b1abe1e8e36f37a42f5af8ebd5098e5e0fa73544698312223437f55222142d3a7abde034e6801a463873984247589da0aad5953fbec5929894fe93070a92dccd9b5f3c5c0dede34fae09d39e614beca7abaefe405d476971b305b8f3c1eb57a5f163b07f68ab04b7db230d5fb508a8b4f6d979ce5097e2087be15c981d5ed648bbcc779939dc5e9dc1a0e586eda37358a9efaebf4653f7b19738765f3a470ef69d30332379fce59c20be237cea629c3df7df6f4ebdd4ea26756f7b794f51c0c704d3e7173cbb367dccefbc9ef8f0933f5448003039ffa507ae88ba30ac220882e49c2020b91d752dbd3a737cc644eda5583fb1b9aeb5c1ea12794d72faa4bc64e3d9e42574779cee14a13364249bb90bc62a822048ce09822008e2329573da2095200882202e7a48ce0982200882e47cf44882e0728baa6f9d0a671ab66d2bd9b1b7591aa7e6b05656bfb1ada4bc551cca7eebd7cf7c7fe56d77bdd8ff650c8fb5f1ab5d151f7e5a5371d23b8aa2fa5aea4b8e1f2bb13ac591a610bb2b8bbf2e3d74cc05c059f5bfef5a79db5d1b6b23ed55a8785dddddbddd5d03ffeb76bb3d32f93b411004c9f93962a8cd86c77d4fd9eed32d076ada4eb986d2e56f3ef8d3a735c7307bde141d5c357fdf72d5a22f7efce8915f3c7ee0eeebfeebee17ad23dc0bb86befdf3ebbe7e3ddf7545847ba7d7a4fc59bf7dc7dc783b7ffeaa41330665d693e76e2c0e6ad5f34449073c9eb1539ad96d76878ad96e759c1d9d3d3e9204527088220393f37250eb1d97054faf47fdbb0fcf927af3aff7bca4a920c40a71fee095fb161e7c662003f5c3b1be2c9dd3f783228b8aef8f3677fd835b4644a7dd693d5efbef3eefff4fdc98fe091e28ebaf20f5ff9f5e2db5f0000f8367e33cebfe33100dbdfd9dd132115c368f486287d94516f88d21bcd31b146481e91f49c2008e252e4fc7ee4356ce7e0f593db03f74e7eecde293b3ff1ed299be58ab0b573a42d9f5537dc0dd99839d3a1b21bb1fd78f55fdeaff365b8346a98697e4f63c97f01c0430bf28ddda51ffb3e166bfed9df6ebe6fd2befb573656007fdbd6f2f3d569915fd5b11cf8c907df1c19d59441e1ca1b36851d4d9ebd641e361f3af0b7f2e67b97a7aaf7a332f8a17980e3fcbf254fafd3e1f67d9c561f1da3d7728ad0ebf4f25ac6e372095a835e56b4a6feefc8287ddd9d8a21560fb7d30356760b5e0500af8f369a740c5d4004411097a39cfb760e6e179c031bca8a629fc521588abf3d0000064670d5b6bb21385c1df54f6ead0590981417dbd9bca30900ec2e498a7cfc9997ab9c406e76a2ee4c477969d5f11ef6770b8233efac7fe6d5d0739e5fe6f9c5d63a008993e326753617360d538396f23200589813cfa3e378150060d982fbaed6e870d5fa7b1a2bfe0bf8aad9e24ccb8fa8e71c9f34ca56d34d7de1d9075b3d5d075ed87e20e0707ce695c0211c6bee7422354655cd1560e04544d9d3dbab40c3b15044a7c3e1d69862cd7a5e72f7f4f6743271091a28a2db21321a833996575cbd1effeb8b8ae495a0571446163d7d9cde1c1dad87d7d9d3d3d3a74b306848d00982202e47398fb073f0c0dec9fe2dfc9a236ced1c69cbe7a136dcf56fccbc6b57f83907fb3ff03b73e39d5940f73b1bf7ec1d72f15b14dc0030258e03585dbf664b22a083396f5aff39e2504fb7a52fd9fce412347cf9c0f66ff68dacd5f405b76f28004e25d76f3fb023e0f8848cd5c02ef4ba55f74465a0080e7bd0dec9ba98680ef0badde04d46bd465114de10adefb30b1e51c32900678c8bd53090435a80f187fa5aa349cf02d04669199724c9d0d0b7bf0882202e433907d43794f5ef9d3c7856844d94d58f0fb5e1ee40e691cee1002c9d97060088593cc7b0b7d83d6c1d564ccfd201b227e829b6eeea72df8f28c3f09f3be7f8517f394b8cb06d626975cb23f3e2552273466b8e8fe1144501c330725f77479fc3a98f33816121f676d90737a06645091cc0f083d3f10c13a8e60a00456134fecf132b4ad029044110c46527e703e21410d7f9f74e1e342bc226ca1136571e6a53db81ccd5cf89ee3801e0f0919675d99980bba26a40cbddce46ab133a435af0f72f4538017cf955a5eb475313e7ad00be02be3af0f2aef807920ffd753b0060eda434bdd4fcf55fdefc479f5b3fff91c797678c48b9c790c4c7b5f32647f8178601c0f86497d51b0d7d5d5e19506499d145c798fbc71c92c725323ce041c0e701154954e05b1a0ffc6c200938411004c9f9806ca9ec1c1cf6167a4a844d94236dae3cd4a6b60399ab9ef3fbf529385c67ab3aba091d19ddd622477f86ae96e3cf6db14097fee23381fb012376522eb0130e01806ec64d3397fca66a1fdc6f3efadf6ff69f90f0fc4f537470751e7ffd8dd700a4debd6184ede2197192feb7e83c4d07770d7da2123221c0c02dc9e0f53aa5c7d167d0ea794691fa7a1d4e3e5aaf091a05b0903ca26cd4b090dcbd5e4043424e1004716173fe5f541b76e760c0c87191b6768e707c249bdaaa9e33316dc62f5727c2b7317013d2cd00a001e0db5fd814ba2b73f2cc0579000e7c58dd0e2066eecbc5731e5d3bf08f05d99b3fb9f1e61c009c216ee856e0b8a890aa0f9b04fdaff619353c00784e577e0a00eb0aa6c4448ace43fe64a188a2cc6a4d517ab6afcbded56eebee74b03a73ff1e7f03b3e78cd6a4e7656787adcb6e73b8140dd73fddce44ce9a200882185f2ed02d58226da29c631d7acbe7916c6aab768e2438dc52f016c291707ef870eeaf76e1b6ff28fe5f6b3207b2ecf378a031ea030647ced2571e7b70e3ce5fedacbd3d7f8433e7a34b52f9ca6df76c2ccedbf0def67f593c96265664495618966523ac812bb22483e158fa0c304110c48548c8162cfc8569655466f6aa784b519be5d7bfef9f544f9f3f63ba099c41fdb8bf3a66d3b035523b87d39a4d2334cdb8e4a1a7b0eb85ed8f6e7da8e199feb6e4f5bae02c5dd5fff9e0c69dd73ff3de4d23d5f25126f154bdb1b118c0033f9c3bd6811ccb7167f3ef0441100445e72322d226cae3beb9729fadd92e4213973a29e223eca2b3a39b8b8bd78fa6baa349223a6d569b08f3c4d478125d8220088ace69bf7382200882b8e8e59c564609822008e2a287e49c2008822048ce09822008822039270882200882e49c200882202e77429f6c2708822008e2a223f4832af4a21a411004415cf8d08b6a0441100471a9f1ff01a9ca86c7e27831b60000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If however any tests fail, the test gets highlighted (and the qunit-banner at the top switches to red):\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d494844520000029e000001650802000000cda97f83000020004944415478daec9d777c54c5dac77fbb677b4fb2e9bd8704080984de417a5541106cd8bb78552c78bd5ebd76c5d78ed8b12128080ad25b68212484408074d2fb6eb69773cebe7f6cb2d96c360504b1ccf773efc770ce9999679e79669e99e7cc9ce5381c0e100804028140f8bbc0252a201008040281b876028140201008c4b513080402814020ae9d40201008040271ed040281402010d74e2010080402e16f01af2f0fd9697ad791137b8ee6e416149556d5b6ea8d769a26ba2310080402e1b2c3e7f19472694c58705a72fcc4e1e993470ce6f378179503a7e773ed5abde1836f377dbcfe9716ad8ea89b40201008843f185f95e2ae05b3eebb719e4a2ebb0caefdc71dfb1f7ffda3264d2bd12c81402010085711b58ff2f5c7efb96ecab84b77ed0cc33cf6fa879f6ed84ab44920100804c29f84dbaf9ff1c6e3f7521475d1ae9d61985b9e7a65f39e4344890402814020fca9983371d4972f3fd9b377f7b243feb1d73f247e9d40201008843f219bf71c7aecf50f7b7ec6d3b5ffb8633f89c31308040281f0a7e5d30d5b7fdcb1bf87073a05e4b57a43fab577927d730402814020fc9951fb28737e5ad3dd9ef94eabf60fbedd44fc3a81402010087f729a34ad1f7cbba9f755bb9da6e3a72d25e7d70904028140f8f3e3ab5214fdf6b5d7afd974acda771d3941fc3a81402010087f095ab4ba5d474e78bdd5e1daf71ccd219a2210080402e1af42778ebbc3b5e7161411351108040281f057a13bc7dde1da4bab6a899a0804028140f8abd09de3ee78fddeaa375ec1f2a5a204891080aeb1b58eb4c6e523c85fa90074a6d63a235106814020fcb3e8ce7177b8f62bf23badd298076e9a382231422511b45f624cfae6e2dc439f7f73acb0f3b3f36ebd63413f9f33bf7efcd2816e0ee049935e7f6c7608a5f9f9dd4f7e68eca304a2071eb97b4430b2d7ad5e9563e993b34c9ffdd2f549a099de1ea4e89693ff7e7be75599a9a40dbf66d98c2191814ad79706199ba1ee42c1d6753f6daabcd8cc2e5a457f2ff853a74f4ef445f1c15d5b2bec7d4c3263d6e438993deb975d470d574500c2656bfd19b3a6c4c9ac97a92909843f9aee1c37efca15993669f1d30b53251dbec7c6509480a224f2808163e7af1a3576f3fbafaf3ed3f17c6060a84a250e56ca816e5cbb6f7054889f04f20051dfa550c4c606ab0448885223a70a502e7fecd64152ddc6373edfd4cd3237383422d0cfaf4f7907c6c6e072b9f6de0573b1f08e876fc90876fd9361188aa228812c347ee89d2b070ffbe5c3a7b6545d4cd117ada2bf17a2a0605f290f2101325468fa98c43fc057cab32af9574b80ab8b78c6acf1d142d3b12dfbb36d7f75a944fe012a298fbe4c4d4920fc59b852ae3d6dda6d2fce4f0400184eedd9b7654ff6e1460b80a0f0a4c533274d480ba728bf390fade4bffee27bc5edb30fa6b785b2050c003097b0b4a1dbd208232283d502bf305fa01bbf95bb67fd7b8d81429bdd0a007cc0e8973e7b714630d0b079f5a60a81003600100af8d6a68ac3974d61bd0bd6165418bbd8e9d7196df1a6759bb7e634d40190062c9d3575eec41409a881b3ee7aa2f4a5d7ce58ae9c8afe66300cc003cb5c7412faea097075070dff005f054fe127056c7f79a91806e031340804e2da7bc57ff40aa75fb755ae79f27df7c55f5de5b9551f9dfb2e7dfadb778f934336fde13b721efce4f015ac60c3571f7d13ef87a2036d0b599a06043d4e0e8c0ddb8e36b85f4808302ece004cbaac9cd2dc2b2668ef820100164fe80700faf3cfadf83cd74de6afd7adfdfac435df3f3e490ec1e8eb27bc7666db155411e19fcd9fd31d12274d205c59d7be74c97839001836bff6bed7a06e5dceb67fffa05eb5300582b8c5b3c30e5f5c00d90b092949438394000c9aeaa33955ee41f2dc33f9b95d2a7c51e137691f5415141e363c215406c06e3a73223fb76bada5ca9151c161414a01eccd7555dbce34786d89de040b8b500900d41fdfe9659251bcf3fbe303eecc08a0d4912381be4f98faaea2deab79f9080c098a574901580c2d85151aef5f5312c853a37cc5162b64425d6d4381c6ecf52985cc2721c2570458b42d85359a3e7d98a90f39b759844c9e1ae02b17f1401b8bcaebeabb593246840485a8a43cc06230b6b63417197a9c3b09c4f16aa59f4aca03add7b6e4d5e8ff545aa57aeb10813e7221e88a6e9aa35b8587f9ca453c80d63735e435982f56873d49d56be6f63e2b8740f8a7baf60113fbc90068f3b7aeee7e4b57e1eef58726258df2a362468f08dab2fee2df5807bcfceaa30355cd9b571f48ba616682cab54d0f77c290b3f18b677f734e17942fbcfa44ba0aa77ede1d31778aaaed11f1f495af4c07f4677f59f476e6efadae34e9e515d70f0c74fb46ff12a6feecbea73b76d829973f72fb847e01ee3fae7bafa9f6d7f757af2eb6c07ff4372fceeab3606d7e8386c0ab2c0585b5a65415d3d4dcd4a122c3e6175ff46888844937bdb13005dabcc7567c57d84715f55ecddf8f7cf1923951527dd66f67c2c60c09917618e73530971ed9bb2edffd55b47cc6f4b103c255eebf8230d3d8747ce79e7d0d6e23be2068f1bc91512a714756ac3e6f479664e4847885356bfd4fbbbdbcddee5bce60ad76f98c39135283e4ae4b63c0b6949ffc6ec75977af109f9c317d7882b47357333797fdfae3616f2752c533a64ff4287d9ab5257bdbaedd0df6abac5559c2433766b4cd74214c5fb0241d30571e7f7b5be50d4be6c548cd07bfd864c91837ba5f98980bb03a0b572182d99b927d6eb9654688902ddab56943a9d96ba1538cf54776eeca6ce8830ebb95aab0bb1a79640ed0bc80d85be6f6aa1c02e12f03f7b2e718343c490d00e6ecdf7afebc9d65db8162005025cef0bf94824402007e73ee9e9fa01230a6e6c2fcbc82d25a1b00c8d2e7dfb53caeadabcb041440c9c45cab8db1d9da97548ccdc63056faf7479d933e7ce556a7c3d3d7979fca3d5fadb5015460bf491f3e33ddf9c4032b1e99dc2f80024cdadac2b3e74b6b9a19809204cf79fcbe855200f68b114cd7a86700844ebcf189e1015e264c07be5bf0e0bf173dbfbeb0434554d7f5b7942fa4004a2255f75545bd57f3b220e001900f9d363c44ca63adfa9af2b2caba161a00c43123a6cce8a8b1cfe2257352c3555c80366acbcf155636ea598027558f9837774e447b8d059177df3cc9e9d78dcdf5e525158d3a2bb8f2d46993e2155c80eb6d62dbb79c01403c6ce19cd42039406bebaa4a4baab46616e0fa46a5df313fb523601033ecfad109521ec05a1b2b2bcacbab1a75660062bfe8796e8fb9983a67a6b374abb1a5a6b2aabe59cf025ca1efd07953860baeba56193bcdd2ae1db92c4db3ac9d61009e88c705b80933e75d931226e602006bd0696900e2a4d430cf204a4c42881080b1aecadcb9d096ca92b2ca3a67a18163e6cd1b2feb8b0ebb930a7dc9dcd921d227f7aa1c02e19fbd6a0ff65752004cd5fb8a7b8b039f28d2cf4f9483e28b2ea520d74bb5fadc5f967dd4bec60d9ff0cdcaa92a0886cd1a86b78f753c663bb7ecc15d80f2f5554f254bcc9b9f7b7e75e365a8ecdd8fdd102100603ef4cddbae337bd36fb8e7818951828871aba69d587e307a448c1840e9f68f1ffca9b42d59dc846f1e9faa42c0b405037ef8e2d8b2078ff55930cb675b4f8eba6d30201b77dba323e6371497159d2d28ca3c71aed0d8ad8a7a98bf98dd35d9bd8a7aafe66f0ddd15e16019d66a72d8cc8e2eaf4139148f23107385120eb72da2e1da49a62d39fee1eef6d3913efd1e5a902e052f6170ecd66d2500464f19172505809a9cdd5f66b7470d7c62ef9e3fdc97274c9932eeec27bb8a80a93387fb720198cffcb66d73455b0c3679c8c4b9e9c16d4ea08bb47dccb96d5ecc036bacfa6dfdfebcf6e9d0f0f1d32724f80afdfb2f1d50fa75be1ee04f191a0780d5957df7fde18af684c9c326cf4d0de4f9c78e97e5ed733f7325884d0c1202a8cfd9f15976bbf603fa3d342f5d0a55daf0b0a3edfb21ae96563ffcac04102fbde5da70a135ebfb0dbbdb8497332c0071a03f00bae65ceede9cb20a833d75eccc19492a454c52fcbe2af7f84446722800baae34d3d64da101fdee9f97ae80346362ff7d9bcff7a243fcd48d547dc9fc02faa61c02e19fbe6a6ff3243c9eb8d7274d76060028a54274e9c569f39efec82d765db9f7e7dc66009450e2ed69a1f33f7cd1e5a8a974d8c87831808aed9fba9fc5dfb6eea31f8b0c0062c78e86aff3443f537abcb42361f1de9ff30d00d4a1ea8b15aceee8fa3737e6395fbd0a5401c969a3ae5b72ebaab75e59ffeaa3afdf71cdf4b8df5fb12e92f4a59addc35a8c9387a46cfef41d73e9498fff6dfef49dc94352584b975989b1ec9bdd6e5f3dd09ccd2ad103e0f29debd6c8d42829005de1fe8ef11a80a664f52f795600dcc03143fce1d3af9f3f0f40cdf19d2ebf0ea0207bcf911a7337c6dfb79c3bd0ef77f3eb008eeedb76a69906109e92a400009142e68ca674f8240005c7f21a69005ca14744452ae001005b57e236bf6b389b556e06a0f0935f7dadbaad0778fcae03095bb4eba72f0f145618ec00f2728acc0078814312dc0783b0841031808ad3e7bb2db4e1ecde335a00bca0d0f8beeab0ab547dc9bc8fca2110886b7742517d990558018092fb092fb99c8a63073ddef59e2c6f0220f10f4beb6dfaf13b491b33400dc056bef627cf6d809f7d79c804507e894bcd261b0050631fb863699cd2f5c00fefbdfbdee75fbcf2f1de4b106ccf6fdf2dbafb3f6f7eb33deb6c7993becdb1485401c919931e78fc3feb9f5b3cf1f2cdd0fa5a4d69f7aedd667ef0f69b278f1dd9f5d6e4b1231fbcfd66d6e6b9a7a9f1fc598f1d4c650dad00844a7504103120560100fa1387bbecbe6c387da6d10a4015a28e880a1503609b8ee77aee41db9753ce7a13b58f3977c43c2acf1dedb2696e5f6e25002882070a00e80f1ec839939773a2a6d3338131510a5ea7c853bb83b1d100c04d9931717440873b3cba63dbd65dbb7fda79f6aa6bd56bd8cc4d21273694ba99b0a1b0b09106109692d051f701b12a00747d4ea9bd87420b8e67e5159615e515d75fa40ee93eb4a65be67d520e81f097e38a7db2c66aea7d77ac4429070073d5d956b79e7951476599ba9a26cfb5b473abac5028fe63542888baf5b13b1653bc4ec38b2848e25c578b8f6dcb1dbb38cd4fa08a5bfcf8530b4dadd5d55565e70bb34fe66d3b7aee77946ad97360ef9e037b01c03f607abf9491430726c5074b004948eabf56892ccb3f3ffc4756b38743f0b4ddab0772f921786e2c60b52d862e91040a00f87c2160753ed45c75d49ba59c2c6e49f70f16ca7da4340bc0da505dd0f5a19aca66dab9a4f73617e92de740b4b90a8db7af37eb1a9a8c8896422095023614159e2d02921312e684a8150ab95c22164bc4425e37536a5b494e49ca9858394f1a3c66deb5a3acc6e6e6e686ea9ae2f28abcd2ba3f83560381faee6d4457e7a990ccbccad4c9d13cffe8d182bc4c1b000c4b0802a02b3d570444f450a8ad71ebbeb6d085eea274d897d6ecc85cde17e51008c4b5c3e88cb24bd42952f472382adca7addbb8459183631380863e9766ababeef6db2ce63f4a89a1f171ddc52e007cfdd1eb3593662f9a921eaa1253126544bc32223e65dcacf977d59c78e7f9f517e780fd03a687fbd69d3fd749b18d0ddb1a1bb61dd80b043cb1e2f671314a4812174c0b38fcdb1f5acdee70c0c1300ccbb2dea3465cae030e8f788146d36df0c2da11f0f1fe5dd0368b124ac4609dcb5b6f4f192c4cb7b6df6bce8af62b328508e8722ccdd0686021e5b62d1fe39387cd1c1dd76996c95a755a5aa192025e7492b97b734b6dfa98b4185fa9902b94fa8748fd43225232864f692efef5c76345575bab8a9e5c3bdd54efd91975a5676bacd12142694a867fe6a1460862a3fc7880b538afaa5785bbb8581df6a5352f413904c23fdab5179e2ad22f4c94c36fecac98afd7957adc0d0a0f406583730172f735032800b6ba2cb7a359544f12b575bf3fd747219bf3defceca05021b0bac600a14068b5b5ea0c10a2b41200f6ecdeb267f716f8074cef9790969c949212a712401e32f8c9e70c739eeffbb7659036fcda076645419bb77cc577855eee37bcf6eaa7c1ab1e4d9020202a0ced8b4b7499fc18c15c896a76db6c763bcbb20e8787b30187c3e1722ff195102594f534105b4d668800f0254a6f118810a5f0d27376456e0d3a6fd34a99bf8cdbdeb52232ae1d1dc705c01a2b0b8bcf955757d619ea6d7680bff8a6855162ef752f28c82928c8814c9e1a121c131e161e192ce541ec1777ed7596577fccbbba5aedf1a83763347775909a93c52d2129bebe71c98187f62bd2e2a40074954734bd17aa10f061b3eb2e49877dcd9c78000271ed7da531f358cd94c92182d0d15326aefb688ffbad94d91f3e348a6a3effe1d39f6ff3bf66728c1840535e4eaedbe24fe21f9e00147a776c497200b069ff243f62e29c62c89596e2aa3d9ef706bcfecc6c255db3fd8861f4884843d1be677f3ad7bebcce04b0f49e4717a70550218396f96ffbec22f6ead300200f88ed46454043adde9620114894ca76d72e088a15a1b193ca0645a92f6f35bf7fb5a72f1358ad568bc5e2d509894497b8ef8fe717361c3947bb5c1f14ed0bc0aad7b4300100b8aad0f182e3fb3a2fdd03132315bf2367d7b2d5272c00f99eab7645808f18006c462322a2e45c00d6da9fbfdcd3e9bd8020c2dfdbeba28884d40949fe969ad3ebb2eb60d0e715eaf30a0b018c9e34734cac8aeb17edbea3feaa68b5fee2f3cccb2b1997e22b15860c0e900ba3d500eacf17ea7a2d54d66fd98de962e88f9e305c940efb54a3f6ccf77eb197f800c2df922bb28d6ed596930c0041d483cfcc0e725fb2cb451440f9253eb0fa7f9b5f9c240180868d9fb41d7fcfcc2a050055ea9dd3bcadb41076f3c438004cf3f95d8d7f0adde51e2dd1031044cd9fe679fa75e20d1393238243634294e109093151e9c306783cf0f54787f40020905ccc209c5bddc200a08217dd93eefd89f009a981020075454500783c005468a487238f9930d0eff256b3e7f791ddad23b95c2e87c3b958b5579c2fd101803c6dace78169f8f44f091202d0d537d5179c6f010069fab4fe1e91a3d96e3fae730939bbae89c3938677c964746a141780aefe940d11be6200d6e62a8ff7fdf103a3bdee3b94f987840405c624467a5ccfdc7dce0c003cf71df55745ab97d24f0c85e71b69809b34716cb40280f654aea6d7429353a3c40068834075713aec4b8d5c9937db402010d7de67727efa21bf15802062d4872fddb6b0fd4456ddd1f5735edceedc31ee7c3d5bbaf1d34ded890a0f6c3fa50780e4f98fbc302da65386fe492ffff7ae0409009cf96df7eff9fc190f0028a5e2b2c427f61eabb101489e7fd7f2f40e171d943efdf689c100b4b907b796d400806af0874b3a79f765f78c920380b6a4f26204cbd97aa21900d4690b3f7be09ab4ce63dbc8b1b3bf796aaa0a005a0f1dac021a4aea6c004247cf75fbac8c68f98a1b23a88e1040ef2aea4335b7fd91366bbb90576906a04a1ab334cded289a2cf28ef9a942006cd3e1638d40dd89423d006150ea23f3870d09102b04e2f8987e77dc32a97d031dcbbbc49c5da8c62d1993ecf6ef2163a7a63a4fdc9d29d001152d5600c290fe3342dc7c52f2b0d9e981ce3095b4f3bab3aad6391b89bb6354276f347e529218008c759aabaed5f6f05a17e17be0485e250b08152a2160ad2bcdeeadd0c0988c6929be008c174acef659879e52f521f322e201087f53aed40ef9afdf7b59fac0e37306f809fc126f79fc3f8bf5cd758d1a9a27f555fbb91f140d1b3963e26fdfb587791b9efabfed5fae9caa86387dfe5d9b671a9aea9a5a694ae9eb13a86a7b61569fbbf1a9f6a3d5bd7e745decb5863c008271f73f97a2b5b59cf965f937f97daf54d7a16cd5073b06bd384b0dd9e4bbff33a4a2b8b0ba5515199710e28c3a34fcbc36a7ce58b07fc6a0718154c4d8259bd31ace17575a447e31b151ce0fe36af38f6ebb38c12ccfaffae5cb1767a981c001935e7c6bbc5eabd5b4e8699ed05f1d2097b46d672bddbeeeeb4600d8b03b7ffa6d8321087f60f57333f20b6a2db2b894b8c0f6c7c0ebab8a7aad664f4b768ab7ffc8f15119691c0ec73d7aec5c74ee3f729ce3b6bda2d78f933bc30399dbf646dd34235ccc0dcf98f26862536d9d9652a843839c1f13a5cfed39e05ce165efdb16a0989d1a2416fbc75d332fee9af64c585d934ea85609b9b45ba1b8989c5d49b8d288b9775d3fa6a6bed900bfd0105f290f00dd7c7663be1e4045759d3523500871eaacc59175352d16f8fa07a93abe66ca4b99b524bce4b86ba397ae34e78c362645c5f54f19b722465b5dd36417c80383039d298ce585797f02adb6e7c84b99717db8813654667f79a8b5e7a3aebad2fc3a6b748810005b71bad3a7acba14aa17f80584f84901806edabffb424580bc0f3acc7c7f774b17a9aa7acd1c90f75139040259b5b7b1fabdd7fff7cdfe6aad198040ee171113171311ac920800682bceec3f5e6c030481a9ff5afde842d7eab372ef2d8f7e9155dacc009440161811951013eef4eb8ca9396be3c7cb3e3ad6e1e51878fd8157a3f3b4bcc9da0400568b0d000ccee3e56858bfe38c0d002556fb2963a382fa5615c62d438f857be62d2f6e2cd5da00a822e2868e18ec7478a6fa336b56bef5831180e5b57fffdfaeb30d0c40c90392d306a7f773fa755be9918d4bde7355a7cf823566de72f77bfbcf3a3fa94bc9557e1131513111c14ebf6ed356eefafc2dd767efea8eae7f6f4f310300e2980183476524064a28537dde7bafffa2bd2815f55ecdee2d4c20fe78edf7995939fc2e6466e57cbcf67baea063ca6463e1f5237156673b5b5dfb9e345fafdd7ca6460f40a8504725c48507a9b8006b6ecafae5a78da5aeb311f6ad9b7fda9079baa6596bb65aad56abd5acaf3c77fcd5ef0f9b3af2a69d67c9cd56baef39db5800fa23bfec2fd75901a16f48447c4284af9407b0daf2bcd53fe6b4c9d9707a4366b11900b8aaa0b098a830e70fbee4fdf6c367fbca9ce5f1c5423701ec9b7ff825af52cb025cb12a3c362e26dce9d7e9fa7347dfd951f2e7d0aafe706e85f36b310a8534284005c046a3c7cdeafa93652d0040d767957a74598f42a39daed7aaadd8faf5f6bcbeea50e255aade33bf08e510087f253aa6fc8a2133ae501941fe6169fd42fdf876f02530359d39d17e762b6ec2670f4f0dd4e7ad7cfabb2ebf63a69c981e1be2c307f8b0b7d69455eca96cbd7c1289d2c215008c2d0d8597e9b7cb82c263c626f8037c19df5e7e266f4f65979d7ed2807983a365b0db60d7376b72cf54d5fd5ec144697151f1914a0120e0c3a06d2c2a29cdf5be0b41397d6c92dc668294df5458e045b63e4bd27b35bbe0a0edacc5c0da2d5e3f89cae58bb822198777a9871e04f2d4285f39cfeb2f7af1870c480c90d84e1f2bacf0481590faf8bcfe3c5873d66fd8aeb9849c3ba1f0f14f0e5680060fc68af2ba0a2faf6ff9c91181be3221008ba125bb42d3977a0d890a1081a6c1980dc6b22ebf5677f5b4da51a9081f1100ab515fdf8737d673aebb21c58fa72bdcfffebeaa9e0be551d0d4d77429b48f3aec46aa5e322710fec2e8b2b75e1dd74ef827e37038e060e170c0f3a435000e381c702e65db571ff0bfe3ae29fe4063ced64fb23b7982f1d3e78d089782aefff9b35d0544ab7f00ed73a9acf51b76939f522310aebc6be711bd10ae6c5c88c30187ba1a2537d634d3fe7e3cfff429b708730fe7951519ec10f8cc983426355c0a40577cae8068f5cac24f4d8ef6a164fd32faf100b6b994f87502e18f81b876c2df96ad3fee0fba6552a090179292717d4a06cbb2aed362acb678cb812aa2a22b8b4fe28cd1ae1faeb59e3c984354422010d74e20fc4eea3efbf2a7d1a3d252c203a412219fcba569abd5a4af293eb721fb02d1ce15c7589f5752a1a4b860f4453939d964c94e20fc519077ed0402814020fc55f1faae9d4bf44220100804c2df09e2da090402814020ae9d40201008040271ed040281402010886b271008040281405c3b8140201008c4b513080402814020ae9d40201008040271ed040281402010886b271008040281405c3b8140201008ff443a7e1ee6429c82a8834020100804b26a271008040281405c3b814020100804e2da09040281402010d74e20100804c23f0b8ec3e170fea5d168883a0804028140f80be1e3e34356ed0402814020fccd21ae9d4020100804e2da09040281402010d74e201008040281b876028140201008c4b51308040281405c3b814020100884bf07bc2b9abbd96c2e2b2babaaaad2e9741eb7140a455858587474b4582c26cd4020100804c25fc3b5979696d6d7d70f1d3a343a3adae3565959594e4e8ec3e148494901005bd99603a593264f92743c62c9dbb5c6927ae720646dca135c3f7938e5969c6939ba21c7366ff258e19f4ca15e05636c160844d445e573f1490804028140c0950ec8979797a7a7a777f5eb00a2a3a3d3d3d3cbcbcbdb5d597d765601d3e911ba24ebb5228d85d11d3b9275dcda39b95573fc48569eedcfa7506f826937bc73c369f345657309490804028140b8f2ae5dabd57af5eb2eefaed56a5df103a140e0f984007c0a92d8c7df7efa41d76a9e610040281400823fd5a2b67bc1447cbe827771b25e42120281402010802b1d9067599661189665bd4f2bb8dc4eb7f8e8eccb787cc00e586b377f7c5070d7c269b60b9bdffde6fe0600d29b67a5028208009a920d1fae5bde00003317dcfccaa83055a73574d5e66fce0962cc9b36e5ff0a20acdf9abbe74f93832e39fee19a9daf590060fcac1b564d8e55038613bffd7b6dce7a00cad017ee5d7a6b10d5f58af7e2f4de046bc356f4f587b7671bcbb2de191b35fcd37b46c77bcba173410b47edfad83d497057310804028140b83aae1d80dd6e6759d6f523342e381c0e97db3966603c9f5b982da3e936c978da721b4201c674a1a418b656c9b3dfdc3f64fa811569d1baaacdcf7f753fa42f302dbf3dbf6ef9d87987572407d7e6ae7ae3ab5b640ffd9c2a735f49b79cca7ab62efd9b17567c24b1157df7fec46737ae7f35e3dcbb3b77dd76cfd9545f515dfe87afacfb70d0d3cf22f7e5b5a7139f7caccc1f4d3b3ecd78e5c7a495f15b3caebc3959eba538e64057c1dc020fd1d7defa29d63c16b668f5603fb55781438b3a17bde5fb97dc9234e53ee721c6db0b8713c325100804c25573ed56abd562b17875ed2291a8e3df141fc8ce39e923edb8a429014201f004006a72d720ea8ba569d1007cc2e63c79cdb157f65b2bb23e44d437d72687330c1d96b67cc189778e14d5a5a605b9970fdc75d7b4b17200e2f8a5cbd6647ff443dde85b6eba615aaaaf8cb159848a486057bd19213c116ce7ebdc6a8e0000200049444154eb9bb5fec141d3efca8da9a2299de795f2acbbbb16a76af52298bb8625ca60095fe1ef172417a364bf17816fe852b444297325a1bbdc25564b20100884abe9da9dab7386613cae73b95c0e87e3b6beb643bae4ae8577bb6d2ca7b7bcb1ded4fe0f8b45a70c0876ddf3098e87cd0a5130ca973cf252479ab0e67ac0cdb5d38020bc63d7bd5802641b780f369cf8cf23eb7e85203d40aa01227980cf80a7ee6c5db5f6f3340b20f2b9eba61b1ef789f4bcc2f3569c85f6265827e8b6ff035e05f699ec5910607125e92a18b15a028140205c4dd77e11d86d36c0cdb55bec9d056d6de9381c6fd254421040eb0b94e9db9f9f96dcbeccdf5d2a8cf4ac9fadd10ab47977062224d71fb8653bfdd8738fbde723e001452fbdf4180d682e64cb063ffecae8c71973d3b9132fadf9e8dd47968cf1b8b2748097e278a7bd08d69da2bd0adcb5e8e79ebed395c4dbddc77d88e512080402a11baeec0e79b95c5e55554551148fc7a3dc70feb3aaaa4a2e97f731ab88c1b7a378c1be2a030018f2bedef231f8c2b081cb5a73ee39d66801c0b466bfbdeed60b8cc7644508bcf36166010040bbefc72596d079c15c287d437c043c40bbefcb890d0018b49c7d62d5371b4c0025564704270296e62e5702bd1517e54d304fb76edf77be460b20dc5b0e5d8b66dc9278bb4b20100804c2555ab5878585e5e7e73b1c8eb0b030f7d7ed1c0ea7aaaaeaf4e9d36161611d4ff33d0fbff1f9685bb84b8594ff9ce513f3567dd56f1300448f9df8823e1782c8a5f78e3cf5e19af8ef04800db14337ce8d947591225a9e7fcf2307ca0040fad0f27ba705b5f2856be63f9203006103568dc5f2356bbf7de9d68f067e3cf5e997963b934cbde1a7c121d7e575be121ea9ea5a1c052f8275f6bea2c8d8f16bd70dc81bbafdf9c95e04a6023c8b56bb2719d7f52e8140201008ddc271795c8d4673d973d76ab58585853535357abdbeeb823e242424212141a5525d448e3683c64c4b642a21e571d1c213abe402cf998aa964f5d31b85af3e762b0c5a13783e3297e3b7e80d164a2093744e623234592152c86454f757bc17e755303718c6028828aadb1cba16e49ec48b1804028140f8c7e3e3e3f347bb7696656d369bdd6ef7ba439ecfe70b0402cf2370971553c9bb4fafc30b4f3f2827ed4f201008847f866bbfb201792e972b12893a1d72fb6311aa27dd74bd98f87502814020fc73b8b2ab760281402010087ff0aa9dfc5e3b81402010087f2b886b271008040281b876028140201008c4b513080402814020ae9d40201008040271ed040281402010d74e2010080402e1ef41c7276bc6bcbb9fa8834020100884bf10a7ff3d8facda0904028140f89b435c3b8140201008c4b513080402814020ae9d40201008040271ed040281402010886b271008040281b876028140201008c4b5130804028140f8d3c1fbc34ae253dca1516a00261b9d5bd9e2bcc80146c60600b0d1ecf10b4d1795a142c41f10ea53a73337ea2d1e7f9434ea7b48383e2128dc47baf658894cc813f129d775a39536db198f8795627e8c5a5edb6aaed399bde63637354222a036e45cb88cb57355ade78a5c1a3e124172b0aa5a6b2a6f36f4bde168d671acacf1f794ebb55297dd2aba9214a44c0956f1296e41ad36bf5ae370bb15e72fcf88520b79545993fe60713debe894302558a592081af596c2069df34a5ab8af44c02b6ed0d5eb2d5d0b12f1289988d76cb03afa6c3c00c47c4a2aecd40d6d34abb3d8bb7b5e251644ab658d7a4b95d604e0aed1090575dacce286ee9e8ff397072ac4b5ada6d226c3656c381743a3d47c8a7bbcbcc9c6b000d223fcc47c2afb42939566010c0af3950a79272b5b8c36ba8f76d8d5de62d4b260a584611d05b5da9efb45af5ddb437b00fa3208786ddcee0601af929fa868f6b8e52b11f40b56b59a6da76bb44ebbf2c85367b19fab6bedb5775c6cf7ec3a6c56698c4322d51a93ada0567bc9fd4bcca74e556b4e556b2e36b990c7ed7be9bd5a3be12ab8769558b07ac948a7458e7de317bd85e670b983c27d9d17eb75e6896f6d05381c6e5f030909818ad54b46ae3f51fecba90bab978cfce144d9afa72a9c7f3cbf25a7bbac38c033d3071e28aa77b0cc4b73874e4c0a71dd7a7fdfd90ff69fe37038ae2b8b8644af983a804f7101ac3f51f6fc2f27e1761740acbffcbfb3d3d61e2b560aa9cb583b57d5feb3e54477a99e9d911ae92bbdf7bba37686bda8861818eaf3fee2119f1f2e7a63c72970b89cce35eaaee1f416fbf0573603e07029af8ff52a8fd74a5d76ab704726e4fd6756dab49450d795a3a50d2b7eca6e36d900fc6b72ca6d23e35db7ca9af4b77eb1bfd9d4e1815492b68acf7e7f47a3de3a3c36f0d39b46d5ebcc733fd8e56099aeaa7b66c6c0f98322c7bdb9add968ed8bf138b96544dc03e3fbb95fc92caebffb9bc35edb65d9c8f88726f6e371b900769fad79fca7e303427d1665444f59b5d5ce7a6f9a776e181ee12b3d5fd77aed47bbfad2dc176b8df78d4b1a12a95ef6e58163658d6281e0d39b46f129eebddf1c3e50544b51d4474b460879d48857b63858c643bceeecd0c3ded223fd572f1929e0719ff8313bde5fe6eae0ff9e9916e92773b7b75ebbf6eda3123cb467631c2fcf1b3c2131b88741c06be3f6300878955c29a23c3ad1c030dff7160d3f5ada70fb57079f9b39282e40e191edc9cae6477e38da6bef504afbd43d7b18363f39786ef5929199c5f5777f9d79517dad6bffda77be66f9fa2cfbc50c486a99a8efa5f76aed84abe0da5d0878dc7161928d274af80af535fddaba9f83656ccd351c9e80af54f7b1cd0a6a5b177db2af51a30b12b200c0d0b45ee3fcc3a669e00a443ca9b2aba10c8df60f564a36e694d95aea12fc6505b59aaf0f9d074b0328a86e618cad5c8188c31772389c18b5eca969030b6ab5ffb72b7feec0b0058363b28baab69ca9e5f205aedc6ecc88a1b89c0dc74b6c2db597b176aeaaf5509101a13ec9c12a0e4bb3769ac3e35ff490cdd2364d0325145312451f3bb34d53cfe170f92a7faf55e8a33c8e6e5ae77259853bcfcd1a342d2534abbcf1cbcc7316a37ec1d0f86969f16f5d9bb6f4d37dc9e181b78d8c2f6ed03df45da649d77affc4fe0b460db87744d4f3bf9ee20a444ec10e9534accb2ebd6148cc9393929e5c77f0f9595301acdc74bca5bec6c1b23c998a2b1071381c2e07f307450e8bf69fd13f0c006bb3d0267d7c5850afc6e3e45455cb97478ac1320e868e502b26268757366a18632b87c7e70a25ee6a4c0df37974724a5e55cb9a0367a7f60b9e9d16b3242d74e389920989a3a746c97eca2e16f80471a84e5a1a1ce117e12b75381c8941ca38097daed1c893aa2e6d9ed45dc31d296d1c12a91e14283998533f3c2dd93995490f96eccaaa1f98102b13f28f9737ea9aea1d2cc357f872f9c2bedba14d533f2022f0c3c523043ceee3eb8f6d3d5e20e630d7bfadd5d81c364d43ff60454a98daddde7aeeda03fc045db5f7e9e1928440c5d95aedda43e7bc0e025e1b971249ddadb1cb20e0e82ab95ac475dd7276a2760b676d9afaffdb9aa552a9788ce5b9eb463b1c8e67bedb03a0596fb2b734f5da3b6887aa2fddb36b6be69d2dbafe9d568d8565cd8676491ab87c014fa6ea635f73ef5f0eabf9ce09fdc727863c3226e6d59d054eed5d847539fa54facf7915131283bbb376c2d574ed1aa3c5472a9a9614b876dd8f8ae4119393421af5167fb9c841dbf5852728892261c4e427670dce8854b30ec791d2c637769e6e365ae70c0cbf79789c7b3e4f6ecc16f0a8ffcc1af45b6e71e6a1230058bbd55c5b0a80b5598da5a7e65c33fea1051362fd1576863d71a1f985ad79cea0e8dcd4f0d2267d5e791dd55219ea2bdf7ef0eca1c387458ce96c7935cdb0e052e2e06851503428de8cfe611497f3fede337b0e1d3db2bd61f6b76fcc4a52afdbba4b1c9e4409c54e31a624879435e90bcb2aa49ab2bed4eeba050bef9dd03fc65fee2e95bf4cf4d4b40119516a00078beb5fdb7e3a44257156ed60eb8517ee9ef1737eedf0d8c0a151ea6aade9bfbfe69dac6af9fce6d1316a39806f6f1dbdeac79d079bd8203fd513530778e80dc003e393e60d8af4930a6b5bcd5f1d2dfe3ebbac2dece9a05fbb76c8e4a1036b7516679ee13ed227a6f4afd399ffb7ed94d7ce672cc91b3e30e9a5bb276ecaab1c16eddfb33ce101be2ba60e488ff06b315a379eacf8ec70916b2437969e12f8065191c9aea1fc72e94d6bb675ac4e0214d353c29a8dd6db3fdeaebb70d6a669d8fa33f6bcffdce098b0610a8b48c000b0d8e9daa233756585cf17641d3b91d6d0d2aa3f5f2a8d19c893a99c03d3ebdb4f0d8ff29b3628d64fc809f391ae3b5eb2372bcf547e9a2b92cae3073b9fe153dce767a7b9ca355717ea2b2ba74fbeb357e37172b8b4f15051ada5aecc5c53bafec587730bcb9e7ee56d8b9d16f8044a6352396e5381081f595e55cbaa1d79070e1f3d7f94999db65266d56cfdede05b378c9c9f91f0cda6ad3ca99212cbdc339f372802c037470b978e489c15ef7b22eb983c3163687cd853d3066e3b533532262025445558affbdfb653e7eb5b0747f879bdeede70b18949ff5d34353d52ed6ad6a3650d0f4ee8372844692cc9cb98390c80d16acf0853198a73d3c6f40770b8a8c6589a1711e8f7d23db3d3a3023cec41cec3ff2d1a316650bf4aade9bfbfe69daed1baec2d8269faf4ae5b847cea5f3f1cdb7ae884f14241745cc40bd7cfdf7eaa6cd8ccfeb1014a777be308443d77edeb268ec82dad797b4fc1c1a3c75ddae3d49d0f512efc2dff7c778380d7c695270da5247297ebf21804e04057c9a57e2ae72d63491e87e22b078c6e77b1766349decf0d9592c864d4163a5dfb675fae05c0a178416adf5e7b873c34ccd53d9d397304545f26f641b6c6ffce9bb523ffc2ba2ddb9dcede587a6ae2a8a12b6f9958d4687876734e9042ecb50b77d7bfb233f73e7fe742185a0da579d2c8948820ff27a70df448deb5cfb6eb81f128dd4f2aec3aa0ed2baca319b63b6b27b8f3476fa3abd51a73ce958e494b5609b9894a6e884ab2e34c55db1cd46ee3c3f1f9b2f1131383379dbcb02dbf6266ffb00f170f076d6fd09bf3ab35a7aa9af5666b529032214061b35a455c36294815e2a712fab7478418e71b4a4784bff283071648f8bc151b8e7f7bb4685c42d03da3e358bb4dcce34c4e0af9f9e4055adf9218e2c7e170ae4909dfffd6a3dbff6f65e6272ff51b34441c1ac753f881c30510ac940028a9a8b6d494b45ae91683292cd0dfda54636bae71300c8010a5c44722acd11a6dcdd50ec6de6bed22d4cab7178d92083a49c565ec9fdd3c6a6252f0a693157bcfd5cc1918f1dafc7411d7e1ac9a5f58747278e0bfa60c6418e664657342a0f2e969fd599b75ebe90aa71bfb71efd1f3e70bb9b4e5d39b4675d5dbd8b8c07bc626e556363ffcfde1469d69e58cd4647f898365012c1c912ce451b9c595ae3c15426a42627046a49ab5db58daee7538900a7849c13e8f4eeedfb33c22d8d7de36263958f5e591a22a8de1d1c9293765443a950687c341db1c2cdd77abe8bbde58bbcde170b85e0102c82cacd55d386b6daee5499592c8e4bde76b9cb70e1e3c50d76aea1fea7bfcff1eddf8da8abb6e5e7cca28dc5f5ccf588cb6a66a07d3269e85c1d33f65b32c9bd12fe6427dcbcb3fee37571739185a1418c915b42d40ad349bfac2cf03feb321aba80a80b5b19ab11a8355d29e8da7f35b220e25962f983565546ad2335f6db3534207c370f8428f00fe96fcca1b3fd977ec4cd1439307befbd8ed352dbaf587f38d8dd50dad86b8d000c66ab269eadd3317f3a9a9c9a1b5ada6d77edc67b458e74f1806b38e31b64a05545290f29189c9179a74df6795f40f517d7ad3481187e9eebac3b907c1e1900ab81b562e4b0ee9d4acf9954d068b7d704224587a586c50bdceb4eb54e980d8083185c1916a0099a74b253c6c7af5b1e450df4ef6c0b200ae1fdeaf59d3fadddeecc440e5bb370c138171381800423ef5fd8b8ff8c8a59985355b0fe718cbcf3818da272ca65f987f88da775b7e95d6d4616f8cd524a6d073d7de5ad4b2e8fdadc7ce14bb6b2f56c9e77038d72487763708786d5c383a22ce5d0701af920b0323014884bc6dab9edafac6e3ebef9df2c494fe6dcb55dae6a0ed1c2e25548739adc1c1b20e961505c788826300d46a0d3df40e97adb2b48da53becbfd765b244c04d8e080a56fb8882229def33862646ae59be84c3e1bcf2db493e686f5d98767fc5eedebf7cfd031deac87fff74e4cd1f77d3ad4d3c6dcdd7cbc67a24a71c8cb73edb36d4b897eea06d5e07343bc3361a2c5ead9d70955d3b804dfb8ff1286ae6e821cec8d2af79656dc31b079386a444a9156b8f16bfba3173e57b5f7ebbf3707288cf00b13e33bff8b99f8fbffbf3be30a510c0739ffd74eac07673c539002c63b769ea9dc6ea2ac264b1def6c6d7f77eb56fe791e367f3f30004f0ec8692dc49b1be221ef5734e994d531f1e125ca3356616564f79e8c57737ed8df0f77966d1357ca59ad71e185488f800cc9a4607cb8802a36896a352c89c2135a7670af39100a8d31a6dda462e4fd86bed4c16db3d6bf7dffb75a6bb544315e668b5fcdb6325af6c3cb8fccd4fdefee1b7f38585b6fab2b6aab53600c8bb50b7ecbfefdefcf2a766ab2dce5fa13b77eceb9dc79af566009f6cf8e56c51c9083f44a9e55f1d29f2d09b0f9f0110ae92b0dafae5afaf9ef4d0ff0a8eeeb369ea00e495d7ddfee2fb37fd6f8d2bcf92b2f27fad3ffacae663c6b253e6aaf35ebdbb93bc0bf53dcb33335ae62f17af3978eee723f9ff5efdbdce68be2923cada5c7d6956d177bd992f9c668cadced14d2d1301d0ea0d364d3d972f9046f71705841b392200816a754b5dcdf5af7df7edc17c8dde383c25eea1e9437f5bb1f0a6b9d324e1897ca59f7b64b8c5cad8190780a69696a6f3b98c492ff40f13f80471a88e8817e370d0361b63353bc3a400941261cfc6d3c9b373295560f0ca1ba71d2aae2bb5cb38148faff4130545b917e11a91b92c3d77dcb0f8b0400bed50068480c3add7e8d40aa9542cb4b5d4ba673e25395422e06d3d55d15a57b9e3e849b54a3179e8405b4badd3a7ee3a7de15f6fac7ef1d31f3efee5804a221ce36ba70dda6eaeb7ed8d5a306964a04abe66ff59f7663554151d2fab978a04c3fb270e8c0e3e5e5a7fe474214571470cec37243e5c67b6e59e2d5c306964a08f62cd814e096d2d350076e7973ef1ee572f7cbef19b5dc7fce5e281c256bbb609808047a995728bcd3ea15fd8d8209e83b64922faf195fecef5e5e71b7f6dd2ea5cf6662a2f9818a5e8b56b53123905c65d7b6181eaeae6d683e7aaba1b04bc36ae3b5d0701af920b7c8301505c6e6c68606c6860a49f3c402e02e080038e361b10f805b6d9034571289e282042e8dfe6ec7be81dbf130763b736550388522bd73effb0d668be75cdcefa8af2692194bf5cbc667f817b93996b8a599bc5f58edcbd7f7df7c2c3c75fbfe7f81bf79dfaec85f0d8f86b47a5facbc59f649e774f3e4c8dae7dd6527d1e40945ae15efa5099294a2dffeaf0798f018d31b636e8cc5ead9d70f5dfb56f3998fd9f3b6f98377164909faaaa459f7bae1400b85c70a9e8900000e7ab9b8c65a7188ba9b05e0b205cc6cfccc90b4cc95873d7dc605fe527db0e7db6652f6dd432561300b02c63f2dcfaabd51bc70d8c9b327440884a5adbdc0a80cbe3db350df306861f29adaf6bd6d0fa96ada72bf7bcf90bad6fd117959d2eabba71c290c1510186c21c49540a5fe1c7e1721b0d160012ca018012cba4427eb5c6c0a178acd5ec9c463837d6b61acd0ebbd5b586eba1765a8371747cf0c4a49010d5149754114a31803317ea8ca5f98cc5b06acb6107430f09f7756e1a60cc46e75d9bb6c1deda54dda48d0b0da075cdaefdd61c1e9fc3a562a322009caf6ef4d0dbba8dbfa44606ce4c8dfce8feeb1c0ec7a1b3171e78f30bbbb611404165a38365acda46579e7545a7b772c58cd960d7b5504209d86e37c31454d6f72c4f7c7438809533d356ce6c0b662aa4624653e75c695cac55f45d6ff6d62696619c71ec0b2d060091be5207cbf055fe5ca19843f1a2d40a00173446954ccc588c2f6fcd79fcad35c9c1aa9b664dbc79c6f8c7670c5e7ff83425f5717fdbf7c29c74219fb2d8e8c1fde2964d19f6c9b6c3a2e0184e9757e65c8188922a01f0e5be1c83a54167ead9783c989612e12f17bfb533dfdedac858cdd2e8019448ea3172872825223e5502ccfc607752a0f2a707a63d3377f8ac8307b4160640905a5d5ad3e0706bb5f9832200a4042b5fbf6d66544820801ba68cddf1f2c7606800e7ab1aecad8db4aeb9a0220140a84a925f5ae1f57ac599526786f1e1c10056ce1ebc72f66057b3d20de5074e9e9dd02feca145b3282ef77849cda19cd3b86df6cd73a6f8abe43b4e95d9f49af8f00c002b670d5e39ab2321a36d0070b6b2c1c132767dcbd9ca0600a14af1c9736d41da15ef7d05967dede1db5ebbffc69cd21a8bca9fcbe3017038185aaf75385897bdf114bed70d4f3e52dad043d75669ca7d62fa5de00474d2de63afedaca6e1600ddd0c025e1bd7bd51bc0e02de241700d09b6df1d7dee7a0ed3cb9ef94a1033f7fea0ed66276aef5c10138945b1c87032ec5e1f27aed1dbf77386659daa80710a15600908a856142fa42c5d9d859e95edbda028843e23814cfa37f7d9b55b2f37cfdb291713e5291c02fcc39023c3363d0333306b992474a01e04c45bd7b9f0d1239ba961e3d7c0680f335cd5d1d418bf11aafd64eb8faabf6ba66edb18292510313634303b71c3ded5c4472385c0e9757d7ac05e02f02633608fd82c323a30134591db0e8df5e343229c46fc799cad7b69f7230760e4f20f073ed6bf56ce05b664e58366de4ee3395e98faf5efac12fce6e10e6ef332c2972637689bdb5d1c1b2cb174cfde4d6f109814a4aa25004858b45a256939536e9ecf5e51c960150a5310118181d0c872326c0472ae455b618008e2b2a55a33501504b050038edfb837aa8dd2dd3c7de3c3271cfd96a77a91a5a34ed55d60b7c831f5e7aedff1eb845a46eaf9a830540332c004aaa7496c2e1091893be7dd01173285e33cd031020e67ae84dc567bfdd7b62c48ad5d73ef1eae1d345a393a3ee5e384b18100ec0ce30e0707832957b9e14077c895c12d14f1412eb65c9d88ebd37799aac1c00cf7db72be1ba0706dcfdd2f8e7d74e7aee0b86a69df1f88bb58abeeb4d1a12c315499d71ecdc8a66938d1e931c39202e9243f1014e8852322d2594651d87cf572ebf71ce91371f5a3a76a02c36b5c8c079f2a31f5a0d26a554eca82ab03656b89a78d190e82191ea821acddd6bb60278f2b605d1a1411c2eafeb7289c3e572385ce7920b4065b3be67e3f16070a41f804305172cf5177812395feed37533d1a3935336df3729cc57c6a1f8b5ad4686652302fd00a8e56200061beda03bc2b3e13e92c1117e369a4d08524e1ad23f32d89f61d9c9190354221e6dd20108f691011c9ec22f3c260e809ee5b1b41540904aea71dd415b9d0183da260d807f7fbdddbd59ed36fbde43c7008c4f4f0670e4d4b9e292d206ad7eead0fe000e9c2aa4f59aba161d80e7bedde99e90a66900213e3270387ca55f64742c80663bc7b92ed49b6d5ffdb2ef8b9f771eca3beba794bf71f775366d63fb3b1d67bfe0b8ec2d262e21232670d3c9f21ebaf653374edbb662419852ecaebd4717cdf8fc9e990981aaee0601af8deb4ed741c0bbe4aef5a5c3b963cddcae55f6778e993da4a2381c6e5f96f50e164045936ed90bef71b9dc97168f177039cd8ca06b17b6dbecd6c62aa78d79f4afcd791507ce57f94845008c45272a8b0bbbb6785da30680bf8075efb392c088aea5b770a45e0734daa8554bf85dad9df0a770ed007ececc690bc3eedcef0ca773b85c0e97bb37a74063b4de3661d0ecd183e78f1b7ac3d0b87a9df97859d333b75d3b3a29dc64a3b38a6ae625fa2e9e3c62d0900c814f5077f9fb2a65005a8c66beddb8382d0c0068db824923f426cbcefc32bbb6812753b6da1c236303dfbc6dc6dd372ffae4896512217fcba98a21290965dffcefa7fbae71eec6b4d899c7164cb9f7baa9af2d1e0be0fb634570b01c1edf39ac54b4181d0e47a0528ace674ebaab9daf4206a0d96871976a4fd6498dde78ebc4f49923d3ef9e3b61f994540ec5e3a9029d5377b7593c9712cb9c57b87c211cacf318f1230ba7c687076716d7694d5ef4367d44daa6158bee9c39a6cce0389a5f08a0ee42895ddbe035cf41f111a75f5cfcf3c333847e21029f809e779ff62ccf8e3355369a593a76e0f8b47e33fa876f7bf2860583427b7d09f8fbf5c60f881405453b27252d26db47fbcf525cee4fafae78f38e39cfcf19fcdd1de3e422fef7c78bcf975ed8763887651d0f4eeaffaf991937cd9dfef10b4f286592e385175ab55a736d99f365448852f2e8e4148675acfcf1e89e0307bffbed8044247ce3be1bac8d953dbcad68abcb89128b9deec1783c1812e9d764b0545755b056335f15e0755eb5bfb00ec0ebf3075f3f20f0ad45a3292e77ffd92a87dd1a2817e92db666a3150e8783b63b274f735323381cce9a0305a9b73d9b7cfdfd036e7e6a63e6493e8fba767c06ad6f01306b70c2d2e9e3668c1ab26c6c0acdb07bcfb5bd2e993d24d1eb75c0f14b66b6d54e2f1d9fd6b9591d851535ce284573abfe4cde4907433bdf4c03d87be8186bb36c3b5964a399a5e352dd133a03d13387242d9d3e7eeed8618b4724986c747679a7c3d95c1effa96ff798acb6491903170e0c662ca68efdf334edb2b77943e20d567ad7e98a1ebaf6aeecd3005ebf7ea8bbf65ab4ada3fb45bcb56c7a778340af743708784ade3ef705075ca154913c52123500005724e550fcdf3366b6edab10f0beffdfbfbe7be1e135b78e5fbd64e494e490fe21aabc67e76ebc67621fc7e4f246edd6cc13eb771e8c0f0f7e74f18c6d27ce7aebc20e07cb3a0dcca37fbd7efdb06fef9ce4ca6df3fea35d5b7c4f76be466fbc7552e7b1ce2f14407953ab7be9fb4f157b1dd0e0700429a55dad9df06771edbf1ec9a319b6acb6f1e4e933acb5e36b1e1abdf1feb5fb7526ebc74fdfbbeaf69975ada6fbd7eed7eb5be3c343004804bc95f386bd76ef0d6f3e72eba491437b3823f1fd8eccca46cdf269838fbff398dad78766d8a000ff85d78cd972f8a4c9a0a38d3abe2af0bbecf2cf32cf47f9c99e9d3b6c784ce0da23851feccc6d3714076335376a5a9fd8704c2c14fcfb8e854921beefec3ab53fef9c83a12971dbbad0c6b0e5cd86a800150087db58df5dedbedf75a45a63583e6590bb542d06cbedaf7ea6375b3f5979df4333476ecbaff8786fbeadb5d163f740a78183c301b0f144a9d9463f70ed3519c9711abde9fe6f0f75d5dbda6dfb7fc92ebc559b02de00002000494441546fd2c0dc0f9e7c74f1cc9da74abedd778236e85c997be4e95c5538f7f5f4da677a90a7bc41f3e8ba234aa9e4e395f7ffe7ae45998535ef1dad9684273ae704176b157dd79bb5b1d2da70c13597fff470f133eb334d56dbf5e3862cc888a538787347def3ebf6dab48d47cf94fc6bedce169de9ae09035fb86ef8acd4a8bde76afeb5ee30972f74d036b00c80e7670f9208785f1c2e3c79ea94bdb5f97fdffed6a2378d1890b86870246dd0f41c0c6c32989fd890d583f1b813281785aaa4f5ad26a7d3e5c97dbc065ab7e4577eb8af202148f9fc75a3864507fc7aeac2ff366749c5427f953cafa2d161b73b877b6770776e6a0480cd5905b441cbe1701cb46dd3de23006e98328636e9011c3a57f1e0c2e9ab1f5a2813f2566eccaaac6bf3a987ce7abf0e70ca6a1aee7fe75b954cecdeacf2c421b2d84147cb1a01649d29a2f5cde020bba21940657d73715121802aa3e3d1ef0f7bd883382c0ec0cebc92276e9af7defdd7f3b89c6737663534b5b85918383c412357f9d68e53009ebd6dbe9f43e7bab9fe408ecbdee6a647ff76bad2a46feda16b6fd87364d5f7bf2606fbb86befb3cdbb3ff8717b945ad1dd20e07ab5dc1dde07812e9207b0da4ef36281c8790c92c3e180f3bbc6ccb617ab1477fce0fee3d35346c7078f8a0d08950b9db34f8703ce5af4c90572382f7cf9b3ce64b9fffae97c5dc3235feff36832675b3b5f2e78f4af99a991654dfae7361d738601caaaeb1ffe72b747725b50e27d9fedd09bed9dc6bae6dab6e1c8ad7435d37aefe7bbbb0e68328958ad90e45536bb5b3bc17b63ba9abcff7f375de9c21c0e07636c6dcd3f488965f2c4a1d6e66a53f91970b98aa4615c91b4356f1f8727500e1ceba06d82dab30cc398a5fe002cb5a51c9e401637c8d6546dae2e06200a8ae28aa41c2ec5932a599bc5509c2bf00de22bfd8d65f9ae3f843e8161c181756585b44c2df00b61b4f5f152b64a673540606f6d96f71bc693c81d0ccd34552acc0d8d7a2be4beb4414b1bb4a2c0289edcc7587e861249e40943589b59de5cd2a069e5c8d5b4be85b19aa4d103857e21ce45ed4dc362574c1d30ff89d7b2cbeae58919accdd273ed54fd47a91dba9ac2334ea96c2d7596da529ec24f129e246929d3ea8d5c759883b65b1bab04be413c99ca794e8c27f7355d28100644482293c132ada70fb156932a7d3245514c799ea6be5a14142d0c08e770b882ba731e7a93c7a70b6c06b9b9494f492c0285b5b9dad65c2b0e8de3f084a6f2d31e79de77cf3d139282173efe122594c813335cef0e9d0da73db59f43f15503c7d9f5cdc692bc5ee4f10f77b08cacb9a4c568e1fa868065accdb542bf60ae50622c3d25508748a3077279fc3e5a45dff52654878ac3139d39036069bba5a6586e6a140885f55670385cbbaec541db8401e1e2b044c6d022d35c908b450d8cc0cae1d186569ba68eaf54cbe38738ebee60595adfa23f7fdcc132b2f8c13ca9d25471d6da58c957f9cb62d32891c4f3c5a5cdaa3f9f451bb4ca016328898231b5ba1b0fdf619744f517fa06bb222234e360da3b206335ebce1c72b0ac72c0188954ea91b3f34907c3d89b2a95c63a8d9561c42a5adfb26064ca5bcb973db3e1f0e75fae858355a68e771dae6369bbb9f2bcb9b6441414ed0c663818bba9e2dcb8b880b5ff7de4939dd92bdf782f24204027f6737028736de9e4c1c95f3df7c027bb4eac7cfd5df7eb601959c21087ddeaec680275985c7ba153b3aa4345c1310e866ecd3fc818b59444a11c309643f10c25b9d6864a0e8faf4c19c593f9d0068db4a9d83da1c037882b10194b4f85060618c46abb03969a1270b8f2a4a180a335ff2087e2ab064de0f285765db3a1309bb5db24e1092e13928527b15505bac6dac1c346d433c286ea0a5b735d0f5d5b1810c1178955966697f6ecfa16a15f8848a650dab5dd0e028919cee3f89d1a57aa74bd94e93a08b4f5140fc9231279723f5dc161e72d4a2876b08cb5b1ca5072922ff79327b595429bf4da937b381cae2a7d322514f775ccb45bb5a7f63b683b5f15d036bda378cbe64f9b3c3076e1132f7b766796b1b5d4198a723a864dbf60a13a4c7ffe384fe6238d1960ae2eb236d5880223f92a7fb9b6a26b5b77ed5f7c81a0c1ca011cb45ec358cd1c8a52f61fed60d92e2340085fa9163795741aebfc82053e81fa73599d4a0f8a12f8068b9a4adc07b4c5ffcfde99c747559d7dfc77d7d9b3ef7b423612b684b0ca2e527057dc975aab62a56aabd55aacb6b6b62fddac6fb5b5d56ab56a15175cd98a2020c81a0204904016b227933d339359eff2fe3193c92c7792094440dff3fdf8f1434eee3de7799e73ce7dee39f7e6febe33ef99fb6f79e2837dff7af5b580d1feff9963bfb8fa02788d8ea23c9f8360183e2ac1a169a03895fb15159a57532c475134add6dba2d26d2dd5527f2d288a5669b5697934af915c4e8ae5214bce9e760014c3a993b2689586e63514cb510ce3fb0ff0ea0e496d072776b7b9fabb199da1b2b387e2541465e3a2e2ddb38862582a2aa9d36a71d87b65ab99a2195542863a296b68df8fa2188da157152b887d52570b45d3eaa46cdfcdeab5871a56ce2fb861c9dcfdcfbf298be288dec9346374f859e5fe400aa3d10f44a609966aa9ad8ea2592e324e959021bbec1e8f688f6b9ed532a772afb9658a766a6368bec7d96b64f5517c4c7270dc188dc1c572cd5d4657bffbad5a998f4ee4635244ab29a0cedcd484efcf1bffc37f6d964541129c801cd4711a8a6141215c7ba2934c8e6497a9566eada51896d547f171a9927d80e635de1bff3047c568e296eebb9b4db39c3a29c7d2c9d98df592d3e17ef14a939aab4acca279351599d0ef7418dbeb25a70da0288ae2639234a97983ae419644476713284a9d98c945c4502caf4919270cf48bb601577f27cda5053eb6a040713ccd6b40d1c183e7773ffd41c08759b69d6cdf7eaadd7d7fe35ef3311a3d45d38f2f9b14306fdc47520cc3462777d9061c9666d9d44f51d44dcb1619fbadeb0fd5caa2c01aa2fdd631922458fa685ea38a4d61d43a8aa6658957c526532ce3d99fa1e88e010706da24971d14cdc7a57af660fccb3569f9ac2e4230f7d2bc86e254ac3eca24387dbb551597e68e3917190749e422622986a5689a33c40aa61e5aa5a1d53a8a61185da4c9ee371e54f169a2d54cabb41d0e48e666d9e500cd685273198d5e7258dde38da2288aa6597d943a39c7de56e7e86e5327a4d3bc9a667989a29dda1899ed29af38a44eca12cc7dc34f6d4d4a2e45d35dad4e6ff45471699ab43c8ae13a5b9d212f028a9deb83d24540c9f2ae565aa5a339b5ef079d2886a5790dcdabbc8f69288aa6790d455143ef738c7ccda4648aa239b5044ab49adc55e565a6ddbda8e487af2a4e67ca3b85072f9b3c68da6d09cda9d5c93982a5dfd5dfc5c7249974892ed3e9e0be569e5f14188d41159feeeceba06886d146045c0154f1e934af1a70f9cd597542862c4b81adf775f23149b6c8345b6b8df78276d3b20546936d5d45b5c268279cc755bb7b19240b4e5014c5f2ee3f710628f7fbc6b2cbe1fe374551b224ca824b7239418166798ae540d1b2e00af8e3138a61298a964517289aa219bf7fd00c45d392cb2939ed14c3d22c2fcb12645972586995c6f73b5f92e09205a7e472d22c4f713cc5b09025c9e5a428dab37413454970ca2e07c57214cb7bef58dd94a645a906bad66ddaac1f37998f4e94456178ef20cb92cbe16b1545d114c74396dc2e530c43311cc5b090e5418f685914403334cbc9b22cbb9c80ecfede932c0a92e08224511c4fb35c70dc289a9165d9eda02cba2886a53915c5f290247794bc75b2342486975c0e5b6bade4b4e9b227fa7e3b4c9624c9e5a0288ae254c1e786b4c71d3ac149312cc5b0ee3b3359f09c3baa51116edc943e84e7b64a7639dcef3a510ceb6ddddbb9b224d29ccaddc5be35482e872c49de536459965d0e59966996537c222eb91c90658ae5ddd79d80c14331ac3b5c81c39861bd417087dd1bd880234133b228c88253165c34cb5e3a25f774b7f9f0e123d6a693daf402df3f9973d720cb12cda9bc174159146335ccf4ec845375f507bed8aa8a4f53a78c832c530c971813313d2ba1aaa6f6c08e2dbee534c7530ceb1e5aa0198a61214901ddea8e98e472ba3f28ebde6d7687dddd4dee0314c6837b2c51942c49ee28d19cca1d0def781b3c57706f32530c0b491cb44494041724916238d16ea179f53053dbdd83ee425970792c67398aa246bc0828766ea88b8024b8822da7288a62d8a05f8992e0a468da3bd76459969c76bf63c29e1d7e8b369a92684616c510d3599485c0aba5bb84e678778bb22cd31c3ff8842eb0af43cd2f9a5783662089ee2805f7b8efe5dd3b673d7e05b70e782f680cc75f3a39fb7497f9d0a1c3c1a39dacdacf736a3ff7c8b2ec3b16654952bcd70b382cfc03645916ad66f3a9722e324e9b313e20f18fb6b673198a504f4caccda7d489595c64dc0578537c3671730ff5509d8831f933e191cc960497bdfdb4ef9bbd1445b311b15c444cc0bb23231e3954a7cb61a93d2cd96dfafca9acd610de1db6e8ec6e1ba83fa68a4fd3a40d3dbf08557ee177ee68a776f885e13e6a1cfd45e0dc3c003d67d3f9eb9e44debbabd18e76b221ff2ddd97f01f6aa1c6f7882332d4011445316a9d2eab7854af759cfbbc1ea68f8cc6a0cf994cb1ec85b9d97536711be6dcafbb3bbcf5d32ca74ecaf67b4192a2289a0e7e2774c423873675694615974673aae067ffa10da2597db436b338e073e821cb2ff8ce1dedd40ebf304ccbcfe022700ee2792ea7f3b9b9a69dc968ff7f09d9cd188bd1c6305c643c207f0bc488288621a20b5f2be12fe9c23c9262583e2669549a5d1445d16aad8a57bb6f17462c277c432f02dfbee97c06a39da4f6738457dff7785b9f578478b422e2638e57e9d9fd632879e6182d2fc9f09521f1ae184614e78ed5a93263f56dfdd6b6fea103341c939710617108755d8112d4a1da421842e0c32b9107a0669989a9d1d51d26c5b67c0996ee3e5f0ad98480a5cc99acb1942efaa1ca0967bc6d4038efa39da4f6af1725fd6ce3036bf6da0479b422e2633c567c949e218362184579e67979897fbb69e64963ff752f6d0fa8614471ee472f9970eb8c1cb756f49735c61fbfb7dfe6122f9f98f6cbcba7683816406573cf036bf6baa5c4cfb2ad1195c87db96c42da2f2f9fa2e5d987dedbbff978f3f097a700e96e9aa6cf8b4236814020102e94d4eeabef3b6036ad5838717661c6cf2e2e78f2d3c39e478aa317111f13bc4acf42aff1ba19f9174d2cb874623afce599932234abaf9e4a51942c43b09a288aa1d59e77714754769f95137fc7acdc0f0f37fcfdf363b3b3629eba76d69dd3d23f3ddaf2f495a56dfdd6e73f3f7e5176dcd553c7fdf4e28247dedf4ff3eae448ed19b755901839a212b92fdf9d99ab6299abffb6b9bebdcb653133da08b70cb962a00284e42f9a907b5e14b2090402817041a4f6607ddf5d5b36fefb17f747524e4bcd212937014a22e26e0de9f70e9e9e9a19b7b02069f61f36c468f9601ddfa2e4a85f5f51b2e158f3c4d4e899d9f1359da69f7f5c71ff82f1f3f2128d26dbafd71f39d8d80d202d4aaba840ec557a163bea7f7bcb4aafcd5e79665e17f1a7e5d3be6aeb9b941a230b2ed3f1dd8cd660c82f737f357a446577bd8a03b0afa6ed54e5c1bee38ea7ae9d459b3b4b23058ea15fd8f6d5075b767dd0dd74e53b7f1e9fa0b7541f34644ff8d3f7e79d715bc9911a845022bffaca2b7eb8a4d457f5fcaf37cdcc4d3050c0eaab4a1ef8c34b5929090fddba383729c625790e488dd2fac6ffaed7bffcc56593371daaf9d39ecfb9e884ab262f3a2f0ad904028140b820527b80be2f678891e352ef78e9bf8ece26c1dcebfe0acd0db38ab6ec3b72a8a669dec4dcc7974eb8ee85cf743c5d9814f9c0c2228ac2c9b67e46125eb97d416ab4fe8dbd351c8d5b67e48d8bd3dff08f2d1a8e294c8acc4b8878ff606d6573f745b9499fdc77f1f693ad9f7dd5724d49d653974dbeec2f1bf53af51b77ce9364f9df7baa4bd2631e5e5cec72395fdf5bab55ab1617a6bcf8459560eeb15a4c850ffd838b8879e5b6d9d3f3d2bcf2cc0f2d2e4e8fd15dfbf72debefbf4472d9459b85e654de3f39f6557677aa345e716e461ba14ecca21866578df1cb1ae3234b268dd73a664e2ca833f6aed95f23f5b4fec0ea3ad466b1359f9a573a81a6e9eab66e97a9fb47f3c6a547ebaefdc7d6336beb6043b75789bcbceaf4fec69e75874f9fac31a645699fbb7d6163afe5b1f70f142547ac985fd4691af8b0a2eefe4513542cfdcee65d3c2dbff4d3bb1b7b2c8faddd5f941ce93e606b55ab6ffcdd42f295b1919ad45cbd21e292a25477dc8a0615b2ef9af73080c6cede3bfff2fe86ea9ecd7fdb4049c2838b272d9d5d1aa0907dd7dca123ebbbcdac3eca57215b125dafdc3ad3b70bc85c251008843039779bde8afad9aab8345df6442e3ac1fd698e601171c1d20fc0ea70ceb9ff7faef9d58b253a6b565cc4eb5f5605e8f84a760b805d279b1f7de69f0ffce54d003d26cb9dbffacb4f5f5ddfdcd5971567b09cdc77596e74bc411d20216c6badb9243f41cd79949e699596d2460a2ec1579e79e1f8b43b66e5aefab0bca3bb4f96248aa203be9330a2b27b849a9364392e423bb3382f252e1a141d9f9050dddcbee9c0f1cece8e6b17ce7cf9f17bfb6dcebf6c3bb16466c93dcb2e7aecfd3d67dc96d9e1bae595ed6fed0a54229763d3ee7969c3ca3776faaa9efffdcd77ad0ea74b10fefef6878d2d6d77fcee957bffb961f3eea103ec6d7500ac0e873bfee6e66a0092d36137d62fce8b3d2f0ad904028140b85056edc1fad934c33ebe6c928aa59ffe44af4a4800f05573a088b8a3bb15c08ee3a73b5b1a298aca9c3b1e4ac2e4a7db4e0368eb3539fb3a7bac7d00bafa2dce1ea360eeb55897537151b2b53f534721484258e8a8bf6a42f29e5a8f88bb2a3e8d62588a667ce5997f70f16493ddb57c4ac6d505d11a15979e18f7cf271ff8e1ffbee1756d4465f7ef5f9437372fe9d135bbd6acfd3041c7effcc7af7e71d5f4a5dbb74524a6fdcfcd0b2f2fc9a96cea7a6cedbeeafae6df3c7085c96abf6e6aceb5c58967d656a486a328fa779b8e3cfa8c9f12f947fbbe9a3f297751614a4ad4525f0d7b4822c0510cdb6fb52f9a3ef99292829468bdf700c1d20760fbd13a77fcc5040d005996044bfff299457bea8ce75e219b4020100817caaa3d583f7b4141d2cdd372ca32e31ca2477dd9254a0122e26e8da301870bb24471aa3e2e0a4082960dd0f1156d16c0a366c6eaa3e1f99e2843d18cbb2a9ad7b4767422488138312a627a7efa87e5356ea5672e2ad1fdf96b5f79e66e8bddea704d488e9c9499c8d0b446c54dc9cb820c4a72b9e5904329bbd3b244531480fc8448007bab9b64596e357674f699f2d29258867ee5de659797e4fc7b77f52d2f6d395555656dacea320d0c38c58929d1a36dcbfbd9b27be7166c7d68e96d730295c86f2a8efdeeec82ad5f35fbaa9ecb9228cbb2fbe3a6dfbbf2923b174ffbbcaad5f700f74eb8d5e174c75f9b960780a299b4f8e81985591f1eac3bf70ad904028140b85056ed6e7ddf872f99f8c1ef1ffb6ff9f1c8b8c40585a9005ef8fc98ada9ca19e3b9ac070b810f5eeb192e22e6cb86fe3eabe3ce4525a78e57ea1233bc3abe793a190064501445bbb580288aa268ef779829965bb7f3c023b75d75dbbc496db527a323239e5a71e3bf37ec308d8b325bed9b8fd43a7b8dac3e9251eb82dfd55af9da569a579bab0f0aa69e536bffd6d8d1b3e89e9f4d2dcedbf03fb79d6aefbbf6a5ed1f1f695c39bff091eb974430d2354b3ce2dca5f999eb9ef999fb80fdf59dd3b2e27e7979e93facad0be65c9f9914b7e344e38d8ba64f1b9762b239795afad9821cc991ec92a7dfbf660fa33e6aa93d34aab6dc79d77d7bf4f9c9b6db668cbb7f5151940a4d3dc5337293dc4ae45a9e05d06d1ae05c033797140280e01cdaeea6a89808038664d1bd07f8c59f567b14c96e583cdb6c737c76f4748042f6bb45e3161665b875afab8e1cbb6afef43f5e37fd83f2eaa553720314b2df9d90eb3db2ac38df1b2b3227090402e11b93da01bcb2bba6bbafffc18b275e37bf0c40bfcdf997cf8ebcb7758fddd82058937c566c4122e2ee9f18aedfeebaffad3d4f5f31f9a5c7ef0370aabdeff1b57bcde67ef88a60fa9ce49ba74fb776fcf83f3b9eba6afa4b4ffcd0e670ed3ad5f2d7bd2deb1fbd66e391d376bb43b49a3569f921c506288ae6d4b44a03c8b2244296e0c979b2e8b0753aed3f7d7fdfd35796fee2ee1b5c82e816e7cea33c595374d8fef179658c86bdb674dce2929f00d856d5faf8fb7b1e9d57002042c3df3cb3c07da4d5e97a664f8b2c89a36d4b16053622c61daef286ee9fbebfefa145e3572cf4a8876dab6afde57bbb1da72bafbbf8a2872f2d7bf8d2b20f761d76ab9e53ccd0f7ced66cf9f2faefcc7f68c99487964c193a80667de3efed91eb2f9ebd6edf51abd9240c983469f96f97d7a744eb6f9d31eec9ab6608a2e4d6bdee39b6272735f1be6b97fc6af9459224bb15b25b2b76a425c6dd75e5c5be4766f92864531445f36a3233090402e18c39d7f2305e7d5f8d56d366952551104cdd00b49945aaf874676fbb8210f894852e738fb79c6258d16a0a167437e44f156d164b75051f97a2cb9a280baebec39f331a7d44d16c00fdc7bf94ec03919317c82e8757349a819417c9b63ba81ed380abb7c3adf43c64aabff6b62c0aee2d04c969ef3fbe9be65486fca992cb61a93d1252d93d6b02cdf196baa38c5aab1f5722f53447397bfa255ed0c50a03fd8e8e46362286d547db9aab214b5c74a25bdb91e6787552b6fbfe66146df9a8c8cb92e8ea6d0f5622e70dd119e9e9edf535beaae75c649c2e7ba2a96abf2c0ad193e6c6c9e640597443b42a2ed5da58e5893f4d8b7dc66cb9bbd5867e87e8eaeb3af70ad904028140707341c8c378f57dbb3cfad932c5a9d44959aaf8348a669485c029cab79ca2284651d05da5951c368f16384581825b5edabd88a7391e9244d10ced2f1a7d7c204a9d9c23da8c5ea567dfd5bfaff6b6f79b3000189586e25414a782e0f42eeb8395ddb9a804d16a1e5cf2b2746cbab1c5e6ec31a2bb0300179da04eca7176b7502c0b49122cbd9e03d55a4d4a9e574a32ccb67c55e4299a611595c853723b653940f51c340d8aa63995ccb032cd06cba283a241b3befd2281aeac37b2fa48d1613b2f0ad904028140b88056ed6ebcfabeb22cd1bcc62b7d2d8ba2a210b8af40b8a7064561f24149e9c1d31d5ef56bef6d0445518112c234230cf407283d7b16ee4af2ccde9addeae3c32bbbcb92e83ec02d59ed164d975c4e9ae52896a3184e168540117a5fa9e6d1b41514e420257286733b15a87ace72b2e0f2845a51169d61bc82f1eee04b2e2700c93e40ab34e745219b40201008b800f5dacf8dbe6f589684507a3e63bfce4cfafd6b6a2b38c86365e17954c826100804022e40bdf60be79a3eb62bc233967e3f676d8d9585e751219b40201008a1209b9c040281402090d44e201008040281a47602814020100824b5130804028140181d436fc81f6d6823e12010080402e11bc4c4cc64b26a2710080402e15b0e49ed040281402090d44e201008040281a47602814020100824b513080402814020a99d402010080492da09040281402090d44e2010080402e182e35c29bfb9ccefee68ec050dd07a9e768a825304041495e5ce8de3c2a9407489e018e67cc7cbd1637cbf9abe69463c73d6468afd9d6baaa4eb6624aac2ab3c80aed6ce7d4d6617af99929790a5779f21d6d7b51fef71711addb4f1f1d1f499b8766d9ef481ffffc3b4676c090e0e814020102eb0553bc3e524471525474d4ed3d49dee4154d4e4b4a8a294881475980638d7bc7bf8a8e3fcc74bb49ad655f559c7c24887b96f5d95c9e95779dfbaaabe702aa82d3ff2c067751d0ceb34b6ae5a5bbead4704c49d9bca57edec18004e1fab5bf9c6896669b4aef5adabeab35a4debaafacc9eff876bcfd8df420505874020100817d8aa9d569715a7ba3348e391eee209c9c5dca8ce673896e62e84a707340580393b2345090c0d1517589536ade0ed3bc2c97b5d7f3b6ebfed92d2cb5238202363ddbebf1ceb9f37c1fa82917eecfa92295aa02c45ffef43af1e333f39c910be67eed6adad3500181a00f461da33b6374f218243201008840b2cb5fb5cba01b87c1694bdcd8d7fdada560700ea954bc7cf4de40157f9eeaa67aaad009263e37f7a49ecc68f4e6db64b5bdf3d505c94ff6089d6efb797e624f96753b3b1ed7fb7347e2500a02f2fcbbba9388a09289c917f6b61a4c3d8fc5a2dd24cc6378d02c0dfb9205b5377fa854627800593f2ee2e89118ccdafd553f98eae974edb011465a4fd78612a13caec18dbab1ff81a19a9e417ccadcdbffbaca50e805a7fe7388055f9a7ece6e70e533f9828bf558b34abf1cd1601c082e2bcbbcb627c939cb9bdb78d8d5f9ac24192449a9eb9a890ede1da1a9a109b3245eb3e84ff4e99f681aa7ec724c3d06eff88fe76353f7798babbc86717a2abf96f87a90717271c0d0ab8b277a38a7c90834ac1710ddfd704028140b81052bb7f9eef6f59b9b5ed9ab9137e9da369abaa7e74d351c3f553d31a4f3d735af3ec2dc5f1b06ffae4e8433bf5af5c968f8f6bb2168f2f8b5277559df0fbede786b717c70fd568695bb1a9f1f219858f17465a8dcd2b369d8c4a2cbb4cdde12efc69bec1d963fce5fa2a0b33f1769d737b75e7ac928237974634559e5cb5fd647276d66b77243a5b1b577c767a41514cbae8dc5ed5d99897f5d2ed895a57ffebef57add8c6bf5210caec921b7d8c54f46b8a645cf159cb921945bf2e34988ccd2b37b540adf18b86dd56d1025b11b3bdbab3b478dc2b8be2c4cee6159baab3b3ca96c40d25f7d616132223d7ac3bb0ae5b0250949df1d379c9f57542697694f71843a201e53627e04deda23892bf765b450b5c4554803d6d55a70202fee634a79277a38b7ca083eaaee0e0740735edd7d70402814050e23c2f82ea8fb72331eb861c1d24a415e6ad8c12be68b4320c0dc1d6deef04a7bdec9ac94f15e9b57aad8ea513a2b406151df45b9d6f85b595ad88cdb8b53092010c8969cfcf4d4b84e42d54d1b4212ef9f119faedfb5b6d9080983b274531a0b3c6272683bd6b56a20a30a4245dced236009080888766271a6830aac83b2f4f43637b8b0c000d0a66db7d8d54f4abbeaa15891977161a18203a31edd9323d04ffe7e13405500c2420ea0765715a1a86c4e41b59b40c88be47e9342cbabbbbb3f3dfbc63c69b3715a635353ef8451758362592f71ea38a8cc85107047b247f3dad07dac307055cd1bb51463ed041c5e00cdfd704028140b81057ede05918612f7ad20000200049444154eb6ffe77bdb7a0a8df1e3da3e0094bf573eb8f9880087dc4838bf33ddbf80080e8bce0df0e21805e5010edfd312e27350e3879cabf30392a02361118ca6492a46123523c8fff298e1d4c85ac4aeb3d4dcd027693a00965b63b98aed07e394429397a68991e1da7094ced1e63e4e4d498c187e49213e0fd9f390fd804e893ef2d8e6400a8226f591cbf7953ef40b6d0daef449ac70747bfa9ce1e5cf5b0fe86202a28e0ac9277a388bc92830ea74270a286ed6b028140205c88a95db03a93f30afe3cdbb393dcdbdc56cbe97b5bbb7545052f964074d8abbeaafecd47352fdc910dc09d89947eeb933d206c6fb6dc9be759b1361faf39a24fcbf52f34f7594c42f01b5ad4602ce4a11d0dc1e5003cd95d440478f71bfda292d9ee7f73a1fd626bd1667679dbb39a1c6043bc4cc850c3044da761a162bc3bed2c4303a2cec0569cee43b1675d6b369a1115cd0f17fb207f43d01714f087b395dcaf1d4de4831c64a1109cbe11fa9a402010080a9ce70df9f4dcd8b6eaeabd3d2200d1d2f5f4d6c63a91eaa9af5fb5a9d10a302a7546bc06904450109cc73b9d00947e3b44567e221a6bb7195d001cfdc6a7cbbba1e67c0be1e87f757b5fd1a478bd275f7b919582d3f7a7437d0000e7b6cfeb4db171190c00a429990d1f2315fdca2a4c444b9dc70c6bcfcbbb4d60cf24fe690549e86e5edf6c0700c9ba76ab111951057949e86e5edfea04006bdfabe5d6054571c17f143eacbfca04073c49d1bb51463e00c5e028f5b5b8f78be3ef560f90a94b20100817e8aa5d9b92f554f1c0539f96ff85050494168e5b9ec231b1790b3e3a79d7bfdbdcf9f5b68b27c681c949e19fd97a686f61c19fa706ff7608555cc61fcb6c8f6eaa780900505a386e6922c3c0af302723e3e7259168ed849a1e5abcb38a0b653aaaaefae64a0900d451abaf4d653a6ba0a6354a6603d290913394fc42daea12f32a8f19f43525f17dd510031a54d380e8fb729d8e455f60d412ff38c3f4e8d6236f02002212935f58180fe0f9d9e6073e3be42eccc9cb7a382ff061fbc8feaa69400af87f4e50c0d3537825efc28e7c7347b0834c8c42703215fa5adad564d9ab72dd40e62e81402084809265cfeaed6843db79b3c2e5ea7588ac8a37f8fc55b8d56a778089d072de6c244a22c0b8ffe43af8b77e48a2d9ea827f85ca85a1b136d7dcb5837eedd61c589d5650d15a2e1cb37d8d543c002e57af43d66a79d559ee98b8dde178836f4592abd72ab20185638142c015bd3bcbc82b056784be26100884ffc74ccc4cbee056ed1e382e9a0b4c9c5aad5aeb5fc2f8ac39837febbfd8660c7a26acc2e19021884ec0a0e555619bed6ba4e201e0b8686e2c82a6ec2317ade7be8e2e5208b8a277671979a5e08cd0d704028140b81053fb05892a2afe270b1803090481402010486aff76c0e8a3caf4240c04028140f88641bedb49201008040249ed040281402010486a0700b86aab5b3eda57bfb3bac72c0d5f3884e812c551367306a7f89ddedff3ee96e3ef5699c330de4357b3f170d7f9d72015fb3bffb3cf38a20cab68e92b6fb68fc6770070f418ffb3afd3d663fccfbe4e71ec8c21100804c23737b53b3f5a5bf1c4ee2ef0385451bde28da3271da10afdce1abd52fb598abbbb366daade2a688afdbef832ac9d16e3cfb7d6fffd2bd379efce3065ce8f1e38f94cb5256cdf0753b58fa0bb75ec8c21100804c2d872ee5ea373189bdfb1a857df3e398b064a5292fe736877bb334bad505890e9fb81d433506a3f4b71778653ab1f5c92534c8f60fca09dce77d7d79b8064d5f97cba119eccb978b8bceeb3869e0a0b72f2e8307df7e227e83e06c610080402e11b9edacdbdb6888cd42c4fcee0f363b12f44a1cf1ab23f0c11f4b113779f917feb38bcf8c1a9ed7629e2ed03a5530aef2d360c63bc9bdaf2e31fea921fcbeafebb43e16e2658f1dd00a9f678ed1fca7b4c00c0df79f1f825696a25617205a9f233d0800f40a3514dce4b9bdcddb143085eb1f7fbf85eb018c600231dfe82ee676f0c81402010bed9a93dae70fc0b8534e06aefb23637b53e63e41f9bc3c6e9150a87cee10c238aa08f89b8bb8f9af884db2fcbe73faec95a3c7e46947a78e301883dcd4f1c979eba3d4375a05361f1aaa4f8fe5a91f98972d36357974e8964daab6b1fda7abaf48ef10812267f3ead233c95f41134e00316e505c5190580d86adb7432e87d01cee0f5bdc4d576dfd64023b53e82ee6726484f2010088473c0b9dc43a619002eebc61d75ffac3401ac810e553874ca8822e86322eeeea326de86c1d3b57e1bec8a765a5fffb465c9dce2021a215edb53507c6fe7a37e72f1f829919ce892553a0d60353a106c27139e4afac81af04a3824456d189f681ba2838df415746f183b6308040281f04d5db58b2e17388ee122ef5c5e7227a4f26d079ff8c2f8e6c571c1856f2ff5fd22ae8c6145d0c752dcdda3e3eed3e2b0c63fa16dde8c986793e85eabbdd32a99046baf23325ac5f865f620c5770bc319abaa6fde6a07cbe6a825806595ec8c4e094b253d5c0df870f1f8cea839e3814023fd3817c610080402e1c24eed55bb0e6f482e7eb4d09de9e892a2586cb254ec6ade1e546806023eef3a8c08fa188abb87d0710f65bcb935834fd65b9edf781c409745025a9ede86df2c4dd3faee890429beb75754bd2924bf704b4a344703fd3fff778da064e7ea4b62c251491f8506fc6838b94fc148bf7b1debb9338640201008a3e2dc6dc8c726a82bf6d59eb44800e032afd9de999c179bae54e89fd74710411f2b7177af9ab8215ce3e32e5938f9cfcb4b7ebbbce4b7cb4b56e5b111d9057ff6cdeb9ef0062abe27d3488e50477334e0dcb6aeaa0e80a8606757982ae9ca1af063206a1e6ca42f69e7d618028140205c88abf6a4e2c21f751f7b6aed014fe6484c7e72764c340cc185fee7312388a08f9db8bb474d1cce308df75bc532b44e79c11fa8f89e6ca6359fd6de5c5d0ba0283bf91ab4fd6663fd2b9707da59166f0f4f255d51035eea6eb36c85ed863c5da8eed00cfb47695913d2828dfcebac21417745c5fa50c6b413857502814038879c6bbd76d1e5320509722b16fa9d359208fad88bbb876dfc3084567c17cd5691e158ad7f8bc17686ab921e24737e78dbc14399c577e6a8cfa6af148df4e36b15a427100804c2485c107aed8c922037339284f98822e8632fee1eb6f1c3124af19d3168155a0cb6335c95f440c35c7643e2156795d7431a397a6308040281704e21a2ae5f23e74ff19d9b599646e24f20100824b513c618a2f84e20100884730f791c4a201008040249ed040281402010486a27100804028140523b81402010080492da0904028140f87fccd0276b0804028140207c0b18fae3b773f3353a0281402010086385e2d7e8c8863c8140201008df2a486a271008040281a47602814020100824b513080402814020a99d40201008040249ed040281402090d44e2010080402e1dbc17910751507a4affaa989295438079f38229cb043a3a3974ca0190080b34ffcef51c990c62cc83edbfb1251909d22c5abc00459b8f98824f8941a74546e3693a61b4de52669f33149d051df99ccf083856368fc88410e70010038ea3ba543c68c79dcc2c4d9d1b66967cda1568bddc924a6c62d5934a128813f77c3cfe97488b44ac33267578fb1f2d8baaf064ae64f2d4d1e9a44624fcb47db9a5dd129d72e4ae7cfd3947676d47ff0b9914b49bb7a5e2a3346417076d47ff0796b6451e1b249317ef59ca9bfa33560ac7aed5c5febbe4eb3bf5931391b6b45e3ae27eef86575f4e57f7ceda16c15e03036ec3dd2d3e7d264148c2bc9e5c2a8c165aaaf6b3c65720c804dc9ce9d1aa71b39f1f5d4561c3cd66005e232269695e4aa068efefaee1f5762f1ead756e5a9944e905d56935582f7137014c3ab551ad5f95a3d9f87d47eea88b0166c58a9dd216dac964c002017e4d1392a0010adf241a31ca1c182ecb33444fe7ca3eb4b076eb982cff7ef2a67bfb4af550a387a7b9574e3326e7cd8d9dd6991f6b54a50d10b27c37bd51b3be3476a5dc905805e588ab34e3921e3160e7d278f3cf276bdf7c7ceaaa663554dcb6e5ebcbc40774e469f73fdf31b3f31f30f3fb6ac48735615f537b7eea9b2454d7395fa4c22476fdbc6a3ed0073d9f94bed82b96b4b553baa9825f3520d631404c1dcb3a5aa333e227bd924ff097a86fe8ed68031ebb5737c97f5759afdcd8ac959597bfca3ff5d5f75227fe5afb255b0567db8f69a4784c15fed29b9ffd2571f4a1cf642d4b4ffa977f6ffc7fbe38e9d289cfbd9e593b38619effb5f5c71f7ea4d4305858fae5fb762b2e1c4fb9b4fbcfdf9cdbf58a674ae2cba5c02afd350b20c8a82243a064c0ebb3a22da705eb2fb396df4c411e1d50dce775a1117de65a0bd4e340d86ed40d3e0dd1003003c0d00a27436e6501c03805205dff50dde585e3495bd732e7b798efb2e44aeef1dcd477999908563617cb8ad8fcf611617baffa31714d363916f42c76d647adef2e475fdedb7cf7df2e6c27400c0c6b78f759dab01cff10018f55904421425002ab542076bc74df9ddca05bf7b6892e1fc5d44b5e9c5bf5db9e0778f4c31f8ad99a4b30a02c30050b38cd7fdb3f377b4068c41af85bdb89446557efecc3e773139cfd60af59b56ef0670e3a525106ab6fae4750038f4d70d7fd83c4cdf88dd9b7df3ba9baa9daf19c5d0a7347c3a98d7c74f2b749ff0c757d7b74dbfe10100efbfbed514eaca48716a8d56add5a9355ab5ce1019a583e810a4f313f173ba6a57a9a9bc6c26af573a2c86b53a3c5433944a4f9c126db9acf786cfd92b7dba5538d80b30d4e219ec9c140a80d324fdf78070b01700e2a2e94b67b2393a383bc5977689f179ec8d136840debb53d86dc6f245ccc1cf85935600f2daf5ced45cf6c6f1c17739d4f86c3a0dc84ca41a1b5c9522dc43aaf9b4b0fe98d4e600800803bd6c063b3e0a4e93b4ee8050d90b00c989f465656cec602d3cd0df20ac392e0f88985f4c8dd6f857f74aba584a6b932a7b01500b66b20bd22800b63ee9937dc2093300e466315797317aa5c176512993e6fd49923ffdafab5ac42573b88911b019c557f68b5c2c73e76c460caa8d576c3a49fe607340dca843e5c2b67ad90480c1a442f6aaf1b4d827ae3b2c414f5f5ee6b7ff6f3e595f0100ccedf72e9c9f4c0331abee1657be5c0df474d810a74143e5b1359fd5579b4500f14949375f3bb5d059fbec3b0d86ac387d7feb178d22a0597ef3ac650581a9c4dad1f4f607c7f6b43b01a6747ad1ed976654aed9b1ae534c1c37fec797a6576ed8f961ad459d9a9ed4d254d10dc0f6cfffdd983b6bda5db3e3824ecc51359f0cd562d7c9637ffba0b6c9015d46ea3cadc220767634bef94e0d52b2572ccfd322c89dab72bffaf8e011177ffdadf34a63686bfd577f5cdba0ce2a7868794e5b90e393125cfb361cfa687f672700153f6ffe945b67273380b3a765cd47955f343a01e41566dd74f9c4e4beead5efd4a54dcccd349f5e73140fdc91bd69dd695546eedd535d7f7ba741951ac9777656748b50e96fbf61e6fc74dbeb2f1e38e81f043f177a5a3ef8a8724ba313407a46facdcba7e4477aa686bdb971cdbf0e6e697442a5bfe986998bc7e902fc0d0ea621d8e0efa4ec78b3dcdf009da2a7830675051b3c8c9183d882eb149b4fae7ea32eeda26977cd8b039c3bd6ecdcd4a9b9e7ded9691d279f0d0ed4389db359b93c54949ccd277d3a422c8e467def707156e84725f372f8205fcab8ff841713b70b86dcc498eed62d8d4ea822efbc765cfb974736368a5069965f1bc654fa4eecfa7fee531cb442987327db11d483c3f678c0d66dc3be3701e09e9985bafefd9fbad700861fbf75d5f71277de7971c321e0ad35ad0f2f09f5b4d465a971ff2375fa27374f4fd9fbde75bb8cf5c071b30b89219aeca9af0200dcb3befe57e918f8cfcd79bfdf83867653f27573a7e1f9037bdeaa68b96341aa72ea9401cae786d8fb6fd1611930db240060d411916a9e919d960117cb530eabd5c96bd492ccebf5eecd07d9dedf2b6ba2d4b00d38404b36a74b06c0aa23747a1515fecdd4b94ced3905cc9cf1ccac7194338cd42ef648fb1c00a8e5b399080056e9b8cfcd92a9573a68a292b580286fd9ed3a3400d8a497360b077ba13250b95a74f54aaf6f7435081025b94b44a77d30bb986593150e191a2de50e24cf5311ca0b50f9b39dc2a7fb8477b6ba2a4500f4456994ad5578f9a0d4e6c0d43c666a1c4c66e99d9d82cd21bdb459a8ec854a4b656ad166945e5eefea903c89bdad5978f680d466952796b045ba511bdfe6906b5aa54a2b95ac02206fdf2b344b104de2ff6e114e98911c4765aa50532f3ebf53540aaabc7ebbeb9d9dae7776baded9eeda582727ab649355de7d5a0250532b7639c047538c526d4ec5a61118b7f663c2c7f5b249452d9e48670295c785b76b64d12a5776c995f5b2d3df9ab6da2e0030a44f4bf60c3c3eade8c5c72f7be1f14b8a34b0d6563cfd416db5198be7e52d1ec777b6b73ff7c671b360af36db2a8e367dd1abc93300b0ad7dfb6083183054ea56bd50b1a7dd99372e7e820115fb8f3eb1a6b9747e4667b7edd8fe8a17d6ec7c6e7f4f53372e5990ac8fe2b50000b54e13a5a6954eac778468d1d976f2676fd73639109f1193dddbb2b1caa6b4716d3ed66d3b566f15a1e4ce5b4d093a676777ff6787bb00541dac6b323b55c9518292e3355fecfbe7fece4e43cc4d978e9b00e7179bf7bf586186ad6df573e55f343a75b191136299eaaafaa7fff46593d3de6476eed9fdd59aa3360094d35add6d3b5663b60af66ab3ed58557b85535f9ac4c36179e38d6d5ff6533aff20f839606959fd5cf99646a72e29a63496696a6cfac3b3dbea067bb1b3b1658b91cf8b65e0b0ac7963dbbe7ec9d75fc5608ac106ffe59818e967408ba2a743d7473ad0e0618d74a358a720d89b1cce668bcbf348a5d3d2d96db18b101403d523852a0f658020f87604a58d0c1de750fda8649e822f95f63063e276a1e250fd965e265d0538fa5f7dbb626323936e60e0b0ad7d7b7f40dc143af1bd9e54a541cb843f7710d88323f4b83fad15070160566e2c0bf3c9a30080f933bf378353654db9fd36f7167b4bd340a8d3d52977dc75dbae1577962f32547ef4e9b3c77bea0140bb34411d32f5c45ff4e0ae8327f69e7cb8f3e3579e7bfa671fee0180a5178d436cd6640038d1d21baa395906640fa2dd6291c131346461c06cb631faa8c8b838bd8eb19b7a1d1264c882cd6cb5c91a43948a914451f6d9d91725599621090eabc8e82362e32322b482dd6477c917e8aadd73bb1ad6921db5d52200c4d11353986e83b8dd8cbd35525929ed9df00f5ec3c640deb5d5b5a5175f9e9462207601aa68e62717333ce4edff756d37cb9f574b37f9bdf703771267697ad9025ab3c1b9dd4a5d71099719e20ea7c128350cfd249dea944bf5f4551329514d4d4aa59aaba4835d3280d62ab10b4034f3e38b190de45d3b85fd6638dc6e9aa557f702c0e2f9dc9c78ca663c23e355f42357b07a87f4e74f05136075a1b94672001189ccb5a534fac597774b0ea3d4e06072829e39b575c95ed91f95063fcea7d775496d8d926d3275a415006666d1cd275cc1b53565530a4d8b81716ba8f07427aba62f9a484d64a8a458f00cbd3807822670ff9f651900bad448adef5e2fef79b3868d4ebbe7529da08f9d961b51bfb76f4b6de7d04186d4677f5266b0b5acfa7d79279c034ec0e7895d4379cd00105f58f8bd6519e8aafd9f376a07aa4e355db5e4b79776fe7c436745550f80c537cc2b8dd195debe50fbfca76bbb35b7dfb3208741dde6f2e0134f97242ab6d87cb40180ae70e2ea9b7280fed7576fffc211f23908a3ec0e357976ca5bb54dd587daac8b547b8f8a00bf68520ceb14821d77d8dd175d91d3c72ef90e378dd5a6a5a91af6ec6f029091b7fafb455a0c6c59b3776b27e3f0e402fea6efcd5b9ca5b3d61ff1b3c590fabb9f94c541d8f1af4d6f348a5b0e397fe91f045fea76573501ba8cc23f7ebf808773e33f36ae6db77c52deb322c53d80927eb76a461c9c5bfeb5794da3b8695fd7c4fc217f157be1cb6826c860d5fceb6726bdecdb0b0a9efa8434667960af6d5534f2c7b387a6ba62f46052ba14f88c31bf40951b4bf295cb93316c94063b029036868873c39eaf42f763a0794abe246496a5841393a18efbc98cb88e933f7aa16a009a071f593249d3f1fba7f75443b4fb5f8d953ab13af28614040dda86dd61cf1d31b80787edf180db65a70d00b26318805679d6e6a200a860c82ff21c2308211309a78b8ed201e86f7eb9a6a17ef04a34ec83015617110b60e0c4df9f7cb9ca53a6d3b04074e61260332c3641713b1eb2d3dcd5e9b7511d19c1002e9b0dac5ea7e664596635116a7b97d321708c0c30ba98288e82147025a1bc5b00bc4eafa601f05a9eb28aa2048eb970537b5848d2974d00802ef1c5ad529b1900baeac4ce52dabded1c9749c7000095a0077a016970034243f10040e52651dbcd72ef0010e3b73dd1e3f0dd3b0100d105288f2bea96cbb87c0d00f9d04ed7c7466caa944a6753edcdd2be5e79dd81a1abb97bbdacd2501a00a0e6cce5e60036a35ff7b7f403f19e7f8fd6f888045a0f4045e5a970d0011668eb9501988ce2df360e4d4dc5e1b67c095ba082fb2086a3782017528d43de754c6c026060c6695011bab6e0a603e29659cccc3089fbbae44d07040060a8cbe7b36911f49c52c5db2511c0c069631fb2a23c055dafbf50711afc15b7ce9bcca3f958c3c6c6aa57e1f330c37d1f9d9b6c00a0899a6cc01673c0a8159a9a9d003aabaa7e5e55e56b7fe2f4fcf40d9d4d0010bfd8bd61321824c10968944f1443b6c8009837cdfd7c2372ce54cd17bb6dc33d9e5672479395558aa60ab371cb17ae930092320bf5602c0a4766cf2d5d66acd858dbffc6bbfb0140a5bff37b89c90200e8220d5a00d02dbee9e2c580279767e42ccc52d8944c9f981107006ce1841834764208088292e9915a1e00f8a27cfdda768bb1cf811400489f9a1d07007c4a2cd00808e288bde0543218709ef4312047c9d34cff2e563038d848df0d42a53a3df3cf7327e9e8b48c18a810e5ec7051f2e98890711687e9c720f342c427bc98b84dd2abb500a2a25380ead8c45c3d80a849b1a8ee0e6b2ab119c18356d833bab9e3676d183d1ec8c2e21c152039fc96cbfdc72a3cef7c6842de19749d7867577d2bcbe6cf9cfbd18a699d959fddb3d7580fd3af77375cb9343352e90cfb892d5b4f0f38e3262cba755ddd3503ed1ffe72f6ef3fc2cf9ef860c1dbd7ba8fd87facf5de69b10a2b768a37c44632b22c83a228c9dedf63370fa863f4a0680896beaea101470b2218806287b6ec29ca37b3cb006499e278da673f80a24691422fd0d46e691a5a2eb7f5ca2ac6bd08960fb7ca731800e86a972ca0f58029e0ea3ab8add1dc2b03d00deeb47775ca22c008726bd09e8110fa3688a5fd6ea260954f1d17f7f5222e9db97d1ac3b40b7fda2d410c685afeecbfae2fadd43525943bd52dc8c1f66af9c461d7a104defd4ec6688de7072d340cfe23269242af1c97c5de57468b825c5b2b754b8893e466a30c8e4a8e191a022c47f1dc908da0e9e9e9a86992bfac92018ccfa7f910b5c532b262d30171ebec467c327d67291d25c8fb2b852fbbe47587a449f3e98e6e8f25bee7654eccc4ee2a38dadfdaddb172760280ba7d27bee8b601d0ebe9da2d0737363ad34b26fee8f21ca6bee2a1379a30b85ba8e6dc3dc1452adc6db3f1493c1a6de9d3cb9eb8345974daaa0e377708aa041ea7361c691adc4b7e6573db634b92fd8d573e318eeb576c51104400e5875b978fcb026c878eda46d876fa42c91d266641095f71c8f6c9e72d0066cd4ee781534a4776b4da920a721fbf2c39c6d1f7c596c39fd45a5edd78fad13411005ceef59ded937f6cffa497bff78a3800e969d18a03b9e9649b754982163036f503b08f30f27deb97ea5b6c00a2065f186c3ad9665e926080d46b0ab717a2cda7820d7e70e55c5f038c4a9e4efb7e4170570f1a3c9c916e14eb9cb008009aeaba4424304ecb69475881522a1fce80e08e1829ce7efd186c5e88f8648f22264edfcc3b5c3a509e4a9ae0413bbab913100a658f6e4e6b330e40a5494bf6bbd8081800b06d47a5f5d6f1f1d316023b801d7b5ed81cfbfde403ff781f007069629a5a6cd9f5b77f7d66b7a9a7dffbe082cca17b5c4bfbfb35b5870198d56f2e9d186b1786325f8853d89e3df7fcec1560d613eb5f5b991e191dad1d0f9c18bc4d058045d33242be48078072a7605aadd3d8fb5c12204b12a58a8834a8069fbb5b058a051cf0d95f97454186fb51ba2ccb81ebf70bfd353a450eed73b527b0cbb2fd7c385623018848611f9eedc9ae7bb73a37f5a2bc569ae5de25b34acf6f152630f2c12e0028cba1d3585955273a8ce28bbbe50c51ded70500f3f269c6240180597c7db7cc754bbe6f62bb4400f2da8dae29e39965b9c1ab4cf9f50d4e150011ee5996994d6bed32203b6d726b935859e97e2b0229b9b4b7e914a774d00c00f1ee5b6915357732cbb63bb798f1f10e217dfae88c8749f9f5caf4740af57257bdf03ee8089bbccf2883a1f322c597774b60e847aef1fef1a8fcce7adf8769d477afe0b2721834b92739352d850a55db7db34376996fdcc6750beb9a805af9aa62cabd8a8b88a4c48e214b7c5fee6392f3564eac7be1a8b362f39ebb77f0e9bcb3c90c00e9b327e6f338050680dd646e3c597d606393efaa7d78b28a52b0bfb6697fe56be88d32b56eacb241955a9c62f9c37e0ba0597e69e2171beaab77efdf98bf6c5996e87202b0bdf8fce6790bcb96299df8f4cdca6f5e644d4ac1fedacea3477e8f9ecc7ee316f3887629bb933b351387aadd8ba9b979865047f61c3bf2ea2111b19df75c9ce8be62c72745e496e5ea761f1da83afafbb57d9956e39676271099e40eb1202a650fa0bbfee97fb966c55a3e39ea04306f522ce01784e5a543fbd8993ef5e7baba36d68a00bf6c7a02badadc553df12ffb2cae7f4bad086041493c1c1dc3f7c2efefcdd5ed0934382552acf731607c9382a7fe3def67f0d5a18cf4a15b297a1a775e6eaf7e7ead95af6f690a885770a0840ec5f24cedb0511aea88b0e2ec0d4baabb1f83cc53f4850f33265d6d6166f5613ab16c7656f0a0cd1acddc090885628f0bad279f7ea309aaf4675795fabeda179598076c82d9094035e1ca89739f3aba13b67fddf7debf0637417ff7a31415acbd275f7ee59f00526f59e9db7052de75387e1840cb91db5e39e22d5e5a9012e938a9780a3b7ee91378e537d8f39bcb0a7e33b46d70f9f40847e3decd23bcfaed7f016029d84409ac5a259bcc760daf662959b45bcc036c849af3bb23a0213a0449c7d1106d1617c09d45523f0fafd10d6d370edd95c95dadf289803f2a13a423bd00315338a10000200049444154303d6fc8bcf1b9340087511a5a76f77a1e754f2a6667c680896056ce66e280b656699f5106432d9dcb8dd7804f641647034043abd4c45071434d53f9d9140087433ed1e7df23f4d0d5d121c201a854d4d442f6d60974663e9d0c98baa4770e882deecd14abdca76556cef4347db00b5051cb17b171f4d01df39c396c1c0087f451833c2ae343f5922691fdc1145a059ca897f6196568a95b96b0116ed754607c5d080e7e3c3d550500aa443a5315bab69003c42f6ef953b98be22858a58f0f88fb7a1161a06f9848c3c79280f156bafc9287e7c5eb00383c79bd745ee9aa25c900c6cdcccf033a6beb9f7bf7ab1a5e0300dda62e21f81634b0566dd6845f5d99ae8373cffeda8d5536c4c63f7c6ff686d76a014c5854ba6cfae47be6450258fb5a798ba899302d1ec080d956deee503871656924945be4d3263cbe241e40f5d1a62d8d48370c3d101d7ab4e6bea7e211ca9d4e27f8b4f4c50600d015668fd3843c32f6e2b9578ed3a0bbfd9fef1ed9d8e88c4f4affc1c2642626e75737e7a5bb6da875c210b3f2deb258c5bb741de30e932e36526d6cf9e4503f80598ba62f4be301bf20f8f91993f3abdb3df56facb241a5bffd7b0b26e97de2d0d8bea5d60660de928be627b3befe2a063356c9e0387f038a9629781a30de7d8f1fc9480050ac93cfcabf29830170ec68cb493e325de537969402a55c3e8201acb2d981710e0a4b4a08f342c4673431191c0c21df0d19662aad2c8d82c2a01dd5dc41383deeb6511f686af2c499f900f67c7cac1b4064d90bbba7de77e9e02f4bc73dbfee8aab7201309a18e5d7e8d26ebc6ff94b99daaca18e4e7ce8badbfe98ce853c2566dacaf56ffd7e61a1b760f60ffff8e11f6e9de868ae5c0f00cb4bb32343adda037ea4210b8244f37aad9ab6f775f57577f6f79a699541ebde681fdc61a778bd9a95067a3afbba3acd5699633c5bf254e8aa4784f22efe8f36b4e19b85048b43e655141ff0f2a94d1601bdc62f144e87ec94020bcf189b4d0647695885f2e0a6cfdef8e19e5cd864d0945e3536113de3da44013697cc28c524d4cb31668b0b22547a0def379525abc5015ea5e5cfe0a653305b5c60388386fd1a4f149d669ba8d204980d00a2a5e3a30f0f6facb5c190feec4fdc2b8ff0dd513e52740a56a78b092c97ac168708c6a01f6e5bc35a7fe4c1d7ead367cffae59238b3c5c1f01a6db87f551cba7e5130db5c6ef795fc0d15cc910d0ee1e91919396c9d4e9bcd21fa9d152a50230530ac5e18ad0bc1e68d263e676fd26867c4194fbaf07b7ce0e315794f6ec6757fdf3df4ad18c1ee7080d3f9fee1c1c0fe171fb87bf5a62737555f5fa8f0d289cb3e20020ca3e23836cc531c0303221895cef360a3f2c5eb6e5bbd3b7fe5bbefff74ce990455964449a6689a0ef1cc5c96440914438ffad2373133f91bf3ac3dcc1d07c514a8512ae455d4187eda411322f56ac2bf75188df1c33056372b67591bc342cf8eea5cd6a0571c7bb4567fc6dfd60a55e7989ec8f006bdf26f1c2d8d1b6b6d00f24ad20ca37647f94886670d3c7b86511245003d3617401b4617d5d0f53343b152f237543047363884a76764e4b075f21a0d1f66a04608e0d98cd590352898378af89cbd49a39d11673ce9c2ef71dddc7b1ec5e63fbe7fdfdbf7d4aff2243156adf23fd57aecdf77afde74d9aa77af2c54fe0b774ead0bd8631bf11495cea7dc71f495d5bb017cffc6b2330c2a4533ccd9fcfeffcfaa9d40b8a0b099eb5a2d8c2122334177219823daccb5ad16952136f36bfa44ff05e6ef9807ea6b0f20215cec9d2d5d02b898d4d09f9415067afa999858f568f62646738a30d069ec146048488dbdd03edaafb86a27a99d40201008846f2a8aa99d88ba1208040281f0ad82a4760281402010486a27100804028140523b81402010080492da0904028140208c0ecaf77bb5040281402010bee90cfdd97fef4d3791701008040281f00d227acd9ae042b2214f20100804c2b70a92da090402814020a99d40201008040249ed040281402010486a27100804028140523b814020100824b5130804028140f876c09edbe6c4af3a8dfb4d8e185dc4ecf8d8b891656fc53da7ab7739c4084dd25d99b16e5bed56e34b35c6b8c49c5b12f567698d200a769952b34c40140447f72b35ed0ec66b1f1da7d1972525e6ab4621d42bd8ba5fa96b7768e35664277a0581c7d0f8115a0f740180082e6ec5b844f5d9571e226ee10f8350ddaa8a4cbd355ef8578d511599eafdd505c5687d0fd5e376abf1a59a2e556452986e36194fbf66b4cecf299ca71f1bb5e850150ee3e0686dfe66f5d405cb9877fdb7356ea1e6dae0a538614576bcfa6b08856033fef08bc35ff169afcc2bcef77491d8dcdd6b12111d159bcc53612cb16dc70dbd6d8c6470464eb11854dfb4d42ebcbf77ed8a86cc3fcf4cdc7762cbf776646e5b3e73f20831eb5bbdffc82e00e89d993ac77db0e0e87feac48939eaf45b12cfd69e37bf58fb7047c2e6e50bcbd88021d2bdead8b1a0e353d75f3d6756d851b7dbbb571d3b868492effaa4f6b1337ec451aee8c2e4ef8e416a0f19b7b02b08d9ad88525f1e01f73f6ecc8c8dbaf0f2c5687d0fd5e382a3f7a913c700264c377bfa5b9e3dd192909e370f63737d0f51e1700e8ed6e66f564f5db08c79d77f5be3166aaed9ed9dab8e1d03267f7774a93ddc501c6ef8eabdbebee2f153f2bdfd6333befa653980c9172dbd32961fbe19b3b6f1b7b19576f70f3abc1d99f3505b51a6f4cd49ed764bcb8a8684cdcb6796b140666ac67f3f7ca165c28b99c32d5e4fb735eef2fcb3e5932eebe4242d00d00c8008860620c8324b51676a11c57300386df07ca1dd45517f5e307dba1a8d5df5b7949f025a2a2dce592a3edcea3d9530c18563617c98ade3a1b299e33d9d2c39e908f518541d3a6ee1314cb7826758f73322fec25c348cdef7103dae8fc839724506c7aa46cc91eeb334dc98c563d80a8773307c9bbf913d7501e6aab1eefa6f79dc42cdb5e8bcafaec800c3477d1da1902d1f1ee90070577a2c0051b0d57419771cadf4e4d7119f7853e6d7bc79dde345ddb30951cfb4a79c650f9cbb4123382c48cd1dbcfde117e626acb2385ec430a9ddb9b9e694f787676bda1e4a1ae73ddad4dbf65c79c553b51d88ca7c697ac975d12a00765bf74bc72b9faaed0070e9b8924727e64d56517653d3dd7b6a0a0aa73e991901089f5496bf6cd2fe6e7ad6fafd073f6901d0f2b3eddba6e54e7d323d22c880c8d989d1f94051a46e55cda9d57d7000004e194f3ff3d5a9f73afa00ccc99cb06a52e12c2d63b7753f7fbc72756d0780ebc797fda4302765b01635d0d579fae7275bda5cec0f8be2466bfc8f0e36c4252444d94eafaeed0352ffba78ea2db11a00166be7b395c79e6de800a2ee2b99fc687e92d2c0cdbc715c66fed028b43eb777d71641fdc8d4a9f33494a5bfe1071575ba84f17f294e12826a532b361de5fae39e80b8a9b79eaafacba113bb004425ac2a9af2507ab460353e7fb215bae407f293d4a3e9d6c0dbc1e098f0b617f755acb7a97f3463eac55a6953e58117ba859ba64cbf259a3fd550f9485df7b49ca94f662a98e43bd09587c4ac49458c73b813455390ef118abd16ec48708fdb6d5dbf395ca78bcbfd458aebb1105ddcde7dfa91f2fd1bfa503c6ef26dbca018a2e0d15822b4fee8cc2a0c72f0d1c8febb0fd61464148cb7d7ad3886754b73fe7db44e1797fb3f854996ee861f97ef7557755f8473438bf586696557ead9ae10e516a501e65bf9e6e5737cd746c1132ac3de1c6eafa530cf86d7539ef9959c9c68697caab60351e3de2acb6c385db1aab60f51a97f2df3c4cd77e4848a6dc88e18a972c5891c4ed7079e9817f1fabe8a7330bbd91127e9b017ae331ebd23361a72ae593bff505183e89c5f17a7e843043c70bce5c57d7cb062a40401007673e7df01207f7e140ba0fef4fe774ff4879f16bb0c4db5008004fbcc9f74abdf4bde5e4e035c7d0d9352207e4352bb3e32f7c8346f73d677ca3b1e5aa01dee56c0625cd50120f3a325197fdabc73574bcd2e5bce528da7ff76d51ed91595797d6ad47b2d0d2b36f7475fbde462aae7ee4fb66c008a33f3e7091d7faf3db4a1b667d775333364e786be0e383c71ea3135ec6a49b55274844e130d0088d0181238c59bab867f544665f1e8b7b43ddb0760c20db1bca5f7d4cced8780a8a7a6cf445fdd53a78e5d665337ce8df981bbe9d471d3d0fdda89f2f74e98767e27020034745d77ed9ccfcb01fc79f1d517b1cda335febd8e1674b42021f3fa84bef73a5aeedfa22ebba12cc7debeecd31dc781ebf3c7ebfadafe7e68c717f605db2625067567c33387b469eedb3f514c48cecd570d3cd5d0929c9a372f3bb2a2b96a4347dff772a7b1b6f64b826afb3453a9e9eb0b03e276baa1f2fa43b548c87fa9206af7d1fdab776fee9b7fe52a55efea53a700dd3d41a97df86ef5bf07e8568ac98c4c55cbae062477165e9c297d78a26117d0dbd47f4b74f4b6ba13bb3a70ed14b5a249bf4dd2f82c869486848c114ea483c68cb285338b82eeb7837b7c86687bafa505aee49f2443b18b33069a8ab6ec0730675c7eaef9c8aa0ea58bbbd2683c517aa615063928c8ce0d1d1d1b3adc87a6d282c7e6c733dbf3b7ec053027333fd97ce4fe5a0098eb2a156c21cb97290d30dfca39bf51d27bb7d2840ab7d7e65d9c115e4ff9ccafd44ba3b0a1aff6962db540c2a509511b3a5aeedfc24ef1ef4d21c47c4ce91bbe2342569eef5488ccc61ce7885daf14d2f93f3b27b3db772a851158bf40e55367387a7d4f0cd968a8b9e61878ada505aee45f142bc66dc1b6223e68bc653f923f62820080c6ee6e00488888a70080a1d5c028527b37df07008859de1da792b0d89a5eae6f027a4ea984022bfbcd48ed6055e9eea7aaceded51f6e7e36736663a266b80718cd3500909f352f3ab13913bb1afade6ced5b3a2edaf3eba8095f7da73809c225e55b57d4f6bdda6c4a46f506a078dceccfcad2d5108af7aebdbfa1e1e5d609bff6bfd972efa77394fede92198681865d2da98fcf282b0ab12ffeda89233e3f75ec37152c5127be3777b6ebffda7bf3f8a8ab7bfffff559669fc9be2f6425845d22bb0111b928685b15b1aef78bd6d65b6febad54fb2dfdd57bedafdfafd86b7fb5adf77a4b5b955bbd0a4aa81b463120b28400210112484848483264df33c94c66e6b3fcfe986432cb67260b5b0cefe7a3d73b399ccf59dfe7f33aef733e9fcf5185ae8ad09f677b81360017cce73f0390b1347f618a11f6e5674affd6c7d95cb7a0fae3b9f500c2febceef6fb43f8fede09153e667eed6dd961c2f4e6bc82c318ec1351d574e12c903b73f92f67c4c26a3ab1f7f8d98aeab3b362fd9f5df8a0aac2fd7bb66e5a7e6a1aaa4a3fa8ebf8ffd2545f94f700311b638d55e653fea95526c62b642df9b6dbb91ad76292a856853d3c7ff95a469b1ea2d2b2b17f5eb8d0a10ed38eb75b3da8342bb7c9bf26cd47d5e90f9abb7f15890f0000679b3bcd33b0a7cd357756dbba148a14c4d2864c02b009412f64fceb5eae58c2df25fb2d43f8f5f89228ef11e8d7c5b5adf50066cfbcf5e37971c08cf82f3ed9dae337a494ac11134ed0af82fdbdadaeb4fe7ce7f2fb4335fdbd2e0703752d75006667add8bd2081c7f4a42ff6bcda03005581c295cc75c8c08613f772e6820ca831f55a5856fc987a6a687c85cd3977dbec38ab79c527856791b8e7dedc65aadea7defffc030856c57331fdda765a908e089ab862cb7ca9c5a85daf74e185c8dbafc5e8f62cc639f3f86e5c9e82332eebf5bc70944c838e35c506cf37f07ef6a6bd67eedcd4d10402802009006052bb0a989ab1e4850cd4541f79b7a2736c023c5431810180f0c15018cd009ccce56eb65fe30d4df99cb92cb7b062d3c2d54d19419f6890fbde3ddd060055154f89751fd403c067c5667346b84b04d66726c501009feaba8b8ad2d0a6b64eab05007e616c0aeaeb2fd89c70f537e79a76391b0746d61f5dffcf29066a86c4bdf7e62e540310f69d39b4b1a26d53555bd33cc385a6fa2d358d23b15410249770ea8d00a0b97fded2fb01f77d1000d05361752064289bf1163e373e3a0c006f5c1383c36d5041bcd03d00e07045e1fc11e18653a90a1f7e7be962155c2b7a3cc76ba1f9214affabad7957bdf3208094f4056a716fe0d4fcb2f66db75929f3b6f6614b55cda6fd35001096f2ee2d0bb374e1f72ba9f5a8ddaa805f9b8425c46fc4e90fea1bdf370108db94a2de5edfbce342ff6160f69ca43406502c927fca7e26316bf40b956cc6bfd7fc50e8716f94da9907f068b2ebb6a4bf2b33716b71a3efe8e5e06f8d9793a072053332eff1965eb86e676a0d0f00ead09ee0e141cdd53f71041d5063edb5b1f594ebe660d01a01684266016713e3e7aa01186e4dc4078d509c12fab76d908e089ab872cb08a3f794f2857c68c2b518dd6318a4016e5c9763bd63cd34e858536eb74151c1de00e1d42802e131c0c3bd1e63e2d8b10aab00afdd9676ddd0842044e2be41d22eee3bb36b6345d6de7b1e58a819e5f1b19e8ea6edc3bef20735981d1676b6a707a8d8d73deb7e16003e6beee8c9080d83dc61f3682500a2cb34e5ca9e5e00f1c30b299fb5f70819a1bc3878da6ffeeb0c5c96e1ab876358fa8bebce6fa9695b3fffd6dfcf88e37baad2f796c2e993b5637bd191cdbdba5d39d1001096f51f59dc8f8e57bcfaf5b1e5df5eb50413297c08ebfac1450dd938971062007ad62f58b33d2b42101da5ad6d8da23a49b657f50e8253a71b479643541ca7e5dce6238331de3b3fe6bf4e376e2e6a04f06c5a8c36406a095cbf52d6beed66b6d85362330f672f8e11073ead3eb5b9aafee1cac4a605310dfd4325e1c7d3adbe66afd8265cc8bd59611f54d5bf580e242efcf14c7e7b7dd1d6f23600df4b080f58a485c93e53497f9318e3851e3613acd7bcf252e8712ffcdbd9290a00f634753e151e0b380e35f8cb30ced6952859e3c413541c14ebc3437c6e133ccb0338dbddd92247460d769f1d253c9881f927eed7b05e036accbd163f8e9e1a6ab4b1fa49fe6d1ba4238226aedc3211b6ead17a2ac01d80bf26a3db6b448cebc63571eb1dd39d61f4b1a6dc1a31f66a7f7bdbb36aa1970909f6aa01857b9a130280cf9abbfa3342833c3826585bb79e6f1a14b915d9b3ee348e24906c8b83ae0be87a3faae9275dba4ff5cdae558b343b17e8924927ed2d2d673656641cde70531623f50bf29013c988fb2acf5c089ff154ace7bebb78b0fe3480dc39ab3f9e1ded0af9b878d7a61abc61eeb8270500d058fcade2c18d5cf78b553d001e4808c9e23267a3f16cc5d74f710b72c4b62d553d40cca6c450ded60100f5453f33d9746da73ff3703d1c4e008dcf1e3cfce8cc9b9e8af3ef97c6dbf67d311b404f8feb26b5293dc1646f03d0671ba8ee682a282f75cd34331346b29eed687cb1be0d9899e25a3134843d9096aa6eadf8417ddbc6a2eab21c6e5c8587abf07e64c726028d9f959ed98ad498c1c62d158d089b5f6aec5dbab714610b6aefc81aeed7c6bbfefebea713ffd586dc3909e970b9ce48f976a42e606a4b032d627bb5dbcd3d250f9fee41e29c0f6644b9b64173438c425fbdbb2461e3ea568c4c62531302b409b0302905553d0072a3c2d242359b80ed1e4fb2b4b62a1449eb6ff47e2631ea853e75ff5ee012fa99926f8f43ecf2a9af0f33e21281c6c3e5079ec282d9b6c617db94279ffed688cb4ad0ab828fe894d71852133372517fb8b174d6fba59ee15901c2831998a8a079594a032a433dae5e1b5b4f0d8f2fe1726f6fc13a2248e28a2d53b66cf49e52bcb02a39f61a8c6e6d809e1acb8d6bc2d68bb1671a78ac056a8d732b33679ff4b5b7348d74de732c689a94ee6988d085008d708e322f1cb4f7be5a5505605a46b667b87e20e98eb0735fb0e85597fc2a6e78996c60668684fe00978c916bf735baae8101a02637effd985dbba6e5e54dcbcb7ba0ba1b90cdf5557bfa9d3e4feaeea901807f4c8e70cfb696a7cc0770b6a2eec2d08a51186aca5fac6a04b065f9ba6f1b395e17f7f7b54bd7031f94976ea9684458caf63b6f59a6863634f9cf196100b6979f3ea8ca581fe6beb7ab17a7cf0470b6ad714f9f57017866b8597a7acef6f49c0566c724beb874cd4b29c6d9c9d3370287ab8aefda7fe8842a11001afbdad4717f5f3394f58b556d88c9faf0ae59894389488360ee5fb07a3d80b6d2975bece32afc70ed7d6763c6d0b493b72e988db6574b8f6fa96844e2ccbdab6644bade1f3370bc6715fc6672da909817635c9b79a9b379044c2d40d63eedb670fa8adf6525a2b17ce3fe035b6ada725316fc363d1cacca5d92f175ab6e78254bc76a03b7495444fc4600c05dd126c0b02a230c40ee9c84340600948be441209318f5429fba8fd26bde9bed3e3d3ebca8385c5fcebf9bd20e2f9f099751d5607d0c00f8ac5c2b5a63b338f104950785cfd2a08ee5d5d1efdeb5eac5acac4d29192f2e5dfe62caf0bd2e40f8980d6cb8b83a85019532be5e1b4f4fe902ad9f0608f66bdb601d113471c596491c434f295e18756d46b74f4f8de7c63561eb1d47a67e634debba19aa02b6469c92bdc5f98c058fbbab27c9e131b301b43594d83df71a789fa2f35ca02fa2a8d735dd7e8f3dc6bd24b4ccb2e2c75da6a0978c094696871e14e97ef0417cb390c51ea7a855a9b55e2bea72bfc329800d537b75c1a0e018947c03279c71bfc3094e65e418ff70ffac2fbff041f6387a1c22582e8cbf226fa14e3c354114fb45915768932bd3dae36993b1162990498cbf2e632ba1728f8f9ab6d0e394825e15c81a279ce0e8f477574ddb5b9a9bb2e00f8bb29285ce9f7d58b01d317beebd6dee8072f8f06d77bc06a6d0b097d76b13b4a5cbbb2d4c74e88da9a7c6dea45775744fb8612fa7d10267ea31d60447ef1b67cbb65435226641ed6d6e875bb13526560be1ddc3793f6ac4a6e577293c3feb11ed6065d13da71b7f77e7864da14ae933a2958546f4fc80e868970c13be63c7d492768220aecfacdafac7239fbce8b105bc7ec1eaed59d17ca0706a31e23ad1df5939ade034808d8befdc96167a35b2e8683f9bb5bf1c9879fabbf39203ce862ba7ed3dbd71feaa3f648ff57ba063bf84a49d20882b8578b1bbeb7cffa08353a58484cf376a460b2788eb81603b6719e435fa2cfdd53345b1c56a778289d6eb026ab02c743898a8f19c4232f64b48da09822008624aa128ed74a82b411004414c2948da0982200882a49d2008822088c9caf57876557614b7755b596d4e74a851e8de7ce8f809c46f5b396f96e2e302c6aca6fb72edee37024487aee96c5441313d734b1004411093c56befe9a85e7be0c03dfb4b2a0580372d54f59c6dabf86b53bf726c554c6f6ca8cedc606a6e32981b4c9d8eee056b2b9fdee8a4ae2308822088ebeeb577f475ee6d6af8d169d771dd2ad791152bd267a2b162fb85a67f4dce0a539c7d38dba30bbe70bbf45167ef28df78d34038c2baa9fb08822008e27a4abb232fbf608b5f6872646c2e2a0eb75d2cb24ebf53cf28ae2c489e5f1e6cea74ffb62fbaaf6e55b6130006623edf1953d622cebdcf9cd616eec830cf4d0c3b7bc1a9ad4ddb5d0c0030763cbe49287e371ab90db3a1d1657545a901186af6a7ee2e62c81008822088a9c2b55c90e7e62d9effec9c399b62bc8335a64500d0536f0fb4cace4980ac56cb6ab56c4ceeb86f8588766d37e4d4bbaa5765eb8b76cd7ee5b769a596b63b1fed8e81cc6bfa67ac3467abe30f7c14d5ab1b1c39cb406d8b0a7168d5326f18489e63ed2dcafec34b333e2f1fc858dd3ad348764010044190d73e11695f9696bd0ca8d25bb6b7d57b84ab33128146f409b2c2454e81e112ab9fff856758d4a7ffa9052c4b67a2fb58f2a12a59ad3614bc1393f55cd7bc74532707f4a5befe17a303c2a2855e490d9d2bc3012d29bb0ff300caf687ffc39cc13023d04fa64010044190b44f1021c0f17787baadcf47fb7d0b50c5cb62e3f4dffdb746ad96e1601c111dfff8fd9635774757ec86c389f025e5cf2f19992384c7a013107bb40eb79c0b9e0b1422009ee33a6a870f0f544b002b90191004411024ed5781bba20d01fe456401381c0c0074451d2c6fd998e004249d9633ef9db9c3b5950efba23bfa07ebc0677a1e082886c6c80003006a9153d07b8220088298625ccf4fd60c6dad8b035f37068fe8fdc27b472787d0c17018ce3588c9b7774c37029013736b57dd6ce587bc75d7ca3e336885615a7f3800d856adef031838a8cb09822008f2daafd274825731003038d0f50100a42c35a995e34ba2d79f0e9b0a6a6b524458695e72da0fccf73cd322021cb47507934abbc4058053743df1ce95e5c72cf9e7fa277f0100cef6903e07a0f699ce7012c88527088220a612d7ffe4b7e2caafd69e6e9b3d73d5a179b113b9de18610f35b0bdadaa7e658f5c8c8913e0d0b475516713044110530cc593dfaef75ebbd8fdfbd36d00fe253d6a8229f47769fa83c936d7d6c251e713044110370cd75bda59d36fbf75d756a8e2f5a4bf044110043105a49de1e3f4f4c51882200882b8725e3335014110044190b4130441100441d24e1004411004493b411004411024ed0441100441d24e10044110c49460521c0f23735c7f4e4e5f4a8a2d24c4ae52492c0b8601c0300cc330ee689ebf09822008e29b85fbf3afaedf437fca322b491aa753d7d717525f6f2c296144f19b2deda2d1d8b17a755b6cacc4712ccb320cc3b22ccf8c408a4e1004414c498d973d18e4799b56db1115c5de74534c6b6bd4fefd5c7fff3752da7b6eb9e5d2ac5922c7711ca7628770a9bba7ae93b413044110534cda3dd55d9224d77f25499238ae2521a1fda18792ce9d0b3b72e49b24ed32c334dd7f7f7b4404c7712a8ee3388e65598ee35cba4ed24e100441dc50d2ee52775114254962595664d9ba3973a213121276ed623c96f127afb4cb0c53ffc823bd46a38ae7398ee3388ee779d61b9fd578527782200862cae83abcd7e425c9edb17392240982e092c28ec848e7238fa4fccfff8c57ddaf83b437dd7f7f9fc9a4e2799ee75dbace0d3bee9ebaceb22c493b4110043185a5dde5ac7baabb288a2ccbbad49d61983e93a9e9fefb133ff860524b7beff2e55dd1d12e5de787d5dd8dcf5ebb5bd149da09822088a924edf0788ccebdd7eed275178220b874b02b3adab87c796861e1249576d1686c9c37cfe5a9f37eea1e68419e749d2008829862eaaeb820ef29829e911be7cd339e3933f667e6afa9b477ad5e2df3bcdb6557a9549e6bf2acf743f2a4eb044110c4945777afc7e325c97fdd5a9665a72c77ad5e1dfdf1c7934eda658eeb4c4ae2fd082eedae6b49e0098220882923ea9e3f7ca4ddf309334fcfbe3329298ae3c6f8359b6b27ed030b16c81e5bebbcc7e3f1ae27e4ddeaee3361216927088220a69e6bd93dac0000200049444154b4bb7eb32ceb967651143d9d75cfe57a27cf0f2c58602c2e9e64d29e9ece791368af9d1ea0230882206e1cdf5d9665b74f2b7af8e59edebc244903e9e9934edaed61612ee5f61178b7bfce719ce37bdfbb823986efd841d6431004417c23181818702b3ac771fe6fc4d9c3c2c698d4b59376a746e3a9e26e37dd53dda96b098220881b13b708ba74dda58c2e5de7384e1445a74633d6a4aedde2834ae5f3c9b9408bf00441100471a3e1fe5c9bbf44ba9055aa49e7b5331e4fbf7b7e72ceb326d4b5044110c40deeb5bb5e81733d2def7570da9855f2daa9a9e77cc4f393738a8fc413044110c40de8b5fbebe304d6b6afa9b47baab84f7149da0982200892f640fae8f389ba4924ed3e45f70c270882200802de9f6bf354cc492aed3e5f86a70fc513044110848f500652c9c928edf03ba1d5a794d752ddc5f6b29325eda3476b2ac9fbc5b3799fd7f8ff93bd7eff8e6d87acf5fb776c3b3496effe894d87766cdb6f27cb25088220823aebfebefb782592bd2e45bfeefe7af99f96fccf9edad16259f63e9a5b6ccbce9e1ea120d59d478e3f5b64ed3c79fcd9a28131e4686f293afeec499276822008625cbefb045cdf6bbdd78eebbcb93e787afb2bafddabffefad880a1df505411d9fb8e1d1579e9a9d11eeff6ffa9c177e677d5eafd2009ae06f108a020068f4a3c72408822088cb574ff6ba94ef3aa28d4ccc7e74e7ba2d7720b8073d58f9e6ea85f97979ef2cbce9cd4fce5ff8e4952d7afd66bd7eb3fede2f4bda01d86bf25efbc527ee34ba4bde7d6928c263872bbb5d817d65792fe9f5cf87e837af7e767fd14564918912044110575d406fb4afc468677cebe17fd8f0add5f7dce61874068d98f9e0ce1d0bb296deb1e3b3fb12f6bffeddfc072fb4fecedaf7b34f97e7e7beda0e88bdb5177f5fe970f9e54d9ffc3af7c9195f54bc62eddbbc3b6b77ce86d3dd40fbfe17973c96bcbbec15abf585d773f39fde86080d592741100471b5b9413f0067778ebaebcdeba313f511a1d18909a6f8258f1c7e677e82491c1434d1e940519b055069000d070068d8f52a9efa74c38a140848ba73cb7d1b8a8e1e6baadbf31a9edafdd89d191c109ebde1673b9f42176db513044110571ddafc0d82e0fa3fce14daf61fff7b736e1eb29646a5750169bead1692886d776fde36129098db62b7f7866427ba43c2a767a38aa49d20088220699f049cffd3862f6d2fbcd0f556b896072a5fd23f2df84c01dacb425e3ef6e233735d7f76977c5eab4fe3f6a2afbec71dc7da548fac386a4c822008e26a4327b200182c7ae5d9bcfdf5416284a425856b79a0fbc03fe5740cf9f31e3efa9d3fecfbf96345f58300c4f6637fc8bdafcec9a77de79ff1fb3b0e545a5c6affceddbfa7bd7682200882a4fd2aa2d6ba7f3adbfe675b59755fa098a90fbcacfef96d9bf5facdfac493197fbde51f8bde7862bb15c0520d002cd5e8e77eefa9d797be3f3362f34dfae7536e8b7cf5ab7be69ab8940dcfbcfd938f736237ebf59b139f4878fbd5a8509f2901411004415c791859965dbfba1f7cf0aae6d4b0658b5aad56a954aeffaa542a9ee7799ef73c92b6ef9147ae608ee13b765c41cfbeafdbc6eb4c7a6de02d8c414bb7659033858778c619b4745b047d7838bdd24e100441044114456918511405411004c1e9743a9d4e87c3e1faefb4ad5bc7a274d75470dcd3886f20da9070ed68514ce15a935220592c41100471ed0494bdf6c5fa260b3c411004415c1f511fbb7ab2d7a588b22cfbfc2008822008425122c72b94ec352e6e900908693c41100441deb9a2b33e5917e425c9672642be3b4110044104f2d77dff94a44927edac20f817979c758220088208e4af7b2aa64b462797b4ab6c3669d8711f9e7f483e21d4a3044110c48decb207d24749925436db1893ba762fbfa9bbba9c6161eee2ba0b2d4912cbb2aedfa677def13f767ec247c1d25c8120088298cc7e39bc9f2e77cba2e70fb76eaabbba269db4eb6b6a2ca9a93e931197ae4b1efb072ccbfa883a2934411004315505def55fc9031f757787e86b6a269db46b4b4b99152b249ef7fcda0ec3309224310cc3308cabe89e6eba5bd427ecb813044110c4a475d9ddfeba8f96bb24d253ef1987435b5a3ae9a49d11c5d0dadade9933398e1345d1f56559b7c07b4ab84be915359e20088220a698d7ee9676979cbb455d14457748686d2d238a934eda01841414f46564881e1f8d77a9b8385c5cd76abc5bdac95f27088220a6b6efaee8ac8bde300e474841c1d813bfa6d2ce0e0c44161575ac5ce9d675cf4a721ce7aa2133cc88c74f024f1004414c2d5187c7d3739eba2e0ce396f6a8a222766060924a3b004361a17ddab481f4741ffd76e9ba5bf2ddee3b493b4110043155fd75009e8fc1bbcf7c7329baeb87a9aece505838ae2caec351a3e13b778a9b360dc6c77b3e00efd6751f69275127088220a6a4c007977697e3ae6d6e0edfb973bc895f07696764396afbf69eef7eb73f3ddd732d82f5c0f3493a5277822008624aeabacf46bb7b97dda5ebc6dadab09d3b99f13f48ce5f975a31b21cbe638766f9f2ee5b6e716ab5aefa701ce776d97d96eb49dd0982208829a3eb9e02eff9691af7e6ba3c381879e4887e9cebf0d759da5de80b0bb5a74ff7af59d33f6386a4d5badf887389bae7763b493b4110043195a4dd7335ded3719707078de7cf1b0b0ac6f5dcdc24927600ecc040c8471f9938cebe60813d3353888e160c06a8d50cc7798a3a493b41100431f5a45d96655914e170f00303eaf676cd850b9ad2d2b1bfbf3e49a5dd05238adae2626d71317539411004415caedb4c4d401004411024ed044110044190b4130441100441d24e10044110c4b860e8503582200882984a8c3c215f56df4ccd4110044110df20e6a6c4fb07d2823c411004414c2948da0982200882a49d20088220089276822008822048da09822008822069270882200892768220088220a606d7f8e437b9fea254d52d8787b3d929ac710cf38a8ad342c520740676ed1c960300387ac42fca245312b72aed72e725a2203b4446ad01e7133e20ed3d2d091ea126039399c62519c693789fb4b75c120ccc1df339f570e0152cfc28b9fb55010054cc1d392385b9e2ed36668433fb4f9db28886f0a47b56260e756b5bddeefd4daa841477c8d4e346a8e335467438ec22abd1f1dcd589ef7389ab07436765af9b1771b58d647db6f3238f1f9793a9d8d5f8e157979ce1b1f7ad4e555f46a9ae6ac527ad2d39daea76ef6f5525247db386edb5f4dae52f3f73be7552821a95e5c26f773b6beda35d6197f2aba53366e958a5583f1c59b4ca275be592ce2b509efdf9cedf7ce2a8f12b86a3573ad6249d348ffcef40a5f8d77c67c5c0780643bf74ac493ad9203b3cade78a157eb4dcfdaa70d22c9dacf52acc156fb7b1626b7def60e3c1d296fcfd676b6cc36a6fe92aa86ccf3fd26a9dba3a7423d4f11a4f96f6bc96ffcc6fbe3c6fbb4af17d2f71f5e0c14bf66b602416ef1f9793a9bdbb35bfaca5a0b4cb7e79a5baaa159fb4b624583a0a2a5bf2f7377fb386edb5f3da1dede2112bf3e47daa24169823e7ffdd79aa5d4e4f62825cd2522bf60dcbc909b39c9ec90070b98a6a16004409dcc427278c8a03c068547eff323c37bbe5663e4b8ff646f1d35a1990ebbae5990666acc9730103af44e1c79afbcc742e7168a22e0b1cabbe0249076eb7b1d1585adb3e2cf2872a7ab37242018073350d7745e6c5a243e2d4936fb3e98ad6910058951a00a7555fa5f87e97701c002dcf01104589bb1a03d86d242e2b19fe7159990ea5c55d66a9ae6ec527ab2de99367ffdfa7a7737a8389a45d91fe5e5993c0250d9904931a8e33a37987a51746be6f5f5125da32799d7ba2d02d7db24f38d90d70cc9a257c6e0203c0d1277d714238d90d0051e1ecfaa57cba018e76f1cf87c5e8e9fc77e7b0805c744828b460c36aeee47ee1bc15809cb7c79198c97f77a6bfb13233d3d82420259669a8779e112100002e5d14f6944bcd76000831b1eb96f033c3e0e8933e3d219ce90680f858f6ae857ce4702a6aa0b75ed871561e1071eb6c66bc857fab483244327a9b74a61b00b36a29bf2a890160eb913e3e26545800203395bb6721675492e15b72b824f75f92fcc917ce6a11ff90ab9a1b025babf8c6715115c93dbe9c13fd52532b661d27efdeebd36e4c69b1f0559ddc0780c3bc6cfe3b3359b147fcf49404237bf742fff57f5bd1d12ef71f478fd43d94335fef1de1d867a51f1e6f6f07a051afbcf5a64796c77380a3ab71f787670a1a1c0092a7253fb4e1a6ac50af2e735c3affeace7a4d62a8babdbda45384c6f8d8034b6fcd3000a83f53bee3cbba6a8b08203a2eeea1fb6e9e17e354ca45396b6b9bf9bddde5475b1c0097b378d663ebd34d01627ae29f69a6676995aae3aa822935cad8db74b04104741b1e5ab66e860940cff9737fd85d6db6c3302df1ce38c7f10adbaa8757dc1aaf0e9e63b6a34621c134db1bdb4e5d82eea1c75764195ded563b1893f2fc63b3f4a3a5b675676dd2dccc14cbc51d65d8fcbfd7263428946a997871ebdbb549b72cfadeca28c0f1f58e439fb7ebbeffd4f2a4b6f3afeeac3765c6467436153438a0097dfcbe8c9623a7f31b4468741bee1baaa97f6b6b149b25cdfeb76d274e7602b0fde5f7f999cb167d6fb92158a7383afce2478d62547e973c940000835dcd796f9fccaf71787690929178fb365d8d3b3e3c73b0c101607a76ea8377cf4d31b2c18dc493c14b0d3bde3c59d0e080c6f8e0034bd704346cde3fa3e8e1443440cfb9f26dfb9a7a1cdcc6c76fcb89703919bd797f39563ca0bee7b1954b62a4233bbefeb4515c79cf8a7519bafa83857f3ad19bb968d143d3c651714d60339e88b9fa5de89be31d917bfe72ecb453bdf191953911acb5eedc2b79f5dad419cf6e4817266e4b51231dd77969fbae8b9a69994f7f27be74b4517f232ec84764aa7eb69c05e4f62ea9acdcb9b38399171ecc0316bba4637600cc86e55c0800ab74b66fe45ffbbaa5937d4cbc1e10e5824267e9006093febc5738d90d8d89c9d4a3a35bfa5bbeb35e8028c91d22da07872eb458e43e2bec32747a46e3925e3513a20ab0837048f8e498b0739ff38c0880bd2589b135097f3d2935db71f374eee628f459a49d87049b5dfaf35ee14c37347a26458fe656e9af7b9c6dd290b0375f125e3d21355be5b90bf859867117bed92e5f6892ce5899780d00f94091704982d827febe40a8b0203e8a49d1e0429df8da215154aac29e03ce9d879c3b0f39771e70e6d7caf11ab9cf2a175e94005ca8113bec5087339c526a0ec5ace1db6e2de5c24775729f865933974d01ce9c15debb208b56f94c877ca64e61fd5f6c6ec8b700303efdd8ac68009de6d22ec93342d3c1637f39dede6e8a78707dc61c380eee3dbeadc482fec6ad7f2c2e687018e2227222397383f9df5ffdaad63b754118acb6d8ca2b5b4a1cc69c3835ecfd6fbffdd5912ec95a53f2ebdd35d516ac59397d4d86babda5e58f6f9fbda0944ba352a0d855bbe5f592a32d8ee919d1734c28395ef6cb1d750d8a85f4bcfb28653ab2d417a03aae2a9494990f76eba69b00d8f2de3b592f42ecaa7deebd6ab31dd1711109dd8d79c7dbcd96fe0eab386a8e16c504b9b004d8cc9d5d05e77a015c38595b6d710c4686eac7909ad9e2385a786e47990d00d3ad5c2a411834db1d97fa9daea47adbfbdb3bfb07c5e1da95d6157473c91ac0defbd67b25f90d5cb28983dd96f7def15a07145bdbae580bb08630b5abcc5a832e4ccb3606ef14ce37fee846e57f0900a0bdb22ebf4dedd341fec5f6ea1e5bf3d63f161f6c70182243e74472d59575bffeed919aaaa046e24d7b436341ab7a7a24077bff8eb7bf3ad6ab6cd856a58c9a5d23ccc05d3a7ffab9f76baa3b6dcbee5e3aa4eb0038539cc1d66ee93d50d903f41caeec6fb7d83e3fd101388a4fb4b75b1cd189867155dc1ec08c2768aea28f2ef8e5f84157a2c1d1ded9fbe5a90e0095276bcd1687263e8cbb0c5bf2bab1d8add59db6f20b96bad146fd0deab50fad0709f2a122f1bc5506187dd079454db5080051ecdc04aed3241eb0a0e882b430c76d8eec33f7f211900fef731674e3c87929026207a009e77e7a3ba7867ce00be7018bbcbf5a7ad0fbb10f9788f32cbb6e15abfbcc71c0ca7ceb1f5429014a52df2ad58ffc2555b5cb3946f63b731951cbcc4b642e554a273b64004d9562078070ee27b7733ac8870f09c72db0bb2cd222bd5504006b6e55e54633b6d609155ec33ef72dde68977ef789d007589db87441b20321b1dc7d392c7ac5bf164af656a9decea56b7cabd0dc21bb8ffdd1e8f0932cf6d30ea9b941b2cd674e3701c0d254f65285d33f35731aa390b5e8db6ef52543238fd7b2b7cc65e6724c5c24d41cbb261d824e61fdfffcf15a00c848cbc9486d8d3b97d7221614b7deb276e47803fba0ebe62aaa8c916bef502de2f549499adac24a33609896fdca1333d470e4ff293fafa5ffe3e2ae9f2cf77ba8c794f8f24f174641f8facdcfdf6e100b8a5b172d4cfafe7a83608c5c94195257d45350d31e28177bb142607df18501203a3b7bd3ba69e8a879e9ed9a81caaa9a2147c22ba6d7b80a57c8d4cdc500d5f941c250155efde94293ad71cb6f8adbe11870a0fed44500868c59ffe7b1e91cbaded87ae8a8dfa667b01c7d13542fbb352e6f774bc931b363317bb4d40170772f8d1f73f9d50f6e5ab926d550bb7fdfa8a51a1971eebf35712fff744954dbf97f79bd7200ba679e5b3b4fd7f69b5f1fad86382842b1b52f2e8855a88518b1e1b1dbf4af7d92d7a97becfbabd239d4ee7504eb14ce3ffebe518ccaef126b9d1900347e1da46824b6d4ace165c6faa3e7cc00a64ddffac42c3d060a7614ed6be704633023f14513f7f29625517014bcb9774783f8f9b18e054a866d56cac8ee9a65b5d4bcf41e00eec127d7ae49f21c9aecbc9b1351d3587daebd633aaa010003175b5b7b516c01107173aa0e668cbde2cafde50074133357af0b9572ac0e7d200135e6ead266eb6a4d519908a857cf8ba82f2c9eb02d29e21c74041ff537a8b48b820c9ee178f6bef52c80b242c75bc7c41757056845493ae232a60e71db3ea9d902001db5627b0eeb5a768e4a61230080893102dd8034bc00a163d400c064c631072c72f70010e1b53ce1f124c9d06abfe804943b8879f82e55960e805c7ac8f9512b3e3f23e52c675a2e49c7bae54f4f8c4c585cfeb246c7e80080c95da1ca056cad82d706732f30bc2e36dec287c4b046001a66ba0627ede081e66e19405fabf89ff923735a41a90a1bd6f233347045e2548c1ac88474c12e1f2e17cd004c5c860e258153f3cfdaa7dd5266734bfac4631df2e7270400e098bb6fe59342d8dc1ca5e992d8b1b7d4010035e77ff3e6c5ea160030175e6c5d1bef5e744b5b91b3aeb524bfa6f7edf78f0380c6f8f8a6d821d909d5ab01403d2bcb98d7d2dfdaa3a024c973a74501009f3d27020ded10c0a971a9bc3ebfa1f2ad116d52cee51685c048e19203407b65e5ff5359e94e207659ceba2edfcb533c67b14a99fae25f9d040088ce8c3701d085cd37a1c0021e802002805ecf0180cea0a4a04172f44f306c76c69cdd2de59d4d078f3bce00884c5d10c18e31354c4bbf2dd580514b35f4a0b1bdbddf3bdca8d503080b4f00aa2363338d00c2e645a2ba133c04b3526b8b016ae13679c101e890aed4a729de2b3b9ef13126a352b8247a964f49948b2d78ddfd00c0106ad2038061cd83b7af01c4feb60f473512b761df9c160500ea8448a00110444ecdf9f791a09491b5eeb46759eadb6cf092769832a74d476375cba5824200dc9c38aebca5fd8b82fe76c03037359183753c150fdc5f133457cfee50cc919f969a037389a5b5e0a0f33c80b8946ca370f4326c4991b4d10dec8694f69ae3ce2331aac7338716e1674d67f3be96fb01a3e2c6bc79c45d6eee96359ccb09964f35c9b91c0074b448fd608d409fcf029638243c97ba650086e195f68e76590438416ef25bb61602ef96f0c34f060caf22c95567c563dd884ae61e5bc4712dc26f0b25883e59cb5f7ee13c6265ee5de07ae88f59958e03d572c52967698c3a1b1329bc7ab884a6e11f11a10cbae5a854fe870b5951906b6aa44e0951927ca955868a898f18d9e9e0558c5a355246b0ece2645c30cb472a650033b3587580d4223959316b9f766bef44743cfb780e1b26c8c7cf08473ae44f4ba579b7b26d9d4325f1bcce72beae7c7803abbac161d070037611683f56e358331cafadc9163723f31777c547d87b0e169cfab8a6ffadfc8bcf278900e074791f525da30d409856a1e7cce79bad6b63f440abb917c0205073f0647e832379c1dc7fb93b9dab2b79f66d331ccab94cbb55ef1768fe719c1a0db6e4c50b7fb93e5e74d82a4f5d6a13344c87c2e58b9e98e1be5f2a66ead9d341aaa355b9cc4e153a9c1cc77300069a5a3bc4c4f0ded67ac5f1153847ff04c145ad5da02e2fb5edf8cc0c60d9ad29fa31a7969c14ce8da154e6da0e11319ca3ffa28f563a3cefb1be032e5aa9b5a354bdcab5f036c5d6a6513ac56fc88fd5a87cee127e25512e768c3a508fdb3efed3818fbbd5f7653b821a89af615bd6c6982075f705ef23858c9efa5614006822362ce1f20eb61ffdb8704eea1d4b3c2773eaa8dc0caebaa6bfa00c884cdd78a7aa7c7bf5c1320780db6f8a1d6fc547edaf719beb681612a38b58b5405d526afb787f238065cb93d597674b8ab48dd9c06e2c690f8f64ea4f09b5f1aa740320489f154921a9bc11283de66c89e1d7a579edbb975f90008424f09b970fd95fd13ec7e7dd28ae919665b954567a6d9f3087934f7600c0c27436899735b5a2bd55dc56284f13e5631d00b0328be5fa2400b0887f2b94559d5287e7028b0840cecb77de34935b97e9ef65ca7ffbcca10120c275774a4963f58332203b6c7293593c73467279ed0999ac3beb048774d20200d1aea99f8659319fe75b1c05167cf4b590bc787c85479fa43c854f66502777d409bbc086d8e463ad3238767aa8f8d742091cfbdcbdee5733e59d7b3cef16cc3f7e4b959acec1ecbab1328b129840a9fd7079c0aef46cb78c4ee1533350237f6736e3f2e2424219b16da4241e5337a1a4a81140f4dc9cad1b925d215fbfb9e7ed06ec3b71e9b6a5c393b0f2d36f958a886cfffeedb1ae1b54745c48e6c24c4361d94065d96ff27a329d1df93522a05eb73846a1709d75bf7ed3b92cb2ffe332078095f32271860330d86769385f7d22dfecf20fba9472b1949ff40f9c3e2b01c76bccc7cf6c4777585f537ea50d9ac41fcc6af18fa9f6db7df2c9d44d62a0ea74342b3678cae2ace88325ed9de69fffda1c7cbf2b508efecc589c8e529737137a5bb6691ca90962f0520ddd535aaa5fcbb3aaeb1afd4b2c062e55aa526bfffaa1402f63884e0700dbb6d7f6aebc6de14cf3e9d13ac52bfe3d63322aaf4bd6458ca3d80b97a78ef4a0475e29d6d6821607101aa511837499e8f3a3b3ee976f0e2e53f516d48800562d8846a9421f4d53ca28ce35088de16b57cf52557db2a3c5f197b74ecdfa698e47afb3b36f8e434d2380e8695189a9ba39a82e876b353e98198db3bf266eaea33675e6cd2928756d2618574c375da62d6dc851e869c55bd3e4d4f56bfa185df40cfe3bc9f85bbee3c55d8e173f14aa4ddcf716b280dcd1245774cbde1327e97437002c9e3e52bc99992c007bab34e276770f6d75cf9bcd2f8d0017c23dbd9c8b029a9ba463ad3238e6ce15aa993aa863b935e10050df249939266a6452c664a53100ec76b9a2c7dbe8d8915165176107341ae6e66cfe91396c4a161b0ff475483b4f888d1ce372e57bf4dcd34b87b23ed90168980dabf92876c44bc9cde5a300d8a50febe571153e502fe962f97fba89d5001575d2b156197ae6e1b57c88ab6a1a7008f65a9d3a9abd5903009a5836451338b58006e2d56e5937ab6e896260953e3a211eeb4688897d602e0b8f9278b86bed450d0070fb12f7b62e3f7f69228081ca8b6661e8499f59eb567c3b4387ce96bfbc7f3abfc1111d97fc4fb7c57311e9bf7a6c7a32505d66ceafb441637c6cd3aa794a0b3e86c8506d6be3c7a5bd0096ad5ebc2e499db1346b3ad05e53f7c7f7cf5d50eb00a0b32ff276855c14b3d6a7cef9d5b7930d701c3d5e935f694364f4e6a773162bc5f42c8662a61dc3755407af0eef7b078431f985a7e6afc988981317ba6675f69a3805cf22588efe09025c7cdab74d0060989b91ae9e506a014aa54ecd7a701a07a0bcacf1bc3a345903afd7ae0c81defde30028b67668a066816ecea2680003165b718b7dd6689de2137f6c46e57549a00e522c769867a488f45f3d349457418d03a688a79f5a78735023e17c9b8b43434b418d0dc0cab5b7dc1acf2bf651975121a3d8a1a9be6807bbe6a19c640016f31b855d9ed508cb9c361d00b0303b02085b308d03103d37d9eb2b2dfc65f6d7c4cdd54da0a6562725af71d973765a860e97694b4a77166e0c063689606479486ccaea9bafcd8e7bbf1d3a1d7305de3a96d06f97d51adfa46c3659048c3aaf6500875d7648be8113c66693a16274bc42b87fd6975ff820f4db64b08cf10a3dcc31e1d4440136a7cc29b5c904edc421581d4e4eadd17b359064edb78be04c4685b9b2b5eef433dbeb92972ffbb7b551967e3ba7d6e9d55e17c23735e55c02642d58fa9de054268f1a0688394aa663ac8e57d56a4a9e79db1c1d97fca32772e26c8dafbd5a5c0ef533cfadf3d3a151731ca2a7a6f6684dd7f1c24633f0e09377ad49e22750fee0a572d86c7671f4aa0540a1b52fcf72820dc531f6c29528b67f5e63ed32d730b3d89c1a9d4ecd8dda4757b05257afbfc653f789e738715bba420676d5999b127ffda59d20ae122ea5312c58f887ef244eb5ba89bd3b5e3f50e0f111c3e4c539bf5c9f3ce1776aab3efaf4df4b45009896fdc72766e82747a90882206927086fa1b1596a9afa35a6c89418f554ac9fd058d35cd76a1578557c726c56bce172d272f4765dea16a0d1a5c49bb849532a822048da0982200882a45d41dae9505782200882985290b4130441100449fb44111d0eab4d507cabd5d156b763c7b1bc838de2756a88d633e56fec3856d22c042b7febe12d77de7eff43af0e7d85c3de5afff5ded28ff654965e708e23abc1a6da63e72b8eb50e0863bd42e83d5378f8f8890a2b8081b2fff7a1dbef7f686b75a0f31565a7b5b7b7bfb767f87fbd369b5d224b2708822069bf0a043b2cf9ba9f89db7ba9e96865cb456b308d3efbe1eff7545660c1a2340dac957f7ffba6e5fbffe987a77efeccd187ef78e7e1575bc7789671cfc1773f7bf4937d8f96b68ef5f8f7bed2371f7df8812737be70610030a4cf3755541d7dedbdfd7501a45d743a054eade6552a5eade679d631d0d7d76d21752708822069bff27905392c599f3cfbff3ebdeae5e76ebaf6c81ff532000006db4944415467e28aa20440a31ded4961a1eef3ad8500bebb7e01840bfbee7dcecbe92efd8fcffe7d6f70f914075b2f94effcdbce7f76fdc98fe1d1e4ae9a928fb6fd5beec6570000ae03ea0c8b1ff831805d7fdbd717e02a865169757aaddea0d5e9b50653689801a25d206d270882b831b8561f9af53bf9f8b1699d9e673ffff87fa57dfea9eb4cdc746b80a3a9031d59ad7860b0cfc1d2a91685d3943bce97ffe7ee1a57822bf5a36c05d8eb8fbd0300df5f9a6de83dfe89eb83b5a69fbcfb9d4db1871ebfbdbe14787747d3e6b549815fff311ffdd187674f8d6b2921fff6bb7fe3171abf60c522bc76e2e8bb258dff6b55a2720fca231fbe0738cefd5bb4f70f586cae0fe46a4342b56a4e76f40f38793563b75a1d6a9d5692d5c6a16fd6c883bdddb22e4c0bdb801dac6473386500bc36c460d43034740882206e7469779d7cdce918183e10571006cd1687b9f0dc5100d0310e6b75a70d0e8bb5abf6b9f7aa0144c745847537e635004087551403876f79bd6c00989e11ad69eb2a395e76be8ffd3f4bbd13efaeddf267df382fdf6afff97b3500a2a745c47637e6378c5283a6929300b02c339247d7f93200c0ad4b372d516970d3638fd697be037cdd681e48ca0ea8ed1c1f37ce56d3cc7ce5974f36db7b8ebeb2eba8477064ea7ce0042a1abb079018aaa8ec3230fc5aa364efef97a1e258c8c280c5625319c34c5a5eb4f5f5f7753311512ac882cd22302a9d298c97adfd76f7477f65d129422bcb8c24d80739ad2924440be7405f5fdfa0264aa72271270882b8d1a53dc0c9c7c3673fbb8f1d6c0c703475a023ab831d18ec3e587aef5eff3845431f1c9ebbf5c174a0f76f5b0f1c0cba592e386c009016c101ac6648bf4501d0c094356b288e10ecc9b8e415af3db702755f3db1ebeca1b1b59a3667e3d339c0c5f8da5d47f33cc2c353d6027bd16f533cc79581ecb074789dfdac090de100a7cd06de68d0aa6459e67521dac10e875d507132c01922c2540c249f1660dc4b006a8351cb0250ebd58c551425a8e89b6304411037b8b403ca07e2bacf7e1e8915e01068e5f06007060f271e280e0760e5a224004068eecdba8385b651eb70dbec740d20d9bd9e80eb2d2f71fdd0eb46fffc3ac78ffb8b5d4280a31e8f97373db52852c16367d4a6c8504e9665300c230df6760d5a06b41146302c84fe9e8e9103b45941040730fcc8923dc3782abb0c40961995fb73c9b2ec1585200882b8a1a57d58a83cfc3df7d9cf23050a70087480c3a1831dca3b9cb8729c90ae2a00c5a79a3664a402b6d2b2615db70dd4b70e40a34bf2fe06a78001005f7d7dc6fac8cce845b7015f035f1f7d7d6fe413f127feb40b00b03e36492b361efecf37bf1cb469173ff5ccaa9431a9f8042e71b17ad1b400ffc23000189704b35a836eb0c72901b224319a9050d3d0fc43b45b058607ecf038784f160519aead74f7870ae1b9714f10044190b48f4898c2c9c77e6fb9270438043ad0e1d0c10ee51d4e5c31ce4b8f25a0b8a6bdecf46fd095d2db5a60194ad0da74fed76f9ba1497e758be779c6088b9d0e7c0e8b038066ceb7e7ae78b1ec106c6ffef08337872244bdfc2f091a58bbcffff58dbf00487cf8e931b68b7dcc970cbd99676f28da1b3ca2ecb350c0c0264ae0b51ab9cf32a8536b79461607fb2d037c8856e535236021da05c9a06221dafa9d808a449d2008e29bc6b57cf96dd4938f0103c7053a9a3a40f8580ee5558c139334e7176ba3e13ad8b801c926005001709d8f6cf43d553a7eeed22c00473f2aef0410baf0f5c29b7fb87ef81f73325efbf45bdfc904c0e92282b702c7e97daa3eea25187a5dd0a0e201c07ee9cc1e00d89093161ac86bf7f993852c0812ab36eab5ec604f474f677b6fb785d59886ce251c5e6167d4462d2f0d74b5f774b45bacb28a1b5a926702274d1004414c3626ddf130810e81ce6c0d7e64f5580ee5558a233a2c36d1fb08e4400c7cf483e92fecc5fdff55f8afeb5287931cb4dba132683da64803c7b7fdf8c9ad9fbff079f5c6ec31aeae8fef9233dbee7f746b61d6d3efeffa59ee449a589644496658960db0672e4ba2048663e923c4044110931dc5e361f8c9564a7d6ac69a4873418bf9df5e1a5a784f5e3c67b6119c4e39dc5d119371d4ba28c5e1d426e3188b6658f1fde7b1f7955d3f7ceffb755b86da92d76abc93b496fff7935b3fbf6bcbfbdf1eabae8ff3127bd91b5b0b013cf1dd85139dceb11c7739ff4e10044190d73e6e021d027ddd0f871e6c6fec10a08a488c0df828bc30d0d5cb45446ac753ddf15c220cb4b7b60b30c52446920013044190d7fe4d917682200882202628edb49f4a10044110530a9276822008822069270882200882a49d200882200892768220088220c607e3f9a1708220088220bee98c7c6f855e7e23088220886f16f4f21b411004414c7d48da09822008624af1ff03b4bb752f6d8709af0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Assertions\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 QUnit supports a number of basic {\b assertions}, which are used in tests to verify that the result being returned by our code is what we expect. If an assertion fails, we know that a bug exists. Similar to Jasmine, QUnit can be used to easily test for regressions. Specifically, when a bug is found one can write an assertion to test the existence of the bug, write a patch, and then commit both. If subsequent changes to the code break the test you\u8217'll know what was responsible and be able to address it more easily.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Some of the supported QUnit assertions we\u8217're going to look at first are:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 ok ( state, message )} - passes if the first argument is truthy\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 equal ( actual, expected, message )} - a simple comparison assertion with type coercion\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 notEqual ( actual, expected, message )} - the opposite of the above\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 expect( amount )} - the number of assertions expected to run within each test\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 strictEqual( actual, expected, message)} - offers a much stricter comparison than {\f1 equal()} and is considered the preferred method of checking equality as it avoids stumbling on subtle coercion bugs\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 deepEqual( actual, expected, message )} - similar to {\f1 strictEqual}, comparing the contents (with {\f1 ===}) of the given objects, arrays and primitives.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Basic test case using test( name, callback )\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Creating new test cases with QUnit is relatively straight-forward and can be done using {\f1 test()}, which constructs a test where the first argument is the {\f1 name} of the test to be displayed in our results and the second is a {\f1 callback} function containing all of our assertions. This is called as soon as QUnit is running.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var myString = 'Hello Backbone.js';\line
+\line
+test( 'Our first QUnit test - asserting results', function()\{\line
+\line
+ // ok( boolean, message )\line
+ ok( true, 'the test succeeds');\line
+ ok( false, 'the test fails');\line
+\line
+ // equal( actualValue, expectedValue, message )\line
+ equal( myString, 'Hello Backbone.js', 'The value expected is Hello Backbone.js!');\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 What we\u8217're doing in the above is defining a variable with a specific value and then testing to ensure the value was what we expected it to be. This was done using the comparison assertion, {\f1 equal()}, which expects its first argument to be a value being tested and the second argument to be the expected value. We also used {\f1 ok()}, which allows us to easily test against functions or variables that evaluate to booleans.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note: Optionally in our test case, we could have passed an \u8216'expected\u8217' value to {\f1 test()} defining the number of assertions we expect to run. This takes the form: {\f1 test( name, [expected], test );} or by manually settings the expectation at the top of the test function, like so: {\f1 expect( 1 )}. I recommend you make a habit of always defining how many assertions you expect. More on this later.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Comparing the actual output of a function against the expected output\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As testing a simple static variable is fairly trivial, we can take this further to test actual functions. In the following example we test the output of a function that reverses a string to ensure that the output is correct using {\f1 equal()} and {\f1 notEqual()}:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 function reverseString( str )\{\line
+ return str.split('').reverse().join('');\line
+\}\line
+\line
+test( 'reverseString()', function() \{\line
+ expect( 5 );\line
+ equal( reverseString('hello'), 'olleh', 'The value expected was olleh' );\line
+ equal( reverseString('foobar'), 'raboof', 'The value expected was raboof' );\line
+ equal( reverseString('world'), 'dlrow', 'The value expected was dlrow' );\line
+ notEqual( reverseString('world'), 'dlroo', 'The value was expected to not be dlroo' );\line
+ equal( reverseString('bubble'), 'double', 'The value expected was elbbub' );\line
+\})\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Running these tests in the QUnit test runner (which you would see when your HTML test page was loaded) we would find that four of the assertions pass while the last one does not. The reason the test against {\f1 'double'} fails is because it was purposefully written incorrectly. In your own projects if a test fails to pass and your assertions are correct, you\u8217've probably just found a bug!\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Adding structure to assertions\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Housing all of our assertions in one test case can quickly become difficult to maintain, but luckily QUnit supports structuring blocks of assertions more cleanly. This can be done using {\f1 module()} - a method that allows us to easily group tests together. A typical approach to grouping might be keeping multiple tests for a specific method as part of the same group (module).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Basic QUnit Modules\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 module( 'Module One' );\line
+test( 'first test', function() \{\} );\line
+test( 'another test', function() \{\} );\line
+\line
+module( 'Module Two' );\line
+test( 'second test', function() \{\} );\line
+test( 'another test', function() \{\} );\line
+\line
+module( 'Module Three' );\line
+test( 'third test', function() \{\} );\line
+test( 'another test', function() \{\} );\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We can take this further by introducing {\f1 setup()} and {\f1 teardown()} callbacks to our modules, where {\f1 setup()} is run before each test and {\f1 teardown()} is run after each test.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Using setup() and teardown()\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 module( 'Module One', \{\line
+ setup: function() \{\line
+ // run before\line
+ \},\line
+ teardown: function() \{\line
+ // run after\line
+ \}\line
+\});\line
+\line
+test('first test', function() \{\line
+ // run the first test\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 These callbacks can be used to define (or clear) any components we wish to instantiate for use in one or more of our tests. As we\u8217'll see shortly, this is ideal for defining new instances of views, collections, models, or routers from a project that we can then reference across multiple tests.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Using setup() and teardown() for instantiation and clean-up\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // Define a simple model and collection modeling a store and\line
+// list of stores\line
+\line
+var Store = Backbone.Model.extend(\{\});\line
+\line
+var StoreList = Backbone.Collection.extend(\{\line
+ model: Store,\line
+ comparator: function( Store ) \{ return Store.get('name') \}\line
+\});\line
+\line
+// Define a group for our tests\line
+module( 'StoreList sanity check', \{\line
+ setup: function() \{\line
+ this.list = new StoreList;\line
+ this.list.add(new Store(\{ name: 'Costcutter' \}));\line
+ this.list.add(new Store(\{ name: 'Target' \}));\line
+ this.list.add(new Store(\{ name: 'Walmart' \}));\line
+ this.list.add(new Store(\{ name: 'Barnes & Noble' \}));\line
+ \},\line
+ teardown: function() \{\line
+ window.errors = null;\line
+ \}\line
+\});\line
+\line
+// Test the order of items added\line
+test( 'test ordering', function() \{\line
+ expect( 1 );\line
+ var expected = ['Barnes & Noble', 'Costcutter', 'Target', 'Walmart'];\line
+ var actual = this.list.pluck('name');\line
+ deepEqual( actual, expected, 'is maintained by comparator' );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Here, a list of stores is created and stored on {\f1 setup()}. A {\f1 teardown()} callback is used to simply clear a list of errors we might be storing within the window scope, but is otherwise not needed.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Assertion examples\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Before we continue any further, let\u8217's review some more examples of how QUnit\u8217's various assertions can be correctly used when writing tests:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 equal - a comparison assertion. It passes if actual == expected\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test( 'equal', 2, function() \{\line
+ var actual = 6 - 5;\line
+ equal( actual, true, 'passes as 1 == true' );\line
+ equal( actual, 1, 'passes as 1 == 1' );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 notEqual - a comparison assertion. It passes if actual != expected\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test( 'notEqual', 2, function() \{\line
+ var actual = 6 - 5;\line
+ notEqual( actual, false, 'passes as 1 != false' );\line
+ notEqual( actual, 0, 'passes as 1 != 0' );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 strictEqual - a comparison assertion. It passes if actual === expected\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test( 'strictEqual', 2, function() \{\line
+ var actual = 6 - 5;\line
+ strictEqual( actual, true, 'fails as 1 !== true' );\line
+ strictEqual( actual, 1, 'passes as 1 === 1' );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 notStrictEqual - a comparison assertion. It passes if actual !== expected\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test('notStrictEqual', 2, function() \{\line
+ var actual = 6 - 5;\line
+ notStrictEqual( actual, true, 'passes as 1 !== true' );\line
+ notStrictEqual( actual, 1, 'fails as 1 === 1' );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 deepEqual - a recursive comparison assertion. Unlike strictEqual(), it works on objects, arrays and primitives.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test('deepEqual', 4, function() \{\line
+ var actual = \{q: 'foo', t: 'bar'\};\line
+ var el = $('div');\line
+ var children = $('div').children();\line
+\line
+ equal( actual, \{q: 'foo', t: 'bar'\}, 'fails - objects are not equal using equal()' );\line
+ deepEqual( actual, \{q: 'foo', t: 'bar'\}, 'passes - objects are equal' );\line
+ equal( el, children, 'fails - jQuery objects are not the same' );\line
+ deepEqual(el, children, 'fails - objects not equivalent' );\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 notDeepEqual - a comparison assertion. This returns the opposite of deepEqual\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test('notDeepEqual', 2, function() \{\line
+ var actual = \{q: 'foo', t: 'bar'\};\line
+ notEqual( actual, \{q: 'foo', t: 'bar'\}, 'passes - objects are not equal' );\line
+ notDeepEqual( actual, \{q: 'foo', t: 'bar'\}, 'fails - objects are equivalent' );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 raises - an assertion which tests if a callback throws any exceptions\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test('raises', 1, function() \{\line
+ raises(function() \{\line
+ throw new Error( 'Oh no! It`s an error!' );\line
+ \}, 'passes - an error was thrown inside our callback');\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Fixtures\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 From time to time we may need to write tests that modify the DOM. Managing the clean-up of such operations between tests can be a genuine pain, but thankfully QUnit has a solution to this problem in the form of the {\f1 #qunit-fixture} element, seen below.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Fixture markup:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+\line
+ QUnit Test\line
+ \line
+ \line
+ \line
+ \line
+\line
+\line
+
QUnit Test
\line
+ \line
+ \line
+ \line
+ \line
+ \line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We can either opt to place static markup in the fixture or just insert/append any DOM elements we may need to it. QUnit will automatically reset the {\f1 innerHTML} of the fixture after each test to its original value. In case you\u8217're using jQuery, it\u8217's useful to know that QUnit checks for its availability and will opt to use {\f1 $(el).html()} instead, which will cleanup any jQuery event handlers too.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Fixtures example:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let us now go through a more complete example of using fixtures. One thing that most of us are used to doing in jQuery is working with lists - they\u8217're often used to define the markup for menus, grids, and a number of other components. You may have used jQuery plugins before that manipulated a given list in a particular way and it can be useful to test that the final (manipulated) output of the plugin is what was expected.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For the purposes of our next example, we\u8217're going to use Ben Alman\u8217's {\f1 $.enumerate()} plugin, which can prepend each item in a list by its index, optionally allowing us to set what the first number in the list is. The code snippet for the plugin can be found below, followed by an example of the output it generates:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 $.fn.enumerate = function( start ) \{\line
+ if ( typeof start !== 'undefined' ) \{\line
+ // Since `start` value was provided, enumerate and return\line
+ // the initial jQuery object to allow chaining.\line
+\line
+ return this.each(function(i)\{\line
+ $(this).prepend( '' + ( i + start ) + ' ' );\line
+ \});\line
+\line
+ \} else \{\line
+ // Since no `start` value was provided, function as a\line
+ // getter, returning the appropriate value from the first\line
+ // selected element.\line
+\line
+ var val = this.eq( 0 ).children( 'b' ).eq( 0 ).text();\line
+ return Number( val );\line
+ \}\line
+ \};\line
+\line
+/*\line
+
\line
+
1. hello
\line
+
2. world
\line
+
3. i
\line
+
4. am
\line
+
5. foo
\line
+
\line
+*/\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's now write some tests for the plugin. First, we define the markup for a list containing some sample items inside our {\f1 qunit-fixture} element:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1
\line
+
\line
+
hello
\line
+
world
\line
+
i
\line
+
am
\line
+
foo
\line
+
\line
+
\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next, we need to think about what should be tested. {\f1 $.enumerate()} supports a few different use cases, including:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b No arguments passed} - i.e., {\f1 $(el).enumerate()}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b 0 passed as an argument} - i.e., {\f1 $(el).enumerate(0)}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b 1 passed as an argument} - i.e., {\f1 $(el).enumerate(1)}\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As the text value for each list item is of the form \u8220"n. item-text\u8221" and we only require this to test against the expected output, we can simply access the content using {\f1 $(el).eq(index).text()} (for more information on .eq() see {\field{\*\fldinst{HYPERLINK "http://api.jquery.com/eq/"}}{\fldrslt{\ul
+here
+}}}
+).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 and finally, here are our test cases:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 module('jQuery#enumerate');\line
+\line
+test( 'No arguments passed', 5, function() \{\line
+ var items = $('#qunit-fixture li').enumerate(); // 0\line
+ equal( items.eq(0).text(), '0. hello', 'first item should have index 0' );\line
+ equal( items.eq(1).text(), '1. world', 'second item should have index 1' );\line
+ equal( items.eq(2).text(), '2. i', 'third item should have index 2' );\line
+ equal( items.eq(3).text(), '3. am', 'fourth item should have index 3' );\line
+ equal( items.eq(4).text(), '4. foo', 'fifth item should have index 4' );\line
+\});\line
+\line
+test( '0 passed as an argument', 5, function() \{\line
+ var items = $('#qunit-fixture li').enumerate( 0 );\line
+ equal( items.eq(0).text(), '0. hello', 'first item should have index 0' );\line
+ equal( items.eq(1).text(), '1. world', 'second item should have index 1' );\line
+ equal( items.eq(2).text(), '2. i', 'third item should have index 2' );\line
+ equal( items.eq(3).text(), '3. am', 'fourth item should have index 3' );\line
+ equal( items.eq(4).text(), '4. foo', 'fifth item should have index 4' );\line
+\});\line
+\line
+test( '1 passed as an argument', 3, function() \{\line
+ var items = $('#qunit-fixture li').enumerate( 1 );\line
+ equal( items.eq(0).text(), '1. hello', 'first item should have index 1' );\line
+ equal( items.eq(1).text(), '2. world', 'second item should have index 2' );\line
+ equal( items.eq(2).text(), '3. i', 'third item should have index 3' );\line
+ equal( items.eq(3).text(), '4. am', 'fourth item should have index 4' );\line
+ equal( items.eq(4).text(), '5. foo', 'fifth item should have index 5' );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Asynchronous code\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As with Jasmine, the effort required to run synchronous tests with QUnit is fairly minimal. That said, what about tests that require asynchronous callbacks (such as expensive processes, Ajax requests, and so on)? When we\u8217're dealing with asynchronous code, rather than letting QUnit control when the next test runs, we can tell it that we need it to stop running and wait until it\u8217's okay to continue once again.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Remember: running asynchronous code without any special considerations can cause incorrect assertions to appear in other tests, so we want to make sure we get it right.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Writing QUnit tests for asynchronous code is made possible using the {\f1 start()} and {\f1 stop()} methods, which programmatically set the start and stop points during such tests. Here\u8217's a simple example:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test('An async test', function()\{\line
+ stop();\line
+ expect( 1 );\line
+ $.ajax(\{\line
+ url: '/test',\line
+ dataType: 'json',\line
+ success: function( data )\{\line
+ deepEqual(data, \{\line
+ topic: 'hello',\line
+ message: 'hi there!''\line
+ \});\line
+ ok(true, 'Asynchronous test passed!');\line
+ start();\line
+ \}\line
+ \});\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A jQuery {\f1 $.ajax()} request is used to connect to a test resource and assert that the data returned is correct. {\f1 deepEqual()} is used here as it allows us to compare different data types (e.g., objects, arrays) and ensures that what is returned is exactly what we\u8217're expecting. We know that our Ajax request is asynchronous and so we first call {\f1 stop()}, then run the code making the request, and finally, at the very end of our callback, inform QUnit that it is okay to continue running other tests.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note: rather than including {\f1 stop()}, we can simply exclude it and substitute {\f1 test()} with {\f1 asyncTest()} if we prefer. This improves readability when dealing with a mixture of asynchronous and synchronous tests in your suite. While this setup should work fine for many use-cases, there is no guarantee that the callback in our {\f1 $.ajax()} request will actually get called. To factor this into our tests, we can use {\f1 expect()} once again to define how many assertions we expect to see within our test. This is a healthy safety blanket as it ensures that if a test completes with an insufficient number of assertions, we know something went wrong and can fix it.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 SinonJS\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Similar to the section on testing Backbone.js apps using the Jasmine BDD framework, we\u8217're nearly ready to take what we\u8217've learned and write a number of QUnit tests for our Todo application.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Before we start though, you may have noticed that QUnit doesn\u8217't support test spies. Test spies are functions which record arguments, exceptions, and return values for any of their calls. They\u8217're typically used to test callbacks and how functions may be used in the application being tested. In testing frameworks, spies usually are anonymous functions or wrappers around functions which already exist.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 What is SinonJS?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In order for us to substitute support for spies in QUnit, we will be taking advantage of a mocking framework called {\field{\*\fldinst{HYPERLINK "http://sinonjs.org/"}}{\fldrslt{\ul
+SinonJS
+}}}
+ by Christian Johansen. We will also be using the {\field{\*\fldinst{HYPERLINK "http://sinonjs.org/qunit/"}}{\fldrslt{\ul
+SinonJS-QUnit adapter
+}}}
+ which provides seamless integration with QUnit (meaning setup is minimal). Sinon.JS is completely test-framework agnostic and should be easy to use with any testing framework, so it\u8217's ideal for our needs.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The framework supports three features we\u8217'll be taking advantage of for unit testing our application:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b Anonymous spies}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b Spying on existing methods}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b A rich inspection interface}\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Basic Spies\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Using {\f1 this.spy()} without any arguments creates an anonymous spy. This is comparable to {\f1 jasmine.createSpy()}. We can observe basic usage of a SinonJS spy in the following example:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test('should call all subscribers for a message exactly once', function () \{\line
+ var message = getUniqueString();\line
+ var spy = this.spy();\line
+\line
+ PubSub.subscribe( message, spy );\line
+ PubSub.publishSync( message, 'Hello World' );\line
+\line
+ ok( spy.calledOnce, 'the subscriber was called once' );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Spying On Existing Functions\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We can also use {\f1 this.spy()} to spy on existing functions (like jQuery\u8217's {\f1 $.ajax}) in the example below. When spying on a function which already exists, the function behaves normally but we get access to data about its calls which can be very useful for testing purposes.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test( 'should inspect the jQuery.getJSON usage of jQuery.ajax', function () \{\line
+ this.spy( jQuery, 'ajax' );\line
+\line
+ jQuery.getJSON( '/todos/completed' );\line
+\line
+ ok( jQuery.ajax.calledOnce );\line
+ equals( jQuery.ajax.getCall(0).args[0].url, '/todos/completed' );\line
+ equals( jQuery.ajax.getCall(0).args[0].dataType, 'json' );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Inspection Interface\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 SinonJS comes with a rich spy interface which allows us to test whether a spy was called with a specific argument, if it was called a specific number of times, and test against the values of arguments. A complete list of features supported in the interface can be found on {\field{\*\fldinst{HYPERLINK "http://sinonjs.org/docs/"}}{\fldrslt{\ul
+SinonJS.org
+}}}
+, but let\u8217's take a look at some examples demonstrating some of the most commonly used ones:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Matching arguments: test a spy was called with a specific set of arguments:}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test( 'Should call a subscriber with standard matching': function () \{\line
+ var spy = sinon.spy();\line
+\line
+ PubSub.subscribe( 'message', spy );\line
+ PubSub.publishSync( 'message', \{ id: 45 \} );\line
+\line
+ assertTrue( spy.calledWith( \{ id: 45 \} ) );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Stricter argument matching: test a spy was called at least once with specific arguments and no others:}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test( 'Should call a subscriber with strict matching': function () \{\line
+ var spy = sinon.spy();\line
+\line
+ PubSub.subscribe( 'message', spy );\line
+ PubSub.publishSync( 'message', 'many', 'arguments' );\line
+ PubSub.publishSync( 'message', 12, 34 );\line
+\line
+ // This passes\line
+ assertTrue( spy.calledWith('many') );\line
+\line
+ // This however, fails\line
+ assertTrue( spy.calledWithExactly( 'many' ) );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Testing call order: testing if a spy was called before or after another spy:}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test( 'Should call a subscriber and maintain call order': function () \{\line
+ var a = sinon.spy();\line
+ var b = sinon.spy();\line
+\line
+ PubSub.subscribe( 'message', a );\line
+ PubSub.subscribe( 'event', b );\line
+\line
+ PubSub.publishSync( 'message', \{ id: 45 \} );\line
+ PubSub.publishSync( 'event', [1, 2, 3] );\line
+\line
+ assertTrue( a.calledBefore(b) );\line
+ assertTrue( b.calledAfter(a) );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Match execution counts: test a spy was called a specific number of times:}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test( 'Should call a subscriber and check call counts', function () \{\line
+ var message = getUniqueString();\line
+ var spy = this.spy();\line
+\line
+ PubSub.subscribe( message, spy );\line
+ PubSub.publishSync( message, 'some payload' );\line
+\line
+\line
+ // Passes if spy was called once and only once.\line
+ ok( spy.calledOnce ); // calledTwice and calledThrice are also supported\line
+\line
+ // The number of recorded calls.\line
+ equal( spy.callCount, 1 );\line
+\line
+ // Directly checking the arguments of the call\line
+ equals( spy.getCall(0).args[0], message );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Stubs and mocks\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 SinonJS also supports two other powerful features: stubs and mocks. Both stubs and mocks implement all of the features of the spy API, but have some added functionality.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Stubs\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A stub allows us to replace any existing behaviour for a specific method with something else. They can be very useful for simulating exceptions and are most often used to write test cases when certain dependencies of your code-base may not yet be written.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let us briefly re-explore our Backbone Todo application, which contained a Todo model and a TodoList collection. For the purpose of this walkthrough, we want to isolate our TodoList collection and fake the Todo model to test how adding new models might behave.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We can pretend that the models have yet to be written just to demonstrate how stubbing might be carried out. A shell collection just containing a reference to the model to be used might look like this:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var TodoList = Backbone.Collection.extend(\{\line
+ model: Todo\line
+\});\line
+\line
+// Let's assume our instance of this collection is\line
+this.todoList;\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Assuming our collection is instantiating new models itself, it\u8217's necessary for us to stub the model\u8217's constructor function for the the test. This can be done by creating a simple stub as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 this.todoStub = sinon.stub( window, 'Todo' );\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The above creates a stub of the Todo method on the window object. When stubbing a persistent object, it\u8217's necessary to restore it to its original state. This can be done in a {\f1 teardown()} as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 this.todoStub.restore();\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 After this, we need to alter what the constructor returns, which can be efficiently done using a plain {\f1 Backbone.Model} constructor. While this isn\u8217't a Todo model, it does still provide us an actual Backbone model.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 setup: function() \{\line
+ this.model = new Backbone.Model(\{\line
+ id: 2,\line
+ title: 'Hello world'\line
+ \});\line
+ this.todoStub.returns( this.model );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The expectation here might be that this snippet would ensure our TodoList collection always instantiates a stubbed Todo model, but because a reference to the model in the collection is already present, we need to reset the model property of our collection as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 this.todoList.model = Todo;\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The result of this is that when our TodoList collection instantiates new Todo models, it will return our plain Backbone model instance as desired. This allows us to write a test for the addition of new model literals as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 module( 'Should function when instantiated with model literals', \{\line
+\line
+ setup:function() \{\line
+\line
+ this.todoStub = sinon.stub(window, 'Todo');\line
+ this.model = new Backbone.Model(\{\line
+ id: 2,\line
+ title: 'Hello world'\line
+ \});\line
+\line
+ this.todoStub.returns(this.model);\line
+ this.todos = new TodoList();\line
+\line
+ // Let's reset the relationship to use a stub\line
+ this.todos.model = Todo;\line
+ \line
+ // add a model\line
+ this.todos.add(\{\line
+ id: 2,\line
+ title: 'Hello world'\line
+ \});\line
+ \},\line
+\line
+ teardown: function() \{\line
+ this.todoStub.restore();\line
+ \}\line
+\line
+\});\line
+\line
+test('should add a model', function() \{\line
+ equal( this.todos.length, 1 );\line
+\});\line
+\line
+test('should find a model by id', function() \{\line
+ equal( this.todos.get(5).get('id'), 5 );\line
+ \});\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Mocks\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Mocks are effectively the same as stubs, however they mock a complete API and have some built-in expectations for how they should be used. The difference between a mock and a spy is that as the expectations for their use are pre-defined and the test will fail if any of these are not met.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Here\u8217's a snippet with sample usage of a mock based on PubSubJS. Here, we have a {\f1 clearTodo()} method as a callback and use mocks to verify its behavior.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test('should call all subscribers when exceptions', function () \{\line
+ var myAPI = \{ clearTodo: function () \{\} \};\line
+\line
+ var spy = this.spy();\line
+ var mock = this.mock( myAPI );\line
+ mock.expects( 'clearTodo' ).once().throws();\line
+\line
+ PubSub.subscribe( 'message', myAPI.clearTodo );\line
+ PubSub.subscribe( 'message', spy );\line
+ PubSub.publishSync( 'message', undefined );\line
+\line
+ mock.verify();\line
+ ok( spy.calledOnce );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Exercise\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We can now begin writing tests for our Todo application, which are listed and separated by component (e.g., Models, Collections, etc.). It\u8217's useful to pay attention to the name of the test, the logic being tested, and most importantly the assertions being made as this will give you some insight into how what we\u8217've learned can be applied to a complete application.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To get the most out of this section, I recommend looking at the QUnit Koans included in the {\f1 practicals/qunit-koans} folder - this is a port of the Backbone.js Jasmine Koans over to QUnit.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i In case you haven\u8217't had a chance to try out one of the Koans kits as yet, they are a set of unit tests using a specific testing framework that both demonstrate how a set of tests for an application may be written, but also leave some tests unfilled so that you can complete them as an exercise.}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Models\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For our models we want to at minimum test that:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab New instances can be created with the expected default values\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Attributes can be set and retrieved correctly\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Changes to state correctly fire off custom events where needed\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Validation rules are correctly enforced\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 module( 'About Backbone.Model');\line
+\line
+test('Can be created with default values for its attributes.', function() \{\line
+ expect( 3 );\line
+\line
+ var todo = new Todo();\line
+ equal( todo.get('text'), '' );\line
+ equal( todo.get('done'), false );\line
+ equal( todo.get('order'), 0 );\line
+\});\line
+\line
+test('Will set attributes on the model instance when created.', function() \{\line
+ expect( 1 );\line
+\line
+ var todo = new Todo( \{ text: 'Get oil change for car.' \} );\line
+ equal( todo.get('text'), 'Get oil change for car.' );\line
+\line
+\});\line
+\line
+test('Will call a custom initialize function on the model instance when created.', function() \{\line
+ expect( 1 );\line
+\line
+ var toot = new Todo(\{ text: 'Stop monkeys from throwing their own crap!' \});\line
+ equal( toot.get('text'), 'Stop monkeys from throwing their own rainbows!' );\line
+\});\line
+\line
+test('Fires a custom event when the state changes.', function() \{\line
+ expect( 1 );\line
+\line
+ var spy = this.spy();\line
+ var todo = new Todo();\line
+\line
+ todo.on( 'change', spy );\line
+ // Change the model state\line
+ todo.set( \{ text: 'new text' \} );\line
+\line
+ ok( spy.calledOnce, 'A change event callback was correctly triggered' );\line
+\});\line
+\line
+\line
+test('Can contain custom validation rules, and will trigger an invalid event on failed validation.', function() \{\line
+ expect( 3 );\line
+\line
+ var errorCallback = this.spy();\line
+ var todo = new Todo();\line
+\line
+ todo.on('invalid', errorCallback);\line
+ // Change the model state in such a way that validation will fail\line
+ todo.set( \{ done: 'not a boolean' \} );\line
+\line
+ ok( errorCallback.called, 'A failed validation correctly triggered an error' );\line
+ notEqual( errorCallback.getCall(0), undefined );\line
+ equal( errorCallback.getCall(0).args[1], 'Todo.done must be a boolean value.' );\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Collections\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For our collection we\u8217'll want to test that:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The Collection has a Todo Model\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Uses localStorage for syncing\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab That done(), remaining() and clear() work as expected\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The order for Todos is numerically correct\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('Test Collection', function() \{\line
+\line
+ beforeEach(function() \{\line
+\line
+ // Define new todos\line
+ this.todoOne = new Todo;\line
+ this.todoTwo = new Todo(\{\line
+ title: "Buy some milk"\line
+ \});\line
+\line
+ // Create a new collection of todos for testing\line
+ return this.todos = new TodoList([this.todoOne, this.todoTwo]);\line
+ \});\line
+\line
+ it('Has the Todo model', function() \{\line
+ return expect(this.todos.model).toBe(Todo);\line
+ \});\line
+\line
+ it('Uses local storage', function() \{\line
+ return expect(this.todos.localStorage).toEqual(new Store('todos-backbone'));\line
+ \});\line
+\line
+ describe('done', function() \{\line
+ return it('returns an array of the todos that are done', function() \{\line
+ this.todoTwo.done = true;\line
+ return expect(this.todos.done()).toEqual([this.todoTwo]);\line
+ \});\line
+ \});\line
+\line
+ describe('remaining', function() \{\line
+ return it('returns an array of the todos that are not done', function() \{\line
+ this.todoTwo.done = true;\line
+ return expect(this.todos.remaining()).toEqual([this.todoOne]);\line
+ \});\line
+ \});\line
+\line
+ describe('clear', function() \{\line
+ return it('destroys the current todo from local storage', function() \{\line
+ expect(this.todos.models).toEqual([this.todoOne, this.todoTwo]);\line
+ this.todos.clear(this.todoOne);\line
+ return expect(this.todos.models).toEqual([this.todoTwo]);\line
+ \});\line
+ \});\line
+\line
+ return describe('Order sets the order on todos ascending numerically', function() \{\line
+ it('defaults to one when there arent any items in the collection', function() \{\line
+ this.emptyTodos = new TodoApp.Collections.TodoList;\line
+ return expect(this.emptyTodos.order()).toEqual(0);\line
+ \});\line
+\line
+ return it('Increments the order by one each time', function() \{\line
+ expect(this.todos.order(this.todoOne)).toEqual(1);\line
+ return expect(this.todos.order(this.todoTwo)).toEqual(2);\line
+ \});\line
+ \});\line
+\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Views\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For our views we want to ensure:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab They are being correctly tied to a DOM element when created\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab They can render, after which the DOM representation of the view should be visible\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab They support wiring up view methods to DOM elements\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 One could also take this further and test that user interactions with the view correctly result in any models that need to be changed being updated correctly.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 module( 'About Backbone.View', \{\line
+ setup: function() \{\line
+ $('body').append('
');\line
+ this.todoView = new TodoView(\{ model: new Todo() \});\line
+ \},\line
+ teardown: function() \{\line
+ this.todoView.remove();\line
+ $('#todoList').remove();\line
+ \}\line
+\});\line
+\line
+test('Should be tied to a DOM element when created, based off the property provided.', function() \{\line
+ expect( 1 );\line
+ equal( this.todoView.el.tagName.toLowerCase(), 'li' );\line
+\});\line
+\line
+test('Is backed by a model instance, which provides the data.', function() \{\line
+ expect( 2 );\line
+ notEqual( this.todoView.model, undefined );\line
+ equal( this.todoView.model.get('done'), false );\line
+\});\line
+\line
+test('Can render, after which the DOM representation of the view will be visible.', function() \{\line
+ this.todoView.render();\line
+\line
+ // Append the DOM representation of the view to ul#todoList\line
+ $('ul#todoList').append(this.todoView.el);\line
+\line
+ // Check the number of li items rendered to the list\line
+ equal($('#todoList').find('li').length, 1);\line
+\});\line
+\line
+asyncTest('Can wire up view methods to DOM elements.', function() \{\line
+ expect( 2 );\line
+ var viewElt;\line
+\line
+ $('#todoList').append( this.todoView.render().el );\line
+\line
+ setTimeout(function() \{\line
+ viewElt = $('#todoList li input.check').filter(':first');\line
+\line
+ equal(viewElt.length > 0, true);\line
+\line
+ // Ensure QUnit knows we can continue\line
+ start();\line
+ \}, 1000, 'Expected DOM Elt to exist');\line
+\line
+ // Trigget the view to toggle the 'done' status on an item or items\line
+ $('#todoList li input.check').click();\line
+\line
+ // Check the done status for the model is true\line
+ equal( this.todoView.model.get('done'), true );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 App\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 It can also be useful to write tests for any application bootstrap you may have in place. For the following module, our setup instantiates and appends to a TodoApp view and we can test anything from local instances of views being correctly defined to application interactions correctly resulting in changes to instances of local collections.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 module( 'About Backbone Applications' , \{\line
+ setup: function() \{\line
+ Backbone.localStorageDB = new Store('testTodos');\line
+ $('#qunit-fixture').append('');\line
+ this.App = new TodoApp(\{ appendTo: $('#app') \});\line
+ \},\line
+\line
+ teardown: function() \{\line
+ this.App.todos.reset();\line
+ $('#app').remove();\line
+ \}\line
+\});\line
+\line
+test('Should bootstrap the application by initializing the Collection.', function() \{\line
+ expect( 2 );\line
+\line
+ // The todos collection should not be undefined\line
+ notEqual( this.App.todos, undefined );\line
+\line
+ // The initial length of our todos should however be zero\line
+ equal( this.App.todos.length, 0 );\line
+\});\line
+\line
+test( 'Should bind Collection events to View creation.' , function() \{\line
+\line
+ // Set the value of a brand new todo within the input box\line
+ $('#new-todo').val( 'Buy some milk' );\line
+\line
+ // Trigger the enter (return) key to be pressed inside #new-todo\line
+ // causing the new item to be added to the todos collection\line
+ $('#new-todo').trigger(new $.Event( 'keypress', \{ keyCode: 13 \} ));\line
+\line
+ // The length of our collection should now be 1\line
+ equal( this.App.todos.length, 1 );\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Further Reading & Resources\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 That\u8217's it for this section on testing applications with QUnit and SinonJS. I encourage you to try out the {\field{\*\fldinst{HYPERLINK "https://github.com/addyosmani/backbone-koans-qunit"}}{\fldrslt{\ul
+QUnit Backbone.js Koans
+}}}
+ and see if you can extend some of the examples. For further reading consider looking at some of the additional resources below:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b {\field{\*\fldinst{HYPERLINK "http://tddjs.com/"}}{\fldrslt{\ul
+Test-driven JavaScript Development (book)
+}}}
+}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b {\field{\*\fldinst{HYPERLINK "http://sinonjs.org/qunit/"}}{\fldrslt{\ul
+SinonJS/QUnit Adapter
+}}}
+}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b {\field{\*\fldinst{HYPERLINK "http://cjohansen.no/en/javascript/using_sinon_js_with_qunit"}}{\fldrslt{\ul
+SinonJS and QUnit
+}}}
+}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b {\field{\*\fldinst{HYPERLINK "http://msdn.microsoft.com/en-us/scriptjunkie/gg749824"}}{\fldrslt{\ul
+Automating JavaScript Testing With QUnit
+}}}
+}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b {\field{\*\fldinst{HYPERLINK "http://benalman.com/talks/unit-testing-qunit.html"}}{\fldrslt{\ul
+Ben Alman\u8217's Unit Testing With QUnit
+}}}
+}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b {\field{\*\fldinst{HYPERLINK "https://github.com/jc00ke/qunit-backbone"}}{\fldrslt{\ul
+Another QUnit/Backbone.js demo project
+}}}
+}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b {\field{\*\fldinst{HYPERLINK "http://devblog.supportbee.com/2012/02/10/helpers-for-testing-backbone-js-apps-using-jasmine-and-sinon-js/"}}{\fldrslt{\ul
+SinonJS helpers for Backbone
+}}}
+}\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Unit Testing\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 One definition of unit testing is the process of taking the smallest piece of testable code in an application, isolating it from the remainder of your codebase, and determining if it behaves exactly as expected.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For an application to be considered \u8216'well-tested\u8217', each function should ideally have its own separate unit tests where it\u8217's tested against the different conditions you expect it to handle. All tests must pass before functionality is considered \u8216'complete\u8217'. This allows developers to both modify a unit of code and its dependencies with a level of confidence about whether these changes have caused any breakage.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A basic example of unit testing is where a developer asserts that passing specific values to a sum function results in the correct value being returned. For an example more relevant to this book, we may wish to assert that adding a new Todo item to a list correctly adds a Model of a specific type to a Todos Collection.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When building modern web-applications, it\u8217's typically considered best-practice to include automated unit testing as a part of your development process. In the following chapters we are going to look at three different solutions for unit testing your Backbone.js apps - Jasmine, QUnit and SinonJS.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Jasmine\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Behavior-Driven Development\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this section, we\u8217'll be taking a look at how to unit test Backbone applications using a popular JavaScript testing framework called {\field{\*\fldinst{HYPERLINK "http://pivotal.github.com/jasmine/"}}{\fldrslt{\ul
+Jasmine
+}}}
+ from Pivotal Labs.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Jasmine describes itself as a behavior-driven development (BDD) framework for testing JavaScript code. Before we jump into how the framework works, it\u8217's useful to understand exactly what {\field{\*\fldinst{HYPERLINK "http://en.wikipedia.org/wiki/Behavior_Driven_Development"}}{\fldrslt{\ul
+BDD
+}}}
+ is.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 BDD is a second-generation testing approach first described by {\field{\*\fldinst{HYPERLINK "http://dannorth.net/introducing-bdd/"}}{\fldrslt{\ul
+Dan North
+}}}
+ (the authority on BDD) which attempts to test the behavior of software. It\u8217's considered second-generation as it came out of merging ideas from Domain driven design (DDD) and lean software development. BDD helps teams deliver high-quality software by answering many of the more confusing questions early on in the agile process. Such questions commonly include those concerning documentation and testing.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you were to read a book on BDD, it\u8217's likely that it would be described as being \u8216'outside-in and pull-based\u8217'. The reason for this is that it borrows the idea of \u8216'pulling features\u8217' from Lean manufacturing which effectively ensures that the right software solutions are being written by a) focusing on the expected outputs of the system and b) ensuring these outputs are achieved.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 BDD recognizes that there are usually multiple stakeholders in a project and not a single amorphous user of the system. These different groups will be affected by the software being written in differing ways and will have varying opinions of what quality in the system means to them. It\u8217's for this reason that it\u8217's important to understand who the software will be bringing value to and exactly what in it will be valuable to them.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Finally, BDD relies on automation. Once you\u8217've defined the quality expected, your team will want to check on the functionality of the solution being built regularly and compare it to the results they expect. In order to facilitate this efficiently, the process has to be automated. BDD relies heavily on the automation of specification-testing and Jasmine is a tool which can assist with this.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 BDD helps both developers and non-technical stakeholders:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Better understand and represent the models of the problems being solved\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Explain supported test cases in a language that non-developers can read\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Focus on minimizing translation of the technical code being written and the domain language spoken by the business\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 What this means is that developers should be able to show Jasmine unit tests to a project stakeholder and (at a high level, thanks to a common vocabulary being used) they\u8217'll ideally be able to understand what the code supports.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Developers often implement BDD in unison with another testing paradigm known as {\field{\*\fldinst{HYPERLINK "http://en.wikipedia.org/wiki/Test-driven_development"}}{\fldrslt{\ul
+TDD
+}}}
+ (test-driven development). The main idea behind TDD is using the following development process:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 1.\tx360\tab Write unit tests which describe the functionality you would like your code to support\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 2.\tx360\tab Watch these tests fail (as the code to support them hasn\u8217't yet been written)\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 3.\tx360\tab Write code to make the tests pass\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 4.\tx360\tab Rinse, repeat, and refactor\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this chapter we\u8217're going to use BDD (with TDD) to write unit tests for a Backbone application.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\i Note:}} I\u8217've seen a lot of developers also opt for writing tests to validate behavior of their code after having written it. While this is fine, note that it can come with pitfalls such as only testing for behavior your code currently supports, rather than the behavior needed to fully solve the problem.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Suites, Specs, & Spies\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When using Jasmine, you\u8217'll be writing suites and specifications (specs). Suites basically describe scenarios while specs describe what can be done in these scenarios.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Each spec is a JavaScript function, described with a call to {\f1 it()} using a description string and a function. The description should describe the behaviour the particular unit of code should exhibit and, keeping in mind BDD, it should ideally be meaningful. Here\u8217's an example of a basic spec:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 it('should be incrementing in value', function()\{\line
+ var counter = 0;\line
+ counter++;\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 On its own, a spec isn\u8217't particularly useful until expectations are set about the behavior of the code. Expectations in specs are defined using the {\f1 expect()} function and an {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/wiki/Matchers"}}{\fldrslt{\ul
+expectation matcher
+}}}
+ (e.g., {\f1 toEqual()}, {\f1 toBeTruthy()}, {\f1 toContain()}). A revised example using an expectation matcher would look like:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 it('should be incrementing in value', function()\{\line
+ var counter = 0;\line
+ counter++;\line
+ expect(counter).toEqual(1);\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The above code passes our behavioral expectation as {\f1 counter} equals 1. Notice how easy it was to read the expectation on the last line (you probably grokked it without any explanation).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Specs are grouped into suites which we describe using Jasmine\u8217's {\f1 describe()} function, again passing a string as a description and a function as we did for {\f1 it()}. The name/description for your suite is typically that of the component or module you\u8217're testing.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Jasmine will use the description as the group name when it reports the results of the specs you\u8217've asked it to run. A simple suite containing our sample spec could look like:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('Stats', function()\{\line
+ it('can increment a number', function()\{\line
+ ...\line
+ \});\line
+\line
+ it('can subtract a number', function()\{\line
+ ...\line
+ \});\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Suites also share a functional scope, so it\u8217's possible to declare variables and functions inside a describe block which are accessible within specs:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('Stats', function()\{\line
+ var counter = 1;\line
+\line
+ it('can increment a number', function()\{\line
+ // the counter was = 1\line
+ counter = counter + 1;\line
+ expect(counter).toEqual(2);\line
+ \});\line
+\line
+ it('can subtract a number', function()\{\line
+ // the counter was = 2\line
+ counter = counter - 1;\line
+ expect(counter).toEqual(1);\line
+ \});\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\i Note:}} Suites are executed in the order in which they are described, which can be useful to know if you would prefer to see test results for specific parts of your application reported first.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Jasmine also supports {\b spies} - a way to mock, spy, and fake behavior in our unit tests. Spies replace the function they\u8217're spying on, allowing us to simulate behavior we would like to mock (i.e., test without using the actual implementation).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the example below, we\u8217're spying on the {\f1 setComplete} method of a dummy Todo function to test that arguments can be passed to it as expected.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var Todo = function()\{\line
+\};\line
+\line
+Todo.prototype.setComplete = function (arg)\{\line
+ return arg;\line
+\}\line
+\line
+describe('a simple spy', function()\{\line
+ it('should spy on an instance method of a Todo', function()\{\line
+ var myTodo = new Todo();\line
+ spyOn(myTodo, 'setComplete');\line
+ myTodo.setComplete('foo bar');\line
+\line
+ expect(myTodo.setComplete).toHaveBeenCalledWith('foo bar');\line
+\line
+ var myTodo2 = new Todo();\line
+ spyOn(myTodo2, 'setComplete');\line
+\line
+ expect(myTodo2.setComplete).not.toHaveBeenCalled();\line
+\line
+ \});\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You are more likely to use spies for testing {\field{\*\fldinst{HYPERLINK "http://en.wikipedia.org/wiki/Asynchronous_communication"}}{\fldrslt{\ul
+asynchronous
+}}}
+ behavior in your application such as AJAX requests. Jasmine supports:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Writing tests which can mock AJAX requests using spies. This allows us to test both the code that initiates the AJAX request and the code executed upon its completion. It\u8217's also possible to mock/fake the server responses. The benefit of this type of testing is that it\u8217's faster as no real calls are being made to a server. The ability to simulate any response from the server is also of great benefit.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Asynchronous tests which don\u8217't rely on spies\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This example of the first kind of test shows how to fake an AJAX request and verify that the request was both calling the correct URL and executed a callback where one was provided.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 it('the callback should be executed on success', function () \{\line
+\line
+ // `andCallFake()` calls a passed function when a spy\line
+ // has been called\line
+ spyOn($, 'ajax').andCallFake(function(options) \{\line
+ options.success();\line
+ \});\line
+\line
+ // Create a new spy\line
+ var callback = jasmine.createSpy();\line
+\line
+ // Exexute the spy callback if the\line
+ // request for Todo 15 is successful\line
+ getTodo(15, callback);\line
+\line
+ // Verify that the URL of the most recent call\line
+ // matches our expected Todo item.\line
+ expect($.ajax.mostRecentCall.args[0]['url']).toEqual('/todos/15');\line
+\line
+ // `expect(x).toHaveBeenCalled()` will pass if `x` is a\line
+ // spy and was called.\line
+ expect(callback).toHaveBeenCalled();\line
+\});\line
+\line
+function getTodo(id, callback) \{\line
+ $.ajax(\{\line
+ type: 'GET',\line
+ url: '/todos/'' + id,\line
+ dataType: 'json',\line
+ success: callback\line
+ \});\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 All of these are Spy-specific matchers and are documented on the Jasmine {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/wiki/Spies"}}{\fldrslt{\ul
+wiki
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For the second type of test (asynchronous tests), we can take the above further by taking advantage of three other methods Jasmine supports:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/wiki/Asynchronous-specs"}}{\fldrslt{\ul
+waits(timeout)
+}}}
+ - a native timeout before the next block is run\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/wiki/Asynchronous-specs"}}{\fldrslt{\ul
+waitsFor(function, optional message, optional timeout)
+}}}
+ - a way to pause specs until some other work has completed. Jasmine waits until the supplied function returns true here before it moves on to the next block.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/wiki/Asynchronous-specs"}}{\fldrslt{\ul
+runs(function)
+}}}
+ - a block which runs as if it was directly called. They exist so that we can test asynchronous processes.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 it('should make an actual AJAX request to a server', function () \{\line
+\line
+ // Create a new spy\line
+ var callback = jasmine.createSpy();\line
+\line
+ // Exexute the spy callback if the\line
+ // request for Todo 16 is successful\line
+ getTodo(16, callback);\line
+\line
+ // Pause the spec until the callback count is\line
+ // greater than 0\line
+ waitsFor(function() \{\line
+ return callback.callCount > 0;\line
+ \});\line
+\line
+ // Once the wait is complete, our runs() block\line
+ // will check to ensure our spy callback has been\line
+ // called\line
+ runs(function() \{\line
+ expect(callback).toHaveBeenCalled();\line
+ \});\line
+\});\line
+\line
+function getTodo(id, callback) \{\line
+ $.ajax(\{\line
+ type: 'GET',\line
+ url: 'todos.json',\line
+ dataType: 'json',\line
+ success: callback\line
+ \});\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\i Note:}} It\u8217's useful to remember that when making real requests to a web server in your unit tests, this has the potential to massively slow down the speed at which tests run (due to many factors including server latency). As this also introduces an external dependency that can (and should) be minimized in your unit testing, it is strongly recommended that you opt for spies to remove the dependency on a web server.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 beforeEach() and afterEach()\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Jasmine also supports specifying code that can be run before each ({\f1 beforeEach()}) and after each ({\f1 afterEach()}) test. This is useful for enforcing consistent conditions (such as resetting variables that may be required by specs). In the following example, {\f1 beforeEach()} is used to create a new sample Todo model which specs can use for testing attributes.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 beforeEach(function()\{\line
+ this.todo = new Backbone.Model(\{\line
+ text: 'Buy some more groceries',\line
+ done: false\line
+ \});\line
+\});\line
+\line
+it('should contain a text value if not the default value', function()\{\line
+ expect(this.todo.get('text')).toEqual('Buy some more groceries');\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Each nested {\f1 describe()} in your tests can have their own {\f1 beforeEach()} and {\f1 afterEach()} methods which support including setup and teardown methods relevant to a particular suite.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 beforeEach()} and {\f1 afterEach()} can be used together to write tests verifying that our Backbone routes are being correctly triggered when we navigate to the URL. We can start with the {\f1 index} action:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('Todo routes', function()\{\line
+\line
+ beforeEach(function()\{\line
+\line
+ // Create a new router\line
+ this.router = new App.TodoRouter();\line
+\line
+ // Create a new spy\line
+ this.routerSpy = jasmine.spy();\line
+\line
+ // Begin monitoring hashchange events\line
+ try\{\line
+ Backbone.history.start(\{\line
+ silent:true,\line
+ pushState: true\line
+ \});\line
+ \}catch(e)\{\line
+ // ...\line
+ \}\line
+\line
+ // Navigate to a URL\line
+ this.router.navigate('/js/spec/SpecRunner.html');\line
+ \}); \line
+\line
+ afterEach(function()\{\line
+\line
+ // Navigate back to the URL\line
+ this.router.navigate('/js/spec/SpecRunner.html');\line
+\line
+ // Disable Backbone.history temporarily.\line
+ // Note that this is not really useful in real apps but is\line
+ // good for testing routers\line
+ Backbone.history.stop();\line
+ \});\line
+\line
+ it('should call the index route correctly', function()\{\line
+ this.router.bind('route:index', this.routerSpy, this);\line
+ this.router.navigate('', \{trigger: true\});\line
+\line
+ // If everything in our beforeEach() and afterEach()\line
+ // calls have been correctly executed, the following\line
+ // should now pass.\line
+ expect(this.routerSpy).toHaveBeenCalledOnce();\line
+ expect(this.routerSpy).toHaveBeenCalledWith();\line
+ \});\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The actual TodoRouter for that would make the above test pass looks like:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var App = App || \{\};\line
+App.TodoRouter = Backbone.Router.extend(\{\line
+ routes:\{\line
+ '': 'index'\line
+ \},\line
+ index: function()\{\line
+ //...\line
+ \}\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Shared scope\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's imagine we have a Suite where we wish to check for the existence of a new Todo item instance. This could be done by duplicating the spec as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe("Todo tests", function()\{\line
+ \line
+ // Spec\line
+ it("Should be defined when we create it", function()\{\line
+ // A Todo item we are testing\line
+ var todo = new Todo("Get the milk", "Tuesday");\line
+ expect(todo).toBeDefined();\line
+ \}); \line
+\line
+ it("Should have the correct title", function()\{\line
+ // Where we introduce code duplication\line
+ var todo = new Todo("Get the milk", "Tuesday");\line
+ expect(todo.title).toBe("Get the milk");\line
+ \});\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As you can see, we\u8217've introduced duplication that should ideally be refactored into something cleaner. We can do this using Jasmine\u8217's Suite (Shared) Functional Scope.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 All of the specs within the same Suite share the same functional scope, meaning that variables declared within the Suite itself are available to all of the Specs in that suite. This gives us a way to work around our duplication problem by moving the creation of our Todo objects into the common functional scope:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe("Todo tests", function()\{\line
+ \line
+ // The instance of Todo, the object we wish to test\line
+ // is now in the shared functional scope\line
+ var todo = new Todo("Get the milk", "Tuesday");\line
+\line
+ // Spec\line
+ it("should be correctly defined", function()\{\line
+ expect(todo).toBeDefined();\line
+ \});\line
+\line
+ it("should have the correct title", function()\{\line
+ expect(todo.title).toBe("Get the milk");\line
+ \});\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the previous section you may have noticed that we initially declared {\f1 this.todo} within the scope of our {\f1 beforeEach()} call and were then able to continue using this reference in {\f1 afterEach()}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This is again down to shared function scope, which allows such declaractions to be common to all blocks (including {\f1 runs()}).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Variables declared outside of the shared scope (i.e within the local scope {\f1 var todo=...}) will however not be shared.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Getting set up\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Now that we\u8217've reviewed some fundamentals, let\u8217's go through downloading Jasmine and getting everything set up to write tests.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A standalone release of Jasmine can be {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/downloads"}}{\fldrslt{\ul
+downloaded
+}}}
+ from the official release page.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You\u8217'll need a file called SpecRunner.html in addition to the release. It can be downloaded from https://github.com/pivotal/jasmine/tree/master/lib/jasmine-core/example or as part of a download of the complete Jasmine {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/zipball/master"}}{\fldrslt{\ul
+repo
+}}}
+. Alternatively, you can {\f1 git clone} the main Jasmine repository from https://github.com/pivotal/jasmine.git.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's review {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/blob/master/lib/templates/SpecRunner.html.jst"}}{\fldrslt{\ul
+SpecRunner.html.jst
+}}}
+:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 It first includes both Jasmine and the necessary CSS required for reporting:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next come the sources being tested:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Finally, some sample tests are included:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b {\i Note:}} Below this section of SpecRunner is code responsible for running the actual tests. Given that we won\u8217't be covering modifying this code, I\u8217'm going to skip reviewing it. I do however encourage you to take a look through {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/blob/master/lib/jasmine-core/example/spec/PlayerSpec.js"}}{\fldrslt{\ul
+PlayerSpec.js
+}}}
+ and {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/blob/master/lib/jasmine-core/example/spec/SpecHelper.js"}}{\fldrslt{\ul
+SpecHelper.js
+}}}
+. They\u8217're a useful basic example to go through how a minimal set of tests might work.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Also note that for the purposes of introduction, some of the examples in this section will be testing aspects of Backbone.js itself, just to give you a feel for how Jasmine works. You generally will not need to write testing ensuring a framework is working as expected.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 TDD With Backbone\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When developing applications with Backbone, it can be necessary to test both individual modules of code as well as models, views, collections, and routers. Taking a TDD approach to testing, let\u8217's review some specs for testing these Backbone components using the popular Backbone {\field{\*\fldinst{HYPERLINK "https://github.com/addyosmani/todomvc/tree/master/todo-example/backbone"}}{\fldrslt{\ul
+Todo
+}}}
+ application.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Models\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The complexity of Backbone models can vary greatly depending on what your application is trying to achieve. In the following example, we\u8217're going to test default values, attributes, state changes, and validation rules.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 First, we begin our suite for model testing using {\f1 describe()}:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('Tests for Todo', function() \{\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Models should ideally have default values for attributes. This helps ensure that when creating instances without a value set for any specific attribute, a default one (e.g., an empty string) is used instead. The idea here is to allow your application to interact with models without any unexpected behavior.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the following spec, we create a new Todo without any attributes passed then check to find out what the value of the {\f1 text} attribute is. As no value has been set, we expect a default value of {\f1 ''} to be returned.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 it('Can be created with default values for its attributes.', function() \{\line
+ var todo = new Todo();\line
+ expect(todo.get('text')).toBe('');\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If testing this spec before your models have been written, you\u8217'll incur a failing test, as expected. What\u8217's required for the spec to pass is a default value for the attribute {\f1 text}. We can set this and some other useful defaults (which we\u8217'll be using shortly) in our Todo model as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 window.Todo = Backbone.Model.extend(\{\line
+\line
+ defaults: \{\line
+ text: '',\line
+ done: false,\line
+ order: 0\line
+ \}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next, it is common to include validation logic in your models to ensure that input passed from users or other modules in the application are valid.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A Todo app may wish to validate the text input supplied in case it contains rude words. Similarly if we\u8217're storing the {\f1 done} state of a Todo item using booleans, we need to validate that truthy/falsy values are passed and not just any arbitrary string.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In the following spec, we take advantage of the fact that validations which fail model.validate() trigger an \u8220"invalid\u8221" event. This allows us to test if validations are correctly failing when invalid input is supplied.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We create an errorCallback spy using Jasmine\u8217's built in {\f1 createSpy()} method which allows us to spy on the invalid event as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 it('Can contain custom validation rules, and will trigger an invalid event on failed validation.', function() \{\line
+\line
+ var errorCallback = jasmine.createSpy('-invalid event callback-');\line
+\line
+ var todo = new Todo();\line
+\line
+ todo.on('invalid', errorCallback);\line
+\line
+ // What would you need to set on the todo properties to\line
+ // cause validation to fail?\line
+\line
+ todo.set(\{done:'a non-boolean value'\});\line
+\line
+ var errorArgs = errorCallback.mostRecentCall.args;\line
+\line
+ expect(errorArgs).toBeDefined();\line
+ expect(errorArgs[0]).toBe(todo);\line
+ expect(errorArgs[1]).toBe('Todo.done must be a boolean value.');\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The code to make the above failing test support validation is relatively simple. In our model, we override the validate() method (as recommended in the Backbone docs), checking to make sure a model both has a \u8216'done\u8217' property and that its value is a valid boolean before allowing it to pass.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 validate: function(attrs) \{\line
+ if (attrs.hasOwnProperty('done') && !_.isBoolean(attrs.done)) \{\line
+ return 'Todo.done must be a boolean value.';\line
+ \}\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you would like to review the final code for our Todo model, you can find it below:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+window.Todo = Backbone.Model.extend(\{\line
+\line
+ defaults: \{\line
+ text: '',\line
+ done: false,\line
+ order: 0\line
+ \},\line
+\line
+ initialize: function() \{\line
+ this.set(\{text: this.get('text')\}, \{silent: true\});\line
+ \},\line
+\line
+ validate: function(attrs) \{\line
+ if (attrs.hasOwnProperty('done') && !_.isBoolean(attrs.done)) \{\line
+ return 'Todo.done must be a boolean value.';\line
+ \}\line
+ \},\line
+\line
+ toggle: function() \{\line
+ this.save(\{done: !this.get('done')\});\line
+ \}\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Collections\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We now need to define specs to test a Backbone collection of Todo models (a TodoList). Collections are responsible for a number of list tasks including managing order and filtering.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A few specific specs that come to mind when working with collections are:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Making sure we can add new Todo models as both objects and arrays\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Attribute testing to make sure attributes such as the base URL of the collection are values we expect\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Purposefully adding items with a status of {\f1 done:true} and checking against how many items the collection thinks have been completed vs.\u160?those that are remaining\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this section we\u8217're going to cover the first two of these with the third left as an extended exercise you can try on your own.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Testing that Todo models can be added to a collection as objects or arrays is relatively trivial. First, we initialize a new TodoList collection and check to make sure its length (i.e., the number of Todo models it contains) is 0. Next, we add new Todos, both as objects and arrays, checking the length property of the collection at each stage to ensure the overall count is what we expect:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('Tests for TodoList', function() \{\line
+\line
+ it('Can add Model instances as objects and arrays.', function() \{\line
+ var todos = new TodoList();\line
+\line
+ expect(todos.length).toBe(0);\line
+\line
+ todos.add(\{ text: 'Clean the kitchen' \});\line
+\line
+ // how many todos have been added so far?\line
+ expect(todos.length).toBe(1);\line
+\line
+ todos.add([\line
+ \{ text: 'Do the laundry', done: true \},\line
+ \{ text: 'Go to the gym'\}\line
+ ]);\line
+\line
+ // how many are there in total now?\line
+ expect(todos.length).toBe(3);\line
+ \});\line
+...\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Similar to model attributes, it\u8217's also quite straight-forward to test attributes in collections. Here we have a spec that ensures the collection url (i.e., the url reference to the collection\u8217's location on the server) is what we expect it to be:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 it('Can have a url property to define the basic url structure for all contained models.', function() \{\line
+ var todos = new TodoList();\line
+\line
+ // what has been specified as the url base in our model?\line
+ expect(todos.url).toBe('/todos/');\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For the third spec (which you will write as an exercise), note that the implementation for our collection will have methods for filtering how many Todo items are done and how many are remaining - we\u8217'll call these {\f1 done()} and {\f1 remaining()}. Consider writing a spec which creates a new collection and adds one new model that has a preset {\f1 done} state of {\f1 true} and two others that have the default {\f1 done} state of {\f1 false}. Testing the length of what\u8217's returned using {\f1 done()} and {\f1 remaining()} will tell us whether the state management in our application is working or needs a little tweaking.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The final implementation for our TodoList collection can be found below:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 window.TodoList = Backbone.Collection.extend(\{\line
+\line
+ model: Todo,\line
+\line
+ url: '/todos/',\line
+\line
+ done: function() \{\line
+ return this.filter(function(todo) \{ return todo.get('done'); \});\line
+ \},\line
+\line
+ remaining: function() \{\line
+ return this.without.apply(this, this.done());\line
+ \},\line
+\line
+ nextOrder: function() \{\line
+ if (!this.length) \{\line
+ return 1;\line
+ \}\line
+\line
+ return this.last().get('order') + 1;\line
+ \},\line
+\line
+ comparator: function(todo) \{\line
+ return todo.get('order');\line
+ \}\line
+\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Views\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Before we take a look at testing Backbone views, let\u8217's briefly review a jQuery plugin that can assist with writing Jasmine specs for them.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b The Jasmine jQuery Plugin}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As we know our Todo application will be using jQuery for DOM manipulation, there\u8217's a useful jQuery plugin called {\field{\*\fldinst{HYPERLINK "https://github.com/velesin/jasmine-jquery"}}{\fldrslt{\ul
+jasmine-jquery
+}}}
+ we can use to help simplify BDD testing of the rendering performed by our views.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The plugin provides a number of additional Jasmine {\field{\*\fldinst{HYPERLINK "https://github.com/pivotal/jasmine/wiki/Matchers"}}{\fldrslt{\ul
+matchers
+}}}
+ to help test jQuery-wrapped sets such as:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 toBe(jQuerySelector)} e.g., {\f1 expect($('')).toBe('div#some-id')}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 toBeChecked()} e.g., {\f1 expect($('')).toBeChecked()}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 toBeSelected()} e.g., {\f1 expect($('')).toBeSelected()}\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 and {\field{\*\fldinst{HYPERLINK "https://github.com/velesin/jasmine-jquery"}}{\fldrslt{\ul
+many others
+}}}
+. The complete list of matchers supported can be found on the project homepage. It\u8217's useful to know that similar to the standard Jasmine matchers, the custom matchers above can be inverted using the .not prefix (i.e {\f1 expect(x).not.toBe(y)}):\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 expect($('
I am an example
')).not.toHaveText(/other/)\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 jasmine-jquery also includes a fixtures module that can be used to load arbitrary HTML content we wish to use in our tests. Fixtures can be used as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Include some HTML in an external fixtures file:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 some.fixture.html: {\f1
some HTML content
}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Then inside our actual test we would load it as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 loadFixtures('some.fixture.html')\line
+$('some-fixture').myTestedPlugin();\line
+expect($('#some-fixture')).to\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The jasmine-jquery plugin loads fixtures from a directory named spec/javascripts/fixtures by default. If you wish to configure this path you can do so by initially setting {\f1 jasmine.getFixtures().fixturesPath = 'your custom path'}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Finally, jasmine-jquery includes support for spying on jQuery events without the need for any extra plumbing work. This can be done using the {\f1 spyOnEvent()} and {\f1 assert(eventName).toHaveBeenTriggered(selector)} functions. For example:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 spyOnEvent($('#el'), 'click');\line
+$('#el').click();\line
+expect('click').toHaveBeenTriggeredOn($('#el'));\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 View testing\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this section we will review the three dimensions of specs writing for Backbone Views: initial setup, view rendering, and templating. The latter two of these are the most commonly tested, however we\u8217'll see shortly why writing specs for the initialization of your views can also be of benefit.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Initial setup\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 At their most basic, specs for Backbone views should validate that they are being correctly tied to specific DOM elements and are backed by valid data models. The reason to consider doing this is that these specs can identify issues which will trip up more complex tests later on. Also, they\u8217're fairly simple to write given the overall value offered.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To help ensure a consistent testing setup for our specs, we use {\f1 beforeEach()} to append both an empty {\f1
} (#todoList) to the DOM and initialize a new instance of a TodoView using an empty Todo model. {\f1 afterEach()} is used to remove the previous #todoList {\f1
} as well as the previous instance of the view.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('Tests for TodoView', function() \{\line
+\line
+ beforeEach(function() \{\line
+ $('body').append('
');\line
+ this.todoView = new TodoView(\{ model: new Todo() \});\line
+ \});\line
+\line
+\line
+ afterEach(function() \{\line
+ this.todoView.remove();\line
+ $('#todoList').remove();\line
+ \});\line
+\line
+...\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The first spec useful to write is a check that the TodoView we\u8217've created is using the correct {\f1 tagName} (element or className). The purpose of this test is to make sure it\u8217's been correctly tied to a DOM element when it was created.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone views typically create empty DOM elements once initialized, however these elements are not attached to the visible DOM in order to allow them to be constructed without an impact on the performance of rendering.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 it('Should be tied to a DOM element when created, based off the property provided.', function() \{\line
+ //what html element tag name represents this view?\line
+ expect(todoView.el.tagName.toLowerCase()).toBe('li');\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Once again, if the TodoView has not already been written, we will experience failing specs. Thankfully, solving this is as simple as creating a new Backbone.View with a specific {\f1 tagName}.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var todoView = Backbone.View.extend(\{\line
+ tagName: 'li'\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If instead of testing against the {\f1 tagName} you would prefer to use a className instead, we can take advantage of jasmine-jquery\u8217's {\f1 toHaveClass()} matcher:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 it('Should have a class of "todos"'), function()\{\line
+ expect(this.view.$el).toHaveClass('todos');\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The {\f1 toHaveClass()} matcher operates on jQuery objects and if the plugin hadn\u8217't been used, an exception would have been thrown. It is of course also possible to test for the className by accessing el.className if you don\u8217't use jasmine-jquery.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You may have noticed that in {\f1 beforeEach()}, we passed our view an initial (albeit unfilled) Todo model. Views should be backed by a model instance which provides data. As this is quite important to our view\u8217's ability to function, we can write a spec to ensure a model is defined (using the {\f1 toBeDefined()} matcher) and then test attributes of the model to ensure defaults both exist and are the values we expect them to be.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 it('Is backed by a model instance, which provides the data.', function() \{\line
+\line
+ expect(todoView.model).toBeDefined();\line
+\line
+ // what's the value for Todo.get('done') here?\line
+ expect(todoView.model.get('done')).toBe(false); //or toBeFalsy()\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 View rendering\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next we\u8217're going to take a look at writing specs for view rendering. Specifically, we want to test that our TodoView elements are actually rendering as expected.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In smaller applications, those new to BDD might argue that visual confirmation of view rendering could replace unit testing of views. The reality is that when dealing with applications that might grow to a large number of views, it makes sense to automate this process as much as possible from the get-go. There are also aspects of rendering that require verification beyond what is visually presented on-screen (which we\u8217'll see very shortly).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We\u8217're going to begin testing views by writing two specs. The first spec will check that the view\u8217's {\f1 render()} method is correctly returning the view instance, which is necessary for chaining. Our second spec will check that the HTML produced is exactly what we expect based on the properties of the model instance that\u8217's been associated with our TodoView.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Unlike some of the previous specs we\u8217've covered, this section will make greater use of {\f1 beforeEach()} to both demonstrate how to use nested suites and also ensure a consistent set of conditions for our specs. In our first example we\u8217're simply going to create a sample model (based on Todo) and instantiate a TodoView with it.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('TodoView', function() \{\line
+\line
+ beforeEach(function() \{\line
+ this.model = new Backbone.Model(\{\line
+ text: 'My Todo',\line
+ order: 1,\line
+ done: false\line
+ \});\line
+ this.view = new TodoView(\{model:this.model\});\line
+ \});\line
+\line
+ describe('Rendering', function() \{\line
+\line
+ it('returns the view object', function() \{\line
+ expect(this.view.render()).toEqual(this.view);\line
+ \});\line
+\line
+ it('produces the correct HTML', function() \{\line
+ this.view.render();\line
+\line
+ // let's use jasmine-jquery's toContain() to avoid\line
+ // testing for the complete content of a todo's markup\line
+ expect(this.view.el.innerHTML)\line
+ .toContain('');\line
+ \});\line
+\line
+ \});\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When these specs are run, only the second one (\u8216'produces the correct HTML\u8217') fails. Our first spec (\u8216'returns the view object\u8217'), which is testing that the TodoView instance is returned from {\f1 render()}, passes since this is Backbone\u8217's default behavior and we haven\u8217't overwritten the {\f1 render()} method with our own version yet.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Note:} For the purposes of maintaining readability, all template examples in this section will use a minimal version of the following Todo view template. As it\u8217's relatively trivial to expand this, please feel free to refer to this sample if needed:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1
\line
+
\line
+ />\line
+ \line
+ \line
+
\line
+
\line
+ \line
+
\line
+
\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The second spec fails with the following message:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 Expected '' to contain ''.}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The reason for this is the default behavior for render() doesn\u8217't create any markup. Let\u8217's write a replacement for render() which fixes this:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 render: function() \{\line
+ var template = '';\line
+ var output = template\line
+ .replace('+++PLACEHOLDER+++', this.model.get('text'));\line
+ this.$el.html(output);\line
+ return this;\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The above specifies an inline string template and replaces fields found in the template within the \u8220"+++PLACEHOLDER+++\u8221" blocks with their corresponding values from the associated model. As we\u8217're also returning the TodoView instance from the method, the first spec will still pass.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 It would be impossible to discuss unit testing without mentioning fixtures. Fixtures typically contain test data (e.g., HTML) that is loaded in when needed (either locally or from an external file) for unit testing. So far we\u8217've been establishing jQuery expectations based on the view\u8217's el property. This works for a number of cases, however, there are instances where it may be necessary to render markup into the document. The most optimal way to handle this within specs is through using fixtures (another feature brought to us by the jasmine-jquery plugin).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Re-writing the last spec to use fixtures would look as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('TodoView', function() \{\line
+\line
+ beforeEach(function() \{\line
+ ...\line
+ setFixtures('
');\line
+ \});\line
+\line
+ ...\line
+\line
+ describe('Template', function() \{\line
+\line
+ beforeEach(function() \{\line
+ $('.todos').append(this.view.render().el);\line
+ \});\line
+\line
+ it('has the correct text content', function() \{\line
+ expect($('.todos').find('.todo-content'))\line
+ .toHaveText('My Todo');\line
+ \});\line
+\line
+ \});\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 What we\u8217're now doing in the above spec is appending the rendered todo item into the fixture. We then set expectations against the fixture, which may be something desirable when a view is setup against an element which already exists in the DOM. It would be necessary to provide both the fixture and test the {\f1 el} property correctly picking up the element expected when the view is instantiated.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Rendering with a templating system\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When a user marks a Todo item as complete (done), we may wish to provide them with visual feedback (such as a striked line through the text) to differentiate the item from those that are remaining. This can be done by attaching a new class to the item. Let\u8217's begin by writing a test:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('When a todo is done', function() \{\line
+\line
+ beforeEach(function() \{\line
+ this.model.set(\{done: true\}, \{silent: true\});\line
+ $('.todos').append(this.view.render().el);\line
+ \});\line
+\line
+ it('has a done class', function() \{\line
+ expect($('.todos .todo-content:first-child'))\line
+ .toHaveClass('done');\line
+ \});\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This will fail with the following message:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 Expected '' to have class 'done'.}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 which can be fixed in the existing render() method as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 render: function() \{\line
+ var template = '';\line
+ var output = template\line
+ .replace('<%= text %>', this.model.get('text'));\line
+ this.$el.html(output);\line
+ if (this.model.get('done')) \{\line
+ this.$('.todo-content').addClass('done');\line
+ \}\line
+ return this;\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 However, this can get unwieldily fairly quickly. As the level of complexity and logic in our templates increase, so do the challenges associated with testing them. We can ease this process by taking advantage of modern templating libraries, many of which have already been demonstrated to work well with testing solutions such as Jasmine.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 JavaScript templating systems (such as {\field{\*\fldinst{HYPERLINK "http://handlebarsjs.com/"}}{\fldrslt{\ul
+Handlebars
+}}}
+, {\field{\*\fldinst{HYPERLINK "http://mustache.github.com/"}}{\fldrslt{\ul
+Mustache
+}}}
+, and Underscore\u8217's own {\field{\*\fldinst{HYPERLINK "http://underscorejs.org/#template"}}{\fldrslt{\ul
+micro-templating
+}}}
+) support conditional logic in template strings. What this effectively means is that we can add if/else/ternery expressions inline which can then be evaluated as needed, allowing us to build even more powerful templates.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In our case, we are going to use the micro-templating found in Underscore.js as no additional files are required to use it and we can easily modify our existing specs to use it without a great deal of effort.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Assuming our template is defined using a script tag of ID {\f1 myTemplate}:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Our TodoView can be modified to use Underscore templating as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var TodoView = Backbone.View.extend(\{\line
+\line
+ tagName: 'li',\line
+ template: _.template($('#myTemplate').html()),\line
+\line
+ initialize: function(options) \{\line
+ // ...\line
+ \},\line
+\line
+ render: function() \{\line
+ this.$el.html(this.template(this.model.toJSON()));\line
+ return this;\line
+ \},\line
+\line
+ ...\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 So, what\u8217's going on here? We\u8217're first defining our template in a script tag with a custom script type (e.g., type=\u8220"text/template\u8221"). As this isn\u8217't a script type any browser understands, it\u8217's simply ignored, however referencing the script by an id attribute allows the template to be kept separate to other parts of the page.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In our view, we\u8217're the using the Underscore {\f1 _.template()} method to compile our template into a function that we can easily pass model data to later on. In the line {\f1 this.model.toJSON()} we are simply returning a copy of the model\u8217's attributes for JSON stringification to the {\f1 template} method, creating a block of HTML that can now be appended to the DOM.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note: Ideally all of your template logic should exist outside of your specs, either in individual template files or embedded using script tags within your SpecRunner. This is generally more maintainable.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you are working with much smaller templates and are not doing this, there is however a useful trick that can be applied to automatically create or extend templates in the Jasmine shared functional scope for each test.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 By creating a new directory (say, \u8216'templates\u8217') in the \u8216'spec\u8217' folder and including a new script file with the following contents into SpecRunner.html, we can manually add custom attributes representing smaller templates we wish to use:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 beforeEach(function() \{\line
+ this.templates = _.extend(this.templates || \{\}, \{\line
+ todo: ''\line
+ \});\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To finish this off, we simply update our existing spec to reference the template when instantiating the TodoView:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('TodoView', function() \{\line
+\line
+ beforeEach(function() \{\line
+ ...\line
+ this.view = new TodoView(\{\line
+ model: this.model,\line
+ template: this.templates.todo\line
+ \});\line
+ \});\line
+\line
+ ...\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The existing specs we\u8217've looked at would continue to pass using this approach, leaving us free to adjust the template with some additional conditional logic for Todos with a status of \u8216'done\u8217':\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 beforeEach(function() \{\line
+ this.templates = _.extend(this.templates || \{\}, \{\line
+ todo: ''\line
+ \});\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This will now also pass without any issues, however as mentioned, this last approach probably only makes sense if you\u8217're working with smaller, highly dynamic templates.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Conclusions\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We have now covered how to write Jasmine tests for Backbone.js models, collections, and views. While testing routing can at times be desirable, some developers feel it can be more optimal to leave this to third-party tools such as Selenium, so do keep this in mind.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Exercise\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As an exercise, I recommend now trying the Jasmine Koans in {\f1 practicals\\jasmine-koans} and trying to fix some of the purposefully failing tests it has to offer. This is an excellent way of not just learning how Jasmine specs and suites work, but working through the examples (without peeking back) will also put your Backbone skills to the test too.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Further reading\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://tinnedfruit.com/2011/04/26/testing-backbone-apps-with-jasmine-sinon-3.html"}}{\fldrslt{\ul
+Testing Backbone Apps With SinonJS
+}}}
+ by James Newbry\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://japhr.blogspot.com/2011/11/jasmine-backbonejs-revisited.html"}}{\fldrslt{\ul
+Jasmine + Backbone Revisited
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://japhr.blogspot.com/2011/12/phantomjs-and-backbonejs-and-requirejs.html"}}{\fldrslt{\ul
+Backbone, PhantomJS and Jasmine
+}}}
+\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 QUnit\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Introduction\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 QUnit is a powerful JavaScript test suite written by jQuery team member {\field{\*\fldinst{HYPERLINK "http://bassistance.de/"}}{\fldrslt{\ul
+J\u246?rn Zaefferer
+}}}
+ and used by many large open-source projects (such as jQuery and Backbone.js) to test their code. It\u8217's both capable of testing standard JavaScript code in the browser as well as code on the server-side (where environments supported include Rhino, V8 and SpiderMonkey). This makes it a robust solution for a large number of use-cases.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Quite a few Backbone.js contributors feel that QUnit is a better introductory framework for testing if you don\u8217't wish to start off with Jasmine and BDD right away. As we\u8217'll see later on in this chapter, QUnit can also be combined with third-party solutions such as SinonJS to produce an even more powerful testing solution supporting spies and mocks, which some say is preferable over Jasmine.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 My personal recommendation is that it\u8217's worth comparing both frameworks and opting for the solution that you feel the most comfortable with.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Getting Setup\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Luckily, getting QUnit setup is a fairly straight-forward process that will take less than 5 minutes.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We first setup a testing environment composed of three files:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab An HTML {\b structure} for displaying test results\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The {\b qunit.js} file composing the testing framework\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The {\b qunit.css} file for styling test results\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The latter two of these can be downloaded from the {\field{\*\fldinst{HYPERLINK "http://qunitjs.com"}}{\fldrslt{\ul
+QUnit website
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you would prefer, you can use a hosted version of the QUnit source files for testing purposes. The hosted URLs can be found at {\field{\*\fldinst{HYPERLINK "http://github.com/jquery/qunit/raw/master/qunit/"}}{\fldrslt{\ul
+{\f1 http://github.com/jquery/qunit/raw/master/qunit/}
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Sample HTML with QUnit-compatible markup:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+\line
+ QUnit Test Suite\line
+\line
+ \line
+ \line
+\line
+ \line
+ \line
+\line
+ \line
+ \line
+\line
+\line
+
QUnit Test Suite
\line
+ \line
+ \line
+ \line
+ test markup, hidden.\line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's go through the elements above with qunit mentioned in their ID. When QUnit is running:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b qunit-header} shows the name of the test suite\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b qunit-banner} shows up as red if a test fails and green if all tests pass\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b qunit-testrunner-toolbar} contains additional options for configuring the display of tests\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b qunit-userAgent} displays the navigator.userAgent property\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b qunit-tests} is a container for our test results\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When running correctly, the above test runner looks as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d49484452000002a00000014a08020000004d697aeb000020004944415478daec9d777854c5fac7bfbb7bb697ec26bbe93d24a490044242ef20d241045444456ca857ac5851afa25c15db4faf8a82781545453a0a4a2fa12604924002e9bd27bbd9926d67cffefed8b06c369ba62878ef7c1e7d1e32e7cccc3bef94efcc9c39675976bb1d040281402010febb601317100804028140049e402010080402117802814020100844e0090402814020108127100804028140049e402010080422f004028140201088c0130804028140b881a0fa74b795a6f79f3c7bf054d6b9bcc292aada569dc14ad3c48904028140205c73b814e525154706070c8a8f9e302c65d2f0c15caa0faacdeae597ec343afda71bb77ff1d3cf2d1a2d713a81402010087f31de72d983f3673cb2708e5c2ab96602bf65ef91e5abd734a95b897f0904028140b88e28155eab972fbd75f2d83f2af0369bed99d59f7db97937f12981402010083708f7cd9bf6eef287391cceef14789bcd76cf0b6fed3c789cb89240201008841b8a5913467efdafe7bbd1f8ee4ed13fb3fa33a2ee0402814020dc80ec3c78fc99d59f7573439702bf65ef11b2334f20100804c20dcb979b776fd97ba4abab9eb7e8353a7dcadc07c8a93a02814020106e64940aafacad6b3d9eabf7bc82ff74e376a2ee0402814020dce034a95b3fddb8bdb72b782b4d474f5944de772710080402e1c6c75b2e2bfcf5dbcedfc0f1b082df7ff22c51770281402010fe16b468b4fb4f9eed1cee41e00f9eca22fe2210080402e1ef8247e1f620f0e7f20a89b30804028140f8bbe051b83d087c49552d711681402010087f173c0ab787dfa569d519fe442b149234a918404b457d31a9936b4754a89f37d0a2ab2f561367100804c2ff161e85db83c0ff29bf00ab18f4d18adba60f8e5149045782689da6eefce19ffff9c6ce8c8ef73ef6fa5b4fa4f99efaea853b37d57791daf07d9f3f10c96d58f3f8f3ab2b7a6981e4a3cfde991e8e7d1f3cbb74afbe579239f9d1ed8f0d46cfdea0e8baa3f31efecf7599af4c9cb5f8f57b27c485289d15499b34e597ceac7fffc38ff3fa9a589f5df4df05f7e6a993fa7ba3e8d8fedd15d65e46993663523f89f5cccffb4fe9af8b01846b56fbd3664cee27315fa3aa2410fe6a3c0a37f517643cf1ae17bf797c94f4aa0299688a125094541e3c7aced20333e67cfeec92e547afde1f1a16a95249c295de4017021f10111fe92f853c44d27b2b944989e12a01521242b0371ff05bb3eed571b2964f1e5af171174bdef07e316101febd4a3b247100708d04be67c39c2c7febd39727853bffa4699aa2284a208f1a38f9cd6f264c59ffdcf44ff3fb92759f5df4df85c03fc05b4c21d057828a5e1658a0f2f51653662feef532e0fa229c36635c04bfedf4ae239996bfbb550295af5c4cd1d7a82a09841b823f5de027deffc6b6a5290000cdb19fb67ef1fdaf3b2af400a2e2872fbfeff60563a329caffa1f737f2972e5c96d91ec56ced69d1ac070d00b4f9774c73dae3086363c30305fed101401763e981ef3f78aa2a5c68321b01800fb4064c7860f9a470a0eaf3173fbb2c10c004004201df5893bfe3da0d4f3d1ad6bec1b0e04587bad38d399f7eb0e6abbd65c50014e12f3f78cfd2f943a5a0462f79f3ab0b77df7b54ffe7b9e8bf0c9b0da0c0d8fa1c85be7e065cdfd143e5eb2da3643e62c0f2b7b7ca6603281b0d0281087c2f099db7dea1eea6c297663eeeba102cce3bb9f4e993ab273f7070d52d0ac8177ff8d68151cfeff8134d295bf9e23b29fec8da947f6543a3a72982ba6cddce32d780b450edf24980bee5d7bde70efc893b2dbd9abb2c9f970a009aacf953571c70b179e5dbafad3cb0b87ccd020504b3ff71078eaefd135d44f8dfe6c6144522d504c25f21f02fbf305701009acf1f7cdce3366ff1deb5f3fc020f3c3e1482a4671f89dbd1b72d650fa48d193e254c0540535fb87b6fbeebb6f981a3875d55d9b115c7ef4be2b25ef82c2a3e6edae0683900b3f6c4bec3073a975ae1373b3132264c2580b9b6fcf2baa3656ed77b67585cacaf0040f9beef3c4c3532fff3eefe116f4e0aa602636703bd9f36f5de453d17f3dae117e81f2d170330e95b0a2ad49ebfc1c49326877b0b4d6648f8dada863cb5d1730d4a1431a1de02c0a46929a851f7ea734ebd48b9bd4548a4c9bede520105da50585657dfc5f23134d03f502ea60093ded0dad25ca8eff6713b4f18adf4f2918b29d03a4d4b768dee86f22aa7a70ee1a790f2415774511d5d3a3cd85b2aa0005ad7d490dd60ecab0fbbb3aac7c4adbd760e81f0bf2df0e316a4c901349ef87a79d707be3236bcb76bc1c6990154e2cc19519fe6f7fd4976f82f7b3e1dadaafbfcc5ed694f2e4e51390ff1e1cd559a836b56ce59e79834f86ddfb376820ac7d66e8a7d60a1aafd16c9e26f762f06d419ebc31edefc478bab18fecbfac74687c8af863cfb5479c6d63957cfdff9adf96ce582b46057a7bfa32ffbf299679767ea113aaf78eb925e1bd63e30d11078b4e55456996e9492aea9abb9ea22cde7772f74ab88b4bb5efdedf1a1684cbf79eaaa8c5ebaa8e762fe71a477dc392b5cac3bf3ebc5e0d1a981e2ab0ebb09c69293877ecc759d5048a74d1d931822777de373baa12963dfc1c30d2ee33ecfff8e3923c2e5c2ab4931baecbd674423c647cbcc677edaea698ed2bb94c198add269b3c627fb3bcf9960349896b2f3dfefcd77d586e8f8b4a9c362c41dfb9cb1b9f4972d273c7d7a42386dea04b7dca7985b32f7ec3fd060bdce5e95c42c5b98266e0fe6a7ccbf33053056667cb8a7f2b63be7448a8dc7feb3dd943676545cb0900d305a135b2680d1939315f7dc332d90cf14eedfbeb9c4e831d3c986fa93fbf6a737f4c2875d5a55d05589dc120768ca37ea9ed93d3a8740f87bc0fef3928e9a95160400fa7ddffcd6ed8dfaf53b72004035e8ded0df93915808c0ffa1554b5354025a5f977522fdf4c5321300c8272c7d734d6afb7029175200251773da4cb4c964bad2a34d269a365afff823c4e16776bdec903d7565feb12359c58d26800a4b5b7072e3038e3b3efafae38569c114a06b2ccbcac8ca2da9a3014a12fed09af7972b0058fa625853b59a0610357ff957b3c23d4c9b36ad0a1a35376cc1ea8cab2ea23aafc5657c2105505259606f5dd47331af093c0a8074c8946181628a31eb6aca4a2beb5a680010460e9f3ccdf7aa42dc71e7ace410391ba00d9ab24b05958d3a06a0c4cae17366cf0abd72628a17f6d0dd131dea6e68ae2f2bae68d49ac196264f99182d63036c4ff3dcdea50c00c2a10b6625fb4b015a535755525ca5313200db3b3ce5fe5b92afba3a72e8bc5131620a60cc8d95156565558d5a2300a14fc41c97db9cdc3c6bba2377b3a1a5a6b2aabe59c7006cbef790399387f1aebb576d569aa19da776199a6618abcd0650028a0db063a6cfb9292158c8060046afd5d00084b1c9c1eecd2f3226900fc0505765ec98694b657169659d2353bfd173e68c93f4c6875d5985de24eee82829937a740e814056f04078b00f05405ff253664f3bc37bcfab97a62840f125bf2723e772a6fcc8fac4a7afac77e317167fb34805c1d4fb662173e7d5db4c6712477d0df8ed3bfcd55089fef3050b96575c83c2ae5ef764ac00807ed73b8f39dfeebbffb9f7de9f1f2788b9e5f0fdfbc66d499a9e200190fbdd4b233f38d71e2d7561f19a452a04dffde4b8d5afec4c1cb5b3d786e95ff9ead8cc57c603f25b5ff974fac355d979d9a74f67edd8773243dda58bba799aae77f564d72eeab998ebcabacac2ced818739bdd62b4777a3ccae2502c9e90cd17b1d88eed5538cf99698a333e3b50704577e296cd4f11838a191cb57b4f31805193c7868b01a026ebc0d79975576e8b7ae89661de143f61f2d8fc75fb0b819ba70ff36603305efc75cfce8af6cd8ff8d409b35302daa5a093b5bd4cb97d9a4c813154fdfad391ec2bf3b161e3a68e8ff1e6ab062c4a2cf936570770270fe90780d1967effc30967c5c60f9d343bd98f52458d93641f763d0dc98beaefcf07509fb5777d66637ba06fdcb2392962c8070d0b3e75b4eafa7af5b3f5c58070d13d7343f8e6333f6c3ed06ebcd4c60010faa900d03597ce1dca2aadd05b93c74c9f162b9745c6461fae72ddab488b0f0240d795a45bbac8d437eed139293288d3260c38bcf3720f3ec4d62eacea4de2e5e89d730804b2820770e5082bc5ed59b575161a0028a552f2fbb36b4c9ff3b4cb6e76dec63547ea0050228f69b66fd5f225d7a2a48a5933074a005cfaee55d777f7d7bdfdf447e735009266cf4180e30b0074ee6fe7ae46ccdcb8e684064050bfc0be1a56bc73f5d235e90e3517a882878e9dbeecd9970fecdb5dbde78b7d6f2dbe3ff58f17ac9325bd2966d73026c3a4d4849d5f7e642c39eff6dfce2f3f9a949ac0983a7da8c150fa9d73a805a0ce3f53ac03c0e63ad6b061c9e16200da822357476d00eae2cf7fce360360fb8d4e55411117a7a200d464ec73aa3b80bccc83276b8c5df482dea5ecd2828fb8a83b805387f75c6ca6018424c4ca004020930040c1d113aed3b6bcd3d98d340036dfeded2c318f0200a6aeb8f16a6043fe99322300998ff4fa7bd5657940713b8f284ce1fead5f1f2da8d05b016467151a01507ea93142975b83630285002a2e5cee32d386fc4317350028ffa0e8defab0b355bd49bc97ce211088c077d823e8cd2681b90d002885bff877e77369ef36b709f6e1fc1a00d2a0e889dd647c2d8a38f1d61181004cf96f7ee07e4870c5eb3feb002a20e565bdde0400d4dcf7de7a39d5efead27fd9934fbdbef2dee737fe0ec336ae5b1596ba60e93bdffe9a915fa369df5197aa82874e5af0fe9a4dd59b5e5c782d4a67ee4b3117755d818cc5f8d87d774f1a33a2f3a54963463c76dfdd8cc5fdc453e3e57cb7f34da50dad00f85eca502034314a0600bab327aadc536cb870b1d10c401ea80c0d0f1202609a32ceb99f503b9c55c67832b597293bc38c95974e757a9672f85c2500c80292780074c78e665dccce3a5bd3e11ebfc8701905a0d38b7606c794979d306dc228dfaba2786aef9eddfb0f6cdd977fddbdea1adc79ffc35879767389cb41017d4141230d203821e66ad913a3e400e8faac126b3799e6659cc92e282dcc2eaaefa30fe95ed4a64be2bd720e81f0f7e2cfffd08d49d7f38bd8521f6f00d0179eaa77d955eecbc95bd065c5956e413247e90442c95fe34b41dc3fd7bdf52cd7753963853054ea58634b76fee7c89ce563fd05aaa4e56bbe7a52df5454547c31ebdcbec307d7ed3cf90772d56fdcb471e3a68d00101a7effb01133268f4a1b182e05a491a3d61c7ec3306ec58ebfb098726fa0ab2f1dd3568f3ae45423d06e67c7184d8b7bdbe13b8e4873b9fc2b330fa6b9ea94a7830ae78b5a5254017ca9424c3300cc0dd51e0e7ad65436d38ee5bda719494f29fba15d30d49ebe02ad6d683220420c9e580c585058905f08c4c7c4cc0a54ca6452a948281409f95417336c4b715671c2e82829250e183d67ee48b3a1b9b9b9a1baa6a8ac22bba4ee46f0aa5f975fa102006d9dbb43d2b32b93274550aa8851bcec740b000c8df107a02db95408847693a9a571f7e1f66d0c6d9f7cd89bdabc9ab8b437ce211088c05fe9e4661a0024812314e8e135aad82b8b1417298e484c05ca7a3f8f282fea7222f1977d7a326a6052377e5ef9f492e2bb1e5dbe706c944a424994b10395b10387deba64e9bf4a0e2d5bb0ba6f321c1a7e7f6c4069c6c90e8ead285b5751b66ed34620fcabaf5fbf35410949ca93f787ef58f79716b32becb0db6c3686613c6f25b1d976d83b8659d56a6b8ffb0a56b3e7ea6d1f8ef9222118c752d763d330d9bab4bac794655742243201d0e905367da39e8198ddbe948c8e1f3a7d543f6107cd316b35b44c2e063cf824fdc0ce96da94d18322bdc57c365fac0a14ab024313d2864d6e2efa65cbe9c2ebed555977024f37d59bdc478392fc1a7344205f9c90a64a3fde085e54b80f05988bb2ab7a74b893befab037b5f93b9c4320108147c691f3eac75314f09ffbe0a0956f9f731789f870e4953936d557df39820260aaf8d565914575f7cd484b87e1e606a1367de96bdb44de8236e7e02610884ca6c6263544b89007001b377cb271c327080dbf7f58eaf8a1a9c38626a90450448eff6a93c67b41efbf488389331e7b7f491c1ad3274e5d95e1e17ad9bdf7bc1271f8d3140942e2fa0397bb9ae9687fc747d8ba2de6e9ca6e874fab956118bbdd4d72c062b1d8ecdff9b488d3c56985f6e1d8dc6684000057e4e5e1265ea017fff7a7ecdccbd56b4d1eee93a824ec2b7d2c346deea87e6c008ca1b2a0e8525975659dbede6205b877dcb5205ce8b9ec797959797959904893030322438243c202c414843efde6de6a7a7b4bf6f5f56ab7af86db0cc6ce32a93e5fd41298e0eddd2fdeeff811d9a07e6200daca93ea9e3395f1b8b058b5bfcb87bd4d9c480181087cdfa8d8bca764e1c24841d4cc450bdf3ed7e121f398474fbe3f9daacd7a76e68a75a18b17264800d4a41f3ae062953428260dc8f02c6fa90a003035de203f0be1387fa3f03164e6bb3f4bc7b87d1b1f505a4bbff945337b7aace6fce6391f9cbcb2d4de0ce0e5f7be583e36988a1cfd46e8da157d38cf6f0500457072172e02ca4ad5a6148940aaf471ea70d840092a3ab86c5c5ce0b52de6d3f7acaeeb3a01b3d96c32993c4a914020f89d2dd8277818b24e750a1f18e10dc0ac53b7d87c01b0e541e37819873b2ee3fdfa87c9fe40cace25ac22d817b9ee2b7899af420800168301a1e152360073ed8eaf0f767852c00b55093d6dd0c4248f8f55996a2efc985907bd2ebb40975d500060d4c4e9a3a3e46c9f08d753f7d7c5abf57d4f333bbb786c82b7981f38d857ca8f5002a8bf5ca0ed315349dc92852942e84e9dd5f7c987bd2ad195c40ffde7101103c27f1f7fee21bba5eb8ed20004711f6e7c34ca75f92e1751001590f27ee6ce96ad0ba40050f5c9f3edafcbefd87b110054a356ddefe729d5b897172401a06bb33656dc104e3cf0738e1a8020ee1ff787bb5d5af8dc82a131e1510911ca984129097113268f72bb61e5d33fab01e729ebdee658544703a0c29f79ef66cf77c42f1c1322005076fe1c002e05808a8e0be978d3a0f923fdaf6d31bbdf53e96a4dc966b3592c569f2790978bb500201d34c6fd056b280624f8f30168eb9beaf32eb700803865ca808e37f9cf4c0bf823293bc38421b1c33a25322a399c0d405b9f6341a8b71080b9b9caed1c40745284c75389125560a0bf5f64ff30b7f0f403978c0040b99ebabf2e5efd3dfd445f70b99106d8b113c644c8006872cea97bcc343e395c0880d6f3e47df3616f4ae44cbcd9020281087c1fd9fbe107279a000862a69fdcf5c6f22bef6e15ef5ced7df7b78e53e58e3d84dc352f7f7c2552c6a6af8f690060e8d28fb7df3fa8e3d266f82fdbde4c9100c0c90ddfff91f752b900402995d764af62e39e121380a14b57ad997c55a8a3263fb0727e3880c6233bd6e79402806afc9915e35ca3bef1de0c050034e5e4f5c5b0bdebf6d70240e0d8c7733f5a3c51d1e1e2ec058f16af5fa40280a65d5bf281b29c0a1380a8994bef771191355f2f8f75789fee9d8b7a51cc3d7f65e3b59467571a01c863472f1ae4f2d29a24ecfe5b92f90098a613a71b81bab3053a007cffe4276e199aea2b94f184d19171f7df33f1caf13a86fa9d293b918fbd7374bccbdfa9636e4e76bc9b77314f0b54b49801f003074c73d931898e1f3a33c53185e5883bae41ab6a1d73927ef78feca049e326c60a01c050a7beee5e05da3f0aeb6e7c379cccae6400be4cce07cc7525993d65ea17993625c11b80a1bc38bfd73e74b7aa178917122920fc37f2a79fa25fb9ec6ed947eb1f1ae12f08487979cda6e59abab2ea062b57e61fe8efba7b183dfdbe85eb565dd9f82d9bbeecdb4bdf2c0a8464c2d2375b166baa2b6a9bad948faf2a4cd5fe85d4f2236ba65f7915bbc78fb74b5c6eeb5874c1adef6c1ade68aa3bbd7edc1b877b5fa8ce8beda5cf6c1cb7754920e40b576dba6971ced9a266dfd8c49448873656ad79e3b762f5f12df78ebe35848a9df36ccbb88567b30b0d22ffc4c438c7a7751b4ffcbaae6f86e9173cbafed2d6258140d88805dbf6cd553736d537a8ad5c617060b042d25eadb9df7db0b20200feef87938b5f190f41f4fb999bee3d9151d6e695342c29ecca6da07aeba21e8bd9ddf29d431d399931326d108bc572dd4f762c408f9ccc6071aeb6c61e3f72eea8eef43d87c2ef9a16226487a44d7eaa7f536d9d86235306f93b3e474a5f3a78d4316bca3cbcc7573633d95f2854f5bb694ebf9bae24c2689bb47ca59ccfa65d32455f527646618b43673f386f744d7db31e3e4181de620a00dd9cbf2d5707a0a2bace9ce6c7873079c61d6175352d2678abfce557bf874a25ccb833a438c3f9f8445b92755113992067ab12c63e17a9a9ae69b2f2a47e017e8e1886b282ec1bc0ab5752a412a6cd0bd1d3facaccaf8fb772baed38da92dc3a7344201f005371a108dd395cc7f3f10df4110300dd74e4407985afb4173e4cffe4404b27abaa7a4c1c90f6d239040259c17760f9b22577bdb3adb8510f4020f78f4d484a8c09574904001a0b4e6fd99f63020421a3d6647eb1dcb912cddb187bd3ca5f2fd6d100259087c5c4a524443bd49dd6d7fdbae6a5c4a7773ad33774f1a3675ac70fbdea8c35006034180140a373bc7d57f6c1c6d326009424304099141fdebba2d02e09ba2de237c7debd26b7d1044015933465da7887ece92a4fbf34f7c1d56a00fa7b6f59b631a38a062879f0d0b1e327a439d4dd94bb7b4dd43267717a6d58c5e6d8d4a7b764383eca4b2954feb109718931e10e753735166e7cfd11e727f38a77ae7eeaa71cc75b0d8923c6cf9c941226a17495e94f2d5ddfd82717f55cccae9b1a4ff8c5861fd2cf64713b917e26eb8b0d3fb07957578216061e3f3067b65901c0ec3c15a5fe76c3ce8b353a007c99323ca65f88bf9c0d30c6a6333f6fdd56e27cd3d2ba7be7d6cde9176a9a3546b3d96c369b8dbaca4b196fff70a2cda5721def9e1b1d6f7ff42e650b034077f2e723655a33c0f70e0c8d8e09f5165300a329cbfe7c4b56bb9d0d1736a7171901802df70f8e0c0f76fc7c4cf6af9bd61f2e75e4c715f25d0cb0eedcf47376a58601d842794854bfc81087bad3f5974e7db4b7f8c6f0aaeec4b90ac737666432b1bfaf1c808546b707da75e74b5b0080ae3f53e27610cf2dd30887009b3515bbbffd2dbbb73e1479b4aae7c4fbe01c02e16f03abf3d91c59eab43f29b3a8d0b8f1c3a203f866f0a5d0569fd877e52dafd485b91f2e0a53a7df327355a7df46f35b387960941f1fe0c1dc547c217f635efdb5b34832315e09405b5b96718df63ca3e207cd1d1c02f0bcf896bc130737e6753a07a8087feca62439cc2698d575f5878e7afc7d9d3e192699989a9812a712007c3e5a1b2ab3ce9f3be0f97482dffd0b862a4c5a78f1abcf1ef7605baf2de9b9989db0d356c6a467ac268f1f556573056c8184d5edbb13ddc19326877b4b298fbf12c64d4decef2bb25c385de0ee15dfe4e57306503067fdb4f937f5ef48b963c751a8e20364a041c150515657e1e1b12e373ed4cf5bc20760d2b76456a87b53aed4705f01681a36a3de50dae917f0ae9f57af162a5421006036e8ea7bf1247bd6adb725f850da82239f1caeea3e538a03757d4da74c7be9c32eacea217102e16f8c3673f7f51478c2ff3276bb1d7606763bdcdfcc06c0028b05d6ef3914d60b54f73f3859053466ed5e97d9410fc64d9d333c440cba7ec7fafd79c4ab7f01576654677eda7c80fc3c1b81f0270b3c459c42f88b368b582cb038d723e7c69a665ae543a95226dfc33f7722bbb4506f054f316de2e8e41031006dd1a53ce2d53f176e727c848223894b8ba300a6b984a83b81f01740049ef0dfcfee2d47fcef99e8c7a70213d2e625a4310ce37caf8cd114ed3a5a455cf4e7a2e83f6d94f32771cde78f651197100844e009846b42ddfaafb78e1a392821c4572ce273d96c9a369bdb7435459736679613effce918eab38b2bbc386cd8748559599964f94e20fc259067f00402814020fcede9fc0c9e4d9c4220100804c27f1f44e0090402814020024f201008040281083c81402010080422f004028140201088c013080402814020024f2010080402117802814020100844e0090402814020108127100804028140049e402010080442dff0f06333bffd6c237e211008040281ace0090402814020108127100804028140049e402010080402117802814020100860d9ed76b720b55a4dfc4220100804c2df0885424156f00402814020fcf743049e402010080422f004028140201088c013080402814020024f201008040281083c81402010080422f00402814020fcef40fd35d9188dc6d2d2d2aaaa2aad56eb76492693050707474444088542521f0402814020fc9d04bea4a4a4bebe7ec890211111116e974a4b4bb3b2b2ec767b42420200584a771d2d993869a2e8ea2da6ecfd6b4dc90f0cc499edd9bc799386715ca2db5a4e6dceb2cc9934867f8379d6a361368b093c01a74fe9f43d0a81402010087fd1167d5959594a4a4a6775071011119192925256567645d0ea33cfe475fcc15abaf8cc3b856a934d7bfae4990c73c7e86675c6c933d9961bcfb39e0cd36cfee8b60bc63e25f33ba21008040281f05709bc46a3f1a8ee4e8dd76834ce4d053e8fe77e070f5c0e4451cb3f7cf131e7cade6603003e9f07f06ea8056ed78609b85c19d5375b7f47140281402010feaa2d7a86616c361bc3309e67196c76874b5c7454348a0b580173edce2f8ef11e5c30c552bef3e3ef1e6d0020be7b4632c00b05a02edefcd98f4f3600c0f4f977bf353258de613d5db5f3bb4bbc48e3f6edb9bf00088e5bfbd02d53a4a08b333e5bbbef1d13008c9b71db0793a29480feecafaf6cc8fa098057d0ca87172df6e7740ef19c9dce9361ed580abffdecbe4c43e9998fc6840ffb72e9a8684f2974cc68c1c8fd5fb84609e86c068140201008d753e00158ad5686613affb60d8bc562b33b6e24182e9f2bc894d074bb8994a6cc8220c0d6565e5c044babe8e5ef1e4d9d7af4b94111daaa9daf7df328c42b6d2dbfbef6e39363e69c782e3ea0f6dc07ef7e738f64d98e6489ebaaba25e7cccb7529dfad7c6e8dc852f8fd27135edef6d3db69973edeb7ffdea5f9c9de82badccfdefaf1b3812fbe8c73ffda70a1fff3cf94aad0b4f7cbb4b7b6c4ae88dee516f2de248d87ec6c473b1be6b209113177f19758fb4cf0ed9f0ff6517a3438a8b063d6bb7e58e512a5e9dcab6e667cb8601869c104028140b8ce026f369b4d2693478117080457ffe67081ccacf30af1d5207531100480e201a839b716e1ff59342802802278d6f3379d7eeb88b9e2cc6708ff6e6e7c88cd46070f7a72fed98f4e16d6250ff277b18544900000200049444154cd1f78f0c12963a40084d18b96accd5cb3a96ed43d77dd3625d95b62b398f8b230607fbd1181940096cbf5cd1a5580ffd407cf4556d11cad7b48d999873a67276ff56098abab455e0122ae4ce5e32f15a2f88807836feb94b5c84be28c4277ba4a9a2f81402010aebfc03b56ea369bcd2d9ccd66b3582c97b5b615e23b1f5cf090cbe1737ad7bb3fb55df9c364d27af90638af2902a26131431080b23b9f5875354e70733de022f034c00bb97a325f280232f5d4630d67fff9c48fbf8097e22b56036114a0487ce181d60f367c35c80408140fde75db7245987b08e5293b13edc9b00ed0edff031e0d564c72cf083039a374368c345f028140205c7f81ef03568b0570117893b5a3c5ad2d575fa66f535782e74bebf2bc527e7b6d4afc9525ff81127e987b412d8d66a05de36d1020befee83dbfd1cfbcfaccbf153c0a285cb5ea191a5097674a062f7f6bd4729bb1e9d2d9556bd77cfcc49da3dd4216257ac88ebae0c1b0ae3ceed1e0ce59bffae203ce289eae2e5790264c201008044ffc45a7e8a5526955551587c3a1288ae382e3cfaaaa2aa954dacba44207df87a2f987abf400a0cffe76d717e0f2839396b4662d3ddd6802606bcdfcf0c7c5e536b7b90b1ff8e8b3f43c0080e6f0963b4d417302d8f0f20e54f0284073f8eb090d006c68c97ff683ef36b7011ca13234a03f606aee14e2e729bb704f86b98bbbf5f0e51a0d80104f2974cedae612c5d3550281402010aeeb0a3e3838383737d76eb7070707bb3e8667b158555555172e5c080e0ebe7a37d7fd35392e17ed8b78319fa39af5e484ec0fbe89db0e00116326acd49d032f6cd1c323723e5b1bfd3d0fb0206ac8b6d961924e56444873973e71b41400c4cb9e7c788a7f2b97bff69627b2002038f183317872ed868dab16af49fae2e617573de98872f36d5b0707de9add3124244cde393b0e3c18d65183056151e336fc98983de4b7d726793098e3eb9eb5d235cad8ce570904028140f00cabf3a937b55a7dcdb3d168340505053535353a9daef3e23e3030302626462e97f721458b5e6da44512399fe31668a2847229cf7de2d256fcf98bdbf86f3fb3187a4d1b2885c429ff269ddec4e149441da3b4e99bcc10c824124ed7219eb3f368980b369b091070385da6d03923d7281ecc20100804c2ff3c0a85e2fa083cc330168bc56ab57a3c45cfe572793c9efbcb72d794b6e28f5ffc112b5f7c4c4a5a0181402010fe0704fe2fdaa267b3d90281a0c3eb707f2d7ce5c4bbe60989ba13080402e17f84bf68054f2010080402e1af5cc193df832710080402e1bf1022f00402814020108127100804028140049e402010080402117802814020100844e009040281402010812710080402e17f070f1fba19fdf111e2170281402010fe465c78650e59c11308040281f0df0f1178028140201088c013080402814020024f201008040281083c81402010080422f004028140201088c0130804028140049e4020100804c2df18eaafcf92cb610f09570268b3d0e72a5b1c812c6044942f000bcd649437f5294199809b18a4a8d31a1b7526b77f1437eaba89382ec63f4421de70ba58c2a7045c8e33dc60a68d569bdbcd5e426ea4525adb6aacd31a3da6363b3954c4e36cce2abf86a57316adfb82fc3e14225e7c80bc5ad356d6acef7dc5d18cfd7469e31fc9d763a1ae79abe84cacbf5742809ccb61e7d56a72abd576974bfd54d2b470259fe29436e98e15d533f60e111302e47211af51672a68d03a420685788b78545183b65e67ea9c9180e2480454b3de6cef75e30120e472c4fc0efdd142335a93b5abfbe5425e8452d2a8335569da003c382a26af4e935ed4d0d5fdfd54523f99b0b6b5ada4497f0d2bcec990702597c3ce286bb2d8180029a13e422e27b3bcc94c330006067b8bf9d4f9ca168385ee653becdcde229592002f918db1e7d56abaef173d766d37ef01e8cd20e0b172bb1a043c5a7eb6a2d9ed92b7881717206f355a2ed4681cedca2d4dadc97aa9aeb5c7ded1d7eed979d8ac521b52c394ea364b5eade677f72f21979353adcea956f7353a9f62f73ef71e5b3be1ba09bc5cc8fbfcce118e7639e6dd9f75269ac5660f0cf17604d66b8d13dedf0db058ecdeee2ec4f8c93ebf73c44f67cb7ece29fffcce119bce96fe9253e1f8c76bbbb2ba4a8a05bc3435e96861bd9db1ad9a3d64426ca0f3d22787f33f3d7289c56239436e4f8d78eee6442e870de0a7b3a5affd7c1e2e570144a9a4afcf1cb4e17491179f730d4be72cda3f779ded2ad6cbd392c3bcc50f7f7fca6a63fa541149418a4fee18fed589c277f7e680c566752c515715a7335987bdb513008bcdf1785b8ff6782cd4356f15ae48f8d43f670c9a9210e40c3955d2f0dcd6cce6360b80a72725dc3b22da79a9b449b7f83f479adbaeea905cd45ef0999fec6dd4998745f97d79d7c87aad71f6a7fbed8cadb3eb5e9a9674cbc0b0b1efed6936987bd3781cdc33bcdf3fc6c5b986a417d53ff4dd098ff5b26444f4b20971149b0de0407ecdf2ad1989418adbd322267fb0dbca78ae9a8f6e1b16ea2dbe5cd73a77cdfede54775f5be323636353c3944bbe3e7abab451c8e37d79d7482e87fdf077278e16d672389c35770ee7539ce16fedb2333637f3ba6a876eed2d254cf5f99d237814fbd92d99d12a89b383bf327d50988fc4b5bdf5d8b5ef1b19e3e63d8bcdfeaf3983c7f70fe86610f058b9dd0c021e2df71270dc3a5152b0f7bf6f1f76aaa4e1be6f8ebd3a7d603f5f995bb2e72b9b9fd874aac7dee125ee55f7ec66d85c77ecd2e7778e482faa7fe8dbf43ef5b5cefdebf0e59a277f3a63edcb80a494087a9f7b8fad9d70dd04de098f628f0d166d3b5bcc95296f8a6bef8476c66669ae61513cae97b297359757db7afbbac38d6aad3f9f01001b4debd48e7f58d40d6c9e80127b756e2e432254015ea26d59a59696ba189524af56fdedf1cb60680079d52d36432b9b276071f92c162b522979614a525eade6fff6e7ce4e0a9e3f3832b3b06ad7c55a3697e74c6d615a2487cdda9c516c69a9bd86a57316ad9b82240629e203e42c8666ac348be2f679e066688bba81c3177244b25e76698bba9ec56273e52a8f45e8a53df62e6ae75ab50a575e9d31704a42d099b2c6afd32f990cbaf943a2a70c8a7e7feea0455f1e8e0ff1bb774474518376d9f7e96ddad647270c983f32f1e1e1e1affd92c3e6091c861d2f6ef831b3e4b6d4c8e727c63effe3b1d766dc0c60c5f68c96fa1a3bc35012399b2760b1586c166e1918363442356d403000c662a2db74d1c1fe3d361e0739552d5f9f2c0263b3dbe850a56c427c4865a3da666865515c365fe4eac6e460c5539312b2ab5ad61ecdbf392e60e6a0c83b07056d3b5b3cbeffa89bc3255b338b780a7f16a783970687fa847a8bed767b7f7faf7e22fa52a38112cb7fdf6ca9ab8a3b59d2981aa61ce8273a96553f6c50bc6342931220da7fa63e29264ac2e76694356a9beaed8c8d2bf36673f9bd6f8716757d62a8df67770ce751ece53f9dde9d912764d9e67da8515bec1675c380005942b0d2b5bd75dfb5137d789dbdf7e589e2183f597ead66c3f14b1e07018f95cb11885d5b63a741c0ded972a580edbce4e844575a386351d7ffdfee3372b99cb2995ebd7594dd6e7fe9fb83009a756dd696a61e7b076d97f7a67b76aecdecfcc2791fb5aa4d0c63d45fb1a481cde55112792ffb9a6bffb29b8d0f8c1f30ae7fe013a323dfde97e7f05e1f5a97bd57b9efc8ae18df3fa0abd64eb8fe02af36981462c19458bf0d3f6e91c50f9f141bd8a833a9a4023b6dd5159ce5886431c3273d3f63705a9892b1db4f9634bebbef42b3c13c2b29e4ee61fd5cd3797e5b268fe2fc73c6c05fcf15a51f3f0980b19a8db52500188bd9509233eba671cbe68f8f52c9ac36e66c79f3caddd98e6dd2d9c921254dbaecb23a4e4b6590b7f4b763f9c74f9c10d8daf2cbaa691b033647181021f08f00879a362098c3667d72e8e2c1e3a74efed63073e3bb3362953feede2f0c89e5f0850e3326c7079636e90a4a2bc4ead2de94eed6f90b1e1e3f20522575b54a2511bc3025312d5c09e05851fd3bbf5d08948b1c453bd65abef2a1693b726b8745f90d0957566bda5eff25fb7c55cb57778f8a544a016c5c3cea832dfb8e3531fe3ef2676f4e74f31b807f8c8b9d3330cc47ccaf6d357e73aae887ccd2f68d503bfdcedcd44943926ab526479a210af1b39307d4698d6feec9f1d8050dc5d9c39262573d34617b76e5d00855f7f684f87a3f7773624aa84f8bc1bced7cc5fa1385cef1dc5092c3f3f6e784c53b07f46be5378dd17275a5e22b9b9a10dc6c30dff7c56fdaf27c8bba61f70e1cfce4d5c191c143652601cf06c064a56b0b2fd69516bc9677e6f4d9410d2dadbacb25e2c8244a22770c4fab7fcb1916ee336560940f9f15ac10ff98517ce84c765bd905b6402c8d1eecb887cb61bf367390335f637581aeb272eaa4077a6c3c0e4e94341e2fac35d5951a6b4a7e7ae3f17305a52fbef5a1c94af3147ee2c86496cb84205421c9ae6af9606ff6d113a72e9fb2cd1cb4426256effef5d8fbb78db8252de6bbedbb29b1174728714d7ccec05000df9d2a5834bcff8c68efb3674e4bfba70d890e7e614ad29e8b5523227d1302e505f5da37f7e45cae6f1d1ceae331dcb5e2a2fac7be7efbcd29614a67b59e2a6d786c7cdcc0402f437176daf4a1000c666b5ab05c5f746ed0e801004e14d6184ab243fd7c562d9d9912eeebd61ea414feeff6e1a307c6556ada5eff25fb428dc6d9de426d4d5f3e780f9fcb797ad3e9ddc7cf1acaf322fa85ae9c77cb6f39a543a70f88f2f5726d6f2c9ea0fbae7deb84e1e74a6a3e3c9877ec5486d37bacbacb815e0b7ecdbddcd520e0b172a5b1433822a953c0dc0601d8d1d972b18fdc71c9509ccde270bd12475d115aaba1387b4743a5282c1eb5050e815ffff506002c0ee5aff4eeb1774883829dddd391328bc7e9cdf4dedfd2f8fa9c197b73cb7fdcf59b43f20d253913460e5971cf84c246fdcb3bb3fc65428f5db8abfe95997ee8b5071640dfaa2fc916872584faab9e9f92e416bd739fbde2079b5bee3e627ee701ed70411d6d63ba6aed0427d7ed905dadc69075a964f4a078399fdddf8b1d2817edbd58d53e1fb55ab8b07fb564dc84fe01dbcf97efc9ad983e20f8b33b8681b636e88cb9d5ea9caa669dd11cebef15e32bb398cd023613eb2f0ff491f35557f6886c8e2797f65095d7a7ff982fe252cf6dced878aa706c8cffd251fd18ab4548b126c506ee385f4eeb5afa07fab058ac9b12428ebcffd46fffb7227dddaab881a9c2a07e94cc072c3680002f1180e28a6a534d71ab996ed1b705fba9cc4d3596e61abbcd0620d04ba410f16b34064b73b5dd66edb174a14aaf0f6f1f29e275b08a6db3aebf7be484d880ede72b0e5daa999514face2d2902b6dd51349fe088f810bfa72727d96cb6f395cd317e5e2f4e19c058ccbb2f5438c46ccba153972f17b069d397778dececb731fdfc968e893d57d9fcf80f271ab56d2ba625c7ab44768601b060783c9fe29c2baa74a629e373c6f70f480b5332560b435b3d0e0a621e151ba0786ad280eeed11c0bae1ded1f101f2af4f1656a9f54f4d4ab82b2dcce134d8ed76da6267e8deb78adefb8db15aec76bbf3d12080f4825a6d79beb9b996127b89c2e20f5dae715c3a76ec685d6bdb8020ef8cff7b6adb3bcf3d78f71d3906fe91a27a9bc96069aab6dbdacd33d9f0e2d64c8661d2e222cbeb5bfeb5e588b1bad06ea3057e616c5efb62d44c33c92b7724fe73f399c22a00e6c66a9bd910201777df783a3e37627184d2f933268f4c8e7de99b3d560edf6eb3b1b87cb72dfd5db9950bd71d3e7db170d9a4a48f9fb9afa645fbd3895c43637543abbe5f90afcddc6651d7bb262ee4726e8e0faa6d6d7b67cb6183c97ccbf8a1306a6d8656318f13ebeff5c484f8f226ed0f678a0704cabfbc6b848065eb2adcee389b60b78b79eccd2b96c40776a8d6dcca26bdc93a38260c0c3d34cabf5edbb63fa724312a54c8c1e0302580f40b25220adbdf7e263ec8bb437b601800f386c535ab5bbf3f94d9dfcfebe3db860a60b3db6d00f85cce0f6f3ca1908ad30b6a769fc832945db4db684570645cb02a50e9bd27b74ad376b5bdd9cc6d420ebaefdabb0b5b6eff64f7e98b45aede8bf2e2b258ac9be283ba1a043c562eec57f7a03b0f021e2de7fb850110f1a93d1fbcb0fbdde53f3d3cf9d9c903da97aeb4c54e5b596c0e5f19ec680d7686b1338c202052101009a056a3efa67738db2a435b18fa6afbef71c92ce2b1e343fd03940a817f98e309c790fe616b9fbc93c562bdf5eb792e684f5d98767df4eedabfbc557e7665d82b5b4fbeb7e500ddda44696abe5d32c62d3ac76ef3d467db871ad7dcedb4c5e38066b5318d7a93c7d64eb821041ec0f623a7290e67faa854c75ed32fd9a5ed831c0b135313c295b20da78adede96bee2df5f6fdc77223e509128d4a5e716bdba23e3e31d8783bdf8005e5dbf35e7e86fc68a4b00189bd5a2ae77345967166d26f3bdef7efbf03787f79dccc8cfcd06e04b59f5c5e72646790b28ce8eac528bba3e2430a04663482fa89ebcec8d8fb71f0a55295ebafd26ae9792bab2552813700118d58d76c626f00ba719965c26716cb239f42958210250a73158348d6c8adf63e9da4c96a51b8e3cfc6dbaab554364c608a574e3e9e2b7b61d7bf2bd751f6efaf5724181a5beb4bd68ad0d00b2cbeb96bcfef1ddfffad268b6f453c9b4974e7fbbef74b3ce0860dde69ff30b8b87fb205c29fde664a19bdf145c1b8010b988d1d43fb9faf389cbdecc3b75d8a2ae03905d5677df1b9fdcf5e65a679ac5a5654fff74eaad9da70da539c6aacb1e35de4176797df7f64c8f90a8a4c2b5c72eed3899fbcae73f680dc6bbd2c2cdcdd5bfaf55f4de6fc6f20b3643ab638c534a0400343abd455dcfe6f2c4110304be21069600809f52d9525733ef9def371ecb55eb0cc312fa2d9b3ae4d7e716dc357b8a28a43fd7cbc775afb8c56cb3daec009a5a5a9a2e9fb3b5e9f8aa609ec29fc5b9ba0d66b3db698bc566363a364e017889f8dd379e0efacee6c8fd02562c9c72bca8aec42a617128ae978fc03fdc350be7b8cc66e8d963874607fb9968bb976f2058ec7ab55629138b857c4b4bad6be293e383443c6a774e456b5de5de53e79572d9a4214996965a87b2eebf50fef4bb9fbff1e5a62f7e3e2a17f1477b5b69bda68bf0f69353f3278ef0934bd71ec977ad567d55614669bd58c01b36a07f5244404649fdc90b051c0e7b78525c6a7488d66839975f307fe2083f856cedd10e112d2d35000ee4963cfbf1372bbfdaf6ddfed32aa93089df6ad53401e0511ca597d464b18e8f0b1ee34fd9698b28348eeba572ac35bfdaf64b9346eb6c6f6d657913c2653d766d8e48ca81cdd57bc17ecaeae6d66397aaba1a043c56ae2b9d07018f96f3bc030070d8eca820bfa820bf301fa9af5400c00e3beced6d80e7e3d7de1e381c168712f886f255ed92df4deff883d86d567353358070a5d786d71ed7188c8bd7eeabaf289b12c85149856b8fe4b95699b1a688b1989ccfce5dfbd7f72b1fcf58bd34e3dd4772d6af0c898a9e3b32592515ae4bbfec1a7da8129dfbaca9fa328070a5cc35f72192b670a5f49b1397dd06349ba1b5416bf4d8da0937ca33f85dc732fff9c06d73268cf0f79157b5e8ce5d2a0100361b6c4e44a02f80cbd54d86d21c9ba9ada05e032044c24dcfcaf64b485bfbe0ec006faf757b8eafdf758836686ce6360060185b9bfbf1608dce3036a9dfe421898172716d732b0036c5b5aa1be624859c2ca9af6b56d3ba96dd172a0fbef733ad6bd115965e28ad5a383e7570b8afbe204b149ec095f9b0d8ec46bd0980886307c0114ac47c6eb55acfe2508cd9e8984c380edfb61a8c76abd9b99eeba6741abd615474c084d8c040f964a755a15e420017cbeb0c25b93693fe835d27ec363a35c4db7198c0663438ae5a340dd6d6a6ea264dbf205f5adbec3c93cda2b82c36272a3c14c0e5ea4637bffdb8ede7e430bfe9c9616b1ebdd56eb71fcf2fffc77bffb16a1a01e45536da199b59d3e84cb3aef0c26eb6d066d45bb52d1cbe084c974765f22aebbbb7273a2204c08ae983564c6fdfde94898536759d63d5d1d756d17bbf595b9b189bcdb1b35ddea20710e62db63336ae5cc5e60b591c2a5c290350ae36c825429bc9f0afdd59cbdf5f1b1f20bf6bc684bba78d5b3e6df04f272e70c40ad7a7802b67a5f0b91c93851e1cd76fc9e4a1ebf69c100444b23a3d4a67f3041cb11700aed49ba5373568dbba6f3c6e4c4908554985efefcbb5b636dacc467144224720761bbf03bd44022ea71898fee981583fafadff98f2d2ec61338e1dd5986c00fc95ca929a06bb4baddd323014404280d7ea7ba78707fa01b86df298bdfffa02361ac0e5aa066b6b23ad6dceab8801102417e59654780cafb858e248303a2400c08a998357cc1cecac56baa1ece8f9fcf171c1cb6e9fc161b3338a6b8e675dc0bd33ef9e35592597eecd29b5e8d4d121690056cc18bc62c6d588364d0380fcca063b63b3ea5af22b1b00047909cf5f6adfb67deedfdf8061de79fcde771e5d9855526392abd81405c06eb7d13a8dddce38db1b25f3be7558fcc992866ebab65c5da6888c2b67f976f0de33efecaba66167f45d0c021e2bd7b5523c0e029e2ce701d0192dd1731fb1d3564aea3d7948d2572fdccf988c8e753f58008be3b2a7c3029bc362533df68e3f3a1c330c6dd0010855ca008885fc603e5d5e911f3523c5635d9b0061603f168772eb5f1bcf14efbb5cbf64443f8558c0f309768c002f4d1bf8d2b481cee8616200b85851efda67fd05f6ceb9470c9b06e0724d7367216831dce4b1b5136e94157c5db3e6745ef1c8a4fe51417ebb4e5d702c28592c368b4dd5356b00a804b019f57c9f8090b008004d663b4cba0f6f1f111be8b3f762e53bbfe5d86d5616c5e3f938cfbeba57f33dd3c72f9932e2c0c5ca94e59f2ffaf467476708562986c6866dcb2cb6b636da19e6c9f937af5b3c2ec6cf8b2392c9fc438402416b9b996ed35aebcb588c0d4095ba0d40524400ecf6485f85984f55b6e80196739faa46d3064029e601605d393dd44de9ee993ae6ee11fd0fe657bb5ad5d0a2be52641dcf3be0f14573dffcc73d02e595a2d91900b48d01c0117b397261513c5b9beecad0236471a8669a02e02b64bbf94dce65361e3a3bfcb9cfe73efbf6890b85a3e2c31f5a3083ef1b02c06ab381c5a22472d734392c70455251689c2030cac3f2f10ad69eec6932b300bcfafdfe985bff91f8d0aa71af6d98f8ea7f6c34edd8a1ef6babe8bddfc481916c81d8b1b37daea2b9cd428f8e0f4bec17c6e2700156a097684a4210c3d84f5cae7c72e1ac93ef2d5b34264912955ca8673dbf6653abbecd4b2cb457e5991b2b9c557c7b6a446a9832af46fdd0dadd009ebf777e44903f8b4d755e3ab1d86c168bed587e01a86cd675df78dc181ce603e0785eb9a9be9c1249b95245e7a3464f4d4ad8f9c8c4606f098bc3ad6d35d81826d4cf0780522a04a0b7d076faea866d88423438d4c7423331fe5e1353078405a86c0c33292d512ea0e8362d800085046051329f90c87e00740cc5d06600fe72b15bb89d363b360f6a9bd4005ef9f637d76ab55aac878e9f06302e251ec0c99c4b45c5250d1addcd430600389a5340ebd4752d5a00af6edce71a91a66900810a09582cae974f58441480662bcbb146d4192ddffc7cf83f3bf61dcfcef7f192befbd0ad164de395a73c8e7ec172b6b7c87e3169917edbcf9775d3b55f583865cf73f383bd84aede7beaf6695f2d9d1ee327ef6a10f058b9ae741e043c5bee5c6bda1de7d98c57bccafcc131b39b581c168bdd9b25be9d0150d1a45db2f2df6c367bd51de3786c56b38dd7b90b5b2d56736395a38db9f5af9dd915472f5729c4020086c2b39545059d6bbcae510d40c5635cfbacc82fb473ee2d2cb1c7018d366894226ee7d64eb881041ec08ef4acf68dd97d471c1bec2c369bc5661fcaca531bccf78e1f3873d4e05bc60eb96d48bf7aad31a3b4e9a57be78e8a0d69b3d0670a6be6f4f7be63d2f081a9693c857f57e97b7b4900b4188c5cabe18e41c100405be64f1cae6b33edcb2db56a1a288957abc53e22caefbd7ba73d74f7edeb9e5d22e27377e554a426c4947ef7e6d6476e729cd834596dcfcc9ffcf0ad37bf73c718003f9c2e849d61515cc7e052d162b0dbed7e5e62747c3ba5abd279cb24009a0d2657ab0e9e39afd619164f48993e22e5a1d9e39f9c9ccce25094dccf318d7799d1b33942892384cde5c3ce385e3b7e62c1cdd12101e945759a360f7e9b3a7cd0f6e76e7f60fae852bdfd546e0180baf262aba6c1639a03a3432fbc71c78ec7a7f17d02790adfee4fa8766fcfde8b5516dab6684cd2b84171d30684ec79feb6f903837a7c38f8c7fdc6f50d13f84738a6262d6d963547f2396cf6d6b79f7beffe59afcd1afcfdfd63a502ee0f1945974bcaf79cc86218fb6313073c3d3dedaed953bf58f9ac9744945150deaad1186b4b1d8f2702bd444f4d4ab031f6155b4e1d3c7aecfb5f8f8a04fc771fb9cddc58d9cdf38bf6b29c2d3659e96e1a8f1ba9613e4d7a53755505633672e5be1e6757470aea00acbe65f0bc44bff76f1fc561b38fe457d9ad663fa94067b2341bccb0dbedb4d531859a9d1cca62b1d61ecd4bbef7e5f8798f26defdc2b6f4f35c8a33775c1aad6b01306370cca2a963a78d4c5d322681b631872eb53f409999dadf633860ff393dd36ca5178d1bd4b15aed0515358e1d8be656ddc5ecf3761bed78620de0d0f1d38cc5b4e77ca185b62d1a9bec1ad1b1353d3d3576d1d471b3c70cbd63784c9b85ce2cebf032379be2beb0f1609bd932312d69415280cdd476f58c3d4d3bdbdb9cd468bd99de7fa1a29baebd3ff30280d5f386b87aaf45d33a2a2ef4fd2553bb1a047aa4ab41c0ddf22b3360b0c0e68b65f12344e18900d802318bc3fd236366fb790b1ef5c39b4f7fbff2f1b58bc77d7ee788c9f1810302e5d92fcfdeb674422fc7e4b246cdeef4b33fed3b161d12f0d41dd3f69ccdf7d485ed7686713430b7feb57aded08d0f4c74a6b6f3c8a9ce357e303357ad332c9ed871acf3090250d6d4ea9afb919c228f031aec767f2f71e7d64eb8b104fe9793d9b48d29ad6d3c7fe12263befa0d10b5cef0e88623da36f3172f3efcc17dd3eb5adb1edd7044a76b8d0e090420e2512be60c7de7e1dbde7b62f1c41143ba799be287bde9958dea27a70ccef8e819a5b782b631febeaa05378dde75e27c9b5e4b1bb45cb9dff79965ebd32f87fb485e9e3d7458a4df8693059fee3b77a5b9d86d6663a3baf5d9cda7857cde2bf72f880df4fe687fce91ec4b761bcd11b6af112d36a6ac591fee2b07607719f1bb2add0ffb4f56abf54f4e1ee86a558bde74dfdbeb7546f3ba154226476600002000494441548f2c9b3e624f6ec51787722dad8d6ea70a3a0c1f2c16806d674b8c16fa1f736f4a8befa7d6b53dbaf17867bf6dd873e4e7cc824726269dfbf4f9a7ee98be2fa778e3e1b3b45eeb4cdc2d4dc70ac371eaa7c79ed38d3d650deaa77e3ce925167db1e2d17f3e787b7a41cdbf4f558b42fa3b66067d6d15bdf79bb9b1d2dc50ee9cd77f79a2e8a59fd2dbcc96796353e7a7457158786f6ff66b3f1eb2681a4f5d2c7e7ac3be166ddb83e39356de3a6c4672f8a14b354fff7882cde5db690b181b80d7660e14f1a8ff9c28389f93636d6d7e73e3af2dbab6e189fd6f1f1c46ebd5dd6f0f36e98dcf6e3ed34de371c54f2a08928beb5bdb1cd24b49151eb75e77e5567e76382fc6dfebb55b470e8df0fd25a7fccd9d67c442be4a2ecdae68b45bad8e41dfb1dd3b3b3914c0ce3379b45ec362b1ecb465fba193006e9b3c9a6ed301387ea9e2b105533f5fb640c2a7566c3b5359d7aeacc7f33d8703acd29a86473fda2897085dab55da3f551235f05469238033170b695d3358c8ac68065059df5c545800a0ca607fea87136eed4118dc0fc0beece267ef9af3ef47e7516cd6cbdbce3434b5b8b430b0285e23dbebfdbd39005ebef7161fbbd679f1a7a359cef6363b25e2d70b956dbad66ebaf6e683273ff8e197fe010a57efaddf79e0d32dbf852b655d0d02ce47ce5de17910e864b92fa3e9303be6091c2f4cb2582cb0fed098d9fecc95c31e3778c0b8948451d10123a37c83a47cc71cd46e87a314bd1242166be5d73bb46da647e74de56a1b9ef8f6b05b9539eadaf1b8c1ad7f4d4f0e2b6dd2bdbafdb4634ba0b4bafef1af0fb845b7f8f77f64fd5e9dd1da61ac6bae6d1f8e5c7257da5a1ffeea40e7014d22122a65a2ecca66d7d64ef050939deb7bc0ebdbffec5ced76bbcdd0da9a7b8c239448fb0f313757b7955d049b2d8b1dca16885bb30fb3289e57d2183b6de1d5e6db6c36a35805c0545bc2a278927e032d4dd5c6ea220002ff70b640cc627328b1176331e98bcef1bcfdb95e2a4369aef31f7c855f70805f5d69012d51f27c026d9afa683153a535ebc1b3b6364be3865222a9dd46db9a2a65c686469d19526f5aafa1f51a815f38255518ca2e720422694c2a63314a9b8b1bd4ad2ca992d6b5d8cc6de28824be4fa063817bd7d0a8e76e4ebce5d977324beba5fdd3188ba9fbd2c9078c54dab53505171d56595aea4cb52594cc4714122b6a29d5e80c6c65b09db69a1bab78defe9444ee78a38c927ab795e7f17d434561f1606cad178e33e63679ca240e87632bcb56d7570bfc23f8be212c169b5777c9cd6fd2e8149e452f3536e93822134f666eaeb634d70a83fab1287e5bd905b7341f59ba747c6cc082e5ab387c91b47f9af399a2a3e2343947581cae3c69ac55d76c28ceeec11e55889db1499a8b5b0c26b67720189bb9b996ef13c0e68b0c25393c65a03822894d717bd92a7aef37be324818d2df91320086b69a6a8aa46d8d3c3ebfde0c168b6dd5b6d8690bdf374418dcdfa66f91a8cba54241838d676651b4bed5a2aee37a29a5d1a98eb2db1986d6b5e82e67d8199b247a3025f66aabc837375672e52a49d4208e40e4fe40d362d65d3e43eb355e89a3392299adadd5b5f170ed5651f800be7780737784b6d96d577aa2cd6cd45e3c6e6718afc4d122b1d82d65c79d769bcdda54e965a8539b6d36a19cd6b5cc1f91f0fe934b5eda7ce2abaf37c0ce78258f73be86c7d05663e565636db1c03fc2b1b161b759db2a2e8dede7bbe1f527d6edcb5cf1eebf037d7db5421f3b8b63ac2d993438fe9b57ffb16effd915ab3f760d076393c4a4daad664747e32983a59af20ed5aa0c120444da6d746bee319b41c311c9bc12c7b03894bef89cb9a1924571bd1246521205ad578b9b8a5c23f2bcfdd93c81a12427c8cf572f545aed30d51483c596c60e01ecadb9c7581cae7ce07836976fd536eb0b3219ab451412e36c42929058a62a4fdb583b78e8f07a1bbfa1bac2d25cd74dd7e6fb86720542b9a9d9e93dabae85ef132890c8bcac9a2e0781fe698ed7f73b54aed8cbf998a6f320d0de53dc2c0fed4f497db479271c97387ca19db1991babf4c5e7b9521f696c7b2e749b4e73fe208bc596a74ce2f085bd1d33ad664dce113b6de5ca7ddb27791c6ac92d532625452d78f65feedd99b1595aeaf4855957874d9f00be32587739839228c49189c6ea4273538dc02f8c2b574935159debba73ffe2f2780d661660a7756a9bd9c8e270bc068cb2334ca7112090eba51436157718eb7c02fe9fbd338f8faa3affffe72e73efacd9f7852c2421040224ec288b88545cea825571f959ead6d2eab7da5aabb5adaded97eeb6f55b5bb76ad52a587105821816d90384400049c842f6643259672633993b77f9fd315966b9934c2042b4e7fde2a5993bf79efb3ccf39e73ee79c7be77eb8c8785bc5619fb327a4735189da8e1aef0bda9aaf2df9e3f7ee78eabd927fbefa9a5f6bff6fe6d4cf6e9c300fd951d4c04b2418868b8873e9ea290def798085e6b414aba1289ad61a9d11a9cee62ab9b7061445f37a7d4a36cde964b740b11c1459e86a0340311a6d423acdeb684e47b11a8a61bcff00a76d97b5fdd0489dadeede4ec6602ab774511a9ea29c9a88584f5fa218968a48b038ecaefe6ec561a368868f9ba44d481f5e09a4284667eae6a345a947ee68a6685a9b90e1bd7cbda9ac7eddd229b7ae5c7cf8b93715491ad53b8566cc2e1fab3caf556174c6bef014d15e25b7d65234ab098fe1e32629eefe018fe801d70666ce1ade33ff56285ad047d15c97d06d668d115c546260dc189dc9cd6a9a3accee5ecf93b70a1719cf4525490eab5f9959c971df5a32f5bbffdcae48a22c0a801250713a8a614121547b2213acae44b7b54669a9a1189635467031c9727f1fcde986260121b68ab1c42dd57b7d9b6635da844cbb45d36fae930597e7b12c5d72161f9f4e735a2a3cae577099dbea64c109501445715109bae4ec41d7a0c892cbd2088ad2c6a769c2a22896d3254d16fb7a25679fbbd7426b52fc6f6450a0341ccde940d1818de7373ffab6dfeb5c7655b6ed3edbe619e578e67f8cce48d1f493ab66f8f51bcf9e14c3b091891dce3e97bd49b1f6521475fbaae5e65ec796b21a45125953a4cf9c4696457b0fcde9f8e824466ba0685a91393e3a91629981b51a8a6eef73a1af5576f783a2b998e481f518dfedba941cd61026daba694e476978d618611505ef6ae563523c31d784c740963461d114c35234ad31458bd62e9ad7d15a03c5308c21dcdaefd31ef8d814c961a3797dbb0bb2ad4971bb4033bae42c4667945d0e4f7ba3288aa269d618a14dccec6fad7575b66ae352694e4bb39c4cd1823e4a61bb8e1e2bd326a48bb69e91bbb62e298ba2e98e1661287a7c4c8a2e259b6234961621e84540b572bd50bb08a859ded142f3065aa3f57e0d14c5b034a7a3397ee8c60d45d134a7a3286af8398fd1af99944251b4462b83921c564f51d96929f72d2ff8eeabaadd991aeac283974d0e34edb184d668b58999a2bdd7dddbc14525580df16eebb9c0ba56ef5f14189d898f4d157ada299a61f4617e57003e3695e6f83eb74f9fd5c64d5214d9ffec3d162e2ac1199ee26ca91ebaa0ddbe6a99d9eadc7cac4aa5b5132ef90cde33255244011445b19ce727d100e579265971bb3c7f5314a5c89222ba65b7000a34cb51ac0614ad886ebf9fa9500c4b51b422b941d114cdf8fc4133144dcb6e4116fa2986a5594e5164288aec72d0bccefb1d61b2e8564441760b34cb511a8e625828b2ec16288a1e98c649922c0a8adb45b11a8ae58646af1e0a5322f8be8ecddbb61b27cfe422e315491cd93b288aec76795b455134a5e1a0c81e972986a1180dc5b05094418f684512413334ab511445710b80e27957942289b2e8862c531a8e66358171a3684651148f838ae4a61896d6f014cb41963d511a2a93a521339cec76395b6a64c169c8c8f77eef9822cbb2db455114a5e1038f0d6a8f2774a240312cc5b09ef199220e1c3ba656116adcd45ea2e7b14a71bb3c4f42510c3b74f6a1ca556489d6f09e2af62e4176bb14591e3a445114c5ed5214856635aa77ca65b70b8a42b19ce7eae3d7782886f584cbbf1933ec50103c611f0aacdf9ea01945121551504437cdb2d7ccca3ad7693b7efc84a3b1529f3ac5fbc7759e121445a635fcd0a55091a4681d332f23ee6c6ddd913d3bf8d8146dd264280ac568e2a3c2e6a5c75554d71cf9acd87b3bade12886f5342dd00cc5b09065bf6af5444c760b9e57d27ad69f3d61f75493670795f6e0694b14a5c8b2274ab486f74463a8bd0d1e2b7a969d2986852c0d5a22c9a21bb244311aa9df4e73da11bab6a7063d1b15d13d6039aba1286ad48b806ae506bb08c8a23bd0728aa228860df84a924581a2e9a1bea6288a2cf4fbec1372eff099c3d1944c338a2405e9ce9222fa5f2d3d5b680de739a3a228b4861bbc67e75fd7c1fa17cd69413390254f94026bdcfbf23ed46707fc0a3c3b3074416334dc353333ce75d8caca8e07b67632839f1009fee2a3288a778b54645975dce7b75be83b288a22396cb6b34735e131fa4953fdd2ff584bbb98a108760fc5d174561b9fae098f998003e40b899ba7cd07ab448ccbcf8a47335b16ddfd6de7bc9ffea5289a0d8bd68445f93d5332ea9ec365ba5df69ae372bfd398339bd59b421b674b42676b5fdd293e364597327c4723d8f6895fb963eddaa16f0cf5e6e3d82f0217e796e845ebce5f74271a1a638db5b59325faaff462856f830bd6ca476d97c176a0288ad11a0ce9d3c6f4d0c7c5cfee21fac8e84cc6cc9914cb4ecce5af0b89db08c77ed1d531543ecd6ab409193e8f4f521445d3814f8c8ebae7f0322fcdf03129b4860f7c2620b841346b8cd4a74df37bad7ad0ed13be72c7dab543df18a2e5e77111b808f1bc98ddf9e25cd3cea7b5fff7419635c6b5cd318c263c1650be02024714c31009872f94d0a77721ee49312c179530261d308aa268ad9ee7b49e41c3a8db095fd28bc057af3b9f476b2709fea232a41f7cbab56748e478ac22e5e3ce9092b4e76330f9e7283d272bf01635199a3d8c2afe1d6de0d3a28dadbd8ed6dee11d741a263b2eccee126b3bfc25ae839d0b21088d8fac74ee879665f29323abdaadaae7f226501afc52297013fca635e733df52bbf407db4e38ef2504c2256fed24c15f0cd4f4b9cd0f6d38e41495b18a948f738bf1529286028a6154e59f9764c7ffedf60595e6de5b5edced57c2a8e2df8f5d35fdcef9991e2deafdd5e6efffe7b0d32d5d979ff2f3eb66e9342c80f2a6ae87361cf248955fe0b946553af7e6dae9293fbf6e969e631ff9cfe1eda79b46be48f94983d3347d4914b80904028130b112bcb77e709fcdfac015f98b7227fdf8ca293ffdf8f8c0adc6b18b948f0b434ad262b7f996f93997e54fb9263f15bef2cf0961baf537cea6284a51203aac14c5d0da81e77547558e5f98197bcfc2acf78fd7ff7de7a945e9514fdfbc70eddcd48f4f363ff3f5c2d65ec7733b4f5f961173e3ecc93fba72ca0fdf3d4c73dac470fd799f6b4a7cf8a84ae7defcbf05593ccbdcf8b7ed756d1d6ebb8dd1877964ce5503e527547fd9f4ac4ba2c04d201008840994e003f583f71517fdeb67df0ba7047b75999c15073591728f46f57f4acfcd4e8bb9624ac2a2df6d8dd273813ac1798911bfbcbe60eba9a6fce4c80519b1d516eb4f3e3cf6bd65539764c79badce5f6e3951dad009202542afaa703ca4242db5d7fdfa8e7543360fc93f7386b03fac9efb796bcf8ce42845745b4f1f60f42653ce1ccfdba747558e37f21a0025d5ad67cb4b7b4ebb9ebe79216db314868b1a867e7ed7e7ef15ef7bafb3f1eb1bff3435ce68af2a35654cffc3b7969cf7b912c37508a2747ee3d7afffeeca426f55f5ffbb7d41569c8902d6df50f0d0ef5e4c4f8a7be4ce155909516e796087e408bd77fcef7d7dffcfae9db9adacfa0f07776a22e36e98b9fc92287013080402610225783ffd608d294a8949bee7c54f5c9646d1d6ed7977cdad0bf38a4b4e9455372ec9cf7af2eae9b73cffa981a37313c21fba228fa250d9dacbc8e22b772f4b8e34be71a85a43e3cef9d993638cb7fea358a7617213c2b3e3c2de2dad296feabc2c2be1a3ef5cb9bbb2e5d3cf9b6f2a487ffada99d7fea5c868d0beb17689ac28ff3a5855901af5e88a696eb7f0faa11abd965f919bf4c29e0ad1d6e5b05b731ff987262cea95bb16cdcb4e19927f7e64c5b4d428c3cd7f2fdef2bdab6477bfe4b4d31a7ee827cadecaf102af1b12ff66f461daf8748a61f6559bf7579b7fb872c654bd6b41fe945a73f786c3d57257cbb71deeb256bbb3e9ec92c2e9344d57b576baad9dffb364726aa4e1e67fec38bf7395d6770e299d1fad3877b8a16bf3f17395d5e69408fd5fefbea2a1dbfef8bb47f212c31e589a67b1f6bd7facf67bcba7f32cbd71fb3e8e565efcd17d0d5df6c7371dce4b0cf7ecb0a3a2c53bfe1ea1faf2e8705d7296d11476555eb2276e79830adcf72e79144083a57bed5fdedd5ad5b5fd6f5b29597c78c58cab1715fa2970dfbb7878cfba4e1b6b8cf056e09625f72b772ef0ae02d26909040221142ec1c320aafadc7c4c8a21235f1319e779a147a048b968ef05e07009977fef7f6ffac50b0506477a4cd8ebfb2bfc7482e57e3b807d954d8ffdf1a587fef226802eab7ded2ffef2a357b73475f4a4c798ec9525d76645c69ab47e12c5ce96eaab72e2b49a0125699ad753fa70d12d7acb3f5f3135e59e85594fbc7fb4bdb34791658aa2fddeae30aa727c9856232b4a4c987ec1b4eca4984850746c5c5c5553dbb623a72d96f69baf58f0f2930ff63a85bfec3ab37241c1fdab2e7bfcdd83e77d2e9bcb7dc72bbbdfdae7af74ae44a7dcffe2d6756fecf55655fffb9bef385c825b14fffef6fb0dcdadf7fce695075fdabafdc0f00efdadb5001c2e9727feb6a62a00b2e0ea37d7adc88ebe240adc04028140985833f8407d6e9a619f5c358367e9673e32f27171003e6ff217297775b600f8ecf4394b73034551698ba7424df8fc5ceb3900addd56a1c7d2e5e801d0d16b17bacca2addbee584dc544288ede340385008962b1bdee86e989076b0644e2f9d8148a61299af1967ffef69533adfdeed5b326dd382552c76b52e3635efae943dffdf31b43ae8daa1cffadcbb21767273cb661df864defc719b8bdfff8c5cf6e9877f5ee5d61f129ffbbe68aeb0a32cb1b3b1edf545255d7f4ab87aeb73afa6f999d79f3b4f8f33b57b84e4351f46fb69d78ec8f3e4ae71f947cbe7446d6f2dca4a488ab8754d5dddded90254043316cafa37ff9bc9957154c498a340eed20da7b00ec3e59eb89bf14a703a028b268ef5dbd20ef60adf9e22b70130804026162cde003f5b9974d49583337734e5a8c4b1a5077764bb29f48b94737a9cfe58622531abe471301204ecffae9044b4e3b30a090c61a2331f0465286a2194f5134a76b69b72040e1383e226c5e4eeafb47ab3d4ad29a8878cf6bb4bde59f3bedfd0e977b7a62f88cb47886a675bc6656763a1450b2db23b71c4c399e56649aa200e4c485033854d5a8284a8bb9ddd263cd4e496019fa9507575d5790f9af035577bc587cb6a2c2d150d161edeb13a4fca4c8b19e6be895670f2e9eb2e391abefbadc5fe9fcf669d1ff6fd1941d9f3779abaa2bb2a4288ae7f5a8dffcfa556b57ccdd59d1e2bd83676ddce1123cf1d7a76403a068262536727e6efafba5b5175f819b40201008136b06efd10f7ef4aafcf77efbf827474f87c7c42fcb4d06f0fcce53cec60a216ae0e21e28343e78c567346151fbeb7b7b1caeb5cb0bce9e2e37c44f1ad209ce362800a080a228daa32f445114450fbdcf9962359bf71ef9e15d37dcb564466b4d656478d8d30fdcf6afad9f592747d81cfddb4fd408dd66d618ce680d814f72ad7b6d07cd696d55a5a2b5ebeca6bf35b4772dbfffc7b3a7656ffddfbbceb6f5dcfce2ee0f4f34ac5b9afbc36fac0c63e49b560e887f17e6a46dfee38f3d3b1caeb3cc4d8ff9f97585ff70b42cbbfc1b6909319f9d69b86df9bcb99393ac4e81a3e51f2fcb945d896e65def7361c64b427ed3565633a9727fb7a06493b2b5bef9a3ff97bcbf3227834764d9b9f95e0513ad7732c804e6b9fc6ddb7a6201700446178019ca2a2c24c18965d1fdac127feb47640e5ecd6158b6c4ed7a727cff92970bf9337f98abc491e5ded8a13a76e583aeff7b7cc7bef68d5d5b3b2fc14b8df999e35b4e79c693943b1229d93402010be64091ec02b07aa3b7b7a1fbe32ff96a57300f43a85bf7c7ae23f3b0ef69beb454782d7ec2d40a4dcf389d1f4f6bbbff7d6c167ae9ff9e293df0170b6ade7c94d876cb65e78cb6b7a1de49dadcfb5b47fffdf9f3d7dc3bc179ffaaed3e5de77b6f9ff0e356f79eca6a213e7fafb5d92c3a64bc9092a5d4051b4464bf33a405164098a8c81cca7482ea745e8ffd1bb25cf7cbdf067f7ddea16258ff8773635903b2597f31f3bcba374eccd85935714fc00c0ae8a9627df3df8d8922900c274dc9a05533c7b3a04f71f0f362bb234d6732992c8864579c275b4bef347ef963cb27cea03570c2892edaa68f9f97f0eb8ce95df72e5658f5e33e7d16be6bcb7efb847559d6286df95b6a178ff37beb6f49195b31e59396b78079af58eff508d7ce3ca459b4b4e3a6c56b1cfaa4bc979fb685d52a4f1cef9937f7ac37c51923dbada5da70e6626c77fe7e695bf587d992c2b1e05ee96639fa5c4c7dcfbf52bbdf74cf752e0a6288ae6b4a48b120804c2f971c9c46686f483757a5dab43912551b47602d0a7e5f1b1a942779b8ad0f8ac2bdcb6aea1ed14c34a0e6ba060bc2967b6e4b4dbab8e71314986f47c4574f71cdfc9e88c61798b00f49ede2ff7f785cf5ca6b85d43a2d40ce4ec70b6cd457559fbdcdded1e25e961537db5bd1549f42c27c8427fefe903b48637e5cc96dd2e7bcd89a0caf1e9d3690d67af3dc968f5c6c90572575384d0d52b73a2215aeceb75b537b06151ac31d2d9540545d644c67b5423690da74dc8f08c72c6702e2f957a4596dcdd6d814ae79c2972526a6a5b5db5b7aaba263cc690916fad38ac4862e48cc5318acd5f76dd14c9c7243b1a2a06e24fd3528f3943e96c71a2d725b97b3a2ebe0237814020103c4c20b19921fde08e017d6e85d2f0da84743e3685a21975a1718af2de4e5114a32a18cfeb659773406b9ca240c1235fed99d0d31a0eb24cd10ced2b4a7dba2f429b982939cd434ad2de2b01dedade436f9201c0f03a4ac3531a1ea23034c50f548ed744c4490edbe0f497a5a353cdcd4ea1cb8cce76009ac8386d42a6d0d94cb12c6459b4770feca8d5eb92b287442a433c97b74a3d4533acaad27952964551fc54d541d3a0685ac32b0cabd06ca0ec3a281a34eb5d2f32e8f23a336b0c975cce4ba2c04d20100884093783f730a41fac2832cde986a4b5154952151af716201f284155f87c50b27af070d790baf6d06082a2287f89629a11fb7afd94a40726f16af2cf43257bd4cd47568e5764c9b3834712db23ca2ebb059ad550ac8662348a24fa8bdc7b4b418fe55c01410e503a67341ea7fc55d5598d22ba0742ad2abbce304382f49ee0cb6e0180dcdf47f3ba4ba2c04d201008044c583df88ba31f1c92254194a4cfdbaff39396ff82ce1518e4f1b2f0122a70130804020113560f7ee25cd9c7777678ded2f217ed5ce365e12554e026100804822a64b593402010080492e009040281402090044f2010080402812478028140201008e383ca53f427eb5b495c0804028140f812919f964866f004028140207cf521099e402010080492e009040281402090044f201008040281247802814020100824c113080402814020099e402010080492e00904028140207c89b9e86a726edb3b9f357483066823470b9228488088bc39598b6334a11420b9256818e65207ced5657eb78abe7d7e2c73c1464abd960d15f22df3e3f9d00a57a5a3c9dca48d9c15c379a25c53653ed925e88da6c29cd8d0e2eaefdacdd9f27bbeff1d933de345607008040281302167f08c263331222f3162668aaef65c17222266a644e42585256943b444d8f0cef193ae4b1f38c961dd5cd1e3180f235db69ecd1556c1a7f09ecd153d63f0d26efec98ebabf7f6e0500b9efd57f1f7bea40b786a3cf9daa7de8ad9375eeb1bad6b3b9a2c7e1b06eaee8b10dfc778cf68ce3402a203804028140989033785a3b675ab2278f349ce89c363d71dad8e6978c86a53513e1c6024d01602ecc4849064383d7f817a54f99f2f63da19b22bcb3a5ce0a24f23480b653b5dbc5b0e7ee991a03a020c9f8afb2ff9ced7b6c9a21f4e23c6777b45403606800308ecd9e711a4205090e81402010266482f7ba800370cbc39fbb9b1afeb0a3b51600b4ebae9eba389e03dc470f54fcb1ca0120313af6475745177d70767bbfbce39d23d3f2721e2ed0fb7c7b4d66826f4eb5995bff5cdcf0b90880be6e4ef6edd32218bf8df373eecc0d77999b5eab418ad5fca65904b8b5cb3274b5e79e6f10002c9b917d5f4194686e7aad8eca7175bc78ae1f40dea494ef5f91cc04333bcaf9ea7bde4686abf9055b4bd36f3e6dae05a035ae9d0cb03e2bd0ae8ea6bf1ea7be9dafbc55831487f9cd6611c0b269d9f7cd890a4c7535474fbf6f487c3cbdf3ef2e00e8ed11f266a4c70c7cc95d59a07de45c8f34cd3074e0e8fe7634fdf538755f9ed708a2a3e96fc7a98757c49d0c08b8ba77638a7c80836ac1718f5cd704028140983809de37dbf736afdbd17ad3e2e9bfccd4b556543db6eda4e91bb3531acefef19ceed93ba6c5a27fdb47271fd96b7ce5da1c7c589dbe62ea9c086d47c5199f6f779ade5e113b5ca2bdf5816d0dd7cdcf7d3237dc616e7a605b6544fc9c6bb5ed9e8d3fca31095de69f6fa9b033f9771b84dd5596850553debc3aacb1bcf289dd958919e9afdd132fb4343cf0e9b9657951a992b0bbc2d2909dfee2ddf17a77efebef563cb08b7b654a30b30b6ef33252d5af59b2f9814f9b57cecffb65aec96a6e5ab7ad195a9d4f34fa9dc79ae1cc637657590aa74d7e65798c64697a605b5546fa9c95313e295eea6a7aeab4fcf4dd93f82396e1a192303c6eea17805ea703300d1d228de66fbff35833dc79949f3dad1567fd02fee65c41cdbbb145dedf416d4760703a034eed53d7040281400860a2cc83ea4eb7213efdd64c0364a4e466af8b10f73438188686e86ceb15a0d15f7bd3cca7f38c7aa3dec0d271117a134f077cebb30a5d53de82e84977e6863380293ee5b9c529f1908736f2346d8a497c72be71f7e1162764206aed8c080674fad4f844b0f72e8ce7015352c2752ced040019087b6451bc8906c387afbd2e050d6dcd0a00d4ab98ddef6da4aa5f75152d889fb436d7c40091f129cfce3142947dab850228063210f1ed39317a1aa6f8c4db5834f749be6173bcfe71f3cac5d3a6d09006bf494a0b6bad38bbd72cd9dc4ab2000020004944415400b0999b9e38dd0f96f69df78fe6efc0d9fdede10202aeeadd1823efefa06a7046ae6b028140204cdc193c3816e6ba35ffaa1bda90d7db1f397fca53f6aabf6e396105c28c610fafc81958d807004466077e3b8c087ad994c8a18f3199c93140e559df8d891161704ac0703e93651d1b9634f05800a561071322cbeb870ed3b240bf55d40533db13557770bf5c929c18393c658f8cd1f927f8016394c4e4a8c199b72c009c6fa23ebde7f476443d9b40773bfa2d0ed92a3aba5de19169d9bf9f5ff5d8b6b2e701b0fadbb2f51bcf05163ea2bf4188080838abe6dd1822afe6a04b50094ec488754d20100884899be0458790983de54f8b223c1fbb9b5a6b34c6ee964e43de94170a20b9fa2b3eaffad507d5cfdf9301c0938fd4bef5ca21107737d91fccd67a3e349dae3e614cc9f2dd68ebb15bc5c09bdad4605094e1650ed1ed020672bc8430709ea7fe2535b33d7f6b82fbc5d6a0d536fc68bbc3ea021be45143860a1e33a94be2128df6e78a4e03e8b0cb40f333bbf0b385c6de98f4b7efc9966499a1e9ba03a545a9c9fa91621fe06f107a0202fe68869afb3563897c80832c5482d3334a5d13080402c19f89b2449f9a15dd5a5575a84b0220d93b9ed9d1502b515d75754f6c6b70000caf9d14ab0364091444e1b44500a0f6ed30e939f168a8d965760370f59a9f39da09adc67b235cbdafeeeec99b116b1cc8da43286a51eaf943590f0040d8b5b3ce1a1d338901801435b3e165a4aa5fe9b9f168ae1d30c3d1f5f2012bd8f3a80866f11533ffb4bae0d7ab0b7ebdbae0896c362c63ca9fae4ed1f577fd6a4bf96987ccd0b4a3a3f9892af1aee9112aa38391fc552730e009aade8d31f27ea80647adaea5437b4ebf53d547fa308140204ce819bc3e29fde9697d4f7f7cf42f2c20a23077f2ea240d139dbdec83ca7bffd5eac9b2775d991f03263389fbe38eb243b953fe343bf0db61f89849bf9fe37c6cdbb117010085b993af8e6718f86ccc9c34e92705e168b140eb75979a559d34d311b5556bca6500d046acbf3999b154434bebd4cc06e46123e7abf98594f505b62706cca06f2a88eda982dfdd75686940f27ef4cec0a26784e93c437b1e94e7e353ff27a3f757ff39e2d9be724edee2a880d1c3a8fe6a6940f6fb6f6640c053933835ef428e7c537ba0834c944a70d254ea5aded7683fc4bb6f259d98402010d4a014c57f0277b2bef59299e37677bb2496e74c5ebf227738fa5d60c2f49aa19c24c912c0787ea21df8ad0fb26473b8e15ba0fac6e0389aaaeffd8c7eedce4c380407a848bd2614b3bd8d54dd016e77b74bd1eb39fe0b5846915c82d52df37aad7ebc0b5709b8aa77171879b5e08c52d7040281f05f4c7e5ae2049dc10fa0d1446afcd3a75eaff5bb85cc78cd3f03bff59d7833262313d2c69150204a0260d2737cc8667b1ba9ba03349a48cd17154886e722bf9897bbaa045cd5bb0b8cbc5a7046a96b028140204cdc043f21e123627fb08c319140100804028124f8af128c31628e918481402010085f26c80b3f090402814020099e40201008040249f0c171d754357f5052b7b7aacb16f09ab58e26f3f10e158150c92d49633ccd791ce273786fd73bc5a7dfa9b05db8f11719a9d7f2ef12f38802af525d6df396a375db4f5bbae5d07d07005797f9df25166797f9df2516697c8c21100804c25721c10b1f6c3af6d4810e70283b56f5c01b272bbdaffdded2e6be478d5d09fe02c5e3dddbb655ed1075d362f80b36fe62339a8cbab477dbd127f6b6f701e74ed5ae7be34c931c8aef83077b09c63bc6c118028140208c3f97e0213b97b969a35dbbfeee99e934509094f0efb2036dc29434ce933ebda5cd7d390f25f80b148f67345aedc32b33a7d1176efc459cbb8720a32e75b53e6fa61fff46c12c3d3027c9f8afb2574fd97e3ac334b2ef43f808c65fb03104028140f88a24785bb7336c5272fa40e6e072a25132f8959fb4b9d77cb2370491f5f1138f9f9f73e764bcf0ded9ddfd72d8db470a67e53e38cd74fec67b24d80314e54d906b4ed7fcee68971500b8b5574e5d99a255133e5791423f0f8d796f5aeb3b119d346be047e5dcd7e6e81faae875cd30f183d1f6f27dca0a98fd8c74f90ac65fa03104028140f88a24f898dca9cfe7d280bbadc3d1d4d8f24733f7f8e52c82489b0fa0318d2ab23e2ee2f15e6ae5d3efbe3687fbb03a7dc5d4f911da0b32de23c11ea028ff5a9eeda9a3d6c76f2c9c15ceb455d53cb2e35ce13d5311207cfe5c4a7b682aeca368cc7bd367130b33865f506f8a37e1a85300f8c1680ff95ee06efdce0e7f23f55e82f1e727784f201008842f9a4bb2984c3300dc8ea2cf6a5f2ab702ac8986aab4b9f721a38aac8f8b78bc975a792b060fd7fb2cb99f87f15055946fe3227e70e5d459e11ac9adf0061de030bb106827139a0afbe81af33ee33a36299c1bfac48787656a8344db141968a4b7607cfd851b4320100884afc60c5e72bba1d1309af0b5ab0bd6423ebaabf4a93de6a7f44d2ad2e6bcf77d5b05238aac8fa778fc804ebcd7192fd0783545793ba3315754add9d10f96cdd4ca00cbaad9199914920a7ba81af3030e8b2dbd0252065e06ebeab5d6f6fbed31e03ba3d5988ff81be9c3851b4320100884af4682afd8777c6be2b4c7723df98e2ec88bc6365bcb241569f35f5d9de2f7eef11144d6c7513c3e884efc0518afa628df76ace24d31f1f93b92223534d0fb937f558b6a76aebf2a2a1415f63168cc0306137bec5c0fa60d2c63d8cc364444726a7b5696a818e933e2715ca83104028140f822b8044bf4d171da63253595761900dcb60dbb2d89d93157a9499bfb66f75144d6c74b3c7e48addc349ec6ab28ca27d2480cd3466a6840d8b5b9a21680a4626747882aecea1af3eaa2e929d909e86cdad2220080a3e7d5a38e657931c19e820b34d2a7a80b3686402010085f91197cc2b4dcffe93cf5f4a601c1f2c4f8c49f2e8af299140e4a9bfbc28c22b23e7ee2f1036ae510c6cf78042aca27da68ddc7356baa6a00e46524de84d65f15d5bd729dbf9d7362fb43536157d598973b5bed3be0bc35dbe7990318e39f5b647be8d3b2373dfe66a73f9aad55353a7d7a4aa091ffb77058305e9714bae0bddc4614dc090402e16271c9f4e025b7db3a7635f45145d6c75f3c7e3c8c0fae282fd91c12a361f5be670cb4335415f60019f5e3bb4acbd2a6adcd54cbdfb2bbdb21b11ace348a1bea46fa70d105ef09040281e0cd04d28367ce4b0d7d5491f5f1178f1f1fe38329ca3326bdca1903ed0c5585dddf3077bf29fefa4c6d107f3591c650dc503772ecc610080402e1e241e4622f06974e515eb3604e0a893f81402090044ff842208af204028140b8c890bba3040281402090044f201008040281247802814020100824c113080402814020099e40201008044210545e74432010080402e1cb8ecacfe42ece9bec0804028140208c17816fb2234bf404028140207c0521099e402010080492e009040281402090044f201008040281247802814020100824c113080402814020099e4020100884ff1e2ea55cacd4277fde4be52751a1ec7ce68478a61f3a03bd723acd0000841ee99393b22985599671a1c31449540489e2783001166e3f218b5e5b4d062a2b8349318ca570abbcfd942c1aa8afcd64b8c18de368fca841f673010034d4d70a878d19f7b88588d0deba6d6f75598bbd5f60e29363562e9f9e17c75dbce627082e89e6752c7361e598cb4f6dfebcaf60e9ecc2c4e1de2475357fb0abc91d9974f3f254ee12f52fa1bdeebd9d664d52ca8d4b9299710a82d05ef7dece96f0bcdc5533a27cca395f7fc76ac078d5dac5bed67d91667fb9627221d64ae67d4fddf3f3aac8eb7effda23193ce032d71f3ad1d5e3d64d9a32b9204b1342096e6b5d6dc359abab0f6c5246d6ec18c3e819b0abe658e9a97a071033297f4e4116df77f297f77dbf1c2bd6bff64436af7680e276581d3286de2047319c96d7f19764327d2913fcd913e226b0212578975c54255b014099924d67f20020399452b312a6c3b28c0b3444d959e4deefc21dd77339be1526f4ca252db2dfdebb2be4db5669a6869ce305bb5cd22283a7af9889a16bdff8193fdad9d55c00e82b0a71c1892768dc42a1a7f2c40fdfae1bfa68a9683c55d1b86acd8ad5530c17a5f5095b9e2bfac8c63dfaf8aa3cdd0515d4dbd472b0c21931d75de8d59b5cddad4527db00e6da4b97e0455b4771451b2a98954b924de31404d1d6555c61890dcb5835c3b7839ea7bf633560dc6aed228fb5be48b3bf5c31b9206b4f7ff0e72d156772d6fd228387a3e2fd4d37fd501cfcea60c1f7ae79f591f8112f448d879fde78f8df431f3fdb8bdcc59f5e37337d84f67ef88507ee5bbf6d7843ee635b363f30d374e6dded67dedeb9e667abd48e5524b75be40c3a4a5140519025579fd5d5af0d8b345dfc1c7f6996e8cf9c105fdd2a6c6c414c681783b65ac93a18bc238d8323230600381a0024f942cca1340c008a0f1c010e0e322f9bcdae5dcc5e97e9198b2875dd6379bf2f1374e378181fead9a766322b723dffe865d3e8f1c83ac1e3363a5d6f0d6477e3dd772ffee99adc540040d1dba73a2e56cbd7700018ed050442926400bc56a582f59367fd66ddb2df3c32c374e92ea5fad469bf5eb7ec373f9c65f2993fc91714048601a0659921f72fccdfb11a300eb516f244531ed3f64b67f6c58bc925b656acdbb6fe0080dbae298058bdc32bbb0340d9ff6dfdddf611ea46eadcee9ddd3d54ec7dcd2c053fa4fee3c1ec3e756eaee780dfbfbaa575dead0f0178f7f51dd66057464aa3d5e9b57a8356a7d71a4ce11106482e51be04e1be3433785e4b656730d9ddf27129a4996259f570423d73567266b143833fa15bfe788758da0d30d48af9ece5491400c12a7f72442ced06809848fa9a056ca60182457a719f149bcdde369d0694437bc50336ac5ece94ee142b1d00944d5b84e42cf6b6a981831e6a6a069d02a4c5530df5ee72099e86d5744edc724a6e75014098895e359f9d1a01c12a6f3e2296770340623c7ded1c367ab0140ee8ad17379c56fa242c9d468dd5f8570fc986684aef94cbbb0150cb16b0cb522800ce1ef9a312f18c0d00b2d2991be73046b5267759219332f449563efec45d25e1aacb35f961709aa5570e4b9a6866ed22460a288d533d7582f2de76bfb8516547c55d758a15008319b9ec0d5369a947da7c5c8691be6e8ecf1d015b65dd310060ee7ef08aa5893410f5c47dd2ba97ab80ae76276274a82f3fb5e1d3ba2a9b0420362161cdcdb373859a6737d69bd2638cbd2d7b1a2440b77acdc25553fc138aa3bdf1edf74e1d6c1300a6705ededdd74c2adff0d9668b143f79eaf7af492ddfbaf7fd1abb363935a1b9f1582700e74b7f2eca5a38f7de4531010766f24d95c1ced85179ea6fefd534ba609894bc44afd28885f6863737562329e381d5d97a04b87343d6e71f969e7073dfb873496114eda8fbfcf79beab5e9531e599dd91ae0f88c3877c9d6b20f0e5b2c00786ec9d259772e4a6400a1ab79c307e57b1a0400d9b9e9b75f979fd853b57e636d4a7e569aeddc869378e89e8c6d9bcff193b2ee9bedfedbc67a3e399cb3588e754ae08d77dfba6069aaf3f5178e94fa06c1c785aee6f73e282f6e1000a44e4a5db37a564ef840d7e86f6ad8f0cfd2e20601bcf1f65b17ac986cf0f3373098a64083bf96f4d99b477d0d30a87a3a685047a0c12318398833b04ca9a972fd1bb52997cdbd77490c207cb661ef368beefe0717a5b4573e1b18a8c906a1497d7bb028094d955e15214d8b445df7487156a94735f332b9005fe668fe1d5a4c3c2e98b2e2a33a5b8a1b04f0e16b6f9edcb6ff445183045eb7fae610bad2d7a2b7bc54a2da68c510fb4e862ba00647ac71bf65dcfa923701e0fe05b986dec31f7b6602a6efbf75c337e3f7aebdb2be0c786b43cba32b83dd3f75dbab3d7f24cffb68cdbca443ffb9659fb90e386d73233ec829bbea2a0000f76fa9fb452afafebd26fbb70751df664dbc65f15c3c77e4e05bc79aef5996ac9e431580f21a160ffd2db9ec7d36a70c008c362c5ccb318a60ef73b31ce57238044ea79515ce68f42c4428fdbddd8a2e420b679f0bb4ec14dc0a00561b6630f25488e3a94b92e033a730974f65164ea6841012bcd42597b80050ab173161001cf269af8193b55b2eb552897a40528a0fb8cbfa00a7fce276b1b41bbc89cad2a3a35b7ebdc85d2f4292950e0996fec11c6353ac0eb814e8f494279c1c4785a94f46954ff78a1f97881b77b8cb2500f4652994b3457cb9546e75617636333b06569bbc71afe874c92f6e17cbbbc1eba9343d5acdf2cb5bdcedf2407a6f6d129f3d22b73a94fc0236cf3066e35b5d4a758b5ceea0127900caee4362930cc92afdb9583c6343620c95c6a3ba4e7a6eafa4165465cb6ef7c6bdee8d7bdd1b77bb8b6a95445eb13a9403e76400d53552870b5c24c5a89526a89e1afe716b3b257e58a758796a453e9d06949f16dfae56248752dea194d72982af35ad351d00604a9d9b38d002b994bc179ebcf6f927afcad3c15173ec99f76aaa6c58b1247bc564ced2d6f6d7374edbc4fe2a9bf3d8c9c63dddba6c1300e7a6b74beb25bfa652fbc4f3c70eb609d99363a79b70ecf0c9a73634152e9d64e9749e3a7cecf90d7bff7ab8abb113572d4b3446707a0080d6a08bd0d26a07d6b9829c5168adfcf1db358d2ec44e8acae86e2eaa70aa2d65db4e753a4fd53924a8b9f356639c41b074f67e7abc034045696da34de013234435c7abf794bc74d8623145dd7ecde4e910f66c3ffcc2311b9cadebff7a744f8360880e9f1ecd5455d43df387fd8d427fa34d3878e0f30d279d0028c151d5e93c556d7388fd5536e7a98ab66382b1308183cbfec61bbbf6f75206df20f838606f5effd7a3c50d822121aa309a696c68fcddb3bb6a076bd1d2d05c6ce6b2a319b8ec1bded855d22b7bfbab1a4c29d0e0bf9c92c27d0c6856f574f82a49fb1b3ca2911e54cb14c5fe4697d064770fdc64b1d82d9df67e09a26aa0bae460db8319208ade1541e9c383c739583daa99a7e24b797f8831f1b870acacaeb89b49e50157efab6f1f2b6a60524d0c5cce4d6f1ff68b9b4a25fea72b59add132a1f71df8d7e02835ee4bcbb15200589815cdc256791200b074c137e76bf8f45977dfe559746f6eec0b76b836e99e7befdaf7c0daa3cb4de51f7cfcece9ae3a00d05f1da70d9a7a622f7b785fe99943958f5a3e7ce5afcffcf8fd830070f56593119d3e1300ce3477073b9da200ca0052bfddae40c3d050c43e9bcdc91823c263628c06a6dfdaed92a140119d368753d1992278469624c56bad5f921545812cba1c12630c8b8e0d0bd38bfdd67eb732a167f00343d790a6efa8a992002086ce4f623a4dd26e1b0e55cb730ae9a16efff04d6c14947d3bdcc5ddd85f294741ea00f848e60757321c94dd9fb877db949d55f2ed3e4f05c193ca599a5eb58cd66d15763ba8ebafd2a40519f0d49be5fae14ff2598b5268a46fc8a7242d3523996aaa904b3b14002d1552078048e6fb57323a28fbf68a876d7079dcb4c9af1e0280154b3597c7524ef37919cfd33fbc9e35bae43f7d2c5a01871b4dd5b20b088b676e2ea4d12bbd7c407699e57a179319702faab543191211e275f87e0ebdb9436e6d909d33a9132d00b0209d6e3ae30e2cad31835239b5e41fb7fa6303d5c96ae9cbf2a97c864a8806c7d02b3221eafcef08b02c03c0901caef75efde5069ebb612353eebfc6201aa3e76685d51dea29aeb10cef644a7ef607734ccee6277e7bd402a14f00bceee4d51fadee03627373bfb96a123a6afef78d9abe8ab38d37acfcf535969f6cb51cabe802b0e2d625855186c2bbafd03ff7f1a64eddddf72fcb6450bbfd68e081e70ae255cfd874b21e8021377ffded9940efebeb77ef7105bd33c2a8bb43cd5c94f4564d635559ab63397fe8a40470cb6744b18218e8b8abdf73e99534c6e8955fd3cc65f529297cfdc1c38d002665afff569e1e7dc51b0eedb030ae818cc0ddfecd252bd20d8eba133eb698927ff3833931103ffbe7b6371aa4e232e1e7be41f0a6f6404523609894fbfb6f4de12014fda368539bfda3a35d0f24791a50c26f9e981f03a1f89fdb373448db4a3af27386fd55ad85fd914c80c1fcd26f2c4878d9bb16543cf50a69d46aff5adba16ae4f7170d7775d5e8c1aa7629f06a633e813a6a2ec851df9e8811a3345811805c1424cef5073f0f5e8ffee6a9f9129736272994980c57dc0fe6c7b457fecff3157dd03dfcc3953374edbf7de66015a47edfabb15a255685df9a8480465b7f20e4be2305d6e08835ee3768169c009011c500343f304f9744808729276f601f510c9a483486c8080380dea697abebeb06af4423de2a600d61d100facefcfda72f570c6c33e85820326d25b01d76a7a8ba400f45b075587c16adc3c318c0ed7482351ab41a4551585d98b6bf4370891a4601184354848682ec7725a18696033883514b03e0f41ce59024191a66a227f89090e5fd8d00800ee9851d72ab0d003a6a254b21ed59888e49a3a300808a3302dd803cb82aa1a33800a0b212a8dd36a5bb0f88f259b3e87279afa60080e406d45b1775c7b59a1c1d00a56caffb4333b695cb858ba8b626b9a45bd97c64f89aee993bf33a4a0700d4e58b3597034eb34f2368ee056207fe1eabf16171b411004f65f3287581055abb150056b3f4b7a2e10eaadae856af64a7f0f0ecc468280ec8825ced52f69d921a019898c93a1c0b5e5ae0a9fde296368d996f954a3a946d47440060a8eb96b22961f4e585aa83260940df39730fd223063674bcfefcb173e0aebf73c94c0e4da7ea8b1a2a5e85d7ed0dcf983a2bd104401731d384629b5ff3151b9b0400968a8a9f545478db1f3f2f2775aba51100625778164f0683240a804efd4029e81919004be67aee78845f3e5bb7e78073a4dbd66aeee8d2d30bd178cc662edee3ae049090966b046357d9336371e12af3b1a29ade37de390c00bc71ed37e313450030849bf400605871fb952b80818c3e29f38a749565cad4fc493100c0e64e8f428305a25f10d44c0fd77300c0e5e51837b5d9cd3d2e240140eaec8c1800e092a28106409446ad0541cd6040a8f4322053cdd334df2a563138d048efc542b53207fadfc078d265b18f1aa820dbd991a2e4551141e32c8d508f01e605894f6831f19864d4ea014444260155d1f15946001133a251d5195257622705365af1e0d8fa8e8fb521d4b83f574ccbe401d9e53375ee3d756ce059105dd0f141c7998dfbea5a583667c1e20f1e986b29fff4fe43e63a587f79a0feeb57a785ab1dd17fa678c7b93e2166faf23b37d7ded4d7f6fecf17fdf603fcf8a9f796bd7db3678fc3a75a1e9c1bad327ba738537438a3280a288a92fb7bbbfa6d7dda2823281aa2bda763b8c1d1a20406a0d8e1457c8af2ceef0a0045a1341cedb5364051a1e6cf899ee0ed8dc353e7d66e85673c1362e5788b723903001d6db21db411b0fa5d6307173a9aba150086c1b5f70e8b22018ca8b404ac1f88c187442ced33a08243397b5a2ae9464c2a73f75c866913ff704086e4776ae5d34fdcfb1dd44d059427e12dcbc4ee2ae5cc7177591ce7796263acc67383169a06ff880aa7d0adc4a4b3df99434ba252532377ca88919526b3020d951835dc10580dc569866d044dcf4b4575a3b2bf4201303587e6829416cd28aaa7f68b9ba513b189f4da423a42540e978bfb3b94cd65f28ca5747be78025dec7a5e5a7e140055c6d6f1d685fb7280e406dc9993d9d4e0046235d535c5ad420a416e4ffcf75994cddb147de68c4e0faa156e3a9094db8cac89b8d4de0d0e04c9d37e7a96b1225c15971bca95de4e3389cdd7aa2717075f995edad8faf4cf4355efdc0184dafea1945510270f478cbeac9e980b3eca4739425a83d6aee3051cb0ab86365ce8f76360358b8289503ceaaedd9dee24c9892f5e4b58951ae9e3dc5c73faab1bf5a74eeb1140900dc9eb99ef3a37fecfea89b7bf0fa1800a92991aa0db9b1b2d5b1324e0f981b7b01f48fd2f2bdcb97eb9a9d0022061f276cac6cb5ad8c3341eeb6865a0b91b6b381063fbc6eb1b70166354fe77e6b4a60550f1a3c92911e54cb9cbe1c001a6b3b24c43182fd9c2ba440a96d1fc980c08a182dce3ef518685e90f8648c21268277fe1d292fa877255d60a31d5bdff10b85ba476b525acd7de07529893e171b117d00767d56eeb8736aecdc2b80cf80cf0e3ebf3dfa5b8947fef12e00e09af814add4bcef6ffffcb4dfa99df7e0c3cbd28647baf6b677ab6b8e03b069dfbc3a3fba5f1c4e81410e61bb0edeffe35780854f6d796d5d6a7864a47e2a706670b00a00cbe74e0afa981d00ca938869ad41d7dfe396014596293e2cdcc40fde8f7788140bb8e0b5e2ae48a202cf2d764551fce7f25f8e87ec54292b71b7c5b1ab327c3c39552d03084b621f5d3490630fed10b675e3688dbcd0b36ee6909fdb214e6794d20e00989349a7b00a5f2bb9ccd20b0794499252d201004b7268c62a03804d7afd80a2e994bd9fd6764b00944d45ee595399555981334ee5f5ad020f4082a7afa565d0fa7e055004a7d2d22895977b9e994052163d74ea24412eb50140ac6758cd538b67b26c9b506cc3879f89a9f3c6663cacea8f60a6a652a8533aeac4774187399512b30286ce0e975e3e2083a17f78d3d08f4d958d5bbc6fb251ffef7a4d7a2683464f57a7e62651c14afbcea2a055e61db7c99de2e646a046b9611ae599d185855352fbb025de8ffe3189d9ebf26b9f3f291cdb7ef0becfb8544e68b40140eaa2fc1c0e67c100e8b7da1a2aab8e14357acfe047263d2f09876b1a0f97bf86ee086b4b5185137cf2b424fbef0edb01ddea6be2f76cadab3a70b82867d5aa74c92d0070bef0dcf62557cc59a576e0336bd49fc8489f9184c3359693277e8baeb45e73b16d54bbd4ddc99a9d86b22acfc46a71b629d89e5da74ebc5a2621da72ff95f19eeb766c4258d69c2cc381937d15277fbba927cd612e6e1380f0044f8845492d87009d75cffcd3bd30dafed14901c09219d1804f1056170eaf6ca779959fe5ee28aa91006ed5bc3874b47a8a7aea9ffd0b35bdc53512806505b170b58f5c0bbf7d30cb70d0dfe0a470a9cecb80a98d2a9efad6bc8fc1370633d28b4eb5e8e93cd9b9adeab94d0eaeaeb9d12f5e818112db55b7a7e9478cd270458414e7a1b0247bea31c03c555fb81063d2d11a626e1fa112e72c4a0f6cb4e963e93b7ea150ad71b1a5f299371ac1a73efb44a1f7837f11f1d9c036d80400fcf4afe72f7efae45e38fff99dfffc737041f437ff93c4c3d15df9f22b2f0148be639df78913b26fc1e9e3009a4fdcf5ca89a1cd574f490a7755aa1ec24ebdfa29bcf22b1cfcd5b5537e35bc8470ddbc3057c3a1eda33c18ee7b016029382519ac9657acb67e1da7652945eab7dbfad830adc6675c40437289b241a8bc15250000200049444154434372dadd80e67c53fba57cc86e7801727884a674b42867fc7e7e26ca27ba01605ef6b09d53b368002eb33c3c05ef1eb8053e631abb200a4c18b36e111303b4b6c82566050c75f562cd541db87866452400d4b7c88d0c15337c6a2a278302e07229677a7ceb851ebe46ba24b8009ea766e7b2774ea7d372e844c0da216f3c22357b96571c4a8f9e59b760e0d4a51d004fad5ecec6d0c3a3e7cb2f676300b8e40fea9531191facba74f1ecb767d13c70a64e2e312bd05377ac64c33caef160bc5d080c7e2c3d9b07003e9e4ee3839716b4a5f8c42d67b6e6b2180a0ef9c323524937c24cf4adf934bc2cf16b7885abaf7a7449ac01806b20bb172e297c62652280c90b72b2014b4ddd5fdff9bc9ad30140a7b5430c1c91fa97aa4f9ffe8bafa71a201c3c5c5354e14474eca30f666c7dad06c0f4e585abe6cdbc7f4938804daf1d6d9674d3e7c602e8b3398fb6b9540e5c57180ef5337229d39f5c190ba0ea64637103524dc3374a876fb97946561c82b96311c0a5a4ae300180213763b22ee89ed1572efefa641d3adb5e7ae7445183109b90faed2b1299a8cc5facc94ef5d85023c014b5eec139d1aa837603e30993213a5c6b6efea8ac17c0c2e5f356a570804f107cfc8ccafcc5dd03e5175538c11beffee6b21946af3834b415d738012c5979d9d244d6db5fd56046ab191ce36b40de2a154ffddabbf7fea3190900aa6572e939b74f62009c3ad95cc985a7f23e6d492d50eadb4731805537db3fce0161490a625e90f88c2526838d21e833232374a57585115069b463ea3b08a5c63d361afd4d4dcc5f9003e0e087a73a0184cf79fec0ecef5c33f865e1e4e7365f7f4316004617a5fe905dca6ddf59fd629a3e7db8a2e31fb9e5aedfa76a821e123577dd96b77e7b45eed08645dffdfdfbbfbb33dfd554be050056176684079bc1fb7da4a188a24c7346bd96eeefe9e8e9b4f476db68dea4f72cbd0faeb9539c51cbca7d5d969e0e8bcda1689881457a2a78d1234379af02783859df8a2f1732ec2e85e329ceef0155a72201469d4f40049722c8fe1bcf1ba7538186d2b12adb034f7de1c68f742fc3a980a68cfcf844f4bc4b934438dd0aa31693608fced8ec6e48e08d3acea743cb0ebb0b1cafe7ce630c2adaec6e301a938efd020f94049b53e2757e660380646fffe0fde345354e98529ffd81671612ba3bea7b4a82e810dc8cff76d9617749604cc69196381c75271e7ead2e75d1c29faf8cb1d95d0ca7d387fa2be4e0e54ba2cde9f6b8afe66fb0608e6e70104fcfcbc811cb149c4e97e47354b0408d16c0906a61ac2e049a3796f85cb84963ed11e7dde942aff1be0f1fc8fee976dcf2f703c36f9811fb5d2e680cde3f4ee83bfcc243f7addff6d36d55dfc8557918c5dddf27010cc36b346c8887b8fafa2430bc61e05647f90bb7dcb5fe40ceba77defdd1e5e7135445966485a2693ac8bd74459664500c3de64b5f7e5ae297ec1e7c88cb10aa8950a7b691e3a9717c21842e4802d6853e80188bf123305e43960b2c8d616164c7742c6b32aa36425a6f3ceff772052b735c0f64389351fd1b577343518d134076418a69cceea8efc970ac8963cf334a9204a0cbe90668d3d8a21abc7c6638566afe060be6e80607f1f4bc8c1cb14c4ea7e3420cd42801bc90b61ab40415f3c6109f0b3769ac3de2bc3b5de8356e587cff63d8fefb77bff3f6fd754f0ca43256cbfb1eea38f5affbd66fbbf68977be9eabfe8b788dd6e0b7de36ea21bcc16bbbebe42beb0f00f8d66d73ce33a814cd3017f2fd7fdb0c9e409850386db52d76c6149616679808e6484e5b4d8b9d3745a77d41affa9f60fe8e7ba0bef0001242a5dfd2dc214213951cfca5b4625f572f1315ad1dcb3ac5580e11fb2c668b08535c72f4447bf97fe00c9e24780281402010bef404267822174b20100804c2571092e0090402814020099e40201008040249f00402814020104882271008040281303ea83c454f2010080402e1cb8ecaeb05c8cfe40804028140f872417e264720100804c27f0524c1130804028140123c81402010080492e009040281402090044f201008040281247802814020100824c11308040281f0df03f3f4d34ffb6d6aefb55f8413d7d74b476a654b1f4c6194368461c69913e2de7ab9ae079971946777a147da7a446a95a9f448ea028d9144c5e5a668d67fbc23f5c99f1c952a5ae4b3cd03ff5a7b14d640878d45155ab2ca9f944a155d4a46023da41f3c8ec68f72f60017ce36cb67db958c44fac2c58c83c52d64c4f29dc73e296fac6ea7a6a4850d546b7bdd7f3efebcb28bced0756dfaf8f3ca2e7ae8ab09852408fd82426be8106df3f8d5281bb2e37501db2b2bbba810dd34979fdab8eb1ca213124de3139560058ee0e0586dfe72d5d48465dcabfeab1ab7607d4dea6a7e7feb99f2362527239cf902422199f7fde496b5ffd8d235f7fa85912ce032d7ef3f70ee4445af930e4f8c0af98cfd2db5a52d6dcd923ec1c88d2df6f111a689308357f67d22bc7a440687ea33e2b31fb86b5da31de1928baae4f246b9a442aa1fdc597228a566e558e738d8b3b3c8fddb8f859a0033845eb9a4452e6d1cfeb7bb427ab9c87da66f2cadcd2e97b4c8a50d8ae0dd14c6cdf8d1ce1ee04269a35c5aeb63ccb8c72d549ce6b7f734ef296b2bda79bac63998f36d5dc51596a2fd66dbe01f8e09790dd9f25cd1c3bffdb4d219f258c6d6555c61d9d3e40ad8de515cd156b4b33544377b9b5a0e56b49d73b8c7cb9320058ee4e0586dfe72d5d48465dcabfeab1ab7607dcdd5dd5a74b2ad788fd9f5c584e2f4077fde52710605733378382ade7f63d6a29ddffecef11f3f7cf08eafbd79c7b3a19eb567cf5b5beffa78c75d65e6be0b0f057b093a5c975c6cc31dd76b727860ba52f4befbd32af9c1e9230d35da6a25eb605239d2a864665100c00080678823c960ce7fac4269180014af095ce018f8ff65b3d91c3d2ccdd2e65a0550eaba95a9869067de4cd08de3617ca8679f9ac9240f2c3c28224373e35074f0b885467359ad6530d5ef3dd39b53180e008c27348ce7ffe01866225e43680d0780d1861e478601a06519009224338355ae4f9df6eb75d98cde601a751a21c90c43f3da718bc788058ee460e8367f296b6a022e428c77d57fc5e316acaf4d9ef59b75d9e075a62f221462ddb6f50700dc764d01c4ea1d37fd50f4feb6ecffb6fe6eda3d3f5d39c2955eea379fabde7d60ff5303b9793c6afb122478c9a140cfe4f00349223f0d25d651668a65d5c32fcc3f73567266b1432b2f42b7fcf10eb1b41b60a815f3d9cb9328008255fee48858da0d003191f4350bd84c03048bf4e23e29369bbd6d3a0d2887f68a076c58bd9c29dd29563a00289bb608c959ec6d5303ab809a9a41a70069f15443bdbb5c82a7e69ace895b4ec9ad2e000833d1abe6b353232058e5cd47c4f26e00488ca7af9dc3460f96c201bdf5e286d34a9f84a5d3a8b11affea21d9104de99d727937006ad90276590a05c0d9237f54229eb10140563a73e31cc6a8968c2f2b6452863ec9cac79fb8ab245c75b9263f0c4eb3f4ca614913cdac5dc44801a571aaa74e50dedbee1737aaeca8b8ab4eb10260302397bd612a2df5489b8fcb30d2d7cd61027a87f3d0c1aea10f07f7d7ad299ca90f3a286c7eef83f2e2060140eaa4d435ab67e5186d9b5e2a39dac7dd78f792f971f2fe0d9f6d6e9696dcb878d5645dfd9e03ff38d29b3577eebd4b0c255bcb3e386cb100e0b9254b67ddb928d1bbd7084d95ebdfa84db96ceebd4b6200e1b30d7bb75974f73fb82893738e74a0d0f1fa0b474a3b01385ffa7351d6c2b9f72e8a51b1305ca52ff737356cf86769718300de78fbad0b564c36089d4dafbd7b8e9f9475df6cf7df36d69bd2638cbd2d7b1a2440b77acdc255534c003a2a4ffdedbd9a46170c939297e825d510d5979fdaf0695d954d02109b90b0e6e6d9b942cdb3e757608083774fea5cbfb136253f2bcd766ec3493c744fc6b6cde7f84959eb6ec874547efe97f7aa3c455d9d201c3ee35c76c7e2a5895c4f90ed8ef6c6b7df3b75b04d0098c27979775f93c937557a17fee8e32bf3743e55bfe183f23d0d0280ecdcf4dbafcb4feca90ab5d6e668fe1d5a4d094d95cf6eac3765c54775b6143708e0c3d7de3cb96dff89a20609bc6ef5cd0371f36e39c1621bb422462b3c3032a6d0aadeffc0af456f79a9e4849bfbc69d4b0aa36847dde7bfdf54af4d9ff2c8ea4c512df82a8e64b8025af8285d49bd930e05562d50e7dd7a473d69d0bed6def0e6c66a24653cb03a5b1f24e0feeded6b499fbd79d4af09a9af32d797bc0900f72fc835f41efeb8030060fafe5b377c337eefda2bebcb80b736b43cba32c51034cf351efcde07a78f8ff330ede227785d2cf3dda5436d43d95f8ba98923cd86a52eb9c405805abd880903e0904f7b0d08acdd72a9954ad40392527cc05dd60738e517b78ba5dde04d54961e1dddf2eb45ee7a1192ac7448b0f40f1c68b32956075c0a747aca33d8e0382a4c7d32aa7cba57fcb844dcb8c35d2e01a02f4ba19c2de2cba572ab0bb3b399d931b0dae48d7b45a74b7e71bb58de0d5e4fa5e9d16a965fdee26e9707d27b6b93f8ec11b9d5a1e417b07986311bdfea52aa5be4720795c80350761f129b644856e9cfc5e2191b1263a8341ed575d2737b25b5cb80b265b77be35ef7c6bdee8dbbdd45b54a22af581dca81733280ea1aa9c3052e9262d44a13544f0dffb8b59d123fac53ac3cb5229f4e03ca4f8b6f572b924329ef50caeb54ee0848ad0d453600c67577e7c502e86c2ceb92d55b80bd79fd5f8f1637088684a8c268a6b1a1f177cfeeaa954c0906a7c5d6bbbba207e8d95761b7d89cdb8e7400c2d123168b4d884d3634ef2979e9b0c5628abafd9ac9d321ecd97ef88563369f31b7d8dfe8129aec036b9ebd16bba5d3de2f61940319da10c179c6225a832e424bab5ba87617c4d2d05c6ce6b2a319b8ec1bded855d22b8b2e4755e7ff67efcdc3dbaaeefcfff75d74255992ed7849bcdb716ce3ac1067210959891b9a10a0254009253384c2503285d2c24c4b877edb0e330d0c7dbe74c8946f53b6fec83c4d4209254070080e642176ecc476621b6cc791635bde14c9966dd9bad6d5bdf7fcfe901759baf29650527a5e4f9e27f2d1593ee7733ee77cce72758f587dd1ed9107eadd627995ed84cb986d01201ed85bd6a4406aaffbe95eabcd8bf8b49899aed6825a8d8d428fb5fcd977acf56ee4afcece9f25383a3a5edaf3b97bca1986545096076c6ea9b8e88b7d552200461a92b9abe1a9bdf5362fe21362925cad074a1d36779fd3a328e1c39f7eb9bcb843ca9e153fcf82f2d2aa67f6357a47673e6acd21b6ef7ce9ec8966c9141b352f96abaf6d7cf637a76cd2845bad7260822d25fb7555d158e8e252f580b7e78dbde505cd5caa8583573cb0b734a835e530ba1dab21c6cc5c5333e2049a5e23e19fbb924d92a3b3e7e3734e00b5650d36b7a44f8ce6c2285fa32208368071bbd2388a0d51d494ad77228586ed6b6e7775a758dde851a0ad7025d4defebb5a891a6d4261682b2f0380e559b13cdc7555008035cb1eb851a7cfb861dbfd0080e3adb6b176dd393ee1eaefc37c05fb277a26de04008aa8ee7fdb5763e16e9f399683b7d62b0010c7ce4fe2f22c0070faa21a38183dfe6ddd239b74f9d300e0549dda54a33801fd34eec95b74f76fd2adb500209fd4073b0fbf2be75976e35a5d5e0400e6b66fe83666692ba4c9ae96d9d41ad7e0faf782837066f68ef9dce625fc2d73d9b97183f2b7d52a4e00d3b82736e9b66fd2e5cf602223e0f51ba55b7de3b40a207f8dee1b29cc1485d7b34fdda67b64031fe9ef183eb45c54bd40e40ceece25fce645ac1ef0dad526adc39e7627a9b1931a3ba97192739d989bc302686f564590f36d00b02c83d5cccde6d32a5a09d69b77a85ff106f6a6f9dce645fcdae910a2d8fc4c76ed5c8d1381bad206009835336fd6acd5090094c2b3764de55f2aaab501a6b4dc17bebf6ac7631bb62400e87bef6cf78245c900eabf7038db3beb0100fd97ecf61efb59378098451946ef805f2645678edd704beef63bf36ecdd08f6169baa14dad711272315bb6ad5b1d0bc0b8ede1b55bf2621ab425ecd232fe84e79e5eff93c736dc9bc601cae11267f0598a25f9c527d7ff64c7e2780090fa25b454350130e5cedff9e0aa279e5cbb5aab06fcb4948737e56ebf67d99d2bb3f2d2a3467d37850c432a38bc0975ef03f9affe7243d65092d67397009866cdf98fefaffac993ab960f8537850b3f7bb11f88cfcd7de0f6855bbf956102fa6b2f5cf28eca3c2760f9de54fc850d405af6cec7d63ef1d8ba7b73cdf1b19cd737e156cb9c3eb996d2273cf7e4865f7c2fd70400c6c79fdaf88b279666fb774f3517cf21ba1dab21c6cc5c5333a7cbc76f7aad84f5518b9200d457b47bd073ba4a01849b17c48ca5fca08a28c106306e571a47b1218a9ab2f54ea2d0d0bec68df4354d6d9c3a116a6ffa35776bf685901d7a49048099311cc0ea07d7e98a0c00969c3943f342798cf12775d5aea77e507fd7dc5557d1d97e055bf4837659e37be373929ec9ff2c6fccf360553d6503003895dd47d5763700381b14471eebdf888e4b67630080996e065c803a346931320200305909cc313771f50331a3a6345d235e7070ff5ff101dae33f73dfadba1c23005271d277d08ec3956ade0aa6a3452d71910fce8c8cd0feb5b3dec818018059b94ab71210eda31ab5b507881ffc3c59e123a7b366007a265b8f322f78a0dd4500f4da95df158c8c405a46c46cd9c05fa7873f12a76304200bea452ff9ac5ab101b070b38c280f9f5b68d1417a4b9fcbddd8ab9438c9e133320070cce6357c4a24bb324f6bcea4388f54480060ad7bfef54bf51d00602bba64df9018f6782c2a420000614e8ef940479fbddb6b599c968dd6fa8e96c22200dcbc04aebac3f151619f0330cdcf48e68055791bede505d69e3d6f950280debcfd8119e91a9dc0dfefbd8ea19f8f648e9f501eead58031ac841a7d78d1cc38001092628166400ef61bf159891600c6e8eb2d2874fbf5cc0158bdc47fc012b57291f14451f04a8e13d052dd54d05cfb06020e84ae2043ed0aa665aecb18bdc3e8973f22820300a3c93b76b86c6b9100386a6bffadb676c416c2653e343e9aa22c110060cabf777d3ee0693c3f99569b584b250100cc860800d1d39280fad819596600d10b6251dfa93d5086ea768c861833f3709a19b7a5b413f2691979b095bbed85277c750012d273cd727178e56b19c928bd654eb02b8551ac56fe53b6de89163a665fd3d69ba4656f8054176a4261583737530fa8de512bf59eeaf2c187008cfaf19f1fe04d7ff30ebee2a474d0cedcb751c819af2e7d36b569780dea227acebf2026e7dac84a0e009c1d6a1f5833d01b64f9caa0fb69711100a6a1bd77a78328002793b69029b91cfea1067ed0490dadbc3de4c2e74a890b71a9dcb6251cd721ffa64885125434f9f823df290ff3ed85fe470299b59938564f6acef92aa60bb9988af0c2908496a10f31510c5c242e837f7431abc8c46a553b55c4a9a4c54ea063126346b646781d23e8466404cb2e4dc5451b39554b00ccce618530b9c57244b3e820bd393a119fc86ecf63a365525a299f72920f2ad4056bd8cb9d839204a673d735560ff5a9fa66c9a4e7fabd0ae028b14af91aada00080cfbf70531b5b4500d1060e42dcca595cbdb5afb00a88cdb8fb9bbaea3fd69fa89200acbf6106007b9b98705dd6cf6e4d8cf1769f283cf79eb5ef8d824b4b1ebc2e6842696b702a98ce497d434bc989260cb0993012861eb3d5b5bb374cb740758579eec4a0f39b9a2e4a18de0d56009c3dd7b665560620565469ecd35a4f9415344ba90be7ff707326d758fea33d36485794a166a7484d991654259ee700f4b7d99d4af2b41e7bd3c820a519cec72708681653972e7e6653a22289b5e75a2ecbfa385d8f66e6218a15dffbfdb1f75cc223b7c54da6d5664ea2a5a451538e7109d5ed180d3166e6da9a89ecba305e4b69279c6e8c59bb5028af10dffba415c0f215a9c298ca0fad4890014ca0478ca5d831f29facf54e686418bfaf696b639afb42a8bd3dbe63d5281312fb9becfdd01b5312478d8532fa017c7abcd2f3ddd9f14bd601c781e3c52f1f897d30f1ccefdf06006c9a9162505a3ffbddeb1f0f8886a58f3cbe367d42be7c0a49be4a07df75d177d0ce6cbf4d97c241f492c105258b8a125fc7747ee3e8edfaea8b2a80c824fec72b067dece9a3d26117ce5ad5e5397e5fabee3a2acfe3489913001667b2293cd137285ebbb2bb88a429c4bf09ba3a87e57a5500702b6f16115da7ea0c28c5a70020070a7c37cce6b476e9c99b1f4a7a000afc8349fa4c366280004412499b4da9ac54fdeba2a42c76b8e824492d730340bc71f06062d5f53cdf2115ba71f0b89cba7472c2a357fb7c3a359541237136ca6f838d1449899d8063b3a394578b5470ec53df1e7e1293ec3f14b8bdc5fcc36dba8c4c0e36ff70c32c4962c2e5f6e88ab04d19a8b7599df20736c04aee98cbf8e7ca91518c727944928047ffe4f2d3ad00e2e7e7eddc92ea0f39fefaa13dcd387aa665dd32040d84c98bb34c4555fdb555cf1fe8cef2390bac0a206c5c3a1dc0dc4509b0b602884f8b4bce30ce437d35fcfbf30280ceeaf36f542888753cbc7e86bfcfc6278c7a85c1a0f577d4ef3ae0111a5b6d43e1e32604149f0440dcbdebc8ea758bbf155ec2603a1b9f797d60b9aea7d0aa0058bb301edecb637b958c054928b53aaace3f8faef41e7ba15b7bde0f60a0d7dd5c577fa6c0366ae138c50c475570634cc0ba3c80a4a539f127ca1d9db69f3e6b0b0c4f0f139e312709a5565b69e51fe18aee6d2ba815a14f7e76ab4e337300e9018a4df7d80b3b24202ad93ca9569b584b39db27e7dbc32fc0c668883132d7d4ccafb725e1ec382da59970f18a8cac45e9a8f09f5c9957655bc651fe780630db364e8f481f4fb15356da188c5368f8be164e1bcf3f92652a0eb6b7a428a531b02f44353ebbc7067dea8b4fe7056e3746cfc8060ec32d01d0cfbb7dfeaa5f569d84f8faa37f7e7d68bff6b91f26e9e171d5bdfada2b0092efdb314193f24e3ec9577906efee0540de785f7af65de9f9f77dcfbfeffb9f721520ce3652e322a3678fea7917002ccd1e917376160bc06b574796e02eb5cc49002c98cb2f8b0117c9ed58c1c501ed6d6a899d8063beb94a37db086106e73fea6e6a536d1c133732fb6272663200bc5e52d31df4b0d148d7f42af0027a3db32897ffee3c363d874d047a9deafe334a2bc7f897f5dd11dc8e6583459739013db3e5663e8e1d99c1af5cc9c701f0aaef369149091faeb98c33f8efdfc0ea819a46b5c44e10c1dcb7818ff4574d0f0e63fd004f886717e901403f834dd787cf2daca58cd25bce22dd4d710c3ceac1334a890b9116f69ef92c02241941729c6e0680f537260ebbdaeb972503e8afbd64f36f0d9a867e1d67e28498cc5f6dcb4e05eaab6c05b522f4e66d0fac5d600680e8acb46c00c0e2dc18207a611a07207e7e6a3207007336aeba7d96119d1dafbc75bea0598a4f48fdfebac4511ac8c8b9378d03505dd55a2744a5ea07c79a711302c6794be201f4bbc5b31d5e2ebc841a63597347a15504b07ac34d6b128766d8c3f5e583073e2165decf36c403a8afb2153623d53272f03cccac6539d980c3daf8d25b5f5c148c00d0d9eb94a79e615005b59703268e33a7fefc91ebf367c5cc4b88cabf39373f61a89dc3844764ccfbd5eda92648c5a5d6825a11b1f13fde9117157eadc1c564fe6aeba0620bad122c313b1e599c34b9569b4c4b99c2fd26939bc0fa881ba721c6cc5c5333d327d0529a09a301212535df0200a6dc99b38c93523e176a00e3f6887114cb8fa5cc4959ef240a0de96b7aff7a4708ab8d582d7b8b0bea0bfe663407b766e2fc6539008a0f567702885afc72d1a247370d7d99376bd707b7dd91058033c68c33d9e1228274366e92316008214141554dedf8db42459f97087a26e8b53fa24814c06c1cb525207989a406074e195124d031465e233cb4e82b177eacb30c918065ccfaaba3d129e7a6c8107d84d3d2c99537b3a7cfab80b39827f7cb5c45923d928f13f411615e0b2589a257d1c876dc8453945091dda24f6f340a937c99965b54c64ca57afabc98b8b4e367383e1e6bf9e37b6cf109a93f78302f416cddf5e2d96a088f3fb531cbae1d3e34f8caee3e1f389d65a256a2a1d82b6bb529dad2c4a59d44438c5ed3686866422d3571954e56f993d2ed94157b254a0b5f68405f53fa2ebffb977305561196d4179f1c5e7c6b6a636ab5e83ff84fd93f3f82bbfe5fd1ffd9983194fd80d70b9d29f0e1fbfed2dd8f3db4f3f0cf0fd7df9d3bc1fdf68926999f9ef87574f0140ae52b41e9d9f7f2b1c2801732a62ecd7b66532a172e9c6a8cf215e1a93bfbf8de5600d9ab97ffe4e6e95f46115d675e5c7bf70bc0631f353e9d184e8cea97976dfe8f5b9f7eeb978fac9ce0026ae249a883a750285717b9d5dade68f7c8bc2e3175464ea269bc700ae5ab407437b4f57196c8f4e95f9e290e385a9d327431c933c27a62b9bfab878b89354ca6874d340975f0140a8542a17c0d0975f0f4ba580a8542a150be8650074fa15028140a75f0140a8542a150a8831f07b9a7b2e8b3d233351e00fd55ffbe75fd5d5b77d687bb3497f83c3d3d7d3ddd43ff7a44d1abd206a45028140ae55a73f0bd15afdf7fdf3d0fddfdf38bfd8029f37a4bcd85e25d7b3f690ce3e0159f4fe60481d7e97841e07956eaefed75b9a98fa75028140ae55a71f05dd6f283bb7fb1f2ee170000fe3b5a4d4bef790cc0db6f1e0d773b3cc3e80cc6084384c9608c30982c51d126285e997a780a8542a15042f84a2e9be92958bff9f990d0c485ab9660d799e23f95b7fee3da646dc1c8c87d2f00c70d7f56bc7dfd6ed1ff467843649441e088d4d7efe305c6ebf14882d1a012c13cf8623632d0e322c66803c47e2f5855947c04006f883499f50cb5080a8542a1d015fc54d1cf7ee199877efc2f772d1f1d1c9b713d00d4b4bafac3242404208328037d7d043a8e0591fbdd6e91334747c5c5994ddc40afcbab8280c8a2db2312a3255acfa98a32fc737fa2f81495100255f67a14ce1c191b1f1919210ff40ef80835080a8542a1d015fc9431e4ddbd230fb894d8f076f18180f069e91b8023e813352f34674024b7d3316aa61015c9013e51046f3619748410de186918704a5e59c7118033c544eb18a8410fee31c3db0182c96c6001081102e35114153afa324d0a8542a150077f65c89276786975db234b623556ef8c60898de208216018461de8e91a70f71b62cc6058c87dddcebe917d0959010730fcc8263ec304fa7702801046377cb30121a3a25028140a85421dfcd5e6e6256961be6118008cdf11b3069371a0dba7024455197d649465f0ed40de170000200049444154edbf8ad723333ce045c08e3b516402ff117be0cb79a94ba7502814cad7936be245373eff7fdee6d347c68e38fa8c9ce319c88a0adea0275ef7804c001065a0cfdd2f8ff6dc0cc30e3f6faf887d3eeada29140a854257f05f228397ed9a743c00785b2a0f01c096bc9951e156f0417fb220b2ac0a8239c2e0f3743b07188080d35b22049648237bee8c6036f09dfd5d0e0060743a6e70939e199d357dc48e42a150285f1baea1dbe42a77df75ffcea29c1d6fbdfdaf2ba7929ea88a4a189665c39ca5135551c1702c7d3b2f8542a150be6e84de2677cd9cc17bab5edb5904e0c1ef2c9eea5c85e5b82bf99e42a1502814ba82bfeac8fd0ebb4386657a722c75c3140a8542a17c5d56f0bc293ed9445b8842a1502894ab023d90a65028140a853a780a8542a15028d4c15328140a8542a10e9e42a15028140a75f0140a8542a150c2a0f133390a8542a150287feb68fc4ceeab7a931d8542a1502894a911fa3b78ba454fa1502814cad710eae029140a8542a10e9e42a15028140a75f0140a8542a150a883a75028140a85421d3c8542a1502814eae029140a8542f9fbe1abba2e96345d522fb8c8b4696c6e3a6b9ec034a3e6bc5c3300a389dd308ff55f182f752b1f55a996146eedcc2b9da62832911446d023e82a7aa55f3d725e9503422d26266b269732998b6d955ef548b52a9b985baee784a1c0ab28fc38a58754010074cc2d7923c25c75bd4d18b9f29373e7dc8a695acab756270f36ebe5c6773e69d325a50f877cfdf87ba8e35f194592bc0aab37f2dc97133f2889bf05a3e6e46e5c10f3651bc9a65cdfc1800f5752a8d2d5faeea72dbe6933eebc3943b802a9bed48a5fb3b6245d6e7ce713bb2e29e56fa8db7e252b78f2f187be37ca5408a8ad967ff38eafc13b5e0aaf5a50af56dad4925aa56928b2e221657652de7915e4f9a4c0f7fcfb9235440ca9472d6953cb6c23ff8ed52aaf16f86afa27d325fad49236b5ac9948813674d5841faff4902a94d9d4b28651c25c75bd4d14d1bef744eb898a8e824f3eb78a433edfdd5558eb283865f77c7dbdd1df431dffca53a643bb0a1e7ffee33af14b8a1f9cc4df82275abc7f0523718ffe7025857a5df682aa8ec28a2eef9549f5a556fc9ab525d9ed2caced28f8a4fd6fa8db7e052b78c9a19cf2300fdda94b618179a4e02fbe730e9299c28c91a4a341e91d722a676c24338b01e05f360a2c00282ab8a9cf55181d0780d1eb42be199aa7ddb488cf8980a355f9a08100a4d145669b988966cf850dbc1ac24fb4f4d9995cf2e0a49dc81c2b5c85acc3eb6d62b4563438865cfdc99a9e9cbc2800e0fcaae1aeca1c5991544eb8f6cea1ae6a1d2900ab13007006e14b8a1f9284e30018780e80a2a8dc97d181878dc46f25431faea8d0c1bcb82b94eacbadf8b56a4b11a973ff7347361761b250073f067d3d449fc4a50c1a0693310d95e3ad142b2e8ebc30bfe6822266f1c6e1e9824b7dffa85ce6023826ff467e65120340ea553f3a2397b900206e1abb69199f6982e450fef099129fcd7f671e0b90d327e52237b6dccc957d22d77900900387a4e42cfe3bb3434d96993d934d01d26730cd4dbe4a053200a0e5927ca85a6df70240a485dd78233f3b1a52affac119b9d205008933d85b17f3b143b908404f93bcef73d2af60cd5c66b2c2bf715a35c53211a25ae902c0ac5dc6af4d610088ddea7b25728d1b00b232b86f2de6cc5acef8a63c2e65f82f95bcff91af5ec13756eae64742b42baf952aba586efb0a4e09c94dd02c3a81bc7324486f4cc559f9d346d20b80c3825cfe8ed9acd2ad7c704e8599ddbc38f444403c5ddc35fc47f1a9c6ad79d7478c8e50f261c5bba50e0700bdb07acd0ddf5d91c8015257eb3bef5616364b0052d352b76eb921276a5493492d752fee6fd22747090e4779a702bd79db3dcbd6cc320168aaacdef77163bd5b01109f90b0f5ce450ba6fbb44ad12eda73d9b6f79deae20e09e0f296ced9b629d312266620a18566054aab551d7f152c1971e69eb613cd0a60dcb275f9c6eb2c00baebbef8ef77ea6d5e98d292bf992095d6886bef5bb5265118bbc45cc9aa91e14cf1b5dde75a60dcba7d558ed9afb78681e9e9ffb26d4ec478b9eddcdf90323f2bdd7d695f157efc930d49cd1a522d572eeddcd39072d392efad8e03a4e3fb4e1e76181f7e6445cae5ba17f73759b266c474b615364bd0476dbf7356c7a9f305cd0af4c62d770ed63454db7a4db5ccf4beb9fb4c592700f195df16642d5ff2bd15a6b11a457286c48f1bc7a842926c4d028081aef6037bca0aac5260036919c9e8154e57ebbe772b4f344b00b27333eedd3c3fddcc8e6d24810cb434ef7bbdacb05982de7cef3dcbf2c31a361f5a50fc50267aa0fb8beadd47dbba25eeeeedebf262fc4b8d9e03af949ced17beb56df58dd3d553fb8e7fd0aaacfed6aa8db38c4d278a7e7fa6276bc992ad6993a8b83ebc194fc55c43120697784beca1574acefb84bbbfbb3a2f86f5347ef1c2812643c6753fda92294fdd96e2461aaeb3e58f6f5fd2a765edb823b162bc5efff7bb451f93a5fbd7152c401c5d6a55b56fbf9359306dacd5b0d2a5967801305b567091003ceae7bd23dff6bad4b25e26310250486191afa21f10d53f1c91cb5cd05b98ac08385dea9b05be26198a4a9c0a1c038309dd6ed2eb8197c018c1e8fd0e5860227561ce144ecaef97c8fb8ffa2a1500ec4d298cd826bf5aa6b67bb1289b5b14875eb7baffa42c7ad53f1c912b5dd04730e91168b7abaf1ef25d5607dd7b7b8bfce219b5dd43e62fe4e798262d7cbb975c6c532b3d4ca21e0039765a6e51a1f42abf2d946bdc488c63d2f5b8d8a8ec3aa9285a553874ccb7ffa46fff49dffe63be820692a827bd1e5274490570d1aa38bd10a6319c566e9266d108d65b47b57cb091f4ea99fcf96c3a50f9b9bcf722513ca4d2492a1b354e0494f6e6023700f38e6d73e20174da2abad4c0086d274a5e2975382c31f76e9a350fd28923a5bbcbdde86bddf9d2d9c266c994109317cbd99a6dfff5e2a70da37397e5817ab7585ddb512e99f3120478fbf6ecf9f45497eab1963ffb8eb5de8dfcd5d9f9b3044747c74b7b3ebfa8554aab56a0d2d5f0f4cbe5c51d52f6acf879169497563db3afb15953c8c03148abd091cdbf30d5f157a1bcca76c265ccb600100fec2d6b52a074353cb5b7dee6457c424c92abf540a9c3e6ee737a94714b746b66c8452741b47576157ed103e0625943bd5b1a888d8a98406e36b7545cf4c5be2a1100e3d2964a96076c5ea9a5cfe7cfaac7d1e7e8ec1b50866a57d158e8e252f580b7e78dbde505cd5caa8583573cb0b7b44182a6b6bd9ab5006b8a16fc321b4cc66803db3a76a370c1f1c737aad0240000476d63c16521a88142c51ed53c62fbce97ce9e68964cb151f362b9fadac6677f73ca7a614c23198da3b9b5d02e64c772f0f6eddbf369498fb6617bb40a6af7f73013d75277fea9b7acf59de2f2cdcb06bd3b00ce9260121dee9e63b5dd40f767b57d0eb778f88c1390ce9e7138dc527cb2695215f78631e3299aab12e417424afc7357b2497274f67c7cce09a0b6acc1e696f489d1dc15d8d2a881c5eba9ef14ab2fba1bc7ebf57fd72bf8c11d22999c3cadd47908c0448c39cdb0d62b0010c7ce4fe23a2dca31374e5f5417e70d1b25fbf8b7f91890cf8efa0a5d3855a7c6407102fa69dc93eb3901e4d847be636ef249bd7aefe88742fcae9c67d98d6b59e387d2310f73db3774e9612469b2ab4d237fa9171c24cfccde319f510ccc8264a6a5562d7312006db58a13c034ee89f59c11e4b39372a91b5ebf5dbad5374e0340fe1addca7846b44f49783dfbd46dbcd9abfedff7e55ec0e343cb45d50b44cee0eecc63d1a3bc5aa47aed6a9397cbd40757a1dd49862f11d21bf1440efb81536d6f56c5eb99f36d00b02c836da9f185e6669bc96814ad04ebada97cb0fff106f6a6f9cc7c8e498885c0b1f999908d1a270275a50d00306b66deac0c7bc217073a94c2b3f69b368c5c96e01df00fb18ace1cbbe116dd123e222545df50546b034c69b92f3c789d00a9e0f705073afade3bdbf5c48a90477e2cc9cf3db9380ef2f1d70fef69560acfda972c4e7978934936c72ec98a6c3cdd5d6875842bc57b5623b0e9ecc57e203e37f7818d69705a7fbdc7da5f7bc13ab8a818157354079ba651e83097c254e79f9206abf0e2938b2d62ebd3cf9f7540ea97d074ee1200d3ac39ffb12d9b43d76b3b4f16871c868e55627086c2f2350907dee9282fb1494bd9e20a09e0362f4b9cb0fcc2bd0faccecf30357c72745ca9467adcf0dffa84e79ebc31ee72dd0f5faeed87f1f1a7362c305e7efed9e27a28030a34b57d69e10c8d5a28315bb6ad8bd8f5fe814ee3b687d766726838228dd5285c68fca3e3185548124fa30d00f4210da469246246ced0966353f117360069d93b1f9c1381fec27da78f3a38d93c969104a34f78eee91be32015be7e645fb372b8c4b950cbb06d5a0579fd73ad0eebaff702e0ee7d68437e4a60d764172c4a86b5b5fe0b87331bf50080fe4b767b0fceba01c42cca30c28689575cbbbd24c03835731d9550abc4faa87b9260b5d557b47b6ed69fae5200e1e605314d4567a76c4b9af806a4b17bfddfb5835764029ee178f6ce4d2c80aa22e98d12e5976bc3e852554ff94dcaa9ec3eaab6bb01c0d9a038f258ff46745c3a1b0300cc7433e002d4a15d09232300009395c01c7313573f10336acf22e03993c1fd7fc50768371373dfadba1c23005271d277d08ec3956ade0aa6a3452d71910fce8c4c5bfc6b67bd91310200b372956e2520dae55107cf3dc0d04ed964858f9cce9a01e8996c3dcabce081761701d06b577e573032bf95b5aab065037f9d1efe489c8e11802ca817bde4b36ac506c0c2cd32a23c7c6ea14507e92d7d2e7763af52e22487cfc800c0319bd7f02991ecca3cad4993e23c52210180b5eef9d72fd5770080ade8927d43e2f036dccc55791bede505d69e3d6f950280debcfd811983ce272a420000614e8ef940479fbd5bc39fa4ce4f8b03003e775e0c9a1d90c10968a96e2a68ae7d63c443699772934660acdc220170d4d6fe5b6ded70063396e76dec0a4e9e1e3897d52a3498d0ea2401407c56a2058031fa7a0b0adde001c80a0044447000603469f9d1314a0ccd307aeeac79ef745477b69d28952a01c4662c8c6127981bd232d7659830ae54830f237b1d7da3c3cd860800d1d39280fad819596600d10b6251df091eb24d4bdb4a985a0c9bbc2c0146646ab569fae85d9ec0f89890516924899f132489b6d8f2a8d10f004c5196080030e5dfbb3e1f50fa2ebf3bae910c1bf6a29971002024c502cd80ac700217da46b256419ec6f381b2345d1631cac1c39295968dd6fa8e96c22200dcbc04aebac3f151619f0330cdcf48e6e0994cc5c3b7d714cd35b039344be4d332f2602b77db0b4ff8ea0024a4e79ae5e22bb0254d668e6f607fc70ede5aea3b355db73d6b705b7e4e367be038e903cc9a07f6b691a573bb8be839ff82989c6b232b39007076a87d60cd406fd0969632e87e5a5c04806968efdde9200ac0c9a42d64235b0e7f8ac20f3d3130b4af442e7cae94b81097ca6d5bc2711df26f8a54284145938f3ff29df230df5ee87f2490599b8963f5a4e69caf62ba908ba9082f0c496819fa1013c5c045e232f84717b38a4cac56b553459c4a5aec043a263166e4ec83d731826e4446b0ecd2545cb49153b504c0ec1c5608935b2c47348b0ed29ba313f189ecf63c365a26a595f22927f9a0425db086bddc392849603a775d63f5d0c1567db364d273fd5e05709458a5fca17897dbc484ebb27e766b628cb7fb44e1b9f7ac7d6f145cfa971405007cfe9588dad82a02883668b49cadaeddb3617a0460b7f5001800ac27ca0a9aa5d485f37fb839936b2cffd11e1b24ed52d2d6448404da1e4b10d02ca62e5dfccca64445126bcfb55c96f58c5323f99207af1b1e35350b0d6ce931aa63d0f9cd4e1735941dc77300fadbec4e25795a8fbd49b37f852f31344370711b160ad515e2be0f6d0096af498f98706ea929d3b80948656b702a98ce497d97823ca61438d20677b8782d6dc7e97ab46b31da14ed6de3344a48979fa851058d122192688b3d5d08d7e2e27bbf3ff69e4bb833571ad348820ddbbd61ba05aaab77ec36d228e891dbe200401fb3e546eec00947f17b45f3326eb931704a27c4ad9cc5d55bfb0aab80d88cbbbfa9abfe63fd892a09c0fa1b664cb6e2e3b6d7a4cd753c0b996e8c59bb5028af10dffba415c0f215a9c295d9922697276c607f8f0e7e5a2cd3744e6e48d4659a0059fdf0b41a99c19b818a125fc7747ee3cc51e7f1d51755009149fc8f570c5ae1e9a3d26117ce5ad5e5397e5fabee3a2acfe3489913001667b2293cd137285ebbb2bb88a429a4c40900ab7358ae570500b7f26611d175aacec02d1705003950e0bb6136b7312b74c549defc50d20350e01fa3d267b2110304209248da6c4a65a5ea5fc12765b1c34527496a991b00e2fdd3403db3ea7a9eef900add38785c4e5d3a39e1d1ab6a4fe75319341267a3fc36d8489194d80938363b4a79b54805c73ef5ede19f7292fd8702c70ce61f6ed3656472b0f98757664912132eb74757846dca40bdcdea943fb0015672c75cc6bfa28b8c6294cb2392044ce0e4f2d3ad00e2e7e7eddc92ea0f39fefaa13dcd387aa665ddb2a1a958f5f9372a14c43a1e5e3fc33f4cc52744662dce321555f5d7563d7fa03bcbe72cb02a80b071e9740de13a1b9f7dddb73cb6efbd2a09c0ea05b1a8e4000cf4ba9bebeacf14d8fc6b852ead52dcd565a181d97392506ab59556fe11aee8deb6825a11fae47f9ad3111a5308398f0a2a7498e470d571b66b2a3c7d694efc897247a7eda7cfdac63e010b576228d72dcd44857f6513b52ed73289dc64656ca90607978efa5d073c42636ba8c44a78a932b4b4fdecd6703fd8507c120071f7ae23abd72d9e6d3b3f5ea38c8affad0919d5a8241b632621f6e21519232d185056bac75ed8210151717a658c2653823e74363ef3fac0725d4fa15501b076613c2a34da284daba0047f27344fdb70f31cdd85f7f77548afbc716ece937901adcece5d94006b2b80f8b4b8e40ce33cd457c3bf3f3f96194db2bda66eaee3aa3a6b513a2afcc70be655d9962bb4a52d791a2dad39345d83defdab79c82efe3afe8e54bc5920fdf26de997efcaf516ee7b8b598038db488d8b8c9e44a9e75d00b0347b44ced9592c00af5d1d5982bb068fc017cce597c5808be476ace0e280f636b5c44ec031df5ca59b6d843083cb9f06004d6daa8d63e24626684cce4c0680d74b6aba479b1e3bd2b7bc0abc805ecf2ccae5bf3b8f4dcf6113815ea7baff8cd2ca31fe657d7704b763d960d1654e40cf6cb9998f6347562c2b57f27100bceabb4d6452c2876b2ee30cfefb37b07aa0a6512db1134430f76de023fd55d383c3583fc013e2d9457a00d0cf60d3f5e1730b6b29a3f496b34877531c038f7af08c52e242a485bd673e8b004902966e8ed3cd00b0fec6e1e35efefa65c900fa6b2fd9e4c1e780e66c5c75fb2c233a3b5e79eb7c41b3149f90fafd75895c4ce6afb665a702f555b6825a117af3b607d62ed0dafc31c54619ecadef55f400587ef3d28d29c2ac6539d980c3daf8d25b5f5c148c00d0d91bbb5ea314cda22332e6fdeaf65413a4e2526b41ad88d8f81fefc85baa1533500ccd429d437514c6ae0e1f3c0ec29cfaf347aecf9f15332f212affe6dcfc048d55c658258666087089336fb7008069feac4c614ab985914ac8c8b9378d03505dd55a2744a5ea31ea075aa670bf12e400686a3b2a9c5a609cb7241e40bf5b3cdbe19d335ea304c59f98518d4a12ae8134c58e0e8c1493f9abad8365155a255862763cb278d19846c205ab8b437347a15504b07ac34d6b1279cd36ea326b14346370c2af78c1e66fcd4b05e0b6bd56d415588de8acb46c00c0e2dc18207a611a07207e7eeaa877bbf057d85e5337d761c2a95a4849cdf7db73eecc59465ca12d698d2cdc040cec5a81218404055535b5ff754ee2fbbc301a99abf02b65157d5e22e883b31245a20066e3a82d01c94b24353870ca8822818e31f21ae1a1455fb9f063d02712b08cf92a3dea31e5dc1419a28f705a3a99a29d48b247f271823e629482544f9f570167316bcc9b3d8de71fff6363ea8ae5bfd810e7eef372823142189510c1b9699712a668d9dde703a7b304d4304ccc710a9d60754655cd5afef81e5b7c42ea0f1ecc4b105b77bd78b61ac2e34f6d0cf146e3963848b7b5a1d8da555ad46a03ee7de8d6fc147e0af28f2d95248a5e65fcaa854143db5766396375c509b6c2d5103bb4ac893699bf9bb9459fde6814b871dbe82a56eacb6bafc9d47dea254edd96ae92817de9cc4f4fbc561c3c85f225e1f737a6858bfffb8ee4af5bdd949e7d2f1f2b0c780162ead2bc6736a54ef937b8170e7ef05f150a00a4e5bef4e07511d78654140a853a780a45cbdd886e6b5b9fde129b3e5df83ad64f6eb5b637da3d32af4b4c9d919368ba92bca49eae16970cbd313dd1c25d3352512814eae029140a8542a1683b787a5d2c8542a150285f43a883a75028140a853af8ab8422491e51d6fc15ac74b971dfbe9203275a95af4823f6caead7f69594b7cb63c96fffece96faebf6beb8b83efeef0da9b8e1fa93878a8b6e2a26f12450db43594d4d594d8fbe589a6907b2a8b3e2b3d53e301d05ff5ef5bd7dfb575677db89b1b89cfd3d3d3d7d33df4af4714bd2a35790a8542a10efe4b63accb98bff23b777b5ada8a6b3b2e79c6f2d49fbffbdb43b53558b864a61e9edabfecb961c527df7ff4dc4f1f2fbeef96ffbdef45fb04ef4aee3ef1a70fef7fffe8fd15f6895e2fdf5bf1fafdf7ddf3d0dd3fbfd80f9832afb7d45c28deb5f793c6300e5ef1f9644e10789d8e17049e67a5fede5e979bfa780a8542a10efecb2a748ccb982352e7fee78eb5cf3d75c35fffce5d455101e80de33d4d2c371ede5904e03b9b1642be78f4db4f8d5a8057fccf87ff75646c27aa0cd82f56ef7f73ff3ffbffe427f0f87297b5fce0ee5facbcfb050080ffd23bd3d27b1e03f0f69b477bc3a462189dc118618830198c110693252ada04c52b530f4fa150287f07fcd55f551b72b3f2b6b4cec0bba51ffbc799873ff0dfb99be90973f575b82bb1352f240ebab83ac3ad715bb3b3aefa77ef58fd19ae8e18e770c0db54f2bf00f0f0b25c534fe9fbfe57de5a9ef8d31d0fcc38b97d7d5305f0a77d6d3fde9012fe8742b6e21fbcfbf9b9496d2b14acdffc7c4868e2c2554bb0eb4cf19fca5bff716db27653929117e8031c37fc59f1f6f5bb45ff2b760d9151068123525fbf8f1718afc7230946834a04f3e09b6ec8408f8b18a30d10fbbd605551f21100bc21d264d633b40f5128140a75f0c0d0cdca9d52ffd085bbb23c60734bb6a22f8a01c0c8489efa4e1192dbd3d5f0d4de7a00f10931d1aed603cd00e0f4284af8f0a75faeea07b267c5eb2f77959756d5f5b2ffb16c74e6ae86a7ff101ce7b935de9feeb502884f8b99e16a2d681ea7066de56500b03c2b9647575d150060cdb2076ed4e971c3b6fb9b2afe1738de6aeb4fc90debe1393e61925ad3cf7ee19987dabdddc52fbc5d1c101c9b713d700635adae7e244769fa77020cfd1252f5f6f511e8381644ee77bb459d39da62e015b1b7afd7c5c4c4e94064d12d333aa3259a279e3eeff0ef2789e2536020845165ef0067b044461ae0ebefeded1dd0c71975d4c55328140a75f0087fb3f2d0ddd2c3171ab686b9fa3adc95d8635d483c7c71f59123a1714e0fbeb878fece7b33819e37771e3b31e621ba2c89003033860358fda0175764400f4bce9cc138f258cfcda5aedaf5d42a347efae0db9f9f9c98d60c7977efc8032e2536bc5d7c20207c5afa06e008fa44cd1b621910c9ed1c75b7b43e2a92037ca208de6c32e80821bc31d230e094bcb28e2300678a89d631508334c00c6f070826b381052044088c475154e8e8fbca28140a853af8211739e429032edc1dbe5b7a2456984ba6b5c3c7ba907828f370713800ab97a40000a2562e329e2812c7adc3bab9997a40f58e7a3eaea7badcff21c238fe6bdc397ed26ffb92c35c22595addf6c892588dd53b235862a3384208188651077aba06dcfd8618331816725fb773e4826e5656c0010c3fb289cf3081fe9d002084d10dbf769990515128140a85421dfcb0bb0a58fb0ddf2d3d2259984ba6c35c3e3dd6a5bf43996bc789ecba00e0ecb9b62db33200b1a26ac8bb8bfd4df67ee88d29a3dfe229a31fc0a7c72b3ddf9d1dbf641d701c385efcf291d80713cffcfe6d00c0a6192906a5f5b3dfbdfef1806858fac8e36bd327e4cba790c4cfcd4bd2c27cc3300018bf23660d26e340b74f0588aa32fac828cbe02c44f17a648607bc0878ab21516402ff117be0db0ea94ba7502814eae0c33b328d9b95437e159f14e692e970974f8f75e9ef50e69a717ebd2d0967ad8eaaf3cfa32bbdc75ee81eccd0d356f7ec1e1bf4a92f3e1d785f32a267640387e19600e8e7dd3e7fd52fab4e427cfdd13fbf3e1821eeb91f26e9e171d5bdfada2b0092efdb3141bd78279c64f0377cdee6d347c68e4882360d18888a0adea027bdee01a360e019a20cf4b9fbf948836ed4bc8085e29555938e8522f6f9001d75ed140a85f237c557f233b9716f56064c1c17eeeaeb30e113b9f45733cef494793fdb100fffc5c9cd48b500800e80fffe6573f0add589f397e500283e58dd09206af1cb458b1edd34f465deac5d1fdc76471600ce1833b616382e22a8eae326c1e00f0b4d3a1e00bc2d958700604bdecca8702bf8a03f5910595659c11c616007ba9ddd9d8e1e979bd55b066f3c1cda736704b38157fbbb1cdd4e87db4374dce0263d133e6b0a8542a15c535cbb97cd84bb643acb3ef695d813b9f4572b8e22b94565f415cbe1e83ff84fd93f3f82bbfe5fd1ffd9983194e580d70b9dc9103063ea2fddfdd8433b0ffffc70fdddb913dc6f9f5c92cadd77ddbfb32867c75b6fffebcaa9a898a88a4a189665c39ca5135551c1702c7d9f318542a15ceb845e36c35fb3b24664ccca8fb51576d87ef1ebc1adf8d4a5f3e69ac119b5c3876b64318f5b29ad389c60314f5034d3aa87ff05475e78fbd1bd0f373e3da851dea01f9da5a7faff7b68e7e15b9f7eebf6897af74926f156bdb6b308c083df593cd5d91dcb7157f23d8542a150e80a7e8a84bb64fa2bbf7c7ac0d1ea94a18b499e11f67179b9bfab878b89354ca6ba934922f73bec0e1996e9c9b1d40d5328140a5dc1ff6d39780a8542a150285371f0f4789542a1502894af21d4c15328140a85421d3c8542a1502814eae029140a8542a150074fa15028140ae5eaa0f1143d8542a1502894bf7534de09437f2647a1502814cadf16f46772140a8542a1fc5d401d3c8542a15028d4c15328140a8542a10e9e42a15028140a75f0140a8542094af9ff0000197449444154a150a883a75028140a85421d3c8542a150287f3f70bffce52f83822ef7f4fdd58aef6a531a7d4cbc91193766cd79f96493dad88dcce98c7f5622752b1f9e51da5526631a7385622832f1fa18960f9eef28fdea476795da36f542ebe0bff66ec29bd848613299f7aa1f9529b55d6466023b7c71fb55147e9cd243aa70a155bd7099cc4c64affc16f9707a9b20d2e5f64387cfed3bfac5479f5daa6eee899c1e1b6fbafa57db4b971bfffcfe17755dec75e991ec15e460534dd9338c21e175755dcc0473b65756effff4126213122da3a22b9234201156c7b2e1cbba960957afab63c001cab95a09a790e735de4653d65268379969ec3a10f0e14aaaa974b5fee5c39aca0e396766f4443ab662ffecdfeedafefb435d4b6e5b3e8d07bcf6a6534597ced7f6886c5462cc84878681b686b2b68e562522c12c4c4c1f724fe5e9b34d1dfdd392e375fd55fffe8ff7ed3ad0b6f0b655b1bc5664e2f3f4f679bd03d2e03faf42184ec733d78019cc88b65c4b2bf87e657791f26efd045ea5e7550bead54a9b5a52ab347987acc143caeca4bcf3cae5209f14f89e7f5fb27a438cbe472d6953cb6c23ff8ed52aaf16f86afa27d373fad49236b5ac994881a67cd5841faff4902a94d9d4b28651c25c75bd4d84eebaf33b5e2e7dafaacbd62939dc6275adedffbe5c70a0aeffaa6b40767715d63a0a4ed93d5796c389166f48b8b3b0b6a3e093f609e6dcd3d2565cdb71c9e30b6aa243bb0a1e7ffee33a71acb2ae65c2d4ebead86fa072ae52c229e4798db7d194b5a4d14ddca33f5c4935bd2e7b4155476145d704b3f8fcdddf1eaaadc1c22533f5f0d4fe65cf0d2b3ef9fea3e77efa78f17db7fcef7d2fda27984bf7893f7d78fffb47efafb04f7430e9ad78fdfefbee79e8ee9f5fec074c99d75b6a2e14efdafb496398614ff1f9644e10789d8e17049e67a5fede5e975bbd26fbe657e8e049c1278a17d0ebc68fdad1a0f40ea53a631b9a107000e09fa22957a45d46c701603424199a34deb488dfbe8adf9ce99fa59146d764deefcb850dbc1ac24fb4f4d9995c7eaeff1fbb762e2b5c85acc3eb6d027b377fdaebef3fe66ddb56fd7c6b6e2a00a0606fb5f3ea6bc0af6b8ebbb21c0c3c07400968ad88d4b9ffb963ed734fdd60197769a2a800f4064d11589d00803308639535c9f5dc5f69b419b35e5767801aa59cab93700a795efd36ba36b4a4d54d467fb8a26a0ef6b9899987dc7878671180ef6c5a08f9e2d16f3f25077e5bf13f1ffed791b1855006ec17abf7bfb9ff9ffd7ff21328b6cb5a7e70f72f56defd020020520700a6a5f73c06e0ed378ff6861bf8189dc118618830198c110693252ada04c52b5f931e9effaa0a6e3a2f974470df4956df1d7fde4f2a2e8e38d49a0b8a98c50fef19492ef5fda372990be098fc1bf995490c00a957fde88c5ce60280b869eca6657ca6099243f9c3674a7c36ff9d792c404e9f948bdcd8723357f6895ce701400e1c9292b3f8efcc0e9df430b367b22940fa0ca6b9c957a9c06f792d97e443d56abb1700222decc61bf9d9d1907ad50fcec8952e00489cc1deba988f1dca45007a9ae47d9f937e056be6329315fe8dd3aa29968910d54a170066ed327e6d0a0340ec56df2b916bdc009095c17d6b3167d6b2c99bf2b894e1bf54f2fe47be7a05df58a99b1f09d1aebc56aae862b9ed2b3825243741b3e804f2ce9120bd311567e54f1b492f000e0b72f93b66b34ab7f2c139156676f3622e70f071d735960300b7ed91756b125920e6e987941dafd6035d9745c419d15459bdefe3c67ab702203e2161eb9d8b7225eb8bfb9b2c1971e69eb613cd0a60dcb275f9c6eb827d6b68c2ac912fc5920f2bde2d753800e885d56b6ef8ee8a440e90ba5adf79b7b2b05902909a96ba75cb0d39511a13df8196e67daf9715364bd09befbd6759fe2c93d4d9f2c7b72fe9d3b21e5ae4fb5d18d99c75d5bf7bc76af3c29496bc3a4209597a39dfdc7da6ac1380f8ca6f0bb2962fd99a0400035ded07f6941558a5c0ac3c976d7bdfa92eee90002e6fe99c6d9b32032b2fb5d4bdb8bf499f1c25381ce59d0af4e66df72c5b33cba4a99305d37d5aaad0d68f66b9e3d4cb2f5257ebbe772b4f344b00b27333eedd3c3fddcc6a6adb2f7cb002677a8394f3bd157121c2a455ee3bfe814399316bf6139b522b3f3cf9176b9f213935a1d5563e3a6138857f6f45dc380670f5da4823c22db1875e2939ef13eefeeeeabc18d6d3f8c50b079a0c19d7fd684ba61c92957ec25a1ab715c6ec26e3987d188be2430b8a1fca440f747f51bdfb685bb7c4ddbd7d5d5e8c46fff23695fc2f003cbc2cd7d453fabe7fa26f79e24f773c30e3e4f6f54d15c09ff6b5fd78438a29ac9fb015ffe0ddcfcf4d6aefa960fde6e743421317ae5a825d678aff54defa8f6b93b55d2401988079ccf067c5dbd7ef165500e00c9151068123525fbf8f1718afc7230946834a04b359efcf63a0c7458cd10688fd5eb0aa28f90800de106932ebafd686ff57b38257ba9537eac93face32c187f29ac74a9255e00cc96155c24008ffa79c0ccaad7a596f532891180420a8b7c15fd80a8fee1885ce682dec26445c0e952df2cf035c95054e254e01818f2316ed2eb8197c018c1f8f52d084ca4f662947c7c527ebf44de7fd457a900606f4a61c436f9d532b5dd8b45d9dca238f4bad5fd2765d1abfee1885ce9823e82498f40bb5d7df590efb23ae8dedb5be417cfa8ed1e327f213fc73469e1dbbde4629b5ae96112f500c8b1d3728b0aa557f96da15ce346621c93aec7c54665d749456bb825878ef9f69ff4ed3fe9db7fcc57d04012f5a4d7438a2ea9002e5a15a717c23486d3ca4dd22c1ac17aeba8960f36925e3d933f9f4d072a3f97f75e248a87543a496563f08940bbd5090096d42589831628a4ccd9fdb35b5ffed937e618e1b1963ffb8eb5de8dfcd5d9f9b3044747c74b7b3e77cb03f56eb1bcca76c265ccb600100fec2d6b1a5d55cd84c3db966d274a5e2975382c31f76e9a350fd28923a5bbcbdde86bddf9d2d9c266c994109317cbd99a6dfff5e2a70d5a07188ee6d642bb901dcbc1dbb76fcfa7253daaecf5d4778ad517dd9e30b249ed753fdd6bb579119f1633d3d55a501bb285cab1a668210200603019a30d83da70d436165c1602b352ba1a9e7eb9bcb843ca9e153fcf82f2d2aa67f63506d65e9607eadd62756d47b964ce4b10e0eddbb3e7d3535daaa64e2e6aa9a2552b50b35c71dc7a0110db77be74f644b3648a8d9a17cbd5d7363efb9b53ad3ddada9635158860e56809d392b726cdd129569796bfbcefe44ba55db64e7c636da2594babda0a1fd700ae5e1b6944f87357b2497274f67c7cce09a0b6acc1e696f489d19c5656de896969dc56b05e18ab9b8c6bf69a16e5d12aa8dd3ff499b896baf34fbd65adef14976f5ea6e9dd01b4959701c0f2ac581eeeba2a00c09a650fdca8d367dcb0ed7e00c0f156db58bbee1c9f304947a49ffdc2330ffdf85fee5a3e3a3836e37a00a86975852b8e10800ca20cf4f511e8381644ee77bb45ce1c1d151767367103bd2eaf0a02228b6e8f488c96683da72a0a09d8eb5754420854d9eb513873646c7c6464843cd03be0bb6a37c07d250e9e1c2c54162cd165b213da9db6d62b0010c7ce4fe2f22c0070faa21ad8fd1effb6ee914dbafc690070aa4e6daa519c807e1af7e42dbafb37e9d65a00904fea834bf2bb729e6537aed5e54500606efb866e6396b6429aec6a994dad710dae7f2f38086766ef98cf6d5ec2df32979d1b3738df6aab559c00a6714f6cd26ddfa4cb9fc14446c0ebefe26ef58dd32a80fc35ba6fa43053145ecf3e759bee910d7ca4df9ff9d07251f5029133b83b97f09b17b17ac06b579bb40eabda9da4c64e6aeca4c649ce75626e0e0ba0bd591541ceb701c0b20c5633379b4fab6825586fdea1319137b037cde7362fe2d74e8710c5e6676a9c08f03c07c0941c1511d83f055e107800fcb4948737e56ebf67d99d2bb3f2d2a346a5b424bff8e4fa9fec581c0f0052ff684f3c5642c03be08fade8ccb11b6ec9dd7e67dead19fa86a25a1b604acb7de1fbab763cb6614b0280bef7ce76698d0609cf3dbdfe278f6db8378d0394c325cee0639010d95aaa9a009872e7ef7c70d5134fae5dad0f1d9362b66c5bb73a168071dbc36bb7e4c50c95159c55d3d98bfd407c6eee03b72fdcfaad0c13d05f7bc11a3a2a5b929f7b72ed8eef7f635b1a07288567ed9a3ad1548566a066b9a7cbc7ab17d054fc850d405af6cec7d63ef1d8ba7b73cdf1b19cf5b331b51da4402558399ac2d8a2b3ff73533c80f2da2e00f9f7acce8b89d5d6aa96c2c73780abd7465a11eaa3162501a8af68f7a0e774950208372fd0aee925ef84b4346e2bc8e6b1bac9b866af695136ad82bcfea1a3c3faebbd8d0077ef431b6fbf2eec025c9644009819c301ac7e309a2203802567ced02c561e43d2d455bb9efa41fd5d73574dd81319f2eedef1f8e33fda76e796d1e1d3d23700409f286b6ed083486ea7a3a7d3d9d3e9ece9ec1af0aafaa8480e904511bcd964d0818037461a3822796580009c29265aafd731410b7366783b4030990d2c0356881098ab79eef3156cd15f28f15582fde7e9e811499708af427abc88d28789adaaa76c0000a7b2fba8daee06006783e2c863fd1bd171e96c0c0030d3cd800b5087262d46460000262b8139e626ae7e2066d49426e0c18fc1e992e203b4c560eebb55976304402a4efa0eda71b852cd5bc174b4a8252ef2c1999161debf76d61b192300302b57e95602a27d9495b4f600435b5793153e723a6b06a067b2f528f38207da5d0440af5df95dc1c85241d32ab76ce0afd3c31f89d331029005f5a2977c56add80058b859469487cf2db4e820bda5cfe56eec554a9ce4f01919003866f31a3e25925d99a739675200f45fb27723237a30c0f9e6cbe59720dcf6ddd5d70b68a96e2a68ae7d0301c71b0080f8ac440b0063f4f51614ba83cd970b9f10c0cc55791bede505d69e3d6f950280debcfd811983b72f4545080020ccc9311fe8e8b3776b4c915217cd8c03002129166806e4e08d122dd93800ab97f8cf46a2562e329e280af5c9f2d000070c9d3cc5cf09ca4ab6b548001cb5b5ff565b3b4643a7ce4f8b03003e775e0c9a1d90b575a2a98a9b34026365ad729509d4cb3f349ba22c110060cabf777d3ed070e4a8b6b693c22930503961953063694eea870e1b00c4e7fb37c7b4b43a86c2c73380abd246da11f8b48c3cd8caddf6c213be3a0009e9b966b9585bed13d1d2f8ada0f45d7e377c3719d7ec39810bb52859ab204fe3f940599a2e8b4819e73181757333f580ea1db574eea92e1f7ceac5a81fffdc9f374dd625c9611e392ead6e7b6449acc6ea9d112cb1511c21040cc3a8033d5d03ee7e438c190c0bb9afdb39f233345656c0010c3fb2891fe0e419ff184a08a31b7edc9f905151fe061d7cafc2444690fd9fca00dc1e00ca6bc578742da7f9538c3e9bda34bc0675113de75f1093736d64250700ce0eb50fac19e80d1a618676425a5c04806968efdde9200ac0c9a42d64235b0eff5006cf8e9a71c1432e7cae94b81097ca6d5bc2711df26f8a54284145938f3ff29df230df5ec8f81ddeda4c1cab2735e77c15d3855c4c4578614842cbd0879828062e1297c13fba98556462b5aa9d2ae254d26227d03189312396c2eb18413722235876692a2edac8a95a0260760e2b84c92d96239a4507e9cdd189f844767b1e1b2d93d24af994937c50a12e58c35eee1c9424305dfafc7414d5c2dbf1a7a2cb3b564c07d0505273a253046036b3d6c2b282662975e1fc1f6ecee41acb7fb4c786a11e68d0f95b4217a53550584f844d08e0729b98705dd6cf6e4d8cf1769f283cf79eb5ef8d824bff92a20080cfbfd6501b5b4500d15a4f8dd9eadadd1ba65ba0bac23c7b132a9b2c2b00ce9e6bdb322b03102baac67aca39d0fc42b2e2e31304348ba94b173fb3295191c4da732d9765fd74414348cf86e91180ddd60360208c4e345591b6262224d0f69856b9915d172650af40c58aeffdfed87b2ee1aeb963697b8cc695b9b19470e1c3f3b6a11de5d78eb4ff6443e2443af5d0571335802b6ea330118c316b170ae515e27b9fb40258be22550813334ed733012d8ddf0a77e64a63749371cd3e4c2fd328e891dbe200401fb3e546eec00947f17b45f3326eb9d12836d9fba137a6248e1a4b64f403f8f478a5e7bbb3e397ac038e03c78b5f3e12fb60e299dfbf0d00d83423c5a0b47ef6bbd73f1e100d4b1f797c6dfa847cf91492f8b979495ad8c7ec00307e47cc1a4cc6816e9f0a105565f4915116fdd079bc476678c01b78104d1499c07fc44e08095ecb7f1d1eb25bbc42b778e873cb59698fc2fff84616404589af633abf71e6a8aa565f54014426f13f5e31e8634f1f950ebb70d6aa2ecff1fb5a75d751791e47ca9c00b038934de189be41f1da95dd45244d21fe9dd4d5392cd7ab02805b79b388e83ad5c0a7b57d0a0072a0c077c36c4e6b979ebcf9a1a407a0c03fb14f9fc9460c1080482269b3299595fe872a9094c50e179d24a9656e0088f7cf5cf4ccaaeb79be432a74e3e0713975e9e48447aff6a64d6a2a8346e26c94df061b2992123b01c7664729af16a9e0d8a7be3dfc2429d97f28b01333ff709b2e239383cdeff19925494cb8dc1e5d11b62903f536ab53fec00658c91d7319ffe236328a512e8f4812f8e81f9798bd637ec3cb5552f991e2878e0ba98264730340ea8af939022e800330d0eb6eaeab3f53f0ffb7776e317154611cffcfccee0ccbee4265a1dc8a5bcac55a01ed82042ac55a15a56adb0435a9dac407b54aa2263e9860bc35355e1f8c9a689a6adba42f5a35b1f5426d488c9aa0a5ad084b2c8a6b28080577b975971d667767c60740f632b3ec168ca17ebf27327b2edff99f6fe63be7cc39c360fc1946d4f03d4e464f4fd7a14e1936f7c33767cf3e88b272d28aab8acdedcee95ee76b9f4e16073dad2e19e01bab576b943dd6ffecc1995ae3549b4b06b0656316a4bfc2a756b1acadc84387cbedec7a0de3f6a9d136aff6f327180020ee7fe764fd4d558d193a456dc843876bb0a3fb3026565d1c6eed1521e4576d5a1b6be4be83c15a9befb83300a0bec2866e0d4dc6b5a4f0f69c8dbd58a255efcbbbf370669176d9c384b5fb47db460240fac6ba9cd69fb4d4f65cd07b384788a365cc3579bed73b7c80a9695bf6775ff5f7b577b4963636ae8dc818b9701df1d3ce841c6079fa482f4171a51d9d7d0000cbe612ab5eca7dbb8c89a814de58cd5ec814e438b7891cf547acdb776a78d4955a15e5ccdef3962b1ab66e30fef6f987238103877e2edc897d47062114bcd9e208df81b82abb0438016f008050b6bd7cf38bceef211e7cece383f3eb9daf3e9927c03ff1ebfb1f1c00907f5f73820f0529e12c731bbea5811f4f2ef296396ad18081282b30a408ea45ef8c894f3130aa3ce3f34e1bd2528c11e30216b21452cc4616b2e80b0246fcbbe7e7ffe32fd9c9ec3f87ac54cfb07a2eeaf85948e99a0080ea92053baf2e660148a3cac2147c4239eb5101545c63a8c90097c6356fe232810bc3caa951151c73fb66e3d526f0d9dcecabeef3c3ca20c7642e8c1e99d242068024a9e726a3b6402d38bb2443020481a95c6fb8bf8cb597b2b9c0458ff2d169796876fdc5af4ea672cd3573559ff50002d3b4d590395f4800a8ab3364029094cfceab4919afd75da66cc3a3d7b10270ae5f3935aa2295b9afc19036db34015c781362e0b3d84a0100846cd62ee897a6eb2911ba95561a6fc864e0578e9d964f4d20cdcade5bce22cc9228c77334ddfa547d9619803417dd1df58e96865c004535a52580dbd5fff6d15f7ee74d003076d1138a1d9146971a2fa399dbd0b8797b91096323078e76b50e04b2720a1ebd2997cb58b777774901d0e71c6ced152158763fb8a5c2a2337a181869738900ea1b6eb83177de14f3fc01bc18dbf83565cf346401e8730eb60da0c0bab0f923bc0fcbaecf0230ed15cf8c48d0292a756dd9deed0566047ee870b5f68ab0653dd5ec581563a2d9969e323a74bc730a40edd6eac635bca626b69b35a4d0d447b3ded509b48bcb58b777d79cb06dae00ac19cd7baab2e3abadd1b911e26818b3a7f0abc32e00655b1d8dd5d73e5c9f0ee0d3c36786642d55b5044fcc0196a78ff412f06b0a6eb10280797d61914937657a622a2dda0b95716f132ecaab63dc5ed3a3c62d5add3d37bf9025b0b7ec721400f00e1ef925080096e863abb9e535a5007e38d6330620bdeaddf6cac7b6cdffe8287ae78bbb761403e04c198b8cf1b9d4289d16cd323fbe311b0d0020fdd9fd250034390af5362844bf4b67a186420acb5b5253d89949cfe4987b6ac2cb0ad6d4d9a5f7f9357786b7a41894e971f7a4c7edf5ab466e6e919ed12f7a8930e1cb04b338cf5fc0ca42814f52798189fa6c9128aa326089fc4c5e4052034af4c54b46145518199341e37a6cd54b373e0e3e5105cb5884e551f4924b934310832aa7a589de42a9d717840cc162e223ee78c5ef93c00ba97cb263d04532ca81903f10e4a213287e9f2483b35af8f8cdf38a41c11465eaa2a204bca29c74ae387271466b8cbefefeae270ef7176caa7da121d3eb9338de94ca2fa289a6143afa68d59b50bb34854d4cede44558ca4364692625655ee2f62f574b635b97ccfda5e1f67ad99722e3f4b1474a9e3b89bbdf6b7fbe717ed923342349309ac3cf064c77ec7ffca1574e3c77a2ef9ef509aeb72797a57bffdd0fbcd25eda7cf493a7eb2e456c55911595615956e75dbaaac80a188e5dfed975b93df7720cf004f1bfc7effae9892383e68d556fedc827358895c8f8e937b7dcf306f0f8d7fd2db97a7edef36ecd9d2fddd172f4c53d75094e4092cb22399fbceab66f8057bffd639b3d65650948019e202e4f64d1eb1af609569b7d354f6a102b9319f790270463467eb66e240e4d8f4f7119b664426f525942d3ee517708d6d5f9366ea5c947019e200882202e4362033cfdbb5882200882b80ca1004f1004411014e00982200882a0004f10044110040578822008822096078d5df40441100441ac74343e9044c7e408822008626541c7e408822008e27fc1df7c693cdc5ad45cf80000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The numbers of the form (a, b, c) after each test name correspond to a) failed asserts, b) passed asserts and c) total asserts. Clicking on a test name expands it to display all of the assertions for that test case. Assertions in green have successfully passed.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d494844520000029a000001750802000000c794dd62000020004944415478daec9d777854c5fec6dfddb3bd27d9f4de4342080984de417a5541106cd8bb78552c78bd5ebd76c59f0d113b36040501417a0b2d84841008a487f4be9bede59cb3bf3f36099bcda68008dceb7c9e7b1fc9396766bef39df2cecc9939cb71381c201008040281f0df0c97b880402010080422e7040281402010889c13080402814020724e2010080402917302814020100844ce0904028140205c53787d7fd44ed3bb8f9edc7b2c3b27bfa8b4aab6556fb4d334f120814020100857043e8fa7944ba34202531363270c4b9b347c109fd75799e6f4e5dcb9566ff8e4874d9faddfdaa2d5117713080402817015f05629ee9b3ff3a15be7aae4b22b20e7bfec3cf0f4db9f36695a89670904028140b8caa8bd946f3ffdc04d93c75ebe9c330cf3d4dbabbed8b08d789340201008846bc8dd374f7fe7e907298aba64396718e68ee7ded8bcf73071228140201008d79cd913467ef3fab3dd297ab73bdb9f7a7b15d1720281402010ae1336ef3dfcd4dbabbabbeb59ce7fd97980acb11308040281705df1c5866dbfec3ce0f19687c576adde9076e3bd64ef1b8140201008d71b6a2f65f6af6bbaee75f7303bffe4874d44cb0904028140b80e69d2b47ef2c3a6de67e7769a8e9dba849c2f2710080402e1fac45ba528fae33bb72fccb8cfce771f3d49b49c4020100884eb9616ad6ef7d1936e17dde57cefb16ce2290281402010ae67ba8ab5bb9ce7e41711371108040281703dd355acdde5bcb4aa96b8894020100884eb99ae62edfe532dad7ae35f98be5414271102d035b6d691d2b87204f82a1580ced45a6724ce20100884ff7dba8ab5bb9cff25bf792a8d7ae4b609c3e3c3541241fb25c6a46f2ece39fcd5f7c70b3b3f3bf7ce7be6f7f33afbfb67af1dece6b09c34e1eda76605519adf3efcfce7c63e5a207ae489fb8707226bddea95d9963e0964daacd76e4e00cdf4f62045b79cfae7fbbbaec9e82475d80d4ba70f0ef757767cf18fb119ea2ee46f5bf7eba6ca4b8dec925df4bf057fcab449f1de283eb47b5b85bd8f41a6cf9c1423b3676edd7dcc704d0c205cb1d29f3e73728ccc7a858a9240b81a74156bde5f9d64eac445cf2f48915cd41b1b4351028a92c8fd068c99b772e498cd1fbfbdfaecc5e7fdfd83552a71a0520e7423e7de8111413e12c8fd447db742111d1da812202e428dec2a40b9eca93b074a751bdff96a5337d3d9c0e0307f1f9f3ec5ed1f1d852b25e7bd1bd6c1827b1ebf233db0e34f8661288aa204b2e0d821f7ae183474ebaae7b6545d4ad297eca2ff2d440181de521e82fc64a8d0f43188af9fb7946755f2af9501d716f1f499e32285a6e35b0e64d9fedbad12f9faa9a43cfa0a152581706df86be53c75ea5dafce8b0700184eefddbf656fd691460b8080d0844533268e4f0da5289fd98fade0bffdea47c5ed230ea6b709b1050c0030973185a1dbc208c3c203d5029f106fa01badcad9bbfea3467fa1cd6e05003e60f4499bb5283d1068d8bc7a538540001b0008057c6b53c5912be6b0de0d6b5b3c18b3c8a9e58cb678d3bacddbb21bea0048fd96cc9c3267429204d48099f73d53fada5b672d7f9d8bfec76018800796b9e420f4b533e0da761dbe7ede0a9ec2470ad8feebad621880c7d02010889c7bc477d472a796db2ad73cfbb1eb24afaef2fcca4fcfff9836edfdfbc7ca219bf6f83dd98f7e7ee42f34a5e1db4fbf8ff541d1c1b6092b4d03821e0704c686edc71a5c2fc4f91917a503265d667669ce5f6668ef860100168def0700fa8297967f95e362f377ebd67e77f2869f9e9e288760d4cde3df3abbfd2f7411e1efcdf5298144980944ceaf3c4b168f93038061f35b1f7b5cb0adcbdefecf9fd52b17244110b36856c8914b5b1cf6405c52c29000250083a6fa587695eb0278ced9bc9c2ed9bea4a535691f1c16101a322c2e5806c06e3a7b322fa76baea5ca11118121014a01eccd7555dbcf36782c8fde0c0b09530900d49fd8e5616051bceba713c9f7a6fb51eaf01140df07497d7751efd9bc72f80705c4aaa4002c8696c20a8de72f1c09e42911de628b1532a1aeb6215f63f6f89442e61517e62d022cda96c21a4d9f3e96d48798db6a844c9ee2e72d17f1401b8bcaebeabb991a86050504a9a43cc06230b6b63417197a1c2f09c4b16aa58f4aca03add7b6e4d6e8af2baf52bd35087f2fb910744537c5d1adc343bce5221e40eb9b1a721bcc97eac39eacea35727b9f9d4320fc9de43c79423f19006ddeb6d5dd6fcb2adcb3fef0c484913e54d4a8e1015bd65ffa1b68bfd7df7c7280aa79f3ea8309b7cc8853756cb5c3bd30646ffcfac53f9c4304e52b6f3e93a6c2e9dff684cd99ac6a7b443c6dc51bd300fdb9ad0bdfcff8b3d99526bcbefce601fe2edfc45fccd49fdbfffcc55d72ca654fdc3dbe9f9feb0fd53e68aafdfde3d5ab8b2df01df5fdab33fb6c589b56d01078b425bfb0d694a2629a9a9b2ebac8b0f9d557dd0a226ee26def2c488236f7a9e53f16f6d145bd67f3cf235fb4787684549ff9c7d990d18383a417abe80d30971eddb72ecff5d5b27cfab431c9a12ad70397338c4d2776eddddfe0d2cb0b0216cd1d11a1125f8c8ad5e7eecc948c181fabb066aeff758f87b7d57d8b19acd52e9f3e7b7c4a80bce3d268b02de5a77edc79ce55096213d3a70d8b93766e70e6e6b2df7f39e2e9530fe2e9d326b8a53ed5da92b57df79e06fb35f6aa2ceeb15bd3db46b710a6cd5f9c06982b4fbcbfbdf296c573a3a4e6435f6fb2a48f1dd52f44cc05589d85ab10c1ecc9c95e77dc313d48c816eddeb4a1d4ec31d1c9c6faa3bb766734f4c187dd5a55d85d8edc2207689e5ff41d737a750e81709dc2fd8be20d1896a0060073d61f3d7f66ceb2fd603100a8e2a7fb5e4e422201009fd9f7cf8b5309185373615e6e7e69ad0d006469f3ee5b16d3d6bc65020aa06462aed5c6d86ced5327c66663182bfde757941356bd71a753e4f4f5e5a7730aaab53680f2ef3771d50bd39c4f3cb2fc8949fdfc28c0a4ad2d3c57505ad3cc00942470f6d30f2d9002b05f8a61ba463d032078c2adcf0cf3f330483af8e3fc47ffb9f0e5f585175d44759d674bf9420aa02452755f5dd47b36af08021e00f990a9c382a43cd6aaaf292fabac6ba101401c357cf2f48b39f65ab478764aa88a0bd0466df9f9c2ca463d0bf0a4eae173e7cc0e6bcfb120fcfedb273ab5dcd85c5f5e52d1a8b3822b4f993a3156c105b89e86b47d8b1900c44317cc4e099003b4b6aeaab4a44a6b6601ae7744da3df3522e2e0c440dbd79549c9407b0d6c6ca8af2f2aa469d1980d82772aecb631d4c993dc399bad5d852535955dfac6701aed07bc8dcc9c304d7dcab8c9d66e98e5db52c4db3ac9d61009e88c705b87133e6de901422e602006bd0696900e2849410f7c592a8b8202100635d95b973a22d9525659575ce44fd47cf9d3b4ed6171f766715fa12b9b341a44dead53904c2df6f761ee8aba40098aaf717f7b6c67bb2483f2f5e0e8a2fba9c843a5e92d5e76c5dfa69fb5c3674fcf72ba6a820183a7328de3f7ef131dbf9a58fee06946faf7c2e5162defcd2cbab1baf4066ef7fea96300100f3e1efdfef385f37ed96071e991021081bbb72eac96587228747890194eef8ecd15f4bdb82c58cfffee9292af84d9d9ffcf3d7c7973e7abccf8659bedc766ae45d8300d9d8bb9e1c3eafa1b8ace85c7e51c6c9f385c66e5dd4c398c5eceac9ee5dd47b36ff68e82e0907cbb05693c366767479adc9a1781c81982b9470b86d2b171dbbc1b4252756ed693fc9e8d5efb1f96952f0e206456fdb5e0260d4e4b1115200a8c9def34d56fbea8057f4fdf38679f3844993c79efb7c77113065c6306f2e00f3d93fb66fae685b5f4d1c3c614e5a605bc7dfc5da3ec6dc3622e6813556fdb1fe406efb1068d8b869e3e3bc85befd9724977e97a707f89387c4006075653ffe74a4a23d60e2d0497352fc79bed1e364b9fb5dcf4709a2e3038400eab3777e99d5ee7dbf7e8fcd4d9342953a2ce458fbfe866be5d5555f9600e22577dc182ab466feb4614f9bf172860520f6f70540d79ccfd9975d5661b0a78c99313d41a5884a88dd5fe5ba0e919e180c80ae2bcdb07593a85fbf87e7a629204d9fd07fffe6825e7c885fbbb1aa2f915f40df9c4320fc1d67e76deac1e3897b7dd264670080522a44979f9c36f7f94f5dd6a52bf7fd96d30c80124a3c3d2d74fe872fba1239950e1d112b0650b1e30bd7b3f2dbd77dfa4b910140f49851f0769eb8674a4f945e0c58bcefb73c030075b0fa520dab3bb6fedd8db9ce57a902955f62eac89b16dfb9f2bd37d6bff9e4dbf7dc302de6cf67ac8b257dc966f7b016e3a4c1499bbff8c05c7acaed7f9bbff860d2e024d6d26524622cfb7e8fcb570934e7324bf400b87ce7fc343c25420a405778e0621f0d4053b27a6bae1500d77ff4605f78f5ebe7cb0350736257879603c8cfda7bb4c6dc4d13e85bcc17d11f70d17200c7f66f3fdb4c03084d4a500080482173ae9a5cd42100f9c7731b69005ca1dbca8954c00300b6aec4654cd7702eb3dc0c40e123bff65e759909f0f85dbb13b668f7afdf1c2cac30d801e466179901f0fc07c7b97606217141620015670aba4db4e1dcbeb35a00bc80e0d8befab0ab557d89bc8fce2110fe9e72ee84a2faa2fc5600a0e43ec2cb4ea7e2f821b777b7a7ca9b00487c43527b1b72fc49524727ab01d8cad7feeabe95efcb6f0e9b00ca277e89d96403006acc23f72c8951763cf0f3471f7ef4d5d76f7cb6ef320cdbfbc78f0befffd7bbdfefc83c57dea46f131389ca2f317de2234fff6bfd4b8b265cb951595fb329ed5ece6de647efbe7dd298115d6f4d1a33e2d1bb6f676deefb921a0bceb9ed422a6b68052054aac380b0e4680500e84f1ee9b283b2e1ccd9462b0055903a2c22580c806d3a91e3be8f6c7f7639ebc9d43ec67c716da3f2fcb12e1bdff6e75402802270800080fed0c1ecb3b9d9276b3a3de31f15a1e0755a616a17151b0d00dca4e91346f95d94c0633bb76fdbbde7d75de7aeb9573d2e8fb938e4e48652972a6c282c6ca4018424c55dcc7b72b40a005d9f5d6aef21d1fc1399b9856545b9c5f597e843ba0fa5e912799f9c43205ce7fcc59f91b19a7adfd52a51ca01c05c75aed5a5355ed25156a6aea6c97dceecdce22a148aaf8e230511773e75cf228ad7a94b1105489cf367f1f1ed396316a5fa0854318b9e7e6e81a9b5babaaaaca030eb54eef663e7ff44aa96bd07f7ed3db80f007cfda6f54b1a316440426ca0049004a5fc63a5c8b2ecab2357339b3d1c52a7ed1e55a7437be0be5180d5b618baac185000c0e70b01abf3a1e6aa639e6acaa9e29634df40a1dc4b4ab300ac0dd5f95d1faaa96ca69d53774fe38fde62f6479b3c683cfdcc81aea1c9884829045229604351e1b92220312e6e76905aa190cb2562b1442ce4753398b6956497248d8e96f3a481a3e7de38d26a6c6e6e6ea8ae292eafc82dadbb1ebcea0fd4775f477475ee0ec9c8ad4c9914c9f38d1c25c8cdb001c0d0b80000bad2f34540580f89da1ab7ed6f5ba2d05d920ffb529a172397f7c53904c2df54ce8dce1574893a498a5e0e32857ab535159715e2c0e838a0a1cfa9d9eaaabbfd5e8af96ab9323836a6bb350a00df7dfa76cdc4590b27a705abc494441916ab0c8b4d1a3b73de7d35273f7879fda589aeafdfb450efba82f39d1cdbd8b0bdb161fbc17d80df33cbef1e1ba584247efe54bf237f5cd56c7687030e86615896f5bc46c4e53ae0705b17d068ba5da4b05e5cd8f1fc4dceb61a259488c13aa7b19e9e3258986e5b40af312bdaafc81422a0cb113243a3818594db364d8c4d1c3a63544ca791256bd56969854a0a78f049c69ecd2db569a353a3bca542ae50ea1b24f50d0a4b4a1f36b9b9f8f75f8e175d6baf2a7a9273baa9debd31ea4acfd558238384d2a474df8cc38d104447f8f0006b716e55af0eefe0527dd897d2bc0ce710087f3b392f3c5da45f102f87cf989951dfad2b75bb1b10ea87ca06e744e3fe1b922900b6ba4c976354544f76b535b9ebeb838ccdb9ef7e7948a810583bdabd5020b4da5a750608515a09007bf76cd9bb670b7cfda6f58b4b4d4c484a8a5109200f1af4ec4b86d92ff7fd7b2f481d76e3233323a0cd5db6fcc7420ff71bde7af38bc0954fc649e0171182f64924ba0c788c60fe8a6c765b6c763bcbb20e879bc080c3e170b997f9d28712ca7aea7cad26334400f812a5a7958620a5f0f263ee589535e83c0d2565be326e7b030b4bbf71540c17006bac2c2c3e5f5e5d5967a8b7d901fea2db1644883de73d3f3f3b3f3f1b32794a50605468486878a09407b14fcc8d3759defc25f7da7ab5c7a3d88cd1dc551435a78a5b8292bcbd6312fd0f1f50a4c64801e82a8f6a7a4f5421e0c366d75d960ffb1a39d1010291f39e68cc385e337952902078d4e409eb3eddeb7a2b69d6aac74652cd05ab9eff6abbef0d93a2c4009a72b3735c267912dfd038a0d0b39825c801c0a6bd4e7e28c439ac902b2dc5557bddef25bffdc22c255db3e3a861d4f07043d1fe177f3ddf3e8dce00b0e4812717a5fa51410397fa6efff212f6d8d30020f78beec6454043adde1627114894ca76391704448bd0d8c9650323d457369b3fbdd9d39703ac56abc562f1283c22d165eedde3f9840c43f6b12ed707467a03b0ea352d8c1f00ae2a789ce0c4fece5374fff870c59f88b9637aea15e2873cf7d9b9c2cf4b0c0036a3116111722e006bed6fdfecedb4e62f08f3f5f42a282c2e657c82afa5e6ccbaac3a18f4b985fadcc24200a326ce181dade2fa44baee84bf265eadbff43873734bc626794b854183fce4c2483580fa82425daf89cafa2dbd354d0cfdb193864bf2619f72d41ef9beaff7112520fc0ff0176e855bb9e514034010f1e80bb3025ca7e6721105503ef18facfecfe657274a00a061e3e76dc7d333324b01409572ef544f332a84dc3e210600d35cb0bbf1baf060ceb1123d0041c4bca9eea75327dc3221312c30382a48191a171715913634d9ed81ef3e3dac070081e4523ade9cea16060015b8f08134cf4f848e4ff11700a82b2a02c0e301a082c3ddc43b6afc009f2b9bcd9edf2f76375fe472b91c0ee752dd5e5150a2030079ea18f703cdf0ea9f142004a0ab6faacf2f68010069dad4fe6e2b44b35c7ec0e63262eeb8260e4d18d625925129115c00bafad33684798b01589babdcdedfc70e88f4b87750e61b1414e01f151fee763d63cf793300f05c77c25f13af5e4e3b31141634d2003761c298480500ede91c4daf8926a6448801d00681ead27cd8971c7544de6c038140e4bc47b27ffd39af1580206ce4aad7ee5ad07e7aaaeed8fad9afee70eef476be6e2dddf8c5a6f6408507779cd60340e2bc275e991ad52942df84d7ff7d5f9c0400cefeb1e7cf7c868c070094527145d621f61dafb101489c77dfb2b48bb21c9036edee098100b43987b695d400806ad0aac59d147de90323e500a02da9bc14c3b2b79d6c060075ea822f1fb921b5737f3662ccacef9f9ba20280d6c387aa8086923a1b80e051735c3ef5225ab6fcd630eae254bf7717f5219bdbaf66cdb55dc8ad340350258c5e92ea726c4c167ecfbc142100b6e9c8f146a0ee64a11e803020e589794307fb891502716c54bf7bee98d8be098ee55d66cc1da8c62e1e9de8f2f7e03153529ca7e3cee6eb808a162b006150ffe9412e3a943874569abf73394ada797e5955eb1c81c4dc33b293028d9b98200600639de69a7bb57d19ad8bf13d7034b79205840a9510b0d69566f596a87f54fad4246f00c60b25e7faec4377abfa107911d101c2ff047fedcef6ef3e7a5dfac8d3b3937d043ef1773cfdaf45fae6ba460dcd937aab7d5c0f72868c983ee18f1fdb97701b9efbbf1ddfac98a286386dde7d9b67189aea9a5a694ae9ede5af6a7b01569fb3f1b9f6a3cfbd7ee45cec319f3c0082b10fbf94a4b5b59cddbaecfbbcbe67aa6bf7b5f2939d035f9da9866cd2fdff1a5c515c58ddaa0a8f890b72ae2e34fcb636bbce987f60fac0b1fe54d898c59b531b0a8a2b2d229fa8e808e74769b579c7b65f9a619697576efde6d5996ac03f79e2abef8dd36bb59a163dcd13faaafde492b62d69a53bd67dd708001bf6e44dbb6b1004a18fac7e697a5e7ead45169314e3dffe18787d7551afd9ec696a4ef10e1c3d31323d95c3e1b8ae0c3b2797078e9ee0b86c97e8f563e0ce65808cedfb226e9b1e2ae686a64f7e32bea9b64e4b29d4c101ce0f79d2e7f71e74cee4b2f66ff753cc4a09108b7d636e981b73437b24acae492754ab845cda25515c4acc1d41b8d2b039f7dd3cbaa6bed9009fe0206f290f00dd7c6e639e1e4045759d35dd5f0871cacc45e175352d1678fb06a82e7e49949734737168c9898ecd5abad2ecb3daa82415d73769ecf2286d754d935d20f70ff47786309617e65e075e6d8f919734fde650036da8ccfae6706bcfc75275a57975d6c8202100b6e24ca7cf4b7549542ff0f10bf2910200dd7460cf850a3f791f7c98f1f19e962e5655f51a3920efa3730884bfebec1c00b0faa3b7fff3fd816aad198040ee131615131516a8920800682bce1e38516c0304fe29ff58fde4828e5966e5be3b9efc3ab3b499012881cc3f2c222e2ad4a9e58ca93973e3674b3f3d7e51d91878fcb154a3f334bbc9da0400568b0d000ccee3df6858bff3ac0d002556fb28a32302fa9615c62542b7097ac61daf6e2cd5da00a8c262860c1fe4143953fdd9352bdefbd908c0f2d63fff6ff7b90606a0e47e89a983d2fa39b5dc567a74e3e28f3ab2d367c31a33eeb8ffa303e79c9fb3a5e42a9fb0a888a8b040a796dbb495bbbf7aafe3f37375c7d67fb4b79801007154f2a091e9f1fe12ca549ffbd1db5bb597e4a2deb3d97d3d13883f5bfb53466636bf0b1999d99fadfd892bb8384cb2b1f0f8b136abb39cad1d7b9734dfaddd7cb6460f40a85047c4c58406a8b8006b6ecadcfaebc6d28e330df66d9b7fdd9071a6a6596bb65aad56abd5acaf3c7fe2cd9f8e982ec64d3bcf7a9bad74df63b6b100f447b71e28d75901a17750586c5c98b79407b0daf2dcd5bf64b7d9d970664346b11900b8aa8090a88810e78faae4fef1f397fbcb9ce9f1c5421703ec9b7fde9a5ba96501ae58151a1d1315ead472bafefcb10f76965c1f5ed51fc9a9707ec145a19006f8a900d868f4b8c95c7faaac0500e8facc52b726eb9668a4536eadda8a6ddfedc8edab0f251eadea3df24b700e8170fdc271db44a3183cfd2f4a29c03724b55fb00fdf0ebe04a6a6b327dbcf59c58cfff2f129fefadc15cfffd8e5f7c19413d2a283bcf8001ff6d69ab28abd95ad57ce22516aa80280b1a5a1f00afd26584068d498385f802fe3dbcbcfe6eeadecb25b4fea377750a40c761becfa664dced9aaba3f6b9828352622365c2900047c18b48d4525a5399e771528a78d4990db4c90f29b0af33dd8d6674b7acf66171cb49db51858bbc5e3e748b97c115724e3f02ef7b082409e12e12de779fca52cfee0e4783f89edccf1c20ab7507e294fcfedcf83357bfd861d9acb88b9130a2fdfc4400568f060ac28afabf0f03a969f18e6ef2d1302b0185ab22a347dc9d7e0083f11681a8cd9602cebf22b70d7ceab173315e625026035eaebfbf0067af64db724f9f07485073ede5fd573a23c0a9afa9a2e89f6d187dd58d54be404c27f19baac6dd746ce097f671c0e071c2c1c0eb89f8406c0018703cee56cddea03bef7dc37d91768ccdef67956a7de7fdcb4b9c343a5a0eb7ffb72773ef1ea55a07dfc94b97ec31ef2136504c29596731ef108e16aac027138e050d722e5c69a66dad787e79b36f90e61ce91dcb222831d02afe91347a7844a01e88acfe713affeb5f0531223bd2859bff47e3c806d2e255a4e20fc15103927fc8fb3ed970301774cf417f28292d26f4e4a6759b6e36417ab2dde72b08ab8e8afc52b7efaa88e1f81b59e3a944d5c4220103927102e83ba2fbff975d4c8d4a4503fa944c8e77269da6a35e96b8acf6fc8ba40bcf39763accf2da950525c30faa2ecec2c32352710fe1ac8bb730281402010fefb707b77ce251e2110080402e1bf1d22e70402814020103927100804028140e49c40201008040291730281402010889c13080402814020724e201008040281c83981402010080422e70402814020103927100804028140e49c4020100804c2b5c4fd2758766c658853080402814020b37302814020100844ce0904028140201039271008040281c839814020100884ff26380e87c3f56f8d46439c4220100804c2758e979717999d1308040281f03f0591730281402010889c13080402814020724e201008040281c839814020100844ce0904028140201039271008040281706de15d8534cc66735959595555954ea773bba55028424242222323c56231290c0281402010ae5f392f2d2dadafaf1f3264486464a4dbadb2b2b2ecec6c87c39194940400b6b22d074b274e9a28b9f8882577f71a4bcabd0391b9295770f3a461944b70a6e5d8866cdbdc496384d7995b3d1ac6d82c1088a84b8ae7d28310080402e16fc8d5586c2f2f2f4f4b4bebaae500222323d3d2d2cacbcbdbe5ab3e2b33bff34fb4d225996f15692c8ceef8d1cc13d6cec1ad9a134733736dd79f5b3d19a6ddf0c12d67cc9714cd6504211008040291f3bf06ad56eb51cb3b145dabd576ac16080502f72704e05390443ffdfef38f76ccda19060084420120b8ae26afdd1b26e2f315bc4bb3f5328210080402e1efc8d5586c675996611896653d0f28b8dc4eb7f8e8ac5f3c3e6007acb59b3f3b24b86fc154db85cd1f7eff700300e9ed3353004118004dc98655eb963500c08cf9b7bf313244d569ae5cb5f9fbf38228f3a64d79bf0308e9b7e6fe7953e5a04b4eac5ab3eb2d0b008c9b79cbca49d16ac070f28f7faecd5e0f4019fcca834bee0ca0ba5ef19c9cde93616dd88abe5b757796b12cf3833111c3be786054aca7183a27b460e4eecf5c83047635834020100884ab27e700ec763bcbb26e3ff70280c3e170b99d57088c05398559329a6eb38fa72db72118604c174a8a616b95bcf8fdc383a71d5c9e1aa9abdafcf2b70f43fa0ad3f2c7cbeb968d997b647962606dceca77bebd43f6d86f2932d71973cbe9cc17ebd2be7f65f9a7125bd18f1f4f7871e3fa37d3cf7fb86bf75d0f9c4bf116d5e5ad7a63ddaa81cfbf889cd7d79e897ff6a9325f34edfc22fd8d5f1256c46e71bbf2ee24ad87e498835d0d73596088bcf1ce2fb0e6a99085ab07f9a83d1a1c5cd439e92d3fbde612a429e7253733de5f308c545f028140205c5539b75aad168bc5a39c8b44a28b7f537c202bfb9497f4e2254d09100c8027005093b306115f2f498d04e01532fbd91b8ebf71c05a91b90a11dfdf9818ca307448eab2f9273f385a5497921ae09a3e70df7d53c7c8018863972c5d93f5e9cf75a3eeb8ed96a929de32c666112ac281ddf56604f144b015d4376b7d1b09c1b400002000494441540303a6dd97135545533af72be599f7774d4ed5eac130573f4b948112bec2d727402e46c9010f06dfd225698952d61184ee7297d45d028140205c6d3977cec2198671bbcee572391c8ecb3cda0ee9e2fb16dcefb2219cdef2ce7a53fb1f168b4ee917d871cf2b3016362b4481285ffcc46b17c38434d7032e724e0382d08bbbe5c51220cbc07bb4e1e4bf9e58f73b04697e520d10ce03bc929fbbb775e5daaf522d80c8ebbedb6e79da2bdcfd0acf537216da93619da0dbfe0f7834d86b927b4280a5234857c348dd25100804c2d596f34bc06eb3012e726eb17736b7b5e5e2e17593a612023f5a9faf4cdbf1f2d4c4f6e9fc9e5261b87b2e6d8d56a04dd1198890587ff08e1df4532f3df59197800714bdf6da5334a0b990251bf4f41ba39e66cc4de74fbeb6e6d30f9f583cdaedca92640fc9f1ce7830ac3b777b34b86bd22f3d7f6f47104f779ff622f59740201008cee9f15548432e975755555114c5e3f128179c7f565555c9e5f23e461536e86e14cfdf5f65000043ee775b3e035f183260696bf603c71b2d0098d6acf7d7dd7981711ba608810f5665e40300b4fb7f596c099e1bc885d23bc84bc003b4fbbf99d0008041cbb967567ebfc10450627558603c6069ee72c5df5372119e0c739772fbfe821a2d80504f31744d9a7109e2e92e81402010085771761e1212929797e770384242425c5f9f73389caaaaaa3367ce8484845c7c9aef7e508dcf47db045d2aa47c672f9b90bbf2db7e9b002072cc8457f43910842f7970c4e9556b627f140036440fd938275cd6c58a4879de034f1c2c0300e963cb1e9c1ad0ca17ae99f74436008424af1c83656bd6fef0da9d9f0ef86ccaf3af2d73069972cbaf83826ecaed7c25345cd535390a1e0cebacb8a2f0e8716bd725e70ed9f1f2240f06537eee49ab5d838ced7a974020100884764975db9ea6d168ae781a5aadb6b0b0b0a6a646afd7779db8070505c5c5c5a954aa4b88d166d09869894c25a4dc2e5a7862955ce03e463195ac7e7ea3f0cda7ee84416b02cf4bd621f616bdc142096492ce414c86262b440a998ceafe8ae7e43c1ae602c358001145751b43d7845c83783083402010087f4bbcbcbcaeb69cb32c6bb3d9ec76bbc79ded7c3e5f2010b81f57bba2984a3e7c7e1d5e79fe5139297f02814020fc2fcaf9d5586ce772b92291a8d381b4ab8b503df1b69bc544cb09040281f0bfcad5989d130804028140f84b67e7e4f7ce0904028140f8af87c839814020100844ce090402814020103927100804028140e49c402010080422e7040281402010889c130804028140b8b6b87f4666f4870788530804028140b8ce39f3cfb964764e20100804c2ff1444ce090402814020724e201008040281c83981402010080422e70402814020103927100804028140e49c40201008040291730281402010087f0ade554e8f4f718744a801986c744e658bf322071811ed07c046b3272e345d52840a113f39d8ab4e676ed45bdcfe51d2a8ef21e0b8b880502fe9dae32532214fc4a73aae1badb4d9ceb83dac14f3a3d4f2da56739dceec31b63929611201b521fbc215cc5d47d67acec8e5e125112406aaaab5a6f26643df0b8e661dc7cb1aff4cba1e3375c56b455712029449812a3ec5cdafd5e6556b1c2eb7627ce5e9116a218f2a6bd21f2aae671d9d022605aa541241a3de52d8a0735e490df5960878c50dba7abda56b42221e2513f19a0d56479f2b0f00319f920a3b35461bcdea2cf6ee9e578905916a59a3de52a53501b86f545c7e9d36a3b8a1bbe7637ce5fe0a716daba9b4c970050bae8321116a3ec53d51de6463580069613e623e9575a1c94ab3000686784b85bc53952d461bddc77ad8b5be45a965814a09c33af26bb53db78b5e9bb69bf700f4a513f058b8dd75021e2d3f59d1ec76cb5b22e817a86a35dbced4689df5ca2d4e9dc57ebeaeb5d7d671a9cdb36bb759a5310e0e576b4cb6fc5aed65b72f319f3a5dad395dadb9d4e0421eb7efa9f75adb899c5f255462c1eac5239cb570cc3b5bf5169ac3e50e0cf5765eacd79927bcb70de070b87d5d3688f357ac5e3c62fdc9f2ada72fac5e3ce2e79365bf9fae70fee3e52dd9dd45c5015e9836e06051bd83655e9b3364424250c7ad8ff79ffbe4c0790e87d37165e1e0c8e55392f91417c0fa93652f6f3d0597bb00a27de5ff9e95baf678b152485dc1dc7564ed5f5b4e7617eac5e929e1ded2077f3c6667d84b2a8801c15e1f2f1afed591a277769e0687cbe99ca3ee0a4e6fb10f7b6333000e97f2f858aff678ccd415af15aec884bc7fcd4c9d9a14dc71e55869c3f25fb39a4d3600ff989474d788d88e5b654dfa3bbf3ed06cbaa83a2a495bc6677dbcb3516f1d16edffc56d23eb75e6399fec76b04c57d7bd307dc0bc81e163dfddde6cb4f6a5f238b96378cc23e3fab95ec928aebffffb231ecb65e988d8c726f4e371b900f69cab79fad713c9c15e0bd32327afdc66673d17cd07b70c0bf39616d4b5def8e9eebe14f7a5d6c687c6260c0e572ffde6e0f1b246b140f0c56d23f914f7c1ef8f1c2caaa528ead3c5c3853c6af81b5b1c2ce3665e77f5d0adbea585fbae5e3c42c0e33ef34b56acafaca381ff73466ab88fccb5bef5dab4ef1e19e7e63d1be3787deea0f1f1813d74021e0bb7874ec0a3e54a11e5d6880684787fb470d8b1d286bbbf3df4d28c81317e0ab7684f55363ff1f3b15e5b8752daa7e6d943b7f9f9a1f3ab178fc828aebfffbb8c4b6a6b5ddbd7fe829a65eb33ed97d221a965a2bea7de6b6d27727eb511f0b86343241b4f96f015ea1bfab5353907cbd89a6b383c015fa9ee6339e5d7b62efc7c7fa3461720640180a169bdc6f90f9ba6812b10f1a4caae956348a46fa052b231bbccd65217e72bcbafd57c77b8002c0d20bfba8531b67205220e5fc8e170a2d4b2e7a60ec8afd5fedfeebc390342e60f8aca2aaada72b696cb1774c4766b7a14c5e56c3851626ba9bd82b9ebc85a0f19490ef64a0c5471589ab5d31c1eff92bb6996b6691a28a1989228fad8806d9a7a0e87cb57f97acc421fed7174533a57aa56b8f2d2cc8153938233cb1bbfc9386f31eae70f899d9a1afbde8da94bbed89f18ea7fd788d8e206dd633f669874ad0f4fe83f7f64f283c3235efefd345720721a76b8a4615d56e92d83a39e9d98f0ecba432fcf9c0260c5a6132df5350e96e5c9545c8188c3e170399837307c68a4eff4fe2100589b8536e96343027aad3c4e4e57b57c73b4182ce360e830b56242626865a38631b672787cae50e2eac69410af272725e556b5ac39786e4abfc059a9518b5383379e2c191f3f6a4a84ecd7ac6281570087eae4a541613e61de5287c3111fa08c91d0e71b8d3ca9eaf2c646dd15dcd1d2c6c1e1ea81fe9243d9f5c352139dc397b440c9eeccfa0171d13221ff4479a3aea9dec1327c8537972fec7b3db469ea93c3fc572d1a2ee0719f5e7f7cdb897c3187b9f97dadc6e6b0691afa072a9242d4aef5ade7a69dec23e8eabd2f8e94c4f92bced56ad71e3eefb113f058b89448ea5a1bbb74028eae96ab45dc8e5bce46d45ec3599ba6feffb665aa542a1e6379e9a6510e87e3851ff70268d69bec2d4dbdb60edaa1ea4bf3ec5a9ab9e78a6efea055636159b3a1dd92062e5fc093a9fad8d65cdb97c36abe777cff71f1414f8c8e7a7357bed37b9750bb1c7d4afdb7dc8af1f181ddd57622e7571b8dd1e225154d4df05fbbee1745e2f04909418d7a8baf5ce4a0edfac293944411377cd2b33307a587ab5987e36869e33bbbce341badb30784de3e2cc6359e6737660978d4bf660efc23a738e3f05100acdd6aae2d05c0daacc6d2d3b36f18f7d8fcf1d1be0a3bc39ebcd0fccab65ce782e79c94d0d2267d6e791dd55219ec2ddf71e8dce12347448ce95c7935cdb0e052e2c04851402428def4fe211497f3f1beb37b0f1f3bbaa361d60fefcc4c50afdbb65b1c9a4009c54e332627069535e90bcb2aa49ab2bee4eea6f90b1e1cdf3fca57ee6a95af4cf4dcd4e4f408358043c5f56fed3813a49238b376a8f5c22bf74fff2daf7658b4ff900875b5d6f4efdf734f55b57c75fba828b51cc00f778e5af9cbae434d6c808fea9929c96e7e03f0c8b884b903c37da4c2da56f3b7c78a7fca2a6b5bd274d06fdd3878d29001b53a8b33ce502fe93393fbd7e9ccffd97eda63833396e40e1b90f0dafd1336e5560e8df4edd99e503fefe55392d3c27c5a8cd68da72abe3c52d4d17b1b4b4f0bbc03a8f0c48eeefb4af94d6bb65d9c85f829a62585341bad777fb64377e19c4dd3b0ed37ecfdf8a541512143151691800160b1d3b54567ebca0a5fcecf3c7e32b5a1a5555f502a8d1ac093a99c9dd1db3b4e0f8bf0993a30da47c809f192ae3b51b22f33d7547e862b92ca6307399fe153dc9767a576a46bae2ed457564e9b746faf95c7c991d2c6c345b596ba32734de9fa571fcf292c7bfe8df72d765ae0e52f8d4ae1b8c87f98972cb7aa65e5cedc83478e151c6366a5ae905935dbfe38f4de2d23e6a5c77dbf691b4faaa4c432d7c8e70e0c03f0fdb1c225c3e367c67a9fcc3c2e8f4f1f121bf2dcd401dbcf568d88f24b0a5215d6ebfeb3fd74417deba0301f8fd75d0b2e3a3ee1df0ba7a485ab3b8af55859c3a3e3fb0d0c521a4b72d3670c0560b4dad3435486e29cd4d1fd011c29aa3196e686f9fbbcf6c0acb4083fb7fa20e7e1ff160e1f3db05fa5d6f4efdf73cfd4683bea5b18d3f4c57d7708f9d43f7e3ebeedf049e385fcc898b0576e9eb7e374d9d019fda3fd94aef58d2310f5dcb46f9a303ca7b4e6fdbdf9878e9de8f01ea7ae2048b9e08fbc82ee3a018f852b4f184249e41d72e5d609c081ae964b7d54ce5bc6925c0ec557268f6a9755bbb124f7b7864a4978226a0b9d72fee5376b0170285e80dabbd7d6210f0ee9689ece983902aa2f83f9005be3bfe7cedc997761dd961d4e8137969e9e3072c88a3b2614351a5edc9c1da0107b6cc2ddb5afac8c7d2fdfbb0086564369ae343c292cc0f7d9a903dc82776db3ed7e60dc52f7910abb7668fb0beb6886edaeb6ff9db9365be16ab5c6ecf3a5a3531355426ebc921ba492ec3c5bd536d6b4dbf8707cb574dc84f8c04da72e6ccfab98d13f64d5a261a0ed0d7a735eb5e67455b3de6c4d0850c6f9296c56ab88cb2604a8827c5442dff6d51ec6f9c6d111e6abfce491f9123e6ff986133f1c2b1a1b17f0c0a818d66e13f3389312827e3b7581d6b7c407f970389c1b92420fbcf7e48eff5b91f1f96bfd060e1607c7f0143ee07001042a25004a2aaa2d3525ad56bac5600af1f7b536d5d89a6b1c0c03204829f192086bb4465b73b583b1f79abb30b5f2fd852325824e567119fb97b78f9c9010b8e954c5bef335b30784bd352f4dc47538b3e613129918eaff8fc90318863955d91ce7af7c7e6a7fd666dd76a6c2295dbfec3b565050c8a52d5fdc36b2abdfc6c4f83f302621a7b2f9f19f8e34ea4c2ba6a724fa4a1c2c0b60c1f044218fca29aeec885321a4c6c707a687ab59bb8da5ed1ebb00a9809710e8f5e4a4fe3ddb23827ded5da3130355df1c2daad2189e9c94745b7ab8d36970381cb4cdc1d27daf157df71b6bb7391c8e8e577a00320a6b7517ce599b6b7952a5243c715f418df3d6a14307eb5a4dfd83bd4ffcdf931bdf5a7edfed8b4e1b85078aeb198bd1d654ed60daccb33078fed72c9665d3fb455da86f79fd9703e6ea2207438bfcc3b982b689a69566535ef92df95f1b328baa00581bab19ab315025edb9f2747e03c4a1c4f2f933278f4c4978e1dbed764ae860180e5fe8b638bf25aff2d6cff71f3f5bf4d8a4011f3e75774d8b6efd913c63637543ab2126d88fb19a6c9a7ad7c8c57c6a4a62706dabe9ad5ff61b2dd679e387c2ac638cad52019510a07c6242e28526dd4f9925fd83545fdc3642c461babbee70ee297038a402ee86154b13833a156b5e6593c1621f14170e961e1a1d50af33ed3e5d9a1c1d26a630285c0d20e34ca984874d6f3e9518ecdda93eb02c809b87f56bd6b4feb82f2bde5ff9e12d4345601c0e0680904ffdf4ea135e72694661cdb623d9c6f2b30e86f60a89ea17e21ba4f6de9e57a5355dac6f8cd524a6d073d3de56d4b2f0e36dc7cf16bb7a2f5ac9e7703837240677d709782c5c382eae2677ed043c5a2ef40f072011f2b6af7c6edb3b4faf7f70f23393fbb74d4b699b83b673b894501de2ac0d0e9675b0ac28304a141805a0566be8a17574d45596b6b1f4c5fadfeb745822e026860504aabd4401e1ce771543e2c3d72c5bcce170def8e3141fb4a7264cbbbe32776d5fdebefe0e75f83f7f3dfaee2f7be8d6269eb6e6bba563dc82530ec6539b6deb6a5c5377d0368f1d9a9d611b0d168fb59dc8f9b561d381e33c8a9a316ab073d5e8f7dcb2b62e8d8389839322d48ab5c78adfdc98b1e2a36f7ed8752431c82b59accfc82b7ee9b7131ffeb63f442904f0d297bf9e3eb8c35c711e00cbd86d9a7a6705ed48c264b1def5ce770f7ebb7fd7d113e7f27201f8f1ec86929c89d1de221ef55b76994d531f1a1458a3356614564f7eecd50f37ed0bf3f57a61e10d7ca59ad7bee8a710f10198358d0e9611f947d02c47a5903997cb9c6a14e2250150a735dab48d5c9eb0d7dc992cb607d61e78f0bb0c57ab8628cc916af90fc74bded87868d9bb9fbffff31f058585b6fab2b6acb53600c8bd50b7f4df1fdefefa1766ab2dc657a13b7ffcbb5dc79bf566009f6fd87aaea864b80f22d4f26f8f16b9f9cd8bcf00085549586dfdb2b7574f7cec3ff9c7f6db34750072cbebee7ef5e3dbfeb3a623ce92b2f27fac3ff6c6e6e3c6b2d3e6aa028f8aee24f7427dcff6cc8894f9cac56b0e9dffed68de3f57ffa4339a6f4b8fb036575f5eade8bbdfcc17ce30c656678fa696890068f5069ba69ecb174823fb8bfc428d1c11007fb5baa5aee6e6b77efce1509e466f1c9614f3d8b4217f2c5f70db9ca992d078bed2c775d5b7c5cad8190780a69696a6821cc6a417fa8608bc0238d4c5f52dc6e1a06d36c66a762e8102504a843d579e4e6acea554fe812b6e9d7ab8b8aed42ee3503cbed2471410e19a44472fcc65e9396387c686f85b6887d22f081c6ebd46a75648a562a1ada5d635f2c989c112016fdbe98ad6baca9dc74ea9558a494306d85a6a9d3abafbcc857fbcb3fad52f7efe6ceb41954438dadb4e1bb4dd5c6fdbdf347fe2087f957ccd8173aec56aa82a3a51562f150986f58f1f101978a2b4fee899428ae20e1fd06f706ca8ce6ccb3957387fe2087f2fc59a839d02da5a6a00ecc92b7de6c36f5ff96ae3f7bb8ffbcac50384ad766d1300018f522be5169b7d7cbf9031013c076d9384f5e32b7d9df3c8af36fedea4d575d4375379fe840845af4d9b92c82930aede0bf1575737b71e3a5fd55d27e0b1705de9da0978b45ce01d0880e272a383fda383fdc37de47e721100071c70b4d501818f7f5b7da0280ec513f985097ddb04be87d6f1277130766b53358008b572edcb8f6b8de63bd7ecaaaf289f1a44f9cac56b0ee4bb1699b9a698b5593ade79bbb6af1f5f79fcc4db0f9c78e7a1d35fbe121a1d7be3c8145fb9f8f38c02d7e043d5e8da662dd5050022d40ad7d487c84c116af9b7470adc3a34c6d8daa0337baced64b1fddab0e550d6bfeebd65ee8411013eaaaa167dcef95200e072c1a52283fc0014543719cb4e33165361bd1640a88c9f919deb9f94bee6be3981decacfb71ffe72cb3edaa865ac26006059c6e4be6557ab378e1d1033794872904a5adbdc0a80cbe3db350d7307841e2dadaf6bd6d0fa966d672af7bebb95d6b7e88bcace9455dd3a7ef0a0083f4361b6242289aff0e170b98d060b0009e5004089655221bf5a63e0503cd66a760e1d9c1b625b8d6687ddda3157eb21775a8371546ce08484a020d5e40eabc2946200672fd4194bf3188b61e596230e861e1ceaeddc04c0988dcebb366d83bdb5a9ba491b13ec47eb9a3bf64973787c0e978a8e08035050dde8e6b7751bb7a684fbcf4809fff4e19b1c0ec7e173171e79f76bbbb611407e65a38365acdac68e38eb8ace6ce38a19b3c1ae6ba18412b0dd6e68c9afacefd99ed8c850002b66a4ae98d1b650a9908a194d9d734671a9b5a2ef7eb3b736b10ce35ca3bed0620010ee2d75b00c5fe5cb158a39142f42ad0070416354c9c48cc5f8fab6eca7df5b9318a8ba6de684dba78f7b7afaa0f547ce50522fd7b777afcc4e13f2298b8d1ed42f66e9e4a19f6f3f220a8ce2747905ce158828a912005feecd31581a74a69e2b8f1b5393c27ce5e2f776e5d95b1b19ab591a994c89a46ebd75905222e25325c08c4ff624f82b7f7d64ea0b7386cd3c74506b610004a8d5a5350d0e97529b37300c4052a0f2edbb664404f903b865f2989daf7f0686065050d5606f6da475cdf9157100825592bcd20a8fd72bce963a238c0d0d04b062d6a015b30675142bdd507ef0d4b9f1fd421e5b3893e2724f94d41cce3e83bb66dd3e7bb2af4abef374994daf890d4d07b062e6a015332f0664b40d00ce55363858c6ae6f3957d9002058293e75be6d0176f947df8265df7afcaeb71ebe35bbb4c6a2f2e5f278001c0e86d66b1d0eb6a3bef114de370d4b3c5adad043d35669cabda2fa5de0f875f2de536fedaaa6e1600ddd74021e0bd7b5503c76029e2c1700d09b6db1373ee4a0ed3cb9f7e42103be7aee1ed66276cee9c1013894cb7a0d075c8ac3e5f5da3afe6c77ccb2b4510f204cad0020150b4384f4858a73d133d33c96b5051007c570289e5bfbfa21b3645741fdd211315e5291c027c4d903bc307de00bd30776040f9702c0d98a7ad7361b2072744d3d72d874000535cd5d85a0c57883c7da4e66e7d786ba66edf1fc929103e2a383fdb71c3be39c2c72385c0e9757d7ac05e02b026336087d0243c3230134591db0e8df5f382221c867e7d9cab7769c7630760e4f20f0e9d88fea5ea877cc18bf74ea883d672bd39e5ebde493adceaa1fe2eb3534217c635689bdb5d1c1b2cbe64ff9fcce7171fe4a4aa25004848a45a256939536e9ecf5e51c960150a53101181019088723cacf4b2ae455b618004ec78a538dd604402d1500e0b4eff1e92177774c1b73fb88f8bde7aa5dad6a68d1b467592ff00e7c7cc98dff79e40e91ba3d6b0e1600cdb00028a9d2990a8727604cfaf68e46cca178cd340f809f98ebe637159ffd61dfc9e1cb57dff8cc9b47ce148d4a8cb87fc14ca15f28003bc380c3e1c954ae71521cf0257249583f5150b487a9613bf6deec69b27200bcf4e3eeb89b1e49beffb5712faf9df8d2d70c4d3bd7da2fb556f4dd6fd2a028ae48ea5ca3cea96836d9e8d189e1c931e11c8a0f70829492a949c12ceb385250b9ecd6d947df7d6cc99801b2e8942203e7d94f7f6e35989452b1a32adfda58d151c40b07470e0e57e7d768ee5fb30dc0b377cd8f0c0ee070795da7451c2e97c3e13aa756002a9bf53d571e370685fb00389c7fc1527f812791f3e55e5d37043d392969f3431343bc651c8a5fdb6a645836ccdf07805a2e0660b0d10efae2d26ba8976450988f8d66e302941307f70f0ff4655876527ab24ac4a34d3a00815e3280c353f88446c500d0b33c96b602085049ddae3b68ab7361a0b64903e09fdfed702d56bbcdbeeff07100e3d212011c3d7dbeb8a4b441ab9f32a43f8083a70b69bda6ae4507e0a51f76b906a4691a4090970c1c0e5fe9131e190da0d9ce71cefff466dbb75bf77ffddbaec3b9e77c94f277eebfc9a66d6c7f5fe36c179c8efa161513971ee5bfe954790f4dfbb95ba76e5f3e3f442976f5de930ba77ff5c08c387f55779d80c7c275a56b27e0d9f28e79a4c3b9ebccdcee55f64ff6993d84a2381c6e5fa6ef0e164045936ee92b1f71b9dcd7168d137039cd8ca06b13b6dbecd6c62a671d736b5f9b732b0e1654794945008c45272b8b0bbb96785da30680af80756db312ffb0aea9b770a41e3b34daa8554bf85d6b3be15a7e46e6b78cecb625d65d079c4be51c2e97c3e5eecbced718ad778d1f386bd4a0796387dc3224a65e673e51d6f4c25d378e4a0835d9e8cca29ab9f1de8b260d1f38385de015d05dfcde4a198016a3996f372e4a0d0100da367fe270bdc9b22bafccae6de0c994ad36c78868ff77ef9a7effed0b3f7f66a944c8df72ba6270525cd9f7fff9f5a11b9cbb282d76e6a9f9931fbc69ca5b8bc600f8e978111c2c87c7777625152d4687c3e1af94a2f3f990ee72e7ad900168365a5cadda9b794aa337de39216dc688b4fbe78c5f36398543f1782a7fe710dd65b4cea5c432e7152e5f0807eb3ce6fbc48229b1a18119c5755a9307bf4d1b9eba69f9c27b678c2e33388ee51502a8bb5062d736788c73606cd8995717fdf6f874a14f90c0cbafe75da33ddbb3f36c958d66968c19302eb5dff4fea1db9fbd65fec0e05e5feafd79bff1fdc2450191ce81488bc9f6e981731497fbeb9bcbdfbd67f6cbb307fd78cf58b988ffd389e282d20bdb8f64b3ace3d189fdff3123fdb639d33e7be519a54c72a2f042ab566bae2d73be6808524a9e9c94c4b08e15bf1cdb7bf0d08f7f1c948884ef3c748bb5b1b28737116d79395962b1d33d541e370687fb34192cd55515acd5cc57f9791c4b1d28ac03f0f6bc413727fbbfb77014c5e51e3857e5b05bfde522bdc5d66cb4c2e170d076e780694e4a1887c35973303fe5ae17136f7e38f9f6e736669ce2f3a81bc7a5d3fa16003307c52d993676fac8c14bc724d10cbbef7cdbab905983e33d5e071c5b33b2ac767ac9b8d4cec5ea28aca871ae4634b7eacfe69e7230b4f34d33807d878fb336cbf65345369a593236c535a0739179c6e08425d3c6cd193374d1f038938dce2aef74789acbe33ff7c35e93d536317dc08201818cc57471df3b4d77d4b7b983630d567af7998a1e9af6eeac3300debe7988abf75ab4ada3fa85bdb7745a779d40af74d709b85bde3ede05075ca15491384212910c802b927228fe9fe933dbf64908783ffde71f3fbef2f89a3bc7ad5e3c62726250ff2055ee8b73363e30a18f7d7279a3765bc6c9f5bb0ec586063eb968faf693e73c35618783659d15ccad7dbd7df3d01fee9dd811dbe603c7ba96f8deac3c8dde78e7c4ce7d9d4f3080f2a656d7d40f9c2ef6d8a1c1e108504abbd676c2b594f3df8fe6d20c5b56db78eacc59d67af10b1b1abdf1e1b5077426eb67cf3fb8f2ee1975ada687d71ed0eb5b634383004804bc157387bef5e02def3e71e7c411437a38cff0d3ce8cca46cdb2a9834e7cf094dadb8b66d8003fdf05378cde72e494c9a0a38d3abecaffc7acf22f330a227c642fce193a2cca7fedd1c24f76e5b4570e076335376a5a9fd9705c2c14fcf39e050941de1fec3e7d20f7bc83a12971dbfccfc6b0e5cd86083f1500874bffde5dee7eda7db45a63583679a0ab552d06cbdd6f7ea9375b3f5ff1d06333466ccfabf86c5f9eadb5d16d3740a7ce82c301b0f164a9d9463f72e30de989311abde9e11f0e77f5dbdaed07b666153e3471eda68a8d000020004944415440ce27cf3eb968c6aed3253fec3f491b741d91bbc5e99c3d38f7e6f4da4e7ab0a7bc41f3e4baa34aa9e4b3150fffebbe851985351f1dab9684c63bc701975a2bfaee376b63a5b5e142c798fd8b23c52faccf30596d378f1d3c3f3d9ae2e0dd9db92fafdb67d3361e3b5bf28fb5bb5a74a6fbc60f78e5a661335322f69daff9c7ba235cbed041dbc032005e9e355022e07d7da4f0d4e9d3f6d6e6fffcf0478bde343c397ee1a070daa0e979a1afc9607e6643660f95c7157fb9285825ad6f3539859627f7f2b888ba25af72d5fefcb800e5cb378d1c1ae9f7fbe90bffd99c29150b7d55f2dc8a4687ddeeece29d0bb77352c2006ccecca70d5a0e87e3a06d9bf61d0570cbe4d1b4490fe0f0f98a47174c5bfdd8029990b7626366655d9b8e1e3ee7f93ac029ab6978f8831f5432b16bb1cae307cba2071e2b6b049079b688d6378383ac8a660095f5cdc5458500aa8c8e277f3ae2561fc421310076e5963c73dbdc8f1ebe99c7e5bcb831b3a1a9c5a58681c313347295efed3c0de0c5bbe6f938741d37d71fcceea86f73d222ff385369d2b7f6d0b437ec3dbaf2a7dfe303bd5cbdf7e5e63d9ffcb22342ade8ae13e87855dc1d9e3b812e96fbb1da4e636181c8796491c3e180f3a7faccb657a71477dca0fee3d29246c5068e8cf60b960b9d234e8703ce5cf449f6389c57bef94d67b23c7cf334beaee189eff6bb1599b3ac9d2f0edcdad78c94f0b226fd4b9b8e3ba7fb65d5f58f7fb3c72db82d20fea12f77eacdf64e7d5d736d5b77e492ba9a697df0ab3d5d3b349944ac5648722b9b5d6b3b0100c7ad80fbff7bd35f9da4c3e1608cadad798728b14c1e3fc4da5c6d2a3f0b2e579130942b92b6e6eee7f004ca01631cb44d507b8e6118b3d41780a5b694c313c86206da9aaacdd5c5004401115c9194c3a57852256bb3188a7304de017ca5afb12cafe31f422fff9040ffbab2425aa616f80431dafa58295ba5b31a20b0b736cbfb0de549e40e86669a2a15e68646bd15726fdaa0a50d5a917f044fee652c3f4b8924f2b8c1accd2c6f2e69d0b472e46a5adfc2584dd2c801429f20e7e4f5b6a1d1cba724cf7be6adacb27a797c3a6bb3f49c3b55ff916a87aea6f0acd32a5b4b9da5b694a7f0918426485acab47a23571de2a0edd6c62a8177004fa6729ee9e2c9bd4d17f2857e6192f044b04ceb99c3acd5a44a9b445114539eaba9af1605440afd42391caea0eebc9bdfe4b169029b416e6ed253128b40616daeb635d78a8363383ca1a9fc8c5b9c0f3df0c0f884c0054fbf460925f2f8f48e7781ce82d39e3ec0a1f8aa0163edfa6663496e2ff6f8863a5846d65cd262b470bd83c032d6e65aa14f20572831969e16a883a49103b83c7e1f6b45dffd2654078b43e39d31036069bba5a6586e6a140885f55670385cbbaec541db847ea1e29078c6d022d35c908b450d8cc0cae1d186569ba68eaf54cb63073bf3ee60595adfa22f38e1601959ec209e5469aa38676dace4ab7c65d1a99448e2fe22d266d51764d206ad327934255130a656d7cac377d82511fd85de811d2b1f34e360da9b216335ebce1e76b0ac3279b4442a758bd9f9a48361ec4d954a639dc6ca306215ad6f993f22e9bd654b5fd870e4ab6fd6c2c12a53c6751c846369bbb9b2c05c5b220a88742e5a3818bba9e2fcd818bfb5ff7ee2f35d592bdef928c8cf4f27f6717028736de9a44189dfbef4c8e7bb4fae78fb43d7eb601959dc6087ddea6c680275885c7ba153b1aa834581510e866ecd3bc418b59444a14c1ec3a17886921c6b432587c757268de4c9bc688346da54ec1a50e01dc015888ca5a783fdfd0c62b5dd014b4d09385c79c210c0d19a778843f15503c773f942bbaed95098c5da6d92d0b88e2a240b4d60abf2758db583860eaf67840dd515b6e6ba1e9ab6d02f8c2f12ab2ccd1ddeb3eb5b843e4122994269d776db09c4a73b8fcb772a5ca9b2e3854bd74ea0ada5b8591e16cf93fbe8f28f386f5142b18365ac8d558692537cb98f3ca12d15daa4d79edacbe17055699328a1b8af7da6ddaa3d7dc041dbf92abfb6211dc55b3a6feaa401d10b9e79ddbd39b38cada5ce50947db1dbf40914aa43f4052778322f6954b2b9bac8da5423f20fe7ab7ce5da8aae65ddb57df10582062b0770d07a0d633573284ad97f948365bbf400417ca55adc54d2a9aff3091478f9ebcf67764a3d2042e01d286a2a71edd0164d19f3ee23b7fe3f7be71d1f4771feffcfeceeed75f55eac62499665cbb6e46e70c11807534231a1f3230e2d710209248440484242f2753a494848688100019b60aa6d19638371979b6cd9c69255ac2e9d4ff5ee74a7dbdbf2fbe354aeec492759b824f37ef132babddd99e77966669f9dd9bdfd3cf96ee93f5f7935a0b7ffaf71fca7d75f008fc211d2ff8a0696e5a312dcfa7aa2d17a1f3361781de13484308ccee48a4a773557c93d352084d11a0c69b90caf973d02e17828b2d0d90680b01a5d5226a3d533bc9e701ac2b2be7f80d79d91757dd0481dad9e9e0ed6682eb776128d961097262ade3b7208cb91a824abd3e1eeeb529c76c2b0da8409baa4cca1353d4258bdb94b1b2b4add727b3361185d5296ef42f4fab2fad58b27ddbc7ce1fe67df50246944ef1486b5b8fdacf2beb484d59b7a23d3444795dc5a4b184e1319a74d98a078fafa3d62fa5deb9f156bb4deb9b54218c110c3f09d4297853345f131c9c17163f5660fa7696ab7787abc4fc32a7c74221f9322396d0165e6a4267c63d1e46fff738b2289b228004a50c3e909cb81205c7ba2936cee648fad4669a9212cc799a2f8b854b9af97e1f58317f861f68ad1c42ddd77a59ae134baa46c8755d367a99305b7f7e1297d6a8e363193e1752432a147705bdaea64c1051042081f93a44fcd1d700d8a2cb9ad8d20449798a18988211caf4f9928f6f648ae5e4f8f95d1a405de9220201a9ee1f5204c70e7f9f50fbf19f0b294cf2adbb69f6af35ed378e776acde4418e68915d302c68d774fc2b25c7472bbabd7ed68526c3d84905b572cb5f4383796d52892c899a3fde62bb22c3aba195eaf8d4d617546c2308acc6b639309c7f6afc310e64caf1bbdadb2a70f84e1e352fbd75afcb7ebd3f238638468ef62783dd1683953944d147c9b551b97e68db926320eb2a48988252c471846638e156d9d8c56cfe88c84655963a4adcfaf3f68e3d324a79dd11aceb821db9b148f1b0cab4fcd61f526d9edf4f63742086118ce14a54bceee6bad7577b4ea12d2195ec770bc4c18c110a3709d070f97e99232457bf7f0435b9f924318a6bd45188c9e362e4d9f964b588db545087912506d5c1fd44e026a96b7b7305a23a3d1f9be6489b01cc3eb195e3b780b861086e1f58490a1e733463e6712851046a3934124a7cd5b546e46dabd4b8bbefd8aea7026834378e0b4c98361bc96301a9d2e395b74f4787adaf998249b31d1633b1ddcd6eae38b80d59bb5f1e942f719c2b0ac2122e00ca08d4f67786dafc76fccea1226288a1c587bb7958f497245a6b95aaa074f68b7ae5862b1b9361cae52e9ed74767e8e67e7dee98e220a208470bcf727c800f13e27ac78dcdebf09218a2c29a247f6082060389e701a1046113d013f14212c4708a3481e108630acdf1f0c4b1846f608b2d047588ee1784591a128b2dbc968f5beefdb92458f220ab24760389e6878c2725064d92310c2f44fd124491605c5e3269c8670fce095a997e2b4286d6ffb86cd5b4c13a7f3d1898a240eef1d1445f6b87dad2284211a1e8aec7599b02c613584e5a028031e318a248261194ea3288ae21100c5fbde25451265d10359261a9ee134c171230cab288ad74145f2109663345ac2f190656f9406cbe418c82c2f7bdcae961a597019b30a7ddfe1a5c8b2ec71134288461b7c6c487bbca11305c27284e5bc57638ad87feca87a45b871537b219dd72ac5e3f63eaf44586eb0f6c1c6556489d168bd4dec5b82ec712bb23c7888a2288ac7ad280ac36954ef70cb1e37148570bcf75c13d07908cb79c315d88d596e3008deb00f0636604f30ac22898a2828a287e1b8ab66e49ceeb01f3972d4d95869489fe4fbf3366f098a22331aede0894f91a4583d3b272be1546ddd811ddbb4f169ba94895014c26a126322e664265454d71cf87cabef7646c31396f3762d302c6139c87240b37a23267b04efcb5cbd2bc9deb07b9bc9bb834a7ff0f625421459f64689d168bdd118ec6f03c78ade0564c27290a5014b2459f4409608ab91fa1c0caf1b66687b5bd0bb51113dfd96731a42c8882701d5c60d751290454fb0e58410c272415f49b2281086191c6b8aa2c8429fdf3e618f0ebfe91a436486552429c470961431f06ce9ddc268786f8d8aa2301a7ee0ee5b605b871a5f0caf03c34296bc510a6e71dfd3fbe098edf72bb87660f084c66af8aba6679d6eb797951d09eeedffe3b3f3f393cecf3d8aa2f8f63f459655afe902760b7f07455124a7dd7eeaa02632ce30617240b21f6d69e73214a1ee86389b4ee9123335917117e0c5efd9c4cddbe1433522c6e567bc23992d8b9ebeb6d3be4fe412c27011b19a889880674146dc73a84c8fdb517344ee7399f2667206737857d592d0d1da5b775c1b9fa64f1bba37116afb85dfb8a31ddae16f0cf736e2e84f02e7e6e6e6391bce5ff6201abca21a6d6fa78bedff45ab10fedd2b549f1eb11786da8110c2ea8cc6cc29a37a34e3dce7f2307d64f56653f674c27117e642d6d9c46d9863bfece6182c9fe134baa42cbf871c09210c13fc5ce7887b0e2dd832ac362e8dd16883efe5873688e14cd1868c2901af1f0fb9fd826fdcd10eedf0378669f9184e02e7209ee772389f9b73da587afbff001c0dc1b8f53096d544c603ca7f81c80f61592a6cf0a512fed42dcc3d09cbf13149a3d2c22284303a8396d7792f1146dc4eb9484f02ff7dc3790cbd9da6f32f91417ddc13addd8322bea315e11e77069592bd1f43c91bc718785981afd4c7e0cc604471eb58a33623d6d4dae36ced19da41af617313221c6eb1b63d50c239545d0843487b7825ef00741c5b981a5d75c6a65a972fc1d2d7e74b619a12306519cb5c4aed441f6a3b65cccb0394f3dedb693a1f7fd4f4a72d0faedde71295d18a708f73fff0514a8602c2b2aaf2c68b7213ff76ebbc4a4bcf4d2f6c0f28614471eb47af987ac7dc6cafd6f2ee6acbf7feb3dfe591ae294cfbd93533f41a0e407953e7836bf779a5b8cfb2ae1195bc7db97a6adacfae9961e0b987ffb37fcb89a6e14f4901d2d70cc39c1785690a8542a19ccf74eeab8fdb6bb7dd7f59e182fc093fba7cd24f3e3ad27f8b70f422dce3c2a052b2d865b9696ede258593ae2a4c87bfbc7152847ecdf53309218a02d16923846574fdcfd08ea88c3e3f3bfeeef939ef1da9fffba7c71764c63c75e3fc55b3d33f3ad6fcf4578b5b7b9ccf7e7ae292acb8eb674efce1e5937ef0ce7e86d725471ac65cd7a4c4c81195bc7df97ff372b41c7bfddfb6d4b5b57b1c76d610e195f1560d548010fb255373ce8bc2348542a150ce5b3a0fd6c7ddb5b5e45f3ffd4e24111cd565724e02d444b8bd1accff39747a6646dc65939216fc76538c810fd6c12d488efac5b5459b8e3715a646cfcb8aafb6da7efcc1e1ef2c99bc2837d16273fd62e3d1430d1d00d2a20caa0abe834ac9d299ba5fddbe7ad0e6417963de18f1fb95b3bf68ed9e961aa3881edb893dacc16cce9be57d4bf388cae826ad06406975eba9f243dd27dc4fdd389fb15b8b23450dcb3cf7d917ef6eddf56e47e357d7fd717282c95175c89c35f5f7df5834e6ba9223f508a1e47dfd57affdf6f2625fd5f0bfde3a2f27c14c8035d7153df8db173253121ebe63594e528c47eedf2135cae01bff7b5edbfdd3aba76f2eabfefdde4f35d109d74d5f7a5e14a629140a8572ded279803eaec61ca3c4a5defdc2c76e6ba368eff2be19e6e6f9055b4b8f9655372e2acc79e2caa9373df7899167f293221fbcac801054b6f6b0b2f8f25d4b52a34dafefabd630b8636eeec438d3cdffd8aad7b0f94991b90911ef1caa296feab82427e9c36f5dbebdb2e5932f9a6f28ca7ceaeae957ffb9c464d4bdbe6a91ac28ffda5b55941ef3c8b2291e8ff0dabe1a834ebb2c3fe5f91d15a2bdd3e9b0e53ffc0f4d44cccb772e98939b36286ffcf0b229e931c61bffbe75e377ae903d7d92cbc168b4833f09f6554617b4fa41716bd610a14bcc242cbbabdab2bbdaf283e5d3261bdcf30a27d55abad6eeaf963b5bbee9f494b53a5c4da716154f6518a6aab5c363ebf8eea289e9d1c61bffb16d6c751daaef1854f23e58717a7f43e78623a72bab2d695186bfdc75594397e3b1770e142447dcbfb8c06aeb7def70ed77964ed572ccba2dbb784679e187f736743a1e5bbfbf2039d2bbc3b68a16dff87b85d8cb6323f5a9392673c41505a9deb8150c284cdfb3e811000dd6ae557f7e675355e796bf6d22b2f8d0b269572e280e5098be67e1d09e751d76ce14e5ab302d4b9e97ef98e7db0474c45228148a2ae7faa90d55fd696d5c9a31ab50139de07d5d46b008b7e8e801e0740b977ee7ff6ef8f9f3454667665cc46bbb2b027470e53e07805d954d8ffee1c507fffc06804e9b63d5cffffcc3573636b57767c6991d95a557e744c79b750112bcae96ea2bf212749a7ea564466b208648d123faca1b5f3639edeef9398fbf77f04c47b722cb843001ef2e1851193d42a79115252ec2306f4a6e4a5c3408139f9050d5d4b6f9c009abf5cc8d97cd7be989077a5cc29f3f3bb97c5ed17d2b2e79ec9dbd63aecbeef6dcfef2f63777052a792bb169f7bdb069f5eb3b7d55c3fffec6db4eb7e011c5bfbff55e4373ebddbf7ef98117376dd933b4435f6b2d00a7dbed8dbfbda90a802cb8fb2c75cb7263cf8bc2348542a150cee7ec3c587f9a61b927564cd372ccd31f9ab4090900be680a14e17677b400f8fcc4696b7303212463e164a8097b9f6e3d0da0b5cb26745b3b9ddd00da7b1c42a745b477399c2b495c94e2ecc930120449f08a67eaae9b9abcb7a65f045d1b9f46588e30acafbcf1372f9f6eebf3ac9c31e1fa49d17aad263d31eec59f3cf8ed3fbd3ee8da88cae8dfb82477616ed2a36b77ad5dff5e8291dff98f9ffff4ba39576eff2c2231edff6ebbec9aa2ecf2c6f6c7d69756d535fdf2c16b6dcebe9b6666df3825716c7545ea358430bfde7cf4d13ff82979bf5ffac5e269394bf35352a2aef4d580872c011ac2723dcebea573a65f51342925da34b883e8e806b0fd58ad37fe52821e80a2c8a2a367e5bc82e1c5e3bf2485690a8542a19ccfd979b0fef4924949b7cdce9e9511e796fad58b3d921c20c2edd50eea757ba0c844a3edd64401483070013ab892cb01f4ab8471a668f4bfcb93250ceb2d8ae1f52d67ac0852f04d8c8a989397fedec16aaf52b2262ad1fbba695f79e30e479fd3ed999a1c392d23916518bd56332337130a88ecf1ca098752466714992104405e4224807d558d8aa2b458ce58bb6db969491ccbbcfcc08a6b8ab2ffb5a7eaf617b69eaaa8703654b4db7a7b05a930257ab4750dbe3eec818593b63d7ce59d97062a79df3a25f6ff2d98b4ed8b265fd57045961445f1be58f4eb5fbd62d5b2d99f56b4f8eee05de576ba056ffc0d69b90008c3a6c547cfcdcf7cef50edb95798a6502814caf99c9d7bf5711fb9a2f0dddf3cf6f1c1139171894bf253013cf7e97157638510d37f2a0f16d21e38bfb39a8898ddf53ddd4ef7aaa545a74e941b13270ceae0e61a150050400861bc1a3b8410c20cbef798709a0d3b0ffce0ceebee5c34adb5a6323a32e2a9fb6ff9d7a6cf6d13a3eccebe2d476b842e0b678a6475c6e0e7ad56bfba8de175f6aa43a2adf3d4fabf359ce95c7adf8f664ec9ddf47f779e6aebbef185ed1f1c6d58bd38ff075f5b1ec1ca372cef17b72ececbd8f0871f7977d85f679d9d19f7b36b8affe16c5972e9d73292e23e3fd970cbd239b327a6d85c02cfc83f5a922dbb933dca9cefacddcbea8e396aca46559737d77a2f893ead6cbd73eec4ef2c2d88d2a2b173cadc9c24af92b781e70074d87a359ededb8af20140148696b2098989306348567c7007bff833ba7ea5af9b972db0bbdcc1e2f16f174cbcac60825737bae2e8f1eb16cff9dd4d73de3d5875e58c9c0085e9b7a7e60cee396b4ade60ace8c8a45028940b3a9d0378794f754777cf439717deb47816801e97f0e74f8efe67dbde3e4bbde84cf299990589707b3fb19a9e3ecf77dedcfbf4b5d35f78e25b004eb5753fb17e9fddde035f41499f837c73f3e99633dffbf7e74f5d37e78527bfed727b769d6afeebbee68d8fde5072f4745f9f5b72daf56979215fe84f08a3d1315a3da028b20445467f9e5324b7cb2af4fdf09dd2a7bf5afcd37b6ff6889257dc3a97f4674ac9edfac7a7e5317aeec6e289cb8abe0fe0b38a9627ded9fbe8a2490022f4fc6df32679f7740a9e3fec6d566469b4752992c845c478c375b0bee387ef943ebc74f2fd97f5ab727d56d1f2b3ffec719f2ebfe9f24b1eb96ad62357cd7a77d711af6a386187de3bb676ebeeaf7d65f1c3cb673cbc7cc6d00e0ce71bffc116f9dae50b36941e73da6d62af4d9f96f7d6c1ba9468d31d7327fee4bab9a2247b75a33b8fefcd4e4dfcd68dcb7fbef2125956bc0ad32d873f4f4b8cbbe7ab97fbee99e9a3304d0861781d1d9f140a851226e7478265501f576fd0b73a155912455b0700434681363e5de86a5311d29e7199c7de39b89db09ce4b4050ba29bf3664a2e87a3ea301f9762cc2c54444ff7914f59bd29a26001809e13bbe5bedec8e94b148f7b507499859c1bc9b5b949a7add7d375c6ab943c64aabf76b52289dea50259e8eb39b187d168cd7933658fdb517334a4327ae65446c33b6a8fb13a83696291dcd9142574f6c8bc688c157b7bdc671ab88818ce14ed6aaa82226ba213bd3a898c86d7256579af694651978f0abb224b9eaeb660256fde1c3d213dbdadaeda57355c131967cc2ab455ec5724317adac238c51e282b6e8ed6c6a53a1b2afae3cf3052b7254be96871a1c72d79badbcfbdc2348542a1fc2f734148b00ceae3b6f7eb4f2b44a3d525656ae3d308c3aa0b6913e2bb9d10c2aa0aa26b0db2dbd5afa54d0808bcf2ccdec93aa3e121cb8461197fd1e513bd51bae46cc96519544af69de5fb6a570fbea70500abd5138d9668b41085c1e97bb032ba262a4172da07a6b61c139b6e6976099d16749c01a0894ed025650b1dcd84e320cba2a3ab7f479d419f923b28cb18665dbe2aec8461395525ef941caba204a8868361401846a355584e61b860597110060ce7db2e3298f23a0b678a94dcaef3a2304da1502894f33c3bf732a88fdbaf5a3f201dad4892aa90b6afc0767f09aac2de0392cc0387bb07d5a3072f1d08218112bc0c2bf6f6042825f74fd0d5e48d074bf6aa770faf8caec8927707afe4b357745cf6080ca7219c86b01a45120345dc7da58e47535750908394bc598dd7a940d5704ea3889efe50abca8ab3eca0e0ba37f8b2470020f7f50e2f1effe5294c5328140a9d9d9fff743e9817719ea442032d09a1943c66bfc6269dfe25d5151ce4f1b2f03c2a4c5328140a4de75ecebf40ea85731e1fdf99df98a5d3cf595de365e1795498a65028148a17ba7449a15028140a4de7140a8542a150683aa75028140a8542d3398542a15028ffeb043ed97eacbe95068542a15028940b9cc28c643a3ba75028140ae5bf0a9ace29140a8542a1e99c42a15028140a4de7140a8542a150683aa75028140a85a6730a8542a15028349d5328140a8542a1e99c42a1502814ca59716e15d53cf6b73f6fe8020330269e11245190001105b37216c669c22940f248d0b0ecf98e9abbd3f24e1573ebdc78f6ac8d947aac6b2be49be6266ac32bdc17674f4fa37d48253d363e2a4ecb009e9a2acbb14ec1603217e7c58717d740d76ecc95dff5ff371c7bc69de0e05028140ae502989db39aece4a882e4a8e969fadad39d888a9a9e1655901291a20bd30c61eddb478eb9cf7fd424a76d4345b7733c8c74dbbb3754d804bfc2bb3754748753c0e9c3a79eda56f35a69fd6ba5f5cf7f7efa70b704b9f7957f1f7e724f9786674e1faf7df0cd63759ed1bad6bda1a2dbe9b46da8e8b6f7ff1bae3de37fd914141c0a8542a15c00b37346376b4aaa376b341ced98323579cae8e68eac86633417c2fd01860060cfce484906cb40ab092cca9036e9adbbc35aeb38d182d52b672f340d6d6a2bafd822463c7bf7e438004529a67f95fde754efa3538ce17be6adddd9520d806500c014ae3de37ac1142238140a8542b900d2b9cfe91a80471efadcd5d4f0fb6dadb500a05b7de5e485893ce039b8a7e20f554e00c9b1f13fbc22b6e4fd535bfae46d6f1f985290f75091c1efdbabb293fc33a8ddd2faa7ad0d5f8800986b66e5de3a258a0dd83837ef8efc48b7a5e9d51aa4d92c6f5844805fb5244b5f7bfab90601c09269b9f716c58896a657eb489ebbfd85d37d000a26a47defb2543694d931ae57def5353252cd2fd85b9a7efd49732d009d69d54480f35b4b76b737fde508f966a1f2660dd29c96379a45004ba6e4de3b2bc62fb1c9bd95a26e8e5676bb4568782d03003ddd42c1b4ccb8fe3df8cb8b740f9fee96a618070f1cd9dff6a6bf1c21f716f8ac36b437fded08796859c2b1a080ab7b37aac80739a8161ccff06d4da1502814ee423042ea695ebdadf58685537f91ad6fada87a74f331f3d766a6359cfac369fd33b74f8947dfe60f8f3dbcd3f4f2d579f8a03a73d9e45951baf68a937edf7e6a7e6b59fc50898ed6fb37375c3337ff89fc48a7a5e9fecd955189b3aed69df16efc619e59e8b4fc6c6385832dbccb286cafb2ce2f9af4c695118de5958f6faf4cceca7cf5ee44a1a5e1fe4f4e2f2988499784ed15d686dccc17ee4a34787a5e7ba7e2fecff897278532bbe8161f2355fd9a215beeffa479f9dc825fe49b6d96a6d59b9ba1d3fb45a3cf75b819ae02767b95b578cac49797c649d6a6fb37576565ce5a1ee793d09dae2fe07cfccd03de4f05b9993f5c9008a04b18ba4aea13801e9713300f162e8de46f9feb70333c0524c09ed68a5301017f63b6a0e6dde8221fe8a0ae3d38381d4155fbb5358542a1502e9027dbeb4eb42131f3e66c2364a4e5e7ae8e12773438599681e86aeb11a0315c7dc3f4a70a4c0693c1c831095106b39609fad66f3db9a6bc05b113eec88f64017362dab30bd312210f6ed4328c392ef989b9a6edfb5b5c90819855d3a2583099931393c1dd333f510b985392aee1181700c840c4c30b12cd0c586de4aa6bd2d0d0d6ac0040bd8ad97dbe46aafa5557d182c409abf2cd2c109d98f6cc2c1344d9bf4d084058c840d43767c519189813936fe1d0dc2bf9eee5b4b92274316b6e9dfdd6dd73df5839115575cf9fe84dc98868ad38b5d32200b05b9a1e3fd1078ef15fac1ec9dffeda03ede18302aeeadd28231fe8a06a70866f6b0a8542a15c28b373f01c2c75b7fdd0c8ced80000200049444154ab6e7043414f5ff4dc494f3aaafeb2f1a80d8830453cb42caf7f891e00109d1bfced1022982593a2073fc665a7c60195a7fc37264745c0250143d94b96f55c444affed7ca2e106d21fa7350c1ea6e3803e9ba80f65b637a49ed07eb92539397a683a1e1da70f4ce7fdc628c9a93103b36a590078ffb46c48c97efe96febf5953dc771658577fd1f5d075b9bf9b5bf5e8e6b2e70070865b720deb4e07173eacbf21880a0a38a7e6dd2822afe6a05b50094ed4b06d4da15028940b259d8b4e213977d21f1744793f7635b5d6684c5d2d1dc68249cf174172f7557c51f5cbf7ab9fbb3b0b8037fba87deb9331206e6f723c90abf37e683a517dd49496e3bfd1deedb089c14f599181882843eb17a2c70df467740911e0bd4fe24b6a667bffd684f68bab41abdde333c976830bf140204b86095a4de9d177f5d98f4e33fb6e74f774f7c465be7577ae24cb2cc3d4ed3954929e6a182ef641fe86a03b28e08f64a9b95f339ac80739c8412538dd23b4358542a1502e8cc5f6f49cd8d6aaaa7d9d1200c9d1fef4b6865a8974d6d53dbeb9c109b05add84783d204b20108513560180dab74364e625a2a1e6338b0780bbc7f2f4c10ee834be1be1ee79657b77c1b478537f8e1e44510b51f7efcbba0100c2679fd6d962e326b00090a666367c8c54f52b333f11cdb5fd66383b5fda6303379656309ab8c365b5277a2400528ff5f77b6c4b0a62d0d7f9cb8de5279c32cb30cef6e6c7abc43ba746051f3bacbfea04073c49d5bb51463e00d5e0a8b5b5b46fc789b7ab7ae900a65028940b68766e48c97c6a4aef531f1dfc33078828ce9fb83245c3c6e62e79bff29e7fb57a73ea9d9717c681cd4ee1ffb0ad6c5ffea43fce0cfe76086ddc84dfcd723dbaf9f00b0080e2fc895726b22cfc36664f98f0e3a248b458a1f3b9bbcca94e8899a8daaadbca6500d045adb93195b55643c7e8d5cc06e42123e7aaf985b43545f6c7fbcd606e288aefae821450a18e0124df07e48c1cbafd77499a92fffd8ee3bf7cffa0f763f19489f7e61a58a47f37abe797ffe97f3e6ef9ac82853141d70a23faab630039e0dfeca080a7a7f06ade851df9a633c10eb2312ac1c950696b7957a3639fd673331dc1140a850200208ae2373f3b56df7ade6cf178badc12a7e5cd3ebfda763afbdc60230c9ac10c24c912c07a7f121dfcad1fb264777ae05fa0fac6d0389baaeff99c79f58e6c38052748b441138ed9be46aaee008fa7cbad180cfd3f301b3392c763734b5a83cee0538ee4166c1e3960e3b8a0127055efce32f26ac119a1ad29140ae57f8cc28ce40b6e76de8f4613ad094c9606832ee0d62feb33b70cfed67f52cd9a4d6c581b874381280980d9c06bc336dbd748d51da0d1446bc62166ac6aed5a3efacb792daa4ac055bd3bcbc8ab056784b6a6502894ff6d381a82e1d146c57f7f096ba681a05028140a4de7172fac296a9689868142a150281734f46d99140a8542a1d0744ea15028140ae57f329d7b6aaa9adf2faddb59d5690f7a65597b93e548bb8a24a6e491a45156338643fc0eefe97c7beb89b72bec676ffc3946eab1febbd432aca4a95457dbbcf160dd9613d62e397cdf01c0dd69f977a9d5d569f977a9551a1f6328140a8572f1a573e1fdf5879fdcd30e1e6587abee7ffd58a5ef99de61f9f1b6babf7f610b3e6af44ae767298eeed9bcb96a9ba89f12a73d6be3cf3523c9844b3b371f7c7ce7995ee0f4f1dad5af9f6c92c3f17de0601f4174e7381843a150289471e05c3f0ae7b634ad73e8d6dc353d93018a5292fe5db6a74d9894c17b93e5db1beb6c40b2ca6fb1c7a0747e96e2e8ac46a77b6879f614e6ec8d3f87f3f23064c2a5ced6e72ccc635f2b9a610066a598fe55f6ca71fb4ffc5e16abe2fb207e82e8676d0c8542a1502eca746eef72454c48cdeccf137c5e2c4a07beaa3978e23d63f263991d7f0f98527b7ac210111f3f71f4b979774cc4f3ef9edade2747bc75a07846fe0353cc6337de2b311ea4986e865c73a2e6b7073b6d00c0afba7cf2f2349d9ab0b78ad4f71834d47d69adef406cca8cfe1f71f35f996578b0a2c73dcdac1d88b68fef9396c11260a4db5f10fd2c8da1502814ca4599cee3f2273f97cf009eb676675363cb1f2cfc63977200a4cea6274fc84fdd35417bc01a788cc63ca288f8b888a3fba8714fbdebea3cfe83eacc6593e746e9ceca78afc4789062faab05f6270fda1ebbbe784624db5655f3f0b6d3c5774f4690b0f7b36967c253191f4143dd975ebb589c35f4227773a219075d02a01d88f6a0ef459ed66f6d0b34d2e023883e3641770a8542a18c3be77e65986101789c259fd7be586e03383303c0f9da47cdcb174e99c440ede935664411f1711147f751e36ec5c0e106bfc5f331180f55c5f4363eeafb974f9e11a9913c8ad6a8079c163782ed64c353191f5943ddef128e4b89e4073f692323b27521a26d8e0e36d25710bdfeec8da1502814cac5383b973c1e6834ac2672d5caa255900f7e76e8c91d96270d4d5b10f34c12d3e5ecb33a659be8ec7247466b7defb72a1856447c3cc5d1fb75d07d6a3c4be3d514d31dacc6525175dbb63e705cb64e06384ecdcee894b054c6c3d550ef77586ce91190d6ff1a55778fadb62f608f7edf599dc67220d0483fcede180a8542a15c8ce9bc62d7914dc9531ecdf76637a6a820169bed2d13f86493e3d9921300da1d32d0fcf467f8e5956901efe81e46447c1cc5d143e8a09f85f16a8ae96d872bde10939fbb3d255ac3003d3ffe57b5a866e79a2b62c251191f85863a603473874f77634aff1285dd62475434afb66765a98a917ed737ceb3358642a15028e3c2b95e6c8f4dd01d2eada974c800e0b1afdd6e4dce8dbbe2b2e97f5c59f4ab9545bf5a59f4782e179135e98f81b97c0411f1f112471f54e3368fa7f12a8ae9c90c922374d11a06103edb50510b4052b1b33d4c9571750d757551f0b4dc2474346d6c1100c0d9fdca41e79282b850cfaa051be957d4591b43a15028948b72769e3425ffbb1dc79f5adf2fc89d9c98fc9305317e133e9631aacc8dd91144c4c74f1cbd5f8d1bc2f8198f60c5f4643ba3ffa8e6b6aa1a000559c937a0f59725752f5f1368e7acf8bef054c65535d4e58e56c736b86ecef57b5600a6c46717d81ffca4ec0dafbfb9998fe4ea548dce9c9a166ce45fe70f09a2ab2abe8732a68d2a94532814ca97c6f9d13b973c1edbe8d5be4714111f7f71f4f1303eb462ba64774aac8633f8d7186c67b82ae34132e1473e3b5496316555b65ab6963d5d4e89d3f0e611dc5037d28f2f53d09d42a15028aa5c107ae7ec98d4be4714111f7f71f4f1313e94623a6b36a8d4186c67b82ae3818679facc89d766eb42f8ab893685e386ba91a3378642a150285f225420f54be7fc29a66be6cd4aa3f1a75028149ace29e3b1144115d329140a85f225436f6c5228140a8542d3398542a15028149ace29140a8542a1d0744ea15028140a4de7140a8542a1502e72025f2343a15028140ae5a223f0876ae7e6ad70140a8542a150ce8680b7c2d1c5760a8542a1502e7a683aa75028140a85a6730a8542a15028349d5328140a8542a1e99c42a15028149ace29140a8542a1d0744ea15028140ae5fc72de0452a55ef98b1e529842c2d9f9e451f1641ff44666f95486050008ddd2c7c764731abb24eb6caf4824511124c26bc10659b8e5a82cfa6c351b494e169b661c4de13679cb71593492af4c67f9818de368fc88410e70010034e42bc543c68c7bdcc24438d3ba796775598ba34f601353e3962f9d5a90c09fbbee27086e89d1ea39f6eccab1941fdff0456fd1e299c5c9434349ea6c7effb3264f74ca8d4bd3f9f334be843375ef7e6ad1a4a45dbf28951da7200867eadefdb425b2207fc5b418bf72c6eaef680d18af563bd7e7ba2fd3ec8b2b266763ad64d9f5e4dd3fab8abee677af3e9ca505dc96fa7d473bbb3dfa09932616e568c228c163abab6d386573f7824bc9ca991967fc6fd3073f6ffe9c3a2aae0717563a77cb2555b20d009449b94cb6160024a772c8a244e8b124eb2c0d513e2df1ec76e3f66bf93cadffc9ab472e6d9103f6de5e21dfb2423339ec8c2e38e4d216195ae6b2e9183cd38d9ff123d5aee602c05c568cb34e3321e3160edd95477ff056dde0476b45e3f18ac615b72d5b39c9784e7a9fb0f1d9920fedfc238fad28d09f55413d4d2d7b2b5c51b33dc53e43c9ddd55a72ac0d60af3e7fe95cb4b76fad684305bb7c51aa799c8220da3bb75658e323b2564cf31fa063f477b4068c5bab9de32bab2fd3ec8b2b266765ed89f7ffb4b1e264deea9f6769e1ac786ffd0d3f1007beda5bf49dab5e793871d81351e3fea7d6edfff7e0c7cf77227fe127d74ccfa4e9fcac387954dcd72cd73b11175e24db6a25db400a39d0a864e71000de2921cf008024831dfb2c97685800441b7c7537700179c94c2ecf006bb3b4a1560194ba2e65b291845b3c1b72e378181f6eed93b3d9d4fe13ad22b2cc78e498d0711b99ce37fb73b9e9aebb8a3245ebab6f553402256f1d5ffcd4dcb873d107190d0f80d59d45202449665946ab536960c3c419bf5e9d0badde7cfe06b6217dcaaf56e7b206a3d96f6e24b33c33f620b02c001dc70eba7f76fe8ed6807168b5b02791be811a79fbf933fbdcc5e43c5b2bd66d5eb307c02d571541acdee693cb01a0ecaf9b7e3be5ee9f2c0fd53652c716df5ceea562e7abb3a73e9578712df55c68e95cab23b9596c6e977c440a6b1658563df456f993a724570e3778612774c91f6d130f75012c593697bb348500106cf2c707c4435d001017cd5c358fcb3642b04a2fec92e273b95ba63280b26fa7b8c78e954bd9439f8a954e00cafa8d426a0e77cbe4e0fe402667316940462269a8f7944bf076a3a6d3e2c6e372ab1b0022cccc8ab9dce428083679c301b1bc0b00921399ab6771b103a5f0404fbdb8f684d22b61f114325ae35fd9271b6389c125977701204be6714bd2080057b7fc61a978d20e003999ecf5b358935aeabda4984d1bfc242b1f7deca99270c5a59ac208b82cd2cbfb254d2cbb6a012b0595c6ab569da4bcbb25206ea4eca0f8599d6203c0625a3e77dd6446ea96361c916162ae99e5b7b66fafac3b0c00ec5d0f5cb6389901621ebf575afd5215d079c685383deacb8faffda4aeca2e01884f4abaedc699f942cd33ebeacd9971a69e961d0d12a05f79dbfc159302d387f34ce35bef1edfdb26006cf19c82bbae9a50bef6f30d562971e2e4ef5d955ebe69e77b350e5d6a7a5273e3e10e00ae17ff5492337ff63d0be2820eccd6365586aab1bdf2f8dfdead6974c33821759141a5130b671ade58578d94acfb57e61a10e4ce75395f7c70e8a887ffda1d8b8a631867dd17bf5b5fafcb9cf4f0caecd620c7a725784a3795bdbfdf6a05a0e5172d9e71c7826416103a9bd7be5fbea34100909b9f79eb3585c9dd556bd6d5a615e664d84faf3d8607efcedabce1b47642cebd333d7f5b57af4d8de4add6c31d12b4a6bb6e9eb738ddf5daf3070ef907c1cf85cee677df2fdfda2000489f907edbca197991fd43a3afa961ed3f0f6d6d10a035dd7af3bc65138d01fe0607d31c6cf057523e7fe3a0bf0146554f070c6a0f3678182307700597293555ae79bd36ed92d9f72c8a0384cfd7eedc6cd5dff7c082b43395cf04076aa2516852df1e2a4a4253a54f434853a251d7355c9c55da51cdbc6c3ec897599a7f871713af0be69cc4988e96ad0d02b491ab6e9cd8b6fb68498304ad7ee58d610ca5afc46e7cb154b5d38a618e9d2c77500b0edbe2014bb4f5a56f00c07df3f28d3dfb3f6a070098bff7e6755f4fdcb9eaf2fa32e0cdb52d8f2c0f7527d4e3a8f6fe913ae7c3dbe6a4ecfbcf4dbb2c75c009bb07ff4de9fc3c3c0a973d89bd74323b7f2211c248e752a75cea0640562e60230038e513b6a16f6d5df2211b49360092b2758fa7ac1770c92f6c110f75416b263906b477c9af9578ea4548b2d22ec1da379051ec8acd09b702bd81785768789e44a84f34954f768a1f958aebb679ca2500cc2569c4d522be74486e7563662e3b330e36bbbc6ea7e872cb2f6c11cbbba035900c035a2df24b1b3d67e4fe64deda243e73406e752a85455c8171d4c6b7ba95ea16b9dc4992b50094edfbc42619924dfad356f1a41dc97124438bea3ae9d99d925a50958ddb3deb767ad6edf4acdbee29a95592b58acda9ec392d03a8ae91dadde0a309ab569aa05a3502e3d6765cfca04eb169c9b2422603283f21be55ad484ea5bc5d29af53047f6b5a6bda01c09c3e3bb9bffbf16905cf3f71f5734f5c51a087b3e6f0d3efd654d9b16c51eeb289bcb5aded2faf9fb08b7d5576d7e1638d3bbaf4b96600aef56f1daa9702ba4aede3cf1ddedb26e44e8c9f6ac6e1fdc79e5cdb54bc7882b5c3757cffe1e7d6eefccbfecec60e5cb124d914c51b00003aa33e4ac7a81d58e70e51a3d05af9a3b76a1add889f1093d5d55c52e1525b94b61fef701daf734a5073e7cdc604a360ede8f9e4483b808a43b58d76419b1c25aa395ebda3f4c5fd56ab39e6d6ab264e85b063cbfee70fdbe16a5df397833b1a04636ce4d458b6aaa2eee9dfef6e14fa1aedc2de3d5fac3de6024004675587eb78b5dd29f655d95dc72bda0e0ba6e2241e6ec7ebaf7fb6bb8718fd83e0e780a379cd5f0e6e6d108c4931c5b16c6343e36f9ff9ac76a015ad0dcd5b2d7c6e2c0bb763edeb9f95f6c8befeaa06530a36f8cfc7a5483f039a553d1d5a1860020d1ed6482faa658a625fa35b687278fa6f97581dd60e479f045135509d72a8eda10c1045df862086c8d0710ed58e6ae6a9f852de17664cbc2e1c2eabdbdac5a66b0177cf2b6f1d2e6960d3cd2cdcaef56fed0f889b4a23fea73355add3b2e18f1d04b6e0082dee4fcbe14300303f279683bdf2180060f1bcafcfd5683367dc75a777f9bcb9b137d4e1ba94bbefb973d7fdab0e2e3597bfffd133273aeb00c0706582eebf69adfdfcdd3b17c29a9aa3a64a028038a63085ed304bdbedd8572dcf2a660607f94337703150766df36cedc2ee4a3906523ba08d66bf7f39cb43d9feb167bb5df9b44abed5efd91d781337c7302b9630fa4dc27627b9f60a4d46886b9b7a8b5c3ff4493e65558a4dcc758544d29169a9a4a9423ed4ae0068a990da0144b3dfbb9cd543d9b553dc6f87dbeba65d7e651f002c5bacb9349eb82c63325ecbfce05acee496fff89168039c1e3455cb6e202291bdb198418ff4d21ed96d91ebdd6c76d03da4d67665505a47abc7f7f2980ded726b83ec9a4e8eb600c0bc4ca6e9a427b8b4c62ca252b51418b7fac3fdcdc9e9984b0a49214b9262c1b3ccb26c88fac0b57d8e63011853230dbeebb87cffd3315c74da7d57194553ecec9c88ba7ddd5b6bac433b99539ff9fe2cb3abf9f1df1cb442e815009f3b70f507ab7b81f8fcfcafaf9880f69aff7bbda6b7e254e375cb7f7595f5c79bac872b3a012cbb7951718cb1f8aecb0ccf7eb4be437fd77d4bb259d46e39187ce0e9a244d51a9b8ed50330e617aeb9351be8796dcdf61dee90f738587577c8f405296fd6345695b53a976af71d93007ee9b4184e10831d77f7794fb492c614bbfc2b9ad99c212d4d5bbf777f238009b96bbe516040efd6b5fbb6595977fff99fbff5eb8b96651a9d7547fd6c31a7fefafbb3e2207efecfcdaf37485bcb849ff907c197da3d158d807142feefbe31898750f28f92f56d8e0f0f76de9fe2ed4049bf7e7c6e1c84adffdcb2b641da5cda5e9837e4af6a2bec8e66830cd62efedabca4977c5b41c5539f90c6ac0c6cb56daa467e6fc1d050578d1e6c6aa7029f3ee617a88396a23cf5edc918364a030d01c82521e25cbff78bd0ed18689e9a2f0919b352c289c950c37d7f6edc99caef3e57d10bfd433f583e4d7fe6374fefad82d4e77f36566bc4aac89b5310d469ebf7843d76a4e0161cb6c5032e9105170064c5b000a3ed9f834b22a08539afa07f1f510c994834c6e82823809ea697aaebeb06ce443c40d3f939439677370200daa5e7b7c9ad760068af95acc58c7749392e83890100926002ba007960b9414f780020394964bb5de9ea0562fc16233a874ec1fd2bf9920750ef4be4f6ab35797a004ad94ecf07166c2e978b1790b626b9b44bd97060e80cee9d176bf5440f00e4d2859a4b0197c5af8735f700f1fd7f8fd6f88804c604404b72b538e40607b47629006c16e96f2543c351ad479395cbb9495a787762358407722057bb955dc7a546006676a21e874397165c7540dc32a6b0736d5269bbb2f98008002cb966319716c15c5aac7a892401e83d6de9466654ff86f6d79e3b7c1afcb5772c9acea3e9787d4943c52bf0b951010088cf493603d0474d3763ab3da0ef8a8d4d02006b45c58f2b2a7ced4f9c9397bec9da0800f1cbbc0b230341120540af7ea014b24616c0a2d9de7b179197ced4efd8e31aee76b39a3bfacccc62341eb65bb6eef0540248cac8378175a8ec99b5b07885e570494dcfeb6fef0700ad69d5d71393450030469a0d00605c76ebe5cb80fefc3d21fbb24c9505c7f4c2097100c0e54f8d418315624010d44c8f34f000c017e499d6b7392cdd6ea40040faccac3800e0536281064094466c0541cd6040a8f431205bcdd30cff26563138d848df8540b532fbc75fffd5a3dbea18315021b673c345c9a72142c6591aa61d83cc0b119ff062e235c9a43300888a4e01aa6213734c00a2a6c5a2aa23aca1c44d08eeb4e2ded18d1d3f6bc368f1402e9b92ad0564b7df2cbce7f8e1fe6738f421af06da4faedb55d7c27179f316be7fff6c6bf927f7edb3d4c1f68b3df55fbd322392a6f37381a371685adcdaa56859ef645739d2a25cca02407b9bec0063026c016754a93fd9347529008c03abe8ed564502585169095a1b1043df41e1fa53d2c0e36f4ee5d409a9b40b71e9ec5db359b64dfcfd1e195240d5ca271f7b763bc90d45de07f7c8926c6caf524e1ef19425f0f9188bf1fc8085e6813f622209ba94b84cee5bb31849546a6ae40e1971b2d26451a021c93143cfeb711ac26b866c04c3cc494775a3b2bb420130398fe1439416cb2aaa5507c4cdda81f86466553113252afbcbc5ddedca863279da62e64c47bf25bec7651466604f05dc6d6fee39b37a410280dad2933b3a5c004c26a666eba1920621bda8f0bbd764b375871f7ebd11032b813a8db72534912a57d55c7c128f0657fa9c594f5e952c09ae8a234d67446d028f539b8e360eac13bfbca5f5b1e5c9fec6ab1f18a7e951ad51142500078fb4ac9c9809b8ca8eb946585edaa1e60e1bb3a4883f5ce6faf0d36600f317a4f3c029b53dcfb4b89226e53c7175728cbb7bc7d6231fd6385e2939fd689a04001eef3ccef5e13fb67fd8c53f706d1c80f4b468d58edc58d9ea5c9e60002c8d3d00fa46e8f9bee5cb75cd2e0051030ffd3556b6da9727982177d9c26d8568fba960831f5abdd0d7008b9aa7b3bf3129b8a9070c1ece482faa654e5d0a008db5ed121258c171da1d56a0d4b60f674070438c1467bf760c362f447cb2461113c137db0e9714d487923eb8d38e6eec048442dda3dbd25a2dbdd0ead392fd4e36227a017cf679b9f38ec9f1b32f033e073edffbdc96d86f241ff8c73b0080ab12d37452f3aebffdf3933e976ece030f2dc918baae75b4bd535d7304805df7c69585b17de250fe0b75084de763a7acd4d396c0adc8f27b62fc78b50c2022857b64417f46ddb74dd8dc858335f27cef0a98537e769b3895550eb503c0ac6c268d53b4b592db223dbf47992029a5ed00b0288f616d3200d8a5d7f6289a0eb9ddf729090980b2bec4336332bb22277836a9bcb649d00290e01d5919598ca14f0114c1a5b4344ae5e5b277ce9692c30c569d22c887ec0010efbd64d69285d339ae4dd86ac7079f8be97346673c6cb26ad0d2d309ea94f63af11d30112ea5d4a280657223a597f6c860991fdc30f8e34e65dd46df9b63e4ff5dabc9cc66d1e81dd864760a0955dab716846c32dfb84dec1037340235ca75538877b6161149a4334396f83ea0c726e7ae2eac7dee987078cbde7b3fe7d379a1d10e00e90b0af3789c020ba0cf666fa8ac3a50d2e83b3b1f9ecc8214ecaf69dc5ffe2abaa26c2d25152e6853a7a4387ebbdf01e8575e95b863535dd59efd25792b56644a1e0180ebf967b72cba6cd60ab5039fbe4dfd498acc6929d85f633d76f437e8cce8b16cb58f6897ba3b3933335056e59d342dcc3587dab3f3f8d157ca24c45aefbb3cd17b968e4f8ac8999563dc73acb7e2d86fd67767382d5bdb042032c91b625152cb184047ddd3fff4cc8f757c784c00b0685a2ce0178495c5436bd4193ee5e778da4b6a24805f312701edaddea29efc67df7c4dcfd61a09c092a278b8cf0cdf0abf7920c7b837d0e09448a9cec780c98d2a9efab7bc9fc1d78732d2870eb5e8e9bdb9b8adead9f54ebeaeb931205ec18112cfa86ecf300c1ba5a186082bce836149f5b6639079aabef061c6a4bd35cc4c3e4c23ce5a9019dc69334733760242a1dae2624be5d3af37429bfecce3c5be8fe74525e6029b61170068a77eb570e153c776c2f5cf6ffde79f038b9dbffe6e8a16ceaeca975e7e1140eaedab7d2b4ecabd09278e00683e7ae7cb4707375f392925d25da97e087d146e74f043575f4a7b8b72b24bf1bf84938f7601c09cdc212327e73000dc1679687addd57feb7ada146e5e0cd80876f502360e686d914b2d0a5872e542cd643df84476593400d4b7c88d2c891baa9ae46511006eb772b2dbff34cc0c9d11dd12dc80564b66e673774c6532f29864c0d62eaf3b2035b3c43b65ef36b0abe7f5577da81dd092954bb93866e8caf8d24bb938006ef9fd7a6554c6876a2b7d22f7cd198c16385927975a1418c8edcbb908af6b5ab018ee27707c3c33530b00da4426431bbab490ddc42f6e79333597c41138e50f0e48a55d883033371732f0b124a0d715afbce29145f14600eefe5c5ebca8f8f1e5c90026cecbcb05ac35757f79fb8b6a5e0f001db67631f8e233b05443e6d49f7f35dd0861effe9a920a1762e31f79206bd3ab3500a62e2d5e3167fa7d8b2201ac7ff560b3a49f3a3b1e40afdd75b0cdad72e0eae248a8d7c8a74d7d62793c80aa638d5b1b906e1ebac13988d67b1dc523943b56017c5afa32330018f3b326ea43ee197bf9c2af4ed4a3a3edc5b78f963408f149e9dfbc2c998dc9fef96db9e95e1b6a049863563f302b56f5fadcc87ac3648c8dd4599a3f2ceb01307fe99c15693ce017043f3f63b27f7e577ff925152e684d777d7dc934934f1c1adab6d6b8002c5a7ec9e264ced75fd560c6aa191ce76f40c10a154f03fabbeffe23190900aa65f29979b74e60011c3fd65cc947a66bfdfa925aa0d4b78f6000a76e76609c83c29212c2bc10f1194d4c063a43c8673d86194aab8ba3a0d269473576104e8b7b6d34059a9a5c382f0fc0de0f8e7700889cf5dc9e99dfba6ae0cbe289cf6eb8f6ba1c00ac3e46fd51b8b45bbeb5f285d99c5bef00002000494441540c43e65043273e7cd39dbf4bd7843ce46284288a5f123d56df7a917920c3e156782d09f839a8cba5488049ef37dd17dc8a20076e1c332e97020dd1732adb83ab3e7be387bb2be152c01093767c223ae6d224112e8fc2aac52404a2dde18104ad49cffb0d5fd9e97083d71af8315c6e8a768707acc6ace7bec40325c1ee92b4fa00b30140729c79ffbd2325352e98d39ff9be778611be3bea7b4a82e8143c6ce076d9e9704b60cda6e1962f9c75471f7ab52e7dc1fc9f2d8fb33bdc2caf3784fb0050e8f225d1eef278dd57f337543047363884a7633272d8320597cb2df91d152a50230530ac5618ad0bc1e68d263e676fd26847c498075df82ddefbc1fdb93fd9829bfebee7a72b06b2b2d8e7764363f4fdc140effee71fbc77cde69f6caefa5abecacab9a7af57025856abd170611e72215398917cd1dc3b0f737d4135ede9d536f25a328ecf32ea43a45b7df8970ba3317e18c6eb02e52c4b633998b8511dcb994daa3d903198c6fc8eab50658eeb812c6f36a97fe36e6e28a97101c82d4a338fda1df53d599e33f3dc18a32449003a5d1e80318f2eaaa1cb678762a5e66fa8608e6c70084fc764e4b065f27a3d1f66a04608e0d9f4d59025a898378af89cbd49a31d11631e74e1b7b871e17d8f62cbefdef9d65bf7d53dde9fc4389dd6ff50e7f17fddbb66f3d58fbffdd5108959a33306aca58d78089d9d5328ffabb8ecb52d0ed61c919170419c1d2497bda6c5a135c7667c49afc4bfc0fc1df7407de901a4844b9fb5b95d84262635f4eb5cc5dece1e362676343f271fc32117eaec9ca6730a8542a1502efa744e055229140a8542b9e8a1e99c42a15028149ace29140a8542a19c6fcecf93ed9d35870f1daf770271130a6715e5687b8ffde2deef9563d99a571fcf557dc841f1386d4e1983b7f909cbebb47a2dbd18a15028140ae5bca47371fff3f7dfbb66f3d086fc47376eb87fbaf9e43b5b4ebef5e96d43bf29f44be792c723f2463d511410025972f7dadc7dba886833cde8140a8542a19ceb6c28d57f3490cb27cff6bebbbce277af6c6c9d73f38300de796d9b2dc4818468747a83ce60d4e90d3aa33932ca08c92dcab40529140a854239e7e9bcb3ce2bbc73dfc6ba6d2f6fae7a6c3e00d4b7d9928b16ce06b0f7cdc3cd2145eefc7e51c7b283ef2b91dc0e5bbbb5bbdddaddded927480014c1e1e8ed139c3ddded5667afdde1187cb7a2d2d7d3e9126445e875d87b9d3dedddedd6ee76abc3e156685fa0502814ca45cbb95e6c8fbfe4a15d87567326547cf0f27be54776ec05802b2f998858fb74e0004e3677f5225555b14e5180815fc9cb6e8743818665a088bd76bb4b638a32eb38c96573d8ba484c9c068ae8b28b44a33747718ad327592b9247824e51882cbafb589d392242074fafcd66ebd3c6e9358476080a8542a1d0741e4e85c6885800bd27fffe93970614728d7a0e88ce580e6c81c3a52ad84da008f676abef366d64040b785c2e7026a34ea3280aa78fd0f5b50b6e51c32a006b8c89d210c8ee80a206a7fabcd1a46300f0069e3825498686a51d8242a150281723e778b1bdefe4d68d9b3e786f7f8d78c786da7d47f73c763d00fce8c9779d037bec3fdea23e3327bc392e3e2a362e32363e2a2e56a7216e7baf028030101dddedd69e8ef6eef6f63e098a579a907043cbf1840465738568065ff9af287ebb5028140a854267e7c356d7b9f7be1fbd0ccc7f72e3ababd323a3a30d938193803038255f3a7b428863090140bc6997d119f57ddd1e19506499682322cdfdbf6f93dc4e917080dbf74ebb22890ab4c49bb995c0cc4ea15028140a9d9d8f2e9d4fbef24900d8fbcbab27a54ccb9cfca3374f02b8ec9a3911ee867d5b863fd6ff613596231025199c4eabb8ed7da2024091fa1cf65ed13f4f13c20c3e032fb91c1e9ac829140a8542d3f95912337bf5c6377f7359fee08605dffedd7bbfbda3d0dd54be110056166745869a9d077c64a088a2ccf026838ee9eb6eefeeb0f674d919adb95f377760f59cf0261d27f7765abbdbad76a7a26189f7ca80842e9a42a15028948b8bf3a6a8e6eeed95c06a8d3aefe367e5cfdf74e79a3d79abdf7ee787978ea53845966485300c13e21eb8224b3208cbd0b7ce5028140ae5bf81004535ee7cd9a135faa823bb8fbdbc660f806fdc326bac97250ccb9ecdf7140a8542a1d0d9f95922f65a2d5611e684d4589a7429140a8542b96866e77e70c6f854236d1b0a8542a150c606bd974ca15028140a4de7140a8542a150683aa75028140a8542d3398542a15028349d5328140a8542b9c809fca11a8542a15028948b8ec01faa9d9fdf9d5328140a8542190d01bf3ba78bed140a8542a15cf4d0744ea15028140a4de7140a8542a150683aa75028140a8542d3398542a15028349d5328140a8542a1e99c42a1502814caf9857deaa9a77c3f9fe9719c835aebeba503b5b2b517e608a20be38ae2e4517167bd5cd78dec04e2dd5de896361d905a6592194dced2184954dc1ec27081973652affcf141a9a2453ed5dcff5f6bb7c21999087e3485dbe48f0f49159d4a56123328e53e8ec68f507b900ba79ae5536794ac64e6ec75e543c52d6cc4f24f0f7f5cde587d864cca88e86fd63375fff9e88bca4e264bdfb9fea32f2a3b99c1af2e282441e8131446c384699bd7af46d9989ba80fda5e59d949c274d3527e7cdd67a7119b946c1e9fa8842a701807476bf3c5d552172ce3def4ffad710b35d6a4cee6f7369d2c6f53f2b222d92f21149265d78f6f5af58f8d9db3af9d1fcd016e4bfdee3da78f56f4b898c8e498b06bec6ba93dd4d2d62c19924cfcc8b14f8c329fdfd9b9b2eb63e195033278549f149f79df53eb1ee908b75c52259737caa51552fdc0ce92533964510e778c833d9f96787ef39150136486d02397b6c8871a87fedb5e21bd54e239d93b9abee5904b5be4430d8ae0dbf0e366fc48b507b970a8513e54eb67ccb8c72d5c5c96b77634ef286b2bf9f4448d6b20c3db3bb756584b765bec037f382fc833c6c6674b1efacd2795aeb0af5cec9d5b2bac3b9adc41dbdbb756b4957cda1aa69b3d4d2d7b2bda4e3b3de3e5498802877370b4365f5c2d75c132ee4dffdf1ab75063cdddd55a72ac6deb0e8bfbcb09c589f7ffb4b1e2248a666769e1ac78eff5190b3efde6b78efce8a1bdb77fe58ddb9f09b7d6ee1d6f6ebaf3a36d7796597ac7e03b77ae8757a7bcd58edbafd5e46981a94ac97b9e4faae407a60e7755d1562bd90652c88146253b8700000b00decb1749063bf6cb12a2610110ad2678e5a2ffff97cce4f20cb0364b1b6a1540a9eb52261bc39e55b321378e87f1e1d63e399b4ded5f54504496e1c7a1e8d0710b8fe6b25aeb4062df79b227af381200586f6858efffc1b3ec8578c660343c0056177e1c5916808e63014892cc0e34b9217dcaaf56e7b206a379c4298224b32ca3d58d5b3c862d703807c3b7f9a26ca90b708161bc9bfebf3c6ea1c6dac419bf5e9d0baddefc658442acdbbc660f805bae2a8258bded861f88bedf96fd75d36fa7dcfd93e5c39ce9a53ecbe9eaed7b763fd99f98c7d4dae73a9d4b4e0506364fdb9f120a33506a1b611658563df456f993a724570e37b8862274c91f6d130f75012c593697bb348500106cf2c707c4435d001017cd5c358fcb3642b04a2fec92e273b95ba63280b26fa7b8c78e954bd9439f8a954e00cafa8d426a0e77cbe4e08093c9594c1a9091481aea3de512bcedd4745adc785c6e75034084995931979b1c05c1266f382096770140722273f52c2e76a0141ee8a917d79e507a252c9e42466bfc2bfb64632c31b8e4f22e0064c93c6e491a01e0ea963f2c154fda01202793bd7e166b524bbd9714b369839f64e5a38f3d5512aeb85453180197457a79bfa48965572d60a5a0d278d5aa939477b704c48d941d143fab536c00584ccbe7ae9bcc48ddd28623324ccc35b3d8a0b1e0dab7b773f0c3dedd75b7154f3784bc046c7ef7fdf2ad0d0280f409e9b7ad9c9167b2af7fb1f4602f7ffd5d8be626c8bbd77ebea1595a74fdc21513f5f53bf6fce3404fceecd9f72c32966e2a7b7fbfd50a40cb2f5a3ce38e05c9be634468aa5cf37a6dda25b3ef591407089fafddb9d9aabfef8105d9bc6bb80385f6d79e3f70a80380ebc53f95e4cc9f7dcf8238150b2355466e5f53c3da7f1edada20406bbaf5e679cb261a858ea657df39ad9d9073ef4ccfdfd6d59b33e34c3d2d3b1a2440bff2b6f92b269901b4571effdbbb358d6e1827a42e3248aa21aa2f3fbef693ba2abb04203e29e9b61b67e60b35cf8cadc02007ef9ad0b1665d6d5a614e86fdf4da6378f0eeaccd1b4e6b27e4acbe2edb59f9c59fdfadf216756592b0ffa46bc9ed0b1727f3dd21b63bcf34bef5eef1bd6d02c016cf29b8ebaa6c6d53a56fe18f3cb6bc40efd7f46bdf2fdfd12000c8cdcfbcf59ac2e4eeaa705b6d96e6dfe1b594d054f9ccba7a734e624c47cbd60601dac855374e6cdb7db4a4418256bff2c6feb8f9f69c50b10dd91023151e1c1973784d1f78e0576237be587ad4c37fed8e45c5318cb3ee8bdfadafd7654e7a7865b6a8167c1547b2dc413d7c84a1a43e480703ab16a831f7de112b0d39d6ce34bcb1ae1a2959f7afcc35840878607ffb4acae76f1c0ce842ea2bc8f5a56f00c07df3f28d3dfb3f6a070098bff7e6755f4fdcb9eaf2fa32e0cdb52d8f2c4f3386cc738d7bbff3fe8923677b15768ed3b93e9efdf6e2c19ea0ecaec5e4e4e166ba52a75cea0640562e60230038e5133ee9dfd6251fb291640320295bf778ca7a0197fcc216f15017b4669263407b97fc5a89a75e84242bed12ac7dfd07daed8acd09b702bd81782f2d789e44a84f34954f768a1f958aebb679ca2500cc2569c4d522be74486e7563662e3b330e36bbbc6ea7e872cb2f6c11cbbba035900c035a2df24b1b3d67e4fe64deda243e73406e752a85455c8171d4c6b7ba95ea16b9dc4992b50094edfbc4261992edffb777e6e1511ce7ba7f7b994d3323092da015096d16ab8d580c98d5101cf01a633bb663ae97e325e6c64e4e6c1fc739ce4d729d134c9c7b9d63129f78f731e706ec038e7761226c0c46208124906423101292062dc38cd6d1cc687a7ab97f8c349aa5471b18b17cbf278f336abaaabeaafabadffaaababba43f1589c71c484e60327438d9206dde27a95df4caa77bbcefeef3bebbcffbee1e6f61bd92ac537a5c4af12919c0c93ac9ee817602c3a9e526a8168dd0766bab163f6c507a74ccaa996c0650f98db8f5a422b9944abb52d9a032b72fb536153a009836ac9f9608a0dd52d121ab7b406ff3c6970e173509c6a4b88278ced264f9c38b5fd64be624a3dbe6e8de53d305747d5dd36b73b8771eb203c2e143369b43484c3536ef2d79add46633c7ddb9367b0684bdbb4a5f2977048da7c53e8b4738dddb3f7bd96debb5b5f7f649182621c71a63b5be9187de6888d5b3ea16aaad67d89a9a8bacdadc780e9ede6d5bbe2ce996458fabb6dd5d7dd2e112fb6a1deef22acbde4e43ae19807bc7d6b2460942ebf15f6cadb3789038396e4a6773618dca949fabaefcb9f7eb6a1d58b5347755b6d6d6d6f6d2966f1c63ce30ac82a2d8677108078abfdd56e506c008033677d43fb9b5d6e24162525c4a67f38e529bc5d16b774952e4e3cfbc5c7ea04dc8cd4e9c61467969d5b3db1a3cc199078517eed68d2f1ddedb2418e36366c473b5350dcffd71bf451871af55f68db0a7445f5b5534147572e93ac0d3fdd6d6f2c2262eddccc1e3deb1b534a437c5086d3b54470c99b96acbb847d0f52a09ffbb23d528d8dabbff71c40ea0a6acdee21074c9b15c84c657a908421d60d84b6998860d6ba8317bef480a8d78ad391cd5edeeea069704f50697c2fdeddfaba59860178a404b7919002ccc89e7e1385e050058b6e0beab35baccabd6df0300f8aad932d4fc39c7279d834995f33d13a263128d0020b9e577b77b8f99b99ba60c25e775b5120024b03353b80233001c3c2907de7a1eff81e691b59a55130060ff71b9f19864077413b827aed3dcb356b3dc0c40f9a236542a7cc2cdb3ec9ae59a822800cc8ddfd3acc9516f8d46ab5c66918f75f6c7b6276c0a67626f9ec9dd308fbf6e3a3b3da1dffe961ac90e6002f7b3b59afbd76a564d62a2a3e0f1b9a0437eeba00c60d532cdf7d298311aaf639fbc51f3c86a3eda77197871faa4ec01a22771b7cee36f98c3ea008f556e545ba469b52bc7acca31ab72ccae1c69c7f43c16406b93ec8672b405001664b2aab959bc6a454ba1ede619b88a783d7bcd4cee8639fcf289d0c6b0abb2d8e5d355e6f68f97d60340f69482ececa54900a4a2c356d5c63f555c63018c93f35ff8f1920d8fad5e9704a0f7a3c35db3e6a402a8fdd6666f6daf0500384f59adddd6c30e007173320d9e3e9f4d92c614bffabafcfb6f2db83e533784a7690666ab8649c8c5ad5bbf62693c00c3fa8796af2b88ab57b7b043cdf9939e7f66e5d38fadbe733207483b4beca1ab22e6d4179f58f9f486b989002038059cae6a0460cc9fb9f181253f7b62f952b51af013d21e5a9b7fff1d0b6e5d9c53901113f46f63c830ac82fe09a63bef5bf5fa6f56e70c24693e720a80317bdaef7ebce4e927962c1c38de18e9f8e1934e20313fffbe9b66df754ba61170d69c38e509ca3c2f20346f3cf0ad05c0e4dc8d8f2dffd9632beecc3725c6731eef887b2d6be2e87a4a97f4fc13ab7ffd4ff94600303cfee49a5fff6c7eae6f1e5435300e6bdba13a62c8cc555be660f9f05daf96b036664e0a80da8a5617ba0f564980f6da597143357e4845a4500718f6521aa661c31a6accde3b8a42c3af356ef05a536d8dfd7bc3fd4db7ec76d56b216cae5d7003c094380e6075fd31b8240280396fdac028501ce2fe93be64f3933fa9bd6dfa92b351d7f33dd9deef85c7bc6f7da36464f1bf2c18721d5796f75b000076e995dd72ab0300ecf592ad80f54d292764b07100c04c34019d803c303e31305a00607292983d0ea5d309c4058d5e3a0635af7f265ff202ea777be6eeeb357906004ac53eef8756ecac940b16316da7e5924ee5934383f7635f5cac3330060060162fd12c06dcd6a02e6cee0612fb7f8fd0f88ede7ee3a327b226003a265787320f78a0b55301d06395fe523878bf51731966dd6afe0a1d7c27711a460be4403ee951beae962c00cc5cb601e591730b2f3aa4dd32a67357f748257665e721110038e686657c5a34bbb8406d8424d97755080050777cd39ba76adb00c0527ccaba3a39e2b2564c941600b4d3f24c3bda7aad5d1ef3dcc9b968ae6d3b5d540c809b91c455b7d93e2feab501c69999a91cb0a4608db5bcb0ae7bcb7ba500a033dd7fdfa40c952bc077957b6c03af74640d9f501cb8860143440b55aed839531200409b120f340162a84a24e6249b011862af34a3c8e16b670ec0d279bea59298c5730c7b8b43a3344e8bd3d58d854d356f216069e72c3254afe0e4ac1599c173853efba3a2380030183d431f172da70500b69a9a7fada919f48548990fdc0d8d31e6280030aeba73e52ac0d5707434bd36b29e4a010098f451006227a400b5f193724c006267c5a3b65dfd2e19deb64374c49099476a99617b4a3d213f39b300967287b568aff73880a48c7c93782072e3ab394950bb658df0528ad0b06af98fd97b475ae890d79a7abb096afe0608c7c35d28022ba667e900d9131485775797f72fde1b74c3affbf3c68b4cce2bf6091f5a99bbd768f386b3bcd72237fae3cb4e45c7f9825de5488bb29803007b9bdc0bd604f484f8b9d42f36a73b1500c6815974bb4d91004e545ac286db62e4470ff87e491a88aa5dca896fa4924e24a473ebe7715c9bf8c762195248d1ca3f3ef7ee77313f98ed7b708f599e853db5cab123de8a89da7c8cc278d380736b072c340ffc888b61d0a92464f28fce652551a9ab93db6524c8ca69ab020d931c3738edc16b18ad66d046b0ecfc749cb428fb6b140053f3586d84dce23945b5e89076b3b5233199bdbf808d1595d24a71bf5df9a4429eb58c3dd3de6f49603ac7f186ea812ba8b64930ea38a747026c2575c22a955e9000c0eb0bcae486663780583d076dc2e26caeb6aeb7a80a88cfbcfdfb9aeab76bf7560900565e350980b5c59d7445ce2faf4f8ef374ed2d3af2515def5b85a7e63d7045c8f0d1526f973091137a07c2c491260cf0990816862f8f1d6f75ac9e6886dc19e17911bdc6e76a9a18ad7f5e570270f848cbbaec4cc05d51a532e35ab7b7acb049489f3df3a73764710de5ffbcc502e1ac3254bd28d2d326845489e73900ce16ab5d4a9dd06d6d1cbc25a91ee71393b46872a7cf9ffbecda644970d71c397d46d42568ba55330f6b58f7477fddf351a7f6911b1346d36b5346d15342d0006358c2db76888e183273f59689ee38315c4fa9279c68885b3e5b5b5ee1fee88b66000b17a56b876cfcf08a8438c008ae88a11a7688fc47ebbd23ba330c7fada9b7c604c789707f7b7cc3922017723b1bad4ee80c69c941f742114e005f7e55e9fad1d4c4792b80af80af0ebcbc2bfe81e4437fdd0e00583b294d2f357ffd9737ffd1e7d6cf7fe4f1e5192352ee512539df72de71d2fba195b9ff464d1a07b747e90f1659549478db26f26b8227deab4fca00a253f89f2fea57d483bb859d9d385c272fccf329abbc79b7388353caec0030378b4de3155dbde4b14aaf142b9325c5379db9348fe57a64007048ef142b9a76d91e508a5702a0ec28f45e3595539b6f57def94cd00190e0bb75644c61a3fa144011dc4a8b45aaac947d314f4a0eeb2f3a4590cb1c009068e85f62587225cfb709450e7cf895983e7f14c62fc963d1a3beae9c9ecea041b13788dbc146bb9512ab028ecd8d915e2f96c1b14ffec0ff74a4f2eea7811355ccffb8519399c5c1e2bbb930f3529848b93dba28625706b65b76bbf88905a8536e9ecef8c6c1d1318c7466d0928007f4c4f283cd001267166c5c97ee3bf2d59b9f6e69c2ee43a7572c40c86d2f756e8eb1b8ca5953b56947578ed75e582701da35f32702983e270975cd00122727a4661a66a0b61abe99762d80f6eaa36f554888b73db47292ef0a4d4c0afa6440bfebb7d56edee1d236345b068e0f9b1090bc0200f72b9b772d5d31f796c81686d2def0ec9b7d0b35dd45751280e5b313e13933b48664ce4a41699dadeae8267464745b8b1cea637a007d3d8ea6e3b5870a2d4141e118330caae09ab880983b8094f979897bcb6ded965f3c67093c9e11e178e6b41494d6594a2bdf46676c4f4b618d1bbad4e7eed2a8660e2023a061335cd6a236018849358daad746d653f6d6d12979e4e06a888e182273d596f9fdfa141c1ea6a75413ce5d949933270315be3528d3925cf3308d3f9c034cb50c7345640cd7b0636eb42118a6d0c8d75aa4d6d8f4488ef140a8bfa5c4480d81d7424cc3735b2cd0a5bff84c41e05462eca45c60271c0200dd8c9b662ef94dd53eb8df7cf4bfdf1c988b7dfea7293ab83a8fbffec66b0052efde304297f28c26c9f95e3b77f40050defa5878ee0361d3c7de4d1f7bff5c2e038abd4539d6a9048f0ce5a39d00303f77d0c8a9392c008f551e0caf3be532bb0260d6747e411cb8686ec3222e01686d914bac0a38e6fb4b34530dd04ee27c4bd48d2db28563120647564cde140680c7a31ceb0a792468f042f448f0003a1d33279fffd10c36238f4d067aecf2bb87a4668ef185ec5d51dc8605fd4597d9011db3ee5a3e811d1c9d2f5ecc2700f0c81f342a23377ef041dfb0be324ce27f7c15ab038e35c825560551ccddabf9685fd574e030d42b70da44768e0e007493d80c5de4dc22ba4950bbe5cdd15c93c0c0257f78482ae944b499bd63268b004b06116c079b0060e5d5c97e61bd72412a0067cd298b6f92cf38f07e9a91d3c665fd767d6e3a505b6529ac7143675a7fdff259260088cd999c0b00989b1f07c4ce9ecc01489c999eca01c0b4354b6eca36a0bdedb5f78e1636098949e93f5e911cd4029979774ee6005457351fd7c6a4ebfaef2cc326040c33e62502703adc87db3c5c640b55ee5c4d6d45756e004b575fb32c796030edaf2f1f7a9bd3a6cdf8e5ea4400b55596a226a49b07178cfd642fc8cb056c750d2fbdf7ed49ad0100da7bece2d8330ca9a0fac8dfc871a6f45f3d72e5aaecb8194931abaecd5f9534d0cf118e4765cef8ed4de94608074aeb0a6bdc884ffcf9868298c861051797f5dbbbfa1bb6a84e80396ec323735346d76ba3e92963a4b722b9118442dc301d3164e6aa2d3371043da59a3016d0a6a5af320380317f4ab661548dcf853bc0b057c4300dcb0fd598a3f2de51141a76ade97cd18d36626bc4abf95b42c8b5e0eb4653686f26cf5c9007e0c087d5ed0062e6be5c3ce7d1b503ff5890bdf9931b6fce01c019e28619da7051216d366c92a09bb2a204896855632b2e2e64f47a14ad8e09f9848edbad4880c91014ee0b1e4590430f8e19b75b818631f02ac7c38b3e7be3875a95702b601993eedcb4e898739344b8bd0aa7d62667dfcdae5e8f04ce6c1add9bb09220ba042fa7d54545f8c492e0767b24956c874d38460b25d1e1f6ea0c06ed283f4ce5704b43a6925dbd1e8cdcdae1331c1e575df9e35b2c8949e93f79a020c9ddbcf9c5c3d5d03efee49a1cabfaf1815bade8e8f582d39847ea252a0d7b76bd36465f1ab9b5a3e888e00846a56546d453236fd2d136fea8da76cc0d7b368d16b9d0806b4dea3df3c1df8f14d6b9614e7ff1097f60adda1a63ab85f3c387737fb50bb7fd47f1ff5a9339907d9fc7038d31f0817867e92b8f3db871e7af76d6de9e3fc265f2a192cccc48beb4e49c20887141eadef6f29ea2808f1ba6cf2f78766d3a17e938b518314eb88e1f7e7c6b3380dca50b9fbe76e2775144c7a11797dffe02f0d8e70dcf244732a3fae50537fceefa67defbcd238b47182e0d9d84e49c20887385d85cd7da607589bc26397d525eb271b8e304311eb81df52dbd9c393a63e277e78a7db666bb084d5ceaa488522d3a3bbab9b878fd68aeb0a192909c13044110c4454f889cd306a90441100471d143724e1004411024e704411004415cbe722e7657167f5d7ae8980b80b3ea7fdfb5f2b6bb36d646da1456f1bababb7bbbbb06fed7ed767b64ea3d82200882185f39efa978f39ebbef78f0f65f9d7402c6ac2bcdc74e1cd8bcf58b8608722e79bd22a7d5f21a0dafd5f23c2b387b7a3a1da4e804411004313e72de5157fee12bbf5e7cfb0b0000dfaea4c6f9773c0660fb3bbb23ed7ece301abd214a1f65d41ba2f446734cac119247243d2708822088f1d882a5bb70e50d9bc28e26cf5e320f9b0f1df85b79f3bdcb53d5ad520677410138ceff5bf2f43a1d6edf97d3f5d1317a2da708bd4e2faf653c2e97a035e865456beaffc899d2d7dda91862f5703b3d6065b7e05500f0fa68a349c7903b10044110149d8f0cddd4179e7df0e74fddb630f8707ce6950070acb933d21eef8a0228fd487dbdae100c710000200049444154bd0a341c0b45743a1c6ece141b93906032727d3d9d1e190a14d1ed70b915833956c7c992e47fb75e91bc92ac280a64d1e3923853747c62747494d8d7d3e755c81b088220088ace4788bee0f60d05c0a9e4faed0776041c9f90b11ad8855eb7ea86dd0c14c161b7058d0b62a239c0eb76833719f51a45517843b4becf2e78440da7009c312e56c3400e79bc8ef187fa5aa349cf02d04669199724c9d0d067280982200892f3d1200aeac74bab5b1e9917af1299335a737c0ca7280a188691fbba3bfa1c4e7d9c090c0bb1b7cbde3b38e1204ae000861f9c8e679840355700280aa3f17fef5f51824e210882200892f3b3e3da799323fc0bc300607cb2cbea8d86be2eaf0c28b2cce8a263ccfd5fc9953c2e91e1010f02e6ce154954e05b1a0ffca62d0938411004718930fe9f91f1fafecfd37470d7d02706af6d733c035192c1eb758ac7d1272a0014a9afd7e11483759a6158ff33f092bbd74b424e10044150747ecee8df4cd6a8e101c073baf25300585730252652741ef2270b451465add614a5f7babaec7d0ca080d399a3b4ac220cce9e335a939e6f7776d80080d168b8fee97626386b7a108e200882b878b9507654ab7ce5b67b3616e76d786ffbbf2c1e4b7a45966485615936c21ab8224b32188ea58fda120441109702213baa5d186be79eaa3736160378e08773c73a2c6139ee6cfe9d20088220283a3f4b44a7cd6a13619e981a4fa24b10044110176774ce1b13538dd437044110043136682d992008822048ce09822008822039270882200882e49c2008822048ce098220088220392708822008627cb980b66051140582dbeb76097d6ed12b28b2ec3bce300c13b8251aed7d461004415c54047ee2455114ff9f0ccbf21aad566fd018a2a0359c8dc05d1072ae4892e8ec7674b42b8accb22cc3302ccb323ccf0c402a4e1004415c32baae04200a1eafa74fee6c6718d61c17cf1b6398317dc574fce55c76f7769f69956599e33896d5b02c3ba8e8015a4e724e1004415c02721ea8e8b22cfbfeeba3a7ddc676b6c74c4c660da68b49ce154511ba6c8ece0e8ee3341a0dc7712ccb721ce7d3729273822008e29297739fa24b9224cb32cbb2922475b49e364f88d3c6268e4af8f871ac525f7b9bcbd1e313728ee3789e67830999692745270882202e6a2d47f07cbb3f2ee7384e966551147df2d7dbd5192549faf8a4910bdfb8c9b9b7dbeeee7568341a9ee77d5aee13f5102d675996e49c200882b8c4e4dc1794072aba24492ccbfa149d611877af83e3796d6ce2052de74a9fd3d9dde5d3721f5c00216be77e152739270882202e763947c0a370feb5739f96fb1045d1a77dceee2e8d3e8ad18f688bb271907345961c76ab2f220f24243aa7b573822008e2d25374d5c9f640e10b3cd961b79a53321876f867ddc741ce65974351147f681e32df1e5825ff4c3b69394110047189297ac863ede173d28aa278bd5ed9e5e04cb1179c9c2b8ae2eae9e2c3185ace7d6949d4098220888b5ac8037f84c879e053628111bcaba7cb648c195601cfb79c33de3e280a3730b5ce07fcf03dd9ee57f490410ac9394110047169c8b9ef37cbb27e3997242930280f9a8af77a196f1fb4860b4bce254f1f174ca4b5737a088e200882b8b463744551fcb1ab244981e7c801489e3eee829373afe053eb1051f7c7e51cc7553a6e3d87252e4cfa9cbc87200882b860713a9d7e15e7382efced35c92b0cfb2cdcf9967359f4062ab73f1c0f5474ea5a822008e2f2c12f7c3e2df7a9a14fcb398e93244916bdc367322e76071269829d200882202e07fc9f4d0b97451f23c9843fff46fb9f5a0ffcf45b604da86b09822088cb303af7bdaee67bca3d6443b20b2e3a0f1c83047efa4df5517682200882b84ca2f3704d1cd5bcf538c879a07287984b724e1004415cb672aeaa89176e741e627ae07182200882b89c753d5ce0472891e333d9ae2aea149a130441109773801e49192f443947d86ea721569e4f45173bab0e1eb78d21a1a7ed8bb777ee13c9010982208873179487c7e8239745761c4d1ff7b8fce8670bffe370fd58c601dd655fee3ee8241f24088220beb3187d5421ee38bca876fea3f030faca766ede75f4b73576242fd48c25035e87f1da2b9e200882b8cca2f60b7ab27d7cd19b53672dd87ac755dfc30866ccbb1b77fee659d3bd4f99ee7deaaab74b6a0663740080a7ed8b8dcfaefce07827209ed8ffc28f9ff29df9834f8fdb20d5fd79d38f8f3a0612786afecfa67f3de1211725088220ceb1685e9edf6cd14fbfe6eeeb97dd78dd82151eef705fceebdcf9f89f6fcbbcf1f0abcf77bdf4d3e78f6e9ffbe7b296fe5c808e6f5e79f8ffdc147fe3abb75c31c1d3f8c6bf7db0f3a1a75bfff385ae8d772e7aeff53f9de132a69bfeebed3d55bef33b8ebc5a294ccfd0917312044110e798cbfa136c1e71f848f9c4972f2073fb7d57e7eb383e26edfbcfdcf6f0a1bf6f7701d0751ffaea5ffff9ed277ef453fbc3576703e08cf31e7d70cb9c04b3e811f5b159c0c15617bfe8863f77ec7dab05001cbb77bd7acdad6b48cd09822088730eadff0e8317d1f316ccf1ff39317b8501a744e8e0d9f4da275703e8ee76234d0f808f8a69fbf8e97b5fff3b7457279bdb81293ca0cbb879057eb2ebf8efef4bd9ff49cf3dcf4d9f404d4a10044150747efe3975a866f0e9f76eeb11b707800778fa851776bf78e7d39fbc7d5b990300bef964dddfbdb7bcf8bbaefffcddeee79fde968c1e110026acbdede12f8bde2fdbf38a61dec393a9390982200892f3ef92beafdffbf9ff2b6b0c399a33ff5f7064e5ae460700b86a5e7f7bd394eb564703408c11889bf3ab47af2a7969d30b1d0080b884b4381d0f74eefacbdc560012004c9cfb707ec3c32fed3d75cfb5b3a8950982200892f3738f6ef03d356f6be5ab875b7a424f48bbfbb95b9efe7f7f4ebef729d3bdbf9e6bbb6afb53abf20120ba7f117cc18f4eacc06fffb0b32a67e9f3ba032bef7dca74ef53e9c589afaece2cf9bf2fbfed04c0e5afbd2a07093f9b97404b1b044110c47702a3284ae0df558daddf697972d719ad56abd1687cffd568343ccff33c1fb8bd6ba96ded392c7161d2e7e72017a9afbbc781a80931baa125b9afdbe1e6b56663d069e2a79b626b569d7a624e22391c41100411aa3092240f204992288aa2287abd5eafd72b0882efbf6cecc4905433339203ff1c87783164007171c0e96326e847709e3ec61c749aa7ed8bd7fef3a643f68737929613044110df9968f2e365d64529ea631806e812a72ffee8a6594b53c82509822088ef4c31f97134515194901f971efc84992bae219f2408822046248ee1fa38c2b4ecb8983bc4a0e33289da0982200862681d1c95a2b3e7dfe890d1c7e510a313044110c4c8e3f2f03f2f3839675836dc5c0aca098220082250130355d2279d17969cb31c2fcb72a0a1be47f3c3059e200882202e9fd03c9226cab2cc72c33fe876be1f8563798de411fde6fa8d9665996559dfef79099f866fdb3ee66d55697c401004415c68f137829f0af74b61e00fbf5672bc6658253bdf72ce6874b2db193200f169b92ccb83aa1f30b1e013725265822008e2521275df7fe5004214dd7f84d7e82e383997380dc0045a2f4912c330b22c330cc3308ccff4c070dc2fe4630ed009822008e2820acdfd7179887efb643150250146e234c3eadf798fce1946633489ae5e8ee32449f27dd5d52fea81b2ed5377555d27088220884b203af7cbb94fc2fd422e4992ff88c668524610cd8ec7475e3506a0d7afe52ccbfa945b9224df09be9976bf9c535c4e1004415c7a31ba6a502e0533209ac3331e5f8563598d29d6dbdbe5d7f2c04a721ce7ab21334060644f7e401004415cec428e8027e002b55c1cc02fe71a53accc8ee81db4f1f9c8abacd1f18628c9d317a2d93e2df7cbbc3f4c2739270882202ea5b81c40e0e3ebfebdd47c2aeefbc11ba2648d6e84998fdb0edcb2cec4cab2e815021f5cf76b79889c939013044110978ca80f2de7be009dd568659d69e4e2376e72ce308c6c88e658a7d7e30e7a593e80c0a7e148d1098220884b46cb4316cefdabe63e2de7740649671c95f0f1e3582b866164bd89e7b592dba178bdbefa701ce70fcd43a6e249d1098220888b5acb03453df07331fec572595178638cc46b472b78fcb8574fe2b5304e60448f28b87d550a0ccd0397cf49ce098220888b5dce0367da8302744561b506f03a891dcbf7d7f90ba28a2c2b690d8a46cf2aa2228a92224aa208800d7ef59ce49c200882b834e45c5114d917acb32c382d74bcccf0ca59c81c7fe1d493611889d140aba12e270882202e37ce326065a90509822008e26287e49c2008822048ce098220088220392708822008e22c61689b3282200882b8d8097db2bdaab1951a85200882202e7066662407fe4993ed0441100471d143724e1004411024e70441100441909c130441100441724e1004411024e70441100441909c130441100431be8ccb8e6a4ae329f944a73261029b9fc19a4630a23876543cd60783915d3d83e500004297f479956c4ee3964f39db1189242a82c46875e0428e3be55d476531e0a8d9c8e44ce1d28ca3c9bc47de552d8b46e6ba2b39edc0c17368fc30a58755010034cc750583c69cf3761b3162e517478e3824e384b45b96a6f677eb9986f7bf68d1a464f88f5c7a5c0e753ccf4882e091589d81e7be9bf34392f87a30665afe9a5971dfb593accdf77e18f0e36c0a953a9a3ff8f2b477c2a45bafcdd49e8555df69c52f585f12ce34bcff8555939276215fb6e73f3a57fef199f7ad32195ad4548b7f7cdf5bef192e85472eac952b2d72498dd43870b2e452caac4a79fb39b0e78b42efa68f85ba3033846eb9a4452eb30cfe6f4f8df47aa1f79873341740af5cd22297352942a0c79c33e3872b3dac0a6516b9ac3ec89873de6e23c56dddbab7796f455be117dfd4b90714ded15154632bdc6f755dbada7339d4f13c0f903edd5cf8f8a67f1c777f47e78726f1f5e0ded39ef3e0248ee01f6753a8a7d35a58d55654d1e1393babbed38a5fb0be243aec45356d855fb45ec897edf98ece059bb4dfc53c78ab268d056628857ff71eb1295969436df3da562ff50c48c8218b9295c300f085845a16002419dcd887258c8603c0e8c2b7591f18835d3387cf8b82ad59faa45e0194864e65aa71c4fbd272110f9e0be3475afad42c2eb57f40ae881cab3d0759476eb791d15c516f1b10f67dc7baf30a620080f3350d774ec6bf922073da0b6f39e99cd69100588d1600a7d77e47e78725e138007a9e03204932f75d5cc07e27f179c9c08fb32ab43f2fee2cadfa6e2b7ea1fa5254faf47fdb90cb4519cd24e77e7abb155d0a97d6ef064ce604540e1705569c1cfcaafcb113923b8737f807079df2c7bbc5b24e8063565dcd2f4e6100083df2e787c4b24e004898c0ae5dc0671921d8a457bf961273f91fce6001e5e03eb1d88175d772655f88c75d00941d9f0aa939fc0fa7863b2833750a9b06644c629a1abd95124400c0e953e2a7d572ab0700a2cdec9aabf9a9b1107ae44f0e89959d00903c89bd7e2e1f3f908b16e86e14b77da338252c9bce8cd6f8b70ecac67826ca2d57760260962fe097a73100dc5df24725e2310700e46472b7cce54c6ad27b4d0197e6ff4b563efedc5b2be17b8b3533a3e1b64a6f944a9a78eefe459c14969b56b5e824e5fd5d21edc6541c16bf6c507a00709895cfdf3c9595baa44f8ec830b137cc0d9fdb771f3cd0e1ffe3c0fe86bb0aae8c0a3ea1e4b38a0f4a6d36003aedd26557fd68513207081dcdef7f5059d42400489f9c7ed7baabf26282ba4c387dfcc5771b75a9315a9badbc5d82ceb4fe8e05cbb28d001a2babb7fda3a1d62101484c4abaebd639b3267ad54a512fda75c6b2f5fdea036d02c015cc9fb67e6d9639c2998184179a1368ad5a757c5530672698ba5bf636498061dd5d0bd75c6106d075fcdb7f7fbfd6e2817172eaf79384d263eee5772f5996ac1dbac47ca14e25c329ee375e39721a86bbee5f9267f2b55b7ddfc48ca7d64f8b1a2eb78defd6a7cdccc9709cda56859f3fbd3aa549c5aa85d2a98d5bead3ae99f74f4b1300e1ab6dfb76da0c0f3db228edccf117df6d34e74c8a6b6f296a12a08bb9ffd6ecb6fd470b9b24e80ceb6eedaf69786beb549b658ae79d570e95b50370bff6a7c29c85f3fe699171a84e11ec61e7270ce3546149ee4a0180be8ed61d5bca0aeb84c00e527392e078a6a379db07957b9b0400b9f99977de3033c3c40eed2481f49d6edaf666595193009de9ce3b16ac8ae8d87c7841890399e880ae6fab5fd9ddd22570b7dfbfa220ce175874ef78ade4b0537bcbfaa5574f94f76ffbea936669e92d4bd6641b1af716fff55077cebc79774d1e45c57591dd782cee1a9630b4c4ebe23f7dade4a8577bfb8f9616c4b1ae866f5fd8d1a8cfbce29fd7658963f7a584c18e6b3ffdf6f653bac9391b6e4eae18eeaabf5c26dbe37234ffb28805145b875c55ed7dd7cecc9a3054a42b75c8251e00ccba455c340097fc4dcfe0bff674ca653d4c7214202945c5de0a27e0965fdd25967542676672a260ef94df29f4368a9064c52ec1d6d79fd0e1507a5cf0283044313a9fdc6a99684d84d5817de2c725e2bbbbbd951200f69a34c6dd22be5e26b77a3027979b93801e87fcee3ed1ed915fdd2556764217c56444a1d52abffea9f78cdc2fe6ada7c5170fc9ad2e65e66c7e9a71d4c6b77a94932d72a58b49d60150f61c144fcb907aa43f1589c71c484e60327438d9206dde27496a55f8748ff7dd7dde77f779dfdde32dac5792754a8f4b293e2503385927d93dd04e6038b5dc04d5a211da6e6dd5e2870d4a8f8e593593cd002abf11b79e5424975269572a1b54e6f6a5d6a6420700d386f5d31201b45b2a3ae4c0135af696bc566ab399e3ee5c9b3d03c2de5da5af943bd0dbbcf1a5c3454d823129ae209eb33459fef0e297f5c1b98b625fadc35d5dd3562e980a92b4f0f46ed9f2e5fe0ed95557fedcfb75b50eac5a9abb2a5b6b6b6b7b69cb3727d54a69563b2875d43ff372f9813621373b718619e5a555cf6e6b68523532f08ea356e8e0345e84eaf8aa505e65d9db69c8350370efd85ad62841eaa87f726badc583c4a4b894cee61da5368ba3d7ee92862dd1a19a21179b02b7a5bda3e8db6e0027cbea6b1d425f7c4cd40872b3388403c5df6eab7203603ad5ad12c53e8b4738ddebf565d56debb5b5f7f64903b5ab6828eae4d27580a7fbadade5854d5cba9983c7bd636b69bd00d5d6f6a8d602ac3156ebb3596f34c4ead9e6a13b850b3d7f78a70a4f0200b0d534149ed1867450b8d941dde36eddf8d2e1bd4d82313e66463c575bd3f0dc1ff7d79d18d24982b135351759b5b9f11c3cbddbb67c59d2adeed82eb5825a7d5798913b7dfce893efd5d5b6bb17deb0a05fcb0170e624a3dbe6e8de53d305747d5dd36b73b8771eb203c2e143369b43484c358eaae29e086e3c467795427421acc4ffee48350ab6f6ee7f1cb103a829abb738045d722c7716be147463f1b86adbddd5271d0dc35df5975174de3fd7232afb0e4ac75d0ac0440d39a2a8ab950020819d99c2b59ba53d0e1c3c29cf2df0bb20fbf80ff838285feff6167562ff71390e921dd04de09e58c969a1ecf9dcbbc7a17c512bdf19fce8864fb879965db39c357c26ec7131377e4f9311c19246abdc38f8977cc2a61498d89b6732929e9995ca9cae91cbec0a80961ac90e6002f7b3959c01cad7fbc452073c3e2f74c86f1d048055cb348b1319b7754cc6ebd8276fe44d1ef9ff7e2cf6002e2f4e9f943d40f424eed60216ddd2ebc5b2c72a377ab82c5d68155aed8a7f6b1d9d013fcb633fb1cbad4db2fb4ae6680b002cc8644f1ff386e76699c2a8142d85b65b6379ffd5c6ebd96b6632333926291e5a8e5d9505d1a032b77fbcb41e00b2a71464675a93beddd126151db65eb37a703b014f9fef862a694cf1abafd3cce3a3d2d274f5c53516c03839ff8507aed04228fc6be18eb6de8f0e77fc6c51d88339e6d4e79f989b00f1ab37776e69928a0e5be7cd4d7b68ad5134c5cfcb896e38d85554678b548ae7b0cac1c6c3279d40627efe7d6b26c35ef7fb2d75ce9a1375fd0143d0994157d7049542fd9c8a509d8753faabf0e21373cdeee667361db641700a683c720a80317bdaefd6e772e87863e3be03618b984395189aa176e1b2a41defb795975884f9ec810a01e06e58903c62fbb577deb77455a6b1fe8bddc35a3578c5f9ffd6253dffc4d509678efff4e51a270c8f3fb97a96e1cca6e70ed442ea93a0dadaa7664f52a98514b76efd8aa8cd1fef6837ac7f68791687fa5dc2509dc2859fbf7b18a70a4be26ab000802eac83549dc49d9937309dd878e05b0b80c9b91b1f98160567d1b683bb6d9c681aca4942d1253dffccd509108adedcb5ad49da59629fade6d816b5823cbe91555bddefb702e0ee7c70f5aab4c04b939d35271575cdb5dfdaecb9a80500384f59addd38ec00103727d3000b465e71f5fe1200c3d8dc3528a15a89b53177a4a0ce525bd1eaba5677b04a02b4d7ce8a6b2c3e3c665f52c5db270c7dd55f46722e890a7886e3d95bd7b200aa8a85b74aa4df2c8fd072b2bcdfe74076e995dd72ab0300ecf592ad80f54d292764b07100c04c34019d803c30dd6060b400c0e424317b1c4aa713880b9a8c08781aa47f265ff202ea9dc2dc7dbd26cf0040a9d8e7fdd08a9d9572c122a6edb45cd2a97c72687090e28b8b7506c60000cce2259ac580db2a062d18770303735ea3353e7a226b02a063727528f380075a3b15003d56e92f8583635751ad0aeb56f357e8e03b89d3305a2007f2498ff275b5640160e6b20d288f9c5b78d121ed96319dbbba472ab12b3b0f8900c031372ce3d3a2d9c5056a4324c9beab420080bae39bde3c55db060096e253d6d5c9fe09b5294b0ad658cb0bebbab7bc570a003ad3fdf74dea979a98282d0068a7e59976b4f55abb54d4237de6e40400e0f367c4a1c906119c16a7ab1b0b9b6ade1ad423f552ae5139182f9e1600d86a6afeb5a6c69fc1a485056b3a429367048e5cd50a0d25bc3a29009098936c066088bdd28c22077800a2040051511c00188c6aaa394489e119c64ecf9ef17e5b757bcbde52a112407ce6ec387684b96172d68a4c2386b5aaff01618fad37f8b8491f052076420a501b3f29c7042076563c6adbc143b4a8b5b614a1167e971705c0802cb53ecd089ec1093c1f23722a952489d3422c51375b0cbafb018031c61c0500c65577ae5c0548bd673e18d649fc8e3d674a02006853e281264094382d17de47a25a41ae86a381b6349e712348ce61ce999c8be6dab6d345c500b819495c759bedf3a25e1b609c9999cac1359a8a47eeaf31ba6b6077a896c84fce2c80a5dc612ddaeb3d0e202923df241e380b5f5265caf00e76d9c8795da977ff44cdfd39fd13ecd372d91d5f29bd804975a1dd321816b7762a3ace17ec2a475a94c51c00d8dbe45eb026a02764724aea179bd39d0a00e3c02cbadda64800272a2d6153d262e4d50f7e60a57f60864839f18d54d28984746efd3c8e6b13ff582c430a295af9c7e7defd2ee607b37d0fee31cbb3b0a7563976c45b31519b8fb118af1db0d03cf0232e8641a79290c93f3a979544a5ae4e6e9791202ba7ad0a344c72dce02a06af61b49a411bc1b2f3d371d2a2ecaf51004ccd63b511728be714d5a243dacdd68ec464f6fe023656544a2bc5fd76e5930a79d632f64c7bbf2581e91cc71baa0716a46a9b04a38e737a24c0565227ac1a38ef4c8b3be98a9c5f5e9f1ce7e9da5b74e4a3badeb70a4f3d95260180d71765c80dcd6e00b17a959eb31c6f75ad9e1805582ddd00fa80babd65854d42faec993fbd218b6b28ffe72d1608eaa54c5e161576d0f25892164deef4f9739f5d9b2c09ee9a23a7cf883ac6ae927cde0357f8ef91aa8506f6f410d5d16b7c6ea78919c88ee33900ce16ab5d4a9dd06d6d54bdbe2297189e21b884d5b3b5d515ee6d9f59002c5c961135e2dcd2d3267023b0ca526f973091137a4f85e8a310785f0dbde012d55a3b41d3ad5e8b6057b4b60cd3296197fc489d2ae42e116689bad913b5917adcfdd15ff77cd4a9bd355f18d249421ddbb17aa2197267cfd07da452d023372600802e6eddd5dc8ebdb6031f15cfc8bceeeac0019c36617136575bd75b5405c467defe7d4df5dbb57bab04002baf9a34da8a0fdb5fa376d7e13c64a2216ef96c6d7985fba32f9a012c5c94ae3d3b5f52e5cc881decd297f309f14ce311b13e5993650444f9b3837274266f022a4abc6d13f9355382d6d1ab4fca00a253f89f2feaf7b983bb859d9d385c272fccf329abbc79b7388353caec0030378b4de3155dbde4b14aaf142b9325a5c40e004bf358ae47060087f44eb1a26997ed81932712006547a1f7aaa9dc9a9cf0685279e73341074082ef8e9431858dea530045702b2d16a9b252f645e72939acbfe814412e730040a26f88a763965cc9f36d4291031f7e25a6cf1f9df1e891d587eae90c1a147b83b81d6cb45b29b12ae0d8dc18e9f562191cfbe40ffcaf4e2aef7e1a788760fec78d9acc2c0e16dfcd949997c244caedd14511bb32b0ddb2dbc54f2c409d72f374c617ad45c730d299414b02866b62f9c1660089330b36ae4bf71df9eacd4fb73461f7a1d32b160c0cbcaa8fbe552121def6d0ca49be9b52625274cedc1c637195b3a66ad38eae1cafbdb04e02b46be64f5431aebde1b937bd0be37b3faa12002c9d158f4a0e405f8fa3e978eda1428b2f0ee8502bc5515d167e30775a0a4aeb2ca5956fa333b6a7a5b0c60d5deac3d3dac2cfd486ad2c8514ea27355275ecadaa0d9e313f2f716fb9adddf28be72c43af65452a319c2be667a1c217b5c4acc8378f2237511adaaafe3b4b5bede61d2e6d4373b8c55264ab32d55afbb9bb22bd4421790500ee5736ef5aba62ee54cbd1e13a25e8fc5b46e4544149d6c48dc2ecb98b32077b30a0ac0c97b5a84d00621274d2105d2685fc686f78f6cdbe859aeea23a09c0f2d989a850e9a3c96a0525f92e42d384d5d74ed39cf8785b9bf0da5b47a63d5110d0ebecf43949a86b069038392135d33003b5d5f0cdb40fe546a3ecafb1bbebb04d9d33270315be8502d3925cf359fad2ba02959e56bd355d085a3e0e8fc2255ec1df9c8e770a85df6c177ef381586be6fe692e0b28f616e558a7123c40928f7602c0fcdc4123a7e6b0003c567930bceeec5fba9e359d5f10072e9adbb0884b005a5be412ab028ef9fe12cd5403b493b8551300a0b145b6704cc2e0e08bc99bc200f07894635dc18ec60e5e491e091e40a763e6e4f33f9ac166e4b1c9408f5d7ef790d4cc31be90bd2b8adbb0a0bfe8323ba063d65dcb27b083d1c8e2c57c02008ffc41a3322ae323f5956112ffe3ab581d70ac412eb12a8862ee5ecd4773fd4faf7218ea15386d223b470700ba496c862e726e11dd24a8ddf2e668e3a321a800000aee49444154ae4960e0923f3c24957422daccde3193458025016199ed601300acbcdabf4ccb5fb9201580b3e69445ec7f5a67da9a2537651bd0def6da7b470b9b84c4a4f41faf48e6e2b27ebb3e371da8adb214d6b8a133adbf6ff92cb5891d637c8cdedafc5145378085d7ce5f93a6cd5e90970bd8ea1a5e7aefdb935a0300b4f7c4af542945b5e8a8cc19bfbd29dd08e140695d618d1bf1893fdf50305fedcc4033540bb50fd4513b7475f8d0bb1e4ce9bf7ae4ca55d971339262565d9bbf2a49258218aac4f00c012e79ca4d660030ceccced28e29b708566933f3ee9ccc01a8ae6a3eae8d49d721e8152963a4f7f43800aaad1d13a9596098312f1180d3e13edce699365ca7849c3f32a70a4a12a98354cd8e0d3c292eebb777f597555427c01cb7e191b9738674122eb4b93834b515d5b9012c5d7dcdb2645eb58f3a4c2a054dea1fde4b1eb0abee2a4807e0b0bc51dc11588dd89cc9b90080b9f97140ececc91c80c499e9415f4ee1cfb2bfc6eeae7e2235b5362d7d95cf9ff3a7641b7096bea47667e146e060e306a32841225ad5d87a7e56d07b3d30189873f056b08c5e8fa2d58566e5762b1260320485fb824711e4d08363c6ed56a0610cbccaf1f0a2cfdef821e8752b6019d3397a2063ccb94922dc5e85536b9331fa8920ba042fa7d545053590eceaf548e0cc269531b1abe1e8e36f37a42f5af8ebd5098e5e0fa73544698312223437f55222142d3a7abde034e6801a463873984247589da0aad5953fbec5929894fe93070a92dccd9b5f3c5c0dede34fae09d39e614beca7abaefe405d476971b305b8f3c1eb57a5f163b07f68ab04b7db230d5fb508a8b4f6d979ce5097e2087be15c981d5ed648bbcc779939dc5e9dc1a0e586eda37358a9efaebf4653f7b19738765f3a470ef69d30332379fce59c20be237cea629c3df7df6f4ebdd4ea26756f7b794f51c0c704d3e7173cbb367dccefbc9ef8f0933f5448003039ffa507ae88ba30ac220882e49c2020b91d752dbd3a737cc644eda5583fb1b9aeb5c1ea12794d72faa4bc64e3d9e42574779cee14a13364249bb90bc62a822048ce09822008e2329573da2095200882202e7a48ce0982200882e47cf44882e0728baa6f9d0a671ab66d2bd9b1b7591aa7e6b05656bfb1ada4bc551cca7eebd7cf7c7fe56d77bdd8ff650c8fb5f1ab5d151f7e5a5371d23b8aa2fa5aea4b8e1f2bb13ac591a610bb2b8bbf2e3d74cc05c059f5bfef5a79db5d1b6b23ed55a8785dddddbddd5d03ffeb76bb3d32f93b411004c9f93962a8cd86c77d4fd9eed32d076ada4eb986d2e56f3ef8d3a735c7307bde141d5c357fdf72d5a22f7efce8915f3c7ee0eeebfeebee17ad23dc0bb86befdf3ebbe7e3ddf7545847ba7d7a4fc59bf7dc7dc783b7ffeaa41330665d693e76e2c0e6ad5f34449073c9eb1539ad96d76878ad96e759c1d9d3d3e9204527088220393f37250eb1d97054faf47fdbb0fcf927af3aff7bca4a920c40a71fee095fb161e7c662003f5c3b1be2c9dd3f783228b8aef8f3677fd835b4644a7dd693d5efbef3eefff4fdc98fe091e28ebaf20f5ff9f5e2db5f0000f8367e33cebfe33100dbdfd9dd132115c368f486287d94516f88d21bcd31b146481e91f49c2008e252e4fc7ee4356ce7e0f593db03f74e7eecde293b3ff1ed299be58ab0b573a42d9f5537dc0dd99839d3a1b21bb1fd78f55fdeaff365b8346a98697e4f63c97f01c0430bf28ddda51ffb3e166bfed9df6ebe6fd2befb573656007fdbd6f2f3d569915fd5b11cf8c907df1c19d59441e1ca1b36851d4d9ebd641e361f3af0b7f2e67b97a7aaf7a332f8a17980e3fcbf254fafd3e1f67d9c561f1da3d7728ad0ebf4f25ac6e372095a835e56b4a6feefc8287ddd9d8a21560fb7d30356760b5e0500af8f369a740c5d4004411097a39cfb760e6e179c031bca8a629fc521588abf3d0000064670d5b6bb21385c1df54f6ead0590981417dbd9bca30900ec2e498a7cfc9997ab9c406e76a2ee4c477969d5f11ef6770b8233efac7fe6d5d0739e5fe6f9c5d63a008993e326753617360d538396f23200589813cfa3e378150060d982fbaed6e870d5fa7b1a2bfe0bf8aad9e24ccb8fa8e71c9f34ca56d34d7de1d9075b3d5d075ed87e20e0707ce695c0211c6bee7422354655cd1560e04544d9d3dbab40c3b15044a7c3e1d69862cd7a5e72f7f4f6743271091a28a2db21321a833996575cbd1effeb8b8ae495a0571446163d7d9cde1c1dad87d7d9d3d3d3a74b306848d00982202e47398fb073f0c0dec9fe2dfc9a236ced1c69cbe7a136dcf56fccbc6b57f83907fb3ff03b73e39d5940f73b1bf7ec1d72f15b14dc0030258e03585dbf664b22a083396f5aff39e2504fb7a52fd9fce412347cf9c0f66ff68dacd5f405b76f28004e25d76f3fb023e0f8848cd5c02ef4ba55f74465a0080e7bd0dec9ba98680ef0badde04d46bd465114de10adefb30b1e51c32900678c8bd53090435a80f187fa5aa349cf02d04669199724c9d0d0b7bf0882202e433907d43794f5ef9d3c7856844d94d58f0fb5e1ee40e691cee1002c9d97060088593cc7b0b7d83d6c1d564ccfd201b227e829b6eeea72df8f28c3f09f3be7f8517f394b8cb06d626975cb23f3e2552273466b8e8fe1144501c330725f77479fc3a98f33816121f676d90737a06645091cc0f083d3f10c13a8e60a00456134fecf132b4ad029044110c46527e703e21410d7f9f74e1e342bc226ca1136571e6a53db81ccd5cf89ee3801e0f0919675d99980bba26a40cbddce46ab133a435af0f72f4538017cf955a5eb475313e7ad00be02be3af0f2aef807920ffd753b0060eda434bdd4fcf55fdefc479f5b3fff91c797678c48b9c790c4c7b5f32647f8178601c0f86497d51b0d7d5d5e19506499d145c798fbc71c92c725323ce041c0e701154954e05b1a0ffc6c200938411004c9f9806ca9ec1c1cf6167a4a844d94236dae3cd4a6b60399ab9ef3fbf529385c67ab3aba091d19ddd622477f86ae96e3cf6db14097fee23381fb012376522eb0130e01806ec64d3397fca66a1fdc6f3efadf6ff69f90f0fc4f537470751e7ffd8dd700a4debd6184ede2197192feb7e83c4d07770d7da2123221c0c02dc9e0f53aa5c7d167d0ea794691fa7a1d4e3e5aaf091a05b0903ca26cd4b090dcbd5e4043424e1004716173fe5f541b76e760c0c87191b6768e707c249bdaaa9e33316dc62f5727c2b7317013d2cd00a001e0db5fd814ba2b73f2cc0579000e7c58dd0e2066eecbc5731e5d3bf08f05d99b3fb9f1e61c009c216ee856e0b8a890aa0f9b04fdaff619353c00784e577e0a00eb0aa6c4448ace43fe64a188a2cc6a4d517ab6afcbded56eebee74b03a73ff1e7f03b3e78cd6a4e7656787adcb6e73b8140dd73fddce44ce9a200882185f2ed02d58226da29c631d7acbe7916c6aab768e2438dc52f016c291707ef870eeaf76e1b6ff28fe5f6b3207b2ecf378a031ea030647ced2571e7b70e3ce5fedacbd3d7f8433e7a34b52f9ca6df76c2ccedbf0def67f593c96265664495618966523ac812bb22483e158fa0c304110c48548c8162cfc8569655466f6aa784b519be5d7bfef9f544f9f3f63ba099c41fdb8bf3a66d3b035523b87d39a4d2334cdb8e4a1a7b0eb85ed8f6e7da8e199feb6e4f5bae02c5dd5fff9e0c69dd73ff3de4d23d5f25126f154bdb1b118c0033f9c3bd6811ccb7167f3ef0441100445e72322d226cae3beb9729fadd92e4213973a29e223eca2b3a39b8b8bd78fa6baa349223a6d569b08f3c4d478125d8220088ace69bf7382200882b8e8e59c564609822008e2a287e49c2008822048ce09822008822039270882200882e49c200882202e77429f6c2708822008e2a223f4832af4a21a411004415cf8d08b6a0441100471a9f1ff01a9ca86c7e27831b60000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If however any tests fail, the test gets highlighted (and the qunit-banner at the top switches to red):\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\pict\pngblip 89504e470d0a1a0a0000000d494844520000029e000001650802000000cda97f83000020004944415478daec9d777c54c5dac77fbb677b4fb2e9bd8704080984de417a5541106cd8bb78552c78bd5ebd76c5d78ed8b12128080ad25b68212484408074d2fb6eb69773cebe7f6cb2d96c360504b1ccf773efc770ce9999679e79669e99e7cc9ce5381c0e100804028140f8bbc0252a201008040281b876028140201008c4b513080402814020ae9d40201008040271ed040281402010d74e2010080402e16f01af2f0fd9697ad791137b8ee6e416149556d5b6ea8d769a26ba2310080402e1b2c3e7f19472694c58705a72fcc4e1e993470ce6f378179503a7e773ed5abde1836f377dbcfe9716ad8ea89b40201008843f185f95e2ae05b3eebb719e4a2ebb0caefdc71dfb1f7ffda3264d2bd12c81402010085711b58ff2f5c7efb96ecab84b77ed0cc33cf6fa879f6ed84ab44920100804c29f84dbaf9ff1c6e3f7521475d1ae9d61985b9e7a65f39e4344890402814020fca9983371d4972f3fd9b377f7b243feb1d73f247e9d40201008843f219bf71c7aecf50f7b7ec6d3b5ffb8633f89c31308040281f0a7e5d30d5b7fdcb1bf87073a05e4b57a43fab577927d730402814020fc9951fb28737e5ad3dd9ef94eabf60fbedd44fc3a81402010087f729a34ad1f7cbba9f755bb9da6e3a72d25e7d70904028140f8f3e3ab5214fdf6b5d7afd974acda771d3941fc3a81402010087f095ab4ba5d474e78bdd5e1daf71ccd219a2210080402e1af42778ebbc3b5e7161411351108040281f057a13bc7dde1da4bab6a899a0804028140f8abd09de3ee78fddeaa375ec1f2a5a204891080aeb1b58eb4c6e523c85fa90074a6d63a235106814020fcb3e8ce7177b8f62bf23badd298076e9a382231422511b45f624cfae6e2dc439f7f73acb0f3b3f36ebd63413f9f33bf7efcd2816e0ee049935e7f6c7608a5f9f9dd4f7e68eca304a2071eb97b4430b2d7ad5e9563e993b34c9ffdd2f549a099de1ea4e89693ff7e7be75599a9a40dbf66d98c2191814ad79706199ba1ee42c1d6753f6daabcd8cc2e5a457f2ff853a74f4ef445f1c15d5b2bec7d4c3263d6e438993deb975d470d574500c2656bfd19b3a6c4c9ac97a92909843f9aee1c37efca15993669f1d30b53251dbec7c6509480a224f2808163e7af1a3576f3fbafaf3ed3f17c6060a84a250e56ca816e5cbb6f7054889f04f20051dfa550c4c606ab0448885223a70a502e7fecd64152ddc6373edfd4cd3237383422d0cfaf4f7907c6c6e072b9f6de0573b1f08e876fc90876fd9361188aa228812c347ee89d2b070ffbe5c3a7b6545d4cd117ada2bf17a2a0605f290f2101325468fa98c43fc057cab32af9574b80ab8b78c6acf1d142d3b12dfbb36d7f75a944fe012a298fbe4c4d4920fc59b852ae3d6dda6d2fce4f0400184eedd9b7654ff6e1460b80a0f0a4c533274d480ba728bf390fade4bffee27bc5edb30fa6b785b2050c003097b0b4a1dbd208232283d502bf305fa01bbf95bb67fd7b8d81429bdd0a007cc0e8973e7b714630d0b079f5a60a81003600100af8d6a68ac3974d61bd0bd6165418bbd8e9d7196df1a6759bb7e634d40190062c9d3575eec41409a881b3ee7aa2f4a5d7ce58ae9c8afe66300cc003cb5c7412faea097075070dff005f054fe127056c7f79a91806e031340804e2da7bc57ff40aa75fb755ae79f27df7c55f5de5b9551f9dfb2e7dfadb778f934336fde13b721efce4f015ac60c3571f7d13ef87a2036d0b599a06043d4e0e8c0ddb8e36b85f4808302ece004cbaac9cd2dc2b2668ef820100164fe80700faf3cfadf83cd74de6afd7adfdfac435df3f3e490ec1e8eb27bc7666db155411e19fcd9fd31d12274d205c59d7be74c97839001836bff6bed7a06e5dceb67fffa05eb5300582b8c5b3c30e5f5c00d90b092949438394000c9aeaa33955ee41f2dc33f9b95d2a7c51e137691f5415141e363c215406c06e3a73223fb76bada5ca9151c161414a01eccd7555dbce34786d89de040b8b500900d41fdfe9659251bcf3fbe303eecc08a0d4912381be4f98faaea2deab79f9080c098a574901580c2d85151aef5f5312c853a37cc5162b64425d6d4381c6ecf52985cc2721c2570458b42d85359a3e7d98a90f39b759844c9e1ae02b17f1401b8bcaebeabb593246840485a8a43cc06230b6b63417197a9c3b09c4f16aa59f4aca03add7b6e4d5e8ff545aa57aeb10813e7221e88a6e9aa35b8587f9ca453c80d63735e435982f56873d49d56be6f63e2b8740f8a7baf60113fbc90068f3b7aeee7e4b57e1eef58726258df2a362468f08dab2fee2df5807bcfceaa30355cd9b571f48ba616682cab54d0f77c290b3f18b677f734e17942fbcfa44ba0aa77ede1d31778aaaed11f1f495af4c07f4677f59f476e6efadae34e9e515d70f0c74fb46ff12a6feecbea73b76d829973f72fb847e01ee3fae7bafa9f6d7f757af2eb6c07ff4372fceeab3606d7e8386c0ab2c0585b5a65415d3d4dcd4a122c3e6175ff46888844937bdb13005dabcc7567c57d84715f55ecddf8f7cf1923951527dd66f67c2c60c09917618e73530971ed9bb2edffd55b47cc6f4b103c255eebf8230d3d8747ce79e7d0d6e23be2068f1bc91512a714756ac3e6f479664e4847885356bfd4fbbbdbcddee5bce60ad76f98c39135283e4ae4b63c0b6949ffc6ec75977af109f9c317d7882b47357333797fdfae3616f2752c533a64ff4287d9ab5257bdbaedd0df6abac5559c2433766b4cd74214c5fb0241d30571e7f7b5be50d4be6c548cd07bfd864c91837ba5f98980bb03a0b572182d99b927d6eb9654688902ddab56943a9d96ba1538cf54776eeca6ce8830ebb95aab0bb1a79640ed0bc80d85be6f6aa1c02e12f03f7b2e718343c490d00e6ecdf7afebc9d65db8162005025cef0bf94824402007e73ee9e9fa01230a6e6c2fcbc82d25a1b00c8d2e7dfb53caeadabcb041440c9c45cab8db1d9da97548ccdc63056faf7479d933e7ce556a7c3d3d7979fca3d5fadb5015460bf491f3e33ddf9c4032b1e99dc2f80024cdadac2b3e74b6b9a19809204cf79fcbe855200f68b114cd7a86700844ebcf189e1015e264c07be5bf0e0bf173dbfbeb0434554d7f5b7942fa4004a2255f75545bd57f3b220e001900f9d363c44ca63adfa9af2b2caba161a00c43123a6cce8a8b1cfe2257352c3555c80366acbcf155636ea598027558f9837774e447b8d059177df3cc9e9d78dcdf5e525158d3a2bb8f2d46993e2155c80eb6d62dbb79c01403c6ce19cd42039406bebaa4a4baab46616e0fa46a5df313fb523601033ecfad109521ec05a1b2b2bcacbab1a75660062bfe8796e8fb9983a67a6b374abb1a5a6b2aabe59cf025ca1efd07953860baeba56193bcdd2ae1db92c4db3ac9d61009e88c705b80933e75d931226e602006bd0696900e2a4d430cf204a4c42881080b1aecadcb9d096ca92b2ca3a67a18163e6cd1b2feb8b0ebb930a7dc9dcd921d227f7aa1c02e19fbd6a0ff65752004cd5fb8a7b8b039f28d2cf4f9483e28b2ea520d74bb5fadc5f967dd4bec60d9ff0cdcaa92a0886cd1a86b78f753c663bb7ecc15d80f2f5554f254bcc9b9f7b7e75e365a8ecdd8fdd102100603ef4cddbae337bd36fb8e7818951828871aba69d587e307a448c1840e9f68f1ffca9b42d59dc846f1e9faa42c0b405037ef8e2d8b2078ff55930cb675b4f8eba6d30201b77dba323e6371497159d2d28ca3c71aed0d8ad8a7a98bf98dd35d9bd8a7aafe66f0ddd15e16019d66a72d8cc8e2eaf4139148f23107385120eb72da2e1da49a62d39fee1eef6d3913efd1e5a902e052f6170ecd66d2500464f19172505809a9cdd5f66b7470d7c62ef9e3fdc97274c9932eeec27bb8a80a93387fb720198cffcb66d73455b0c3679c8c4b9e9c16d4ea08bb47dccb96d5ecc036bacfa6dfdfebcf6e9d0f0f1d32724f80afdfb2f1d50fa75be1ee04f191a0780d5957df7fde18af684c9c326cf4d0de4f9c78e97e5ed733f7325884d0c1202a8cfd9f15976bbf603fa3d342f5d0a55daf0b0a3edfb21ae96563ffcac04102fbde5da70a135ebfb0dbbdb8497332c0071a03f00bae65ceede9cb20a833d75eccc19492a454c52fcbe2af7f84446722800baae34d3d64da101fdee9f97ae80346362ff7d9bcff7a243fcd48d547dc9fc02faa61c02e19fbe6a6ff3243c9eb8d7274d76060028a54274e9c569f39efec82d765db9f7e7dc66009450e2ed69a1f33f7cd1e5a8a974d8c87831808aed9fba9fc5dfb6eea31f8b0c0062c78e86aff3443f537abcb42361f1de9ff30d00d4a1ea8b15aceee8fa3737e6395fbd0a5401c969a3ae5b72ebaab75e59ffeaa3afdf71cdf4b8df5fb12e92f4a59addc35a8c9387a46cfef41d73e9498fff6dfef49dc94352584b975989b1ec9bdd6e5f3dd09ccd2ad103e0f29debd6c8d42829005de1fe8ef11a80a664f52f795600dcc03143fce1d3af9f3f0f40cdf19d2ebf0ea0207bcf911a7337c6dfb79c3bd0ef77f3eb008eeedb76a69906109e92a400009142e68ca674f8240005c7f21a69005ca14744452ae001005b57e236bf6b389b556e06a0f0935f7dadbaad0778fcae03095bb4eba72f0f145618ec00f2728acc0078814312dc0783b0841031808ad3e7bb2db4e1ecde335a00bca0d0f8beeab0ab547dc9bc8fca2110886b7742517d990558018092fb092fb99c8a63073ddef59e2c6f0220f10f4beb6dfaf13b491b33400dc056bef627cf6d809f7d79c804507e894bcd261b0050631fb863699cd2f5c00fefbdfbdee75fbcf2f1de4b106ccf6fdf2dbafb3f6f7eb33deb6c7993becdb1485401c919931e78fc3feb9f5b3cf1f2cdd0fa5a4d69f7aedd667ef0f69b278f1dd9f5d6e4b1231fbcfd66d6e6b9a7a9f1fc598f1d4c650dad00844a7504103120560100fa1387bbecbe6c387da6d10a4015a28e880a1503609b8ee77aee41db9753ce7a13b58f3977c43c2acf1dedb2696e5f6e25002882070a00e80f1ec839939773a2a6d3338131510a5ea7c853bb83b1d100c04d9931717440873b3cba63dbd65dbb7fda79f6aa6bd56bd8cc4d21273694ba99b0a1b0b09106109692d051f701b12a00747d4ea9bd87420b8e67e5159615e515d75fa40ee93eb4a65be67d520e81f097e38a7db2c66aea7d77ac4429070073d5d956b79e7951476599ba9a26cfb5b473abac5028fe63542888baf5b13b1653bc4ec38b2848e25c578b8f6dcb1dbb38cd4fa08a5bfcf8530b4dadd5d55565e70bb34fe66d3b7aee77946ad97360ef9e037b01c03f607abf9491430726c5074b004948eabf56892ccb3f3ffc4756b38743f0b4ddab0772f921786e2c60b52d862e91040a00f87c2160753ed45c75d49ba59c2c6e49f70f16ca7da4340bc0da505dd0f5a19aca66dab9a4f73617e92de740b4b90a8db7af37eb1a9a8c8896422095023614159e2d02921312e684a8150ab95c22164bc4425e37536a5b494e49ca9858394f1a3c66deb5a3acc6e6e6e686ea9ae2f28abcd2ba3f83560381faee6d4457e7a990ccbccad4c9d13cffe8d182bc4c1b000c4b0802a02b3d570444f450a8ad71ebbeb6d085eea274d897d6ecc85cde17e51008c4b5c3e88cb24bd42952f472382adca7addbb8459183631380863e9766ababeef6db2ce63f4a89a1f171ddc52e007cfdd1eb3593662f9a921eaa1253126544bc32223e65dcacf977d59c78e7f9f517e780fd03a687fbd69d3fd749b18d0ddb1a1bb61dd80b043cb1e2f671314a4812174c0b38fcdb1f5acdee70c0c1300ccbb2dea3465cae030e8f788146d36df0c2da11f0f1fe5dd0368b124ac4609dcb5b6f4f192c4cb7b6df6bce8af62b328508e8722ccdd0686021e5b62d1fe39387cd1c1dd76996c95a755a5aa192025e7492b97b734b6dfa98b4185fa9902b94fa8748fd43225232864f692efef5c76345575bab8a9e5c3bdd54efd91975a5676bacd12142694a867fe6a1460862a3fc7880b538afaa5785bbb8581df6a5352f413904c23fdab5179e2ad22f4c94c36fecac98afd7957adc0d0a0f406583730172f735032800b6ba2cb7a359544f12b575bf3fd747219bf3defceca05021b0bac600a14068b5b5ea0c10a2b41200f6ecdeb267f716f8074cef9790969c949212a712401e32f8c9e70c739eeffbb7659036fcda076645419bb77cc577855eee37bcf6eaa7c1ab1e4d9020202a0ced8b4b7499fc18c15c896a76db6c763bcbb20e8787b30187c3e1722ff195102594f534105b4d668800f0254a6f118810a5f0d27376456e0d3a6fd34a99bf8cdbdeb52232ae1d1dc705c01a2b0b8bcf955757d619ea6d7680bff8a6855162ef752f28c82928c8814c9e1a121c131e161e192ce541ec1777ed7596577fccbbba5aedf1a83763347775909a93c52d2129bebe71c98187f62bd2e2a40074954734bd17aa10f061b3eb2e49877dcd9c78000271ed7da531f358cd94c92182d0d15326aefb688ffbad94d91f3e348a6a3effe1d39f6ff3bf66728c1840535e4eaedbe24fe21f9e00147a776c497200b069ff243f62e29c62c89596e2aa3d9ef706bcfecc6c255db3fd8861f4884843d1be677f3ad7bebcce04b0f49e4717a70550218396f96ffbec22f6ead300200f88ed46454043adde9620114894ca76d72e088a15a1b193ca0645a92f6f35bf7fb5a72f1358ad568bc5e2d509894497b8ef8fe717361c3947bb5c1f14ed0bc0aad7b4300100b8aad0f182e3fb3a2fdd03132315bf2367d7b2d5272c00f99eab7645808f18006c462322a2e45c00d6da9fbfdcd3e9bd8020c2dfdbeba28884d40949fe969ad3ebb2eb60d0e715eaf30a0b018c9e34734cac8aeb17edbea3feaa68b5fee2f3cccb2b1997e22b15860c0e900ba3d500eacf17ea7a2d54d66fd98de962e88f9e305c940efb54a3f6ccf77eb197f800c2df922bb28d6ed596930c0041d483cfcc0e725fb2cb451440f9253eb0fa7f9b5f9c240180868d9fb41d7fcfcc2a050055ea9dd3bcadb41076f3c438004cf3f95d8d7f0adde51e2dd1031044cd9fe679fa75e20d1393238243634294e109093151e9c306783cf0f54787f40020905ccc209c5bddc200a08217dd93eefd89f009a981020075454500783c005468a487238f9930d0eff256b3e7f791ddad23b95c2e87c3b958b5579c2fd101803c6dace78169f8f44f091202d0d537d5179c6f010069fab4fe1e91a3d96e3fae730939bbae89c3938677c964746a141780aefe940d11be6200d6e62a8ff7fdf103a3bdee3b94f987840405c624467a5ccfdc7dce0c003cf71df55745ab97d24f0c85e71b69809b34716cb40280f654aea6d7429353a3c40068834075713aec4b8d5c9937db402010d7de67727efa21bf15802062d4872fddb6b0fd4456ddd1f5735edceedc31ee7c3d5bbaf1d34ded890a0f6c3fa50780e4f98fbc302da65386fe492ffff7ae0409009cf96df7eff9fc190f0028a5e2b2c427f61eabb101489e7fd7f2f40e171d943efdf689c100b4b907b796d400806af0874b3a79f765f78c920380b6a4f26204cbd97aa21900d4690b3f7be09ab4ce63dbc8b1b3bf796aaa0a005a0f1dac021a4aea6c004247cf75fbac8c68f98a1b23a88e1040ef2aea4335b7fd91366bbb90576906a04a1ab334cded289a2cf28ef9a942006cd3e1638d40dd89423d006150ea23f3870d09102b04e2f8987e77dc32a97d031dcbbbc49c5da8c62d1993ecf6ef2163a7a63a4fdc9d29d001152d5600c290fe3342dc7c52f2b0d9e981ce3095b4f3bab3aad6391b89bb6354276f347e529218008c759aabaed5f6f05a17e17be0485e250b08152a2160ad2bcdeeadd0c0988c6929be008c174acef659879e52f521f322e201087f53aed40ef9afdf7b59fac0e37306f809fc126f79fc3f8bf5cd758d1a9a27f555fbb91f140d1b3963e26fdfb587791b9efabfed5fae9caa86387dfe5d9b671a9aea9a5a694ae9eb13a86a7b61569fbbf1a9f6a3d5bd7e745decb5863c008271f73f97a2b5b59cf965f937f97daf54d7a16cd5073b06bd384b0dd9e4bbff33a4a2b8b0ba5515199710e28c3a34fcbc36a7ce58b07fc6a0718154c4d8259bd31ace17575a447e31b151ce0fe36af38f6ebb38c12ccfaffae5cb1767a981c001935e7c6bbc5eabd5b4e8699ed05f1d2097b46d672bddbeeeeb4600d8b03b7ffa6d8321087f60f57333f20b6a2db2b894b8c0f6c7c0ebab8a7aad664f4b768ab7ffc8f15119691c0ec73d7aec5c74ee3f729ce3b6bda2d78f933bc30399dbf646dd34235ccc0dcf98f26862536d9d9652a843839c1f13a5cfed39e05ce165efdb16a0989d1a2416fbc75d332fee9af64c585d934ea85609b9b45ba1b8989c5d49b8d288b9775d3fa6a6bed900bfd0105f290f00dd7c7663be1e4045759d3523500871eaacc59175352d16f8fa07a93abe66ca4b99b524bce4b86ba397ae34e78c362645c5f54f19b722465b5dd36417c80383039d298ce585797f02adb6e7c84b99717db8813654667f79a8b5e7a3aebad2fc3a6b748810005b71bad3a7acba14aa17f80584f84901806edabffb424580bc0f3acc7c7f774b17a9aa7acd1c90f75139040259b5b7b1fabdd7fff7cdfe6aad198040ee171113171311ac920800682bceec3f5e6c030481a9ff5afde842d7eab372ef2d8f7e9155dacc009440161811951013eef4eb8ca9396be3c7cb3e3ad6e1e51878fd8157a3f3b4bcc9da0400568b0d000ccee3e56858bfe38c0d002556fb2963a382fa5615c62d438f857be62d2f6e2cd5da00a822e2868e18ec7478a6fa336b56bef5831180e5b57fffdfaeb30d0c40c90392d306a7f773fa755be9918d4bde7355a7cf823566de72f77bfbcf3a3fa94bc9557e1131513111c14ebf6ed356eefafc2dd767efea8eae7f6f4f310300e2980183476524064a28537dde7bafffa2bd2815f55ecdee2d4c20fe78edf7995939fc2e6466e57cbcf67baea063ca6463e1f5237156673b5b5dfb9e345fafdd7ca6460f40a8504725c48507a9b8006b6ecafae5a78da5aeb311f6ad9b7fda9079baa6596bb65aad56abd5acaf3c77fcd5ef0f9b3af2a69d67c9cd56baef39db5800fa23bfec2fd75901a16f48447c4284af9407b0daf2bcd53fe6b4c9d9707a4366b11900b8aaa0b098a830e70fbee4fdf6c367fbca9ce5f1c5423701ec9b7ff825af52cb025cb12a3c362e26dce9d7e9fa7347dfd951f2e7d0aafe706e85f36b310a8534284005c046a3c7cdeafa93652d0040d767957a74598f42a39daed7aaadd8faf5f6bcbeea50e255aade33bf08e510087f253aa6fc8a2133ae501941fe6169fd42fdf876f02530359d39d17e762b6ec2670f4f0dd4e7ad7cfabb2ebf63a69c981e1be2c307f8b0b7d69455eca96cbd7c1289d2c215008c2d0d8597e9b7cb82c263c626f8037c19df5e7e266f4f65979d7ed2807983a365b0db60d7376b72cf54d5fd5ec144697151f1914a0120e0c3a06d2c2a29cdf5be0b41397d6c92dc668294df5458e045b63e4bd27b35bbe0a0edacc5c0da2d5e3f89cae58bb822198777a9871e04f2d4285f39cfeb2f7af1870c480c90d84e1f2bacf0481590faf8bcfe3c5873d66fd8aeb9849c3ba1f0f14f0e5680060fc68af2ba0a2faf6ff9c91181be3221008ba125bb42d3977a0d890a1081a6c1980dc6b22ebf5677f5b4da51a9081f1100ab515fdf8737d673aebb21c58fa72bdcfffebeaa9e0be551d0d4d77429b48f3aec46aa5e322710fec2e8b2b75e1dd74ef827e37038e060e170c0f3a435000e381c702e65db571ff0bfe3ae29fe4063ced64fb23b7982f1d3e78d089782aefff9b35d0544ab7f00ed73a9acf51b76939f522310aebc6be711bd10ae6c5c88c30187ba1a2537d634d3fe7e3cfff429b708730fe7951519ec10f8cc983426355c0a40577cae8068f5cac24f4d8ef6a164fd32faf100b6b994f87502e18f81b876c2df96ad3fee0fba6552a090179292717d4a06cbb2aed362acb678cb812aa2a22b8b4fe28cd1ae1faeb59e3c984354422010d74e20fc4eea3efbf2a7d1a3d252c203a412219fcba569abd5a4af293eb721fb02d1ce15c7589f5752a1a4b860f4453939d964c94e20fc519077ed0402814020fc55f1faae9d4bf44220100804c2df09e2da090402814020ae9d40201008040271ed040281402010886b271008040281405c3b8140201008c4b513080402814020ae9d40201008040271ed040281402010886b271008040281405c3b8140201008ff443a7e1ee6429c82a8834020100804b26a271008040281405c3b814020100804e2da09040281402010d74e20100804c23f0b8ec3e170fea5d168883a0804028140f80be1e3e34356ed0402814020fccd21ae9d4020100804e2da09040281402010d74e201008040281b876028140201008c4b51308040281405c3b814020100884bf07bc2b9abbd96c2e2b2babaaaad2e9741eb7140a455858587474b4582c26cd4020100804c25fc3b5979696d6d7d70f1d3a343a3adae3565959594e4e8ec3e148494901005bd99603a593264f92743c62c9dbb5c6927ae720646dca135c3f7938e5969c6939ba21c7366ff258e19f4ca15e05636c160844d445e573f1490804028140c0950ec8979797a7a7a777f5eb00a2a3a3d3d3d3cbcbcbdb5d597d765601d3e911ba24ebb5228d85d11d3b9275dcda39b95573fc48569eedcfa7506f826937bc73c369f345657309490804028140b8f2ae5dabd57af5eb2eefaed56a5df103a140e0f984007c0a92d8c7df7efa41d76a9e610040281400823fd5a2b67bc1447cbe827771b25e42120281402010802b1d9067599661189665bd4f2bb8dc4eb7f8e8eccb787cc00e586b377f7c5070d7c269b60b9bdffde6fe0600d29b67a5028208009a920d1fae5bde00003317dcfccaa83055a73574d5e66fce0962cc9b36e5ff0a20acdf9abbe74f93832e39fee19a9daf590060fcac1b564d8e55038613bffd7b6dce7a00cad017ee5d7a6b10d5f58af7e2f4de046bc356f4f587b7671bcbb2de191b35fcd37b46c77bcba173410b47edfad83d497057310804028140b83aae1d80dd6e6759d6f523342e381c0e97db3966603c9f5b982da3e936c978da721b4201c674a1a418b656c9b3dfdc3f64fa811569d1baaacdcf7f753fa42f302dbf3dbf6ef9d87987572407d7e6ae7ae3ab5b640ffd9c2a735f49b79cca7ab62efd9b17567c24b1157df7fec46737ae7f35e3dcbb3b77dd76cfd9545f515dfe87afacfb70d0d3cf22f7e5b5a7139f7caccc1f4d3b3ecd78e5c7a495f15b3caebc3959eba538e64057c1dc020fd1d7defa29d63c16b668f5603fb55781438b3a17bde5fb97dc9234e53ee721c6db0b8713c325100804c25573ed56abd562b17875ed2291a8e3df141fc8ce39e923edb8a429014201f004006a72d720ea8ba569d1007cc2e63c79cdb157f65b2bb23e44d437d72687330c1d96b67cc189778e14d5a5a605b9970fdc75d7b4b17200e2f8a5cbd6647ff443dde85b6eba615aaaaf8cb159848a486057bd19213c116ce7ebdc6a8e0000200049444154eb9bb5fec141d3efca8da9a2299de795f2acbbbb16a76af52298bb8625ca60095fe1ef172417a364bf17816fe852b444297325a1bbdc25564b20100884abe9da9dab7386613cae73b95c0e87e3b6beb643bae4ae8577bb6d2ca7b7bcb1ded4fe0f8b45a70c0876ddf3098e87cd0a5130ca973cf252479ab0e67ac0cdb5d38020bc63d7bd5802641b780f369cf8cf23eb7e85203d40aa01227980cf80a7ee6c5db5f6f3340b20f2b9eba61b1ef789f4bcc2f3569c85f6265827e8b6ff035e05f699ec5910607125e92a18b15a028140205c4dd77e11d86d36c0cdb55bec9d056d6de9381c6fd254421040eb0b94e9db9f9f96dcbeccdf5d2a8cf4ac9fadd10ab47977062224d71fb8653bfdd8738fbde723e001452fbdf4180d682e64cb063ffecae8c71973d3b9132fadf9e8dd47968cf1b8b2748097e278a7bd08d69da2bd0adcb5e8e79ebed395c4dbddc77d88e512080402a11baeec0e79b95c5e55554551148fc7a3dc70feb3aaaa4a2e97f731ab88c1b7a378c1be2a030018f2bedef231f8c2b081cb5a73ee39d66801c0b466bfbdeed60b8cc7644508bcf36166010040bbefc72596d079c15c287d437c043c40bbefcb890d0018b49c7d62d5371b4c0025564704270296e62e5702bd1517e54d304fb76edf77be460b20dc5b0e5d8b66dc9278bb4b20100804c2555ab5878585e5e7e73b1c8eb0b030f7d7ed1c0ea7aaaaeaf4e9d36161611d4ff33d0fbff1f9685bb84b8594ff9ce513f3567dd56f1300448f9df8823e1782c8a5f78e3cf5e19af8ef04800db14337ce8d947591225a9e7fcf2307ca0040fad0f27ba705b5f2856be63f9203006103568dc5f2356bbf7de9d68f067e3cf5e997963b934cbde1a7c121d7e575be121ea9ea5a1c052f8275f6bea2c8d8f16bd70dc81bbafdf9c95e04a6023c8b56bb2719d7f52e8140201008ddc271795c8d4673d973d76ab58585853535357abdbeeb823e242424212141a5525d448e3683c64c4b642a21e571d1c213abe402cf998aa964f5d31b85af3e762b0c5a13783e3297e3b7e80d164a2093744e623234592152c86454f757bc17e755303718c6028828aadb1cba16e49ec48b1804028140f8c7e3e3e3f347bb7696656d369bdd6ef7ba439ecfe70b0402cf2370971553c9bb4fafc30b4f3f2827ed4f201008847f866bbfb201792e972b12893a1d72fb6311aa27dd74bd98f87502814020fc73b8b2ab760281402010087ff0aa9dfc5e3b81402010087f2b886b271008040281b876028140201008c4b513080402814020ae9d40201008040271ed040281402010d74e2010080402e1ef41c7276bc6bcbb9fa8834020100884bf10a7ff3d8facda0904028140f89b435c3b8140201008c4b513080402814020ae9d40201008040271ed040281402010886b271008040281b876028140201008c4b5130804028140f8d3c1fbc34ae253dca1516a00261b9d5bd9e2bcc80146c60600b0d1ecf10b4d1795a142c41f10ea53a73337ea2d1e7f9434ea7b48383e2128dc47baf658894cc813f129d775a39536db198f8795627e8c5a5edb6aaed399bde63637354222a036e45cb88cb57355ade78a5c1a3e124172b0aa5a6b2a6f36f4bde168d671acacf1f794ebb55297dd2aba9214a44c0956f1296e41ad36bf5ae370bb15e72fcf88520b79545993fe60713debe894302558a592081af596c2069df34a5ab8af44c02b6ed0d5eb2d5d0b12f1289988d76cb03afa6c3c00c47c4a2aecd40d6d34abb3d8bb7b5e251644ab658d7a4b95d604e0aed1090575dacce286ee9e8ff397072ac4b5ada6d226c3656c381743a3d47c8a7bbcbcc9c6b000d223fcc47c2afb42939566010c0af3950a79272b5b8c36ba8f76d8d5de62d4b260a584611d05b5da9efb45af5ddb437b00fa3208786ddcee0601af929fa868f6b8e52b11f40b56b59a6da76bb44ebbf2c85367b19fab6bedb5775c6cf7ec3a6c56698c4322d51a93ada0567bc9fd4bcca74e556b4e556b2e36b990c7ed7be9bd5a3be12ab8769558b07ac948a7458e7de317bd85e670b983c27d9d17eb75e6896f6d05381c6e5f030909818ad54b46ae3f51fecba90bab978cfce144d9afa72a9c7f3cbf25a7bbac38c033d3071e28aa77b0cc4b73874e4c0a71dd7a7fdfd90ff69fe37038ae2b8b8644af983a804f7101ac3f51f6fc2f27e1761740acbffcbfb3d3d61e2b560aa9cb583b57d5feb3e54477a99e9d911ae92bbdf7bba37686bda8861818eaf3fee2119f1f2e7a63c72970b89cce35eaaee1f416fbf0573603e07029af8ff52a8fd74a5d76ab704726e4fd6756dab49450d795a3a50d2b7eca6e36d900fc6b72ca6d23e35db7ca9af4b77eb1bfd9d4e1815492b68acf7e7f47a3de3a3c36f0d39b46d5ebcc733fd8e56099aeaa7b66c6c0f98322c7bdb9add968ed8bf138b96544dc03e3fbb95fc92caebffb9bc35edb65d9c8f88726f6e371b900769fad79fca7e303427d1665444f59b5d5ce7a6f9a776e181ee12b3d5fd77aed47bbfad2dc176b8df78d4b1a12a95ef6e58163658d6281e0d39b46f129eebddf1c3e50544b51d4474b460879d48857b63858c643bceeecd0c3ded223fd572f1929e0719ff8313bde5fe6eae0ff9e9916e92773b7b75ebbf6eda3123cb467631c2fcf1b3c2131b88741c06be3f6300878955c29a23c3ad1c030dff7160d3f5ada70fb57079f9b39282e40e191edc9cae6477e38da6bef504afbd43d7b18363f39786ef5929199c5f5777f9d79517dad6bffda77be66f9fa2cfbc50c486a99a8efa5f76aed84abe0da5d0878dc7161928d274af80af535fddaba9f83656ccd351c9e80af54f7b1cd0a6a5b177db2af51a30b12b200c0d0b45ee3fcc3a669e00a443ca9b2aba10c8df60f564a36e694d95aea12fc6505b59aaf0f9d074b0328a86e618cad5c8188c31772389c18b5eca969030b6ab5ffb72b7feec0b0058363b28baab69ca9e5f205aedc6ecc88a1b89c0dc74b6c2db597b176aeaaf5509101a13ec9c12a0e4bb3769ac3e35ff490cdd2364d0325145312451f3bb34d53cfe170f92a7faf55e8a33c8e6e5ae77259853bcfcd1a342d2534abbcf1cbcc7316a37ec1d0f86969f16f5d9bb6f4d37dc9e181b78d8c2f6ed03df45da649d77affc4fe0b460db87744d4f3bf9ee20a444ec10e9534accb2ebd6148cc9393929e5c77f0f9595301acdc74bca5bec6c1b23c998a2b1071381c2e07f307450e8bf69fd13f0c006bb3d0267d7c5850afc6e3e45455cb97478ac1320e868e502b26268757366a18632b87c7e70a25ee6a4c0df37974724a5e55cb9a0367a7f60b9e9d16b3242d74e389920989a3a746c97eca2e16f80471a84e5a1a1ce117e12b75381c8941ca38097daed1c893aa2e6d9ed45dc31d296d1c12a91e14283998533f3c2dd93995490f96eccaaa1f98102b13f28f9737ea9aea1d2cc357f872f9c2bedba14d533f2022f0c3c523043ceee3eb8f6d3d5e20e630d7bfadd5d81c364d43ff60454a98daddde7aeeda03fc045db5f7e9e1928440c5d95aedda43e7bc0e025e1b971249ddadb1cb20e0e82ab95ac475dd7276a2760b676d9afaffdb9aa552a9788ce5b9eb463b1c8e67bedb03a0596fb2b734f5da3b6887aa2fddb36b6be69d2dbafe9d568d8565cd8676491ab87c014fa6ea635f73ef5f0eabf9ce09fdc727863c3226e6d59d054eed5d847539fa54facf7915131283bbb376c2d574ed1aa3c5472a9a9614b876dd8f8ae4119393421af5167fb9c841dbf5852728892261c4e427670dce8854b30ec791d2c637769e6e365ae70c0cbf79789c7b3e4f6ecc16f0a8ffcc1af45b6e71e6a1230058bbd55c5b0a80b5598da5a7e65c33fea1051362fd1576863d71a1f985ad79cea0e8dcd4f0d2267d5e791dd55219ea2bdf7ef0eca1c387458ce96c7935cdb0e052e2e06851503428de8cfe611497f3fede337b0e1d3db2bd61f6b76fcc4a52afdbba4b1c9e4409c54e31a624879435e90bcb2aa49ab2bed4eeba050bef9dd03fc65fee2e95bf4cf4d4b40119516a00078beb5fdb7e3a44257156ed60eb8517ee9ef1737eedf0d8c0a151ea6aade9bfbfe69dac6af9fce6d1316a39806f6f1dbdeac79d079bd8203fd513530778e80dc003e393e60d8af4930a6b5bcd5f1d2dfe3ebbac2dece9a05fbb76c8e4a1036b7516679ee13ed227a6f4afd399ffb7ed94d7ce672cc91b3e30e9a5bb276ecaab1c16eddfb33ce101be2ba60e488ff06b315a379eacf8ec70916b2437969e12f8065191c9aea1fc72e94d6bb675ac4e0214d353c29a8dd6db3fdeaebb70d6a669d8fa33f6bcffdce098b0610a8b48c000b0d8e9daa233756585cf17641d3b91d6d0d2aa3f5f2a8d19c893a99c03d3ebdb4f0d8ff29b3628d64fc809f391ae3b5eb2372bcf547e9a2b92cae3073b9fe153dce767a7b9ca355717ea2b2ba74fbeb357e37172b8b4f15051ada5aecc5c53bafec587730bcb9e7ee56d8b9d16f8044a6352396e5381081f595e55cbaa1d79070e1f3d7f94999db65266d56cfdede05b378c9c9f91f0cda6ad3ca99212cbdc339f372802c037470b978e489c15ef7b22eb983c3163687cd853d3066e3b533532262025445558affbdfb653e7eb5b0747f879bdeede70b18949ff5d34353d52ed6ad6a3650d0f4ee8372844692cc9cb98390c80d16acf0853198a73d3c6f40770b8a8c6589a1711e8f7d23db3d3a3023cec41cec3ff2d1a316650bf4aade9bfbfe69daed1baec2d8269faf4ae5b847cea5f3f1cdb7ae884f14241745cc40bd7cfdf7eaa6cd8ccfeb1014a777be308443d77edeb268ec82dad797b4fc1c1a3c75ddae3d49d0f512efc2dff7c778380d7c695270da5247297ebf21804e04057c9a57e2ae72d63491e87e22b078c6e77b1766349decf0d9592c864d4163a5dfb675fae05c0a178416adf5e7b873c34ccd53d9d397304545f26f641b6c6ffce9bb523ffc2ba2ddb9dcede587a6ae2a8a12b6f9958d4687876734e9042ecb50b77d7bfb233f73e7fe742185a0da579d2c8948820ff27a70df448deb5cfb6eb81f128dd4f2aec3aa0ed2baca319b63b6b27b8f3476fa3abd51a73ce958e494b5609b9894a6e884ab2e34c55db1cd46ee3c3f1f9b2f1131383379dbcb02dbf6266ffb00f170f076d6fd09bf3ab35a7aa9af5666b529032214061b35a455c36294815e2a712fab7478418e71b4a4784bff283071648f8bc151b8e7f7bb4685c42d03da3e358bb4dcce34c4e0af9f9e4055adf9218e2c7e170ae4909dfffd6a3dbff6f65e6272ff51b34441c1ac753f881c30510ac940028a9a8b6d494b45ae91683292cd0dfda54636bae71300c8010a5c44722acd11a6dcdd50ec6de6bed22d4cab7178d92083a49c565ec9fdd3c6a6252f0a693157bcfd5cc1918f1dafc7411d7e1ac9a5f58747278e0bfa60c6418e664657342a0f2e969fd599b75ebe90aa71bfb71efd1f3e70bb9b4e5d39b4675d5dbd8b8c07bc626e556363ffcfde1469d69e58cd4647f898365012c1c912ce451b9c595ae3c15426a42627046a49ab5db58daee7538900a7849c13e8f4eeedfb33c22d8d7de36263958f5e591a22a8de1d1c9293765443a950687c341db1c2cdd77abe8bbde58bbcde170b85e0102c82cacd55d386b6daee5499592c8e4bde76b9cb70e1e3c50d76aea1fea7bfcff1eddf8da8abb6e5e7cca28dc5f5ccf588cb6a66a07d3269e85c1d33f65b32c9bd12fe6427dcbcb3fee37571739185a1418c915b42d40ad349bfac2cf03feb321aba80a80b5b19ab11a8355d29e8da7f35b220e25962f983565546ad2335f6db3534207c370f8428f00fe96fcca1b3fd977ec4cd1439307befbd8ed352dbaf587f38d8dd50dad86b8d000c66ab269eadd3317f3a9a9c9a1b5ada6d77edc67b458e74f1806b38e31b64a05545290f29189c9179a74df6795f40f517d7ad3481187e9eebac3b907c1e1900ab81b562e4b0ee9d4acf9954d068b7d704224587a586c50bdceb4eb54e980d8083185c1916a0099a74b253c6c7af5b1e450df4ef6c0b200ae1fdeaf59d3fadddeecc440e5bb370c138171381800423ef5fd8b8ff8c8a59985355b0fe718cbcf3818da272ca65f987f88da775b7e95d6d4616f8cd524a6d073d7de5ad4b2e8fdadc7ce14bb6b2f56c9e77038d72487763708786d5c383a22ce5d0701af920b0323014884bc6dab9edafac6e3ebef9df2c494fe6dcb55dae6a0ed1c2e25548739adc1c1b20e961505c788826300d46a0d3df40e97adb2b48da53becbfd765b244c04d8e080a56fb8882229def33862646ae59be84c3e1bcf2db493e686f5d98767fc5eedebf7cfd031deac87fff74e4cd1f77d3ad4d3c6dcdd7cbc67a24a71c8cb73edb36d4b897eea06d5e07343bc3361a2c5ead9d70955d3b804dfb8ff1286ae6e821cec8d2af79656dc31b079386a444a9156b8f16bfba3173e57b5f7ebbf3707288cf00b13e33bff8b99f8fbffbf3be30a510c0739ffd74eac07673c539002c63b769ea9dc6ea2ac264b1def6c6d7f77eb56fe791e367f3f30004f0ec8692dc49b1be221ef5734e994d531f1e125ca3356616564f79e8c57737ed8df0f77966d1357ca59ad71e185488f800cc9a4607cb8802a36896a352c89c2135a7670af39100a8d31a6dda462e4fd86bed4c16db3d6bf7dffb75a6bb544315e668b5fcdb6325af6c3cb8fccd4fdefee1b7f38585b6fab2b6aab53600c8bb50b7ecbfefdefcf2a766ab2dce5fa13b77eceb9dc79af566009f6cf8e56c51c9083f44a9e55f1d29f2d09b0f9f0110ae92b0dafae5afaf9ef4d0ff0a8eeeb369ea00e495d7ddfee2fb37fd6f8d2bcf92b2f27fad3ffacae663c6b253e6aaf35ebdbb93bc0bf53dcb33335ae62f17af3978eee723f9ff5efdbdce68be2923cada5c7d6956d177bd992f9c668cadced14d2d1301d0ea0d364d3d972f9046f71705841b392200816a754b5dcdf5af7df7edc17c8dde383c25eea1e9437f5bb1f0a6b9d324e1897ca59f7b64b8c5cad8190780a69696a6f3b98c492ff40f13f80471a88e8817e370d0361b63353bc3a400941261cfc6d3c9b373295560f0ca1ba71d2aae2bb5cb38148faff4130545b917e11a91b92c3d77dcb0f8b0400bed50068480c3add7e8d40aa9542cb4b5d4ba673e25395422e06d3d55d15a57b9e3e849b54a3179e8405b4badd3a7ee3a7de15f6fac7ef1d31f3efee5804a221ce36ba70dda6eaeb7ed8d5a306964a04abe66ff59f7663554151d2fab978a04c3fb270e8c0e3e5e5a7fe474214571470cec37243e5c67b6e59e2d5c306964a08f62cd814e096d2d350076e7973ef1ee572f7cbef19b5dc7fce5e281c256bbb609808047a995728bcd3ea15fd8d8209e83b64922faf195fecef5e5e71b7f6dd2ea5cf6662a2f9818a5e8b56b53123905c65d7b6181eaeae6d683e7aaba1b04bc36ae3b5d0701af920b7c8301505c6e6c68606c6860a49f3c402e02e080038e361b10f805b6d9034571289e282042e8dfe6ec7be81dbf130763b736550388522bd73effb0d668be75cdcefa8af2692194bf5cbc667f817b93996b8a599bc5f58edcbd7f7df7c2c3c75fbfe7f81bf79dfaec85f0d8f86b47a5facbc59f649e774f3e4c8dae7dd6527d1e40945ae15efa5099294a2dffeaf0798f018d31b636e8cc5ead9d70f5dfb56f3998fd9f3b6f98377164909faaaa459f7bae1400b85c70a9e8900000e7ab9b8c65a7188ba9b05e0b205cc6cfccc90b4cc95873d7dc605fe527db0e7db6652f6dd432561300b02c63f2dcfaabd51bc70d8c9b327440884a5adbdc0a80cbe3db350df306861f29adaf6bd6d0fa96ada72bf7bcf90bad6fd117959d2eabba71c290c1510186c21c49540a5fe1c7e1721b0d160012ca018012cba4427eb5c6c0a178acd5ec9c463837d6b61acd0ebbd5b586eba1765a8371747cf0c4a49010d5149754114a31803317ea8ca5f98cc5b06acb6107430f09f7756e1a60cc46e75d9bb6c1deda54dda48d0b0da075cdaefdd61c1e9fc3a562a322009caf6ef4d0dbba8dbfa44606ce4c8dfce8feeb1c0ec7a1b3171e78f30bbbb611404165a38365acda46579e7545a7b772c58cd960d7b5504209d86e37c31454d6f72c4f7c7438809533d356ce6c0b662aa4624653e75c695cac55f45d6ff6d62696619c71ec0b2d060091be5207cbf055fe5ca19843f1a2d40a00173446954ccc588c2f6fcd79fcad35c9c1aa9b664dbc79c6f8c7670c5e7ff83425f5717fdbf7c29c74219fb2d8e8c1fde2964d19f6c9b6c3a2e0184e9757e65c8188922a01f0e5be1c83a54167ead9783c989612e12f17bfb533dfdedac858cdd2e8019448ea3172872825223e5502ccfc607752a0f2a707a63d3377f8ac8307b4160640905a5d5ad3e0706bb5f9832200a4042b5fbf6d66544820801ba68cddf1f2c7606800e7ab1aecad8db4aeb9a0220140a84a925f5ae1f57ac599526786f1e1c10056ce1ebc72f66057b3d20de5074e9e9dd02feca145b3282ef77849cda19cd3b86df6cd73a6f8abe43b4e95d9f49af8f00c002b670d5e39ab2321a36d0070b6b2c1c132767dcbd9ca0600a14af1c9736d41da15ef7d05967dede1db5ebbffc69cd21a8bca9fcbe3017038185aaf75385897bdf114bed70d4f3e52dad043d75669ca7d62fa5de00474d2de63afedaca6e1600ddd0c025e1bd7bd51bc0e02de241700d09b6df1d7dee7a0ed3cb9ef94a1033f7fea0ed66276aef5c10138945b1c87032ec5e1f27aed1dbf77386659daa80710a15600908a856142fa42c5d9d859e95edbda028843e23814cfa37f7d9b55b2f37cfdb291713e5291c02fcc39023c3363d0333306b992474a01e04c45bd7b9f0d1239ba961e3d7c0680f335cd5d1d418bf11aafd64eb8faabf6ba66edb18292510313634303b71c3ded5c4472385c0e9757d7ac05e02f02633608fd82c323a30134591db0e8df5e343229c46fc799cad7b69f7230760e4f20f073ed6bf56ce05b664e58366de4ee3395e98faf5efac12fce6e10e6ef332c2972637689bdb5d1c1b2cb174cfde4d6f109814a4aa25004858b45a256939536e9ecf5e51c960150a5310118181d0c872326c0472ae455b618008e2b2a55a33501504b050038edfb837aa8dd2dd3c7de3c3271cfd96a77a91a5a34ed55d60b7c831f5e7aedff1eb845a46eaf9a830540332c004aaa7496c2e1091893be7dd01173285e33cd031020e67ae84dc567bfdd7b62c48ad5d73ef1eae1d345a393a3ee5e384b18100ec0ce30e0707832957b9e14077c895c12d14f1412eb65c9d88ebd37799aac1c00cf7db72be1ba0706dcfdd2f8e7d74e7aee0b86a69df1f88bb58abeeb4d1a12c315499d71ecdc8a66938d1e931c39202e9243f1014e8852322d2594651d87cf572ebf71ce91371f5a3a76a02c36b5c8c079f2a31f5a0d26a554eca82ab03656b89a78d190e82191ea821acddd6bb60278f2b605d1a1411c2eafeb7289c3e572385ce7920b4065b3be67e3f16070a41f804305172cf5177812395feed37533d1a3935336df3729cc57c6a1f8b5ad4686652302fd00a8e56200061beda03bc2b3e13e92c1117e369a4d08524e1ad23f32d89f61d9c9190354221e6dd20108f691011c9ec22f3c260e809ee5b1b41540904aea71dd415b9d0183da260d807f7fbdddbd59ed36fbde43c7008c4f4f0670e4d4b9e292d206ad7eead0fe000e9c2aa4f59aba161d80e7bedde99e90a66900213e3270387ca55f64742c80663bc7b92ed49b6d5ffdb2ef8b9f771eca3beba794bf71f775366d63fb3b1d67bfe0b8ec2d262e21232670d3c9f21ebaf653374edbb662419852ecaebd4717cdf8fc9e990981aaee0601af8deb4ed741c0bbe4aef5a5c3b963cddcae55f6778e993da4a2381c6e5f96f50e164045936ed90bef71b9dc97168f177039cd8ca06b17b6dbecd6c62aa78d79f4afcd791507ce57f94845008c45272a8b0bbbb6785da30680bf8075efb392c088aea5b770a45e0734daa8554bf85dad9df0a770ed007ececc690bc3eedcef0ca773b85c0e97bb37a74063b4de3661d0ecd183e78f1b7ac3d0b87a9df97859d333b75d3b3a29dc64a3b38a6ae625fa2e9e3c62d0900c814f5077f9fb2a65005a8c66beddb8382d0c0068db824923f426cbcefc32bbb6812753b6da1c236303dfbc6dc6dd372ffae4896512217fcba98a21290965dffcefa7fbae71eec6b4d899c7164cb9f7baa9af2d1e0be0fb634570b01c1edf39ac54b4181d0e47a0528ace674ebaab9daf4206a0d96871976a4fd6498dde78ebc4f49923d3ef9e3b61f994540ec5e3a9029d5377b7593c9712cb9c57b87c211cacf318f1230ba7c687076716d7694d5ef4367d44daa6158bee9c39a6cce0389a5f08a0ee42895ddbe035cf41f111a75f5cfcf3c333847e21029f809e779ff62ccf8e3355369a593a76e0f8b47e33fa876f7bf2860583427b7d09f8fbf5c60f881405453b27252d26db47fbcf525cee4fafae78f38e39cfcf19fcdd1de3e422fef7c78bcf975ed8763887651d0f4eeaffaf991937cd9dfef10b4f286592e385175ab55a736d99f365448852f2e8e4148675acfcf1e89e0307bffbed8044247ce3be1bac8d953dbcad68abcb89128b9deec1783c1812e9d764b0545755b056335f15e0755eb5bfb00ec0ebf3075f3f20f0ad45a3292e77ffd92a87dd1a2817e92db666a3150e8783b63b274f735323381cce9a0305a9b73d9b7cfdfd036e7e6a63e6493e8fba767c06ad6f01306b70c2d2e9e3668c1ab26c6c0acdb07bcfb5bd2e993d24d1eb75c0f14b66b6d54e2f1d9fd6b9591d851535ce284573abfe4cde4907433bdf4c03d87be8186bb36c3b5964a399a5e352dd133a03d13387242d9d3e7eeed8618b4724986c747679a7c3d95c1effa96ff798acb6491903170e0c662ca68efdf334edb2b77943e20d567ad7e98a1ebaf6aeecd3005ebf7ea8bbf65ab4ada3fb45bcb56c7a778340af743708784ade3ef705075ca154913c52123500005724e550fcdf3366b6edab10f0beffdfbfbe7be1e135b78e5fbd64e494e490fe21aabc67e76ebc67621fc7e4f246edd6cc13eb771e8c0f0f7e74f18c6d27ce7aebc20e07cb3a0dcca37fbd7efdb06fef9ce4ca6df3fea35d5b7c4f76be466fbc7552e7b1ce2f14407953ab7be9fb4f157b1dd0e0700429a55dad9df06771edbf1ec9a319b6acb6f1e4e933acb5e36b1e1abdf1feb5fb7526ebc74fdfbbeaf69975ada6fbd7eed7eb5be3c343004804bc95f386bd76ef0d6f3e72eba491437b3823f1fd8eccca46cdf269838fbff398dad78766d8a000ff85d78cd972f8a4c9a0a38d3abe2af0bbecf2cf32cf47f9c99e9d3b6c784ce0da23851feccc6d3714076335376a5a9fd8704c2c14fcfb8e854921beefec3ab53fef9c83a12971dbbad0c6b0e5cd86a800150087db58df5dedbedf75a45a63583e6590bb542d06cbedaf7ea6375b3f5979df4333476ecbaff8786fbeadb5d163f740a78183c301b0f144a9d9463f70ed3519c9711abde9fe6f0f75d5dbda6dfb7fc92ebc559b02de00002000494441546fd2c0dc0f9e7c74f1cc9da74abedd778236e85c997be4e95c5538f7f5f4da677a90a7bc41f3e8ba234aa9e4e395f7ffe7ae45998535ef1dad9684273ae704176b157dd79bb5b1d2da70c13597fff470f133eb334d56dbf5e3862cc888a538787347def3ebf6dab48d47cf94fc6bedce169de9ae09035fb86ef8acd4a8bde76afeb5ee30972f74d036b00c80e7670f9208785f1c2e3c79ea94bdb5f97fdffed6a2378d1890b86870246dd0f41c0c6c32989fd890d583f1b813281785aaa4f5ad26a7d3e5c97dbc065ab7e4577eb8af202148f9fc75a3864507fc7aeac2ff366749c5427f953cafa2d161b73b877b6770776e6a0480cd5905b441cbe1701cb46dd3de23006e98328636e9011c3a57f1e0c2e9ab1f5a2813f2566eccaaac6bf3a987ce7abf0e70ca6a1aee7fe75b954cecdeacf2c421b2d84147cb1a01649d29a2f5cde020bba21940657d73715121802aa3e3d1ef0f7bd883382c0ec0cebc92276e9af7defdd7f3b89c6737663534b5b85918383c412357f9d68e53009ebd6dbe9f43e7bab9fe408ecbdee6a647ff76bad2a46feda16b6fd87364d5f7bf2606fbb86befb3cdbb3ff8717b945ad1dd20e07ab5dc1dde07812e9207b0da4ef36281c8790c92c3e180f3bbc6ccb617ab1477fce0fee3d35346c7078f8a0d08950b9db34f8703ce5af4c90572382f7cf9b3ce64b9fffae97c5dc3235feff36832675b3b5f2e78f4af99a991654dfae7361d738601caaaeb1ffe72b747725b50e27d9fedd09bed9dc6bae6dab6e1c8ad7435d37aefe7bbbb0e68328958ad90e45536bb5b3bc17b63ba9abcff7f375de9c21c0e07636c6dcd3f488965f2c4a1d6e66a53f91970b98aa4615c91b4356f1f8727500e1ceba06d82dab30cc398a5fe002cb5a51c9e401637c8d6546dae2e06200a8ae28aa41c2ec5932a599bc5509c2bf00de22bfd8d65f9ae3f843e8161c181756585b44c2df00b61b4f5f152b64a673540606f6d96f71bc693c81d0ccd34552acc0d8d7a2be4beb4414b1bb4a2c0289edcc7587e861249e40943589b59de5cd2a069e5c8d5b4be85b19aa4d103857e21ce45ed4dc362574c1d30ff89d7b2cbeae58919accdd273ed54fd47a91dba9ac2334ea96c2d7596da529ec24f129e246929d3ea8d5c759883b65b1bab04be413c99ca794e8c27f7355d28100644482293c132ada70fb156932a7d3245514c799ea6be5a14142d0c08e770b882ba731e7a93c7a70b6c06b9b9494f492c0285b5b9dad65c2b0e8de3f084a6f2d31e79de77cf3d139282173efe122594c813335cef0e9d0da73db59f43f15503c7d9f5cdc692bc5ee4f10f77b08cacb9a4c568e1fa868065accdb542bf60ae50622c3d25508748a3077279fc3e5a45dff52654878ac3139d39036069bba5a6586e6a140885f55670385cbbaec541db8401e1e2b044c6d022d35c908b450d8cc0cae1d186569ba68eaf54cbe38738ebee60595adfa23f7fdcc132b2f8c13ca9d25471d6da58c957f9cb62d32891c4f3c5a5cdaa3f9f451bb4ca016328898231b5ba1b0fdf619744f517fa06bb222234e360da3b206335ebce1c72b0ac72c0188954ea91b3f34907c3d89b2a95c63a8d9561c42a5adfb26064ca5bcb973db3e1f0e75fae858355a68e771dae6369bbb9f2bcb9b6441414ed0c663818bba9e2dcb8b880b5ff7de4939dd92bdf782f24204027f6737028736de9e4c1c95f3df7c027bb4eac7cfd5df7eb601959c21087ddeaec680275985c7ba153b3aa4345c1310e866ecd3fc818b59444a11c309643f10c25b9d6864a0e8faf4c19c593f9d0068db4a9d83da1c037882b10194b4f85060618c46abb03969a1270b8f2a4a180a335ff2087e2ab064de0f285765db3a1309bb5db24e1092e13928527b15505bac6dac1c346d433c286ea0a5b735d0f5d5b1810c1178955966697f6ecfa16a15f8848a650dab5dd0e028919cee3f89d1a57aa74bd94e93a08b4f5140fc9231279723f5dc161e72d4a2876b08cb5b1ca5072922ff79327b595429bf4da937b381cae2a7d322514f775ccb45bb5a7f63b683b5f15d036bda378cbe64f9b3c3076e1132f7b766796b1b5d4198a723a864dbf60a13a4c7ffe384fe6238d1960ae2eb236d5880223f92a7fb9b6a26b5b77ed5f7c81a0c1ca011cb45ec358cd1c8a52f61fed60d92e2340085fa9163795741aebfc82053e81fa73599d4a0f8a12f8068b9a4adc07b4c5ffcfde99c747559d7dfc77d7d9b3ef7b423612b684b0ca2e527057dc975aab62a56aabd55aacb6b6b62fddac6fb5b5d56ab56a15175cd98a2020c81a0204904016b227933d339359eff2fe3193c92c7792094440dff3fdf8f1434eee3de7799e73ce7dee39f7e6febe33ef99fb6f79e2837dff7af5b580d1feff9963bfb8fa02788d8ea23c9f8360183e2ac1a169a03895fb15159a57532c475134add6dba2d26d2dd5527f2d288a5669b5697934af915c4e8ae5214bce9e760014c3a993b2689586e63514cb510ce3fb0ff0ea0e496d072776b7b9fabb199da1b2b387e2541465e3a2e2ddb38862582a2aa9d36a71d87b65ab99a2195542863a296b68df8fa2188da157152b887d52570b45d3eaa46cdfcdeab5871a56ce2fb861c9dcfdcfbf298be288dec9346374f859e5fe400aa3d10f44a609966aa9ad8ea2592e324e959021bbec1e8f688f6b9ed532a772afb9658a766a6368bec7d96b64f5517c4c7270dc188dc1c572cd5d4657bffbad5a998f4ee4635244ab29a0cedcd484efcf1bffc37f6d964541129c801cd4711a8a6141215c7ba2934c8e6497a9566eada51896d547f171a9927d80e635de1bff3047c568e296eebb9b4db39c3a29c7d2c9d98df592d3e17ef14a939aab4acca279351599d0ef7418dbeb25a70da0288ae2639234a97983ae419644476713284a9d98c945c4502caf4919270cf48bb601577f27cda5053eb6a040713ccd6b40d1c183e7773ffd41c08759b69d6cdf7eaadd7d7fe35ef3311a3d45d38f2f9b14306fdc47520cc3462777d9061c9666d9d44f51d44dcb1619fbadeb0fd5caa2c01aa2fdd631922458fa685ea38a4d61d43a8aa6658957c526532ce3d99fa1e88e010706da24971d14cdc7a57af660fccb3569f9ac2e4230f7d2bc86e254ac3eca24387dbb551597e68e3917190749e422622986a5689a33c40aa61e5aa5a1d53a8a61185da4c9ee371e54f169a2d54cabb41d0e48e666d9e500cd685273198d5e7258dde38da2288aa6597d943a39c7de56e7e86e5327a4d3bc9a667989a29dda1899ed29af38a44eca12cc7dc34f6d4d4a2e45d35dad4e6ff45471699ab43c8ae13a5b9d212f028a9deb83d24540c9f2ae565aa5a339b5ef079d2886a5790dcdabbc8f69288aa6790d455143ef738c7ccda4648aa239b5044ab49adc55e565a6ddbda8e487af2a4e67ca3b85072f9b3c68da6d09cda9d5c93982a5dfd5dfc5c7249974892ed3e9e0be569e5f14188d41159feeeceba06886d146045c0154f1e934af1a70f9cd597542862c4b81adf775f23149b6c8345b6b8df78276d3b20546936d5d45b5c268279cc755bb7b19240b4e5014c5f2ee3f710628f7fbc6b2cbe1fe374551b224ca824b7239418166798ae540d1b2e00af8e3138a61298a964517289aa219bf7fd00c45d392cb2939ed14c3d22c2fcb12645972586995c6f73b5f92e09205a7e472d22c4f713cc5b09025c9e5a428dab37413454970ca2e07c57214cb7bef58dd94a645a906bad66ddaac1f37998f4e94456178ef20cb92cbe16b1545d114c74396dc2e530c43311cc5b090e5418f685914403334cbc9b22cbb9c80ecfede932c0a92e08224511c4fb35c70dc289a9165d9eda02cba2886a53915c5f290247794bc75b2342486975c0e5b6bade4b4e9b227fa7e3b4c9624c9e5a0288ae254c1e786b4c71d3ac149312cc5b0ee3b3359f09c3baa51116edc943e84e7b64a7639dcef3a510ceb6ddddbb9b224d29ccaddc5be35482e872c49de536459965d0e59966996537c222eb91c90658ae5ddd79d80c14331ac3b5c81c39861bd417087dd1bd880234133b228c88253165c34cb5e3a25f774b7f9f0e123d6a693daf402df3f9973d720cb12cda9bc174159146335ccf4ec845375f507bed8aa8a4f53a78c832c530c971813313d2ba1aaa6f6c08e2dbee534c7530ceb1e5aa0198a61214901ddea8e98e472ba3f28ebde6d7687dddd4dee0314c6837b2c51942c49ee28d19cca1d0def781b3c57706f32530c0b491cb44494041724916238d16ea179f53053dbdd83ee425970792c67398aa246bc0828766ea88b8024b8822da7288a62d8a05f8992e0a468da3bd76459969c76bf63c29e1d7e8b369a92684616c510d3599485c0aba5bb84e678778bb22cd31c3ff8842eb0af43cd2f9a5783662089ee2805f7b8efe5dd3b673d7e05b70e782f680cc75f3a39fb7497f9d0a1c3c1a39dacdacf736a3ff7c8b2ec3b16654952bcd70b382cfc03645916ad66f3a9722e324e9b313e20f18fb6b673198a504f4caccda7d489595c64dc0578537c3671730ff5509d8831f933e191cc960497bdfdb4ef9bbd1445b311b15c444cc0bb23231e3954a7cb61a93d2cd96dfafca9acd610de1db6e8ec6e1ba83fa68a4fd3a40d3dbf08557ee177ee68a776f885e13e6a1cfd45e0dc3c003d67d3f9eb9e44debbabd18e76b221ff2ddd97f01f6aa1c6f7882332d4011445316a9d2eab7854af759cfbbc1ea68f8cc6a0cf994cb1ec85b9d97536711be6dcafbb3bbcf5d32ca74ecaf67b4192a2289a0e7e2774c423873675694615974673aae067ffa10da2597db436b338e073e821cb2ff8ce1dedd40ebf304ccbcfe022700ee2792ea7f3b9b9a69dc968ff7f09d9cd188bd1c6305c643c207f0bc488288621a20b5f2be12fe9c23c9262583e2669549a5d1445d16aad8a57bb6f17462c277c432f02dfbee97c06a39da4f6738457dff7785b9f578478b422e2638e57e9d9fd632879e6182d2fc9f09521f1ae184614e78ed5a93263f56dfdd6b6fea103341c939710617108755d8112d4a1da421842e0c32b9107a0669989a9d1d51d26c5b67c0996ee3e5f0ad98480a5cc99acb1942efaa1ca0967bc6d4038efa39da4f6af1725fd6ce3036bf6da0479b422e2633c567c949e218362184579e67979897fbb69e64963ff752f6d0fa8614471ee472f9970eb8c1cb756f49735c61fbfb7dfe6122f9f98f6cbcba7683816406573cf036bf6baa5c4cfb2ad1195c87db96c42da2f2f9fa2e5d987dedbbff978f3f097a700e96e9aa6cf8b4236814020102e94d4eeabef3b6036ad5838717661c6cf2e2e78f2d3c39e478aa317111f13bc4acf42aff1ba19f9174d2cb874623afce599932234abaf9e4a51942c43b09a288aa1d59e77714754769f95137fc7acdc0f0f37fcfdf363b3b3629eba76d69dd3d23f3ddaf2f495a56dfdd6e73f3f7e5176dcd553c7fdf4e28247dedf4ff3eae448ed19b755901839a212b92fdf9d99ab6299abffb6b9bebdcb653133da08b70cb962a00284e42f9a907b5e14b2090402817041a4f6607ddf5d5b36fefb17f747524e4bcd212937014a22e26e0de9f70e9e9e9a19b7b02069f61f36c468f9601ddfa2e4a85f5f51b2e158f3c4d4e899d9f1359da69f7f5c71ff82f1f3f2128d26dbafd71f39d8d80d202d4aaba840ec557a163bea7f7bcb4aafcd5e79665e17f1a7e5d3be6aeb9b941a230b2ed3f1dd8cd660c82f737f357a446577bd8a03b0afa6ed54e5c1bee38ea7ae9d459b3b4b23058ea15fd8f6d5075b767dd0dd74e53b7f1e9fa0b7541f34644ff8d3f7e79d715bc9911a845022bffaca2b7eb8a4d457f5fcaf37cdcc4d3050c0eaab4a1ef8c34b5929090fddba383729c625790e488dd2fac6ffaed7bffcc56593371daaf9d39ecfb9e884ab262f3a2f0ad904028140b820527b80be2f678891e352ef78e9bf8ece26c1dcebfe0acd0db38ab6ec3b72a8a669dec4dcc7974eb8ee85cf743c5d9814f9c0c2228ac2c9b67e46125eb97d416ab4fe8dbd351c8d5b67e48d8bd3dff08f2d1a8e294c8acc4b8878ff606d6573f745b9499fdc77f1f693ad9f7dd5724d49d653974dbeec2f1bf53af51b77ce9364f9df7baa4bd2631e5e5cec72395fdf5bab55ab1617a6bcf8459560eeb15a4c850ffd838b8879e5b6d9d3f3d2bcf2cc0f2d2e4e8fd15dfbf72debefbf4472d9459b85e654de3f39f6557677aa345e716e461ba14ecca21866578df1cb1ae3234b268dd73a664e2ca833f6aed95f23f5b4fec0ea3ad466b1359f9a573a81a6e9eab66e97a9fb47f3c6a547ebaefdc7d6336beb6043b75789bcbceaf4fec69e75874f9fac31a645699fbb7d6163afe5b1f70f142547ac985fd4691af8b0a2eefe4513542cfdcee65d3c2dbff4d3bb1b7b2c8faddd5f941ce93e606b55ab6ffcdd42f295b1919ad45cbd21e292a25477dc8a0615b2ef9af73080c6cede3bfff2fe86ea9ecd7fdb4049c2838b272d9d5d1aa0907dd7dca123ebbbcdac3eca57215b125dafdc3ad3b70bc85c251008843039779bde8afad9aab8345df6442e3ac1fd698e601171c1d20fc0ea70ceb9ff7faef9d58b253a6b565cc4eb5f5605e8f84a760b805d279b1f7de69f0ffce54d003d26cb9dbffacb4f5f5ddfdcd5971567b09cdc77596e74bc411d20216c6badb9243f41cd79949e699596d2460a2ec1579e79e1f8b43b66e5aefab0bca3bb4f96248aa203be9330a2b27b849a9364392e423bb3382f252e1a141d9f9050dddcbee9c0f1cece8e6b17ce7cf9f17bfb6dcebf6c3bb16466c93dcb2e7aecfd3d67dc96d9e1bae595ed6fed0a54229763d3ee7969c3ca3776faaa9efffdcd77ad0ea74b10fefef6878d2d6d77fcee957bffb961f3eea103ec6d7500ac0e873bfee6e66a0092d36137d62fce8b3d2f0ad904028140b85056edc1fad934c33ebe6c928aa59ffe44af4a4800f05573a088b8a3bb15c08ee3a73b5b1a298aca9c3b1e4ac2e4a7db4e0368eb3539fb3a7bac7d00bafa2dce1ea360eeb55897537151b2b53f534721484258e8a8bf6a42f29e5a8f88bb2a3e8d62588a667ce5997f70f16493ddb57c4ac6d505d11a15979e18f7cf271ff8e1ffbee1756d4465f7ef5f9437372fe9d135bbd6acfd3041c7effcc7af7e71d5f4a5dbb74524a6fdcfcd0b2f2fc9a96cea7a6cedbeeafae6df3c7085c96abf6e6aceb5c58967d656a486a328fa779b8e3cfa8c9f12f947fbbe9a3f297751614a4ad4525f0d7b4822c0510cdb6fb52f9a3ef99292829468bdf700c1d20760fbd13a77fcc5040d005996044bfff299457bea8ce75e219b4020100817caaa3d583f7b4141d2cdd372ca32e31ca2477dd9254a0122e26e8da301870bb24471aa3e2e0a4082960dd0f1156d16c0a366c6eaa3e1f99e2843d18cbb2a9ad7b4767422488138312a627a7efa87e5356ea5672e2ad1fdf96b5f79e66e8bddea704d488e9c9499c8d0b446c54dc9cb820c4a72b9e5904329bbd3b244531480fc8448007bab9b64596e357674f699f2d29258867ee5de659797e4fc7b77f52d2f6d395555656dacea320d0c38c58929d1a36dcbfbd9b27be7166c7d68e96d730295c86f2a8efdeeec82ad5f35fbaa9ecb9228cbb2fbe3a6dfbbf2923b174ffbbcaad5f700f74eb8d5e174c75f9b960780a299b4f8e81985591f1eac3bf70ad904028140b85056ed6e7ddf872f99f8c1ef1ffb6ff9f1c8b8c40585a9005ef8fc98ada9ca19e3b9ac070b810f5eeb192e22e6cb86fe3eabe3ce4525a78e57ea1233bc3abe793a190064501445bbb580288aa268ef779829965bb7f3c023b75d75dbbc496db527a323239e5a71e3bf37ec308d8b325bed9b8fd43a7b8dac3e9251eb82dfd55af9da569a579bab0f0aa69e536bffd6d8d1b3e89e9f4d2dcedbf03fb79d6aefbbf6a5ed1f1f695c39bff091eb974430d2354b3ce2dca5f999eb9ef999fb80fdf59dd3b2e27e7979e93facad0be65c9f9914b7e344e38d8ba64f1b9762b239795afad9821cc991ec92a7dfbf660fa33e6aa93d34aab6dc79d77d7bf4f9c9b6db668cbb7f5151940a4d3dc5337293dc4ae45a9e05d06d1ae05c033797140280e01cdaeea6a89808038664d1bd07f8c59f567b14c96e583cdb6c737c76f4748042f6bb45e3161665b875afab8e1cbb6afef43f5e37fd83f2eaa553720314b2df9d90eb3db2ac38df1b2b3227090402e11b93da01bcb2bba6bbafffc18b275e37bf0c40bfcdf997cf8ebcb7758fddd82058937c566c4122e2ee9f18aedfeebaffad3d4f5f31f9a5c7ef0370aabdeff1b57bcde67ef88a60fa9ce49ba74fb776fcf83f3b9eba6afa4b4ffcd0e670ed3ad5f2d7bd2deb1fbd66e391d376bb43b49a3569f921c506288ae6d4b44a03c8b2244296e0c979b2e8b0753aed3f7d7fdfd35796fee2ee1b5c82e816e7cea33c595374d8fef179658c86bdb674dce2929f00d856d5faf8fb7b1e9d57002042c3df3cb3c07da4d5e97a664f8b2c89a36d4b16053622c61daef286ee9fbebfefa145e3572cf4a8876dab6afde57bbb1da72bafbbf8a2872f2d7bf8d2b20f761d76ab9e53ccd0f7ced66cf9f2faefcc7f68c99487964c193a80667de3efed91eb2f9ebd6edf51abd9240c983469f96f97d7a744eb6f9d31eec9ab6608a2e4d6bdee39b6272735f1be6b97fc6af9459224bb15b25b2b76a425c6dd75e5c5be4766f92864531445f36a3233090402e18c39d7f2305e7d5f8d56d366952551104cdd00b49945aaf874676fbb8210f894852e738fb79c6258d16a0a167437e44f156d164b75051f97a2cb9a280baebec39f331a7d44d16c00fdc7bf94ec03919317c82e8757349a819417c9b63ba81ed380abb7c3adf43c64aabff6b62c0aee2d04c969ef3fbe9be65486fca992cb61a93d1252d93d6b02cdf196baa38c5aab1f5722f53447397bfa255ed0c50a03fd8e8e46362286d547db9aab214b5c74a25bdb91e6787552b6fbfe66146df9a8c8cb92e8ea6d0f5622e70dd119e9e9edf535beaae75c649c2e7ba2a96abf2c0ad193e6c6c9e640597443b42a2ed5da58e5893f4d8b7dc66cb9bbd5867e87e8eaeb3af70ad904028140707341c8c378f57dbb3cfad932c5a9d44959aaf8348a669485c029cab79ca2284651d05da5951c368f16384581825b5edabd88a7391e9244d10ced2f1a7d7c204a9d9c23da8c5ea567dfd5bfaff6b6f79b3000189586e25414a782e0f42eeb8395ddb9a804d16a1e5cf2b2746cbab1c5e6ec31a2bb0300179da04eca7176b7502c0b49122cbd9e03d55a4d4a9e574a32ccb67c55e4299a611595c853723b653940f51c340d8aa63995ccb032cd06cba283a241b3befd2281aeac37b2fa48d1613b2f0ad904028140b88056ed6ebcfabeb22cd1bcc62b7d2d8ba2a210b8af40b8a7064561f24149e9c1d31d5ef56bef6d0445518112c234230cf407283d7b16ee4af2ccde9addeae3c32bbbcb92e83ec02d59ed164d975c4e9ae52896a3184e168540117a5fa9e6d1b41514e420257286733b15a87ace72b2e0f2845a51169d61bc82f1eee04b2e2700c93e40ab34e745219b40201008b800f5dacf8dbe6f589684507a3e63bfce4cfafd6b6a2b38c86365e17954c826100804022e40bdf60be79a3eb62bc233967e3f676d8d9585e751219b40201008a1209b9c040281402090d44e201008040281a47602814020100824b5130804028140181d436fc81f6d6823e12010080402e11bc4c4cc64b26a2710080402e15b0e49ed040281402090d44e201008040281a47602814020100824b513080402814020a99d402010080492da09040281402090d44e2010080402e182e35c29bfb9ccefee68ec050dd07a9e768a825304041495e5ce8de3c2a9407489e018e67cc7cbd1637cbf9abe69463c73d6468afd9d6baaa4eb6624aac2ab3c80aed6ce7d4d6617af99929790a5779f21d6d7b51fef71711addb4f1f1d1f499b8766d9ef481ffffc3b4676c090e0e814020102eb0553bc3e524471525474d4ed3d49dee4154d4e4b4a8a294881475980638d7bc7bf8a8e3fcc74bb49ad655f559c7c24887b96f5d95c9e95779dfbaaabe702aa82d3ff2c067751d0ceb34b6ae5a5bbead4704c49d9bca57edec18004e1fab5bf9c6896669b4aef5adabeab35a4debaafacc9eff876bcfd8df420505874020100817d8aa9d569715a7ba3348e391eee209c9c5dca8ce673896e62e84a707340580393b2345090c0d1517589536ade0ed3bc2c97b5d7f3b6ebfed92d2cb5238202363ddbebf1ceb9f37c1fa82917eecfa92295aa02c45ffef43af1e333f39c910be67eed6adad3500181a00f461da33b6374f218243201008840b2cb5fb5cba01b87c1694bdcd8d7fdada560700ea954bc7cf4de40157f9eeaa67aaad009263e37f7a49ecc68f4e6db64b5bdf3d505c94ff6089d6efb797e624f96753b3b1ed7fb7347e2500a02f2fcbbba9388a09289c917f6b61a4c3d8fc5a2dd24cc6378d02c0dfb9205b5377fa854627800593f2ee2e89118ccdafd553f98eae974edb011465a4fd78612a13caec18dbab1ff81a19a9e417ccadcdbffbaca50e805a7fe7388055f9a7ece6e70e533f9828bf558b34abf1cd1601c082e2bcbbcb627c939cb9bdb78d8d5f9ac24192449a9eb9a890ede1da1a9a109b3245eb3e84ff4e99f681aa7ec724c3d06eff88fe76353f7798babbc86717a2abf96f87a90717271c0d0ab8b277a38a7c90834ac1710ddfd704028140b81052bb7f9eef6f59b9b5ed9ab9137e9da369abaa7e74d351c3f553d31a4f3d735af3ec2dc5f1b06ffae4e8433bf5af5c968f8f6bb2168f2f8b5277559df0fbede786b717c70fd568695bb1a9f1f219858f17465a8dcd2b369d8c4a2cbb4cdde12efc69bec1d963fce5fa2a0b33f1769d737b75e7ac928237974634559e5cb5fd647276d66b77243a5b1b577c767a41514cbae8dc5ed5d99897f5d2ed895a57ffebef57add8c6bf5210caec921b7d8c54f46b8a645cf159cb921945bf2e34988ccd2b37b540adf18b86dd56d1025b11b3bdbab3b478dc2b8be2c4cee6159baab3b3ca96c40d25f7d616132223d7ac3bb0ae5b0250949df1d379c9f57542697694f71843a201e53627e04deda23892bf765b450b5c4554803d6d55a70202fee634a79277a38b7ca083eaaee0e0740735edd7d70402814050e23c2f82ea8fb72331eb861c1d24a415e6ad8c12be68b4320c0dc1d6deef04a7bdec9ac94f15e9b57aad8ea513a2b406151df45b9d6f85b595ad88cdb8b53092010c8969cfcf4d4b84e42d54d1b4212ef9f119faedfb5b6d9080983b274531a0b3c6272683bd6b56a20a30a4245dced236009080888766271a6830aac83b2f4f43637b8b0c000d0a66db7d8d54f4abbeaa15891977161a18203a31edd9323d04ffe7e13405500c2420ea0765715a1a86c4e41b59b40c88be47e9342cbabbbbb3f3dfbc63c69b3715a635353ef8451758362592f71ea38a8cc85107047b247f3dad07dac307055cd1bb51463ed041c5e00cdfd704028140b81057ede05918612f7ad20000200049444154eb6ffe77bdb7a0a8df1e3da3e0094bf573eb8f9880087dc4838bf33ddbf80080e8bce0df0e21805e5010edfd312e27350e3879cabf30392a02361118ca6492a46123523c8fff298e1d4c85ac4aeb3d4dcd027693a00965b63b98aed07e394429397a68991e1da7094ced1e63e4e4d498c187e49213e0fd9f390fd804e893ef2d8e6400a8226f591cbf7953ef40b6d0daef449ac70747bfa9ce1e5cf5b0fe86202a28e0ac9277a388bc92830ea74270a286ed6b028140205c88a95db03a93f30afe3cdbb393dcdbdc56cbe97b5bbb7545052f964074d8abbeaafecd47352fdc910dc09d89947eeb933d206c6fb6dc9be759b1361faf39a24fcbf52f34f7594c42f01b5ad4602ce4a11d0dc1e5003cd95d440478f71bfda292d9ee7f73a1fd626bd1667679dbb39a1c6043bc4cc850c3044da761a162bc3bed2c4303a2cec0569cee43b1675d6b369a1115cd0f17fb207f43d01714f087b395dcaf1d4de4831c64a1109cbe11fa9a402010080a9ce70df9f4dcd8b6eaeabd3d2200d1d2f5f4d6c63a91eaa9af5fb5a9d10a302a7546bc06904450109cc73b9d00947e3b44567e221a6bb7195d001cfdc6a7cbbba1e67c0be1e87f757b5fd1a478bd275f7b919582d3f7a7437d0000e7b6cfeb4db171190c00a429990d1f2315fdca2a4c444b9dc70c6bcfcbbb4d60cf24fe690549e86e5edf6c0700c9ba76ab111951057949e86e5edfea04006bdfabe5d6054571c17f143eacbfca04073c49d1bb51463e00c5e028f5b5b8f78be3ef560f90a94b20100817e8aa5d9b92f554f1c0539f96ff85050494168e5b9ec231b1790b3e3a79d7bfdbdcf9f5b68b27c681c949e19fd97a686f61c19fa706ff7608555cc61fcb6c8f6eaa780900505a386e6922c3c0af302723e3e7259168ed849a1e5abcb38a0b653aaaaefae64a0900d451abaf4d653a6ba0a6354a6603d290913394fc42daea12f32a8f19f43525f17dd510031a54d380e8fb729d8e455f60d412ff38c3f4e8d6236f02002212935f58180fe0f9d9e6073e3be42eccc9cb7a382ff061fbc8feaa69400af87f4e50c0d3537825efc28e7c7347b0834c8c42703215fa5adad564d9ab72dd40e62e81402084809265cfeaed6843db79b3c2e5ea7588ac8a37f8fc55b8d56a778089d072de6c244a22c0b8ffe43af8b77e48a2d9ea827f85ca85a1b136d7dcb5837eedd61c589d5650d15a2e1cb37d8d543c002e57af43d66a79d559ee98b8dde178836f4592abd72ab20185638142c015bd3bcbc82b056784be26100884ffc74ccc4cbee056ed1e382e9a0b4c9c5aad5aeb5fc2f8ac39837febbfd8660c7a26acc2e19021884ec0a0e555619bed6ba4e201e0b8686e2c82a6ec2317ade7be8e2e5208b8a277671979a5e08cd0d704028140b81053fb05892a2afe270b1803090481402010486aff76c0e8a3caf4240c04028140f88641bedb49201008040249ed040281402010486a0700b86aab5b3eda57bfb3bac72c0d5f3884e812c551367306a7f89ddedff3ee96e3ef5699c330de4357b3f170d7f9d72015fb3bffb3cf38a20cab68e92b6fb68fc6770070f418ffb3afd3d663fccfbe4e71ec8c21100804c23737b53b3f5a5bf1c4ee2ef0385451bde28da3271da10afdce1abd52fb598abbbb366daade2a688afdbef832ac9d16e3cfb7d6fffd2bd379efce3065ce8f1e38f94cb5256cdf0753b58fa0bb75ec8c21100804c2d872ee5ea373189bdfb1a857df3e398b064a5292fe736877bb334bad505890e9fb81d433506a3f4b71778653ab1f5c92534c8f60fca09dce77d7d79b8064d5f97cba119eccb978b8bceeb3869e0a0b72f2e8307df7e227e83e06c610080402e11b9edacdbdb6888cd42c4fcee0f363b12f44a1cf1ab23f0c11f4b113779f917feb38bcf8c1a9ed7629e2ed03a5530aef2d360c63bc9bdaf2e31fea921fcbeafebb43e16e2658f1dd00a9f678ed1fca7b4c00c0df79f1f825696a25617205a9f233d0800f40a3514dce4b9bdcddb143085eb1f7fbf85eb018c600231dfe82ee676f0c81402010bed9a93dae70fc0b8534e06aefb23637b53e63e41f9bc3c6e9150a87cee10c238aa08f89b8bb8f9af884db2fcbe73faec95a3c7e46947a78e301883dcd4f1c979eba3d4375a05361f1aaa4f8fe5a91f98972d36357974e8964daab6b1fda7abaf48ef10812267f3ead233c95f41134e00316e505c5190580d86adb7432e87d01cee0f5bdc4d576dfd64023b53e82ee6726484f2010088473c0b9dc43a619002eebc61d75ffac3401ac810e553874ca8822e86322eeeea326de86c1d3b57e1bec8a765a5fffb465c9dce2021a215edb53507c6fe7a37e72f1f829919ce892553a0d60353a106c27139e4afac81af04a3824456d189f681ba2838df415746f183b6308040281f04d5db58b2e17388ee122ef5c5e7227a4f26d079ff8c2f8e6c571c1856f2ff5fd22ae8c6145d0c752dcdda3e3eed3e2b0c63fa16dde8c986793e85eabbdd32a99046baf23325ac5f865f620c5770bc319abaa6fde6a07cbe6a825806595ec8c4e094b253d5c0df870f1f8cea839e3814023fd3817c610080402e1c24eed55bb0e6f482e7eb4d09de9e892a2586cb254ec6ade1e546806023eef3a8c08fa188abb87d0710f65bcb935834fd65b9edf781c409745025a9ede86df2c4dd3faee890429beb75754bd2924bf704b4a344703fd3fff778da064e7ea4b62c251491f8506fc6838b94fc148bf7b1debb9338640201008a3e2dc6dc8c726a82bf6d59eb44800e032afd9de999c179bae54e89fd74710411f2b7177af9ab8215ce3e32e5938f9cfcb4b7ebbbce4b7cb4b56e5b111d9057ff6cdeb9ef0062abe27d3488e50477334e0dcb6aeaa0e80a8606757982ae9ca1af063206a1e6ca42f69e7d618028140205c88abf6a4e2c21f751f7b6aed014fe6484c7e72764c340cc185fee7312388a08f9db8bb474d1cce308df75bc532b44e79c11fa8f89e6ca6359fd6de5c5d0ba0283bf91ab4fd6663fd2b9707da59166f0f4f255d51035eea6eb36c85ed863c5da8eed00cfb47695913d2828dfcebac21417745c5fa50c6b413857502814038879c6bbd76d1e5320509722b16fa9d359208fad88bbb876dfc3084567c17cd5691e158ad7f8bc17686ab921e24737e78dbc14399c577e6a8cfa6af148df4e36b15a427100804c2485c107aed8c922037339284f98822e8632fee1eb6f1c3124af19d3168155a0cb6335c95f440c35c7643e2156795d7431a397a6308040281704e21a2ae5f23e74ff19d9b599646e24f20100824b513c618a2f84e20100884730f791c4a201008040249ed040281402010486a27100804028140523b81402010080492da0904028140f87fccd0276b0804028140207c0b18fae3b773f3353a0281402010086385e2d7e8c8863c8140201008df2a486a271008040281a47602814020100824b513080402814020a99d40201008040249ed040281402090d44e2010080402e1dbc17910751507a4affaa989295438079f38229cb043a3a3974ca0190080b34ffcef51c990c62cc83edbfb1251909d22c5abc00459b8f98824f8941a74546e3693a61b4de52669f33149d051df99ccf083856368fc88410e70010038ea3ba543c68c79dcc2c4d9d1b66967cda1568bddc924a6c62d5934a128813f77c3cfe97488b44ac33267578fb1f2d8baaf064ae64f2d4d1e9a44624fcb47db9a5dd129d72e4ae7cfd3947676d47ff0b9914b49bb7a5e2a3346417076d47ff0796b6451e1b249317ef59ca9bfa33560ac7aed5c5febbe4eb3bf5931391b6b45e3ae27eef86575f4e57f7ceda16c15e03036ec3dd2d3e7d264148c2bc9e5c2a8c165aaaf6b3c65720c804dc9ce9d1aa71b39f1f5d4561c3cd66005e232269695e4aa068efefaee1f5762f1ead756e5a9944e905d56935582f7137014c3ab551ad5f95a3d9f87d47eea88b0166c58a9dd216dac964c002017e4d1392a0010adf241a31ca1c182ecb33444fe7ca3eb4b076eb982cff7ef2a67bfb4af550a387a7b9574e3326e7cd8d9dd6991f6b54a50d10b27c37bd51b3be3476a5dc905805e588ab34e3921e3160e7d278f3cf276bdf7c7ceaaa663554dcb6e5ebcbc40774e469f73fdf31b3f31f30f3fb6ac48735615f537b7eea9b2454d7395fa4c22476fdbc6a3ed0073d9f94bed82b96b4b553baa9825f3520d631404c1dcb3a5aa333e227bd924ff097a86fe8ed68031ebb5737c97f5759afdcd8ac959597bfca3ff5d5f75227fe5afb255b0567db8f69a4784c15fed29b9ffd2571f4a1cf642d4b4ffa977f6ffc7fbe38e9d289cfbd9e593b38619effb5f5c71f7ea4d4305858fae5fb762b2e1c4fb9b4fbcfdf9cdbf58a674ae2cba5c02afd350b20c8a82243a064c0ebb3a22da705eb2fb396df4c411e1d50dce775a1117de65a0bd4e340d86ed40d3e0dd1003003c0d00a27436e6501c03805205dff50dde585e3495bd732e7b798efb2e44aeef1dcd477999908563617cb8ad8fcf611617baffa31714d363916f42c76d647adef2e475fdedb7cf7df2e6c27400c0c6b78f759dab01cff10018f55904421425002ab542076bc74df9ddca05bf7b6892e1fc5d44b5e9c5bf5db9e0778f4c31f8ad99a4b30a02c30050b38cd7fdb3f377b4068c41af85bdb89446557efecc3e773139cfd60af59b56ef0670e3a525106ab6fae4750038f4d70d7fd83c4cdf88dd9b7df3ba9baa9daf19c5d0a7347c3a98d7c74f2b749ff0c757d7b74dbfe10100efbfbed514eaca48716a8d56add5a9355ab5ce1019a583e810a4f313f173ba6a57a9a9bc6c26af573a2c86b53a3c5433944a4f9c126db9acf786cfd92b7dba5538d80b30d4e219ec9c140a80d324fdf78070b01700e2a2e94b67b2393a383bc5977689f179ec8d136840debb53d86dc6f245ccc1cf85935600f2daf5ced45cf6c6f1c17739d4f86c3a0dc84ca41a1b5c9522dc43aaf9b4b0fe98d4e600800803bd6c063b3e0a4e93b4ee8050d90b00c989f465656cec602d3cd0df20ac392e0f88985f4c8dd6f857f74aba584a6b932a7b01500b66b20bd22800b63ee9937dc2093300e466315797317aa5c176512993e6fd49923ffdafab5ac42573b88911b019c557f68b5c2c73e76c460caa8d576c3a49fe607340dca843e5c2b67ad90480c1a442f6aaf1b4d827ae3b2c414f5f5ee6b7ff6f3e595f0100ccedf72e9c9f4c0331abee1657be5c0df474d810a74143e5b1359fd5579b4500f14949375f3bb5d059fbec3b0d86ac387d7feb178d22a0597ef3ac650581a9c4dad1f4f607c7f6b43b01a6747ad1ed976654aed9b1ae534c1c37fec797a6576ed8f961ad459d9a9ed4d254d10dc0f6cfffdd983b6bda5db3e3824ecc51359f0cd562d7c9637ffba0b6c9015d46ea3cadc220767634bef94e0d52b2572ccfd322c89dab72bffaf8e011177ffdadf34a63686bfd577f5cdba0ce2a7868794e5b90e393125cfb361cfa687f672700153f6ffe945b67273380b3a765cd47955f343a01e41566dd74f9c4e4beead5efd4a54dcccd349f5e73140fdc91bd69dd695546eedd535d7f7ba741951ac9777656748b50e96fbf61e6fc74dbeb2f1e38e81f043f177a5a3ef8a8724ba313407a46facdcba7e4477aa686bdb971cdbf0e6e697442a5bfe986998bc7e902fc0d0ea621d8e0efa4ec78b3dcdf009da2a7830675051b3c8c9183d882eb149b4fae7ea32eeda26977cd8b039c3bd6ecdcd4a9b9e7ded9691d279f0d0ed4389db359b93c54949ccd277d3a422c8e467def707156e84725f372f8205fcab8ff841713b70b86dcc498eed62d8d4ea822efbc765cfb974736368a5069965f1bc654fa4eecfa7fee531cb442987327db11d483c3f678c0d66dc3be3701e09e9985bafefd9fbad700861fbf75d5f71277de7971c321e0ad35ad0f2f09f5b4d465a971ff2375fa27374f4fd9fbde75bb8cf5c071b30b89219aeca9af0200dcb3befe57e918f8cfcd79bfdf83867653f27573a7e1f9037bdeaa68b96341aa72ea9401cae786d8fb6fd1611930db240060d411916a9e919d960117cb530eabd5c96bd492ccebf5eecd07d9dedf2b6ba2d4b00d38404b36a74b06c0aa23747a1515fecdd4b94ced3905cc9cf1ccac7194338cd42ef648fb1c00a8e5b399080056e9b8cfcd92a9573a68a292b580286fd9ed3a3400d8a497360b077ba13250b95a74f54aaf6f7435081025b94b44a77d30bb986593150e191a2de50e24cf5311ca0b50f9b39dc2a7fb8477b6ba2a4500f4456994ad5578f9a0d4e6c0d43c666a1c4c66e99d9d82cd21bdb459a8ec854a4b656ad166945e5eefea903c89bdad5978f680d466952796b045ba511bdfe6906b5aa54a2b95ac02206fdf2b344b104de2ff6e114e98911c4765aa50532f3ebf53540aaabc7ebbeb9d9dae7776baded9eeda582727ab649355de7d5a0250532b7639c047538c526d4ec5a61118b7f663c2c7f5b249452d9e48670295c785b76b64d12a5776c995f5b2d3df9ab6da2e0030a44f4bf60c3c3eade8c5c72f7be1f14b8a34b0d6563cfd416db5198be7e52d1ec777b6b73ff7c671b360af36db2a8e367dd1abc93300b0ad7dfb6083183054ea56bd50b1a7dd99372e7e820115fb8f3eb1a6b9747e4667b7edd8fe8a17d6ec7c6e7f4f53372e5990ac8fe2b50000b54e13a5a6954eac778468d1d976f2676fd73639109f1193dddbb2b1caa6b4716d3ed66d3b566f15a1e4ce5b4d093a676777ff6787bb00541dac6b323b55c9518292e3355fecfbe7fece4e43cc4d978e9b00e7179bf7bf586186ad6df573e55f343a75b191136299eaaafaa7fff46593d3de6476eed9fdd59aa3360094d35add6d3b5663b60af66ab3ed58557b85535f9ac4c36179e38d6d5ff6533aff20f839606959fd5cf99646a72e29a63496696a6cfac3b3dbea067bb1b3b1658b91cf8b65e0b0ac7963dbbe7ec9d75fc5608ac106ffe59818e967408ba2a743d7473ad0e0618d74a358a720d89b1cce668bcbf348a5d3d2d96db18b101403d523852a0f658020f87604a58d0c1de750fda8649e822f95f63063e276a1e250fd965e265d0538fa5f7dbb626323936e60e0b0ad7d7b7f40dc143af1bd9e54a541cb843f7710d88323f4b83fad15070160566e2c0bf3c9a30080f933bf378353654db9fd36f7167b4bd340a8d3d52977dc75dbae1577962f32547ef4e9b3c77bea0140bb34411d32f5c45ff4e0ae8327f69e7cb8f3e3579e7bfa671fee0180a5178d436cd6640038d1d21baa395906640fa2dd6291c131346461c06cb631faa8c8b838bd8eb19b7a1d1264c882cd6cb5c91a43948a914451f6d9d91725599621090eabc8e82362e32322b482dd6477c917e8aadd73bb1ad6921db5d52200c4d11353986e83b8dd8cbd35525929ed9df00f5ec3c640deb5d5b5a5175f9e9462207601aa68e62717333ce4edff756d37cb9f574b37f9bdf703771267697ad9025ab3c1b9dd4a5d71099719e20ea7c128350cfd249dea944bf5f4551329514d4d4aa59aaba4835d3280d62ab10b4034f3e38b190de45d3b85fd6638dc6e9aa557f702c0e2f9dc9c78ca663c23e355f42357b07a87f4e74f05136075a1b94672001189ccb5a534fac597774b0ea3d4e06072829e39b575c95ed91f95063fcea7d775496d8d926d3275a415006666d1cd275cc1b53565530a4d8b81716ba8f07427aba62f9a484d64a8a458f00cbd3807822670ff9f651900bad448adef5e2fef79b3868d4ebbe7529da08f9d961b51bfb76f4b6de7d04186d4677f5266b0b5acfa7d79279c034ec0e7895d4379cd00105f58f8bd6519e8aafd9f376a07aa4e355db5e4b79776fe7c436745550f80c537cc2b8dd195debe50fbfca76bbb35b7dfb3208741dde6f2e0134f97242ab6d87cb40180ae70e2ea9b7280fed7576fffc211f23908a3ec0e357976ca5bb54dd587daac8b547b8f8a00bf68520ceb14821d77d8dd175d91d3c72ef90e378dd5a6a5a91af6ec6f029091b7fafb455a0c6c59b3776b27e3f0e402fea6efcd5b9ca5b3d61ff1b3c590fabb9f94c541d8f1af4d6f348a5b0e397fe91f045fea76573501ba8cc23f7ebf808773e33f36ae6db77c52deb322c53d80927eb76a461c9c5bfeb5794da3b8695fd7c4fc217f157be1cb6826c860d5fceb6726bdecdb0b0a9efa8434667960af6d5534f2c7b387a6ba62f46052ba14f88c31bf40951b4bf295cb93316c94063b029036868873c39eaf42f763a0794abe246496a5841393a18efbc98cb88e933f7aa16a009a071f593249d3f1fba7f75443b4fb5f8d953ab13af28614040dda86dd61cf1d31b80787edf180db65a70d00b26318805679d6e6a200a860c82ff21c2308211309a78b8ed201e86f7eb9a6a17ef04a34ec83015617110b60e0c4df9f7cb9ca53a6d3b04074e61260332c3641713b1eb2d3dcd5e9b7511d19c1002e9b0dac5ea7e664596635116a7b97d321708c0c30ba98288e82147025a1bc5b00bc4eafa601f05a9eb28aa2048eb970537b5848d2974d00802ef1c5ad529b1900baeac4ce52dabded1c9749c7000095a0077a016970034243f10040e52651dbcd72ef0010e3b73dd1e3f0dd3b0100d105288f2bea96cbb87c0d00f9d04ed7c7466caa944a6753edcdd2be5e79dd81a1abb97bbdacd2501a00a0e6cce5e60036a35ff7b7f403f19e7f8fd6f888045a0f4045e5a970d0011668eb9501988ce2df360e4d4dc5e1b67c095ba082fb2086a3782017528d43de754c6c026060c6695011bab6e0a603e29659cccc3089fbbae44d07040060a8cbe7b36911f49c52c5db2511c0c069631fb2a23c055dafbf50711afc15b7ce9bcca3f958c3c6c6aa57e1f330c37d1f9d9b6c00a0899a6cc01673c0a8159a9a9d003aabaa7e5e55e56b7fe2f4fcf40d9d4d0010bfd8bd61321824c10968944f1443b6c8009837cdfd7c2372ce54cd17bb6dc33d9e5672479395558aa60ab371cb17ae930092320bf5602c0a4766cf2d5d66acd858dbffc6bbfb0140a5bff37b89c90200e8220d5a00d02dbee9e2c580279767e42ccc52d8944c9f981107006ce1841834764208088292e9915a1e00f8a27cfdda768bb1cf811400489f9a1d07007c4a2cd00808e288bde0543218709ef4312047c9d34cff2e563038d848df0d42a53a3df3cf7327e9e8b48c18a810e5ec7051f2e98890711687e9c720f342c427bc98b84dd2abb500a2a25380ead8c45c3d80a849b1a8ee0e6b2ab119c18356d833bab9e3676d183d1ec8c2e21c152039fc96cbfdc72a3cef7c6842de19749d7867577d2bcbe6cf9cfbd18a699d959fddb3d7580fd3af77375cb9343352e90cfb892d5b4f0f38e3262cba755ddd3503ed1ffe72f6ef3fc2cf9ef860c1dbd7ba8fd87facf5de69b10a2b768a37c44632b22c83a228c9dedf63370fa863f4a0680896beaea101470b2218806287b6ec29ca37b3cb006499e278da673f80a24691422fd0d46e691a5a2eb7f5ca2ac6bd08960fb7ca731800e86a972ca0f58029e0ea3ab8add1dc2b03d00deeb47775ca22c008726bd09e8110fa3688a5fd6ea260954f1d17f7f5222e9db97d1ac3b40b7fda2d410c685afeecbfae2fadd43525943bd52dc8c1f66af9c461d7a104defd4ec6688de7072d340cfe23269242af1c97c5de57468b825c5b2b754b8893e466a30c8e4a8e191a022c47f1dc908da0e9e9e9a86992bfac92018ccfa7f910b5c532b262d30171ebec467c327d67291d25c8fb2b852fbbe47587a449f3e98e6e8f25bee7654eccc4ee2a38dadfdaddb172760280ba7d27bee8b601d0ebe9da2d0737363ad34b26fee8f21ca6bee2a1379a30b85ba8e6dc3dc1452adc6db3f1493c1a6de9d3cb9eb8345974daaa0e377708aa041ea7361c691adc4b7e6573db634b92fd8d573e318eeb576c51104400e5875b978fcb026c878eda46d876fa42c91d266641095f71c8f6c9e72d0066cd4ee781534a4776b4da920a721fbf2c39c6d1f7c596c39fd45a5edd78fad13411005ceef59ded937f6cffa497bff78a3800e969d18a03b9e9649b754982163036f503b08f30f27deb97ea5b6c00a2065f186c3ad9665e926080d46b0ab717a2cda7820d7e70e55c5f038c4a9e4efb7e4170570f1a3c9c916e14eb9cb008009aeaba4424304ecb69475881522a1fce80e08e1829ce7efd186c5e88f8648f22264edfcc3b5c3a509e4a9ae0413bbab913100a658f6e4e6b330e40a5494bf6bbd8081800b06d47a5f5d6f1f1d316023b801d7b5ed81cfbfde403ff781f007069629a5a6cd9f5b77f7d66b7a9a7dffbe082cca17b5c4bfbfb35b5870198d56f2e9d186b1786325f8853d89e3df7fcec1560d613eb5f5b991e191dad1d0f9c18bc4d058045d33242be48078072a7605aadd3d8fb5c12204b12a58a8834a8069fbb5b058a051cf0d95f97454186fb51ba2ccb81ebf70bfd353a450eed73b527b0cbb2fd7c385623018848611f9eedc9ae7bb73a37f5a2bc569ae5de25b34acf6f152630f2c12e0028cba1d3585955273a8ce28bbbe50c51ded70500f3f269c6240180597c7db7cc754bbe6f62bb4400f2da8dae29e39965b9c1ab4cf9f50d4e150011ee5996994d6bed32203b6d726b935859e97e2b0229b9b4b7e914a774d00c00f1ee5b6915357732cbb63bb798f1f10e217dfae88c8749f9f5caf4740af57257bdf03ee8089bbccf2883a1f322c597774b60e847aef1fef1a8fcce7adf8769d477afe0b2721834b92739352d850a55db7db34376996fdcc6750beb9a805af9aa62cabd8a8b88a4c48e214b7c5fee6392f3564eac7be1a8b362f39ebb77f0e9bcb3c90c00e9b327e6f338050680dd646e3c597d606393efaa7d78b28a52b0bfb6697fe56be88d32b56eacb241955a9c62f9c37e0ba0597e69e2171beaab77efdf98bf6c5996e87202b0bdf8fce6790bcb96299df8f4cdca6f5e644d4ac1fedacea3477e8f9ecc7ee316f3887629bb933b351387aadd8ba9b979865047f61c3bf2ea2111b19df75c9ce8be62c72745e496e5ea761f1da83afafbb57d9956e39676271099e40eb1202a650fa0bbfee97fb966c55a3e39ea04306f522ce01784e5a543fbd8993ef5e7baba36d68a00bf6c7a02badadc553df12ffb2cae7f4bad086041493c1c1dc3f7c2efefcdd5ed0934382552acf731607c9382a7fe3def67f0d5a18cf4a15b297a1a775e6eaf7e7ead95af6f690a885770a0840ec5f24cedb0511aea88b0e2ec0d4baabb1f83cc53f4850f33265d6d6166f5613ab16c7656f0a0cd1acddc090885628f0bad279f7ea309aaf4675795fabeda179598076c82d9094035e1ca89739f3aba13b67fddf7debf0637417ff7a31415acbd275f7ee59f00526f59e9db7052de75387e1840cb91db5e39e22d5e5a9012e938a9780a3b7ee91378e537d8f39bcb0a7e33b46d70f9f40847e3decd23bcfaed7f016029d84409ac5a259bcc760daf662959b45bcc036c849af3bb23a0213a0449c7d1106d1617c09d45523f0fafd10d6d370edd95c95dadf289803f2a13a423bd00315338a10000200049444154303d6fc8bcf1b9340087511a5a76f77a1e754f2a6667c680896056ce66e280b656699f5106432d9dcb8dd7804f641647034043abd4c45071434d53f9d9140087433ed1e7df23f4d0d5d121c201a854d4d442f6d60974663e9d0c98baa4770e882deecd14abdca76556cef4347db00b5051cb17b171f4d01df39c396c1c0087f451833c2ae343f5922691fdc1145a059ca897f6196568a95b96b0116ed754607c5d080e7e3c3d550500aa443a5315bab69003c42f6ef953b98be22858a58f0f88fb7a1161a06f9848c3c79280f156bafc9287e7c5eb00383c79bd745ee9aa25c900c6cdcccf033a6beb9f7bf7ab1a5e0300dda62e21f81634b0566dd6845f5d99ae8373cffeda8d5536c4c63f7c6ff686d76a014c5854ba6cfae47be6450258fb5a798ba899302d1ec080d956deee503871656924945be4d3263cbe241e40f5d1a62d8d48370c3d101d7ab4e6bea7e211ca9d4e27f8b4f4c50600d015668fd3843c32f6e2b9578ed3a0bbfd9fef1ed9d8e88c4f4affc1c2642626e75737e7a5bb6da875c210b3f2deb258c5bb741de30e932e36526d6cf9e4503f80598ba62f4be301bf20f8f91993f3abdb3df56facb241a5bffd7b0b26e97de2d0d8bea5d60660de928be627b3befe2a063356c9e0387f038a9629781a30de7d8f1fc9480050ac93cfcabf29830170ec68cb493e325de537969402a55c3e8201acb2d981710e0a4b4a08f342c4673431191c0c21df0d19662aad2c8d82c2a01dd5dc41383deeb6511f686af2c499f900f67c7cac1b4064d90bbba7de77e9e02f4bc73dbfee8aab7201309a18e5d7e8d26ebc6ff94b99daaca18e4e7ce8badbfe98ce853c2566dacaf56ffd7e61a1b760f60ffff8e11f6e9de868ae5c0f00cb4bb32343adda037ea4210b8244f37aad9ab6f775f57577f6f79a699541ebde681fdc61a778bd9a95067a3afbba3acd5699633c5bf254e8aa4784f22efe8f36b4e19b85048b43e655141ff0f2a94d1601bdc62f144e87ec94020bcf189b4d0647695885f2e0a6cfdef8e19e5cd864d0945e3536113de3da44013697cc28c524d4cb31668b0b22547a0def379525abc5015ea5e5cfe0a653305b5c60388386fd1a4f149d669ba8d204980d00a2a5e3a30f0f6facb5c190feec4fdc2b8ff0dd513e52740a56a78b092c97ac168708c6a01f6e5bc35a7fe4c1d7ead367cffae59238b3c5c1f01a6db87f551cba7e5130db5c6ef795fc0d15cc910d0ee1e91919396c9d4e9bcd21fa9d152a50230530ac5e18ad0bc1e68d263e676fd26867c4194fbaf07b7ce0e315794f6ec6757fdf3df4ad18c1ee7080d3f9fee1c1c0fe171fb87bf5a62737555f5fa8f0d289cb3e20020ca3e23836cc531c0303221895cef360a3f2c5eb6e5bbd3b7fe5bbefff74ce990455964449a6689a0ef1cc5c96440914438ffad2373133f91bf3ac3dcc1d07c514a8512ae455d4187eda411322f56ac2bf75188df1c33056372b67591bc342cf8eea5cd6a0571c7bb4567fc6dfd60a55e7989ec8f006bdf26f1c2d8d1b6b6d00f24ad20ca37647f94886670d3c7b86511245003d3617401b4617d5d0f53343b152f237543047363884a76764e4b075f21a0d1f66a04608e0d98cd590352898378af89cbd49a39d11673ce9c2ef71dddc7b1ec5e63fbe7fdfdbf7d4aff2243156adf23fd57aecdf77afde74d9aa77af2c54fe0b774ead0bd8631bf11495cea7dc71f495d5bb017cffc6b2330c2a4533ccd9fcfeffcfaa9d40b8a0b099eb5a2d8c2122334177219823daccb5ad16952136f36bfa44ff05e6ef9807ea6b0f20215cec9d2d5d02b898d4d09f9415067afa999858f568f62646738a30d069ec146048488dbdd03edaafb86a27a99d40201008846f2a8aa99d88ba1208040281f0ad82a4760281402010486a27100804028140523b81402010080492da0904028140208c0ecaf77bb5040281402010bee90cfdd97fef4d3791701008040281f00d227acd9ae042b2214f20100804c2b70a92da090402814020a99d40201008040249ed040281402010486a27100804028140523b814020100824b5130804028140f876c09edbe6c4af3a8dfb4d8e185dc4ecf8d8b891656fc53da7ab7739c4084dd25d99b16e5bed56e34b35c6b8c49c5b12f567698d200a769952b34c40140447f72b35ed0ec66b1f1da7d1972525e6ab4621d42bd8ba5fa96b7768e35664277a0581c7d0f8115a0f740180082e6ec5b844f5d9571e226ee10f8350ddaa8a4cbd355ef8578d511599eafdd505c5687d0fd5e376abf1a59a2e556452986e36194fbf66b4cecf299ca71f1bb5e850150ee3e0686dfe66f5d405cb9877fdb7356ea1e6dae0a538614576bcfa6b08856033fef08bc35ff169afcc2bcef77491d8dcdd6b12111d159bcc53612cb16dc70dbd6d8c6470464eb11854dfb4d42ebcbf77ed8a86cc3fcf4cdc7762cbf776646e5b3e73f20831eb5bbdffc82e00e89d993ac77db0e0e87feac48939eaf45b12cfd69e37bf58fb7047c2e6e50bcbd88021d2bdead8b1a0e353d75f3d6756d851b7dbbb571d3b868492effaa4f6b1337ec451aee8c2e4ef8e416a0f19b7b02b08d9ad88525f1e01f73f6ecc8c8dbaf0f2c5687d0fd5e382a3f7a913c700264c377bfa5b9e3dd192909e370f63737d0f51e1700e8ed6e66f564f5db08c79d77f5be3166aaed9ed9dab8e1d03267f7774a93ddc501c6ef8eabdbebee2f153f2bdfd6333befa653980c9172dbd32961fbe19b3b6f1b7b19576f70f3abc1d99f3505b51a6f4cd49ed764bcb8a8684cdcb6796b140666ac67f3f7ca165c28b99c32d5e4fb735eef2fcb3e5932eebe4242d00d00c8008860620c8324b51676a11c57300386df07ca1dd45517f5e307dba1a8d5df5b7949f025a2a2dce592a3edcea3d9530c18563617c98ade3a1b299e33d9d2c39e908f518541d3a6ee1314cb7826758f73322fec25c348cdef7103dae8fc839724506c7aa46cc91eeb334dc98c563d80a8773307c9bbf913d7501e6aab1eefa6f79dc42cdb5e8bcafaec800c3477d1da1902d1f1ee90070577a2c0051b0d57419771cadf4e4d7119f7853e6d7bc79dde345ddb30951cfb4a79c650f9cbb4123382c48cd1dbcfde117e626acb2385ec430a9ddb9b9e694f787676bda1e4a1ae73ddad4dbf65c79c553b51d88ca7c697ac975d12a00765bf74bc72b9faaed0070e9b8924727e64d56517653d3dd7b6a0a0aa73e991901089f5496bf6cd2fe6e7ad6fafd073f6901d0f2b3eddba6e54e7d323d22c880c8d989d1f94051a46e55cda9d57d7000004e194f3ff3d5a9f73afa00ccc99cb06a52e12c2d63b7753f7fbc72756d0780ebc797fda4302765b01635d0d579fae7275bda5cec0f8be2466bfc8f0e36c4252444d94eafaeed0352ffba78ea2db11a00166be7b395c79e6de800a2ee2b99fc687e92d2c0cdbc715c66fed028b43eb777d71641fdc8d4a9f33494a5bfe1071575ba84f17f294e12826a532b361de5fae39e80b8a9b79eaafacba113bb004425ac2a9af2507ab460353e7fb215bae407f293d4a3e9d6c0dbc1e098f0b617f755acb7a97f3463eac55a6953e58117ba859ba64cbf259a3fd550f9485df7b49ca94f662a98e43bd09587c4ac49458c73b813455390ef118abd16ec48708fdb6d5dbf395ca78bcbfd458aebb1105ddcde7dfa91f2fd1bfa503c6ef26dbca018a2e0d15822b4fee8cc2a0c72f0d1c8febb0fd61464148cb7d7ad3886754b73fe7db44e1797fb3f854996ee861f97ef7557755f8473438bf586696557ead9ae10e516a501e65bf9e6e5737cd746c1132ac3de1c6eafa530cf86d7539ef9959c9c68697caab60351e3de2acb6c385db1aab60f51a97f2df3c4cd77e4848a6dc88e18a972c5891c4ed7079e9817f1fabe8a7330bbd91127e9b017ae331ebd23361a72ae593bff505183e89c5f17a7e843043c70bce5c57d7cb062a40401007673e7df01207f7e140ba0fef4fe774ff4879f16bb0c4db5008004fbcc9f74abdf4bde5e4e035c7d0d9352207e4352bb3e32f7c8346f73d677ca3b1e5aa01dee56c0625cd50120f3a325197fdabc73574bcd2e5bce528da7ff76d51ed91595797d6ad47b2d0d2b36f7475fbde462aae7ee4fb66c008a33f3e7091d7faf3db4a1b667d775333364e786be0e383c71ea3135ec6a49b55274844e130d0088d0181238c59bab867f544665f1e8b7b43ddb0760c20db1bca5f7d4cced8780a8a7a6cf445fdd53a78e5d665337ce8df981bbe9d471d3d0fdda89f2f74e98767e27020034745d77ed9ccfcb01fc79f1d517b1cda335febd8e1674b42021f3fa84bef73a5aeedfa22ebba12cc7debeecd31dc781ebf3c7ebfadafe7e68c717f605db2625067567c33387b469eedb3f514c48cecd570d3cd5d0929c9a372f3bb2a2b96a4347dff772a7b1b6f64b826afb3453a9e9eb0b03e276baa1f2fa43b548c87fa9206af7d1fdab776fee9b7fe52a55efea53a700dd3d41a97df86ef5bf07e8568ac98c4c55cbae062477165e9c297d78a26117d0dbd47f4b74f4b6ba13bb3a70ed14b5a249bf4dd2f82c869486848c114ea483c68cb285338b82eeb7837b7c86687bafa505aee49f2443b18b33069a8ab6ec0730675c7eaef9c8aa0ea58bbbd2683c517aa615063928c8ce0d1d1d1b3adc87a6d282c7e6c733dbf3b7ec053027333fd97ce4fe5a0098eb2a156c21cb97290d30dfca39bf51d27bb7d2840ab7d7e65d9c115e4ff9ccafd44ba3b0a1aff6962db540c2a509511b3a5aeedfc24ef1ef4d21c47c4ce91bbe2342569eef5488ccc61ce7885daf14d2f93f3b27b3db772a851158bf40e55367387a7d4f0cd968a8b9e61878ada505aee45f142bc66dc1b6223e68bc653f923f62820080c6ee6e00488888a70080a1d5c028527b37df07008859de1da792b0d89a5eae6f027a4ea984022bfbcd48ed6055e9eea7aaceded51f6e7e36736663a266b80718cd3500909f352f3ab13913bb1afade6ced5b3a2edaf3eba8095f7da73809c225e55b57d4f6bdda6c4a46f506a078dceccfcad2d5108af7aebdbfa1e1e5d609bff6bfd972efa77394fede92198681865d2da98fcf282b0ab12ffeda89233e3f75ec37152c5127be3777b6ebffda7bf3f8a8ab7bfffff559669fc9be2f6425845d22bb0111b928685b15b1aef78bd6d65b6febad54fb2dfdd57bedafdfafd86b7fb5adf77a4b5b955bbd0a4aa81b463120b28400210112484848483264df33c94c66e6b3fcfe986432cb67260b5b0cefe7a3d73b399ccf59dfe7f33aef733e9fcf5185ae8ad09f677b81360017cce73f0390b1347f618a11f6e5674affd6c7d95cb7a0fae3b9f500c2febceef6fb43f8fede09153e667eed6dd961c2f4e6bc82c318ec1351d574e12c903b73f92f67c4c26a3ab1f7f8d98aeab3b362fd9f5df8a0aac2fd7bb66e5a7e6a1aaa4a3fa8ebf8ffd2545f94f700311b638d55e653fea95526c62b642df9b6dbb91ad76292a856853d3c7ff95a469b1ea2d2b2b17f5eb8d0a10ed38eb75b3da8342bb7c9bf26cd47d5e90f9abb7f15890f0000679b3bcd33b0a7cd357756dbba148a14c4d2864c02b009412f64fceb5eae58c2df25fb2d43f8f5f89228ef11e8d7c5b5adf50066cfbcf5e37971c08cf82f3ed9dae337a494ac11134ed0af82fdbdadaeb4fe7ce7f2fb4335fdbd2e0703752d75006667add8bd2081c7f4a42ff6bcda03005581c295cc75c8c08613f772e6820ca831f55a5856fc987a6a687c85cd3977dbec38ab79c527856791b8e7dedc65aadea7defffc030856c57331fdda765a908e089ab862cb7ca9c5a85daf74e185c8dbafc5e8f62cc639f3f86e5c9e82332eebf5bc70944c838e35c506cf37f07ef6a6bd67eedcd4d10402802009006052bb0a989ab1e4850cd4541f79b7a2736c023c5431810180f0c15018cd009ccce56eb65fe30d4df99cb92cb7b062d3c2d54d19419f6890fbde3ddd060055154f89751fd403c067c5667346b84b04d66726c501009feaba8b8ad2d0a6b64eab05007e616c0aeaeb2fd89c70f537e79a76391b0746d61f5dffcf29066a86c4bdf7e62e540310f69d39b4b1a26d53555bd33cc385a6fa2d358d23b15410249770ea8d00a0b97fded2fb01f77d1000d05361752064289bf1163e373e3a0c006f5c1383c36d5041bcd03d00e07045e1fc11e18653a90a1f7e7be962155c2b7a3cc76ba1f9214affabad7957bdf3208094f4056a716fe0d4fcb2f66db75929f3b6f6614b55cda6fd35001096f2ee2d0bb374e1f72ba9f5a8ddaa805f9b8425c46fc4e90fea1bdf370108db94a2de5edfbce342ff6160f69ca43406502c927fca7e26316bf40b956cc6bfd7fc50e8716f94da9907f068b2ebb6a4bf2b33716b71a3efe8e5e06f8d9793a072053332eff1965eb86e676a0d0f00ead09ee0e141cdd53f71041d5063edb5b1f594ebe660d01a01684266016713e3e7aa01186e4dc4078d509c12fab76d908e089ab872cb08a3f794f2857c68c2b518dd6318a4016e5c9763bd63cd34e858536eb74151c1de00e1d42802e131c0c3bd1e63e2d8b10aab00afdd9676ddd0842044e2be41d22eee3bb36b6345d6de7b1e58a819e5f1b19e8ea6edc3bef20735981d1676b6a707a8d8d73deb7e16003e6beee8c9080d83dc61f3682500a2cb34e5ca9e5e00f1c30b299fb5f70819a1bc3878da6ffeeb0c5c96e1ab876358fa8bebce6fa9695b3fffd6dfcf88e37baad2f796c2e993b5637bd191cdbdba5d39d1001096f51f59dc8f8e57bcfaf5b1e5df5eb50413297c08ebfac1450dd938971062007ad62f58b33d2b42101da5ad6d8da23a49b657f50e8253a71b479643541ca7e5dce6238331de3b3fe6bf4e376e2e6a04f06c5a8c36406a095cbf52d6beed66b6d85362330f672f8e11073ead3eb5b9aafee1cac4a605310dfd4325e1c7d3adbe66afd8265cc8bd59611f54d5bf580e242efcf14c7e7b7dd1d6f23600df4b080f58a485c93e53497f9318e3851e3613acd7bcf252e8712ffcdbd9290a00f634753e151e0b380e35f8cb30ced6952859e3c413541c14ebc3437c6e133ccb0338dbddd92247460d769f1d253c9881f927eed7b05e036accbd163f8e9e1a6ab4b1fa49fe6d1ba4238226aedc3211b6ead17a2ac01d80bf26a3db6b448cebc63571eb1dd39d61f4b1a6dc1a31f66a7f7bdbb36aa1970909f6aa01857b9a130280cf9abbfa3342833c3826585bb79e6f1a14b915d9b3ee348e24906c8b83ae0be87a3faae9275dba4ff5cdae558b343b17e8924927ed2d2d673656641cde70531623f50bf29013c988fb2acf5c089ff154ace7bebb78b0fe3480dc39ab3f9e1ded0af9b878d7a61abc61eeb8270500d058fcade2c18d5cf78b553d001e4808c9e23267a3f16cc5d74f710b72c4b62d553d40cca6c450ded60100f5453f33d9746da73ff3703d1c4e008dcf1e3cfce8cc9b9e8af3ef97c6dbf67d311b404f8feb26b5293dc1646f03d0671ba8ee682a282f75cd34331346b29eed687cb1be0d9899e25a3134843d9096aa6eadf8417ddbc6a2eab21c6e5c8587abf07e64c726028d9f959ed98ad498c1c62d158d089b5f6aec5dbab714610b6aefc81aeed7c6bbfefebea713ffd586dc3909e970b9ce48f976a42e606a4b032d627bb5dbcd3d250f9fee41e29c0f6644b9b64173438c425fbdbb2461e3ea568c4c62531302b409b0302905553d0072a3c2d242359b80ed1e4fb2b4b62a1449eb6ff47e2631ea853e75ff5ee012fa99926f8f43ecf2a9af0f33e21281c6c3e5079ec282d9b6c617db94279ffed688cb4ad0ab828fe894d71852133372517fb8b174d6fba59ee15901c2831998a8a079594a032a433dae5e1b5b4f0d8f2fe1726f6fc13a2248e28a2d53b66cf49e52bcb02a39f61a8c6e6d809e1acb8d6bc2d68bb1671a78ac056a8d732b33679ff4b5b7348d74de732c689a94ee6988d085008d708e322f1cb4f7be5a5505605a46b667b87e20e98eb0735fb0e85597fc2a6e78996c60668684fe00978c916bf735baae8101a02637effd985dbba6e5e54dcbcb7ba0ba1b90cdf5557bfa9d3e4feaeea901807f4c8e70cfb696a7cc0770b6a2eec2d08a51186aca5fac6a04b065f9ba6f1b395e17f7f7b54bd7031f94976ea9684458caf63b6f59a6863634f9cf196100b6979f3ea8ca581fe6beb7ab17a7cf0470b6ad714f9f57017866b8597a7acef6f49c0566c724beb874cd4b29c6d9c9d3370287ab8aefda7fe8842a11001afbdad4717f5f3394f58b556d88c9faf0ae59894389488360ee5fb07a3d80b6d2975bece32afc70ed7d6763c6d0b493b72e988db6574b8f6fa96844e2ccbdab6644bade1f3370bc6715fc6672da909817635c9b79a9b379044c2d40d63eedb670fa8adf6525a2b17ce3fe035b6ada725316fc363d1cacca5d92f175ab6e78254bc76a03b7495444fc4600c05dd126c0b02a230c40ee9c84340600948be441209318f5429fba8fd26bde9bed3e3d3ebca8385c5fcebf9bd20e2f9f099751d5607d0c00f8ac5c2b5a63b338f104950785cfd2a08ee5d5d1efdeb5eac5acac4d29192f2e5dfe62caf0bd2e40f8980d6cb8b83a85019532be5e1b4f4fe902ad9f0608f66bdb601d113471c596491c434f295e18756d46b74f4f8de7c63561eb1d47a67e634debba19aa02b6469c92bdc5f98c058fbbab27c9e131b301b43594d83df71a789fa2f35ca02fa2a8d735dd7e8f3dc6bd24b4ccb2e2c75da6a0978c094696871e14e97ef0417cb390c51ea7a855a9b55e2bea72bfc329800d537b75c1a0e018947c03279c71bfc3094e65e418ff70ffac2fbff041f6387a1c22582e8cbf226fa14e3c354114fb45915768932bd3dae36993b1162990498cbf2e632ba1728f8f9ab6d0e394825e15c81a279ce0e8f477574ddb5b9a9bb2e00f8bb29285ce9f7d58b01d317beebd6dee8072f8f06d77bc06a6d0b097d76b13b4a5cbbb2d4c74e88da9a7c6dea45775744fb8612fa7d10267ea31d60447ef1b67cbb65435226641ed6d6e875bb13526560be1ddc3793f6ac4a6e577293c3feb11ed6065d13da71b7f77e7864da14ae933a2958546f4fc80e868970c13be63c7d492768220aecfacdafac7239fbce8b105bc7ec1eaed59d17ca0706a31e23ad1df5939ade034808d8befdc96167a35b2e8683f9bb5bf1c9879fabbf39203ce862ba7ed3dbd71feaa3f648ff57ba063bf84a49d20882b8578b1bbeb7cffa08353a58484cf376a460b2788eb81603b6719e435fa2cfdd53345b1c56a778289d6eb026ab02c743898a8f19c4232f64b48da09822008624aa128ed74a82b411004414c2948da0982200882a49d2008822088c9caf57876557614b7755b596d4e74a851e8de7ce8f809c46f5b396f96e2e302c6aca6fb72edee37024487aee96c5441313d734b1004411093c56befe9a85e7be0c03dfb4b2a0580372d54f59c6dabf86b53bf726c554c6f6ca8cedc606a6e32981b4c9d8eee056b2b9fdee8a4ae2308822088ebeeb577f475ee6d6af8d169d771dd2ad791152bd267a2b162fb85a67f4dce0a539c7d38dba30bbe70bbf45167ef28df78d34038c2baa9fb08822008e27a4abb232fbf608b5f6872646c2e2a0eb75d2cb24ebf53cf28ae2c489e5f1e6cea74ffb62fbaaf6e55b6130006623edf1953d622cebdcf9cd616eec830cf4d0c3b7bc1a9ad4ddb5d0c0030763cbe49287e371ab90db3a1d1657545a901186af6a7ee2e62c81008822088a9c2b55c90e7e62d9effec9c399b62bc8335a64500d0536f0fb4cace4980ac56cb6ab56c4ceeb86f8588766d37e4d4bbaa5765eb8b76cd7ee5b769a596b63b1fed8e81cc6bfa67ac3467abe30f7c14d5ab1b1c39cb406d8b0a7168d5326f18489e63ed2dcafec34b333e2f1fc858dd3ad348764010044190d73e11695f9696bd0ca8d25bb6b7d57b84ab33128146f409b2c2454e81e112ab9fff856758d4a7ffa9052c4b67a2fb58f2a12a59ad3614bc1393f55cd7bc74532707f4a5befe17a303c2a2855e490d9d2bc3012d29bb0ff300caf687ffc39cc13023d04fa64010044190b44f1021c0f17787baadcf47fb7d0b50c5cb62e3f4dffdb746ad96e1601c111dfff8fd9635774757ec86c389f025e5cf2f19992384c7a013107bb40eb79c0b9e0b1422009ee33a6a870f0f544b002b90191004411024ed5781bba20d01fe456401381c0c0074451d2c6fd998e004249d9633ef9db9c3b5950efba23bfa07ebc0677a1e082886c6c80003006a9153d07b8220088298625ccf4fd60c6dad8b035f37068fe8fdc27b472787d0c17018ce3588c9b7774c37029013736b57dd6ce587bc75d7ca3e336885615a7f3800d856adef031838a8cb09822008f2daafd274825731003038d0f50100a42c35a995e34ba2d79f0e9b0a6a6b524458695e72da0fccf73cd322021cb47507934abbc4058053743df1ce95e5c72cf9e7fa277f0100cef6903e07a0f699ce7012c88527088220a612d7ffe4b7e2caafd69e6e9b3d73d5a179b113b9de18610f35b0bdadaa7e658f5c8c8913e0d0b475516713044110530cc593dfaef75ebbd8fdfbd36d00fe253d6a8229f47769fa83c936d7d6c251e713044110370cd75bda59d36fbf75d756a8e2f5a4bf044110043105a49de1e3f4f4c51882200882b8725e3335014110044190b4130441100441d24e1004411004493b411004411024ed0441100441d24e10044110c49460521c0f23735c7f4e4e5f4a8a2d24c4ae52492c0b8601c0300cc330ee689ebf09822008e29b85fbf3afaedf437fca322b491aa753d7d717525f6f2c296144f19b2deda2d1d8b17a755b6cacc4712ccb320cc3b22ccf8c408a4e1004414c498d973d18e4799b56db1115c5de74534c6b6bd4fefd5c7fff3752da7b6eb9e5d2ac5922c7711ca7628770a9bba7ae93b413044110534cda3dd55d9224d77f25499238ae2521a1fda18792ce9d0b3b72e49b24ed32c334dd7f7f7b4404c7712a8ee3388e65598ee35cba4ed24e100441dc50d2ee52775114254962595664d9ba3973a213121276ed623c96f127afb4cb0c53ffc823bd46a38ae7398ee3388ee779d61b9fd578527782200862cae83abcd7e425c9edb17392240982e092c28ec848e7238fa4fccfff8c57ddaf83b437dd7f7f9fc9a4e2799ee75dbace0d3bee9ebaceb22c493b4110043185a5dde5ac7baabb288a2ccbbad49d61983e93a9e9fefb133ff860524b7beff2e55dd1d12e5de787d5dd8dcf5ebb5bd149da09822088a924edf0788ccebdd7eed275178220b874b02b3adab87c796861e1249576d1686c9c37cfe5a9f37eea1e68419e749d2008829862eaaeb820ef29829e911be7cd339e3933f667e6afa9b477ad5e2df3bcdb6557a9549e6bf2acf743f2a4eb044110c4945777afc7e325c97fdd5a9665a72c77ad5e1dfdf1c7934eda658eeb4c4ae2fd082eedae6b49e0098220882923ea9e3f7ca4ddf309334fcfbe3329298ae3c6f8359b6b27ed030b16c81e5bebbcc7e3f1ae27e4ddeaee3361216927088220a69e6bd93dac0000200049444154b4bb7eb32ceb967651143d9d75cfe57a27cf0f2c58602c2e9e64d29e9ece791368af9d1ea0230882206e1cdf5d9665b74f2b7af8e59edebc244903e9e9934edaed61612ee5f61178b7bfce719ce37bdfbb823986efd841d6431004417c23181818702b3ac771fe6fc4d9c3c2c698d4b59376a746e3a9e26e37dd53dda96b098220881b13b708ba74dda58c2e5de7384e1445a74633d6a4aedde2834ae5f3c9b9408bf00441100471a3e1fe5c9bbf44ba9055aa49e7b5331e4fbf7b7e72ceb326d4b5044110c40deeb5bb5e81733d2def7570da9855f2daa9a9e77cc4f393738a8fc413044110c40de8b5fbebe304d6b6afa9b47baab84f7149da0982200892f640fae8f389ba4924ed3e45f70c270882200802de9f6bf354cc492aed3e5f86a70fc513044110848f500652c9c928edf03ba1d5a794d752ddc5f6b29325eda3476b2ac9fbc5b3799fd7f8ff93bd7eff8e6d87acf5fb776c3b3496effe894d87766cdb6f27cb25088220823aebfebefb782592bd2e45bfeefe7af99f96fccf9edad16259f63e9a5b6ccbce9e1ea120d59d478e3f5b64ed3c79fcd9a28131e4686f293afeec499276822008625cbefb045cdf6bbdd78eebbcb93e787afb2bafddabffefad880a1df505411d9fb8e1d1579e9a9d11eeff6ffa9c177e677d5eafd2009ae06f108a020068f4a3c72408822088cb574ff6ba94ef3aa28d4ccc7e74e7ba2d7720b8073d58f9e6ea85f97979ef2cbce9cd4fce5ff8e4952d7afd66bd7eb3fede2f4bda01d86bf25efbc527ee34ba4bde7d6928c263872bbb5d817d65792fe9f5cf87e837af7e767fd14564918912044110575d406fb4afc468677cebe17fd8f0add5f7dce61874068d98f9e0ce1d0bb296deb1e3b3fb12f6bffeddfc072fb4fecedaf7b34f97e7e7beda0e88bdb5177f5fe970f9e54d9ffc3af7c9195f54bc62eddbbc3b6b77ce86d3dd40fbfe17973c96bcbbec15abf585d773f39fde86080d592741100471b5b9413f0067778ebaebcdeba313f511a1d18909a6f8258f1c7e677e82491c1434d1e940519b055069000d070068d8f52a9efa74c38a140848ba73cb7d1b8a8e1e6baadbf31a9edafdd89d191c109ebde1673b9f42176db513044110571ddafc0d82e0fa3fce14daf61fff7b736e1eb29646a5750169bead1692886d776fde36129098db62b7f7866427ba43c2a767a38aa49d20088220699f049cffd3862f6d2fbcd0f556b896072a5fd23f2df84c01dacb425e3ef6e233735d7f76977c5eab4fe3f6a2afbec71dc7da548fac386a4c822008e26a4327b200182c7ae5d9bcfdf5416284a425856b79a0fbc03fe5740cf9f31e3efa9d3fecfbf96345f58300c4f6637fc8bdafcec9a77de79ff1fb3b0e545a5c6affceddbfa7bd7682200882a4fd2aa2d6ba7f3adbfe675b59755fa098a90fbcacfef96d9bf5facdfac493197fbde51f8bde7862bb15c0520d002cd5e8e77eefa9d797be3f3362f34dfae7536e8b7cf5ab7be69ab8940dcfbcfd938f736237ebf59b139f4878fbd5a8509f2901411004415c791859965dbfba1f7cf0aae6d4b0658b5aad56a954aeffaa542a9ee7799ef73c92b6ef9147ae608ee13b765c41cfbeafdbc6eb4c7a6de02d8c414bb7659033858778c619b4745b047d7838bdd24e100441044114456918511405411004c1e9743a9d4e87c3e1faefb4ad5bc7a274d75470dcd3886f20da9070ed68514ce15a935220592c41100471ed0494bdf6c5fa260b3c411004415c1f511fbb7ab2d7a588b22cfbfc2008822008425122c72b94ec352e6e900908693c41100441deb9a2b33e5917e425c9672642be3b4110044104f2d77dff94a44927edac20f817979c758220088208e4af7b2aa64b462797b4ab6c3669d8711f9e7f483e21d4a3044110c48decb207d24749925436db1893ba762fbfa9bbba9c6161eee2ba0b2d4912cbb2aedfa677def13f767ec247c1d25c8120088298cc7e39bc9f2e77cba2e70fb76eaabbba269db4eb6b6a2ca9a93e931197ae4b1efb072ccbfa883a2934411004315505def55fc9031f757787e86b6a269db46b4b4b99152b249ef7fcda0ec3309224310cc3308cabe89e6eba5bd427ecb813044110c4a475d9ddfeba8f96bb24d253ef1987435b5a3ae9a49d11c5d0dadade9933398e1345d1f56559b7c07b4ab84be915359e20088220a698d7ee9676979cbb455d14457748686d2d238a934eda01841414f46564881e1f8d77a9b8385c5cd76abc5bdac95f27088220a6b6efaee8ac8bde300e474841c1d813bfa6d2ce0e0c44161575ac5ce9d675cf4a721ce7aa2133cc88c74f024f1004414c2d5187c7d3739eba2e0ce396f6a8a222766060924a3b004361a17ddab481f4741ffd76e9ba5bf2ddee3b493b4110043155fd75009e8fc1bbcf7c7329baeb87a9aece505838ae2caec351a3e13b778a9b360dc6c77b3e00efd6751f69275127088220a6a4c007977697e3ae6d6e0edfb973bc895f07696764396afbf69eef7eb73f3ddd732d82f5c0f3493a5277822008624aeabacf46bb7b97dda5ebc6dadab09d3b99f13f48ce5f975a31b21cbe638766f9f2ee5b6e716ab5aefa701ce776d97d96eb49dd0982208829a3eb9e02eff9691af7e6ba3c381879e4887e9cebf0d759da5de80b0bb5a74ff7af59d33f6386a4d5badf887389bae7763b493b4110043195a4dd7335ded3719707078de7cf1b0b0ac6f5dcdc24927600ecc040c8471f9938cebe60813d3353888e160c06a8d50cc7798a3a493b41100431f5a45d96655914e170f00303eaf676cd850b9ad2d2b1bfbf3e49a5dd05238adae2626d71317539411004415caedb4c4d401004411024ed044110044190b4130441100441d24e10044110c4b860e8503582200882984a8c3c215f56df4ccd4110044110df20e6a6c4fb07d2823c411004414c2948da0982200882a49d20088220089276822008822048da09822008822069270882200892768220088220a606d7f8e437b9fea254d52d8787b3d929ac710cf38a8ad342c520740676ed1c960300387ac42fca245312b72aed72e725a2203b4446ad01e7133e20ed3d2d091ea126039399c62519c693789fb4b75c120ccc1df339f570e0152cfc28b9fb55010054cc1d392385b9e2ed36668433fb4f9db28886f0a47b56260e756b5bddeefd4daa841477c8d4e346a8e335467438ec22abd1f1dcd589ef7389ab07436765af9b1771b58d647db6f3238f1f9793a9d8d5f8e157979ce1b1f7ad4e555f46a9ae6ac527ad2d39daea76ef6f5525247db386edb5f4dae52f3f73be7552821a95e5c26f773b6beda35d6197f2aba53366e958a5583f1c59b4ca275be592ce2b509efdf9cedf7ce2a8f12b86a3573ad6249d348ffcef40a5f8d77c67c5c0780643bf74ac493ad9203b3cade78a157eb4dcfdaa70d22c9dacf52acc156fb7b1626b7def60e3c1d296fcfd676b6cc36a6fe92aa86ccf3fd26a9dba3a7423d4f11a4f96f6bc96ffcc6fbe3c6fbb4af17d2f71f5e0c14bf66b602416ef1f9793a9bdbb35bfaca5a0b4cb7e79a5baaa159fb4b624583a0a2a5bf2f7377fb386edb5f3da1dede2112bf3e47daa24169823e7ffdd79aa5d4e4f62825cd2522bf60dcbc909b39c9ec90070b98a6a16004409dcc427278c8a03c068547eff323c37bbe5663e4b8ff646f1d35a1990ebbae5990666acc9730103af44e1c79afbcc742e7168a22e0b1cabbe0249076eb7b1d1585adb3e2cf2872a7ab37242018073350d7745e6c5a243e2d4936fb3e98ad6910058951a00a7555fa5f87e97701c002dcf01104589bb1a03d86d242e2b19fe7159990ea5c55d66a9ae6ec527ab2de99367ffdfa7a7737a8389a45d91fe5e5993c0250d9904931a8e33a37987a51746be6f5f5125da32799d7ba2d02d7db24f38d90d70cc9a257c6e0203c0d1277d714238d90d0051e1ecfaa57cba018e76f1cf87c5e8e9fc77e7b0805c744828b460c36aeee47ee1bc15809cb7c79198c97f77a6bfb13233d3d82420259669a8779e112100002e5d14f6944bcd76000831b1eb96f033c3e0e8933e3d219ce90680f858f6ae857ce4702a6aa0b75ed871561e1071eb6c66bc857fab483244327a9b74a61b00b36a29bf2a890160eb913e3e26545800203395bb6721675492e15b72b824f75f92fcc917ce6a11ff90ab9a1b025babf8c6715115c93dbe9c13fd52532b661d27efdeebd36e4c69b1f0559ddc0780c3bc6cfe3b3359b147fcf49404237bf742fff57f5bd1d12ef71f478fd43d94335fef1de1d867a51f1e6f6f07a051afbcf5a64796c77380a3ab71f787670a1a1c0092a7253fb4e1a6ac50af2e735c3affeace7a4d62a8babdbda45384c6f8d8034b6fcd3000a83f53bee3cbba6a8b08203a2eeea1fb6e9e17e354ca45396b6b9bf9bddde5475b1c0097b378d663ebd34d01627ae29f69a6676995aae3aa822935cad8db74b04104741b1e5ab66e860940cff9737fd85d6db6c3302df1ce38c7f10adbaa8757dc1aaf0e9e63b6a34621c134db1bdb4e5d82eea1c75764195ded563b1893f2fc63b3f4a3a5b675676dd2dccc14cbc51d65d8fcbfd7263428946a997871ebdbb549b72cfadeca28c0f1f58e439fb7ebbeffd4f2a4b6f3afeeac3765c6467436153438a0097dfcbe8c9623a7f31b4468741bee1baaa97f6b6b149b25cdfeb76d274e7602b0fde5f7f999cb167d6fb92158a7383afce2478d62547e973c940000835dcd796f9fccaf71787690929178fb365d8d3b3e3c73b0c101607a76ea8377cf4d31b2c18dc493c14b0d3bde3c59d0e080c6f8e0034bd704346cde3fa3e8e1443440cfb9f26dfb9a7a1cdcc6c76fcb89703919bd797f39563ca0bee7b1954b62a4233bbefeb4515c79cf8a7519bafa83857f3ad19bb968d143d3c651714d60339e88b9fa5de89be31d917bfe72ecb453bdf191953911acb5eedc2b79f5dad419cf6e4817266e4b51231dd77969fbae8b9a69994f7f27be74b4517f232ec84764aa7eb69c05e4f62ea9acdcb9b38399171ecc0316bba4637600cc86e55c0800ab74b66fe45ffbbaa5937d4cbc1e10e5824267e9006093febc5738d90d8d89c9d4a3a35bfa5bbeb35e8028c91d22da07872eb458e43e2bec32747a46e3925e3513a20ab0837048f8e498b0739ff38c0880bd2589b135097f3d2935db71f374eee628f459a49d87049b5dfaf35ee14c37347a26458fe656e9af7b9c6dd290b0375f125e3d21355be5b90bf859867117bed92e5f6892ce5899780d00f94091704982d827febe40a8b0203e8a49d1e0429df8da215154aac29e03ce9d879c3b0f39771e70e6d7caf11ab9cf2a175e94005ca8113bec5087339c526a0ec5ace1db6e2de5c24775729f865933974d01ce9c15debb208b56f94c877ca64e61fd5f6c6ec8b700303efdd8ac68009de6d22ec93342d3c1637f39dede6e8a78707dc61c380eee3dbeadc482fec6ad7f2c2e687018e2227222397383f9df5ffdaad63b754118acb6d8ca2b5b4a1cc69c3835ecfd6fbffdd5912ec95a53f2ebdd35d516ac59397d4d86babda5e58f6f9fbda0944ba352a0d855bbe5f592a32d8ee919d1734c28395ef6cb1d750d8a85f4bcfb28653ab2d417a03aae2a9494990f76eba69b00d8f2de3b592f42ecaa7deebd6ab31dd1711109dd8d79c7dbcd96fe0eab386a8e16c504b9b004d8cc9d5d05e77a015c38595b6d710c4686eac7909ad9e2385a786e47990d00d3ad5c2a411834db1d97fa9daea47adbfbdb3bfb07c5e1da95d6157473c91ac0defbd67b25f90d5cb28983dd96f7def15a07145bdbae580bb08630b5abcc5a832e4ccb3606ef14ce37fee846e57f0900a0bdb22ebf4dedd341fec5f6ea1e5bf3d63f161f6c70182243e74472d59575bffeed919aaaa046e24d7b436341ab7a7a24077bff8eb7bf3ad6ab6cd856a58c9a5d23ccc05d3a7ffab9f76baa3b6dcbee5e3aa4eb0038539cc1d66ee93d50d903f41caeec6fb7d83e3fd101388a4fb4b75b1cd189867155dc1ec08c2768aea28f2ef8e5f84157a2c1d1ded9fbe5a90e0095276bcd1687263e8cbb0c5bf2bab1d8add59db6f20b96bad146fd0deab50fad0709f2a122f1bc5506187dd079454db5080051ecdc04aed3241eb0a0e882b430c76d8eec33f7f211900fef731674e3c87929026207a009e77e7a3ba7867ce00be7018bbcbf5a7ad0fbb10f9788f32cbb6e15abfbcc71c0ca7ceb1f5429014a52df2ad58ffc2555b5cb3946f63b731951cbcc4b642e554a273b64004d9562078070ee27b7733ac8870f09c72db0bb2cd222bd5504006b6e55e54633b6d609155ec33ef72dde68977ef789d007589db87441b20321b1dc7d392c7ac5bf164af656a9decea56b7cabd0dc21bb8ffdd1e8f0932cf6d30ea9b941b2cd674e3701c0d254f65285d33f35731aa390b5e8db6ef52543238fd7b2b7cc65e6724c5c24d41cbb261d824e61fdfffcf15a00c848cbc9486d8d3b97d7221614b7deb276e47803fba0ebe62aaa8c916bef502de2f549499adac24a33609896fdca1333d470e4ff293fafa5ffe3e2ae9f2cf77ba8c794f8f24f174641f8facdcfdf6e100b8a5b172d4cfafe7a83608c5c94195257d45350d31e28177bb142607df18501203a3b7bd3ba69e8a879e9ed9a81caaa9a2147c22ba6d7b80a57c8d4cdc500d5f941c250155efde94293ad71cb6f8adbe11870a0fed44500868c59ffe7b1e91cbaded87ae8a8dfa667b01c7d13542fbb352e6f774bc931b363317bb4d40170772f8d1f73f9d50f6e5ab926d550bb7fdfa8a51a1971eebf35712fff744954dbf97f79bd7200ba679e5b3b4fd7f69b5f1fad86382842b1b52f2e8855a88518b1e1b1dbf4af7d92d7a97becfbabd239d4ee7504eb14ce3ffebe518ccaef126b9d1900347e1da46824b6d4ace165c6faa3e7cc00a64ddffac42c3d060a7614ed6be704633023f14513f7f29625517014bcb9774783f8f9b18e054a866d56cac8ee9a65b5d4bcf41e00eec127d7ae49f21c9aecbc9b1351d3587daebd633aaa010003175b5b7b516c01107173aa0e668cbde2cafde50074133357af0b9572ac0e7d200135e6ead266eb6a4d519908a857cf8ba82f2c9eb02d29e21c74041ff537a8b48b820c9ee178f6bef52c80b242c75bc7c41757056845493ae232a60e71db3ea9d902001db5627b0eeb5a768e4a61230080893102dd8034bc00a163d400c064c631072c72f70010e1b53ce1f124c9d06abfe804943b8879f82e55960e805c7ac8f9512b3e3f23e52c675a2e49c7bae54f4f8c4c585cfeb246c7e80080c95da1ca056cad82d706732f30bc2e36dec287c4b046001a66ba0627ede081e66e19405fabf89ff923735a41a90a1bd6f233347045e2548c1ac88474c12e1f2e17cd004c5c860e258153f3cfdaa7dd5266734bfac4631df2e7270400e098bb6fe59342d8dc1ca5e992d8b1b7d4010035e77ff3e6c5ea160030175e6c5d1bef5e744b5b91b3aeb524bfa6f7edf78f0380c6f8f8a6d821d909d5ab01403d2bcb98d7d2dfdaa3a024c973a74501009f3d27020ded10c0a971a9bc3ebfa1f2ad116d52cee51685c048e19203407b65e5ff5359e94e207659ceba2edfcb533c67b14a99fae25f9d040088ce8c3701d085cd37a1c0021e802002805ecf0180cea0a4a04172f44f306c76c69cdd2de59d4d078f3bce00884c5d10c18e31354c4bbf2dd580514b35f4a0b1bdbddf3bdca8d503080b4f00aa2363338d00c2e645a2ba133c04b3526b8b016ae13679c101e890aed4a729de2b3b9ef13126a352b8247a964f49948b2d78ddfd00c0106ad2038061cd83b7af01c4feb60f473512b761df9c160500ea8448a00110444ecdf9f791a09491b5eeb46759eadb6cf092769832a74d476375cba5824200dc9c38aebca5fd8b82fe76c03037359183753c150fdc5f133457cfee50cc919f969a037389a5b5e0a0f33c80b8946ca370f4326c4991b4d10dec8694f69ae3ce2331aac7338716e1674d67f3be96fb01a3e2c6bc79c45d6eee96359ccb09964f35c9b91c0074b448fd608d409fcf029638243c97ba650086e195f68e76590438416ef25bb61602ef96f0c34f060caf22c95567c563dd884ae61e5bc4712dc26f0b25883e59cb5f7ee13c6265ee5de07ae88f59958e03d572c52967698c3a1b1329bc7ab884a6e11f11a10cbae5a854fe870b5951906b6aa44e0951927ca955868a898f18d9e9e0558c5a355246b0ece2645c30cb472a650033b3587580d4223959316b9f766bef44743cfb780e1b26c8c7cf08473ae44f4ba579b7b26d9d4325f1bcce72beae7c7803abbac161d070037611683f56e358331cafadc9163723f31777c547d87b0e169cfab8a6ffadfc8bcf278900e074791f525da30d409856a1e7cce79bad6b63f440abb917c0205073f0647e832379c1dc7fb93b9dab2b79f66d331ccab94cbb55ef1768fe719c1a0db6e4c50b7fb93e5e74d82a4f5d6a13344c87c2e58b9e98e1be5f2a66ead9d341aaa355b9cc4e153a9c1cc77300069a5a3bc4c4f0ded67ac5f1153847ff04c145ad5da02e2fb5edf8cc0c60d9ad29fa31a7969c14ce8da154e6da0e11319ca3ffa28f563a3cefb1be032e5aa9b5a354bdcab5f036c5d6a6513ac56fc88fd5a87cee127e25512e768c3a508fdb3efed3818fbbd5f7653b821a89af615bd6c6982075f705ef23858c9efa5614006822362ce1f20eb61ffdb8704eea1d4b3c2773eaa8dc0caebaa6bfa00c884cdd78a7aa7c7bf5c1320780db6f8a1d6fc547edaf719beb681612a38b58b5405d526afb787f238065cb93d597674b8ab48dd9c06e2c690f8f64ea4f09b5f1aa740320489f154921a9bc11283de66c89e1d7a579edbb975f90008424f09b970fd95fd13ec7e7dd28ae919665b954567a6d9f3087934f7600c0c27436899735b5a2bd55dc56284f13e5631d00b0328be5fa2400b0887f2b94559d5287e7028b0840cecb77de34935b97e9ef65ca7ffbcca10120c275774a4963f58332203b6c7293593c73467279ed0999ac3beb048774d20200d1aea99f8659319fe75b1c05167cf4b590bc787c85479fa43c854f66502777d409bbc086d8e463ad3238767aa8f8d742091cfbdcbdee5733e59d7b3cef16cc3f7e4b959acec1ecbab1328b129840a9fd7079c0aef46cb78c4ee1533350237f6736e3f2e2424219b16da4241e5337a1a4a81140f4dc9cad1b925d215fbfb9e7ed06ec3b71e9b6a5c393b0f2d36f958a886cfffeedb1ae1b54745c48e6c24c4361d94065d96ff27a329d1df93522a05eb73846a1709d75bf7ed3b92cb2ffe332078095f32271860330d86769385f7d22dfecf20fba9472b1949ff40f9c3e2b01c76bccc7cf6c4777585f537ea50d9ac41fcc6af18fa9f6db7df2c9d44d62a0ea74342b3678cae2ace88325ed9de69fffda1c7cbf2b508efecc589c8e529737137a5bb6691ca90962f0520ddd535aaa5fcbb3aaeb1afd4b2c062e55aa526bfffaa1402f63884e0700dbb6d7f6aebc6de14cf3e9d13ac52bfe3d63322aaf4bd6458ca3d80b97a78ef4a0475e29d6d6821607101aa511837499e8f3a3b3ee976f0e2e53f516d48800562d8846a9421f4d53ca28ce35088de16b57cf52557db2a3c5f197b74ecdfa698e47afb3b36f8e434d2380e8695189a9ba39a82e876b353e98198db3bf266eaea33675e6cd2928756d2618574c375da62d6dc851e869c55bd3e4d4f56bfa185df40cfe3bc9f85bbee3c55d8e173f14aa4ddcf716b280dcd1245774cbde1327e97437002c9e3e52bc99992c007bab34e276770f6d75cf9bcd2f8d0017c23dbd9c8b029a9ba463ad3238e6ce15aa993aa863b935e10050df249939266a6452c664a53100ec76b9a2c7dbe8d8915165176107341ae6e66cfe91396c4a161b0ff475483b4f888d1ce372e57bf4dcd34b87b23ed90168980dabf92876c44bc9cde5a300d8a50febe571153e502fe962f97fba89d5001575d2b156197ae6e1b57c88ab6a1a7008f65a9d3a9abd5903009a5836451338b58006e2d56e5937ab6e896260953e3a211eeb4688897d602e0b8f9278b86bed450d0070fb12f7b62e3f7f69228081ca8b6661e8499f59eb567c3b4387ce96bfbc7f3abfc1111d97fc4fb7c57311e9bf7a6c7a32505d66ceafb441637c6cd3aa794a0b3e86c8506d6be3c7a5bd0096ad5ebc2e499db1346b3ad05e53f7c7f7cf5d50eb00a0b32ff276855c14b3d6a7cef9d5b7930d701c3d5e935f694364f4e6a773162bc5f42c8662a61dc3755407af0eef7b078431f985a7e6afc988981317ba6675f69a3805cf22588efe09025c7cdab74d0060989b91ae9e506a014aa54ecd7a701a07a0bcacf1bc3a345903afd7ae0c81defde30028b67668a066816ecea2680003165b718b7dd6689de2137f6c46e57549a00e522c769867a488f45f3d349457418d03a688a79f5a78735023e17c9b8b43434b418d0dc0cab5b7dc1acf2bf651975121a3d8a1a9be6807bbe6a19c640016f31b855d9ed508cb9c361d00b0303b02085b308d03103d37d9eb2b2dfc65f6d7c4cdd54da0a6562725af71d973765a860e97694b4a77166e0c063689606479486ccaea9bafcd8e7bbf1d3a1d7305de3a96d06f97d51adfa46c3659048c3aaf6500875d7648be8113c66693a16274bc42b87fd6975ff820f4db64b08cf10a3dcc31e1d4440136a7cc29b5c904edc421581d4e4eadd17b359064edb78be04c4685b9b2b5eef433dbeb92972ffbb7b551967e3ba7d6e9d55e17c23735e55c02642d58fa9de054268f1a0688394aa663ac8e57d56a4a9e79db1c1d97fca32772e26c8dafbd5a5c0ef533cfadf3d3a151731ca2a7a6f6684dd7f1c24633f0e09377ad49e22750fee0a572d86c7671f4aa0540a1b52fcf72820dc531f6c29528b67f5e63ed32d730b3d89c1a9d4ecd8dda4757b05257afbfc653f789e738715bba420676d5999b127ffda59d20ae122ea5312c58f887ef244eb5ba89bd3b5e3f50e0f111c3e4c539bf5c9f3ce1776aab3efaf4df4b45009896fdc72766e82747a90882206927086fa1b1596a9afa35a6c89418f554ac9fd058d35cd76a1578557c726c56bce172d272f4765dea16a0d1a5c49bb849532a822048da0982200882a45d41dae9505782200882985290b4130441100449fb44111d0eab4d507cabd5d156b763c7b1bc838de2756a88d633e56fec3856d22c042b7febe12d77de7eff43af0e7d85c3de5afff5ded28ff654965e708e23abc1a6da63e72b8eb50e0863bd42e83d5378f8f8890a2b8081b2fff7a1dbef7f686b75a0f31565a7b5b7b7bfb767f87fbd369b5d224b2708822069bf0a043b2cf9ba9f89db7ba9e96865cb456b308d3efbe1eff7545660c1a2340dac957f7ffba6e5fbffe987a77efeccd187ef78e7e1575bc7789671cfc1773f7bf4937d8f96b68ef5f8f7bed2371f7df8812737be70610030a4cf3755541d7dedbdfd7501a45d743a054eade6552a5eade679d631d0d7d76d21752708822069bff27905392c599f3cfbff3ebdeae5e76ebaf6c81ff532000006db4944415467e28aa20440a31ded4961a1eef3ad8500bebb7e01840bfbee7dcecbe92efd8fcffe7d6f70f914075b2f94effcdbce7f76fdc98fe1d1e4ae9a928fb6fd5beec6570000ae03ea0c8b1ff831805d7fdbd717e02a865169757aaddea0d5e9b50653689801a25d206d270882b831b8561f9af53bf9f8b1699d9e673ffff87fa57dfea9eb4cdc746b80a3a9031d59ad7860b0cfc1d2a91685d3943bce97ffe7ee1a57822bf5a36c05d8eb8fbd0300df5f9a6de83dfe89eb83b5a69fbcfb9d4db1871ebfbdbe14787747d3e6b549815fff311ffdd187674f8d6b2921fff6bb7fe3171abf60c522bc76e2e8bb258dff6b55a2720fca231fbe0738cefd5bb4f70f586cae0fe46a4342b56a4e76f40f38793563b75a1d6a9d5692d5c6a16fd6c883bdddb22e4c0bdb801dac6473386500bc36c460d43034740882206e7469779d7cdce918183e10571006cd1687b9f0dc5100d0310e6b75a70d0e8bb5abf6b9f7aa0144c745847537e635004087551403876f79bd6c00989e11ad69eb2a395e76be8ffd3f4bbd13efaeddf267df382fdf6afff97b3500a2a745c47637e6378c5283a6929300b02c339247d7f93200c0ad4b372d516970d3638fd697be037cdd681e48ca0ea8ed1c1f37ce56d3cc7ce5974f36db7b8ebeb2eba8477064ea7ce0042a1abb079018aaa8ec3230fc5aa364efef97a1e258c8c280c5625319c34c5a5eb4f5f5f7753311512ac882cd22302a9d298c97adfd76f7477f65d129422bcb8c24d80739ad2924440be7405f5fdfa0264aa72271270882b8d1a53dc0c9c7c3673fbb8f1d6c0c703475a023ab831d18ec3e587aef5eff3845431f1c9ebbf5c174a0f76f5b0f1c0cba592e386c009016c101ac6648bf4501d0c094356b288e10ecc9b8e415af3db702755f3db1ebeca1b1b59a3667e3d339c0c5f8da5d47f33cc2c353d6027bd16f533cc79581ecb074789dfdac090de100a7cd06de68d0aa6459e67521dac10e875d507132c01922c2540c249f1660dc4b006a8351cb0250ebd58c551425a8e89b6304411037b8b403ca07e2bacf7e1e8915e01068e5f06007060f271e280e0760e5a224004068eecdba8385b651eb70dbec740d20d9bd9e80eb2d2f71fdd0eb46fffc3ac78ffb8b5d4280a31e8f97373db52852c16367d4a6c8504e9665300c230df6760d5a06b41146302c84fe9e8e9103b45941040730fcc8923dc3782abb0c40961995fb73c9b2ec1585200882b8a1a57d58a83cfc3df7d9cf23050a70087480c3a1831dca3b9cb8729c90ae2a00c5a79a3664a402b6d2b2615db70dd4b70e40a34bf2fe06a78001005f7d7dc6fac8cce845b7015f035f1f7d7d6fe413f127feb40b00b03e36492b361efecf37bf1cb469173ff5ccaa9431a9f8042e71b17ad1b400ffc23000189704b35a836eb0c72901b224319a9050d3d0fc43b45b058607ecf038784f160519aead74f7870ae1b9714f10044190b48f4898c2c9c77e6fb9270438043ad0e1d0c10ee51d4e5c31ce4b8f25a0b8a6bdecf46fd095d2db5a60194ad0da74fed76f9ba1497e758be779c6088b9d0e7c0e8b038066ceb7e7ae78b1ec106c6ffef08337872244bdfc2f091a58bbcffff58dbf00487cf8e931b68b7dcc970cbd99676f28da1b3ca2ecb350c0c0264ae0b51ab9cf32a8536b79461607fb2d037c8856e535236021da05c9a06221dafa9d808a449d2008e29bc6b57cf96dd4938f0103c7053a9a3a40f8580ee5558c139334e7176ba3e13ad8b801c926005001709d8f6cf43d553a7eeed22c00473f2aef0410baf0f5c29b7fb87ef81f73325efbf45bdfc904c0e92282b702c7e97daa3eea25187a5dd0a0e201c07ee9cc1e00d89093161ac86bf7f993852c0812ab36eab5ec604f474f677b6fb785d59886ce251c5e6167d4462d2f0d74b5f774b45bacb28a1b5a926702274d1004414c3626ddf130810e81ce6c0d7e64f5580ee5558a233a2c36d1fb08e4400c7cf483e92fecc5fdff55f8afeb5287931cb4dba132683da64803c7b7fdf8c9ad9fbff079f5c6ec31aeae8fef9233dbee7f746b61d6d3efeffa59ee449a589644496658960db0672e4ba2048663e923c4044110931dc5e361f8c9564a7d6ac69a4873418bf9df5e1a5a784f5e3c67b6119c4e39dc5d119371d4ba28c5e1d426e3188b6658f1fde7b1f7955d3f7ceffb755b86da92d76abc93b496fff7935b3fbf6bcbfbdf1eabae8ff3127bd91b5b0b013cf1dd85139dceb11c7739ff4e10044190d73e6e021d027ddd0f871e6c6fec10a08a488c0df828bc30d0d5cb45446ac753ddf15c220cb4b7b60b30c52446920013044190d7fe4d917682200882202628edb49f4a10044110530a9276822008822069270882200882a49d200882200892768220088220c607e3f9a1708220088220bee98c7c6f855e7e23088220886f16f4f21b411004414c7d48da09822008624af1ff03b4bb752f6d8709af0000000049454e44ae426082}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Assertions\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 QUnit supports a number of basic {\b assertions}, which are used in tests to verify that the result being returned by our code is what we expect. If an assertion fails, we know that a bug exists. Similar to Jasmine, QUnit can be used to easily test for regressions. Specifically, when a bug is found one can write an assertion to test the existence of the bug, write a patch, and then commit both. If subsequent changes to the code break the test you\u8217'll know what was responsible and be able to address it more easily.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Some of the supported QUnit assertions we\u8217're going to look at first are:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 ok ( state, message )} - passes if the first argument is truthy\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 equal ( actual, expected, message )} - a simple comparison assertion with type coercion\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 notEqual ( actual, expected, message )} - the opposite of the above\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 expect( amount )} - the number of assertions expected to run within each test\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 strictEqual( actual, expected, message)} - offers a much stricter comparison than {\f1 equal()} and is considered the preferred method of checking equality as it avoids stumbling on subtle coercion bugs\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\f1 deepEqual( actual, expected, message )} - similar to {\f1 strictEqual}, comparing the contents (with {\f1 ===}) of the given objects, arrays and primitives.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Basic test case using test( name, callback )\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Creating new test cases with QUnit is relatively straight-forward and can be done using {\f1 test()}, which constructs a test where the first argument is the {\f1 name} of the test to be displayed in our results and the second is a {\f1 callback} function containing all of our assertions. This is called as soon as QUnit is running.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var myString = 'Hello Backbone.js';\line
+\line
+test( 'Our first QUnit test - asserting results', function()\{\line
+\line
+ // ok( boolean, message )\line
+ ok( true, 'the test succeeds');\line
+ ok( false, 'the test fails');\line
+\line
+ // equal( actualValue, expectedValue, message )\line
+ equal( myString, 'Hello Backbone.js', 'The value expected is Hello Backbone.js!');\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 What we\u8217're doing in the above is defining a variable with a specific value and then testing to ensure the value was what we expected it to be. This was done using the comparison assertion, {\f1 equal()}, which expects its first argument to be a value being tested and the second argument to be the expected value. We also used {\f1 ok()}, which allows us to easily test against functions or variables that evaluate to booleans.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note: Optionally in our test case, we could have passed an \u8216'expected\u8217' value to {\f1 test()} defining the number of assertions we expect to run. This takes the form: {\f1 test( name, [expected], test );} or by manually settings the expectation at the top of the test function, like so: {\f1 expect( 1 )}. I recommend you make a habit of always defining how many assertions you expect. More on this later.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Comparing the actual output of a function against the expected output\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As testing a simple static variable is fairly trivial, we can take this further to test actual functions. In the following example we test the output of a function that reverses a string to ensure that the output is correct using {\f1 equal()} and {\f1 notEqual()}:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 function reverseString( str )\{\line
+ return str.split('').reverse().join('');\line
+\}\line
+\line
+test( 'reverseString()', function() \{\line
+ expect( 5 );\line
+ equal( reverseString('hello'), 'olleh', 'The value expected was olleh' );\line
+ equal( reverseString('foobar'), 'raboof', 'The value expected was raboof' );\line
+ equal( reverseString('world'), 'dlrow', 'The value expected was dlrow' );\line
+ notEqual( reverseString('world'), 'dlroo', 'The value was expected to not be dlroo' );\line
+ equal( reverseString('bubble'), 'double', 'The value expected was elbbub' );\line
+\})\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Running these tests in the QUnit test runner (which you would see when your HTML test page was loaded) we would find that four of the assertions pass while the last one does not. The reason the test against {\f1 'double'} fails is because it was purposefully written incorrectly. In your own projects if a test fails to pass and your assertions are correct, you\u8217've probably just found a bug!\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Adding structure to assertions\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Housing all of our assertions in one test case can quickly become difficult to maintain, but luckily QUnit supports structuring blocks of assertions more cleanly. This can be done using {\f1 module()} - a method that allows us to easily group tests together. A typical approach to grouping might be keeping multiple tests for a specific method as part of the same group (module).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Basic QUnit Modules\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 module( 'Module One' );\line
+test( 'first test', function() \{\} );\line
+test( 'another test', function() \{\} );\line
+\line
+module( 'Module Two' );\line
+test( 'second test', function() \{\} );\line
+test( 'another test', function() \{\} );\line
+\line
+module( 'Module Three' );\line
+test( 'third test', function() \{\} );\line
+test( 'another test', function() \{\} );\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We can take this further by introducing {\f1 setup()} and {\f1 teardown()} callbacks to our modules, where {\f1 setup()} is run before each test and {\f1 teardown()} is run after each test.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Using setup() and teardown()\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 module( 'Module One', \{\line
+ setup: function() \{\line
+ // run before\line
+ \},\line
+ teardown: function() \{\line
+ // run after\line
+ \}\line
+\});\line
+\line
+test('first test', function() \{\line
+ // run the first test\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 These callbacks can be used to define (or clear) any components we wish to instantiate for use in one or more of our tests. As we\u8217'll see shortly, this is ideal for defining new instances of views, collections, models, or routers from a project that we can then reference across multiple tests.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Using setup() and teardown() for instantiation and clean-up\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // Define a simple model and collection modeling a store and\line
+// list of stores\line
+\line
+var Store = Backbone.Model.extend(\{\});\line
+\line
+var StoreList = Backbone.Collection.extend(\{\line
+ model: Store,\line
+ comparator: function( Store ) \{ return Store.get('name') \}\line
+\});\line
+\line
+// Define a group for our tests\line
+module( 'StoreList sanity check', \{\line
+ setup: function() \{\line
+ this.list = new StoreList;\line
+ this.list.add(new Store(\{ name: 'Costcutter' \}));\line
+ this.list.add(new Store(\{ name: 'Target' \}));\line
+ this.list.add(new Store(\{ name: 'Walmart' \}));\line
+ this.list.add(new Store(\{ name: 'Barnes & Noble' \}));\line
+ \},\line
+ teardown: function() \{\line
+ window.errors = null;\line
+ \}\line
+\});\line
+\line
+// Test the order of items added\line
+test( 'test ordering', function() \{\line
+ expect( 1 );\line
+ var expected = ['Barnes & Noble', 'Costcutter', 'Target', 'Walmart'];\line
+ var actual = this.list.pluck('name');\line
+ deepEqual( actual, expected, 'is maintained by comparator' );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Here, a list of stores is created and stored on {\f1 setup()}. A {\f1 teardown()} callback is used to simply clear a list of errors we might be storing within the window scope, but is otherwise not needed.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Assertion examples\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Before we continue any further, let\u8217's review some more examples of how QUnit\u8217's various assertions can be correctly used when writing tests:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 equal - a comparison assertion. It passes if actual == expected\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test( 'equal', 2, function() \{\line
+ var actual = 6 - 5;\line
+ equal( actual, true, 'passes as 1 == true' );\line
+ equal( actual, 1, 'passes as 1 == 1' );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 notEqual - a comparison assertion. It passes if actual != expected\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test( 'notEqual', 2, function() \{\line
+ var actual = 6 - 5;\line
+ notEqual( actual, false, 'passes as 1 != false' );\line
+ notEqual( actual, 0, 'passes as 1 != 0' );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 strictEqual - a comparison assertion. It passes if actual === expected\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test( 'strictEqual', 2, function() \{\line
+ var actual = 6 - 5;\line
+ strictEqual( actual, true, 'fails as 1 !== true' );\line
+ strictEqual( actual, 1, 'passes as 1 === 1' );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 notStrictEqual - a comparison assertion. It passes if actual !== expected\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test('notStrictEqual', 2, function() \{\line
+ var actual = 6 - 5;\line
+ notStrictEqual( actual, true, 'passes as 1 !== true' );\line
+ notStrictEqual( actual, 1, 'fails as 1 === 1' );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 deepEqual - a recursive comparison assertion. Unlike strictEqual(), it works on objects, arrays and primitives.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test('deepEqual', 4, function() \{\line
+ var actual = \{q: 'foo', t: 'bar'\};\line
+ var el = $('div');\line
+ var children = $('div').children();\line
+\line
+ equal( actual, \{q: 'foo', t: 'bar'\}, 'fails - objects are not equal using equal()' );\line
+ deepEqual( actual, \{q: 'foo', t: 'bar'\}, 'passes - objects are equal' );\line
+ equal( el, children, 'fails - jQuery objects are not the same' );\line
+ deepEqual(el, children, 'fails - objects not equivalent' );\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 notDeepEqual - a comparison assertion. This returns the opposite of deepEqual\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test('notDeepEqual', 2, function() \{\line
+ var actual = \{q: 'foo', t: 'bar'\};\line
+ notEqual( actual, \{q: 'foo', t: 'bar'\}, 'passes - objects are not equal' );\line
+ notDeepEqual( actual, \{q: 'foo', t: 'bar'\}, 'fails - objects are equivalent' );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 raises - an assertion which tests if a callback throws any exceptions\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test('raises', 1, function() \{\line
+ raises(function() \{\line
+ throw new Error( 'Oh no! It`s an error!' );\line
+ \}, 'passes - an error was thrown inside our callback');\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Fixtures\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 From time to time we may need to write tests that modify the DOM. Managing the clean-up of such operations between tests can be a genuine pain, but thankfully QUnit has a solution to this problem in the form of the {\f1 #qunit-fixture} element, seen below.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Fixture markup:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+\line
+ QUnit Test\line
+ \line
+ \line
+ \line
+ \line
+\line
+\line
+
QUnit Test
\line
+ \line
+ \line
+ \line
+ \line
+ \line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We can either opt to place static markup in the fixture or just insert/append any DOM elements we may need to it. QUnit will automatically reset the {\f1 innerHTML} of the fixture after each test to its original value. In case you\u8217're using jQuery, it\u8217's useful to know that QUnit checks for its availability and will opt to use {\f1 $(el).html()} instead, which will cleanup any jQuery event handlers too.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Fixtures example:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let us now go through a more complete example of using fixtures. One thing that most of us are used to doing in jQuery is working with lists - they\u8217're often used to define the markup for menus, grids, and a number of other components. You may have used jQuery plugins before that manipulated a given list in a particular way and it can be useful to test that the final (manipulated) output of the plugin is what was expected.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For the purposes of our next example, we\u8217're going to use Ben Alman\u8217's {\f1 $.enumerate()} plugin, which can prepend each item in a list by its index, optionally allowing us to set what the first number in the list is. The code snippet for the plugin can be found below, followed by an example of the output it generates:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 $.fn.enumerate = function( start ) \{\line
+ if ( typeof start !== 'undefined' ) \{\line
+ // Since `start` value was provided, enumerate and return\line
+ // the initial jQuery object to allow chaining.\line
+\line
+ return this.each(function(i)\{\line
+ $(this).prepend( '' + ( i + start ) + ' ' );\line
+ \});\line
+\line
+ \} else \{\line
+ // Since no `start` value was provided, function as a\line
+ // getter, returning the appropriate value from the first\line
+ // selected element.\line
+\line
+ var val = this.eq( 0 ).children( 'b' ).eq( 0 ).text();\line
+ return Number( val );\line
+ \}\line
+ \};\line
+\line
+/*\line
+
\line
+
1. hello
\line
+
2. world
\line
+
3. i
\line
+
4. am
\line
+
5. foo
\line
+
\line
+*/\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's now write some tests for the plugin. First, we define the markup for a list containing some sample items inside our {\f1 qunit-fixture} element:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1
\line
+
\line
+
hello
\line
+
world
\line
+
i
\line
+
am
\line
+
foo
\line
+
\line
+
\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Next, we need to think about what should be tested. {\f1 $.enumerate()} supports a few different use cases, including:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b No arguments passed} - i.e., {\f1 $(el).enumerate()}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b 0 passed as an argument} - i.e., {\f1 $(el).enumerate(0)}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b 1 passed as an argument} - i.e., {\f1 $(el).enumerate(1)}\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As the text value for each list item is of the form \u8220"n. item-text\u8221" and we only require this to test against the expected output, we can simply access the content using {\f1 $(el).eq(index).text()} (for more information on .eq() see {\field{\*\fldinst{HYPERLINK "http://api.jquery.com/eq/"}}{\fldrslt{\ul
+here
+}}}
+).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 and finally, here are our test cases:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 module('jQuery#enumerate');\line
+\line
+test( 'No arguments passed', 5, function() \{\line
+ var items = $('#qunit-fixture li').enumerate(); // 0\line
+ equal( items.eq(0).text(), '0. hello', 'first item should have index 0' );\line
+ equal( items.eq(1).text(), '1. world', 'second item should have index 1' );\line
+ equal( items.eq(2).text(), '2. i', 'third item should have index 2' );\line
+ equal( items.eq(3).text(), '3. am', 'fourth item should have index 3' );\line
+ equal( items.eq(4).text(), '4. foo', 'fifth item should have index 4' );\line
+\});\line
+\line
+test( '0 passed as an argument', 5, function() \{\line
+ var items = $('#qunit-fixture li').enumerate( 0 );\line
+ equal( items.eq(0).text(), '0. hello', 'first item should have index 0' );\line
+ equal( items.eq(1).text(), '1. world', 'second item should have index 1' );\line
+ equal( items.eq(2).text(), '2. i', 'third item should have index 2' );\line
+ equal( items.eq(3).text(), '3. am', 'fourth item should have index 3' );\line
+ equal( items.eq(4).text(), '4. foo', 'fifth item should have index 4' );\line
+\});\line
+\line
+test( '1 passed as an argument', 3, function() \{\line
+ var items = $('#qunit-fixture li').enumerate( 1 );\line
+ equal( items.eq(0).text(), '1. hello', 'first item should have index 1' );\line
+ equal( items.eq(1).text(), '2. world', 'second item should have index 2' );\line
+ equal( items.eq(2).text(), '3. i', 'third item should have index 3' );\line
+ equal( items.eq(3).text(), '4. am', 'fourth item should have index 4' );\line
+ equal( items.eq(4).text(), '5. foo', 'fifth item should have index 5' );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Asynchronous code\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As with Jasmine, the effort required to run synchronous tests with QUnit is fairly minimal. That said, what about tests that require asynchronous callbacks (such as expensive processes, Ajax requests, and so on)? When we\u8217're dealing with asynchronous code, rather than letting QUnit control when the next test runs, we can tell it that we need it to stop running and wait until it\u8217's okay to continue once again.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Remember: running asynchronous code without any special considerations can cause incorrect assertions to appear in other tests, so we want to make sure we get it right.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Writing QUnit tests for asynchronous code is made possible using the {\f1 start()} and {\f1 stop()} methods, which programmatically set the start and stop points during such tests. Here\u8217's a simple example:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test('An async test', function()\{\line
+ stop();\line
+ expect( 1 );\line
+ $.ajax(\{\line
+ url: '/test',\line
+ dataType: 'json',\line
+ success: function( data )\{\line
+ deepEqual(data, \{\line
+ topic: 'hello',\line
+ message: 'hi there!''\line
+ \});\line
+ ok(true, 'Asynchronous test passed!');\line
+ start();\line
+ \}\line
+ \});\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A jQuery {\f1 $.ajax()} request is used to connect to a test resource and assert that the data returned is correct. {\f1 deepEqual()} is used here as it allows us to compare different data types (e.g., objects, arrays) and ensures that what is returned is exactly what we\u8217're expecting. We know that our Ajax request is asynchronous and so we first call {\f1 stop()}, then run the code making the request, and finally, at the very end of our callback, inform QUnit that it is okay to continue running other tests.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note: rather than including {\f1 stop()}, we can simply exclude it and substitute {\f1 test()} with {\f1 asyncTest()} if we prefer. This improves readability when dealing with a mixture of asynchronous and synchronous tests in your suite. While this setup should work fine for many use-cases, there is no guarantee that the callback in our {\f1 $.ajax()} request will actually get called. To factor this into our tests, we can use {\f1 expect()} once again to define how many assertions we expect to see within our test. This is a healthy safety blanket as it ensures that if a test completes with an insufficient number of assertions, we know something went wrong and can fix it.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Resources\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Books & Courses\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://peepcode.com/products/backbone-js"}}{\fldrslt{\ul
+PeepCode: Backbone.js Basics
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://www.codeschool.com/courses/anatomy-of-backbonejs"}}{\fldrslt{\ul
+CodeSchool: Anatomy Of Backbone
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://recipeswithbackbone.com/"}}{\fldrslt{\ul
+Recipes With Backbone
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://ricostacruz.com/backbone-patterns/"}}{\fldrslt{\ul
+Backbone Patterns
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://learn.thoughtbot.com/products/1-backbone-js-on-rails"}}{\fldrslt{\ul
+Backbone On Rails
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/Integralist/Blog-Posts/blob/master/2012-08-16-MVC-in-JavaScript-with-Backbone.md"}}{\fldrslt{\ul
+MVC In JavaScript With Backbone
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://backbonetutorials.com/"}}{\fldrslt{\ul
+Backbone Tutorials
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://lostechies.com/derickbailey/2011/09/13/resources-for-and-how-i-learned-backbone-js/"}}{\fldrslt{\ul
+Derick Bailey\u8217's Resources For Learning Backbone
+}}}
+\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Extensions/Libraries\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://marionettejs.com/"}}{\fldrslt{\ul
+MarionetteJS
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/aurajs/aura"}}{\fldrslt{\ul
+AuraJS
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://thoraxjs.org"}}{\fldrslt{\ul
+Thorax
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://walmartlabs.github.com/lumbar"}}{\fldrslt{\ul
+Lumbar
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/tbranyen/backbone.layoutmanager"}}{\fldrslt{\ul
+Backbone Layout Manager
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/backbone-boilerplate/backbone-boilerplate"}}{\fldrslt{\ul
+Backbone Boilerplate
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/theironcook/Backbone.ModelBinder"}}{\fldrslt{\ul
+Backbone.ModelBinder
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/PaulUithol/Backbone-relational"}}{\fldrslt{\ul
+Backbone Relational - for model relationships
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/janmonschke/backbone-couchdb"}}{\fldrslt{\ul
+Backbone CouchDB
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "https://github.com/n-time/backbone.validations"}}{\fldrslt{\ul
+Backbone Validations - HTML5 inspired validations
+}}}
+\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Conclusions\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 I hope that you\u8217've found this introduction to Backbone.js of value. What you\u8217've hopefully learned is that while building a JavaScript-heavy application using nothing more than a DOM manipulation library (such as jQuery) is certainly a possible feat, it is difficult to build anything non-trivial without any formal structure in place. Your nested pile of jQuery callbacks and DOM elements are unlikely to scale and they can be very difficult to maintain as your application grows.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The beauty of Backbone.js is it\u8217's simplicity. It\u8217's very small given the functionality and flexibility it provides, which is evident if you begin to study the Backbone.js source. In the words of Jeremy Ashkenas, \u8220"The essential premise at the heart of Backbone has always been to try and discover the minimal set of data-structuring (Models and Collections) and user interface (Views and URLs) primitives that are useful when building web applications with JavaScript.\u8221" It just helps you improve the structure of your applications, helping you better separate concerns. There isn\u8217't anything more to it than that.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone offers Models with key-value bindings and events, Collections with an API of rich enumerable methods, declarative Views with event handling and a simple way to connect an existing API to your client-side application over a RESTful JSON interface. Use it and you can abstract away data into sane models and your DOM manipulation into views, binding them together using nothing more than events.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Almost any developer working on JavaScript applications for a while will ultimately create a similar solution on their own if they value architecture and maintainability. The alternative to using it or something similar is rolling your own - often a process that involves glueing together a diverse set of libraries that weren\u8217't built to work together. You might use jQuery BBQ for history management and Handlebars for templating, while writing abstracts for organizing and testing code by yourself.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Contrast this with Backbone, which has {\field{\*\fldinst{HYPERLINK "http://en.wikipedia.org/wiki/Literate_programming"}}{\fldrslt{\ul
+literate
+}}}
+ {\field{\*\fldinst{HYPERLINK "http://backbonejs.org/docs/backbone.html"}}{\fldrslt{\ul
+documentation
+}}}
+ of the source code, a thriving community of both users and hackers, and a large number of questions about it asked and answered daily on sites like {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/search?q=backbone"}}{\fldrslt{\ul
+Stack Overflow
+}}}
+. Rather than re-inventing the wheel there are many advantages to structuring your application using a solution based on the collective knowledge and experience of an entire community.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In addition to helping provide sane structure to your applications, Backbone is highly extensible supporting more custom architecture should you require more than what is prescribed out of the box. This is evident by the number of extensions and plugins which have been released for it over the past year, including those which we have touched upon such as MarionetteJS and Thorax.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 These days Backbone.js powers many complex web applications, ranging from the LinkedIn {\field{\*\fldinst{HYPERLINK "http://touch.www.linkedin.com/mobile.html"}}{\fldrslt{\ul
+mobile app
+}}}
+ to popular RSS readers such as {\field{\*\fldinst{HYPERLINK "http://newsblur.com"}}{\fldrslt{\ul
+NewsBlur
+}}}
+ through to social commentary widgets such as {\field{\*\fldinst{HYPERLINK "http://disqus.com/"}}{\fldrslt{\ul
+Disqus
+}}}
+. This small library of simple, but sane abstractions has helped to create a new generation of rich web applications, and I and my collaborators hope that in time it can help you too.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 If you\u8217're wondering whether it is worth using Backbone on a project, ask yourself whether what you are building is complex enough to merit using it. Are you hitting the limits of your ability to organize your code? Will your application have regular changes to what is displayed in the UI without a trip back to the server for new pages? Would you benefit from a separation of concerns? If so, a solution like Backbone may be able to help.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Google\u8217's GMail is often cited as an example of a well built single-page app. If you\u8217've used it, you might have noticed that it requests a large initial chunk, representing most of the JavaScript, CSS and HTML most users will need and everything extra needed after that occurs in the background. GMail can easily switch between your inbox to your spam folder without needing the whole page to be re-rendered. Libraries like Backbone make it easier for web developers to create experiences like this.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 That said, Backbone won\u8217't be able to help if you\u8217're planning on building something which isn\u8217't worth the learning curve associated with a library. If your application or site will still be using the server to do the heavy lifting of constructing and serving complete pages to the browser, you may find just using plain JavaScript or jQuery for simple effects or interactions to be more appropriate. Spend time assessing how suitable Backbone might be for you and make the right choice on a per-project basis.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone is neither difficult to learn nor use, however the time and effort you spend learning how to structure applications using it will be well worth it. While reading this book will equip you with the fundamentals needed to understand the library, the best way to learn is to try building your own real-world applications. You will hopefully find that the end product is cleaner, better organized and more maintainable code.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 With that, I wish you the very best with your onward journey into the world of Backbone and will leave you with a quote from American writer {\field{\*\fldinst{HYPERLINK "http://en.wikipedia.org/wiki/Henry_Miller"}}{\fldrslt{\ul
+Henry Miller
+}}}
+ - \u8220"One\u8217's destination is never a place, but a new way of seeing things.\u8221"\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 SinonJS\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Similar to the section on testing Backbone.js apps using the Jasmine BDD framework, we\u8217're nearly ready to take what we\u8217've learned and write a number of QUnit tests for our Todo application.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Before we start though, you may have noticed that QUnit doesn\u8217't support test spies. Test spies are functions which record arguments, exceptions, and return values for any of their calls. They\u8217're typically used to test callbacks and how functions may be used in the application being tested. In testing frameworks, spies usually are anonymous functions or wrappers around functions which already exist.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 What is SinonJS?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In order for us to substitute support for spies in QUnit, we will be taking advantage of a mocking framework called {\field{\*\fldinst{HYPERLINK "http://sinonjs.org/"}}{\fldrslt{\ul
+SinonJS
+}}}
+ by Christian Johansen. We will also be using the {\field{\*\fldinst{HYPERLINK "http://sinonjs.org/qunit/"}}{\fldrslt{\ul
+SinonJS-QUnit adapter
+}}}
+ which provides seamless integration with QUnit (meaning setup is minimal). Sinon.JS is completely test-framework agnostic and should be easy to use with any testing framework, so it\u8217's ideal for our needs.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The framework supports three features we\u8217'll be taking advantage of for unit testing our application:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b Anonymous spies}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b Spying on existing methods}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b A rich inspection interface}\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Basic Spies\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Using {\f1 this.spy()} without any arguments creates an anonymous spy. This is comparable to {\f1 jasmine.createSpy()}. We can observe basic usage of a SinonJS spy in the following example:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test('should call all subscribers for a message exactly once', function () \{\line
+ var message = getUniqueString();\line
+ var spy = this.spy();\line
+\line
+ PubSub.subscribe( message, spy );\line
+ PubSub.publishSync( message, 'Hello World' );\line
+\line
+ ok( spy.calledOnce, 'the subscriber was called once' );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Spying On Existing Functions\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We can also use {\f1 this.spy()} to spy on existing functions (like jQuery\u8217's {\f1 $.ajax}) in the example below. When spying on a function which already exists, the function behaves normally but we get access to data about its calls which can be very useful for testing purposes.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test( 'should inspect the jQuery.getJSON usage of jQuery.ajax', function () \{\line
+ this.spy( jQuery, 'ajax' );\line
+\line
+ jQuery.getJSON( '/todos/completed' );\line
+\line
+ ok( jQuery.ajax.calledOnce );\line
+ equals( jQuery.ajax.getCall(0).args[0].url, '/todos/completed' );\line
+ equals( jQuery.ajax.getCall(0).args[0].dataType, 'json' );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Inspection Interface\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 SinonJS comes with a rich spy interface which allows us to test whether a spy was called with a specific argument, if it was called a specific number of times, and test against the values of arguments. A complete list of features supported in the interface can be found on {\field{\*\fldinst{HYPERLINK "http://sinonjs.org/docs/"}}{\fldrslt{\ul
+SinonJS.org
+}}}
+, but let\u8217's take a look at some examples demonstrating some of the most commonly used ones:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Matching arguments: test a spy was called with a specific set of arguments:}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test( 'Should call a subscriber with standard matching': function () \{\line
+ var spy = sinon.spy();\line
+\line
+ PubSub.subscribe( 'message', spy );\line
+ PubSub.publishSync( 'message', \{ id: 45 \} );\line
+\line
+ assertTrue( spy.calledWith( \{ id: 45 \} ) );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Stricter argument matching: test a spy was called at least once with specific arguments and no others:}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test( 'Should call a subscriber with strict matching': function () \{\line
+ var spy = sinon.spy();\line
+\line
+ PubSub.subscribe( 'message', spy );\line
+ PubSub.publishSync( 'message', 'many', 'arguments' );\line
+ PubSub.publishSync( 'message', 12, 34 );\line
+\line
+ // This passes\line
+ assertTrue( spy.calledWith('many') );\line
+\line
+ // This however, fails\line
+ assertTrue( spy.calledWithExactly( 'many' ) );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Testing call order: testing if a spy was called before or after another spy:}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test( 'Should call a subscriber and maintain call order': function () \{\line
+ var a = sinon.spy();\line
+ var b = sinon.spy();\line
+\line
+ PubSub.subscribe( 'message', a );\line
+ PubSub.subscribe( 'event', b );\line
+\line
+ PubSub.publishSync( 'message', \{ id: 45 \} );\line
+ PubSub.publishSync( 'event', [1, 2, 3] );\line
+\line
+ assertTrue( a.calledBefore(b) );\line
+ assertTrue( b.calledAfter(a) );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Match execution counts: test a spy was called a specific number of times:}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test( 'Should call a subscriber and check call counts', function () \{\line
+ var message = getUniqueString();\line
+ var spy = this.spy();\line
+\line
+ PubSub.subscribe( message, spy );\line
+ PubSub.publishSync( message, 'some payload' );\line
+\line
+\line
+ // Passes if spy was called once and only once.\line
+ ok( spy.calledOnce ); // calledTwice and calledThrice are also supported\line
+\line
+ // The number of recorded calls.\line
+ equal( spy.callCount, 1 );\line
+\line
+ // Directly checking the arguments of the call\line
+ equals( spy.getCall(0).args[0], message );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Stubs and mocks\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 SinonJS also supports two other powerful features: stubs and mocks. Both stubs and mocks implement all of the features of the spy API, but have some added functionality.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Stubs\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A stub allows us to replace any existing behaviour for a specific method with something else. They can be very useful for simulating exceptions and are most often used to write test cases when certain dependencies of your code-base may not yet be written.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let us briefly re-explore our Backbone Todo application, which contained a Todo model and a TodoList collection. For the purpose of this walkthrough, we want to isolate our TodoList collection and fake the Todo model to test how adding new models might behave.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We can pretend that the models have yet to be written just to demonstrate how stubbing might be carried out. A shell collection just containing a reference to the model to be used might look like this:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var TodoList = Backbone.Collection.extend(\{\line
+ model: Todo\line
+\});\line
+\line
+// Let's assume our instance of this collection is\line
+this.todoList;\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Assuming our collection is instantiating new models itself, it\u8217's necessary for us to stub the model\u8217's constructor function for the the test. This can be done by creating a simple stub as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 this.todoStub = sinon.stub( window, 'Todo' );\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The above creates a stub of the Todo method on the window object. When stubbing a persistent object, it\u8217's necessary to restore it to its original state. This can be done in a {\f1 teardown()} as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 this.todoStub.restore();\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 After this, we need to alter what the constructor returns, which can be efficiently done using a plain {\f1 Backbone.Model} constructor. While this isn\u8217't a Todo model, it does still provide us an actual Backbone model.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 setup: function() \{\line
+ this.model = new Backbone.Model(\{\line
+ id: 2,\line
+ title: 'Hello world'\line
+ \});\line
+ this.todoStub.returns( this.model );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The expectation here might be that this snippet would ensure our TodoList collection always instantiates a stubbed Todo model, but because a reference to the model in the collection is already present, we need to reset the model property of our collection as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 this.todoList.model = Todo;\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The result of this is that when our TodoList collection instantiates new Todo models, it will return our plain Backbone model instance as desired. This allows us to write a test for the addition of new model literals as follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 module( 'Should function when instantiated with model literals', \{\line
+\line
+ setup:function() \{\line
+\line
+ this.todoStub = sinon.stub(window, 'Todo');\line
+ this.model = new Backbone.Model(\{\line
+ id: 2,\line
+ title: 'Hello world'\line
+ \});\line
+\line
+ this.todoStub.returns(this.model);\line
+ this.todos = new TodoList();\line
+\line
+ // Let's reset the relationship to use a stub\line
+ this.todos.model = Todo;\line
+ \line
+ // add a model\line
+ this.todos.add(\{\line
+ id: 2,\line
+ title: 'Hello world'\line
+ \});\line
+ \},\line
+\line
+ teardown: function() \{\line
+ this.todoStub.restore();\line
+ \}\line
+\line
+\});\line
+\line
+test('should add a model', function() \{\line
+ equal( this.todos.length, 1 );\line
+\});\line
+\line
+test('should find a model by id', function() \{\line
+ equal( this.todos.get(5).get('id'), 5 );\line
+ \});\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Mocks\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Mocks are effectively the same as stubs, however they mock a complete API and have some built-in expectations for how they should be used. The difference between a mock and a spy is that as the expectations for their use are pre-defined and the test will fail if any of these are not met.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Here\u8217's a snippet with sample usage of a mock based on PubSubJS. Here, we have a {\f1 clearTodo()} method as a callback and use mocks to verify its behavior.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 test('should call all subscribers when exceptions', function () \{\line
+ var myAPI = \{ clearTodo: function () \{\} \};\line
+\line
+ var spy = this.spy();\line
+ var mock = this.mock( myAPI );\line
+ mock.expects( 'clearTodo' ).once().throws();\line
+\line
+ PubSub.subscribe( 'message', myAPI.clearTodo );\line
+ PubSub.subscribe( 'message', spy );\line
+ PubSub.publishSync( 'message', undefined );\line
+\line
+ mock.verify();\line
+ ok( spy.calledOnce );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Exercise\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We can now begin writing tests for our Todo application, which are listed and separated by component (e.g., Models, Collections, etc.). It\u8217's useful to pay attention to the name of the test, the logic being tested, and most importantly the assertions being made as this will give you some insight into how what we\u8217've learned can be applied to a complete application.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 To get the most out of this section, I recommend looking at the QUnit Koans included in the {\f1 practicals/qunit-koans} folder - this is a port of the Backbone.js Jasmine Koans over to QUnit.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\i In case you haven\u8217't had a chance to try out one of the Koans kits as yet, they are a set of unit tests using a specific testing framework that both demonstrate how a set of tests for an application may be written, but also leave some tests unfilled so that you can complete them as an exercise.}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Models\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For our models we want to at minimum test that:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab New instances can be created with the expected default values\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Attributes can be set and retrieved correctly\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Changes to state correctly fire off custom events where needed\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Validation rules are correctly enforced\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 module( 'About Backbone.Model');\line
+\line
+test('Can be created with default values for its attributes.', function() \{\line
+ expect( 3 );\line
+\line
+ var todo = new Todo();\line
+ equal( todo.get('text'), '' );\line
+ equal( todo.get('done'), false );\line
+ equal( todo.get('order'), 0 );\line
+\});\line
+\line
+test('Will set attributes on the model instance when created.', function() \{\line
+ expect( 1 );\line
+\line
+ var todo = new Todo( \{ text: 'Get oil change for car.' \} );\line
+ equal( todo.get('text'), 'Get oil change for car.' );\line
+\line
+\});\line
+\line
+test('Will call a custom initialize function on the model instance when created.', function() \{\line
+ expect( 1 );\line
+\line
+ var toot = new Todo(\{ text: 'Stop monkeys from throwing their own crap!' \});\line
+ equal( toot.get('text'), 'Stop monkeys from throwing their own rainbows!' );\line
+\});\line
+\line
+test('Fires a custom event when the state changes.', function() \{\line
+ expect( 1 );\line
+\line
+ var spy = this.spy();\line
+ var todo = new Todo();\line
+\line
+ todo.on( 'change', spy );\line
+ // Change the model state\line
+ todo.set( \{ text: 'new text' \} );\line
+\line
+ ok( spy.calledOnce, 'A change event callback was correctly triggered' );\line
+\});\line
+\line
+\line
+test('Can contain custom validation rules, and will trigger an invalid event on failed validation.', function() \{\line
+ expect( 3 );\line
+\line
+ var errorCallback = this.spy();\line
+ var todo = new Todo();\line
+\line
+ todo.on('invalid', errorCallback);\line
+ // Change the model state in such a way that validation will fail\line
+ todo.set( \{ done: 'not a boolean' \} );\line
+\line
+ ok( errorCallback.called, 'A failed validation correctly triggered an error' );\line
+ notEqual( errorCallback.getCall(0), undefined );\line
+ equal( errorCallback.getCall(0).args[1], 'Todo.done must be a boolean value.' );\line
+\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Collections\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For our collection we\u8217'll want to test that:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The Collection has a Todo Model\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Uses localStorage for syncing\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab That done(), remaining() and clear() work as expected\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The order for Todos is numerically correct\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 describe('Test Collection', function() \{\line
+\line
+ beforeEach(function() \{\line
+\line
+ // Define new todos\line
+ this.todoOne = new Todo;\line
+ this.todoTwo = new Todo(\{\line
+ title: "Buy some milk"\line
+ \});\line
+\line
+ // Create a new collection of todos for testing\line
+ return this.todos = new TodoList([this.todoOne, this.todoTwo]);\line
+ \});\line
+\line
+ it('Has the Todo model', function() \{\line
+ return expect(this.todos.model).toBe(Todo);\line
+ \});\line
+\line
+ it('Uses local storage', function() \{\line
+ return expect(this.todos.localStorage).toEqual(new Store('todos-backbone'));\line
+ \});\line
+\line
+ describe('done', function() \{\line
+ return it('returns an array of the todos that are done', function() \{\line
+ this.todoTwo.done = true;\line
+ return expect(this.todos.done()).toEqual([this.todoTwo]);\line
+ \});\line
+ \});\line
+\line
+ describe('remaining', function() \{\line
+ return it('returns an array of the todos that are not done', function() \{\line
+ this.todoTwo.done = true;\line
+ return expect(this.todos.remaining()).toEqual([this.todoOne]);\line
+ \});\line
+ \});\line
+\line
+ describe('clear', function() \{\line
+ return it('destroys the current todo from local storage', function() \{\line
+ expect(this.todos.models).toEqual([this.todoOne, this.todoTwo]);\line
+ this.todos.clear(this.todoOne);\line
+ return expect(this.todos.models).toEqual([this.todoTwo]);\line
+ \});\line
+ \});\line
+\line
+ return describe('Order sets the order on todos ascending numerically', function() \{\line
+ it('defaults to one when there arent any items in the collection', function() \{\line
+ this.emptyTodos = new TodoApp.Collections.TodoList;\line
+ return expect(this.emptyTodos.order()).toEqual(0);\line
+ \});\line
+\line
+ return it('Increments the order by one each time', function() \{\line
+ expect(this.todos.order(this.todoOne)).toEqual(1);\line
+ return expect(this.todos.order(this.todoTwo)).toEqual(2);\line
+ \});\line
+ \});\line
+\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Views\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For our views we want to ensure:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab They are being correctly tied to a DOM element when created\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab They can render, after which the DOM representation of the view should be visible\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab They support wiring up view methods to DOM elements\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 One could also take this further and test that user interactions with the view correctly result in any models that need to be changed being updated correctly.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 module( 'About Backbone.View', \{\line
+ setup: function() \{\line
+ $('body').append('
');\line
+ this.todoView = new TodoView(\{ model: new Todo() \});\line
+ \},\line
+ teardown: function() \{\line
+ this.todoView.remove();\line
+ $('#todoList').remove();\line
+ \}\line
+\});\line
+\line
+test('Should be tied to a DOM element when created, based off the property provided.', function() \{\line
+ expect( 1 );\line
+ equal( this.todoView.el.tagName.toLowerCase(), 'li' );\line
+\});\line
+\line
+test('Is backed by a model instance, which provides the data.', function() \{\line
+ expect( 2 );\line
+ notEqual( this.todoView.model, undefined );\line
+ equal( this.todoView.model.get('done'), false );\line
+\});\line
+\line
+test('Can render, after which the DOM representation of the view will be visible.', function() \{\line
+ this.todoView.render();\line
+\line
+ // Append the DOM representation of the view to ul#todoList\line
+ $('ul#todoList').append(this.todoView.el);\line
+\line
+ // Check the number of li items rendered to the list\line
+ equal($('#todoList').find('li').length, 1);\line
+\});\line
+\line
+asyncTest('Can wire up view methods to DOM elements.', function() \{\line
+ expect( 2 );\line
+ var viewElt;\line
+\line
+ $('#todoList').append( this.todoView.render().el );\line
+\line
+ setTimeout(function() \{\line
+ viewElt = $('#todoList li input.check').filter(':first');\line
+\line
+ equal(viewElt.length > 0, true);\line
+\line
+ // Ensure QUnit knows we can continue\line
+ start();\line
+ \}, 1000, 'Expected DOM Elt to exist');\line
+\line
+ // Trigget the view to toggle the 'done' status on an item or items\line
+ $('#todoList li input.check').click();\line
+\line
+ // Check the done status for the model is true\line
+ equal( this.todoView.model.get('done'), true );\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 App\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 It can also be useful to write tests for any application bootstrap you may have in place. For the following module, our setup instantiates and appends to a TodoApp view and we can test anything from local instances of views being correctly defined to application interactions correctly resulting in changes to instances of local collections.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 module( 'About Backbone Applications' , \{\line
+ setup: function() \{\line
+ Backbone.localStorageDB = new Store('testTodos');\line
+ $('#qunit-fixture').append('');\line
+ this.App = new TodoApp(\{ appendTo: $('#app') \});\line
+ \},\line
+\line
+ teardown: function() \{\line
+ this.App.todos.reset();\line
+ $('#app').remove();\line
+ \}\line
+\});\line
+\line
+test('Should bootstrap the application by initializing the Collection.', function() \{\line
+ expect( 2 );\line
+\line
+ // The todos collection should not be undefined\line
+ notEqual( this.App.todos, undefined );\line
+\line
+ // The initial length of our todos should however be zero\line
+ equal( this.App.todos.length, 0 );\line
+\});\line
+\line
+test( 'Should bind Collection events to View creation.' , function() \{\line
+\line
+ // Set the value of a brand new todo within the input box\line
+ $('#new-todo').val( 'Buy some milk' );\line
+\line
+ // Trigger the enter (return) key to be pressed inside #new-todo\line
+ // causing the new item to be added to the todos collection\line
+ $('#new-todo').trigger(new $.Event( 'keypress', \{ keyCode: 13 \} ));\line
+\line
+ // The length of our collection should now be 1\line
+ equal( this.App.todos.length, 1 );\line
+ \});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Further Reading & Resources\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 That\u8217's it for this section on testing applications with QUnit and SinonJS. I encourage you to try out the {\field{\*\fldinst{HYPERLINK "https://github.com/addyosmani/backbone-koans-qunit"}}{\fldrslt{\ul
+QUnit Backbone.js Koans
+}}}
+ and see if you can extend some of the examples. For further reading consider looking at some of the additional resources below:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b {\field{\*\fldinst{HYPERLINK "http://tddjs.com/"}}{\fldrslt{\ul
+Test-driven JavaScript Development (book)
+}}}
+}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b {\field{\*\fldinst{HYPERLINK "http://sinonjs.org/qunit/"}}{\fldrslt{\ul
+SinonJS/QUnit Adapter
+}}}
+}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b {\field{\*\fldinst{HYPERLINK "http://cjohansen.no/en/javascript/using_sinon_js_with_qunit"}}{\fldrslt{\ul
+SinonJS and QUnit
+}}}
+}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b {\field{\*\fldinst{HYPERLINK "http://msdn.microsoft.com/en-us/scriptjunkie/gg749824"}}{\fldrslt{\ul
+Automating JavaScript Testing With QUnit
+}}}
+}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b {\field{\*\fldinst{HYPERLINK "http://benalman.com/talks/unit-testing-qunit.html"}}{\fldrslt{\ul
+Ben Alman\u8217's Unit Testing With QUnit
+}}}
+}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b {\field{\*\fldinst{HYPERLINK "https://github.com/jc00ke/qunit-backbone"}}{\fldrslt{\ul
+Another QUnit/Backbone.js demo project
+}}}
+}\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\b {\field{\*\fldinst{HYPERLINK "http://devblog.supportbee.com/2012/02/10/helpers-for-testing-backbone-js-apps-using-jasmine-and-sinon-js/"}}{\fldrslt{\ul
+SinonJS helpers for Backbone
+}}}
+}\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Appendix\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 A Simple JavaScript MVC Implementation\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A comprehensive discussion of Backbone\u8217's implementation is beyond the scope of this book. We can, however, present a simple MVC library - which we will call Cranium.js - that illustrates how frameworks such as Backbone implement the MVC pattern.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Like Backbone, we will rely on {\field{\*\fldinst{HYPERLINK "http://underscorejs.org"}}{\fldrslt{\ul
+Underscore
+}}}
+ for inheritance and templating.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Event System\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 At the heart of our JavaScript MVC implementation is an {\f1 Event} system (object) based on the Publisher-Subscriber Pattern which makes it possible for MVC components to communicate in an elegant, decoupled manner. Subscribers \u8216'listen\u8217' for specific events of interest and react when Publishers broadcast these events.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 Event} is mixed into both the View and Model components so that instances of either of these components can publish events of interest.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // cranium.js - Cranium.Events\line
+\line
+var Cranium = Cranium || \{\};\line
+\line
+// Set DOM selection utility\line
+var $ = document.querySelector.bind(document) || this.jQuery || this.Zepto;\line
+\line
+// Mix in to any object in order to provide it with custom events.\line
+var Events = Cranium.Events = \{\line
+ // Keeps list of events and associated listeners\line
+ channels: \{\},\line
+\line
+ // Counter\line
+ eventNumber: 0,\line
+\line
+ // Announce events and passes data to the listeners;\line
+ trigger: function (events, data) \{\line
+ for (var topic in Cranium.Events.channels)\{\line
+ if (Cranium.Events.channels.hasOwnProperty(topic)) \{\line
+ if (topic.split("-")[0] == events)\{\line
+ Cranium.Events.channels[topic](data) !== false || delete Cranium.Events.channels[topic];\line
+ \}\line
+ \}\line
+ \}\line
+ \},\line
+ // Registers an event type and its listener\line
+ on: function (events, callback) \{\line
+ Cranium.Events.channels[events + --Cranium.Events.eventNumber] = callback;\line
+ \},\line
+ // Unregisters an event type and its listener\line
+ off: function(topic) \{\line
+ delete Cranium.Events.channels[topic];\line
+ \} \line
+\};\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The Event system makes it possible for:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab a View to notify its subscribers of user interaction (e.g., clicks or input in a form), to update/re-render its presentation, etc.\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab a Model whose data has changed to notify its Subscribers to update themselves (e.g., view to re-render to show accurate/updated data), etc.\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Models\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Models manage the (domain-specific) data for an application. They are concerned with neither the user-interface nor presentation layers, but instead represent structured data that an application may require. When a model changes (e.g when it is updated), it will typically notify its observers (Subscribers) that a change has occurred so that they may react accordingly.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's see a simple implementation of the Model:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // cranium.js - Cranium.Model\line
+\line
+// Attributes represents data, model's properties.\line
+// These are to be passed at Model instantiation.\line
+// Also we are creating id for each Model instance \line
+// so that it can identify itself (e.g. on chage \line
+// announcements)\line
+var Model = Cranium.Model = function (attributes) \{\line
+ this.id = _.uniqueId('model');\line
+ this.attributes = attributes || \{\};\line
+\};\line
+\line
+// Getter (accessor) method;\line
+// returns named data item\line
+Cranium.Model.prototype.get = function(attrName) \{\line
+ return this.attributes[attrName];\line
+\};\line
+\line
+// Setter (mutator) method;\line
+// Set/mix in into model mapped data (e.g.\{name: "John"\})\line
+// and publishes the change event\line
+Cranium.Model.prototype.set = function(attrs)\{\line
+ if (_.isObject(attrs)) \{\line
+ _.extend(this.attributes, attrs);\line
+ this.change(this.attributes);\line
+ \}\line
+ return this;\line
+\};\line
+\line
+// Returns clone of the Models data object \line
+// (used for view template rendering)\line
+Cranium.Model.prototype.toJSON = function(options) \{\line
+ return _.clone(this.attributes);\line
+\};\line
+\line
+// Helper function that announces changes to the Model\line
+// and passes the new data\line
+Cranium.Model.prototype.change = function(attrs)\{\line
+ this.trigger(this.id + 'update', attrs);\line
+\}; \line
+\line
+// Mix in Event system\line
+_.extend(Cranium.Model.prototype, Cranium.Events);\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Views\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Views are a visual representation of models that present a filtered view of their current state. A view typically observes a model and is notified when the model changes, allowing the view to update itself accordingly. Design pattern literature commonly refers to views as \u8216'dumb\u8217', given that their knowledge of models and controllers in an application is limited.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Let\u8217's explore Views a little further using a simple JavaScript example:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // DOM View\line
+var View = Cranium.View = function (options) \{\line
+ // Mix in options object (e.g extending functionallity)\line
+ _.extend(this, options); \line
+ this.id = _.uniqueId('view');\line
+\};\line
+\line
+// Mix in Event system\line
+_.extend(Cranium.View.prototype, Cranium.Events);\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Controllers\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Controllers are an intermediary between models and views which are classically responsible for two tasks:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab they update the view when the model changes\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab they update the model when the user manipulates the view\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // cranium.js - Cranium.Controller\line
+\line
+// Controller tying together a model and view\line
+var Controller = Cranium.Controller = function(options)\{\line
+ // Mix in options object (e.g extending functionallity)\line
+ _.extend(this, options); \line
+ this.id = _.uniqueId('controller');\line
+ var parts, selector, eventType;\line
+\line
+ // Parses Events object passed during the definition of the \line
+ // controller and maps it to the defined method to handle it;\line
+ if(this.events)\{\line
+ _.each(this.events, function(method, eventName)\{\line
+ parts = eventName.split('.');\line
+ selector = parts[0];\line
+ eventType = parts[1];\line
+ $(selector)['on' + eventType] = this[method];\line
+ \}.bind(this));\line
+ \} \line
+\};\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Practical Usage\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 HTML template for the primer that follows:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+\line
+\line
+ \line
+ \line
+ \line
+\line
+\line
+
\line
+
\line
+ \line
+ \line
+ \line
+ \line
+\line
+\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Cranium.js usage:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+// example.js - usage of Cranium MVC\line
+\line
+// And todo instance\line
+var todo1 = new Cranium.Model(\{\line
+ title: "",\line
+ completed: ""\line
+\});\line
+\line
+console.log("First todo title - nothing set: " + todo1.get('title'));\line
+todo1.set(\{title: "Do something"\});\line
+console.log("Its changed now: " + todo1.get('title'));\line
+''\line
+// View instance\line
+var todoView = new Cranium.View(\{\line
+ // DOM element selector\line
+ el: '#todo',\line
+\line
+ // Todo template; Underscore temlating used\line
+ template: _.template($('.todo-template').innerHTML),\line
+\line
+ init: function (model) \{\line
+ this.render( model.toJSON() );\line
+\line
+ this.on(model.id + 'update', this.render.bind(this));\line
+ \},\line
+ render: function (data) \{\line
+ console.log("View about to render.");\line
+ $(this.el).innerHTML = this.template( data );\line
+ \}\line
+\});\line
+\line
+var todoController = new Cranium.Controller(\{\line
+ // Specify the model to update\line
+ model: todo1,\line
+\line
+ // and the view to observe this model\line
+ view: todoView,\line
+ \line
+ events: \{\line
+ "#todo.click" : "toggleComplete"\line
+ \},\line
+\line
+ // Initialize everything\line
+ initialize: function () \{\line
+ this.view.init(this.model);\line
+ return this;\line
+ \},\line
+ // Toggles the value of the todo in the Model\line
+ toggleComplete: function () \{\line
+ var completed = todoController.model.get('completed');\line
+ console.log("Todo old 'completed' value?", completed);\line
+ todoController.model.set(\{ completed: (!completed) ? 'checked': '' \});\line
+ console.log("Todo new 'completed' value?", todoController.model.get('completed'));\line
+ return this;\line
+ \}\line
+\});\line
+\line
+\line
+// Let's kick start things off\line
+todoController.initialize();\line
+\line
+todo1.set(\{ title: "Due to this change Model will notify View and it will re-render"\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Samuel Clay, one of the authors of the first version of Backbone.js says of cranium.js: \u8220"Unsurprisingly, it looks a whole lot like the beginnings of Backbone. Views are dumb, so they get very little boilerplate and setup. Models are responsible for their attributes and announcing changes to those models.\u8221"\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 I hope you\u8217've found this implementation helpful in understanding how one would go about writing their own library like Backbone from scratch, but moreso that it encourages you to take advantage of mature existing solutions where possible but never be afraid to explore deeper down into what makes them tick.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 MVP\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Model-View-Presenter (MVP) is a derivative of the MVC design pattern which focuses on improving presentation logic. It originated at a company named {\field{\*\fldinst{HYPERLINK "http://en.wikipedia.org/wiki/Taligent"}}{\fldrslt{\ul
+Taligent
+}}}
+ in the early 1990s while they were working on a model for a C++ CommonPoint environment. Whilst both MVC and MVP target the separation of concerns across multiple components, there are some fundamental differences between them.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For the purposes of this summary we will focus on the version of MVP most suitable for web-based architectures.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Models, Views & Presenters\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The P in MVP stands for presenter. It\u8217's a component which contains the user-interface business logic for the view. Unlike MVC, invocations from the view are delegated to the presenter, which are decoupled from the view and instead talk to it through an interface. This allows for all kinds of useful things such as being able to mock views in unit tests.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The most common implementation of MVP is one which uses a Passive View (a view which is for all intents and purposes \u8220"dumb\u8221"), containing little to no logic. MVP models are almost identical to MVC models and handle application data. The presenter acts as a mediator which talks to both the view and model, however both of these are isolated from each other. They effectively bind models to views, a responsibility held by Controllers in MVC. Presenters are at the heart of the MVP pattern and as you can guess, incorporate the presentation logic behind views.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Solicited by a view, presenters perform any work to do with user requests and pass data back to them. In this respect, they retrieve data, manipulate it and determine how the data should be displayed in the view. In some implementations, the presenter also interacts with a service layer to persist data (models). Models may trigger events but it\u8217's the presenter\u8217's role to subscribe to them so that it can update the view. In this passive architecture, we have no concept of direct data binding. Views expose setters which presenters can use to set data.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The benefit of this change from MVC is that it increases the testability of your application and provides a more clean separation between the view and the model. This isn\u8217't however without its costs as the lack of data binding support in the pattern can often mean having to take care of this task separately.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Although a common implementation of a {\field{\*\fldinst{HYPERLINK "http://martinfowler.com/eaaDev/PassiveScreen.html"}}{\fldrslt{\ul
+Passive View
+}}}
+ is for the view to implement an interface, there are variations on it, including the use of events which can decouple the View from the Presenter a little more. As we don\u8217't have the interface construct in JavaScript, we\u8217're using it more and more as a protocol than an explicit interface here. It\u8217's technically still an API and it\u8217's probably fair for us to refer to it as an interface from that perspective.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 There is also a {\field{\*\fldinst{HYPERLINK "http://martinfowler.com/eaaDev/SupervisingPresenter.html"}}{\fldrslt{\ul
+Supervising Controller
+}}}
+ variation of MVP, which is closer to the MVC and {\field{\*\fldinst{HYPERLINK "http://en.wikipedia.org/wiki/Model_View_ViewModel"}}{\fldrslt{\ul
+MVVM - Model-View-ViewModel
+}}}
+ patterns as it provides data-binding from the Model directly from the View. Key-value observing (KVO) plugins (such as Derick Bailey\u8217's Backbone.ModelBinding plugin) introduce this idea of a Supervising Controller to Backbone.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 MVP or MVC?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 MVP is generally used most often in enterprise-level applications where it\u8217's necessary to reuse as much presentation logic as possible. Applications with very complex views and a great deal of user interaction may find that MVC doesn\u8217't quite fit the bill here as solving this problem may mean heavily relying on multiple controllers. In MVP, all of this complex logic can be encapsulated in a presenter, which can simplify maintenance greatly.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As MVP views are defined through an interface and the interface is technically the only point of contact between the system and the view (other than a presenter), this pattern also allows developers to write presentation logic without needing to wait for designers to produce layouts and graphics for the application.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Depending on the implementation, MVP may be more easy to automatically unit test than MVC. The reason often cited for this is that the presenter can be used as a complete mock of the user-interface and so it can be unit tested independent of other components. In my experience this really depends on the languages you are implementing MVP in (there\u8217's quite a difference between opting for MVP for a JavaScript project over one for say, ASP.NET).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 At the end of the day, the underlying concerns you may have with MVC will likely hold true for MVP given that the differences between them are mainly semantic. As long as you are cleanly separating concerns into models, views and controllers (or presenters) you should be achieving most of the same benefits regardless of the pattern you opt for.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 MVC, MVP and Backbone.js\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 There are very few, if any architectural JavaScript frameworks that claim to implement the MVC or MVP patterns in their classical form as many JavaScript developers don\u8217't view MVC and MVP as being mutually exclusive (we are actually more likely to see MVP strictly implemented when looking at web frameworks such as ASP.NET or GWT). This is because it\u8217's possible to have additional presenter/view logic in your application and yet still consider it a flavor of MVC.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone contributor {\field{\*\fldinst{HYPERLINK "http://ireneros.com/"}}{\fldrslt{\ul
+Irene Ros
+}}}
+ subscribes to this way of thinking as when she separates Backbone views out into their own distinct components, she needs something to actually assemble them for her. This could either be a controller route (such as a {\f1 Backbone.Router}) or a callback in response to data being fetched.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 That said, some developers do however feel that Backbone.js better fits the description of MVP than it does MVC . Their view is that:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The presenter in MVP better describes the {\f1 Backbone.View} (the layer between View templates and the data bound to it) than a controller does\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The model fits {\f1 Backbone.Model} (it isn\u8217't that different from the classical MVC \u8220"Model\u8221")\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab The views best represent templates (e.g Handlebars/Mustache markup templates)\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 A response to this could be that the view can also just be a View (as per MVC) because Backbone is flexible enough to let it be used for multiple purposes. The V in MVC and the P in MVP can both be accomplished by {\f1 Backbone.View} because they\u8217're able to achieve two purposes: both rendering atomic components and assembling those components rendered by other views.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 We\u8217've also seen that in Backbone the responsibility of a controller is shared with both the Backbone.View and Backbone.Router and in the following example we can actually see that aspects of that are certainly true.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Here, our Backbone {\f1 TodoView} uses the Observer pattern to \u8216'subscribe\u8217' to changes to a View\u8217's model in the line {\f1 this.model.on('change',...)}. It also handles templating in the {\f1 render()} method, but unlike some other implementations, user interaction is also handled in the View (see {\f1 events}).\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // The DOM element for a todo item...\line
+app.TodoView = Backbone.View.extend(\{\line
+\line
+ //... is a list tag.\line
+ tagName: 'li',\line
+\line
+ // Pass the contents of the todo template through a templating\line
+ // function, cache it for a single todo\line
+ template: _.template( $('#item-template').html() ),\line
+\line
+ // The DOM events specific to an item.\line
+ events: \{\line
+ 'click .toggle': 'togglecompleted'\line
+ \},\line
+\line
+ // The TodoView listens for changes to its model, re-rendering. Since there's\line
+ // a one-to-one correspondence between a **Todo** and a **TodoView** in this\line
+ // app, we set a direct reference on the model for convenience.\line
+ initialize: function() \{\line
+ this.model.on( 'change', this.render, this );\line
+ this.model.on( 'destroy', this.remove, this );\line
+ \},\line
+\line
+ // Re-render the titles of the todo item.\line
+ render: function() \{\line
+ this.$el.html( this.template( this.model.toJSON() ) );\line
+ return this;\line
+ \},\line
+\line
+ // Toggle the `"completed"` state of the model.\line
+ togglecompleted: function() \{\line
+ this.model.toggle();\line
+ \},\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Another (quite different) opinion is that Backbone more closely resembles {\field{\*\fldinst{HYPERLINK "http://martinfowler.com/eaaDev/uiArchs.html#ModelViewController"}}{\fldrslt{\ul
+Smalltalk-80 MVC
+}}}
+, which we went through earlier.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As MarionetteJS author Derick Bailey has {\field{\*\fldinst{HYPERLINK "http://lostechies.com/derickbailey/2011/12/23/backbone-js-is-not-an-mvc-framework/"}}{\fldrslt{\ul
+written
+}}}
+, it\u8217's ultimately best not to force Backbone to fit any specific design patterns. Design patterns should be considered flexible guides to how applications may be structured and in this respect, Backbone doesn\u8217't fit either MVC nor MVP perfectly. Instead, it borrows some of the best concepts from multiple architectural patterns and creates a flexible framework that just works well. Call it {\b the Backbone way}, MV* or whatever helps reference its flavor of application architecture.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 It {\i is} however worth understanding where and why these concepts originated, so I hope that my explanations of MVC and MVP have been of help. Most structural JavaScript frameworks will adopt their own take on classical patterns, either intentionally or by accident, but the important thing is that they help us develop applications which are organized, clean and can be easily maintained.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Namespacing\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 When learning how to use Backbone, an important and commonly overlooked area by tutorials is namespacing. If you already have experience with namespacing in JavaScript, the following section will provide some advice on how to specifically apply concepts you know to Backbone, however I will also be covering explanations for beginners to ensure everyone is on the same page.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 What is namespacing?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Namespacing is a way to avoid collisions with other objects or variables in the global namespace. Using namespacing reduces the potential of your code breaking because another script on the page is using the same variable names that you are. As a good \u8216'citizen\u8217' of the global namespace, it\u8217's also imperative that you do your best to minimize the possibility of your code breaking other developer\u8217's scripts.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 JavaScript doesn\u8217't really have built-in support for namespaces like other languages, however it does have closures which can be used to achieve a similar effect.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In this section we\u8217'll be taking a look shortly at some examples of how you can namespace your models, views, routers and other components. The patterns we\u8217'll be examining are:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Single global variables\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Object Literals\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Nested namespacing\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Single global variables}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 One popular pattern for namespacing in JavaScript is opting for a single global variable as your primary object of reference. A skeleton implementation of this where we return an object with functions and properties can be found below:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var myApplication = (function()\{\line
+ function()\{\line
+ // ...\line
+ \},\line
+ return \{\line
+ // ...\line
+ \}\line
+\})();\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 You\u8217've probably seen this technique before. A Backbone-specific example might look like this:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var myViews = (function()\{\line
+ return \{\line
+ TodoView: Backbone.View.extend(\{ .. \}),\line
+ TodosView: Backbone.View.extend(\{ .. \}),\line
+ AboutView: Backbone.View.extend(\{ .. \});\line
+ //etc.\line
+ \};\line
+\})();\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Here we can return a set of views, but the same technique could return an entire collection of models, views and routers depending on how you decide to structure your application. Although this works for certain situations, the biggest challenge with the single global variable pattern is ensuring that no one else has used the same global variable name as you have in the page.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 One solution to this problem, as mentioned by Peter Michaux, is to use prefix namespacing. It\u8217's a simple concept at heart, but the idea is you select a common prefix name (in this example, {\f1 myApplication_}) and then define any methods, variables or other objects after the prefix.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var myApplication_todoView = Backbone.View.extend(\{\}),\line
+ myApplication_todosView = Backbone.View.extend(\{\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This is effective from the perspective of trying to lower the chances of a particular variable existing in the global scope, but remember that a uniquely named object can have the same effect. This aside, the biggest issue with the pattern is that it can result in a large number of global objects once your application starts to grow.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For more on Peter\u8217's views about the single global variable pattern, read his {\field{\*\fldinst{HYPERLINK "http://michaux.ca/articles/javascript-namespacing"}}{\fldrslt{\ul
+excellent post on them
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note: There are several other variations on the single global variable pattern out in the wild, however having reviewed quite a few, I felt the prefixing approach applied best to Backbone.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Object Literals}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Object Literals have the advantage of not polluting the global namespace but assist in organizing code and parameters logically. They\u8217're beneficial if you wish to create easily readable structures that can be expanded to support deep nesting. Unlike simple global variables, Object Literals often also take into account tests for the existence of a variable by the same name, which helps reduce the chances of collision.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This example demonstrates two ways you can check to see if a namespace already exists before defining it. I commonly use Option 2.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 /* Doesn't check for existence of myApplication */\line
+var myApplication = \{\};\line
+\line
+/*\line
+Does check for existence. If already defined, we use that instance.\line
+Option 1: if(!myApplication) myApplication = \{\};\line
+Option 2: var myApplication = myApplication || \{\};\line
+We can then populate our object literal to support models, views and collections (or any data, really):\line
+*/\line
+\line
+var myApplication = \{\line
+ models : \{\},\line
+ views : \{\line
+ pages : \{\}\line
+ \},\line
+ collections : \{\}\line
+\};\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 One can also opt for adding properties directly to the namespace (such as your views, in the following example):\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var myTodosViews = myTodosViews || \{\};\line
+myTodosViews.todoView = Backbone.View.extend(\{\});\line
+myTodosViews.todosView = Backbone.View.extend(\{\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The benefit of this pattern is that you\u8217're able to easily encapsulate all of your models, views, routers etc. in a way that clearly separates them and provides a solid foundation for extending your code.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This pattern has a number of benefits. It\u8217's often a good idea to decouple the default configuration for your application into a single area that can be easily modified without the need to search through your entire codebase just to alter it. Here\u8217's an example of a hypothetical object literal that stores application configuration settings:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var myConfig = \{\line
+ language: 'english',\line
+ defaults: \{\line
+ enableDelegation: true,\line
+ maxTodos: 40\line
+ \},\line
+ theme: \{\line
+ skin: 'a',\line
+ toolbars: \{\line
+ index: 'ui-navigation-toolbar',\line
+ pages: 'ui-custom-toolbar'\line
+ \}\line
+ \}\line
+\}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Note that there are really only minor syntactical differences between the Object Literal pattern and a standard JSON data set. If for any reason you wish to use JSON for storing your configurations instead (e.g.\u160?for simpler storage when sending to the back-end), feel free to.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 For more on the Object Literal pattern, I recommend reading Rebecca Murphey\u8217's {\field{\*\fldinst{HYPERLINK "http://rmurphey.com/blog/2009/10/15/using-objects-to-organize-your-code"}}{\fldrslt{\ul
+excellent article on the topic
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Nested namespacing}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 An extension of the Object Literal pattern is nested namespacing. It\u8217's another common pattern used that offers a lower risk of collision due to the fact that even if a top-level namespace already exists, it\u8217's unlikely the same nested children do. For example, Yahoo\u8217's YUI uses the nested object namespacing pattern extensively:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 YAHOO.util.Dom.getElementsByClassName('test');\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Yahoo\u8217's YUI uses the nested object namespacing pattern regularly and even DocumentCloud (the creators of Backbone) use the nested namespacing pattern in their main applications. A sample implementation of nested namespacing with Backbone may look like this:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var todoApp = todoApp || \{\};\line
+\line
+// perform similar check for nested children\line
+todoApp.routers = todoApp.routers || \{\};\line
+todoApp.model = todoApp.model || \{\};\line
+todoApp.model.special = todoApp.model.special || \{\};\line
+\line
+// routers\line
+todoApp.routers.Workspace = Backbone.Router.extend(\{\});\line
+todoApp.routers.TodoSearch = Backbone.Router.extend(\{\});\line
+\line
+// models\line
+todoApp.model.Todo = Backbone.Model.extend(\{\});\line
+todoApp.model.Notes = Backbone.Model.extend(\{\});\line
+\line
+// special models\line
+todoApp.model.special.Admin = Backbone.Model.extend(\{\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 This is readable, clearly organized, and is a relatively safe way of namespacing your Backbone application. The only real caveat however is that it requires your browser\u8217's JavaScript engine to first locate the todoApp object, then dig down until it gets to the function you\u8217're calling. However, developers such as Juriy Zaytsev (kangax) have tested and found the performance differences between single object namespacing vs the \u8216'nested\u8217' approach to be quite negligible.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b What does DocumentCloud use?}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 In case you were wondering, here is the original DocumentCloud (remember those guys that created Backbone?) workspace that uses namespacing in a necessary way. This approach makes sense as their documents (and annotations and document lists) are embedded on third-party news sites.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 \line
+// Provide top-level namespaces for our javascript.\line
+(function() \{\line
+ window.dc = \{\};\line
+ dc.controllers = \{\};\line
+ dc.model = \{\};\line
+ dc.app = \{\};\line
+ dc.ui = \{\};\line
+\})();\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 As you can see, they opt for declaring a top-level namespace on the {\f1 window} called {\f1 dc}, a short-form name of their app, followed by nested namesapces for the controllers, models, UI and other pieces of their application.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Recommendation}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Reviewing the namespace patterns above, the option that I prefer when writing Backbone applications is nested object namespacing with the object literal pattern.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Single global variables may work fine for applications that are relatively trivial. However, larger codebases requiring both namespaces and deep sub-namespaces require a succinct solution that\u8217's both readable and scalable. I feel this pattern achieves both of these objectives and is a good choice for most Backbone development.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Backbone Dependency Details\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The following sections provide insight into how Backbone uses jQuery/Zepto and Underscore.js.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 DOM Manipulation\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Although most developers won\u8217't need it, Backbone does support setting a custom DOM library to be used instead of these options. From the source:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns\line
+// the `$` variable.\line
+ Backbone.$ = root.jQuery || root.Zepto || root.ender || root.$;\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 So, setting {\f1 Backbone.$ = myLibrary;} will allow you to use any custom DOM-manipulation library in place of the jQuery default.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Utilities\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Underscore.js is heavily used in Backbone behind the scenes for everything from object extension to event binding. As the entire library is generally included, we get free access to a number of useful utilities we can use on Collections such as filtering {\f1 _.filter()}, sorting {\f1 _.sortBy()}, mapping {\f1 _.map()} and so on.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 From the source:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // Underscore methods that we want to implement on the Collection.\line
+// 90% of the core usefulness of Backbone Collections is actually implemented\line
+// right here:\line
+var methods = ['forEach', 'each', 'map', 'collect', 'reduce', 'foldl', 'inject', 'reduceRight', 'foldr', 'find', 'detect', 'filter', 'select', 'reject', 'every', 'all', 'some', 'any', 'include', 'contains', 'invoke', 'max', 'min', 'toArray', 'size', 'first', 'head', 'take', 'initial', 'rest', 'tail', 'drop', 'last', 'without', 'indexOf', 'shuffle', 'lastIndexOf', 'isEmpty', 'chain'];\line
+\line
+// Mix in each Underscore method as a proxy to `Collection#models`.\line
+_.each(methods, function(method) \{\line
+ Collection.prototype[method] = function() \{\line
+ var args = slice.call(arguments);\line
+ args.unshift(this.models);\line
+ return _[method].apply(_, args);\line
+ \};\line
+\});\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 However, for a complete linked list of methods supported, see the {\field{\*\fldinst{HYPERLINK "http://backbonejs.org/#Collection-Underscore-Methods"}}{\fldrslt{\ul
+official documentation
+}}}
+.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 RESTful persistence\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Models and collections in Backbone can be \u8220"sync\u8221"ed with the server using the {\f1 fetch}, {\f1 save} and {\f1 destroy} methods. All of these methods delegate back to the {\f1 Backbone.sync} function, which actually wraps jQuery/Zepto\u8217's {\f1 $.ajax} function, calling GET, POST and DELETE for the respective persistence methods on Backbone models.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 From the the source for {\f1 Backbone.sync}:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 var methodMap = \{\line
+ 'create': 'POST',\line
+ 'update': 'PUT',\line
+ 'patch': 'PATCH',\line
+ 'delete': 'DELETE',\line
+ 'read': 'GET'\line
+\};\line
+ \line
+Backbone.sync = function(method, model, options) \{\line
+ var type = methodMap[method];\line
+\line
+ // ... Followed by lots of Backbone.js configuration, then..\line
+ \line
+ // Make the request, allowing the user to override any Ajax options.\line
+ var xhr = options.xhr = Backbone.ajax(_.extend(params, options));\line
+ model.trigger('request', model, xhr, options);\line
+ return xhr;\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Routing\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Calls to {\f1 Backbone.History.start} rely on jQuery/Zepto binding {\f1 popState} or {\f1 hashchange} event listeners back to the window object.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 From the source for {\f1 Backbone.history.start}:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \f1 // Depending on whether we're using pushState or hashes, and whether\line
+ // 'onhashchange' is supported, determine how we check the URL state.\line
+ if (this._hasPushState) \{\line
+ Backbone.$(window)\line
+ .on('popstate', this.checkUrl);\line
+ \} else if (this._wantsHashChange && ('onhashchange' in window) && !oldIE) \{\line
+ Backbone.$(window)\line
+ .on('hashchange', this.checkUrl);\line
+ \} else if (this._wantsHashChange) \{\line
+ this._checkUrlInterval = setInterval(this.checkUrl, this.interval);\line
+ \}\line
+ ...\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\f1 Backbone.History.stop} similarly uses your DOM manipulation library to unbind these event listeners.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Backbone Vs. Other Libraries And Frameworks\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Backbone is just one of many different solutions available for structuring your application and we\u8217're by no means advocating it as the be all and end all. It\u8217's served the authors of this book well in building many simple and complex web applications and we hope that it can serve you equally as well. The answer to the question \u8216'Is Backbone better than X?\u8217' generally has a lot more to do with what kind of application you\u8217're building.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 AngularJS and Ember.js are examples of powerful alternatives but differ from Backbone in that there are more opinionated. For some projects this can be useful and for others, perhaps not. The important thing to remember is that there is no library or framework that\u8217's going to be the best solution for every use-case and so it\u8217's important to learn about the tools at your disposal and decide which one is best on a project-by-project basis.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Choose the right tool for the right job. This is why we recommend spending some time doing a little due diligence. Consider productivity, ease of use, testability, community and documentation. If you\u8217're looking for more concrete comparisons between frameworks, read:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://coding.smashingmagazine.com/2012/07/27/journey-through-the-javascript-mvc-jungle/"}}{\fldrslt{\ul
+Journey Through The JavaScript MVC Jungle
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://blog.stevensanderson.com/2012/08/01/rich-javascript-applications-the-seven-frameworks-throne-of-js-2012/"}}{\fldrslt{\ul
+Throne of JS - Seven JavaScript Frameworks
+}}}
+\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The authors behind Backbone.js, AngularJS and Ember have also discussed some of the strengths and weaknesses of their solutions on Quora, StackOverflow and so on:\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://backbonejs.org/#FAQ-why-backbone"}}{\fldrslt{\ul
+Jeremy Ashkenas on Why Backbone?
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://www.quora.com/Ember-js/Which-one-of-angular-js-and-ember-js-is-the-better-choice/answer/Tom-Dale"}}{\fldrslt{\ul
+Tom Dale on Why Ember.js vs.\u160?AngularJS
+}}}
+\par}
+{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://www.reddit.com/r/javascript/comments/17h22w/an_introduction_to_angular_for_backbone_developers/"}}{\fldrslt{\ul
+Brian Ford & Jeremy Ashkenas on Backbone vs.\u160?Angular (discussion)
+}}}
+\sa180\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 The solution you opt for may need to support building non-trivial features and could end up being used to maintain the app for years to come so think about things like:\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b What is the library/framework really capable of?}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Spend time reviewing both the source code of the framework and official list of features to see how well they fit with your requirements. There will be projects that may require modifying or extending the underlying source and thus make sure that if this might be the case, you\u8217've performed due diligence on the code. Has the framework been proven in production?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 i.e Have developers actually built and deployed large applications with it that are publicly accessible? Backbone has a strong portfolio of these (SoundCloud, LinkedIn, Walmart) but not all frameworks do. Ember is used in number of large apps, including the new version of ZenDesk. AngularJS has been used to build the YouTube app for PS3 amongst other places. It\u8217's not only important to know that a framework works in production, but also being able to look at real world code and be inspired by what can be built with it.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Is the framework mature?}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 I generally recommend developers don\u8217't simply \u8220"pick one and go with it\u8221". New projects often come with a lot of buzz surrounding their releases but remember to take care when selecting them for use on a production-level app. You don\u8217't want to risk the project being canned, going through major periods of refactoring or other breaking changes that tend to be more carefully planned out when a framework is mature. Mature projects also tend to have more detailed documentation available, either as a part of their official or community-driven docs.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Is the framework flexible or opinionated?}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Know what flavor you\u8217're after as there are plenty of frameworks available which provide one or the other. Opinionated frameworks lock (or suggest) you to do things in a specific way (theirs). By design they are limiting, but place less emphasis on the developer having to figure out how things should work on their own. Have you really played with the framework?\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Write a small application without using frameworks and then attempt to refactor your code with a framework to confirm whether it\u8217's easy to work with or not. As much as researching and reading up on code will influence your decision, it\u8217's equally as important to write actual code using the framework to make sure you\u8217're comfortable with the concepts it enforces.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Does the framework have a comprehensive set of documentation?}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Although demo applications can be useful for reference, you\u8217'll almost always find yourself consulting the official framework docs to find out what its API supports, how common tasks or components can be created with it and what the gotchas worth noting are. Any framework worth it\u8217's salt should have a detailed set of documentation which will help guide developers using it. Without this, you can find yourself heavily relying on IRC channels, groups and self-discovery, which can be fine, but are often overly time-consuming when compared to a great set of docs provided upfront.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b What is the total size of the framework, factoring in minification, gzipping and any modular building that it supports?}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 What dependencies does the framework have? Frameworks tend to only list the total filesize of the base library itself, but don\u8217't list the sizes of the library\u8217's dependencies. This can mean the difference between opting for a library that initially looks quite small, but could be relatively large if it say, depends on jQuery and other libraries.\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 {\b Have you reviewed the community around the framework?}\par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Is there an active community of project contributors and users who would be able to assist if you run into issues? Have enough developers been using the framework that there are existing reference applications, tutorials and maybe even screencasts that you can use to learn more about it?\par}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Where relevant, copyright Addy Osmani, 2012-2013.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 # Resources\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ## Books & Courses\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 * {\field{\*\fldinst{HYPERLINK "https://peepcode.com/products/backbone-js"}}{\fldrslt{\ul
+PeepCode: Backbone.js Basics
+}}}
+ * {\field{\*\fldinst{HYPERLINK "http://www.codeschool.com/courses/anatomy-of-backbonejs"}}{\fldrslt{\ul
+CodeSchool: Anatomy Of Backbone
+}}}
+ * {\field{\*\fldinst{HYPERLINK "http://recipeswithbackbone.com/"}}{\fldrslt{\ul
+Recipes With Backbone
+}}}
+ * {\field{\*\fldinst{HYPERLINK "http://ricostacruz.com/backbone-patterns/"}}{\fldrslt{\ul
+Backbone Patterns
+}}}
+ * {\field{\*\fldinst{HYPERLINK "https://learn.thoughtbot.com/products/1-backbone-js-on-rails"}}{\fldrslt{\ul
+Backbone On Rails
+}}}
+ * {\field{\*\fldinst{HYPERLINK "https://github.com/Integralist/Blog-Posts/blob/master/2012-08-16-MVC-in-JavaScript-with-Backbone.md"}}{\fldrslt{\ul
+MVC In JavaScript With Backbone
+}}}
+ * {\field{\*\fldinst{HYPERLINK "http://backbonetutorials.com/"}}{\fldrslt{\ul
+Backbone Tutorials
+}}}
+ * {\field{\*\fldinst{HYPERLINK "http://lostechies.com/derickbailey/2011/09/13/resources-for-and-how-i-learned-backbone-js/"}}{\fldrslt{\ul
+Derick Bailey\u8217's Resources For Learning Backbone
+}}}
+\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ## Extensions/Libraries\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 * {\field{\*\fldinst{HYPERLINK "http://marionettejs.com/"}}{\fldrslt{\ul
+MarionetteJS
+}}}
+ * {\field{\*\fldinst{HYPERLINK "https://github.com/aurajs/aura"}}{\fldrslt{\ul
+AuraJS
+}}}
+ * {\field{\*\fldinst{HYPERLINK "http://thoraxjs.org"}}{\fldrslt{\ul
+Thorax
+}}}
+ * {\field{\*\fldinst{HYPERLINK "http://walmartlabs.github.com/lumbar"}}{\fldrslt{\ul
+Lumbar
+}}}
+ * {\field{\*\fldinst{HYPERLINK "https://github.com/tbranyen/backbone.layoutmanager"}}{\fldrslt{\ul
+Backbone Layout Manager
+}}}
+ * {\field{\*\fldinst{HYPERLINK "https://github.com/backbone-boilerplate/backbone-boilerplate"}}{\fldrslt{\ul
+Backbone Boilerplate
+}}}
+ * {\field{\*\fldinst{HYPERLINK "https://github.com/theironcook/Backbone.ModelBinder"}}{\fldrslt{\ul
+Backbone.ModelBinder
+}}}
+ * {\field{\*\fldinst{HYPERLINK "https://github.com/PaulUithol/Backbone-relational"}}{\fldrslt{\ul
+Backbone Relational - for model relationships
+}}}
+ * {\field{\*\fldinst{HYPERLINK "https://github.com/janmonschke/backbone-couchdb"}}{\fldrslt{\ul
+Backbone CouchDB
+}}}
+ * {\field{\*\fldinst{HYPERLINK "https://github.com/n-time/backbone.validations"}}{\fldrslt{\ul
+Backbone Validations - HTML5 inspired validations
+}}}
+\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 # Conclusions\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 I hope that you\u8217've found this introduction to Backbone.js of value. What you\u8217've hopefully learned is that while building a JavaScript-heavy application using nothing more than a DOM manipulation library (such as jQuery) is certainly a possible feat, it is difficult to build anything non-trivial without any formal structure in place. Your nested pile of jQuery callbacks and DOM elements are unlikely to scale and they can be very difficult to maintain as your application grows.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 The beauty of Backbone.js is it\u8217's simplicity. It\u8217's very small given the functionality and flexibility it provides, which is evident if you begin to study the Backbone.js source. In the words of Jeremy Ashkenas, \u8220"The essential premise at the heart of Backbone has always been to try and discover the minimal set of data-structuring (Models and Collections) and user interface (Views and URLs) primitives that are useful when building web applications with JavaScript.\u8221" It just helps you improve the structure of your applications, helping you better separate concerns. There isn\u8217't anything more to it than that.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Backbone offers Models with key-value bindings and events, Collections with an API of rich enumerable methods, declarative Views with event handling and a simple way to connect an existing API to your client-side application over a RESTful JSON interface. Use it and you can abstract away data into sane models and your DOM manipulation into views, binding them together using nothing more than events.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Almost any developer working on JavaScript applications for a while will ultimately create a similar solution on their own if they value architecture and maintainability. The alternative to using it or something similar is rolling your own - often a process that involves glueing together a diverse set of libraries that weren\u8217't built to work together. You might use jQuery BBQ for history management and Handlebars for templating, while writing abstracts for organizing and testing code by yourself.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Contrast this with Backbone, which has {\field{\*\fldinst{HYPERLINK "http://en.wikipedia.org/wiki/Literate_programming"}}{\fldrslt{\ul
+literate
+}}}
+ {\field{\*\fldinst{HYPERLINK "http://backbonejs.org/docs/backbone.html"}}{\fldrslt{\ul
+documentation
+}}}
+ of the source code, a thriving community of both users and hackers, and a large number of questions about it asked and answered daily on sites like {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/search?q=backbone"}}{\fldrslt{\ul
+Stack Overflow
+}}}
+. Rather than re-inventing the wheel there are many advantages to structuring your application using a solution based on the collective knowledge and experience of an entire community.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 In addition to helping provide sane structure to your applications, Backbone is highly extensible supporting more custom architecture should you require more than what is prescribed out of the box. This is evident by the number of extensions and plugins which have been released for it over the past year, including those which we have touched upon such as MarionetteJS and Thorax.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 These days Backbone.js powers many complex web applications, ranging from the LinkedIn {\field{\*\fldinst{HYPERLINK "http://touch.www.linkedin.com/mobile.html"}}{\fldrslt{\ul
+mobile app
+}}}
+ to popular RSS readers such as {\field{\*\fldinst{HYPERLINK "http://newsblur.com"}}{\fldrslt{\ul
+NewsBlur
+}}}
+ through to social commentary widgets such as {\field{\*\fldinst{HYPERLINK "http://disqus.com/"}}{\fldrslt{\ul
+Disqus
+}}}
+. This small library of simple, but sane abstractions has helped to create a new generation of rich web applications, and I and my collaborators hope that in time it can help you too.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 If you\u8217're wondering whether it is worth using Backbone on a project, ask yourself whether what you are building is complex enough to merit using it. Are you hitting the limits of your ability to organize your code? Will your application have regular changes to what is displayed in the UI without a trip back to the server for new pages? Would you benefit from a separation of concerns? If so, a solution like Backbone may be able to help.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Google\u8217's GMail is often cited as an example of a well built single-page app. If you\u8217've used it, you might have noticed that it requests a large initial chunk, representing most of the JavaScript, CSS and HTML most users will need and everything extra needed after that occurs in the background. GMail can easily switch between your inbox to your spam folder without needing the whole page to be re-rendered. Libraries like Backbone make it easier for web developers to create experiences like this.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 That said, Backbone won\u8217't be able to help if you\u8217're planning on building something which isn\u8217't worth the learning curve associated with a library. If your application or site will still be using the server to do the heavy lifting of constructing and serving complete pages to the browser, you may find just using plain JavaScript or jQuery for simple effects or interactions to be more appropriate. Spend time assessing how suitable Backbone might be for you and make the right choice on a per-project basis.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Backbone is neither difficult to learn nor use, however the time and effort you spend learning how to structure applications using it will be well worth it. While reading this book will equip you with the fundamentals needed to understand the library, the best way to learn is to try building your own real-world applications. You will hopefully find that the end product is cleaner, better organized and more maintainable code.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 With that, I wish you the very best with your onward journey into the world of Backbone and will leave you with a quote from American writer {\field{\*\fldinst{HYPERLINK "http://en.wikipedia.org/wiki/Henry_Miller"}}{\fldrslt{\ul
+Henry Miller
+}}}
+ - \u8220"One\u8217's destination is never a place, but a new way of seeing things.\u8221"\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 # Appendix\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ## A Simple JavaScript MVC Implementation\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 A comprehensive discussion of Backbone\u8217's implementation is beyond the scope of this book. We can, however, present a simple MVC library - which we will call Cranium.js - that illustrates how frameworks such as Backbone implement the MVC pattern.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Like Backbone, we will rely on {\field{\*\fldinst{HYPERLINK "http://underscorejs.org"}}{\fldrslt{\ul
+Underscore
+}}}
+ for inheritance and templating.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ### Event System\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 At the heart of our JavaScript MVC implementation is an {\f1 Event} system (object) based on the Publisher-Subscriber Pattern which makes it possible for MVC components to communicate in an elegant, decoupled manner. Subscribers \u8216'listen\u8217' for specific events of interest and react when Publishers broadcast these events.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\f1 Event} is mixed into both the View and Model components so that instances of either of these components can publish events of interest.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ```javascript // cranium.js - Cranium.Events\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 var Cranium = Cranium || \{\};\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Set DOM selection utility var $ = document.querySelector.bind(document) || this.jQuery || this.Zepto;\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Mix in to any object in order to provide it with custom events. var Events = Cranium.Events = \{ // Keeps list of events and associated listeners channels: \{\},\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Counter eventNumber: 0,\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Announce events and passes data to the listeners; trigger: function (events, data) \{ for (var topic in Cranium.Events.channels)\{ if (Cranium.Events.channels.hasOwnProperty(topic)) \{ if (topic.split(\u8220"-\u8221")[0] == events)\{ Cranium.Events.channels{\field{\*\fldinst{HYPERLINK "data"}}{\fldrslt{\ul
+topic
+}}}
+ !== false || delete Cranium.Events.channels[topic]; \} \} \} \}, // Registers an event type and its listener on: function (events, callback) \{ Cranium.Events.channels[events + \u8211-Cranium.Events.eventNumber] = callback; \}, // Unregisters an event type and its listener off: function(topic) \{ delete Cranium.Events.channels[topic]; \} \}; ```\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 The Event system makes it possible for:\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 * a View to notify its subscribers of user interaction (e.g., clicks or input in a form), to update/re-render its presentation, etc. * a Model whose data has changed to notify its Subscribers to update themselves (e.g., view to re-render to show accurate/updated data), etc.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ### Models\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Models manage the (domain-specific) data for an application. They are concerned with neither the user-interface nor presentation layers, but instead represent structured data that an application may require. When a model changes (e.g when it is updated), it will typically notify its observers (Subscribers) that a change has occurred so that they may react accordingly.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Let\u8217's see a simple implementation of the Model:\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ```javascript // cranium.js - Cranium.Model\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Attributes represents data, model\u8217's properties. // These are to be passed at Model instantiation. // Also we are creating id for each Model instance // so that it can identify itself (e.g.\u160?on chage // announcements) var Model = Cranium.Model = function (attributes) \{ this.id = _.uniqueId(\u8216'model\u8217'); this.attributes = attributes || \{\}; \};\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Getter (accessor) method; // returns named data item Cranium.Model.prototype.get = function(attrName) \{ return this.attributes[attrName]; \};\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Setter (mutator) method; // Set/mix in into model mapped data (e.g.\{name: \u8220"John\u8221"\}) // and publishes the change event Cranium.Model.prototype.set = function(attrs)\{ if ({\i .isObject(attrs)) \{}.extend(this.attributes, attrs); this.change(this.attributes); \} return this; \};\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Returns clone of the Models data object // (used for view template rendering) Cranium.Model.prototype.toJSON = function(options) \{ return _.clone(this.attributes); \};\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Helper function that announces changes to the Model // and passes the new data Cranium.Model.prototype.change = function(attrs)\{ this.trigger(this.id + \u8216'update\u8217', attrs); \};\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Mix in Event system _.extend(Cranium.Model.prototype, Cranium.Events); ```\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ### Views\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Views are a visual representation of models that present a filtered view of their current state. A view typically observes a model and is notified when the model changes, allowing the view to update itself accordingly. Design pattern literature commonly refers to views as \u8216'dumb\u8217', given that their knowledge of models and controllers in an application is limited.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Let\u8217's explore Views a little further using a simple JavaScript example:\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ```javascript // DOM View var View = Cranium.View = function (options) \{ // Mix in options object (e.g extending functionallity) _.extend(this, options); this.id = _.uniqueId(\u8216'view\u8217'); \};\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Mix in Event system _.extend(Cranium.View.prototype, Cranium.Events); ```\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ### Controllers\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Controllers are an intermediary between models and views which are classically responsible for two tasks:\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 * they update the view when the model changes * they update the model when the user manipulates the view\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ```javascript // cranium.js - Cranium.Controller\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Controller tying together a model and view var Controller = Cranium.Controller = function(options)\{ // Mix in options object (e.g extending functionallity) _.extend(this, options); this.id = _.uniqueId(\u8216'controller\u8217'); var parts, selector, eventType;\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Parses Events object passed during the definition of the // controller and maps it to the defined method to handle it; if(this.events)\{ _.each(this.events, function(method, eventName)\{ parts = eventName.split(\u8217'.\u8217'); selector = parts[0]; eventType = parts[1]; $(selector)[\u8216'on\u8217' + eventType] = this[method]; \}.bind(this)); \} \}; ```\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ### Practical Usage\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 HTML template for the primer that follows:\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\f1 html
}\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Cranium.js usage:\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ```javascript\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // example.js - usage of Cranium MVC\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // And todo instance var todo1 = new Cranium.Model(\{ title: \u8220"\u8221", completed: \u8220"\u8221" \});\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 console.log(\u8220"First todo title - nothing set:\u8221" + todo1.get(\u8216'title\u8217')); todo1.set(\{title: \u8220"Do something\u8221"\}); console.log(\u8220"Its changed now:\u8221" + todo1.get(\u8216'title\u8217')); \u8216'\u8217' // View instance var todoView = new Cranium.View(\{ // DOM element selector el:\u8217'#todo\u8217',\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Todo template; Underscore temlating used template: _.template($(\u8217'.todo-template\u8217').innerHTML),\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 init: function (model) \{ this.render( model.toJSON() );\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 this.on(model.id + \u8216'update\u8217', this.render.bind(this)); \}, render: function (data) \{ console.log(\u8220"View about to render.\u8221"); $(this.el).innerHTML = this.template( data ); \} \});\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 var todoController = new Cranium.Controller(\{ // Specify the model to update model: todo1,\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // and the view to observe this model view: todoView,\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 events: \{ \u8220"#todo.click\u8221" : \u8220"toggleComplete\u8221" \},\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Initialize everything initialize: function () \{ this.view.init(this.model); return this; \}, // Toggles the value of the todo in the Model toggleComplete: function () \{ var completed = todoController.model.get(\u8216'completed\u8217'); console.log(\u8220"Todo old \u8216'completed\u8217' value?\u8221", completed); todoController.model.set(\{ completed: (!completed) ? \u8216'checked\u8217': \u8216'\u8217' \}); console.log(\u8220"Todo new \u8216'completed\u8217' value?\u8221", todoController.model.get(\u8217'completed\u8217')); return this; \} \});\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Let\u8217's kick start things off todoController.initialize();\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 todo1.set(\{ title: \u8220"Due to this change Model will notify View and it will re-render\u8221"\});\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ```\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Samuel Clay, one of the authors of the first version of Backbone.js says of cranium.js: \u8220"Unsurprisingly, it looks a whole lot like the beginnings of Backbone. Views are dumb, so they get very little boilerplate and setup. Models are responsible for their attributes and announcing changes to those models.\u8221"\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 I hope you\u8217've found this implementation helpful in understanding how one would go about writing their own library like Backbone from scratch, but moreso that it encourages you to take advantage of mature existing solutions where possible but never be afraid to explore deeper down into what makes them tick.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ## MVP\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Model-View-Presenter (MVP) is a derivative of the MVC design pattern which focuses on improving presentation logic. It originated at a company named {\field{\*\fldinst{HYPERLINK "http://en.wikipedia.org/wiki/Taligent"}}{\fldrslt{\ul
+Taligent
+}}}
+ in the early 1990s while they were working on a model for a C++ CommonPoint environment. Whilst both MVC and MVP target the separation of concerns across multiple components, there are some fundamental differences between them.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 For the purposes of this summary we will focus on the version of MVP most suitable for web-based architectures.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ### Models, Views & Presenters\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 The P in MVP stands for presenter. It\u8217's a component which contains the user-interface business logic for the view. Unlike MVC, invocations from the view are delegated to the presenter, which are decoupled from the view and instead talk to it through an interface. This allows for all kinds of useful things such as being able to mock views in unit tests.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 The most common implementation of MVP is one which uses a Passive View (a view which is for all intents and purposes \u8220"dumb\u8221"), containing little to no logic. MVP models are almost identical to MVC models and handle application data. The presenter acts as a mediator which talks to both the view and model, however both of these are isolated from each other. They effectively bind models to views, a responsibility held by Controllers in MVC. Presenters are at the heart of the MVP pattern and as you can guess, incorporate the presentation logic behind views.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Solicited by a view, presenters perform any work to do with user requests and pass data back to them. In this respect, they retrieve data, manipulate it and determine how the data should be displayed in the view. In some implementations, the presenter also interacts with a service layer to persist data (models). Models may trigger events but it\u8217's the presenter\u8217's role to subscribe to them so that it can update the view. In this passive architecture, we have no concept of direct data binding. Views expose setters which presenters can use to set data.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 The benefit of this change from MVC is that it increases the testability of your application and provides a more clean separation between the view and the model. This isn\u8217't however without its costs as the lack of data binding support in the pattern can often mean having to take care of this task separately.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Although a common implementation of a {\field{\*\fldinst{HYPERLINK "http://martinfowler.com/eaaDev/PassiveScreen.html"}}{\fldrslt{\ul
+Passive View
+}}}
+ is for the view to implement an interface, there are variations on it, including the use of events which can decouple the View from the Presenter a little more. As we don\u8217't have the interface construct in JavaScript, we\u8217're using it more and more as a protocol than an explicit interface here. It\u8217's technically still an API and it\u8217's probably fair for us to refer to it as an interface from that perspective.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 There is also a {\field{\*\fldinst{HYPERLINK "http://martinfowler.com/eaaDev/SupervisingPresenter.html"}}{\fldrslt{\ul
+Supervising Controller
+}}}
+ variation of MVP, which is closer to the MVC and {\field{\*\fldinst{HYPERLINK "http://en.wikipedia.org/wiki/Model_View_ViewModel"}}{\fldrslt{\ul
+MVVM - Model-View-ViewModel
+}}}
+ patterns as it provides data-binding from the Model directly from the View. Key-value observing (KVO) plugins (such as Derick Bailey\u8217's Backbone.ModelBinding plugin) introduce this idea of a Supervising Controller to Backbone.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ## MVP or MVC?\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 MVP is generally used most often in enterprise-level applications where it\u8217's necessary to reuse as much presentation logic as possible. Applications with very complex views and a great deal of user interaction may find that MVC doesn\u8217't quite fit the bill here as solving this problem may mean heavily relying on multiple controllers. In MVP, all of this complex logic can be encapsulated in a presenter, which can simplify maintenance greatly.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 As MVP views are defined through an interface and the interface is technically the only point of contact between the system and the view (other than a presenter), this pattern also allows developers to write presentation logic without needing to wait for designers to produce layouts and graphics for the application.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Depending on the implementation, MVP may be more easy to automatically unit test than MVC. The reason often cited for this is that the presenter can be used as a complete mock of the user-interface and so it can be unit tested independent of other components. In my experience this really depends on the languages you are implementing MVP in (there\u8217's quite a difference between opting for MVP for a JavaScript project over one for say, ASP.NET).\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 At the end of the day, the underlying concerns you may have with MVC will likely hold true for MVP given that the differences between them are mainly semantic. As long as you are cleanly separating concerns into models, views and controllers (or presenters) you should be achieving most of the same benefits regardless of the pattern you opt for.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ## MVC, MVP and Backbone.js\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 There are very few, if any architectural JavaScript frameworks that claim to implement the MVC or MVP patterns in their classical form as many JavaScript developers don\u8217't view MVC and MVP as being mutually exclusive (we are actually more likely to see MVP strictly implemented when looking at web frameworks such as ASP.NET or GWT). This is because it\u8217's possible to have additional presenter/view logic in your application and yet still consider it a flavor of MVC.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Backbone contributor {\field{\*\fldinst{HYPERLINK "http://ireneros.com/"}}{\fldrslt{\ul
+Irene Ros
+}}}
+ subscribes to this way of thinking as when she separates Backbone views out into their own distinct components, she needs something to actually assemble them for her. This could either be a controller route (such as a {\f1 Backbone.Router}) or a callback in response to data being fetched.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 That said, some developers do however feel that Backbone.js better fits the description of MVP than it does MVC . Their view is that:\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 * The presenter in MVP better describes the {\f1 Backbone.View} (the layer between View templates and the data bound to it) than a controller does * The model fits {\f1 Backbone.Model} (it isn\u8217't that different from the classical MVC \u8220"Model\u8221") * The views best represent templates (e.g Handlebars/Mustache markup templates)\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 A response to this could be that the view can also just be a View (as per MVC) because Backbone is flexible enough to let it be used for multiple purposes. The V in MVC and the P in MVP can both be accomplished by {\f1 Backbone.View} because they\u8217're able to achieve two purposes: both rendering atomic components and assembling those components rendered by other views.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 We\u8217've also seen that in Backbone the responsibility of a controller is shared with both the Backbone.View and Backbone.Router and in the following example we can actually see that aspects of that are certainly true.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Here, our Backbone {\f1 TodoView} uses the Observer pattern to \u8216'subscribe\u8217' to changes to a View\u8217's model in the line {\f1 this.model.on('change',...)}. It also handles templating in the {\f1 render()} method, but unlike some other implementations, user interaction is also handled in the View (see {\f1 events}).\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ```javascript // The DOM element for a todo item\u8230? app.TodoView = Backbone.View.extend(\{\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 //\u8230? is a list tag. tagName: \u8216'li\u8217',\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Pass the contents of the todo template through a templating // function, cache it for a single todo template: _.template( $(\u8216'#item-template\u8217').html() ),\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // The DOM events specific to an item. events: \{ \u8216'click .toggle\u8217': \u8216'togglecompleted\u8217' \},\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // The TodoView listens for changes to its model, re-rendering. Since there\u8217's // a one-to-one correspondence between a {\b Todo} and a {\b TodoView} in this // app, we set a direct reference on the model for convenience. initialize: function() \{ this.model.on( \u8216'change\u8217', this.render, this ); this.model.on( \u8216'destroy\u8217', this.remove, this ); \},\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Re-render the titles of the todo item. render: function() \{ this.$el.html( this.template( this.model.toJSON() ) ); return this; \},\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Toggle the {\f1 "completed"} state of the model. togglecompleted: function() \{ this.model.toggle(); \}, \}); ```\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Another (quite different) opinion is that Backbone more closely resembles {\field{\*\fldinst{HYPERLINK "http://martinfowler.com/eaaDev/uiArchs.html#ModelViewController"}}{\fldrslt{\ul
+Smalltalk-80 MVC
+}}}
+, which we went through earlier.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 As MarionetteJS author Derick Bailey has {\field{\*\fldinst{HYPERLINK "http://lostechies.com/derickbailey/2011/12/23/backbone-js-is-not-an-mvc-framework/"}}{\fldrslt{\ul
+written
+}}}
+, it\u8217's ultimately best not to force Backbone to fit any specific design patterns. Design patterns should be considered flexible guides to how applications may be structured and in this respect, Backbone doesn\u8217't fit either MVC nor MVP perfectly. Instead, it borrows some of the best concepts from multiple architectural patterns and creates a flexible framework that just works well. Call it {\b the Backbone way}, MV* or whatever helps reference its flavor of application architecture.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 It {\i is} however worth understanding where and why these concepts originated, so I hope that my explanations of MVC and MVP have been of help. Most structural JavaScript frameworks will adopt their own take on classical patterns, either intentionally or by accident, but the important thing is that they help us develop applications which are organized, clean and can be easily maintained.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ## Namespacing\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 When learning how to use Backbone, an important and commonly overlooked area by tutorials is namespacing. If you already have experience with namespacing in JavaScript, the following section will provide some advice on how to specifically apply concepts you know to Backbone, however I will also be covering explanations for beginners to ensure everyone is on the same page.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 #### What is namespacing?\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Namespacing is a way to avoid collisions with other objects or variables in the global namespace. Using namespacing reduces the potential of your code breaking because another script on the page is using the same variable names that you are. As a good \u8216'citizen\u8217' of the global namespace, it\u8217's also imperative that you do your best to minimize the possibility of your code breaking other developer\u8217's scripts.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 JavaScript doesn\u8217't really have built-in support for namespaces like other languages, however it does have closures which can be used to achieve a similar effect.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 In this section we\u8217'll be taking a look shortly at some examples of how you can namespace your models, views, routers and other components. The patterns we\u8217'll be examining are:\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 * Single global variables * Object Literals * Nested namespacing\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\b Single global variables}\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 One popular pattern for namespacing in JavaScript is opting for a single global variable as your primary object of reference. A skeleton implementation of this where we return an object with functions and properties can be found below:\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\f1 javascript var myApplication = (function()\{ function()\{ // ... \}, return \{ // ... \} \})();}\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 You\u8217've probably seen this technique before. A Backbone-specific example might look like this:\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\f1 javascript var myViews = (function()\{ return \{ TodoView: Backbone.View.extend(\{ .. \}), TodosView: Backbone.View.extend(\{ .. \}), AboutView: Backbone.View.extend(\{ .. \}); //etc. \}; \})();}\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Here we can return a set of views, but the same technique could return an entire collection of models, views and routers depending on how you decide to structure your application. Although this works for certain situations, the biggest challenge with the single global variable pattern is ensuring that no one else has used the same global variable name as you have in the page.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 One solution to this problem, as mentioned by Peter Michaux, is to use prefix namespacing. It\u8217's a simple concept at heart, but the idea is you select a common prefix name (in this example, {\f1 myApplication_}) and then define any methods, variables or other objects after the prefix.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\f1 javascript var myApplication_todoView = Backbone.View.extend(\{\}), myApplication_todosView = Backbone.View.extend(\{\});}\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 This is effective from the perspective of trying to lower the chances of a particular variable existing in the global scope, but remember that a uniquely named object can have the same effect. This aside, the biggest issue with the pattern is that it can result in a large number of global objects once your application starts to grow.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 For more on Peter\u8217's views about the single global variable pattern, read his {\field{\*\fldinst{HYPERLINK "http://michaux.ca/articles/javascript-namespacing"}}{\fldrslt{\ul
+excellent post on them
+}}}
+.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Note: There are several other variations on the single global variable pattern out in the wild, however having reviewed quite a few, I felt the prefixing approach applied best to Backbone.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\b Object Literals}\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Object Literals have the advantage of not polluting the global namespace but assist in organizing code and parameters logically. They\u8217're beneficial if you wish to create easily readable structures that can be expanded to support deep nesting. Unlike simple global variables, Object Literals often also take into account tests for the existence of a variable by the same name, which helps reduce the chances of collision.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 This example demonstrates two ways you can check to see if a namespace already exists before defining it. I commonly use Option 2.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ```javascript /* Doesn\u8217't check for existence of myApplication */ var myApplication = \{\};\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 /* Does check for existence. If already defined, we use that instance. Option 1: if(!myApplication) myApplication = \{\}; Option 2: var myApplication = myApplication || \{\}; We can then populate our object literal to support models, views and collections (or any data, really): */\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 var myApplication = \{ models : \{\}, views : \{ pages : \{\} \}, collections : \{\} \}; ```\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 One can also opt for adding properties directly to the namespace (such as your views, in the following example):\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\f1 javascript var myTodosViews = myTodosViews || \{\}; myTodosViews.todoView = Backbone.View.extend(\{\}); myTodosViews.todosView = Backbone.View.extend(\{\});}\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 The benefit of this pattern is that you\u8217're able to easily encapsulate all of your models, views, routers etc. in a way that clearly separates them and provides a solid foundation for extending your code.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 This pattern has a number of benefits. It\u8217's often a good idea to decouple the default configuration for your application into a single area that can be easily modified without the need to search through your entire codebase just to alter it. Here\u8217's an example of a hypothetical object literal that stores application configuration settings:\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\f1 javascript var myConfig = \{ language: 'english', defaults: \{ enableDelegation: true, maxTodos: 40 \}, theme: \{ skin: 'a', toolbars: \{ index: 'ui-navigation-toolbar', pages: 'ui-custom-toolbar' \} \} \}}\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Note that there are really only minor syntactical differences between the Object Literal pattern and a standard JSON data set. If for any reason you wish to use JSON for storing your configurations instead (e.g.\u160?for simpler storage when sending to the back-end), feel free to.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 For more on the Object Literal pattern, I recommend reading Rebecca Murphey\u8217's {\field{\*\fldinst{HYPERLINK "http://rmurphey.com/blog/2009/10/15/using-objects-to-organize-your-code"}}{\fldrslt{\ul
+excellent article on the topic
+}}}
+.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\b Nested namespacing}\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 An extension of the Object Literal pattern is nested namespacing. It\u8217's another common pattern used that offers a lower risk of collision due to the fact that even if a top-level namespace already exists, it\u8217's unlikely the same nested children do. For example, Yahoo\u8217's YUI uses the nested object namespacing pattern extensively:\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\f1 javascript YAHOO.util.Dom.getElementsByClassName('test');}\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Yahoo\u8217's YUI uses the nested object namespacing pattern regularly and even DocumentCloud (the creators of Backbone) use the nested namespacing pattern in their main applications. A sample implementation of nested namespacing with Backbone may look like this:\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ```javascript var todoApp = todoApp || \{\};\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // perform similar check for nested children todoApp.routers = todoApp.routers || \{\}; todoApp.model = todoApp.model || \{\}; todoApp.model.special = todoApp.model.special || \{\};\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // routers todoApp.routers.Workspace = Backbone.Router.extend(\{\}); todoApp.routers.TodoSearch = Backbone.Router.extend(\{\});\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // models todoApp.model.Todo = Backbone.Model.extend(\{\}); todoApp.model.Notes = Backbone.Model.extend(\{\});\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // special models todoApp.model.special.Admin = Backbone.Model.extend(\{\}); ```\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 This is readable, clearly organized, and is a relatively safe way of namespacing your Backbone application. The only real caveat however is that it requires your browser\u8217's JavaScript engine to first locate the todoApp object, then dig down until it gets to the function you\u8217're calling. However, developers such as Juriy Zaytsev (kangax) have tested and found the performance differences between single object namespacing vs the \u8216'nested\u8217' approach to be quite negligible.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\b What does DocumentCloud use?}\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 In case you were wondering, here is the original DocumentCloud (remember those guys that created Backbone?) workspace that uses namespacing in a necessary way. This approach makes sense as their documents (and annotations and document lists) are embedded on third-party news sites.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ```javascript\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Provide top-level namespaces for our javascript. (function() \{ window.dc = \{\}; dc.controllers = \{\}; dc.model = \{\}; dc.app = \{\}; dc.ui = \{\}; \})(); ```\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 As you can see, they opt for declaring a top-level namespace on the {\f1 window} called {\f1 dc}, a short-form name of their app, followed by nested namesapces for the controllers, models, UI and other pieces of their application.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\b Recommendation}\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Reviewing the namespace patterns above, the option that I prefer when writing Backbone applications is nested object namespacing with the object literal pattern.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Single global variables may work fine for applications that are relatively trivial. However, larger codebases requiring both namespaces and deep sub-namespaces require a succinct solution that\u8217's both readable and scalable. I feel this pattern achieves both of these objectives and is a good choice for most Backbone development.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ## Backbone Dependency Details\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 The following sections provide insight into how Backbone uses jQuery/Zepto and Underscore.js.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ### DOM Manipulation\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Although most developers won\u8217't need it, Backbone does support setting a custom DOM library to be used instead of these options. From the source:\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\f1 // For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns // the `$` variable. Backbone.$ = root.jQuery || root.Zepto || root.ender || root.$;}\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 So, setting {\f1 Backbone.$ = myLibrary;} will allow you to use any custom DOM-manipulation library in place of the jQuery default.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ### Utilities\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Underscore.js is heavily used in Backbone behind the scenes for everything from object extension to event binding. As the entire library is generally included, we get free access to a number of useful utilities we can use on Collections such as filtering {\f1 _.filter()}, sorting {\f1 _.sortBy()}, mapping {\f1 _.map()} and so on.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 From the source:\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ``` // Underscore methods that we want to implement on the Collection. // 90% of the core usefulness of Backbone Collections is actually implemented // right here: var methods = [\u8216'forEach\u8217', \u8216'each\u8217', \u8216'map\u8217', \u8216'collect\u8217', \u8216'reduce\u8217', \u8216'foldl\u8217', \u8216'inject\u8217', \u8216'reduceRight\u8217', \u8216'foldr\u8217', \u8216'find\u8217', \u8216'detect\u8217', \u8216'filter\u8217', \u8216'select\u8217', \u8216'reject\u8217', \u8216'every\u8217', \u8216'all\u8217', \u8216'some\u8217', \u8216'any\u8217', \u8216'include\u8217', \u8216'contains\u8217', \u8216'invoke\u8217', \u8216'max\u8217', \u8216'min\u8217', \u8216'toArray\u8217', \u8216'size\u8217', \u8216'first\u8217', \u8216'head\u8217', \u8216'take\u8217', \u8216'initial\u8217', \u8216'rest\u8217', \u8216'tail\u8217', \u8216'drop\u8217', \u8216'last\u8217', \u8216'without\u8217', \u8216'indexOf\u8217', \u8216'shuffle\u8217', \u8216'lastIndexOf\u8217', \u8216'isEmpty\u8217', \u8216'chain\u8217'];\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Mix in each Underscore method as a proxy to {\f1 Collection#models}. _.each(methods, function(method) \{ Collection.prototype[method] = function() \{ var args = slice.call(arguments); args.unshift(this.models); return {\i [method].apply(}, args); \}; \}); ```\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 However, for a complete linked list of methods supported, see the {\field{\*\fldinst{HYPERLINK "http://backbonejs.org/#Collection-Underscore-Methods"}}{\fldrslt{\ul
+official documentation
+}}}
+.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ### RESTful persistence\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Models and collections in Backbone can be \u8220"sync\u8221"ed with the server using the {\f1 fetch}, {\f1 save} and {\f1 destroy} methods. All of these methods delegate back to the {\f1 Backbone.sync} function, which actually wraps jQuery/Zepto\u8217's {\f1 $.ajax} function, calling GET, POST and DELETE for the respective persistence methods on Backbone models.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 From the the source for {\f1 Backbone.sync}:\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ``` var methodMap = \{ \u8216'create\u8217': \u8216'POST\u8217', \u8216'update\u8217': \u8216'PUT\u8217', \u8216'patch\u8217': \u8216'PATCH\u8217', \u8216'delete\u8217': \u8216'DELETE\u8217', \u8216'read\u8217': \u8216'GET\u8217' \};\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Backbone.sync = function(method, model, options) \{ var type = methodMap[method];\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // \u8230? Followed by lots of Backbone.js configuration, then..\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 // Make the request, allowing the user to override any Ajax options. var xhr = options.xhr = Backbone.ajax(_.extend(params, options)); model.trigger(\u8216'request\u8217', model, xhr, options); return xhr; ```\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ### Routing\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Calls to {\f1 Backbone.History.start} rely on jQuery/Zepto binding {\f1 popState} or {\f1 hashchange} event listeners back to the window object.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 From the source for {\f1 Backbone.history.start}:\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\f1 // Depending on whether we're using pushState or hashes, and whether // 'onhashchange' is supported, determine how we check the URL state. if (this._hasPushState) \{ Backbone.$(window) .on('popstate', this.checkUrl); \} else if (this._wantsHashChange && ('onhashchange' in window) && !oldIE) \{ Backbone.$(window) .on('hashchange', this.checkUrl); \} else if (this._wantsHashChange) \{ this._checkUrlInterval = setInterval(this.checkUrl, this.interval); \} ...}\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\f1 Backbone.History.stop} similarly uses your DOM manipulation library to unbind these event listeners.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 ## Backbone Vs. Other Libraries And Frameworks\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Backbone is just one of many different solutions available for structuring your application and we\u8217're by no means advocating it as the be all and end all. It\u8217's served the authors of this book well in building many simple and complex web applications and we hope that it can serve you equally as well. The answer to the question \u8216'Is Backbone better than X?\u8217' generally has a lot more to do with what kind of application you\u8217're building.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 AngularJS and Ember.js are examples of powerful alternatives but differ from Backbone in that there are more opinionated. For some projects this can be useful and for others, perhaps not. The important thing to remember is that there is no library or framework that\u8217's going to be the best solution for every use-case and so it\u8217's important to learn about the tools at your disposal and decide which one is best on a project-by-project basis.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Choose the right tool for the right job. This is why we recommend spending some time doing a little due diligence. Consider productivity, ease of use, testability, community and documentation. If you\u8217're looking for more concrete comparisons between frameworks, read:\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 * {\field{\*\fldinst{HYPERLINK "http://coding.smashingmagazine.com/2012/07/27/journey-through-the-javascript-mvc-jungle/"}}{\fldrslt{\ul
+Journey Through The JavaScript MVC Jungle
+}}}
+ * {\field{\*\fldinst{HYPERLINK "http://blog.stevensanderson.com/2012/08/01/rich-javascript-applications-the-seven-frameworks-throne-of-js-2012/"}}{\fldrslt{\ul
+Throne of JS - Seven JavaScript Frameworks
+}}}
+\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 The authors behind Backbone.js, AngularJS and Ember have also discussed some of the strengths and weaknesses of their solutions on Quora, StackOverflow and so on:\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 * {\field{\*\fldinst{HYPERLINK "http://backbonejs.org/#FAQ-why-backbone"}}{\fldrslt{\ul
+Jeremy Ashkenas on Why Backbone?
+}}}
+ * {\field{\*\fldinst{HYPERLINK "http://www.quora.com/Ember-js/Which-one-of-angular-js-and-ember-js-is-the-better-choice/answer/Tom-Dale"}}{\fldrslt{\ul
+Tom Dale on Why Ember.js vs.\u160?AngularJS
+}}}
+ * {\field{\*\fldinst{HYPERLINK "http://www.reddit.com/r/javascript/comments/17h22w/an_introduction_to_angular_for_backbone_developers/"}}{\fldrslt{\ul
+Brian Ford & Jeremy Ashkenas on Backbone vs.\u160?Angular (discussion)
+}}}
+\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 The solution you opt for may need to support building non-trivial features and could end up being used to maintain the app for years to come so think about things like:\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\b What is the library/framework really capable of?}\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Spend time reviewing both the source code of the framework and official list of features to see how well they fit with your requirements. There will be projects that may require modifying or extending the underlying source and thus make sure that if this might be the case, you\u8217've performed due diligence on the code. Has the framework been proven in production?\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 i.e Have developers actually built and deployed large applications with it that are publicly accessible? Backbone has a strong portfolio of these (SoundCloud, LinkedIn, Walmart) but not all frameworks do. Ember is used in number of large apps, including the new version of ZenDesk. AngularJS has been used to build the YouTube app for PS3 amongst other places. It\u8217's not only important to know that a framework works in production, but also being able to look at real world code and be inspired by what can be built with it.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\b Is the framework mature?}\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 I generally recommend developers don\u8217't simply \u8220"pick one and go with it\u8221". New projects often come with a lot of buzz surrounding their releases but remember to take care when selecting them for use on a production-level app. You don\u8217't want to risk the project being canned, going through major periods of refactoring or other breaking changes that tend to be more carefully planned out when a framework is mature. Mature projects also tend to have more detailed documentation available, either as a part of their official or community-driven docs.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\b Is the framework flexible or opinionated?}\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Know what flavor you\u8217're after as there are plenty of frameworks available which provide one or the other. Opinionated frameworks lock (or suggest) you to do things in a specific way (theirs). By design they are limiting, but place less emphasis on the developer having to figure out how things should work on their own. Have you really played with the framework?\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Write a small application without using frameworks and then attempt to refactor your code with a framework to confirm whether it\u8217's easy to work with or not. As much as researching and reading up on code will influence your decision, it\u8217's equally as important to write actual code using the framework to make sure you\u8217're comfortable with the concepts it enforces.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\b Does the framework have a comprehensive set of documentation?}\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Although demo applications can be useful for reference, you\u8217'll almost always find yourself consulting the official framework docs to find out what its API supports, how common tasks or components can be created with it and what the gotchas worth noting are. Any framework worth it\u8217's salt should have a detailed set of documentation which will help guide developers using it. Without this, you can find yourself heavily relying on IRC channels, groups and self-discovery, which can be fine, but are often overly time-consuming when compared to a great set of docs provided upfront.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\b What is the total size of the framework, factoring in minification, gzipping and any modular building that it supports?}\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 What dependencies does the framework have? Frameworks tend to only list the total filesize of the base library itself, but don\u8217't list the sizes of the library\u8217's dependencies. This can mean the difference between opting for a library that initially looks quite small, but could be relatively large if it say, depends on jQuery and other libraries.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 {\b Have you reviewed the community around the framework?}\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx360
+\trkeep\intbl
+{
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Is there an active community of project contributors and users who would be able to assist if you run into issues? Have enough developers been using the framework that there are existing reference applications, tutorials and maybe even screencasts that you can use to learn more about it?\par}
+\cell}
+}
+\intbl\row}
+{\pard \ql \f0 \sa180 \li0 \fi0 \par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Where relevant, copyright Addy Osmani, 2012-2013.\par}
+}
diff --git a/build/INSTRUCTIONS-pandoc-ebooks.md b/build/INSTRUCTIONS-pandoc-ebooks.md
new file mode 100644
index 00000000..0b99b589
--- /dev/null
+++ b/build/INSTRUCTIONS-pandoc-ebooks.md
@@ -0,0 +1,13 @@
+Kindlegen requires title and author metadata. To generate a mobi file from
+a pandoc ebook, first generate an epub file using the metadata.xml file
+included:
+
+```
+pandoc -f markdown -t epub --epub-metadata=metadata.xml -o backbone-fundamentals.epub index.md
+```
+
+then use the kindlegen tool to make a mobi from that epub:
+
+```
+kindlegen backbone-fundamentals.epub
+```
\ No newline at end of file
diff --git a/build/author.html b/build/author.html
new file mode 100644
index 00000000..dd68195d
--- /dev/null
+++ b/build/author.html
@@ -0,0 +1,4 @@
+
+
\ No newline at end of file
diff --git a/build/head.html b/build/head.html
new file mode 100644
index 00000000..2ff1898f
--- /dev/null
+++ b/build/head.html
@@ -0,0 +1 @@
+
diff --git a/build/metadata.xml b/build/metadata.xml
new file mode 100644
index 00000000..b1302cc1
--- /dev/null
+++ b/build/metadata.xml
@@ -0,0 +1,4 @@
+Developing Backbone.js Applications
+Addy Osmani
+Creative Commons Attribution Non-Commercial Share Alike 3.0
+en-US
diff --git a/build/share.html b/build/share.html
new file mode 100644
index 00000000..fb806a7e
--- /dev/null
+++ b/build/share.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/stats.html b/build/stats.html
new file mode 100644
index 00000000..e6a9c73f
--- /dev/null
+++ b/build/stats.html
@@ -0,0 +1,13 @@
+
\ No newline at end of file
diff --git a/build/title.txt b/build/title.txt
new file mode 100644
index 00000000..aa73a76a
--- /dev/null
+++ b/build/title.txt
@@ -0,0 +1,2 @@
+% Developing Backbone.js Applications
+% Addy Osmani
\ No newline at end of file
diff --git a/chapters/00-prelude.md b/chapters/00-prelude.md
new file mode 100644
index 00000000..20486112
--- /dev/null
+++ b/chapters/00-prelude.md
@@ -0,0 +1,63 @@
+## Prelude
+
+![](img/logo.jpg)
+
+Not so long ago, "data-rich web application" was an oxymoron. Today, these applications are everywhere and you need to know how to build them.
+
+Traditionally, web applications left the heavy-lifting of data to servers that pushed HTML to the browser in complete page loads. The use of client-side JavaScript was limited to improving the user experience. Now this relationship has been inverted - client applications pull raw data from the server and render it into the browser when and where it is needed.
+
+Think of the Ajax shopping cart which doesn't require a refresh on the page when adding an item to your basket. Initially, jQuery became the go-to library for this paradigm. Its nature was to make Ajax requests then update text on the page and so on. However, this pattern with jQuery revealed that we have implicit model data on the client side. With the server no longer being the only place that knows about our item count, it was a hint that there was a natural tension and pull of this evolution.
+
+The rise of arbitrary code on the client-side which can talk to the server however it sees fit has meant an increase in client-side complexity. Good architecture on the client has gone from an afterthought to essential - you can't just hack together some jQuery code and expect it to scale as your application grows. Most likely, you would end up with a nightmarish tangle of UI callbacks entwined with business logic, destined to be discarded by the poor soul who inherits your code.
+
+Thankfully, there are a growing number of JavaScript libraries that can help improve the structure and maintainability of your code, making it easier to build ambitious interfaces without a great deal of effort. [Backbone.js](http://documentcloud.github.com/backbone/) has quickly become one of the most popular open-source solutions to these issues and in this book we will take you through an in-depth walkthrough of it.
+
+Begin with the fundamentals, work your way through the exercises, and learn how to build an application that is both cleanly organized and maintainable. If you are a developer looking to write code that can be more easily read, structured, and extended - this guide can help.
+
+Improving developer education is important to me, which is why this book is released under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported [license](http://creativecommons.org/licenses/by-nc-sa/3.0/). This means you can purchase or grab a copy of the book for [free](http://addyosmani.github.com/backbone-fundamentals/) or help to further [improve](https://github.com/addyosmani/backbone-fundamentals/) it. Corrections to existing material are always welcome and I hope that together we can provide the community with an up-to-date resource that is of help.
+
+My extended thanks go out to [Jeremy Ashkenas](https://github.com/jashkenas) and [DocumentCloud](documentcloud.org) for creating Backbone.js and [these](https://github.com/addyosmani/backbone-fundamentals/contributors) members of the community for their assistance making this project far better than I could have imagined.
+
+## Target Audience
+
+This book is targeted at novice to intermediate developers wishing to learn how to better structure their client-side code. An understanding of JavaScript fundamentals is required to get the most out of it, however we have tried to provide a basic description of these concepts where possible.
+
+## Acknowledgements
+
+I am indebted to the fantastic work done by the technical reviewers who helped review and improve this book. Their knowledge, energy, and passion have helped shape it into a better learning resource and they continue to serve as a source of inspiration. Thanks go out to:
+
+* [Marc Friedman](https://github.com/dcmaf)
+* [Derick Bailey](https://github.com/derickbailey)
+* [Jeremy Ashkenas](https://github.com/jashkenas)
+* [Samuel Clay](https://github.com/samuelclay)
+* [Mat Scales](http://github.com/wibblymat)
+* [Alex Graul](https://github.com/alexgraul)
+* [Dusan Gledovic](https://github.com/g6scheme)
+* [Sindre Sorhus](https://github.com/sindresorhus)
+
+I would also like to thank my loving family for their patience and support while I worked on this book, as well as my brilliant editor Mary Treseler.
+
+## Credits
+
+None of this work would have been possible without the time and effort invested by the other developers and authors in the community who helped contribute to it. I would like to extend my thanks to:
+
+* Derick and Marc (once again)
+* [Ryan Eastridge](https://github.com/eastridge)
+* [Jack Franklin](https://github.com/jackfranklin)
+* [David Amend](https://github.com/raDiesle)
+* [Mike Ball](https://github.com/mdb)
+* [Uģis Ozols](https://github.com/ugisozols)
+* [Björn Ekengren](https://github.com/Ekengren)
+
+as well as our other excellent [contributors](https://github.com/addyosmani/backbone-fundamentals/graphs/contributors) that made this project possible.
+
+## Reading
+
+I assume your level of knowledge about JavaScript goes beyond the basics and as such certain topics such as object literals are skipped. If you need to learn more about the language, I am happy to suggest:
+
+* [Eloquent JavaScript](http://eloquentjavascript.net/)
+* [JavaScript: The Definitive Guide](http://shop.oreilly.com/product/9780596805531.do) by David Flanagan (O’Reilly)
+* [Effective JavaScript](http://www.informit.com/store/effective-javascript-68-specific-ways-to-harness-the-9780321812186) by David Herman (Pearson)
+* [JavaScript: The Good Parts](http://shop.oreilly.com/product/9780596517748.do) by Douglas Crockford (O’Reilly)
+* [Object-Oriented JavaScript](http://www.amazon.com/Object-Oriented-Javascript-Stoyan-Stefanov/dp/1847194141) by Stoyan Stefanov (Packt Publishing)
+
diff --git a/chapters/01-introduction.md b/chapters/01-introduction.md
new file mode 100644
index 00000000..a5c5ef7b
--- /dev/null
+++ b/chapters/01-introduction.md
@@ -0,0 +1,117 @@
+# Introduction
+
+Frank Lloyd Wright once said “You can’t make an architect. You can however open the doors and windows toward the light as you see it.” In this book, I hope to shed some light on how to improve the structure of your web applications, opening doors to what will hopefully be more maintainable, readable applications in your future.
+
+The goal of all architecture is to build something well; in our case, to craft code that is enduring and delights both ourselves and the developers who will maintain our code long after we are gone. We all want our architecture to be simple, yet beautiful.
+
+Modern JavaScript frameworks and libraries can bring structure and organization to your projects, establishing a maintainable foundation right from the start. They build on the trials and tribulations of developers who have had to work around callback chaos similar to that which you are facing now or may in the near future.
+
+When developing applications using just jQuery, the piece missing is a way to structure and organize your code. It's very easy to create a JavaScript app that ends up a tangled mess of jQuery selectors and callbacks, all desperately trying to keep data in sync between the HTML for your UI, the logic in your JavaScript, and calls to your API for data.
+
+Without something to help tame the mess, you're likely to string together a set of independent plugins and libraries to make up the functionality or build everything yourself from scratch and have to maintain it yourself. Backbone solves this problem for you, providing a way to cleanly organize code, separating responsibilities into recognizable pieces that are easy to maintain.
+
+In "Developing Backbone.js Applications," I and a number of other experienced authors will show you how to improve your web application structure using the popular JavaScript library, Backbone.js
+
+### What Is MVC?
+
+A number of modern JavaScript frameworks provide developers an easy path to organizing their code using variations of a pattern known as MVC (Model-View-Controller). MVC separates the concerns in an application into three parts:
+
+* Models represent the domain-specific knowledge and data in an application. Think of this as being a ‘type’ of data you can model — like a User, Photo, or Todo note. Models can notify observers when their state changes.
+* Views typically constitute the user interface in an application (e.g., markup and templates), but don’t have to be. They observe Models, but don’t directly communicate with them.
+* Controllers handle input (e.g., clicks, user actions) and update Models.
+
+Thus, in an MVC application, user input is acted upon by Controllers which update Models. Views observe Models and update the user interface when changes occur.
+
+JavaScript MVC frameworks don’t always strictly follow the above pattern. Some solutions (including Backbone.js) merge the responsibility of the Controller into the View, while other approaches add additional components into the mix.
+
+For this reason we refer to such frameworks as following the MV* pattern; that is, you’re likely to have a Model and a View, but a distinct Controller might not be present and other components may come into play.
+
+### What is Backbone.js?
+
+![](img/backbonejsorg.jpg)
+
+Backbone.js is a lightweight JavaScript library that adds structure to your client-side code. It makes it easy to manage and decouple concerns in your application, leaving you with code that is more maintainable in the long term.
+
+Developers commonly use libraries like Backbone.js to create single-page applications (SPAs). SPAs are web applications that load into the browser and then react to data changes on the client side without requiring complete page refreshes from the server.
+
+Backbone is mature, popular, and has both a vibrant developer community as well as a wealth of plugins and extensions available that build upon it. It has been used to create non-trivial applications by companies such as Disqus, Walmart, SoundCloud and LinkedIn.
+
+Backbone focuses on giving you helpful methods for querying and manipulating your data rather than re-inventing the JavaScript object model. It's a library, rather than a framework, that plays well with others and scales well, from embedded widgets to large-scale applications.
+
+As it's small, there is also less your users have to download on mobile or slower connections. The entire Backbone source can be read and understood in just a few hours.
+
+### When Do I Need A JavaScript MVC Framework?
+
+When building a single-page application using JavaScript, whether it involves a complex user interface or is simply trying to reduce the number of HTTP requests required for new Views, you will likely find yourself inventing many of the pieces that make up an MV* framework.
+
+At the outset, it isn’t terribly difficult to write your own application framework that offers some opinionated way to avoid spaghetti code; however, to say that it is equally as trivial to write something as robust as Backbone would be a grossly incorrect assumption.
+
+There’s a lot more that goes into structuring an application than tying together a DOM manipulation library, templating, and routing. Mature MV* frameworks typically include not only the pieces you would find yourself writing, but also include solutions to problems you’ll find yourself running into later on down the road. This is a time-saver that you shouldn’t underestimate the value of.
+
+So, where will you likely need an MV* framework and where won’t you?
+
+If you’re writing an application where much of the heavy lifting for view rendering and data manipulation will be occurring in the browser, you may find a JavaScript MV* framework useful. Examples of applications that fall into this category are GMail, NewsBlur and the LinkedIn mobile app.
+
+These types of applications typically download a single payload containing all the scripts, stylesheets, and markup users need for common tasks and then perform a lot of additional behavior in the background. For instance, it’s trivial to switch between reading an email or document to writing one without sending a new page request to the server.
+
+If, however, you’re building an application that still relies on the server for most of the heavy-lifting of page/view rendering and you’re just using a little JavaScript or jQuery to make things more interactive, an MV* framework may be overkill. There certainly are complex Web applications where the partial rendering of views can be coupled with a single-page application effectively, but for everything else, you may find yourself better sticking to a simpler setup.
+
+Maturity in software (framework) development isn't simply about how long a framework has been around. It's about how solid the framework is and more importantly how well it's evolved to fill its role. Has it become more effective at solving common problems? Does it continue to improve as developers build larger and more complex applications with it?
+
+
+### Why Consider Backbone.js?
+
+Backbone provides a minimal set of data-structuring (Models, Collections) and user interface (Views, URLs) primitives that are helpful when building dynamic applications using JavaScript. It's not opinionated, meaning you have the freedom and flexibility to build the best experience for your web application how you see fit. You can either use the prescribed architecture it offers out of the box or extend it to meet your requirements.
+
+The library doesn't focus on widgets or replacing the way you structure objects - it just supplies you with utilities for manipulating and querying data in your application. It also doesn't prescribe a specific template engine - while you are free to use the Micro-templating offered by Underscore.js (one of it's dependencies), views can bind to HTML constructed using your templating solution of choice.
+
+Looking at the [large](http://backbonejs.org/#examples) number of applications built with Backbone, it's clear that it scales well. Backbone also works quite well with other libraries, meaning you can embed Backbone widgets in an application written with AngularJS, use it with TypeScript, or just use an individual class (like Models) as a data backer for simpler apps.
+
+There are no performance drawbacks to using Backbone to structure your application. It avoids run loops, two-way binding, and constant polling of your data structures for updates and tries to keep things simple where possible. That said, should you wish to go against the grain, you can of course implement such things on top of it. Backbone won't stop you.
+
+With a vibrant community of plugin and extension authors, there's a liklihood that if you're looking to achieve some behavior Backbone is lacking, a complementary project exists that works well with it. This is made simpler by Backbone offering literate documentation of its source code, allowing anyone an opportunity to easily understand what is going on behind the scenes.
+
+Having been refined over two and a half years of development, Backbone is a mature library that will continue to offer a minimalist solution for building better web applications. I regularly use it and hope that you find it as useful an addition to your toolbelt as I have.
+
+
+### Setting Expectations
+
+The goal of this book is to create an authoritative and centralized repository of information that can help those developing real-world apps with Backbone. If you come across a section or topic which you think could be improved or expanded on, please feel free to submit an issue (or better yet, a pull-request) on the book's [GitHub site](https://github.com/addyosmani/backbone-fundamentals). It won't take long and you'll be helping other developers avoid the problems you ran into.
+
+Topics will include MVC theory and how to build applications using Backbone's Models, Views, Collections, and Routers. I'll also be taking you through advanced topics like modular development with Backbone.js and AMD (via RequireJS), solutions to common problems like nested views, how to solve routing problems with Backbone and jQuery Mobile, and much more.
+
+Here is a peek at what you will be learning in each chapter:
+
+Chapter 2, Fundamentals traces the history of the MVC design pattern and introduces how it is implemented by Backbone.js and other JavaScript frameworks.
+
+Chapter 3, Backbone Basics covers the major features of the Backbone.js core and the technologies and techniques you will need to know in order to apply it.
+
+Chapter 4, Exercise 1: Todos - Your First Backbone.js App takes you step-by-step through development of a simple client-side Todo List application.
+
+Chapter 5, Exercise 2: Book Library - Your First RESTful Backbone.js App walks you through development of a Book Library application which persists its model to a server using a REST API.
+
+Chapter 6, Backbone Extensions describes Backbone.Marionette and Thorax, two extension frameworks which add features to Backbone.js that are useful for developing large-scale applications.
+
+Chapter 7, Common Problems and Solutions reviews common issues you may encounter when using Backbone.js and ways of addressing them.
+
+Chapter 8, Modular Development looks at how AMD modules and RequireJS can be used to modularize your code.
+
+Chapter 9, Exercise 3: Todos - Your First Modular Backbone + RequireJS App takes you through rewriting the app created in Exercise 1 to be more modular with the help of RequireJS.
+
+Chapter 10, Paginating Backbone Requests & Collections walks through how to use the Backbone.Paginator plugin to paginate data for your Collections.
+
+Chapter 11, Backbone Boilerplate And Grunt BBB introduces powerful tools you can use to bootstrap a new Backbone.js application with boilerplate code.
+
+Chapter 12, Mobile Applications addresses the issues that arise when using Backbone with jQuery Mobile.
+
+Chapter 13, Jasmine covers how to unit test Backbone code using the Jasmine test framework.
+
+Chapter 14, QUnit discusses how to use QUnit for unit testing.
+
+Chapter 15, SinonJS discusses how to use SinonJS for unit testing your Backbone apps.
+
+Chapter 16, Resources provides references to additional Backbone-related resources.
+
+Chapter 17, Conclusions wraps up the our tour through the world of Backbone.js development.
+
+Chapter 18, Appendix returns to our design pattern discussion by contrasting MVC with the Model-View-Presenter (MVP) pattern and examines how Backbone.js relates to both. A walkthrough of writing a Backbone-like library from scratch and other topics are also covered.
diff --git a/chapters/02-fundamentals.md b/chapters/02-fundamentals.md
new file mode 100644
index 00000000..10a627bf
--- /dev/null
+++ b/chapters/02-fundamentals.md
@@ -0,0 +1,371 @@
+# Fundamentals
+
+Design patterns are proven solutions to common development problems that can help us improve the organization and structure of our applications. By using patterns, we benefit from the collective experience of skilled developers who have repeatedly solved similar problems.
+
+Historically, developers creating desktop and server-class applications have had a wealth of design patterns available for them to lean on, but it's only been in the past few years that such patterns have been applied to client-side development.
+
+In this chapter, we're going to explore the evolution of the Model-View-Controller (MVC) design pattern and get our first look at how Backbone.js allows us to apply this pattern to client-side development.
+
+## MVC
+
+MVC is an architectural design pattern that encourages improved application organization through a separation of concerns. It enforces the isolation of business data (Models) from user interfaces (Views), with a third component (Controllers) traditionally managing logic, user-input, and coordination of Models and Views. The pattern was originally designed by [Trygve Reenskaug](http://en.wikipedia.org/wiki/Trygve_Reenskaug) while working on Smalltalk-80 (1979), where it was initially called Model-View-Controller-Editor. MVC was described in depth in [“Design Patterns: Elements of Reusable Object-Oriented Software”](http://www.amazon.co.uk/Design-patterns-elements-reusable-object-oriented/dp/0201633612) (The "GoF" or “Gang of Four” book) in 1994, which played a role in popularizing its use.
+
+
+### Smalltalk-80 MVC
+
+It's important to understand the issues that the original MVC pattern was aiming to solve as it has changed quite heavily since the days of its origin. Back in the 70's, graphical user-interfaces were few and far between. An approach known as [Separated Presentation](http://martinfowler.com/eaaDev/uiArchs.html) began to be used as a means to make a clear division between domain objects which modeled concepts in the real world (e.g., a photo, a person) and the presentation objects which were rendered to the user's screen.
+
+The Smalltalk-80 implementation of MVC took this concept further and had an objective of separating out the application logic from the user interface. The idea was that decoupling these parts of the application would also allow the reuse of Models for other interfaces in the application. There are some interesting points worth noting about Smalltalk-80's MVC architecture:
+
+* A Domain element was known as a Model and was ignorant of the user-interface (Views and Controllers)
+* Presentation was taken care of by the View and the Controller, but there wasn't just a single View and Controller. A View-Controller pair was required for each element being displayed on the screen and so there was no true separation between them
+* The Controller's role in this pair was handling user input (such as key-presses and click events) and doing something sensible with them
+* The Observer pattern was used to update the View whenever the Model changed
+
+Developers are sometimes surprised when they learn that the Observer pattern (nowadays commonly implemented as a Publish/Subscribe system) was included as a part of MVC's architecture decades ago. In Smalltalk-80's MVC, the View and Controller both observe the Model: anytime the Model changes, the Views react. A simple example of this is an application backed by stock market data - for the application to show real-time information, any change to the data in its Model should result in the View being refreshed instantly.
+
+Martin Fowler has done an excellent job of writing about the [origins](http://martinfowler.com/eaaDev/uiArchs.html) of MVC over the years and if you are interested in further historical information about Smalltalk-80's MVC, I recommend reading his work.
+
+### MVC Applied To The Web
+
+The web heavily relies on the HTTP protocol, which is stateless. This means that there is not a constantly open connection between the browser and server; each request instantiates a new communication channel between the two. Once the request initiator (e.g. a browser) gets a response the connection is closed. This fact creates a completely different context when compared to the one of the operating systems on which many of the original MVC ideas were developed. The MVC implementation has to conform to the web context.
+
+An example of a server-side web application framework which tries to apply MVC to the web context is [Ruby On Rails](http://guides.rubyonrails.org/).
+
+![](img/rails_mvc.png)
+
+At its core are the three MVC components we would expect - the Model, View and Controller architecture. In Rails:
+
+* Models represent the data in an application and are typically used to manage rules for interacting with a specific database table. You generally have one table corresponding to one model with much of your application's business logic living within these models.
+* Views represent your user interface, often taking the form of HTML that will be sent down to the browser. They're used to present application data to anything making requests from your application.
+* Controllers offer the glue between models and views. Their responsibility is to process requests from the browser, ask your models for data and then supply this data to views so that they may be presented to the browser.
+
+Although there's a clear separation of concerns that is MVC-like in Rails, it is actually using a different pattern called [Model2](http://en.wikipedia.org/wiki/Model2). Justifications for this include that Rails does not notify views from the model and controllers just pass model data directly to the view.
+
+That said, even for the server-side workflow of receiving a request from a URL, baking out an HTML page as a response and separating your business logic from your interface has many benefits. In the same way that keeping your UI cleanly separate from your database records is useful in server-side frameworks, it's equally as useful to keep your UI cleanly separated from your data models in JavaScript (as we will read more about shortly).
+
+Other server-side implementations of MVC (such as the PHP [Zend](http://zend.com) framework) also implement the [Front Controller](http://en.wikipedia.org/wiki/Front_Controller_pattern) design pattern. This pattern layers an MVC stack behind a single point of entry. This single point of entry means that all HTTP requests (e.g., `http://www.example.com`, `http://www.example.com/whichever-page/`, etc.) are routed by the server's configuration to the same handler, independent of the URI.
+
+When the Front Controller receives an HTTP request it analyzes it and decides which class (Controller) and method (Action) to invoke. The selected Controller Action takes over and interacts with the appropriate Model to fulfill the request. The Controller receives data back from the Model, loads an appropriate View, injects the Model data into it, and returns the response to the browser.
+
+For example, let's say we have our blog on `www.example.com` and we want to edit an article (with `id=43`) and request `http://www.example.com/article/edit/43`:
+
+On the server side, the Front Controller would analyze the URL and invoke the Article Controller (corresponding to the `/article/` part of the URI) and its Edit Action (corresponding to the `/edit/` part of the URI). Within the Action there would be a call to, let's say, the Articles Model and its `Articles::getEntry(43)` method (43 corresponding to the `/43` at the end of the URI). This would return the blog article data from the database for edit. The Article Controller would then load the (`article/edit`) View which would include logic for injecting the article's data into a form suitable for editing its content, title, and other (meta) data. Finally, the resulting HTML response would be returned to the browser.
+
+As you can imagine, a similar flow is necessary with POST requests after we press a save button in a form. The POST action URI would look like `/article/save/43`. The request would go through the same Controller, but this time the Save Action would be invoked (due to the `/save/` URI chunk), the Articles Model would save the edited article to the database with `Articles::saveEntry(43)`, and the browser would be redirected to the `/article/edit/43` URI for further editing.
+
+Finally, if the user requested `http://www.example.com/` the Front Controller would invoke the default Controller and Action; e.g., the Index Controller and its Index action. Within Index Action there would be a call to the Articles model and its `Articles::getLastEntries(10)` method which would return the last 10 blog posts. The Controller would load the blog/index View which would have basic logic for listing the blog posts.
+
+The picture below shows this typical HTTP request/response lifecycle for server-side MVC:
+
+![](img/webmvcflow_bacic.png)
+
+The Server receives an HTTP request and routes it through a single entry point. At that entry point, the Front Controller analyzes the request and based on it invokes an Action of the appropriate Controller. This process is called routing. The Action Model is asked to return and/or save submitted data. The Model communicates with the data source (e.g., database or API). Once the Model completes its work it returns data to the Controller which then loads the appropriate View. The View executes presentation logic (loops through articles and prints titles, content, etc.) using the supplied data. In the end, an HTTP response is returned to the browser.
+
+### Client-Side MVC & Single Page Apps
+
+Several [studies](http://radar.oreilly.com/2009/07/velocity-making-your-site-fast.html) have confirmed that improvements to latency can have a positive impact on the usage and user engagement of sites and apps. This is at odds with the traditional approach to web app development which is very server-centric, requiring a complete page reload to move from one page to the next. Even with heavy caching in place, the browser still has to parse the CSS, JavaScript, and HTML and render the interface to the screen.
+
+In addition to resulting in a great deal of duplicated content being served back to the user, this approach affects both latency and the general responsiveness of the user experience. A trend to improve perceived latency in the past few years has been to move towards building Single Page Applications (SPAs) - apps which after an initial page load are able to handle subsequent navigations and requests for data without the need for a complete reload.
+
+When a user navigates to a new view, additional content required for the view is requested using an XHR (XMLHttpRequest), typically communicating with a server-side REST API or endpoint. [Ajax](https://en.wikipedia.org/wiki/Ajax_(programming)) (Asynchronous JavaScript and XML) makes communication with the server asynchronous so that data is transferred and processed in the background, allowing the user to work on other parts of a page without interaction. This improves usability and responsiveness.
+
+SPAs can also take advantage of browser features like the [History API](http://diveintohtml5.info/history.html) to update the address seen in the location bar when moving from one view to another. These URLs also make it possible to bookmark and share a particular application state, without the need to navigate to completely new pages.
+
+The typical SPA consists of smaller pieces of interface representing logical entities, all of which have their own UI, business logic and data. A good example is a basket in a shopping web application which can have items added to it. This basket might be presented to the user in a box in the top right corner of the page (see the picture below):
+
+![](img/wireframe_e_commerce.png)
+
+The basket and its data are presented in HTML. The data and its associated View in HTML changes over time. There was a time when we used jQuery (or a similar DOM manipulation library) and a bunch of Ajax calls and callbacks to keep the two in sync. That often produced code that was not well-structured or easy to maintain. Bugs were frequent and perhaps even unavoidable.
+
+The need for fast, complex, and responsive Ajax-powered web applications demands replication of a lot of this logic on the client side, dramatically increasing the size and complexity of the code residing there. Eventually this has brought us to the point where we need MVC (or a similar architecture) implemented on the client side to better structure the code and make it easier to maintain and further extend during the application life-cycle.
+
+Through evolution and trial and error, JavaScript developers have harnessed the power of the traditional MVC pattern, leading to the development of several MVC-inspired JavaScript frameworks, such as Backbone.js.
+
+
+### Client-Side MVC - Backbone Style
+
+Let's take our first look at how Backbone.js brings the benefits of MVC to client-side development using a Todo application as our example. We will build on this example in the coming chapters when we explore Backbone's features but for now we will just focus on the core components' relationships to MVC.
+
+Our example will need a div element to which we can attach a list of Todo's. It will also need an HTML template containing a placeholder for a Todo item title and a completion checkbox which can be instantiated for Todo item instances. These are provided by the following HTML:
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+In our Todo application (demo.js), Backbone Model instances are used to hold the data for each Todo item:
+
+```javascript
+// Define a Todo Model
+var Todo = Backbone.Model.extend({
+ // Default todo attribute values
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+// Instantiate the Todo Model with a title, allowing completed attribute
+// to default to false
+var myTodo = new Todo({
+ title: 'Check attributes property of the logged models in the console.'
+});
+```
+
+Our Todo Model extends Backbone.Model and simply defines default values for two data attributes. As you will discover in the upcoming chapters, Backbone Models provide many more features but this simple Model illustrates that first and foremost a Model is a data container.
+
+Each Todo instance will be rendered on the page by a TodoView:
+
+```javascript
+var TodoView = Backbone.View.extend({
+
+ tagName: 'li',
+
+ // Cache the template function for a single item.
+ todoTpl: _.template( $('#item-template').html() ),
+
+ events: {
+ 'dblclick label': 'edit',
+ 'keypress .edit': 'updateOnEnter',
+ 'blur .edit': 'close'
+ },
+
+ // Called when the view is first created
+ initialize: function () {
+ this.$el = $('#todo');
+ // Later we'll look at:
+ // this.listenTo(someCollection, 'all', this.render);
+ // but you can actually run this example right now by
+ // calling TodoView.render();
+ },
+
+ // Re-render the titles of the todo item.
+ render: function() {
+ this.$el.html( this.todoTpl( this.model.toJSON() ) );
+ // $el here is a reference to the jQuery element
+ // associated with the view, todoTpl is a reference
+ // to an Underscore template and toJSON() returns an
+ // object containing the model's attributes
+ // Altogether, the statement is replacing the HTML of
+ // a DOM element with the result of instantiating a
+ // template with the model's attributes.
+ this.input = this.$('.edit');
+ return this;
+ },
+
+ edit: function() {
+ // executed when todo label is double clicked
+ },
+
+ close: function() {
+ // executed when todo loses focus
+ },
+
+ updateOnEnter: function( e ) {
+ // executed on each keypress when in todo edit mode,
+ // but we'll wait for enter to get in action
+ }
+});
+
+// create a view for a todo
+var todoView = new TodoView({model: myTodo});
+```
+
+TodoView is defined by extending Backbone.View and is instantiated with an associated Model. In our example, the ```render()``` method uses a template to construct the HTML for the Todo item which is placed inside a li element. Each call to ```render()``` will replace the content of the li element using the current Model data. Thus, a View instance renders the content of a DOM element using the attributes of an associated Model. Later we will see how a View can bind its ```render()``` method to Model change events, causing the View to re-render whenever the Model changes.
+
+So far, we have seen that Backbone.Model implements the Model aspect of MVC and Backbone.View implements the View. However, as we noted earlier, Backbone departs from traditional MVC when it comes to Controllers - there is no Backbone.Controller!
+
+Instead, the Controller responsibility is addressed within the View. Recall that Controllers respond to requests and perform appropriate actions which may result in changes to the Model and updates to the View. In a single-page application, rather than having requests in the traditional sense, we have events. Events can be traditional browser DOM events (e.g., clicks) or internal application events such as Model changes.
+
+In our TodoView, the ```events``` attribute fulfills the role of the Controller configuration, defining how events occurring within the View's DOM element are to be routed to event-handling methods defined in the View.
+
+While in this instance events help us relate Backbone to the MVC pattern, we will see them playing a much larger role in our SPA applications. Backbone.Event is a fundamental Backbone component which is mixed into both Backbone.Model and Backbone.View, providing them with rich event management capabilities. Note that the traditional controller role (Smalltalk-80 style) is performed by the template, not by the Backbone.View.
+
+This completes our first encounter with Backbone.js. The remainder of this book will explore the many features of the framework which build on these simple constructs. Before moving on, let's take a look at common features of JavaScript MV* frameworks.
+
+### Implementation Specifics
+
+An SPA is loaded into the browser using a normal HTTP request and response. The page may simply be an HTML file, as in our example above, or it could be a view constructed by a server-side MVC implementation.
+
+Once loaded, a client-side Router intercepts URLs and invokes client-side logic in place of sending a new request to the server. The picture below shows typical request handling for client-side MVC as implemented by Backbone:
+
+![](img/backbone_mvc.png)
+
+URL routing, DOM events (e.g., mouse clicks), and Model events (e.g., attribute changes) all trigger handling logic in the View. The handlers update the DOM and Models, which may trigger additional events. Models are synced with Data Sources which may involve communicating with back-end servers.
+
+#### Models
+
+* The built-in capabilities of Models vary across frameworks; however, it's common for them to support validation of attributes, where attributes represent the properties of the Model, such as a Model identifier.
+
+* When using Models in real-world applications we generally also need a way of persisting Models. Persistence allows us to edit and update Models with the knowledge that their most recent states will be saved somewhere, for example in a web browser's localStorage data-store or synchronized with a database.
+
+* A Model may have multiple Views observing it for changes. By *observing* we mean that a View has registered an interest in being informed whenever an update is made to the Model. This allows the View to ensure that what is displayed on screen is kept in sync with the data contained in the model. Depending on your requirements, you might create a single View displaying all Model attributes, or create separate Views displaying different attributes. The important point is that the Model doesn't care how these Views are organized, it simply announces updates to its data as necessary through the framework's event system.
+
+* It is not uncommon for modern MVC/MV* frameworks to provide a means of grouping Models together. In Backbone, these groups are called Collections. Managing Models in groups allows us to write application logic based on notifications from the group when a Model within the group changes. This avoids the need to manually observe individual Model instances. We'll see this in action later in the book. Collections are also useful for performing any aggregate computations across more than one model.
+
+
+#### Views
+
+* Users interact with Views, which usually means reading and editing Model data. For example, in our Todo application, Todo Model viewing happens in the user interface in the list of all Todo items. Within it, each Todo is rendered with its title and completed checkbox. Model editing is done through an "edit" View where a user who has selected a specific Todo edits its title in a form.
+
+* We define a ```render()``` utility within our View which is responsible for rendering the contents of the ```Model``` using a JavaScript templating engine (provided by Underscore.js) and updating the contents of our View, referenced by ```this.el```.
+
+* We then add our ```render()``` callback as a Model subscriber, so the View can be triggered to update when the Model changes.
+
+* You may wonder where user interaction comes into play here. When users click on a Todo element within the View, it's not the View's responsibility to know what to do next. A Controller makes this decision. In Backbone, this is achieved by adding an event listener to the Todo's element which delegates handling of the click to an event handler.
+
+**Templating**
+
+In the context of JavaScript frameworks that support MVC/MV*, it is worth looking more closely at JavaScript templating and its relationship to Views.
+
+It has long been considered bad practice (and computationally expensive) to manually create large blocks of HTML markup in-memory through string concatenation. Developers using this technique often find themselves iterating through their data, wrapping it in nested divs and using outdated techniques such as ```document.write``` to inject the 'template' into the DOM. This approach often means keeping scripted markup inline with standard markup, which can quickly become difficult to read and maintain, especially when building large applications.
+
+JavaScript templating libraries (such as Mustache or Handlebars.js) are often used to define templates for Views as HTML markup containing template variables. These template blocks can be either stored externally or within script tags with a custom type (e.g 'text/template'). Variables are delimited using a variable syntax (e.g `<%= title %>` for Underscore and `{{title}}` for Handlebars).
+
+JavaScript template libraries typically accept data in a number of formats, including JSON; a serialisation format that is always a string. The grunt work of populating templates with data is generally taken care of by the framework itself. This has several benefits, particularly when opting to store templates externally which enables applications to load templates dynamically on an as-needed basis.
+
+Let's compare two examples of HTML templates. One is implemented using the popular Handlebars.js library, and the other uses Underscore's 'microtemplates'.
+
+**Handlebars.js:**
+
+```html
+
+
+```
+
+You may also use double curly brackets (i.e ```{{}}```) (or any other tag you feel comfortable with) in Microtemplates. In the case of curly brackets, this can be done by setting the Underscore ```templateSettings``` attribute as follows:
+
+```javascript
+_.templateSettings = { interpolate : /\{\{(.+?)\}\}/g };
+```
+
+**A note on Navigation and State**
+
+It is also worth noting that in classical web development, navigating between independent views required the use of a page refresh. In single-page JavaScript applications, however, once data is fetched from a server via Ajax, it can be dynamically rendered in a new view within the same page. Since this doesn't automatically update the URL, the role of navigation thus falls to a "router", which assists in managing application state (e.g., allowing users to bookmark a particular view they have navigated to). As routers are neither a part of MVC nor present in every MVC-like framework, I will not be going into them in greater detail in this section.
+
+#### Controllers
+
+
+In our Todo application, a Controller would be responsible for handling changes the user made in the edit View for a particular Todo, updating a specific Todo Model when a user has finished editing.
+
+It's with Controllers that most JavaScript MVC frameworks depart from the traditional interpretation of the MVC pattern. The reasons for this vary, but in my opinion, Javascript framework authors likely initially looked at server-side interpretations of MVC (such as Ruby on Rails), realized that the approach didn't translate 1:1 on the client-side, and so re-interpreted the C in MVC to solve their state management problem. This was a clever approach, but it can make it hard for developers coming to MVC for the first time to understand both the classical MVC pattern and the "proper" role of Controllers in other JavaScript frameworks.
+
+So does Backbone.js have Controllers? Not really. Backbone's Views typically contain "Controller" logic, and Routers are used to help manage application state, but neither are true Controllers according to classical MVC.
+
+In this respect, contrary to what might be mentioned in the official documentation or in blog posts, Backbone isn't truly an MVC framework. It's in fact better to see it a member of the MV* family which approaches architecture in its own way. There is of course nothing wrong with this, but it is important to distinguish between classical MVC and MV* should you be relying on discussions of MVC to help with your Backbone projects.
+
+## What does MVC give us?
+
+To summarize, the MVC pattern helps you keep your application logic separate from your user interface, making it easier to change and maintain both. Thanks to this separation of logic, it is more clear where changes to your data, interface, or business logic need to be made and for what your unit tests should be written.
+
+### Delving Deeper into MVC
+
+Right now, you likely have a basic understanding of what the MVC pattern provides, but for the curious, we'll explore it a little further.
+
+The GoF (Gang of Four) do not refer to MVC as a design pattern, but rather consider it a "set of classes to build a user interface." In their view, it's actually a variation of three other classical design patterns: the Observer (Publish/Subscribe), Strategy, and Composite patterns. Depending on how MVC has been implemented in a framework, it may also use the Factory and Decorator patterns. I've covered some of these patterns in my other free book, "JavaScript Design Patterns For Beginners" if you would like to read about them further.
+
+As we've discussed, Models represent application data, while Views handle what the user is presented on screen. As such, MVC relies on Publish/Subscribe for some of its core communication (something that surprisingly isn't covered in many articles about the MVC pattern). When a Model is changed it "publishes" to the rest of the application that it has been updated. The "subscriber," generally a Controller, then updates the View accordingly. The observer-viewer nature of this relationship is what facilitates multiple Views being attached to the same Model.
+
+For developers interested in knowing more about the decoupled nature of MVC (once again, depending on the implementation), one of the goals of the pattern is to help define one-to-many relationships between a topic and its observers. When a topic changes, its observers are updated. Views and Controllers have a slightly different relationship. Controllers facilitate Views' responses to different user input and are an example of the Strategy pattern.
+
+### Summary
+
+Having reviewed the classical MVC pattern, you should now understand how it allows developers to cleanly separate concerns in an application. You should also now appreciate how JavaScript MVC frameworks may differ in their interpretation of MVC, and how they share some of the fundamental concepts of the original pattern.
+
+When reviewing a new JavaScript MVC/MV* framework, remember - it can be useful to step back and consider how it's opted to approach Models, Views, Controllers or other alternatives, as this can better help you understand how the framework is intended to be used.
+
+### Further reading
+
+If you are interested in learning more about the variation of MVC which Backbone.js uses, please see the MVP (Model-View-Presenter) section in the appendix.
+
+## Fast facts
+
+### Backbone.js
+
+* Core components: Model, View, Collection, Router. Enforces its own flavor of MV*
+* Event-driven communication between Views and Models. As we'll see, it's relatively straight-forward to add event listeners to any attribute in a Model, giving developers fine-grained control over what changes in the View
+* Supports data bindings through manual events or a separate Key-value observing (KVO) library
+* Support for RESTful interfaces out of the box, so Models can be easily tied to a backend
+* Extensive eventing system. It's [trivial](http://lostechies.com/derickbailey/2011/07/19/references-routing-and-the-event-aggregator-coordinating-views-in-backbone-js/) to add support for pub/sub in Backbone
+* Prototypes are instantiated with the ```new``` keyword, which some developers prefer
+* Agnostic about templating frameworks, however Underscore's micro-templating is available by default.
+* Clear and flexible conventions for structuring applications. Backbone doesn't force usage of all of its components and can work with only those needed.
+
+### Used by
+
+*Disqus*
+
+Disqus chose Backbone.js to power the latest version of their commenting widget. They felt it was the right choice for their distributed web app, given Backbone's small footprint and ease of extensibility.
+
+![](img/disqus.png)
+
+
+*Khan Academy*
+
+Offering a web app that aims to provide free world-class education to anyone anywhere, Khan use Backbone to keep their frontend code both modular and organized.
+
+![](img/khan-academy.png)
+
+
+*MetaLab*
+
+MetaLab created Flow, a task management app for teams using Backbone. Their workspace uses Backbone to create task views, activities, accounts, tags and more.
+
+![](img/flow.png)
+
+*Walmart Mobile*
+
+Walmart chose Backbone to power their mobile web applications, creating two new extension frameworks in the process - Thorax and Lumbar. We'll be discussing both of these later in the book.
+
+![](img/walmart-mobile.png)
+
+
+*AirBnb*
+
+Airbnb developed their mobile web app using Backbone and now use it across many of their products.
+
+![](img/airbnb.png)
+
+
+*Code School*
+
+Code School's course challenge app is built from the ground up using Backbone, taking advantage of all the pieces it has to offer: routers, collections, models and complex event handling.
+
+![](img/code-school.png)
+
diff --git a/chapters/03-internals.md b/chapters/03-internals.md
new file mode 100644
index 00000000..8e2c960b
--- /dev/null
+++ b/chapters/03-internals.md
@@ -0,0 +1,2021 @@
+# Backbone Basics
+
+In this section, you'll learn the essentials of Backbone's models, views, collections, events, and routers. This isn't by any means a replacement for the official documentation, but it will help you understand many of the core concepts behind Backbone before you start building applications using it.
+
+### Getting set up
+
+Before we dive into more code examples, let's define some boilerplate markup you can use to specify the dependencies Backbone requires. This boilerplate can be reused in many ways with little to no alteration and will allow you to run code from examples with ease.
+
+You can paste the following into your text editor of choice, replacing the commented line between the script tags with the JavaScript from any given example:
+
+```html
+
+
+
+
+ Title
+
+
+
+
+
+
+
+
+
+```
+
+You can then save and run the file in your browser of choice, such as Chrome or Firefox. Alternatively, if you prefer working with an online code editor, [jsFiddle](http://jsfiddle.net/jnf8B/) and [jsBin](http://jsbin.com/iwiwox/1/edit) versions of this boilerplate are also available.
+
+Most examples can also be run directly from within the console in your browser's developer tools, assuming you've loaded the boilerplate HTML page so that Backbone and its dependencies are available for use.
+
+For Chrome, you can open up the DevTools via the Chrome menu in the top right hand corner: select "Tools > Developer Tools" or alternatively use the Control + Shift + I shortcut on Windows/Linux or Command + Option + I on Mac.
+
+![](img/devtools.png)
+
+Next, switch to the Console tab, from where you can enter in and run any piece of JavaScript code by hitting the return key. You can also use the Console as a multi-line editor using the Shift + Enter shortcut on Windows, or Ctrl + Enter shortcut on Mac to move from the end of one line to the start of another.
+
+
+## Models
+
+Backbone models contain data for an application as well as the logic around this data. For example, we can use a model to represent the concept of a todo item including its attributes like title (todo content) and completed (current state of the todo).
+
+Models can be created by extending `Backbone.Model` as follows:
+
+```javascript
+var Todo = Backbone.Model.extend({});
+
+// We can then create our own concrete instance of a (Todo) model
+// with no values at all:
+var todo1 = new Todo();
+// Following logs: {}
+console.log(JSON.stringify(todo1));
+
+// or with some arbitrary data:
+var todo2 = new Todo({
+ title: 'Check the attributes of both model instances in the console.',
+ completed: true
+});
+
+// Following logs: {"title":"Check the attributes of both model instances in the console.","completed":true}
+console.log(JSON.stringify(todo2));
+```
+
+#### Initialization
+
+The `initialize()` method is called when a new instance of a model is created. Its use is optional; however you'll see why it's good practice to use it below.
+
+```javascript
+var Todo = Backbone.Model.extend({
+ initialize: function(){
+ console.log('This model has been initialized.');
+ }
+});
+
+var myTodo = new Todo();
+// Logs: This model has been initialized.
+```
+
+**Default values**
+
+There are times when you want your model to have a set of default values (e.g., in a scenario where a complete set of data isn't provided by the user). This can be set using a property called `defaults` in your model.
+
+```javascript
+var Todo = Backbone.Model.extend({
+ // Default todo attribute values
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+// Now we can create our concrete instance of the model
+// with default values as follows:
+var todo1 = new Todo();
+
+// Following logs: {"title":"","completed":false}
+console.log(JSON.stringify(todo1));
+
+// Or we could instantiate it with some of the attributes (e.g., with custom title):
+var todo2 = new Todo({
+ title: 'Check attributes of the logged models in the console.'
+});
+
+// Following logs: {"title":"Check attributes of the logged models in the console.","completed":false}
+console.log(JSON.stringify(todo2));
+
+// Or override all of the default attributes:
+var todo3 = new Todo({
+ title: 'This todo is done, so take no action on this one.',
+ completed: true
+});
+
+// Following logs: {"title":"This todo is done, so take no action on this one.","completed":true}
+console.log(JSON.stringify(todo3));
+```
+
+#### Getters & Setters
+
+**Model.get()**
+
+`Model.get()` provides easy access to a model's attributes.
+
+```javascript
+var Todo = Backbone.Model.extend({
+ // Default todo attribute values
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+var todo1 = new Todo();
+console.log(todo1.get('title')); // empty string
+console.log(todo1.get('completed')); // false
+
+var todo2 = new Todo({
+ title: "Retrieved with model's get() method.",
+ completed: true
+});
+console.log(todo2.get('title')); // Retrieved with model's get() method.
+console.log(todo2.get('completed')); // true
+```
+
+If you need to read or clone all of a model's data attributes, use its `toJSON()` method. This method returns a copy of the attributes as an object (not a JSON string despite its name). (When `JSON.stringify()` is passed an object with a `toJSON()` method, it stringifies the return value of `toJSON()` instead of the original object. The examples in the previous section took advantage of this feature when they called `JSON.stringify()` to log model instances.)
+
+```javascript
+var Todo = Backbone.Model.extend({
+ // Default todo attribute values
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+var todo1 = new Todo();
+var todo1Attributes = todo1.toJSON();
+// Following logs: {"title":"","completed":false}
+console.log(todo1Attributes);
+
+var todo2 = new Todo({
+ title: "Try these examples and check results in console.",
+ completed: true
+});
+
+// logs: {"title":"Try these examples and check results in console.","completed":true}
+console.log(todo2.toJSON());
+```
+
+**Model.set()**
+
+`Model.set()` sets a hash containing one or more attributes on the model. When any of these attributes alter the state of the model, a "change" event is triggered on it. Change events for each attribute are also triggered and can be bound to (e.g. `change:name`, `change:age`).
+
+```javascript
+var Todo = Backbone.Model.extend({
+ // Default todo attribute values
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+// Setting the value of attributes via instantiation
+var myTodo = new Todo({
+ title: "Set through instantiation."
+});
+console.log('Todo title: ' + myTodo.get('title')); // Todo title: Set through instantiation.
+console.log('Completed: ' + myTodo.get('completed')); // Completed: false
+
+// Set single attribute value at a time through Model.set():
+myTodo.set("title", "Title attribute set through Model.set().");
+console.log('Todo title: ' + myTodo.get('title')); // Todo title: Title attribute set through Model.set().
+console.log('Completed: ' + myTodo.get('completed')); // Completed: false
+
+// Set map of attributes through Model.set():
+myTodo.set({
+ title: "Both attributes set through Model.set().",
+ completed: true
+});
+console.log('Todo title: ' + myTodo.get('title')); // Todo title: Both attributes set through Model.set().
+console.log('Completed: ' + myTodo.get('completed')); // Completed: true
+```
+
+**Direct access**
+
+Models expose an `.attributes` attribute which represents an internal hash containing the state of that model. This is generally in the form of a JSON object similar to the model data you might find on the server but can take other forms.
+
+Setting values through the `.attributes` attribute on a model bypasses triggers bound to the model.
+
+Passing `{silent:true}` on change doesn't delay individual `"change:attr"` events. Instead they are silenced entirely:
+
+```javascript
+var Person = new Backbone.Model();
+Person.set({name: 'Jeremy'}, {silent: true});
+
+console.log(!Person.hasChanged(0));
+// true
+console.log(!Person.hasChanged(''));
+// true
+```
+
+Remember where possible it is best practice to use `Model.set()`, or direct instantiation as explained earlier.
+
+#### Listening for changes to your model
+
+If you want to receive a notification when a Backbone model changes you can bind a listener to the model for its change event. A convenient place to add listeners is in the `initialize()` function as shown below:
+
+```javascript
+var Todo = Backbone.Model.extend({
+ // Default todo attribute values
+ defaults: {
+ title: '',
+ completed: false
+ },
+ initialize: function(){
+ console.log('This model has been initialized.');
+ this.on('change', function(){
+ console.log('- Values for this model have changed.');
+ });
+ }
+});
+
+var myTodo = new Todo();
+
+myTodo.set('title', 'The listener is triggered whenever an attribute value changes.');
+console.log('Title has changed: ' + myTodo.get('title'));
+
+
+myTodo.set('completed', true);
+console.log('Completed has changed: ' + myTodo.get('completed'));
+
+myTodo.set({
+ title: 'Changing more than one attribute at the same time only triggers the listener once.',
+ completed: true
+});
+
+// Above logs:
+// This model has been initialized.
+// - Values for this model have changed.
+// Title has changed: The listener is triggered whenever an attribute value changes.
+// - Values for this model have changed.
+// Completed has changed: true
+// - Values for this model have changed.
+```
+
+You can also listen for changes to individual attributes in a Backbone model. In the following example, we log a message whenever a specific attribute (the title of our Todo model) is altered.
+
+```javascript
+var Todo = Backbone.Model.extend({
+ // Default todo attribute values
+ defaults: {
+ title: '',
+ completed: false
+ },
+
+ initialize: function(){
+ console.log('This model has been initialized.');
+ this.on('change:title', function(){
+ console.log('Title value for this model has changed.');
+ });
+ },
+
+ setTitle: function(newTitle){
+ this.set({ title: newTitle });
+ }
+});
+
+var myTodo = new Todo();
+
+// Both of the following changes trigger the listener:
+myTodo.set('title', 'Check what\'s logged.');
+myTodo.setTitle('Go fishing on Sunday.');
+
+// But, this change type is not observed, so no listener is triggered:
+myTodo.set('completed', true);
+console.log('Todo set as completed: ' + myTodo.get('completed'));
+
+// Above logs:
+// This model has been initialized.
+// Title value for this model has changed.
+// Title value for this model has changed.
+// Todo set as completed: true
+```
+
+
+#### Validation
+
+Backbone supports model validation through `model.validate()`, which allows checking the attribute values for a model prior to setting them. By default, validation occurs when the model is persisted using the `save()` method or when `set()` is called if `{validate:true}` is passed as an argument.
+
+```javascript
+var Person = new Backbone.Model({name: 'Jeremy'});
+
+// Validate the model name
+Person.validate = function(attrs) {
+ if (!attrs.name) {
+ return 'I need your name';
+ }
+};
+
+// Change the name
+Person.set({name: 'Samuel'});
+console.log(Person.get('name'));
+// 'Samuel'
+
+// Remove the name attribute, force validation
+Person.unset('name', {validate: true});
+// false
+```
+
+Above, we also use the `unset()` method, which removes an attribute by deleting it from the internal model attributes hash.
+
+Validation functions can be as simple or complex as necessary. If the attributes provided are valid, nothing should be returned from `.validate()`. If they are invalid, an error value should be returned instead.
+
+Should an error be returned:
+
+* An `invalid` event will triggered, setting the `validationError` property on the model with the value which is returned by this method.
+* `.save()` will not continue and the attributes of the model will not be modified on the server.
+
+A more complete validation example can be seen below:
+
+```javascript
+var Todo = Backbone.Model.extend({
+ defaults: {
+ completed: false
+ },
+
+ validate: function(attribs){
+ if(attribs.title === undefined){
+ return "Remember to set a title for your todo.";
+ }
+ },
+
+ initialize: function(){
+ console.log('This model has been initialized.');
+ this.on("invalid", function(model, error){
+ console.log(error);
+ });
+ }
+});
+
+var myTodo = new Todo();
+myTodo.set('completed', true, {validate: true}); // logs: Remember to set a title for your todo.
+console.log('completed: ' + myTodo.get('completed')); // completed: false
+```
+
+**Note**: the `attributes` object passed to the `validate` function represents what the attributes would be after completing the current `set()` or `save()`. This object is distinct from the current attributes of the model and from the parameters passed to the operation. Since it is created by shallow copy, it is not possible to change any Number, String, or Boolean attribute of the input within the function, but it *is* possible to change attributes in nested objects.
+
+An example of this (by @fivetanley) is available [here](http://jsfiddle.net/2NdDY/7/).
+
+
+## Views
+
+Views in Backbone don't contain the HTML markup for your application; they contain the logic behind the presentation of the model's data to the user. This is usually achieved using JavaScript templating (e.g., Underscore Microtemplates, Mustache, jQuery-tmpl, etc.). A view's `render()` method can be bound to a model's `change()` event, enabling the view to instantly reflect model changes without requiring a full page refresh.
+
+
+#### Creating new views
+
+Creating a new view is relatively straightforward and similar to creating new models. To create a new View, simply extend `Backbone.View`. We introduced the sample TodoView below in the previous chapter; now let's take a closer look at how it works:
+
+```javascript
+var TodoView = Backbone.View.extend({
+
+ tagName: 'li',
+
+ // Cache the template function for a single item.
+ todoTpl: _.template( "An example template" ),
+
+ events: {
+ 'dblclick label': 'edit',
+ 'keypress .edit': 'updateOnEnter',
+ 'blur .edit': 'close'
+ },
+
+ // Re-render the titles of the todo item.
+ render: function() {
+ this.$el.html( this.todoTpl( this.model.toJSON() ) );
+ this.input = this.$('.edit');
+ return this;
+ },
+
+ edit: function() {
+ // executed when todo label is double clicked
+ },
+
+ close: function() {
+ // executed when todo loses focus
+ },
+
+ updateOnEnter: function( e ) {
+ // executed on each keypress when in todo edit mode,
+ // but we'll wait for enter to get in action
+ }
+});
+
+var todoView = new TodoView();
+
+// log reference to a DOM element that corresponds to the view instance
+console.log(todoView.el); // logs
+```
+
+#### What is `el`?
+
+The central property of a view is `el` (the value logged in the last statement of the example). What is `el` and how is it defined?
+
+`el` is basically a reference to a DOM element and all views must have one. Views can use `el` to compose their element's content and then insert it into the DOM all at once, which makes for faster rendering because the browser performs the minimum required number of reflows and repaints.
+
+There are two ways to associate a DOM element with a view: a new element can be created for the view and subsequently added to the DOM or a reference can be made to an element which already exists in the page.
+
+If you want to create a new element for your view, set any combination of the following properties on the view: `tagName`, `id`, and `className`. A new element will be created for you by the framework and a reference to it will be available at the `el` property. If nothing is specified `tagName` defaults to `div`.
+
+In the example above, `tagName` is set to 'li', resulting in creation of an li element. The following example creates a ul element with id and class attributes:
+
+```javascript
+var TodosView = Backbone.View.extend({
+ tagName: 'ul', // required, but defaults to 'div' if not set
+ className: 'container', // optional, you can assign multiple classes to this property like so: 'container homepage'
+ id: 'todos', // optional
+});
+
+var todosView = new TodosView();
+console.log(todosView.el); // logs
+```
+
+The above code creates the DOM element below but doesn't append it to the DOM.
+
+```html
+
+```
+
+If the element already exists in the page, you can set `el` as a CSS selector that matches the element.
+
+```javascript
+el: '#footer'
+```
+
+Alternatively, you can set `el` to an existing element when creating the view:
+
+```javascript
+var todosView = new TodosView({el: $('#footer')});
+```
+
+Note: When declaring a View, `options`, `el`, `tagName`, `id` and `className` may be defined as functions, if you want their values to be determined at runtime.
+
+**$el and $()**
+
+View logic often needs to invoke jQuery or Zepto functions on the `el` element and elements nested within it. Backbone makes it easy to do so by defining the `$el` property and `$()` function. The `view.$el` property is equivalent to `$(view.el)` and `view.$(selector)` is equivalent to `$(view.el).find(selector)`. In our TodosView example's render method, we see `this.$el` used to set the HTML of the element and `this.$()` used to find subelements of class 'edit'.
+
+**setElement**
+
+If you need to apply an existing Backbone view to a different DOM element `setElement` can be used for this purpose. Overriding this.el needs to both change the DOM reference and re-bind events to the new element (and unbind from the old).
+
+`setElement` will create a cached `$el` reference for you, moving the delegated events for a view from the old element to the new one.
+
+```javascript
+
+// We create two DOM elements representing buttons
+// which could easily be containers or something else
+var button1 = $('');
+var button2 = $('');
+
+// Define a new view
+var View = Backbone.View.extend({
+ events: {
+ click: function(e) {
+ console.log(view.el === e.target);
+ }
+ }
+ });
+
+// Create a new instance of the view, applying it
+// to button1
+var view = new View({el: button1});
+
+// Apply the view to button2 using setElement
+view.setElement(button2);
+
+button1.trigger('click');
+button2.trigger('click'); // returns true
+```
+
+The "el" property represents the markup portion of the view that will be rendered; to get the view to actually render to the page, you need to add it as a new element or append it to an existing element.
+
+```javascript
+
+// We can also provide raw markup to setElement
+// as follows (just to demonstrate it can be done):
+var view = new Backbone.View;
+view.setElement('
');
+view.$('a b').html(); // outputs "test"
+```
+
+**Understanding `render()`**
+
+`render()` is an optional function that defines the logic for rendering a template. We'll use Underscore's micro-templating in these examples, but remember you can use other templating frameworks if you prefer. Our example will reference the following HTML markup:
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+The `_.template` method in Underscore compiles JavaScript templates into functions which can be evaluated for rendering. In the TodoView, I'm passing the markup from the template with id `item-template` to `_.template()` to be compiled and stored in the todoTpl property when the view is created.
+
+The `render()` method uses this template by passing it the `toJSON()` encoding of the attributes of the model associated with the view. The template returns its markup after using the model's title and completed flag to evaluate the expressions containing them. I then set this markup as the HTML content of the `el` DOM element using the `$el` property.
+
+Presto! This populates the template, giving you a data-complete set of markup in just a few short lines of code.
+
+
+
+A common Backbone convention is to return `this` at the end of `render()`. This is useful for a number of reasons, including:
+
+* Making views easily reusable in other parent views.
+* Creating a list of elements without rendering and painting each of them individually, only to be drawn once the entire list is populated.
+
+Let's try to implement the latter of these. The `render` method of a simple ListView which doesn't use an ItemView for each item could be written:
+
+```javascript
+
+var ListView = Backbone.View.extend({
+ render: function(){
+ this.$el.html(this.model.toJSON());
+ }
+});
+```
+
+Simple enough. Let's now assume a decision is made to construct the items using an ItemView to provide enhanced behaviour to our list. The ItemView could be written:
+
+```javascript
+
+var ItemView = Backbone.View.extend({
+ events: {},
+ render: function(){
+ this.$el.html(this.model.toJSON());
+ return this;
+ }
+});
+
+```
+
+Note the usage of `return this;` at the end of `render`. This common pattern enables us to reuse the view as a sub-view. We can also use it to pre-render the view prior to rendering. Using this requires that we make a change to our ListView's `render` method as follows:
+
+```javascript
+
+var ListView = Backbone.View.extend({
+ render: function(){
+
+ // Assume our model exposes the items we will
+ // display in our list
+ var items = this.model.get('items');
+
+ // Loop through each our items using the Underscore
+ // _.each iterator
+ _.each(items, function(item){
+
+ // Create a new instance of the ItemView, passing
+ // it a specific model item
+ var itemView = new ItemView({ model: item });
+ // The itemView's DOM element is appended after it
+ // has been rendered. Here, the 'return this' is helpful
+ // as the itemView renders its model. Later, we ask for
+ // its output ("el")
+ this.$el.append( itemView.render().el );
+ }, this);
+ }
+});
+```
+
+**The `events` hash**
+
+
+The Backbone `events` hash allows us to attach event listeners to either `el`-relative custom selectors, or directly to `el` if no selector is provided. An event takes the form of a key-value pair `'eventName selector': 'callbackFunction'` and a number of DOM event-types are supported, including `click`, `submit`, `mouseover`, `dblclick` and more.
+
+```javascript
+
+// A sample view
+var TodoView = Backbone.View.extend({
+ tagName: 'li',
+
+ // with an events hash containing DOM events
+ // specific to an item:
+ events: {
+ 'click .toggle': 'toggleCompleted',
+ 'dblclick label': 'edit',
+ 'click .destroy': 'clear',
+ 'blur .edit': 'close'
+ },
+```
+
+What isn't instantly obvious is that while Backbone uses jQuery's `.delegate()` underneath, it goes further by extending it so that `this` always refers to the current view object within callback functions. The only thing to really keep in mind is that any string callback supplied to the events attribute must have a corresponding function with the same name within the scope of your view.
+
+The declarative, delegated jQuery events means that you don't have to worry about whether a particular element has been rendered to the DOM yet or not. Usually with jQuery you have to worry about "presence or absence in the DOM" all the time when binding events.
+
+In our TodoView example, the edit callback is invoked when the user double-clicks a label element within the `el` element, updateOnEnter is called for each keypress in an element with class 'edit', and close executes when an element with class 'edit' loses focus. Each of these callback functions can use `this` to refer to the TodoView object.
+
+Note that you can also bind methods yourself using `_.bind(this.viewEvent, this)`, which is effectively what the value in each event's key-value pair is doing. Below we use `_.bind` to re-render our view when a model changes.
+
+```javascript
+
+var TodoView = Backbone.View.extend({
+ initialize: function() {
+ this.model.bind('change', _.bind(this.render, this));
+ }
+});
+```
+
+`_.bind` only works on one method at a time, but supports currying and as it returns the bound function means that you can use `_.bind` on an anonymous function.
+
+
+## Collections
+
+Collections are sets of Models and are created by extending `Backbone.Collection`.
+
+Normally, when creating a collection you'll also want to define a property specifying the type of model that your collection will contain, along with any instance properties required.
+
+In the following example, we create a TodoCollection that will contain our Todo models:
+
+```javascript
+var Todo = Backbone.Model.extend({
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+var TodosCollection = Backbone.Collection.extend({
+ model: Todo
+});
+
+var myTodo = new Todo({title:'Read the whole book', id: 2});
+
+// pass array of models on collection instantiation
+var todos = new TodosCollection([myTodo]);
+console.log("Collection size: " + todos.length); // Collection size: 1
+```
+
+#### Adding and Removing Models
+
+The preceding example populated the collection using an array of models when it was instantiated. After a collection has been created, models can be added and removed using the `add()` and `remove()` methods:
+
+```javascript
+var Todo = Backbone.Model.extend({
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+var TodosCollection = Backbone.Collection.extend({
+ model: Todo,
+});
+
+var a = new Todo({ title: 'Go to Jamaica.'}),
+ b = new Todo({ title: 'Go to China.'}),
+ c = new Todo({ title: 'Go to Disneyland.'});
+
+var todos = new TodosCollection([a,b]);
+console.log("Collection size: " + todos.length);
+// Logs: Collection size: 2
+
+todos.add(c);
+console.log("Collection size: " + todos.length);
+// Logs: Collection size: 3
+
+todos.remove([a,b]);
+console.log("Collection size: " + todos.length);
+// Logs: Collection size: 1
+
+todos.remove(c);
+console.log("Collection size: " + todos.length);
+// Logs: Collection size: 0
+```
+
+Note that `add()` and `remove()` accept both individual models and lists of models.
+
+Also note that when using `add()` on a collection, passing `{merge: true}` causes duplicate models to have their attributes merged in to the existing models, instead of being ignored.
+
+```javascript
+var items = new Backbone.Collection;
+items.add([{ id : 1, name: "Dog" , age: 3}, { id : 2, name: "cat" , age: 2}]);
+items.add([{ id : 1, name: "Bear" }], {merge: true });
+items.add([{ id : 2, name: "lion" }]); // merge: false
+
+console.log(JSON.stringify(items.toJSON()));
+// [{"id":1,"name":"Bear","age":3},{"id":2,"name":"cat","age":2}]
+```
+
+#### Retrieving Models
+
+There are a few different ways to retrieve a model from a collection. The most straight-forward is to use `Collection.get()` which accepts a single id as follows:
+
+```javascript
+var myTodo = new Todo({title:'Read the whole book', id: 2});
+
+// pass array of models on collection instantiation
+var todos = new TodosCollection([myTodo]);
+
+var todo2 = todos.get(2);
+
+// Models, as objects, are passed by reference
+console.log(todo2 === myTodo); // true
+```
+
+In client-server applications, collections contain models obtained from the server. Anytime you're exchanging data between the client and a server, you will need a way to uniquely identify models. In Backbone, this is done using the `id`, `cid`, and `idAttribute` properties.
+
+Each model in Backbone has an `id`, which is a unique identifier that is either an integer or string (e.g., a UUID). Models also have a `cid` (client id) which is automatically generated by Backbone when the model is created. Either identifier can be used to retrieve a model from a collection.
+
+The main difference between them is that the `cid` is generated by Backbone; it is helpful when you don't have a true id - this may be the case if your model has yet to be saved to the server or you aren't saving it to a database.
+
+The `idAttribute` is the identifying attribute of the model returned from the server (i.e., the `id` in your database). This tells Backbone which data field from the server should be used to populate the `id` property (think of it as a mapper). By default, it assumes `id`, but this can be customized as needed. For instance, if your server sets a unique attribute on your model named "userId" then you would set `idAttribute` to "userId" in your model definition.
+
+The value of a model's idAttribute should be set by the server when the model is saved. After this point you shouldn't need to set it manually, unless further control is required.
+
+Internally, `Backbone.Collection` contains an array of models enumerated by their `id` property, if the model instances happen to have one. When `collection.get(id)` is called, this array is checked for existence of the model instance with the corresponding `id`.
+
+```javascript
+// extends the previous example
+
+var todoCid = todos.get(todo2.cid);
+
+// As mentioned in previous example,
+// models are passed by reference
+console.log(todoCid === myTodo); // true
+```
+
+#### Listening for events
+
+As collections represent a group of items, we can listen for `add` and `remove` events which occur when models are added to or removed from a collection. Here's an example:
+
+```javascript
+var TodosCollection = new Backbone.Collection();
+
+TodosCollection.on("add", function(todo) {
+ console.log("I should " + todo.get("title") + ". Have I done it before? " + (todo.get("completed") ? 'Yeah!': 'No.' ));
+});
+
+TodosCollection.add([
+ { title: 'go to Jamaica', completed: false },
+ { title: 'go to China', completed: false },
+ { title: 'go to Disneyland', completed: true }
+]);
+
+// The above logs:
+// I should go to Jamaica. Have I done it before? No.
+// I should go to China. Have I done it before? No.
+// I should go to Disneyland. Have I done it before? Yeah!
+```
+
+In addition, we're also able to bind to a `change` event to listen for changes to any of the models in the collection.
+
+```javascript
+var TodosCollection = new Backbone.Collection();
+
+// log a message if a model in the collection changes
+TodosCollection.on("change:title", function(model) {
+ console.log("Changed my mind! I should " + model.get('title'));
+});
+
+TodosCollection.add([
+ { title: 'go to Jamaica.', completed: false, id: 3 },
+]);
+
+var myTodo = TodosCollection.get(3);
+
+myTodo.set('title', 'go fishing');
+// Logs: Changed my mind! I should go fishing
+```
+
+jQuery-style event maps of the form `obj.on({click: action})` can also be used. These can be clearer than needing three separate calls to `.on` and should align better with the events hash used in Views:
+
+```javascript
+
+var Todo = Backbone.Model.extend({
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+var myTodo = new Todo();
+myTodo.set({title: 'Buy some cookies', completed: true});
+
+myTodo.on({
+ 'change:title' : titleChanged,
+ 'change:completed' : stateChanged
+});
+
+function titleChanged(){
+ console.log('The title was changed!');
+}
+
+function stateChanged(){
+ console.log('The state was changed!');
+}
+
+myTodo.set({title: 'Get the groceries'});
+// The title was changed!
+```
+
+Backbone events also support a [once()](http://backbonejs.org/#Events-once) method, which ensures that a callback only fires one time when a notification arrives. It is similar to Node's [once](http://nodejs.org/api/events.html#events_emitter_once_event_listener), or jQuery's [one](http://api.jquery.com/one/). This is particularly useful for when you want to say "the next time something happens, do this".
+
+```javascript
+// Define an object with two counters
+var TodoCounter = { counterA: 0, counterB: 0 };
+// Mix in Backbone Events
+_.extend(TodoCounter, Backbone.Events);
+
+// Increment counterA, triggering an event
+var incrA = function(){
+ TodoCounter.counterA += 1;
+ TodoCounter.trigger('event');
+};
+
+// Increment counterB
+var incrB = function(){
+ TodoCounter.counterB += 1;
+};
+
+// Use once rather than having to explicitly unbind
+// our event listener
+TodoCounter.once('event', incrA);
+TodoCounter.once('event', incrB);
+
+// Trigger the event once again
+TodoCounter.trigger('event');
+
+// Check out output
+console.log(TodoCounter.counterA === 1); // true
+console.log(TodoCounter.counterB === 1); // true
+```
+
+`counterA` and `counterB` should only have been incremented once.
+
+#### Resetting/Refreshing Collections
+
+Rather than adding or removing models individually, you might want to update an entire collection at once. `Collection.set()` takes an array of models and performs the necessary add, remove, and change operations required to update the collection.
+
+```javascript
+var TodosCollection = new Backbone.Collection();
+
+TodosCollection.add([
+ { id: 1, title: 'go to Jamaica.', completed: false },
+ { id: 2, title: 'go to China.', completed: false },
+ { id: 3, title: 'go to Disneyland.', completed: true }
+]);
+
+// we can listen for add/change/remove events
+TodosCollection.on("add", function(model) {
+ console.log("Added " + model.get('title'));
+});
+
+TodosCollection.on("remove", function(model) {
+ console.log("Removed " + model.get('title'));
+});
+
+TodosCollection.on("change:completed", function(model) {
+ console.log("Completed " + model.get('title'));
+});
+
+TodosCollection.set([
+ { id: 1, title: 'go to Jamaica.', completed: true },
+ { id: 2, title: 'go to China.', completed: false },
+ { id: 4, title: 'go to Disney World.', completed: false }
+]);
+
+// Above logs:
+// Removed go to Disneyland.
+// Completed go to Jamaica.
+// Added go to Disney World.
+```
+
+If you need to simply replace the entire content of the collection then `Collection.reset()` can be used:
+
+```javascript
+var TodosCollection = new Backbone.Collection();
+
+// we can listen for reset events
+TodosCollection.on("reset", function() {
+ console.log("Collection reset.");
+});
+
+TodosCollection.add([
+ { title: 'go to Jamaica.', completed: false },
+ { title: 'go to China.', completed: false },
+ { title: 'go to Disneyland.', completed: true }
+]);
+
+console.log('Collection size: ' + TodosCollection.length); // Collection size: 3
+
+TodosCollection.reset([
+ { title: 'go to Cuba.', completed: false }
+]);
+// Above logs 'Collection reset.'
+
+console.log('Collection size: ' + TodosCollection.length); // Collection size: 1
+```
+
+Another useful tip is to use `reset` with no arguments to clear out a collection completely. This is handy when dynamically loading a new page of results where you want to blank out the current page of results.
+
+```javascript
+myCollection.reset();
+```
+
+Note that using `Collection.reset()` doesn't fire any `add` or `remove` events. A `reset` event is fired instead as shown in the previous example. The reason you might want to use this is to perform super-optimized rendering in extreme cases where individual events are too expensive.
+
+Also note that listening to a [reset](http://backbonejs.org/#Collection-reset) event, the list of previous models is available in `options.previousModels`, for convenience.
+
+```javascript
+var Todo = new Backbone.Model();
+var Todos = new Backbone.Collection([Todo])
+.on('reset', function(Todos, options) {
+ console.log(options.previousModels);
+ console.log([Todo]);
+ console.log(options.previousModels[0] === Todo); // true
+});
+Todos.reset([]);
+```
+
+An `update()` method is available for Collections (which is also available as an option to fetch) for "smart" updating of sets of models. This method attempts to perform smart updating of a collection using a specified list of models. When a model in this list isn't present in the collection, it is added. If it is, its attributes will be merged. Models which are present in the collection but not in the list are removed.
+
+```javascript
+var theBeatles = new Collection(['john', 'paul', 'george', 'ringo']);
+
+theBeatles.update(['john', 'paul', 'george', 'pete']);
+
+// Fires a `remove` event for 'ringo', and an `add` event for 'pete'.
+// Updates any of john, paul and georges's attributes that may have
+// changed over the years.
+```
+
+#### Underscore utility functions
+
+Backbone takes full advantage of its hard dependency on Underscore by making many of its utilities directly available on collections:
+
+**`forEach`: iterate over collections**
+
+```javascript
+var Todos = new Backbone.Collection();
+
+Todos.add([
+ { title: 'go to Belgium.', completed: false },
+ { title: 'go to China.', completed: false },
+ { title: 'go to Austria.', completed: true }
+]);
+
+// iterate over models in the collection
+Todos.forEach(function(model){
+ console.log(model.get('title'));
+});
+// Above logs:
+// go to Belgium.
+// go to China.
+// go to Austria.
+```
+
+**`sortBy()`: sort a collection on a specific attribute**
+
+```javascript
+// sort collection
+var sortedByAlphabet = Todos.sortBy(function (todo) {
+ return todo.get("title").toLowerCase();
+});
+
+console.log("- Now sorted: ");
+
+sortedByAlphabet.forEach(function(model){
+ console.log(model.get('title'));
+});
+// Above logs:
+// go to Austria.
+// go to Belgium.
+// go to China.
+```
+
+**`map()`: iterate through a collection, mapping each value through a transformation function**
+
+```javascript
+var count = 1;
+console.log(Todos.map(function(model){
+ return count++ + ". " + model.get('title');
+}));
+// Above logs:
+//1. go to Belgium.
+//2. go to China.
+//3. go to Austria.
+```
+
+**`min()`/`max()`: retrieve item with the min or max value of an attribute**
+
+```javascript
+Todos.max(function(model){
+ return model.id;
+}).id;
+
+Todos.min(function(model){
+ return model.id;
+}).id;
+```
+
+**`pluck()`: extract a specific attribute**
+
+```javascript
+var captions = Todos.pluck('caption');
+// returns list of captions
+```
+
+**`filter()`: filter a collection**
+
+*Filter by an array of model IDs*
+
+```javascript
+var Todos = Backbone.Collection.extend({
+ model: Todo,
+ filterById: function(ids){
+ return this.models.filter(
+ function(c) {
+ return _.contains(ids, c.id);
+ })
+ }
+});
+```
+
+**`indexOf()`: return the item at a particular index within a collection**
+
+```javascript
+var People = new Backbone.Collection;
+
+People.comparator = function(a, b) {
+ return a.get('name') < b.get('name') ? -1 : 1;
+};
+
+var tom = new Backbone.Model({name: 'Tom'});
+var rob = new Backbone.Model({name: 'Rob'});
+var tim = new Backbone.Model({name: 'Tim'});
+
+People.add(tom);
+People.add(rob);
+People.add(tim);
+
+console.log(People.indexOf(rob) === 0); // true
+console.log(People.indexOf(tim) === 1); // true
+console.log(People.indexOf(tom) === 2); // true
+```
+
+**`any()`: Confirm if any of the values in a collection pass an iterator truth test**
+
+```javascript
+Todos.any(function(model){
+ return model.id === 100;
+});
+
+// or
+Todos.some(function(model){
+ return model.id === 100;
+});
+```
+
+**`size()`: return the size of a collection**
+
+```javascript
+Todos.size();
+
+// equivalent to
+Todos.length;
+```
+
+**`isEmpty()`: determine whether a collection is empty**
+
+```javascript
+var isEmpty = Todos.isEmpty();
+```
+
+**`groupBy()`: group a collection into groups of like items**
+
+```javascript
+var Todos = new Backbone.Collection();
+
+Todos.add([
+ { title: 'go to Belgium.', completed: false },
+ { title: 'go to China.', completed: false },
+ { title: 'go to Austria.', completed: true }
+]);
+
+// create groups of completed and incomplete models
+var byCompleted = Todos.groupBy('completed');
+var completed = new Backbone.Collection(byCompleted[true]);
+console.log(completed.pluck('title'));
+// logs: ["go to Austria."]
+```
+
+In addition, several of the Underscore operations on objects are available as methods on Models.
+
+**`pick()`: extract a set of attributes from a model**
+
+```javascript
+var Todo = Backbone.Model.extend({
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+var todo = new Todo({title: 'go to Austria.'});
+console.log(todo.pick('title'));
+// logs {title: "go to Austria"}
+```
+
+**`omit()`: extract all attributes from a model except those listed**
+
+```javascript
+var todo = new Todo({title: 'go to Austria.'});
+console.log(todo.omit('title'));
+// logs {completed: false}
+```
+
+**`keys()` and `values()`: get lists of attribute names and values**
+
+```javascript
+var todo = new Todo({title: 'go to Austria.'});
+console.log(todo.keys());
+// logs: ["title", "completed"]
+
+console.log(todo.values());
+//logs: ["go to Austria.", false]
+```
+
+**`pairs()`: get list of attributes as [key, value] pairs**
+
+```javascript
+var todo = new Todo({title: 'go to Austria.'});
+var pairs = todo.pairs();
+
+console.log(pairs[0]);
+// logs: ["title", "go to Austria."]
+console.log(pairs[1]);
+// logs: ["completed", false]
+```
+
+**`invert()`: create object in which the values are keys and the attributes are values**
+
+```javascript
+var todo = new Todo({title: 'go to Austria.'});
+console.log(todo.invert());
+
+// logs: {go to Austria.: "title", false: "completed"}
+```
+
+The complete list of what Underscore can do can be found in its official [docs](http://documentcloud.github.com/underscore/).
+
+#### Chainable API
+
+Speaking of utility methods, another bit of sugar in Backbone is its support for Underscore’s `chain()` method. Chaining is a common idiom in object-oriented languages; a chain is a sequence of method calls on the same object that are performed in a single statement. While Backbone makes Underscore's array manipulation operations available as methods of Collection objects, they cannot be directly chained since they return arrays rather than the original Collection.
+
+Fortunately, the inclusion of Underscore's `chain()` method enables you to chain calls to these methods on Collections.
+
+The `chain()` method returns an object that has all of the Underscore array operations attached as methods which return that object. The chain ends with a call to the `value()` method which simply returns the resulting array value. In case you haven’t seen it before, the chainable API looks like this:
+
+```javascript
+var collection = new Backbone.Collection([
+ { name: 'Tim', age: 5 },
+ { name: 'Ida', age: 26 },
+ { name: 'Rob', age: 55 }
+]);
+
+var filteredNames = collection.chain() // start chain, returns wrapper around collection's models
+ .filter(function(item) { return item.get('age') > 10; }) // returns wrapped array excluding Tim
+ .map(function(item) { return item.get('name'); }) // returns wrapped array containing remaining names
+ .value(); // terminates the chain and returns the resulting array
+
+console.log(filteredNames); // logs: ['Ida', 'Rob']
+```
+
+Some of the Backbone-specific methods do return `this`, which means they can be chained as well:
+
+```javascript
+var collection = new Backbone.Collection();
+
+collection
+ .add({ name: 'John', age: 23 })
+ .add({ name: 'Harry', age: 33 })
+ .add({ name: 'Steve', age: 41 });
+
+var names = collection.pluck('name');
+
+console.log(names); // logs: ['John', 'Harry', 'Steve']
+```
+
+## RESTful Persistence
+
+Thus far, all of our example data has been created in the browser. For most single page applications, the models are derived from a data set residing on a server. This is an area in which Backbone dramatically simplifies the code you need to write to perform RESTful synchronization with a server through a simple API on its models and collections.
+
+**Fetching models from the server**
+
+`Collections.fetch()` retrieves a set of models from the server in the form of a JSON array by sending an HTTP GET request to the URL specified by the collection's `url` property (which may be a function). When this data is received, a `set()` will be executed to update the collection.
+
+```javascript
+var Todo = Backbone.Model.extend({
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+var TodosCollection = Backbone.Collection.extend({
+ model: Todo,
+ url: '/todos'
+});
+
+var todos = new TodosCollection();
+todos.fetch(); // sends HTTP GET to /todos
+```
+
+**Saving models to the server**
+
+While Backbone can retrieve an entire collection of models from the server at once, updates to models are performed individually using the model's `save()` method. When `save()` is called on a model that was fetched from the server, it constructs a URL by appending the model's id to the collection's URL and sends an HTTP PUT to the server. If the model is a new instance that was created in the browser (i.e., it doesn't have an id) then an HTTP POST is sent to the collection's URL. `Collections.create()` can be used to create a new model, add it to the collection, and send it to the server in a single method call.
+
+```javascript
+var Todo = Backbone.Model.extend({
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+var TodosCollection = Backbone.Collection.extend({
+ model: Todo,
+ url: '/todos'
+});
+
+var todos = new TodosCollection();
+todos.fetch();
+
+var todo2 = todos.get(2);
+todo2.set('title', 'go fishing');
+todo2.save(); // sends HTTP PUT to /todos/2
+
+todos.create({title: 'Try out code samples'}); // sends HTTP POST to /todos and adds to collection
+```
+
+As mentioned earlier, a model's `validate()` method is called automatically by `save()` and will trigger an `invalid` event on the model if validation fails.
+
+**Deleting models from the server**
+
+A model can be removed from the containing collection and the server by calling its `destroy()` method. Unlike `Collection.remove()` which only removes a model from a collection, `Model.destroy()` will also send an HTTP DELETE to the collection's URL.
+
+```javascript
+var Todo = Backbone.Model.extend({
+ defaults: {
+ title: '',
+ completed: false
+ }
+});
+
+var TodosCollection = Backbone.Collection.extend({
+ model: Todo,
+ url: '/todos'
+});
+
+var todos = new TodosCollection();
+todos.fetch();
+
+var todo2 = todos.get(2);
+todo2.destroy(); // sends HTTP DELETE to /todos/2 and removes from collection
+```
+
+Calling `destroy` on a Model will return `false` if the model `isNew`:
+
+```javascript
+var Todo = new Backbone.Model();
+console.log(Todo.destroy());
+// false
+```
+
+**Options**
+
+Each RESTful API method accepts a variety of options. Most importantly, all methods accept success and error callbacks which can be used to customize the handling of server responses.
+
+Specifying the `{patch: true}` option to `Model.save()` will cause it to use HTTP PATCH to send only the changed attributes (i.e partial updates) to the server instead of the entire model i.e `model.save(attrs, {patch: true})`:
+
+```javascript
+// Save partial using PATCH
+model.clear().set({id: 1, a: 1, b: 2, c: 3, d: 4});
+model.save();
+model.save({b: 2, d: 4}, {patch: true});
+console.log(this.syncArgs.method);
+// 'patch'
+```
+
+Similarly, passing the `{reset: true}` option to `Collection.fetch()` will result in the collection being updated using `reset()` rather than `set()`.
+
+See the Backbone.js documentation for full descriptions of the supported options.
+
+## Events
+
+Events are a basic inversion of control. Instead of having one function call another by name, the second function is registered as a handler to be called when a specific event occurs.
+
+The part of your application that has to know how to call the other part of your app has been inverted. This is the core thing that makes it possible for your business logic to not have to know about how your user interface works and is the most powerful thing about the Backbone Events system.
+
+Mastering events is one of the quickest ways to become more productive with Backbone, so let's take a closer look at Backbone's event model.
+
+`Backbone.Events` is mixed into the other Backbone "classes", including:
+
+* Backbone
+* Backbone.Model
+* Backbone.Collection
+* Backbone.Router
+* Backbone.History
+* Backbone.View
+
+Note that `Backbone.Events` is mixed into the `Backbone` object. Since `Backbone` is globally visible, it can be used as a simple event bus:
+
+```javascript
+Backbone.on('event', function() {console.log('Handled Backbone event');});
+Backbone.trigger('event'); // logs: Handled Backbone event
+```
+
+#### on(), off(), and trigger()
+
+`Backbone.Events` can give any object the ability to bind and trigger custom events. We can mix this module into any object easily and there isn't a requirement for events to be declared before being bound to a callback handler.
+
+Example:
+
+```javascript
+var ourObject = {};
+
+// Mixin
+_.extend(ourObject, Backbone.Events);
+
+// Add a custom event
+ourObject.on('dance', function(msg){
+ console.log('We triggered ' + msg);
+});
+
+// Trigger the custom event
+ourObject.trigger('dance', 'our event');
+```
+
+If you're familiar with jQuery custom events or the concept of Publish/Subscribe, `Backbone.Events` provides a system that is very similar with `on` being analogous to `subscribe` and `trigger` being similar to `publish`.
+
+`on` binds a callback function to an object, as we've done with `dance` in the above example. The callback is invoked whenever the event is triggered.
+
+The official Backbone.js documentation recommends namespacing event names using colons if you end up using quite a few of these on your page. e.g.:
+
+```javascript
+var ourObject = {};
+
+// Mixin
+_.extend(ourObject, Backbone.Events);
+
+function dancing (msg) { console.log("We started " + msg); }
+
+// Add namespaced custom events
+ourObject.on("dance:tap", dancing);
+ourObject.on("dance:break", dancing);
+
+// Trigger the custom events
+ourObject.trigger("dance:tap", "tap dancing. Yeah!");
+ourObject.trigger("dance:break", "break dancing. Yeah!");
+
+// This one triggers nothing as no listener listens for it
+ourObject.trigger("dance", "break dancing. Yeah!");
+```
+
+A special `all` event is made available in case you would like notifications for every event that occurs on the object (e.g., if you would like to screen events in a single location). The `all` event can be used as follows:
+
+
+```javascript
+var ourObject = {};
+
+// Mixin
+_.extend(ourObject, Backbone.Events);
+
+function dancing (msg) { console.log("We started " + msg); }
+
+ourObject.on("all", function(eventName){
+ console.log("The name of the event passed was " + eventName);
+});
+
+// This time each event will be caught with a catch 'all' event listener
+ourObject.trigger("dance:tap", "tap dancing. Yeah!");
+ourObject.trigger("dance:break", "break dancing. Yeah!");
+ourObject.trigger("dance", "break dancing. Yeah!");
+```
+
+`off` removes callback functions that were previously bound to an object. Going back to our Publish/Subscribe comparison, think of it as an `unsubscribe` for custom events.
+
+To remove the `dance` event we previously bound to `ourObject`, we would simply do:
+
+```javascript
+var ourObject = {};
+
+// Mixin
+_.extend(ourObject, Backbone.Events);
+
+function dancing (msg) { console.log("We " + msg); }
+
+// Add namespaced custom events
+ourObject.on("dance:tap", dancing);
+ourObject.on("dance:break", dancing);
+
+// Trigger the custom events. Each will be caught and acted upon.
+ourObject.trigger("dance:tap", "started tap dancing. Yeah!");
+ourObject.trigger("dance:break", "started break dancing. Yeah!");
+
+// Removes event bound to the object
+ourObject.off("dance:tap");
+
+// Trigger the custom events again, but one is logged.
+ourObject.trigger("dance:tap", "stopped tap dancing."); // won't be logged as it's not listened for
+ourObject.trigger("dance:break", "break dancing. Yeah!");
+```
+
+To remove all callbacks for the event we pass an event name (e.g., `move`) to the `off()` method on the object the event is bound to. If we wish to remove a specific callback, we can pass that callback as the second parameter:
+
+```javascript
+var ourObject = {};
+
+// Mixin
+_.extend(ourObject, Backbone.Events);
+
+function dancing (msg) { console.log("We are dancing. " + msg); }
+function jumping (msg) { console.log("We are jumping. " + msg); }
+
+// Add two listeners to the same event
+ourObject.on("move", dancing);
+ourObject.on("move", jumping);
+
+// Trigger the events. Both listeners are called.
+ourObject.trigger("move", "Yeah!");
+
+// Removes specified listener
+ourObject.off("move", dancing);
+
+// Trigger the events again. One listener left.
+ourObject.trigger("move", "Yeah, jump, jump!");
+```
+
+Finally, as we have seen in our previous examples, `trigger` triggers a callback for a specified event (or a space-separated list of events). e.g.:
+
+```javascript
+var ourObject = {};
+
+// Mixin
+_.extend(ourObject, Backbone.Events);
+
+function doAction (msg) { console.log("We are " + msg); }
+
+// Add event listeners
+ourObject.on("dance", doAction);
+ourObject.on("jump", doAction);
+ourObject.on("skip", doAction);
+
+// Single event
+ourObject.trigger("dance", 'just dancing.');
+
+// Multiple events
+ourObject.trigger("dance jump skip", 'very tired from so much action.');
+```
+
+`trigger` can pass multiple arguments to the callback function:
+
+```javascript
+var ourObject = {};
+
+// Mixin
+_.extend(ourObject, Backbone.Events);
+
+function doAction (action, duration) {
+ console.log("We are " + action + ' for ' + duration );
+}
+
+// Add event listeners
+ourObject.on("dance", doAction);
+ourObject.on("jump", doAction);
+ourObject.on("skip", doAction);
+
+// Passing multiple arguments to single event
+ourObject.trigger("dance", 'dancing', "5 minutes");
+
+// Passing multiple arguments to multiple events
+ourObject.trigger("dance jump skip", 'on fire', "15 minutes");
+```
+
+#### listenTo() and stopListening()
+
+While `on()` and `off()` add callbacks directly to an observed object, `listenTo()` tells an object to listen for events on another object, allowing the listener to keep track of the events for which it is listening. `stopListening()` can subsequently be called on the listener to tell it to stop listening for events:
+
+```javascript
+var a = _.extend({}, Backbone.Events);
+var b = _.extend({}, Backbone.Events);
+var c = _.extend({}, Backbone.Events);
+
+// add listeners to A for events on B and C
+a.listenTo(b, 'anything', function(event){ console.log("anything happened"); });
+a.listenTo(c, 'everything', function(event){ console.log("everything happened"); });
+
+// trigger an event
+b.trigger('anything'); // logs: anything happened
+
+// stop listening
+a.stopListening();
+
+// A does not receive these events
+b.trigger('anything');
+c.trigger('everything');
+```
+
+`stopListening()` can also be used to selectively stop listening based on the event, model, or callback handler.
+
+If you use `on` and `off` and remove views and their corresponding models at the same time, there are generally no problems. But a problem arises when you remove a view that had registered to be notified about events on a model, but you don't remove the model or call `off` to remove the view's event handler. Since the model has a reference to the view's callback function, the JavaScript garbage collector cannot remove the view from memory. This is called a "ghost view" and is a form of memory leak which is common since the models generally tend to outlive the corresponding views during an application's lifecycle. For details on the topic and a solution, check this [excellent article](http://lostechies.com/derickbailey/2011/09/15/zombies-run-managing-page-transitions-in-backbone-apps/) by Derick Bailey.
+
+Practically, every `on` called on an object also requires an `off` to be called in order for the garbage collector to do its job. `listenTo()` changes that, allowing Views to bind to Model notifications and unbind from all of them with just one call - `stopListening()`.
+
+The default implementation of `View.remove()` makes a call to `stopListening()`, ensuring that any listeners bound using `listenTo()` are unbound before the view is destroyed.
+
+```javascript
+var view = new Backbone.View();
+var b = _.extend({}, Backbone.Events);
+
+view.listenTo(b, 'all', function(){ console.log(true); });
+b.trigger('anything'); // logs: true
+
+view.listenTo(b, 'all', function(){ console.log(false); });
+view.remove(); // stopListening() implicitly called
+b.trigger('anything'); // does not log anything
+```
+
+#### Events and Views
+
+Within a View, there are two types of events you can listen for: DOM events and events triggered using the Event API. It is important to understand the differences in how views bind to these events and the context in which their callbacks are invoked.
+
+DOM events can be bound to using the View's `events` property or using `jQuery.on()`. Within callbacks bound using the `events` property, `this` refers to the View object; whereas any callbacks bound directly using jQuery will have `this` set to the handling DOM element by jQuery. All DOM event callbacks are passed an `event` object by jQuery. See `delegateEvents()` in the Backbone documentation for additional details.
+
+Event API events are bound as described in this section. If the event is bound using `on()` on the observed object, a context parameter can be passed as the third argument. If the event is bound using `listenTo()` then within the callback `this` refers to the listener. The arguments passed to Event API callbacks depends on the type of event. See the Catalog of Events in the Backbone documentation for details.
+
+The following example illustrates these differences:
+
+```html
+
+
+
+```
+
+```javascript
+var View = Backbone.View.extend({
+
+ el: '#todo',
+
+ // bind to DOM event using events property
+ events: {
+ 'click [type="checkbox"]': 'clicked',
+ },
+
+ initialize: function () {
+ // bind to DOM event using jQuery
+ this.$el.click(this.jqueryClicked);
+
+ // bind to API event
+ this.on('apiEvent', this.callback);
+ },
+
+ // 'this' is view
+ clicked: function(event) {
+ console.log("events handler for " + this.el.outerHTML);
+ this.trigger('apiEvent', event.type);
+ },
+
+ // 'this' is handling DOM element
+ jqueryClicked: function(event) {
+ console.log("jQuery handler for " + this.outerHTML);
+ },
+
+ callback: function(eventType) {
+ console.log("event type was " + eventType);
+ }
+
+});
+
+var view = new View();
+```
+
+## Routers
+
+In Backbone, routers provide a way for you to connect URLs (either hash fragments, or
+real) to parts of your application. Any piece of your application that you want
+to be bookmarkable, shareable, and back-button-able, needs a URL.
+
+Some examples of routes using the hash mark may be seen below:
+
+```javascript
+http://example.com/#about
+http://example.com/#search/seasonal-horns/page2
+```
+
+An application will usually have at least one route mapping a URL route to a function that determines what happens when a user reaches that route. This relationship is defined as follows:
+
+```javascript
+'route' : 'mappedFunction'
+```
+
+Let's define our first router by extending `Backbone.Router`. For the purposes of this guide, we're going to continue pretending we're creating a complex todo application (something like a personal organizer/planner) that requires a complex TodoRouter.
+
+Note the inline comments in the code example below as they continue our lesson on routers.
+
+```javascript
+var TodoRouter = Backbone.Router.extend({
+ /* define the route and function maps for this router */
+ routes: {
+ "about" : "showAbout",
+ /* Sample usage: http://example.com/#about */
+
+ "todo/:id" : "getTodo",
+ /* This is an example of using a ":param" variable which allows us to match
+ any of the components between two URL slashes */
+ /* Sample usage: http://example.com/#todo/5 */
+
+ "search/:query" : "searchTodos",
+ /* We can also define multiple routes that are bound to the same map function,
+ in this case searchTodos(). Note below how we're optionally passing in a
+ reference to a page number if one is supplied */
+ /* Sample usage: http://example.com/#search/job */
+
+ "search/:query/p:page" : "searchTodos",
+ /* As we can see, URLs may contain as many ":param"s as we wish */
+ /* Sample usage: http://example.com/#search/job/p1 */
+
+ "todos/:id/download/*documentPath" : "downloadDocument",
+ /* This is an example of using a *splat. Splats are able to match any number of
+ URL components and can be combined with ":param"s*/
+ /* Sample usage: http://example.com/#todos/5/download/files/Meeting_schedule.doc */
+
+ /* If you wish to use splats for anything beyond default routing, it's probably a good
+ idea to leave them at the end of a URL otherwise you may need to apply regular
+ expression parsing on your fragment */
+
+ "*other" : "defaultRoute"
+ /* This is a default route that also uses a *splat. Consider the
+ default route a wildcard for URLs that are either not matched or where
+ the user has incorrectly typed in a route path manually */
+ /* Sample usage: http://example.com/# */,
+
+ "optional(/:item)": "optionalItem",
+ "named/optional/(y:z)": "namedOptionalItem"
+ /* Router URLs also support optional parts via parentheses, without having
+ to use a regex. */
+ },
+
+ showAbout: function(){
+ },
+
+ getTodo: function(id){
+ /*
+ Note that the id matched in the above route will be passed to this function
+ */
+ console.log("You are trying to reach todo " + id);
+ },
+
+ searchTodos: function(query, page){
+ var page_number = page || 1;
+ console.log("Page number: " + page_number + " of the results for todos containing the word: " + query);
+ },
+
+ downloadDocument: function(id, path){
+ },
+
+ defaultRoute: function(other){
+ console.log('Invalid. You attempted to reach:' + other);
+ }
+});
+
+/* Now that we have a router setup, we need to instantiate it */
+
+var myTodoRouter = new TodoRouter();
+```
+
+
+Backbone offers an opt-in for HTML5 pushState support via `window.history.pushState`. This permits you to define routes such as http://backbonejs.org/just/an/example. This will be supported with automatic degradation when a user's browser doesn't support pushState. Note that it is vastly preferred if you're capable of also supporting pushState on the server side, although it is a little more difficult to implement.
+
+**Is there a limit to the number of routers I should be using?**
+
+Andrew de Andrade has pointed out that DocumentCloud, the creators of Backbone, usually only use a single router in most of their applications. You're very likely to not require more than one or two routers in your own projects; the majority of your application routing can be kept organized in a single router without it getting unwieldy.
+
+#### Backbone.history
+
+Next, we need to initialize `Backbone.history` as it handles `hashchange` events in our application. This will automatically handle routes that have been defined and trigger callbacks when they've been accessed.
+
+The `Backbone.history.start()` method will simply tell Backbone that it's okay to begin monitoring all `hashchange` events as follows:
+
+```javascript
+var TodoRouter = Backbone.Router.extend({
+ /* define the route and function maps for this router */
+ routes: {
+ "about" : "showAbout",
+ "search/:query" : "searchTodos",
+ "search/:query/p:page" : "searchTodos"
+ },
+
+ showAbout: function(){},
+
+ searchTodos: function(query, page){
+ var page_number = page || 1;
+ console.log("Page number: " + page_number + " of the results for todos containing the word: " + query);
+ }
+});
+
+var myTodoRouter = new TodoRouter();
+
+Backbone.history.start();
+
+// Go to and check console:
+// http://localhost/#search/job/p3 logs: Page number: 3 of the results for todos containing the word: job
+// http://localhost/#search/job logs: Page number: 1 of the results for todos containing the word: job
+// etc.
+```
+
+Note: To run the last example, you'll need to create a local development environment and test project, which we will cover later on in the book.
+
+If you would like to update the URL to reflect the application state at a particular point, you can use the router's `.navigate()` method. By default, it simply updates your URL fragment without triggering the `hashchange` event:
+
+```javascript
+// Let's imagine we would like a specific fragment (edit) once a user opens a single todo
+var TodoRouter = Backbone.Router.extend({
+ routes: {
+ "todo/:id": "viewTodo",
+ "todo/:id/edit": "editTodo"
+ // ... other routes
+ },
+
+ viewTodo: function(id){
+ console.log("View todo requested.");
+ this.navigate("todo/" + id + '/edit'); // updates the fragment for us, but doesn't trigger the route
+ },
+
+ editTodo: function(id) {
+ console.log("Edit todo opened.");
+ }
+});
+
+var myTodoRouter = new TodoRouter();
+
+Backbone.history.start();
+
+// Go to: http://localhost/#todo/4
+//
+// URL is updated to: http://localhost/#todo/4/edit
+// but editTodo() function is not invoked even though location we end up is mapped to it.
+//
+// logs: View todo requested.
+```
+
+It is also possible for `Router.navigate()` to trigger the route along with updating the URL fragment by passing the `trigger:true` option.
+
+Note: This usage is discouraged. The recommended usage is the one described above which creates a bookmarkable URL when your application transitions to a specific state.
+
+```javascript
+var TodoRouter = Backbone.Router.extend({
+ routes: {
+ "todo/:id": "viewTodo",
+ "todo/:id/edit": "editTodo"
+ // ... other routes
+ },
+
+ viewTodo: function(id){
+ console.log("View todo requested.");
+ this.navigate("todo/" + id + '/edit', {trigger: true}); // updates the fragment and triggers the route as well
+ },
+
+ editTodo: function(id) {
+ console.log("Edit todo opened.");
+ }
+});
+
+var myTodoRouter = new TodoRouter();
+
+Backbone.history.start();
+
+// Go to: http://localhost/#todo/4
+//
+// URL is updated to: http://localhost/#todo/4/edit
+// and this time editTodo() function is invoked.
+//
+// logs:
+// View todo requested.
+// Edit todo opened.
+```
+
+A "route" event is also triggered on the router in addition to being fired on Backbone.history.
+
+```javascript
+Backbone.history.on('route', onRoute);
+
+// Trigger 'route' event on router instance."
+router.on('route', function(name, args) {
+ console.log(name === 'routeEvent');
+});
+
+location.replace('http://example.com#route-event/x');
+Backbone.history.checkUrl();
+```
+
+## Backbone’s Sync API
+
+We previously discussed how Backbone supports RESTful persistence via its `fetch()` and `create()` methods on Collections and `save()`, and `delete()` methods on Models. Now we are going to take a closer look at Backbone's sync method which underlies these operations.
+
+The Backbone.sync method is an integral part of Backbone.js. It assumes a jQuery-like `$.ajax()` method, so HTTP parameters are organized based on jQuery’s API. Since some legacy servers may not support JSON-formatted requests and HTTP PUT and DELETE operations, Backbone can be configured to emulate these capabilities using the two configuration variables shown below with their default values:
+
+```javascript
+Backbone.emulateHTTP = false; // set to true if server cannot handle HTTP PUT or HTTP DELETE
+Backbone.emulateJSON = false; // set to true if server cannot handle application/json requests
+```
+
+The inline Backbone.emulateHTTP option should be set to true if extended HTTP methods are not supported by the server. The Backbone.emulateJSON option should be set to true if the server does not understand the MIME type for JSON.
+
+```javascript
+// Create a new library collection
+var Library = Backbone.Collection.extend({
+ url : function() { return '/library'; }
+});
+
+// Define attributes for our model
+var attrs = {
+ title : "The Tempest",
+ author : "Bill Shakespeare",
+ length : 123
+};
+
+// Create a new Library instance
+var library = new Library;
+
+// Create a new instance of a model within our collection
+library.create(attrs, {wait: false});
+
+// Update with just emulateHTTP
+library.first().save({id: '2-the-tempest', author: 'Tim Shakespeare'}, {
+ emulateHTTP: true
+});
+
+// Check the ajaxSettings being used for our request
+console.log(this.ajaxSettings.url === '/library/2-the-tempest'); // true
+console.log(this.ajaxSettings.type === 'POST'); // true
+console.log(this.ajaxSettings.contentType === 'application/json'); // true
+
+// Parse the data for the request to confirm it is as expected
+var data = JSON.parse(this.ajaxSettings.data);
+console.log(data.id === '2-the-tempest'); // true
+console.log(data.author === 'Tim Shakespeare'); // true
+console.log(data.length === 123); // true
+```
+
+Similarly, we could just update using `emulateJSON`:
+
+```javascript
+library.first().save({id: '2-the-tempest', author: 'Tim Shakespeare'}, {
+ emulateJSON: true
+});
+
+console.log(this.ajaxSettings.url === '/library/2-the-tempest'); // true
+console.log(this.ajaxSettings.type === 'PUT'); // true
+console.log(this.ajaxSettings.contentType ==='application/x-www-form-urlencoded'); // true
+
+var data = JSON.parse(this.ajaxSettings.data.model);
+console.log(data.id === '2-the-tempest');
+console.log(data.author ==='Tim Shakespeare');
+console.log(data.length === 123);
+```
+
+`Backbone.sync` is called every time Backbone tries to read, save, or delete models. It uses jQuery or Zepto's `$.ajax()` implementations to make these RESTful requests, however this can be overridden as per your needs.
+
+**Overriding Backbone.sync**
+
+The `sync` function may be overridden globally as Backbone.sync, or at a finer-grained level, by adding a sync function to a Backbone collection or to an individual model.
+
+Since all persistence is handled by the Backbone.sync function, an alternative persistence layer can be used by simply overriding Backbone.sync with a function that has the same signature:
+
+```javascript
+Backbone.sync = function(method, model, options) {
+};
+```
+
+The methodMap below is used by the standard sync implementation to map the method parameter to an HTTP operation and illustrates the type of action required by each method argument:
+
+```javascript
+var methodMap = {
+ 'create': 'POST',
+ 'update': 'PUT',
+ 'patch': 'PATCH',
+ 'delete': 'DELETE',
+ 'read': 'GET'
+};
+```
+
+If we wanted to replace the standard `sync` implementation with one that simply logged the calls to sync, we could do this:
+
+```javascript
+var id_counter = 1;
+Backbone.sync = function(method, model) {
+ console.log("I've been passed " + method + " with " + JSON.stringify(model));
+ if(method === 'create'){ model.set('id', id_counter++); }
+};
+```
+
+Note that we assign a unique id to any created models.
+
+The Backbone.sync method is intended to be overridden to support other persistence backends. The built-in method is tailored to a certain breed of RESTful JSON APIs - Backbone was originally extracted from a Ruby on Rails application, which uses HTTP methods like PUT in the same way.
+
+The sync method is called with three parameters:
+
+* method: One of create, update, patch, delete, or read
+* model: The Backbone model object
+* options: May include success and error methods
+
+Implementing a new sync method can use the following pattern:
+
+```javascript
+Backbone.sync = function(method, model, options) {
+
+ function success(result) {
+ // Handle successful results from MyAPI
+ if (options.success) {
+ options.success(result);
+ }
+ }
+
+ function error(result) {
+ // Handle error results from MyAPI
+ if (options.error) {
+ options.error(result);
+ }
+ }
+
+ options || (options = {});
+
+ switch (method) {
+ case 'create':
+ return MyAPI.create(model, success, error);
+
+ case 'update':
+ return MyAPI.update(model, success, error);
+
+ case 'patch':
+ return MyAPI.patch(model, success, error);
+
+ case 'delete':
+ return MyAPI.destroy(model, success, error);
+
+ case 'read':
+ if (model.attributes[model.idAttribute]) {
+ return MyAPI.find(model, success, error);
+ } else {
+ return MyAPI.findAll(model, success, error);
+ }
+ }
+};
+```
+
+This pattern delegates API calls to a new object (MyAPI), which could be a Backbone-style class that supports events. This can be safely tested separately, and potentially used with libraries other than Backbone.
+
+There are quite a few sync implementations out there. The following examples are all available on GitHub:
+
+* Backbone localStorage: persists to the browser's local storage
+* Backbone offline: supports working offline
+* Backbone Redis: uses Redis key-value store
+* backbone-parse: integrates Backbone with Parse.com
+* backbone-websql: stores data to WebSQL
+* Backbone Caching Sync: uses local storage as cache for other sync implementations
+
+
+## Dependencies
+
+The official Backbone.js [documentation](http://backbonejs.org/) states:
+
+>Backbone's only hard dependency is either Underscore.js ( >= 1.4.3) or Lo-Dash. For RESTful persistence, history support via Backbone.Router and DOM manipulation with Backbone.View, include json2.js, and either jQuery ( >= 1.7.0) or Zepto.
+
+What this translates to is that if you require working with anything beyond models, you will need to include a DOM manipulation library such as jQuery or Zepto. Underscore is primarily used for its utility methods (which Backbone relies upon heavily) and json2.js for legacy browser JSON support if Backbone.sync is used.
+
+## Summary
+
+In this chapter we have introduced you to the components you will be using to build applications with Backbone: Models, Views, Collections, and Routers. We've also explored the Events mix-in that Backbone uses to enhance all components with publish-subscribe capabilities and seen how it can be used with arbitrary objects. Finally, we saw how Backbone leverages the Underscore.js and jQuery/Zepto APIs to add rich manipulation and persistence features to Backbone Collections and Models.
+
+Backbone has many operations and options beyond those we have covered here and is always evolving, so be sure to visit the official [documentation](http://backbonejs.org/) for more details and the latest features. In the next chapter you will start to get your hands dirty as we walk you through implementation of your first Backbone application.
+
+
diff --git a/chapters/04-exercise-1.md b/chapters/04-exercise-1.md
new file mode 100644
index 00000000..347926c7
--- /dev/null
+++ b/chapters/04-exercise-1.md
@@ -0,0 +1,793 @@
+# Exercise 1: Todos - Your First Backbone.js App
+
+Now that we've covered fundamentals, let's write our first Backbone.js application. We'll build the Backbone Todo List application exhibited on [TodoMVC.com](http://todomvc.com). Building a Todo List is a great way to learn Backbone’s conventions. It's a relatively simple application, yet technical challenges surrounding binding, persisting model data, routing, and template rendering provide opportunities to illustrate some core Backbone features.
+
+![](img/todos_a.png)
+
+Let's consider the application's architecture at a high level. We'll need:
+
+* a `Todo` model to describe individual todo items
+* a `TodoList` collection to store and persist todos
+* a way of creating todos
+* a way to display a listing of todos
+* a way to edit existing todos
+* a way to mark a todo as completed
+* a way to delete todos
+* a way to filter the items that have been completed or are remaining
+
+Essentially, these features are classic [CRUD](http://en.wikipedia.org/wiki/Create,_read,_update_and_delete) methods. Let's get started!
+
+## Static HTML
+
+We'll place all of our HTML in a single file named index.html.
+
+#### Header and Scripts
+
+First, we'll set up the header and the basic application dependencies: [jQuery](http://jquery.com), [Underscore](http://underscorejs.org), Backbone.js and the [Backbone LocalStorage adapter](https://github.com/jeromegn/Backbone.localStorage).
+
+```html
+
+
+
+
+
+ Backbone.js • TodoMVC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+In addition to the aforementioned dependencies, note that a few other application-specific files are also loaded. These are organized into folders representing their application responsibilities: models, views, collections, and routers. An app.js file is present to house central initialization code.
+
+Note: If you want to follow along, create a directory structure as demonstrated in index.html:
+
+1. Place the index.html in a top-level directory.
+2. Download jQuery, Underscore, Backbone, and Backbone LocalStorage from their respective web sites and place them under js/lib
+3. Create the directories js/models, js/collections, js/views, and js/routers
+
+You will also need [base.css](https://raw.github.com/addyosmani/todomvc/gh-pages/assets/base.css) and [bg.png](https://raw.github.com/addyosmani/todomvc/gh-pages/assets/bg.png), which should live in an assets directory. And remember that you can see a demo of the final application at [TodoMVC.com](http://todomvc.com).
+
+We will be creating the application JavaScript files during the tutorial. Don't worry about the two 'text/template' script elements - we will replace those soon!
+
+#### Application HTML
+
+Now let's populate the body of index.html. We'll need an `` for creating new todos, a `
` for listing the actual todos, and a footer where we can later insert statistics and links for performing operations such as clearing completed todos. We'll add the following markup immediately inside our body tag before the script elements:
+
+```html
+
+
+
+```
+
+#### Templates
+
+To complete index.html, we need to add the templates which we will use to dynamically create HTML by injecting model data into their placeholders. One way of including templates in the page is by using custom script tags. These don't get evaluated by the browser, which just interprets them as plain text. Underscore micro-templating can then access the templates, rendering fragments of HTML.
+
+We'll start by filling in the #item-template which will be used to display individual todo items.
+
+```html
+
+
+
+```
+
+The template tags in the above markup, such as `<%=` and `<%-`, are specific to Underscore.js and are documented on the Underscore site. In your own applications, you have a choice of template libraries, such as Mustache or Handlebars. Use whichever you prefer, Backbone doesn't mind.
+
+We also need to define the #stats-template template which we will use to populate the footer.
+
+```html
+
+
+
+```
+
+The #stats-template displays the number of remaining incomplete items and contains a list of hyperlinks which will be used to perform actions when we implement our router. It also contains a button which can be used to clear all of the completed items.
+
+Now that we have all the HTML that we will need, we'll start implementing our application by returning to the fundamentals: a Todo model.
+
+## Todo model
+
+The `Todo` model is remarkably straightforward. First, a todo has two attributes: a `title` stores a todo item's title and a `completed` status indicates if it's complete. These attributes are passed as defaults, as shown below:
+
+```javascript
+
+ // js/models/todo.js
+
+ var app = app || {};
+
+ // Todo Model
+ // ----------
+ // Our basic **Todo** model has `title`, `order`, and `completed` attributes.
+
+ app.Todo = Backbone.Model.extend({
+
+ // Default attributes ensure that each todo created has `title` and `completed` keys.
+ defaults: {
+ title: '',
+ completed: false
+ },
+
+ // Toggle the `completed` state of this todo item.
+ toggle: function() {
+ this.save({
+ completed: !this.get('completed')
+ });
+ }
+
+ });
+
+```
+
+Second, the Todo model has a `toggle()` method through which a Todo item's completion status can be set and simultaneously persisted.
+
+## Todo collection
+
+Next, a `TodoList` collection is used to group our models. The collection uses the LocalStorage adapter to override Backbone's default `sync()` operation with one that will persist our Todo records to HTML5 Local Storage. Through local storage, they're saved between page requests.
+
+```javascript
+
+ // js/collections/todos.js
+
+ var app = app || {};
+
+ // Todo Collection
+ // ---------------
+
+ // The collection of todos is backed by *localStorage* instead of a remote
+ // server.
+ var TodoList = Backbone.Collection.extend({
+
+ // Reference to this collection's model.
+ model: app.Todo,
+
+ // Save all of the todo items under the `"todos-backbone"` namespace.
+ localStorage: new Backbone.LocalStorage('todos-backbone'),
+
+ // Filter down the list of all todo items that are finished.
+ completed: function() {
+ return this.filter(function( todo ) {
+ return todo.get('completed');
+ });
+ },
+
+ // Filter down the list to only todo items that are still not finished.
+ remaining: function() {
+ return this.without.apply( this, this.completed() );
+ },
+
+ // We keep the Todos in sequential order, despite being saved by unordered
+ // GUID in the database. This generates the next order number for new items.
+ nextOrder: function() {
+ if ( !this.length ) {
+ return 1;
+ }
+ return this.last().get('order') + 1;
+ },
+
+ // Todos are sorted by their original insertion order.
+ comparator: function( todo ) {
+ return todo.get('order');
+ }
+ });
+
+ // Create our global collection of **Todos**.
+ app.Todos = new TodoList();
+
+```
+
+The collection's `completed()` and `remaining()` methods return an array of finished and unfinished todos, respectively.
+
+A `nextOrder()` method implements a sequence generator while a `comparator()` sorts items by their insertion order.
+
+*Note*: `this.filter`, `this.without` and `this.last` are Underscore methods that are mixed in to Backbone.Collection so that the reader knows how to find out more about them.
+
+## Application View
+
+Let's examine the core application logic which resides in the views. Each view supports functionality such as edit-in-place, and therefore contains a fair amount of logic. To help organize this logic, we'll use the element controller pattern. The element controller pattern consists of two views: one controls a collection of items while the other deals with each individual item.
+
+In our case, an `AppView` will handle the creation of new todos and rendering of the initial todo list. Instances of `TodoView` will be associated with each individual Todo record. Todo instances can handle editing, updating, and destroying their associated todo.
+
+To keep things short and simple, we won't be implementing all of the application's features in this tutorial, we'll just cover enough to get you started. Even so, there is a lot for us to cover in `AppView`, so we'll split our discussion into two sections.
+
+```javascript
+
+ // js/views/app.js
+
+ var app = app || {};
+
+ // The Application
+ // ---------------
+
+ // Our overall **AppView** is the top-level piece of UI.
+ app.AppView = Backbone.View.extend({
+
+ // Instead of generating a new element, bind to the existing skeleton of
+ // the App already present in the HTML.
+ el: '#todoapp',
+
+ // Our template for the line of statistics at the bottom of the app.
+ statsTemplate: _.template( $('#stats-template').html() ),
+
+ // At initialization we bind to the relevant events on the `Todos`
+ // collection, when items are added or changed.
+ initialize: function() {
+ this.allCheckbox = this.$('#toggle-all')[0];
+ this.$input = this.$('#new-todo');
+ this.$footer = this.$('#footer');
+ this.$main = this.$('#main');
+
+ this.listenTo(app.Todos, 'add', this.addOne);
+ this.listenTo(app.Todos, 'reset', this.addAll);
+ },
+
+ // Add a single todo item to the list by creating a view for it, and
+ // appending its element to the `
`.
+ addOne: function( todo ) {
+ var view = new app.TodoView({ model: todo });
+ $('#todo-list').append( view.render().el );
+ },
+
+ // Add all items in the **Todos** collection at once.
+ addAll: function() {
+ this.$('#todo-list').html('');
+ app.Todos.each(this.addOne, this);
+ }
+
+ });
+
+```
+
+A few notable features are present in our initial version of AppView, including a `statsTemplate`, an `initialize` method that's implicitly called on instantiation, and several view-specific methods.
+
+An `el` (element) property stores a selector targeting the DOM element with an ID of `todoapp`. In the case of our application, `el` refers to the matching `` element in index.html.
+
+The call to _.template uses Underscore's micro-templating to construct a statsTemplate object from our #stats-template. We will use this template later when we render our view.
+
+Now let's take a look at the `initialize` function. First, it's using jQuery to cache the elements it will be using into local properties (recall that `this.$()` finds elements relative to `this.$el`). Then it's binding to two events on the Todos collection: `add` and `reset`. Since we're delegating handling of updates and deletes to the `TodoView` view, we don't need to worry about those here. The two pieces of logic are:
+
+* When an `add` event is fired the `addOne()` method is called and passed the new model. `addOne()` creates an instance of TodoView view, renders it, and appends the resulting element to our Todo list.
+
+* When a `reset` event occurs (i.e., we update the collection in bulk as happens when the Todos are loaded from Local Storage), `addAll()` is called, which iterates over all of the Todos currently in our collection and fires `addOne()` for each item.
+
+Note that we were able to use `this` within `addAll()` to refer to the view because `listenTo()` implicitly set the callback's context to the view when it created the binding.
+
+Now, let's add some more logic to complete our AppView!
+
+```javascript
+
+ // js/views/app.js
+
+ var app = app || {};
+
+ // The Application
+ // ---------------
+
+ // Our overall **AppView** is the top-level piece of UI.
+ app.AppView = Backbone.View.extend({
+
+ // Instead of generating a new element, bind to the existing skeleton of
+ // the App already present in the HTML.
+ el: '#todoapp',
+
+ // Our template for the line of statistics at the bottom of the app.
+ statsTemplate: _.template( $('#stats-template').html() ),
+
+ // New
+ // Delegated events for creating new items, and clearing completed ones.
+ events: {
+ 'keypress #new-todo': 'createOnEnter',
+ 'click #clear-completed': 'clearCompleted',
+ 'click #toggle-all': 'toggleAllComplete'
+ },
+
+ // At initialization we bind to the relevant events on the `Todos`
+ // collection, when items are added or changed. Kick things off by
+ // loading any preexisting todos that might be saved in *localStorage*.
+ initialize: function() {
+ this.allCheckbox = this.$('#toggle-all')[0];
+ this.$input = this.$('#new-todo');
+ this.$footer = this.$('#footer');
+ this.$main = this.$('#main');
+
+ this.listenTo(app.Todos, 'add', this.addOne);
+ this.listenTo(app.Todos, 'reset', this.addAll);
+
+ // New
+ this.listenTo(app.Todos, 'change:completed', this.filterOne);
+ this.listenTo(app.Todos,'filter', this.filterAll);
+ this.listenTo(app.Todos, 'all', this.render);
+
+ app.Todos.fetch();
+ },
+
+ // New
+ // Re-rendering the App just means refreshing the statistics -- the rest
+ // of the app doesn't change.
+ render: function() {
+ var completed = app.Todos.completed().length;
+ var remaining = app.Todos.remaining().length;
+
+ if ( app.Todos.length ) {
+ this.$main.show();
+ this.$footer.show();
+
+ this.$footer.html(this.statsTemplate({
+ completed: completed,
+ remaining: remaining
+ }));
+
+ this.$('#filters li a')
+ .removeClass('selected')
+ .filter('[href="#/' + ( app.TodoFilter || '' ) + '"]')
+ .addClass('selected');
+ } else {
+ this.$main.hide();
+ this.$footer.hide();
+ }
+
+ this.allCheckbox.checked = !remaining;
+ },
+
+ // Add a single todo item to the list by creating a view for it, and
+ // appending its element to the `
`.
+ addOne: function( todo ) {
+ var view = new app.TodoView({ model: todo });
+ $('#todo-list').append( view.render().el );
+ },
+
+ // Add all items in the **Todos** collection at once.
+ addAll: function() {
+ this.$('#todo-list').html('');
+ app.Todos.each(this.addOne, this);
+ },
+
+ // New
+ filterOne : function (todo) {
+ todo.trigger('visible');
+ },
+
+ // New
+ filterAll : function () {
+ app.Todos.each(this.filterOne, this);
+ },
+
+
+ // New
+ // Generate the attributes for a new Todo item.
+ newAttributes: function() {
+ return {
+ title: this.$input.val().trim(),
+ order: app.Todos.nextOrder(),
+ completed: false
+ };
+ },
+
+ // New
+ // If you hit return in the main input field, create new Todo model,
+ // persisting it to localStorage.
+ createOnEnter: function( event ) {
+ if ( event.which !== ENTER_KEY || !this.$input.val().trim() ) {
+ return;
+ }
+
+ app.Todos.create( this.newAttributes() );
+ this.$input.val('');
+ },
+
+ // New
+ // Clear all completed todo items, destroying their models.
+ clearCompleted: function() {
+ _.invoke(app.Todos.completed(), 'destroy');
+ return false;
+ },
+
+ // New
+ toggleAllComplete: function() {
+ var completed = this.allCheckbox.checked;
+
+ app.Todos.each(function( todo ) {
+ todo.save({
+ 'completed': completed
+ });
+ });
+ }
+ });
+
+```
+
+We have added the logic for creating new todos, editing them, and filtering them based on their completed status.
+
+* events: We've defined an `events` hash containing declarative callbacks for our DOM events. It binds those events to the following methods:
+ * `createOnEnter()`: Creates a new Todo model and persists it in localStorage when a user hits enter inside the `` field. Also resets the main `` field value to prepare it for the next entry. The model is populated by newAttributes(), which returns an object literal composed of the title, order, and completed state of the new item. Note that `this` is referring to the view and not the DOM element since the callback was bound using the `events` hash.
+ * `clearCompleted()`: Removes the items in the todo list that have been marked as completed when the user clicks the clear-completed checkbox (this checkbox will be in the footer populated by the #stats-template).
+ * `toggleAllComplete()`: Allows a user to mark all of the items in the todo list as completed by clicking the toggle-all checkbox.
+
+* `initialize()`: We've bound callbacks to several additional events:
+ * We've bound a `filterOne()` callback on the Todos collection for a `change:completed` event. This listens for changes to the completed flag for any model in the collection. The affected todo is passed to the callback which triggers a custom `visible` event on the model.
+ * We've bound a `filterAll()` callback for a `filter` event, which works a little similar to addOne() and addAll(). It’s responsibility is to toggle which todo items are visible based on the filter currently selected in the UI (all, completed or remaining) via calls to filterOne().
+ * We've used the special `all` event to bind any event triggered on the Todos collection to the view's render method (discussed below).
+
+The `initialize()` method completes by fetching the previously saved todos from localStorage.
+
+* `render()`: Several things are happening in our `render()` method:
+ * The #main and #footer sections are displayed or hidden depending on whether there are any todos in the collection.
+ * The footer is populated with the HTML produced by instantiating the statsTemplate with the number of completed and remaining todo items.
+ * The HTML produced by the preceding step contains a list of filter links. The value of `app.TodoFilter`, which will be set by our router, is being used to apply the class 'selected' to the link corresponding to the currently selected filter. This will result in conditional CSS styling being applied to that filter.
+ * The allCheckbox is updated based on whether there are remaining todos.
+
+## Individual Todo View
+
+Now let’s look at the `TodoView` view. This will be in charge of individual Todo records, making sure the view updates when the todo does. To enable this functionality, we will add event listeners to the view that listen for events on an individual todo's HTML representation.
+
+```javascript
+
+ // js/views/todos.js
+
+ var app = app || {};
+
+ // Todo Item View
+ // --------------
+
+ // The DOM element for a todo item...
+ app.TodoView = Backbone.View.extend({
+
+ //... is a list tag.
+ tagName: 'li',
+
+ // Cache the template function for a single item.
+ template: _.template( $('#item-template').html() ),
+
+ // The DOM events specific to an item.
+ events: {
+ 'dblclick label': 'edit',
+ 'keypress .edit': 'updateOnEnter',
+ 'blur .edit': 'close'
+ },
+
+ // The TodoView listens for changes to its model, re-rendering. Since there's
+ // a one-to-one correspondence between a **Todo** and a **TodoView** in this
+ // app, we set a direct reference on the model for convenience.
+ initialize: function() {
+ this.listenTo(this.model, 'change', this.render);
+ },
+
+ // Re-renders the titles of the todo item.
+ render: function() {
+ this.$el.html( this.template( this.model.toJSON() ) );
+ this.$input = this.$('.edit');
+ return this;
+ },
+
+ // Switch this view into `"editing"` mode, displaying the input field.
+ edit: function() {
+ this.$el.addClass('editing');
+ this.$input.focus();
+ },
+
+ // Close the `"editing"` mode, saving changes to the todo.
+ close: function() {
+ var value = this.$input.val().trim();
+
+ if ( value ) {
+ this.model.save({ title: value });
+ }
+
+ this.$el.removeClass('editing');
+ },
+
+ // If you hit `enter`, we're through editing the item.
+ updateOnEnter: function( e ) {
+ if ( e.which === ENTER_KEY ) {
+ this.close();
+ }
+ }
+ });
+
+```
+
+In the `initialize()` constructor, we set up a listener that monitors a todo model’s `change` event. As a result, when the todo gets updated, the application will re-render the view and visually reflect its changes. Note that the model passed in the arguments hash by our AppView is automatically available to us as `this.model`.
+
+In the `render()` method, we render our Underscore.js `#item-template`, which was previously compiled into this.template using Underscore’s `_.template()` method. This returns an HTML fragment that replaces the content of the view's element (an li element was implicitly created for us based on the `tagName` property). In other words, the rendered template is now present under `this.el` and can be appended to the todo list in the user interface. `render()` finishes by caching the input element within the instantiated template into `this.input`.
+
+Our events hash includes three callbacks:
+
+* `edit()`: changes the current view into editing mode when a user double-clicks on an existing item in the todo list. This allows them to change the existing value of the item’s title attribute.
+* `updateOnEnter()`: checks that the user has hit the return/enter key and executes the close() function.
+* `close()`: trims the value of the current text in our `` field, ensuring that we don’t process it further if it does not contain any text (e.g ‘’). If a valid value has been provided, we save the changes to the current todo model and close editing mode by removing the corresponding CSS class.
+
+## Startup
+
+So now we have two views: `AppView` and `TodoView`. The former needs to be instantiated on page load so its code gets executed. This can be accomplished through jQuery's `ready()` utility, which will execute a function when the DOM is loaded.
+
+```javascript
+
+ // js/app.js
+
+ var app = app || {};
+ var ENTER_KEY = 13;
+
+ $(function() {
+
+ // Kick things off by creating the **App**.
+ new app.AppView();
+
+ });
+
+```
+
+## In action
+
+Let's pause and ensure that the work we've done so far functions as intended.
+
+If you are following along, open `file://*path*/index.html` in your browser and monitor its console. If all is well, you shouldn't see any JavaScript errors other than regarding the router.js file that we haven't created yet. The todo list should be blank as we haven't yet created any todos. Plus, there is some additional work we'll need to do before the user interface fully functions.
+
+However, a few things can be tested through the JavaScript console.
+
+In the console, add a new todo item: `app.Todos.create({ title: 'My first Todo item'});` and hit return.
+
+![](img/todos_d.png)
+
+If all is functioning properly, this should log the new todo we've just added to the todos collection. The newly created todo is also saved to Local Storage and will be available on page refresh.
+
+`app.Todos.create()` executes a collection method (`Collection.create(attributes, [options])`) which instantiates a new model item of the type passed into the collection definition, in our case `app.Todo`:
+
+```javascript
+
+ // from our js/collections/todos.js
+
+ var TodoList = Backbone.Collection.extend({
+
+ model: app.Todo // the model type used by collection.create() to instantiate new model in the collection
+ ...
+ )};
+
+```
+
+Run the following in the console to check it out:
+
+```javascript
+var secondTodo = app.Todos.create({ title: 'My second Todo item'});
+secondTodo instanceof app.Todo // returns true
+```
+
+Now refresh the page and we should be able to see the fruits of our labour.
+
+The todos added through the console should still appear in the list since they are populated from the Local Storage. Also, we should be able to create a new todo by typing a title and pressing enter.
+
+![](img/todos_b.png)
+
+Excellent, we're making great progress, but what about completing and deleting todos?
+
+## Completing & deleting todos
+
+
+The next part of our tutorial is going to cover completing and deleting todos. These two actions are specific to each Todo item, so we need to add this functionality to the TodoView view. We will do so by adding `togglecompleted()` and `clear()` methods along with corresponding entries in the `events` hash.
+
+```javascript
+
+ // js/views/todos.js
+
+ var app = app || {};
+
+ // Todo Item View
+ // --------------
+
+ // The DOM element for a todo item...
+ app.TodoView = Backbone.View.extend({
+
+ //... is a list tag.
+ tagName: 'li',
+
+ // Cache the template function for a single item.
+ template: _.template( $('#item-template').html() ),
+
+ // The DOM events specific to an item.
+ events: {
+ 'click .toggle': 'togglecompleted', // NEW
+ 'dblclick label': 'edit',
+ 'click .destroy': 'clear', // NEW
+ 'keypress .edit': 'updateOnEnter',
+ 'blur .edit': 'close'
+ },
+
+ // The TodoView listens for changes to its model, re-rendering. Since there's
+ // a one-to-one correspondence between a **Todo** and a **TodoView** in this
+ // app, we set a direct reference on the model for convenience.
+ initialize: function() {
+ this.listenTo(this.model, 'change', this.render);
+ this.listenTo(this.model, 'destroy', this.remove); // NEW
+ this.listenTo(this.model, 'visible', this.toggleVisible); // NEW
+ },
+
+ // Re-render the titles of the todo item.
+ render: function() {
+ this.$el.html( this.template( this.model.toJSON() ) );
+
+ this.$el.toggleClass( 'completed', this.model.get('completed') ); // NEW
+ this.toggleVisible(); // NEW
+
+ this.$input = this.$('.edit');
+ return this;
+ },
+
+ // NEW - Toggles visibility of item
+ toggleVisible : function () {
+ this.$el.toggleClass( 'hidden', this.isHidden());
+ },
+
+ // NEW - Determines if item should be hidden
+ isHidden : function () {
+ var isCompleted = this.model.get('completed');
+ return ( // hidden cases only
+ (!isCompleted && app.TodoFilter === 'completed')
+ || (isCompleted && app.TodoFilter === 'active')
+ );
+ },
+
+ // NEW - Toggle the `"completed"` state of the model.
+ togglecompleted: function() {
+ this.model.toggle();
+ },
+
+ // Switch this view into `"editing"` mode, displaying the input field.
+ edit: function() {
+ this.$el.addClass('editing');
+ this.$input.focus();
+ },
+
+ // Close the `"editing"` mode, saving changes to the todo.
+ close: function() {
+ var value = this.$input.val().trim();
+
+ if ( value ) {
+ this.model.save({ title: value });
+ } else {
+ this.clear(); // NEW
+ }
+
+ this.$el.removeClass('editing');
+ },
+
+ // If you hit `enter`, we're through editing the item.
+ updateOnEnter: function( e ) {
+ if ( e.which === ENTER_KEY ) {
+ this.close();
+ }
+ },
+
+ // NEW - Remove the item, destroy the model from *localStorage* and delete its view.
+ clear: function() {
+ this.model.destroy();
+ }
+ });
+
+```
+
+The key part of this is the two event handlers we've added, a togglecompleted event on the todo's checkbox, and a click event on the todo's `` button.
+
+Let's look at the events that occur when we click the checkbox for a todo item:
+
+1. The `togglecompleted()` function is invoked which calls `toggle()` on the todo model.
+2. `toggle()` toggles the completed status of the todo and calls `save()` on the model.
+3. The save generates a `change` event on the model which is bound to our TodoView's `render()` method. We've added a statement in `render()` which toggles the completed class on the element depending
+on the model's completed state. The associated CSS changes the color of the title text and strikes a line through it when the todo is completed.
+4. The save also results in a `change:completed` event on the model which is handled by the AppView's `filterOne()` method. If we look back at the AppView, we see that filterOne() will trigger a `visible` event on the model. This is used in conjunction with the filtering in our routes and collections so that we only display an item if its completed state falls in line with the current filter. In our update to the TodoView, we bound the model's visible event to the `toggleVisible()` method. This method uses the new `isHidden()` method to determine if the todo should be visible and updates it accordingly.
+
+Now let's look at what happens when we click on a todo's destroy button:
+
+1. The `clear()` method is invoked which calls `destroy()` on the todo model.
+2. The todo is deleted from local storage and a `destroy` event is triggered.
+3. In our update to the TodoView, we bound the model's `destroy` event to the view's inherited `remove()` method. This method deletes the view and automatically removes the associated element from the DOM. Since we used `listenTo()` to bind the view's listeners to its model, `remove()` also unbinds the listening callbacks from the model ensuring that a memory leak does not occur.
+4. `destroy()` also removes the model from the Todos collection, which triggers a `remove` event on the collection.
+5. Since the AppView has its `render()` method bound to `all` events on the Todos collection, that view is rendered and the stats in the footer are updated.
+
+That's all there is to it!
+
+If you want to see an example of those, see the [complete source](https://github.com/addyosmani/todomvc/tree/gh-pages/architecture-examples/backbone).
+
+## Todo routing
+
+Finally, we move on to routing, which will allow us to easily filter the list of items that are active as well as those which have been completed. We’ll be supporting the following routes:
+
+```
+#/ (all - default)
+#/active
+#/completed
+```
+
+![](img/todos_e.png)
+
+When the route changes, the todo list will be filtered on a model level and the selected class on the filter links in the footer will be toggled as described above. When an item is updated while a filter is active it will be updated accordingly (e.g., if the filter is active and the item is checked, it will be hidden). The active filter is persisted on reload.
+
+```javascript
+
+ // js/routers/router.js
+
+ // Todo Router
+ // ----------
+
+ var Workspace = Backbone.Router.extend({
+ routes:{
+ '*filter': 'setFilter'
+ },
+
+ setFilter: function( param ) {
+ // Set the current filter to be used
+ if (param) {
+ param = param.trim();
+ }
+ app.TodoFilter = param || '';
+
+ // Trigger a collection filter event, causing hiding/unhiding
+ // of Todo view items
+ app.Todos.trigger('filter');
+ }
+ });
+
+ app.TodoRouter = new Workspace();
+ Backbone.history.start();
+
+```
+
+Our router uses a *splat to set up a default route which passes the string after '#/' in the URL to `setFilter()` which sets `app.TodoFilter` to that string.
+
+As we can see in the line `app.Todos.trigger('filter')`, once the filter has been set, we simply trigger 'filter' on our Todos collection to toggle which items are visible and which are hidden. Recall that our AppView's `filterAll()` method is bound to the collection's filter event and that any event on the collection will cause the AppView to re-render.
+
+Finally, we create an instance of our router and call `Backbone.history.start()` to route the initial URL during page load.
+
+## Summary
+
+We’ve now built our first complete Backbone.js application. The latest version of the full app can be viewed online at any time and the sources are readily available via [TodoMVC](http://www.todomvc.com).
+
+Later on in the book, we’ll learn how to further modularize this application using RequireJS, swap out our persistence layer to a database back-end, and finally unit test the application with a few different testing frameworks.
diff --git a/chapters/05-exercise-2.md b/chapters/05-exercise-2.md
new file mode 100644
index 00000000..182fa242
--- /dev/null
+++ b/chapters/05-exercise-2.md
@@ -0,0 +1,970 @@
+# Exercise 2: Book Library - Your First RESTful Backbone.js App
+
+While our first application gave us a good taste of how Backbone.js applications are made, most real-world applications will want to communicate with a back-end of some sort. Let's reinforce what we have already learned with another example, but this time we will also create a RESTful API for our application to talk to.
+
+In this exercise we will build a library application for managing digital books using Backbone. For each book we will store the title, author, date of release, and some keywords. We'll also show a picture of the cover.
+
+
+##Setting up
+
+First we need to create a folder structure for our project. To keep the front-end and back-end separate, we will create a folder called *site* for our client in the project root. Within it we will create css, img, and js directories.
+
+As with the last example we will split our JavaScript files by their function, so under the js directory create folders named lib, models, collections, and views. Your directory hierarchy should look like this:
+
+```
+site/
+ css/
+ img/
+ js/
+ collections/
+ lib/
+ models/
+ views/
+```
+
+Download the Backbone, Underscore, and jQuery libraries and copy them to your js/lib folder. We need a placeholder image for the book covers. Save this image to your site/img folder:
+
+![](img/placeholder.png)
+
+Just like before we need to load all of our dependencies in the site/index.html file:
+
+```html
+
+
+
+
+ Backbone.js Library
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+We should also add in the HTML for the user interface. We'll want a form for adding a new book so add the following immediately inside the `body` element:
+
+```html
+
+
+
+```
+
+and we'll need a template for displaying each book which should be placed before the `script` tags:
+
+```html
+
+```
+
+To see what this will look like with some data in it, go ahead and add a manually filled-in book to the *books* div.
+
+```html
+
+
+
+
Title
+
Author
+
Release Date
+
Keywords
+
+
+
+
+```
+
+Open this file in a browser and it should look something like this:
+
+![](img/chapter5-1.png)
+
+Not so great. This is not a CSS tutorial, but we still need to do some formatting. Create a file named screen.css in your site/css folder:
+
+```css
+body {
+ background-color: #eee;
+}
+
+.bookContainer {
+ outline: 1px solid #aaa;
+ width: 350px;
+ height: 130px;
+ background-color: #fff;
+ float: left;
+ margin: 5px;
+}
+
+.bookContainer img {
+ float: left;
+ margin: 10px;
+}
+
+.bookContainer ul {
+ list-style-type: none;
+ margin-bottom: 0;
+}
+
+.bookContainer button {
+ float: right;
+ margin: 10px;
+}
+
+#addBook label {
+ width: 100px;
+ margin-right: 10px;
+ text-align: right;
+ line-height: 25px;
+}
+
+#addBook label, #addBook input {
+ display: block;
+ margin-bottom: 10px;
+ float: left;
+}
+
+#addBook label[for="title"], #addBook label[for="releaseDate"] {
+ clear: both;
+}
+
+#addBook button {
+ display: block;
+ margin: 5px 20px 10px 10px;
+ float: right;
+ clear: both;
+}
+
+#addBook div {
+ width: 550px;
+}
+
+#addBook div:after {
+ content: "";
+ display: block;
+ height: 0;
+ visibility: hidden;
+ clear: both;
+ font-size: 0;
+ line-height: 0;
+}
+```
+
+Now it looks a bit better:
+
+![](img/chapter5-2.png)
+
+So this is what we want the final result to look like, but with more books. Go ahead and copy the bookContainer div a few more times if you would like to see what it looks like. Now we are ready to start developing the actual application.
+
+#### Creating the Model, Collection, Views, and App
+
+First, we'll need a model of a book and a collection to hold the list. These are both very simple, with the model only declaring some defaults:
+
+```javascript
+// site/js/models/book.js
+
+var app = app || {};
+
+app.Book = Backbone.Model.extend({
+ defaults: {
+ coverImage: 'img/placeholder.png',
+ title: 'No title',
+ author: 'Unknown',
+ releaseDate: 'Unknown',
+ keywords: 'None'
+ }
+});
+```
+
+```javascript
+// site/js/collections/library.js
+
+var app = app || {};
+
+app.Library = Backbone.Collection.extend({
+ model: app.Book
+});
+```
+
+Next, in order to display books we'll need a view:
+
+```javascript
+// site/js/views/book.js
+
+var app = app || {};
+
+app.BookView = Backbone.View.extend({
+ tagName: 'div',
+ className: 'bookContainer',
+ template: _.template( $( '#bookTemplate' ).html() ),
+
+ render: function() {
+ //this.el is what we defined in tagName. use $el to get access to jQuery html() function
+ this.$el.html( this.template( this.model.toJSON() ) );
+
+ return this;
+ }
+});
+```
+
+We'll also need a view for the list itself:
+
+```javascript
+// site/js/views/library.js
+
+var app = app || {};
+
+app.LibraryView = Backbone.View.extend({
+ el: '#books',
+
+ initialize: function( initialBooks ) {
+ this.collection = new app.Library( initialBooks );
+ this.render();
+ },
+
+ // render library by rendering each book in its collection
+ render: function() {
+ this.collection.each(function( item ) {
+ this.renderBook( item );
+ }, this );
+ },
+
+ // render a book by creating a BookView and appending the
+ // element it renders to the library's element
+ renderBook: function( item ) {
+ var bookView = new app.BookView({
+ model: item
+ });
+ this.$el.append( bookView.render().el );
+ }
+});
+```
+
+Note that in the initialize function we accept an array of data that we pass to the app.Library constructor. We'll use this to populate our collection with some sample data so that we can see everything is working correctly. Finally, we have the entry point for our code, along with the sample data:
+
+```javascript
+// site/js/app.js
+
+var app = app || {};
+
+$(function() {
+ var books = [
+ { title: 'JavaScript: The Good Parts', author: 'Douglas Crockford', releaseDate: '2008', keywords: 'JavaScript Programming' },
+ { title: 'The Little Book on CoffeeScript', author: 'Alex MacCaw', releaseDate: '2012', keywords: 'CoffeeScript Programming' },
+ { title: 'Scala for the Impatient', author: 'Cay S. Horstmann', releaseDate: '2012', keywords: 'Scala Programming' },
+ { title: 'American Psycho', author: 'Bret Easton Ellis', releaseDate: '1991', keywords: 'Novel Splatter' },
+ { title: 'Eloquent JavaScript', author: 'Marijn Haverbeke', releaseDate: '2011', keywords: 'JavaScript Programming' }
+ ];
+
+ new app.LibraryView( books );
+});
+```
+
+Our app just passes the sample data to a new instance of app.LibraryView that it creates. Since the `initialize()` constructor in LibraryView invokes the view's `render()` method, all the books in the library will be displayed. Since we are passing our entry point as a callback to jQuery (in the form of its $ alias), the function will execute when the DOM is ready.
+
+If you view index.html in a browser you should see something like this:
+
+![](img/chapter5-3.png)
+
+This is a complete Backbone application, though it doesn't yet do anything interesting.
+
+##Wiring in the interface
+
+Now we'll add some functionality to the useless form at the top and the delete buttons on each book.
+
+###Adding models
+
+When the user clicks the add button we want to take the data in the form and use it to create a new model. In the LibraryView we need to add an event handler for the click event:
+
+```javascript
+events:{
+ 'click #add':'addBook'
+},
+
+addBook: function( e ) {
+ e.preventDefault();
+
+ var formData = {};
+
+ $( '#addBook div' ).children( 'input' ).each( function( i, el ) {
+ if( $( el ).val() != '' )
+ {
+ formData[ el.id ] = $( el ).val();
+ }
+ });
+
+ this.collection.add( new app.Book( formData ) );
+},
+```
+
+We select all the input elements of the form that have a value and iterate over them using jQuery's each. Since we used the same names for ids in our form as the keys on our Book model we can simply store them directly in the formData object. We then create a new Book from the data and add it to the collection. We skip fields without a value so that the defaults will be applied.
+
+Backbone passes an event object as a parameter to the event-handling function. This is useful for us in this case since we don't want the form to actually submit and reload the page. Adding a call to `preventDefault` on the event in the `addBook` function takes care of this for us.
+
+Now we just need to make the view render again when a new model is added. To do this, we put
+
+```javascript
+this.listenTo( this.collection, 'add', this.renderBook );
+```
+
+in the initialize function of LibraryView.
+
+Now you should be ready to take the application for a spin.
+
+![](img/chapter5-4.png)
+
+You may notice that the file input for the cover image isn’t working, but that is left as an exercise to the reader.
+
+###Removing models
+
+Next, we need to wire up the delete button. Set up the event handler in the BookView:
+
+```javascript
+ events: {
+ 'click .delete': 'deleteBook'
+ },
+
+ deleteBook: function() {
+ //Delete model
+ this.model.destroy();
+
+ //Delete view
+ this.remove();
+ },
+```
+
+You should now be able to add and remove books from the library.
+
+##Creating the back-end
+
+Now we need to make a small detour and set up a server with a REST api. Since this is a JavaScript book we will use JavaScript to create the server using node.js. If you are more comfortable in setting up a REST server in another language, this is the API you need to conform to:
+
+```
+url HTTP Method Operation
+/api/books GET Get an array of all books
+/api/books/:id GET Get the book with id of :id
+/api/books POST Add a new book and return the book with an id attribute added
+/api/books/:id PUT Update the book with id of :id
+/api/books/:id DELETE Delete the book with id of :id
+```
+
+The outline for this section looks like this:
+
+* Install node.js, npm, and MongoDB
+* Install node modules
+* Create a simple web server
+* Connect to the database
+* Create the REST API
+
+###Install node.js, npm, and MongoDB
+
+Download and install node.js from nodejs.org. The node package manager (npm) will be installed as well.
+
+Download and install MongoDB from mongodb.org. There are detailed installation guides [on the website](http://docs.mongodb.org/manual/installation/).
+
+###Install node modules
+
+Create a file called `package.json` in the root of your project. It should look like
+
+```javascript
+{
+ "name": "backbone-library",
+ "version": "0.0.1",
+ "description": "A simple library application using Backbone",
+ "dependencies": {
+ "express": "~3.1.0",
+ "path": "~0.4.9",
+ "mongoose": "~3.5.5"
+ }
+}
+
+```
+
+Amongst other things, this file tells npm what the dependencies are for our project. On the command line, from the root of your project, type:
+
+```sh
+npm install
+```
+
+You should see npm fetch the dependencies that we listed in our package.json and save them within a folder called node_modules.
+
+Your folder structure should look something like this:
+
+```
+node_modules/
+ .bin/
+ express/
+ mongoose/
+ path/
+site/
+ css/
+ img/
+ js/
+ index.html
+package.json
+```
+
+###Create a simple web server
+
+Create a file named server.js in the project root containing the following code:
+
+```javascript
+// Module dependencies.
+var application_root = __dirname,
+ express = require( 'express' ), //Web framework
+ path = require( 'path' ), //Utilities for dealing with file paths
+ mongoose = require( 'mongoose' ); //MongoDB integration
+
+//Create server
+var app = express();
+
+// Configure server
+app.configure( function() {
+ //parses request body and populates request.body
+ app.use( express.bodyParser() );
+
+ //checks request.body for HTTP method overrides
+ app.use( express.methodOverride() );
+
+ //perform route lookup based on url and HTTP method
+ app.use( app.router );
+
+ //Where to serve static content
+ app.use( express.static( path.join( application_root, 'site') ) );
+
+ //Show all errors in development
+ app.use( express.errorHandler({ dumpExceptions: true, showStack: true }));
+});
+
+//Start server
+var port = 4711;
+app.listen( port, function() {
+ console.log( 'Express server listening on port %d in %s mode', port, app.settings.env );
+});
+```
+
+We start off by loading the modules required for this project: Express for creating the HTTP server, Path for dealing with file paths, and mongoose for connecting with the database. We then create an Express server and configure it using an anonymous function. This is a pretty standard configuration and for our application we don’t actually need the methodOverride part. It is used for issuing PUT and DELETE HTTP requests directly from a form, since forms normally only support GET and POST. Finally, we start the server by running the listen function. The port number used, in this case 4711, could be any free port on your system. I simply used 4711 since it is unlikely to have been used by anything else. We are now ready to run our first server:
+
+```javascript
+node server.js
+```
+
+If you open a browser on http://localhost:4711 you should see something like this:
+
+![](img/chapter5-5.png)
+
+This is where we left off in Part 2, but we are now running on a server instead of directly from the files. Great job! We can now start defining routes (URLs) that the server should react to. This will be our REST API. Routes are defined by using app followed by one of the HTTP verbs get, put, post, and delete, which corresponds to Create, Read, Update and Delete. Let us go back to server.js and define a simple route:
+
+```javascript
+// Routes
+app.get( '/api', function( request, response ) {
+ response.send( 'Library API is running' );
+});
+```
+
+The get function takes a URL as the first parameter and a function as the second. The function will be called with request and response objects. Now you can restart node and go to our specified URL:
+
+![](img/chapter5-6.png)
+
+###Connect to the database
+
+Fantastic. Now, since we want to store our data in MongoDB, we need to define a schema. Add this to server.js:
+
+```javascript
+//Connect to database
+mongoose.connect( 'mongodb://localhost/library_database' );
+
+//Schemas
+var Book = new mongoose.Schema({
+ title: String,
+ author: String,
+ releaseDate: Date
+});
+
+//Models
+var BookModel = mongoose.model( 'Book', Book );
+```
+
+As you can see, schema definitions are quite straight forward. They can be more advanced, but this will do for us. I also extracted a model (BookModel) from Mongo. This is what we will be working with. Next up, we define a GET operation for the REST API that will return all books:
+
+```javascript
+//Get a list of all books
+app.get( '/api/books', function( request, response ) {
+ return BookModel.find( function( err, books ) {
+ if( !err ) {
+ return response.send( books );
+ } else {
+ return console.log( err );
+ }
+ });
+});
+```
+
+The find function of Model is defined like this: `function find (conditions, fields, options, callback)` – but since we want a function that returns all books we only need the callback parameter. The callback will be called with an error object and an array of found objects. If there was no error we return the array of objects to the client using the `send` function of the response object, otherwise we log the error to the console.
+
+To test our API we need to do a little typing in a JavaScript console. Restart node and go to localhost:4711 in your browser. Open up the JavaScript console. If you are using Google Chrome, go to View->Developer->JavaScript Console. If you are using Firefox, install Firebug and go to View->Firebug. Most other browsers will have a similar console. In the console type the following:
+
+```javascript
+jQuery.get( '/api/books/', function( data, textStatus, jqXHR ) {
+ console.log( 'Get response:' );
+ console.dir( data );
+ console.log( textStatus );
+ console.dir( jqXHR );
+});
+```
+
+…and press enter and you should get something like this:
+
+![](img/chapter5-7.png)
+
+Here I used jQuery to make the call to our REST API, since it was already loaded on the page. The returned array is obviously empty, since we have not put anything into the database yet. Let's go and create a POST route that enables adding new items in server.js:
+
+```javascript
+//Insert a new book
+app.post( '/api/books', function( request, response ) {
+ var book = new BookModel({
+ title: request.body.title,
+ author: request.body.author,
+ releaseDate: request.body.releaseDate
+ });
+ book.save( function( err ) {
+ if( !err ) {
+ return console.log( 'created' );
+ } else {
+ return console.log( err );
+ }
+ });
+ return response.send( book );
+});
+```
+
+We start by creating a new BookModel, passing an object with title, author, and releaseDate attributes. The data are collected from request.body. This means that anyone calling this operation in the API needs to supply a JSON object containing the title, author, and releaseDate attributes. Actually, the caller can omit any or all attributes since we have not made any of them mandatory.
+
+We then call the save function on the BookModel passing in a callback in the same way as with the previous get route. Finally, we return the saved BookModel. The reason we return the BookModel and not just “success” or similar string is that when the BookModel is saved it will get an _id attribute from MongoDB, which the client needs when updating or deleting a specific book. Let's try it out again. Restart node and go back to the console and type:
+
+```javascript
+jQuery.post( '/api/books', {
+ 'title': 'JavaScript the good parts',
+ 'author': 'Douglas Crockford',
+ 'releaseDate': new Date( 2008, 4, 1 ).getTime()
+}, function(data, textStatus, jqXHR) {
+ console.log( 'Post response:' );
+ console.dir( data );
+ console.log( textStatus );
+ console.dir( jqXHR );
+});
+```
+
+..and then
+
+```javascript
+jQuery.get( '/api/books/', function( data, textStatus, jqXHR ) {
+ console.log( 'Get response:' );
+ console.dir( data );
+ console.log( textStatus );
+ console.dir( jqXHR );
+});
+```
+
+You should now get a one-element array back from our server. You may wonder about this line:
+
+```javascript
+'releaseDate': new Date(2008, 4, 1).getTime()
+```
+
+MongoDB expects dates in UNIX time format (milliseconds from the start of Jan 1st 1970 UTC), so we have to convert dates before posting. The object we get back however, contains a JavaScript Date object. Also note the _id attribute of the returned object.
+
+![](img/chapter5-8.png)
+
+
+Let's move on to creating a GET request that retrieves a single book in server.js:
+
+```javascript
+//Get a single book by id
+app.get( '/api/books/:id', function( request, response ) {
+ return BookModel.findById( request.params.id, function( err, book ) {
+ if( !err ) {
+ return response.send( book );
+ } else {
+ return console.log( err );
+ }
+ });
+});
+```
+
+Here we use colon notation (:id) to tell Express that this part of the route is dynamic. We also use the `findById` function on BookModel to get a single result. If you restart node, you can get a single book by adding the id previously returned to the URL like this:
+
+```javascript
+jQuery.get( '/api/books/4f95a8cb1baa9b8a1b000006', function( data, textStatus, jqXHR ) {
+ console.log( 'Get response:' );
+ console.dir( data );
+ console.log( textStatus );
+ console.dir( jqXHR );
+});
+```
+
+Let's create the PUT (update) function next:
+
+```javascript
+//Update a book
+app.put( '/api/books/:id', function( request, response ) {
+ console.log( 'Updating book ' + request.body.title );
+ return BookModel.findById( request.params.id, function( err, book ) {
+ book.title = request.body.title;
+ book.author = request.body.author;
+ book.releaseDate = request.body.releaseDate;
+
+ return book.save( function( err ) {
+ if( !err ) {
+ console.log( 'book updated' );
+ } else {
+ console.log( err );
+ }
+ return response.send( book );
+ });
+ });
+});
+```
+
+This is a little larger than previous ones, but is also pretty straight forward – we find a book by id, update its properties, save it, and send it back to the client.
+
+To test this we need to use the more general jQuery ajax function. Again, in these examples you will need to replace the id property with one that matches an item in your own database:
+
+```javascript
+jQuery.ajax({
+ url: '/api/books/4f95a8cb1baa9b8a1b000006',
+ type: 'PUT',
+ data: {
+ 'title': 'JavaScript The good parts',
+ 'author': 'The Legendary Douglas Crockford',
+ 'releaseDate': new Date( 2008, 4, 1 ).getTime()
+ },
+ success: function( data, textStatus, jqXHR ) {
+ console.log( 'Post response:' );
+ console.dir( data );
+ console.log( textStatus );
+ console.dir( jqXHR );
+ }
+});
+```
+
+Finally we create the delete route:
+
+```javascript
+//Delete a book
+app.delete( '/api/books/:id', function( request, response ) {
+ console.log( 'Deleting book with id: ' + request.params.id );
+ return BookModel.findById( request.params.id, function( err, book ) {
+ return book.remove( function( err ) {
+ if( !err ) {
+ console.log( 'Book removed' );
+ return response.send( '' );
+ } else {
+ console.log( err );
+ }
+ });
+ });
+});
+```
+
+…and try it out:
+
+```javascript
+jQuery.ajax({
+ url: '/api/books/4f95a5251baa9b8a1b000001',
+ type: 'DELETE',
+ success: function( data, textStatus, jqXHR ) {
+ console.log( 'Post response:' );
+ console.dir( data );
+ console.log( textStatus );
+ console.dir( jqXHR );
+ }
+});
+```
+
+So now our REST API is complete – we have support for all four HTTP verbs. What's next? Well, until now I have left out the keywords part of our books. This is a bit more complicated since a book could have several keywords and we don’t want to represent them as a string, but rather an array of strings. To do that we need another schema. Add a Keywords schema right above our Book schema:
+
+```javascript
+//Schemas
+var Keywords = new mongoose.Schema({
+ keyword: String
+});
+```
+
+To add a sub schema to an existing schema we use brackets notation like so:
+
+```javascript
+var Book = new mongoose.Schema({
+ title: String,
+ author: String,
+ releaseDate: Date,
+ keywords: [ Keywords ] // NEW
+});
+```
+
+Also update POST and PUT:
+
+```javascript
+//Insert a new book
+app.post( '/api/books', function( request, response ) {
+ var book = new BookModel({
+ title: request.body.title,
+ author: request.body.author,
+ releaseDate: request.body.releaseDate,
+ keywords: request.body.keywords // NEW
+ });
+ book.save( function( err ) {
+ if( !err ) {
+ return console.log( 'created' );
+ } else {
+ return console.log( err );
+ }
+ });
+ return response.send( book );
+});
+
+//Update a book
+app.put( '/api/books/:id', function( request, response ) {
+ console.log( 'Updating book ' + request.body.title );
+ return BookModel.findById( request.params.id, function( err, book ) {
+ book.title = request.body.title;
+ book.author = request.body.author;
+ book.releaseDate = request.body.releaseDate;
+ book.keywords = request.body.keywords; // NEW
+
+ return book.save( function( err ) {
+ if( !err ) {
+ console.log( 'book updated' );
+ } else {
+ console.log( err );
+ }
+ return response.send( book );
+ });
+ });
+});
+```
+
+There we are, that should be all we need, now we can try it out in the console:
+
+```javascript
+jQuery.post( '/api/books', {
+ 'title': 'Secrets of the JavaScript Ninja',
+ 'author': 'John Resig',
+ 'releaseDate': new Date( 2008, 3, 12 ).getTime(),
+ 'keywords':[
+ { 'keyword': 'JavaScript' },
+ { 'keyword': 'Reference' }
+ ]
+}, function( data, textStatus, jqXHR ) {
+ console.log( 'Post response:' );
+ console.dir( data );
+ console.log( textStatus );
+ console.dir( jqXHR );
+});
+```
+
+You now have a fully functional REST server that we can hook into from our front-end.
+
+##Talking to the server
+
+In this part we will cover connecting our Backbone application to the server through the REST API.
+
+As we mentioned in chapter 3 *Backbone Basics*, we can retrieve models from a server using `collection.fetch()` by setting `collection.url` to be the URL of the API endpoint. Let's update the Library collection to do that now:
+
+```javascript
+var app = app || {};
+
+app.Library = Backbone.Collection.extend({
+ model: app.Book,
+ url: '/api/books' // NEW
+});
+```
+
+This results in the default implementation of Backbone.sync assuming that the API looks like this:
+
+```
+url HTTP Method Operation
+/api/books GET Get an array of all books
+/api/books/:id GET Get the book with id of :id
+/api/books POST Add a new book and return the book with an id attribute added
+/api/books/:id PUT Update the book with id of :id
+/api/books/:id DELETE Delete the book with id of :id
+```
+
+To have our application retrieve the Book models from the server on page load we need to update the LibraryView. The Backbone documentation recommends inserting all models when the page is generated on the server side, rather than fetching them from the client side once the page is loaded. Since this chapter is trying to give you a more complete picture of how to communicate with a server, we will go ahead and ignore that recommendation. Go to the LibraryView declaration and update the initialize function as follows:
+
+```javascript
+initialize: function() {
+ this.collection = new app.Library();
+ this.collection.fetch({reset: true}); // NEW
+ this.render();
+
+ this.listenTo( this.collection, 'add', this.renderBook );
+ this.listenTo( this.collection, 'reset', this.render ); // NEW
+},
+```
+
+Now that we are populating our Library from the database using `this.collection.fetch()`, the `initialize()` function no longer takes a set of sample data as an argument and doesn't pass anything to the app.Library constructor. You can now remove the sample data from site/js/app.js, which should reduce it to a single statement which creates the LibraryView:
+
+```javascript
+// site/js/app.js
+
+var app = app || {};
+
+$(function() {
+ new app.LibraryView();
+});
+```
+
+We have also added a listener on the reset event. We need to do this since the models are fetched asynchronously after the page is rendered. When the fetch completes, Backbone fires the reset event, as requested by the `reset: true` option, and our listener re-renders the view. If you reload the page now you should see all books that are stored on the server:
+
+![](img/chapter5-9.png)
+
+As you can see the date and keywords look a bit weird. The date delivered from the server is converted into a JavaScript Date object and when applied to the underscore template it will use the toString() function to display it. There isn’t very good support for formatting dates in JavaScript so we will use the dateFormat jQuery plugin to fix this. Go ahead and download it from [here](http://github.com/phstc/jquery-dateFormat) and put it in your site/js/lib folder. Update the book template so that the date is displayed with:
+
+```html
+
<%= $.format.date( new Date( releaseDate ), 'MMMM yyyy' ) %>
+```
+
+and add a script element for the plugin
+
+```html
+
+```
+
+Now the date on the page should look a bit better. How about the keywords? Since we are receiving the keywords in an array we need to execute some code that generates a string of separated keywords. To do that we can omit the equals character in the template tag which will let us execute code that doesn’t display anything:
+
+```html
+
+```
+
+Here I iterate over the keywords array using the Underscore `each` function and print out every single keyword. Note that I display the keyword using the <%= tag. This will display the keywords with spaces between them.
+
+Reloading the page again should look quite decent:
+
+![](img/chapter5-10.png)
+
+Now go ahead and delete a book and then reload the page: Tadaa! the deleted book is back! Not cool, why is this? This happens because when we get the BookModels from the server they have an _id attribute (notice the underscore), but Backbone expects an id attribute (no underscore). Since no id attribute is present, Backbone sees this model as new and deleting a new model doesn’t need any synchronization.
+
+To fix this we can use the parse function of Backbone.Model. The parse function let's you edit the server response before it is passed to the Model constructor. Add a parse method to the Book model:
+
+```javascript
+parse: function( response ) {
+ response.id = response._id;
+ return response;
+}
+```
+
+Simply copy the value of _id to the needed id attribute. If you reload the page you will see that models are actually deleted on the server when you press the delete button.
+
+Another, simpler way of making Backbone recognize _id as its unique identifier is to set the idAttribute of the model to _id.
+
+If you now try to add a new book using the form you’ll notice that it is a similar story to delete – models won't get persisted on the server. This is because Backbone.Collection.add doesn’t automatically sync, but it is easy to fix. In the LibraryView we find in `views/library.js` change the line reading:
+
+```javascript
+this.collection.add( new Book( formData ) );
+```
+
+…to:
+
+```javascript
+this.collection.create( formData );
+```
+
+Now newly created books will get persisted. Actually, they probably won't if you enter a date. The server expects a date in UNIX timestamp format (milliseconds since Jan 1, 1970). Also, any keywords you enter won't be stored since the server expects an array of objects with the attribute ‘keyword’.
+
+We'll start by fixing the date issue. We don’t really want the users to manually enter a date in a specific format, so we’ll use the standard datepicker from jQuery UI. Go ahead and create a custom jQuery UI download containing datepicker from [here](http://jqueryui.com/download/). Add the css theme to site/css/ and the JavaScript to site/js/lib. Link to them in index.html:
+
+```html
+
+```
+
+"cupertino" is the name of the style I chose when downloading jQuery UI.
+
+The JavaScript file must be loaded after jQuery.
+
+```html
+
+
+```
+
+Now in app.js, bind a datepicker to our releaseDate field:
+
+```javascript
+var app = app || {};
+
+$(function() {
+ $( '#releaseDate' ).datepicker();
+ new app.LibraryView();
+});
+```
+
+You should now be able to pick a date when clicking in the releaseDate field:
+
+![](img/chapter5-11.png)
+
+Finally, we have to make sure that the form input is properly transformed into our storage format. Change the addBook function in LibraryView to:
+
+```javascript
+addBook: function( e ) {
+ e.preventDefault();
+
+ var formData = {};
+
+ $( '#addBook div' ).children( 'input' ).each( function( i, el ) {
+ if( $( el ).val() != '' )
+ {
+ if( el.id === 'keywords' ) {
+ formData[ el.id ] = [];
+ _.each( $( el ).val().split( ' ' ), function( keyword ) {
+ formData[ el.id ].push({ 'keyword': keyword });
+ });
+ } else if( el.id === 'releaseDate' ) {
+ formData[ el.id ] = $( '#releaseDate' ).datepicker( 'getDate' ).getTime();
+ } else {
+ formData[ el.id ] = $( el ).val();
+ }
+ }
+ // Clear input field value
+ $( el ).val('');
+ });
+
+ this.collection.create( formData );
+},
+
+```
+
+Our change adds two checks to the form input fields. First, we're checking if the current element is the keywords input field, in which case we're splitting the string on each space and creating an array of keyword objects.
+
+Then we're checking if the current element is the releaseDate input field, in which case we're calling `datePicker(“getDate”)` which returns a Date object. We then use the `getTime` function on that to get the time in milliseconds.
+
+Now you should be able to add new books with both a release date and keywords!
+
+![](img/chapter5-12.png)
+
+### Summary
+
+In this chapter we made our application persistent by binding it to a server using a REST API. We also looked at some problems that might occur when serializing and deserializing data and their solutions. We looked at the dateFormat and the datepicker jQuery plugins and how to do some more advanced things in our Underscore templates. The code is available [here](https://github.com/addyosmani/backbone-fundamentals/tree/gh-pages/practicals/exercise-2).
diff --git a/chapters/06-extensions.md b/chapters/06-extensions.md
new file mode 100644
index 00000000..2f2cd193
--- /dev/null
+++ b/chapters/06-extensions.md
@@ -0,0 +1,1125 @@
+# Backbone Extensions
+
+Backbone is flexible, simple, and powerful. However, you may find that the complexity of the application you are working on requires more than what it provides out of the box. There are certain concerns which it just doesn't address directly as one of it's goals is to be minimalist.
+
+Take for example Views, which provide a default `render` method which does nothing and produces no real results when called, despite most implementations using it to generate the HTML that the view manages. Also, Models and Collections have no built-in way of handling nested hierarchies - if you require this functionality, you need to write it yourself or use a plugin.
+
+In these cases, there are many existing Backbone plugins which can provide advanced solutions for large-scale Backbone apps. A fairly complete list of plugins and frameworks available can be found on the Backbone [wiki](https://github.com/documentcloud/backbone/wiki/Extensions%2C-Plugins%2C-Resources). Using these add-ons, there is enough for applications of most sizes to be completed successfully.
+
+In this section of the book we will look at two popular Backbone add-ons: MarionetteJS and Thorax.
+
+## MarionetteJS (Backbone.Marionette)
+
+*By Derick Bailey & Addy Osmani*
+
+As we've seen, Backbone provides a great set of building blocks for our JavaScript applications. It gives us the core constructs that are needed to build small to mid-sized apps, organize jQuery DOM events, or create single page apps that support mobile devices and large scale enterprise needs. But Backbone is not a complete framework. It's a set of building blocks that leaves much of the application design, architecture, and scalability to the developer, including memory management, view management, and more.
+
+[MarionetteJS](http://marionettejs.com) (a.k.a Backbone.Marionette) provides many of the features that the non-trivial application developer needs, above what Backbone itself provides. It is a composite application library that aims to simplify the construction of large scale applications. It does this by providing a collection of common design and implementation patterns found in the applications that the creator, [Derick Bailey](http://lostechies.com/derickbailey/), and many other [contributors](https://github.com/marionettejs/backbone.marionette/graphs/contributors) have been using to build Backbone apps.
+
+
+Marionette's key benefits include:
+
+* Scaling applications out with modular, event driven architecture
+* Sensible defaults, such as using Underscore templates for view rendering
+* Easy to modify to make it work with your application's specific needs
+* Reducing boilerplate for views, with specialized view types
+* Build on a modular architecture with an Application and modules that attach to it
+* Compose your application's visuals at runtime, with Region and Layout
+* Nested views and layouts within visual regions
+* Built-in memory management and zombie killing in views, regions, and layouts
+* Built-in event clean up with the EventBinder
+* Event-driven architecture with the EventAggregator
+* Flexible, "as-needed" architecture allowing you to pick and choose what you need
+* And much, much more
+
+Marionette follows a similar philosophy to Backbone in that it provides a suite of components that can be used independently of each other, or used together to create significant advantages for us as developers. But it steps above the structural components of Backbone and provides an application layer, with more than a dozen components and building blocks.
+
+Marionette's components range greatly in the features they provide, but they all work together to create a composite application layer that can both reduce boilerplate code and provide a much needed application structure. Its core components include various and specialized view types that take the boilerplate out of rendering common Backbone.Model and Backbone.Collection scenarios; an Application object and Module architecture to scale applications across sub-applications, features and files; integration of a command pattern, event aggregator, and request/response mechanism; and many more object types that can be extended in a myriad of ways to create an architecture that facilitates an application's specific needs.
+
+In spite of the large number of constructs that Marionette provides, though, you're not required to use all of it just because you want to use some of it. Much like Backbone itself, you can pick and choose which features you want to use and when. This allows you to work with other Backbone frameworks and plugins very easily. It also means that you are not required to engage in an all-or-nothing migration to begin using Marionette.
+
+### Boilerplate Rendering Code
+
+Consider the code that it typically requires to render a view with Backbone and Underscore template. We need a template to render, which can be placed in the DOM directly, and we need the JavaScript that defines a view that uses the template and populates it with data from a model.
+
+```
+
+```
+
+```javascript
+var MyView = Backbone.View.extend({
+ template: $('#my-view-template').html(),
+
+ render: function(){
+
+ // compile the Underscore.js template
+ var compiledTemplate = _.template(this.template);
+
+ // render the template with the model data
+ var data = this.model.toJSON();
+ var html = compiledTemplate(data);
+
+ // populate the view with the rendered html
+ this.$el.html(html);
+ }
+});
+```
+
+Once this is in place, you need to create an instance of your view and pass your model into it. Then you can take the view's `el` and append it to the DOM in order to display the view.
+
+```javascript
+var Derick = new Person({
+ firstName: 'Derick',
+ lastName: 'Bailey',
+ email: 'derickbailey@example.com'
+});
+
+var myView = new MyView({
+ model: Derick
+})
+
+myView.render();
+
+$('#content').html(myView.el)
+```
+
+This is a standard set up for defining, building, rendering, and displaying a view with Backbone. This is also what we call "boilerplate code" - code that is repeated over and over and over again, across every project and every implementation with the same functionality. It gets to be tedious and repetitious very quickly.
+
+Enter Marionette's `ItemView` - a simple way to reduce the boilerplate of defining a view.
+
+### Reducing Boilerplate With Marionette.ItemView
+
+All of Marionette's view types - with the exception of `Marionette.View` - include a built-in `render` method that handles the core rendering logic for you. We can take advantage of this by changing the `MyView` instance to inherit from one of these rather than `Backbone.View`. Instead of having to provide our own `render` method for the view, we can let Marionette render it for us. We'll still use the same Underscore.js template and rendering mechanism, but the implementation of this is hidden behind the scenes. Thus, we can reduce the amount of code needed for this view.
+
+
+```javascript
+var MyView = Marionette.ItemView.extend({
+ template: '#my-view-template'
+});
+```
+
+And that's it - that's all you need to get the exact same behaviour as the previous view implementation. Just replace `Backbone.View.extend` with `Marionette.ItemView.extend`, then get rid of the `render` method. You can still create the view instance with a `model`, call the `render` method on the view instance, and display the view in the DOM the same way that we did before. But the view definition has been reduced to a single line of configuration for the template.
+
+### Memory Management
+
+In addition to the reduction of code needed to define a view, Marionette includes some advanced memory management in all of its views, making the job of cleaning up a view instance and it's event handlers easy.
+
+Consider the following view implementation:
+
+```javascript
+var ZombieView = Backbone.View.extend({
+ template: '#my-view-template',
+
+ initialize: function(){
+
+ // bind the model change to re-render this view
+ this.model.on('change', this.render, this);
+
+ },
+
+ render: function(){
+
+ // This alert is going to demonstrate a problem
+ alert('We`re rendering the view');
+
+ }
+});
+```
+
+If we create two instances of this view using the same variable name for both instances, and then change a value in the model, how many times will we see the alert box?
+
+
+```javascript
+
+var Person = Backbone.Model.extend({
+ defaults: {
+ "firstName": "Jeremy",
+ "lastName": "Ashkenas",
+ "email": "jeremy@example.com"
+ }
+});
+
+var Derick = new Person({
+ firstName: 'Derick',
+ lastName: 'Bailey',
+ email: 'derick@example.com'
+});
+
+
+// create the first view instance
+var zombieView = new ZombieView({
+ model: Derick
+});
+
+// create a second view instance, re-using
+// the same variable name to store it
+zombieView = new ZombieView({
+ model: Derick
+});
+
+Derick.set('email', 'derickbailey@example.com');
+```
+
+Since we're re-using the same `zombieView` variable for both instances, the first instance of the view will fall out of scope immediately after the second is created. This allows the JavaScript garbage collector to come along and clean it up, which should mean the first view instance is no longer active and no longer going to respond to the model's "change" event.
+
+But when we run this code, we end up with the alert box showing up twice!
+
+The problem is caused by the model event binding in the view's `initialize` method. Whenever we pass `this.render` as the callback method to the model's `on` event binding, the model itself is being given a direct reference to the view instance. Since the model is now holding a reference to the view instance, replacing the `zombieView` variable with a new view instance is not going to let the original view fall out of scope. The model still has a reference, therefore the view is still in scope.
+
+Since the original view is still in scope, and the second view instance is also in scope, changing data on the model will cause both view instances to respond.
+
+Fixing this is easy, though. You just need to call `stopListening` when the view is done with its work and ready to be closed. To do this, add a `close` method to the view.
+
+```javascript
+var ZombieView = Backbone.View.extend({
+ template: '#my-view-template',
+
+ initialize: function(){
+ // bind the model change to re-render this view
+ this.listenTo(this.model, 'change', this.render);
+ },
+
+ close: function(){
+ // unbind the events that this view is listening to
+ this.stopListening();
+ },
+
+ render: function(){
+
+ // This alert is going to demonstrate a problem
+ alert('We`re rendering the view');
+
+ }
+});
+```
+
+Then call `close` on the first instance when it is no longer needed, and only one view instance will remain alive. For more information about the `listenTo` and `stopListening` functions, see the earlier Backbone Basics chapter and Derick's post on [Managing Events As Relationships, Not Just Resources](http://lostechies.com/derickbailey/2013/02/06/managing-events-as-relationships-not-just-references/).
+
+```javascript
+var Jeremy = new Person({
+ firstName: 'Jeremy',
+ lastName: 'Ashkenas',
+ email: 'jeremy@example.com'
+});
+
+// create the first view instance
+var zombieView = new ZombieView({
+ model: Person
+})
+zombieView.close(); // double-tap the zombie
+
+// create a second view instance, re-using
+// the same variable name to store it
+zombieView = new ZombieView({
+ model: Person
+})
+
+Person.set('email', 'jeremyashkenas@example.com');
+```
+
+Now we only see one alert box when this code runs.
+
+Rather than having to manually remove these event handlers, though, we can let Marionette do it for us.
+
+```javascript
+var ZombieView = Marionette.ItemView.extend({
+ template: '#my-view-template',
+
+ initialize: function(){
+
+ // bind the model change to re-render this view
+ this.listenTo(this.model, 'change', this.render);
+
+ },
+
+ render: function(){
+
+ // This alert is going to demonstrate a problem
+ alert('We`re rendering the view');
+
+ }
+});
+```
+
+Notice in this case we are using a method called `listenTo`. This method comes from Backbone.Events, and is available in all objects that mix in Backbone.Events - including most Marionette objects. The `listenTo` method signature is similar to that of the `on` method, with the exception of passing the object that triggers the event as the first parameter.
+
+Marionette's views also provide a `close` event, in which the event bindings that are set up with the `listenTo` are automatically removed. This means we no longer need to define a `close` method directly, and when we use the `listenTo` method, we know that our events will be removed and our views will not turn into zombies.
+
+But how do we automate the call to `close` on a view, in the real application? When and where do we call that? Enter the `Marionette.Region` - an object that manages the lifecycle of an individual view.
+
+### Region Management
+
+After a view is created, it typically needs to be placed in the DOM so that it becomes visible. This is usually done with a jQuery selector and setting the `html()` of the resulting object:
+
+```javascript
+var Joe = new Person({
+ firstName: 'Joe',
+ lastName: 'Bob',
+ email: 'joebob@example.com'
+});
+
+var myView = new MyView({
+ model: Joe
+})
+
+myView.render();
+
+// show the view in the DOM
+$('#content').html(myView.el)
+```
+
+This, again, is boilerplate code. We shouldn't have to manually call `render` and manually select the DOM elements to show the view. Furthermore, this code doesn't lend itself to closing any previous view instance that might be attached to the DOM element we want to populate. And we've seen the danger of zombie views already.
+
+To solve these problems, Marionette provides a `Region` object - an object that manages the lifecycle of individual views, displayed in a particular DOM element.
+
+```javascript
+// create a region instance, telling it which DOM element to manage
+var myRegion = new Marionette.Region({
+ el: '#content'
+});
+
+// show a view in the region
+var view1 = new MyView({ /* ... */ });
+myRegion.show(view1);
+
+// somewhere else in the code,
+// show a different view
+var view2 = new MyView({ /* ... */ });
+myRegion.show(view2);
+```
+
+There are several things to note, here. First, we're telling the region what DOM element to manage by specifying an `el` in the region instance. Second, we're no longer calling the `render` method on our views. And lastly, we're not calling `close` on our view, either, though this is getting called for us.
+
+When we use a region to manage the lifecycle of our views, and display the views in the DOM, the region itself handles these concerns. By passing a view instance into the `show` method of the region, it will call the render method on the view for us. It will then take the resulting `el` of the view and populate the DOM element.
+
+The next time we call the `show` method of the region, the region remembers that it is currently displaying a view. The region calls the `close` method on the view, removes it from the DOM, and then proceeds to run the render & display code for the new view that was passed in.
+
+Since the region handles calling `close` for us, and we're using the `listenTo` event binder in our view instance, we no longer have to worry about zombie views in our application.
+
+Regions are not limited to just Marionette views, though. Any valid Backbone.View can be managed by a Marionette.Region. If your view happens to have a `close` method, it will be called when the view is closed. If not, the Backbone.View built-in method, `remove`, will be called instead.
+
+### Marionette Todo app
+
+Having learned about Marionette's high-level concepts, let's explore refactoring the Todo application we created in our first exercise to use it. The complete code for this application can be found in Derick's TodoMVC [fork](https://github.com/derickbailey/todomvc/tree/marionette/labs/architecture-examples/backbone_marionette/js).
+
+Our final implementation will be visually and functionally equivalent to the original app, as seen below.
+
+![](img/marionette_todo0.png)
+
+First, we define an application object representing our base TodoMVC app. This will contain initialization code and define the default layout regions for our app.
+
+**TodoMVC.js:**
+
+```javascript
+var TodoMVC = new Backbone.Marionette.Application();
+
+TodoMVC.addRegions({
+ header : '#header',
+ main : '#main',
+ footer : '#footer'
+});
+
+TodoMVC.on('initialize:after', function(){
+ Backbone.history.start();
+});
+```
+
+Regions are used to manage the content that's displayed within specific elements, and the `addRegions` method on the `TodoMVC` object is just a shortcut for creating `Region` objects. We supply a jQuery selector for each region to manage (e.g., `#header`, `#main`, and `#footer`) and then tell the region to show various Backbone views within that region.
+
+Once the application object has been initialized, we call `Backbone.history.start()` to route the initial URL.
+
+Next, we define our Layouts. A layout is a specialized type of view that directly extends `Marionette.ItemView`. This means it's intended to render a single template and may or may not have a model (or `item`) associated with the template.
+
+One of the main differences between a Layout and an `ItemView` is that the layout contains regions. When defining a Layout, we supply it with both a `template` and the regions that the template contains. After rendering the layout, we can display other views within the layout using the regions that were defined.
+
+In our TodoMVC Layout module below, we define Layouts for:
+
+* Header: where we can create new Todos
+* Footer: where we summarize how many Todos are remaining/have been completed
+
+
+This captures some of the view logic that was previously in our `AppView` and `TodoView`.
+
+Note that Marionette modules (such as the below) offer a simple module system which is used to create privacy and encapsulation in Marionette apps. These certainly don't have to be used however, and later on in this section we'll provide links to alternative implementations using RequireJS + AMD instead.
+
+
+**TodoMVC.Layout.js:**
+
+```javascript
+TodoMVC.module('Layout', function(Layout, App, Backbone, Marionette, $, _){
+
+ // Layout Header View
+ // ------------------
+
+ Layout.Header = Marionette.ItemView.extend({
+ template : '#template-header',
+
+ // UI bindings create cached attributes that
+ // point to jQuery selected objects
+ ui : {
+ input : '#new-todo'
+ },
+
+ events : {
+ 'keypress #new-todo': 'onInputKeypress'
+ },
+
+ onInputKeypress : function(evt) {
+ var ENTER_KEY = 13;
+ var todoText = this.ui.input.val().trim();
+
+ if ( evt.which === ENTER_KEY && todoText ) {
+ this.collection.create({
+ title : todoText
+ });
+ this.ui.input.val('');
+ }
+ }
+ });
+
+ // Layout Footer View
+ // ------------------
+
+
+ Layout.Footer = Marionette.Layout.extend({
+ template : '#template-footer',
+
+ // UI bindings create cached attributes that
+ // point to jQuery selected objects
+ ui : {
+ count : '#todo-count strong',
+ filters : '#filters a'
+ },
+
+ events : {
+ 'click #clear-completed' : 'onClearClick'
+ },
+
+ initialize : function() {
+ this.listenTo(App.vent, 'todoList:filter', this.updateFilterSelection);
+ this.listenTo(this.collection, 'all', this.updateCount);
+ },
+
+ onRender : function() {
+ this.updateCount();
+ },
+
+ updateCount : function() {
+ var count = this.collection.getActive().length;
+ this.ui.count.html(count);
+
+ if (count === 0) {
+ this.$el.parent().hide();
+ } else {
+ this.$el.parent().show();
+ }
+ },
+
+ updateFilterSelection : function(filter) {
+ this.ui.filters
+ .removeClass('selected')
+ .filter('[href="#' + filter + '"]')
+ .addClass('selected');
+ },
+
+ onClearClick : function() {
+ var completed = this.collection.getCompleted();
+ completed.forEach(function destroy(todo) {
+ todo.destroy();
+ });
+ }
+ });
+
+});
+
+```
+
+Next, we tackle application routing and workflow, such as controlling Layouts in the page which can be shown or hidden.
+
+Recall how Backbone routes trigger methods within the Router as shown below in our original Workspace router from our first exercise:
+
+```javascript
+ var Workspace = Backbone.Router.extend({
+ routes:{
+ '*filter': 'setFilter'
+ },
+
+ setFilter: function( param ) {
+ // Set the current filter to be used
+ window.app.TodoFilter = param.trim() || '';
+
+ // Trigger a collection filter event, causing hiding/unhiding
+ // of Todo view items
+ window.app.Todos.trigger('filter');
+ }
+ });
+
+```
+
+Marionette uses the concept of an AppRouter to simplify routing. This reduces the boilerplate for handling route events and allows routers to be configured to call methods on an object directly. We configure our AppRouter using `appRoutes` which replaces the `'*filter': 'setFilter'` route defined in our original router and invokes a method on our Controller.
+
+The TodoList Controller, also found in this next code block, handles some of the remaining visibility logic originally found in `AppView` and `TodoView`, albeit using very readable Layouts.
+
+**TodoMVC.TodoList.js:**
+
+```javascript
+TodoMVC.module('TodoList', function(TodoList, App, Backbone, Marionette, $, _){
+
+ // TodoList Router
+ // ---------------
+ //
+ // Handle routes to show the active vs complete todo items
+
+ TodoList.Router = Marionette.AppRouter.extend({
+ appRoutes : {
+ '*filter': 'filterItems'
+ }
+ });
+
+ // TodoList Controller (Mediator)
+ // ------------------------------
+ //
+ // Control the workflow and logic that exists at the application
+ // level, above the implementation detail of views and models
+
+ TodoList.Controller = function(){
+ this.todoList = new App.Todos.TodoList();
+ };
+
+ _.extend(TodoList.Controller.prototype, {
+
+ // Start the app by showing the appropriate views
+ // and fetching the list of todo items, if there are any
+ start: function(){
+ this.showHeader(this.todoList);
+ this.showFooter(this.todoList);
+ this.showTodoList(this.todoList);
+
+ this.todoList.fetch();
+ },
+
+ showHeader: function(todoList){
+ var header = new App.Layout.Header({
+ collection: todoList
+ });
+ App.header.show(header);
+ },
+
+ showFooter: function(todoList){
+ var footer = new App.Layout.Footer({
+ collection: todoList
+ });
+ App.footer.show(footer);
+ },
+
+ showTodoList: function(todoList){
+ App.main.show(new TodoList.Views.ListView({
+ collection : todoList
+ }));
+ },
+
+ // Set the filter to show complete or all items
+ filterItems: function(filter){
+ App.vent.trigger('todoList:filter', filter.trim() || '');
+ }
+ });
+
+ // TodoList Initializer
+ // --------------------
+ //
+ // Get the TodoList up and running by initializing the mediator
+ // when the the application is started, pulling in all of the
+ // existing Todo items and displaying them.
+
+ TodoList.addInitializer(function(){
+
+ var controller = new TodoList.Controller();
+ new TodoList.Router({
+ controller: controller
+ });
+
+ controller.start();
+
+ });
+
+});
+
+```
+
+####Controllers
+
+In this particular app, note that Controllers don't add a great deal to the overall workflow. In general, Marionette's philosophy on routers is that they should be an afterthought in the implementation of applications. Quite often, we've seen developers abuse Backbone's routing system by making it the sole controller of the entire application workflow and logic.
+
+This inevitably leads to mashing every possible combination of code into the router methods - view creation, model loading, coordinating different parts of the app, etc. Developers such as Derick view this as a violation of the [single-responsibility principle](http://en.wikipedia.org/wiki/Single_responsibility_principle) (SRP) and separation of concerns.
+
+
+Backbone's router and history exist to deal with a specific aspect of browsers - managing the forward and back buttons. Marionette's philosophy is that it should be limited to that, with the code that gets executed by the navigation being somewhere else. This allows the application to be used with or without a router. We can call a controller's "show" method from a button click, from an application event handler, or from a router, and we will end up with the same application state no matter how we called that method.
+
+Derick has written extensively about his thoughts on this topic, which you can read more about on his blog:
+
+* [http://lostechies.com/derickbailey/2011/12/27/the-responsibilities-of-the-various-pieces-of-backbone-js/](http://lostechies.com/derickbailey/2011/12/27/the-responsibilities-of-the-various-pieces-of-backbone-js/)
+* [http://lostechies.com/derickbailey/2012/01/02/reducing-backbone-routers-to-nothing-more-than-configuration/](http://lostechies.com/derickbailey/2012/01/02/reducing-backbone-routers-to-nothing-more-than-configuration/)
+* [http://lostechies.com/derickbailey/2012/02/06/3-stages-of-a-backbone-applications-startup/](http://lostechies.com/derickbailey/2012/02/06/3-stages-of-a-backbone-applications-startup/)
+
+#### CompositeView
+
+Our next task is defining the actual views for individual Todo items and lists of items in our TodoMVC application. For this, we make use of Marionette's `CompositeView`s. The idea behind a CompositeView is that it represents a visualization of a composite or hierarchical structure of leaves (or nodes) and branches.
+
+Think of these views as being a hierarchy of parent-child models, and recursive by default. The same CompositeView type will be used to render each item in a collection that is handled by the composite view. For non-recursive hierarchies, we are able to override the item view by defining an `itemView` attribute.
+
+For our Todo List Item View, we define it as an ItemView, then our Todo List View is a CompositeView where we override the `itemView` setting and tell it to use the Todo List item View for each item in the collection.
+
+
+TodoMVC.TodoList.Views.js
+
+```javascript
+TodoMVC.module('TodoList.Views', function(Views, App, Backbone, Marionette, $, _){
+
+ // Todo List Item View
+ // -------------------
+ //
+ // Display an individual todo item, and respond to changes
+ // that are made to the item, including marking completed.
+
+ Views.ItemView = Marionette.ItemView.extend({
+ tagName : 'li',
+ template : '#template-todoItemView',
+
+ ui : {
+ edit : '.edit'
+ },
+
+ events : {
+ 'click .destroy' : 'destroy',
+ 'dblclick label' : 'onEditClick',
+ 'keypress .edit' : 'onEditKeypress',
+ 'click .toggle' : 'toggle'
+ },
+
+ initialize : function() {
+ this.listenTo(this.model, 'change', this.render);
+ },
+
+ onRender : function() {
+ this.$el.removeClass('active completed');
+ if (this.model.get('completed')) this.$el.addClass('completed');
+ else this.$el.addClass('active');
+ },
+
+ destroy : function() {
+ this.model.destroy();
+ },
+
+ toggle : function() {
+ this.model.toggle().save();
+ },
+
+ onEditClick : function() {
+ this.$el.addClass('editing');
+ this.ui.edit.focus();
+ },
+
+ onEditKeypress : function(evt) {
+ var ENTER_KEY = 13;
+ var todoText = this.ui.edit.val().trim();
+
+ if ( evt.which === ENTER_KEY && todoText ) {
+ this.model.set('title', todoText).save();
+ this.$el.removeClass('editing');
+ }
+ }
+ });
+
+ // Item List View
+ // --------------
+ //
+ // Controls the rendering of the list of items, including the
+ // filtering of active vs completed items for display.
+
+ Views.ListView = Marionette.CompositeView.extend({
+ template : '#template-todoListCompositeView',
+ itemView : Views.ItemView,
+ itemViewContainer : '#todo-list',
+
+ ui : {
+ toggle : '#toggle-all'
+ },
+
+ events : {
+ 'click #toggle-all' : 'onToggleAllClick'
+ },
+
+ initialize : function() {
+ this.listenTo(this.collection, 'all', this.update);
+ },
+
+ onRender : function() {
+ this.update();
+ },
+
+ update : function() {
+ function reduceCompleted(left, right) { return left && right.get('completed'); }
+ var allCompleted = this.collection.reduce(reduceCompleted,true);
+ this.ui.toggle.prop('checked', allCompleted);
+
+ if (this.collection.length === 0) {
+ this.$el.parent().hide();
+ } else {
+ this.$el.parent().show();
+ }
+ },
+
+ onToggleAllClick : function(evt) {
+ var isChecked = evt.currentTarget.checked;
+ this.collection.each(function(todo){
+ todo.save({'completed': isChecked});
+ });
+ }
+ });
+
+ // Application Event Handlers
+ // --------------------------
+ //
+ // Handler for filtering the list of items by showing and
+ // hiding through the use of various CSS classes
+
+ App.vent.on('todoList:filter',function(filter) {
+ filter = filter || 'all';
+ $('#todoapp').attr('class', 'filter-' + filter);
+ });
+
+});
+
+```
+
+At the end of the last code block, you will also notice an event handler using `vent`. This is an event aggregator that allows us to handle `filterItem` triggers from our TodoList controller.
+
+Finally, we define the model and collection for representing our Todo items. These are semantically not very different from the original versions we used in our first exercise and have been re-written to better fit in with Derick's preferred style of coding.
+
+**Todos.js:**
+
+```javascript
+TodoMVC.module('Todos', function(Todos, App, Backbone, Marionette, $, _){
+
+ // Todo Model
+ // ----------
+
+ Todos.Todo = Backbone.Model.extend({
+ localStorage: new Backbone.LocalStorage('todos-backbone'),
+
+ defaults: {
+ title : '',
+ completed : false,
+ created : 0
+ },
+
+ initialize : function() {
+ if (this.isNew()) this.set('created', Date.now());
+ },
+
+ toggle : function() {
+ return this.set('completed', !this.isCompleted());
+ },
+
+ isCompleted: function() {
+ return this.get('completed');
+ }
+ });
+
+ // Todo Collection
+ // ---------------
+
+ Todos.TodoList = Backbone.Collection.extend({
+ model: Todos.Todo,
+
+ localStorage: new Backbone.LocalStorage('todos-backbone'),
+
+ getCompleted: function() {
+ return this.filter(this._isCompleted);
+ },
+
+ getActive: function() {
+ return this.reject(this._isCompleted);
+ },
+
+ comparator: function( todo ) {
+ return todo.get('created');
+ },
+
+ _isCompleted: function(todo){
+ return todo.isCompleted();
+ }
+ });
+
+});
+
+```
+
+We finally kick-start everything off in our application index file, by calling `start` on our main application object:
+
+Initialization:
+
+```javascript
+ $(function(){
+ // Start the TodoMVC app (defined in js/TodoMVC.js)
+ TodoMVC.start();
+ });
+```
+
+And that's it!
+
+### Is the Marionette implementation of the Todo app more maintainable?
+
+Derick feels that maintainability largely comes down to modularity, separating responsibilities (Single Responsibility Principle and Separation of Concerns) by using patterns to keep concerns from being mixed together. It can, however, be difficult to simply extract things into separate modules for the sake of extraction, abstraction, or dividing the concept down into its simplest parts.
+
+The Single Responsibility Principle (SRP) tells us quite the opposite - that we need to understand the context in which things change. What parts always change together, in _this_ system? What parts can change independently? Without knowing this, we won't know what pieces should be broken out into separate components and modules versus put together into the same module or object.
+
+The way Derick organizes his apps into modules is by creating a breakdown of concepts at each level. A higher level module is a higher level of concern - an aggregation of responsibilities. Each responsibility is broken down into an expressive API set that is implemented by lower level modules (Dependency Inversion Principle). These are coordinated through a mediator - which he typically refers to as the Controller in a module.
+
+
+The way Derick organizes his files also plays directly into maintainability and he has also written posts about the importance of keeping a sane application folder structure that I recommend reading:
+
+* [http://lostechies.com/derickbailey/2012/02/02/javascript-file-folder-structures-just-pick-one/](http://lostechies.com/derickbailey/2012/02/02/javascript-file-folder-structures-just-pick-one/)
+* [http://hilojs.codeplex.com/discussions/362875#post869640](http://hilojs.codeplex.com/discussions/362875#post869640)
+
+### Marionette And Flexibility
+
+Marionette is a flexible framework, much like Backbone itself. It offers a wide variety of tools to help create and organize an application architecture on top of Backbone, but like Backbone itself, it doesn't dictate that you have to use all of its pieces in order to use any of them.
+
+The flexibility and versatility in Marionette is easiest to understand by examining three variations of TodoMVC implemented with it that have been created for comparison purposes:
+
+* [Simple](https://github.com/jsoverson/todomvc/tree/master/labs/architecture-examples/backbone_marionette) - by Jarrod Overson
+* [RequireJS](https://github.com/jsoverson/todomvc/tree/master/labs/dependency-examples/backbone_marionette_require) - also by Jarrod
+* [Marionette modules](https://github.com/derickbailey/todomvc/tree/marionette/labs/architecture-examples/backbone_marionette/js) - by Derick Bailey
+
+**The simple version**: This version of TodoMVC shows some raw use of Marionette's various view types, an application object, and the event aggregator. The objects that are created are added directly to the global namespace and are fairly straightforward. This is a great example of how Marionette can be used to augment existing code without having to re-write everything around Marionette.
+
+**The RequireJS version**: Using Marionette with RequireJS helps to create a modularized application architecture - a tremendously important concept in scaling JavaScript applications. RequireJS provides a powerful set of tools that can be leveraged to great advantage, making Marionette even more flexible than it already is.
+
+**The Marionette module version**: RequireJS isn't the only way to create a modularized application architecture, though. For those that wish to build applications in modules and namespaces, Marionette provides a built-in module and namespacing structure. This example application takes the simple version of the application and re-writes it into a namespaced application architecture, with an application controller (mediator / workflow object) that brings all of the pieces together.
+
+Marionette certainly provides its share of opinions on how a Backbone application should be architected. The combination of modules, view types, event aggregator, application objects, and more, can be used to create a very powerful and flexible architecture based on these opinions.
+
+But as you can see, Marionette isn't a completely rigid, "my way or the highway" framework. It provides many elements of an application foundation that can be mixed and matched with other architectural styles, such as AMD or namespacing, or provide simple augmentation to existing projects by reducing boilerplate code for rendering views.
+
+
+This flexibility creates a much greater opportunity for Marionette to provide value to you and your projects, as it allows you to scale the use of Marionette with your application's needs.
+
+### And So Much More
+
+This is just the tip of the proverbial iceberg for Marionette, even for the `ItemView` and `Region` objects that we've explored. There is far more functionality, more features, and more flexibility and customizability that can be put to use in both of these objects. Then we have the other dozen or so components that Marionette provides, each with their own set of behaviors built in, customization and extension points, and more.
+
+To learn more about Marionette's components, the features they provide and how to use them, check out the Marionette documentation, links to the wiki, to the source code, the project core contributors, and much more at [http://marionettejs.com](http://marionettejs.com).
+
+
+
+
+
+
+
+## Thorax
+
+*By Ryan Eastridge & Addy Osmani*
+
+Part of Backbone's appeal is that it provides structure but is generally un-opinionated, in particular when it comes to views. Thorax makes an opinionated decision to use Handlebars as its templating solution. Some of the patterns found in Marionette are found in Thorax as well. Marionette exposes most of these patterns as JavaScript APIs while in Thorax they are often exposed as template helpers. This chapter assumes the reader has knowledge of Handlebars.
+
+
+Thorax was created by Ryan Eastridge and Kevin Decker to create Walmart's mobile web application. This chapter is limited to Thorax's templating features and patterns implemented in Thorax that you can utilize in your application regardless of whether you choose to adopt Thorax. To learn more about other features implemented in Thorax and to download boilerplate projects visit the [Thorax website](http://thoraxjs.org).
+
+### Hello World
+
+In Backbone, when creating a new view, options passed are merged into any default options already present on a view and are exposed via `this.options` for later reference.
+
+`Thorax.View` differs from `Backbone.View` in that there is no `options` object. All arguments passed to the constructor become properties of the view, which in turn become available to the `template`:
+
+```javascript
+ var view = new Thorax.View({
+ greeting: 'Hello',
+ template: Handlebars.compile('{{greeting}} World!')
+ });
+ view.appendTo('body');
+```
+
+In most examples in this chapter a `template` property will be specified. In larger projects including the boilerplate projects provided on the Thorax website a `name` property would instead be used and a `template` of the same file name in your project would automatically be assigned to the view.
+
+ If a `model` is set on a view, its attributes also become available to the template:
+
+ var view = new Thorax.View({
+ model: new Thorax.Model({key: 'value'}),
+ template: Handlebars.compile('{{key}}')
+ });
+
+### Embedding child views
+
+The view helper allows you to embed other views within a view. Child views can be specified as properties of the view:
+
+```javascript
+ var parent = new Thorax.View({
+ child: new Thorax.View(...),
+ template: Handlebars.compile('{{view child}}')
+ });
+```
+
+Or the name of a child view to initialize as well as any optional properties you wish to pass. In this case the child view must have previously been created with `extend` and given a `name` property:
+
+```javascript
+ var ChildView = Thorax.View.extend({
+ name: 'child',
+ template: ...
+ });
+
+ var parent = new Thorax.View({
+ template: Handlebars.compile('{{view "child" key="value"}}')
+ });
+```
+
+The view helper may also be used as a block helper, in which case the block will be assigned as the `template` property of the child view:
+
+```handlebars
+ {{#view child}}
+ child will have this block
+ set as its template property
+ {{/view}}
+```
+
+Handlebars is string based, while `Backbone.View` instances have a DOM `el`. Since we are mixing metaphors, the embedding of views works via a placeholder mechanism where the `view` helper in this case adds the view passed to the helper to a hash of `children`, then injects placeholder HTML into the template such as:
+
+```html
+
+```
+
+Then once the parent view is rendered, we walk the DOM in search of all the placeholders we created, replacing them with the child views' `el`s:
+
+```javascript
+ this.$el.find('[data-view-placeholder-cid]').forEach(function(el) {
+ var cid = el.getAttribute('data-view-placeholder-cid'),
+ view = this.children[cid];
+ view.render();
+ $(el).replaceWith(view.el);
+ }, this);
+```
+
+### View helpers
+
+One of the most useful constructs in Thorax is `Handlebars.registerViewHelper` (not to be confused with `Handlebars.registerHelper`). This method will register a new block helper that will create and embed a `HelperView` instance with its `template` set to the captured block. A `HelperView` instance is different from that of a regular child view in that its context will be that of the parent's in the template. Like other child views it will have a `parent` property set to that of the declaring view. Many of the built-in helpers in Thorax including the `collection` helper are created in this manner.
+
+A simple example would be an `on` helper that re-rendered the generated `HelperView` instance each time an event was triggered on the declaring / parent view:
+
+ Handlebars.registerViewHelper('on', function(eventName, helperView) {
+ helperView.parent.on(eventName, function() {
+ helperView.render();
+ });
+ });
+
+An example use of this would be to have a counter that would increment each time a button was clicked. This example makes use of the `button` helper in Thorax which simply makes a button that calls a method when clicked:
+
+```handlebars
+ {{#on "incremented"}}{{i}}{/on}}
+ {{#button trigger="incremented"}}Add{{/button}}
+```
+
+And the corresponding view class:
+
+```javascript
+ new Thorax.View({
+ events: {
+ incremented: function() {
+ ++this.i;
+ }
+ },
+ initialize: function() {
+ this.i = 0;
+ },
+ template: ...
+ });
+```
+
+### collection helper
+
+The `collection` helper creates and embeds a `CollectionView` instance, creating a view for each item in a collection, updating when items are added, removed, or changed in the collection. The simplest usage of the helper would look like:
+
+```handlebars
+ {{#collection kittens}}
+
{{name}}
+ {{/collection}}
+```
+
+And the corresponding view:
+
+```javascript
+ new Thorax.View({
+ kittens: new Thorax.Collection(...),
+ template: ...
+ });
+```
+
+The block in this case will be assigned as the `template` for each item view created, and the context will be the `attributes` of the given model. This helper accepts options that can be arbitrary HTML attributes, a `tag` option to specify the type of tag containing the collection, or any of the following:
+
+- `item-template` - A template to display for each model. If a block is specified it will become the item-template
+- `item-view` - A view class to use when each item view is created
+- `empty-template` - A template to display when the collection is empty. If an inverse / else block is specified it will become the empty-template
+- `empty-view` - A view to display when the collection is empty
+
+Options and blocks can be used in combination, in this case creating a `KittenView` class with a `template` set to the captured block for each kitten in the collection:
+
+```handlebars
+ {{#collection kittens item-view="KittenView" tag="ul"}}
+
{{name}}
+ {{else}}
+
No kittens!
+ {{/collection}}
+```
+
+Note that multiple collections can be used per view, and collections can be nested. This is useful when there are models that contain collections that contain models that contain...
+
+```handlebars
+ {{#collection kittens}}
+
{{name}}
+
Kills:
+ {{#collection miceKilled tag="ul"}}
+
{{name}}
+ {{/collection}}
+ {{/collection}}
+```
+
+### Custom HTML data attributes
+
+Thorax makes heavy use of custom HTML data attributes to operate. While some make sense only within the context of Thorax, several are quite useful to have in any Backbone project for writing other functions against, or for general debugging. In order to add some to your views in non-Thorax projects, override the `setElement` method in your base view class:
+
+```javascript
+ MyApplication.View = Backbone.View.extend({
+ setElement: function() {
+ var response = Backbone.View.prototype.setElement.apply(this, arguments);
+ this.name && this.$el.attr('data-view-name', this.name);
+ this.$el.attr('data-view-cid', this.cid);
+ this.collection && this.$el.attr('data-collection-cid', this.collection.cid);
+ this.model && this.$el.attr('data-model-cid', this.model.cid);
+ return response;
+ }
+ });
+```
+
+In addition to making your application more immediately comprehensible in the inspector, it's now possible to extend jQuery / Zepto with functions to lookup the closest view, model or collection to a given element. In order to make it work you have to save references to each view created in your base view class by overriding the `_configure` method:
+
+
+```javascript
+ MyApplication.View = Backbone.View.extend({
+ _configure: function() {
+ Backbone.View.prototype._configure.apply(this, arguments);
+ Thorax._viewsIndexedByCid[this.cid] = this;
+ },
+ dispose: function() {
+ Backbone.View.prototype.dispose.apply(this, arguments);
+ delete Thorax._viewsIndexedByCid[this.cid];
+ }
+ });
+```
+
+Then we can extend jQuery / Zepto:
+
+```javascript
+ $.fn.view = function() {
+ var el = $(this).closest('[data-view-cid]');
+ return el && Thorax._viewsIndexedByCid[el.attr('data-view-cid')];
+ };
+
+ $.fn.model = function(view) {
+ var $this = $(this),
+ modelElement = $this.closest('[data-model-cid]'),
+ modelCid = modelElement && modelElement.attr('[data-model-cid]');
+ if (modelCid) {
+ var view = $this.view();
+ return view && view.model;
+ }
+ return false;
+ };
+```
+
+Now instead of storing references to models randomly throughout your application to lookup when a given DOM event occurs you can use `$(element).model()`. In Thorax, this can particularly useful in conjunction with the `collection` helper which generates a view class (with a `model` property) for each `model` in the collection. An example template:
+
+```handlebars
+ {{#collection kittens tag="ul"}}
+
{{name}}
+ {{/collection}}
+```
+
+And the corresponding view class:
+
+```javascript
+ Thorax.View.extend({
+ events: {
+ 'click li': function(event) {
+ var kitten = $(event.target).model();
+ console.log('Clicked on ' + kitten.get('name'));
+ }
+ },
+ kittens: new Thorax.Collection(...),
+ template: ...
+ });
+```
+
+A common anti-pattern in Backbone applications is to assign a `className` to a single view class. Consider using the `data-view-name` attribute as a CSS selector instead, saving CSS classes for things that will be used multiple times:
+
+
+```css
+ [data-view-name="child"] {
+
+ }
+```
+
+### Thorax Resources
+
+No Backbone related tutorial would be complete without a todo application. A [Thorax implementation of TodoMVC](http://todomvc.com/labs/architecture-examples/thorax/) is available, in addition to this far simpler example composed of this single Handlebars template:
+
+
+```handlebars
+ {{#collection todos tag="ul"}}
+
+
+ {{item}}
+
+ {{/collection}}
+
+```
+
+and the corresponding JavaScript:
+
+```javascript
+ var todosView = Thorax.View({
+ todos: new Thorax.Collection(),
+ events: {
+ 'change input[type="checkbox"]': function(event) {
+ var target = $(event.target);
+ target.model().set({done: !!target.attr('checked')});
+ },
+ 'submit form': function(event) {
+ event.preventDefault();
+ var input = this.$('input[type="text"]');
+ this.todos.add({item: input.val()});
+ input.val('');
+ }
+ },
+ template: '...'
+ });
+ todosView.appendTo('body');
+```
+
+To see Thorax in action on a large scale website visit walmart.com on any Android or iOS device. For a complete list of resources visit the [Thorax website](http://thoraxjs.org).
+
+
diff --git a/chapters/07-common-problems.md b/chapters/07-common-problems.md
new file mode 100644
index 00000000..a4b3afc1
--- /dev/null
+++ b/chapters/07-common-problems.md
@@ -0,0 +1,1049 @@
+# Common Problems & Solutions
+
+In this section, we will review a number of common problems developers often experience once they've started to work on relatively non-trivial projects using Backbone.js, as well as present potential solutions.
+
+Perhaps the most frequent of these questions surround how to do more with Views. If you are interested in discovering how to work with nested Views, learn about view disposal and inheritance, this section will hopefully have you covered.
+
+
+#### Working With Nested Views
+
+**Problem**
+
+What is the best approach for rendering and appending nested Views (or Subviews) in Backbone.js?
+
+**Solution 1**
+
+Since pages are composed of nested elements and Backbone views correspond to elements within the page, nesting views is an intuitive approach to managing a hierarchy of elements.
+
+The best way to combine views is simply using:
+
+```
+this.$('.someContainer').append(innerView.el);
+```
+
+which just relies on jQuery. We could use this in a real example as follows:
+
+```javascript
+...
+initialize : function () {
+ //...
+},
+
+render : function () {
+
+ this.$el.empty();
+
+ this.innerView1 = new Subview({options});
+ this.innerView2 = new Subview({options});
+
+ this.$('.inner-view-container')
+ .append(this.innerView1.el)
+ .append(this.innerView2.el);
+}
+```
+
+**Solution 2**
+
+Beginners sometimes also try using `setElement` to solve this problem, however keep in mind that using this method is an easy way to shoot yourself in the foot. Avoid using this approach when the first solution is a viable option:
+
+
+```javascript
+
+// Where we have previously defined a View, SubView
+// in a parent View we could do:
+
+...
+initialize : function () {
+
+ this.innerView1 = new Subview({options});
+ this.innerView2 = new Subview({options});
+},
+
+render : function () {
+
+ this.$el.html(this.template());
+
+ this.innerView1.setElement('.some-element1').render();
+ this.innerView2.setElement('.some-element2').render();
+}
+```
+
+Here we are creating subviews in the parent view's `initialize()` method and rendering the subviews in the parent's `render()` method. The elements managed by the subviews exist in the parent's template and the `View.setElement()` method is used to re-assign the element associated with each subview.
+
+`setElement()` changes a view's element, including re-delegating event handlers by removing them from the old element and binding them to the new element. Note that `setElement()` returns the view, allowing us to chain the call to `render()`.
+
+This works and has some positive qualities: you don't need to worry about maintaining the order of your DOM elements when appending, views are initialized early, and the render() method doesn't need to take on too many responsibilities at once.
+
+Unfortunately, downsides are that you can't set the `tagName` property of subviews and events need to be re-delegated. The first solution doesn't suffer from this problem.
+
+
+**Solution 3**
+
+One more possible solution to this problem could be written:
+
+```javascript
+
+var OuterView = Backbone.View.extend({
+ initialize: function() {
+ this.inner = new InnerView();
+ },
+
+ render: function() {
+ this.$el.html(template); // or this.$el.empty() if you have no template
+ this.$el.append(this.inner.$el);
+ this.inner.render();
+ }
+});
+
+var InnerView = Backbone.View.extend({
+ render: function() {
+ this.$el.html(template);
+ this.delegateEvents();
+ }
+});
+
+```
+
+This tackles a few specific design decisions:
+
+* The order in which you append the sub-elements matters
+* The OuterView doesn't contain the HTML elements to be set in the InnerView(s), meaning that we can still specify tagName in the InnerView
+* render() is called after the InnerView element has been placed into the DOM. This is useful if your InnerView's render() method is sizing itself on the page based on the dimensions of another element. This is a common use case.
+
+Note that InnerView needs to call `View.delegateEvents()` to bind its event handlers to its new DOM since it is replacing the content of its element.
+
+**Solution 4**
+
+A better solution, which is more clean but has the potential to affect performance is:
+
+```javascript
+
+var OuterView = Backbone.View.extend({
+ initialize: function() {
+ this.render();
+ },
+
+ render: function() {
+ this.$el.html(template); // or this.$el.empty() if you have no template
+ this.inner = new InnerView();
+ this.$el.append(this.inner.$el);
+ }
+});
+
+var InnerView = Backbone.View.extend({
+ initialize: function() {
+ this.render();
+ },
+
+ render: function() {
+ this.$el.html(template);
+ }
+});
+```
+
+If multiple views need to be nested at particular locations in a template, a hash of child views indexed by child view cids' should be created. In the template, use a custom HTML attribute named `data-view-cid` to create placeholder elements for each view to embed. Once the template has been rendered and its output appended to the parent view's `$el`, each placeholder can be queried for and replaced with the child view's `el`.
+
+A sample implementation containing a single child view could be written:
+
+```javascript
+
+var OuterView = Backbone.View.extend({
+ initialize: function() {
+ this.children = {};
+ this.child = new Backbone.View();
+ this.children[this.child.cid] = this.child;
+ },
+
+ render: function() {
+ this.$el.html('');
+ _.each(this.children, function(view, cid) {
+ this.$('[data-view-cid="' + cid + '"]').replaceWith(view.el);
+ }, this);
+ }
+};
+
+```
+
+The use of `cid`s (client ids) here is useful because it illustrates separating a model and its views by having views referenced by their instances and not their attributes. It's quite common to ask for all views that satisfy an attribute on their models, but if you have recursive subviews or repeated views (a common occurrance), you can't simply ask for views by attributes. That is, unless you specify additional attributes that separate duplicates. Using `cid`s solves this problem as it allows for direct references to views.
+
+
+Generally speaking, more developers opt for Solution 1 or 5 as:
+
+* The majority of their views may already rely on being in the DOM in their render() method
+* When the OuterView is re-rendered, views don't have to be re-initialized where re-initialization has the potential to cause memory leaks and issues with existing bindings
+
+The Backbone extensions [Marionette](#marionette) and [Thorax](#thorax) provide logic for nesting views, and rendering collections where each item has an associated view. Marionette provides APIs in JavaScript while Thorax provides APIs via Handlebars template helpers. We will examine both of these in an upcoming chapter.
+
+(Thanks to [Lukas](http://stackoverflow.com/users/299189/lukas) and [Ian Taylor](http://stackoverflow.com/users/154765/ian-storm-taylor) for these tips).
+
+#### Managing Models In Nested Views
+
+**Problem**
+
+What is the best way to manage models in nested views?
+
+**Solution**
+
+In order to reach attributes on related models in a nested setup, models require some prior knowledge of each other, something which Backbone doesn't implicitly handle out of the box.
+
+One approach is to make sure each child model has a 'parent' attribute. This way you can traverse the nesting first up to the parent and then down to any siblings that you know of. So, assuming we have models modelA, modelB and modelC:
+
+```javascript
+
+// When initializing modelA, I would suggest setting a link to the parent
+// model when doing this, like this:
+
+ModelA = Backbone.Model.extend({
+
+ initialize: function(){
+ this.modelB = new modelB();
+ this.modelB.parent = this;
+ this.modelC = new modelC();
+ this.modelC.parent = this;
+ }
+}
+```
+
+This allows you to reach the parent model in any child model function through `this.parent`.
+
+Now, we have already discussed a few options for how to construct nested Views using Backbone. For the sake of simplicity, let us imagine that we are creating a new child view `ViewB` from within the `initialize()` method of `ViewA` below. `ViewB` can reach out over the `ViewA` model and listen out for changes on any of its nested models.
+
+See inline for comments on exactly what each step is enabling:
+
+```javascript
+
+// Define View A
+ViewA = Backbone.View.extend({
+
+ initialize: function(){
+ // Create an instance of View B
+ this.viewB = new ViewB();
+
+ // Create a reference back to this (parent) view
+ this.viewB.parentView = this;
+
+ // Append ViewB to ViewA
+ $(this.el).append(this.viewB.el);
+ }
+});
+
+// Define View B
+ViewB = Backbone.View.extend({
+
+ //...,
+
+ initialize: function(){
+ // Listen for changes to the nested models in our parent ViewA
+ this.listenTo(this.model.parent.modelB, "change", this.render);
+ this.listenTo(this.model.parent.modelC, "change", this.render);
+
+ // We can also call any method on our parent view if it is defined
+ // $(this.parentView.el).shake();
+ }
+
+});
+
+// Create an instance of ViewA with ModelA
+// viewA will create its own instance of ViewB
+// from inside the initialize() method
+var viewA = new ViewA({ model: ModelA });
+```
+
+
+#### Rendering A Parent View From A Child View
+
+**Problem**
+
+How would one render a Parent View from one of its Children?
+
+**Solution**
+
+In a scenario where you have a view containing another view, such as a photo gallery containing a larger view modal, you may find that you need to render or re-render the parent view from the child. The good news is that solving this problem is quite straight-forward.
+
+The simplest solution is to just use `this.parentView.render();`.
+
+If however inversion of control is desired, events may be used to provide an equally valid solution.
+
+Say we wish to begin rendering when a particular event has occurred. For the sake of example, let us call this event 'somethingHappened'. The parent view can bind notifications on the child view to know when the event has occurred. It can then render itself.
+
+In the parent view:
+
+```javascript
+// Parent initialize
+this.listenTo(this.childView, 'somethingHappened', this.render);
+
+// Parent removal
+this.stopListening(this.childView, 'somethingHappened');
+```
+
+In the child view:
+
+```javascript
+
+// After the event has occurred
+this.trigger('somethingHappened');
+
+```
+
+The child will trigger a "somethingHappened" event and the parent's render function will be called.
+
+(Thanks to Tal [Bereznitskey](http://stackoverflow.com/users/269666/tal-bereznitskey) for this tip)
+
+
+#### Disposing View Hierarchies
+
+**Problem**
+
+Where your application is setup with multiple Parent and Child Views, it is also common to desire removing any DOM elements associated with such views as well as unbinding any event handlers tied to child elements when you no longer require them.
+
+**Solution**
+
+The solution in the last question should be enough to handle this use case, but if you require a more explicit example that handles children, we can see one below:
+
+```javascript
+Backbone.View.prototype.close = function() {
+ if (this.onClose) {
+ this.onClose();
+ }
+ this.remove();
+};
+
+NewView = Backbone.View.extend({
+ initialize: function() {
+ this.childViews = [];
+ },
+ renderChildren: function(item) {
+ var itemView = new NewChildView({ model: item });
+ $(this.el).prepend(itemView.render());
+ this.childViews.push(itemView);
+ },
+ onClose: function() {
+ _(this.childViews).each(function(view) {
+ view.close();
+ });
+ }
+});
+
+NewChildView = Backbone.View.extend({
+ tagName: 'li',
+ render: function() {
+ }
+});
+```
+
+Here, a close() method for views is implemented which disposes of a view when it is no longer needed or needs to be reset.
+
+In most cases, the view removal should not affect any associated models. For example, if you are working on a blogging application and you remove a view with comments, perhaps another view in your app shows a selection of comments and resetting the collection would affect those views as well.
+
+(Thanks to [dira](http://stackoverflow.com/users/906136/dira) for this tip)
+
+Note: You may also be interested in reading the about Marionette Composite Views in the Extensions part of the book.
+
+#### Rendering View Hierarchies
+
+**Problem**
+
+Let us say you have a Collection, where each item in the Collection could itself be a Collection. You can render each item in the Collection, and indeed can render any items which themselves are Collections. The problem you might have is how to render HTML that reflects the hierarchical nature of the data structure.
+
+**Solution**
+
+The most straight-forward way to approach this problem is to use a framework like Derick Bailey's [Backbone.Marionette](https://github.com/marionettejs/backbone.marionette). In this framework is a type of view called a CompositeView.
+
+The basic idea of a CompositeView is that it can render a model and a collection within the same view.
+
+It can render a single model with a template. It can also take a collection from that model and for each model in that collection, render a view. By default it uses the same composite view type that you've defined to render each of the models in the collection. All you have to do is tell the view instance where the collection is, via the initialize method, and you'll get a recursive hierarchy rendered.
+
+
+There is a working demo of this in action available [online](http://jsfiddle.net/derickbailey/AdWjU/).
+
+And you can get the source code and documentation for [Marionette](https://github.com/marionettejs/backbone.marionette) too.
+
+
+#### Working With Nested Models Or Collections
+
+**Problem**
+
+Backbone doesn't include support for nested models or collections out of the box, favoring the use of good patterns for modeling your structured data on the client side. How do I work around this?
+
+**Solution**
+
+As we've seen, it's common to create collections representing groups of models using Backbone. It's also however common to wish to nest collections within models, depending on the type of application you are working on.
+
+Take for example a Building model that contains many Room models which could sit in a Rooms collection.
+
+You could expose a `this.rooms` collection for each building, allowing you to lazy-load rooms once a building has been opened.
+
+```javascript
+var Building = Backbone.Model.extend({
+
+ initialize: function(){
+ this.rooms = new Rooms;
+ this.rooms.url = '/building/' + this.id + '/rooms';
+ this.rooms.on("reset", this.updateCounts);
+ },
+
+ // ...
+
+});
+
+// Create a new building model
+var townHall = new Building;
+
+// once opened, lazy-load the rooms
+townHall.rooms.fetch({reset: true});
+```
+
+There are also a number of Backbone plugins which can help with nested data structures, such as [Backbone Relational](https://github.com/PaulUithol/Backbone-relational). This plugin handles one-to-one, one-to-many and many-to-one relations between models for Backbone and has some excellent [documentation](http://backbonerelational.org/).
+
+
+#### Better Model Property Validation
+
+**Problem**
+
+As we learned earlier in the book, the `validate` method on a Model is called by `set` (when the validate option is set) and `save`. It is passed the model attributes updated with the values passed to these methods.
+
+By default, when we define a custom `validate` method, Backbone passes all of a model's attributes through this validation each time, regardless of which model attributes are being set.
+
+This means that it can be a challenge to determine which specific fields are being set or validated without being concerned about the others that aren't being set at the same time.
+
+**Solution**
+
+To illustrate this problem better, let us look at a typical registration form use case that:
+
+* Validates form fields using the blur event
+* Validates each field regardless of whether other model attributes (i.e., other form data) are valid or not.
+
+Here is one example of a desired use case:
+
+We have a form where a user focuses and blurs first name, last name, and email HTML input boxes without entering any data. A "this field is required" message should be presented next to each form field.
+
+HTML:
+
+```
+
+
+
+
+ Form Validation - Model#validate
+
+
+
+
+
+
+
+
+```
+
+Basic validation that could be written using the current Backbone `validate` method to work with this form could be implemented using something like:
+
+
+```javascript
+validate: function(attrs) {
+
+ if(!attrs.firstname) return 'first name is empty';
+ if(!attrs.lastname) return 'last name is empty';
+ if(!attrs.email) return 'email is empty';
+
+}
+```
+
+Unfortunately, this method would trigger a `firstname` error each time any of the fields were blurred and only an error message next to the first name field would be presented.
+
+One potential solution to the problem is to validate all fields and return all of the errors:
+
+```javascript
+validate: function(attrs) {
+ var errors = {};
+
+ if (!attrs.firstname) errors.firstname = 'first name is empty';
+ if (!attrs.lastname) errors.lastname = 'last name is empty';
+ if (!attrs.email) errors.email = 'email is empty';
+
+ if (!_.isEmpty(errors)) return errors;
+}
+```
+
+This can be adapted into a solution that defines a Field model for each input in our form and works within the parameters of our use case as follows:
+
+```javascript
+
+$(function($) {
+
+ var User = Backbone.Model.extend({
+ validate: function(attrs) {
+ var errors = this.errors = {};
+
+ if (!attrs.firstname) errors.firstname = 'firstname is required';
+ if (!attrs.lastname) errors.lastname = 'lastname is required';
+ if (!attrs.email) errors.email = 'email is required';
+
+ if (!_.isEmpty(errors)) return errors;
+ }
+ });
+
+ var Field = Backbone.View.extend({
+ events: {blur: 'validate'},
+ initialize: function() {
+ this.name = this.$el.attr('name');
+ this.$msg = $('[data-msg=' + this.name + ']');
+ },
+ validate: function() {
+ this.model.set(this.name, this.$el.val(), {validate: true});
+ this.$msg.text(this.model.errors[this.name] || '');
+ }
+ });
+
+ var user = new User;
+
+ $('input').each(function() {
+ new Field({el: this, model: user});
+ });
+
+});
+
+```
+
+This works fine as the solution checks the validation for each attribute individually and sets the message for the correct blurred field. A [demo](http://jsbin.com/afetez/2/edit) of the above by [@braddunbar](http://github.com/braddunbar) is also available.
+
+Unfortunately, this solution does perform validation on all fields every time, even though we are only displaying errors for the field that has changed. If we have multiple client-side validation methods, we may not want to have to call each validation method on every attribute every time, so this solution might not be ideal for everyone.
+
+##### Backbone.validateAll
+
+A potentially better alternative to the above is to use [@gfranko](http://github.com/@franko)'s [Backbone.validateAll](https://github.com/gfranko/Backbone.validateAll) plugin, specifically created to validate specific Model properties (or form fields) without worrying about the validation of any other Model properties (or form fields).
+
+Here is how we would setup a partial User Model and validate method using this plugin for our use case:
+
+
+```javascript
+
+// Create a new User Model
+var User = Backbone.Model.extend({
+
+ // RegEx Patterns
+ patterns: {
+
+ specialCharacters: '[^a-zA-Z 0-9]+',
+
+ digits: '[0-9]',
+
+ email: '^[a-zA-Z0-9._-]+@[a-zA-Z0-9][a-zA-Z0-9.-]*[.]{1}[a-zA-Z]{2,6}$'
+ },
+
+ // Validators
+ validators: {
+
+ minLength: function(value, minLength) {
+ return value.length >= minLength;
+
+ },
+
+ maxLength: function(value, maxLength) {
+ return value.length <= maxLength;
+
+ },
+
+ isEmail: function(value) {
+ return User.prototype.validators.pattern(value, User.prototype.patterns.email);
+
+ },
+
+ hasSpecialCharacter: function(value) {
+ return User.prototype.validators.pattern(value, User.prototype.patterns.specialCharacters);
+
+ },
+ ...
+
+ // We can determine which properties are getting validated by
+ // checking to see if properties are equal to null
+
+ validate: function(attrs) {
+
+ var errors = this.errors = {};
+
+ if(attrs.firstname != null) {
+ if (!attrs.firstname) {
+ errors.firstname = 'firstname is required';
+ console.log('first name isEmpty validation called');
+ }
+
+ else if(!this.validators.minLength(attrs.firstname, 2))
+ errors.firstname = 'firstname is too short';
+ else if(!this.validators.maxLength(attrs.firstname, 15))
+ errors.firstname = 'firstname is too large';
+ else if(this.validators.hasSpecialCharacter(attrs.firstname)) errors.firstname = 'firstname cannot contain special characters';
+ }
+
+ if(attrs.lastname != null) {
+
+ if (!attrs.lastname) {
+ errors.lastname = 'lastname is required';
+ console.log('last name isEmpty validation called');
+ }
+
+ else if(!this.validators.minLength(attrs.lastname, 2))
+ errors.lastname = 'lastname is too short';
+ else if(!this.validators.maxLength(attrs.lastname, 15))
+ errors.lastname = 'lastname is too large';
+ else if(this.validators.hasSpecialCharacter(attrs.lastname)) errors.lastname = 'lastname cannot contain special characters';
+
+ }
+```
+
+
+This allows the logic inside of our validate methods to determine which form fields are currently being set/validated, and ignore the model properties that are not being set.
+
+It's fairly straight-forward to use as well. We can simply define a new Model instance and then set the data on our model using the `validateAll` option to use the behavior defined by the plugin:
+
+```javascript
+var user = new User();
+user.set({ 'firstname': 'Greg' }, {validate: true, validateAll: false});
+
+```
+
+That's it. The Backbone.validateAll logic doesn't override the default Backbone logic by default and so it's perfectly capable of being used for scenarios where you might care more about field-validation [performance](http://jsperf.com/backbone-validateall) as well as those where you don't. Both solutions presented in this section should work fine however.
+
+
+##### Backbone.Validation
+
+As we've seen, the `validate` method Backbone offers is `undefined` by default and you need to override it with your own custom validation logic to get model validation in place. Often developers run into the issue of implementing this validation as nested ifs and elses, which can become unmaintainable when things get complicated.
+
+Another helpful plugin for Backbone called [Backbone.Validation](https://github.com/thedersen/backbone.validation) attempts to solve this problem by offering an extensible way to declare validation rules on the model and overrides the `validate` method behind the scenes.
+
+One of the useful methods this plugin includes is (pseudo) live validation via a `preValidate` method. This can be used to check on key-press if the input for a model is valid without changing the model itself. You can run any validators for a model attribute by calling the `preValidate` method, passing it the name of the attribute along with the value you would like validated.
+
+```javascript
+// If the value of the attribute is invalid, a truthy error message is returned
+// if not, it returns a falsy value
+
+var errorMsg = user.preValidate('firstname', 'Greg');
+```
+
+##### Form-specific validation classes
+
+That said, the most optimal solution to this problem may not be to stick validation in your model attributes. Instead, you could have a function specifically designed for validating a specific form and there are many good JavaScript form validation libraries out there that can help with this.
+
+If you want to stick it on your model, you can also make it a class function:
+
+```javascript
+User.validate = function(formElement) {
+ //...
+};
+```
+
+For more information on validation plugins available for Backbone, see the [Backbone wiki](https://github.com/documentcloud/backbone/wiki/Extensions%2C-Plugins%2C-Resources#model).
+
+
+#### Avoiding Conflicts With Multiple Backbone Versions
+
+**Problem**
+
+In instances out of your control, you may have to work around having more than one version of Backbone in the same page. How do you work around this without causing conflicts?
+
+**Solution**
+
+Like most client-side projects, Backbone's code is wrapped in an immediately-invoked function expression:
+
+```javascript
+(function(){
+ // Backbone.js
+}).call(this);
+```
+
+Several things happen during this configuration stage. A Backbone `namespace` is created, and multiple versions of Backbone on the same page are supported through the noConflict mode:
+
+```javascript
+var root = this;
+var previousBackbone = root.Backbone;
+
+Backbone.noConflict = function() {
+ root.Backbone = previousBackbone;
+ return this;
+};
+```
+
+Multiple versions of Backbone can be used on the same page by calling `noConflict` like this:
+
+```javascript
+var Backbone19 = Backbone.noConflict();
+// Backbone19 refers to the most recently loaded version,
+// and `window.Backbone` will be restored to the previously
+// loaded version
+```
+
+
+#### Building Model And View Hierarchies
+
+**Problem**
+
+How does inheritence work with Backbone? How can I share code between similar models and views? How can I call methods that have been overridden?
+
+**Solution**
+
+For its inheritance, Backbone internally uses an `inherits` function inspired by `goog.inherits`, Google's implementation from the Closure Library. It's basically a function to correctly setup the prototype chain.
+
+```javascript
+ var inherits = function(parent, protoProps, staticProps) {
+ ...
+```
+
+The only major difference here is that Backbone's API accepts two objects containing `instance` and `static` methods.
+
+Following on from this, for inheritance purposes all of Backbone's objects contain an `extend` method as follows:
+
+```javascript
+Model.extend = Collection.extend = Router.extend = View.extend = extend;
+```
+
+Most development with Backbone is based around inheriting from these objects, and they're designed to mimic a classical object-oriented implementation.
+
+The above isn't quite the same as ECMAScript 5's `Object.create`, as it's actually copying properties (methods and values) from one object to another. As this isn't enough to support Backbone's inheritance and class model, the following steps are performed:
+
+* The instance methods are checked to see if there's a constructor property. If so, the class's constructor is used, otherwise the parent's constructor is used (i.e., Backbone.Model)
+* Underscore's extend method is called to add the parent class's methods to the new child class
+* The `prototype` property of a blank constructor function is assigned with the parent's prototype, and a new instance of this is set to the child's `prototype` property
+* Underscore's extend method is called twice to add the static and instance methods to the child class
+* The child's prototype's constructor and a `__super__` property are assigned
+* This pattern is also used for classes in CoffeeScript, so Backbone classes are compatible with CoffeeScript classes.
+
+`extend` can be used for a great deal more and developers who are fans of mixins will like that it can be used for this too. You can define functionality on any custom object, and then quite literally copy & paste all of the methods and attributes from that object to a Backbone one:
+
+For example:
+
+```javascript
+var MyMixin = {
+ foo: 'bar',
+ sayFoo: function(){alert(this.foo);}
+};
+
+var MyView = Backbone.View.extend({
+ // ...
+});
+
+_.extend(MyView.prototype, MyMixin);
+
+var myView = new MyView();
+myView.sayFoo(); //=> 'bar'
+```
+
+We can take this further and also apply it to View inheritance. The following is an example of how to extend one View using another:
+
+```javascript
+var Panel = Backbone.View.extend({
+});
+
+var PanelAdvanced = Panel.extend({
+});
+```
+
+**Calling Overridden Methods**
+
+However, if you have an `initialize()` method in Panel, then it won't be called if you also have an `initialize()` method in PanelAdvanced, so you would have to call Panel's initialize method explicitly:
+
+```javascript
+var Panel = Backbone.View.extend({
+ initialize: function(options){
+ console.log('Panel initialized');
+ this.foo = 'bar';
+ }
+});
+
+var PanelAdvanced = Panel.extend({
+ initialize: function(options){
+ Panel.prototype.initialize.call(this, [options]);
+ console.log('PanelAdvanced initialized');
+ console.log(this.foo); // Log: bar
+ }
+});
+
+// We can also inherit PanelAdvaned if needed
+var PanelAdvancedExtra = PanelAdvanced.extend({
+ initialize: function(options){
+ PanelAdvanced.prototype.initialize.call(this, [options]);
+ console.log('PanelAdvancedExtra initialized');
+ }
+});
+
+new Panel();
+new PanelAdvanced();
+new PanelAdvancedExtra();
+```
+
+This isn't the most elegant of solutions because if you have a lot of Views that inherit from Panel, then you'll have to remember to call Panel's initialize from all of them.
+
+It's worth noting that if Panel doesn't have an initialize method now but you choose to add it in the future, then you'll need to go to all of the inherited classes in the future and make sure they call Panel's initialize.
+
+So here's an alternative way to define Panel so that your inherited views don't need to call Panel's initialize method:
+
+```javascript
+var Panel = function (options) {
+ // put all of Panel's initialization code here
+ console.log('Panel initialized');
+ this.foo = 'bar';
+
+ Backbone.View.apply(this, [options]);
+};
+
+_.extend(Panel.prototype, Backbone.View.prototype, {
+ // put all of Panel's methods here. For example:
+ sayHi: function () {
+ console.log('hello from Panel');
+ }
+});
+
+Panel.extend = Backbone.View.extend;
+
+// other classes then inherit from Panel like this:
+var PanelAdvanced = Panel.extend({
+ initialize: function (options) {
+ console.log('PanelAdvanced initialized');
+ console.log(this.foo);
+ }
+});
+
+var panelAdvanced = new PanelAdvanced(); //Logs: Panel initialized, PanelAdvanced initialized, bar
+panelAdvanced.sayHi(); // Logs: hello from Panel
+```
+
+When used appropriately, Underscore's `extend` method can save a great deal of time and effort writing redundant code.
+
+(Thanks to [Alex Young](http://dailyjs.com), [Derick Bailey](http://stackoverflow.com/users/93448/derick-bailey) and [JohnnyO](http://stackoverflow.com/users/188740/johnnyo) for the heads up about these tips).
+
+**Backbone-Super**
+
+[Backbone-Super](https://github.com/lukasolson/Backbone-Super) by Lukas Olson adds a *_super* method to *Backbone.Model* using [John Resig's Inheritance script](http://ejohn.org/blog/simple-javascript-inheritance/).
+Rather than using Backbone.Model.prototype.set.call as per the Backbone.js documentation, _super can be called instead:
+
+```javascript
+// This is how we normally do it
+var OldFashionedNote = Backbone.Model.extend({
+ set: function(attributes, options) {
+ // Call parent's method
+ Backbone.Model.prototype.set.call(this, attributes, options);
+ // some custom code here
+ // ...
+ }
+});
+```
+
+After including this plugin, you can do the same thing with the following syntax:
+
+```javascript
+// This is how we can do it after using the Backbone-super plugin
+var Note = Backbone.Model.extend({
+ set: function(attributes, options) {
+ // Call parent's method
+ this._super(attributes, options);
+ // some custom code here
+ // ...
+ }
+});
+```
+
+#### Event Aggregators And Mediators
+
+**Problem**
+
+How do I channel multiple event sources through a single object?
+
+**Solution**
+
+Using an Event Aggregator. It's common for developers to think of Mediators when faced with this problem, so let's explore what an Event Aggregator is, what the Mediator pattern is and how they differ.
+
+Design patterns often differ only in semantics and intent. That is, the language used to describe the pattern is what sets it apart, more than an implementation of that specific pattern. It often comes down to squares vs rectangles vs polygons. You can create the same end result with all three, given the constraints of a square are still met – or you can use polygons to create an infinitely larger and more complex set of things.
+
+When it comes to the Mediator and Event Aggregator patterns, there are some times where it may look like the patterns are interchangeable due to implementation similarities. However, the semantics and intent of these patterns are very different. And even if the implementations both use some of the same core constructs, I believe there is a distinct difference between them. I also believe they should not be interchanged or confused in communication because of the differences.
+
+#####Event Aggregator
+
+The core idea of the Event Aggregator, according to Martin Fowler, is to channel multiple event sources through a single object so that other objects needing to subscribe to the events don’t need to know about every event source.
+
+######Backbone’s Event Aggregator
+
+The easiest event aggregator to show is that of Backbone.js – it’s built into the Backbone object directly.
+
+```javascript
+var View1 = Backbone.View.extend({
+ // ...
+
+ events: {
+ "click .foo": "doIt"
+ },
+
+ doIt: function(){
+ // trigger an event through the event aggregator
+ Backbone.trigger("some:event");
+ }
+});
+
+var View2 = Backbone.View.extend({
+ // ...
+
+ initialize: function(){
+ // subscribe to the event aggregator's event
+ Backbone.on("some:event", this.doStuff, this);
+ },
+
+ doStuff: function(){
+ // ...
+ }
+})
+```
+
+In this example, the first view is triggering an event when a DOM element is clicked. The event is triggered through Backbone’s built-in event aggregator – the Backbone object. Of course, it’s trivial to create your own event aggregator in Backbone, and there are some key things that we need to keep in mind when using an event aggregator, to keep our code simple.
+
+#######jQuery’s Event Aggregator
+
+Did you know that jQuery has a built-in event aggregator? They don’t call it this, but it’s in there and it’s scoped to DOM events. It also happens to look like Backbone’s event aggregator:
+
+```
+$("#mainArticle").on("click", function(e){
+
+ // handle click event on any element underneath our #mainArticle element
+
+});
+```
+
+This code sets up an event handler function that waits for an unknown number of event sources to trigger a “click” event, and it allows any number of listeners to attach to the events of those event publishers. jQuery just happens to scope this event aggregator to the DOM.
+
+#####Mediator
+
+A Mediator is an object that coordinates interactions (logic and behavior) between multiple objects. It makes decisions on when to call which objects, based on the actions (or inaction) of other objects and input.
+
+**A Mediator For Backbone**
+
+Backbone doesn’t have the idea of a mediator built into it like a lot of other MV* frameworks do. But that doesn’t mean you can’t write one using a single line of code:
+
+```javascript
+var mediator = {};
+```
+
+Yes, of course this is just an object literal in JavaScript. Once again, we’re talking about semantics here. The purpose of the mediator is to control the workflow between objects and we really don’t need anything more than an object literal to do this.
+
+```javascript
+var orgChart = {
+
+ addNewEmployee: function(){
+
+ // getEmployeeDetail provides a view that users interact with
+ var employeeDetail = this.getEmployeeDetail();
+
+ // when the employee detail is complete, the mediator (the 'orgchart' object)
+ // decides what should happen next
+ employeeDetail.on("complete", function(employee){
+
+ // set up additional objects that have additional events, which are used
+ // by the mediator to do additional things
+ var managerSelector = this.selectManager(employee);
+ managerSelector.on("save", function(employee){
+ employee.save();
+ });
+
+ });
+ },
+
+ // ...
+}
+```
+
+This example shows a very basic implementation of a mediator object with Backbone-based objects that can trigger and subscribe to events. I’ve often referred to this type of object as a “workflow” object in the past, but the truth is that it is a mediator. It is an object that handles the workflow between many other objects, aggregating the responsibility of that workflow knowledge into a single object. The result is workflow that is easier to understand and maintain.
+
+#####Similarities And Differences
+
+There are, without a doubt, similarities between the event aggregator and mediator examples that I’ve shown here. The similarities boil down to two primary items: events and third-party objects. These differences are superficial at best, though. When we dig into the intent of the pattern and see that the implementations can be dramatically different, the nature of the patterns become more apparent.
+
+######Events
+
+Both the event aggregator and mediator use events, in the above examples. An event aggregator obviously deals with events – it’s in the name after all. The mediator only uses events because it makes life easy when dealing with Backbone, though. There is nothing that says a mediator must be built with events. You can build a mediator with callback methods, by handing the mediator reference to the child object, or by any of a number of other means.
+
+The difference, then, is why these two patterns are both using events. The event aggregator, as a pattern, is designed to deal with events. The mediator, though, only uses them because it’s convenient.
+
+######Third-Party Objects
+
+Both the event aggregator and mediator, by design, use a third-party object to facilitate things. The event aggregator itself is a third-party to the event publisher and the event subscriber. It acts as a central hub for events to pass through. The mediator is also a third party to other objects, though. So where is the difference? Why don’t we call an event aggregator a mediator? The answer largely comes down to where the application logic and workflow is coded.
+
+In the case of an event aggregator, the third party object is there only to facilitate the pass-through of events from an unknown number of sources to an unknown number of handlers. All workflow and business logic that needs to be kicked off is put directly into the the object that triggers the events and the objects that handle the events.
+
+In the case of the mediator, though, the business logic and workflow is aggregated into the mediator itself. The mediator decides when an object should have it’s methods called and attributes updated based on factors that the mediator knows about. It encapsulates the workflow and process, coordinating multiple objects to produce the desired system behaviour. The individual objects involved in this workflow each know how to perform their own task. But it’s the mediator that tells the objects when to perform the tasks by making decisions at a higher level than the individual objects.
+
+An event aggregator facilitates a “fire and forget” model of communication. The object triggering the event doesn’t care if there are any subscribers. It just fires the event and moves on. A mediator, though, might use events to make decisions, but it is definitely not “fire and forget”. A mediator pays attention to a known set of input or activities so that it can facilitate and coordinate additional behavior with a known set of actors (objects).
+
+#####Relationships: When To Use Which
+
+Understanding the similarities and differences between an event aggregator and mediator is important for semantic reasons. It’s equally as important to understand when to use which pattern, though. The basic semantics and intent of the patterns does inform the question of when, but actual experience in using the patterns will help you understand the more subtle points and nuanced decisions that have to be made.
+
+######Event Aggregator Use
+
+In general, an event aggregator is used when you either have too many objects to listen to directly, or you have objects that are entirely unrelated.
+
+When two objects have a direct relationship already – say, a parent view and child view – then there might be little benefit in using an event aggregator. Have the child view trigger an event and the parent view can handle the event. This is most commonly seen in Backbone’s Collection and Model, where all Model events are bubbled up to and through it’s parent Collection. A Collection often uses model events to modify the state of itself or other models. Handling “selected” items in a collection is a good example of this.
+
+jQuery’s on method as an event aggregator is a great example of too many objects to listen to. If you have 10, 20 or 200 DOM elements that can trigger a “click” event, it might be a bad idea to set up a listener on all of them individually. This could quickly deteriorate performance of the application and user experience. Instead, using jQuery’s on method allows us to aggregate all of the events and reduce the overhead of 10, 20, or 200 event handlers down to 1.
+
+Indirect relationships are also a great time to use event aggregators. In Backbone applications, it is very common to have multiple view objects that need to communicate, but have no direct relationship. For example, a menu system might have a view that handles the menu item clicks. But we don’t want the menu to be directly tied to the content views that show all of the details and information when a menu item is clicked. Having the content and menu coupled together would make the code very difficult to maintain, in the long run. Instead, we can use an event aggregator to trigger “menu:click:foo” events, and have a “foo” object handle the click event to show it’s content on the screen.
+
+######Mediator Use
+
+A mediator is best applied when two or more objects have an indirect working relationship, and business logic or workflow needs to dictate the interactions and coordination of these objects.
+
+A wizard interface is a good example of this, as shown with the “orgChart” example, above. There are multiple views that facilitate the entire workflow of the wizard. Rather than tightly coupling the view together by having them reference each other directly, we can decouple them and more explicitly model the workflow between them by introducing a mediator.
+
+The mediator extracts the workflow from the implementation details and creates a more natural abstraction at a higher level, showing us at a much faster glance what that workflow is. We no longer have to dig into the details of each view in the workflow, to see what the workflow actually is.
+
+#####Event Aggregator And Mediator Together
+
+The crux of the difference between an event aggregator and a mediator, and why these pattern names should not be interchanged with each other, is illustrated best by showing how they can be used together. The menu example for an event aggregator is the perfect place to introduce a mediator as well.
+
+Clicking a menu item may trigger a series of changes throughout an application. Some of these changes will be independent of others, and using an event aggregator for this makes sense. Some of these changes may be internally related to each other, though, and may use a mediator to enact those changes. A mediator, then, could be set up to listen to the event aggregator. It could run it’s logic and process to facilitate and coordinate many objects that are related to each other, but unrelated to the original event source.
+
+```javascript
+var MenuItem = Backbone.View.extend({
+
+ events: {
+ "click .thatThing": "clickedIt"
+ },
+
+ clickedIt: function(e){
+ e.preventDefault();
+
+ // assume this triggers "menu:click:foo"
+ Backbone.trigger("menu:click:" + this.model.get("name"));
+ }
+
+});
+
+// ... somewhere else in the app
+
+var MyWorkflow = function(){
+ Backbone.on("menu:click:foo", this.doStuff, this);
+};
+
+MyWorkflow.prototype.doStuff = function(){
+ // instantiate multiple objects here.
+ // set up event handlers for those objects.
+ // coordinate all of the objects into a meaningful workflow.
+};
+```
+
+In this example, when the MenuItem with the right model is clicked, the `“menu:click:foo”` event will be triggered. An instance of the “MyWorkflow” object, assuming one is already instantiated, will handle this specific event and will coordinate all of the objects that it knows about, to create the desired user experience and workflow.
+
+An event aggregator and a mediator have been combined to create a much more meaningful experience in both the code and the application itself. We now have a clean separation between the menu and the workflow through an event aggregator and we are still keeping the workflow itself clean and maintainable through the use of a mediator.
+
+#####Pattern Language: Semantics
+
+There is one overriding point to make in all of this discussion: semantics. Communicating intent and semantics through the use of named patterns is only viable and only valid when all parties in a communication medium understand the language in the same way.
+
+If I say “apple”, what am I talking about? Am I talking about a fruit? Or am I talking about a technology and consumer products company? As Sharon Cichelli says: “semantics will continue to be important, until we learn how to communicate in something other than language”.
+
diff --git a/chapters/08-modular-development.md b/chapters/08-modular-development.md
new file mode 100644
index 00000000..6b0a8655
--- /dev/null
+++ b/chapters/08-modular-development.md
@@ -0,0 +1,563 @@
+# Modular Development
+
+## Introduction
+
+When we say an application is modular, we generally mean it's composed of a set of highly decoupled, distinct pieces of functionality stored in modules. As you probably know, loose coupling facilitates easier maintainability of apps by removing dependencies where possible. When this is implemented efficiently, it's quite easy to see how changes to one part of a system may affect another.
+
+Unlike some more traditional programming languages, the current iteration of JavaScript (ECMA-262) doesn't provide developers with the means to import such modules of code in a clean, organized manner.
+
+Instead, developers are left to fall back on variations of the module or object literal patterns combined with script tags or a script loader. With many of these, module scripts are strung together in the DOM with namespaces being described by a single global object where it's still possible to have name collisions. There's also no clean way to handle dependency management without some manual effort or third party tools.
+
+Whilst native solutions to these problems may be arriving via [ES6](http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts) (the next version of the official JavaScript specification) [modules proposal](http://wiki.ecmascript.org/doku.php?id=harmony:modules), the good news is that writing modular JavaScript has never been easier and you can start doing it today.
+
+In this next part of the book, we're going to look at how to use AMD modules and RequireJS to cleanly wrap units of code in your application into manageable modules. We'll also cover an alternate approach called Lumbar which uses routes to determine when modules are loaded.
+
+## Organizing modules with RequireJS and AMD
+
+*Partly Contributed by [Jack Franklin](https://github.com/jackfranklin)*
+
+[RequireJS](http://requirejs.org) is a popular script loader written by James Burke - a developer who has been quite instrumental in helping shape the AMD module format, which we'll discuss shortly. Amongst other things RequireJS helps you to load multiple script files, define modules with or without dependencies, and load in non-script dependencies such as text files.
+
+### Maintainability problems with multiple script files
+
+You might be thinking that there is little benefit to RequireJS. After all, you can simply load in your JavaScript files through multiple `
+```
+
+Now, RequireJS will automatically load `app.js` for you.
+
+#### RequireJS Configuration
+
+In the main JavaScript file that you load with the `data-main` attribute you can configure how RequireJS loads the rest of your application. This is done by calling `require.config`, and passing in an object:
+
+```javascript
+require.config({
+ // your configuration key/values here
+ baseUrl: "app", // generally the same directory as the script used in a data-main attribute for the top level script
+ paths: {}, // set up custom paths to libraries, or paths to RequireJS plugins
+ shim: {}, // used for setting up all Shims (see below for more detail)
+});
+```
+
+The main reason you'd want to configure RequireJS is to add shims, which we'll cover next. To see other configuration options available to you, I recommend checking out the [RequireJS documentation](http://requirejs.org/docs/api.html#config).
+
+
+##### RequireJS Shims
+
+Ideally, each library that we use with RequireJS will come with AMD support. That is, it uses the `define` method to define the library as a module. However, some libraries - including Backbone and one of its dependencies, Underscore - don't do this. Fortunately RequireJS comes with a way to work around this.
+
+To demonstrate this, first let's shim Underscore, and then we'll shim Backbone too. Shims are very simple to implement:
+
+```javascript
+require.config({
+ shim: {
+ 'lib/underscore': {
+ exports: '_'
+ }
+ }
+});
+```
+
+Note that when specifying paths for RequireJS you should omit the `.js` from the end of script names.
+
+The important line here is `exports: '_'`. This line tells RequireJS that the script in `'lib/underscore.js'` creates a global variable called `_` instead of defining a module. Now when we list Underscore as a dependency RequireJS will know to give us the `_` global variable as though it was the module defined by that script. We can set up a shim for Backbone too:
+
+```javascript
+require.config({
+ shim: {
+ 'lib/underscore': {
+ exports: '_'
+ },
+ 'lib/backbone': {
+ deps: ['lib/underscore', 'jquery'],
+ exports: 'Backbone'
+ }
+ }
+});
+```
+
+Again, that configuration tells RequireJS to return the global `Backbone` variable that Backbone exports, but this time you'll notice that Backbone's dependencies are defined. This means whenever this:
+
+```javascript
+require( 'lib/backbone', function( Backbone ) {...} );
+```
+
+Is run, it will first make sure the dependencies are met, and then pass the global `Backbone` object into the callback function. You don't need to do this with every library, only the ones that don't support AMD. For example, jQuery does support it, as of jQuery 1.7.
+
+If you'd like to read more about general RequireJS usage, the [RequireJS API docs](http://requirejs.org/docs/api.html) are incredibly thorough and easy to read.
+
+#### Custom Paths
+
+Typing long paths to file names like `lib/backbone` can get tedious. RequireJS lets us set up custom paths in our configuration object. Here, whenever I refer to "underscore", RequireJS will look for the file `lib/underscore.js`:
+
+```javascript
+require.config({
+ paths: {
+ 'underscore': 'lib/underscore'
+ }
+});
+```
+
+Of course, this can be combined with a shim:
+
+```javascript
+require.config({
+ paths: {
+ 'underscore': 'lib/underscore'
+ },
+ shim: {
+ 'underscore': {
+ exports: '_'
+ }
+ }
+});
+```
+
+Just make sure that you refer to the custom path in your shim settings, too. Now you can do
+
+```javascript
+require( ['underscore'], function(_) {
+// code here
+});
+```
+
+to shim Underscore but still use a custom path.
+
+
+### Require.js and Backbone Examples
+
+Now that we've taken a look at how to define AMD modules, let's review how to go about wrapping components like views and collections so that they can also be easily loaded as dependencies for any parts of your application that require them. At its simplest, a Backbone model may just require Backbone and Underscore.js. These are dependencies, so we can define those when defining the new modules. Note that the following examples presume you have configured RequireJS to shim Backbone and Underscore, as discussed previously.
+
+#### Wrapping models, views, and other components with AMD
+
+For example, here is how a model is defined.
+
+```javascript
+define(['underscore', 'backbone'], function(_, Backbone) {
+ var myModel = Backbone.Model.extend({
+
+ // Default attributes
+ defaults: {
+ content: 'hello world',
+ },
+
+ // A dummy initialization method
+ initialize: function() {
+ },
+
+ clear: function() {
+ this.destroy();
+ this.view.remove();
+ }
+
+ });
+ return myModel;
+});
+```
+
+Note how we alias Underscore.js's instance to `_` and Backbone to just `Backbone`, making it very trivial to convert non-AMD code over to using this module format. For a view which might require other dependencies such as jQuery, this can similarly be done as follows:
+
+```javascript
+define([
+ 'jquery',
+ 'underscore',
+ 'backbone',
+ 'collections/mycollection',
+ 'views/myview'
+ ], function($, _, Backbone, myCollection, myView){
+
+ var AppView = Backbone.View.extend({
+ ...
+```
+
+Aliasing to the dollar-sign (`$`) once again makes it very easy to encapsulate any part of an application you wish using AMD.
+
+Doing it this way makes it easy to organize your Backbone application as you like. It's recommended to separate modules into folders. For example, individual folders for models, collections, views and so on. RequireJS doesn't care about what folder structure you use; as long as you use the correct path when using `require`, it will happily pull in the file.
+
+As part of this chapter I've made a very simple [Backbone application with RequireJS that you can find on Github](https://github.com/javascript-playground/backbone-require-example). It is a stock application for a manager of a shop. They can add new items and filter down the items based on price, but nothing more. Because it's so simple it's easier to focus purely on the RequireJS part of the implementation, rather than deal with complex JavaScript and Backbone logic too.
+
+At the base of this application is the `Item` model, which describes a single item in the stock. Its implementation is very straight forward:
+
+```javascript
+define( ["lib/backbone"], function ( Backbone ) {
+ var Item = Backbone.Model.extend({
+ defaults: {
+ price: 35,
+ photo: "http://www.placedog.com/100/100"
+ }
+ });
+ return Item;
+});
+```
+
+Converting an individual model, collection, view or similar into an AMD, RequireJS compliant one is typically very straight forward. Usually all that's needed is the first line, calling `define`, and to make sure that once you've defined your object - in this case, the `Item` model, to return it.
+
+Let's now set up a view for that individual item:
+
+```javascript
+define( ["lib/backbone"], function ( Backbone ) {
+ var ItemView = Backbone.View.extend({
+ tagName: "div",
+ className: "item-wrap",
+ template: _.template($("#itemTemplate").html()),
+
+ render: function() {
+ this.$el.html(this.template(this.model.toJSON()));
+ return this;
+ }
+ });
+ return ItemView;
+});
+```
+
+This view doesn't actually depend on the model it will be used with, so again the only dependency is Backbone. Other than that it's just a regular Backbone view. There's nothing special going on here, other than returning the object and using `define` so RequireJS can pick it up. Now let's make a collection to view a list of items. This time we will need to reference the `Item` model, so we add it as a dependency:
+
+```javascript
+define(["lib/backbone", "models/item"], function(Backbone, Item) {
+ var Cart = Backbone.Collection.extend({
+ model: Item,
+ initialize: function() {
+ this.on("add", this.updateSet, this);
+ },
+ updateSet: function() {
+ items = this.models;
+ }
+ });
+ return Cart;
+});
+```
+
+I've called this collection `Cart`, as it's a group of items. As the `Item` model is the second dependency, I can bind the variable `Item` to it by declaring it as the second argument to the callback function. I can then refer to this within my collection implementation.
+
+Finally, let's have a look at the view for this collection. (This file is much bigger in the application, but I've taken some bits out so it's easier to examine).
+
+```javascript
+define(["lib/backbone", "models/item", "views/itemview"], function(Backbone, Item, ItemView) {
+ var ItemCollectionView = Backbone.View.extend({
+ el: '#yourcart',
+ initialize: function(collection) {
+ this.collection = collection;
+ this.render();
+ this.collection.on("reset", this.render, this);
+ },
+ render: function() {
+ this.$el.html("");
+ this.collection.each(function(item) {
+ this.renderItem(item);
+ }, this);
+ },
+ renderItem: function(item) {
+ var itemView = new ItemView({model: item});
+ this.$el.append(itemView.render().el);
+ },
+ // more methods here removed
+ });
+ return ItemCollectionView;
+});
+```
+
+There really is nothing to it once you've got the general pattern. Define each "object" (a model, view, collection, router or otherwise) through RequireJS, and then specify them as dependencies to other objects that need them. Again, you can find this entire application [on Github](https://github.com/javascript-playground/backbone-require-example).
+
+If you'd like to take a look at how others do it, [Pete Hawkins' Backbone Stack repository](https://github.com/phawk/Backbone-Stack) is a good example of structuring a Backbone application using RequireJS. Greg Franko has also written [an overview of how he uses Backbone and Require](http://gregfranko.com/blog/using-backbone-dot-js-with-require-dot-js/), and [Jeremy Kahn's post](http://jeremyckahn.github.com/blog/2012/08/18/keeping-it-sane-backbone-views-and-require-dot-js/) neatly describes his approach. For a look at a full sample application, the [Backbone and Require version](https://github.com/addyosmani/todomvc/tree/gh-pages/dependency-examples/backbone_require) of the TodoMVC application is a good starting point.
+
+### Keeping Your Templates External Using RequireJS And The Text Plugin
+
+Moving your templates to external files is actually quite straight-forward, whether they are Underscore, Mustache, Handlebars or any other text-based template format. Let's look at how we do that with RequireJS.
+
+RequireJS has a special plugin called text.js which is used to load in text file dependencies. To use the text plugin, follow these steps:
+
+1. Download the plugin from http://requirejs.org/docs/download.html#text and place it in either the same directory as your application's main JS file or a suitable sub-directory.
+
+2. Next, include the text.js plugin in your initial RequireJS configuration options. In the code snippet below, we assume that RequireJS is being included in our page prior to this code snippet being executed.
+
+```javascript
+require.config( {
+ paths: {
+ 'text': 'libs/require/text',
+ },
+ baseUrl: 'app'
+} );
+```
+
+3. When the `text!` prefix is used for a dependency, RequireJS will automatically load the text plugin and treat the dependency as a text resource. A typical example of this in action may look like:
+
+```javascript
+require(['js/app', 'text!templates/mainView.html'],
+ function( app, mainView ) {
+ // the contents of the mainView file will be
+ // loaded into mainView for usage.
+ }
+);
+```
+
+4. Finally we can use the text resource that's been loaded for templating purposes. You're probably used to storing your HTML templates inline using a script with a specific identifier.
+
+With Underscore.js's micro-templating (and jQuery) this would typically be:
+
+HTML:
+
+```html
+
+```
+
+
+JS:
+
+```javascript
+var compiled_template = _.template( $('#mainViewTemplate').html() );
+```
+
+With RequireJS and the text plugin however, it's as simple as saving the same template into an external text file (say, `mainView.html`) and doing the following:
+
+```javascript
+require(['js/app', 'text!templates/mainView.html'],
+ function(app, mainView){
+ var compiled_template = _.template( mainView );
+ }
+);
+```
+
+That's it! Now you can apply your template to a view in Backbone with something like:
+
+```javascript
+collection.someview.$el.html( compiled_template( { results: collection.models } ) );
+```
+
+All templating solutions will have their own custom methods for handling template compilation, but if you understand the above, substituting Underscore's micro-templating for any other solution should be fairly trivial.
+
+
+### Optimizing Backbone apps for production with the RequireJS Optimizer
+
+Once you're written your application, the next important step is to prepare it for deployment to production. The majority of non-trivial apps are likely to consist of several scripts and so optimizing, minimizing, and concatenating your scripts prior to pushing can reduce the number of scripts your users need to download.
+
+A command-line optimization tool for RequireJS projects called r.js is available to help with this workflow. It offers a number of capabilities, including:
+
+* Concatenating specific scripts and minifying them using external tools such as UglifyJS (which is used by default) or Google's Closure Compiler for optimal browser delivery, whilst preserving the ability to dynamically load modules
+* Optimizing CSS and stylesheets by inlining CSS files imported using @import, stripping out comments, etc.
+* The ability to run AMD projects in both Node and Rhino (more on this later)
+
+If you find yourself wanting to ship a single file with all dependencies included, r.js can help with this too. Whilst RequireJS does support lazy-loading, your application may be small enough that reducing HTTP requests to a single script file is feasible.
+
+You'll notice that I mentioned the word 'specific' in the first bullet point. The RequireJS optimizer only concatenates module scripts that have been specified as string literals in `require` and `define` calls (which you've probably used). As clarified by the [optimizer docs](http://requirejs.org/docs/optimization.html) this means that Backbone modules defined like this:
+
+```javascript
+define(['jquery', 'backbone', 'underscore', 'collections/sample', 'views/test'],
+ function($, Backbone, _, Sample, Test){
+ //...
+ });
+```
+
+will combine fine, however dynamic dependencies such as:
+
+```javascript
+var models = someCondition ? ['models/ab', 'models/ac'] : ['models/ba', 'models/bc'];
+define(['jquery', 'backbone', 'underscore'].concat(models),
+ function($, Backbone, _, firstModel, secondModel){
+ //...
+ });
+```
+
+will be ignored. This is by design as it ensures that dynamic dependency/module loading can still take place even after optimization.
+
+Although the RequireJS optimizer works fine in both Node and Java environments, it's strongly recommended to run it under Node as it executes significantly faster there.
+
+To get started with r.js, grab it from the [RequireJS download page](http://requirejs.org/docs/download.html#rjs) or [through NPM](http://requirejs.org/docs/optimization.html#download). To begin getting our project to build with r.js, we will need to create a new build profile.
+
+Assuming the code for our application and external dependencies are in `app/libs`, our build.js build profile could simply be:
+
+```
+({
+ baseUrl: 'app',
+ out: 'dist/main.js',
+```
+
+The paths above are relative to the `baseUrl` for our project and in our case it would make sense to make this the `app` folder. The `out` parameter informs r.js that we want to concatenate everything into a single file called `main.js` under the `dist/` directory. Note that here we do need to add the `.js` extension to the filename. Earlier, we saw that when referencing modules by filenames, you don't need to use the `.js` extension, however this is one case in which you do.
+
+Alternatively, we can specify `dir`, which will ensure the contents of our `app` directory are copied into this directory. e.g:
+
+```
+({
+ baseUrl: 'app',
+ dir: 'release',
+ out: 'dist/main.js'
+```
+
+Additional options that can be specified such as `modules` and `appDir` are not compatible with `out`, however let's briefly discuss them in case you do wish to use them.
+
+`modules` is an array where we can explicitly specify the module names we would like to have optimized.
+
+
+```
+ modules: [
+ {
+ name: 'app',
+ exclude: [
+ // If you prefer not to include certain
+ // libs exclude them here
+ ]
+ }
+```
+
+`appDir` - when specified, our`baseUrl` is relative to this parameter. If `appDir` is not defined, `baseUrl` is simply relative to the `build.js` file.
+
+```
+ appDir: './',
+```
+
+Back to our build profile, the `main` parameter is used to specify our main module - we are making use of `include` here as we're going to take advantage of [Almond](https://github.com/jrburke/almond) - a stripped down loader for RequireJS modules which is useful should you not need to load modules in dynamically.
+
+```
+ include: ['libs/almond', 'main'],
+ wrap: true,
+```
+
+`include` is another array which specifies the modules we want to include in the build. By specifying "main", r.js will trace over all modules main depends on and will include them. `wrap` wraps modules which RequireJS needs into a closure so that only what we export is included in the global environment.
+
+```
+ paths: {
+ backbone: 'libs/backbone',
+ underscore: 'libs/underscore',
+ jquery: 'libs/jquery',
+ text: 'libs/text'
+ }
+})
+```
+The remainder of the build.js file would be a regular paths configuration object. We can compile our project into a target file by running:
+
+```
+node r.js -o build.js
+```
+
+which should place our compiled project into dist/main.js.
+
+The build profile is usually placed inside the 'scripts' or 'js' directory of your project. As per the docs, this file can however exist anywhere you wish, but you'll need to edit the contents of your build profile accordingly.
+
+That's it. As long as you have UglifyJS/Closure tools setup correctly, r.js should be able to easily optimize your entire Backbone project in just a few key-strokes.
+
+If you would like to learn more about build profiles, James Burke has a [heavily commented sample file](https://github.com/jrburke/r.js/blob/master/build/example.build.js) with all the possible options available.
+
+
+
+
+
+
diff --git a/chapters/09-bbb.md b/chapters/09-bbb.md
new file mode 100644
index 00000000..21cea923
--- /dev/null
+++ b/chapters/09-bbb.md
@@ -0,0 +1,594 @@
+# Backbone Boilerplate And Grunt-BBB
+
+Boilerplates provide us a starting point for working on projects. They're a base for building upon using the minimum required code to get something functional put together. When you're working on a new Backbone application, a new Model typically only takes a few lines of code to get working.
+
+That alone probably isn't enough however, as you'll need a Collection to group those models, a View to render them and perhaps a router if you're looking to making specific views of your Collection data bookmarkable. If you're starting on a completely fresh project, you may also need a build process in place to produce an optimized version of your app that can be pushed to production.
+
+This is where boilerplate solutions are useful.Rather than having to manually write out the initial code for each piece of your Backbone app, a boilerplate could do this for you, also ideally taking care of the build process.
+
+[Backbone Boilerplate](https://github.com/tbranyen/backbone-boilerplate/) (or just BB) provides just this. It is an excellent set of best practices and utilities for building Backbone.js applications, created by Backbone contributor [Tim Branyen](https://github.com/tbranyen). He took the the gotchas, pitfalls and common tasks he ran into while heavily using Backbone to build apps and crafted BB as a result of this experience.
+
+[Grunt-BBB or Boilerplate Build Buddy](https://github.com/backbone-boilerplate/grunt-bbb) is the companion tool to BB, which offers scaffolding, file watcher and build capabilities. Used together with BB it provides an excellent base for quickly starting new Backbone applications.
+
+![](img/bbb.png)
+
+Out of the box, BB and Grunt-BBB provide provide us with:
+
+* Backbone, [Lodash](https://github.com/bestiejs/lodash) (an [Underscore.js](http://underscorejs.org/) alternative) and [jQuery](http://jquery.com) with an [HTML5 Boilerplate](http://html5boilerplate.com) foundation
+* Boilerplate and scaffolding support, allowing us to spend minimal time writing boilerplate for modules, collections and so on.
+* A build tool for template pre-compilation and, concatenation & minification of all our libraries, application code and stylesheets
+* A Lightweight node.js webserver
+
+Notes on build tool steps:
+
+* Template pre-compilation: using a template library such as Underscore micro-templating or Handlebars.js generally involves three steps: (1) reading a raw template, (2) compiling it into a JavaScript function and (3) running the compiled template with your desired data. Precompiling eliminates the second step from runtime, by moving this process into a build step.
+* Concatenation is the process of combining a number of assets (in our case, script files) into a single (or fewer number) of files to reduce the number of HTTP requests required to obtain them.
+* Minification is the process of removing unnecessary characters (e.g white space, new lines, comments) from code and compressing it to reduce the overall size of the scripts being served.
+
+## Getting Started
+
+### Backbone Boilerplate and Grunt-BBB
+
+To get started we're going to install Grunt-BBB, which will include Backbone Boilerplate and any third-party dependencies it might need such as the Grunt build tool.
+
+We can install Grunt-bBB via NPM by running:
+
+```shell
+npm install -g bbb
+```
+
+That's it. We should now be good to go.
+
+A typical workflow for using grunt-bbb, which we will use later on is:
+
+* Initialize a new project (`bbb init`)
+* Add new modules and templates (`bbb init:module`)
+* Preview changes using the built in server (`bbb server`)
+* Run the build tool (`bbb build`)
+* Lint JavaScript, compile templates, build your application using r.js, minify CSS and JavaScript (using `bbb release`)
+
+## Creating a new project
+
+Let's create a new directory for our project and run `bbb init` to kick things off. A number of project sub-directories and files will be stubbed out for us, as shown below:
+
+```shell
+$ bbb init
+Running "init" task
+This task will create one or more files in the current directory, based on the
+environment and the answers to a few questions. Note that answering "?" to any
+question will show question-specific help and answering "none" to most questions
+will leave its value blank.
+
+"bbb" template notes:
+This tool will help you install, configure, build, and maintain your Backbone
+Boilerplate project.
+Writing app/app.js...OK
+Writing app/config.js...OK
+Writing app/main.js...OK
+Writing app/router.js...OK
+Writing app/styles/index.css...OK
+Writing favicon.ico...OK
+Writing grunt.js...OK
+Writing index.html...OK
+Writing package.json...OK
+Writing readme.md...OK
+Writing test/jasmine/index.html...OK
+Writing test/jasmine/spec/example.js...OK
+Writing test/jasmine/vendor/jasmine-html.js...OK
+Writing test/jasmine/vendor/jasmine.css...OK
+Writing test/jasmine/vendor/jasmine.js...OK
+Writing test/jasmine/vendor/jasmine_favicon.png...OK
+Writing test/jasmine/vendor/MIT.LICENSE...OK
+Writing test/qunit/index.html...OK
+Writing test/qunit/tests/example.js...OK
+Writing test/qunit/vendor/qunit.css...OK
+Writing test/qunit/vendor/qunit.js...OK
+Writing vendor/h5bp/css/main.css...OK
+Writing vendor/h5bp/css/normalize.css...OK
+Writing vendor/jam/backbone/backbone.js...OK
+Writing vendor/jam/backbone/package.json...OK
+Writing vendor/jam/backbone.layoutmanager/backbone.layoutmanager.js...OK
+Writing vendor/jam/backbone.layoutmanager/package.json...OK
+Writing vendor/jam/jquery/jquery.js...OK
+Writing vendor/jam/jquery/package.json...OK
+Writing vendor/jam/lodash/lodash.js...OK
+Writing vendor/jam/lodash/lodash.min.js...OK
+Writing vendor/jam/lodash/lodash.underscore.min.js...OK
+Writing vendor/jam/lodash/package.json...OK
+Writing vendor/jam/require.config.js...OK
+Writing vendor/jam/require.js...OK
+Writing vendor/js/libs/almond.js...OK
+Writing vendor/js/libs/require.js...OK
+
+Initialized from template "bbb".
+
+Done, without errors.
+```
+
+Let's review what has been generated.
+
+### index.html
+
+This is a fairly standard stripped-down HTML5 Boilerplate foundation with the notable exception of including [RequireJS](http://requirejs.org) at the bottom of the page.
+
+```html
+
+
+
+
+
+
+
+ Backbone Boilerplate
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+RequireJS - the [AMD](https://github.com/amdjs/amdjs-api/wiki/AMD) (Asynchronous Module Definition) module and script loader - will assist us with managing the modules in our application. We've already covered it in the last chapter, but let's recap what this particular block does in terms of the Boilerplate:
+
+```
+
+```
+
+The `data-main` attribute is used to inform RequireJS to load `app/config.js` (a configuration object) after it has finished loading itself. You'll notice that we've omitted the `.js` extension here as RequireJS can automatically add this for us, however it will respect your paths if we do choose to include it regardless. Let's now look at the config file being referenced.
+
+### config.js
+
+A RequireJS configuration object allows us to specify aliases and paths for dependencies we're likely to reference often (e.g., jQuery), bootstrap properties like our base application URL, and `shim` libraries that don't support AMD natively.
+
+This is what the config file in Backbone Boilerplate looks like:
+
+```javascript
+// Set the require.js configuration for your application.
+require.config({
+
+ // Initialize the application with the main application file and the JamJS
+ // generated configuration file.
+ deps: ["../vendor/jam/require.config", "main"],
+
+ paths: {
+ // Put paths here.
+ },
+
+ shim: {
+ // Put shims here.
+ }
+
+});
+```
+
+The first option defined in the above config is `deps: ["../vendor/jam/require.config", "main"]`. This informs RequireJS to load up additonal RequireJS configuration as well a a main.js file, which is considered the entry point for our application.
+
+ You may notice that we haven't specified any other path information for `main`. Require will infer the default `baseUrl` using the path from our `data-main` attribute in index.html. In other words, our `baseUrl` is `app/` and any scripts we require will be loaded relative to this location. We could use the `baseUrl` option to override this default if we wanted to use a different location.
+
+The next block is `paths`, which we can use to specify paths relative to the `baseUrl` as well as the paths/aliases to dependencies we're likely to regularly reference.
+
+After this comes `shim`, an important part of our RequireJS configuration which allows us to load libraries which are not AMD compliant. The basic idea here is that rather than requiring all libraries to implement support for AMD, the `shim` takes care of the hard work for us.
+
+Going back to `deps`, the contents of our `require.config` file can be seen below.
+
+```javascript
+var jam = {
+ "packages": [
+ {
+ "name": "backbone",
+ "location": "../vendor/jam/backbone",
+ "main": "backbone.js"
+ },
+ {
+ "name": "backbone.layoutmanager",
+ "location": "../vendor/jam/backbone.layoutmanager",
+ "main": "backbone.layoutmanager.js"
+ },
+ {
+ "name": "jquery",
+ "location": "../vendor/jam/jquery",
+ "main": "jquery.js"
+ },
+ {
+ "name": "lodash",
+ "location": "../vendor/jam/lodash",
+ "main": "./lodash.js"
+ }
+ ],
+ "version": "0.2.11",
+ "shim": {
+ "backbone": {
+ "deps": [
+ "jquery",
+ "lodash"
+ ],
+ "exports": "Backbone"
+ },
+ "backbone.layoutmanager": {
+ "deps": [
+ "jquery",
+ "backbone",
+ "lodash"
+ ],
+ "exports": "Backbone.LayoutManager"
+ }
+ }
+};
+
+```
+
+The `jam` object is to support configuration of [Jam](http://jamjs.org/) - a package manager for the front-end which helps instal, upgrade and configurate the dependencies used by your project. It is currently the package manager of choice for Backbone Boilerplate.
+
+Under the `packages` array, a number of dependencies are specified for inclusion, such as Backbone, the Backbone.LayoutManager plugin, jQuery and Lo-dash.
+
+For those curious about [Backbone.LayoutManager](https://github.com/tbranyen/backbone.layoutmanager), it's a Backbone plugin that provides a foundation for assembling layouts and views within Backbone.
+
+Additional packages you install using Jam will have a corresponding entry added to `packages`.
+
+### main.js
+
+Next, we have `main.js`, which defines the entry point for our application. We use a global `require()` method to load an array containing any other scripts needed, such as our application `app.js` and our main router `router.js`. Note that most of the time, we will only use `require()` for bootstrapping an application and a similar method called `define()` for all other purposes.
+
+The function defined after our array of dependencies is a callback which doesn't fire until these scripts have loaded. Notice how we're able to locally alias references to "app" and "router" as `app` and `Router` for convenience.
+
+```javascript
+require([
+ // Application.
+ "app",
+
+ // Main Router.
+ "router"
+],
+
+function(app, Router) {
+
+ // Define your master router on the application namespace and trigger all
+ // navigation from this instance.
+ app.router = new Router();
+
+ // Trigger the initial route and enable HTML5 History API support, set the
+ // root folder to '/' by default. Change in app.js.
+ Backbone.history.start({ pushState: true, root: app.root });
+
+ // All navigation that is relative should be passed through the navigate
+ // method, to be processed by the router. If the link has a `data-bypass`
+ // attribute, bypass the delegation completely.
+ $(document).on("click", "a[href]:not([data-bypass])", function(evt) {
+ // Get the absolute anchor href.
+ var href = { prop: $(this).prop("href"), attr: $(this).attr("href") };
+ // Get the absolute root.
+ var root = location.protocol + "//" + location.host + app.root;
+
+ // Ensure the root is part of the anchor href, meaning it's relative.
+ if (href.prop.slice(0, root.length) === root) {
+ // Stop the default event to ensure the link will not cause a page
+ // refresh.
+ evt.preventDefault();
+
+ // `Backbone.history.navigate` is sufficient for all Routers and will
+ // trigger the correct events. The Router's internal `navigate` method
+ // calls this anyways. The fragment is sliced from the root.
+ Backbone.history.navigate(href.attr, true);
+ }
+ });
+
+});
+
+```
+
+Inline, Backbone Boilerplate includes boilerplate code for initializing our router with HTML5 History API support and handling other navigation scenarios, so we don't have to.
+
+### app.js
+
+Let us now look at our `app.js` module. Typically, in non-Backbone Boilerplate applications, an `app.js` file may contain the core logic or module references needed to kick start an app.
+
+In this case however, this file is used to define templating and layout configuration options as well as utilities for consuming layouts. To a beginner, this might look like a lot of code to comprehend, but the good news is that for basic apps, you're unlikely to need to heavily modify this. Instead, you'll be more concerned with modules for your app, which we'll look at next.
+
+```javascript
+define([
+ "backbone.layoutmanager"
+], function() {
+
+ // Provide a global location to place configuration settings and module
+ // creation.
+ var app = {
+ // The root path to run the application.
+ root: "/"
+ };
+
+ // Localize or create a new JavaScript Template object.
+ var JST = window.JST = window.JST || {};
+
+ // Configure LayoutManager with Backbone Boilerplate defaults.
+ Backbone.LayoutManager.configure({
+ // Allow LayoutManager to augment Backbone.View.prototype.
+ manage: true,
+
+ prefix: "app/templates/",
+
+ fetch: function(path) {
+ // Concatenate the file extension.
+ path = path + ".html";
+
+ // If cached, use the compiled template.
+ if (JST[path]) {
+ return JST[path];
+ }
+
+ // Put fetch into `async-mode`.
+ var done = this.async();
+
+ // Seek out the template asynchronously.
+ $.get(app.root + path, function(contents) {
+ done(JST[path] = _.template(contents));
+ });
+ }
+ });
+
+ // Mix Backbone.Events, modules, and layout management into the app object.
+ return _.extend(app, {
+ // Create a custom object with a nested Views object.
+ module: function(additionalProps) {
+ return _.extend({ Views: {} }, additionalProps);
+ },
+
+ // Helper for using layouts.
+ useLayout: function(name, options) {
+ // Enable variable arity by allowing the first argument to be the options
+ // object and omitting the name argument.
+ if (_.isObject(name)) {
+ options = name;
+ }
+
+ // Ensure options is an object.
+ options = options || {};
+
+ // If a name property was specified use that as the template.
+ if (_.isString(name)) {
+ options.template = name;
+ }
+
+ // Create a new Layout with options.
+ var layout = new Backbone.Layout(_.extend({
+ el: "#main"
+ }, options));
+
+ // Cache the refererence.
+ return this.layout = layout;
+ }
+ }, Backbone.Events);
+
+});
+
+```
+
+Note: JST stands for JavaScript templates and generally refers to templates which have been (or will be) precompiled as part of a build step. When running `bbb release` or `bbb debug`, Underscore/Lo-dash templates will be precompiled to avoid the need to compile them at runtime within the browser.
+
+### Creating Backbone Boilerplate Modules
+
+Not to be confused with simply being just an AMD module, a Backbone Boilerplate `module` is a script composed of a:
+
+* Model
+* Collection
+* Views (optional)
+
+We can easily create a new Boilerplate module using `grunt-bbb` once again using `init`:
+
+```shell
+# Create a new module
+$ bbb init:module
+
+# Grunt prompt
+Please answer the following:
+[?] Module Name foo
+[?] Do you need to make any changes to the above before continuing? (y/N)
+
+Writing app/modules/foo.js...OK
+Writing app/styles/foo.styl...OK
+Writing app/templates/foo.html...OK
+
+Initialized from template "module".
+
+Done, without errors.
+```
+
+This will generate a module `foo.js` as follows:
+
+```javascript
+// Foo module
+define([
+ // Application.
+ "app"
+],
+
+// Map dependencies from above array.
+function(app) {
+
+ // Create a new module.
+ var Foo = app.module();
+
+ // Default Model.
+ Foo.Model = Backbone.Model.extend({
+
+ });
+
+ // Default Collection.
+ Foo.Collection = Backbone.Collection.extend({
+ model: Foo.Model
+ });
+
+ // Default View.
+ Foo.Views.Layout = Backbone.Layout.extend({
+ template: "foo"
+ });
+
+ // Return the module for AMD compliance.
+ return Foo;
+
+});
+```
+
+Notice how boilerplate code for a model, collection and view have been scaffolded out for us.
+
+Optionally, we may also wish to include references to plugins such as the Backbone LocalStorage or Offline adapters. One clean way of including a plugin in the above boilerplate could be:
+
+```javascript
+// Foo module
+define([
+ // Application.
+ "app",
+ // Plugins
+ 'plugins/backbone-localstorage'
+],
+
+// Map dependencies from above array.
+function(app) {
+
+ // Create a new module.
+ var Foo = app.module();
+
+ // Default Model.
+ Foo.Model = Backbone.Model.extend({
+ // Save all of the items under the `"foo"` namespace.
+ localStorage: new Store('foo-backbone'),
+ });
+
+ // Default Collection.
+ Foo.Collection = Backbone.Collection.extend({
+ model: Foo.Model
+ });
+
+ // Default View.
+ Foo.Views.Layout = Backbone.Layout.extend({
+ template: "foo"
+ });
+
+ // Return the module for AMD compliance.
+ return Foo;
+
+});
+```
+
+### router.js
+
+Finally, let's look at our application router which is used for handling navigation. The default router Backbone Boilerplate generates for us includes sane defaults out of the box and can be easily extended.
+
+```javascript
+define([
+ // Application.
+ "app"
+],
+
+function(app) {
+
+ // Defining the application router, you can attach sub routers here.
+ var Router = Backbone.Router.extend({
+ routes: {
+ "": "index"
+ },
+
+ index: function() {
+
+ }
+ });
+
+ return Router;
+
+});
+```
+
+If however we would like to execute some module-specific logic, when the page loads (i.e when a user hits the default route), we can pull in a module as a dependency and optionally use the Backbone LayoutManager to attach Views to our layout as follows:
+
+```javascript
+define([
+ // Application.
+ 'app',
+
+ // Modules
+ 'modules/foo'
+],
+
+function(app, Foo) {
+
+ // Defining the application router, you can attach sub routers here.
+ var Router = Backbone.Router.extend({
+ routes: {
+ '': 'index'
+ },
+
+ index: function() {
+ // Create a new Collection
+ var collection = new Foo.Collection();
+
+ // Use and configure a 'main' layout
+ app.useLayout('main').setViews({
+ // Attach the bar View into the content View
+ '.bar': new Foo.Views.Bar({
+ collection: collection
+ })
+ }).render();
+ }
+ });
+
+ // Fetch data (e.g., from localStorage)
+ collection.fetch();
+
+ return Router;
+
+});
+```
+
+## Other Useful Tools & Projects
+
+When working with Backbone, you usually need to write a number of different classes and files for your application. Scaffolding tools such as Grunt-BBB can help automate this process by generating basic boilerplates for the files you need for you.
+
+### Yeoman
+
+If you appreciated Grunt-BBB but would like to explore a tool for assisting with your broader development workflow, I'm happy to recommend a tool I've been helping with called [Yeoman](http://yeoman.io).
+
+![](img/yeoman.png)
+
+Yeoman is a workflow comprised of a collection of tools and best practices for helping you develop more efficiently. It's comprised of yo (a scaffolding tool), [Grunt](http://gruntjs.com)(a build tool) and [Bower](http://bower.io) (a client-side package manager).
+
+Where Grunt-BBB focuses on offering an opionated start for Backbone projects, Yeoman allows you to scaffold apps using Backbone (or other frameworks), get Backbone plugins directly from the command-line and compile your CoffeeScript, Sass or other abstractions without additional effort.
+
+![](img/bower.png)
+
+You may also be interested in [Brunch](http://brunch.io/), a similar project which uses skeleton boilerplates to generate new applications.
+
+### Backbone DevTools
+
+When building an application with Backbone, there's some additional tooling available for your day-to-day debugging workflow.
+
+Backbone DevTools was created to help with this and is a Chrome DevTools extension allowing you to inspect events, syncs, View-DOM bindings and what objects have been instantiated.
+
+A useful View hierarchy is displayed in the Elements panel. Also, when you inspect a DOM element the closest View will be exposed via $view in the console.
+
+![](img/bbdevtools.jpg)
+
+At the time of writing, the project is currently available on [GitHub](https://github.com/spect88/backbone-devtools).
+
+## Conclusions
+
+In this section we reviewed Backbone Boilerplate and learned how to use the `bbb` tool to help us scaffold out our application.
+
+If you would like to learn more about how this project helps structure your app, BBB includes some built-in boilerplate sample apps that can be easily generated for review.
+
+These include a boilerplate tutorial project (`bbb init:tutorial`) and an implementation of my [TodoMVC](http://todomvc) project (`bbb init:todomvc`). I recommend checking these out as they'll provide you with a more complete picture of how Backbone Boilerplate, its templates, and so on fit into the overall setup for a web app.
+
+For more about Grunt-BBB, remember to take a look at the official project [repository](https://github.com/backbone-boilerplate/grunt-bbb). There is also a related [slide-deck](https://dl.dropbox.com/u/79007/talks/Modern_Web_Applications/slides/index.html) available for those interested in reading more.
+
+
+
+
diff --git a/chapters/09-exercise-3.md b/chapters/09-exercise-3.md
new file mode 100644
index 00000000..dcc05c97
--- /dev/null
+++ b/chapters/09-exercise-3.md
@@ -0,0 +1,483 @@
+# Exercise 3: Your First Modular Backbone + RequireJS App
+
+In this chapter, we'll look at our first practical Backbone & RequireJS project - how to build a modular Todo application. Similar to exercise 1, the application will allow us to add new todos, edit new todos and clear todo items that have been marked as completed. For a more advanced practical, see the section on mobile Backbone development.
+
+The complete code for the application can can be found in the `practicals/modular-todo-app` folder of this repo (thanks to Thomas Davis and Jérôme Gravel-Niquet). Alternatively grab a copy of my side-project [TodoMVC](https://github.com/addyosmani/todomvc) which contains the sources to both AMD and non-AMD versions.
+
+### Overview
+
+Writing a modular Backbone application can be a straight-forward process. There are however, some key conceptual differences to be aware of if opting to use AMD as your module format of choice:
+
+* As AMD isn't a standard native to JavaScript or the browser, it's necessary to use a script loader (such as RequireJS or curl.js) in order to support defining components and modules using this module format. As we've already reviewed, there are a number of advantages to using the AMD as well as RequireJS to assist here.
+* Models, views, controllers and routers need to be encapsulated *using* the AMD-format. This allows each component of our Backbone application to cleanly manage dependencies (e.g collections required by a view) in the same way that AMD allows non-Backbone modules to.
+* Non-Backbone components/modules (such as utilities or application helpers) can also be encapsulated using AMD. I encourage you to try developing these modules in such a way that they can both be used and tested independent of your Backbone code as this will increase their ability to be re-used elsewhere.
+
+Now that we've reviewed the basics, let's take a look at developing our application. For reference, the structure of our app is as follows:
+
+```
+index.html
+...js/
+ main.js
+ .../models
+ todo.js
+ .../views
+ app.js
+ todos.js
+ .../collections
+ todos.js
+ .../templates
+ stats.html
+ todos.html
+ ../libs
+ .../backbone
+ .../jquery
+ .../underscore
+ .../require
+ require.js
+ text.js
+...css/
+```
+
+### Markup
+
+The markup for the application is relatively simple and consists of three primary parts: an input section for entering new todo items (`create-todo`), a list section to display existing items (which can also be edited in-place) (`todo-list`) and finally a section summarizing how many items are left to be completed (`todo-stats`).
+
+```
+
+
+
+
+
+
+ Press Enter to save this task
+
+
+
+
+
+
+
+
+
+
+
+```
+
+The rest of the tutorial will now focus on the JavaScript side of the practical.
+
+### Configuration options
+
+If you've read the earlier chapter on AMD, you may have noticed that explicitly needing to define each dependency a Backbone module (view, collection or other module) may require with it can get a little tedious. This can however be improved.
+
+In order to simplify referencing common paths the modules in our application may use, we use a RequireJS [configuration object](http://requirejs.org/docs/api.html#config), which is typically defined as a top-level script file. Configuration objects have a number of useful capabilities, the most useful being mode name-mapping. Name-maps are basically a key:value pair, where the key defines the alias you wish to use for a path and the value represents the true location of the path.
+
+In the code-sample below, you can see some typical examples of common name-maps which include: `backbone`, `underscore`, `jquery` and depending on your choice, the RequireJS `text` plugin, which assists with loading text assets like templates.
+
+**main.js**
+
+```javascript
+require.config({
+ baseUrl:'../',
+ paths: {
+ jquery: 'libs/jquery/jquery-min',
+ underscore: 'libs/underscore/underscore-min',
+ backbone: 'libs/backbone/backbone-optamd3-min',
+ text: 'libs/require/text'
+ }
+});
+
+require(['views/app'], function(AppView){
+ var app_view = new AppView;
+});
+```
+
+The `require()` at the end of our main.js file is simply there so we can load and instantiate the primary view for our application (`views/app.js`). You'll commonly see both this and the configuration object included in most top-level script files for a project.
+
+In addition to offering name-mapping, the configuration object can be used to define additional properties such as `waitSeconds` - the number of seconds to wait before script loading times out and `locale`, should you wish to load up i18n bundles for custom languages. The `baseUrl` is simply the path to use for module lookups.
+
+For more information on configuration objects, please feel free to check out the excellent guide to them in the [RequireJS docs](http://requirejs.org/docs/api.html#config).
+
+
+### Modularizing our models, views and collections
+
+Before we dive into AMD-wrapped versions of our Backbone components, let's review a sample of a non-AMD view. The following view listens for changes to its model (a Todo item) and re-renders if a user edits the value of the item.
+
+```javascript
+var TodoView = Backbone.View.extend({
+
+ //... is a list tag.
+ tagName: 'li',
+
+ // Cache the template function for a single item.
+ template: _.template($('#item-template').html()),
+
+ // The DOM events specific to an item.
+ events: {
+ 'click .check' : 'toggleDone',
+ 'dblclick div.todo-content' : 'edit',
+ 'click span.todo-destroy' : 'clear',
+ 'keypress .todo-input' : 'updateOnEnter'
+ },
+
+ // The TodoView listens for changes to its model, re-rendering. Since there's
+ // a one-to-one correspondence between a **Todo** and a **TodoView** in this
+ // app, we set a direct reference on the model for convenience.
+ initialize: function() {
+ this.model.on('change', this.render, this);
+ this.model.view = this;
+ },
+ ...
+```
+
+Note how for templating the common practice of referencing a script by an ID (or other selector) and obtaining its value is used. This of course requires that the template being accessed is implicitly defined in our markup. The following is the 'embedded' version of our template being referenced above:
+
+```
+
+```
+
+Whilst there is nothing wrong with the template itself, once we begin to develop larger applications requiring multiple templates, including them all in our markup on page-load can quickly become both unmanageable and come with performance costs. We'll look at solving this problem in a minute.
+
+Let's now take a look at the AMD-version of our view. As discussed earlier, the 'module' is wrapped using AMD's `define()` which allows us to specify the dependencies our view requires. Using the mapped paths to 'jquery' etc. simplifies referencing common dependencies and instances of dependencies are themselves mapped to local variables that we can access (e.g 'jquery' is mapped to `$`).
+
+**views/todo.js**
+
+```javascript
+define([
+ 'jquery',
+ 'underscore',
+ 'backbone',
+ 'text!templates/todos.html'
+ ], function($, _, Backbone, todosTemplate){
+ var TodoView = Backbone.View.extend({
+
+ //... is a list tag.
+ tagName: 'li',
+
+ // Cache the template function for a single item.
+ template: _.template(todosTemplate),
+
+ // The DOM events specific to an item.
+ events: {
+ 'click .check' : 'toggleDone',
+ 'dblclick div.todo-content' : 'edit',
+ 'click span.todo-destroy' : 'clear',
+ 'keypress .todo-input' : 'updateOnEnter'
+ },
+
+ // The TodoView listens for changes to its model, re-rendering. Since there's
+ // a one-to-one correspondence between a **Todo** and a **TodoView** in this
+ // app, we set a direct reference on the model for convenience.
+ initialize: function() {
+ this.model.on('change', this.render, this);
+ this.model.view = this;
+ },
+
+ // Re-render the contents of the todo item.
+ render: function() {
+ this.$el.html(this.template(this.model.toJSON()));
+ this.setContent();
+ return this;
+ },
+
+ // Use `jQuery.text` to set the contents of the todo item.
+ setContent: function() {
+ var content = this.model.get('content');
+ this.$('.todo-content').text(content);
+ this.input = this.$('.todo-input');
+ this.input.on('blur', this.close);
+ this.input.val(content);
+ },
+ ...
+```
+
+ From a maintenance perspective, there's nothing logically different in this version of our view, except for how we approach templating.
+
+Using the RequireJS text plugin (the dependency marked `text`), we can actually store all of the contents for the template we looked at earlier in an external file (todos.html).
+
+**templates/todos.html**
+
+```html
+
+
+ />
+
+
+
+
+
+
+
+```
+
+There's no longer a need to be concerned with IDs for the template as we can map its contents to a local variable (in this case `todosTemplate`). We then simply pass this to the Underscore.js templating function `_.template()` the same way we normally would have the value of our template script.
+
+Next, let's look at how to define models as dependencies which can be pulled into collections. Here's an AMD-compatible model module, which has two default values: a `content` attribute for the content of a Todo item and a boolean `done` state, allowing us to trigger whether the item has been completed or not.
+
+**models/todo.js**
+
+```javascript
+define(['underscore', 'backbone'], function(_, Backbone) {
+ var TodoModel = Backbone.Model.extend({
+
+ // Default attributes for the todo.
+ defaults: {
+ // Ensure that each todo created has `content`.
+ content: 'empty todo...',
+ done: false
+ },
+
+ initialize: function() {
+ },
+
+ // Toggle the `done` state of this todo item.
+ toggle: function() {
+ this.save({done: !this.get('done')});
+ },
+
+ // Remove this Todo from *localStorage* and delete its view.
+ clear: function() {
+ this.destroy();
+ this.view.remove();
+ }
+
+ });
+ return TodoModel;
+});
+```
+
+As per other types of dependencies, we can easily map our model module to a local variable (in this case `Todo`) so it can be referenced as the model to use for our `TodosCollection`. This collection also supports a simple `done()` filter for narrowing down Todo items that have been completed and a `remaining()` filter for those that are still outstanding.
+
+**collections/todos.js**
+
+```javascript
+define([
+ 'underscore',
+ 'backbone',
+ 'libs/backbone/localstorage',
+ 'models/todo'
+ ], function(_, Backbone, Store, Todo){
+
+ var TodosCollection = Backbone.Collection.extend({
+
+ // Reference to this collection's model.
+ model: Todo,
+
+ // Save all of the todo items under the `todos` namespace.
+ localStorage: new Store('todos'),
+
+ // Filter down the list of all todo items that are finished.
+ done: function() {
+ return this.filter(function(todo){ return todo.get('done'); });
+ },
+
+ // Filter down the list to only todo items that are still not finished.
+ remaining: function() {
+ return this.without.apply(this, this.done());
+ },
+ ...
+```
+
+In addition to allowing users to add new Todo items from views (which we then insert as models in a collection), we ideally also want to be able to display how many items have been completed and how many are remaining. We've already defined filters that can provide us this information in the above collection, so let's use them in our main application view.
+
+**views/app.js**
+
+```javascript
+define([
+ 'jquery',
+ 'underscore',
+ 'backbone',
+ 'collections/todos',
+ 'views/todo',
+ 'text!templates/stats.html'
+ ], function($, _, Backbone, Todos, TodoView, statsTemplate){
+
+ var AppView = Backbone.View.extend({
+
+ // Instead of generating a new element, bind to the existing skeleton of
+ // the App already present in the HTML.
+ el: $('#todoapp'),
+
+ // Our template for the line of statistics at the bottom of the app.
+ statsTemplate: _.template(statsTemplate),
+
+ // ...events, initialize() etc. can be seen in the complete file
+
+ // Re-rendering the App just means refreshing the statistics -- the rest
+ // of the app doesn't change.
+ render: function() {
+ var done = Todos.done().length;
+ this.$('#todo-stats').html(this.statsTemplate({
+ total: Todos.length,
+ done: Todos.done().length,
+ remaining: Todos.remaining().length
+ }));
+ },
+ ...
+```
+
+Above, we map the second template for this project, `templates/stats.html` to `statsTemplate` which is used for rendering the overall `done` and `remaining` states. This works by simply passing our template the length of our overall Todos collection (`Todos.length` - the number of Todo items created so far) and similarly the length (counts) for items that have been completed (`Todos.done().length`) or are remaining (`Todos.remaining().length`).
+
+The contents of our `statsTemplate` can be seen below. It's nothing too complicated, but does use ternary conditions to evaluate whether we should state there's "1 item" or "2 items" in a particular state.
+
+```
+<% if (total) { %>
+
+ <%= remaining %>
+ <%= remaining == 1 ? 'item' : 'items' %> left.
+
+ <% } %>
+ <% if (done) { %>
+
+
+ Clear <%= done %>
+ completed <%= done == 1 ? 'item' : 'items' %>
+
+
+ <% } %>
+```
+
+
+
+The rest of the source for the Todo app mainly consists of code for handling user and application events, but that rounds up most of the core concepts for this practical.
+
+To see how everything ties together, feel free to grab the source by cloning this repo or browse it [online](https://github.com/addyosmani/backbone-fundamentals/tree/master/practicals/modular-todo-app) to learn more. I hope you find it helpful!
+
+**Note:** While this first practical doesn't use a build profile as outlined in the chapter on using the RequireJS optimizer, we will be using one in the section on building mobile Backbone applications.
+
+## Route-based module loading
+
+This section will discuss a route based approach to module loading as implemented in [Lumbar](http://walmartlabs.github.com/lumbar) by Kevin Decker. Like RequireJS, Lumbar is also a modular build system, but the pattern it implements for loading routes may be used with any build system.
+
+The specifics of the Lumbar build tool are not discussed in this book. To see a complete Lumbar based project with the loader and build system see [Thorax](http://thoraxjs.org) which provides boilerplate projects for various environments including Lumbar.
+
+### JSON-based module configuration
+
+RequireJS defines dependencies per file, while Lumbar defines a list of files for each module in a central JSON configuration file, outputting a single JavaScript file for each defined module. Lumbar requires that each module (except the base module) define a single router and a list of routes. An example file might look like:
+
+ {
+ "modules": {
+ "base": {
+ "scripts": [
+ "js/lib/underscore.js",
+ "js/lib/backbone.js",
+ "etc"
+ ]
+ },
+ "pages": {
+ "scripts": [
+ "js/routers/pages.js",
+ "js/views/pages/index.js",
+ "etc"
+ ],
+ "routes": {
+ "": "index",
+ "contact": "contact"
+ }
+ }
+ }
+ }
+
+Every JavaScript file defined in a module will have a `module` object in scope which contains the `name` and `routes` for the module. In `js/routers/pages.js` we could define a Backbone router for our `pages` module like so:
+
+ new (Backbone.Router.extend({
+ routes: module.routes,
+ index: function() {},
+ contact: function() {}
+ }));
+
+### Module loader Router
+
+A little used feature of `Backbone.Router` is its ability to create multiple routers that listen to the same set of routes. Lumbar uses this feature to create a router that listens to all routes in the application. When a route is matched, this master router checks to see if the needed module is loaded. If the module is already loaded, then the master router takes no action and the router defined by the module will handle the route. If the needed module has not yet been loaded, it will be loaded, then `Backbone.history.loadUrl` will be called. This reloads the route, causes the master router to take no further action and the router defined in the freshly loaded module to respond.
+
+A sample implementation is provided below. The `config` object would need to contain the data from our sample configuration JSON file above, and the `loader` object would need to implement `isLoaded` and `loadModule` methods. Note that Lumbar provides all of these implementations, the examples are provided to create your own implementation.
+
+ // Create an object that will be used as the prototype
+ // for our master router
+ var handlers = {
+ routes: {}
+ };
+
+ _.each(config.modules, function(module, moduleName) {
+ if (module.routes) {
+ // Generate a loading callback for the module
+ var callbackName = "loader_" moduleName;
+ handlers[callbackName] = function() {
+ if (loader.isLoaded(moduleName)) {
+ // Do nothing if the module is loaded
+ return;
+ } else {
+ //the module needs to be loaded
+ loader.loadModule(moduleName, function() {
+ // Module is loaded, reloading the route
+ // will trigger callback in the module's
+ // router
+ Backbone.history.loadUrl();
+ });
+ }
+ };
+ // Each route in the module should trigger the
+ // loading callback
+ _.each(module.routes, function(methodName, route) {
+ handlers.routes[route] = callbackName;
+ });
+ }
+ });
+
+ // Create the master router
+ new (Backbone.Router.extend(handlers));
+
+### Using NodeJS to handle pushState
+
+`window.history.pushState` support (serving Backbone routes without a hash mark) requires that the server be aware of what URLs your Backbone application will handle, since the user should be able to enter the app at any of those routes (or hit reload after navigating to a pushState URL).
+
+Another advantage to defining all routes in a single location is that the same JSON configuration file provided above could be loaded by the server, listening to each route. A sample implementation in NodeJS and Express:
+
+ var fs = require('fs'),
+ _ = require('underscore'),
+ express = require('express'),
+ server = express(),
+ config = JSON.parse(fs.readFileSync('path/to/config.json'));
+
+ _.each(config.modules, function(module, moduleName) {
+ if (module.routes) {
+ _.each(module.routes, function(methodName, route) {
+ server.get(route, function(req, res) {
+ res.sendFile('public/index.html');
+ });
+ });
+ }
+ });
+
+This assumes that index.html will be serving out your Backbone application. The `Backbone.History` object can handle the rest of the routing logic as long as a `root` option is specified. A sample configuration for a simple application that lives at the root might look like:
+
+ Backbone.history || (Backbone.history = new Backbone.History());
+ Backbone.history.start({
+ pushState: true,
+ root: '/'
+ });
+
+
+## An asset package alternative for dependency management
+
+For more than trivial views, DocumentCloud have a home-built asset packager called [Jammit](https://github.com/documentcloud/jammit), which has easy integration with Underscore.js templates and can also be used for dependency management.
+
+Jammit expects your JavaScript templates (JST) to live alongside any ERB templates you're using in the form of .jst files. It packages the templates into a global JST object which can be used to render templates into strings. Making Jammit aware of your templates is straight-forward - just add an entry for something like `views/**/*.jst` to your app package in assets.yml.
+
+To provide Jammit dependencies you simply write out an assets.yml file that either listed the dependencies in order or used a combination of free capture directories (for example: /**/*.js, templates/*.js, and specific files).
+
+A template using Jammit can derive it's data from the collection object that is passed to it:
+
+```
+this.$el.html(JST.myTemplate({ collection: this.collection }));
+```
diff --git a/chapters/10-mobile-applications.md b/chapters/10-mobile-applications.md
new file mode 100644
index 00000000..bfeb6a33
--- /dev/null
+++ b/chapters/10-mobile-applications.md
@@ -0,0 +1,739 @@
+# Backbone & jQuery Mobile
+
+### Mobile app development with jQuery Mobile
+
+The mobile web is huge and it is continuing to grow at an impressive rate. Along with the massive growth of the mobile internet comes a striking diversity of devices and browsers. As a result, making your applications cross-platform and mobile-ready is both important and challenging.
+Creating native apps is expensive.
+It is very costly in terms of time and it usually requires varied experiences in programming languages like Objective C , C#, Java and JavaScript to support multiple runtime environments.
+
+HTML, CSS, and JavaScript enable you to build a single application targeting a common runtime environment: the browser. This approach supports a broad range of mobile devices such as tablets, smartphones, and notebooks along with traditional PCs.
+
+The challenging task is not only to adapt contents like text and pictures properly to various screen resolutions but also to have same user experience across native apps under different operating systems.
+Like jQueryUI, jQuery Mobile is a user interface framework based on jQuery that works across all popular phone, tablet, e-Reader, and desktop platforms. It is built with accessibility and universal access in mind.
+
+
+The main idea of the framework is to enable anyone to create a mobile app using only HTML. Knowledge of a programming language is not required and there is no need to write complex, device specific CSS. For this reason jQMobile follows two main principles we first need to understand in order to integrate the framework to Backbone: *progressive enhancement* and *responsive web design*.
+
+
+#### The Principle of progressive widget enhancement by jQMobile
+
+JQuery Mobile follows progressive enhancement and responsive web design principles using HTML-5 markup-driven definitions and configurations.
+
+A page in jQuery Mobile consists of an element with a `data-role="page"` attribute.
+Within the `page` container, any valid HTML markup can be used, but for typical pages in jQM, the immediate children are divs with `data-role="header"`, `data-role="content"`, and `data-role="footer"`.
+The baseline requirement for a page is only a page wrapper to support the navigation system, the rest is optional.
+
+An initial HTML page looks like this:
+
+```html
+
+
+
+ Page Title
+
+
+
+
+
+
+
+
+
+
+
+
Page Title
+
+
+
Page content goes here.
+
+
+
+
Page Footer
+
+
+
+
+```
+
+*Example HTML setup of a basic jQuery Mobile page*
+
+JQuery Mobile will transform the written HTML definition to the rendered HTML and CSS using its Progressive Widget Enhancement API. It also executes JavaScript which is conditioned by configurations, attribute properties, and runtime specific settings.
+
+This implies: Whenever HTML content is added or changed, it needs to be handled by the progressive widget enhancement of jQuery Mobile.
+
+![](img/chapter10-1-1-1.png)
+
+*Comparison of the user interface of the default HTML to the jQuery Mobile enhanced version*
+
+#### Understanding jQuery Mobile Navigation
+
+The jQuery Mobile navigation system controls its application's lifecycle by automatically "hijacking" standard links and form submissions and turning them into AJAX requests. Whenever a link is clicked or a form is submitted, that event is automatically intercepted and used to issue an AJAX request based on the href or form action instead of reloading the page.
+
+When the page document is requested, jQuery Mobile searches the document for all elements with the `data-role="page"` attribute, parses its contents, and inserts that code into the DOM of the original page.
+Once the new page is prepared, jQuery Mobile's JavaScript triggers a transition that shows the new page and hides the HTML of the previous page in the DOM.
+
+Next, any widgets in the incoming page are enhanced to apply all the styles and behavior. The rest of the incoming page is discarded so any scripts, stylesheets, or other information will not be included.
+
+Via the *multi-page templating feature*, you can add as many pages as you want to the same HTML file within the body tag by defining divs with `data-role="page"` or `data-role="dialog"` attributes along with an `id` which can be used in links (preceded by a hashbang):
+
+
+```html
+
+ ...
+
+ ...
+
+
+
+```
+
+*jQuery Mobile multi-page templating example*
+
+To, for example, navigate to *secondpage* and have it appear in a modal dialog using a fade-transition, you would just add the `data-rel="dialog"`, `data-transition="fade"`, and `href="index.html#secondpage"` attributes to an anchor tag.
+
+Roughly speaking, having its own event cycle, jQuery Mobile is a tiny MVC framework which includes features like
+progressive widget enhancement, pre-fetching, caching, and multi-page templating by HTML configurations innately. In general, a Backbone.js developer does not need to know about its internal event workflow, but will need to know how to apply HTML-based configurations which will take action within the event phase. The *Intercepting jQuery Mobile Events* section goes into detail regarding how to handle special scenarios when fine-grained JavaScript adaptions need to be applied.
+
+For further introduction and explanations about jQuery Mobile visit:
+
+* [http://view.jquerymobile.com/1.3.0/docs/intro/](http://view.jquerymobile.com/1.3.0/docs/intro/)
+* [http://view.jquerymobile.com/1.3.0/docs/widgets/pages/](http://view.jquerymobile.com/1.3.0/docs/widgets/pages/)
+* [http://view.jquerymobile.com/1.3.0/docs/intro/rwd.php](http://view.jquerymobile.com/1.3.0/docs/intro/rwd.php)
+
+### Basic Backbone app setup for jQuery Mobile
+
+The first major hurdle developers typically run into when building applications with jQuery Mobile and an MV* framework is that both frameworks want to handle application navigation.
+
+To combine Backbone and jQuery Mobile, we first need to disable jQuery Mobile's navigation system and progressive enhancement. The second step will then be to make use of jQM's custom API to apply configurations and enhance components during Backbone's application lifecycle instead.
+
+The mobile app example presented here is based on the existing codebase of the TodoMVC Backbone-Require.js example, which was discussed in an earlier chapter, and is enhanced to support jQuery Mobile.
+
+![](img/chapter10-1-1.png)
+
+*Screenshot of the TodoMVC app with jQuery Mobile*
+
+This implementation makes use of Grunt-BBB as well as Handlebars.js. Additional utilities useful for mobile applications will be provided, which can be easily combined and extended.
+(see the *Backbone Boilerplate & Grunt-BBB* and *Backbone Extensions* chapters)
+
+![](img/chapter10-1-2.png)
+
+*Workspace of the TodoMVC app with jQueryMobile and Backbone*
+
+The order of the files loaded by Require.js is as follows:
+
+1. jQuery
+2. Underscore/Lodash
+3. handlebars.compiled
+4. TodoRouter (instantiates specific views)
+5. jQueryMobile
+6. JqueryMobileCustomInitConfig
+7. Instantiation of the Backbone Router
+
+By opening the console in the project directory and then running the Grunt-Backbone command `grunt handlebars` or `grunt watch` in the console, it will combine and compile all template files to `dist/debug/handlebars_packaged`. To start the application, run `grunt server`.
+
+Files instantiated, when redirected from the Backbone-Router are:
+
+a) *BasicView.js* and *basic_page_simple.template*
+
+ The BasicView is responsible for the Handlebars multipage-template processing. Its implementation of `render` calls the jQuery Mobile API `$.mobile.changePage` to handle page navigation and progressive widget enhancement.
+
+b) Concrete view with its template partial
+
+ E.g., `EditTodoPage.js` and `editTodoView.template_partial`
+
+
+The head section of `index.html` needs to load the `jquerymobile.css` as well as the `base.css`,
+which is used by all Todo-MVC apps, and the `index.css` for some project-specific custom CSS.
+
+```html
+
+
+
+
+
+
+ TodoMVC Jquery Mobile
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+*index.html*
+
+### Workflow with Backbone and jQueryMobile
+
+By delegating the routing and navigation functions of the jQuery Mobile Framework to Backbone, we can profit from its clear separation of application structure to later on easily share application logic between a desktop webpage, tablets, and mobile apps.
+
+We now need to contend with the different ways in which Backbone and jQuery Mobile handle requests. `Backbone.Router` offers an explicit way to define custom navigation routes, while jQuery Mobile uses URL hash fragments to reference separate pages or views in the same document.
+
+Some of the ideas that have been previously proposed to work-around this problem included manually patching Backbone and jQuery Mobile. The solution demonstrated below will not only simplify the handling of the jQuery Mobile component initialization event-cycle, but also enables use of existing Backbone Router handlers.
+
+To adapt the navigation control from jQuery Mobile to Backbone, we first need to apply some specific settings to the `mobileinit` event which occurs after the framework has loaded in order to let the Backbone Router decide which page to load.
+
+A configuration which will get jQM to delegate navigation to Backbone and which will also enable manual widget creation triggering is given below:
+
+```javascript
+$(document).bind("mobileinit", function(){
+
+// Disable jQM routing and component creation events
+ // disable hash-routing
+ $.mobile.hashListeningEnabled = false;
+ // disable anchor-control
+ $.mobile.linkBindingEnabled = false;
+ // can cause calling object creation twice and back button issues are solved
+ $.mobile.ajaxEnabled = false;
+ // Otherwise after mobileinit, it tries to load a landing page
+ $.mobile.autoInitializePage = false;
+ // we want to handle caching and cleaning the DOM ourselves
+ $.mobile.page.prototype.options.domCache = false;
+
+// consider due to compatibility issues
+ // not supported by all browsers
+ $.mobile.pushStateEnabled = false;
+ // Solves phonegap issues with the back-button
+ $.mobile.phonegapNavigationEnabled = true;
+ //no native datepicker will conflict with the jQM component
+ $.mobile.page.prototype.options.degradeInputs.date = true;
+});
+```
+
+*jquerymobile.config.js*
+
+The behaviour and usage of the new workflow will be explained belowe, grouped by its functionalities:
+
+a) Routing to a concrete View-page
+
+b) Management of mobile page templates
+
+c) DOM management
+
+d) $.mobile.changePage
+
+
+In the following discussion, the steps 1-11 in the text refer to the new workflow diagram of the mobile application below.
+
+![](img/chapter10-2-1.png)
+
+*Workflow of TodoMVC, with Backbone and jQueryMobile*
+
+####Routing to a concrete View page, Inheriting from BasicView
+
+When the hash URL changes, e.g., a link is clicked, the configuration above prevents jQM from triggering its events. Instead, the Backbone Router listens to the hash changes and decides which view to request.
+
+Experience has shown that, for mobile pages, it is a good practice to create basic prototypes for jQM components such as basic pages, popups, and dialogs, as well as for using the jQuery Validation Plugin. This makes it much easier to exchange device-specific view logic at runtime and adopt general strategies. This will also help to add syntax and to support multi-chaining of prototype inheritance with JavaScript and Backbone.
+
+By creating a `BasicView` superclass, we enable all inheriting view-pages to share a common way of handling jQM along with common usage of a template engine and specific view handling.
+
+When building with Grunt/Yeoman, the semantic templates are compiled by Handlebar.js and the AMDs template files are combined into a single file. By merging all page definitions into a single-file-app, it becomes offline capable, which is important for mobile app.
+
+
+#### Management of Mobile Page Templates
+
+Within a concrete View page, you can override properties for static values and functions to return dynamic values of the super class `BasicView`. These values will be processed later by the BasicView to construct the HTML of a jQuery Mobile page with the help of Handlebars.
+
+Additional dynamic template parameters, e.g., Backbone model information, will be taken from the specific View and merged with the ones from the BasicView.
+
+A concrete View might look like:
+
+```javascript
+define([
+ "backbone", "modules/view/abstract/BasicView"],
+ function (Backbone, BasicView) {
+ return BasicView.extend({
+ id : "editTodoView",
+ getHeaderTitle : function () {
+ return "Edit Todo";
+ },
+ getSpecificTemplateValues : function () {
+ return this.model.toJSON();
+ },
+ events : function () {
+ // merged events of BasicView, to add an older fix for back button functionality
+ return _.extend({
+ 'click #saveDescription' : 'saveDescription'
+ }, this.constructor.__super__.events);
+ },
+ saveDescription : function (clickEvent) {
+ this.model.save({
+ title : $("#todoDescription", this.el).val()
+ });
+ return true;
+ }
+ });
+ });
+```
+
+*A concrete View (EditTodoPage.js)*
+
+
+By default, the BasicView uses `basic_page_simple.template` as the Handlebars template. If you need to use a custom template or want to introduce a new Super abstract View with an alternate template, override the `getTemplateID` function:
+
+```javascript
+getTemplateID : function(){
+ return "custom_page_template";
+}
+```
+
+By convention, the `id` attribute will be taken as the id of the jQM page as well as the filename of the corresponding template file to be inserted as a partial in the `basic_page_simple` template. In the case of the `EditTodoPage` view, the name of the file will be `editTodoPage.template_partial`.
+
+Every concrete page is meant to be a partial, which will be inserted in the `data-role="content"` element,
+where the parameter `templatePartialPageID` is located.
+
+Later on, the result of the `getHeaderTitle` function from `EditTodoPage` will replace the *headerTitle* in the abstract template.
+
+
+```javascript
+
+```
+
+*basic_page_simple.template*
+
+
+*Note: The `whatis` Handlebars View helper does simple logging of parameters.*
+
+
+All the additional parameters being returned by `getSpecificTemplateValues` will be inserted into the concrete template `editTodoPage.template_partial`.
+
+Because `footerContent` is expected to be used rarely, its content is returned by `getSpecificTemplateValues`.
+
+In the case of the EditTodoPage view, all the model information is being returned and `title` is used in the concrete partial page:
+
+
+```html
+
+
+
+
+ Save
+```
+
+*editTodoView.template_partial*
+
+
+When `render` is triggered, the `basic_page_simple.template` and `editTodoView.template_partial` templates will be loaded and the parameters from `EditTodoPage` and `BasicView` will be combined and generated by Handlebars to generate:
+
+```html
+
+```
+
+*Final HTML definition resulting from basic_page_simple_template and editTodoView.template_partial*
+
+The next section explains how the template parameters are collected by the `BasicView` and the HTML definition is loaded.
+
+
+#### DOM management and $.mobile.changePage
+
+When `render` is executed (line 29 is the source code listing below), `BasicView` first cleans up the DOM by removing the previous page (line 70). To delete the elements from the DOM, `$.remove` cannot be used, but `$previousEl.detach()` can be since `detach` does not remove the element's attached events and data.
+
+This is important, because jQuery Mobile still needs information (e.g., to trigger transition effects when switching to another page). Keep in mind that the DOM data and events should be cleared later on as well to avoid possible performance issues.
+
+Other strategies than the one used in the function `cleanupPossiblePageDuplicationInDOM` to cleanup the DOM are viable. To only remove the old page having the same id as the current from the DOM, when it was already requested before, would also be a working strategy of preventing DOM duplication. Depending on what fits best to your application needs, it is also possibly a one-banana problem to exchange it using a caching mechanism.
+
+Next, `BasicView` collects all template parameters from the concrete View implementation and inserts the HTML of the requested page into the body. This is done in steps 4, 5, 6, and 7 in the diagram above (between lines 23 and 51 in the source listing).
+
+Additionally, the `data-role` will be set on the jQuery Mobile page. Commonly used attribute values are
+page, dialog, or popup.
+
+As you can see, (starting at line 74), the `goBackInHistory` function contains a manual implementation to handle the back button's action. In certain scenarios, the back button navigation functionality of jQuery Mobile was not working with older versions and disabled jQMobile's navigation sytem.
+
+
+```javascript
+ 1 define([
+ 2 "lodash",
+ 3 "backbone",
+ 4 "handlebars",
+ 5 "handlebars_helpers"
+ 6 ],
+ 7
+ 8 function (_, Backbone, Handlebars) {
+ 9 var BasicView = Backbone.View.extend({
+10 initialize: function () {
+11 _.bindAll();
+12 this.render();
+13 },
+14 events: {
+15 "click #backButton": "goBackInHistory"
+16 },
+17 role: "page",
+18 attributes: function () {
+19 return {
+20 "data-role": this.role
+21 };
+22 },
+23 getHeaderTitle: function () {
+24 return this.getSpecificTemplateValues().headerTitle;
+25 },
+26 getTemplateID: function () {
+27 return "basic_page_simple";
+28 },
+29 render: function () {
+30 this.cleanupPossiblePageDuplicationInDOM();
+31 $(this.el).html(this.getBasicPageTemplateResult());
+32 this.addPageToDOMAndRenderJQM();
+33 this.enhanceJQMComponentsAPI();
+34 },
+35 // Generate HTML using the Handlebars templates
+36 getTemplateResult: function (templateDefinitionID, templateValues) {
+37 return window.JST[templateDefinitionID](templateValues);
+38 },
+39 // Collect all template paramters and merge them
+40 getBasicPageTemplateResult: function () {
+41 var templateValues = {
+42 templatePartialPageID: this.id,
+43 headerTitle: this.getHeaderTitle()
+44 };
+45 var specific = this.getSpecificTemplateValues();
+46 $.extend(templateValues, this.getSpecificTemplateValues());
+47 return this.getTemplateResult(this.getTemplateID(), templateValues);
+48 },
+49 getRequestedPageTemplateResult: function () {
+50 this.getBasicPageTemplateResult();
+51 },
+52 enhanceJQMComponentsAPI: function () {
+53 // changePage
+54 $.mobile.changePage("#" + this.id, {
+55 changeHash: false,
+56 role: this.role
+57 });
+58 },
+59 // Add page to DOM
+60 addPageToDOMAndRenderJQM: function () {
+61 $("body").append($(this.el));
+62 $("#" + this.id).page();
+63 },
+64 // Cleanup DOM strategy
+65 cleanupPossiblePageDuplicationInDOM: function () {
+66 // Can also be moved to the event "pagehide": or "onPageHide"
+67 var $previousEl = $("#" + this.id);
+68 var alreadyInDom = $previousEl.length >= 0;
+69 if (alreadyInDom) {
+70 $previousEl.detach();
+71 }
+72 },
+73 // Strategy to always support back button with disabled navigation
+74 goBackInHistory: function (clickEvent) {
+75 history.go(-1);
+76 return false;
+77 }
+78 });
+79
+80 return BasicView;
+81 });
+```
+
+*BasicView.js*
+
+After the dynamic HTML is added to the DOM, `$.mobile.changePage` has to be applied at step 8 (code line 54).
+
+This is the most important API call, because it triggers the jQuery Mobile component creation for the current page.
+
+Next, the page will be displayed to the user at step 9.
+
+
+```javascript
+
+
+ Save
+
+
+```
+
+![](img/chapter10-2-2.png)
+
+*Look and feel of the written HTML code and the jQuery Mobile enhanced Todo description page*
+
+UI enhancement is done in the `enhanceJQMComponentsAPI` function in line 52:
+
+```javascript
+$.mobile.changePage("#" + this.id, {
+ changeHash: false,
+ role: this.role
+ });
+```
+
+To retain control of hash routing, `changeHash` has to be set to false and the proper `role` parameter provided to guarantee proper page appearance. Finally, `changePage` will show the new page with its defined transition to the user.
+
+For the basic use cases, it is advised to have one View per page, and always render the complete page again by calling `$.mobile.changePage` when widget enhancement needs to be done.
+
+To progress component enrichment of a newly added HTML-fragment into the DOM, advanced techniques need to be applied to guarantee correct appearance of the mobile components. You need to be very careful when creating partial HTML code and updating values on UI elements. The next section will explain how to handle these situations.
+
+
+### Applying advanced jQM techniques to Backbone
+
+#### Dynamic DOM Scripting
+
+The solution described above solves the issues of handling routing with Backbone by calling `$.mobile.changePage('pageID')`. Additionally, it guarantees that the HTML page will be completely enhanced by the markup for jQuery Mobile.
+
+The second tricky part with jQuery Mobile is to dynamically manipulate specific DOM contents (e.g. after loading in content with Ajax). We suggest you use this technique only if there is evidence for an appreciable performance gain.
+
+With the current version (1.3), jQM provides three ways, documented and explained below in the official API, on forums, and blogs.
+
+* **$(“pageId”).trigger(“pagecreate”)**
+
+ *Creates markup of header, content as well as footer*
+
+* **$(“anyElement”).trigger(“create”)**
+
+ *Creates markup of the element as well as all children*
+
+* **$(“myListElement”).listview(“refresh”)**
+* **$('[type="radio"]').checkboxradio()**
+* **$('[type="text"]').textinput()**
+* **$('[type="button"]').button()**
+* **$('[data-role="navbar"]').navbar()**
+* **$('[type="range"]').slider()**
+* **$('select').selectmenu()**
+
+ *Every component of jQM offers plugins methods they can invoke to update the state of specific UI elements.*
+
+
+Sometimes, when creating a component from scratch, the following error can occur: 'cannot call methods on listview prior to initialization'. This can be avoided, with component initialization prior to markup enhancement, by calling it in the following way:
+
+```javascript
+ $('#mylist').listview().listview('refresh')
+```
+
+To see more details and enhancements for further scripting pages of JQM read their API and follow the release notes frequently.
+
+* [jQuery Mobile: Page Scripting](http://jquerymobile.com/test/docs/pages/page-scripting.html)
+* [jQuery Mobile: Document Ready vs. Page Events](http://stackoverflow.com/questions/14468659/jquery-mobile-document-ready-vs-page-events/ )
+* [StackOverflow: Markup Enhancement of Dynamically Added Content](http://stackoverflow.com/questions/14550396/jquery-mobile-markup-enhancement-of-dynamically-added-content)
+
+
+If you consider using a `Model-Binding Plugin`, you will need to come up with an automated mechanism to enrich single components.
+
+After having a look at the previous section about Dynamic DOM Scripting, it might not be acceptable to completely re-create a component (e.g a Listview) which takes a longer time to load and to reduce the complexity of event-delegation. Instead, the component-specific plugins, which will only update the needed parts of the HTML and CSS, should be used.
+
+In the case of a Listview, you would need to call the following function to update the list of added, edited, or removed entries:
+
+```javascript
+$('#mylist').listview()
+```
+
+You need to come up with a means of detecting the component type to in order to decide which plugin method needs to be called. The jQuery Mobile Angular.js Adapter provides such a strategy and solution as well.
+
+[Example of Model Binding with jQuery Mobile](https://github.com/tigbro/jquery-mobile-angular-adapter/blob/master/src/main/webapp/integration/jqmWidgetPatches.js)
+
+
+#### Intercepting jQuery Mobile Events
+
+In special situations you will need to take action on a triggered jQuery Mobile event, which can be done as follows:
+
+```javascript
+$('#myPage').live('pagebeforecreate', function(event){
+ console.log(page was inserted into the DOM');
+ //run your own enhancement scripting here...
+ // prevent the page plugin from making its manipulations
+ return false;
+});
+
+$('#myPage').live('pagecreate', function(event){
+ console.log(‘page was enhanced by jQM');
+});
+```
+
+In such scenarios, it is important to know when the jQuery Mobile events occur. The following diagram depicts the event cycle (page A is the outgoing page and page B is the incoming page).
+
+
+![](img/chapter10-3-1.png)
+
+*jQuery Mobile Event Cycle*
+
+An alternative is the jQuery Mobile Router project, which you might use to replace the Backbone Router. With the help of the jQM Router project, you could achieve a powerful way to intercept and route one of the various jQM events. It is an extension to jQuery Mobile, which can be used independently.
+
+Be aware that jQM-Router misses some features of Backbone.Router and is tightly coupled with the jQuery Mobile framework. For these reasons, we did not use it for the TodoMVC app. If you intend to use it, consider using a Backbone.js custom build to exclude the router code. This might save around 25% relative to the max compressed size of 17,1 KB.
+
+[Backbone's Custom Builder](http://gregfranko.com/backbone/customBuild/)
+
+
+#### Performance
+
+Performance is an important topic on mobile devices. jQuery Mobile provides various tools that create performance logs which can give you a good overview of the actual time spent in routing logic, component enhancement, and visual effects.
+
+Depending on the device, the time spent on transitions can take up to 90% of the load time. To disable all transitions, you can either pass the transition `none` to `$.mobile.changePage()`, in the configuration code block:
+
+```javascript
+$(document).bind("mobileinit", function(){
+…
+// Otherwise, depending on takes up to 90% of loadtime
+ $.mobile.defaultPageTransition = "none";
+ $.mobile.defaultDialogTransition = "none";
+ });
+ })
+```
+
+or consider adding device-specific settings, for example:
+
+```javascript
+$(document).bind("mobileinit", function(){
+
+ var iosDevice =((navigator.userAgent.match(/iPhone/i))
+ || (navigator.userAgent.match(/iPod/i))) ? true : false;
+
+ $.extend( $.mobile , {
+ slideText : (iosDevice) ? "slide" : "none",
+ slideUpText : (iosDevice) ? "slideup" : "none",
+ defaultPageTransition:(iosDevice) ? "slide" : "none",
+ defaultDialogTransition:(iosDevice) ? "slide" : "none"
+ });
+```
+
+Also, consider doing your own pre-caching of enhanced jQuery Mobile pages.
+
+The jQuery Mobile API is frequently enhanced with regards to this topic in each new release. We suggest you take a look at the latest updated API to determine an optimal caching strategy with dynamic scripting that best fits your needs.
+
+For further information on performance, see the following:
+
+* [jQuery Mobile Profiling Tools](https://github.com/jquery/jquery-mobile/tree/master/tools)
+* [Device specific jQuery Mobile configuations](http://backbonefu.com/2012/01/jquery-mobile-and-backbone-js-the-ugly/)
+* [jQuery Mobile Debugging tools](http://www.objectpartners.com/2012/11/02/use-jquery-mobile%E2%80%99s-tools-suite-to-help-you-debug-and-improve-your-jquery-mobile-application/)
+* [jQuery Mobile precaching functionalities](http://jquerymobile.com/demos/1.2.0/docs/pages/page-cache.html)
+
+
+#### Clever Multi-Platform Support Management
+
+Nowadays, a company typically has an existing webpage and management decides to provide an additional mobile app to customers. The code of the web page and the mobile app become independent of each other and the time required for content or feature changes becomes much higher than for the webpage alone.
+
+As the trend is towards an increasing number of mobile platforms and dimensions, the effort required to support them is only increasing as well. Ultimately, creating per-device experiences is not always viable. However, it is essential that content is available to all users, regardless of their browser and platform. This principle must be kept in mind during the design phase.
+
+*[Responsive Design](http://www.lukew.com/ff/entry.asp?933)* and *[Mobile First](http://www.abookapart.com/products/mobile-first)* approaches address these challenges.
+
+The mobile app architecture presented in this chapter takes care of a lot of the actual heavy lifting required, as it supports responsive layouts out of the box and even supports browsers which cannot handle media queries. It might not be obvious that jQM is a UI framework not dissimilar to jQuery UI. jQuery Mobile is using the widget factory and is capable of being used for more than just mobile environments.
+
+To support multi-platform browsers using jQuery Mobile and Backbone,
+you can, in order of increasing time and effort:
+
+1. Ideally, have one code project, where only CSS differs for different devices.
+2. Same code project, and at runtime different HTML templates
+ and super-classes are exchanged per device type.
+3. Same code project, and the Responsive Design API and most widgets of jQuery Mobile will be reused.
+ For the desktop browser, some components will be added by another widget framework
+ (e.g. *jQueryUI* or *Twitter Boostrap*), e.g. controlled by the HTML templating.
+4. Same code project, and at runtime, jQuery Mobile will be completely replaced
+ by another widget framework (e.g. *jQueryUI* or *Twitter Boostrap*).
+ Super-classes and configurations, as well as concrete Backbone.View code snippets need to be replaced.
+5. Different code projects, but common modules are reused.
+6. For the desktop app, there is a completely separate code project.
+ Reasons might be the usage of complete different programming languagages
+ and/or frameworks, lack of Responsive Design knowledge or legacy of pollution.
+
+The ideal solution, to build a nice-looking desktop application with only one mobile framework, sounds crazy, but is feasible.
+
+If you have a look at the jQuery Mobile API page in a desktop browser, it does not look anything like a mobile application.
+
+![](img/chapter10-3-3.png)
+
+*Desktop view of the jQuery Mobile API and Docs application (http://view.jquerymobile.com/1.3.0/)*
+
+The same goes for the jQuery Mobile design examples, where jQuery Mobile intends to add further user interface experiences.
+
+![](img/chapter10-3-4.png)
+
+*Design examples of jQuery Mobile for desktop environments, http://jquerymobile.com/designs/#desktop*
+
+The accordions, date-pickers, sliders - everything in the desktop UI is re-using what jQM would be providing users on mobile devices. By way of example, adding the attribute `data-mini="true"` on components will lose the clumsiness of the mobile widgets on a desktop browser.
+
+See http://jquerymobile.com/demos/1.2.0/docs/forms/forms-all-mini.html, Mini-widgets for desktop applications by jQuery Mobile.
+
+Thanks to some media queries, the desktop UI can make optimal use of whitespace, expanding component blocks out and providing alternative layouts while still making use of jQM as the component framework.
+
+The benefit of this is that you don’t need to pull in another widget framework (e.g., jQuery UI) separately to be able to take advantage of these features. Thanks to the ThemeRoller, the components can look pretty much exactly how you would like them to and users of the app can get a jQM UI for lower-resolutions and a jQM-ish UI for everything else.
+
+The take away here is just to remember that if you are not already going through the hassle of conditional script/style loading based on screen-resolution (using matchMedia.js, etc.), there are simpler approaches that can be taken to cross-device component theming. At least the Responsive Design API of jQuery Mobile, which was added since version 1.3.0, is always reasonable because it will work for mobile as well as for desktop. In summary, you can manage jQuery Mobile components to give users a typical desktop appearance and they will not realize a difference.
+
+[Responsive Design with jQuery Mobile](http://view.jquerymobile.com/1.3.0/docs/intro/rwd.php)
+
+Also, if you hit your limits of CSS-styling and configurations of your jQuery Mobile application for desktop browsers, the additional effort to use jQuery Mobile and Twitter Bootstrap together can be quite simple.
+In the case that a desktop browser requests the page and Twitter Bootstrap has been loaded, the mobile TodoMVC app would need conditional code to not trigger the jQM Widget processive enhancement plugins API (demonstrated in the *Dynamic DOM Scripting* section) in the Backbone.View implementation. Therefore, as explained in the previous sections, we recommend triggering widget enhancements by `$.mobile.changePage` only once to load the complete page.
+
+An example of such a widget hybrid usage can be seen here:
+
+![](img/chapter10-3-2.png)
+
+*[Appengine boilerplate, desktop and mobile appearance](http://appengine.beecoss.com)*
+
+Although it is using server-side technologies for templating using the programming language Python,
+the principle of triggering progressive enhancement at page load is the same as `$mobile.changePage`.
+
+As you can see, the JavaScript and even the CSS stays the same. The only device-specific conditions and differences in implementations are for selecting the appropriate framework imports, which are located in the HTML template:
+
+```html
+...
+ {% if is_mobile %}
+
+ {% else %}
+
+
+
+
+ {% endif %}
+
+
+ {% block mediaCSS %}{% endblock %}
+...
+ {% if is_mobile %}
+
+ {% else %}
+
+ {% endif %}
+...
+```
diff --git a/chapters/10-pagination.md b/chapters/10-pagination.md
new file mode 100644
index 00000000..4ddced4b
--- /dev/null
+++ b/chapters/10-pagination.md
@@ -0,0 +1,549 @@
+
+# Paginating Backbone.js Requests & Collections
+
+## Introduction
+
+Pagination is a ubiquitous problem we often find ourselves needing to solve on the web - perhaps most predominantly when working with service APIs and JavaScript-heavy clients which consume them. It's also a problem that is often under-refined as most of us consider pagination relatively easy to get right. This isn't however always the case as pagination tends to get more tricky than it initially seems.
+
+Before we dive into solutions for paginating data for your Backbone applications, let's define exactly what we consider pagination to be:
+
+Pagination is a control system allowing users to browse through pages of search results (or any type of content) which is continued. Search results are the canonical example, but pagination today is found on news sites, blogs, and discussion boards, often in the form of Previous and Next links. More complete pagination systems offer granular control of the specific pages you can navigate to, giving the user more power to find what they are looking for.
+
+It isn't a problem limited to pages requiring some visual controls for pagination either - sites like Facebook, Pinterest, and Twitter have demonstrated that there are many contexts where infinite paging is also useful. Infinite paging is, of course, when we pre-fetch (or appear to pre-fetch) content from a subsequent page and add it directly to the user’s current page, making the experience feel "infinite".
+
+Pagination is very context-specific and depends on the content being displayed. In the Google search results, pagination is important as they want to offer you the most relevant set of results in the first 1-2 pages. After that, you might be a little more selective (or random) with the page you choose to navigate to. This differs from cases where you'll want to cycle through consecutive pages for (e.g., for a news article or blog post).
+
+Pagination is almost certainly content and context-specific, but as Faruk Ates has [previously](https://gist.github.com/mislav/622561) pointed out the principles of good pagination apply no matter what the content or context is. As with everything extensible when it comes to Backbone, you can write your own pagination to address many of these content-specific types of pagination problems. That said, you'll probably spend quite a bit of time on this and sometimes you just want to use a tried and tested solution that just works.
+
+On this topic, we're going to go through a set of pagination components I (and a group of [contributors](https://github.com/addyosmani/backbone.paginator/contributors)) wrote for Backbone.js, which should hopefully come in useful if you're working on applications which need to page Backbone Collections. They're part of an extension called [Backbone.Paginator](http://github.com/addyosmani/backbone.paginator).
+
+### Backbone.Paginator
+
+When working with data on the client-side, the three types of pagination we are most likely to run into are:
+
+**Requests to a service layer (API)** - For example, query for results containing the term 'Paul' - if 5,000 results are available only display 20 results per page (leaving us with 250 possible result pages that can be navigated to).
+
+This problem actually has quite a great deal more to it, such as maintaining persistence of other URL parameters (e.g sort, query, order) which can change based on a user's search configuration in a UI. One also has to think of a clean way of hooking views up to this pagination so you can easily navigate between pages (e.g., First, Last, Next, Previous, 1,2,3), manage the number of results displayed per page and so on.
+
+**Further client-side pagination of data returned -** e.g we've been returned a JSON response containing 100 results. Rather than displaying all 100 to the user, we only display 20 of these results within a navigable UI in the browser.
+
+Similar to the request problem, client-pagination has its own challenges like navigation once again (Next, Previous, 1,2,3), sorting, order, switching the number of results to display per page and so on.
+
+**Infinite results** - with services such as Facebook, the concept of numeric pagination is instead replaced with a 'Load More' or 'View More' button. Triggering this normally fetches the next 'page' of N results but rather than replacing the previous set of results loaded entirely, we simply append to them instead.
+
+A request pager which simply appends results in a view rather than replacing on each new fetch is effectively an 'infinite' pager.
+
+**Let's now take a look at exactly what we're getting out of the box:**
+
+Backbone.Paginator is a set of opinionated components for paginating collections of data using Backbone.js. It aims to provide both solutions for assisting with pagination of requests to a server (e.g an API) as well as pagination of single-loads of data, where we may wish to further paginate a collection of N results into M pages within a view.
+
+![](img/paginator-ui.png)
+
+Backbone.Paginator supports two main pagination components:
+
+* **Backbone.Paginator.requestPager**: For pagination of requests between a client and a server-side API
+* **Backbone.Paginator.clientPager**: For pagination of data returned from a server which you would like to further paginate within the UI (e.g 60 results are returned, paginate into 3 pages of 20)
+
+### Live Examples
+
+If you would like to look at examples built using the components included in the project, links to official demos are included below and use the Netflix API so that you can see them working with an actual data source.
+
+* [Backbone.Paginator.requestPager()](http://addyosmani.github.com/backbone.paginator/examples/netflix-request-paging/index.html)
+* [Backbone.Paginator.clientPager()](http://addyosmani.github.com/backbone.paginator/examples/netflix-client-paging/index.html)
+* [Infinite Pagination (Backbone.Paginator.requestPager())](http://addyosmani.github.com/backbone.paginator/examples/netflix-infinite-paging/index.html)
+* [Diacritic Plugin](http://addyosmani.github.com/backbone.paginator/examples/google-diacritic/index.html)
+
+##Paginator.requestPager
+
+In this section we're going to walk through using the requestPager. You would use this component when working with a service API which itself supports pagination. This component allows users to control the pagination settings for requests to this API (i.e navigate to the next, previous, N pages) via the client-side.
+
+The idea is that pagination, searching, and filtering of data can all be done from your Backbone application without the need for a page reload.
+
+![](img/paginator-request.png)
+
+####1. Create a new Paginated collection
+
+First, we define a new Paginated collection using `Backbone.Paginator.requestPager()` as follows:
+
+```javascript
+
+var PaginatedCollection = Backbone.Paginator.requestPager.extend({
+
+```
+
+####2. Set the model for the collection as normal
+
+Within our collection, we then (as normal) specify the model to be used with this collection followed by the URL (or base URL) for the service providing our data (e.g the Netflix API).
+
+```javascript
+
+ model: model,
+```
+
+####3. Configure the base URL and the type of the request
+
+We need to set a base URL. The `type` of the request is `GET` by default, and the `dataType` is `jsonp` in order to enable cross-domain requests.
+
+```javascript
+ paginator_core: {
+ // the type of the request (GET by default)
+ type: 'GET',
+
+ // the type of reply (jsonp by default)
+ dataType: 'jsonp',
+
+ // the URL (or base URL) for the service
+ // if you want to have a more dynamic URL, you can make this a function
+ // that returns a string
+ url: 'http://odata.netflix.com/Catalog/People(49446)/TitlesActedIn?'
+ },
+```
+
+## Gotchas!
+
+If you use `dataType` **NOT** jsonp, please remove the callback custom parameter inside the `server_api` configuration.
+
+####4. Configure how the library will show the results
+
+We need to tell the library how many items per page we would like to see, etc...
+
+```javascript
+ paginator_ui: {
+ // the lowest page index your API allows to be accessed
+ firstPage: 0,
+
+ // which page should the paginator start from
+ // (also, the actual page the paginator is on)
+ currentPage: 0,
+
+ // how many items per page should be shown
+ perPage: 3,
+
+ // a default number of total pages to query in case the API or
+ // service you are using does not support providing the total
+ // number of pages for us.
+ // 10 as a default in case your service doesn't return the total
+ totalPages: 10
+ },
+```
+
+####5. Configure the parameters we want to send to the server
+
+Only the base URL won't be enough for most cases, so you can pass more parameters to the server.
+Note how you can use functions instead of hardcoded values, and you can also refer to the values you specified in `paginator_ui`.
+
+```javascript
+ server_api: {
+ // the query field in the request
+ '$filter': '',
+
+ // number of items to return per request/page
+ '$top': function() { return this.perPage },
+
+ // how many results the request should skip ahead to
+ // customize as needed. For the Netflix API, skipping ahead based on
+ // page * number of results per page was necessary.
+ '$skip': function() { return this.currentPage * this.perPage },
+
+ // field to sort by
+ '$orderby': 'ReleaseYear',
+
+ // what format would you like to request results in?
+ '$format': 'json',
+
+ // custom parameters
+ '$inlinecount': 'allpages',
+ '$callback': 'callback'
+ },
+```
+
+## Gotchas!
+
+If you use `$callback`, please ensure that you did use the jsonp as a `dataType` inside your `paginator_core` configuration.
+
+####6. Finally, configure Collection.parse() and we're done
+
+The last thing we need to do is configure our collection's `parse()` method. We want to ensure we're returning the correct part of our JSON response containing the data our collection will be populated with, which below is `response.d.results` (for the Netflix API).
+
+You might also notice that we're setting `this.totalPages` to the total page count returned by the API. This allows us to define the maximum number of (result) pages available for the current/last request so that we can clearly display this in the UI. It also allows us to infuence whether clicking say, a 'next' button should proceed with a request or not.
+
+```javascript
+ parse: function (response) {
+ // Be sure to change this based on how your results
+ // are structured (e.g d.results is Netflix specific)
+ var tags = response.d.results;
+ //Normally this.totalPages would equal response.d.__count
+ //but as this particular NetFlix request only returns a
+ //total count of items for the search, we divide.
+ this.totalPages = Math.ceil(response.d.__count / this.perPage);
+ return tags;
+ }
+ });
+
+});
+```
+
+####Convenience methods:
+
+For your convenience, the following methods are made available for use in your views to interact with the `requestPager`:
+
+* **Collection.goTo( n, options )** - go to a specific page
+* **Collection.nextPage( options )** - go to the next page
+* **Collection.prevPage( options )** - go to the previous page
+* **Collection.howManyPer( n )** - set the number of items to display per page
+
+**requestPager** collection's methods `.goTo()`, `.nextPage()` and `.prevPage()` are all extensions of the original [Backbone Collection.fetch() methods](http://documentcloud.github.com/backbone/#Collection-fetch). As so, they all can take the same option object as a parameter.
+
+This option object can use `success` and `error` parameters to pass a function to be executed after server answer.
+
+```javascript
+Collection.goTo(n, {
+ success: function( collection, response ) {
+ // called is server request success
+ },
+ error: function( collection, response ) {
+ // called if server request fail
+ }
+});
+```
+
+To manage callback, you could also use the [jqXHR](http://api.jquery.com/jQuery.ajax/#jqXHR) returned by these methods to manage callback.
+
+```javascript
+Collection
+ .requestNextPage()
+ .done(function( data, textStatus, jqXHR ) {
+ // called is server request success
+ })
+ .fail(function( data, textStatus, jqXHR ) {
+ // called if server request fail
+ })
+ .always(function( data, textStatus, jqXHR ) {
+ // do something after server request is complete
+ });
+});
+```
+
+If you'd like to add the incoming models to the current collection, instead of replacing the collection's contents, pass `{update: true, remove: false}` as options to these methods.
+
+```javascript
+Collection.prevPage({ update: true, remove: false });
+```
+
+##Paginator.clientPager
+
+
+The clientPager is used to further paginate data that has already been returned by the service API. Say you've requested 100 results from the service and wish to split this into 5 pages of paginated results, each containing 20 results at a client level - the clientPager makes it trivial to do this.
+
+![](img/paginator-client.png)
+
+Use the clientPager when you prefer to get results in a single "load" and thus avoid making additional network requests each time your users want to fetch the next "page" of items. As the results have all already been requested, it's just a case of switching between the ranges of data actually presented to the user.
+
+####1. Create a new paginated collection with a model and URL
+
+As with `requestPager`, let's first create a new Paginated `Backbone.Paginator.clientPager` collection, with a model:
+
+```javascript
+ var PaginatedCollection = Backbone.Paginator.clientPager.extend({
+
+ model: model,
+```
+
+####2. Configure the base URL and the type of the request
+
+We need to set a base URL. The `type` of the request is `GET` by default, and the `dataType` is `jsonp` in order to enable cross-domain requests.
+
+```javascript
+ paginator_core: {
+ // the type of the request (GET by default)
+ type: 'GET',
+
+ // the type of reply (jsonp by default)
+ dataType: 'jsonp',
+
+ // the URL (or base URL) for the service
+ url: 'http://odata.netflix.com/v2/Catalog/Titles?&'
+ },
+```
+
+####3. Configure how the library will show the results
+
+We need to tell the library how many items per page we would like to see, etc...
+
+```javascript
+ paginator_ui: {
+ // the lowest page index your API allows to be accessed
+ firstPage: 1,
+
+ // which page should the paginator start from
+ // (also, the actual page the paginator is on)
+ currentPage: 1,
+
+ // how many items per page should be shown
+ perPage: 3,
+
+ // a default number of total pages to query in case the API or
+ // service you are using does not support providing the total
+ // number of pages for us.
+ // 10 as a default in case your service doesn't return the total
+ totalPages: 10,
+
+ // The total number of pages to be shown as a pagination
+ // list is calculated by (pagesInRange * 2) + 1.
+ pagesInRange: 4
+ },
+```
+
+####4. Configure the parameters we want to send to the server
+
+Only the base URL won't be enough for most cases, so you can pass more parameters to the server.
+Note how you can use functions instead of hardcoded values, and you can also refer to the values you specified in `paginator_ui`.
+
+```javascript
+ server_api: {
+ // the query field in the request
+ '$filter': 'substringof(\'america\',Name)',
+
+ // number of items to return per request/page
+ '$top': function() { return this.perPage },
+
+ // how many results the request should skip ahead to
+ // customize as needed. For the Netflix API, skipping ahead based on
+ // page * number of results per page was necessary.
+ '$skip': function() { return this.currentPage * this.perPage },
+
+ // field to sort by
+ '$orderby': 'ReleaseYear',
+
+ // what format would you like to request results in?
+ '$format': 'json',
+
+ // custom parameters
+ '$inlinecount': 'allpages',
+ '$callback': 'callback'
+ },
+```
+
+####5. Finally, configure Collection.parse() and we're done
+
+And finally we have our `parse()` method, which in this case isn't concerned with the total number of result pages available on the server as we have our own total count of pages for the paginated data in the UI.
+
+```javascript
+ parse: function (response) {
+ var tags = response.d.results;
+ return tags;
+ }
+
+ });
+```
+
+####Convenience methods:
+
+As mentioned, your views can hook into a number of convenience methods to navigate around UI-paginated data. For `clientPager` these include:
+
+* **Collection.goTo(n, options)** - go to a specific page
+* **Collection.prevPage(options)** - go to the previous page
+* **Collection.nextPage(options)** - go to the next page
+* **Collection.howManyPer(n)** - set how many items to display per page
+* **Collection.setSort(sortBy, sortDirection)** - update sort on the current view. Sorting will automatically detect if you're trying to sort numbers (even if they're strored as strings) and will do the right thing.
+* **Collection.setFilter(filterFields, filterWords)** - filter the current view. Filtering supports multiple words without any specific order, so you'll basically get a full-text search ability. Also, you can pass it only one field from the model, or you can pass an array with fields and all of them will get filtered. Last option is to pass it an object containing a comparison method and rules. Currently, only ```levenshtein``` method is available.
+
+The `goTo()`, `prevPage()`, and `nextPage()` functions do not require the `options` param since they will be executed synchronously. However, when specified, the success callback will be invoked before the function returns. For example:
+
+```javascript
+nextPage(); // this works just fine!
+nextPage({success: function() { }}); // this will call the success function
+```
+
+The options param exists to preserve (some) interface unification between the requestPaginator and clientPaginator so that they may be used interchangeably in your Backbone.Views.
+
+```javascript
+ this.collection.setFilter(
+ {'Name': {cmp_method: 'levenshtein', max_distance: 7}}
+ , "Amreican P" // Note the switched 'r' and 'e', and the 'P' from 'Pie'
+ );
+```
+
+Also note that the Levenshtein plugin should be loaded and enabled using the ```useLevenshteinPlugin``` variable.
+Last but not less important: performing Levenshtein comparison returns the ```distance``` between two strings. It won't let you *search* lengthy text.
+The distance between two strings means the number of characters that should be added, removed or moved to the left or to the right so the strings get equal.
+That means that comparing "Something" in "This is a test that could show something" will return 32, which is bigger than comparing "Something" and "ABCDEFG" (9).
+Use Levenshtein only for short texts (titles, names, etc).
+
+* **Collection.doFakeFilter(filterFields, filterWords)** - returns the models count after fake-applying a call to ```Collection.setFilter```.
+
+* **Collection.setFieldFilter(rules)** - filter each value of each model according to `rules` that you pass as argument. Example: You have a collection of books with 'release year' and 'author'. You can filter only the books that were released between 1999 and 2003. And then you can add another `rule` that will filter those books only to authors who's name start with 'A'. Possible rules: function, required, min, max, range, minLength, maxLength, rangeLength, oneOf, equalTo, containsAllOf, pattern. Passing this an empty rules set will remove any FieldFilter rules applied.
+
+
+```javascript
+
+ my_collection.setFieldFilter([
+ {field: 'release_year', type: 'range', value: {min: '1999', max: '2003'}},
+ {field: 'author', type: 'pattern', value: new RegExp('A*', 'igm')}
+ ]);
+
+ //Rules:
+ //
+ //var my_var = 'green';
+ //
+ //{field: 'color', type: 'equalTo', value: my_var}
+ //{field: 'color', type: 'function', value: function(field_value){ return field_value == my_var; } }
+ //{field: 'color', type: 'required'}
+ //{field: 'number_of_colors', type: 'min', value: '2'}
+ //{field: 'number_of_colors', type: 'max', value: '4'}
+ //{field: 'number_of_colors', type: 'range', value: {min: '2', max: '4'} }
+ //{field: 'color_name', type: 'minLength', value: '4'}
+ //{field: 'color_name', type: 'maxLength', value: '6'}
+ //{field: 'color_name', type: 'rangeLength', value: {min: '4', max: '6'}}
+ //{field: 'color_name', type: 'oneOf', value: ['green', 'yellow']}
+ //{field: 'color_name', type: 'pattern', value: new RegExp('gre*', 'ig')}
+ //{field: 'color_name', type: 'containsAllOf', value: ['green', 'yellow', 'blue']}
+```
+
+* **Collection.doFakeFieldFilter(rules)** - returns the models count after fake-applying a call to ```Collection.setFieldFilter```.
+
+####Implementation notes:
+
+You can use some variables in your ```View``` to represent the actual state of the paginator.
+
+* ```totalUnfilteredRecords``` - Contains the number of records, including all records filtered in any way. (Only available in ```clientPager```)
+* ```totalRecords``` - Contains the number of records
+* ```currentPage``` - The actual page were the paginator is at.
+* ```perPage``` - The number of records the paginator will show per page.
+* ```totalPages``` - The number of total pages.
+* ```startRecord``` - The position of the first record shown in the current page (eg 41 to 50 from 2000 records) (Only available in ```clientPager```)
+* ```endRecord``` - The position of the last record shown in the current page (eg 41 to 50 from 2000 records) (Only available in ```clientPager```)
+* ```pagesInRange``` - The number of pages to be drawn on each side of the current page. So if ```pagesInRange``` is 3 and ```currentPage``` is 13 you will get the numbers 10, 11, 12, 13(selected), 14, 15, 16.
+
+```html
+
+
+```
+
+### Plugins
+
+**Diacritic.js**
+
+A plugin for Backbone.Paginator that replaces diacritic characters (`´`, `˝`, `̏`, `˚`,`~` etc.) with characters that match them most closely. This is particularly useful for filtering.
+
+![](img/paginator-dia.png)
+
+To enable the plugin, set `this.useDiacriticsPlugin` to true, as can be seen in the example below:
+
+```javascript
+Paginator.clientPager = Backbone.Collection.extend({
+
+ // Default values used when sorting and/or filtering.
+ initialize: function(){
+ this.useDiacriticsPlugin = true; // use diacritics plugin if available
+ ...
+```
+
+### Bootstrapping
+
+By default, both the clientPager and requestPager will make an initial request to the server in order to populate their internal paging data. In order to avoid this additional request, it may be beneficial to bootstrap your Backbone.Paginator instance from data that already exists in the dom.
+
+**Backbone.Paginator.clientPager:**
+
+```javascript
+
+// Extend the Backbone.Paginator.clientPager with your own configuration options
+var MyClientPager = Backbone.Paginator.clientPager.extend({paginator_ui: {}});
+// Create an instance of your class and populate with the models of your entire collection
+var aClientPager = new MyClientPager([{id: 1, title: 'foo'}, {id: 2, title: 'bar'}]);
+// Invoke the bootstrap function
+aClientPager.bootstrap();
+```
+
+Note: If you intend to bootstrap a clientPager, there is no need to specify a 'paginator_core' object in your configuration (since you should have already populated the clientPager with the entirety of it's necessary data)
+
+**Backbone.Paginator.requestPager:**
+
+```javascript
+
+// Extend the Backbone.Paginator.requestPager with your own configuration options
+var MyRequestPager = Backbone.Paginator.requestPager.extend({paginator_ui: {}});
+// Create an instance of your class with the first page of data
+var aRequestPager = new MyRequestPager([{id: 1, title: 'foo'}, {id: 2, title: 'bar'}]);
+// Invoke the bootstrap function and configure requestPager with 'totalRecords'
+aRequestPager.bootstrap({totalRecords: 50});
+```
+
+Note: Both the clientPager and requestPager ```bootstrap``` function will accept an options param that will be extended by your Backbone.Paginator instance. However the 'totalRecords' property will be set implicitly by the clientPager.
+
+[More on Backbone bootstrapping](http://ricostacruz.com/backbone-patterns/#bootstrapping_data)
+
+### Styling
+
+You're of course free to customize the overall look and feel of the paginators as much as you wish. By default, all sample applications make use of the [Twitter Bootstrap](http://twitter.github.com/bootstrap) for styling links, buttons and drop-downs.
+
+CSS classes are available to style record counts, filters, sorting and more:
+
+![](img/paginator-styling2.png)
+
+Classes are also available for styling more granular elements like page counts within `breadcrumb > pages` e.g `.page`, `.page selected`:
+
+![](img/paginator-classes.png)
+
+There's a tremendous amount of flexibility available for styling and as you're in control of templating too, your paginators can be made to look as visually simple or complex as needed.
+
+### Conclusions
+
+Although it's certainly possible to write your own custom pagination classes to work with Backbone Collections, Backbone.Paginator tries to take care of much of this for you.
+
+It's highly configurable, avoiding the need to write your own paging when working with Collections of data sourced from your database or API. Use the plugin to help tame large lists of data into more manageable, easily navigatable, paginated lists.
+
+Additionally, if you have any questions about Backbone.Paginator (or would like to help improve it), feel free to post to the project [issues](https://github.com/addyosmani/backbone.paginator) list.
\ No newline at end of file
diff --git a/chapters/11-bbb.md b/chapters/11-bbb.md
new file mode 100644
index 00000000..0380480e
--- /dev/null
+++ b/chapters/11-bbb.md
@@ -0,0 +1,594 @@
+# Backbone Boilerplate And Grunt-BBB
+
+Boilerplates provide us a starting point for working on projects. They're a base for building upon using the minimum required code to get something functional put together. When you're working on a new Backbone application, a new Model typically only takes a few lines of code to get working.
+
+That alone probably isn't enough however, as you'll need a Collection to group those models, a View to render them and perhaps a router if you're looking to making specific views of your Collection data bookmarkable. If you're starting on a completely fresh project, you may also need a build process in place to produce an optimized version of your app that can be pushed to production.
+
+This is where boilerplate solutions are useful. Rather than having to manually write out the initial code for each piece of your Backbone app, a boilerplate could do this for you, also ideally taking care of the build process.
+
+[Backbone Boilerplate](https://github.com/tbranyen/backbone-boilerplate/) (or just BB) provides just this. It is an excellent set of best practices and utilities for building Backbone.js applications, created by Backbone contributor [Tim Branyen](https://github.com/tbranyen). He took the the gotchas, pitfalls and common tasks he ran into while heavily using Backbone to build apps and crafted BB as a result of this experience.
+
+[Grunt-BBB or Boilerplate Build Buddy](https://github.com/backbone-boilerplate/grunt-bbb) is the companion tool to BB, which offers scaffolding, file watcher and build capabilities. Used together with BB it provides an excellent base for quickly starting new Backbone applications.
+
+![](img/bbb.png)
+
+Out of the box, BB and Grunt-BBB provide provide us with:
+
+* Backbone, [Lodash](https://github.com/bestiejs/lodash) (an [Underscore.js](http://underscorejs.org/) alternative) and [jQuery](http://jquery.com) with an [HTML5 Boilerplate](http://html5boilerplate.com) foundation
+* Boilerplate and scaffolding support, allowing us to spend minimal time writing boilerplate for modules, collections and so on.
+* A build tool for template pre-compilation and, concatenation & minification of all our libraries, application code and stylesheets
+* A Lightweight node.js webserver
+
+Notes on build tool steps:
+
+* Template pre-compilation: using a template library such as Underscore micro-templating or Handlebars.js generally involves three steps: (1) reading a raw template, (2) compiling it into a JavaScript function and (3) running the compiled template with your desired data. Precompiling eliminates the second step from runtime, by moving this process into a build step.
+* Concatenation is the process of combining a number of assets (in our case, script files) into a single (or fewer number) of files to reduce the number of HTTP requests required to obtain them.
+* Minification is the process of removing unnecessary characters (e.g white space, new lines, comments) from code and compressing it to reduce the overall size of the scripts being served.
+
+## Getting Started
+
+### Backbone Boilerplate and Grunt-BBB
+
+To get started we're going to install Grunt-BBB, which will include Backbone Boilerplate and any third-party dependencies it might need such as the Grunt build tool.
+
+We can install Grunt-bBB via NPM by running:
+
+```shell
+npm install -g bbb
+```
+
+That's it. We should now be good to go.
+
+A typical workflow for using grunt-bbb, which we will use later on is:
+
+* Initialize a new project (`bbb init`)
+* Add new modules and templates (`bbb init:module`)
+* Preview changes using the built in server (`bbb server`)
+* Run the build tool (`bbb build`)
+* Lint JavaScript, compile templates, build your application using r.js, minify CSS and JavaScript (using `bbb release`)
+
+## Creating a new project
+
+Let's create a new directory for our project and run `bbb init` to kick things off. A number of project sub-directories and files will be stubbed out for us, as shown below:
+
+```shell
+$ bbb init
+Running "init" task
+This task will create one or more files in the current directory, based on the
+environment and the answers to a few questions. Note that answering "?" to any
+question will show question-specific help and answering "none" to most questions
+will leave its value blank.
+
+"bbb" template notes:
+This tool will help you install, configure, build, and maintain your Backbone
+Boilerplate project.
+Writing app/app.js...OK
+Writing app/config.js...OK
+Writing app/main.js...OK
+Writing app/router.js...OK
+Writing app/styles/index.css...OK
+Writing favicon.ico...OK
+Writing grunt.js...OK
+Writing index.html...OK
+Writing package.json...OK
+Writing readme.md...OK
+Writing test/jasmine/index.html...OK
+Writing test/jasmine/spec/example.js...OK
+Writing test/jasmine/vendor/jasmine-html.js...OK
+Writing test/jasmine/vendor/jasmine.css...OK
+Writing test/jasmine/vendor/jasmine.js...OK
+Writing test/jasmine/vendor/jasmine_favicon.png...OK
+Writing test/jasmine/vendor/MIT.LICENSE...OK
+Writing test/qunit/index.html...OK
+Writing test/qunit/tests/example.js...OK
+Writing test/qunit/vendor/qunit.css...OK
+Writing test/qunit/vendor/qunit.js...OK
+Writing vendor/h5bp/css/main.css...OK
+Writing vendor/h5bp/css/normalize.css...OK
+Writing vendor/jam/backbone/backbone.js...OK
+Writing vendor/jam/backbone/package.json...OK
+Writing vendor/jam/backbone.layoutmanager/backbone.layoutmanager.js...OK
+Writing vendor/jam/backbone.layoutmanager/package.json...OK
+Writing vendor/jam/jquery/jquery.js...OK
+Writing vendor/jam/jquery/package.json...OK
+Writing vendor/jam/lodash/lodash.js...OK
+Writing vendor/jam/lodash/lodash.min.js...OK
+Writing vendor/jam/lodash/lodash.underscore.min.js...OK
+Writing vendor/jam/lodash/package.json...OK
+Writing vendor/jam/require.config.js...OK
+Writing vendor/jam/require.js...OK
+Writing vendor/js/libs/almond.js...OK
+Writing vendor/js/libs/require.js...OK
+
+Initialized from template "bbb".
+
+Done, without errors.
+```
+
+Let's review what has been generated.
+
+### index.html
+
+This is a fairly standard stripped-down HTML5 Boilerplate foundation with the notable exception of including [RequireJS](http://requirejs.org) at the bottom of the page.
+
+```html
+
+
+
+
+
+
+
+ Backbone Boilerplate
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+RequireJS - the [AMD](https://github.com/amdjs/amdjs-api/wiki/AMD) (Asynchronous Module Definition) module and script loader - will assist us with managing the modules in our application. We've already covered it in the last chapter, but let's recap what this particular block does in terms of the Boilerplate:
+
+```
+
+```
+
+The `data-main` attribute is used to inform RequireJS to load `app/config.js` (a configuration object) after it has finished loading itself. You'll notice that we've omitted the `.js` extension here as RequireJS can automatically add this for us, however it will respect your paths if we do choose to include it regardless. Let's now look at the config file being referenced.
+
+### config.js
+
+A RequireJS configuration object allows us to specify aliases and paths for dependencies we're likely to reference often (e.g., jQuery), bootstrap properties like our base application URL, and `shim` libraries that don't support AMD natively.
+
+This is what the config file in Backbone Boilerplate looks like:
+
+```javascript
+// Set the require.js configuration for your application.
+require.config({
+
+ // Initialize the application with the main application file and the JamJS
+ // generated configuration file.
+ deps: ["../vendor/jam/require.config", "main"],
+
+ paths: {
+ // Put paths here.
+ },
+
+ shim: {
+ // Put shims here.
+ }
+
+});
+```
+
+The first option defined in the above config is `deps: ["../vendor/jam/require.config", "main"]`. This informs RequireJS to load up additonal RequireJS configuration as well a a main.js file, which is considered the entry point for our application.
+
+ You may notice that we haven't specified any other path information for `main`. Require will infer the default `baseUrl` using the path from our `data-main` attribute in index.html. In other words, our `baseUrl` is `app/` and any scripts we require will be loaded relative to this location. We could use the `baseUrl` option to override this default if we wanted to use a different location.
+
+The next block is `paths`, which we can use to specify paths relative to the `baseUrl` as well as the paths/aliases to dependencies we're likely to regularly reference.
+
+After this comes `shim`, an important part of our RequireJS configuration which allows us to load libraries which are not AMD compliant. The basic idea here is that rather than requiring all libraries to implement support for AMD, the `shim` takes care of the hard work for us.
+
+Going back to `deps`, the contents of our `require.config` file can be seen below.
+
+```javascript
+var jam = {
+ "packages": [
+ {
+ "name": "backbone",
+ "location": "../vendor/jam/backbone",
+ "main": "backbone.js"
+ },
+ {
+ "name": "backbone.layoutmanager",
+ "location": "../vendor/jam/backbone.layoutmanager",
+ "main": "backbone.layoutmanager.js"
+ },
+ {
+ "name": "jquery",
+ "location": "../vendor/jam/jquery",
+ "main": "jquery.js"
+ },
+ {
+ "name": "lodash",
+ "location": "../vendor/jam/lodash",
+ "main": "./lodash.js"
+ }
+ ],
+ "version": "0.2.11",
+ "shim": {
+ "backbone": {
+ "deps": [
+ "jquery",
+ "lodash"
+ ],
+ "exports": "Backbone"
+ },
+ "backbone.layoutmanager": {
+ "deps": [
+ "jquery",
+ "backbone",
+ "lodash"
+ ],
+ "exports": "Backbone.LayoutManager"
+ }
+ }
+};
+
+```
+
+The `jam` object is to support configuration of [Jam](http://jamjs.org/) - a package manager for the front-end which helps instal, upgrade and configurate the dependencies used by your project. It is currently the package manager of choice for Backbone Boilerplate.
+
+Under the `packages` array, a number of dependencies are specified for inclusion, such as Backbone, the Backbone.LayoutManager plugin, jQuery and Lo-dash.
+
+For those curious about [Backbone.LayoutManager](https://github.com/tbranyen/backbone.layoutmanager), it's a Backbone plugin that provides a foundation for assembling layouts and views within Backbone.
+
+Additional packages you install using Jam will have a corresponding entry added to `packages`.
+
+### main.js
+
+Next, we have `main.js`, which defines the entry point for our application. We use a global `require()` method to load an array containing any other scripts needed, such as our application `app.js` and our main router `router.js`. Note that most of the time, we will only use `require()` for bootstrapping an application and a similar method called `define()` for all other purposes.
+
+The function defined after our array of dependencies is a callback which doesn't fire until these scripts have loaded. Notice how we're able to locally alias references to "app" and "router" as `app` and `Router` for convenience.
+
+```javascript
+require([
+ // Application.
+ "app",
+
+ // Main Router.
+ "router"
+],
+
+function(app, Router) {
+
+ // Define your master router on the application namespace and trigger all
+ // navigation from this instance.
+ app.router = new Router();
+
+ // Trigger the initial route and enable HTML5 History API support, set the
+ // root folder to '/' by default. Change in app.js.
+ Backbone.history.start({ pushState: true, root: app.root });
+
+ // All navigation that is relative should be passed through the navigate
+ // method, to be processed by the router. If the link has a `data-bypass`
+ // attribute, bypass the delegation completely.
+ $(document).on("click", "a[href]:not([data-bypass])", function(evt) {
+ // Get the absolute anchor href.
+ var href = { prop: $(this).prop("href"), attr: $(this).attr("href") };
+ // Get the absolute root.
+ var root = location.protocol + "//" + location.host + app.root;
+
+ // Ensure the root is part of the anchor href, meaning it's relative.
+ if (href.prop.slice(0, root.length) === root) {
+ // Stop the default event to ensure the link will not cause a page
+ // refresh.
+ evt.preventDefault();
+
+ // `Backbone.history.navigate` is sufficient for all Routers and will
+ // trigger the correct events. The Router's internal `navigate` method
+ // calls this anyways. The fragment is sliced from the root.
+ Backbone.history.navigate(href.attr, true);
+ }
+ });
+
+});
+
+```
+
+Inline, Backbone Boilerplate includes boilerplate code for initializing our router with HTML5 History API support and handling other navigation scenarios, so we don't have to.
+
+### app.js
+
+Let us now look at our `app.js` module. Typically, in non-Backbone Boilerplate applications, an `app.js` file may contain the core logic or module references needed to kick start an app.
+
+In this case however, this file is used to define templating and layout configuration options as well as utilities for consuming layouts. To a beginner, this might look like a lot of code to comprehend, but the good news is that for basic apps, you're unlikely to need to heavily modify this. Instead, you'll be more concerned with modules for your app, which we'll look at next.
+
+```javascript
+define([
+ "backbone.layoutmanager"
+], function() {
+
+ // Provide a global location to place configuration settings and module
+ // creation.
+ var app = {
+ // The root path to run the application.
+ root: "/"
+ };
+
+ // Localize or create a new JavaScript Template object.
+ var JST = window.JST = window.JST || {};
+
+ // Configure LayoutManager with Backbone Boilerplate defaults.
+ Backbone.LayoutManager.configure({
+ // Allow LayoutManager to augment Backbone.View.prototype.
+ manage: true,
+
+ prefix: "app/templates/",
+
+ fetch: function(path) {
+ // Concatenate the file extension.
+ path = path + ".html";
+
+ // If cached, use the compiled template.
+ if (JST[path]) {
+ return JST[path];
+ }
+
+ // Put fetch into `async-mode`.
+ var done = this.async();
+
+ // Seek out the template asynchronously.
+ $.get(app.root + path, function(contents) {
+ done(JST[path] = _.template(contents));
+ });
+ }
+ });
+
+ // Mix Backbone.Events, modules, and layout management into the app object.
+ return _.extend(app, {
+ // Create a custom object with a nested Views object.
+ module: function(additionalProps) {
+ return _.extend({ Views: {} }, additionalProps);
+ },
+
+ // Helper for using layouts.
+ useLayout: function(name, options) {
+ // Enable variable arity by allowing the first argument to be the options
+ // object and omitting the name argument.
+ if (_.isObject(name)) {
+ options = name;
+ }
+
+ // Ensure options is an object.
+ options = options || {};
+
+ // If a name property was specified use that as the template.
+ if (_.isString(name)) {
+ options.template = name;
+ }
+
+ // Create a new Layout with options.
+ var layout = new Backbone.Layout(_.extend({
+ el: "#main"
+ }, options));
+
+ // Cache the refererence.
+ return this.layout = layout;
+ }
+ }, Backbone.Events);
+
+});
+
+```
+
+Note: JST stands for JavaScript templates and generally refers to templates which have been (or will be) precompiled as part of a build step. When running `bbb release` or `bbb debug`, Underscore/Lo-dash templates will be precompiled to avoid the need to compile them at runtime within the browser.
+
+### Creating Backbone Boilerplate Modules
+
+Not to be confused with simply being just an AMD module, a Backbone Boilerplate `module` is a script composed of a:
+
+* Model
+* Collection
+* Views (optional)
+
+We can easily create a new Boilerplate module using `grunt-bbb` once again using `init`:
+
+```shell
+# Create a new module
+$ bbb init:module
+
+# Grunt prompt
+Please answer the following:
+[?] Module Name foo
+[?] Do you need to make any changes to the above before continuing? (y/N)
+
+Writing app/modules/foo.js...OK
+Writing app/styles/foo.styl...OK
+Writing app/templates/foo.html...OK
+
+Initialized from template "module".
+
+Done, without errors.
+```
+
+This will generate a module `foo.js` as follows:
+
+```javascript
+// Foo module
+define([
+ // Application.
+ "app"
+],
+
+// Map dependencies from above array.
+function(app) {
+
+ // Create a new module.
+ var Foo = app.module();
+
+ // Default Model.
+ Foo.Model = Backbone.Model.extend({
+
+ });
+
+ // Default Collection.
+ Foo.Collection = Backbone.Collection.extend({
+ model: Foo.Model
+ });
+
+ // Default View.
+ Foo.Views.Layout = Backbone.Layout.extend({
+ template: "foo"
+ });
+
+ // Return the module for AMD compliance.
+ return Foo;
+
+});
+```
+
+Notice how boilerplate code for a model, collection and view have been scaffolded out for us.
+
+Optionally, we may also wish to include references to plugins such as the Backbone LocalStorage or Offline adapters. One clean way of including a plugin in the above boilerplate could be:
+
+```javascript
+// Foo module
+define([
+ // Application.
+ "app",
+ // Plugins
+ 'plugins/backbone-localstorage'
+],
+
+// Map dependencies from above array.
+function(app) {
+
+ // Create a new module.
+ var Foo = app.module();
+
+ // Default Model.
+ Foo.Model = Backbone.Model.extend({
+ // Save all of the items under the `"foo"` namespace.
+ localStorage: new Store('foo-backbone'),
+ });
+
+ // Default Collection.
+ Foo.Collection = Backbone.Collection.extend({
+ model: Foo.Model
+ });
+
+ // Default View.
+ Foo.Views.Layout = Backbone.Layout.extend({
+ template: "foo"
+ });
+
+ // Return the module for AMD compliance.
+ return Foo;
+
+});
+```
+
+### router.js
+
+Finally, let's look at our application router which is used for handling navigation. The default router Backbone Boilerplate generates for us includes sane defaults out of the box and can be easily extended.
+
+```javascript
+define([
+ // Application.
+ "app"
+],
+
+function(app) {
+
+ // Defining the application router, you can attach sub routers here.
+ var Router = Backbone.Router.extend({
+ routes: {
+ "": "index"
+ },
+
+ index: function() {
+
+ }
+ });
+
+ return Router;
+
+});
+```
+
+If however we would like to execute some module-specific logic, when the page loads (i.e when a user hits the default route), we can pull in a module as a dependency and optionally use the Backbone LayoutManager to attach Views to our layout as follows:
+
+```javascript
+define([
+ // Application.
+ 'app',
+
+ // Modules
+ 'modules/foo'
+],
+
+function(app, Foo) {
+
+ // Defining the application router, you can attach sub routers here.
+ var Router = Backbone.Router.extend({
+ routes: {
+ '': 'index'
+ },
+
+ index: function() {
+ // Create a new Collection
+ var collection = new Foo.Collection();
+
+ // Use and configure a 'main' layout
+ app.useLayout('main').setViews({
+ // Attach the bar View into the content View
+ '.bar': new Foo.Views.Bar({
+ collection: collection
+ })
+ }).render();
+ }
+ });
+
+ // Fetch data (e.g., from localStorage)
+ collection.fetch();
+
+ return Router;
+
+});
+```
+
+## Other Useful Tools & Projects
+
+When working with Backbone, you usually need to write a number of different classes and files for your application. Scaffolding tools such as Grunt-BBB can help automate this process by generating basic boilerplates for the files you need for you.
+
+### Yeoman
+
+If you appreciated Grunt-BBB but would like to explore a tool for assisting with your broader development workflow, I'm happy to recommend a tool I've been helping with called [Yeoman](http://yeoman.io).
+
+![](img/yeoman.png)
+
+Yeoman is a workflow comprised of a collection of tools and best practices for helping you develop more efficiently. It's comprised of yo (a scaffolding tool), [Grunt](http://gruntjs.com)(a build tool) and [Bower](http://bower.io) (a client-side package manager).
+
+Where Grunt-BBB focuses on offering an opionated start for Backbone projects, Yeoman allows you to scaffold apps using Backbone (or other frameworks), get Backbone plugins directly from the command-line and compile your CoffeeScript, Sass or other abstractions without additional effort.
+
+![](img/bower.png)
+
+You may also be interested in [Brunch](http://brunch.io/), a similar project which uses skeleton boilerplates to generate new applications.
+
+### Backbone DevTools
+
+When building an application with Backbone, there's some additional tooling available for your day-to-day debugging workflow.
+
+Backbone DevTools was created to help with this and is a Chrome DevTools extension allowing you to inspect events, syncs, View-DOM bindings and what objects have been instantiated.
+
+A useful View hierarchy is displayed in the Elements panel. Also, when you inspect a DOM element the closest View will be exposed via $view in the console.
+
+![](img/bbdevtools.jpg)
+
+At the time of writing, the project is currently available on [GitHub](https://github.com/spect88/backbone-devtools).
+
+## Conclusions
+
+In this section we reviewed Backbone Boilerplate and learned how to use the `bbb` tool to help us scaffold out our application.
+
+If you would like to learn more about how this project helps structure your app, BBB includes some built-in boilerplate sample apps that can be easily generated for review.
+
+These include a boilerplate tutorial project (`bbb init:tutorial`) and an implementation of my [TodoMVC](http://todomvc) project (`bbb init:todomvc`). I recommend checking these out as they'll provide you with a more complete picture of how Backbone Boilerplate, its templates, and so on fit into the overall setup for a web app.
+
+For more about Grunt-BBB, remember to take a look at the official project [repository](https://github.com/backbone-boilerplate/grunt-bbb). There is also a related [slide-deck](https://dl.dropbox.com/u/79007/talks/Modern_Web_Applications/slides/index.html) available for those interested in reading more.
+
+
+
+
diff --git a/chapters/11-unit-testing.md b/chapters/11-unit-testing.md
new file mode 100644
index 00000000..292a400d
--- /dev/null
+++ b/chapters/11-unit-testing.md
@@ -0,0 +1,979 @@
+# Unit Testing
+
+One definition of unit testing is the process of taking the smallest piece of testable code in an application, isolating it from the remainder of your codebase, and determining if it behaves exactly as expected.
+
+For an application to be considered 'well-tested', each function should ideally have its own separate unit tests where it's tested against the different conditions you expect it to handle. All tests must pass before functionality is considered 'complete'. This allows developers to both modify a unit of code and its dependencies with a level of confidence about whether these changes have caused any breakage.
+
+A basic example of unit testing is where a developer asserts that passing specific values to a sum function results in the correct value being returned. For an example more relevant to this book, we may wish to assert that adding a new Todo item to a list correctly adds a Model of a specific type to a Todos Collection.
+
+When building modern web-applications, it's typically considered best-practice to include automated unit testing as a part of your development process. In the following chapters we are going to look at three different solutions for unit testing your Backbone.js apps - Jasmine, QUnit and SinonJS.
+
+# Jasmine
+
+## Behavior-Driven Development
+
+In this section, we'll be taking a look at how to unit test Backbone applications using a popular JavaScript testing framework called [Jasmine](http://pivotal.github.com/jasmine/) from Pivotal Labs.
+
+Jasmine describes itself as a behavior-driven development (BDD) framework for testing JavaScript code. Before we jump into how the framework works, it's useful to understand exactly what [BDD](http://en.wikipedia.org/wiki/Behavior_Driven_Development) is.
+
+BDD is a second-generation testing approach first described by [Dan North](http://dannorth.net/introducing-bdd/) (the authority on BDD) which attempts to test the behavior of software. It's considered second-generation as it came out of merging ideas from Domain driven design (DDD) and lean software development. BDD helps teams deliver high-quality software by answering many of the more confusing questions early on in the agile process. Such questions commonly include those concerning documentation and testing.
+
+If you were to read a book on BDD, it's likely that it would be described as being 'outside-in and pull-based'. The reason for this is that it borrows the idea of 'pulling features' from Lean manufacturing which effectively ensures that the right software solutions are being written by a) focusing on the expected outputs of the system and b) ensuring these outputs are achieved.
+
+BDD recognizes that there are usually multiple stakeholders in a project and not a single amorphous user of the system. These different groups will be affected by the software being written in differing ways and will have varying opinions of what quality in the system means to them. It's for this reason that it's important to understand who the software will be bringing value to and exactly what in it will be valuable to them.
+
+Finally, BDD relies on automation. Once you've defined the quality expected, your team will want to check on the functionality of the solution being built regularly and compare it to the results they expect. In order to facilitate this efficiently, the process has to be automated. BDD relies heavily on the automation of specification-testing and Jasmine is a tool which can assist with this.
+
+BDD helps both developers and non-technical stakeholders:
+
+
+* Better understand and represent the models of the problems being solved
+* Explain supported test cases in a language that non-developers can read
+* Focus on minimizing translation of the technical code being written and the domain language spoken by the business
+
+What this means is that developers should be able to show Jasmine unit tests to a project stakeholder and (at a high level, thanks to a common vocabulary being used) they'll ideally be able to understand what the code supports.
+
+Developers often implement BDD in unison with another testing paradigm known as [TDD](http://en.wikipedia.org/wiki/Test-driven_development) (test-driven development). The main idea behind TDD is using the following development process:
+
+1. Write unit tests which describe the functionality you would like your code to support
+2. Watch these tests fail (as the code to support them hasn't yet been written)
+3. Write code to make the tests pass
+4. Rinse, repeat, and refactor
+
+In this chapter we're going to use BDD (with TDD) to write unit tests for a Backbone application.
+
+***Note:*** I've seen a lot of developers also opt for writing tests to validate behavior of their code after having written it. While this is fine, note that it can come with pitfalls such as only testing for behavior your code currently supports, rather than the behavior needed to fully solve the problem.
+
+
+## Suites, Specs, & Spies
+
+When using Jasmine, you'll be writing suites and specifications (specs). Suites basically describe scenarios while specs describe what can be done in these scenarios.
+
+Each spec is a JavaScript function, described with a call to ```it()``` using a description string and a function. The description should describe the behaviour the particular unit of code should exhibit and, keeping in mind BDD, it should ideally be meaningful. Here's an example of a basic spec:
+
+```javascript
+it('should be incrementing in value', function(){
+ var counter = 0;
+ counter++;
+});
+```
+
+On its own, a spec isn't particularly useful until expectations are set about the behavior of the code. Expectations in specs are defined using the ```expect()``` function and an [expectation matcher](https://github.com/pivotal/jasmine/wiki/Matchers) (e.g., ```toEqual()```, ```toBeTruthy()```, ```toContain()```). A revised example using an expectation matcher would look like:
+
+```javascript
+it('should be incrementing in value', function(){
+ var counter = 0;
+ counter++;
+ expect(counter).toEqual(1);
+});
+```
+
+The above code passes our behavioral expectation as ```counter``` equals 1. Notice how easy it was to read the expectation on the last line (you probably grokked it without any explanation).
+
+Specs are grouped into suites which we describe using Jasmine's ```describe()``` function, again passing a string as a description and a function as we did for ```it()```. The name/description for your suite is typically that of the component or module you're testing.
+
+Jasmine will use the description as the group name when it reports the results of the specs you've asked it to run. A simple suite containing our sample spec could look like:
+
+```javascript
+describe('Stats', function(){
+ it('can increment a number', function(){
+ ...
+ });
+
+ it('can subtract a number', function(){
+ ...
+ });
+});
+```
+
+Suites also share a functional scope, so it's possible to declare variables and functions inside a describe block which are accessible within specs:
+
+```javascript
+describe('Stats', function(){
+ var counter = 1;
+
+ it('can increment a number', function(){
+ // the counter was = 1
+ counter = counter + 1;
+ expect(counter).toEqual(2);
+ });
+
+ it('can subtract a number', function(){
+ // the counter was = 2
+ counter = counter - 1;
+ expect(counter).toEqual(1);
+ });
+});
+```
+
+***Note:*** Suites are executed in the order in which they are described, which can be useful to know if you would prefer to see test results for specific parts of your application reported first.
+
+Jasmine also supports **spies** - a way to mock, spy, and fake behavior in our unit tests. Spies replace the function they're spying on, allowing us to simulate behavior we would like to mock (i.e., test without using the actual implementation).
+
+In the example below, we're spying on the ```setComplete``` method of a dummy Todo function to test that arguments can be passed to it as expected.
+
+```javascript
+var Todo = function(){
+};
+
+Todo.prototype.setComplete = function (arg){
+ return arg;
+}
+
+describe('a simple spy', function(){
+ it('should spy on an instance method of a Todo', function(){
+ var myTodo = new Todo();
+ spyOn(myTodo, 'setComplete');
+ myTodo.setComplete('foo bar');
+
+ expect(myTodo.setComplete).toHaveBeenCalledWith('foo bar');
+
+ var myTodo2 = new Todo();
+ spyOn(myTodo2, 'setComplete');
+
+ expect(myTodo2.setComplete).not.toHaveBeenCalled();
+
+ });
+});
+```
+
+You are more likely to use spies for testing [asynchronous](http://en.wikipedia.org/wiki/Asynchronous_communication) behavior in your application such as AJAX requests. Jasmine supports:
+
+* Writing tests which can mock AJAX requests using spies. This allows us to test both the code that initiates the AJAX request and the code executed upon its completion. It's also possible to mock/fake the server responses. The benefit of this type of testing is that it's faster as no real calls are being made to a server. The ability to simulate any response from the server is also of great benefit.
+* Asynchronous tests which don't rely on spies
+
+This example of the first kind of test shows how to fake an AJAX request and verify that the request was both calling the correct URL and executed a callback where one was provided.
+
+```javascript
+it('the callback should be executed on success', function () {
+
+ // `andCallFake()` calls a passed function when a spy
+ // has been called
+ spyOn($, 'ajax').andCallFake(function(options) {
+ options.success();
+ });
+
+ // Create a new spy
+ var callback = jasmine.createSpy();
+
+ // Exexute the spy callback if the
+ // request for Todo 15 is successful
+ getTodo(15, callback);
+
+ // Verify that the URL of the most recent call
+ // matches our expected Todo item.
+ expect($.ajax.mostRecentCall.args[0]['url']).toEqual('/todos/15');
+
+ // `expect(x).toHaveBeenCalled()` will pass if `x` is a
+ // spy and was called.
+ expect(callback).toHaveBeenCalled();
+});
+
+function getTodo(id, callback) {
+ $.ajax({
+ type: 'GET',
+ url: '/todos/'' + id,
+ dataType: 'json',
+ success: callback
+ });
+}
+```
+
+All of these are Spy-specific matchers and are documented on the Jasmine [wiki](https://github.com/pivotal/jasmine/wiki/Spies).
+
+For the second type of test (asynchronous tests), we can take the above further by taking advantage of three other methods Jasmine supports:
+
+* [waits(timeout)](https://github.com/pivotal/jasmine/wiki/Asynchronous-specs) - a native timeout before the next block is run
+* [waitsFor(function, optional message, optional timeout)](https://github.com/pivotal/jasmine/wiki/Asynchronous-specs) - a way to pause specs until some other work has completed. Jasmine waits until the supplied function returns true here before it moves on to the next block.
+* [runs(function)](https://github.com/pivotal/jasmine/wiki/Asynchronous-specs) - a block which runs as if it was directly called. They exist so that we can test asynchronous processes.
+
+```javascript
+it('should make an actual AJAX request to a server', function () {
+
+ // Create a new spy
+ var callback = jasmine.createSpy();
+
+ // Exexute the spy callback if the
+ // request for Todo 16 is successful
+ getTodo(16, callback);
+
+ // Pause the spec until the callback count is
+ // greater than 0
+ waitsFor(function() {
+ return callback.callCount > 0;
+ });
+
+ // Once the wait is complete, our runs() block
+ // will check to ensure our spy callback has been
+ // called
+ runs(function() {
+ expect(callback).toHaveBeenCalled();
+ });
+});
+
+function getTodo(id, callback) {
+ $.ajax({
+ type: 'GET',
+ url: 'todos.json',
+ dataType: 'json',
+ success: callback
+ });
+}
+```
+
+***Note:*** It's useful to remember that when making real requests to a web server in your unit tests, this has the potential to massively slow down the speed at which tests run (due to many factors including server latency). As this also introduces an external dependency that can (and should) be minimized in your unit testing, it is strongly recommended that you opt for spies to remove the dependency on a web server.
+
+## beforeEach() and afterEach()
+
+Jasmine also supports specifying code that can be run before each (```beforeEach()```) and after each (```afterEach()```) test. This is useful for enforcing consistent conditions (such as resetting variables that may be required by specs). In the following example, ```beforeEach()``` is used to create a new sample Todo model which specs can use for testing attributes.
+
+```javascript
+beforeEach(function(){
+ this.todo = new Backbone.Model({
+ text: 'Buy some more groceries',
+ done: false
+ });
+});
+
+it('should contain a text value if not the default value', function(){
+ expect(this.todo.get('text')).toEqual('Buy some more groceries');
+});
+```
+
+Each nested ```describe()``` in your tests can have their own ```beforeEach()``` and ```afterEach()``` methods which support including setup and teardown methods relevant to a particular suite.
+
+
+
+
+`beforeEach()` and `afterEach()` can be used together to write tests verifying that our Backbone routes are being correctly triggered when we navigate to the URL. We can start with the `index` action:
+
+```javascript
+describe('Todo routes', function(){
+
+ beforeEach(function(){
+
+ // Create a new router
+ this.router = new App.TodoRouter();
+
+ // Create a new spy
+ this.routerSpy = jasmine.createSpy();
+
+ // Begin monitoring hashchange events
+ try{
+ Backbone.history.start({
+ silent:true,
+ pushState: true
+ });
+ }catch(e){
+ // ...
+ }
+
+ // Navigate to a URL
+ this.router.navigate('/js/spec/SpecRunner.html');
+ });
+
+ afterEach(function(){
+
+ // Navigate back to the URL
+ this.router.navigate('/js/spec/SpecRunner.html');
+
+ // Disable Backbone.history temporarily.
+ // Note that this is not really useful in real apps but is
+ // good for testing routers
+ Backbone.history.stop();
+ });
+
+ it('should call the index route correctly', function(){
+ this.router.bind('route:index', this.routerSpy, this);
+ this.router.navigate('', {trigger: true});
+
+ // If everything in our beforeEach() and afterEach()
+ // calls have been correctly executed, the following
+ // should now pass.
+ expect(this.routerSpy).toHaveBeenCalledOnce();
+ expect(this.routerSpy).toHaveBeenCalledWith();
+ });
+
+});
+```
+
+The actual TodoRouter for that would make the above test pass looks like:
+
+```javascript
+var App = App || {};
+App.TodoRouter = Backbone.Router.extend({
+ routes:{
+ '': 'index'
+ },
+ index: function(){
+ //...
+ }
+});
+```
+
+## Shared scope
+
+Let's imagine we have a Suite where we wish to check for the existence of a new Todo item instance. This could be done by duplicating the spec as follows:
+
+```javascript
+describe("Todo tests", function(){
+
+ // Spec
+ it("Should be defined when we create it", function(){
+ // A Todo item we are testing
+ var todo = new Todo("Get the milk", "Tuesday");
+ expect(todo).toBeDefined();
+ });
+
+ it("Should have the correct title", function(){
+ // Where we introduce code duplication
+ var todo = new Todo("Get the milk", "Tuesday");
+ expect(todo.title).toBe("Get the milk");
+ });
+
+});
+```
+
+As you can see, we've introduced duplication that should ideally be refactored into something cleaner. We can do this using Jasmine's Suite (Shared) Functional Scope.
+
+All of the specs within the same Suite share the same functional scope, meaning that variables declared within the Suite itself are available to all of the Specs in that suite. This gives us a way to work around our duplication problem by moving the creation of our Todo objects into the common functional scope:
+
+```javascript
+describe("Todo tests", function(){
+
+ // The instance of Todo, the object we wish to test
+ // is now in the shared functional scope
+ var todo = new Todo("Get the milk", "Tuesday");
+
+ // Spec
+ it("should be correctly defined", function(){
+ expect(todo).toBeDefined();
+ });
+
+ it("should have the correct title", function(){
+ expect(todo.title).toBe("Get the milk");
+ });
+
+});
+```
+
+In the previous section you may have noticed that we initially declared ```this.router``` within the scope of our ```beforeEach()``` call and were then able to continue using this reference in ```afterEach()```.
+
+This is again down to shared function scope, which allows such declaractions to be common to all blocks (including ```runs()```).
+
+Variables declared outside of the shared scope (i.e within the local scope `var todo=...`) will however not be shared.
+
+## Getting set up
+
+Now that we've reviewed some fundamentals, let's go through downloading Jasmine and getting everything set up to write tests.
+
+A standalone release of Jasmine can be [downloaded](https://github.com/pivotal/jasmine/downloads) from the official release page.
+
+You'll need a file called SpecRunner.html in addition to the release. It can be downloaded from https://github.com/pivotal/jasmine/tree/master/lib/jasmine-core/example or as part of a download of the complete Jasmine [repo](https://github.com/pivotal/jasmine/zipball/master). Alternatively, you can ```git clone``` the main Jasmine repository from https://github.com/pivotal/jasmine.git.
+
+Let's review [SpecRunner.html.jst](https://github.com/pivotal/jasmine/blob/master/lib/templates/SpecRunner.html.jst):
+
+It first includes both Jasmine and the necessary CSS required for reporting:
+
+
+
+
+
+
+Next come the sources being tested:
+
+
+
+
+
+Finally, some sample tests are included:
+
+
+
+
+
+
+***Note:*** Below this section of SpecRunner is code responsible for running the actual tests. Given that we won't be covering modifying this code, I'm going to skip reviewing it. I do however encourage you to take a look through [PlayerSpec.js](https://github.com/pivotal/jasmine/blob/master/lib/jasmine-core/example/spec/PlayerSpec.js) and [SpecHelper.js](https://github.com/pivotal/jasmine/blob/master/lib/jasmine-core/example/spec/SpecHelper.js). They're a useful basic example to go through how a minimal set of tests might work.
+
+Also note that for the purposes of introduction, some of the examples in this section will be testing aspects of Backbone.js itself, just to give you a feel for how Jasmine works. You generally will not need to write testing ensuring a framework is working as expected.
+
+
+## TDD With Backbone
+
+When developing applications with Backbone, it can be necessary to test both individual modules of code as well as models, views, collections, and routers. Taking a TDD approach to testing, let's review some specs for testing these Backbone components using the popular Backbone [Todo](https://github.com/addyosmani/todomvc/tree/master/todo-example/backbone) application.
+
+## Models
+
+The complexity of Backbone models can vary greatly depending on what your application is trying to achieve. In the following example, we're going to test default values, attributes, state changes, and validation rules.
+
+First, we begin our suite for model testing using ```describe()```:
+
+```javascript
+describe('Tests for Todo', function() {
+```
+
+Models should ideally have default values for attributes. This helps ensure that when creating instances without a value set for any specific attribute, a default one (e.g., an empty string) is used instead. The idea here is to allow your application to interact with models without any unexpected behavior.
+
+In the following spec, we create a new Todo without any attributes passed then check to find out what the value of the ```text``` attribute is. As no value has been set, we expect a default value of `''` to be returned.
+
+```javascript
+it('Can be created with default values for its attributes.', function() {
+ var todo = new Todo();
+ expect(todo.get('text')).toBe('');
+});
+```
+
+If testing this spec before your models have been written, you'll incur a failing test, as expected. What's required for the spec to pass is a default value for the attribute ```text```. We can set this and some other useful defaults (which we'll be using shortly) in our Todo model as follows:
+
+```javascript
+window.Todo = Backbone.Model.extend({
+
+ defaults: {
+ text: '',
+ done: false,
+ order: 0
+ }
+```
+
+Next, it is common to include validation logic in your models to ensure that input passed from users or other modules in the application are valid.
+
+A Todo app may wish to validate the text input supplied in case it contains rude words. Similarly if we're storing the ```done``` state of a Todo item using booleans, we need to validate that truthy/falsy values are passed and not just any arbitrary string.
+
+In the following spec, we take advantage of the fact that validations which fail model.validate() trigger an "invalid" event. This allows us to test if validations are correctly failing when invalid input is supplied.
+
+We create an errorCallback spy using Jasmine's built in ```createSpy()``` method which allows us to spy on the invalid event as follows:
+
+```javascript
+it('Can contain custom validation rules, and will trigger an invalid event on failed validation.', function() {
+
+ var errorCallback = jasmine.createSpy('-invalid event callback-');
+
+ var todo = new Todo();
+
+ todo.on('invalid', errorCallback);
+
+ // What would you need to set on the todo properties to
+ // cause validation to fail?
+
+ todo.set({done:'a non-boolean value'});
+
+ var errorArgs = errorCallback.mostRecentCall.args;
+
+ expect(errorArgs).toBeDefined();
+ expect(errorArgs[0]).toBe(todo);
+ expect(errorArgs[1]).toBe('Todo.done must be a boolean value.');
+});
+
+```
+
+The code to make the above failing test support validation is relatively simple. In our model, we override the validate() method (as recommended in the Backbone docs), checking to make sure a model both has a 'done' property and that its value is a valid boolean before allowing it to pass.
+
+```javascript
+validate: function(attrs) {
+ if (attrs.hasOwnProperty('done') && !_.isBoolean(attrs.done)) {
+ return 'Todo.done must be a boolean value.';
+ }
+}
+```
+
+If you would like to review the final code for our Todo model, you can find it below:
+
+```javascript
+
+window.Todo = Backbone.Model.extend({
+
+ defaults: {
+ text: '',
+ done: false,
+ order: 0
+ },
+
+ initialize: function() {
+ this.set({text: this.get('text')}, {silent: true});
+ },
+
+ validate: function(attrs) {
+ if (attrs.hasOwnProperty('done') && !_.isBoolean(attrs.done)) {
+ return 'Todo.done must be a boolean value.';
+ }
+ },
+
+ toggle: function() {
+ this.save({done: !this.get('done')});
+ }
+
+});
+```
+
+
+## Collections
+
+We now need to define specs to test a Backbone collection of Todo models (a TodoList). Collections are responsible for a number of list tasks including managing order and filtering.
+
+A few specific specs that come to mind when working with collections are:
+
+* Making sure we can add new Todo models as both objects and arrays
+* Attribute testing to make sure attributes such as the base URL of the collection are values we expect
+* Purposefully adding items with a status of ```done:true``` and checking against how many items the collection thinks have been completed vs. those that are remaining
+
+In this section we're going to cover the first two of these with the third left as an extended exercise you can try on your own.
+
+Testing that Todo models can be added to a collection as objects or arrays is relatively trivial. First, we initialize a new TodoList collection and check to make sure its length (i.e., the number of Todo models it contains) is 0. Next, we add new Todos, both as objects and arrays, checking the length property of the collection at each stage to ensure the overall count is what we expect:
+
+```javascript
+describe('Tests for TodoList', function() {
+
+ it('Can add Model instances as objects and arrays.', function() {
+ var todos = new TodoList();
+
+ expect(todos.length).toBe(0);
+
+ todos.add({ text: 'Clean the kitchen' });
+
+ // how many todos have been added so far?
+ expect(todos.length).toBe(1);
+
+ todos.add([
+ { text: 'Do the laundry', done: true },
+ { text: 'Go to the gym'}
+ ]);
+
+ // how many are there in total now?
+ expect(todos.length).toBe(3);
+ });
+...
+```
+
+Similar to model attributes, it's also quite straight-forward to test attributes in collections. Here we have a spec that ensures the collection url (i.e., the url reference to the collection's location on the server) is what we expect it to be:
+
+```javascript
+it('Can have a url property to define the basic url structure for all contained models.', function() {
+ var todos = new TodoList();
+
+ // what has been specified as the url base in our model?
+ expect(todos.url).toBe('/todos/');
+});
+
+```
+
+For the third spec (which you will write as an exercise), note that the implementation for our collection will have methods for filtering how many Todo items are done and how many are remaining - we'll call these ```done()``` and ```remaining()```. Consider writing a spec which creates a new collection and adds one new model that has a preset ```done``` state of ```true``` and two others that have the default ```done``` state of ```false```. Testing the length of what's returned using ```done()``` and ```remaining()``` will tell us whether the state management in our application is working or needs a little tweaking.
+
+The final implementation for our TodoList collection can be found below:
+
+
+```javascript
+ window.TodoList = Backbone.Collection.extend({
+
+ model: Todo,
+
+ url: '/todos/',
+
+ done: function() {
+ return this.filter(function(todo) { return todo.get('done'); });
+ },
+
+ remaining: function() {
+ return this.without.apply(this, this.done());
+ },
+
+ nextOrder: function() {
+ if (!this.length) {
+ return 1;
+ }
+
+ return this.last().get('order') + 1;
+ },
+
+ comparator: function(todo) {
+ return todo.get('order');
+ }
+
+ });
+```
+
+
+## Views
+
+Before we take a look at testing Backbone views, let's briefly review a jQuery plugin that can assist with writing Jasmine specs for them.
+
+**The Jasmine jQuery Plugin**
+
+As we know our Todo application will be using jQuery for DOM manipulation, there's a useful jQuery plugin called [jasmine-jquery](https://github.com/velesin/jasmine-jquery) we can use to help simplify BDD testing of the rendering performed by our views.
+
+The plugin provides a number of additional Jasmine [matchers](https://github.com/pivotal/jasmine/wiki/Matchers) to help test jQuery-wrapped sets such as:
+
+* ```toBe(jQuerySelector)``` e.g., ```expect($('')).toBe('div#some-id')```
+* ```toBeChecked()``` e.g., ```expect($('')).toBeChecked()```
+* ```toBeSelected()``` e.g., ```expect($('')).toBeSelected()```
+
+and [many others](https://github.com/velesin/jasmine-jquery). The complete list of matchers supported can be found on the project homepage. It's useful to know that similar to the standard Jasmine matchers, the custom matchers above can be inverted using the .not prefix (i.e ```expect(x).not.toBe(y)```):
+
+```javascript
+expect($('
I am an example
')).not.toHaveText(/other/)
+```
+
+jasmine-jquery also includes a fixtures module that can be used to load arbitrary HTML content we wish to use in our tests. Fixtures can be used as follows:
+
+Include some HTML in an external fixtures file:
+
+some.fixture.html:
+```
some HTML content
```
+
+Then inside our actual test we would load it as follows:
+
+```javascript
+loadFixtures('some.fixture.html')
+$('some-fixture').myTestedPlugin();
+expect($('#some-fixture')).to
+```
+
+The jasmine-jquery plugin loads fixtures from a directory named spec/javascripts/fixtures by default. If you wish to configure this path you can do so by initially setting ```jasmine.getFixtures().fixturesPath = 'your custom path'```.
+
+Finally, jasmine-jquery includes support for spying on jQuery events without the need for any extra plumbing work. This can be done using the ```spyOnEvent()``` and ```expect(eventName).toHaveBeenTriggered(selector)``` functions. For example:
+
+```javascript
+spyOnEvent($('#el'), 'click');
+$('#el').click();
+expect('click').toHaveBeenTriggeredOn($('#el'));
+```
+
+### View testing
+
+In this section we will review the three dimensions of specs writing for Backbone Views: initial setup, view rendering, and templating. The latter two of these are the most commonly tested, however we'll see shortly why writing specs for the initialization of your views can also be of benefit.
+
+#### Initial setup
+
+At their most basic, specs for Backbone views should validate that they are being correctly tied to specific DOM elements and are backed by valid data models. The reason to consider doing this is that these specs can identify issues which will trip up more complex tests later on. Also, they're fairly simple to write given the overall value offered.
+
+To help ensure a consistent testing setup for our specs, we use ```beforeEach()``` to append both an empty ```
``` (#todoList) to the DOM and initialize a new instance of a TodoView using an empty Todo model. ```afterEach()``` is used to remove the previous #todoList ```
``` as well as the previous instance of the view.
+
+```javascript
+describe('Tests for TodoView', function() {
+
+ beforeEach(function() {
+ $('body').append('
');
+ this.todoView = new TodoView({ model: new Todo() });
+ });
+
+
+ afterEach(function() {
+ this.todoView.remove();
+ $('#todoList').remove();
+ });
+
+...
+```
+
+The first spec useful to write is a check that the TodoView we've created is using the correct ```tagName``` (element or className). The purpose of this test is to make sure it's been correctly tied to a DOM element when it was created.
+
+Backbone views typically create empty DOM elements once initialized, however these elements are not attached to the visible DOM in order to allow them to be constructed without an impact on the performance of rendering.
+
+```javascript
+it('Should be tied to a DOM element when created, based off the property provided.', function() {
+ //what html element tag name represents this view?
+ expect(todoView.el.tagName.toLowerCase()).toBe('li');
+});
+```
+
+Once again, if the TodoView has not already been written, we will experience failing specs. Thankfully, solving this is as simple as creating a new Backbone.View with a specific ```tagName```.
+
+```javascript
+var todoView = Backbone.View.extend({
+ tagName: 'li'
+});
+```
+
+If instead of testing against the ```tagName``` you would prefer to use a className instead, we can take advantage of jasmine-jquery's ```toHaveClass()``` matcher:
+
+```
+it('Should have a class of "todos"'), function(){
+ expect(this.view.$el).toHaveClass('todos');
+});
+```
+
+The ```toHaveClass()``` matcher operates on jQuery objects and if the plugin hadn't been used, an exception would have been thrown. It is of course also possible to test for the className by accessing el.className if you don't use jasmine-jquery.
+
+You may have noticed that in ```beforeEach()```, we passed our view an initial (albeit unfilled) Todo model. Views should be backed by a model instance which provides data. As this is quite important to our view's ability to function, we can write a spec to ensure a model is defined (using the ```toBeDefined()``` matcher) and then test attributes of the model to ensure defaults both exist and are the values we expect them to be.
+
+```javascript
+it('Is backed by a model instance, which provides the data.', function() {
+
+ expect(todoView.model).toBeDefined();
+
+ // what's the value for Todo.get('done') here?
+ expect(todoView.model.get('done')).toBe(false); //or toBeFalsy()
+});
+```
+
+#### View rendering
+
+
+Next we're going to take a look at writing specs for view rendering. Specifically, we want to test that our TodoView elements are actually rendering as expected.
+
+In smaller applications, those new to BDD might argue that visual confirmation of view rendering could replace unit testing of views. The reality is that when dealing with applications that might grow to a large number of views, it makes sense to automate this process as much as possible from the get-go. There are also aspects of rendering that require verification beyond what is visually presented on-screen (which we'll see very shortly).
+
+We're going to begin testing views by writing two specs. The first spec will check that the view's ```render()``` method is correctly returning the view instance, which is necessary for chaining. Our second spec will check that the HTML produced is exactly what we expect based on the properties of the model instance that's been associated with our TodoView.
+
+Unlike some of the previous specs we've covered, this section will make greater use of ```beforeEach()``` to both demonstrate how to use nested suites and also ensure a consistent set of conditions for our specs. In our first example we're simply going to create a sample model (based on Todo) and instantiate a TodoView with it.
+
+```javascript
+describe('TodoView', function() {
+
+ beforeEach(function() {
+ this.model = new Backbone.Model({
+ text: 'My Todo',
+ order: 1,
+ done: false
+ });
+ this.view = new TodoView({model:this.model});
+ });
+
+ describe('Rendering', function() {
+
+ it('returns the view object', function() {
+ expect(this.view.render()).toEqual(this.view);
+ });
+
+ it('produces the correct HTML', function() {
+ this.view.render();
+
+ // let's use jasmine-jquery's toContain() to avoid
+ // testing for the complete content of a todo's markup
+ expect(this.view.el.innerHTML)
+ .toContain('');
+ });
+
+ });
+
+});
+```
+
+
+When these specs are run, only the second one ('produces the correct HTML') fails. Our first spec ('returns the view object'), which is testing that the TodoView instance is returned from ```render()```, passes since this is Backbone's default behavior and we haven't overwritten the ```render()``` method with our own version yet.
+
+**Note:** For the purposes of maintaining readability, all template examples in this section will use a minimal version of the following Todo view template. As it's relatively trivial to expand this, please feel free to refer to this sample if needed:
+
+
+
+
+
+ />
+
+
+
+
+
+
+
+
+
+
+The second spec fails with the following message:
+
+```Expected '' to contain ''.```
+
+The reason for this is the default behavior for render() doesn't create any markup. Let's write a replacement for render() which fixes this:
+
+```javascript
+render: function() {
+ var template = '';
+ var output = template
+ .replace('+++PLACEHOLDER+++', this.model.get('text'));
+ this.$el.html(output);
+ return this;
+}
+```
+
+The above specifies an inline string template and replaces fields found in the template within the "+++PLACEHOLDER+++" blocks with their corresponding values from the associated model. As we're also returning the TodoView instance from the method, the first spec will still pass.
+
+It would be impossible to discuss unit testing without mentioning fixtures. Fixtures typically contain test data (e.g., HTML) that is loaded in when needed (either locally or from an external file) for unit testing. So far we've been establishing jQuery expectations based on the view's el property. This works for a number of cases, however, there are instances where it may be necessary to render markup into the document. The most optimal way to handle this within specs is through using fixtures (another feature brought to us by the jasmine-jquery plugin).
+
+Re-writing the last spec to use fixtures would look as follows:
+
+
+```javascript
+describe('TodoView', function() {
+
+ beforeEach(function() {
+ ...
+ setFixtures('
');
+ });
+
+ ...
+
+ describe('Template', function() {
+
+ beforeEach(function() {
+ $('.todos').append(this.view.render().el);
+ });
+
+ it('has the correct text content', function() {
+ expect($('.todos').find('.todo-content'))
+ .toHaveText('My Todo');
+ });
+
+ });
+
+});
+```
+
+What we're now doing in the above spec is appending the rendered todo item into the fixture. We then set expectations against the fixture, which may be something desirable when a view is setup against an element which already exists in the DOM. It would be necessary to provide both the fixture and test the ```el``` property correctly picking up the element expected when the view is instantiated.
+
+
+#### Rendering with a templating system
+
+
+When a user marks a Todo item as complete (done), we may wish to provide them with visual feedback (such as a striked line through the text) to differentiate the item from those that are remaining. This can be done by attaching a new class to the item. Let's begin by writing a test:
+
+
+```javascript
+describe('When a todo is done', function() {
+
+ beforeEach(function() {
+ this.model.set({done: true}, {silent: true});
+ $('.todos').append(this.view.render().el);
+ });
+
+ it('has a done class', function() {
+ expect($('.todos .todo-content:first-child'))
+ .toHaveClass('done');
+ });
+
+});
+```
+
+This will fail with the following message:
+
+```Expected ''
+to have class 'done'.
+```
+
+which can be fixed in the existing render() method as follows:
+
+
+```javascript
+render: function() {
+ var template = '';
+ var output = template
+ .replace('<%= text %>', this.model.get('text'));
+ this.$el.html(output);
+ if (this.model.get('done')) {
+ this.$('.todo-content').addClass('done');
+ }
+ return this;
+}
+```
+
+
+However, this can get unwieldily fairly quickly. As the level of complexity and logic in our templates increase, so do the challenges associated with testing them. We can ease this process by taking advantage of modern templating libraries, many of which have already been demonstrated to work well with testing solutions such as Jasmine.
+
+JavaScript templating systems (such as [Handlebars](http://handlebarsjs.com/), [Mustache](http://mustache.github.com/), and Underscore's own [micro-templating](http://underscorejs.org/#template)) support conditional logic in template strings. What this effectively means is that we can add if/else/ternery expressions inline which can then be evaluated as needed, allowing us to build even more powerful templates.
+
+In our case, we are going to use the micro-templating found in Underscore.js as no additional files are required to use it and we can easily modify our existing specs to use it without a great deal of effort.
+
+Assuming our template is defined using a script tag of ID `myTemplate`:
+
+```
+
+```
+
+Our TodoView can be modified to use Underscore templating as follows:
+
+```javascript
+var TodoView = Backbone.View.extend({
+
+ tagName: 'li',
+ template: _.template($('#myTemplate').html()),
+
+ initialize: function(options) {
+ // ...
+ },
+
+ render: function() {
+ this.$el.html(this.template(this.model.toJSON()));
+ return this;
+ },
+
+ ...
+
+});
+```
+
+So, what's going on here? We're first defining our template in a script tag with a custom script type (e.g., type="text/template"). As this isn't a script type any browser understands, it's simply ignored, however referencing the script by an id attribute allows the template to be kept separate to other parts of the page.
+
+In our view, we're the using the Underscore `_.template()` method to compile our template into a function that we can easily pass model data to later on. In the line `this.model.toJSON()` we are simply returning a copy of the model's attributes for JSON stringification to the `template` method, creating a block of HTML that can now be appended to the DOM.
+
+Note: Ideally all of your template logic should exist outside of your specs, either in individual template files or embedded using script tags within your SpecRunner. This is generally more maintainable.
+
+If you are working with much smaller templates and are not doing this, there is however a useful trick that can be applied to automatically create or extend templates in the Jasmine shared functional scope for each test.
+
+By creating a new directory (say, 'templates') in the 'spec' folder and including a new script file with the following contents into SpecRunner.html, we can manually add custom attributes representing smaller templates we wish to use:
+
+```javascript
+beforeEach(function() {
+ this.templates = _.extend(this.templates || {}, {
+ todo: ''
+ });
+});
+```
+
+To finish this off, we simply update our existing spec to reference the template when instantiating the TodoView:
+
+```javascript
+describe('TodoView', function() {
+
+ beforeEach(function() {
+ ...
+ this.view = new TodoView({
+ model: this.model,
+ template: this.templates.todo
+ });
+ });
+
+ ...
+
+});
+```
+
+The existing specs we've looked at would continue to pass using this approach, leaving us free to adjust the template with some additional conditional logic for Todos with a status of 'done':
+
+```javascript
+beforeEach(function() {
+ this.templates = _.extend(this.templates || {}, {
+ todo: ''
+ });
+});
+```
+
+This will now also pass without any issues, however as mentioned, this last approach probably only makes sense if you're working with smaller, highly dynamic templates.
+
+
+## Conclusions
+
+We have now covered how to write Jasmine tests for Backbone.js models, collections, and views. While testing routing can at times be desirable, some developers feel it can be more optimal to leave this to third-party tools such as Selenium, so do keep this in mind.
+
+## Exercise
+
+As an exercise, I recommend now trying the Jasmine Koans in `practicals\jasmine-koans` and trying to fix some of the purposefully failing tests it has to offer. This is an excellent way of not just learning how Jasmine specs and suites work, but working through the examples (without peeking back) will also put your Backbone skills to the test too.
+
+
+## Further reading
+* [Testing Backbone Apps With SinonJS](http://tinnedfruit.com/2011/04/26/testing-backbone-apps-with-jasmine-sinon-3.html) by James Newbry
+* [Jasmine + Backbone Revisited](http://japhr.blogspot.com/2011/11/jasmine-backbonejs-revisited.html)
+* [Backbone, PhantomJS and Jasmine](http://japhr.blogspot.com/2011/12/phantomjs-and-backbonejs-and-requirejs.html)
diff --git a/chapters/12-mobile-applications.md b/chapters/12-mobile-applications.md
new file mode 100644
index 00000000..5d279fc3
--- /dev/null
+++ b/chapters/12-mobile-applications.md
@@ -0,0 +1,739 @@
+# Backbone & jQuery Mobile
+
+### Mobile app development with jQuery Mobile
+
+The mobile web is huge and it is continuing to grow at an impressive rate. Along with the massive growth of the mobile internet comes a striking diversity of devices and browsers. As a result, making your applications cross-platform and mobile-ready is both important and challenging.
+Creating native apps is expensive.
+It is very costly in terms of time and it usually requires varied experiences in programming languages like Objective C , C#, Java and JavaScript to support multiple runtime environments.
+
+HTML, CSS, and JavaScript enable you to build a single application targeting a common runtime environment: the browser. This approach supports a broad range of mobile devices such as tablets, smartphones, and notebooks along with traditional PCs.
+
+The challenging task is not only to adapt contents like text and pictures properly to various screen resolutions but also to have same user experience across native apps under different operating systems.
+Like jQueryUI, jQuery Mobile is a user interface framework based on jQuery that works across all popular phone, tablet, e-Reader, and desktop platforms. It is built with accessibility and universal access in mind.
+
+
+The main idea of the framework is to enable anyone to create a mobile app using only HTML. Knowledge of a programming language is not required and there is no need to write complex, device specific CSS. For this reason jQMobile follows two main principles we first need to understand in order to integrate the framework to Backbone: *progressive enhancement* and *responsive web design*.
+
+
+#### The Principle of progressive widget enhancement by jQMobile
+
+JQuery Mobile follows progressive enhancement and responsive web design principles using HTML-5 markup-driven definitions and configurations.
+
+A page in jQuery Mobile consists of an element with a `data-role="page"` attribute.
+Within the `page` container, any valid HTML markup can be used, but for typical pages in jQM, the immediate children are divs with `data-role="header"`, `data-role="content"`, and `data-role="footer"`.
+The baseline requirement for a page is only a page wrapper to support the navigation system, the rest is optional.
+
+An initial HTML page looks like this:
+
+```html
+
+
+
+ Page Title
+
+
+
+
+
+
+
+
+
+
+
+
Page Title
+
+
+
Page content goes here.
+
+
+
+
Page Footer
+
+
+
+
+```
+
+*Example HTML setup of a basic jQuery Mobile page*
+
+JQuery Mobile will transform the written HTML definition to the rendered HTML and CSS using its Progressive Widget Enhancement API. It also executes JavaScript which is conditioned by configurations, attribute properties, and runtime specific settings.
+
+This implies: Whenever HTML content is added or changed, it needs to be handled by the progressive widget enhancement of jQuery Mobile.
+
+![](img/chapter10-1-1-1.png)
+
+*Comparison of the user interface of the default HTML to the jQuery Mobile enhanced version*
+
+#### Understanding jQuery Mobile Navigation
+
+The jQuery Mobile navigation system controls its application's lifecycle by automatically "hijacking" standard links and form submissions and turning them into AJAX requests. Whenever a link is clicked or a form is submitted, that event is automatically intercepted and used to issue an AJAX request based on the href or form action instead of reloading the page.
+
+When the page document is requested, jQuery Mobile searches the document for all elements with the `data-role="page"` attribute, parses its contents, and inserts that code into the DOM of the original page.
+Once the new page is prepared, jQuery Mobile's JavaScript triggers a transition that shows the new page and hides the HTML of the previous page in the DOM.
+
+Next, any widgets in the incoming page are enhanced to apply all the styles and behavior. The rest of the incoming page is discarded so any scripts, stylesheets, or other information will not be included.
+
+Via the *multi-page templating feature*, you can add as many pages as you want to the same HTML file within the body tag by defining divs with `data-role="page"` or `data-role="dialog"` attributes along with an `id` which can be used in links (preceded by a hashbang):
+
+
+```html
+
+ ...
+
+ ...
+
+
+
+```
+
+*jQuery Mobile multi-page templating example*
+
+To, for example, navigate to *secondpage* and have it appear in a modal dialog using a fade-transition, you would just add the `data-rel="dialog"`, `data-transition="fade"`, and `href="index.html#secondpage"` attributes to an anchor tag.
+
+Roughly speaking, having its own event cycle, jQuery Mobile is a tiny MVC framework which includes features like
+progressive widget enhancement, pre-fetching, caching, and multi-page templating by HTML configurations innately. In general, a Backbone.js developer does not need to know about its internal event workflow, but will need to know how to apply HTML-based configurations which will take action within the event phase. The *Intercepting jQuery Mobile Events* section goes into detail regarding how to handle special scenarios when fine-grained JavaScript adaptions need to be applied.
+
+For further introduction and explanations about jQuery Mobile visit:
+
+* [http://view.jquerymobile.com/1.3.0/docs/intro/](http://view.jquerymobile.com/1.3.0/docs/intro/)
+* [http://view.jquerymobile.com/1.3.0/docs/widgets/pages/](http://view.jquerymobile.com/1.3.0/docs/widgets/pages/)
+* [http://view.jquerymobile.com/1.3.0/docs/intro/rwd.php](http://view.jquerymobile.com/1.3.0/docs/intro/rwd.php)
+
+### Basic Backbone app setup for jQuery Mobile
+
+The first major hurdle developers typically run into when building applications with jQuery Mobile and an MV* framework is that both frameworks want to handle application navigation.
+
+To combine Backbone and jQuery Mobile, we first need to disable jQuery Mobile's navigation system and progressive enhancement. The second step will then be to make use of jQM's custom API to apply configurations and enhance components during Backbone's application lifecycle instead.
+
+The mobile app example presented here is based on the existing codebase of the TodoMVC Backbone-Require.js example, which was discussed in an earlier chapter, and is enhanced to support jQuery Mobile.
+
+![](img/chapter10-1-1.png)
+
+*Screenshot of the TodoMVC app with jQuery Mobile*
+
+This implementation makes use of Grunt-BBB as well as Handlebars.js. Additional utilities useful for mobile applications will be provided, which can be easily combined and extended.
+(see the *Backbone Boilerplate & Grunt-BBB* and *Backbone Extensions* chapters)
+
+![](img/chapter10-1-2.png)
+
+*Workspace of the TodoMVC app with jQueryMobile and Backbone*
+
+The order of the files loaded by Require.js is as follows:
+
+1. jQuery
+2. Underscore/Lodash
+3. handlebars.compiled
+4. TodoRouter (instantiates specific views)
+5. jQueryMobile
+6. JqueryMobileCustomInitConfig
+7. Instantiation of the Backbone Router
+
+By opening the console in the project directory and then running the Grunt-Backbone command `grunt handlebars` or `grunt watch` in the console, it will combine and compile all template files to `dist/debug/handlebars_packaged`. To start the application, run `grunt server`.
+
+Files instantiated, when redirected from the Backbone-Router are:
+
+a) *BasicView.js* and *basic_page_simple.template*
+
+ The BasicView is responsible for the Handlebars multipage-template processing. Its implementation of `render` calls the jQuery Mobile API `$.mobile.changePage` to handle page navigation and progressive widget enhancement.
+
+b) Concrete view with its template partial
+
+ E.g., `EditTodoPage.js` and `editTodoView.template_partial`
+
+
+The head section of `index.html` needs to load the `jquerymobile.css` as well as the `base.css`,
+which is used by all Todo-MVC apps, and the `index.css` for some project-specific custom CSS.
+
+```html
+
+
+
+
+
+
+ TodoMVC Jquery Mobile
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+*index.html*
+
+### Workflow with Backbone and jQueryMobile
+
+By delegating the routing and navigation functions of the jQuery Mobile Framework to Backbone, we can profit from its clear separation of application structure to later on easily share application logic between a desktop webpage, tablets, and mobile apps.
+
+We now need to contend with the different ways in which Backbone and jQuery Mobile handle requests. `Backbone.Router` offers an explicit way to define custom navigation routes, while jQuery Mobile uses URL hash fragments to reference separate pages or views in the same document.
+
+Some of the ideas that have been previously proposed to work-around this problem included manually patching Backbone and jQuery Mobile. The solution demonstrated below will not only simplify the handling of the jQuery Mobile component initialization event-cycle, but also enables use of existing Backbone Router handlers.
+
+To adapt the navigation control from jQuery Mobile to Backbone, we first need to apply some specific settings to the `mobileinit` event which occurs after the framework has loaded in order to let the Backbone Router decide which page to load.
+
+A configuration which will get jQM to delegate navigation to Backbone and which will also enable manual widget creation triggering is given below:
+
+```javascript
+$(document).bind("mobileinit", function(){
+
+// Disable jQM routing and component creation events
+ // disable hash-routing
+ $.mobile.hashListeningEnabled = false;
+ // disable anchor-control
+ $.mobile.linkBindingEnabled = false;
+ // can cause calling object creation twice and back button issues are solved
+ $.mobile.ajaxEnabled = false;
+ // Otherwise after mobileinit, it tries to load a landing page
+ $.mobile.autoInitializePage = false;
+ // we want to handle caching and cleaning the DOM ourselves
+ $.mobile.page.prototype.options.domCache = false;
+
+// consider due to compatibility issues
+ // not supported by all browsers
+ $.mobile.pushStateEnabled = false;
+ // Solves phonegap issues with the back-button
+ $.mobile.phonegapNavigationEnabled = true;
+ //no native datepicker will conflict with the jQM component
+ $.mobile.page.prototype.options.degradeInputs.date = true;
+});
+```
+
+*jquerymobile.config.js*
+
+The behaviour and usage of the new workflow will be explained below, grouped by its functionalities:
+
+a) Routing to a concrete View-page
+
+b) Management of mobile page templates
+
+c) DOM management
+
+d) $.mobile.changePage
+
+
+In the following discussion, the steps 1-11 in the text refer to the new workflow diagram of the mobile application below.
+
+![](img/chapter10-2-1.png)
+
+*Workflow of TodoMVC, with Backbone and jQueryMobile*
+
+####Routing to a concrete View page, Inheriting from BasicView
+
+When the hash URL changes, e.g., a link is clicked, the configuration above prevents jQM from triggering its events. Instead, the Backbone Router listens to the hash changes and decides which view to request.
+
+Experience has shown that, for mobile pages, it is a good practice to create basic prototypes for jQM components such as basic pages, popups, and dialogs, as well as for using the jQuery Validation Plugin. This makes it much easier to exchange device-specific view logic at runtime and adopt general strategies. This will also help to add syntax and to support multi-chaining of prototype inheritance with JavaScript and Backbone.
+
+By creating a `BasicView` superclass, we enable all inheriting view-pages to share a common way of handling jQM along with common usage of a template engine and specific view handling.
+
+When building with Grunt/Yeoman, the semantic templates are compiled by Handlebar.js and the AMDs template files are combined into a single file. By merging all page definitions into a single-file-app, it becomes offline capable, which is important for mobile app.
+
+
+#### Management of Mobile Page Templates
+
+Within a concrete View page, you can override properties for static values and functions to return dynamic values of the super class `BasicView`. These values will be processed later by the BasicView to construct the HTML of a jQuery Mobile page with the help of Handlebars.
+
+Additional dynamic template parameters, e.g., Backbone model information, will be taken from the specific View and merged with the ones from the BasicView.
+
+A concrete View might look like:
+
+```javascript
+define([
+ "backbone", "modules/view/abstract/BasicView"],
+ function (Backbone, BasicView) {
+ return BasicView.extend({
+ id : "editTodoView",
+ getHeaderTitle : function () {
+ return "Edit Todo";
+ },
+ getSpecificTemplateValues : function () {
+ return this.model.toJSON();
+ },
+ events : function () {
+ // merged events of BasicView, to add an older fix for back button functionality
+ return _.extend({
+ 'click #saveDescription' : 'saveDescription'
+ }, this.constructor.__super__.events);
+ },
+ saveDescription : function (clickEvent) {
+ this.model.save({
+ title : $("#todoDescription", this.el).val()
+ });
+ return true;
+ }
+ });
+ });
+```
+
+*A concrete View (EditTodoPage.js)*
+
+
+By default, the BasicView uses `basic_page_simple.template` as the Handlebars template. If you need to use a custom template or want to introduce a new Super abstract View with an alternate template, override the `getTemplateID` function:
+
+```javascript
+getTemplateID : function(){
+ return "custom_page_template";
+}
+```
+
+By convention, the `id` attribute will be taken as the id of the jQM page as well as the filename of the corresponding template file to be inserted as a partial in the `basic_page_simple` template. In the case of the `EditTodoPage` view, the name of the file will be `editTodoPage.template_partial`.
+
+Every concrete page is meant to be a partial, which will be inserted in the `data-role="content"` element,
+where the parameter `templatePartialPageID` is located.
+
+Later on, the result of the `getHeaderTitle` function from `EditTodoPage` will replace the *headerTitle* in the abstract template.
+
+
+```javascript
+
+```
+
+*basic_page_simple.template*
+
+
+*Note: The `whatis` Handlebars View helper does simple logging of parameters.*
+
+
+All the additional parameters being returned by `getSpecificTemplateValues` will be inserted into the concrete template `editTodoPage.template_partial`.
+
+Because `footerContent` is expected to be used rarely, its content is returned by `getSpecificTemplateValues`.
+
+In the case of the EditTodoPage view, all the model information is being returned and `title` is used in the concrete partial page:
+
+
+```html
+
+
+
+
+ Save
+```
+
+*editTodoView.template_partial*
+
+
+When `render` is triggered, the `basic_page_simple.template` and `editTodoView.template_partial` templates will be loaded and the parameters from `EditTodoPage` and `BasicView` will be combined and generated by Handlebars to generate:
+
+```html
+
+```
+
+*Final HTML definition resulting from basic_page_simple_template and editTodoView.template_partial*
+
+The next section explains how the template parameters are collected by the `BasicView` and the HTML definition is loaded.
+
+
+#### DOM management and $.mobile.changePage
+
+When `render` is executed (line 29 is the source code listing below), `BasicView` first cleans up the DOM by removing the previous page (line 70). To delete the elements from the DOM, `$.remove` cannot be used, but `$previousEl.detach()` can be since `detach` does not remove the element's attached events and data.
+
+This is important, because jQuery Mobile still needs information (e.g., to trigger transition effects when switching to another page). Keep in mind that the DOM data and events should be cleared later on as well to avoid possible performance issues.
+
+Other strategies than the one used in the function `cleanupPossiblePageDuplicationInDOM` to cleanup the DOM are viable. To only remove the old page having the same id as the current from the DOM, when it was already requested before, would also be a working strategy of preventing DOM duplication. Depending on what fits best to your application needs, it is also possibly a one-banana problem to exchange it using a caching mechanism.
+
+Next, `BasicView` collects all template parameters from the concrete View implementation and inserts the HTML of the requested page into the body. This is done in steps 4, 5, 6, and 7 in the diagram above (between lines 23 and 51 in the source listing).
+
+Additionally, the `data-role` will be set on the jQuery Mobile page. Commonly used attribute values are
+page, dialog, or popup.
+
+As you can see, (starting at line 74), the `goBackInHistory` function contains a manual implementation to handle the back button's action. In certain scenarios, the back button navigation functionality of jQuery Mobile was not working with older versions and disabled jQMobile's navigation sytem.
+
+
+```javascript
+ 1 define([
+ 2 "lodash",
+ 3 "backbone",
+ 4 "handlebars",
+ 5 "handlebars_helpers"
+ 6 ],
+ 7
+ 8 function (_, Backbone, Handlebars) {
+ 9 var BasicView = Backbone.View.extend({
+10 initialize: function () {
+11 _.bindAll();
+12 this.render();
+13 },
+14 events: {
+15 "click #backButton": "goBackInHistory"
+16 },
+17 role: "page",
+18 attributes: function () {
+19 return {
+20 "data-role": this.role
+21 };
+22 },
+23 getHeaderTitle: function () {
+24 return this.getSpecificTemplateValues().headerTitle;
+25 },
+26 getTemplateID: function () {
+27 return "basic_page_simple";
+28 },
+29 render: function () {
+30 this.cleanupPossiblePageDuplicationInDOM();
+31 $(this.el).html(this.getBasicPageTemplateResult());
+32 this.addPageToDOMAndRenderJQM();
+33 this.enhanceJQMComponentsAPI();
+34 },
+35 // Generate HTML using the Handlebars templates
+36 getTemplateResult: function (templateDefinitionID, templateValues) {
+37 return window.JST[templateDefinitionID](templateValues);
+38 },
+39 // Collect all template paramters and merge them
+40 getBasicPageTemplateResult: function () {
+41 var templateValues = {
+42 templatePartialPageID: this.id,
+43 headerTitle: this.getHeaderTitle()
+44 };
+45 var specific = this.getSpecificTemplateValues();
+46 $.extend(templateValues, this.getSpecificTemplateValues());
+47 return this.getTemplateResult(this.getTemplateID(), templateValues);
+48 },
+49 getRequestedPageTemplateResult: function () {
+50 this.getBasicPageTemplateResult();
+51 },
+52 enhanceJQMComponentsAPI: function () {
+53 // changePage
+54 $.mobile.changePage("#" + this.id, {
+55 changeHash: false,
+56 role: this.role
+57 });
+58 },
+59 // Add page to DOM
+60 addPageToDOMAndRenderJQM: function () {
+61 $("body").append($(this.el));
+62 $("#" + this.id).page();
+63 },
+64 // Cleanup DOM strategy
+65 cleanupPossiblePageDuplicationInDOM: function () {
+66 // Can also be moved to the event "pagehide": or "onPageHide"
+67 var $previousEl = $("#" + this.id);
+68 var alreadyInDom = $previousEl.length >= 0;
+69 if (alreadyInDom) {
+70 $previousEl.detach();
+71 }
+72 },
+73 // Strategy to always support back button with disabled navigation
+74 goBackInHistory: function (clickEvent) {
+75 history.go(-1);
+76 return false;
+77 }
+78 });
+79
+80 return BasicView;
+81 });
+```
+
+*BasicView.js*
+
+After the dynamic HTML is added to the DOM, `$.mobile.changePage` has to be applied at step 8 (code line 54).
+
+This is the most important API call, because it triggers the jQuery Mobile component creation for the current page.
+
+Next, the page will be displayed to the user at step 9.
+
+
+```javascript
+
+
+ Save
+
+
+```
+
+![](img/chapter10-2-2.png)
+
+*Look and feel of the written HTML code and the jQuery Mobile enhanced Todo description page*
+
+UI enhancement is done in the `enhanceJQMComponentsAPI` function in line 52:
+
+```javascript
+$.mobile.changePage("#" + this.id, {
+ changeHash: false,
+ role: this.role
+ });
+```
+
+To retain control of hash routing, `changeHash` has to be set to false and the proper `role` parameter provided to guarantee proper page appearance. Finally, `changePage` will show the new page with its defined transition to the user.
+
+For the basic use cases, it is advised to have one View per page, and always render the complete page again by calling `$.mobile.changePage` when widget enhancement needs to be done.
+
+To progress component enrichment of a newly added HTML-fragment into the DOM, advanced techniques need to be applied to guarantee correct appearance of the mobile components. You need to be very careful when creating partial HTML code and updating values on UI elements. The next section will explain how to handle these situations.
+
+
+### Applying advanced jQM techniques to Backbone
+
+#### Dynamic DOM Scripting
+
+The solution described above solves the issues of handling routing with Backbone by calling `$.mobile.changePage('pageID')`. Additionally, it guarantees that the HTML page will be completely enhanced by the markup for jQuery Mobile.
+
+The second tricky part with jQuery Mobile is to dynamically manipulate specific DOM contents (e.g. after loading in content with Ajax). We suggest you use this technique only if there is evidence for an appreciable performance gain.
+
+With the current version (1.3), jQM provides three ways, documented and explained below in the official API, on forums, and blogs.
+
+* **$(“pageId”).trigger(“pagecreate”)**
+
+ *Creates markup of header, content as well as footer*
+
+* **$(“anyElement”).trigger(“create”)**
+
+ *Creates markup of the element as well as all children*
+
+* **$(“myListElement”).listview(“refresh”)**
+* **$('[type="radio"]').checkboxradio()**
+* **$('[type="text"]').textinput()**
+* **$('[type="button"]').button()**
+* **$('[data-role="navbar"]').navbar()**
+* **$('[type="range"]').slider()**
+* **$('select').selectmenu()**
+
+ *Every component of jQM offers plugins methods they can invoke to update the state of specific UI elements.*
+
+
+Sometimes, when creating a component from scratch, the following error can occur: 'cannot call methods on listview prior to initialization'. This can be avoided, with component initialization prior to markup enhancement, by calling it in the following way:
+
+```javascript
+ $('#mylist').listview().listview('refresh')
+```
+
+To see more details and enhancements for further scripting pages of JQM read their API and follow the release notes frequently.
+
+* [jQuery Mobile: Page Scripting](http://jquerymobile.com/test/docs/pages/page-scripting.html)
+* [jQuery Mobile: Document Ready vs. Page Events](http://stackoverflow.com/questions/14468659/jquery-mobile-document-ready-vs-page-events/ )
+* [StackOverflow: Markup Enhancement of Dynamically Added Content](http://stackoverflow.com/questions/14550396/jquery-mobile-markup-enhancement-of-dynamically-added-content)
+
+
+If you consider using a `Model-Binding Plugin`, you will need to come up with an automated mechanism to enrich single components.
+
+After having a look at the previous section about Dynamic DOM Scripting, it might not be acceptable to completely re-create a component (e.g a Listview) which takes a longer time to load and to reduce the complexity of event-delegation. Instead, the component-specific plugins, which will only update the needed parts of the HTML and CSS, should be used.
+
+In the case of a Listview, you would need to call the following function to update the list of added, edited, or removed entries:
+
+```javascript
+$('#mylist').listview()
+```
+
+You need to come up with a means of detecting the component type to in order to decide which plugin method needs to be called. The jQuery Mobile Angular.js Adapter provides such a strategy and solution as well.
+
+[Example of Model Binding with jQuery Mobile](https://github.com/tigbro/jquery-mobile-angular-adapter/blob/master/src/main/webapp/integration/jqmWidgetPatches.js)
+
+
+#### Intercepting jQuery Mobile Events
+
+In special situations you will need to take action on a triggered jQuery Mobile event, which can be done as follows:
+
+```javascript
+$('#myPage').live('pagebeforecreate', function(event){
+ console.log(page was inserted into the DOM');
+ //run your own enhancement scripting here...
+ // prevent the page plugin from making its manipulations
+ return false;
+});
+
+$('#myPage').live('pagecreate', function(event){
+ console.log(‘page was enhanced by jQM');
+});
+```
+
+In such scenarios, it is important to know when the jQuery Mobile events occur. The following diagram depicts the event cycle (page A is the outgoing page and page B is the incoming page).
+
+
+![](img/chapter10-3-1.png)
+
+*jQuery Mobile Event Cycle*
+
+An alternative is the jQuery Mobile Router project, which you might use to replace the Backbone Router. With the help of the jQM Router project, you could achieve a powerful way to intercept and route one of the various jQM events. It is an extension to jQuery Mobile, which can be used independently.
+
+Be aware that jQM-Router misses some features of Backbone.Router and is tightly coupled with the jQuery Mobile framework. For these reasons, we did not use it for the TodoMVC app. If you intend to use it, consider using a Backbone.js custom build to exclude the router code. This might save around 25% relative to the max compressed size of 17,1 KB.
+
+[Backbone's Custom Builder](http://gregfranko.com/backbone/customBuild/)
+
+
+#### Performance
+
+Performance is an important topic on mobile devices. jQuery Mobile provides various tools that create performance logs which can give you a good overview of the actual time spent in routing logic, component enhancement, and visual effects.
+
+Depending on the device, the time spent on transitions can take up to 90% of the load time. To disable all transitions, you can either pass the transition `none` to `$.mobile.changePage()`, in the configuration code block:
+
+```javascript
+$(document).bind("mobileinit", function(){
+…
+// Otherwise, depending on takes up to 90% of loadtime
+ $.mobile.defaultPageTransition = "none";
+ $.mobile.defaultDialogTransition = "none";
+ });
+ })
+```
+
+or consider adding device-specific settings, for example:
+
+```javascript
+$(document).bind("mobileinit", function(){
+
+ var iosDevice =((navigator.userAgent.match(/iPhone/i))
+ || (navigator.userAgent.match(/iPod/i))) ? true : false;
+
+ $.extend( $.mobile , {
+ slideText : (iosDevice) ? "slide" : "none",
+ slideUpText : (iosDevice) ? "slideup" : "none",
+ defaultPageTransition:(iosDevice) ? "slide" : "none",
+ defaultDialogTransition:(iosDevice) ? "slide" : "none"
+ });
+```
+
+Also, consider doing your own pre-caching of enhanced jQuery Mobile pages.
+
+The jQuery Mobile API is frequently enhanced with regards to this topic in each new release. We suggest you take a look at the latest updated API to determine an optimal caching strategy with dynamic scripting that best fits your needs.
+
+For further information on performance, see the following:
+
+* [jQuery Mobile Profiling Tools](https://github.com/jquery/jquery-mobile/tree/master/tools)
+* [Device specific jQuery Mobile configuations](http://backbonefu.com/2012/01/jquery-mobile-and-backbone-js-the-ugly/)
+* [jQuery Mobile Debugging tools](http://www.objectpartners.com/2012/11/02/use-jquery-mobile%E2%80%99s-tools-suite-to-help-you-debug-and-improve-your-jquery-mobile-application/)
+* [jQuery Mobile precaching functionalities](http://jquerymobile.com/demos/1.2.0/docs/pages/page-cache.html)
+
+
+#### Clever Multi-Platform Support Management
+
+Nowadays, a company typically has an existing webpage and management decides to provide an additional mobile app to customers. The code of the web page and the mobile app become independent of each other and the time required for content or feature changes becomes much higher than for the webpage alone.
+
+As the trend is towards an increasing number of mobile platforms and dimensions, the effort required to support them is only increasing as well. Ultimately, creating per-device experiences is not always viable. However, it is essential that content is available to all users, regardless of their browser and platform. This principle must be kept in mind during the design phase.
+
+*[Responsive Design](http://www.lukew.com/ff/entry.asp?933)* and *[Mobile First](http://www.abookapart.com/products/mobile-first)* approaches address these challenges.
+
+The mobile app architecture presented in this chapter takes care of a lot of the actual heavy lifting required, as it supports responsive layouts out of the box and even supports browsers which cannot handle media queries. It might not be obvious that jQM is a UI framework not dissimilar to jQuery UI. jQuery Mobile is using the widget factory and is capable of being used for more than just mobile environments.
+
+To support multi-platform browsers using jQuery Mobile and Backbone,
+you can, in order of increasing time and effort:
+
+1. Ideally, have one code project, where only CSS differs for different devices.
+2. Same code project, and at runtime different HTML templates
+ and super-classes are exchanged per device type.
+3. Same code project, and the Responsive Design API and most widgets of jQuery Mobile will be reused.
+ For the desktop browser, some components will be added by another widget framework
+ (e.g. *jQueryUI* or *Twitter Boostrap*), e.g. controlled by the HTML templating.
+4. Same code project, and at runtime, jQuery Mobile will be completely replaced
+ by another widget framework (e.g. *jQueryUI* or *Twitter Boostrap*).
+ Super-classes and configurations, as well as concrete Backbone.View code snippets need to be replaced.
+5. Different code projects, but common modules are reused.
+6. For the desktop app, there is a completely separate code project.
+ Reasons might be the usage of complete different programming languagages
+ and/or frameworks, lack of Responsive Design knowledge or legacy of pollution.
+
+The ideal solution, to build a nice-looking desktop application with only one mobile framework, sounds crazy, but is feasible.
+
+If you have a look at the jQuery Mobile API page in a desktop browser, it does not look anything like a mobile application.
+
+![](img/chapter10-3-3.png)
+
+*Desktop view of the jQuery Mobile API and Docs application (http://view.jquerymobile.com/1.3.0/)*
+
+The same goes for the jQuery Mobile design examples, where jQuery Mobile intends to add further user interface experiences.
+
+![](img/chapter10-3-4.png)
+
+*Design examples of jQuery Mobile for desktop environments, http://jquerymobile.com/designs/#desktop*
+
+The accordions, date-pickers, sliders - everything in the desktop UI is re-using what jQM would be providing users on mobile devices. By way of example, adding the attribute `data-mini="true"` on components will lose the clumsiness of the mobile widgets on a desktop browser.
+
+See http://jquerymobile.com/demos/1.2.0/docs/forms/forms-all-mini.html, Mini-widgets for desktop applications by jQuery Mobile.
+
+Thanks to some media queries, the desktop UI can make optimal use of whitespace, expanding component blocks out and providing alternative layouts while still making use of jQM as the component framework.
+
+The benefit of this is that you don’t need to pull in another widget framework (e.g., jQuery UI) separately to be able to take advantage of these features. Thanks to the ThemeRoller, the components can look pretty much exactly how you would like them to and users of the app can get a jQM UI for lower-resolutions and a jQM-ish UI for everything else.
+
+The take away here is just to remember that if you are not already going through the hassle of conditional script/style loading based on screen-resolution (using matchMedia.js, etc.), there are simpler approaches that can be taken to cross-device component theming. At least the Responsive Design API of jQuery Mobile, which was added since version 1.3.0, is always reasonable because it will work for mobile as well as for desktop. In summary, you can manage jQuery Mobile components to give users a typical desktop appearance and they will not realize a difference.
+
+[Responsive Design with jQuery Mobile](http://view.jquerymobile.com/1.3.0/docs/intro/rwd.php)
+
+Also, if you hit your limits of CSS-styling and configurations of your jQuery Mobile application for desktop browsers, the additional effort to use jQuery Mobile and Twitter Bootstrap together can be quite simple.
+In the case that a desktop browser requests the page and Twitter Bootstrap has been loaded, the mobile TodoMVC app would need conditional code to not trigger the jQM Widget processive enhancement plugins API (demonstrated in the *Dynamic DOM Scripting* section) in the Backbone.View implementation. Therefore, as explained in the previous sections, we recommend triggering widget enhancements by `$.mobile.changePage` only once to load the complete page.
+
+An example of such a widget hybrid usage can be seen here:
+
+![](img/chapter10-3-2.png)
+
+*[Appengine boilerplate, desktop and mobile appearance](http://appengine.beecoss.com)*
+
+Although it is using server-side technologies for templating using the programming language Python,
+the principle of triggering progressive enhancement at page load is the same as `$mobile.changePage`.
+
+As you can see, the JavaScript and even the CSS stays the same. The only device-specific conditions and differences in implementations are for selecting the appropriate framework imports, which are located in the HTML template:
+
+```html
+...
+ {% if is_mobile %}
+
+ {% else %}
+
+
+
+
+ {% endif %}
+
+
+ {% block mediaCSS %}{% endblock %}
+...
+ {% if is_mobile %}
+
+ {% else %}
+
+ {% endif %}
+...
+```
diff --git a/chapters/12-qunit.md b/chapters/12-qunit.md
new file mode 100644
index 00000000..b2fcc278
--- /dev/null
+++ b/chapters/12-qunit.md
@@ -0,0 +1,443 @@
+# QUnit
+
+## Introduction
+
+QUnit is a powerful JavaScript test suite written by jQuery team member [Jörn Zaefferer](http://bassistance.de/) and used by many large open-source projects (such as jQuery and Backbone.js) to test their code. It's both capable of testing standard JavaScript code in the browser as well as code on the server-side (where environments supported include Rhino, V8 and SpiderMonkey). This makes it a robust solution for a large number of use-cases.
+
+Quite a few Backbone.js contributors feel that QUnit is a better introductory framework for testing if you don't wish to start off with Jasmine and BDD right away. As we'll see later on in this chapter, QUnit can also be combined with third-party solutions such as SinonJS to produce an even more powerful testing solution supporting spies and mocks, which some say is preferable over Jasmine.
+
+My personal recommendation is that it's worth comparing both frameworks and opting for the solution that you feel the most comfortable with.
+
+## Getting Setup
+
+Luckily, getting QUnit setup is a fairly straight-forward process that will take less than 5 minutes.
+
+We first setup a testing environment composed of three files:
+
+* An HTML **structure** for displaying test results
+* The **qunit.js** file composing the testing framework
+* The **qunit.css** file for styling test results
+
+The latter two of these can be downloaded from the [QUnit website](http://qunitjs.com).
+
+If you would prefer, you can use a hosted version of the QUnit source files for testing purposes. The hosted URLs can be found at .
+
+#### Sample HTML with QUnit-compatible markup:
+
+```html
+
+
+
+ QUnit Test Suite
+
+
+
+
+
+
+
+
+
+
+
+
QUnit Test Suite
+
+
+
+ test markup, hidden.
+
+
+```
+
+Let's go through the elements above with qunit mentioned in their ID. When QUnit is running:
+
+* **qunit-header** shows the name of the test suite
+* **qunit-banner** shows up as red if a test fails and green if all tests pass
+* **qunit-testrunner-toolbar** contains additional options for configuring the display of tests
+* **qunit-userAgent** displays the navigator.userAgent property
+* **qunit-tests** is a container for our test results
+
+When running correctly, the above test runner looks as follows:
+
+![screenshot 1](img/7d4de12.png)
+
+The numbers of the form (a, b, c) after each test name correspond to a) failed asserts, b) passed asserts and c) total asserts. Clicking on a test name expands it to display all of the assertions for that test case. Assertions in green have successfully passed.
+
+![screenshot 2](img/9df4.png)
+
+If however any tests fail, the test gets highlighted (and the qunit-banner at the top switches to red):
+
+![screenshot 3](img/3e5545.png)
+
+
+## Assertions
+
+QUnit supports a number of basic **assertions**, which are used in tests to verify that the result being returned by our code is what we expect. If an assertion fails, we know that a bug exists. Similar to Jasmine, QUnit can be used to easily test for regressions. Specifically, when a bug is found one can write an assertion to test the existence of the bug, write a patch, and then commit both. If subsequent changes to the code break the test you'll know what was responsible and be able to address it more easily.
+
+Some of the supported QUnit assertions we're going to look at first are:
+
+* `ok ( state, message )` - passes if the first argument is truthy
+* `equal ( actual, expected, message )` - a simple comparison assertion with type coercion
+* `notEqual ( actual, expected, message )` - the opposite of the above
+* `expect( amount )` - the number of assertions expected to run within each test
+* `strictEqual( actual, expected, message)` - offers a much stricter comparison than `equal()` and is considered the preferred method of checking equality as it avoids stumbling on subtle coercion bugs
+* `deepEqual( actual, expected, message )` - similar to `strictEqual`, comparing the contents (with `===`) of the given objects, arrays and primitives.
+
+#### Basic test case using test( name, callback )
+
+Creating new test cases with QUnit is relatively straight-forward and can be done using ```test()```, which constructs a test where the first argument is the ```name``` of the test to be displayed in our results and the second is a ```callback``` function containing all of our assertions. This is called as soon as QUnit is running.
+
+```javascript
+var myString = 'Hello Backbone.js';
+
+test( 'Our first QUnit test - asserting results', function(){
+
+ // ok( boolean, message )
+ ok( true, 'the test succeeds');
+ ok( false, 'the test fails');
+
+ // equal( actualValue, expectedValue, message )
+ equal( myString, 'Hello Backbone.js', 'The value expected is Hello Backbone.js!');
+});
+```
+
+What we're doing in the above is defining a variable with a specific value and then testing to ensure the value was what we expected it to be. This was done using the comparison assertion, ```equal()```, which expects its first argument to be a value being tested and the second argument to be the expected value. We also used ```ok()```, which allows us to easily test against functions or variables that evaluate to booleans.
+
+Note: Optionally in our test case, we could have passed an 'expected' value to ```test()``` defining the number of assertions we expect to run. This takes the form: `test( name, [expected], test );` or by manually settings the expectation at the top of the test function, like so: `expect( 1 )`. I recommend you make a habit of always defining how many assertions you expect. More on this later.
+
+#### Comparing the actual output of a function against the expected output
+
+As testing a simple static variable is fairly trivial, we can take this further to test actual functions. In the following example we test the output of a function that reverses a string to ensure that the output is correct using ```equal()``` and ```notEqual()```:
+
+```javascript
+function reverseString( str ){
+ return str.split('').reverse().join('');
+}
+
+test( 'reverseString()', function() {
+ expect( 5 );
+ equal( reverseString('hello'), 'olleh', 'The value expected was olleh' );
+ equal( reverseString('foobar'), 'raboof', 'The value expected was raboof' );
+ equal( reverseString('world'), 'dlrow', 'The value expected was dlrow' );
+ notEqual( reverseString('world'), 'dlroo', 'The value was expected to not be dlroo' );
+ equal( reverseString('bubble'), 'double', 'The value expected was elbbub' );
+})
+```
+
+Running these tests in the QUnit test runner (which you would see when your HTML test page was loaded) we would find that four of the assertions pass while the last one does not. The reason the test against `'double'` fails is because it was purposefully written incorrectly. In your own projects if a test fails to pass and your assertions are correct, you've probably just found a bug!
+
+
+## Adding structure to assertions
+
+Housing all of our assertions in one test case can quickly become difficult to maintain, but luckily QUnit supports structuring blocks of assertions more cleanly. This can be done using ```module()``` - a method that allows us to easily group tests together. A typical approach to grouping might be keeping multiple tests for a specific method as part of the same group (module).
+
+#### Basic QUnit Modules
+
+```javascript
+module( 'Module One' );
+test( 'first test', function() {} );
+test( 'another test', function() {} );
+
+module( 'Module Two' );
+test( 'second test', function() {} );
+test( 'another test', function() {} );
+
+module( 'Module Three' );
+test( 'third test', function() {} );
+test( 'another test', function() {} );
+```
+
+We can take this further by introducing ```setup()``` and ```teardown()``` callbacks to our modules, where ```setup()``` is run before each test and ```teardown()``` is run after each test.
+
+#### Using setup() and teardown()
+```javascript
+module( 'Module One', {
+ setup: function() {
+ // run before
+ },
+ teardown: function() {
+ // run after
+ }
+});
+
+test('first test', function() {
+ // run the first test
+});
+```
+
+These callbacks can be used to define (or clear) any components we wish to instantiate for use in one or more of our tests. As we'll see shortly, this is ideal for defining new instances of views, collections, models, or routers from a project that we can then reference across multiple tests.
+
+#### Using setup() and teardown() for instantiation and clean-up
+
+```javascript
+// Define a simple model and collection modeling a store and
+// list of stores
+
+var Store = Backbone.Model.extend({});
+
+var StoreList = Backbone.Collection.extend({
+ model: Store,
+ comparator: function( Store ) { return Store.get('name') }
+});
+
+// Define a group for our tests
+module( 'StoreList sanity check', {
+ setup: function() {
+ this.list = new StoreList;
+ this.list.add(new Store({ name: 'Costcutter' }));
+ this.list.add(new Store({ name: 'Target' }));
+ this.list.add(new Store({ name: 'Walmart' }));
+ this.list.add(new Store({ name: 'Barnes & Noble' }));
+ },
+ teardown: function() {
+ window.errors = null;
+ }
+});
+
+// Test the order of items added
+test( 'test ordering', function() {
+ expect( 1 );
+ var expected = ['Barnes & Noble', 'Costcutter', 'Target', 'Walmart'];
+ var actual = this.list.pluck('name');
+ deepEqual( actual, expected, 'is maintained by comparator' );
+});
+
+```
+
+Here, a list of stores is created and stored on ```setup()```. A ```teardown()``` callback is used to simply clear a list of errors we might be storing within the window scope, but is otherwise not needed.
+
+
+## Assertion examples
+
+Before we continue any further, let's review some more examples of how QUnit's various assertions can be correctly used when writing tests:
+
+### equal - a comparison assertion. It passes if actual == expected
+
+```javascript
+test( 'equal', 2, function() {
+ var actual = 6 - 5;
+ equal( actual, true, 'passes as 1 == true' );
+ equal( actual, 1, 'passes as 1 == 1' );
+});
+```
+
+
+### notEqual - a comparison assertion. It passes if actual != expected
+
+```javascript
+test( 'notEqual', 2, function() {
+ var actual = 6 - 5;
+ notEqual( actual, false, 'passes as 1 != false' );
+ notEqual( actual, 0, 'passes as 1 != 0' );
+});
+```
+
+### strictEqual - a comparison assertion. It passes if actual === expected
+
+```javascript
+test( 'strictEqual', 2, function() {
+ var actual = 6 - 5;
+ strictEqual( actual, true, 'fails as 1 !== true' );
+ strictEqual( actual, 1, 'passes as 1 === 1' );
+});
+```
+
+### notStrictEqual - a comparison assertion. It passes if actual !== expected
+
+```javascript
+test('notStrictEqual', 2, function() {
+ var actual = 6 - 5;
+ notStrictEqual( actual, true, 'passes as 1 !== true' );
+ notStrictEqual( actual, 1, 'fails as 1 === 1' );
+});
+```
+
+### deepEqual - a recursive comparison assertion. Unlike strictEqual(), it works on objects, arrays and primitives.
+
+```javascript
+test('deepEqual', 4, function() {
+ var actual = {q: 'foo', t: 'bar'};
+ var el = $('div');
+ var children = $('div').children();
+
+ equal( actual, {q: 'foo', t: 'bar'}, 'fails - objects are not equal using equal()' );
+ deepEqual( actual, {q: 'foo', t: 'bar'}, 'passes - objects are equal' );
+ equal( el, children, 'fails - jQuery objects are not the same' );
+ deepEqual(el, children, 'fails - objects not equivalent' );
+
+});
+```
+
+### notDeepEqual - a comparison assertion. This returns the opposite of deepEqual
+
+```javascript
+test('notDeepEqual', 2, function() {
+ var actual = {q: 'foo', t: 'bar'};
+ notEqual( actual, {q: 'foo', t: 'bar'}, 'passes - objects are not equal' );
+ notDeepEqual( actual, {q: 'foo', t: 'bar'}, 'fails - objects are equivalent' );
+});
+```
+
+### raises - an assertion which tests if a callback throws any exceptions
+
+```javascript
+test('raises', 1, function() {
+ raises(function() {
+ throw new Error( 'Oh no! It`s an error!' );
+ }, 'passes - an error was thrown inside our callback');
+});
+```
+
+## Fixtures
+
+
+From time to time we may need to write tests that modify the DOM. Managing the clean-up of such operations between tests can be a genuine pain, but thankfully QUnit has a solution to this problem in the form of the `#qunit-fixture` element, seen below.
+
+#### Fixture markup:
+```html
+
+
+
+ QUnit Test
+
+
+
+
+
+
+
QUnit Test
+
+
+
+
+
+
+
+```
+
+We can either opt to place static markup in the fixture or just insert/append any DOM elements we may need to it. QUnit will automatically reset the `innerHTML` of the fixture after each test to its original value. In case you're using jQuery, it's useful to know that QUnit checks for its availability and will opt to use ```$(el).html()``` instead, which will cleanup any jQuery event handlers too.
+
+
+### Fixtures example:
+
+Let us now go through a more complete example of using fixtures. One thing that most of us are used to doing in jQuery is working with lists - they're often used to define the markup for menus, grids, and a number of other components. You may have used jQuery plugins before that manipulated a given list in a particular way and it can be useful to test that the final (manipulated) output of the plugin is what was expected.
+
+For the purposes of our next example, we're going to use Ben Alman's `$.enumerate()` plugin, which can prepend each item in a list by its index, optionally allowing us to set what the first number in the list is. The code snippet for the plugin can be found below, followed by an example of the output it generates:
+
+```javascript
+$.fn.enumerate = function( start ) {
+ if ( typeof start !== 'undefined' ) {
+ // Since `start` value was provided, enumerate and return
+ // the initial jQuery object to allow chaining.
+
+ return this.each(function(i){
+ $(this).prepend( '' + ( i + start ) + ' ' );
+ });
+
+ } else {
+ // Since no `start` value was provided, function as a
+ // getter, returning the appropriate value from the first
+ // selected element.
+
+ var val = this.eq( 0 ).children( 'b' ).eq( 0 ).text();
+ return Number( val );
+ }
+ };
+
+/*
+
+
1. hello
+
2. world
+
3. i
+
4. am
+
5. foo
+
+*/
+```
+
+Let's now write some tests for the plugin. First, we define the markup for a list containing some sample items inside our ```qunit-fixture``` element:
+
+```html
+
+
+
hello
+
world
+
i
+
am
+
foo
+
+
+```
+
+Next, we need to think about what should be tested. `$.enumerate()` supports a few different use cases, including:
+
+* **No arguments passed** - i.e., ```$(el).enumerate()```
+* **0 passed as an argument** - i.e., ```$(el).enumerate(0)```
+* **1 passed as an argument** - i.e., ```$(el).enumerate(1)```
+
+As the text value for each list item is of the form "n. item-text" and we only require this to test against the expected output, we can simply access the content using ```$(el).eq(index).text()``` (for more information on .eq() see [here](http://api.jquery.com/eq/)).
+
+and finally, here are our test cases:
+
+```javascript
+module('jQuery#enumerate');
+
+test( 'No arguments passed', 5, function() {
+ var items = $('#qunit-fixture li').enumerate(); // 0
+ equal( items.eq(0).text(), '0. hello', 'first item should have index 0' );
+ equal( items.eq(1).text(), '1. world', 'second item should have index 1' );
+ equal( items.eq(2).text(), '2. i', 'third item should have index 2' );
+ equal( items.eq(3).text(), '3. am', 'fourth item should have index 3' );
+ equal( items.eq(4).text(), '4. foo', 'fifth item should have index 4' );
+});
+
+test( '0 passed as an argument', 5, function() {
+ var items = $('#qunit-fixture li').enumerate( 0 );
+ equal( items.eq(0).text(), '0. hello', 'first item should have index 0' );
+ equal( items.eq(1).text(), '1. world', 'second item should have index 1' );
+ equal( items.eq(2).text(), '2. i', 'third item should have index 2' );
+ equal( items.eq(3).text(), '3. am', 'fourth item should have index 3' );
+ equal( items.eq(4).text(), '4. foo', 'fifth item should have index 4' );
+});
+
+test( '1 passed as an argument', 3, function() {
+ var items = $('#qunit-fixture li').enumerate( 1 );
+ equal( items.eq(0).text(), '1. hello', 'first item should have index 1' );
+ equal( items.eq(1).text(), '2. world', 'second item should have index 2' );
+ equal( items.eq(2).text(), '3. i', 'third item should have index 3' );
+ equal( items.eq(3).text(), '4. am', 'fourth item should have index 4' );
+ equal( items.eq(4).text(), '5. foo', 'fifth item should have index 5' );
+});
+
+```
+
+## Asynchronous code
+
+As with Jasmine, the effort required to run synchronous tests with QUnit is fairly minimal. That said, what about tests that require asynchronous callbacks (such as expensive processes, Ajax requests, and so on)? When we're dealing with asynchronous code, rather than letting QUnit control when the next test runs, we can tell it that we need it to stop running and wait until it's okay to continue once again.
+
+Remember: running asynchronous code without any special considerations can cause incorrect assertions to appear in other tests, so we want to make sure we get it right.
+
+Writing QUnit tests for asynchronous code is made possible using the ```start()``` and ```stop()``` methods, which programmatically set the start and stop points during such tests. Here's a simple example:
+
+```javascript
+test('An async test', function(){
+ stop();
+ expect( 1 );
+ $.ajax({
+ url: '/test',
+ dataType: 'json',
+ success: function( data ){
+ deepEqual(data, {
+ topic: 'hello',
+ message: 'hi there!''
+ });
+ ok(true, 'Asynchronous test passed!');
+ start();
+ }
+ });
+});
+```
+
+A jQuery ```$.ajax()``` request is used to connect to a test resource and assert that the data returned is correct. ```deepEqual()``` is used here as it allows us to compare different data types (e.g., objects, arrays) and ensures that what is returned is exactly what we're expecting. We know that our Ajax request is asynchronous and so we first call ```stop()```, then run the code making the request, and finally, at the very end of our callback, inform QUnit that it is okay to continue running other tests.
+
+Note: rather than including ```stop()```, we can simply exclude it and substitute ```test()``` with ```asyncTest()``` if we prefer. This improves readability when dealing with a mixture of asynchronous and synchronous tests in your suite. While this setup should work fine for many use-cases, there is no guarantee that the callback in our ```$.ajax()``` request will actually get called. To factor this into our tests, we can use ```expect()``` once again to define how many assertions we expect to see within our test. This is a healthy safety blanket as it ensures that if a test completes with an insufficient number of assertions, we know something went wrong and can fix it.
diff --git a/chapters/13-sinonjs.md b/chapters/13-sinonjs.md
new file mode 100644
index 00000000..1f7ee6b4
--- /dev/null
+++ b/chapters/13-sinonjs.md
@@ -0,0 +1,514 @@
+# SinonJS
+
+Similar to the section on testing Backbone.js apps using the Jasmine BDD framework, we're nearly ready to take what we've learned and write a number of QUnit tests for our Todo application.
+
+Before we start though, you may have noticed that QUnit doesn't support test spies. Test spies are functions which record arguments, exceptions, and return values for any of their calls. They're typically used to test callbacks and how functions may be used in the application being tested. In testing frameworks, spies usually are anonymous functions or wrappers around functions which already exist.
+
+
+## What is SinonJS?
+
+In order for us to substitute support for spies in QUnit, we will be taking advantage of a mocking framework called [SinonJS](http://sinonjs.org/) by Christian Johansen. We will also be using the [SinonJS-QUnit adapter](http://sinonjs.org/qunit/) which provides seamless integration with QUnit (meaning setup is minimal). Sinon.JS is completely test-framework agnostic and should be easy to use with any testing framework, so it's ideal for our needs.
+
+The framework supports three features we'll be taking advantage of for unit testing our application:
+
+* **Anonymous spies**
+* **Spying on existing methods**
+* **A rich inspection interface**
+
+#### Basic Spies
+
+Using ```this.spy()``` without any arguments creates an anonymous spy. This is comparable to ```jasmine.createSpy()```. We can observe basic usage of a SinonJS spy in the following example:
+
+```javascript
+test('should call all subscribers for a message exactly once', function () {
+ var message = getUniqueString();
+ var spy = this.spy();
+
+ PubSub.subscribe( message, spy );
+ PubSub.publishSync( message, 'Hello World' );
+
+ ok( spy.calledOnce, 'the subscriber was called once' );
+});
+```
+
+#### Spying On Existing Functions
+
+We can also use ```this.spy()``` to spy on existing functions (like jQuery's ```$.ajax```) in the example below. When spying on a function which already exists, the function behaves normally but we get access to data about its calls which can be very useful for testing purposes.
+
+```javascript
+test( 'should inspect the jQuery.getJSON usage of jQuery.ajax', function () {
+ this.spy( jQuery, 'ajax' );
+
+ jQuery.getJSON( '/todos/completed' );
+
+ ok( jQuery.ajax.calledOnce );
+ equals( jQuery.ajax.getCall(0).args[0].url, '/todos/completed' );
+ equals( jQuery.ajax.getCall(0).args[0].dataType, 'json' );
+});
+```
+
+#### Inspection Interface
+
+SinonJS comes with a rich spy interface which allows us to test whether a spy was called with a specific argument, if it was called a specific number of times, and test against the values of arguments. A complete list of features supported in the interface can be found on [SinonJS.org](http://sinonjs.org/docs/), but let's take a look at some examples demonstrating some of the most commonly used ones:
+
+
+**Matching arguments: test a spy was called with a specific set of arguments:**
+
+```javascript
+test( 'Should call a subscriber with standard matching': function () {
+ var spy = sinon.spy();
+
+ PubSub.subscribe( 'message', spy );
+ PubSub.publishSync( 'message', { id: 45 } );
+
+ assertTrue( spy.calledWith( { id: 45 } ) );
+});
+```
+
+**Stricter argument matching: test a spy was called at least once with specific arguments and no others:**
+
+```javascript
+test( 'Should call a subscriber with strict matching': function () {
+ var spy = sinon.spy();
+
+ PubSub.subscribe( 'message', spy );
+ PubSub.publishSync( 'message', 'many', 'arguments' );
+ PubSub.publishSync( 'message', 12, 34 );
+
+ // This passes
+ assertTrue( spy.calledWith('many') );
+
+ // This however, fails
+ assertTrue( spy.calledWithExactly( 'many' ) );
+});
+```
+
+**Testing call order: testing if a spy was called before or after another spy:**
+
+```javascript
+test( 'Should call a subscriber and maintain call order': function () {
+ var a = sinon.spy();
+ var b = sinon.spy();
+
+ PubSub.subscribe( 'message', a );
+ PubSub.subscribe( 'event', b );
+
+ PubSub.publishSync( 'message', { id: 45 } );
+ PubSub.publishSync( 'event', [1, 2, 3] );
+
+ assertTrue( a.calledBefore(b) );
+ assertTrue( b.calledAfter(a) );
+});
+```
+
+**Match execution counts: test a spy was called a specific number of times:**
+
+```javascript
+test( 'Should call a subscriber and check call counts', function () {
+ var message = getUniqueString();
+ var spy = this.spy();
+
+ PubSub.subscribe( message, spy );
+ PubSub.publishSync( message, 'some payload' );
+
+
+ // Passes if spy was called once and only once.
+ ok( spy.calledOnce ); // calledTwice and calledThrice are also supported
+
+ // The number of recorded calls.
+ equal( spy.callCount, 1 );
+
+ // Directly checking the arguments of the call
+ equals( spy.getCall(0).args[0], message );
+});
+```
+
+
+## Stubs and mocks
+
+SinonJS also supports two other powerful features: stubs and mocks. Both stubs and mocks implement all of the features of the spy API, but have some added functionality.
+
+### Stubs
+
+A stub allows us to replace any existing behaviour for a specific method with something else. They can be very useful for simulating exceptions and are most often used to write test cases when certain dependencies of your code-base may not yet be written.
+
+Let us briefly re-explore our Backbone Todo application, which contained a Todo model and a TodoList collection. For the purpose of this walkthrough, we want to isolate our TodoList collection and fake the Todo model to test how adding new models might behave.
+
+We can pretend that the models have yet to be written just to demonstrate how stubbing might be carried out. A shell collection just containing a reference to the model to be used might look like this:
+
+```javascript
+var TodoList = Backbone.Collection.extend({
+ model: Todo
+});
+
+// Let's assume our instance of this collection is
+this.todoList;
+```
+
+Assuming our collection is instantiating new models itself, it's necessary for us to stub the model's constructor function for the the test. This can be done by creating a simple stub as follows:
+
+```javascript
+this.todoStub = sinon.stub( window, 'Todo' );
+```
+
+The above creates a stub of the Todo method on the window object. When stubbing a persistent object, it's necessary to restore it to its original state. This can be done in a ```teardown()``` as follows:
+
+```javascript
+this.todoStub.restore();
+```
+
+After this, we need to alter what the constructor returns, which can be efficiently done using a plain ```Backbone.Model``` constructor. While this isn't a Todo model, it does still provide us an actual Backbone model.
+
+
+```javascript
+setup: function() {
+ this.model = new Backbone.Model({
+ id: 2,
+ title: 'Hello world'
+ });
+ this.todoStub.returns( this.model );
+});
+```
+
+The expectation here might be that this snippet would ensure our TodoList collection always instantiates a stubbed Todo model, but because a reference to the model in the collection is already present, we need to reset the model property of our collection as follows:
+
+```javascript
+this.todoList.model = Todo;
+```
+
+The result of this is that when our TodoList collection instantiates new Todo models, it will return our plain Backbone model instance as desired. This allows us to write a test for the addition of new model literals as follows:
+
+```javascript
+module( 'Should function when instantiated with model literals', {
+
+ setup:function() {
+
+ this.todoStub = sinon.stub(window, 'Todo');
+ this.model = new Backbone.Model({
+ id: 2,
+ title: 'Hello world'
+ });
+
+ this.todoStub.returns(this.model);
+ this.todos = new TodoList();
+
+ // Let's reset the relationship to use a stub
+ this.todos.model = Todo;
+
+ // add a model
+ this.todos.add({
+ id: 2,
+ title: 'Hello world'
+ });
+ },
+
+ teardown: function() {
+ this.todoStub.restore();
+ }
+
+});
+
+test('should add a model', function() {
+ equal( this.todos.length, 1 );
+});
+
+test('should find a model by id', function() {
+ equal( this.todos.get(5).get('id'), 5 );
+ });
+});
+```
+
+
+### Mocks
+
+Mocks are effectively the same as stubs, however they mock a complete API and have some built-in expectations for how they should be used. The difference between a mock and a spy is that as the expectations for their use are pre-defined and the test will fail if any of these are not met.
+
+Here's a snippet with sample usage of a mock based on PubSubJS. Here, we have a `clearTodo()` method as a callback and use mocks to verify its behavior.
+
+```javascript
+test('should call all subscribers when exceptions', function () {
+ var myAPI = { clearTodo: function () {} };
+
+ var spy = this.spy();
+ var mock = this.mock( myAPI );
+ mock.expects( 'clearTodo' ).once().throws();
+
+ PubSub.subscribe( 'message', myAPI.clearTodo );
+ PubSub.subscribe( 'message', spy );
+ PubSub.publishSync( 'message', undefined );
+
+ mock.verify();
+ ok( spy.calledOnce );
+});
+```
+
+
+
+## Exercise
+
+We can now begin writing tests for our Todo application, which are listed and separated by component (e.g., Models, Collections, etc.). It's useful to pay attention to the name of the test, the logic being tested, and most importantly the assertions being made as this will give you some insight into how what we've learned can be applied to a complete application.
+
+To get the most out of this section, I recommend looking at the QUnit Koans included in the `practicals/qunit-koans` folder - this is a port of the Backbone.js Jasmine Koans over to QUnit.
+
+*In case you haven't had a chance to try out one of the Koans kits as yet, they are a set of unit tests using a specific testing framework that both demonstrate how a set of tests for an application may be written, but also leave some tests unfilled so that you can complete them as an exercise.*
+
+### Models
+
+For our models we want to at minimum test that:
+
+* New instances can be created with the expected default values
+* Attributes can be set and retrieved correctly
+* Changes to state correctly fire off custom events where needed
+* Validation rules are correctly enforced
+
+```javascript
+module( 'About Backbone.Model');
+
+test('Can be created with default values for its attributes.', function() {
+ expect( 3 );
+
+ var todo = new Todo();
+ equal( todo.get('text'), '' );
+ equal( todo.get('done'), false );
+ equal( todo.get('order'), 0 );
+});
+
+test('Will set attributes on the model instance when created.', function() {
+ expect( 1 );
+
+ var todo = new Todo( { text: 'Get oil change for car.' } );
+ equal( todo.get('text'), 'Get oil change for car.' );
+
+});
+
+test('Will call a custom initialize function on the model instance when created.', function() {
+ expect( 1 );
+
+ var toot = new Todo({ text: 'Stop monkeys from throwing their own crap!' });
+ equal( toot.get('text'), 'Stop monkeys from throwing their own rainbows!' );
+});
+
+test('Fires a custom event when the state changes.', function() {
+ expect( 1 );
+
+ var spy = this.spy();
+ var todo = new Todo();
+
+ todo.on( 'change', spy );
+ // Change the model state
+ todo.set( { text: 'new text' } );
+
+ ok( spy.calledOnce, 'A change event callback was correctly triggered' );
+});
+
+
+test('Can contain custom validation rules, and will trigger an invalid event on failed validation.', function() {
+ expect( 3 );
+
+ var errorCallback = this.spy();
+ var todo = new Todo();
+
+ todo.on('invalid', errorCallback);
+ // Change the model state in such a way that validation will fail
+ todo.set( { done: 'not a boolean' } );
+
+ ok( errorCallback.called, 'A failed validation correctly triggered an error' );
+ notEqual( errorCallback.getCall(0), undefined );
+ equal( errorCallback.getCall(0).args[1], 'Todo.done must be a boolean value.' );
+
+});
+```
+
+
+### Collections
+
+For our collection we'll want to test that:
+
+* The Collection has a Todo Model
+* Uses localStorage for syncing
+* That done(), remaining() and clear() work as expected
+* The order for Todos is numerically correct
+
+```javascript
+ describe('Test Collection', function() {
+
+ beforeEach(function() {
+
+ // Define new todos
+ this.todoOne = new Todo;
+ this.todoTwo = new Todo({
+ title: "Buy some milk"
+ });
+
+ // Create a new collection of todos for testing
+ return this.todos = new TodoList([this.todoOne, this.todoTwo]);
+ });
+
+ it('Has the Todo model', function() {
+ return expect(this.todos.model).toBe(Todo);
+ });
+
+ it('Uses local storage', function() {
+ return expect(this.todos.localStorage).toEqual(new Store('todos-backbone'));
+ });
+
+ describe('done', function() {
+ return it('returns an array of the todos that are done', function() {
+ this.todoTwo.done = true;
+ return expect(this.todos.done()).toEqual([this.todoTwo]);
+ });
+ });
+
+ describe('remaining', function() {
+ return it('returns an array of the todos that are not done', function() {
+ this.todoTwo.done = true;
+ return expect(this.todos.remaining()).toEqual([this.todoOne]);
+ });
+ });
+
+ describe('clear', function() {
+ return it('destroys the current todo from local storage', function() {
+ expect(this.todos.models).toEqual([this.todoOne, this.todoTwo]);
+ this.todos.clear(this.todoOne);
+ return expect(this.todos.models).toEqual([this.todoTwo]);
+ });
+ });
+
+ return describe('Order sets the order on todos ascending numerically', function() {
+ it('defaults to one when there arent any items in the collection', function() {
+ this.emptyTodos = new TodoApp.Collections.TodoList;
+ return expect(this.emptyTodos.order()).toEqual(0);
+ });
+
+ return it('Increments the order by one each time', function() {
+ expect(this.todos.order(this.todoOne)).toEqual(1);
+ return expect(this.todos.order(this.todoTwo)).toEqual(2);
+ });
+ });
+
+ });
+```
+
+
+
+### Views
+
+For our views we want to ensure:
+
+* They are being correctly tied to a DOM element when created
+* They can render, after which the DOM representation of the view should be visible
+* They support wiring up view methods to DOM elements
+
+One could also take this further and test that user interactions with the view correctly result in any models that need to be changed being updated correctly.
+
+
+```javascript
+module( 'About Backbone.View', {
+ setup: function() {
+ $('body').append('
');
+ this.todoView = new TodoView({ model: new Todo() });
+ },
+ teardown: function() {
+ this.todoView.remove();
+ $('#todoList').remove();
+ }
+});
+
+test('Should be tied to a DOM element when created, based off the property provided.', function() {
+ expect( 1 );
+ equal( this.todoView.el.tagName.toLowerCase(), 'li' );
+});
+
+test('Is backed by a model instance, which provides the data.', function() {
+ expect( 2 );
+ notEqual( this.todoView.model, undefined );
+ equal( this.todoView.model.get('done'), false );
+});
+
+test('Can render, after which the DOM representation of the view will be visible.', function() {
+ this.todoView.render();
+
+ // Append the DOM representation of the view to ul#todoList
+ $('ul#todoList').append(this.todoView.el);
+
+ // Check the number of li items rendered to the list
+ equal($('#todoList').find('li').length, 1);
+});
+
+asyncTest('Can wire up view methods to DOM elements.', function() {
+ expect( 2 );
+ var viewElt;
+
+ $('#todoList').append( this.todoView.render().el );
+
+ setTimeout(function() {
+ viewElt = $('#todoList li input.check').filter(':first');
+
+ equal(viewElt.length > 0, true);
+
+ // Ensure QUnit knows we can continue
+ start();
+ }, 1000, 'Expected DOM Elt to exist');
+
+ // Trigget the view to toggle the 'done' status on an item or items
+ $('#todoList li input.check').click();
+
+ // Check the done status for the model is true
+ equal( this.todoView.model.get('done'), true );
+});
+```
+
+
+### App
+
+It can also be useful to write tests for any application bootstrap you may have in place. For the following module, our setup instantiates and appends to a TodoApp view and we can test anything from local instances of views being correctly defined to application interactions correctly resulting in changes to instances of local collections.
+
+```javascript
+module( 'About Backbone Applications' , {
+ setup: function() {
+ Backbone.localStorageDB = new Store('testTodos');
+ $('#qunit-fixture').append('');
+ this.App = new TodoApp({ appendTo: $('#app') });
+ },
+
+ teardown: function() {
+ this.App.todos.reset();
+ $('#app').remove();
+ }
+});
+
+test('Should bootstrap the application by initializing the Collection.', function() {
+ expect( 2 );
+
+ // The todos collection should not be undefined
+ notEqual( this.App.todos, undefined );
+
+ // The initial length of our todos should however be zero
+ equal( this.App.todos.length, 0 );
+});
+
+test( 'Should bind Collection events to View creation.' , function() {
+
+ // Set the value of a brand new todo within the input box
+ $('#new-todo').val( 'Buy some milk' );
+
+ // Trigger the enter (return) key to be pressed inside #new-todo
+ // causing the new item to be added to the todos collection
+ $('#new-todo').trigger(new $.Event( 'keypress', { keyCode: 13 } ));
+
+ // The length of our collection should now be 1
+ equal( this.App.todos.length, 1 );
+ });
+```
+
+## Further Reading & Resources
+
+That's it for this section on testing applications with QUnit and SinonJS. I encourage you to try out the [QUnit Backbone.js Koans](https://github.com/addyosmani/backbone-koans-qunit) and see if you can extend some of the examples. For further reading consider looking at some of the additional resources below:
+
+* **[Test-driven JavaScript Development (book)](http://tddjs.com/)**
+* **[SinonJS/QUnit Adapter](http://sinonjs.org/qunit/)**
+* **[SinonJS and QUnit](http://cjohansen.no/en/javascript/using_sinon_js_with_qunit)**
+* **[Automating JavaScript Testing With QUnit](http://msdn.microsoft.com/en-us/scriptjunkie/gg749824)**
+* **[Ben Alman's Unit Testing With QUnit](http://benalman.com/talks/unit-testing-qunit.html)**
+* **[Another QUnit/Backbone.js demo project](https://github.com/jc00ke/qunit-backbone)**
+* **[SinonJS helpers for Backbone](http://devblog.supportbee.com/2012/02/10/helpers-for-testing-backbone-js-apps-using-jasmine-and-sinon-js/)**
diff --git a/chapters/13-unit-testing.md b/chapters/13-unit-testing.md
new file mode 100644
index 00000000..988885e8
--- /dev/null
+++ b/chapters/13-unit-testing.md
@@ -0,0 +1,979 @@
+# Unit Testing
+
+One definition of unit testing is the process of taking the smallest piece of testable code in an application, isolating it from the remainder of your codebase, and determining if it behaves exactly as expected.
+
+For an application to be considered 'well-tested', each function should ideally have its own separate unit tests where it's tested against the different conditions you expect it to handle. All tests must pass before functionality is considered 'complete'. This allows developers to both modify a unit of code and its dependencies with a level of confidence about whether these changes have caused any breakage.
+
+A basic example of unit testing is where a developer asserts that passing specific values to a sum function results in the correct value being returned. For an example more relevant to this book, we may wish to assert that adding a new Todo item to a list correctly adds a Model of a specific type to a Todos Collection.
+
+When building modern web-applications, it's typically considered best-practice to include automated unit testing as a part of your development process. In the following chapters we are going to look at three different solutions for unit testing your Backbone.js apps - Jasmine, QUnit and SinonJS.
+
+# Jasmine
+
+## Behavior-Driven Development
+
+In this section, we'll be taking a look at how to unit test Backbone applications using a popular JavaScript testing framework called [Jasmine](http://pivotal.github.com/jasmine/) from Pivotal Labs.
+
+Jasmine describes itself as a behavior-driven development (BDD) framework for testing JavaScript code. Before we jump into how the framework works, it's useful to understand exactly what [BDD](http://en.wikipedia.org/wiki/Behavior_Driven_Development) is.
+
+BDD is a second-generation testing approach first described by [Dan North](http://dannorth.net/introducing-bdd/) (the authority on BDD) which attempts to test the behavior of software. It's considered second-generation as it came out of merging ideas from Domain driven design (DDD) and lean software development. BDD helps teams deliver high-quality software by answering many of the more confusing questions early on in the agile process. Such questions commonly include those concerning documentation and testing.
+
+If you were to read a book on BDD, it's likely that it would be described as being 'outside-in and pull-based'. The reason for this is that it borrows the idea of 'pulling features' from Lean manufacturing which effectively ensures that the right software solutions are being written by a) focusing on the expected outputs of the system and b) ensuring these outputs are achieved.
+
+BDD recognizes that there are usually multiple stakeholders in a project and not a single amorphous user of the system. These different groups will be affected by the software being written in differing ways and will have varying opinions of what quality in the system means to them. It's for this reason that it's important to understand who the software will be bringing value to and exactly what in it will be valuable to them.
+
+Finally, BDD relies on automation. Once you've defined the quality expected, your team will want to check on the functionality of the solution being built regularly and compare it to the results they expect. In order to facilitate this efficiently, the process has to be automated. BDD relies heavily on the automation of specification-testing and Jasmine is a tool which can assist with this.
+
+BDD helps both developers and non-technical stakeholders:
+
+
+* Better understand and represent the models of the problems being solved
+* Explain supported test cases in a language that non-developers can read
+* Focus on minimizing translation of the technical code being written and the domain language spoken by the business
+
+What this means is that developers should be able to show Jasmine unit tests to a project stakeholder and (at a high level, thanks to a common vocabulary being used) they'll ideally be able to understand what the code supports.
+
+Developers often implement BDD in unison with another testing paradigm known as [TDD](http://en.wikipedia.org/wiki/Test-driven_development) (test-driven development). The main idea behind TDD is using the following development process:
+
+1. Write unit tests which describe the functionality you would like your code to support
+2. Watch these tests fail (as the code to support them hasn't yet been written)
+3. Write code to make the tests pass
+4. Rinse, repeat, and refactor
+
+In this chapter we're going to use BDD (with TDD) to write unit tests for a Backbone application.
+
+***Note:*** I've seen a lot of developers also opt for writing tests to validate behavior of their code after having written it. While this is fine, note that it can come with pitfalls such as only testing for behavior your code currently supports, rather than the behavior needed to fully solve the problem.
+
+
+## Suites, Specs, & Spies
+
+When using Jasmine, you'll be writing suites and specifications (specs). Suites basically describe scenarios while specs describe what can be done in these scenarios.
+
+Each spec is a JavaScript function, described with a call to ```it()``` using a description string and a function. The description should describe the behaviour the particular unit of code should exhibit and, keeping in mind BDD, it should ideally be meaningful. Here's an example of a basic spec:
+
+```javascript
+it('should be incrementing in value', function(){
+ var counter = 0;
+ counter++;
+});
+```
+
+On its own, a spec isn't particularly useful until expectations are set about the behavior of the code. Expectations in specs are defined using the ```expect()``` function and an [expectation matcher](https://github.com/pivotal/jasmine/wiki/Matchers) (e.g., ```toEqual()```, ```toBeTruthy()```, ```toContain()```). A revised example using an expectation matcher would look like:
+
+```javascript
+it('should be incrementing in value', function(){
+ var counter = 0;
+ counter++;
+ expect(counter).toEqual(1);
+});
+```
+
+The above code passes our behavioral expectation as ```counter``` equals 1. Notice how easy it was to read the expectation on the last line (you probably grokked it without any explanation).
+
+Specs are grouped into suites which we describe using Jasmine's ```describe()``` function, again passing a string as a description and a function as we did for ```it()```. The name/description for your suite is typically that of the component or module you're testing.
+
+Jasmine will use the description as the group name when it reports the results of the specs you've asked it to run. A simple suite containing our sample spec could look like:
+
+```javascript
+describe('Stats', function(){
+ it('can increment a number', function(){
+ ...
+ });
+
+ it('can subtract a number', function(){
+ ...
+ });
+});
+```
+
+Suites also share a functional scope, so it's possible to declare variables and functions inside a describe block which are accessible within specs:
+
+```javascript
+describe('Stats', function(){
+ var counter = 1;
+
+ it('can increment a number', function(){
+ // the counter was = 1
+ counter = counter + 1;
+ expect(counter).toEqual(2);
+ });
+
+ it('can subtract a number', function(){
+ // the counter was = 2
+ counter = counter - 1;
+ expect(counter).toEqual(1);
+ });
+});
+```
+
+***Note:*** Suites are executed in the order in which they are described, which can be useful to know if you would prefer to see test results for specific parts of your application reported first.
+
+Jasmine also supports **spies** - a way to mock, spy, and fake behavior in our unit tests. Spies replace the function they're spying on, allowing us to simulate behavior we would like to mock (i.e., test without using the actual implementation).
+
+In the example below, we're spying on the ```setComplete``` method of a dummy Todo function to test that arguments can be passed to it as expected.
+
+```javascript
+var Todo = function(){
+};
+
+Todo.prototype.setComplete = function (arg){
+ return arg;
+}
+
+describe('a simple spy', function(){
+ it('should spy on an instance method of a Todo', function(){
+ var myTodo = new Todo();
+ spyOn(myTodo, 'setComplete');
+ myTodo.setComplete('foo bar');
+
+ expect(myTodo.setComplete).toHaveBeenCalledWith('foo bar');
+
+ var myTodo2 = new Todo();
+ spyOn(myTodo2, 'setComplete');
+
+ expect(myTodo2.setComplete).not.toHaveBeenCalled();
+
+ });
+});
+```
+
+You are more likely to use spies for testing [asynchronous](http://en.wikipedia.org/wiki/Asynchronous_communication) behavior in your application such as AJAX requests. Jasmine supports:
+
+* Writing tests which can mock AJAX requests using spies. This allows us to test both the code that initiates the AJAX request and the code executed upon its completion. It's also possible to mock/fake the server responses. The benefit of this type of testing is that it's faster as no real calls are being made to a server. The ability to simulate any response from the server is also of great benefit.
+* Asynchronous tests which don't rely on spies
+
+This example of the first kind of test shows how to fake an AJAX request and verify that the request was both calling the correct URL and executed a callback where one was provided.
+
+```javascript
+it('the callback should be executed on success', function () {
+
+ // `andCallFake()` calls a passed function when a spy
+ // has been called
+ spyOn($, 'ajax').andCallFake(function(options) {
+ options.success();
+ });
+
+ // Create a new spy
+ var callback = jasmine.createSpy();
+
+ // Exexute the spy callback if the
+ // request for Todo 15 is successful
+ getTodo(15, callback);
+
+ // Verify that the URL of the most recent call
+ // matches our expected Todo item.
+ expect($.ajax.mostRecentCall.args[0]['url']).toEqual('/todos/15');
+
+ // `expect(x).toHaveBeenCalled()` will pass if `x` is a
+ // spy and was called.
+ expect(callback).toHaveBeenCalled();
+});
+
+function getTodo(id, callback) {
+ $.ajax({
+ type: 'GET',
+ url: '/todos/'' + id,
+ dataType: 'json',
+ success: callback
+ });
+}
+```
+
+All of these are Spy-specific matchers and are documented on the Jasmine [wiki](https://github.com/pivotal/jasmine/wiki/Spies).
+
+For the second type of test (asynchronous tests), we can take the above further by taking advantage of three other methods Jasmine supports:
+
+* [waits(timeout)](https://github.com/pivotal/jasmine/wiki/Asynchronous-specs) - a native timeout before the next block is run
+* [waitsFor(function, optional message, optional timeout)](https://github.com/pivotal/jasmine/wiki/Asynchronous-specs) - a way to pause specs until some other work has completed. Jasmine waits until the supplied function returns true here before it moves on to the next block.
+* [runs(function)](https://github.com/pivotal/jasmine/wiki/Asynchronous-specs) - a block which runs as if it was directly called. They exist so that we can test asynchronous processes.
+
+```javascript
+it('should make an actual AJAX request to a server', function () {
+
+ // Create a new spy
+ var callback = jasmine.createSpy();
+
+ // Exexute the spy callback if the
+ // request for Todo 16 is successful
+ getTodo(16, callback);
+
+ // Pause the spec until the callback count is
+ // greater than 0
+ waitsFor(function() {
+ return callback.callCount > 0;
+ });
+
+ // Once the wait is complete, our runs() block
+ // will check to ensure our spy callback has been
+ // called
+ runs(function() {
+ expect(callback).toHaveBeenCalled();
+ });
+});
+
+function getTodo(id, callback) {
+ $.ajax({
+ type: 'GET',
+ url: 'todos.json',
+ dataType: 'json',
+ success: callback
+ });
+}
+```
+
+***Note:*** It's useful to remember that when making real requests to a web server in your unit tests, this has the potential to massively slow down the speed at which tests run (due to many factors including server latency). As this also introduces an external dependency that can (and should) be minimized in your unit testing, it is strongly recommended that you opt for spies to remove the dependency on a web server.
+
+## beforeEach() and afterEach()
+
+Jasmine also supports specifying code that can be run before each (```beforeEach()```) and after each (```afterEach()```) test. This is useful for enforcing consistent conditions (such as resetting variables that may be required by specs). In the following example, ```beforeEach()``` is used to create a new sample Todo model which specs can use for testing attributes.
+
+```javascript
+beforeEach(function(){
+ this.todo = new Backbone.Model({
+ text: 'Buy some more groceries',
+ done: false
+ });
+});
+
+it('should contain a text value if not the default value', function(){
+ expect(this.todo.get('text')).toEqual('Buy some more groceries');
+});
+```
+
+Each nested ```describe()``` in your tests can have their own ```beforeEach()``` and ```afterEach()``` methods which support including setup and teardown methods relevant to a particular suite.
+
+
+
+
+`beforeEach()` and `afterEach()` can be used together to write tests verifying that our Backbone routes are being correctly triggered when we navigate to the URL. We can start with the `index` action:
+
+```javascript
+describe('Todo routes', function(){
+
+ beforeEach(function(){
+
+ // Create a new router
+ this.router = new App.TodoRouter();
+
+ // Create a new spy
+ this.routerSpy = jasmine.spy();
+
+ // Begin monitoring hashchange events
+ try{
+ Backbone.history.start({
+ silent:true,
+ pushState: true
+ });
+ }catch(e){
+ // ...
+ }
+
+ // Navigate to a URL
+ this.router.navigate('/js/spec/SpecRunner.html');
+ });
+
+ afterEach(function(){
+
+ // Navigate back to the URL
+ this.router.navigate('/js/spec/SpecRunner.html');
+
+ // Disable Backbone.history temporarily.
+ // Note that this is not really useful in real apps but is
+ // good for testing routers
+ Backbone.history.stop();
+ });
+
+ it('should call the index route correctly', function(){
+ this.router.bind('route:index', this.routerSpy, this);
+ this.router.navigate('', {trigger: true});
+
+ // If everything in our beforeEach() and afterEach()
+ // calls have been correctly executed, the following
+ // should now pass.
+ expect(this.routerSpy).toHaveBeenCalledOnce();
+ expect(this.routerSpy).toHaveBeenCalledWith();
+ });
+
+});
+```
+
+The actual TodoRouter for that would make the above test pass looks like:
+
+```javascript
+var App = App || {};
+App.TodoRouter = Backbone.Router.extend({
+ routes:{
+ '': 'index'
+ },
+ index: function(){
+ //...
+ }
+});
+```
+
+## Shared scope
+
+Let's imagine we have a Suite where we wish to check for the existence of a new Todo item instance. This could be done by duplicating the spec as follows:
+
+```javascript
+describe("Todo tests", function(){
+
+ // Spec
+ it("Should be defined when we create it", function(){
+ // A Todo item we are testing
+ var todo = new Todo("Get the milk", "Tuesday");
+ expect(todo).toBeDefined();
+ });
+
+ it("Should have the correct title", function(){
+ // Where we introduce code duplication
+ var todo = new Todo("Get the milk", "Tuesday");
+ expect(todo.title).toBe("Get the milk");
+ });
+
+});
+```
+
+As you can see, we've introduced duplication that should ideally be refactored into something cleaner. We can do this using Jasmine's Suite (Shared) Functional Scope.
+
+All of the specs within the same Suite share the same functional scope, meaning that variables declared within the Suite itself are available to all of the Specs in that suite. This gives us a way to work around our duplication problem by moving the creation of our Todo objects into the common functional scope:
+
+```javascript
+describe("Todo tests", function(){
+
+ // The instance of Todo, the object we wish to test
+ // is now in the shared functional scope
+ var todo = new Todo("Get the milk", "Tuesday");
+
+ // Spec
+ it("should be correctly defined", function(){
+ expect(todo).toBeDefined();
+ });
+
+ it("should have the correct title", function(){
+ expect(todo.title).toBe("Get the milk");
+ });
+
+});
+```
+
+In the previous section you may have noticed that we initially declared ```this.todo``` within the scope of our ```beforeEach()``` call and were then able to continue using this reference in ```afterEach()```.
+
+This is again down to shared function scope, which allows such declaractions to be common to all blocks (including ```runs()```).
+
+Variables declared outside of the shared scope (i.e within the local scope `var todo=...`) will however not be shared.
+
+## Getting set up
+
+Now that we've reviewed some fundamentals, let's go through downloading Jasmine and getting everything set up to write tests.
+
+A standalone release of Jasmine can be [downloaded](https://github.com/pivotal/jasmine/downloads) from the official release page.
+
+You'll need a file called SpecRunner.html in addition to the release. It can be downloaded from https://github.com/pivotal/jasmine/tree/master/lib/jasmine-core/example or as part of a download of the complete Jasmine [repo](https://github.com/pivotal/jasmine/zipball/master). Alternatively, you can ```git clone``` the main Jasmine repository from https://github.com/pivotal/jasmine.git.
+
+Let's review [SpecRunner.html.jst](https://github.com/pivotal/jasmine/blob/master/lib/templates/SpecRunner.html.jst):
+
+It first includes both Jasmine and the necessary CSS required for reporting:
+
+
+
+
+
+
+Next come the sources being tested:
+
+
+
+
+
+Finally, some sample tests are included:
+
+
+
+
+
+
+***Note:*** Below this section of SpecRunner is code responsible for running the actual tests. Given that we won't be covering modifying this code, I'm going to skip reviewing it. I do however encourage you to take a look through [PlayerSpec.js](https://github.com/pivotal/jasmine/blob/master/lib/jasmine-core/example/spec/PlayerSpec.js) and [SpecHelper.js](https://github.com/pivotal/jasmine/blob/master/lib/jasmine-core/example/spec/SpecHelper.js). They're a useful basic example to go through how a minimal set of tests might work.
+
+Also note that for the purposes of introduction, some of the examples in this section will be testing aspects of Backbone.js itself, just to give you a feel for how Jasmine works. You generally will not need to write testing ensuring a framework is working as expected.
+
+
+## TDD With Backbone
+
+When developing applications with Backbone, it can be necessary to test both individual modules of code as well as models, views, collections, and routers. Taking a TDD approach to testing, let's review some specs for testing these Backbone components using the popular Backbone [Todo](https://github.com/addyosmani/todomvc/tree/master/todo-example/backbone) application.
+
+## Models
+
+The complexity of Backbone models can vary greatly depending on what your application is trying to achieve. In the following example, we're going to test default values, attributes, state changes, and validation rules.
+
+First, we begin our suite for model testing using ```describe()```:
+
+```javascript
+describe('Tests for Todo', function() {
+```
+
+Models should ideally have default values for attributes. This helps ensure that when creating instances without a value set for any specific attribute, a default one (e.g., an empty string) is used instead. The idea here is to allow your application to interact with models without any unexpected behavior.
+
+In the following spec, we create a new Todo without any attributes passed then check to find out what the value of the ```text``` attribute is. As no value has been set, we expect a default value of `''` to be returned.
+
+```javascript
+it('Can be created with default values for its attributes.', function() {
+ var todo = new Todo();
+ expect(todo.get('text')).toBe('');
+});
+```
+
+If testing this spec before your models have been written, you'll incur a failing test, as expected. What's required for the spec to pass is a default value for the attribute ```text```. We can set this and some other useful defaults (which we'll be using shortly) in our Todo model as follows:
+
+```javascript
+window.Todo = Backbone.Model.extend({
+
+ defaults: {
+ text: '',
+ done: false,
+ order: 0
+ }
+```
+
+Next, it is common to include validation logic in your models to ensure that input passed from users or other modules in the application are valid.
+
+A Todo app may wish to validate the text input supplied in case it contains rude words. Similarly if we're storing the ```done``` state of a Todo item using booleans, we need to validate that truthy/falsy values are passed and not just any arbitrary string.
+
+In the following spec, we take advantage of the fact that validations which fail model.validate() trigger an "invalid" event. This allows us to test if validations are correctly failing when invalid input is supplied.
+
+We create an errorCallback spy using Jasmine's built in ```createSpy()``` method which allows us to spy on the invalid event as follows:
+
+```javascript
+it('Can contain custom validation rules, and will trigger an invalid event on failed validation.', function() {
+
+ var errorCallback = jasmine.createSpy('-invalid event callback-');
+
+ var todo = new Todo();
+
+ todo.on('invalid', errorCallback);
+
+ // What would you need to set on the todo properties to
+ // cause validation to fail?
+
+ todo.set({done:'a non-boolean value'});
+
+ var errorArgs = errorCallback.mostRecentCall.args;
+
+ expect(errorArgs).toBeDefined();
+ expect(errorArgs[0]).toBe(todo);
+ expect(errorArgs[1]).toBe('Todo.done must be a boolean value.');
+});
+
+```
+
+The code to make the above failing test support validation is relatively simple. In our model, we override the validate() method (as recommended in the Backbone docs), checking to make sure a model both has a 'done' property and that its value is a valid boolean before allowing it to pass.
+
+```javascript
+validate: function(attrs) {
+ if (attrs.hasOwnProperty('done') && !_.isBoolean(attrs.done)) {
+ return 'Todo.done must be a boolean value.';
+ }
+}
+```
+
+If you would like to review the final code for our Todo model, you can find it below:
+
+```javascript
+
+window.Todo = Backbone.Model.extend({
+
+ defaults: {
+ text: '',
+ done: false,
+ order: 0
+ },
+
+ initialize: function() {
+ this.set({text: this.get('text')}, {silent: true});
+ },
+
+ validate: function(attrs) {
+ if (attrs.hasOwnProperty('done') && !_.isBoolean(attrs.done)) {
+ return 'Todo.done must be a boolean value.';
+ }
+ },
+
+ toggle: function() {
+ this.save({done: !this.get('done')});
+ }
+
+});
+```
+
+
+## Collections
+
+We now need to define specs to test a Backbone collection of Todo models (a TodoList). Collections are responsible for a number of list tasks including managing order and filtering.
+
+A few specific specs that come to mind when working with collections are:
+
+* Making sure we can add new Todo models as both objects and arrays
+* Attribute testing to make sure attributes such as the base URL of the collection are values we expect
+* Purposefully adding items with a status of ```done:true``` and checking against how many items the collection thinks have been completed vs. those that are remaining
+
+In this section we're going to cover the first two of these with the third left as an extended exercise you can try on your own.
+
+Testing that Todo models can be added to a collection as objects or arrays is relatively trivial. First, we initialize a new TodoList collection and check to make sure its length (i.e., the number of Todo models it contains) is 0. Next, we add new Todos, both as objects and arrays, checking the length property of the collection at each stage to ensure the overall count is what we expect:
+
+```javascript
+describe('Tests for TodoList', function() {
+
+ it('Can add Model instances as objects and arrays.', function() {
+ var todos = new TodoList();
+
+ expect(todos.length).toBe(0);
+
+ todos.add({ text: 'Clean the kitchen' });
+
+ // how many todos have been added so far?
+ expect(todos.length).toBe(1);
+
+ todos.add([
+ { text: 'Do the laundry', done: true },
+ { text: 'Go to the gym'}
+ ]);
+
+ // how many are there in total now?
+ expect(todos.length).toBe(3);
+ });
+...
+```
+
+Similar to model attributes, it's also quite straight-forward to test attributes in collections. Here we have a spec that ensures the collection url (i.e., the url reference to the collection's location on the server) is what we expect it to be:
+
+```javascript
+it('Can have a url property to define the basic url structure for all contained models.', function() {
+ var todos = new TodoList();
+
+ // what has been specified as the url base in our model?
+ expect(todos.url).toBe('/todos/');
+});
+
+```
+
+For the third spec (which you will write as an exercise), note that the implementation for our collection will have methods for filtering how many Todo items are done and how many are remaining - we'll call these ```done()``` and ```remaining()```. Consider writing a spec which creates a new collection and adds one new model that has a preset ```done``` state of ```true``` and two others that have the default ```done``` state of ```false```. Testing the length of what's returned using ```done()``` and ```remaining()``` will tell us whether the state management in our application is working or needs a little tweaking.
+
+The final implementation for our TodoList collection can be found below:
+
+
+```javascript
+ window.TodoList = Backbone.Collection.extend({
+
+ model: Todo,
+
+ url: '/todos/',
+
+ done: function() {
+ return this.filter(function(todo) { return todo.get('done'); });
+ },
+
+ remaining: function() {
+ return this.without.apply(this, this.done());
+ },
+
+ nextOrder: function() {
+ if (!this.length) {
+ return 1;
+ }
+
+ return this.last().get('order') + 1;
+ },
+
+ comparator: function(todo) {
+ return todo.get('order');
+ }
+
+ });
+```
+
+
+## Views
+
+Before we take a look at testing Backbone views, let's briefly review a jQuery plugin that can assist with writing Jasmine specs for them.
+
+**The Jasmine jQuery Plugin**
+
+As we know our Todo application will be using jQuery for DOM manipulation, there's a useful jQuery plugin called [jasmine-jquery](https://github.com/velesin/jasmine-jquery) we can use to help simplify BDD testing of the rendering performed by our views.
+
+The plugin provides a number of additional Jasmine [matchers](https://github.com/pivotal/jasmine/wiki/Matchers) to help test jQuery-wrapped sets such as:
+
+* ```toBe(jQuerySelector)``` e.g., ```expect($('')).toBe('div#some-id')```
+* ```toBeChecked()``` e.g., ```expect($('')).toBeChecked()```
+* ```toBeSelected()``` e.g., ```expect($('')).toBeSelected()```
+
+and [many others](https://github.com/velesin/jasmine-jquery). The complete list of matchers supported can be found on the project homepage. It's useful to know that similar to the standard Jasmine matchers, the custom matchers above can be inverted using the .not prefix (i.e ```expect(x).not.toBe(y)```):
+
+```javascript
+expect($('
I am an example
')).not.toHaveText(/other/)
+```
+
+jasmine-jquery also includes a fixtures module that can be used to load arbitrary HTML content we wish to use in our tests. Fixtures can be used as follows:
+
+Include some HTML in an external fixtures file:
+
+some.fixture.html:
+```
some HTML content
```
+
+Then inside our actual test we would load it as follows:
+
+```javascript
+loadFixtures('some.fixture.html')
+$('some-fixture').myTestedPlugin();
+expect($('#some-fixture')).to
+```
+
+The jasmine-jquery plugin loads fixtures from a directory named spec/javascripts/fixtures by default. If you wish to configure this path you can do so by initially setting ```jasmine.getFixtures().fixturesPath = 'your custom path'```.
+
+Finally, jasmine-jquery includes support for spying on jQuery events without the need for any extra plumbing work. This can be done using the ```spyOnEvent()``` and ```assert(eventName).toHaveBeenTriggered(selector)``` functions. For example:
+
+```javascript
+spyOnEvent($('#el'), 'click');
+$('#el').click();
+expect('click').toHaveBeenTriggeredOn($('#el'));
+```
+
+### View testing
+
+In this section we will review the three dimensions of specs writing for Backbone Views: initial setup, view rendering, and templating. The latter two of these are the most commonly tested, however we'll see shortly why writing specs for the initialization of your views can also be of benefit.
+
+#### Initial setup
+
+At their most basic, specs for Backbone views should validate that they are being correctly tied to specific DOM elements and are backed by valid data models. The reason to consider doing this is that these specs can identify issues which will trip up more complex tests later on. Also, they're fairly simple to write given the overall value offered.
+
+To help ensure a consistent testing setup for our specs, we use ```beforeEach()``` to append both an empty ```
``` (#todoList) to the DOM and initialize a new instance of a TodoView using an empty Todo model. ```afterEach()``` is used to remove the previous #todoList ```
``` as well as the previous instance of the view.
+
+```javascript
+describe('Tests for TodoView', function() {
+
+ beforeEach(function() {
+ $('body').append('
');
+ this.todoView = new TodoView({ model: new Todo() });
+ });
+
+
+ afterEach(function() {
+ this.todoView.remove();
+ $('#todoList').remove();
+ });
+
+...
+```
+
+The first spec useful to write is a check that the TodoView we've created is using the correct ```tagName``` (element or className). The purpose of this test is to make sure it's been correctly tied to a DOM element when it was created.
+
+Backbone views typically create empty DOM elements once initialized, however these elements are not attached to the visible DOM in order to allow them to be constructed without an impact on the performance of rendering.
+
+```javascript
+it('Should be tied to a DOM element when created, based off the property provided.', function() {
+ //what html element tag name represents this view?
+ expect(todoView.el.tagName.toLowerCase()).toBe('li');
+});
+```
+
+Once again, if the TodoView has not already been written, we will experience failing specs. Thankfully, solving this is as simple as creating a new Backbone.View with a specific ```tagName```.
+
+```javascript
+var todoView = Backbone.View.extend({
+ tagName: 'li'
+});
+```
+
+If instead of testing against the ```tagName``` you would prefer to use a className instead, we can take advantage of jasmine-jquery's ```toHaveClass()``` matcher:
+
+```
+it('Should have a class of "todos"'), function(){
+ expect(this.view.$el).toHaveClass('todos');
+});
+```
+
+The ```toHaveClass()``` matcher operates on jQuery objects and if the plugin hadn't been used, an exception would have been thrown. It is of course also possible to test for the className by accessing el.className if you don't use jasmine-jquery.
+
+You may have noticed that in ```beforeEach()```, we passed our view an initial (albeit unfilled) Todo model. Views should be backed by a model instance which provides data. As this is quite important to our view's ability to function, we can write a spec to ensure a model is defined (using the ```toBeDefined()``` matcher) and then test attributes of the model to ensure defaults both exist and are the values we expect them to be.
+
+```javascript
+it('Is backed by a model instance, which provides the data.', function() {
+
+ expect(todoView.model).toBeDefined();
+
+ // what's the value for Todo.get('done') here?
+ expect(todoView.model.get('done')).toBe(false); //or toBeFalsy()
+});
+```
+
+#### View rendering
+
+
+Next we're going to take a look at writing specs for view rendering. Specifically, we want to test that our TodoView elements are actually rendering as expected.
+
+In smaller applications, those new to BDD might argue that visual confirmation of view rendering could replace unit testing of views. The reality is that when dealing with applications that might grow to a large number of views, it makes sense to automate this process as much as possible from the get-go. There are also aspects of rendering that require verification beyond what is visually presented on-screen (which we'll see very shortly).
+
+We're going to begin testing views by writing two specs. The first spec will check that the view's ```render()``` method is correctly returning the view instance, which is necessary for chaining. Our second spec will check that the HTML produced is exactly what we expect based on the properties of the model instance that's been associated with our TodoView.
+
+Unlike some of the previous specs we've covered, this section will make greater use of ```beforeEach()``` to both demonstrate how to use nested suites and also ensure a consistent set of conditions for our specs. In our first example we're simply going to create a sample model (based on Todo) and instantiate a TodoView with it.
+
+```javascript
+describe('TodoView', function() {
+
+ beforeEach(function() {
+ this.model = new Backbone.Model({
+ text: 'My Todo',
+ order: 1,
+ done: false
+ });
+ this.view = new TodoView({model:this.model});
+ });
+
+ describe('Rendering', function() {
+
+ it('returns the view object', function() {
+ expect(this.view.render()).toEqual(this.view);
+ });
+
+ it('produces the correct HTML', function() {
+ this.view.render();
+
+ // let's use jasmine-jquery's toContain() to avoid
+ // testing for the complete content of a todo's markup
+ expect(this.view.el.innerHTML)
+ .toContain('');
+ });
+
+ });
+
+});
+```
+
+
+When these specs are run, only the second one ('produces the correct HTML') fails. Our first spec ('returns the view object'), which is testing that the TodoView instance is returned from ```render()```, passes since this is Backbone's default behavior and we haven't overwritten the ```render()``` method with our own version yet.
+
+**Note:** For the purposes of maintaining readability, all template examples in this section will use a minimal version of the following Todo view template. As it's relatively trivial to expand this, please feel free to refer to this sample if needed:
+
+
+
+
+
+ />
+
+
+
+
+
+
+
+
+
+
+The second spec fails with the following message:
+
+```Expected '' to contain ''.```
+
+The reason for this is the default behavior for render() doesn't create any markup. Let's write a replacement for render() which fixes this:
+
+```javascript
+render: function() {
+ var template = '';
+ var output = template
+ .replace('+++PLACEHOLDER+++', this.model.get('text'));
+ this.$el.html(output);
+ return this;
+}
+```
+
+The above specifies an inline string template and replaces fields found in the template within the "+++PLACEHOLDER+++" blocks with their corresponding values from the associated model. As we're also returning the TodoView instance from the method, the first spec will still pass.
+
+It would be impossible to discuss unit testing without mentioning fixtures. Fixtures typically contain test data (e.g., HTML) that is loaded in when needed (either locally or from an external file) for unit testing. So far we've been establishing jQuery expectations based on the view's el property. This works for a number of cases, however, there are instances where it may be necessary to render markup into the document. The most optimal way to handle this within specs is through using fixtures (another feature brought to us by the jasmine-jquery plugin).
+
+Re-writing the last spec to use fixtures would look as follows:
+
+
+```javascript
+describe('TodoView', function() {
+
+ beforeEach(function() {
+ ...
+ setFixtures('
');
+ });
+
+ ...
+
+ describe('Template', function() {
+
+ beforeEach(function() {
+ $('.todos').append(this.view.render().el);
+ });
+
+ it('has the correct text content', function() {
+ expect($('.todos').find('.todo-content'))
+ .toHaveText('My Todo');
+ });
+
+ });
+
+});
+```
+
+What we're now doing in the above spec is appending the rendered todo item into the fixture. We then set expectations against the fixture, which may be something desirable when a view is setup against an element which already exists in the DOM. It would be necessary to provide both the fixture and test the ```el``` property correctly picking up the element expected when the view is instantiated.
+
+
+#### Rendering with a templating system
+
+
+When a user marks a Todo item as complete (done), we may wish to provide them with visual feedback (such as a striked line through the text) to differentiate the item from those that are remaining. This can be done by attaching a new class to the item. Let's begin by writing a test:
+
+
+```javascript
+describe('When a todo is done', function() {
+
+ beforeEach(function() {
+ this.model.set({done: true}, {silent: true});
+ $('.todos').append(this.view.render().el);
+ });
+
+ it('has a done class', function() {
+ expect($('.todos .todo-content:first-child'))
+ .toHaveClass('done');
+ });
+
+});
+```
+
+This will fail with the following message:
+
+```Expected ''
+to have class 'done'.
+```
+
+which can be fixed in the existing render() method as follows:
+
+
+```javascript
+render: function() {
+ var template = '';
+ var output = template
+ .replace('<%= text %>', this.model.get('text'));
+ this.$el.html(output);
+ if (this.model.get('done')) {
+ this.$('.todo-content').addClass('done');
+ }
+ return this;
+}
+```
+
+
+However, this can get unwieldily fairly quickly. As the level of complexity and logic in our templates increase, so do the challenges associated with testing them. We can ease this process by taking advantage of modern templating libraries, many of which have already been demonstrated to work well with testing solutions such as Jasmine.
+
+JavaScript templating systems (such as [Handlebars](http://handlebarsjs.com/), [Mustache](http://mustache.github.com/), and Underscore's own [micro-templating](http://underscorejs.org/#template)) support conditional logic in template strings. What this effectively means is that we can add if/else/ternery expressions inline which can then be evaluated as needed, allowing us to build even more powerful templates.
+
+In our case, we are going to use the micro-templating found in Underscore.js as no additional files are required to use it and we can easily modify our existing specs to use it without a great deal of effort.
+
+Assuming our template is defined using a script tag of ID `myTemplate`:
+
+```
+
+```
+
+Our TodoView can be modified to use Underscore templating as follows:
+
+```javascript
+var TodoView = Backbone.View.extend({
+
+ tagName: 'li',
+ template: _.template($('#myTemplate').html()),
+
+ initialize: function(options) {
+ // ...
+ },
+
+ render: function() {
+ this.$el.html(this.template(this.model.toJSON()));
+ return this;
+ },
+
+ ...
+
+});
+```
+
+So, what's going on here? We're first defining our template in a script tag with a custom script type (e.g., type="text/template"). As this isn't a script type any browser understands, it's simply ignored, however referencing the script by an id attribute allows the template to be kept separate to other parts of the page.
+
+In our view, we're the using the Underscore `_.template()` method to compile our template into a function that we can easily pass model data to later on. In the line `this.model.toJSON()` we are simply returning a copy of the model's attributes for JSON stringification to the `template` method, creating a block of HTML that can now be appended to the DOM.
+
+Note: Ideally all of your template logic should exist outside of your specs, either in individual template files or embedded using script tags within your SpecRunner. This is generally more maintainable.
+
+If you are working with much smaller templates and are not doing this, there is however a useful trick that can be applied to automatically create or extend templates in the Jasmine shared functional scope for each test.
+
+By creating a new directory (say, 'templates') in the 'spec' folder and including a new script file with the following contents into SpecRunner.html, we can manually add custom attributes representing smaller templates we wish to use:
+
+```javascript
+beforeEach(function() {
+ this.templates = _.extend(this.templates || {}, {
+ todo: ''
+ });
+});
+```
+
+To finish this off, we simply update our existing spec to reference the template when instantiating the TodoView:
+
+```javascript
+describe('TodoView', function() {
+
+ beforeEach(function() {
+ ...
+ this.view = new TodoView({
+ model: this.model,
+ template: this.templates.todo
+ });
+ });
+
+ ...
+
+});
+```
+
+The existing specs we've looked at would continue to pass using this approach, leaving us free to adjust the template with some additional conditional logic for Todos with a status of 'done':
+
+```javascript
+beforeEach(function() {
+ this.templates = _.extend(this.templates || {}, {
+ todo: ''
+ });
+});
+```
+
+This will now also pass without any issues, however as mentioned, this last approach probably only makes sense if you're working with smaller, highly dynamic templates.
+
+
+## Conclusions
+
+We have now covered how to write Jasmine tests for Backbone.js models, collections, and views. While testing routing can at times be desirable, some developers feel it can be more optimal to leave this to third-party tools such as Selenium, so do keep this in mind.
+
+## Exercise
+
+As an exercise, I recommend now trying the Jasmine Koans in `practicals\jasmine-koans` and trying to fix some of the purposefully failing tests it has to offer. This is an excellent way of not just learning how Jasmine specs and suites work, but working through the examples (without peeking back) will also put your Backbone skills to the test too.
+
+
+## Further reading
+* [Testing Backbone Apps With SinonJS](http://tinnedfruit.com/2011/04/26/testing-backbone-apps-with-jasmine-sinon-3.html) by James Newbry
+* [Jasmine + Backbone Revisited](http://japhr.blogspot.com/2011/11/jasmine-backbonejs-revisited.html)
+* [Backbone, PhantomJS and Jasmine](http://japhr.blogspot.com/2011/12/phantomjs-and-backbonejs-and-requirejs.html)
diff --git a/chapters/14-qunit.md b/chapters/14-qunit.md
new file mode 100644
index 00000000..b2fcc278
--- /dev/null
+++ b/chapters/14-qunit.md
@@ -0,0 +1,443 @@
+# QUnit
+
+## Introduction
+
+QUnit is a powerful JavaScript test suite written by jQuery team member [Jörn Zaefferer](http://bassistance.de/) and used by many large open-source projects (such as jQuery and Backbone.js) to test their code. It's both capable of testing standard JavaScript code in the browser as well as code on the server-side (where environments supported include Rhino, V8 and SpiderMonkey). This makes it a robust solution for a large number of use-cases.
+
+Quite a few Backbone.js contributors feel that QUnit is a better introductory framework for testing if you don't wish to start off with Jasmine and BDD right away. As we'll see later on in this chapter, QUnit can also be combined with third-party solutions such as SinonJS to produce an even more powerful testing solution supporting spies and mocks, which some say is preferable over Jasmine.
+
+My personal recommendation is that it's worth comparing both frameworks and opting for the solution that you feel the most comfortable with.
+
+## Getting Setup
+
+Luckily, getting QUnit setup is a fairly straight-forward process that will take less than 5 minutes.
+
+We first setup a testing environment composed of three files:
+
+* An HTML **structure** for displaying test results
+* The **qunit.js** file composing the testing framework
+* The **qunit.css** file for styling test results
+
+The latter two of these can be downloaded from the [QUnit website](http://qunitjs.com).
+
+If you would prefer, you can use a hosted version of the QUnit source files for testing purposes. The hosted URLs can be found at .
+
+#### Sample HTML with QUnit-compatible markup:
+
+```html
+
+
+
+ QUnit Test Suite
+
+
+
+
+
+
+
+
+
+
+
+
QUnit Test Suite
+
+
+
+ test markup, hidden.
+
+
+```
+
+Let's go through the elements above with qunit mentioned in their ID. When QUnit is running:
+
+* **qunit-header** shows the name of the test suite
+* **qunit-banner** shows up as red if a test fails and green if all tests pass
+* **qunit-testrunner-toolbar** contains additional options for configuring the display of tests
+* **qunit-userAgent** displays the navigator.userAgent property
+* **qunit-tests** is a container for our test results
+
+When running correctly, the above test runner looks as follows:
+
+![screenshot 1](img/7d4de12.png)
+
+The numbers of the form (a, b, c) after each test name correspond to a) failed asserts, b) passed asserts and c) total asserts. Clicking on a test name expands it to display all of the assertions for that test case. Assertions in green have successfully passed.
+
+![screenshot 2](img/9df4.png)
+
+If however any tests fail, the test gets highlighted (and the qunit-banner at the top switches to red):
+
+![screenshot 3](img/3e5545.png)
+
+
+## Assertions
+
+QUnit supports a number of basic **assertions**, which are used in tests to verify that the result being returned by our code is what we expect. If an assertion fails, we know that a bug exists. Similar to Jasmine, QUnit can be used to easily test for regressions. Specifically, when a bug is found one can write an assertion to test the existence of the bug, write a patch, and then commit both. If subsequent changes to the code break the test you'll know what was responsible and be able to address it more easily.
+
+Some of the supported QUnit assertions we're going to look at first are:
+
+* `ok ( state, message )` - passes if the first argument is truthy
+* `equal ( actual, expected, message )` - a simple comparison assertion with type coercion
+* `notEqual ( actual, expected, message )` - the opposite of the above
+* `expect( amount )` - the number of assertions expected to run within each test
+* `strictEqual( actual, expected, message)` - offers a much stricter comparison than `equal()` and is considered the preferred method of checking equality as it avoids stumbling on subtle coercion bugs
+* `deepEqual( actual, expected, message )` - similar to `strictEqual`, comparing the contents (with `===`) of the given objects, arrays and primitives.
+
+#### Basic test case using test( name, callback )
+
+Creating new test cases with QUnit is relatively straight-forward and can be done using ```test()```, which constructs a test where the first argument is the ```name``` of the test to be displayed in our results and the second is a ```callback``` function containing all of our assertions. This is called as soon as QUnit is running.
+
+```javascript
+var myString = 'Hello Backbone.js';
+
+test( 'Our first QUnit test - asserting results', function(){
+
+ // ok( boolean, message )
+ ok( true, 'the test succeeds');
+ ok( false, 'the test fails');
+
+ // equal( actualValue, expectedValue, message )
+ equal( myString, 'Hello Backbone.js', 'The value expected is Hello Backbone.js!');
+});
+```
+
+What we're doing in the above is defining a variable with a specific value and then testing to ensure the value was what we expected it to be. This was done using the comparison assertion, ```equal()```, which expects its first argument to be a value being tested and the second argument to be the expected value. We also used ```ok()```, which allows us to easily test against functions or variables that evaluate to booleans.
+
+Note: Optionally in our test case, we could have passed an 'expected' value to ```test()``` defining the number of assertions we expect to run. This takes the form: `test( name, [expected], test );` or by manually settings the expectation at the top of the test function, like so: `expect( 1 )`. I recommend you make a habit of always defining how many assertions you expect. More on this later.
+
+#### Comparing the actual output of a function against the expected output
+
+As testing a simple static variable is fairly trivial, we can take this further to test actual functions. In the following example we test the output of a function that reverses a string to ensure that the output is correct using ```equal()``` and ```notEqual()```:
+
+```javascript
+function reverseString( str ){
+ return str.split('').reverse().join('');
+}
+
+test( 'reverseString()', function() {
+ expect( 5 );
+ equal( reverseString('hello'), 'olleh', 'The value expected was olleh' );
+ equal( reverseString('foobar'), 'raboof', 'The value expected was raboof' );
+ equal( reverseString('world'), 'dlrow', 'The value expected was dlrow' );
+ notEqual( reverseString('world'), 'dlroo', 'The value was expected to not be dlroo' );
+ equal( reverseString('bubble'), 'double', 'The value expected was elbbub' );
+})
+```
+
+Running these tests in the QUnit test runner (which you would see when your HTML test page was loaded) we would find that four of the assertions pass while the last one does not. The reason the test against `'double'` fails is because it was purposefully written incorrectly. In your own projects if a test fails to pass and your assertions are correct, you've probably just found a bug!
+
+
+## Adding structure to assertions
+
+Housing all of our assertions in one test case can quickly become difficult to maintain, but luckily QUnit supports structuring blocks of assertions more cleanly. This can be done using ```module()``` - a method that allows us to easily group tests together. A typical approach to grouping might be keeping multiple tests for a specific method as part of the same group (module).
+
+#### Basic QUnit Modules
+
+```javascript
+module( 'Module One' );
+test( 'first test', function() {} );
+test( 'another test', function() {} );
+
+module( 'Module Two' );
+test( 'second test', function() {} );
+test( 'another test', function() {} );
+
+module( 'Module Three' );
+test( 'third test', function() {} );
+test( 'another test', function() {} );
+```
+
+We can take this further by introducing ```setup()``` and ```teardown()``` callbacks to our modules, where ```setup()``` is run before each test and ```teardown()``` is run after each test.
+
+#### Using setup() and teardown()
+```javascript
+module( 'Module One', {
+ setup: function() {
+ // run before
+ },
+ teardown: function() {
+ // run after
+ }
+});
+
+test('first test', function() {
+ // run the first test
+});
+```
+
+These callbacks can be used to define (or clear) any components we wish to instantiate for use in one or more of our tests. As we'll see shortly, this is ideal for defining new instances of views, collections, models, or routers from a project that we can then reference across multiple tests.
+
+#### Using setup() and teardown() for instantiation and clean-up
+
+```javascript
+// Define a simple model and collection modeling a store and
+// list of stores
+
+var Store = Backbone.Model.extend({});
+
+var StoreList = Backbone.Collection.extend({
+ model: Store,
+ comparator: function( Store ) { return Store.get('name') }
+});
+
+// Define a group for our tests
+module( 'StoreList sanity check', {
+ setup: function() {
+ this.list = new StoreList;
+ this.list.add(new Store({ name: 'Costcutter' }));
+ this.list.add(new Store({ name: 'Target' }));
+ this.list.add(new Store({ name: 'Walmart' }));
+ this.list.add(new Store({ name: 'Barnes & Noble' }));
+ },
+ teardown: function() {
+ window.errors = null;
+ }
+});
+
+// Test the order of items added
+test( 'test ordering', function() {
+ expect( 1 );
+ var expected = ['Barnes & Noble', 'Costcutter', 'Target', 'Walmart'];
+ var actual = this.list.pluck('name');
+ deepEqual( actual, expected, 'is maintained by comparator' );
+});
+
+```
+
+Here, a list of stores is created and stored on ```setup()```. A ```teardown()``` callback is used to simply clear a list of errors we might be storing within the window scope, but is otherwise not needed.
+
+
+## Assertion examples
+
+Before we continue any further, let's review some more examples of how QUnit's various assertions can be correctly used when writing tests:
+
+### equal - a comparison assertion. It passes if actual == expected
+
+```javascript
+test( 'equal', 2, function() {
+ var actual = 6 - 5;
+ equal( actual, true, 'passes as 1 == true' );
+ equal( actual, 1, 'passes as 1 == 1' );
+});
+```
+
+
+### notEqual - a comparison assertion. It passes if actual != expected
+
+```javascript
+test( 'notEqual', 2, function() {
+ var actual = 6 - 5;
+ notEqual( actual, false, 'passes as 1 != false' );
+ notEqual( actual, 0, 'passes as 1 != 0' );
+});
+```
+
+### strictEqual - a comparison assertion. It passes if actual === expected
+
+```javascript
+test( 'strictEqual', 2, function() {
+ var actual = 6 - 5;
+ strictEqual( actual, true, 'fails as 1 !== true' );
+ strictEqual( actual, 1, 'passes as 1 === 1' );
+});
+```
+
+### notStrictEqual - a comparison assertion. It passes if actual !== expected
+
+```javascript
+test('notStrictEqual', 2, function() {
+ var actual = 6 - 5;
+ notStrictEqual( actual, true, 'passes as 1 !== true' );
+ notStrictEqual( actual, 1, 'fails as 1 === 1' );
+});
+```
+
+### deepEqual - a recursive comparison assertion. Unlike strictEqual(), it works on objects, arrays and primitives.
+
+```javascript
+test('deepEqual', 4, function() {
+ var actual = {q: 'foo', t: 'bar'};
+ var el = $('div');
+ var children = $('div').children();
+
+ equal( actual, {q: 'foo', t: 'bar'}, 'fails - objects are not equal using equal()' );
+ deepEqual( actual, {q: 'foo', t: 'bar'}, 'passes - objects are equal' );
+ equal( el, children, 'fails - jQuery objects are not the same' );
+ deepEqual(el, children, 'fails - objects not equivalent' );
+
+});
+```
+
+### notDeepEqual - a comparison assertion. This returns the opposite of deepEqual
+
+```javascript
+test('notDeepEqual', 2, function() {
+ var actual = {q: 'foo', t: 'bar'};
+ notEqual( actual, {q: 'foo', t: 'bar'}, 'passes - objects are not equal' );
+ notDeepEqual( actual, {q: 'foo', t: 'bar'}, 'fails - objects are equivalent' );
+});
+```
+
+### raises - an assertion which tests if a callback throws any exceptions
+
+```javascript
+test('raises', 1, function() {
+ raises(function() {
+ throw new Error( 'Oh no! It`s an error!' );
+ }, 'passes - an error was thrown inside our callback');
+});
+```
+
+## Fixtures
+
+
+From time to time we may need to write tests that modify the DOM. Managing the clean-up of such operations between tests can be a genuine pain, but thankfully QUnit has a solution to this problem in the form of the `#qunit-fixture` element, seen below.
+
+#### Fixture markup:
+```html
+
+
+
+ QUnit Test
+
+
+
+
+
+
+
QUnit Test
+
+
+
+
+
+
+
+```
+
+We can either opt to place static markup in the fixture or just insert/append any DOM elements we may need to it. QUnit will automatically reset the `innerHTML` of the fixture after each test to its original value. In case you're using jQuery, it's useful to know that QUnit checks for its availability and will opt to use ```$(el).html()``` instead, which will cleanup any jQuery event handlers too.
+
+
+### Fixtures example:
+
+Let us now go through a more complete example of using fixtures. One thing that most of us are used to doing in jQuery is working with lists - they're often used to define the markup for menus, grids, and a number of other components. You may have used jQuery plugins before that manipulated a given list in a particular way and it can be useful to test that the final (manipulated) output of the plugin is what was expected.
+
+For the purposes of our next example, we're going to use Ben Alman's `$.enumerate()` plugin, which can prepend each item in a list by its index, optionally allowing us to set what the first number in the list is. The code snippet for the plugin can be found below, followed by an example of the output it generates:
+
+```javascript
+$.fn.enumerate = function( start ) {
+ if ( typeof start !== 'undefined' ) {
+ // Since `start` value was provided, enumerate and return
+ // the initial jQuery object to allow chaining.
+
+ return this.each(function(i){
+ $(this).prepend( '' + ( i + start ) + ' ' );
+ });
+
+ } else {
+ // Since no `start` value was provided, function as a
+ // getter, returning the appropriate value from the first
+ // selected element.
+
+ var val = this.eq( 0 ).children( 'b' ).eq( 0 ).text();
+ return Number( val );
+ }
+ };
+
+/*
+
+
1. hello
+
2. world
+
3. i
+
4. am
+
5. foo
+
+*/
+```
+
+Let's now write some tests for the plugin. First, we define the markup for a list containing some sample items inside our ```qunit-fixture``` element:
+
+```html
+
+
+
hello
+
world
+
i
+
am
+
foo
+
+
+```
+
+Next, we need to think about what should be tested. `$.enumerate()` supports a few different use cases, including:
+
+* **No arguments passed** - i.e., ```$(el).enumerate()```
+* **0 passed as an argument** - i.e., ```$(el).enumerate(0)```
+* **1 passed as an argument** - i.e., ```$(el).enumerate(1)```
+
+As the text value for each list item is of the form "n. item-text" and we only require this to test against the expected output, we can simply access the content using ```$(el).eq(index).text()``` (for more information on .eq() see [here](http://api.jquery.com/eq/)).
+
+and finally, here are our test cases:
+
+```javascript
+module('jQuery#enumerate');
+
+test( 'No arguments passed', 5, function() {
+ var items = $('#qunit-fixture li').enumerate(); // 0
+ equal( items.eq(0).text(), '0. hello', 'first item should have index 0' );
+ equal( items.eq(1).text(), '1. world', 'second item should have index 1' );
+ equal( items.eq(2).text(), '2. i', 'third item should have index 2' );
+ equal( items.eq(3).text(), '3. am', 'fourth item should have index 3' );
+ equal( items.eq(4).text(), '4. foo', 'fifth item should have index 4' );
+});
+
+test( '0 passed as an argument', 5, function() {
+ var items = $('#qunit-fixture li').enumerate( 0 );
+ equal( items.eq(0).text(), '0. hello', 'first item should have index 0' );
+ equal( items.eq(1).text(), '1. world', 'second item should have index 1' );
+ equal( items.eq(2).text(), '2. i', 'third item should have index 2' );
+ equal( items.eq(3).text(), '3. am', 'fourth item should have index 3' );
+ equal( items.eq(4).text(), '4. foo', 'fifth item should have index 4' );
+});
+
+test( '1 passed as an argument', 3, function() {
+ var items = $('#qunit-fixture li').enumerate( 1 );
+ equal( items.eq(0).text(), '1. hello', 'first item should have index 1' );
+ equal( items.eq(1).text(), '2. world', 'second item should have index 2' );
+ equal( items.eq(2).text(), '3. i', 'third item should have index 3' );
+ equal( items.eq(3).text(), '4. am', 'fourth item should have index 4' );
+ equal( items.eq(4).text(), '5. foo', 'fifth item should have index 5' );
+});
+
+```
+
+## Asynchronous code
+
+As with Jasmine, the effort required to run synchronous tests with QUnit is fairly minimal. That said, what about tests that require asynchronous callbacks (such as expensive processes, Ajax requests, and so on)? When we're dealing with asynchronous code, rather than letting QUnit control when the next test runs, we can tell it that we need it to stop running and wait until it's okay to continue once again.
+
+Remember: running asynchronous code without any special considerations can cause incorrect assertions to appear in other tests, so we want to make sure we get it right.
+
+Writing QUnit tests for asynchronous code is made possible using the ```start()``` and ```stop()``` methods, which programmatically set the start and stop points during such tests. Here's a simple example:
+
+```javascript
+test('An async test', function(){
+ stop();
+ expect( 1 );
+ $.ajax({
+ url: '/test',
+ dataType: 'json',
+ success: function( data ){
+ deepEqual(data, {
+ topic: 'hello',
+ message: 'hi there!''
+ });
+ ok(true, 'Asynchronous test passed!');
+ start();
+ }
+ });
+});
+```
+
+A jQuery ```$.ajax()``` request is used to connect to a test resource and assert that the data returned is correct. ```deepEqual()``` is used here as it allows us to compare different data types (e.g., objects, arrays) and ensures that what is returned is exactly what we're expecting. We know that our Ajax request is asynchronous and so we first call ```stop()```, then run the code making the request, and finally, at the very end of our callback, inform QUnit that it is okay to continue running other tests.
+
+Note: rather than including ```stop()```, we can simply exclude it and substitute ```test()``` with ```asyncTest()``` if we prefer. This improves readability when dealing with a mixture of asynchronous and synchronous tests in your suite. While this setup should work fine for many use-cases, there is no guarantee that the callback in our ```$.ajax()``` request will actually get called. To factor this into our tests, we can use ```expect()``` once again to define how many assertions we expect to see within our test. This is a healthy safety blanket as it ensures that if a test completes with an insufficient number of assertions, we know something went wrong and can fix it.
diff --git a/chapters/14-resources.md b/chapters/14-resources.md
new file mode 100644
index 00000000..ddf2e271
--- /dev/null
+++ b/chapters/14-resources.md
@@ -0,0 +1,25 @@
+# Resources
+
+## Books & Courses
+
+* [PeepCode: Backbone.js Basics](https://peepcode.com/products/backbone-js)
+* [CodeSchool: Anatomy Of Backbone](http://www.codeschool.com/courses/anatomy-of-backbonejs)
+* [Recipes With Backbone](http://recipeswithbackbone.com/)
+* [Backbone Patterns](http://ricostacruz.com/backbone-patterns/)
+* [Backbone On Rails](https://learn.thoughtbot.com/products/1-backbone-js-on-rails)
+* [MVC In JavaScript With Backbone](https://github.com/Integralist/Blog-Posts/blob/master/2012-08-16-MVC-in-JavaScript-with-Backbone.md)
+* [Backbone Tutorials](http://backbonetutorials.com/)
+* [Derick Bailey's Resources For Learning Backbone](http://lostechies.com/derickbailey/2011/09/13/resources-for-and-how-i-learned-backbone-js/)
+
+## Extensions/Libraries
+
+* [MarionetteJS](http://marionettejs.com/)
+* [AuraJS](https://github.com/aurajs/aura)
+* [Thorax](http://thoraxjs.org)
+* [Lumbar](http://walmartlabs.github.com/lumbar)
+* [Backbone Layout Manager](https://github.com/tbranyen/backbone.layoutmanager)
+* [Backbone Boilerplate](https://github.com/backbone-boilerplate/backbone-boilerplate)
+* [Backbone.ModelBinder](https://github.com/theironcook/Backbone.ModelBinder)
+* [Backbone Relational - for model relationships](https://github.com/PaulUithol/Backbone-relational)
+* [Backbone CouchDB](https://github.com/janmonschke/backbone-couchdb)
+* [Backbone Validations - HTML5 inspired validations](https://github.com/n-time/backbone.validations)
diff --git a/chapters/15-conclusions.md b/chapters/15-conclusions.md
new file mode 100644
index 00000000..81c0b059
--- /dev/null
+++ b/chapters/15-conclusions.md
@@ -0,0 +1,25 @@
+# Conclusions
+
+I hope that you've found this introduction to Backbone.js of value. What you've hopefully learned is that while building a JavaScript-heavy application using nothing more than a DOM manipulation library (such as jQuery) is certainly a possible feat, it is difficult to build anything non-trivial without any formal structure in place. Your nested pile of jQuery callbacks and DOM elements are unlikely to scale and they can be very difficult to maintain as your application grows.
+
+The beauty of Backbone.js is it's simplicity. It's very small given the functionality and flexibility it provides, which is evident if you begin to study the Backbone.js source. In the words of Jeremy Ashkenas, "The essential premise at the heart of Backbone has always been to try and discover the minimal set of data-structuring (Models and Collections) and user interface (Views and URLs) primitives that are useful when building web applications with JavaScript." It just helps you improve the structure of your applications, helping you better separate concerns. There isn't anything more to it than that.
+
+Backbone offers Models with key-value bindings and events, Collections with an API of rich enumerable methods, declarative Views with event handling and a simple way to connect an existing API to your client-side application over a RESTful JSON interface. Use it and you can abstract away data into sane models and your DOM manipulation into views, binding them together using nothing more than events.
+
+Almost any developer working on JavaScript applications for a while will ultimately create a similar solution on their own if they value architecture and maintainability. The alternative to using it or something similar is rolling your own - often a process that involves glueing together a diverse set of libraries that weren't built to work together. You might use jQuery BBQ for history management and Handlebars for templating, while writing abstracts for organizing and testing code by yourself.
+
+Contrast this with Backbone, which has [literate](http://en.wikipedia.org/wiki/Literate_programming) [documentation](http://backbonejs.org/docs/backbone.html) of the source code, a thriving community of both users and hackers, and a large number of questions about it asked and answered daily on sites like [Stack Overflow](http://stackoverflow.com/search?q=backbone). Rather than re-inventing the wheel there are many advantages to structuring your application using a solution based on the collective knowledge and experience of an entire community.
+
+In addition to helping provide sane structure to your applications, Backbone is highly extensible supporting more custom architecture should you require more than what is prescribed out of the box. This is evident by the number of extensions and plugins which have been released for it over the past year, including those which we have touched upon such as MarionetteJS and Thorax.
+
+These days Backbone.js powers many complex web applications, ranging from the LinkedIn [mobile app](http://touch.www.linkedin.com/mobile.html) to popular RSS readers such as [NewsBlur](http://newsblur.com) through to social commentary widgets such as [Disqus](http://disqus.com/). This small library of simple, but sane abstractions has helped to create a new generation of rich web applications, and I and my collaborators hope that in time it can help you too.
+
+If you're wondering whether it is worth using Backbone on a project, ask yourself whether what you are building is complex enough to merit using it. Are you hitting the limits of your ability to organize your code? Will your application have regular changes to what is displayed in the UI without a trip back to the server for new pages? Would you benefit from a separation of concerns? If so, a solution like Backbone may be able to help.
+
+Google's GMail is often cited as an example of a well built single-page app. If you've used it, you might have noticed that it requests a large initial chunk, representing most of the JavaScript, CSS and HTML most users will need and everything extra needed after that occurs in the background. GMail can easily switch between your inbox to your spam folder without needing the whole page to be re-rendered. Libraries like Backbone make it easier for web developers to create experiences like this.
+
+That said, Backbone won't be able to help if you're planning on building something which isn't worth the learning curve associated with a library. If your application or site will still be using the server to do the heavy lifting of constructing and serving complete pages to the browser, you may find just using plain JavaScript or jQuery for simple effects or interactions to be more appropriate. Spend time assessing how suitable Backbone might be for you and make the right choice on a per-project basis.
+
+Backbone is neither difficult to learn nor use, however the time and effort you spend learning how to structure applications using it will be well worth it. While reading this book will equip you with the fundamentals needed to understand the library, the best way to learn is to try building your own real-world applications. You will hopefully find that the end product is cleaner, better organized and more maintainable code.
+
+With that, I wish you the very best with your onward journey into the world of Backbone and will leave you with a quote from American writer [Henry Miller](http://en.wikipedia.org/wiki/Henry_Miller) - “One’s destination is never a place, but a new way of seeing things.”
diff --git a/chapters/15-sinonjs.md b/chapters/15-sinonjs.md
new file mode 100644
index 00000000..1f7ee6b4
--- /dev/null
+++ b/chapters/15-sinonjs.md
@@ -0,0 +1,514 @@
+# SinonJS
+
+Similar to the section on testing Backbone.js apps using the Jasmine BDD framework, we're nearly ready to take what we've learned and write a number of QUnit tests for our Todo application.
+
+Before we start though, you may have noticed that QUnit doesn't support test spies. Test spies are functions which record arguments, exceptions, and return values for any of their calls. They're typically used to test callbacks and how functions may be used in the application being tested. In testing frameworks, spies usually are anonymous functions or wrappers around functions which already exist.
+
+
+## What is SinonJS?
+
+In order for us to substitute support for spies in QUnit, we will be taking advantage of a mocking framework called [SinonJS](http://sinonjs.org/) by Christian Johansen. We will also be using the [SinonJS-QUnit adapter](http://sinonjs.org/qunit/) which provides seamless integration with QUnit (meaning setup is minimal). Sinon.JS is completely test-framework agnostic and should be easy to use with any testing framework, so it's ideal for our needs.
+
+The framework supports three features we'll be taking advantage of for unit testing our application:
+
+* **Anonymous spies**
+* **Spying on existing methods**
+* **A rich inspection interface**
+
+#### Basic Spies
+
+Using ```this.spy()``` without any arguments creates an anonymous spy. This is comparable to ```jasmine.createSpy()```. We can observe basic usage of a SinonJS spy in the following example:
+
+```javascript
+test('should call all subscribers for a message exactly once', function () {
+ var message = getUniqueString();
+ var spy = this.spy();
+
+ PubSub.subscribe( message, spy );
+ PubSub.publishSync( message, 'Hello World' );
+
+ ok( spy.calledOnce, 'the subscriber was called once' );
+});
+```
+
+#### Spying On Existing Functions
+
+We can also use ```this.spy()``` to spy on existing functions (like jQuery's ```$.ajax```) in the example below. When spying on a function which already exists, the function behaves normally but we get access to data about its calls which can be very useful for testing purposes.
+
+```javascript
+test( 'should inspect the jQuery.getJSON usage of jQuery.ajax', function () {
+ this.spy( jQuery, 'ajax' );
+
+ jQuery.getJSON( '/todos/completed' );
+
+ ok( jQuery.ajax.calledOnce );
+ equals( jQuery.ajax.getCall(0).args[0].url, '/todos/completed' );
+ equals( jQuery.ajax.getCall(0).args[0].dataType, 'json' );
+});
+```
+
+#### Inspection Interface
+
+SinonJS comes with a rich spy interface which allows us to test whether a spy was called with a specific argument, if it was called a specific number of times, and test against the values of arguments. A complete list of features supported in the interface can be found on [SinonJS.org](http://sinonjs.org/docs/), but let's take a look at some examples demonstrating some of the most commonly used ones:
+
+
+**Matching arguments: test a spy was called with a specific set of arguments:**
+
+```javascript
+test( 'Should call a subscriber with standard matching': function () {
+ var spy = sinon.spy();
+
+ PubSub.subscribe( 'message', spy );
+ PubSub.publishSync( 'message', { id: 45 } );
+
+ assertTrue( spy.calledWith( { id: 45 } ) );
+});
+```
+
+**Stricter argument matching: test a spy was called at least once with specific arguments and no others:**
+
+```javascript
+test( 'Should call a subscriber with strict matching': function () {
+ var spy = sinon.spy();
+
+ PubSub.subscribe( 'message', spy );
+ PubSub.publishSync( 'message', 'many', 'arguments' );
+ PubSub.publishSync( 'message', 12, 34 );
+
+ // This passes
+ assertTrue( spy.calledWith('many') );
+
+ // This however, fails
+ assertTrue( spy.calledWithExactly( 'many' ) );
+});
+```
+
+**Testing call order: testing if a spy was called before or after another spy:**
+
+```javascript
+test( 'Should call a subscriber and maintain call order': function () {
+ var a = sinon.spy();
+ var b = sinon.spy();
+
+ PubSub.subscribe( 'message', a );
+ PubSub.subscribe( 'event', b );
+
+ PubSub.publishSync( 'message', { id: 45 } );
+ PubSub.publishSync( 'event', [1, 2, 3] );
+
+ assertTrue( a.calledBefore(b) );
+ assertTrue( b.calledAfter(a) );
+});
+```
+
+**Match execution counts: test a spy was called a specific number of times:**
+
+```javascript
+test( 'Should call a subscriber and check call counts', function () {
+ var message = getUniqueString();
+ var spy = this.spy();
+
+ PubSub.subscribe( message, spy );
+ PubSub.publishSync( message, 'some payload' );
+
+
+ // Passes if spy was called once and only once.
+ ok( spy.calledOnce ); // calledTwice and calledThrice are also supported
+
+ // The number of recorded calls.
+ equal( spy.callCount, 1 );
+
+ // Directly checking the arguments of the call
+ equals( spy.getCall(0).args[0], message );
+});
+```
+
+
+## Stubs and mocks
+
+SinonJS also supports two other powerful features: stubs and mocks. Both stubs and mocks implement all of the features of the spy API, but have some added functionality.
+
+### Stubs
+
+A stub allows us to replace any existing behaviour for a specific method with something else. They can be very useful for simulating exceptions and are most often used to write test cases when certain dependencies of your code-base may not yet be written.
+
+Let us briefly re-explore our Backbone Todo application, which contained a Todo model and a TodoList collection. For the purpose of this walkthrough, we want to isolate our TodoList collection and fake the Todo model to test how adding new models might behave.
+
+We can pretend that the models have yet to be written just to demonstrate how stubbing might be carried out. A shell collection just containing a reference to the model to be used might look like this:
+
+```javascript
+var TodoList = Backbone.Collection.extend({
+ model: Todo
+});
+
+// Let's assume our instance of this collection is
+this.todoList;
+```
+
+Assuming our collection is instantiating new models itself, it's necessary for us to stub the model's constructor function for the the test. This can be done by creating a simple stub as follows:
+
+```javascript
+this.todoStub = sinon.stub( window, 'Todo' );
+```
+
+The above creates a stub of the Todo method on the window object. When stubbing a persistent object, it's necessary to restore it to its original state. This can be done in a ```teardown()``` as follows:
+
+```javascript
+this.todoStub.restore();
+```
+
+After this, we need to alter what the constructor returns, which can be efficiently done using a plain ```Backbone.Model``` constructor. While this isn't a Todo model, it does still provide us an actual Backbone model.
+
+
+```javascript
+setup: function() {
+ this.model = new Backbone.Model({
+ id: 2,
+ title: 'Hello world'
+ });
+ this.todoStub.returns( this.model );
+});
+```
+
+The expectation here might be that this snippet would ensure our TodoList collection always instantiates a stubbed Todo model, but because a reference to the model in the collection is already present, we need to reset the model property of our collection as follows:
+
+```javascript
+this.todoList.model = Todo;
+```
+
+The result of this is that when our TodoList collection instantiates new Todo models, it will return our plain Backbone model instance as desired. This allows us to write a test for the addition of new model literals as follows:
+
+```javascript
+module( 'Should function when instantiated with model literals', {
+
+ setup:function() {
+
+ this.todoStub = sinon.stub(window, 'Todo');
+ this.model = new Backbone.Model({
+ id: 2,
+ title: 'Hello world'
+ });
+
+ this.todoStub.returns(this.model);
+ this.todos = new TodoList();
+
+ // Let's reset the relationship to use a stub
+ this.todos.model = Todo;
+
+ // add a model
+ this.todos.add({
+ id: 2,
+ title: 'Hello world'
+ });
+ },
+
+ teardown: function() {
+ this.todoStub.restore();
+ }
+
+});
+
+test('should add a model', function() {
+ equal( this.todos.length, 1 );
+});
+
+test('should find a model by id', function() {
+ equal( this.todos.get(5).get('id'), 5 );
+ });
+});
+```
+
+
+### Mocks
+
+Mocks are effectively the same as stubs, however they mock a complete API and have some built-in expectations for how they should be used. The difference between a mock and a spy is that as the expectations for their use are pre-defined and the test will fail if any of these are not met.
+
+Here's a snippet with sample usage of a mock based on PubSubJS. Here, we have a `clearTodo()` method as a callback and use mocks to verify its behavior.
+
+```javascript
+test('should call all subscribers when exceptions', function () {
+ var myAPI = { clearTodo: function () {} };
+
+ var spy = this.spy();
+ var mock = this.mock( myAPI );
+ mock.expects( 'clearTodo' ).once().throws();
+
+ PubSub.subscribe( 'message', myAPI.clearTodo );
+ PubSub.subscribe( 'message', spy );
+ PubSub.publishSync( 'message', undefined );
+
+ mock.verify();
+ ok( spy.calledOnce );
+});
+```
+
+
+
+## Exercise
+
+We can now begin writing tests for our Todo application, which are listed and separated by component (e.g., Models, Collections, etc.). It's useful to pay attention to the name of the test, the logic being tested, and most importantly the assertions being made as this will give you some insight into how what we've learned can be applied to a complete application.
+
+To get the most out of this section, I recommend looking at the QUnit Koans included in the `practicals/qunit-koans` folder - this is a port of the Backbone.js Jasmine Koans over to QUnit.
+
+*In case you haven't had a chance to try out one of the Koans kits as yet, they are a set of unit tests using a specific testing framework that both demonstrate how a set of tests for an application may be written, but also leave some tests unfilled so that you can complete them as an exercise.*
+
+### Models
+
+For our models we want to at minimum test that:
+
+* New instances can be created with the expected default values
+* Attributes can be set and retrieved correctly
+* Changes to state correctly fire off custom events where needed
+* Validation rules are correctly enforced
+
+```javascript
+module( 'About Backbone.Model');
+
+test('Can be created with default values for its attributes.', function() {
+ expect( 3 );
+
+ var todo = new Todo();
+ equal( todo.get('text'), '' );
+ equal( todo.get('done'), false );
+ equal( todo.get('order'), 0 );
+});
+
+test('Will set attributes on the model instance when created.', function() {
+ expect( 1 );
+
+ var todo = new Todo( { text: 'Get oil change for car.' } );
+ equal( todo.get('text'), 'Get oil change for car.' );
+
+});
+
+test('Will call a custom initialize function on the model instance when created.', function() {
+ expect( 1 );
+
+ var toot = new Todo({ text: 'Stop monkeys from throwing their own crap!' });
+ equal( toot.get('text'), 'Stop monkeys from throwing their own rainbows!' );
+});
+
+test('Fires a custom event when the state changes.', function() {
+ expect( 1 );
+
+ var spy = this.spy();
+ var todo = new Todo();
+
+ todo.on( 'change', spy );
+ // Change the model state
+ todo.set( { text: 'new text' } );
+
+ ok( spy.calledOnce, 'A change event callback was correctly triggered' );
+});
+
+
+test('Can contain custom validation rules, and will trigger an invalid event on failed validation.', function() {
+ expect( 3 );
+
+ var errorCallback = this.spy();
+ var todo = new Todo();
+
+ todo.on('invalid', errorCallback);
+ // Change the model state in such a way that validation will fail
+ todo.set( { done: 'not a boolean' } );
+
+ ok( errorCallback.called, 'A failed validation correctly triggered an error' );
+ notEqual( errorCallback.getCall(0), undefined );
+ equal( errorCallback.getCall(0).args[1], 'Todo.done must be a boolean value.' );
+
+});
+```
+
+
+### Collections
+
+For our collection we'll want to test that:
+
+* The Collection has a Todo Model
+* Uses localStorage for syncing
+* That done(), remaining() and clear() work as expected
+* The order for Todos is numerically correct
+
+```javascript
+ describe('Test Collection', function() {
+
+ beforeEach(function() {
+
+ // Define new todos
+ this.todoOne = new Todo;
+ this.todoTwo = new Todo({
+ title: "Buy some milk"
+ });
+
+ // Create a new collection of todos for testing
+ return this.todos = new TodoList([this.todoOne, this.todoTwo]);
+ });
+
+ it('Has the Todo model', function() {
+ return expect(this.todos.model).toBe(Todo);
+ });
+
+ it('Uses local storage', function() {
+ return expect(this.todos.localStorage).toEqual(new Store('todos-backbone'));
+ });
+
+ describe('done', function() {
+ return it('returns an array of the todos that are done', function() {
+ this.todoTwo.done = true;
+ return expect(this.todos.done()).toEqual([this.todoTwo]);
+ });
+ });
+
+ describe('remaining', function() {
+ return it('returns an array of the todos that are not done', function() {
+ this.todoTwo.done = true;
+ return expect(this.todos.remaining()).toEqual([this.todoOne]);
+ });
+ });
+
+ describe('clear', function() {
+ return it('destroys the current todo from local storage', function() {
+ expect(this.todos.models).toEqual([this.todoOne, this.todoTwo]);
+ this.todos.clear(this.todoOne);
+ return expect(this.todos.models).toEqual([this.todoTwo]);
+ });
+ });
+
+ return describe('Order sets the order on todos ascending numerically', function() {
+ it('defaults to one when there arent any items in the collection', function() {
+ this.emptyTodos = new TodoApp.Collections.TodoList;
+ return expect(this.emptyTodos.order()).toEqual(0);
+ });
+
+ return it('Increments the order by one each time', function() {
+ expect(this.todos.order(this.todoOne)).toEqual(1);
+ return expect(this.todos.order(this.todoTwo)).toEqual(2);
+ });
+ });
+
+ });
+```
+
+
+
+### Views
+
+For our views we want to ensure:
+
+* They are being correctly tied to a DOM element when created
+* They can render, after which the DOM representation of the view should be visible
+* They support wiring up view methods to DOM elements
+
+One could also take this further and test that user interactions with the view correctly result in any models that need to be changed being updated correctly.
+
+
+```javascript
+module( 'About Backbone.View', {
+ setup: function() {
+ $('body').append('
');
+ this.todoView = new TodoView({ model: new Todo() });
+ },
+ teardown: function() {
+ this.todoView.remove();
+ $('#todoList').remove();
+ }
+});
+
+test('Should be tied to a DOM element when created, based off the property provided.', function() {
+ expect( 1 );
+ equal( this.todoView.el.tagName.toLowerCase(), 'li' );
+});
+
+test('Is backed by a model instance, which provides the data.', function() {
+ expect( 2 );
+ notEqual( this.todoView.model, undefined );
+ equal( this.todoView.model.get('done'), false );
+});
+
+test('Can render, after which the DOM representation of the view will be visible.', function() {
+ this.todoView.render();
+
+ // Append the DOM representation of the view to ul#todoList
+ $('ul#todoList').append(this.todoView.el);
+
+ // Check the number of li items rendered to the list
+ equal($('#todoList').find('li').length, 1);
+});
+
+asyncTest('Can wire up view methods to DOM elements.', function() {
+ expect( 2 );
+ var viewElt;
+
+ $('#todoList').append( this.todoView.render().el );
+
+ setTimeout(function() {
+ viewElt = $('#todoList li input.check').filter(':first');
+
+ equal(viewElt.length > 0, true);
+
+ // Ensure QUnit knows we can continue
+ start();
+ }, 1000, 'Expected DOM Elt to exist');
+
+ // Trigget the view to toggle the 'done' status on an item or items
+ $('#todoList li input.check').click();
+
+ // Check the done status for the model is true
+ equal( this.todoView.model.get('done'), true );
+});
+```
+
+
+### App
+
+It can also be useful to write tests for any application bootstrap you may have in place. For the following module, our setup instantiates and appends to a TodoApp view and we can test anything from local instances of views being correctly defined to application interactions correctly resulting in changes to instances of local collections.
+
+```javascript
+module( 'About Backbone Applications' , {
+ setup: function() {
+ Backbone.localStorageDB = new Store('testTodos');
+ $('#qunit-fixture').append('');
+ this.App = new TodoApp({ appendTo: $('#app') });
+ },
+
+ teardown: function() {
+ this.App.todos.reset();
+ $('#app').remove();
+ }
+});
+
+test('Should bootstrap the application by initializing the Collection.', function() {
+ expect( 2 );
+
+ // The todos collection should not be undefined
+ notEqual( this.App.todos, undefined );
+
+ // The initial length of our todos should however be zero
+ equal( this.App.todos.length, 0 );
+});
+
+test( 'Should bind Collection events to View creation.' , function() {
+
+ // Set the value of a brand new todo within the input box
+ $('#new-todo').val( 'Buy some milk' );
+
+ // Trigger the enter (return) key to be pressed inside #new-todo
+ // causing the new item to be added to the todos collection
+ $('#new-todo').trigger(new $.Event( 'keypress', { keyCode: 13 } ));
+
+ // The length of our collection should now be 1
+ equal( this.App.todos.length, 1 );
+ });
+```
+
+## Further Reading & Resources
+
+That's it for this section on testing applications with QUnit and SinonJS. I encourage you to try out the [QUnit Backbone.js Koans](https://github.com/addyosmani/backbone-koans-qunit) and see if you can extend some of the examples. For further reading consider looking at some of the additional resources below:
+
+* **[Test-driven JavaScript Development (book)](http://tddjs.com/)**
+* **[SinonJS/QUnit Adapter](http://sinonjs.org/qunit/)**
+* **[SinonJS and QUnit](http://cjohansen.no/en/javascript/using_sinon_js_with_qunit)**
+* **[Automating JavaScript Testing With QUnit](http://msdn.microsoft.com/en-us/scriptjunkie/gg749824)**
+* **[Ben Alman's Unit Testing With QUnit](http://benalman.com/talks/unit-testing-qunit.html)**
+* **[Another QUnit/Backbone.js demo project](https://github.com/jc00ke/qunit-backbone)**
+* **[SinonJS helpers for Backbone](http://devblog.supportbee.com/2012/02/10/helpers-for-testing-backbone-js-apps-using-jasmine-and-sinon-js/)**
diff --git a/chapters/16-appendix.md b/chapters/16-appendix.md
new file mode 100644
index 00000000..32e96e23
--- /dev/null
+++ b/chapters/16-appendix.md
@@ -0,0 +1,670 @@
+# Appendix
+
+## A Simple JavaScript MVC Implementation
+
+A comprehensive discussion of Backbone's implementation is beyond the scope of this book. We can, however, present a simple MVC library - which we will call Cranium.js - that illustrates how frameworks such as Backbone implement the MVC pattern.
+
+Like Backbone, we will rely on [Underscore](http://underscorejs.org "Underscore.js") for inheritance and templating.
+
+### Event System
+
+At the heart of our JavaScript MVC implementation is an `Event` system (object) based on the Publisher-Subscriber Pattern which makes it possible for MVC components to communicate in an elegant, decoupled manner. Subscribers 'listen' for specific events of interest and react when Publishers broadcast these events.
+
+`Event` is mixed into both the View and Model components so that instances of either of these components can publish events of interest.
+
+```javascript
+// cranium.js - Cranium.Events
+
+var Cranium = Cranium || {};
+
+// Set DOM selection utility
+var $ = document.querySelector.bind(document) || this.jQuery || this.Zepto;
+
+// Mix in to any object in order to provide it with custom events.
+var Events = Cranium.Events = {
+ // Keeps list of events and associated listeners
+ channels: {},
+
+ // Counter
+ eventNumber: 0,
+
+ // Announce events and passes data to the listeners;
+ trigger: function (events, data) {
+ for (var topic in Cranium.Events.channels){
+ if (Cranium.Events.channels.hasOwnProperty(topic)) {
+ if (topic.split("-")[0] == events){
+ Cranium.Events.channels[topic](data) !== false || delete Cranium.Events.channels[topic];
+ }
+ }
+ }
+ },
+ // Registers an event type and its listener
+ on: function (events, callback) {
+ Cranium.Events.channels[events + --Cranium.Events.eventNumber] = callback;
+ },
+ // Unregisters an event type and its listener
+ off: function(topic) {
+ delete Cranium.Events.channels[topic];
+ }
+};
+```
+
+The Event system makes it possible for:
+
+* a View to notify its subscribers of user interaction (e.g., clicks or input in a form), to update/re-render its presentation, etc.
+* a Model whose data has changed to notify its Subscribers to update themselves (e.g., view to re-render to show accurate/updated data), etc.
+
+### Models
+
+Models manage the (domain-specific) data for an application. They are concerned with neither the user-interface nor presentation layers, but instead represent structured data that an application may require. When a model changes (e.g when it is updated), it will typically notify its observers (Subscribers) that a change has occurred so that they may react accordingly.
+
+Let's see a simple implementation of the Model:
+
+```javascript
+// cranium.js - Cranium.Model
+
+// Attributes represents data, model's properties.
+// These are to be passed at Model instantiation.
+// Also we are creating id for each Model instance
+// so that it can identify itself (e.g. on chage
+// announcements)
+var Model = Cranium.Model = function (attributes) {
+ this.id = _.uniqueId('model');
+ this.attributes = attributes || {};
+};
+
+// Getter (accessor) method;
+// returns named data item
+Cranium.Model.prototype.get = function(attrName) {
+ return this.attributes[attrName];
+};
+
+// Setter (mutator) method;
+// Set/mix in into model mapped data (e.g.{name: "John"})
+// and publishes the change event
+Cranium.Model.prototype.set = function(attrs){
+ if (_.isObject(attrs)) {
+ _.extend(this.attributes, attrs);
+ this.change(this.attributes);
+ }
+ return this;
+};
+
+// Returns clone of the Models data object
+// (used for view template rendering)
+Cranium.Model.prototype.toJSON = function(options) {
+ return _.clone(this.attributes);
+};
+
+// Helper function that announces changes to the Model
+// and passes the new data
+Cranium.Model.prototype.change = function(attrs){
+ this.trigger(this.id + 'update', attrs);
+};
+
+// Mix in Event system
+_.extend(Cranium.Model.prototype, Cranium.Events);
+```
+
+### Views
+
+Views are a visual representation of models that present a filtered view of their current state. A view typically observes a model and is notified when the model changes, allowing the view to update itself accordingly. Design pattern literature commonly refers to views as 'dumb', given that their knowledge of models and controllers in an application is limited.
+
+Let's explore Views a little further using a simple JavaScript example:
+
+```javascript
+// DOM View
+var View = Cranium.View = function (options) {
+ // Mix in options object (e.g extending functionallity)
+ _.extend(this, options);
+ this.id = _.uniqueId('view');
+};
+
+// Mix in Event system
+_.extend(Cranium.View.prototype, Cranium.Events);
+```
+
+### Controllers
+
+Controllers are an intermediary between models and views which are classically responsible for two tasks:
+
+* they update the view when the model changes
+* they update the model when the user manipulates the view
+
+```javascript
+// cranium.js - Cranium.Controller
+
+// Controller tying together a model and view
+var Controller = Cranium.Controller = function(options){
+ // Mix in options object (e.g extending functionallity)
+ _.extend(this, options);
+ this.id = _.uniqueId('controller');
+ var parts, selector, eventType;
+
+ // Parses Events object passed during the definition of the
+ // controller and maps it to the defined method to handle it;
+ if(this.events){
+ _.each(this.events, function(method, eventName){
+ parts = eventName.split('.');
+ selector = parts[0];
+ eventType = parts[1];
+ $(selector)['on' + eventType] = this[method];
+ }.bind(this));
+ }
+};
+```
+
+### Practical Usage
+
+HTML template for the primer that follows:
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+Cranium.js usage:
+
+```javascript
+
+// example.js - usage of Cranium MVC
+
+// And todo instance
+var todo1 = new Cranium.Model({
+ title: "",
+ completed: ""
+});
+
+console.log("First todo title - nothing set: " + todo1.get('title'));
+todo1.set({title: "Do something"});
+console.log("Its changed now: " + todo1.get('title'));
+''
+// View instance
+var todoView = new Cranium.View({
+ // DOM element selector
+ el: '#todo',
+
+ // Todo template; Underscore temlating used
+ template: _.template($('.todo-template').innerHTML),
+
+ init: function (model) {
+ this.render( model.toJSON() );
+
+ this.on(model.id + 'update', this.render.bind(this));
+ },
+ render: function (data) {
+ console.log("View about to render.");
+ $(this.el).innerHTML = this.template( data );
+ }
+});
+
+var todoController = new Cranium.Controller({
+ // Specify the model to update
+ model: todo1,
+
+ // and the view to observe this model
+ view: todoView,
+
+ events: {
+ "#todo.click" : "toggleComplete"
+ },
+
+ // Initialize everything
+ initialize: function () {
+ this.view.init(this.model);
+ return this;
+ },
+ // Toggles the value of the todo in the Model
+ toggleComplete: function () {
+ var completed = todoController.model.get('completed');
+ console.log("Todo old 'completed' value?", completed);
+ todoController.model.set({ completed: (!completed) ? 'checked': '' });
+ console.log("Todo new 'completed' value?", todoController.model.get('completed'));
+ return this;
+ }
+});
+
+
+// Let's kick start things off
+todoController.initialize();
+
+todo1.set({ title: "Due to this change Model will notify View and it will re-render"});
+
+```
+
+Samuel Clay, one of the authors of the first version of Backbone.js says of cranium.js: "Unsurprisingly, it looks a whole lot like the beginnings of Backbone. Views are dumb, so they get very little boilerplate and setup. Models are responsible for their attributes and announcing changes to those models."
+
+I hope you've found this implementation helpful in understanding how one would go about writing their own library like Backbone from scratch, but moreso that it encourages you to take advantage of mature existing solutions where possible but never be afraid to explore deeper down into what makes them tick.
+
+## MVP
+
+Model-View-Presenter (MVP) is a derivative of the MVC design pattern which focuses on improving presentation logic. It originated at a company named [Taligent](http://en.wikipedia.org/wiki/Taligent) in the early 1990s while they were working on a model for a C++ CommonPoint environment. Whilst both MVC and MVP target the separation of concerns across multiple components, there are some fundamental differences between them.
+
+For the purposes of this summary we will focus on the version of MVP most suitable for web-based architectures.
+
+### Models, Views & Presenters
+
+The P in MVP stands for presenter. It's a component which contains the user-interface business logic for the view. Unlike MVC, invocations from the view are delegated to the presenter, which are decoupled from the view and instead talk to it through an interface. This allows for all kinds of useful things such as being able to mock views in unit tests.
+
+The most common implementation of MVP is one which uses a Passive View (a view which is for all intents and purposes "dumb"), containing little to no logic. MVP models are almost identical to MVC models and handle application data. The presenter acts as a mediator which talks to both the view and model, however both of these are isolated from each other. They effectively bind models to views, a responsibility held by Controllers in MVC. Presenters are at the heart of the MVP pattern and as you can guess, incorporate the presentation logic behind views.
+
+Solicited by a view, presenters perform any work to do with user requests and pass data back to them. In this respect, they retrieve data, manipulate it and determine how the data should be displayed in the view. In some implementations, the presenter also interacts with a service layer to persist data (models). Models may trigger events but it's the presenter's role to subscribe to them so that it can update the view. In this passive architecture, we have no concept of direct data binding. Views expose setters which presenters can use to set data.
+
+The benefit of this change from MVC is that it increases the testability of your application and provides a more clean separation between the view and the model. This isn't however without its costs as the lack of data binding support in the pattern can often mean having to take care of this task separately.
+
+Although a common implementation of a [Passive View](http://martinfowler.com/eaaDev/PassiveScreen.html) is for the view to implement an interface, there are variations on it, including the use of events which can decouple the View from the Presenter a little more. As we don't have the interface construct in JavaScript, we're using it more and more as a protocol than an explicit interface here. It's technically still an API and it's probably fair for us to refer to it as an interface from that perspective.
+
+
+There is also a [Supervising Controller](http://martinfowler.com/eaaDev/SupervisingPresenter.html) variation of MVP, which is closer to the MVC and [MVVM - Model-View-ViewModel](http://en.wikipedia.org/wiki/Model_View_ViewModel) patterns as it provides data-binding from the Model directly from the View. Key-value observing (KVO) plugins (such as Derick Bailey's Backbone.ModelBinding plugin) introduce this idea of a Supervising Controller to Backbone.
+
+
+## MVP or MVC?
+
+MVP is generally used most often in enterprise-level applications where it's necessary to reuse as much presentation logic as possible. Applications with very complex views and a great deal of user interaction may find that MVC doesn't quite fit the bill here as solving this problem may mean heavily relying on multiple controllers. In MVP, all of this complex logic can be encapsulated in a presenter, which can simplify maintenance greatly.
+
+As MVP views are defined through an interface and the interface is technically the only point of contact between the system and the view (other than a presenter), this pattern also allows developers to write presentation logic without needing to wait for designers to produce layouts and graphics for the application.
+
+Depending on the implementation, MVP may be more easy to automatically unit test than MVC. The reason often cited for this is that the presenter can be used as a complete mock of the user-interface and so it can be unit tested independent of other components. In my experience this really depends on the languages you are implementing MVP in (there's quite a difference between opting for MVP for a JavaScript project over one for say, ASP.NET).
+
+At the end of the day, the underlying concerns you may have with MVC will likely hold true for MVP given that the differences between them are mainly semantic. As long as you are cleanly separating concerns into models, views and controllers (or presenters) you should be achieving most of the same benefits regardless of the pattern you opt for.
+
+## MVC, MVP and Backbone.js
+
+There are very few, if any architectural JavaScript frameworks that claim to implement the MVC or MVP patterns in their classical form as many JavaScript developers don't view MVC and MVP as being mutually exclusive (we are actually more likely to see MVP strictly implemented when looking at web frameworks such as ASP.NET or GWT). This is because it's possible to have additional presenter/view logic in your application and yet still consider it a flavor of MVC.
+
+Backbone contributor [Irene Ros](http://ireneros.com/) subscribes to this way of thinking as when she separates Backbone views out into their own distinct components, she needs something to actually assemble them for her. This could either be a controller route (such as a ```Backbone.Router```) or a callback in response to data being fetched.
+
+That said, some developers do however feel that Backbone.js better fits the description of MVP than it does MVC
+. Their view is that:
+
+* The presenter in MVP better describes the ```Backbone.View``` (the layer between View templates and the data bound to it) than a controller does
+* The model fits ```Backbone.Model``` (it isn't that different from the classical MVC "Model")
+* The views best represent templates (e.g Handlebars/Mustache markup templates)
+
+A response to this could be that the view can also just be a View (as per MVC) because Backbone is flexible enough to let it be used for multiple purposes. The V in MVC and the P in MVP can both be accomplished by ```Backbone.View``` because they're able to achieve two purposes: both rendering atomic components and assembling those components rendered by other views.
+
+We've also seen that in Backbone the responsibility of a controller is shared with both the Backbone.View and Backbone.Router and in the following example we can actually see that aspects of that are certainly true.
+
+Here, our Backbone ```TodoView``` uses the Observer pattern to 'subscribe' to changes to a View's model in the line ```this.model.on('change',...)```. It also handles templating in the ```render()``` method, but unlike some other implementations, user interaction is also handled in the View (see ```events```).
+
+
+```javascript
+// The DOM element for a todo item...
+app.TodoView = Backbone.View.extend({
+
+ //... is a list tag.
+ tagName: 'li',
+
+ // Pass the contents of the todo template through a templating
+ // function, cache it for a single todo
+ template: _.template( $('#item-template').html() ),
+
+ // The DOM events specific to an item.
+ events: {
+ 'click .toggle': 'togglecompleted'
+ },
+
+ // The TodoView listens for changes to its model, re-rendering. Since there's
+ // a one-to-one correspondence between a **Todo** and a **TodoView** in this
+ // app, we set a direct reference on the model for convenience.
+ initialize: function() {
+ this.model.on( 'change', this.render, this );
+ this.model.on( 'destroy', this.remove, this );
+ },
+
+ // Re-render the titles of the todo item.
+ render: function() {
+ this.$el.html( this.template( this.model.toJSON() ) );
+ return this;
+ },
+
+ // Toggle the `"completed"` state of the model.
+ togglecompleted: function() {
+ this.model.toggle();
+ },
+});
+```
+
+Another (quite different) opinion is that Backbone more closely resembles [Smalltalk-80 MVC](http://martinfowler.com/eaaDev/uiArchs.html#ModelViewController), which we went through earlier.
+
+As MarionetteJS author Derick Bailey has [written](http://lostechies.com/derickbailey/2011/12/23/backbone-js-is-not-an-mvc-framework/), it's ultimately best not to force Backbone to fit any specific design patterns. Design patterns should be considered flexible guides to how applications may be structured and in this respect, Backbone doesn't fit either MVC nor MVP perfectly. Instead, it borrows some of the best concepts from multiple architectural patterns and creates a flexible framework that just works well. Call it **the Backbone way**, MV* or whatever helps reference its flavor of application architecture.
+
+It *is* however worth understanding where and why these concepts originated, so I hope that my explanations of MVC and MVP have been of help. Most structural JavaScript frameworks will adopt their own take on classical patterns, either intentionally or by accident, but the important thing is that they help us develop applications which are organized, clean and can be easily maintained.
+
+## Namespacing
+
+When learning how to use Backbone, an important and commonly overlooked area by tutorials is namespacing. If you already have experience with namespacing in JavaScript, the following section will provide some advice on how to specifically apply concepts you know to Backbone, however I will also be covering explanations for beginners to ensure everyone is on the same page.
+
+#### What is namespacing?
+
+Namespacing is a way to avoid collisions with other objects or variables in the global namespace. Using namespacing reduces the potential of your code breaking because another script on the page is using the same variable names that you are. As a good 'citizen' of the global namespace, it's also imperative that you do your best to minimize the possibility of your code breaking other developer's scripts.
+
+JavaScript doesn't really have built-in support for namespaces like other languages, however it does have closures which can be used to achieve a similar effect.
+
+In this section we'll be taking a look shortly at some examples of how you can namespace your models, views, routers and other components. The patterns we'll be examining are:
+
+* Single global variables
+* Object Literals
+* Nested namespacing
+
+**Single global variables**
+
+One popular pattern for namespacing in JavaScript is opting for a single global variable as your primary object of reference. A skeleton implementation of this where we return an object with functions and properties can be found below:
+
+```javascript
+var myApplication = (function(){
+ function(){
+ // ...
+ },
+ return {
+ // ...
+ }
+})();
+```
+
+You've probably seen this technique before. A Backbone-specific example might look like this:
+
+```javascript
+var myViews = (function(){
+ return {
+ TodoView: Backbone.View.extend({ .. }),
+ TodosView: Backbone.View.extend({ .. }),
+ AboutView: Backbone.View.extend({ .. });
+ //etc.
+ };
+})();
+```
+
+Here we can return a set of views, but the same technique could return an entire collection of models, views and routers depending on how you decide to structure your application. Although this works for certain situations, the biggest challenge with the single global variable pattern is ensuring that no one else has used the same global variable name as you have in the page.
+
+One solution to this problem, as mentioned by Peter Michaux, is to use prefix namespacing. It's a simple concept at heart, but the idea is you select a common prefix name (in this example, `myApplication_`) and then define any methods, variables or other objects after the prefix.
+
+```javascript
+var myApplication_todoView = Backbone.View.extend({}),
+ myApplication_todosView = Backbone.View.extend({});
+```
+
+This is effective from the perspective of trying to lower the chances of a particular variable existing in the global scope, but remember that a uniquely named object can have the same effect. This aside, the biggest issue with the pattern is that it can result in a large number of global objects once your application starts to grow.
+
+For more on Peter's views about the single global variable pattern, read his [excellent post on them](http://michaux.ca/articles/javascript-namespacing).
+
+Note: There are several other variations on the single global variable pattern out in the wild, however having reviewed quite a few, I felt the prefixing approach applied best to Backbone.
+
+**Object Literals**
+
+Object Literals have the advantage of not polluting the global namespace but assist in organizing code and parameters logically. They're beneficial if you wish to create easily readable structures that can be expanded to support deep nesting. Unlike simple global variables, Object Literals often also take into account tests for the existence of a variable by the same name, which helps reduce the chances of collision.
+
+This example demonstrates two ways you can check to see if a namespace already exists before defining it. I commonly use Option 2.
+
+```javascript
+/* Doesn't check for existence of myApplication */
+var myApplication = {};
+
+/*
+Does check for existence. If already defined, we use that instance.
+Option 1: if(!myApplication) myApplication = {};
+Option 2: var myApplication = myApplication || {};
+We can then populate our object literal to support models, views and collections (or any data, really):
+*/
+
+var myApplication = {
+ models : {},
+ views : {
+ pages : {}
+ },
+ collections : {}
+};
+```
+
+One can also opt for adding properties directly to the namespace (such as your views, in the following example):
+
+```javascript
+var myTodosViews = myTodosViews || {};
+myTodosViews.todoView = Backbone.View.extend({});
+myTodosViews.todosView = Backbone.View.extend({});
+```
+
+The benefit of this pattern is that you're able to easily encapsulate all of your models, views, routers etc. in a way that clearly separates them and provides a solid foundation for extending your code.
+
+This pattern has a number of benefits. It's often a good idea to decouple the default configuration for your application into a single area that can be easily modified without the need to search through your entire codebase just to alter it. Here's an example of a hypothetical object literal that stores application configuration settings:
+
+
+```javascript
+var myConfig = {
+ language: 'english',
+ defaults: {
+ enableDelegation: true,
+ maxTodos: 40
+ },
+ theme: {
+ skin: 'a',
+ toolbars: {
+ index: 'ui-navigation-toolbar',
+ pages: 'ui-custom-toolbar'
+ }
+ }
+}
+```
+
+Note that there are really only minor syntactical differences between the Object Literal pattern and a standard JSON data set. If for any reason you wish to use JSON for storing your configurations instead (e.g. for simpler storage when sending to the back-end), feel free to.
+
+For more on the Object Literal pattern, I recommend reading Rebecca Murphey's [excellent article on the topic](http://rmurphey.com/blog/2009/10/15/using-objects-to-organize-your-code).
+
+**Nested namespacing**
+
+An extension of the Object Literal pattern is nested namespacing. It's another common pattern used that offers a lower risk of collision due to the fact that even if a top-level namespace already exists, it's unlikely the same nested children do. For example, Yahoo's YUI uses the nested object namespacing pattern extensively:
+
+```javascript
+YAHOO.util.Dom.getElementsByClassName('test');
+```
+
+Yahoo's YUI uses the nested object namespacing pattern regularly and even DocumentCloud (the creators of Backbone) use the nested namespacing pattern in their main applications. A sample implementation of nested namespacing with Backbone may look like this:
+
+```javascript
+var todoApp = todoApp || {};
+
+// perform similar check for nested children
+todoApp.routers = todoApp.routers || {};
+todoApp.model = todoApp.model || {};
+todoApp.model.special = todoApp.model.special || {};
+
+// routers
+todoApp.routers.Workspace = Backbone.Router.extend({});
+todoApp.routers.TodoSearch = Backbone.Router.extend({});
+
+// models
+todoApp.model.Todo = Backbone.Model.extend({});
+todoApp.model.Notes = Backbone.Model.extend({});
+
+// special models
+todoApp.model.special.Admin = Backbone.Model.extend({});
+```
+
+This is readable, clearly organized, and is a relatively safe way of namespacing your Backbone application. The only real caveat however is that it requires your browser's JavaScript engine to first locate the todoApp object, then dig down until it gets to the function you're calling. However, developers such as Juriy Zaytsev (kangax) have tested and found the performance differences between single object namespacing vs the 'nested' approach to be quite negligible.
+
+**What does DocumentCloud use?**
+
+In case you were wondering, here is the original DocumentCloud (remember those guys that created Backbone?) workspace that uses namespacing in a necessary way. This approach makes sense as their documents (and annotations and document lists) are embedded on third-party news sites.
+
+```javascript
+
+// Provide top-level namespaces for our javascript.
+(function() {
+ window.dc = {};
+ dc.controllers = {};
+ dc.model = {};
+ dc.app = {};
+ dc.ui = {};
+})();
+```
+
+As you can see, they opt for declaring a top-level namespace on the `window` called `dc`, a short-form name of their app, followed by nested namesapces for the controllers, models, UI and other pieces of their application.
+
+**Recommendation**
+
+Reviewing the namespace patterns above, the option that I prefer when writing Backbone applications is nested object namespacing with the object literal pattern.
+
+Single global variables may work fine for applications that are relatively trivial. However, larger codebases requiring both namespaces and deep sub-namespaces require a succinct solution that's both readable and scalable. I feel this pattern achieves both of these objectives and is a good choice for most Backbone development.
+
+
+## Backbone Dependency Details
+
+The following sections provide insight into how Backbone uses jQuery/Zepto and Underscore.js.
+
+### DOM Manipulation
+
+Although most developers won't need it, Backbone does support setting a custom DOM library to be used instead of these options. From the source:
+
+```
+// For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns
+// the `$` variable.
+ Backbone.$ = root.jQuery || root.Zepto || root.ender || root.$;
+```
+
+So, setting `Backbone.$ = myLibrary;` will allow you to use any custom DOM-manipulation library in place of the jQuery default.
+
+### Utilities
+
+Underscore.js is heavily used in Backbone behind the scenes for everything from object extension to event binding. As the entire library is generally included, we get free access to a number of useful utilities we can use on Collections such as filtering `_.filter()`, sorting `_.sortBy()`, mapping `_.map()` and so on.
+
+From the source:
+
+```
+// Underscore methods that we want to implement on the Collection.
+// 90% of the core usefulness of Backbone Collections is actually implemented
+// right here:
+var methods = ['forEach', 'each', 'map', 'collect', 'reduce', 'foldl', 'inject', 'reduceRight', 'foldr', 'find', 'detect', 'filter', 'select', 'reject', 'every', 'all', 'some', 'any', 'include', 'contains', 'invoke', 'max', 'min', 'toArray', 'size', 'first', 'head', 'take', 'initial', 'rest', 'tail', 'drop', 'last', 'without', 'indexOf', 'shuffle', 'lastIndexOf', 'isEmpty', 'chain'];
+
+// Mix in each Underscore method as a proxy to `Collection#models`.
+_.each(methods, function(method) {
+ Collection.prototype[method] = function() {
+ var args = slice.call(arguments);
+ args.unshift(this.models);
+ return _[method].apply(_, args);
+ };
+});
+```
+
+However, for a complete linked list of methods supported, see the [official documentation](http://backbonejs.org/#Collection-Underscore-Methods).
+
+### RESTful persistence
+
+Models and collections in Backbone can be "sync"ed with the server using the `fetch`, `save` and `destroy` methods. All of these methods delegate back to the `Backbone.sync` function, which actually wraps jQuery/Zepto's `$.ajax` function, calling GET, POST and DELETE for the respective persistence methods on Backbone models.
+
+From the the source for `Backbone.sync`:
+
+```
+var methodMap = {
+ 'create': 'POST',
+ 'update': 'PUT',
+ 'patch': 'PATCH',
+ 'delete': 'DELETE',
+ 'read': 'GET'
+};
+
+Backbone.sync = function(method, model, options) {
+ var type = methodMap[method];
+
+ // ... Followed by lots of Backbone.js configuration, then..
+
+ // Make the request, allowing the user to override any Ajax options.
+ var xhr = options.xhr = Backbone.ajax(_.extend(params, options));
+ model.trigger('request', model, xhr, options);
+ return xhr;
+```
+
+### Routing
+
+Calls to `Backbone.History.start` rely on jQuery/Zepto binding `popState` or `hashchange` event listeners back to the window object.
+
+From the source for `Backbone.history.start`:
+
+```
+ // Depending on whether we're using pushState or hashes, and whether
+ // 'onhashchange' is supported, determine how we check the URL state.
+ if (this._hasPushState) {
+ Backbone.$(window)
+ .on('popstate', this.checkUrl);
+ } else if (this._wantsHashChange && ('onhashchange' in window) && !oldIE) {
+ Backbone.$(window)
+ .on('hashchange', this.checkUrl);
+ } else if (this._wantsHashChange) {
+ this._checkUrlInterval = setInterval(this.checkUrl, this.interval);
+ }
+ ...
+```
+
+`Backbone.History.stop` similarly uses your DOM manipulation library to unbind these event listeners.
+
+
+## Backbone Vs. Other Libraries And Frameworks
+
+Backbone is just one of many different solutions available for structuring your application and we're by no means advocating it as the be all and end all. It's served the authors of this book well in building many simple and complex web applications and we hope that it can serve you equally as well. The answer to the question 'Is Backbone better than X?' generally has a lot more to do with what kind of application you're building.
+
+AngularJS and Ember.js are examples of powerful alternatives but differ from Backbone in that there are more opinionated. For some projects this can be useful and for others, perhaps not. The important thing to remember is that there is no library or framework that's going to be the best solution for every use-case and so it's important to learn about the tools at your disposal and decide which one is best on a project-by-project basis.
+
+Choose the right tool for the right job. This is why we recommend spending some time doing a little due diligence. Consider productivity, ease of use, testability, community and documentation. If you're looking for more concrete comparisons between frameworks, read:
+
+* [Journey Through The JavaScript MVC Jungle](http://coding.smashingmagazine.com/2012/07/27/journey-through-the-javascript-mvc-jungle/)
+* [Throne of JS - Seven JavaScript Frameworks](http://blog.stevensanderson.com/2012/08/01/rich-javascript-applications-the-seven-frameworks-throne-of-js-2012/)
+
+The authors behind Backbone.js, AngularJS and Ember have also discussed some of the strengths and weaknesses of their solutions on Quora, StackOverflow and so on:
+
+* [Jeremy Ashkenas on Why Backbone?](http://backbonejs.org/#FAQ-why-backbone)
+* [Tom Dale on Why Ember.js vs. AngularJS](http://www.quora.com/Ember-js/Which-one-of-angular-js-and-ember-js-is-the-better-choice/answer/Tom-Dale)
+* [Brian Ford & Jeremy Ashkenas on Backbone vs. Angular (discussion)](http://www.reddit.com/r/javascript/comments/17h22w/an_introduction_to_angular_for_backbone_developers/)
+
+The solution you opt for may need to support building non-trivial features and could end up being used to maintain the app for years to come so think about things like:
+
+**What is the library/framework really capable of?**
+
+Spend time reviewing both the source code of the framework and official list of features to see how well they fit with your requirements. There will be projects that may require modifying or extending the underlying source and thus make sure that if this might be the case, you’ve performed due diligence on the code.
+Has the framework been proven in production?
+
+i.e Have developers actually built and deployed large applications with it that are publicly accessible? Backbone has a strong portfolio of these (SoundCloud, LinkedIn, Walmart) but not all frameworks do. Ember is used in number of large apps, including the new version of ZenDesk. AngularJS has been used to build the YouTube app for PS3 amongst other places. It’s not only important to know that a framework works in production, but also being able to look at real world code and be inspired by what can be built with it.
+
+**Is the framework mature?**
+
+I generally recommend developers don’t simply “pick one and go with it”. New projects often come with a lot of buzz surrounding their releases but remember to take care when selecting them for use on a production-level app. You don’t want to risk the project being canned, going through major periods of refactoring or other breaking changes that tend to be more carefully planned out when a framework is mature. Mature projects also tend to have more detailed documentation available, either as a part of their official or community-driven docs.
+
+**Is the framework flexible or opinionated?**
+
+Know what flavor you’re after as there are plenty of frameworks available which provide one or the other. Opinionated frameworks lock (or suggest) you to do things in a specific way (theirs). By design they are limiting, but place less emphasis on the developer having to figure out how things should work on their own.
+Have you really played with the framework?
+
+Write a small application without using frameworks and then attempt to refactor your code with a framework to confirm whether it’s easy to work with or not. As much as researching and reading up on code will influence your decision, it’s equally as important to write actual code using the framework to make sure you’re comfortable with the concepts it enforces.
+
+**Does the framework have a comprehensive set of documentation?**
+
+Although demo applications can be useful for reference, you’ll almost always find yourself consulting the official framework docs to find out what its API supports, how common tasks or components can be created with it and what the gotchas worth noting are. Any framework worth it’s salt should have a detailed set of documentation which will help guide developers using it. Without this, you can find yourself heavily relying on IRC channels, groups and self-discovery, which can be fine, but are often overly time-consuming when compared to a great set of docs provided upfront.
+
+**What is the total size of the framework, factoring in minification, gzipping and any modular building that it supports?**
+
+What dependencies does the framework have? Frameworks tend to only list the total filesize of the base library itself, but don’t list the sizes of the library's dependencies. This can mean the difference between opting for a library that initially looks quite small, but could be relatively large if it say, depends on jQuery and other libraries.
+
+**Have you reviewed the community around the framework?**
+
+Is there an active community of project contributors and users who would be able to assist if you run into issues? Have enough developers been using the framework that there are existing reference applications, tutorials and maybe even screencasts that you can use to learn more about it?
+
+
+---
+Where relevant, copyright Addy Osmani, 2012-2013.
diff --git a/chapters/16-resources.md b/chapters/16-resources.md
new file mode 100644
index 00000000..ddf2e271
--- /dev/null
+++ b/chapters/16-resources.md
@@ -0,0 +1,25 @@
+# Resources
+
+## Books & Courses
+
+* [PeepCode: Backbone.js Basics](https://peepcode.com/products/backbone-js)
+* [CodeSchool: Anatomy Of Backbone](http://www.codeschool.com/courses/anatomy-of-backbonejs)
+* [Recipes With Backbone](http://recipeswithbackbone.com/)
+* [Backbone Patterns](http://ricostacruz.com/backbone-patterns/)
+* [Backbone On Rails](https://learn.thoughtbot.com/products/1-backbone-js-on-rails)
+* [MVC In JavaScript With Backbone](https://github.com/Integralist/Blog-Posts/blob/master/2012-08-16-MVC-in-JavaScript-with-Backbone.md)
+* [Backbone Tutorials](http://backbonetutorials.com/)
+* [Derick Bailey's Resources For Learning Backbone](http://lostechies.com/derickbailey/2011/09/13/resources-for-and-how-i-learned-backbone-js/)
+
+## Extensions/Libraries
+
+* [MarionetteJS](http://marionettejs.com/)
+* [AuraJS](https://github.com/aurajs/aura)
+* [Thorax](http://thoraxjs.org)
+* [Lumbar](http://walmartlabs.github.com/lumbar)
+* [Backbone Layout Manager](https://github.com/tbranyen/backbone.layoutmanager)
+* [Backbone Boilerplate](https://github.com/backbone-boilerplate/backbone-boilerplate)
+* [Backbone.ModelBinder](https://github.com/theironcook/Backbone.ModelBinder)
+* [Backbone Relational - for model relationships](https://github.com/PaulUithol/Backbone-relational)
+* [Backbone CouchDB](https://github.com/janmonschke/backbone-couchdb)
+* [Backbone Validations - HTML5 inspired validations](https://github.com/n-time/backbone.validations)
diff --git a/chapters/17-conclusions.md b/chapters/17-conclusions.md
new file mode 100644
index 00000000..81c0b059
--- /dev/null
+++ b/chapters/17-conclusions.md
@@ -0,0 +1,25 @@
+# Conclusions
+
+I hope that you've found this introduction to Backbone.js of value. What you've hopefully learned is that while building a JavaScript-heavy application using nothing more than a DOM manipulation library (such as jQuery) is certainly a possible feat, it is difficult to build anything non-trivial without any formal structure in place. Your nested pile of jQuery callbacks and DOM elements are unlikely to scale and they can be very difficult to maintain as your application grows.
+
+The beauty of Backbone.js is it's simplicity. It's very small given the functionality and flexibility it provides, which is evident if you begin to study the Backbone.js source. In the words of Jeremy Ashkenas, "The essential premise at the heart of Backbone has always been to try and discover the minimal set of data-structuring (Models and Collections) and user interface (Views and URLs) primitives that are useful when building web applications with JavaScript." It just helps you improve the structure of your applications, helping you better separate concerns. There isn't anything more to it than that.
+
+Backbone offers Models with key-value bindings and events, Collections with an API of rich enumerable methods, declarative Views with event handling and a simple way to connect an existing API to your client-side application over a RESTful JSON interface. Use it and you can abstract away data into sane models and your DOM manipulation into views, binding them together using nothing more than events.
+
+Almost any developer working on JavaScript applications for a while will ultimately create a similar solution on their own if they value architecture and maintainability. The alternative to using it or something similar is rolling your own - often a process that involves glueing together a diverse set of libraries that weren't built to work together. You might use jQuery BBQ for history management and Handlebars for templating, while writing abstracts for organizing and testing code by yourself.
+
+Contrast this with Backbone, which has [literate](http://en.wikipedia.org/wiki/Literate_programming) [documentation](http://backbonejs.org/docs/backbone.html) of the source code, a thriving community of both users and hackers, and a large number of questions about it asked and answered daily on sites like [Stack Overflow](http://stackoverflow.com/search?q=backbone). Rather than re-inventing the wheel there are many advantages to structuring your application using a solution based on the collective knowledge and experience of an entire community.
+
+In addition to helping provide sane structure to your applications, Backbone is highly extensible supporting more custom architecture should you require more than what is prescribed out of the box. This is evident by the number of extensions and plugins which have been released for it over the past year, including those which we have touched upon such as MarionetteJS and Thorax.
+
+These days Backbone.js powers many complex web applications, ranging from the LinkedIn [mobile app](http://touch.www.linkedin.com/mobile.html) to popular RSS readers such as [NewsBlur](http://newsblur.com) through to social commentary widgets such as [Disqus](http://disqus.com/). This small library of simple, but sane abstractions has helped to create a new generation of rich web applications, and I and my collaborators hope that in time it can help you too.
+
+If you're wondering whether it is worth using Backbone on a project, ask yourself whether what you are building is complex enough to merit using it. Are you hitting the limits of your ability to organize your code? Will your application have regular changes to what is displayed in the UI without a trip back to the server for new pages? Would you benefit from a separation of concerns? If so, a solution like Backbone may be able to help.
+
+Google's GMail is often cited as an example of a well built single-page app. If you've used it, you might have noticed that it requests a large initial chunk, representing most of the JavaScript, CSS and HTML most users will need and everything extra needed after that occurs in the background. GMail can easily switch between your inbox to your spam folder without needing the whole page to be re-rendered. Libraries like Backbone make it easier for web developers to create experiences like this.
+
+That said, Backbone won't be able to help if you're planning on building something which isn't worth the learning curve associated with a library. If your application or site will still be using the server to do the heavy lifting of constructing and serving complete pages to the browser, you may find just using plain JavaScript or jQuery for simple effects or interactions to be more appropriate. Spend time assessing how suitable Backbone might be for you and make the right choice on a per-project basis.
+
+Backbone is neither difficult to learn nor use, however the time and effort you spend learning how to structure applications using it will be well worth it. While reading this book will equip you with the fundamentals needed to understand the library, the best way to learn is to try building your own real-world applications. You will hopefully find that the end product is cleaner, better organized and more maintainable code.
+
+With that, I wish you the very best with your onward journey into the world of Backbone and will leave you with a quote from American writer [Henry Miller](http://en.wikipedia.org/wiki/Henry_Miller) - “One’s destination is never a place, but a new way of seeing things.”
diff --git a/chapters/18-appendix.md b/chapters/18-appendix.md
new file mode 100644
index 00000000..32e96e23
--- /dev/null
+++ b/chapters/18-appendix.md
@@ -0,0 +1,670 @@
+# Appendix
+
+## A Simple JavaScript MVC Implementation
+
+A comprehensive discussion of Backbone's implementation is beyond the scope of this book. We can, however, present a simple MVC library - which we will call Cranium.js - that illustrates how frameworks such as Backbone implement the MVC pattern.
+
+Like Backbone, we will rely on [Underscore](http://underscorejs.org "Underscore.js") for inheritance and templating.
+
+### Event System
+
+At the heart of our JavaScript MVC implementation is an `Event` system (object) based on the Publisher-Subscriber Pattern which makes it possible for MVC components to communicate in an elegant, decoupled manner. Subscribers 'listen' for specific events of interest and react when Publishers broadcast these events.
+
+`Event` is mixed into both the View and Model components so that instances of either of these components can publish events of interest.
+
+```javascript
+// cranium.js - Cranium.Events
+
+var Cranium = Cranium || {};
+
+// Set DOM selection utility
+var $ = document.querySelector.bind(document) || this.jQuery || this.Zepto;
+
+// Mix in to any object in order to provide it with custom events.
+var Events = Cranium.Events = {
+ // Keeps list of events and associated listeners
+ channels: {},
+
+ // Counter
+ eventNumber: 0,
+
+ // Announce events and passes data to the listeners;
+ trigger: function (events, data) {
+ for (var topic in Cranium.Events.channels){
+ if (Cranium.Events.channels.hasOwnProperty(topic)) {
+ if (topic.split("-")[0] == events){
+ Cranium.Events.channels[topic](data) !== false || delete Cranium.Events.channels[topic];
+ }
+ }
+ }
+ },
+ // Registers an event type and its listener
+ on: function (events, callback) {
+ Cranium.Events.channels[events + --Cranium.Events.eventNumber] = callback;
+ },
+ // Unregisters an event type and its listener
+ off: function(topic) {
+ delete Cranium.Events.channels[topic];
+ }
+};
+```
+
+The Event system makes it possible for:
+
+* a View to notify its subscribers of user interaction (e.g., clicks or input in a form), to update/re-render its presentation, etc.
+* a Model whose data has changed to notify its Subscribers to update themselves (e.g., view to re-render to show accurate/updated data), etc.
+
+### Models
+
+Models manage the (domain-specific) data for an application. They are concerned with neither the user-interface nor presentation layers, but instead represent structured data that an application may require. When a model changes (e.g when it is updated), it will typically notify its observers (Subscribers) that a change has occurred so that they may react accordingly.
+
+Let's see a simple implementation of the Model:
+
+```javascript
+// cranium.js - Cranium.Model
+
+// Attributes represents data, model's properties.
+// These are to be passed at Model instantiation.
+// Also we are creating id for each Model instance
+// so that it can identify itself (e.g. on chage
+// announcements)
+var Model = Cranium.Model = function (attributes) {
+ this.id = _.uniqueId('model');
+ this.attributes = attributes || {};
+};
+
+// Getter (accessor) method;
+// returns named data item
+Cranium.Model.prototype.get = function(attrName) {
+ return this.attributes[attrName];
+};
+
+// Setter (mutator) method;
+// Set/mix in into model mapped data (e.g.{name: "John"})
+// and publishes the change event
+Cranium.Model.prototype.set = function(attrs){
+ if (_.isObject(attrs)) {
+ _.extend(this.attributes, attrs);
+ this.change(this.attributes);
+ }
+ return this;
+};
+
+// Returns clone of the Models data object
+// (used for view template rendering)
+Cranium.Model.prototype.toJSON = function(options) {
+ return _.clone(this.attributes);
+};
+
+// Helper function that announces changes to the Model
+// and passes the new data
+Cranium.Model.prototype.change = function(attrs){
+ this.trigger(this.id + 'update', attrs);
+};
+
+// Mix in Event system
+_.extend(Cranium.Model.prototype, Cranium.Events);
+```
+
+### Views
+
+Views are a visual representation of models that present a filtered view of their current state. A view typically observes a model and is notified when the model changes, allowing the view to update itself accordingly. Design pattern literature commonly refers to views as 'dumb', given that their knowledge of models and controllers in an application is limited.
+
+Let's explore Views a little further using a simple JavaScript example:
+
+```javascript
+// DOM View
+var View = Cranium.View = function (options) {
+ // Mix in options object (e.g extending functionallity)
+ _.extend(this, options);
+ this.id = _.uniqueId('view');
+};
+
+// Mix in Event system
+_.extend(Cranium.View.prototype, Cranium.Events);
+```
+
+### Controllers
+
+Controllers are an intermediary between models and views which are classically responsible for two tasks:
+
+* they update the view when the model changes
+* they update the model when the user manipulates the view
+
+```javascript
+// cranium.js - Cranium.Controller
+
+// Controller tying together a model and view
+var Controller = Cranium.Controller = function(options){
+ // Mix in options object (e.g extending functionallity)
+ _.extend(this, options);
+ this.id = _.uniqueId('controller');
+ var parts, selector, eventType;
+
+ // Parses Events object passed during the definition of the
+ // controller and maps it to the defined method to handle it;
+ if(this.events){
+ _.each(this.events, function(method, eventName){
+ parts = eventName.split('.');
+ selector = parts[0];
+ eventType = parts[1];
+ $(selector)['on' + eventType] = this[method];
+ }.bind(this));
+ }
+};
+```
+
+### Practical Usage
+
+HTML template for the primer that follows:
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+Cranium.js usage:
+
+```javascript
+
+// example.js - usage of Cranium MVC
+
+// And todo instance
+var todo1 = new Cranium.Model({
+ title: "",
+ completed: ""
+});
+
+console.log("First todo title - nothing set: " + todo1.get('title'));
+todo1.set({title: "Do something"});
+console.log("Its changed now: " + todo1.get('title'));
+''
+// View instance
+var todoView = new Cranium.View({
+ // DOM element selector
+ el: '#todo',
+
+ // Todo template; Underscore temlating used
+ template: _.template($('.todo-template').innerHTML),
+
+ init: function (model) {
+ this.render( model.toJSON() );
+
+ this.on(model.id + 'update', this.render.bind(this));
+ },
+ render: function (data) {
+ console.log("View about to render.");
+ $(this.el).innerHTML = this.template( data );
+ }
+});
+
+var todoController = new Cranium.Controller({
+ // Specify the model to update
+ model: todo1,
+
+ // and the view to observe this model
+ view: todoView,
+
+ events: {
+ "#todo.click" : "toggleComplete"
+ },
+
+ // Initialize everything
+ initialize: function () {
+ this.view.init(this.model);
+ return this;
+ },
+ // Toggles the value of the todo in the Model
+ toggleComplete: function () {
+ var completed = todoController.model.get('completed');
+ console.log("Todo old 'completed' value?", completed);
+ todoController.model.set({ completed: (!completed) ? 'checked': '' });
+ console.log("Todo new 'completed' value?", todoController.model.get('completed'));
+ return this;
+ }
+});
+
+
+// Let's kick start things off
+todoController.initialize();
+
+todo1.set({ title: "Due to this change Model will notify View and it will re-render"});
+
+```
+
+Samuel Clay, one of the authors of the first version of Backbone.js says of cranium.js: "Unsurprisingly, it looks a whole lot like the beginnings of Backbone. Views are dumb, so they get very little boilerplate and setup. Models are responsible for their attributes and announcing changes to those models."
+
+I hope you've found this implementation helpful in understanding how one would go about writing their own library like Backbone from scratch, but moreso that it encourages you to take advantage of mature existing solutions where possible but never be afraid to explore deeper down into what makes them tick.
+
+## MVP
+
+Model-View-Presenter (MVP) is a derivative of the MVC design pattern which focuses on improving presentation logic. It originated at a company named [Taligent](http://en.wikipedia.org/wiki/Taligent) in the early 1990s while they were working on a model for a C++ CommonPoint environment. Whilst both MVC and MVP target the separation of concerns across multiple components, there are some fundamental differences between them.
+
+For the purposes of this summary we will focus on the version of MVP most suitable for web-based architectures.
+
+### Models, Views & Presenters
+
+The P in MVP stands for presenter. It's a component which contains the user-interface business logic for the view. Unlike MVC, invocations from the view are delegated to the presenter, which are decoupled from the view and instead talk to it through an interface. This allows for all kinds of useful things such as being able to mock views in unit tests.
+
+The most common implementation of MVP is one which uses a Passive View (a view which is for all intents and purposes "dumb"), containing little to no logic. MVP models are almost identical to MVC models and handle application data. The presenter acts as a mediator which talks to both the view and model, however both of these are isolated from each other. They effectively bind models to views, a responsibility held by Controllers in MVC. Presenters are at the heart of the MVP pattern and as you can guess, incorporate the presentation logic behind views.
+
+Solicited by a view, presenters perform any work to do with user requests and pass data back to them. In this respect, they retrieve data, manipulate it and determine how the data should be displayed in the view. In some implementations, the presenter also interacts with a service layer to persist data (models). Models may trigger events but it's the presenter's role to subscribe to them so that it can update the view. In this passive architecture, we have no concept of direct data binding. Views expose setters which presenters can use to set data.
+
+The benefit of this change from MVC is that it increases the testability of your application and provides a more clean separation between the view and the model. This isn't however without its costs as the lack of data binding support in the pattern can often mean having to take care of this task separately.
+
+Although a common implementation of a [Passive View](http://martinfowler.com/eaaDev/PassiveScreen.html) is for the view to implement an interface, there are variations on it, including the use of events which can decouple the View from the Presenter a little more. As we don't have the interface construct in JavaScript, we're using it more and more as a protocol than an explicit interface here. It's technically still an API and it's probably fair for us to refer to it as an interface from that perspective.
+
+
+There is also a [Supervising Controller](http://martinfowler.com/eaaDev/SupervisingPresenter.html) variation of MVP, which is closer to the MVC and [MVVM - Model-View-ViewModel](http://en.wikipedia.org/wiki/Model_View_ViewModel) patterns as it provides data-binding from the Model directly from the View. Key-value observing (KVO) plugins (such as Derick Bailey's Backbone.ModelBinding plugin) introduce this idea of a Supervising Controller to Backbone.
+
+
+## MVP or MVC?
+
+MVP is generally used most often in enterprise-level applications where it's necessary to reuse as much presentation logic as possible. Applications with very complex views and a great deal of user interaction may find that MVC doesn't quite fit the bill here as solving this problem may mean heavily relying on multiple controllers. In MVP, all of this complex logic can be encapsulated in a presenter, which can simplify maintenance greatly.
+
+As MVP views are defined through an interface and the interface is technically the only point of contact between the system and the view (other than a presenter), this pattern also allows developers to write presentation logic without needing to wait for designers to produce layouts and graphics for the application.
+
+Depending on the implementation, MVP may be more easy to automatically unit test than MVC. The reason often cited for this is that the presenter can be used as a complete mock of the user-interface and so it can be unit tested independent of other components. In my experience this really depends on the languages you are implementing MVP in (there's quite a difference between opting for MVP for a JavaScript project over one for say, ASP.NET).
+
+At the end of the day, the underlying concerns you may have with MVC will likely hold true for MVP given that the differences between them are mainly semantic. As long as you are cleanly separating concerns into models, views and controllers (or presenters) you should be achieving most of the same benefits regardless of the pattern you opt for.
+
+## MVC, MVP and Backbone.js
+
+There are very few, if any architectural JavaScript frameworks that claim to implement the MVC or MVP patterns in their classical form as many JavaScript developers don't view MVC and MVP as being mutually exclusive (we are actually more likely to see MVP strictly implemented when looking at web frameworks such as ASP.NET or GWT). This is because it's possible to have additional presenter/view logic in your application and yet still consider it a flavor of MVC.
+
+Backbone contributor [Irene Ros](http://ireneros.com/) subscribes to this way of thinking as when she separates Backbone views out into their own distinct components, she needs something to actually assemble them for her. This could either be a controller route (such as a ```Backbone.Router```) or a callback in response to data being fetched.
+
+That said, some developers do however feel that Backbone.js better fits the description of MVP than it does MVC
+. Their view is that:
+
+* The presenter in MVP better describes the ```Backbone.View``` (the layer between View templates and the data bound to it) than a controller does
+* The model fits ```Backbone.Model``` (it isn't that different from the classical MVC "Model")
+* The views best represent templates (e.g Handlebars/Mustache markup templates)
+
+A response to this could be that the view can also just be a View (as per MVC) because Backbone is flexible enough to let it be used for multiple purposes. The V in MVC and the P in MVP can both be accomplished by ```Backbone.View``` because they're able to achieve two purposes: both rendering atomic components and assembling those components rendered by other views.
+
+We've also seen that in Backbone the responsibility of a controller is shared with both the Backbone.View and Backbone.Router and in the following example we can actually see that aspects of that are certainly true.
+
+Here, our Backbone ```TodoView``` uses the Observer pattern to 'subscribe' to changes to a View's model in the line ```this.model.on('change',...)```. It also handles templating in the ```render()``` method, but unlike some other implementations, user interaction is also handled in the View (see ```events```).
+
+
+```javascript
+// The DOM element for a todo item...
+app.TodoView = Backbone.View.extend({
+
+ //... is a list tag.
+ tagName: 'li',
+
+ // Pass the contents of the todo template through a templating
+ // function, cache it for a single todo
+ template: _.template( $('#item-template').html() ),
+
+ // The DOM events specific to an item.
+ events: {
+ 'click .toggle': 'togglecompleted'
+ },
+
+ // The TodoView listens for changes to its model, re-rendering. Since there's
+ // a one-to-one correspondence between a **Todo** and a **TodoView** in this
+ // app, we set a direct reference on the model for convenience.
+ initialize: function() {
+ this.model.on( 'change', this.render, this );
+ this.model.on( 'destroy', this.remove, this );
+ },
+
+ // Re-render the titles of the todo item.
+ render: function() {
+ this.$el.html( this.template( this.model.toJSON() ) );
+ return this;
+ },
+
+ // Toggle the `"completed"` state of the model.
+ togglecompleted: function() {
+ this.model.toggle();
+ },
+});
+```
+
+Another (quite different) opinion is that Backbone more closely resembles [Smalltalk-80 MVC](http://martinfowler.com/eaaDev/uiArchs.html#ModelViewController), which we went through earlier.
+
+As MarionetteJS author Derick Bailey has [written](http://lostechies.com/derickbailey/2011/12/23/backbone-js-is-not-an-mvc-framework/), it's ultimately best not to force Backbone to fit any specific design patterns. Design patterns should be considered flexible guides to how applications may be structured and in this respect, Backbone doesn't fit either MVC nor MVP perfectly. Instead, it borrows some of the best concepts from multiple architectural patterns and creates a flexible framework that just works well. Call it **the Backbone way**, MV* or whatever helps reference its flavor of application architecture.
+
+It *is* however worth understanding where and why these concepts originated, so I hope that my explanations of MVC and MVP have been of help. Most structural JavaScript frameworks will adopt their own take on classical patterns, either intentionally or by accident, but the important thing is that they help us develop applications which are organized, clean and can be easily maintained.
+
+## Namespacing
+
+When learning how to use Backbone, an important and commonly overlooked area by tutorials is namespacing. If you already have experience with namespacing in JavaScript, the following section will provide some advice on how to specifically apply concepts you know to Backbone, however I will also be covering explanations for beginners to ensure everyone is on the same page.
+
+#### What is namespacing?
+
+Namespacing is a way to avoid collisions with other objects or variables in the global namespace. Using namespacing reduces the potential of your code breaking because another script on the page is using the same variable names that you are. As a good 'citizen' of the global namespace, it's also imperative that you do your best to minimize the possibility of your code breaking other developer's scripts.
+
+JavaScript doesn't really have built-in support for namespaces like other languages, however it does have closures which can be used to achieve a similar effect.
+
+In this section we'll be taking a look shortly at some examples of how you can namespace your models, views, routers and other components. The patterns we'll be examining are:
+
+* Single global variables
+* Object Literals
+* Nested namespacing
+
+**Single global variables**
+
+One popular pattern for namespacing in JavaScript is opting for a single global variable as your primary object of reference. A skeleton implementation of this where we return an object with functions and properties can be found below:
+
+```javascript
+var myApplication = (function(){
+ function(){
+ // ...
+ },
+ return {
+ // ...
+ }
+})();
+```
+
+You've probably seen this technique before. A Backbone-specific example might look like this:
+
+```javascript
+var myViews = (function(){
+ return {
+ TodoView: Backbone.View.extend({ .. }),
+ TodosView: Backbone.View.extend({ .. }),
+ AboutView: Backbone.View.extend({ .. });
+ //etc.
+ };
+})();
+```
+
+Here we can return a set of views, but the same technique could return an entire collection of models, views and routers depending on how you decide to structure your application. Although this works for certain situations, the biggest challenge with the single global variable pattern is ensuring that no one else has used the same global variable name as you have in the page.
+
+One solution to this problem, as mentioned by Peter Michaux, is to use prefix namespacing. It's a simple concept at heart, but the idea is you select a common prefix name (in this example, `myApplication_`) and then define any methods, variables or other objects after the prefix.
+
+```javascript
+var myApplication_todoView = Backbone.View.extend({}),
+ myApplication_todosView = Backbone.View.extend({});
+```
+
+This is effective from the perspective of trying to lower the chances of a particular variable existing in the global scope, but remember that a uniquely named object can have the same effect. This aside, the biggest issue with the pattern is that it can result in a large number of global objects once your application starts to grow.
+
+For more on Peter's views about the single global variable pattern, read his [excellent post on them](http://michaux.ca/articles/javascript-namespacing).
+
+Note: There are several other variations on the single global variable pattern out in the wild, however having reviewed quite a few, I felt the prefixing approach applied best to Backbone.
+
+**Object Literals**
+
+Object Literals have the advantage of not polluting the global namespace but assist in organizing code and parameters logically. They're beneficial if you wish to create easily readable structures that can be expanded to support deep nesting. Unlike simple global variables, Object Literals often also take into account tests for the existence of a variable by the same name, which helps reduce the chances of collision.
+
+This example demonstrates two ways you can check to see if a namespace already exists before defining it. I commonly use Option 2.
+
+```javascript
+/* Doesn't check for existence of myApplication */
+var myApplication = {};
+
+/*
+Does check for existence. If already defined, we use that instance.
+Option 1: if(!myApplication) myApplication = {};
+Option 2: var myApplication = myApplication || {};
+We can then populate our object literal to support models, views and collections (or any data, really):
+*/
+
+var myApplication = {
+ models : {},
+ views : {
+ pages : {}
+ },
+ collections : {}
+};
+```
+
+One can also opt for adding properties directly to the namespace (such as your views, in the following example):
+
+```javascript
+var myTodosViews = myTodosViews || {};
+myTodosViews.todoView = Backbone.View.extend({});
+myTodosViews.todosView = Backbone.View.extend({});
+```
+
+The benefit of this pattern is that you're able to easily encapsulate all of your models, views, routers etc. in a way that clearly separates them and provides a solid foundation for extending your code.
+
+This pattern has a number of benefits. It's often a good idea to decouple the default configuration for your application into a single area that can be easily modified without the need to search through your entire codebase just to alter it. Here's an example of a hypothetical object literal that stores application configuration settings:
+
+
+```javascript
+var myConfig = {
+ language: 'english',
+ defaults: {
+ enableDelegation: true,
+ maxTodos: 40
+ },
+ theme: {
+ skin: 'a',
+ toolbars: {
+ index: 'ui-navigation-toolbar',
+ pages: 'ui-custom-toolbar'
+ }
+ }
+}
+```
+
+Note that there are really only minor syntactical differences between the Object Literal pattern and a standard JSON data set. If for any reason you wish to use JSON for storing your configurations instead (e.g. for simpler storage when sending to the back-end), feel free to.
+
+For more on the Object Literal pattern, I recommend reading Rebecca Murphey's [excellent article on the topic](http://rmurphey.com/blog/2009/10/15/using-objects-to-organize-your-code).
+
+**Nested namespacing**
+
+An extension of the Object Literal pattern is nested namespacing. It's another common pattern used that offers a lower risk of collision due to the fact that even if a top-level namespace already exists, it's unlikely the same nested children do. For example, Yahoo's YUI uses the nested object namespacing pattern extensively:
+
+```javascript
+YAHOO.util.Dom.getElementsByClassName('test');
+```
+
+Yahoo's YUI uses the nested object namespacing pattern regularly and even DocumentCloud (the creators of Backbone) use the nested namespacing pattern in their main applications. A sample implementation of nested namespacing with Backbone may look like this:
+
+```javascript
+var todoApp = todoApp || {};
+
+// perform similar check for nested children
+todoApp.routers = todoApp.routers || {};
+todoApp.model = todoApp.model || {};
+todoApp.model.special = todoApp.model.special || {};
+
+// routers
+todoApp.routers.Workspace = Backbone.Router.extend({});
+todoApp.routers.TodoSearch = Backbone.Router.extend({});
+
+// models
+todoApp.model.Todo = Backbone.Model.extend({});
+todoApp.model.Notes = Backbone.Model.extend({});
+
+// special models
+todoApp.model.special.Admin = Backbone.Model.extend({});
+```
+
+This is readable, clearly organized, and is a relatively safe way of namespacing your Backbone application. The only real caveat however is that it requires your browser's JavaScript engine to first locate the todoApp object, then dig down until it gets to the function you're calling. However, developers such as Juriy Zaytsev (kangax) have tested and found the performance differences between single object namespacing vs the 'nested' approach to be quite negligible.
+
+**What does DocumentCloud use?**
+
+In case you were wondering, here is the original DocumentCloud (remember those guys that created Backbone?) workspace that uses namespacing in a necessary way. This approach makes sense as their documents (and annotations and document lists) are embedded on third-party news sites.
+
+```javascript
+
+// Provide top-level namespaces for our javascript.
+(function() {
+ window.dc = {};
+ dc.controllers = {};
+ dc.model = {};
+ dc.app = {};
+ dc.ui = {};
+})();
+```
+
+As you can see, they opt for declaring a top-level namespace on the `window` called `dc`, a short-form name of their app, followed by nested namesapces for the controllers, models, UI and other pieces of their application.
+
+**Recommendation**
+
+Reviewing the namespace patterns above, the option that I prefer when writing Backbone applications is nested object namespacing with the object literal pattern.
+
+Single global variables may work fine for applications that are relatively trivial. However, larger codebases requiring both namespaces and deep sub-namespaces require a succinct solution that's both readable and scalable. I feel this pattern achieves both of these objectives and is a good choice for most Backbone development.
+
+
+## Backbone Dependency Details
+
+The following sections provide insight into how Backbone uses jQuery/Zepto and Underscore.js.
+
+### DOM Manipulation
+
+Although most developers won't need it, Backbone does support setting a custom DOM library to be used instead of these options. From the source:
+
+```
+// For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns
+// the `$` variable.
+ Backbone.$ = root.jQuery || root.Zepto || root.ender || root.$;
+```
+
+So, setting `Backbone.$ = myLibrary;` will allow you to use any custom DOM-manipulation library in place of the jQuery default.
+
+### Utilities
+
+Underscore.js is heavily used in Backbone behind the scenes for everything from object extension to event binding. As the entire library is generally included, we get free access to a number of useful utilities we can use on Collections such as filtering `_.filter()`, sorting `_.sortBy()`, mapping `_.map()` and so on.
+
+From the source:
+
+```
+// Underscore methods that we want to implement on the Collection.
+// 90% of the core usefulness of Backbone Collections is actually implemented
+// right here:
+var methods = ['forEach', 'each', 'map', 'collect', 'reduce', 'foldl', 'inject', 'reduceRight', 'foldr', 'find', 'detect', 'filter', 'select', 'reject', 'every', 'all', 'some', 'any', 'include', 'contains', 'invoke', 'max', 'min', 'toArray', 'size', 'first', 'head', 'take', 'initial', 'rest', 'tail', 'drop', 'last', 'without', 'indexOf', 'shuffle', 'lastIndexOf', 'isEmpty', 'chain'];
+
+// Mix in each Underscore method as a proxy to `Collection#models`.
+_.each(methods, function(method) {
+ Collection.prototype[method] = function() {
+ var args = slice.call(arguments);
+ args.unshift(this.models);
+ return _[method].apply(_, args);
+ };
+});
+```
+
+However, for a complete linked list of methods supported, see the [official documentation](http://backbonejs.org/#Collection-Underscore-Methods).
+
+### RESTful persistence
+
+Models and collections in Backbone can be "sync"ed with the server using the `fetch`, `save` and `destroy` methods. All of these methods delegate back to the `Backbone.sync` function, which actually wraps jQuery/Zepto's `$.ajax` function, calling GET, POST and DELETE for the respective persistence methods on Backbone models.
+
+From the the source for `Backbone.sync`:
+
+```
+var methodMap = {
+ 'create': 'POST',
+ 'update': 'PUT',
+ 'patch': 'PATCH',
+ 'delete': 'DELETE',
+ 'read': 'GET'
+};
+
+Backbone.sync = function(method, model, options) {
+ var type = methodMap[method];
+
+ // ... Followed by lots of Backbone.js configuration, then..
+
+ // Make the request, allowing the user to override any Ajax options.
+ var xhr = options.xhr = Backbone.ajax(_.extend(params, options));
+ model.trigger('request', model, xhr, options);
+ return xhr;
+```
+
+### Routing
+
+Calls to `Backbone.History.start` rely on jQuery/Zepto binding `popState` or `hashchange` event listeners back to the window object.
+
+From the source for `Backbone.history.start`:
+
+```
+ // Depending on whether we're using pushState or hashes, and whether
+ // 'onhashchange' is supported, determine how we check the URL state.
+ if (this._hasPushState) {
+ Backbone.$(window)
+ .on('popstate', this.checkUrl);
+ } else if (this._wantsHashChange && ('onhashchange' in window) && !oldIE) {
+ Backbone.$(window)
+ .on('hashchange', this.checkUrl);
+ } else if (this._wantsHashChange) {
+ this._checkUrlInterval = setInterval(this.checkUrl, this.interval);
+ }
+ ...
+```
+
+`Backbone.History.stop` similarly uses your DOM manipulation library to unbind these event listeners.
+
+
+## Backbone Vs. Other Libraries And Frameworks
+
+Backbone is just one of many different solutions available for structuring your application and we're by no means advocating it as the be all and end all. It's served the authors of this book well in building many simple and complex web applications and we hope that it can serve you equally as well. The answer to the question 'Is Backbone better than X?' generally has a lot more to do with what kind of application you're building.
+
+AngularJS and Ember.js are examples of powerful alternatives but differ from Backbone in that there are more opinionated. For some projects this can be useful and for others, perhaps not. The important thing to remember is that there is no library or framework that's going to be the best solution for every use-case and so it's important to learn about the tools at your disposal and decide which one is best on a project-by-project basis.
+
+Choose the right tool for the right job. This is why we recommend spending some time doing a little due diligence. Consider productivity, ease of use, testability, community and documentation. If you're looking for more concrete comparisons between frameworks, read:
+
+* [Journey Through The JavaScript MVC Jungle](http://coding.smashingmagazine.com/2012/07/27/journey-through-the-javascript-mvc-jungle/)
+* [Throne of JS - Seven JavaScript Frameworks](http://blog.stevensanderson.com/2012/08/01/rich-javascript-applications-the-seven-frameworks-throne-of-js-2012/)
+
+The authors behind Backbone.js, AngularJS and Ember have also discussed some of the strengths and weaknesses of their solutions on Quora, StackOverflow and so on:
+
+* [Jeremy Ashkenas on Why Backbone?](http://backbonejs.org/#FAQ-why-backbone)
+* [Tom Dale on Why Ember.js vs. AngularJS](http://www.quora.com/Ember-js/Which-one-of-angular-js-and-ember-js-is-the-better-choice/answer/Tom-Dale)
+* [Brian Ford & Jeremy Ashkenas on Backbone vs. Angular (discussion)](http://www.reddit.com/r/javascript/comments/17h22w/an_introduction_to_angular_for_backbone_developers/)
+
+The solution you opt for may need to support building non-trivial features and could end up being used to maintain the app for years to come so think about things like:
+
+**What is the library/framework really capable of?**
+
+Spend time reviewing both the source code of the framework and official list of features to see how well they fit with your requirements. There will be projects that may require modifying or extending the underlying source and thus make sure that if this might be the case, you’ve performed due diligence on the code.
+Has the framework been proven in production?
+
+i.e Have developers actually built and deployed large applications with it that are publicly accessible? Backbone has a strong portfolio of these (SoundCloud, LinkedIn, Walmart) but not all frameworks do. Ember is used in number of large apps, including the new version of ZenDesk. AngularJS has been used to build the YouTube app for PS3 amongst other places. It’s not only important to know that a framework works in production, but also being able to look at real world code and be inspired by what can be built with it.
+
+**Is the framework mature?**
+
+I generally recommend developers don’t simply “pick one and go with it”. New projects often come with a lot of buzz surrounding their releases but remember to take care when selecting them for use on a production-level app. You don’t want to risk the project being canned, going through major periods of refactoring or other breaking changes that tend to be more carefully planned out when a framework is mature. Mature projects also tend to have more detailed documentation available, either as a part of their official or community-driven docs.
+
+**Is the framework flexible or opinionated?**
+
+Know what flavor you’re after as there are plenty of frameworks available which provide one or the other. Opinionated frameworks lock (or suggest) you to do things in a specific way (theirs). By design they are limiting, but place less emphasis on the developer having to figure out how things should work on their own.
+Have you really played with the framework?
+
+Write a small application without using frameworks and then attempt to refactor your code with a framework to confirm whether it’s easy to work with or not. As much as researching and reading up on code will influence your decision, it’s equally as important to write actual code using the framework to make sure you’re comfortable with the concepts it enforces.
+
+**Does the framework have a comprehensive set of documentation?**
+
+Although demo applications can be useful for reference, you’ll almost always find yourself consulting the official framework docs to find out what its API supports, how common tasks or components can be created with it and what the gotchas worth noting are. Any framework worth it’s salt should have a detailed set of documentation which will help guide developers using it. Without this, you can find yourself heavily relying on IRC channels, groups and self-discovery, which can be fine, but are often overly time-consuming when compared to a great set of docs provided upfront.
+
+**What is the total size of the framework, factoring in minification, gzipping and any modular building that it supports?**
+
+What dependencies does the framework have? Frameworks tend to only list the total filesize of the base library itself, but don’t list the sizes of the library's dependencies. This can mean the difference between opting for a library that initially looks quite small, but could be relatively large if it say, depends on jQuery and other libraries.
+
+**Have you reviewed the community around the framework?**
+
+Is there an active community of project contributors and users who would be able to assist if you run into issues? Have enough developers been using the framework that there are existing reference applications, tutorials and maybe even screencasts that you can use to learn more about it?
+
+
+---
+Where relevant, copyright Addy Osmani, 2012-2013.
diff --git a/epub.css b/epub.css
new file mode 100644
index 00000000..26cc1955
--- /dev/null
+++ b/epub.css
@@ -0,0 +1,157 @@
+html, body, div, span,
+h1, h2, h3, h4, h5, h6,
+p, a, em, strong, b, u, i, pre, code, del, strike,
+abbr, acronym, address, q, cite, blockquote,
+big, small, sub, sup, tt, var, center,
+img, dfn, ins, kbd, s, samp,
+dl, dt, dd, ol, ul, li,
+fieldset, legend, label,
+table, caption, tbody, tfoot, thead, tr, th, td
+{
+ margin: 0;
+ padding: 0;
+ border: 0;
+ outline: 0;
+ font-size: 100%;
+ vertical-align: baseline;
+ background: transparent;
+}
+
+@page {
+ margin: 5px;
+}
+
+p {
+ margin-bottom: 9px;
+ line-height: 1.4;
+}
+
+a {
+ color: #0069d6;
+}
+
+ a:hover {
+ color: #0050a3;
+ text-decoration: none;
+ }
+
+ a img {
+ border: none;
+ }
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ color: #404040;
+ line-height: 1.5;
+ margin: 1em 0 0.5em;
+ -webkit-hyphens: none;
+ hyphens: none;
+ adobe-hyphenate: none;
+}
+
+h1 {
+ font-size: 220%;
+ margin-bottom: 1.5em;
+}
+
+h2 {
+ font-size: 190%;
+}
+
+h3 {
+ font-size: 160%;
+}
+
+h4 {
+ font-size: 140%;
+}
+
+h5 {
+ font-size: 130%;
+}
+
+h6 {
+ font-size: 120%;
+}
+
+hr {
+ margin: 0 0 19px;
+ border: 0;
+ border-bottom: 1px solid #ccc;
+}
+
+blockquote {
+ padding: 13px 13px 21px 15px;
+ margin-bottom: 18px;
+ font-family:georgia,serif;
+ font-style: italic;
+}
+
+ blockquote:before {
+ content: "\201C";
+ font-size: 300%;
+ margin-left: -10px;
+ font-family: serif;
+ color: #eee;
+ }
+
+ blockquote p {
+ font-size: 120%;
+ margin-bottom: 0;
+ font-style: italic;
+ }
+
+code, pre {
+ font-family: monospace;
+}
+
+code {
+ background-color: #fee9cc;
+ color: rgba(0, 0, 0, 0.75);
+ padding: 1px 3px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+ font-size: 85%;
+}
+
+pre {
+ display: block;
+ padding: 14px;
+ margin: 0 0 18px;
+ font-size: 85%;
+ line-height: 1.3;
+ border: 1px solid #d9d9d9;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+ -webkit-hyphens: none;
+ hyphens: none;
+ adobe-hyphenate: none;
+}
+
+ pre code {
+ background-color: #fff;
+ color: #737373;
+ padding: 0;
+ }
+
+code.sourceCode span.kw { color: #007020; font-weight: bold; }
+code.sourceCode span.dt { color: #902000; }
+code.sourceCode span.dv { color: #40a070; }
+code.sourceCode span.bn { color: #40a070; }
+code.sourceCode span.fl { color: #40a070; }
+code.sourceCode span.ch { color: #4070a0; }
+code.sourceCode span.st { color: #4070a0; }
+code.sourceCode span.co { color: #60a0b0; font-style: italic; }
+code.sourceCode span.ot { color: #007020; }
+code.sourceCode span.al { color: red; font-weight: bold; }
+code.sourceCode span.fu { color: #06287e; }
+code.sourceCode span.re { }
+code.sourceCode span.er { color: red; font-weight: bold; }
+
+body {
+ font-family: serif;
+}
diff --git a/exercise-2/package.json b/exercise-2/package.json
new file mode 100644
index 00000000..a4294050
--- /dev/null
+++ b/exercise-2/package.json
@@ -0,0 +1,10 @@
+{
+ "name": "backbone-library",
+ "version": "0.0.1",
+ "description": "A simple library application using the Backbone framework",
+ "dependencies": {
+ "express": "~3.1.0",
+ "path": "~0.4.9",
+ "mongoose": "~3.5.5"
+ }
+}
diff --git a/exercise-2/server.js b/exercise-2/server.js
new file mode 100644
index 00000000..78240247
--- /dev/null
+++ b/exercise-2/server.js
@@ -0,0 +1,132 @@
+'use strict';
+
+// Module dependencies.
+var application_root = __dirname,
+ express = require( 'express' ), //Web framework
+ path = require( 'path' ), //Utilities for dealing with file paths
+ mongoose = require( 'mongoose' ); //MongoDB integration
+
+//Create server
+var app = express();
+
+//Connect to database
+mongoose.connect( 'mongodb://localhost/library_database' );
+
+//Schemas
+var Keywords = new mongoose.Schema({
+ keyword: String
+});
+
+var Book = new mongoose.Schema({
+ title: String,
+ author: String,
+ releaseDate: Date,
+ keywords: [ Keywords ]
+});
+
+//Models
+var BookModel = mongoose.model( 'Book', Book );
+
+// Configure server
+app.configure( function() {
+ //parses request body and populates request.body
+ app.use( express.bodyParser() );
+
+ //checks request.body for HTTP method overrides
+ app.use( express.methodOverride() );
+
+ //perform route lookup based on url and HTTP method
+ app.use( app.router );
+
+ //Where to serve static content
+ app.use( express.static( path.join( application_root, 'site') ) );
+
+ //Show all errors in development
+ app.use( express.errorHandler({ dumpExceptions: true, showStack: true }));
+});
+
+// Routes
+app.get( '/api', function( request, response ) {
+ response.send( 'Library API is running' );
+});
+
+//Get a list of all books
+app.get( '/api/books', function( request, response ) {
+ return BookModel.find( function( err, books ) {
+ if( !err ) {
+ return response.send( books );
+ } else {
+ return console.log( err );
+ }
+ });
+});
+
+//Get a single book by id
+app.get( '/api/books/:id', function( request, response ) {
+ return BookModel.findById( request.params.id, function( err, book ) {
+ if( !err ) {
+ return response.send( book );
+ } else {
+ return console.log( err );
+ }
+ });
+});
+
+//Insert a new book
+app.post( '/api/books', function( request, response ) {
+ var book = new BookModel({
+ title: request.body.title,
+ author: request.body.author,
+ releaseDate: request.body.releaseDate,
+ keywords: request.body.keywords
+ });
+ book.save( function( err ) {
+ if( !err ) {
+ return console.log( 'created' );
+ } else {
+ return console.log( err );
+ }
+ });
+ return response.send( book );
+});
+
+//Update a book
+app.put( '/api/books/:id', function( request, response ) {
+ console.log( 'Updating book ' + request.body.title );
+ return BookModel.findById( request.params.id, function( err, book ) {
+ book.title = request.body.title;
+ book.author = request.body.author;
+ book.releaseDate = request.body.releaseDate;
+ book.keywords = request.body.keywords;
+
+ return book.save( function( err ) {
+ if( !err ) {
+ console.log( 'book updated' );
+ } else {
+ console.log( err );
+ }
+ return response.send( book );
+ });
+ });
+});
+
+//Delete a book
+app.delete( '/api/books/:id', function( request, response ) {
+ console.log( 'Deleting book with id: ' + request.params.id );
+ return BookModel.findById( request.params.id, function( err, book ) {
+ return book.remove( function( err ) {
+ if( !err ) {
+ console.log( 'Book removed' );
+ return response.send( '' );
+ } else {
+ console.log( err );
+ }
+ });
+ });
+});
+
+//Start server
+var port = 4711;
+app.listen( port, function() {
+ console.log( 'Express server listening on port %d in %s mode', port, app.settings.env );
+});
diff --git a/exercise-2/site/css/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png b/exercise-2/site/css/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png
new file mode 100644
index 00000000..6348115e
Binary files /dev/null and b/exercise-2/site/css/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png differ
diff --git a/exercise-2/site/css/cupertino/images/ui-bg_flat_15_cd0a0a_40x100.png b/exercise-2/site/css/cupertino/images/ui-bg_flat_15_cd0a0a_40x100.png
new file mode 100644
index 00000000..7680b543
Binary files /dev/null and b/exercise-2/site/css/cupertino/images/ui-bg_flat_15_cd0a0a_40x100.png differ
diff --git a/exercise-2/site/css/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png b/exercise-2/site/css/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png
new file mode 100644
index 00000000..705a32ea
Binary files /dev/null and b/exercise-2/site/css/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png differ
diff --git a/exercise-2/site/css/cupertino/images/ui-bg_glass_50_3baae3_1x400.png b/exercise-2/site/css/cupertino/images/ui-bg_glass_50_3baae3_1x400.png
new file mode 100644
index 00000000..baabca6b
Binary files /dev/null and b/exercise-2/site/css/cupertino/images/ui-bg_glass_50_3baae3_1x400.png differ
diff --git a/exercise-2/site/css/cupertino/images/ui-bg_glass_80_d7ebf9_1x400.png b/exercise-2/site/css/cupertino/images/ui-bg_glass_80_d7ebf9_1x400.png
new file mode 100644
index 00000000..d9387e95
Binary files /dev/null and b/exercise-2/site/css/cupertino/images/ui-bg_glass_80_d7ebf9_1x400.png differ
diff --git a/exercise-2/site/css/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png b/exercise-2/site/css/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png
new file mode 100644
index 00000000..28b566c2
Binary files /dev/null and b/exercise-2/site/css/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png differ
diff --git a/exercise-2/site/css/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png b/exercise-2/site/css/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png
new file mode 100644
index 00000000..d5882978
Binary files /dev/null and b/exercise-2/site/css/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png differ
diff --git a/exercise-2/site/css/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png b/exercise-2/site/css/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png
new file mode 100644
index 00000000..2289d3c7
Binary files /dev/null and b/exercise-2/site/css/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png differ
diff --git a/exercise-2/site/css/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png b/exercise-2/site/css/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png
new file mode 100644
index 00000000..0de3275b
Binary files /dev/null and b/exercise-2/site/css/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png differ
diff --git a/exercise-2/site/css/cupertino/images/ui-icons_2694e8_256x240.png b/exercise-2/site/css/cupertino/images/ui-icons_2694e8_256x240.png
new file mode 100644
index 00000000..9d192c2f
Binary files /dev/null and b/exercise-2/site/css/cupertino/images/ui-icons_2694e8_256x240.png differ
diff --git a/exercise-2/site/css/cupertino/images/ui-icons_2e83ff_256x240.png b/exercise-2/site/css/cupertino/images/ui-icons_2e83ff_256x240.png
new file mode 100644
index 00000000..09d1cdc8
Binary files /dev/null and b/exercise-2/site/css/cupertino/images/ui-icons_2e83ff_256x240.png differ
diff --git a/exercise-2/site/css/cupertino/images/ui-icons_3d80b3_256x240.png b/exercise-2/site/css/cupertino/images/ui-icons_3d80b3_256x240.png
new file mode 100644
index 00000000..52c3cc6b
Binary files /dev/null and b/exercise-2/site/css/cupertino/images/ui-icons_3d80b3_256x240.png differ
diff --git a/exercise-2/site/css/cupertino/images/ui-icons_72a7cf_256x240.png b/exercise-2/site/css/cupertino/images/ui-icons_72a7cf_256x240.png
new file mode 100644
index 00000000..0d20b730
Binary files /dev/null and b/exercise-2/site/css/cupertino/images/ui-icons_72a7cf_256x240.png differ
diff --git a/exercise-2/site/css/cupertino/images/ui-icons_ffffff_256x240.png b/exercise-2/site/css/cupertino/images/ui-icons_ffffff_256x240.png
new file mode 100644
index 00000000..42f8f992
Binary files /dev/null and b/exercise-2/site/css/cupertino/images/ui-icons_ffffff_256x240.png differ
diff --git a/exercise-2/site/css/cupertino/jquery-ui-1.10.0.custom.css b/exercise-2/site/css/cupertino/jquery-ui-1.10.0.custom.css
new file mode 100644
index 00000000..7787b1e3
--- /dev/null
+++ b/exercise-2/site/css/cupertino/jquery-ui-1.10.0.custom.css
@@ -0,0 +1,648 @@
+/*! jQuery UI - v1.10.0 - 2013-01-31
+* http://jqueryui.com
+* Includes: jquery.ui.core.css, jquery.ui.datepicker.css
+* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande%2CLucida%20Sans%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=6px&bgColorHeader=deedf7&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=100&borderColorHeader=aed0ea&fcHeader=222222&iconColorHeader=72a7cf&bgColorContent=f2f5f7&bgTextureContent=04_highlight_hard.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=362b36&iconColorContent=72a7cf&bgColorDefault=d7ebf9&bgTextureDefault=02_glass.png&bgImgOpacityDefault=80&borderColorDefault=aed0ea&fcDefault=2779aa&iconColorDefault=3d80b3&bgColorHover=e4f1fb&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=74b2e2&fcHover=0070a3&iconColorHover=2694e8&bgColorActive=3baae3&bgTextureActive=02_glass.png&bgImgOpacityActive=50&borderColorActive=2694e8&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=ffef8f&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=25&borderColorHighlight=f9dd34&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=cd0a0a&bgTextureError=01_flat.png&bgImgOpacityError=15&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffffff&bgColorOverlay=eeeeee&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=90&opacityOverlay=80&bgColorShadow=000000&bgTextureShadow=04_highlight_hard.png&bgImgOpacityShadow=70&opacityShadow=30&thicknessShadow=7px&offsetTopShadow=-7px&offsetLeftShadow=-7px&cornerRadiusShadow=8px
+* Copyright (c) 2013 jQuery Foundation and other contributors Licensed MIT */
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden {
+ display: none;
+}
+.ui-helper-hidden-accessible {
+ border: 0;
+ clip: rect(0 0 0 0);
+ height: 1px;
+ margin: -1px;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px;
+}
+.ui-helper-reset {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ outline: 0;
+ line-height: 1.3;
+ text-decoration: none;
+ font-size: 100%;
+ list-style: none;
+}
+.ui-helper-clearfix:before,
+.ui-helper-clearfix:after {
+ content: "";
+ display: table;
+}
+.ui-helper-clearfix:after {
+ clear: both;
+}
+.ui-helper-clearfix {
+ min-height: 0; /* support: IE7 */
+}
+.ui-helper-zfix {
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ position: absolute;
+ opacity: 0;
+ filter:Alpha(Opacity=0);
+}
+
+.ui-front {
+ z-index: 100;
+}
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled {
+ cursor: default !important;
+}
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon {
+ display: block;
+ text-indent: -99999px;
+ overflow: hidden;
+ background-repeat: no-repeat;
+}
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+.ui-datepicker {
+ width: 17em;
+ padding: .2em .2em 0;
+ display: none;
+}
+.ui-datepicker .ui-datepicker-header {
+ position: relative;
+ padding: .2em 0;
+}
+.ui-datepicker .ui-datepicker-prev,
+.ui-datepicker .ui-datepicker-next {
+ position: absolute;
+ top: 2px;
+ width: 1.8em;
+ height: 1.8em;
+}
+.ui-datepicker .ui-datepicker-prev-hover,
+.ui-datepicker .ui-datepicker-next-hover {
+ top: 1px;
+}
+.ui-datepicker .ui-datepicker-prev {
+ left: 2px;
+}
+.ui-datepicker .ui-datepicker-next {
+ right: 2px;
+}
+.ui-datepicker .ui-datepicker-prev-hover {
+ left: 1px;
+}
+.ui-datepicker .ui-datepicker-next-hover {
+ right: 1px;
+}
+.ui-datepicker .ui-datepicker-prev span,
+.ui-datepicker .ui-datepicker-next span {
+ display: block;
+ position: absolute;
+ left: 50%;
+ margin-left: -8px;
+ top: 50%;
+ margin-top: -8px;
+}
+.ui-datepicker .ui-datepicker-title {
+ margin: 0 2.3em;
+ line-height: 1.8em;
+ text-align: center;
+}
+.ui-datepicker .ui-datepicker-title select {
+ font-size: 1em;
+ margin: 1px 0;
+}
+.ui-datepicker select.ui-datepicker-month-year {
+ width: 100%;
+}
+.ui-datepicker select.ui-datepicker-month,
+.ui-datepicker select.ui-datepicker-year {
+ width: 49%;
+}
+.ui-datepicker table {
+ width: 100%;
+ font-size: .9em;
+ border-collapse: collapse;
+ margin: 0 0 .4em;
+}
+.ui-datepicker th {
+ padding: .7em .3em;
+ text-align: center;
+ font-weight: bold;
+ border: 0;
+}
+.ui-datepicker td {
+ border: 0;
+ padding: 1px;
+}
+.ui-datepicker td span,
+.ui-datepicker td a {
+ display: block;
+ padding: .2em;
+ text-align: right;
+ text-decoration: none;
+}
+.ui-datepicker .ui-datepicker-buttonpane {
+ background-image: none;
+ margin: .7em 0 0 0;
+ padding: 0 .2em;
+ border-left: 0;
+ border-right: 0;
+ border-bottom: 0;
+}
+.ui-datepicker .ui-datepicker-buttonpane button {
+ float: right;
+ margin: .5em .2em .4em;
+ cursor: pointer;
+ padding: .2em .6em .3em .6em;
+ width: auto;
+ overflow: visible;
+}
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
+ float: left;
+}
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi {
+ width: auto;
+}
+.ui-datepicker-multi .ui-datepicker-group {
+ float: left;
+}
+.ui-datepicker-multi .ui-datepicker-group table {
+ width: 95%;
+ margin: 0 auto .4em;
+}
+.ui-datepicker-multi-2 .ui-datepicker-group {
+ width: 50%;
+}
+.ui-datepicker-multi-3 .ui-datepicker-group {
+ width: 33.3%;
+}
+.ui-datepicker-multi-4 .ui-datepicker-group {
+ width: 25%;
+}
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
+ border-left-width: 0;
+}
+.ui-datepicker-multi .ui-datepicker-buttonpane {
+ clear: left;
+}
+.ui-datepicker-row-break {
+ clear: both;
+ width: 100%;
+ font-size: 0;
+}
+
+/* RTL support */
+.ui-datepicker-rtl {
+ direction: rtl;
+}
+.ui-datepicker-rtl .ui-datepicker-prev {
+ right: 2px;
+ left: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-next {
+ left: 2px;
+ right: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-prev:hover {
+ right: 1px;
+ left: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-next:hover {
+ left: 1px;
+ right: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-buttonpane {
+ clear: right;
+}
+.ui-datepicker-rtl .ui-datepicker-buttonpane button {
+ float: left;
+}
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
+.ui-datepicker-rtl .ui-datepicker-group {
+ float: right;
+}
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
+ border-right-width: 0;
+ border-left-width: 1px;
+}
+
+/* Component containers
+----------------------------------*/
+.ui-widget {
+ font-family: Lucida Grande,Lucida Sans,Arial,sans-serif;
+ font-size: 1.1em;
+}
+.ui-widget .ui-widget {
+ font-size: 1em;
+}
+.ui-widget input,
+.ui-widget select,
+.ui-widget textarea,
+.ui-widget button {
+ font-family: Lucida Grande,Lucida Sans,Arial,sans-serif;
+ font-size: 1em;
+}
+.ui-widget-content {
+ border: 1px solid #dddddd;
+ background: #f2f5f7 url(images/ui-bg_highlight-hard_100_f2f5f7_1x100.png) 50% top repeat-x;
+ color: #362b36;
+}
+.ui-widget-content a {
+ color: #362b36;
+}
+.ui-widget-header {
+ border: 1px solid #aed0ea;
+ background: #deedf7 url(images/ui-bg_highlight-soft_100_deedf7_1x100.png) 50% 50% repeat-x;
+ color: #222222;
+ font-weight: bold;
+}
+.ui-widget-header a {
+ color: #222222;
+}
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default,
+.ui-widget-content .ui-state-default,
+.ui-widget-header .ui-state-default {
+ border: 1px solid #aed0ea;
+ background: #d7ebf9 url(images/ui-bg_glass_80_d7ebf9_1x400.png) 50% 50% repeat-x;
+ font-weight: bold;
+ color: #2779aa;
+}
+.ui-state-default a,
+.ui-state-default a:link,
+.ui-state-default a:visited {
+ color: #2779aa;
+ text-decoration: none;
+}
+.ui-state-hover,
+.ui-widget-content .ui-state-hover,
+.ui-widget-header .ui-state-hover,
+.ui-state-focus,
+.ui-widget-content .ui-state-focus,
+.ui-widget-header .ui-state-focus {
+ border: 1px solid #74b2e2;
+ background: #e4f1fb url(images/ui-bg_glass_100_e4f1fb_1x400.png) 50% 50% repeat-x;
+ font-weight: bold;
+ color: #0070a3;
+}
+.ui-state-hover a,
+.ui-state-hover a:hover,
+.ui-state-hover a:link,
+.ui-state-hover a:visited {
+ color: #0070a3;
+ text-decoration: none;
+}
+.ui-state-active,
+.ui-widget-content .ui-state-active,
+.ui-widget-header .ui-state-active {
+ border: 1px solid #2694e8;
+ background: #3baae3 url(images/ui-bg_glass_50_3baae3_1x400.png) 50% 50% repeat-x;
+ font-weight: bold;
+ color: #ffffff;
+}
+.ui-state-active a,
+.ui-state-active a:link,
+.ui-state-active a:visited {
+ color: #ffffff;
+ text-decoration: none;
+}
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight,
+.ui-widget-content .ui-state-highlight,
+.ui-widget-header .ui-state-highlight {
+ border: 1px solid #f9dd34;
+ background: #ffef8f url(images/ui-bg_highlight-soft_25_ffef8f_1x100.png) 50% top repeat-x;
+ color: #363636;
+}
+.ui-state-highlight a,
+.ui-widget-content .ui-state-highlight a,
+.ui-widget-header .ui-state-highlight a {
+ color: #363636;
+}
+.ui-state-error,
+.ui-widget-content .ui-state-error,
+.ui-widget-header .ui-state-error {
+ border: 1px solid #cd0a0a;
+ background: #cd0a0a url(images/ui-bg_flat_15_cd0a0a_40x100.png) 50% 50% repeat-x;
+ color: #ffffff;
+}
+.ui-state-error a,
+.ui-widget-content .ui-state-error a,
+.ui-widget-header .ui-state-error a {
+ color: #ffffff;
+}
+.ui-state-error-text,
+.ui-widget-content .ui-state-error-text,
+.ui-widget-header .ui-state-error-text {
+ color: #ffffff;
+}
+.ui-priority-primary,
+.ui-widget-content .ui-priority-primary,
+.ui-widget-header .ui-priority-primary {
+ font-weight: bold;
+}
+.ui-priority-secondary,
+.ui-widget-content .ui-priority-secondary,
+.ui-widget-header .ui-priority-secondary {
+ opacity: .7;
+ filter:Alpha(Opacity=70);
+ font-weight: normal;
+}
+.ui-state-disabled,
+.ui-widget-content .ui-state-disabled,
+.ui-widget-header .ui-state-disabled {
+ opacity: .35;
+ filter:Alpha(Opacity=35);
+ background-image: none;
+}
+.ui-state-disabled .ui-icon {
+ filter:Alpha(Opacity=35); /* For IE8 - See #6059 */
+}
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon {
+ width: 16px;
+ height: 16px;
+ background-position: 16px 16px;
+}
+.ui-icon,
+.ui-widget-content .ui-icon {
+ background-image: url(images/ui-icons_72a7cf_256x240.png);
+}
+.ui-widget-header .ui-icon {
+ background-image: url(images/ui-icons_72a7cf_256x240.png);
+}
+.ui-state-default .ui-icon {
+ background-image: url(images/ui-icons_3d80b3_256x240.png);
+}
+.ui-state-hover .ui-icon,
+.ui-state-focus .ui-icon {
+ background-image: url(images/ui-icons_2694e8_256x240.png);
+}
+.ui-state-active .ui-icon {
+ background-image: url(images/ui-icons_ffffff_256x240.png);
+}
+.ui-state-highlight .ui-icon {
+ background-image: url(images/ui-icons_2e83ff_256x240.png);
+}
+.ui-state-error .ui-icon,
+.ui-state-error-text .ui-icon {
+ background-image: url(images/ui-icons_ffffff_256x240.png);
+}
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-on { background-position: -96px -144px; }
+.ui-icon-radio-off { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-all,
+.ui-corner-top,
+.ui-corner-left,
+.ui-corner-tl {
+ border-top-left-radius: 6px;
+}
+.ui-corner-all,
+.ui-corner-top,
+.ui-corner-right,
+.ui-corner-tr {
+ border-top-right-radius: 6px;
+}
+.ui-corner-all,
+.ui-corner-bottom,
+.ui-corner-left,
+.ui-corner-bl {
+ border-bottom-left-radius: 6px;
+}
+.ui-corner-all,
+.ui-corner-bottom,
+.ui-corner-right,
+.ui-corner-br {
+ border-bottom-right-radius: 6px;
+}
+
+/* Overlays */
+.ui-widget-overlay {
+ background: #eeeeee url(images/ui-bg_diagonals-thick_90_eeeeee_40x40.png) 50% 50% repeat;
+ opacity: .8;
+ filter: Alpha(Opacity=80);
+}
+.ui-widget-shadow {
+ margin: -7px 0 0 -7px;
+ padding: 7px;
+ background: #000000 url(images/ui-bg_highlight-hard_70_000000_1x100.png) 50% top repeat-x;
+ opacity: .3;
+ filter: Alpha(Opacity=30);
+ border-radius: 8px;
+}
diff --git a/exercise-2/site/css/cupertino/jquery-ui-1.10.0.custom.min.css b/exercise-2/site/css/cupertino/jquery-ui-1.10.0.custom.min.css
new file mode 100644
index 00000000..8c0b5b70
--- /dev/null
+++ b/exercise-2/site/css/cupertino/jquery-ui-1.10.0.custom.min.css
@@ -0,0 +1,5 @@
+/*! jQuery UI - v1.10.0 - 2013-01-31
+* http://jqueryui.com
+* Includes: jquery.ui.core.css, jquery.ui.datepicker.css
+* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande%2CLucida%20Sans%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=6px&bgColorHeader=deedf7&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=100&borderColorHeader=aed0ea&fcHeader=222222&iconColorHeader=72a7cf&bgColorContent=f2f5f7&bgTextureContent=04_highlight_hard.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=362b36&iconColorContent=72a7cf&bgColorDefault=d7ebf9&bgTextureDefault=02_glass.png&bgImgOpacityDefault=80&borderColorDefault=aed0ea&fcDefault=2779aa&iconColorDefault=3d80b3&bgColorHover=e4f1fb&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=74b2e2&fcHover=0070a3&iconColorHover=2694e8&bgColorActive=3baae3&bgTextureActive=02_glass.png&bgImgOpacityActive=50&borderColorActive=2694e8&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=ffef8f&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=25&borderColorHighlight=f9dd34&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=cd0a0a&bgTextureError=01_flat.png&bgImgOpacityError=15&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffffff&bgColorOverlay=eeeeee&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=90&opacityOverlay=80&bgColorShadow=000000&bgTextureShadow=04_highlight_hard.png&bgImgOpacityShadow=70&opacityShadow=30&thicknessShadow=7px&offsetTopShadow=-7px&offsetLeftShadow=-7px&cornerRadiusShadow=8px
+* Copyright (c) 2013 jQuery Foundation and other contributors Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-widget{font-family:Lucida Grande,Lucida Sans,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Lucida Grande,Lucida Sans,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#f2f5f7 url(images/ui-bg_highlight-hard_100_f2f5f7_1x100.png) 50% top repeat-x;color:#362b36}.ui-widget-content a{color:#362b36}.ui-widget-header{border:1px solid #aed0ea;background:#deedf7 url(images/ui-bg_highlight-soft_100_deedf7_1x100.png) 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #aed0ea;background:#d7ebf9 url(images/ui-bg_glass_80_d7ebf9_1x400.png) 50% 50% repeat-x;font-weight:bold;color:#2779aa}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#2779aa;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #74b2e2;background:#e4f1fb url(images/ui-bg_glass_100_e4f1fb_1x400.png) 50% 50% repeat-x;font-weight:bold;color:#0070a3}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#0070a3;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #2694e8;background:#3baae3 url(images/ui-bg_glass_50_3baae3_1x400.png) 50% 50% repeat-x;font-weight:bold;color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #f9dd34;background:#ffef8f url(images/ui-bg_highlight-soft_25_ffef8f_1x100.png) 50% top repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#cd0a0a url(images/ui-bg_flat_15_cd0a0a_40x100.png) 50% 50% repeat-x;color:#fff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#fff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#fff}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px;background-position:16px 16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(images/ui-icons_72a7cf_256x240.png)}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_72a7cf_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_3d80b3_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(images/ui-icons_2694e8_256x240.png)}.ui-state-active .ui-icon{background-image:url(images/ui-icons_ffffff_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_2e83ff_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_ffffff_256x240.png)}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:6px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:6px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:6px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:6px}.ui-widget-overlay{background:#eee url(images/ui-bg_diagonals-thick_90_eeeeee_40x40.png) 50% 50% repeat;opacity:.8;filter:Alpha(Opacity=80)}.ui-widget-shadow{margin:-7px 0 0 -7px;padding:7px;background:#000 url(images/ui-bg_highlight-hard_70_000000_1x100.png) 50% top repeat-x;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px}
\ No newline at end of file
diff --git a/exercise-2/site/css/screen.css b/exercise-2/site/css/screen.css
new file mode 100644
index 00000000..b92d8576
--- /dev/null
+++ b/exercise-2/site/css/screen.css
@@ -0,0 +1,65 @@
+body {
+ background-color: #eee;
+}
+
+.bookContainer {
+ outline: 1px solid #aaa;
+ width: 350px;
+ height: 130px;
+ background-color: #fff;
+ float: left;
+ margin: 5px;
+}
+
+.bookContainer img {
+ float: left;
+ margin: 10px;
+}
+
+.bookContainer ul {
+ list-style-type: none;
+ margin-bottom: 0;
+}
+
+.bookContainer button {
+ float: right;
+ margin: 10px;
+}
+
+#addBook label {
+ width: 100px;
+ margin-right: 10px;
+ text-align: right;
+ line-height: 25px;
+}
+
+#addBook label, #addBook input {
+ display: block;
+ margin-bottom: 10px;
+ float: left;
+}
+
+#addBook label[for="title"], #addBook label[for="releaseDate"] {
+ clear: both;
+}
+
+#addBook button {
+ display: block;
+ margin: 5px 20px 10px 10px;
+ float: right;
+ clear: both;
+}
+
+#addBook div {
+ width: 550px;
+}
+
+#addBook div:after {
+ content: "";
+ display: block;
+ height: 0;
+ visibility: hidden;
+ clear: both;
+ font-size: 0;
+ line-height: 0;
+}
diff --git a/exercise-2/site/img/placeholder.png b/exercise-2/site/img/placeholder.png
new file mode 100644
index 00000000..03b18752
Binary files /dev/null and b/exercise-2/site/img/placeholder.png differ
diff --git a/exercise-2/site/index.html b/exercise-2/site/index.html
new file mode 100644
index 00000000..07dcccf8
--- /dev/null
+++ b/exercise-2/site/index.html
@@ -0,0 +1,44 @@
+
+
+
+
+ Backbone.js Library
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/exercise-2/site/js/app.js b/exercise-2/site/js/app.js
new file mode 100644
index 00000000..f9dbd40a
--- /dev/null
+++ b/exercise-2/site/js/app.js
@@ -0,0 +1,7 @@
+var app = app || {};
+
+
+$(function() {
+ $( '#releaseDate' ).datepicker();
+ new app.LibraryView();
+});
diff --git a/exercise-2/site/js/collections/library.js b/exercise-2/site/js/collections/library.js
new file mode 100644
index 00000000..911c27c2
--- /dev/null
+++ b/exercise-2/site/js/collections/library.js
@@ -0,0 +1,6 @@
+var app = app || {};
+
+app.Library = Backbone.Collection.extend({
+ model: app.Book,
+ url: '/api/books'
+});
diff --git a/exercise-2/site/js/lib/backbone.js b/exercise-2/site/js/lib/backbone.js
new file mode 100644
index 00000000..9e2c08db
--- /dev/null
+++ b/exercise-2/site/js/lib/backbone.js
@@ -0,0 +1,1498 @@
+// Backbone.js 0.9.10
+
+// (c) 2010-2012 Jeremy Ashkenas, DocumentCloud Inc.
+// Backbone may be freely distributed under the MIT license.
+// For all details and documentation:
+// http://backbonejs.org
+
+(function(){
+
+ // Initial Setup
+ // -------------
+
+ // Save a reference to the global object (`window` in the browser, `exports`
+ // on the server).
+ var root = this;
+
+ // Save the previous value of the `Backbone` variable, so that it can be
+ // restored later on, if `noConflict` is used.
+ var previousBackbone = root.Backbone;
+
+ // Create a local reference to array methods.
+ var array = [];
+ var push = array.push;
+ var slice = array.slice;
+ var splice = array.splice;
+
+ // The top-level namespace. All public Backbone classes and modules will
+ // be attached to this. Exported for both CommonJS and the browser.
+ var Backbone;
+ if (typeof exports !== 'undefined') {
+ Backbone = exports;
+ } else {
+ Backbone = root.Backbone = {};
+ }
+
+ // Current version of the library. Keep in sync with `package.json`.
+ Backbone.VERSION = '0.9.10';
+
+ // Require Underscore, if we're on the server, and it's not already present.
+ var _ = root._;
+ if (!_ && (typeof require !== 'undefined')) _ = require('underscore');
+
+ // For Backbone's purposes, jQuery, Zepto, or Ender owns the `$` variable.
+ Backbone.$ = root.jQuery || root.Zepto || root.ender;
+
+ // Runs Backbone.js in *noConflict* mode, returning the `Backbone` variable
+ // to its previous owner. Returns a reference to this Backbone object.
+ Backbone.noConflict = function() {
+ root.Backbone = previousBackbone;
+ return this;
+ };
+
+ // Turn on `emulateHTTP` to support legacy HTTP servers. Setting this option
+ // will fake `"PUT"` and `"DELETE"` requests via the `_method` parameter and
+ // set a `X-Http-Method-Override` header.
+ Backbone.emulateHTTP = false;
+
+ // Turn on `emulateJSON` to support legacy servers that can't deal with direct
+ // `application/json` requests ... will encode the body as
+ // `application/x-www-form-urlencoded` instead and will send the model in a
+ // form param named `model`.
+ Backbone.emulateJSON = false;
+
+ // Backbone.Events
+ // ---------------
+
+ // Regular expression used to split event strings.
+ var eventSplitter = /\s+/;
+
+ // Implement fancy features of the Events API such as multiple event
+ // names `"change blur"` and jQuery-style event maps `{change: action}`
+ // in terms of the existing API.
+ var eventsApi = function(obj, action, name, rest) {
+ if (!name) return true;
+ if (typeof name === 'object') {
+ for (var key in name) {
+ obj[action].apply(obj, [key, name[key]].concat(rest));
+ }
+ } else if (eventSplitter.test(name)) {
+ var names = name.split(eventSplitter);
+ for (var i = 0, l = names.length; i < l; i++) {
+ obj[action].apply(obj, [names[i]].concat(rest));
+ }
+ } else {
+ return true;
+ }
+ };
+
+ // Optimized internal dispatch function for triggering events. Tries to
+ // keep the usual cases speedy (most Backbone events have 3 arguments).
+ var triggerEvents = function(events, args) {
+ var ev, i = -1, l = events.length;
+ switch (args.length) {
+ case 0: while (++i < l) (ev = events[i]).callback.call(ev.ctx);
+ return;
+ case 1: while (++i < l) (ev = events[i]).callback.call(ev.ctx, args[0]);
+ return;
+ case 2: while (++i < l) (ev = events[i]).callback.call(ev.ctx, args[0], args[1]);
+ return;
+ case 3: while (++i < l) (ev = events[i]).callback.call(ev.ctx, args[0], args[1], args[2]);
+ return;
+ default: while (++i < l) (ev = events[i]).callback.apply(ev.ctx, args);
+ }
+ };
+
+ // A module that can be mixed in to *any object* in order to provide it with
+ // custom events. You may bind with `on` or remove with `off` callback
+ // functions to an event; `trigger`-ing an event fires all callbacks in
+ // succession.
+ //
+ // var object = {};
+ // _.extend(object, Backbone.Events);
+ // object.on('expand', function(){ alert('expanded'); });
+ // object.trigger('expand');
+ //
+ var Events = Backbone.Events = {
+
+ // Bind one or more space separated events, or an events map,
+ // to a `callback` function. Passing `"all"` will bind the callback to
+ // all events fired.
+ on: function(name, callback, context) {
+ if (!(eventsApi(this, 'on', name, [callback, context]) && callback)) return this;
+ this._events || (this._events = {});
+ var list = this._events[name] || (this._events[name] = []);
+ list.push({callback: callback, context: context, ctx: context || this});
+ return this;
+ },
+
+ // Bind events to only be triggered a single time. After the first time
+ // the callback is invoked, it will be removed.
+ once: function(name, callback, context) {
+ if (!(eventsApi(this, 'once', name, [callback, context]) && callback)) return this;
+ var self = this;
+ var once = _.once(function() {
+ self.off(name, once);
+ callback.apply(this, arguments);
+ });
+ once._callback = callback;
+ this.on(name, once, context);
+ return this;
+ },
+
+ // Remove one or many callbacks. If `context` is null, removes all
+ // callbacks with that function. If `callback` is null, removes all
+ // callbacks for the event. If `name` is null, removes all bound
+ // callbacks for all events.
+ off: function(name, callback, context) {
+ var list, ev, events, names, i, l, j, k;
+ if (!this._events || !eventsApi(this, 'off', name, [callback, context])) return this;
+ if (!name && !callback && !context) {
+ this._events = {};
+ return this;
+ }
+
+ names = name ? [name] : _.keys(this._events);
+ for (i = 0, l = names.length; i < l; i++) {
+ name = names[i];
+ if (list = this._events[name]) {
+ events = [];
+ if (callback || context) {
+ for (j = 0, k = list.length; j < k; j++) {
+ ev = list[j];
+ if ((callback && callback !== ev.callback &&
+ callback !== ev.callback._callback) ||
+ (context && context !== ev.context)) {
+ events.push(ev);
+ }
+ }
+ }
+ this._events[name] = events;
+ }
+ }
+
+ return this;
+ },
+
+ // Trigger one or many events, firing all bound callbacks. Callbacks are
+ // passed the same arguments as `trigger` is, apart from the event name
+ // (unless you're listening on `"all"`, which will cause your callback to
+ // receive the true name of the event as the first argument).
+ trigger: function(name) {
+ if (!this._events) return this;
+ var args = slice.call(arguments, 1);
+ if (!eventsApi(this, 'trigger', name, args)) return this;
+ var events = this._events[name];
+ var allEvents = this._events.all;
+ if (events) triggerEvents(events, args);
+ if (allEvents) triggerEvents(allEvents, arguments);
+ return this;
+ },
+
+ // An inversion-of-control version of `on`. Tell *this* object to listen to
+ // an event in another object ... keeping track of what it's listening to.
+ listenTo: function(obj, name, callback) {
+ var listeners = this._listeners || (this._listeners = {});
+ var id = obj._listenerId || (obj._listenerId = _.uniqueId('l'));
+ listeners[id] = obj;
+ obj.on(name, typeof name === 'object' ? this : callback, this);
+ return this;
+ },
+
+ // Tell this object to stop listening to either specific events ... or
+ // to every object it's currently listening to.
+ stopListening: function(obj, name, callback) {
+ var listeners = this._listeners;
+ if (!listeners) return;
+ if (obj) {
+ obj.off(name, typeof name === 'object' ? this : callback, this);
+ if (!name && !callback) delete listeners[obj._listenerId];
+ } else {
+ if (typeof name === 'object') callback = this;
+ for (var id in listeners) {
+ listeners[id].off(name, callback, this);
+ }
+ this._listeners = {};
+ }
+ return this;
+ }
+ };
+
+ // Aliases for backwards compatibility.
+ Events.bind = Events.on;
+ Events.unbind = Events.off;
+
+ // Allow the `Backbone` object to serve as a global event bus, for folks who
+ // want global "pubsub" in a convenient place.
+ _.extend(Backbone, Events);
+
+ // Backbone.Model
+ // --------------
+
+ // Create a new model, with defined attributes. A client id (`cid`)
+ // is automatically generated and assigned for you.
+ var Model = Backbone.Model = function(attributes, options) {
+ var defaults;
+ var attrs = attributes || {};
+ this.cid = _.uniqueId('c');
+ this.attributes = {};
+ if (options && options.collection) this.collection = options.collection;
+ if (options && options.parse) attrs = this.parse(attrs, options) || {};
+ if (defaults = _.result(this, 'defaults')) {
+ attrs = _.defaults({}, attrs, defaults);
+ }
+ this.set(attrs, options);
+ this.changed = {};
+ this.initialize.apply(this, arguments);
+ };
+
+ // Attach all inheritable methods to the Model prototype.
+ _.extend(Model.prototype, Events, {
+
+ // A hash of attributes whose current and previous value differ.
+ changed: null,
+
+ // The default name for the JSON `id` attribute is `"id"`. MongoDB and
+ // CouchDB users may want to set this to `"_id"`.
+ idAttribute: 'id',
+
+ // Initialize is an empty function by default. Override it with your own
+ // initialization logic.
+ initialize: function(){},
+
+ // Return a copy of the model's `attributes` object.
+ toJSON: function(options) {
+ return _.clone(this.attributes);
+ },
+
+ // Proxy `Backbone.sync` by default.
+ sync: function() {
+ return Backbone.sync.apply(this, arguments);
+ },
+
+ // Get the value of an attribute.
+ get: function(attr) {
+ return this.attributes[attr];
+ },
+
+ // Get the HTML-escaped value of an attribute.
+ escape: function(attr) {
+ return _.escape(this.get(attr));
+ },
+
+ // Returns `true` if the attribute contains a value that is not null
+ // or undefined.
+ has: function(attr) {
+ return this.get(attr) != null;
+ },
+
+ // ----------------------------------------------------------------------
+
+ // Set a hash of model attributes on the object, firing `"change"` unless
+ // you choose to silence it.
+ set: function(key, val, options) {
+ var attr, attrs, unset, changes, silent, changing, prev, current;
+ if (key == null) return this;
+
+ // Handle both `"key", value` and `{key: value}` -style arguments.
+ if (typeof key === 'object') {
+ attrs = key;
+ options = val;
+ } else {
+ (attrs = {})[key] = val;
+ }
+
+ options || (options = {});
+
+ // Run validation.
+ if (!this._validate(attrs, options)) return false;
+
+ // Extract attributes and options.
+ unset = options.unset;
+ silent = options.silent;
+ changes = [];
+ changing = this._changing;
+ this._changing = true;
+
+ if (!changing) {
+ this._previousAttributes = _.clone(this.attributes);
+ this.changed = {};
+ }
+ current = this.attributes, prev = this._previousAttributes;
+
+ // Check for changes of `id`.
+ if (this.idAttribute in attrs) this.id = attrs[this.idAttribute];
+
+ // For each `set` attribute, update or delete the current value.
+ for (attr in attrs) {
+ val = attrs[attr];
+ if (!_.isEqual(current[attr], val)) changes.push(attr);
+ if (!_.isEqual(prev[attr], val)) {
+ this.changed[attr] = val;
+ } else {
+ delete this.changed[attr];
+ }
+ unset ? delete current[attr] : current[attr] = val;
+ }
+
+ // Trigger all relevant attribute changes.
+ if (!silent) {
+ if (changes.length) this._pending = true;
+ for (var i = 0, l = changes.length; i < l; i++) {
+ this.trigger('change:' + changes[i], this, current[changes[i]], options);
+ }
+ }
+
+ if (changing) return this;
+ if (!silent) {
+ while (this._pending) {
+ this._pending = false;
+ this.trigger('change', this, options);
+ }
+ }
+ this._pending = false;
+ this._changing = false;
+ return this;
+ },
+
+ // Remove an attribute from the model, firing `"change"` unless you choose
+ // to silence it. `unset` is a noop if the attribute doesn't exist.
+ unset: function(attr, options) {
+ return this.set(attr, void 0, _.extend({}, options, {unset: true}));
+ },
+
+ // Clear all attributes on the model, firing `"change"` unless you choose
+ // to silence it.
+ clear: function(options) {
+ var attrs = {};
+ for (var key in this.attributes) attrs[key] = void 0;
+ return this.set(attrs, _.extend({}, options, {unset: true}));
+ },
+
+ // Determine if the model has changed since the last `"change"` event.
+ // If you specify an attribute name, determine if that attribute has changed.
+ hasChanged: function(attr) {
+ if (attr == null) return !_.isEmpty(this.changed);
+ return _.has(this.changed, attr);
+ },
+
+ // Return an object containing all the attributes that have changed, or
+ // false if there are no changed attributes. Useful for determining what
+ // parts of a view need to be updated and/or what attributes need to be
+ // persisted to the server. Unset attributes will be set to undefined.
+ // You can also pass an attributes object to diff against the model,
+ // determining if there *would be* a change.
+ changedAttributes: function(diff) {
+ if (!diff) return this.hasChanged() ? _.clone(this.changed) : false;
+ var val, changed = false;
+ var old = this._changing ? this._previousAttributes : this.attributes;
+ for (var attr in diff) {
+ if (_.isEqual(old[attr], (val = diff[attr]))) continue;
+ (changed || (changed = {}))[attr] = val;
+ }
+ return changed;
+ },
+
+ // Get the previous value of an attribute, recorded at the time the last
+ // `"change"` event was fired.
+ previous: function(attr) {
+ if (attr == null || !this._previousAttributes) return null;
+ return this._previousAttributes[attr];
+ },
+
+ // Get all of the attributes of the model at the time of the previous
+ // `"change"` event.
+ previousAttributes: function() {
+ return _.clone(this._previousAttributes);
+ },
+
+ // ---------------------------------------------------------------------
+
+ // Fetch the model from the server. If the server's representation of the
+ // model differs from its current attributes, they will be overriden,
+ // triggering a `"change"` event.
+ fetch: function(options) {
+ options = options ? _.clone(options) : {};
+ if (options.parse === void 0) options.parse = true;
+ var success = options.success;
+ options.success = function(model, resp, options) {
+ if (!model.set(model.parse(resp, options), options)) return false;
+ if (success) success(model, resp, options);
+ };
+ return this.sync('read', this, options);
+ },
+
+ // Set a hash of model attributes, and sync the model to the server.
+ // If the server returns an attributes hash that differs, the model's
+ // state will be `set` again.
+ save: function(key, val, options) {
+ var attrs, success, method, xhr, attributes = this.attributes;
+
+ // Handle both `"key", value` and `{key: value}` -style arguments.
+ if (key == null || typeof key === 'object') {
+ attrs = key;
+ options = val;
+ } else {
+ (attrs = {})[key] = val;
+ }
+
+ // If we're not waiting and attributes exist, save acts as `set(attr).save(null, opts)`.
+ if (attrs && (!options || !options.wait) && !this.set(attrs, options)) return false;
+
+ options = _.extend({validate: true}, options);
+
+ // Do not persist invalid models.
+ if (!this._validate(attrs, options)) return false;
+
+ // Set temporary attributes if `{wait: true}`.
+ if (attrs && options.wait) {
+ this.attributes = _.extend({}, attributes, attrs);
+ }
+
+ // After a successful server-side save, the client is (optionally)
+ // updated with the server-side state.
+ if (options.parse === void 0) options.parse = true;
+ success = options.success;
+ options.success = function(model, resp, options) {
+ // Ensure attributes are restored during synchronous saves.
+ model.attributes = attributes;
+ var serverAttrs = model.parse(resp, options);
+ if (options.wait) serverAttrs = _.extend(attrs || {}, serverAttrs);
+ if (_.isObject(serverAttrs) && !model.set(serverAttrs, options)) {
+ return false;
+ }
+ if (success) success(model, resp, options);
+ };
+
+ // Finish configuring and sending the Ajax request.
+ method = this.isNew() ? 'create' : (options.patch ? 'patch' : 'update');
+ if (method === 'patch') options.attrs = attrs;
+ xhr = this.sync(method, this, options);
+
+ // Restore attributes.
+ if (attrs && options.wait) this.attributes = attributes;
+
+ return xhr;
+ },
+
+ // Destroy this model on the server if it was already persisted.
+ // Optimistically removes the model from its collection, if it has one.
+ // If `wait: true` is passed, waits for the server to respond before removal.
+ destroy: function(options) {
+ options = options ? _.clone(options) : {};
+ var model = this;
+ var success = options.success;
+
+ var destroy = function() {
+ model.trigger('destroy', model, model.collection, options);
+ };
+
+ options.success = function(model, resp, options) {
+ if (options.wait || model.isNew()) destroy();
+ if (success) success(model, resp, options);
+ };
+
+ if (this.isNew()) {
+ options.success(this, null, options);
+ return false;
+ }
+
+ var xhr = this.sync('delete', this, options);
+ if (!options.wait) destroy();
+ return xhr;
+ },
+
+ // Default URL for the model's representation on the server -- if you're
+ // using Backbone's restful methods, override this to change the endpoint
+ // that will be called.
+ url: function() {
+ var base = _.result(this, 'urlRoot') || _.result(this.collection, 'url') || urlError();
+ if (this.isNew()) return base;
+ return base + (base.charAt(base.length - 1) === '/' ? '' : '/') + encodeURIComponent(this.id);
+ },
+
+ // **parse** converts a response into the hash of attributes to be `set` on
+ // the model. The default implementation is just to pass the response along.
+ parse: function(resp, options) {
+ return resp;
+ },
+
+ // Create a new model with identical attributes to this one.
+ clone: function() {
+ return new this.constructor(this.attributes);
+ },
+
+ // A model is new if it has never been saved to the server, and lacks an id.
+ isNew: function() {
+ return this.id == null;
+ },
+
+ // Check if the model is currently in a valid state.
+ isValid: function(options) {
+ return !this.validate || !this.validate(this.attributes, options);
+ },
+
+ // Run validation against the next complete set of model attributes,
+ // returning `true` if all is well. Otherwise, fire a general
+ // `"error"` event and call the error callback, if specified.
+ _validate: function(attrs, options) {
+ if (!options.validate || !this.validate) return true;
+ attrs = _.extend({}, this.attributes, attrs);
+ var error = this.validationError = this.validate(attrs, options) || null;
+ if (!error) return true;
+ this.trigger('invalid', this, error, options || {});
+ return false;
+ }
+
+ });
+
+ // Backbone.Collection
+ // -------------------
+
+ // Provides a standard collection class for our sets of models, ordered
+ // or unordered. If a `comparator` is specified, the Collection will maintain
+ // its models in sort order, as they're added and removed.
+ var Collection = Backbone.Collection = function(models, options) {
+ options || (options = {});
+ if (options.model) this.model = options.model;
+ if (options.comparator !== void 0) this.comparator = options.comparator;
+ this.models = [];
+ this._reset();
+ this.initialize.apply(this, arguments);
+ if (models) this.reset(models, _.extend({silent: true}, options));
+ };
+
+ // Define the Collection's inheritable methods.
+ _.extend(Collection.prototype, Events, {
+
+ // The default model for a collection is just a **Backbone.Model**.
+ // This should be overridden in most cases.
+ model: Model,
+
+ // Initialize is an empty function by default. Override it with your own
+ // initialization logic.
+ initialize: function(){},
+
+ // The JSON representation of a Collection is an array of the
+ // models' attributes.
+ toJSON: function(options) {
+ return this.map(function(model){ return model.toJSON(options); });
+ },
+
+ // Proxy `Backbone.sync` by default.
+ sync: function() {
+ return Backbone.sync.apply(this, arguments);
+ },
+
+ // Add a model, or list of models to the set.
+ add: function(models, options) {
+ models = _.isArray(models) ? models.slice() : [models];
+ options || (options = {});
+ var i, l, model, attrs, existing, doSort, add, at, sort, sortAttr;
+ add = [];
+ at = options.at;
+ sort = this.comparator && (at == null) && options.sort != false;
+ sortAttr = _.isString(this.comparator) ? this.comparator : null;
+
+ // Turn bare objects into model references, and prevent invalid models
+ // from being added.
+ for (i = 0, l = models.length; i < l; i++) {
+ if (!(model = this._prepareModel(attrs = models[i], options))) {
+ this.trigger('invalid', this, attrs, options);
+ continue;
+ }
+
+ // If a duplicate is found, prevent it from being added and
+ // optionally merge it into the existing model.
+ if (existing = this.get(model)) {
+ if (options.merge) {
+ existing.set(attrs === model ? model.attributes : attrs, options);
+ if (sort && !doSort && existing.hasChanged(sortAttr)) doSort = true;
+ }
+ continue;
+ }
+
+ // This is a new model, push it to the `add` list.
+ add.push(model);
+
+ // Listen to added models' events, and index models for lookup by
+ // `id` and by `cid`.
+ model.on('all', this._onModelEvent, this);
+ this._byId[model.cid] = model;
+ if (model.id != null) this._byId[model.id] = model;
+ }
+
+ // See if sorting is needed, update `length` and splice in new models.
+ if (add.length) {
+ if (sort) doSort = true;
+ this.length += add.length;
+ if (at != null) {
+ splice.apply(this.models, [at, 0].concat(add));
+ } else {
+ push.apply(this.models, add);
+ }
+ }
+
+ // Silently sort the collection if appropriate.
+ if (doSort) this.sort({silent: true});
+
+ if (options.silent) return this;
+
+ // Trigger `add` events.
+ for (i = 0, l = add.length; i < l; i++) {
+ (model = add[i]).trigger('add', model, this, options);
+ }
+
+ // Trigger `sort` if the collection was sorted.
+ if (doSort) this.trigger('sort', this, options);
+
+ return this;
+ },
+
+ // Remove a model, or a list of models from the set.
+ remove: function(models, options) {
+ models = _.isArray(models) ? models.slice() : [models];
+ options || (options = {});
+ var i, l, index, model;
+ for (i = 0, l = models.length; i < l; i++) {
+ model = this.get(models[i]);
+ if (!model) continue;
+ delete this._byId[model.id];
+ delete this._byId[model.cid];
+ index = this.indexOf(model);
+ this.models.splice(index, 1);
+ this.length--;
+ if (!options.silent) {
+ options.index = index;
+ model.trigger('remove', model, this, options);
+ }
+ this._removeReference(model);
+ }
+ return this;
+ },
+
+ // Add a model to the end of the collection.
+ push: function(model, options) {
+ model = this._prepareModel(model, options);
+ this.add(model, _.extend({at: this.length}, options));
+ return model;
+ },
+
+ // Remove a model from the end of the collection.
+ pop: function(options) {
+ var model = this.at(this.length - 1);
+ this.remove(model, options);
+ return model;
+ },
+
+ // Add a model to the beginning of the collection.
+ unshift: function(model, options) {
+ model = this._prepareModel(model, options);
+ this.add(model, _.extend({at: 0}, options));
+ return model;
+ },
+
+ // Remove a model from the beginning of the collection.
+ shift: function(options) {
+ var model = this.at(0);
+ this.remove(model, options);
+ return model;
+ },
+
+ // Slice out a sub-array of models from the collection.
+ slice: function(begin, end) {
+ return this.models.slice(begin, end);
+ },
+
+ // Get a model from the set by id.
+ get: function(obj) {
+ if (obj == null) return void 0;
+ this._idAttr || (this._idAttr = this.model.prototype.idAttribute);
+ return this._byId[obj.id || obj.cid || obj[this._idAttr] || obj];
+ },
+
+ // Get the model at the given index.
+ at: function(index) {
+ return this.models[index];
+ },
+
+ // Return models with matching attributes. Useful for simple cases of `filter`.
+ where: function(attrs) {
+ if (_.isEmpty(attrs)) return [];
+ return this.filter(function(model) {
+ for (var key in attrs) {
+ if (attrs[key] !== model.get(key)) return false;
+ }
+ return true;
+ });
+ },
+
+ // Force the collection to re-sort itself. You don't need to call this under
+ // normal circumstances, as the set will maintain sort order as each item
+ // is added.
+ sort: function(options) {
+ if (!this.comparator) {
+ throw new Error('Cannot sort a set without a comparator');
+ }
+ options || (options = {});
+
+ // Run sort based on type of `comparator`.
+ if (_.isString(this.comparator) || this.comparator.length === 1) {
+ this.models = this.sortBy(this.comparator, this);
+ } else {
+ this.models.sort(_.bind(this.comparator, this));
+ }
+
+ if (!options.silent) this.trigger('sort', this, options);
+ return this;
+ },
+
+ // Pluck an attribute from each model in the collection.
+ pluck: function(attr) {
+ return _.invoke(this.models, 'get', attr);
+ },
+
+ // Smartly update a collection with a change set of models, adding,
+ // removing, and merging as necessary.
+ update: function(models, options) {
+ options = _.extend({add: true, merge: true, remove: true}, options);
+ if (options.parse) models = this.parse(models, options);
+ var model, i, l, existing;
+ var add = [], remove = [], modelMap = {};
+
+ // Allow a single model (or no argument) to be passed.
+ if (!_.isArray(models)) models = models ? [models] : [];
+
+ // Proxy to `add` for this case, no need to iterate...
+ if (options.add && !options.remove) return this.add(models, options);
+
+ // Determine which models to add and merge, and which to remove.
+ for (i = 0, l = models.length; i < l; i++) {
+ model = models[i];
+ existing = this.get(model);
+ if (options.remove && existing) modelMap[existing.cid] = true;
+ if ((options.add && !existing) || (options.merge && existing)) {
+ add.push(model);
+ }
+ }
+ if (options.remove) {
+ for (i = 0, l = this.models.length; i < l; i++) {
+ model = this.models[i];
+ if (!modelMap[model.cid]) remove.push(model);
+ }
+ }
+
+ // Remove models (if applicable) before we add and merge the rest.
+ if (remove.length) this.remove(remove, options);
+ if (add.length) this.add(add, options);
+ return this;
+ },
+
+ // When you have more items than you want to add or remove individually,
+ // you can reset the entire set with a new list of models, without firing
+ // any `add` or `remove` events. Fires `reset` when finished.
+ reset: function(models, options) {
+ options || (options = {});
+ if (options.parse) models = this.parse(models, options);
+ for (var i = 0, l = this.models.length; i < l; i++) {
+ this._removeReference(this.models[i]);
+ }
+ options.previousModels = this.models.slice();
+ this._reset();
+ if (models) this.add(models, _.extend({silent: true}, options));
+ if (!options.silent) this.trigger('reset', this, options);
+ return this;
+ },
+
+ // Fetch the default set of models for this collection, resetting the
+ // collection when they arrive. If `update: true` is passed, the response
+ // data will be passed through the `update` method instead of `reset`.
+ fetch: function(options) {
+ options = options ? _.clone(options) : {};
+ if (options.parse === void 0) options.parse = true;
+ var success = options.success;
+ options.success = function(collection, resp, options) {
+ var method = options.update ? 'update' : 'reset';
+ collection[method](resp, options);
+ if (success) success(collection, resp, options);
+ };
+ return this.sync('read', this, options);
+ },
+
+ // Create a new instance of a model in this collection. Add the model to the
+ // collection immediately, unless `wait: true` is passed, in which case we
+ // wait for the server to agree.
+ create: function(model, options) {
+ options = options ? _.clone(options) : {};
+ if (!(model = this._prepareModel(model, options))) return false;
+ if (!options.wait) this.add(model, options);
+ var collection = this;
+ var success = options.success;
+ options.success = function(model, resp, options) {
+ if (options.wait) collection.add(model, options);
+ if (success) success(model, resp, options);
+ };
+ model.save(null, options);
+ return model;
+ },
+
+ // **parse** converts a response into a list of models to be added to the
+ // collection. The default implementation is just to pass it through.
+ parse: function(resp, options) {
+ return resp;
+ },
+
+ // Create a new collection with an identical list of models as this one.
+ clone: function() {
+ return new this.constructor(this.models);
+ },
+
+ // Reset all internal state. Called when the collection is reset.
+ _reset: function() {
+ this.length = 0;
+ this.models.length = 0;
+ this._byId = {};
+ },
+
+ // Prepare a model or hash of attributes to be added to this collection.
+ _prepareModel: function(attrs, options) {
+ if (attrs instanceof Model) {
+ if (!attrs.collection) attrs.collection = this;
+ return attrs;
+ }
+ options || (options = {});
+ options.collection = this;
+ var model = new this.model(attrs, options);
+ if (!model._validate(attrs, options)) return false;
+ return model;
+ },
+
+ // Internal method to remove a model's ties to a collection.
+ _removeReference: function(model) {
+ if (this === model.collection) delete model.collection;
+ model.off('all', this._onModelEvent, this);
+ },
+
+ // Internal method called every time a model in the set fires an event.
+ // Sets need to update their indexes when models change ids. All other
+ // events simply proxy through. "add" and "remove" events that originate
+ // in other collections are ignored.
+ _onModelEvent: function(event, model, collection, options) {
+ if ((event === 'add' || event === 'remove') && collection !== this) return;
+ if (event === 'destroy') this.remove(model, options);
+ if (model && event === 'change:' + model.idAttribute) {
+ delete this._byId[model.previous(model.idAttribute)];
+ if (model.id != null) this._byId[model.id] = model;
+ }
+ this.trigger.apply(this, arguments);
+ },
+
+ sortedIndex: function (model, value, context) {
+ value || (value = this.comparator);
+ var iterator = _.isFunction(value) ? value : function(model) {
+ return model.get(value);
+ };
+ return _.sortedIndex(this.models, model, iterator, context);
+ }
+
+ });
+
+ // Underscore methods that we want to implement on the Collection.
+ var methods = ['forEach', 'each', 'map', 'collect', 'reduce', 'foldl',
+ 'inject', 'reduceRight', 'foldr', 'find', 'detect', 'filter', 'select',
+ 'reject', 'every', 'all', 'some', 'any', 'include', 'contains', 'invoke',
+ 'max', 'min', 'toArray', 'size', 'first', 'head', 'take', 'initial', 'rest',
+ 'tail', 'drop', 'last', 'without', 'indexOf', 'shuffle', 'lastIndexOf',
+ 'isEmpty', 'chain'];
+
+ // Mix in each Underscore method as a proxy to `Collection#models`.
+ _.each(methods, function(method) {
+ Collection.prototype[method] = function() {
+ var args = slice.call(arguments);
+ args.unshift(this.models);
+ return _[method].apply(_, args);
+ };
+ });
+
+ // Underscore methods that take a property name as an argument.
+ var attributeMethods = ['groupBy', 'countBy', 'sortBy'];
+
+ // Use attributes instead of properties.
+ _.each(attributeMethods, function(method) {
+ Collection.prototype[method] = function(value, context) {
+ var iterator = _.isFunction(value) ? value : function(model) {
+ return model.get(value);
+ };
+ return _[method](this.models, iterator, context);
+ };
+ });
+
+ // Backbone.Router
+ // ---------------
+
+ // Routers map faux-URLs to actions, and fire events when routes are
+ // matched. Creating a new one sets its `routes` hash, if not set statically.
+ var Router = Backbone.Router = function(options) {
+ options || (options = {});
+ if (options.routes) this.routes = options.routes;
+ this._bindRoutes();
+ this.initialize.apply(this, arguments);
+ };
+
+ // Cached regular expressions for matching named param parts and splatted
+ // parts of route strings.
+ var optionalParam = /\((.*?)\)/g;
+ var namedParam = /(\(\?)?:\w+/g;
+ var splatParam = /\*\w+/g;
+ var escapeRegExp = /[\-{}\[\]+?.,\\\^$|#\s]/g;
+
+ // Set up all inheritable **Backbone.Router** properties and methods.
+ _.extend(Router.prototype, Events, {
+
+ // Initialize is an empty function by default. Override it with your own
+ // initialization logic.
+ initialize: function(){},
+
+ // Manually bind a single named route to a callback. For example:
+ //
+ // this.route('search/:query/p:num', 'search', function(query, num) {
+ // ...
+ // });
+ //
+ route: function(route, name, callback) {
+ if (!_.isRegExp(route)) route = this._routeToRegExp(route);
+ if (!callback) callback = this[name];
+ Backbone.history.route(route, _.bind(function(fragment) {
+ var args = this._extractParameters(route, fragment);
+ callback && callback.apply(this, args);
+ this.trigger.apply(this, ['route:' + name].concat(args));
+ this.trigger('route', name, args);
+ Backbone.history.trigger('route', this, name, args);
+ }, this));
+ return this;
+ },
+
+ // Simple proxy to `Backbone.history` to save a fragment into the history.
+ navigate: function(fragment, options) {
+ Backbone.history.navigate(fragment, options);
+ return this;
+ },
+
+ // Bind all defined routes to `Backbone.history`. We have to reverse the
+ // order of the routes here to support behavior where the most general
+ // routes can be defined at the bottom of the route map.
+ _bindRoutes: function() {
+ if (!this.routes) return;
+ var route, routes = _.keys(this.routes);
+ while ((route = routes.pop()) != null) {
+ this.route(route, this.routes[route]);
+ }
+ },
+
+ // Convert a route string into a regular expression, suitable for matching
+ // against the current location hash.
+ _routeToRegExp: function(route) {
+ route = route.replace(escapeRegExp, '\\$&')
+ .replace(optionalParam, '(?:$1)?')
+ .replace(namedParam, function(match, optional){
+ return optional ? match : '([^\/]+)';
+ })
+ .replace(splatParam, '(.*?)');
+ return new RegExp('^' + route + '$');
+ },
+
+ // Given a route, and a URL fragment that it matches, return the array of
+ // extracted parameters.
+ _extractParameters: function(route, fragment) {
+ return route.exec(fragment).slice(1);
+ }
+
+ });
+
+ // Backbone.History
+ // ----------------
+
+ // Handles cross-browser history management, based on URL fragments. If the
+ // browser does not support `onhashchange`, falls back to polling.
+ var History = Backbone.History = function() {
+ this.handlers = [];
+ _.bindAll(this, 'checkUrl');
+
+ // Ensure that `History` can be used outside of the browser.
+ if (typeof window !== 'undefined') {
+ this.location = window.location;
+ this.history = window.history;
+ }
+ };
+
+ // Cached regex for stripping a leading hash/slash and trailing space.
+ var routeStripper = /^[#\/]|\s+$/g;
+
+ // Cached regex for stripping leading and trailing slashes.
+ var rootStripper = /^\/+|\/+$/g;
+
+ // Cached regex for detecting MSIE.
+ var isExplorer = /msie [\w.]+/;
+
+ // Cached regex for removing a trailing slash.
+ var trailingSlash = /\/$/;
+
+ // Has the history handling already been started?
+ History.started = false;
+
+ // Set up all inheritable **Backbone.History** properties and methods.
+ _.extend(History.prototype, Events, {
+
+ // The default interval to poll for hash changes, if necessary, is
+ // twenty times a second.
+ interval: 50,
+
+ // Gets the true hash value. Cannot use location.hash directly due to bug
+ // in Firefox where location.hash will always be decoded.
+ getHash: function(window) {
+ var match = (window || this).location.href.match(/#(.*)$/);
+ return match ? match[1] : '';
+ },
+
+ // Get the cross-browser normalized URL fragment, either from the URL,
+ // the hash, or the override.
+ getFragment: function(fragment, forcePushState) {
+ if (fragment == null) {
+ if (this._hasPushState || !this._wantsHashChange || forcePushState) {
+ fragment = this.location.pathname;
+ var root = this.root.replace(trailingSlash, '');
+ if (!fragment.indexOf(root)) fragment = fragment.substr(root.length);
+ } else {
+ fragment = this.getHash();
+ }
+ }
+ return fragment.replace(routeStripper, '');
+ },
+
+ // Start the hash change handling, returning `true` if the current URL matches
+ // an existing route, and `false` otherwise.
+ start: function(options) {
+ if (History.started) throw new Error("Backbone.history has already been started");
+ History.started = true;
+
+ // Figure out the initial configuration. Do we need an iframe?
+ // Is pushState desired ... is it available?
+ this.options = _.extend({}, {root: '/'}, this.options, options);
+ this.root = this.options.root;
+ this._wantsHashChange = this.options.hashChange !== false;
+ this._wantsPushState = !!this.options.pushState;
+ this._hasPushState = !!(this.options.pushState && this.history && this.history.pushState);
+ var fragment = this.getFragment();
+ var docMode = document.documentMode;
+ var oldIE = (isExplorer.exec(navigator.userAgent.toLowerCase()) && (!docMode || docMode <= 7));
+
+ // Normalize root to always include a leading and trailing slash.
+ this.root = ('/' + this.root + '/').replace(rootStripper, '/');
+
+ if (oldIE && this._wantsHashChange) {
+ this.iframe = Backbone.$('').hide().appendTo('body')[0].contentWindow;
+ this.navigate(fragment);
+ }
+
+ // Depending on whether we're using pushState or hashes, and whether
+ // 'onhashchange' is supported, determine how we check the URL state.
+ if (this._hasPushState) {
+ Backbone.$(window).on('popstate', this.checkUrl);
+ } else if (this._wantsHashChange && ('onhashchange' in window) && !oldIE) {
+ Backbone.$(window).on('hashchange', this.checkUrl);
+ } else if (this._wantsHashChange) {
+ this._checkUrlInterval = setInterval(this.checkUrl, this.interval);
+ }
+
+ // Determine if we need to change the base url, for a pushState link
+ // opened by a non-pushState browser.
+ this.fragment = fragment;
+ var loc = this.location;
+ var atRoot = loc.pathname.replace(/[^\/]$/, '$&/') === this.root;
+
+ // If we've started off with a route from a `pushState`-enabled browser,
+ // but we're currently in a browser that doesn't support it...
+ if (this._wantsHashChange && this._wantsPushState && !this._hasPushState && !atRoot) {
+ this.fragment = this.getFragment(null, true);
+ this.location.replace(this.root + this.location.search + '#' + this.fragment);
+ // Return immediately as browser will do redirect to new url
+ return true;
+
+ // Or if we've started out with a hash-based route, but we're currently
+ // in a browser where it could be `pushState`-based instead...
+ } else if (this._wantsPushState && this._hasPushState && atRoot && loc.hash) {
+ this.fragment = this.getHash().replace(routeStripper, '');
+ this.history.replaceState({}, document.title, this.root + this.fragment + loc.search);
+ }
+
+ if (!this.options.silent) return this.loadUrl();
+ },
+
+ // Disable Backbone.history, perhaps temporarily. Not useful in a real app,
+ // but possibly useful for unit testing Routers.
+ stop: function() {
+ Backbone.$(window).off('popstate', this.checkUrl).off('hashchange', this.checkUrl);
+ clearInterval(this._checkUrlInterval);
+ History.started = false;
+ },
+
+ // Add a route to be tested when the fragment changes. Routes added later
+ // may override previous routes.
+ route: function(route, callback) {
+ this.handlers.unshift({route: route, callback: callback});
+ },
+
+ // Checks the current URL to see if it has changed, and if it has,
+ // calls `loadUrl`, normalizing across the hidden iframe.
+ checkUrl: function(e) {
+ var current = this.getFragment();
+ if (current === this.fragment && this.iframe) {
+ current = this.getFragment(this.getHash(this.iframe));
+ }
+ if (current === this.fragment) return false;
+ if (this.iframe) this.navigate(current);
+ this.loadUrl() || this.loadUrl(this.getHash());
+ },
+
+ // Attempt to load the current URL fragment. If a route succeeds with a
+ // match, returns `true`. If no defined routes matches the fragment,
+ // returns `false`.
+ loadUrl: function(fragmentOverride) {
+ var fragment = this.fragment = this.getFragment(fragmentOverride);
+ var matched = _.any(this.handlers, function(handler) {
+ if (handler.route.test(fragment)) {
+ handler.callback(fragment);
+ return true;
+ }
+ });
+ return matched;
+ },
+
+ // Save a fragment into the hash history, or replace the URL state if the
+ // 'replace' option is passed. You are responsible for properly URL-encoding
+ // the fragment in advance.
+ //
+ // The options object can contain `trigger: true` if you wish to have the
+ // route callback be fired (not usually desirable), or `replace: true`, if
+ // you wish to modify the current URL without adding an entry to the history.
+ navigate: function(fragment, options) {
+ if (!History.started) return false;
+ if (!options || options === true) options = {trigger: options};
+ fragment = this.getFragment(fragment || '');
+ if (this.fragment === fragment) return;
+ this.fragment = fragment;
+ var url = this.root + fragment;
+
+ // If pushState is available, we use it to set the fragment as a real URL.
+ if (this._hasPushState) {
+ this.history[options.replace ? 'replaceState' : 'pushState']({}, document.title, url);
+
+ // If hash changes haven't been explicitly disabled, update the hash
+ // fragment to store history.
+ } else if (this._wantsHashChange) {
+ this._updateHash(this.location, fragment, options.replace);
+ if (this.iframe && (fragment !== this.getFragment(this.getHash(this.iframe)))) {
+ // Opening and closing the iframe tricks IE7 and earlier to push a
+ // history entry on hash-tag change. When replace is true, we don't
+ // want this.
+ if(!options.replace) this.iframe.document.open().close();
+ this._updateHash(this.iframe.location, fragment, options.replace);
+ }
+
+ // If you've told us that you explicitly don't want fallback hashchange-
+ // based history, then `navigate` becomes a page refresh.
+ } else {
+ return this.location.assign(url);
+ }
+ if (options.trigger) this.loadUrl(fragment);
+ },
+
+ // Update the hash location, either replacing the current entry, or adding
+ // a new one to the browser history.
+ _updateHash: function(location, fragment, replace) {
+ if (replace) {
+ var href = location.href.replace(/(javascript:|#).*$/, '');
+ location.replace(href + '#' + fragment);
+ } else {
+ // Some browsers require that `hash` contains a leading #.
+ location.hash = '#' + fragment;
+ }
+ }
+
+ });
+
+ // Create the default Backbone.history.
+ Backbone.history = new History;
+
+ // Backbone.View
+ // -------------
+
+ // Creating a Backbone.View creates its initial element outside of the DOM,
+ // if an existing element is not provided...
+ var View = Backbone.View = function(options) {
+ this.cid = _.uniqueId('view');
+ this._configure(options || {});
+ this._ensureElement();
+ this.initialize.apply(this, arguments);
+ this.delegateEvents();
+ };
+
+ // Cached regex to split keys for `delegate`.
+ var delegateEventSplitter = /^(\S+)\s*(.*)$/;
+
+ // List of view options to be merged as properties.
+ var viewOptions = ['model', 'collection', 'el', 'id', 'attributes', 'className', 'tagName', 'events'];
+
+ // Set up all inheritable **Backbone.View** properties and methods.
+ _.extend(View.prototype, Events, {
+
+ // The default `tagName` of a View's element is `"div"`.
+ tagName: 'div',
+
+ // jQuery delegate for element lookup, scoped to DOM elements within the
+ // current view. This should be prefered to global lookups where possible.
+ $: function(selector) {
+ return this.$el.find(selector);
+ },
+
+ // Initialize is an empty function by default. Override it with your own
+ // initialization logic.
+ initialize: function(){},
+
+ // **render** is the core function that your view should override, in order
+ // to populate its element (`this.el`), with the appropriate HTML. The
+ // convention is for **render** to always return `this`.
+ render: function() {
+ return this;
+ },
+
+ // Remove this view by taking the element out of the DOM, and removing any
+ // applicable Backbone.Events listeners.
+ remove: function() {
+ this.$el.remove();
+ this.stopListening();
+ return this;
+ },
+
+ // Change the view's element (`this.el` property), including event
+ // re-delegation.
+ setElement: function(element, delegate) {
+ if (this.$el) this.undelegateEvents();
+ this.$el = element instanceof Backbone.$ ? element : Backbone.$(element);
+ this.el = this.$el[0];
+ if (delegate !== false) this.delegateEvents();
+ return this;
+ },
+
+ // Set callbacks, where `this.events` is a hash of
+ //
+ // *{"event selector": "callback"}*
+ //
+ // {
+ // 'mousedown .title': 'edit',
+ // 'click .button': 'save'
+ // 'click .open': function(e) { ... }
+ // }
+ //
+ // pairs. Callbacks will be bound to the view, with `this` set properly.
+ // Uses event delegation for efficiency.
+ // Omitting the selector binds the event to `this.el`.
+ // This only works for delegate-able events: not `focus`, `blur`, and
+ // not `change`, `submit`, and `reset` in Internet Explorer.
+ delegateEvents: function(events) {
+ if (!(events || (events = _.result(this, 'events')))) return;
+ this.undelegateEvents();
+ for (var key in events) {
+ var method = events[key];
+ if (!_.isFunction(method)) method = this[events[key]];
+ if (!method) throw new Error('Method "' + events[key] + '" does not exist');
+ var match = key.match(delegateEventSplitter);
+ var eventName = match[1], selector = match[2];
+ method = _.bind(method, this);
+ eventName += '.delegateEvents' + this.cid;
+ if (selector === '') {
+ this.$el.on(eventName, method);
+ } else {
+ this.$el.on(eventName, selector, method);
+ }
+ }
+ },
+
+ // Clears all callbacks previously bound to the view with `delegateEvents`.
+ // You usually don't need to use this, but may wish to if you have multiple
+ // Backbone views attached to the same DOM element.
+ undelegateEvents: function() {
+ this.$el.off('.delegateEvents' + this.cid);
+ },
+
+ // Performs the initial configuration of a View with a set of options.
+ // Keys with special meaning *(model, collection, id, className)*, are
+ // attached directly to the view.
+ _configure: function(options) {
+ if (this.options) options = _.extend({}, _.result(this, 'options'), options);
+ _.extend(this, _.pick(options, viewOptions));
+ this.options = options;
+ },
+
+ // Ensure that the View has a DOM element to render into.
+ // If `this.el` is a string, pass it through `$()`, take the first
+ // matching element, and re-assign it to `el`. Otherwise, create
+ // an element from the `id`, `className` and `tagName` properties.
+ _ensureElement: function() {
+ if (!this.el) {
+ var attrs = _.extend({}, _.result(this, 'attributes'));
+ if (this.id) attrs.id = _.result(this, 'id');
+ if (this.className) attrs['class'] = _.result(this, 'className');
+ var $el = Backbone.$('<' + _.result(this, 'tagName') + '>').attr(attrs);
+ this.setElement($el, false);
+ } else {
+ this.setElement(_.result(this, 'el'), false);
+ }
+ }
+
+ });
+
+ // Backbone.sync
+ // -------------
+
+ // Map from CRUD to HTTP for our default `Backbone.sync` implementation.
+ var methodMap = {
+ 'create': 'POST',
+ 'update': 'PUT',
+ 'patch': 'PATCH',
+ 'delete': 'DELETE',
+ 'read': 'GET'
+ };
+
+ // Override this function to change the manner in which Backbone persists
+ // models to the server. You will be passed the type of request, and the
+ // model in question. By default, makes a RESTful Ajax request
+ // to the model's `url()`. Some possible customizations could be:
+ //
+ // * Use `setTimeout` to batch rapid-fire updates into a single request.
+ // * Send up the models as XML instead of JSON.
+ // * Persist models via WebSockets instead of Ajax.
+ //
+ // Turn on `Backbone.emulateHTTP` in order to send `PUT` and `DELETE` requests
+ // as `POST`, with a `_method` parameter containing the true HTTP method,
+ // as well as all requests with the body as `application/x-www-form-urlencoded`
+ // instead of `application/json` with the model in a param named `model`.
+ // Useful when interfacing with server-side languages like **PHP** that make
+ // it difficult to read the body of `PUT` requests.
+ Backbone.sync = function(method, model, options) {
+ var type = methodMap[method];
+
+ // Default options, unless specified.
+ _.defaults(options || (options = {}), {
+ emulateHTTP: Backbone.emulateHTTP,
+ emulateJSON: Backbone.emulateJSON
+ });
+
+ // Default JSON-request options.
+ var params = {type: type, dataType: 'json'};
+
+ // Ensure that we have a URL.
+ if (!options.url) {
+ params.url = _.result(model, 'url') || urlError();
+ }
+
+ // Ensure that we have the appropriate request data.
+ if (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) {
+ params.contentType = 'application/json';
+ params.data = JSON.stringify(options.attrs || model.toJSON(options));
+ }
+
+ // For older servers, emulate JSON by encoding the request into an HTML-form.
+ if (options.emulateJSON) {
+ params.contentType = 'application/x-www-form-urlencoded';
+ params.data = params.data ? {model: params.data} : {};
+ }
+
+ // For older servers, emulate HTTP by mimicking the HTTP method with `_method`
+ // And an `X-HTTP-Method-Override` header.
+ if (options.emulateHTTP && (type === 'PUT' || type === 'DELETE' || type === 'PATCH')) {
+ params.type = 'POST';
+ if (options.emulateJSON) params.data._method = type;
+ var beforeSend = options.beforeSend;
+ options.beforeSend = function(xhr) {
+ xhr.setRequestHeader('X-HTTP-Method-Override', type);
+ if (beforeSend) return beforeSend.apply(this, arguments);
+ };
+ }
+
+ // Don't process data on a non-GET request.
+ if (params.type !== 'GET' && !options.emulateJSON) {
+ params.processData = false;
+ }
+
+ var success = options.success;
+ options.success = function(resp) {
+ if (success) success(model, resp, options);
+ model.trigger('sync', model, resp, options);
+ };
+
+ var error = options.error;
+ options.error = function(xhr) {
+ if (error) error(model, xhr, options);
+ model.trigger('error', model, xhr, options);
+ };
+
+ // Make the request, allowing the user to override any Ajax options.
+ var xhr = options.xhr = Backbone.ajax(_.extend(params, options));
+ model.trigger('request', model, xhr, options);
+ return xhr;
+ };
+
+ // Set the default implementation of `Backbone.ajax` to proxy through to `$`.
+ Backbone.ajax = function() {
+ return Backbone.$.ajax.apply(Backbone.$, arguments);
+ };
+
+ // Helpers
+ // -------
+
+ // Helper function to correctly set up the prototype chain, for subclasses.
+ // Similar to `goog.inherits`, but uses a hash of prototype properties and
+ // class properties to be extended.
+ var extend = function(protoProps, staticProps) {
+ var parent = this;
+ var child;
+
+ // The constructor function for the new subclass is either defined by you
+ // (the "constructor" property in your `extend` definition), or defaulted
+ // by us to simply call the parent's constructor.
+ if (protoProps && _.has(protoProps, 'constructor')) {
+ child = protoProps.constructor;
+ } else {
+ child = function(){ return parent.apply(this, arguments); };
+ }
+
+ // Add static properties to the constructor function, if supplied.
+ _.extend(child, parent, staticProps);
+
+ // Set the prototype chain to inherit from `parent`, without calling
+ // `parent`'s constructor function.
+ var Surrogate = function(){ this.constructor = child; };
+ Surrogate.prototype = parent.prototype;
+ child.prototype = new Surrogate;
+
+ // Add prototype properties (instance properties) to the subclass,
+ // if supplied.
+ if (protoProps) _.extend(child.prototype, protoProps);
+
+ // Set a convenience property in case the parent's prototype is needed
+ // later.
+ child.__super__ = parent.prototype;
+
+ return child;
+ };
+
+ // Set up inheritance for the model, collection, router, view and history.
+ Model.extend = Collection.extend = Router.extend = View.extend = History.extend = extend;
+
+ // Throw an error when a URL is needed, and none is supplied.
+ var urlError = function() {
+ throw new Error('A "url" property or function must be specified');
+ };
+
+}).call(this);
diff --git a/exercise-2/site/js/lib/jquery-1.9.0.js b/exercise-2/site/js/lib/jquery-1.9.0.js
new file mode 100644
index 00000000..ad1374a6
--- /dev/null
+++ b/exercise-2/site/js/lib/jquery-1.9.0.js
@@ -0,0 +1,9555 @@
+/*!
+ * jQuery JavaScript Library v1.9.0
+ * http://jquery.com/
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ *
+ * Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2013-1-14
+ */
+(function( window, undefined ) {
+"use strict";
+var
+ // A central reference to the root jQuery(document)
+ rootjQuery,
+
+ // The deferred used on DOM ready
+ readyList,
+
+ // Use the correct document accordingly with window argument (sandbox)
+ document = window.document,
+ location = window.location,
+
+ // Map over jQuery in case of overwrite
+ _jQuery = window.jQuery,
+
+ // Map over the $ in case of overwrite
+ _$ = window.$,
+
+ // [[Class]] -> type pairs
+ class2type = {},
+
+ // List of deleted data cache ids, so we can reuse them
+ core_deletedIds = [],
+
+ core_version = "1.9.0",
+
+ // Save a reference to some core methods
+ core_concat = core_deletedIds.concat,
+ core_push = core_deletedIds.push,
+ core_slice = core_deletedIds.slice,
+ core_indexOf = core_deletedIds.indexOf,
+ core_toString = class2type.toString,
+ core_hasOwn = class2type.hasOwnProperty,
+ core_trim = core_version.trim,
+
+ // Define a local copy of jQuery
+ jQuery = function( selector, context ) {
+ // The jQuery object is actually just the init constructor 'enhanced'
+ return new jQuery.fn.init( selector, context, rootjQuery );
+ },
+
+ // Used for matching numbers
+ core_pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
+
+ // Used for splitting on whitespace
+ core_rnotwhite = /\S+/g,
+
+ // Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE)
+ rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
+
+ // A simple way to check for HTML strings
+ // Prioritize #id over to avoid XSS via location.hash (#9521)
+ // Strict HTML recognition (#11290: must start with <)
+ rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,
+
+ // Match a standalone tag
+ rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
+
+ // JSON RegExp
+ rvalidchars = /^[\],:{}\s]*$/,
+ rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,
+ rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,
+ rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,
+
+ // Matches dashed string for camelizing
+ rmsPrefix = /^-ms-/,
+ rdashAlpha = /-([\da-z])/gi,
+
+ // Used by jQuery.camelCase as callback to replace()
+ fcamelCase = function( all, letter ) {
+ return letter.toUpperCase();
+ },
+
+ // The ready event handler and self cleanup method
+ DOMContentLoaded = function() {
+ if ( document.addEventListener ) {
+ document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );
+ jQuery.ready();
+ } else if ( document.readyState === "complete" ) {
+ // we're here because readyState === "complete" in oldIE
+ // which is good enough for us to call the dom ready!
+ document.detachEvent( "onreadystatechange", DOMContentLoaded );
+ jQuery.ready();
+ }
+ };
+
+jQuery.fn = jQuery.prototype = {
+ // The current version of jQuery being used
+ jquery: core_version,
+
+ constructor: jQuery,
+ init: function( selector, context, rootjQuery ) {
+ var match, elem;
+
+ // HANDLE: $(""), $(null), $(undefined), $(false)
+ if ( !selector ) {
+ return this;
+ }
+
+ // Handle HTML strings
+ if ( typeof selector === "string" ) {
+ if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {
+ // Assume that strings that start and end with <> are HTML and skip the regex check
+ match = [ null, selector, null ];
+
+ } else {
+ match = rquickExpr.exec( selector );
+ }
+
+ // Match html or make sure no context is specified for #id
+ if ( match && (match[1] || !context) ) {
+
+ // HANDLE: $(html) -> $(array)
+ if ( match[1] ) {
+ context = context instanceof jQuery ? context[0] : context;
+
+ // scripts is true for back-compat
+ jQuery.merge( this, jQuery.parseHTML(
+ match[1],
+ context && context.nodeType ? context.ownerDocument || context : document,
+ true
+ ) );
+
+ // HANDLE: $(html, props)
+ if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {
+ for ( match in context ) {
+ // Properties of context are called as methods if possible
+ if ( jQuery.isFunction( this[ match ] ) ) {
+ this[ match ]( context[ match ] );
+
+ // ...and otherwise set as attributes
+ } else {
+ this.attr( match, context[ match ] );
+ }
+ }
+ }
+
+ return this;
+
+ // HANDLE: $(#id)
+ } else {
+ elem = document.getElementById( match[2] );
+
+ // Check parentNode to catch when Blackberry 4.6 returns
+ // nodes that are no longer in the document #6963
+ if ( elem && elem.parentNode ) {
+ // Handle the case where IE and Opera return items
+ // by name instead of ID
+ if ( elem.id !== match[2] ) {
+ return rootjQuery.find( selector );
+ }
+
+ // Otherwise, we inject the element directly into the jQuery object
+ this.length = 1;
+ this[0] = elem;
+ }
+
+ this.context = document;
+ this.selector = selector;
+ return this;
+ }
+
+ // HANDLE: $(expr, $(...))
+ } else if ( !context || context.jquery ) {
+ return ( context || rootjQuery ).find( selector );
+
+ // HANDLE: $(expr, context)
+ // (which is just equivalent to: $(context).find(expr)
+ } else {
+ return this.constructor( context ).find( selector );
+ }
+
+ // HANDLE: $(DOMElement)
+ } else if ( selector.nodeType ) {
+ this.context = this[0] = selector;
+ this.length = 1;
+ return this;
+
+ // HANDLE: $(function)
+ // Shortcut for document ready
+ } else if ( jQuery.isFunction( selector ) ) {
+ return rootjQuery.ready( selector );
+ }
+
+ if ( selector.selector !== undefined ) {
+ this.selector = selector.selector;
+ this.context = selector.context;
+ }
+
+ return jQuery.makeArray( selector, this );
+ },
+
+ // Start with an empty selector
+ selector: "",
+
+ // The default length of a jQuery object is 0
+ length: 0,
+
+ // The number of elements contained in the matched element set
+ size: function() {
+ return this.length;
+ },
+
+ toArray: function() {
+ return core_slice.call( this );
+ },
+
+ // Get the Nth element in the matched element set OR
+ // Get the whole matched element set as a clean array
+ get: function( num ) {
+ return num == null ?
+
+ // Return a 'clean' array
+ this.toArray() :
+
+ // Return just the object
+ ( num < 0 ? this[ this.length + num ] : this[ num ] );
+ },
+
+ // Take an array of elements and push it onto the stack
+ // (returning the new matched element set)
+ pushStack: function( elems ) {
+
+ // Build a new jQuery matched element set
+ var ret = jQuery.merge( this.constructor(), elems );
+
+ // Add the old object onto the stack (as a reference)
+ ret.prevObject = this;
+ ret.context = this.context;
+
+ // Return the newly-formed element set
+ return ret;
+ },
+
+ // Execute a callback for every element in the matched set.
+ // (You can seed the arguments with an array of args, but this is
+ // only used internally.)
+ each: function( callback, args ) {
+ return jQuery.each( this, callback, args );
+ },
+
+ ready: function( fn ) {
+ // Add the callback
+ jQuery.ready.promise().done( fn );
+
+ return this;
+ },
+
+ slice: function() {
+ return this.pushStack( core_slice.apply( this, arguments ) );
+ },
+
+ first: function() {
+ return this.eq( 0 );
+ },
+
+ last: function() {
+ return this.eq( -1 );
+ },
+
+ eq: function( i ) {
+ var len = this.length,
+ j = +i + ( i < 0 ? len : 0 );
+ return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] );
+ },
+
+ map: function( callback ) {
+ return this.pushStack( jQuery.map(this, function( elem, i ) {
+ return callback.call( elem, i, elem );
+ }));
+ },
+
+ end: function() {
+ return this.prevObject || this.constructor(null);
+ },
+
+ // For internal use only.
+ // Behaves like an Array's method, not like a jQuery method.
+ push: core_push,
+ sort: [].sort,
+ splice: [].splice
+};
+
+// Give the init function the jQuery prototype for later instantiation
+jQuery.fn.init.prototype = jQuery.fn;
+
+jQuery.extend = jQuery.fn.extend = function() {
+ var options, name, src, copy, copyIsArray, clone,
+ target = arguments[0] || {},
+ i = 1,
+ length = arguments.length,
+ deep = false;
+
+ // Handle a deep copy situation
+ if ( typeof target === "boolean" ) {
+ deep = target;
+ target = arguments[1] || {};
+ // skip the boolean and the target
+ i = 2;
+ }
+
+ // Handle case when target is a string or something (possible in deep copy)
+ if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
+ target = {};
+ }
+
+ // extend jQuery itself if only one argument is passed
+ if ( length === i ) {
+ target = this;
+ --i;
+ }
+
+ for ( ; i < length; i++ ) {
+ // Only deal with non-null/undefined values
+ if ( (options = arguments[ i ]) != null ) {
+ // Extend the base object
+ for ( name in options ) {
+ src = target[ name ];
+ copy = options[ name ];
+
+ // Prevent never-ending loop
+ if ( target === copy ) {
+ continue;
+ }
+
+ // Recurse if we're merging plain objects or arrays
+ if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
+ if ( copyIsArray ) {
+ copyIsArray = false;
+ clone = src && jQuery.isArray(src) ? src : [];
+
+ } else {
+ clone = src && jQuery.isPlainObject(src) ? src : {};
+ }
+
+ // Never move original objects, clone them
+ target[ name ] = jQuery.extend( deep, clone, copy );
+
+ // Don't bring in undefined values
+ } else if ( copy !== undefined ) {
+ target[ name ] = copy;
+ }
+ }
+ }
+ }
+
+ // Return the modified object
+ return target;
+};
+
+jQuery.extend({
+ noConflict: function( deep ) {
+ if ( window.$ === jQuery ) {
+ window.$ = _$;
+ }
+
+ if ( deep && window.jQuery === jQuery ) {
+ window.jQuery = _jQuery;
+ }
+
+ return jQuery;
+ },
+
+ // Is the DOM ready to be used? Set to true once it occurs.
+ isReady: false,
+
+ // A counter to track how many items to wait for before
+ // the ready event fires. See #6781
+ readyWait: 1,
+
+ // Hold (or release) the ready event
+ holdReady: function( hold ) {
+ if ( hold ) {
+ jQuery.readyWait++;
+ } else {
+ jQuery.ready( true );
+ }
+ },
+
+ // Handle when the DOM is ready
+ ready: function( wait ) {
+
+ // Abort if there are pending holds or we're already ready
+ if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
+ return;
+ }
+
+ // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
+ if ( !document.body ) {
+ return setTimeout( jQuery.ready );
+ }
+
+ // Remember that the DOM is ready
+ jQuery.isReady = true;
+
+ // If a normal DOM Ready event fired, decrement, and wait if need be
+ if ( wait !== true && --jQuery.readyWait > 0 ) {
+ return;
+ }
+
+ // If there are functions bound, to execute
+ readyList.resolveWith( document, [ jQuery ] );
+
+ // Trigger any bound ready events
+ if ( jQuery.fn.trigger ) {
+ jQuery( document ).trigger("ready").off("ready");
+ }
+ },
+
+ // See test/unit/core.js for details concerning isFunction.
+ // Since version 1.3, DOM methods and functions like alert
+ // aren't supported. They return false on IE (#2968).
+ isFunction: function( obj ) {
+ return jQuery.type(obj) === "function";
+ },
+
+ isArray: Array.isArray || function( obj ) {
+ return jQuery.type(obj) === "array";
+ },
+
+ isWindow: function( obj ) {
+ return obj != null && obj == obj.window;
+ },
+
+ isNumeric: function( obj ) {
+ return !isNaN( parseFloat(obj) ) && isFinite( obj );
+ },
+
+ type: function( obj ) {
+ if ( obj == null ) {
+ return String( obj );
+ }
+ return typeof obj === "object" || typeof obj === "function" ?
+ class2type[ core_toString.call(obj) ] || "object" :
+ typeof obj;
+ },
+
+ isPlainObject: function( obj ) {
+ // Must be an Object.
+ // Because of IE, we also have to check the presence of the constructor property.
+ // Make sure that DOM nodes and window objects don't pass through, as well
+ if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
+ return false;
+ }
+
+ try {
+ // Not own constructor property must be Object
+ if ( obj.constructor &&
+ !core_hasOwn.call(obj, "constructor") &&
+ !core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
+ return false;
+ }
+ } catch ( e ) {
+ // IE8,9 Will throw exceptions on certain host objects #9897
+ return false;
+ }
+
+ // Own properties are enumerated firstly, so to speed up,
+ // if last one is own, then all properties are own.
+
+ var key;
+ for ( key in obj ) {}
+
+ return key === undefined || core_hasOwn.call( obj, key );
+ },
+
+ isEmptyObject: function( obj ) {
+ var name;
+ for ( name in obj ) {
+ return false;
+ }
+ return true;
+ },
+
+ error: function( msg ) {
+ throw new Error( msg );
+ },
+
+ // data: string of html
+ // context (optional): If specified, the fragment will be created in this context, defaults to document
+ // keepScripts (optional): If true, will include scripts passed in the html string
+ parseHTML: function( data, context, keepScripts ) {
+ if ( !data || typeof data !== "string" ) {
+ return null;
+ }
+ if ( typeof context === "boolean" ) {
+ keepScripts = context;
+ context = false;
+ }
+ context = context || document;
+
+ var parsed = rsingleTag.exec( data ),
+ scripts = !keepScripts && [];
+
+ // Single tag
+ if ( parsed ) {
+ return [ context.createElement( parsed[1] ) ];
+ }
+
+ parsed = jQuery.buildFragment( [ data ], context, scripts );
+ if ( scripts ) {
+ jQuery( scripts ).remove();
+ }
+ return jQuery.merge( [], parsed.childNodes );
+ },
+
+ parseJSON: function( data ) {
+ // Attempt to parse using the native JSON parser first
+ if ( window.JSON && window.JSON.parse ) {
+ return window.JSON.parse( data );
+ }
+
+ if ( data === null ) {
+ return data;
+ }
+
+ if ( typeof data === "string" ) {
+
+ // Make sure leading/trailing whitespace is removed (IE can't handle it)
+ data = jQuery.trim( data );
+
+ if ( data ) {
+ // Make sure the incoming data is actual JSON
+ // Logic borrowed from http://json.org/json2.js
+ if ( rvalidchars.test( data.replace( rvalidescape, "@" )
+ .replace( rvalidtokens, "]" )
+ .replace( rvalidbraces, "")) ) {
+
+ return ( new Function( "return " + data ) )();
+ }
+ }
+ }
+
+ jQuery.error( "Invalid JSON: " + data );
+ },
+
+ // Cross-browser xml parsing
+ parseXML: function( data ) {
+ var xml, tmp;
+ if ( !data || typeof data !== "string" ) {
+ return null;
+ }
+ try {
+ if ( window.DOMParser ) { // Standard
+ tmp = new DOMParser();
+ xml = tmp.parseFromString( data , "text/xml" );
+ } else { // IE
+ xml = new ActiveXObject( "Microsoft.XMLDOM" );
+ xml.async = "false";
+ xml.loadXML( data );
+ }
+ } catch( e ) {
+ xml = undefined;
+ }
+ if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) {
+ jQuery.error( "Invalid XML: " + data );
+ }
+ return xml;
+ },
+
+ noop: function() {},
+
+ // Evaluates a script in a global context
+ // Workarounds based on findings by Jim Driscoll
+ // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
+ globalEval: function( data ) {
+ if ( data && jQuery.trim( data ) ) {
+ // We use execScript on Internet Explorer
+ // We use an anonymous function so that context is window
+ // rather than jQuery in Firefox
+ ( window.execScript || function( data ) {
+ window[ "eval" ].call( window, data );
+ } )( data );
+ }
+ },
+
+ // Convert dashed to camelCase; used by the css and data modules
+ // Microsoft forgot to hump their vendor prefix (#9572)
+ camelCase: function( string ) {
+ return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+ },
+
+ nodeName: function( elem, name ) {
+ return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+ },
+
+ // args is for internal usage only
+ each: function( obj, callback, args ) {
+ var value,
+ i = 0,
+ length = obj.length,
+ isArray = isArraylike( obj );
+
+ if ( args ) {
+ if ( isArray ) {
+ for ( ; i < length; i++ ) {
+ value = callback.apply( obj[ i ], args );
+
+ if ( value === false ) {
+ break;
+ }
+ }
+ } else {
+ for ( i in obj ) {
+ value = callback.apply( obj[ i ], args );
+
+ if ( value === false ) {
+ break;
+ }
+ }
+ }
+
+ // A special, fast, case for the most common use of each
+ } else {
+ if ( isArray ) {
+ for ( ; i < length; i++ ) {
+ value = callback.call( obj[ i ], i, obj[ i ] );
+
+ if ( value === false ) {
+ break;
+ }
+ }
+ } else {
+ for ( i in obj ) {
+ value = callback.call( obj[ i ], i, obj[ i ] );
+
+ if ( value === false ) {
+ break;
+ }
+ }
+ }
+ }
+
+ return obj;
+ },
+
+ // Use native String.trim function wherever possible
+ trim: core_trim && !core_trim.call("\uFEFF\xA0") ?
+ function( text ) {
+ return text == null ?
+ "" :
+ core_trim.call( text );
+ } :
+
+ // Otherwise use our own trimming functionality
+ function( text ) {
+ return text == null ?
+ "" :
+ ( text + "" ).replace( rtrim, "" );
+ },
+
+ // results is for internal usage only
+ makeArray: function( arr, results ) {
+ var ret = results || [];
+
+ if ( arr != null ) {
+ if ( isArraylike( Object(arr) ) ) {
+ jQuery.merge( ret,
+ typeof arr === "string" ?
+ [ arr ] : arr
+ );
+ } else {
+ core_push.call( ret, arr );
+ }
+ }
+
+ return ret;
+ },
+
+ inArray: function( elem, arr, i ) {
+ var len;
+
+ if ( arr ) {
+ if ( core_indexOf ) {
+ return core_indexOf.call( arr, elem, i );
+ }
+
+ len = arr.length;
+ i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;
+
+ for ( ; i < len; i++ ) {
+ // Skip accessing in sparse arrays
+ if ( i in arr && arr[ i ] === elem ) {
+ return i;
+ }
+ }
+ }
+
+ return -1;
+ },
+
+ merge: function( first, second ) {
+ var l = second.length,
+ i = first.length,
+ j = 0;
+
+ if ( typeof l === "number" ) {
+ for ( ; j < l; j++ ) {
+ first[ i++ ] = second[ j ];
+ }
+ } else {
+ while ( second[j] !== undefined ) {
+ first[ i++ ] = second[ j++ ];
+ }
+ }
+
+ first.length = i;
+
+ return first;
+ },
+
+ grep: function( elems, callback, inv ) {
+ var retVal,
+ ret = [],
+ i = 0,
+ length = elems.length;
+ inv = !!inv;
+
+ // Go through the array, only saving the items
+ // that pass the validator function
+ for ( ; i < length; i++ ) {
+ retVal = !!callback( elems[ i ], i );
+ if ( inv !== retVal ) {
+ ret.push( elems[ i ] );
+ }
+ }
+
+ return ret;
+ },
+
+ // arg is for internal usage only
+ map: function( elems, callback, arg ) {
+ var value,
+ i = 0,
+ length = elems.length,
+ isArray = isArraylike( elems ),
+ ret = [];
+
+ // Go through the array, translating each of the items to their
+ if ( isArray ) {
+ for ( ; i < length; i++ ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret[ ret.length ] = value;
+ }
+ }
+
+ // Go through every key on the object,
+ } else {
+ for ( i in elems ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret[ ret.length ] = value;
+ }
+ }
+ }
+
+ // Flatten any nested arrays
+ return core_concat.apply( [], ret );
+ },
+
+ // A global GUID counter for objects
+ guid: 1,
+
+ // Bind a function to a context, optionally partially applying any
+ // arguments.
+ proxy: function( fn, context ) {
+ var tmp, args, proxy;
+
+ if ( typeof context === "string" ) {
+ tmp = fn[ context ];
+ context = fn;
+ fn = tmp;
+ }
+
+ // Quick check to determine if target is callable, in the spec
+ // this throws a TypeError, but we will just return undefined.
+ if ( !jQuery.isFunction( fn ) ) {
+ return undefined;
+ }
+
+ // Simulated bind
+ args = core_slice.call( arguments, 2 );
+ proxy = function() {
+ return fn.apply( context || this, args.concat( core_slice.call( arguments ) ) );
+ };
+
+ // Set the guid of unique handler to the same of original handler, so it can be removed
+ proxy.guid = fn.guid = fn.guid || jQuery.guid++;
+
+ return proxy;
+ },
+
+ // Multifunctional method to get and set values of a collection
+ // The value/s can optionally be executed if it's a function
+ access: function( elems, fn, key, value, chainable, emptyGet, raw ) {
+ var i = 0,
+ length = elems.length,
+ bulk = key == null;
+
+ // Sets many values
+ if ( jQuery.type( key ) === "object" ) {
+ chainable = true;
+ for ( i in key ) {
+ jQuery.access( elems, fn, i, key[i], true, emptyGet, raw );
+ }
+
+ // Sets one value
+ } else if ( value !== undefined ) {
+ chainable = true;
+
+ if ( !jQuery.isFunction( value ) ) {
+ raw = true;
+ }
+
+ if ( bulk ) {
+ // Bulk operations run against the entire set
+ if ( raw ) {
+ fn.call( elems, value );
+ fn = null;
+
+ // ...except when executing function values
+ } else {
+ bulk = fn;
+ fn = function( elem, key, value ) {
+ return bulk.call( jQuery( elem ), value );
+ };
+ }
+ }
+
+ if ( fn ) {
+ for ( ; i < length; i++ ) {
+ fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) );
+ }
+ }
+ }
+
+ return chainable ?
+ elems :
+
+ // Gets
+ bulk ?
+ fn.call( elems ) :
+ length ? fn( elems[0], key ) : emptyGet;
+ },
+
+ now: function() {
+ return ( new Date() ).getTime();
+ }
+});
+
+jQuery.ready.promise = function( obj ) {
+ if ( !readyList ) {
+
+ readyList = jQuery.Deferred();
+
+ // Catch cases where $(document).ready() is called after the browser event has already occurred.
+ // we once tried to use readyState "interactive" here, but it caused issues like the one
+ // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15
+ if ( document.readyState === "complete" ) {
+ // Handle it asynchronously to allow scripts the opportunity to delay ready
+ setTimeout( jQuery.ready );
+
+ // Standards-based browsers support DOMContentLoaded
+ } else if ( document.addEventListener ) {
+ // Use the handy event callback
+ document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
+
+ // A fallback to window.onload, that will always work
+ window.addEventListener( "load", jQuery.ready, false );
+
+ // If IE event model is used
+ } else {
+ // Ensure firing before onload, maybe late but safe also for iframes
+ document.attachEvent( "onreadystatechange", DOMContentLoaded );
+
+ // A fallback to window.onload, that will always work
+ window.attachEvent( "onload", jQuery.ready );
+
+ // If IE and not a frame
+ // continually check to see if the document is ready
+ var top = false;
+
+ try {
+ top = window.frameElement == null && document.documentElement;
+ } catch(e) {}
+
+ if ( top && top.doScroll ) {
+ (function doScrollCheck() {
+ if ( !jQuery.isReady ) {
+
+ try {
+ // Use the trick by Diego Perini
+ // http://javascript.nwbox.com/IEContentLoaded/
+ top.doScroll("left");
+ } catch(e) {
+ return setTimeout( doScrollCheck, 50 );
+ }
+
+ // and execute any waiting functions
+ jQuery.ready();
+ }
+ })();
+ }
+ }
+ }
+ return readyList.promise( obj );
+};
+
+// Populate the class2type map
+jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) {
+ class2type[ "[object " + name + "]" ] = name.toLowerCase();
+});
+
+function isArraylike( obj ) {
+ var length = obj.length,
+ type = jQuery.type( obj );
+
+ if ( jQuery.isWindow( obj ) ) {
+ return false;
+ }
+
+ if ( obj.nodeType === 1 && length ) {
+ return true;
+ }
+
+ return type === "array" || type !== "function" &&
+ ( length === 0 ||
+ typeof length === "number" && length > 0 && ( length - 1 ) in obj );
+}
+
+// All jQuery objects should point back to these
+rootjQuery = jQuery(document);
+// String to Object options format cache
+var optionsCache = {};
+
+// Convert String-formatted options into Object-formatted ones and store in cache
+function createOptions( options ) {
+ var object = optionsCache[ options ] = {};
+ jQuery.each( options.match( core_rnotwhite ) || [], function( _, flag ) {
+ object[ flag ] = true;
+ });
+ return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ * options: an optional list of space-separated options that will change how
+ * the callback list behaves or a more traditional option object
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible options:
+ *
+ * once: will ensure the callback list can only be fired once (like a Deferred)
+ *
+ * memory: will keep track of previous values and will call any callback added
+ * after the list has been fired right away with the latest "memorized"
+ * values (like a Deferred)
+ *
+ * unique: will ensure a callback can only be added once (no duplicate in the list)
+ *
+ * stopOnFalse: interrupt callings when a callback returns false
+ *
+ */
+jQuery.Callbacks = function( options ) {
+
+ // Convert options from String-formatted to Object-formatted if needed
+ // (we check in cache first)
+ options = typeof options === "string" ?
+ ( optionsCache[ options ] || createOptions( options ) ) :
+ jQuery.extend( {}, options );
+
+ var // Last fire value (for non-forgettable lists)
+ memory,
+ // Flag to know if list was already fired
+ fired,
+ // Flag to know if list is currently firing
+ firing,
+ // First callback to fire (used internally by add and fireWith)
+ firingStart,
+ // End of the loop when firing
+ firingLength,
+ // Index of currently firing callback (modified by remove if needed)
+ firingIndex,
+ // Actual callback list
+ list = [],
+ // Stack of fire calls for repeatable lists
+ stack = !options.once && [],
+ // Fire callbacks
+ fire = function( data ) {
+ memory = options.memory && data;
+ fired = true;
+ firingIndex = firingStart || 0;
+ firingStart = 0;
+ firingLength = list.length;
+ firing = true;
+ for ( ; list && firingIndex < firingLength; firingIndex++ ) {
+ if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) {
+ memory = false; // To prevent further calls using add
+ break;
+ }
+ }
+ firing = false;
+ if ( list ) {
+ if ( stack ) {
+ if ( stack.length ) {
+ fire( stack.shift() );
+ }
+ } else if ( memory ) {
+ list = [];
+ } else {
+ self.disable();
+ }
+ }
+ },
+ // Actual Callbacks object
+ self = {
+ // Add a callback or a collection of callbacks to the list
+ add: function() {
+ if ( list ) {
+ // First, we save the current length
+ var start = list.length;
+ (function add( args ) {
+ jQuery.each( args, function( _, arg ) {
+ var type = jQuery.type( arg );
+ if ( type === "function" ) {
+ if ( !options.unique || !self.has( arg ) ) {
+ list.push( arg );
+ }
+ } else if ( arg && arg.length && type !== "string" ) {
+ // Inspect recursively
+ add( arg );
+ }
+ });
+ })( arguments );
+ // Do we need to add the callbacks to the
+ // current firing batch?
+ if ( firing ) {
+ firingLength = list.length;
+ // With memory, if we're not firing then
+ // we should call right away
+ } else if ( memory ) {
+ firingStart = start;
+ fire( memory );
+ }
+ }
+ return this;
+ },
+ // Remove a callback from the list
+ remove: function() {
+ if ( list ) {
+ jQuery.each( arguments, function( _, arg ) {
+ var index;
+ while( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
+ list.splice( index, 1 );
+ // Handle firing indexes
+ if ( firing ) {
+ if ( index <= firingLength ) {
+ firingLength--;
+ }
+ if ( index <= firingIndex ) {
+ firingIndex--;
+ }
+ }
+ }
+ });
+ }
+ return this;
+ },
+ // Control if a given callback is in the list
+ has: function( fn ) {
+ return jQuery.inArray( fn, list ) > -1;
+ },
+ // Remove all callbacks from the list
+ empty: function() {
+ list = [];
+ return this;
+ },
+ // Have the list do nothing anymore
+ disable: function() {
+ list = stack = memory = undefined;
+ return this;
+ },
+ // Is it disabled?
+ disabled: function() {
+ return !list;
+ },
+ // Lock the list in its current state
+ lock: function() {
+ stack = undefined;
+ if ( !memory ) {
+ self.disable();
+ }
+ return this;
+ },
+ // Is it locked?
+ locked: function() {
+ return !stack;
+ },
+ // Call all callbacks with the given context and arguments
+ fireWith: function( context, args ) {
+ args = args || [];
+ args = [ context, args.slice ? args.slice() : args ];
+ if ( list && ( !fired || stack ) ) {
+ if ( firing ) {
+ stack.push( args );
+ } else {
+ fire( args );
+ }
+ }
+ return this;
+ },
+ // Call all the callbacks with the given arguments
+ fire: function() {
+ self.fireWith( this, arguments );
+ return this;
+ },
+ // To know if the callbacks have already been called at least once
+ fired: function() {
+ return !!fired;
+ }
+ };
+
+ return self;
+};
+jQuery.extend({
+
+ Deferred: function( func ) {
+ var tuples = [
+ // action, add listener, listener list, final state
+ [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ],
+ [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ],
+ [ "notify", "progress", jQuery.Callbacks("memory") ]
+ ],
+ state = "pending",
+ promise = {
+ state: function() {
+ return state;
+ },
+ always: function() {
+ deferred.done( arguments ).fail( arguments );
+ return this;
+ },
+ then: function( /* fnDone, fnFail, fnProgress */ ) {
+ var fns = arguments;
+ return jQuery.Deferred(function( newDefer ) {
+ jQuery.each( tuples, function( i, tuple ) {
+ var action = tuple[ 0 ],
+ fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];
+ // deferred[ done | fail | progress ] for forwarding actions to newDefer
+ deferred[ tuple[1] ](function() {
+ var returned = fn && fn.apply( this, arguments );
+ if ( returned && jQuery.isFunction( returned.promise ) ) {
+ returned.promise()
+ .done( newDefer.resolve )
+ .fail( newDefer.reject )
+ .progress( newDefer.notify );
+ } else {
+ newDefer[ action + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments );
+ }
+ });
+ });
+ fns = null;
+ }).promise();
+ },
+ // Get a promise for this deferred
+ // If obj is provided, the promise aspect is added to the object
+ promise: function( obj ) {
+ return obj != null ? jQuery.extend( obj, promise ) : promise;
+ }
+ },
+ deferred = {};
+
+ // Keep pipe for back-compat
+ promise.pipe = promise.then;
+
+ // Add list-specific methods
+ jQuery.each( tuples, function( i, tuple ) {
+ var list = tuple[ 2 ],
+ stateString = tuple[ 3 ];
+
+ // promise[ done | fail | progress ] = list.add
+ promise[ tuple[1] ] = list.add;
+
+ // Handle state
+ if ( stateString ) {
+ list.add(function() {
+ // state = [ resolved | rejected ]
+ state = stateString;
+
+ // [ reject_list | resolve_list ].disable; progress_list.lock
+ }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );
+ }
+
+ // deferred[ resolve | reject | notify ]
+ deferred[ tuple[0] ] = function() {
+ deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments );
+ return this;
+ };
+ deferred[ tuple[0] + "With" ] = list.fireWith;
+ });
+
+ // Make the deferred a promise
+ promise.promise( deferred );
+
+ // Call given func if any
+ if ( func ) {
+ func.call( deferred, deferred );
+ }
+
+ // All done!
+ return deferred;
+ },
+
+ // Deferred helper
+ when: function( subordinate /* , ..., subordinateN */ ) {
+ var i = 0,
+ resolveValues = core_slice.call( arguments ),
+ length = resolveValues.length,
+
+ // the count of uncompleted subordinates
+ remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,
+
+ // the master Deferred. If resolveValues consist of only a single Deferred, just use that.
+ deferred = remaining === 1 ? subordinate : jQuery.Deferred(),
+
+ // Update function for both resolve and progress values
+ updateFunc = function( i, contexts, values ) {
+ return function( value ) {
+ contexts[ i ] = this;
+ values[ i ] = arguments.length > 1 ? core_slice.call( arguments ) : value;
+ if( values === progressValues ) {
+ deferred.notifyWith( contexts, values );
+ } else if ( !( --remaining ) ) {
+ deferred.resolveWith( contexts, values );
+ }
+ };
+ },
+
+ progressValues, progressContexts, resolveContexts;
+
+ // add listeners to Deferred subordinates; treat others as resolved
+ if ( length > 1 ) {
+ progressValues = new Array( length );
+ progressContexts = new Array( length );
+ resolveContexts = new Array( length );
+ for ( ; i < length; i++ ) {
+ if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {
+ resolveValues[ i ].promise()
+ .done( updateFunc( i, resolveContexts, resolveValues ) )
+ .fail( deferred.reject )
+ .progress( updateFunc( i, progressContexts, progressValues ) );
+ } else {
+ --remaining;
+ }
+ }
+ }
+
+ // if we're not waiting on anything, resolve the master
+ if ( !remaining ) {
+ deferred.resolveWith( resolveContexts, resolveValues );
+ }
+
+ return deferred.promise();
+ }
+});
+jQuery.support = (function() {
+
+ var support, all, a, select, opt, input, fragment, eventName, isSupported, i,
+ div = document.createElement("div");
+
+ // Setup
+ div.setAttribute( "className", "t" );
+ div.innerHTML = "
a";
+
+ // Support tests won't run in some limited or non-browser environments
+ all = div.getElementsByTagName("*");
+ a = div.getElementsByTagName("a")[ 0 ];
+ if ( !all || !a || !all.length ) {
+ return {};
+ }
+
+ // First batch of tests
+ select = document.createElement("select");
+ opt = select.appendChild( document.createElement("option") );
+ input = div.getElementsByTagName("input")[ 0 ];
+
+ a.style.cssText = "top:1px;float:left;opacity:.5";
+ support = {
+ // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7)
+ getSetAttribute: div.className !== "t",
+
+ // IE strips leading whitespace when .innerHTML is used
+ leadingWhitespace: div.firstChild.nodeType === 3,
+
+ // Make sure that tbody elements aren't automatically inserted
+ // IE will insert them into empty tables
+ tbody: !div.getElementsByTagName("tbody").length,
+
+ // Make sure that link elements get serialized correctly by innerHTML
+ // This requires a wrapper element in IE
+ htmlSerialize: !!div.getElementsByTagName("link").length,
+
+ // Get the style information from getAttribute
+ // (IE uses .cssText instead)
+ style: /top/.test( a.getAttribute("style") ),
+
+ // Make sure that URLs aren't manipulated
+ // (IE normalizes it by default)
+ hrefNormalized: a.getAttribute("href") === "/a",
+
+ // Make sure that element opacity exists
+ // (IE uses filter instead)
+ // Use a regex to work around a WebKit issue. See #5145
+ opacity: /^0.5/.test( a.style.opacity ),
+
+ // Verify style float existence
+ // (IE uses styleFloat instead of cssFloat)
+ cssFloat: !!a.style.cssFloat,
+
+ // Check the default checkbox/radio value ("" on WebKit; "on" elsewhere)
+ checkOn: !!input.value,
+
+ // Make sure that a selected-by-default option has a working selected property.
+ // (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
+ optSelected: opt.selected,
+
+ // Tests for enctype support on a form (#6743)
+ enctype: !!document.createElement("form").enctype,
+
+ // Makes sure cloning an html5 element does not cause problems
+ // Where outerHTML is undefined, this still works
+ html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav>",
+
+ // jQuery.support.boxModel DEPRECATED in 1.8 since we don't support Quirks Mode
+ boxModel: document.compatMode === "CSS1Compat",
+
+ // Will be defined later
+ deleteExpando: true,
+ noCloneEvent: true,
+ inlineBlockNeedsLayout: false,
+ shrinkWrapBlocks: false,
+ reliableMarginRight: true,
+ boxSizingReliable: true,
+ pixelPosition: false
+ };
+
+ // Make sure checked status is properly cloned
+ input.checked = true;
+ support.noCloneChecked = input.cloneNode( true ).checked;
+
+ // Make sure that the options inside disabled selects aren't marked as disabled
+ // (WebKit marks them as disabled)
+ select.disabled = true;
+ support.optDisabled = !opt.disabled;
+
+ // Support: IE<9
+ try {
+ delete div.test;
+ } catch( e ) {
+ support.deleteExpando = false;
+ }
+
+ // Check if we can trust getAttribute("value")
+ input = document.createElement("input");
+ input.setAttribute( "value", "" );
+ support.input = input.getAttribute( "value" ) === "";
+
+ // Check if an input maintains its value after becoming a radio
+ input.value = "t";
+ input.setAttribute( "type", "radio" );
+ support.radioValue = input.value === "t";
+
+ // #11217 - WebKit loses check when the name is after the checked attribute
+ input.setAttribute( "checked", "t" );
+ input.setAttribute( "name", "t" );
+
+ fragment = document.createDocumentFragment();
+ fragment.appendChild( input );
+
+ // Check if a disconnected checkbox will retain its checked
+ // value of true after appended to the DOM (IE6/7)
+ support.appendChecked = input.checked;
+
+ // WebKit doesn't clone checked state correctly in fragments
+ support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+ // Support: IE<9
+ // Opera does not clone events (and typeof div.attachEvent === undefined).
+ // IE9-10 clones events bound via attachEvent, but they don't trigger with .click()
+ if ( div.attachEvent ) {
+ div.attachEvent( "onclick", function() {
+ support.noCloneEvent = false;
+ });
+
+ div.cloneNode( true ).click();
+ }
+
+ // Support: IE<9 (lack submit/change bubble), Firefox 17+ (lack focusin event)
+ // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP), test/csp.php
+ for ( i in { submit: true, change: true, focusin: true }) {
+ div.setAttribute( eventName = "on" + i, "t" );
+
+ support[ i + "Bubbles" ] = eventName in window || div.attributes[ eventName ].expando === false;
+ }
+
+ div.style.backgroundClip = "content-box";
+ div.cloneNode( true ).style.backgroundClip = "";
+ support.clearCloneStyle = div.style.backgroundClip === "content-box";
+
+ // Run tests that need a body at doc ready
+ jQuery(function() {
+ var container, marginDiv, tds,
+ divReset = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",
+ body = document.getElementsByTagName("body")[0];
+
+ if ( !body ) {
+ // Return for frameset docs that don't have a body
+ return;
+ }
+
+ container = document.createElement("div");
+ container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px";
+
+ body.appendChild( container ).appendChild( div );
+
+ // Support: IE8
+ // Check if table cells still have offsetWidth/Height when they are set
+ // to display:none and there are still other visible table cells in a
+ // table row; if so, offsetWidth/Height are not reliable for use when
+ // determining if an element has been hidden directly using
+ // display:none (it is still safe to use offsets if a parent element is
+ // hidden; don safety goggles and see bug #4512 for more information).
+ div.innerHTML = "
t
";
+ tds = div.getElementsByTagName("td");
+ tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none";
+ isSupported = ( tds[ 0 ].offsetHeight === 0 );
+
+ tds[ 0 ].style.display = "";
+ tds[ 1 ].style.display = "none";
+
+ // Support: IE8
+ // Check if empty table cells still have offsetWidth/Height
+ support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 );
+
+ // Check box-sizing and margin behavior
+ div.innerHTML = "";
+ div.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;";
+ support.boxSizing = ( div.offsetWidth === 4 );
+ support.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== 1 );
+
+ // Use window.getComputedStyle because jsdom on node.js will break without it.
+ if ( window.getComputedStyle ) {
+ support.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== "1%";
+ support.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px";
+
+ // Check if div with explicit width and no margin-right incorrectly
+ // gets computed margin-right based on width of container. (#3333)
+ // Fails in WebKit before Feb 2011 nightlies
+ // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
+ marginDiv = div.appendChild( document.createElement("div") );
+ marginDiv.style.cssText = div.style.cssText = divReset;
+ marginDiv.style.marginRight = marginDiv.style.width = "0";
+ div.style.width = "1px";
+
+ support.reliableMarginRight =
+ !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight );
+ }
+
+ if ( typeof div.style.zoom !== "undefined" ) {
+ // Support: IE<8
+ // Check if natively block-level elements act like inline-block
+ // elements when setting their display to 'inline' and giving
+ // them layout
+ div.innerHTML = "";
+ div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1";
+ support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 );
+
+ // Support: IE6
+ // Check if elements with layout shrink-wrap their children
+ div.style.display = "block";
+ div.innerHTML = "";
+ div.firstChild.style.width = "5px";
+ support.shrinkWrapBlocks = ( div.offsetWidth !== 3 );
+
+ // Prevent IE 6 from affecting layout for positioned elements #11048
+ // Prevent IE from shrinking the body in IE 7 mode #12869
+ body.style.zoom = 1;
+ }
+
+ body.removeChild( container );
+
+ // Null elements to avoid leaks in IE
+ container = div = tds = marginDiv = null;
+ });
+
+ // Null elements to avoid leaks in IE
+ all = select = fragment = opt = a = input = null;
+
+ return support;
+})();
+
+var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,
+ rmultiDash = /([A-Z])/g;
+
+function internalData( elem, name, data, pvt /* Internal Use Only */ ){
+ if ( !jQuery.acceptData( elem ) ) {
+ return;
+ }
+
+ var thisCache, ret,
+ internalKey = jQuery.expando,
+ getByName = typeof name === "string",
+
+ // We have to handle DOM nodes and JS objects differently because IE6-7
+ // can't GC object references properly across the DOM-JS boundary
+ isNode = elem.nodeType,
+
+ // Only DOM nodes need the global jQuery cache; JS object data is
+ // attached directly to the object so GC can occur automatically
+ cache = isNode ? jQuery.cache : elem,
+
+ // Only defining an ID for JS objects if its cache already exists allows
+ // the code to shortcut on the same path as a DOM node with no cache
+ id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey;
+
+ // Avoid doing any more work than we need to when trying to get data on an
+ // object that has no data at all
+ if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && getByName && data === undefined ) {
+ return;
+ }
+
+ if ( !id ) {
+ // Only DOM nodes need a new unique ID for each element since their data
+ // ends up in the global cache
+ if ( isNode ) {
+ elem[ internalKey ] = id = core_deletedIds.pop() || jQuery.guid++;
+ } else {
+ id = internalKey;
+ }
+ }
+
+ if ( !cache[ id ] ) {
+ cache[ id ] = {};
+
+ // Avoids exposing jQuery metadata on plain JS objects when the object
+ // is serialized using JSON.stringify
+ if ( !isNode ) {
+ cache[ id ].toJSON = jQuery.noop;
+ }
+ }
+
+ // An object can be passed to jQuery.data instead of a key/value pair; this gets
+ // shallow copied over onto the existing cache
+ if ( typeof name === "object" || typeof name === "function" ) {
+ if ( pvt ) {
+ cache[ id ] = jQuery.extend( cache[ id ], name );
+ } else {
+ cache[ id ].data = jQuery.extend( cache[ id ].data, name );
+ }
+ }
+
+ thisCache = cache[ id ];
+
+ // jQuery data() is stored in a separate object inside the object's internal data
+ // cache in order to avoid key collisions between internal data and user-defined
+ // data.
+ if ( !pvt ) {
+ if ( !thisCache.data ) {
+ thisCache.data = {};
+ }
+
+ thisCache = thisCache.data;
+ }
+
+ if ( data !== undefined ) {
+ thisCache[ jQuery.camelCase( name ) ] = data;
+ }
+
+ // Check for both converted-to-camel and non-converted data property names
+ // If a data property was specified
+ if ( getByName ) {
+
+ // First Try to find as-is property data
+ ret = thisCache[ name ];
+
+ // Test for null|undefined property data
+ if ( ret == null ) {
+
+ // Try to find the camelCased property
+ ret = thisCache[ jQuery.camelCase( name ) ];
+ }
+ } else {
+ ret = thisCache;
+ }
+
+ return ret;
+}
+
+function internalRemoveData( elem, name, pvt /* For internal use only */ ){
+ if ( !jQuery.acceptData( elem ) ) {
+ return;
+ }
+
+ var thisCache, i, l,
+
+ isNode = elem.nodeType,
+
+ // See jQuery.data for more information
+ cache = isNode ? jQuery.cache : elem,
+ id = isNode ? elem[ jQuery.expando ] : jQuery.expando;
+
+ // If there is already no cache entry for this object, there is no
+ // purpose in continuing
+ if ( !cache[ id ] ) {
+ return;
+ }
+
+ if ( name ) {
+
+ thisCache = pvt ? cache[ id ] : cache[ id ].data;
+
+ if ( thisCache ) {
+
+ // Support array or space separated string names for data keys
+ if ( !jQuery.isArray( name ) ) {
+
+ // try the string as a key before any manipulation
+ if ( name in thisCache ) {
+ name = [ name ];
+ } else {
+
+ // split the camel cased version by spaces unless a key with the spaces exists
+ name = jQuery.camelCase( name );
+ if ( name in thisCache ) {
+ name = [ name ];
+ } else {
+ name = name.split(" ");
+ }
+ }
+ } else {
+ // If "name" is an array of keys...
+ // When data is initially created, via ("key", "val") signature,
+ // keys will be converted to camelCase.
+ // Since there is no way to tell _how_ a key was added, remove
+ // both plain key and camelCase key. #12786
+ // This will only penalize the array argument path.
+ name = name.concat( jQuery.map( name, jQuery.camelCase ) );
+ }
+
+ for ( i = 0, l = name.length; i < l; i++ ) {
+ delete thisCache[ name[i] ];
+ }
+
+ // If there is no data left in the cache, we want to continue
+ // and let the cache object itself get destroyed
+ if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) {
+ return;
+ }
+ }
+ }
+
+ // See jQuery.data for more information
+ if ( !pvt ) {
+ delete cache[ id ].data;
+
+ // Don't destroy the parent cache unless the internal data object
+ // had been the only thing left in it
+ if ( !isEmptyDataObject( cache[ id ] ) ) {
+ return;
+ }
+ }
+
+ // Destroy the cache
+ if ( isNode ) {
+ jQuery.cleanData( [ elem ], true );
+
+ // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080)
+ } else if ( jQuery.support.deleteExpando || cache != cache.window ) {
+ delete cache[ id ];
+
+ // When all else fails, null
+ } else {
+ cache[ id ] = null;
+ }
+}
+
+jQuery.extend({
+ cache: {},
+
+ // Unique for each copy of jQuery on the page
+ // Non-digits removed to match rinlinejQuery
+ expando: "jQuery" + ( core_version + Math.random() ).replace( /\D/g, "" ),
+
+ // The following elements throw uncatchable exceptions if you
+ // attempt to add expando properties to them.
+ noData: {
+ "embed": true,
+ // Ban all objects except for Flash (which handle expandos)
+ "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
+ "applet": true
+ },
+
+ hasData: function( elem ) {
+ elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ];
+ return !!elem && !isEmptyDataObject( elem );
+ },
+
+ data: function( elem, name, data ) {
+ return internalData( elem, name, data, false );
+ },
+
+ removeData: function( elem, name ) {
+ return internalRemoveData( elem, name, false );
+ },
+
+ // For internal use only.
+ _data: function( elem, name, data ) {
+ return internalData( elem, name, data, true );
+ },
+
+ _removeData: function( elem, name ) {
+ return internalRemoveData( elem, name, true );
+ },
+
+ // A method for determining if a DOM node can handle the data expando
+ acceptData: function( elem ) {
+ var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ];
+
+ // nodes accept data unless otherwise specified; rejection can be conditional
+ return !noData || noData !== true && elem.getAttribute("classid") === noData;
+ }
+});
+
+jQuery.fn.extend({
+ data: function( key, value ) {
+ var attrs, name,
+ elem = this[0],
+ i = 0,
+ data = null;
+
+ // Gets all values
+ if ( key === undefined ) {
+ if ( this.length ) {
+ data = jQuery.data( elem );
+
+ if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) {
+ attrs = elem.attributes;
+ for ( ; i < attrs.length; i++ ) {
+ name = attrs[i].name;
+
+ if ( !name.indexOf( "data-" ) ) {
+ name = jQuery.camelCase( name.substring(5) );
+
+ dataAttr( elem, name, data[ name ] );
+ }
+ }
+ jQuery._data( elem, "parsedAttrs", true );
+ }
+ }
+
+ return data;
+ }
+
+ // Sets multiple values
+ if ( typeof key === "object" ) {
+ return this.each(function() {
+ jQuery.data( this, key );
+ });
+ }
+
+ return jQuery.access( this, function( value ) {
+
+ if ( value === undefined ) {
+ // Try to fetch any internally stored data first
+ return elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : null;
+ }
+
+ this.each(function() {
+ jQuery.data( this, key, value );
+ });
+ }, null, value, arguments.length > 1, null, true );
+ },
+
+ removeData: function( key ) {
+ return this.each(function() {
+ jQuery.removeData( this, key );
+ });
+ }
+});
+
+function dataAttr( elem, key, data ) {
+ // If nothing was found internally, try to fetch any
+ // data from the HTML5 data-* attribute
+ if ( data === undefined && elem.nodeType === 1 ) {
+
+ var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
+
+ data = elem.getAttribute( name );
+
+ if ( typeof data === "string" ) {
+ try {
+ data = data === "true" ? true :
+ data === "false" ? false :
+ data === "null" ? null :
+ // Only convert to a number if it doesn't change the string
+ +data + "" === data ? +data :
+ rbrace.test( data ) ? jQuery.parseJSON( data ) :
+ data;
+ } catch( e ) {}
+
+ // Make sure we set the data so it isn't changed later
+ jQuery.data( elem, key, data );
+
+ } else {
+ data = undefined;
+ }
+ }
+
+ return data;
+}
+
+// checks a cache object for emptiness
+function isEmptyDataObject( obj ) {
+ var name;
+ for ( name in obj ) {
+
+ // if the public data object is empty, the private is still empty
+ if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) {
+ continue;
+ }
+ if ( name !== "toJSON" ) {
+ return false;
+ }
+ }
+
+ return true;
+}
+jQuery.extend({
+ queue: function( elem, type, data ) {
+ var queue;
+
+ if ( elem ) {
+ type = ( type || "fx" ) + "queue";
+ queue = jQuery._data( elem, type );
+
+ // Speed up dequeue by getting out quickly if this is just a lookup
+ if ( data ) {
+ if ( !queue || jQuery.isArray(data) ) {
+ queue = jQuery._data( elem, type, jQuery.makeArray(data) );
+ } else {
+ queue.push( data );
+ }
+ }
+ return queue || [];
+ }
+ },
+
+ dequeue: function( elem, type ) {
+ type = type || "fx";
+
+ var queue = jQuery.queue( elem, type ),
+ startLength = queue.length,
+ fn = queue.shift(),
+ hooks = jQuery._queueHooks( elem, type ),
+ next = function() {
+ jQuery.dequeue( elem, type );
+ };
+
+ // If the fx queue is dequeued, always remove the progress sentinel
+ if ( fn === "inprogress" ) {
+ fn = queue.shift();
+ startLength--;
+ }
+
+ hooks.cur = fn;
+ if ( fn ) {
+
+ // Add a progress sentinel to prevent the fx queue from being
+ // automatically dequeued
+ if ( type === "fx" ) {
+ queue.unshift( "inprogress" );
+ }
+
+ // clear up the last queue stop function
+ delete hooks.stop;
+ fn.call( elem, next, hooks );
+ }
+
+ if ( !startLength && hooks ) {
+ hooks.empty.fire();
+ }
+ },
+
+ // not intended for public consumption - generates a queueHooks object, or returns the current one
+ _queueHooks: function( elem, type ) {
+ var key = type + "queueHooks";
+ return jQuery._data( elem, key ) || jQuery._data( elem, key, {
+ empty: jQuery.Callbacks("once memory").add(function() {
+ jQuery._removeData( elem, type + "queue" );
+ jQuery._removeData( elem, key );
+ })
+ });
+ }
+});
+
+jQuery.fn.extend({
+ queue: function( type, data ) {
+ var setter = 2;
+
+ if ( typeof type !== "string" ) {
+ data = type;
+ type = "fx";
+ setter--;
+ }
+
+ if ( arguments.length < setter ) {
+ return jQuery.queue( this[0], type );
+ }
+
+ return data === undefined ?
+ this :
+ this.each(function() {
+ var queue = jQuery.queue( this, type, data );
+
+ // ensure a hooks for this queue
+ jQuery._queueHooks( this, type );
+
+ if ( type === "fx" && queue[0] !== "inprogress" ) {
+ jQuery.dequeue( this, type );
+ }
+ });
+ },
+ dequeue: function( type ) {
+ return this.each(function() {
+ jQuery.dequeue( this, type );
+ });
+ },
+ // Based off of the plugin by Clint Helfers, with permission.
+ // http://blindsignals.com/index.php/2009/07/jquery-delay/
+ delay: function( time, type ) {
+ time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
+ type = type || "fx";
+
+ return this.queue( type, function( next, hooks ) {
+ var timeout = setTimeout( next, time );
+ hooks.stop = function() {
+ clearTimeout( timeout );
+ };
+ });
+ },
+ clearQueue: function( type ) {
+ return this.queue( type || "fx", [] );
+ },
+ // Get a promise resolved when queues of a certain type
+ // are emptied (fx is the type by default)
+ promise: function( type, obj ) {
+ var tmp,
+ count = 1,
+ defer = jQuery.Deferred(),
+ elements = this,
+ i = this.length,
+ resolve = function() {
+ if ( !( --count ) ) {
+ defer.resolveWith( elements, [ elements ] );
+ }
+ };
+
+ if ( typeof type !== "string" ) {
+ obj = type;
+ type = undefined;
+ }
+ type = type || "fx";
+
+ while( i-- ) {
+ tmp = jQuery._data( elements[ i ], type + "queueHooks" );
+ if ( tmp && tmp.empty ) {
+ count++;
+ tmp.empty.add( resolve );
+ }
+ }
+ resolve();
+ return defer.promise( obj );
+ }
+});
+var nodeHook, boolHook,
+ rclass = /[\t\r\n]/g,
+ rreturn = /\r/g,
+ rfocusable = /^(?:input|select|textarea|button|object)$/i,
+ rclickable = /^(?:a|area)$/i,
+ rboolean = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,
+ ruseDefault = /^(?:checked|selected)$/i,
+ getSetAttribute = jQuery.support.getSetAttribute,
+ getSetInput = jQuery.support.input;
+
+jQuery.fn.extend({
+ attr: function( name, value ) {
+ return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 );
+ },
+
+ removeAttr: function( name ) {
+ return this.each(function() {
+ jQuery.removeAttr( this, name );
+ });
+ },
+
+ prop: function( name, value ) {
+ return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 );
+ },
+
+ removeProp: function( name ) {
+ name = jQuery.propFix[ name ] || name;
+ return this.each(function() {
+ // try/catch handles cases where IE balks (such as removing a property on window)
+ try {
+ this[ name ] = undefined;
+ delete this[ name ];
+ } catch( e ) {}
+ });
+ },
+
+ addClass: function( value ) {
+ var classes, elem, cur, clazz, j,
+ i = 0,
+ len = this.length,
+ proceed = typeof value === "string" && value;
+
+ if ( jQuery.isFunction( value ) ) {
+ return this.each(function( j ) {
+ jQuery( this ).addClass( value.call( this, j, this.className ) );
+ });
+ }
+
+ if ( proceed ) {
+ // The disjunction here is for better compressibility (see removeClass)
+ classes = ( value || "" ).match( core_rnotwhite ) || [];
+
+ for ( ; i < len; i++ ) {
+ elem = this[ i ];
+ cur = elem.nodeType === 1 && ( elem.className ?
+ ( " " + elem.className + " " ).replace( rclass, " " ) :
+ " "
+ );
+
+ if ( cur ) {
+ j = 0;
+ while ( (clazz = classes[j++]) ) {
+ if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
+ cur += clazz + " ";
+ }
+ }
+ elem.className = jQuery.trim( cur );
+
+ }
+ }
+ }
+
+ return this;
+ },
+
+ removeClass: function( value ) {
+ var classes, elem, cur, clazz, j,
+ i = 0,
+ len = this.length,
+ proceed = arguments.length === 0 || typeof value === "string" && value;
+
+ if ( jQuery.isFunction( value ) ) {
+ return this.each(function( j ) {
+ jQuery( this ).removeClass( value.call( this, j, this.className ) );
+ });
+ }
+ if ( proceed ) {
+ classes = ( value || "" ).match( core_rnotwhite ) || [];
+
+ for ( ; i < len; i++ ) {
+ elem = this[ i ];
+ // This expression is here for better compressibility (see addClass)
+ cur = elem.nodeType === 1 && ( elem.className ?
+ ( " " + elem.className + " " ).replace( rclass, " " ) :
+ ""
+ );
+
+ if ( cur ) {
+ j = 0;
+ while ( (clazz = classes[j++]) ) {
+ // Remove *all* instances
+ while ( cur.indexOf( " " + clazz + " " ) >= 0 ) {
+ cur = cur.replace( " " + clazz + " ", " " );
+ }
+ }
+ elem.className = value ? jQuery.trim( cur ) : "";
+ }
+ }
+ }
+
+ return this;
+ },
+
+ toggleClass: function( value, stateVal ) {
+ var type = typeof value,
+ isBool = typeof stateVal === "boolean";
+
+ if ( jQuery.isFunction( value ) ) {
+ return this.each(function( i ) {
+ jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal );
+ });
+ }
+
+ return this.each(function() {
+ if ( type === "string" ) {
+ // toggle individual class names
+ var className,
+ i = 0,
+ self = jQuery( this ),
+ state = stateVal,
+ classNames = value.match( core_rnotwhite ) || [];
+
+ while ( (className = classNames[ i++ ]) ) {
+ // check each className given, space separated list
+ state = isBool ? state : !self.hasClass( className );
+ self[ state ? "addClass" : "removeClass" ]( className );
+ }
+
+ // Toggle whole class name
+ } else if ( type === "undefined" || type === "boolean" ) {
+ if ( this.className ) {
+ // store className if set
+ jQuery._data( this, "__className__", this.className );
+ }
+
+ // If the element has a class name or if we're passed "false",
+ // then remove the whole classname (if there was one, the above saved it).
+ // Otherwise bring back whatever was previously saved (if anything),
+ // falling back to the empty string if nothing was stored.
+ this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || "";
+ }
+ });
+ },
+
+ hasClass: function( selector ) {
+ var className = " " + selector + " ",
+ i = 0,
+ l = this.length;
+ for ( ; i < l; i++ ) {
+ if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) {
+ return true;
+ }
+ }
+
+ return false;
+ },
+
+ val: function( value ) {
+ var hooks, ret, isFunction,
+ elem = this[0];
+
+ if ( !arguments.length ) {
+ if ( elem ) {
+ hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ];
+
+ if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) {
+ return ret;
+ }
+
+ ret = elem.value;
+
+ return typeof ret === "string" ?
+ // handle most common string cases
+ ret.replace(rreturn, "") :
+ // handle cases where value is null/undef or number
+ ret == null ? "" : ret;
+ }
+
+ return;
+ }
+
+ isFunction = jQuery.isFunction( value );
+
+ return this.each(function( i ) {
+ var val,
+ self = jQuery(this);
+
+ if ( this.nodeType !== 1 ) {
+ return;
+ }
+
+ if ( isFunction ) {
+ val = value.call( this, i, self.val() );
+ } else {
+ val = value;
+ }
+
+ // Treat null/undefined as ""; convert numbers to string
+ if ( val == null ) {
+ val = "";
+ } else if ( typeof val === "number" ) {
+ val += "";
+ } else if ( jQuery.isArray( val ) ) {
+ val = jQuery.map(val, function ( value ) {
+ return value == null ? "" : value + "";
+ });
+ }
+
+ hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
+
+ // If set returns undefined, fall back to normal setting
+ if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) {
+ this.value = val;
+ }
+ });
+ }
+});
+
+jQuery.extend({
+ valHooks: {
+ option: {
+ get: function( elem ) {
+ // attributes.value is undefined in Blackberry 4.7 but
+ // uses .value. See #6932
+ var val = elem.attributes.value;
+ return !val || val.specified ? elem.value : elem.text;
+ }
+ },
+ select: {
+ get: function( elem ) {
+ var value, option,
+ options = elem.options,
+ index = elem.selectedIndex,
+ one = elem.type === "select-one" || index < 0,
+ values = one ? null : [],
+ max = one ? index + 1 : options.length,
+ i = index < 0 ?
+ max :
+ one ? index : 0;
+
+ // Loop through all the selected options
+ for ( ; i < max; i++ ) {
+ option = options[ i ];
+
+ // oldIE doesn't update selected after form reset (#2551)
+ if ( ( option.selected || i === index ) &&
+ // Don't return options that are disabled or in a disabled optgroup
+ ( jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) &&
+ ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) {
+
+ // Get the specific value for the option
+ value = jQuery( option ).val();
+
+ // We don't need an array for one selects
+ if ( one ) {
+ return value;
+ }
+
+ // Multi-Selects return an array
+ values.push( value );
+ }
+ }
+
+ return values;
+ },
+
+ set: function( elem, value ) {
+ var values = jQuery.makeArray( value );
+
+ jQuery(elem).find("option").each(function() {
+ this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;
+ });
+
+ if ( !values.length ) {
+ elem.selectedIndex = -1;
+ }
+ return values;
+ }
+ }
+ },
+
+ attr: function( elem, name, value ) {
+ var ret, hooks, notxml,
+ nType = elem.nodeType;
+
+ // don't get/set attributes on text, comment and attribute nodes
+ if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
+ return;
+ }
+
+ // Fallback to prop when attributes are not supported
+ if ( typeof elem.getAttribute === "undefined" ) {
+ return jQuery.prop( elem, name, value );
+ }
+
+ notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
+
+ // All attributes are lowercase
+ // Grab necessary hook if one is defined
+ if ( notxml ) {
+ name = name.toLowerCase();
+ hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook );
+ }
+
+ if ( value !== undefined ) {
+
+ if ( value === null ) {
+ jQuery.removeAttr( elem, name );
+
+ } else if ( hooks && notxml && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {
+ return ret;
+
+ } else {
+ elem.setAttribute( name, value + "" );
+ return value;
+ }
+
+ } else if ( hooks && notxml && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) {
+ return ret;
+
+ } else {
+
+ // In IE9+, Flash objects don't have .getAttribute (#12945)
+ // Support: IE9+
+ if ( typeof elem.getAttribute !== "undefined" ) {
+ ret = elem.getAttribute( name );
+ }
+
+ // Non-existent attributes return null, we normalize to undefined
+ return ret == null ?
+ undefined :
+ ret;
+ }
+ },
+
+ removeAttr: function( elem, value ) {
+ var name, propName,
+ i = 0,
+ attrNames = value && value.match( core_rnotwhite );
+
+ if ( attrNames && elem.nodeType === 1 ) {
+ while ( (name = attrNames[i++]) ) {
+ propName = jQuery.propFix[ name ] || name;
+
+ // Boolean attributes get special treatment (#10870)
+ if ( rboolean.test( name ) ) {
+ // Set corresponding property to false for boolean attributes
+ // Also clear defaultChecked/defaultSelected (if appropriate) for IE<8
+ if ( !getSetAttribute && ruseDefault.test( name ) ) {
+ elem[ jQuery.camelCase( "default-" + name ) ] =
+ elem[ propName ] = false;
+ } else {
+ elem[ propName ] = false;
+ }
+
+ // See #9699 for explanation of this approach (setting first, then removal)
+ } else {
+ jQuery.attr( elem, name, "" );
+ }
+
+ elem.removeAttribute( getSetAttribute ? name : propName );
+ }
+ }
+ },
+
+ attrHooks: {
+ type: {
+ set: function( elem, value ) {
+ if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) {
+ // Setting the type on a radio button after the value resets the value in IE6-9
+ // Reset value to default in case type is set after value during creation
+ var val = elem.value;
+ elem.setAttribute( "type", value );
+ if ( val ) {
+ elem.value = val;
+ }
+ return value;
+ }
+ }
+ }
+ },
+
+ propFix: {
+ tabindex: "tabIndex",
+ readonly: "readOnly",
+ "for": "htmlFor",
+ "class": "className",
+ maxlength: "maxLength",
+ cellspacing: "cellSpacing",
+ cellpadding: "cellPadding",
+ rowspan: "rowSpan",
+ colspan: "colSpan",
+ usemap: "useMap",
+ frameborder: "frameBorder",
+ contenteditable: "contentEditable"
+ },
+
+ prop: function( elem, name, value ) {
+ var ret, hooks, notxml,
+ nType = elem.nodeType;
+
+ // don't get/set properties on text, comment and attribute nodes
+ if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
+ return;
+ }
+
+ notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
+
+ if ( notxml ) {
+ // Fix name and attach hooks
+ name = jQuery.propFix[ name ] || name;
+ hooks = jQuery.propHooks[ name ];
+ }
+
+ if ( value !== undefined ) {
+ if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {
+ return ret;
+
+ } else {
+ return ( elem[ name ] = value );
+ }
+
+ } else {
+ if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) {
+ return ret;
+
+ } else {
+ return elem[ name ];
+ }
+ }
+ },
+
+ propHooks: {
+ tabIndex: {
+ get: function( elem ) {
+ // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
+ // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
+ var attributeNode = elem.getAttributeNode("tabindex");
+
+ return attributeNode && attributeNode.specified ?
+ parseInt( attributeNode.value, 10 ) :
+ rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?
+ 0 :
+ undefined;
+ }
+ }
+ }
+});
+
+// Hook for boolean attributes
+boolHook = {
+ get: function( elem, name ) {
+ var
+ // Use .prop to determine if this attribute is understood as boolean
+ prop = jQuery.prop( elem, name ),
+
+ // Fetch it accordingly
+ attr = typeof prop === "boolean" && elem.getAttribute( name ),
+ detail = typeof prop === "boolean" ?
+
+ getSetInput && getSetAttribute ?
+ attr != null :
+ // oldIE fabricates an empty string for missing boolean attributes
+ // and conflates checked/selected into attroperties
+ ruseDefault.test( name ) ?
+ elem[ jQuery.camelCase( "default-" + name ) ] :
+ !!attr :
+
+ // fetch an attribute node for properties not recognized as boolean
+ elem.getAttributeNode( name );
+
+ return detail && detail.value !== false ?
+ name.toLowerCase() :
+ undefined;
+ },
+ set: function( elem, value, name ) {
+ if ( value === false ) {
+ // Remove boolean attributes when set to false
+ jQuery.removeAttr( elem, name );
+ } else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) {
+ // IE<8 needs the *property* name
+ elem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name );
+
+ // Use defaultChecked and defaultSelected for oldIE
+ } else {
+ elem[ jQuery.camelCase( "default-" + name ) ] = elem[ name ] = true;
+ }
+
+ return name;
+ }
+};
+
+// fix oldIE value attroperty
+if ( !getSetInput || !getSetAttribute ) {
+ jQuery.attrHooks.value = {
+ get: function( elem, name ) {
+ var ret = elem.getAttributeNode( name );
+ return jQuery.nodeName( elem, "input" ) ?
+
+ // Ignore the value *property* by using defaultValue
+ elem.defaultValue :
+
+ ret && ret.specified ? ret.value : undefined;
+ },
+ set: function( elem, value, name ) {
+ if ( jQuery.nodeName( elem, "input" ) ) {
+ // Does not return so that setAttribute is also used
+ elem.defaultValue = value;
+ } else {
+ // Use nodeHook if defined (#1954); otherwise setAttribute is fine
+ return nodeHook && nodeHook.set( elem, value, name );
+ }
+ }
+ };
+}
+
+// IE6/7 do not support getting/setting some attributes with get/setAttribute
+if ( !getSetAttribute ) {
+
+ // Use this for any attribute in IE6/7
+ // This fixes almost every IE6/7 issue
+ nodeHook = jQuery.valHooks.button = {
+ get: function( elem, name ) {
+ var ret = elem.getAttributeNode( name );
+ return ret && ( name === "id" || name === "name" || name === "coords" ? ret.value !== "" : ret.specified ) ?
+ ret.value :
+ undefined;
+ },
+ set: function( elem, value, name ) {
+ // Set the existing or create a new attribute node
+ var ret = elem.getAttributeNode( name );
+ if ( !ret ) {
+ elem.setAttributeNode(
+ (ret = elem.ownerDocument.createAttribute( name ))
+ );
+ }
+
+ ret.value = value += "";
+
+ // Break association with cloned elements by also using setAttribute (#9646)
+ return name === "value" || value === elem.getAttribute( name ) ?
+ value :
+ undefined;
+ }
+ };
+
+ // Set contenteditable to false on removals(#10429)
+ // Setting to empty string throws an error as an invalid value
+ jQuery.attrHooks.contenteditable = {
+ get: nodeHook.get,
+ set: function( elem, value, name ) {
+ nodeHook.set( elem, value === "" ? false : value, name );
+ }
+ };
+
+ // Set width and height to auto instead of 0 on empty string( Bug #8150 )
+ // This is for removals
+ jQuery.each([ "width", "height" ], function( i, name ) {
+ jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
+ set: function( elem, value ) {
+ if ( value === "" ) {
+ elem.setAttribute( name, "auto" );
+ return value;
+ }
+ }
+ });
+ });
+}
+
+
+// Some attributes require a special call on IE
+// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !jQuery.support.hrefNormalized ) {
+ jQuery.each([ "href", "src", "width", "height" ], function( i, name ) {
+ jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
+ get: function( elem ) {
+ var ret = elem.getAttribute( name, 2 );
+ return ret == null ? undefined : ret;
+ }
+ });
+ });
+
+ // href/src property should get the full normalized URL (#10299/#12915)
+ jQuery.each([ "href", "src" ], function( i, name ) {
+ jQuery.propHooks[ name ] = {
+ get: function( elem ) {
+ return elem.getAttribute( name, 4 );
+ }
+ };
+ });
+}
+
+if ( !jQuery.support.style ) {
+ jQuery.attrHooks.style = {
+ get: function( elem ) {
+ // Return undefined in the case of empty string
+ // Note: IE uppercases css property names, but if we were to .toLowerCase()
+ // .cssText, that would destroy case senstitivity in URL's, like in "background"
+ return elem.style.cssText || undefined;
+ },
+ set: function( elem, value ) {
+ return ( elem.style.cssText = value + "" );
+ }
+ };
+}
+
+// Safari mis-reports the default selected property of an option
+// Accessing the parent's selectedIndex property fixes it
+if ( !jQuery.support.optSelected ) {
+ jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, {
+ get: function( elem ) {
+ var parent = elem.parentNode;
+
+ if ( parent ) {
+ parent.selectedIndex;
+
+ // Make sure that it also works with optgroups, see #5701
+ if ( parent.parentNode ) {
+ parent.parentNode.selectedIndex;
+ }
+ }
+ return null;
+ }
+ });
+}
+
+// IE6/7 call enctype encoding
+if ( !jQuery.support.enctype ) {
+ jQuery.propFix.enctype = "encoding";
+}
+
+// Radios and checkboxes getter/setter
+if ( !jQuery.support.checkOn ) {
+ jQuery.each([ "radio", "checkbox" ], function() {
+ jQuery.valHooks[ this ] = {
+ get: function( elem ) {
+ // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified
+ return elem.getAttribute("value") === null ? "on" : elem.value;
+ }
+ };
+ });
+}
+jQuery.each([ "radio", "checkbox" ], function() {
+ jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], {
+ set: function( elem, value ) {
+ if ( jQuery.isArray( value ) ) {
+ return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 );
+ }
+ }
+ });
+});
+var rformElems = /^(?:input|select|textarea)$/i,
+ rkeyEvent = /^key/,
+ rmouseEvent = /^(?:mouse|contextmenu)|click/,
+ rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
+ rtypenamespace = /^([^.]*)(?:\.(.+)|)$/;
+
+function returnTrue() {
+ return true;
+}
+
+function returnFalse() {
+ return false;
+}
+
+/*
+ * Helper functions for managing events -- not part of the public interface.
+ * Props to Dean Edwards' addEvent library for many of the ideas.
+ */
+jQuery.event = {
+
+ global: {},
+
+ add: function( elem, types, handler, data, selector ) {
+
+ var handleObjIn, eventHandle, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ // Don't attach events to noData or text/comment nodes (but allow plain objects)
+ elemData = elem.nodeType !== 3 && elem.nodeType !== 8 && jQuery._data( elem );
+
+ if ( !elemData ) {
+ return;
+ }
+
+ // Caller can pass in an object of custom data in lieu of the handler
+ if ( handler.handler ) {
+ handleObjIn = handler;
+ handler = handleObjIn.handler;
+ selector = handleObjIn.selector;
+ }
+
+ // Make sure that the handler has a unique ID, used to find/remove it later
+ if ( !handler.guid ) {
+ handler.guid = jQuery.guid++;
+ }
+
+ // Init the element's event structure and main handler, if this is the first
+ if ( !(events = elemData.events) ) {
+ events = elemData.events = {};
+ }
+ if ( !(eventHandle = elemData.handle) ) {
+ eventHandle = elemData.handle = function( e ) {
+ // Discard the second event of a jQuery.event.trigger() and
+ // when an event is called after a page has unloaded
+ return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ?
+ jQuery.event.dispatch.apply( eventHandle.elem, arguments ) :
+ undefined;
+ };
+ // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events
+ eventHandle.elem = elem;
+ }
+
+ // Handle multiple events separated by a space
+ // jQuery(...).bind("mouseover mouseout", fn);
+ types = ( types || "" ).match( core_rnotwhite ) || [""];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[t] ) || [];
+ type = origType = tmp[1];
+ namespaces = ( tmp[2] || "" ).split( "." ).sort();
+
+ // If event changes its type, use the special event handlers for the changed type
+ special = jQuery.event.special[ type ] || {};
+
+ // If selector defined, determine special event api type, otherwise given type
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+
+ // Update special based on newly reset type
+ special = jQuery.event.special[ type ] || {};
+
+ // handleObj is passed to all event handlers
+ handleObj = jQuery.extend({
+ type: type,
+ origType: origType,
+ data: data,
+ handler: handler,
+ guid: handler.guid,
+ selector: selector,
+ needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
+ namespace: namespaces.join(".")
+ }, handleObjIn );
+
+ // Init the event handler queue if we're the first
+ if ( !(handlers = events[ type ]) ) {
+ handlers = events[ type ] = [];
+ handlers.delegateCount = 0;
+
+ // Only use addEventListener/attachEvent if the special events handler returns false
+ if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+ // Bind the global event handler to the element
+ if ( elem.addEventListener ) {
+ elem.addEventListener( type, eventHandle, false );
+
+ } else if ( elem.attachEvent ) {
+ elem.attachEvent( "on" + type, eventHandle );
+ }
+ }
+ }
+
+ if ( special.add ) {
+ special.add.call( elem, handleObj );
+
+ if ( !handleObj.handler.guid ) {
+ handleObj.handler.guid = handler.guid;
+ }
+ }
+
+ // Add to the element's handler list, delegates in front
+ if ( selector ) {
+ handlers.splice( handlers.delegateCount++, 0, handleObj );
+ } else {
+ handlers.push( handleObj );
+ }
+
+ // Keep track of which events have ever been used, for event optimization
+ jQuery.event.global[ type ] = true;
+ }
+
+ // Nullify elem to prevent memory leaks in IE
+ elem = null;
+ },
+
+ // Detach an event or set of events from an element
+ remove: function( elem, types, handler, selector, mappedTypes ) {
+
+ var j, origCount, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ elemData = jQuery.hasData( elem ) && jQuery._data( elem );
+
+ if ( !elemData || !(events = elemData.events) ) {
+ return;
+ }
+
+ // Once for each type.namespace in types; type may be omitted
+ types = ( types || "" ).match( core_rnotwhite ) || [""];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[t] ) || [];
+ type = origType = tmp[1];
+ namespaces = ( tmp[2] || "" ).split( "." ).sort();
+
+ // Unbind all events (on this namespace, if provided) for the element
+ if ( !type ) {
+ for ( type in events ) {
+ jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
+ }
+ continue;
+ }
+
+ special = jQuery.event.special[ type ] || {};
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+ handlers = events[ type ] || [];
+ tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" );
+
+ // Remove matching events
+ origCount = j = handlers.length;
+ while ( j-- ) {
+ handleObj = handlers[ j ];
+
+ if ( ( mappedTypes || origType === handleObj.origType ) &&
+ ( !handler || handler.guid === handleObj.guid ) &&
+ ( !tmp || tmp.test( handleObj.namespace ) ) &&
+ ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) {
+ handlers.splice( j, 1 );
+
+ if ( handleObj.selector ) {
+ handlers.delegateCount--;
+ }
+ if ( special.remove ) {
+ special.remove.call( elem, handleObj );
+ }
+ }
+ }
+
+ // Remove generic event handler if we removed something and no more handlers exist
+ // (avoids potential for endless recursion during removal of special event handlers)
+ if ( origCount && !handlers.length ) {
+ if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
+ jQuery.removeEvent( elem, type, elemData.handle );
+ }
+
+ delete events[ type ];
+ }
+ }
+
+ // Remove the expando if it's no longer used
+ if ( jQuery.isEmptyObject( events ) ) {
+ delete elemData.handle;
+
+ // removeData also checks for emptiness and clears the expando if empty
+ // so use it instead of delete
+ jQuery._removeData( elem, "events" );
+ }
+ },
+
+ trigger: function( event, data, elem, onlyHandlers ) {
+
+ var i, cur, tmp, bubbleType, ontype, handle, special,
+ eventPath = [ elem || document ],
+ type = event.type || event,
+ namespaces = event.namespace ? event.namespace.split(".") : [];
+
+ cur = tmp = elem = elem || document;
+
+ // Don't do events on text and comment nodes
+ if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
+ return;
+ }
+
+ // focus/blur morphs to focusin/out; ensure we're not firing them right now
+ if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
+ return;
+ }
+
+ if ( type.indexOf(".") >= 0 ) {
+ // Namespaced trigger; create a regexp to match event type in handle()
+ namespaces = type.split(".");
+ type = namespaces.shift();
+ namespaces.sort();
+ }
+ ontype = type.indexOf(":") < 0 && "on" + type;
+
+ // Caller can pass in a jQuery.Event object, Object, or just an event type string
+ event = event[ jQuery.expando ] ?
+ event :
+ new jQuery.Event( type, typeof event === "object" && event );
+
+ event.isTrigger = true;
+ event.namespace = namespaces.join(".");
+ event.namespace_re = event.namespace ?
+ new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) :
+ null;
+
+ // Clean up the event in case it is being reused
+ event.result = undefined;
+ if ( !event.target ) {
+ event.target = elem;
+ }
+
+ // Clone any incoming data and prepend the event, creating the handler arg list
+ data = data == null ?
+ [ event ] :
+ jQuery.makeArray( data, [ event ] );
+
+ // Allow special events to draw outside the lines
+ special = jQuery.event.special[ type ] || {};
+ if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
+ return;
+ }
+
+ // Determine event propagation path in advance, per W3C events spec (#9951)
+ // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
+ if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
+
+ bubbleType = special.delegateType || type;
+ if ( !rfocusMorph.test( bubbleType + type ) ) {
+ cur = cur.parentNode;
+ }
+ for ( ; cur; cur = cur.parentNode ) {
+ eventPath.push( cur );
+ tmp = cur;
+ }
+
+ // Only add window if we got to document (e.g., not plain obj or detached DOM)
+ if ( tmp === (elem.ownerDocument || document) ) {
+ eventPath.push( tmp.defaultView || tmp.parentWindow || window );
+ }
+ }
+
+ // Fire handlers on the event path
+ i = 0;
+ while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) {
+
+ event.type = i > 1 ?
+ bubbleType :
+ special.bindType || type;
+
+ // jQuery handler
+ handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" );
+ if ( handle ) {
+ handle.apply( cur, data );
+ }
+
+ // Native handler
+ handle = ontype && cur[ ontype ];
+ if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) {
+ event.preventDefault();
+ }
+ }
+ event.type = type;
+
+ // If nobody prevented the default action, do it now
+ if ( !onlyHandlers && !event.isDefaultPrevented() ) {
+
+ if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) &&
+ !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) {
+
+ // Call a native DOM method on the target with the same name name as the event.
+ // Can't use an .isFunction() check here because IE6/7 fails that test.
+ // Don't do default actions on window, that's where global variables be (#6170)
+ if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) {
+
+ // Don't re-trigger an onFOO event when we call its FOO() method
+ tmp = elem[ ontype ];
+
+ if ( tmp ) {
+ elem[ ontype ] = null;
+ }
+
+ // Prevent re-triggering of the same event, since we already bubbled it above
+ jQuery.event.triggered = type;
+ try {
+ elem[ type ]();
+ } catch ( e ) {
+ // IE<9 dies on focus/blur to hidden element (#1486,#12518)
+ // only reproducible on winXP IE8 native, not IE9 in IE8 mode
+ }
+ jQuery.event.triggered = undefined;
+
+ if ( tmp ) {
+ elem[ ontype ] = tmp;
+ }
+ }
+ }
+ }
+
+ return event.result;
+ },
+
+ dispatch: function( event ) {
+
+ // Make a writable jQuery.Event from the native event object
+ event = jQuery.event.fix( event );
+
+ var i, j, ret, matched, handleObj,
+ handlerQueue = [],
+ args = core_slice.call( arguments ),
+ handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [],
+ special = jQuery.event.special[ event.type ] || {};
+
+ // Use the fix-ed jQuery.Event rather than the (read-only) native event
+ args[0] = event;
+ event.delegateTarget = this;
+
+ // Call the preDispatch hook for the mapped type, and let it bail if desired
+ if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
+ return;
+ }
+
+ // Determine handlers
+ handlerQueue = jQuery.event.handlers.call( this, event, handlers );
+
+ // Run delegates first; they may want to stop propagation beneath us
+ i = 0;
+ while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) {
+ event.currentTarget = matched.elem;
+
+ j = 0;
+ while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) {
+
+ // Triggered event must either 1) have no namespace, or
+ // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace).
+ if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) {
+
+ event.handleObj = handleObj;
+ event.data = handleObj.data;
+
+ ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )
+ .apply( matched.elem, args );
+
+ if ( ret !== undefined ) {
+ if ( (event.result = ret) === false ) {
+ event.preventDefault();
+ event.stopPropagation();
+ }
+ }
+ }
+ }
+ }
+
+ // Call the postDispatch hook for the mapped type
+ if ( special.postDispatch ) {
+ special.postDispatch.call( this, event );
+ }
+
+ return event.result;
+ },
+
+ handlers: function( event, handlers ) {
+ var i, matches, sel, handleObj,
+ handlerQueue = [],
+ delegateCount = handlers.delegateCount,
+ cur = event.target;
+
+ // Find delegate handlers
+ // Black-hole SVG